[
  {
    "path": ".gitignore",
    "content": "# we do not store binary outputs in Flex\n\n# windows\n*.exp\n*.ilk\n\n# android\n*.apk"
  },
  {
    "path": "LICENSE.txt",
    "content": "Nvidia Source Code License (1-Way Commercial)\n\n1. Definitions\n\n“Licensor” means any person or entity that distributes its Work. “Software”\nmeans the original work of authorship made available under this License. “Work”\nmeans the Software and any additions to or derivative works of the Software that\nare made available under this License. The terms “reproduce,” “reproduction,”\n“derivative works,” and “distribution” have the meaning as provided under U.S.\ncopyright law; provided, however, that for the purposes of this License,\nderivative works shall not include works that remain separable from, or merely\nlink (or bind by name) to the interfaces of, the Work. Works, including the\nSoftware, are “made available” under this License by including in or with the\nWork either (a) a copyright notice referencing the applicability of this License\nto the Work, or (b) a copy of this License.\n\n2. License Grants\n\n2.1 Copyright Grant. Subject to the terms and conditions of this License, each\nLicensor grants to you a perpetual, worldwide, non-exclusive, royalty-free,\ncopyright license to reproduce, prepare derivative works of, publicly display,\npublicly perform, sublicense and distribute its Work and any resulting\nderivative works in any form.\n\n3. Limitations\n\n3.1 Redistribution. You may reproduce or distribute the Work only if (a) you do\nso under this License, (b) you include a complete copy of this License with your\ndistribution, and (c) you retain without modification any copyright, patent,\ntrademark, or attribution notices that are present in the Work.\n\n3.2 Derivative Works. You may specify that additional or different terms apply\nto the use, reproduction, and distribution of your derivative works of the Work\n(“Your Terms”) only if you identify the specific derivative works that are\nsubject to Your Terms. Notwithstanding Your Terms, this License (including the\nredistribution requirements in Section 3.1) will continue to apply to the Work\nitself.\n\n3.3 Patent Claims. If you bring or threaten to bring a patent claim against any\nLicensor (including any claim, cross-claim or counterclaim in a lawsuit) to\nenforce any patents that you allege are infringed by any Work, then your rights\nunder this License from such Licensor (including the grant in Sections 2.1)\nwill terminate immediately.\n\n3.4 Trademarks. This License does not grant any rights to use any Licensor’s or\nits affiliates’ names, logos, or trademarks, except as necessary to reproduce\nthe notices described in this License.\n\n3.5 Termination. If you violate any term of this License, then your rights under\nthis License (including the grant in Section 2.1) will terminate\nimmediately.\n\n4. Disclaimer of Warranty.\n\nTHE WORK IS PROVIDED “AS IS” WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,\nEITHER EXPRESS OR IMPLIED, INCLUDING WARRANTIES OR CONDITIONS OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE OR NON-INFRINGEMENT.\nYOU BEAR THE RISK OF UNDERTAKING ANY ACTIVITIES UNDER THIS LICENSE. \n\n5. Limitation of Liability.\n\nEXCEPT AS PROHIBITED BY APPLICABLE LAW, IN NO EVENT AND UNDER NO LEGAL THEORY,\nWHETHER IN TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE SHALL ANY\nLICENSOR BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY DIRECT, INDIRECT, SPECIAL,\nINCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATED TO THIS LICENSE,\nTHE USE OR INABILITY TO USE THE WORK (INCLUDING BUT NOT LIMITED TO LOSS OF\nGOODWILL, BUSINESS INTERRUPTION, LOST PROFITS OR DATA, COMPUTER FAILURE OR\nMALFUNCTION, OR ANY OTHER COMMERCIAL DAMAGES OR LOSSES), EVEN IF THE LICENSOR\nHAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.\n"
  },
  {
    "path": "README.md",
    "content": "NVIDIA Flex - 1.2.0\n===================\n\nFlex is a particle-based simulation library designed for real-time applications.\nPlease see the programmer's manual included in this release package for more information on\nthe solver API and usage.\n\nSupported Platforms\n-------------------\n\n* Windows 32/64 bit (CUDA, DX11, DX12)\n* Linux 64 bit (CUDA, tested with Ubuntu 16.04 LTS and Mint 17.2 Rafaela)\n\nRequirements\n------------\n\nA D3D11 capable graphics card with the following driver versions:\n\n* NVIDIA GeForce Game Ready Driver 396.45 or above\n* AMD Radeon Software Version 16.9.1 or above\n* Intel® Graphics Version 15.33.43.4425 or above\n\nTo build the demo at least one of the following is required:\n\n* Microsoft Visual Studio 2013\n* Microsoft Visual Studio 2015\n* g++ 4.6.3 or higher\n\nAnd either: \n\n* CUDA 9.2.148 toolkit\n* DirectX 11/12 SDK\n\nDemo \n====\n\nUse the `run_cuda.bat` or `run_d3d.bat` files to launch the demo.\n\nNotes \n-----\n\n* Some scenes also have fluid emitters that can be started using 'space'\n* For running the Linux binaries you will need to export the path to where the CUDA run time libraries are\n  For example, you may add to your .bashrc file the following:\n       \n      export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64\n\n\nCommand Line Options\n--------------------\n\nThe following commands may be passed to the demo application to modify behavior:\n\n    -fullscreen=wxh  Start fullscreen e.g.: -fullscreen=1280x720\n    -msaa=0          Disable multisampling (default is on)\n    -device=n        Choose GPU to run on\n    -d3d12           Enable D3D12 compute\n    -benchmark       Enable bencmark mode, will write a benchmark.txt to the root folder\n    -vsync=0         Disable vsync\n\nControls\n--------\n\n    w,s,a,d - Fly Camera\n    right mouse - Mouse look\n    shift + left mouse - Particle select and drag\n\n    p - Pause/Unpause\n    o - Step\n    h - Hide/Show onscreen help\n    \n    left/right arrow keys - Move to prev/next scene\n    up/down arrow keys - Select next scene\n    enter - Launch selected scene\n    r - Reset current scene\n    \n    e - Draw fluid surface\n    v - Draw points\n    f - Draw springs\n    i - Draw diffuse\n    m - Draw meshes\n    \n    space - Toggle fluid emitter\n    y - Toggle wave pool\n    c - Toggle video capture\n    u - Toggle fullscreen\n    j - Wind gust\n    - - Remove a plane\n    esc - Quit\n\nKnown Issues\n============\n\n* Crash with inflatable scenes on Intel HD Graphics 530\n* MSAA is broken on D3D12 and currently disabled\n\nAcknowledgements\n================\n\n* SDL is licensed under the zlib license\n* GLEW is licensed under the Modified BSD license\n* Regal is licensed under the BSD license\n* stb_truetype by Sean Barrett is public domain\n* imgui by Mikko Mononen is licensed under the ZLib license\n\n"
  },
  {
    "path": "core/aabbtree.cpp",
    "content": "// This code contains NVIDIA Confidential Information and is disclosed to you\n// under a form of NVIDIA software license agreement provided separately to you.\n//\n// Notice\n// NVIDIA Corporation and its licensors retain all intellectual property and\n// proprietary rights in and to this software and related documentation and\n// any modifications thereto. Any use, reproduction, disclosure, or\n// distribution of this software and related documentation without an express\n// license agreement from NVIDIA Corporation is strictly prohibited.\n//\n// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED \"AS IS.\". NVIDIA MAKES\n// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO\n// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,\n// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.\n//\n// Information and code furnished is believed to be accurate and reliable.\n// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such\n// information or for any infringement of patents or other rights of third parties that may\n// result from its use. No license is granted by implication or otherwise under any patent\n// or patent rights of NVIDIA Corporation. Details are subject to change without notice.\n// This code supersedes and replaces all information previously supplied.\n// NVIDIA Corporation products are not authorized for use as critical\n// components in life support devices or systems without express written approval of\n// NVIDIA Corporation.\n//\n// Copyright (c) 2013-2020 NVIDIA Corporation. All rights reserved.\n\n#include \"aabbtree.h\"\n\n#include \"maths.h\"\n#include \"platform.h\"\n\n#include <algorithm>\n#include <iostream>\n\nusing namespace std;\n\n#if _WIN32\n_declspec (thread) uint32_t AABBTree::s_traceDepth;\n#endif\n\nAABBTree::AABBTree(const Vec3* vertices, uint32_t numVerts, const uint32_t* indices, uint32_t numFaces) \n    : m_vertices(vertices)\n    , m_numVerts(numVerts)\n    , m_indices(indices)\n    , m_numFaces(numFaces)\n{\n    // build stats\n    m_treeDepth = 0;\n    m_innerNodes = 0;\n    m_leafNodes = 0;\n\n    Build();\n}\n\nnamespace\n{\n\n\tstruct FaceSorter\n\t{\n\t\tFaceSorter(const Vec3* positions, const uint32_t* indices, uint32_t n, uint32_t axis) \n\t\t\t: m_vertices(positions)\n\t\t\t, m_indices(indices)\n\t\t\t, m_numIndices(n)\n\t\t\t, m_axis(axis)\n\t\t{        \n\t\t}\n\n\t\tinline bool operator()(uint32_t lhs, uint32_t rhs) const\n\t\t{\n\t\t\tfloat a = GetCentroid(lhs);\n\t\t\tfloat b = GetCentroid(rhs);\n\n\t\t\tif (a == b)\n\t\t\t\treturn lhs < rhs;\n\t\t\telse\n\t\t\t\treturn a < b;\n\t\t}\n\n\t\tinline float GetCentroid(uint32_t face) const\n\t\t{\n\t\t\tconst Vec3& a = m_vertices[m_indices[face*3+0]];\n\t\t\tconst Vec3& b = m_vertices[m_indices[face*3+1]];\n\t\t\tconst Vec3& c = m_vertices[m_indices[face*3+2]];\n\n\t\t\treturn (a[m_axis] + b[m_axis] + c[m_axis])/3.0f;\n\t\t}\n\n\t\tconst Vec3* m_vertices;\n\t\tconst uint32_t* m_indices;\n\t\tuint32_t m_numIndices;\n\t\tuint32_t m_axis;\n\t};\n\t\n\tinline uint32_t LongestAxis(const Vector3& v)\n\t{    \n\t\tif (v.x > v.y && v.x > v.z)\n\t\t\treturn 0;\n\t\telse\n\t\t\treturn (v.y > v.z) ? 1 : 2;\n\t}\n\n} // anonymous namespace\n\nvoid AABBTree::CalculateFaceBounds(uint32_t* faces, uint32_t numFaces, Vector3& outMinExtents, Vector3& outMaxExtents)\n{\n    Vector3 minExtents(FLT_MAX);\n    Vector3 maxExtents(-FLT_MAX);\n\n    // calculate face bounds\n    for (uint32_t i=0; i < numFaces; ++i)\n    {\n        Vector3 a = Vector3(m_vertices[m_indices[faces[i]*3+0]]);\n        Vector3 b = Vector3(m_vertices[m_indices[faces[i]*3+1]]);\n        Vector3 c = Vector3(m_vertices[m_indices[faces[i]*3+2]]);\n\n        minExtents = Min(a, minExtents);\n        maxExtents = Max(a, maxExtents);\n\n        minExtents = Min(b, minExtents);\n        maxExtents = Max(b, maxExtents);\n\n        minExtents = Min(c, minExtents);\n        maxExtents = Max(c, maxExtents);\n    }\n\n    outMinExtents = minExtents;\n    outMaxExtents = maxExtents;\n}\n\n// track current tree depth\nstatic uint32_t s_depth = 0;\n\nvoid AABBTree::Build()\n{\n    assert(m_numFaces*3);\n\n    //const double startTime = GetSeconds();\n\n    const uint32_t numFaces = m_numFaces;\n\n    // build initial list of faces\n    m_faces.reserve(numFaces);\n\t/*\t\n    for (uint32_t i=0; i < numFaces; ++i)\n    {\n        m_faces[i] = i;\n    }\n\t*/\n\n    // calculate bounds of each face and store\n    m_faceBounds.reserve(numFaces);   \n    \n\tstd::vector<Bounds> stack;\n\tfor (uint32_t i=0; i < numFaces; ++i)\n    {\n\t\tBounds top;\n        CalculateFaceBounds(&i, 1, top.m_min, top.m_max);\n\t\t\n\t\tm_faces.push_back(i);\n\t\tm_faceBounds.push_back(top);\n\t\t/*\n\t\tstack.push_back(top);\n\n\t\twhile (!stack.empty())\n\t\t{\n\t\t\tBounds b = stack.back();\n\t\t\tstack.pop_back();\n\n\t\t\tconst float kAreaThreshold = 200.0f;\n\n\t\t\tif (b.GetSurfaceArea() < kAreaThreshold)\n\t\t\t{\n\t\t\t\t// node is good, append to our face list\n\t\t\t\tm_faces.push_back(i);\n\t\t\t\tm_faceBounds.push_back(b);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\t// split along longest axis\n\t\t\t\tuint32_t a = LongestAxis(b.m_max-b.m_min);\n\n\t\t\t\tfloat splitPos = (b.m_min[a] + b.m_max[a])*0.5f;\n\t\t\t\tBounds left(b);\n\t\t\t\tleft.m_max[a] = splitPos;\n\t\t\t\t\n\t\t\t\tassert(left.GetSurfaceArea() < b.GetSurfaceArea());\n\n\n\t\t\t\tBounds right(b);\n\t\t\t\tright.m_min[a] = splitPos;\n\n\t\t\t\tassert(right.GetSurfaceArea() < b.GetSurfaceArea());\n\n\t\t\t\tstack.push_back(left);\t\t\t\t\n\t\t\t\tstack.push_back(right);\n\t\t\t}\n\t\t}\n\t\t*/\n    }\n\n\tm_nodes.reserve(uint32_t(numFaces*1.5f));\n\n    // allocate space for all the nodes\n\tm_freeNode = 1;\n\n    // start building\n    BuildRecursive(0, &m_faces[0], numFaces);\n\n    assert(s_depth == 0);\n\n\n\t/*\n    const double buildTime = (GetSeconds()-startTime);\n    cout << \"AAABTree Build Stats:\" << endl;\n    cout << \"Node size: \" << sizeof(Node) << endl;\n    cout << \"Build time: \" << buildTime << \"s\" << endl;\n    cout << \"Inner nodes: \" << m_innerNodes << endl;\n    cout << \"Leaf nodes: \" << m_leafNodes << endl;\n    cout << \"Alloc nodes: \" << m_nodes.size() << endl;\n    cout << \"Avg. tris/leaf: \" << m_faces.size() / float(m_leafNodes) << endl;\n    cout << \"Max depth: \" << m_treeDepth << endl;\n\t*/\n    // free some memory\n    FaceBoundsArray f;\n    m_faceBounds.swap(f);\n}\n\n// partion faces around the median face\nuint32_t AABBTree::PartitionMedian(Node& n, uint32_t* faces, uint32_t numFaces)\n{\n\tFaceSorter predicate(&m_vertices[0], &m_indices[0], m_numFaces*3, LongestAxis(n.m_maxExtents-n.m_minExtents));\n    std::nth_element(faces, faces+numFaces/2, faces+numFaces, predicate);\n\n\treturn numFaces/2;\n}\n\n// partion faces based on the surface area heuristic\nuint32_t AABBTree::PartitionSAH(Node& n, uint32_t* faces, uint32_t numFaces)\n{\n\t\n\t/*\n    Vector3 mean(0.0f);\n    Vector3 variance(0.0f);\n\n    // calculate best axis based on variance\n    for (uint32_t i=0; i < numFaces; ++i)\n    {\n        mean += 0.5f*(m_faceBounds[faces[i]].m_min + m_faceBounds[faces[i]].m_max);\n    }\n    \n    mean /= float(numFaces);\n\n    for (uint32_t i=0; i < numFaces; ++i)\n    {\n        Vector3 v = 0.5f*(m_faceBounds[faces[i]].m_min + m_faceBounds[faces[i]].m_max) - mean;\n        v *= v;\n        variance += v;\n    }\n\n    uint32_t bestAxis = LongestAxis(variance);\n\t*/\n\n\tuint32_t bestAxis = 0;\n\tuint32_t bestIndex = 0;\n\tfloat bestCost = FLT_MAX;\n\n\tfor (uint32_t a=0; a < 3; ++a)\t\n\t//uint32_t a = bestAxis;\n\t{\n\t\t// sort faces by centroids\n\t\tFaceSorter predicate(&m_vertices[0], &m_indices[0], m_numFaces*3, a);\n\t\tstd::sort(faces, faces+numFaces, predicate);\n\n\t\t// two passes over data to calculate upper and lower bounds\n\t\tvector<float> cumulativeLower(numFaces);\n\t\tvector<float> cumulativeUpper(numFaces);\n\n\t\tBounds lower;\n\t\tBounds upper;\n\n\t\tfor (uint32_t i=0; i < numFaces; ++i)\n\t\t{\n\t\t\tlower.Union(m_faceBounds[faces[i]]);\n\t\t\tupper.Union(m_faceBounds[faces[numFaces-i-1]]);\n\n\t\t\tcumulativeLower[i] = lower.GetSurfaceArea();        \n\t\t\tcumulativeUpper[numFaces-i-1] = upper.GetSurfaceArea();\n\t\t}\n\n\t\tfloat invTotalSA = 1.0f / cumulativeUpper[0];\n\n\t\t// test all split positions\n\t\tfor (uint32_t i=0; i < numFaces-1; ++i)\n\t\t{\n\t\t\tfloat pBelow = cumulativeLower[i] * invTotalSA;\n\t\t\tfloat pAbove = cumulativeUpper[i] * invTotalSA;\n\n\t\t\tfloat cost = 0.125f + (pBelow*i + pAbove*(numFaces-i));\n\t\t\tif (cost <= bestCost)\n\t\t\t{\n\t\t\t\tbestCost = cost;\n\t\t\t\tbestIndex = i;\n\t\t\t\tbestAxis = a;\n\t\t\t}\n\t\t}\n\t}\n\n\t// re-sort by best axis\n\tFaceSorter predicate(&m_vertices[0], &m_indices[0], m_numFaces*3, bestAxis);\n\tstd::sort(faces, faces+numFaces, predicate);\n\n\treturn bestIndex+1;\n}\n\nvoid AABBTree::BuildRecursive(uint32_t nodeIndex, uint32_t* faces, uint32_t numFaces)\n{\n    const uint32_t kMaxFacesPerLeaf = 6;\n    \n    // if we've run out of nodes allocate some more\n    if (nodeIndex >= m_nodes.size())\n    {\n\t\tuint32_t s = std::max(uint32_t(1.5f*m_nodes.size()), 512U);\n\n\t\t//cout << \"Resizing tree, current size: \" << m_nodes.size()*sizeof(Node) << \" new size: \" << s*sizeof(Node) << endl;\n\n        m_nodes.resize(s);\n    }\n\n    // a reference to the current node, need to be careful here as this reference may become invalid if array is resized\n\tNode& n = m_nodes[nodeIndex];\n\n\t// track max tree depth\n    ++s_depth;\n    m_treeDepth = max(m_treeDepth, s_depth);\n\n\tCalculateFaceBounds(faces, numFaces, n.m_minExtents, n.m_maxExtents);\n\n\t// calculate bounds of faces and add node  \n    if (numFaces <= kMaxFacesPerLeaf)\n    {\n        n.m_faces = faces;\n        n.m_numFaces = numFaces;\t\t\n\n        ++m_leafNodes;\n    }\n    else\n    {\n        ++m_innerNodes;        \n\n        // face counts for each branch\n        //const uint32_t leftCount = PartitionMedian(n, faces, numFaces);\n        const uint32_t leftCount = PartitionSAH(n, faces, numFaces);\n        const uint32_t rightCount = numFaces-leftCount;\n\n\t\t// alloc 2 nodes\n\t\tm_nodes[nodeIndex].m_children = m_freeNode;\n\n\t\t// allocate two nodes\n\t\tm_freeNode += 2;\n  \n        // split faces in half and build each side recursively\n        BuildRecursive(m_nodes[nodeIndex].m_children+0, faces, leftCount);\n        BuildRecursive(m_nodes[nodeIndex].m_children+1, faces+leftCount, rightCount);\n    }\n\n    --s_depth;\n}\n\nstruct StackEntry\n{\n    uint32_t m_node;   \n    float m_dist;\n};\n\n\n#define TRACE_STATS 0\n\n/*\nbool AABBTree::TraceRay(const Vec3& start, const Vector3& dir, float& outT, float& outU, float& outV, float& outW, float& outSign, uint32_t& outIndex) const\n{\n#if _WIN32\n    // reset stats\n    s_traceDepth = 0;\n#endif\n\t\n    const Vector3 rcp_dir(1.0f/dir.x, 1.0f/dir.y, 1.0f/dir.z);\n\n\t// some temp variables\n\tVector3 normal;\n    float t, u, v, w, s;\n\n    float minT, minU, minV, minW, minSign;\n\tminU = minV = minW = minSign = minT = FLT_MAX;\n    \n\tuint32_t minIndex = 0;\n    Vector3 minNormal;\n\n    const uint32_t kStackDepth = 50;\n    \n    StackEntry stack[kStackDepth];\n    stack[0].m_node = 0;\n    stack[0].m_dist = 0.0f;\n\n    uint32_t stackCount = 1;\n\n    while (stackCount)\n    {\n        // pop node from back\n        StackEntry& e = stack[--stackCount];\n        \n        // ignore if another node has already come closer\n        if (e.m_dist >= minT)\n        {\n            continue;\n        }\n\n        const Node* node = &m_nodes[e.m_node];\n\nfilth:\n\n        if (node->m_faces == NULL)\n        {\n\n#if TRACE_STATS\n            extern uint32_t g_nodesChecked;\n            ++g_nodesChecked;\n#endif\n\n#if _WIN32\n\t\t\t++s_traceDepth;\n#endif\n            // find closest node\n            const Node& leftChild = m_nodes[node->m_children+0];\n            const Node& rightChild = m_nodes[node->m_children+1];\n\n            float dist[2] = {FLT_MAX, FLT_MAX};\n\n            IntersectRayAABBOmpf(start, rcp_dir, leftChild.m_minExtents, leftChild.m_maxExtents, dist[0]);\n            IntersectRayAABBOmpf(start, rcp_dir, rightChild.m_minExtents, rightChild.m_maxExtents, dist[1]);\n\n            const uint32_t closest = dist[1] < dist[0]; // 0 or 1\n            const uint32_t furthest = closest ^ 1;\n\n            if (dist[furthest] < minT)\n            {\n                StackEntry& e = stack[stackCount++];\n                e.m_node = node->m_children+furthest;\n                e.m_dist = dist[furthest];\n            }\n\n            // lifo\n            if (dist[closest] < minT)\n            {\n                node = &m_nodes[node->m_children+closest];\n                goto filth;\n            }\n        }\n        else\n        {\n            for (uint32_t i=0; i < node->m_numFaces; ++i)\n            {\n                const uint32_t faceIndex = node->m_faces[i];\n                const uint32_t indexStart = faceIndex*3;\n\n                const Vec3& a = m_vertices[m_indices[indexStart+0]];\n                const Vec3& b = m_vertices[m_indices[indexStart+1]];\n                const Vec3& c = m_vertices[m_indices[indexStart+2]];\n#if TRACE_STATS\n                extern uint32_t g_trisChecked;\n                ++g_trisChecked;\n#endif\n\n                if (IntersectRayTriTwoSided(start, dir, a, b, c, t, u, v, w, s))\n                {\n                    if (t < minT && t > 0.01f)\n                    {\n                        minT = t;\n                        minU = u;\n                        minV = v;\n                        minW = w;\n\t\t\t\t\t\tminSign = s;\n                        minIndex = faceIndex;\n                    }\n                }\n            }\n        }\n    }\n\n    // copy to outputs\n    outT = minT;\n    outU = minU;\n    outV = minV;\n    outW = minW;\n\toutSign = minSign;\n    outIndex = minIndex;\n\n    return (outT != FLT_MAX);\n}\n*/\n\nbool AABBTree::TraceRay(const Vec3& start, const Vector3& dir, float& outT, float& u, float& v, float& w, float& faceSign, uint32_t& faceIndex) const\n{   \n    //s_traceDepth = 0;\n\n    Vector3 rcp_dir(1.0f/dir.x, 1.0f/dir.y, 1.0f/dir.z);\n\n    outT = FLT_MAX;\n    TraceRecursive(0, start, dir, outT, u, v, w, faceSign, faceIndex);\n\n    return (outT != FLT_MAX);\n}\n\n\nvoid AABBTree::TraceRecursive(uint32_t nodeIndex, const Vec3& start, const Vector3& dir, float& outT, float& outU, float& outV, float& outW, float& faceSign, uint32_t& faceIndex) const\n{\n\tconst Node& node = m_nodes[nodeIndex];\n\n    if (node.m_faces == NULL)\n    {\n#if _WIN32\n        ++s_traceDepth;\n#endif\n\t\t\n#if TRACE_STATS\n        extern uint32_t g_nodesChecked;\n        ++g_nodesChecked;\n#endif\n\n        // find closest node\n        const Node& leftChild = m_nodes[node.m_children+0];\n        const Node& rightChild = m_nodes[node.m_children+1];\n\n        float dist[2] = {FLT_MAX, FLT_MAX};\n\n        IntersectRayAABB(start, dir, leftChild.m_minExtents, leftChild.m_maxExtents, dist[0], NULL);\n        IntersectRayAABB(start, dir, rightChild.m_minExtents, rightChild.m_maxExtents, dist[1], NULL);\n        \n        uint32_t closest = 0;\n        uint32_t furthest = 1;\n\t\t\n        if (dist[1] < dist[0])\n        {\n            closest = 1;\n            furthest = 0;\n        }\t\t\n\n        if (dist[closest] < outT)\n            TraceRecursive(node.m_children+closest, start, dir, outT, outU, outV, outW, faceSign, faceIndex);\n\n        if (dist[furthest] < outT)\n            TraceRecursive(node.m_children+furthest, start, dir, outT, outU, outV, outW, faceSign, faceIndex);\n\n    }\n    else\n    {\n        Vector3 normal;\n        float t, u, v, w, s;\n\n        for (uint32_t i=0; i < node.m_numFaces; ++i)\n        {\n            uint32_t indexStart = node.m_faces[i]*3;\n\n            const Vec3& a = m_vertices[m_indices[indexStart+0]];\n            const Vec3& b = m_vertices[m_indices[indexStart+1]];\n            const Vec3& c = m_vertices[m_indices[indexStart+2]];\n#if TRACE_STATS\n            extern uint32_t g_trisChecked;\n            ++g_trisChecked;\n#endif\n\n            if (IntersectRayTriTwoSided(start, dir, a, b, c, t, u, v, w, s))\n            {\n                if (t < outT)\n                {\n                    outT = t;\n\t\t\t\t\toutU = u;\n\t\t\t\t\toutV = v;\n\t\t\t\t\toutW = w;\n\t\t\t\t\tfaceSign = s;\n\t\t\t\t\tfaceIndex = node.m_faces[i];\n                }\n            }\n        }\n    }\n}\n\n/*\nbool AABBTree::TraceRay(const Vec3& start, const Vector3& dir, float& outT, Vector3* outNormal) const\n{   \n    outT = FLT_MAX;\n    TraceRecursive(0, start, dir, outT, outNormal);\n\n    return (outT != FLT_MAX);\n}\n\nvoid AABBTree::TraceRecursive(uint32_t n, const Vec3& start, const Vector3& dir, float& outT, Vector3* outNormal) const\n{\n    const Node& node = m_nodes[n];\n\n    if (node.m_numFaces == 0)\n    {\n        extern _declspec(thread) uint32_t g_traceDepth;\n        ++g_traceDepth;\n#if _DEBUG\n        extern uint32_t g_nodesChecked;\n        ++g_nodesChecked;\n#endif\n        float t;\n        if (IntersectRayAABB(start, dir, node.m_minExtents, node.m_maxExtents, t, NULL))\n        {\n            if (t <= outT)\n            {\n                TraceRecursive(n*2+1, start, dir, outT, outNormal);\n                TraceRecursive(n*2+2, start, dir, outT, outNormal);              \n            }\n        }\n    }\n    else\n    {\n        Vector3 normal;\n        float t, u, v, w;\n\n        for (uint32_t i=0; i < node.m_numFaces; ++i)\n        {\n            uint32_t indexStart = node.m_faces[i]*3;\n\n            const Vec3& a = m_vertices[m_indices[indexStart+0]];\n            const Vec3& b = m_vertices[m_indices[indexStart+1]];\n            const Vec3& c = m_vertices[m_indices[indexStart+2]];\n#if _DEBUG\n            extern uint32_t g_trisChecked;\n            ++g_trisChecked;\n#endif\n\n            if (IntersectRayTri(start, dir, a, b, c, t, u, v, w, &normal))\n            {\n                if (t < outT)\n                {\n                    outT = t;\n\n                    if (outNormal)\n                        *outNormal = normal;\n                }\n            }\n        }\n    }\n}\n*/\nbool AABBTree::TraceRaySlow(const Vec3& start, const Vector3& dir, float& outT, float& outU, float& outV, float& outW, float& faceSign, uint32_t& faceIndex) const\n{    \n    const uint32_t numFaces = GetNumFaces();\n\n    float minT, minU, minV, minW, minS;\n\tminT = minU = minV = minW = minS = FLT_MAX;\n\n    Vector3 minNormal(0.0f, 1.0f, 0.0f);\n\n    Vector3 n(0.0f, 1.0f, 0.0f);\n    float t, u, v, w, s;\n    bool hit = false;\n\tuint32_t minIndex = 0;\n\n    for (uint32_t i=0; i < numFaces; ++i)\n    {\n        const Vec3& a = m_vertices[m_indices[i*3+0]];\n        const Vec3& b = m_vertices[m_indices[i*3+1]];\n        const Vec3& c = m_vertices[m_indices[i*3+2]];\n\n        if (IntersectRayTriTwoSided(start, dir, a, b, c, t, u, v, w, s))\n        {\n            if (t < minT)\n            {\n                minT = t;\n\t\t\t\tminU = u;\n\t\t\t\tminV = v;\n\t\t\t\tminW = w;\n\t\t\t\tminS = s;\n                minNormal = n;\n\t\t\t\tminIndex = i;\n                hit = true;\n            }\n        }\n    }\n\n    outT = minT;\n\toutU = minU;\n\toutV = minV;\n\toutW = minW;\n\tfaceSign = minS;\n\tfaceIndex = minIndex;\n\n    return hit;\n}\n\nvoid AABBTree::DebugDraw()\n{\n\t/*\n    glPolygonMode( GL_FRONT_AND_BACK, GL_LINE );\n\n    DebugDrawRecursive(0, 0);\n\n    glPolygonMode( GL_FRONT_AND_BACK, GL_FILL );\n\t*/\n\n}\n\nvoid AABBTree::DebugDrawRecursive(uint32_t nodeIndex, uint32_t depth)\n{\n    static uint32_t kMaxDepth = 3;\n\n    if (depth > kMaxDepth)\n        return;\n\n\n    /*\n    Node& n = m_nodes[nodeIndex];\n\n\tVector3 minExtents = FLT_MAX;\n    Vector3 maxExtents = -FLT_MAX;\n\n    // calculate face bounds\n    for (uint32_t i=0; i < m_vertices.size(); ++i)\n    {\n        Vector3 a = m_vertices[i];\n\n        minExtents = Min(a, minExtents);\n        maxExtents = Max(a, maxExtents);\n    }\n\n    \n    glBegin(GL_QUADS);\n    glVertex3f(minExtents.x, maxExtents.y, 0.0f);\n    glVertex3f(maxExtents.x, maxExtents.y, 0.0f);\n    glVertex3f(maxExtents.x, minExtents.y, 0.0f);\n    glVertex3f(minExtents.x, minExtents.y, 0.0f);\n    glEnd();\n    \n\n    n.m_center = Vec3(minExtents+maxExtents)/2;\n    n.m_extents = (maxExtents-minExtents)/2;\n    */\n/*\n    if (n.m_minEtextents != Vector3(0.0f))\n    {\n        Vec3 corners[8];\n        corners[0] = n.m_center + Vector3(-n.m_extents.x, n.m_extents.y, n.m_extents.z);\n        corners[1] = n.m_center + Vector3(n.m_extents.x, n.m_extents.y, n.m_extents.z);\n        corners[2] = n.m_center + Vector3(n.m_extents.x, -n.m_extents.y, n.m_extents.z);\n        corners[3] = n.m_center + Vector3(-n.m_extents.x, -n.m_extents.y, n.m_extents.z);\n\n        corners[4] = n.m_center + Vector3(-n.m_extents.x, n.m_extents.y, -n.m_extents.z);\n        corners[5] = n.m_center + Vector3(n.m_extents.x, n.m_extents.y, -n.m_extents.z);\n        corners[6] = n.m_center + Vector3(n.m_extents.x, -n.m_extents.y, -n.m_extents.z);\n        corners[7] = n.m_center + Vector3(-n.m_extents.x, -n.m_extents.y, -n.m_extents.z);\n        \n        glBegin(GL_QUADS);\n        glColor3f(0.0f, 1.0f, 0.0f);\n        glVertex3fv(corners[0]);\n        glVertex3fv(corners[1]);\n        glVertex3fv(corners[2]);\n        glVertex3fv(corners[3]);\n\n        glVertex3fv(corners[1]);\n        glVertex3fv(corners[5]);\n        glVertex3fv(corners[6]);\n        glVertex3fv(corners[2]);\n\n        glVertex3fv(corners[0]);\n        glVertex3fv(corners[4]);\n        glVertex3fv(corners[5]);\n        glVertex3fv(corners[1]);\n\n        glVertex3fv(corners[4]);\n        glVertex3fv(corners[5]);\n        glVertex3fv(corners[6]);\n        glVertex3fv(corners[7]);\n\n        glVertex3fv(corners[0]);\n        glVertex3fv(corners[4]);\n        glVertex3fv(corners[7]);\n        glVertex3fv(corners[3]);\n\n        glVertex3fv(corners[3]);\n        glVertex3fv(corners[7]);\n        glVertex3fv(corners[6]);\n        glVertex3fv(corners[2]);\n\n        glEnd();            \n\n        DebugDrawRecursive(nodeIndex*2+1, depth+1);\n        DebugDrawRecursive(nodeIndex*2+2, depth+1);\n    }    \n    */\n}\n"
  },
  {
    "path": "core/aabbtree.h",
    "content": "// This code contains NVIDIA Confidential Information and is disclosed to you\n// under a form of NVIDIA software license agreement provided separately to you.\n//\n// Notice\n// NVIDIA Corporation and its licensors retain all intellectual property and\n// proprietary rights in and to this software and related documentation and\n// any modifications thereto. Any use, reproduction, disclosure, or\n// distribution of this software and related documentation without an express\n// license agreement from NVIDIA Corporation is strictly prohibited.\n//\n// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED \"AS IS.\". NVIDIA MAKES\n// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO\n// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,\n// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.\n//\n// Information and code furnished is believed to be accurate and reliable.\n// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such\n// information or for any infringement of patents or other rights of third parties that may\n// result from its use. No license is granted by implication or otherwise under any patent\n// or patent rights of NVIDIA Corporation. Details are subject to change without notice.\n// This code supersedes and replaces all information previously supplied.\n// NVIDIA Corporation products are not authorized for use as critical\n// components in life support devices or systems without express written approval of\n// NVIDIA Corporation.\n//\n// Copyright (c) 2013-2020 NVIDIA Corporation. All rights reserved.\n\n#pragma once\n\n#include \"core.h\"\n#include \"maths.h\"\n\n#include <vector>\n\nclass AABBTree\n{\n\tAABBTree(const AABBTree&);\n\tAABBTree& operator=(const AABBTree&);\n\npublic:\n\n    AABBTree(const Vec3* vertices, uint32_t numVerts, const uint32_t* indices, uint32_t numFaces);\n\n\tbool TraceRaySlow(const Vec3& start, const Vector3& dir, float& outT, float& u, float& v, float& w, float& faceSign, uint32_t& faceIndex) const;\n    bool TraceRay(const Vec3& start, const Vector3& dir, float& outT, float& u, float& v, float& w, float& faceSign, uint32_t& faceIndex) const;\n\n    void DebugDraw();\n    \n    Vector3 GetCenter() const { return (m_nodes[0].m_minExtents+m_nodes[0].m_maxExtents)*0.5f; }\n    Vector3 GetMinExtents() const { return m_nodes[0].m_minExtents; }\n    Vector3 GetMaxExtents() const { return m_nodes[0].m_maxExtents; }\n\t\n#if _WIN32\n    // stats (reset each trace)\n    static uint32_t GetTraceDepth() { return s_traceDepth; }\n#endif\n\t\nprivate:\n\n    void DebugDrawRecursive(uint32_t nodeIndex, uint32_t depth);\n\n    struct Node\n    {\n        Node() \t\n            : m_numFaces(0)\n            , m_faces(NULL)\n            , m_minExtents(0.0f)\n            , m_maxExtents(0.0f)\n        {\n        }\n\n\t\tunion\n\t\t{\n\t\t\tuint32_t m_children;\n\t\t\tuint32_t m_numFaces;\t\t\t\n\t\t};\n\n\t\tuint32_t* m_faces;        \n        Vector3 m_minExtents;\n        Vector3 m_maxExtents;\n    };\n\n\n    struct Bounds\n    {\n        Bounds() : m_min(0.0f), m_max(0.0f)\n        {\n        }\n\n        Bounds(const Vector3& min, const Vector3& max) : m_min(min), m_max(max)\n        {\n        }\n\n        inline float GetVolume() const\n        {\n            Vector3 e = m_max-m_min;\n            return (e.x*e.y*e.z);\n        }\n\n        inline float GetSurfaceArea() const\n        {\n            Vector3 e = m_max-m_min;\n            return 2.0f*(e.x*e.y + e.x*e.z + e.y*e.z);\n        }\n\n        inline void Union(const Bounds& b)\n        {\n            m_min = Min(m_min, b.m_min);\n            m_max = Max(m_max, b.m_max);\n        }\n\n        Vector3 m_min;\n        Vector3 m_max;\n    };\n\n    typedef std::vector<uint32_t> IndexArray;\n    typedef std::vector<Vec3> PositionArray;\n    typedef std::vector<Node> NodeArray;\n    typedef std::vector<uint32_t> FaceArray;\n    typedef std::vector<Bounds> FaceBoundsArray;\n\n\t// partition the objects and return the number of objects in the lower partition\n\tuint32_t PartitionMedian(Node& n, uint32_t* faces, uint32_t numFaces);\n\tuint32_t PartitionSAH(Node& n, uint32_t* faces, uint32_t numFaces);\n\n    void Build();\n    void BuildRecursive(uint32_t nodeIndex, uint32_t* faces, uint32_t numFaces);\n    void TraceRecursive(uint32_t nodeIndex, const Vec3& start, const Vector3& dir, float& outT, float& u, float& v, float& w, float& faceSign, uint32_t& faceIndex) const;\n \n    void CalculateFaceBounds(uint32_t* faces, uint32_t numFaces, Vector3& outMinExtents, Vector3& outMaxExtents);\n    uint32_t GetNumFaces() const { return m_numFaces; }\n\tuint32_t GetNumNodes() const { return uint32_t(m_nodes.size()); }\n\n\t// track the next free node\n\tuint32_t m_freeNode;\n\n    const Vec3* m_vertices;\n    const uint32_t m_numVerts;\n\n    const uint32_t* m_indices;\n    const uint32_t m_numFaces;\n\n    FaceArray m_faces;\n    NodeArray m_nodes;\n    FaceBoundsArray m_faceBounds;    \n\n    // stats\n    uint32_t m_treeDepth;\n    uint32_t m_innerNodes;\n    uint32_t m_leafNodes; \n\t\n#if _WIN32\n   _declspec (thread) static uint32_t s_traceDepth;\n#endif\n};\n"
  },
  {
    "path": "core/cloth.h",
    "content": "// This code contains NVIDIA Confidential Information and is disclosed to you\n// under a form of NVIDIA software license agreement provided separately to you.\n//\n// Notice\n// NVIDIA Corporation and its licensors retain all intellectual property and\n// proprietary rights in and to this software and related documentation and\n// any modifications thereto. Any use, reproduction, disclosure, or\n// distribution of this software and related documentation without an express\n// license agreement from NVIDIA Corporation is strictly prohibited.\n//\n// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED \"AS IS.\". NVIDIA MAKES\n// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO\n// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,\n// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.\n//\n// Information and code furnished is believed to be accurate and reliable.\n// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such\n// information or for any infringement of patents or other rights of third parties that may\n// result from its use. No license is granted by implication or otherwise under any patent\n// or patent rights of NVIDIA Corporation. Details are subject to change without notice.\n// This code supersedes and replaces all information previously supplied.\n// NVIDIA Corporation products are not authorized for use as critical\n// components in life support devices or systems without express written approval of\n// NVIDIA Corporation.\n//\n// Copyright (c) 2013-2020 NVIDIA Corporation. All rights reserved.\n\n#pragma once\n\n#include <set>\n#include <vector>\n#include <map>\n#include <algorithm>\n#include <functional>\n#include <numeric>\n\n#include \"maths.h\"\n\nclass ClothMesh\n{\npublic:\n\n\tstruct Edge\n\t{\n\t\tint vertices[2];\n\t\tint tris[2];\n\t\t\n\t\tint stretchConstraint;\n\t\tint bendingConstraint;\n\n\n\t\tEdge(int a, int b)\n\t\t{\n\t\t\tassert(a != b);\n\n\t\t\tvertices[0] = Min(a, b);\n\t\t\tvertices[1] = Max(a, b);\n\n\t\t\ttris[0] = -1;\n\t\t\ttris[1] = -1;\n\t\t\t\n\t\t\tstretchConstraint = -1;\n\t\t\tbendingConstraint = -1;\n\t\t}\n\n\t\tbool IsBoundary() const { return tris[0] == -1 || tris[1] == -1; }\n\n\t\tbool Contains(int index) const\n\t\t{\n\t\t\treturn (vertices[0] == index) || (vertices[1] == index);\n\t\t}\n\n\t\tvoid Replace(int oldIndex, int newIndex)\n\t\t{\n\t\t\tif (vertices[0] == oldIndex)\n\t\t\t\tvertices[0] = newIndex;\n\t\t\telse if (vertices[1] == oldIndex)\n\t\t\t\tvertices[1] = newIndex;\n\t\t\telse\n\t\t\t\tassert(0);\n\t\t}\n\n\t\tvoid RemoveTri(int index)\n\t\t{\n\t\t\tif (tris[0] == index)\n\t\t\t\ttris[0] = -1;\n\t\t\telse if (tris[1] == index)\n\t\t\t\ttris[1] = -1;\n\t\t\telse\n\t\t\t\tassert(0);\n\t\t}\n\n\t\tbool AddTri(int index)\n\t\t{\n\t\t\tif (tris[0] == -1)\n\t\t\t{\n\t\t\t\ttris[0] = index;\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\telse if (tris[1] == -1)\n\t\t\t{\n\t\t\t\t// check tri not referencing same edge\n\t\t\t\tif (index == tris[0])\n\t\t\t\t\treturn false;\t\t\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\ttris[1] = index;\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t\treturn false;\n\t\t}\n\n\t\tbool operator < (const Edge& rhs) const\n\t\t{\n\t\t\tif (vertices[0] != rhs.vertices[0])\n\t\t\t\treturn vertices[0] < rhs.vertices[0];\n\t\t\telse\n\t\t\t\treturn vertices[1] < rhs.vertices[1];\n\t\t}\n\t};\n\n\tstruct Triangle\n\t{\n\t\tTriangle(int a, int b, int c)\n\t\t{\n\t\t\tassert(a != b && a != c);\n\t\t\tassert(b != c);\n\n\t\t\tvertices[0] = a;\n\t\t\tvertices[1] = b;\n\t\t\tvertices[2] = c;\n\n\t\t\tedges[0] = -1;\n\t\t\tedges[1] = -1;\n\t\t\tedges[2] = -1;\n\n\t\t\tside = -1;\n\n\t\t\tcomponent = -1;\n\t\t}\n\n\t\tbool Contains(int v) const\n\t\t{\n\t\t\tif (vertices[0] == v ||\n\t\t\t\tvertices[1] == v ||\n\t\t\t\tvertices[2] == v)\n\t\t\t\treturn true;\n\t\t\telse\n\t\t\t\treturn false;\n\t\t}\n\n\t\tvoid ReplaceEdge(int oldIndex, int newIndex)\n\t\t{\n\t\t\tfor (int i=0; i < 3; ++i)\n\t\t\t{\n\t\t\t\tif (edges[i] == oldIndex)\n\t\t\t\t{\n\t\t\t\t\tedges[i] = newIndex;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t}\n\t\t\tassert(0);\n\t\t}\n\n\t\tint ReplaceVertex(int oldIndex, int newIndex)\n\t\t{\n\t\t\tfor (int i=0; i < 3; ++i)\n\t\t\t{\n\t\t\t\tif (vertices[i] == oldIndex)\n\t\t\t\t{\n\t\t\t\t\tvertices[i] = newIndex;\n\t\t\t\t\treturn i;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tassert(0);\n\t\t\treturn -1;\n\t\t}\n\n\t\tint GetOppositeVertex(int v0, int v1) const\n\t\t{\n\t\t\tfor (int i=0; i < 3; ++i)\n\t\t\t{\n\t\t\t\tif (vertices[i] != v0 && vertices[i] != v1)\n\t\t\t\t\treturn vertices[i];\n\t\t\t}\n\n\t\t\tassert(0);\n\t\t\treturn -1;\n\t\t}\n\n\t\tint vertices[3];\n\t\tint edges[3];\n\n\t\t// used during splitting\n\t\tint side;\n\n\t\t// used during singular vertex removal\n\t\tmutable int component;\n\t};\n\n\tClothMesh(const Vec4* vertices, int numVertices, \n\t\t\t  const int* indices, int numIndices,\n\t\t\t  float stretchStiffness,\n\t\t\t  float bendStiffness, bool tearable=true)\n\t{\n\t\tmValid = false;\n\n\t\tmNumVertices = numVertices;\n\n\t\tif (tearable)\n\t\t{\n\t\t\t// tearable cloth uses a simple bending constraint model that allows easy splitting of vertices and remapping of constraints\n\t\t\ttypedef std::set<Edge> EdgeSet;\n\t\t\tEdgeSet edges;\n\n\t\t\t// build unique edge list\n\t\t\tfor (int i=0; i < numIndices; i += 3)\n\t\t\t{\n\t\t\t\tmTris.push_back(Triangle(indices[i+0], indices[i+1], indices[i+2]));\n\n\t\t\t\tconst int triIndex = i/3;\n\n\t\t\t\t// breaking the rules\n\t\t\t\tEdge& e1 = const_cast<Edge&>(*edges.insert(Edge(indices[i+0], indices[i+1])).first);\n\t\t\t\tEdge& e2 = const_cast<Edge&>(*edges.insert(Edge(indices[i+1], indices[i+2])).first);\n\t\t\t\tEdge& e3 = const_cast<Edge&>(*edges.insert(Edge(indices[i+2], indices[i+0])).first);\n\n\t\t\t\tif (!e1.AddTri(triIndex))\n\t\t\t\t\treturn;\n\t\t\t\tif (!e2.AddTri(triIndex))\n\t\t\t\t\treturn;\n\t\t\t\tif (!e3.AddTri(triIndex))\n\t\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// flatten set to array\n\t\t\tmEdges.assign(edges.begin(), edges.end());\n\n\t\t\t// second pass, set edge indices to faces\n\t\t\tfor (int i=0; i < numIndices; i += 3)\n\t\t\t{\n\t\t\t\tint e1 = int(std::lower_bound(mEdges.begin(), mEdges.end(), Edge(indices[i+0], indices[i+1])) - mEdges.begin());\n\t\t\t\tint e2 = int(std::lower_bound(mEdges.begin(), mEdges.end(), Edge(indices[i+1], indices[i+2])) - mEdges.begin());\n\t\t\t\tint e3 = int(std::lower_bound(mEdges.begin(), mEdges.end(), Edge(indices[i+2], indices[i+0])) - mEdges.begin());\n\n\n\t\t\t\tif (e1 != e2 && e1 != e3 && e2 != e3)\n\t\t\t\t{\n\t\t\t\t\tconst int triIndex = i/3;\n\n\t\t\t\t\tmTris[triIndex].edges[0] = e1;\n\t\t\t\t\tmTris[triIndex].edges[1] = e2;\n\t\t\t\t\tmTris[triIndex].edges[2] = e3;\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\t// degenerate tri\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// generate distance constraints\n\t\t\tfor (size_t i=0; i < mEdges.size(); ++i)\n\t\t\t{\n\t\t\t\tEdge& edge = mEdges[i];\n\n\t\t\t\t// stretch constraint along mesh edges\n\t\t\t\tedge.stretchConstraint = AddConstraint(vertices, edge.vertices[0], edge.vertices[1], stretchStiffness);\n\n\t\t\t\tconst int t1 = edge.tris[0];\n\t\t\t\tconst int t2 = edge.tris[1];\n\n\t\t\t\t// add bending constraint between connected tris\n\t\t\t\tif (t1 != -1 && t2 != -1 && bendStiffness > 0.0f)\n\t\t\t\t{\n\t\t\t\t\tint v1 = mTris[t1].GetOppositeVertex(edge.vertices[0], edge.vertices[1]);\n\t\t\t\t\tint v2 = mTris[t2].GetOppositeVertex(edge.vertices[0], edge.vertices[1]);\n\t\t\t\t\tedge.bendingConstraint = AddConstraint(vertices, v1, v2, bendStiffness);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// calculate rest volume\n\t\tmRestVolume = 0.0f;\n\t\tmConstraintScale = 0.0f;\n\n\t\tstd::vector<Vec3> gradients(numVertices);\n\n\t\tfor (int i=0; i < numIndices; i+=3)\n\t\t{\n\t\t\tVec3 v1 = Vec3(vertices[indices[i+0]]);\n\t\t\tVec3 v2 = Vec3(vertices[indices[i+1]]);\n\t\t\tVec3 v3 = Vec3(vertices[indices[i+2]]);\n\n\t\t\tconst Vec3 n = Cross(v2-v1, v3-v1);\n\t\t\tconst float signedVolume = Dot(v1, n);\n\n\t\t\tmRestVolume += signedVolume;\n\n\t\t\tgradients[indices[i+0]] += n;\n\t\t\tgradients[indices[i+1]] += n;\n\t\t\tgradients[indices[i+2]] += n;\n\t\t}\n\t\t\n\t\tfor (int i=0; i < numVertices; ++i)\n\t\t\tmConstraintScale += Dot(gradients[i], gradients[i]);\n\n\t\tmConstraintScale = 1.0f/mConstraintScale;\n\n\t\tmValid = true;\n\n\t}\n\n\tint AddConstraint(const Vec4* vertices, int a, int b, float stiffness, float give=0.0f)\n\t{\n\t\tint index = int(mConstraintRestLengths.size());\n\n\t\tmConstraintIndices.push_back(a);\n\t\tmConstraintIndices.push_back(b);\n\n\t\tconst float restLength = Length(Vec3(vertices[a])-Vec3(vertices[b]));\n\t\t\t\n\t\tmConstraintRestLengths.push_back(restLength*(1.0f + give));\n\t\tmConstraintCoefficients.push_back(stiffness);\n\n\t\treturn index;\n\t}\n\n\tint IsSingularVertex(int vertex) const\n\t{\n\t\tstd::vector<int> adjacentTriangles;\n\n\t\t// gather adjacent triangles\n\t\tfor (int i=0; i < int(mTris.size()); ++i)\n\t\t{\n\t\t\tif (mTris[i].Contains(vertex))\n\t\t\t\tadjacentTriangles.push_back(i);\n\t\t}\n\n\t\t// number of identified components\n\t\tint componentCount = 0;\n\n\t\t// while connected tris not colored\n\t\tfor (int i=0; i < int(adjacentTriangles.size()); ++i)\n\t\t{\n\t\t\t// pop off a triangle\n\t\t\tint seed = adjacentTriangles[i];\n\t\t\t\n\t\t\t// triangle already belongs to a component\n\t\t\tif (mTris[seed].component != -1)\n\t\t\t\tcontinue;\n\n\t\t\tstd::vector<int> stack;\n\t\t\tstack.push_back(seed);\n\n\t\t\twhile (!stack.empty())\n\t\t\t{\n\t\t\t\tint t = stack.back();\n\t\t\t\tstack.pop_back();\n\n\t\t\t\tconst Triangle& tri = mTris[t];\n\n\t\t\t\tif (tri.component == componentCount)\t\t\t\t\n\t\t\t\t{\n\t\t\t\t\t// we're back to the beginning\n\t\t\t\t\t// component is fully connected\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\ttri.component = componentCount;\n\n\t\t\t\t// update mesh\n\t\t\t\tfor (int e=0; e < 3; ++e)\n\t\t\t\t{\n\t\t\t\t\tconst Edge& edge = mEdges[tri.edges[e]];\n\n\t\t\t\t\tif (edge.Contains(vertex))\n\t\t\t\t\t{\n\t\t\t\t\t\tif (!edge.IsBoundary())\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t// push unprocessed neighbors on stack\n\t\t\t\t\t\t\tfor (int s=0; s < 2; ++s)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tassert(mTris[edge.tris[s]].component == -1 || mTris[edge.tris[s]].component == componentCount);\n\n\t\t\t\t\t\t\t\tif (edge.tris[s] != t && mTris[edge.tris[s]].component == -1)\n\t\t\t\t\t\t\t\t\tstack.push_back(edge.tris[s]);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\t\n\t\t\t}\n\n\t\t\tcomponentCount++;\n\t\t}\n\n\t\t// reset component indices\n\t\tfor (int i=0; i < int(adjacentTriangles.size()); ++i)\n\t\t{\n\t\t\tassert(mTris[adjacentTriangles[i]].component != -1);\n\n\t\t\tmTris[adjacentTriangles[i]].component = -1;\n\t\t} \n\n\t\treturn componentCount;\n\t}\n\n\tstruct TriangleUpdate\n\t{\n\t\tint triangle;\n\t\tint vertex;\n\t};\n\n\tstruct VertexCopy\n\t{\n\t\tint srcIndex;\n\t\tint destIndex;\n\t};\n\n\tint SeparateVertex(int singularVertex, std::vector<TriangleUpdate>& replacements, std::vector<VertexCopy>& copies, int maxCopies)\n\t{\n\t\tstd::vector<int> adjacentTriangles;\n\n\t\t// gather adjacent triangles\n\t\tfor (int i=0; i < int(mTris.size()); ++i)\n\t\t{\n\t\t\tif (mTris[i].Contains(singularVertex))\n\t\t\t\tadjacentTriangles.push_back(i);\n\t\t}\n\n\t\t// number of identified components\n\t\tint componentCount = 0;\n\n\t\t// first component keeps the existing vertex\n\t\tint newIndex = singularVertex;\n\n\t\t// while connected tris not colored\n\t\tfor (int i=0; i < int(adjacentTriangles.size()); ++i)\n\t\t{\n\t\t\tif (maxCopies == 0)\n\t\t\t\tbreak;\n\n\t\t\t// pop off a triangle\n\t\t\tint seed = adjacentTriangles[i];\n\t\t\t\n\t\t\t// triangle already belongs to a component\n\t\t\tif (mTris[seed].component != -1)\n\t\t\t\tcontinue;\n\n\t\t\tstd::vector<int> stack;\n\t\t\tstack.push_back(seed);\n\n\t\t\twhile (!stack.empty())\n\t\t\t{\n\t\t\t\tint t = stack.back();\n\t\t\t\tstack.pop_back();\n\n\t\t\t\tTriangle& tri = mTris[t];\n\n\t\t\t\t// test if we're back to the beginning, in which case the component is fully connected\n\t\t\t\tif (tri.component == componentCount)\t\t\t\t\t\t\t\t\t\n\t\t\t\t\tbreak;\n\t\t\t\t\n\t\t\t\tassert(tri.component == -1);\n\n\t\t\t\ttri.component = componentCount;\n\n\t\t\t\t// update triangle\n\t\t\t\tint v = tri.ReplaceVertex(singularVertex, newIndex);\n\n\t\t\t\tif (singularVertex != newIndex)\n\t\t\t\t{\n\t\t\t\t\t// output replacement\n\t\t\t\t\tTriangleUpdate r;\n\t\t\t\t\tr.triangle = t*3 + v;\n\t\t\t\t\tr.vertex = newIndex;\n\t\t\t\t\treplacements.push_back(r);\n\t\t\t\t}\n\n\t\t\t\t// update mesh\n\t\t\t\tfor (int e=0; e < 3; ++e)\n\t\t\t\t{\n\t\t\t\t\tEdge& edge = mEdges[tri.edges[e]];\n\n\t\t\t\t\tif (edge.Contains(singularVertex))\n\t\t\t\t\t{\n\t\t\t\t\t\t// update edge to point to new vertex\n\t\t\t\t\t\tedge.Replace(singularVertex, newIndex);\n\n\t\t\t\t\t\tconst int stretching = edge.stretchConstraint;\n\t\t\t\t\t\tif (mConstraintIndices[stretching*2+0] == singularVertex)\n\t\t\t\t\t\t\tmConstraintIndices[stretching*2+0] = newIndex;\n\t\t\t\t\t\telse if (mConstraintIndices[stretching*2+1] == singularVertex)\n\t\t\t\t\t\t\tmConstraintIndices[stretching*2+1] = newIndex;\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\tassert(0);\n\n\t\t\t\t\t\tif (!edge.IsBoundary())\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t// push unprocessed neighbors on stack\n\t\t\t\t\t\t\tfor (int s=0; s < 2; ++s)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tassert(mTris[edge.tris[s]].component == -1 || mTris[edge.tris[s]].component == componentCount);\n\n\t\t\t\t\t\t\t\tif (edge.tris[s] != t && mTris[edge.tris[s]].component == -1)\n\t\t\t\t\t\t\t\t\tstack.push_back(edge.tris[s]);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tconst int bending = edge.bendingConstraint;\n\n\t\t\t\t\t\tif (bending != -1)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif (mConstraintIndices[bending*2+0] == singularVertex)\n\t\t\t\t\t\t\t\tmConstraintIndices[bending*2+0] = newIndex;\n\t\t\t\t\t\t\telse if (mConstraintIndices[bending*2+1] == singularVertex)\n\t\t\t\t\t\t\t\tmConstraintIndices[bending*2+1] = newIndex;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\t\n\t\t\t}\n\n\t\t\t// copy vertex\n\t\t\tif (singularVertex != newIndex)\n\t\t\t{\n\t\t\t\tVertexCopy copy;\n\t\t\t\tcopy.srcIndex = singularVertex;\n\t\t\t\tcopy.destIndex = newIndex;\n\n\t\t\t\tcopies.push_back(copy);\n\n\t\t\t\tmNumVertices++;\n\t\t\t\tmaxCopies--;\n\t\t\t}\n\n\t\t\t// component traversal finished\n\t\t\tnewIndex = mNumVertices;\n\n\t\t\tcomponentCount++;\n\t\t}\n\n\t\t// reset component indices\n\t\tfor (int i=0; i < int(adjacentTriangles.size()); ++i)\n\t\t{\n\t\t\t//assert(mTris[adjacentTriangles[i]].component != -1);\n\n\t\t\tmTris[adjacentTriangles[i]].component = -1;\n\t\t} \n\n\t\treturn componentCount;\n\t}\n\n\tint SplitVertex(const Vec4* vertices, int index, Vec3 splitPlane, std::vector<int>& adjacentTris, std::vector<int>& adjacentVertices, std::vector<TriangleUpdate>& replacements, std::vector<VertexCopy>& copies, int maxCopies)\n\t{\n\t\tif (maxCopies == 0)\n\t\t\treturn -1;\n\n\t\tfloat w = Dot(vertices[index], splitPlane);\n\n\t\tint leftCount = 0;\n\t\tint rightCount = 0;\n\n\t\tconst int newIndex = mNumVertices;\n\n\t\t// classify all tris attached to the split vertex according \n\t\t// to which side of the split plane their centroid lies on O(N)\n\t\tfor (size_t i = 0; i < mTris.size(); ++i)\n\t\t{\n\t\t\tTriangle& tri = mTris[i];\n\n\t\t\tif (tri.Contains(index))\n\t\t\t{\n\t\t\t\tconst Vec4 centroid = (vertices[tri.vertices[0]] + vertices[tri.vertices[1]] + vertices[tri.vertices[2]]) / 3.0f;\n\n\t\t\t\tif (Dot(Vec3(centroid), splitPlane) < w)\n\t\t\t\t{\n\t\t\t\t\ttri.side = 1;\n\n\t\t\t\t\t++leftCount;\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\ttri.side = 0;\n\n\t\t\t\t\t++rightCount;\n\t\t\t\t}\n\n\t\t\t\tadjacentTris.push_back(int(i));\n\t\t\t\tfor (int v=0; v < 3; ++v)\n\t\t\t\t{\n\t\t\t\t\tif (std::find(adjacentVertices.begin(), adjacentVertices.end(), tri.vertices[v]) == adjacentVertices.end())\n\t\t\t\t\t{\n\t\t\t\t\t\tadjacentVertices.push_back(tri.vertices[v]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// if all tris on one side of split plane then do nothing\n\t\tif (leftCount == 0 || rightCount == 0)\n\t\t\treturn -1;\n\n\t\t// remap triangle indices\n\t\tfor (size_t i = 0; i < adjacentTris.size(); ++i)\n\t\t{\n\t\t\tconst int triIndex = adjacentTris[i];\n\n\t\t\tTriangle& tri = mTris[triIndex];\n\n\t\t\t// tris on the negative side of the split plane are assigned the new index\n\t\t\tif (tri.side == 0)\n\t\t\t{\n\t\t\t\tint v = tri.ReplaceVertex(index, newIndex);\n\n\t\t\t\tTriangleUpdate update;\n\t\t\t\tupdate.triangle = triIndex*3 + v;\n\t\t\t\tupdate.vertex = newIndex;\n\t\t\t\treplacements.push_back(update);\n\n\t\t\t\t// update edges and constraints\n\t\t\t\tfor (int e = 0; e < 3; ++e)\n\t\t\t\t{\n\t\t\t\t\tEdge& edge = mEdges[tri.edges[e]];\n\n\t\t\t\t\tif (edge.Contains(index))\n\t\t\t\t\t{\n\t\t\t\t\t\tbool exposed = false;\n\n\t\t\t\t\t\tif (edge.tris[0] != -1 && edge.tris[1] != -1)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tTriangle& t1 = mTris[edge.tris[0]];\n\t\t\t\t\t\t\tTriangle& t2 = mTris[edge.tris[1]];\n\n\t\t\t\t\t\t\t// Case 1: connected tris lie on opposite sides of the split plane\n\t\t\t\t\t\t\t// creating a new exposed edge, need to break bending constraint\n\t\t\t\t\t\t\t// and create new stretch constraint for exposed edge\n\t\t\t\t\t\t\tif (t1.side != t2.side)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t// create new edge\n\t\t\t\t\t\t\t\tEdge newEdge(edge.vertices[0], edge.vertices[1]);\n\t\t\t\t\t\t\t\tnewEdge.Replace(index, newIndex);\n\t\t\t\t\t\t\t\tnewEdge.AddTri(triIndex);\n\n\t\t\t\t\t\t\t\t// remove neighbor from old edge\n\t\t\t\t\t\t\t\tedge.RemoveTri(triIndex);\n\n\t\t\t\t\t\t\t\t// replace bending constraint with stretch constraint\n\t\t\t\t\t\t\t\tassert(edge.bendingConstraint != -1);\n\n\t\t\t\t\t\t\t\tnewEdge.stretchConstraint = edge.bendingConstraint;\n\n\t\t\t\t\t\t\t\tmConstraintIndices[newEdge.stretchConstraint * 2 + 0] = newEdge.vertices[0];\n\t\t\t\t\t\t\t\tmConstraintIndices[newEdge.stretchConstraint * 2 + 1] = newEdge.vertices[1];\n\t\t\t\t\t\t\t\tmConstraintCoefficients[newEdge.stretchConstraint] = mConstraintCoefficients[edge.stretchConstraint];\n\t\t\t\t\t\t\t\tmConstraintRestLengths[newEdge.stretchConstraint] = mConstraintRestLengths[edge.stretchConstraint];\n\n\t\t\t\t\t\t\t\tedge.bendingConstraint = -1;\n\n\t\t\t\t\t\t\t\t// don't access Edge& after this \n\t\t\t\t\t\t\t\ttri.ReplaceEdge(tri.edges[e], int(mEdges.size()));\n\t\t\t\t\t\t\t\tmEdges.push_back(newEdge);\n\n\t\t\t\t\t\t\t\texposed = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (!exposed)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t// Case 2: both tris on same side of split plane or boundary edge, simply remap edge and constraint\n\t\t\t\t\t\t\t// may have processed this edge already so check that it still contains old vertex\n\t\t\t\t\t\t\tedge.Replace(index, newIndex);\n\n\t\t\t\t\t\t\tconst int stretching = edge.stretchConstraint;\n\t\t\t\t\t\t\tif (mConstraintIndices[stretching * 2 + 0] == index)\n\t\t\t\t\t\t\t\tmConstraintIndices[stretching * 2 + 0] = newIndex;\n\t\t\t\t\t\t\telse if (mConstraintIndices[stretching * 2 + 1] == index)\n\t\t\t\t\t\t\t\tmConstraintIndices[stretching * 2 + 1] = newIndex;\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tassert(0);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\t// Case 3: tri is adjacent to split vertex but this edge is not connected to it\n\t\t\t\t\t\t// therefore there can be a bending constraint crossing this edge connected \n\t\t\t\t\t\t// to vertex that needs to be remapped\n\t\t\t\t\t\tconst int bending = edge.bendingConstraint;\n\n\t\t\t\t\t\tif (bending != -1)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif (mConstraintIndices[bending * 2 + 0] == index)\n\t\t\t\t\t\t\t\tmConstraintIndices[bending * 2 + 0] = newIndex;\n\t\t\t\t\t\t\telse if (mConstraintIndices[bending * 2 + 1] == index)\n\t\t\t\t\t\t\t\tmConstraintIndices[bending * 2 + 1] = newIndex;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t}\n\t\t}\n\n\t\t// output vertex copy\n\t\tVertexCopy copy;\n\t\tcopy.srcIndex = index;\n\t\tcopy.destIndex = newIndex;\n\n\t\tcopies.push_back(copy);\n\n\t\tmNumVertices++;\n\n\t\treturn newIndex;\n\t}\n\n\tstd::vector<int> mConstraintIndices;\n\tstd::vector<float> mConstraintCoefficients;\n\tstd::vector<float> mConstraintRestLengths;\n\n\tstd::vector<Edge> mEdges;\n\tstd::vector<Triangle> mTris;\n\t\n\tint mNumVertices;\n\n\tfloat mRestVolume;\n\tfloat mConstraintScale;\n\n\tbool mValid;\n};\n"
  },
  {
    "path": "core/convex.h",
    "content": "// This code contains NVIDIA Confidential Information and is disclosed to you\n// under a form of NVIDIA software license agreement provided separately to you.\n//\n// Notice\n// NVIDIA Corporation and its licensors retain all intellectual property and\n// proprietary rights in and to this software and related documentation and\n// any modifications thereto. Any use, reproduction, disclosure, or\n// distribution of this software and related documentation without an express\n// license agreement from NVIDIA Corporation is strictly prohibited.\n//\n// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED \"AS IS.\". NVIDIA MAKES\n// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO\n// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,\n// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.\n//\n// Information and code furnished is believed to be accurate and reliable.\n// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such\n// information or for any infringement of patents or other rights of third parties that may\n// result from its use. No license is granted by implication or otherwise under any patent\n// or patent rights of NVIDIA Corporation. Details are subject to change without notice.\n// This code supersedes and replaces all information previously supplied.\n// NVIDIA Corporation products are not authorized for use as critical\n// components in life support devices or systems without express written approval of\n// NVIDIA Corporation.\n//\n// Copyright (c) 2013-2020 NVIDIA Corporation. All rights reserved.\n\n#pragma once\n\n#include \"maths.h\"\n\n#include <vector>\n\n// Thanks to Christian Sigg for the convex mesh builder!\n\nstruct ConvexMeshBuilder\n{\n\tConvexMeshBuilder(const Vec4* planes)\n\t\t: mPlanes(planes)\n\t{}\n\n\tvoid operator()(uint32_t mask, float scale=1.0f);\n\n\tconst Vec4* mPlanes;\n\tstd::vector<Vec3> mVertices;\n\tstd::vector<uint16_t> mIndices;\n};\n\nnamespace\n{\n\tfloat det(Vec4 v0, Vec4 v1, Vec4 v2, Vec4 v3)\n\t{\n\t\tconst Vec3& d0 = reinterpret_cast<const Vec3&>(v0);\n\t\tconst Vec3& d1 = reinterpret_cast<const Vec3&>(v1);\n\t\tconst Vec3& d2 = reinterpret_cast<const Vec3&>(v2);\n\t\tconst Vec3& d3 = reinterpret_cast<const Vec3&>(v3);\n\n\t\treturn v0.w * Dot(Cross(d1,d2), d3)\n\t\t\t- v1.w * Dot(Cross(d0, d2), d3)\n\t\t\t+ v2.w * Dot(Cross(d0, d1), d3)\n\t\t\t- v3.w * Dot(Cross(d0, d1), d2);\n\t}\n\n\tVec3 intersect(Vec4 p0, Vec4 p1, Vec4 p2)\n\t{\n\t\tconst Vec3& d0 = reinterpret_cast<const Vec3&>(p0);\n\t\tconst Vec3& d1 = reinterpret_cast<const Vec3&>(p1);\n\t\tconst Vec3& d2 = reinterpret_cast<const Vec3&>(p2);\n\n\t\tVec3 r =  (p0.w * Cross(d1, d2) \n\t\t\t  + p1.w * Cross(d2, d0) \n\t\t\t  + p2.w * Cross(d0, d1))\n\t\t\t  / Dot(d0, Cross(d2,d1));\n\n\t\treturn Vec3(r.x, r.y, r.z);\t\t\n\t}\n\n\tconst uint16_t sInvalid = uint16_t(-1);\n\n\t// restriction: only supports a single patch per vertex.\n\tstruct HalfedgeMesh\n\t{\n\t\tstruct Halfedge\n\t\t{\n\t\t\tHalfedge(uint16_t vertex = sInvalid, uint16_t face = sInvalid, \n\t\t\t\tuint16_t next = sInvalid, uint16_t prev = sInvalid)\n\t\t\t\t: mVertex(vertex), mFace(face), mNext(next), mPrev(prev)\n\t\t\t{}\n\n\t\t\tuint16_t mVertex; // to\n\t\t\tuint16_t mFace; // left\n\t\t\tuint16_t mNext; // ccw\n\t\t\tuint16_t mPrev; // cw\n\t\t};\n\n\t\tHalfedgeMesh() : mNumTriangles(0) {}\n\n\t\tuint16_t findHalfedge(uint16_t v0, uint16_t v1)\n\t\t{\n\t\t\tuint16_t h = mVertices[v0], start = h;\n\t\t\twhile(h != sInvalid && mHalfedges[h].mVertex != v1)\n\t\t\t{\n\t\t\t\th = mHalfedges[h ^ 1].mNext;\n\t\t\t\tif(h == start) \n\t\t\t\t\treturn sInvalid;\n\t\t\t}\n\t\t\treturn h;\n\t\t}\n\n\t\tvoid connect(uint16_t h0, uint16_t h1)\n\t\t{\n\t\t\tmHalfedges[h0].mNext = h1;\n\t\t\tmHalfedges[h1].mPrev = h0;\n\t\t}\n\n\t\tvoid addTriangle(uint16_t v0, uint16_t v1, uint16_t v2)\n\t\t{\n\t\t\t// add new vertices\n\t\t\tuint16_t n = Max(v0, Max(v1, v2))+1;\n\t\t\tif(mVertices.size() < n)\n\t\t\t\tmVertices.resize(n, sInvalid);\n\n\t\t\t// collect halfedges, prev and next of triangle\n\t\t\tuint16_t verts[] = { v0, v1, v2 };\n\t\t\tuint16_t handles[3], prev[3], next[3];\n\t\t\tfor(uint16_t i=0; i<3; ++i)\n\t\t\t{\n\t\t\t\tuint16_t j = (i+1)%3;\n\t\t\t\tuint16_t h = findHalfedge(verts[i], verts[j]);\n\t\t\t\tif(h == sInvalid)\n\t\t\t\t{\n\t\t\t\t\t// add new edge\n\t\t\t\t\th = uint16_t(mHalfedges.size());\n\t\t\t\t\tmHalfedges.push_back(Halfedge(verts[j]));\n\t\t\t\t\tmHalfedges.push_back(Halfedge(verts[i]));\n\t\t\t\t}\n\t\t\t\thandles[i] = h;\n\t\t\t\tprev[i] = mHalfedges[h].mPrev;\n\t\t\t\tnext[i] = mHalfedges[h].mNext;\n\t\t\t}\n\n\t\t\t// patch connectivity\n\t\t\tfor(uint16_t i=0; i<3; ++i)\n\t\t\t{\n\t\t\t\tuint16_t j = (i+1)%3;\n\n\t\t\t\tmHalfedges[handles[i]].mFace = uint16_t(mFaces.size());\n\n\t\t\t\t// connect prev and next\n\t\t\t\tconnect(handles[i], handles[j]);\n\n\t\t\t\tif(next[j] == sInvalid) // new next edge, connect opposite\n\t\t\t\t\tconnect(handles[j]^1, next[i]!=sInvalid ? next[i] : handles[i]^1);\n\n\t\t\t\tif(prev[i] == sInvalid) // new prev edge, connect opposite\n\t\t\t\t\tconnect(prev[j]!=sInvalid ? prev[j] : handles[j]^1, handles[i]^1);\n\n\t\t\t\t// prev is boundary, update middle vertex\n\t\t\t\tif(mHalfedges[handles[i]^1].mFace == sInvalid)\n\t\t\t\t\tmVertices[verts[j]] = handles[i]^1;\n\t\t\t}\n\n\t\t\tassert(mNumTriangles < 0xffff);\n\t\t\tmFaces.push_back(handles[2]);\n\t\t\t++mNumTriangles;\n\t\t}\n\n\t\tuint16_t removeTriangle(uint16_t f)\n\t\t{\n\t\t\tuint16_t result = sInvalid;\n\n\t\t\tfor(uint16_t i=0, h = mFaces[f]; i<3; ++i)\n\t\t\t{\n\t\t\t\tuint16_t v0 = mHalfedges[h^1].mVertex;\n\t\t\t\tuint16_t v1 = mHalfedges[h].mVertex;\n\n\t\t\t\tmHalfedges[h].mFace = sInvalid;\n\n\t\t\t\tif(mHalfedges[h^1].mFace == sInvalid) // was boundary edge, remove\n\t\t\t\t{\n\t\t\t\t\tuint16_t v0Prev = mHalfedges[h  ].mPrev;\n\t\t\t\t\tuint16_t v0Next = mHalfedges[h^1].mNext;\n\t\t\t\t\tuint16_t v1Prev = mHalfedges[h^1].mPrev;\n\t\t\t\t\tuint16_t v1Next = mHalfedges[h  ].mNext;\n\n\t\t\t\t\t// update halfedge connectivity\n\t\t\t\t\tconnect(v0Prev, v0Next);\n\t\t\t\t\tconnect(v1Prev, v1Next);\n\n\t\t\t\t\t// update vertex boundary or delete\n\t\t\t\t\tmVertices[v0] = (v0Prev^1) == v0Next ? sInvalid : v0Next;\n\t\t\t\t\tmVertices[v1] = (v1Prev^1) == v1Next ? sInvalid : v1Next;\n\t\t\t\t} \n\t\t\t\telse \n\t\t\t\t{\n\t\t\t\t\tmVertices[v0] = h; // update vertex boundary\n\t\t\t\t\tresult = v1;\n\t\t\t\t}\n\n\t\t\t\th = mHalfedges[h].mNext;\n\t\t\t}\n\n\t\t\tmFaces[f] = sInvalid;\n\t\t\t--mNumTriangles;\n\n\t\t\treturn result;\n\t\t}\n\n\t\t// true if vertex v is in front of face f\n\t\tbool visible(uint16_t v, uint16_t f)\n\t\t{\n\t\t\tuint16_t h = mFaces[f];\n\t\t\tif(h == sInvalid)\n\t\t\t\treturn false;\n\n\t\t\tuint16_t v0 = mHalfedges[h].mVertex;\n\t\t\th = mHalfedges[h].mNext;\n\t\t\tuint16_t v1 = mHalfedges[h].mVertex;\n\t\t\th = mHalfedges[h].mNext;\n\t\t\tuint16_t v2 = mHalfedges[h].mVertex;\n\t\t\th = mHalfedges[h].mNext;\n\n\t\t\treturn det(mPoints[v], mPoints[v0], mPoints[v1], mPoints[v2]) < -1e-3f;\n\t\t}\n\n\t\t/*\n\t\tvoid print() const\n\t\t{\n\t\t\tfor(uint32_t i=0; i<mFaces.size(); ++i)\n\t\t\t{\n\t\t\t\tprintf(\"f%u: \", i);\n\t\t\t\tuint16_t h = mFaces[i];\n\t\t\t\tif(h == sInvalid)\n\t\t\t\t{\n\t\t\t\t\tprintf(\"deleted\\n\");\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tfor(int j=0; j<3; ++j)\n\t\t\t\t{\n\t\t\t\t\tprintf(\"h%u -> v%u -> \", uint32_t(h), uint32_t(mHalfedges[h].mVertex));\n\t\t\t\t\th = mHalfedges[h].mNext;\n\t\t\t\t}\n\n\t\t\t\tprintf(\"\\n\");\n\t\t\t}\n\n\t\t\tfor(uint32_t i=0; i<mVertices.size(); ++i)\n\t\t\t{\n\t\t\t\tprintf(\"v%u: \", i);\n\t\t\t\tuint16_t h = mVertices[i];\n\t\t\t\tif(h == sInvalid)\n\t\t\t\t{\n\t\t\t\t\tprintf(\"deleted\\n\");\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tuint16_t start = h;\n\t\t\t\tdo {\n\t\t\t\t\tprintf(\"h%u -> v%u, \", uint32_t(h), uint32_t(mHalfedges[h].mVertex));\n\t\t\t\t\th = mHalfedges[h^1].mNext;\n\t\t\t\t} while (h != start);\n\n\t\t\t\tprintf(\"\\n\");\n\t\t\t}\n\n\t\t\tfor(uint32_t i=0; i<mHalfedges.size(); ++i)\n\t\t\t{\n\t\t\t\tprintf(\"h%u: v%u, \", i, uint32_t(mHalfedges[i].mVertex));\n\n\t\t\t\tif(mHalfedges[i].mFace == sInvalid)\n\t\t\t\t\tprintf(\"boundary, \");\n\t\t\t\telse\n\t\t\t\t\tprintf(\"f%u, \", uint32_t(mHalfedges[i].mFace));\n\n\t\t\t\tprintf(\"p%u, n%u\\n\", uint32_t(mHalfedges[i].mPrev), uint32_t(mHalfedges[i].mNext));\n\t\t\t}\n\t\t}\n\t\t*/\n\n\t\tstd::vector<Halfedge> mHalfedges;\n\t\tstd::vector<uint16_t> mVertices; // vertex -> (boundary) halfedge\n\t\tstd::vector<uint16_t> mFaces; // face -> halfedge\n\t\tstd::vector<Vec4> mPoints;\n\t\tuint16_t mNumTriangles;\n\t};\n}\n\nvoid ConvexMeshBuilder::operator()(uint32_t numPlanes, float scale)\n{\n\n\tif(numPlanes < 4)\n\t\treturn; // todo: handle degenerate cases\n\n\tHalfedgeMesh mesh;\n\n\t// gather points (planes, that is)\n\tmesh.mPoints.reserve(numPlanes);\n\tfor(uint32_t i=0; i < numPlanes; ++i)\n\t\tmesh.mPoints.push_back(Vec4(mPlanes[i].x, mPlanes[i].y, mPlanes[i].z, mPlanes[i].w));\n\n\t// initialize to tetrahedron\n\tmesh.addTriangle(0, 1, 2);\n\tmesh.addTriangle(0, 3, 1);\n\tmesh.addTriangle(1, 3, 2);\n\tmesh.addTriangle(2, 3, 0);\n\n\t// flip if inside-out\n\tif(mesh.visible(3, 0))\n\t\tstd::swap(mesh.mPoints[0], mesh.mPoints[1]);\n\n\t// iterate through remaining points\n\tfor(uint16_t i=4; i<mesh.mPoints.size(); ++i)\n\t{\n\t\t// remove any visible triangle\n\t\tuint16_t v0 = sInvalid;\n\t\tfor(uint16_t j=0; j<mesh.mFaces.size(); ++j)\n\t\t{\n\t\t\tif(mesh.visible(i, j))\n\t\t\t\tv0 = Min(v0, mesh.removeTriangle(j));\n\t\t}\n\n\t\tif(v0 == sInvalid)\n\t\t\tcontinue; // no triangle removed\n\n\t\tif(!mesh.mNumTriangles)\n\t\t\treturn; // empty mesh\n\n\t\t// find non-deleted boundary vertex\n\t\tfor(uint16_t h=0; mesh.mVertices[v0] == sInvalid; h+=2)\n\t\t{\n\t\t\tif ((mesh.mHalfedges[h  ].mFace == sInvalid) ^ \n\t\t\t\t(mesh.mHalfedges[h+1].mFace == sInvalid))\n\t\t\t{\n\t\t\t\tv0 = mesh.mHalfedges[h].mVertex;\n\t\t\t}\n\t\t}\n\n\t\t// tesselate hole\n\t\tuint16_t start = v0;\n\t\tdo {\n\t\t\tuint16_t h = mesh.mVertices[v0];\n\t\t\tuint16_t v1 = mesh.mHalfedges[h].mVertex;\n\t\t\tmesh.addTriangle(v0, v1, i);\n\t\t\tv0 = v1;\n\t\t} while(v0 != start && mesh.mNumTriangles < 200);\n\n\t\tif (mesh.mNumTriangles == 200)\n\t\t{\n\t\t\treturn;\n\t\t}\n\t}\n\n\t// convert triangles to vertices (intersection of 3 planes)\n\tstd::vector<uint32_t> face2Vertex(mesh.mFaces.size());\n\tfor(uint32_t i=0; i<mesh.mFaces.size(); ++i)\n\t{\n\t\tface2Vertex[i] = uint32_t(mVertices.size());\n\n\t\tuint16_t h = mesh.mFaces[i];\n\t\tif(h == sInvalid)\n\t\t\tcontinue;\n\n\t\tuint16_t v0 = mesh.mHalfedges[h].mVertex;\n\t\th = mesh.mHalfedges[h].mNext;\n\t\tuint16_t v1 = mesh.mHalfedges[h].mVertex;\n\t\th = mesh.mHalfedges[h].mNext;\n\t\tuint16_t v2 = mesh.mHalfedges[h].mVertex;\n\n\t\tmVertices.push_back(intersect(mesh.mPoints[v0], mesh.mPoints[v1], mesh.mPoints[v2]));\n\t}\n\n\t// convert vertices to polygons (face one-ring)\n\tfor(uint32_t i=0; i<mesh.mVertices.size(); ++i)\n\t{\n\t\tuint16_t h = mesh.mVertices[i];\n\t\tif(h == sInvalid || mesh.mHalfedges[h].mFace == sInvalid)\n\t\t\tcontinue;\n\n\t\tuint16_t v0 = face2Vertex[mesh.mHalfedges[h].mFace];\n\t\th = mesh.mHalfedges[h].mPrev^1;\n\t\tif(h == sInvalid || mesh.mHalfedges[h].mFace == sInvalid)\n\t\t\tcontinue;\n\n\t\tuint16_t v1 = face2Vertex[mesh.mHalfedges[h].mFace];\n\n\t\twhile(mIndices.size() < 1000)\n\t\t{\n\t\t\th = mesh.mHalfedges[h].mPrev^1;\n\t\t\tif(h == sInvalid || mesh.mHalfedges[h].mFace == sInvalid)\n\t\t\t\tcontinue;\n\n\t\t\tuint16_t v2 = face2Vertex[mesh.mHalfedges[h].mFace];\n\n\t\t\tif(v0 == v2) \n\t\t\t\tbreak;\n\n\t\t\tmIndices.push_back(v0);\n\t\t\tmIndices.push_back(v2);\n\t\t\tmIndices.push_back(v1);\n\n\t\t\tv1 = v2; \n\t\t}\n\n\t}\n}\n"
  },
  {
    "path": "core/core.cpp",
    "content": "// This code contains NVIDIA Confidential Information and is disclosed to you\n// under a form of NVIDIA software license agreement provided separately to you.\n//\n// Notice\n// NVIDIA Corporation and its licensors retain all intellectual property and\n// proprietary rights in and to this software and related documentation and\n// any modifications thereto. Any use, reproduction, disclosure, or\n// distribution of this software and related documentation without an express\n// license agreement from NVIDIA Corporation is strictly prohibited.\n//\n// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED \"AS IS.\". NVIDIA MAKES\n// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO\n// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,\n// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.\n//\n// Information and code furnished is believed to be accurate and reliable.\n// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such\n// information or for any infringement of patents or other rights of third parties that may\n// result from its use. No license is granted by implication or otherwise under any patent\n// or patent rights of NVIDIA Corporation. Details are subject to change without notice.\n// This code supersedes and replaces all information previously supplied.\n// NVIDIA Corporation products are not authorized for use as critical\n// components in life support devices or systems without express written approval of\n// NVIDIA Corporation.\n//\n// Copyright (c) 2013-2020 NVIDIA Corporation. All rights reserved.\n\n#include \"core.h\"\n\n"
  },
  {
    "path": "core/core.h",
    "content": "// This code contains NVIDIA Confidential Information and is disclosed to you\n// under a form of NVIDIA software license agreement provided separately to you.\n//\n// Notice\n// NVIDIA Corporation and its licensors retain all intellectual property and\n// proprietary rights in and to this software and related documentation and\n// any modifications thereto. Any use, reproduction, disclosure, or\n// distribution of this software and related documentation without an express\n// license agreement from NVIDIA Corporation is strictly prohibited.\n//\n// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED \"AS IS.\". NVIDIA MAKES\n// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO\n// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,\n// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.\n//\n// Information and code furnished is believed to be accurate and reliable.\n// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such\n// information or for any infringement of patents or other rights of third parties that may\n// result from its use. No license is granted by implication or otherwise under any patent\n// or patent rights of NVIDIA Corporation. Details are subject to change without notice.\n// This code supersedes and replaces all information previously supplied.\n// NVIDIA Corporation products are not authorized for use as critical\n// components in life support devices or systems without express written approval of\n// NVIDIA Corporation.\n//\n// Copyright (c) 2013-2020 NVIDIA Corporation. All rights reserved.\n\n#pragma once\n\n#define ENABLE_VERBOSE_OUTPUT\t\t0\n#define ENABLE_APIC_CAPTURE\t\t\t0\n#define ENABLE_PERFALYZE_CAPTURE\t0\n\n#if ENABLE_VERBOSE_OUTPUT\n#define VERBOSE(a) a##;\n#else\n#define VERBOSE(a)\n#endif\n\n//#define Super __super\n\n// basically just a collection of macros and types\n#ifndef UNUSED\n#define UNUSED(x) (void)x;\n#endif\n\n#define NOMINMAX\n\n#if !PLATFORM_OPENCL\n#include <cassert>\n#endif\n\n#include \"types.h\"\n\n#if !PLATFORM_SPU && !PLATFORM_OPENCL\n#include <string>\n#include <iostream>\n#include <fstream>\n#include <algorithm>\n#include <functional>\n#endif\n\n// disable some warnings\n#if _WIN32\n#pragma warning(disable: 4996)  // secure io\n#pragma warning(disable: 4100)  // unreferenced param\n#pragma warning(disable: 4324)  // structure was padded due to __declspec(align())\n#endif\n\n// alignment helpers\n#define DEFAULT_ALIGNMENT 16\n\n#if PLATFORM_LINUX\n#define ALIGN_N(x) \n#define ENDALIGN_N(x) __attribute__ ((aligned (x)))\n#else\n#define ALIGN_N(x) __declspec(align(x))\n#define END_ALIGN_N(x)\n#endif\n\n#define ALIGN ALIGN_N(DEFAULT_ALIGNMENT)\n#define END_ALIGN END_ALIGN_N(DEFAULT_ALIGNMENT)\n\ninline bool IsPowerOfTwo(int n)\n{\n\treturn (n&(n-1))==0;\n}\n\n// align a ptr to a power of tow\ntemplate <typename T>\ninline T* AlignPtr(T* p, uint32_t alignment)\n{\n\tassert(IsPowerOfTwo(alignment));\n\n\t// cast to safe ptr type\n\tuintptr_t up = reinterpret_cast<uintptr_t>(p);\n\treturn (T*)((up+(alignment-1)) & ~(alignment-1));\n}\n\n// align an unsigned value to a power of two\ninline uint32_t Align(uint32_t val, uint32_t alignment)\n{\n\tassert(IsPowerOfTwo(alignment));\n\n\treturn (val+(alignment-1))& ~(alignment-1);\n}\n\ninline bool IsAligned(void* p, uint32_t alignment)\n{\n\treturn (((uintptr_t)p) & (alignment-1)) == 0;\n}\n\n// Endian helpers\ntemplate <typename T>\nT ByteSwap(const T& val)\n{\n\tT copy = val;\n\tuint8_t* p = reinterpret_cast<uint8_t*>(&copy);\n\t\n\tstd::reverse(p, p+sizeof(T));\n\n\treturn copy;\n}\n\n#ifndef LITTLE_ENDIAN\n#define LITTLE_ENDIAN WIN32\n#endif\n\n#ifndef BIG_ENDIAN\n#define BIG_ENDIAN PLATFORM_PS3 || PLATFORM_SPU\n#endif\n\n#if BIG_ENDIAN\n#define ToLittleEndian(x) ByteSwap(x)\n#else\n#define ToLittleEndian(x) x\n#endif\n\n//#include \"platform.h\"\n\n//#define sizeof_array(x) (sizeof(x)/sizeof(*x))\ntemplate <typename T, size_t N>\nsize_t sizeof_array(const T (&)[N])\n{\n\treturn N;\n}\n\n// functor designed for use in the stl\ntemplate <typename T>\nclass free_ptr : public std::unary_function<T*, void>\n{\npublic:\n\n\tvoid operator()(const T* ptr)\n\t{\n\t\tdelete ptr;\n\t}\n};\n"
  },
  {
    "path": "core/extrude.cpp",
    "content": "// This code contains NVIDIA Confidential Information and is disclosed to you\n// under a form of NVIDIA software license agreement provided separately to you.\n//\n// Notice\n// NVIDIA Corporation and its licensors retain all intellectual property and\n// proprietary rights in and to this software and related documentation and\n// any modifications thereto. Any use, reproduction, disclosure, or\n// distribution of this software and related documentation without an express\n// license agreement from NVIDIA Corporation is strictly prohibited.\n//\n// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED \"AS IS.\". NVIDIA MAKES\n// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO\n// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,\n// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.\n//\n// Information and code furnished is believed to be accurate and reliable.\n// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such\n// information or for any infringement of patents or other rights of third parties that may\n// result from its use. No license is granted by implication or otherwise under any patent\n// or patent rights of NVIDIA Corporation. Details are subject to change without notice.\n// This code supersedes and replaces all information previously supplied.\n// NVIDIA Corporation products are not authorized for use as critical\n// components in life support devices or systems without express written approval of\n// NVIDIA Corporation.\n//\n// Copyright (c) 2013-2020 NVIDIA Corporation. All rights reserved.\n\n#include \"maths.h\"\n\n#include <vector>\n\nvoid Extrude(const Vec3* points, int numPoints, std::vector<Vec3>& vertices, std::vector<Vec3>& normals, std::vector<int>& triangles, float radius, int resolution, int smoothing)\n{\n\tif (numPoints < 2)\n\t\treturn;\n\n\tVec3 u, v;\n\tVec3 w = SafeNormalize(Vec3(points[1]) - Vec3(points[0]), Vec3(0.0f, 1.0f, 0.0f));\n\n\tBasisFromVector(w, &u, &v);\n\n\tMatrix44 frame;\n\tframe.SetCol(0, Vec4(u.x, u.y, u.z, 0.0f));\n\tframe.SetCol(1, Vec4(v.x, v.y, v.z, 0.0f));\n\tframe.SetCol(2, Vec4(w.x, w.y, w.z, 0.0f));\n\tframe.SetCol(3, Vec4(0.0f, 0.0f, 0.0f, 1.0f));\n\n\tfor (int i = 0; i < numPoints - 1; ++i)\n\t{\n\t\tVec3 next;\n\n\t\tif (i < numPoints - 1)\n\t\t\tnext = Normalize(Vec3(points[i + 1]) - Vec3(points[i - 1]));\n\t\telse\n\t\t\tnext = Normalize(Vec3(points[i]) - Vec3(points[i - 1]));\n\n\t\tint a = Max(i - 1, 0);\n\t\tint b = i;\n\t\tint c = Min(i + 1, numPoints - 1);\n\t\tint d = Min(i + 2, numPoints - 1);\n\n\t\tVec3 p1 = Vec3(points[b]);\n\t\tVec3 p2 = Vec3(points[c]);\n\t\tVec3 m1 = 0.5f*(Vec3(points[c]) - Vec3(points[a]));\n\t\tVec3 m2 = 0.5f*(Vec3(points[d]) - Vec3(points[b]));\n\n\t\t// ensure last segment handled correctly\n\t\tint segments = (i < numPoints - 2) ? smoothing : smoothing + 1;\n\n\t\tfor (int s = 0; s < segments; ++s)\n\t\t{\n\t\t\tVec3 pos = HermiteInterpolate(p1, p2, m1, m2, s / float(smoothing));\n\t\t\tVec3 dir = Normalize(HermiteTangent(p1, p2, m1, m2, s / float(smoothing)));\n\n\t\t\tVec3 cur = frame.GetAxis(2);\n\t\t\tconst float angle = acosf(Dot(cur, dir));\n\n\t\t\t// if parallel then don't need to do anything\n\t\t\tif (fabsf(angle) > 0.001f)\n\t\t\t\tframe = RotationMatrix(angle, SafeNormalize(Cross(cur, dir)))*frame;\n\n\t\t\tsize_t startIndex = vertices.size();\n\n\t\t\tfor (int c = 0; c < resolution; ++c)\n\t\t\t{\n\t\t\t\tfloat angle = k2Pi / resolution;\n\n\t\t\t\t// transform position and normal to world space\n\t\t\t\tVec4 v = frame*Vec4(cosf(angle*c), sinf(angle*c), 0.0f, 0.0f);\n\n\t\t\t\tvertices.push_back(Vec3(v)*radius + pos);\n\t\t\t\tnormals.push_back(Vec3(v));\n\t\t\t}\n\n\t\t\t// output triangles\n\t\t\tif (startIndex != 0)\n\t\t\t{\n\t\t\t\tfor (int i = 0; i < resolution; ++i)\n\t\t\t\t{\n\t\t\t\t\tint curIndex = static_cast<int>(startIndex + i);\n\t\t\t\t\tint nextIndex = static_cast<int>(startIndex + (i + 1) % resolution);\n\n\t\t\t\t\ttriangles.push_back(curIndex);\n\t\t\t\t\ttriangles.push_back(curIndex - resolution);\n\t\t\t\t\ttriangles.push_back(nextIndex - resolution);\n\n\t\t\t\t\ttriangles.push_back(nextIndex - resolution);\n\t\t\t\t\ttriangles.push_back(nextIndex);\n\t\t\t\t\ttriangles.push_back(curIndex);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "core/extrude.h",
    "content": "// This code contains NVIDIA Confidential Information and is disclosed to you\n// under a form of NVIDIA software license agreement provided separately to you.\n//\n// Notice\n// NVIDIA Corporation and its licensors retain all intellectual property and\n// proprietary rights in and to this software and related documentation and\n// any modifications thereto. Any use, reproduction, disclosure, or\n// distribution of this software and related documentation without an express\n// license agreement from NVIDIA Corporation is strictly prohibited.\n//\n// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED \"AS IS.\". NVIDIA MAKES\n// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO\n// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,\n// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.\n//\n// Information and code furnished is believed to be accurate and reliable.\n// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such\n// information or for any infringement of patents or other rights of third parties that may\n// result from its use. No license is granted by implication or otherwise under any patent\n// or patent rights of NVIDIA Corporation. Details are subject to change without notice.\n// This code supersedes and replaces all information previously supplied.\n// NVIDIA Corporation products are not authorized for use as critical\n// components in life support devices or systems without express written approval of\n// NVIDIA Corporation.\n//\n// Copyright (c) 2013-2020 NVIDIA Corporation. All rights reserved.\n\n#pragma once\n\n#include <vector>\n\n#include \"maths.h\"\n\n// extrudes a circle along a Hermite curve defined by curvePoints, resolution is the number of circle segments, smoothing is the number of segments between points\nvoid Extrude(const Vec3* points, int numPoints, std::vector<Vec3>& positions, std::vector<Vec3>& normals, std::vector<int>& indices, float radius, int resolution, int smoothing);\n"
  },
  {
    "path": "core/mat22.h",
    "content": "// This code contains NVIDIA Confidential Information and is disclosed to you\n// under a form of NVIDIA software license agreement provided separately to you.\n//\n// Notice\n// NVIDIA Corporation and its licensors retain all intellectual property and\n// proprietary rights in and to this software and related documentation and\n// any modifications thereto. Any use, reproduction, disclosure, or\n// distribution of this software and related documentation without an express\n// license agreement from NVIDIA Corporation is strictly prohibited.\n//\n// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED \"AS IS.\". NVIDIA MAKES\n// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO\n// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,\n// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.\n//\n// Information and code furnished is believed to be accurate and reliable.\n// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such\n// information or for any infringement of patents or other rights of third parties that may\n// result from its use. No license is granted by implication or otherwise under any patent\n// or patent rights of NVIDIA Corporation. Details are subject to change without notice.\n// This code supersedes and replaces all information previously supplied.\n// NVIDIA Corporation products are not authorized for use as critical\n// components in life support devices or systems without express written approval of\n// NVIDIA Corporation.\n//\n// Copyright (c) 2013-2020 NVIDIA Corporation. All rights reserved.\n\n#pragma once\n\n#include \"maths.h\"\n\nstruct Matrix22\n{\n\tCUDA_CALLABLE Matrix22() {}\n\tCUDA_CALLABLE Matrix22(float a, float b, float c, float d)\n\t{\n\t\tcols[0] = Vec2(a, c);\n\t\tcols[1] = Vec2(b, d);\n\t}\n\n\tCUDA_CALLABLE Matrix22(const Vec2& c1, const Vec2& c2)\n\t{\n\t\tcols[0] = c1;\n\t\tcols[1] = c2;\n\t}\n\n\tCUDA_CALLABLE float operator()(int i, int j) const { return static_cast<const float*>(cols[j])[i]; }\n\tCUDA_CALLABLE float& operator()(int i, int j) { return static_cast<float*>(cols[j])[i]; }\n\n\tVec2 cols[2];\n\n\tstatic inline Matrix22 Identity() { static const Matrix22 sIdentity(Vec2(1.0f, 0.0f), Vec2(0.0f, 1.0f)); return sIdentity; }\n};\n\nCUDA_CALLABLE inline Matrix22 Multiply(float s, const Matrix22& m)\n{\n\tMatrix22 r = m;\n\tr.cols[0] *= s;\n\tr.cols[1] *= s;\t\n\treturn r;\n}\n\nCUDA_CALLABLE inline Matrix22 Multiply(const Matrix22& a, const Matrix22& b)\n{\n\tMatrix22 r;\n\tr.cols[0] = a.cols[0]*b.cols[0].x + a.cols[1]*b.cols[0].y;\n\tr.cols[1] = a.cols[0]*b.cols[1].x + a.cols[1]*b.cols[1].y;\n\treturn r;\n}\n\nCUDA_CALLABLE inline Matrix22 Add(const Matrix22& a, const Matrix22& b)\n{\n\treturn Matrix22(a.cols[0]+b.cols[0], a.cols[1]+b.cols[1]);\n}\n\nCUDA_CALLABLE inline Vec2 Multiply(const Matrix22& a, const Vec2& x)\n{\n\treturn a.cols[0]*x.x + a.cols[1]*x.y;\n}\n\nCUDA_CALLABLE inline Matrix22 operator*(float s, const Matrix22& a) { return Multiply(s, a); }\nCUDA_CALLABLE inline Matrix22 operator*(const Matrix22& a, float s) { return Multiply(s, a); }\nCUDA_CALLABLE inline Matrix22 operator*(const Matrix22& a, const Matrix22& b) { return Multiply(a, b); }\nCUDA_CALLABLE inline Matrix22 operator+(const Matrix22& a, const Matrix22& b) { return Add(a, b); }\nCUDA_CALLABLE inline Matrix22 operator-(const Matrix22& a, const Matrix22& b) { return Add(a, -1.0f*b); }\nCUDA_CALLABLE inline Matrix22& operator+=(Matrix22& a, const Matrix22& b) { a = a+b; return a; }\nCUDA_CALLABLE inline Matrix22& operator-=(Matrix22& a, const Matrix22& b) { a = a-b; return a; }\nCUDA_CALLABLE inline Matrix22& operator*=(Matrix22& a, float s) { a = a*s; return a; }\nCUDA_CALLABLE inline Vec2 operator*(const Matrix22& a, const Vec2& x) { return Multiply(a, x); }\n\nCUDA_CALLABLE inline float Determinant(const Matrix22& m)\n{\n\treturn m(0,0)*m(1,1)-m(1,0)*m(0,1);\n}\n\nCUDA_CALLABLE inline Matrix22 Inverse(const Matrix22& m, float& det)\n{\n\tdet = Determinant(m); \n\n\tif (fabsf(det) > FLT_EPSILON)\n\t{\n\t\tMatrix22 inv;\n\t\tinv(0,0) =  m(1,1);\n\t\tinv(1,1) =  m(0,0);\n\t\tinv(0,1) = -m(0,1);\n\t\tinv(1,0) = -m(1,0);\n\n\t\treturn Multiply(1.0f/det, inv);\t\n\t}\n\telse\n\t{\n\t\tdet = 0.0f;\n\t\treturn m;\n\t}\n}\n\nCUDA_CALLABLE inline Matrix22 Transpose(const Matrix22& a)\n{\n\tMatrix22 r;\n\tr(0,0) = a(0,0);\n\tr(0,1) = a(1,0);\n\tr(1,0) = a(0,1);\n\tr(1,1) = a(1,1);\n\treturn r;\n}\n\nCUDA_CALLABLE inline float Trace(const Matrix22& a)\n{\n\treturn a(0,0)+a(1,1);\n}\n\nCUDA_CALLABLE inline Matrix22 RotationMatrix(float theta)\n{\n\treturn Matrix22(Vec2(cosf(theta), sinf(theta)), Vec2(-sinf(theta), cosf(theta)));\n}\n\n// outer product of a and b, b is considered a row vector\nCUDA_CALLABLE inline Matrix22 Outer(const Vec2& a, const Vec2& b)\n{\n\treturn Matrix22(a*b.x, a*b.y);\n}\n\nCUDA_CALLABLE inline Matrix22 QRDecomposition(const Matrix22& m)\n{\n\tVec2 a = Normalize(m.cols[0]);\n\tMatrix22 q(a, PerpCCW(a)); \n\n\treturn q;\n}\n\nCUDA_CALLABLE inline Matrix22 PolarDecomposition(const Matrix22& m)\n{\n\t/*\n\t//iterative method\n\t \n\tfloat det;\n\tMatrix22 q = m;\n\n\tfor (int i=0; i < 4; ++i)\n\t{\n\t\tq = 0.5f*(q + Inverse(Transpose(q), det));\n\t}\n\t*/\t\n\n\tMatrix22 q = m + Matrix22(m(1,1), -m(1,0), -m(0,1), m(0,0));\n\n\tfloat s = Length(q.cols[0]);\n\tq.cols[0] /= s;\n\tq.cols[1] /= s;\n\n\treturn q;\n}\n\n\n"
  },
  {
    "path": "core/mat33.h",
    "content": "// This code contain\ts NVIDIA Confidential Information and is disclosed to you\n// under a form of NVIDIA software license agreement provided separately to you.\n//\n// Notice\n// NVIDIA Corporation and its licensors retain all intellectual property and\n// proprietary rights in and to this software and related documentation and\n// any modifications thereto. Any use, reproduction, disclosure, or\n// distribution of this software and related documentation without an express\n// license agreement from NVIDIA Corporation is strictly prohibited.\n//\n// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED \"AS IS.\". NVIDIA MAKES\n// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO\n// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,\n// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.\n//\n// Information and code furnished is believed to be accurate and reliable.\n// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such\n// information or for any infringement of patents or other rights of third parties that may\n// result from its use. No license is granted by implication or otherwise under any patent\n// or patent rights of NVIDIA Corporation. Details are subject to change without notice.\n// This code supersedes and replaces all information previously supplied.\n// NVIDIA Corporation products are not authorized for use as critical\n// components in life support devices or systems without express written approval of\n// NVIDIA Corporation.\n//\n// Copyright (c) 2013-2020 NVIDIA Corporation. All rights reserved.\n\n#pragma once\n\n#include \"maths.h\"\n\n#include \"quat.h\"\n#include \"vec3.h\"\n\nstruct Matrix33\n{\n\tCUDA_CALLABLE Matrix33() {}\n\tCUDA_CALLABLE Matrix33(const Vec3& c1, const Vec3& c2, const Vec3& c3)\n\t{\n\t\tcols[0] = c1;\n\t\tcols[1] = c2;\n\t\tcols[2] = c3;\n\t}\n\n\tCUDA_CALLABLE Matrix33(const Quat& q)\n\t{\n\t\tcols[0] = Rotate(q, Vec3(1.0f, 0.0f, 0.0f));\n\t\tcols[1] = Rotate(q, Vec3(0.0f, 1.0f, 0.0f));\n\t\tcols[2] = Rotate(q, Vec3(0.0f, 0.0f, 1.0f));\n\t}\n\n\tCUDA_CALLABLE float operator()(int i, int j) const { return static_cast<const float*>(cols[j])[i]; }\n\tCUDA_CALLABLE float& operator()(int i, int j) { return static_cast<float*>(cols[j])[i]; }\n\n\tVec3 cols[3];\n\n\tCUDA_CALLABLE static inline Matrix33 Identity() {  const Matrix33 sIdentity(Vec3(1.0f, 0.0f, 0.0f), Vec3(0.0f, 1.0f, 0.0f), Vec3(0.0f, 0.0f, 1.0f)); return sIdentity; }\n};\n\nCUDA_CALLABLE inline Matrix33 Multiply(float s, const Matrix33& m)\n{\n\tMatrix33 r = m;\n\tr.cols[0] *= s;\n\tr.cols[1] *= s;\t\n\tr.cols[2] *= s;\n\treturn r;\n}\n\nCUDA_CALLABLE inline Vec3 Multiply(const Matrix33& a, const Vec3& x)\n{\n\treturn a.cols[0]*x.x + a.cols[1]*x.y + a.cols[2]*x.z;\n}\n\nCUDA_CALLABLE inline Vec3 operator*(const Matrix33& a, const Vec3& x) { return Multiply(a, x); }\n\nCUDA_CALLABLE inline Matrix33 Multiply(const Matrix33& a, const Matrix33& b)\n{\n\tMatrix33 r;\n\tr.cols[0] = a*b.cols[0];\n\tr.cols[1] = a*b.cols[1];\n\tr.cols[2] = a*b.cols[2];\n\treturn r;\n}\n\nCUDA_CALLABLE inline Matrix33 Add(const Matrix33& a, const Matrix33& b)\n{\n\treturn Matrix33(a.cols[0]+b.cols[0], a.cols[1]+b.cols[1], a.cols[2]+b.cols[2]);\n}\n\nCUDA_CALLABLE inline float Determinant(const Matrix33& m)\n{\n\treturn Dot(m.cols[0], Cross(m.cols[1], m.cols[2]));\n}\n\nCUDA_CALLABLE inline Matrix33 Transpose(const Matrix33& a)\n{\n\tMatrix33 r;\n\tfor (uint32_t i=0; i < 3; ++i)\n\t\tfor(uint32_t j=0; j < 3; ++j)\n\t\t\tr(i, j) = a(j, i);\n\n\treturn r;\n}\n\nCUDA_CALLABLE inline float Trace(const Matrix33& a)\n{\n\treturn a(0,0)+a(1,1)+a(2,2);\n}\n\nCUDA_CALLABLE inline Matrix33 Outer(const Vec3& a, const Vec3& b)\n{\n\treturn Matrix33(a*b.x, a*b.y, a*b.z);\n}\n\nCUDA_CALLABLE inline Matrix33 Inverse(const Matrix33& a, bool& success)\n{\n\tfloat s = Determinant(a);\n\n\tconst float eps = 1.e-8f;\n\n\tif (fabsf(s) > eps)\n\t{\n\t\tMatrix33 b;\n\t\t\n\t\tb(0,0) = a(1,1)*a(2,2) - a(1,2)*a(2,1);      b(0,1) = a(0,2)*a(2,1) - a(0,1)*a(2,2);      b(0,2) = a(0,1)*a(1,2) - a(0,2)*a(1,1);\n\t\tb(1,0) = a(1,2)*a(2,0) - a(1,0)*a(2,2);      b(1,1) = a(0,0)*a(2,2) - a(0,2)*a(2,0);      b(1,2) = a(0,2)*a(1,0) - a(0,0)*a(1,2);\n\t\tb(2,0) = a(1,0)*a(2,1) - a(1,1)*a(2,0);      b(2,1) = a(0,1)*a(2,0) - a(0,0)*a(2,1);      b(2,2) = a(0,0)*a(1,1) - a(0,1)*a(1,0);\n\t\t\n\t\tsuccess = true;\n\n\t\treturn Multiply(1.0f/s, b);    \n\t}\n\telse\n\t{\n\t\tsuccess = false;\n\t\treturn Matrix33();\n\t}\n}\n\nCUDA_CALLABLE inline Matrix33 operator*(float s, const Matrix33& a) { return Multiply(s, a); }\nCUDA_CALLABLE inline Matrix33 operator*(const Matrix33& a, float s) { return Multiply(s, a); }\nCUDA_CALLABLE inline Matrix33 operator*(const Matrix33& a, const Matrix33& b) { return Multiply(a, b); }\nCUDA_CALLABLE inline Matrix33 operator+(const Matrix33& a, const Matrix33& b) { return Add(a, b); }\nCUDA_CALLABLE inline Matrix33 operator-(const Matrix33& a, const Matrix33& b) { return Add(a, -1.0f*b); }\nCUDA_CALLABLE inline Matrix33& operator+=(Matrix33& a, const Matrix33& b) { a = a+b; return a; }\nCUDA_CALLABLE inline Matrix33& operator-=(Matrix33& a, const Matrix33& b) { a = a-b; return a; }\nCUDA_CALLABLE inline Matrix33& operator*=(Matrix33& a, float s) { a.cols[0]*=s; a.cols[1]*=s; a.cols[2]*=s;  return a; }\n\ntemplate <typename T>\nCUDA_CALLABLE inline XQuat<T>::XQuat(const Matrix33& m)\n{\n\tfloat tr = m(0, 0) + m(1, 1) + m(2, 2), h;\n\tif(tr >= 0)\n\t{\n\t\th = sqrtf(tr + 1);\n\t\tw = 0.5f * h;\n\t\th = 0.5f / h;\n\n\t\tx = (m(2, 1) - m(1, 2)) * h;\n\t\ty = (m(0, 2) - m(2, 0)) * h;\n\t\tz = (m(1, 0) - m(0, 1)) * h;\n\t}\n\telse\n\t{\n\t\tunsigned int i = 0;\n\t\tif(m(1, 1) > m(0, 0))\n\t\t\ti = 1;\n\t\tif(m(2, 2) > m(i, i))\n\t\t\ti = 2;\n\t\tswitch(i)\n\t\t{\n\t\tcase 0:\n\t\t\th = sqrtf((m(0, 0) - (m(1, 1) + m(2, 2))) + 1);\n\t\t\tx = 0.5f * h;\n\t\t\th = 0.5f / h;\n\n\t\t\ty = (m(0, 1) + m(1, 0)) * h;\n\t\t\tz = (m(2, 0) + m(0, 2)) * h;\n\t\t\tw = (m(2, 1) - m(1, 2)) * h;\n\t\t\tbreak;\n\t\tcase 1:\n\t\t\th = sqrtf((m(1, 1) - (m(2, 2) + m(0, 0))) + 1);\n\t\t\ty = 0.5f * h;\n\t\t\th = 0.5f / h;\n\n\t\t\tz = (m(1, 2) + m(2, 1)) * h;\n\t\t\tx = (m(0, 1) + m(1, 0)) * h;\n\t\t\tw = (m(0, 2) - m(2, 0)) * h;\n\t\t\tbreak;\n\t\tcase 2:\n\t\t\th = sqrtf((m(2, 2) - (m(0, 0) + m(1, 1))) + 1);\n\t\t\tz = 0.5f * h;\n\t\t\th = 0.5f / h;\n\n\t\t\tx = (m(2, 0) + m(0, 2)) * h;\n\t\t\ty = (m(1, 2) + m(2, 1)) * h;\n\t\t\tw = (m(1, 0) - m(0, 1)) * h;\n\t\t\tbreak;\n\t\tdefault: // Make compiler happy\n\t\t\tx = y = z = w = 0;\n\t\t\tbreak;\n\t\t}\n\t}\n}\n\n"
  },
  {
    "path": "core/mat44.h",
    "content": "// This code contains NVIDIA Confidential Information and is disclosed to you\n// under a form of NVIDIA software license agreement provided separately to you.\n//\n// Notice\n// NVIDIA Corporation and its licensors retain all intellectual property and\n// proprietary rights in and to this software and related documentation and\n// any modifications thereto. Any use, reproduction, disclosure, or\n// distribution of this software and related documentation without an express\n// license agreement from NVIDIA Corporation is strictly prohibited.\n//\n// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED \"AS IS.\". NVIDIA MAKES\n// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO\n// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,\n// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.\n//\n// Information and code furnished is believed to be accurate and reliable.\n// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such\n// information or for any infringement of patents or other rights of third parties that may\n// result from its use. No license is granted by implication or otherwise under any patent\n// or patent rights of NVIDIA Corporation. Details are subject to change without notice.\n// This code supersedes and replaces all information previously supplied.\n// NVIDIA Corporation products are not authorized for use as critical\n// components in life support devices or systems without express written approval of\n// NVIDIA Corporation.\n//\n// Copyright (c) 2013-2020 NVIDIA Corporation. All rights reserved.\n\n#pragma once\n\n// stores column vectors in column major order\ntemplate <typename T>\nclass XMatrix44\n{\npublic:\n\n\tCUDA_CALLABLE XMatrix44() { memset(columns, 0, sizeof(columns)); }\n\tCUDA_CALLABLE XMatrix44(const T* d) { assert(d); memcpy(columns, d, sizeof(*this)); }\n\tCUDA_CALLABLE XMatrix44(T c11, T c21, T c31, T c41,\n\t\t\t\t T c12, T c22, T c32, T c42,\n\t\t\t    T c13, T c23, T c33, T c43,\n\t\t\t\t T c14, T c24, T c34, T c44)\n\t{\n\t\tcolumns[0][0] = c11;\n\t\tcolumns[0][1] = c21;\n\t\tcolumns[0][2] = c31;\n\t\tcolumns[0][3] = c41;\n\n\t\tcolumns[1][0] = c12;\n\t\tcolumns[1][1] = c22;\n\t\tcolumns[1][2] = c32;\n\t\tcolumns[1][3] = c42;\n\n\t\tcolumns[2][0] = c13;\n\t\tcolumns[2][1] = c23;\n\t\tcolumns[2][2] = c33;\n\t\tcolumns[2][3] = c43;\n\n\t\tcolumns[3][0] = c14;\n\t\tcolumns[3][1] = c24;\n\t\tcolumns[3][2] = c34;\n\t\tcolumns[3][3] = c44;\n\t}\n\n\tCUDA_CALLABLE XMatrix44(const Vec4& c1, const Vec4& c2, const Vec4& c3, const Vec4& c4)\n\t{\n\t\tcolumns[0][0] = c1.x;\n\t\tcolumns[0][1] = c1.y;\n\t\tcolumns[0][2] = c1.z;\n\t\tcolumns[0][3] = c1.w;\n\n\t\tcolumns[1][0] = c2.x;\n\t\tcolumns[1][1] = c2.y;\n\t\tcolumns[1][2] = c2.z;\n\t\tcolumns[1][3] = c2.w;\n\n\t\tcolumns[2][0] = c3.x;\n\t\tcolumns[2][1] = c3.y;\n\t\tcolumns[2][2] = c3.z;\n\t\tcolumns[2][3] = c3.w;\n\n\t\tcolumns[3][0] = c4.x;\n\t\tcolumns[3][1] = c4.y;\n\t\tcolumns[3][2] = c4.z;\n\t\tcolumns[3][3] = c4.w;\n\t}\n\n\tCUDA_CALLABLE operator T* () { return &columns[0][0]; }\n\tCUDA_CALLABLE operator const T* () const { return &columns[0][0]; }\n\n\t// right multiply\n\tCUDA_CALLABLE XMatrix44<T> operator * (const XMatrix44<T>& rhs) const\n\t{\n\t\tXMatrix44<T> r;\n\t\tMatrixMultiply(*this, rhs, r);\n\t\treturn r;\n\t}\n\n\t// right multiply\n\tCUDA_CALLABLE XMatrix44<T>& operator *= (const XMatrix44<T>& rhs)\n\t{\n\t\tXMatrix44<T> r;\n\t\tMatrixMultiply(*this, rhs, r);\n\t\t*this = r;\n\n\t\treturn *this;\n\t}\n\n\t// scalar multiplication\n\tCUDA_CALLABLE XMatrix44<T>& operator *= (const T& s)\n\t{\n\t\tfor (int c=0; c < 4; ++c)\n\t\t{\n\t\t\tfor (int r=0; r < 4; ++r)\n\t\t\t{\n\t\t\t\tcolumns[c][r] *= s;\n\t\t\t}\n\t\t}\n\n\t\treturn *this;\n\t}\n\n\tCUDA_CALLABLE void MatrixMultiply(const T* __restrict lhs, const T* __restrict rhs, T* __restrict result) const\n\t{\n\t\tassert(lhs != rhs);\n\t\tassert(lhs != result);\n\t\tassert(rhs != result);\n\t\t\n\t\tfor (int i=0; i < 4; ++i)\n\t\t{\n\t\t\tfor (int j=0; j < 4; ++j)\n\t\t\t{\n\t\t\t\tresult[j*4+i]  = rhs[j*4+0]*lhs[i+0]; \n\t\t\t\tresult[j*4+i] += rhs[j*4+1]*lhs[i+4];\n\t\t\t\tresult[j*4+i] += rhs[j*4+2]*lhs[i+8];\n\t\t\t\tresult[j*4+i] += rhs[j*4+3]*lhs[i+12];\n\t\t\t}\n\t\t}\n\t}\t\n\n\tCUDA_CALLABLE void SetCol(int index, const Vec4& c)\n\t{\n\t\tcolumns[index][0] = c.x;\n\t\tcolumns[index][1] = c.y;\n\t\tcolumns[index][2] = c.z;\n\t\tcolumns[index][3] = c.w;\n\t}\n\n\t// convenience overloads\n\tCUDA_CALLABLE void SetAxis(uint32_t index, const XVector3<T>& a)\n\t{\n\t\tcolumns[index][0] = a.x;\n\t\tcolumns[index][1] = a.y;\n\t\tcolumns[index][2] = a.z;\n\t\tcolumns[index][3] = 0.0f;\n\t}\n\n\tCUDA_CALLABLE void SetTranslation(const Point3& p)\n\t{\n\t\tcolumns[3][0] = p.x;\t\n\t\tcolumns[3][1] = p.y;\n\t\tcolumns[3][2] = p.z;\n\t\tcolumns[3][3] = 1.0f;\n\t}\n\n\tCUDA_CALLABLE const Vec3& GetAxis(int i) const { return *reinterpret_cast<const Vec3*>(&columns[i]); }\n\tCUDA_CALLABLE const Vec4& GetCol(int i) const { return *reinterpret_cast<const Vec4*>(&columns[i]); }\n\tCUDA_CALLABLE const Point3& GetTranslation() const { return *reinterpret_cast<const Point3*>(&columns[3]); }\n\n\tCUDA_CALLABLE Vec4 GetRow(int i) const { return Vec4(columns[0][i], columns[1][i], columns[2][i], columns[3][i]); }\n\n\tfloat columns[4][4];\n\n\tstatic XMatrix44<T> kIdentity;\n\n};\n\n// right multiply a point assumes w of 1\ntemplate <typename T>\nCUDA_CALLABLE Point3 Multiply(const XMatrix44<T>& mat, const Point3& v)\n{\n\tPoint3 r;\n\tr.x = v.x*mat[0] + v.y*mat[4] + v.z*mat[8] + mat[12];\n\tr.y = v.x*mat[1] + v.y*mat[5] + v.z*mat[9] + mat[13];\n\tr.z = v.x*mat[2] + v.y*mat[6] + v.z*mat[10] + mat[14];\n\n\treturn r;\n}\n\n// right multiply a vector3 assumes a w of 0\ntemplate <typename T>\nCUDA_CALLABLE XVector3<T> Multiply(const XMatrix44<T>& mat, const XVector3<T>& v)\n{\n\tXVector3<T> r;\n\tr.x = v.x*mat[0] + v.y*mat[4] + v.z*mat[8];\n\tr.y = v.x*mat[1] + v.y*mat[5] + v.z*mat[9];\n\tr.z = v.x*mat[2] + v.y*mat[6] + v.z*mat[10];\n\n\treturn r;\n}\n\n// right multiply a vector4\ntemplate <typename T>\nCUDA_CALLABLE XVector4<T> Multiply(const XMatrix44<T>& mat, const XVector4<T>& v)\n{\n\tXVector4<T> r;\n\tr.x = v.x*mat[0] + v.y*mat[4] + v.z*mat[8] + v.w*mat[12];\n\tr.y = v.x*mat[1] + v.y*mat[5] + v.z*mat[9] + v.w*mat[13];\n\tr.z = v.x*mat[2] + v.y*mat[6] + v.z*mat[10] + v.w*mat[14];\n\tr.w = v.x*mat[3] + v.y*mat[7] + v.z*mat[11] + v.w*mat[15];\n\n\treturn r;\n}\n\ntemplate <typename T>\nCUDA_CALLABLE Point3 operator*(const XMatrix44<T>& mat, const Point3& v)\n{\n\treturn Multiply(mat, v);\n}\n\ntemplate <typename T>\nCUDA_CALLABLE XVector4<T> operator*(const XMatrix44<T>& mat, const XVector4<T>& v)\n{\n\treturn Multiply(mat, v);\n}\n\ntemplate <typename T>\nCUDA_CALLABLE XVector3<T> operator*(const XMatrix44<T>& mat, const XVector3<T>& v)\n{\n\treturn Multiply(mat, v);\n}\n\ntemplate<typename T>\nCUDA_CALLABLE inline XMatrix44<T> Transpose(const XMatrix44<T>& m)\n{\n\tXMatrix44<float> inv;\n\n\t// transpose\n\tfor (uint32_t c=0; c < 4; ++c)\n\t{\n\t\tfor (uint32_t r=0; r < 4; ++r)\n\t\t{\n\t\t\tinv.columns[c][r] = m.columns[r][c];\n\t\t}\n\t}\n\n\treturn inv;\n}\n\ntemplate <typename T>\nCUDA_CALLABLE XMatrix44<T> AffineInverse(const XMatrix44<T>& m)\n{\n\tXMatrix44<T> inv;\n\t\n\t// transpose upper 3x3\n\tfor (int c=0; c < 3; ++c)\n\t{\n\t\tfor (int r=0; r < 3; ++r)\n\t\t{\n\t\t\tinv.columns[c][r] = m.columns[r][c];\n\t\t}\n\t}\n\t\n\t// multiply -translation by upper 3x3 transpose\n\tinv.columns[3][0] = -Dot3(m.columns[3], m.columns[0]);\n\tinv.columns[3][1] = -Dot3(m.columns[3], m.columns[1]);\n\tinv.columns[3][2] = -Dot3(m.columns[3], m.columns[2]);\n\tinv.columns[3][3] = 1.0f;\n\n\treturn inv;\t\n}\n\nCUDA_CALLABLE inline XMatrix44<float> Outer(const Vec4& a, const Vec4& b)\n{\n\treturn XMatrix44<float>(a*b.x, a*b.y, a*b.z, a*b.w);\n}\n\n// convenience\ntypedef XMatrix44<float> Mat44;\ntypedef XMatrix44<float> Matrix44;\n\n"
  },
  {
    "path": "core/maths.cpp",
    "content": "// This code contains NVIDIA Confidential Information and is disclosed to you\n// under a form of NVIDIA software license agreement provided separately to you.\n//\n// Notice\n// NVIDIA Corporation and its licensors retain all intellectual property and\n// proprietary rights in and to this software and related documentation and\n// any modifications thereto. Any use, reproduction, disclosure, or\n// distribution of this software and related documentation without an express\n// license agreement from NVIDIA Corporation is strictly prohibited.\n//\n// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED \"AS IS.\". NVIDIA MAKES\n// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO\n// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,\n// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.\n//\n// Information and code furnished is believed to be accurate and reliable.\n// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such\n// information or for any infringement of patents or other rights of third parties that may\n// result from its use. No license is granted by implication or otherwise under any patent\n// or patent rights of NVIDIA Corporation. Details are subject to change without notice.\n// This code supersedes and replaces all information previously supplied.\n// NVIDIA Corporation products are not authorized for use as critical\n// components in life support devices or systems without express written approval of\n// NVIDIA Corporation.\n//\n// Copyright (c) 2013-2020 NVIDIA Corporation. All rights reserved.\n\n#include \"maths.h\"\n\nuint32_t seed1;\nuint32_t seed2;\n\nvoid RandInit()\n{\n\tseed1 = 315645664;\n\tseed2 = seed1 ^ 0x13ab45fe;\n}\n\nstatic float s_identity[4][4] = { { 1.0f, 0.0f, 0.0f, 0.0f },\n{ 0.0f, 1.0f, 0.0f, 0.0f },\n{ 0.0f, 0.0f, 1.0f, 0.0f },\n{ 0.0f, 0.0f, 0.0f, 1.0f } };\n\ntemplate <>\nXMatrix44<float> XMatrix44<float>::kIdentity(s_identity[0]);\n\n\nColour::Colour(Colour::Preset p)\n{\n\tswitch (p)\n\t{\n\tcase kRed:\n\t\t*this = Colour(1.0f, 0.0f, 0.0f);\n\t\tbreak;\n\tcase kGreen:\n\t\t*this = Colour(0.0f, 1.0f, 0.0f);\n\t\tbreak;\n\tcase kBlue:\n\t\t*this = Colour(0.0f, 0.0f, 1.0f);\n\t\tbreak;\n\tcase kWhite:\n\t\t*this = Colour(1.0f, 1.0f, 1.0f);\n\t\tbreak;\n\tcase kBlack:\n\t\t*this = Colour(0.0f, 0.0f, 0.0f);\n\t\tbreak;\n\t};\n}\n"
  },
  {
    "path": "core/maths.h",
    "content": "// This code contains NVIDIA Confidential Information and is disclosed to you\n// under a form of NVIDIA software license agreement provided separately to you.\n//\n// Notice\n// NVIDIA Corporation and its licensors retain all intellectual property and\n// proprietary rights in and to this software and related documentation and\n// any modifications thereto. Any use, reproduction, disclosure, or\n// distribution of this software and related documentation without an express\n// license agreement from NVIDIA Corporation is strictly prohibited.\n//\n// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED \"AS IS.\". NVIDIA MAKES\n// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO\n// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,\n// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.\n//\n// Information and code furnished is believed to be accurate and reliable.\n// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such\n// information or for any infringement of patents or other rights of third parties that may\n// result from its use. No license is granted by implication or otherwise under any patent\n// or patent rights of NVIDIA Corporation. Details are subject to change without notice.\n// This code supersedes and replaces all information previously supplied.\n// NVIDIA Corporation products are not authorized for use as critical\n// components in life support devices or systems without express written approval of\n// NVIDIA Corporation.\n//\n// Copyright (c) 2013-2020 NVIDIA Corporation. All rights reserved.\n\n#pragma once\n\n#include <cmath>\n#include <float.h>\n#include <cassert>\n#include <string.h>\n\n#include \"core.h\"\n#include \"types.h\"\n\n#ifdef __CUDACC__\n#define CUDA_CALLABLE __host__ __device__\n#else\n#define CUDA_CALLABLE\n#endif\n\nconst float kPi = 3.141592653589f;\nconst float k2Pi = 2.0f*kPi;\nconst float kInvPi = 1.0f/kPi;\nconst float kInv2Pi = 0.5f/kPi;\nconst float kDegToRad = kPi/180.0f;\nconst float kRadToDeg = 180.0f/kPi;\n\nCUDA_CALLABLE inline float DegToRad(float t)\n{\n\treturn t * kDegToRad;\n}\n\nCUDA_CALLABLE inline float RadToDeg(float t)\n{\n\treturn t * kRadToDeg;\n}\n\nCUDA_CALLABLE inline float Sin(float theta)\n{\n\treturn sinf(theta);\n}\n\nCUDA_CALLABLE inline float Cos(float theta)\n{\n\treturn cosf(theta);\n}\n\nCUDA_CALLABLE inline void SinCos(float theta, float& s, float& c)\n{\n\t// no optimizations yet\n\ts = sinf(theta);\n\tc = cosf(theta);\n}\n\nCUDA_CALLABLE inline float Tan(float theta)\n{\n\treturn tanf(theta);\n}\n\nCUDA_CALLABLE inline float Sqrt(float x)\n{\n\treturn sqrtf(x);\n}\n\nCUDA_CALLABLE inline double Sqrt(double x)\n{\n\treturn sqrt(x);\n}\n\nCUDA_CALLABLE inline float ASin(float theta)\n{\n\treturn asinf(theta);\n}\n\nCUDA_CALLABLE inline float ACos(float theta)\n{\n\treturn acosf(theta);\n}\n\nCUDA_CALLABLE inline float ATan(float theta)\n{\n\treturn atanf(theta);\n}\n\nCUDA_CALLABLE inline float ATan2(float x, float y)\n{\n\treturn atan2f(x, y);\n}\n\nCUDA_CALLABLE inline float Abs(float x)\n{\n\treturn fabsf(x);\n}\n\nCUDA_CALLABLE inline float Pow(float b, float e)\n{\n\treturn powf(b, e);\n}\n\nCUDA_CALLABLE inline float Sgn(float x)\n{\n\treturn (x < 0.0f ? -1.0f : 1.0f);\n}\n\nCUDA_CALLABLE inline float Sign(float x)\n{\n\treturn x < 0.0f ? -1.0f : 1.0f;\n}\n\nCUDA_CALLABLE inline double Sign(double x)\n{\n\treturn x < 0.0f ? -1.0f : 1.0f;\n}\n\nCUDA_CALLABLE inline float Mod(float x, float y)\n{\n\treturn fmod(x, y);\n}\n\ntemplate <typename T>\nCUDA_CALLABLE inline T Min(T a, T b)\n{\n\treturn a < b ? a : b;\n}\n\ntemplate <typename T>\nCUDA_CALLABLE inline T Max(T a, T b)\n{\n\treturn a > b ? a : b;\n}\n\ntemplate <typename T> \nCUDA_CALLABLE inline void Swap(T& a, T& b)\n{\n\tT tmp = a;\n\ta = b;\n\tb = tmp;\n}\n\ntemplate <typename T>\nCUDA_CALLABLE inline T Clamp(T a, T low, T high)\n{\n\tif (low > high)\n\t\tSwap(low, high);\n\t\n\treturn Max(low, Min(a, high));\n}\n\ntemplate <typename V, typename T> \nCUDA_CALLABLE inline V Lerp(const V& start, const V& end, const T& t)\n{\n\treturn start + (end-start)*t;\n}\n\nCUDA_CALLABLE inline float InvSqrt(float x)\n{\n\treturn 1.0f / sqrtf(x);\n}\n\n// round towards +infinity\nCUDA_CALLABLE inline int Round(float f)\n{\n\treturn int(f+0.5f);\n}\n\ntemplate <typename T>\nCUDA_CALLABLE T Normalize(const T& v)\n{\n\tT a(v);\n\ta /= Length(v);\n\treturn a;\n}\n\ntemplate <typename T>\nCUDA_CALLABLE inline typename T::value_type LengthSq(const T v)\n{\n\treturn Dot(v,v);\n}\n\ntemplate <typename T>\nCUDA_CALLABLE inline typename T::value_type Length(const T& v)\n{\n\ttypename T::value_type lSq = LengthSq(v);\n\tif (lSq)\n\t\treturn Sqrt(LengthSq(v));\n\telse\n\t\treturn 0.0f;\n}\n\n// this is mainly a helper function used by script\ntemplate <typename T>\nCUDA_CALLABLE inline typename T::value_type Distance(const T& v1, const T& v2)\n{\n\treturn Length(v1-v2);\n}\n\ntemplate <typename T>\nCUDA_CALLABLE inline T SafeNormalize(const T& v, const T& fallback=T())\n{\n\tfloat l = LengthSq(v);\n\tif (l > 0.0f)\n\t{\n\t\treturn v * InvSqrt(l);\n\t}\n\telse\n\t\treturn fallback;\n}\n\ntemplate <typename T>\nCUDA_CALLABLE inline T Sqr(T x) { return x*x; }\n\ntemplate <typename T>\nCUDA_CALLABLE inline T Cube(T x) { return x*x*x; }\n\n#include \"vec2.h\"\n#include \"vec3.h\"\n#include \"vec4.h\"\n#include \"quat.h\"\n#include \"point3.h\"\n#include \"mat22.h\"\n#include \"mat33.h\"\n#include \"mat44.h\"\n#include \"matnn.h\"\n\n// represents a plane in the form ax + by + cz - d = 0\nclass Plane : public Vec4\n{\npublic:\n\n\tCUDA_CALLABLE inline Plane() {}\n\tCUDA_CALLABLE inline Plane(float x, float y, float z, float w) : Vec4(x, y, z, w) {}\n\tCUDA_CALLABLE inline Plane(const Vec3& p, const Vector3& n)\n\t{\n\t\tx = n.x;\n\t\ty = n.y;\n\t\tz = n.z;\n\t\tw = -Dot3(p, n);\n\t}\n\n\tCUDA_CALLABLE inline Vec3 GetNormal() const { return Vec3(x, y, z); }\n\tCUDA_CALLABLE inline Vec3 GetPoint() const { return Vec3(x*-w, y*-w, z*-w); }\n\n\tCUDA_CALLABLE inline Plane(const Vec3& v) : Vec4(v.x, v.y, v.z, 1.0f) {}\n\tCUDA_CALLABLE inline Plane(const Vec4& v) : Vec4(v) {}\n};\n\ntemplate <typename T>\nCUDA_CALLABLE inline T Dot(const XVector4<T>& v1, const XVector4<T>& v2)\n{\n\treturn v1.x*v2.x + v1.y*v2.y + v1.z*v2.z + v1.w*v2.w;\n}\n\n// helper function that assumes a w of 0\nCUDA_CALLABLE inline float Dot(const Plane& p, const Vector3& v)\n{\n\treturn p.x*v.x + p.y*v.y + p.z*v.z;\n}\n\nCUDA_CALLABLE inline float Dot(const Vector3& v, const Plane& p)\n{\n\treturn Dot(p, v);\n}\n\n// helper function that assumes a w of 1\nCUDA_CALLABLE inline float Dot(const Plane& p, const Point3& v)\n{\n\treturn p.x*v.x + p.y*v.y + p.z*v.z + p.w;\n}\n\n// ensures that the normal component of the plane is unit magnitude\nCUDA_CALLABLE inline Vec4 NormalizePlane(const Vec4& p)\n{\n\tfloat l = Length(Vec3(p));\n\n\treturn (1.0f/l)*p;\n}\n\n//----------------------------------------------------------------------------\ninline float RandomUnit()\n{\n\tfloat r = (float)rand();\n\tr /= RAND_MAX;\n\treturn r;\n}\n\n// Random number in range [-1,1]\ninline float RandomSignedUnit()\n{\n\tfloat r = (float)rand();\n\tr /= RAND_MAX;\n\tr = 2.0f * r - 1.0f;\n\treturn r;\n}\n\ninline float Random(float lo, float hi)\n{\n\tfloat r = (float)rand();\n\tr /= RAND_MAX;\n\tr = (hi - lo) * r + lo;\n\treturn r;\n}\n\nextern uint32_t seed1;\nextern uint32_t seed2;\n\nvoid RandInit();\n\n// random number generator\ninline uint32_t Rand()\n{\n\tseed1 = ( seed2 ^ ( ( seed1 << 5 ) | ( seed1 >> 27 ) ) ) ^ ( seed1*seed2 );\n\tseed2 = seed1 ^ ( ( seed2 << 12 ) | ( seed2 >> 20 ) );\n\n\treturn seed1;\n}\n\n// returns a random number in the range [min, max)\ninline uint32_t Rand(uint32_t min, uint32_t max)\n{\n\treturn min + Rand()%(max-min);\n}\n\n// returns random number between 0-1\ninline float Randf()\n{\n\tuint32_t value = Rand();\n\tuint32_t limit = 0xffffffff;\n\n\treturn ( float )value*( 1.0f/( float )limit );\n}\n\n// returns random number between min and max\ninline float Randf(float min, float max)\n{\n\t//\treturn Lerp(min, max, ParticleRandf());\n\tfloat t = Randf();\n\treturn (1.0f-t)*min + t*(max);\n}\n\n// returns random number between 0-max\ninline float Randf(float max)\n{\n\treturn Randf()*max;\n}\n\n// returns a random unit vector (also can add an offset to generate around an off axis vector)\ninline Vec3 RandomUnitVector()\n{\n\tfloat phi = Randf(kPi*2.0f);\n\tfloat theta = Randf(kPi*2.0f);\n\n\tfloat cosTheta = Cos(theta);\n\tfloat sinTheta = Sin(theta);\n\n\tfloat cosPhi = Cos(phi);\t\n\tfloat sinPhi = Sin(phi);\n\n\treturn Vec3(cosTheta*sinPhi,cosPhi,sinTheta*sinPhi);\n}\n\ninline Vec3 RandVec3() { return Vec3(Randf(-1.0f, 1.0f), Randf(-1.0f, 1.0f), Randf(-1.0f, 1.0f)); }\n\n// uniformly sample volume of a sphere using dart throwing\ninline Vec3 UniformSampleSphereVolume()\n{\n\tfor(;;)\n\t{\n\t\tVec3 v = RandVec3();\n\t\tif (Dot(v, v) < 1.0f)\n\t\t\treturn v;\n\t}\n}\n\ninline Vec3 UniformSampleSphere()\n{\n\tfloat u1 = Randf(0.0f, 1.0f);\n\tfloat u2 = Randf(0.0f, 1.0f);\n\n\tfloat z = 1.f - 2.f * u1;\n\tfloat r = sqrtf(Max(0.f, 1.f - z*z));\n\tfloat phi = 2.f * kPi * u2;\n\tfloat x = r * cosf(phi);\n\tfloat y = r * sinf(phi);\n\n\treturn Vector3(x, y, z);\n}\n\ninline Vec3 UniformSampleHemisphere()\n{\n\t// generate a random z value\n\tfloat z = Randf(0.0f, 1.0f);\n\tfloat w = Sqrt(1.0f-z*z);\n\n\tfloat phi = k2Pi*Randf(0.0f, 1.0f);\n\tfloat x = Cos(phi)*w;\n\tfloat y = Sin(phi)*w;\n\n\treturn Vec3(x, y, z);\n}\n\ninline Vec2 UniformSampleDisc()\n{\n\tfloat r = Sqrt(Randf(0.0f, 1.0f));\n\tfloat theta = k2Pi*Randf(0.0f, 1.0f);\n\n\treturn Vec2(r * Cos(theta), r * Sin(theta));\n}\n\ninline void UniformSampleTriangle(float& u, float& v)\n{\n\tfloat r = Sqrt(Randf());\n\tu = 1.0f - r;\n\tv = Randf() * r;\n}\n\ninline Vec3 CosineSampleHemisphere()\n{\n\tVec2 s = UniformSampleDisc();\n\tfloat z = Sqrt(Max(0.0f, 1.0f - s.x*s.x - s.y*s.y));\n\n\treturn Vec3(s.x, s.y, z);\n}\n\ninline Vec3 SphericalToXYZ(float theta, float phi)\n{\n\tfloat cosTheta = cos(theta);\n\tfloat sinTheta = sin(theta);\n\n\treturn Vec3(sin(phi)*sinTheta, cosTheta, cos(phi)*sinTheta);\n}\n\n// returns random vector between -range and range\ninline Vec4 Randf(const Vec4 &range)\n{\n\treturn Vec4(Randf(-range.x, range.x), \n\t\t\t    Randf(-range.y, range.y),\n\t\t\t    Randf(-range.z, range.z),\n\t\t\t  \tRandf(-range.w, range.w));\n}\n\n// generates a transform matrix with v as the z axis, taken from PBRT\ninline void BasisFromVector(const Vec3& w, Vec3* u, Vec3* v)\n{\n\tif (fabsf(w.x) > fabsf(w.y))\n\t{\n\t\tfloat invLen = 1.0f / sqrtf(w.x*w.x + w.z*w.z);\n\t\t*u = Vec3(-w.z*invLen, 0.0f, w.x*invLen);\n\t}\n\telse\n\t{\n\t\tfloat invLen = 1.0f / sqrtf(w.y*w.y + w.z*w.z);\n\t\t*u = Vec3(0.0f, w.z*invLen, -w.y*invLen);\n\t}\n\n\t*v = Cross(w, *u);\t\n\n\tassert(fabsf(Length(*u)-1.0f) < 0.01f);\n\tassert(fabsf(Length(*v)-1.0f) < 0.01f);\n}\n\n// same as above but returns a matrix\ninline Mat44 TransformFromVector(const Vec3& w, const Point3& t=Point3(0.0f, 0.0f, 0.0f))\n{\n\tMat44 m = Mat44::kIdentity;\n\tm.SetCol(2, Vec4(w.x, w.y, w.z, 0.0));\n\tm.SetCol(3, Vec4(t.x, t.y, t.z, 1.0f));\n\n\tBasisFromVector(w, (Vec3*)m.columns[0], (Vec3*)m.columns[1]);\n\n\treturn m;\n}\n\n// todo: sort out rotations\ninline Mat44 ViewMatrix(const Point3& pos) \n{\n\t\n\tfloat view[4][4] = { { 1.0f, 0.0f, 0.0f, 0.0f },\n\t\t\t\t\t\t{ 0.0f, 1.0f, 0.0f, 0.0f },\n\t\t\t\t\t\t{ 0.0f, 0.0f, 1.0f, 0.0f },\n\t\t\t\t\t\t{ -pos.x, -pos.y, -pos.z, 1.0f } };\n\t\n\treturn Mat44(&view[0][0]);\n}\n\n\ninline Mat44 LookAtMatrix(const Point3& viewer, const Point3& target)\n{\n\t// create a basis from viewer to target (OpenGL convention looking down -z)\n\tVec3 forward = -Normalize(target-viewer);\n\tVec3 up(0.0f, 1.0f, 0.0f);\n\tVec3 left = Normalize(Cross(up, forward));\n\tup = Cross(forward, left);\n\n\tfloat xform[4][4] = {  { left.x, left.y, left.z, 0.0f },\n\t  \t\t\t\t\t     { up.x, up.y, up.z, 0.0f},\n\t\t\t\t\t\t     { forward.x, forward.y, forward.z, 0.0f},\n\t\t\t\t\t\t\t     { viewer.x, viewer.y, viewer.z, 1.0f} };\n\n\treturn AffineInverse(Mat44(&xform[0][0]));\t\t\n}\n\n// generate a rotation matrix around an axis, from PBRT p74\ninline Mat44 RotationMatrix(float angle, const Vec3& axis)\n{\n\tVec3 a = Normalize(axis);\n\tfloat s = sinf(angle);\n\tfloat c = cosf(angle);\n\n\tfloat m[4][4];\n\n\tm[0][0] = a.x * a.x + (1.0f - a.x * a.x) * c;\n\tm[0][1] = a.x * a.y * (1.0f - c) + a.z * s;\n\tm[0][2] = a.x * a.z * (1.0f - c) - a.y * s;\n\tm[0][3] = 0.0f;\n\n\tm[1][0] = a.x * a.y * (1.0f - c) - a.z * s;\n\tm[1][1] = a.y * a.y + (1.0f - a.y * a.y) * c;\n\tm[1][2] = a.y * a.z * (1.0f - c) + a.x * s;\n\tm[1][3] = 0.0f;\n\n\tm[2][0] = a.x * a.z * (1.0f - c) + a.y * s;\n\tm[2][1] = a.y * a.z * (1.0f - c) - a.x * s;\n\tm[2][2] = a.z * a.z + (1.0f - a.z * a.z) * c;\n\tm[2][3] = 0.0f;\n\n\tm[3][0] = 0.0f;\n\tm[3][1] = 0.0f;\n\tm[3][2] = 0.0f;\n\tm[3][3] = 1.0f;\n\n\treturn Mat44(&m[0][0]);\n}\n\ninline Mat44 RotationMatrix(Quat q)\n{\n\tMatrix33 rotation(q);\n\n\tMatrix44 m;\n\tm.SetAxis(0, rotation.cols[0]);\n\tm.SetAxis(1, rotation.cols[1]);\n\tm.SetAxis(2, rotation.cols[2]);\n\tm.SetTranslation(Point3(0.0f));\n\n\treturn m;\n}\n\ninline Mat44 TranslationMatrix(const Point3& t)\n{\n\tMat44 m(Mat44::kIdentity);\n\tm.SetTranslation(t);\n\treturn m;\n}\n\ninline Mat44 OrthographicMatrix(float left, float right, float bottom, float top, float n, float f)\n{\n\t\n\tfloat m[4][4] = { { 2.0f/(right-left), 0.0f, 0.0f, 0.0f },\n\t\t\t\t\t  { 0.0f, 2.0f/(top-bottom), 0.0f, 0.0f },\t\t\t\n\t\t\t\t\t  { 0.0f, 0.0f, -2.0f/(f-n), 0.0f },\n\t\t\t\t\t  { -(right+left)/(right-left), -(top+bottom)/(top-bottom), -(f+n)/(f-n), 1.0f } };\n\t\n\n\treturn Mat44(&m[0][0]);\n}\n\n// this is designed as a drop in replacement for gluPerspective\ninline Mat44 ProjectionMatrix(float fov, float aspect, float znear, float zfar) \n{\n\tfloat f = 1.0f / tanf(DegToRad(fov*0.5f));\n\tfloat zd = znear-zfar;\n\n\tfloat view[4][4] = { { f/aspect, 0.0f, 0.0f, 0.0f },\n\t\t\t\t\t\t { 0.0f, f, 0.0f, 0.0f },\n\t\t\t\t\t\t { 0.0f, 0.0f, (zfar+znear)/zd, -1.0f },\n\t\t\t\t\t\t { 0.0f, 0.0f, (2.0f*znear*zfar)/zd, 0.0f } };\n \n\treturn Mat44(&view[0][0]);\n}\n\n// encapsulates an orientation encoded in Euler angles, not the sexiest \n// representation but it is convenient when manipulating objects from script\n\nclass Rotation\n{\npublic:\n\n\tRotation() : yaw(0), pitch(0), roll(0) {}\n\tRotation(float inYaw, float inPitch, float inRoll) : yaw(inYaw), pitch(inPitch), roll(inRoll) {}\n\n\tRotation& operator +=(const Rotation& rhs) {yaw += rhs.yaw; pitch += rhs.pitch; roll += rhs.roll; return *this;}\n\tRotation& operator -=(const Rotation& rhs) {yaw -= rhs.yaw; pitch -= rhs.pitch; roll -= rhs.roll; return *this;}\n\n\tRotation operator + (const Rotation& rhs) const { Rotation lhs(*this); lhs += rhs; return lhs; }\n\tRotation operator - (const Rotation& rhs) const { Rotation lhs(*this); lhs -= rhs; return lhs; }\n\n\t// all members are in degrees (easy editing)\n\tfloat yaw;\n\tfloat pitch;\n\tfloat roll;\n};\n\ninline Mat44 ScaleMatrix(const Vector3& s)\n{\n\tfloat m[4][4] = { {s.x, 0.0f, 0.0f, 0.0f },\n\t\t\t\t\t  { 0.0f, s.y, 0.0f, 0.0f},\n\t\t\t\t\t  { 0.0f, 0.0f, s.z, 0.0f},\n\t\t\t\t\t  { 0.0f, 0.0f, 0.0f, 1.0f} };\n\n\treturn Mat44(&m[0][0]);\n}\n\n// assumes yaw on y, then pitch on z, then roll on x\ninline Mat44 TransformMatrix(const Rotation& r, const Point3& p)\n{\n\tconst float yaw = DegToRad(r.yaw);\n\tconst float pitch = DegToRad(r.pitch);\n\tconst float roll = DegToRad(r.roll);\n\n\tconst float s1 = Sin(roll);\n\tconst float c1 = Cos(roll);\n\tconst float s2 = Sin(pitch);\n\tconst float c2 = Cos(pitch);\n\tconst float s3 = Sin(yaw);\n\tconst float c3 = Cos(yaw);\n\n\t// interprets the angles as yaw around world-y, pitch around new z, roll around new x\n\tfloat mr[4][4] = {\t{ c2*c3, s2, -c2*s3, 0.0f},\n\t\t\t\t\t\t{ s1*s3-c1*c3*s2, c1*c2, c3*s1+c1*s2*s3, 0.0f},\n\t\t\t\t\t\t{ c3*s1*s2+c1*s3, -c2*s1, c1*c3-s1*s2*s3, 0.0f},\t\n\t\t\t\t\t\t{ p.x, p.y, p.z, 1.0f} };\n\n\tMat44 m1(&mr[0][0]);\n\n\treturn m1;//m2 * m1;\n}\n\nclass Transform\n{\npublic:\n\n\tTransform() {};\n\tTransform(const Point3& p, const Rotation& r) : position(p), rotation(r) {}\n\n\tMat44 ToMatrix() const\n\t{\n\t\treturn TransformMatrix(rotation, position);\n\t}\n\n\t// helper function to translate object\n\tvoid Translate(const Vec3& delta)\n\t{\n\t\tposition += delta;\n\t}\n\n\t// helper function to rotate an object\n\tvoid Rotate(const Rotation& delta)\n\t{\n\t\trotation += delta;\n\t}\n\n\tvoid RotateToLookAt(const Point3& target)\n\t{\n\t\t// get vector to point\n\t\tVec3 delta = target-position;\n\n\t\t// yaw\n\t\trotation.yaw = atan2f(delta.z, delta.x);\n\t\trotation.pitch = atan2f(delta.y, sqrt(delta.x*delta.x+delta.z*delta.z));\n\t\trotation.roll = 0.0f;\n\t}\n\n\tVec3 GetXAxis() const\n\t{\n\t\treturn ToMatrix().columns[0];\n\t}\n\n\tVec3 GetYAxis() const\n\t{\n\t\treturn ToMatrix().columns[1];\n\t}\n\n\tVec3 GetZAxis() const\n\t{\n\t\treturn ToMatrix().columns[2];\n\t}\n\n\tPoint3 position;\n\tRotation rotation;\n};\n\n// aligns the z axis along the vector\ninline Rotation AlignToVector(const Vec3& vector)\n{\n\t// todo: fix, see spherical->cartesian coordinates wikipedia\n\treturn Rotation(0.0f, RadToDeg(atan2(vector.y, vector.x)), 0.0f);\n}\n\n// creates a vector given an angle measured clockwise from horizontal (1,0)\ninline Vec2 AngleToVector(float a)\n{\t\n\treturn Vec2(Cos(a), Sin(a));\n}\n\ninline float VectorToAngle(const Vec2& v)\n{\n\treturn atan2f(v.y, v.x);\n}\n\nCUDA_CALLABLE inline float SmoothStep(float a, float b, float t)\n{\n\tt = Clamp(t-a / (b-a), 0.0f, 1.0f);\n\treturn t*t*(3.0f-2.0f*t);\n}\n\n// hermite spline interpolation\ntemplate <typename T>\nT HermiteInterpolate(const T& a, const T& b, const T& t1, const T& t2, float t)\n{\n\t// blending weights\n\tconst float w1 = 1.0f - 3*t*t + 2*t*t*t;\n\tconst float w2 = t*t*(3.0f-2.0f*t);\n\tconst float w3 = t*t*t - 2*t*t + t;\n\tconst float w4 = t*t*(t-1.0f);\n\n\t// return weighted combination\n\treturn a*w1 + b*w2 + t1*w3 + t2*w4;\n\n}\n\t\ntemplate <typename T>\nT HermiteTangent(const T& a, const T& b, const T& t1, const T& t2, float t)\n{\n\t// first derivative blend weights\n\tconst float w1 = 6.0f*t*t-6*t;\n\tconst float w2 = -6.0f*t*t + 6*t;\n\tconst float w3 = 3*t*t - 4*t + 1;\n\tconst float w4 = 3*t*t - 2*t;\n\n\t// weighted combination\n\treturn a*w1 + b*w2 + t1*w3 + t2*w4;\n}\n\ntemplate <typename T>\nT HermiteSecondDerivative(const T& a, const T& b, const T& t1, const T& t2, float t)\n{\n\t// first derivative blend weights\n\tconst float w1 = 12*t - 6.0f;\n\tconst float w2 = -12.0f*t + 6;\n\tconst float w3 = 6*t - 4.0f;\n\tconst float w4 = 6*t - 2.0f;\n\n\t// weighted combination\n\treturn a*w1 + b*w2 + t1*w3 + t2*w4;\n}\n\ninline float Log(float base, float x)\n{\n\t// calculate the log of a value for an arbitary base, only use if you can't use the standard bases (10, e)\n\treturn logf(x) / logf(base);\n}\n\ninline int Log2(int x)\n{\n\tint n = 0;\n\twhile (x >= 2)\n\t{\n\t\t++n;\n\t\tx /= 2;\n\t}\n\n\treturn n;\n}\n\n// function which maps a value to a range\ntemplate <typename T>\nT RangeMap(T value, T lower, T upper)\n{\n\tassert(upper >= lower);\n\treturn (value-lower)/(upper-lower);\n}\n\n// simple colour class\nclass Colour \n{\npublic:\n\n\tenum Preset\n\t{\n\t\tkRed,\n\t\tkGreen,\n\t\tkBlue,\n\t\tkWhite,\n\t\tkBlack\n\t};\n\t\n\tColour(float r_=0.0f, float g_=0.0f, float b_=0.0f, float a_=1.0f) : r(r_), g(g_), b(b_), a(a_) {}\n\tColour(float* p) : r(p[0]), g(p[1]), b(p[2]), a(p[3]) {}\n\tColour(uint32_t rgba)\n\t{\n\t\ta = ((rgba)&0xff)/255.0f;\n\t\tr = ((rgba>>24)&0xff)/255.0f;\n\t\tg = ((rgba>>16)&0xff)/255.0f;\n\t\tb = ((rgba>>8)&0xff)/255.0f;\n\t}\n\tColour(Preset p);\n\n\t// cast operator\n\toperator const float*() const { return &r; }\n\toperator float*() { return &r; }\n\n\tColour operator * (float scale) const { Colour r(*this); r *= scale; return r; }\n\tColour operator / (float scale) const { Colour r(*this); r /= scale; return r; }\n\tColour operator + (const Colour& v) const { Colour r(*this); r += v; return r; }\n\tColour operator - (const Colour& v) const { Colour r(*this); r -= v; return r; }\n\tColour operator * (const Colour& scale) const { Colour r(*this); r *= scale; return r;}\n\n\tColour& operator *=(float scale) {r *= scale; g *= scale; b*= scale; a*= scale;  return *this;}\n\tColour& operator /=(float scale) {float s(1.0f/scale); r *= s; g *= s; b *= s; a *=s; return *this;}\n\tColour& operator +=(const Colour& v) {r += v.r; g += v.g; b += v.b; a += v.a; return *this;}\n\tColour& operator -=(const Colour& v) {r -= v.r; g -= v.g; b -= v.b; a -= v.a; return *this;}\n\tColour& operator *=(const Colour& v) {r *= v.r; g *= v.g; b *= v.b; a *= v.a; return *this;}\n\n\tfloat r, g, b, a;\n\n};\n\ninline bool operator == (const Colour& lhs, const Colour& rhs)\n{\n\treturn lhs.r == rhs.r && lhs.g == rhs.g && lhs.b == rhs.b && lhs.a == rhs.a;\n}\n\ninline bool operator != (const Colour& lhs, const Colour& rhs)\n{\n\treturn !(lhs == rhs);\n}\n\ninline Colour ToneMap(const Colour& s)\n{\n\t//return Colour(s.r / (s.r+1.0f),\ts.g / (s.g+1.0f), s.b / (s.b+1.0f), 1.0f);\n\tfloat Y = 0.3333f*(s.r + s.g + s.b);\n\treturn s / (1.0f + Y);\n}\n\n// lhs scalar scale\ninline Colour operator * (float lhs, const Colour& rhs)\n{\n\tColour r(rhs);\n\tr *= lhs;\n\treturn r;\n}\n\ninline Colour YxyToXYZ(float Y, float x, float y)\n{\n\tfloat X = x * (Y / y);\n\tfloat Z = (1.0f - x - y) * Y / y;\n\n\treturn Colour(X, Y, Z, 1.0f);\n}\n\ninline Colour HSVToRGB( float h, float s, float v )\n{\n\tfloat r, g, b;\n\n\tint i;\n\tfloat f, p, q, t;\n\tif( s == 0 ) {\n\t\t// achromatic (grey)\n\t\tr = g = b = v;\n\t}\n\telse\n\t{\n\t\th *= 6.0f;\t\t\t// sector 0 to 5\n\t\ti = int(floor( h ));\n\t\tf = h - i;\t\t\t// factorial part of h\n\t\tp = v * ( 1 - s );\n\t\tq = v * ( 1 - s * f );\n\t\tt = v * ( 1 - s * ( 1 - f ) );\n\t\tswitch( i ) {\n\t\t\tcase 0:\n\t\t\t\tr = v;\n\t\t\t\tg = t;\n\t\t\t\tb = p;\n\t\t\t\tbreak;\n\t\t\tcase 1:\n\t\t\t\tr = q;\n\t\t\t\tg = v;\n\t\t\t\tb = p;\n\t\t\t\tbreak;\n\t\t\tcase 2:\n\t\t\t\tr = p;\n\t\t\t\tg = v;\n\t\t\t\tb = t;\n\t\t\t\tbreak;\n\t\t\tcase 3:\n\t\t\t\tr = p;\n\t\t\t\tg = q;\n\t\t\t\tb = v;\n\t\t\t\tbreak;\n\t\t\tcase 4:\n\t\t\t\tr = t;\n\t\t\t\tg = p;\n\t\t\t\tb = v;\n\t\t\t\tbreak;\n\t\t\tdefault:\t\t// case 5:\n\t\t\t\tr = v;\n\t\t\t\tg = p;\n\t\t\t\tb = q;\n\t\t\t\tbreak;\n\t\t};\n\t}\n\n\treturn Colour(r, g, b);\n}\n\ninline Colour XYZToLinear(float x, float y, float z)\n{\n\tfloat c[4];\n\tc[0] =  3.240479f * x + -1.537150f * y + -0.498535f * z;\n\tc[1] = -0.969256f * x +  1.875991f * y +  0.041556f * z;\n\tc[2] =  0.055648f * x + -0.204043f * y +  1.057311f * z;\n\tc[3] = 1.0f;\n\n\treturn Colour(c);\n}\n\ninline uint32_t ColourToRGBA8(const Colour& c)\n{\n\tunion SmallColor\n\t{\n\t\tuint8_t u8[4];\n\t\tuint32_t u32;\n\t};\n\n\tSmallColor s;\n\ts.u8[0] = (uint8_t)(Clamp(c.r, 0.0f, 1.0f) * 255);\n\ts.u8[1] = (uint8_t)(Clamp(c.g, 0.0f, 1.0f) * 255);\n\ts.u8[2] = (uint8_t)(Clamp(c.b, 0.0f, 1.0f) * 255);\n\ts.u8[3] = (uint8_t)(Clamp(c.a, 0.0f, 1.0f) * 255);\n\n\treturn s.u32;\n}\n\ninline Colour LinearToSrgb(const Colour& c)\n{\n\tconst float kInvGamma = 1.0f/2.2f;\n\treturn Colour(powf(c.r, kInvGamma), powf(c.g, kInvGamma), powf(c.b, kInvGamma), c.a); \n}\n\ninline Colour SrgbToLinear(const Colour& c)\n{\n\tconst float kInvGamma = 2.2f;\n\treturn Colour(powf(c.r, kInvGamma), powf(c.g, kInvGamma), powf(c.b, kInvGamma), c.a); \n}\n\n// intersection routines\ninline bool IntersectRaySphere(const Point3& sphereOrigin, float sphereRadius, const Point3& rayOrigin, const Vec3& rayDir, float& t, Vec3* hitNormal=NULL)\n{\n\tVec3 d(sphereOrigin-rayOrigin);\n\tfloat deltaSq = LengthSq(d);\n\tfloat radiusSq = sphereRadius*sphereRadius;\n\n\t// if the origin is inside the sphere return no intersection\n\tif (deltaSq > radiusSq)\n\t{\n\t\tfloat dprojr = Dot(d, rayDir);\n\t\t\n\t\t// if ray pointing away from sphere no intersection\n\t\tif (dprojr < 0.0f)\n\t\t\treturn false;\n\n\t\t// bit of Pythagoras to get closest point on ray\n\t\tfloat dSq = deltaSq-dprojr*dprojr;\n\t\t\n\t\tif (dSq > radiusSq)\n\t\t\treturn false;\n\t\telse\n\t\t{\n\t\t\t// length of the half cord\n\t\t\tfloat thc = sqrt(radiusSq-dSq);\n\t\t\t\n\t\t\t// closest intersection\n\t\t\tt = dprojr - thc;\n\n\t\t\t// calculate normal if requested\n\t\t\tif (hitNormal)\n\t\t\t\t*hitNormal = Normalize((rayOrigin+rayDir*t)-sphereOrigin);\n\n\t\t\treturn true;\n\t\t}\n\t}\n\telse\n\t{\n\t\treturn false;\n\t}\n}\n\ntemplate <typename T>\nCUDA_CALLABLE inline bool SolveQuadratic(T a, T b, T c, T& minT, T& maxT)\n{\n\tif (a == 0.0f && b == 0.0f)\n\t{\n\t\tminT = maxT = 0.0f;\n\t\treturn true;\n\t}\n\n\tT discriminant = b*b - T(4.0)*a*c;\n\n\tif (discriminant < 0.0f)\n\t{\n\t\treturn false;\n\t}\n\n\t// numerical receipes 5.6 (this method ensures numerical accuracy is preserved)\n\tT t = T(-0.5) * (b + Sign(b)*Sqrt(discriminant));\n\tminT = t / a;\n\tmaxT = c / t;\n\n\tif (minT > maxT)\n\t{\n\t\tSwap(minT, maxT);\n\t}\n\n\treturn true;\n}\n\n// alternative ray sphere intersect, returns closest and furthest t values\ninline bool IntersectRaySphere(const Point3& sphereOrigin, float sphereRadius, const Point3& rayOrigin, const Vector3& rayDir, float& minT, float &maxT, Vec3* hitNormal=NULL)\n{\n\tVector3 q = rayOrigin-sphereOrigin;\n\n\tfloat a = 1.0f;\n\tfloat b = 2.0f*Dot(q, rayDir);\n\tfloat c = Dot(q, q)-(sphereRadius*sphereRadius);\n\n\tbool r = SolveQuadratic(a, b, c, minT, maxT);\n\n\tif (minT < 0.0)\n\t\tminT = 0.0f;\n\n\t// calculate the normal of the closest hit\n\tif (hitNormal && r)\n\t{\n\t\t*hitNormal = Normalize((rayOrigin+rayDir*minT)-sphereOrigin);\n\t}\n\n\treturn r;\n}\n\ninline bool IntersectRayPlane(const Point3& p, const Vector3& dir, const Plane& plane, float& t)\n{\n    float d = Dot(plane, dir);\n    \n    if (d == 0.0f)\n    {\n        return false;\n    }\n\telse\n    {\n        t = -Dot(plane, p) / d;\n    }\n\n\treturn (t > 0.0f);\t\n}\n\ninline bool IntersectLineSegmentPlane(const Vec3& start, const Vec3& end, const Plane& plane, Vec3& out)\n{\n\tVec3 u(end - start);\n\n\tfloat dist = -Dot(plane, start) / Dot(plane, u);\n\n\tif (dist > 0.0f && dist < 1.0f)\n\t{\n\t\tout = (start + u * dist);\n\t\treturn true;\n\t}\n\telse\n\t\treturn false;\n}\n\n// Moller and Trumbore's method\ninline bool IntersectRayTriTwoSided(const Vec3& p, const Vec3& dir, const Vec3& a, const Vec3& b, const Vec3& c, float& t, float& u, float& v, float& w, float& sign)//Vec3* normal)\n{\n    Vector3 ab = b - a;\n    Vector3 ac = c - a;\n    Vector3 n = Cross(ab, ac);\n\n    float d = Dot(-dir, n);\n    float ood = 1.0f / d; // No need to check for division by zero here as infinity aritmetic will save us...\n    Vector3 ap = p - a;\n\n    t = Dot(ap, n) * ood;\n    if (t < 0.0f)\n        return false;\n\n    Vector3 e = Cross(-dir, ap);\n    v = Dot(ac, e) * ood;\n    if (v < 0.0f || v > 1.0f) // ...here...\n        return false;\n    w = -Dot(ab, e) * ood;\n    if (w < 0.0f || v + w > 1.0f) // ...and here\n        return false;\n\n    u = 1.0f - v - w;\n    //if (normal)\n        //*normal = n;\n\tsign = d;\n\n    return true;\n}\n\n\n\n// mostly taken from Real Time Collision Detection - p192\ninline bool IntersectRayTri(const Point3& p, const Vec3& dir, const Point3& a, const Point3& b, const Point3& c,  float& t, float& u, float& v, float& w, Vec3* normal)\n{\n\tconst Vec3 ab = b-a;\n\tconst Vec3 ac = c-a;\n\n\t// calculate normal\n\tVec3 n = Cross(ab, ac);\n\n\t// need to solve a system of three equations to give t, u, v\n\tfloat d = Dot(-dir, n);\n\n\t// if dir is parallel to triangle plane or points away from triangle \n\tif (d <= 0.0f)\n        return false;\n\n\tVec3 ap = p-a;\n\tt = Dot(ap, n);\n\n\t// ignores tris behind \n\tif (t < 0.0f)\n\t\treturn false;\n\n\t// compute barycentric coordinates\n\tVec3 e = Cross(-dir, ap);\n\tv = Dot(ac, e);\n\tif (v < 0.0f || v > d) return false;\n\n\tw = -Dot(ab, e);\n\tif (w < 0.0f || v + w > d) return false;\n\n\tfloat ood = 1.0f / d;\n\tt *= ood;\n\tv *= ood;\n\tw *= ood;\n\tu = 1.0f-v-w;\n\n\t// optionally write out normal (todo: this branch is a performance concern, should probably remove)\n\tif (normal)\n\t\t*normal = n;\n\n\treturn true;\n}\n\n//mostly taken from Real Time Collision Detection - p192\nCUDA_CALLABLE inline bool IntersectSegmentTri(const Vec3& p, const Vec3& q, const Vec3& a, const Vec3& b, const Vec3& c,  float& t, float& u, float& v, float& w, Vec3* normal, float expand)\n{\n\tconst Vec3 ab = b-a;\n\tconst Vec3 ac = c-a;\n\tconst Vec3 qp = p-q;\n\n\t// calculate normal\n\tVec3 n = Cross(ab, ac);\n\n\t// need to solve a system of three equations to give t, u, v\n\tfloat d = Dot(qp, n);\n\n\t// if dir is parallel to triangle plane or points away from triangle \n\tif (d <= 0.0f)\n        return false;\n\n\tVec3 ap = p-a;\n\tt = Dot(ap, n);\n\n\t// ignores tris behind \n\tif (t < 0.0f)\n\t\treturn false;\n\n\t// ignores tris beyond segment\n\tif (t > d)\n\t\treturn false;\n\n\t// compute barycentric coordinates\n\tVec3 e = Cross(qp, ap);\n\tv = Dot(ac, e);\n\tif (v < 0.0f || v > d) return false;\n\n\tw = -Dot(ab, e);\n\tif (w < 0.0f || v + w > d) return false;\n\n\tfloat ood = 1.0f / d;\n\tt *= ood;\n\tv *= ood;\n\tw *= ood;\n\tu = 1.0f-v-w;\n\n\t// optionally write out normal (todo: this branch is a performance concern, should probably remove)\n\tif (normal)\n\t\t*normal = n;\n\n\treturn true;\n}\n\nCUDA_CALLABLE inline float ScalarTriple(const Vec3& a, const Vec3& b, const Vec3& c) { return Dot(Cross(a, b), c); }\n\n// intersects a line (through points p and q, against a triangle a, b, c - mostly taken from Real Time Collision Detection - p186\nCUDA_CALLABLE inline bool IntersectLineTri(const Vec3& p, const Vec3& q, const Vec3& a, const Vec3& b, const Vec3& c)//,  float& t, float& u, float& v, float& w, Vec3* normal, float expand)\n{\n\tconst Vec3 pq = q-p;\n\tconst Vec3 pa = a-p;\n\tconst Vec3 pb = b-p;\n\tconst Vec3 pc = c-p;\n\n\tVec3 m = Cross(pq, pc);\n\tfloat u = Dot(pb, m);\n\tif (u< 0.0f) return false;\n\n\tfloat v = -Dot(pa, m);\n\tif (v < 0.0f) return false;\n\t\n\tfloat w = ScalarTriple(pq, pb, pa);\n\tif (w < 0.0f) return false;\n\n\treturn true;\n}\n\nCUDA_CALLABLE inline Vec3 ClosestPointToAABB(const Vec3& p, const Vec3& lower, const Vec3& upper)\n{\n\tVec3 c;\n\n\tfor (int i=0; i < 3; ++i)\n\t{\n\t\tfloat v = p[i];\n\t\tif (v < lower[i]) v = lower[i];\n\t\tif (v > upper[i]) v = upper[i];\n\t\tc[i] = v;\n\t}\n\n\treturn c;\n}\n\n\n// RTCD 5.1.5, page 142\nCUDA_CALLABLE inline  Vec3 ClosestPointOnTriangle(const Vec3& a, const Vec3& b, const Vec3& c, const Vec3& p, float& v, float& w)\n{\n\tVec3 ab = b-a;\n\tVec3 ac = c-a;\n\tVec3 ap = p-a;\n\t\n\tfloat d1 = Dot(ab, ap);\n\tfloat d2 = Dot(ac, ap);\n\tif (d1 <= 0.0f && d2 <= 0.0f)\n\t{\n\t\tv = 0.0f;\n\t\tw = 0.0f;\n\t\treturn a;\n\t}\n\n\tVec3 bp = p-b;\n\tfloat d3 = Dot(ab, bp);\n\tfloat d4 = Dot(ac, bp);\n\tif (d3 >= 0.0f && d4 <= d3)\n\t{\n\t\tv = 1.0f;\n\t\tw = 0.0f;\n\t\treturn b;\n\t}\n\n\tfloat vc = d1*d4 - d3*d2;\n\tif (vc <= 0.0f && d1 >= 0.0f && d3 <= 0.0f)\n\t{\n\t\tv = d1 / (d1-d3);\n\t\tw = 0.0f;\n\t\treturn a + v*ab;\n\t}\n\n\tVec3 cp =p-c;\n\tfloat d5 = Dot(ab, cp);\n\tfloat d6 = Dot(ac, cp);\n\tif (d6 >= 0.0f && d5 <= d6)\n\t{\n\t\tv = 0.0f;\n\t\tw = 1.0f;\n\t\treturn c;\n\t}\n\n\tfloat vb = d5*d2 - d1*d6;\n\tif (vb <= 0.0f && d2 >= 0.0f && d6 <= 0.0f)\n\t{\n\t\tv = 0.0f;\n\t\tw = d2 / (d2 - d6);\n\t\treturn a + w * ac;\n\t}\n\n\tfloat va = d3*d6 - d5*d4;\n\tif (va <= 0.0f && (d4 -d3) >= 0.0f && (d5-d6) >= 0.0f)\n\t{\n\t\tw = (d4-d3)/((d4-d3) + (d5-d6));\n\t\tv = 1.0f-w;\t\t\n\t\treturn b + w * (c-b);\n\t}\n\n\tfloat denom = 1.0f / (va + vb + vc);\n\tv = vb * denom;\n\tw = vc * denom;\n\treturn a + ab*v + ac*w;\n}\n\n\nCUDA_CALLABLE inline float SqDistPointSegment(Vec3 a, Vec3 b, Vec3 c)\n{\n\tVec3 ab = b-a, ac=c-a, bc=c-b;\n\tfloat e = Dot(ac, ab);\n\n\tif (e <= 0.0f)\n\t\treturn Dot(ac, ac);\n\tfloat f = Dot(ab, ab);\n\t\n\tif (e >= f)\n\t\treturn Dot(bc, bc);\n\n\treturn Dot(ac, ac) - e*e/f;\n}\n\nCUDA_CALLABLE inline bool PointInTriangle(Vec3 a, Vec3 b, Vec3 c, Vec3 p)\n{\n\ta -= p; b -= p; c-= p;\n\n\t/*\n\tfloat eps = 0.0f;\n\n\tfloat ab = Dot(a, b);\n\tfloat ac = Dot(a, c);\n\tfloat bc = Dot(b, c);\n\tfloat cc = Dot(c, c);\n\n\tif (bc *ac - cc * ab <= eps)\n\t\treturn false;\n\n\tfloat bb = Dot(b, b);\n\tif (ab * bc - ac*bb <= eps)\n\t\treturn false;\n\n\treturn true;\n\t*/\n\n\tVec3 u = Cross(b, c);\n\tVec3 v = Cross(c, a);\n\n\tif (Dot(u, v) <= 0.0f)\n\t\treturn false;\n\n\tVec3 w = Cross(a, b);\n\n\tif (Dot(u, w) <= 0.0f)\n\t\treturn false;\n\t\n\treturn true;\n}\n\nCUDA_CALLABLE inline void ClosestPointBetweenLineSegments(const Vec3& p, const Vec3& q, const Vec3& r, const Vec3& s, float& u, float& v)\n\t{\n\t\tVec3 d1 = q-p;\n\t\tVec3 d2 = s-r;\n\t\tVec3 rp = p-r;\n\t\tfloat a = Dot(d1, d1);\n\t\tfloat c = Dot(d1, rp);\n\t\tfloat e = Dot(d2, d2);\n\t\tfloat f = Dot(d2, rp);\n\n\t\tfloat b = Dot(d1, d2);\n\t\tfloat denom = a*e - b*b;\n\t\tif (denom != 0.0f)\n\t\t\tu = Clamp((b*f - c*e)/denom, 0.0f, 1.0f);\n\t\telse\n\t\t{\n\t\t\tu = 0.0f;\n\t\t}\n\n\t\tv = (b*u + f)/e;\n\n\t\tif (v < 0.0f)\n\t\t{\n\t\t\tv = 0.0f;\n\t\t\tu = Clamp(-c/a, 0.0f, 1.0f);\n\t\t}\n\t\telse if (v > 1.0f)\n\t\t{\n\t\t\tv = 1.0f;\n\t\t\tu = Clamp((b-c)/a, 0.0f, 1.0f);\n\t\t}\n\t}\n\n\n\nCUDA_CALLABLE inline float minf(const float a, const float b) { return a < b ? a : b; }\nCUDA_CALLABLE inline float maxf(const float a, const float b) { return a > b ? a : b; }\n\nCUDA_CALLABLE inline bool IntersectRayAABBOmpf(const Vec3& pos, const Vector3& rcp_dir, const Vector3& min, const Vector3& max, float& t) {\n       \n    float\n        l1\t= (min.x - pos.x) * rcp_dir.x,\n        l2\t= (max.x - pos.x) * rcp_dir.x,\n        lmin\t= minf(l1,l2),\n        lmax\t= maxf(l1,l2);\n\n    l1\t= (min.y - pos.y) * rcp_dir.y;\n    l2\t= (max.y - pos.y) * rcp_dir.y;\n    lmin\t= maxf(minf(l1,l2), lmin);\n    lmax\t= minf(maxf(l1,l2), lmax);\n\n    l1\t= (min.z - pos.z) * rcp_dir.z;\n    l2\t= (max.z - pos.z) * rcp_dir.z;\n    lmin\t= maxf(minf(l1,l2), lmin);\n    lmax\t= minf(maxf(l1,l2), lmax);\n\n    //return ((lmax > 0.f) & (lmax >= lmin));\n    //return ((lmax > 0.f) & (lmax > lmin));\n    bool hit = ((lmax >= 0.f) & (lmax >= lmin));\n    if (hit)\n        t = lmin;\n    return hit;\n}\n\n\nCUDA_CALLABLE inline bool IntersectRayAABB(const Vec3& start, const Vector3& dir, const Vector3& min, const Vector3& max, float& t, Vector3* normal)\n{\n\t//! calculate candidate plane on each axis\n\tfloat tx = -1.0f, ty = -1.0f, tz = -1.0f;\n\tbool inside = true;\n\t\t\t\n\t//! use unrolled loops\n\n\t//! x\n\tif (start.x < min.x)\n\t{\n\t\tif (dir.x != 0.0f)\n\t\t\ttx = (min.x-start.x)/dir.x;\n\t\tinside = false;\n\t}\n\telse if (start.x > max.x)\n\t{\n\t\tif (dir.x != 0.0f)\n\t\t\ttx = (max.x-start.x)/dir.x;\n\t\tinside = false;\n\t}\n\n\t//! y\n\tif (start.y < min.y)\n\t{\n\t\tif (dir.y != 0.0f)\n\t\t\tty = (min.y-start.y)/dir.y;\n\t\tinside = false;\n\t}\n\telse if (start.y > max.y)\n\t{\n\t\tif (dir.y != 0.0f)\n\t\t\tty = (max.y-start.y)/dir.y;\n\t\tinside = false;\n\t}\n\n\t//! z\n\tif (start.z < min.z)\n\t{\n\t\tif (dir.z != 0.0f)\n\t\t\ttz = (min.z-start.z)/dir.z;\n\t\tinside = false;\n\t}\n\telse if (start.z > max.z)\n\t{\n\t\tif (dir.z != 0.0f)\n\t\t\ttz = (max.z-start.z)/dir.z;\n\t\tinside = false;\n\t}\n\n\t//! if point inside all planes\n\tif (inside)\n    {\n        t = 0.0f;\n\t\treturn true;\n    }\n\n\t//! we now have t values for each of possible intersection planes\n\t//! find the maximum to get the intersection point\n\tfloat tmax = tx;\n\tint taxis = 0;\n\n\tif (ty > tmax)\n\t{\n\t\ttmax = ty;\n\t\ttaxis = 1;\n\t}\n\tif (tz > tmax)\n\t{\n\t\ttmax = tz;\n\t\ttaxis = 2;\n\t}\n\n\tif (tmax < 0.0f)\n\t\treturn false;\n\n\t//! check that the intersection point lies on the plane we picked\n\t//! we don't test the axis of closest intersection for precision reasons\n\n\t//! no eps for now\n\tfloat eps = 0.0f;\n\n\tVec3 hit = start + dir*tmax;\n\n\tif ((hit.x < min.x-eps || hit.x > max.x+eps) && taxis != 0)\n\t\treturn false;\n\tif ((hit.y < min.y-eps || hit.y > max.y+eps) && taxis != 1)\n\t\treturn false;\n\tif ((hit.z < min.z-eps || hit.z > max.z+eps) && taxis != 2)\n\t\treturn false;\n\n\t//! output results\n\tt = tmax;\n\t\t\t\n\treturn true;\n}\n\n// construct a plane equation such that ax + by + cz + dw = 0\nCUDA_CALLABLE inline Vec4 PlaneFromPoints(const Vec3& p, const Vec3& q, const Vec3& r)\n{\n\tVec3 e0 = q-p;\n\tVec3 e1 = r-p;\n\n\tVec3 n = SafeNormalize(Cross(e0, e1));\n\t\n\treturn Vec4(n.x, n.y, n.z, -Dot(p, n));\n}\n\nCUDA_CALLABLE inline bool IntersectPlaneAABB(const Vec4& plane, const Vec3& center, const Vec3& extents)\n{\n\tfloat radius = Abs(extents.x*plane.x) + Abs(extents.y*plane.y) + Abs(extents.z*plane.z);\n\tfloat delta = Dot(center, Vec3(plane)) + plane.w;\n\n\treturn Abs(delta) <= radius;\n}\n\n// 2d rectangle class\nclass Rect\n{\npublic:\n\n\tRect() : m_left(0), m_right(0), m_top(0), m_bottom(0) {}\n\n\tRect(uint32_t left, uint32_t right, uint32_t top, uint32_t bottom) : m_left(left), m_right(right), m_top(top), m_bottom(bottom)\n\t{\n\t\tassert(left <= right);\n\t\tassert(top <= bottom);\t\n\t}\n\n\tuint32_t Width() const { return m_right - m_left; }\n\tuint32_t Height() const { return m_bottom - m_top; }\n\n\t// expand rect x units in each direction\n\tvoid Expand(uint32_t x)\n\t{\n\t\tm_left -= x;\n\t\tm_right += x;\n\t\tm_top -= x;\n\t\tm_bottom += x;\n\t}\n\n\tuint32_t Left() const { return m_left; }\n\tuint32_t Right() const { return m_right; }\n\tuint32_t Top() const { return m_top; }\n\tuint32_t Bottom() const { return m_bottom; }\n\n\tbool Contains(uint32_t x, uint32_t y) const\n\t{\n\t\treturn (x >= m_left) && (x <= m_right) && (y >= m_top) && (y <= m_bottom);\n\t}\n\n\tuint32_t m_left;\n\tuint32_t m_right;\n\tuint32_t m_top;\n\tuint32_t m_bottom;\n};\n\n// doesn't really belong here but efficient (and I believe correct) in place random shuffle based on the Fisher-Yates / Knuth algorithm\ntemplate <typename T>\nvoid RandomShuffle(T begin, T end)\n{\n\tassert(end > begin);\n\tuint32_t n = distance(begin, end);\n\n\tfor (uint32_t i=0; i < n; ++i)\n\t{\n\t\t// pick a random number between 0 and n-1\n\t\tuint32_t r = Rand() % (n-i);\n\n\t\t// swap that location with the current randomly selected position\n\t\tswap(*(begin+i), *(begin+(i+r)));\n\t}\n}\n\n\nCUDA_CALLABLE inline Quat QuatFromAxisAngle(const Vec3& axis, float angle)\n{\n\tVec3 v = Normalize(axis);\n\n\tfloat half = angle*0.5f;\n\tfloat w = cosf(half);\n\n\tconst float sin_theta_over_two = sinf(half);\n\tv *= sin_theta_over_two;\n\n\treturn Quat(v.x, v.y, v.z, w);\n}\n\n\n// rotate by quaternion (q, w)\nCUDA_CALLABLE inline Vec3 rotate(const Vec3& q, float w, const Vec3& x)\n{\n\treturn 2.0f*(x*(w*w-0.5f) + Cross(q, x)*w + q*Dot(q, x));\n}\n\n// rotate x by inverse transform in (q, w)\nCUDA_CALLABLE inline Vec3 rotateInv(const Vec3& q, float w, const Vec3& x)\n{\n\treturn 2.0f*(x*(w*w-0.5f) - Cross(q, x)*w + q*Dot(q, x));\n}\n\nCUDA_CALLABLE inline void TransformBounds(const Quat& q, Vec3 extents, Vec3& newExtents)\n{\n\tMatrix33 transform(q);\n\n\ttransform.cols[0] *= extents.x;\n\ttransform.cols[1] *= extents.y;\n\ttransform.cols[2] *= extents.z;\n\n\tfloat ex = fabsf(transform.cols[0].x) + fabsf(transform.cols[1].x) + fabsf(transform.cols[2].x);\n\tfloat ey = fabsf(transform.cols[0].y) + fabsf(transform.cols[1].y) + fabsf(transform.cols[2].y);\n\tfloat ez = fabsf(transform.cols[0].z) + fabsf(transform.cols[1].z) + fabsf(transform.cols[2].z);\n\n\tnewExtents = Vec3(ex, ey, ez);\n}\n\nCUDA_CALLABLE inline void TransformBounds(const Vec3& localLower, const Vec3& localUpper, const Vec3& translation, const Quat& rotation, float scale, Vec3& lower, Vec3& upper)\n{\n\tMatrix33 transform(rotation);\n\n\tVec3 extents = (localUpper-localLower)*scale;\n\n\ttransform.cols[0] *= extents.x;\n\ttransform.cols[1] *= extents.y;\n\ttransform.cols[2] *= extents.z;\n\n\tfloat ex = fabsf(transform.cols[0].x) + fabsf(transform.cols[1].x) + fabsf(transform.cols[2].x);\n\tfloat ey = fabsf(transform.cols[0].y) + fabsf(transform.cols[1].y) + fabsf(transform.cols[2].y);\n\tfloat ez = fabsf(transform.cols[0].z) + fabsf(transform.cols[1].z) + fabsf(transform.cols[2].z);\n\n\tVec3 center = (localUpper+localLower)*0.5f*scale;\n\n\tlower = rotation*center + translation - Vec3(ex, ey, ez)*0.5f;\n\tupper = rotation*center + translation + Vec3(ex, ey, ez)*0.5f;\n}\n\n// Poisson sample the volume of a sphere with given separation\ninline int PoissonSample3D(float radius, float separation, Vec3* points, int maxPoints, int maxAttempts)\n{\n\t// naive O(n^2) dart throwing algorithm to generate a Poisson distribution\n\tint c = 0;\n\twhile (c < maxPoints)\n\t{\n\t\tint a = 0;\n\t\twhile (a < maxAttempts)\n\t\t{\n\t\t\tconst Vec3 p = UniformSampleSphereVolume()*radius;\n\n\t\t\t// test against points already generated\n\t\t\tint i=0;\n\t\t\tfor (; i < c; ++i)\n\t\t\t{\n\t\t\t\tVec3 d = p-points[i];\n\n\t\t\t\t// reject if closer than separation\n\t\t\t\tif (LengthSq(d) < separation*separation)\n\t\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\t// sample passed all tests, accept\n\t\t\tif (i == c)\n\t\t\t{\n\t\t\t\tpoints[c] = p;\n\t\t\t\t++c;\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\t++a;\n\t\t}\n\n\t\t// exit if we reached the max attempts and didn't manage to add a point\n\t\tif (a == maxAttempts)\n\t\t\tbreak;\n\t}\n\n\treturn c;\n}\n\n// Generates an optimally dense sphere packing at the origin (implicit sphere at the origin)\ninline int TightPack3D(float radius, float separation, Vec3* points, int maxPoints)\n{\t\n\tint dim = int(ceilf(radius/separation));\n\n\tint c = 0;\n\n\tfor (int z=-dim; z <= dim; ++z)\n\t{\n\t\tfor (int y=-dim; y <= dim; ++y)\n\t\t{\n\t\t\tfor (int x=-dim; x <= dim; ++x)\n\t\t\t{\n\t\t\t\tfloat xpos = x*separation + (((y+z)&1)?separation*0.5f:0.0f);\n\t\t\t\tfloat ypos = y*sqrtf(0.75f)*separation;\n\t\t\t\tfloat zpos = z*sqrtf(0.75f)*separation;\n\n\t\t\t\tVec3 p(xpos, ypos, zpos);\n\n\t\t\t\t// skip center\n\t\t\t\tif (LengthSq(p) == 0.0f)\n\t\t\t\t\tcontinue;\n\n\t\t\t\tif (c < maxPoints && Length(p) <= radius)\n\t\t\t\t{\n\t\t\t\t\tpoints[c] = p;\n\t\t\t\t\t++c;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn c;\n}\n\n\nstruct Bounds\n{\n\tCUDA_CALLABLE inline Bounds() : lower( FLT_MAX)\n\t\t\t\t\t\t   , upper(-FLT_MAX) {}\n\n\tCUDA_CALLABLE inline Bounds(const Vec3& lower, const Vec3& upper) : lower(lower), upper(upper) {}\n\n\tCUDA_CALLABLE inline Vec3 GetCenter() const { return 0.5f*(lower+upper); }\n\tCUDA_CALLABLE inline Vec3 GetEdges() const { return upper-lower; }\n\n\tCUDA_CALLABLE inline void Expand(float r)\n\t{\n\t\tlower -= Vec3(r);\n\t\tupper += Vec3(r);\n\t}\n\n\tCUDA_CALLABLE inline void Expand(const Vec3& r)\n\t{\n\t\tlower -= r;\n\t\tupper += r;\n\t}\n\n\tCUDA_CALLABLE inline bool Empty() const { return lower.x >= upper.x || lower.y >= upper.y || lower.z >= upper.z; }\n\n\tCUDA_CALLABLE inline bool Overlaps(const Vec3& p) const\n\t{\n\t\tif (p.x < lower.x ||\n\t\t\tp.y < lower.y ||\n\t\t\tp.z < lower.z ||\n\t\t\tp.x > upper.x ||\n\t\t\tp.y > upper.y ||\n\t\t\tp.z > upper.z)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\telse\n\t\t{\n\t\t\treturn true;\n\t\t}\n\t}\n\n\tCUDA_CALLABLE inline bool Overlaps(const Bounds& b) const\n\t{\n\t\tif (lower.x > b.upper.x ||\n\t\t\tlower.y > b.upper.y ||\n\t\t\tlower.z > b.upper.z ||\n\t\t\tupper.x < b.lower.x ||\n\t\t\tupper.y < b.lower.y ||\n\t\t\tupper.z < b.lower.z)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\telse\n\t\t{\n\t\t\treturn true;\n\t\t}\n\t}\n\n\tVec3 lower;\n\tVec3 upper;\n};\n\nCUDA_CALLABLE inline Bounds Union(const Bounds& a, const Vec3& b) \n{\n\treturn Bounds(Min(a.lower, b), Max(a.upper, b));\n}\n\nCUDA_CALLABLE inline Bounds Union(const Bounds& a, const Bounds& b) \n{\n\treturn Bounds(Min(a.lower, b.lower), Max(a.upper, b.upper));\n}\n\nCUDA_CALLABLE inline Bounds Intersection(const Bounds& a, const Bounds& b)\n{\n\treturn Bounds(Max(a.lower, b.lower), Min(a.upper, b.upper));\n}\n"
  },
  {
    "path": "core/matnn.h",
    "content": "// This code contains NVIDIA Confidential Information and is disclosed to you\n// under a form of NVIDIA software license agreement provided separately to you.\n//\n// Notice\n// NVIDIA Corporation and its licensors retain all intellectual property and\n// proprietary rights in and to this software and related documentation and\n// any modifications thereto. Any use, reproduction, disclosure, or\n// distribution of this software and related documentation without an express\n// license agreement from NVIDIA Corporation is strictly prohibited.\n//\n// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED \"AS IS.\". NVIDIA MAKES\n// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO\n// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,\n// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.\n//\n// Information and code furnished is believed to be accurate and reliable.\n// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such\n// information or for any infringement of patents or other rights of third parties that may\n// result from its use. No license is granted by implication or otherwise under any patent\n// or patent rights of NVIDIA Corporation. Details are subject to change without notice.\n// This code supersedes and replaces all information previously supplied.\n// NVIDIA Corporation products are not authorized for use as critical\n// components in life support devices or systems without express written approval of\n// NVIDIA Corporation.\n//\n// Copyright (c) 2013-2020 NVIDIA Corporation. All rights reserved.\n\n#pragma once\n\ntemplate <int m, int n, typename T=double>\nclass XMatrix\n{\npublic:\n\n\tXMatrix()\n\t{\n\t\tmemset(data, 0, sizeof(*this));\n\t}\n\n\tXMatrix(const XMatrix<m, n>& a)\n\t{\n\t\tmemcpy(data, a.data, sizeof(*this));\n\t}\n\n\ttemplate <typename OtherT>\n\tXMatrix(const OtherT* ptr)\n\t{\n\t\tfor (int j=0; j < n; ++j)\n\t\t\tfor (int i=0; i < m; ++i)\n\t\t\t\tdata[j][i] = *(ptr++);\n\t}\t\t\n\n\tconst XMatrix<m,n>& operator=(const XMatrix<m,n>& a)\n\t{\t\n\t\tmemcpy(data, a.data, sizeof(*this));\n\t\treturn *this;\n\t}\n\n\ttemplate <typename OtherT>\n\tvoid SetCol(int j, const XMatrix<m, 1, OtherT>& c)\n\t{\n\t\tfor (int i=0; i < m; ++i)\n\t\t\tdata[j][i] = c(i, 0);\n\t}\n\n\ttemplate <typename OtherT>\n\tvoid SetRow(int i, const XMatrix<1, n, OtherT>& r)\n\t{\n\t\tfor (int j=0; j < m; ++j)\n\t\t\tdata[j][i] = r(0, j);\n\t}\n\n\tT& operator()(int row, int col) { return data[col][row]; }\n\tconst T& operator()(int row, int col) const { return data[col][row]; }\n\n\n\tvoid SetIdentity()\n\t{\n\t\tfor (int i=0; i < m; ++i)\n\t\t{\n\t\t\tfor (int j=0; j < n; ++j)\n\t\t\t{\n\t\t\t\tif (i == j)\n\t\t\t\t\tdata[i][j] = 1.0;\n\t\t\t\telse\n\t\t\t\t\tdata[i][j] = 0.0;\n\t\t\t}\n\t\t}\n\t}\n\n\t// column major storage\n\tT data[n][m];\n};\n\ntemplate <int m, int n, typename T>\nXMatrix<m, n, T> operator-(const XMatrix<m, n, T>& lhs, const XMatrix<m, n, T>& rhs)\n{\n\tXMatrix<m, n> d;\n\n\tfor (int i=0; i < m; ++i)\n\t\tfor (int j=0; j < n; ++j)\n\t\t\td(i, j) = lhs(i,j)-rhs(i,j);\n\t\t\t\t\n\n\treturn d;\n}\t\n\ntemplate <int m, int n, typename T>\nXMatrix<m, n, T> operator+(const XMatrix<m, n, T>& lhs, const XMatrix<m, n, T>& rhs)\n{\n\tXMatrix<m, n> d;\n\n\tfor (int i=0; i < m; ++i)\n\t\tfor (int j=0; j < n; ++j)\n\t\t\td(i, j) = lhs(i,j)+rhs(i,j);\n\t\t\t\t\n\n\treturn d;\n}\t\n\n\ntemplate <int m, int n, int o, typename T>\nXMatrix<m, o> Multiply(const XMatrix<m, n, T>& lhs, const XMatrix<n, o, T>& rhs)\n{\n\tXMatrix<m, o> ret;\n\n\tfor (int i=0; i < m; ++i)\n\t{\n\t\tfor (int j=0; j < o; ++j)\n\t\t{\n\t\t\tT sum = 0.0f;\n\n\t\t\tfor (int k=0; k < n; ++k)\n\t\t\t{\n\t\t\t\tsum += lhs(i, k)*rhs(k, j);\n\t\t\t}\n\n\t\t\tret(i, j) = sum;\n\t\t}\n\t}\n\n\treturn ret;\n}\n\n\ntemplate <int m, int n>\nXMatrix<n, m> Transpose(const XMatrix<m, n>& a)\n{\n\tXMatrix<n, m> ret;\n\t\n\tfor (int i=0; i < m; ++i)\n\t{\n\t\tfor (int j=0; j < n; ++j)\n\t\t{\n\t\t\tret(j, i) = a(i, j);\n\t\t}\n\t}\n\t\n\treturn ret;\n}\n\n\n\n// matrix to swap row i and j when multiplied on the right\ntemplate <int n>\nXMatrix<n,n> Permutation(int i, int j)\n{\n\tXMatrix<n, n> m;\n\tm.SetIdentity();\n\n\tm(i, i) = 0.0;\n\tm(i, j) = 1.0;\n\n\tm(j, j) = 0.0;\n\tm(j, i) = 1.0;\n\n\treturn m;\n}\n\ntemplate <int m, int n>\nvoid PrintMatrix(const char* name, XMatrix<m, n> a)\n{\n\tprintf(\"%s = [\\n\", name);\n\n\tfor (int i=0; i < m; ++i)\n\t{\n\t\tprintf (\"[ \");\n\n\t\tfor (int j=0; j < n; ++j)\n\t\t{\n\t\t\tprintf(\"% .4f\", float(a(i, j)));\n\t\t\t\n\t\t\tif (j < n-1)\n\t\t\t\tprintf(\" \");\n\t\t}\n\n\t\tprintf(\" ]\\n\");\n\t}\n\n\tprintf(\"]\\n\");\n}\n\ntemplate <int n, typename T>\nXMatrix<n, n, T> LU(const XMatrix<n ,n, T>& m, XMatrix<n,n, T>& L)\n{\n\tXMatrix<n,n> U = m;\n\tL.SetIdentity();\n\n\t// for each row\n\tfor (int j=0; j < n; ++j)\n\t{\n\t\tXMatrix<n,n> Li, LiInv;\n\t\tLi.SetIdentity();\n\t\tLiInv.SetIdentity();\n\n\t\tT pivot = U(j, j);\n\n\t\tif (pivot == 0.0)\n\t\t\treturn U;\n\n\t\tassert(pivot != 0.0);\n\n\t\t// zero our all entries below pivot\n\t\tfor (int i=j+1; i < n; ++i)\n\t\t{\n\t\t\tT l = -U(i, j)/pivot;\n\t\t\t\n\t\t\tLi(i,j) = l;\t\n\n\t\t\t// create inverse of L1..Ln as we go (this is L)\n\t\t\tL(i,j) = -l;\n\t\t}\n\n\t\tU = Multiply(Li, U);\n\t}\n\n\treturn U;\n}\n\ntemplate <int m, typename T>\nXMatrix<m, 1, T> Solve(const XMatrix<m, m, T>& L, const XMatrix<m, m, T>& U, const XMatrix<m, 1, T>& b)\n{\n\tXMatrix<m, 1> y;\n\tXMatrix<m, 1> x;\n\n\t// Ly = b (forward substitution)\n\tfor (int i=0; i < m; ++i)\n\t{\n\t\tT sum = 0.0;\n\n\t\tfor (int j=0; j < i; ++j)\n\t\t{\n\t\t\tsum += y(j, 0)*L(i, j);\t\n\t\t}\t\n\n\t\tassert(L(i,i) != 0.0);\n\n\t\ty(i, 0) = (b(i,0) - sum) / L(i, i);\n\t}\t\n\t\n\t// Ux = y (back substitution)\n\tfor (int i=m-1; i >= 0; --i)\n\t{\n\t\tT sum = 0.0;\n\t\t\n\t\tfor (int j=i+1; j < m; ++j)\n\t\t{\n\t\t\tsum += x(j, 0)*U(i, j);\n\t\t}\t\n\n\t\tassert(U(i,i) != 0.0);\n\n\t\tx(i, 0) = (y(i, 0) - sum) / U(i,i);\n\t}\n\n\treturn x;\n}\n\ntemplate <int n, typename T>\nT Determinant(const XMatrix<n, n, T>& A, XMatrix<n, n, T>& L, XMatrix<n, n, T>& U)\n{\n\tU = LU(A, L); \n\n\t// determinant is the product of diagonal entries of U (assume L has 1s on diagonal)\n\tT det = 1.0;\t\n\tfor (int i=0; i < n; ++i)\n\t\tdet *= U(i, i);\n\n\treturn det;\t\n}\n\ntemplate <int n, typename T>\nXMatrix<n, n, T> Inverse(const XMatrix<n, n, T>& A, T& det)\n{\n\tXMatrix<n,n> L, U;\n\tdet = Determinant(A, L, U);\n\t\n\tXMatrix<n,n> Inv;\n\n\tif (det != 0.0f)\n\t{\n\t\tfor (int i=0; i < n; ++i)\n\t\t{\n\t\t\t// solve for each column of the identity matrix\n\t\t\tXMatrix<n, 1> I;\n\t\t\tI(i, 0) = 1.0;\n\n\t\t\tXMatrix<n, 1> x = Solve(L, U, I);\n\n\t\t\tInv.SetCol(i, x);\n\t\t}\n\t}\n\n\treturn Inv;\n}\n\ntemplate <int m, int n, typename T>\nT FrobeniusNorm(const XMatrix<m, n, T>& A)\n{\n\tT sum = 0.0;\n\tfor (int i=0; i < m; ++i)\n\t\tfor (int j=0; j < n; ++j)\n\t\t\tsum += A(i,j)*A(i,j);\n\n\treturn sqrt(sum);\n}\n"
  },
  {
    "path": "core/mesh.cpp",
    "content": "// This code contains NVIDIA Confidential Information and is disclosed to you\n// under a form of NVIDIA software license agreement provided separately to you.\n//\n// Notice\n// NVIDIA Corporation and its licensors retain all intellectual property and\n// proprietary rights in and to this software and related documentation and\n// any modifications thereto. Any use, reproduction, disclosure, or\n// distribution of this software and related documentation without an express\n// license agreement from NVIDIA Corporation is strictly prohibited.\n//\n// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED \"AS IS.\". NVIDIA MAKES\n// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO\n// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,\n// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.\n//\n// Information and code furnished is believed to be accurate and reliable.\n// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such\n// information or for any infringement of patents or other rights of third parties that may\n// result from its use. No license is granted by implication or otherwise under any patent\n// or patent rights of NVIDIA Corporation. Details are subject to change without notice.\n// This code supersedes and replaces all information previously supplied.\n// NVIDIA Corporation products are not authorized for use as critical\n// components in life support devices or systems without express written approval of\n// NVIDIA Corporation.\n//\n// Copyright (c) 2013-2020 NVIDIA Corporation. All rights reserved.\n\n#include \"mesh.h\"\n#include \"platform.h\"\n\n#include <map>\n#include <fstream>\n#include <iostream>\n\nusing namespace std;\n\nvoid Mesh::DuplicateVertex(uint32_t i)\n{\n\tassert(m_positions.size() > i);\t\n\tm_positions.push_back(m_positions[i]);\n\t\n\tif (m_normals.size() > i)\n\t\tm_normals.push_back(m_normals[i]);\n\t\n\tif (m_colours.size() > i)\n\t\tm_colours.push_back(m_colours[i]);\n\t\n\tif (m_texcoords[0].size() > i)\n\t\tm_texcoords[0].push_back(m_texcoords[0][i]);\n\t\n\tif (m_texcoords[1].size() > i)\n\t\tm_texcoords[1].push_back(m_texcoords[1][i]);\n\t\n}\n\nvoid Mesh::Normalize(float s)\n{\n\tVec3 lower, upper;\n\tGetBounds(lower, upper);\n\tVec3 edges = upper-lower;\n\n\tTransform(TranslationMatrix(Point3(-lower)));\n\n\tfloat maxEdge = max(edges.x, max(edges.y, edges.z));\n\tTransform(ScaleMatrix(s/maxEdge));\n}\n\nvoid Mesh::CalculateNormals()\n{\n\tm_normals.resize(0);\n\tm_normals.resize(m_positions.size());\n\n\tint numTris = int(GetNumFaces());\n\n\tfor (int i=0; i < numTris; ++i)\n\t{\n\t\tint a = m_indices[i*3+0];\n\t\tint b = m_indices[i*3+1];\n\t\tint c = m_indices[i*3+2];\n\t\t\n\t\tVec3 n = Cross(m_positions[b]-m_positions[a], m_positions[c]-m_positions[a]);\n\n\t\tm_normals[a] += n;\n\t\tm_normals[b] += n;\n\t\tm_normals[c] += n;\n\t}\n\n\tint numVertices = int(GetNumVertices());\n\n\tfor (int i=0; i < numVertices; ++i)\n\t\tm_normals[i] = ::Normalize(m_normals[i]);\n}\n\nnamespace \n{\n\n    enum PlyFormat\n    {\n        eAscii,\n        eBinaryBigEndian    \n    };\n\n    template <typename T>\n    T PlyRead(ifstream& s, PlyFormat format)\n    {\n        T data = eAscii;\n\n        switch (format)\n        {\n            case eAscii:\n            {\n                s >> data;\n                break;\n            }\n            case eBinaryBigEndian:\n            {\n                char c[sizeof(T)];\n                s.read(c, sizeof(T));\n                reverse(c, c+sizeof(T));\n                data = *(T*)c;\n                break;\n            }      \n\t\t\tdefault:\n\t\t\t\tassert(0);\n        }\n\n        return data;\n    }\n\n} // namespace anonymous\n\n\nMesh* ImportMesh(const char* path)\n{\n\tstd::string ext = GetExtension(path);\n\n\tMesh* mesh = NULL;\n\n\tif (ext == \"ply\")\n\t\tmesh = ImportMeshFromPly(path);\n\telse if (ext == \"obj\")\n\t\tmesh = ImportMeshFromObj(path);\n\n\n\treturn mesh;\n}\n\nMesh* ImportMeshFromBin(const char* path)\n{\n\tdouble start = GetSeconds();\n\n\tFILE* f = fopen(path, \"rb\");\n\n\tif (f)\n\t{\n\t\tint numVertices;\n\t\tint numIndices;\n\n\t\tsize_t len;\n\t\tlen = fread(&numVertices, sizeof(numVertices), 1, f);\n\t\tlen = fread(&numIndices, sizeof(numIndices), 1, f);\n\n\t\tMesh* m = new Mesh();\n\t\tm->m_positions.resize(numVertices);\n\t\tm->m_normals.resize(numVertices);\n\t\tm->m_indices.resize(numIndices);\n\n\t\tlen = fread(&m->m_positions[0], sizeof(Vec3)*numVertices, 1, f);\n\t\tlen = fread(&m->m_normals[0], sizeof(Vec3)*numVertices, 1, f);\n\t\tlen = fread(&m->m_indices[0], sizeof(int)*numIndices, 1, f);\n\n\t\t(void)len;\n\t\t\n\t\tfclose(f);\n\n\t\tdouble end = GetSeconds();\n\n\t\tprintf(\"Imported mesh %s in %f ms\\n\", path, (end-start)*1000.0f);\n\n\t\treturn m;\n\t}\n\n\treturn NULL;\n}\n\nvoid ExportMeshToBin(const char* path, const Mesh* m)\n{\n\tFILE* f = fopen(path, \"wb\");\n\n\tif (f)\n\t{\n\t\tint numVertices = int(m->m_positions.size());\n\t\tint numIndices = int(m->m_indices.size());\n\n\t\tfwrite(&numVertices, sizeof(numVertices), 1, f);\n\t\tfwrite(&numIndices, sizeof(numIndices), 1, f);\n\n\t\t// write data blocks\n\t\tfwrite(&m->m_positions[0], sizeof(Vec3)*numVertices, 1, f);\n\t\tfwrite(&m->m_normals[0], sizeof(Vec3)*numVertices, 1, f);\t\t\n\t\tfwrite(&m->m_indices[0], sizeof(int)*numIndices, 1, f);\n\n\t\tfclose(f);\n\t}\n}\n\nMesh* ImportMeshFromPly(const char* path)\n{\n    ifstream file(path, ios_base::in | ios_base::binary);\n\n    if (!file)\n        return NULL;\n\n    // some scratch memory\n    const uint32_t kMaxLineLength = 1024;\n    char buffer[kMaxLineLength];\n\n    //double startTime = GetSeconds();\n\n    file >> buffer;\n    if (strcmp(buffer, \"ply\") != 0)\n        return NULL;\n\n    PlyFormat format = eAscii;\n\n    uint32_t numFaces = 0;\n    uint32_t numVertices = 0;\n\n    const uint32_t kMaxProperties = 16;\n    uint32_t numProperties = 0; \n    float properties[kMaxProperties];\n\n    bool vertexElement = false;\n\n    while (file)\n    {\n        file >> buffer;\n\n        if (strcmp(buffer, \"element\") == 0)\n        {\n            file >> buffer;\n\n            if (strcmp(buffer, \"face\") == 0)\n            {                \n                vertexElement = false;\n                file >> numFaces;\n            }\n\n            else if (strcmp(buffer, \"vertex\") == 0)\n            {\n                vertexElement = true;\n                file >> numVertices;\n            }\n        }\n        else if (strcmp(buffer, \"format\") == 0)\n        {\n            file >> buffer;\n            if (strcmp(buffer, \"ascii\") == 0)\n            {\n                format = eAscii;\n            }\n            else if (strcmp(buffer, \"binary_big_endian\") == 0)\n            {\n                format = eBinaryBigEndian;\n            }\n\t\t\telse\n\t\t\t{\n\t\t\t\tprintf(\"Ply: unknown format\\n\");\n\t\t\t\treturn NULL;\n\t\t\t}\n        }\n        else if (strcmp(buffer, \"property\") == 0)\n        {\n            if (vertexElement)\n                ++numProperties;\n        }\n        else if (strcmp(buffer, \"end_header\") == 0)\n        {\n            break;\n        }\n    }\n\n    // eat newline\n    char nl;\n    file.read(&nl, 1);\n\t\n\t// debug\n#if ENABLE_VERBOSE_OUTPUT\n\tprintf (\"Loaded mesh: %s numFaces: %d numVertices: %d format: %d numProperties: %d\\n\", path, numFaces, numVertices, format, numProperties);\n#endif\n\n    Mesh* mesh = new Mesh;\n\n    mesh->m_positions.resize(numVertices);\n    mesh->m_normals.resize(numVertices);\n    mesh->m_colours.resize(numVertices, Colour(1.0f, 1.0f, 1.0f, 1.0f));\n\n    mesh->m_indices.reserve(numFaces*3);\n\n    // read vertices\n    for (uint32_t v=0; v < numVertices; ++v)\n    {\n        for (uint32_t i=0; i < numProperties; ++i)\n        {\n            properties[i] = PlyRead<float>(file, format);\n        }\n\n        mesh->m_positions[v] = Point3(properties[0], properties[1], properties[2]);\n        mesh->m_normals[v] = Vector3(0.0f, 0.0f, 0.0f);\n    }\n\n    // read indices\n    for (uint32_t f=0; f < numFaces; ++f)\n    {\n        uint32_t numIndices = (format == eAscii)?PlyRead<uint32_t>(file, format):PlyRead<uint8_t>(file, format);\n\t\tuint32_t indices[4];\n\n\t\tfor (uint32_t i=0; i < numIndices; ++i)\n\t\t{\n\t\t\tindices[i] = PlyRead<uint32_t>(file, format);\n\t\t}\n\n\t\tswitch (numIndices)\n\t\t{\n\t\tcase 3:\n\t\t\tmesh->m_indices.push_back(indices[0]);\n\t\t\tmesh->m_indices.push_back(indices[1]);\n\t\t\tmesh->m_indices.push_back(indices[2]);\n\t\t\tbreak;\n\t\tcase 4:\n\t\t\tmesh->m_indices.push_back(indices[0]);\n\t\t\tmesh->m_indices.push_back(indices[1]);\n\t\t\tmesh->m_indices.push_back(indices[2]);\n\n\t\t\tmesh->m_indices.push_back(indices[2]);\n\t\t\tmesh->m_indices.push_back(indices[3]);\n\t\t\tmesh->m_indices.push_back(indices[0]);\n\t\t\tbreak;\n\n\t\tdefault:\n\t\t\tassert(!\"invalid number of indices, only support tris and quads\");\n\t\t\tbreak;\n\t\t};\n\n\t\t// calculate vertex normals as we go\n        Point3& v0 = mesh->m_positions[indices[0]];\n        Point3& v1 = mesh->m_positions[indices[1]];\n        Point3& v2 = mesh->m_positions[indices[2]];\n\n        Vector3 n = SafeNormalize(Cross(v1-v0, v2-v0), Vector3(0.0f, 1.0f, 0.0f));\n\n\t\tfor (uint32_t i=0; i < numIndices; ++i)\n\t\t{\n\t        mesh->m_normals[indices[i]] += n;\n\t    }\n\t}\n\n    for (uint32_t i=0; i < numVertices; ++i)\n    {\n        mesh->m_normals[i] = SafeNormalize(mesh->m_normals[i], Vector3(0.0f, 1.0f, 0.0f));\n    }\n\n    //cout << \"Imported mesh \" << path << \" in \" << (GetSeconds()-startTime)*1000.f << \"ms\" << endl;\n\n    return mesh;\n\n}\n\n// map of Material name to Material\nstruct VertexKey\n{\n\tVertexKey() :  v(0), vt(0), vn(0) {}\n\t\n\tuint32_t v, vt, vn;\n\t\n\tbool operator == (const VertexKey& rhs) const\n\t{\n\t\treturn v == rhs.v && vt == rhs.vt && vn == rhs.vn;\n\t}\n\t\n\tbool operator < (const VertexKey& rhs) const\n\t{\n\t\tif (v != rhs.v)\n\t\t\treturn v < rhs.v;\n\t\telse if (vt != rhs.vt)\n\t\t\treturn vt < rhs.vt;\n\t\telse\n\t\t\treturn vn < rhs.vn;\n\t}\n};\n\nMesh* ImportMeshFromObj(const char* path)\n{\n    ifstream file(path);\n\n    if (!file)\n        return NULL;\n\n    Mesh* m = new Mesh();\n\n    vector<Point3> positions;\n    vector<Vector3> normals;\n    vector<Vector2> texcoords;\n    vector<Vector3> colors;\n    vector<uint32_t>& indices = m->m_indices;\n\n    //typedef unordered_map<VertexKey, uint32_t, MemoryHash<VertexKey> > VertexMap;\n    typedef map<VertexKey, uint32_t> VertexMap;\n    VertexMap vertexLookup;\t\n\n    // some scratch memory\n    const uint32_t kMaxLineLength = 1024;\n    char buffer[kMaxLineLength];\n\n    //double startTime = GetSeconds();\n\n    while (file)\n    {\n        file >> buffer;\n\t\n        if (strcmp(buffer, \"vn\") == 0)\n        {\n            // normals\n            float x, y, z;\n            file >> x >> y >> z;\n\n            normals.push_back(Vector3(x, y, z));\n        }\n        else if (strcmp(buffer, \"vt\") == 0)\n        {\n            // texture coords\n            float u, v;\n            file >> u >> v;\n\n            texcoords.push_back(Vector2(u, v));\n        }\n        else if (buffer[0] == 'v')\n        {\n            // positions\n            float x, y, z;\n            file >> x >> y >> z;\n\n            positions.push_back(Point3(x, y, z));\n        }\n        else if (buffer[0] == 's' || buffer[0] == 'g' || buffer[0] == 'o')\n        {\n            // ignore smoothing groups, groups and objects\n            char linebuf[256];\n            file.getline(linebuf, 256);\t\t\n        }\n        else if (strcmp(buffer, \"mtllib\") == 0)\n        {\n            // ignored\n            std::string MaterialFile;\n            file >> MaterialFile;\n        }\t\t\n        else if (strcmp(buffer, \"usemtl\") == 0)\n        {\n            // read Material name\n            std::string materialName;\n            file >> materialName;\n        }\n        else if (buffer[0] == 'f')\n        {\n            // faces\n            uint32_t faceIndices[4];\n            uint32_t faceIndexCount = 0;\n\n            for (int i=0; i < 4; ++i)\n            {\n                VertexKey key;\n\n                file >> key.v;\n\n\t\t\t\tif (!file.eof())\n\t\t\t\t{\n\t\t\t\t\t// failed to read another index continue on\n\t\t\t\t\tif (file.fail())\n\t\t\t\t\t{\n\t\t\t\t\t\tfile.clear();\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (file.peek() == '/')\n\t\t\t\t\t{\n\t\t\t\t\t\tfile.ignore();\n\n\t\t\t\t\t\tif (file.peek() != '/')\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tfile >> key.vt;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (file.peek() == '/')\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tfile.ignore();\n\t\t\t\t\t\t\tfile >> key.vn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// find / add vertex, index\n\t\t\t\t\tVertexMap::iterator iter = vertexLookup.find(key);\n\n\t\t\t\t\tif (iter != vertexLookup.end())\n\t\t\t\t\t{\n\t\t\t\t\t\tfaceIndices[faceIndexCount++] = iter->second;\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\t// add vertex\n\t\t\t\t\t\tuint32_t newIndex = uint32_t(m->m_positions.size());\n\t\t\t\t\t\tfaceIndices[faceIndexCount++] = newIndex;\n\n\t\t\t\t\t\tvertexLookup.insert(make_pair(key, newIndex)); \t\n\n\t\t\t\t\t\t// push back vertex data\n\t\t\t\t\t\tassert(key.v > 0);\n\n\t\t\t\t\t\tm->m_positions.push_back(positions[key.v-1]);\n\t\t\t\t\t\t\n\t\t\t\t\t\t// obj format doesn't support mesh colours so add default value\n\t\t\t\t\t\tm->m_colours.push_back(Colour(1.0f, 1.0f, 1.0f));\n\n\t\t\t\t\t\t// normal [optional]\n\t\t\t\t\t\tif (key.vn)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tm->m_normals.push_back(normals[key.vn-1]);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// texcoord [optional]\n\t\t\t\t\t\tif (key.vt)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tm->m_texcoords[0].push_back(texcoords[key.vt-1]);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n            }\n\n            if (faceIndexCount == 3)\n            {\n                // a triangle\n                indices.insert(indices.end(), faceIndices, faceIndices+3);\n            }\n            else if (faceIndexCount == 4)\n            {\n                // a quad, triangulate clockwise\n                indices.insert(indices.end(), faceIndices, faceIndices+3);\n\n                indices.push_back(faceIndices[2]);\n                indices.push_back(faceIndices[3]);\n                indices.push_back(faceIndices[0]);\n            }\n            else\n            {\n                cout << \"Face with more than 4 vertices are not supported\" << endl;\n            }\n\n        }\t\t\n        else if (buffer[0] == '#')\n        {\n            // comment\n            char linebuf[256];\n            file.getline(linebuf, 256);\n        }\n    }\n\n    // calculate normals if none specified in file\n    m->m_normals.resize(m->m_positions.size());\n\n    const uint32_t numFaces = uint32_t(indices.size())/3;\n    for (uint32_t i=0; i < numFaces; ++i)\n    {\n        uint32_t a = indices[i*3+0];\n        uint32_t b = indices[i*3+1];\n        uint32_t c = indices[i*3+2];\n\n        Point3& v0 = m->m_positions[a];\n        Point3& v1 = m->m_positions[b];\n        Point3& v2 = m->m_positions[c];\n\n        Vector3 n = SafeNormalize(Cross(v1-v0, v2-v0), Vector3(0.0f, 1.0f, 0.0f));\n\n        m->m_normals[a] += n;\n        m->m_normals[b] += n;\n        m->m_normals[c] += n;\n    }\n\n    for (uint32_t i=0; i < m->m_normals.size(); ++i)\n    {\n        m->m_normals[i] = SafeNormalize(m->m_normals[i], Vector3(0.0f, 1.0f, 0.0f));\n    }\n        \n    //cout << \"Imported mesh \" << path << \" in \" << (GetSeconds()-startTime)*1000.f << \"ms\" << endl;\n\n    return m;\n}\n\nvoid ExportToObj(const char* path, const Mesh& m)\n{\n\tofstream file(path);\n\n    if (!file)\n        return;\n\n\tfile << \"# positions\" << endl;\n\n\tfor (uint32_t i=0; i < m.m_positions.size(); ++i)\n\t{\n\t\tPoint3 v = m.m_positions[i];\n\t\tfile << \"v \" << v.x << \" \" << v.y << \" \" << v.z << endl;\n\t}\n\n\tfile << \"# texcoords\" << endl;\n\n\tfor (uint32_t i=0; i < m.m_texcoords[0].size(); ++i)\n\t{\n\t\tVec2 t = m.m_texcoords[0][i];\n\t\tfile << \"vt \" << t.x << \" \" << t.y << endl;\n\t}\n\n\tfile << \"# normals\" << endl;\n\n\tfor (uint32_t i=0; i < m.m_normals.size(); ++i)\n\t{\n\t\tVec3 n = m.m_normals[0][i];\n\t\tfile << \"vn \" << n.x << \" \" << n.y << \" \" << n.z << endl;\n\t}\n\n\tfile << \"# faces\" << endl;\n\n\tfor (uint32_t i=0; i < m.m_indices.size()/3; ++i)\n\t{\n\t\tuint32_t j = i+1;\n\n\t\t// no sharing, assumes there is a unique position, texcoord and normal for each vertex\n\t\tfile << \"f \" << j << \"/\" << j << \"/\" << j << endl;\n\t}\n}\n\nvoid Mesh::AddMesh(const Mesh& m)\n{\n    uint32_t offset = uint32_t(m_positions.size());\n\n    // add new vertices\n    m_positions.insert(m_positions.end(), m.m_positions.begin(), m.m_positions.end());\n    m_normals.insert(m_normals.end(), m.m_normals.begin(), m.m_normals.end());\n    m_colours.insert(m_colours.end(), m.m_colours.begin(), m.m_colours.end());\n\n    // add new indices with offset\n    for (uint32_t i=0; i < m.m_indices.size(); ++i)\n    {\n        m_indices.push_back(m.m_indices[i]+offset);\n    }    \n}\n\nvoid Mesh::Transform(const Matrix44& m)\n{\n    for (uint32_t i=0; i < m_positions.size(); ++i)\n    {\n        m_positions[i] = m*m_positions[i];\n        m_normals[i] = m*m_normals[i];\n    }\n}\n\nvoid Mesh::GetBounds(Vector3& outMinExtents, Vector3& outMaxExtents) const\n{\n    Point3 minExtents(FLT_MAX);\n    Point3 maxExtents(-FLT_MAX);\n\n    // calculate face bounds\n    for (uint32_t i=0; i < m_positions.size(); ++i)\n    {\n        const Point3& a = m_positions[i];\n\n        minExtents = Min(a, minExtents);\n        maxExtents = Max(a, maxExtents);\n    }\n\n    outMinExtents = Vector3(minExtents);\n    outMaxExtents = Vector3(maxExtents);\n}\n\nMesh* CreateTriMesh(float size, float y)\n{\n\tuint32_t indices[] = { 0, 1, 2 };\n\tPoint3 positions[3];\n\tVector3 normals[3];\n\n\tpositions[0] = Point3(-size, y, size);\n\tpositions[1] = Point3(size, y, size);\n\tpositions[2] = Point3(size, y, -size);\n\n\tnormals[0] = Vector3(0.0f, 1.0f, 0.0f);\n\tnormals[1] = Vector3(0.0f, 1.0f, 0.0f);\n\tnormals[2] = Vector3(0.0f, 1.0f, 0.0f);\n\n\tMesh* m = new Mesh();\n\tm->m_indices.insert(m->m_indices.begin(), indices, indices + 3);\n\tm->m_positions.insert(m->m_positions.begin(), positions, positions + 3);\n\tm->m_normals.insert(m->m_normals.begin(), normals, normals + 3);\n\n\treturn m;\n}\n\nMesh* CreateCubeMesh()\n{\n\tconst Point3 vertices[24] = \n\t{\n\t\tPoint3(0.5, 0.5, 0.5), \n\t\tPoint3(-0.5, 0.5, 0.5), \n\t\tPoint3(0.5, -0.5, 0.5), \n\t\tPoint3(-0.5, -0.5, 0.5), \n\t\tPoint3(0.5, 0.5, -0.5), \n\t\tPoint3(-0.5, 0.5, -0.5), \n\t\tPoint3(0.5, -0.5, -0.5), \n\t\tPoint3(-0.5, -0.5, -0.5), \n\t\tPoint3(0.5, 0.5, 0.5), \n\t\tPoint3(0.5, -0.5, 0.5), \n\t\tPoint3(0.5, 0.5, 0.5), \n\t\tPoint3(0.5, 0.5, -0.5), \n\t\tPoint3(-0.5, 0.5, 0.5), \n\t\tPoint3(-0.5, 0.5, -0.5), \n\t\tPoint3(0.5, -0.5, -0.5), \n\t\tPoint3(0.5, 0.5, -0.5), \n\t\tPoint3(-0.5, -0.5, -0.5), \n\t\tPoint3(0.5, -0.5, -0.5), \n\t\tPoint3(-0.5, -0.5, 0.5), \n\t\tPoint3(0.5, -0.5, 0.5), \n\t\tPoint3(-0.5, -0.5, -0.5), \n\t\tPoint3(-0.5, -0.5, 0.5), \n\t\tPoint3(-0.5, 0.5, -0.5), \n\t\tPoint3(-0.5, 0.5, 0.5)\n\t};\n\n\tconst Vec3 normals[24] =\n\t{\n\t\tVec3(0.0f, 0.0f, 1.0f), \n\t\tVec3(0.0f, 0.0f, 1.0f), \n\t\tVec3(0.0f, 0.0f, 1.0f), \n\t\tVec3(0.0f, 0.0f, 1.0f), \n\t\tVec3(1.0f, 0.0f, 0.0f), \n\t\tVec3(0.0f, 1.0f, 0.0f), \n\t\tVec3(1.0f, 0.0f, 0.0f), \n\t\tVec3(0.0f, 0.0f, -1.0f), \n\t\tVec3(1.0f, 0.0f, 0.0f), \n\t\tVec3(1.0f, 0.0f, 0.0f), \n\t\tVec3(0.0f, 1.0f, 0.0f), \n\t\tVec3(0.0f, 1.0f, 0.0f), \n\t\tVec3(0.0f, 1.0f, 0.0f), \n\t\tVec3(0.0f, 0.0f, -1.0f), \n\t\tVec3(0.0f, 0.0f, -1.0f), \n\t\tVec3(-0.0f, -0.0f, -1.0f), \n\t\tVec3(0.0f, -1.0f, 0.0f), \n\t\tVec3(0.0f, -1.0f, 0.0f), \n\t\tVec3(0.0f, -1.0f, 0.0f), \n\t\tVec3(-0.0f, -1.0f, -0.0f), \n\t\tVec3(-1.0f, 0.0f, 0.0f), \n\t\tVec3(-1.0f, 0.0f, 0.0f), \n\t\tVec3(-1.0f, 0.0f, 0.0f), \n\t\tVec3(-1.0f, -0.0f, -0.0f) \n\t};\t\n\n\tconst int indices[36] = \n\t{\n\t\t0, 1, 2,\n\t\t3, 2, 1, \n\t\t8, 9, 4, \n\t\t6, 4, 9, \n\t\t10, 11, 12, \n\t\t5, 12, 11, \n\t\t7, 13, 14, \n\t\t15, 14, 13, \n\t\t16, 17, 18, \n\t\t19, 18, 17, \n\t\t20, 21, 22, \n\t\t23, 22, 21\n\t};\n\n\tMesh* m = new Mesh();\n\tm->m_positions.assign(vertices, vertices+24);\n\tm->m_normals.assign(normals, normals+24);\n\tm->m_indices.assign(indices, indices+36);\n\n\treturn m;\n\n}\n\nMesh* CreateQuadMesh(float size, float y)\n{\n    uint32_t indices[] = { 0, 1, 2, 2, 3, 0 };\n    Point3 positions[4];\n    Vector3 normals[4];\n\n    positions[0] = Point3(-size, y, size);\n    positions[1] = Point3(size, y, size);\n    positions[2] = Point3(size, y, -size);\n    positions[3] = Point3(-size, y, -size);\n    \n    normals[0] = Vector3(0.0f, 1.0f, 0.0f);\n    normals[1] = Vector3(0.0f, 1.0f, 0.0f);\n    normals[2] = Vector3(0.0f, 1.0f, 0.0f);\n    normals[3] = Vector3(0.0f, 1.0f, 0.0f);\n\n    Mesh* m = new Mesh();\n    m->m_indices.insert(m->m_indices.begin(), indices, indices+6);\n    m->m_positions.insert(m->m_positions.begin(), positions, positions+4);\n    m->m_normals.insert(m->m_normals.begin(), normals, normals+4);\n\n    return m;\n}\n\nMesh* CreateDiscMesh(float radius, uint32_t segments)\n{\n\tconst uint32_t numVerts = 1 + segments;\n\n\tMesh* m = new Mesh();\n\tm->m_positions.resize(numVerts);\n\tm->m_normals.resize(numVerts, Vec3(0.0f, 1.0f, 0.0f));\n\n\tm->m_positions[0] = Point3(0.0f);\n\tm->m_positions[1] = Point3(0.0f, 0.0f, radius);\n\n\tfor (uint32_t i=1; i <= segments; ++i)\n\t{\n\t\tuint32_t nextVert = (i+1)%numVerts;\n\n\t\tif (nextVert == 0)\n\t\t\tnextVert = 1;\n\t\t\n\t\tm->m_positions[nextVert] = Point3(radius*Sin((float(i)/segments)*k2Pi), 0.0f, radius*Cos((float(i)/segments)*k2Pi));\n\n\t\tm->m_indices.push_back(0);\n\t\tm->m_indices.push_back(i);\n\t\tm->m_indices.push_back(nextVert);\t\t\n\t}\n\t\n\treturn m;\n}\n\nMesh* CreateTetrahedron(float ground, float height)\n{\n\tMesh* m = new Mesh();\n\n\tconst float dimValue = 1.0f / sqrtf(2.0f);\n\tconst Point3 vertices[4] =\n\t{\n\t\tPoint3(-1.0f, ground, -dimValue),\n\t\tPoint3(1.0f, ground, -dimValue),\n\t\tPoint3(0.0f, ground + height, dimValue),\n\t\tPoint3(0.0f, ground, dimValue)\n\t};\n\n\tconst int indices[12] = \n\t{\n\t\t//winding order is counter-clockwise\n\t\t0, 2, 1,\n\t\t2, 3, 1,\n\t\t2, 0, 3,\n\t\t3, 0, 1\n\t};\n\n\tm->m_positions.assign(vertices, vertices+4);\n\tm->m_indices.assign(indices, indices+12);\n\n\tm->CalculateNormals();\n\n\treturn m;\n}\n\n\nMesh* CreateSphere(int slices, int segments, float radius)\n{\n\tfloat dTheta = kPi / slices;\n\tfloat dPhi = k2Pi / segments;\n\n\tint vertsPerRow = segments + 1;\n\n\tMesh* mesh = new Mesh();\n\n\tfor (int i = 0; i <= slices; ++i)\n\t{\n\t\tfloat theta = dTheta*i;\n\n\t\tfor (int j = 0; j <= segments; ++j)\n\t\t{\n\t\t\tfloat phi = dPhi*j;\n\n\t\t\tfloat x = sinf(theta)*cosf(phi);\n\t\t\tfloat y = cosf(theta);\n\t\t\tfloat z = sinf(theta)*sinf(phi);\n\n\t\t\tmesh->m_positions.push_back(Point3(x, y, z)*radius);\n\t\t\tmesh->m_normals.push_back(Vec3(x, y, z));\n\n\t\t\tif (i > 0 && j > 0)\n\t\t\t{\n\t\t\t\tint a = i*vertsPerRow + j;\n\t\t\t\tint b = (i - 1)*vertsPerRow + j;\n\t\t\t\tint c = (i - 1)*vertsPerRow + j - 1;\n\t\t\t\tint d = i*vertsPerRow + j - 1;\n\n\t\t\t\t// add a quad for this slice\n\t\t\t\tmesh->m_indices.push_back(b);\n\t\t\t\tmesh->m_indices.push_back(a);\n\t\t\t\tmesh->m_indices.push_back(d);\n\n\t\t\t\tmesh->m_indices.push_back(b);\n\t\t\t\tmesh->m_indices.push_back(d);\n\t\t\t\tmesh->m_indices.push_back(c);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn mesh;\n}\n\nMesh* CreateCapsule(int slices, int segments, float radius, float halfHeight)\n{\n\tfloat dTheta = kPi / (slices * 2);\n\tfloat dPhi = k2Pi / segments;\n\n\tint vertsPerRow = segments + 1;\n\n\tMesh* mesh = new Mesh();\n\n\tfloat theta = 0.0f;\n\n\tfor (int i = 0; i <= 2 * slices + 1; ++i)\n\t{\n\t\tfor (int j = 0; j <= segments; ++j)\n\t\t{\n\t\t\tfloat phi = dPhi*j;\n\n\t\t\tfloat x = sinf(theta)*cosf(phi);\n\t\t\tfloat y = cosf(theta);\n\t\t\tfloat z = sinf(theta)*sinf(phi);\n\n\t\t\t// add y offset based on which hemisphere we're in\n\t\t\tfloat yoffset = (i < slices) ? halfHeight : -halfHeight;\n\n\t\t\tmesh->m_positions.push_back(Point3(x, y, z)*radius + Vec3(0.0f, yoffset, 0.0f));\n\t\t\tmesh->m_normals.push_back(Vec3(x, y, z));\n\n\t\t\tif (i > 0 && j > 0)\n\t\t\t{\n\t\t\t\tint a = i*vertsPerRow + j;\n\t\t\t\tint b = (i - 1)*vertsPerRow + j;\n\t\t\t\tint c = (i - 1)*vertsPerRow + j - 1;\n\t\t\t\tint d = i*vertsPerRow + j - 1;\n\n\t\t\t\t// add a quad for this slice\n\t\t\t\tmesh->m_indices.push_back(b);\n\t\t\t\tmesh->m_indices.push_back(a);\n\t\t\t\tmesh->m_indices.push_back(d);\n\n\t\t\t\tmesh->m_indices.push_back(b);\n\t\t\t\tmesh->m_indices.push_back(d);\n\t\t\t\tmesh->m_indices.push_back(c);\n\t\t\t}\n\t\t}\n\n\t\t// don't update theta for the middle slice\n\t\tif (i != slices)\n\t\t\ttheta += dTheta;\n\t}\n\n\treturn mesh;\n}\n"
  },
  {
    "path": "core/mesh.h",
    "content": "// This code contains NVIDIA Confidential Information and is disclosed to you\n// under a form of NVIDIA software license agreement provided separately to you.\n//\n// Notice\n// NVIDIA Corporation and its licensors retain all intellectual property and\n// proprietary rights in and to this software and related documentation and\n// any modifications thereto. Any use, reproduction, disclosure, or\n// distribution of this software and related documentation without an express\n// license agreement from NVIDIA Corporation is strictly prohibited.\n//\n// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED \"AS IS.\". NVIDIA MAKES\n// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO\n// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,\n// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.\n//\n// Information and code furnished is believed to be accurate and reliable.\n// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such\n// information or for any infringement of patents or other rights of third parties that may\n// result from its use. No license is granted by implication or otherwise under any patent\n// or patent rights of NVIDIA Corporation. Details are subject to change without notice.\n// This code supersedes and replaces all information previously supplied.\n// NVIDIA Corporation products are not authorized for use as critical\n// components in life support devices or systems without express written approval of\n// NVIDIA Corporation.\n//\n// Copyright (c) 2013-2020 NVIDIA Corporation. All rights reserved.\n\n#pragma once\n\n#include <vector>\n\n#include \"core.h\"\n#include \"maths.h\"\n\nstruct Mesh\n{\n    void AddMesh(const Mesh& m);\n\n    uint32_t GetNumVertices() const { return uint32_t(m_positions.size()); }\n    uint32_t GetNumFaces() const { return uint32_t(m_indices.size()) / 3; }\n\n\tvoid DuplicateVertex(uint32_t i);\n\n    void CalculateNormals();\n    void Transform(const Matrix44& m);\n\tvoid Normalize(float s=1.0f);\t// scale so bounds in any dimension equals s and lower bound = (0,0,0)\n\n    void GetBounds(Vector3& minExtents, Vector3& maxExtents) const;\n\n    std::vector<Point3> m_positions;\n    std::vector<Vector3> m_normals;\n    std::vector<Vector2> m_texcoords[2];\n    std::vector<Colour> m_colours;\n\n    std::vector<uint32_t> m_indices;    \n};\n\n// create mesh from file\nMesh* ImportMeshFromObj(const char* path);\nMesh* ImportMeshFromPly(const char* path);\nMesh* ImportMeshFromBin(const char* path);\n\n// just switches on filename\nMesh* ImportMesh(const char* path);\n\n// save a mesh in a flat binary format\nvoid ExportMeshToBin(const char* path, const Mesh* m);\n\n// create procedural primitives\nMesh* CreateTriMesh(float size, float y=0.0f);\nMesh* CreateCubeMesh();\nMesh* CreateQuadMesh(float size, float y=0.0f);\nMesh* CreateDiscMesh(float radius, uint32_t segments);\nMesh* CreateTetrahedron(float ground=0.0f, float height=1.0f); //fixed but not used\nMesh* CreateSphere(int slices, int segments, float radius = 1.0f);\nMesh* CreateCapsule(int slices, int segments, float radius = 1.0f, float halfHeight = 1.0f);\n\n"
  },
  {
    "path": "core/perlin.cpp",
    "content": "// This code contains NVIDIA Confidential Information and is disclosed to you\n// under a form of NVIDIA software license agreement provided separately to you.\n//\n// Notice\n// NVIDIA Corporation and its licensors retain all intellectual property and\n// proprietary rights in and to this software and related documentation and\n// any modifications thereto. Any use, reproduction, disclosure, or\n// distribution of this software and related documentation without an express\n// license agreement from NVIDIA Corporation is strictly prohibited.\n//\n// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED \"AS IS.\". NVIDIA MAKES\n// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO\n// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,\n// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.\n//\n// Information and code furnished is believed to be accurate and reliable.\n// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such\n// information or for any infringement of patents or other rights of third parties that may\n// result from its use. No license is granted by implication or otherwise under any patent\n// or patent rights of NVIDIA Corporation. Details are subject to change without notice.\n// This code supersedes and replaces all information previously supplied.\n// NVIDIA Corporation products are not authorized for use as critical\n// components in life support devices or systems without express written approval of\n// NVIDIA Corporation.\n//\n// Copyright (c) 2013-2020 NVIDIA Corporation. All rights reserved.\n\n#include \"perlin.h\"\n\n#include <cmath>\n\nnamespace Perlin\n{\n\n\t//\ttypes.\ntypedef int int32_t;\ntypedef float real64;\n\n//\n//\tFast math trickery....\n//\n#define _doublemagicroundeps\t      (.5-1.4e-11)\t\t\t\t//\talmost .5f = .5f - 1e^(number of exp bit)\n#define _doublemagic\t\t\tdouble (6755399441055744.0)\t\t//\t2^52 * 1.5,  uses limited precision to floor\n\n//! TODO: not sure if this is endian safe\n\n//\tfast floor float->int conversion routine.\ninline int32_t Floor2Int(real64 val) \n{\n#if 0\n\tval -= _doublemagicroundeps;\n\tval += _doublemagic;\n\treturn ((int32_t*)&val)[0];\n#else\n\treturn (int32_t)floorf(val);\n#endif\n}\n\n\n\ninline real64 Lerp(real64 t, real64 v1, real64 v2) \n{\n\treturn v1 + t*(v2 - v1);\n}\n\n\n//\tlike cubic fade but has both first-order and second-order derivatives of 0.0 at [0.0,1.0]\ninline real64 PerlinFade( real64 val ) {\t\t\t\n\treal64 val3 = val*val*val;\n\treal64 val4 = val3*val;\n\treturn 6.0f*val4*val - 15.0f*val4 + 10.0f*val3;\n}\n\n\n\n//\n//\tPerlin Noise Stuff\n//\n//\tImplementation of Ken Perlins 2002 \"Improved Perlin Noise\".\n//\tMostly taken from pbrt implementation in \"Physically Based Rendering\" by Matt Pharr and Greg Humpreys\n//\twhich was inturn taken from Ken Perlins example Java code from [http://mrl.nyu.edu/~perlin/noise/]\n//\n\n//\n//\tPerlin Noise Permutation Data\n//\n#define NOISE_PERM_SIZE 256\nstatic unsigned char NoisePerm[2 * NOISE_PERM_SIZE] = {\n\t151, 160, 137, 91, 90, 15, 131, 13, 201, 95, 96,\n\t\t53, 194, 233, 7, 225, 140, 36, 103, 30, 69, 142,\n\t\t// Rest of noise permutation table\n\t\t8, 99, 37, 240, 21, 10, 23,\n\t\t190,  6, 148, 247, 120, 234, 75, 0, 26, 197, 62, 94, 252, 219, 203, 117, 35, 11, 32, 57, 177, 33,\n\t\t88, 237, 149, 56, 87, 174, 20, 125, 136, 171, 168,  68, 175, 74, 165, 71, 134, 139, 48, 27, 166,\n\t\t77, 146, 158, 231, 83, 111, 229, 122, 60, 211, 133, 230, 220, 105, 92, 41, 55, 46, 245, 40, 244,\n\t\t102, 143, 54,  65, 25, 63, 161,  1, 216, 80, 73, 209, 76, 132, 187, 208,  89, 18, 169, 200, 196,\n\t\t135, 130, 116, 188, 159, 86, 164, 100, 109, 198, 173, 186,  3, 64, 52, 217, 226, 250, 124, 123,\n\t\t5, 202, 38, 147, 118, 126, 255, 82, 85, 212, 207, 206, 59, 227, 47, 16, 58, 17, 182, 189, 28, 42,\n\t\t223, 183, 170, 213, 119, 248, 152,  2, 44, 154, 163,  70, 221, 153, 101, 155, 167,  43, 172, 9,\n\t\t129, 22, 39, 253,  19, 98, 108, 110, 79, 113, 224, 232, 178, 185,  112, 104, 218, 246, 97, 228,\n\t\t251, 34, 242, 193, 238, 210, 144, 12, 191, 179, 162, 241,  81, 51, 145, 235, 249, 14, 239, 107,\n\t\t49, 192, 214,  31, 181, 199, 106, 157, 184,  84, 204, 176, 115, 121, 50, 45, 127,  4, 150, 254,\n\t\t138, 236, 205, 93, 222, 114, 67, 29, 24, 72, 243, 141, 128, 195, 78, 66, 215, 61, 156, 180,\n\t\t151, 160, 137, 91, 90, 15,\n\t\t131, 13, 201, 95, 96, 53, 194, 233, 7, 225, 140, 36, 103, 30, 69, 142, 8, 99, 37, 240, 21, 10, 23,\n\t\t190,  6, 148, 247, 120, 234, 75, 0, 26, 197, 62, 94, 252, 219, 203, 117, 35, 11, 32, 57, 177, 33,\n\t\t88, 237, 149, 56, 87, 174, 20, 125, 136, 171, 168,  68, 175, 74, 165, 71, 134, 139, 48, 27, 166,\n\t\t77, 146, 158, 231, 83, 111, 229, 122, 60, 211, 133, 230, 220, 105, 92, 41, 55, 46, 245, 40, 244,\n\t\t102, 143, 54,  65, 25, 63, 161,  1, 216, 80, 73, 209, 76, 132, 187, 208,  89, 18, 169, 200, 196,\n\t\t135, 130, 116, 188, 159, 86, 164, 100, 109, 198, 173, 186,  3, 64, 52, 217, 226, 250, 124, 123,\n\t\t5, 202, 38, 147, 118, 126, 255, 82, 85, 212, 207, 206, 59, 227, 47, 16, 58, 17, 182, 189, 28, 42,\n\t\t223, 183, 170, 213, 119, 248, 152,  2, 44, 154, 163,  70, 221, 153, 101, 155, 167,  43, 172, 9,\n\t\t129, 22, 39, 253,  19, 98, 108, 110, 79, 113, 224, 232, 178, 185,  112, 104, 218, 246, 97, 228,\n\t\t251, 34, 242, 193, 238, 210, 144, 12, 191, 179, 162, 241,  81, 51, 145, 235, 249, 14, 239, 107,\n\t\t49, 192, 214,  31, 181, 199, 106, 157, 184,  84, 204, 176, 115, 121, 50, 45, 127,  4, 150, 254,\n\t\t138, 236, 205, 93, 222, 114, 67, 29, 24, 72, 243, 141, 128, 195, 78, 66, 215, 61, 156, 180\n};\n\n//\t1d gradient function.   \nstatic inline real64 Grad1d(int32_t x, real64 dx) \n{\n\tint32_t h = NoisePerm[x];\n\th &= 3;\n\treturn ((h&1) ? -dx : dx);\n}\n\n//\t2d gradient function.   \nstatic inline real64 Grad2d(int32_t x, int32_t y, real64 dx, real64 dy) \n{\n\tint32_t h = NoisePerm[NoisePerm[x]+y];\n\th &= 3;\n\treturn ((h&1) ? -dx : dx) + ((h&2) ? -dy : dy);\n}\n//\t3d gradient function.\nstatic inline real64 Grad3d(int32_t x, int32_t y, int32_t z, real64 dx, real64 dy, real64 dz) \n{\n\tint32_t h = NoisePerm[NoisePerm[NoisePerm[x]+y]+z];\n\th &= 15;\n\n\t//\tKen Perlins original impl\n\treal64 u = h<8 ? dx : dy;\n\treal64 v = h<4 ? dy : (h==12 || h==14) ? dx : dz;\n\treturn ((h&1) ? -u : u) + ((h&2) ? -v : v);\n\n\t//\t(will this run faster without having all those branches?)\n\t/*\n\t//\tor how about just this....\n\tstatic const real64 GRADS[16][3] = {\t{1.0, 1.0, 0.0}, {-1.0, 1.0, 0.0}, {1.0, -1.0, 0.0}, {-1.0, -1.0, 0.0},\t\t// the 12 grads\n\t{1.0, 0.0, 1.0}, {-1.0, 0.0, 1.0}, {1.0, 0.0, -1.0}, {-1.0, 0.0, -1.0},\n\t{0.0, 1.0, 1.0}, {0.0, -1.0, 1.0}, {0.0, 1.0, -1.0}, {0.0, -1.0, -1.0},\n\t{-1.0, 1.0, 0.0}, {1.0, 1.0, 0.0}, {0.0, -1.0, 1.0}, {0.0, -1.0, -1.0} };\t// 8 more \"padding\" items to make this array of size 16.\n\treturn GRADS[h][0]*dx + GRADS[h][1]*dy + GRADS[h][2]*dz;\n\t*/\n}\n\n//\t4d version from java\n/*\nstatic double grad(int hash, double x, double y, double z, double w) {\nint h = hash & 31; // CONVERT LO 5 BITS OF HASH TO 32 GRAD DIRECTIONS.\ndouble a=y,b=z,c=w;            // X,Y,Z\nswitch (h >> 3) {          // OR, DEPENDING ON HIGH ORDER 2 BITS:\ncase 1: a=w;b=x;c=y;break;     // W,X,Y\ncase 2: a=z;b=w;c=x;break;     // Z,W,X\ncase 3: a=y;b=z;c=w;break;     // Y,Z,W\n}\nreturn ((h&4)==0 ? -a:a) + ((h&2)==0 ? -b:b) + ((h&1)==0 ? -c:c);\n}\n*/\n\nstatic real64 PerlinNoise3DFunctionPeriodic(real64 x, real64 y, real64 z, int px, int py, int pz) \n{\n\t// Compute noise cell coordinates and offsets\n\tint32_t ix = Floor2Int(x);\n\tint32_t iy = Floor2Int(y);\n\tint32_t iz = Floor2Int(z);\n\treal64 dx = x - ix, dy = y - iy, dz = z - iz;\n\n\tint32_t ix0 = (ix%px) & (NOISE_PERM_SIZE-1);\n\tint32_t iy0 = (iy%py) & (NOISE_PERM_SIZE-1);\n\tint32_t iz0 = (iz%pz) & (NOISE_PERM_SIZE-1);\n\n\tint32_t ix1 = ((ix+1)%px) & (NOISE_PERM_SIZE-1);\n\tint32_t iy1 = ((iy+1)%py) & (NOISE_PERM_SIZE-1);\n\tint32_t iz1 = ((iz+1)%pz) & (NOISE_PERM_SIZE-1);\n\n\treal64 w000 = Grad3d(ix0, iy0, iz0,   dx,   dy,   dz);\n\treal64 w100 = Grad3d(ix1, iy0, iz0,   dx-1, dy,   dz);\n\treal64 w010 = Grad3d(ix0, iy1, iz0,   dx,   dy-1, dz);\n\treal64 w110 = Grad3d(ix1, iy1, iz0,   dx-1, dy-1, dz);\n\treal64 w001 = Grad3d(ix0, iy0, iz1, dx,   dy,   dz-1);\n\treal64 w101 = Grad3d(ix1, iy0, iz1, dx-1, dy,   dz-1);\n\treal64 w011 = Grad3d(ix0, iy1, iz1, dx,   dy-1, dz-1);\n\treal64 w111 = Grad3d(ix1, iy1, iz1, dx-1, dy-1, dz-1);\n\t// Compute trilinear interpolation of weights\n\treal64 wx = PerlinFade(dx);\n\treal64 wy = PerlinFade(dy);\n\treal64 wz = PerlinFade(dz);\n\treal64 x00 = Lerp(wx, w000, w100);\n\treal64 x10 = Lerp(wx, w010, w110);\n\treal64 x01 = Lerp(wx, w001, w101);\n\treal64 x11 = Lerp(wx, w011, w111);\n\treal64 y0 = Lerp(wy, x00, x10);\n\treal64 y1 = Lerp(wy, x01, x11);\n\treturn Lerp(wz, y0, y1);\n}\n\nstatic real64 PerlinNoise3DFunction(real64 x, real64 y, real64 z) \n{\n\t// Compute noise cell coordinates and offsets\n\tint32_t ix = Floor2Int(x);\n\tint32_t iy = Floor2Int(y);\n\tint32_t iz = Floor2Int(z);\n\treal64 dx = x - ix, dy = y - iy, dz = z - iz;\n\t// Compute gradient weights\n\tix &= (NOISE_PERM_SIZE-1);\n\tiy &= (NOISE_PERM_SIZE-1);\n\tiz &= (NOISE_PERM_SIZE-1);\n\treal64 w000 = Grad3d(ix,   iy,   iz,   dx,   dy,   dz);\n\treal64 w100 = Grad3d(ix+1, iy,   iz,   dx-1, dy,   dz);\n\treal64 w010 = Grad3d(ix,   iy+1, iz,   dx,   dy-1, dz);\n\treal64 w110 = Grad3d(ix+1, iy+1, iz,   dx-1, dy-1, dz);\n\treal64 w001 = Grad3d(ix,   iy,   iz+1, dx,   dy,   dz-1);\n\treal64 w101 = Grad3d(ix+1, iy,   iz+1, dx-1, dy,   dz-1);\n\treal64 w011 = Grad3d(ix,   iy+1, iz+1, dx,   dy-1, dz-1);\n\treal64 w111 = Grad3d(ix+1, iy+1, iz+1, dx-1, dy-1, dz-1);\n\t// Compute trilinear interpolation of weights\n\treal64 wx = PerlinFade(dx);\n\treal64 wy = PerlinFade(dy);\n\treal64 wz = PerlinFade(dz);\n\treal64 x00 = Lerp(wx, w000, w100);\n\treal64 x10 = Lerp(wx, w010, w110);\n\treal64 x01 = Lerp(wx, w001, w101);\n\treal64 x11 = Lerp(wx, w011, w111);\n\treal64 y0 = Lerp(wy, x00, x10);\n\treal64 y1 = Lerp(wy, x01, x11);\n\treturn Lerp(wz, y0, y1);\n}\n\n\nstatic real64 PerlinNoise2DFunction(real64 x, real64 y) \n{\n\t// Compute noise cell coordinates and offsets\n\tint32_t ix = Floor2Int(x);\n\tint32_t iy = Floor2Int(y);\n\treal64 dx = x - ix, dy = y - iy;\n\t// Compute gradient weights\n\tix &= (NOISE_PERM_SIZE-1);\n\tiy &= (NOISE_PERM_SIZE-1);\n\treal64 w00 = Grad2d(ix,   iy,   dx,\t\t dy);\n\treal64 w10 = Grad2d(ix+1, iy,   dx-1.0f, dy);\n\treal64 w01 = Grad2d(ix,   iy+1, dx,\t\t dy-1.0f);\n\treal64 w11 = Grad2d(ix+1, iy+1, dx-1.0f, dy-1.0f);\n\t// Compute bilinear interpolation of weights\n\treal64 wx = PerlinFade(dx);\n\treal64 wy = PerlinFade(dy);\n\treal64 x0 = Lerp(wx, w00, w10);\n\treal64 x1 = Lerp(wx, w01, w11);\n\treturn Lerp(wy, x0, x1);\n}\n\n\nstatic real64 PerlinNoise1DFunction(real64 x) \n{\n\t// Compute noise cell coordinates and offsets\n\tint32_t ix = Floor2Int(x);\n\treal64 dx = x - ix;\n\t// Compute gradient weights\n\tix &= (NOISE_PERM_SIZE-1);\n\treal64 w00 = Grad1d(ix,   dx);\n\treal64 w10 = Grad1d(ix+1, dx-1.0f);\n\t// Compute bilinear interpolation of weights\n\treal64 wx = PerlinFade(dx);\n\treal64 x0 = Lerp(wx, w00, w10);\n\t\n\treturn x0;\n}\n}\n\n//------------------------------------------------\n//! Public interfaces\n\nfloat Perlin1D(float x, int octaves, float persistence)\n{\n\tfloat r = 0.0f;\n\tfloat a = 1.0f;\n\tint freq = 1; \n\n\tfor (int i=0; i < octaves; i++)\n\t{\n\t\tfloat fx = x*freq;\n\n\t\tr += Perlin::PerlinNoise1DFunction(fx)*a;\n\n\t\t//! update amplitude\n\t\ta *= persistence;\n\t\tfreq = 2 << i;\n\t}\n\n\treturn r;\n}\n\n\nfloat Perlin2D(float x, float y, int octaves, float persistence)\n{\n\tfloat r = 0.0f;\n\tfloat a = 1.0f;\n\tint freq = 1; \n\n\tfor (int i=0; i < octaves; i++)\n\t{\n\t\tfloat fx = x*freq;\n\t\tfloat fy = y*freq;\n\n\t\tr += Perlin::PerlinNoise2DFunction(fx, fy)*a;\n\n\t\t//! update amplitude\n\t\ta *= persistence;\n\t\tfreq = 2 << i;\n\t}\n\n\treturn r;\n}\n\n\nfloat Perlin3D(float x, float y, float z, int octaves, float persistence)\n{\n\tfloat r = 0.0f;\n\tfloat a = 1.0f;\n\tint freq = 1; \n\n\tfor (int i=0; i < octaves; i++)\n\t{\n\t\tfloat fx = x*freq;\n\t\tfloat fy = y*freq;\n\t\tfloat fz = z*freq;\n\n\t\tr += Perlin::PerlinNoise3DFunction(fx, fy, fz)*a;\n\n\t\t//! update amplitude\n\t\ta *= persistence;\n\t\tfreq = 2 << i;\n\t}\n\n\treturn r;\n}\n\nfloat Perlin3DPeriodic(float x, float y, float z, int px, int py, int pz, int octaves, float persistence)\n{\n\tfloat r = 0.0f;\n\tfloat a = 1.0f;\n\tint freq = 1; \n\n\tfor (int i=0; i < octaves; i++)\n\t{\n\t\tfloat fx = x*freq;\n\t\tfloat fy = y*freq;\n\t\tfloat fz = z*freq;\n\n\t\tr += Perlin::PerlinNoise3DFunctionPeriodic(fx, fy, fz, px, py, pz)*a;\n\n\t\t//! update amplitude\n\t\ta *= persistence;\n\t\tfreq = 2 << i;\n\t}\n\n\treturn r;\n}\n"
  },
  {
    "path": "core/perlin.h",
    "content": "// This code contains NVIDIA Confidential Information and is disclosed to you\n// under a form of NVIDIA software license agreement provided separately to you.\n//\n// Notice\n// NVIDIA Corporation and its licensors retain all intellectual property and\n// proprietary rights in and to this software and related documentation and\n// any modifications thereto. Any use, reproduction, disclosure, or\n// distribution of this software and related documentation without an express\n// license agreement from NVIDIA Corporation is strictly prohibited.\n//\n// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED \"AS IS.\". NVIDIA MAKES\n// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO\n// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,\n// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.\n//\n// Information and code furnished is believed to be accurate and reliable.\n// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such\n// information or for any infringement of patents or other rights of third parties that may\n// result from its use. No license is granted by implication or otherwise under any patent\n// or patent rights of NVIDIA Corporation. Details are subject to change without notice.\n// This code supersedes and replaces all information previously supplied.\n// NVIDIA Corporation products are not authorized for use as critical\n// components in life support devices or systems without express written approval of\n// NVIDIA Corporation.\n//\n// Copyright (c) 2013-2020 NVIDIA Corporation. All rights reserved.\n\n#pragma once\n\nfloat Perlin1D(float x, int octaves, float persistence);\nfloat Perlin2D(float x, float y, int octaves, float persistence);\nfloat Perlin3D(float x, float y, float z, int octaves, float persistence);\n\n// periodic versions of the same function, inspired by the Renderman pnoise() functions\nfloat Perlin3DPeriodic(float x, float y, float z, int px, int py, int pz, int octaves, float persistence);\n"
  },
  {
    "path": "core/pfm.cpp",
    "content": "// This code contains NVIDIA Confidential Information and is disclosed to you\n// under a form of NVIDIA software license agreement provided separately to you.\n//\n// Notice\n// NVIDIA Corporation and its licensors retain all intellectual property and\n// proprietary rights in and to this software and related documentation and\n// any modifications thereto. Any use, reproduction, disclosure, or\n// distribution of this software and related documentation without an express\n// license agreement from NVIDIA Corporation is strictly prohibited.\n//\n// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED \"AS IS.\". NVIDIA MAKES\n// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO\n// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,\n// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.\n//\n// Information and code furnished is believed to be accurate and reliable.\n// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such\n// information or for any infringement of patents or other rights of third parties that may\n// result from its use. No license is granted by implication or otherwise under any patent\n// or patent rights of NVIDIA Corporation. Details are subject to change without notice.\n// This code supersedes and replaces all information previously supplied.\n// NVIDIA Corporation products are not authorized for use as critical\n// components in life support devices or systems without express written approval of\n// NVIDIA Corporation.\n//\n// Copyright (c) 2013-2020 NVIDIA Corporation. All rights reserved.\n\n#include \"pfm.h\"\n\n#include <cassert>\n#include <stdio.h>\n#include <string.h>\n#include <algorithm>\n\n#if _WIN32\n#pragma warning(disable: 4996)  // secure io\n#pragma warning(disable: 4100)  // unreferenced param\n#pragma warning(disable: 4324)  // structure was padded due to __declspec(align())\n#endif\n\nnamespace\n{\n\t// RAII wrapper to handle file pointer clean up\n\tstruct FilePointer\n\t{\n\t\tFilePointer(FILE* ptr) : p(ptr) {}\n\t\t~FilePointer() { if (p) fclose(p); }\n\n\t\toperator FILE*() { return p; }\n\n\t\tFILE* p;\n\t};\n}\n\nbool PfmLoad(const char* filename, PfmImage& image)\n{\n\tFilePointer f = fopen(filename, \"rb\");\n\tif (!f)\n\t\treturn false;\n\n\tmemset(&image, 0, sizeof(PfmImage));\n\t\n\tconst uint32_t kBufSize = 1024;\n\tchar buffer[kBufSize];\n\t\n\tif (!fgets(buffer, kBufSize, f))\n\t\treturn false;\n\t\n\tif (strcmp(buffer, \"PF\\n\") != 0)\n\t\treturn false;\n\t\n\tif (!fgets(buffer, kBufSize, f))\n\t\treturn false;\n\n\timage.m_depth = 1;\n\tsscanf(buffer, \"%d %d %d\", &image.m_width, &image.m_height, &image.m_depth);\n\n\tif (!fgets(buffer, kBufSize, f))\n\t\treturn false;\n\t\n\tsscanf(buffer, \"%f\", &image.m_maxDepth);\n\t\n\tuint32_t dataStart = ftell(f);\n\tfseek(f, 0, SEEK_END);\n\tuint32_t dataEnd = ftell(f);\n\tfseek(f, dataStart, SEEK_SET);\n\t\n\tuint32_t dataSize = dataEnd-dataStart;\n\n\tif (dataSize != sizeof(float)*image.m_width*image.m_height*image.m_depth)\n\t\treturn false;\n\t\n\timage.m_data = new float[dataSize/4];\n\t\n\tif (fread(image.m_data, dataSize, 1, f) != 1)\n\t\treturn false;\n\t\n\treturn true;\n}\n\nvoid PfmSave(const char* filename, const PfmImage& image)\n{\n\tFilePointer f = fopen(filename, \"wb\");\n\tif (!f)\n\t\treturn;\n\n\tfprintf(f, \"PF\\n\");\n\tif (image.m_depth > 1)\n\t\tfprintf(f, \"%d %d %d\\n\", image.m_width, image.m_height, image.m_depth);\n\telse\n\t\tfprintf(f, \"%d %d\\n\", image.m_width, image.m_height);\n\n\tfprintf(f, \"%f\\n\", *std::max_element(image.m_data, image.m_data+(image.m_width*image.m_height*image.m_depth)));\n\n\tfwrite(image.m_data, image.m_width*image.m_height*image.m_depth*sizeof(float), 1, f);\n}\n\n\n\n\n\n"
  },
  {
    "path": "core/pfm.h",
    "content": "// This code contains NVIDIA Confidential Information and is disclosed to you\n// under a form of NVIDIA software license agreement provided separately to you.\n//\n// Notice\n// NVIDIA Corporation and its licensors retain all intellectual property and\n// proprietary rights in and to this software and related documentation and\n// any modifications thereto. Any use, reproduction, disclosure, or\n// distribution of this software and related documentation without an express\n// license agreement from NVIDIA Corporation is strictly prohibited.\n//\n// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED \"AS IS.\". NVIDIA MAKES\n// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO\n// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,\n// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.\n//\n// Information and code furnished is believed to be accurate and reliable.\n// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such\n// information or for any infringement of patents or other rights of third parties that may\n// result from its use. No license is granted by implication or otherwise under any patent\n// or patent rights of NVIDIA Corporation. Details are subject to change without notice.\n// This code supersedes and replaces all information previously supplied.\n// NVIDIA Corporation products are not authorized for use as critical\n// components in life support devices or systems without express written approval of\n// NVIDIA Corporation.\n//\n// Copyright (c) 2013-2020 NVIDIA Corporation. All rights reserved.\n\n#include \"types.h\"\n\nstruct PfmImage\n{\n\t// set m_depth to 1 for standard pfm compatability, > 1 will act as a volume texture (non-standard)\n\tuint32_t m_width;\n\tuint32_t m_height;\n\tuint32_t m_depth;\n\n\t// optional\n\tfloat m_maxDepth;\n\t\n\tfloat* m_data;\n};\n\nbool PfmLoad(const char* filename, PfmImage& image);\nvoid PfmSave(const char* filename, const PfmImage& image);\n"
  },
  {
    "path": "core/platform.cpp",
    "content": "// This code contains NVIDIA Confidential Information and is disclosed to you\n// under a form of NVIDIA software license agreement provided separately to you.\n//\n// Notice\n// NVIDIA Corporation and its licensors retain all intellectual property and\n// proprietary rights in and to this software and related documentation and\n// any modifications thereto. Any use, reproduction, disclosure, or\n// distribution of this software and related documentation without an express\n// license agreement from NVIDIA Corporation is strictly prohibited.\n//\n// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED \"AS IS.\". NVIDIA MAKES\n// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO\n// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,\n// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.\n//\n// Information and code furnished is believed to be accurate and reliable.\n// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such\n// information or for any infringement of patents or other rights of third parties that may\n// result from its use. No license is granted by implication or otherwise under any patent\n// or patent rights of NVIDIA Corporation. Details are subject to change without notice.\n// This code supersedes and replaces all information previously supplied.\n// NVIDIA Corporation products are not authorized for use as critical\n// components in life support devices or systems without express written approval of\n// NVIDIA Corporation.\n//\n// Copyright (c) 2013-2020 NVIDIA Corporation. All rights reserved.\n\n#include \"core.h\"\n#include \"platform.h\"\n#include \"types.h\"\n\n#include <iostream>\n#include <fstream>\n#include <algorithm>\n#include <string>\n#include <ctype.h>\n#include <stdio.h>\n#include <string.h>\n\nusing namespace std;\n\n#if defined(WIN32) || defined(WIN64)\n\n#include <windows.h>\n#include <commdlg.h>\n#include <mmsystem.h>\n\ndouble GetSeconds()\n{\n\tstatic LARGE_INTEGER lastTime;\n\tstatic LARGE_INTEGER freq;\n\tstatic bool first = true;\n\t\n\tif (first)\n\t{\t\n\t\tQueryPerformanceCounter(&lastTime);\n\t\tQueryPerformanceFrequency(&freq);\n\n\t\tfirst = false;\n\t}\n\t\n\tstatic double time = 0.0;\n\t\n\tLARGE_INTEGER t;\n\tQueryPerformanceCounter(&t);\n\t\n\t__int64 delta = t.QuadPart-lastTime.QuadPart;\n\tdouble deltaSeconds = double(delta) / double(freq.QuadPart);\n\t\n\ttime += deltaSeconds;\n\n\tlastTime = t;\n\n\treturn time;\n\n}\n\nvoid Sleep(double seconds)\n{\n\t::Sleep(DWORD(seconds*1000));\n}\n\n\n//// helper function to get exe path\n//string GetExePath()\n//{\n//\tconst uint32_t kMaxPathLength = 2048;\n//\n//\tchar exepath[kMaxPathLength];\n//\n//\t// get exe path for file system\n//\tuint32_t i = GetModuleFileName(NULL, exepath, kMaxPathLength);\n//\n//\t// rfind first slash\n//\twhile (i && exepath[i] != '\\\\' && exepath[i] != '//')\n//\t\ti--;\n//\n//\t// insert null terminater to cut off exe name\n//\treturn string(&exepath[0], &exepath[i+1]);\n//}\n//\n//string FileOpenDialog(char *filter)\n//{\n//\tHWND owner=NULL;\n//\n//\tOPENFILENAME ofn;\n//\tchar fileName[MAX_PATH] = \"\";\n//\tZeroMemory(&ofn, sizeof(ofn));\n//\tofn.lStructSize = sizeof(OPENFILENAME);\n//\tofn.hwndOwner = owner;\n//\tofn.lpstrFilter = filter;\n//\tofn.lpstrFile = fileName;\n//\tofn.nMaxFile = MAX_PATH;\n//\tofn.Flags = OFN_EXPLORER | OFN_FILEMUSTEXIST | OFN_HIDEREADONLY | OFN_NOCHANGEDIR;\n//\tofn.lpstrDefExt = \"\";\n//\n//\tstring fileNameStr;\n//\n//\tif ( GetOpenFileName(&ofn) )\n//\t\tfileNameStr = fileName;\n//\n//\treturn fileNameStr;\n//}\n//\n//bool FileMove(const char* src, const char* dest)\n//{\n//\tBOOL b = MoveFileEx(src, dest, MOVEFILE_REPLACE_EXISTING);\n//\treturn b == TRUE;\n//}\n//\n//bool FileScan(const char* pattern, vector<string>& files)\n//{\n//\tHANDLE          h;\n//\tWIN32_FIND_DATA info;\n//\n//\t// build a list of files\n//\th = FindFirstFile(pattern, &info);\n//\n//\tif (h != INVALID_HANDLE_VALUE)\n//\t{\n//\t\tdo\n//\t\t{\n//\t\t\tif (!(strcmp(info.cFileName, \".\") == 0 || strcmp(info.cFileName, \"..\") == 0))\n//\t\t\t{\n//\t\t\t\tfiles.push_back(info.cFileName);\n//\t\t\t}\n//\t\t} \n//\t\twhile (FindNextFile(h, &info));\n//\n//\t\tif (GetLastError() != ERROR_NO_MORE_FILES)\n//\t\t{\n//\t\t\treturn false;\n//\t\t}\n//\n//\t\tFindClose(h);\n//\t}\n//\telse\n//\t{\n//\t\treturn false;\n//\t}\n//\n//\treturn true;\n//}\n\n\n#else\n\n// linux, mac platforms\n#include <sys/time.h>\n\ndouble GetSeconds()\n{\n\t// Figure out time elapsed since last call to idle function\n\tstatic struct timeval last_idle_time;\n\tstatic double time = 0.0;\t\n\n\tstruct timeval time_now;\n\tgettimeofday(&time_now, NULL);\n\n\tif (last_idle_time.tv_usec == 0)\n\t\tlast_idle_time = time_now;\n\n\tfloat dt = (float)(time_now.tv_sec - last_idle_time.tv_sec) + 1.0e-6*(time_now.tv_usec - last_idle_time.tv_usec);\n\n\ttime += dt;\n\tlast_idle_time = time_now;\n\n\treturn time;\n}\n\n#endif\n\n\nuint8_t* LoadFileToBuffer(const char* filename, uint32_t* sizeRead)\n{\n\tFILE* file = fopen(filename, \"rb\");\n\tif (file)\n\t{\n\t\tfseek(file, 0, SEEK_END);\n\t\tlong p = ftell(file);\n\t\t\n\t\tuint8_t* buf = new uint8_t[p];\n\t\tfseek(file, 0, SEEK_SET);\n\t\tuint32_t len = uint32_t(fread(buf, 1, p, file));\n\t\n\t\tfclose(file);\n\t\t\n\t\tif (sizeRead)\n\t\t{\n\t\t\t*sizeRead = len;\n\t\t}\n\t\t\n\t\treturn buf;\n\t}\n\telse\n\t{\n\t\tstd::cout << \"Could not open file for reading: \" << filename << std::endl;\n\t\treturn NULL;\n\t}\n}\n\nstring LoadFileToString(const char* filename)\n{\n\t//std::ifstream file(filename);\n\t//return string((std::istreambuf_iterator<char>(file)), std::istreambuf_iterator<char>());\n\tuint32_t size;\n\tuint8_t* buf = LoadFileToBuffer(filename, &size);\n\t\n\tif (buf)\n\t{\n\t\tstring s(buf, buf+size);\n\t\tdelete[] buf;\n\t\t\n\t\treturn s;\n\t}\n\telse\n\t{\n\t\treturn \"\";\n\t}\t\n}\n\nbool SaveStringToFile(const char* filename, const char* s)\n{\n\tFILE* f = fopen(filename, \"w\");\n\tif (!f)\n\t{\n\t\tstd::cout << \"Could not open file for writing: \" << filename << std::endl;\t\t\n\t\treturn false;\n\t}\n\telse \n\t{\n\t\tfputs(s, f);\n\t\tfclose(f);\n\t\t\n\t\treturn true;\n\t}\n}\n\n\nstring StripFilename(const char* path)\n{\n\t// simply find the last \n\tconst char* iter=path;\n\tconst char* last=NULL;\n\twhile (*iter)\n\t{\n\t\tif (*iter == '\\\\' || *iter== '/')\n\t\t\tlast = iter;\n\t\t\n\t\t++iter;\n\t}\n\t\n\tif (last)\n\t{\n\t\treturn string(path, last+1);\n\t}\n\telse\n\t\treturn string();\n\t\n}\n\nstring GetExtension(const char* path)\n{\n\tconst char* s = strrchr(path, '.');\n\tif (s)\n\t{\n\t\treturn string(s+1);\n\t}\n\telse\n\t{\n\t\treturn \"\";\n\t}\n}\n\nstring StripExtension(const char* path)\n{\n\tconst char* s = strrchr(path, '.');\n\tif (s)\n\t{\n\t\treturn string(path, s);\n\t}\n\telse\n\t{\n\t\treturn string(path);\n\t}\n}\n\nstring NormalizePath(const char* path)\n{\n\tstring p(path);\n\treplace(p.begin(), p.end(), '\\\\', '/');\n\ttransform(p.begin(), p.end(), p.begin(), ::tolower);\n\t\n\treturn p;\n}\n\n// strips the path from a file name\nstring StripPath(const char* path)\n{\n\t// simply find the last \n\tconst char* iter=path;\n\tconst char* last=NULL;\n\twhile (*iter)\n\t{\n\t\tif (*iter == '\\\\' || *iter== '/')\n\t\t\tlast = iter;\n\t\t\n\t\t++iter;\n\t}\n\t\n\tif (!last)\n\t{\n\t\treturn string(path);\n\t}\n\t\n\t// eat the last slash\n\t++last;\n\t\n\tif (*last)\n\t{\n\t\treturn string(last);\n\t}\n\telse\n\t{\n\t\treturn string();\t\n\t}\n}\n\n"
  },
  {
    "path": "core/platform.h",
    "content": "// This code contains NVIDIA Confidential Information and is disclosed to you\n// under a form of NVIDIA software license agreement provided separately to you.\n//\n// Notice\n// NVIDIA Corporation and its licensors retain all intellectual property and\n// proprietary rights in and to this software and related documentation and\n// any modifications thereto. Any use, reproduction, disclosure, or\n// distribution of this software and related documentation without an express\n// license agreement from NVIDIA Corporation is strictly prohibited.\n//\n// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED \"AS IS.\". NVIDIA MAKES\n// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO\n// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,\n// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.\n//\n// Information and code furnished is believed to be accurate and reliable.\n// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such\n// information or for any infringement of patents or other rights of third parties that may\n// result from its use. No license is granted by implication or otherwise under any patent\n// or patent rights of NVIDIA Corporation. Details are subject to change without notice.\n// This code supersedes and replaces all information previously supplied.\n// NVIDIA Corporation products are not authorized for use as critical\n// components in life support devices or systems without express written approval of\n// NVIDIA Corporation.\n//\n// Copyright (c) 2013-2020 NVIDIA Corporation. All rights reserved.\n\n#pragma once\n\n#include \"types.h\"\n\n#include <vector>\n#include <string>\n\n// system functions\ndouble GetSeconds();\nvoid Sleep(double seconds);\n\n// helper function to get exe path\nstd::string GetExePath();\nstd::string GetWorkingDirectory();\n\n#ifdef ANDROID\n\n#include <android/log.h>\n\n#ifndef LOGE\n#define LOGE(...) __android_log_print(ANDROID_LOG_ERROR  , \"Flex\", __VA_ARGS__)\n#endif\n\ninline std::string GetFilePathByPlatform(const char* path)\n{\n\tstd::string newPath(path);\n\n\tif(newPath.find(\"/mnt/sdcard/flex/data/\") != std::string::npos)\n\t{\n\t\tLOGE(\"file have exit %s\",path);\n\t}\n\telse\n\t{\n\t\tstd::string rootPath = \"/mnt/sdcard/flex/\";\n\t\tsize_t startPos = newPath.find(\"data/\");\n\t\tif(startPos != std::string::npos)\n\t\t{\n\t\t\tnewPath = rootPath + newPath.substr(startPos);\n\t\t}\n\t}\n\n\treturn newPath;\n}\n#else\n\ninline std::string GetFilePathByPlatform(const char* path)\n{\n\tstd::string newPath(path);\n\treturn newPath;\n}\n\n#endif\n\n\n\n// shows a file open dialog\n//std::string FileOpenDialog(const char *filter = \"All Files (*.*)\\0*.*\\0\");\n\n// pulls out an option in the form option=value, must have no spaces\ntemplate <typename T>\nbool GetCmdLineArg(const char* arg, T& out, int argc, char* argv[])\n{\n\t// iterate over all the arguments\n\tfor (int i=0; i < argc; ++i)\n\t{\n\t\tconst char* s1 = arg;\n\t\tconst char* s2 = argv[i];\n\n\t\twhile (*s1 && *s2 && *s1 == *s2)\n\t\t{\n\t\t\t++s1;\n\t\t\t++s2;\n\t\t}\n\t\t\n\t\t// we've found the flag we're looking for\n\t\tif (*s1 == 0 && *s2 == '=')\n\t\t{\n\t\t\t++s2;\n\n\t\t\t// build a string stream and output\t\t\t\n\t\t\tstd::istringstream is(s2);\n\t\t\tif (is >> out)\n\t\t\t{\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\telse\n\t\t\t\treturn false;\n\t\t}\n\t}\n\n\treturn false;\n}\n// return the full path to a file\nstd::string ExpandPath(const char* path);\n// takes a full file path and returns just the folder (with trailing slash)\nstd::string StripFilename(const char* path);\n// strips the path from a file name\nstd::string StripPath(const char* path);\n// strips the extension from a path\nstd::string StripExtension(const char* path);\n// returns the file extension (excluding period)\nstd::string GetExtension(const char* path);\n// normalize path\nstd::string NormalizePath(const char* path);\n\n// loads a file to a text string\nstd::string LoadFileToString(const char* filename);\n// loads a file to a binary buffer (free using delete[])\nuint8_t* LoadFileToBuffer(const char* filename, uint32_t* sizeRead=NULL);\n// save whole string to a file\nbool SaveStringToFile(const char* filename, const char* s);\n\nbool FileMove(const char* src, const char* dest);\nbool FileScan(const char* pattern, std::vector<std::string>& files);\n\n// file system stuff\nconst uint32_t kMaxPathLength = 2048;\n\n#ifdef WIN32\n\n// defined these explicitly because don't want to include windowsx.h\n#define GET_WPARAM(wp, lp)                      (wp)\n#define GET_LPARAM(wp, lp)                      (lp)\n\n#define GET_X_LPARAM(lp)                        ((int)(short)LOWORD(lp))\n#define GET_Y_LPARAM(lp)                        ((int)(short)HIWORD(lp))\n\n#define vsnprintf _vsnprintf\n#define snprintf _snprintf\n#define vsnwprintf _vsnwprintf\n\n#if _MSC_VER >= 1400 //vc8.0 use new secure\n#define snwprintf _snwprintf_s\n#else\n#define snwprintf _snwprintf\n#endif // _MSC_VER\n\n#endif // WIN32\n\n#if PLATFORM_IOS\ninline std::string ExpandPath(const char* p)\n{\n\tNSString *imagePath = [NSString stringWithUTF8String:p];\n\tNSString *fullPath = [[NSBundle mainBundle] pathForResource:[imagePath lastPathComponent] ofType:nil inDirectory:[imagePath stringByDeletingLastPathComponent]];\n\t\n\tif (fullPath)\n\t{\n\t\tstd::string s = [fullPath cStringUsingEncoding:1];\t\t\n\t\treturn s;\n\t}\n\telse \n\t{\n\t\tLog::Info << \"Failed to map path for : \" << p << std::endl;\n\t\treturn std::string(\"\");\n\t}\n}\ninline std::string GetTempDirectory()\n{\n\tNSString* tmp = NSTemporaryDirectory();\n\tstd::string s = [tmp cStringUsingEncoding:1];\n\t\n\treturn s;\n}\n\ninline std::string DataPath(const char* p)\n{\n\treturn ExpandPath((std::string(\"DataCooked/\") + p).c_str());\n}\n\n#else\n\ninline std::string ExpandPath(const char* p)\n{\n\treturn p;\n}\n\ninline std::string DataPath(const char* p)\n{\n\treturn ExpandPath((std::string(\"Data/\") + p).c_str());\n\n}\n\n#endif\n\n#ifdef ANDROID\n\n#define __int64 int64_t\n\n#endif\n"
  },
  {
    "path": "core/png.cpp",
    "content": "#include \"png.h\"\n\n#include <iostream>\n\n#define STB_IMAGE_IMPLEMENTATION\n#include \"../external/stb_image/stb_image.h\"\n\n\nbool PngLoad(const char* filename, PngImage& image)\n{\t\n\tint x, y, c;\n\t\n\tuint8_t* data = stbi_load(filename, &x, &y, &c, 4);\n\t\n\tif (data)\n\t{\n\t\tint s = x*y;\n\t\t\n\t\timage.m_data = new uint32_t[s];\n\t\tmemcpy(image.m_data, data, s*sizeof(char)*4);\n\t\t\n\t\timage.m_width = (unsigned short)x;\n\t\timage.m_height = (unsigned short)y;\n\t\t\n\t\tstbi_image_free(data);\n\t\n\t\treturn true;\n\t}\n\telse \n\t{\n\t\treturn false;\n\t}\n}\n\nvoid PngFree(PngImage& image)\n{\n\tdelete[] image.m_data;\n}\n\nbool HdrLoad(const char* filename, HdrImage& image)\n{\t\n\tint x, y, c;\n\t\n\tfloat* data = stbi_loadf(filename, &x, &y, &c, 4);\n\t\n\tif (data)\n\t{\n\t\tint s = x*y;\n\t\t\n\t\timage.m_data = new float[s*4];\n\t\tmemcpy(image.m_data, data, s*sizeof(float)*4);\n\t\t\n\t\timage.m_width = (unsigned short)x;\n\t\timage.m_height = (unsigned short)y;\n\t\t\n\t\tstbi_image_free(data);\n\t\n\t\treturn true;\n\t}\n\telse \n\t{\n\t\treturn false;\n\t}\n}\n\nvoid HdrFree(HdrImage& image)\n{\n\tdelete[] image.m_data;\n}\n\n"
  },
  {
    "path": "core/png.h",
    "content": "#pragma once\n\n#include \"types.h\"\n\nstruct PngImage\n{\n\tuint16_t m_width;\n\tuint16_t m_height;\n\n\t// pixels are always assumed to be 32 bit\n\tuint32_t* m_data;\n};\n\nbool PngLoad(const char* filename, PngImage& image);\nvoid PngFree(PngImage& image);\n\nstruct HdrImage\n{\n\tuint16_t m_width;\n\tuint16_t m_height;\n\n\tfloat* m_data;\n};\n\nbool HdrLoad(const char* filename, HdrImage& image);\nvoid HdrFree(HdrImage& image);\n\n"
  },
  {
    "path": "core/point3.h",
    "content": "// This code contains NVIDIA Confidential Information and is disclosed to you\n// under a form of NVIDIA software license agreement provided separately to you.\n//\n// Notice\n// NVIDIA Corporation and its licensors retain all intellectual property and\n// proprietary rights in and to this software and related documentation and\n// any modifications thereto. Any use, reproduction, disclosure, or\n// distribution of this software and related documentation without an express\n// license agreement from NVIDIA Corporation is strictly prohibited.\n//\n// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED \"AS IS.\". NVIDIA MAKES\n// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO\n// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,\n// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.\n//\n// Information and code furnished is believed to be accurate and reliable.\n// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such\n// information or for any infringement of patents or other rights of third parties that may\n// result from its use. No license is granted by implication or otherwise under any patent\n// or patent rights of NVIDIA Corporation. Details are subject to change without notice.\n// This code supersedes and replaces all information previously supplied.\n// NVIDIA Corporation products are not authorized for use as critical\n// components in life support devices or systems without express written approval of\n// NVIDIA Corporation.\n//\n// Copyright (c) 2013-2020 NVIDIA Corporation. All rights reserved.\n\n#pragma once\n\n#include <ostream>\n\n#include \"vec4.h\"\n\nclass Point3\n{\npublic:\n\n\tPoint3() : x(0), y(0), z(0) {}\n\tPoint3(float a) : x(a), y(a), z(a) {}\n\tPoint3(const float* p) : x(p[0]), y(p[1]), z(p[2]) {}\n\tPoint3(float x_, float y_, float z_) : x(x_), y(y_), z(z_) \n\t{\n\t\tValidate();\t\n\t}\t\n\n\texplicit Point3(const Vec3& v) : x(v.x), y(v.y), z(v.z) {}\n\n\toperator float* () { return &x; }\n\toperator const float* () const { return &x; };\n\toperator Vec4 () const { return Vec4(x, y, z, 1.0f); }\n\n\tvoid Set(float x_, float y_, float z_) { Validate(); x = x_; y = y_; z = z_;}\n\n\tPoint3 operator * (float scale) const { Point3 r(*this); r *= scale; Validate(); return r; }\n\tPoint3 operator / (float scale) const { Point3 r(*this); r /= scale; Validate(); return r; }\n\tPoint3 operator + (const Vec3& v) const { Point3 r(*this); r += v; Validate(); return r; }\n\tPoint3 operator - (const Vec3& v) const { Point3 r(*this); r -= v; Validate(); return r; }\n\n\tPoint3& operator *=(float scale) {x *= scale; y *= scale; z*= scale; Validate(); return *this;}\n\tPoint3& operator /=(float scale) {float s(1.0f/scale); x *= s; y *= s; z *= s; Validate(); return *this;}\n\tPoint3& operator +=(const Vec3& v) {x += v.x; y += v.y; z += v.z; Validate(); return *this;}\n\tPoint3& operator -=(const Vec3& v) {x -= v.x; y -= v.y; z -= v.z; Validate(); return *this;}\n\n\tbool operator != (const Point3& v) const { return (x != v.x || y != v.y || z != v.z); }\n\n\t// negate\n\tPoint3 operator -() const { Validate(); return Point3(-x, -y, -z); }\n\n\tfloat x,y,z;\n\n\tvoid Validate() const\n\t{\n\t}\n};\n\n// lhs scalar scale\ninline Point3 operator *(float lhs, const Point3& rhs)\n{\n\tPoint3 r(rhs);\n\tr *= lhs;\n\treturn r;\n}\n\ninline Vec3 operator-(const Point3& lhs, const Point3& rhs)\n{\n\treturn Vec3(lhs.x-rhs.x,lhs.y-rhs.y, lhs.z-rhs.z);\n}\n\ninline Point3 operator+(const Point3& lhs, const Point3& rhs)\n{\n\treturn Point3(lhs.x+rhs.x, lhs.y+rhs.y, lhs.z+rhs.z);\n}\n\ninline bool operator==(const Point3& lhs, const Point3& rhs)\n{\n\treturn (lhs.x == rhs.x && lhs.y == rhs.y && lhs.z == rhs.z);\n}\n\ninline std::ostream& operator << (std::ostream& s, const Point3& p)\n{\n\treturn s << p.x << \",\" << p.y << \",\" << p.z;\n}\n\n// component wise min max functions\ninline Point3 Max(const Point3& a, const Point3& b)\n{\n    return Point3(std::max(a.x, b.x), std::max(a.y, b.y), std::max(a.z, b.z));\n}\n\ninline  Point3 Min(const Point3& a, const Point3& b)\n{\n    return Point3(std::min(a.x, b.x), std::min(a.y, b.y), std::min(a.z, b.z));\n}\n\n"
  },
  {
    "path": "core/quat.h",
    "content": "// This code contains NVIDIA Confidential Information and is disclosed to you\n// under a form of NVIDIA software license agreement provided separately to you.\n//\n// Notice\n// NVIDIA Corporation and its licensors retain all intellectual property and\n// proprietary rights in and to this software and related documentation and\n// any modifications thereto. Any use, reproduction, disclosure, or\n// distribution of this software and related documentation without an express\n// license agreement from NVIDIA Corporation is strictly prohibited.\n//\n// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED \"AS IS.\". NVIDIA MAKES\n// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO\n// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,\n// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.\n//\n// Information and code furnished is believed to be accurate and reliable.\n// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such\n// information or for any infringement of patents or other rights of third parties that may\n// result from its use. No license is granted by implication or otherwise under any patent\n// or patent rights of NVIDIA Corporation. Details are subject to change without notice.\n// This code supersedes and replaces all information previously supplied.\n// NVIDIA Corporation products are not authorized for use as critical\n// components in life support devices or systems without express written approval of\n// NVIDIA Corporation.\n//\n// Copyright (c) 2013-2020 NVIDIA Corporation. All rights reserved.\n\n#pragma once\n\n#include <cassert>\n\nstruct Matrix33;\n\ntemplate <typename T>\nclass XQuat\n{\npublic:\n\n\ttypedef T value_type;\n\n\tCUDA_CALLABLE XQuat() : x(0), y(0), z(0), w(1.0) {}\n\tCUDA_CALLABLE XQuat(const T* p) : x(p[0]), y(p[1]), z(p[2]), w(p[3]) {}\n\tCUDA_CALLABLE XQuat(T x_, T y_, T z_, T w_) : x(x_), y(y_), z(z_), w(w_) { \t}\n\tCUDA_CALLABLE XQuat(const Vec3& v, float w) : x(v.x), y(v.y), z(v.z), w(w) { }\n\tCUDA_CALLABLE XQuat(const Matrix33& m);\n\n\tCUDA_CALLABLE operator T* () { return &x; }\n\tCUDA_CALLABLE operator const T* () const { return &x; };\n\n\tCUDA_CALLABLE void Set(T x_, T y_, T z_, T w_) {  x = x_; y = y_; z = z_; w = w_; }\n\n\tCUDA_CALLABLE XQuat<T> operator * (T scale) const { XQuat<T> r(*this); r *= scale;  return r;}\n\tCUDA_CALLABLE XQuat<T> operator / (T scale) const { XQuat<T> r(*this); r /= scale;  return r; }\n\tCUDA_CALLABLE XQuat<T> operator + (const XQuat<T>& v) const { XQuat<T> r(*this); r += v;  return r; }\n\tCUDA_CALLABLE XQuat<T> operator - (const XQuat<T>& v) const { XQuat<T> r(*this); r -= v;  return r; }\n\tCUDA_CALLABLE XQuat<T> operator * (XQuat<T> q) const \n\t{\n\t\t// quaternion multiplication\n\t\treturn XQuat<T>(w * q.x + q.w * x + y * q.z - q.y * z, w * q.y + q.w * y + z * q.x - q.z * x,\n\t\t            w * q.z + q.w * z + x * q.y - q.x * y, w * q.w - x * q.x - y * q.y - z * q.z);\t\t\n\t}\n\n\tCUDA_CALLABLE XQuat<T>& operator *=(T scale) {x *= scale; y *= scale; z*= scale; w*= scale;  return *this;}\n\tCUDA_CALLABLE XQuat<T>& operator /=(T scale) {T s(1.0f/scale); x *= s; y *= s; z *= s; w *=s;  return *this;}\n\tCUDA_CALLABLE XQuat<T>& operator +=(const XQuat<T>& v) {x += v.x; y += v.y; z += v.z; w += v.w;  return *this;}\n\tCUDA_CALLABLE XQuat<T>& operator -=(const XQuat<T>& v) {x -= v.x; y -= v.y; z -= v.z; w -= v.w;  return *this;}\n\n\tCUDA_CALLABLE bool operator != (const XQuat<T>& v) const { return (x != v.x || y != v.y || z != v.z || w != v.w); }\n\n\t// negate\n\tCUDA_CALLABLE XQuat<T> operator -() const {  return XQuat<T>(-x, -y, -z, -w); }\n\n\tT x,y,z,w;\n};\n\ntypedef XQuat<float> Quat;\n\n// lhs scalar scale\ntemplate <typename T>\nCUDA_CALLABLE XQuat<T> operator *(T lhs, const XQuat<T>& rhs)\n{\n\tXQuat<T> r(rhs);\n\tr *= lhs;\n\treturn r;\n}\n\ntemplate <typename T>\nCUDA_CALLABLE bool operator==(const XQuat<T>& lhs, const XQuat<T>& rhs)\n{\n\treturn (lhs.x == rhs.x && lhs.y == rhs.y && lhs.z == rhs.z && lhs.w == rhs.w);\n}\n\ntemplate <typename T>\nCUDA_CALLABLE inline XQuat<T> QuatFromAxisAngle(const Vec3& axis, float angle)\n{\n\tVec3 v = Normalize(axis);\n\n\tfloat half = angle*0.5f;\n\tfloat w = cosf(half);\n\n\tconst float sin_theta_over_two = sinf(half);\n\tv *= sin_theta_over_two;\n\n\treturn XQuat<T>(v.x, v.y, v.z, w);\n}\n\n\n// rotate vector by quaternion (q, w)\nCUDA_CALLABLE inline Vec3 Rotate(const Quat& q, const Vec3& x)\n{\n\treturn x*(2.0f*q.w*q.w-1.0f) + Cross(Vec3(q), x)*q.w*2.0f + Vec3(q)*Dot(Vec3(q), x)*2.0f;\n}\n\n// rotate vector by inverse transform in (q, w)\nCUDA_CALLABLE inline Vec3 RotateInv(const Quat& q, const Vec3& x)\n{\n\treturn x*(2.0f*q.w*q.w-1.0f) - Cross(Vec3(q), x)*q.w*2.0f + Vec3(q)*Dot(Vec3(q), x)*2.0f;\n}\n\nCUDA_CALLABLE inline Quat Inverse(const Quat& q)\n{\n\treturn Quat(-q.x, -q.y, -q.z, q.w);\n}\n\nCUDA_CALLABLE inline Quat Normalize(const Quat& q)\n{\n\tfloat lSq = q.x*q.x + q.y*q.y + q.z*q.z + q.w*q.w;\n\n\tif (lSq > 0.0f)\n\t{\n\t\tfloat invL = 1.0f / sqrtf(lSq);\n\n\t\treturn q*invL;\n\t}\n\telse\n\t\treturn Quat();\n}"
  },
  {
    "path": "core/sdf.cpp",
    "content": "// This code contains NVIDIA Confidential Information and is disclosed to you\n// under a form of NVIDIA software license agreement provided separately to you.\n//\n// Notice\n// NVIDIA Corporation and its licensors retain all intellectual property and\n// proprietary rights in and to this software and related documentation and\n// any modifications thereto. Any use, reproduction, disclosure, or\n// distribution of this software and related documentation without an express\n// license agreement from NVIDIA Corporation is strictly prohibited.\n//\n// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED \"AS IS.\". NVIDIA MAKES\n// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO\n// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,\n// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.\n//\n// Information and code furnished is believed to be accurate and reliable.\n// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such\n// information or for any infringement of patents or other rights of third parties that may\n// result from its use. No license is granted by implication or otherwise under any patent\n// or patent rights of NVIDIA Corporation. Details are subject to change without notice.\n// This code supersedes and replaces all information previously supplied.\n// NVIDIA Corporation products are not authorized for use as critical\n// components in life support devices or systems without express written approval of\n// NVIDIA Corporation.\n//\n// Copyright (c) 2013-2020 NVIDIA Corporation. All rights reserved.\n\n#include \"sdf.h\"\n\n#include <vector>\n#include <float.h>\n#include <math.h>\n\nusing namespace std;\n\nnamespace\n{\n\tinline float Sqr(float x) { return x*x; }\n\tinline int Clamp(int x, int lower, int upper) { return min(max(lower, x), upper); }\n\n\tuint32_t Sample(const uint32_t* image, uint32_t w, uint32_t h, int x, int y)\n\t{\n\t\treturn image[Clamp(y, 0, h-1)*w + Clamp(x, 0, w-1)];\n\t}\n\n\tuint32_t Sample(const uint32_t* image, uint32_t w, uint32_t h, uint32_t d, int x, int y, int z)\n\t{\n\t\treturn image[Clamp(z, 0, d-1)*w*h + Clamp(y, 0, h-1)*w + Clamp(x, 0, w-1)];\n\t}\n\n\t// returns true if point is on the surface\n\tbool EdgeDetect(const uint32_t* img, uint32_t w, uint32_t h, int x, int y)\n\t{\n\t\tbool center = Sample(img, w, h, x, y) != 0;\n\n\t\tfor (int j=y-1; j <= y+1; ++j)\n\t\t{\n\t\t\tfor (int i=x-1; i <= x+1; ++i)\n\t\t\t{\n\t\t\t\tif ((0 != Sample(img, w, h, i, j)) != center)\n\t\t\t\t{\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t\n\t\treturn false;\n\t}\n\n\n\t// returns true if point is on the surface\n\tbool EdgeDetect(const uint32_t* img, uint32_t w, uint32_t h, uint32_t d, int x, int y, int z, float& dist)\n\t{\n\t\tbool center = Sample(img, w, h, d, x, y, z) != 0;\n\n\t\tfloat minDist = FLT_MAX;\n\n\t\tfor (int k=z-1; k <= z+1; ++k)\n\t\t{\n\t\t\tfor (int j=y-1; j <= y+1; ++j)\n\t\t\t{\n\t\t\t\tfor (int i=x-1; i <= x+1; ++i)\n\t\t\t\t{\n\t\t\t\t\tif ((0 != Sample(img, w, h, d, i, j, k)) != center)\n\t\t\t\t\t{\n\t\t\t\t\t\tint dx = x-i;\n\t\t\t\t\t\tint dy = y-j;\n\t\t\t\t\t\tint dz = z-k;\n\n\t\t\t\t\t\tminDist = min(sqrtf(float(dx*dx + dy*dy + dz*dz))*0.5f, minDist);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tdist = minDist;\n\n\t\treturn minDist != FLT_MAX;\n\t}\n}\n\n// 2D fast marching method (FMM J. Sethian. A fast marching level set method for monotonically advancing fronts. Proc. Natl. Acad. Sci., 93:15911595, 1996.)\nnamespace \n{\n\tstruct Coord2D\n\t{\n\t\tint i, j;\n\t\t\n\t\tfloat d;\n\t\tint si, sj;\n\n\t\tbool operator < (const Coord2D& c) const { return d > c.d; }\n\t};\n}\n\nvoid MakeSDF(const uint32_t* img, uint32_t w, uint32_t h, float* output)\n{\t\n\tconst float scale = 1.0f / max(w, h);\n\n\tstd::vector<Coord2D> queue;\n\n\t// find surface points\n\tfor (uint32_t y=0; y < h; ++y)\n\t{\n\t\tfor (uint32_t x=0; x < w; ++x)\n\t\t{\n\t\t\tif (EdgeDetect(img, w, h, x, y))\n\t\t\t{\n\t\t\t\tCoord2D c = {(int)x, (int)y, 0.0f, (int)x, (int)y};\n\t\t\t\tqueue.push_back(c);\n\t\t\t}\n\n\t\t\toutput[y*w + x] = FLT_MAX;\n\t\t}\n\t}\n\n\tstd::make_heap(queue.begin(), queue.end());\n\n\twhile (!queue.empty())\n\t{\n\t\tstd::pop_heap(queue.begin(), queue.end());\n\n\t\tCoord2D c = queue.back();\n\t\tqueue.pop_back();\n\n\t\t// freeze coord if not already frozen\n\t\tif (output[c.j*w + c.i] == FLT_MAX)\n\t\t{\n\t\t\toutput[c.j*w + c.i] = c.d;\n\n\t\t\t// update neighbours\n\t\t\tint xmin = max(c.i-1, 0), xmax = min(c.i+1, int(w-1));\n\t\t\tint ymin = max(c.j-1, 0), ymax = min(c.j+1, int(h-1));\n\n\t\t\tfor (int y=ymin; y <= ymax; ++y)\n\t\t\t{\n\t\t\t\tfor (int x=xmin; x <= xmax; ++x)\n\t\t\t\t{\n\t\t\t\t\tif (c.i != x || c.j != y)\n\t\t\t\t\t{\n\t\t\t\t\t\tint dx = x-c.si;\n\t\t\t\t\t\tint dy = y-c.sj;\n\n\t\t\t\t\t\t// calculate distance to source coord\n\t\t\t\t\t\tfloat d = sqrtf(float(dx*dx + dy*dy));\n\n\t\t\t\t\t\tCoord2D newc = {x, y, d, c.si, c.sj};\n\t\t\t\t\t\tqueue.push_back(newc);\n\t\t\t\t\t\tstd::push_heap(queue.begin(), queue.end());\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\t\n\t\t}\n\t}\n\n\tfor (uint32_t y=0; y < h; ++y)\n\t{\n\t\tfor (uint32_t x=0; x < w; ++x)\n\t\t{\n\t\t\tassert(output[y*w + x] < FLT_MAX);\n\n\t\t\t// flip sign for interior\n\t\t\toutput[y*w + x] *= (img[y*w + x]?-1.0f:1.0f)*scale;\n\t\t}\n\t}\n}\n\n// 3D fast marching method (FMM J. Sethian. A fast marching level set method for monotonically advancing fronts. Proc. Natl. Acad. Sci., 93:15911595, 1996.)\nnamespace \n{\n\tstruct Coord3D\n\t{\n\t\tint i, j, k;\n\t\t\n\t\tfloat d;\n\t\tint si, sj, sk;\n\n\t\tbool operator < (const Coord3D& c) const { return d > c.d; }\n\t};\n}\n\nvoid MakeSDF(const uint32_t* img, uint32_t w, uint32_t h, uint32_t d, float* output)\n{\t\n\tconst float scale = 1.0f / max(max(w, h), d);\n\n\tstd::vector<Coord3D> queue;\n\n\t// find surface points\n\tfor (uint32_t z=0; z < d; ++z)\n\t{\n\t\tfor (uint32_t y=0; y < h; ++y)\n\t\t{\n\t\t\tfor (uint32_t x=0; x < w; ++x)\n\t\t\t{\n\t\t\t\tfloat dist;\n\t\t\t\tif (EdgeDetect(img, w, h, d, x, y, z, dist))\n\t\t\t\t{\n\t\t\t\t\tCoord3D c = {(int)x, (int)y, (int)z, dist, (int)x, (int)y, (int)z};\n\t\t\t\t\tqueue.push_back(c);\n\t\t\t\t}\n\n\t\t\t\toutput[z*w*h + y*w + x] = FLT_MAX;\n\t\t\t}\n\t\t}\n\t}\n\n\t// no occupied voxels so quit\n\tif (queue.empty())\n\t\treturn;\n\n\tstd::make_heap(queue.begin(), queue.end());\n\n\twhile (!queue.empty())\n\t{\n\t\tstd::pop_heap(queue.begin(), queue.end());\n\n\t\tCoord3D c = queue.back();\n\t\tqueue.pop_back();\n\n\t\t// freeze coord if not already frozen\n\t\tif (output[c.k*w*h + c.j*w + c.i] == FLT_MAX)\n\t\t{\n\t\t\toutput[c.k*w*h + c.j*w + c.i] = c.d;\n\n\t\t\t// update neighbours\n\t\t\tint xmin = max(c.i-1, 0), xmax = min(c.i+1, int(w-1));\n\t\t\tint ymin = max(c.j-1, 0), ymax = min(c.j+1, int(h-1));\n\t\t\tint zmin = max(c.k-1, 0), zmax = min(c.k+1, int(d-1));\n\n\t\t\tfor (int z=zmin; z <= zmax; ++z)\n\t\t\t{\n\t\t\t\tfor (int y=ymin; y <= ymax; ++y)\n\t\t\t\t{\n\t\t\t\t\tfor (int x=xmin; x <= xmax; ++x)\n\t\t\t\t\t{\n\t\t\t\t\t\tif ((c.i != x || c.j != y || c.k != z) && output[z*w*h + y*w + x] == FLT_MAX)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tint dx = x-c.si;\n\t\t\t\t\t\t\tint dy = y-c.sj;\n\t\t\t\t\t\t\tint dz = z-c.sk;\n\n\t\t\t\t\t\t\t// calculate distance to source coord\n\t\t\t\t\t\t\tfloat d = sqrtf(float(dx*dx + dy*dy + dz*dz)) + output[c.sk*w*h + c.sj*w + c.si];\n\n\t\t\t\t\t\t\tassert(d > 0.0f);\n\n\t\t\t\t\t\t\tCoord3D newc = {x, y, z, d, c.si, c.sj, c.sk};\n\n\t\t\t\t\t\t\tqueue.push_back(newc);\n\t\t\t\t\t\t\tstd::push_heap(queue.begin(), queue.end());\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\t\n\t\t\t}\n\t\t}\n\t}\n\n\tfor (uint32_t z=0; z < d; ++z)\n\t{\n\t\tfor (uint32_t y=0; y < h; ++y)\n\t\t{\n\t\t\tfor (uint32_t x=0; x < w; ++x)\n\t\t\t{\n\t\t\t\tassert(output[z*w*h + y*w + x] < FLT_MAX);\n\n\t\t\t\t// flip sign for interior\n\t\t\t\toutput[z*w*h + y*w + x] *= (img[z*w*h + y*w + x]?-1.0f:1.0f)*scale;\n\t\t\t}\n\t\t}\n\t}\n}\n\n\n\n\n/*\n// Brute-force 2D SDF generation\n\nvoid FindNeighbour(const uint32_t* image, uint32_t w, uint32_t h, uint32_t cx, uint32_t cy, uint32_t& i, uint32_t& j, float& d)\n\t{\n\t\tfloat minDistSq=FLT_MAX;\n\n\t\tfloat fx = float(cx);\n\t\tfloat fy = float(cy);\n\n\t\tfor (uint32_t y=0; y < h; ++y)\n\t\t{\n\t\t\tfor (uint32_t x=0; x < w; ++x)\n\t\t\t{\n\t\t\t\tif ((x != cx || y != cy) && image[y*w + x])\n\t\t\t\t{\n\t\t\t\t\tfloat dSq = Sqr(fx-float(x)) + Sqr(fy-float(y));\n\t\t\t\t\tif (dSq < minDistSq)\n\t\t\t\t\t{\n\t\t\t\t\t\tminDistSq = dSq;\n\t\t\t\t\t\ti = x;\n\t\t\t\t\t\tj = y;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\t\n\t\t}\n\n\t\td = sqrtf(minDistSq);\n\t}\t\n\n\n// brute force\nvoid MakeSDF(const uint32_t* img, uint32_t w, uint32_t h, float* output)\n{\n\t// find surface points\n\tvector<uint32_t> surface(w*h);\n\n\tfor (uint32_t y=0; y < h; ++y)\n\t{\n\t\tfor (uint32_t x=0; x < w; ++x)\n\t\t{\n\t\t\tif (EdgeDetect(img, w, h, x, y))\n\t\t\t{\n\t\t\t\tsurface[y*w + x] = 1;\n\t\t\t}\n\t\t}\n\t}\n\n\t// brute force search\n\tfor (uint32_t y=0; y < h; ++y)\n\t{\n\t\tfor (uint32_t x=0; x < w; ++x)\n\t\t{\n\t\t\tuint32_t i, j;\n\t\t\tfloat d;\n\t\t\tFindNeighbour(&surface[0], w, h, x, y, i, j, d);\n\t\t\n\t\t\t// flip sign for pixels inside the shape\t\n\t\t\tfloat sign = (img[y*w + x])?-1.0f:1.0f; \n\n\t\t\toutput[y*w + x] = d*sign/w;\n\t\t}\t\n\t}\n}\n*/\n"
  },
  {
    "path": "core/sdf.h",
    "content": "// This code contains NVIDIA Confidential Information and is disclosed to you\n// under a form of NVIDIA software license agreement provided separately to you.\n//\n// Notice\n// NVIDIA Corporation and its licensors retain all intellectual property and\n// proprietary rights in and to this software and related documentation and\n// any modifications thereto. Any use, reproduction, disclosure, or\n// distribution of this software and related documentation without an express\n// license agreement from NVIDIA Corporation is strictly prohibited.\n//\n// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED \"AS IS.\". NVIDIA MAKES\n// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO\n// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,\n// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.\n//\n// Information and code furnished is believed to be accurate and reliable.\n// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such\n// information or for any infringement of patents or other rights of third parties that may\n// result from its use. No license is granted by implication or otherwise under any patent\n// or patent rights of NVIDIA Corporation. Details are subject to change without notice.\n// This code supersedes and replaces all information previously supplied.\n// NVIDIA Corporation products are not authorized for use as critical\n// components in life support devices or systems without express written approval of\n// NVIDIA Corporation.\n//\n// Copyright (c) 2013-2020 NVIDIA Corporation. All rights reserved.\n\n#pragma once\n\n#include \"core.h\"\n#include \"maths.h\"\n\n// 2d and 3d signed distance field computation using fast marching method (FMM), output array\n// should be the same size as input, non-zero input pixels will have distance < 0.0f, resulting \n// distance is scaled by 1 / max(dimension)\nvoid MakeSDF(const uint32_t* input, uint32_t width, uint32_t height, float* output);\nvoid MakeSDF(const uint32_t* input, uint32_t width, uint32_t height, uint32_t depth, float* output);\n"
  },
  {
    "path": "core/tga.cpp",
    "content": "// This code contains NVIDIA Confidential Information and is disclosed to you\n// under a form of NVIDIA software license agreement provided separately to you.\n//\n// Notice\n// NVIDIA Corporation and its licensors retain all intellectual property and\n// proprietary rights in and to this software and related documentation and\n// any modifications thereto. Any use, reproduction, disclosure, or\n// distribution of this software and related documentation without an express\n// license agreement from NVIDIA Corporation is strictly prohibited.\n//\n// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED \"AS IS.\". NVIDIA MAKES\n// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO\n// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,\n// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.\n//\n// Information and code furnished is believed to be accurate and reliable.\n// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such\n// information or for any infringement of patents or other rights of third parties that may\n// result from its use. No license is granted by implication or otherwise under any patent\n// or patent rights of NVIDIA Corporation. Details are subject to change without notice.\n// This code supersedes and replaces all information previously supplied.\n// NVIDIA Corporation products are not authorized for use as critical\n// components in life support devices or systems without express written approval of\n// NVIDIA Corporation.\n//\n// Copyright (c) 2013-2020 NVIDIA Corporation. All rights reserved.\n\n#include \"tga.h\"\n#include \"core.h\"\n#include \"types.h\"\n\n#include <stdio.h>\n#include <string.h>\n\nusing namespace std;\n\nstruct TgaHeader\n{\n    uint8_t  identsize;          // size of ID field that follows 18 uint8_t header (0 usually)\n    uint8_t  colourmaptype;      // type of colour map 0=none, 1=has palette\n    uint8_t  imagetype;          // type of image 0=none,1=indexed,2=rgb,3=grey,+8=rle packed\n\n    uint16_t colourmapstart;     // first colour map entry in palette\n    uint16_t colourmaplength;    // number of colours in palette\n    uint8_t  colourmapbits;      // number of bits per palette entry 15,16,24,32\n\n    uint16_t xstart;             // image x origin\n    uint16_t ystart;             // image y origin\n    uint16_t width;              // image width in pixels\n\tuint16_t height;             // image height in pixels\n    uint8_t  bits;               // image bits per pixel 8,16,24,32\n    uint8_t  descriptor;         // image descriptor bits (vh flip bits)\n    \n    // pixel data follows header  \n};\n\nnamespace\n{\n\n\tvoid memwrite(void* src, uint32_t size, unsigned char*& buffer)\n\t{\n\t\tmemcpy(buffer, src, size);\n\t\tbuffer += size;\n\t}\n}\n\n\n\nbool TgaSave(const char* filename, const TgaImage& image, bool rle)\n{\n\tFILE* f = fopen(filename, \"wb\");\n\tif (f)\n\t{\n\t\tbool b = TgaSave(f, image, rle);\n\t\tfclose(f);\n\n\t\treturn b;\n\t}\n\n\treturn false;\n}\n\nbool TgaSave(FILE* f, const TgaImage& image, bool rle)\n{\n\tTgaHeader header;\n\n\theader.identsize = 0;\n\theader.colourmaptype = 0;\n\theader.imagetype = rle?9:2;\n\theader.colourmapstart = 0;\n\theader.colourmaplength = 0;\n\theader.colourmapbits = 0;\n\theader.xstart = 0;\n\theader.ystart = 0;\n\theader.width = image.m_width;\n\theader.height = image.m_height;\n\theader.bits = 32;\n\theader.descriptor = 0;//uint16((1<<3)|(1<<5));\n\n\tif (f)\n\t{\n\t\tunsigned char* data = (unsigned char*)new uint32_t[image.m_width*image.m_height + sizeof(header)];\n\t\tunsigned char* writeptr = data;\n\t\t\t\t\n\t\tmemwrite(&header.identsize, sizeof(header.identsize), writeptr);\n\t\tmemwrite(&header.colourmaptype, sizeof(header.colourmaptype), writeptr);\n\t\tmemwrite(&header.imagetype, sizeof(header.imagetype), writeptr);\n\t\tmemwrite(&header.colourmapstart, sizeof(header.colourmapstart), writeptr);\n\t\tmemwrite(&header.colourmaplength, sizeof(header.colourmaplength), writeptr);\n\t\tmemwrite(&header.colourmapbits, sizeof(header.colourmapbits), writeptr);\n\t\tmemwrite(&header.xstart, sizeof(header.xstart), writeptr);\n\t\tmemwrite(&header.ystart, sizeof(header.ystart), writeptr);\n\t\tmemwrite(&header.width, sizeof(header.width), writeptr);\n\t\tmemwrite(&header.height, sizeof(header.height), writeptr);\n\t\tmemwrite(&header.bits, sizeof(header.bits), writeptr);\n\t\tmemwrite(&header.descriptor, sizeof(header.descriptor), writeptr);\n\n\t\tunion texel\n\t\t{\n\t\t\tuint32_t u32;\n\t\t\tuint8_t u8[4];\n\t\t};\n\t\t\n\t\ttexel* t = (texel*)image.m_data;\n\t\tfor (int i=0; i < image.m_width*image.m_height; ++i)\n\t\t{\n\t\t\ttexel tmp = t[i];\n\t\t\tswap(tmp.u8[0], tmp.u8[2]);\n\t\t\tmemwrite(&tmp.u32, 4, writeptr);\n\t\t}\n\t\t\t \n\t\tfwrite(data, writeptr-data, 1, f);\n\t\t//fclose(f); \n\n\t\tdelete[] data;\n\n\t\treturn true;\n\t}\t\n\telse\n\t{\n\t\treturn false;\n\t}\n}\n\n\nbool TgaLoad(const char* filename, TgaImage& image)\n{\n\tif (!filename)\n\t\treturn false;\n\n\tFILE* aTGAFile = fopen(filename, \"rb\");\n\tif (aTGAFile == NULL)\n\t{\n\t\tprintf(\"Texture: could not open %s for reading.\\n\", filename);\n\t\treturn NULL;\n\t}\n\n\tchar aHeaderIDLen;\n\tsize_t err;\n\terr = fread(&aHeaderIDLen, sizeof(uint8_t), 1, aTGAFile);\n\n\tchar aColorMapType;\n\terr = fread(&aColorMapType, sizeof(uint8_t), 1, aTGAFile);\n\t\n\tchar anImageType;\n\terr = fread(&anImageType, sizeof(uint8_t), 1, aTGAFile);\n\n\tshort aFirstEntryIdx;\n\terr = fread(&aFirstEntryIdx, sizeof(uint16_t), 1, aTGAFile);\n\n\tshort aColorMapLen;\n\terr = fread(&aColorMapLen, sizeof(uint16_t), 1, aTGAFile);\n\n\tchar aColorMapEntrySize;\n\terr = fread(&aColorMapEntrySize, sizeof(uint8_t), 1, aTGAFile);\t\n\n\tshort anXOrigin;\n\terr = fread(&anXOrigin, sizeof(uint16_t), 1, aTGAFile);\n\n\tshort aYOrigin;\n\terr = fread(&aYOrigin, sizeof(uint16_t), 1, aTGAFile);\n\n\tshort anImageWidth;\n\terr = fread(&anImageWidth, sizeof(uint16_t), 1, aTGAFile);\t\n\n\tshort anImageHeight;\n\terr = fread(&anImageHeight, sizeof(uint16_t), 1, aTGAFile);\t\n\n\tchar aBitCount = 32;\n\terr = fread(&aBitCount, sizeof(uint8_t), 1, aTGAFile);\t\n\n\tchar anImageDescriptor;// = 8 | (1<<5);\n\terr = fread((char*)&anImageDescriptor, sizeof(uint8_t), 1, aTGAFile);\n\t\n\t// supress warning\n\t(void)err;\n\n\t// total is the number of bytes we'll have to read\n\tuint8_t numComponents = aBitCount / 8;\n\tuint32_t numTexels = anImageWidth * anImageHeight;\n\n\t// allocate memory for image pixels\n\timage.m_width = anImageWidth;\n\timage.m_height = anImageHeight;\n\timage.m_data = new uint32_t[numTexels];\n\n\t// load the image pixels\n\tfor (uint32_t i=0; i < numTexels; ++i)\n\t{\n\t\tunion texel\n\t\t{\n\t\t\tuint32_t u32;\n\t\t\tuint8_t u8[4];\n\t\t};\n\n\t\ttexel t;\n\t\tt.u32 = 0;\n\n\t\tif (!fread(&t.u32, numComponents, 1, aTGAFile))\n\t\t{\n\t\t\tprintf(\"Texture: file not fully read, may be corrupt (%s)\\n\", filename);\n\t\t}\n\n\t\t// stores it as BGR(A) so we'll have to swap R and B.\n\t\tswap(t.u8[0], t.u8[2]);\n\n\n\t\timage.m_data[i] = t.u32;\n\t}\n\n\t// if bit 5 of the descriptor is set then the image is flipped vertically so we fix it up\n\tif (anImageDescriptor & (1 << 5))\n\t{\n\n\t\t// swap all the rows\n\t\tint rowSize = image.m_width*4;\t\n\n\t\tuint8_t* buf = new uint8_t[image.m_width*4];\n\t\tuint8_t* start = (uint8_t*)image.m_data;\n\t\tuint8_t* end = &((uint8_t*)image.m_data)[rowSize*(image.m_height-1)];\n\t\t\n\t\twhile (start < end)\n\t\t{\n\t\t\tmemcpy(buf, end, rowSize);\n\t\t\tmemcpy(end, start, rowSize);\n\t\t\tmemcpy(start, buf, rowSize);\n\n\t\t\tstart += rowSize;\n\t\t\tend -= rowSize;\n\t\t}\n\n\t\tdelete[] buf;\n\t}\n\n\tfclose(aTGAFile);\n\t\n\treturn true;\n}\n\nvoid TgaFree(const TgaImage& image)\n{\n\tdelete[] image.m_data;\n}\n"
  },
  {
    "path": "core/tga.h",
    "content": "\n// This code contains NVIDIA Confidential Information and is disclosed to you\n// under a form of NVIDIA software license agreement provided separately to you.\n//\n// Notice\n// NVIDIA Corporation and its licensors retain all intellectual property and\n// proprietary rights in and to this software and related documentation and\n// any modifications thereto. Any use, reproduction, disclosure, or\n// distribution of this software and related documentation without an express\n// license agreement from NVIDIA Corporation is strictly prohibited.\n//\n// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED \"AS IS.\". NVIDIA MAKES\n// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO\n// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,\n// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.\n//\n// Information and code furnished is believed to be accurate and reliable.\n// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such\n// information or for any infringement of patents or other rights of third parties that may\n// result from its use. No license is granted by implication or otherwise under any patent\n// or patent rights of NVIDIA Corporation. Details are subject to change without notice.\n// This code supersedes and replaces all information previously supplied.\n// NVIDIA Corporation products are not authorized for use as critical\n// components in life support devices or systems without express written approval of\n// NVIDIA Corporation.\n//\n// Copyright (c) 2013-2020 NVIDIA Corporation. All rights reserved.\n\n#pragma once\n\n#include \"types.h\"\n\n#include <algorithm>\n#include <stdio.h>\n\nstruct TgaImage\n{\n\tuint32_t SampleClamp(int x, int y) const\n\t{\n\t\tuint32_t ix = std::min(std::max(0, x), int(m_width-1));\n\t\tuint32_t iy = std::min(std::max(0, y), int(m_height-1));\n\n\t\treturn m_data[iy*m_width + ix];\n\t}\n\n\tuint16_t m_width;\n\tuint16_t m_height;\n\n\t// pixels are always assumed to be 32 bit\n\tuint32_t* m_data;\n};\n\nbool TgaSave(const char* filename, const TgaImage& image, bool rle=false);\nbool TgaSave(FILE* file, const TgaImage& image, bool rle=false);\nbool TgaLoad(const char* filename, TgaImage& image);\nvoid TgaFree(const TgaImage& image);\n"
  },
  {
    "path": "core/types.h",
    "content": "// This code contains NVIDIA Confidential Information and is disclosed to you\n// under a form of NVIDIA software license agreement provided separately to you.\n//\n// Notice\n// NVIDIA Corporation and its licensors retain all intellectual property and\n// proprietary rights in and to this software and related documentation and\n// any modifications thereto. Any use, reproduction, disclosure, or\n// distribution of this software and related documentation without an express\n// license agreement from NVIDIA Corporation is strictly prohibited.\n//\n// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED \"AS IS.\". NVIDIA MAKES\n// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO\n// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,\n// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.\n//\n// Information and code furnished is believed to be accurate and reliable.\n// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such\n// information or for any infringement of patents or other rights of third parties that may\n// result from its use. No license is granted by implication or otherwise under any patent\n// or patent rights of NVIDIA Corporation. Details are subject to change without notice.\n// This code supersedes and replaces all information previously supplied.\n// NVIDIA Corporation products are not authorized for use as critical\n// components in life support devices or systems without express written approval of\n// NVIDIA Corporation.\n//\n// Copyright (c) 2013-2020 NVIDIA Corporation. All rights reserved.\n\n#pragma once\n\n#include <cstddef>\n#include \"stdint.h\"\n\n\n"
  },
  {
    "path": "core/vec2.h",
    "content": "// This code contains NVIDIA Confidential Information and is disclosed to you\n// under a form of NVIDIA software license agreement provided separately to you.\n//\n// Notice\n// NVIDIA Corporation and its licensors retain all intellectual property and\n// proprietary rights in and to this software and related documentation and\n// any modifications thereto. Any use, reproduction, disclosure, or\n// distribution of this software and related documentation without an express\n// license agreement from NVIDIA Corporation is strictly prohibited.\n//\n// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED \"AS IS.\". NVIDIA MAKES\n// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO\n// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,\n// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.\n//\n// Information and code furnished is believed to be accurate and reliable.\n// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such\n// information or for any infringement of patents or other rights of third parties that may\n// result from its use. No license is granted by implication or otherwise under any patent\n// or patent rights of NVIDIA Corporation. Details are subject to change without notice.\n// This code supersedes and replaces all information previously supplied.\n// NVIDIA Corporation products are not authorized for use as critical\n// components in life support devices or systems without express written approval of\n// NVIDIA Corporation.\n//\n// Copyright (c) 2013-2020 NVIDIA Corporation. All rights reserved.\n\n#pragma once\n\n#if defined(_WIN32) && !defined(__CUDACC__)\n#if defined(_DEBUG)\n\n#define VEC2_VALIDATE() {\tassert(_finite(x));\\\n\tassert(!_isnan(x));\\\n\t\\\n\tassert(_finite(y));\\\n\tassert(!_isnan(y));\\\n\t\t\t\t\t\t }\n#else\n\n#define VEC2_VALIDATE() {\\\n\tassert(isfinite(x));\\\n\tassert(isfinite(y)); }\\\n\n#endif // _WIN32\n\n#else\n#define VEC2_VALIDATE()\n#endif\n\n#ifdef _DEBUG\n#define FLOAT_VALIDATE(f) { assert(_finite(f)); assert(!_isnan(f)); }\n#else\n#define FLOAT_VALIDATE(f)\n#endif\n\n\n// vec2\ntemplate <typename T>\nclass XVector2\n{\npublic:\n\n\ttypedef T value_type;\n\n\tCUDA_CALLABLE XVector2() : x(0.0f), y(0.0f) { VEC2_VALIDATE(); }\n\tCUDA_CALLABLE XVector2(T _x) : x(_x), y(_x) { VEC2_VALIDATE(); }\n\tCUDA_CALLABLE XVector2(T _x, T _y) : x(_x), y(_y) { VEC2_VALIDATE(); }\n\tCUDA_CALLABLE XVector2(const T* p) : x(p[0]), y(p[1]) {}\n\n\ttemplate <typename U>\n\tCUDA_CALLABLE explicit XVector2(const XVector2<U>& v) : x(v.x), y(v.y) {}\n\n\tCUDA_CALLABLE operator T* () { return &x; }\n\tCUDA_CALLABLE operator const T* () const { return &x; };\n\n\tCUDA_CALLABLE void Set(T x_, T y_) { VEC2_VALIDATE(); x = x_; y = y_; }\n\n\tCUDA_CALLABLE XVector2<T> operator * (T scale) const { XVector2<T> r(*this); r *= scale; VEC2_VALIDATE(); return r; }\n\tCUDA_CALLABLE XVector2<T> operator / (T scale) const { XVector2<T> r(*this); r /= scale; VEC2_VALIDATE(); return r; }\n\tCUDA_CALLABLE XVector2<T> operator + (const XVector2<T>& v) const { XVector2<T> r(*this); r += v; VEC2_VALIDATE(); return r; }\n\tCUDA_CALLABLE XVector2<T> operator - (const XVector2<T>& v) const { XVector2<T> r(*this); r -= v; VEC2_VALIDATE(); return r; }\n\n\tCUDA_CALLABLE XVector2<T>& operator *=(T scale) {x *= scale; y *= scale; VEC2_VALIDATE(); return *this;}\n\tCUDA_CALLABLE XVector2<T>& operator /=(T scale) {T s(1.0f/scale); x *= s; y *= s; VEC2_VALIDATE(); return *this;}\n\tCUDA_CALLABLE XVector2<T>& operator +=(const XVector2<T>& v) {x += v.x; y += v.y; VEC2_VALIDATE(); return *this;}\n\tCUDA_CALLABLE XVector2<T>& operator -=(const XVector2<T>& v) {x -= v.x; y -= v.y; VEC2_VALIDATE(); return *this;}\n\n\tCUDA_CALLABLE XVector2<T>& operator *=(const XVector2<T>& scale) {x *= scale.x; y *= scale.y; VEC2_VALIDATE(); return *this;}\n\n\t// negate\n\tCUDA_CALLABLE XVector2<T> operator -() const { VEC2_VALIDATE(); return XVector2<T>(-x, -y); }\n\n\t// returns this vector\n\tCUDA_CALLABLE void Normalize() { *this /= Length(*this); }\n\tCUDA_CALLABLE void SafeNormalize(const XVector2<T>& v=XVector2<T>(0.0f,0.0f))\n\t{\n\t\tT length = Length(*this);\n\t\t*this = (length==0.00001f)?v:(*this /= length);\n\t}\n\n\tT x;\n\tT y;\n};\n\ntypedef XVector2<float> Vec2;\ntypedef XVector2<float> Vector2;\n\n// lhs scalar scale\ntemplate <typename T>\nCUDA_CALLABLE XVector2<T> operator *(T lhs, const XVector2<T>& rhs)\n{\n\tXVector2<T> r(rhs);\n\tr *= lhs;\n\treturn r;\n}\n\ntemplate <typename T>\nCUDA_CALLABLE XVector2<T> operator*(const XVector2<T>& lhs, const XVector2<T>& rhs)\n{\n\tXVector2<T> r(lhs);\n\tr *= rhs;\n\treturn r;\n}\n\ntemplate <typename T>\nCUDA_CALLABLE bool operator==(const XVector2<T>& lhs, const XVector2<T>& rhs)\n{\n\treturn (lhs.x == rhs.x && lhs.y == rhs.y);\n}\n\n\ntemplate <typename T>\nCUDA_CALLABLE T Dot(const XVector2<T>& v1, const XVector2<T>& v2)\n{\n\treturn v1.x * v2.x + v1.y * v2.y; \n}\n\n// returns the ccw perpendicular vector \ntemplate <typename T>\nCUDA_CALLABLE XVector2<T> PerpCCW(const XVector2<T>& v)\n{\n\treturn XVector2<T>(-v.y, v.x);\n}\n\ntemplate <typename T>\nCUDA_CALLABLE XVector2<T> PerpCW(const XVector2<T>& v)\n{\n\treturn XVector2<T>(v.y, -v.x);\n}\n\n// component wise min max functions\ntemplate <typename T>\nCUDA_CALLABLE XVector2<T> Max(const XVector2<T>& a, const XVector2<T>& b)\n{\n\treturn XVector2<T>(Max(a.x, b.x), Max(a.y, b.y));\n}\n\ntemplate <typename T>\nCUDA_CALLABLE XVector2<T> Min(const XVector2<T>& a, const XVector2<T>& b)\n{\n\treturn XVector2<T>(Min(a.x, b.x), Min(a.y, b.y));\n}\n\n// 2d cross product, treat as if a and b are in the xy plane and return magnitude of z\ntemplate <typename T>\nCUDA_CALLABLE T Cross(const XVector2<T>& a, const XVector2<T>& b)\n{\n\treturn (a.x*b.y - a.y*b.x);\n}\n\n\n\n\n"
  },
  {
    "path": "core/vec3.h",
    "content": "// This code contains NVIDIA Confidential Information and is disclosed to you\n// under a form of NVIDIA software license agreement provided separately to you.\n//\n// Notice\n// NVIDIA Corporation and its licensors retain all intellectual property and\n// proprietary rights in and to this software and related documentation and\n// any modifications thereto. Any use, reproduction, disclosure, or\n// distribution of this software and related documentation without an express\n// license agreement from NVIDIA Corporation is strictly prohibited.\n//\n// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED \"AS IS.\". NVIDIA MAKES\n// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO\n// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,\n// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.\n//\n// Information and code furnished is believed to be accurate and reliable.\n// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such\n// information or for any infringement of patents or other rights of third parties that may\n// result from its use. No license is granted by implication or otherwise under any patent\n// or patent rights of NVIDIA Corporation. Details are subject to change without notice.\n// This code supersedes and replaces all information previously supplied.\n// NVIDIA Corporation products are not authorized for use as critical\n// components in life support devices or systems without express written approval of\n// NVIDIA Corporation.\n//\n// Copyright (c) 2013-2020 NVIDIA Corporation. All rights reserved.\n\n#pragma once\n\n#if 0 //_DEBUG\n#define VEC3_VALIDATE() {\t\\\n\tassert(_finite(x));\\\n\tassert(!_isnan(x));\\\n\t\\\n\tassert(_finite(y));\\\n\tassert(!_isnan(y));\\\n\t\\\n\tassert(_finite(z));\\\n\tassert(!_isnan(z));\\\n\t\t\t\t\t\t }\n#else\n#define VEC3_VALIDATE()\n#endif\n\ntemplate <typename T=float>\nclass XVector3\n{\npublic:\n\n\ttypedef T value_type;\n\n\tCUDA_CALLABLE inline XVector3() : x(0.0f), y(0.0f), z(0.0f) {}\n\tCUDA_CALLABLE inline XVector3(T a) : x(a), y(a), z(a) {}\n\tCUDA_CALLABLE inline XVector3(const T* p) : x(p[0]), y(p[1]), z(p[2]) {}\n\tCUDA_CALLABLE inline XVector3(T x_, T y_, T z_) : x(x_), y(y_), z(z_) \n\t{\n\t\tVEC3_VALIDATE();\n\t}\n\n\tCUDA_CALLABLE inline operator T* () { return &x; }\n\tCUDA_CALLABLE inline operator const T* () const { return &x; };\n\n\tCUDA_CALLABLE inline void Set(T x_, T y_, T z_) { VEC3_VALIDATE(); x = x_; y = y_; z = z_;}\n\n\tCUDA_CALLABLE inline XVector3<T> operator * (T scale) const { XVector3<T> r(*this); r *= scale; return r; VEC3_VALIDATE();}\n\tCUDA_CALLABLE inline XVector3<T> operator / (T scale) const { XVector3<T> r(*this); r /= scale; return r; VEC3_VALIDATE();}\n\tCUDA_CALLABLE inline XVector3<T> operator + (const XVector3<T>& v) const { XVector3<T> r(*this); r += v; return r; VEC3_VALIDATE();}\n\tCUDA_CALLABLE inline XVector3<T> operator - (const XVector3<T>& v) const { XVector3<T> r(*this); r -= v; return r; VEC3_VALIDATE();}\n    CUDA_CALLABLE inline XVector3<T> operator /(const XVector3<T>& v) const { XVector3<T> r(*this); r /= v; return r; VEC3_VALIDATE();}\n    CUDA_CALLABLE inline XVector3<T> operator *(const XVector3<T>& v) const { XVector3<T> r(*this); r *= v; return r; VEC3_VALIDATE();}\n\n\tCUDA_CALLABLE inline XVector3<T>& operator *=(T scale) {x *= scale; y *= scale; z*= scale; VEC3_VALIDATE(); return *this;}\n\tCUDA_CALLABLE inline XVector3<T>& operator /=(T scale) {T s(1.0f/scale); x *= s; y *= s; z *= s; VEC3_VALIDATE(); return *this;}\n\tCUDA_CALLABLE inline XVector3<T>& operator +=(const XVector3<T>& v) {x += v.x; y += v.y; z += v.z; VEC3_VALIDATE(); return *this;}\n\tCUDA_CALLABLE inline XVector3<T>& operator -=(const XVector3<T>& v) {x -= v.x; y -= v.y; z -= v.z; VEC3_VALIDATE(); return *this;}\n    CUDA_CALLABLE inline XVector3<T>& operator /=(const XVector3<T>& v) {x /= v.x; y /= v.y; z /= v.z; VEC3_VALIDATE(); return *this; }\n    CUDA_CALLABLE inline XVector3<T>& operator *=(const XVector3<T>& v) {x *= v.x; y *= v.y; z *= v.z; VEC3_VALIDATE(); return *this; }\n\n\tCUDA_CALLABLE inline bool operator != (const XVector3<T>& v) const { return (x != v.x || y != v.y || z != v.z); }\n\n\t// negate\n\tCUDA_CALLABLE inline XVector3<T> operator -() const { VEC3_VALIDATE(); return XVector3<T>(-x, -y, -z); }\n\n\tCUDA_CALLABLE void Validate()\n\t{\n\t\tVEC3_VALIDATE();\n\t}\n\n\tT x,y,z;\n};\n\ntypedef XVector3<float> Vec3;\ntypedef XVector3<float> Vector3;\n\n// lhs scalar scale\ntemplate <typename T>\nCUDA_CALLABLE XVector3<T> operator *(T lhs, const XVector3<T>& rhs)\n{\n\tXVector3<T> r(rhs);\n\tr *= lhs;\n\treturn r;\n}\n\ntemplate <typename T>\nCUDA_CALLABLE bool operator==(const XVector3<T>& lhs, const XVector3<T>& rhs)\n{\n\treturn (lhs.x == rhs.x && lhs.y == rhs.y && lhs.z == rhs.z);\n}\n\ntemplate <typename T>\nCUDA_CALLABLE typename T::value_type Dot3(const T& v1, const T& v2)\n{\n\treturn v1.x * v2.x + v1.y * v2.y + v1.z*v2.z; \n}\n\nCUDA_CALLABLE inline float Dot3(const float* v1, const float * v2)\n{\n\treturn v1[0]*v2[0] + v1[1]*v2[1] + v1[2]*v2[2]; \n}\n\n\ntemplate <typename T>\nCUDA_CALLABLE inline T Dot(const XVector3<T>& v1, const XVector3<T>& v2)\n{\n\treturn v1.x*v2.x + v1.y*v2.y + v1.z*v2.z;\n}\n\nCUDA_CALLABLE inline Vec3 Cross(const Vec3& b, const Vec3& c)\n{\n\treturn Vec3(b.y*c.z - b.z*c.y,\n\t\t\t    b.z*c.x - b.x*c.z,\n\t\t\t\tb.x*c.y - b.y*c.x);\n}\n\n// component wise min max functions\ntemplate <typename T>\nCUDA_CALLABLE inline XVector3<T> Max(const XVector3<T>& a, const XVector3<T>& b)\n{\n\treturn XVector3<T>(Max(a.x, b.x), Max(a.y, b.y), Max(a.z, b.z));\n}\n\ntemplate <typename T>\nCUDA_CALLABLE inline XVector3<T> Min(const XVector3<T>& a, const XVector3<T>& b)\n{\n\treturn XVector3<T>(Min(a.x, b.x), Min(a.y, b.y), Min(a.z, b.z));\n}\n\n"
  },
  {
    "path": "core/vec4.h",
    "content": "// This code contains NVIDIA Confidential Information and is disclosed to you\n// under a form of NVIDIA software license agreement provided separately to you.\n//\n// Notice\n// NVIDIA Corporation and its licensors retain all intellectual property and\n// proprietary rights in and to this software and related documentation and\n// any modifications thereto. Any use, reproduction, disclosure, or\n// distribution of this software and related documentation without an express\n// license agreement from NVIDIA Corporation is strictly prohibited.\n//\n// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED \"AS IS.\". NVIDIA MAKES\n// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO\n// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,\n// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.\n//\n// Information and code furnished is believed to be accurate and reliable.\n// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such\n// information or for any infringement of patents or other rights of third parties that may\n// result from its use. No license is granted by implication or otherwise under any patent\n// or patent rights of NVIDIA Corporation. Details are subject to change without notice.\n// This code supersedes and replaces all information previously supplied.\n// NVIDIA Corporation products are not authorized for use as critical\n// components in life support devices or systems without express written approval of\n// NVIDIA Corporation.\n//\n// Copyright (c) 2013-2020 NVIDIA Corporation. All rights reserved.\n\n#pragma once\n\n#include <cassert>\n\n#if 0 //defined(_DEBUG) && defined(_WIN32)\n#define VEC4_VALIDATE() {\t\\\n\tassert(_finite(x));\\\n\tassert(!_isnan(x));\\\n\t\\\n\tassert(_finite(y));\\\n\tassert(!_isnan(y));\\\n\t\\\n\tassert(_finite(z));\\\n\tassert(!_isnan(z));\\\n\t\\\n\tassert(_finite(w));\\\n\tassert(!_isnan(w));\\\n}\n#else\n#define VEC4_VALIDATE()\n#endif\n\ntemplate <typename T>\nclass XVector4\n{\npublic:\n\n\ttypedef T value_type;\n\n\tCUDA_CALLABLE XVector4() : x(0), y(0), z(0), w(0) {}\n\tCUDA_CALLABLE XVector4(T a) : x(a), y(a), z(a), w(a) {}\n\tCUDA_CALLABLE XVector4(const T* p) : x(p[0]), y(p[1]), z(p[2]), w(p[3]) {}\n\tCUDA_CALLABLE XVector4(T x_, T y_, T z_, T w_) : x(x_), y(y_), z(z_), w(w_) { VEC4_VALIDATE();\t}\n\tCUDA_CALLABLE XVector4(const Vec3& v, float w) : x(v.x), y(v.y), z(v.z), w(w) { }\n\n\tCUDA_CALLABLE operator T* () { return &x; }\n\tCUDA_CALLABLE operator const T* () const { return &x; };\n\n\tCUDA_CALLABLE void Set(T x_, T y_, T z_, T w_) { VEC4_VALIDATE(); x = x_; y = y_; z = z_; w = w_; }\n\n\tCUDA_CALLABLE XVector4<T> operator * (T scale) const { XVector4<T> r(*this); r *= scale; VEC4_VALIDATE(); return r;}\n\tCUDA_CALLABLE XVector4<T> operator / (T scale) const { XVector4<T> r(*this); r /= scale; VEC4_VALIDATE(); return r; }\n\tCUDA_CALLABLE XVector4<T> operator + (const XVector4<T>& v) const { XVector4<T> r(*this); r += v; VEC4_VALIDATE(); return r; }\n\tCUDA_CALLABLE XVector4<T> operator - (const XVector4<T>& v) const { XVector4<T> r(*this); r -= v; VEC4_VALIDATE(); return r; }\n\tCUDA_CALLABLE XVector4<T> operator * (XVector4<T> scale) const { XVector4<T> r(*this); r *= scale; VEC4_VALIDATE(); return r; }\n\n\tCUDA_CALLABLE XVector4<T>& operator *=(T scale) {x *= scale; y *= scale; z*= scale; w*= scale; VEC4_VALIDATE(); return *this;}\n\tCUDA_CALLABLE XVector4<T>& operator /=(T scale) {T s(1.0f/scale); x *= s; y *= s; z *= s; w *=s; VEC4_VALIDATE(); return *this;}\n\tCUDA_CALLABLE XVector4<T>& operator +=(const XVector4<T>& v) {x += v.x; y += v.y; z += v.z; w += v.w; VEC4_VALIDATE(); return *this;}\n\tCUDA_CALLABLE XVector4<T>& operator -=(const XVector4<T>& v) {x -= v.x; y -= v.y; z -= v.z; w -= v.w; VEC4_VALIDATE(); return *this;}\n\tCUDA_CALLABLE XVector4<T>& operator *=(const XVector4<T>& v) {x *= v.x; y *= v.y; z *= v.z; w *= v.w; VEC4_VALIDATE(); return *this;}\n\n\tCUDA_CALLABLE bool operator != (const XVector4<T>& v) const { return (x != v.x || y != v.y || z != v.z || w != v.w); }\n\n\t// negate\n\tCUDA_CALLABLE XVector4<T> operator -() const { VEC4_VALIDATE(); return XVector4<T>(-x, -y, -z, -w); }\n\n\tT x,y,z,w;\n};\n\ntypedef XVector4<float> Vector4;\ntypedef XVector4<float> Vec4;\n\n// lhs scalar scale\ntemplate <typename T>\nCUDA_CALLABLE XVector4<T> operator *(T lhs, const XVector4<T>& rhs)\n{\n\tXVector4<T> r(rhs);\n\tr *= lhs;\n\treturn r;\n}\n\ntemplate <typename T>\nCUDA_CALLABLE bool operator==(const XVector4<T>& lhs, const XVector4<T>& rhs)\n{\n\treturn (lhs.x == rhs.x && lhs.y == rhs.y && lhs.z == rhs.z && lhs.w == rhs.w);\n}\n\n"
  },
  {
    "path": "core/voxelize.cpp",
    "content": "// This code contains NVIDIA Confidential Information and is disclosed to you\n// under a form of NVIDIA software license agreement provided separately to you.\n//\n// Notice\n// NVIDIA Corporation and its licensors retain all intellectual property and\n// proprietary rights in and to this software and related documentation and\n// any modifications thereto. Any use, reproduction, disclosure, or\n// distribution of this software and related documentation without an express\n// license agreement from NVIDIA Corporation is strictly prohibited.\n//\n// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED \"AS IS.\". NVIDIA MAKES\n// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO\n// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,\n// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.\n//\n// Information and code furnished is believed to be accurate and reliable.\n// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such\n// information or for any infringement of patents or other rights of third parties that may\n// result from its use. No license is granted by implication or otherwise under any patent\n// or patent rights of NVIDIA Corporation. Details are subject to change without notice.\n// This code supersedes and replaces all information previously supplied.\n// NVIDIA Corporation products are not authorized for use as critical\n// components in life support devices or systems without express written approval of\n// NVIDIA Corporation.\n//\n// Copyright (c) 2013-2020 NVIDIA Corporation. All rights reserved.\n\n#include \"aabbtree.h\"\n#include \"mesh.h\"\n\nvoid Voxelize(const Vec3* vertices, int numVertices, const int* indices, int numTriangleIndices, uint32_t width, uint32_t height, uint32_t depth, uint32_t* volume, Vec3 minExtents, Vec3 maxExtents)\n{\n\tmemset(volume, 0, sizeof(uint32_t)*width*height*depth);\n\n\t// build an aabb tree of the mesh\n\tAABBTree tree(vertices, numVertices, (const uint32_t*)indices, numTriangleIndices/3); \n\n\t// parity count method, single pass\n\tconst Vec3 extents(maxExtents-minExtents);\n\tconst Vec3 delta(extents.x/width, extents.y/height, extents.z/depth);\n\tconst Vec3 offset(0.5f*delta.x, 0.5f*delta.y, 0.5f*delta.z);\n\t\n\t// this is the bias we apply to step 'off' a triangle we hit, not very robust\n\tconst float eps = 0.00001f*extents.z;\n\n\tfor (uint32_t x=0; x < width; ++x)\n\t{\n\t\tfor (uint32_t y=0; y < height; ++y)\n\t\t{\n\t\t\tbool inside = false;\n\n\t\t\tVec3 rayDir = Vec3(0.0f, 0.0f, 1.0f);\n\t\t\tVec3 rayStart = minExtents + Vec3(x*delta.x + offset.x, y*delta.y + offset.y, 0.0f);\n\n\t\t\tuint32_t lastTri = uint32_t(-1);\n\t\t\tfor (;;)\n\t\t\t{\n\t\t\t\t// calculate ray start\n\t\t\t\tfloat t, u, v, w, s;\n\t\t\t\tuint32_t tri;\n\n\t\t\t\tif (tree.TraceRay(rayStart, rayDir, t, u, v, w, s, tri))\n\t\t\t\t{\n\t\t\t\t\t// calculate cell in which intersection occurred\n\t\t\t\t\tconst float zpos = rayStart.z + t*rayDir.z;\n\t\t\t\t\tconst float zhit = (zpos-minExtents.z)/delta.z;\n\t\t\t\t\t\n\t\t\t\t\tuint32_t z = uint32_t(floorf((rayStart.z-minExtents.z)/delta.z + 0.5f));\n\t\t\t\t\tuint32_t zend = std::min(uint32_t(floorf(zhit + 0.5f)), depth-1);\n\n\t\t\t\t\tif (inside)\n\t\t\t\t\t{\n\t\t\t\t\t\t// march along column setting bits \n\t\t\t\t\t\tfor (uint32_t k=z; k < zend; ++k)\n\t\t\t\t\t\t\tvolume[k*width*height + y*width + x] = uint32_t(-1);\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tinside = !inside;\n\t\t\t\t\t\n\t\t\t\t\t// we hit the tri we started from\n\t\t\t\t\tif (tri == lastTri)\n\t\t\t\t\t\tprintf(\"Error self-intersect\\n\");\n\t\t\t\t\tlastTri = tri;\n\n\t\t\t\t\trayStart += rayDir*(t+eps);\n\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\t\n}\n"
  },
  {
    "path": "core/voxelize.h",
    "content": "// This code contains NVIDIA Confidential Information and is disclosed to you\n// under a form of NVIDIA software license agreement provided separately to you.\n//\n// Notice\n// NVIDIA Corporation and its licensors retain all intellectual property and\n// proprietary rights in and to this software and related documentation and\n// any modifications thereto. Any use, reproduction, disclosure, or\n// distribution of this software and related documentation without an express\n// license agreement from NVIDIA Corporation is strictly prohibited.\n//\n// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED \"AS IS.\". NVIDIA MAKES\n// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO\n// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,\n// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.\n//\n// Information and code furnished is believed to be accurate and reliable.\n// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such\n// information or for any infringement of patents or other rights of third parties that may\n// result from its use. No license is granted by implication or otherwise under any patent\n// or patent rights of NVIDIA Corporation. Details are subject to change without notice.\n// This code supersedes and replaces all information previously supplied.\n// NVIDIA Corporation products are not authorized for use as critical\n// components in life support devices or systems without express written approval of\n// NVIDIA Corporation.\n//\n// Copyright (c) 2013-2020 NVIDIA Corporation. All rights reserved.\n\n#pragma once\n\nstruct Mesh;\n\n// voxelizes a mesh using a single pass parity algorithm\nvoid Voxelize(const Vec3* vertices, int numVertices, const int* indices, int numTriangleIndices, uint32_t width, uint32_t height, uint32_t depth, uint32_t* volume, Vec3 minExtents, Vec3 maxExtents);"
  },
  {
    "path": "data/apple.obj",
    "content": "####\n#\n# OBJ File Generated by Meshlab\n#\n####\n# Object apple.obj\n#\n# Vertices: 153\n# Faces: 300\n#\n####\nvn 0.768205 -5.106755 -0.351745\nv 2.520628 -1.023512 -13.424574\nvn 5.716664 -1.778916 0.145720\nv 36.217297 27.953806 2.594777\nvn -5.418490 2.469215 -0.617584\nv -25.672052 52.483288 -1.875841\nvn -0.924517 -0.544127 6.052085\nv -2.960919 34.339378 33.603149\nvn -0.931360 -0.678118 -5.988521\nv 0.090973 31.485067 -33.478489\nvn -0.983356 -5.618582 -2.337942\nv 6.827939 0.822266 5.813652\nvn 5.009913 3.148554 -0.917451\nv 33.429409 54.936699 -4.690226\nvn 1.693256 -5.383457 0.731071\nv 14.060890 -0.007591 5.985096\nvn -0.993291 -5.784883 1.442564\nv 8.969587 0.186737 5.348917\nvn -1.649858 -5.474798 -1.546003\nv 6.832199 0.821472 5.813409\nvn -4.326026 -0.470468 -4.212755\nv -18.710453 28.979465 -22.823431\nvn 2.300884 -1.515039 5.385868\nv 16.162701 28.180708 30.943745\nvn 0.009694 1.001822 -5.913493\nv 5.180632 41.866676 -33.960308\nvn -4.704615 0.179757 3.635785\nv -23.124849 37.596943 22.233168\nvn -5.593480 1.133819 1.720106\nv -27.474901 42.638397 12.660643\nvn -2.142712 0.931282 -5.474273\nv -4.729234 41.564888 -32.262135\nvn 4.142218 -1.856822 4.099807\nv 26.594885 27.186882 23.098183\nvn 3.855423 -0.226547 4.691504\nv 25.730703 38.782368 26.797838\nvn 3.695475 -0.113639 -4.853337\nv 24.675518 37.243877 -27.015125\nvn 5.217925 -0.456750 3.096273\nv 33.524750 37.337597 17.526415\nvn -3.469995 -0.140376 5.075677\nv -16.569504 36.020145 27.868893\nvn -3.690816 -1.472897 4.666711\nv -17.071077 27.978662 26.168631\nvn -1.946877 -1.255815 5.628798\nv -7.654107 29.237118 31.753576\nvn 2.881163 -2.454037 -4.756845\nv 16.893066 18.885115 -27.029533\nvn 3.397197 -1.340193 -4.813300\nv 22.060793 28.927784 -27.796179\nvn 5.265085 1.544901 2.214838\nv 34.662155 48.418438 14.202882\nvn -0.306473 -3.434414 5.100311\nv 0.446195 12.212178 26.017429\nvn -0.716191 -2.370046 -5.582024\nv -1.421835 16.191326 -29.299616\nvn -2.408989 -1.097244 -5.463418\nv -6.800843 24.252613 -30.369936\nvn 1.377559 -0.843123 -5.818475\nv 10.989578 30.849842 -33.170277\nvn 0.898978 -2.053550 -5.680278\nv 8.038378 20.849155 -30.999075\nvn -5.974451 -0.490088 -1.287237\nv -27.761267 32.120934 -5.909544\nvn -6.133689 -0.065821 0.382314\nv -28.834421 36.044395 6.237807\nvn -4.575047 -2.112159 3.416773\nv -21.395693 21.375195 18.980600\nvn 5.371424 -2.723465 -1.221008\nv 31.851522 20.551872 -5.879154\nvn 1.703663 -3.627392 4.524961\nv 11.117422 11.407609 24.293468\nvn -5.310735 -2.576030 1.540175\nv -23.487621 15.468112 9.074554\nvn -6.021840 -1.425735 0.303526\nv -27.393921 25.642773 5.526869\nvn 1.366899 -5.119010 -1.126829\nv -2.697854 4.546777 0.686396\nvn 4.724837 -3.869207 -0.792021\nv 24.432882 8.555145 -4.295452\nvn 0.491424 -5.544693 -2.804986\nv -0.008056 1.023562 6.149657\nvn -1.494303 -5.273253 -2.693774\nv 6.064968 1.164459 5.376245\nvn -0.554550 -6.132513 -1.172835\nv 6.631042 0.787982 5.996909\nvn -0.407011 0.088705 -1.598220\nv 3.205467 73.081215 -10.074594\nvn -1.917504 -2.367396 5.314453\nv -7.727013 18.637650 27.976698\nvn 4.952871 -3.394944 0.913231\nv 27.897404 12.784177 7.295247\nvn -0.087093 -4.562237 3.950145\nv -0.767779 3.365268 18.652195\nvn 0.389666 -5.687412 1.262276\nv 6.518823 -0.030408 11.470613\nvn 2.145708 -4.623132 3.142491\nv 12.458600 3.352971 15.276862\nvn 4.221831 1.276358 4.190674\nv 27.926729 46.687660 23.885386\nvn 2.851726 1.664036 5.078903\nv 19.268141 49.805355 29.503370\nvn -1.077858 1.065013 0.522417\nv 2.021278 75.172798 -6.338109\nvn 3.209095 1.518066 4.892166\nv 7.053469 55.320698 1.129658\nvn 1.517481 2.650671 -1.582041\nv 6.455966 55.228275 1.859016\nvn 3.126364 3.885660 -3.391420\nv 23.200508 56.041073 -20.543097\nvn 1.287310 3.255248 4.802151\nv 11.512562 58.108437 29.055326\nvn 1.223742 0.089182 1.515661\nv 8.550194 54.834187 0.968827\nvn 3.212714 3.748635 3.221860\nv 21.576584 59.305508 22.287495\nvn 1.252260 -0.318314 0.069283\nv 8.062037 61.993847 -2.215548\nvn 0.675209 6.041982 0.828545\nv 9.697734 62.937256 -10.766469\nvn -4.203020 2.644972 3.329717\nv -19.632469 52.081963 20.712957\nvn -4.488982 3.998102 0.304501\nv -20.824896 60.101234 2.533926\nvn -4.217213 2.512183 -3.417509\nv -18.651960 52.058296 -18.735207\nvn 0.021256 3.169294 -4.920047\nv 4.650378 54.655632 -29.324389\nvn 5.931455 0.023227 0.988294\nv 37.639107 40.611034 7.152462\nvn 5.864751 1.540069 -0.169802\nv 37.016216 47.329105 0.667597\nvn 1.154136 -3.517751 -4.807430\nv 7.839536 10.221773 -25.603649\nvn 2.722439 -3.870703 -3.524078\nv 16.143682 7.729976 -19.904783\nvn 4.864393 0.819145 -3.457240\nv 31.067455 42.698708 -20.172310\nvn 5.567001 1.024464 -2.142811\nv 34.901028 45.006226 -12.165047\nvn 4.301146 3.242188 -2.523455\nv 30.424856 54.475456 -13.646311\nvn 3.319578 1.942804 -4.540239\nv 23.366989 47.957275 -26.479239\nvn 1.527143 4.864987 2.624201\nv 12.631775 65.191757 21.598015\nvn 1.688691 5.477337 -1.288670\nv 20.719601 62.313259 -11.452750\nvn 3.419609 4.868929 -1.019939\nv 28.302458 60.090458 -5.062854\nvn 3.588418 4.674359 0.843927\nv 28.333281 60.648800 7.623643\nvn 1.276399 5.906625 -0.629552\nv 23.088049 62.892899 0.953714\nvn 2.892831 4.206449 -2.813991\nv 3.030222 62.875378 4.314701\nvn 4.984482 3.378573 0.891650\nv 32.522049 55.979149 7.292880\nvn -2.226712 3.263093 -4.446187\nv -6.851927 56.913090 -24.962538\nvn -3.629196 -1.954844 -4.538924\nv -13.346053 14.451248 -23.450130\nvn -1.161826 -5.588418 0.398806\nv -9.609534 0.188515 7.528116\nvn 1.348174 -5.616841 -0.907191\nv 12.419110 1.408919 -10.195855\nvn 3.451026 -4.801756 0.418617\nv 18.895536 2.394999 3.433466\nvn -2.450131 4.688352 -2.602725\nv -10.470497 62.579079 -16.090498\nvn -1.317421 -4.867695 -1.430677\nv 4.020233 4.685144 1.389475\nvn -1.980685 -3.009144 -4.747683\nv -7.775611 9.031627 -24.402666\nvn 0.164162 5.995891 -0.844348\nv -6.511661 66.463448 -5.179484\nvn 1.290438 -5.388301 2.111287\nv -2.402213 3.570511 -5.292131\nvn -1.146721 -5.319608 0.889838\nv 5.507989 4.296741 -4.994521\nvn 0.083231 4.874308 -3.544773\nv 8.006970 65.462395 7.033481\nvn 0.280430 5.782675 -1.247286\nv 0.469010 65.063591 -15.240012\nvn 2.715994 5.551981 0.148814\nv -0.576244 64.348747 -3.895821\nvn -0.421583 -4.305698 -3.910574\nv -2.870142 3.087352 -21.026943\nvn -3.395293 -3.764424 -3.057953\nv -13.544098 5.324652 -17.198019\nvn -1.367108 -5.300202 -1.500191\nv -6.121289 -0.416561 -14.328570\nvn 1.402678 -5.977862 -0.007349\nv -7.863965 2.030083 -0.915648\nvn -0.379253 -5.759875 0.844414\nv -8.853008 0.500260 -6.186928\nvn -1.913318 -5.945448 -0.670650\nv 8.034678 0.538177 4.766757\nvn -0.471260 -5.843098 -0.561174\nv 10.030420 -0.103088 4.163203\nvn -1.737571 -5.954945 0.269063\nv 8.967814 0.187225 5.349097\nvn -2.237928 -5.491756 -1.000163\nv 8.554909 0.919560 0.224718\nvn -0.888145 -3.019746 -0.381318\nv 8.968709 0.186981 5.349020\nvn -0.936204 -3.132648 -0.476580\nv 6.829435 0.822052 5.813409\nvn 2.302866 -0.154148 5.686680\nv 16.512995 37.747135 32.081440\nvn -3.221621 1.631813 4.862767\nv -13.682016 46.982769 28.534298\nvn 0.522666 -0.336626 6.092753\nv 7.514512 36.937187 34.221207\nvn 4.980806 -0.893810 -3.415988\nv 30.777302 33.827030 -20.099604\nvn 4.689826 -2.415944 -3.073738\nv 27.885443 22.779808 -18.527430\nvn -5.977367 1.019686 -0.713670\nv -28.055254 43.897343 -2.140508\nvn -1.900228 0.558937 5.767952\nv -6.716863 42.507084 32.767200\nvn 0.371103 -2.159814 5.616622\nv 5.526342 21.921198 31.469879\nvn -5.564908 -0.882253 -2.475968\nv -24.758793 26.387678 -12.776773\nvn -5.522024 -2.278564 -0.697145\nv -23.667591 12.813063 -5.022000\nvn 2.795187 -2.825097 4.608664\nv 17.140011 18.208435 25.980848\nvn -1.145914 1.605797 5.699753\nv -1.914759 48.727264 32.938530\nvn 0.780190 1.369149 5.762721\nv 9.051527 48.929932 33.454403\nvn 0.730620 -5.764305 -1.554689\nv -3.696242 0.735324 5.546380\nvn -2.400419 -3.090799 4.578797\nv -9.850064 12.420344 23.861322\nvn -1.279569 5.795316 -0.969960\nv 16.626652 61.894943 -0.082878\nvn -2.359534 3.565958 4.150263\nv -6.908797 58.924179 26.071718\nvn -2.011681 5.100597 1.886360\nv -8.513350 65.769363 15.620724\nvn -3.630311 4.360921 1.889722\nv -15.995638 62.296432 12.401525\nvn 0.233934 5.976641 -0.562424\nv -1.170505 67.250984 9.072043\nvn 1.756480 3.628548 -4.506910\nv 15.048905 55.325169 -26.220575\nvn 4.445069 2.923236 2.879659\nv 30.725746 53.132687 17.102400\nvn -4.353385 3.763100 -1.776489\nv -19.951265 59.082516 -7.682849\nvn -0.605188 3.558321 4.800311\nv 1.999260 59.260956 28.646996\nvn -0.490299 5.185990 2.668432\nv 2.806629 65.976959 21.410179\nvn 1.740299 5.613106 -0.148610\nv 18.771803 65.174271 9.344612\nvn -0.513064 4.876575 -3.441056\nv -0.871774 62.103870 -21.572245\nvn -4.042398 -3.852558 -0.866782\nv -19.276642 5.029499 -6.778969\nvn -1.338008 -4.843252 2.469634\nv -6.860524 1.318653 15.163367\nvn -2.381494 -5.504571 0.088616\nv -14.445317 1.961571 1.212371\nvn -4.066344 -4.011770 1.596294\nv -17.054520 4.912421 8.687383\nvn 1.434619 1.609432 0.007862\nv 5.411747 75.115982 -7.224052\nvn 5.604465 -1.277112 -2.150616\nv 33.607967 31.862465 -13.750851\nvn -5.172430 2.831484 1.702479\nv -23.496325 52.595940 12.211968\nvn -5.622522 -1.071710 1.956984\nv -27.106493 29.074232 12.910965\nvn -3.715312 1.124391 -4.660142\nv -14.772419 44.399540 -25.522051\nvn 5.206610 -1.901272 2.410353\nv 33.013885 27.081175 14.326138\nvn 3.981527 -3.552218 2.714028\nv 24.428017 11.478521 13.861393\nvn 3.569861 -4.163831 -2.067720\nv 19.746243 6.071653 -13.588375\nvn -5.215889 1.055391 -2.709231\nv -24.636183 43.970955 -14.173012\nvn 1.272793 5.244920 -2.496076\nv 12.879495 61.791790 -19.333282\nvn 1.907870 1.109375 -5.564110\nv 14.913692 43.263954 -32.023731\nvn -4.883183 -1.962839 -3.033946\nv -20.268959 15.033090 -16.228342\nvn 6.026158 -0.254814 -1.090487\nv 37.108768 39.067497 -4.998039\nvn 1.634582 4.036065 2.772545\nv 6.786132 58.096859 -3.128901\nvn 0.579389 5.828206 -0.229032\nv 8.544588 67.795364 12.969802\nvn -3.723386 -3.467728 3.319117\nv -14.892109 8.078830 16.304462\nvn -2.241590 5.325227 -0.525269\nv -13.032286 66.144386 -1.806860\nvn 0.141863 1.104315 -0.020448\nv 8.534499 53.609226 -0.347372\n# 153 vertices, 0 vertices normals\n\nf 105//105 107//107 12//12\nf 116//116 111//111 4//4\nf 20//20 17//17 141//141\nf 15//15 3//3 110//110\nf 115//115 17//17 12//12\nf 139//139 34//34 14//14\nf 28//28 5//5 31//31\nf 34//34 139//139 37//37\nf 28//28 87//87 29//29\nf 106//106 116//116 121//121\nf 146//146 19//19 25//25\nf 89//89 86//86 39//39\nf 43//43 41//41 6//6\nf 22//22 119//119 45//45\nf 117//117 51//51 56//56\nf 76//76 58//58 126//126\nf 143//143 68//68 109//109\nf 71//71 7//7 70//70\nf 127//127 63//63 144//144\nf 83//83 1//1 68//68\nf 65//65 66//66 26//26\nf 120//120 77//77 74//74\nf 129//129 124//124 122//122\nf 79//79 126//126 26//26\nf 82//82 135//135 134//134\nf 143//143 83//83 68//68\nf 48//48 8//8 49//49\nf 97//97 89//89 39//39\nf 153//153 120//120 149//149\nf 91//91 120//120 153//153\nf 94//94 1//1 96//96\nf 103//103 43//43 10//10\nf 103//103 10//10 101//101\nf 42//42 102//102 104//104\nf 42//42 104//104 6//6\nf 4//4 111//111 23//23\nf 107//107 112//112 12//12\nf 67//67 24//24 68//68\nf 22//22 34//34 119//119\nf 128//128 116//116 117//117\nf 59//59 57//57 54//54\nf 126//126 58//58 50//50\nf 149//149 120//120 60//60\nf 145//145 125//125 64//64\nf 56//56 73//73 129//129\nf 96//96 1//1 98//98\nf 73//73 58//58 130//130\nf 76//76 130//130 58//58\nf 84//84 8//8 83//83\nf 130//130 120//120 91//91\nf 92//92 60//60 145//145\nf 71//71 72//72 55//55\nf 98//98 132//132 96//96\nf 2//2 137//137 148//148\nf 112//112 23//23 45//45\nf 84//84 142//142 8//8\nf 46//46 142//142 84//84\nf 74//74 145//145 60//60\nf 78//78 149//149 93//93\nf 124//124 150//150 91//91\nf 34//34 37//37 151//151\nf 100//100 8//8 9//9\nf 82//82 97//97 118//118\nf 134//134 97//97 82//82\nf 30//30 5//5 13//13\nf 146//146 30//30 13//13\nf 106//106 61//61 14//14\nf 106//106 14//14 21//21\nf 15//15 33//33 139//139\nf 32//32 144//144 113//113\nf 111//111 116//116 106//106\nf 13//13 5//5 16//16\nf 18//18 20//20 50//50\nf 18//18 17//17 20//20\nf 108//108 25//25 19//19\nf 69//69 108//108 19//19\nf 141//141 65//65 20//20\nf 11//11 144//144 140//140\nf 22//22 21//21 14//14\nf 21//21 22//22 23//23\nf 4//4 23//23 112//112\nf 4//4 112//112 107//107\nf 115//115 12//12 112//112\nf 25//25 24//24 30//30\nf 20//20 26//26 50//50\nf 26//26 20//20 65//65\nf 61//61 15//15 14//14\nf 34//34 22//22 14//14\nf 27//27 112//112 45//45\nf 36//36 112//112 27//27\nf 140//140 16//16 11//11\nf 16//16 5//5 29//29\nf 11//11 29//29 81//81\nf 29//29 5//5 28//28\nf 5//5 30//30 31//31\nf 67//67 31//31 24//24\nf 38//38 33//33 32//32\nf 113//113 11//11 147//147\nf 38//38 37//37 139//139\nf 81//81 29//29 87//87\nf 2//2 35//35 137//137\nf 80//80 16//16 140//140\nf 36//36 49//49 142//142\nf 116//116 128//128 121//121\nf 72//72 19//19 146//146\nf 72//72 69//69 19//19\nf 37//37 38//38 114//114\nf 35//35 46//46 40//40\nf 42//42 41//41 86//86\nf 41//41 42//42 6//6\nf 41//41 43//43 48//48\nf 46//46 2//2 141//141\nf 119//119 133//133 47//47\nf 133//133 119//119 151//151\nf 133//133 48//48 47//47\nf 47//47 48//48 49//49\nf 18//18 50//50 51//51\nf 105//105 18//18 51//51\nf 136//136 52//52 59//59\nf 44//44 52//52 136//136\nf 126//126 50//50 26//26\nf 64//64 80//80 131//131\nf 54//54 53//53 44//44\nf 44//44 53//53 52//52\nf 53//53 57//57 59//59\nf 47//47 36//36 27//27\nf 44//44 59//59 54//54\nf 56//56 58//58 73//73\nf 61//61 123//123 138//138\nf 68//68 24//24 109//109\nf 53//53 59//59 52//52\nf 70//70 7//7 66//66\nf 75//75 7//7 71//71\nf 62//62 3//3 138//138\nf 55//55 145//145 74//74\nf 125//125 145//145 55//55\nf 62//62 123//123 152//152\nf 148//148 65//65 2//2\nf 80//80 63//63 85//85\nf 13//13 64//64 146//146\nf 26//26 66//66 79//79\nf 11//11 81//81 147//147\nf 40//40 46//46 84//84\nf 127//127 152//152 85//85\nf 121//121 129//129 122//122\nf 69//69 70//70 108//108\nf 69//69 72//72 71//71\nf 71//71 70//70 69//69\nf 125//125 72//72 146//146\nf 55//55 72//72 125//125\nf 71//71 74//74 75//75\nf 74//74 71//71 55//55\nf 77//77 75//75 74//74\nf 76//76 75//75 77//77\nf 7//7 75//75 76//76\nf 130//130 76//76 77//77\nf 88//88 152//152 124//124\nf 124//124 129//129 150//150\nf 130//130 91//91 150//150\nf 126//126 79//79 76//76\nf 91//91 78//78 124//124\nf 131//131 145//145 64//64\nf 95//95 132//132 147//147\nf 135//135 133//133 151//151\nf 82//82 133//133 135//135\nf 37//37 114//114 132//132\nf 37//37 132//132 135//135\nf 90//90 83//83 102//102\nf 143//143 84//84 83//83\nf 85//85 92//92 131//131\nf 86//86 41//41 39//39\nf 94//94 87//87 28//28\nf 88//88 92//92 85//85\nf 88//88 85//85 152//152\nf 89//89 97//97 98//98\nf 131//131 92//92 145//145\nf 83//83 90//90 1//1\nf 92//92 88//88 93//93\nf 149//149 60//60 93//93\nf 96//96 95//95 94//94\nf 95//95 87//87 94//94\nf 91//91 54//54 78//78\nf 124//124 93//93 88//88\nf 100//100 102//102 8//8\nf 101//101 102//102 100//100\nf 101//101 100//100 9//9\nf 99//99 102//102 101//101\nf 99//99 101//101 10//10\nf 43//43 103//103 9//9\nf 10//10 43//43 6//6\nf 102//102 42//42 86//86\nf 104//104 102//102 99//99\nf 104//104 99//99 10//10\nf 78//78 54//54 149//149\nf 90//90 89//89 1//1\nf 53//53 153//153 57//57\nf 12//12 18//18 105//105\nf 25//25 30//30 146//146\nf 106//106 121//121 61//61\nf 110//110 32//32 33//33\nf 32//32 110//110 144//144\nf 4//4 107//107 116//116\nf 16//16 80//80 64//64\nf 16//16 64//64 13//13\nf 17//17 18//18 12//12\nf 109//109 108//108 137//137\nf 25//25 108//108 109//109\nf 15//15 110//110 33//33\nf 141//141 2//2 65//65\nf 144//144 63//63 140//140\nf 23//23 111//111 21//21\nf 111//111 106//106 21//21\nf 24//24 25//25 109//109\nf 35//35 109//109 137//137\nf 29//29 11//11 16//16\nf 113//113 144//144 11//11\nf 114//114 38//38 32//32\nf 114//114 32//32 113//113\nf 115//115 36//36 142//142\nf 36//36 115//115 112//112\nf 46//46 35//35 2//2\nf 48//48 133//133 118//118\nf 48//48 118//118 41//41\nf 34//34 151//151 119//119\nf 49//49 36//36 47//47\nf 31//31 67//67 28//28\nf 67//67 94//94 28//28\nf 51//51 58//58 56//56\nf 51//51 50//50 58//58\nf 54//54 57//57 149//149\nf 107//107 117//117 116//116\nf 117//117 107//107 105//105\nf 51//51 117//117 105//105\nf 59//59 44//44 136//136\nf 74//74 60//60 120//120\nf 56//56 128//128 117//117\nf 61//61 122//122 123//123\nf 122//122 61//61 121//121\nf 7//7 79//79 66//66\nf 123//123 62//62 138//138\nf 152//152 123//123 122//122\nf 122//122 124//124 152//152\nf 66//66 148//148 70//70\nf 66//66 65//65 148//148\nf 127//127 85//85 63//63\nf 64//64 125//125 146//146\nf 3//3 62//62 127//127\nf 127//127 62//62 152//152\nf 129//129 121//121 128//128\nf 128//128 56//56 129//129\nf 89//89 98//98 1//1\nf 77//77 120//120 130//130\nf 124//124 78//78 93//93\nf 131//131 80//80 85//85\nf 87//87 95//95 81//81\nf 81//81 95//95 147//147\nf 82//82 118//118 133//133\nf 57//57 153//153 149//149\nf 90//90 86//86 89//89\nf 86//86 90//90 102//102\nf 8//8 102//102 83//83\nf 134//134 135//135 132//132\nf 68//68 94//94 67//67\nf 94//94 68//68 1//1\nf 93//93 60//60 92//92\nf 54//54 91//91 153//153\nf 147//147 114//114 113//113\nf 114//114 147//147 132//132\nf 143//143 40//40 84//84\nf 132//132 98//98 134//134\nf 97//97 39//39 118//118\nf 39//39 41//41 118//118\nf 53//53 54//54 153//153\nf 15//15 138//138 3//3\nf 138//138 15//15 61//61\nf 31//31 30//30 24//24\nf 15//15 139//139 14//14\nf 139//139 33//33 38//38\nf 140//140 63//63 80//80\nf 23//23 22//22 45//45\nf 142//142 141//141 17//17\nf 142//142 17//17 115//115\nf 141//141 142//142 46//46\nf 45//45 119//119 27//27\nf 27//27 119//119 47//47\nf 142//142 49//49 8//8\nf 35//35 143//143 109//109\nf 143//143 35//35 40//40\nf 3//3 144//144 110//110\nf 3//3 127//127 144//144\nf 70//70 148//148 137//137\nf 70//70 137//137 108//108\nf 73//73 150//150 129//129\nf 130//130 150//150 73//73\nf 76//76 79//79 7//7\nf 151//151 37//37 135//135\nf 8//8 48//48 43//43\nf 8//8 43//43 9//9\nf 132//132 95//95 96//96\nf 98//98 97//97 134//134\n# 300 faces, 0 coords texture\n\n# End of File"
  },
  {
    "path": "data/armadillo.ply",
    "content": "ply\nformat ascii 1.0\ncomment VCGLIB generated\nelement vertex 15002\nproperty float x\nproperty float y\nproperty float z\nproperty float nx\nproperty float ny\nproperty float nz\nelement face 30000\nproperty list uchar int vertex_indices\nend_header\n53.2768 45.4524 57.5046 -0.309461 -0.434249 -0.845968 \n52.2104 46.0661 57.6716 0.44625 -0.116927 -0.887237 \n51.9419 46.7924 57.0786 0.696438 0.704858 -0.134717 \n53.8579 46.4648 57.2714 -0.498383 0.0634719 -0.86463 \n-16.8955 -55.0757 -10.8501 -0.462328 -0.45892 -0.758713 \n52.7142 46.807 57.6273 -0.100729 0.577592 -0.810087 \n53.0404 44.8503 56.6934 0.015021 -0.965085 -0.261504 \n52.5079 45.1094 57.2741 0.422125 -0.813258 -0.400527 \n54.4424 45.4726 56.7291 -0.590699 -0.274249 -0.758856 \n-17.8293 -29.5466 -19.5661 -0.408133 -0.449099 0.794819 \n51.7625 45.6164 56.8771 0.878401 -0.474824 0.0543413 \n54.6584 46.9662 56.5971 -0.567034 0.350653 -0.745328 \n54.508 44.8178 55.9402 -0.346805 -0.795627 -0.496693 \n53.277 47.4513 56.3804 0.136922 0.941177 -0.30893 \n55.827 45.4548 55.5956 -0.659318 -0.266468 -0.703061 \n51.8662 46.2639 56.1592 0.93595 0.0734075 0.344396 \n54.5625 47.6032 55.887 -0.15771 0.898807 -0.408991 \n-16.2941 -29.9737 -18.7244 -0.480473 -0.394004 0.783522 \n54.599 44.5359 55.0185 -0.00450644 -0.983842 -0.178985 \n52.491 45.8562 55.3868 0.769326 -0.317824 0.55419 \n52.3697 46.8294 55.4855 0.822157 0.389795 0.41487 \n11.597 -9.59795 -27.5451 -0.408534 -0.534534 0.739847 \n57.3129 38.0777 55.1151 0.0548641 0.349207 -0.935438 \n40.4203 -53.5234 -10.1884 -0.978999 -0.201305 -0.032202 \n52.9595 44.9688 55.7046 0.530746 -0.824048 0.198128 \n24.9547 -28.7978 -19.5853 0.0835932 -0.696083 0.713079 \n-2.59293 24.0277 -34.8407 -0.0162181 -0.244506 0.969512 \n-15.2674 -52.7775 -10.5926 -0.680428 -0.397442 -0.615677 \n56.4602 47.2775 54.7943 -0.629046 0.379308 -0.678548 \n56.247 47.8129 54.4407 -0.282379 0.842878 -0.45806 \n54.2128 47.9232 54.6658 0.103341 0.976977 -0.186647 \n53.3316 47.5331 54.7603 0.605417 0.781207 0.152267 \n56.7155 37.0658 54.3937 0.57582 -0.816156 0.0481691 \n57.7368 37.4645 55.0653 -0.281318 -0.526543 -0.802255 \n-16.4351 21.2836 -28.6065 0.783444 -0.140926 0.605273 \n53.4262 45.0708 54.7469 0.778766 -0.404891 0.479152 \n-31.3624 -51.7885 -10.2153 0.704606 -0.438037 -0.558259 \n57.3754 45.281 53.7766 -0.726732 -0.38234 -0.570681 \n53.1715 46.8804 54.2897 0.84568 -0.100218 0.524197 \n-21.1301 -67.4114 -7.07165 -0.820944 0.570869 -0.0126185 \n50.4266 52.7645 54.4309 -0.10746 -0.724856 -0.680467 \n49.4863 52.7896 54.2544 0.777716 -0.36879 -0.50907 \n50.6566 53.5606 54.7802 -0.126045 0.146157 -0.981199 \n58.487 38.471 54.5773 -0.551556 0.269662 -0.789347 \n56.8686 38.5286 54.6657 0.535113 0.62139 -0.572301 \n57.9024 39.3282 54.1248 -0.125049 0.69377 -0.709257 \n56.1382 44.7542 54.4699 -0.390533 -0.823374 -0.411751 \n28.4207 -28.472 -19.5637 -0.15643 -0.578954 0.800214 \n56.9819 47.5324 54.1266 -0.63364 0.577374 -0.514918 \n-19.0303 -74.7411 -9.56863 -0.537401 -0.830384 -0.147184 \n-21.3244 -66.6927 -6.83946 -0.732379 0.676321 -0.0788112 \n-23.3714 29.9242 -24.3841 0.765653 0.0281684 0.642637 \n50.323 52.2538 53.6182 0.22901 -0.940355 -0.25157 \n-19.5989 56.8289 -18.2339 0.806513 0.562181 -0.182998 \n-23.2465 -53.1707 -28.8313 0.0356903 0.275333 0.960686 \n51.9232 54.4949 53.8757 -0.23595 0.736882 -0.633508 \n56.5147 37.5866 54.5811 0.946056 -0.0211364 -0.323313 \n-13.3576 -49.9594 -11.2678 -0.840374 -0.276208 -0.466348 \n-27.9701 -28.2175 -19.2454 0.450753 -0.359809 0.816921 \n54.3029 44.5267 54.1924 0.47949 -0.870193 0.113373 \n-31.9839 -50.1288 -10.9336 0.910402 -0.335485 -0.242113 \n52.453 52.9163 54.011 -0.328857 -0.53721 -0.776697 \n49.6139 54.0161 54.1068 0.905719 0.306755 -0.292531 \n7.46024 -3.55365 -29.3009 -0.163424 -0.441375 0.882316 \n50.1785 54.6454 53.4602 0.486544 0.872776 0.0392137 \n50.4658 54.4907 54.2028 0.0648957 0.820374 -0.568133 \n58.2562 36.9066 53.8252 -0.295393 -0.932608 -0.20733 \n-7.3595 -2.14315 -29.4737 0.43652 -0.283271 0.853937 \n56.811 38.3635 53.1441 0.974258 -0.18507 0.128724 \n59.6827 39.5842 52.9958 -0.498444 0.531736 -0.684697 \n56.8619 39.2969 53.3688 0.902046 0.399139 -0.164322 \n5.65311 23.1527 -36.4045 0.578174 -0.656381 0.484643 \n54.4598 44.7878 52.9271 0.830158 -0.357905 0.427483 \n57.1656 46.53 54.3062 -0.792419 0.080708 -0.604615 \n54.4414 48.023 53.1151 0.479256 0.865499 0.145687 \n56.3955 48.3844 53.1759 -0.0465868 0.978837 -0.199269 \n52.5367 51.5418 52.2734 -0.0111978 -0.873289 -0.487073 \n-33.0076 -47.044 -10.9905 0.981975 -0.187956 0.0199282 \n51.5695 55.1592 52.4239 0.0977047 0.993119 -0.0645689 \n57.8978 36.911 52.8335 0.392784 -0.90384 0.16969 \n59.0785 37.5722 53.9161 -0.743664 -0.426282 -0.515021 \n57.2068 37.757 52.6088 0.801719 -0.549666 0.234763 \n-8.45063 -0.34185 -29.1814 0.436282 -0.27495 0.856773 \n32.5257 -26.8705 -18.9529 -0.44262 -0.356147 0.82295 \n57.6169 40.2523 52.8463 0.489162 0.73137 -0.475203 \n57.7755 44.5865 52.367 -0.446816 -0.806911 -0.386329 \n-7.55461 -0.49365 -29.6748 0.404168 -0.327601 0.854006 \n53.8231 51.7126 52.1305 -0.309449 -0.692225 -0.65197 \n20.7073 -44.9808 -10.2736 0.977001 0.178737 0.116286 \n53.5449 53.868 53.5199 -0.521742 0.3098 -0.794865 \n-12.9962 -27.0919 -18.1383 -0.659512 -0.54731 0.515262 \n49.7754 54.2337 53.2543 0.835354 0.206261 0.509549 \n9.9435 0.0595493 -29.8914 -0.38487 -0.325426 0.863697 \n35.3517 -10.2909 -17.1632 -0.874991 0.436727 0.208951 \n59.9798 38.9428 52.9437 -0.823682 0.0677774 -0.562987 \n-13.7587 -43.8891 -11.0777 -0.883612 0.355861 -0.30429 \n-34.062 -43.9829 -10.2934 0.847965 -0.306544 0.43242 \n-33.3574 -44.6367 -10.8874 0.978473 -0.182053 0.0971969 \n13.678 -8.27005 -26.851 -0.334953 -0.22524 0.914917 \n58.2529 40.6357 52.4919 0.0314125 0.861528 -0.506738 \n55.2567 44.1542 52.4815 0.361403 -0.930382 0.0614618 \n54.3855 45.929 52.6903 0.87669 -0.225414 0.424976 \n53.7141 47.1411 53.235 0.887347 0.103635 0.449305 \n57.6655 47.9967 52.6278 -0.696918 0.59837 -0.395297 \n49.9461 52.5025 53.0472 0.774883 -0.264587 0.574065 \n51.1883 52.6109 52.2036 0.784659 -0.274236 0.555972 \n-5.64266 21.8116 -35.2972 -0.41623 -0.718983 0.556611 \n54.7519 54.4405 51.8893 -0.57997 0.687038 -0.437736 \n-29.889 -25.237 -18.8473 0.634544 -0.293647 0.71493 \n51.2893 54.7428 51.74 0.646788 0.647924 0.402318 \n16.5506 -25.1075 -19.1212 0.482292 -0.675604 0.557632 \n56.7077 39.4055 52.3539 0.965188 0.19495 -0.174374 \n20.3355 21.1855 -29.0324 -0.766422 0.266055 0.584647 \n57.2526 40.8595 51.4781 0.431978 0.839282 -0.330154 \n56.1876 44.1357 52.5724 -0.168612 -0.953084 -0.251398 \n21.3478 -42.5526 -10.2891 0.952889 0.29937 0.0487948 \n59.0102 46.1096 51.407 -0.859654 0.19323 -0.472924 \n55.0638 47.5624 50.8567 0.841076 0.43987 0.31481 \n55.5404 48.2642 51.4798 0.366491 0.926921 0.080635 \n54.4565 52.6549 52.6097 -0.556986 -0.337542 -0.758836 \n50.8887 54.1926 52.0712 0.830658 -0.0883475 0.54973 \n-4.19372 22.8801 -34.867 -0.626823 -0.69017 0.361605 \n53.3267 55.0839 52.2744 -0.255004 0.903453 -0.344596 \n59.1679 37.1071 51.0903 -0.17361 -0.984513 0.0243806 \n59.7252 37.3978 51.7956 -0.626992 -0.764327 -0.150612 \n60.1601 40.0737 52.009 -0.626046 0.618329 -0.475117 \n59.2416 40.5173 52.4106 -0.33472 0.731609 -0.593895 \n-9.84081 1.33765 -29.5013 0.46907 -0.258255 0.844558 \n55.9105 44.0546 51.6191 0.339447 -0.939853 -0.0380982 \n55.2699 44.6346 51.355 0.850062 -0.38544 0.358931 \n58.8974 45.2759 51.5222 -0.839145 -0.195222 -0.507665 \n20.0789 -17.9479 -25.0532 0.148053 -0.257612 0.954839 \n-12.2147 -24.1499 -18.9927 -0.708736 -0.411205 0.57324 \n55.5872 52.3475 51.555 -0.566835 -0.381647 -0.730098 \n51.6955 51.7552 52.1348 0.621105 -0.738173 0.263303 \n42.6782 -39.1206 -11.0795 -0.848217 0.462055 0.258906 \n13.5915 -23.2323 -19.2576 0.586382 -0.518394 0.622433 \n58.2119 37.1835 51.0223 0.431638 -0.895196 0.110964 \n35.0518 -22.9304 -18.8006 -0.601178 -0.296081 0.742241 \n58.9248 44.7164 51.0397 -0.594182 -0.690033 -0.413283 \n55.148 46.8099 50.4348 0.909793 -0.17608 0.375863 \n-29.2581 -22.6184 -20.1554 0.617426 -0.224251 0.753987 \n16.0667 -4.08775 -26.7652 -0.565024 -0.147479 0.811787 \n52.6436 51.3013 50.7955 0.61371 -0.785415 0.0805122 \n55.2157 53.6203 51.9947 -0.741488 0.197962 -0.641098 \n-10.5806 -22.7939 -18.6063 -0.839458 -0.198605 0.505833 \n25.2764 31.0832 -25.1564 -0.745434 -0.163543 0.646206 \n56.9613 38.0978 51.138 0.833925 -0.550778 0.0348092 \n60.273 38.3405 52.227 -0.90876 -0.290483 -0.299624 \n56.8938 40.8368 50.3512 0.816856 0.535224 -0.215129 \n33.173 -60.997 -7.37087 -0.0875894 -0.400832 -0.911955 \n57.5433 43.693 50.2507 -0.310325 -0.902843 -0.297612 \n56.6969 43.8496 51.204 -0.14984 -0.949067 -0.277164 \n56.2338 43.697 50.8454 0.508152 -0.85757 0.079724 \n-10.4741 3.86545 -29.927 0.531276 -0.331761 0.779538 \n32.3283 -60.9573 -7.44184 -0.0421234 -0.468864 -0.882266 \n55.4902 45.7876 50.3779 0.938418 -0.230067 0.257759 \n58.4472 48.1622 50.262 -0.648555 0.744979 -0.156147 \n55.4692 51.4775 50.9947 -0.419785 -0.635248 -0.64826 \n-6.81551 23.1054 -36.1429 0.462369 -0.234702 0.855061 \n53.7254 50.7254 50.923 0.178647 -0.907515 -0.380135 \n56.3455 52.0689 50.7544 -0.754411 -0.133089 -0.642768 \n52.265 52.2551 49.8965 0.882046 -0.347656 0.31801 \n54.3444 55.007 50.9852 -0.362826 0.916343 -0.16933 \n-31.9843 -34.5297 -11.055 0.944134 0.164911 0.285335 \n56.4476 39.5575 50.2839 0.992309 -0.0817676 -0.0929334 \n59.0071 41.0857 51.4335 -0.10759 0.921485 -0.373215 \n59.1408 42.042 48.7458 -0.0842641 0.902909 -0.42149 \n57.2331 43.5154 49.2224 0.0167236 -0.911196 -0.411634 \n23.7523 -33.5099 -10.7298 0.854734 -0.517418 0.0413184 \n60.0318 44.9553 49.1182 -0.923252 -0.0906696 -0.373343 \n56.8848 48.566 51.3435 -0.000687754 0.996917 -0.0784653 \n36.187 -19.1855 -18.6794 -0.821204 -0.0712535 0.566169 \n-0.984553 -18.4389 -26.474 0.322676 -0.862978 -0.38878 \n54.9113 50.2085 49.8581 -0.27629 -0.781726 -0.559078 \n-9.46584 -19.5626 -18.9474 -0.725503 -0.438516 0.530423 \n56.9237 53.3195 49.7675 -0.829641 0.320354 -0.457241 \n55.9893 54.0102 50.3862 -0.656646 0.647662 -0.386458 \n51.8562 54.1875 49.9807 0.89839 0.16643 0.406443 \n52.2953 54.8777 50.4859 0.337153 0.895159 0.291579 \n55.4813 54.7467 49.483 -0.432364 0.881667 -0.189012 \n59.6653 37.2894 49.3555 -0.438238 -0.89828 0.0322431 \n60.5871 38.0026 50.1235 -0.795904 -0.598646 -0.0903359 \n22.8536 -32.9156 -10.7472 0.316551 -0.934387 -0.16345 \n32.7085 -59.7952 -7.1374 -0.125218 -0.398579 -0.908546 \n60.3822 41.3755 49.7726 -0.502441 0.772276 -0.38877 \n57.8625 41.4458 49.7364 0.232007 0.904945 -0.356716 \n21.234 -32.6567 -10.9336 0.380846 -0.866296 -0.323244 \n59.8038 45.9205 49.6874 -0.932835 0.172727 -0.316202 \n58.9877 47.3969 50.599 -0.847699 0.418245 -0.326308 \n55.9798 48.2813 49.8547 0.539669 0.838789 0.0720446 \n53.3497 50.7769 49.7218 0.691324 -0.720643 0.0523977 \n60.7175 39.9174 51.1059 -0.928642 0.192196 -0.317308 \n56.872 41.2065 49.1593 0.63748 0.657054 -0.402368 \n19.539 -16.6127 -25.6674 0.0610539 -0.159091 0.985374 \n56.5706 43.9538 49.4566 0.758498 -0.619339 0.202729 \n55.853 45.1166 49.3795 0.932179 -0.330766 0.147093 \n55.6084 46.4456 48.5062 0.989993 -0.0528832 0.130833 \n54.4312 50.1409 49.6916 0.350547 -0.909681 -0.222703 \n-14.3554 -31.8865 -9.65526 -0.890963 -0.451682 -0.0465649 \n56.9008 50.9484 49.4086 -0.499987 -0.644715 -0.578235 \n57.6428 51.7756 48.9778 -0.865503 -0.0262761 -0.500214 \n-8.38146 -6.72805 -26.9623 0.379354 -0.426199 0.821246 \n52.8202 54.2897 48.3618 0.594265 0.685756 0.420224 \n0.226248 39.3879 48.8344 0.134217 -0.302626 -0.943612 \n-5.19709 -18.2077 -18.3353 -0.363996 -0.913594 0.181251 \n19.3349 -30.6901 -10.3952 0.510832 -0.616302 -0.599352 \n-0.476311 40.0043 48.9192 0.00755614 -0.0655625 -0.99782 \n56.3976 40.7933 48.4812 0.938389 0.175301 -0.297819 \n61.2633 41.3137 47.9999 -0.845359 0.385123 -0.370199 \n56.7351 41.7311 48.6394 0.588441 0.320376 -0.742359 \n59.3034 44.2608 49.7665 -0.516086 -0.780493 -0.352824 \n-15.5839 -69.309 -17.0533 -0.877443 0.0553776 -0.476473 \n56.1517 48.4772 48.3117 0.306629 0.837917 -0.451525 \n52.7904 51.7997 48.6535 0.873756 -0.436501 0.214516 \n56.6729 54.3058 48.6839 -0.637338 0.729144 -0.249298 \n54.1435 55.0567 49.8583 0.0237421 0.993541 0.110966 \n58.7374 37.1314 49.6761 0.152105 -0.984385 0.0886001 \n61.1928 39.2574 49.291 -0.956339 -0.231574 -0.178294 \n12.6775 10.8976 -29.4348 -0.453934 -0.545631 0.704437 \n1.34975 39.0614 48.8985 -0.0298873 -0.0980548 -0.994732 \n36.3611 -58.4567 -7.33122 -0.444235 -0.238848 -0.863486 \n-2.20743 39.1938 48.6853 -0.0492894 -0.334911 -0.94096 \n34.5262 -58.1378 -6.87964 -0.274399 -0.153831 -0.949232 \n0.760338 39.9985 48.5136 -0.262162 0.940596 -0.215755 \n-1.29705 39.5768 48.8351 0.0321257 -0.15014 -0.988143 \n57.9931 43.0745 48.3794 -0.345717 -0.262445 -0.900889 \n57.0882 42.3942 48.5781 0.207914 -0.22767 -0.951282 \n-29.1986 -15.1313 -19.9974 0.729297 0.177889 0.660667 \n58.7002 43.6338 48.5605 -0.33527 -0.855963 -0.3936 \n59.8525 44.1713 48.5217 -0.587875 -0.67976 -0.438553 \n56.2878 43.9334 48.8514 0.751813 -0.374489 -0.54271 \n55.8309 47.7486 48.6044 0.939455 0.341191 -0.0318214 \n57.8437 48.5779 49.7514 -0.247554 0.964587 -0.0910419 \n56.8237 48.6031 49.0518 0.156661 0.987612 -0.00895514 \n55.6262 49.3671 48.1289 -0.108509 -0.637802 -0.762518 \n53.6814 50.6958 47.7941 0.799928 -0.599198 0.0328312 \n52.2656 53.3787 48.8095 0.93595 -0.0849657 0.341729 \n57.6542 53.6809 47.407 -0.765447 0.583214 -0.271941 \n56.4267 54.6283 47.6752 -0.342124 0.938991 -0.0353215 \n25.4425 33.0056 -25.2613 -0.767451 0.0255757 0.640597 \n57.4936 37.7962 48.7094 0.591232 -0.805345 0.0431801 \n0.0354283 37.5508 48.2052 0.122083 -0.216708 -0.968573 \n-1.6193 37.5795 48.2136 0.0438303 -0.0566435 -0.997432 \n0.279711 38.6664 48.2857 0.319935 -0.277063 -0.906023 \n56.7481 38.6134 47.9174 0.817496 -0.566772 -0.102318 \n1.84571 38.5826 48.4053 -0.825479 -0.157051 -0.542144 \n-0.960906 38.744 47.9855 -0.0166402 -0.301188 -0.95342 \n-3.0328 38.5658 48.2785 0.857167 -0.130739 -0.498168 \n61.5387 39.7738 47.6728 -0.929599 -0.0647423 -0.362843 \n14.4268 11.8729 -29.3062 -0.450845 -0.624297 0.637959 \n56.3729 39.4657 48.221 0.938169 -0.231886 -0.257037 \n1.61478 39.5423 48.4261 -0.686689 0.705205 -0.176474 \n-1.06743 40.2185 48.5181 0.0889557 0.989419 -0.114617 \n58.0409 42.1211 48.6079 -0.0699113 0.55248 -0.830589 \n56.1701 43.0655 48.1056 0.873404 -0.265551 -0.408226 \n37.6928 -56.2688 -6.68076 -0.568855 -0.0786283 -0.818671 \n60.3735 44.2047 47.7593 -0.740581 -0.314526 -0.593813 \n24.9774 -56.2868 -7.787 0.600927 -0.465059 -0.650082 \n55.6469 45.6047 48.4961 0.884452 -0.106616 -0.454289 \n59.7182 47.1903 48.2599 -0.852722 0.4692 -0.229601 \n37.595 -54.8125 -6.74458 -0.548913 -0.274571 -0.789497 \n58.7226 48.1691 47.6696 -0.552957 0.813301 -0.18105 \n57.6437 48.7766 47.2105 -0.310992 0.79699 -0.517776 \n56.3536 49.6837 47.9733 -0.415592 -0.667921 -0.617385 \n54.6783 49.7869 48.5894 0.503669 -0.841134 -0.197006 \n13.6238 -4.13475 -26.8768 0.0277616 0.269325 0.962649 \n14.8648 -5.55445 -27.206 -0.496518 -0.144203 0.855964 \n-1.2942 37.0245 47.8732 0.0764338 -0.894429 -0.440629 \n1.30405 37.8024 48.3952 -0.494807 -0.607977 -0.620911 \n14.9679 -24.6465 -10.4457 0.590446 -0.35162 -0.726455 \n2.12987 38.5424 47.5603 -0.934214 -0.0998675 -0.342448 \n55.7304 40.8083 47.5352 0.975528 0.00230598 -0.219864 \n61.5654 41.6231 47.3953 -0.80312 0.273303 -0.529438 \n61.0481 42.4744 47.2529 -0.594933 0.362216 -0.717533 \n29.8663 -5.36285 -18.0187 -0.364318 0.847892 0.385165 \n60.3656 42.0347 48.0144 -0.438094 0.743144 -0.505777 \n59.9191 42.6917 47.8145 -0.368103 0.352682 -0.860299 \n59.5797 43.4001 47.8868 -0.422065 -0.206891 -0.882642 \n61.0015 43.5961 47.2259 -0.638074 -0.0408925 -0.768888 \n-28.4823 -9.87785 -18.8057 0.54739 0.554884 0.626472 \n54.9047 44.9641 47.5415 0.866915 -0.144965 -0.476911 \n55.4281 46.7855 47.9476 0.82649 0.0510819 -0.560629 \n38.3518 -54.5331 -7.57822 -0.668075 -0.347948 -0.65773 \n0.69032 44.1023 -38.4901 0.333414 0.189894 0.923459 \n54.9945 47.6851 47.409 0.859576 0.0329094 -0.509948 \n56.6923 49.1199 47.5773 -0.473221 0.124829 -0.872055 \n54.8625 49.1697 47.7099 0.69478 -0.534233 -0.481535 \n57.5448 50.6796 48.4625 -0.64965 -0.535763 -0.539364 \n53.3475 51.7644 46.8025 0.974852 -0.19019 0.116154 \n-26.5919 -9.69655 -19.3909 0.554105 0.512082 0.656307 \n-34.3956 -22.4763 -11.2985 0.950306 0.0883615 0.298513 \n0.496521 37.1257 47.8749 -0.238833 -0.856075 -0.45836 \n59.4881 37.4664 47.2792 -0.0977715 -0.991464 -0.0862604 \n-2.46224 37.5571 48.0958 0.38953 -0.627659 -0.674026 \n60.5576 37.9414 47.3273 -0.528946 -0.832004 -0.167288 \n11.8504 -21.2595 -11.2953 0.729812 -0.586249 -0.351691 \n61.0059 38.4464 47.4869 -0.833111 -0.492704 -0.251336 \n-19.7098 1.83405 -10.5115 0.647962 0.745219 -0.157463 \n0.108128 40.0819 46.1526 -0.137298 0.965566 -0.220978 \n62.1277 40.9446 46.8349 -0.947118 0.235478 -0.217985 \n56.2415 42.9368 47.0001 0.961502 -0.23335 -0.145128 \n15.3232 -3.87435 -26.9557 -0.0790228 0.290288 0.953671 \n54.9091 44.5978 46.7194 0.825909 -0.449012 -0.340974 \n60.548 45.2757 47.7187 -0.832209 0.16893 -0.528102 \n59.909 47.3663 47.5221 -0.721373 0.388749 -0.573145 \n0.18192 45.9888 -37.4527 0.116849 -0.0151869 0.993034 \n60.705 47.7222 46.4784 -0.805728 0.473591 -0.355689 \n54.7642 48.7107 47.2434 0.82543 -0.45119 -0.339252 \n12.2213 -5.76145 -27.2884 -0.0158502 0.242208 0.970095 \n-3.84031 27.9598 -37.5095 0.218122 -0.166749 0.96157 \n57.6588 49.6507 47.1771 -0.58968 -0.380531 -0.712372 \n53.6252 50.6133 47.029 0.850296 -0.365035 -0.379138 \n55.4063 54.8415 48.2536 0.0365857 0.985253 0.167148 \n0.629265 36.6275 46.4484 -0.142309 -0.89614 -0.420334 \n57.717 37.6086 47.3538 0.352257 -0.931713 -0.0884636 \n56.7389 37.9379 46.5664 0.576376 -0.808559 -0.118419 \n2.64063 38.1143 46.0766 -0.671604 -0.0383753 -0.739915 \n-3.38881 37.9905 46.6342 0.86292 -0.31704 -0.393515 \n-2.73479 39.6036 48.418 0.603933 0.758058 -0.246197 \n62.2144 39.8074 46.5502 -0.985219 -0.101758 -0.137797 \n0.978652 39.8448 46.1563 -0.402136 0.915121 -0.028998 \n-1.47555 40.0045 47.2248 0.259701 0.965331 0.0263006 \n11.9302 -5.04455 -27.4477 -0.495436 -0.184201 0.84889 \n-6.2959 -19.0511 -10.9932 -0.637721 -0.749723 -0.176714 \n56.0278 41.9951 46.407 0.965237 0.127044 -0.228422 \n61.4213 44.6268 46.7732 -0.934744 0.019738 -0.354774 \n-7.99614 31.7614 -37.5174 0.222473 -0.267677 0.937473 \n59.7971 48.0727 47.0673 -0.411604 0.659812 -0.628674 \n39.5036 -17.7931 -10.9895 -0.926532 0.318626 0.200038 \n8.32138 -17.7549 -9.73552 0.527456 -0.733016 -0.429509 \n-23.8804 -51.5752 -6.9941 -0.362165 -0.536859 -0.761983 \n58.857 50.7762 46.4137 -0.803666 -0.125805 -0.581631 \n58.6821 52.3606 46.4848 -0.866382 0.234747 -0.440767 \n52.959 53.64 47.2968 0.84707 0.354123 0.396321 \n54.1804 54.5665 47.8558 0.273859 0.916142 0.292719 \n25.2653 -2.89005 -20.0332 -0.627729 0.633161 0.45284 \n59.9104 36.943 45.9954 -0.233979 -0.957099 -0.170922 \n-3.29383 36.9613 45.8491 0.551542 -0.467031 -0.691147 \n-20.645 -3.65455 -16.9691 0.886753 0.319573 0.33398 \n61.9607 38.6974 46.435 -0.834526 -0.413202 -0.36446 \n56.0945 38.6701 46.7981 0.934634 -0.34837 -0.0713984 \n62.0735 40.5148 45.6117 -0.975162 0.027565 -0.219771 \n61.2499 42.8527 46.6678 -0.976209 0.174387 -0.128862 \n55.7188 42.6452 45.4873 0.853554 -0.350617 -0.385373 \n54.5127 46.3028 46.3968 0.941202 0.0665608 -0.331223 \n61.2879 45.9441 46.5448 -0.902759 0.253268 -0.347681 \n59.5477 49.0515 46.2502 -0.628398 0.617402 -0.473213 \n58.6424 49.6758 46.4901 -0.546541 0.11718 -0.829194 \n53.5638 53.661 45.9932 0.505099 0.844469 -0.178177 \n-5.90168 45.515 -37.8528 0.223347 0.321941 0.920038 \n2.08953 37.1619 46.2173 -0.550749 -0.630206 -0.547281 \n61.2736 37.6235 46.1694 -0.624578 -0.761978 -0.171146 \n20.7366 -16.3988 -25.5019 0.0241592 -0.278609 0.960101 \n-20.7416 -5.41155 -18.936 0.825438 0.424336 0.372279 \n-3.96068 38.1258 45.7915 0.655867 -0.0313017 -0.754227 \n56.7766 38.1554 45.5488 0.714305 -0.67364 -0.189676 \n28.5801 -5.38885 -19.1436 -0.341887 0.817613 0.463274 \n-17.4062 2.99325 -19.58 0.706043 0.508563 0.492816 \n56.1137 39.1144 45.7276 0.882228 -0.369311 -0.292032 \n55.9436 40.7978 46.3534 0.97313 -0.102191 -0.206336 \n61.1944 42.7212 45.5428 -0.904451 0.243912 -0.349964 \n-22.847 -51.0126 -7.17976 -0.400552 -0.617375 -0.677057 \n59.3273 49.6322 45.9274 -0.870935 -0.0214233 -0.49093 \n53.5652 49.7206 46.142 0.800814 -0.470007 -0.371202 \n-27.888 -51.0899 -6.86697 0.496447 -0.501501 -0.708546 \n59.8297 51.1687 45.4181 -0.854138 0.0946779 -0.511356 \n52.9062 50.9152 45.6787 0.925971 -0.139452 -0.350899 \n53.2657 53.2116 46.1501 0.957053 0.0781156 -0.27919 \n59.0134 52.6055 45.6697 -0.747053 0.459886 -0.480018 \n37.9997 -14.5553 -9.64794 -0.899211 0.435654 -0.0403032 \n56.6327 54.4212 45.6968 0.0310978 0.999453 -0.011227 \n-0.956593 36.2458 45.6904 0.00769475 -0.892262 -0.451453 \n-17.3627 5.23995 -19.0727 0.968239 -0.0149003 0.249583 \n58.4075 37.0736 46.2482 0.211195 -0.972153 -0.101565 \n20.2851 5.98045 -19.0458 -0.937952 0.0919702 0.334345 \n57.7237 37.388 45.2631 0.323071 -0.935948 -0.140095 \n2.30174 39.1853 45.9835 -0.601141 0.73073 -0.323517 \n-3.71185 38.7848 45.8357 0.850714 0.325069 -0.413057 \n-28.8979 -50.5433 -7.12931 0.562842 -0.492029 -0.664167 \n-30.8223 -11.3863 -10.3388 0.843678 0.533768 -0.0574409 \n55.2829 41.289 45.2895 0.940533 0.160751 -0.299262 \n54.382 44.0525 45.4429 0.72751 -0.583716 -0.360562 \n20.5491 10.8446 -18.3312 -0.961356 -0.160792 0.223475 \n54.9481 48.0566 46.2225 0.96376 -0.0101744 -0.266576 \n-17.7364 11.0079 -19.4278 0.968648 -0.0043938 0.248397 \n52.4479 53.0477 45.1328 0.972131 0.097962 -0.212988 \n54.6261 54.1268 46.0206 0.216786 0.960154 0.176372 \n57.3942 54.2267 45.6242 -0.514663 0.836496 -0.188138 \n-18.174 11.2989 -18.1507 0.972694 -0.0182653 0.231373 \n25.7939 -16.3624 -25.4797 -0.269392 -0.108104 0.956944 \n50.8694 60.9532 45.6088 -0.281122 0.00294931 -0.959668 \n-28.0429 -7.59085 -11.2698 0.696329 0.707967 -0.117936 \n49.4108 62.1006 45.9246 -0.073433 0.1223 -0.989773 \n48.8927 61.6877 45.5958 0.590965 -0.495231 -0.636794 \n-27.7856 -57.275 -27.3815 0.690628 -0.0504993 0.721444 \n48.7317 62.5718 45.4802 0.715641 0.397569 -0.574279 \n1.50281 35.6385 44.8832 0.0417471 -0.928342 -0.369376 \n-2.3078 36.6184 46.0096 0.220705 -0.802326 -0.554583 \n1.52101 36.1078 45.5087 -0.147775 -0.764266 -0.627742 \n31.6724 -6.16665 -10.3388 -0.676352 0.708851 -0.200195 \n-25.7522 -4.74865 -10.9596 0.458982 0.882235 0.104866 \n-18.6534 15.7894 -19.0319 0.838738 -0.462709 0.287088 \n2.81239 39.5614 44.9779 -0.23506 0.86815 -0.437107 \n1.25885 39.9206 45.3028 -0.534419 0.747032 -0.395397 \n-24.4286 -4.39835 -10.8895 0.440919 0.896382 0.0457149 \n-1.36338 40.0809 45.8909 0.33018 0.863752 -0.380676 \n61.7415 41.6571 45.7637 -0.890729 0.377591 -0.253035 \n61.4138 44.424 45.5603 -0.960053 -0.123324 -0.251177 \n54.032 44.7044 45.2491 0.923395 -0.234204 -0.304122 \n27.0284 -3.56805 -11.1709 -0.570453 0.802037 -0.176977 \n61.4596 45.756 45.4843 -0.872362 0.266341 -0.409935 \n-18.5343 -49.116 -6.85545 -0.238031 -0.413895 -0.878654 \n60.5546 47.8653 45.4704 -0.85444 0.50065 -0.138858 \n54.4034 47.2392 45.4016 0.941568 0.159252 -0.296799 \n54.4487 48.4762 45.824 0.768168 -0.477948 -0.426008 \n27.1485 35.5012 -24.6492 -0.68313 -0.327623 0.652684 \n53.1564 49.5837 45.0349 0.830331 -0.371803 -0.415105 \n52.7762 50.5767 44.708 0.940524 -0.126369 -0.31535 \n-0.361008 45.7033 -37.5292 -0.253222 0.41249 0.87506 \n59.7159 52.4983 44.8641 -0.927471 0.268716 -0.259979 \n58.0746 53.7929 45.576 -0.592438 0.680234 -0.431623 \n54.7244 54.3096 45.3392 0.1015 0.864859 -0.491647 \n27.314 -4.08465 -18.6283 -0.623345 0.685461 0.376278 \n49.7747 60.295 44.7734 0.635147 -0.661972 -0.397972 \n51.3952 62.0879 45.2298 -0.434784 0.352081 -0.828855 \n51.2912 62.6793 44.6139 -0.411166 0.873411 -0.26095 \n49.5385 62.9317 45.3503 -0.14219 0.832515 -0.535445 \n48.7257 62.8217 44.6683 0.640145 0.726725 0.249169 \n0.788311 -21.1064 -44.7632 0.382945 0.845527 0.372071 \n3.01718 36.2579 45.1749 -0.428591 -0.511792 -0.744566 \n-0.946176 35.5229 44.1037 -0.0469233 -0.910972 -0.409791 \n-2.93802 35.2606 44.4961 -0.0282952 -0.86602 -0.499207 \n59.7197 37.1781 45.0394 0.031076 -0.988861 -0.145561 \n25.5342 20.7623 -18.1664 -0.462931 -0.884265 0.0614048 \n57.4263 37.138 44.0924 0.279666 -0.956048 -0.0880916 \n60.616 37.468 44.9278 -0.550276 -0.805509 -0.219893 \n61.9034 38.5508 45.3166 -0.922465 -0.339574 -0.183708 \n-3.2871 39.3281 45.6409 0.426488 0.872345 -0.239004 \n62.8663 41.6992 44.4891 -0.902927 0.110276 -0.415406 \n-18.4169 26.8628 -29.7082 0.495235 -0.263695 0.827772 \n62.0087 43.5841 43.5593 -0.925903 -0.201292 -0.319664 \n25.3531 22.4444 -20.1671 -0.909999 0.127242 0.394603 \n59.5487 49.2291 44.9329 -0.862974 0.378652 -0.334512 \n52.5387 51.8882 44.1161 0.993697 0.0458321 -0.102301 \n59.1031 53.9779 44.6037 -0.676245 0.591439 -0.439194 \n53.768 54.7512 44.4891 0.366678 0.87733 -0.309579 \n52.0788 60.1954 45.1489 -0.374996 -0.109577 -0.920527 \n50.6209 60.2729 45.4622 0.142832 -0.48163 -0.864657 \n-17.1746 5.39115 -10.7933 0.878656 0.0824037 -0.47029 \n-16.0241 -54.5788 -26.6655 -0.705449 0.156328 0.691305 \n-23.4312 26.38 -18.8697 0.98974 -0.125359 0.0685623 \n-4.56071 35.513 44.4476 0.418851 -0.545357 -0.726051 \n4.34784 37.054 44.7132 -0.586735 -0.288211 -0.756754 \n60.5264 36.3575 43.6379 -0.330571 -0.838621 -0.43294 \n61.5356 37.4304 43.5154 -0.774129 -0.629044 -0.0709124 \n56.3805 37.672 44.112 0.622968 -0.767641 -0.150458 \n-31.2717 -47.3963 -7.16383 0.625929 -0.364654 -0.689377 \n-5.44022 37.4692 44.6975 0.645189 -0.169182 -0.745056 \n41.468 -47.4259 -7.05118 -0.968125 -0.146691 -0.203017 \n4.54399 38.3326 44.7176 -0.619298 0.237314 -0.748433 \n-5.59344 38.7031 44.2952 0.631992 0.403696 -0.661525 \n62.5775 39.7255 43.6611 -0.984109 -0.173017 -0.0399478 \n3.60482 39.1777 44.9184 -0.480888 0.588486 -0.649947 \n0.0139879 41.1351 44.7773 0.0830797 0.882751 -0.462438 \n-24.9354 33.0034 -18.9976 0.970309 -0.236024 0.0528458 \n53.747 45.5541 44.5826 0.980248 0.0631059 -0.187434 \n62.1983 45.4857 44.5394 -0.859112 0.0424505 -0.510024 \n60.8787 48.0925 44.4231 -0.766316 0.516059 -0.382679 \n22.697 30.329 -28.4344 -0.776117 -0.133032 0.616397 \n52.7113 53.877 44.9919 0.794689 0.596879 -0.110479 \n57.526 54.8783 44.5733 -0.202512 0.879132 -0.431411 \n20.7257 14.2068 -10.8313 -0.806342 -0.58584 0.081263 \n52.6754 58.1842 44.2883 -0.102297 -0.371085 -0.922947 \n50.8868 59.2747 44.714 0.473546 -0.605803 -0.639342 \n53.405 59.2116 44.3139 -0.485927 -0.0887426 -0.869483 \n53.0516 60.7876 44.5121 -0.573252 0.143226 -0.806764 \n48.4307 61.7932 44.7269 0.943 -0.327788 0.0574981 \n49.5925 62.9485 44.4936 0.127958 0.91007 0.394207 \n49.1239 62.3596 44.2189 0.573526 0.410446 0.708944 \n-25.8603 36.2338 -19.405 0.976006 -0.212338 0.0482177 \n-3.12594 35.0473 43.4082 -0.168725 -0.860022 -0.481554 \n3.01898 35.4252 44.2057 -0.273038 -0.842038 -0.465213 \n0.666572 35.4846 43.6836 -0.13694 -0.881259 -0.452361 \n23.6173 18.0082 -10.1992 -0.80878 -0.583423 0.0741066 \n4.36447 35.9159 43.8932 -0.50152 -0.620994 -0.602365 \n-9.07513 43.2151 -37.3266 0.514073 0.132731 0.847415 \n-22.0751 18.7441 -11.9481 0.70273 -0.709919 -0.0467535 \n59.076 36.8679 43.9762 0.208288 -0.963288 -0.16939 \n5.69999 37.814 43.6701 -0.864908 -0.0549848 -0.49891 \n62.3447 38.2038 44.0993 -0.82698 -0.536445 -0.168318 \n-23.8386 20.2549 -10.8828 0.866558 -0.490146 -0.0939913 \n22.2966 1.46595 -16.8445 -0.704144 0.675124 0.219975 \n-25.0182 39.5595 -19.7107 0.92848 0.198509 0.313878 \n4.53998 39.7542 43.608 -0.4473 0.724263 -0.524753 \n54.8496 40.8517 43.5276 0.974291 0.155077 -0.163426 \n-31.9309 -46.4759 -7.56691 0.828035 -0.272996 -0.489725 \n0.774247 41.2924 44.2586 -0.472948 0.784009 -0.402058 \n61.9511 43.0584 44.1598 -0.794121 0.523976 -0.307931 \n55.3244 42.3592 43.8463 0.899224 -0.366333 -0.239158 \n-7.20813 24.3529 -35.7246 0.469635 -0.130273 0.873196 \n53.0406 48.5027 44.026 0.776239 -0.479497 -0.409312 \n60.4922 48.7547 43.6444 -0.853407 0.354348 -0.382274 \n59.9729 50.5081 44.4976 -0.917155 0.057876 -0.394306 \n41.2299 -66.5163 -16.5717 -0.701526 0.379497 0.603194 \n-28.8075 -54.1888 -26.1401 0.692687 -0.0732276 0.717512 \n59.6757 53.1572 43.5066 -0.852945 0.464476 -0.238215 \n58.5453 54.566 44.1217 -0.572918 0.818114 0.0495476 \n53.2384 54.1027 43.6913 0.867437 0.496764 0.0278996 \n57.1387 55.0674 43.3852 -0.35263 0.934743 -0.043684 \n55.8433 55.3221 44.1634 0.0193845 0.936635 -0.349769 \n52.478 57.3127 43.8911 0.267806 -0.501585 -0.822613 \n1.29955 -18.5297 -39.4596 -0.0381101 0.893437 0.447568 \n49.6622 60.0552 43.7874 0.832039 -0.53656 -0.140762 \n52.8298 61.6171 44.3347 -0.68161 0.552464 -0.479782 \n-27.8785 25.2162 -10.4454 0.0839467 -0.883338 0.461158 \n49.1739 61.2109 43.6453 0.788394 0.0847637 0.609303 \n51.2498 62.6912 43.8258 -0.224293 0.946114 0.233584 \n24.1401 -59.5844 -18.9156 0.835189 0.00211256 0.549959 \n-0.00456045 34.2366 43.1391 -0.35653 -0.63281 -0.687341 \n-4.47473 34.9919 43.7381 0.186968 -0.936334 -0.297189 \n2.71875 35.024 43.1799 0.0173361 -0.876952 -0.480265 \n-29.5788 25.3543 -10.6463 0.0735645 -0.859148 0.506411 \n5.47982 36.3653 43.2343 -0.747334 -0.394528 -0.53464 \n-32.1693 25.7764 -11.1106 0.118331 -0.794369 0.595798 \n28.8763 26.5812 -11.1543 -0.591338 -0.53444 0.603899 \n5.55086 38.9813 43.3381 -0.721512 0.450623 -0.525699 \n3.16417 40.2002 43.504 -0.21157 0.871203 -0.442994 \n-1.81128 41.2926 43.7928 0.408713 0.829929 -0.3797 \n-0.239886 41.8276 42.5898 0.0661519 0.916462 -0.394614 \n62.9455 41.6753 43.6901 -0.977716 0.208955 0.0202379 \n29.4783 47.9656 -5.67765 -0.884015 0.449631 -0.127864 \n62.5108 44.7479 43.7975 -0.95533 -0.15095 -0.254085 \n54.1176 47.1478 43.9236 0.942383 -0.161363 -0.293046 \n61.68 47.7931 43.0733 -0.855367 0.511632 -0.0811226 \n53.725 47.2338 42.9892 0.794644 -0.515975 -0.31986 \n52.9394 53.2285 43.1391 0.96501 0.258262 -0.0453493 \n-58.244 54.4544 43.4133 0.125753 0.0267221 -0.991702 \n-28.2582 -74.5235 -17.7044 -0.0937488 -0.992067 -0.0837497 \n20.601 5.42345 -10.3076 -0.942724 0.311122 -0.120306 \n53.7069 56.8152 43.811 -0.322475 -0.251855 -0.912458 \n-52.4236 59.2127 43.5244 -0.332013 -0.772097 -0.541879 \n54.279 59.7167 43.6442 -0.721818 0.224074 -0.654805 \n-52.6746 59.6787 43.852 0.0621803 0.0811033 -0.994764 \n-21.9243 53.3289 -19.2698 0.764906 0.578463 0.283373 \n54.3856 60.4748 42.9277 -0.78416 0.561289 -0.264664 \n42.7858 -41.1535 -7.14499 -0.999872 0.0102513 -0.0122949 \n-0.934442 35.0749 43.4665 0.535409 -0.650726 -0.538416 \n22.2136 3.72655 -17.0642 -0.887354 0.434426 0.154523 \n-20.7349 54.3645 -18.6811 0.852057 0.520762 0.0529687 \n-3.80046 34.4864 42.5311 0.488467 -0.81429 -0.313578 \n-1.70511 35.0723 42.7777 -0.0438948 -0.864394 -0.500896 \n5.3362 35.798 42.6979 -0.501841 -0.812095 -0.297752 \n60.2063 36.3482 43.3054 0.295147 -0.949426 0.107136 \n-6.63992 38.4569 43.1555 0.86984 0.0762418 -0.487407 \n55.7442 38.3108 42.5438 0.690088 -0.717953 -0.091227 \n55.4459 38.9498 44.4315 0.820418 -0.519318 -0.239215 \n-36.4902 30.7759 -11.2307 0.55473 -0.261171 0.789977 \n-5.72762 39.2755 43.426 0.448652 0.82288 -0.348682 \n55.1596 40.1325 44.9192 0.932993 -0.216965 -0.287141 \n-5.80826 39.5772 42.1904 0.380414 0.856953 -0.347732 \n1.80989 40.3348 43.5853 -0.382009 0.843837 -0.376839 \n55.114 41.8933 42.9765 0.958849 0.216733 -0.1834 \n27.9509 37.6812 -24.0317 -0.859749 0.010189 0.510616 \n62.1754 43.1802 42.7596 -0.965907 0.21777 -0.139996 \n25.1801 -15.4354 -25.6075 -0.0758482 0.113197 0.990673 \n54.2809 43.4909 43.9132 0.785711 -0.581662 -0.21054 \n62.4407 44.2486 42.2646 -0.987837 -0.0789568 -0.133951 \n-19.6535 43.1022 -30.1021 0.696029 0.169764 0.697656 \n53.0286 47.891 42.8447 0.8099 -0.492415 -0.318732 \n60.7247 50.0558 43.3763 -0.942594 0.0607545 -0.328367 \n52.2667 50.0625 43.4297 0.944406 -0.19538 -0.26443 \n60.4744 51.8473 43.1577 -0.915989 0.2732 -0.293814 \n-58.235 53.1516 42.8836 -0.442823 -0.669938 -0.595895 \n57.34 54.917 42.7633 -0.720989 0.632573 -0.282888 \n54.7779 55.1441 43.3249 0.280838 0.934195 -0.220022 \n-57.2538 55.2479 42.8924 -0.902462 0.184286 -0.389359 \n55.9508 55.3886 42.9624 -0.0488429 0.900789 -0.431502 \n-58.4709 55.373 42.7611 0.330494 0.882161 -0.335507 \n-18.6637 57.5529 -20.1005 0.713916 0.655252 0.24692 \n51.5757 57.1849 43.2229 0.54908 -0.55028 -0.629049 \n50.7126 58.3663 43.4589 0.766071 -0.531383 -0.361619 \n25.2148 -14.5703 -25.4713 -0.15329 -0.00646662 0.98816 \n-52.6602 58.8879 42.6899 -0.767697 -0.590708 0.248407 \n55.2054 59.2468 42.5097 -0.858079 0.39877 -0.323547 \n-51.7518 59.7169 42.974 -0.990557 -0.100611 -0.0931399 \n-54.119 59.5977 43.2659 0.51719 0.115322 -0.848065 \n49.8114 60.169 42.6216 0.77759 0.160253 0.608007 \n6.95248 46.0976 -37.733 -0.0864008 0.496564 0.863689 \n-54.087 60.5896 42.9347 0.41075 0.52013 -0.748832 \n21.2928 44.1936 -30.0462 -0.664661 0.347424 0.661455 \n-52.4742 60.5133 43.455 -0.366368 0.702417 -0.610234 \n-0.450123 33.6059 42.6587 0.562565 -0.648897 -0.512302 \n22.897 -40.3074 -6.7735 0.735431 0.506885 -0.449677 \n-5.88855 35.2356 42.7807 0.539614 -0.805743 -0.24412 \n-15.9853 60.1005 -19.3424 0.495664 0.857557 0.137528 \n-5.9739 36.1491 43.6241 0.786215 -0.291942 -0.544643 \n18.8275 59.7632 -18.2675 -0.672743 0.682203 0.286383 \n21.58 45.3423 -29.3574 -0.69411 0.277109 0.664396 \n16.48 61.3064 -19.2593 -0.472051 0.860517 0.191519 \n62.3193 38.9415 42.5937 -0.939382 -0.340957 -0.0362018 \n-36.8994 36.7245 -10.6777 0.639301 0.322858 0.697895 \n5.40695 39.8922 42.2269 -0.575871 0.677979 -0.456856 \n-3.01651 39.964 44.0483 0.433845 0.83343 -0.342306 \n23.2041 -38.9472 -7.70919 0.716204 0.598818 -0.358424 \n-3.35803 40.7619 41.6624 0.491741 0.803803 -0.3348 \n62.6741 41.799 42.1006 -0.997396 0.0372053 -0.0617789 \n1.00098 41.5998 42.6787 -0.475155 0.76665 -0.431827 \n-2.03691 41.6059 42.1654 0.375106 0.817192 -0.437598 \n55.1118 42.4214 42.7756 0.796461 -0.555457 -0.238992 \n62.4668 46.0012 43.7673 -0.905627 0.351872 -0.236696 \n53.8141 46.2992 42.5164 0.97378 0.164069 -0.157587 \n60.7528 49.0522 42.7391 -0.983947 -0.117239 -0.134551 \n52.2882 47.5149 40.4876 0.886525 -0.34854 -0.304292 \n52.271 51.4387 42.8168 0.985455 0.148557 -0.0825147 \n58.8229 54.0625 42.9089 -0.510033 0.858975 -0.0450409 \n53.0887 54.4296 43.0974 0.686357 0.22468 -0.691688 \n33.2639 37.5614 -10.7998 -0.502178 0.351966 0.789897 \n54.5271 55.5281 42.9795 -0.13021 0.0227636 -0.991225 \n53.1259 55.3357 42.9828 0.286923 -0.394216 -0.87308 \n52.0149 55.5284 42.2939 0.69287 -0.251193 -0.675894 \n19.8995 7.96865 -10.1915 -0.991122 0.121091 -0.054908 \n55.1363 58.0855 43.083 -0.695014 0.0507922 -0.7172 \n51.2466 56.6989 42.2774 0.830638 -0.457285 -0.317695 \n-53.9979 58.7896 43.1429 0.289124 -0.514648 -0.807183 \n49.8247 59.3846 42.6196 0.949504 -0.264439 0.168862 \n-53.5116 61.0244 42.6762 0.0926393 0.886085 -0.454172 \n53.0399 61.8223 43.2419 -0.524415 0.84468 0.107256 \n51.4785 62.1626 42.7009 -0.0772522 0.868301 0.489986 \n-0.153936 33.3395 42.1256 -0.23376 -0.929488 -0.285321 \n-34.7657 39.8589 -10.8868 0.552685 0.493768 0.671367 \n-2.90149 33.3043 41.7716 -0.233048 -0.792563 -0.5635 \n1.94904 33.8526 41.9876 0.270434 -0.680811 -0.680706 \n-17.1017 6.60695 -10.1344 0.803141 -0.165951 -0.572211 \n1.53175 34.9496 42.4596 0.166883 -0.770489 -0.615221 \n-1.16787 33.8767 41.4058 0.443542 -0.854092 -0.271656 \n-1.62032 34.3534 41.9097 0.178622 -0.817663 -0.547285 \n-1.9614 34.1769 41.9246 -0.461915 -0.674724 -0.575658 \n12.621 26.9075 -35.7852 -0.0378566 -0.234859 0.971292 \n3.57604 34.9828 42.5571 -0.483614 -0.811918 -0.326965 \n-30.6033 42.0446 -11.0241 0.553942 0.63524 0.538162 \n6.05701 36.3986 41.704 -0.821752 -0.52635 -0.218356 \n-6.97932 36.2539 41.6425 0.916004 -0.332844 -0.223944 \n60.8228 36.4625 42.7557 -0.512914 -0.820933 0.250973 \n58.1037 36.7519 41.5612 0.152075 -0.986549 0.059948 \n-13.4309 5.00085 -27.7099 0.70933 0.00790185 0.704832 \n6.45628 37.5732 41.5387 -0.906349 -0.0713198 -0.416467 \n2.20433 40.9771 41.8026 -0.421309 0.825341 -0.375913 \n0.240572 42.667 41.4577 -0.125211 0.940311 -0.316446 \n4.24943 46.4278 -37.5572 -0.0770957 0.617718 0.782611 \n53.5291 46.5592 41.5312 0.848113 -0.3516 -0.396334 \n7.45288 67.0495 -17.6367 -0.304566 0.923071 0.234902 \n60.7817 48.8354 41.8961 -0.899918 0.401513 -0.170101 \n-59.4435 52.9893 42.5581 0.603906 -0.32302 -0.728667 \n59.9639 53.8857 41.7028 -0.76011 0.642032 -0.100138 \n-57.6572 53.7725 43.0318 -0.872574 -0.356426 -0.334029 \n52.2527 52.5154 42.0053 0.870906 -0.12113 -0.476288 \n5.25167 66.08 -19.9286 -0.118442 0.921788 0.369159 \n-57.3183 54.5686 42.159 -0.985375 -0.0982469 0.139226 \n-17.7239 8.55275 -10.4046 0.828881 -0.0244084 -0.558892 \n24.3993 -35.0906 -8.34745 0.936333 -0.241111 -0.255236 \n-59.1926 54.5627 42.8718 0.673879 0.248382 -0.69584 \n17.0271 50.833 -29.5128 -0.188375 0.793977 0.578027 \n-15.9544 51.0859 -29.2358 0.738015 0.394972 0.547111 \n-57.6142 55.5049 42.7562 -0.107277 0.938712 -0.327583 \n55.7157 55.9318 42.4658 -0.456312 0.0691391 -0.88713 \n56.1639 56.9281 42.031 -0.725119 0.355596 -0.589707 \n-53.8769 58.3111 42.4506 -0.229728 -0.910525 -0.343757 \n-54.9393 58.2285 42.1979 0.265816 -0.736119 -0.622471 \n3.31131 45.7573 -38.2075 -0.00357141 0.56659 0.823992 \n53.3669 60.9559 41.3466 -0.303986 0.836862 0.455252 \n2.77975 33.5459 41.5161 -0.48898 -0.775285 -0.399789 \n0.983011 34.4393 41.9768 -0.403752 -0.716659 -0.568669 \n-4.50553 34.9108 42.1032 0.356762 -0.92692 -0.116365 \n-6.1344 35.3326 40.9154 0.568699 -0.817994 -0.0864086 \n59.7126 36.7765 42.1667 0.0395221 -0.996195 0.0776812 \n61.5422 37.7677 41.7127 -0.729721 -0.680532 0.0662089 \n-7.15577 38.1285 41.8741 0.957213 0.0332499 -0.287469 \n-29.1481 -75.143 -20.2511 -0.0605919 -0.997408 -0.0388165 \n54.5894 40.5744 41.8332 0.975192 -0.0402277 -0.217676 \n-31.658 -74.8979 -19.2438 0.609347 -0.472578 0.636684 \n54.7275 42.2279 41.5517 0.876255 -0.314386 -0.365155 \n1.3907 42.3277 41.4399 -0.581465 0.751699 -0.311202 \n53.6007 43.721 41.443 0.874527 -0.364017 -0.32046 \n61.7441 47.5972 41.672 -0.860046 0.471377 -0.195255 \n52.4161 51.4168 41.6615 0.998636 0.052194 0.00115803 \n-29.2413 -65.2813 -16.7157 0.700968 0.713041 -0.0146939 \n51.7395 53.2396 41.6786 0.775585 -0.107297 -0.622057 \n24.4102 -0.41465 -17.2405 -0.657762 0.674949 0.334355 \n20.1226 -15.1404 -25.6239 0.206058 1.04954e-005 0.97854 \n-0.0223726 24.042 -34.9146 0.0102005 -0.151732 0.988369 \n57.953 54.5757 41.5842 -0.628652 0.756684 -0.179517 \n51.2406 55.8413 41.3415 0.874555 -0.132135 -0.466576 \n-57.7344 55.3391 41.3799 -0.889005 0.373229 0.265276 \n-59.4668 55.3659 40.4788 0.29538 0.955042 0.0254103 \n56.8731 55.6584 42.5913 -0.348693 0.63554 -0.68884 \n50.7848 57.535 41.0655 0.944389 0.00370726 0.328809 \n50.5118 57.9048 41.8909 0.88586 -0.454545 -0.0929498 \n50.2304 58.8883 41.8433 0.812932 0.0643395 0.578793 \n-53.3861 58.4295 41.5251 -0.75072 -0.64758 0.130613 \n-55.7281 59.1014 42.159 0.63954 -0.0928273 -0.763133 \n54.5178 60.3359 41.6302 -0.68705 0.718148 0.11057 \n50.493 61.8939 42.8288 0.501232 0.490889 0.712597 \n-52.7423 60.9641 42.4866 -0.386945 0.920643 -0.0518676 \n52.1143 61.3591 41.6684 0.230211 0.662169 0.713117 \n-54.8913 61.2476 41.5266 0.37637 0.851186 -0.365825 \n2.0357 33.1266 41.1254 0.232681 -0.896056 -0.378078 \n34.7334 -74.2336 -19.7286 0.138666 -0.979101 -0.148768 \n1.01553 33.7546 40.9252 -0.0333474 -0.943015 -0.331074 \n-3.35876 33.65 42.1071 0.660337 -0.684338 -0.309253 \n22.3421 56.1721 -10.6363 -0.707572 0.6872 -0.164613 \n3.68047 34.2562 40.6629 -0.496568 -0.806464 -0.320992 \n4.03872 34.969 41.4227 -0.394423 -0.774646 -0.494321 \n-3.96707 34.3539 40.8912 0.520756 -0.767951 -0.372914 \n19.8586 13.5921 -17.6923 -0.955372 -0.21055 0.207205 \n54.7993 39.1701 41.1449 0.898102 -0.399839 -0.183144 \n-6.94642 39.0123 41.433 0.741773 0.565106 -0.361147 \n6.08135 39.1702 41.9206 -0.84113 0.26374 -0.472166 \n-2.8274 24.4753 -35.3164 -0.640334 -0.668953 0.377458 \n-0.885815 42.6534 41.2863 0.19732 0.930699 -0.308 \n62.3705 45.5155 41.7289 -0.977449 0.188731 -0.0947302 \n19.4732 59.2571 -10.8731 -0.834166 0.523933 0.172227 \n60.9194 50.2731 41.8434 -0.977555 0.0341578 -0.207894 \n-59.1956 51.7566 41.4325 0.0149379 -0.765966 -0.642707 \n39.507 -72.8151 -18.5886 -0.690154 -0.0918888 0.717805 \n51.3199 52.437 40.8017 0.74472 -0.454402 -0.488785 \n-59.8388 54.9726 41.5308 0.654455 0.686641 -0.316564 \n57.7732 56.0198 41.7113 -0.834041 0.237283 -0.498069 \n17.6873 61.5856 -10.6909 -0.808453 0.561167 -0.177471 \n-15.3879 61.3022 -10.0076 0.90909 0.3029 -0.28602 \n-58.2089 55.5241 40.8158 -0.161973 0.969318 0.1849 \n-15.2994 61.7449 -11.0211 0.693901 0.710679 -0.11592 \n-19.6358 16.7901 -18.0247 0.827086 -0.514858 0.225499 \n-52.2278 60.5253 41.9577 -0.848305 0.388189 0.360123 \n54.3921 60.0186 40.5272 -0.364661 0.79397 0.486451 \n-55.7583 60.336 41.8089 0.650109 0.40017 -0.645927 \n24.7709 -13.2072 -25.8928 -0.24086 -0.0822565 0.967068 \n-1.70868 33.5543 40.5715 -0.390127 -0.83064 -0.397288 \n-3.00842 33.0457 40.2416 0.583018 -0.793102 -0.176291 \n-13.3908 63.3546 -11.0259 0.619333 0.784248 -0.0371741 \n20.3572 14.8329 -17.5583 -0.919906 -0.313569 0.235474 \n5.16411 35.5256 41.4682 -0.664992 -0.714152 -0.218568 \n23.0512 -69.504 -19.8231 0.979266 0.195412 -0.0534087 \n-17.7294 9.72595 -10.5154 0.886796 0.0472711 -0.459738 \n-6.338 40.0381 40.87 0.399041 0.867901 -0.295828 \n62.8977 41.8156 41.0283 -0.995227 0.0563201 -0.0796974 \n8.21227 61.0384 -28.6775 -0.517113 0.687917 0.509277 \n12.7734 65.7502 -10.4209 -0.579027 0.808715 -0.103477 \n1.75861 47.3095 -37.8453 -0.0774592 -0.0556574 0.995441 \n53.2432 44.9038 41.3469 0.952222 -0.0120762 -0.305168 \n53.0097 46.0398 40.3554 0.897378 -0.00158512 -0.44126 \n-23.1086 39.989 -25.1975 0.857751 0.115645 0.500889 \n61.3815 48.5324 40.3053 -0.936796 0.307828 -0.1663 \n-8.8424 66.4922 -10.8232 0.650198 0.75948 -0.020776 \n61.0929 51.0931 40.8204 -0.96493 0.228515 -0.12919 \n20.5325 9.77325 -11.0142 -0.991092 -0.0171086 -0.132074 \n-57.7324 52.3275 40.208 -0.900967 -0.340254 -0.269233 \n-60.6248 54.721 39.6973 0.701285 0.70127 -0.128139 \n58.191 56.4855 40.5031 -0.913004 0.392372 -0.111659 \n56.5697 57.7818 40.5391 -0.629433 0.636842 -0.445248 \n57.5979 56.7441 41.2888 -0.506859 0.711774 -0.486283 \n-56.363 57.5326 40.5337 0.370665 -0.755295 -0.540496 \n19.4201 -14.6559 -25.5783 -0.025691 -0.126543 0.991628 \n-56.2848 58.1631 41.273 0.592659 -0.471195 -0.653247 \n55.769 58.8414 41.2414 -0.851042 0.466825 -0.24042 \n-17.4848 10.1538 -9.89171 0.795358 -0.510065 -0.327475 \n51.2743 59.8727 41.0387 0.650605 0.339638 0.679235 \n-5.32325 59.9221 -30.0946 0.209364 0.74558 0.632675 \n24.8668 -66.2991 -18.9396 0.819306 0.557707 0.133044 \n-52.9237 60.1839 40.2557 -0.945238 0.00360567 0.326361 \n12.0281 27.1025 -36.0019 -0.5733 -0.12471 0.809799 \n2.11641 33.1457 40.415 -0.190558 -0.978735 -0.0759275 \n-5.34868 34.8609 40.9182 0.416607 -0.779561 -0.467678 \n7.46959 60.7027 -29.5444 -0.228936 0.729259 0.644802 \n6.94674 37.024 40.1243 -0.865983 -0.452875 -0.212079 \n-7.23348 37.0931 40.023 0.923017 -0.33221 -0.194104 \n-3.01963 61.462 -29.204 0.217503 0.765269 0.605852 \n60.0552 37.0802 39.904 -0.269455 -0.948114 0.168743 \n60.6123 37.2698 41.0387 -0.428392 -0.87938 0.207775 \n56.7908 37.4317 41.0503 0.47292 -0.881089 0.00538752 \n28.1534 -31.3169 -17.7008 -0.116237 -0.736954 0.665874 \n56.0389 37.6548 39.5012 0.466708 -0.875906 -0.122363 \n54.867 38.6206 39.5355 0.711715 -0.668497 -0.215809 \n7.37069 39.278 40.0862 -0.921536 0.138471 -0.362763 \n-35.0201 -27.0325 -6.49158 0.998399 0.00914844 -0.0558238 \n6.37097 40.397 40.5854 -0.596377 0.675402 -0.433782 \n53.7382 42.084 40.0476 0.797989 -0.328759 -0.505105 \n62.6788 44.4454 40.619 -0.99975 0.0165662 -0.0150193 \n62.7015 46.9743 40.2952 -0.962873 0.236663 -0.129874 \n52.0164 49.1939 40.9905 0.997506 0.0237125 -0.0664814 \n52.2733 50.6008 40.2325 0.990198 0.0868273 -0.109402 \n-58.5199 50.6485 39.6001 -0.482205 -0.715016 -0.506192 \n-60.2316 51.7421 40.8653 0.570315 -0.571744 -0.589788 \n50.973 53.1844 40.7087 0.912083 -0.230479 -0.339092 \n-57.5511 53.3801 39.4812 -0.988765 0.137843 -0.0578198 \n37.1734 -65.0462 -19.9179 -0.604067 0.191843 0.773498 \n50.5623 54.0576 39.8657 0.963154 -0.0843056 -0.255394 \n-57.5557 54.1635 41.5209 -0.99629 0.0233612 0.0828326 \n-60.5001 53.9819 41.4255 0.861388 0.146098 -0.486484 \n58.2924 54.626 40.7074 -0.92087 0.144065 -0.362275 \n6.09575 -24.8964 -45.9423 -0.985113 -0.15836 -0.066886 \n56.5608 58.1178 39.7595 -0.469917 0.864967 -0.176093 \n-54.4618 57.7629 41.1604 -0.372515 -0.889883 -0.263327 \n-53.7851 58.1424 40.2606 -0.855928 -0.501332 0.126704 \n-29.1583 -62.6079 -20.2549 0.930933 -0.358019 -0.0720191 \n-28.5649 -62.7907 -18.0619 0.888607 -0.360177 -0.283989 \n-5.08957 33.8081 40.0342 0.279747 -0.713764 -0.642092 \n-1.17863 26.3988 -35.8439 -0.659919 -0.705714 0.257827 \n4.61053 33.9688 39.8277 -0.505804 -0.859902 -0.0687846 \n4.94586 34.2612 40.3333 -0.705421 -0.646586 -0.290357 \n-5.84167 34.9052 40.2485 0.825055 -0.556127 -0.100034 \n19.8855 10.9789 -10.3272 -0.951074 0.295175 -0.0912707 \n57.9253 37.1796 39.6255 0.202605 -0.979252 -0.0041301 \n6.09411 -24.0438 -45.1383 -0.978426 0.206322 0.0107033 \n62.8291 39.5049 41.0428 -0.984598 -0.120918 -0.126273 \n1.80853 61.598 -29.6045 -0.0416577 0.746849 0.663688 \n54.0581 40.605 40.1375 0.903192 -0.159369 -0.398554 \n4.30954 40.7577 41.784 -0.230089 0.910862 -0.342621 \n2.66876 41.3178 40.1647 -0.297732 0.905769 -0.30156 \n-3.2368 41.8598 39.1322 0.66081 0.703204 -0.262362 \n-18.1763 -74.5607 -11.77 -0.722303 -0.667118 -0.182297 \n-0.176661 42.8592 39.6432 0.0375429 0.985476 -0.16561 \n-2.50837 42.2241 41.0652 0.562197 0.769344 -0.303389 \n52.1628 43.9678 38.4155 0.9032 -0.244601 -0.352704 \n52.1615 51.4687 40.8108 0.776734 -0.472017 -0.416995 \n49.7264 -74.2987 -10.4156 -0.939527 -0.282113 0.194169 \n-61.2724 52.1696 39.7468 0.883843 -0.174971 -0.433827 \n3.34679 46.6404 -37.5338 -0.171173 0.156693 0.972701 \n58.7013 54.2138 40.4687 -0.641561 0.766739 0.0226075 \n3.46207 24.6477 -35.1277 0.18099 -0.338735 0.92331 \n-58.0693 54.5052 39.122 -0.789423 0.562933 0.244782 \n58.6134 55.4771 39.9906 -0.969099 0.0785418 -0.233834 \n50.9345 56.2817 40.4243 0.957603 0.150021 -0.245947 \n51.0696 56.9851 40.0623 0.881651 0.412871 0.228538 \n-55.2541 56.7937 39.245 -0.40665 -0.869179 -0.281361 \n51.8686 58.5558 39.5425 0.787087 0.347755 0.509472 \n55.7733 58.6777 39.9246 -0.663001 0.727633 0.176009 \n53.3098 59.7147 39.8209 0.0131849 0.74797 0.663601 \n-57.3855 59.8021 40.0638 0.810659 0.396811 -0.43055 \n-54.0947 61.3008 41.5662 -0.330462 0.926349 0.180754 \n-56.5284 60.8449 40.1578 0.595738 0.74004 -0.312149 \n-55.9913 61.2608 39.1486 0.301899 0.95168 -0.0562344 \n-49.3428 65.8439 40.2462 0.0737277 -0.322205 -0.943795 \n-38.0497 -73.5714 -10.9914 0.793505 0.0462123 0.606807 \n-49.4078 66.5963 40.2002 0.210706 0.330815 -0.919872 \n-48.4556 66.4161 39.8027 -0.845464 0.248907 -0.472479 \n-11.0683 -14.4869 -25.3856 0.0211663 -0.508515 0.860793 \n-4.51157 32.7429 39.0423 0.0158782 -0.921954 -0.386975 \n24.3954 -56.6131 -19.9051 0.795021 -0.0998694 0.598304 \n5.68586 35.9021 39.3482 -0.758253 -0.624511 -0.187184 \n5.03557 35.1172 39.1837 -0.758306 -0.625365 0.184094 \n39.4655 -62.9502 -17.3434 -0.817008 0.0812771 0.570869 \n-6.56955 35.7561 39.7753 0.774251 -0.632878 5.88116e-005 \n59.3681 37.1516 39.1389 -0.116181 -0.989058 0.0909229 \n61.9009 38.07 39.9321 -0.503238 -0.838665 0.208306 \n27.8273 -72.7002 -11.0544 0.827056 -0.15091 -0.541483 \n-7.3877 38.4979 40.6608 0.966509 -0.0424092 -0.253106 \n19.7887 11.8679 -8.96849 -0.990443 -0.133161 -0.0359343 \n39.0793 -57.2466 -19.6588 -0.797875 -0.0156254 0.602621 \n-7.55019 39.4592 39.8529 0.798673 0.531386 -0.282402 \n-6.80169 40.1233 39.6829 0.546 0.818701 -0.177801 \n54.117 39.6852 39.5886 0.857915 -0.403425 -0.318168 \n-6.85838 40.3115 38.0524 0.382175 0.89357 -0.235531 \n-4.36819 40.9797 39.756 0.374672 0.904091 -0.205523 \n62.8931 41.0984 39.8609 -0.993213 -0.115104 0.016701 \n62.6926 42.8597 40.3765 -0.989586 0.128232 -0.0653885 \n51.9326 44.9604 38.2787 0.908819 -0.138125 -0.393661 \n62.5722 46.9806 39.6947 -0.879024 0.412752 0.238649 \n-21.6519 -73.1073 -29.7981 0.736506 -0.0480522 0.674722 \n52.0374 50.3327 39.4031 0.859125 -0.285064 -0.425021 \n51.1404 51.8542 39.554 0.845677 -0.408904 -0.342969 \n-13.345 -72.2003 -30.0118 -0.778502 -0.102194 0.619267 \n60.8484 52.0922 40.1244 -0.929691 0.253651 -0.267089 \n60.3027 53.095 40.309 -0.728782 0.681548 -0.0660988 \n58.9534 54.0158 39.3478 -0.644127 0.723683 -0.247756 \n50.4044 55.2695 39.9422 0.928066 -0.0157617 -0.372081 \n-55.4846 57.3468 40.6004 0.0661771 -0.865858 -0.495893 \n-54.4722 57.3646 39.3732 -0.680436 -0.725607 -0.102478 \n-17.8533 -71.1322 -10.7014 -0.965314 0.115937 -0.233937 \n-57.6743 57.4056 39.1809 0.633223 -0.513557 -0.579041 \n57.5928 57.7119 39.1192 -0.771663 0.631817 -0.0731001 \n55.436 58.4516 38.8708 -0.30153 0.907194 0.293392 \n-57.2941 59.0695 40.4429 0.783433 -0.0651425 -0.618053 \n52.2777 59.965 40.4057 0.401364 0.608177 0.684856 \n-48.8818 65.4932 39.8379 -0.665826 -0.692815 -0.276917 \n-49.3073 67.1772 39.6503 0.0325679 0.829668 -0.557306 \n-50.5246 66.5471 39.5456 0.500788 0.529107 -0.685023 \n28.3475 49.6333 -6.90884 -0.614517 0.76573 -0.189809 \n-0.0673179 33.1336 39.9409 0.0663878 -0.987889 -0.140241 \n-2.35245 32.9196 40.4871 -0.24461 -0.950679 -0.190722 \n-3.06638 33.1166 39.5177 0.187356 -0.978224 -0.0893107 \n-3.67902 33.0585 39.2256 0.0989935 -0.874006 -0.475724 \n-5.20807 33.2145 39.1602 0.87971 -0.457574 0.129369 \n2.82735 33.3688 39.4145 -0.237327 -0.950648 -0.199858 \n4.08897 34.0366 38.7629 -0.693407 -0.637952 0.334969 \n-18.468 -69.4155 -11.2314 -0.904973 0.304412 -0.297248 \n-7.43828 36.403 38.5069 0.77586 -0.622428 -0.103074 \n-14.2017 -68.7742 -29.7642 -0.734496 0.435059 0.520807 \n27.3542 -69.3279 -11.2313 0.810214 -0.232977 -0.537842 \n-32.4006 -52.6849 -20.0223 0.980731 -0.137434 0.138849 \n0.0269206 27.1697 -35.6927 -0.051641 -0.93918 0.33952 \n55.3842 37.9352 38.7427 0.482675 -0.864274 -0.141618 \n62.5091 38.4502 40.4697 -0.883246 -0.456627 0.106618 \n-32.6486 -68.5215 -10.8256 0.363705 0.6959 -0.619227 \n-20.8511 -69.0968 -29.9913 0.531584 0.201359 0.822723 \n-2.37935 42.5135 39.2509 0.299103 0.932586 -0.202044 \n51.9323 46.3052 38.686 0.891913 -0.186767 -0.411836 \n-32.4235 -67.5766 -11.5842 0.294099 0.757224 -0.583195 \n62.0532 47.1146 38.7109 -0.968318 0.181967 0.17102 \n46.8772 -67.385 -11.8802 -0.367282 0.796917 0.479612 \n51.8421 48.6734 39.3111 0.954458 -0.0385871 -0.295839 \n14.031 -15.4911 -24.7188 0.34882 -0.368584 0.861667 \n61.4476 49.8383 39.001 -0.987355 0.157594 -0.0171483 \n-59.6946 50.3364 39.5811 0.205631 -0.796445 -0.568676 \n25.5151 45.5282 -24.6467 -0.63679 0.347955 0.688059 \n24.2521 -47.9672 -19.2973 0.750854 0.0760699 0.656073 \n60.8128 53.3033 39.0968 -0.616419 0.753109 -0.229903 \n50.4081 53.1769 38.3895 0.956467 -0.206652 -0.206071 \n50.3769 56.2627 38.9767 0.869561 0.492755 0.0325174 \n51.5329 57.104 38.958 0.724755 0.622299 0.29576 \n-17.2407 -67.053 -30.2756 -0.171864 0.60772 0.775331 \n-50.1346 64.8516 39.3788 -0.0409423 -0.775127 -0.630478 \n-51.4544 64.8298 38.9015 0.441297 -0.42772 -0.788868 \n-49.4786 64.8522 38.5215 -0.735058 -0.673005 0.0821778 \n-51.0593 65.6196 39.4665 0.522126 -0.0618988 -0.850619 \n-49.0263 67.2468 39.0532 -0.486686 0.8185 0.305279 \n-1.10333 43.2603 -39.0365 0.02005 0.203356 0.9789 \n5.9744 -30.7699 -53.7481 -0.387146 -0.602938 -0.697556 \n-50.2246 67.2248 38.9091 0.335369 0.899384 -0.280419 \n-1.0104 33.2866 38.9055 -0.0491184 -0.988872 -0.140423 \n-17.1423 -62.9613 -16.9276 -0.75127 -0.0469326 -0.658324 \n3.26784 33.2943 38.5651 -0.506212 -0.848048 0.156732 \n-5.65477 34.9798 38.8236 0.827352 -0.462585 0.318597 \n-5.93634 35.479 38.4767 0.559381 -0.828027 0.0382743 \n-8.09388 39.0317 38.1938 0.952945 0.216173 -0.21252 \n-3.9956 41.3426 38.2548 0.666943 0.699481 -0.256737 \n2.0951 42.2245 39.1631 -0.641818 0.676889 -0.360405 \n1.3371 42.6618 39.3561 -0.271359 0.883661 -0.381456 \n1.66619 43.8818 38.3842 -0.476494 0.626441 -0.616867 \n25.6675 -44.1578 -19.9908 0.557239 0.226141 0.798965 \n-0.0823938 43.1955 38.9945 0.0627716 0.627739 -0.775889 \n21.9098 1.55745 -18.6276 -0.978654 0.051656 0.198919 \n62.37 45.4791 38.9339 -0.983096 0.0923854 0.158071 \n-23.2023 20.0661 -18.3532 0.94976 0.164983 0.265964 \n61.6298 48.1398 38.859 -0.948139 0.313583 0.0519362 \n-22.8008 -64.9065 -10.5829 -0.0879797 0.891249 -0.444899 \n-59.838 49.4433 38.0479 0.257185 -0.767069 -0.587759 \n61.0509 51.2913 39.3173 -0.991858 0.126745 0.0123897 \n50.6307 51.4488 37.85 0.90385 -0.247613 -0.348915 \n-57.1583 51.6619 37.7535 -0.904554 -0.0613701 -0.421919 \n61.251 52.7637 38.5006 -0.94295 0.29548 0.153419 \n58.6677 55.3766 38.8999 -0.874143 0.435009 -0.215964 \n-56.2696 56.5594 39.0424 0.173817 -0.830277 -0.529555 \n52.1032 57.443 38.3174 0.549612 0.634893 0.54299 \n57.0745 58.0848 38.4279 -0.503614 0.837328 0.212733 \n-54.16 57.8378 38.7444 -0.929977 -0.337003 0.146876 \n-53.4651 60.3389 38.741 -0.616803 0.724355 0.308 \n-55.7197 61.1672 38.7103 -0.198622 0.95413 0.224018 \n-48.6049 66.2005 38.8692 -0.920883 -0.132093 0.366778 \n-21.9204 -6.72105 -19.1621 0.480072 0.633217 0.607097 \n39.7441 -43.0892 -19.4764 -0.760318 0.140493 0.634175 \n1.29707 33.1124 38.971 -0.0339116 -0.986928 -0.157551 \n-4.62951 32.7946 38.4559 0.585453 -0.667238 0.460477 \n25.1566 -41.5122 -18.7391 0.540527 0.336148 0.771256 \n-32.8518 -43.7561 -19.8595 0.947176 0.121992 0.296607 \n5.23695 34.9771 38.542 -0.208275 -0.780279 -0.589734 \n6.4872 36.1211 37.8724 -0.922754 -0.367937 0.11466 \n57.4585 36.8989 38.3123 0.108028 -0.994117 0.00783283 \n-8.06715 37.7832 38.3647 0.966882 -0.205401 -0.151494 \n7.34795 37.4141 38.6704 -0.897604 -0.417275 -0.142088 \n-29.5554 -53.173 -25.6708 0.724471 0.000187432 0.689306 \n61.5201 38.4663 38.447 -0.63313 -0.756186 0.165315 \n39.7999 -58.4044 -11.4475 -0.942962 -0.150994 -0.296688 \n7.67872 39.5124 38.3872 -0.948684 0.0974292 -0.300841 \n6.63417 40.8727 38.8606 -0.526355 0.774313 -0.351268 \n-3.56655 42.347 37.9979 0.863568 0.378334 -0.333339 \n-2.64453 42.709 38.7951 0.396636 0.510056 -0.763232 \n-3.15229 43.6796 37.9399 0.725421 0.583822 -0.364576 \n0.271644 43.9455 38.5778 -0.0152523 0.626364 -0.779382 \n-2.09084 44.0611 38.3137 0.17831 0.633159 -0.753204 \n40.1908 -57.1987 -10.9955 -0.880342 -0.286574 -0.377985 \n62.0424 45.4909 36.8975 -0.974532 0.196916 0.107296 \n-60.9433 50.6685 38.8293 0.576434 -0.631049 -0.519135 \n-62.0062 51.3433 37.3219 0.91978 -0.105239 -0.37806 \n37.8106 -39.8014 -20.3536 -0.513334 0.435875 0.739257 \n-57.4531 53.3078 38.2738 -0.898012 0.437833 -0.0433163 \n59.8039 53.8784 38.0724 -0.812419 0.578671 -0.0715292 \n-58.5083 54.2986 37.4521 -0.445798 0.890164 0.0941883 \n-59.2419 55.0583 38.9158 -0.136078 0.951757 0.27503 \n27.6417 -40.3854 -19.832 0.357804 0.372909 0.856105 \n59.3393 55.2055 37.9552 -0.765931 0.597505 -0.237355 \n15.3866 14.721 -26.8909 -0.805597 0.0845649 0.586397 \n14.1883 -2.69095 -26.56 -0.406028 -0.0791747 0.910425 \n-10.3286 -1.82605 -27.8417 0.626914 -0.353953 0.694043 \n-57.4826 55.6466 37.3769 0.362728 -0.701708 -0.613216 \n57.7287 56.5972 37.9248 -0.805719 0.592191 0.0112432 \n-21.3328 -56.2094 -10.7767 0.477699 -0.463914 -0.746048 \n-53.6114 59.4999 38.7383 -0.919784 -0.304103 0.248029 \n-52.7507 65.5118 38.0391 0.720082 0.22447 -0.656579 \n1.52014 32.8617 37.2557 -0.123551 -0.970884 -0.205232 \n-2.96513 32.7932 37.5657 0.011222 -0.999337 -0.0346462 \n-3.86319 32.9415 37.5942 0.608666 -0.521404 0.59805 \n-4.86693 34.0387 38.3405 0.740021 -0.365704 0.564472 \n4.41509 34.5949 38.1381 -0.248906 -0.958568 -0.138539 \n5.91884 34.4733 37.8914 -0.462989 -0.709536 -0.531225 \n28.8193 -40.3392 -20.1088 0.375217 0.424253 0.824149 \n-6.54079 35.6404 37.4961 0.628488 -0.77512 -0.0647453 \n7.35142 -13.1348 -25.1 -0.4521 -0.863722 0.222689 \n59.9088 37.5145 38.5963 -0.480555 -0.849531 0.217633 \n-30.6523 -39.4844 -19.6096 0.586456 0.702789 0.402687 \n29.9991 -38.6503 -19.7512 0.334933 0.447303 0.829301 \n62.4139 39.6199 38.4874 -0.907973 -0.408147 0.0948777 \n-17.3353 -56.3006 -11.1313 -0.477567 -0.470082 -0.742262 \n-18.1322 -39.2396 -20.2917 -0.512862 0.710478 0.481865 \n-4.67641 41.2321 37.8944 0.296445 0.908933 -0.29319 \n4.87085 41.8373 38.186 -0.160126 0.938658 -0.30542 \n2.82137 42.3036 37.7883 -0.778586 0.543437 -0.313816 \n63.1303 41.9786 38.1468 -0.989506 0.123362 0.0752263 \n-23.2725 24.4566 -18.0579 0.948036 -0.194151 0.252058 \n-28.5816 -54.6391 -10.4987 0.60101 -0.605908 -0.521212 \n62.0471 47.1826 37.1505 -0.964592 0.216003 0.151344 \n-22.887 -55.2278 -29.6492 -0.0386768 0.277166 0.960043 \n-28.2628 -38.0854 -19.0221 0.302823 0.850617 0.429824 \n-9.89963 -23.4054 -16.9327 -0.730957 -0.501237 0.463102 \n-0.0972379 -27.4466 -41.6034 0.491448 -0.867641 -0.0753468 \n-23.8333 -55.0955 -29.4886 0.340728 0.226106 0.912568 \n22.2664 -54.7411 -11.1684 0.869809 -0.403895 -0.283376 \n60.9263 51.4844 37.6488 -0.968097 0.0995538 0.22995 \n32.0134 -37.3274 -19.5061 0.0723974 0.638147 0.766503 \n31.2537 -38.1936 -19.8207 0.109608 0.537848 0.835886 \n-24.7462 -70.5101 -26.5729 0.725734 -0.152389 0.670885 \n15.7232 16.5569 -27.4614 -0.701195 -0.374163 0.6069 \n-61.3846 53.829 39.2035 0.920879 0.354677 -0.161823 \n50.3275 55.3292 38.1869 0.992088 0.104042 0.0702619 \n51.0336 56.3681 37.7932 0.651741 0.643613 0.401243 \n-56.1801 55.7202 37.4652 -0.376059 -0.820826 -0.429912 \n-15.9247 -54.1339 -10.7759 -0.51952 -0.477851 -0.708348 \n40.1645 -53.5514 -11.5021 -0.981054 -0.176195 0.0805535 \n-29.6779 -53.9955 -10.9122 0.664241 -0.576591 -0.475739 \n-58.7169 56.7754 37.1937 0.692412 -0.464967 -0.551699 \n-9.88711 28.441 -35.7871 0.481939 -0.26561 0.834976 \n-58.7212 58.2324 38.156 0.86376 -0.0698326 -0.499042 \n-30.8358 -52.6868 -11.2907 0.77843 -0.587148 -0.222044 \n53.2624 58.0456 38.102 0.304765 0.709347 0.635568 \n55.9511 58.1763 37.5905 -0.169534 0.841674 0.512682 \n54.4026 58.3185 38.2172 -0.0527507 0.842394 0.536274 \n-58.8172 59.1609 37.4064 0.898358 0.342465 -0.275082 \n-53.7607 59.7551 38.0866 -0.919232 0.0118006 0.393539 \n1.28376 -21.9975 -29.7181 -0.0132675 -0.604986 -0.796126 \n-57.8867 60.3331 37.9104 0.680893 0.707497 -0.189294 \n-51.3881 64.0122 38.1296 0.0778555 -0.747304 -0.659905 \n33.876 -38.5657 -20.335 -0.00780045 0.568807 0.822434 \n40.7724 -52.1864 -10.6723 -0.988962 -0.113591 0.0951358 \n-51.6596 66.4654 38.6563 0.607103 0.626604 -0.488664 \n-51.3585 67.0374 37.4534 0.246989 0.968782 0.0214014 \n36.8181 -12.153 -7.71359 -0.81777 0.563322 -0.117985 \n5.08318 34.0439 37.4379 0.153495 -0.898918 -0.410349 \n4.74194 27.7643 -37.8357 -0.316379 0.107375 0.942536 \n6.34285 35.2438 37.956 -0.907971 -0.309907 -0.28204 \n40.5407 -50.9828 -11.6375 -0.991819 -0.113155 -0.0590827 \n56.6392 37.3052 37.4323 0.256257 -0.966408 -0.0196967 \n53.6739 38.6283 36.6173 0.570901 -0.769061 -0.287433 \n62.9714 40.8829 37.9048 -0.949861 -0.235737 0.205406 \n-31.7512 -51.4575 -10.9224 0.908036 -0.415248 -0.055138 \n-6.64991 41.0472 37.0482 0.429891 0.843233 -0.322726 \n-25.8341 -37.5855 -19.7449 0.201996 0.790366 0.578376 \n4.7729 -21.6887 -45.5975 -0.595447 0.779138 0.195924 \n62.4912 43.9262 37.5164 -0.977291 0.209596 0.0311614 \n27.4174 25.9625 -17.5991 -0.930631 -0.300992 -0.208157 \n50.3796 46.4685 35.2381 0.887159 -0.0774591 -0.454917 \n51.5224 49.4355 38.2282 0.89647 -0.113301 -0.428373 \n-19.2231 -36.8022 -19.2025 -0.57924 0.069491 0.812189 \n-61.4174 50.0179 37.5593 0.708981 -0.446022 -0.546269 \n61.1833 50.0849 37.6967 -0.975282 0.21896 0.0297056 \n60.3825 52.8028 37.0887 -0.882252 0.419652 0.213362 \n-25.4427 -35.4117 -19.4589 0.371762 0.050461 0.926955 \n-60.69 54.5865 37.8502 0.450841 0.88329 0.128614 \n50.3513 54.0581 37.9669 0.999242 -0.0132317 -0.0366135 \n59.3445 55.204 37.1504 -0.826744 0.555531 0.088766 \n0.919851 26.1872 -35.2469 0.170188 -0.29987 0.938677 \n52.1674 56.7873 37.2126 0.360611 0.727239 0.584023 \n-25.9468 -34.1264 -19.2444 0.500594 0.0767707 0.862272 \n-24.514 -33.4798 -19.7544 0.320767 0.134071 0.937621 \n-57.4168 60.7496 36.857 0.426468 0.903885 0.033404 \n-12.8143 -46.896 -11.2163 -0.881217 -0.01944 -0.472312 \n-52.7673 64.3745 37.8953 0.472899 -0.408757 -0.780567 \n-49.6843 65.3896 37.3484 -0.862611 -0.373975 0.340653 \n-32.9483 -48.6875 -11.3146 0.926885 -0.353323 -0.12668 \n-29.608 -60.3487 -17.1849 0.891374 -0.198575 -0.407456 \n1.80416 32.8965 36.5371 -0.7298 -0.676668 0.0975265 \n-1.77506 32.8922 37.1648 -0.162892 -0.982246 -0.0930594 \n-2.64338 32.8904 36.65 0.261452 -0.942995 0.205922 \n5.10475 33.7601 36.7894 -0.200415 -0.979711 0.000241319 \n-4.86479 34.9026 37.5701 0.492801 -0.86952 -0.0328846 \n20.7526 -47.019 -10.2255 0.99541 0.0265147 0.0919521 \n-6.15643 34.8764 36.5453 0.629138 -0.767776 -0.121268 \n6.6738 36.7634 37.3578 -0.654788 -0.751424 0.0813335 \n-7.68131 36.8811 36.6981 0.824467 -0.565906 0.00232761 \n57.7344 37.269 36.6275 -0.0505821 -0.993314 0.103773 \n-13.9072 16.9397 -27.7844 0.208345 -0.93456 0.288428 \n61.5903 38.3522 37.1698 -0.466624 -0.853814 0.230792 \n-8.07202 38.0731 36.7198 0.970766 -0.17377 -0.165582 \n20.883 -45.4598 -11.3156 0.971262 0.124473 0.20287 \n-33.3165 -45.8773 -11.8883 0.96017 -0.125882 0.249455 \n53.4926 39.3454 37.5305 0.82278 -0.454757 -0.340924 \n39.6987 -59.4967 -17.2536 -0.887593 -0.319137 0.33216 \n-7.61026 39.9424 37.4042 0.690804 0.685933 -0.228662 \n-24.0624 26.2915 -17.4332 0.915159 -0.254486 0.312603 \n62.4068 41.5545 36.4712 -0.935736 -0.0496418 0.349191 \n-2.52794 48.1059 -37.6235 0.116949 0.115681 0.986378 \n7.8054 41.0372 36.7447 -0.727651 0.611861 -0.310081 \n-2.7807 -13.0919 -30.5239 0.833006 0.199202 0.516159 \n52.7656 41.6277 38.0616 0.870575 -0.310342 -0.38182 \n-20.1184 -32.6548 -19.3767 -0.394097 -0.239745 0.887249 \n-28.0156 -7.99185 -7.3966 0.604272 0.710508 -0.360603 \n3.43696 42.0012 37.7295 -0.211445 0.928258 -0.305987 \n2.07036 43.9566 37.3684 -0.640313 0.730572 -0.237199 \n62.5295 43.0178 36.9011 -0.956059 -0.0095037 0.29302 \n-22.5788 -32.2239 -19.6874 0.143053 -0.0354451 0.98908 \n0.272938 44.5348 37.9112 -0.100595 0.943324 -0.316261 \n-2.02836 44.4035 37.5439 0.252951 0.945861 -0.203378 \n-58.5056 48.4797 36.9845 -0.326887 -0.714055 -0.619088 \n-13.4142 -45.8041 -10.3775 -0.87158 0.1931 -0.450622 \n-59.4049 49.1157 37.6809 -0.00601785 -0.76271 -0.646713 \n-13.6674 -12.745 -25.726 0.320635 -0.156627 0.934163 \n-58.3386 49.4123 37.5857 -0.427379 -0.672233 -0.604525 \n61.4471 48.4563 36.8019 -0.978138 0.182487 0.0997186 \n-24.8772 -32.0115 -19.2461 0.278393 -0.100581 0.955186 \n-62.367 50.2562 36.3916 0.926295 -0.231988 -0.296915 \n-57.6325 50.2035 37.8045 -0.758636 -0.42059 -0.49757 \n-26.7463 -7.33665 -7.3842 0.617492 0.645669 -0.449238 \n26.7012 -72.4877 -26.056 0.406023 0.0028121 0.913858 \n-57.0411 53.2478 37.1495 -0.471131 0.295003 -0.831269 \n-57.8655 53.7174 37.3801 -0.592383 0.727362 -0.346448 \n-33.542 -43.0078 -10.8448 0.917435 0.114347 0.3811 \n-25.3444 -5.82215 -6.97311 0.582431 0.692006 -0.4265 \n41.6063 -42.9798 -10.8765 -0.987145 -0.129933 0.0930736 \n-23.2161 -31.7621 -19.5932 0.126544 -0.374753 0.918448 \n-56.2222 55.0748 36.8897 -0.293371 -0.176358 -0.939591 \n-24.4944 28.7064 -17.7928 0.765673 -0.302139 0.567853 \n-55.1459 56.0014 36.3745 -0.746839 -0.320145 -0.582871 \n-18.4048 -31.3159 -19.3087 -0.413734 -0.359563 0.836384 \n57.1549 57.2192 37.3937 -0.508165 0.808811 0.295962 \n56.3492 57.1584 36.8209 -0.121578 0.839122 0.530182 \n54.5018 57.8872 37.2658 0.211704 0.771339 0.600182 \n-59.356 57.3293 36.6746 0.925426 -0.0106633 -0.378779 \n25.3493 -72.586 -25.317 0.468665 0.106791 0.876897 \n-54.3917 60.2797 37.1581 -0.781351 0.362205 0.50823 \n-54.8195 60.5328 37.5748 -0.361201 0.887037 0.287575 \n27.9916 28.0009 -18.0715 -0.97384 -0.223551 -0.0407445 \n-52.5426 63.2043 37.1365 0.290661 -0.599358 -0.745846 \n22.0926 -41.1855 -10.4196 0.960766 0.270497 0.0613195 \n-50.4705 63.9349 37.6743 -0.697173 -0.707989 -0.112695 \n-49.6332 66.2001 37.3114 -0.78983 0.354237 0.500684 \n22.264 -39.3683 -10.8851 0.867949 0.494867 0.0420873 \n0.471057 32.8887 37.0736 0.17083 -0.969949 -0.173249 \n5.86111 34.15 36.8588 -0.852093 -0.361554 0.378439 \n3.10391 34.1825 36.6496 -0.622857 -0.736765 0.263109 \n-4.15286 34.6416 36.6817 0.432712 -0.87326 0.224002 \n5.71664 35.9565 36.3493 -0.854288 -0.217208 0.472241 \n6.15577 36.659 36.469 -0.657279 -0.746775 -0.101543 \n59.5066 37.3614 36.9285 -0.279698 -0.938437 0.202743 \n60.4685 38.0209 37.145 -0.454325 -0.857473 0.241514 \n23.6971 -37.8296 -11.6153 0.663023 0.746147 0.0605506 \n61.8853 40.2935 36.0262 -0.844166 -0.289017 0.4515 \n-32.2131 -37.5569 -12.7675 0.949252 0.0748885 0.305472 \n51.982 42.3103 36.3808 0.895897 -0.24563 -0.370182 \n-1.4963 25.1215 -34.9341 -0.185275 -0.353713 0.916821 \n-3.84115 43.43 35.4625 0.851585 0.38373 -0.357148 \n51.5943 43.6471 36.2003 0.881781 -0.252928 -0.398107 \n-3.16693 44.0128 35.9827 0.549148 0.800571 -0.239839 \n1.79264 44.2227 36.3982 -0.381894 0.896068 -0.226315 \n-0.524592 44.7426 36.1183 0.121744 0.803862 -0.582224 \n16.4148 18.1956 -27.803 -0.617695 -0.470761 0.62995 \n-32.4715 -36.4352 -10.7732 0.968042 0.122992 0.218559 \n-59.7038 48.2932 36.7543 0.194842 -0.840565 -0.505458 \n25.7707 -29.8639 -19.1169 0.0391079 -0.66297 0.747624 \n41.1651 -35.6087 -11.2164 -0.77233 0.530653 0.349162 \n22.3484 16.1252 -9.54505 -0.799302 -0.596435 0.0733615 \n-58.8425 48.0761 36.2437 0.0666692 -0.77541 -0.627929 \n24.7157 -37.1837 -10.7755 0.882948 0.439472 0.165126 \n20.8158 -12.9545 -25.6921 -0.0637278 -0.00181522 0.997966 \n-61.4607 49.1078 36.943 0.540964 -0.669424 -0.509145 \n-57.0718 49.5713 36.7931 -0.716705 -0.479791 -0.506098 \n-16.0415 -36.6067 -12.4019 -0.977953 -0.193724 0.0779734 \n-62.4759 51.9993 35.9227 0.970209 0.160999 -0.181036 \n-56.1999 52.8449 36.7246 -0.842996 -0.073778 -0.532836 \n-61.9941 52.4689 37.073 0.943929 0.263292 -0.199184 \n50.2591 53.4126 36.6757 0.959971 0.270462 0.0728383 \n-55.693 53.8519 36.5784 -0.779197 -0.341774 -0.525397 \n26.5021 -28.2825 -19.99 -0.156756 -0.551863 0.81907 \n50.8592 54.2694 36.4954 0.910047 0.258943 0.32367 \n-23.0797 -4.95095 -7.28324 0.318136 0.93911 -0.129855 \n50.5276 55.1795 36.8527 0.882258 0.245192 0.401872 \n-57.5299 55.111 36.8179 0.226333 -0.44775 -0.86504 \n-57.8598 54.4165 36.6415 0.0205169 0.346859 -0.937693 \n51.1944 54.9111 36.1817 0.67549 0.467538 0.570195 \n-24.2455 -4.87995 -7.75053 0.300281 0.917164 -0.261994 \n58.118 56.7314 36.5137 -0.744514 0.666129 0.0444022 \n-54.8733 56.664 37.1812 -0.772982 -0.625414 -0.10657 \n-54.3216 58.789 37.0975 -0.94534 4.61656e-005 0.326087 \n-54.9087 59.8601 36.3965 -0.741537 0.503484 0.443426 \n-50.1076 65.2907 35.8257 -0.95109 -0.170984 0.25728 \n22.6341 48.9185 -24.91 -0.683702 0.714663 0.147675 \n-52.7696 66.3814 36.7844 0.550047 0.814665 -0.183764 \n-50.3836 66.9441 37.1735 -0.321442 0.854369 0.408325 \n23.6593 -33.2168 -12.1713 0.412664 -0.909936 0.0415261 \n-2.74488 33.3226 36.2072 0.671211 -0.468895 0.57412 \n4.10101 33.7904 35.4142 0.026745 -0.866473 -0.498506 \n-30.7014 -58.9846 -19.6696 0.937568 -0.321168 -0.133483 \n39.8404 -31.1629 -10.1582 -0.862931 0.111193 0.492936 \n-6.68089 36.1674 36.1559 0.691626 -0.630025 0.353159 \n-21.4727 -2.34495 -7.70323 0.794435 0.53296 -0.291251 \n8.27407 38.8308 36.2052 -0.975196 -0.1423 -0.169537 \n62.1346 39.0256 36.7967 -0.853106 -0.435367 0.287517 \n52.7298 39.2973 35.7891 0.8084 -0.373251 -0.455162 \n1.21368 -6.48205 -29.7934 0.034857 0.267254 0.962996 \n-8.09763 39.5805 36.9212 0.942079 0.258068 -0.214213 \n-32.077 -31.9099 -10.5382 0.766976 -0.533325 0.35681 \n8.22979 40.1282 36.5995 -0.961686 0.147819 -0.230889 \n-7.61686 40.7826 35.5402 0.639219 0.695762 -0.327589 \n6.24633 42.1557 36.4655 -0.325667 0.892609 -0.311755 \n-4.13502 42.6643 35.2902 0.846413 0.39222 -0.360207 \n-32.5505 -30.8659 -11.6967 0.697158 -0.578748 0.423109 \n39.6418 -30.1256 -10.6716 -0.847233 0.0889156 0.523728 \n2.25214 44.1877 35.9457 -0.699287 0.481193 -0.528631 \n17.875 -29.9886 -11.2949 0.691851 -0.691982 -0.206161 \n7.59113 -12.7734 -25.6555 -0.0482893 -0.645203 0.762484 \n0.520818 44.9297 36.1303 -0.163198 0.71114 -0.683847 \n39.6385 -28.465 -10.1956 -0.873494 -0.175599 0.454062 \n21.0152 -27.7403 -19.7231 0.236879 -0.660559 0.712426 \n61.5482 46.9908 35.6642 -0.968814 0.230351 0.0913116 \n-14.9322 -28.0533 -18.9932 -0.513436 -0.517183 0.684767 \n50.6045 49.4771 36.5235 0.903018 -0.157583 -0.399657 \n-1.16178 -6.74255 -29.4475 0.141212 -0.0759394 0.987063 \n-56.3093 51.2161 36.6057 -0.843961 -0.221298 -0.488628 \n50.199 51.2733 36.1977 0.965412 -0.086001 -0.246138 \n60.5205 51.9022 36.4656 -0.93333 0.33003 0.141332 \n60.2796 53.0569 35.9722 -0.901269 0.388642 0.191499 \n59.6095 54.282 36.2973 -0.859463 0.493804 0.132216 \n-61.2559 53.9189 36.2916 0.722603 0.689319 -0.0518104 \n-28.1847 -26.7199 -19.3535 0.589803 -0.328543 0.737694 \n-59.0302 54.621 36.3363 0.413796 0.52521 -0.74359 \n22.9573 0.64765 -7.6418 -0.612528 0.676604 -0.408676 \n51.7665 55.857 36.1685 0.4878 0.657227 0.574547 \n-58.2989 55.606 36.6213 0.58238 -0.255648 -0.771672 \n-58.7374 59.6712 36.1139 0.787097 0.614631 -0.0520232 \n-51.7755 62.9745 36.8909 -0.144449 -0.824495 -0.547122 \n-54.0056 63.9773 36.7956 0.651787 -0.2183 -0.726305 \n7.92558 -4.96295 -28.8667 -0.329222 -0.073367 0.941398 \n-53.5639 65.8092 36.5293 0.7018 0.666354 -0.251891 \n-3.06438 -5.45535 -30.0049 0.298094 -0.109248 0.948264 \n-0.390991 32.9334 35.713 0.10593 -0.974136 -0.199596 \n2.20412 33.723 35.1887 -0.760248 -0.622534 -0.185674 \n4.66834 33.9595 35.5479 -0.780191 -0.453041 0.431341 \n3.43619 34.2508 36.2128 0.116902 -0.946071 -0.302133 \n-5.55119 34.5788 35.9089 0.41209 -0.874281 0.256544 \n6.4238 35.7769 34.8841 -0.641426 -0.757029 -0.124414 \n-6.15753 36.4083 35.2935 0.461301 -0.886082 0.0453898 \n-7.44241 36.5117 35.5044 0.511036 -0.859521 -0.00807431 \n7.07594 37.0538 35.8113 -0.68671 -0.722336 -0.081613 \n55.6163 37.3354 35.7615 0.29224 -0.95078 -0.103019 \n7.71001 37.5354 36.9164 -0.847251 -0.518426 -0.115756 \n39.306 -25.6764 -11.7962 -0.87448 -0.208522 0.437953 \n-19.2579 0.742748 -7.50317 0.737827 0.548373 -0.393572 \n59.0332 37.8195 35.7961 -0.421396 -0.872245 0.248223 \n-8.7741 38.7537 34.8536 0.99096 0.03868 -0.12846 \n60.92 38.8943 35.6503 -0.629231 -0.674425 0.386289 \n-4.51013 41.9726 35.8896 0.409993 0.835036 -0.366906 \n40.0267 -59.3638 -16.0461 -0.985585 -0.157796 0.0610073 \n7.00794 42.1187 35.4125 -0.451472 0.876298 -0.16815 \n-6.05845 41.5358 35.7253 0.308331 0.891316 -0.332397 \n61.8368 43.1911 34.948 -0.936549 0.00416666 0.350511 \n3.18986 42.7164 35.9048 -0.536983 0.77187 -0.340392 \n51.1811 42.1059 34.9807 0.712171 -0.207318 -0.670695 \n50.7964 45.2211 35.7721 0.840288 -0.203732 -0.502404 \n-9.23251 29.1392 -36.7033 0.370506 -0.182947 0.910635 \n-34.264 -26.1353 -10.7933 0.964047 -0.0889818 0.250389 \n20.5294 2.58995 -7.90828 -0.710302 0.500518 -0.494928 \n-1.77186 44.7431 35.9151 0.291726 0.748685 -0.595287 \n-34.9763 -24.8614 -10.1849 0.931218 -0.188427 0.311974 \n16.0845 -24.3631 -19.7789 0.502406 -0.676953 0.537887 \n-58.2001 46.4427 34.8004 -0.151511 -0.702686 -0.695181 \n-57.6298 48.3698 35.9505 -0.46861 -0.60483 -0.643883 \n-61.1789 48.5352 36.0043 0.448886 -0.722687 -0.525571 \n19.6821 3.81145 -7.32963 -0.505165 0.0731126 -0.85992 \n33.512 -25.026 -18.9418 -0.506001 -0.332704 0.795784 \n-56.7745 49.3447 35.7539 -0.763188 -0.333117 -0.553694 \n-62.1552 49.5518 35.2839 0.855821 -0.34177 -0.388283 \n-34.8355 -23.3698 -10.8306 0.959617 0.0938279 0.2652 \n-21.0309 50.5667 -24.6285 0.903645 0.256215 0.34319 \n-56.1734 50.5811 35.4486 -0.920827 -0.127513 -0.368535 \n50.0697 52.1136 35.591 0.981612 0.108616 -0.156973 \n50.7553 53.8132 35.6919 0.750525 0.564921 0.342895 \n28.6115 33.0182 -17.9181 -0.978117 -0.120053 0.169927 \n-55.0093 54.4821 35.9635 -0.745764 -0.241561 -0.620874 \n18.7221 5.01015 -7.23464 -0.376551 0.176114 -0.909501 \n-25.5437 33.7936 -17.6486 0.59854 0.0270466 0.800636 \n-28.623 -24.0741 -19.7313 0.626835 -0.207325 0.751062 \n-59.9907 54.4307 36.3144 0.171198 0.985231 0.00335483 \n13.2203 -22.8962 -11.2054 0.609759 -0.318191 -0.725912 \n-60.2315 55.1079 35.2001 0.618836 0.382299 -0.686213 \n-9.33726 -23.4333 -11.0463 -0.809387 -0.586927 -0.0202488 \n57.7383 56.9328 36.0107 -0.263508 0.811062 0.522247 \n53.214 56.1644 36.0307 0.300619 0.793395 0.529295 \n56.2664 56.6742 35.8229 -0.0372833 0.849729 0.525899 \n14.7628 -23.0493 -20.0047 0.536483 -0.539225 0.64917 \n54.6952 57.1437 36.4475 0.127455 0.774103 0.620096 \n-54.4702 57.7012 36.2914 -0.996277 -0.0658356 0.0556501 \n-57.0921 60.6677 35.8258 -0.0992617 0.954888 0.279885 \n-51.4276 62.717 36.1034 -0.715836 -0.690123 -0.106344 \n-52.2258 61.5952 34.7109 -0.490228 -0.770993 -0.406505 \n-53.6661 62.2818 36.0095 0.248347 -0.629167 -0.736527 \n-55.2304 63.8326 35.1569 0.865409 0.1345 -0.482676 \n-3.70416 -4.15895 -29.2475 0.464288 0.0343504 0.885018 \n-52.3416 66.4473 35.2293 -0.00870204 0.935471 0.353298 \n1.39431 32.0154 35.6622 -0.151508 -0.895927 -0.417565 \n1.67889 31.9809 35.1403 -0.851551 -0.439446 -0.285915 \n0.990008 32.0071 35.3645 0.473177 -0.820603 -0.32049 \n-1.59428 32.6131 35.8421 -0.1626 -0.878878 -0.44848 \n-2.10102 33.8586 35.2797 0.853369 -0.391426 0.344307 \n-3.00941 34.4293 35.4893 0.463813 -0.851352 0.245107 \n-34.4311 -21.1531 -11.8472 0.947027 -0.0148314 0.320812 \n4.83109 34.7308 35.2132 -0.927593 -0.339335 0.156281 \n5.55114 35.9205 35.7628 -0.61772 -0.765611 -0.179618 \n-5.27923 35.4832 35.1373 0.661044 -0.550216 0.510179 \n-16.1968 5.96935 -8.00699 0.923871 0.0376543 -0.380846 \n-8.33938 37.6987 35.2993 0.889498 -0.419375 -0.181431 \n57.7255 37.1314 35.3121 -0.173192 -0.966574 0.189046 \n54.454 37.6415 35.1091 0.156578 -0.854606 -0.495107 \n53.0976 38.1411 35.3633 0.448985 -0.618917 -0.644479 \n-3.63013 -8.19845 -28.397 0.559917 0.0711724 0.825486 \n3.14545 -19.0339 -28.5077 -0.569699 -0.450616 -0.687306 \n-8.48947 40.2575 34.3507 0.892768 0.386819 -0.230948 \n34.1553 -21.5348 -19.599 -0.621221 -0.220428 0.751995 \n19.8118 5.83615 -7.22707 -0.286676 -0.0185355 -0.957848 \n4.82761 42.5624 35.3334 -0.157495 0.960124 -0.230992 \n-19.4015 26.0327 -29.1426 0.537726 -0.365171 0.759934 \n3.26698 43.5462 34.5849 -0.798153 0.352596 -0.488495 \n9.19839 -19.6201 -11.7213 0.52518 -0.770475 -0.361323 \n-3.14966 44.5637 35.5144 0.438696 0.362305 -0.822363 \n0.92491 46.009 35.6884 -0.29578 0.514083 -0.805129 \n-1.98971 46.054 35.3964 0.231418 0.515548 -0.825019 \n-3.00847 45.6313 35.2269 0.516864 0.521561 -0.678841 \n0.695309 46.9949 34.7132 -0.0390473 0.630455 -0.775243 \n-0.269403 46.3031 35.5659 0.0720458 0.571526 -0.817415 \n-56.9373 48.1372 35.4318 -0.613481 -0.412946 -0.673139 \n-59.8394 46.9032 34.6522 0.28399 -0.767939 -0.574125 \n61.0809 48.6544 35.0411 -0.967351 0.218825 0.127857 \n-10.6185 -20.8012 -20.3551 -0.679796 -0.455679 0.57466 \n6.50948 -2.08755 -30.5674 -0.12739 -0.448711 0.884551 \n19.6215 7.53645 -7.19436 -0.478782 0.00646657 -0.87791 \n11.9871 -20.748 -19.9268 0.534368 -0.594522 0.600828 \n-62.5954 51.1391 34.9266 0.971443 0.127718 -0.199967 \n-16.713 -53.0565 -26.7545 -0.637732 0.167657 0.75179 \n2.65239 -20.6682 -45.0065 -0.0964404 0.946957 0.306549 \n-30.5814 -20.4291 -19.2548 0.700551 0.0250034 0.713164 \n5.9057 -3.60025 -29.5906 -0.232541 -0.265186 0.935736 \n-61.977 53.3611 35.3764 0.846617 0.52944 0.0541463 \n-55.3687 53.6284 35.3961 -0.703408 -0.480814 -0.523485 \n-60.5739 54.7234 34.8821 0.87784 0.454959 -0.149699 \n58.4687 55.4372 35.5378 -0.699297 0.564423 0.438645 \n52.368 55.3251 35.2671 0.59511 0.649835 0.47282 \n-3.06064 -3.41295 -29.7838 0.125142 -0.551118 0.82499 \n-19.2482 22.2726 -26.9585 0.518747 -0.548682 0.655629 \n-59.8267 56.0533 35.251 0.77161 0.00476097 -0.636078 \n-54.5284 57.2042 35.8582 -0.931043 -0.0889038 -0.353914 \n-60.074 57.4566 34.342 0.894065 0.326997 -0.306139 \n-54.9428 59.5524 35.6709 -0.857484 0.497896 0.129694 \n-55.6945 60.3036 35.7489 -0.424306 0.829512 0.363144 \n-58.1354 60.1503 34.888 0.49489 0.85732 0.141725 \n-54.9613 63.1357 35.5355 0.699492 -0.259314 -0.665933 \n-54.4622 64.794 36.0479 0.814017 0.408505 -0.412917 \n18.2652 7.34905 -7.08489 -0.194275 -0.129169 -0.972406 \n-30.5398 -18.8623 -18.7715 0.77542 0.108167 0.622112 \n9.02571 -2.20515 -29.9078 -0.297138 -0.419861 0.857569 \n-1.52866 31.458 34.6698 -0.172815 -0.783228 -0.597234 \n19.1677 9.24415 -6.91686 -0.557923 -0.111477 -0.822372 \n20.9135 4.63805 -18.4433 -0.812969 0.51166 0.278002 \n-2.18342 32.7477 35.8088 0.806839 -0.584306 -0.0871592 \n-0.914173 32.6258 35.3636 -0.478541 -0.728771 -0.489788 \n-2.1108 33.0601 34.5622 0.998514 -0.0406375 -0.0363081 \n2.76259 33.6427 34.9676 -0.00669114 -0.77444 -0.632612 \n-2.32399 34.0194 34.7237 0.500464 -0.735829 -0.45617 \n51.5168 36.6594 34.4944 0.796154 0.351407 -0.492597 \n-8.0864 36.9963 34.5707 0.666167 -0.744959 0.0354632 \n55.6046 37.4555 34.4158 -0.0422297 -0.999073 -0.00839304 \n53.0639 37.4594 35.0044 -0.135238 -0.308526 -0.941553 \n52.4683 38.2894 34.9227 0.664676 0.0154863 -0.746971 \n52.0804 40.6961 35.6163 0.815295 -0.298159 -0.496382 \n22.2583 -12.1974 -25.4105 0.0494242 0.183884 0.981705 \n51.5159 40.0819 34.7921 0.580147 -0.373595 -0.723779 \n-32.909 -13.8492 -10.8794 0.920655 0.389485 -0.0263868 \n-18.9973 23.6886 -28.17 0.618994 -0.407091 0.671657 \n62.1455 41.4803 35.3746 -0.905472 -0.15838 0.393747 \n61.6047 42.2486 34.3662 -0.86708 -0.20218 0.455297 \n6.75243 42.2911 34.2398 -0.32461 0.920334 -0.218207 \n-27.9673 -53.5874 -26.534 0.585703 0.000780373 0.810526 \n62.5247 44.3111 35.8261 -0.955964 0.14654 0.254283 \n-17.8652 11.7535 -7.16542 0.447673 -0.837195 -0.314154 \n61.6427 45.8195 35.3354 -0.972804 0.171554 0.155635 \n-1.06824 47.0263 34.5418 0.144613 0.667735 -0.730217 \n-18.1059 13.1281 -8.13801 0.945987 -0.321743 -0.0398774 \n50.134 -72.0394 -10.3414 -0.987452 -0.0695257 0.141793 \n-61.1087 47.6177 35.1226 0.446687 -0.783586 -0.431816 \n33.716 -8.21515 -11.0819 -0.680597 0.730043 -0.061845 \n-19.1189 14.5839 -7.92751 0.810426 -0.573563 -0.11931 \n49.8852 49.2984 34.7138 0.949359 -0.0080144 -0.31409 \n-29.1024 -8.31965 -10.8971 0.717628 0.686486 -0.117247 \n61.4506 50.1088 35.9192 -0.952883 0.233024 0.194198 \n60.4187 51.1357 34.7169 -0.906774 0.285717 0.310043 \n2.11342 26.8743 -37.7737 0.535181 -0.761638 0.365361 \n-19.9074 15.7392 -6.53021 0.820738 -0.568224 -0.0592505 \n59.9601 52.979 35.0177 -0.89397 0.359227 0.267905 \n-62.0949 52.6542 34.5172 0.807882 0.589304 0.0069653 \n-56.1252 52.5333 35.2733 -0.904856 -0.257992 -0.338638 \n-54.4953 54.5202 34.9149 -0.846173 -0.271275 -0.458696 \n57.1098 55.9323 34.9618 -0.269031 0.766314 0.583425 \n54.9473 56.4399 35.1754 0.108149 0.81088 0.575133 \n-27.2983 -5.97975 -10.3018 0.727223 0.6789 -0.101198 \n-54.1366 55.8363 35.1641 -0.900784 -0.0878404 -0.425292 \n-53.9167 58.3626 34.1368 -0.933654 0.0181759 -0.357716 \n-54.3121 58.2635 34.98 -0.915959 0.256569 -0.308529 \n-1.58591 -15.6678 -19.697 -0.226476 -0.955852 0.187232 \n-54.4017 61.2584 35.0336 0.272172 -0.536145 -0.799044 \n23.3289 17.1226 -6.49688 -0.834366 -0.551171 0.00659155 \n-51.0921 63.3358 34.6942 -0.901027 -0.403332 0.159605 \n-50.661 63.7262 35.9871 -0.88674 -0.451285 0.100175 \n-50.3183 65.0701 35.1616 -0.915159 -0.0463599 0.400417 \n-54.6829 65.1348 34.1251 0.68029 0.729711 -0.0687527 \n-50.6466 66.2188 35.7775 -0.539307 0.676601 0.501358 \n-53.2767 66.1061 35.2942 0.495679 0.867786 0.0353534 \n0.982595 31.2043 34.0397 0.444717 -0.772906 -0.452596 \n-7.40754 0.908249 -30.6215 0.379848 -0.328376 0.864803 \n0.373308 31.9832 33.8312 0.633426 -0.635762 -0.44111 \n11.3062 1.28175 -29.8894 -0.470682 -0.381128 0.795739 \n2.71365 32.2792 33.6357 -0.0714246 -0.75219 -0.655064 \n27.8221 -4.06865 -10.7315 -0.460373 0.858365 -0.226421 \n2.76357 -14.8191 -18.4938 -0.13411 -0.965198 -0.224516 \n-3.7883 34.4361 34.5748 0.385888 -0.922207 -0.0249851 \n52.9272 35.7774 34.7732 -0.216224 -0.418701 -0.882007 \n52.1262 36.3997 34.96 0.236784 -0.132105 -0.962539 \n4.94655 35.2159 34.4243 -0.776087 -0.587585 0.228984 \n51.2476 35.7111 34.3998 0.416704 -0.146278 -0.897196 \n6.40762 36.2858 34.0025 -0.652027 -0.751053 0.103828 \n-6.84904 36.4066 34.0679 0.47765 -0.87836 -0.0182547 \n55.4937 36.8436 34.1098 -0.369839 -0.35455 -0.858786 \n59.1576 38.1837 34.8484 -0.366644 -0.884022 0.289961 \n60.312 38.5974 34.3895 -0.628214 -0.709927 0.318356 \n8.7723 39.1378 32.5391 -0.954918 -0.292714 0.0495055 \n34.8447 -12.9854 -19.1727 -0.830492 0.115163 0.544995 \n61.2259 40.4156 34.4893 -0.825749 -0.33471 0.453992 \n-28.8589 -12.2538 -19.5354 0.805907 0.180723 0.563785 \n33.6653 -11.1259 -20.0083 -0.76324 0.28545 0.579641 \n8.46211 40.6945 34.3674 -0.974725 0.158569 -0.157377 \n-8.00468 41.3276 33.9676 0.707959 0.627028 -0.325009 \n-10.2662 2.69055 -29.3863 0.509664 -0.285049 0.811782 \n-7.17954 41.7966 34.4704 0.399981 0.833057 -0.382142 \n-15.5813 -61.9025 -18.5187 -0.69208 -0.673431 -0.259839 \n40.2547 -56.9752 -16.9379 -0.974033 -0.132046 0.18391 \n-5.50453 42.3267 34.2926 0.333802 0.877956 -0.343175 \n49.7086 43.2529 34.0124 0.730572 -0.166155 -0.662311 \n25.3555 -0.841751 -12.5504 -0.794351 0.591242 -0.139427 \n23.4243 -11.0499 -25.4159 0.00504358 0.235578 0.971842 \n2.92541 44.7096 34.7695 -0.730828 0.235554 -0.640628 \n-4.04104 44.878 34.7857 0.796492 0.289615 -0.530777 \n61.5903 45.1702 34.6522 -0.942658 -0.0216581 0.333056 \n50.3784 44.7305 34.9407 0.774953 -0.102885 -0.623588 \n-28.2859 -11.0803 -19.6085 0.663775 0.453207 0.594984 \n33.4918 -9.14145 -19.429 -0.603402 0.487853 0.630797 \n-27.5544 -10.4133 -19.5535 0.398165 0.715184 0.574435 \n2.12773 46.291 34.6981 -0.440562 0.401421 -0.802973 \n-2.68091 46.7253 34.2972 0.359529 0.54248 -0.759246 \n61.859 46.9357 34.127 -0.991157 0.127846 -0.0355449 \n1.58236 47.7169 34.285 -0.175192 0.463774 -0.868459 \n-25.6339 -8.97595 -19.7594 0.524915 0.601205 0.602509 \n-56.4018 47.9205 34.6984 -0.743572 -0.523659 -0.415791 \n-62.0013 48.0051 34.4154 0.643687 -0.599376 -0.475831 \n4.91702 47.4858 34.4691 -0.346027 -0.304644 -0.887388 \n4.58736 49.0614 34.4531 0.409682 0.263773 -0.873261 \n-18.6851 2.75425 -11.8608 0.586372 0.770309 -0.250585 \n11.1741 3.74985 -30.3887 -0.436564 -0.134735 0.889527 \n5.61842 49.4119 34.5939 -0.0821532 0.18294 -0.979686 \n49.9187 50.5301 34.381 0.978194 -0.0819309 -0.190849 \n-55.5028 52.0322 34.3182 -0.798328 -0.262873 -0.541822 \n-53.8422 53.827 33.8504 -0.814506 -0.339243 -0.470632 \n52.9093 55.3727 34.3626 0.426731 0.853981 0.297687 \n57.1639 55.3361 33.8435 -0.331174 0.742033 0.582848 \n55.7445 55.472 34.0522 0.0087692 0.790165 0.612831 \n-59.6361 58.4958 33.7713 0.797292 0.580617 -0.164954 \n-54.1714 59.2016 34.2904 -0.646119 0.187742 -0.739786 \n-54.6353 59.3452 34.4727 -0.342197 0.700332 -0.626447 \n-56.5646 59.8811 34.2138 -0.255784 0.902185 0.347328 \n-53.6578 61.5155 35.2366 -0.262399 -0.680677 -0.683978 \n-55.171 61.4532 34.578 0.674875 -0.304223 -0.672303 \n-51.1033 65.4314 34.2811 -0.443275 0.736577 0.510845 \n-9.71938 26.6877 -35.1247 0.399618 -0.295133 0.867872 \n1.50662 31.3465 34.567 -0.578867 -0.707089 -0.406126 \n-2.13724 31.7071 34.4332 0.928705 -0.332625 -0.163915 \n2.22745 32.4074 33.9932 -0.721245 -0.507845 -0.471062 \n-0.0862632 32.4345 34.2779 0.0595207 -0.895205 -0.441661 \n4.57893 33.6157 34.6089 -0.955586 -0.289834 0.0533907 \n-2.16851 32.9153 33.7388 0.918594 -0.328996 -0.218969 \n-2.97149 33.1271 33.3283 0.150704 -0.815914 -0.558186 \n-3.67483 34.0398 34.1661 0.381316 -0.670804 -0.636097 \n51.4677 34.3969 34.1027 -0.00998035 -0.615016 -0.788451 \n-4.67945 35.1336 34.1178 0.589127 -0.782225 -0.202616 \n4.64709 35.5438 33.5968 -0.669616 -0.69909 0.250773 \n-5.81373 35.457 33.6019 0.57634 -0.809818 0.10967 \n28.7299 24.6793 -8.05234 -0.670161 -0.721343 0.174781 \n53.9797 35.9178 34.3551 -0.29404 -0.320486 -0.900461 \n-18.1975 12.566 -11.7626 0.952133 -0.299726 -0.0600526 \n7.12413 37.2759 34.6437 -0.713355 -0.696891 0.0739472 \n57.3961 37.7468 33.958 -0.322399 -0.935437 0.144969 \n51.7447 38.0667 33.7211 0.823615 -0.129235 -0.552229 \n-11.1163 6.19485 -29.6108 0.636309 -0.0309162 0.770814 \n-19.8057 15.6665 -11.3487 0.8649 -0.501751 -0.0139433 \n8.31846 41.5921 33.0462 -0.740922 0.656789 -0.140223 \n22.0175 15.9827 -11.3804 -0.766719 -0.635305 0.0923487 \n3.08984 -31.2623 -54.1973 0.321743 -0.703228 -0.633996 \n-4.6817 42.911 34.2098 0.805043 0.440971 -0.396801 \n23.6304 27.8727 -27.0316 -0.717301 -0.182295 0.672494 \n12.0898 7.02835 -29.9835 -0.50818 0.0718473 0.858249 \n-4.53041 45.1424 33.3227 0.840001 -0.0117314 -0.542458 \n3.36822 45.3746 34.2678 -0.365407 -0.0615002 -0.928814 \n0.385937 61.9118 -29.1082 0.0863215 0.76235 0.641382 \n-19.8084 -1.66505 -18.6682 0.912 0.2498 0.325354 \n48.9861 45.6182 33.6941 0.746776 -0.0267764 -0.664536 \n-58.0057 46.1442 34.252 -0.520393 -0.77327 -0.362277 \n49.7061 47.7612 34.2328 0.843883 0.080865 -0.530398 \n-21.1073 17.526 -10.7871 0.820278 -0.567724 -0.0695198 \n3.30405 46.7835 34.2013 0.0281817 0.157652 -0.987092 \n2.97587 47.7837 33.8337 0.171874 0.492696 -0.85306 \n11.9772 8.44125 -30.1548 -0.521442 0.0839313 0.849149 \n23.8394 18.5941 -11.8481 -0.826871 -0.543396 0.144935 \n-0.761152 48.059 33.8065 0.135941 0.755291 -0.641136 \n21.6741 1.11655 -19.46 -0.892648 0.214045 0.396691 \n1.11926 48.569 33.632 0.0725057 0.748926 -0.658675 \n-62.7761 48.2169 33.6267 0.912453 -0.331692 -0.239603 \n-18.8094 1.42255 -18.8078 0.912798 0.327471 0.244055 \n-18.2041 1.27835 -20.2432 0.81828 0.314712 0.481014 \n6.63559 49.1624 34.1474 -0.5918 -0.251337 -0.7659 \n-11.0538 7.57835 -29.9466 0.641666 0.0542643 0.765062 \n4.78081 -25.9104 -55.5266 -0.139894 0.555043 0.819974 \n-63.2311 50.2085 33.6185 0.901397 -0.119302 -0.416234 \n49.5778 51.2873 33.2685 0.994437 0.0269763 0.101817 \n-55.5531 49.8369 34.4485 -0.860075 -0.158356 -0.484968 \n49.5326 52.0464 34.1403 0.963362 0.164526 -0.211813 \n59.9522 52.4312 33.8231 -0.811374 0.393401 0.432328 \n50.9192 52.7144 33.2567 0.434351 0.766121 0.473707 \n49.7831 52.396 33.6615 0.627201 0.697687 0.346196 \n58.9582 53.7454 34.004 -0.675045 0.580694 0.455092 \n-37.7495 26.8799 -7.29608 0.580997 -0.684902 0.439718 \n50.4848 52.9485 34.7642 0.738543 0.638522 0.216432 \n51.5536 54.1016 34.5652 0.740543 0.594624 0.313078 \n29.0725 42.0945 -17.569 -0.9537 -0.0123678 0.300506 \n59.0191 54.5586 34.8492 -0.672791 0.604183 0.426983 \n-53.8683 56.0109 34.0269 -0.939986 -0.00348791 -0.341196 \n-25.5875 24.3223 -10.4621 0.70521 -0.667681 0.238499 \n-54.2011 60.0823 34.169 -0.322302 -0.388531 -0.863229 \n-55.5823 59.3656 34.2713 -0.329278 0.93086 0.158356 \n-54.7834 60.3404 34.2642 0.555639 -0.255867 -0.791074 \n-52.6807 60.6338 33.7704 -0.519658 -0.490466 -0.69957 \n-51.7275 62.1485 33.9588 -0.879881 -0.465257 -0.0966743 \n-26.4224 25.0552 -11.1929 0.507279 -0.799265 0.322247 \n-53.9757 65.518 33.4115 0.336677 0.909563 0.243607 \n-1.46976 31.0788 33.8636 -0.130188 -0.901913 -0.411831 \n-0.814346 31.7703 34.0406 -0.502922 -0.698875 -0.508569 \n-18.3112 55.5191 -24.1104 0.716211 0.544664 0.43633 \n3.86837 32.2971 33.599 -0.346238 -0.795599 -0.497134 \n-2.36481 32.5528 32.3773 0.718038 -0.599923 -0.352864 \n-21.218 -63.7132 -29.2373 0.259372 -0.156479 0.953017 \n-3.75406 32.9491 33.2707 0.265023 -0.74886 -0.607431 \n53.4559 34.9569 33.8285 -0.222835 -0.652308 -0.724458 \n50.6354 34.5331 33.9173 0.645286 -0.475232 -0.598131 \n-12.0538 12.4327 -29.9319 0.727521 0.104336 0.678105 \n50.2374 35.1439 33.878 0.78579 0.294265 -0.544006 \n55.3327 35.3108 33.7537 -0.379887 -0.535052 -0.754589 \n-17.8077 9.50025 -20.2608 0.941209 -0.131547 0.31116 \n56.2431 37.2693 33.8536 -0.384772 -0.71155 -0.587918 \n-8.58325 37.7677 33.9864 0.921825 -0.387579 0.00460404 \n50.9903 38.1193 32.867 0.500578 -0.518466 -0.693263 \n6.16844 -23.3504 -39.9021 -0.996547 0.0768014 0.0315467 \n50.1328 39.9728 33.7586 0.620247 -0.355138 -0.699407 \n50.2722 40.7778 34.2515 0.661071 -0.121945 -0.740347 \n50.0733 42.2393 33.9947 0.716888 -0.122821 -0.686285 \n2.72164 48.8055 -37.6437 -0.0967819 0.253625 0.962449 \n-35.1529 27.5585 -10.7032 0.552075 -0.464464 0.69245 \n30.8037 28.3207 -10.7773 -0.449355 -0.50699 0.735555 \n-18.3426 12.5203 -18.7333 0.979248 -0.0713615 0.189688 \n-11.2904 14.1538 -28.9797 0.54403 0.619981 0.56538 \n4.16779 43.1043 33.9201 -0.331734 0.882047 -0.334583 \n4.24144 43.5155 33.2542 -0.480165 0.595645 -0.643931 \n61.2081 45.1033 33.3656 -0.90224 0.0356212 0.429762 \n3.63623 44.6452 33.8798 -0.834584 -0.148113 -0.530596 \n4.32892 45.8292 33.8379 -0.674853 -0.484839 -0.556332 \n-3.81075 45.8279 34.0665 0.645191 0.377357 -0.664327 \n25.3058 50.9878 -7.13212 -0.530288 0.837879 -0.129432 \n19.8064 15.1856 -19.4157 -0.888034 -0.278141 0.366106 \n-17.9689 15.2265 -20.3745 0.907336 -0.278685 0.314763 \n-4.49611 46.951 33.4733 0.210046 0.173119 -0.962242 \n-5.25155 46.4418 33.3963 0.147182 -0.284345 -0.947357 \n-56.4328 46.6364 32.5213 -0.654743 -0.633729 -0.411944 \n22.6734 -10.1282 -25.4366 -0.0803998 0.199938 0.976504 \n6.5183 48.6062 33.4159 -0.700667 -0.518035 -0.490619 \n-6.46684 47.2402 33.6515 0.136995 -0.133076 -0.981592 \n-62.4999 47.6775 33.3015 0.54824 -0.823739 -0.144525 \n61.4796 47.8881 33.759 -0.816132 0.436162 0.379067 \n-20.1205 17.7307 -19.2927 0.452992 -0.890273 0.0470342 \n49.204 48.6859 33.0214 0.765638 0.176499 -0.618585 \n49.7222 49.6967 33.1173 0.959585 0.190033 -0.207567 \n3.73036 49.9896 33.3471 0.556732 0.575169 -0.599359 \n5.05609 50.3598 33.8495 0.264995 0.673991 -0.689575 \n33.1754 32.1929 -11.346 -0.500394 -0.0426169 0.864749 \n-18.4309 9.14205 -18.0954 0.974928 -0.0736636 0.209975 \n13.1968 16.1123 -29.2591 -0.475728 -0.336261 0.81278 \n6.40531 50.4254 33.983 -0.185645 0.593533 -0.783106 \n24.8001 -46.4678 -19.654 0.678181 0.129919 0.72332 \n-36.7547 31.91 -11.2307 0.641968 -0.0362437 0.765874 \n-22.3067 18.2799 -20.7374 0.768756 -0.615454 0.173869 \n-54.8565 51.9141 33.2501 -0.779334 -0.464188 -0.420913 \n-62.6426 52.1621 33.4384 0.804731 0.562789 -0.188883 \n-11.2523 16.4146 -29.084 0.4602 -0.680316 0.570426 \n51.9959 54.4607 33.5292 0.731725 0.616555 0.290582 \n-60.7545 54.0144 34.1543 0.82026 0.56222 0.105272 \n-37.9748 32.7514 -10.0402 0.744657 -0.0135116 0.667311 \n54.0645 55.4063 34.274 0.0792706 0.858556 0.506554 \n-22.8582 19.2732 -19.9538 0.941092 0.12368 0.314721 \n-60.9677 56.0157 34.2132 0.914079 0.0924816 -0.394849 \n-61.0149 56.9076 33.1941 0.878981 0.432408 -0.201035 \n-53.7427 57.8252 33.2282 -0.816055 -0.213246 -0.537197 \n23.7336 20.0504 -18.6633 -0.414088 -0.909373 0.0396516 \n29.2206 44.5368 -16.5894 -0.921131 0.276738 0.27374 \n-53.3286 59.1399 33.6249 -0.573408 -0.31082 -0.758019 \n-55.3502 59.7669 33.759 0.496581 0.414712 -0.76251 \n-57.8292 59.828 33.5701 0.0914401 0.960611 0.262423 \n-9.03407 44.5332 -37.1229 0.37877 0.205124 0.902473 \n-56.3363 60.7673 32.9165 0.791826 -0.126289 -0.597547 \n-56.0576 62.5024 33.7384 0.900911 0.0331379 -0.432736 \n40.5023 35.505 -6.15729 -0.747046 0.160288 0.645159 \n-36.8745 34.7691 -11.2565 0.667895 0.0872623 0.739122 \n25.9708 21.7435 -19.1219 -0.92903 0.111141 0.352917 \n-2.00865 31.1649 33.509 0.86799 -0.486394 -0.100069 \n0.0179428 31.3673 33.0465 0.102528 -0.726785 -0.679169 \n34.1194 33.6551 -10.678 -0.40851 -0.00320853 0.912748 \n-40.6283 36.2775 -7.24194 0.65076 0.339404 0.679202 \n-4.34683 33.2853 32.995 0.996471 0.0495281 -0.0677752 \n4.13666 33.8921 31.9489 -0.992051 -0.119102 0.0406117 \n52.9118 33.999 32.9644 -0.0861329 -0.801675 -0.591522 \n54.4699 34.3595 33.0951 -0.23798 -0.704996 -0.668091 \n50.8107 33.967 33.2292 0.103369 -0.833023 -0.543495 \n-4.1842 34.1637 33.3695 0.923725 -0.358843 -0.13403 \n49.8651 35.08 32.7692 0.866651 0.389937 -0.311233 \n-4.68659 34.9394 33.1335 0.615195 -0.739759 0.272565 \n56.564 35.8959 33.1389 -0.470849 -0.416815 -0.777539 \n4.95193 35.6376 33.2628 -0.298318 -0.793261 -0.530795 \n6.60868 36.0106 33.06 -0.737171 -0.599895 -0.310975 \n57.6925 37.4286 33.0169 -0.508662 -0.391547 -0.766782 \n-40.1655 38.2982 -6.63837 0.655273 0.428565 0.622053 \n14.4985 18.2309 -29.5876 -0.47667 -0.584509 0.656609 \n8.30424 38.0983 33.6525 -0.777805 -0.625449 0.0619054 \n7.13506 37.3531 33.1432 -0.764073 -0.63163 0.13129 \n58.1024 38.0793 33.321 -0.486153 -0.865848 -0.118165 \n59.6066 38.7903 33.2088 -0.669014 -0.679388 0.301418 \n60.1614 41.3326 32.2457 -0.882008 -0.251762 0.398343 \n-35.9255 36.9683 -11.2607 0.678179 0.321732 0.660728 \n61.3606 43.0829 33.1554 -0.901913 -0.0835967 0.42375 \n7.60131 42.2796 32.9798 -0.555149 0.819711 -0.14101 \n6.60789 42.8241 32.6194 -0.412468 0.82974 -0.376034 \n-5.77849 42.8793 32.3265 0.460929 0.789124 -0.40599 \n-5.01818 43.1833 32.9591 0.863235 0.270299 -0.426337 \n4.24987 44.4351 32.5939 -0.671573 0.17761 -0.719336 \n5.64879 -17.2964 -29.6699 -0.814169 -0.506943 -0.283085 \n-24.2455 30.3875 -19.3854 0.895373 -0.226148 0.383621 \n4.27881 45.3045 32.9188 -0.475119 -0.527893 -0.703982 \n-24.6208 47.0131 -17.5799 0.843199 0.528173 0.100238 \n-5.93258 46.3501 33.0698 0.622426 -0.636322 -0.455719 \n-38.1912 39.593 -6.96522 0.516957 0.713823 0.472454 \n25.5266 20.7199 -10.3737 -0.503605 -0.863519 -0.0267673 \n37.5314 39.8941 -7.30126 -0.406661 0.535694 0.74004 \n-7.03218 47.2952 33.0977 0.741815 -0.579047 -0.338254 \n-0.899176 -24.4752 -46.2719 0.958166 0.109939 0.264256 \n61.6245 46.6006 33.4123 -0.830648 -0.0269287 0.556147 \n5.19812 46.6117 33.446 -0.516029 -0.382184 -0.766583 \n48.7043 46.6301 33.028 0.789931 0.195 -0.581363 \n-2.79735 47.7747 33.686 0.21287 0.659141 -0.721262 \n-3.95706 47.9333 33.0715 -0.195182 0.552112 -0.810602 \n6.87202 48.5323 32.931 -0.678516 -0.210695 -0.703722 \n-24.977 33.2771 -20.0141 0.894671 -0.276676 0.350735 \n-7.29866 48.3922 33.3613 0.548349 0.185569 -0.815401 \n-5.04919 48.0896 33.4695 -0.220572 0.257983 -0.940634 \n-16.104 18.6248 -29.1048 0.483181 -0.567286 0.666875 \n-11.7097 26.9046 -34.8041 0.499748 -0.261271 0.825826 \n-55.3736 49.2785 33.5218 -0.893434 -0.287472 -0.34516 \n37.2439 41.4328 -6.49134 -0.348824 0.63617 0.688193 \n7.37115 49.8645 33.5747 -0.780515 -0.188242 -0.596122 \n20.4456 -10.3566 -25.597 -0.144108 0.187417 0.971652 \n-34.2052 41.1582 -10.1057 0.532371 0.688469 0.492536 \n29.324 35.4857 -19.7853 -0.943026 -0.326613 0.063458 \n60.2105 50.0019 32.9922 -0.903094 0.24523 0.35254 \n59.4545 51.5378 32.6665 -0.846217 0.35872 0.394 \n4.38339 50.9227 32.6885 0.393901 0.810002 -0.43444 \n-55.1325 51.16 33.3074 -0.938375 -0.118071 -0.324825 \n-31.641 41.7827 -10.2873 0.278872 0.798043 0.534189 \n4.17114 -18.1786 -28.9306 -0.641549 -0.632918 -0.433392 \n-61.1857 53.7054 32.654 0.747123 0.648127 -0.147441 \n57.5574 54.1597 33.0178 -0.450669 0.66732 0.592942 \n29.6114 42.6902 -11.3718 -0.995881 0.0274015 -0.0864295 \n-60.7897 54.6164 32.9618 0.969385 -0.0243323 -0.244338 \n55.1143 54.3722 32.6313 -0.0612282 0.805649 0.589221 \n53.2036 54.99 32.8772 0.126016 0.897197 0.423271 \n16.9545 35.0581 -35.7435 -0.49679 0.420847 0.759004 \n15.0771 36.07 -36.0798 -0.421723 0.47963 0.769483 \n24.4067 30.6865 -26.7122 -0.700603 -0.109885 0.705039 \n20.0072 20.5255 -29.429 -0.714042 -0.241804 0.657019 \n-57.5783 59.7673 32.5827 0.291575 0.936654 -0.19407 \n-51.8415 59.4762 32.7726 -0.755566 -0.27497 -0.594568 \n-55.7643 60.2141 33.4544 0.613908 0.164579 -0.77203 \n-25.1241 38.5427 -20.2546 0.97804 0.0369407 0.205117 \n-55.613 64.069 33.955 0.855855 0.479857 -0.193002 \n-21.3192 52.3939 -7.44374 0.465475 0.815841 -0.343128 \n-52.9293 65.5889 33.4726 -0.199524 0.863487 0.463228 \n-49.3016 67.3271 33.1112 -0.412037 -0.663029 -0.624995 \n-49.4913 67.6966 33.3776 -0.0976727 0.0541696 -0.993743 \n-50.0007 68.3048 32.9333 0.624376 0.461049 -0.630546 \n-27.3946 45.0519 -10.4786 0.606743 0.662578 0.439151 \n-49.2879 68.5449 33.0681 -0.227727 0.719267 -0.65635 \n0.965712 30.5247 32.6456 0.130736 -0.783422 -0.607584 \n-0.889763 30.768 32.6839 0.0434512 -0.839629 -0.54142 \n2.18815 31.4069 32.8719 -0.649783 -0.612476 -0.450173 \n-24.8148 41.1478 -19.9327 0.982726 0.184425 0.0154015 \n4.10881 32.2527 32.8916 -0.968482 -0.238214 0.0727802 \n-4.23064 32.639 32.3399 0.573044 -0.765788 -0.291872 \n49.8792 33.6504 32.2488 0.449726 -0.68794 -0.569636 \n4.25858 34.658 32.802 -0.960781 -0.218337 0.170965 \n-26.5828 46.0791 -10.1487 0.853104 0.493458 0.169445 \n-4.60441 35.5959 32.2344 0.548252 -0.781636 0.29743 \n28.0919 43.5282 -19.5175 -0.905029 0.327951 0.270871 \n57.9707 35.9316 32.526 -0.472123 -0.458964 -0.75263 \n-6.69581 36.6247 32.7146 0.553267 -0.820844 0.141812 \n5.40984 -22.2773 -44.782 -0.877538 0.476346 0.0549772 \n51.0757 36.9865 32.7123 0.847916 0.426358 -0.315053 \n-8.16455 37.3692 32.7702 0.658346 -0.739898 0.138319 \n-25.5199 43.3192 -19.583 0.937041 -0.0681659 0.342501 \n16.0543 57.5625 -24.7384 -0.444936 0.657599 0.607943 \n59.4285 38.4702 32.3402 -0.717585 -0.462859 -0.520417 \n-24.6816 50.1423 -11.4834 0.729309 0.65055 -0.211881 \n-8.78913 38.7253 31.812 0.975171 -0.216801 0.0451588 \n49.6796 39.1451 33.1066 0.625857 -0.433279 -0.648516 \n59.9356 39.9969 32.4931 -0.935913 -0.300221 0.184212 \n48.8233 39.9233 31.9426 0.744428 -0.206538 -0.634956 \n27.5051 46.0733 -20.0308 -0.780304 0.224394 0.583758 \n49.4039 41.0027 33.0496 0.750928 -0.153703 -0.642248 \n-7.46697 42.1515 32.9294 0.389084 0.881738 -0.266743 \n6.59714 43.2223 31.9511 -0.707289 0.173234 -0.68537 \n49.0545 44.379 33.3078 0.718842 -0.159938 -0.676525 \n29.0632 43.0053 -8.04733 -0.663043 0.715869 0.218875 \n-17.6584 24.5372 -29.5235 0.7642 -0.323751 0.557838 \n-57.1744 46.0807 32.2093 -0.317107 -0.887229 -0.335064 \n-58.1775 45.6681 32.829 -0.23088 -0.966132 -0.115255 \n-58.7615 45.8794 33.702 0.353498 -0.889231 -0.290358 \n-60.8073 47.09 33.7662 0.449575 -0.861842 -0.234757 \n7.01341 47.358 32.7876 -0.484341 -0.115817 -0.86718 \n25.5919 52.4744 -11.002 -0.747032 0.430209 -0.506817 \n-15.0996 57.6462 -24.9925 0.819455 0.524735 0.230536 \n60.5046 49.1287 33.6808 -0.888023 0.268594 0.373192 \n26.1855 48.177 -19.8913 -0.867115 0.384463 0.3167 \n2.1513 49.1438 32.7974 -0.0501255 0.687345 -0.724599 \n-4.83454 49.5809 32.6212 -0.379197 0.633305 -0.674637 \n-6.31896 48.891 33.4455 0.0122296 0.483144 -0.875455 \n7.99695 50.2296 32.6313 -0.901 -0.161571 -0.402609 \n59.6853 49.7458 31.8714 -0.899093 0.219641 0.378669 \n29.2069 45.2682 -7.24006 -0.971389 -0.2259 -0.0732969 \n5.8334 51.3796 32.6368 0.0472 0.935498 -0.350165 \n21.4533 57.2039 -11.5306 -0.572765 0.78995 -0.218906 \n23.6289 32.868 -27.8091 -0.727554 -0.167953 0.665174 \n19.6838 58.4172 -11.4701 -0.795784 0.563149 0.22269 \n-18.4676 57.8164 -10.7917 0.903937 0.42269 -0.065044 \n-32.8203 -50.2654 -17.1149 0.965501 -0.158492 -0.20661 \n-61.1177 55.9846 32.5304 0.933079 0.0372878 -0.357733 \n-15.6323 60.2899 -10.4146 0.913318 0.284338 -0.291551 \n-56.4664 59.6756 33.2255 0.122167 0.93983 -0.319053 \n-58.9426 59.2684 33.1904 0.573709 0.81905 0.00394787 \n-11.4974 35.6215 -36.371 0.318896 -0.0365977 0.947083 \n18.3093 60.2527 -11.1155 -0.835043 0.532129 -0.139788 \n-52.0965 61.0316 33.3426 -0.862672 -0.213621 -0.458436 \n-51.679 61.7201 32.8469 -0.962816 -0.104259 -0.249227 \n-51.3653 63.8274 32.3242 -0.992637 0.0278132 0.117895 \n-51.3567 63.2818 33.3186 -0.973214 -0.222867 0.0564289 \n-51.7463 64.651 32.4616 -0.458238 0.735916 0.498442 \n-50.2597 67.1003 33.0071 0.510964 -0.252867 -0.821568 \n-48.719 68.5542 32.3472 -0.907624 0.399331 0.129435 \n22.518 -49.3881 -16.7567 0.947969 0.00939457 0.318223 \n1.61387 30.5684 32.5017 -0.420513 -0.755183 -0.50286 \n-11.6589 29.3314 -35.4735 0.531062 -0.220356 0.818179 \n-23.1083 -63.9912 -28.476 0.451615 -0.181311 0.873596 \n2.74558 31.0012 31.9807 -0.410399 -0.688936 -0.597445 \n21.0847 56.1859 -18.9485 -0.646295 0.688006 0.330078 \n54.958 33.9237 32.4987 -0.451635 -0.744084 -0.492306 \n26.2994 50.5487 -7.02079 -0.366455 0.87503 -0.31628 \n52.0064 33.0709 31.5761 -0.00648531 -0.865877 -0.500215 \n49.6236 34.3592 32.5057 0.768692 -0.267173 -0.581147 \n4.45053 34.8832 32.4938 -0.306845 -0.710618 -0.633142 \n6.1374 34.7896 32.134 -0.230324 -0.693083 -0.683071 \n-5.43763 35.8581 32.3143 0.480294 -0.872885 0.0859641 \n50.2369 36.3749 31.3224 0.867453 0.219992 -0.446239 \n58.4956 36.1432 32.1153 -0.770414 -0.52331 -0.364155 \n20.1352 57.4446 -20.1188 -0.711824 0.627941 0.314637 \n15.4417 36.478 -35.7908 -0.394181 -0.233917 0.888766 \n58.6816 37.7456 32.3526 -0.604894 -0.368671 -0.705822 \n7.58274 38.5758 31.2251 -0.826139 -0.445309 0.345246 \n48.4322 41.0827 32.1345 0.70009 -0.237883 -0.673265 \n48.5097 42.409 32.429 0.703889 -0.129807 -0.698348 \n-7.25124 42.6135 31.4359 0.472931 0.82741 -0.302868 \n-8.7846 66.3559 -12.6865 0.451432 0.879831 0.148679 \n47.8593 45.3251 32.5842 0.794578 0.0229115 -0.60673 \n-5.33366 44.9736 31.7345 0.691079 -0.339002 -0.638347 \n60.2851 44.271 31.4625 -0.925744 0.10973 0.36188 \n-19.8902 30.2554 -30.247 0.592568 -0.255407 0.763957 \n6.53489 44.6143 31.6128 -0.548687 -0.127047 -0.826318 \n60.271 46.3967 32.103 -0.876743 0.0525488 0.47808 \n6.73868 45.8139 32.6424 -0.442143 -0.462171 -0.768705 \n7.81303 46.9156 32.0261 -0.811966 -0.182494 -0.554443 \n47.6626 46.7986 31.4864 0.834831 0.119593 -0.537358 \n29.8651 -71.335 -25.6985 -0.145814 0.230638 0.962052 \n-1.56105 68.5714 -11.5161 -0.0419855 0.996556 0.0715032 \n-61.1112 46.9092 32.4209 0.488041 -0.850097 -0.197866 \n60.5025 47.6815 32.5641 -0.809426 0.224172 0.542749 \n48.3222 47.6935 32.3626 0.663702 -0.0934499 -0.742137 \n47.432 48.2624 32.0254 0.335555 -0.541945 -0.770518 \n-62.6841 48.0316 31.3964 0.773794 -0.622396 -0.117755 \n-5.04091 -5.58595 -28.4912 0.339841 -0.199862 0.919001 \n-7.88734 48.3896 32.4924 0.844914 -0.43937 -0.305081 \n48.952 49.235 32.5059 0.431409 0.62466 -0.650911 \n-13.9285 60.9639 -19.5693 0.518771 0.710507 0.475453 \n-3.34295 48.7953 31.9966 -0.00727002 0.789318 -0.613941 \n-54.7863 48.1159 31.1812 -0.88045 -0.203483 -0.428255 \n-8.34916 49.2325 32.0629 0.8423 0.115807 -0.526421 \n14.9913 58.5307 -25.6913 -0.613973 0.607472 0.503999 \n2.9769 69.2243 -10.0388 -0.0533113 0.998544 -0.00822998 \n2.76088 49.1615 32.9564 0.517083 0.521377 -0.678816 \n1.66359 -26.6859 -38.1682 -0.0739614 -0.975713 -0.206189 \n3.15744 50.6246 31.6126 0.527463 0.709344 -0.467562 \n49.7362 50.274 32.1348 0.525336 0.663736 -0.532426 \n-63.4984 50.2866 32.6518 0.998038 -0.0622612 -0.00665536 \n49.7437 50.7008 32.6226 0.863735 0.265639 0.428249 \n-35.647 -75.4589 -10.6098 0.0401413 -0.998972 -0.0210535 \n18.1564 -5.53805 -25.4313 -0.304348 0.0843878 0.948816 \n50.1412 51.8257 32.7338 0.576775 0.563162 0.591759 \n7.25283 50.9148 33.1279 -0.387047 0.791849 -0.472408 \n51.5462 51.8742 31.8288 0.514061 0.697686 0.498975 \n58.3144 52.7301 32.1146 -0.554669 0.673743 0.488275 \n-22.3323 52.0809 -17.2321 0.864588 0.4728 0.170141 \n-62.5039 52.6573 32.1864 0.822346 0.568948 0.00668768 \n58.2042 53.5361 32.7075 -0.63646 0.539698 0.551039 \n52.2761 54.09 32.5885 0.63107 0.508909 0.585459 \n0.294014 -26.371 -38.1985 0.409146 -0.899862 -0.151155 \n21.0532 55.3288 -7.8044 -0.9288 0.363149 -0.0738401 \n56.347 54.4552 32.8884 -0.119205 0.786132 0.606455 \n-53.2896 54.9196 32.7873 -0.962547 -0.0775136 -0.259796 \n22.6304 34.1179 -29.8624 -0.889595 0.0520423 0.453776 \n-53.3013 56.6738 32.3247 -0.812477 -0.209304 -0.544127 \n-60.0684 58.5109 32.506 0.770519 0.636087 -0.0411617 \n-59.3348 59.1557 32.0852 0.580987 0.808206 0.0962083 \n-51.1674 60.9137 31.7852 -0.947625 -0.0694436 -0.311744 \n-56.8448 61.5844 31.8733 0.840856 0.311788 -0.442436 \n-51.3853 62.5359 31.8029 -0.978945 0.0504274 -0.197798 \n-56.2074 63.4212 32.2604 0.886897 0.446403 -0.118904 \n-51.8632 63.5494 31.1328 -0.568527 0.689932 0.448075 \n22.7383 34.8422 -29.1533 -0.863912 0.0208067 0.503213 \n-55.2797 64.5588 32.3184 0.57296 0.803561 0.161268 \n-53.4856 65.2882 32.6567 -0.0300858 0.893735 0.447584 \n11.5436 22.7311 -35.4913 -0.398439 -0.0529288 0.915667 \n-48.5792 67.7674 32.6069 -0.871071 -0.227179 -0.435459 \n-51.0459 68.0721 31.6692 0.782793 0.423782 -0.455679 \n13.164 -21.8396 -19.6382 0.620683 -0.491098 0.611208 \n27.5795 23.0451 -11.369 -0.985233 -0.171015 -0.0083089 \n-0.0124498 29.7214 31.6423 0.0955575 -0.873804 -0.476796 \n-1.44765 29.9475 31.3088 0.369725 -0.771932 -0.517131 \n3.93801 31.8118 31.9848 -0.85999 -0.456312 -0.228466 \n-3.33282 32.0125 31.3092 0.180259 -0.797416 -0.575877 \n50.9306 33.185 32.1188 0.0724996 -0.857514 -0.509327 \n56.138 34.6989 32.1709 -0.436996 -0.713527 -0.547644 \n6.26832 34.6357 31.7336 -0.955163 -0.295324 0.021164 \n-4.12333 35.1021 31.8784 0.864487 -0.496332 0.0794792 \n57.2262 34.7751 31.6461 -0.612121 -0.683712 -0.397297 \n6.58371 35.6189 32.3367 -0.974593 -0.199968 0.100904 \n58.8593 36.8395 31.766 -0.709732 -0.45678 -0.536314 \n6.76565 37.4267 31.9788 -0.927237 -0.353132 0.124617 \n-8.02345 37.6098 31.2908 0.397462 -0.815753 0.420204 \n49.7693 37.9419 31.9286 0.581445 -0.487859 -0.651088 \n7.48317 38.2136 31.9013 -0.777848 -0.618566 0.111036 \n60.1118 39.2863 31.6944 -0.870353 -0.0388618 -0.490892 \n-17.6259 58.7103 -9.71193 0.774942 0.552801 -0.306391 \n-28.894 -74.6651 -12.5703 -0.0681512 -0.997362 0.0249713 \n-8.57025 41.6953 31.2785 0.920475 0.364261 -0.141561 \n-8.29935 41.7429 32.3147 0.716254 0.661812 -0.221327 \n47.3441 42.6838 31.4566 0.771462 -0.142623 -0.620085 \n-5.64303 43.868 31.6368 0.648121 0.300305 -0.699826 \n18.3099 59.5499 -7.54343 -0.721417 0.591479 -0.360153 \n5.9683 43.752 32.2016 -0.418377 0.464772 -0.780351 \n47.6833 43.8444 31.864 0.748937 -0.110979 -0.653281 \n5.43268 44.6805 32.0902 -0.330002 -0.338237 -0.881303 \n24.2357 38.3744 -29.1769 -0.796087 -0.0227682 0.604754 \n-58.8288 45.67 31.9258 0.273431 -0.918988 -0.28407 \n35.075 -74.3472 -11.4615 -0.0942579 -0.994017 0.0551927 \n4.5734 67.2462 -18.0804 -0.407492 0.894661 0.183117 \n-61.2121 46.4384 31.2073 0.572702 -0.782175 -0.245386 \n46.5802 48.3726 31.9479 0.148992 -0.505881 -0.849639 \n28.1871 -73.7918 -11.2071 0.702674 -0.509681 -0.496462 \n45.5825 48.3696 31.7649 0.440445 -0.415268 -0.795965 \n47.1942 49.0322 32.0848 0.319003 0.407755 -0.855554 \n21.2035 29.1182 -30.1684 -0.832702 -0.206652 0.513715 \n-63.3037 49.7059 31.6333 0.989591 -0.133501 -0.0537336 \n10.5632 -4.58645 -28.4657 -0.331449 -0.270578 0.903841 \n23.5761 39.967 -29.7983 -0.709938 0.193303 0.677217 \n12.5715 60.6559 -25.8656 -0.519541 0.682754 0.513736 \n-8.33746 50.4355 31.0823 0.62441 0.672923 -0.396593 \n23.2208 41.9557 -29.1867 -0.687347 0.277154 0.671371 \n2.4126 50.5483 31.2502 0.194731 0.755401 -0.625659 \n59.1748 51.3743 31.0078 -0.839114 0.349394 0.416906 \n8.13199 50.9675 31.7975 -0.674532 0.641613 -0.365157 \n26.6487 -75.2197 -21.1476 -0.148843 -0.986433 -0.0692501 \n12.6514 62.2924 -23.2829 -0.473103 0.797942 0.373446 \n50.9001 51.4489 31.6751 0.656907 0.726955 0.200023 \n-54.6209 50.6534 31.4679 -0.871027 -0.239555 -0.428866 \n-63.3113 50.9926 33.156 0.9292 0.352835 -0.109978 \n51.6639 52.8879 32.659 0.735026 0.509137 0.44779 \n-35.6376 -69.3195 -10.8999 0.409421 0.865228 -0.289404 \n-53.5023 52.6483 31.5499 -0.85624 -0.367441 -0.363097 \n53.3602 54.5576 32.2053 0.128032 0.611265 0.781001 \n37.6301 -74.5537 -19.8065 -0.464209 -0.753681 0.46527 \n-51.9912 58.765 32.2288 -0.692406 -0.328711 -0.64228 \n-20.8418 52.7537 -6.9682 0.746147 0.659119 0.0939486 \n-56.7989 60.3341 32.4733 0.596299 0.419079 -0.68469 \n-15.2053 -6.88575 -25.4577 0.51536 0.0669758 0.854352 \n1.76488 29.6533 31.4795 -0.263568 -0.851677 -0.452967 \n3.90778 31.3021 31.4173 -0.689159 -0.324093 -0.648093 \n-1.84105 30.8029 31.8429 0.627178 -0.568767 -0.53212 \n-2.178 31.8883 31.8318 0.774651 -0.38314 -0.50311 \n53.9864 33.1454 31.7969 -0.205918 -0.796605 -0.568347 \n49.1261 33.8021 31.5954 0.639851 -0.42528 -0.640099 \n-19.3616 44.9084 -29.9358 0.566269 0.13607 0.812911 \n-3.96605 34.3318 31.6304 0.993198 0.107862 0.0438552 \n37.5064 -73.9933 -20.45 -0.683467 -0.227571 0.693602 \n58.7941 36.2427 30.9237 -0.638142 -0.644547 -0.421111 \n-34.5239 -68.7028 -10.9194 0.22796 0.80489 -0.547893 \n-6.73992 36.5078 31.8995 0.641371 -0.766571 -0.0318175 \n50.8002 37.3802 32.264 0.646367 -0.325532 -0.690101 \n31.8737 -74.1635 -19.5528 -0.0204118 -0.999783 -0.00425836 \n-34.2533 -68.1127 -11.8464 0.371702 0.766548 -0.523681 \n30.7359 -74.0887 -20.5284 -0.0915179 -0.976396 -0.195643 \n48.9954 38.9899 31.8227 0.695536 -0.385656 -0.606218 \n48.1375 -67.5799 -10.9445 -0.535767 0.764542 0.35837 \n16.9465 -5.42755 -25.9315 -0.339648 0.0333407 0.939962 \n60.181 40.9886 31.4515 -0.885587 0.026088 -0.46374 \n-8.86777 40.457 30.456 0.998973 -0.00768192 0.0446604 \n8.8328 40.3868 32.5751 -0.983458 0.159081 -0.0866281 \n60.2712 42.8348 31.4393 -0.962752 -0.105149 0.249102 \n46.9972 44.8577 30.9897 0.847812 0.0825947 -0.523825 \n-6.51564 46.2636 32.0599 0.565926 -0.495395 -0.659024 \n-20.0765 55.3812 -17.2402 0.865039 0.496563 -0.0716467 \n-13.4232 -73.9641 -21.416 -0.873249 -0.363328 -0.324697 \n19.1288 13.248 -20.1161 -0.946676 0.132349 0.293747 \n-55.6201 46.7325 31.572 -0.757317 -0.418901 -0.500992 \n-30.6952 -73.8341 -19.7332 0.679563 0.0469369 0.732115 \n47.5972 47.6161 31.456 0.585197 -0.451779 -0.67338 \n-7.4513 47.5847 31.8788 0.760287 -0.387547 -0.521316 \n-19.1593 46.6032 -29.8196 0.674063 0.192921 0.713036 \n45.505 49.0023 31.4909 0.454271 0.587748 -0.66947 \n7.60294 49.2057 32.1477 -0.869759 -0.155443 -0.468356 \n27.5228 -65.5373 -11.4628 0.733838 0.0427501 -0.677978 \n-29.9074 -72.7253 -20.8419 0.70367 -0.0985175 0.703664 \n8.52581 67.6165 -6.66437 -0.549608 0.811989 -0.196481 \n49.9324 -69.3341 -10.3635 -0.910912 0.405372 0.0768932 \n-0.557103 49.5005 31.6829 0.15232 0.792655 -0.590336 \n-3.47498 49.546 31.189 -0.152054 0.747459 -0.646672 \n47.6851 49.623 31.4733 0.339052 0.606237 -0.719389 \n22.7047 -71.5991 -20.984 0.963243 0.264456 0.0471798 \n-30.4138 -66.5219 -11.3407 0.558523 0.828386 -0.0427612 \n-13.7237 -70.6644 -19.9501 -0.913201 0.0886266 -0.397755 \n48.2035 50.7241 30.9912 0.255821 0.750528 -0.609313 \n-18.4836 48.5573 -29.7207 0.453786 0.492793 0.742451 \n-7.53111 50.1762 32.1326 0.342201 0.665044 -0.663789 \n3.84386 51.3702 30.8814 0.25341 0.866888 -0.429289 \n51.1792 51.6189 31.2296 0.44923 0.876929 -0.170844 \n57.2838 52.2146 30.6313 -0.362889 0.746976 0.55708 \n54.1348 53.032 31.1997 0.113962 0.71775 0.686912 \n-21.28 -65.4792 -11.1432 -0.462168 0.606008 -0.647422 \n-60.7971 57.2442 31.9286 0.845328 0.53258 -0.0421723 \n-51.5999 57.211 31.1032 -0.689318 -0.444072 -0.572399 \n-59.6249 58.5592 31.3522 0.652274 0.738746 0.169682 \n-58.1668 59.7835 31.7131 0.709547 0.693959 -0.122328 \n-51.3092 60.5854 30.8624 -0.992473 0.0711088 -0.0996993 \n-57.9262 60.861 31.3473 0.770699 0.39475 -0.500196 \n-56.7403 62.6504 30.8463 0.773462 0.586479 -0.240416 \n-41.4273 35.3316 -6.55258 0.65901 0.147408 0.737547 \n39.6443 37.0467 -7.29014 -0.732067 0.234734 0.639513 \n-24.7801 -65.2625 -10.8858 0.135258 0.916831 -0.375667 \n-51.0677 65.2012 31.4799 0.583546 -0.352672 -0.731503 \n-49.2624 66.3689 31.8182 -0.588832 -0.615284 -0.52412 \n-48.6595 66.9978 31.2904 -0.989358 -0.143713 -0.0227205 \n-51.475 66.8209 31.4276 0.791144 -0.0671287 -0.607935 \n-51.6987 67.3301 30.9093 0.873191 0.371971 -0.31492 \n-49.9891 68.855 31.9501 0.396262 0.904809 -0.155875 \n22.6304 -46.6583 -16.8248 0.936599 0.0292009 0.349185 \n19.0458 73.7855 31.254 0.248972 0.329422 -0.910766 \n20.3027 73.7844 31.4363 -0.0410888 -0.0575472 -0.997497 \n-16.8525 49.1276 -29.6455 0.62702 0.518057 0.581775 \n21.2974 74.512 31.3891 -0.0421233 0.49655 -0.866985 \n0.921609 29.6948 30.7106 -0.0290208 -0.981573 0.188871 \n2.85771 29.992 30.6514 -0.260348 -0.899958 0.349707 \n-1.47357 29.8864 30.8174 0.146174 -0.97113 0.188521 \n-2.67789 30.216 30.679 0.495664 -0.769003 -0.403672 \n3.7544 30.4019 30.9304 -0.501492 -0.655162 -0.565038 \n24.0267 -67.6423 -20.6988 0.830519 0.545363 0.113213 \n-3.73344 32.0153 31.0628 0.656668 -0.601781 -0.454584 \n50.2441 32.9342 31.4097 0.145147 -0.818508 -0.555856 \n4.36931 33.6771 31.3385 -0.519822 -0.432433 -0.736741 \n48.4504 32.9223 30.4789 0.558513 -0.569473 -0.603128 \n5.53404 33.246 30.7445 -0.50104 -0.553595 -0.665201 \n57.1674 34.1972 30.7694 -0.460384 -0.685181 -0.564424 \n49.1072 34.462 31.3881 0.844294 0.42388 -0.327862 \n-4.76949 35.5432 31.6998 0.413508 -0.82282 -0.389843 \n-6.22345 35.7396 31.0687 0.606713 -0.775835 -0.173146 \n27.0322 -63.3914 -11.1363 0.639059 -0.429521 -0.638055 \n-29.4203 -66.7267 -20.35 0.815355 0.403148 0.415532 \n49.1288 37.2074 30.9755 0.597984 -0.469656 -0.649491 \n38.7669 -62.0583 -11.1979 -0.708467 -0.0244907 -0.705319 \n48.2742 37.8001 30.4061 0.675859 -0.433956 -0.595732 \n25.2779 -65.4483 -19.3727 0.952154 0.0648998 0.298647 \n-14.8895 -66.368 -19.461 -0.890065 0.343638 -0.299496 \n48.1774 38.8929 31.0805 0.710475 -0.282642 -0.644468 \n16.4686 50.569 -30.2474 -0.71502 0.541429 0.442269 \n8.09709 39.3172 31.1389 -0.62806 -0.618577 0.472127 \n8.79693 40.3242 30.7124 -0.972883 -0.197262 0.120776 \n60.3613 42.5907 30.8248 -0.81232 0.0976535 -0.574978 \n8.61962 41.5698 30.7559 -0.834197 0.50088 -0.230726 \n-1.79581 35.812 -39.3519 0.0340223 0.131245 0.990766 \n7.23066 42.459 31.381 -0.662356 0.721589 -0.201479 \n15.9504 52.4177 -29.2249 -0.813423 0.343703 0.469266 \n7.71066 42.8597 30.6373 -0.68073 0.129624 -0.720974 \n7.95445 44.4575 30.6685 -0.669939 -0.0114617 -0.742327 \n-15.0793 51.8192 -30.0817 0.715761 0.385491 0.582308 \n7.27235 45.1917 31.2088 -0.745395 -0.337783 -0.574707 \n-6.80844 44.5721 30.7072 0.599634 -0.159029 -0.784314 \n-7.64266 45.8398 31.2177 0.570016 -0.444566 -0.690972 \n59.8084 46.3114 30.6211 -0.977988 0.168733 0.122755 \n25.8512 -64.9725 -20.8949 0.818225 0.109466 0.56438 \n8.09859 46.454 30.7689 -0.905813 -0.22215 -0.360766 \n39.8257 -59.5593 -11.7654 -0.91538 -0.197639 -0.35074 \n23.4165 -58.3711 -11.0296 0.792914 -0.381907 -0.4748 \n46.6568 47.6516 31.1686 0.213526 -0.824984 -0.523266 \n2.48031 -21.1771 -46.7322 0.181637 0.934585 0.305876 \n59.9221 48.298 31.2444 -0.91657 0.16905 0.362383 \n8.45496 49.3356 30.1416 -0.910284 -0.19308 -0.366202 \n-25.4107 -57.7934 -10.9028 0.29275 -0.64107 -0.709455 \n14.9865 53.0982 -30.0849 -0.647295 0.369544 0.666668 \n0.0175944 50.1744 30.9443 0.145955 0.75283 -0.641829 \n-6.29178 50.5382 31.983 -0.0568645 0.846177 -0.52986 \n-38.6584 -75.2319 -7.35442 -0.134611 -0.97687 -0.166145 \n49.9018 51.1652 30.9772 0.321908 0.779329 -0.537607 \n-4.77508 50.8298 30.769 -0.394229 0.770577 -0.500795 \n9.77962 45.2482 -37.2845 -0.322297 0.246412 0.914006 \n5.64383 51.7351 30.7318 0.0350299 0.951212 -0.306544 \n-15.2939 53.4358 -29.6121 0.608794 0.280886 0.741938 \n7.62749 51.7015 30.4248 -0.214903 0.935855 -0.279271 \n3.93411 -24.9863 -54.8425 0.158382 0.655613 0.7383 \n-21.305 -57.4583 -11.6487 0.267885 -0.653759 -0.707698 \n-62.9943 51.3295 31.0216 0.947171 0.320728 0.000870895 \n56.235 53.4289 31.1252 -0.178 0.75575 0.630204 \n-61.5667 53.6691 31.6628 0.927987 0.146536 -0.34259 \n-12.1563 -2.56175 -25.4159 0.322077 0.19617 0.926166 \n40.4683 -56.4819 -11.481 -0.992877 0.042425 0.111332 \n-60.9101 57.4156 30.7495 0.792835 0.606578 0.058951 \n-51.1983 57.9088 30.8567 -0.916224 -0.232633 -0.326214 \n37.0316 -60.5742 -19.7641 -0.649153 -0.172308 0.740885 \n-51.4557 59.5383 31.5786 -0.943256 -0.153577 -0.294417 \n-51.1655 61.5818 31.2086 -0.990391 0.0907632 0.104346 \n-57.7543 61.8969 30.3987 0.835283 0.511335 -0.202087 \n-51.247 64.0154 30.4239 -0.0888879 -0.587763 -0.804135 \n-18.6453 -56.6814 -10.9822 -0.368829 -0.588711 -0.719294 \n-54.9345 64.0597 30.2736 0.162776 0.913908 0.371855 \n-49.988 65.1152 31.0713 -0.336472 -0.691602 -0.63912 \n-22.0996 -56.5668 -11.3039 0.0517888 -0.512131 -0.857344 \n-29.9631 -61.368 -20.3043 0.93245 -0.35996 -0.0310627 \n-49.2395 68.9188 31.8457 -0.505364 0.812249 0.291306 \n14.624 68.3577 30.8039 -0.491773 -0.437635 -0.752751 \n-51.0256 68.301 30.6585 0.593992 0.802327 0.058689 \n15.2256 68.9221 30.7225 -0.743991 -0.651512 -0.148359 \n16.3131 70.5082 31.0635 0.0618786 -0.0155042 -0.997963 \n16.9447 71.5805 31.113 0.0834664 -0.00783303 -0.99648 \n18.4547 72.2104 30.7965 -0.545716 -0.819408 -0.175397 \n19.728 73.1378 30.9537 -0.413099 -0.829047 -0.376868 \n18.6337 72.7882 31.2758 -0.0252924 -0.18009 -0.983325 \n16.3929 72.5261 30.7807 0.29321 0.239449 -0.925577 \n-13.5441 55.8773 -29.5946 0.527483 0.513351 0.676928 \n-12.9432 38.3523 -36.4652 0.451191 0.0896632 0.887912 \n-31.0178 -57.7459 -19.7044 0.942143 -0.331138 -0.0521033 \n4.86457 31.1212 30.2917 -0.755379 -0.649611 -0.0860728 \n-3.61186 30.9719 30.5351 0.60355 -0.492158 -0.627302 \n49.5461 32.1238 30.217 0.188688 -0.85191 -0.488515 \n5.1495 31.9354 30.4692 -0.684815 -0.287839 -0.66946 \n53.3797 32.581 31.1803 -0.0792929 -0.89724 -0.434365 \n-4.29655 32.4995 30.7034 0.96712 -0.0792453 -0.241658 \n6.06471 34.0369 30.6766 -0.933064 -0.273961 -0.233104 \n21.4888 -54.0706 -12.2478 0.964516 -0.25762 -0.0578047 \n-6.50648 36.4401 30.7353 0.903973 -0.202133 0.376796 \n6.34875 36.3333 30.9507 -0.943619 -0.295612 -0.148987 \n7.01889 36.8903 30.2949 -0.886381 -0.338392 -0.315942 \n-7.10295 37.1218 31.4532 0.595642 -0.649961 0.471976 \n60.5546 38.308 31.1354 -0.856107 -0.185334 -0.482423 \n7.30785 39.3248 30.2222 -0.908166 -0.325445 0.263288 \n-8.52928 38.148 30.9208 0.848978 -0.439196 0.293844 \n47.2245 39.9383 30.2864 0.717598 -0.260348 -0.645966 \n-12.7315 -55.2225 -19.7821 -0.990803 -0.122089 0.0583411 \n-26.8876 -74.6104 -8.57536 -0.103315 -0.992218 0.0694917 \n15.5682 2.82875 -27.01 -0.678879 0.00540107 0.73423 \n60.776 39.7256 30.5235 -0.862265 -0.185626 -0.471213 \n61.4532 40.6234 30.1584 -0.88165 0.00796297 -0.471836 \n-36.8474 -74.786 -7.48237 -0.353565 -0.695862 -0.625114 \n-14.6652 -53.7735 -11.5911 -0.74877 -0.39478 -0.53244 \n46.4553 43.6971 30.1769 0.838211 -0.0403762 -0.543849 \n8.29365 45.7754 30.2893 -0.714119 0.017148 -0.699814 \n10.5044 58.5888 -29.8584 -0.12346 0.673103 0.729171 \n-59.666 45.2983 30.5847 0.469547 -0.805838 -0.360766 \n-12.6725 -53.1617 -18.7453 -0.987227 -0.143015 0.0702088 \n-32.5779 -53.6572 -19.2873 0.980134 -0.197851 0.0138962 \n46.8919 47.2077 30.6125 0.711975 -0.369727 -0.596987 \n8.26819 47.8955 31.1256 -0.938005 0.00175186 -0.346617 \n46.2651 47.14 29.6411 0.449491 -0.75005 -0.485162 \n44.7659 47.5441 30.1421 0.265247 -0.859795 -0.436344 \n44.3129 47.9368 30.4073 0.619805 -0.558465 -0.551324 \n-8.40052 48.5116 30.718 0.948272 -0.145127 -0.282344 \n43.8543 48.496 30.0815 0.847439 0.195677 -0.493515 \n-63.3893 50.0715 29.7891 0.997687 0.0648634 0.0203332 \n46.5394 49.8303 30.8688 0.399196 0.726052 -0.559903 \n-1.28289 50.6728 30.2638 0.0967957 0.617637 -0.780484 \n40.0608 -51.4849 -19.5092 -0.775744 -0.0879814 0.624885 \n39.1869 -52.2799 -20.0749 -0.684331 -0.015106 0.729015 \n8.58677 51.605 29.4621 -0.509509 0.735778 -0.446129 \n2.64027 51.4725 30.6483 0.0813264 0.180097 -0.980281 \n1.19397 50.8553 30.492 0.178603 0.374102 -0.910027 \n50.0271 52.2468 30.0176 0.255568 0.868294 -0.425147 \n4.26891 51.8344 30.4736 -0.125858 0.32297 -0.938003 \n-6.67897 60.6341 -29.0636 0.201399 0.740795 0.640828 \n24.8465 -52.4715 -20.1502 0.649792 -0.0369947 0.759212 \n0.554997 51.9689 30.5513 0.081491 -0.130951 -0.988034 \n-63.3539 51.5023 29.6939 0.964964 0.260535 0.031092 \n-12.6434 -51.0989 -19.6213 -0.978048 0.0533275 0.201442 \n54.8 52.4128 30.3112 0.0193254 0.82285 0.56793 \n52.4324 52.3435 31.3067 0.375294 0.82157 0.429158 \n51.7175 52.1598 30.4227 0.280044 0.835566 -0.472657 \n-6.89255 28.8179 -37.1563 0.291065 -0.160721 0.943107 \n2.90214 52.6974 30.7339 0.0349236 0.220374 -0.97479 \n3.20075 53.6928 30.3779 0.044221 0.541138 -0.83977 \n-62.0592 55.3986 31.3005 0.93957 0.293415 -0.176398 \n24.385 -50.5384 -19.9411 0.733411 0.0156528 0.679605 \n16.1239 43.1517 -35.0902 -0.450295 0.263336 0.853164 \n-58.3752 59.2202 30.5367 0.757422 0.651237 -0.0469315 \n-51.4373 61.7467 30.1731 -0.988251 0.148958 -0.0342399 \n-53.1397 63.7161 30.1046 -0.222837 0.903925 0.365051 \n-35.6143 -73.3164 -7.44675 -0.505359 0.0854559 -0.858667 \n-20.6966 -74.7917 -29.833 0.154151 -0.939434 0.306107 \n11.8865 65.3588 30.5766 -0.502228 -0.600078 -0.622634 \n11.5882 65.9606 30.6169 0.275308 0.0716858 -0.958679 \n13.0984 66.8802 30.8249 0.00513044 -0.0686581 -0.997627 \n-48.9933 67.1127 29.8169 -0.842739 0.410778 0.347926 \n24.9921 -49.3541 -20.6758 0.6263 0.0824852 0.775207 \n14.1819 68.6381 30.8423 0.202546 0.0886767 -0.975249 \n16.7832 70.6595 30.4253 -0.717229 -0.694858 0.0524811 \n17.4189 71.3636 30.8575 -0.630666 -0.702843 -0.329046 \n39.78 -49.09 -19.6554 -0.729799 0.0467517 0.682061 \n-30.9149 25.3988 -10.4213 0.049062 -0.82957 0.556242 \n21.8418 73.9074 30.821 -0.328062 -0.794851 -0.510477 \n16.7797 73.9197 30.404 0.387656 0.440307 -0.809847 \n18.4832 74.7372 30.5126 0.227468 0.607789 -0.760823 \n21.3446 74.8829 30.8817 -0.136566 0.881519 -0.451967 \n4.75395 61.1189 -29.8758 -0.150492 0.744031 0.650976 \n-12.9737 -47.1124 -19.0411 -0.928374 0.243117 0.2811 \n-4.20411 31.3008 29.9311 0.808691 -0.548177 -0.213356 \n15.9505 -1.05545 -25.6853 -0.371205 0.27721 0.886206 \n52.9139 32.2288 30.0336 -0.0640848 -0.890724 -0.450004 \n50.7362 31.7802 29.3701 0.0296996 -0.888502 -0.457911 \n-14.4132 -42.9058 -10.1727 -0.774457 0.413272 -0.47898 \n54.7271 32.8326 30.5515 -0.334828 -0.84013 -0.426698 \n-2.14096 61.0037 -29.7243 0.140215 0.7524 0.64361 \n56.1824 32.8797 29.9806 -0.3287 -0.828866 -0.452701 \n-14.3723 -41.3339 -12.3205 -0.864884 0.465061 -0.188929 \n41.7902 -41.4229 -11.6541 -0.999628 -0.0257343 0.00907873 \n10.0711 62.4008 -25.5305 -0.243983 0.827576 0.505559 \n-4.08297 34.3771 30.6589 0.75867 -0.347601 -0.550993 \n48.5268 33.8759 30.8347 0.856219 0.362486 -0.368093 \n-5.73457 35.1684 30.1865 0.579579 -0.717057 -0.387192 \n49.4663 35.8523 30.0832 0.851503 0.342903 -0.396686 \n58.3697 35.0487 29.9669 -0.63061 -0.60206 -0.48975 \n-6.10826 35.9953 29.7735 0.97765 -0.201163 -0.0611029 \n59.9917 36.2076 29.9125 -0.603813 -0.627152 -0.492027 \n49.339 36.5611 30.4032 0.670545 -0.526159 -0.522997 \n59.9035 37.3668 31.2943 -0.670897 -0.490754 -0.55593 \n-5.95355 37.2095 30.1747 0.889613 -0.283867 0.357782 \n60.6989 37.9454 30.0156 -0.929563 -0.219281 -0.296359 \n42.2508 -40.9397 -11.3378 -0.819456 -0.480921 0.311782 \n-33.3106 -72.2054 -8.208 0.755216 0.513612 -0.40725 \n-15.0459 -41.3341 -11.3764 -0.696529 0.64749 -0.309198 \n8.54059 40.2973 30.2125 -0.718463 -0.633771 0.286609 \n-20.9867 45.7852 -27.7316 0.800652 0.217912 0.558095 \n-8.70842 41.43 30.4041 0.932811 0.351628 -0.0788729 \n61.243 42.0129 29.8839 -0.847304 0.0932266 -0.522862 \n-16.3229 -40.0939 -11.0636 -0.792233 0.559821 -0.242831 \n-32.8027 -45.5571 -20.2761 0.952028 -0.0258478 0.304917 \n-33.2394 -40.1846 -11.242 0.967728 0.234787 0.0915337 \n8.71177 44.1042 29.8443 -0.60908 0.0629969 -0.790603 \n-7.46822 43.07 30.5977 0.762106 0.370476 -0.530982 \n-7.8449 44.7327 29.6468 0.840718 -0.185472 -0.508717 \n-13.5781 -46.3374 -20.4136 -0.88772 0.233566 0.396737 \n-57.6899 45.1168 30.5577 -0.0903099 -0.869078 -0.486362 \n60.321 44.3469 30.4348 -0.848384 0.236935 -0.473399 \n-6.99392 46.0795 -37.2567 0.198634 0.652461 0.731328 \n-55.4635 45.9075 30.6087 -0.568941 -0.507569 -0.647055 \n-8.41937 46.0224 30.2698 0.88073 -0.397819 -0.257011 \n41.7113 -38.4236 -11.7709 -0.881743 0.31292 0.353001 \n-8.92246 47.2353 29.585 0.998656 -0.00356172 -0.0517043 \n-8.57701 47.1306 30.6671 0.818995 -0.105982 -0.563928 \n-16.4503 -39.1727 -11.0349 -0.986191 -0.0547973 -0.156281 \n59.465 48.0527 30.1697 -0.935005 0.234648 0.265906 \n44.4787 49.4713 30.0819 0.503245 0.741889 -0.443109 \n-3.71326 50.6707 29.9971 -0.0932144 0.648729 -0.755289 \n-14.1933 -44.3201 -19.9715 -0.864496 0.340805 0.369458 \n47.343 51.0884 30.3339 0.366967 0.760956 -0.535053 \n-0.387525 51.2355 30.2511 0.120223 -0.140027 -0.982822 \n-27.2947 -52.0197 -27.4184 0.489094 0.0246759 0.871882 \n58.4648 51.9156 30.7117 -0.431022 0.736176 0.52179 \n-5.99363 51.7654 29.0277 0.0105834 0.905231 -0.424788 \n6.3924 52.1413 29.8106 -0.249255 0.730352 -0.635969 \n56.2534 52.1591 29.9898 -0.142074 0.764044 0.629326 \n54.0107 52.3285 29.9007 0.0386578 0.999232 0.00633498 \n51.8733 52.5904 29.4826 0.0183971 0.981065 -0.192803 \n21.5394 53.8134 -6.45659 -0.400169 0.708401 -0.581405 \n3.98744 52.8396 30.5673 -0.272847 0.121419 -0.954365 \n-1.76609 52.4858 30.4877 0.088555 0.15938 -0.983238 \n-62.1921 52.5676 30.833 0.834389 0.548396 -0.0552878 \n40.1984 -34.5547 -10.816 -0.748911 0.572716 0.33336 \n0.185979 53.7887 29.8918 0.0962822 0.567 -0.818071 \n-3.19858 53.1092 30.1436 0.198738 0.369532 -0.907717 \n-52.7868 53.7256 29.473 -0.818253 -0.296662 -0.492397 \n24.1546 -33.8376 -12.1691 0.895168 -0.421928 0.143703 \n-21.0651 -74.1702 -30.3008 0.627415 -0.236535 0.741891 \n-15.205 -42.1877 -19.7464 -0.840187 0.402196 0.363763 \n-61.2829 56.4508 29.0635 0.808059 0.561198 0.179161 \n39.8858 -34.0826 -11.308 -0.830415 0.224936 0.509721 \n-59.8656 58.4092 30.1532 0.630159 0.776465 -0.000969397 \n-51.6959 63.2418 30.3557 -0.723953 0.444423 -0.527617 \n20.9218 -32.4448 -11.5342 0.599276 -0.716645 0.356773 \n13.5622 66.7779 30.3459 -0.769163 -0.636288 0.0593867 \n7.22209 63.1226 -24.5441 -0.201159 0.803267 0.560623 \n-15.7144 -40.8437 -19.8613 -0.719132 0.575994 0.388689 \n-50.1292 68.5654 30.5839 0.063119 0.937747 0.341535 \n13.0461 69.9715 30.3808 0.316012 0.231447 -0.920092 \n14.0449 71.5952 30.1234 0.476433 0.4528 -0.753647 \n-32.2475 -41.3101 -19.7212 0.847965 0.355131 0.393493 \n22.5034 73.9427 30.2982 -0.715953 -0.482911 -0.504191 \n19.6029 -31.2348 -10.9527 0.627374 -0.771862 -0.103108 \n20.644 75.6418 29.1067 -0.0872052 0.993778 -0.0692908 \n4.20296 30.5431 30.3515 -0.386224 -0.820599 0.421246 \n3.69172 31.0613 29.5884 -0.357998 -0.809063 0.466106 \n5.87751 36.3439 -39.0138 -0.150506 0.339026 0.92866 \n-16.7881 -40.5677 -20.5395 -0.600737 0.639734 0.479432 \n5.69588 32.4804 29.8646 -0.871731 -0.476752 0.113104 \n-5.0176 32.9361 29.5418 0.848767 -0.236258 -0.473051 \n57.6178 33.5231 29.6062 -0.638308 -0.622215 -0.453223 \n47.9202 33.3909 29.6512 0.926381 0.222599 -0.303755 \n-5.58725 34.4771 29.4842 0.782786 -0.386743 -0.48752 \n16.4312 -28.1757 -11.1458 0.73281 -0.651393 -0.196662 \n-6.72684 38.0446 30.0303 0.426402 -0.766361 0.480492 \n-31.1371 -67.881 -7.50222 0.634725 0.737771 -0.229824 \n46.417 39.1888 29.4038 0.737651 -0.271467 -0.618204 \n7.31817 38.0276 30.1626 -0.961798 -0.0837876 -0.260625 \n7.5744 40.0128 29.1657 -0.882901 -0.0233801 -0.468977 \n8.98651 41.8367 30.0024 -0.703803 -0.00297955 -0.710389 \n10.2508 43.9254 28.9424 -0.595955 0.140672 -0.790601 \n-20.6705 -67.6147 -8.00015 -0.704436 0.591674 -0.392037 \n61.3156 45.2075 29.0212 -0.844193 0.35798 -0.398983 \n38.8825 -27.3994 -12.4243 -0.87908 -0.182229 0.440466 \n-55.6006 44.2297 29.3535 0.0274323 -0.826257 -0.562625 \n15.1474 -26.6915 -10.928 0.633537 -0.581115 -0.510819 \n-56.5919 45.2201 30.4346 -0.17306 -0.818043 -0.548504 \n-58.5721 44.1443 29.4134 -0.00494097 -0.862873 -0.505396 \n46.7368 -67.592 -7.48733 -0.273603 0.511129 -0.814794 \n46.0507 45.0368 29.6154 0.86421 0.105442 -0.491958 \n9.0045 46.059 29.6962 -0.729972 -0.00358041 -0.683467 \n31.386 -67.6637 -6.86004 0.709676 0.240527 -0.662199 \n59.9239 46.2385 29.8269 -0.825108 0.309254 -0.472819 \n46.4957 46.2505 29.7171 0.836591 0.0736023 -0.542862 \n59.6412 47.796 29.55 -0.823278 0.362243 -0.437027 \n8.59094 48.2433 29.818 -0.852041 0.0249057 -0.522882 \n-63.4553 48.577 30.4119 0.918766 -0.394753 0.00624099 \n-8.77973 49.7478 30.8358 0.979668 0.0830686 -0.18262 \n-10.3644 -24.9647 -10.2785 -0.843471 -0.530716 -0.0830511 \n40.4099 -23.7342 -10.9385 -0.943068 -0.0812092 0.322535 \n13.5297 -25.1311 -11.2263 0.569338 -0.242856 -0.785414 \n58.6426 49.8643 29.7843 -0.868178 0.266857 0.418394 \n57.7487 51.0663 29.2999 -0.579963 0.748963 0.320464 \n45.2276 -67.1946 -7.34036 -0.479193 0.554345 -0.680497 \n-53.201 51.2155 29.6887 -0.851445 -0.246018 -0.46316 \n14.9189 3.96945 -27.3499 -0.67865 -0.172913 0.713818 \n48.5245 51.4613 29.5937 0.31331 0.860846 -0.400975 \n-5.01569 63.0985 -24.8054 0.299276 0.93743 0.177928 \n-4.00103 51.454 29.6111 0.364379 0.0276336 -0.93084 \n-4.56407 51.3534 29.5602 -0.116961 0.849593 -0.514307 \n-8.36898 51.3699 28.5734 0.614017 0.723395 -0.315725 \n11.4092 65.6113 -17.1042 -0.408719 0.90487 0.118989 \n12.5256 -23.9299 -11.9746 0.701896 -0.348922 -0.620964 \n-2.82366 51.2756 29.97 0.177617 -0.0860595 -0.98033 \n55.9407 52.0641 29.4018 -0.34213 0.938957 -0.0361616 \n-21.3132 -66.8509 -7.66846 -0.764677 0.547258 -0.340261 \n52.652 52.3995 28.8952 0.043959 0.992633 -0.112909 \n-28.0392 -67.2619 -7.19685 0.0505371 0.680125 -0.731352 \n-3.53158 52.4939 30.0805 0.378344 -0.144936 -0.914248 \n5.8329 52.5531 29.672 -0.449757 0.0605377 -0.891097 \n-29.6807 -66.9786 -7.86499 0.299806 0.785863 -0.540865 \n-52.9461 53.0502 30.0421 -0.956456 -0.12806 -0.262285 \n-3.81471 53.7083 29.6026 0.223689 0.70253 -0.675585 \n4.68179 54.0104 30.1308 -0.0897904 0.543292 -0.834729 \n6.12211 53.8242 29.8327 -0.322599 0.27033 -0.907112 \n-14.8013 -68.6487 -30.3483 -0.497482 0.49813 0.710196 \n-53.0317 55.2384 30.934 -0.851027 -0.314991 -0.420159 \n-62.0998 54.481 30.0891 0.966089 0.0913895 -0.241494 \n-50.9446 58.7005 30.4263 -0.979808 0.00155093 -0.199934 \n-50.966 60.1602 29.2235 -0.933498 0.00925709 -0.358464 \n39.7389 -22.9969 -12.2043 -0.909454 0.136217 0.392859 \n3.32663 36.4683 -39.2684 -0.0506144 0.230938 0.971651 \n-8.10556 -21.6597 -12.139 -0.800087 -0.590013 0.108373 \n-50.7854 62.7892 29.1396 -0.596187 -0.480429 -0.643233 \n-20.6723 -36.8917 -19.9318 -0.370867 0.156655 0.915378 \n-1.36871 -24.0905 -44.362 0.966857 0.0717328 0.245035 \n-56.0895 63.4017 30.2799 0.605834 0.794568 0.0403404 \n10.9189 64.7151 30.3609 0.40977 -0.171682 -0.895887 \n11.279 64.2538 29.817 -0.66399 -0.587042 -0.46314 \n10.4413 64.0882 29.8206 0.458921 -0.317935 -0.829644 \n-49.5935 64.9507 30.5448 -0.537775 -0.638717 -0.550307 \n-19.4626 48.8326 -27.1632 0.76484 0.335823 0.549766 \n-55.3577 63.7085 29.2854 0.123548 0.991662 0.036629 \n-49.1117 65.3013 30.1235 -0.875196 -0.42178 -0.236923 \n-18.5212 -67.7217 -30.3758 0.157399 0.475721 0.865399 \n-21.676 -36.9466 -20.0296 -0.0414946 0.150855 0.987685 \n11.0678 66.4847 30.2573 0.406862 0.0918673 -0.908859 \n-19.345 -60.3568 -30.2305 -0.153718 -0.481388 0.862923 \n30.115 -66.4287 -8.0145 0.526304 0.420508 -0.739038 \n13.2216 67.2637 28.7571 -0.768463 -0.638871 0.0361627 \n9.86403 66.923 29.5961 0.65424 0.0814447 -0.751889 \n-52.1532 67.1313 29.5751 0.750609 0.659005 0.0479523 \n39.6727 -21.2256 -11.6111 -0.929493 0.105326 0.353481 \n14.8961 68.4057 30.3268 -0.769031 -0.61107 0.187575 \n-25.5848 -37.0537 -19.5293 0.330016 0.181296 0.926403 \n10.7074 67.7645 30.0436 0.412032 0.222711 -0.883533 \n15.1722 69.3152 29.3591 -0.752898 -0.640202 0.152598 \n-21.115 -59.9146 -30.7007 -0.0714303 -0.273833 0.959121 \n10.6378 -20.2272 -11.7014 0.509228 -0.749222 -0.423501 \n11.5481 69.7732 29.5522 0.573181 0.463226 -0.675933 \n17.4434 71.5353 29.3679 -0.5181 -0.82827 -0.213402 \n-23.5481 -36.9638 -20.0659 0.168879 0.121896 0.97807 \n16.7635 5.69345 -26.4138 -0.756977 -0.231504 0.611058 \n39.588 -19.9095 -12.3774 -0.952131 0.0385424 0.303251 \n22.4502 73.3074 29.3823 -0.4253 -0.790419 -0.44086 \n-22.3258 -60.0025 -30.3561 0.206986 -0.232814 0.950239 \n22.5696 74.4907 30.3462 -0.871414 0.310958 -0.379398 \n17.0615 74.6028 30.0167 0.395619 0.72562 -0.562994 \n19.3511 75.3041 30.0439 0.0825722 0.874393 -0.478141 \n53.9899 32.3092 29.2755 -0.244163 -0.892315 -0.379682 \n48.4085 31.8363 28.7861 0.204358 -0.857289 -0.472539 \n5.14244 31.8483 29.6193 -0.641819 -0.705702 0.300087 \n-4.37707 31.829 29.1742 0.568262 -0.657893 0.494223 \n57.2918 33.0115 28.903 -0.520243 -0.83429 -0.182506 \n-5.22702 33.1038 28.8924 0.838699 -0.522726 0.15278 \n48.432 34.9116 28.8044 0.876523 0.332778 -0.347803 \n6.84449 35.2945 28.754 -0.836523 -0.454782 0.305619 \n6.89453 -17.562 -11.6283 0.57511 -0.776682 -0.256931 \n44.7182 -66.5786 -7.58961 -0.283737 0.890965 -0.354507 \n-19.3918 -59.6191 -30.1668 -0.403583 0.186284 0.895779 \n-4.29514 -18.6284 -10.9408 -0.306126 -0.94901 -0.0752822 \n6.7419 35.0368 29.5262 -0.909413 -0.308849 -0.278532 \n48.9617 36.0707 29.5002 0.632701 -0.417728 -0.652068 \n60.7052 36.9505 29.3648 -0.868823 -0.391583 -0.303 \n-20.9931 -35.0652 -19.9211 -0.21564 0.0910151 0.972222 \n-23.1606 -33.6347 -20.0367 0.062325 0.0914372 0.993859 \n-6.11872 36.9864 29.4544 0.878241 -0.11203 -0.464911 \n47.4772 37.4606 29.258 0.587256 -0.396067 -0.705876 \n-6.59295 38.2327 29.13 0.893997 -0.377629 -0.241177 \n-7.59866 38.3372 29.9563 0.444436 -0.679063 0.584252 \n-8.39528 39.4585 29.4268 0.751205 -0.448413 0.484373 \n7.77581 40.3618 29.5441 -0.608994 -0.787105 0.0979383 \n46.1921 41.8291 29.4854 0.824067 -0.067848 -0.562415 \n61.6111 43.3004 29.5001 -0.860209 0.0988244 -0.500275 \n7.61226 46.6227 -37.4192 -0.136793 0.518185 0.844258 \n-23.4038 -60.0511 -30.1687 0.336613 -0.112394 0.934911 \n-21.9457 -66.4837 -7.45352 -0.32954 0.91393 -0.23693 \n-33.4212 -17.2434 -12.5737 0.960976 0.168231 0.219599 \n-59.641 44.2225 28.8131 0.5918 -0.803089 -0.0694297 \n16.8077 31.9668 -35.5952 -0.492565 -0.145677 0.857997 \n-52.8501 46.3159 27.656 -0.721427 -0.012708 -0.692374 \n1.24573 35.7514 -39.3959 0.113359 0.0842892 0.989972 \n-21.3368 -32.5036 -19.6359 -0.168991 -0.0682423 0.983252 \n-54.4645 46.6713 29.9397 -0.802058 -0.225077 -0.553212 \n-53.6474 48.7991 29.3145 -0.837472 -0.178076 -0.516653 \n-61.985 46.9688 29.4833 0.721819 -0.684925 -0.0992783 \n9.55743 47.6958 28.9748 -0.7418 0.0930922 -0.664128 \n-8.69099 48.9837 28.874 0.992141 -0.112922 -0.0538982 \n-33.6069 -15.7395 -10.52 0.980547 0.195993 -0.010707 \n45.0374 49.9986 29.2022 0.499984 0.794415 -0.344849 \n41.3185 -43.8704 -17.1416 -0.880598 0.0342784 0.472623 \n-22.9542 -57.343 -30.0241 0.125807 0.203515 0.970955 \n-20.667 -58.1061 -30.1968 -0.190055 0.270656 0.943729 \n-19.8007 -31.0427 -20.1166 -0.216751 -0.376211 0.900824 \n-6.89581 52.02 28.1205 0.251198 0.87953 -0.404136 \n-5.69509 52.1805 28.7685 0.513708 0.0668277 -0.855359 \n0.648199 -14.5683 -11.0352 -0.190732 -0.934323 0.3011 \n7.25015 52.6517 28.9333 -0.493015 0.250397 -0.833209 \n-31.6226 -67.8268 -10.5626 0.689428 0.663903 -0.289692 \n-23.0792 -30.5847 -20.076 0.138753 -0.311882 0.939935 \n-62.6993 53.6865 28.9199 0.969029 0.00611102 -0.24687 \n7.79252 53.9081 29.0229 -0.527228 -0.0723041 -0.846642 \n-24.5186 -30.6214 -20.074 0.215583 -0.366582 0.905064 \n-18.741 49.7881 -27.6523 0.658825 0.0921929 0.746625 \n1.77465 55.2742 29.0134 0.0921188 0.749598 -0.655452 \n-0.119143 54.7967 28.6022 0.0631404 0.779933 -0.622669 \n-1.60188 54.1649 29.6692 0.0151558 0.621322 -0.783409 \n-62.6333 54.1876 28.5291 0.899204 0.348591 0.264417 \n3.59075 54.9054 29.2485 0.0607793 0.744248 -0.665132 \n36.3889 -11.6923 -11.8029 -0.881785 0.471052 -0.0237715 \n-61.7976 55.4652 29.3181 0.894629 0.438417 0.0861968 \n40.6652 -64.9258 -8.37579 -0.26567 0.933523 -0.240736 \n-26.4289 -50.3977 -27.2938 0.390058 0.103962 0.914903 \n2.78471 -22.6239 -30.6367 -0.375693 -0.639353 -0.670882 \n-58.1337 60.6419 30.0977 0.92448 0.352712 -0.144675 \n-24.2324 -29.7061 -20.353 0.215409 -0.41101 0.885816 \n-11.3508 63.1315 29.357 -0.417644 0.0657487 -0.906229 \n0.0322142 -22.0634 -29.9438 0.264412 -0.584641 -0.766995 \n5.84088 -22.369 -42.0108 -0.922241 0.352705 0.158335 \n-12.1639 64.1419 29.4655 0.283277 -0.174599 -0.943011 \n-52.5517 64.1781 29.5226 0.742205 -0.047119 -0.668515 \n11.7559 64.7645 29.3183 -0.852315 -0.518743 0.0668189 \n-25.9486 -29.3106 -19.76 0.483358 -0.322655 0.813793 \n-12.5053 65.2213 29.4952 0.32451 -0.104834 -0.940055 \n-12.788 64.5633 29.0019 0.907184 -0.396039 0.142021 \n-52.6083 65.7833 29.6449 0.871608 0.0231905 -0.489654 \n9.47847 65.4442 29.141 0.631499 -0.012656 -0.775273 \n-13.4376 65.7843 29.0061 0.835816 -0.509636 -0.204162 \n-12.9777 66.3887 29.347 -0.377971 0.230784 -0.896592 \n-13.8808 66.8211 29.4397 0.513336 -0.334114 -0.790477 \n34.391 -64.3913 -7.19745 0.211429 0.705323 -0.676622 \n-14.4752 67.6193 29.2359 0.649976 -0.461153 -0.604044 \n-17.0506 -28.9694 -19.7683 -0.428483 -0.471611 0.770704 \n-13.7845 67.8179 29.298 -0.381371 0.335483 -0.861398 \n-49.7757 68.0373 29.7776 -0.462998 0.735042 0.495324 \n-50.9181 67.9167 29.3991 0.213874 0.87677 0.430734 \n-15.6087 69.2555 29.2386 0.141488 0.000456918 -0.98994 \n-27.547 -6.57935 -11.5011 0.791784 0.610797 -0.002086 \n5.30585 25.8898 -37.9739 -0.314281 0.0156894 0.9492 \n30.9732 -61.2062 -7.34467 0.0390496 -0.434458 -0.899845 \n16.0279 70.298 29.3035 -0.694408 -0.718255 0.0436713 \n-16.4311 70.3267 28.9457 0.662828 -0.514826 -0.543702 \n18.2922 32.9166 -34.9272 -0.554104 -0.12549 0.822935 \n29.8888 -4.89665 -11.7997 -0.359222 0.912937 -0.193664 \n-0.84025 -23.1185 -45.591 0.869955 0.389043 0.303024 \n29.0632 -27.1732 -20.1428 -0.227778 -0.496588 0.837567 \n20.5692 72.4245 28.6403 -0.196151 -0.799912 -0.567156 \n12.7043 72.2946 28.6274 0.548144 0.515886 -0.658331 \n22.3091 74.5594 29.1997 -0.779611 0.49089 0.388888 \n22.1117 -27.343 -20.2327 0.223565 -0.631996 0.742024 \n22.0076 75.007 30.2002 -0.484265 0.87168 -0.0752357 \n2.79322 65.0291 -24.1723 -0.064485 0.88781 0.455669 \n0.326191 30.088 28.9143 0.0832917 -0.94823 0.306468 \n-2.91981 30.3675 29.8834 0.364017 -0.83949 0.403421 \n30.191 -27.9846 -19.6908 -0.234056 -0.497042 0.835564 \n-22.3259 -3.16235 -11.7362 0.604166 0.789735 0.10631 \n51.8392 31.2773 28.7689 -0.0847868 -0.915723 -0.392762 \n27.9187 -27.4161 -20.0354 -0.148467 -0.549051 0.822496 \n3.32009 67.6502 -17.5106 -0.147571 0.983999 0.0998427 \n55.7462 32.368 28.4653 -0.271842 -0.895624 -0.352078 \n4.61294 31.7387 28.86 -0.569834 -0.649569 0.503338 \n59.5974 35.4717 29.2001 -0.625718 -0.617471 -0.476663 \n48.2814 35.7005 28.8681 0.531595 -0.399264 -0.746991 \n5.76425 -17.8022 -30.4358 -0.745424 -0.320271 -0.584611 \n46.645 37.6915 28.6372 0.772202 -0.297208 -0.561579 \n7.97292 37.8138 28.6365 -0.929277 -0.316143 -0.191046 \n61.1553 38.3008 28.7668 -0.889435 -0.318649 -0.32767 \n-3.21976 -17.4498 -30.412 0.998102 -0.0204907 -0.058072 \n61.8852 39.5484 28.6587 -0.924716 -0.208313 -0.3186 \n46.1859 40.5647 29.2216 0.803585 -0.165403 -0.571746 \n-7.5211 39.8528 28.5641 0.512487 -0.588536 0.625286 \n-8.62582 40.7664 28.6196 0.914087 -0.319266 0.25003 \n45.4498 41.4623 28.6034 0.823968 -0.0741478 -0.561764 \n10.2866 42.5406 28.9237 -0.65654 -0.1056 -0.746863 \n-3.2316 -13.767 -29.5758 0.960731 -0.00183383 0.277474 \n45.5363 43.8344 28.6389 0.842616 0.00455444 -0.538496 \n-26.6436 -27.1751 -19.9092 0.395324 -0.360304 0.844926 \n-8.67461 44.3323 28.5009 0.857399 0.0236902 -0.514106 \n30.6738 -26.1088 -19.9919 -0.417325 -0.358487 0.835061 \n-54.9743 44.4594 29.4702 -0.614463 -0.567229 -0.548349 \n-0.43378 -23.2542 -46.6071 0.816205 0.489623 0.306721 \n-60.8679 45.6824 28.5812 0.700245 -0.692103 -0.175071 \n-2.29068 -24.0666 -35.8921 0.85236 -0.43893 -0.284294 \n-8.64462 46.072 28.1795 0.961852 -0.0592147 -0.267085 \n35.1642 -60.9498 -7.55969 -0.165511 -0.700844 -0.693847 \n34.4031 -60.3164 -7.35943 0.00279355 -0.397464 -0.917614 \n29.8391 -61.7653 -7.9712 0.150114 -0.497423 -0.854421 \n-63.0374 48.8106 28.6544 0.952579 -0.277183 0.125553 \n43.9536 49.4118 28.9003 0.754948 0.634851 -0.164373 \n9.23212 49.578 28.7568 -0.822624 0.0688464 -0.564403 \n4.46818 -10.67 -30.545 -0.674841 0.226337 0.702396 \n-18.2321 7.06065 -11.1669 0.771623 -0.0647883 -0.632772 \n9.06574 50.6245 29.8963 -0.928599 0.0210824 -0.370485 \n-8.99119 50.0443 28.9978 0.980129 0.096173 -0.17349 \n58.1629 50.6199 28.9941 -0.84755 0.467907 -0.250443 \n28.2727 -74.6854 -17.1649 -0.245725 -0.960012 0.134153 \n28.1131 -59.9145 -7.46315 0.345106 -0.368242 -0.863308 \n-62.5711 52.1911 28.2958 0.952733 0.254054 0.166604 \n20.8051 6.80975 -11.8745 -0.957902 0.238084 -0.160434 \n49.0546 52.2676 28.7717 0.363791 0.896358 -0.253374 \n-17.7103 52.9417 -27.8443 0.454837 0.461758 0.761514 \n-62.419 52.7486 29.4059 0.937548 0.258341 -0.232943 \n37.0659 -59.3801 -8.10763 -0.668825 -0.208545 -0.71357 \n-1.63835 55.3793 28.4615 0.144948 0.80281 -0.578348 \n20.1159 8.26835 -11.4412 -0.989791 0.00118565 -0.142519 \n32.1856 -24.2714 -20.3664 -0.451001 -0.382828 0.806251 \n-51.4548 55.3297 28.8802 -0.815776 -0.39059 -0.426554 \n-61.3765 55.5757 28.0192 0.813744 0.47377 0.336692 \n-50.9134 57.1359 28.584 -0.985126 -0.127248 -0.115479 \n29.857 -59.9697 -7.2657 0.217075 -0.434204 -0.874269 \n-60.0357 57.9823 29.2832 0.703305 0.65638 0.272998 \n-59.2796 58.243 28.4656 0.865561 0.490196 0.102528 \n-58.8621 59.087 29.3114 0.852259 0.50663 -0.130311 \n-10.5674 61.4697 28.8915 -0.669964 -0.127491 -0.731364 \n-11.1729 61.9037 29.231 0.253155 -0.364604 -0.89609 \n-11.9485 62.8874 29.0782 0.791224 -0.380027 -0.479107 \n10.8886 63.2299 29.1772 -0.440401 -0.600646 -0.667286 \n-10.7726 64.0419 28.6317 -0.616306 0.234303 -0.751843 \n-57.1585 62.7865 29.3925 0.697231 0.716007 0.0346721 \n-49.7758 63.2792 28.5513 -0.742068 -0.542547 -0.393671 \n23.7106 -41.8195 -17.8079 0.704095 0.42677 0.567554 \n28.2288 -58.9249 -7.09505 0.406389 -0.482887 -0.775673 \n-18.9502 13.825 -11.3487 0.871319 -0.487103 0.0594491 \n-48.8513 66.1028 29.5808 -0.994424 -0.0819436 0.0663791 \n-21.7697 29.996 -28.0685 0.746891 -0.24779 0.617052 \n-49.0896 65.4442 27.912 -0.962192 0.14728 0.229118 \n-53.0282 65.7176 28.3985 0.898688 0.309995 -0.310262 \n-13.0918 -23.8805 -20.2443 -0.54932 -0.529674 0.646292 \n37.6904 -57.2717 -7.08152 -0.646588 -0.487437 -0.586796 \n-51.7884 66.7281 27.6081 0.34846 0.83687 0.422167 \n-12.6835 67.3086 28.4895 -0.588525 0.410747 -0.696366 \n-14.2155 67.1537 28.5675 0.795406 -0.574768 0.192278 \n33.9076 -23.2125 -19.7298 -0.570396 -0.256922 0.780154 \n9.77041 68.039 28.9575 0.755603 0.453031 -0.473103 \n27.1528 -57.9317 -7.29155 0.500411 -0.494822 -0.710451 \n14.6933 68.8886 29.36 -0.736396 -0.632938 0.238979 \n-1.21258 -9.12465 -30.3402 0.259835 0.36717 0.893125 \n-15.9869 69.2873 28.6494 0.803063 -0.585738 0.109551 \n-17.2039 54.6256 -26.8771 0.566268 0.583573 0.58205 \n-15.7772 70.6022 29.0163 -0.303607 0.260189 -0.916583 \n-17.3077 70.9638 28.6312 0.667519 -0.744589 -0.00257074 \n5.51038 -10.7001 -29.5039 -0.771162 0.011742 0.63653 \n22.8363 31.5208 -28.2207 -0.780426 -0.150144 0.606953 \n-17.2688 71.4132 29.2218 0.205209 -0.19 -0.960099 \n-17.0953 71.9693 28.984 -0.371589 0.506291 -0.778198 \n19.3703 72.5689 29.5005 -0.364875 -0.855806 -0.366691 \n-18.0544 71.8694 28.908 0.554606 -0.301095 -0.775728 \n-19.1452 72.6186 28.5297 0.512166 -0.803719 -0.302857 \n22.2397 72.7846 28.5606 -0.503972 -0.764128 -0.402643 \n22.7162 73.5858 29.0036 -0.974997 0.0544094 0.215453 \n15.4164 73.9886 29.4258 0.509441 0.633586 -0.58227 \n-4.49973 46.7735 -37.1481 0.2138 0.196569 0.956896 \n16.6312 75.0667 28.7451 0.406291 0.864368 -0.296304 \n17.9727 75.2393 29.63 0.197844 0.925891 -0.321844 \n30.4142 26.3357 -9.7151 -0.498733 -0.715237 0.489593 \n-1.08104 30.4676 28.8341 0.253189 -0.881537 0.398482 \n49.8337 31.2819 27.8558 0.0517966 -0.867159 -0.495331 \n-2.62428 31.5894 28.1418 0.450159 -0.708084 0.544034 \n47.6322 32.3037 28.7852 0.751394 -0.28924 -0.593083 \n-4.54343 25.4377 -37.6265 0.256834 -0.119059 0.959094 \n59.5969 34.6729 28.4427 -0.685263 -0.611478 -0.395612 \n-6.4775 35.7589 28.6173 0.916676 -0.342581 -0.205775 \n-7.09849 37.118 28.1995 0.902361 -0.286758 -0.321737 \n-27.4925 26.0707 -11.7998 0.234583 -0.809879 0.53765 \n-20.9473 31.7945 -29.4979 0.787985 0.062885 0.612475 \n1.3145 -5.74065 -29.9561 -0.0253631 -0.379639 0.924787 \n61.9229 41.0968 28.1045 -0.961399 -0.0126899 -0.274866 \n-20.1996 -66.743 -10.5249 -0.747454 0.552777 -0.368443 \n8.99494 40.8122 29.3504 -0.542153 -0.816843 -0.197074 \n-30.0821 26.2516 -12.3288 0.0421056 -0.79358 0.607008 \n61.8503 43.4839 28.2279 -0.943745 0.196686 -0.265819 \n24.3391 -54.6058 -7.32038 0.652213 -0.447425 -0.611906 \n-56.9264 44.3437 28.7529 -0.0338497 -0.913103 -0.406323 \n-58.3204 43.8093 28.3425 0.0733084 -0.995519 -0.0597331 \n31.3781 -74.366 -17.3661 -0.105084 -0.993913 0.0330857 \n60.7301 46.3678 28.5775 -0.886087 0.343053 -0.311713 \n9.54384 45.4834 28.9586 -0.661788 0.115447 -0.740749 \n45.2448 46.9809 28.7059 0.234049 -0.845355 -0.480204 \n-28.4198 -19.6668 -21.077 0.667646 -0.0365402 0.743581 \n10.1429 47.3439 28.1946 -0.720134 0.13762 -0.680049 \n5.75421 -4.94065 -29.7918 -0.280086 -0.000232181 0.959975 \n58.9224 49.0345 29.396 -0.795354 0.534312 -0.286222 \n-52.1478 50.7204 27.5649 -0.833328 -0.179564 -0.522801 \n45.5863 50.9721 28.4927 0.59933 0.725448 -0.338423 \n9.53879 51.4439 28.3691 -0.875299 0.277935 -0.395732 \n-10.3928 -19.1186 -20.607 -0.620467 -0.4725 0.625911 \n17.8943 54.6165 -27.0526 -0.517755 0.588864 0.620619 \n-9.18079 50.537 27.9745 0.924861 0.196537 -0.325584 \n46.9053 51.4035 28.8372 0.22695 0.951604 -0.207229 \n-7.44827 51.2217 30.258 0.213553 0.904698 -0.368668 \n56.807 51.7458 28.0737 -0.483753 0.870613 -0.0895317 \n0.880275 -4.68245 -30.5318 0.0134663 -0.0536156 0.998471 \n-1.10401 -4.99915 -30.4297 0.0909674 -0.270091 0.958528 \n53.6196 52.934 28.5639 -0.0317071 0.963588 -0.265503 \n51.1067 52.7635 28.163 0.0478547 0.997167 -0.0580392 \n-52.3983 52.6581 28.5337 -0.846803 -0.165076 -0.505643 \n-9.91095 -18.7642 -20.6247 -0.29119 -0.755642 0.586698 \n4.34268 -3.27235 -29.9827 -0.14736 -0.241222 0.959217 \n-5.3265 53.1469 29.2253 0.50898 0.0172547 -0.860605 \n8.81022 54.014 28.2601 -0.678838 -0.0385193 -0.733277 \n10.8349 -18.3963 -20.1055 0.631013 -0.510071 0.584509 \n1.49941 -29.3333 -54.3742 0.949502 -0.275186 0.150729 \n-33.9813 25.8542 -10.4985 0.418694 -0.71961 0.553946 \n-6.58761 -18.4406 -19.6593 -0.320028 -0.872068 0.370242 \n-35.3867 29.1439 -11.1318 0.618794 -0.299906 0.726051 \n-4.24561 54.5549 28.5822 -0.12297 0.71008 -0.6933 \n-26.2213 -52.7757 -7.35639 -0.0342669 -0.639507 -0.768022 \n7.80584 54.983 28.6325 -0.38088 0.415272 -0.826123 \n-14.4799 13.3576 -25.8301 0.748332 0.279804 0.601422 \n-27.2119 -52.5331 -7.43212 0.473621 -0.50555 -0.721182 \n-0.604749 -3.68785 -30.1914 0.114283 0.157331 0.980911 \n-2.00687 -3.76765 -29.9273 0.285279 0.109081 0.952217 \n-11.3328 60.8702 28.442 0.922138 -0.356352 -0.150579 \n-51.0957 61.8163 29.1254 -0.80034 0.0189117 -0.599249 \n10.2444 62.1654 28.6098 0.277111 -0.521293 -0.807133 \n11.2517 44.6781 -36.1215 -0.0677074 0.211098 0.975117 \n-57.5621 61.8571 28.612 0.843682 0.53517 -0.0423481 \n-49.6816 62.7515 27.9009 -0.887424 -0.21954 -0.405315 \n-56.9321 62.365 28.0329 0.584218 0.76634 0.267231 \n11.223 63.4244 28.7461 -0.934463 -0.350899 -0.0604005 \n8.23328 63.1517 27.6697 0.771761 -0.168377 -0.613217 \n-53.3549 63.9216 28.9006 0.41975 0.837482 -0.349905 \n-55.7946 63.6732 28.3937 0.422019 0.876219 0.232679 \n39.793 -46.248 -19.6581 -0.749621 0.00179363 0.661865 \n12.2276 65.9771 28.1089 -0.848702 -0.528272 0.025193 \n-11.942 64.9352 29.2833 -0.576701 0.336903 -0.744253 \n-50.235 67.1978 28.3482 -0.276742 0.793135 0.542542 \n2.41162 -3.33205 -30.3435 -0.05096 0.0899014 0.994646 \n0.247114 -3.23895 -30.1739 0.0477081 -0.13894 0.989151 \n-14.5417 69.1938 28.8955 -0.523958 0.40888 -0.747185 \n15.1852 69.2994 28.3115 -0.695036 -0.703634 -0.14773 \n-9.79498 45.5695 -35.996 0.310553 0.447893 0.838421 \n-2.95597 -15.9364 -20.0889 -0.457714 -0.771795 0.441395 \n-15.3608 70.8983 28.5141 -0.513907 0.489387 -0.704557 \n-14.0749 -73.711 -30.2295 -0.650587 -0.555737 0.517584 \n31.8012 35.0411 -12.0689 -0.538738 0.00845056 0.842431 \n-20.3708 -55.9699 -29.5884 -0.157133 0.269165 0.950189 \n-18.7164 72.3266 28.2833 0.697855 -0.702905 -0.137559 \n33.9506 36.5311 -10.6795 -0.434858 0.10577 0.894266 \n-16.1118 72.3766 27.8906 -0.451153 0.630059 -0.632049 \n-18.2681 72.7254 28.8731 -0.244268 0.568949 -0.785258 \n12.7375 72.8092 28.1272 0.669674 0.670626 -0.319057 \n-19.387 73.1329 28.6574 0.356712 0.0496605 -0.932894 \n0.282892 -15.5573 -19.6765 -0.0798422 -0.974721 -0.208671 \n17.6926 75.6441 27.7565 0.100617 0.993584 0.0516397 \n1.01534 30.2628 28.9244 -0.270464 -0.867104 0.418307 \n0.0143421 30.7812 27.6647 -0.028126 -0.880973 0.472331 \n-15.4406 55.9188 -27.567 0.706415 0.521263 0.478814 \n34.5229 -14.8881 -19.9322 -0.811832 0.0994042 0.575367 \n2.42581 -2.72945 -30.4348 -0.0255593 -0.389408 0.920711 \n2.73327 -15.4075 -20.4411 -0.192784 -0.954733 -0.226539 \n54.7963 31.3848 27.5225 -0.288461 -0.877532 -0.383051 \n-2.8619 27.2652 -38.1625 0.355415 0.0448007 0.933634 \n-34.8783 38.5508 -11.4694 0.606521 0.419835 0.675182 \n58.3472 33.8362 28.4774 -0.584905 -0.772392 -0.247583 \n5.62237 33.7845 28.1877 -0.724232 -0.523781 0.448487 \n59.2071 34.0678 27.5997 -0.557161 -0.826364 -0.0818118 \n-5.97998 34.7407 27.9091 0.768467 -0.552073 0.323533 \n48.134 35.1626 28.3004 0.626881 -0.530977 -0.57016 \n3.89028 -19.9554 -29.6926 -0.617159 -0.381535 -0.688147 \n60.768 36.0774 27.5748 -0.896305 -0.415467 -0.154997 \n46.6456 36.4378 28.2616 0.641711 -0.489668 -0.590282 \n31.8256 40.1754 -10.4134 -0.524413 0.467248 0.711808 \n8.30657 38.803 28.4197 -0.944759 -0.116802 -0.306248 \n-7.4986 38.437 27.7613 0.888354 -0.0660669 -0.454381 \n-6.96855 39.2477 28.575 0.913768 -0.396455 0.0886058 \n61.8932 38.9757 27.829 -0.92239 -0.238362 -0.30394 \n8.44058 40.0095 28.0666 -0.900083 -0.189294 -0.392452 \n-7.38948 40.1424 27.9405 0.85233 -0.47955 -0.208722 \n-19.4788 -51.2542 -7.61192 -0.173178 -0.341392 -0.923829 \n0.741273 -22.0414 -46.9856 0.555661 0.76111 0.334591 \n30.1131 41.2999 -11.2431 -0.845473 0.347307 0.405651 \n10.2228 41.186 27.6996 -0.505378 -0.854702 -0.118647 \n10.1835 41.579 28.6698 -0.688575 -0.490922 -0.533723 \n-20.3446 -50.8638 -6.82191 -0.379629 -0.38046 -0.843286 \n-8.62246 41.8231 28.562 0.979899 0.00255038 -0.199477 \n11.6653 42.9498 27.805 -0.793128 -0.0856321 -0.603005 \n-8.47536 42.7287 28.5385 0.892844 0.125481 -0.432532 \n44.9117 43.6329 27.8188 0.876695 0.138975 -0.460534 \n-57.668 43.8443 27.5074 0.137893 -0.920731 -0.365021 \n-54.2201 44.3094 27.9037 -0.484559 -0.559909 -0.67209 \n11.4503 44.9465 27.6271 -0.73319 0.153474 -0.662479 \n10.676 46.4723 -35.924 -0.604659 0.460891 0.64959 \n45.7961 46.2473 28.558 0.819206 -0.10326 -0.564127 \n-1.21239 26.7094 -37.9833 -0.452991 -0.657643 0.601918 \n32.7551 -9.69295 -20.195 -0.588825 0.510755 0.62643 \n-1.57729 -3.18475 -30.1374 0.0350329 -0.435072 0.899714 \n44.8466 46.41 27.7944 0.365762 -0.714591 -0.596304 \n43.7615 46.8615 28.1938 0.282078 -0.807585 -0.517917 \n-62.5259 47.1441 28.2129 0.81684 -0.575894 0.0334515 \n60.5172 47.7123 28.4697 -0.837767 0.330975 -0.434285 \n43.4228 47.6255 28.5831 0.792902 -0.333886 -0.509732 \n-4.12509 -2.47395 -30.4547 0.119241 -0.584585 0.802522 \n60.1139 48.708 28.1008 -0.781656 0.585118 -0.215987 \n-28.098 43.4886 -11.5268 0.582152 0.660125 0.474694 \n-63.1123 49.3946 27.5631 0.978092 -0.0920241 0.186727 \n-62.9837 51.1469 27.9819 0.953571 0.234164 0.189391 \n48.7884 52.4675 27.3768 0.193578 0.971018 -0.140186 \n-23.6352 -8.43415 -20.509 0.189733 0.833762 0.5185 \n9.03306 52.4442 27.8515 -0.553591 0.589708 -0.588031 \n53.3934 53.0121 26.9633 0.0684085 0.99665 -0.0448268 \n29.414 46.5436 -12.7277 -0.906057 0.291122 0.307099 \n-5.24575 54.0144 28.9804 0.289811 0.47243 -0.832358 \n-51.0972 54.2058 27.3592 -0.828317 -0.243177 -0.504734 \n-18.1753 -50.7077 -7.6072 -0.186481 -0.339665 -0.921875 \n-19.9151 -49.4658 -6.8415 -0.186944 -0.399656 -0.8974 \n-5.58876 55.294 28.0605 0.225571 0.610896 -0.758897 \n-25.7285 48.4956 -10.7522 0.880829 0.468035 -0.0712996 \n28.3505 49.2584 -11.241 -0.796169 0.567431 -0.210087 \n-29.8715 -49.7256 -7.73775 0.629351 -0.50631 -0.589548 \n8.26131 56.1427 27.6553 -0.187788 0.672749 -0.715643 \n29.9268 -5.85505 -19.5552 -0.461303 0.753934 0.467744 \n6.89855 55.2591 28.6283 -0.0788861 0.725488 -0.683699 \n4.9318 55.9865 28.5239 -0.0599942 0.748284 -0.66066 \n-51.0705 55.4799 27.9103 -0.958754 -0.106116 -0.263686 \n-50.9646 56.793 27.3498 -0.975103 -0.0424206 -0.217657 \n-50.9881 58.7739 28.584 -0.993025 -0.054994 -0.104294 \n-50.6862 59.0434 28.1513 -0.657115 -0.389628 -0.645283 \n-5.56877 -2.17125 -30.3403 0.317417 -0.327635 0.889888 \n27.6268 -5.00405 -19.703 -0.494758 0.615609 0.613384 \n-10.7213 60.2896 28.4515 -0.175933 -0.525756 -0.832243 \n-11.2563 60.9822 27.5484 0.937401 0.0154817 0.347908 \n-17.7143 -49.9441 -7.24485 -0.369947 -0.377117 -0.849071 \n31.8618 27.045 -9.57273 -0.397811 -0.780586 0.482112 \n9.22362 -1.28965 -30.1051 -0.415723 -0.139197 0.898776 \n26.526 -4.33115 -19.6653 -0.584535 0.562211 0.585011 \n26.5108 51.7281 -11.4382 -0.676609 0.562076 -0.47568 \n9.08934 63.9193 28.8339 0.659679 -0.19403 -0.726069 \n-55.7118 62.6654 27.1479 0.484966 0.728854 0.483301 \n-20.1157 -4.05415 -19.3881 0.913705 0.250392 0.320074 \n25.4627 23.0554 -20.0923 -0.841269 -0.481726 0.245371 \n-54.2527 63.8628 27.9128 0.259465 0.959868 0.106445 \n-49.1802 64.4323 28.3276 -0.959078 -0.266147 -0.0966236 \n-23.1939 22.7824 -18.7996 0.976734 -0.20521 -0.062293 \n-10.9072 65.9979 27.8181 -0.623142 0.386304 -0.680047 \n-22.0091 53.3731 -11.2309 0.863499 0.490991 -0.115318 \n8.79864 66.3396 28.4515 0.79501 0.136304 -0.591084 \n-49.5937 66.7375 28.3508 -0.633748 0.608758 0.47726 \n-15.525 -74.6434 -30.1492 -0.291762 -0.895635 0.335729 \n-14.7019 68.41 27.7707 0.775353 -0.59112 0.222272 \n23.1671 -0.894651 -19.8585 -0.597825 0.627175 0.499257 \n21.4214 -49.2146 -7.11358 0.887748 -0.243839 -0.390442 \n-16.5042 -47.9909 -7.01617 -0.474121 -0.240944 -0.84685 \n-18.9836 -0.254251 -19.644 0.885576 0.27406 0.375029 \n-14.2713 71.3008 27.4803 -0.598595 0.548553 -0.583757 \n18.697 70.9759 27.3417 -0.196143 -0.744052 -0.638682 \n11.7154 71.4902 28.2474 0.716781 0.524231 -0.45979 \n22.1609 72.9532 28.0031 -0.80408 0.174271 0.568406 \n4.83971 -8.95005 -29.9854 -0.564338 0.100978 0.819345 \n-31.275 -48.6618 -7.62319 0.51022 -0.467537 -0.721862 \n20.4112 57.6245 -11.3685 -0.591798 0.756986 -0.277032 \n-20.7578 74.1302 27.9793 0.361391 0.31594 -0.877256 \n21.4128 74.337 27.5886 -0.723172 0.364706 0.586524 \n21.3443 75.1935 28.3377 -0.497962 0.781872 0.375114 \n47.8509 31.031 27.7871 0.168051 -0.79767 -0.579208 \n21.4094 3.30135 -20.1061 -0.703164 0.589495 0.397562 \n53.9609 30.9823 26.6727 -0.159557 -0.969185 -0.187674 \n52.9104 31.3925 28.0052 -0.164157 -0.926788 -0.337811 \n2.83392 31.3057 28.198 -0.386652 -0.799305 0.460012 \n42.0262 -46.8419 -8.2091 -0.976804 -0.202565 -0.0694367 \n58.6968 33.868 26.4425 -0.591582 -0.794681 -0.136057 \n21.323 -47.1872 -7.30927 0.916946 -0.202853 -0.3436 \n-8.21511 2.53895 -30.4363 0.403782 -0.250762 0.879817 \n15.9605 63.2841 -10.3547 -0.678147 0.721872 -0.137902 \n-8.15623 47.052 -35.9511 0.322754 0.472745 0.819965 \n45.5801 39.0548 27.762 0.800865 -0.235987 -0.550386 \n7.72834 37.5985 27.811 -0.849369 -0.472415 0.235363 \n-7.63188 38.0471 27.0062 0.928876 -0.369995 -0.0171439 \n19.7974 8.05775 -20.5563 -0.883385 0.328527 0.334219 \n-50.2677 39.305 27.7646 -0.073286 -0.409388 -0.909412 \n-16.4676 8.11045 -21.1949 0.901868 -0.084332 0.423701 \n-50.9141 40.4251 27.8532 0.169021 -0.125381 -0.977605 \n3.52979 -28.0475 -46.119 -0.30252 -0.907007 -0.292951 \n8.6939 39.8432 26.655 -0.93007 -0.367324 -0.00660769 \n61.9961 40.6395 27.1876 -0.970572 -0.0330809 -0.23853 \n-49.7904 40.025 27.7535 -0.491507 -0.054284 -0.86918 \n-8.75528 41.0248 27.7189 0.78051 -0.613189 -0.121669 \n-51.9541 40.5304 27.5068 0.132026 -0.190958 -0.972679 \n62.2759 42.0888 27.6895 -0.959729 -0.00411837 -0.280897 \n-50.7301 42.0119 27.7447 -0.27833 0.286185 -0.916859 \n-51.4836 41.7467 27.7828 0.198609 0.019961 -0.979875 \n-52.4843 41.9205 27.4591 0.0965228 0.028085 -0.994934 \n11.2591 2.48055 -30.354 -0.499975 -0.145936 0.853656 \n-15.768 -47.0224 -7.73079 -0.624093 -0.0234646 -0.780997 \n62.2475 43.7589 27.1797 -0.942447 0.282356 -0.179077 \n-55.3542 43.7082 27.7807 -0.00725335 -0.829125 -0.559016 \n1.47542 -27.9381 -45.7109 0.0857692 -0.957455 -0.275542 \n45.1854 44.7957 27.7363 0.880525 0.107659 -0.461612 \n-9.44492 65.8328 -12.2878 0.761608 0.647947 0.0108515 \n-53.5512 45.6987 28.2957 -0.699753 -0.323747 -0.636815 \n10.5063 66.3934 -10.576 -0.447823 0.893633 -0.0295776 \n61.0882 45.9009 27.5222 -0.906728 0.363144 -0.214407 \n-32.9599 -45.2547 -7.85692 0.85697 -0.296807 -0.421317 \n-62.305 47.5879 27.1158 0.885651 -0.446316 0.128161 \n43.3969 48.3532 28.2358 0.897933 0.327338 -0.294223 \n4.69238 -27.4332 -46.5433 -0.673731 -0.718505 -0.172737 \n43.6703 49.1423 27.7133 0.70971 0.685638 -0.161903 \n-9.02554 49.7063 27.6907 0.914467 -0.402161 -0.0449122 \n9.63466 50.0529 27.8912 -0.894878 0.0999418 -0.434977 \n-19.4275 17.268 -19.3693 0.761774 -0.576843 0.294877 \n58.538 50.9077 27.8337 -0.683392 0.712125 -0.16079 \n47.6661 51.6388 27.8922 0.360102 0.900676 -0.243125 \n45.8949 51.4171 27.2133 0.336036 0.939153 -0.0712208 \n55.9967 52.1973 26.2305 -0.404592 0.91328 0.0471643 \n47.646 52.2635 26.4518 0.418172 0.906212 0.0625518 \n-0.416162 68.0838 -10.7713 -0.295502 0.953676 0.0563941 \n-16.2724 -44.5335 -7.59537 -0.664378 0.125272 -0.736823 \n55.4716 52.7069 28.0149 -0.340467 0.93862 -0.0554459 \n51.9277 52.58 26.8205 0.0608916 0.995554 -0.0718575 \n8.76748 53.0163 27.9011 -0.644871 -0.152362 -0.748951 \n-4.85111 67.9533 -11.4215 0.229183 0.964038 0.13456 \n-8.19604 54.0219 27.2674 0.640818 -0.280904 -0.714455 \n22.6036 19.6311 -20.1447 -0.534751 -0.835589 0.125827 \n-1.26717 56.1247 27.1671 0.077968 0.72117 -0.688356 \n-21.5268 -75.085 -28.0711 -0.0958561 -0.99351 -0.061228 \n3.06906 55.9017 27.6186 0.0993309 0.810568 -0.57716 \n-50.7332 57.4774 27.1642 -0.700084 -0.40466 -0.58833 \n-49.6568 58.3986 26.9945 -0.682628 -0.396919 -0.613575 \n-11.111 59.5879 27.4581 0.851811 -0.438564 -0.286497 \n42.5565 -42.3939 -7.08548 -0.98646 -0.117535 -0.114376 \n-59.154 59.6464 27.9158 0.91267 0.406272 -0.0444486 \n-22.4827 21.3716 -19.4991 0.905597 -0.420506 0.0553872 \n-49.7085 60.2761 27.9697 -0.750869 -0.0697315 -0.656759 \n10.5782 61.1749 27.5411 -0.884054 -0.381508 -0.27 \n9.93373 60.2651 27.1032 -0.191123 -0.553163 -0.810853 \n-58.2621 61.3485 27.3854 0.782548 0.620634 -0.0493149 \n-49.7805 61.7937 27.7307 -0.787945 -0.0334179 -0.614838 \n-8.24356 47.544 -35.6936 0.40443 -0.0982841 0.909272 \n-9.22766 63.1887 27.7142 -0.785656 0.161117 -0.597316 \n-10.8374 62.2574 26.6288 0.898287 -0.329898 0.290256 \n8.33861 61.701 27.0604 0.585586 -0.350202 -0.731059 \n-11.8088 62.5635 28.2124 0.884492 -0.310698 0.348052 \n-54.7547 63.3549 27.2025 0.488721 0.764719 0.419949 \n-54.0077 64.025 27.2104 0.819814 0.555433 -0.139283 \n-13.0741 66.0529 27.9017 0.818093 -0.532067 0.218238 \n47.7739 -68.4553 -7.17399 -0.243555 0.649357 -0.720428 \n31.5507 -74.3351 -24.7736 -0.352215 -0.376454 0.856871 \n16.779 70.6063 28.1084 -0.562414 -0.757514 -0.331454 \n10.3667 70.5161 26.8584 0.789823 0.542364 -0.286392 \n-12.5501 68.9109 27.5621 -0.606338 0.430966 -0.668298 \n-16.4423 70.4199 27.8552 0.725334 -0.664765 0.178822 \n17.4062 70.6624 27.5644 -0.34968 -0.798657 -0.489767 \n5.21393 28.2633 -37.9529 0.0533854 -0.350091 0.935193 \n21.1421 71.2464 27.4139 -0.143537 -0.684285 -0.714949 \n39.1446 -37.6861 -17.4466 -0.661345 0.538096 0.522566 \n-23.4322 30.0252 -20.472 0.998468 -0.00536648 0.0550789 \n-17.6742 73.9641 27.215 -0.358096 0.742846 -0.565639 \n-21.1543 73.7809 27.5474 0.548277 -0.785078 -0.288176 \n-19.6035 73.8276 28.2901 -0.147215 0.716492 -0.681885 \n-20.879 74.6603 27.3362 0.0618782 0.927664 -0.368253 \n-21.6756 74.604 27.1984 0.733601 0.346342 -0.584702 \n19.3213 75.3104 27.0246 -0.203625 0.915832 0.346105 \n48.708 30.5237 26.7577 0.049126 -0.85333 -0.519051 \n-37.0351 -74.9733 -11.5011 0.303489 -0.898515 0.317121 \n-10.1602 10.2257 -30.1512 0.578348 -0.112071 0.808055 \n46.6 31.3595 27.2257 0.669107 -0.483528 -0.564355 \n-38.2848 -74.448 -10.9066 0.724528 -0.221837 0.65257 \n3.90163 32.928 27.0152 -0.590474 -0.674656 0.442922 \n56.7101 32.2533 27.2086 -0.534901 -0.808318 -0.245972 \n47.5258 33.4381 27.8659 0.87738 0.361278 -0.315725 \n-4.64064 33.8179 27.2317 0.56907 -0.633067 0.524771 \n60.1782 34.9396 27.153 -0.771479 -0.633192 0.062354 \n60.6994 36.1878 26.3725 -0.807706 -0.583518 0.0843716 \n7.07393 37.303 26.9819 -0.78097 -0.509835 0.360768 \n-6.57212 36.0512 26.8407 0.838031 -0.51353 0.184367 \n60.98 37.1404 27.6238 -0.882337 -0.400732 -0.246769 \n-10.5797 11.7642 -31.1082 0.482322 -0.461212 0.744748 \n-27.9084 -56.1784 -26.983 0.741193 0.0844031 0.665964 \n46.0307 36.5403 27.1716 0.761675 -0.312113 -0.567835 \n-25.5141 35.4743 -20.1091 0.858441 -0.125175 0.497404 \n61.9271 38.112 26.9861 -0.898721 -0.382383 -0.21467 \n-50.1343 37.9084 26.8103 0.0425673 -0.598137 -0.800263 \n-33.0174 -38.9256 -8.01045 0.990222 -0.134075 0.0385255 \n-25.8171 37.3227 -19.7124 0.826647 0.0599258 0.559521 \n44.7356 38.8133 26.706 0.800911 -0.243254 -0.547147 \n-49.1608 37.8554 26.4101 -0.483298 -0.354569 -0.80044 \n-51.4121 38.6064 27.0816 0.134863 -0.455023 -0.880208 \n-52.3233 38.0203 26.931 0.0247006 -0.459703 -0.887729 \n-8.06903 39.9398 26.6589 0.956085 -0.163139 -0.243489 \n1.13867 27.58 -38.2483 0.332176 -0.838892 0.431184 \n45.0216 40.806 27.5385 0.802024 -0.167889 -0.573211 \n-53.2553 40.5084 27.5881 0.209788 -0.105794 -0.972006 \n-54.7568 39.8739 26.6675 0.365531 -0.342899 -0.865336 \n-17.8203 -73.7262 -12.0436 -0.952732 -0.0753239 -0.294326 \n-9.41933 41.9854 27.1661 0.799186 -0.126909 -0.587533 \n-49.8951 41.5629 27.4975 -0.832219 0.530755 -0.160343 \n-54.8304 41.6112 27.0509 0.235905 -0.143224 -0.961164 \n44.3071 42.3797 26.7934 0.87993 0.00785942 -0.475037 \n-50.984 42.7527 27.0407 -0.723921 0.598134 -0.343765 \n-53.919 43.2984 27.3566 0.0543084 -0.101418 -0.993361 \n-54.8512 42.8773 27.1586 0.106564 -0.255871 -0.960819 \n-11.4783 11.7031 -30.3091 0.572535 -0.427135 0.699828 \n49.5731 -73.3387 -11.6676 -0.760707 -0.0452632 0.647515 \n-51.937 43.3568 27.5333 -0.163206 0.227399 -0.960028 \n29.2447 41.6976 -19.8133 -0.948042 0.245416 0.202452 \n-51.9787 44.3563 27.0031 -0.625181 0.144208 -0.767042 \n-52.756 44.5634 27.3968 -0.364126 -0.12882 -0.922398 \n-58.7003 44.2701 26.78 0.492231 -0.869771 -0.0347431 \n-9.58947 44.3403 26.968 0.77842 0.112436 -0.617592 \n49.2687 -71.2783 -12.0395 -0.773225 0.0794264 0.629138 \n44.9076 45.7328 27.3232 0.762617 -0.25648 -0.593829 \n14.075 13.889 -29.8089 -0.598318 0.537676 0.594071 \n-61.1258 46.0418 27.5091 0.747875 -0.66356 0.0192652 \n43.9786 45.6947 26.3627 0.367802 -0.756116 -0.541304 \n60.6691 47.3808 27.2976 -0.926337 0.33624 -0.169831 \n42.781 46.5555 27.1471 0.584283 -0.579514 -0.568135 \n-25.1292 44.7726 -19.9476 0.796977 0.204028 0.568507 \n42.4531 47.786 27.0244 0.880167 0.237885 -0.410752 \n-8.72084 47.6676 27.0871 0.942128 0.150381 -0.299633 \n-52.5209 47.7928 27.3358 -0.805611 -0.0884535 -0.585805 \n40.1909 -70.926 -18.3552 -0.664873 0.0100944 0.746888 \n50.0615 -70.1302 -10.8434 -0.879568 0.214717 0.424566 \n59.9557 48.9045 27.1138 -0.840572 0.525116 -0.133008 \n44.7794 49.9848 28.2229 0.703138 0.704101 -0.0991902 \n24.872 -36.0101 -6.65846 0.928671 -0.174286 -0.327407 \n-62.8509 51.4706 27.122 0.941853 0.217834 0.255856 \n-24.1501 46.1013 -20.0957 0.930082 0.210182 0.301283 \n58.072 51.3122 26.8761 -0.622687 0.778031 -0.0832423 \n46.9378 51.6246 26.8687 0.415779 0.908068 0.0504041 \n-7.59638 52.3747 27.2846 0.592275 0.551693 -0.587235 \n-9.05379 51.3988 27.2026 0.627839 0.682071 -0.374964 \n8.99627 48.3696 -35.6507 -0.46048 -0.0117147 0.887593 \n-9.2318 14.7425 -30.1936 0.642366 0.522036 0.56111 \n-24.1591 47.955 -20.72 0.97504 0.16643 0.146965 \n16.6543 7.51575 -26.2332 -0.786741 0.110958 0.607229 \n-12.7583 -74.0497 -24.4732 -0.825168 -0.546706 -0.142162 \n-8.57216 15.8688 -30.547 0.293591 0.413829 0.861713 \n-35.6273 -68.9059 -12.0386 0.663461 0.740403 -0.107809 \n9.11912 55.4049 27.6853 -0.630016 0.300962 -0.715892 \n42.7667 -36.0005 -7.246 -0.922221 0.383418 0.0499891 \n-3.19261 55.5756 26.9853 0.0613 0.813206 -0.578738 \n2.98895 56.5019 27.0082 -0.0411061 0.399887 -0.915642 \n1.47199 56.2378 27.4267 0.124033 0.757707 -0.640699 \n-5.07719 56.0452 27.3462 0.0764567 0.85673 -0.510067 \n25.7946 49.9392 -19.6341 -0.845055 0.437482 0.307396 \n4.48956 56.8953 27.0957 0.0436612 0.776843 -0.628178 \n1.89967 56.8792 27.1493 0.0257299 0.127375 -0.991521 \n-60.1266 56.947 27.2504 0.777414 0.57707 0.250235 \n-10.5068 59.1097 27.4828 -0.0997858 -0.57908 -0.809141 \n-8.55834 60.1553 -27.8236 0.450058 0.750657 0.483696 \n-10.7691 17.3073 -30.6753 0.376627 -0.696492 0.610779 \n-11.0141 59.3695 26.9095 0.957307 -0.0141333 0.288726 \n-0.23648 -26.903 -46.3227 0.837896 -0.542745 0.0579469 \n9.2954 60.4594 26.9958 0.423487 -0.425721 -0.799638 \n23.9546 52.7589 -19.326 -0.790461 0.52767 0.311023 \n-8.65821 61.9767 26.5326 -0.828944 -0.114972 -0.547388 \n-10.5996 61.3428 26.5969 0.91469 0.0189923 0.403709 \n-49.0654 61.7066 26.4496 -0.896303 0.209447 -0.390863 \n-57.4312 62.0848 26.9772 0.432412 0.868601 0.241975 \n-20.8558 53.6162 -20.2258 0.816182 0.526163 0.238746 \n-56.3839 62.1699 26.7835 0.247921 0.861806 0.442522 \n-34.0802 -67.4319 -12.3025 0.377166 0.913557 -0.152181 \n7.58542 64.8335 26.9726 0.876889 0.0650264 -0.476275 \n22.2654 55.1001 -19.6617 -0.710848 0.616695 0.338205 \n-49.3233 63.2501 26.6268 -0.999166 0.0405184 -0.00511766 \n-31.622 -67.215 -11.8235 0.441879 0.788421 -0.427942 \n-20.6009 54.3303 -21.3063 0.918145 0.342425 0.199385 \n-32.9141 -33.9874 -7.71735 0.977343 0.0531403 0.20488 \n21.5876 55.0413 -20.2943 -0.478891 0.704352 0.523977 \n21.0553 55.4557 -20.4179 -0.873425 0.432122 0.224497 \n-52.8444 66.018 27.6619 0.735306 0.65808 0.162035 \n12.2194 65.6624 26.1047 -0.787827 -0.588861 -0.180478 \n-9.27155 65.3066 26.576 -0.730442 0.377284 -0.569307 \n-20.1281 56.1672 -19.1914 0.780447 0.59335 0.197074 \n43.8096 -65.8661 -11.6481 -0.613253 0.766039 0.192625 \n4.1365 -20.152 -42.2762 -0.409608 0.87276 0.26554 \n20.7357 70.3552 26.732 -0.0807726 -0.611717 -0.786943 \n21.9154 72.1303 27.9829 -0.57157 -0.673698 -0.468442 \n43.0769 -65.2409 -11.2606 -0.515919 0.853794 -0.0697396 \n-20.374 -64.7432 -11.9056 -0.476069 0.503309 -0.721137 \n21.8558 72.1796 27.2874 -0.91097 -0.22762 0.34398 \n-18.0872 72.0369 27.4831 0.577128 -0.815758 -0.0382474 \n-20.5408 73.4446 27.9658 0.600894 -0.673579 -0.43037 \n13.9909 74.0654 27.5762 0.500504 0.811426 -0.3018 \n14.6545 18.9094 -31.1438 -0.249767 -0.912943 0.322725 \n15.538 75.014 26.7117 0.386213 0.919955 -0.0672434 \n51.0563 30.7917 27.1385 -0.125975 -0.919722 -0.371807 \n50.3306 30.0465 26.327 -0.134245 -0.885875 -0.444076 \n-26.6873 -64.973 -11.5721 0.154473 0.966625 -0.204386 \n1.38947 31.2372 27.3549 -0.198651 -0.882301 0.426712 \n-0.843593 31.0982 27.0325 0.191445 -0.910923 0.36547 \n46.6872 32.136 27.6246 0.842168 0.314702 -0.437853 \n22.507 -31.2844 -7.1073 0.740539 -0.613266 -0.274787 \n-1.94802 32.0648 26.7739 0.617749 -0.689437 0.378236 \n57.5703 33.2355 27.0248 -0.652488 -0.745384 -0.136608 \n-14.7539 60.5873 -20.9254 0.262559 0.930475 0.255497 \n-21.6991 -64.8578 -11.6048 -0.137519 0.813673 -0.564823 \n31.6843 -72.521 -25.0005 -0.371657 -0.0801519 0.924904 \n-23.1323 -64.4808 -11.7807 0.0623017 0.889351 -0.452961 \n47.6908 34.5196 27.119 0.812641 -0.284091 -0.508829 \n13.803 61.854 -20.2835 -0.638107 0.606171 0.474738 \n-5.24914 34.9386 26.9715 0.627 -0.611815 0.482238 \n46.3764 35.5745 26.5391 0.633774 -0.542541 -0.551344 \n25.8467 -63.3148 -12.5523 0.694956 -0.560873 -0.449954 \n45.0953 37.8491 26.6258 0.792348 -0.237105 -0.562109 \n-7.60672 48.9323 -36.0018 0.0633829 0.125264 0.990097 \n-51.0967 36.9471 25.7484 -0.00375571 -0.601995 -0.798491 \n13.3012 63.1381 -20.1645 -0.639905 0.570479 0.514854 \n-53.3927 39.2955 27.0774 0.280686 -0.338577 -0.898098 \n23.9411 -59.7584 -11.7612 0.767075 -0.376019 -0.519813 \n-15.2798 20.7596 -29.9789 0.66414 0.121793 0.737621 \n-10.2299 63.801 -20.6307 0.514804 0.785474 0.343522 \n-49.6526 40.8895 27.3403 -0.895877 0.435551 -0.08775 \n12.1968 64.1719 -19.8181 -0.476121 0.808146 0.346711 \n-8.22823 40.6524 27.1306 0.715894 -0.697478 0.0319276 \n-55.7243 39.9052 26.5039 0.26688 -0.436542 -0.859189 \n9.10375 40.6721 26.8266 -0.557283 -0.828287 -0.0581021 \n-21.9577 26.1408 -25.4495 0.966066 -0.21771 0.138995 \n-36.7509 29.3567 -10.4698 0.578262 -0.254533 0.77513 \n-56.0191 41.4742 27.0237 0.286896 -0.203303 -0.93614 \n-57.4669 41.6775 26.3087 0.630364 -0.205707 -0.748549 \n62.3516 41.7588 26.6443 -0.903735 -0.0923418 -0.418014 \n-24.8144 -73.5636 -25.6409 0.749156 -0.109671 0.653251 \n-8.68625 49.2682 -35.8298 0.288825 0.161405 0.943678 \n-9.32779 41.5042 26.5635 0.503064 -0.853078 -0.13851 \n-56.5054 43.0997 26.9174 0.298056 -0.387816 -0.872216 \n-57.3975 42.983 26.4385 0.553072 -0.27415 -0.786736 \n19.002 22.5338 -29.909 -0.71591 0.198134 0.66949 \n-51.2215 43.66 26.5839 -0.79061 0.224394 -0.569722 \n61.4706 45.7417 26.6625 -0.929604 0.352337 -0.108144 \n-8.80197 64.8383 -20.1317 0.386273 0.874008 0.294793 \n19.3154 23.2918 -29.8767 -0.531394 -0.374467 0.759865 \n11.2017 46.425 27.513 -0.693858 0.189503 -0.69473 \n-25.7618 -58.8476 -12.3885 0.341839 -0.640482 -0.687698 \n-34.9591 -28.9954 -7.66114 0.923681 -0.380701 0.0433693 \n42.7851 48.7579 26.1686 0.772781 0.629694 -0.0793401 \n10.6751 48.8594 27.2723 -0.721504 0.238546 -0.650022 \n-8.54912 48.8386 26.9735 0.998408 -0.0399914 -0.0397741 \n59.3055 49.4525 27.6941 -0.780319 0.601908 -0.169733 \n-62.6774 48.9815 26.6085 0.96832 -0.136225 0.209282 \n-19.2908 -57.9044 -11.8002 -0.132476 -0.637896 -0.758643 \n-5.5133 65.3055 -20.4338 -0.0496121 0.929598 0.36522 \n-20.2871 -57.7283 -11.408 0.0984972 -0.862098 -0.497076 \n19.226 -27.7052 -7.28976 0.706864 -0.637396 -0.306707 \n10.0261 51.1896 26.8268 -0.791978 0.295821 -0.534098 \n-62.0116 52.8452 26.5559 0.905252 0.324316 0.274477 \n-7.02679 52.9234 27.7879 0.650697 -0.207909 -0.73032 \n-8.11121 54.5995 27.3828 0.443146 0.32392 -0.835881 \n-7.41608 55.2201 27.2054 0.154917 0.80858 -0.567626 \n24.5953 28.4541 -25.9775 -0.874896 -0.231381 0.425464 \n-22.2303 -57.9426 -11.8597 -0.0394816 -0.590349 -0.806182 \n-60.9209 55.2312 26.0109 0.845284 0.469747 0.254623 \n-0.0439958 56.1428 26.984 0.0852384 0.515535 -0.852618 \n6.2099 28.8025 -38.2528 -0.146907 -0.182816 0.972109 \n22.8245 -57.2382 -11.5859 0.915508 -0.181809 -0.358874 \n5.85236 56.7194 26.5614 -0.112354 0.805174 -0.582298 \n-1.22531 57.1752 26.9144 0.139068 0.137948 -0.980628 \n2.76412 57.688 26.9688 -0.0975698 0.295321 -0.950403 \n1.26922 57.5133 27.0768 0.0590081 0.490872 -0.869231 \n-1.61684 57.8444 26.6714 0.0834339 0.680994 -0.72752 \n-27.6184 -57.2461 -12.1121 0.512756 -0.635102 -0.57769 \n0.144615 57.7567 26.7881 0.0642845 0.683787 -0.726845 \n40.0381 -47.458 -19.4826 -0.723889 -0.00396639 0.689905 \n22.8967 -55.9862 -10.9964 0.894171 -0.321436 -0.311667 \n20.5564 25.2857 -29.5651 -0.75863 -0.198125 0.620667 \n-10.0267 57.2405 26.1681 -0.0731865 -0.449918 -0.890066 \n-9.60603 59.6537 27.0847 -0.673073 -0.228372 -0.703433 \n-4.01374 66.3297 -20.1283 0.38778 0.893985 0.224539 \n-48.9928 58.833 26.29 -0.911414 -0.224233 -0.345029 \n9.49831 59.056 26.4102 0.274888 -0.295917 -0.914806 \n0.679554 66.8621 -20.1513 0.00607319 0.922578 0.385764 \n-15.1878 -54.8708 -12.1179 -0.628006 -0.456633 -0.630155 \n23.8267 -73.1014 -24.9916 0.736382 0.247449 0.629691 \n10.8403 62.0289 27.9008 -0.943036 -0.325739 -0.0676581 \n-17.9789 27.1402 -30.2955 0.883074 -0.218976 0.415006 \n25.6145 -75.2311 -20.8685 0.112454 -0.993133 0.0322582 \n-2.09902 -10.3003 -30.3092 0.612852 0.251097 0.749241 \n-11.7141 64.2066 26.9306 0.873992 -0.432438 0.221664 \n-18.2787 29.5445 -30.7175 0.827129 -0.135499 0.545433 \n-12.7137 65.7781 25.6389 0.81557 -0.575773 -0.0577109 \n-50.8621 66.3199 26.7128 -0.1437 0.8177 0.55742 \n-30.6172 -74.8867 -20.2456 0.262054 -0.895626 0.359419 \n-18.7786 28.4327 -29.933 0.385793 -0.252945 0.887233 \n-28.1964 -65.6261 -9.94102 0.224682 0.966572 -0.123517 \n-14.2557 68.0527 26.2471 0.782006 -0.616627 -0.0907597 \n41.0634 -25.3016 -7.94677 -0.996163 -0.0200995 0.0851825 \n-16.2418 70.3467 26.8348 0.701619 -0.706647 -0.0915447 \n-11.9028 69.1752 26.5354 -0.685354 0.529873 -0.499524 \n-22.6914 30.5875 -26.3548 0.999847 0.0017169 -0.0174058 \n21.183 70.8698 26.792 -0.86101 -0.50049 -0.0903971 \n-18.087 71.7558 26.4445 0.554715 -0.760656 -0.337185 \n21.2142 71.4835 26.5539 -0.781189 0.0767321 0.619561 \n-16.4449 -74.3764 -21.805 0.113265 -0.992729 0.0407539 \n-30.533 -53.3558 -11.6823 0.820532 -0.334456 -0.463537 \n-30.5468 -74.469 -20.2987 0.639515 0.193015 0.744154 \n-19.3431 75.1116 26.4136 -0.162508 0.925773 -0.341373 \n-35.3312 -24.5575 -8.52717 0.996578 -0.0467719 0.0681477 \n45.8685 31.9778 25.9048 0.816001 0.371899 -0.442531 \n2.70659 32.2985 26.3468 -0.615398 -0.782648 0.0935311 \n-17.5608 -65.6712 -29.0045 -0.370989 0.408347 0.834038 \n-2.51218 33.1823 25.893 0.736029 -0.647578 0.19724 \n-13.5606 -51.4981 -11.6125 -0.793063 -0.35046 -0.498226 \n-3.22621 33.5187 26.4581 0.527287 -0.681893 0.506941 \n5.4342 34.8251 26.4814 -0.729273 -0.632799 0.260244 \n22.41 -73.3947 -20.6765 0.850668 -0.523864 0.0439243 \n59.2684 34.3871 25.9204 -0.826294 -0.559993 0.0603824 \n-1.74325 29.3595 -38.278 0.24512 0.150728 0.957704 \n41.12 -49.9201 -12.9767 -0.910968 -0.170976 -0.375373 \n20.8026 -50.5559 -11.05 0.986196 -0.14641 0.0773438 \n-5.90762 35.3881 26.8869 0.587769 -0.607696 0.534072 \n-6.14134 36.8316 25.9364 0.571421 -0.568655 0.5917 \n6.09126 35.7593 26.6212 -0.833111 -0.483504 0.268609 \n38.2687 -73.5304 -19.6632 -0.66578 -0.150323 0.730849 \n45.1999 36.6007 26.4387 0.707898 -0.401986 -0.580765 \n40.4562 -23.6839 -7.1763 -0.995197 0.0938335 0.027884 \n-53.1391 37.7412 26.5275 0.366585 -0.547276 -0.752399 \n-13.2688 -48.8941 -10.7675 -0.82285 -0.187085 -0.536579 \n-49.0292 39.4137 26.8128 -0.892995 0.103996 -0.437886 \n-20.007 33.3801 -29.8895 0.617136 0.050281 0.785248 \n-49.1499 40.0366 26.1492 -0.860264 0.5072 0.0519004 \n62.4486 39.7749 26.1682 -0.912951 -0.301509 -0.274979 \n44.1118 40.1871 26.3113 0.874306 -0.1292 -0.467863 \n-8.28054 41.2813 25.7468 0.859961 -0.496662 0.117446 \n-50.3143 41.3206 25.7607 -0.868765 0.494111 -0.033202 \n-13.4464 -72.5471 -20.9606 -0.939384 -0.0339748 -0.341179 \n-30.8169 -71.674 -19.8945 0.716474 0.105735 0.689554 \n11.8466 42.1996 26.7672 -0.692918 -0.673234 -0.258111 \n62.3789 42.7402 26.3084 -0.914973 0.221317 -0.337407 \n-50.7789 42.4144 26.3807 -0.903978 0.420499 -0.0774847 \n-11.014 42.9619 25.7227 0.760435 -0.181614 -0.623502 \n2.0757 -27.3481 -44.0229 0.02798 -0.9996 -0.00407857 \n23.1429 -69.9826 -21.0175 0.961555 0.270924 0.0448532 \n-60.1647 45.052 27.055 0.571912 -0.820195 0.0139849 \n20.7585 -46.7126 -11.8567 0.986614 0.0332273 0.15965 \n37.465 -70.0858 -20.7201 -0.682281 0.0281809 0.730546 \n-29.8549 -70.3439 -20.5067 0.770976 0.0816519 0.631608 \n-6.78832 -3.85995 -28.8496 0.287807 -0.464999 0.837224 \n41.8698 46.7967 25.8903 0.928522 0.234085 -0.288185 \n13.2441 47.9569 24.7043 -0.79955 0.197038 -0.567358 \n60.1277 48.9812 26.0892 -0.79116 0.611157 -0.0235064 \n59.1867 49.9131 25.7837 -0.781917 0.622496 0.0332196 \n-8.91177 49.6816 26.2857 0.882191 -0.453201 -0.127854 \n-9.82061 50.9181 25.7399 0.970025 -0.153503 -0.188382 \n58.3077 51.2497 25.9586 -0.672342 0.736573 0.0735966 \n45.2242 50.9051 26.2436 0.586192 0.806785 -0.0740046 \n-13.8176 -68.0947 -21.1743 -0.943819 0.209965 -0.255188 \n-34.431 -20.0342 -8.09518 0.966575 0.237109 -0.0975278 \n-9.99285 58.257 -29.9239 0.14263 0.722969 0.675997 \n9.60547 52.85 26.8794 -0.82879 -0.0303692 -0.558735 \n-29.7944 -68.2733 -20.2671 0.87155 0.149007 0.467117 \n10.9385 54.2546 26.0549 -0.808864 0.0508954 -0.585789 \n-9.40468 54.9982 26.3667 0.655764 0.0192286 -0.754721 \n-8.38339 55.2087 26.9654 0.266941 0.521405 -0.810481 \n-6.00761 56.3045 25.3182 0.161974 0.867818 -0.469741 \n9.72666 56.8015 26.3197 -0.56497 0.398246 -0.72264 \n-2.785 56.124 26.4752 0.25192 0.304864 -0.918474 \n-4.52354 56.611 26.2235 0.0737037 0.790425 -0.608108 \n-50.5409 56.3911 26.3185 -0.812822 -0.161517 -0.559671 \n4.39986 57.3834 26.7153 -0.247001 0.303535 -0.920248 \n21.5774 -41.8827 -11.672 0.943047 0.320646 0.0885932 \n5.81486 57.2448 26.0593 -0.217327 0.244741 -0.944919 \n-9.14577 57.1443 25.9108 -0.450075 -0.150217 -0.880265 \n-10.6409 58.1142 26.6343 0.828123 -0.422303 -0.36861 \n-28.6054 -65.7617 -20.1634 0.737432 0.542332 0.40258 \n37.7649 -66.2952 -20.3211 -0.586417 0.323776 0.742485 \n4.91648 58.6346 26.3394 -0.143847 0.394318 -0.907646 \n43.4708 -65.2412 -9.6086 -0.377945 0.922782 -0.0750459 \n-33.1283 -41.1152 -11.7008 0.981887 0.134958 0.132981 \n-8.00882 58.2414 25.2843 -0.682621 -0.0382316 -0.729772 \n9.93702 58.1594 25.9881 -0.631494 -0.182319 -0.753641 \n-10.5798 58.0555 25.5239 0.964014 0.0854175 0.251756 \n-59.2052 59.1335 26.5919 0.892909 0.448755 -0.0365111 \n10.4266 59.9997 26.4143 -0.958813 -0.242499 -0.147891 \n42.3504 -40.0169 -11.7703 -0.764837 0.0839906 0.638726 \n-48.9265 60.4559 26.9297 -0.895456 -0.0512957 -0.442185 \n-58.1234 61.271 26.2872 0.799017 0.510341 0.318001 \n40.688 -51.9341 -18.2501 -0.872822 -0.130625 0.470233 \n-55.4988 62.1103 25.9128 0.796245 0.597787 0.092981 \n11.4274 64.4819 26.6456 -0.930374 -0.365618 -0.0269723 \n7.3464 62.3629 26.213 0.848711 -0.0627022 -0.525127 \n-28.583 -64.676 -19.2349 0.985019 -0.157251 -0.0707755 \n-52.7053 65.4477 26.0414 0.486768 0.77568 0.401718 \n-51.8992 64.7257 24.4486 0.0464434 0.871655 0.487914 \n13.259 66.8598 26.2922 -0.668706 -0.68642 -0.28576 \n-6.74553 -18.2028 -7.35762 -0.214217 -0.925126 -0.313452 \n36.0468 -63.2448 -20.6346 -0.611595 -0.00483094 0.791156 \n14.6393 68.345 26.741 -0.631452 -0.71703 -0.295189 \n8.4185 66.9081 27.3556 0.840899 0.444299 -0.309011 \n21.192 70.3578 26.371 -0.938386 -0.0794509 0.336333 \n41.5335 -37.1489 -11.3858 -0.922204 0.197881 0.33224 \n-12.3019 -52.1311 -18.5119 -0.984042 -0.117594 0.13354 \n-15.1883 -63.2319 -20.7124 -0.963645 -0.108391 -0.244212 \n-16.7396 70.2096 25.3396 0.568129 -0.721733 -0.395388 \n25.0293 -35.8917 -11.736 0.907957 -0.008284 0.418981 \n28.872 32.471 -19.4101 -0.996122 -0.0446668 0.0757968 \n-19.3533 72.3934 26.0574 0.452626 -0.820104 -0.350086 \n-18.5081 43.587 -30.3949 0.591126 0.209687 0.778846 \n-16.1533 73.425 26.7353 -0.49881 0.727341 -0.471342 \n-21.908 73.9395 26.6058 0.463502 -0.761003 -0.453917 \n-15.9234 -34.5835 -13.8248 -0.974586 -0.149198 0.167099 \n-17.6252 74.5198 26.013 -0.435808 0.883004 -0.174285 \n40.7962 -35.3769 -12.3328 -0.766641 0.543512 0.341844 \n52.3975 30.7761 26.1631 -0.210146 -0.91384 -0.347469 \n-14.25 -61.0648 -19.4966 -0.850604 -0.470485 -0.234769 \n47.0909 30.4724 26.3862 0.255325 -0.886031 -0.386987 \n5.96003 -7.48455 -29.0849 -0.493075 -0.0314894 0.869416 \n45.6574 31.0554 25.4568 0.640764 -0.445235 -0.62545 \n1.50707 31.4914 26.5473 -0.268659 -0.92219 0.278188 \n-0.721948 31.8251 24.5785 0.159176 -0.95692 0.242831 \n-27.979 -35.7933 -17.9315 0.584891 0.0978783 0.805184 \n3.87757 28.6548 -37.9367 -0.126795 -0.0651421 0.989788 \n57.4833 32.6292 26.2009 -0.609331 -0.731714 -0.305466 \n-9.24473 30.9313 -37.0363 0.427004 -0.215742 0.878136 \n46.7515 33.2283 26.0788 0.802778 0.462 -0.376967 \n46.9538 33.7673 26.0053 0.834424 0.13862 -0.533406 \n24.2973 -66.7189 -17.649 0.932796 0.359346 0.0276182 \n46.6841 34.3086 25.8502 0.635577 -0.463275 -0.617591 \n-15.4438 -34.1529 -11.345 -0.967168 -0.253699 -0.0149104 \n25.5542 -60.4611 -20.9085 0.748049 -0.12563 0.651644 \n45.6284 34.7491 25.3806 0.632146 -0.513849 -0.579958 \n-3.26303 34.1638 25.3327 0.616274 -0.728845 0.298314 \n45.3096 35.561 25.544 0.751781 -0.439735 -0.491385 \n44.6209 36.8957 25.5267 0.816171 -0.209321 -0.538562 \n-49.1922 36.0695 25.4404 -0.157652 -0.625142 -0.764423 \n-33.2007 -16.5037 -7.09509 0.911817 0.328871 -0.245833 \n-6.75041 36.7481 26.1282 0.644509 -0.617566 0.4508 \n-13.7691 -59.9063 -20.7119 -0.981326 -0.189822 -0.0310883 \n24.5837 -60.3727 -20.0112 0.798762 -0.0679779 0.597795 \n-7.20729 37.3933 25.85 0.806032 -0.52226 0.278492 \n-48.5358 38.402 25.9355 -0.830316 0.110429 -0.546242 \n61.5539 37.6724 25.1204 -0.860194 -0.502422 -0.0874014 \n-54.2591 38.0285 25.9938 0.324697 -0.56955 -0.755106 \n-55.5838 38.0791 25.6805 0.411858 -0.412845 -0.812362 \n-23.0721 -74.8679 -27.4996 0.463714 -0.805341 0.369316 \n8.43168 39.5582 25.9686 -0.781541 -0.600351 0.169623 \n-18.042 44.8801 -30.3511 0.77211 0.180098 0.609435 \n43.8106 41.6535 25.5372 0.912784 -0.0548101 -0.404748 \n63.1172 41.3563 25.7707 -0.823901 0.00823794 -0.566675 \n20.9334 -31.5023 -12.6079 0.577719 -0.810196 0.0991097 \n12.3621 42.4915 25.0921 -0.785016 -0.619295 -0.0149418 \n-13.3255 -58.1077 -20.2653 -0.976713 -0.21446 -0.00622678 \n-31.0722 -32.0616 -12.1171 0.902461 -0.0161726 0.430469 \n12.4468 42.773 25.9726 -0.913478 -0.246488 -0.323731 \n-57.6589 43.5616 26.8303 0.537138 -0.679968 -0.499126 \n-50.8293 45.0618 25.8531 -0.728064 0.0957524 -0.678789 \n61.9671 44.4431 25.5413 -0.872607 0.453346 -0.181755 \n4.74917 -15.2992 -7.05961 -0.251679 -0.966243 0.0550621 \n61.2397 46.1535 25.352 -0.924264 0.379833 -0.0382572 \n41.8533 46.0968 25.456 0.687463 -0.33586 -0.643889 \n12.8838 45.1274 25.7499 -0.859198 0.0223456 -0.511155 \n-9.45474 47.607 26.0072 0.702639 0.24712 -0.667255 \n-13.1534 -56.7115 -19.6374 -0.98219 -0.187632 -0.00981743 \n-51.0227 47.0074 25.7263 -0.768314 0.116677 -0.629349 \n-61.3231 45.9034 25.6697 0.836976 -0.534287 0.11836 \n61.0023 47.385 26.2674 -0.917938 0.396526 -0.0125498 \n19.701 -31.0344 -11.7465 0.528318 -0.787571 0.317192 \n18.5145 -30.4719 -11.955 0.544345 -0.816103 0.194072 \n-9.10859 49.2976 25.6161 0.781661 0.162438 -0.602179 \n44.0014 49.4876 26.3313 0.690686 0.707703 -0.148693 \n11.651 50.1783 25.6657 -0.711682 0.335041 -0.61746 \n38.095 -14.399 -8.35334 -0.92648 0.375428 -0.0262389 \n-62.5734 49.8605 25.2695 0.922947 0.0211816 0.384345 \n31.6921 -70.9256 -25.2614 -0.38784 0.0460335 0.920577 \n25.0625 -55.0567 -20.4694 0.645137 0.00624979 0.764041 \n-9.6102 50.236 25.097 0.868829 -0.0765771 -0.489154 \n39.0367 -54.9498 -19.9456 -0.77346 -0.117044 0.622945 \n-27.5136 -49.688 -26.9279 0.417726 0.0304911 0.908061 \n-61.817 53.1942 24.9844 0.913521 0.307712 0.266068 \n54.7057 52.7757 25.8634 -0.285437 0.953098 0.100643 \n52.8331 52.9671 25.1377 0.0608316 0.997754 0.0280298 \n50.083 52.8913 25.9007 0.0581675 0.996895 -0.0530721 \n10.2951 52.6115 25.7117 -0.790577 -0.0040314 -0.61235 \n-8.54424 53.0257 26.2122 0.689043 -0.320818 -0.649843 \n-32.0568 -54.3957 -20.2177 0.962905 -0.19256 0.189037 \n-50.5554 54.2136 26.1761 -0.87196 -0.146762 -0.467062 \n-17.8147 47.1715 -30.2877 0.448776 0.147119 0.881451 \n10.3836 56.42 25.5357 -0.879442 0.294004 -0.374358 \n17.6964 -29.6316 -12.028 0.708058 -0.626555 0.325705 \n-13.0396 -29.0964 -12.3657 -0.865873 -0.436873 -0.243732 \n34.3303 -34.9924 -16.5443 -0.0192522 0.8401 0.542089 \n-9.421 56.2259 26.0383 0.32104 0.19509 -0.926754 \n-4.37351 57.189 25.8194 0.429895 0.287815 -0.855776 \n-10.6778 57.5761 25.8119 0.882481 -0.381643 -0.274912 \n-2.48633 29.5986 -38.1492 0.0224006 -0.327854 0.944463 \n19.7618 47.3097 -30.5744 -0.676415 0.32588 0.660504 \n-59.8196 57.3383 26.637 0.957606 0.286165 -0.0331769 \n8.0467 57.4478 26.2685 -0.0890979 0.553708 -0.82793 \n-2.75611 57.5552 26.5352 0.321826 0.247839 -0.913785 \n16.333 -28.2456 -11.9944 0.656639 -0.72053 0.222851 \n1.18251 -25.7796 -53.4377 0.834105 0.319051 0.449972 \n9.34174 57.8519 26.1433 -0.0220832 0.0694321 -0.997342 \n7.13471 57.5657 26.1023 0.110392 0.576985 -0.80926 \n10.3222 57.9091 25.4271 -0.993331 0.100232 -0.0569842 \n-10.1953 59.4384 -28.4666 0.417772 0.71949 0.554798 \n-2.69679 58.2679 25.9068 0.0854691 0.883324 -0.460904 \n-59.846 58.2922 25.8348 0.929121 0.322531 -0.180852 \n8.44649 58.3764 25.9878 0.171347 0.121556 -0.977683 \n-34.4463 -27.8499 -11.2312 0.943845 -0.0931121 0.316997 \n-15.6601 -73.8623 -16.9368 -0.874996 -0.278909 -0.395717 \n-17.3051 48.1558 -30.2234 0.568865 0.516364 0.640125 \n7.76768 59.4654 25.7262 0.384979 -0.1358 -0.91288 \n-10.2313 59.7763 25.2586 0.960282 0.0495418 0.274599 \n-48.4963 60.3291 25.2216 -0.987836 -0.132553 -0.0813001 \n10.5504 61.5085 25.4921 -0.95771 -0.279995 0.0662944 \n-48.325 61.6808 24.9632 -0.907712 0.348771 -0.233277 \n-8.18575 60.2757 25.5541 -0.857945 -0.0202014 -0.513344 \n-12.7922 -52.0301 -21.2198 -0.948283 0.0474141 0.313865 \n-56.2435 61.23 25.4037 0.282787 0.810029 0.513698 \n-49.4231 65.018 26.4651 -0.88442 0.317583 0.34197 \n11.8545 30.5774 -36.7758 -0.429177 -0.19494 0.881933 \n-50.1862 65.2581 25.7314 -0.54661 0.646095 0.53271 \n-50.9511 64.4976 24.3262 -0.353353 0.775722 0.522874 \n-11.8735 -26.8156 -11.8618 -0.828594 -0.559802 0.00740826 \n-13.315 66.7313 26.352 0.816984 -0.575806 0.0313829 \n13.2697 -25.4314 -11.9194 0.772178 -0.595734 -0.221004 \n20.709 69.6527 26.2169 -0.581851 -0.585069 -0.564928 \n19.9431 69.0029 25.8817 0.0774156 -0.482799 -0.872303 \n18.6274 69.4898 26.0522 -0.0257348 -0.595489 -0.802951 \n16.042 68.8659 26.0155 -0.298926 -0.697833 -0.650902 \n39.7608 -24.3972 -11.9418 -0.936748 -0.195581 0.29026 \n20.7695 69.654 25.5573 -0.91087 -0.0982646 0.400824 \n30.688 -6.03445 -8.57063 -0.619251 0.69058 -0.373667 \n-23.2055 38.464 -25.3182 0.907361 0.0799141 0.412686 \n-12.4029 70.9365 25.2472 -0.686719 0.590587 -0.423821 \n-15.675 50.6806 -30.9912 0.778438 0.358534 0.515255 \n29.9728 -6.41825 -7.00883 -0.524535 0.676747 -0.516601 \n-14.2212 72.5556 25.7759 -0.586778 0.770926 -0.247717 \n19.8693 74.5742 26.2201 -0.489429 0.623206 0.609978 \n-34.3871 -23.9464 -11.7782 0.952508 -0.00362179 0.304492 \n-22.4268 74.3564 25.7951 0.812446 0.484493 0.324342 \n13.2987 73.9008 26.3272 0.58387 0.809541 -0.0611501 \n17.2684 74.9865 25.2357 -0.177289 0.886477 0.427465 \n-21.7705 74.8149 26.1467 0.294341 0.949536 -0.108374 \n-32.9873 -46.5058 -20.1809 0.941656 0.0701003 0.329196 \n38.674 -47.3167 -20.3839 -0.659541 0.0251543 0.751247 \n57.0736 32.16 25.1735 -0.526811 -0.848109 -0.0563954 \n34.4836 31.0506 -10.205 -0.401186 -0.250516 0.881074 \n58.487 33.0595 25.4018 -0.660195 -0.729305 -0.179601 \n-1.92463 32.6543 24.9117 0.664193 -0.733311 0.145265 \n11.9306 -21.9933 -11.7204 0.630178 -0.245327 -0.736675 \n59.6781 35.2348 25.1444 -0.794307 -0.607505 0.00374067 \n5.53914 35.3857 24.9202 -0.850206 -0.526444 0.00253798 \n26.9929 39.8282 -25.3311 -0.695232 0.0795365 0.714371 \n29.345 -5.84635 -7.4884 -0.24979 0.882474 -0.398554 \n61.4143 36.8857 26.1111 -0.870815 -0.49157 0.00636188 \n23.5647 -50.2596 -18.8532 0.80643 0.030454 0.590545 \n-48.3725 37.0072 25.7243 -0.557068 -0.296751 -0.775638 \n-52.4525 36.5745 25.5563 0.246468 -0.663416 -0.706493 \n-53.7498 36.4873 24.5875 0.334365 -0.656053 -0.676605 \n-55.3986 37.0569 24.9495 0.330926 -0.732819 -0.594529 \n38.8147 -45.9497 -20.5516 -0.727817 -0.0923388 0.679526 \n13.6012 54.662 -30.7992 -0.560141 0.256225 0.787776 \n6.78379 37.4109 25.0967 -0.873122 -0.487377 0.0110291 \n11.5993 -21.1086 -11.7344 0.707734 -0.416726 -0.570484 \n25.7852 -46.4589 -20.7694 0.549053 0.161018 0.82013 \n7.39376 38.5959 25.5403 -0.821273 -0.551684 0.145452 \n-7.04217 38.0606 25.2741 0.448608 -0.634139 0.629777 \n-27.9087 -63.133 -16.9464 0.859379 -0.144777 -0.490416 \n-58.1787 42.8435 25.6518 0.638525 -0.290787 -0.712551 \n-23.4963 -4.76505 -8.02804 0.251325 0.871205 -0.421707 \n-50.2198 42.1385 25.4216 -0.8472 0.0580086 -0.528098 \n62.856 43.6152 25.0714 -0.78833 0.463688 -0.404388 \n-50.3625 43.5828 25.2978 -0.761873 0.0545685 -0.645423 \n43.9299 42.865 25.7482 0.884296 0.118489 -0.451642 \n44.387 44.8004 26.1595 0.879053 -0.021941 -0.47622 \n-15.0007 -43.3466 -20.4116 -0.799593 0.408805 0.43992 \n-59.5041 44.5037 25.6552 0.564357 -0.80237 -0.194172 \n31.788 -69.4123 -24.7364 -0.345426 0.196024 0.917745 \n-60.707 45.1686 26.1618 0.630206 -0.770274 -0.0975605 \n43.3966 45.2004 25.1122 0.515503 -0.602234 -0.609566 \n12.7217 46.9251 25.5448 -0.766448 0.164397 -0.620911 \n26.8162 -43.4772 -20.6621 0.465353 0.251158 0.848744 \n-62.2868 47.6889 26.0365 0.912758 -0.310347 0.265628 \n24.0026 -0.859951 -7.80321 -0.78389 0.408719 -0.467402 \n-1.92264 -17.5635 -11.7397 -0.56133 -0.826965 -0.0322086 \n-9.62354 51.757 25.7688 0.748028 0.481856 -0.456364 \n48.1381 51.8689 24.3942 0.359294 0.918308 0.166186 \n10.8851 56.2517 -31.8084 -0.377602 0.579964 0.721844 \n-9.26539 52.8283 25.3296 0.791697 0.0355706 -0.609878 \n34.6149 -35.3319 -17.3407 -0.0529245 0.855275 0.515465 \n26.8213 -41.82 -19.7662 0.465857 0.32433 0.823278 \n-9.69897 54.1158 25.8046 0.726312 -0.376995 -0.574758 \n38.5314 -15.2871 -11.6343 -0.940343 0.33679 0.0482491 \n-10.4025 55.3461 25.3541 0.807172 -0.0842819 -0.584269 \n-1.13987 -16.651 -12.5192 -0.701605 -0.704895 0.104272 \n37.1526 -21.1399 -17.3099 -0.820792 0.108792 0.560772 \n3.94058 -15.4629 -11.3672 0.50164 -0.863323 0.0550433 \n-10.3453 56.6792 25.5912 0.80004 -0.212083 -0.561209 \n-9.31504 57.3832 -30.5521 -0.0901684 0.687546 0.72052 \n-49.1038 57.8052 25.5454 -0.83712 -0.341409 -0.427399 \n-8.38544 57.3199 25.4776 -0.465051 0.240835 -0.851896 \n-4.84776 58.1206 25.38 0.363398 0.432367 -0.825228 \n10.3763 58.8731 25.6851 -0.999654 -0.0227465 0.0131758 \n6.79552 58.8657 25.745 -0.103347 0.166244 -0.980654 \n-0.0750396 -14.9238 -11.781 -0.75814 -0.637735 0.136082 \n7.25226 60.0285 25.3959 0.556329 0.0933941 -0.825697 \n3.3432 58.6246 26.3106 0.066925 0.839964 -0.538499 \n1.02159 58.4054 26.2004 0.12991 0.871181 -0.473462 \n-31.2546 -40.5393 -20.3484 0.648508 0.564341 0.510838 \n30.3014 -39.5666 -20.5357 0.245398 0.476439 0.844266 \n-57.3 61.4303 25.6428 0.222978 0.802199 0.553857 \n9.31287 58.2992 -30.1265 -0.452206 0.650054 0.610688 \n-10.3412 61.7744 25.6867 0.917045 -0.391502 0.0758634 \n9.23093 57.5484 -30.9547 -0.528352 0.532245 0.661482 \n25.7078 41.5046 -25.87 -0.802105 0.200569 0.562493 \n-49.5573 63.5392 24.851 -0.90003 0.339652 0.273096 \n-17.0288 -35.25 -16.8963 -0.837094 -0.0185666 0.546744 \n-8.63395 57.8162 -30.3332 0.612611 0.552499 0.565202 \n-53.8424 64.3301 26.0358 0.676552 0.732998 0.0706501 \n-29.4709 -39.3466 -20.5597 0.460869 0.763515 0.452376 \n-52.8634 64.8784 25.1816 0.347815 0.905929 0.241491 \n-31.077 -11.3754 -11.8799 0.841858 0.522777 -0.134086 \n20.284 68.4745 25.5629 -0.712824 -0.564259 -0.416527 \n-6.67709 50.1555 -35.6062 0.347038 0.264343 0.899827 \n-18.2292 1.63795 -7.31373 0.57291 0.713343 -0.403627 \n-0.589787 -26.2039 -44.7516 0.734406 -0.673989 -0.0799219 \n-15.1575 68.9007 25.5552 0.684464 -0.657111 -0.315776 \n0.749169 -27.8072 -46.3434 0.527956 -0.83932 -0.129634 \n11.3755 72.1784 25.6061 0.743502 0.663143 -0.0862923 \n40.6315 -50.3987 -18.4845 -0.894043 -0.0249075 0.447288 \n34.4978 -8.23715 -12.1169 -0.64163 0.709657 -0.291031 \n20.0891 72.8067 25.327 -0.7092 0.219888 0.66984 \n-22.3138 73.7515 25.8952 0.863635 -0.324466 -0.385819 \n-20.5533 75.2218 24.8336 0.246464 0.929118 0.275673 \n51.06 29.694 24.4457 -0.16964 -0.955517 -0.241268 \n49.0381 29.7115 25.4927 0.0697697 -0.946321 -0.315608 \n47.6284 30.0736 24.999 0.22515 -0.915115 -0.334472 \n-15.7339 3.80885 -6.35934 0.82431 0.300307 -0.479926 \n20.4307 4.68305 -7.73556 -0.852481 -0.0274277 -0.522039 \n56.1196 31.445 25.5961 -0.391443 -0.916023 -0.0875977 \n-0.971757 31.6799 25.7714 0.599453 -0.759752 0.25186 \n45.2576 31.6441 25.1887 0.616707 0.192699 -0.763242 \n-19.0759 -38.3465 -20.2685 -0.487072 0.667992 0.562626 \n-20.0892 -38.1013 -20.383 -0.421195 0.68546 0.593918 \n-4.44821 34.9632 25.4182 0.642625 -0.68571 0.34181 \n-50.4736 35.6625 24.8791 0.00640578 -0.661758 -0.74969 \n-5.11378 35.9133 25.2952 0.750116 -0.557022 0.356444 \n-20.9796 -37.5429 -20.4904 -0.187682 0.742077 0.643503 \n-47.79 37.5578 25.1095 -0.907404 0.298926 -0.295399 \n-23.5491 -37.4845 -20.3858 0.068322 0.841139 0.536487 \n-16.7973 -33.3065 -16.573 -0.842104 -0.109827 0.528014 \n-49.2596 39.3345 24.7914 -0.896588 0.439234 0.0566066 \n-57.1168 39.2357 25.1848 0.584444 -0.383287 -0.715204 \n-8.09777 39.4834 25.7179 0.974899 -0.195466 0.106608 \n43.429 39.6217 24.4534 0.879004 -0.0487788 -0.474313 \n-57.1332 40.2032 25.8594 0.621426 -0.378369 -0.686051 \n63.2974 41.0938 25.3669 -0.990762 -0.0907858 -0.100741 \n-49.4517 40.5214 24.6257 -0.896917 0.318096 -0.307173 \n-21.1838 22.3386 -24.7057 0.778487 -0.467906 0.418357 \n-8.54166 41.3338 24.5509 0.422976 -0.904064 0.0613134 \n-10.8502 41.9855 24.9973 0.668552 -0.678082 -0.305356 \n63.2562 42.7661 24.9512 -0.97058 0.199429 -0.134917 \n-21.1276 0.107948 -11.3638 0.897939 0.429267 -0.0971343 \n-11.7599 42.9182 24.4475 0.866069 -0.383799 -0.320349 \n-59.0564 43.6672 25.2362 0.6985 -0.417238 -0.581387 \n2.77616 61.2234 -30.0344 -0.0829181 0.759441 0.64527 \n-49.559 45.2864 24.525 -0.756089 0.0921518 -0.647949 \n23.6035 0.949249 -11.5154 -0.657514 0.749294 -0.078955 \n42.3366 45.5645 25.3155 0.251243 -0.760845 -0.598325 \n-50.1678 45.9288 24.9411 -0.751627 0.20963 -0.62539 \n-21.7743 -30.907 -20.3411 0.0355548 -0.282053 0.95874 \n19.8846 10.0518 -7.92772 -0.90796 -0.145143 -0.393118 \n41.477 46.7461 24.888 0.81711 0.377116 -0.436022 \n-61.6683 47.3892 24.868 0.916657 -0.361233 0.171026 \n0.265539 61.3176 -29.889 0.0620655 0.765213 0.640779 \n-11.2321 44.4212 25.4497 0.707556 0.200475 -0.677624 \n28.59 -70.3522 -25.4434 -0.0610504 0.276306 0.959129 \n-19.5774 -29.7812 -20.45 -0.221771 -0.387421 0.894831 \n60.1359 48.633 25.0628 -0.83138 0.553074 0.0539996 \n-50.953 48.2257 25.4003 -0.834448 -0.019729 -0.550734 \n-17.9452 3.31825 -11.4052 0.870313 0.313626 -0.379728 \n21.7853 4.27195 -12.2938 -0.942665 0.27787 -0.184854 \n24.6402 44.746 -25.4834 -0.77127 0.326148 0.546598 \n-5.59116 51.4931 -36.1198 0.334756 0.359554 0.871011 \n-51.4535 50.4483 26.3553 -0.847167 -0.143069 -0.511702 \n46.6679 51.2111 25.0692 0.381914 0.922767 0.0514161 \n-62.0019 51.3841 25.1873 0.897593 0.2284 0.377041 \n54.851 52.2117 23.3983 -0.260976 0.925439 0.274688 \n49.955 52.7075 24.7805 0.215846 0.930613 0.295585 \n11.5121 52.6607 24.4137 -0.75075 -0.132822 -0.647096 \n-18.7517 5.72775 -12.0254 0.849695 -0.151402 -0.50507 \n39.502 -40.7938 -19.3189 -0.706356 0.285805 0.647593 \n-22.1877 -29.414 -20.56 0.0344042 -0.416082 0.908676 \n-49.6544 56.8843 25.6635 -0.709645 -0.382758 -0.591524 \n-19.6508 -74.4257 -31.0385 0.268926 -0.755954 0.596835 \n-6.17389 56.6362 24.7845 0.168779 0.348136 -0.922125 \n24.4181 -61.2383 -19.1937 0.852882 -0.169892 0.493689 \n-8.07439 56.6482 25.7705 -0.191168 0.637674 -0.746208 \n-19.0044 7.35635 -12.3486 0.915601 0.0380739 -0.40028 \n-4.00136 58.7946 24.7975 0.0298381 0.941198 -0.336535 \n-18.055 -28.7766 -20.5896 -0.372342 -0.539173 0.755416 \n-48.6653 58.379 24.7378 -0.992773 -0.0978218 -0.0695161 \n-14.3665 -67.0392 -27.2509 -0.78741 0.489042 0.375264 \n4.52698 59.0782 25.9074 0.227175 0.853 -0.469876 \n3.53038 59.3448 24.2305 0.177795 0.908347 -0.378543 \n6.34536 59.982 24.9542 0.241338 0.753935 -0.611013 \n-26.5069 -28.291 -19.8026 0.514377 -0.25991 0.817229 \n24.7928 -27.7942 -20.8019 0.00867391 -0.628346 0.777885 \n-57.549 60.5688 24.8197 0.459756 0.737572 0.494582 \n-20.6049 -72.5328 -30.8384 0.619066 -0.00081959 0.785339 \n26.211 -30.7934 -17.6998 0.0280924 -0.695193 0.718274 \n23.1949 -28.2814 -20.0147 0.171709 -0.687549 0.705544 \n12.4385 65.2079 24.8181 -0.601644 -0.63352 -0.486494 \n7.37171 66.62 24.0055 0.917645 0.388269 -0.0847098 \n-8.02692 65.4084 24.5132 -0.86148 0.294844 -0.413423 \n14.7589 67.4281 25.2013 -0.418469 -0.652894 -0.631359 \n7.3753 65.8952 25.7312 0.901984 0.348612 -0.254744 \n17.2682 68.0222 25.0207 -0.0673667 -0.582469 -0.810057 \n16.007 66.6226 24.2084 -0.0956727 -0.518583 -0.849658 \n-10.1538 67.0532 26.3415 -0.707766 0.476106 -0.521911 \n-14.0309 66.9188 24.4493 0.706186 -0.57912 -0.407334 \n-19.5322 -69.5425 -30.842 0.335297 0.280729 0.899315 \n23.1605 17.3738 -11.2294 -0.821421 -0.559537 0.110387 \n23.7073 17.8745 -8.3993 -0.817344 -0.573374 0.056491 \n-20.9413 47.314 -25.1128 0.8616 0.422026 0.282027 \n16.2392 10.2315 -26.1145 -0.741814 -0.125786 0.658703 \n-22.0339 72.8033 24.882 0.852266 -0.505257 -0.135487 \n13.3832 73.8948 24.6858 0.52923 0.827345 0.188189 \n24.834 20.3043 -11.095 -0.77204 -0.633428 0.0521795 \n-15.8981 73.7898 24.4279 -0.47647 0.878374 0.0378872 \n24.7216 19.1533 -7.3837 -0.883274 -0.468825 0.00551951 \n52.9204 30.1063 24.868 -0.268657 -0.903756 -0.33324 \n46.2075 30.4015 25.2773 0.347882 -0.796813 -0.494031 \n54.0045 30.8988 25.25 -0.341125 -0.912812 -0.224516 \n44.1939 30.716 24.3026 0.624371 -0.543428 -0.561113 \n-24.0167 20.7994 -11.6975 0.980063 -0.181413 0.0810284 \n45.616 32.9842 24.479 0.612044 0.407464 -0.677772 \n3.46087 33.0004 24.1297 -0.712399 -0.701695 -0.0105793 \n19.3637 -26.8049 -20.2495 0.488311 -0.700642 0.520243 \n-14.5648 -26.7745 -19.8799 -0.505298 -0.490652 0.709883 \n58.7343 33.2682 24.2963 -0.827816 -0.553572 0.0909869 \n3.83979 33.5201 25.1541 -0.704685 -0.701658 0.10533 \n27.7281 24.3962 -10.735 -0.951331 -0.285277 0.116561 \n4.96571 34.6024 24.5136 -0.707431 -0.704722 0.0539284 \n-19.9396 -67.9422 -30.4718 0.290795 0.41875 0.860283 \n-23.3741 20.82 -7.39957 0.717109 -0.693525 -0.0691154 \n-52.0092 35.5378 25.025 0.17345 -0.633589 -0.753977 \n28.1026 -63.0518 -10.1412 0.593734 -0.410453 -0.692105 \n28.7647 34.6107 -17.9908 -0.940019 -0.266551 0.212872 \n25.6539 20.8508 -7.57654 -0.58306 -0.811824 -0.0313583 \n4.72256 51.4881 -36.4996 -0.22034 0.330077 0.917878 \n-6.16098 37.6504 24.9555 0.779715 -0.576863 0.243462 \n8.3838 -8.33295 -28.6347 -0.100615 -0.293249 0.950727 \n43.3736 38.0149 24.0668 0.829494 -0.200244 -0.521385 \n7.10124 -6.16345 -29.4387 -0.19158 -0.16826 0.966946 \n-31.0971 26.1735 -11.5694 0.200232 -0.741697 0.640151 \n-48.599 38.8528 25.1835 -0.848061 0.529671 0.0155107 \n62.3375 38.1324 23.7222 -0.777732 -0.517399 -0.356974 \n44.0654 38.54 25.0615 0.847578 -0.215776 -0.484821 \n-7.74169 38.8428 25.0692 0.817762 -0.430624 0.381876 \n-7.79347 40.4499 24.1151 0.845476 -0.441775 0.300008 \n63.0456 40.0408 25.2424 -0.855702 -0.41641 -0.307207 \n-58.271 40.2481 24.3197 0.666403 -0.394219 -0.63285 \n9.34886 40.9053 25.2309 -0.616689 -0.7704 0.161798 \n-58.2629 41.4651 24.994 0.646528 -0.353466 -0.676065 \n-34.4291 27.5875 -11.7952 0.550936 -0.439075 0.709706 \n43.1808 42.539 24.7166 0.908427 0.0227366 -0.417425 \n-49.8149 42.8922 24.8775 -0.780307 0.024361 -0.624923 \n-59.619 42.3715 24.6529 0.707105 -0.229632 -0.668784 \n-27.3561 -25.8409 -20.7217 0.483748 -0.374781 0.790902 \n6.59355 -7.22635 -28.9533 -0.0906074 -0.361939 0.927788 \n11.6019 39.9346 -37.0086 -0.407107 0.020003 0.913162 \n-21.8413 -58.7716 -30.5779 0.127712 0.152324 0.980044 \n-20.7804 49.34 -25.6329 0.857703 0.0705626 0.50928 \n-14.849 10.6241 -26.0522 0.689491 -0.494752 0.528983 \n41.4221 45.0469 24.6146 0.276366 -0.676614 -0.682507 \n31.2602 29.5805 -11.2993 -0.410085 -0.401428 0.818954 \n-59.8409 44.5197 24.4125 0.859488 -0.424293 -0.285056 \n-23.3242 -65.9035 -27.6392 0.547538 0.00252735 0.836777 \n27.5756 23.3804 -6.84048 -0.698672 -0.714494 -0.0368183 \n61.1606 47.0067 24.0816 -0.784352 0.35939 -0.505599 \n13.5528 46.036 24.4586 -0.946011 -0.0571766 -0.319051 \n-26.166 23.5531 -8.11923 0.586009 -0.749763 0.307326 \n-28.2583 -25.5114 -20.1325 0.674339 -0.212678 0.707131 \n43.1358 48.8481 24.7556 0.765556 0.642256 -0.0378236 \n17.439 -25.0014 -20.3853 0.529454 -0.665274 0.526393 \n-35.7895 31.3064 -11.7578 0.680731 -0.12145 0.722395 \n-10.4601 48.8323 24.6037 0.688745 0.241028 -0.683766 \n27.1147 -62.0314 -9.87337 0.546593 -0.58837 -0.595867 \n12.8498 49.7948 24.4092 -0.795209 0.334003 -0.506049 \n58.1136 51.078 24.9122 -0.687485 0.710622 0.149604 \n56.9362 51.9774 25.8843 -0.353395 0.934126 0.0502078 \n-50.1207 50.7728 24.1283 -0.847699 -0.119949 -0.516739 \n-9.74142 52.8663 24.454 0.927028 0.19015 -0.323207 \n27.212 -69.1289 -25.3134 0.123734 0.39415 0.910679 \n-9.94507 53.2716 24.3188 0.749536 -0.52706 -0.400504 \n33.2282 31.0787 -11.1362 -0.416914 -0.281318 0.864317 \n-10.6431 56.641 24.7597 0.980122 0.194593 -0.0386544 \n-60.2231 55.9954 25.4909 0.897677 0.397099 0.191018 \n10.4331 57.1165 23.7047 -0.815467 0.439478 -0.37666 \n-5.92073 58.479 24.7948 0.206649 0.367009 -0.906973 \n-7.24212 57.6204 24.737 -0.264845 0.249409 -0.931479 \n-27.9466 -21.9798 -21.1065 0.609126 -0.134758 0.781541 \n0.531144 58.9184 24.2087 0.0989465 0.917588 -0.385022 \n33.007 -22.3854 -20.3528 -0.551574 -0.271895 0.788568 \n-1.19296 58.5557 25.6064 0.0721566 0.918424 -0.388962 \n-59.7835 58.3894 24.9481 0.849123 0.439116 0.293541 \n10.1419 60.1189 25.3189 -0.960919 -0.0414068 0.273717 \n-36.7198 33.3909 -11.14 0.649105 -0.047462 0.759216 \n-1.33679 -20.8455 -29.8707 0.539689 -0.435755 -0.720315 \n-58.3902 59.8092 25.2526 0.767674 0.55963 0.312237 \n-5.728 28.186 -37.5131 0.172702 -0.309568 0.935062 \n-48.7507 60.4302 24.1633 -0.980609 -0.0555571 0.187935 \n-10.2368 61.0588 25.0413 0.989865 -0.100289 0.100546 \n-11.2446 -21.6626 -19.6957 -0.720202 -0.420213 0.552023 \n-10.4606 61.715 24.5593 0.880755 -0.421785 -0.215331 \n-49.0763 62.5428 25.042 -0.901618 0.429688 -0.0495315 \n11.023 62.7342 24.3008 -0.893088 -0.433489 -0.120338 \n6.56165 64.1329 24.3164 0.926588 0.236405 -0.292486 \n-54.9951 63.4678 25.3749 0.796932 0.60188 -0.0513785 \n14.581 -21.7692 -20.6307 0.660725 -0.423466 0.619774 \n11.6158 63.7771 24.2833 -0.768702 -0.531101 -0.356412 \n-17.6591 -61.7183 -28.6979 -0.387883 -0.131312 0.912307 \n-54.0139 64.2431 23.95 0.557859 0.789871 0.254749 \n-2.26189 -20.7 -30.6619 0.688691 -0.396292 -0.607172 \n-16.0605 -63.8993 -27.9267 -0.807348 0.0851851 0.583895 \n13.5451 -21.4117 -20.0874 0.455644 -0.554697 0.696203 \n13.1198 64.7082 23.7141 -0.447664 -0.58526 -0.676067 \n18.633 66.1569 24.3334 -0.075183 -0.479663 -0.874226 \n-34.9151 37.5587 -12.2453 0.578014 0.420352 0.699431 \n19.3827 67.2481 24.9794 -0.130623 -0.53787 -0.832847 \n17.7875 66.8294 24.406 0.118 -0.420526 -0.899574 \n-14.1579 41.5959 -35.2915 0.521027 0.156869 0.839001 \n20.0067 67.8456 24.6168 -0.914135 -0.337862 0.224069 \n23.524 -58.9353 -18.2907 0.890885 0.00942261 0.454131 \n20.2301 68.409 24.7845 -0.75764 0.03553 0.651705 \n20.2009 70.367 25.2496 -0.741065 0.0926133 0.665015 \n34.5871 26.6934 -7.25642 -0.169593 -0.820839 0.545401 \n17.3329 11.345 -25.969 -0.697251 -0.476167 0.535823 \n30.653 38.5749 -12.0505 -0.561044 0.352297 0.749077 \n-18.8162 71.2697 24.8131 0.435267 -0.704501 -0.560554 \n-10.8705 -19.9564 -20.8355 -0.747243 -0.197921 0.634394 \n-20.7912 72.5841 25.2751 0.312461 -0.718758 -0.621092 \n-33.097 40.1782 -11.7444 0.38409 0.54627 0.744354 \n-2.60574 -19.451 -30.4455 0.823601 -0.328833 -0.462115 \n5.77188 -19.5673 -31.1296 -0.757177 -0.349836 -0.551631 \n-21.3826 71.9791 24.429 0.504006 -0.632592 -0.588052 \n-12.5453 71.4044 24.3781 -0.676154 0.727834 -0.114342 \n34.3063 -20.3031 -20.2265 -0.666586 -0.223417 0.711159 \n30.1565 -5.02215 -10.3916 -0.422221 0.883399 -0.203311 \n16.7203 74.5928 24.3085 -0.220392 0.781013 0.584334 \n15.1395 74.7262 24.5816 0.236719 0.933384 0.269739 \n48.1447 29.6062 24.4679 0.116309 -0.885859 -0.449138 \n46.6217 29.6593 24.0232 0.20623 -0.866064 -0.455415 \n55.9346 31.5383 23.8582 -0.512994 -0.851608 -0.107707 \n-29.2518 42.0316 -12.3864 0.499346 0.679005 0.53815 \n1.44626 32.0398 24.1012 -0.109703 -0.971371 0.210723 \n29.8335 42.6485 -12.733 -0.986746 -0.0253605 -0.160277 \n11.7502 -19.0065 -20.8064 0.656382 -0.434738 0.616576 \n-2.82347 33.5712 24.5201 0.767616 -0.635701 -0.0815437 \n44.7333 34.3055 23.5838 0.65355 -0.00372424 -0.756874 \n-0.969317 39.2367 -39.2943 -0.207914 -0.185791 0.96034 \n-27.0729 44.0527 -12.3978 0.760968 0.570473 0.309013 \n-48.4452 34.7615 23.9017 -0.0646616 -0.649065 -0.75798 \n-52.2185 34.5714 23.8666 0.299685 -0.776216 -0.554687 \n5.97352 -17.1067 -30.9625 -0.984534 0.15664 0.0784656 \n-5.02386 36.1125 23.9354 0.792101 -0.609973 0.022547 \n36.7691 27.3311 -7.05036 -0.367984 -0.673119 0.641481 \n-47.5254 35.9558 24.4938 -0.57156 -0.387327 -0.723393 \n23.9587 -31.152 -17.3192 0.205181 -0.774834 0.59794 \n-39.8186 28.5776 -7.2366 0.660705 -0.325614 0.676346 \n-54.8218 36.4091 24.1069 0.367854 -0.644784 -0.670028 \n29.8915 38.1609 -19.0591 -0.997011 -0.00469084 0.0771194 \n-26.0671 47.3831 -12.0782 0.923059 0.313903 0.22232 \n-47.4486 37.0305 24.2141 -0.90209 0.425617 -0.071298 \n-30.3521 -17.5842 -19.2169 0.785933 0.0493108 0.616342 \n-48.8474 39.0966 23.6474 -0.892358 0.25989 -0.368991 \n-24.8237 49.8547 -12.5863 0.8502 0.454683 0.265373 \n5.45838 -14.5809 -30.7747 -0.940225 0.212254 0.266316 \n-49.7145 41.3189 24.3523 -0.808948 0.138545 -0.571322 \n-13.4911 -57.642 -17.7657 -0.892531 -0.344513 -0.291033 \n-8.98937 41.6618 23.6065 0.315483 -0.905021 0.285319 \n-10.3934 41.6318 24.2922 0.246365 -0.967697 0.053535 \n11.4128 42.2049 23.5683 -0.286989 -0.871711 0.397186 \n11.5471 41.7903 25.1006 -0.455258 -0.883744 0.108338 \n26.0954 52.4093 -12.3485 -0.77625 0.628647 -0.0473083 \n-11.9941 44.6119 24.2913 0.915461 -0.018394 -0.401987 \n13.2162 43.9376 24.348 -0.937392 -0.251224 -0.241212 \n-60.2925 44.8434 23.6711 0.946981 -0.0977365 -0.306065 \n-50.1239 47.7719 23.8468 -0.773169 0.168706 -0.611349 \n40.0961 31.5012 -7.03934 -0.791277 -0.310492 0.526759 \n60.59 48.1969 23.9257 -0.77918 0.537975 -0.321655 \n42.2155 47.8866 24.4469 0.767108 0.628734 -0.127433 \n24.2537 54.4653 -12.0456 -0.729541 0.673464 -0.119232 \n-61.885 48.8525 24.4004 0.936947 -0.0365161 0.34756 \n13.9636 47.6069 23.0861 -0.92671 0.0762992 -0.367949 \n-39.909 31.3343 -8.1481 0.665155 -0.259674 0.700099 \n-61.3772 49.5989 23.5283 0.868354 0.223279 0.44284 \n58.9063 49.9286 24.8678 -0.771107 0.634638 0.0512611 \n-61.48 50.8204 24.1697 0.849639 0.0998446 0.517828 \n44.8258 50.8979 24.5443 0.381414 0.918738 0.102191 \n-20.3044 55.6579 -11.2523 0.595407 0.729462 -0.336715 \n-10.1836 50.6926 24.2359 0.691163 0.221442 -0.687937 \n7.24337 -15.774 -20.1852 0.549373 -0.646159 0.529781 \n-18.6805 56.7465 -11.6035 0.686849 0.685027 -0.242852 \n51.2988 52.6749 24.7385 0.0930366 0.988379 0.120215 \n0.793698 -15.8285 -21.0652 -0.0495539 -0.962931 -0.265156 \n12.0937 53.7402 24.1049 -0.847119 0.104294 -0.521069 \n-61.5432 53.1029 24.3219 0.80262 0.224489 0.552635 \n-10.8846 54.0762 24.0407 0.856738 -0.283139 -0.431083 \n-49.0548 52.7495 23.064 -0.837741 -0.135055 -0.529103 \n33.1226 -16.0056 -21.5148 -0.670877 0.0107049 0.741491 \n-59.8269 56.8416 24.5203 0.900162 0.304239 0.311685 \n10.035 57.737 24.0307 -0.934043 0.301438 0.191567 \n-18.0763 58.5715 -11.9725 0.877758 0.435667 0.199338 \n10.139 58.5229 24.4836 -0.943371 0.112084 0.312231 \n-3.00811 -15.5516 -21.299 0.00528441 -0.990742 0.135655 \n-5.14194 58.8338 24.4146 -0.191042 0.905524 -0.378852 \n-6.87752 59.1222 24.298 -0.254743 0.482323 -0.838135 \n-40.1739 34.3105 -8.10958 0.667591 0.0506089 0.742806 \n5.12487 60.1882 24.0932 0.386794 0.741877 -0.54773 \n-48.335 61.8838 23.954 -0.953906 0.177319 0.24212 \n5.14143 -14.8706 -20.2378 -0.0979078 -0.992224 0.0768503 \n-28.6185 -14.0798 -20.1652 0.792283 0.0753231 0.605487 \n-49.8235 63.396 24.0668 -0.688585 0.678255 0.256553 \n-16.1903 -60.0254 -28.0081 -0.685763 -0.0593622 0.7254 \n19.1499 66.2682 24.1878 -0.734088 -0.543082 -0.407648 \n33.6954 -12.4706 -20.9022 -0.712104 0.201599 0.672507 \n13.9468 64.6012 23.3248 -0.163015 -0.479058 -0.862513 \n-28.175 -11.7808 -20.511 0.778383 0.338741 0.528559 \n-14.5587 60.2938 -7.16607 0.883712 0.335373 -0.326463 \n-8.4711 66.8727 23.8507 -0.76224 0.516484 -0.390172 \n19.2706 68.3889 24.0445 -0.703393 0.0613155 0.708151 \n38.5951 36.484 -8.37851 -0.575096 0.205757 0.791788 \n-10.5872 69.3068 24.4686 -0.726004 0.588024 -0.356575 \n-15.9927 68.9625 24.4379 0.518806 -0.634159 -0.573309 \n-26.0645 38.5616 -19.0591 0.910166 0.149864 0.386184 \n9.46128 69.8514 25.0641 0.809955 0.572643 -0.126699 \n-26.0408 -10.071 -20.417 0.543789 0.695023 0.470359 \n40.4579 -55.6287 -17.4856 -0.951622 -0.202479 0.231124 \n-19.0315 70.2124 23.6308 0.338247 -0.610946 -0.715775 \n3.52059 -4.79725 -30.4014 -0.129926 -0.179926 0.975062 \n19.1734 71.0911 24.1333 -0.716133 0.117785 0.687954 \n-21.8157 72.3534 24.2164 0.917474 -0.0332934 0.396401 \n-11.1669 64.8665 -11.271 0.186337 0.967884 0.168757 \n-21.4552 74.0061 24.3454 0.623796 0.38364 0.680954 \n-9.76372 65.2129 -11.6715 0.821194 0.561894 -0.0995791 \n31.5777 -8.84475 -20.1107 -0.591685 0.535347 0.602754 \n-19.0932 75.1335 24.6912 -0.273131 0.943029 0.189988 \n-20.0511 74.1311 23.5231 0.305174 0.564685 0.766811 \n47.9665 28.7103 22.8733 0.0703436 -0.974674 -0.212278 \n47.0058 28.9139 23.038 0.289032 -0.90321 -0.31729 \n16.6985 11.812 -27.1117 -0.704924 -0.400782 0.585197 \n49.3726 29.3631 23.8179 -0.138636 -0.942721 -0.303411 \n54.9254 30.5622 23.6783 -0.512363 -0.822217 -0.247879 \n-38.0766 34.829 -10.0115 0.75392 0.0226513 0.656575 \n43.8387 31.688 24.2986 0.706263 -0.102233 -0.700529 \n2.60754 32.3248 24.5313 -0.453335 -0.884971 0.106366 \n43.7218 32.6973 23.9434 0.429478 0.365211 -0.825935 \n9.83274 67.3701 -10.9039 -0.528803 0.847571 -0.0446226 \n-22.3046 -8.10875 -20.1228 0.212669 0.791925 0.572387 \n-2.21965 32.9698 23.7468 0.565573 -0.822413 0.0613482 \n45.1399 33.9101 23.8029 0.636021 -0.0766288 -0.767858 \n59.4305 34.5423 24.1684 -0.800561 -0.598757 -0.024314 \n6.63647 68.5182 -11.5367 -0.273963 0.959709 0.0624755 \n-47.6546 34.5375 23.8557 -0.247212 -0.417969 -0.874179 \n59.9981 34.9963 23.4396 -0.778966 -0.626296 -0.0310748 \n-3.81692 34.979 23.8695 0.76504 -0.642654 -0.0413516 \n-46.3062 35.1912 23.393 -0.577448 -0.0151438 -0.816287 \n60.4902 35.993 24.5551 -0.788214 -0.613148 -0.0526191 \n61.3653 36.8958 23.5954 -0.686384 -0.668481 -0.286375 \n43.68 36.8626 24.2743 0.795611 -0.39733 -0.45731 \n-46.987 36.079 23.7843 -0.814805 0.205772 -0.541988 \n-2.51815 -2.02845 -30.8525 0.0348822 -0.322599 0.945893 \n29.1789 -6.74015 -20.8245 -0.285293 0.756603 0.588354 \n-48.2383 38.0229 23.7515 -0.859587 0.510933 -0.00765451 \n-57.3582 38.0145 24.3866 0.643168 -0.476902 -0.599082 \n-19.9667 -6.21975 -21.038 0.840078 0.223516 0.494278 \n-6.78197 38.875 24.0039 0.760335 -0.512582 0.398937 \n-58.4327 39.0768 23.4762 0.690644 -0.39705 -0.604452 \n-59.4127 39.9175 23.1294 0.692252 -0.425954 -0.582538 \n8.61648 40.2485 23.5468 -0.780093 -0.574463 0.247887 \n26.8904 -5.72055 -20.7502 -0.474861 0.622877 0.621716 \n-59.4272 40.7971 23.8781 0.616608 -0.437851 -0.654278 \n9.40436 41.4939 23.4894 -0.735202 -0.604291 0.3071 \n10.1067 41.8052 23.718 -0.332931 -0.848273 0.411812 \n-11.1522 42.0265 23.3443 0.359283 -0.886384 0.291956 \n-49.2741 42.0945 23.9968 -0.764686 -0.0360861 -0.643392 \n49.439 -74.6553 -11.8253 -0.767808 -0.410193 0.492151 \n-60.6575 43.1379 23.2528 0.901401 -0.082368 -0.425079 \n43.2805 43.873 24.1554 0.861948 -0.00246036 -0.50699 \n42.891 44.1633 23.934 0.256431 -0.67333 -0.693448 \n35.4474 39.8851 -8.18765 -0.33845 0.571028 0.747917 \n-48.6239 44.5573 23.3346 -0.80862 0.0555571 -0.585702 \n7.95862 -6.67315 -29.0286 -0.432397 -0.00328082 0.901677 \n12.9133 40.052 -37.1464 -0.113941 0.0746036 0.990682 \n40.7634 45.4286 24.3677 0.831278 -0.0374185 -0.554596 \n-60.7832 45.9523 23.8852 0.845561 -0.525427 0.0946231 \n-37.8457 39.763 -7.49813 0.672914 0.651475 0.350382 \n-11.9313 46.7036 23.7932 0.797124 0.195281 -0.571365 \n40.4348 -53.9179 -17.7808 -0.918527 -0.148542 0.366392 \n-61.8008 47.2239 23.5319 0.919609 -0.391475 0.032659 \n-11.537 48.1544 23.7164 0.7224 0.210118 -0.658778 \n7.33228 -1.30775 -30.6566 -0.208032 -0.185513 0.960369 \n59.1506 49.7888 23.7018 -0.677666 0.727634 -0.106387 \n43.3799 49.3941 23.2172 0.682608 0.723198 -0.105027 \n-19.1647 -3.10835 -21.0799 0.839722 0.256083 0.478841 \n43.7747 50.0733 24.5167 0.731777 0.678038 -0.069044 \n3.90647 -1.53155 -30.9982 -0.0431636 -0.328518 0.943511 \n-34.1656 -75.3482 -12.7583 0.114812 -0.98355 0.139454 \n11.8332 51.4021 24.3788 -0.739069 0.351315 -0.574765 \n45.5472 -74.9993 -12.6617 0.125515 -0.977098 -0.17183 \n42.3562 -74.4884 -12.6575 0.0825347 -0.986676 -0.140211 \n57.3704 51.485 23.9184 -0.576895 0.797768 0.175379 \n45.8466 50.945 23.6549 0.431594 0.877018 0.211107 \n-10.1425 51.8821 23.8819 0.865327 0.266593 -0.424426 \n-13.8593 12.2118 -27.8798 0.759507 0.328328 0.561561 \n49.3659 52.048 23.683 0.140266 0.975459 0.169722 \n47.1508 51.7309 23.3323 0.366722 0.926175 0.0878374 \n54.0498 52.7586 24.0816 -0.170648 0.967067 0.188841 \n50.5095 51.9093 23.1862 0.122713 0.956704 0.263928 \n-10.0772 52.8838 23.3629 0.804186 -0.355192 -0.476575 \n-60.7968 52.7801 23.3345 0.909094 0.196789 0.367181 \n1.52209 -1.67775 -30.917 0.00220148 -0.337762 0.941229 \n52.0601 52.7225 23.6252 0.151641 0.955379 0.253489 \n32.8522 -74.5499 -11.7647 -0.147916 -0.986039 0.0764708 \n-27.9822 -31.2095 -17.3586 0.623322 -0.366701 0.690652 \n-60.5108 54.5728 24.2864 0.841097 0.394212 0.370341 \n-49.2111 54.8985 24.1882 -0.885303 -0.133374 -0.445477 \n21.4535 0.323149 -20.5436 -0.653393 0.507226 0.561961 \n-49.003 56.3811 24.4322 -0.950501 -0.19009 -0.245792 \n9.69059 58.8354 23.8053 -0.988929 0.142691 0.0407141 \n-58.6496 58.1849 23.3372 0.799966 0.437195 0.410992 \n0.715515 59.5083 23.5626 0.102612 0.470794 -0.876256 \n21.689 2.43195 -20.4113 -0.937037 0.00476438 0.349198 \n-0.589776 59.299 23.7811 0.101815 0.846552 -0.522479 \n-17.9984 2.41005 -19.6134 0.701693 0.530888 0.475168 \n-26.3498 -74.5554 -11.1254 -0.0397233 -0.99877 0.0296643 \n40.575 -49.0824 -18.8277 -0.866604 -0.0232515 0.498454 \n1.95609 59.6956 23.7682 0.0894929 0.850463 -0.518366 \n-6.72648 59.8683 23.427 -0.509528 0.706021 -0.49185 \n-4.2282 -1.73075 -30.7164 0.165082 -0.130831 0.977564 \n-7.49311 59.6847 24.4238 -0.819817 0.224 -0.526995 \n-16.3778 2.26655 -21.3393 0.793917 0.230602 0.562599 \n-33.8161 42.254 -8.09879 0.445907 0.818495 0.362261 \n-56.3439 60.5586 23.9805 0.725587 0.674557 0.135997 \n9.808 60.3337 23.7721 -0.950989 -0.306737 0.0391355 \n6.45686 60.7544 24.5732 0.731386 0.131171 -0.66923 \n-17.1435 3.44255 -19.7727 0.961351 -0.0248483 0.274202 \n-11.1907 62.3273 23.4902 0.726533 -0.493652 -0.477971 \n-55.5845 62.202 24.1059 0.88481 0.465823 -0.0109833 \n10.3497 61.1958 23.2032 -0.676283 -0.431478 -0.597049 \n5.83702 62.3024 23.6249 0.82063 0.122389 -0.558199 \n-31.65 -74.8235 -13.8428 -0.178573 -0.98197 0.0620211 \n-48.9928 62.5484 23.2805 -0.662106 0.682708 0.309071 \n11.7557 63.2492 23.4741 -0.610602 -0.536032 -0.582954 \n-7.68478 63.0993 24.5401 -0.938831 0.0591372 -0.339262 \n-50.2783 63.2994 22.9181 -0.502614 0.726821 0.468093 \n-11.7201 64.2547 25.0476 0.815754 -0.526393 -0.239698 \n-27.0979 -64.203 -24.8878 0.786763 -0.311959 0.532622 \n-52.9598 64.3263 23.2781 0.177607 0.84058 0.511743 \n-8.26326 66.904 23.0275 -0.875013 0.484084 -0.00384292 \n19.3602 66.6793 23.7735 -0.735031 0.0129383 0.67791 \n-26.6217 -58.5757 -28.0592 0.641933 -0.120684 0.757204 \n8.02252 68.0206 23.9474 0.859571 0.490887 -0.142012 \n-17.6758 -47.3567 -25.7541 -0.583093 0.275836 0.764145 \n20.2779 7.01965 -19.8449 -0.962799 -0.0039932 0.27019 \n28.8885 43.5802 -8.04433 -0.999576 -0.0158363 -0.0244346 \n-20.9547 70.8591 23.6823 0.329544 -0.603285 -0.726256 \n-13.3382 72.0391 23.4403 -0.563761 0.817283 0.119255 \n11.6238 72.3342 24.1278 0.668221 0.729785 0.144549 \n18.5759 73.6724 24.4692 -0.489998 0.519786 0.699804 \n12.7231 72.968 23.512 0.444461 0.739706 0.505262 \n-16.1997 73.5941 23.261 -0.349917 0.84026 0.414152 \n13.8641 73.5409 23.4121 0.33849 0.759192 0.555924 \n19.8028 10.7354 -20.3452 -0.889963 -0.328858 0.31594 \n51.4217 29.426 22.5824 -0.210258 -0.946674 -0.24413 \n45.6979 29.58 23.0194 0.352223 -0.915492 -0.194457 \n44.8611 29.9545 23.8789 0.358365 -0.864115 -0.353384 \n-17.296 11.964 -21.7744 0.933742 -0.0227857 0.35722 \n2.89567 32.7062 22.6504 -0.442972 -0.862496 0.244697 \n-36.3033 -69.9888 -12.9682 0.917754 0.394273 0.0477035 \n-47.4027 33.4653 23.0619 -0.120217 -0.686527 -0.717097 \n-50.7366 34.0531 23.4407 0.0127526 -0.637875 -0.770034 \n29.5866 47.6706 -8.0125 -0.951724 0.222448 0.211516 \n-51.8016 33.7542 22.8562 0.398007 -0.652568 -0.644783 \n4.20023 39.4879 -39.15 -0.111209 -0.0668104 0.991549 \n-3.9175 34.2546 22.162 0.756064 -0.643465 -0.119667 \n-46.4085 34.1343 23.1903 -0.467876 -0.43332 -0.770276 \n-53.3794 34.9832 23.5491 0.299984 -0.718079 -0.627991 \n48.7822 -69.3288 -12.2411 -0.692911 0.376824 0.614718 \n44.1401 35.3738 23.1608 0.745593 -0.354065 -0.564561 \n5.7212 -26.25 -47.1895 -0.799933 -0.600026 0.00873971 \n-21.6065 -70.5201 -29.7059 0.637643 0.0567603 0.768238 \n-54.5464 35.1921 23.4094 0.337911 -0.656579 -0.674329 \n-15.7222 56.3521 -25.8063 0.639501 0.60546 0.473768 \n-46.6145 36.0071 23.163 -0.709739 0.693933 -0.121356 \n43.3939 36.0005 22.7254 0.734052 -0.219628 -0.642597 \n6.96329 37.5023 22.9311 -0.89002 -0.454866 0.031005 \n-3.88377 -5.91305 -29.4807 0.490571 -0.221557 0.842765 \n-57.3239 37.3913 23.6515 0.542262 -0.738945 -0.399891 \n20.475 17.2171 -20.3891 -0.789944 -0.534948 0.299698 \n-48.004 38.2502 22.7164 -0.881489 0.139491 -0.451132 \n15.5352 57.7652 -25.6089 -0.822006 0.498064 0.276114 \n-48.7332 41.1674 23.6091 -0.811212 0.0213808 -0.584361 \n-7.80275 41.0594 22.149 0.729159 -0.667016 0.153026 \n42.7119 41.4407 23.0743 0.888403 -0.0549596 -0.455762 \n-9.32873 42.2153 22.7438 0.379033 -0.837957 0.392635 \n21.4831 18.1058 -19.3626 -0.747714 -0.598905 0.286771 \n-12.0901 42.9156 23.09 0.895427 -0.42549 -0.131028 \n42.6271 43.0142 22.9434 0.837267 -0.101959 -0.537204 \n12.6101 43.002 22.9 -0.557504 -0.785708 0.268054 \n-48.3607 43.1961 23.0411 -0.822291 0.0200862 -0.568713 \n62.6717 45.1818 22.802 -0.976215 0.213925 -0.035228 \n9.89718 2.03775 -30.8844 -0.315582 -0.168165 0.933878 \n41.8799 43.2545 22.6859 0.159132 -0.593855 -0.788678 \n-25.1733 49.157 -8.05475 0.817031 0.575432 0.0365825 \n-14.3376 61.7827 -7.43867 0.790463 0.549709 -0.270165 \n62.544 45.1137 23.265 -0.789688 0.466359 -0.398625 \n39.468 -57.8294 -10.3122 -0.886423 -0.163425 -0.433067 \n61.6727 45.5897 23.9743 -0.818039 0.381035 -0.430841 \n40.4635 45.8701 23.5016 0.899681 0.303188 -0.314087 \n62.3799 47.0662 22.8251 -0.937852 0.298777 -0.17654 \n-61.7798 47.8209 22.9915 0.862869 0.0669986 0.500967 \n41.0667 47.2619 23.4667 0.758855 0.632966 -0.153273 \n16.4093 12.5473 -27.7078 -0.825323 0.0960265 0.556436 \n-32.3759 -52.2273 -18.5677 0.959106 -0.259676 -0.112619 \n42.5983 48.2714 23.4775 0.702432 0.688466 -0.180567 \n-29.3256 -30.4114 -17.0313 0.715993 -0.364266 0.595537 \n61.7418 47.9443 22.8663 -0.683223 0.65501 -0.322752 \n-49.8339 48.9041 23.5904 -0.77758 -0.0185526 -0.628511 \n-31.0799 -66.4665 -12.4479 0.29938 0.900771 -0.314616 \n-22.3939 20.7376 -19.5884 0.905548 0.275213 0.322862 \n13.5756 51.1156 22.1538 -0.824442 0.27105 -0.496818 \n-26.9545 -37.4347 -18.9446 0.462211 0.517625 0.720017 \n21.895 -30.8004 -16.2508 0.443906 -0.682338 0.580829 \n-49.4056 50.156 23.0914 -0.737283 -0.0256024 -0.675098 \n25.9546 -67.0164 -12.0608 0.846278 0.0435458 -0.530958 \n24.7732 20.4906 -20.8156 -0.474847 -0.878056 0.0594872 \n-19.6927 -66.1563 -11.6624 -0.654688 0.512133 -0.555971 \n-29.9116 -66.4165 -12.1052 0.329101 0.943166 -0.0461541 \n25.3026 21.2643 -20.9809 -0.922612 -0.0246367 0.384941 \n24.2059 52.542 -7.08107 -0.704246 0.664822 -0.249098 \n-11.449 53.8294 22.6167 0.828476 -0.394927 -0.397064 \n11.437 55.7285 23.8764 -0.81852 0.380036 -0.430811 \n-10.9428 55.6351 23.7457 0.927899 0.303098 -0.217107 \n11.6997 55.8922 23.1816 -0.912987 0.342651 -0.22146 \n-59.9616 55.8378 23.3825 0.886968 0.324996 0.328124 \n-27.4099 -65.3086 -12.0707 0.294244 0.950543 -0.0994443 \n42.459 -64.3918 -12.5236 -0.616086 0.774652 0.142663 \n-48.6729 57.7324 22.646 -0.996388 -0.0412401 0.0742316 \n-2.99581 59.1967 23.1628 0.146469 0.899672 -0.411263 \n-1.09553 59.8047 23.36 0.177914 0.28652 -0.94141 \n-57.6508 59.9134 23.6593 0.636917 0.664327 0.39116 \n3.51593 59.8167 23.3442 0.134249 0.654595 -0.743964 \n1.04649 60.7075 23.3244 -0.00866723 0.440638 -0.897643 \n5.00968 61.0873 23.2726 0.489969 0.403546 -0.77271 \n-22.5136 -63.9473 -12.9542 -0.0821629 0.865791 -0.493615 \n-55.6465 61.9452 23.0595 0.625946 0.715495 0.310256 \n5.40508 62.5807 22.87 0.806426 0.4443 -0.390224 \n-23.55 29.0348 -20.225 0.991748 -0.0610658 0.112721 \n27.4768 27.7376 -20.1759 -0.922904 -0.283842 0.260156 \n-54.8769 63.1484 23.7992 0.711523 0.615936 0.338168 \n-26.3996 -55.0025 -28.3241 0.555748 0.135249 0.820275 \n26.2923 -63.99 -12.4636 0.766158 -0.268648 -0.583807 \n18.1051 64.0195 23.1955 -0.478244 -0.648919 -0.591766 \n22.6671 -51.8269 -17.5974 0.892465 0.000735298 0.451116 \n-23.8571 -63.9737 -12.4197 0.127192 0.822953 -0.553689 \n15.3308 63.5421 22.7806 0.0559585 -0.371525 -0.926735 \n-12.3532 -50.4418 -17.6184 -0.982087 -0.0350561 0.185136 \n18.938 65.2126 23.456 -0.847954 -0.525807 -0.0670835 \n18.2782 64.7069 23.6614 -0.091055 -0.462613 -0.881872 \n6.61132 65.2605 21.8183 0.862891 0.482768 -0.149512 \n-7.53029 65.0771 22.9017 -0.97181 0.220598 -0.0831988 \n-29.402 -29.1473 -17.0627 0.766633 -0.275088 0.580172 \n39.7533 -62.7598 -12.1598 -0.842281 0.286534 -0.456576 \n18.1629 66.5427 22.8872 -0.692369 -0.0241367 0.72114 \n-9.59837 4.46415 -30.6315 0.443208 -0.186024 0.876905 \n-15.8718 67.9113 23.5349 0.46644 -0.560866 -0.684005 \n18.492 69.0179 23.0158 -0.717067 0.0822661 0.692132 \n11.3918 5.41005 -30.7374 -0.443085 0.0167496 0.896323 \n-21.3322 71.3011 23.642 0.93314 -0.35531 0.0548098 \n24.6424 -62.1685 -12.0207 0.741063 -0.492275 -0.456608 \n20.6588 56.9469 -8.1643 -0.878607 0.459862 -0.128755 \n-12.397 59.4241 -26.6398 0.48224 0.73257 0.480401 \n-21.2821 72.1264 23.5057 0.645914 0.233682 0.726765 \n16.2548 73.7072 23.1435 -0.157833 0.646481 0.746426 \n1.92131 38.9646 -39.2974 0.072878 -0.167256 0.983216 \n-24.5716 34.8408 -21.3148 0.976102 -0.186498 0.111547 \n-18.5368 74.2403 23.3337 -0.0422654 0.780627 0.623567 \n49.1458 28.607 22.2642 -0.158365 -0.971963 -0.173809 \n40.1525 -58.0183 -12.2919 -0.979356 0.00299052 -0.202123 \n44.1957 30.1159 22.4579 0.477593 -0.834178 -0.275776 \n42.8222 32.4081 23.1387 0.704416 -0.13542 -0.696749 \n42.6242 33.1616 22.9831 0.269972 0.00158244 -0.962867 \n1.75172 32.2078 23.0096 -0.15024 -0.959258 0.239273 \n-0.0303703 32.2515 23.2067 0.00496267 -0.957839 0.287263 \n57.9941 32.567 23.8159 -0.62133 -0.777269 0.0990034 \n-49.7817 32.666 22.6683 -0.0712512 -0.706054 -0.704565 \n-32.9948 -50.9022 -18.6403 0.975617 -0.218103 0.0245579 \n40.8551 32.961 22.7425 0.575429 -0.485464 -0.658184 \n29.5129 37.2431 -20.4052 -0.953343 -0.100525 0.284661 \n4.89338 34.7441 22.4355 -0.735403 -0.666355 0.123095 \n29.1053 38.581 -21.6108 -0.932411 0.0493975 0.358007 \n36.4674 -19.9964 -17.7377 -0.804929 0.0305362 0.592584 \n41.2739 33.66 23.0976 -0.0178775 0.079227 -0.996696 \n40.6768 34.3721 22.9218 0.186158 0.223546 -0.956751 \n-8.63241 33.8092 -37.8437 0.348233 -0.13014 0.928331 \n3.30045 -28.4145 -56.6977 0.468244 0.249003 0.847788 \n-45.6095 34.9412 22.6508 -0.847908 0.347043 -0.400767 \n60.3603 35.6161 22.5026 -0.771089 -0.631894 -0.0783072 \n-15.1636 59.8274 -7.05211 0.481985 0.858608 -0.174591 \n17.9569 60.0504 -7.9507 -0.535386 0.825617 -0.178098 \n-55.6113 35.465 22.8997 0.520235 -0.605323 -0.602445 \n-5.26192 36.0314 22.2165 0.822974 -0.551767 -0.135157 \n24.2476 40.9769 -28.8334 -0.716975 0.218599 0.661937 \n62.1586 36.7657 22.6512 -0.588541 -0.693729 -0.415162 \n62.8 37.3739 22.2903 -0.868773 -0.453998 -0.197785 \n42.7542 36.9664 22.2669 0.522704 -0.132322 -0.842183 \n-47.7936 37.1906 22.9502 -0.887638 0.458749 -0.0405927 \n-58.1414 37.7806 22.5675 0.652128 -0.644689 -0.39888 \n-24.7785 41.9915 -20.3301 0.833398 -0.0469583 0.550675 \n28.333 43.3294 -21.1836 -0.885428 0.41611 0.207049 \n63.0948 39.2262 23.3858 -0.932293 -0.274693 -0.235314 \n63.4985 38.7556 21.8847 -0.971089 -0.182118 -0.154332 \n7.88267 39.334 23.4895 -0.847769 -0.51794 0.11413 \n-6.3672 38.2824 23.0525 0.874359 -0.482014 -0.0562132 \n-7.23883 40.2854 23.2265 0.878567 -0.475043 0.0495366 \n6.1316 -24.2115 -47.8556 -0.966201 0.257142 -0.018253 \n33.9338 -29.1133 -16.9322 -0.473357 -0.386348 0.791624 \n42.2179 40.2929 22.3037 0.777027 0.0346547 -0.628512 \n-48.2527 39.274 22.6992 -0.734911 0.0554814 -0.67589 \n63.4094 41.0307 22.8335 -0.997996 -0.0072799 -0.0628638 \n16.2132 62.242 -7.46574 -0.799232 0.438376 -0.411163 \n39.917 -57.1479 -13.1599 -0.980057 0.169868 0.103122 \n9.34782 42.1463 22.5274 -0.580185 -0.700877 0.414918 \n-15.8403 -56.8284 -12.7468 -0.582732 -0.478083 -0.65716 \n-24.0728 44.6716 -20.9919 0.876668 0.0936621 0.47189 \n11.3387 10.4331 -30.0877 -0.501043 0.0179197 0.865237 \n40.5442 44.2076 23.1821 0.32763 -0.537269 -0.777175 \n39.9363 44.5581 22.8676 0.808214 0.208663 -0.550681 \n-15.3605 -56.1805 -12.5951 -0.786765 -0.389155 -0.479123 \n-25.5664 -53.789 -28.2688 0.410912 0.202739 0.888846 \n-48.9791 46.4306 23.2785 -0.755432 0.223151 -0.616057 \n-29.0271 -55.6265 -12.2558 0.66249 -0.600625 -0.447613 \n-60.9478 46.3852 22.5486 0.893344 -0.367988 0.257916 \n9.52566 10.2236 -31.0211 -0.379611 0.0707729 0.922435 \n22.1048 -55.3855 -12.7631 0.923155 -0.31811 -0.215851 \n28.6801 42.4923 -18.5435 -0.950439 0.294602 0.0993784 \n-12.3387 48.4707 22.5345 0.889194 0.168664 -0.425306 \n-48.7065 47.8957 22.6593 -0.685318 0.0681124 -0.725051 \n10.1478 10.9821 -30.9033 -0.35379 -0.535931 0.766558 \n26.8223 45.375 -20.834 -0.71101 0.460939 0.531036 \n26.215 47.3896 -20.4827 -0.77898 0.266554 0.567573 \n42.2355 48.7804 22.2399 0.748933 0.648998 -0.133795 \n-11.4698 50.329 23.1901 0.774228 0.282262 -0.566479 \n-48.7269 48.7092 22.7065 -0.691351 0.0821468 -0.717834 \n13.5693 49.8075 23.1795 -0.886807 0.221455 -0.405625 \n59.5519 49.8358 22.7194 -0.553935 0.786005 -0.274503 \n1.8176 -26.6553 -36.1872 -0.117734 -0.893142 -0.434092 \n-9.05455 10.6369 -30.9809 0.380307 -0.485607 0.787116 \n-28.9577 -60.7016 -25.2953 0.742151 -0.356669 0.56745 \n49.0848 52.0032 22.4844 0.0321439 0.989703 0.139482 \n53.4191 52.4727 22.9123 -0.0912416 0.87633 0.472992 \n40.146 -53.6976 -13.3456 -0.947968 -0.160424 -0.274992 \n-9.37235 65.361 -7.69696 0.21508 0.976542 -0.0103682 \n23.5135 51.9342 -21.8116 -0.793256 0.485027 0.368095 \n-11.5636 54.7642 22.6675 0.910435 0.0903381 -0.403667 \n11.0618 33.4195 -37.9032 -0.400716 -0.0789149 0.912797 \n11.5741 57.1143 22.8973 -0.652825 0.243917 -0.717164 \n-48.7513 56.5252 22.6787 -0.998831 0.0352958 -0.0330273 \n-9.76881 58.1031 23.0458 0.97403 0.167164 0.152717 \n10.1272 58.537 23.0372 -0.468175 0.232981 -0.852368 \n-31.2598 -52.1961 -12.5388 0.944342 -0.280476 -0.171908 \n-1.90508 58.9639 23.4184 0.0962341 0.899829 -0.425497 \n-4.57477 58.9945 22.5938 -0.182925 0.880224 -0.437886 \n40.3083 -52.1797 -12.0398 -0.976289 -0.205006 -0.0695103 \n-21.4251 53.2473 -19.9743 0.583839 0.637909 0.5022 \n22.671 53.2868 -21.7081 -0.669625 0.589921 0.451216 \n-57.9168 58.715 22.4537 0.788128 0.509905 0.344749 \n11.1966 60.6704 22.4971 -0.279327 -0.0980474 -0.955177 \n9.87061 59.5244 23.0168 -0.727359 -0.093138 -0.679908 \n13.8322 12.4734 -30.1909 -0.521212 -0.31447 0.793377 \n-31.7384 -51.2127 -12.0694 0.902953 -0.42727 -0.0460047 \n-1.26741 60.5945 23.2293 0.248373 0.353918 -0.901694 \n3.41783 60.3915 23.0832 0.0471786 0.349689 -0.935677 \n-1.21112 61.1275 22.7795 0.118226 0.782219 -0.611683 \n-0.270562 -26.4589 -36.7293 0.505018 -0.859478 -0.0790914 \n-56.2613 61.1796 22.5962 0.830437 0.529061 0.174556 \n-11.9699 62.0296 22.4915 0.510955 -0.410163 -0.755441 \n12.3218 62.7209 22.7887 -0.300997 -0.385684 -0.872152 \n5.87378 -23.383 -46.8387 -0.902471 0.425953 0.064113 \n-12.6426 -49.3783 -12.3677 -0.874611 -0.232454 -0.425465 \n20.8511 -48.3899 -11.7283 0.980935 -0.0215346 0.19314 \n17.0711 63.8247 23.1776 0.0413075 -0.415637 -0.908592 \n-9.80535 13.755 -31.256 0.579379 0.615278 0.534558 \n41.7431 -47.7448 -11.943 -0.948536 -0.309576 -0.0666427 \n9.12223 67.68 -8.83569 -0.429909 0.899689 -0.0757506 \n-51.739 63.7411 22.4146 -0.142911 0.667347 0.730906 \n8.28313 62.3047 -26.0521 -0.620045 0.774564 0.124879 \n18.2003 64.9732 22.7325 -0.662527 -0.0476432 0.747521 \n-17.42 67.3598 22.3322 0.328406 -0.491232 -0.806747 \n-18.8431 68.9671 22.8452 0.169018 -0.499677 -0.849562 \n-20.9255 70.4122 22.6436 0.772471 0.0957432 0.627792 \n41.995 -46.456 -11.8426 -0.9971 0.0760962 -6.87652e-005 \n-16.8939 58.9113 -20.9716 0.65109 0.705367 0.280249 \n-12.5715 -73.8212 -26.2875 -0.951517 -0.296146 0.0831493 \n15.1351 73.7433 23.1939 0.125844 0.73759 0.663419 \n-25.7033 44.5728 -18.3137 0.994417 0.0880524 0.0581504 \n43.0782 31.1984 22.8183 0.644211 -0.559358 -0.521643 \n-33.1614 -44.097 -11.3475 0.927847 -0.0697636 0.366379 \n1.45441 -28.0432 -42.0366 0.100376 -0.98789 -0.118315 \n-1.45492 68.7322 -8.04641 -0.00556338 0.999886 -0.0140383 \n41.9962 32.1211 22.4406 0.484738 -0.460855 -0.743398 \n57.3165 32.2906 22.8447 -0.656613 -0.753713 0.0278555 \n-1.02473 32.5304 22.257 0.253127 -0.939941 0.228992 \n58.4725 33.7223 22.6548 -0.743986 -0.650499 0.152762 \n-48.6012 33.4536 22.9312 -0.0423612 -0.603468 -0.796261 \n-46.4379 32.8818 22.0594 -0.189409 -0.649284 -0.736583 \n59.2686 34.3592 22.2491 -0.667583 -0.742901 0.0492985 \n13.1027 62.2255 -21.0785 -0.654272 0.7306 0.195323 \n-7.86185 16.3842 -30.4586 0.186703 -0.127882 0.974058 \n-44.8974 34.2317 21.5021 -0.65577 0.574904 -0.489337 \n39.7966 34.6855 22.1889 0.79832 -0.123008 -0.589537 \n43.0287 34.7739 22.5594 0.227531 0.257608 -0.939078 \n22.1012 -41.1898 -12.8453 0.950452 0.285373 0.123302 \n42.4012 35.7545 22.4066 0.0616629 0.222379 -0.973008 \n-32.7299 -40.3374 -12.3087 0.934766 0.220633 0.278449 \n6.19933 -31.429 -55.189 -0.543014 -0.653615 -0.527184 \n-47.7654 37.0232 22.1484 -0.830532 0.386498 -0.401044 \n-24.9113 -51.3031 -28.1592 0.323621 0.132923 0.936803 \n-59.242 38.7631 22.6578 0.656017 -0.563024 -0.502638 \n-15.2744 -40.3988 -13.0414 -0.703002 0.67614 -0.220508 \n42.1107 38.6828 22.4157 0.770019 -0.0934252 -0.631144 \n-60.353 41.0395 22.6931 0.851606 -0.315629 -0.418503 \n-9.40247 15.8309 -30.0949 0.506923 -0.489239 0.7097 \n22.2717 -39.5622 -12.4925 0.947795 0.285782 0.141467 \n42.0626 42.2775 22.3168 0.266437 -0.215249 -0.93951 \n-60.7689 41.8093 22.03 0.929508 -0.20161 -0.308819 \n39.8302 43.1205 22.7807 0.132162 -0.265543 -0.954997 \n-29.3819 -58.1576 -25.2791 0.774981 -0.0718314 0.627889 \n-11.951 42.9133 22.1172 0.30539 -0.845879 0.437293 \n-31.9873 -38.5042 -13.3757 0.884642 0.243891 0.3974 \n39.0929 42.6101 22.1896 0.771417 -0.161837 -0.615405 \n10.8352 42.612 22.7826 -0.15396 -0.853403 0.497996 \n-60.9209 43.6985 22.0458 0.922877 -0.0332992 -0.383653 \n-60.8266 45.6033 22.3414 0.945976 0.12329 -0.299882 \n14.1301 46.7943 21.8672 -0.952734 -0.116104 -0.280743 \n41.5444 47.5669 22.3287 0.777766 0.626298 -0.0532153 \n-7.79788 17.5582 -30.9588 0.00730326 -0.521201 0.853403 \n44.4664 50.0551 22.6579 0.419989 0.88606 0.196231 \n-37.3596 -75.2572 -8.32018 -0.0924997 -0.977994 -0.187009 \n-39.4819 -75.255 -7.71947 0.126856 -0.974443 0.185386 \n3.66567 -26.8903 -56.0989 0.137925 0.491603 0.859828 \n57.9504 50.6258 22.5374 -0.45255 0.891196 -0.0311257 \n57.0827 50.8835 22.0532 -0.13099 0.963875 0.231917 \n46.66 50.6769 21.0435 0.455662 0.863315 0.216929 \n56.2195 52.008 23.487 -0.317573 0.893493 0.317518 \n-10.7965 52.3594 22.3684 0.822043 0.242 -0.515443 \n53.3316 51.6077 21.7045 -0.172086 0.915063 0.364754 \n12.7618 52.0058 23.0313 -0.81334 0.0625989 -0.578411 \n-32.0435 -36.0164 -12.4373 0.925126 0.19302 0.326933 \n13.0828 53.4552 22.4472 -0.877552 0.306412 -0.368801 \n-59.0273 55.9267 22.109 0.846187 0.353879 0.398418 \n-10.3834 56.7593 22.4264 0.884477 0.445853 -0.137533 \n11.9253 57.7834 22.5825 -0.312511 0.0818114 -0.946384 \n-18.6088 -50.6958 -27.7168 -0.409346 0.304528 0.860057 \n-29.551 -74.9314 -20.8504 0.310894 -0.808626 0.49947 \n-9.94522 59.6938 23.1317 0.947926 -0.264453 -0.177486 \n-48.7696 58.5752 22.8792 -0.95122 0.132938 0.278403 \n-2.55903 59.8559 22.7572 0.370364 0.344382 -0.862689 \n35.3288 -74.7279 -21.6267 -0.258437 -0.935896 0.239394 \n-10.5577 59.9902 22.413 0.65355 -0.382816 -0.652935 \n-56.8539 59.8552 22.7847 0.733935 0.64506 0.21269 \n-49.0062 61.1508 23.0159 -0.905509 0.0725499 0.418079 \n12.3028 60.0503 22.2714 -0.102161 -0.0236825 -0.994486 \n-31.6347 -32.6856 -11.1923 0.925645 0.135288 0.353383 \n-49.6293 61.4441 22.4705 -0.561353 0.380976 0.73467 \n13.8549 18.7491 -30.7119 -0.225402 -0.909083 0.350375 \n-14.6968 -74.7202 -21.3675 0.0610891 -0.998099 0.00817664 \n-7.42363 61.8827 23.5242 -0.940449 0.0866526 -0.328704 \n22.098 -32.7941 -12.1553 0.396849 -0.911893 0.104702 \n16.3039 61.6995 22.2026 -0.523566 -0.426535 -0.737527 \n14.053 62.4002 22.4318 -0.0658481 -0.201221 -0.97733 \n4.73446 62.028 22.8034 0.279138 0.642205 -0.713901 \n17.0965 62.8907 22.6248 -0.468632 -0.626048 -0.623256 \n-49.3087 62.3183 22.7893 -0.523163 0.321592 0.789227 \n-25.8288 -74.6686 -21.253 -0.140563 -0.98075 -0.135541 \n5.22453 -22.6932 -48.2655 -0.756596 0.647519 0.0910049 \n-53.895 63.0552 22.6517 0.406979 0.682844 0.606706 \n36.2961 -74.2305 -21.3774 -0.610842 -0.461417 0.643402 \n-19.0366 -74.528 -8.55453 -0.764065 -0.611786 -0.20475 \n33.0854 -74.4183 -21.4097 0.0575882 -0.96861 -0.241824 \n-14.0618 65.8533 23.342 0.586537 -0.495151 -0.640936 \n-14.1631 18.9531 -30.6977 0.356416 -0.696277 0.623029 \n-16.1165 66.6563 22.5226 0.42503 -0.452013 -0.784241 \n-29.4483 -73.9498 -20.9443 0.645817 -0.0230185 0.763145 \n-9.29133 68.2349 23.0171 -0.743593 0.668275 0.0218837 \n-18.5258 67.3966 22.0914 0.135939 -0.378833 -0.915427 \n-20.3748 69.1036 22.7337 0.357706 -0.482678 -0.799417 \n-20.5885 68.7287 22.3603 0.719812 -0.375946 -0.583554 \n-10.8241 69.8402 23.0734 -0.699025 0.713344 0.0500496 \n-29.4116 -75.1807 -7.68516 -0.0770435 -0.996457 0.0337401 \n10.8723 70.9951 22.4829 0.565306 0.719938 0.40264 \n-1.18691 63.6915 -26.0456 0.103853 0.836703 0.53772 \n-12.5833 46.9559 -34.8044 0.404401 0.49148 0.771302 \n-13.378 71.5191 21.8322 -0.358605 0.781468 0.510598 \n34.5808 37.9644 -9.94703 -0.329067 0.379525 0.864682 \n-19.6038 72.5149 22.4566 0.471257 0.356871 0.806572 \n-35.7425 -74.2498 -7.67876 -0.456281 -0.408692 -0.79043 \n-17.9323 72.9506 22.1565 0.141282 0.577621 0.803986 \n-39.9651 -74.889 -8.10559 0.835969 -0.183105 0.517329 \n50.2382 28.9203 21.9778 -0.174276 -0.972383 -0.155239 \n22.2506 -72.5327 -20.6392 0.979364 0.18381 0.0840307 \n53.8864 29.8199 22.3444 -0.313393 -0.945239 -0.0911486 \n37.9254 -71.1177 -20.4654 -0.709583 -0.0555142 0.702431 \n51.4021 -74.0884 -8.26885 -0.423728 -0.844276 0.328103 \n4.50161 -25.0903 -35.9854 -0.655836 -0.604463 -0.45222 \n-13.7777 -30.3218 -12.1246 -0.850835 -0.517499 -0.0909648 \n-0.973453 -25.6966 -35.918 0.697899 -0.660916 -0.275914 \n-12.9121 20.8637 -31.9018 0.542175 -0.0814902 0.836305 \n23.4339 -44.2075 -17.9421 0.790145 0.132205 0.598492 \n1.57552 32.6548 21.9859 -0.0767483 -0.958838 0.273385 \n-32.8596 -29.9005 -12.2137 0.720032 -0.554442 0.417311 \n-3.03087 33.6057 21.579 0.517504 -0.820672 0.242253 \n-15.3794 21.4304 -29.9486 0.61525 -0.43112 0.660002 \n3.98254 33.4526 22.5113 -0.687706 -0.696769 0.203896 \n-52.8386 33.7708 21.8134 0.410249 -0.703078 -0.580842 \n-13.283 -70.2614 -21.6233 -0.945392 0.114759 -0.305064 \n38.7285 -74.205 -9.89842 -0.0313267 -0.998563 0.0434761 \n-54.398 34.0907 22.0618 0.342538 -0.82118 -0.456432 \n-56.0859 34.798 21.5816 0.632819 -0.690774 -0.349817 \n-8.97206 35.2271 -37.7545 0.535296 0.0976722 0.838998 \n39.7793 36.08 21.9765 0.474897 0.00316396 -0.880036 \n6.03379 35.6717 22.718 -0.808386 -0.57206 0.13878 \n-16.8998 22.6448 -29.5861 0.678461 -0.42512 0.599136 \n40.8286 36.6681 22.0965 0.0576594 0.13685 -0.988912 \n5.89507 36.7876 21.2675 -0.800851 -0.597534 -0.0398725 \n38.9991 37.0212 21.8222 0.759262 -0.235258 -0.606774 \n-56.4554 36.596 22.9898 0.586918 -0.680578 -0.438567 \n-58.1101 37.0842 21.2827 0.611786 -0.694457 -0.378744 \n39.7203 37.6518 22.2826 0.0372516 0.0255403 -0.998979 \n38.9422 38.5422 22.058 0.637864 0.0825973 -0.765707 \n6.7674 37.7857 21.5461 -0.860164 -0.503164 -0.0833234 \n-6.75973 38.754 22.167 0.915448 -0.39948 -0.0486987 \n-59.694 38.2376 21.1642 0.750315 -0.630337 -0.199252 \n41.566 38.5381 22.0906 0.0844545 0.0226882 -0.996169 \n38.2296 -68.4464 -20.2413 -0.669855 -0.0158271 0.742323 \n39.8166 40.6096 21.9193 0.232179 -0.0613736 -0.970735 \n19.8582 -28.6078 -17.4051 0.484185 -0.759268 0.43483 \n-47.2665 39.1334 22.0337 -0.726094 -0.188906 -0.661137 \n-60.3 39.5148 21.4281 0.87813 -0.358001 -0.317369 \n30.6493 -74.1824 -6.97512 0.835329 -0.368797 -0.407693 \n-12.404 -27.6316 -12.2041 -0.860569 -0.488116 -0.145476 \n-47.8439 41.4524 22.0793 -0.791722 0.0479518 -0.608996 \n41.4442 40.3372 21.8542 0.0646887 -0.0727245 -0.995252 \n-33.1993 -73.7949 -8.00448 0.484881 -0.708553 -0.512683 \n18.1778 22.9405 -30.474 -0.759324 -0.12006 0.639541 \n-8.94993 42.2531 21.4302 0.674917 -0.679192 0.288417 \n63.2571 42.5603 22.3531 -0.98681 0.160281 0.0227214 \n-34.5205 -73.3168 -8.03753 -0.398498 -0.00669308 -0.917145 \n39.1327 43.7863 22.1546 0.892963 0.201071 -0.402726 \n10.5698 43.1255 22.0307 -0.263145 -0.849484 0.457309 \n-47.9553 43.8864 22.2002 -0.839888 0.05302 -0.540164 \n-12.4237 43.6298 22.4358 0.98234 -0.125309 -0.138948 \n13.8077 44.5872 22.237 -0.918636 -0.384306 -0.0917424 \n52.0284 -73.4987 -8.09445 -0.662369 -0.186935 0.725481 \n39.6 45.7533 21.2847 0.835888 0.520161 -0.175282 \n-48.1994 46.2483 22.1911 -0.79502 0.0561851 -0.603975 \n-12.503 45.8335 22.7985 0.97392 0.00271242 -0.226875 \n36.5535 -67.4597 -21.4441 -0.608383 0.111362 0.785792 \n40.312 45.9814 22.2891 0.828132 0.541343 -0.145415 \n-60.5009 47.2993 21.6016 0.881927 0.0172079 0.471072 \n-16.4995 -46.1499 -24.7367 -0.607197 0.279103 0.743917 \n-33.695 -72.8745 -7.54095 0.975631 0.217085 0.0319233 \n4.2471 -27.252 -42.4724 -0.646586 -0.739197 0.188456 \n-10.9545 -25.5214 -11.9976 -0.847564 -0.525297 0.0754867 \n-60.7489 48.8326 22.1164 0.860604 0.139897 0.489684 \n14.4424 48.4021 21.9021 -0.90472 0.0854212 -0.417355 \n13.9301 49.9646 21.7293 -0.885327 0.22096 -0.409113 \n-20.3817 -57.0877 -10.4516 0.437738 -0.521486 -0.732419 \n-48.302 51.0012 22.0727 -0.811757 0.0124003 -0.583864 \n-60.6196 50.9782 22.599 0.919005 0.073825 0.387273 \n58.4995 51.1165 21.4196 -0.565743 0.824269 -0.0227143 \n-16.6809 24.8185 -30.8177 0.59974 -0.346521 0.721273 \n-14.3317 -66.166 -21.7599 -0.835395 0.511576 -0.201011 \n-25.3007 -49.7885 -28.0006 0.248689 0.203397 0.946987 \n20.0349 24.2099 -29.9815 -0.636248 -0.343294 0.690896 \n-34.244 -24.9173 -12.728 0.954643 -0.161795 0.249956 \n51.4662 52.0762 22.4906 0.0812717 0.958646 0.27275 \n25.5731 -65.9492 -21.2669 0.785702 0.558464 0.266064 \n-60.3516 52.7539 21.1199 0.818543 0.0628539 0.570997 \n-60.4198 53.4562 21.745 0.842274 0.464422 0.273655 \n-11.7048 52.8918 21.292 0.847933 -0.231845 -0.476715 \n-59.871 54.4964 22.5982 0.860774 0.376797 0.342189 \n35.9241 -65.2408 -20.6106 -0.55737 0.0956543 0.824735 \n-48.5509 53.4679 22.0892 -0.96129 0.0722809 -0.265888 \n-19.3164 -47.9293 -26.8145 -0.304377 0.359846 0.881967 \n-33.8252 -22.4886 -12.6094 0.94963 0.0566192 0.308214 \n-11.1877 55.9725 22.1297 0.695671 0.434173 -0.572307 \n-15.2606 -65.2321 -21.1855 -0.956471 0.222559 -0.188761 \n-9.96624 58.2161 22.2974 0.815176 -0.0691607 -0.57507 \n12.8215 58.0419 22.3064 -0.329007 -0.197166 -0.923515 \n-20.3603 -48.5838 -27.4724 -0.154377 0.367641 0.917065 \n-17.5421 25.9251 -30.8071 0.703131 -0.337904 0.625642 \n14.2084 58.9776 21.9291 -0.548873 -0.628036 -0.551642 \n-3.85333 59.5723 22.2326 0.304011 0.442389 -0.843723 \n15.1964 59.8563 21.9254 -0.497827 -0.469179 -0.72941 \n14.1525 59.609 22.2445 -0.100153 -0.115267 -0.988273 \n-4.85263 60.4463 21.7131 0.157073 0.50386 -0.849384 \n-49.5224 60.5872 21.7284 -0.70987 0.339588 0.617061 \n16.4329 61.1013 21.9041 -0.771394 -0.518897 -0.368372 \n-34.1069 -72.7231 -8.21097 0.110202 0.287803 -0.951328 \n-5.95623 60.6432 21.6446 -0.422278 0.707465 -0.566723 \n20.6536 27.0131 -30.0861 -0.796441 -0.241979 0.554191 \n15.8462 62.2262 22.4119 -0.0545653 -0.245993 -0.967734 \n-17.936 28.0784 -31.2518 0.861057 -0.156264 0.483903 \n16.9176 62.3568 21.7399 -0.82525 -0.339476 0.451352 \n2.40204 61.3726 22.7886 0.0686205 0.73325 -0.676488 \n-7.19794 62.803 22.0096 -0.981186 0.155259 -0.114754 \n-52.6851 62.6032 21.957 -0.0758882 0.69796 0.712105 \n10.9667 35.7701 -37.9545 -0.417281 0.139017 0.898082 \n17.9122 63.8293 22.5029 -0.73979 -0.114194 0.663077 \n-25.0404 46.6865 -18.7046 0.859703 0.458796 0.224537 \n16.9114 64.9351 21.9626 -0.690826 -0.0782007 0.718779 \n40.1917 -55.6049 -10.4172 -0.975409 -0.118908 -0.185575 \n-15.1597 -62.2226 -19.9702 -0.753029 -0.596124 -0.278538 \n-16.3288 64.6921 21.4711 0.226378 -0.341313 -0.912282 \n10.6308 -20.6383 -12.483 0.636304 -0.650591 -0.414547 \n-18.6985 30.0802 -30.5132 0.293441 -0.197215 0.935414 \n-7.99122 65.9396 21.2406 -0.862877 0.473348 0.177158 \n-20.4777 68.0458 21.9253 0.944335 -0.249181 0.214804 \n8.20248 68.2442 22.2498 0.802036 0.585494 0.118048 \n-6.39706 -19.2549 -12.7208 -0.595281 -0.803501 -0.00520494 \n-19.5674 67.4051 22.0353 0.282708 -0.451286 -0.846414 \n9.31902 69.5977 22.3748 0.719575 0.675434 0.161246 \n35.834 -60.7803 -20.8656 -0.596089 -0.151951 0.78841 \n-24.0097 -48.62 -27.6403 0.0754112 0.289146 0.95431 \n-18.4849 31.706 -30.7236 0.554748 0.0183726 0.831816 \n-19.7455 70.4562 21.9005 0.528901 0.241726 0.813531 \n-33.8299 -18.5474 -12.8921 0.938984 0.194841 0.283454 \n17.8066 71.692 22.9841 -0.595847 0.264314 0.758357 \n-32.8417 -71.1153 -8.41483 0.73581 0.546537 -0.399851 \n16.5373 72.8236 22.7053 -0.460514 0.416617 0.78381 \n14.1606 72.1834 21.9402 0.147658 0.643019 0.751481 \n-16.6652 73.2799 22.5663 -0.138276 0.745936 0.651505 \n30.4571 -70.3992 -7.57313 0.78058 0.0659182 -0.62157 \n46.569 29.0333 21.4984 0.222532 -0.949763 -0.220067 \n-19.8854 31.5966 -30.5448 0.403642 0.0513779 0.913473 \n53.0239 29.6308 21.6796 -0.436989 -0.892562 -0.111236 \n43.417 29.8848 21.3706 0.484141 -0.858511 -0.169017 \n55.2977 30.8041 22.0661 -0.535033 -0.844618 -0.018963 \n-18.3533 32.4397 -31.0485 0.863925 0.0248898 0.503004 \n41.4363 31.72 21.4397 0.660921 -0.715674 -0.22582 \n-47.9805 32.1781 21.6103 -0.0603195 -0.694081 -0.717365 \n-50.8512 32.444 22.3005 0.242945 -0.687341 -0.6845 \n40.3349 32.704 21.4459 0.795082 -0.572865 -0.199173 \n38.0718 -58.0258 -20.7098 -0.646216 -0.169243 0.744152 \n2.55512 33.1181 21.3057 -0.365978 -0.87105 0.327616 \n-45.4127 33.528 22.0507 -0.530723 -0.247375 -0.810641 \n3.40517 33.9231 20.6577 -0.552923 -0.827614 0.0966008 \n-18.8321 33.5075 -30.492 0.502534 -0.0994785 0.858815 \n25.344 -58.4492 -20.3925 0.754464 0.0152269 0.656164 \n-35.8513 -71.3082 -7.90749 -0.414543 0.432105 -0.800899 \n60.6457 35.665 21.9732 -0.496156 -0.851102 -0.171625 \n61.5237 35.5074 21.0034 -0.402795 -0.90913 -0.106014 \n39.2446 35.5804 21.1622 0.910976 -0.29573 -0.287519 \n-12.4912 14.1446 -27.712 0.691911 0.459227 0.557108 \n25.2283 -56.9096 -20.5278 0.597975 -0.0526699 0.799782 \n-47.308 36.5049 22.3818 -0.692341 0.717962 -0.0720722 \n-0.700447 -15.9413 -13.0529 -0.885521 -0.453134 0.102573 \n-13.2913 -56.895 -21.7808 -0.984673 -0.0739714 0.15795 \n-14.2088 -54.3118 -24.6809 -0.85561 0.0854521 0.510519 \n-13.8343 -74.7632 -25.8482 0.0042542 -0.998269 -0.0586517 \n7.4549 39.2683 21.994 -0.924649 -0.369621 0.0916718 \n-6.6804 38.9473 21.3454 0.885461 -0.411009 0.216863 \n21.5323 34.9122 -31.4193 -0.831889 0.179259 0.525192 \n-18.3888 33.9343 -30.7578 0.569438 -0.141986 0.809679 \n-47.151 40.3454 21.9643 -0.650127 0.154203 -0.744014 \n38.8223 40.4233 21.3505 0.82035 0.108169 -0.561539 \n38.0855 -55.5797 -21.0976 -0.655791 -0.118756 0.745544 \n38.9795 41.4567 21.4548 0.83017 -0.00702382 -0.557467 \n-47.1475 41.8043 21.2793 -0.755244 0.0986758 -0.647973 \n2.34584 -14.5125 -11.9173 0.221691 -0.927158 0.302045 \n38.7351 42.3411 20.9148 0.979712 0.0518433 -0.193589 \n-32.331 -70.0844 -8.41191 0.867979 0.24368 -0.432703 \n-32.1689 -12.8252 -13.5151 0.892806 0.404048 0.199107 \n25.8743 -55.6769 -20.9799 0.615434 -0.0195879 0.787945 \n-9.77139 42.6547 22.154 0.377344 -0.786017 0.489682 \n-12.4283 43.7812 20.8595 0.769343 -0.552612 0.320518 \n-47.0356 44.2133 20.9836 -0.772079 0.0884865 -0.629336 \n12.6744 43.9758 20.9161 -0.39094 -0.880056 0.269567 \n13.9841 44.7918 21.2881 -0.809648 -0.579669 -0.0919525 \n-37.8543 -70.4203 -7.97416 -0.154908 0.76479 -0.62538 \n-60.5466 46.9128 21.0834 0.903272 0.393732 -0.170511 \n40.4005 46.3617 20.5512 0.752171 0.648342 -0.11786 \n-20.0384 36.6762 -30.6767 0.610847 -0.00472604 0.791735 \n-47.3895 47.4456 21.5102 -0.763147 0.00330974 -0.646217 \n60.2107 49.4394 21.8903 -0.713262 0.697121 0.0726577 \n-30.9897 -10.2217 -12.1343 0.946257 0.293948 -0.134878 \n9.9148 37.0577 -37.6964 -0.333952 0.310431 0.890005 \n45.6089 50.167 21.9406 0.33161 0.928414 0.167579 \n-48.3422 50.1738 22.016 -0.757452 0.103922 -0.644568 \n-60.1017 51.0401 21.4793 0.785312 -0.0386439 0.617893 \n58.014 51.1782 21.1343 0.110403 0.945039 0.307755 \n-24.2112 47.1072 -19.1847 0.714115 0.55367 0.428357 \n49.7006 51.6094 21.2206 0.116941 0.939589 0.32171 \n-31.6898 -52.9399 -21.8229 0.936806 -0.117994 0.32935 \n38.556 -52.9617 -20.8989 -0.691617 -0.0266837 0.721772 \n-11.7891 52.063 20.9263 0.898912 0.114762 -0.422832 \n15.7181 62.1703 -6.63623 -0.754798 0.539898 -0.372546 \n13.5944 53.5595 20.7806 -0.865842 0.43244 -0.251621 \n-11.8021 54.3575 21.455 0.960953 -0.11268 -0.252731 \n-12.227 56.5822 21.3301 0.368065 0.0712495 -0.927066 \n-29.4546 -8.07935 -12.593 0.683376 0.730036 -0.00674878 \n-58.5079 56.3257 20.8198 0.825162 0.3313 0.457545 \n12.5298 57.209 22.0701 -0.760134 -0.580266 -0.292383 \n23.5978 -46.9553 -18.8616 0.731465 0.0575841 0.679443 \n32.2744 -7.18515 -11.3945 -0.64358 0.720435 -0.258414 \n-57.7663 57.573 20.7411 0.802878 0.356828 0.477558 \n-10.6102 57.3311 21.7784 0.505328 0.195914 -0.840394 \n13.5989 58.3844 21.5179 -0.624687 -0.739841 0.249803 \n3.92421 -27.9779 -47.3371 -0.444038 -0.867483 0.224285 \n-10.8591 58.742 21.6936 0.430145 -0.264534 -0.863132 \n16.1152 60.8607 21.4162 -0.667713 -0.322321 0.67102 \n31.6024 -6.04795 -11.6121 -0.644075 0.727682 -0.235895 \n-56.0442 60.3664 21.0953 0.654791 0.610347 0.445785 \n-26.1654 -5.37275 -11.993 0.479413 0.872253 0.0966327 \n-32.5222 -51.6964 -20.6866 0.941962 -0.148292 0.301193 \n-19.1418 38.4809 -30.9396 0.43822 0.0778072 0.895494 \n38.1538 -51.087 -20.9163 -0.630429 -0.0091858 0.776193 \n-13.634 61.8412 21.5168 0.416654 -0.322993 -0.84975 \n-1.23761 62.1208 21.2078 0.150683 0.891876 -0.42644 \n-2.91225 60.8971 22.2985 0.32775 0.656153 -0.679738 \n48.8974 -68.7269 -7.98224 -0.478281 0.837801 -0.263319 \n-6.89644 61.416 22.2815 -0.850672 0.385045 -0.357908 \n-54.9333 61.8794 21.4923 0.611123 0.664274 0.430429 \n-20.0577 38.6688 -30.5183 0.688617 0.0924084 0.719213 \n-51.2388 62.0816 21.7927 -0.348144 0.516366 0.782408 \n-24.478 -4.84525 -11.9683 0.456427 0.864757 0.209452 \n1.98419 62.1703 21.4384 0.158598 0.874286 -0.45877 \n38.9422 -49.8751 -20.6499 -0.638549 -0.112061 0.761379 \n-54.1561 62.4897 21.602 0.279764 0.834557 0.474601 \n25.708 -51.1758 -21.0274 0.617162 0.00624391 0.786812 \n2.02504 -28.1431 -47.5019 0.0958205 -0.988795 0.114466 \n27.3116 -3.69495 -12.344 -0.678126 0.705149 -0.207147 \n16.004 62.7882 21.1705 -0.662879 -0.0508969 0.746995 \n5.23205 63.2729 21.6736 0.67919 0.635639 -0.366965 \n-13.1523 -49.9601 -20.6383 -0.944935 0.125656 0.302174 \n-14.8324 63.7383 21.6445 0.43329 -0.394136 -0.810504 \n-18.7166 65.0297 21.2224 0.299274 -0.41377 -0.859785 \n-19.4187 66.3071 21.6087 0.390545 -0.453011 -0.801409 \n17.163 67.562 21.5416 -0.681471 0.012611 0.731736 \n7.31753 66.4421 21.4137 0.863706 0.502183 0.0427061 \n-20.0201 66.9858 21.4442 0.925235 -0.372013 -0.0744792 \n7.82516 66.9347 20.7161 0.709365 0.619416 0.336342 \n-19.7876 67.9726 21.1857 0.562676 0.153457 0.812309 \n21.9893 40.7372 -31.0656 -0.690701 0.230284 0.685494 \n-31.552 -67.543 -9.39479 0.841443 0.534395 -0.0799721 \n-20.7013 69.8945 22.2404 0.75174 0.119618 0.648521 \n-11.9933 70.7424 22.127 -0.593622 0.757066 0.272881 \n47.894 -67.6532 -7.82454 -0.472843 0.635153 -0.610737 \n11.6606 70.966 21.6758 0.318623 0.693092 0.646609 \n12.5193 69.7764 20.3699 0.133599 0.600044 0.788732 \n-19.8244 41.4595 -30.272 0.698684 0.131724 0.7032 \n49.5779 28.9472 20.2806 -0.0803971 -0.992938 -0.0872439 \n48.4655 28.6738 20.7902 -0.0302643 -0.998089 -0.0538644 \n25.7219 -39.4117 -17.7495 0.654388 0.569891 0.496992 \n47.378 -67.1298 -8.33125 -0.507079 0.776415 -0.374233 \n-20.5592 0.993149 -12.482 0.819244 0.565724 0.0937821 \n41.9665 31.128 21.7021 0.651673 -0.683541 -0.328776 \n-46.7038 31.4205 20.8023 -0.152736 -0.692185 -0.705373 \n22.1845 2.14455 -12.0445 -0.713939 0.688343 -0.128359 \n-51.8554 32.4842 21.7189 0.501553 -0.683853 -0.529896 \n-45.3271 32.3054 21.546 -0.29481 -0.539989 -0.788352 \n21.7937 2.89945 -11.9451 -0.963098 0.202357 -0.177464 \n-18.4219 42.44 -30.7989 0.633453 0.13439 0.762021 \n-52.4572 32.4217 20.7921 0.395244 -0.775537 -0.492265 \n1.53387 32.9386 20.5115 -0.258888 -0.965328 0.0334501 \n-43.4071 33.4 20.9434 -0.646708 -0.148787 -0.748085 \n25.1294 -47.9182 -20.3826 0.666104 0.144551 0.731718 \n-20.8503 -66.4816 -8.36751 -0.790076 0.504062 -0.348858 \n-18.0968 4.31325 -11.6778 0.732724 -0.137663 -0.666457 \n-22.483 -48.855 -27.7499 -0.122178 0.362146 0.924079 \n-53.7962 33.6805 21.3706 0.366515 -0.727657 -0.579812 \n4.32038 34.733 20.8837 -0.715357 -0.698504 0.0188884 \n-13.8708 -47.4552 -21.3766 -0.88327 0.238319 0.40378 \n22.2591 42.5901 -30.2682 -0.681906 0.309165 0.662889 \n-3.85957 34.2887 21.6228 0.703725 -0.598513 0.382823 \n38.2496 -47.454 -20.9132 -0.728906 -0.0436967 0.683218 \n-22.8176 -47.7384 -27.3608 -0.127816 0.265986 0.955466 \n-45.9725 35.5425 20.8529 -0.731402 0.66886 -0.132957 \n-4.65056 35.4024 21.7474 0.757372 -0.642197 0.118194 \n-57.382 36.5703 21.3624 0.674377 -0.586737 -0.448281 \n-11.9527 63.6326 -5.46967 0.679053 0.680492 -0.27535 \n21.1394 5.30285 -12.7525 -0.900335 0.420634 -0.11164 \n-46.7631 36.9677 21.1043 -0.684774 0.211472 -0.697398 \n45.7891 -66.257 -7.70674 -0.313328 0.82887 -0.463466 \n-6.00486 36.9975 21.5746 0.854302 -0.49732 0.151132 \n-47.521 37.7589 21.3638 -0.826147 -0.0634329 -0.559873 \n-6.22466 38.4937 20.4272 0.849101 -0.517499 -0.105934 \n-15.1482 -53.1519 -25.4378 -0.778824 0.149343 0.609204 \n-46.522 39.7761 21.1862 -0.855804 0.039789 -0.515767 \n63.3676 38.9379 21.2427 -0.909736 -0.228098 0.346918 \n-7.31395 40.035 21.5717 0.905992 -0.420955 0.0444349 \n7.80095 40.4233 21.8794 -0.863456 -0.503184 -0.0353451 \n-60.7015 40.9875 21.0664 0.903096 -0.325006 -0.280693 \n-17.9338 43.0667 -31.8565 0.79303 0.158578 0.588181 \n8.72793 41.588 21.8531 -0.823993 -0.565655 -0.0327217 \n20.5474 8.95405 -13.515 -0.989168 -0.130743 -0.0667287 \n-14.6564 -41.2533 -17.3296 -0.842024 0.498803 0.205405 \n-61.4702 42.6409 20.9252 0.928456 -0.178552 -0.325713 \n9.61868 42.883 21.4484 -0.768055 -0.638253 -0.0522046 \n11.8152 43.2779 21.6124 -0.18113 -0.893161 0.411649 \n10.5551 43.3957 21.1445 -0.291312 -0.923516 0.24951 \n-10.5428 43.0094 21.767 0.0631022 -0.817294 0.572756 \n62.9091 44.25 20.0329 -0.969699 0.172127 0.173365 \n-11.7167 43.6105 20.995 0.0602115 -0.795034 0.603569 \n20.0602 11.2979 -11.8744 -0.995097 0.0565687 -0.0811323 \n22.3648 32.602 -29.6937 -0.849069 -0.250997 0.464846 \n39.0135 44.3795 20.8538 0.951584 0.293561 0.0911628 \n26.3118 -45.1407 -20.6412 0.430635 0.180731 0.884245 \n-61.4272 44.7275 21.5134 0.917019 0.0208981 -0.398295 \n-27.9324 -66.3733 -7.81487 0.142861 0.769124 -0.622927 \n-12.7206 47.0469 21.4136 0.990811 -0.013803 -0.134549 \n39.0816 -43.9515 -20.3593 -0.648709 0.11093 0.752909 \n-18.0826 11.1369 -11.7213 0.950121 0.122069 -0.287001 \n-47.5326 49.2249 21.3603 -0.789026 0.141252 -0.597901 \n43.2902 49.674 21.4161 0.521108 0.845583 0.115916 \n-27.9559 -30.4188 -17.8652 0.618556 -0.295918 0.727888 \n-11.9681 50.8477 21.6625 0.867975 0.34792 -0.354361 \n56.1308 50.7561 21.2984 -0.257184 0.879363 0.400722 \n54.9813 51.2066 21.3052 -0.208981 0.895372 0.393238 \n-25.1382 -66.0597 -8.66044 -0.0016741 0.934819 -0.355121 \n48.1944 51.7175 21.6858 0.265107 0.89531 0.357965 \n20.821 14.6869 -12.021 -0.833262 -0.547233 0.0788024 \n-47.88 52.2234 21.1788 -0.850626 0.184154 -0.492465 \n-17.3791 47.2508 -30.8735 0.862445 0.252925 0.438425 \n-19.8539 15.5996 -12.7893 0.835332 -0.544629 0.0748346 \n-25.2052 -66.1717 -8.09386 0.412721 0.889122 -0.197796 \n-59.035 54.6357 21.0606 0.767244 0.375442 0.51998 \n12.1412 55.3559 21.6309 -0.868635 0.448872 -0.20973 \n-12.2865 55.7344 21.2465 0.858999 -0.112613 -0.499438 \n9.96816 37.7204 -37.6807 -0.252167 -0.259786 0.93216 \n11.8388 56.3624 22.1184 -0.989536 -0.138415 -0.0407465 \n-11.536 58.2228 21.3858 0.257339 -0.0517986 -0.964932 \n-32.2841 -43.4342 -21.477 0.801233 0.354019 0.482386 \n32.9063 -65.3341 -7.26271 0.379298 0.692484 -0.613677 \n-57.5213 58.9662 21.2693 0.782335 0.549266 0.2937 \n15.069 59.4169 21.3817 -0.613697 -0.710446 0.344445 \n13.556 59.0517 20.9507 -0.526956 -0.568812 0.631482 \n-49.8172 59.2599 21.0494 -0.808436 0.28861 0.512967 \n15.1665 59.8542 21.3164 -0.564878 -0.49532 0.659978 \n17.7223 47.7272 -31.2472 -0.548738 0.394529 0.737044 \n24.7289 20.2382 -13.0839 -0.618433 -0.783792 0.0566657 \n-15.125 61.8997 20.8951 0.288472 -0.201567 -0.936031 \n18.4721 50.0303 -30.156 -0.485961 0.447588 0.750671 \n-4.69353 61.2202 21.0345 0.192653 0.828839 -0.525272 \n-52.2183 61.3 20.6888 -0.281747 0.577374 0.766327 \n-53.202 61.7281 20.5038 -0.118294 0.649752 0.750885 \n17.224 49.9923 -30.4118 -0.406825 0.567956 0.715485 \n4.33407 62.8951 21.3463 0.301052 0.839114 -0.453051 \n-16.0985 49.1409 -30.6642 0.68042 0.334338 0.652109 \n29.4402 -41.4831 -21.2344 0.324718 0.379852 0.866182 \n-24.3898 22.229 -11.2646 0.892406 -0.420565 0.163511 \n26.5451 -73.4818 -26.0845 0.047924 -0.283317 0.957828 \n-25.6101 24.4377 -12.0854 0.716485 -0.618712 0.322249 \n-19.6864 66.3307 20.9636 0.714482 -0.135473 0.686413 \n-11.0028 69.3984 20.9929 -0.664952 0.689031 0.288228 \n15.228 70.6973 20.9208 -0.212866 0.494543 0.842683 \n-32.6097 26.8976 -12.1623 0.217504 -0.604669 0.766203 \n44.8568 29.4547 21.0463 0.379226 -0.901281 -0.209475 \n54.3043 30.4229 20.9155 -0.477579 -0.878322 -0.0216434 \n43.201 30.1719 19.5205 0.471396 -0.862485 -0.184135 \n42.0629 30.9444 19.8123 0.645071 -0.749015 -0.151196 \n56.453 31.2741 21.4863 -0.604895 -0.795906 0.0252174 \n-48.011 31.0059 20.8932 -0.0567003 -0.694362 -0.717389 \n-49.5521 30.4769 20.181 0.125625 -0.743486 -0.656846 \n57.4155 32.6914 20.8057 -0.750056 -0.652055 0.110634 \n-23.9488 47.6245 -19.312 0.990147 0.0780246 -0.11628 \n58.7965 34.229 21.1875 -0.721484 -0.682096 0.11919 \n-5.36512 53.4907 -35.1607 0.494421 0.517918 0.698075 \n-13.9306 52.3531 -30.695 0.524825 0.425893 0.737003 \n-25.4472 -72.4833 -25.4205 0.737108 -0.186674 0.64948 \n29.6905 -72.2877 -25.7104 -0.198592 -0.0961614 0.975353 \n39.3349 34.2101 19.726 0.914525 -0.351317 -0.20055 \n-1.81182 33.3668 20.5467 0.457163 -0.856769 0.238638 \n30.4559 29.7736 -11.848 -0.457832 -0.230123 0.858739 \n3.24061 -18.5332 -28.0807 -0.492503 -0.839261 -0.230396 \n-34.359 28.9372 -12.3059 0.563979 -0.35407 0.746031 \n39.5056 34.1477 21.2919 0.897134 -0.340151 -0.281866 \n59.3061 35.0261 20.1472 -0.423654 -0.90581 -0.00502211 \n5.42948 35.9295 21.1776 -0.769949 -0.632765 0.0823845 \n62.1758 36.1442 20.6982 -0.867929 -0.485719 0.103804 \n-46.7071 36.4443 21.0786 -0.802463 0.360155 -0.475754 \n-46.0652 37.4158 20.1991 -0.745554 0.106111 -0.657944 \n-46.4418 38.059 20.5568 -0.792973 -0.0920333 -0.602266 \n-35.0567 32.0989 -12.8194 0.67778 -0.0504643 0.733531 \n38.1478 38.4807 20.6923 0.969901 -0.00425772 -0.243464 \n38.1045 40.9577 20.2643 0.923895 0.0799815 -0.374195 \n-7.59192 41.1103 20.4286 0.867817 -0.476862 -0.139628 \n-8.21609 42.0081 20.5444 0.765386 -0.639113 0.0756202 \n-46.1437 40.9459 20.09 -0.814828 0.0863565 -0.573235 \n63.4901 39.9222 21.4852 -0.990233 0.0634111 0.124168 \n-34.7896 33.7065 -12.8859 0.647386 -0.00193807 0.76216 \n9.98621 43.0747 20.4682 -0.856206 -0.509027 -0.0883353 \n-46.4493 43.1089 20.6277 -0.766366 0.0847955 -0.636784 \n-0.851641 -25.4672 -46.0584 0.9613 -0.216606 0.170246 \n-61.4174 45.7495 20.7953 0.925828 0.335067 -0.174848 \n-26.1708 -38.1433 -20.9241 0.223594 0.870424 0.438598 \n-27.6834 -38.3853 -20.4479 0.357598 0.833409 0.42137 \n62.1804 46.6218 20.179 -0.840665 0.446357 0.306673 \n28.8153 -61.7192 -8.0722 0.249886 -0.524288 -0.814051 \n61.9064 47.7752 21.6248 -0.752617 0.629711 0.192436 \n-12.7295 48.6637 21.5786 0.975738 0.142282 -0.166408 \n41.4817 47.5773 20.8239 0.752203 0.657844 -0.0378411 \n60.7991 48.1046 19.8968 -0.737068 0.589428 0.330614 \n15.3298 48.385 20.2061 -0.970954 -0.0215915 -0.23829 \n-8.7763 38.6412 -38.0626 0.424755 -0.0903086 0.900793 \n36.5358 -60.8704 -8.42773 -0.506059 -0.521164 -0.687235 \n12.4898 48.1439 -35.0755 -0.118317 0.500945 0.857354 \n30.6486 36.786 -12.6767 -0.609775 0.18955 0.769575 \n59.6081 49.7806 19.8189 -0.71918 0.659059 0.220049 \n-60.2471 49.8944 21.1584 0.846543 0.186265 0.498668 \n56.9461 50.6428 20.6346 0.170796 0.910057 0.377656 \n-12.5348 50.7014 19.3983 0.957388 0.139367 -0.252953 \n48.0197 50.8269 20.3232 0.134371 0.932559 0.335079 \n50.5775 51.5592 20.4118 0.151666 0.897373 0.414391 \n-12.4059 53.0749 19.8395 0.962374 0.154797 -0.223323 \n-33.4025 38.9551 -12.2439 0.363189 0.521673 0.771978 \n-47.735 53.1658 20.1732 -0.513658 0.717635 -0.470271 \n6.61961 -31.0411 -55.3229 -0.912665 -0.309099 -0.267395 \n-11.8782 54.6418 20.5832 0.997635 -0.0564426 0.0392343 \n-48.436 54.0578 20.8445 -0.921809 0.338501 -0.188908 \n27.2036 -71.6901 -26.1381 -0.0412711 0.155573 0.986962 \n-57.9751 55.0906 19.9254 0.754672 0.279714 0.593489 \n-12.9921 56.6432 20.901 0.696637 -0.442129 -0.564995 \n-12.551 55.8329 20.6577 0.816761 -0.574344 0.0550423 \n-14.0205 58.29 20.8289 0.331976 -0.143489 -0.932311 \n-49.2957 57.7807 20.8517 -0.917487 0.221907 0.330114 \n-15.7358 -50.3827 -25.3832 -0.660953 0.248607 0.708051 \n-31.8988 40.278 -11.9253 0.319795 0.597941 0.734981 \n14.2458 60.0893 20.592 -0.599181 -0.430283 0.675158 \n33.9738 39.1784 -9.4143 -0.422892 0.531191 0.734165 \n-16.1844 60.6503 20.3629 0.346193 -0.171547 -0.922346 \n25.5662 -71.3759 -25.6431 0.335657 0.0568273 0.940269 \n15.1375 61.3126 20.7249 -0.626523 -0.249907 0.738252 \n-2.51708 -17.9257 -27.3416 0.76779 -0.612063 -0.189414 \n-24.939 -28.1302 -21.0739 0.390613 -0.172113 0.904322 \n29.7214 41.2957 -12.576 -0.999951 -0.00981441 -0.00159206 \n-6.74532 62.3369 20.0468 -0.744488 0.624946 -0.234905 \n-22.1856 -68.6047 -29.2105 0.505489 0.183636 0.843065 \n4.343 63.2141 20.3568 0.410071 0.84168 -0.351307 \n-18.1754 64.3347 21.0909 0.316006 -0.37675 -0.870747 \n26.1882 -57.5875 -7.60928 0.545244 -0.471829 -0.692883 \n-18.0554 63.3615 20.5262 0.820511 -0.483839 -0.304403 \n30.0599 43.9691 -12.1888 -0.993849 -0.0944369 0.057845 \n-18.6775 64.8527 20.6234 0.891857 -0.432128 0.13363 \n-12.4344 16.2005 -27.2947 0.717625 -0.140294 0.682152 \n-18.7082 68.43 20.6985 0.527678 0.13457 0.838717 \n-9.17597 67.729 21.4032 -0.7417 0.622367 0.250083 \n-10.0291 57.3986 -30.7862 0.334028 0.588067 0.736616 \n8.99852 68.5812 21.0017 0.636084 0.625518 0.451801 \n-20.6374 -55.0891 -9.75348 0.19598 -0.50392 -0.841223 \n38.4598 -56.9732 -8.40125 -0.79447 -0.188332 -0.577364 \n-3.34817 -16.46 -29.2917 0.987285 -0.138818 0.0774495 \n23.1956 -26.9929 -21.0166 0.13971 -0.623931 0.768889 \n3.94673 -16.6653 -35.6241 -0.417704 0.666245 0.617771 \n-11.6081 69.3726 20.1899 -0.452571 0.694519 0.559306 \n-18.3338 70.9441 21.0013 0.344523 0.414228 0.842448 \n-26.1648 46.0009 -12.847 0.902435 0.363489 0.231272 \n-16.1942 72.1754 21.4667 -0.0475802 0.662864 0.747227 \n-16.1291 -26.461 -20.9831 -0.448258 -0.521945 0.725698 \n8.4459 59.1264 -30.5657 -0.583935 0.611174 0.534309 \n28.5932 48.5848 -12.637 -0.874691 0.414591 0.251056 \n53.3498 29.5684 19.5176 -0.421175 -0.906052 0.0410013 \n-23.647 -26.7802 -21.0536 0.298383 0.156021 0.941608 \n28.6717 -26.0537 -21.226 -0.149855 -0.497149 0.854627 \n-44.7944 31.4052 20.4052 -0.310824 -0.822786 -0.475827 \n-50.4748 31.2839 20.6786 0.228369 -0.797016 -0.559118 \n-43.9118 32.1393 20.5705 -0.547381 -0.550721 -0.630143 \n38.4203 -55.5908 -7.92839 -0.708635 -0.24957 -0.659963 \n27.3255 -26.515 -20.9497 -0.21191 -0.552554 0.806088 \n27.6867 50.1441 -12.797 -0.813825 0.531495 0.234951 \n-53.5434 32.2162 20.2853 0.31466 -0.766932 -0.559289 \n-0.14887 32.9054 20.536 0.102262 -0.989698 0.100206 \n-1.67096 33.2174 19.4353 0.413938 -0.910056 -0.021263 \n-23.8836 49.492 -18.9487 0.975524 0.110668 -0.190015 \n-55.1869 33.8934 20.2391 0.600454 -0.714973 -0.358147 \n-43.5202 34.2731 20.5197 -0.440894 0.734527 -0.515831 \n-45.3717 34.9706 20.3131 -0.446367 0.807773 -0.385045 \n-23.5285 51.5601 -12.5884 0.693474 0.717847 -0.0615586 \n-56.8419 35.1598 20.3382 0.603428 -0.721085 -0.340457 \n-24.4914 -26.0023 -20.7615 0.248014 -0.530676 0.810477 \n-25.9604 -26.8806 -20.3795 0.290733 -0.206983 0.934148 \n3.76712 67.331 -18.6842 -0.0920609 0.932874 0.348241 \n-26.674 -54.4432 -8.24178 -0.0365144 -0.792977 -0.608157 \n-58.0984 36.0217 20.1353 0.66433 -0.59319 -0.454743 \n5.82224 35.6107 19.5053 -0.777362 -0.608355 -0.160038 \n6.16545 58.7596 -32.012 -0.185749 0.672366 0.716534 \n-22.2149 52.507 -12.3244 0.870437 0.48895 -0.0571576 \n8.27706 38.5499 19.3209 -0.804531 -0.560064 -0.197634 \n62.2676 38.5762 19.3839 -0.880552 -0.136575 0.453845 \n30.055 -25.499 -20.9858 -0.434067 -0.423365 0.795203 \n7.86161 39.5547 21.086 -0.845057 -0.351899 -0.40255 \n-14.5672 17.4192 -28.5301 0.30095 -0.78183 0.546051 \n-61.3495 40.8683 19.5976 0.912124 -0.33187 -0.240607 \n63.0412 41.4172 20.0637 -0.905797 -0.0538316 0.420279 \n-9.10888 43.2781 19.6225 0.840266 -0.537038 -0.074454 \n39.3949 -53.3465 -7.92826 -0.606935 -0.347919 -0.714551 \n23.8067 -54.1422 -7.61388 0.773288 -0.38383 -0.504678 \n10.5765 43.76 20.1273 -0.359292 -0.87051 0.336335 \n-9.4236 43.6411 20.3049 0.561841 -0.736354 0.376984 \n-21.6089 -55.688 -10.5043 0.0145071 -0.582377 -0.812789 \n23.478 55.1967 -12.8297 -0.698751 0.695624 0.166895 \n-24.2374 -53.4731 -8.02567 -0.21762 -0.676204 -0.703839 \n-25.5704 -53.6388 -7.98078 -0.211466 -0.620677 -0.755011 \n-61.6064 44.3419 20.6122 0.967046 0.0460441 -0.250404 \n-26.9645 -53.8006 -7.6729 0.072173 -0.453317 -0.888423 \n-12.6746 45.1749 20.2447 0.991861 -0.119893 -0.0428572 \n-61.6888 44.8116 18.9362 0.978427 0.180334 -0.100793 \n14.8339 45.8836 19.4696 -0.928543 -0.275419 -0.248901 \n-13.3842 -25.1214 -20.0433 -0.627125 -0.375419 0.682477 \n-47.0801 45.7773 20.7712 -0.767579 -0.00545292 -0.640931 \n14.78 -25.2687 -17.1483 0.612597 -0.686319 0.392036 \n26.6166 -70.6063 -25.6417 0.0630338 0.295643 0.953217 \n14.6164 46.591 20.9367 -0.913114 -0.207905 -0.350712 \n16.9171 -24.0434 -21.2994 0.451394 -0.616139 0.645459 \n-60.2458 48.3074 20.0769 0.825535 0.494009 -0.272851 \n23.0544 -52.7327 -7.3459 0.738412 -0.382761 -0.555195 \n-18.2597 57.6971 -12.3374 0.905943 0.405638 0.121348 \n19.7956 58.1559 -12.0279 -0.46787 0.881662 -0.0614036 \n-60.0317 48.8275 20.5744 0.919063 0.228342 0.321221 \n44.1098 49.7948 20.6453 0.255956 0.935969 0.24176 \n18.5992 59.7836 -11.8603 -0.864526 0.469365 0.179699 \n14.8053 50.4978 20.2219 -0.886751 0.164824 -0.431862 \n58.6891 50.198 19.358 -0.169233 0.801251 0.573896 \n56.0285 50.4118 20.3978 -0.241388 0.851946 0.464671 \n40.0748 -52.9328 -7.89904 -0.607846 -0.744758 -0.275425 \n-16.3004 59.6848 -11.7466 0.668184 0.737731 -0.0963503 \n51.9661 51.734 20.4881 -0.0945923 0.928759 0.358413 \n14.1079 52.0637 20.8566 -0.894733 0.265173 -0.359354 \n-47.3601 52.2232 20.6468 -0.550467 0.0385262 -0.833967 \n-16.1165 -48.054 -24.7201 -0.625706 0.260283 0.735354 \n-58.6049 53.5727 19.9602 0.750274 0.2065 0.628051 \n-48.5457 54.2276 19.8434 -0.866592 0.478639 0.141148 \n-14.0164 -23.8247 -20.7891 -0.5426 -0.417238 0.729039 \n-48.7971 55.6249 20.6149 -0.944685 0.23819 0.225468 \n11.9716 56.5714 20.428 -0.962103 0.271921 -0.0204365 \n-14.5642 58.1301 20.1481 0.729745 -0.670999 -0.131274 \n-17.333 -74.1069 -31.8242 -0.135892 -0.777308 0.614268 \n-13.5561 -23.1012 -21.2499 -0.461418 -0.631173 0.623469 \n-57.0026 58.0002 19.9557 0.674002 0.363245 0.643253 \n15.5751 63.9034 -12.5381 -0.62193 0.782104 -0.0389436 \n-18.2398 -74.5554 -31.1872 0.00475717 -0.919919 0.39208 \n-15.9189 59.4235 20.2367 0.648946 -0.527751 -0.548041 \n-24.4366 -56.0183 -10.4794 -0.250353 -0.538113 -0.804834 \n-53.6749 60.0376 19.7081 -0.20663 0.478564 0.853394 \n-56.6134 59.5623 20.3958 0.559177 0.58332 0.589117 \n-16.5748 60.9274 20.1503 0.831679 -0.374378 -0.410062 \n-29.1556 -48.8762 -25.8694 0.658616 0.0345938 0.751683 \n14.8378 62.1396 19.8992 -0.725263 -0.217578 0.653187 \n-15.336 -74.0434 -31.1102 -0.349599 -0.763596 0.542865 \n-10.0798 64.8821 -11.9419 0.452065 0.887669 0.0876429 \n-2.14767 61.8089 19.83 0.260735 0.935739 -0.237506 \n-2.45571 61.8022 20.7582 0.180253 0.949345 -0.257397 \n-6.0508 61.7542 20.1847 -0.301301 0.900922 -0.312343 \n-16.9743 62.0053 20.487 0.315798 -0.347804 -0.882782 \n0.620532 62.4343 20.557 0.0410673 0.923769 -0.380741 \n3.00515 62.8527 20.5093 0.270853 0.877444 -0.395893 \n-18.1112 63.688 20.0236 0.655162 -0.14003 0.742398 \n-14.9684 -73.6495 -31.1558 -0.585263 -0.167375 0.793381 \n-9.79295 49.0005 -35.3891 0.445902 0.0142698 0.894968 \n5.40055 63.9608 20.4857 0.698601 0.685685 -0.204433 \n-7.50166 64.3647 20.4159 -0.966847 0.254421 0.0218565 \n6.08875 64.679 20.0172 0.709675 0.703761 0.0328983 \n16.4652 66.419 21.0338 -0.714199 -0.109153 0.69138 \n15.0924 66.3897 19.8539 -0.586327 0.0833546 0.805774 \n16.125 70.0261 21.154 -0.562504 0.192387 0.8041 \n-4.38867 -11.4533 -27.1417 0.845374 -0.179396 0.503151 \n37.4137 -36.433 -17.4832 -0.426624 0.686409 0.588927 \n10.342 69.571 20.884 0.42188 0.685628 0.593238 \n8.85426 67.7012 -12.9982 -0.330517 0.936841 0.114399 \n35.8099 -37.6379 -19.4686 -0.238772 0.601302 0.762511 \n-17.2238 69.2692 19.8242 0.439006 0.220131 0.8711 \n13.8131 69.2032 19.8635 -0.162281 0.451964 0.877151 \n-18.1569 -52.1275 -7.86311 -0.353553 -0.395006 -0.847921 \n-15.706 69.4398 19.474 0.113645 0.467737 0.876532 \n-15.0824 70.9275 20.4559 -0.129009 0.677149 0.724449 \n47.6726 28.2472 19.8264 -0.0703516 -0.971838 -0.224901 \n52.389 28.9226 20.3316 -0.362528 -0.927268 -0.0935273 \n51.2747 28.7026 20.6841 -0.0737236 -0.992878 -0.093581 \n-16.9181 -51.6506 -8.50691 -0.422733 -0.450279 -0.786477 \n55.349 30.8722 19.9054 -0.607869 -0.793603 0.0262617 \n-50.4268 30.3162 19.4619 0.44017 -0.791387 -0.424214 \n-29.3179 -51.4426 -7.70298 0.625663 -0.46502 -0.62634 \n-46.9361 30.4375 19.9502 -0.308548 -0.762811 -0.568258 \n56.0535 31.6275 19.3519 -0.765283 -0.613146 0.195944 \n-44.8619 31.0424 19.0588 -0.307648 -0.763442 -0.567899 \n-45.5103 31.1035 19.8826 -0.277012 -0.835888 -0.473873 \n56.8867 32.42 19.7897 -0.638817 -0.740528 0.208642 \n-28.7631 -20.7906 -20.831 0.603095 -0.0766225 0.79398 \n58.0439 33.6394 18.3056 -0.624506 -0.780286 0.0338581 \n21.7048 -50.4782 -7.87646 0.812114 -0.313594 -0.492067 \n-17.7595 -37.0031 -17.9134 -0.809215 0.0656445 0.583833 \n-3.54666 35.021 20.2821 0.685269 -0.727126 0.0411757 \n-14.3244 -70.8704 -30.9728 -0.64135 0.20825 0.738445 \n34.8713 -18.6201 -20.2751 -0.679905 -0.0869652 0.728125 \n-33.5928 -75.2653 -14.0883 -0.0288078 -0.998461 0.0473925 \n-3.10008 -17.3942 -29.5913 0.851675 -0.460393 -0.250375 \n-5.17371 36.7094 20.4271 0.760427 -0.649423 -0.000834321 \n47.1242 -75.0737 -12.8252 -0.0834733 -0.979258 0.184626 \n-46.125 36.0037 20.3009 -0.750119 0.17725 -0.637106 \n38.4454 36.9276 20.5734 0.912149 -0.299675 -0.279607 \n-45.3456 37.3146 19.5931 -0.792846 0.0958004 -0.601846 \n-59.0283 37.465 19.996 0.804962 -0.557001 -0.204417 \n-5.74011 37.6864 20.4133 0.902157 -0.431247 -0.0117939 \n-45.6584 38.2239 19.4017 -0.734268 0.0364818 -0.677879 \n30.6119 -74.7896 -13.5858 -0.168748 -0.978946 0.114839 \n38.1862 39.2344 19.7637 0.971129 -0.085217 -0.222816 \n28.6912 -74.7934 -12.1296 0.36129 -0.89524 -0.260796 \n-7.62368 39.8488 19.288 0.792069 -0.505677 -0.341931 \n-19.8414 -75.0278 -10.8298 0.0631719 -0.997024 0.0441946 \n-36.241 -74.688 -12.6193 0.536513 -0.666986 0.516995 \n38.6609 42.5072 20.2633 0.936476 0.322046 -0.138921 \n-61.8945 43.8608 19.7072 0.996883 -0.0115354 -0.0780452 \n30.9637 40.8735 -10.4995 -0.559626 0.631382 0.53682 \n10.4146 43.7692 19.2232 -0.931403 -0.341757 -0.125259 \n-12.102 44.657 19.8478 0.374287 -0.746275 0.550438 \n9.88301 -17.6198 -20.2132 0.514284 -0.681641 0.520459 \n-61.1424 46.3652 19.8746 0.918898 0.328101 -0.219035 \n-12.7259 46.8782 20.1432 0.992335 -0.0108146 -0.123103 \n-46.4765 47.6097 20.0858 -0.799416 0.0777938 -0.59572 \n-12.8631 48.8357 19.2508 0.974207 0.0868737 -0.208265 \n33.752 -17.0135 -21.2864 -0.593002 0.0478037 0.803781 \n-45.7392 49.1707 19.0693 -0.626601 -0.114052 -0.77095 \n42.4526 48.496 19.9658 0.566125 0.818071 0.101304 \n-4.34572 -17.3189 -19.9549 -0.426922 -0.769155 0.47554 \n-16.0151 -69.1244 -31.2865 -0.234383 0.465892 0.853235 \n14.8593 49.427 20.3936 -0.935704 0.181626 -0.302439 \n45.0009 49.8299 20.209 0.412172 0.885028 0.216424 \n-46.9432 50.497 19.9945 -0.715302 -0.00847783 -0.698764 \n-59.2217 49.8335 19.9341 0.829629 0.32579 0.453406 \n-32.3408 -48.4342 -8.39596 0.86047 -0.314473 -0.400871 \n46.18 50.4818 19.7854 0.361316 0.913162 0.188644 \n-59.3123 50.7911 20.4916 0.819637 0.187136 0.541457 \n54.1218 50.8273 19.5057 -0.225671 0.856193 0.464765 \n52.8502 51.171 19.9824 -0.166459 0.879284 0.446264 \n-17.77 -68.562 -31.0916 0.15828 0.402532 0.901618 \n49.385 50.6853 19.5914 0.142943 0.928963 0.341459 \n-58.5073 50.6026 18.7563 0.840398 0.537122 0.072328 \n-58.8871 52.1555 20.1356 0.754064 0.0670191 0.653373 \n21.0241 -48.4011 -8.25781 0.944459 -0.137593 -0.298438 \n-46.5545 52.663 20.0654 -0.568929 0.369201 -0.734853 \n36.8946 -74.1347 -13.4227 0.0142653 -0.999872 -0.00726274 \n-49.6701 55.5089 19.0078 -0.73069 0.352483 0.584677 \n-57.366 56.5746 19.763 0.75037 0.25073 0.61162 \n2.52051 -23.2549 -31.4152 -0.411397 -0.867922 -0.278324 \n-49.7401 57.8626 19.9652 -0.59497 0.40495 0.694281 \n12.3754 57.6693 21.1859 -0.637631 -0.614169 0.464997 \n-1.16434 -22.5227 -30.8539 0.480249 -0.601076 -0.638802 \n-50.7491 59.4771 20.3199 -0.532211 0.399714 0.746311 \n-51.2164 60.7906 20.6642 -0.345357 0.481453 0.805563 \n-23.323 -74.4285 -11.7196 0.0234338 -0.99812 0.0566424 \n-54.4752 59.9903 19.6455 0.31887 0.653246 0.686725 \n13.4083 59.801 19.7405 -0.666714 -0.529023 0.525002 \n-16.4162 60.5073 19.5473 0.693892 -0.248131 0.675977 \n-54.3894 61.4803 20.495 0.360923 0.568982 0.738914 \n-4.80513 61.5972 20.141 0.0564987 0.940302 -0.335618 \n-36.6382 -73.7355 -12.551 0.810666 -0.158987 0.563511 \n1.8598 62.4748 20.2464 0.10303 0.894491 -0.435053 \n7.35231 -15.1925 -20.7153 0.423657 -0.543941 0.724323 \n-7.0205 62.632 20.4016 -0.946196 0.310526 -0.0910305 \n4.75893 63.833 19.48 0.344042 0.905955 -0.246739 \n-17.7364 65.188 19.8617 0.560568 0.00224248 0.828105 \n48.5036 -73.0295 -12.9185 -0.611374 -0.129208 0.780722 \n-18.4399 65.1706 20.1782 0.514962 0.0255942 0.856831 \n12.2016 32.1059 -36.9993 -0.0809212 -0.11921 0.989566 \n-36.9123 -72.107 -12.3733 0.847203 0.138958 0.512775 \n-8.82831 66.1978 19.3404 -0.765197 0.565247 0.308171 \n-36.5756 -71.0415 -12.5491 0.91165 0.322132 0.255198 \n9.77176 68.0679 19.7497 0.317131 0.642927 0.697189 \n6.30844 -14.1131 -21.3478 -0.0290142 -0.899133 0.436713 \n-17.7725 -70.3844 -12.8708 -0.91683 0.13925 -0.37421 \n-17.7046 -71.6263 -12.4045 -0.960374 0.0701 -0.269755 \n20.6239 -46.0452 -7.86549 0.922115 -0.0381627 -0.385028 \n-9.96466 65.3377 -6.15593 0.314408 0.94079 -0.126731 \n48.1056 -70.534 -13.4803 -0.642261 0.0507916 0.764801 \n-28.101 -13.0653 -21.0255 0.765434 0.0414 0.642182 \n47.688 28.2424 18.7729 0.138236 -0.971474 0.192691 \n49.772 28.7857 19.4466 -0.132526 -0.979498 -0.151725 \n45.5999 28.5997 20.1609 0.367148 -0.928014 -0.0631835 \n41.9501 -45.7135 -7.5073 -0.966914 -0.255071 -0.00404502 \n-26.3959 -65.6264 -24.9112 0.746132 -0.280826 0.603676 \n54.8433 30.2743 19.1268 -0.586067 -0.805113 -0.0912057 \n-47.7863 29.7754 19.2286 -0.0881079 -0.857926 -0.506161 \n-45.841 30.2241 18.7937 -0.288856 -0.690021 -0.663651 \n-51.8633 31.568 19.5318 0.381899 -0.776087 -0.501839 \n-18.2635 -68.8461 -12.409 -0.889469 0.215887 -0.402788 \n47.2789 -68.5146 -12.5187 -0.392682 0.57384 0.718685 \n-43.3507 31.9284 19.4997 -0.49692 -0.63451 -0.592003 \n40.1744 32.7159 19.8885 0.71978 -0.656025 -0.227042 \n-42.4795 32.8679 19.4272 -0.624022 -0.32572 -0.710283 \n2.93831 33.3755 19.1562 -0.457112 -0.888478 0.0406943 \n58.6493 34.2936 19.5228 -0.759341 -0.649954 0.0309978 \n25.4782 -67.8704 -13.5889 0.881047 -0.23617 -0.409855 \n4.76169 34.5454 19.0983 -0.612245 -0.79047 0.0176997 \n-56.2295 34.4816 19.1516 0.611654 -0.732829 -0.298061 \n-45.4123 35.4504 19.7215 -0.789816 0.251731 -0.559305 \n8.02166 22.8762 -36.6055 -0.131327 -0.466173 0.874892 \n61.5117 35.9147 19.1248 -0.728265 -0.663666 0.170814 \n4.83477 53.2916 -35.6799 -0.402313 0.489081 0.773915 \n38.208 36.9692 19.1857 0.962794 -0.19723 -0.184739 \n6.44368 36.8522 19.5667 -0.785055 -0.612389 -0.0930998 \n45.5466 -67.2684 -12.411 -0.43124 0.762619 0.482125 \n39.5802 -44.7604 -19.7601 -0.789934 0.0174477 0.612944 \n62.0103 36.8627 19.4341 -0.921674 -0.217539 0.321239 \n-33.3003 -44.354 -8.63734 0.866065 -0.217852 -0.449968 \n-60.4471 39.3801 19.893 0.868316 -0.46445 -0.174109 \n-32.8478 -43.7686 -7.71034 0.880214 -0.145699 -0.451658 \n-45.7822 39.7475 19.6483 -0.782972 -0.0178613 -0.6218 \n-32.7388 -67.1661 -12.6632 0.383331 0.895563 -0.225888 \n-8.59614 41.9388 19.6756 0.836124 -0.402415 -0.372772 \n30.7329 -7.72935 -20.6769 -0.63693 0.52457 0.56493 \n-45.6531 42.0901 19.6025 -0.768393 0.025402 -0.639473 \n-21.9781 -7.61335 -19.8851 0.511304 0.553775 0.657192 \n43.8691 -66.4089 -13.1529 -0.586902 0.614557 0.52713 \n39.4417 43.9398 19.1262 0.881266 0.457712 0.11777 \n-10.0198 44.3167 19.2971 0.747309 -0.663708 -0.0319574 \n-45.6034 44.09 19.1165 -0.774424 0.0718681 -0.628572 \n-30.3989 -66.4249 -12.9748 0.107594 0.958851 -0.262733 \n14.3035 45.0612 19.6088 -0.602148 -0.789322 -0.11995 \n-20.6363 -6.77345 -20.3534 0.665746 0.460005 0.587519 \n39.9771 45.7174 19.4651 0.898524 0.406917 0.16454 \n5.26743 -12.8706 -30.0965 -0.837296 0.137762 0.529109 \n-45.7629 45.8833 19.5013 -0.776218 0.0374424 -0.629351 \n-15.623 -43.8416 -8.40624 -0.689073 0.341536 -0.639165 \n27.7797 -6.53095 -20.7065 -0.34227 0.726952 0.595309 \n40.7371 47.3806 19.3883 0.722474 0.689354 0.05312 \n-33.2426 -42.7649 -8.3941 0.903773 0.0837787 -0.419732 \n43.1461 -66.1451 -14.0934 -0.739925 0.490012 0.460868 \n-19.1458 -65.5373 -13.4886 -0.684766 0.568571 -0.455876 \n-4.96762 -8.95905 -27.4985 0.179664 -0.37833 0.908068 \n59.8083 48.7583 18.7776 -0.683287 0.565121 0.462339 \n43.5662 48.9372 19.3421 0.367449 0.877343 0.308627 \n-59.2403 49.509 19.1272 0.73894 0.663937 -0.114693 \n-46.8184 49.2496 20.0185 -0.78071 0.145437 -0.607734 \n-8.80988 40.6589 -37.7879 0.322388 0.116373 0.939427 \n45.4519 49.4032 18.0725 0.405968 0.877608 0.254939 \n3.99413 -13.5519 -32.4046 -0.711523 0.384812 0.587924 \n-28.341 -65.6208 -11.8507 0.341316 0.939635 -0.0242631 \n-19.6389 -65.147 -12.7049 -0.7242 0.649621 -0.231359 \n-26.8232 -65.1964 -13.2046 0.353643 0.931195 -0.0883883 \n-26.3996 -64.9517 -12.8392 0.24377 0.965813 -0.0882127 \n15.2488 50.7393 18.6844 -0.963884 0.19465 -0.181768 \n-45.518 51.2425 19.3905 -0.521784 -0.0431453 -0.851986 \n-20.5373 -64.2005 -12.2705 -0.307521 0.901378 -0.304875 \n-46.2076 53.4838 19.0117 -0.465738 0.736967 -0.489864 \n-32.8606 -41.4069 -7.94351 0.928744 0.215759 -0.301468 \n-12.1411 55.9069 19.3101 0.822045 -0.502312 0.268189 \n-49.8359 57.1516 19.6915 -0.755229 0.307207 0.57901 \n11.8979 56.2367 19.1445 -0.883153 0.464195 -0.0675481 \n-13.2459 56.6529 20.1206 0.685977 -0.69395 0.218789 \n22.1115 -40.9086 -7.58147 0.876179 0.368464 -0.310716 \n-51.3618 58.5261 19.4762 -0.293442 0.433168 0.852207 \n12.0014 58.2879 19.6957 -0.840457 -0.383051 0.38328 \n21.8836 -1.58175 -21.6519 -0.532275 0.504471 0.679847 \n-15.8313 59.4254 19.4746 0.614675 -0.577232 0.537568 \n-16.4181 59.7947 19.7251 0.901107 -0.432557 0.0300036 \n-55.5779 59.1635 19.3719 0.527348 0.483281 0.698816 \n-0.940334 -11.8819 -31.6544 0.348464 0.477749 0.80643 \n-15.1718 -61.4853 -25.8557 -0.907944 -0.163162 0.386025 \n13.842 61.1432 19.1614 -0.661826 -0.342577 0.666803 \n-17.2206 61.7996 19.7869 0.839168 -0.415938 0.350417 \n4.04854 48.3301 -37.4876 -0.246382 0.0848519 0.965451 \n3.42593 -9.65705 -30.7291 -0.183134 0.370244 0.910704 \n-1.09772 62.3747 20.1475 0.308337 0.884364 -0.350468 \n-32.6985 -40.0596 -8.4129 0.994242 0.0321854 -0.102209 \n-16.6617 62.5592 19.2816 0.595439 -0.106484 0.796313 \n22.1955 -39.5523 -8.61173 0.843042 0.473709 -0.254715 \n12.4326 -8.14115 -27.9187 -0.408717 -0.354735 0.840901 \n39.438 -61.0017 -12.4689 -0.921372 -0.235404 -0.309286 \n0.558652 -10.1017 -31.2469 0.0827423 0.508467 0.857097 \n8.97105 67.0779 19.4465 0.591686 0.67938 0.433994 \n13.9272 67.9121 19.3925 -0.464223 0.223056 0.857171 \n40.5999 -59.4153 -12.8914 -0.892197 -0.274021 -0.359023 \n1.31211 -9.06735 -30.7133 0.0342194 0.37775 0.925275 \n48.6441 28.407 18.6238 7.60139e-005 -0.999725 0.0234673 \n50.7976 28.4859 18.1623 -0.330045 -0.940915 -0.0758168 \n44.0784 29.8119 19.2745 0.42401 -0.899252 -0.107523 \n-52.8809 31.5623 18.9207 0.450498 -0.828987 -0.33141 \n-24.5239 -58.9081 -12.4659 -0.126572 -0.557773 -0.820286 \n-42.2839 31.6189 18.7767 -0.511619 -0.509871 -0.691576 \n56.3022 32.4249 18.3432 -0.670847 -0.721455 0.171658 \n-54.6006 32.4576 19.5339 0.590307 -0.732012 -0.340141 \n0.809828 32.7018 18.862 -0.00223864 -0.999968 -0.00772481 \n-42.0833 33.8084 19.1273 -0.619918 0.214785 -0.754698 \n5.47674 -0.18815 -31.0745 -0.151349 -0.250583 0.956191 \n38.7639 34.6749 17.9346 0.915066 -0.352313 -0.19629 \n9.08321 -3.42165 -29.0914 -0.25061 -0.395458 0.883633 \n-44.7747 35.4061 19.0608 -0.331621 0.810161 -0.48339 \n-4.94636 35.5763 18.9379 0.669065 -0.675136 -0.310713 \n-5.89146 36.8792 19.2577 0.860358 -0.454362 -0.230955 \n7.37113 37.6395 19.8878 -0.688986 -0.710775 -0.141766 \n-44.7687 37.469 18.4889 -0.766069 0.0156549 -0.642568 \n-32.8685 -37.4915 -8.90931 0.990554 0.0275882 0.134322 \n-6.18976 37.8452 18.6476 0.88123 -0.468596 0.0620595 \n-59.6693 38.2077 18.9383 0.802632 -0.573885 -0.162598 \n-60.8165 39.5091 18.8745 0.838145 -0.531217 -0.12378 \n22.9127 -58.7204 -12.5486 0.929707 -0.245733 -0.274337 \n9.28045 40.9136 19.1559 -0.846824 -0.424304 -0.320711 \n25.1229 -37.0431 -6.93526 0.932232 0.0704819 -0.354931 \n-44.9677 40.8922 18.8448 -0.77382 0.0616917 -0.630395 \n37.6926 40.4389 18.5948 0.992272 0.124082 -0.000742458 \n9.82082 41.7699 19.1991 -0.879285 -0.426683 -0.211658 \n-20.7124 -58.177 -12.5749 0.0765378 -0.58415 -0.808029 \n-21.9697 -58.8015 -12.7896 0.0579724 -0.509429 -0.858558 \n-17.7136 -33.4638 -17.7437 -0.708206 -0.0867634 0.700654 \n-61.6801 42.6277 19.4206 0.983726 -0.131365 -0.122584 \n10.738 44.3704 17.9081 -0.842918 -0.526653 -0.110117 \n-23.6986 -57.9174 -11.9973 -0.182173 -0.586612 -0.789113 \n61.8985 45.5884 18.5733 -0.833631 0.306873 0.459226 \n-11.094 44.7455 19.5463 0.23157 -0.852053 0.469447 \n-12.2606 45.1162 19.0783 0.298653 -0.851269 0.431448 \n-12.8037 45.4632 19.3139 0.83249 -0.493409 0.252008 \n-61.3721 46.7107 18.4804 0.932723 0.335819 -0.131355 \n-17.5956 -51.834 -27.3943 -0.55706 0.191345 0.808128 \n-61.1353 47.3871 19.3884 0.89469 0.329319 -0.301792 \n19.0103 14.6832 -20.7365 -0.903602 -0.221927 0.366403 \n59.1507 49.8146 19.2005 -0.527215 0.636704 0.562719 \n-17.1217 -58.5796 -13.0128 -0.513949 -0.541619 -0.665211 \n0.0957567 -0.69145 -31.067 0.0265251 -0.185952 0.982201 \n-5.92762 -8.25375 -27.8153 0.377723 -0.129574 0.916807 \n49.512 50.7281 18.5869 0.0514868 0.992936 0.106894 \n41.364 -34.8809 -8.54198 -0.829333 0.510287 0.227626 \n14.4862 52.0583 18.8417 -0.937718 0.340146 -0.070606 \n-17.6161 -57.56 -12.0645 -0.391648 -0.519541 -0.7594 \n-45.3098 52.5101 18.8254 -0.640439 0.421871 -0.641765 \n-48.2907 53.8398 19.1452 -0.459931 0.818532 -0.344195 \n-33.4253 -43.2653 -18.5042 0.970848 0.155677 0.18226 \n-49.0285 54.5523 19.1622 -0.683502 0.673612 0.281197 \n-57.5477 54.2628 18.5964 0.683023 0.250394 0.686136 \n-11.8178 55.2411 18.6783 0.98513 -0.130795 0.111402 \n7.57471 -0.059351 -30.6967 -0.265533 -0.217366 0.939279 \n13.2465 54.7142 19.1471 -0.813748 0.575261 -0.0830059 \n4.6471 0.63925 -31.4947 -0.0710773 -0.218527 0.973239 \n-56.6286 56.803 18.7257 0.602193 0.317652 0.732435 \n-32.0127 -21.4537 -16.8159 0.849622 0.0189735 0.527051 \n-27.9566 -55.8055 -10.6231 0.49079 -0.594217 -0.637205 \n-52.5527 58.223 19.024 -0.344253 0.440952 0.828886 \n24.0086 -33.9438 -7.87353 0.896427 -0.372957 -0.23942 \n-54.6605 58.8245 18.3441 0.283657 0.394265 0.874125 \n-14.9489 58.5443 19.6809 0.713921 -0.603253 0.35553 \n-3.2989 -0.515251 -30.9041 0.0822124 -0.243904 0.966309 \n-15.4009 59.7901 18.9464 0.665778 -0.369436 0.648272 \n-4.58692 61.7245 19.0356 0.0361977 0.973896 -0.224091 \n12.5808 62.0456 17.7923 -0.622999 -0.0354388 0.78142 \n-2.29661 62.4898 18.3058 0.326347 0.912325 -0.247307 \n-5.56346 -0.478151 -30.4955 0.277026 -0.287404 0.916873 \n-15.8505 -34.3207 -8.16401 -0.917889 -0.367057 -0.150829 \n14.4854 63.877 19.3574 -0.6912 -0.0541677 0.72063 \n2.01949 63.2896 18.9926 0.212366 0.941452 -0.261857 \n-27.9199 -60.6171 -26.0837 0.65575 -0.399281 0.640755 \n-7.39556 63.8965 18.9308 -0.855782 0.500773 0.129859 \n-16.2885 -32.299 -17.3224 -0.542995 -0.642988 0.540114 \n9.48121 67.2835 19.0553 0.24762 0.764296 0.595429 \n-21.8628 20.8054 -21.0986 0.903075 -0.0254332 0.428729 \n-17.4335 66.9664 19.6481 0.543022 0.0805688 0.835844 \n-28.6201 -57.8788 -26.1048 0.792996 -0.0962123 0.601582 \n-15.6466 67.1192 18.6938 0.355547 0.175574 0.91802 \n-22.9967 22.2731 -20.626 0.934184 -0.323569 0.150342 \n46.6007 28.7652 17.9444 0.131166 -0.991267 0.0135896 \n51.375 28.9496 18.8109 -0.282616 -0.95352 0.104539 \n45.3274 29.0889 18.5497 0.367634 -0.918808 -0.143658 \n42.5942 29.8358 18.272 0.473187 -0.874684 -0.104987 \n26.2208 24.3274 -20.5291 -0.874111 -0.379334 0.303373 \n5.18341 -26.3375 -41.7506 -0.821961 -0.561041 0.0980439 \n2.27185 -0.483751 -31.1077 0.014803 -0.258257 0.965963 \n-51.2233 30.4963 18.6575 0.363694 -0.79278 -0.489108 \n41.6662 -31.8309 -6.22384 -0.966821 0.162326 0.197249 \n-43.311 30.9364 18.7205 -0.244545 -0.670932 -0.700034 \n26.4288 26.6024 -21.7438 -0.877659 -0.312547 0.363357 \n40.8453 31.567 18.7054 0.652995 -0.729527 -0.203439 \n-55.5517 33.202 18.566 0.644677 -0.665916 -0.37543 \n-2.07654 1.16185 -31.5673 -0.00507376 -0.10213 0.994758 \n21.0975 -50.6344 -12.6138 0.984709 -0.0813381 0.154052 \n10.797 -6.65355 -27.4624 -0.205955 0.000208089 0.978562 \n-3.57326 34.3634 18.7711 0.577904 -0.805232 0.132775 \n-41.0607 35.0795 18.3751 -0.116646 0.616255 -0.778861 \n-42.3457 34.6964 18.7147 -0.251857 0.736045 -0.628336 \n59.2183 34.8111 19.3169 -0.538707 -0.80798 -0.238671 \n26.9819 -31.2627 -17.6412 0.13657 -0.505065 0.852208 \n-5.39877 35.9904 18.3988 0.73229 -0.605682 0.311289 \n-58.9584 36.5217 17.749 0.809515 -0.572501 -0.130107 \n6.81139 37.2166 18.0322 -0.694869 -0.661288 -0.282587 \n-14.6743 -57.8139 -25.7895 -0.891844 0.0485624 0.449729 \n-19.5352 -44.0506 -25.2962 -0.263335 0.363553 0.893579 \n-7.12879 38.795 18.2552 0.735302 -0.677162 -0.0279732 \n-23.6851 31.5021 -20.9724 0.91255 -0.324349 0.249099 \n21.5472 -30.6617 -8.76637 0.714308 -0.643001 -0.27625 \n38.2696 38.8786 18.4561 0.992108 -0.0566386 -0.111866 \n9.11052 39.8352 18.9433 -0.899206 -0.378214 -0.219961 \n-13.7221 -29.4141 -7.69554 -0.845343 -0.444408 -0.296473 \n21.3585 -49.234 -13.3451 0.969331 0.0061423 0.245682 \n-9.19995 42.6588 18.5254 0.901559 -0.387221 -0.193006 \n-44.8773 43.1667 18.4932 -0.782251 0.0447668 -0.621354 \n-24.4138 33.4845 -20.9776 0.941807 -0.27054 0.199517 \n-21.8854 53.4874 -18.5357 0.808093 0.576087 -0.122916 \n21.1255 -29.8759 -7.54014 0.713197 -0.643328 -0.27835 \n4.64802 -23.6749 -53.0976 -0.352401 0.851114 0.389125 \n-32.7808 -48.6382 -12.1859 0.897979 -0.00868181 0.439953 \n11.3148 44.496 18.7391 -0.136569 -0.964786 0.224806 \n-61.8167 45.9142 17.9964 0.988818 0.14373 -0.0397514 \n-13.0085 46.4657 18.3988 0.79884 -0.554948 0.232136 \n15.3692 47.6809 18.6229 -0.943065 -0.0505205 -0.328749 \n10.6165 -20.1748 -17.7562 0.618531 -0.726415 0.299568 \n15.2388 48.8192 18.0194 -0.95883 0.144444 -0.244503 \n-28.8214 -56.2746 -25.7423 0.77597 -0.0542923 0.628429 \n-44.4977 50.2116 18.7621 -0.4631 -0.259796 -0.847375 \n13.6334 -6.88025 -27.7077 -0.497533 -0.251919 0.830059 \n53.2116 50.0416 18.2741 -0.23565 0.837084 0.493719 \n51.4351 50.5359 18.8855 -0.0742336 0.903937 0.421175 \n21.1761 -47.0946 -12.8584 0.965655 0.0456105 0.255793 \n46.9885 50.4379 18.7648 0.195135 0.904595 0.378986 \n-57.7318 51.8615 18.436 0.811682 0.212885 0.543922 \n14.3688 53.096 18.298 -0.920118 0.379806 0.0955516 \n12.5439 55.7589 18.2406 -0.846588 0.445472 -0.291278 \n-55.9016 55.944 18.2203 0.438133 0.28572 0.852293 \n-32.5827 -44.9836 -13.0691 0.966736 -0.0401879 0.2526 \n-50.8415 57.3947 19.1471 -0.298975 0.446929 0.84313 \n-12.758 -44.6502 -12.4652 -0.885704 0.413137 -0.211771 \n-55.6212 57.907 18.8616 0.487422 0.340029 0.804239 \n-13.8886 57.94 18.3063 0.680165 -0.562299 0.470315 \n-24.5127 42.1633 -21.0619 0.942127 0.331028 0.0530788 \n41.5892 -44.6656 -12.7446 -0.997207 -0.0126245 -0.0736117 \n-14.955 -55.645 -25.8104 -0.774909 0.151442 0.613662 \n-53.6419 57.6334 18.3241 -0.170322 0.384581 0.907242 \n-53.9782 59.0681 18.6233 -0.326671 0.523189 0.787121 \n-14.755 59.6101 18.1515 0.68049 -0.279447 0.67738 \n11.9481 59.7778 18.2978 -0.668909 -0.410407 0.61978 \n-15.6547 61.4296 18.585 0.631591 -0.136082 0.763265 \n42.0835 -42.8018 -12.7271 -0.995671 -0.0635445 -0.0678392 \n-4.40392 62.0821 17.9619 0.100813 0.98598 -0.132968 \n-6.05771 62.2853 17.5586 -0.287141 0.950094 -0.12195 \n27.2182 44.8165 -20.624 -0.860753 0.464305 0.208624 \n-7.44027 63.6947 17.8473 -0.710235 0.670333 0.214987 \n-22.1816 -53.91 -9.49102 -0.00461105 -0.662359 -0.749172 \n7.45637 65.8778 19.3561 0.614816 0.757392 0.219906 \n-33.3885 -42.2169 -12.2036 0.951921 0.0662382 0.299097 \n-8.67389 65.0677 17.8127 -0.624802 0.647425 0.43642 \n40.4251 -27.9192 -8.46111 -0.954761 -0.0902126 0.283362 \n-9.65022 67.1559 19.421 -0.591866 0.655084 0.469638 \n12.6571 67.112 18.6286 -0.114663 0.453669 0.883763 \n-11.2942 67.787 18.8447 -0.212182 0.598072 0.772845 \n-13.0158 67.4987 18.4156 -0.0339715 0.498766 0.866071 \n-13.2873 69.8911 19.8492 -0.173115 0.623379 0.762515 \n-6.51127 2.48645 -31.0751 0.220683 -0.18169 0.958273 \n-44.9263 29.2177 17.8273 -0.24098 -0.75765 -0.606543 \n4.13186 -21.7328 -47.7334 -0.316331 0.92117 0.226672 \n41.7659 -40.1127 -12.4374 -0.980418 -0.0463313 0.191399 \n-23.52 -6.82135 -18.0574 0.320204 0.764852 0.558991 \n-4.65042 -4.04895 -29.0107 0.126726 -0.471371 0.872783 \n23.4687 -30.5675 -17.9501 0.349765 -0.635857 0.688005 \n-53.5964 31.6056 17.9727 0.668668 -0.630223 -0.394591 \n2.45378 -21.5525 -47.9364 0.162156 0.929596 0.330993 \n39.5891 32.4027 18.5806 0.822797 -0.551399 -0.13771 \n-28.3763 -55.1441 -26.6248 0.663667 0.042438 0.746823 \n41.493 -39.251 -12.4546 -0.94388 0.208511 0.256152 \n-41.6707 32.7775 18.927 -0.65457 -0.23428 -0.718785 \n-54.5788 32.319 17.6903 0.506487 -0.835412 -0.213443 \n-32.2238 -38.7004 -12.2378 0.969813 0.204788 0.132381 \n1.92088 33.0835 17.7324 -0.489371 -0.867005 -0.0939099 \n-0.105608 32.9014 17.6243 0.221758 -0.954186 -0.200877 \n-56.5484 33.4855 17.8589 0.688586 -0.565721 -0.453663 \n-5.62678 -6.59345 -27.8856 0.432083 -0.259048 0.863828 \n24.2716 51.7842 -19.9217 -0.779067 0.512601 0.360964 \n4.7948 34.8861 17.743 -0.485079 -0.821463 -0.29983 \n24.1206 -37.7766 -13.0303 0.627012 0.742513 0.235648 \n24.9941 -37.0852 -12.453 0.747984 0.633829 0.196929 \n25.6209 -36.4434 -13.2699 0.832297 0.421129 0.360459 \n-58.1654 35.4865 19.0277 0.692521 -0.707839 -0.139207 \n15.0146 -24.0762 -9.299 0.72082 -0.614526 -0.320588 \n-44.7528 35.8659 18.5146 -0.751289 0.157683 -0.640859 \n40.9351 -22.7509 -8.69898 -0.998737 0.0468558 -0.0181269 \n7.87577 38.1105 17.8984 -0.695269 -0.533892 -0.481207 \n61.8274 38.7125 18.3222 -0.905509 -0.0726664 0.418059 \n-10.1681 -22.7827 -7.04613 -0.780831 -0.495252 -0.380827 \n-8.72064 40.978 18.2227 0.866466 -0.431512 -0.251064 \n-44.5905 39.6864 18.6902 -0.778449 -0.00226884 -0.627704 \n38.2775 41.4437 17.3586 0.910447 0.267784 0.315242 \n-3.7659 23.9281 -36.6842 -0.566678 -0.726422 0.388827 \n-61.8433 41.7963 18.1749 0.946939 -0.177182 -0.268167 \n38.5244 43.0957 18.7474 0.89634 0.434281 -0.0893044 \n-19.7087 -56.7862 -10.1303 -0.26525 -0.533046 -0.803433 \n38.8842 43.4691 17.8269 0.916953 0.387553 0.0948636 \n39.6396 -35.1103 -13.5132 -0.645021 0.637285 0.421682 \n39.876 44.6324 18.4071 0.88008 0.464668 -0.0976943 \n13.2567 44.4915 19.0225 -0.165589 -0.984847 0.0515444 \n12.8141 44.6623 17.305 0.0952448 -0.98591 0.137514 \n24.4805 -34.5578 -12.1582 0.755188 -0.534779 0.379083 \n-10.2551 44.6939 18.1977 0.691605 -0.705836 0.153226 \n8.27129 3.85605 -31.2992 -0.242071 -0.0867685 0.966371 \n-11.633 45.4531 17.9524 0.470514 -0.804761 0.361907 \n-15.9002 -52.4992 -26.0728 -0.706581 0.127848 0.695987 \n-13.1414 47.3838 18.6334 0.977383 -0.0286028 -0.209534 \n25.1369 -34.5885 -13.1349 0.722391 -0.597466 0.348117 \n-45.2672 47.6857 18.3393 -0.809029 0.0466533 -0.585915 \n24.2924 -34.2963 -12.7547 0.699634 -0.629357 0.338265 \n42.7252 48.3961 17.8196 0.399905 0.881453 0.251229 \n-60.7308 48.4561 18.8135 0.805305 0.584478 -0.0993447 \n39.1862 -34.2166 -12.3317 -0.678092 0.576366 0.456063 \n-44.786 48.317 17.8207 -0.506377 -0.372113 -0.777891 \n55.7268 49.6298 19.0237 -0.155279 0.820721 0.549823 \n15.4451 50.1311 17.403 -0.900386 0.373328 -0.223452 \n-59.8997 49.3407 18.0839 0.822338 0.542505 -0.171604 \n32.0379 -29.6218 -17.9762 -0.345335 -0.388351 0.854358 \n-57.4529 51.7433 17.3625 0.617202 0.777619 -0.119879 \n40.3657 -21.2433 -7.6549 -0.964721 0.256815 0.0579633 \n-44.4752 51.6714 18.6564 -0.617967 0.243527 -0.747537 \n-57.2337 52.4772 18.0118 0.634506 0.311264 0.707472 \n14.2056 53.6214 18.7491 -0.877414 0.468344 -0.103912 \n-45.5437 53.136 18.2656 -0.524207 0.83367 -0.173786 \n-46.8137 53.8644 18.4289 -0.359166 0.891443 -0.276276 \n-48.0822 54.3633 18.1424 -0.153763 0.962972 -0.221455 \n-49.8573 54.504 18.1405 -0.372972 0.865402 0.33462 \n13.968 -5.64785 -27.4962 0.000740489 0.282516 0.959262 \n-50.3526 56.0692 18.4901 -0.530801 0.400305 0.746998 \n22.3229 -32.9468 -13.228 0.453604 -0.884644 0.107931 \n-51.1719 55.8857 18.1175 -0.124962 0.512193 0.849731 \n-11.9056 56.8274 17.2193 0.751264 -0.535784 0.385407 \n11.6439 57.7052 18.8642 -0.984161 0.121058 0.12951 \n40.0028 -54.341 -11.061 -0.990188 -0.0656333 0.123369 \n-54.7387 57.2218 18.2323 0.316792 0.309058 0.896731 \n11.3708 59.2138 17.7109 -0.914466 -0.0483684 0.401761 \n-14.8145 -32.0117 -12.6606 -0.845071 -0.527808 -0.0852819 \n-12.6428 61.0602 -20.6986 0.61455 0.598643 0.513765 \n14.5521 61.1441 -21.3872 -0.479057 0.839604 0.256065 \n14.6484 31.7286 -36.7139 -0.407406 -0.114665 0.90602 \n-8.10279 5.98675 -31.2883 0.291805 -0.0975315 0.951492 \n-13.9966 61.044 17.4341 0.493974 0.000839102 0.869476 \n-7.84571 -19.3453 -17.4884 -0.534355 -0.72911 0.427626 \n9.33489 6.05545 -31.3948 -0.339428 0.0743935 0.937685 \n-0.956175 63.2001 18.1609 0.290948 0.934997 -0.202806 \n1.90615 63.2366 17.6662 0.13472 0.941767 -0.308099 \n0.666384 63.2874 19.0761 0.0672136 0.948616 -0.309209 \n-16.4635 64.7057 18.8199 0.527325 0.00891292 0.849617 \n-11.8652 61.8211 -21.1146 0.654023 0.460137 0.600439 \n18.882 -30.3376 -12.9311 0.70535 -0.696979 0.129234 \n39.3596 -17.6164 -8.6274 -0.935731 0.330042 0.124414 \n10.0611 8.00245 -31.1357 -0.358623 -0.00258543 0.933479 \n-10.2714 63.2063 -21.637 0.554388 0.585038 0.591933 \n10.8839 67.1779 18.703 0.0743571 0.63889 0.765696 \n-6.80745 51.6295 -35.0368 -0.0219131 0.415206 0.909463 \n-5.20661 -18.3517 -7.78481 -0.108593 -0.95781 -0.266098 \n44.4958 28.7568 17.5541 0.247361 -0.938336 -0.241533 \n-46.7957 29.3525 18.11 -0.0587366 -0.808854 -0.585069 \n-15.4749 -65.4525 -27.01 -0.766104 0.5155 0.383855 \n-48.1775 29.1315 17.5892 0.188869 -0.913951 -0.359197 \n52.3348 29.6043 18.0876 -0.428432 -0.89962 0.0844387 \n-49.1623 29.3883 18.4449 0.177155 -0.914153 -0.364611 \n53.1841 29.8775 17.1676 -0.391868 -0.911179 0.127249 \n-43.8914 30.052 17.9082 -0.37644 -0.708831 -0.596533 \n-14.6536 -67.5149 -28.7374 -0.762201 0.556677 0.330395 \n41.5801 30.6269 18.5071 0.635348 -0.770608 -0.0499595 \n-2.00321 -23.8293 -41.6681 0.973743 -0.0309045 0.225542 \n-42.4916 30.6599 17.8884 -0.505204 -0.745561 -0.434635 \n-2.68319 41.2926 -39.141 0.163914 0.131697 0.977644 \n-41.3125 31.7825 17.8185 -0.777391 -0.431361 -0.457811 \n22.6995 43.1451 -29.379 -0.678493 0.320736 0.66089 \n-31.2358 -18.6004 -17.3533 0.841361 0.0587319 0.537273 \n38.3256 -29.3778 -12.0359 -0.854485 -0.188938 0.483899 \n8.96378 65.3529 -20.5502 -0.327028 0.865688 0.378995 \n57.3223 33.4052 17.4678 -0.44479 -0.895632 -0.00223546 \n39.3447 33.1022 16.8731 0.85478 -0.442978 -0.270411 \n3.67645 34.3647 17.7211 -0.52334 -0.830765 0.189591 \n30.1208 -30.5097 -17.8163 -0.151622 -0.579138 0.801005 \n-11.8087 -28.3042 -13.6265 -0.799956 -0.551267 -0.237013 \n-40.9599 33.9412 18.4485 -0.718252 -0.210683 -0.663119 \n-57.2976 34.8871 17.9232 0.744263 -0.624334 -0.237232 \n60.5956 35.3668 18.5741 -0.519156 -0.851101 -0.0781293 \n-9.43363 7.59205 -31.0572 0.49855 -0.00690627 0.866833 \n-6.57757 64.9085 -22.0702 0.156229 0.895854 0.415978 \n-6.35626 65.6284 -20.2896 0.15468 0.943385 0.293426 \n37.9598 36.1231 17.9111 0.961351 -0.22032 -0.165116 \n10.586 8.83695 -30.8819 -0.469221 0.172443 0.86608 \n-3.55086 35.2997 17.1216 0.56882 -0.820303 0.0595459 \n-43.5036 35.9232 17.6741 -0.323126 0.658247 -0.679927 \n-4.75093 36.2484 17.1772 0.703399 -0.705379 -0.0875808 \n9.3162 52.8219 -34.603 -0.330159 0.424379 0.843148 \n-5.49224 37.1598 17.2677 0.885719 -0.45123 0.109057 \n37.9253 37.7682 17.4262 0.975836 -0.00494117 -0.218448 \n-27.8508 -50.702 -26.8361 0.592949 0.0137717 0.805122 \n9.27911 40.5425 17.7691 -0.859502 -0.352929 -0.369727 \n-8.68534 9.92715 -31.0619 0.344584 0.092737 0.934164 \n-8.87293 41.0996 17.3591 0.929505 -0.35583 0.0969844 \n9.79711 41.3913 17.309 -0.897389 -0.335949 -0.286063 \n-44.4225 41.4174 17.8563 -0.799024 0.0410057 -0.599899 \n10.3395 42.5954 18.0411 -0.933698 -0.320064 -0.160519 \n-61.7372 43.2477 18.2054 0.977632 0.0852586 -0.192267 \n-9.6791 43.2934 17.9443 0.901064 -0.423587 -0.0930459 \n38.9593 44.2454 17.3839 0.910522 0.404579 0.0852376 \n8.76059 -16.8072 -7.90663 0.400764 -0.770871 -0.495122 \n14.3603 44.4989 16.9884 0.0590069 -0.997562 -0.0372566 \n11.516 44.77 17.0824 -0.339028 -0.940622 0.0170082 \n-10.1795 44.7268 16.8373 0.934147 -0.346927 0.0837292 \n-10.8899 45.4016 17.3646 0.609277 -0.724515 0.322273 \n-45.0252 45.4218 18.4038 -0.798096 0.105636 -0.593199 \n-33.9919 -26.1104 -12.2821 0.94412 -0.071881 0.321669 \n40.1469 45.5254 17.8104 0.889628 0.420474 0.178221 \n15.252 45.362 18.1691 -0.823443 -0.257035 -0.505841 \n-10.9565 -25.7284 -12.7209 -0.811788 -0.423476 -0.402079 \n1.72637 66.1125 -21.6958 -0.0417858 0.9222 0.384449 \n59.6941 46.8841 16.4863 -0.58542 0.614861 0.528421 \n-13.4671 47.5387 17.1605 0.957966 -0.156634 -0.240346 \n-0.774566 66.4522 -20.6195 0.0706878 0.929051 0.363135 \n44.4366 48.9053 18.5965 0.38103 0.892252 0.242287 \n56.7911 49.3444 18.2569 0.00130504 0.808077 0.589076 \n54.3709 49.265 17.9524 -0.326987 0.827344 0.456706 \n24.7359 -75.0163 -22.1837 0.246052 -0.958359 0.144937 \n0.188612 44.8061 -38.0658 0.32991 0.400226 0.854973 \n46.5902 49.5264 17.4091 0.168108 0.919711 0.354784 \n48.0978 50.3012 18.3128 0.182692 0.922718 0.339433 \n-27.9111 -75.0651 -20.9446 -0.0728783 -0.996934 -0.0284848 \n-58.7188 51.0933 17.1818 0.494487 0.813215 -0.306862 \n-44.4261 52.5326 17.8834 -0.657659 0.714106 -0.239868 \n-56.034 53.1218 17.443 0.540515 0.358654 0.761059 \n-56.8731 55.4831 18.7555 0.595971 0.270756 0.755982 \n-11.8918 54.3097 18.5332 0.953768 0.296234 -0.05071 \n12.9417 54.7822 17.8728 -0.902466 0.34098 -0.263225 \n-51.028 54.9233 17.63 -0.403986 0.603117 0.687783 \n12.1658 56.7677 18.1358 -0.816274 0.527345 -0.235805 \n-53.0094 56.5089 17.7616 -0.316621 0.461914 0.828484 \n11.8052 11.9881 -31.0469 -0.378594 -0.573568 0.72642 \n-13.796 -74.6169 -21.8846 -0.505508 -0.85202 -0.136099 \n11.7361 61.1527 17.32 -0.630387 -0.249696 0.735027 \n39.0799 -21.637 -12.7989 -0.934428 0.0232591 0.355392 \n0.324635 63.3738 17.552 0.101918 0.948603 -0.299608 \n2.05031 -24.9465 -53.9746 0.506411 0.610948 0.608515 \n12.8543 64.5223 18.1091 -0.562065 0.0696118 0.824158 \n5.69193 64.4326 18.1735 0.463985 0.8825 0.0768897 \n13.0469 65.3728 18.3016 -0.429055 0.217945 0.876591 \n-29.1378 -74.4804 -21.3877 0.648304 0.0706892 0.758093 \n6.90826 64.8805 17.3279 0.409338 0.83807 0.360668 \n-14.4465 64.0639 17.8537 0.384479 0.106128 0.917013 \n-13.0763 65.9007 17.6662 0.208948 0.2939 0.932719 \n9.12538 65.7312 17.2179 0.00421802 0.698081 0.716007 \n8.36129 66.1372 18.0704 0.452664 0.800221 0.393373 \n0.145369 -15.3053 -8.42039 -0.248564 -0.966948 0.0568132 \n-0.0573498 -15.6318 -7.40914 -0.338365 -0.939026 -0.0611478 \n50.3977 28.5411 16.6147 -0.255276 -0.929518 0.266142 \n45.8121 28.4543 16.8991 0.0852535 -0.992057 -0.0924901 \n-45.1272 28.7796 17.0497 -0.268525 -0.919511 -0.287042 \n-33.0026 -15.29 -7.23744 0.924445 0.309158 -0.223209 \n-7.07765 -18.7815 -17.8249 -0.307391 -0.927246 0.213835 \n43.535 29.4025 17.7438 0.49071 -0.870559 0.0364714 \n12.135 13.5809 -31.4201 -0.505897 0.0954474 0.857297 \n-52.4487 30.3951 18.0864 0.387368 -0.795506 -0.465957 \n-32.5255 -13.8555 -7.96626 0.879631 0.441845 -0.176131 \n54.4022 30.0084 18.2852 -0.465835 -0.85398 0.231769 \n36.6992 -73.2794 -21.1418 -0.696962 -0.153775 0.700427 \n-53.1777 30.6192 17.462 0.658855 -0.696471 -0.28432 \n11.168 25.7194 -36.5987 -0.411623 -0.313753 0.855643 \n40.8644 31.6809 16.995 0.600915 -0.799229 0.0115395 \n-10.998 12.6723 -30.9077 0.632589 0.176809 0.754036 \n-16.9315 -56.5796 -27.9006 -0.607939 0.171164 0.775315 \n-40.504 32.2099 16.3335 -0.766511 -0.402549 -0.500416 \n39.2631 -18.5035 -12.5967 -0.874766 0.272918 0.400374 \n39.8577 32.4621 17.2549 0.683646 -0.72965 -0.0154693 \n3.70334 34.2947 17.2046 -0.460576 -0.765262 -0.449715 \n-2.99781 -17.9194 -12.879 -0.505886 -0.860006 0.0668554 \n5.96543 36.0343 18.0267 -0.70621 -0.645728 -0.290347 \n12.0414 14.4792 -31.0763 -0.509129 0.518417 0.687046 \n-40.1293 35.4846 17.7823 -0.557374 0.295966 -0.775718 \n38.6673 -17.2859 -12.6006 -0.921753 0.229427 0.312626 \n37.0532 -71.4338 -21.4303 -0.696857 -0.072863 0.713499 \n7.27914 35.7964 16.768 -0.590551 -0.547819 -0.592574 \n5.37125 -16.5058 -12.5924 0.653165 -0.75629 -0.0374474 \n-5.81124 38.1109 17.4898 0.730987 -0.676199 0.0917211 \n-60.2007 38.536 18.0892 0.842014 -0.516842 -0.154553 \n8.69183 39.3137 17.613 -0.801866 -0.455723 -0.386429 \n37.9999 39.8312 17.2906 0.976461 0.211581 0.0419279 \n-7.8022 39.9886 16.7715 0.774103 -0.615841 0.146643 \n0.517891 -27.5398 -47.6386 0.566753 -0.791259 0.229566 \n-43.75 38.8617 17.2005 -0.777203 0.0793077 -0.624232 \n-61.4151 40.4398 17.6441 0.851572 -0.464134 -0.243731 \n-9.20547 42.5375 17.1071 0.881099 -0.472879 0.00708316 \n-27.745 -42.2243 -24.8483 0.26392 0.452411 0.851863 \n38.8444 41.9183 16.5247 0.964716 0.262787 0.0163241 \n62.0563 43.7825 17.9591 -0.888511 0.115061 0.444194 \n9.23467 24.3962 -36.2914 -0.257746 -0.233358 0.937609 \n-44.4191 44.3369 17.9741 -0.801159 0.0783074 -0.593306 \n-7.67073 14.6875 -31.9777 0.140099 0.840648 0.523148 \n-8.39821 15.0072 -31.3866 0.612758 0.597405 0.517334 \n14.8067 44.7794 17.7106 -0.365973 -0.871999 -0.325089 \n11.3406 15.566 -30.4746 -0.466289 0.523973 0.71276 \n-61.7892 45.2462 17.0659 0.989515 0.136784 -0.0463809 \n40.5629 46.784 18.3828 0.778656 0.531611 0.333292 \n-7.10538 15.364 -30.9138 0.194051 0.520441 0.831556 \n11.1833 -3.32925 -28.2757 -0.485722 -0.278577 0.828534 \n5.99476 -23.4529 -43.169 -0.975649 0.209879 0.0637089 \n11.1606 16.1369 -30.4488 -0.492375 -0.17519 0.85257 \n59.1434 48.3316 17.7441 -0.288782 0.723796 0.626677 \n15.983 48.424 16.9144 -0.88579 0.115839 -0.449397 \n-60.5477 48.3363 17.434 0.844415 0.534559 0.0347806 \n53.7896 48.544 15.9562 -0.354744 0.772164 0.527181 \n47.5947 49.3341 16.878 0.171499 0.918799 0.355522 \n37.343 -12.8427 -11.7771 -0.848694 0.527561 -0.0373913 \n-43.1968 49.7701 17.9205 -0.664736 0.0264004 -0.746612 \n36.7376 -18.0431 -17.4111 -0.863354 0.0496235 0.502153 \n13.1692 -3.41345 -26.8881 -0.477903 -0.232345 0.847127 \n-43.1101 51.0953 17.497 -0.806753 0.427019 -0.408418 \n14.4357 52.6998 17.3016 -0.898995 0.323169 -0.295584 \n-12.6052 53.2078 17.2953 0.925896 0.354396 -0.130848 \n-44.3109 52.1606 16.2357 -0.681177 0.722752 0.116736 \n7.2064 52.6947 -35.3584 -0.110498 0.40539 0.907441 \n-47.8088 54.6301 17.2718 -0.293319 0.955575 0.0289979 \n-49.7225 54.5051 17.3366 -0.113668 0.983234 -0.142583 \n-52.0451 55.2766 17.7634 -0.303601 0.522704 0.796622 \n35.5177 -9.65155 -12.1701 -0.864943 0.500075 -0.0424075 \n-30.3306 -9.16465 -11.9759 0.783823 0.597948 -0.167568 \n-8.83737 16.4811 -30.7521 -0.138746 -0.483502 0.864277 \n-54.3452 56.3105 17.4994 0.208587 0.37148 0.904707 \n-11.7324 56.0872 17.1583 0.986869 0.122149 0.105686 \n-29.6894 -28.1176 -17.4171 0.64501 -0.360382 0.67386 \n-28.3941 -7.44245 -13.0466 0.663152 0.744035 0.0814899 \n-6.64914 62.7232 17.8742 -0.774636 0.632406 -0.00135941 \n10.5491 17.3356 -31.1563 -0.462618 -0.306118 0.832031 \n33.2142 -28.0508 -17.6988 -0.464777 -0.411161 0.784174 \n5.96295 52.5896 -35.2026 -0.311558 0.420289 0.852226 \n-12.3911 63.0657 16.8246 0.412173 0.130117 0.901767 \n-27.6804 -6.40675 -12.778 0.694295 0.719532 -0.0150963 \n11.0372 65.1073 17.3674 -0.428763 0.325075 0.842905 \n-6.39957 25.598 -36.3054 0.323051 -0.215444 0.921532 \n-10.1128 66.0671 17.8374 -0.391419 0.645282 0.65605 \n10.8042 66.077 17.7984 -0.215953 0.495824 0.841143 \n7.54403 64.4995 16.2267 0.0798353 0.838453 0.539094 \n-10.8315 66.2184 17.7185 -0.0334086 0.514533 0.856819 \n-28.8525 -63.9441 -21.3665 0.956561 -0.280715 0.0786754 \n34.6192 -62.9885 -21.8492 -0.469908 -0.020751 0.882472 \n49.4786 28.3298 17.3915 0.0313846 -0.995095 0.0938097 \n47.7906 28.8328 17.1773 0.00596961 -0.9961 0.088027 \n-16.7358 -53.46 -9.9628 -0.458515 -0.51099 -0.727085 \n43.9618 29.9075 16.0997 0.417633 -0.899549 0.128039 \n-50.1022 29.1742 16.1367 0.271555 -0.891205 -0.363333 \n-50.3605 29.591 17.4448 0.258503 -0.912899 -0.315898 \n-51.2789 29.365 16.5409 0.263905 -0.940878 -0.212373 \n42.6287 30.4023 17.0682 0.555228 -0.793598 0.248845 \n-23.7343 -3.99285 -12.1343 0.586791 0.800539 0.121711 \n54.246 30.8646 16.2503 -0.625712 -0.701833 0.340463 \n28.2765 -4.45105 -12.1026 -0.426347 0.887002 -0.177361 \n-41.7345 30.5769 16.5065 -0.493735 -0.700236 -0.51565 \n27.5304 -3.45065 -13.2139 -0.687484 0.684811 -0.24166 \n55.5543 31.1457 17.6947 -0.720569 -0.657908 0.218946 \n-53.9939 31.0833 16.1913 0.612112 -0.737872 -0.284366 \n39.8884 32.076 16.389 0.460141 -0.545999 -0.700111 \n26.1201 -4.82905 -7.80254 -0.419695 0.800904 -0.427093 \n-54.9776 32.1035 16.4381 0.588969 -0.762248 -0.268502 \n1.14296 32.6791 17.3116 0.00208649 -0.963212 -0.268733 \n-55.8442 32.7179 17.4198 0.490618 -0.828455 -0.270104 \n11.4964 17.9275 -30.9784 -0.416073 -0.583111 0.697757 \n26.5473 -3.03065 -11.277 -0.777286 0.574249 -0.257031 \n-56.9967 33.5147 16.8333 0.7662 -0.633223 -0.109396 \n-39.9 33.7803 17.264 -0.759741 -0.415104 -0.500482 \n-22.7418 -4.34035 -7.96919 0.737924 0.587751 -0.331689 \n38.606 34.7663 16.9335 0.877484 -0.399537 -0.265316 \n24.3237 0.175449 -13.3719 -0.709243 0.703609 -0.0436867 \n-22.1105 -2.86365 -8.85017 0.777091 0.60523 -0.172703 \n-40.6132 37.4092 16.0332 0.0278833 0.646689 -0.762244 \n-43.3762 36.8598 17.2041 -0.666456 0.128389 -0.734407 \n8.87075 37.3762 16.3477 -0.727839 -0.442701 -0.523705 \n-29.9246 -61.2385 -21.5185 0.883833 -0.457688 0.0967498 \n12.5526 18.2108 -30.6834 -0.372796 -0.7124 0.594567 \n-6.37159 38.2839 16.8632 0.708805 -0.541003 -0.45267 \n21.3066 -19.0475 -25.3064 0.0604992 -0.192434 0.979443 \n37.5456 39.0257 16.7228 0.982722 0.10499 -0.152428 \n10.1638 39.5665 16.2235 -0.673877 -0.349161 -0.651135 \n-19.474 2.29805 -12.8046 0.766606 0.640081 0.0510989 \n-62.0429 40.3204 16.4959 0.753896 -0.560914 -0.342076 \n-8.30484 40.229 17.5815 0.795346 -0.603758 0.0538545 \n-43.2188 42.2086 16.7551 -0.805014 0.0457223 -0.591492 \n10.3097 42.1697 16.5382 -0.904055 -0.231758 -0.359127 \n-30.276 -59.6796 -21.5837 0.945234 -0.319836 0.0650954 \n37.6329 -58.7771 -20.6595 -0.619918 -0.412882 0.667255 \n61.6899 43.0365 17.217 -0.898823 -0.0590017 0.434322 \n-19.003 6.15805 -12.635 0.988339 -0.143628 -0.0505671 \n24.791 -20.062 -24.9105 -0.0478218 -0.411584 0.910116 \n-20.372 -0.62825 -8.12237 0.807146 0.49171 -0.326707 \n39.8397 45.0219 17.2759 0.704806 0.709106 -0.0204175 \n-43.8638 46.0009 16.5723 -0.764259 0.0175133 -0.644672 \n-14.3601 19.6794 -30.9879 0.588112 -0.144019 0.795854 \n-12.6008 46.566 17.1108 0.630697 -0.760007 0.156878 \n16.5072 19.4913 -31.5727 -0.325766 -0.776679 0.539117 \n38.1335 -56.6955 -20.6314 -0.688502 -0.100471 0.718241 \n17.6515 20.5308 -31.6027 -0.560729 -0.40253 0.723569 \n57.4736 48.3387 17.3309 -0.109389 0.829393 0.547851 \n55.7441 47.4702 15.9992 -0.111638 0.844143 0.524366 \n-43.2189 48.7575 17.4817 -0.327819 -0.460562 -0.824874 \n-61.4052 47.212 17.0703 0.895585 0.444657 0.0143795 \n26.1219 -56.2666 -21.2593 0.632263 -0.0196632 0.774504 \n-60.7923 47.8883 15.8469 0.894126 0.447777 0.00593139 \n-18.4691 12.0502 -14.0355 0.981969 0.135229 -0.1321 \n44.7849 49.0648 16.9517 0.483908 0.85885 0.167955 \n37.0701 -55.8398 -21.5336 -0.501729 -0.0698332 0.862201 \n18.4171 21.5581 -31.3504 -0.72589 0.148148 0.671667 \n-42.6413 50.3631 16.9404 -0.824762 0.463892 -0.323375 \n16.0442 50.1034 16.6189 -0.840914 0.339351 -0.421551 \n-59.5317 50.5512 17.172 0.761361 0.621441 -0.18477 \n-31.2196 -56.8568 -21.8993 0.95686 -0.191894 0.218163 \n14.4931 51.3537 17.1823 -0.928526 0.298006 -0.221434 \n-56.8481 52.265 17.4145 0.626112 0.778983 0.0341911 \n-18.3949 13.7596 -13.6006 0.927887 -0.368103 0.0593827 \n6.07868 -25.8088 -48.3956 -0.911505 -0.392497 -0.122902 \n13.5943 53.8173 17.2453 -0.837641 0.53497 -0.110295 \n-19.3507 14.6698 -12.9691 0.839332 -0.528519 0.127235 \n-55.0525 54.2661 17.2175 0.459755 0.363141 0.810403 \n-51.3082 54.6947 17.1846 0.038683 0.994041 0.101912 \n-53.0708 55.2902 17.1273 -0.00960517 0.495442 0.868588 \n13.0647 55.961 17.5521 -0.835381 0.452243 -0.312433 \n11.3747 57.9174 17.2234 -0.845588 0.516767 0.133912 \n-11.9373 57.7231 16.5268 0.699983 -0.270793 0.660829 \n10.7119 60.4916 16.561 -0.827245 0.0424139 0.560238 \n-1.1288 63.1028 17.1001 0.408339 0.878216 -0.248989 \n-17.3666 2.55205 -8.33355 0.691138 0.66112 -0.291974 \n20.2558 3.32935 -7.90624 -0.820785 -0.00842893 -0.571175 \n38.2141 -54.2691 -20.9471 -0.650175 -0.0539272 0.757868 \n5.50457 -33.8444 -56.6869 -0.397654 -0.91752 0.00542441 \n25.5084 -53.3387 -20.8431 0.677446 -0.0278006 0.735047 \n3.70544 63.8579 17.7347 0.233584 0.95232 -0.196279 \n2.7765 64.3135 16.7096 0.0819118 0.918361 -0.387173 \n-12.9975 -53.8114 -20.6384 -0.967 -0.0938283 0.236869 \n-11.5836 64.7605 16.9856 0.190333 0.348733 0.917692 \n-16.8253 2.32235 -6.77168 0.668702 0.58999 -0.452492 \n9.49197 63.9306 15.9407 -0.446513 0.383387 0.80848 \n5.99195 64.2359 16.3415 0.236738 0.946612 0.218817 \n-15.4434 23.4674 -31.2962 0.586553 -0.297173 0.753421 \n-9.74885 64.3327 16.6257 -0.0489642 0.537192 0.842037 \n-2.38928 25.2682 -36.7425 -0.678448 -0.701878 0.216967 \n-31.8798 -55.205 -21.2671 0.968477 -0.201808 0.146034 \n-47.1475 28.2629 16.6098 0.00157474 -0.925637 -0.378409 \n-44.6414 28.6655 16.0009 -0.200626 -0.849298 -0.488306 \n45.0406 28.7815 16.6812 0.464425 -0.766379 0.443816 \n19.8444 -19.7584 -24.8002 0.37324 -0.210918 0.903441 \n-42.897 29.9848 16.4794 -0.420067 -0.733512 -0.534326 \n-52.646 29.7666 15.67 0.477346 -0.875305 -0.0773455 \n26.5427 21.1061 -11.5193 -0.552327 -0.833027 -0.031629 \n20.7922 4.88915 -8.66097 -0.969555 0.206062 -0.132289 \n55.8047 32.0129 17.0223 -0.66401 -0.669319 0.333322 \n30.0569 44.7332 -10.8879 -0.989292 -0.0548123 -0.135263 \n27.2238 21.8087 -13.5871 -0.942151 -0.329551 0.0612212 \n3.70324 -30.8255 -57.4224 0.537367 -0.0071394 0.843319 \n56.9295 33.0816 16.616 -0.494823 -0.858544 0.134356 \n-1.21558 33.2897 17.6083 0.469986 -0.881338 -0.0485328 \n37.625 -52.4487 -21.3696 -0.544434 -0.0439719 0.83765 \n-24.1819 23.5165 -13.3463 0.768185 -0.491964 0.40971 \n-39.0922 33.4913 15.24 -0.887462 -0.291753 -0.35678 \n20.2222 6.64405 -7.87338 -0.899483 0.131059 -0.416839 \n-2.58835 34.5721 17.4036 0.674854 -0.731002 -0.101035 \n38.0123 34.8036 16.2666 0.563766 -0.198096 -0.801827 \n25.0818 -70.1548 -25.3518 0.255258 0.37835 0.889772 \n-39.327 35.2657 17.0813 -0.845118 -0.135742 -0.517059 \n61.409 36.0552 17.3773 -0.905653 -0.382518 0.182954 \n37.9003 36.1905 16.484 0.919668 -0.181046 -0.348472 \n-29.0284 -47.6532 -26.0244 0.606328 0.0490911 0.793698 \n26.3027 -19.2577 -24.8909 -0.314774 -0.347295 0.883348 \n-39.5667 36.9579 16.3833 -0.184714 0.53914 -0.821711 \n-4.22737 48.4928 -37.3287 0.219119 0.164418 0.961745 \n-27.2396 26.3785 -12.6725 0.578783 -0.67021 0.464574 \n-42.8137 36.6738 16.85 -0.0933414 0.683222 -0.72422 \n-59.632 37.0693 17.1679 0.801408 -0.58883 -0.104997 \n9.76515 38.3338 15.5428 -0.707746 -0.477767 -0.520418 \n-42.8106 38.692 16.5337 -0.73911 0.154117 -0.655717 \n26.3581 -49.1544 -21.3047 0.544861 0.0644957 0.836042 \n-27.7282 -43.6948 -25.5724 0.359105 0.31478 0.878611 \n-32.2349 -51.1348 -21.3037 0.916051 -0.144597 0.374088 \n-43.0447 40.0832 16.1537 -0.772511 0.0522898 -0.632844 \n19.9483 8.72735 -7.77277 -0.91581 0.0870377 -0.392067 \n-8.63465 41.5611 16.1232 0.876916 -0.456589 -0.150148 \n61.2929 42.7959 15.8386 -0.848994 0.108117 0.517223 \n12.8225 0.20715 -28.3301 -0.51927 -0.218178 0.826291 \n-9.96741 43.2594 16.3085 0.915087 -0.401986 0.031971 \n-43.7879 43.5047 16.9862 -0.80183 0.0703222 -0.5934 \n29.6255 46.7984 -10.2534 -0.934094 0.352152 -0.0588031 \n38.3181 -48.8986 -21.164 -0.618918 0.0554841 0.783494 \n16.3306 44.889 16.6948 -0.4983 -0.538253 -0.679692 \n28.9647 28.018 -12.2598 -0.690963 -0.409878 0.595458 \n12.4456 45.0055 16.4471 0.045806 -0.998929 0.00657088 \n-10.3274 45.8162 15.8113 0.624244 -0.735769 0.262607 \n-43.6423 45.0723 16.5739 -0.817646 0.0941165 -0.567976 \n-29.376 -26.8113 -18.0754 0.63472 -0.298664 0.712692 \n-32.6535 28.2158 -12.8424 0.285584 -0.418345 0.862223 \n-13.3957 -48.7838 -21.6845 -0.910804 0.178917 0.372056 \n-32.3333 -49.7175 -21.9874 0.918838 -0.106785 0.379913 \n41.1314 46.1295 16.4718 0.719904 0.624901 0.302056 \n-11.8624 46.3293 16.1598 0.277556 -0.958017 0.0718777 \n41.7934 47.4479 17.0302 0.602051 0.693918 0.394984 \n-43.959 47.3106 16.8404 -0.488568 -0.346082 -0.800955 \n21.61 31.4103 -30.3131 -0.863228 -0.223637 0.452574 \n0.0801578 -23.5344 -48.6702 0.764791 0.554931 0.327332 \n58.3144 47.3961 15.7419 -0.387994 0.740197 0.549153 \n-23.3071 -43.4395 -25.905 -0.139706 0.349611 0.92642 \n55.4398 48.6632 17.1715 -0.183675 0.80543 0.563512 \n43.3122 47.7571 16.1221 0.483792 0.795327 0.365239 \n-10.8156 -0.0904503 -27.865 0.675092 -0.334986 0.657294 \n-13.968 48.84 15.5362 0.889655 0.197862 -0.411539 \n20.8924 19.6515 -27.0826 -0.330158 -0.931725 0.151278 \n52.7234 49.559 16.6349 -0.304257 0.818375 0.487535 \n51.5838 49.9066 17.0001 -0.185557 0.868086 0.460429 \n46.001 49.2425 16.1341 0.130911 0.937253 0.32314 \n50.4249 50.4983 17.3535 0.00169634 0.913927 0.405874 \n-13.3837 50.0158 16.7245 0.958293 0.113467 -0.262295 \n15.1194 51.0602 16.4732 -0.747875 0.412817 -0.519871 \n-13.029 51.3549 17.7195 0.964073 0.145691 -0.222122 \n15.3434 52.308 16.1715 -0.86662 0.330549 -0.373775 \n-34.9499 30.3127 -12.5044 0.64426 -0.254012 0.721392 \n-58.3596 51.7539 15.9431 0.650819 0.758972 0.0198824 \n-45.3263 53.1862 17.1826 -0.588899 0.806225 -0.0565668 \n-55.6377 53.2404 16.7005 0.593155 0.804008 -0.0416885 \n29.9557 31.5016 -12.4434 -0.563021 -0.16846 0.809091 \n-46.7561 54.066 15.7918 -0.232304 0.947578 0.219387 \n-47.0224 54.0904 16.7125 -0.425923 0.90403 -0.0363129 \n-48.942 54.612 16.6107 -0.150625 0.987517 -0.0460694 \n19.9389 12.7555 -7.88528 -0.935585 -0.350264 -0.0446811 \n-17.7096 33.9771 -31.8332 0.80549 0.0817782 0.58694 \n13.5753 55.0299 16.9503 -0.881397 0.253897 -0.39834 \n-12.8391 59.0938 16.7531 0.572245 -0.10266 0.813631 \n22.054 33.7411 -31.2242 -0.879998 -0.156497 0.448455 \n4.35261 -33.5739 -56.9874 0.624793 -0.763519 0.163319 \n5.79178 -24.1938 -52.6865 -0.689353 0.663462 0.290879 \n-2.12968 62.5826 16.9693 0.265844 0.927523 -0.262732 \n-10.8117 62.0247 15.9865 0.428369 0.266522 0.863403 \n11.2736 63.7436 17.0346 -0.535983 0.152483 0.830344 \n-2.14928 63.3214 15.5544 0.38129 0.898354 -0.218122 \n22.5631 -29.6485 -18.0155 0.365859 -0.709014 0.602865 \n-9.3934 63.1406 15.8824 0.232504 0.433884 0.870452 \n27.5485 -46.5627 -21.3984 0.377483 0.178393 0.908671 \n-35.71 34.7439 -12.1241 0.647945 0.0619916 0.75916 \n-45.6464 28.3792 15.523 -0.0250826 -0.975454 -0.218769 \n47.2693 28.6922 15.6746 0.0519998 -0.983349 0.174129 \n51.6186 29.1809 16.4716 -0.380652 -0.902546 0.201285 \n49.3633 28.7467 15.8757 -0.069794 -0.978759 0.192769 \n46.2208 28.4904 16.2868 0.12147 -0.951924 0.281221 \n-41.3653 29.9299 15.6528 -0.482275 -0.693091 -0.535757 \n42.3203 30.6066 16.1718 0.349735 -0.852076 -0.389425 \n-15.2037 -41.2773 -18.6177 -0.79212 0.523922 0.313131 \n-22.4657 -44.4034 -26.3156 -0.1057 0.359721 0.927053 \n41.0713 31.1824 16.1938 0.346913 -0.643115 -0.682681 \n21.2308 20.351 -27.779 -0.744965 -0.436154 0.504774 \n40.0233 30.816 15.5844 0.369038 -0.378749 -0.84874 \n38.2299 -45.7063 -21.3333 -0.633181 0.0175745 0.773804 \n-41.1129 31.1525 16.4551 -0.700045 -0.545084 -0.461325 \n23.4669 44.5066 -27.9566 -0.672991 0.318863 0.66739 \n-14.3611 -44.6026 -21.077 -0.785007 0.416367 0.458697 \n-32.6309 -41.3975 -18.5302 0.906787 0.419905 0.0376521 \n21.9435 35.5656 -31.0078 -0.751597 -0.381941 0.537794 \n2.1698 32.5956 16.662 -0.36418 -0.837235 -0.407934 \n38.667 33.0447 16.1598 0.527794 -0.327848 -0.783549 \n3.38663 33.0698 16.1749 -0.566436 -0.687268 -0.454766 \n59.2094 33.8643 16.6088 -0.458167 -0.887162 -0.0550138 \n4.14087 33.9304 16.224 -0.518789 -0.770479 -0.370434 \n5.39358 34.1836 16.1613 -0.351406 -0.894726 -0.275644 \n-26.003 -44.5422 -26.272 0.09956 0.361063 0.927211 \n60.0873 34.505 16.1445 -0.659101 -0.743108 0.115652 \n-31.2258 38.9869 -13.1424 0.385331 0.503178 0.773519 \n-2.5069 -19.652 -36.8968 0.885016 0.315536 0.342321 \n6.35872 34.7541 16.3112 -0.521832 -0.739579 -0.425105 \n-18.6995 36.3405 -31.2391 0.519044 -0.132163 0.844468 \n-57.991 35.6257 16.8379 0.779282 -0.617724 -0.105527 \n-5.31982 36.5377 16.6144 0.657848 -0.519154 -0.545632 \n-22.2068 19.4344 -7.78935 0.7314 -0.659257 -0.174455 \n24.0994 36.3824 -28.587 -0.764421 -0.399454 0.50606 \n-38.9858 36.3457 16.2492 -0.695089 0.218957 -0.68477 \n37.6356 38.2006 15.871 0.905838 0.124953 -0.404777 \n-38.5603 37.715 15.7984 -0.741374 0.128645 -0.658646 \n-38.7214 38.9242 15.3498 -0.0844719 0.539908 -0.837475 \n-60.07 37.7176 15.3674 0.76437 -0.604405 -0.224571 \n-15.524 -42.501 -21.2917 -0.82335 0.338333 0.45566 \n29.6423 43.3892 -13.1061 -0.930253 0.274741 0.243201 \n38.57 -42.3036 -20.4753 -0.65534 0.150159 0.740258 \n25.1019 20.3286 -7.86021 -0.82649 -0.562062 0.0316282 \n-7.70796 39.7172 16.3448 0.794869 -0.345409 -0.498874 \n-62.6358 41.7527 16.4444 0.934846 -0.188534 -0.300861 \n29.8981 45.0952 -12.4575 -0.942792 0.18723 0.275842 \n-8.98155 42.4598 15.9603 0.885274 -0.463476 -0.0384602 \n1.45686 46.2852 -37.7559 0.14163 0.391081 0.909394 \n-18.5835 38.298 -31.3278 0.840434 0.058958 0.538698 \n11.27 44.1731 15.7595 -0.88118 -0.400229 -0.251671 \n-26.5051 45.1824 -12.232 0.937411 0.319085 0.139445 \n17.2327 44.2576 15.5635 -0.310111 -0.528136 -0.790509 \n-62.111 44.4233 16.1145 0.937808 0.296444 -0.180657 \n-18.5237 40.6373 -30.9381 0.724575 0.113813 0.679734 \n-30.7458 -41.4436 -21.9826 0.709351 0.506951 0.489716 \n37.4683 -41.6812 -21.4795 -0.552415 0.16615 0.816842 \n-12.2864 3.97525 -28.5915 0.638055 -0.320084 0.700309 \n-14.0647 4.18525 -26.7743 0.76554 -0.311336 0.563044 \n16.7516 45.9559 16.0076 -0.784005 0.0379133 -0.619596 \n5.56441 -25.8367 -44.8279 -0.720711 -0.637648 -0.271993 \n-13.5199 47.0674 16.3331 0.508793 -0.722926 -0.467448 \n-11.6076 -24.2718 -17.9958 -0.800758 -0.470307 0.370941 \n-42.8979 46.623 16.006 -0.428963 -0.448743 -0.783977 \n16.3764 47.1814 17.0165 -0.885644 0.0839581 -0.456711 \n-14.6333 47.3901 15.5625 0.693889 0.087622 -0.714731 \n-42.1479 48.291 16.8181 -0.528392 -0.353847 -0.771748 \n-22.6744 -61.8844 -28.8515 0.364801 -0.445438 0.817622 \n57.4478 47.6805 15.5811 0.0172897 0.901547 0.432335 \n1.38499 41.188 -39.3009 0.028526 0.104522 0.994113 \n-13.9964 47.7769 16.1401 0.77622 0.175621 -0.605507 \n36.1751 -24.0385 -17.1529 -0.626337 -0.267074 0.732375 \n44.4151 48.3021 15.3672 0.45246 0.787048 0.419328 \n-8.30324 36.6694 -37.7005 0.423236 -0.176897 0.888582 \n-41.5822 49.168 16.1448 -0.876123 0.233137 -0.421966 \n50.1748 49.3191 15.7989 -0.169833 0.859784 0.481589 \n48.7751 49.591 16.3203 0.187161 0.89738 0.399599 \n27.4254 23.2342 -8.76676 -0.896854 -0.441101 0.0328965 \n-59.9197 49.7437 16.3174 0.858719 0.512326 -0.0110948 \n-13.76 51.3752 15.2016 0.906842 0.227817 -0.354595 \n-43.1072 50.9805 16.029 -0.757791 0.639985 0.12717 \n-13.027 52.0552 16.4813 0.925305 0.280497 -0.255212 \n-43.5462 51.8286 16.7037 -0.696296 0.704987 0.13478 \n-12.695 53.6902 16.2795 0.871007 0.409499 -0.2714 \n25.921 52.4838 -13.0385 -0.713954 0.565558 0.412813 \n-47.9855 54.1357 15.7543 -0.302679 0.933909 0.190261 \n-52.81 54.6385 16.5437 -0.0732652 0.966644 0.24542 \n-1.65221 46.0521 -37.7622 -0.0835189 0.508164 0.857201 \n-51.6979 54.4902 15.007 0.0412992 0.978168 0.203673 \n-17.5034 -40.016 -20.9985 -0.554244 0.634532 0.538686 \n12.5904 56.8009 16.3608 -0.717176 0.696793 -0.0117165 \n21.4474 -52.9257 -11.095 0.957353 -0.279224 -0.0742211 \n-11.5415 59.1486 15.8424 0.587366 0.0971309 0.803472 \n10.4502 59.6765 15.5857 -0.825769 0.522502 0.212362 \n36.5934 -38.9096 -20.145 -0.27803 0.565253 0.776652 \n10.3574 62.1334 16.1812 -0.618527 0.0637757 0.783171 \n35.2432 -38.9908 -20.663 -0.0757175 0.573757 0.815518 \n-6.69566 62.4414 15.9606 -0.418709 0.885218 0.202664 \n11.5663 31.9587 -37.2725 -0.586606 -0.112156 0.802069 \n-3.12154 63.1805 15.6267 0.284117 0.928703 -0.238302 \n-7.98818 63.6388 16.5583 -0.529251 0.734737 0.42433 \n-8.60546 63.832 16.4512 -0.201457 0.691583 0.693634 \n1.67713 64.0645 16.6123 0.157793 0.915465 -0.370168 \n-30.4249 23.6175 -7.42098 -0.0582534 -0.948317 0.311933 \n-49.9094 28.3636 15.2515 0.382879 -0.80495 -0.453276 \n32.8527 -39.6956 -21.1063 0.16427 0.524143 0.835637 \n-43.6245 29.2722 16.2989 -0.452407 -0.744629 -0.49077 \n45.2881 29.4403 15.7705 0.371002 -0.807639 0.458341 \n-18.598 57.3868 -12.7562 0.534274 0.791048 -0.297985 \n-32.7547 24.0106 -8.00513 0.354274 -0.871797 0.33832 \n-19.2253 -39.2916 -21.2562 -0.396513 0.741014 0.541918 \n53.797 30.7596 15.1953 -0.70417 -0.611771 0.360389 \n20.8187 57.8009 -12.7111 -0.594033 0.783835 0.18091 \n-40.5947 30.6649 15.6422 -0.692179 -0.426488 -0.582234 \n-18.8985 20.6225 -26.0585 0.763699 0.158331 0.625856 \n35.2001 -16.2194 -19.762 -0.786773 0.155493 0.597336 \n-0.732553 32.4268 15.853 0.223657 -0.895401 -0.385012 \n-20.7095 -38.1895 -21.2685 -0.406074 0.681752 0.608538 \n56.4231 33.0409 15.5264 -0.431472 -0.833297 0.345612 \n-3.36335 46.5594 -37.3936 0.0841123 0.33908 0.93699 \n-2.32137 33.0727 15.4395 0.611679 -0.685353 -0.395146 \n-22.0647 -38.3845 -22.0184 -0.160679 0.794496 0.585627 \n-35.4594 25.4242 -8.16618 0.285603 -0.812605 0.508039 \n-3.63949 34.7088 15.7 0.613424 -0.716165 -0.332895 \n-57.3338 34.0889 15.4147 0.77778 -0.628087 -0.0237478 \n59.779 34.672 15.1831 -0.46348 -0.764489 0.448044 \n60.4305 35.4629 15.04 -0.73369 -0.392023 0.554993 \n-25.1163 -38.2604 -21.349 0.169829 0.861525 0.478469 \n-4.88209 35.1912 15.8204 0.525026 -0.751137 -0.400176 \n-38.7674 35.8951 15.7968 -0.944609 -0.160492 -0.28628 \n8.20146 36.0541 15.6343 -0.649936 -0.671149 -0.356571 \n-36.4801 25.4164 -7.35557 0.579802 -0.745648 0.328389 \n37.297 36.4566 15.8906 0.610127 0.0736618 -0.788872 \n61.239 36.9543 16.7606 -0.901427 0.0958279 0.422193 \n-23.175 -28.2363 -21.4319 0.0691324 -0.275879 0.958703 \n-6.5564 36.7055 15.5845 0.66777 -0.555613 -0.495355 \n-42.028 37.2518 16.052 -0.0774425 0.64356 -0.761468 \n-19.6697 -28.6915 -21.1595 -0.0918879 -0.420649 0.902558 \n-41.5642 38.4999 15.1795 -0.000698858 0.538517 -0.842614 \n-8.44968 38.7451 15.0193 0.766508 -0.36529 -0.528232 \n-42.3646 37.6972 15.968 -0.681869 0.216781 -0.698613 \n-42.0113 39.2197 15.0848 -0.727047 0.172148 -0.664657 \n-60.6618 39.0588 16.3778 0.808947 -0.560432 -0.177541 \n22.3732 -18.7404 -25.1645 0.0260049 -0.295396 0.955021 \n-17.8002 -27.948 -20.7764 -0.380798 -0.478738 0.791077 \n-14.8776 49.0538 -31.7595 0.628469 0.105773 0.77061 \n16.6629 49.5407 -31.7023 -0.708072 0.522622 0.47487 \n-42.6189 41.2623 15.5611 -0.798439 0.066977 -0.598339 \n38.0206 40.2006 15.5689 0.919326 0.323097 -0.224606 \n23.4356 24.1556 -25.5159 -0.825937 -0.355039 0.437922 \n-22.0245 -28.5357 -21.0988 0.0120833 -0.32705 0.94493 \n11.2672 43.3247 15.2484 -0.706369 0.0119148 -0.707744 \n-11.8819 64.3741 -13.0362 0.44219 0.889197 0.11746 \n16.9072 43.3789 14.7243 0.0948069 -0.772519 -0.627874 \n-9.73535 43.2932 15.4492 0.968242 -0.249392 0.0176452 \n60.9599 44.0592 16.3714 -0.812428 0.287892 0.50703 \n15.3136 44.1913 16.0213 0.0474994 -0.917357 -0.395223 \n15.9371 50.5383 -31.0147 -0.590881 0.541619 0.59792 \n17.7008 44.8598 15.5058 -0.635603 0.114378 -0.763496 \n-10.0663 45.0239 15.6579 0.972075 -0.186667 0.142218 \n-42.5421 44.6293 15.0503 -0.720532 -0.0327939 -0.692646 \n13.1452 65.5434 -13.1529 -0.453873 0.888505 0.0675073 \n60.59 46.3431 17.1068 -0.757918 0.453458 0.468974 \n13.5624 27.4626 -36.0512 -0.202685 -0.261115 0.943789 \n-21.9105 -27.2832 -21.286 0.0613526 -0.366497 0.928394 \n11.3771 66.0295 -12.6898 -0.452384 0.889623 0.0626075 \n41.8864 46.4358 15.7085 0.538951 0.736203 0.409312 \n17.6548 46.514 15.1331 -0.656116 0.331722 -0.677844 \n-41.5488 46.6777 15.3682 -0.411279 -0.420609 -0.808664 \n15.6966 51.9792 -30.8339 -0.7751 0.380956 0.504076 \n10.4839 66.9502 -13.4247 -0.499641 0.858953 0.112067 \n-38.0354 27.9094 -8.00128 0.675921 -0.459473 0.576208 \n36.2389 28.7663 -8.56141 -0.394231 -0.50934 0.764955 \n-41.1384 47.3804 15.3314 -0.73906 -0.0567371 -0.671246 \n-31.4422 -23.2333 -17.3958 0.814809 -0.141799 0.562121 \n37.8045 28.74 -7.4953 -0.521188 -0.402253 0.752699 \n15.7276 51.0327 15.5951 -0.877547 0.370981 -0.303784 \n-13.6384 52.1413 14.3957 0.911896 0.380496 -0.153847 \n-43.8568 51.313 15.2904 -0.709642 0.671702 0.21266 \n28.1013 48.5801 -9.95838 -0.715034 0.660549 -0.228914 \n-57.3504 52.3263 15.758 0.638767 0.765037 -0.0818251 \n-4.92966 67.322 -14.3812 0.255481 0.942473 0.215576 \n-56.8978 53.0166 15.3765 0.661985 0.747815 -0.0504825 \n14.1703 54.1423 16.1532 -0.826615 0.489506 -0.277655 \n-18.5799 -18.1534 -25.1911 0.0494411 -0.238671 0.969841 \n-53.9389 54.409 16.485 0.423828 0.890955 0.163 \n-18.1773 21.4559 -26.9668 0.461428 -0.50745 0.727721 \n-23.1995 -26.6193 -21.3548 0.368417 -0.479573 0.796416 \n14.9519 52.5156 -31.0612 -0.494618 0.728791 0.473515 \n-53.011 54.748 15.0477 0.0703349 0.993471 0.0898248 \n-12.05 54.6171 16.1723 0.900196 0.430725 -0.064214 \n38.659 30.1154 -7.49454 -0.588232 -0.406997 0.69881 \n-11.0861 57.0247 15.5122 0.960472 0.209083 0.183788 \n10.7267 59.0042 16.2866 -0.953808 0.271795 0.127979 \n-1.56458 68.5049 -12.5277 0.0720006 0.987941 0.137071 \n-5.06665 62.2135 15.8005 0.178487 0.970757 -0.160542 \n21.6044 -26.4657 -21.0819 0.166063 -0.67141 0.722241 \n-7.795 62.4324 14.8891 -0.174541 0.883899 0.433887 \n37.4258 31.0532 -8.74982 -0.504876 -0.331944 0.796815 \n0.942942 68.8061 -12.3288 0.629982 0.776365 0.0195035 \n-10.5015 -23.2695 -17.8102 -0.736033 -0.553486 0.389755 \n20.1697 -26.6632 -20.797 0.239659 -0.647202 0.723666 \n5.1181 64.1609 16.7358 -0.080915 0.987848 -0.132696 \n3.01989 64.9616 14.4682 0.0344061 0.990728 -0.131431 \n-0.0570107 67.9383 -12.5195 0.138794 0.989164 0.047865 \n11.8152 22.9844 15.0997 -0.0569485 -0.108872 -0.992423 \n-8.60791 -3.68955 -27.8916 0.509853 -0.362386 0.780209 \n26.5254 50.3582 -10.2898 -0.645005 0.603793 -0.468404 \n8.97222 23.1136 15.1927 0.048761 -0.11005 -0.992729 \n9.20462 26.4718 15.0839 0.155541 0.165529 -0.973862 \n13.0983 26.5751 15.3221 -0.0838871 0.0264552 -0.996124 \n-12.9498 7.95015 -28.0958 0.74643 0.0638692 0.662392 \n-39.7645 30.1459 -7.65935 0.624003 -0.265314 0.735002 \n11.3193 26.2253 15.2726 0.0340958 0.0400886 -0.998614 \n48.0972 -74.98 -12.5776 -0.276381 -0.901915 0.331908 \n-44.4011 27.9153 14.8463 -0.0966546 -0.954976 -0.280498 \n-42.9202 28.505 15.2382 -0.416781 -0.791762 -0.44655 \n-48.2397 28.2134 15.5222 0.111541 -0.945798 -0.305 \n48.6865 28.6907 14.8087 0.0677921 -0.899312 0.432021 \n29.3938 -75.0141 -13.2359 -0.0117077 -0.999522 -0.0286248 \n49.4754 28.9351 14.6632 -0.400545 -0.872931 0.278488 \n-26.0692 -25.1964 -21.3659 0.234843 -0.493739 0.8373 \n40.9912 30.348 15.6777 0.0017034 -0.496241 -0.868183 \n-51.273 29.4503 15.1831 0.486023 -0.854345 -0.184057 \n52.5378 29.5656 15.6009 -0.434653 -0.862257 0.259981 \n42.6422 29.8241 15.0814 0.034152 -0.881599 -0.470762 \n18.4093 -24.8715 -21.2091 0.334241 -0.57467 0.747019 \n48.1352 -74.3816 -12.9111 -0.578667 -0.231325 0.78207 \n54.4105 31.9151 15.1926 -0.68185 -0.634125 0.364645 \n-39.3427 32.337 14.9849 -0.790435 -0.360735 -0.495058 \n-55.0166 31.4125 15.6207 0.648112 -0.698665 -0.303015 \n-21.1263 -67.2207 -29.1656 0.434143 0.364596 0.823765 \n2.77635 32.0949 14.8117 -0.243233 -0.780468 -0.575941 \n55.5072 33.218 14.3786 -0.510872 -0.781445 0.358264 \n33.224 -74.4618 -13.8203 -0.105158 -0.991115 0.0814454 \n-55.9753 32.6845 15.47 0.746823 -0.6577 -0.0984192 \n27.595 -74.3607 -12.9086 0.632372 -0.622639 -0.460898 \n-10.2995 -21.8121 -18.1498 -0.79821 -0.373136 0.472895 \n-17.7478 -74.4155 -13.0482 -0.552286 -0.802642 -0.22527 \n57.9223 33.9757 14.9829 -0.379402 -0.85726 0.348079 \n4.55417 33.7542 15.0877 -0.463568 -0.817431 -0.341923 \n-3.10577 33.5447 14.6618 0.672517 -0.50129 -0.544452 \n31.0019 -24.6689 -20.6195 -0.408024 -0.312826 0.857704 \n14.8914 8.13595 -28.0693 -0.660694 0.115937 0.741648 \n-58.0737 34.7526 15.1568 0.742999 -0.647525 -0.169304 \n-27.5748 -23.6047 -21.2035 0.611789 -0.233492 0.755774 \n-40.5345 32.3792 -7.73256 0.758626 -0.030605 0.650807 \n60.8047 36.0422 15.4435 -0.898709 0.0182471 0.438167 \n36.0107 -13.767 -17.2218 -0.851318 0.275599 0.446434 \n36.0411 37.3401 14.6929 0.619227 0.290459 -0.729515 \n-14.5227 -24.3393 -21.1136 -0.530704 -0.386841 0.754127 \n60.5593 38.3644 15.8151 -0.891729 -0.0189567 0.452173 \n5.2018 -20.9646 -41.4616 -0.77552 0.592696 0.217442 \n37.327 39.4252 14.7638 0.672789 0.131887 -0.727984 \n40.0135 34.0692 -7.51925 -0.726888 0.182679 0.662013 \n3.47288 -14.6456 -17.04 0.0612375 -0.993125 -0.099765 \n-9.10383 41.2256 15.2189 0.750059 -0.29819 -0.590334 \n-62.2051 40.2363 15.5694 0.81257 -0.53788 -0.224534 \n60.5682 41.3642 15.1651 -0.876104 -0.086569 0.474286 \n10.8564 41.2405 15.9867 -0.69054 -0.0548121 -0.721215 \n-62.7327 42.7742 15.9482 0.970401 0.196507 -0.140379 \n38.8964 42.754 15.4869 0.896545 0.430063 0.106081 \n-9.40444 42.6626 15.2219 0.857731 -0.177285 -0.482564 \n1.96876 -14.7671 -17.5823 -0.152649 -0.962875 -0.222642 \n31.6721 -22.9975 -20.9555 -0.439347 -0.400525 0.804086 \n18.2035 43.4842 14.8839 0.0664452 -0.489047 -0.869723 \n16.1073 43.4561 14.6819 0.310445 -0.876568 -0.367766 \n15.2012 43.7688 14.824 0.389919 -0.893174 -0.224059 \n-43.0197 43.7092 15.6946 -0.808432 0.101133 -0.579836 \n13.6432 44.6948 15.6708 0.292055 -0.953622 -0.0728566 \n11.9591 44.7427 15.084 -0.53906 -0.770319 -0.340622 \n-62.2853 44.6031 14.2982 0.941722 0.335804 0.0198842 \n27.1172 -73.0488 -12.4244 0.820737 -0.191006 -0.53843 \n33.0416 -21.0702 -21.2206 -0.572326 -0.375492 0.729005 \n-17.4215 -73.9575 -13.1571 -0.913746 -0.11094 -0.390845 \n-36.3895 -72.3771 -14.1839 0.897785 -0.100385 0.428841 \n40.0006 45.1396 15.8286 0.690517 0.668117 0.277139 \n-11.8131 -22.7842 -20.2367 -0.651582 -0.354753 0.670515 \n-23.1896 -45.7813 -26.7675 -0.169684 0.321417 0.931611 \n42.4351 46.4018 15.124 0.544869 0.762283 0.349347 \n-13.968 46.465 15.117 0.0147065 -0.937031 -0.348936 \n54.7534 47.194 14.9989 -0.30662 0.872705 0.37996 \n43.4828 47.1965 14.8785 0.540445 0.781914 0.310692 \n-1.20367 -20.3939 -40.8098 0.686802 0.594717 0.417869 \n16.9458 49.0111 15.0073 -0.932427 0.0557549 -0.357032 \n-7.83314 58.5623 -30.7112 0.421656 0.639576 0.642767 \n-12.1961 -21.5201 -20.7798 -0.614738 -0.433618 0.658842 \n12.2792 29.0609 -36.2345 -0.0282285 -0.248478 0.968226 \n-14.4442 49.5941 14.6984 0.797612 0.29033 -0.528699 \n48.2711 49.302 15.1482 0.170391 0.941906 0.289448 \n-13.6674 49.905 15.327 0.889287 0.130797 -0.438247 \n-60.2937 49.2387 15.1674 0.859558 0.495873 0.123573 \n-42.1697 50.0669 15.7258 -0.741742 0.65068 0.162585 \n-11.6914 -20.3593 -21.5406 -0.648564 -0.39019 0.653541 \n6.43709 68.2259 -5.60396 -0.279537 0.936802 -0.210382 \n-57.8098 51.5826 14.3673 0.608837 0.74621 0.269237 \n-44.7708 52.7228 15.0463 -0.724332 0.68144 0.104796 \n15.1602 53.3686 14.3047 -0.810831 0.583539 -0.045117 \n47.7291 -69.8622 -13.512 -0.345724 0.515061 0.784339 \n-56.2159 53.4609 15.1683 0.281357 0.936635 0.208695 \n14.8473 10.0772 -27.6561 -0.657861 0.121436 0.743285 \n-55.2584 53.6842 15.6469 0.486514 0.873628 0.00883306 \n13.7226 55.413 15.5389 -0.861224 0.505266 -0.0547585 \n2.95051 -27.7064 -48.6613 -0.12219 -0.964781 -0.232955 \n-50.3347 55.1221 15.6053 -0.068228 0.996966 0.0374546 \n11.1312 57.8452 16.0875 -0.864921 0.496153 -0.0757826 \n13.616 0.943649 -28.1318 -0.607682 -0.362416 0.706666 \n-1.20862 46.6648 -37.5341 0.0494258 -0.0732864 0.996085 \n9.607 61.8358 15.3076 -0.746984 0.298687 0.59397 \n-9.22457 61.754 15.1123 0.482319 0.531838 0.696072 \n8.45314 63.3059 15.0166 -0.347528 0.607026 0.714663 \n15.5124 29.4546 -35.8531 -0.462901 -0.227977 0.856592 \n-8.49814 62.5425 15.0409 0.287343 0.622374 0.728069 \n21.7799 22.0292 -26.3058 -0.80372 0.215559 0.554589 \n24.6529 -17.1441 -25.8821 -0.171043 -0.133361 0.976196 \n-9.52338 -21.1358 -17.9586 -0.802281 -0.380701 0.459795 \n-0.678404 63.8635 16.1805 0.250546 0.926604 -0.280415 \n-38.4748 38.5629 -7.74305 0.601647 0.442047 0.665293 \n-17.2581 -68.894 -14.0782 -0.845933 0.119338 -0.519764 \n36.2252 -21.4706 -18.3234 -0.635249 -0.069554 0.769169 \n7.43028 -16.4564 -19.2546 0.562535 -0.73155 0.385213 \n-27.9263 -18.6235 -21.7924 0.671679 -0.00095913 0.740842 \n14.1257 23.3912 14.8631 -0.210236 -0.152155 -0.965738 \n6.66482 24.1338 14.825 0.23353 0.0132683 -0.972259 \n4.7607 60.0445 -30.8272 -0.12088 0.707504 0.696294 \n40.6825 -50.712 -9.95223 -0.975276 -0.141694 0.169585 \n11.6924 -17.7091 -21.7929 0.581799 -0.556753 0.592904 \n-33.4021 -67.7346 -13.5939 0.441845 0.843459 0.305533 \n-8.7971 -18.7526 -20.2075 -0.215387 -0.902969 0.371826 \n15.8041 26.5264 14.858 -0.214118 -0.00665982 -0.976785 \n-12.6038 9.83955 -27.9097 0.709117 -0.245499 0.660972 \n0.639207 47.8309 -37.9371 0.0319862 0.077872 0.99645 \n35.0439 41.0559 -7.70799 -0.327141 0.601333 0.728956 \n2.08608 -27.6779 -48.7703 0.333099 -0.930046 -0.155111 \n40.5403 28.1328 14.5801 -0.137984 -0.757727 -0.637817 \n39.7281 28.5797 15.0061 0.138673 -0.584188 -0.799684 \n-32.0278 -66.5085 -13.6227 0.501258 0.819664 0.277292 \n12.133 28.941 14.8555 0.101663 0.307821 -0.945997 \n-18.5736 -66.8671 -12.8601 -0.806009 0.340979 -0.483822 \n39.1693 29.0497 15.0121 0.437945 -0.249684 -0.863633 \n14.494 29.5737 14.7165 -0.141387 0.24486 -0.959194 \n-31.3004 -66.1844 -13.521 0.234818 0.96077 -0.147584 \n41.8465 29.5065 14.8584 -0.313983 -0.60666 -0.730328 \n-41.8909 29.3188 14.6878 -0.591071 -0.803519 0.0706534 \n4.01649 -23.7951 -53.4862 0.187116 0.81884 0.542668 \n45.0047 29.6457 15.0394 0.064288 -0.981328 -0.18128 \n-41.31 30.0226 13.7278 -0.62253 -0.771783 0.129646 \n-53.1626 30.1935 14.766 0.473547 -0.878416 -0.0643371 \n52.8186 30.3561 14.4573 -0.37493 -0.750661 0.543999 \n-40.5708 30.1795 15.0407 -0.754997 -0.653925 0.0486078 \n11.1647 -16.8466 -22.1088 0.457681 -0.547484 0.700564 \n1.20848 31.756 14.6268 -0.00790816 -0.891772 -0.452416 \n-3.83429 60.5368 -29.9175 0.193171 0.755647 0.625846 \n-27.0341 -16.6258 -22.4421 0.655974 0.123518 0.744609 \n3.59486 32.6358 14.8327 -0.535035 -0.659519 -0.527989 \n-38.9891 32.6243 14.3753 -0.910266 -0.402056 0.0988275 \n-26.3826 -64.7078 -13.6326 0.483413 0.715012 -0.505044 \n22.5489 -16.2126 -25.8325 -0.012339 -0.0635773 0.997901 \n-8.98499 -20.3036 -17.2225 -0.678989 -0.493436 0.543595 \n-25.2222 -64.8561 -12.5051 0.255209 0.877776 -0.405436 \n-34.12 42.6585 -6.65257 0.382262 0.906025 0.181641 \n0.329865 59.3288 -32.0203 -0.0420664 0.695862 0.716943 \n36.3046 33.8159 15.0164 0.456223 -0.195646 -0.868091 \n8.04488 -15.9113 -20.9635 0.574203 -0.480446 0.66292 \n58.8745 34.9025 14.2114 -0.415957 -0.488948 0.766753 \n30.8071 42.3065 -7.62734 -0.287323 0.84539 0.45029 \n-3.77416 34.5939 14.7663 0.532169 -0.771854 -0.347905 \n-4.6884 34.8874 14.5827 0.491616 -0.820834 -0.290767 \n7.15973 35.0121 14.8871 -0.405754 -0.73549 -0.542603 \n2.876 -15.993 -22.8377 -0.35728 -0.889403 -0.285154 \n-24.7863 -64.5331 -12.6056 0.373595 0.791161 -0.484244 \n8.12548 35.3871 14.5797 -0.442352 -0.381707 -0.811557 \n-5.90266 35.777 14.9722 0.652883 -0.717631 -0.242383 \n-38.7575 35.0134 14.6709 -0.977982 -0.167085 -0.125036 \n-1.86737 -15.4855 -20.6013 0.0394168 -0.993976 -0.102264 \n23.558 -14.6534 -25.5569 -0.179601 -0.0770902 0.980714 \n40.6443 -63.2922 -13.4521 -0.901808 0.417878 -0.110092 \n59.8733 37.1196 14.2718 -0.865239 0.00834924 0.50129 \n9.85232 37.7146 14.5812 -0.637503 -0.516725 -0.571476 \n-1.68547 -16.1228 -18.8153 -0.590454 -0.757431 0.278679 \n-38.2146 37.5135 14.9081 -0.977784 -0.102062 -0.183088 \n35.7803 38.6553 13.6524 0.604175 0.326461 -0.726908 \n-40.7225 39.7154 14.4458 0.00948642 0.392081 -0.919882 \n-9.95094 29.9373 -36.0734 0.351778 -0.204728 0.913421 \n21.4822 -15.0752 -26.1883 0.178631 -0.197782 0.963833 \n-41.4618 39.6091 14.5856 -0.570509 0.223522 -0.790289 \n25.8369 -40.673 -18.9818 0.538521 0.376111 0.754013 \n40.2126 -60.2506 -13.7155 -0.91352 -0.389918 0.115954 \n37.6017 40.578 15.0618 0.504867 0.179876 -0.844247 \n-18.631 -73.743 -32.01 0.138232 -0.357834 0.923497 \n34.3248 -13.7302 -20.4493 -0.809495 0.0680681 0.583168 \n-30.8456 43.373 -7.78007 0.462936 0.83698 0.291813 \n-24.0681 -59.8164 -12.7987 -0.273612 -0.410731 -0.869733 \n-41.3764 43.2672 13.971 -0.64153 -0.0430894 -0.765887 \n-15.853 -73.5588 -31.8072 -0.357221 -0.188606 0.914779 \n36.0635 -12.2805 -16.8735 -0.936649 0.200358 0.287307 \n20.2379 42.2662 14.3895 -0.194443 -0.189788 -0.962379 \n60.0508 43.3633 14.5948 -0.809769 0.142618 0.569152 \n7.49714 -14.3008 -21.3151 0.140997 -0.774374 0.616818 \n18.6498 44.0583 14.9286 -0.551304 0.151905 -0.820359 \n-32.7523 43.0979 -7.69733 0.269161 0.904259 0.331463 \n22.4723 -14.4508 -26.2111 -0.257288 -0.0509421 0.964991 \n-23.3015 50.9958 -10.6303 0.767961 0.635119 -0.0828214 \n-15.735 -73.1384 -31.4261 -0.322553 -0.0276138 0.946149 \n39.6573 43.7686 14.8755 0.813844 0.458937 0.35642 \n-17.0838 59.8148 -17.8582 0.651968 0.758229 0.00512699 \n-19.4403 -73.8448 -31.6737 0.554998 -0.126941 0.822109 \n-19.1516 -59.2484 -12.5465 0.132009 -0.589145 -0.797171 \n-10.9939 29.6168 -35.9602 0.247605 -0.233164 0.940386 \n9.88154 -19.156 -18.5278 0.619997 -0.607016 0.497126 \n59.1469 45.2988 14.0707 -0.727078 0.435936 0.530394 \n-19.0182 -72.6787 -31.7353 0.413087 0.0687208 0.908095 \n-40.4917 45.4639 14.5432 -0.407335 -0.290933 -0.8657 \n-42.6797 45.7164 15.3093 -0.514692 -0.27418 -0.812353 \n41.7784 45.8074 14.2602 0.610738 0.723198 0.322465 \n-21.2579 -60.0816 -13.0421 -0.0321798 -0.503263 -0.863534 \n-15.3307 -71.6038 -31.6862 -0.486379 -0.12524 0.864726 \n-16.9444 -73.017 -31.8479 -0.177951 -0.0303346 0.983572 \n-14.9198 46.7873 15.1464 0.414742 -0.554443 -0.721514 \n-61.4311 46.416 15.3898 0.923809 0.376789 0.0678758 \n17.9286 47.6781 13.8069 -0.689685 0.459316 -0.559788 \n16.9946 46.9687 15.4583 -0.783619 0.344659 -0.516867 \n50.375 48.056 13.5653 -0.189174 0.792768 0.579423 \n45.8209 48.4346 14.5585 0.253345 0.800865 0.542615 \n-20.2711 -59.3588 -12.9815 0.0129828 -0.591887 -0.805917 \n-41.1979 48.2588 14.8151 -0.799822 0.588962 0.115794 \n49.6451 48.8649 14.1572 -0.167492 0.86875 0.466069 \n16.8234 -14.1886 -26.045 0.0497239 -0.205701 0.977351 \n32.5193 -10.2599 -21.255 -0.665564 0.505506 0.549079 \n-15.1804 -30.1773 -17.3669 -0.631925 -0.614093 0.472823 \n16.1723 50.6769 14.3399 -0.940551 0.334692 -0.0578412 \n-44.397 51.7433 14.1348 -0.642829 0.709362 0.289095 \n1.69141 68.6721 -6.28609 0.26184 0.916175 -0.303419 \n-20.246 -71.0023 -30.9774 0.49675 0.169395 0.851202 \n-13.2533 53.0913 15.3168 0.932568 0.239483 -0.27012 \n15.9463 51.9177 14.1891 -0.934685 0.334862 -0.119296 \n-9.39474 -19.5501 -18.631 -0.61374 -0.690487 0.38282 \n-27.1261 -10.8102 -21.026 0.491637 0.673384 0.552129 \n-46.0112 53.7628 16.2342 -0.452084 0.8743 0.176692 \n-22.9392 -59.0206 -12.9951 -0.186916 -0.479167 -0.857591 \n-26.8349 -58.424 -12.8751 0.594236 -0.452307 -0.665058 \n-12.0017 54.8838 14.3636 0.891643 0.440409 -0.104938 \n-49.527 54.5779 14.4649 -0.160212 0.932361 0.324091 \n-25.6177 -10.7165 -21.697 0.474743 0.558145 0.68051 \n11.9447 57.0481 15.1914 -0.674647 0.734696 -0.0712305 \n40.7522 -58.9022 -13.5697 -0.983241 0.146737 0.108188 \n-10.7025 57.7719 14.3258 0.862591 0.451397 0.228424 \n11.7513 57.7484 14.0317 -0.762008 0.646254 -0.0412238 \n-10.7116 58.663 14.9713 0.811511 0.184534 0.554433 \n28.7948 49.0601 -8.56499 -0.81575 0.517299 0.258756 \n9.28865 61.3529 14.4473 -0.830205 0.450918 0.327768 \n-28.7706 -57.476 -13.0656 0.64373 -0.576106 -0.5037 \n-6.15891 62.1553 14.677 0.174994 0.980628 0.0880079 \n28.2933 -18.1085 -24.4496 -0.384051 -0.271469 0.882502 \n0.246502 -26.9208 -48.5362 0.531669 -0.825886 0.187724 \n6.14155 63.9644 14.7784 -0.301297 0.929526 0.212605 \n1.78734 64.6507 14.529 0.171776 0.978284 -0.115984 \n0.221625 68.1875 -7.28062 0.243271 0.961158 -0.130366 \n9.31627 18.8894 14.3718 -0.0389532 -0.284761 -0.957807 \n28.1663 49.8242 -8.30518 -0.650366 0.755183 0.0819928 \n12.6177 20.7964 14.6264 -0.119868 -0.22774 -0.966316 \n22.5784 -56.9249 -12.7695 0.943651 -0.233974 -0.234051 \n-6.14028 20.7441 14.4214 0.0175249 -0.190526 -0.981526 \n-23.2962 -9.29525 -21.8054 0.176373 0.742229 0.64652 \n-16.6217 -70.2448 -31.831 0.0455719 0.328436 0.943426 \n12.9695 19.1381 14.0098 -0.226332 -0.397239 -0.889368 \n25.4741 51.3839 -10.2697 -0.659 0.509955 -0.55287 \n6.83467 21.7581 14.7203 0.214624 -0.15835 -0.963775 \n3.92312 21.6854 13.8247 0.466511 -0.110101 -0.877636 \n-8.66604 23.7719 14.5437 0.0806857 -0.049843 -0.995493 \n16.2961 23.3382 14.2026 -0.387838 -0.215587 -0.89616 \n39.9775 -55.4573 -12.683 -0.996515 -0.0217373 -0.0805308 \n-6.4695 23.1845 14.6003 -0.0630222 0.0317197 -0.997508 \n26.3815 51.1247 -8.20956 -0.439295 0.859481 -0.261368 \n17.212 25.6449 14.2897 -0.368077 -0.121304 -0.921849 \n-14.2363 -54.4494 -13.4 -0.799558 -0.402234 -0.446 \n-9.59486 26.3585 14.3975 0.156029 0.141661 -0.977541 \n0.831665 -23.6101 -31.2455 0.0798621 -0.857866 -0.507631 \n-8.27824 26.4183 14.4317 -0.062767 0.170962 -0.983276 \n6.02674 26.077 14.4462 0.313551 0.266975 -0.911268 \n12.9339 -1.70295 -28.0808 -0.50531 -0.262598 0.822012 \n25.5993 -5.33545 -21.3022 -0.560147 0.535947 0.631661 \n14.7086 14.7244 -28.1705 -0.663972 0.523878 0.533567 \n16.855 27.6569 14.5026 -0.300473 0.048307 -0.952566 \n-49.0729 27.8604 14.4723 0.0883202 -0.991064 -0.0999542 \n40.6493 -49.2424 -10.9141 -0.975455 -0.204441 -0.0818057 \n38.1438 28.2971 13.6857 0.337693 -0.768082 -0.544071 \n-19.0441 -4.55315 -21.9468 0.720185 0.241812 0.650277 \n25.1027 -3.78205 -21.106 -0.687727 0.418456 0.593234 \n-50.9966 28.4363 13.9122 0.577718 -0.789151 -0.208526 \n4.29945 -22.2596 -31.7507 -0.63082 -0.753791 -0.184026 \n17.4291 28.5078 14.2377 -0.25557 0.251846 -0.933412 \n9.7755 29.0418 14.365 0.245747 0.39146 -0.886774 \n-2.38136 -21.9086 -31.7669 0.810763 -0.510998 -0.285559 \n48.6964 29.6031 13.5946 -0.0520408 -0.913689 0.403069 \n46.6124 29.604 14.3603 0.103104 -0.973202 0.205539 \n-11.2805 30.6035 -36.2136 0.266149 -0.22477 0.93736 \n50.8913 29.6193 15.0691 -0.305591 -0.872769 0.380642 \n8.18156 -17.8192 -17.9906 0.62839 -0.639941 0.442269 \n13.5833 31.5498 13.825 0.163377 0.559099 -0.812845 \n-12.7809 -50.6858 -13.3447 -0.887459 -0.285525 -0.361791 \n-40.2384 31.4198 13.3616 -0.795792 -0.5742 0.19238 \n53.6399 31.6719 13.8835 -0.504166 -0.654196 0.563777 \n1.80994 30.8953 13.7395 -0.101505 -0.516205 -0.850429 \n0.0905625 31.2783 14.0558 -0.0430122 -0.553577 -0.831687 \n-0.965032 31.7124 14.4213 0.0584443 -0.732512 -0.678241 \n35.3517 32.6087 14.3736 0.420343 -0.207208 -0.883389 \n-20.0672 53.1694 -7.91013 0.567273 0.753963 -0.331272 \n21.43 -17.1652 -25.2304 0.163824 -0.207618 0.964394 \n-11.8904 -49.0299 -13.6815 -0.911722 -0.312537 -0.266614 \n22.883 54.6189 -8.18072 -0.662602 0.662506 -0.349349 \n4.45567 32.2663 14.259 -0.247385 -0.497124 -0.831666 \n-3.03027 32.1731 14.1084 0.33689 -0.30951 -0.889218 \n-32.1636 -49.7434 -12.6601 0.953598 -0.207364 0.21829 \n-18.4117 -0.713951 -20.9405 0.768297 0.256101 0.586628 \n5.38475 33.6758 14.465 -0.284256 -0.434079 -0.854853 \n-19.1914 53.9691 -7.23368 0.805534 0.525446 -0.273901 \n6.02011 -18.8008 -31.5103 -0.988571 -0.0566469 -0.139712 \n7.98342 33.9746 14.2544 -0.300067 -0.359064 -0.883761 \n-3.28981 -19.3682 -32.6675 0.997985 0.0236271 0.0588814 \n-3.23365 -17.1666 -31.8519 0.983764 0.152891 0.0939827 \n-10.1181 32.0987 -36.5312 0.30347 -0.216253 0.927977 \n-56.5229 33.4176 14.3417 0.747497 -0.659238 -0.0815745 \n20.9565 0.185749 -21.4536 -0.855459 0.140756 0.498376 \n41.7191 -46.3237 -13.6024 -0.995785 -0.0721081 -0.0566849 \n35.6196 35.4794 14.8287 0.540981 -0.00433086 -0.841024 \n21.0187 1.60565 -21.7886 -0.881311 -0.0373976 0.471055 \n-32.202 -47.7073 -12.8572 0.922705 -0.16277 0.349459 \n9.80347 36.5342 14.1708 -0.45072 -0.197762 -0.870484 \n-58.626 35.3211 14.2773 0.737332 -0.644078 -0.203727 \n9.2682 36.7656 14.7468 -0.729093 -0.512323 -0.453815 \n18.2641 -17.4096 -25.1808 0.139338 -0.389517 0.910418 \n-22.6245 52.3384 -9.96224 0.841037 0.537333 0.0626907 \n-11.8001 -48.1053 -13.3974 -0.961694 0.0157505 -0.273672 \n-19.2334 55.2133 -7.94964 0.834818 0.426815 -0.347717 \n-59.1171 36.5581 15.2031 0.762063 -0.6048 -0.231252 \n-38.4128 36.4332 13.5031 -0.992195 -0.124331 -0.00951313 \n-8.14588 37.9611 14.5504 0.780482 -0.579366 -0.23491 \n11.3324 39.0279 14.6778 -0.620032 -0.554153 -0.555405 \n-29.0339 -9.51095 -16.9803 0.693822 0.589723 0.413325 \n-8.80294 40.048 14.6766 0.787124 -0.349879 -0.507958 \n-38.1735 39.447 14.6573 -0.909404 0.261706 -0.323256 \n-12.3333 -45.7653 -12.7624 -0.941458 0.248522 -0.227803 \n-9.9054 40.1934 13.7308 0.715303 -0.506618 -0.481332 \n-38.9513 40.1206 14.267 -0.218725 0.598107 -0.770991 \n35.667 40.191 13.9996 0.49132 -0.0887079 -0.86645 \n-2.65686 -14.6621 -31.6371 0.946814 0.190244 0.25952 \n36.8619 41.2544 14.4033 0.458019 0.546421 -0.701172 \n-39.4947 40.9258 14.2351 -0.152844 0.194969 -0.968827 \n38.2905 41.6909 14.7803 0.662731 0.562278 -0.494602 \n-13.3157 -43.6526 -13.9999 -0.887105 0.452843 0.0893233 \n-62.9114 41.3998 13.8128 0.996102 -0.0738692 -0.0482147 \n21.3989 -43.4039 -11.6965 0.968957 0.179629 0.16987 \n-62.717 42.7225 13.1436 0.967226 0.249573 0.0467783 \n-17.2066 6.44915 -20.0183 0.959606 0.0219381 0.280489 \n19.6066 6.87655 -21.6742 -0.927344 -0.0829716 0.364897 \n12.2421 44.2589 14.3968 -0.546423 -0.156375 -0.822781 \n40.5638 44.7506 14.5137 0.630708 0.550693 0.546758 \n14.1764 44.2925 14.3167 0.322332 -0.889247 -0.324564 \n12.9391 44.6809 14.4633 0.0515762 -0.917637 -0.394059 \n-41.6627 44.6581 14.4836 -0.330203 -0.318823 -0.888436 \n-13.2976 -45.382 -19.0657 -0.909821 0.302822 0.283768 \n-14.7216 60.6736 -19.0457 0.459089 0.885678 0.0693692 \n4.75811 -26.7169 -48.4132 -0.621049 -0.7682 0.155458 \n-9.98745 45.4963 13.9653 0.970975 -0.239118 -0.00555473 \n-8.8095 -6.90095 -26.7596 -0.0182736 0.0702188 0.997364 \n-32.7425 -43.1432 -13.2435 0.966179 -0.0756055 0.24654 \n19.1331 9.39455 -20.4877 -0.933468 0.060743 0.353478 \n42.7641 46.4897 13.4632 0.542365 0.755388 0.367736 \n-15.9645 46.7411 14.3759 0.751853 0.138794 -0.644557 \n-39.7272 46.5474 14.2043 -0.921994 0.122575 -0.367291 \n-40.236 47.1745 14.6773 -0.760985 0.263323 -0.592928 \n56.492 46.9428 14.4593 -0.205694 0.91184 0.3553 \n23.1468 -13.4101 -25.9041 -0.0351608 0.0647948 0.997279 \n-32.4146 -41.8079 -13.5538 0.954911 0.249371 0.161119 \n44.9474 47.4496 13.8579 0.297181 0.853828 0.427388 \n16.9853 47.8773 14.5244 -0.878479 0.226992 -0.420416 \n-60.5285 48.446 14.5465 0.884402 0.425366 0.192087 \n-1.814 -12.3607 -31.367 0.609076 0.369006 0.702041 \n51.6135 48.0889 13.8193 -0.223391 0.809473 0.543001 \n3.68463 -11.73 -31.6095 -0.490135 0.403808 0.772468 \n-40.5878 47.8699 14.0252 -0.675298 0.720218 0.15893 \n46.8284 48.348 14.2375 0.226391 0.87033 0.437346 \n19.8103 11.9228 -20.7962 -0.908006 0.308856 0.283076 \n-24.7197 -57.6684 -10.8556 -0.411226 -0.491439 -0.767712 \n16.7307 49.8198 14.8084 -0.859634 0.498488 -0.111979 \n-43.1059 50.4514 14.3064 -0.736474 0.639689 0.22001 \n33.8288 -8.45955 -17.912 -0.640449 0.735514 0.221007 \n-57.0768 52.0828 13.4344 0.751274 0.616812 0.234797 \n-45.3331 52.9743 14.6505 -0.464562 0.789101 0.401873 \n23.1417 -38.7501 -12.8461 0.746474 0.632152 0.207753 \n14.2176 54.2902 14.4642 -0.823835 0.563894 0.0576237 \n-32.0393 -40.3684 -18.9613 0.725759 0.631996 0.271763 \n-47.4194 53.6824 14.5298 -0.350676 0.907452 0.231424 \n21.7536 -13.6402 -26.0638 0.153986 0.235038 0.959711 \n-16.2649 -39.3228 -12.948 -0.918632 0.368126 -0.143523 \n10.5138 58.8563 13.8224 -0.714723 0.676398 0.177922 \n9.79223 59.7722 14.2702 -0.852216 0.384218 0.355111 \n16.9844 60.7215 -8.36943 -0.785494 0.496115 -0.369958 \n41.5682 -37.8902 -12.5135 -0.942033 0.176474 0.28536 \n-9.5358 60.5291 14.3908 0.687306 0.345412 0.638984 \n17.3734 18.7218 -27.2009 -0.615218 -0.612238 0.496661 \n8.12324 62.5224 13.9921 -0.652351 0.659408 0.373656 \n20.7563 48.634 -28.7648 -0.678626 0.383244 0.626571 \n-1.85579 -22.7738 -41.8859 0.922709 0.242871 0.299368 \n18.5647 -13.7104 -26.0374 -0.106885 -0.182987 0.977288 \n7.78075 18.5023 14.1438 0.174753 -0.319343 -0.931387 \n41.0156 -36.7885 -12.6858 -0.868508 0.311973 0.385183 \n33.0042 -7.97585 -16.6771 -0.515329 0.820166 0.248522 \n0.673386 0.401749 -31.4512 0.0312419 -0.283363 0.958504 \n-3.61137 54.0823 -35.3862 0.202115 0.513287 0.834078 \n4.04096 -30.7542 -53.4535 -0.0604118 -0.512372 -0.856636 \n-6.78751 17.7153 13.3645 0.114621 -0.419187 -0.900635 \n21.6716 19.3789 -21.7703 -0.635798 -0.728047 0.256335 \n26.2516 -35.7509 -13.8339 0.847763 0.220118 0.482542 \n-4.18904 19.5972 13.9474 -0.198366 -0.257338 -0.945742 \n25.6864 -35.467 -13.125 0.810134 -0.361698 0.461366 \n-3.81626 22.8108 14.2959 -0.197165 -0.0249035 -0.980054 \n-10.0346 21.4033 14.1007 0.221331 -0.160802 -0.96185 \n24.9385 20.8043 -21.463 -0.840315 -0.437594 0.319973 \n-25.1391 -46.714 -27.0635 0.0686108 0.271831 0.959896 \n4.42464 24.0354 14.1048 0.406983 0.0686591 -0.910852 \n-10.0765 24.8328 14.3776 0.216737 -0.0391896 -0.975443 \n17.2439 18.9748 -28.141 -0.211357 -0.970696 0.11436 \n-11.512 64.6094 -7.81484 0.633235 0.762872 -0.130538 \n-4.84005 25.3626 14.1983 -0.177778 0.177059 -0.968011 \n-22.6274 22.7292 -21.8277 0.702902 -0.419607 0.574333 \n-23.0671 23.7792 -21.7815 0.954059 -0.186393 0.234585 \n-5.84554 27.3979 13.8559 -0.226547 0.389306 -0.892814 \n-45.8377 27.7395 13.5219 -0.0445284 -0.990296 -0.131651 \n-47.0164 28.0777 14.087 0.00618992 -0.976959 -0.213338 \n-43.6055 28.1901 14.0381 -0.44586 -0.870191 0.209708 \n38.1109 -33.9467 -13.4088 -0.672072 0.379409 0.6359 \n-15.1865 -32.8007 -13.4656 -0.848819 -0.528559 0.0114842 \n-8.77793 65.7678 -7.79078 0.782353 0.605881 -0.144333 \n-23.5579 25.2173 -19.7906 0.986907 -0.148346 0.0633078 \n49.9684 29.6628 13.8746 -0.260479 -0.834926 0.484818 \n38.0566 30.3478 14.4289 0.463904 -0.276832 -0.841521 \n18.497 30.7429 13.3605 -0.129037 0.389627 -0.911888 \n16.8588 30.4622 13.4658 -0.234407 0.370129 -0.89892 \n24.0483 -12.2894 -26.0032 0.0443538 0.24036 0.96967 \n-23.788 27.2085 -20.6347 0.992488 -0.0326459 -0.117905 \n8.07125 1.21875 -31.1692 -0.221401 -0.334474 0.916029 \n15.5631 30.9154 14.0338 -0.38056 0.2841 -0.880035 \n2.84657 0.854649 -31.6291 0.00278596 -0.184763 0.982779 \n-54.0486 30.4304 14.41 0.462667 -0.878753 -0.117183 \n27.3848 28.7316 -21.4051 -0.883204 -0.259884 0.390399 \n37.0585 31.6311 14.7176 0.399925 -0.389012 -0.829897 \n14.6599 31.407 14.0082 -0.0410295 0.425573 -0.903994 \n0.49635 1.28845 -31.5447 0.055283 0.0920456 0.994219 \n3.3067 31.0958 13.5834 -0.160691 -0.602876 -0.781485 \n-2.04878 32.1569 14.5722 0.326513 -0.556326 -0.764128 \n-55.7918 31.8496 14.1856 0.768779 -0.636529 -0.0617222 \n28.129 31.6346 -21.4666 -0.911606 -0.239445 0.334126 \n5.70543 32.2542 14.1051 -0.188771 -0.402917 -0.895558 \n-13.514 -30.8353 -13.5457 -0.763359 -0.597412 -0.245726 \n6.89262 33.125 13.9161 -0.231948 -0.439877 -0.867588 \n57.3371 34.1371 14.0921 -0.399829 -0.652601 0.643622 \n-5.63365 0.93285 -31.2173 0.225817 -0.208991 0.951488 \n-4.31079 68.2235 -7.30952 0.261462 0.964484 -0.0375281 \n-4.12689 34.1422 14.0597 0.419371 -0.313696 -0.851894 \n-12.7233 -30.243 -13.6576 -0.772073 -0.627894 -0.0982482 \n-6.3668 35.1945 13.813 0.202326 -0.103311 -0.973854 \n57.7785 35.9098 13.5105 -0.399018 -0.384491 0.832437 \n-31.6117 -30.8379 -12.6555 0.745675 -0.495669 0.445289 \n-16.0524 -40.0593 -18.5607 -0.712179 0.607066 0.352522 \n7.22779 2.32205 -31.5456 -0.133772 -0.0794266 0.987824 \n-2.94286 -17.2385 -18.2256 -0.475329 -0.826654 0.301174 \n34.2051 35.3978 13.8327 0.524958 0.0582972 -0.849129 \n-20.6686 -16.9534 -25.308 0.105983 -0.253661 0.96147 \n-6.18669 35.7196 14.111 0.55204 -0.604104 -0.574726 \n59.2177 36.6073 13.828 -0.50235 -0.315066 0.805219 \n-59.8493 36.2218 13.375 0.745661 -0.633381 -0.206927 \n11.0821 38.1189 13.7445 -0.49578 -0.270732 -0.825171 \n35.0135 36.9454 14.1872 0.573278 0.314 -0.756806 \n-7.77145 37.3687 13.8778 0.728145 -0.600361 -0.330715 \n-61.0601 37.9811 13.4689 0.817518 -0.552676 -0.161907 \n-14.5317 -50.3848 -10.0401 -0.74479 -0.33596 -0.576557 \n-24.9078 36.3727 -20.9401 0.977206 -0.0829917 0.195401 \n12.0536 39.1082 13.7414 -0.580128 -0.522671 -0.624713 \n-38.1049 38.3197 13.4786 -0.992486 -0.0528894 0.110336 \n4.32567 -24.8712 -38.2916 -0.657297 -0.707752 -0.258937 \n-32.1445 -29.9804 -12.8195 0.572688 -0.567879 0.591222 \n20.6694 19.797 -28.1464 -0.581656 -0.696677 0.419902 \n-33.2458 -28.938 -12.9679 0.740092 -0.44839 0.501208 \n35.7015 40.9604 13.7679 0.414575 0.564451 -0.713809 \n21.5201 40.4487 13.6377 -0.565202 -0.0309508 -0.824372 \n20.8809 40.0974 13.731 0.00153425 -0.347046 -0.937847 \n-25.3752 39.8839 -21.1272 0.989637 0.085457 -0.115392 \n13.1386 41.2152 13.9945 -0.586606 -0.0800283 -0.805909 \n-12.1204 -29.3094 -13.5994 -0.922222 -0.384946 -0.0363694 \n-38.9122 41.8827 13.9113 -0.649166 0.129671 -0.749512 \n-41.6011 41.5187 14.1422 -0.590647 0.137759 -0.795084 \n-3.91407 1.10205 -31.5412 0.0786415 -0.199307 0.976776 \n38.9347 42.6553 13.8443 0.436959 0.868966 -0.232303 \n37.4141 42.7291 13.2429 0.351237 0.709872 -0.610504 \n-40.9543 42.7661 13.7307 -0.060454 0.150697 -0.98673 \n20.1298 43.1768 14.3106 -0.520417 0.289428 -0.803366 \n13.2122 42.8739 13.9331 -0.567818 0.0631431 -0.820729 \n-10.0026 43.6243 14.2151 0.904774 0.0514658 -0.42277 \n-39.7099 43.2786 13.71 -0.0932143 0.191889 -0.97698 \n18.0174 -28.7841 -13.2416 0.682499 -0.672092 0.287206 \n-39.7937 44.004 13.7251 -0.449057 -0.138829 -0.882652 \n-11.2747 -27.4376 -13.2816 -0.688621 -0.464116 -0.557134 \n-17.32 19.5307 -28.3687 0.725215 0.0826769 0.683541 \n-1.86475 -7.11635 -29.3511 0.487173 0.250061 0.836739 \n13.6264 43.7781 13.7354 -0.26478 -0.385093 -0.884079 \n-9.34252 -1.95305 -28.4814 0.469053 -0.302864 0.829616 \n-39.7387 45.5988 13.9624 -0.869259 -0.0118159 -0.494216 \n-10.2735 46.148 13.6056 0.625206 -0.733924 -0.265468 \n-33.4342 -27.6334 -13.4686 0.809216 -0.182184 0.55855 \n19.0095 46.0008 13.988 -0.724417 0.334012 -0.603039 \n-20.8717 -74.9785 -7.85198 0.104895 -0.9925 0.0627694 \n-10.7182 46.3807 14.0648 0.291446 -0.956124 0.0297712 \n-11.4959 -26.5746 -12.6087 -0.718544 -0.444322 -0.535044 \n53.4262 47.3896 13.9435 -0.209685 0.907492 0.363994 \n52.0252 48.4879 15.1516 -0.212719 0.827252 0.520005 \n26.0362 45.9599 -21.379 -0.810176 0.50551 0.296775 \n-15.4189 48.0752 14.2887 0.76035 0.317393 -0.566683 \n-0.483792 3.19455 -31.2752 0.014011 -0.137872 0.990351 \n48.0704 48.6066 13.7118 0.188749 0.826209 0.530803 \n4.51829 -31.378 -54.0439 -0.0392433 -0.835454 -0.548158 \n25.9153 48.4347 -21.0893 -0.914386 0.19791 0.35317 \n-4.5193 -14.1837 -25.3195 0.78787 -0.405559 0.463446 \n-59.1241 50.7017 14.5141 0.708256 0.676202 0.202791 \n-2.11513 3.27465 -31.4856 -0.0639862 -0.0352063 0.99733 \n15.5304 52.4964 13.2926 -0.818021 0.567226 0.0953762 \n-4.43038 2.65975 -31.5064 0.0883285 -0.083477 0.992587 \n-46.1007 52.9075 13.8715 -0.493625 0.79886 0.34374 \n-0.65276 -25.7624 -37.9727 0.649081 -0.757465 -0.0702971 \n-56.4164 52.8978 13.6781 0.46698 0.821812 0.326427 \n25.3543 48.7532 -21.9339 -0.798496 0.426349 0.425007 \n-38.1197 -75.185 -9.17894 0.166916 -0.98004 0.10799 \n-23.7358 48.8652 -21.1332 0.860049 0.376629 0.34419 \n-54.3419 54.355 14.7686 0.437076 0.8727 0.21762 \n-39.2341 -74.9637 -8.96093 0.318129 -0.908508 0.270937 \n13.2784 55.8391 14.5366 -0.821199 0.547053 -0.162375 \n-11.586 56.3587 14.2837 0.863476 0.49716 -0.0850958 \n-22.1853 51.3541 -21.8235 0.745708 0.518718 0.418152 \n-10.2499 -24.0782 -12.6616 -0.851537 -0.506883 -0.133998 \n12.6156 57.2076 13.9769 -0.663149 0.684815 -0.302095 \n0.534371 -27.5679 -40.7169 0.272253 -0.904683 -0.327762 \n4.0634 2.58945 -31.7523 0.0217982 0.0238903 0.999477 \n9.81455 59.7656 13.6638 -0.834982 0.522376 -0.172998 \n-7.59527 61.8975 13.9986 0.474836 0.728026 0.494479 \n-6.54434 61.6511 12.9499 0.323007 0.909397 0.262038 \n39.2705 -23.4113 -13.7022 -0.851059 0.0554643 0.522133 \n11.3164 -22.915 -12.3646 0.754516 -0.514658 -0.407224 \n5.10191 64.1782 12.9449 -0.505367 0.862542 0.025019 \n0.643958 2.87135 -31.212 -0.00144101 0.035688 0.999362 \n-0.665074 64.224 13.9386 0.316232 0.947883 -0.0389136 \n4.43686 64.687 14.1877 -0.297437 0.954505 0.0212321 \n-20.8775 52.9269 -21.4746 0.908446 0.343361 0.238386 \n-9.29915 -23.031 -13.1663 -0.82271 -0.56646 -0.0476491 \n-3.31777 18.6128 13.3637 -0.212001 -0.425141 -0.87995 \n5.13341 18.1919 13.1076 0.382989 -0.459191 -0.801538 \n-17.2402 21.4113 -27.5704 0.72486 -0.0711742 0.68521 \n4.73623 19.9886 13.7318 0.35913 -0.303687 -0.882496 \n20.6383 56.7726 -19.9808 -0.870676 0.457677 0.180153 \n-9.36892 20.0039 13.8375 0.158328 -0.325487 -0.932196 \n10.611 -21.7806 -12.9041 0.804641 -0.261376 -0.533136 \n41.1236 -48.1441 -10.4105 -0.945684 -0.317204 0.0711586 \n-17.6699 23.54 -28.711 0.621019 -0.476041 0.622672 \n-10.5515 -12.4021 -26.0435 0.049864 -0.320748 0.945851 \n-8.30271 -21.2506 -13.7705 -0.860856 -0.508735 0.0107858 \n-21.5564 -74.729 -9.01453 0.175312 -0.983376 0.047295 \n2.76911 24.3004 13.0937 0.609973 -0.0173555 -0.792232 \n-2.21159 24.2437 13.7476 -0.317866 0.147044 -0.936664 \n-2.79317 -22.6069 -37.9206 0.979173 0.070419 0.190422 \n-32.2207 -75.0939 -8.93483 0.204099 -0.932238 -0.298792 \n-11.973 27.0595 13.6809 0.296508 0.090453 -0.950737 \n16.0057 61.1278 -20.7567 -0.52136 0.765243 0.377606 \n35.8434 -15.6506 -18.3252 -0.822925 0.174537 0.540676 \n-15.2043 60.0338 -21.6887 0.459689 0.812393 0.358753 \n42.1194 27.9867 13.3961 -0.343701 -0.717515 -0.60584 \n16.0696 34.355 -36.3474 -0.455044 -0.107155 0.883998 \n6.39612 3.87465 -31.5922 -0.0821041 -0.0990191 0.991693 \n6.78915 27.6973 13.9276 0.384652 0.542598 -0.746747 \n-11.7034 61.5816 -21.5683 0.516815 0.832933 0.197802 \n43.8722 29.1886 13.6978 -0.117505 -0.953245 -0.278419 \n36.9133 28.7607 13.3872 0.428429 -0.358028 -0.829617 \n8.72187 29.4085 13.6417 0.40848 0.600718 -0.687228 \n-9.34982 29.2905 13.6506 -0.0539872 0.342199 -0.938075 \n-52.1403 29.9244 14.0124 0.519656 -0.848844 -0.0970645 \n-1.18094 30.105 13.5671 0.00348355 -0.40398 -0.914761 \n6.32443 -17.708 -14.5201 0.693989 -0.719854 0.0137683 \n-2.52228 29.8612 13.297 0.261413 -0.422424 -0.867883 \n-41.0662 30.0982 13.0415 -0.667445 -0.595488 -0.447114 \n51.3526 30.6994 12.678 -0.429517 -0.731091 0.530114 \n38.4538 -15.8852 -13.2345 -0.925702 0.216077 0.310462 \n17.53 32.421 12.3968 -0.208295 0.458905 -0.863724 \n-4.30245 30.9542 13.2419 0.396797 -0.514231 -0.760341 \n-33.3769 -15.831 -12.6762 0.952297 0.25243 0.171491 \n54.1412 31.9352 14.0558 -0.63828 -0.687215 0.346893 \n6.37773 31.5805 13.5374 -0.265131 -0.576363 -0.772988 \n-5.13752 32.6241 13.6274 0.314244 -0.239234 -0.918704 \n-56.1158 32.5586 13.1392 0.801831 -0.597318 0.0166702 \n55.4162 33.3592 13.8304 -0.578045 -0.606629 0.545771 \n2.37688 -14.1488 -13.9754 0.52855 -0.844798 0.0833719 \n-5.92838 33.4149 13.4494 0.226945 -0.195269 -0.954131 \n-7.79041 33.3964 13.1575 0.408705 -0.578519 -0.705887 \n-33.6799 -73.766 -8.2638 0.0588998 -0.509239 -0.858607 \n0.695962 -14.1909 -13.2702 -0.359363 -0.923224 0.136071 \n-7.18838 34.0605 13.6044 0.130582 -0.260469 -0.956611 \n2.1432 3.91735 -31.2456 0.100278 0.0197483 0.994763 \n-5.26998 34.5053 13.6687 0.169432 -0.268042 -0.948391 \n0.697308 3.68575 -31.4588 -0.199157 -0.49181 0.84762 \n11.0941 36.0924 13.7197 -0.316277 -0.18976 -0.929495 \n-8.73829 34.9994 13.3562 0.260189 -0.132645 -0.956403 \n-39.346 -73.951 -9.06384 0.862956 0.0466963 0.503117 \n12.0355 36.9583 13.4529 -0.339642 0.00626957 -0.940534 \n29.9004 -73.1553 -8.35768 0.857963 -0.186484 -0.478667 \n11.9675 38.4061 13.3034 -0.246572 -0.0686248 -0.966692 \n-8.1953 37.2368 13.4318 0.31974 -0.0341787 -0.946889 \n35.2439 39.3381 13.2571 0.534829 -0.295631 -0.791556 \n-32.4109 -48.5395 -10.0125 0.896664 -0.358413 -0.259874 \n13.0627 40.4002 13.7805 -0.6068 -0.320901 -0.727198 \n19.5386 41.1192 13.8562 0.347419 -0.51597 -0.782991 \n-10.1237 41.2031 13.9971 0.851398 -0.15236 -0.501905 \n59.6666 40.3166 13.8115 -0.859915 0.0116516 0.510305 \n-7.03436 4.10995 -31.5713 0.243028 -0.215925 0.945682 \n18.1436 41.9093 13.7014 0.428562 -0.654812 -0.622539 \n29.2036 -72.8121 -8.96994 0.772431 -0.319885 -0.548657 \n-26.6209 -75.0382 -22.4801 0.0240343 -0.998999 0.0377372 \n15.2403 61.6587 -19.2312 -0.309478 0.917771 0.248837 \n16.5724 42.3493 12.8429 0.368509 -0.764101 -0.529482 \n21.3369 41.8592 13.6647 -0.652772 0.100479 -0.750861 \n-18.3293 -72.3154 -9.62611 -0.968533 0.005949 -0.248816 \n41.0359 43.6366 13.3611 0.642861 0.697322 0.316974 \n40.1524 43.7136 13.7575 0.604406 0.692552 0.393784 \n14.7767 43.7062 13.494 0.276944 -0.788447 -0.549229 \n41.3074 44.368 13.7406 0.777442 0.420612 0.467622 \n3.92103 3.71675 -31.6072 0.076585 -0.0972104 0.992313 \n19.5829 45.459 13.3499 -0.585864 0.522398 -0.619568 \n-10.1117 45.4555 13.1613 0.88904 0.0080486 -0.457758 \n20.5831 44.6923 13.4612 -0.498152 0.45332 -0.739152 \n29.898 -75.1056 -23.5453 -0.0569318 -0.989108 -0.135732 \n31.7209 -5.27615 -13.1303 -0.613849 0.768639 -0.179954 \n-26.046 -5.31435 -13.6197 0.435274 0.887129 0.153421 \n28.5206 -75.0621 -22.3161 -0.156362 -0.977178 -0.143788 \n58.0773 46.1755 14.1761 -0.398897 0.769897 0.498136 \n-12.015 46.3475 13.9515 -0.0794426 -0.985468 -0.150142 \n-24.5146 -5.05685 -14.0082 0.483523 0.852007 0.200723 \n52.2561 47.1441 12.9796 -0.18622 0.827072 0.530352 \n18.7156 47.2964 12.9355 -0.830975 0.424157 -0.359959 \n-16.1525 47.6909 13.0337 0.772258 0.38107 -0.508334 \n-41.6903 48.3493 13.6127 -0.634203 0.750292 0.186677 \n-22.449 -3.61885 -13.4109 0.429779 0.873031 0.230449 \n17.7969 49.0462 13.0229 -0.697051 0.570938 -0.433762 \n-42.4514 49.1976 13.7505 -0.791946 0.563607 0.234879 \n17.1768 49.1136 13.6965 -0.825776 0.44539 -0.346009 \n-15.3053 49.6686 12.9383 0.886024 0.359549 -0.292723 \n16.1973 50.3953 12.9555 -0.813121 0.491346 -0.312111 \n-14.8482 50.9895 12.9913 0.844641 0.47542 -0.246083 \n15.9791 51.5925 12.9761 -0.888307 0.340086 -0.308631 \n-21.8538 -3.12775 -12.8864 0.908563 0.353673 0.222327 \n-23.513 -74.4715 -20.8541 -0.0517865 -0.997951 -0.0375877 \n-54.9711 53.081 13.068 0.381144 0.855528 0.35043 \n-28.5781 -74.6875 -21.9289 0.551986 -0.578238 0.600793 \n14.1052 54.147 13.5209 -0.869321 0.459937 -0.180941 \n-28.3782 -73.5728 -21.8058 0.7249 -0.119953 0.678329 \n-50.7668 54 13.4572 -0.034736 0.943291 0.330145 \n-52.4681 54.2878 13.3588 0.0185795 0.947612 0.318881 \n29.3839 -71.6199 -8.44826 0.827551 0.0496993 -0.559186 \n-18.0062 -16.7994 -25.32 -0.0590478 0.0533943 0.996826 \n10.981 58.4617 13.1169 -0.787327 0.482446 -0.383878 \n8.91982 5.14415 -31.5697 -0.213373 -0.144152 0.966277 \n9.10371 61.2992 13.6277 -0.834809 0.549106 0.0396953 \n22.6286 -72.937 -21.8736 0.958312 0.118842 0.259835 \n-3.73284 63.1905 13.2463 0.345761 0.938316 -0.00368357 \n7.23239 63.502 14.4606 -0.366724 0.818254 0.442689 \n-28.7947 -72.1825 -21.8793 0.751534 -0.059319 0.657022 \n-2.21029 63.3635 13.6541 0.270481 0.960374 0.0672395 \n1.8556 64.4078 13.1217 0.166922 0.985599 0.0270439 \n3.10346 64.7566 13.1033 -0.0459043 0.998937 0.00430022 \n11.5927 16.2572 12.7807 -0.264317 -0.583089 -0.768208 \n-34.681 -70.9501 -8.62978 -0.229726 0.541198 -0.808907 \n-16.1959 -64.4571 -28.0329 -0.745186 0.061879 0.66398 \n-5.93736 16.9195 12.9465 -0.0933382 -0.516147 -0.851399 \n22.6788 25.3405 -27.1954 -0.776042 -0.222979 0.589949 \n-18.5115 3.76545 -12.6804 0.961472 -0.129169 -0.242666 \n-6.434 -13.1952 -25.6546 -0.000147144 -0.571181 0.820824 \n-11.2751 19.0231 12.9484 0.284609 -0.401944 -0.870309 \n-2.12261 18.5618 12.8209 -0.56606 -0.346611 -0.747955 \n15.6165 19.4099 13.0481 -0.466722 -0.4089 -0.784201 \n-18.883 5.97205 -13.3286 0.908423 -0.0697619 0.412191 \n-0.243128 -26.1606 -48.8487 0.938019 -0.306282 0.162209 \n3.37919 20.018 12.889 0.631559 -0.317605 -0.707291 \n-1.70365 21.8927 13.5827 -0.485501 -0.135444 -0.86368 \n-12.7957 21.903 13.2976 0.336645 -0.177221 -0.924804 \n20.7636 7.44295 -13.9069 -0.976055 0.20576 -0.0705601 \n15.6034 21.6364 14.0053 -0.389945 -0.307205 -0.868083 \n18.4431 24.0278 13.2229 -0.524452 -0.300793 -0.796538 \n-19.1977 8.38595 -13.5102 0.997641 0.0147196 0.0670447 \n-14.6664 22.3589 12.6067 0.489399 -0.204064 -0.847848 \n-38.2486 -70.3711 -8.56244 0.56152 0.815622 0.139486 \n-12.1261 24.8824 13.8195 0.29899 -0.0268964 -0.953877 \n3.06783 25.8323 13.0853 0.511913 0.242241 -0.824175 \n-2.78165 26.1502 13.3211 -0.372692 0.407305 -0.833789 \n-6.15306 5.04825 -31.7144 0.0683988 0.0747323 0.994855 \n41.1578 27.0566 12.415 -0.0270352 -0.920419 -0.389997 \n19.6569 28.2798 13.3835 -0.456143 -0.056111 -0.888136 \n-47.1181 27.5237 12.8439 0.0844856 -0.985997 -0.14378 \n38.9206 27.639 13.0303 0.238605 -0.900467 -0.363631 \n42.8745 28.8685 13.6391 -0.38521 -0.68424 -0.619216 \n49.6188 -69.1637 -8.8905 -0.823562 0.567227 -0.000308763 \n-44.9411 28.4167 12.3597 -0.072318 -0.984407 -0.160355 \n-45.0883 27.9615 12.8638 -0.333202 -0.903567 0.269338 \n-48.6108 28.0424 13.1065 0.202899 -0.978814 0.0274947 \n-0.206178 29.6765 13.2404 -0.0856457 -0.36072 -0.928733 \n35.04 -65.3876 -21.3092 -0.466145 0.292381 0.834999 \n-43.3489 28.8095 12.7976 -0.338647 -0.91016 -0.238592 \n22.4496 16.5567 -12.6155 -0.819473 -0.54337 0.182243 \n-28.2769 -66.233 -21.8678 0.795208 0.525052 0.303257 \n48.294 29.7481 13.1591 -0.301797 -0.924486 0.232905 \n-2.39446 28.9788 12.7056 0.467837 -0.570215 -0.675266 \n22.7301 17.5741 -13.2297 -0.821357 -0.531377 0.207394 \n-42.1241 29.24 12.7103 -0.275345 -0.753328 -0.597229 \n50.0848 30.732 12.2448 -0.28199 -0.851802 0.441492 \n3.02062 29.7638 12.8623 -0.273639 -0.503374 -0.819595 \n-20.0116 -67.8841 -8.46288 -0.811702 0.513004 -0.279225 \n-28.1812 -65.5664 -21.3906 0.958581 -0.195862 0.206786 \n-23.0821 19.153 -12.9819 0.567513 -0.816677 -0.104731 \n-22.8846 -5.73835 -17.3677 0.475941 0.69042 0.544794 \n-11.3689 29.3913 13.4566 0.135654 0.246576 -0.959582 \n26.6306 21.1021 -14.7541 -0.55323 -0.832625 0.0259137 \n-40.1403 31.3861 12.7495 -0.708906 -0.307339 -0.634819 \n-54.4926 30.695 13.2743 0.533681 -0.834951 0.134318 \n21.3788 -11.4375 -25.5735 -0.157113 0.032045 0.987061 \n-30.0683 -13.2484 -17.924 0.846349 0.236966 0.477012 \n10.7435 30.6467 13.7098 0.281496 0.567517 -0.773747 \n-6.54433 6.09995 -31.6274 0.0130507 -0.0370176 0.999229 \n6.52364 31.1213 12.8505 -0.452989 -0.784715 -0.423112 \n-5.6792 31.7676 13.0114 0.501297 -0.563246 -0.656853 \n-55.0737 31.2866 12.563 0.676918 -0.712391 0.18515 \n34.1614 32.3988 13.681 0.505064 -0.134964 -0.852464 \n7.50948 32.2556 13.1372 -0.425416 -0.704779 -0.567722 \n-39.8703 32.3069 12.8759 -0.862474 -0.496613 0.0975405 \n-25.0886 -69.3937 -26.5113 0.678101 -0.188369 0.710419 \n26.8426 -62.5996 -21.6618 0.65602 0.0998947 0.748104 \n15.9511 32.6248 13.214 -0.133327 0.565142 -0.814149 \n8.91508 32.8209 13.2745 -0.325902 -0.639929 -0.695902 \n10.6083 34.0128 13.217 -0.34647 -0.458212 -0.818535 \n27.8453 25.9103 -11.8893 -0.941952 -0.29138 0.166808 \n55.7813 34.6546 12.8523 -0.454283 -0.423634 0.783685 \n12.8261 34.59 12.8043 -0.244217 -0.582749 -0.775088 \n-30.9242 -66.9936 -9.18101 0.541477 0.782135 -0.30833 \n12.9016 35.445 13.0288 -0.26157 -0.187331 -0.946831 \n-38.7069 34.3101 13.4228 -0.976511 -0.214724 0.0178927 \n-4.30926 6.54335 -31.4192 0.0371488 0.00722197 0.999284 \n33.1362 35.1682 13.4024 0.529549 0.0713383 -0.845275 \n34.0121 37.0488 13.271 0.538136 0.324733 -0.777791 \n14.2665 37.9302 13.1344 -0.0927461 0.045019 -0.994672 \n-9.86662 36.0525 13.1591 0.278778 -0.03758 -0.95962 \n-31.4758 27.8151 -12.8086 0.28592 -0.495143 0.820417 \n34.588 38.5893 12.74 0.562452 0.314075 -0.764856 \n-14.3021 61.7698 -18.4455 0.713871 0.534543 0.452386 \n21.9501 38.7644 13.0285 -0.515811 -0.16335 -0.840985 \n26.2167 -62.0735 -21.1893 0.725086 -0.118986 0.678301 \n-14.0048 -61.3463 -21.086 -0.875664 -0.471634 -0.103799 \n-31.9167 29.8465 -13.7087 0.301431 -0.410657 0.860523 \n-14.8722 -62.4239 -21.5689 -0.852972 -0.516883 -0.0725944 \n-9.47141 38.7359 12.7759 0.505763 0.0802423 -0.858932 \n13.4256 39.3929 13.0015 -0.351279 -0.119372 -0.92863 \n-26.1184 -66.7663 -7.97324 0.0291115 0.758486 -0.651039 \n-9.0647 39.175 13.3416 0.786061 -0.448975 -0.424886 \n-29.774 -66.2478 -9.1246 0.319696 0.887302 -0.3324 \n-38.2234 40.2448 13.2187 -0.952175 0.193746 -0.236272 \n-62.6339 40.4436 13.5902 0.87781 -0.47703 -0.0434997 \n-5.46356 7.88035 -31.6098 -0.000408668 -0.0216129 0.999766 \n36.0589 42.5898 12.3304 0.370579 0.797759 -0.47566 \n29.052 30.1226 -13.1178 -0.821812 -0.212806 0.528525 \n-29.956 -60.9697 -22.9946 0.906922 -0.367628 0.205771 \n44.5453 -65.7551 -9.20023 -0.291182 0.950899 -0.104903 \n22.0623 42.8717 12.8506 -0.793708 0.110039 -0.598263 \n-8.07027 7.53715 -31.6788 0.159877 0.0355838 0.986495 \n39.8455 42.9998 13.054 0.420097 0.873001 0.247764 \n7.71697 6.85785 -31.6497 -0.154978 -0.00596499 0.9879 \n14.908 42.8536 12.9809 -0.42186 -0.118707 -0.898856 \n38.1912 43.3708 12.7835 0.138456 0.94719 -0.289242 \n-38.9247 43.3471 13.4054 -0.602603 0.345523 -0.719363 \n58.7133 44.0579 12.6967 -0.754168 0.189216 0.62883 \n-27.0724 -53.8748 -27.3026 0.577022 0.109573 0.809345 \n-39.2108 44.4701 13.0002 -0.941588 0.321084 -0.101569 \n29.4209 32.648 -13.1667 -0.775598 -0.203201 0.597626 \n31.1648 32.9478 -12.2358 -0.417448 -0.167647 0.893102 \n41.7995 45.0452 13.3585 0.703492 0.533188 0.469904 \n-17.6642 45.2153 12.6908 0.731513 0.16699 -0.661062 \n-15.5224 45.7888 14.0989 -0.144989 -0.806362 -0.573375 \n-16.5278 45.7675 13.6837 0.520694 -0.238044 -0.819886 \n26.2466 -60.3484 -21.8195 0.660179 0.0124821 0.751005 \n-39.715 45.8356 12.9268 -0.863753 0.420876 0.277117 \n-11.4312 46.0885 12.2271 -0.0883333 -0.905138 -0.41584 \n-40.0662 46.9123 13.6237 -0.769822 0.525169 0.362728 \n30.1751 34.239 -13.1802 -0.606952 -0.185211 0.772856 \n56.9618 45.9137 12.472 -0.379757 0.789693 0.48184 \n-29.0533 -9.91685 -17.9335 0.767326 0.549426 0.330669 \n5.98194 -28.4894 -56.2171 -0.736809 0.315191 0.598136 \n46.0499 47.3329 13.327 0.225813 0.816318 0.531633 \n29.9985 35.5546 -13.572 -0.844704 0.00497431 0.53521 \n26.6093 -58.464 -21.7173 0.670266 0.0781834 0.737991 \n-15.5319 48.9249 13.6864 0.828056 0.431304 -0.358189 \n4.49306 -30.5419 -57.6085 0.00276003 0.153605 0.988128 \n17.8286 -15.7831 -25.3684 0.0421112 -0.233155 0.971527 \n-35.063 36.2614 -12.6977 0.644862 0.162827 0.746753 \n-43.2598 50.5742 13.3243 -0.722819 0.631552 0.280491 \n-59.0984 50.1108 13.3671 0.741563 0.601289 0.297549 \n31.6626 -65.4026 -8.36871 0.43412 0.611874 -0.661173 \n30.5315 -65.5365 -8.67042 0.474229 0.554566 -0.683786 \n-23.4876 -65.7636 -8.70918 0.0419966 0.966906 -0.251654 \n30.0217 39.1632 -12.4054 -0.84671 0.208238 0.489612 \n-33.1873 37.9621 -13.1467 0.38209 0.492191 0.782147 \n1.90744 -27.9972 -55.3766 0.771177 0.128196 0.62358 \n-55.3447 52.3783 11.4667 0.262336 0.856912 0.443714 \n-13.241 53.668 14.3126 0.828027 0.553371 -0.0902926 \n14.9159 53.47 12.8447 -0.728495 0.516447 -0.450085 \n-47.1222 53.4955 13.1656 -0.42452 0.873282 0.239084 \n42.582 -65.5683 -8.27406 -0.295948 0.90799 -0.296597 \n-48.292 53.7132 12.5192 -0.282559 0.821732 0.494891 \n-12.3197 54.3665 13.3452 0.795321 0.591728 -0.131616 \n34.5906 -9.74445 -18.3353 -0.788552 0.45024 0.418891 \n14.1454 55.5491 12.9785 -0.877038 0.29784 -0.376956 \n-10.4138 57.5469 12.8469 0.764483 0.644159 0.0249841 \n12.4652 57.3477 12.8276 -0.517784 0.852774 0.068382 \n11.3748 57.8168 13.1981 -0.619928 0.784589 -0.0104408 \n-13.315 -56.0529 -21.1057 -0.970527 -0.0426043 0.237198 \n9.94333 60.1219 12.3097 -0.669705 0.741996 0.0306292 \n-31.5546 -55.3237 -22.0839 0.838703 -0.140956 0.52603 \n6.1172 63.0319 12.4264 -0.484948 0.838252 0.249317 \n35.5022 -55.225 -22.2152 -0.358656 -0.0134418 0.933373 \n0.916748 64.4454 13.1448 0.149597 0.987666 -0.0462285 \n9.5991 16.379 13.2466 -0.045714 -0.520305 -0.852756 \n7.23761 16.3543 12.8614 0.275308 -0.595686 -0.754562 \n-30.2806 40.3778 -12.8134 0.554324 0.440401 0.706238 \n-28.963 41.4416 -13.373 0.665485 0.517698 0.537698 \n32.7047 -64.4237 -8.26885 0.325015 0.351422 -0.877991 \n27.0945 -54.1226 -22.071 0.533692 -0.0183237 0.845481 \n-19.0198 56.096 -10.6945 0.799464 0.562723 -0.21024 \n-1.4268 20.0973 12.5911 -0.750117 -0.220226 -0.623559 \n-13.0252 -53.1572 -21.6118 -0.91573 -0.114621 0.385099 \n34.1226 -63.586 -8.42827 0.0636033 0.348847 -0.935019 \n8.39143 9.18595 -31.6791 -0.280761 0.0332009 0.959203 \n26.2225 -52.5354 -21.6633 0.553442 0.0170983 0.832712 \n-0.971191 8.39605 -31.5206 -0.493306 0.414088 0.764971 \n-2.62685 -16.8399 -25.3859 0.5985 -0.70884 -0.373287 \n36.2822 -63.4354 -8.79646 -0.36963 0.56332 -0.738948 \n-14.5528 24.8454 12.9351 0.371485 -0.0204892 -0.928213 \n-0.160382 24.2684 12.2225 -0.422129 0.177876 -0.888913 \n35.1044 -63.6464 -8.3115 -0.0783702 0.678532 -0.730378 \n1.85192 23.4233 12.1955 0.508709 -0.0686485 -0.858197 \n-27.3879 -8.92745 -18.1923 0.561562 0.674832 0.478801 \n19.0098 25.7484 13.366 -0.531797 -0.19526 -0.824054 \n-1.30891 24.5889 13.2077 -0.587005 0.16519 -0.792551 \n4.24942 26.798 13.1985 0.420978 0.508577 -0.751084 \n-16.0836 26.7144 12.247 0.358689 0.0364857 -0.932744 \n19.1785 -12.4419 -26.0618 -0.149921 0.041347 0.987833 \n-24.9248 48.6717 -13.3004 0.841329 0.384284 0.380121 \n-0.815191 27.8307 12.8932 0.111558 -0.401168 -0.909186 \n-23.5613 51.1224 -13.514 0.809655 0.535845 0.239435 \n36.3099 27.7754 12.5979 0.144112 -0.751786 -0.643467 \n1.35447 28.2722 12.7112 -0.222467 -0.476925 -0.850324 \n0.568613 27.5259 12.446 -0.281455 -0.448234 -0.848451 \n-4.45508 28.546 12.5811 -0.337076 0.509462 -0.791725 \n-13.7602 29.1776 12.9576 0.303841 0.113739 -0.945909 \n43.1423 28.3024 12.9732 -0.575844 -0.568207 -0.58783 \n5.16936 27.6594 13.087 0.409622 0.614928 -0.67385 \n-50.2538 28.1371 13.1728 0.227377 -0.945886 0.231515 \n44.5058 28.9477 12.3945 -0.322711 -0.887587 -0.328704 \n14.8639 -12.9317 -25.8566 0.20251 -0.223569 0.953418 \n35.7424 29.7423 12.9811 0.439034 -0.327179 -0.836781 \n-22.5089 52.2917 -13.4643 0.856866 0.474486 -0.201602 \n-51.5064 28.8566 12.6593 0.486728 -0.872516 -0.0425685 \n-52.5925 29.3601 12.0938 0.588951 -0.79788 -0.12855 \n32.285 -7.48945 -17.4616 -0.839161 0.458009 0.293318 \n4.54965 30.2407 12.7448 -0.294976 -0.709605 -0.639883 \n-21.564 54.4935 -12.1194 0.776154 0.593216 -0.213731 \n-29.4829 -46.2898 -25.2343 0.681217 0.102861 0.724819 \n-20.4471 55.9333 -12.6727 0.704532 0.684822 -0.186155 \n-0.131543 9.00255 -31.4899 0.120451 -0.109786 0.98663 \n-32.2331 -48.1831 -22.0889 0.888689 0.0418999 0.456593 \n-8.40274 30.4916 12.8517 -0.254178 0.50582 -0.824342 \n26.5411 -47.4471 -21.1545 0.492211 0.152327 0.857044 \n-5.13257 -11.808 -26.2858 0.23063 -0.428871 0.87343 \n-13.618 30.874 12.7208 0.229462 0.25929 -0.938145 \n52.1855 30.7998 13.6401 -0.468338 -0.686219 0.556564 \n-6.42031 31.6208 11.9525 0.514066 -0.629694 -0.582427 \n-11.6878 32.3249 12.4219 -0.000373219 0.434666 -0.900592 \n-19.5801 57.0821 -13.2814 0.648825 0.72412 -0.233828 \n10.7208 31.9732 12.4087 0.299146 0.640915 -0.706922 \n18.9192 58.4815 -13.7305 -0.684751 0.727631 0.0408488 \n19.9803 33.8625 11.5487 -0.133968 0.364187 -0.92164 \n14.2456 33.3913 12.3053 0.0943946 0.589472 -0.802254 \n-17.656 58.215 -13.4945 0.667336 0.744701 0.00914183 \n-6.56889 32.5908 12.9146 0.370167 -0.538481 -0.756978 \n-7.25992 10.3088 -31.5331 0.394415 -0.553511 0.733528 \n53.8642 32.8343 12.4351 -0.465217 -0.655603 0.594775 \n7.52052 10.3375 -31.7247 -0.327626 0.00573301 0.94479 \n-8.67483 33.0891 11.8087 0.493917 -0.588011 -0.640538 \n-39.2869 33.2038 12.8419 -0.907676 -0.400943 0.123972 \n18.4403 59.1854 -13.9336 -0.925503 0.325842 0.19306 \n-16.2191 60.9771 -12.5203 0.902256 0.352226 -0.248738 \n-12.0559 -12.859 -25.9153 0.0753454 -0.291657 0.953551 \n-9.48712 34.2825 12.7284 0.48751 -0.603191 -0.631264 \n14.1291 35.0452 12.7378 -0.150385 -0.414888 -0.897358 \n17.2865 62.2879 -13.067 -0.718911 0.695039 0.00933095 \n17.9632 35.4016 12.5575 -0.163375 -0.541172 -0.824889 \n15.5769 35.4121 12.8108 -0.0367732 -0.337162 -0.940728 \n-10.7583 35.1472 12.6045 0.462526 -0.539979 -0.703202 \n-14.2389 -45.87 -21.3984 -0.818344 0.32175 0.476225 \n13.497 36.4475 12.9295 -0.118485 -0.0912464 -0.988755 \n-15.6087 61.6764 -12.6462 0.641794 0.766217 -0.0318137 \n-13.8409 63.0332 -14.515 0.569447 0.810906 0.134765 \n-11.1524 33.943 -37.0717 0.155652 0.0164538 0.987675 \n-12.8097 62.3465 -19.7771 0.591682 0.684692 0.425569 \n-22.871 -17.0391 -24.7144 0.281416 -0.111464 0.95309 \n8.71319 11.0782 -31.4741 -0.336437 -0.507018 0.793563 \n18.5879 36.0326 12.5606 -0.308101 -0.038218 -0.950586 \n18.3414 37.6411 12.5577 -0.204738 0.120788 -0.971335 \n16.9148 36.1087 12.8801 -0.120425 -0.0190977 -0.992539 \n26.7465 -59.5154 -8.345 0.550168 -0.392223 -0.737209 \n-10.5286 37.6292 12.8842 0.360311 0.216994 -0.907243 \n22.5206 37.1192 12.4189 -0.543211 -0.0953476 -0.834165 \n59.2342 38.2891 12.9088 -0.694333 -0.197532 0.692014 \n16.219 38.3815 12.7853 -0.143416 0.208957 -0.967351 \n20.9563 38.7871 13.0935 0.417812 -0.483698 -0.769071 \n28.3742 -45.0423 -21.7349 0.353765 0.148741 0.923432 \n34.1437 40.1188 13.1416 0.540668 -0.304401 -0.784231 \n-32.7154 -44.2819 -21.0741 0.942214 0.0421673 0.332347 \n58.7636 40.3736 12.422 -0.75939 0.0273596 0.65006 \n29.6821 -44.0256 -21.7504 0.269737 0.231396 0.934718 \n14.7648 41.2166 12.9515 -0.492727 -0.173292 -0.852754 \n-9.55799 11.8906 -31.7837 0.451192 -0.403427 0.796036 \n-38.3039 41.3197 12.718 -0.970955 0.0589108 -0.231897 \n-62.8233 41.0604 11.7463 0.968839 -0.229638 0.0928289 \n21.9497 41.5277 12.8731 -0.702121 0.104596 -0.704334 \n37.6587 -43.6049 -21.1972 -0.57504 0.0925718 0.812871 \n-38.4485 41.137 12.1592 -0.992783 0.054646 0.106748 \n26.6412 -15.3814 -25.5215 -0.27371 -0.023174 0.961533 \n39.4216 42.9951 12.4648 -0.0629812 0.926012 -0.372204 \n37.785 -59.6367 -8.53586 -0.637391 -0.293677 -0.712381 \n-38.3186 42.5767 13.0253 -0.97997 0.172303 -0.0998527 \n21.8508 43.7674 12.8928 -0.66823 0.266193 -0.694701 \n-6.30028 67.2314 -13.2023 0.29217 0.93837 0.184659 \n-17.4049 44.558 12.8208 0.313092 -0.374465 -0.872782 \n5.3127 -31.888 -55.2437 -0.221455 -0.707075 -0.671567 \n-16.2285 44.8468 13.1737 -0.170138 -0.691956 -0.701605 \n-18.2893 44.5938 12.1879 0.676194 0.178449 -0.714785 \n58.0406 45.554 13.0315 -0.574281 0.53063 0.623405 \n37.9543 -58.1404 -8.45158 -0.617339 -0.354951 -0.702071 \n20.6861 45.7732 12.4176 -0.479782 0.680148 -0.554263 \n-10.9293 45.8314 12.2786 0.683577 -0.39835 -0.611588 \n-2.55918 67.9564 -14.8615 0.225354 0.9154 0.333553 \n25.8277 -58.3588 -8.23881 0.610135 -0.437185 -0.660761 \n1.23253 68.9104 -12.9469 0.177686 0.977434 0.114239 \n-61.6037 45.8585 13.2075 0.866599 0.484099 0.121052 \n48.7752 48.0903 13.036 -0.0930891 0.6963 0.711689 \n47.3229 47.433 12.7081 0.231814 0.816521 0.52873 \n29.2976 -42.7962 -21.5252 0.334316 0.267326 0.903753 \n-17.0813 46.2807 12.9781 0.758076 0.308931 -0.574354 \n-17.5338 47.4842 11.7735 0.749221 0.441029 -0.494127 \n-60.5446 47.3811 12.9462 0.866258 0.462065 0.189982 \n-59.5075 49.1416 12.184 0.827196 0.537837 0.162721 \n42.5219 -75.0022 -14.8677 0.110217 -0.986921 -0.117641 \n13.4031 -11.4125 -26.0278 0.112424 -0.328866 0.937661 \n-57.695 51.0139 12.8747 0.674245 0.715418 0.183226 \n-44.5346 51.0504 12.3268 -0.60707 0.696479 0.382601 \n-46.3881 52.3111 12.296 -0.486845 0.782417 0.388337 \n15.6965 53.6376 11.9106 -0.741471 0.526772 -0.415611 \n-49.2206 54.0046 13.2184 -0.135255 0.946496 0.293005 \n11.8262 -11.5222 -25.6873 0.0915984 -0.458137 0.88415 \n14.8724 54.2829 12.0294 -0.823975 0.414526 -0.386308 \n-51.5807 53.7768 12.2959 -0.0148278 0.923896 0.382357 \n-12.8468 54.1402 12.5996 0.767806 0.604755 -0.211534 \n14.3012 55.5985 12.1178 -0.820547 0.570819 0.0294679 \n13.5518 56.6212 12.9045 -0.720985 0.68926 -0.0714229 \n-11.6822 56.571 12.2744 0.757496 0.646523 0.0905968 \n-11.0157 56.8337 11.5674 0.842065 0.538749 -0.0260023 \n10.9379 59.2085 12.582 -0.741111 0.592898 -0.315003 \n-9.64349 58.5993 13.0083 0.77198 0.582894 0.253539 \n9.08411 61.2208 12.3909 -0.696815 0.688934 0.199547 \n-21.3326 -5.53475 -18.2457 0.498631 0.679653 0.537995 \n-5.47001 62.3323 12.7037 0.488979 0.841384 0.230157 \n-3.82611 62.9048 12.0547 0.208906 0.977852 0.0128155 \n-1.11806 63.8609 12.9101 0.417536 0.905118 -0.0801536 \n10.4733 14.3696 -31.9982 -0.409469 0.349778 0.842609 \n33.7402 -40.4949 -21.5122 0.146943 0.473407 0.868501 \n1.90746 -18.976 -40.8834 -0.0612675 0.921034 0.384634 \n-18.5644 -74.8211 -13.7235 0.0488935 -0.996314 0.0704796 \n-3.32298 16.5685 12.2755 -0.243235 -0.576878 -0.779774 \n-7.28617 14.8601 11.4479 0.0572244 -0.632598 -0.772364 \n-2.93639 15.8273 11.2347 -0.452991 -0.776396 -0.438187 \n-29.5912 -40.1181 -22.2632 0.574268 0.680928 0.454481 \n-18.3614 -40.0829 -21.6972 -0.544308 0.675034 0.498055 \n-2.38129 16.6864 11.6922 -0.647179 -0.517376 -0.559894 \n3.53662 17.7789 11.7697 0.587967 -0.444021 -0.676122 \n39.1707 -74.4622 -15.4426 0.122627 -0.986056 -0.112502 \n-13.4052 20.3707 12.5322 0.457452 -0.371828 -0.807763 \n0.410237 21.26 12.0889 -0.149894 -0.145784 -0.977895 \n-0.698169 20.3897 11.9304 -0.306897 -0.229861 -0.923568 \n-4.66422 15.996 -31.6877 0.306687 -0.253761 0.91736 \n1.16745 23.3129 12.0653 -0.110883 -0.00510634 -0.99382 \n-0.555114 23.2535 12.44 -0.521007 -0.10241 -0.847387 \n-19.9203 -27.5055 -21.5334 -0.00405128 -0.395753 0.918348 \n-0.855343 25.6122 12.3463 -0.515188 0.322967 -0.793897 \n3.42022 27.4013 -38.5182 -0.185214 -0.0610572 0.980799 \n-0.61083 26.4183 12.1019 -0.165131 -0.278432 -0.946154 \n-1.67353 26.7873 12.22 -0.357144 0.354379 -0.864213 \n39.7846 -54.4786 -8.25552 -0.643561 -0.186985 -0.742204 \n42.6986 27.2213 12.2528 -0.222249 -0.83793 -0.498476 \n26.2297 -27.0236 -21.0796 -0.225277 -0.495627 0.838811 \n-1.69126 27.4774 12.2277 0.246067 -0.249718 -0.936532 \n-2.56484 27.455 12.2407 -0.33714 0.431313 -0.836843 \n37.3999 28.0665 12.6383 -0.00725283 -0.863069 -0.505033 \n-20.7052 -26.2271 -22.0784 -0.0326563 -0.487322 0.872611 \n-2.51996 28.2858 12.1028 0.291756 -0.254423 -0.922035 \n-3.9874 28.8335 12.1296 -0.204207 0.287388 -0.935793 \n-46.5173 27.6844 12.1327 -0.251789 -0.920243 0.299591 \n-22.2641 -26.0118 -22.3298 0.167881 -0.53566 0.827577 \n34.7757 28.0759 12.2608 0.406343 -0.438606 -0.801567 \n26.7303 -70.9956 -12.918 0.829227 -0.0692154 -0.554609 \n28.446 -5.00725 -17.7705 -0.561764 0.777613 0.282381 \n-49.0951 28.2252 11.5006 0.50274 -0.86358 -0.0385036 \n25.2372 -26.2656 -21.6254 -0.0787876 -0.54542 0.834452 \n21.1331 27.8691 12.2764 -0.642089 -0.112481 -0.758334 \n3.21789 29.1496 12.1876 -0.422127 -0.642741 -0.639291 \n-19.2858 -16.8553 -25.1838 0.0528226 -0.165288 0.98483 \n20.0463 29.6836 13.153 -0.436201 0.125219 -0.891094 \n6.7436 30.1863 11.6261 0.387359 0.575816 -0.719993 \n-36.4757 -71.0398 -13.8591 0.912752 0.178091 0.367652 \n-3.79903 29.5215 12.0836 0.415757 -0.471607 -0.777646 \n-17.7841 -26.9917 -21.5213 -0.27173 -0.513668 0.813823 \n20.9994 30.6488 12.3496 -0.677664 0.0983715 -0.728762 \n-23.1814 -52.6505 -7.81411 -0.36527 -0.494274 -0.788842 \n2.25335 27.2507 -38.3622 0.143027 -0.520424 0.841845 \n-27.649 -54.0742 -8.26024 0.569095 -0.558383 -0.603604 \n7.87637 30.3492 12.1263 0.381129 0.566396 -0.73071 \n-53.236 30.1971 12.8857 0.564816 -0.822446 -0.0675611 \n50.0224 31.1901 11.5712 -0.613887 -0.64792 0.450934 \n34.6889 31.3082 13.5593 0.414573 -0.464067 -0.782797 \n40.0532 -53.1335 -8.66536 -0.917506 -0.155694 -0.36598 \n-20.0996 -15.8763 -25.4763 -0.121773 0.0429714 0.991627 \n5.78322 -32.1743 -57.5183 -0.586054 0.00963343 0.810215 \n-21.9797 35.7592 -28.5375 0.777686 0.0294091 0.627965 \n-19.4606 48.2896 -28.7737 0.768378 0.476362 0.427404 \n26.7934 -25.5341 -21.4941 -0.195238 -0.484547 0.852699 \n-10.3905 31.6749 12.6385 -0.0977193 0.459457 -0.882808 \n-39.3699 32.6231 12.1797 -0.778517 -0.150967 -0.609196 \n-7.21107 18.4179 -31.7356 -0.154954 -0.724225 0.671928 \n-18.8538 -52.5777 -7.97891 0.0164756 -0.53541 -0.844432 \n9.04231 32.2976 12.1358 -0.256585 -0.731296 -0.631958 \n-14.5932 32.7099 11.8582 0.357604 0.327652 -0.874508 \n-20.1026 -52.6403 -8.41179 0.0783015 -0.413675 -0.907051 \n12.643 32.9006 12.3166 0.226018 0.570682 -0.789454 \n28.8547 -24.556 -21.6515 -0.341528 -0.376168 0.861311 \n3.15133 68.8616 -6.26395 0.0407219 0.976785 -0.210314 \n-28.1427 -52.7216 -8.11619 0.545921 -0.501317 -0.671305 \n-56.6021 32.9268 12.3483 0.723267 -0.688394 -0.0547594 \n13.533 18.9373 -32.0413 -0.272529 -0.896863 0.348375 \n14.7315 40.4845 -36.4719 -0.38891 0.201024 0.899076 \n9.98782 32.8664 12.2726 -0.409797 -0.67841 -0.609775 \n-34.5525 -67.9596 -13.2792 0.615283 0.782432 0.0960542 \n-20.075 -51.9427 -8.05997 -0.0108016 -0.668482 -0.74365 \n12.8358 33.4837 12.0721 0.103948 0.29235 -0.950645 \n11.9627 33.4839 12.0272 -0.0450392 -0.275229 -0.960323 \n11.2285 33.424 12.1186 -0.2935 -0.657595 -0.693849 \n21.6192 -29.6827 -17.16 0.451442 -0.78784 0.418938 \n-39.046 33.7675 11.8408 -0.879439 -0.160801 -0.44803 \n-22.1234 -53.1611 -8.85723 -0.111792 -0.52121 -0.846075 \n13.6689 34.077 12.067 -0.148893 -0.371343 -0.91648 \n15.1665 34.3398 11.8864 -0.0713066 -0.348433 -0.934618 \n18.4014 34.6319 11.4775 -0.141332 -0.559184 -0.816908 \n-18.8377 1.89345 -16.6035 0.913807 0.372436 0.162014 \n16.6945 34.5559 11.9854 -0.198987 -0.601597 -0.773618 \n41.0667 -51.9063 -7.69463 -0.960254 -0.253436 -0.116977 \n-25.6826 -24.1969 -22.1911 0.383548 -0.345073 0.85663 \n11.9639 -10.6032 -26.1747 -0.31578 -0.591 0.742295 \n55.273 36.4571 11.8107 -0.549251 -0.281026 0.786986 \n23.067 35.8558 11.9239 -0.727129 -0.0514239 -0.684572 \n22.5437 35.1635 12.0846 0.0711185 -0.305791 -0.949439 \n21.755 37.8991 12.8694 0.128001 -0.33553 -0.933293 \n30.3216 -23.3483 -21.4019 -0.400796 -0.411993 0.818306 \n29.5107 -22.7082 -22.2111 -0.395021 -0.375969 0.838216 \n-12.12 37.4075 12.0093 0.319886 0.178439 -0.930501 \n-22.1473 -51.8218 -8.01131 -0.0903963 -0.612559 -0.785239 \n33.0636 36.9072 12.7306 0.558896 0.370498 -0.741867 \n26.2246 -65.5796 -13.1179 0.81417 0.228455 -0.533793 \n23.2095 37.5507 11.7722 -0.676243 -0.13 -0.725117 \n20.9034 37.0984 12.103 0.317326 -0.317369 -0.893634 \n-33.0861 -46.4215 -9.84497 0.966308 -0.193838 -0.169338 \n57.1432 37.4426 12.4323 -0.414299 -0.339249 0.844551 \n20.0454 38.684 12.2694 0.478431 -0.379816 -0.791734 \n19.7684 38.1174 12.0544 -0.160655 -0.0264882 -0.986655 \n22.621 26.7993 -27.6419 -0.744831 -0.191012 0.639328 \n33.2817 38.4502 11.9028 0.574745 0.315889 -0.754906 \n-10.4072 39.1483 12.016 0.406813 0.251159 -0.878307 \n58.4728 38.9364 12.2684 -0.3823 -0.292664 0.876467 \n0.00620142 28.0199 -38.4306 -0.107777 -0.61183 0.783612 \n32.8792 39.2311 11.6177 0.549475 -0.32624 -0.769184 \n18.651 39.2756 12.1197 -0.145693 0.188169 -0.97127 \n15.1652 40.1648 12.3561 -0.287861 0.0490152 -0.956417 \n22.6238 40.5474 12.6634 -0.591989 0.0255296 -0.805541 \n17.7759 40.0059 12.0255 -0.0932083 0.23859 -0.966637 \n-10.5931 40.2752 12.0844 0.754267 -0.296913 -0.585597 \n-27.917 -65.2934 -14.418 0.417312 0.881166 -0.222254 \n32.8951 40.7855 11.9605 0.511596 0.573038 -0.640232 \n18.7794 39.999 12.211 0.472365 -0.494603 -0.729547 \n34.3088 40.742 13.3258 0.457821 0.541798 -0.704879 \n16.1666 41.8288 12.3945 -0.235947 -0.350961 -0.906176 \n-13.1998 21.3741 -31.801 0.533864 -0.487152 0.691138 \n-11.0052 41.8665 12.5044 0.849175 -0.0398872 -0.526603 \n58.1665 42.9398 11.9085 -0.524664 0.114159 0.84362 \n17.0764 41.4972 12.0959 0.443469 -0.620465 -0.646806 \n22.5374 42.7179 12.2473 -0.563526 0.281878 -0.77652 \n15.3481 -22.7337 -21.1063 0.639296 -0.463775 0.613362 \n40.7691 43.212 12.6955 0.400027 0.911999 0.0907566 \n38.7445 43.4398 11.9519 0.106209 0.831106 -0.545877 \n-16.7096 43.9087 12.382 -0.124182 -0.641602 -0.756919 \n40.4767 43.4665 11.9608 0.336054 0.728831 -0.59655 \n-16.587 43.2086 11.5428 -0.443678 -0.631573 -0.635818 \n-17.7545 43.5692 12.3411 0.0155033 -0.433314 -0.90111 \n-22.0298 -63.6806 -13.6329 -0.271577 0.897544 -0.347361 \n-38.708 43.7641 12.6458 -0.884258 0.459003 0.0860509 \n41.5836 44.3475 12.4555 0.672974 0.732865 0.100073 \n21.9104 45.1304 11.8898 -0.675675 0.512282 -0.530123 \n17.6211 22.3973 -31.6127 -0.693599 0.327778 0.641468 \n-39.7141 44.546 11.3326 -0.871117 0.414246 0.263732 \n15.0204 -21.0991 -21.6118 0.580291 -0.543425 0.60659 \n-19.456 -34.6298 -19.2173 -0.478594 0.0855606 0.873858 \n-23.7617 -63.2369 -13.7741 0.0467845 0.825124 -0.563011 \n-13.1757 45.6657 12.6685 -0.228742 -0.892962 -0.38768 \n-26.9246 -20.0691 -22.0502 0.619244 -0.127454 0.774785 \n-13.8901 22.3612 -32.0587 0.575844 -0.40123 0.712333 \n40.5066 -62.5424 -13.678 -0.960947 0.276513 0.0109866 \n54.9529 46.8571 12.6439 -0.233778 0.86956 0.434987 \n54.1619 46.6062 12.166 -0.0635023 0.754581 0.653127 \n44.4245 46.9062 12.4809 0.32932 0.786779 0.522041 \n-3.07667 -21.4829 -36.1389 0.994656 -0.030259 0.0987075 \n-41.2136 47.7059 12.6669 -0.771838 0.593008 0.229365 \n52.1121 46.188 11.7171 -0.0887095 0.686135 0.722046 \n50.8744 46.6261 11.9027 -0.130654 0.737053 0.663086 \n18.9572 47.9861 12.0609 -0.829494 0.380899 -0.408481 \n-16.3574 48.2567 12.3661 0.705723 0.592595 -0.388312 \n-42.0258 48.6137 11.7407 -0.611612 0.739813 0.28037 \n12.865 -19.6172 -21.2699 0.531642 -0.569589 0.626838 \n-15.7384 49.0552 11.7898 0.806135 0.496549 -0.321848 \n16.9995 50.4054 12.1652 -0.738382 0.461119 -0.492099 \n33.0602 -17.9333 -21.6114 -0.594418 -0.0460899 0.802834 \n-13.9091 51.9575 11.919 0.822816 0.554659 -0.123802 \n-45.7473 51.7328 11.4629 -0.526248 0.780086 0.338422 \n-10.7647 64.4199 -18.0669 0.505964 0.83576 0.21332 \n-24.8171 -60.9585 -13.3195 0.0174081 -0.449664 -0.893028 \n16.5386 52.1154 11.8203 -0.837582 0.429256 -0.337928 \n-53.8162 53.7574 12.8315 0.327543 0.835559 0.441085 \n17.8116 24.309 -32.2998 -0.751689 -0.399015 0.52512 \n-49.8072 53.3549 11.7908 -0.107224 0.867855 0.485109 \n-18.1164 -59.1738 -12.6505 -0.397912 -0.576113 -0.713974 \n-17.6776 59.1758 -11.669 0.618303 0.784466 0.0481058 \n20.9784 -49.3528 -9.00315 0.914818 -0.179879 -0.361597 \n-10.5058 57.9638 11.6225 0.78705 0.608079 -0.103886 \n23.0725 -17.7589 -25.7848 0.137874 -0.275747 0.951291 \n-8.61865 60.2392 12.8681 0.705545 0.592197 0.389242 \n21.156 4.99735 -16.3739 -0.868451 0.472273 0.150833 \n-26.4321 -59.778 -12.8675 0.403038 -0.473502 -0.783171 \n-4.6494 62.4757 11.9385 0.517209 0.855594 -0.0212907 \n-16.0158 -49.4111 -8.08786 -0.570413 -0.260732 -0.778876 \n-2.20008 63.0989 12.4366 0.305558 0.947312 -0.096094 \n5.26381 64.3541 11.5915 -0.488608 0.871086 -0.0497174 \n-1.24332 64.0942 11.7224 0.397162 0.915834 -0.0592502 \n-31.638 -49.169 -8.3353 0.498873 -0.680234 -0.537036 \n10.7405 14.1436 11.0912 -0.142898 -0.695877 -0.703801 \n-20.3073 -60.7552 -14.16 -0.105562 -0.54867 -0.829348 \n9.03305 14.5773 11.6706 0.102614 -0.71773 -0.688719 \n-8.99964 15.5587 11.7085 0.224452 -0.499875 -0.836508 \n-10.5055 -17.8202 -21.8583 -0.403288 -0.674752 0.618117 \n41.491 -47.6303 -9.11912 -0.969338 -0.196642 0.147363 \n22.797 -59.586 -13.4014 0.899435 -0.32486 -0.292374 \n-19.8904 -0.409151 -16.9733 0.911868 0.298903 0.281342 \n-7.92124 -17.991 -21.5274 -0.231528 -0.839909 0.490865 \n14.4861 17.8161 12.7107 -0.381321 -0.526534 -0.759839 \n6.54503 -30.3475 -54.3951 -0.959645 -0.117978 -0.255269 \n-16.0469 -58.3714 -13.5961 -0.647441 -0.481305 -0.590903 \n-9.69406 -17.5616 -21.8849 -0.0538872 -0.848002 0.527246 \n-1.05359 18.8673 11.5716 -0.47335 -0.395245 -0.787223 \n-28.0742 -58.4573 -14.0464 0.51853 -0.631138 -0.576881 \n17.6288 19.7621 11.6295 -0.599631 -0.444183 -0.66569 \n-28.8318 -29.3089 -17.6947 0.566418 -0.409181 0.715361 \n18.9952 26.0526 -31.4031 -0.616371 -0.339257 0.710627 \n19.4958 20.8837 10.9426 -0.606836 -0.460207 -0.648043 \n22.4822 0.71645 -18.4697 -0.668181 0.67136 0.320639 \n1.97674 21.6591 12.0205 0.605472 -0.166758 -0.7782 \n19.769 26.489 -31.1128 -0.671224 -0.2995 0.678054 \n-22.1183 39.1998 -27.9281 0.784195 0.111088 0.61049 \n1.43015 21.2751 11.816 -0.127436 -0.188431 -0.973783 \n-17.5207 24.7332 11.2258 0.57583 -0.20127 -0.792408 \n1.26087 24.6462 11.8351 0.369309 0.146907 -0.917622 \n21.4914 24.5033 10.8723 -0.775215 -0.306149 -0.552553 \n0.199864 25.2801 11.7494 -0.296898 0.145185 -0.943808 \n-16.3623 25.3104 12.0418 0.484001 -0.099067 -0.869442 \n41.4678 -44.2612 -11.0655 -0.99937 0.00155092 0.0354541 \n-3.06537 -16.0556 -24.909 0.677404 -0.714162 -0.17634 \n-17.2941 28.2082 -31.9612 0.568197 -0.201686 0.797794 \n-11.2922 -10.6909 -26.4739 0.228207 -0.110781 0.96729 \n43.6723 26.9196 11.3204 -0.431266 -0.804354 -0.408686 \n39.6549 26.9826 11.7181 0.269112 -0.925496 -0.266526 \n-28.8945 -56.2637 -12.5798 0.733568 -0.365771 -0.572791 \n36.5416 26.9766 11.426 0.0806095 -0.882105 -0.464104 \n0.75544 26.3563 11.6389 -0.145167 -0.177196 -0.97341 \n38.2247 27.6956 11.5702 0.128302 -0.920109 -0.37005 \n21.6712 26.5447 11.4237 -0.769878 -0.202311 -0.605275 \n2.01587 26.7761 11.8559 0.398614 0.360421 -0.843329 \n3.55471 28.4158 11.5933 -0.00613517 0.0780811 -0.996928 \n2.81538 28.43 11.6787 -0.313243 -0.411684 -0.855801 \n-17.6772 27.3624 11.5335 0.491876 0.000583209 -0.870665 \n-30.3382 -55.3228 -14.1382 0.797219 -0.527742 -0.29314 \n-48.2024 27.6799 12.0503 0.346884 -0.937676 -0.0208521 \n21.7821 -54.5393 -14.3636 0.979165 -0.190415 0.0705617 \n4.36656 28.1957 12.0055 0.378437 0.563826 -0.734088 \n-30.8874 -54.2645 -12.7696 0.672472 -0.608995 -0.420603 \n-41.2681 27.7302 10.8548 -0.225288 -0.747833 -0.624493 \n34.062 29.6264 11.8864 0.466272 -0.438342 -0.768405 \n5.90861 29.6803 11.5739 0.351676 0.48858 -0.798507 \n-31.4272 -53.7696 -13.2003 0.878313 -0.34006 -0.336043 \n12.9662 32.8563 -37.2086 0.0718475 -0.0789985 0.994282 \n-40.8303 29.2204 12.1741 -0.517463 -0.515104 -0.683301 \n6.27802 30.52 11.8388 -0.266084 -0.657973 -0.704465 \n5.26778 30.3741 12.0825 -0.356029 -0.833664 -0.422194 \n-16.0918 29.5069 12.1113 0.359451 0.118931 -0.925554 \n48.4059 29.9834 11.709 -0.41551 -0.905695 0.0840664 \n-14.8914 -45.1887 -8.32523 -0.638016 0.17883 -0.74897 \n8.57239 -16.0961 -21.2662 0.482068 -0.600557 0.63792 \n-5.03336 29.9326 11.9712 -0.155784 0.307978 -0.938552 \n-54.0876 31.2122 11.1862 0.643612 -0.757153 0.111727 \n8.94412 31.47 11.8207 0.374799 0.491198 -0.786289 \n42.1577 -43.7953 -8.73186 -0.958838 -0.19176 0.209422 \n7.35512 30.9378 11.6993 -0.0945885 -0.101905 -0.990287 \n-5.16408 30.6103 12.0133 0.469655 -0.559305 -0.683083 \n-6.8747 31.5998 11.7748 0.122072 -0.103992 -0.987058 \n40.8259 -52.4482 -13.4502 -0.91096 -0.21297 -0.353264 \n-31.4968 -53.6972 -13.8785 0.966491 -0.134564 0.218604 \n31.5166 31.6984 11.8444 0.515623 -0.262151 -0.815726 \n7.9506 31.5017 11.4873 -0.043934 -0.050408 -0.997762 \n7.04175 31.3156 12.1962 -0.585311 -0.661411 -0.468985 \n-7.46644 31.041 12.0985 -0.269038 0.47769 -0.83632 \n8.01186 31.9834 11.9754 -0.292901 -0.754506 -0.587307 \n-8.3436 32.1725 11.706 -0.0915616 0.304273 -0.948174 \n-3.77853 -15.1597 -25.7399 0.830684 -0.543984 0.11851 \n10.4863 32.4653 11.9167 0.0803814 0.0843869 -0.993186 \n-7.62343 32.3894 11.9341 0.418347 -0.612778 -0.670439 \n-9.37785 32.6506 11.5902 -0.160014 0.490066 -0.856873 \n-13.7439 -52.6551 -12.5898 -0.824018 -0.350648 -0.445017 \n20.219 31.3782 12.6298 -0.368028 0.337903 -0.866243 \n12.0494 34.2183 -37.1245 -0.297661 0.0176663 0.954508 \n52.1268 32.7542 11.7257 -0.459887 -0.61372 0.641757 \n-11.0714 44.2376 -36.3304 0.0934652 0.222216 0.970507 \n-32.1086 -50.8795 -13.3692 0.956791 -0.281872 0.0714057 \n40.9217 -51.0738 -13.3684 -0.896871 -0.269299 -0.350857 \n21.2344 -43.1883 -8.8702 0.957386 0.288664 0.00926479 \n-18.5398 3.08035 -17.6251 0.888668 0.413525 0.198155 \n31.5101 33.5741 12.2011 0.546385 -0.0818463 -0.833525 \n22.7968 33.8165 11.5464 0.136358 -0.417892 -0.898205 \n32.6571 -14.8178 -22.2204 -0.645005 0.0215902 0.763873 \n-13.8987 33.6409 11.5982 0.0772899 0.480406 -0.873634 \n-57.7683 34.2602 12.8199 0.650941 -0.74435 -0.149062 \n-26.4211 -47.1292 -27.2949 0.279835 0.174441 0.944067 \n16.5694 34.0772 11.8861 -0.188465 0.296963 -0.936106 \n19.5929 34.652 11.6133 -0.0605212 -0.38602 -0.920503 \n21.3249 34.5843 11.4641 0.0905851 -0.273785 -0.957515 \n20.5372 35.3904 11.7319 -0.209245 -0.192336 -0.958761 \n-24.7444 -60.7971 -28.9938 0.414865 -0.613627 0.671825 \n-11.8095 35.7586 12.3987 0.528463 -0.258323 -0.808701 \n55.0452 34.8811 12.2891 -0.642217 -0.357357 0.678125 \n-38.5416 35.1096 11.9435 -0.979036 -0.201899 -0.0269364 \n-27.3923 -11.5509 -21.3067 0.659192 0.236213 0.713912 \n20.9847 35.1516 -31.9558 -0.559411 -0.0307736 0.828319 \n-12.7995 36.3996 11.6978 0.372388 -0.394469 -0.840072 \n-16.7958 -15.961 -25.0084 -0.124441 0.0465563 0.991134 \n-26.1933 -12.0652 -22.4978 0.493697 0.393946 0.775287 \n-18.14 34.6068 -31.2974 0.824919 -0.236286 0.513496 \n13.0859 23.7052 -34.7699 -0.338821 -0.241204 0.909407 \n41.821 -48.1944 -14.6106 -0.997866 -0.0373221 0.053579 \n-14.1737 37.1059 11.7115 0.287891 -0.0164334 -0.957522 \n-38.481 37.4426 11.877 -0.998103 0.0174055 0.059059 \n55.8936 38.869 11.4557 -0.328719 -0.209271 0.92095 \n-21.6621 -47.5807 -27.0369 -0.141849 0.332814 0.932263 \n4.50653 -6.69935 -29.6737 -0.186822 0.17847 0.966046 \n41.3131 -48.5588 -13.1387 -0.954173 -0.179668 -0.23932 \n-62.1469 39.698 10.8978 0.896083 -0.440265 0.0565888 \n-11.5752 39.8712 11.6506 0.287858 0.292403 -0.911942 \n21.3879 36.9238 -32.4815 -0.640355 -0.244108 0.728256 \n57.7668 40.5844 11.6699 -0.35758 -0.100931 0.928412 \n16.9075 41.0415 11.8959 -0.0960752 -0.0679096 -0.993055 \n31.1537 -9.38555 -21.4161 -0.637865 0.492125 0.592403 \n23.8033 42.8438 11.4696 -0.611747 0.218912 -0.760159 \n34.7472 42.3566 11.8284 0.437229 0.768432 -0.467272 \n42.9458 -41.8504 -8.61845 -0.985865 -0.120264 0.116651 \n-22.0505 -8.57155 -20.9257 0.0432163 0.818501 0.572877 \n-38.4655 42.0633 11.7946 -0.94198 0.182909 0.281457 \n-38.9141 42.281 11.4135 -0.74195 0.399129 0.538708 \n37.43 43.1358 11.413 0.331654 0.865109 -0.376287 \n-12.1821 42.5331 10.9133 0.692282 0.0218796 -0.721295 \n-18.807 43.1908 11.9153 0.375125 -0.149026 -0.914917 \n42.0304 -44.6725 -14.2618 -0.991429 -0.032635 -0.126502 \n21.8284 -40.1314 -8.9124 0.966128 0.255874 0.0335522 \n22.0574 37.8059 -31.8845 -0.729746 0.0796593 0.679062 \n30.4901 -8.26485 -21.7799 -0.539294 0.513446 0.667485 \n40.6805 43.9166 11.6438 0.193141 0.905452 -0.377958 \n-21.2276 -9.04235 -21.6073 0.373308 0.572164 0.730253 \n21.2424 39.6638 -32.1669 -0.628619 0.202525 0.75088 \n43.0989 45.4044 11.8875 0.565771 0.666998 0.484786 \n41.7705 -41.486 -13.6588 -0.997952 0.0554534 0.0318861 \n28.6952 -7.41005 -22.0812 -0.2645 0.712997 0.649365 \n-40.5228 45.851 11.8512 -0.815044 0.499941 0.292851 \n2.76735 29.7595 -38.1477 -0.0161043 -0.211353 0.977277 \n-18.1661 45.6129 11.6707 0.779552 0.281192 -0.559669 \n3.84835 -27.3225 -48.626 -0.456009 -0.830944 -0.318728 \n49.4094 46.5296 11.9011 -0.13229 0.752462 0.645214 \n45.6787 46.5981 11.8195 0.210544 0.802913 0.557676 \n19.2789 46.7871 11.7722 -0.715177 0.501805 -0.486533 \n-18.131 40.8914 -32.1476 0.818782 0.12228 0.560931 \n48.3904 47.204 12.2753 -0.0755522 0.797489 0.598584 \n-14.5922 -41.2079 -13.4231 -0.857573 0.509934 -0.0673507 \n-42.8773 49.293 12.2623 -0.690316 0.663093 0.289434 \n-32.6017 -39.6516 -13.4552 0.918574 0.248576 0.307298 \n-15.4466 50.5053 11.2473 0.796948 0.554849 -0.238783 \n-9.7603 44.3839 -36.3113 0.409958 0.18157 0.893849 \n41.9076 -40.1244 -13.5228 -0.973055 0.210737 0.0935677 \n-56.6768 51.8552 11.9498 0.518265 0.812604 0.266601 \n-13.5767 53.2831 11.819 0.923021 0.343332 -0.173653 \n41.134 -38.2032 -13.6259 -0.921121 0.323665 0.216281 \n-48.1534 52.6304 11.1322 -0.212356 0.807459 0.550378 \n20.6415 6.27915 -17.5498 -0.97999 0.0937477 0.17559 \n-52.8214 53.1396 11.0677 0.217475 0.766265 0.604601 \n24.1864 -37.7881 -8.97343 0.629203 0.754901 -0.185007 \n15.027 54.3298 11.3206 -0.756595 0.651775 0.0524624 \n-12.3716 55.3006 12.2262 0.889148 0.456834 -0.0268184 \n4.70626 -21.0195 -43.3215 -0.758975 0.619775 0.199588 \n12.2311 57.1792 11.7504 -0.613031 0.786803 0.0716466 \n11.7463 57.7639 12.3206 -0.816772 0.510898 -0.26808 \n8.59418 61.4763 11.407 -0.757133 0.641995 -0.120801 \n7.21993 62.9814 11.2365 -0.550496 0.815745 -0.177521 \n7.16126 62.6316 12.3738 -0.555399 0.821334 0.130161 \n6.15449 63.2029 11.7597 -0.602464 0.773459 -0.196974 \n42.7023 -37.4442 -7.94826 -0.983245 0.160308 0.086776 \n32.9938 -75.3468 -6.68379 -0.12723 -0.985958 0.108165 \n12.335 14.2635 10.6225 -0.333906 -0.681778 -0.650911 \n14.8628 16.1911 11.1834 -0.476881 -0.595738 -0.646282 \n15.73 17.0515 11.1256 -0.548163 -0.65824 -0.515982 \n4.34642 16.4368 11.3533 0.463872 -0.652471 -0.599254 \n-12.3634 17.0814 11.3956 0.394339 -0.48581 -0.780055 \n19.1246 47.1239 -31.1405 -0.346498 0.31819 0.882437 \n5.12556 -18.8304 -36.7138 -0.728203 0.57086 0.379261 \n2.80369 18.3729 11.1839 0.65473 -0.421013 -0.627756 \n0.611402 19.7446 11.6904 -0.154114 -0.305953 -0.93949 \n2.02699 19.771 11.3509 0.363764 -0.351615 -0.862579 \n18.1739 21.2922 12.2357 -0.54543 -0.364843 -0.754583 \n-17.8564 7.51835 -17.6067 0.910264 -0.329466 0.250743 \n-17.5914 45.206 -31.7006 0.861303 0.225812 0.455155 \n20.5785 24.464 11.7866 -0.614916 -0.290984 -0.732944 \n0.934774 -19.1769 -27.7656 0.00550278 -0.7821 -0.623129 \n20.2899 4.03125 -20.6427 -0.794408 0.396812 0.459844 \n42.2281 -36.0544 -8.62354 -0.926486 0.30144 0.225295 \n18.2333 46.2273 -31.5488 -0.610016 0.371036 0.700152 \n23.9066 -33.1287 -13.6499 0.555704 -0.790101 0.258715 \n34.43 27.0689 10.7314 0.159032 -0.848754 -0.504306 \n-42.4593 27.4839 10.7148 -0.0278302 -0.870271 -0.491787 \n22.3695 -32.7108 -13.9464 0.42487 -0.693062 0.582366 \n-48.1503 27.8291 11.1739 0.0405721 -0.952641 0.301378 \n-2.75026 -18.001 -34.8358 0.938298 0.237751 0.251142 \n-32.9337 -35.0588 -8.3953 0.985839 0.0599853 0.156598 \n10.3367 65.8457 -17.8976 -0.376027 0.871924 0.313612 \n-50.0583 28.8654 11.3535 0.2897 -0.943782 0.159213 \n-51.8615 28.9526 11.4591 0.266315 -0.951428 0.15447 \n-30.1496 -32.06 -14.457 0.863095 0.148748 0.482639 \n46.4361 29.4309 12.681 -0.223093 -0.971125 -0.0845333 \n22.4806 28.56 10.9082 -0.771385 -0.0765327 -0.63175 \n5.02428 29.7274 11.3623 -0.243506 -0.370696 -0.896264 \n21.2686 -31.7769 -13.9074 0.448167 -0.858609 0.248871 \n-38.495 29.844 10.4969 -0.554285 -0.331289 -0.763555 \n-16.7443 47.955 -31.4352 0.601481 0.420006 0.67957 \n-17.3615 30.5969 11.3863 0.434161 0.174517 -0.883769 \n-31.0772 -31.4873 -12.6478 0.785608 -0.50547 0.356819 \n31.4494 30.85 11.3489 0.431612 -0.53058 -0.729518 \n38.8974 -32.0354 -11.8239 -0.785561 0.143851 0.601831 \n-15.6143 30.7617 11.8444 0.348334 0.300521 -0.887891 \n19.6154 -31.3176 -14.036 0.451951 -0.891927 0.0143495 \n-38.0158 33.5445 10.799 -0.700448 -0.0117144 -0.713607 \n15.4872 -14.954 -25.6185 0.291519 -0.299887 0.908342 \n-17.2637 9.41885 -21.3748 0.768284 -0.460932 0.444164 \n22.5764 32.7061 10.9463 -0.0499589 -0.321551 -0.945573 \n21.473 33.171 11.1599 -0.436711 0.159381 -0.88537 \n-9.56058 33.4674 11.3944 0.264594 -0.133275 -0.955106 \n-10.9414 33.892 11.2928 -0.0714928 0.362662 -0.929174 \n23.3146 33.4622 11.2441 -0.608488 -0.230067 -0.759481 \n18.4475 33.9449 11.3581 -0.09173 0.297074 -0.950438 \n-11.7677 -7.49115 -26.3665 0.303017 0.0731315 0.950175 \n-9.90443 33.9661 11.6279 0.513251 -0.66217 -0.54599 \n30.8526 35.0904 11.6463 0.581704 0.158713 -0.797766 \n-13.8975 -5.38025 -25.4272 0.364779 0.0857399 0.927138 \n-58.8288 34.5149 10.9987 0.675784 -0.725294 -0.131393 \n54.2602 33.7575 11.9293 -0.615957 -0.403236 0.676756 \n-11.0857 34.6 11.2742 0.462707 -0.558386 -0.688554 \n-12.1989 35.2882 11.105 0.533267 -0.507775 -0.676602 \n-13.2991 35.8062 10.7684 0.284072 -0.617611 -0.733389 \n-14.329 36.523 11.4168 0.301767 -0.64721 -0.70004 \n-31.9936 -28.9524 -13.9854 0.753178 -0.451153 0.478731 \n-15.4838 37.1692 11.1723 0.407789 0.0620313 -0.910967 \n55.3073 37.7667 11.4388 -0.521695 -0.184784 0.83288 \n-13.523 37.8764 11.8188 0.200918 0.154903 -0.967283 \n-38.4285 38.6023 10.2784 -0.913872 0.261178 -0.310844 \n-17.8636 13.747 -20.769 0.939266 0.000111553 0.343189 \n5.61142 -26.391 -48.7389 -0.471369 -0.70508 -0.529786 \n32.2729 39.9977 11.7382 0.603043 -0.146889 -0.784068 \n-14.6337 38.5481 11.1739 0.329195 0.360762 -0.872629 \n-11.1052 -27.5724 -13.9228 -0.786692 -0.582337 0.204936 \n31.8765 40.845 11.2789 0.572509 0.498517 -0.650934 \n23.8685 40.1246 11.7996 -0.72035 -0.0232019 -0.693223 \n19.9468 9.44775 -18.3191 -0.967572 -0.00697119 0.252499 \n14.8192 50.4646 -31.9147 -0.586964 0.322661 0.742538 \n18.7648 15.0577 -22.2411 -0.884766 -0.336477 0.322448 \n-38.3628 40.441 11.5507 -0.97382 0.0638864 0.218157 \n-62.5233 41.3799 9.70047 0.898775 -0.261702 0.351732 \n19.5293 16.0389 -20.8231 -0.846876 -0.417904 0.328873 \n15.0245 -26.8309 -12.886 0.601298 -0.789413 0.123562 \n-32.7135 -32.1483 -8.50921 0.916955 -0.355756 0.180639 \n-18.172 16.7946 -21.5739 0.768502 -0.498107 0.401614 \n-62.7267 42.3547 10.5383 0.955023 0.234563 0.181412 \n56.648 42.2386 11.2304 -0.261697 0.0352006 0.964508 \n-14.7157 51.3347 -31.3437 0.553805 0.623109 0.5523 \n35.6329 43.0187 10.5443 0.349276 0.856718 -0.379526 \n-38.9263 43.177 11.4335 -0.849337 0.305391 0.430538 \n-39.5463 43.3592 11.0027 -0.809635 0.326479 0.487753 \n56.1737 45.2309 11.4466 -0.271382 0.330327 0.904011 \n-10.4604 -26.4181 -13.7218 -0.829679 -0.349567 -0.435242 \n-12.6593 51.9324 -32.5578 0.508213 0.575487 0.64073 \n39.4936 -24.758 -13.2055 -0.868484 -0.241273 0.433039 \n22.509 44.3276 11.4126 -0.758126 0.436714 -0.484278 \n13.5821 -25.8898 -12.9558 0.647146 -0.759905 0.061204 \n-15.1543 44.3928 11.9252 -0.399359 -0.73214 -0.551801 \n42.2659 44.6113 11.2683 0.386625 0.901991 0.192182 \n-16.2048 -14.9341 -25.0973 -0.115838 0.0817572 0.989898 \n-33.7781 -30.4317 -7.84549 0.857575 -0.507298 0.0849318 \n16.6658 -4.82845 -26.0509 -0.536363 -0.16307 0.828084 \n-11.6719 45.0536 11.2028 0.320211 -0.513223 -0.796283 \n12.7051 45.1069 -36.1582 -0.376087 0.260519 0.889207 \n-21.8877 18.1271 -21.5209 0.597163 -0.785793 0.161014 \n20.1476 17.5851 -21.796 -0.752068 -0.562222 0.343947 \n-12.3892 52.9347 -31.291 0.476115 0.546933 0.688606 \n24.6603 29.4192 -26.0966 -0.81601 -0.14939 0.5584 \n47.7376 46.4902 10.9328 -0.120019 0.711473 0.692388 \n-22.0162 18.7071 -22.173 0.894912 -0.127167 0.427739 \n20.3058 46.4613 11.6666 -0.404158 0.645491 -0.648072 \n-41.3885 47.4464 10.7772 -0.792296 0.535328 0.29273 \n-22.2686 19.1835 -21.4807 0.920545 0.111609 0.374354 \n18.5658 49.2941 11.0562 -0.762464 0.580912 -0.284938 \n-34.099 -23.8896 -13.2897 0.930568 0.0432604 0.363556 \n38.7376 -22.3749 -14.1846 -0.884561 0.0202576 0.465985 \n40.7504 -29.144 -8.15835 -0.949519 0.108122 0.294489 \n-45.3297 50.8316 10.5317 -0.585624 0.620461 0.521606 \n-12.6328 54.4214 -31.0573 0.492173 0.250823 0.833579 \n-13.2105 54.2159 11.6723 0.771139 0.636106 -0.026717 \n38.8769 -19.7474 -13.6907 -0.913422 0.161964 0.373401 \n-11.5736 55.7481 10.9282 0.866737 0.469507 0.168318 \n9.98877 -20.9419 -13.9095 0.814455 -0.516165 -0.265022 \n11.7832 58.618 11.3007 -0.818757 0.57246 -0.0438854 \n2.30974 -30.1735 -56.1712 0.778085 -0.0173086 0.627921 \n-7.39122 60.7591 11.2681 0.515743 0.821848 0.242024 \n-6.01872 61.354 11.3891 0.560838 0.82717 0.0353645 \n-3.72236 63.318 10.9268 0.283458 0.952554 -0.110874 \n-2.36253 63.4019 11.2631 0.348523 0.933375 -0.0856888 \n3.54971 64.9482 11.971 -0.157871 0.985036 -0.069143 \n2.11395 64.7333 11.9613 0.0973289 0.992354 -0.0758942 \n0.826652 64.7505 11.7952 0.212533 0.975373 -0.0589719 \n-6.89326 -19.6488 -13.6944 -0.704429 -0.696908 0.134531 \n-5.99287 14.9013 11.354 -0.16014 -0.763753 -0.62533 \n7.67599 14.3955 10.9028 0.326021 -0.765859 -0.554229 \n-9.94058 14.3917 10.6118 0.255115 -0.596284 -0.761158 \n-11.3117 55.7384 -31.2674 0.457808 0.469142 0.755194 \n12.0324 45.5682 -36.0579 -0.0641891 0.286823 0.955831 \n10.8148 44.3761 -36.3874 -0.689335 0.242267 0.682733 \n8.33784 -19.2992 -12.7422 0.65039 -0.740277 -0.170243 \n17.0005 17.9428 11.1469 -0.528485 -0.604166 -0.596394 \n-24.0115 29.2847 -21.8851 0.995836 0.059206 -0.0693271 \n-35.2739 -26.9634 -8.027 0.999118 0.0382805 -0.0172539 \n2.17182 18.393 10.8098 -0.0651059 -0.404154 -0.912371 \n-17.1729 -39.5551 -19.5751 -0.602122 0.670069 0.434115 \n-8.88595 56.0773 -31.4668 0.32284 0.478189 0.816768 \n-35.048 -25.8165 -8.02167 0.991604 -0.045218 -0.12115 \n-15.7376 21.5077 11.4789 0.589113 -0.347305 -0.729606 \n20.5865 11.5964 -17.3854 -0.887297 0.460673 0.0220286 \n-11.4789 -25.419 -7.61572 -0.801745 -0.470868 -0.368088 \n37.4033 26.6042 10.5656 -0.220127 -0.820069 -0.528234 \n42.1735 26.6728 10.6949 -0.116951 -0.986864 -0.111456 \n-12.6038 -4.57915 -26.1788 0.242301 0.19259 0.950894 \n44.2892 27.7093 11.184 -0.726857 -0.482416 -0.488829 \n-18.7292 26.8076 10.7273 0.684029 -0.11407 -0.720481 \n45.7298 28.4699 9.47779 -0.693062 -0.574372 -0.435617 \n33.2099 28.3707 11.3153 0.563279 -0.0654582 -0.82367 \n19.8284 12.5795 -17.7066 -0.920503 0.380604 0.0883977 \n9.93583 46.657 -36.7427 -0.516459 0.423382 0.744324 \n-46.4901 28.2728 10.9291 0.0290011 -0.99553 0.0898857 \n45.1045 28.7628 10.9715 -0.486911 -0.817521 -0.307534 \n28.1069 34.0456 -21.2057 -0.938125 -0.149856 0.312193 \n-50.5592 29.0341 10.6293 0.285926 -0.933183 0.21775 \n-1.38091 -19.4039 -39.0824 0.691058 0.590376 0.417006 \n16.9909 -25.481 -7.65541 0.677005 -0.665879 -0.313478 \n-54.9407 31.8533 10.1991 0.636552 -0.751379 0.173871 \n29.1938 32.47 10.5595 0.503349 -0.220868 -0.835378 \n22.2972 31.6082 10.8266 -0.630511 0.0605764 -0.773813 \n-55.4036 31.8431 11.8396 0.637951 -0.758381 0.133701 \n-33.6971 -73.4857 -17.0944 0.604021 0.0511685 0.795324 \n-56.4864 32.9941 11.0381 0.600083 -0.797109 -0.0672134 \n-18.4646 11.6786 -16.4194 0.993237 0.0659521 0.0955535 \n-12.4208 34.4869 11.0713 0.0234842 0.434382 -0.900423 \n-25.1214 41.1497 -21.8476 0.967303 0.217037 0.131227 \n-12.9345 35.1976 10.6799 0.12629 0.309875 -0.942353 \n-14.4947 34.8642 10.7544 0.175793 0.436709 -0.882259 \n54.0965 36.0771 10.8804 -0.542854 -0.28874 0.788631 \n24.3874 35.2103 10.2885 -0.597572 -0.05114 -0.800183 \n3.36284 -20.454 -44.2298 -0.307536 0.903139 0.299604 \n-14.9298 36.184 10.6107 0.378659 -0.606396 -0.699215 \n13.6481 -21.5742 -7.70505 0.729249 -0.579857 -0.363265 \n-16.5084 37.0354 10.5816 0.41369 -0.47812 -0.774766 \n34.1154 -7.70725 -13.5109 -0.768565 0.638224 0.0444846 \n54.5798 39.0332 10.8158 -0.539351 0.0676979 0.839356 \n-1.47779 -16.1129 -35.0751 0.556636 0.609266 0.564757 \n4.44036 58.8962 -32.1574 -0.0941941 0.675405 0.731406 \n-34.4687 -21.4927 -7.6415 0.978421 0.196773 -0.0630284 \n-23.8418 44.2393 -21.5821 0.945617 0.0338956 0.323512 \n-27.8252 -6.77635 -13.8842 0.793442 0.574479 0.201057 \n32.7001 -6.49475 -12.8691 -0.749331 0.563105 -0.348448 \n31.0861 40.8905 10.2733 0.54171 0.590387 -0.598325 \n25.3768 46.7803 -22.3864 -0.854502 0.369711 0.364883 \n32.4967 -5.98105 -13.8077 -0.844511 0.532961 0.052479 \n-11.8593 41.0712 11.105 0.70858 -0.0730719 -0.701837 \n-20.2108 40.3952 10.8535 0.254954 -0.243542 -0.935781 \n-39.1161 40.6266 9.34082 -0.962667 0.161964 0.216889 \n-20.3083 41.402 10.8909 0.697339 0.118728 -0.70684 \n-12.6208 41.4126 10.4342 0.356611 0.365861 -0.859636 \n-9.78748 33.7253 -36.9398 0.451714 -0.0130512 0.892067 \n54.1755 42.3156 10.7701 -0.17672 0.0968888 0.979481 \n5.6013 -15.2321 -26.0372 -0.819943 -0.543821 -0.178749 \n33.6622 42.1849 10.7928 0.363059 0.835349 -0.412771 \n24.7719 42.9382 10.3581 -0.800699 0.207907 -0.561833 \n-11.0374 -3.73315 -25.9452 0.271404 0.16967 0.947392 \n40.5342 -21.0906 -8.83371 -0.948126 0.317317 -0.0191475 \n-4.50926 58.909 -31.7248 0.217872 0.693186 0.687041 \n-11.2638 44.5382 11.5333 0.821956 0.088711 -0.5626 \n54.0933 44.3293 11.1698 -0.156349 0.251682 0.955097 \n3.45506 -32.2934 -56.8699 0.73049 -0.311563 0.607711 \n-12.2103 44.2533 10.6633 0.471829 -0.113572 -0.874345 \n-61.9044 44.649 11.7117 0.896507 0.429772 0.107564 \n52.298 44.2543 10.6124 -0.373862 0.315669 0.872113 \n40.3027 44.5997 10.499 -0.0883971 0.926149 -0.366651 \n-13.1932 44.62 10.7928 -0.26892 -0.759712 -0.592047 \n53.2851 45.7734 11.6067 -0.130911 0.440599 0.888107 \n43.9277 45.3521 11.2472 0.256366 0.721941 0.642712 \n40.0687 -20.1042 -9.66395 -0.93213 0.35526 0.0701655 \n21.8132 45.9351 10.7643 -0.735579 0.46374 -0.493831 \n48.4868 45.6258 10.3832 -0.0657367 0.635475 0.769318 \n46.7827 46.6663 11.2269 0.217876 0.751359 0.622889 \n-18.6313 46.5769 10.262 0.733223 0.566444 -0.376199 \n-40.8373 46.2239 10.5353 -0.816362 0.555976 0.156342 \n-17.0629 -73.5854 -32.0172 -0.0569222 0.0160671 0.998249 \n19.3364 47.943 10.9872 -0.596953 0.569968 -0.564608 \n-60.4289 46.6854 10.5304 0.855228 0.500949 0.132797 \n-22.624 30.6577 -27.0766 0.896999 -0.0166289 0.441719 \n-43.8465 49.395 11.1881 -0.603417 0.703546 0.375382 \n-16.7017 48.802 10.8949 0.69397 0.584988 -0.419756 \n-18.0511 -73.0155 -31.8326 0.0660698 0.0616727 0.995907 \n-58.1525 50.6306 10.6381 0.700616 0.709339 0.0772982 \n-14.9916 -74.5423 -19.3833 -0.517473 -0.810452 -0.27457 \n-11.29 -2.86425 -26.0322 0.652374 -0.382402 0.654352 \n-47.1377 51.9743 10.4084 -0.337415 0.761882 0.55289 \n-53.977 52.3967 11.0762 0.315326 0.783734 0.535099 \n-14.1694 52.8077 10.5095 0.880175 0.46575 -0.091483 \n20.8988 55.1534 -22.2684 -0.878613 0.419127 0.228849 \n-11.874 55.0584 10.5896 0.736332 0.663173 0.134223 \n14.2401 55.3561 10.7845 -0.849034 0.519822 -0.0944831 \n13.3122 56.4576 11.5256 -0.68418 0.727531 -0.0509575 \n12.3769 57.3727 10.8157 -0.689253 0.71547 -0.114164 \n10.7367 59.6366 11.3521 -0.630663 0.776027 0.00677663 \n-6.90522 61.2086 10.1627 0.599239 0.797316 -0.072108 \n0.561012 64.6534 9.83361 0.246861 0.967031 -0.062538 \n-18.6323 4.42335 -14.099 0.984427 0.0907432 0.150564 \n-9.5814 13.1908 9.51772 0.0539706 -0.784194 -0.618164 \n-4.45063 14.9722 10.7097 -0.350228 -0.852182 -0.38875 \n-18.231 -70.7712 -31.7528 0.228328 0.183342 0.956165 \n1.32984 30.3357 -38.333 0.0131666 0.0543018 0.998438 \n4.70551 15.8062 10.5647 0.484306 -0.814304 -0.319932 \n-15.9338 -70.8983 -31.9936 -0.22006 0.143539 0.964868 \n20.8398 16.6248 -18.2574 -0.829181 -0.471169 0.300763 \n-2.37603 15.8092 9.85105 -0.574519 -0.730942 -0.368308 \n0.0271413 16.1692 10.248 0.14772 -0.337329 -0.929725 \n-18.9656 9.62075 -12.8289 0.93008 0.162158 -0.329631 \n1.89833 -23.7623 -32.6041 -0.248525 -0.827033 -0.504233 \n1.07747 17.6761 10.839 -0.143506 -0.346402 -0.927045 \n-0.332949 17.9876 11.0165 -0.025036 -0.442983 -0.89618 \n-1.45819 17.1505 10.6578 -0.595537 -0.574228 -0.56178 \n2.88638 17.3646 10.3802 0.580423 -0.600246 -0.550285 \n-14.5548 62.1574 -9.13749 0.679615 0.718692 -0.146988 \n18.2569 58.6424 -21.4045 -0.649874 0.661997 0.373395 \n20.1455 11.753 -14.2264 -0.8901 0.448336 -0.0819527 \n-0.00660537 -23.6147 -32.618 0.304859 -0.901348 -0.307623 \n-1.40496 -22.8814 -31.6737 0.50188 -0.844095 -0.188734 \n-14.1614 59.8089 -22.335 0.394393 0.850773 0.347332 \n-19.5589 15.7008 -14.3525 0.832091 -0.541937 0.118018 \n38.7254 27.0965 10.6097 0.0114245 -0.930694 -0.36562 \n-1.09017 -16.3287 -7.5627 -0.429875 -0.8338 -0.346387 \n23.6154 27.3179 8.88526 -0.811417 -0.202734 -0.548179 \n15.1857 60.518 -21.8947 -0.271558 0.755951 0.595646 \n33.0354 27.7316 10.9902 0.358732 -0.65982 -0.660265 \n-0.311741 30.5755 -38.1012 0.0431004 0.178017 0.983083 \n15.417 -1.63225 -25.9764 -0.433228 0.0855728 0.897213 \n-10.4851 -8.79035 -26.7779 0.208176 -0.0372893 0.97738 \n4.86099 -21.4799 -31.4499 -0.651929 -0.490626 -0.578165 \n-20.7007 16.7479 -13.0231 0.815228 -0.573584 0.0800251 \n-39.6763 28.2381 10.452 -0.467172 -0.54051 -0.699714 \n13.9689 61.7538 -22.3674 -0.651896 0.741454 0.158987 \n-2.96435 -20.9062 -32.4738 0.948318 -0.286324 -0.136788 \n-48.2063 28.2766 10.4482 -0.136328 -0.89738 0.41967 \n-47.254 28.6439 10.1249 0.107818 -0.958212 0.264964 \n30.7524 28.8207 9.48193 0.599918 -0.0972972 -0.794123 \n-2.98655 -19.4263 -31.1127 0.921806 -0.245548 -0.299967 \n-4.9371 66.0938 -18.0664 0.268582 0.93506 0.231359 \n-52.1026 29.4023 10.417 0.283598 -0.867028 0.409676 \n16.3765 54.4237 -27.6709 -0.755136 0.44732 0.479243 \n-53.1239 29.7792 10.9757 0.709806 -0.699244 0.0850502 \n30.0901 30.7256 10.4265 0.462748 -0.476349 -0.747634 \n-53.0666 30.1684 9.82763 0.463202 -0.852437 0.242477 \n19.8117 50.3347 -28.4612 -0.612573 0.659593 0.435536 \n-18.4367 -15.4427 -24.9713 -0.109103 0.068358 0.991677 \n52.0466 33.928 10.3702 -0.549039 -0.410975 0.727774 \n29.7839 33.424 11.0857 0.546171 -0.0102703 -0.837611 \n-16.5154 33.226 10.34 0.455806 0.374854 -0.807295 \n-15.517 35.019 10.386 0.469266 0.338649 -0.815541 \n53.127 33.9847 11.2181 -0.45257 -0.436019 0.777861 \n11.3046 63.9312 -21.4595 -0.421896 0.799479 0.427593 \n-14.7102 35.6752 10.4878 0.28846 0.0610365 -0.955545 \n-21.6079 18.0419 -19.937 0.276168 -0.960852 -0.022223 \n-38.3326 35.4127 11.1389 -0.799806 0.0413898 -0.598829 \n53.8456 38.0145 10.1286 -0.50783 -0.112254 0.854113 \n23.8484 36.5954 10.7094 -0.728578 -0.0655245 -0.681821 \n-11.6858 -1.50375 -26.389 0.747537 -0.258462 0.611871 \n31.0594 36.5024 11.3668 0.557473 0.373519 -0.741423 \n24.7915 37.7773 10.2658 -0.658631 -0.108904 -0.744544 \n-60.9861 37.2565 10.5903 0.84363 -0.53692 0.00217073 \n-38.3291 37.0013 10.817 -0.953643 0.082289 -0.289472 \n6.77294 65.9915 -20.6646 -0.119244 0.900053 0.41915 \n-26.5399 26.65 -13.8223 0.616566 -0.616626 0.48951 \n5.47179 65.4489 -21.617 -0.199963 0.89087 0.407879 \n-5.07322 65.4725 -20.2927 0.551897 0.802967 0.225063 \n31.0241 40.0033 10.6612 0.623593 -0.118459 -0.772722 \n-19.3298 40.2402 10.8272 -0.249061 -0.455861 -0.854494 \n4.5347 65.9603 -21.5581 -0.37547 0.853409 0.361545 \n-1.98359 -13.5974 -32.3141 0.633848 0.454878 0.625558 \n54.0438 40.0261 10.7095 -0.306381 -0.0331606 0.951331 \n15.3549 55.9289 -28.1623 -0.585697 0.581495 0.564645 \n-28.0455 27.3608 -13.2684 0.230525 -0.658892 0.716044 \n53.3932 41.7382 10.4589 -0.432292 0.163854 0.886722 \n-18.1575 41.9193 11.5197 -0.310003 -0.515365 -0.798935 \n-39.3352 42.2323 10.4995 -0.870004 0.445135 0.212008 \n15.1447 0.48625 -26.4854 -0.668537 -0.179409 0.721713 \n-13.328 43.6957 10.1692 0.239601 -0.307994 -0.920723 \n-19.5142 43.429 11.2695 0.727202 0.215295 -0.651787 \n37.454 43.9446 10.5892 0.315156 0.838683 -0.444172 \n34.4229 -74.761 -21.5277 0.134997 -0.969834 -0.202971 \n39.2611 44.3572 11.2561 0.202465 0.865133 -0.45886 \n-22.9876 18.7811 -18.7963 0.805216 -0.584731 0.0985685 \n42.7444 44.3783 10.389 0.0385572 0.97781 0.205913 \n41.336 44.4396 10.5477 0.0101361 0.975879 -0.218076 \n24.2042 -44.158 -19.1455 0.635043 0.189907 0.74877 \n23.6938 44.1488 10.7051 -0.568198 0.562465 -0.600654 \n-33.2719 29.9969 -13.5363 0.391937 -0.30738 0.867123 \n46.6526 44.96 9.91919 0.0169676 0.66926 0.742834 \n45.1521 45.1171 10.735 0.264742 0.711269 0.651159 \n-19.3974 45.5081 10.5751 0.621283 0.391525 -0.67876 \n49.72 45.4081 10.1952 -0.149949 0.68395 0.713952 \n-17.4504 50.0014 -28.6114 0.521502 0.25453 0.814402 \n-40.0799 45.0546 9.85861 -0.918726 0.320411 0.230823 \n-18.7084 45.8144 10.9256 0.726025 0.352215 -0.59062 \n-21.4582 -15.1408 -25.3617 0.201931 0.030017 0.97894 \n-6.54759 47.0749 -36.2434 0.2463 0.469027 0.848145 \n28.9541 31.8804 -14.6939 -0.981578 -0.166004 0.0945878 \n-1.8669 -17.5515 -36.1002 0.731236 0.481088 0.483579 \n-17.6187 47.8675 10.8023 0.78829 0.586492 -0.186083 \n-30.1168 -15.5556 -18.6302 0.755075 0.227941 0.614739 \n-33.564 32.3231 -13.884 0.458281 -0.0749084 0.885645 \n18.8493 49.1522 10.0645 -0.602323 0.709057 -0.366667 \n17.7373 50.0892 10.9332 -0.796948 0.560023 -0.22638 \n17.3254 51.2863 11.0427 -0.87604 0.400966 -0.267919 \n1.30173 -11.8044 -32.5044 0.117547 0.596016 0.794322 \n-57.6292 50.7488 9.5697 0.46121 0.852522 0.245951 \n-20.5246 18.0096 -17.2751 0.554312 -0.827561 0.0887719 \n35.0411 -9.89935 -8.10642 -0.757286 0.585632 -0.289056 \n-28.8398 -8.72675 -7.71247 0.750974 0.599718 -0.276363 \n-53.2081 51.7556 10.2372 0.166274 0.655186 0.736942 \n29.2469 33.5015 -13.9015 -0.935879 -0.187381 0.298362 \n22.4963 18.5655 -17.9282 -0.773826 -0.552549 0.309649 \n-50.9952 53.0984 10.7697 -0.0847049 0.795465 0.60005 \n-13.3543 54.0089 9.84681 0.694699 0.703868 0.148198 \n-2.84106 4.11645 -31.7005 -0.0434659 -0.033489 0.998493 \n-11.2792 57.0011 10.3535 0.884282 0.454289 -0.10801 \n7.72449 47.8237 -36.2755 -0.120786 0.291956 0.948774 \n-10.0119 58.3547 10.2767 0.611309 0.78651 0.0877647 \n-33.3439 33.7469 -13.8635 0.46007 -0.00206889 0.88788 \n-8.64418 59.1316 10.5329 0.712474 0.68843 0.135809 \n5.71161 5.33985 -31.9883 -0.0303728 -0.0467172 0.998446 \n-33.3564 35.0392 -13.9979 0.499488 0.0286165 0.865848 \n-4.99491 62.7368 10.7762 0.610207 0.789694 -0.0634865 \n2.13837 64.726 9.89342 0.0701923 0.981747 -0.176763 \n11.1262 12.9583 9.61627 -0.191896 -0.84425 -0.500418 \n-4.10714 4.49075 -31.8308 0.0309346 -0.0692669 0.997118 \n29.5673 38.9618 -13.3873 -0.932569 0.110436 0.343683 \n15.7692 1.64255 -26.5323 -0.677842 -0.254734 0.689667 \n-0.224694 14.9294 9.91155 0.151183 -0.0691778 -0.986082 \n-21.6812 24.142 -24.8248 0.933199 -0.234486 0.272314 \n1.49572 15.1613 9.93832 -0.18966 -0.197209 -0.961841 \n-1.10597 16.616 10.0465 0.127205 -0.539994 -0.832001 \n2.32805 17.2267 10.2032 -0.293927 -0.354328 -0.887726 \n-14.335 19.5329 11.4192 0.591772 -0.457382 -0.663783 \n18.6323 19.8407 10.5206 -0.661734 -0.552185 -0.507148 \n42.2914 -42.6198 -9.78864 -0.881121 -0.207247 0.425058 \n-2.17767 5.25735 -31.7277 0.239661 -0.325417 0.914695 \n20.6828 21.8174 10.322 -0.716649 -0.382084 -0.58346 \n-22.5984 21.4347 -18.3604 0.935685 0.138815 0.324383 \n-26.0787 -48.6295 -27.3491 0.205934 0.150761 0.966883 \n-29.5022 38.6425 -14.0374 0.520268 0.333241 0.786303 \n40.4027 26.5679 10.5164 0.0954197 -0.990796 -0.0960125 \n-12.4415 1.50225 -27.1452 0.722894 -0.391525 0.569327 \n35.8797 26.0063 8.73171 0.0108881 -0.941108 -0.337931 \n29.5958 39.9539 -13.9171 -0.924453 -0.322442 -0.203512 \n44.3178 27.1688 10.3303 -0.339595 -0.895685 -0.287094 \n-8.22728 -14.2393 -25.0197 -0.218413 -0.484721 0.84696 \n47.2071 29.4071 9.67986 -0.448041 -0.889506 -0.0896567 \n-28.4296 -70.1287 -22.5657 0.823106 -0.0826153 0.561846 \n-51.0037 29.4428 10.1087 0.496268 -0.823418 0.275139 \n32.2674 29.4215 10.6594 0.487583 -0.415218 -0.768021 \n-1.24178 40.8428 -39.3518 0.00850891 0.059434 0.998196 \n28.0777 -4.99465 -8.67584 -0.317664 0.847879 -0.424489 \n3.68095 6.00265 -31.7848 -0.00579487 -0.0600383 0.998179 \n2.35828 5.05495 -31.6985 -0.162249 -0.384758 0.908646 \n-27.6002 42.9109 -13.5416 0.736236 0.596826 0.31899 \n-38.2034 31.2138 10.6444 -0.677173 -0.149938 -0.720386 \n22.8843 31.6364 10.459 -0.446625 -0.312817 -0.838255 \n23.2797 -69.9711 -22.6123 0.962808 0.213028 0.16619 \n-13.2552 2.84835 -26.7846 0.734113 -0.336585 0.589736 \n-26.7908 43.782 -14.4333 0.917691 0.358793 0.17062 \n-9.75864 -20.9165 -18.8728 -0.758298 -0.502497 0.415308 \n-19.4694 32.4392 9.42687 0.648073 0.156401 -0.745346 \n23.7003 -68.2857 -22.0046 0.875332 0.467041 0.125167 \n-55.6241 32.3902 10.0232 0.519595 -0.849904 0.0876574 \n-29.2935 -69.5352 -21.5992 0.851911 -0.0244931 0.523113 \n-17.8353 32.3115 10.6396 0.373944 0.39029 -0.841332 \n-26.2098 45.8429 -13.9421 0.936338 0.351008 0.00802932 \n24.4995 34.1826 10.0631 -0.57155 -0.129466 -0.810289 \n28.9867 45.9685 -13.8056 -0.978158 0.206711 0.0218439 \n-23.5734 -4.46065 -8.59038 0.426727 0.792102 -0.436437 \n9.77703 43.0472 -37.7324 -0.308483 0.158863 0.93787 \n25.9514 22.9589 -18.3656 -0.932022 0.157403 0.326435 \n52.7586 35.8444 10.3352 -0.500069 -0.255564 0.827417 \n-25.3226 47.3678 -13.4114 0.905788 0.394956 0.153483 \n-0.876025 -22.4633 -44.2981 0.835346 0.438258 0.331854 \n35.6357 -66.8277 -21.8913 -0.549491 0.32539 0.769533 \n31.72 38.565 10.5667 0.584027 0.278671 -0.762401 \n-21.1051 37.9747 9.96812 0.289946 -0.338206 -0.895292 \n-21.1775 40.2848 10.2271 0.757487 0.0855759 -0.647217 \n31.2747 38.9959 10.2302 0.496161 -0.253979 -0.830253 \n29.8506 39.745 9.81051 0.557174 -0.131133 -0.819977 \n-17.3831 38.1393 10.1284 0.359121 0.245278 -0.900484 \n-38.716 39.8542 10.2947 -0.985662 0.0992587 0.136446 \n25.1505 -3.23135 -8.10584 -0.802609 0.355184 -0.479232 \n26.0005 51.4979 -13.7011 -0.685227 0.533973 0.495315 \n-3.39059 6.69035 -31.8123 0.442319 -0.481393 0.756713 \n25.2104 41.5218 9.83062 -0.816644 0.100369 -0.568347 \n-1.73083 -25.2114 -41.8424 0.898319 -0.42925 0.0936279 \n-16.2554 41.6812 9.85535 -0.39055 -0.443163 -0.806894 \n33.5385 -65.5704 -22.1094 -0.331478 0.558622 0.760305 \n27.4703 -38.2122 -18.5689 0.521401 0.601246 0.605511 \n24.9485 52.4492 -14.1755 -0.890335 0.450699 0.0646103 \n-39.0998 41.7942 10.0266 -0.932891 0.295607 0.205745 \n12.9698 58.744 -27.6765 -0.566148 0.60295 0.562075 \n16.7026 4.68925 -25.9477 -0.740824 -0.151496 0.654392 \n32.5505 42.4302 9.95733 0.361907 0.805073 -0.469979 \n-13.5993 42.0517 9.72146 0.402159 0.0703026 -0.912867 \n-22.0776 54.1982 -13.501 0.852027 0.507187 -0.129659 \n34.8577 42.8532 9.75013 0.329455 0.834909 -0.440892 \n-14.2027 42.7497 9.70156 -0.101888 -0.263562 -0.959247 \n-15.1987 43.153 10.2729 -0.391589 -0.639747 -0.661348 \n-39.9446 43.446 10.1922 -0.95734 0.196758 0.211627 \n33.0901 -64.8725 -22.0759 -0.353941 -0.0100263 0.935214 \n35.9794 43.9289 9.66797 0.328841 0.872719 -0.360868 \n51.403 44.8456 10.5401 -0.271183 0.568052 0.777031 \n23.3323 0.532349 -8.63905 -0.69158 0.669928 -0.270025 \n-20.1082 45.1144 10.0482 0.817512 0.369053 -0.442124 \n39.985 44.9068 9.3103 0.0262469 0.997075 -0.0717806 \n23.7388 44.7483 9.68008 -0.587339 0.531278 -0.610554 \n22.8643 44.4676 10.7492 -0.384483 0.767776 -0.512536 \n37.8043 -65.2317 -19.3685 -0.640771 0.433118 0.633894 \n21.1059 47.1688 10.6237 -0.520902 0.626774 -0.579496 \n5.90731 6.90005 -31.7375 -0.0218437 -0.0283625 0.999359 \n21.8852 56.148 -13.6824 -0.652347 0.67459 0.345502 \n-23.5084 21.1779 -16.3228 0.975594 0.00636039 0.21949 \n4.44882 7.36065 -31.7787 -0.172962 -0.18863 0.966697 \n26.4793 21.6808 -17.7414 -0.936273 -0.159159 0.313148 \n-42.7414 48.2283 10.2032 -0.610659 0.667074 0.42674 \n5.19615 8.78185 -32.056 -0.369111 -0.348922 0.8614 \n-58.7215 49.5579 9.17336 0.843913 0.517873 0.140066 \n-19.347 1.56685 -8.83983 0.561694 0.772146 -0.297138 \n18.0805 49.9114 9.52928 -0.698502 0.611325 -0.371991 \n-6.51234 48.6595 -35.9698 0.339251 0.105991 0.934706 \n20.8496 3.33295 -9.0144 -0.919414 0.0767563 -0.385729 \n17.4413 51.2124 9.51253 -0.835267 0.515481 -0.191332 \n19.495 58.1416 -14.0125 -0.587361 0.808865 0.0272846 \n-14.6802 51.5387 10.275 0.811668 0.565831 -0.14502 \n-54.4286 51.8416 10.2386 0.124426 0.763922 0.633199 \n-49.9077 52.1661 10.3018 -0.136313 0.797373 0.587891 \n-51.4562 51.772 9.60582 0.132528 0.705957 0.695745 \n15.9256 53.601 10.649 -0.786965 0.616939 -0.00848323 \n12.04 57.6861 9.52047 -0.854881 0.514883 -0.0638252 \n10.6417 59.4281 10.1635 -0.591873 0.805941 -0.0120702 \n9.38882 59.9591 10.7454 -0.696725 0.717214 0.0133708 \n18.3187 61.001 -13.1471 -0.907098 0.405151 0.114127 \n1.00264 8.67815 -31.9512 0.566408 0.150655 0.810237 \n-6.04345 61.6514 10.2652 0.589924 0.804586 -0.0680518 \n3.4086 64.8855 9.54487 -0.120946 0.991266 -0.0525618 \n43.2901 -75.0543 9.22652 -0.175652 -0.81572 -0.551132 \n-4.89873 8.03945 -31.7983 0.475806 -0.447827 0.757007 \n0.496818 9.44335 9.40777 0.0314547 -0.209253 -0.977355 \n0.383595 12.9741 9.80483 -0.0219432 -0.0755638 -0.9969 \n-1.85902 11.5902 9.57448 0.183186 -0.117138 -0.976075 \n6.81688 9.20825 -32.008 -0.132936 -0.0813442 0.987781 \n10.0976 13.0524 9.84091 0.121346 -0.840162 -0.528586 \n8.41614 13.2787 9.42473 0.354054 -0.870835 -0.341017 \n-19.0463 -37.5919 -19.2666 -0.545762 0.437715 0.714527 \n-16.4624 7.74515 -8.81336 0.896445 -0.0780575 -0.436227 \n-6.28499 13.5563 9.1697 -0.293446 -0.851861 -0.433846 \n6.97688 14.2141 9.92272 0.478331 -0.831097 -0.283685 \n2.82223 14.2065 9.50907 -0.287598 -0.0173924 -0.957593 \n20.2876 7.29395 -8.78225 -0.991197 0.132366 -0.00273111 \n4.24355 15.8222 9.40029 0.450029 -0.839364 -0.304865 \n34.0583 -60.9319 -21.8063 -0.37921 -0.241927 0.893124 \n-9.63167 65.4503 -14.3794 0.61961 0.750071 0.231248 \n3.42938 16.1835 9.35632 0.0066563 -0.497292 -0.867558 \n-1.72594 15.8684 9.4281 0.206397 -0.216201 -0.954284 \n18.6908 17.6612 8.82502 -0.493373 -0.787856 -0.368599 \n11.1495 66.1626 -13.9666 -0.705699 0.679716 0.199938 \n-16.617 19.3002 8.79465 0.67492 -0.477291 -0.56274 \n38.3489 26.132 9.38858 -0.260825 -0.870749 -0.416854 \n36.7947 26.129 9.65746 0.0428381 -0.942753 -0.330728 \n36.3107 -59.1815 -21.6611 -0.544382 -0.361008 0.75718 \n27.4378 -59.1774 -22.3401 0.441744 -0.0136596 0.897037 \n41.6081 26.6225 8.92436 -0.000504692 -0.999935 -0.0113599 \n39.7791 26.7802 9.24385 -0.148211 -0.983056 -0.107868 \n6.0491 48.9171 -36.3784 -0.229554 0.071588 0.97066 \n-40.6171 26.5114 8.731 0.0827506 -0.929386 -0.359713 \n-24.0576 27.6318 -18.4774 0.894071 -0.227739 0.385709 \n-1.54651 9.15605 -31.7694 -0.570493 0.278994 0.772464 \n-2.8485 10.8156 -32.1676 -0.598266 0.265807 0.755926 \n-31.1467 -57.9576 -21.8196 0.948477 -0.309995 0.0655341 \n36.6858 -57.6741 -21.4446 -0.56101 -0.125312 0.818269 \n-36.7887 29.9263 9.50637 -0.379303 -0.23576 -0.894733 \n-6.43782 9.53415 -31.5014 0.318437 -0.173688 0.931896 \n35.9735 -56.7985 -22.3171 -0.427025 -0.0368149 0.90349 \n-18.8932 29.4477 10.6167 0.651365 0.097837 -0.75243 \n-51.4295 30.1145 8.825 0.390652 -0.894162 0.218781 \n20.5005 13.4708 -8.65133 -0.88768 -0.460458 -0.00159517 \n-53.7974 30.6986 9.31403 0.673327 -0.710615 0.204101 \n48.5925 30.2525 10.2538 -0.66914 -0.725868 0.159275 \n27.0355 -56.9958 -21.7941 0.604393 0.0318615 0.796049 \n26.4442 24.0545 -16.8598 -0.965339 -0.256464 0.0484435 \n23.4056 30.0991 9.83471 -0.651883 -0.113634 -0.749757 \n-36.9511 31.6132 9.87237 -0.5134 -0.0866506 -0.853764 \n24.4855 32.2142 9.74061 -0.479901 -0.227316 -0.847362 \n-36.724 33.0075 9.61682 -0.521541 0.11046 -0.846046 \n27.819 33.5292 9.80318 0.439088 0.029487 -0.89796 \n-14.4833 7.54035 -25.9749 0.836675 0.12298 0.533714 \n27.6893 -74.9851 -14.1859 0.272132 -0.927853 -0.255015 \n0.899272 50.8285 -37.0904 -0.0325236 0.353063 0.935034 \n21.0837 14.713 -9.49159 -0.812593 -0.578716 0.0691423 \n25.9378 34.424 9.54739 -0.325374 -0.0975206 -0.940543 \n-59.1631 34.8822 9.93598 0.736205 -0.662741 0.137027 \n22.1999 15.691 -8.64365 -0.769454 -0.630414 0.102566 \n29.1798 35.4279 10.414 0.544493 0.251164 -0.800278 \n-16.7759 36.3562 9.61848 0.405601 -0.656416 -0.636086 \n-37.4989 37.1059 9.72954 -0.668104 0.0865405 -0.739018 \n52.6676 37.532 9.83296 -0.425992 -0.0695752 0.902048 \n25.7148 37.1448 9.70972 -0.398834 0.0274008 -0.916614 \n-20.2229 37.8199 9.75336 -0.17878 -0.494309 -0.850704 \n-19.2789 37.9582 9.5425 -0.0287679 -0.192558 -0.980864 \n1.84421 31.6056 -38.9585 0.211832 -0.333807 0.918531 \n-37.6646 38.2117 9.54682 -0.604606 0.491195 -0.62704 \n-31.3322 -53.6544 -22.6325 0.891875 -0.118937 0.436363 \n29.6537 38.2867 9.31704 0.490433 0.261199 -0.831415 \n36.4528 -53.6441 -22.0618 -0.395503 -0.0923971 0.913805 \n-21.0751 17.9669 -8.34322 0.84443 -0.532932 -0.0540564 \n-38.3921 39.2407 9.31847 -0.838266 0.534868 -0.105954 \n25.854 39.8279 9.35255 -0.754692 0.0583999 -0.653475 \n-17.2411 39.6397 9.70197 0.115673 0.0831404 -0.989802 \n-18.2757 39.6075 9.75725 -0.404824 -0.447131 -0.797616 \n53.0682 39.9366 10.0399 -0.469339 0.0729101 0.880003 \n-22.0644 40.2766 8.53699 0.872266 0.128718 -0.471789 \n24.9157 31.6977 -26.3432 -0.840924 -0.129898 0.525331 \n-15.4504 41.0948 9.75274 0.233797 0.303063 -0.923846 \n31.5215 42.2421 9.08059 0.424383 0.778906 -0.461742 \n-20.7561 42.4604 9.85184 0.805729 0.19034 -0.560866 \n52.2267 41.8698 9.66917 -0.460606 0.23643 0.855537 \n50.3535 44.3767 9.73831 -0.359211 0.35968 0.861161 \n33.3634 42.9329 8.91642 0.329063 0.810538 -0.484506 \n-40.0187 43.487 9.10989 -0.917105 0.388698 0.0884959 \n24.9447 43.6317 9.31682 -0.771899 0.418961 -0.478166 \n46.3138 -73.548 -14.1342 -0.50395 -0.121403 0.855158 \n44.5382 44.2763 9.7825 0.0857417 0.900264 0.426818 \n36.7615 -52.0466 -22.1656 -0.469559 -0.0336264 0.882261 \n42.9197 44.3794 9.73435 -0.178411 0.970022 -0.165006 \n-1.88363 10.6726 -31.6996 -0.0856044 -0.1396 0.986501 \n22.3615 45.4169 9.80486 -0.742837 0.475361 -0.471407 \n9.23019 60.032 -28.3966 -0.198779 0.73867 0.644091 \n-61.6353 45.1078 9.82231 0.88577 0.42249 0.19213 \n-41.4623 46.543 9.70036 -0.617105 0.635996 0.463347 \n-60.9981 45.5081 8.76536 0.84463 0.486885 0.222584 \n22.2388 47.0486 9.58738 -0.711351 0.529741 -0.461902 \n-18.5198 47.0347 9.583 0.643794 0.738891 -0.198921 \n0.00932185 -21.6228 -44.6945 0.670944 0.648927 0.358787 \n26.9784 -51.2021 -21.878 0.430652 0.0315117 0.901968 \n-13.8149 -50.9418 -22.3975 -0.884583 0.0572062 0.462861 \n20.0276 48.5375 9.86735 -0.50751 0.69349 -0.511375 \n-16.9288 49.2775 9.68187 0.783554 0.609242 -0.121934 \n26.0735 -73.2543 -13.7055 0.801872 -0.2506 -0.542402 \n0.851888 10.591 -32.0099 0.218054 -0.135695 0.966457 \n37.0061 -50.4013 -21.7411 -0.531138 -0.0224498 0.846988 \n-35.8709 -74.145 -13.5351 0.827279 -0.443778 0.344485 \n-53.4077 50.7676 9.10268 0.0711242 0.745249 0.662982 \n-48.6469 51.5198 9.56631 -0.177678 0.773397 0.608512 \n41.7842 -41.6271 -10.7248 -0.911839 -0.253184 0.323185 \n-0.722981 11.6235 -32.1635 0.0605182 -0.202403 0.977431 \n-11.9857 54.7855 9.78749 0.894597 0.440024 -0.0779435 \n-11.723 56.4023 9.44666 0.814814 0.577886 0.046103 \n18.2903 50.8724 -29.4459 -0.328867 0.809433 0.486482 \n13.7044 56.7169 9.78294 -0.649973 0.750661 -0.118504 \n-8.85385 58.9297 9.42791 0.7293 0.68273 -0.0447287 \n10.5738 59.8676 9.32363 -0.628174 0.741473 -0.235827 \n-7.89678 60.2068 10.6557 0.758427 0.649915 0.0489837 \n37.4538 -47.6543 -21.6343 -0.521877 -0.00989493 0.852964 \n7.15158 63.2676 9.39805 -0.630518 0.733726 -0.253167 \n-5.68015 61.8839 8.62187 0.60097 0.797677 -0.050457 \n-14.7222 9.02315 -24.9218 0.879807 0.0841042 0.467831 \n-3.63836 63.2081 8.96524 0.214166 0.958683 -0.187243 \n-2.85007 11.8473 -32.0931 -0.0756817 -0.066346 0.994922 \n5.94739 63.7889 9.70629 -0.527059 0.818717 -0.227839 \n-1.49152 63.8811 10.096 0.38554 0.922535 -0.0169585 \n-2.48532 63.4867 8.68859 0.371975 0.873638 -0.313674 \n42.5033 -74.7096 9.5033 0.628795 -0.180761 -0.756269 \n43.1632 -74.4354 9.58973 -0.368537 0.0261632 -0.929245 \n43.9876 -74.7747 8.79313 -0.984953 -0.158388 -0.0691462 \n43.0322 -73.4506 9.2571 -0.433693 0.644287 -0.629924 \n27.1735 -48.0253 -21.8541 0.520795 0.209285 0.827631 \n-1.81111 8.64875 8.9731 0.172832 -0.246215 -0.953681 \n16.2658 8.73275 -26.6054 -0.754345 0.148073 0.639561 \n27.7817 -49.2885 -22.4008 0.324235 0.111702 0.939358 \n2.93056 10.003 9.44212 -0.189382 -0.0624044 -0.979919 \n-3.98299 9.68315 8.66092 0.314598 -0.141845 -0.938567 \n-35.9397 -69.4986 -13.4006 0.818723 0.529316 0.222522 \n46.2225 -70.539 -14.1642 -0.377549 0.371305 0.848286 \n-24.6029 29.8085 -18.1857 0.74379 -0.211723 0.633995 \n6.60972 14.2088 8.76038 0.48649 -0.835448 -0.255647 \n15.2553 15.3465 9.91434 -0.501249 -0.681955 -0.532622 \n-2.84342 14.7197 8.9531 0.378435 -0.00985445 -0.925576 \n-5.00772 29.2826 -38.0527 0.216299 -0.229667 0.94893 \n5.45124 14.8899 8.77932 0.465415 -0.826493 -0.316699 \n-3.09238 15.1324 9.20184 -0.389635 -0.81168 -0.435155 \n-6.84716 61.7066 -27.4521 0.304463 0.80687 0.506224 \n18.4156 18.3651 10.0112 -0.72789 -0.381777 -0.56958 \n45.5979 -68.2914 -13.2917 -0.493945 0.477648 0.726547 \n7.61326 49.5624 -36.4212 -0.215577 0.155175 0.964078 \n-17.6227 20.7966 9.37778 0.624796 -0.485121 -0.611791 \n20.6649 20.5544 9.21554 -0.622004 -0.637604 -0.454502 \n29.0263 -46.3161 -22.051 0.394182 0.162996 0.904463 \n-14.6604 -47.2607 -23.3338 -0.795653 0.249728 0.551881 \n-0.661876 49.3531 -37.4909 0.0697992 0.295533 0.952779 \n-19.8538 25.082 8.97295 0.819778 -0.170846 -0.546604 \n27.1491 26.9928 -16.2438 -0.96447 -0.230928 0.128335 \n5.9022 50.4807 -36.0143 -0.200563 0.300523 0.932449 \n33.5832 26.5886 9.82778 0.260508 -0.825759 -0.500257 \n-37.5717 26.4459 9.17115 -0.254164 -0.365657 -0.895375 \n-33.2396 -42.1813 -10.4172 0.963767 0.248879 0.0959783 \n31.1348 27.6313 9.74987 0.474673 -0.540586 -0.694588 \n-38.6133 27.7387 9.52427 -0.35624 -0.326137 -0.87563 \n-44.3302 27.3748 9.89709 0.228571 -0.944054 -0.237735 \n37.3777 -45.2393 -21.7234 -0.488008 0.00492054 0.872825 \n-3.84377 13.1735 -32.0421 -0.041323 0.051322 0.997827 \n30.9278 -44.4002 -22.4734 0.220867 0.228099 0.948256 \n-48.6482 28.9786 9.08047 -0.307296 -0.774297 0.553203 \n-49.8818 28.5271 9.71244 0.41653 -0.898285 0.139955 \n36.4661 -44.9055 -22.3728 -0.411927 0.0484457 0.909928 \n-29.4092 -66.0048 -13.4487 0.344518 0.93205 -0.112209 \n28.517 31.0072 9.65276 0.392142 -0.439117 -0.808333 \n25.3165 30.7811 8.91749 -0.263059 -0.30758 -0.914437 \n-35.7859 31.1416 9.44016 -0.330011 -0.0108913 -0.943914 \n-15.618 -43.8747 -22.0055 -0.757022 0.345209 0.554751 \n-8.70863 14.2373 -31.8957 0.479025 0.518573 0.708249 \n-4.22135 14.1859 -31.9549 0.0634984 0.219164 0.97362 \n23.3861 36.8573 -30.0544 -0.777151 -0.248768 0.578058 \n26.7895 31.9069 9.11799 0.285419 -0.240171 -0.927822 \n-37.2118 26.3542 -8.26243 0.702381 -0.586226 0.403733 \n26.0119 32.8264 9.28495 -0.0771341 -0.170954 -0.982255 \n50.2951 33.3687 8.3656 -0.854216 -0.313636 0.414666 \n-19.0161 33.744 9.28338 0.334261 0.478177 -0.812167 \n-6.60045 -14.5353 -24.2669 -0.242981 -0.688772 0.683047 \n-17.4452 34.5082 8.994 0.330599 0.510439 -0.793823 \n26.8155 34.6912 9.42531 -0.114349 0.0664677 -0.991215 \n17.917 51.4566 -28.2383 -0.411522 0.495519 0.764925 \n-16.4499 35.6259 9.47041 0.601643 0.0823392 -0.79451 \n14.5239 64.481 -10.4481 -0.587306 0.801791 -0.110463 \n25.7442 -65.3718 -13.819 0.871702 -0.205478 -0.444876 \n27.7257 35.7516 9.30879 0.430261 0.199241 -0.880442 \n-18.115 37.0699 9.91253 0.290442 -0.537842 -0.791435 \n32.6314 26.8738 -8.17356 -0.277596 -0.867117 0.413579 \n27.6917 36.6554 9.03345 0.216831 0.231944 -0.948254 \n-19.8458 37.0101 9.14311 0.0757832 -0.558369 -0.826124 \n-21.9587 36.0886 8.40829 0.590277 -0.361575 -0.72169 \n33.6385 27.8114 -8.71523 -0.423467 -0.713897 0.557697 \n26.9571 38.329 9.0771 -0.260759 0.176392 -0.949153 \n-11.83 64.5986 -11.168 0.566309 0.824189 -0.00243133 \n29.7236 -37.3496 -19.0828 0.164805 0.615747 0.770516 \n-36.3506 38.0526 8.961 -0.451912 0.520993 -0.724115 \n-18.354 -38.3345 -19.0998 -0.566278 0.624133 0.538319 \n31.6877 -43.3559 -22.2556 0.282412 0.32776 0.901564 \n-38.1396 38.8864 8.85775 -0.460736 0.806326 -0.370891 \n-21.1284 -63.6568 -14.381 -0.36485 0.416239 -0.832844 \n34.4992 28.5809 -9.09275 -0.325892 -0.547301 0.77088 \n52.0126 39.435 9.5113 -0.56354 0.00222109 0.826086 \n-20.6118 -64.3425 -13.8709 -0.53792 0.816375 -0.210175 \n29.8916 40.6357 9.57377 0.598626 0.4777 -0.643 \n25.9196 42.258 8.47553 -0.796331 0.268904 -0.5418 \n32.8675 -42.368 -22.1456 0.211246 0.310299 0.926871 \n31.1607 -41.9635 -21.6605 0.185432 0.302324 0.934995 \n-24.6122 -63.4273 -13.9968 0.344212 0.693762 -0.632623 \n8.93976 15.9145 -31.7523 -0.462058 0.212573 0.860997 \n-62.1963 42.0027 8.98407 0.833829 -0.0255965 0.551429 \n-25.2557 34.5588 -18.0017 0.821904 -0.203477 0.532045 \n-9.55745 -13.5186 -25.6176 -0.0893973 -0.413767 0.905983 \n49.3217 43.6601 9.06605 -0.179518 0.528432 0.829779 \n-4.27616 15.2825 -31.7183 0.161948 0.105208 0.981175 \n35.7088 -41.2995 -22.1133 -0.260472 0.468512 0.844187 \n45.4778 43.9897 8.79112 0.00871892 0.875432 0.483262 \n-1.23897 30.547 -38.3926 -0.175673 -0.299437 0.937804 \n44.3699 44.0926 8.58217 -0.32356 0.946048 0.0173835 \n-20.8654 44.0632 8.89713 0.83306 0.351577 -0.427088 \n34.3522 -41.6063 -22.4102 0.0849816 0.464437 0.881519 \n41.6788 44.5879 9.26912 -0.0431383 0.981864 -0.184611 \n31.9148 -40.3638 -21.0773 0.144188 0.434125 0.889239 \n22.9035 45.3409 9.59881 -0.346523 0.66729 -0.659277 \n-15.1299 11.9601 -25.9368 0.839056 0.277923 0.467701 \n-16.3333 -42.1264 -21.9541 -0.579478 0.57991 0.572634 \n-19.6779 46.4572 8.72397 0.730317 0.626986 -0.271157 \n-42.3544 46.4123 8.53022 -0.644096 0.616501 0.452842 \n6.02769 62.9115 -27.2486 -0.191744 0.804866 0.561628 \n-59.3758 47.939 7.74207 0.859659 0.470511 0.19901 \n-24.242 -61.9381 -13.6807 -0.128017 -0.376085 -0.917699 \n-17.8685 47.6594 8.87659 0.751894 0.622495 -0.217154 \n-43.7926 48.7294 9.01178 -0.590761 0.683158 0.429299 \n-16.1403 50.1066 8.93482 0.672355 0.731298 0.114636 \n-45.0205 49.7107 9.82747 -0.533194 0.728583 0.429966 \n-15.1638 50.9157 8.95643 0.782183 0.617116 0.085775 \n-52.5755 51.0023 9.45606 0.236927 0.685245 0.688698 \n-55.236 50.9888 9.63513 0.0420053 0.760697 0.647747 \n-18.4068 -65.8549 -29.0827 0.033638 0.358999 0.932732 \n16.0069 53.2114 9.37297 -0.750398 0.627817 -0.206758 \n-14.7019 51.9102 8.79513 0.853634 0.515689 0.0733029 \n-17.6348 -41.6271 -22.4622 -0.571393 0.551738 0.607532 \n29.2841 36.5613 -17.9684 -0.970022 -0.230863 0.0758956 \n14.8195 54.1336 9.80444 -0.790964 0.585308 -0.178299 \n15.1849 54.7664 8.58341 -0.777053 0.52263 -0.350779 \n14.3633 56.1526 7.78821 -0.621918 0.778061 -0.0885426 \n38.7882 31.3552 -8.2603 -0.531844 -0.259411 0.806132 \n12.6866 57.2104 8.29644 -0.661482 0.734437 -0.151802 \n-9.38715 65.3564 -9.12319 0.57113 0.820487 -0.0247201 \n11.6726 58.4451 9.64669 -0.786798 0.615724 -0.0428109 \n9.51721 60.4254 9.6798 -0.8011 0.540265 -0.257589 \n-23.0553 -60.2831 -13.5773 -0.11383 -0.431388 -0.894957 \n-4.40826 62.8808 8.7202 0.543294 0.82783 -0.139749 \n-1.38084 64.0805 9.07186 0.400022 0.847836 -0.348075 \n5.15294 64.4184 9.28823 -0.362821 0.911746 -0.192563 \n39.986 32.6042 -7.56996 -0.712968 -0.0968603 0.694474 \n2.85717 65.0979 9.05401 0.0372106 0.4501 -0.892202 \n10.086 17.6887 -31.7692 -0.3331 -0.79377 0.508895 \n0.13448 64.7377 8.98729 0.254652 0.809148 -0.529558 \n-39.6413 32.4508 -8.56995 0.561045 -0.0131836 0.82768 \n43.211 -75.2411 8.48739 -0.283656 -0.949887 0.131352 \n43.5588 -73.8918 9.10584 -0.833332 0.46133 -0.304521 \n42.5332 -73.8717 9.3991 0.345228 0.308416 -0.886396 \n1.70646 7.20065 8.44783 -0.0160237 -0.572492 -0.819754 \n-20.126 -39.502 -22.1156 -0.363141 0.720012 0.591364 \n-6.56694 16.1922 -31.0811 0.391202 -0.248007 0.886258 \n2.36561 8.64565 9.2255 -0.092336 -0.345127 -0.934003 \n-25.1087 -39.2944 -22.559 0.18098 0.730936 0.658012 \n-26.4985 -38.952 -22.307 0.125031 0.800771 0.585776 \n-26.2313 36.6014 -17.7607 0.67388 -0.0901348 0.733322 \n-4.06888 11.7729 8.70078 0.459563 0.0343678 -0.88748 \n27.8639 29.9015 -17.2368 -0.96831 -0.221909 0.114595 \n-11.2825 12.5932 8.20322 0.250833 -0.79539 -0.551759 \n13.3514 13.3077 8.91123 -0.422627 -0.770949 -0.476471 \n-2.21597 13.2724 9.54037 0.307009 0.034848 -0.951068 \n-11.2091 13.7899 9.54043 0.391836 -0.611289 -0.687598 \n-6.58132 17.971 -31.5976 0.394939 -0.350355 0.849279 \n-4.03045 13.9704 8.46566 0.365717 -0.0766026 -0.927568 \n-4.56953 14.2278 8.94449 -0.348819 -0.82112 -0.45176 \n-9.076 17.4321 -31.508 0.137885 -0.659202 0.739216 \n29.4977 37.6241 -17.7359 -0.949571 -0.0563951 0.308439 \n-12.8763 15.9709 10.2753 0.568231 -0.510131 -0.645663 \n22.3979 -57.8521 -14.8979 0.972626 -0.220977 -0.071892 \n-26.2087 37.6889 -17.9683 0.881521 -0.0073872 0.472088 \n4.42595 15.2945 8.7432 -0.246545 -0.322093 -0.914041 \n38.7448 35.3086 -8.29671 -0.650058 0.130509 0.748594 \n40.0235 -57.5406 -14.5702 -0.998348 -0.0507241 -0.0269737 \n-16.3636 18.1818 8.48363 0.651629 -0.456702 -0.605642 \n-29.7693 -56.7072 -14.2455 0.789955 -0.448039 -0.418607 \n0.101223 31.5408 -38.2011 -0.0135424 -0.268898 0.963073 \n-39.8536 35.8608 -8.18503 0.621126 0.241563 0.745553 \n-18.7409 23.9345 10.0008 0.695302 -0.298958 -0.653589 \n17.1948 16.5539 -25.6599 -0.736795 -0.399956 0.545131 \n34.7084 25.7642 8.45489 0.105099 -0.917297 -0.384083 \n-38.5569 25.8958 8.75972 0.128393 -0.728933 -0.672438 \n2.37101 63.2563 -27.4235 -0.0691946 0.896971 0.436641 \n-39.5925 27.1378 9.46313 -0.0732368 -0.661182 -0.746642 \n42.5426 26.4715 7.96613 0.00194614 -0.988721 0.149756 \n-12.1464 18.9569 -31.821 0.334769 -0.67614 0.656326 \n24.893 -24.8871 -22.6488 -0.200853 -0.466659 0.861329 \n36.6568 38.7342 -8.5895 -0.391327 0.500049 0.772538 \n-36.9677 27.9429 8.90144 -0.370713 -0.255968 -0.892778 \n-46.6035 28.1945 10.0929 0.413626 -0.906132 -0.0885343 \n20.1996 -25.3079 -21.613 0.270686 -0.5203 0.809949 \n-27.0755 -74.5653 -19.4336 -0.0895676 -0.992188 -0.0868393 \n37.9384 38.9043 -7.94798 -0.55077 0.40383 0.730461 \n11.7483 66.3695 -9.67604 -0.383989 0.923332 0.00308431 \n-24.6656 -24.8908 -22.0347 0.334772 -0.558738 0.758775 \n-34.9763 29.0554 8.71036 -0.345747 -0.306173 -0.886971 \n-48.2165 29.4916 8.3779 -0.0926341 -0.941657 0.323575 \n-49.2099 28.5744 9.10985 0.00282667 -0.907287 0.420503 \n0.432487 63.1121 -27.7295 0.0333178 0.849653 0.526288 \n-7.64389 22.313 -35.3776 0.568478 -0.247922 0.784453 \n21.2021 -25.0213 -22.2914 0.304732 -0.547524 0.77933 \n-12.9697 -53.4929 -14.5204 -0.901864 -0.309513 -0.301401 \n49.8522 32.0532 9.29336 -0.778435 -0.570163 0.262589 \n-35.1105 34.31 8.69697 -0.327523 0.217731 -0.919414 \n26.2097 -24.5255 -22.3073 -0.129695 -0.49231 0.860704 \n0.514287 -27.1295 -49.4335 0.636361 -0.732957 -0.240457 \n51.3042 33.881 9.91879 -0.727318 -0.472998 0.497274 \n-31.2271 -52.2481 -13.7557 0.966014 -0.207913 0.153588 \n-15.5564 -74.8437 -27.8584 0.0766333 -0.98576 -0.149679 \n-36.6772 35.1852 9.23455 -0.630809 0.142157 -0.762805 \n51.4994 34.9072 9.68952 -0.692474 -0.220974 0.686767 \n-12.8185 19.6206 -31.9311 0.449249 -0.217124 0.866622 \n-17.5916 36.2158 8.76041 0.287719 -0.669883 -0.684452 \n-21.1859 36.5149 9.02775 -0.0394675 -0.607019 -0.793707 \n27.784 -23.9444 -22.6245 -0.261531 -0.481557 0.836483 \n-59.9184 36.3689 8.23793 0.820334 -0.479809 0.311185 \n19.2432 -24.2821 -21.7682 0.289296 -0.545182 0.786819 \n-21.9473 37.6899 9.23184 0.772365 -0.162023 -0.614166 \n51.4571 36.6311 9.15954 -0.669598 -0.0686328 0.739546 \n28.3267 38.4569 8.91767 0.143217 0.172474 -0.974547 \n-31.5614 -51.2569 -14.5133 0.928546 -0.286111 -0.236521 \n-21.9396 38.9322 9.32645 0.913256 0.0618741 -0.402661 \n41.8675 -50.396 -13.8892 -0.853954 -0.319152 -0.41098 \n-26.1049 41.0519 -17.9185 0.830448 0.274699 0.484661 \n28.9424 39.7 8.972 0.530135 0.235397 -0.814583 \n26.0445 38.8973 9.26418 -0.501989 0.157033 -0.850498 \n-31.7322 -49.9534 -14.0015 0.972538 -0.0532545 0.22657 \n42.139 -49.8482 -14.5115 -0.998618 -0.0305806 0.0427413 \n-15.197 -23.4593 -22.1432 -0.457726 -0.552012 0.696972 \n-39.335 40.9392 8.57738 -0.977628 0.204244 0.0502855 \n29.1975 40.5733 -17.2755 -0.958319 0.269014 0.0962133 \n51.1168 40.525 8.70092 -0.537399 0.181778 0.823504 \n51.3815 41.3456 9.19583 -0.460059 0.234327 0.856409 \n-16.4479 16.8454 -25.376 0.354095 -0.915423 0.191357 \n49.0942 42.8778 8.49624 -0.402429 0.357763 0.842649 \n32.1667 42.6997 8.21456 0.357626 0.839667 -0.408734 \n-5.11228 -13.9875 -24.9424 0.101799 -0.648813 0.754108 \n-14.286 -22.4327 -22.5254 -0.517639 -0.405175 0.75358 \n2.68072 -20.7831 -29.2006 -0.392398 -0.514255 -0.762604 \n-40.5588 44.1992 8.37716 -0.825343 0.403175 0.395295 \n25.2481 44.6798 8.34374 -0.759358 0.372492 -0.533503 \n42.9363 44.9299 8.48446 -0.220646 0.945186 -0.240703 \n23.9832 45.6708 8.94958 -0.51066 0.574871 -0.639335 \n21.2479 -47.2469 -13.7649 0.95473 0.00172907 0.297468 \n17.5518 22.997 -31.482 -0.73731 -0.292363 0.609014 \n-32.3321 -46.8138 -13.4473 0.993593 -0.112951 0.0039935 \n-1.35459 67.2323 -18.9417 0.130226 0.928924 0.346614 \n-17.2852 17.2847 -26.1686 0.234563 -0.969208 0.0749448 \n-45.3581 49.3841 8.61825 -0.393323 0.806246 0.441888 \n6.18864 -26.4648 -49.6904 -0.902654 -0.34725 -0.254229 \n18.674 50.2376 8.47744 -0.647847 0.648639 -0.399452 \n-7.13478 30.8848 -37.4301 0.273619 -0.180455 0.944759 \n-26.6918 -21.8463 -22.309 0.528053 -0.151333 0.835618 \n21.5705 -45.6871 -14.0049 0.935789 0.0740925 0.344688 \n-46.8497 49.8922 8.41216 -0.303926 0.698427 0.647942 \n-48.3018 50.7323 8.80465 -0.29637 0.669411 0.681215 \n18.0947 51.1357 8.57626 -0.755718 0.518454 -0.40012 \n-49.5359 51.2864 8.61359 -0.140814 0.748106 0.648467 \n-13.8889 -21.0167 -22.7929 -0.452927 -0.407998 0.792714 \n32.5575 -19.8099 -21.9762 -0.586667 -0.166451 0.792537 \n21.6147 -44.0667 -13.8098 0.965692 0.120402 0.230093 \n-13.8412 52.6852 7.88389 0.816305 0.577607 -0.00393063 \n-13.1298 53.6282 8.26787 0.632662 0.77054 0.077503 \n16.1743 53.9295 8.34457 -0.696304 0.595138 -0.401213 \n-12.1736 54.3615 9.11896 0.755582 0.651964 0.0635481 \n-12.2176 55.2719 8.76219 0.953466 0.293112 -0.0706211 \n41.8416 -43.4292 -13.8165 -0.997178 -0.00679091 0.0747664 \n12.0033 58.5204 8.65794 -0.769316 0.578242 -0.271641 \n-13.7243 -43.0144 -13.4257 -0.899535 0.430082 -0.0765936 \n-6.66564 61.451 8.26547 0.549288 0.812944 -0.193401 \n-32.6172 -42.4814 -13.7957 0.965477 0.0254162 -0.259244 \n6.60589 64.0485 8.94004 -0.270466 0.278168 -0.921667 \n5.38795 64.6438 8.88437 -0.0608165 0.458165 -0.886784 \n-1.28738 64.7081 8.58054 0.250604 0.235772 -0.938941 \n-17.5022 17.5847 -26.9798 0.445364 -0.755074 0.481159 \n41.667 -40.7354 -14.5743 -0.957463 0.191357 0.215978 \n3.8219 65.0828 8.90161 -0.279199 0.58051 -0.76489 \n14.1107 -19.7867 -22.478 0.444286 -0.534297 0.719122 \n-32.1955 -40.9879 -14.226 0.972606 0.216354 0.0850234 \n42.9842 -39.7713 -10.9326 -0.986245 -0.161536 0.035036 \n0.765021 65.3158 8.68073 0.133308 0.388445 -0.911778 \n3.53072 66.4883 8.71097 -0.200766 0.317217 -0.926858 \n1.41055 67.1404 8.49134 0.139373 0.435076 -0.889541 \n6.54917 -27.4472 -54.5592 -0.991638 0.0801841 0.101113 \n-31.9718 -40.1896 -14.7426 0.92323 0.351311 0.155651 \n40.7984 -74.1685 7.77278 0.762135 -0.25342 -0.595759 \n42.0015 -72.3944 8.47206 0.129717 0.617273 -0.775982 \n-16.1759 -39.1676 -14.4647 -0.877717 0.479172 -0.00262341 \n-6.32191 32.8428 -38.3113 0.248543 -0.213533 0.944791 \n4.59951 7.31055 8.28628 -0.123886 -0.639248 -0.758956 \n23.3678 -38.9966 -14.2184 0.71877 0.615408 0.323484 \n-0.470442 7.71545 8.8135 0.0714692 -0.513791 -0.854934 \n5.96394 8.29865 8.37667 -0.305334 -0.214753 -0.927713 \n-4.07563 8.17475 8.26851 0.304067 -0.377034 -0.874865 \n8.95948 34.0631 -38.481 -0.194188 -0.110622 0.974707 \n-5.24265 9.98695 8.12288 0.529277 -0.050571 -0.846941 \n-29.6483 44.104 -9.20819 0.577253 0.740346 0.34448 \n-11.5863 -18.6658 -21.9361 -0.629464 -0.348738 0.694376 \n18.5437 25.2318 -31.4102 -0.736408 -0.35584 0.575396 \n4.93012 12.5128 8.74084 -0.401069 0.0910419 -0.911512 \n-15.1125 25.1837 -32.0233 0.542153 -0.276985 0.793315 \n28.1471 31.2456 -17.5658 -0.978233 -0.202951 -0.0432542 \n14.0685 12.5385 6.62048 -0.480155 -0.784308 -0.392827 \n-16.1413 26.902 -32.2137 0.479037 -0.325533 0.815201 \n7.31321 13.6243 8.18666 0.471423 -0.833729 -0.2875 \n-28.306 45.0559 -8.90113 0.585708 0.805326 0.0916332 \n4.78889 14.7466 8.51733 -0.393429 -0.0182569 -0.919174 \n-22.1023 -74.5462 -28.8479 0.746849 -0.224233 0.626047 \n31.6824 -16.7641 -22.2749 -0.539322 -0.0299834 0.841566 \n29.2813 46.3451 -8.66076 -0.985093 -0.0600119 0.161215 \n19.3892 18.298 8.56317 -0.789981 -0.407171 -0.458412 \n19.8804 28.4522 -32.0041 -0.603531 -0.319544 0.730508 \n21.9627 20.2418 6.59729 -0.617768 -0.701912 -0.354516 \n22.0718 21.2441 7.85621 -0.808538 -0.377498 -0.4514 \n-16.3705 -37.9136 -13.6244 -0.994902 -0.0757131 0.0666201 \n-13.295 -74.5495 -27.2402 -0.489451 -0.850488 0.192633 \n-18.729 20.7069 8.02774 0.699916 -0.46437 -0.542658 \n23.1462 25.2919 8.76907 -0.831185 -0.278716 -0.481091 \n32.585 26.5053 8.85376 0.199225 -0.87814 -0.434948 \n38.3332 25.7883 8.27338 -0.220588 -0.970746 -0.0948345 \n-35.6544 26.0389 8.10812 -0.168485 -0.695025 -0.698966 \n38.6718 -34.7924 -14.4584 -0.461208 0.777967 0.426679 \n45.4344 26.6957 8.81095 -0.682313 -0.559993 -0.469954 \n44.6451 26.5466 8.92722 -0.00429723 -0.98998 -0.141139 \n31.2563 26.1168 7.90939 0.287111 -0.835909 -0.467785 \n30.2972 27.0243 8.46409 0.50488 -0.701188 -0.50342 \n-43.5271 26.7369 7.74962 0.279347 -0.947869 -0.153328 \n-35.2737 27.6557 8.1672 -0.401107 -0.15825 -0.902258 \n24.274 27.9797 8.36013 -0.470855 -0.365043 -0.803143 \n-2.72688 51.7647 -36.5259 0.120671 0.332227 0.935448 \n29.6819 29.0879 8.87202 0.408351 -0.482351 -0.774975 \n27.8104 28.4198 7.7584 0.271644 -0.512632 -0.814505 \n24.0964 29.1006 8.69259 -0.524041 -0.288971 -0.801172 \n-47.375 28.4476 7.80728 0.52862 -0.848858 -0.000690499 \n-47.9351 28.947 9.07928 0.37612 -0.904565 0.200737 \n29.0789 44.1694 -6.64958 -0.900361 0.426611 0.0857458 \n-21.3635 29.3986 7.05681 0.795367 -0.0933309 -0.5989 \n-50.402 29.3645 8.32341 0.455428 -0.864264 0.21362 \n27.2815 30.2188 8.67702 0.177154 -0.405541 -0.896746 \n-0.237165 -16.23 -22.408 0.100186 -0.923137 -0.371188 \n-32.866 30.8029 8.3086 -0.377876 -0.104671 -0.91992 \n-20.3174 31.317 8.69245 0.794092 0.0221416 -0.607395 \n-53.7663 31.8081 7.45194 0.610447 -0.715867 0.338952 \n-33.1634 32.7847 8.48291 -0.342802 0.102523 -0.933797 \n-5.83362 -16.7107 -21.3146 -0.404718 -0.716024 0.568781 \n49.1174 31.8706 7.40751 -0.80183 -0.472034 0.366405 \n-14.0451 -32.0477 -14.121 -0.763378 -0.639412 -0.0916913 \n-54.9212 32.3312 8.11933 0.440261 -0.886365 0.143275 \n-57.0149 33.0201 9.27487 0.546613 -0.833945 0.0758307 \n39.2056 -74.2577 -18.9108 -0.62032 -0.248926 0.7438 \n36.6006 -31.9383 -14.3842 -0.671665 0.109918 0.732655 \n-33.041 34.2227 8.11987 -0.370761 0.318085 -0.872558 \n-19.4272 35.0439 8.22878 0.19419 0.441625 -0.875933 \n-17.941 35.4975 8.26798 0.369726 0.0707628 -0.926442 \n-21.2726 35.559 8.20273 -0.0443844 -0.478754 -0.876826 \n-34.963 36.0322 8.0569 -0.402058 0.145651 -0.903955 \n-3.91671 -15.8535 -21.3449 -0.34657 -0.756095 0.555167 \n-19.7287 35.9028 8.12603 0.0508892 -0.56329 -0.824691 \n-36 36.3457 8.4794 -0.509828 -0.077029 -0.856821 \n26.225 51.3217 -8.9473 -0.533478 0.831391 0.155531 \n-34.6213 37.0986 8.22998 -0.321353 -0.163116 -0.932805 \n-35.6497 37.4718 8.71003 -0.476717 0.0789493 -0.875504 \n-61.3242 38.4733 9.50511 0.865392 -0.337633 0.370271 \n-35.2733 38.4389 7.67684 -0.247672 0.810559 -0.53071 \n9.60017 -14.8964 -22.4135 0.48806 -0.439425 0.754124 \n-60.8434 39.4084 8.17409 0.762013 -0.188058 0.619653 \n-22.6898 38.6973 7.22468 0.913918 0.0211385 -0.405348 \n50.6488 39.0947 8.4088 -0.69021 0.0601578 0.721105 \n25.0609 51.7623 -8.71426 -0.446713 0.88142 -0.153449 \n37.2688 -29.7439 -13.6026 -0.765621 -0.0884108 0.637187 \n-37.5808 39.4741 7.28715 -0.427479 0.839296 -0.335922 \n-38.8508 39.6057 8.47548 -0.789035 0.599546 -0.134044 \n49.957 40.159 8.01926 -0.481262 0.268356 0.834489 \n29.4805 41.7208 7.85246 0.532869 0.715119 -0.452389 \n-17.7168 32.6381 -32.3943 0.742053 0.0817319 0.66534 \n-26.7199 -15.2977 -22.3035 0.662032 0.0583767 0.747198 \n-39.2868 42.0343 8.3504 -0.963996 0.245005 0.103366 \n30.4909 42.0808 8.6536 0.436775 0.770354 -0.464523 \n46.3807 43.3659 8.10102 -0.291419 0.770037 0.567554 \n33.8339 43.6663 8.4455 0.333149 0.839701 -0.428853 \n-18.7265 -13.4166 -25.1894 -0.115612 0.260216 0.958604 \n44.6441 44.0685 7.75554 -0.619271 0.748046 -0.2386 \n34.954 43.7221 8.87523 0.284414 0.88088 -0.378363 \n38.313 -27.7675 -13.8468 -0.791526 -0.244484 0.560102 \n37.4083 -37.9944 -19.1057 -0.400422 0.617537 0.676986 \n40.1852 44.7616 8.2633 0.0741817 0.996201 -0.0456143 \n38.5039 44.5966 9.09285 0.158572 0.978016 -0.135423 \n8.52226 -14.6598 -21.5803 0.512233 -0.386929 0.766749 \n-60.9198 44.6311 7.87294 0.848706 0.219201 0.481299 \n4.53186 -14.9029 -21.2528 -0.424442 -0.902278 -0.0757878 \n-40.7672 45.4779 8.69153 -0.673842 0.586679 0.44916 \n27.5773 48.1602 -18.0738 -0.875746 0.369316 0.310925 \n22.9023 46.3293 8.82673 -0.614994 0.57634 -0.538158 \n-19.3778 46.9543 7.72823 0.698997 0.662151 -0.27011 \n-5.65368 31.853 -38.1243 0.269297 -0.197182 0.942655 \n7.82792 -13.8353 -21.9903 0.071485 -0.828093 0.556014 \n-1.32368 -21.4668 -41.9704 0.823937 0.442549 0.353948 \n-21.5415 52.9008 -8.31372 0.381293 0.749463 -0.541222 \n16.6723 51.5393 -28.8235 -0.573214 0.48752 0.658597 \n-54.0961 49.7005 8.1381 0.0573621 0.753709 0.6547 \n-51.1259 50.9486 8.50745 0.21721 0.625721 0.749195 \n-51.4869 50.0332 8.0591 0.111157 0.652584 0.749518 \n-56.7691 50.6935 9.04556 0.0991229 0.873764 0.476141 \n16.4042 -27.2599 -14.0525 0.572476 -0.804374 0.158915 \n-26.1218 -14.267 -23.1023 0.64228 0.0280998 0.765955 \n-15.019 51.0001 7.30535 0.818799 0.552361 -0.156414 \n37.6875 -26.3776 -14.4809 -0.789035 -0.297071 0.537748 \n14.6163 -26.2163 -14.1685 0.666631 -0.720868 0.189613 \n38.3273 -26.0296 -13.5732 -0.859919 -0.241864 0.449489 \n14.6592 55.6437 9.27662 -0.846272 0.477266 -0.23673 \n6.1904 -24.3626 -50.9025 -0.955312 0.295391 0.0111144 \n-11.1248 56.7753 8.43109 0.777205 0.625971 -0.0641291 \n-9.6597 58.3429 9.33576 0.699946 0.710255 -0.0749249 \n-18.4179 36.9063 -31.8109 0.897408 -0.0756189 0.434673 \n31.9904 -10.653 -21.9354 -0.560048 0.285609 0.777672 \n11.0366 59.7061 7.80914 -0.686501 0.635127 -0.35402 \n-10.202 -25.8579 -14.2906 -0.821492 -0.415397 0.390636 \n9.70233 60.7279 8.30448 -0.665651 0.519518 -0.535734 \n22.4193 54.7487 -7.88929 -0.335334 0.775804 -0.53449 \n9.10958 61.7198 8.65918 -0.737043 0.578656 -0.349178 \n22.2279 -40.1618 -9.72472 0.968869 0.208638 0.133281 \n7.95295 63.2033 8.58724 -0.470511 0.228106 -0.852401 \n-4.27444 63.6679 8.08772 0.198553 0.252434 -0.947024 \n-3.1213 63.9622 8.12337 0.242242 0.439788 -0.864815 \n-23.3272 50.0117 -17.6342 0.953838 0.268221 -0.135097 \n26.5814 49.3232 -18.1148 -0.621995 0.613257 0.486865 \n8.53919 64.9635 8.33349 -0.401997 0.149991 -0.903273 \n4.62693 65.1339 8.50492 -0.0884511 0.379483 -0.920961 \n7.67265 65.9594 8.41464 -0.267162 0.345342 -0.899646 \n6.25053 66.025 8.67315 0.0405765 0.275083 -0.960564 \n-0.905201 66.743 8.35197 0.0277999 0.354919 -0.934484 \n-2.29211 66.2414 8.27831 0.338411 0.268705 -0.901818 \n-18.9986 55.9063 -8.5518 0.839915 0.483879 -0.245774 \n38.5151 -25.059 -14.3412 -0.832309 -0.231391 0.503706 \n12.7755 -24.6625 -13.2941 0.710573 -0.688401 0.145568 \n-25.2495 -9.41915 -21.0906 0.456584 0.690543 0.560965 \n42.2584 -75.152 8.6974 0.30502 -0.946516 -0.105218 \n43.4422 -73.6511 7.96896 -0.94923 0.305117 0.0765953 \n-4.44923 23.0867 -35.8968 -0.442994 -0.732014 0.517602 \n41.1478 -72.396 8.10317 0.601271 0.246451 -0.760088 \n-9.60101 -24.4008 -14.2373 -0.88264 -0.46784 -0.0455188 \n-1.44371 6.90585 8.0737 0.0276289 -0.730365 -0.682498 \n-18.295 39.2597 -32.0962 0.928761 0.0461063 0.3678 \n19.784 57.6719 -7.41747 -0.709186 0.61914 -0.337225 \n14.6677 5.07895 -28.3488 -0.652607 -0.340983 0.676635 \n11.8834 -23.884 -14.0829 0.725089 -0.684966 0.0711908 \n-9.01469 -23.3453 -14.2711 -0.902066 -0.396892 -0.169569 \n6.19135 10.3322 8.53486 -0.421531 0.0603058 -0.904806 \n12.1969 11.6243 6.31807 -0.229473 -0.91295 -0.337438 \n10.3038 -21.7212 -14.1867 0.828584 -0.559242 0.0263891 \n-4.79558 34.0125 -38.9162 0.160365 -0.128753 0.978624 \n8.46407 12.6818 7.40801 0.341111 -0.843832 -0.414234 \n-4.81387 13.2176 7.99569 0.401903 -0.150106 -0.903295 \n20.4145 42.5017 -31.9633 -0.583964 0.303047 0.753093 \n-5.44003 13.3245 7.9358 -0.164062 -0.748386 -0.642652 \n-33.5406 -22.601 -13.9769 0.920651 0.0750865 0.383099 \n38.8019 -21.2965 -14.4744 -0.938077 -0.0469415 0.343231 \n-21.421 -61.6765 -29.2401 0.131484 -0.330089 0.934748 \n16.5315 14.8845 7.56222 -0.563507 -0.709623 -0.42296 \n-13.4892 -69.0819 -28.6324 -0.882777 0.416949 0.21647 \n-16.6973 59.5155 -9.29524 0.499038 0.855722 -0.136753 \n6.13481 13.3542 7.90663 -0.454566 0.0243643 -0.89038 \n6.17029 14.0942 7.99597 0.152521 -0.665268 -0.73086 \n-13.7584 14.8685 8.44587 0.627418 -0.526105 -0.574074 \n-33.5005 -21.4226 -14.4333 0.948938 0.0296699 0.314064 \n17.0943 16.8251 8.6755 -0.617399 -0.646769 -0.447781 \n-18.9182 -5.60065 -22.367 0.637018 0.166233 0.752712 \n17.6439 16.9161 8.01663 -0.599593 -0.704511 -0.379674 \n-15.8279 16.4141 7.39085 0.692649 -0.566142 -0.446901 \n27.1996 -7.32275 -22.2808 -0.207372 0.677147 0.706023 \n24.476 -74.9538 -19.294 0.377667 -0.921801 -0.0874649 \n9.09344 -20.0322 -13.7727 0.647679 -0.760743 -0.0422114 \n-15.1094 60.1124 -8.64433 0.724865 0.653565 -0.217769 \n26.4948 -6.83815 -22.4237 -0.452854 0.577287 0.679458 \n38.5367 -19.9791 -15.0558 -0.847799 0.126951 0.514898 \n23.452 23.5866 6.79346 -0.889791 -0.307125 -0.33756 \n33.3069 25.4531 6.69408 0.115434 -0.936547 -0.330991 \n-20.4311 34.8954 -30.1584 0.589708 -0.210796 0.779621 \n6.02004 -15.3526 -19.5452 0.469185 -0.813022 0.344761 \n16.5367 62.1601 -8.3373 -0.779472 0.569562 -0.26081 \n39.7864 26.4 7.29277 -0.237476 -0.964013 -0.119516 \n-19.5322 27.5563 9.87629 0.854003 -0.0584553 -0.516973 \n-33.1469 26.3626 7.62374 -0.37513 0.197746 -0.905635 \n-40.0294 26.0787 8.10151 0.363532 -0.822898 -0.436673 \n43.7262 26.6098 8.26114 -0.0120893 -0.996168 -0.0866144 \n19.9104 44.5875 -31.5437 -0.603723 0.270784 0.749797 \n-33.3788 -19.6154 -13.8361 0.926031 0.0913502 0.366226 \n18.5734 45.1774 -31.8569 -0.658723 0.347258 0.667455 \n-35.3256 26.5035 8.27862 -0.337995 -0.0449219 -0.940075 \n46.1144 27.0324 7.95097 -0.738826 -0.637186 -0.219384 \n29.2733 27.6855 8.1056 0.488468 -0.528931 -0.693996 \n23.9937 26.617 7.7331 -0.822172 -0.366181 -0.435826 \n-23.1565 -67.0608 -28.1707 0.512352 0.203712 0.834264 \n23.9856 -3.25055 -21.7799 -0.491229 0.571754 0.657109 \n-20.2339 22.3981 -26.128 0.737978 -0.354392 0.574278 \n25.2808 27.4233 7.53931 -0.347656 -0.68709 -0.637999 \n26.7621 28.0563 7.45542 -0.217553 -0.492127 -0.842901 \n46.7301 28.8745 8.15349 -0.800576 -0.500441 -0.329601 \n-34.3712 -74.7083 -17.149 0.640533 -0.200847 0.7412 \n-49.2043 29.1731 8.05767 -0.0911162 -0.946316 0.310135 \n47.3868 29.5916 8.04739 -0.672597 -0.734782 0.0878049 \n-32.8102 29.6748 7.96807 -0.37338 -0.365883 -0.852477 \n48.4394 30.716 7.80849 -0.756686 -0.619324 0.209437 \n38.1709 -17.956 -14.001 -0.93735 0.175945 0.300696 \n-32.2566 33.845 7.78799 -0.399745 0.168037 -0.901092 \n-57.4191 33.8299 7.7446 0.619962 -0.753255 0.219669 \n-20.5956 34.8065 7.92523 0.382249 0.171789 -0.907951 \n17.3633 47.4781 -32.4874 -0.756738 0.396091 0.520058 \n-17.2193 -1.16715 -22.4207 0.688842 0.239304 0.684273 \n-33.1539 -40.793 -10.0532 0.965914 0.255347 -0.0425212 \n-21.1576 34.1263 7.66372 0.501334 -0.144288 -0.853138 \n-33.6851 36.2019 7.53887 -0.390031 0.109416 -0.914278 \n50.3018 35.6286 7.73553 -0.841355 -0.0298729 0.539657 \n-14.8406 -65.5389 -25.3269 -0.823988 0.556213 0.108029 \n-17.2908 1.16255 -21.5531 0.648261 0.416659 0.637301 \n-16.5867 0.304949 -22.6282 0.629891 0.332958 0.701695 \n-34.7486 38.0124 8.02864 -0.168075 0.539008 -0.825361 \n-33.2836 38.4538 7.49506 -0.27324 0.588885 -0.760628 \n-59.4395 37.3615 6.88785 0.78333 -0.187472 0.592662 \n-37.1494 38.961 8.2874 -0.335132 0.842557 -0.421643 \n20.9062 2.58635 -21.5553 -0.623252 0.482695 0.615274 \n28.6703 41.2715 7.78843 0.343173 0.688336 -0.639082 \n27.8419 40.2485 8.29673 -0.000998199 0.433434 -0.901185 \n48.1908 42.0143 7.80492 -0.495281 0.433541 0.752821 \n-29.9002 -75.1358 -19.3318 -0.139471 -0.982253 -0.125409 \n1.35307 -13.9069 -13.8582 -0.0391398 -0.996536 0.0733778 \n-8.48171 66.3603 -7.50519 0.785589 0.593904 -0.173571 \n47.4946 42.8385 8.08123 -0.289859 0.657177 0.695773 \n-24.8099 -60.0006 -29.3087 0.599718 -0.216225 0.770444 \n-15.9618 2.41475 -22.2219 0.885661 -0.261384 0.383775 \n-8.32765 66.7309 -8.99662 0.519473 0.852369 -0.0601209 \n-39.7057 42.9778 8.00801 -0.83566 0.487592 0.252837 \n9.94646 66.6187 -8.82975 -0.432505 0.900173 -0.0512674 \n25.6588 43.5896 7.97461 -0.812558 0.318506 -0.488163 \n-41.0481 44.7819 8.05813 -0.60025 0.440807 0.667375 \n39.1954 44.4775 7.64129 0.114382 0.992539 -0.0422373 \n35.9276 44.2927 7.45419 0.125033 0.982763 -0.136179 \n-21.5069 25.5669 -26.0066 0.785465 -0.320962 0.529176 \n3.3667 54.0107 -35.5962 -0.08967 0.47955 0.872921 \n29.8931 35.4253 -16.8092 -0.893304 -0.204199 0.400389 \n18.9993 7.28155 -22.8749 -0.852525 0.207914 0.479554 \n-17.5618 48.417 8.36964 0.741746 0.638884 -0.20406 \n21.9354 48.4356 7.75631 -0.541562 0.732797 -0.411969 \n-16.207 7.52615 -21.9414 0.899444 0.171077 0.402161 \n-15.9909 8.58845 -22.4372 0.848636 -0.234935 0.473943 \n-29.5923 -8.65285 -14.806 0.711624 0.661452 0.236797 \n-58.4112 49.7792 7.66065 0.693964 0.601764 0.395341 \n-16.8708 49.1787 7.74608 0.63035 0.774792 -0.0485433 \n-47.7806 49.5818 8.03878 -0.279763 0.712017 0.644022 \n-55.4059 49.8822 8.17071 -0.155662 0.864845 0.477296 \n-24.0704 -46.6504 -27.3485 -0.0425864 0.309021 0.950101 \n-27.2037 -6.41845 -14.7614 0.599981 0.764506 0.235699 \n15.75 55.0132 6.97413 -0.671897 0.590096 -0.447594 \n19.2159 11.1496 -22.5548 -0.865269 -0.281897 0.414541 \n13.2156 57.0611 7.67897 -0.634896 0.582592 -0.507439 \n12.722 58.3294 7.34258 -0.404592 0.345567 -0.846693 \n-8.73283 59.4193 7.81598 0.642511 0.678312 -0.356471 \n10.9399 60.6044 7.82697 -0.249369 -0.0548915 -0.966852 \n-7.83249 60.4827 7.83905 0.718887 0.642415 -0.265526 \n-0.806623 53.1153 -36.1436 0.0360379 0.378439 0.924924 \n9.57581 62.0149 8.21272 -0.191569 0.0786597 -0.978322 \n9.0105 62.7374 8.1039 -0.37675 0.23185 -0.89683 \n-5.92949 62.1602 7.87529 0.381096 0.306704 -0.87218 \n-3.49121 65.1312 7.78543 0.21026 0.194982 -0.958005 \n8.51065 66.3736 7.71744 -0.463178 0.624148 -0.62921 \n4.52627 66.7898 8.03203 -0.132237 0.498253 -0.856888 \n0.241865 66.7965 8.17165 0.130749 0.452555 -0.882099 \n5.72743 67.2449 8.09977 -0.0867607 0.643248 -0.760726 \n16.329 53.2656 -28.3587 -0.598807 0.277125 0.75142 \n2.54243 68.1601 7.58626 0.0170358 0.764123 -0.644845 \n3.37827 67.5804 8.14822 -0.210521 0.627528 -0.749592 \n43.4888 -74.6111 7.27895 -0.9088 -0.312523 0.276426 \n-11.1898 4.89705 -29.6959 0.607796 -0.0457395 0.792775 \n-16.7823 14.9135 -22.7136 0.834206 -0.124133 0.537301 \n41.1647 -71.5677 7.34563 0.158396 0.766806 -0.622028 \n11.0153 24.0016 -35.6646 -0.36501 -0.222887 0.90393 \n42.4166 -72.1814 8.03502 -0.353864 0.81317 -0.462099 \n-22.0676 27.9057 -26.6257 0.799411 -0.280819 0.531114 \n-2.90998 6.91635 7.83975 0.20925 -0.642348 -0.737295 \n-10.8454 52.6738 -33.2686 0.459379 0.628368 0.627793 \n8.07834 8.34565 7.42703 -0.480671 -0.323589 -0.815013 \n13.1708 53.3894 -31.3149 -0.523894 0.529975 0.66683 \n-10.9495 53.3075 -31.9368 0.460213 0.431255 0.77603 \n-19.0572 17.4386 -21.3581 0.327546 -0.939492 0.10034 \n9.5639 -12.9834 -25.0468 -0.125415 -0.971935 0.19903 \n8.11518 9.50315 7.41435 -0.525061 0.054227 -0.849335 \n-19.3881 17.7278 -23.0232 0.173825 -0.983064 0.058045 \n30.7997 -74.9902 -9.79934 0.117552 -0.992957 -0.0147463 \n30.465 -74.8135 -9.43545 0.6102 -0.769696 -0.187679 \n11.1197 53.9904 -32.4081 -0.467661 0.479387 0.742618 \n-5.64654 12.3043 7.59768 0.555118 0.0307133 -0.831205 \n-8.37462 12.6311 8.57527 -0.174452 -0.857747 -0.483566 \n-19.8388 -65.9143 -29.0643 0.151417 0.132591 0.979537 \n-6.42805 12.68 7.43211 -0.183608 -0.842102 -0.507102 \n23.3884 1.33295 -13.3197 -0.674361 0.738393 0.00352816 \n7.18473 13.2489 7.51658 0.0506219 -0.535109 -0.843265 \n-19.5587 -61.6322 -29.4225 -0.186068 -0.219421 0.957723 \n22.2879 2.18205 -13.9162 -0.782633 0.622257 -0.0167592 \n16.8029 15.6579 8.31419 -0.712062 -0.481853 -0.510671 \n20.1905 19.5338 7.90387 -0.73701 -0.518634 -0.4334 \n23.9896 20.2536 -22.6951 -0.500513 -0.857267 0.120745 \n-33.6399 -75.1019 -9.37931 0.0101234 -0.908166 -0.418489 \n-20.4022 22.2075 6.80172 0.798487 -0.322761 -0.508177 \n-21.2592 21.8463 -22.544 0.81565 -0.354437 0.457262 \n-18.8902 7.41595 -13.931 0.862556 -0.29096 0.413932 \n-33.188 25.6607 7.47698 -0.258673 -0.628149 -0.733837 \n-36.1106 25.2183 7.02191 -0.0122878 -0.918677 -0.39482 \n40.6364 26.9607 7.92892 -0.242933 -0.96282 -0.118153 \n27.4193 27.4065 6.69549 0.0374998 -0.785168 -0.618147 \n-33.8778 27.3948 7.45693 -0.389524 0.202163 -0.898555 \n-9.33951 41.2603 -37.3443 0.681452 0.0789687 0.72759 \n20.873 10.4059 -13.6209 -0.968511 0.219181 -0.118097 \n-16.0795 52.6932 -28.6655 0.766829 0.195433 0.611375 \n-45.9188 27.6947 7.26305 0.421441 -0.906059 -0.0380079 \n46.6777 27.6892 7.23675 -0.843298 -0.411775 -0.345383 \n26.7649 29.3189 8.1834 -0.10682 -0.419467 -0.901464 \n-33.3167 27.9075 7.26334 -0.379762 -0.364657 -0.85018 \n-47.9971 29.0399 7.26691 0.754798 -0.652365 0.0685611 \n38.6522 -74.572 -18.9298 -0.368656 -0.762267 0.532017 \n-22.8309 24.9979 -22.9603 0.72635 -0.312038 0.612412 \n11.2967 55.3281 -32.0798 -0.401702 0.324992 0.856163 \n-29.9885 44.1017 -7.30152 0.513143 0.858061 -0.0204152 \n-47.9733 29.4274 7.96789 0.273356 -0.956143 0.105195 \n-49.6094 29.3772 7.15659 0.0853676 -0.939579 0.331518 \n-50.9738 29.6472 7.35444 0.470097 -0.867636 0.161915 \n20.4154 14.1794 -14.4363 -0.909406 -0.406159 0.0895351 \n-21.2761 30.7274 7.34752 0.722425 -0.0695393 -0.687944 \n-10.346 55.0303 -32.0595 0.235948 0.319225 0.917837 \n12.9791 5.01195 -29.7131 -0.559463 -0.26283 0.78608 \n-30.2355 31.2829 7.40145 -0.370833 -0.0319023 -0.928151 \n-52.6326 30.663 7.61926 0.494511 -0.756783 0.427478 \n48.5711 -74.5014 -7.23186 -0.110221 -0.958897 -0.261471 \n21.5562 15.7355 -13.6086 -0.791277 -0.600346 0.116038 \n-22.4389 28.5923 -26.1358 0.975804 -0.19305 0.102654 \n-55.6268 32.7634 7.22145 0.453474 -0.768981 0.450588 \n21.8436 16.6084 -14.3241 -0.831788 -0.528551 0.169598 \n-23.2634 26.3601 -22.752 0.949247 -0.201699 0.241346 \n-58.1267 34.5758 7.07781 0.634373 -0.664733 0.394589 \n23.2619 18.4867 -14.1916 -0.79124 -0.59307 0.14902 \n-21.1852 18.2323 -14.9415 0.687528 -0.720074 0.0938019 \n-22.7229 36.7775 7.34362 0.858074 -0.0267897 -0.512826 \n-33.55 37.3018 8.05576 -0.366697 -0.0830475 -0.926626 \n-31.86 37.5317 7.22637 -0.410695 -0.0366277 -0.911036 \n20.5909 57.2486 -17.5168 -0.790715 0.590158 0.162737 \n49.4949 38.452 7.03468 -0.771921 0.207144 0.601023 \n-39.3818 41.4278 7.65388 -0.964755 0.225458 0.135711 \n26.6374 40.9887 8.3376 -0.496235 0.412242 -0.764072 \n-21.8313 43.0425 8.39277 0.812855 0.328242 -0.481169 \n26.8286 42.62 6.94531 -0.74436 0.369865 -0.555992 \n-24.3606 32.5746 -21.9712 0.947185 -0.28747 -0.142134 \n-23.7398 19.975 -14.7599 0.990597 -0.101386 0.0918591 \n20.2096 58.3086 -17.6385 -0.831663 0.543427 0.114123 \n26.4294 43.7271 7.00696 -0.754173 0.363712 -0.546751 \n8.66063 58.2701 -31.3475 -0.60333 0.514302 0.609497 \n-61.5376 42.859 8.16918 0.782122 0.0959493 0.615693 \n45.5972 43.2292 7.08641 -0.645679 0.763468 -0.0147003 \n32.639 43.4619 7.58633 0.302739 0.878761 -0.368956 \n-6.13135 57.9446 -31.9543 0.257651 0.649435 0.715437 \n37.8359 44.572 7.07726 0.0313899 0.998197 -0.0511609 \n37.2758 44.6484 8.08149 0.204592 0.973533 -0.101865 \n27.2639 34.1516 -23.1276 -0.858724 -0.159189 0.487085 \n1.37549 -26.9963 -37.0508 0.0760854 -0.994696 -0.0692087 \n-41.9359 45.4925 7.75673 -0.701837 0.49273 0.514434 \n7.70898 58.33 -31.8402 -0.319161 0.64425 0.695038 \n-20.6689 -12.62 -24.8511 0.201078 0.166839 0.965263 \n23.7684 47.4331 7.13611 -0.306358 0.790933 -0.529689 \n-43.7522 47.1388 7.33011 -0.570246 0.62958 0.527682 \n-18.6562 47.9753 7.47989 0.633131 0.720054 -0.28402 \n-45.5803 48.6436 7.38212 -0.375329 0.673065 0.637268 \n45.22 -74.2065 -8.47672 0.126738 -0.985882 0.109422 \n-46.5947 48.3391 6.95378 -0.275622 0.683597 0.675817 \n-53.2603 48.9193 7.2153 -0.0029325 0.588392 0.808571 \n-52.5006 49.6004 7.52265 0.0950109 0.692231 0.715394 \n-49.1461 49.2359 6.96685 0.0188556 0.651663 0.758274 \n-55.8105 49.3269 6.35554 -0.0801344 0.816423 0.571868 \n-57.7682 50.0517 7.73356 0.0306489 0.884629 0.465287 \n28.1412 27.0513 -13.3115 -0.958803 -0.232138 0.163736 \n-24.8769 38.7743 -23.4284 0.920902 0.095952 0.377801 \n17.024 52.6699 8.32602 -0.749934 0.540195 -0.381823 \n-13.4706 53.6497 7.14916 0.734136 0.645243 -0.211437 \n-12.6126 54.0119 7.63365 0.800236 0.594652 -0.0775335 \n15.0467 55.747 7.10826 -0.714332 0.534096 -0.452185 \n-11.7642 55.9303 7.3796 0.896799 0.436294 -0.0734842 \n13.7739 56.7985 7.40883 -0.313728 0.175018 -0.933243 \n2.73697 59.8562 -31.2672 -0.0177124 0.698425 0.715464 \n-10.0186 58.6218 7.2636 0.618117 0.453817 -0.641859 \n11.7033 59.1221 7.53529 -0.527331 0.262895 -0.807965 \n12.4639 60.6778 7.52539 -0.378824 -0.130073 -0.916282 \n-30.4524 27.5167 -13.4064 0.212601 -0.531487 0.819952 \n29.4928 39.0157 -17.5572 -0.994642 0.0998447 0.026788 \n12.8437 61.9057 7.46497 -0.420147 0.000176255 -0.907456 \n-6.52501 62.2113 7.60348 0.359502 0.173709 -0.916834 \n-30.5935 29.004 -13.8862 0.318643 -0.429845 0.844808 \n11.7661 62.6155 7.87447 -0.325428 0.14559 -0.934291 \n-18.6404 57.8913 -18.3736 0.752954 0.656861 -0.0399153 \n10.5427 63.9352 7.90173 -0.163207 0.358661 -0.919089 \n9.53115 64.0976 7.86737 -0.293863 0.213066 -0.931798 \n9.2896 64.7759 7.72519 -0.730044 0.362415 -0.579389 \n-5.51771 65.7211 7.61518 0.162075 0.389247 -0.906762 \n-18.7092 -73.6962 -8.20863 -0.958108 -0.123873 -0.258233 \n-4.03047 65.9816 7.28301 0.258156 0.365472 -0.894307 \n28.4197 29.3463 -14.046 -0.969572 -0.202564 0.137472 \n-24.053 46.1623 -21.9866 0.954328 0.00573166 0.298704 \n6.13581 67.9506 7.17723 -0.188427 0.898603 -0.396242 \n-8.02816 23.5167 -35.1123 0.548092 -0.264027 0.793652 \n4.5365 67.6977 7.12829 -0.0362096 0.899307 -0.435816 \n1.0591 68.2806 7.25723 0.201522 0.864599 -0.46028 \n-1.3979 67.8407 7.57268 0.200957 0.688471 -0.696867 \n42.9515 -74.8884 6.88384 -0.327435 -0.9235 0.199837 \n42.9537 -72.5265 7.48971 -0.807639 0.586012 -0.0656348 \n4.83486 -24.8974 -36.8931 -0.691085 -0.718578 0.0777595 \n1.76532 5.71135 6.93327 -0.053999 -0.161072 -0.985464 \n-0.294292 5.66395 6.92022 0.0718508 -0.166014 -0.983502 \n3.93875 6.07855 6.81017 -0.13312 -0.616221 -0.776241 \n1.3345 6.26725 7.31695 -0.0262489 -0.721723 -0.691684 \n-1.21578 6.26755 7.23388 0.0609955 -0.716547 -0.694867 \n6.08292 7.30905 7.79096 -0.315027 -0.685569 -0.656318 \n-5.23919 7.26635 7.13691 0.411522 -0.674835 -0.612574 \n8.74258 8.95735 6.95583 -0.834146 -0.00639641 -0.551507 \n-7.48457 9.12095 6.43775 0.64557 -0.0854932 -0.758901 \n-1.14023 60.2705 -30.982 0.118046 0.734007 0.668804 \n8.03496 11.3669 6.93938 -0.630877 0.126811 -0.765449 \n10.2332 12.1473 7.85855 0.13099 -0.925879 -0.354386 \n-9.62073 11.7854 7.27963 -0.0425191 -0.891681 -0.450663 \n-24.4483 -61.9861 -27.7896 0.537665 -0.326953 0.777186 \n8.76713 12.1707 6.7378 0.0258168 -0.78419 -0.619983 \n-6.49864 12.2372 7.00843 0.397948 -0.439543 -0.805257 \n7.60359 12.3046 7.14619 -0.471297 0.0449963 -0.880826 \n-12.7289 12.9401 7.58262 0.497223 -0.639344 -0.586523 \n3.31559 -22.9305 -32.8167 -0.571452 -0.710854 -0.410037 \n17.5483 15.4961 6.83627 -0.724153 -0.539893 -0.42909 \n18.4051 16.4453 6.10442 -0.771866 -0.469143 -0.429102 \n21.2169 54.6043 -21.2925 -0.812464 0.494838 0.308284 \n-16.8374 17.4242 7.33871 0.669933 -0.555544 -0.492504 \n29.6262 -74.4158 -20.0522 -0.140972 -0.989972 -0.00910112 \n-33.1368 36.7425 -13.766 0.401506 0.293396 0.867589 \n-19.9336 55.2598 -21.5342 0.759127 0.544901 0.356102 \n-34.9552 25.3567 7.46278 -0.0244699 -0.804606 -0.593305 \n-37.3261 25.0605 7.46993 -0.139808 -0.859797 -0.491124 \n-38.8853 25.1367 7.60814 0.218795 -0.895471 -0.387635 \n24.6147 34.5951 -26.2171 -0.838945 0.0633956 0.540511 \n11.1256 -11.691 -25.6475 -0.29477 -0.681142 0.670191 \n37.0815 25.6709 6.86777 -0.253339 -0.956197 -0.146655 \n-39.4351 25.1022 6.53574 0.357938 -0.871777 -0.334493 \n-41.382 26.1036 6.80414 0.243146 -0.948949 -0.200936 \n30.0443 26.3674 6.89592 0.398454 -0.820023 -0.410849 \n29.4935 38.8859 -14.4454 -0.958141 -0.0268961 -0.28503 \n46.4249 27.3861 6.62633 -0.369112 -0.911716 0.180364 \n45.3073 26.7525 7.37947 -0.158964 -0.964954 0.208792 \n44.4725 26.9392 6.90556 -0.109372 -0.951608 0.287192 \n-30.8888 29.4275 7.07972 -0.375808 -0.357826 -0.854827 \n47.6433 29.9666 6.99647 -0.90715 -0.347758 -0.236945 \n-33.3963 -70.629 -8.96441 0.173545 0.487908 -0.855469 \n30.41 41.4368 -14.0265 -0.916043 -0.243808 -0.31847 \n3.94182 24.6357 -35.6934 0.686966 -0.662857 0.297823 \n-25.8331 -60.3634 -28.3123 0.553239 -0.467439 0.689512 \n-15.8201 59.1988 -22.7432 0.548125 0.752964 0.364149 \n-37.3549 -70.0611 -8.66304 -0.124442 0.851345 -0.509632 \n-51.8819 30.3702 7.50276 0.450076 -0.78433 0.426916 \n30.3084 42.3391 -13.8999 -0.956017 0.221882 -0.191831 \n6.0155 -18.7569 -32.8537 -0.985386 0.154254 0.0722505 \n50.4798 -70.0609 -8.62663 -0.63467 0.578628 0.512233 \n-52.251 31.7297 6.86422 0.528214 -0.579683 0.620449 \n-53.3504 31.886 7.1163 0.291728 -0.698229 0.653737 \n-13.4917 60.4028 -21.1872 0.447928 0.878615 0.165517 \n-21.5648 32.8002 7.18917 0.50991 -0.0728434 -0.857138 \n-15.0095 60.8094 -18.1189 0.791796 0.541743 0.282089 \n-31.1919 31.427 7.71618 -0.350627 0.0116827 -0.936442 \n-30.5224 34.0838 7.01451 -0.346696 0.269376 -0.898464 \n-22.3661 34.569 7.3818 0.405109 -0.0684956 -0.911699 \n29.0473 44.3465 -13.8684 -0.95801 0.194196 0.21096 \n-32.5418 35.3889 7.13803 -0.375963 0.336989 -0.863186 \n-32.174 36.4746 6.79621 -0.429819 -0.122464 -0.894571 \n49.1129 38.194 6.21379 -0.817034 0.210429 0.536819 \n-26.8404 -60.2208 -27.718 0.588511 -0.354601 0.726576 \n-33.9398 39.0969 6.82799 -0.0422033 0.812007 -0.58212 \n12.3904 62.5124 -21.8111 -0.487721 0.824192 0.287814 \n48.9077 40.0172 7.1381 -0.668085 0.388016 0.634906 \n-39.0793 40.4094 7.26104 -0.77999 0.588645 -0.212398 \n27.8289 41.598 7.20218 -0.0922116 0.704196 -0.703992 \n-60.2209 42.1728 6.60188 0.728644 -0.13953 0.670529 \n-24.5799 49.225 -13.7625 0.881679 0.434582 -0.183794 \n27.2514 49.6738 -13.9072 -0.825598 0.516877 0.226331 \n25.827 37.6842 -25.7844 -0.819445 -0.235107 0.522718 \n30.2369 42.5732 6.91804 0.370979 0.79184 -0.485143 \n34.3632 44.3944 6.83138 0.212173 0.955743 -0.203809 \n31.2869 43.5512 6.61722 0.372654 0.807865 -0.456599 \n-41.035 43.9614 7.32108 -0.554289 0.680265 0.479587 \n3.3615 -26.0369 -38.171 -0.558196 -0.818469 -0.136112 \n16.196 61.3848 -17.8584 -0.407413 0.909343 0.0843175 \n36.9963 44.4094 6.48865 0.116577 0.986264 -0.11702 \n40.924 45.0527 7.65103 0.0693537 0.996899 -0.0371757 \n25.5758 46.1451 6.57171 -0.853281 0.358247 -0.378909 \n-20.5553 45.3518 7.86352 0.784005 0.550309 -0.287223 \n-43.3014 46.0788 6.19196 -0.594725 0.623172 0.507897 \n-60.0382 46.284 7.22579 0.838942 0.352895 0.414298 \n-5.05341 64.646 -22.7522 0.542978 0.764322 0.347832 \n24.1742 53.8712 -13.8868 -0.735604 0.666587 0.120613 \n-31.9429 -69.3061 -7.6308 0.928268 0.347842 -0.131625 \n22.4391 48.2388 7.1927 -0.797899 0.518917 -0.306726 \n29.4925 -68.7977 -8.4245 0.725048 -0.0114491 -0.688604 \n8.25298 64.2304 -23.3701 -0.31646 0.784761 0.532919 \n-58.9842 47.259 6.09664 0.771799 0.401121 0.493385 \n15.6264 61.9356 -18.0519 -0.701028 0.507282 0.501224 \n-4.17373 65.9016 -21.4527 0.247161 0.90908 0.335387 \n14.5725 63.1518 -18.5389 -0.617771 0.657731 0.430985 \n21.5231 56.4477 -14.1653 -0.636536 0.709094 -0.303328 \n-51.493 48.5334 6.72073 0.102224 0.600051 0.793403 \n3.67764 66.5636 -20.6886 -0.0788712 0.914405 0.397044 \n-19.656 -68.34 -9.61655 -0.867762 0.431474 -0.246616 \n19.3559 49.6961 8.86814 -0.482403 0.789005 -0.380471 \n-15.3533 50.3187 7.63632 0.743685 0.668138 -0.0228838 \n5.76145 -23.8075 -36.7625 -0.842194 -0.508346 -0.179702 \n18.8207 51.1693 7.01361 -0.708092 0.534395 -0.461549 \n25.9542 39.1795 -26.0438 -0.78962 -0.0131448 0.613455 \n48.5242 -67.6357 -8.67292 -0.665404 0.695687 -0.27066 \n17.7419 52.6901 6.68699 -0.723383 0.559323 -0.404814 \n-14.4033 52.6948 5.94849 0.789744 0.536206 -0.297974 \n-23.0274 39.7483 -26.4517 0.943569 0.0734925 0.322919 \n30.0424 -67.6714 -8.10941 0.653326 0.0952145 -0.751066 \n20.2866 57.5194 -14.1913 -0.657354 0.741242 0.135814 \n-12.0988 55.8248 6.63415 0.792994 0.118274 -0.597639 \n14.9459 56.5313 6.95483 -0.326032 -0.025931 -0.945003 \n-11.2367 57.2647 6.92229 0.762044 0.558107 -0.328337 \n14.816 59.1656 7.17623 -0.191529 0.0953967 -0.97684 \n12.5599 59.2411 7.0932 -0.202892 0.0790686 -0.976004 \n-10.842 58.5783 6.73119 0.457536 -0.32082 -0.829298 \n-8.98939 60.1283 7.26187 0.304138 0.172127 -0.936948 \n-10.8991 60.7368 6.87341 0.292603 0.105282 -0.950421 \n-8.09153 61.249 7.36131 0.216553 0.114247 -0.969563 \n13.1219 62.5732 6.97873 -0.73096 0.470932 -0.493883 \n-9.29117 62.6426 7.12481 0.210519 0.110703 -0.971301 \n-16.8475 59.101 -13.1973 0.876675 0.475917 -0.0703131 \n-8.12751 63.518 7.15715 0.319093 0.20268 -0.925797 \n11.0709 64.6547 7.18235 -0.544389 0.600985 -0.585198 \n-0.08948 4.79815 -32.3868 0.178521 -0.507139 0.843172 \n-7.03574 64.3831 7.57512 0.300066 0.16225 -0.940019 \n11.1754 65.0794 6.43025 -0.538946 0.785452 -0.304306 \n0.726635 5.25165 -32.5779 -0.180285 -0.384665 0.905279 \n9.00668 66.4628 6.91664 -0.755629 0.622165 -0.204781 \n-16.8939 60.5214 -14.4486 0.919683 0.39143 0.0310946 \n-4.92822 66.3215 7.06638 0.223574 0.797199 -0.560793 \n27.1763 -75.1054 -23.9081 0.0758646 -0.978457 0.192007 \n-3.60376 66.7024 7.31042 0.450668 0.586227 -0.673229 \n17.506 61.7417 -13.7596 -0.695595 0.565979 0.442511 \n-2.78882 -23.1957 -37.0079 0.960353 -0.276692 -0.0341037 \n-1.06293 5.92345 -32.6731 0.14612 -0.318477 0.936601 \n2.93819 6.22595 -32.1372 -0.428789 -0.449991 0.783357 \n0.107719 67.7645 7.32701 0.0597306 0.806511 -0.588195 \n40.6986 -74.5511 6.68536 0.51776 -0.833977 -0.190809 \n43.3642 -73.7551 5.94991 -0.995402 -0.0919396 0.0268617 \n40.01 -72.3315 6.97248 0.756584 0.088573 -0.64787 \n41.8289 -71.2664 6.43398 -0.500499 0.821238 -0.273988 \n-2.11234 2.70835 6.50634 0.169017 -0.215833 -0.961691 \n0.703673 3.09165 6.78853 -0.0291538 -0.252287 -0.967213 \n23.6622 -74.62 -21.8556 0.542598 -0.832988 0.108247 \n3.64721 4.79345 6.68911 -0.150109 -0.163798 -0.975006 \n-2.50283 5.87855 6.68551 0.241399 -0.377584 -0.893956 \n2.46378 -31.3048 -55.9302 0.88259 -0.439246 0.167624 \n5.45201 6.19485 6.5357 -0.264118 -0.431566 -0.86255 \n7.25869 6.67145 6.1775 -0.384158 -0.717467 -0.581089 \n14.9682 64.3101 -13.8043 -0.608761 0.717954 0.337567 \n-22.8588 -74.5207 -23.2194 -0.133403 -0.981611 -0.136539 \n-5.65753 8.27265 7.47548 0.533791 -0.273139 -0.800289 \n-6.91512 10.1345 6.84949 0.622763 0.0262248 -0.781971 \n3.03223 7.19795 -32.7431 -0.424203 -0.434799 0.794356 \n-6.87698 11.3626 6.64673 0.627777 0.0657155 -0.775615 \n-32.6318 -39.1485 -10.6409 0.987105 0.102141 0.12325 \n-12.2402 63.4168 -17.7963 0.540205 0.829305 0.142939 \n23.2353 -73.909 -23.39 0.670098 -0.629898 0.392678 \n-15.2313 -12.342 -24.8683 0.414622 -0.190483 0.889834 \n28.6765 -66.583 -9.23087 0.679374 0.241736 -0.692831 \n10.0411 11.6856 6.15879 0.0666973 -0.880874 -0.468628 \n-7.55329 12.0517 6.70318 -0.169225 -0.880896 -0.442024 \n11.7927 65.5263 -14.0332 -0.316122 0.888056 0.333801 \n18.9721 16.7988 5.83866 -0.462848 -0.817816 -0.341978 \n20.0824 17.5996 6.4589 -0.652399 -0.652945 -0.384758 \n-2.59056 -6.93015 -29.079 0.184563 -0.451928 0.872753 \n-18.065 19.1311 6.6991 0.663684 -0.56931 -0.485191 \n-27.1356 -73.5771 -23.2421 0.708642 -0.125183 0.694375 \n34.5712 -73.4499 -23.0892 -0.630673 -0.119341 0.766818 \n-21.0389 21.9226 5.3269 0.892172 -0.281764 -0.353042 \n23.5381 -38.0826 -10.0231 0.637185 0.770215 -0.0276492 \n-20.9566 24.6915 6.83779 0.902999 -0.102128 -0.417329 \n-33.632 24.7299 6.26646 -0.214254 -0.859776 -0.463551 \n-21.4282 -65.8555 -8.82848 -0.231186 0.920215 -0.315844 \n-38.0782 24.7209 6.10225 -0.0172059 -0.958431 -0.284807 \n29.3773 43.3861 -16.7035 -0.983485 0.00977428 0.180724 \n-0.0126932 7.56105 -31.7534 0.228513 0.489016 0.841811 \n-0.881732 6.92545 -32.7913 -0.378851 0.362903 0.851336 \n22.9648 -72.3527 -22.2461 0.943983 0.161587 0.287726 \n25.8079 -10.8976 -25.3684 -0.284613 0.30808 0.90779 \n35.9315 -71.6856 -22.3548 -0.677338 -0.050242 0.733954 \n4.65169 23.4228 -34.8642 0.268495 -0.397133 0.877608 \n41.3811 26.8673 6.94081 -0.0135681 -0.999812 -0.0138267 \n40.5457 26.2222 6.04781 -0.331757 -0.923259 -0.193725 \n25.4282 25.9323 5.49334 -0.419456 -0.759479 -0.497241 \n-31.5 26.0572 6.82865 -0.421753 -0.272234 -0.864878 \n-26.2603 -65.8279 -8.54299 -0.0833733 0.628112 -0.773643 \n6.62667 68.1437 -14.2091 -0.205957 0.961051 0.184288 \n-46.7617 28.2558 6.27905 0.606918 -0.781196 0.146228 \n-27.4648 -66.0361 -8.42878 0.113522 0.874716 -0.471152 \n-13.0648 -68.8405 -23.5961 -0.963253 0.242151 -0.116218 \n-22.2329 28.8435 6.38286 0.228578 -0.388576 -0.892615 \n-29.096 30.2847 6.58138 -0.353405 -0.285171 -0.890944 \n-48.4435 29.6104 6.65428 0.497679 -0.833768 0.239051 \n-22.0387 30.9018 6.843 0.241327 -0.163021 -0.956653 \n-23.4627 31.8594 6.91414 0.189757 -0.150532 -0.970223 \n42.8317 -72.6628 -16.2242 -0.491022 -0.0353557 0.87043 \n48.1059 30.979 6.68428 -0.848031 -0.449816 0.280195 \n-24.6688 32.0522 6.53794 0.245624 -0.0690237 -0.966905 \n45.1577 -74.9289 -14.2407 -0.143061 -0.942774 0.301181 \n36.1576 -69.1709 -22.0719 -0.646717 0.0688536 0.759616 \n24.5718 -10.0814 -25.0437 -0.168172 0.452146 0.875946 \n49.4077 33.9567 6.14679 -0.871035 -0.169567 0.461026 \n-6.80747 36.7652 -38.1887 0.231171 -0.051473 0.971551 \n-25.7598 32.1276 6.51374 0.109447 -0.102732 -0.98867 \n-27.4116 33.0659 6.21615 0.0148562 -0.0481759 -0.998728 \n-24.6439 34.2807 6.52588 0.200255 0.0963166 -0.974998 \n34.4491 -68.6275 -23.1555 -0.541562 0.166406 0.824026 \n6.27872 -25.4997 -48.9605 -0.994162 0.0380409 -0.100972 \n49.6446 36.4178 6.5275 -0.856808 0.0658145 0.511418 \n-30.8474 35.8055 6.29344 -0.3961 0.324578 -0.858926 \n-31.3799 34.0646 7.42809 -0.36137 0.283725 -0.888207 \n46.2026 -74.422 -14.3006 -0.46353 -0.383241 0.798916 \n-23.5005 36.7901 6.5108 0.507762 0.164606 -0.845626 \n8.81517 36.073 -38.5074 -0.223695 0.23508 0.945885 \n-22.6052 -65.6012 -9.53746 -0.0058276 0.940815 -0.338871 \n-31.802 38.146 6.96712 -0.260039 0.565527 -0.782662 \n-26.8929 -65.3537 -9.03665 0.00563777 0.969384 -0.245485 \n-26.5195 -57.0779 -28.1744 0.573794 0.0536387 0.817241 \n-23.2724 39.8772 6.12523 0.825193 0.0806828 -0.559058 \n47.2929 41.3345 6.4182 -0.614842 0.543054 0.571893 \n-29.0517 -67.2299 -21.9881 0.847516 0.223251 0.481534 \n-22.4398 41.292 7.92801 0.877655 0.0962575 -0.469527 \n25.236 -66.5677 -21.8886 0.612897 0.698418 0.369553 \n27.8034 42.8059 5.74352 -0.30225 0.693552 -0.653935 \n-15.5743 -74.6504 -19.6418 0.0290939 -0.999425 0.017413 \n-3.47439 10.4694 -33.1409 -0.534943 0.297471 0.790789 \n-20.4073 -74.3364 -15.923 0.0925973 -0.994037 0.0575837 \n-5.06302 9.46975 -32.7225 0.496424 -0.452303 0.740936 \n-21.997 44.6768 6.52315 0.753423 0.553117 -0.35555 \n34.8039 -66.5637 -22.5713 -0.455096 0.48443 0.747139 \n40.1254 44.7868 6.23639 0.021649 0.997066 0.0734247 \n26.4028 -66.0087 -21.9708 0.539871 0.65559 0.527959 \n6.24395 68.6992 -9.33829 -0.229155 0.972653 -0.0378685 \n-14.9395 -65.4538 -22.4992 -0.95574 0.287041 -0.0645646 \n6.76677 10.6467 -32.1231 -0.382588 -0.42834 0.818628 \n32.0705 -65.607 -22.765 -0.284285 0.561547 0.777076 \n-54.3162 49.023 7.09575 -0.319109 0.78796 0.526582 \n-27.7668 -65.7489 -22.3404 0.859436 0.0124383 0.511093 \n20.9107 49.8339 6.12319 -0.466055 0.815497 -0.343156 \n19.323 50.1605 7.10965 -0.610214 0.690345 -0.388668 \n37.9971 -64.4144 -8.01767 -0.199845 0.891473 -0.406618 \n-35.6385 -74.202 -14.8392 0.855618 -0.404509 0.322941 \n32.9552 -63.2756 -22.2883 -0.318123 0.0072476 0.948021 \n-12.1265 54.7483 6.75529 0.817535 0.417115 -0.397054 \n16.2603 55.4112 6.45567 -0.492235 0.0482796 -0.869122 \n-12.0296 56.9353 6.45105 0.313713 0.0758402 -0.946484 \n16.7687 57.225 6.47871 -0.498962 0.0304539 -0.866089 \n-11.1938 57.8898 6.36139 0.469193 0.199217 -0.860331 \n-14.4501 -10.54 -25.4874 0.395841 -0.0713831 0.915541 \n-28.5834 -63.8339 -22.594 0.855769 -0.292065 0.427034 \n15.1214 59.9701 6.80011 -0.556635 0.36778 -0.744913 \n46.436 -72.2282 -14.4381 -0.473428 -0.0434703 0.879759 \n13.6276 60.9055 6.8189 -0.460875 0.272442 -0.844612 \n-12.6201 60.6833 6.0229 0.688793 0.404411 -0.601678 \n32.8787 -62.386 -8.29248 0.00583344 -0.268017 -0.963396 \n-10.3639 62.8546 6.68579 0.445491 0.390258 -0.805752 \n27.7916 -62.056 -22.207 0.386592 0.0460093 0.921103 \n9.60522 65.3683 6.79463 -0.408026 0.758777 -0.507712 \n-7.41147 65.6959 6.6314 0.463111 0.748138 -0.475203 \n1.29178 11.9986 -32.2222 0.115816 -0.126816 0.985142 \n7.65131 67.4951 6.57524 -0.416274 0.891313 -0.179656 \n31.5784 -63.208 -22.823 -0.119595 0.054535 0.991324 \n-3.15232 67.8018 6.63453 0.459642 0.82198 -0.336271 \n-35.291 -71.3176 -15.6739 0.7361 0.225618 0.638164 \n3.38083 68.453 6.988 -0.220398 0.930607 -0.292225 \n51.5854 -74.9889 6.31163 -0.0259434 -0.590311 -0.806759 \n41.137 -74.7838 5.44153 0.0782519 -0.996932 0.00182114 \n51.354 -74.121 6.45096 0.194409 0.148376 -0.969634 \n-14.9751 -62.8465 -22.0934 -0.992386 -0.069287 -0.101829 \n-28.9589 -62.4715 -22.4603 0.894661 -0.348278 0.279792 \n-27.1474 -74.1283 5.77728 -0.654528 -0.595827 -0.465386 \n-4.05768 11.6548 -32.8745 -0.620852 0.349039 0.701937 \n-27.4503 -73.3705 6.24032 -0.600077 0.223326 -0.768136 \n-27.9256 -73.9867 6.33093 0.190814 -0.180545 -0.96488 \n-17.1192 -70.5551 -14.3923 -0.871031 0.0329292 -0.490123 \n40.0345 -71.2954 6.45306 0.51265 0.627923 -0.585579 \n-0.232492 -24.4606 -48.8866 0.943416 0.174241 0.282145 \n29.8687 -63.9442 -9.20861 0.329014 -0.195205 -0.923929 \n-14.6863 -62.1401 -23.0815 -0.908492 -0.381769 0.169984 \n-29.1243 -61.923 -22.905 0.691726 -0.624853 0.362042 \n2.06041 3.08935 6.54304 -0.132245 -0.409912 -0.902487 \n32.0127 -61.242 -22.4866 -0.20191 -0.126138 0.971247 \n34.9509 -62.5949 -8.4641 -0.202509 -0.00827664 -0.979245 \n29.4277 -61.6812 -22.7043 0.0797074 -0.0296706 0.996377 \n6.41023 5.01315 6.17198 -0.261588 -0.126848 -0.956808 \n-35.1376 -68.7164 -14.4777 0.574378 0.676207 0.461339 \n31.3874 -62.6851 -8.46858 0.107991 -0.440153 -0.891405 \n28.4612 -60.5427 -22.6286 0.334449 -0.127168 0.933794 \n-4.06943 12.4694 -32.2936 -0.502787 0.359938 0.785907 \n8.50489 7.63265 6.54494 -0.616122 -0.587422 -0.524717 \n29.3127 -63.0368 -9.10592 0.338019 -0.52272 -0.782628 \n-8.30564 8.23755 5.45292 0.652149 -0.344887 -0.675096 \n26.4765 -69.3384 -12.7556 0.844512 -0.225334 -0.485822 \n32.0512 -60.34 -22.9717 -0.193597 -0.395643 0.897767 \n-21.1256 46.8634 -26.7714 0.838684 0.466169 0.281593 \n28.86 -37.4464 -18.7116 0.33879 0.570295 0.748322 \n8.85392 11.6896 6.33261 -0.466425 -0.379493 -0.79902 \n-7.77407 11.4392 5.94897 0.517006 -0.237148 -0.822475 \n-10.9661 11.3152 6.12217 0.121303 -0.928562 -0.350796 \n-17.5245 -67.7161 -14.2815 -0.819398 0.187196 -0.541797 \n-13.8474 13.1295 6.67577 0.60367 -0.647084 -0.465688 \n-13.9876 -61.1527 -23.0964 -0.933801 -0.333514 0.129551 \n16.5394 13.6095 5.37966 -0.576991 -0.723421 -0.379135 \n-15.457 14.6994 6.25612 0.744555 -0.498236 -0.444296 \n-17.9464 17.3183 5.35645 0.642585 -0.693923 -0.324893 \n-32.8854 -67.7188 -14.7057 0.543529 0.789858 0.284077 \n20.7157 17.9746 5.67156 -0.851041 -0.344114 -0.396628 \n34.2416 -59.2932 -22.8055 -0.380598 -0.255342 0.888789 \n34.8121 -61.9208 -8.23713 -0.216382 -0.465821 -0.858015 \n27.1955 -60.8294 -22.2975 0.391382 -0.134329 0.910371 \n-6.01075 66.2934 -17.8973 0.118885 0.97592 0.182886 \n25.0717 -66.7411 -14.0962 0.888294 0.210637 -0.408126 \n-17.2541 -66.4427 -14.9528 -0.766625 0.322664 -0.555134 \n24.0203 24.3323 5.50056 -0.906197 -0.321458 -0.27472 \n24.3743 25.8953 6.27051 -0.592875 -0.614816 -0.520098 \n-13.7597 -59.6125 -22.684 -0.983432 -0.113141 0.141636 \n-30.0718 26.1155 6.11349 -0.458149 -0.0145259 -0.888757 \n37.839 25.9925 5.81899 -0.247255 -0.966843 -0.0638708 \n29.0226 26.2681 6.18968 0.351543 -0.789312 -0.503393 \n-42.8532 26.3771 6.14911 0.312309 -0.948062 -0.0603421 \n-44.5567 27.0065 5.30946 0.424821 -0.90519 0.0125938 \n-17.8958 -66.1012 -13.8694 -0.696821 0.499011 -0.515198 \n-31.1621 27.8325 6.36177 -0.392023 -0.348194 -0.851515 \n37.5311 -60.8309 -9.02644 -0.56863 -0.470928 -0.674453 \n-30.5165 -66.3167 -14.1744 0.374209 0.916382 0.142166 \n2.56162 12.8496 -32.5619 0.257887 -0.00479455 0.966163 \n25.7531 39.1271 -27.1406 -0.905133 0.0377017 0.423454 \n28.4211 -59.2509 -22.5931 0.335412 -0.0422593 0.941123 \n-13.657 -58.2557 -21.7106 -0.984888 -0.126078 0.118747 \n47.7617 28.5261 5.82169 -0.882614 -0.389361 -0.263422 \n-17.7239 -53.3212 -27.7237 -0.559608 0.212507 0.801049 \n-23.5494 28.976 6.3229 0.203508 -0.27953 -0.938321 \n-0.519325 13.678 -32.3927 0.0446042 -0.121735 0.99156 \n35.2312 -58.1652 -22.3491 -0.44898 -0.0832283 0.889658 \n-48.8077 30.129 6.03399 0.633986 -0.589272 0.500818 \n-49.2051 29.8384 6.33739 0.13211 -0.672264 0.728429 \n-50.9367 30.1033 6.57662 0.45418 -0.633562 0.626355 \n48.1251 30.8659 5.89034 -0.954378 -0.187212 -0.232624 \n-49.3422 30.97 5.85633 0.110091 -0.527525 0.842376 \n-50.1778 30.7396 5.88281 0.0710276 -0.616471 0.784168 \n-27.6019 30.4205 6.12392 -0.276755 -0.225024 -0.934222 \n-51.056 31.1323 5.90167 0.572128 -0.617999 0.539209 \n-19.1302 -65.0855 -14.5335 -0.544905 0.70662 -0.451404 \n-26.7542 30.93 6.05759 0.0390901 -0.246921 -0.968247 \n-52.3867 32.8926 5.56234 0.43696 -0.658395 0.612847 \n-4.92905 13.7817 -32.5372 -0.592898 0.463041 0.658836 \n-27.8764 34.2178 6.16305 0.0848227 0.171937 -0.981449 \n-28.5979 33.0863 6.6216 -0.323768 0.124936 -0.937851 \n14.5986 5.86685 -28.6306 -0.61354 0.0757582 0.786022 \n-26.506 34.8887 6.48662 0.122934 0.0914478 -0.988193 \n11.2117 12.9598 -31.8151 -0.414224 -0.171318 0.893906 \n-56.8666 35.2262 5.45488 0.466621 -0.59336 0.655888 \n-24.729 36.7011 6.06796 0.0900009 0.236018 -0.967572 \n34.3432 -57.176 -22.6445 -0.265074 0.0127072 0.964144 \n24.7896 -63.3587 -14.7068 0.877607 -0.365528 -0.310153 \n6.41618 67.2711 -17.6078 0.0446044 0.963752 0.263045 \n-26.8537 36.65 6.14131 0.118714 0.322054 -0.939249 \n26.6115 -60.7419 -9.13999 0.597985 -0.446088 -0.665898 \n-24.429 -8.10295 -19.4502 0.239386 0.77605 0.583473 \n-30.6754 37.697 6.82453 -0.435183 -0.109923 -0.893607 \n5.17662 66.9467 -17.8771 -0.0576486 0.959614 0.275351 \n-13.5794 -55.2416 -22.6672 -0.960432 0.0755664 0.268066 \n-30.6206 38.7791 6.30668 -0.233534 0.609427 -0.757668 \n-35.9972 39.0062 6.53776 -0.108163 0.877798 -0.466661 \n-36.2598 39.688 5.48103 -0.066424 0.902166 -0.426244 \n-1.95448 13.7094 -32.4489 0.119405 -0.0133951 0.992755 \n-25.7082 -63.41 -14.5891 0.483228 0.537096 -0.691389 \n5.7546 -23.4303 -50.251 -0.799691 0.595269 0.0784186 \n-39.097 40.808 6.4232 -0.532767 0.813406 -0.233518 \n28.2119 -55.8127 -22.4999 0.241015 0.0668619 0.968216 \n-4.71753 36.9679 -38.4552 0.147238 0.0398091 0.9883 \n24.261 -62.6075 -14.0678 0.673631 -0.706342 -0.21749 \n-39.5527 41.3302 6.48921 -0.862187 0.469165 0.191097 \n46.2967 42.3591 6.50913 -0.716784 0.647381 0.259073 \n28.4382 43.0039 5.41004 0.145705 0.802763 -0.578223 \n27.5048 -56.3002 -22.3106 0.551784 0.032456 0.833355 \n-24.1583 -62.7963 -14.1378 0.0114095 0.00972835 -0.999888 \n24.8512 -57.5459 -8.79208 0.630555 -0.478626 -0.610997 \n-25.2815 45.4354 -17.244 0.946826 0.248613 0.204234 \n-41.9328 44.072 6.94562 -0.715604 0.536533 0.447263 \n44.9717 44.1743 6.30221 -0.613791 0.776382 -0.143147 \n33.596 44.1777 5.6674 0.151067 0.970647 -0.187144 \n-42.6343 44.5742 5.67553 -0.755101 0.494445 0.430519 \n44.048 44.8938 6.76779 -0.220651 0.971677 0.0845971 \n38.4935 44.9259 6.14972 0.0768872 0.992311 -0.0969868 \n35.2863 44.4413 5.95523 0.124161 0.978683 -0.163595 \n25.8608 45.02 6.56374 -0.80755 0.38656 -0.44546 \n-59.4963 45.7693 6.14074 0.786607 0.158177 0.59685 \n-21.8161 -63.2134 -14.3538 -0.186971 0.233758 -0.954148 \n-25.4407 -62.3717 -14.4166 0.407199 -0.452754 -0.793223 \n-20.4577 45.8421 6.41539 0.689634 0.638723 -0.341229 \n-20.4414 46.5744 5.60324 0.645378 0.661826 -0.381409 \n-44.7518 47.0086 6.44755 -0.309317 0.663417 0.681323 \n-45.7051 47.0261 6.16102 -0.370581 0.701905 0.608276 \n23.8524 -56.4929 -8.70869 0.705406 -0.430356 -0.563202 \n-52.3974 47.5155 6.44995 0.128855 0.639893 0.757584 \n39.1895 -56.4865 -9.1772 -0.807401 -0.291775 -0.512808 \n-18.661 -60.7483 -14.0358 -0.138331 -0.614425 -0.776754 \n-21.6022 -61.3515 -14.2463 -0.107371 -0.419997 -0.901152 \n-47.7261 48.4456 6.22652 -0.246369 0.712351 0.65716 \n-22.3433 -61.7215 -14.3389 -0.193081 -0.220002 -0.9562 \n-50.6609 48.7166 7.00521 0.0816916 0.668478 0.739232 \n-53.4822 47.4911 6.04106 -0.339711 0.690324 0.638787 \n-19.5818 47.5315 5.98136 0.710611 0.68089 -0.177259 \n-57.4838 48.9413 6.27841 0.195911 0.69354 0.693268 \n6.89839 37.4678 -38.1977 -0.188715 0.113083 0.975499 \n16.9021 54.2152 6.26762 -0.56965 0.350132 -0.743577 \n21.0273 50.0491 -25.8836 -0.742839 0.56113 0.365136 \n-26.5233 -61.8016 -14.533 0.548519 -0.400169 -0.734161 \n39.8873 -61.1653 -13.7731 -0.97714 0.170038 -0.127613 \n-17.6926 -60.6634 -14.6173 -0.506261 -0.562816 -0.653405 \n-25.1017 46.8302 -16.9482 0.737828 0.276273 0.61586 \n17.2808 57.8788 5.71696 -0.804461 0.402712 -0.436653 \n27.6494 -53.0396 -22.2491 0.344395 0.0631289 0.9367 \n-13.6678 -52.6699 -22.5721 -0.883436 0.0836667 0.461022 \n-12.3752 58.8049 6.03426 0.240068 0.0441243 -0.969753 \n-11.865 59.6738 6.68123 0.383331 -0.0184864 -0.923426 \n15.0855 60.6633 6.24781 -0.672095 0.642518 -0.368047 \n13.5339 62.6396 5.74336 -0.866513 0.485606 0.115506 \n-10.5602 63.1758 6.10538 0.618478 0.727036 -0.298167 \n35.0459 -52.6289 -22.4693 -0.267657 -0.0317476 0.962991 \n10.9153 65.3302 5.71438 -0.37612 0.922045 0.0914676 \n-8.34795 64.8858 6.58905 0.602178 0.458463 -0.6536 \n-26.1096 -54.8995 -9.07274 0.0705939 -0.756584 -0.650075 \n-4.44291 66.9361 5.75095 0.439538 0.857701 -0.266748 \n0.87726 36.8855 -38.6391 0.306952 0.254078 0.917183 \n0.42944 67.9318 -17.4484 -0.00697448 0.977282 0.21183 \n-0.00978531 68.2108 5.82722 0.110476 0.993867 0.00475024 \n1.15364 68.5756 6.19333 0.0620023 0.997974 -0.0142388 \n-28.5887 -60.0869 -14.5622 0.481809 -0.480177 -0.733001 \n23.2739 -60.785 -14.1095 0.934908 -0.301801 -0.186715 \n33.653 -51.174 -22.8678 -0.210962 -0.058553 0.975739 \n49.5456 -73.982 5.51396 0.535943 -0.223947 -0.81401 \n52.1054 -73.8838 5.92305 -0.905706 0.299936 -0.299559 \n-18.4603 -52.6506 -28.1674 -0.380191 0.149282 0.912782 \n12.4211 25.35 -35.4813 -0.372065 -0.276234 0.88615 \n43.6835 -73.4013 5.37059 -0.848484 0.526613 -0.0524682 \n42.1172 -35.9171 -9.96473 -0.882172 0.378465 0.280244 \n-26.676 -73.5416 5.28736 -0.862877 -0.103185 -0.494768 \n-24.8706 -54.3285 -9.00549 -0.260663 -0.671752 -0.6934 \n-27.5183 -59.4988 -14.0231 0.570851 -0.313845 -0.758703 \n43.1194 -73.0675 6.045 -0.852573 0.522608 0.000578907 \n-27.951 -71.9846 5.82363 0.177541 0.634478 -0.752275 \n40.1545 -59.1171 -14.8724 -0.94687 -0.131637 0.293444 \n42.111 -71.6318 5.92702 -0.82219 0.567951 0.0378914 \n-19.644 -51.408 -28.2728 -0.148345 0.256652 0.955052 \n40.4152 -54.3743 -9.3317 -0.991453 -0.0678306 -0.111447 \n-1.45252 -2.02065 5.55925 0.270558 -0.381555 -0.883863 \n-5.68036 15.1221 -31.6487 -0.0786557 0.702037 0.707783 \n0.642317 -1.89575 5.8435 -0.0475181 -0.444534 -0.894501 \n0.0176472 -0.248951 6.22306 0.0827401 0.02001 -0.99637 \n-6.43793 14.5554 -33.011 0.102417 0.78936 0.605328 \n2.47747 -0.112652 5.94123 -0.161785 0.0205396 -0.986612 \n-0.340366 1.49275 5.7758 -0.00662306 -0.298767 -0.954303 \n-14.7784 -58.2394 -15.4503 -0.760612 -0.451192 -0.466792 \n1.36294 1.36755 5.66476 -0.118086 0.170793 -0.978205 \n-1.61382 1.12315 5.54381 0.226121 -0.214361 -0.95022 \n1.54525 1.95855 5.78939 -0.118991 -0.492151 -0.862339 \n3.46632 -26.8482 -39.4901 -0.569484 -0.664649 -0.483663 \n25.8236 -75.2216 -18.9514 -0.0670596 -0.997674 -0.0122428 \n-20.8547 -53.9137 -8.69184 0.107998 -0.493287 -0.863136 \n6.46584 2.71965 5.7653 -0.213198 -0.33758 -0.916835 \n7.79728 4.74115 5.61492 -0.456394 -0.142947 -0.87822 \n-2.3901 15.2516 -32.1779 0.211855 -0.112606 0.970792 \n-23.7916 48.1857 -17.5408 0.765885 0.325637 0.55442 \n34.8104 -49.2317 -22.6429 -0.244415 -0.0202825 0.969458 \n7.37274 6.26875 5.8626 -0.472573 -0.0961237 -0.876034 \n29.132 -50.0938 -22.5516 0.288127 0.0452229 0.956524 \n-4.03653 6.10415 6.26892 0.370156 -0.60007 -0.709155 \n-5.20955 6.27685 5.60972 0.53006 -0.593269 -0.605861 \n-14.9063 -56.8233 -14.1638 -0.757423 -0.405589 -0.511672 \n9.0702 8.16245 5.55499 -0.895663 -0.226192 -0.382916 \n-8.7171 10.5909 5.13398 0.730732 -0.0834535 -0.677544 \n9.2581 10.5007 5.83029 -0.774396 -0.0551481 -0.630293 \n9.38629 11.1835 5.82476 -0.401666 -0.517076 -0.755842 \n-0.5051 15.6439 -32.4931 0.123572 -0.210804 0.969686 \n34.1741 -37.002 -19.2851 0.0381721 0.635054 0.771524 \n40.6497 -55.7259 -14.3758 -0.970998 -0.139852 -0.193918 \n21.9446 -56.4809 -14.1379 0.977216 -0.209881 -0.0315966 \n36.2125 -49.318 -22.3464 -0.455406 -0.0487634 0.888947 \n-17.9179 17.878 6.19919 0.800916 -0.37086 -0.470102 \n23.615 -9.16545 -24.9602 -0.169636 0.422713 0.890246 \n3.91881 68.9587 -12.0039 -0.117233 0.98382 0.135477 \n-13.8005 -55.0186 -14.6047 -0.848138 -0.349372 -0.398247 \n-30.7411 -54.4872 -14.8592 0.942197 -0.292154 0.164045 \n-19.6486 19.9063 5.78087 0.708108 -0.558578 -0.431941 \n7.65366 15.9919 -32.2979 -0.393713 0.171248 0.903141 \n-25.9676 -52.4321 -27.8099 0.418425 0.109984 0.901568 \n-34.7221 24.4039 5.82573 0.0285021 -0.942427 -0.333196 \n-38.3369 24.0986 4.59342 0.0969394 -0.976617 -0.191892 \n35.7625 24.9571 6.30396 -0.0736644 -0.97159 -0.224916 \n-32.3759 25.346 6.34388 -0.260643 -0.81174 -0.522631 \n-36.38 24.6947 5.48004 0.025256 -0.926016 -0.376639 \n31.9856 25.4729 6.57623 0.191182 -0.912745 -0.361035 \n24.614 25.2554 5.42609 -0.665237 -0.583264 -0.466114 \n30.8969 25.2087 4.99418 0.214687 -0.929431 -0.300111 \n-40.8469 25.7264 5.94638 0.52971 -0.801861 -0.276455 \n42.0717 26.9937 5.79798 -0.21952 -0.958712 0.180784 \n8.4116 17.2686 -32.2916 -0.340155 -0.372427 0.863477 \n-31.4949 27.2019 6.44873 -0.422067 0.197904 -0.8847 \n-21.4986 27.8645 6.33424 0.790438 -0.231275 -0.567204 \n29.1531 -47.827 -22.2672 0.318369 0.144899 0.936827 \n-32.5867 -75.1469 -17.8817 0.308894 -0.886269 0.345125 \n36.448 -48.0653 -22.4382 -0.353862 0.00502676 0.935284 \n-5.04467 17.9467 -32.4565 0.37652 -0.382111 0.843934 \n-12.3135 -51.4935 -14.7734 -0.948027 -0.255093 -0.190188 \n-29.9967 27.6518 5.63027 -0.372739 -0.194983 -0.90722 \n-26.0163 29.9844 5.84168 0.273509 -0.307224 -0.911486 \n-48.3792 30.3543 5.1452 0.792906 -0.469265 0.388704 \n48.4533 32.5053 5.68726 -0.887146 -0.344664 0.306886 \n-53.1475 32.7384 6.06909 0.211382 -0.755271 0.620389 \n-54.4169 33.1184 5.91154 0.346108 -0.68853 0.637287 \n-29.8302 -52.2178 -9.46355 0.627063 -0.503739 -0.594171 \n35.4881 -46.9598 -22.6078 -0.341539 -0.00703526 0.939841 \n48.7126 34.1388 4.94882 -0.995653 0.0013623 0.0931333 \n-28.7495 35.9072 5.60278 0.139067 0.185955 -0.972667 \n-29.3631 35.4193 5.89651 -0.31242 0.354047 -0.881501 \n-58.4485 35.6448 6.33916 0.70157 -0.40954 0.583161 \n40.5594 -52.1079 -9.14045 -0.96765 -0.252277 -0.00301598 \n-29.5935 36.7918 5.59178 -0.329813 -0.16573 -0.929385 \n48.5499 36.0581 4.88103 -0.982555 0.103435 0.154553 \n-27.9907 37.4965 5.62241 -0.00687726 0.201976 -0.979366 \n-8.89038 24.8617 -35.6592 0.346589 -0.427068 0.835158 \n-29.0168 37.6815 5.85369 -0.397761 -0.124229 -0.90904 \n21.4799 -49.8628 -14.5554 0.945011 0.0569773 0.322036 \n-28.7241 38.6424 5.46431 -0.335364 0.443074 -0.831394 \n24.3693 -35.2643 -11.159 0.922689 -0.301156 0.240728 \n47.5135 40.2752 5.62641 -0.731952 0.495143 0.46806 \n21.8003 -47.6139 -14.8648 0.930197 0.026424 0.366109 \n-40.2402 41.8875 5.48162 -0.62334 0.686091 0.375134 \n-40.3222 42.9273 6.4685 -0.681005 0.585763 0.439447 \n-15.9753 -51.0308 -8.58101 -0.481141 -0.333356 -0.810788 \n-32.3632 -46.0013 -13.9745 0.974294 -0.0073255 -0.225163 \n29.9324 43.3631 5.51718 0.30068 0.868689 -0.393663 \n-59.4417 43.5378 5.72421 0.749128 0.0646726 0.659261 \n35.8955 44.8609 5.00883 0.0495158 0.982098 -0.181749 \n30.775 -45.5303 -22.6332 0.210509 0.233056 0.949406 \n26.9191 44.6273 5.60159 -0.71163 0.485835 -0.50749 \n-22.1443 44.9908 5.15478 0.755799 0.534695 -0.37798 \n25.0388 46.6522 6.85057 -0.620111 0.607802 -0.496024 \n-8.41719 18.3735 -32.1487 -0.180417 -0.72823 0.661158 \n-12.9346 -44.7161 -14.2105 -0.897354 0.440696 0.0233027 \n-31.9691 -45.2398 -22.5505 0.834662 -0.0184643 0.550453 \n-52.0149 46.4799 5.08481 -0.0928755 0.767274 0.634558 \n-48.4085 47.5592 5.39495 0.120162 0.583691 0.803035 \n-23.5551 49.9911 -17.1526 0.699504 0.341226 0.6279 \n-50.5788 47.2825 5.27933 0.0595288 0.634406 0.770704 \n22.8995 48.3603 5.55316 -0.543049 0.720303 -0.431581 \n-22.6127 -60.8902 -29.8908 0.190682 -0.616608 0.763829 \n-54.7816 48.6111 5.93472 -0.427744 0.650082 0.628035 \n37.2654 -74.7745 -19 0.0991607 -0.991559 -0.0835339 \n-17.4356 49.0784 6.37708 0.554085 0.828343 -0.0826914 \n26.4305 50.3021 -16.7756 -0.623465 0.679549 0.386659 \n1.68212 -16.519 -36.5136 -0.115542 0.689757 0.714763 \n-15.7178 50.7331 6.42628 0.771949 0.553951 -0.311824 \n-13.5348 53.9457 5.74174 0.679929 0.555655 -0.47848 \n-6.50397 19.1723 -32.283 0.0138681 -0.647174 0.762216 \n18.8909 55.4288 5.75553 -0.311642 0.228412 -0.922338 \n-13.1208 54.898 5.78385 0.488668 -0.0559628 -0.870673 \n16.9944 55.4503 5.88153 -0.374135 0.100094 -0.921957 \n17.484 56.3432 5.64215 -0.574358 0.267691 -0.773598 \n-14.2499 56.143 5.8477 0.340814 -0.216033 -0.914973 \n-14.1316 58.1267 6.07903 0.319688 0.16725 -0.932645 \n22.6596 -40.1115 -13.897 0.886392 0.373977 0.272857 \n36.1395 -43.6493 -22.3046 -0.479481 0.0288279 0.877078 \n-13.1743 59.1639 5.69476 0.50774 0.283677 -0.813466 \n32.5816 -45.057 -22.5978 0.0980094 0.134626 0.986037 \n-9.18476 63.9603 6.26007 0.610104 0.631959 -0.477913 \n-31.2183 -50.0808 -9.36811 0.739939 -0.491757 -0.458983 \n9.50642 65.5659 5.76903 -0.67773 0.720312 0.147762 \n-6.90169 66.4408 4.62681 0.465235 0.873477 0.143507 \n-15.1025 -39.9976 -14.8474 -0.753848 0.651007 -0.0889031 \n4.5407 68.091 5.84243 -0.284084 0.957579 -0.048349 \n-1.37087 68.3658 6.45424 0.0908908 0.991914 -0.0885743 \n29.2907 -74.5165 -17.1494 -0.110529 -0.990915 0.0766182 \n27.8204 -74.6278 -19.8575 -0.222999 -0.974189 -0.0350318 \n49.7104 -74.6455 5.14442 0.461875 -0.758804 -0.459225 \n-27.823 -74.5278 5.53012 0.0727341 -0.997102 -0.0222997 \n38.7375 -73.2646 5.20229 0.804181 -0.16363 -0.571418 \n35.5386 -42.7718 -22.6239 -0.291283 0.138938 0.946494 \n50.8596 -72.5128 5.76533 -0.0648354 0.590305 -0.804572 \n-22.5485 -74.6007 -7.97466 0.0574621 -0.996534 0.0601494 \n-14.5557 -48.8994 -9.07889 -0.734032 -0.208237 -0.646401 \n16.7152 21.7103 -32.7921 -0.558577 -0.107152 0.822502 \n40.883 -70.5916 5.68047 -0.0786887 0.914882 -0.395978 \n41.3106 -39.3506 -14.6345 -0.939649 0.252667 0.230691 \n1.99933 -19.8553 -42.5322 -0.144339 0.931891 0.332784 \n-2.20185 -0.63615 5.54792 0.400165 -0.0100969 -0.916388 \n5.11546 -0.266151 5.39123 -0.291108 -0.0623945 -0.954653 \n3.26678 -1.84665 5.39414 -0.178837 -0.396054 -0.900644 \n4.73056 1.33965 5.13821 -0.19723 0.0589946 -0.97858 \n3.95927 1.97375 5.52556 -0.104655 -0.548542 -0.829547 \n34.241 -42.6599 -22.7452 0.149936 0.137528 0.979084 \n25.0278 -37.6474 -14.5534 0.632015 0.645816 0.428344 \n-16.6207 -37.6401 -15.5748 -0.993939 0.0487915 0.0985112 \n40.7893 -37.7297 -15.0804 -0.802604 0.469823 0.367551 \n-5.59711 4.03775 5.21089 0.57147 -0.18226 -0.800127 \n8.25269 4.56665 5.1454 -0.911941 -0.1332 -0.3881 \n-4.52042 5.35965 5.89868 0.442285 -0.0914542 -0.8922 \n8.26091 6.60135 5.21184 -0.776629 -0.36065 -0.516506 \n-6.07851 6.28305 4.6576 0.608357 -0.554979 -0.567363 \n25.5291 41.3612 -27.1516 -0.861948 0.191953 0.469254 \n40.1856 -36.3036 -13.9088 -0.807962 0.457674 0.371122 \n10.7815 11.2272 5.22385 -0.0640484 -0.907236 -0.415717 \n-9.13738 11.0375 5.22865 -0.0285903 -0.890622 -0.453844 \n14.6082 12.0731 4.75353 -0.43044 -0.883361 -0.18546 \n-14.5584 -46.8479 -8.5889 -0.677592 -0.131942 -0.723506 \n3.11121 25.67 -35.904 0.59931 -0.715789 0.358432 \n-18.7112 -40.5272 -22.8985 -0.661043 0.54998 0.510435 \n-21.0477 -50.0146 -27.8863 -0.10149 0.305494 0.94677 \n19.969 16.5459 4.21315 -0.513276 -0.793536 -0.326877 \n-18.0465 -74.3237 -19.5014 0.0430234 -0.998468 0.0347959 \n-27.527 -39.2971 -22.0888 0.295685 0.796148 0.527938 \n-28.952 -40.2829 -23.0511 0.381688 0.61751 0.687747 \n26.3122 -35.3044 -14.2229 0.714185 -0.253895 0.652286 \n25.4298 -34.9704 -13.8588 0.728294 -0.523353 0.442368 \n-32.6587 24.6075 5.09383 -0.0944331 -0.939886 -0.328171 \n16.5235 55.834 -26.2445 -0.252662 0.654085 0.712976 \n-30.8932 25.1813 5.88824 -0.272253 -0.774705 -0.570711 \n36.5927 25.1714 5.04763 -0.318744 -0.934216 -0.160133 \n-21.5574 26.0011 5.46791 0.868139 -0.125316 -0.480241 \n39.3535 25.8716 5.19357 -0.12457 -0.990091 -0.0648252 \n20.4956 -45.2744 -8.61774 0.992378 0.122927 0.0086959 \n-29.413 25.7586 5.4593 -0.323119 -0.742414 -0.58687 \n25.8264 -33.9199 -14.4306 0.248736 -0.48394 0.839007 \n40.9567 26.2868 4.69218 -0.393302 -0.915317 0.0866551 \n-31.5142 -35.4834 -13.4629 0.898347 0.21737 0.381736 \n18.222 25.8102 -32.5693 -0.750055 -0.263488 0.606623 \n-23.5128 -39.4362 -23.4719 0.0092193 0.686438 0.72713 \n44.4044 27.4359 5.29926 -0.140287 -0.940531 0.309389 \n-24.2077 -38.1205 -21.9577 0.123454 0.823801 0.553273 \n-14.8939 27.2342 -32.9098 0.528319 -0.26786 0.805686 \n42.7804 27.4624 4.99567 -0.0901452 -0.965946 0.242532 \n-24.3376 27.101 5.22431 0.227315 -0.497361 -0.837233 \n47.7618 28.4634 4.95487 -0.776598 -0.620902 0.106657 \n-45.8022 27.8344 4.05435 0.593727 -0.788195 0.16198 \n-47.4613 29.2698 4.83559 0.719419 -0.630195 0.292047 \n24.0365 -32.9878 -14.3893 0.372317 -0.800679 0.469355 \n-49.6761 31.748 5.16481 -0.0897753 -0.724592 0.683306 \n-32.7421 -45.9577 -8.88976 0.879317 -0.351562 -0.321258 \n-51.1045 31.6481 5.0719 0.51558 -0.522848 0.678827 \n24.5696 -32.6099 -15.034 0.464938 -0.713418 0.524278 \n-57.8843 36.7704 5.26468 0.628371 -0.301568 0.717082 \n18.8189 28.156 -32.4934 -0.701472 -0.267973 0.6604 \n47.9188 39.2359 5.30451 -0.796628 0.349607 0.493112 \n-16.0063 -25.034 -21.9266 -0.426674 -0.431986 0.794567 \n-17.678 -24.5376 -22.7678 -0.208941 -0.350434 0.912984 \n-19.8476 -24.6219 -22.7203 -0.0275704 -0.329531 0.943742 \n-31.1138 39.8269 5.27048 -0.165093 0.775352 -0.609569 \n-33.2186 -45.1945 -9.80295 0.899992 -0.415246 -0.132607 \n-32.3139 39.1339 6.10794 -0.110383 0.790269 -0.602735 \n-34.5503 40.2298 5.2154 0.0232735 0.872675 -0.487748 \n-58.9162 40.4571 5.75573 0.733996 -0.16333 0.659222 \n-41.1171 42.1534 4.71002 -0.639183 0.751163 0.164922 \n-41.5406 43.2043 5.92575 -0.601781 0.680374 0.418271 \n-32.8116 -74.7382 -18.1189 0.6415 -0.0627552 0.764551 \n5.67042 -24.0254 -38.473 -0.710667 -0.682956 -0.168889 \n27.5101 43.452 5.39937 -0.678477 0.455781 -0.576136 \n19.3875 -30.9174 -14.4571 0.733977 -0.523777 0.432361 \n44.7766 44.2066 4.90908 -0.208203 0.924725 0.318647 \n19.298 -7.82845 -25.2998 -0.25058 0.132202 0.959027 \n41.8139 44.8761 5.67897 -0.0214123 0.959547 0.280732 \n40.9066 44.2866 4.64514 -0.138055 0.961915 0.235924 \n-19.0284 -26.0498 -22.3439 -0.0502694 -0.415682 0.90812 \n-23.2164 -24.4003 -22.9196 0.23161 -0.356256 0.905228 \n-44.3353 45.8271 5.31192 -0.32423 0.640065 0.696557 \n-13.52 -30.5359 -14.4125 -0.792651 -0.492215 0.359762 \n-31.2081 -30.5372 -14.3892 0.732588 -0.491671 0.470716 \n-58.2178 46.7026 4.86516 0.608067 0.335406 0.719554 \n-46.6547 47.0002 5.43662 -0.271213 0.697677 0.663091 \n-49.82 47.8351 5.96948 0.109429 0.629735 0.769064 \n-58.1157 47.6511 5.43799 0.489425 0.561375 0.667324 \n4.27074 -28.6921 -50.6867 -0.288672 -0.851513 -0.437714 \n-17.6863 48.7986 4.91816 0.504895 0.862406 0.0365681 \n-16.5618 49.6262 6.0424 0.710676 0.671645 -0.209361 \n20.3202 50.3895 5.8575 -0.644572 0.545981 -0.535193 \n-16.6047 50.5653 4.13764 0.778465 0.494906 -0.386084 \n18.4865 -29.2563 -14.4653 0.78742 -0.569369 0.236195 \n-15.2397 51.9237 5.1435 0.779269 0.499067 -0.37904 \n18.8636 52.3127 5.63804 -0.590224 0.35517 -0.724907 \n-12.7768 -29.4842 -14.9017 -0.801838 -0.415395 0.429537 \n19.5072 52.5658 5.24906 -0.382128 -0.14377 -0.912857 \n-14.3809 53.451 5.22366 0.497238 0.143963 -0.855587 \n19.26 54.1275 5.62121 -0.324543 -0.057393 -0.944128 \n-14.0533 54.807 5.21665 0.331975 -0.0930427 -0.938688 \n-15.5223 56.9869 5.29258 0.660926 0.0220072 -0.750128 \n-15.7671 -24.001 -22.1366 -0.400479 -0.387368 0.830399 \n-17.347 -23.3736 -23.0279 -0.0916012 -0.367736 0.925408 \n17.7778 57.0998 4.85269 -0.511559 0.794153 -0.328069 \n-14.8011 58.6678 5.16997 0.643994 0.574984 -0.504643 \n33.9076 -74.0697 -16.8513 -0.0454315 -0.998119 0.0411583 \n-13.4775 59.443 5.2895 0.744308 0.512727 -0.427921 \n5.29176 -25.1545 -39.6723 -0.657434 -0.608747 -0.44408 \n15.3042 60.8275 4.8142 -0.66804 0.739453 0.0832549 \n14.141 61.5381 5.35294 -0.526867 0.844576 0.0954082 \n-11.5278 62.6415 4.98199 0.716007 0.652001 -0.249457 \n-32.5099 -27.712 -14.3471 0.791746 -0.249495 0.557576 \n-33.4903 -42.1269 -9.33163 0.95353 0.271778 -0.13007 \n18.8174 -23.278 -22.6069 0.307723 -0.596081 0.741616 \n-9.4899 63.976 4.95411 0.677485 0.729436 0.0945378 \n-8.67432 65.1535 5.31695 0.676751 0.71689 -0.167561 \n-5.69075 66.8798 5.87815 0.276149 0.935532 -0.220275 \n8.18382 67.2902 5.38023 -0.543006 0.808039 0.228512 \n20.7659 31.9042 -32.5331 -0.781148 -0.247372 0.57325 \n51.528 -75.2889 5.58443 0.12777 -0.986444 -0.102968 \n51.7669 -75.1328 4.28749 -0.399034 -0.869473 0.291184 \n16.3536 -21.9885 -22.4457 0.450733 -0.423007 0.786069 \n10.6954 41.4508 -37.6267 -0.484596 0.129641 0.865078 \n39.5321 -73.8065 5.98539 0.738234 -0.461609 -0.491862 \n-27.0532 -74.1928 4.63219 -0.417686 -0.908591 -0.000993565 \n-28.7575 -74.0535 5.74069 0.689545 -0.633124 -0.351685 \n37.0345 -26.935 -14.9015 -0.686006 -0.314868 0.655938 \n51.8252 -73.2918 4.37292 -0.958531 0.20596 0.196976 \n48.6002 -72.9088 4.98177 0.595153 0.132106 -0.79268 \n-28.8435 -73.2521 5.82581 0.8929 0.309871 -0.326665 \n23.1832 -74.2097 -19.8039 0.677927 -0.712174 -0.182274 \n-26.7833 -71.9725 4.83427 -0.668392 0.391736 -0.632293 \n51.4738 -72.467 5.15646 -0.767316 0.578045 -0.277653 \n49.2665 -72.6329 5.29823 0.308601 0.418324 -0.854266 \n42.5825 -72.3662 4.731 -0.774973 0.62739 0.076153 \n-14.8509 57.6173 -26.4237 0.677705 0.596394 0.430151 \n41.6643 -70.839 5.34288 -0.697233 0.716039 -0.0339796 \n21.206 33.5509 -32.4924 -0.604634 0.0823977 0.79223 \n-16.4472 34.0321 -33.0139 0.660238 0.204633 0.722641 \n-33.418 -25.9817 -13.754 0.817627 -0.215173 0.534029 \n42.6595 -40.0854 -8.33304 -0.992972 -0.0241379 0.115866 \n-3.3834 -2.74865 4.36277 0.370647 -0.499218 -0.7832 \n6.45936 0.810749 4.67027 -0.447839 0.0299289 -0.893613 \n-2.7098 0.78105 5.02892 0.435496 -0.262444 -0.861084 \n-17.2904 34.6353 -32.493 0.671437 -0.345545 0.655569 \n6.43482 1.47495 4.83861 -0.266413 -0.508906 -0.818559 \n6.5409 23.1402 -36.7764 0.0886811 -0.525942 0.845884 \n-3.54287 2.09805 5.92023 0.346717 -0.314315 -0.883738 \n7.45416 1.60835 4.33353 -0.712478 -0.533037 -0.45634 \n-5.34929 1.83435 4.39316 0.774543 -0.455763 -0.438592 \n9.57869 8.65235 5.01026 -0.610024 -0.249979 -0.751918 \n-8.97635 8.76945 4.63335 0.877744 -0.238156 -0.415748 \n10.3834 10.7074 4.95389 -0.520985 -0.262002 -0.81236 \n-14.9529 13.0988 4.80847 0.697474 -0.640637 -0.321114 \n15.4237 -20.6356 -22.3559 0.350103 -0.448086 0.822585 \n-32.3479 -74.1203 -18.4829 0.670933 0.114743 0.732587 \n16.8636 13.2353 3.92788 -0.583639 -0.808636 -0.0739795 \n5.56429 37.7872 -38.3747 -0.129728 -0.016948 0.991405 \n-16.7568 14.6336 3.53792 0.762538 -0.558564 -0.326407 \n-16.771 -38.0414 -8.72908 -0.890743 -0.236323 -0.388238 \n20.9709 17.3286 4.31606 -0.802004 -0.550768 -0.23118 \n-18.8349 18.8713 4.98991 0.771385 -0.540621 -0.335699 \n22.9 20.3157 4.87506 -0.836259 -0.491554 -0.242992 \n-21.6856 24.7924 4.85608 0.913652 -0.171771 -0.368422 \n-31.2807 24.3003 4.53227 -0.140873 -0.923497 -0.356804 \n-12.3477 -20.1334 -22.4719 -0.583613 -0.360626 0.727561 \n34.8523 24.9263 4.25958 -0.124014 -0.981124 -0.14838 \n-8.03691 -21.6359 -15.2711 -0.871793 -0.437407 0.22057 \n-40.0807 24.6803 4.97394 0.400367 -0.866096 -0.299305 \n0.870854 -19.7433 -42.044 0.355722 0.832165 0.425398 \n42.9405 -38.577 -8.59615 -0.983003 0.0542008 0.175405 \n-21.1837 53.9759 -17.2372 0.735414 0.59378 0.326485 \n-28.5014 24.7246 3.86441 -0.280016 -0.838537 -0.467383 \n-28.4065 26.0487 5.20968 -0.453602 -0.286559 -0.843878 \n-41.8165 25.9747 4.59156 0.35577 -0.928667 -0.104909 \n29.2411 25.9657 5.51506 0.349613 -0.861994 -0.367065 \n-22.2705 26.4969 5.07224 0.281614 -0.45135 -0.846745 \n14.8663 24.8277 -34.9133 -0.409173 -0.344003 0.845127 \n-28.2393 27.5181 5.20068 -0.281576 -0.294433 -0.913249 \n31.8341 -18.6098 -22.6487 -0.439356 -0.0471736 0.897073 \n21.0212 38.3414 -32.6612 -0.404593 0.10003 0.90901 \n-49.0724 31.2803 5.4457 0.644399 -0.557697 0.523187 \n-26.1622 -17.4284 -23.0534 0.600113 0.0442314 0.798691 \n-50.4426 31.7269 4.84308 0.0494269 -0.68856 0.723493 \n48.6628 32.2222 4.88537 -0.955667 -0.0821922 -0.282745 \n-51.6705 33.0843 4.71143 0.527656 -0.373749 0.762818 \n-0.468876 -19.0443 -27.8987 0.431715 -0.827426 -0.35915 \n-5.9592 -19.0706 -15.0972 -0.414797 -0.904594 0.0982501 \n-53.8333 35.1403 3.828 0.356541 -0.632826 0.687321 \n30.9536 -17.5347 -22.8021 -0.538035 -0.112054 0.835441 \n12.6343 -17.9053 -22.5229 0.536884 -0.465031 0.703918 \n48.3199 37.2853 4.95787 -0.957624 0.25769 0.128657 \n24.594 -37.1383 -9.04548 0.983498 0.028799 -0.17861 \n-29.4795 39.357 5.21933 -0.205313 0.738885 -0.641791 \n-24.8095 38.8641 5.35242 0.204663 0.34453 -0.916194 \n-10.6561 -17.4028 -22.7029 -0.187048 -0.834137 0.518872 \n-57.7209 40.5117 4.24541 0.718868 -0.114941 0.685578 \n-24.07 40.1739 5.26829 0.574194 0.247017 -0.780567 \n-2.29575 -18.0429 -28.4678 0.548947 -0.817166 -0.175776 \n-23.6199 41.5322 5.17702 0.838246 0.197786 -0.508158 \n-7.53829 -17.3518 -22.3088 -0.428108 -0.67607 0.599711 \n46.3914 43.1743 4.95411 -0.875548 0.466461 -0.125817 \n19.6092 41.2206 -32.5758 -0.659306 0.241478 0.712042 \n-32.6405 -72.7839 -18.1852 0.697458 0.0560052 0.714434 \n28.67 43.674 4.34442 -0.184148 0.81021 -0.556462 \n45.6396 44.0288 5.1404 -0.613886 0.783863 -0.0932902 \n-2.68138 -17.7478 -14.46 -0.489125 -0.866632 0.0985198 \n20.6378 41.0848 -32.2787 -0.542938 0.224457 0.80922 \n-9.02083 -17.1464 -22.9204 -0.0771505 -0.795362 0.601205 \n37.9599 -16.6016 -14.4536 -0.938892 0.163794 0.302744 \n-23.3796 43.1135 4.97766 0.876858 0.309466 -0.367901 \n14.7015 7.07665 -28.2317 -0.623712 0.100666 0.775145 \n43.0867 44.2331 4.80454 -0.0813104 0.940085 0.331104 \n32.1152 44.3407 5.09951 0.188087 0.946805 -0.261122 \n37.8228 44.7551 4.83508 -0.0405775 0.998087 0.0466453 \n-33.0504 -16.1886 -14.0373 0.918824 0.152569 0.363985 \n4.13164 -17.9359 -27.2169 -0.581406 -0.750646 -0.313842 \n-43.4337 44.7526 4.98806 -0.373101 0.605446 0.703016 \n-15.0247 -73.9321 -18.2997 -0.829153 -0.315029 -0.461804 \n-0.158942 37.2311 -38.262 -0.181218 0.068832 0.981031 \n-44.9695 45.8347 5.19124 -0.360053 0.599984 0.71441 \n-21.8155 46.0278 4.639 0.667336 0.651413 -0.361004 \n-45.8545 45.9455 4.43433 -0.453433 0.603881 0.655535 \n-49.2273 46.5253 5.1189 0.0555158 0.554678 0.830211 \n-58.1576 45.7822 4.57735 0.670637 0.0747143 0.738014 \n-48.0434 46.428 4.66048 0.0382598 0.621517 0.782465 \n24.2512 -35.1385 -9.3787 0.968189 -0.244636 -0.0525625 \n7.91782 23.6455 -36.8719 -0.299672 -0.106234 0.948109 \n8.94961 -11.9511 -26.7451 0.16553 -0.559167 0.812362 \n-13.6338 56.8197 -28.5771 0.560737 0.609364 0.560579 \n-0.465465 -15.0102 -14.3083 -0.815569 -0.568708 0.106855 \n1.40756 -14.0683 -14.8918 -0.159452 -0.955775 -0.247123 \n22.2764 49.3406 5.5124 -0.616168 0.705328 -0.350499 \n-22.2074 43.1569 -26.9399 0.788979 0.165701 0.591654 \n20.8785 51.1614 4.68794 -0.618985 0.10084 -0.778902 \n-1.86612 -15.7903 -22.2583 0.268561 -0.940046 -0.210211 \n20.8988 53.2299 4.93049 -0.336282 -0.144259 -0.930647 \n-15.4686 52.6149 4.61536 0.389975 -0.220125 -0.894128 \n-15.6081 54.341 5.16988 0.230424 -0.0934428 -0.968593 \n21.032 53.9778 4.89068 -0.531914 0.230938 -0.814699 \n36.5714 -12.415 -14.2689 -0.905819 0.390703 0.16384 \n19.3058 43.2817 -32.1197 -0.617274 0.304614 0.725385 \n-15.1009 55.6241 5.05876 0.39314 -0.0584729 -0.917618 \n-15.9419 55.9645 4.54531 0.608236 0.145197 -0.780363 \n18.736 56.2924 5.33274 -0.539529 0.663609 -0.5182 \n-31.2537 -11.7341 -13.1342 0.891047 0.432071 0.139102 \n13.7186 25.0121 -35.2683 -0.106464 -0.317519 0.942256 \n17.4494 57.7371 4.76136 -0.927175 0.374598 0.00475243 \n-17.1138 44.8551 -32.3259 0.614282 0.226356 0.755924 \n-13.1364 61.0303 4.31921 0.826637 0.562633 -0.0106957 \n13.7997 61.8471 5.57181 -0.820681 0.560425 -0.111385 \n12.7334 63.7292 5.48522 -0.737965 0.673636 0.0402712 \n-31.0113 -10.2999 -13.5158 0.876766 0.460022 0.140215 \n11.3013 64.9162 5.1433 -0.445324 0.756512 0.478933 \n11.1611 64.3962 4.4677 -0.536425 0.738745 0.40805 \n5.30163 -14.8624 -23.7238 -0.561233 -0.800659 -0.209674 \n9.58725 65.1295 4.77178 -0.44233 0.840352 0.313293 \n8.6945 66.2026 4.55312 -0.7367 0.67309 0.0649913 \n5.68377 68.1385 5.48588 -0.141348 0.984483 0.103987 \n4.54731 67.7835 4.98954 -0.0900562 0.868593 0.487274 \n-3.58566 67.7145 4.76941 0.445782 0.873047 0.197656 \n1.82918 68.4027 4.76556 0.106728 0.906823 0.407775 \n47.9803 -74.1057 4.11879 0.612134 -0.502966 -0.610178 \n43.5097 -73.7087 4.74852 -0.737453 -0.635994 0.22732 \n-26.0483 -73.1545 4.14048 -0.825911 -0.135399 -0.547301 \n-28.5287 -72.7877 4.00476 0.860146 0.509697 -0.0189303 \n33.1539 -6.99115 -13.328 -0.651637 0.756861 -0.0503056 \n-9.13964 61.341 -26.0491 0.168028 0.822963 0.542678 \n-6.89035 -7.37565 -27.0201 0.386175 -0.26837 0.882523 \n50.4684 -71.2112 4.33244 -0.274604 0.770322 -0.575497 \n49.1712 -75.0028 -10.9076 -0.484029 -0.870981 0.0843114 \n-27.6231 -71.5385 4.73966 0.18244 0.900457 -0.394834 \n49.7122 -70.7459 4.02065 0.0159274 0.718936 -0.694894 \n6.59816 -13.8216 -22.6822 -0.421298 -0.902999 0.0842727 \n40.5291 -70.0715 3.72656 -0.538576 0.842113 0.0279519 \n39.695 -69.8288 3.81125 0.181366 0.894584 -0.408443 \n1.46071 -5.86695 4.58612 0.0733875 -0.499658 -0.863109 \n0.488406 37.9671 -38.4354 0.190669 -0.12177 0.974073 \n3.72807 -5.84675 4.37583 -0.175696 -0.444213 -0.878525 \n-0.710591 -5.13705 4.40975 0.296723 -0.245855 -0.922773 \n4.34989 -4.84625 4.44361 -0.280798 0.00207639 -0.959765 \n1.61079 -4.88645 4.90037 0.0169783 -0.0336841 -0.999288 \n40.8829 -30.9958 -8.1136 -0.928182 0.129899 0.348719 \n1.59506 -3.26675 4.66535 -0.0711264 -0.274925 -0.958831 \n30.6002 -4.58035 -13.3142 -0.405951 0.908946 -0.0949826 \n5.68155 -2.03525 4.72234 -0.301148 -0.450664 -0.840364 \n29.0536 -4.20275 -13.352 -0.353029 0.935168 -0.0288461 \n6.69965 -1.36215 4.50416 -0.488924 -0.15278 -0.858843 \n-17.1614 -60.4465 -28.9937 -0.580351 -0.0950157 0.808804 \n-15.1728 48.5609 -31.8219 0.437717 0.573797 0.692214 \n-4.1983 -1.03155 4.39056 0.677052 -0.0879699 -0.730659 \n-4.63819 1.88615 5.18233 0.484944 -0.496686 -0.719814 \n-23.5832 -4.08915 -13.9575 0.447947 0.862552 0.235261 \n27.6689 -3.42845 -14.3401 -0.71097 0.700527 0.0615133 \n7.79316 2.60325 5.05137 -0.745116 -0.366609 -0.557136 \n-21.5171 -3.34245 -14.5858 0.779457 0.540005 0.317554 \n-6.15969 4.30605 4.64096 0.87985 -0.147472 -0.451792 \n8.24166 3.53175 3.54684 -0.925101 -0.226176 -0.305011 \n-7.05695 6.55005 3.92939 0.408449 -0.881368 -0.2374 \n-8.32954 7.15505 4.48829 0.538593 -0.718902 -0.439428 \n9.92266 7.68225 4.41186 -0.4997 -0.555035 -0.665009 \n-5.47361 23.2796 -36.5274 -0.0639322 -0.610446 0.789474 \n11.3001 11.0173 4.57052 -0.491662 -0.5879 -0.642372 \n-12.2115 11.4744 5.83067 0.37292 -0.8483 -0.375921 \n-5.48139 24.3176 -37.1351 0.445257 -0.110346 0.888578 \n-14.3729 49.8596 -32.296 0.650664 0.00743664 0.759329 \n5.84376 -13.9104 -28.0063 -0.977071 -0.188914 0.0981993 \n-21.393 -0.72455 -13.1196 0.912074 0.344092 0.222984 \n2.47682 25.3782 -35.199 0.165063 -0.27192 0.948058 \n8.70432 61.9543 -26.2261 -0.391108 0.781045 0.48683 \n21.4338 19.1569 4.91024 -0.762633 -0.567124 -0.311065 \n2.47826 25.9755 -35.8531 0.561818 -0.775791 0.287244 \n-8.45994 36.0664 -37.7007 0.473236 0.22844 0.850801 \n14.3119 50.0131 -32.5078 -0.350076 0.542141 0.763892 \n20.164 -29.3875 -8.90543 0.676421 -0.647369 -0.351238 \n-34.5588 24.1345 4.4506 -0.0965305 -0.954979 -0.280531 \n-20.4685 -10.0042 -22.3045 0.185972 0.57526 0.796549 \n-11.7347 9.23835 -28.9348 0.676116 0.146227 0.722139 \n34.2905 24.9377 5.12301 -0.0192277 -0.975655 -0.218466 \n-18.8076 2.64305 -15.1351 0.917745 0.376545 0.126322 \n-22.2164 25.3389 4.47609 0.37133 -0.578413 -0.726329 \n-18.6846 3.25845 -12.8909 0.909268 0.402124 -0.107366 \n38.348 25.8161 4.60203 -0.320636 -0.932795 -0.164579 \n26.4595 26.1366 5.12517 -0.248156 -0.874059 -0.41766 \n-22.0047 -9.87585 -22.6416 -0.0284565 0.684353 0.728595 \n-27.0026 26.3188 4.37701 -0.363513 -0.363541 -0.857727 \n21.2619 5.20715 -14.8404 -0.938172 0.345845 0.014998 \n27.8272 26.426 5.21431 0.164488 -0.905425 -0.391343 \n-25.2341 26.3044 4.3575 0.243478 -0.506001 -0.827455 \n13.4014 55.742 -30.2753 -0.548417 0.552599 0.627593 \n-18.1714 5.16455 -14.68 0.960848 0.0833424 0.264245 \n-26.3279 26.1812 4.16718 -0.0640806 -0.516849 -0.853675 \n-26.3976 28.1207 4.88954 -0.0950547 -0.368304 -0.924833 \n14.8621 52.0194 -31.7812 -0.626611 0.289032 0.723754 \n42.4399 27.3897 4.65521 -0.520819 -0.851281 0.063781 \n46.7808 27.7498 5.15807 -0.23289 -0.897622 0.374216 \n47.6451 28.7685 4.04762 -0.363371 -0.667649 0.649774 \n46.2067 28.4461 3.99221 -0.280759 -0.775361 0.565676 \n18.7284 -27.9915 -9.17894 0.712478 -0.586029 -0.385933 \n-55.2085 34.4932 5.22655 0.378872 -0.63541 0.672837 \n-19.6397 -8.19585 -22.2007 0.64818 0.253589 0.718021 \n-27.6196 39.4297 4.71407 0.114887 0.518763 -0.847164 \n47.4441 40.2878 5.12753 -0.931831 0.304752 -0.197018 \n-28.2941 40.1228 4.19214 -0.0497302 0.745377 -0.664786 \n-3.93727 -12.6412 -27.6162 0.936484 -0.122682 0.328551 \n-31.9422 41.0705 3.79971 -0.0167283 0.835267 -0.549589 \n1.78332 26.2199 -35.5973 0.322239 -0.761294 0.562666 \n-33.6108 40.7062 3.93728 0.043269 0.880359 -0.472331 \n-19.6997 -63.6312 -29.395 -0.0344514 -0.0692878 0.997002 \n46.8662 41.332 5.73059 -0.885887 0.451082 -0.108304 \n-18.3858 13.1094 -14.9477 0.999406 -0.0141874 0.0314205 \n20.0591 12.4067 -13.7771 -0.994757 -0.0851465 0.0566485 \n10.2304 38.9751 -38.0647 -0.400931 -0.107962 0.909725 \n-18.2298 -7.42195 -23.3757 0.54963 0.142889 0.823097 \n-42.2886 43.7834 4.66258 -0.69731 0.637385 0.327869 \n24.8302 -6.35125 -22.7697 -0.550852 0.464951 0.693097 \n39.3661 44.8108 4.70079 -0.100338 0.976259 0.191967 \n-9.75256 53.8887 -32.3297 0.26179 0.489025 0.832058 \n-44.4933 44.2372 4.43721 -0.37358 0.603005 0.704857 \n-49.0466 45.1977 4.12476 0.0399354 0.580311 0.813415 \n-46.7355 45.5596 3.80129 -0.132296 0.570081 0.810867 \n26.2752 45.983 4.72884 -0.787845 0.458251 -0.411468 \n6.84613 -11.1353 -27.4062 -0.826608 -0.195108 0.527875 \n40.8492 -33.5591 -9.33242 -0.883606 0.182489 0.431206 \n-8.84116 53.9915 -32.4105 0.313766 0.692987 0.649091 \n-56.7023 46.9644 4.21391 0.25231 0.594359 0.763595 \n-21.0967 46.7731 4.16685 0.511331 0.835463 -0.201352 \n-55.5344 46.8965 4.0649 -0.132194 0.650726 0.747716 \n-19.0707 48.137 4.15076 0.543308 0.83939 0.0155109 \n24.4525 48.2148 5.18591 -0.460853 0.793961 -0.396535 \n-21.52 18.304 -13.8986 0.571774 -0.820375 -0.00771679 \n21.8081 56.6168 -17.1432 -0.57616 0.763394 0.292009 \n23.1406 48.9486 4.32612 -0.424414 0.799632 -0.424808 \n-23.4251 19.2995 -14.1832 0.73016 -0.680625 -0.0601309 \n24.2362 19.9149 -14.4447 -0.752877 -0.649095 0.108871 \n20.1765 51.6416 4.84604 -0.459549 0.107295 -0.881648 \n9.83014 54.2773 -32.6977 -0.34068 0.528086 0.777857 \n22.0049 53.0035 4.45505 -0.627007 -0.0149367 -0.77887 \n-17.0231 53.5365 4.47799 0.344556 -0.263424 -0.901049 \n-16.7444 54.9511 4.71875 0.54358 0.212874 -0.811915 \n20.3309 55.0005 4.81808 -0.640993 0.590815 -0.489965 \n-8.63886 55.1115 -32.0111 0.334915 0.292129 0.895819 \n18.8391 56.7983 4.05258 -0.522472 0.848315 -0.085933 \n-14.2888 59.3538 4.37641 0.605318 0.79366 -0.0607729 \n-23.9331 22.8713 -13.4608 0.984682 -0.10947 0.135715 \n27.0211 21.9732 -15.838 -0.939347 -0.29672 0.172001 \n13.3302 61.667 4.05962 -0.699983 0.704884 -0.114725 \n-10.8372 63.2866 4.33611 0.543821 0.810643 0.217065 \n20.6177 -1.05455 -22.4901 -0.681859 0.279772 0.675866 \n-8.53043 65.2918 4.28971 0.645715 0.703189 0.297619 \n27.9215 25.6402 -14.3241 -0.985648 -0.158827 0.057193 \n9.35762 55.7601 -32.2614 -0.315339 0.469637 0.824622 \n7.72387 66.7944 4.3002 -0.445875 0.866888 0.222936 \n-4.5003 66.9549 4.7854 0.260169 0.937539 0.23094 \n-24.925 24.6739 -13.5498 0.664955 -0.591302 0.456285 \n-5.68616 66.7197 4.24203 0.155952 0.925288 0.345717 \n6.16588 67.4809 4.30663 -0.150743 0.89435 0.421205 \n6.74842 63.2749 -25.9442 -0.243575 0.962693 0.11787 \n3.61103 68.4295 5.24009 -0.196776 0.930957 0.307569 \n0.0575315 67.9964 4.96333 0.0667646 0.909439 0.410443 \n-2.1657 68.0677 4.33496 0.161156 0.944299 0.286928 \n52.3689 -74.918 4.90137 -0.957534 -0.287815 -0.0170797 \n39.7869 -74.4587 4.93206 0.370498 -0.896897 -0.241467 \n-26.3088 -73.6441 4.12144 -0.653013 -0.708865 -0.266618 \n42.1343 -72.4678 2.79384 -0.814071 0.543881 0.203672 \n-0.722951 26.5552 -35.3949 -0.197134 -0.334887 0.921406 \n-28.2726 -72.0163 4.4967 0.826008 0.560777 -0.0569103 \n38.3063 -71.8947 4.65388 0.778925 0.193526 -0.59651 \n51.3278 -71.9194 3.89759 -0.859415 0.503779 0.0872546 \n48.6109 -71.1856 4.05913 0.397652 0.49986 -0.769424 \n28.4943 29.1902 -15.6773 -0.956076 -0.238656 0.170184 \n-27.9368 28.7672 -14.752 0.518136 -0.561565 0.64512 \n-15.7159 0.99655 -22.5861 0.396544 0.490858 0.775765 \n41.6942 -71.0728 4.03924 -0.788173 0.59511 0.156928 \n8.45677 56.346 -32.8968 -0.64312 0.351272 0.680445 \n-7.8984 57.1714 -31.8653 0.496275 0.519715 0.695419 \n-15.7998 1.64195 -22.1267 0.718504 0.149317 0.679306 \n-19.0602 57.0222 -16.822 0.74898 0.65177 0.119273 \n-0.641693 -6.99145 3.4434 0.184566 -0.495386 -0.848839 \n6.71608 -9.60155 -28.2646 -0.635195 -0.138918 0.759756 \n3.75294 -3.21185 4.3882 -0.216294 -0.316331 -0.923662 \n-0.974902 -3.55125 4.37062 0.179411 -0.398199 -0.899583 \n5.89221 -3.43675 3.60193 -0.488392 -0.0860727 -0.868369 \n-2.66681 -4.00995 3.52459 0.445833 -0.283229 -0.849125 \n19.3447 3.14235 -22.2302 -0.61616 0.357096 0.702018 \n39.6343 -67.6673 -18.8589 -0.71295 0.0233168 0.700827 \n6.97875 -2.07725 3.86812 -0.711808 -0.453173 -0.536622 \n-4.26513 0.468849 4.06861 0.649769 -0.370137 -0.663927 \n6.97444 0.875448 4.19465 -0.788485 -0.151211 -0.596177 \n-16.8154 4.01765 -21.401 0.9346 -0.10585 0.339585 \n8.98677 7.28575 4.74369 -0.684538 -0.588073 -0.430787 \n-34.7981 -21.8525 -9.19963 0.994778 0.0592984 0.0830735 \n-8.8297 7.14945 3.03264 0.724678 -0.540156 -0.427871 \n10.7857 9.10245 4.44004 -0.593468 -0.26101 -0.76136 \n19.1741 5.56735 -21.9315 -0.91335 0.0431644 0.404881 \n-16.5027 6.13125 -22.2698 0.926326 0.119553 0.357251 \n-31.1653 32.742 -15.0104 0.374231 -0.076242 0.924196 \n-9.60136 10.6002 4.22921 0.30451 -0.826258 -0.473889 \n14.8635 12.2325 2.99979 -0.546194 -0.714735 -0.436837 \n7.95432 25.1273 -36.7111 -0.204774 -0.203978 0.95732 \n-18.7603 17.3214 3.49528 0.771179 -0.570697 -0.282113 \n12.1292 -19.6158 -7.91481 0.741948 -0.549099 -0.384713 \n-20.233 19.8132 4.50029 0.734907 -0.615793 -0.284095 \n-34.8602 -20.703 -9.56473 0.987865 0.144128 0.0578725 \n-9.02501 25.7101 -35.8717 0.569385 -0.242804 0.785396 \n23.3878 21.4536 3.07217 -0.922079 -0.368861 -0.117101 \n23.6665 22.173 4.58955 -0.939215 -0.303703 -0.160124 \n23.9646 23.0184 3.41017 -0.932282 -0.337596 -0.129921 \n-32.1255 35.4809 -14.3162 0.369495 0.15352 0.916463 \n-35.2826 23.5926 3.75717 -0.0898972 -0.935938 -0.340497 \n24.3732 23.9219 3.8027 -0.666056 -0.62121 -0.412878 \n-36.7966 24.1632 4.36836 0.163487 -0.958522 -0.233466 \n8.79258 -9.72995 -27.9967 0.0294032 -0.457467 0.88874 \n-16.6367 10.2795 -23.1884 0.836642 -0.282924 0.469025 \n-30.0368 24.5538 3.91941 -0.222443 -0.909829 -0.350329 \n-33.4637 24.3426 3.8772 -0.124073 -0.920625 -0.37021 \n31.8715 24.7736 3.60247 0.0625735 -0.984479 -0.163968 \n-32.0168 37.5959 -13.6378 0.341902 0.459301 0.819845 \n36.9431 24.9145 3.9026 -0.256376 -0.959714 -0.114983 \n25.9881 24.9366 3.07235 -0.598861 -0.695697 -0.3967 \n26.7666 25.602 3.54073 -0.282775 -0.874565 -0.39392 \n-27.5012 25.366 3.79106 -0.35693 -0.713679 -0.602713 \n-31.2236 37.828 -14.0429 0.296215 0.481149 0.825077 \n-42.2915 26.0779 3.10019 0.446459 -0.894793 0.00445596 \n43.0556 27.6062 4.03782 -0.35824 -0.929133 0.0915254 \n43.57 28.1392 3.1781 -0.473951 -0.807621 0.350882 \n48.3895 30.1201 4.63891 -0.951269 -0.262958 -0.161057 \n-49.3424 32.4696 4.21978 0.314158 -0.650383 0.691597 \n49.1596 34.0185 3.16411 -0.995653 -0.0268431 -0.0891915 \n-51.5854 34.3491 4.08115 0.295587 -0.556711 0.776338 \n9.66323 25.9697 -37.0614 -0.183473 -0.245654 0.951836 \n-53.2464 33.8739 4.65984 0.179732 -0.68611 0.704946 \n47.9778 38.7051 4.60039 -0.942674 0.262163 -0.206483 \n30.2668 40.3052 -14.8428 -0.88846 -0.431624 -0.156014 \n-3.29182 59.0335 -31.7688 0.146094 0.699258 0.699782 \n39.5545 -19.4693 -8.27929 -0.974603 0.223937 0.000666131 \n-37.1343 40.3368 3.89867 -0.214499 0.950193 -0.226106 \n-25.5292 40.6824 4.45156 0.155693 0.433394 -0.887654 \n-35.5396 40.9366 3.23973 0.127787 0.949217 -0.287501 \n-6.59295 -18.7761 -9.43088 -0.757179 -0.586006 -0.288576 \n-17.842 58.3536 -16.9512 0.70429 0.698505 -0.126757 \n18.9839 16.5189 -22.7244 -0.790662 -0.420745 0.444779 \n6.07723 -23.4695 -38.713 -0.963054 -0.260313 -0.0690168 \n-24.5849 41.4685 4.3293 0.435465 0.426474 -0.792774 \n4.92983 -33.462 -57.6716 0.175271 -0.26681 0.947677 \n-39.6059 41.3729 4.86323 -0.487299 0.873182 -0.00961927 \n-41.8913 42.7468 3.70573 -0.506634 0.760342 0.406451 \n-15.6283 -4.09335 -24.5969 0.540238 0.119796 0.832942 \n45.8838 43.562 4.05877 -0.398267 0.790857 0.464682 \n-23.7667 43.0076 4.06296 0.765828 0.426686 -0.481089 \n-43.1937 43.8958 4.13389 -0.193641 0.693582 0.693864 \n43.336 44.0108 3.58346 -0.130075 0.861083 0.491546 \n32.6283 44.4888 3.72406 0.151713 0.976963 -0.150085 \n-22.7873 45.2822 3.83372 0.772763 0.541858 -0.330496 \n-21.4926 18.236 -22.7893 0.708009 -0.559872 0.430425 \n36.7361 44.9129 3.81512 -0.031972 0.997034 0.0700039 \n-31.1224 -74.9296 -7.39043 0.246446 -0.968968 -0.0191103 \n-50.8433 45.1096 3.89552 -0.117272 0.615795 0.77913 \n27.0977 46.1071 3.69166 -0.658803 0.612639 -0.436638 \n28.4586 47.4018 -13.7779 -0.902816 0.408632 0.13395 \n-25.4598 47.9101 -14.7698 0.93692 0.349514 -0.00449563 \n-52.3261 45.0546 3.03698 -0.234693 0.68259 0.692091 \n-20.3699 55.7904 -18.7764 0.933881 0.35038 -0.0714072 \n23.0239 19.8155 -21.8961 -0.333934 -0.941867 0.0370802 \n-19.9104 47.2926 4.98351 0.609695 0.78354 -0.119735 \n24.267 49.1551 2.97717 -0.537722 0.75704 -0.37114 \n7.45236 -9.48295 -27.9201 -0.120196 -0.461539 0.87894 \n21.2092 50.2636 4.54983 -0.641833 0.528858 -0.555301 \n23.8894 21.1569 -23.9017 -0.859537 0.186412 0.475864 \n22.5686 50.4856 3.33939 -0.580602 -0.0301112 -0.813631 \n17.8662 -3.86055 -25.2566 -0.497065 0.109424 0.860786 \n-15.6863 51.8797 4.46931 0.706668 0.236223 -0.666947 \n-17.0294 51.1759 3.51207 0.435049 -0.22327 -0.872286 \n22.5613 52.7925 3.18328 -0.586124 0.660233 -0.469629 \n-33.4134 -16.7935 -8.7839 0.94577 0.306478 -0.10766 \n21.9797 53.9163 3.87596 -0.773367 0.594447 -0.22031 \n-18.1469 54.7816 3.50253 0.740258 0.54006 -0.40044 \n26.426 50.7668 -14.1662 -0.710649 0.703271 -0.0197067 \n-16.5578 56.1175 3.83133 0.777626 0.458236 -0.430485 \n-16.0205 57.3925 4.42004 0.836397 0.358542 -0.414594 \n24.3591 22.6644 -22.3677 -0.794797 -0.338413 0.50376 \n17.1183 57.5617 3.49504 -0.72232 0.691455 -0.0119758 \n16.7857 59.0679 4.6335 -0.785786 0.594883 0.169277 \n-29.8267 -66.2013 -18.2216 0.762976 0.634806 0.12202 \n15.2112 59.6935 3.66103 -0.653108 0.619753 0.435152 \n-13.5889 59.8181 4.32341 0.773718 0.626048 0.0970737 \n-23.3884 51.4186 -14.1832 0.80425 0.477181 -0.354232 \n6.03991 -22.5409 -38.8582 -0.981616 0.173348 0.0798782 \n12.675 62.6938 4.13432 -0.800544 0.590717 0.10091 \n-9.41871 63.284 3.33059 0.581635 0.797167 0.16194 \n11.7463 63.9542 3.9048 -0.609121 0.680752 -0.406877 \n-21.6591 23.795 -23.4211 0.860071 -0.311165 0.404295 \n-3.99771 66.5397 3.983 0.303358 0.800971 0.516159 \n7.23845 67.0597 3.88938 -0.269265 0.906336 -0.325655 \n5.49775 67.3139 3.85129 0.0647395 0.977399 -0.201245 \n3.71878 67.1429 3.82862 -0.140848 0.908825 0.392681 \n0.235555 67.3907 3.97018 0.0577874 0.871053 0.487778 \n48.1204 -74.7784 2.91725 0.312498 -0.927058 -0.207143 \n51.7826 -74.3257 3.78518 -0.945724 0.0955292 0.310612 \n42.1819 -74.6811 4.89521 -0.38161 -0.909882 0.162753 \n-27.8048 -74.0936 2.87295 0.169125 -0.97111 0.168353 \n-28.9032 -74.0314 4.33349 0.660384 -0.740942 0.122061 \n22.886 55.7609 -15.2403 -0.715012 0.695221 -0.0736523 \n38.2551 -73.9333 4.00111 0.68542 -0.585733 -0.43257 \n46.1632 -73.0066 2.82455 0.704618 -0.0931519 -0.703446 \n26.309 29.3512 -23.7798 -0.854452 -0.222683 0.469387 \n37.0718 -72.0387 3.04223 0.806198 0.14002 -0.574838 \n-18.8813 57.8117 -14.2089 0.589236 0.790703 -0.166105 \n-27.136 -70.8813 3.22249 0.18963 0.928653 -0.318818 \n-27.5884 -70.9606 2.58366 0.662649 0.740888 -0.10946 \n50.061 -70.4342 3.01222 -0.590126 0.797371 -0.126297 \n-21.3282 -65.9347 -28.5231 0.326397 -0.103327 0.939568 \n38.6017 -70.7335 4.30938 0.623823 0.566229 -0.53873 \n-32.1197 -74.4628 -7.65368 0.575346 -0.80086 -0.166135 \n5.2513 -16.0217 -32.6535 -0.825395 0.403263 0.395098 \n-15.4535 -66.2986 -17.9416 -0.846578 0.354036 -0.397448 \n4.17392 -9.13155 3.49339 -0.240194 -0.166809 -0.956285 \n1.19178 -8.91305 3.78899 0.00795425 -0.00178185 -0.999967 \n2.1407 -7.11735 3.59012 -0.0139024 -0.345956 -0.938148 \n18.2315 59.7908 -14.7031 -0.608375 0.687866 -0.395879 \n28.0386 32.6536 -22.3356 -0.921878 -0.00995558 0.387352 \n6.51763 -5.32605 3.42956 -0.628123 -0.00541814 -0.778095 \n2.22739 -15.8338 -8.27626 -0.00454601 -0.984673 0.174349 \n22.4511 -73.1451 -19.4191 0.867605 -0.391654 -0.306379 \n17.6576 60.467 -14.5492 -0.795142 0.446432 0.410423 \n-4.05825 -2.78535 3.7231 0.733494 -0.431333 -0.525298 \n1.8535 -27.9166 -43.1921 0.0184521 -0.915428 0.402058 \n7.14782 -0.626051 4.23699 -0.870422 -0.0437986 -0.490355 \n3.75 -15.5219 -9.93318 0.16022 -0.980985 -0.109537 \n7.95628 2.12535 3.5038 -0.85323 -0.325009 -0.407883 \n-6.60281 4.29125 2.74929 0.825066 -0.155185 -0.543308 \n8.84259 6.52595 3.67351 -0.770789 -0.275703 -0.574345 \n28.8038 35.5814 -21.7909 -0.881222 -0.292916 0.37101 \n16.2659 62.2591 -14.8426 -0.686245 0.694669 0.215646 \n-9.65919 9.84605 3.5905 0.771138 -0.315021 -0.55327 \n15.7749 54.5155 -29.0625 -0.688908 0.333269 0.643691 \n-18.9246 -74.898 -11.106 -0.296691 -0.953577 -0.0516292 \n12.4018 9.79645 3.13934 -0.61045 -0.323255 -0.723088 \n-6.69821 39.0653 -38.5353 0.235214 0.0925786 0.967524 \n12.5264 11.2854 3.90909 -0.367812 -0.857616 -0.359457 \n13.1913 11.3435 3.47474 -0.516469 -0.696973 -0.497482 \n-25.3305 38.2857 -22.0362 0.996175 -0.0243036 0.0839339 \n18.531 15.0222 4.58611 -0.71551 -0.602515 -0.353585 \n10.8176 -8.86775 -27.9991 -0.11895 -0.135716 0.983581 \n19.4462 15.9615 3.7001 -0.714685 -0.589665 -0.376191 \n-17.2484 16.3306 4.1379 0.7702 -0.549505 -0.323786 \n21.57 18.1663 2.84981 -0.828695 -0.50509 -0.241139 \n2.57277 -13.3256 -33.3359 -0.395844 0.569678 0.72026 \n22.1154 19.0207 2.73313 -0.71852 -0.583564 -0.378395 \n-0.182007 -13.2078 -33.0069 0.386231 0.57647 0.720075 \n-21.9648 24.1024 3.71091 0.89671 -0.262522 -0.356362 \n-31.9703 23.9855 3.21843 -0.0954749 -0.952973 -0.287624 \n33.1692 24.5461 4.36302 0.0831822 -0.974621 -0.207833 \n-24.5521 42.6548 -22.7148 0.939164 0.300277 0.166748 \n35.5247 24.7034 2.9612 -0.270163 -0.957511 -0.100919 \n29.6068 25.1714 4.36816 0.277812 -0.926907 -0.252315 \n-24.4043 25.2456 3.54389 0.27359 -0.772058 -0.57365 \n8.74059 39.9828 -38.4366 -0.22427 0.102525 0.969119 \n2.71511 -11.6796 -32.1851 -0.259549 0.532857 0.805418 \n-25.8011 25.5778 3.47915 -0.0505099 -0.84635 -0.530227 \n-31.8967 -12.4278 -8.84382 0.805353 0.580476 -0.120221 \n28.3193 25.5521 3.16685 0.245713 -0.911791 -0.329034 \n27.8016 26.1072 3.95013 0.0644759 -0.931599 -0.357725 \n-15.8647 60.0987 -17.3244 0.482279 0.874154 -0.057114 \n-44.0631 26.9854 2.70044 0.506557 -0.84716 0.160374 \n44.6494 27.6527 4.1564 -0.206556 -0.901967 0.379197 \n-17.8705 -58.4129 -28.8847 -0.555449 0.16214 0.81559 \n-19.3865 -74.5347 -27.3783 -0.0837979 -0.98234 -0.167292 \n35.8478 -11.1202 -8.58694 -0.796905 0.597367 -0.0899769 \n48.0041 29.5583 3.85756 -0.68504 -0.592359 0.424065 \n46.7532 29.7498 3.14371 -0.320522 -0.638465 0.699735 \n-47.4995 30.2471 3.25893 0.800194 -0.452552 0.393556 \n49.02 31.6254 3.60482 -0.99036 -0.134324 -0.03382 \n-49.0219 33.6931 3.03091 0.483974 -0.455028 0.747474 \n-50.2504 33.0033 4.03043 0.357839 -0.502961 0.786754 \n-23.5821 44.5361 -22.4404 0.891585 0.191176 0.410523 \n-23.5368 -74.9973 -26.3908 0.270768 -0.939589 0.209422 \n-51.458 35.3017 3.51807 0.220329 -0.437395 0.87186 \n27.1351 44.8975 -22.2158 -0.795895 0.586249 0.151206 \n7.83751 67.5867 -14.9439 -0.294854 0.875211 0.383494 \n49.0146 37.2308 2.88601 -0.964202 0.224867 -0.140532 \n24.2777 49.5509 -23.0061 -0.741284 0.287625 0.606441 \n47.9335 40.7952 3.3133 -0.91436 0.38314 -0.130952 \n-36.9897 40.7446 2.1957 0.177776 0.947826 -0.264617 \n-26.4813 41.2247 3.8369 0.368863 0.563666 -0.739067 \n0.130608 6.56605 -32.6524 0.14693 0.123757 0.981375 \n-22.5567 49.3596 -22.9999 0.674554 0.405444 0.616922 \n-0.107743 67.9186 -14.2838 0.27443 0.938564 0.20925 \n-58.3187 42.6658 4.7138 0.690523 -0.0371053 0.722358 \n-4.29648 -8.54765 -27.895 0.621131 -0.153968 0.768434 \n46.5557 42.6376 3.53156 -0.831164 0.555912 0.0113235 \n2.31425 7.70775 -33.1467 -0.0459552 -0.203063 0.978087 \n44.8131 43.282 3.45348 -0.275865 0.747949 0.603714 \n-43.786 42.9085 3.36348 -0.242835 0.698239 0.673419 \n-21.211 50.812 -22.7312 0.661165 0.469843 0.584901 \n42.1451 43.9131 3.8126 -0.160329 0.929232 0.332899 \n38.7323 44.2669 3.4629 -0.114287 0.983425 0.140763 \n12.619 -7.09135 -27.9072 0.072832 0.23759 0.968631 \n1.34513 7.72675 -32.9424 0.514635 0.257497 0.81783 \n-1.88253 6.66835 -32.8128 0.267946 -0.348248 0.898292 \n-47.7305 45.2837 3.65333 0.161319 0.503486 0.84881 \n-20.1905 52.8126 -24.169 0.794655 0.454048 0.402943 \n34.5649 44.7813 3.72963 0.0948437 0.988837 -0.114917 \n-3.62305 8.02255 -32.78 0.397291 -0.415986 0.817995 \n1.96017 -22.425 -49.3933 0.465759 0.811646 0.352561 \n-54.6389 46.223 3.85636 -0.207423 0.749055 0.629199 \n-56.5195 45.8131 3.46895 0.311902 0.388865 0.866892 \n-2.71978 7.55845 -32.9267 0.193612 -0.330463 0.923747 \n26.4961 46.77 3.37643 -0.748299 0.62566 -0.22045 \n25.9531 47.6311 3.95177 -0.722811 0.625992 -0.292708 \n-17.6914 48.9299 4.31983 0.778375 0.559967 -0.283848 \n22.1814 50.0627 3.96838 -0.550434 0.721474 -0.420116 \n9.97371 -8.06335 -28.0543 -0.420792 0.0917617 0.902504 \n21.8386 51.7481 4.31696 -0.583695 -0.102309 -0.805502 \n-28.7677 -7.93275 -9.56975 0.714091 0.683441 -0.151599 \n31.3655 -7.25625 -8.10389 -0.577846 0.737515 -0.349522 \n-35.083 -74.8243 -13.8757 0.456823 -0.878265 0.141292 \n-27.4135 -7.04905 -8.72425 0.695059 0.652339 -0.302236 \n-15.8639 57.9754 3.74838 0.785797 0.61797 -0.0252264 \n-14.2503 59.049 3.36773 0.517257 0.766144 0.381403 \n14.3847 61.0216 3.8077 -0.776263 0.622512 0.099468 \n-13.3745 59.345 2.87819 0.871805 0.486986 0.05292 \n-2.05855 8.46685 -32.8693 -0.515127 0.267291 0.81437 \n-12.3111 61.5612 3.50321 0.698598 0.660142 0.275996 \n13.6063 8.83635 -28.978 -0.583952 0.105209 0.804941 \n13.9853 62.1976 2.90731 -0.753584 0.641356 -0.144134 \n-24.4226 -72.8275 -26.6207 0.697215 -0.123498 0.706143 \n-8.74191 64.2348 3.20117 0.830828 0.554181 -0.0510684 \n9.79457 65.0968 4.14824 -0.763304 0.519458 -0.384097 \n-26.4015 -5.97415 -8.14755 0.681859 0.620896 -0.386725 \n-16.5678 -74.3782 -15.5335 -0.643745 -0.712637 -0.27882 \n-8.11805 64.804 3.02403 0.555146 0.824157 -0.112152 \n9.85987 66.1947 3.12359 -0.716734 0.662303 -0.218282 \n1.37628 8.28735 -32.7826 0.716304 0.208108 0.666032 \n-5.57104 66.1145 3.4419 0.228228 0.829179 0.510268 \n9.00245 66.3885 3.76629 -0.498633 0.735159 -0.459246 \n-1.02146 68.0634 4.47745 -0.0893978 0.920013 0.381554 \n-2.50875 67.231 3.35865 0.255051 0.827342 0.500455 \n2.29866 67.5707 3.61241 -0.0882942 0.981494 0.169923 \n40.2826 -74.9373 3.02763 0.0728168 -0.990344 -0.117972 \n-36.1031 -74.6779 3.34347 -0.104899 -0.0102389 -0.99443 \n-28.348 -64.6944 -17.8726 0.903361 0.40862 -0.130262 \n51.3112 -74.2231 2.62451 -0.926386 0.0131675 0.376344 \n45.1353 -73.6418 -14.6681 -0.482109 -0.117599 0.868183 \n1.95065 10.7545 -32.4719 0.598003 0.155532 0.786259 \n2.43917 10.183 -33.2698 0.615436 0.188556 0.7653 \n36.1998 -72.6507 1.58096 0.808281 -0.228289 -0.542739 \n-28.7854 -73.3743 2.69551 0.727067 -0.607794 0.319312 \n46.9861 -72.7906 3.59976 0.6627 -0.00486824 -0.748869 \n-4.75885 -7.34715 -28.3253 0.313989 -0.35412 0.880914 \n-29.0384 -73.3893 3.61589 0.968633 0.248422 -0.00603276 \n16.6365 61.2626 -16.9422 -0.774893 0.60273 0.190415 \n-11.8864 10.1145 -28.7416 0.589691 -0.379338 0.712999 \n-16.2453 -73.8398 -15.6141 -0.890237 -0.0837102 -0.447739 \n48.5331 -70.1171 3.11787 0.103449 0.755938 -0.646418 \n12.1355 36.1978 -36.8481 -0.298165 0.227615 0.926978 \n-21.8288 -74.396 -13.2947 0.0723265 -0.995538 0.0606045 \n38.9426 -69.8158 3.28762 0.289303 0.859739 -0.420895 \n5.44692 10.5748 -32.9651 -0.472819 -0.481773 0.737792 \n-24.6309 -74.2585 -14.4352 -0.025809 -0.999228 0.02962 \n37.452 -30.8042 3.24225 -0.00514669 -0.114371 -0.993425 \n1.90446 -9.85805 3.51289 0.0341453 -0.463111 -0.885642 \n-0.250267 -10.5286 2.71231 0.235927 -0.673739 -0.700296 \n-0.484229 -9.31895 3.32938 0.361058 -0.197851 -0.911313 \n-10.1003 62.1983 -22.4171 0.476649 0.789656 0.386327 \n0.0543418 -7.56825 3.41428 0.256677 0.0178624 -0.966332 \n4.15291 -7.23465 3.31345 -0.179633 -0.219679 -0.958892 \n10.693 62.8751 -23.0339 -0.361289 0.878743 0.311899 \n4.92904 -7.35955 3.01317 -0.423077 -0.114073 -0.898884 \n6.31726 -6.17885 3.32248 -0.435982 -0.450798 -0.77891 \n11.6827 63.1917 -21.8019 -0.560674 0.588981 0.58202 \n-3.22543 -5.88825 3.19043 0.62822 -0.165346 -0.760263 \n6.28233 -3.23935 3.37572 -0.707749 -0.371663 -0.600798 \n7.82411 -0.964451 2.48334 -0.724864 -0.0875239 -0.68331 \n7.40431 0.867849 3.19083 -0.835986 -0.181625 -0.517822 \n-12.3141 -71.2617 -25.3133 -0.997196 0.0742047 -0.00966912 \n-8.40686 64.1381 -22.1945 0.446282 0.740003 0.503218 \n8.89754 3.35345 2.80171 -0.494427 -0.206516 -0.84433 \n8.59902 4.76495 3.51603 -0.832819 -0.213102 -0.510883 \n-6.66556 6.05785 3.391 0.906518 -0.222956 -0.358492 \n25.5222 -2.37425 -9.67938 -0.83082 0.472238 -0.294498 \n-8.34593 6.79475 2.8867 0.379713 -0.870609 -0.312823 \n11.2067 7.73165 3.42538 -0.549282 -0.575826 -0.605569 \n10.1851 7.16295 3.05567 -0.450472 -0.760158 -0.468224 \n9.27288 -6.13075 -28.1965 -0.351201 -0.168526 0.921009 \n-14.094 62.3708 -17.6578 0.555326 0.821565 0.129013 \n25.7557 -71.4997 -14.2949 0.810072 -0.0717254 -0.581927 \n-14.7635 61.7474 -17.3531 0.769145 0.638485 0.0274479 \n45.1003 -70.4727 -14.8633 -0.509081 0.255393 0.821955 \n-21.3078 -1.45575 -9.49617 0.880014 0.431363 -0.198749 \n24.598 -70.9649 -15.569 0.851516 -0.00198611 -0.524325 \n24.7169 -0.71825 -9.46633 -0.837654 0.465315 -0.286038 \n-13.676 11.5736 4.08058 0.498581 -0.833313 -0.238763 \n5.80289 64.4524 -23.3607 -0.0858743 0.805782 0.585953 \n15.7928 12.8086 2.6298 -0.55373 -0.823839 -0.121132 \n-5.77043 64.3585 -22.715 -0.000632833 0.83444 0.551098 \n18.2374 14.402 3.22193 -0.584807 -0.81072 -0.0270938 \n-31.7011 -72.6004 -18.9039 0.692172 0.0333605 0.720961 \n-0.84768 -16.7732 -36.1673 0.399813 0.662804 0.63312 \n-12.6443 -70.4174 -25.9475 -0.953956 0.282581 0.100582 \n-35.5606 -70.3046 -15.2291 0.765542 0.337892 0.547517 \n-20.6063 19.4771 2.10389 0.709184 -0.677624 -0.194636 \n22.7972 20.0061 2.80031 -0.814953 -0.436459 -0.381255 \n-33.6449 23.7213 2.83911 -0.0328774 -0.945677 -0.32344 \n24.7305 22.8354 1.82183 -0.713007 -0.593072 -0.374014 \n34.0798 24.5807 3.76658 -0.020241 -0.989622 -0.142261 \n-6.93406 -4.98985 -28.539 0.263127 -0.379979 0.886781 \n25.7139 -70.3524 -14.1437 0.812981 -0.0645163 -0.578705 \n-0.94188 66.1001 -21.967 0.0709823 0.937718 0.340068 \n-40.6384 24.6495 3.61588 0.457622 -0.854348 -0.246315 \n18.629 -27.4318 -17.9195 0.444629 -0.77487 0.449313 \n41.1599 26.6351 3.60811 -0.353863 -0.930034 0.0990818 \n39.8368 26.5284 2.50368 -0.422776 -0.905299 0.0411622 \n48.7761 31.1299 2.76187 -0.885166 -0.378934 0.269983 \n3.38476 12.5345 -33.2234 0.654351 0.225386 0.721821 \n22.1101 1.57415 -9.29461 -0.630094 0.743016 -0.225629 \n48.694 32.7759 2.21782 -0.706282 -0.237891 0.666763 \n-48.741 32.2934 3.66944 0.802575 -0.395934 0.446218 \n22.4214 -32.1734 -9.79866 0.54032 -0.695363 -0.47384 \n43.4418 -68.4722 -14.9676 -0.632199 0.388791 0.670198 \n-50.6175 35.7662 2.92786 0.356064 -0.202901 0.912167 \n-12.9678 -68.8438 -26.0238 -0.949116 0.301003 0.0926099 \n-55.0359 36.1742 3.37433 0.474937 -0.393372 0.787206 \n-33.9341 -68.5858 -15.0206 0.588208 0.703442 0.398974 \n-7.56113 11.9722 -32.9385 0.395871 -0.459932 0.794826 \n-55.4485 40.0737 2.6337 0.526447 -0.153418 0.836251 \n-25.2782 -75.0248 -23.7015 -0.062454 -0.995302 -0.0739777 \n9.01464 12.3617 -32.5117 -0.32941 -0.505145 0.797695 \n-57.0034 38.3099 4.06494 0.663215 -0.162796 0.730509 \n-34.4369 41.1875 2.42148 0.184372 0.951145 -0.247649 \n-26.3738 -74.8072 -23.5661 0.379099 -0.850441 0.364739 \n35.286 -74.3347 -22.4434 -0.656909 -0.339046 0.673438 \n33.4022 -74.8661 -23.3209 -0.223862 -0.944365 0.240958 \n-56.7055 42.0067 3.1778 0.605014 -0.0598693 0.793961 \n-16.4305 -62.7062 -17.8798 -0.857024 -0.255622 -0.447401 \n38.0839 -62.2969 -19.0489 -0.763153 0.0599037 0.643435 \n23.8023 -61.9404 -18.048 0.772196 -0.449945 0.448623 \n-24.4503 43.076 3.35713 0.409025 0.613582 -0.675437 \n-21.0782 -74.5238 -24.9473 -0.113962 -0.989403 -0.0899725 \n-48.5875 44.3168 3.39694 0.0471573 0.46077 0.886266 \n40.6073 44.2383 3.1192 -0.186985 0.949259 0.252872 \n41.9878 -65.5618 -14.9096 -0.648294 0.586974 0.484949 \n25.2165 -65.877 -14.7087 0.866867 0.339154 -0.365398 \n36.9663 44.6618 2.85627 -0.128546 0.991124 0.0338956 \n29.9286 44.1271 3.48955 0.0764306 0.968714 -0.236117 \n-26.241 -68.1105 -26.0162 0.693076 -0.213503 0.688522 \n28.0126 44.8924 3.7287 -0.698869 0.530263 -0.480003 \n0.438924 26.813 -35.144 0.137283 -0.410008 0.901691 \n-19.0443 47.7002 2.26902 0.493785 0.852305 -0.17249 \n-18.6912 48.1688 3.33436 0.584436 0.810857 0.0307475 \n3.71377 14.1094 -32.9422 0.54472 0.28625 0.788252 \n-16.6012 6.00135 -9.22203 0.923873 0.0894813 -0.372092 \n23.3438 49.7657 3.00008 -0.407794 0.167932 -0.897498 \n-26.8648 -74.3947 -23.4943 0.725256 -0.181988 0.663991 \n-17.628 50.0448 3.02973 0.79371 0.340293 -0.504208 \n22.7911 -73.5729 -23.1084 0.918568 -0.277713 0.281261 \n22.9137 51.9346 3.39791 -0.406573 -0.000365369 -0.913618 \n6.05056 -25.5975 -54.3788 -0.813202 0.440684 0.380132 \n24.0432 52.2199 3.15255 -0.369642 0.200633 -0.907255 \n-18.2299 51.8876 3.43966 0.278917 -0.372687 -0.885048 \n-12.5777 -72.5156 -23.2568 -0.95659 -0.103558 -0.272418 \n21.8531 53.5872 2.96852 -0.708972 0.615992 0.343383 \n-9.06215 13.0837 -32.2846 0.543829 0.208764 0.812815 \n-19.0447 53.3042 3.03844 0.733105 0.237467 -0.637312 \n20.0756 55.8382 3.63837 -0.65023 0.7597 0.0076205 \n-27.5835 -64.3511 -15.2042 0.612054 0.669699 -0.420588 \n41.0232 -63.7498 -13.178 -0.574684 0.814916 0.0751693 \n-5.14019 27.0812 -37.0598 0.125593 -0.33346 0.934361 \n-11.4103 62.1488 2.71518 0.540614 0.82094 -0.183828 \n-19.749 -64.1653 -14.7955 -0.476338 0.28949 -0.830239 \n10.4058 64.5192 3.78829 -0.485307 0.842125 -0.235165 \n-27.968 -72.2847 -23.1315 0.710843 -0.173708 0.681562 \n34.8146 -70.3494 -23.1864 -0.620893 0.0705105 0.780717 \n-4.52547 66.1471 3.0632 0.232079 0.95031 -0.207485 \n-3.28857 66.6208 3.27205 0.436856 0.899131 -0.0268333 \n-12.5663 -71.4063 -22.9956 -0.965706 0.147705 -0.213529 \n-0.0903159 67.3223 3.45086 0.0587986 0.974995 -0.214305 \n-2.68914 67.0238 2.91708 0.441251 0.807464 -0.391535 \n5.57266 67.8391 2.63145 0.0731692 0.988049 -0.135669 \n-35.8693 -75.6441 2.89391 -0.120688 -0.963932 -0.237211 \n22.5983 -72.4498 -18.981 0.93033 0.141776 -0.33821 \n-34.7725 -75.1207 2.31761 -0.578042 -0.602061 -0.550808 \n20.084 10.9368 -8.24702 -0.990966 0.132497 -0.0207438 \n-36.8474 -75.2077 2.70563 0.704642 -0.376409 -0.601495 \n41.3444 -74.784 2.57025 -0.354107 -0.933649 0.0539183 \n-36.9664 -74.176 2.43674 0.960861 0.270958 -0.0576887 \n42.6596 -74.0607 3.64221 -0.672143 -0.705594 0.224412 \n-20.1258 -62.357 -14.8033 -0.245813 -0.206467 -0.947073 \n-34.2909 -74.1709 2.35878 -0.597806 -0.191713 -0.778379 \n-14.1488 -73.1339 -19.3271 -0.882859 -0.125506 -0.452557 \n-16.916 10.7075 -8.20388 0.67113 -0.651565 -0.35362 \n-26.2941 -73.8925 2.79473 -0.228958 -0.973335 -0.0140107 \n-36.2799 -73.487 2.84141 0.30701 0.548622 -0.777663 \n23.885 -68.5058 -22.9019 0.744367 0.462013 0.482142 \n51.1114 -72.4824 2.50518 -0.911843 0.192481 0.36262 \n-18.1707 11.979 -8.02313 0.92909 -0.368633 -0.0300368 \n37.1168 -70.6228 2.26242 0.686559 0.46826 -0.55621 \n-26.2033 -70.9658 3.42242 -0.327061 0.761045 -0.560216 \n48.2561 -69.4708 2.31102 -0.141243 0.887172 -0.439292 \n39.6791 -69.687 2.52569 -0.463502 0.885233 -0.0390948 \n-8.45833 -5.14135 -27.7169 0.539395 -0.246294 0.805228 \n37.8605 -33.8297 2.55251 -0.0299017 -0.402995 -0.914714 \n37.7864 -32.7675 2.76458 0.0343297 -0.20241 -0.978699 \n2.48506 -29.034 -51.1011 0.0778647 -0.937791 -0.338356 \n40.3304 -31.2643 2.57807 -0.531995 -0.0508754 -0.845218 \n20.4643 -31.6639 -10.277 0.439067 -0.578762 -0.687208 \n36.2412 -31.1317 2.94318 0.405041 -0.192343 -0.893838 \n-17.8945 12.4335 -9.27051 0.949694 -0.311563 -0.0317814 \n39.4506 -30.8154 2.79206 -0.270462 0.0165145 -0.962589 \n36.2172 -29.3103 3.13142 0.375154 0.0387268 -0.926153 \n3.07098 14.1664 -32.7201 0.130546 0.0188175 0.991264 \n-12.4437 -1.28955 -25.2911 0.790117 -0.188175 0.583357 \n39.0961 -28.3389 2.52366 -0.379032 0.25836 -0.888586 \n-17.5464 -61.5574 -15.1361 -0.471607 -0.571872 -0.67123 \n-27.0369 -60.4848 -14.4074 0.517601 -0.505292 -0.690485 \n23.4603 -60.3896 -17.5929 0.906833 -0.061672 0.416954 \n-27.5 -25.1588 2.67513 0.210975 -0.0138935 -0.977393 \n-15.1621 -64.6736 -25.7306 -0.953461 0.0213196 0.300763 \n30.4002 -23.645 2.71168 0.145413 -0.0491103 -0.988151 \n27.1162 -65.6205 -22.4517 0.569611 0.355602 0.741006 \n31.7405 -23.0003 2.78251 -0.125281 0.0688528 -0.989729 \n-24.9016 -23.7587 2.80596 0.0132578 0.0888652 -0.995955 \n-7.10967 26.7875 -36.8366 0.208406 -0.291586 0.933565 \n29.0858 -21.0829 2.67563 0.0400278 0.0386894 -0.998449 \n-18.9876 13.9233 -8.95385 0.85802 -0.509563 -0.0643992 \n30.4834 -65.6201 -23.1454 -0.0997955 0.548244 0.830343 \n-9.14491 27.4397 -36.3238 0.456117 -0.215758 0.863369 \n6.05669 -9.12005 2.61241 -0.626144 -0.0183943 -0.77949 \n-1.51484 -7.71865 2.66864 0.434906 -0.234656 -0.869364 \n7.41718 -4.70525 2.13991 -0.589234 -0.0604912 -0.805695 \n-3.37507 -4.15495 2.90485 0.745489 -0.252959 -0.616651 \n1.20107 14.5455 -32.7184 0.0907692 -0.139455 0.986059 \n31.612 -64.8596 -22.7195 -0.233454 0.062473 0.970359 \n-28.6776 -58.0939 -14.406 0.762091 -0.374937 -0.527864 \n-4.35265 -3.26735 2.57969 0.732403 -0.445051 -0.515282 \n7.50205 -1.87555 2.66494 -0.788346 -0.329846 -0.519339 \n-5.20707 -1.30465 2.44845 0.732925 -0.146552 -0.664337 \n-5.04593 0.551048 2.65106 0.761108 -0.260565 -0.593987 \n8.50597 1.95285 2.72521 -0.610204 -0.307146 -0.730283 \n-6.00142 1.94135 2.7668 0.779703 -0.318496 -0.539095 \n3.95152 15.4489 -32.6956 0.101006 -0.12179 0.987403 \n9.64746 5.33605 2.86485 -0.548389 -0.130461 -0.825984 \n-7.1373 6.17865 2.5488 0.605052 -0.577919 -0.54765 \n-20.0746 16.047 -10.0349 0.866534 -0.498475 -0.0253257 \n-9.31724 7.77245 2.85089 0.611844 -0.357161 -0.70575 \n2.20268 15.3996 -32.7187 -0.00475031 -0.234361 0.972138 \n28.0954 -65.2822 -22.8973 0.344506 0.185712 0.920232 \n40.6606 -54.7765 -14.9621 -0.969864 -0.222018 -0.100363 \n-13.6061 11.3505 1.28766 0.566948 -0.791801 -0.227201 \n-14.5008 11.9247 2.71565 0.658017 -0.737734 -0.15087 \n28.9492 -64.6377 -22.9396 0.0694775 0.133657 0.988589 \n-14.0921 -60.022 -18.4518 -0.923162 -0.298057 -0.242764 \n-30.0673 -59.4581 -18.3691 0.93185 -0.268904 -0.24361 \n-17.5019 14.9998 2.12009 0.902564 -0.320497 -0.287507 \n20.3144 16.4943 3.02986 -0.766707 -0.533857 -0.356591 \n-18.194 16.4378 1.80242 0.602748 -0.766041 -0.223327 \n-19.4013 18.6765 2.90593 0.793824 -0.55925 -0.23892 \n-0.323296 27.2821 -36.8821 -0.6197 -0.773097 0.135252 \n21.5774 -53.3442 -14.8736 0.929501 -0.100151 0.354962 \n24.6521 19.4055 -8.78978 -0.902283 -0.426285 0.0645497 \n-30.5622 24.2068 2.5595 -0.190919 -0.917053 -0.350092 \n30.8079 24.4394 2.14753 0.157121 -0.981061 -0.113283 \n-22.5693 24.4116 3.31078 0.37239 -0.774403 -0.511494 \n-29.1817 24.0224 1.96099 -0.198499 -0.914183 -0.353366 \n32.8023 24.7723 2.67367 0.0994809 -0.989146 -0.108139 \n41.1441 -51.6959 -14.5814 -0.964403 -0.209922 -0.160808 \n-41.6137 24.7237 2.33195 0.738649 -0.576905 -0.348682 \n38.0653 25.181 2.63626 -0.374862 -0.926878 -0.0193938 \n-41.7842 25.7237 3.38627 0.687993 -0.666812 -0.286404 \n39.3138 26.1304 3.34565 -0.397511 -0.917406 0.0187579 \n44.8959 28.7684 2.77996 -0.36049 -0.699472 0.617079 \n29.6193 -59.7898 -23.3639 0.123547 -0.17101 0.977492 \n-28.129 -44.8363 -25.6011 0.459987 0.230943 0.857366 \n48.2398 30.6906 2.4966 -0.328446 -0.515314 0.791565 \n-23.1003 19.79 -9.31896 0.695803 -0.701492 -0.154167 \n-14.2893 -59.335 -17.6777 -0.854424 -0.361501 -0.373199 \n21.4172 -52.3326 -14.2114 0.980007 -0.0746543 0.184428 \n0.157231 27.5594 -37.1129 -0.0086352 -0.954693 0.297467 \n41.411 -51.1841 -15.2647 -0.962734 -0.238867 0.126832 \n-48.7971 35.1492 2.26531 0.474302 -0.19853 0.857685 \n16.7517 0.308748 -24.8209 -0.581681 0.0692761 0.810462 \n-50.2687 34.3447 3.01139 0.424061 -0.383915 0.820233 \n-52.9516 35.4133 3.19575 0.0833951 -0.587653 0.804804 \n33.234 -59.4492 -22.9926 -0.259609 -0.197442 0.945315 \n-51.4483 36.333 2.88555 -0.0498458 -0.418977 0.906628 \n-7.27324 41.8272 -38.0978 0.282831 0.137516 0.949261 \n-24.938 22.4737 -8.87069 0.776521 -0.611387 0.152381 \n4.2959 16.561 -33.2501 -0.0463546 -0.338126 0.939959 \n-11.9599 -49.7754 -14.8901 -0.970972 -0.192716 -0.141684 \n-28.2388 41.7646 2.04811 0.0154724 0.824852 -0.565137 \n-31.7371 -50.2301 -14.8741 0.892259 -0.24214 -0.381106 \n-39.6576 41.2553 3.22627 -0.417786 0.90726 0.0483073 \n47.2743 41.532 2.64354 -0.570157 0.644397 0.509582 \n46.3513 42.2087 2.81448 -0.276473 0.675099 0.683962 \n-30.2045 41.0893 3.09489 -0.0985258 0.836403 -0.539187 \n1.35269 32.9816 -39.2305 0.051245 -0.112001 0.992386 \n-26.4825 -32.0391 -18.5375 0.502018 -0.0543925 0.863145 \n-43.4253 42.0179 2.40271 0.148293 0.886984 0.437343 \n-42.6622 42.4038 2.80335 -0.0102345 0.86189 0.506992 \n29.293 -58.0168 -22.9587 0.267663 0.0558948 0.96189 \n-32.0466 -48.6637 -13.5668 0.949323 -0.250958 -0.189224 \n-56.4014 44.4128 3.03997 0.580805 0.0886923 0.809197 \n42.6132 43.1464 2.33999 -0.385672 0.771749 0.505629 \n-45.0423 43.3254 2.76804 -0.382294 0.682461 0.622975 \n-45.631 44.0844 3.4094 -0.277969 0.56085 0.779859 \n-49.7403 43.0723 2.62728 -0.291349 0.543101 0.7875 \n39.4492 44.1194 2.15781 -0.3145 0.94112 0.124029 \n-23.8305 44.0415 2.84624 0.757474 0.525027 -0.388045 \n42.0509 -46.8881 -15.0379 -0.987463 0.0262623 0.155648 \n33.2738 44.9922 2.27482 0.0842944 0.996242 -0.019924 \n31.1833 44.5319 1.08206 0.0328283 0.997901 -0.0558148 \n32.5934 -58.1423 -23.0673 -0.127197 0.0510438 0.990563 \n31.6345 -57.5617 -22.8017 -0.0284284 0.045981 0.998538 \n28.4597 44.7058 3.2544 -0.620859 0.757378 -0.20227 \n27.2281 46.5538 2.3889 -0.800285 0.589948 -0.107263 \n-29.3699 24.0577 -8.56789 -0.0399928 -0.893457 0.447365 \n39.4734 -58.5877 -18.8083 -0.837232 -0.274058 0.473218 \n-2.50029 -23.8269 -39.5696 0.977067 -0.159029 0.141601 \n-18.489 48.4144 2.62394 0.792883 0.333941 -0.509725 \n27.7643 -57.5735 -22.7915 0.381652 0.0119731 0.924229 \n11.2074 -2.37595 -28.7611 -0.411569 -0.377287 0.829618 \n24.1155 49.8563 2.76908 -0.467969 -0.137683 -0.872954 \n-18.1665 50.0665 2.54772 0.383988 -0.297138 -0.874221 \n-20.0851 50.7348 2.44433 0.387036 -0.440229 -0.810186 \n24.9242 50.8964 2.73321 -0.462375 -0.0405993 -0.885755 \n-31.75 24.1075 -8.7157 0.0899449 -0.863405 0.496429 \n-19.0392 52.2313 3.22736 0.542271 -0.0337369 -0.839526 \n25.0441 51.8887 2.39552 -0.702276 0.543072 -0.460306 \n23.7423 53.105 2.30638 -0.419018 0.886764 -0.195126 \n-26.7001 24.3902 -9.13044 0.350618 -0.864574 0.359971 \n20.9142 54.9683 2.96747 -0.667641 0.640254 0.379907 \n30.0654 -57.2096 -23.2549 -0.0224257 6.20691e-005 0.999748 \n-16.6798 56.0378 3.11287 0.803541 0.544942 0.239499 \n19.2307 55.9913 2.47893 -0.740032 0.667702 0.0807865 \n17.983 57.029 2.99004 -0.654025 0.743487 -0.139564 \n-15.8429 57.8547 3.01273 0.634962 0.632099 0.444155 \n-12.0341 -46.3353 -14.4506 -0.964617 0.261155 0.0362169 \n-14.0468 58.454 2.61335 0.499397 0.728066 0.469597 \n16.3559 58.618 3.34297 -0.642043 0.76591 -0.0340929 \n15.1256 59.5547 2.83536 -0.674137 0.727039 -0.130206 \n-12.6817 60.9933 2.68671 0.75639 0.57441 -0.312933 \n-32.7242 -43.9514 -14.4963 0.962715 -0.0888085 -0.255525 \n14.7611 61.2836 2.3058 -0.916943 0.387064 -0.0969419 \n-30.4632 24.5604 -9.31718 0.0277196 -0.847048 0.530793 \n-12.2692 11.4732 -29.5246 0.667249 -0.345371 0.659922 \n-10.3478 62.703 2.80693 0.518137 0.831552 0.200136 \n11.9577 64.5411 2.8703 -0.550445 0.775776 -0.308516 \n-0.681909 -15.4063 -18.8087 -0.245867 -0.959663 -0.136368 \n-30.6954 -58.1476 -23.1266 0.877323 -0.118364 0.465075 \n-7.21476 65.3566 3.2339 0.395031 0.86003 0.322954 \n-7.27234 65.7635 2.26111 0.382614 0.812825 -0.439228 \n-6.26861 65.6473 2.91585 0.281646 0.891469 -0.354906 \n0.603783 -27.7512 -50.6067 0.88148 -0.471769 0.0206558 \n-5.64264 66.7926 1.61897 0.212734 0.949984 -0.228638 \n6.5423 67.6747 3.02508 -0.199545 0.956703 -0.211897 \n-30.5087 -57.634 -17.9344 0.883962 -0.316607 -0.344052 \n31.0151 -55.819 -23.0905 -0.035707 -0.0289098 0.998944 \n3.12275 67.3332 3.22096 -0.387022 0.890529 -0.239108 \n-1.38957 67.4604 2.97621 0.201146 0.845915 -0.493932 \n4.12497 67.2236 2.94351 0.15406 0.969825 -0.188959 \n2.69683 68.0857 2.36839 -0.399598 0.87899 -0.260187 \n-36.8297 -75.4176 1.92038 0.556337 -0.820604 0.130758 \n-30.804 -56.0481 -22.8356 0.876305 -0.087489 0.473746 \n32.9852 -56.7259 -23.1339 -0.0769096 -0.0169106 0.996895 \n-37.1862 -74.784 2.03088 0.991601 -0.061963 0.113522 \n-13.4913 -43.6747 -14.8024 -0.910643 0.408964 0.0589722 \n42.0358 -74.0901 1.50636 -0.812236 -0.561888 0.1567 \n-34.7316 -73.3005 2.55745 -0.352342 0.302302 -0.885702 \n42.2436 -73.1443 1.85922 -0.919862 0.280507 0.274171 \n21.89 -42.2444 -13.7545 0.950735 0.210918 0.227192 \n-34.9332 -72.4077 2.08774 -0.0737691 0.599299 -0.797119 \n-36.3116 -72.4323 1.46146 0.784883 0.560105 -0.26503 \n-28.7432 -72.6969 2.43601 0.910258 0.379786 0.164903 \n-33.3069 -42.3818 -15.4201 0.978088 0.0155923 -0.207606 \n41.8534 -41.8346 -15.286 -0.984005 0.0838023 0.1572 \n-13.3008 0.296349 -24.6583 0.751275 -0.358374 0.554215 \n-27.7542 -71.2939 1.71742 0.81712 0.576373 0.0104218 \n23.8649 46.1629 -26.6064 -0.796995 0.342219 0.49768 \n46.9005 -71.5903 3.17959 0.586155 0.309115 -0.748912 \n41.4678 -71.3757 2.19018 -0.838661 0.518496 0.166763 \n-34.8928 26.253 -9.78786 0.398335 -0.771263 0.49647 \n16.5312 1.96285 -25.7807 -0.75279 -0.253574 0.60746 \n-33.0803 -41.7811 -15.6349 0.847944 0.528607 -0.0395674 \n-25.9818 -70.4053 2.41546 -0.0747179 0.903407 -0.422223 \n29.8427 -55.7976 -23.0199 0.249563 0.00772421 0.968328 \n23.1443 -39.9879 -15.2555 0.678734 0.518169 0.520405 \n40.9935 -29.2966 1.83738 -0.634917 0.192035 -0.748333 \n-21.5273 -74.6182 -11.3627 0.149925 -0.984359 0.0925158 \n-27.4808 -29.5824 2.44558 0.0604062 -0.238673 -0.969219 \n34.5676 -29.504 2.19612 0.483569 -0.0394999 -0.874415 \n-26.9484 -27.9675 2.70669 -0.0275968 -0.0232761 -0.999348 \n-23.8076 -29.1982 2.16394 -0.191906 -0.121269 -0.973892 \n-24.868 -27.4514 2.29283 -0.0950117 -0.108496 -0.989546 \n38.2696 -29.5441 3.04607 -0.188834 0.197164 -0.962012 \n33.818 -55.556 -22.8353 -0.264269 -0.0448541 0.963405 \n31.0495 -28.4258 2.19094 0.0997955 -0.254543 -0.961899 \n38.7567 -27.6564 2.24111 -0.145791 0.468183 -0.871522 \n36.4679 -28.4823 3.02674 0.0178172 0.427004 -0.904074 \n34.7351 -27.9263 2.03041 0.26932 0.270469 -0.924291 \n-28.5977 -27.5219 2.39418 0.304478 0.0487192 -0.951273 \n32.5596 -27.4207 2.44282 0.0424927 -0.143807 -0.988693 \n-23.4319 -28.0084 2.12775 -0.187847 -0.230262 -0.954826 \n-28.5415 -25.9915 2.04145 0.420464 0.04417 -0.906233 \n34.2116 -54.1129 -23.01 -0.260882 -0.0184962 0.965193 \n32.5126 -25.1862 2.75009 0.0367605 0.0499886 -0.998073 \n29.3962 -26.2391 2.16293 0.105759 -0.0770079 -0.991405 \n-23.0494 -26.7477 2.45981 -0.133713 -0.165353 -0.977128 \n-25.3053 -26.1457 2.61781 -0.0271614 -0.116134 -0.992862 \n-26.6555 -26.6135 2.49194 0.0843377 -0.00767317 -0.996408 \n34.0882 -25.9749 2.54873 -0.265051 -0.182102 -0.946883 \n30.5117 -25.3042 2.15461 0.100138 -0.0928084 -0.990636 \n28.4044 -25.186 2.39403 0.156561 -0.109211 -0.981612 \n-23.6336 -24.0051 2.61846 -0.078638 0.0238741 -0.996617 \n31.8958 -24.4964 2.4986 -0.0252319 -0.118729 -0.992606 \n-22.0944 -24.4353 2.58695 -0.169729 -0.0403478 -0.984664 \n-30.8343 -38.2829 -15.3491 0.860625 0.172496 0.479135 \n29.5378 -24.306 2.44751 0.097689 -0.0913632 -0.991014 \n32.6818 -54.3395 -22.9544 -0.0513091 0.00172951 0.998681 \n-27.7239 -22.8279 2.3163 0.295223 0.23792 -0.925331 \n23.6876 -56.7722 -18.427 0.839961 -0.186632 0.509544 \n33.2641 -23.5753 2.12906 -0.130537 0.0264188 -0.991091 \n29.025 -54.5095 -22.873 0.323211 0.0140269 0.946223 \n26.4067 -22.8441 2.22662 0.130229 -0.107994 -0.985585 \n-13.6682 -54.1113 -22.6834 -0.953763 -0.0454911 0.297098 \n-8.25412 65.6977 -17.7238 0.358972 0.925827 0.118248 \n34.2688 -22.5799 2.4708 -0.196523 -0.140626 -0.970362 \n30.2043 -22.0219 2.5337 0.0149037 0.0596563 -0.998108 \n-23.5459 -22.748 2.38763 -0.0617146 0.0358508 -0.99745 \n34.0204 -21.6463 2.53084 -0.192313 0.215603 -0.957356 \n32.5381 -22.5237 2.48488 -0.0188877 0.0399982 -0.999021 \n28.6509 -22.8941 2.15904 0.165831 -0.0708139 -0.983608 \n-22.4319 -21.6695 2.45723 -0.0911053 0.0243904 -0.995543 \n-25.7568 -22.0168 2.37947 0.168818 0.137958 -0.975945 \n-11.0817 26.4487 -34.9692 0.183956 -0.308529 0.933258 \n27.6434 -21.8524 2.26704 0.135259 -0.0446759 -0.989803 \n-23.9384 -21.4512 2.64569 0.0193351 -0.0177082 -0.999656 \n32.9661 -20.5807 2.24309 -0.0957599 0.140313 -0.985465 \n31.6966 -21.1138 2.17848 -0.0554318 0.107939 -0.992611 \n30.8463 -20.2692 2.34095 -0.0778678 0.0919523 -0.992714 \n-25.3764 -63.9593 -26.9784 0.65101 -0.218592 0.726914 \n-13.4941 -57.9981 -18.9412 -0.95946 -0.243591 -0.141775 \n-13.7761 -28.1754 -17.3702 -0.737722 -0.499051 0.454658 \n-23.0524 -19.8032 2.45306 -0.129999 0.16009 -0.978505 \n32.0159 -19.516 2.39303 -0.0110475 0.0864393 -0.996196 \n28.2209 -19.9949 2.37424 0.0937003 0.066439 -0.993381 \n-21.5042 -19.0924 1.91611 -0.0950576 0.103312 -0.990096 \n31.399 -52.9882 -22.9792 0.0409861 0.042158 0.99827 \n-24.7894 -19.6987 2.42959 0.137502 0.215156 -0.966851 \n27.4755 -18.8437 2.40178 0.0113675 0.0676399 -0.997645 \n-5.75469 19.7215 -32.7865 0.141946 -0.523016 0.84042 \n2.75874 -10.3663 3.05424 -0.0606395 -0.685568 -0.725479 \n4.34058 -10.3423 2.7099 -0.197545 -0.691972 -0.694371 \n5.87867 -10.122 2.4059 -0.619372 -0.437445 -0.651936 \n-38.2654 28.8748 -8.32302 0.726031 -0.265122 0.634499 \n-2.47119 -8.07115 1.9631 0.704438 -0.377118 -0.601289 \n32.6456 -52.8611 -23.1191 -0.111071 0.0369109 0.993127 \n5.90923 -7.29685 2.46511 -0.665816 -0.305538 -0.680687 \n-2.91459 -6.80685 2.94629 0.380298 -0.511117 -0.7708 \n7.04493 -3.29205 2.32135 -0.605608 -0.162526 -0.778989 \n8.41994 -2.13505 1.92276 -0.371653 -0.23582 -0.897921 \n-5.1878 -2.81155 2.04867 0.33689 -0.268114 -0.902563 \n-30.863 -36.8797 -15.1137 0.847134 0.153639 0.508684 \n9.0313 -0.531752 1.97491 -0.229412 -0.0779536 -0.970203 \n29.168 -53.1147 -22.7879 0.214468 0.0745015 0.973886 \n8.40516 0.811449 2.30057 -0.510157 -0.167126 -0.843687 \n36.8261 -34.2444 -14.7189 -0.493332 0.55188 0.672348 \n10.7653 3.31705 2.15774 -0.322264 -0.140418 -0.936178 \n10.7703 4.41075 2.18301 -0.553076 0.00638689 -0.833106 \n3.34074 -27.2075 -44.2239 -0.365833 -0.871402 -0.326839 \n10.8798 6.92045 2.31522 -0.556849 -0.392209 -0.732183 \n-8.98752 6.27115 1.37351 0.45491 -0.65051 -0.608189 \n-31.2773 -55.4648 -17.714 0.857616 -0.344477 -0.381877 \n-31.6457 -50.7719 -22.759 0.902016 -0.0838185 0.423486 \n12.904 8.00415 1.85732 -0.556719 -0.697382 -0.451356 \n11.6392 7.45615 2.4284 -0.495505 -0.724715 -0.478814 \n12.6371 8.32855 2.40442 -0.644343 -0.324264 -0.692586 \n-10.7042 9.41645 2.53303 0.604917 -0.419907 -0.676575 \n15.498 11.6294 1.96447 -0.635758 -0.564944 -0.525975 \n25.4045 -34.2091 -14.1492 0.561211 -0.60586 0.563893 \n-6.53549 66.2156 -17.147 0.20139 0.965068 -0.167588 \n-31.6592 -56.4874 -18.9303 0.929679 -0.322145 -0.178662 \n35.6469 -33.943 -15.3356 -0.456086 0.232074 0.859143 \n-2.27392 -21.7631 -39.7919 0.934888 0.221434 0.277399 \n19.8172 14.3692 1.84788 -0.473144 -0.758185 -0.448654 \n25.4282 -33.4403 -15.0076 0.332401 -0.660339 0.673396 \n18.9077 14.67 2.73487 -0.415523 -0.776677 -0.473405 \n35.5506 -50.7299 -22.685 -0.274484 -0.016907 0.961443 \n20.8892 17.2199 2.35975 -0.690015 -0.584672 -0.426659 \n15.2418 21.6332 -33.548 -0.382841 -0.434825 0.815083 \n-21.2891 20.9153 3.34618 0.87472 -0.440232 -0.202636 \n15.5098 27.5217 -35.2203 -0.475595 -0.23382 0.84802 \n-14.4338 2.02115 -24.8994 0.757254 -0.391274 0.522945 \n23.8907 22.4635 2.59436 -0.791952 -0.435675 -0.427785 \n-21.8664 22.2429 2.93262 0.932209 -0.254219 -0.257602 \n-32.2347 23.4799 2.4867 -0.149569 -0.887844 -0.435159 \n38.5037 34.0541 -8.85165 -0.553077 0.0304521 0.832574 \n-39.2617 24.1649 2.56136 0.123064 -0.988041 -0.0928975 \n32.7384 -51.6476 -22.9923 0.0277179 -0.0320269 0.999103 \n30.7081 -50.7859 -22.9874 0.100535 -0.0136125 0.99484 \n-43.4858 26.9711 1.34809 0.620942 -0.756285 0.206065 \n21.104 -31.5205 -14.8272 0.201651 -0.902787 0.379884 \n-18.5278 -32.5247 -18.5685 -0.496741 -0.417344 0.760968 \n47.0117 30.4669 2.54988 -0.399714 -0.616607 0.678251 \n-14.1371 -31.8689 -14.9427 -0.752411 -0.422518 0.505328 \n-14.9884 -60.3454 -26.1667 -0.888494 -0.146985 0.434712 \n-30.3396 -31.2775 -14.5569 0.741884 -0.495581 0.451672 \n-38.7576 34.5644 -8.93069 0.693042 0.0636854 0.718078 \n49.0848 34.0924 2.23756 -0.920869 -0.0786313 0.38186 \n-27.4181 -60.3063 -27.0564 0.735708 -0.252102 0.628632 \n31.5839 -49.4489 -22.9893 0.0697753 0.0252058 0.997244 \n-49.5326 36.8874 2.37867 0.38483 -0.239349 0.891413 \n-13.3572 -29.7447 -10.4854 -0.880068 -0.46929 -0.072433 \n11.6338 29.0744 -36.6495 -0.631305 -0.137796 0.763194 \n-51.8321 38.7592 1.72039 -0.128014 -0.37853 0.916694 \n-13.6433 -30.0487 -15.3363 -0.564944 -0.709615 0.421053 \n37.1427 35.15 -9.20757 -0.539234 0.126692 0.832572 \n30.5181 -49.5238 -23.1429 0.182235 0.0257364 0.982918 \n-33.5653 -30.2402 -10.2736 0.82239 -0.495054 0.28035 \n47.4982 40.7931 2.10748 -0.621039 0.432968 0.653338 \n-13.5427 -50.0702 -22.0146 -0.897383 0.112292 0.426726 \n-16.891 -61.8372 -28.1072 -0.726521 0.0206508 0.686834 \n13.7525 -0.951851 -27.654 -0.635452 -0.136123 0.760047 \n-32.7307 41.7738 2.27569 0.0883141 0.930161 -0.356373 \n-15.2829 -59.5065 -27.3407 -0.808766 -0.0700088 0.583948 \n16.6392 23.0595 -32.3939 -0.612729 -0.197223 0.765288 \n44.4586 41.9809 1.9528 -0.261546 0.658951 0.70525 \n-48.1785 42.7178 2.90412 -0.0538195 0.411798 0.909684 \n43.9398 43.0767 2.57339 -0.237824 0.684842 0.68879 \n-41.4832 42.4957 2.89023 -0.434947 0.889846 0.137824 \n-47.2415 43.3219 2.73703 0.120562 0.434177 0.892724 \n36.4912 -29.8305 -14.4643 -0.694542 -0.206775 0.689098 \n30.5349 -48.0596 -22.8839 0.189867 0.0592032 0.980023 \n-12.4261 -28.4045 -14.5803 -0.785879 -0.445557 0.428804 \n-32.0145 -28.1262 -15.264 0.822629 -0.256916 0.507224 \n-13.1007 23.6966 -32.92 0.518206 -0.215687 0.827612 \n-24.4097 44.0247 2.05837 0.46084 0.745259 -0.481887 \n-54.6753 45.0384 2.82454 -0.0339514 0.576553 0.816354 \n32.5169 -47.4691 -22.8944 0.0374409 0.103268 0.993949 \n-14.081 24.4625 -32.7187 0.547971 -0.262352 0.794291 \n-31.8153 -55.0452 -19.0392 0.95103 -0.258846 -0.168939 \n27.0257 46.9296 1.46572 -0.753599 0.633188 -0.176525 \n-19.8855 47.496 2.78765 0.423185 0.896008 -0.134477 \n-10.9961 27.7981 -35.5929 0.229871 -0.279669 0.932172 \n25.5399 48.4308 1.74578 -0.774596 0.575229 -0.262894 \n-31.2542 -47.632 -23.5991 0.76598 0.0343618 0.641946 \n-18.9191 49.5088 1.99613 0.547211 -0.222834 -0.806787 \n37.2985 36.7475 -9.07173 -0.529662 0.197273 0.82495 \n25.6005 50.3372 2.21519 -0.53565 -0.308079 -0.786235 \n26.2502 50.6814 1.63805 -0.829215 -0.000502021 -0.558929 \n20.1814 54.7629 2.14261 -0.657014 0.65567 0.37206 \n-13.885 25.5373 -33.055 0.504707 -0.276797 0.817713 \n-17.6667 55.5091 2.8597 0.584499 0.803331 0.114102 \n34.341 -46.0227 -23.0189 -0.039598 0.0657257 0.997052 \n-15.5507 57.3701 2.2144 0.710787 0.595314 0.374677 \n16.3927 59.375 1.49082 -0.543443 0.830994 -0.118824 \n-18.5411 -60.3558 -29.6559 -0.458688 -0.113242 0.881352 \n30.2453 -46.8588 -22.8523 0.339942 0.117535 0.933073 \n15.1543 59.775 2.06253 -0.839949 0.512992 -0.176986 \n-38.6447 37.3897 -8.12257 0.666788 0.359971 0.652544 \n-31.7759 -46.7148 -22.3699 0.859366 0.0513374 0.508778 \n-13.0465 61.3342 1.53014 0.699046 0.712931 -0.0553588 \n33.9325 -47.5447 -22.9939 -0.093071 0.0411443 0.994809 \n31.6218 -46.5219 -22.9721 0.000829898 0.10829 0.994119 \n10.3489 65.206 1.26285 -0.813789 0.579295 -0.0465166 \n-31.8801 -53.9154 -18.0187 0.914874 -0.211857 -0.343688 \n-9.1863 64.712 2.17392 0.639741 0.659547 -0.394625 \n9.40301 66.3049 -17.0361 -0.34334 0.938927 -0.0231052 \n8.55664 67.1137 2.96946 -0.38975 0.902738 -0.182094 \n-9.26199 -0.35355 -28.8718 0.477467 -0.377518 0.793414 \n51.0787 -74.5657 2.2867 -0.521075 -0.749578 0.408184 \n13.8439 -24.7931 -14.8757 0.729555 -0.656151 0.192913 \n34.6549 -44.3073 -22.7518 -0.125716 0.045022 0.991044 \n45.1516 -70.8075 1.37249 0.648461 0.275167 -0.709776 \n37.8755 -23.3294 -15.2769 -0.822374 -0.0491 0.566825 \n12.5679 -23.7355 -15.5195 0.614479 -0.757103 0.221833 \n46.0065 -70.1565 1.77232 0.53723 0.47215 -0.698897 \n-24.3328 -71.5163 1.59326 -0.790944 0.284335 -0.541813 \n-25.4261 -71.4973 3.08715 -0.747086 0.277929 -0.603837 \n-31.3165 -43.7984 -22.9286 0.746515 0.264625 0.610483 \n33.3256 40.9159 -8.39156 -0.370972 0.667911 0.645194 \n46.9413 -70.1077 2.42464 0.402613 0.565321 -0.719941 \n37.613 -69.363 1.27659 0.384708 0.655014 -0.650351 \n-6.4735 42.8488 -38.2614 0.210498 0.162634 0.963971 \n-15.2659 -57.8504 -27.0058 -0.739992 0.206835 0.640024 \n-33.3091 -24.1355 -14.7484 0.819008 -0.080066 0.568169 \n36.8027 -34.0149 2.1523 0.282067 -0.420606 -0.862281 \n39.4938 -32.95 2.57967 -0.293781 -0.233151 -0.927002 \n40.8741 -33.625 1.6848 -0.571338 -0.342925 -0.745638 \n35.0344 -33.103 1.89384 0.356494 -0.245778 -0.901391 \n41.1608 -32.4817 1.58735 -0.682158 -0.195398 -0.704614 \n36.1401 -32.4803 2.37422 0.291595 -0.262156 -0.919917 \n19.3505 30.6614 -32.916 -0.625215 -0.240129 0.742593 \n35.0817 -31.4636 2.11481 0.420681 -0.161052 -0.892799 \n34.0295 -29.4755 1.99406 0.196791 -0.129169 -0.971899 \n20.3634 29.6891 -32.1749 -0.770565 -0.243682 0.588939 \n-18.9945 -41.2729 -23.7994 -0.436652 0.536247 0.72234 \n-25.0412 -30.5216 2.08419 -0.0750494 -0.337855 -0.938201 \n-19.162 -39.8741 -22.5512 -0.282697 0.771341 0.570188 \n-15.8756 28.6317 -32.8012 0.519783 -0.160482 0.83909 \n-20.2407 -40.4555 -23.2621 -0.220902 0.658427 0.719497 \n29.1118 -29.3488 1.53982 0.247233 -0.455192 -0.855381 \n19.7918 32.1852 -32.9421 -0.513404 -0.137179 0.847112 \n-29.1833 -28.7665 1.92805 0.484959 -0.215238 -0.847636 \n33.3745 -28.275 2.0468 -0.131201 -0.18403 -0.974125 \n39.003 -26.4049 1.54926 -0.319 0.692782 -0.646755 \n-26.1784 -39.6925 -23.1299 0.0757981 0.778481 0.623075 \n9.61525 -20.6662 -15.4306 0.767829 -0.63288 0.099509 \n-20.9991 -39.7598 -23.1387 -0.275598 0.657171 0.70155 \n-7.78171 -20.6484 -15.291 -0.866245 -0.488226 0.106091 \n36.1897 -25.4605 1.44723 -0.416876 -0.0933925 -0.904153 \n34.6331 -25.103 2.35565 -0.250227 0.0123972 -0.968108 \n1.90013 -20.1397 -43.6068 0.143448 0.914463 0.378392 \n-19.6318 -25.5612 1.86488 -0.336956 -0.119215 -0.933943 \n0.00501008 -26.3105 -50.2801 0.966969 -0.209644 0.144985 \n-17.7238 30.9207 -31.9931 0.675983 -0.143063 0.722897 \n-29.3134 -24.6957 1.71111 0.490271 0.0264141 -0.87117 \n-7.57023 -20.131 -14.5263 -0.695949 -0.714726 0.0694378 \n22.7049 -54.078 -17.3532 0.882824 -0.0210642 0.469232 \n35.5617 -24.2028 2.23132 -0.41947 -0.0152001 -0.907642 \n-21.1756 -23.4887 2.27034 -0.204382 -0.0397909 -0.978082 \n-31.9978 42.3493 -9.07543 0.222597 0.865137 0.449432 \n27.5807 -23.5704 2.08096 0.130194 -0.0404194 -0.990664 \n22.5936 -25.1096 -22.6399 0.0776308 -0.56223 0.823329 \n34.9781 -23.2124 2.14247 -0.202469 0.0269196 -0.978919 \n-29.1369 -22.9708 1.47622 0.456487 0.300863 -0.837318 \n19.8858 33.7889 -32.9908 -0.618075 0.130242 0.775255 \n36.2019 -21.747 1.64557 -0.566477 0.0944407 -0.818648 \n25.3979 -22.0847 1.99105 0.18651 -0.112132 -0.976033 \n35.792 -20.7293 1.62174 -0.450167 0.403609 -0.796523 \n-20.7502 -21.5758 2.42815 -0.162381 0.0683592 -0.984357 \n-26.7013 -20.5444 2.0365 0.39574 0.114917 -0.911144 \n26.6898 -20.7259 2.01573 0.093394 -0.0106439 -0.995572 \n24.9349 -20.809 2.18806 0.0406114 -0.0139333 -0.999078 \n-3.71867 67.0195 -17.7353 0.36614 0.919722 0.141606 \n23.6129 -19.1577 1.97396 0.222894 0.0465506 -0.973731 \n-26.3957 -18.9179 1.7543 0.375823 0.367047 -0.850902 \n30.1164 -19.2272 2.06477 -0.0274337 0.159209 -0.986864 \n-21.0503 -24.4437 -23.0944 -0.0552904 -0.358379 0.931937 \n-19.4787 -19.7629 1.82534 -0.205116 0.0770003 -0.975704 \n-22.7873 -18.7133 2.04408 -0.00209403 0.2035 -0.979073 \n33.0929 -18.8868 2.08212 -0.247231 0.272273 -0.929916 \n24.8914 -18.4229 1.96075 0.121864 0.0672413 -0.990267 \n39.6674 -52.9753 -19.263 -0.799052 -0.121346 0.588889 \n31.1208 -18.3938 2.05496 -0.0598494 0.255029 -0.965079 \n27.5639 -16.5195 1.8244 -0.0233162 0.191559 -0.981204 \n-24.6138 -18.1809 1.7874 0.166674 0.226045 -0.959752 \n-5.036 -18.8859 -13.574 -0.373069 -0.925825 0.0605584 \n-32.7981 -17.912 -14.212 0.909341 0.145858 0.389646 \n30.199 -17.4313 2.05934 -0.0865818 0.193589 -0.977255 \n25.9186 -17.2705 2.14941 0.103245 0.204598 -0.973386 \n19.9733 35.2289 -32.5078 -0.505781 -0.0141826 0.862545 \n-20.5975 -17.4858 1.83132 -0.0935645 0.126647 -0.987525 \n-22.6805 -17.312 2.11063 0.0444368 0.1681 -0.984768 \n-21.0998 -15.3999 1.55417 -0.110102 0.322204 -0.940246 \n-25.7818 -61.9361 -26.805 0.632855 -0.30687 0.710862 \n5.34336 -19.3786 -37.0925 -0.861115 0.431353 0.269103 \n28.2587 -15.7236 1.76176 -0.00738792 0.291245 -0.95662 \n37.8236 -17.2137 -15.6199 -0.91189 0.0907484 0.400276 \n24.1971 -15.0854 1.75963 -0.0395247 0.131501 -0.990528 \n2.50419 -11.5003 1.90125 -0.0394529 -0.403626 -0.914073 \n3.41853 -10.8972 2.11076 -0.208865 -0.752952 -0.62405 \n39.7147 -69.2141 -18.4303 -0.700215 -0.00182285 0.71393 \n-1.95315 -9.28445 2.38666 0.585935 -0.304029 -0.751163 \n6.58137 -7.25675 1.73008 -0.60388 -0.212128 -0.768329 \n-1.13565 -16.2927 -15.9876 -0.817183 -0.574604 0.0451953 \n-0.982001 -16.2855 -14.427 -0.711608 -0.698952 0.0712767 \n7.23904 -5.72835 2.1614 -0.688763 -0.358169 -0.630333 \n-4.12614 -5.69275 1.86254 0.754416 -0.140543 -0.641174 \n-4.09284 -4.23085 1.89181 0.545049 -0.261713 -0.79651 \n8.70545 -3.44455 1.43821 -0.340935 -0.0966183 -0.935109 \n-26.5968 46.5556 -8.12964 0.802692 0.596126 -0.0178618 \n-6.34707 -1.19655 1.94993 0.24036 -0.0637718 -0.968587 \n-8.09818 -0.470951 1.68621 0.272143 0.0213813 -0.962019 \n10.5174 -0.611252 1.71058 -0.259507 -0.186965 -0.94747 \n-19.7135 -22.9913 -23.2525 -0.0688807 -0.37716 0.923583 \n-6.53784 0.216249 1.76173 0.382673 -0.0856439 -0.919906 \n11.6537 2.16315 1.81457 -0.272961 -0.0522447 -0.960605 \n9.4049 1.11285 1.93942 -0.264158 -0.177291 -0.948045 \n-10.8933 1.12975 -28.7289 0.616165 -0.325781 0.717082 \n-7.36318 2.56125 1.84822 0.577176 -0.0899512 -0.811651 \n11.6312 3.41415 1.53649 -0.665722 0.18699 -0.722391 \n-0.639308 -14.898 -15.5506 -0.813875 -0.579987 -0.0349536 \n5.71625 -21.4701 -40.1921 -0.924837 0.363424 0.112252 \n14.2367 13.1845 -29.9946 -0.640541 0.11941 0.758584 \n2.1607 -14.1358 -15.3758 0.0746929 -0.980124 -0.183786 \n37.3488 -13.4516 -14.0312 -0.866007 0.443895 0.230195 \n-11.6903 10.5917 2.73106 0.432605 -0.828407 -0.355802 \n13.8509 10.2327 2.16796 -0.612093 -0.445478 -0.65337 \n17.3953 14.1225 2.18334 -0.491776 -0.867501 -0.0748258 \n-17.8556 16.0016 1.61345 0.906774 -0.366967 -0.207596 \n36.2593 -11.1746 -14.6247 -0.928705 0.359288 0.0917561 \n-30.9824 -12.1453 -15.2267 0.891048 0.31037 0.331216 \n13.5387 2.29935 -28.7963 -0.601434 -0.156778 0.783389 \n23.2428 18.6551 1.28796 -0.797581 -0.527687 -0.292251 \n-23.6072 51.1606 -8.87453 0.785318 0.619086 0.00274948 \n20.3268 36.72 -32.7804 -0.337966 -0.129344 0.932228 \n23.9797 21.6944 2.15745 -0.848806 -0.309518 -0.428633 \n-23.854 -23.4783 -22.84 0.22447 -0.246216 0.942863 \n-22.4781 23.6961 2.02205 0.691262 -0.594911 -0.410168 \n-35.7285 23.3324 2.56575 0.205937 -0.975109 -0.0821712 \n-8.99169 58.7384 -28.9493 0.230107 0.707385 0.668324 \n-23.6985 23.971 1.61634 0.367044 -0.822768 -0.433973 \n-37.4949 24.108 2.16641 0.156933 -0.985677 -0.0617541 \n31.5744 24.4593 1.6867 0.040412 -0.985535 -0.164586 \n-17.9813 38.5219 -32.6643 0.775926 0.0475561 0.629028 \n-27.6322 24.6866 2.67866 -0.243759 -0.900014 -0.361324 \n36.9454 25.1193 0.804246 -0.293329 -0.955677 0.0253025 \n-11.7605 2.63115 -28.2958 0.655293 -0.275569 0.703316 \n-15.8542 -30.9283 -17.8985 -0.733116 -0.374759 0.567536 \n-42.7109 26.1122 1.60301 0.814578 -0.518325 -0.260389 \n42.1597 27.0302 2.65768 -0.447065 -0.880949 0.15512 \n42.7677 27.7241 1.59443 -0.595774 -0.738015 0.316839 \n24.5275 51.8868 -7.70558 -0.854472 0.515981 -0.060343 \n44.1605 29.0646 2.22639 -0.549194 -0.696365 0.46202 \n-22.7305 -21.9024 -23.2336 0.202994 -0.30538 0.930342 \n-24.8011 -22.5118 -23.0569 0.240955 -0.217508 0.945849 \n47.3428 31.6106 2.00755 -0.402858 -0.334165 0.85208 \n20.3552 39.9324 -32.566 -0.375143 0.130405 0.917748 \n5.14724 -24.8578 -54.4317 -0.374497 0.705781 0.601353 \n-48.4535 33.6063 2.41606 0.840121 -0.230135 0.491156 \n-48.1279 35.2451 1.50761 0.834745 0.0313266 0.549745 \n49.1063 35.8596 2.44893 -0.996107 0.0713235 0.051801 \n-47.9483 36.2238 1.34158 0.586006 -0.0891128 0.805391 \n-48.9506 37.8874 1.72059 0.377476 -0.161192 0.911882 \n-53.14 36.9789 2.2335 0.119541 -0.400883 0.908296 \n-26.1107 -5.99935 -15.595 0.432325 0.782104 0.448785 \n48.3808 38.962 2.50457 -0.945213 0.31489 0.086122 \n-25.1217 -21.1591 -23.1452 0.345364 -0.259988 0.901737 \n12.6528 30.8796 -36.8428 0.114981 -0.212869 0.970292 \n-50.7915 37.8712 2.30101 0.0954942 -0.379634 0.920195 \n-53.9552 39.0653 1.89386 0.409985 -0.142029 0.900966 \n-24.2025 -6.03865 -16.0437 0.419457 0.768167 0.48371 \n-25.2461 -5.55715 -15.1432 0.137265 0.896513 0.421216 \n19.7429 39.9548 -32.8753 -0.747442 0.151818 0.646747 \n-16.0091 -21.6554 -23.616 -0.296424 -0.240702 0.924227 \n-37.7392 40.5012 2.4853 -0.22038 0.971339 -0.0890691 \n12.8878 -24.1085 -16.7115 0.67287 -0.70607 0.220708 \n-49.3158 40.2084 1.61386 -0.130634 0.0674036 0.989137 \n-55.2891 43.2396 2.27812 0.436251 -0.00264431 0.899821 \n46.0527 41.2132 1.89902 -0.316898 0.57552 0.753891 \n-47.6432 41.3237 2.15842 0.196871 0.360092 0.911908 \n-48.3077 40.5861 1.55973 -0.0867486 0.300792 0.949736 \n-16.9414 39.8577 -33.4986 0.648902 0.0972588 0.75463 \n22.2675 55.8023 -9.64215 -0.578431 0.73608 -0.351574 \n17.3885 -21.7562 -22.947 0.441935 -0.318056 0.838769 \n-49.3204 41.5102 1.96983 -0.306098 0.400837 0.863501 \n30.5033 -21.5481 -22.5191 -0.410977 -0.357732 0.838526 \n13.4195 3.87435 -28.7542 -0.630851 -0.134323 0.764188 \n-41.2132 41.7957 1.39566 -0.362145 0.901339 0.237569 \n-44.2091 41.7551 1.75467 -0.23794 0.67676 0.696692 \n16.3674 -20.353 -22.6956 0.387064 -0.315829 0.866276 \n43.1576 42.2461 1.85188 -0.297097 0.673537 0.676817 \n-27.5632 41.4566 2.77723 0.411981 0.675776 -0.611227 \n-16.0697 42.979 -33.5663 0.614355 0.166727 0.771213 \n-26.3451 -20.4454 -22.5305 0.619376 -0.101211 0.778544 \n-52.0108 43.4373 1.89017 -0.0505713 0.487405 0.87171 \n-28.4553 -52.049 -26.3554 0.649519 0.0350241 0.759538 \n-54.4337 43.9188 2.14435 0.171213 0.362566 0.916096 \n35.1833 44.6572 1.90547 -0.0551772 0.998443 -0.0081377 \n-0.579535 -27.0506 -42.0412 0.747157 -0.635801 0.193684 \n29.1234 44.5509 2.28585 -0.15948 0.982769 -0.0934384 \n25.8431 -1.03095 -14.1067 -0.756618 0.652602 -0.0404922 \n26.2055 47.5449 1.54549 -0.721372 0.62677 -0.294588 \n-16.305 -51.1279 -26.4582 -0.636235 0.183028 0.74947 \n-20.4955 51.0387 2.13271 0.839225 0.0832818 -0.537369 \n-31.1877 -75.2476 -18.5894 -0.0393434 -0.999224 -0.00189279 \n21.5224 53.6624 2.04471 -0.481324 0.81552 -0.321333 \n-19.3423 53.6791 1.44017 0.612358 0.72022 0.326039 \n20.7759 56.4323 -9.54709 -0.677316 0.669093 -0.305872 \n-18.5298 54.5161 1.8692 0.582779 0.765638 0.272335 \n-16.5364 55.6413 2.04519 0.591316 0.737565 0.326104 \n-14.6274 57.8549 1.81501 0.575645 0.817205 -0.0284403 \n17.156 58.5791 2.29806 -0.686672 0.683068 -0.248794 \n-13.7692 58.6396 2.09135 0.932318 0.318514 -0.171266 \n-13.8652 60.1598 1.44429 0.888654 0.353353 -0.292294 \n17.4424 9.54085 -24.6478 -0.84152 0.113291 0.528213 \n22.4039 1.87215 -15.0204 -0.712373 0.687008 0.143336 \n-3.99667 66.7189 1.7683 0.360423 0.912957 -0.191324 \n14.4184 -17.6186 -23.828 0.403121 -0.453734 0.794744 \n49.9179 -74.5882 0.964951 -0.482483 -0.782535 0.393508 \n39.7108 -75.1663 0.585314 -0.0836118 -0.994045 -0.0698782 \n38.491 -74.9415 1.2295 0.236117 -0.950018 -0.20424 \n-33.8796 -74.9563 1.30638 -0.570311 -0.703958 -0.423307 \n-11.7729 -17.6815 -22.9767 -0.271993 -0.559538 0.782902 \n37.6734 -74.4845 1.7184 0.490699 -0.811232 -0.31799 \n13.3427 30.2453 -36.8623 -0.156821 -0.207298 0.965626 \n6.08452 -29.465 -53.4169 -0.40054 -0.383447 -0.832188 \n44.7158 -73.5403 0.953245 0.654253 -0.534346 -0.535189 \n20.874 6.68335 -15.4387 -0.99042 0.114307 0.0774679 \n-18.0865 6.78885 -14.7031 0.940403 -0.155757 0.302295 \n-28.2201 -73.4666 1.46236 0.861021 -0.440899 0.253478 \n-24.5685 -72.9443 2.04611 -0.801836 -0.243778 -0.545556 \n-33.6057 -71.7736 1.30573 -0.345809 0.538029 -0.768727 \n20.4826 9.03045 -15.466 -0.989844 0.112553 0.0868337 \n-35.5131 -71.8716 1.55549 0.17458 0.739143 -0.650531 \n4.60173 -14.5777 -18.6276 0.131741 -0.990251 -0.0452381 \n36.1692 -71.3854 1.50227 0.568921 0.117844 -0.813905 \n-18.7331 10.9938 -14.8822 0.989099 0.119086 0.0866182 \n20.8158 11.0655 -15.8589 -0.925815 0.377127 -0.0253461 \n49.224 -69.8027 1.28126 -0.631729 0.774531 0.0319411 \n-13.0993 6.48115 -27.8254 0.74109 0.0484474 0.669655 \n38.7663 -69.0448 1.36224 -0.297771 0.900862 -0.315881 \n38.6283 -69.3652 2.03867 0.083258 0.92244 -0.377058 \n46.5653 -68.7608 0.916096 0.193624 0.796382 -0.572961 \n40.1455 -74.2841 -17.9629 -0.66015 -0.237519 0.712592 \n30.5812 -16.4794 -23.6347 -0.562066 -0.206905 0.800795 \n-29.5923 -37.9874 1.37007 -0.0641052 -0.335152 -0.939981 \n-28.8617 -35.0409 1.76044 -0.241242 0.111809 -0.964003 \n-31.6616 -36.4044 1.34139 0.455715 -0.174439 -0.872866 \n20.0905 13.2681 -14.524 -0.949382 -0.300063 0.0929286 \n-30.5711 -35.6912 1.79508 0.128193 0.011869 -0.991678 \n-13.3791 48.1433 -33.1897 0.352122 0.614108 0.706315 \n39.5505 -34.8437 1.73485 -0.347665 -0.535133 -0.76991 \n15.9169 49.5948 -32.4528 -0.473392 0.562622 0.677759 \n-18.7767 14.2269 -15.2487 0.893731 -0.442308 0.0748875 \n-30.9076 -32.9584 1.08626 0.100839 0.338584 -0.935517 \n-25.9902 -32.6399 1.43146 0.0362064 -0.27593 -0.960496 \n33.5565 -32.077 1.40127 0.284595 -0.258976 -0.923005 \n-25.768 -31.4157 1.52222 -0.00154795 -0.40888 -0.912587 \n40.8974 -47.9218 -18.0475 -0.89643 -0.0212917 0.442674 \n-27.2402 -31.6938 1.29397 0.172789 -0.303606 -0.936999 \n41.4939 -31.5967 1.45948 -0.780499 -0.0189396 -0.62487 \n-23.7085 -30.9335 1.65731 -0.180093 -0.408288 -0.894912 \n31.9531 -29.4277 1.75628 0.0910288 -0.269829 -0.958596 \n-13.0661 48.5833 -33.2138 0.559432 0.0624401 0.826521 \n-1.96994 -16.4104 -23.8568 0.3921 -0.816277 -0.424203 \n39.5606 -74.6979 -17.9021 -0.235058 -0.920303 0.312714 \n-30.2129 -28.4558 1.21085 0.557497 -0.205883 -0.804245 \n-12.2386 49.5049 -33.9738 0.556937 -0.00633583 0.830531 \n28.6761 -27.9762 1.88949 0.272557 -0.192382 -0.94271 \n27.9988 -27.0326 1.70745 0.233595 -0.279956 -0.931159 \n26.3678 -26.1903 1.70574 0.283906 -0.282548 -0.916277 \n-20.4202 -27.6934 1.5937 -0.333367 -0.318165 -0.88749 \n36.2098 -26.8577 1.76455 0.0749021 0.438374 -0.895666 \n34.974 -26.8583 1.75161 -0.30554 -0.0687518 -0.949694 \n-29.7379 -27.0692 1.65089 0.505175 0.123087 -0.854194 \n25.5725 -24.9475 1.52198 0.270485 -0.182628 -0.945243 \n-14.4707 50.59 -32.0533 0.560067 0.347886 0.751865 \n13.7525 64.5071 -8.45286 -0.615091 0.775087 -0.144579 \n-18.0618 -22.3657 1.66868 -0.335262 -0.0571691 -0.940389 \n13.5196 50.979 -32.9219 -0.603515 0.0745785 0.793857 \n-24.2525 25.1117 -14.8256 0.868762 -0.389708 0.305581 \n-4.33158 -15.2227 -22.6597 0.0840932 -0.936693 0.339903 \n36.4262 -22.6682 1.43745 -0.595267 0.129015 -0.793103 \n-17.784 -20.3547 1.37298 -0.319952 -0.0549636 -0.945838 \n9.84856 -13.7998 -23.4319 0.478486 -0.617463 0.624332 \n23.556 -21.6213 1.81554 0.27258 -0.166698 -0.947582 \n34.5742 -19.641 1.56622 -0.386798 0.29388 -0.874083 \n-27.6191 -19.5318 1.18118 0.44693 0.292784 -0.845299 \n-25.9018 26.4067 -14.5464 0.640154 -0.575273 0.509179 \n-33.2133 -47.805 -17.8959 0.993459 -0.0840091 -0.0773452 \n22.1 -20.0486 1.45717 0.388391 -0.0289909 -0.921039 \n21.4559 -19.2091 1.12857 0.309241 -0.116729 -0.943793 \n28.0016 27.0994 -15.0772 -0.903731 -0.233999 0.358489 \n-16.3426 -17.7358 1.16854 -0.330953 0.0422597 -0.9427 \n-19.5294 -18.1812 1.98695 -0.144642 0.0453209 -0.988446 \n22.7899 -18.0489 1.53478 0.207606 0.102343 -0.972844 \n32.4618 -17.7484 1.56944 -0.269724 0.362146 -0.892244 \n-25.7677 -17.7031 1.36819 0.411748 0.315166 -0.855063 \n23.9333 -17.194 1.47117 0.166572 0.0912416 -0.981799 \n21.3135 -16.8026 1.36061 0.265452 0.0827394 -0.960567 \n-12.2 -47.9779 -17.968 -0.956957 0.170809 0.234642 \n9.09996 -13.8635 -22.5773 0.479754 -0.610322 0.630352 \n13.3696 51.9756 -32.8491 -0.52235 0.346371 0.779216 \n0.999739 -23.1874 -49.7792 0.588663 0.721732 0.364114 \n31.9366 -16.564 1.48538 -0.253491 0.327969 -0.910043 \n26.3144 -15.5742 1.41552 0.00321651 0.253622 -0.967298 \n24.8715 -16.4179 1.74398 0.0704798 0.0513584 -0.99619 \n22.7764 -16.2874 1.39241 0.188051 -0.000670645 -0.982159 \n31.3896 -13.3853 -23.0505 -0.546896 0.0756425 0.833777 \n-19.8008 -15.8023 1.38419 -0.101246 0.294383 -0.95031 \n-28.8046 29.0709 -14.2223 0.327547 -0.419254 0.846722 \n-4.72889 43.6162 -38.4145 0.118117 0.159325 0.980135 \n27.3239 -14.6651 1.28804 -0.0718062 0.26378 -0.961906 \n25.2896 -14.5349 1.4773 -0.024658 0.174835 -0.984289 \n-30.893 30.2628 -14.6127 0.264462 -0.32723 0.907182 \n26.3748 -13.7106 1.45011 -0.150532 0.230676 -0.961316 \n-28.8843 30.5805 -14.9454 0.22376 -0.352665 0.908603 \n2.65294 -13.4262 1.33407 -0.00840189 -0.52731 -0.849631 \n0.88933 -13.4518 1.0291 0.273571 -0.446579 -0.851895 \n-12.324 31.3926 -35.7166 0.515568 -0.269336 0.813417 \n1.3264 -11.4909 1.73061 0.18459 -0.600961 -0.777671 \n-17.0834 -49.6909 -26.2898 -0.590824 0.311965 0.744047 \n4.28037 -11.3956 1.38775 -0.370152 -0.423495 -0.826825 \n-0.676706 -11.8347 0.717653 0.395668 -0.584192 -0.708637 \n-14.2944 -66.8211 -20.265 -0.895036 0.22529 -0.384909 \n-2.51958 -9.74595 1.48861 0.825459 -0.324926 -0.461563 \n-32.0657 31.4617 -14.2388 0.397053 -0.164341 0.902962 \n13.7019 10.3017 -28.3288 -0.601704 0.0631445 0.796219 \n-4.83955 -5.60985 1.47361 0.263917 -0.219387 -0.939264 \n-6.73378 -4.90645 1.38963 0.145594 -0.225582 -0.963284 \n-23.2076 -11.0216 -23.444 0.189346 0.474883 0.859438 \n-24.2709 -10.3922 -22.5614 0.412378 0.54735 0.728253 \n-5.44302 -4.16155 1.49211 0.15679 -0.19271 -0.968648 \n-33.4506 -46.7024 -18.0465 0.998356 -0.0201101 0.05367 \n30.2042 -10.175 -22.5495 -0.572856 0.272508 0.77303 \n-7.38972 -3.07905 1.53621 0.183724 -0.114467 -0.97629 \n11.016 -1.80905 1.13444 -0.213509 -0.15707 -0.964232 \n-9.39379 -0.918451 1.11934 0.350944 0.0602439 -0.934457 \n12.0154 0.851349 1.50443 -0.346045 -0.120443 -0.930455 \n-31.9271 33.7916 -14.3694 0.406457 -0.0109832 0.913604 \n-8.251 1.07465 1.34943 0.382844 0.0608769 -0.921805 \n-19.031 -10.1945 -23.1512 0.448654 0.285654 0.846824 \n29.6675 -9.20145 -22.8414 -0.523642 0.339503 0.781369 \n-8.28479 4.42415 0.898322 0.600224 -0.177997 -0.779774 \n10.9043 5.60725 1.91046 -0.609595 -0.0967306 -0.786789 \n-7.94158 5.71335 1.72913 0.637153 -0.264347 -0.723986 \n-15.6682 10.9825 -25.2106 0.837796 -0.152018 0.524393 \n-0.266534 68.2771 -7.73793 -0.312716 0.949256 0.033492 \n29.4322 35.6449 -15.2389 -0.983126 -0.177337 -0.0448967 \n27.6576 -9.01515 -23.7522 -0.234904 0.541267 0.807373 \n-7.58809 55.8571 -32.806 0.563648 0.236208 0.791522 \n-31.135 36.7395 -14.5942 0.328699 0.2373 0.914137 \n7.33717 44.5726 -38.1105 -0.20584 0.18504 0.960932 \n16.8275 13.5436 2.08721 -0.709243 -0.635888 -0.304336 \n17.9454 13.7013 0.664432 -0.329227 -0.869204 -0.36891 \n-17.3556 14.3531 1.59664 0.764272 -0.625995 -0.154979 \n20.6232 15.0445 1.84185 -0.832088 -0.412101 -0.371216 \n40.9273 -45.6969 -18.1503 -0.896821 0.0399574 0.440585 \n24.6241 -6.98905 -23.3866 -0.376708 0.47924 0.79273 \n-19.3125 16.9279 0.822856 0.745239 -0.651605 -0.141529 \n-29.5296 37.1821 -14.7185 0.304116 0.339344 0.890146 \n21.9576 17.4135 1.63202 -0.638726 -0.592388 -0.491025 \n-19.3411 17.3189 1.62107 0.938754 -0.295035 -0.17803 \n-19.7185 18.6084 1.29861 0.78867 -0.592704 -0.163405 \n24.7509 22.021 0.0340411 -0.835328 -0.474586 -0.277482 \n7.69753 56.5453 -33.2627 -0.323852 0.468627 0.821893 \n-1.47941 -18.43 -37.5725 0.598114 0.642121 0.479521 \n-17.8329 -48.6821 -26.5459 -0.471603 0.319594 0.821858 \n-30.7653 23.6323 1.66319 -0.176199 -0.928208 -0.327696 \n-36.0112 23.5298 1.01033 0.202628 -0.977499 -0.0586385 \n-37.8039 24.0214 0.901615 0.183755 -0.979284 -0.085073 \n34.5554 24.2619 2.6251 0.00473535 -0.992585 -0.121464 \n33.0603 24.4081 1.61205 0.0250281 -0.98932 -0.143596 \n26.8701 24.8213 1.52232 -0.504873 -0.811647 -0.293823 \n-41.0637 24.2587 2.04082 0.222009 -0.964687 -0.141743 \n40.3596 26.6976 1.61018 -0.446365 -0.894633 0.0197606 \n47.3861 33.34 1.39353 -0.512017 -0.303905 0.803418 \n29.9419 42.9122 -14.3489 -0.81177 0.522098 0.261617 \n-33.1698 -45.2625 -18.4502 0.985774 0.0210371 0.166755 \n48.5994 33.9847 1.63254 -0.491613 -0.169293 0.854199 \n48.6045 35.5333 1.62032 -0.60761 -0.0193578 0.793999 \n48.5262 37.8516 1.66093 -0.74904 0.244355 0.615817 \n-48.0433 38.8534 1.42877 0.126019 0.0968454 0.987289 \n-49.5155 39.1514 1.53335 0.099194 -0.166476 0.981043 \n47.5202 39.6991 1.69518 -0.518672 0.296995 0.801732 \n-47.2481 39.8764 1.67883 0.257502 0.265586 0.929062 \n-14.4076 11.3137 -27.1319 0.728662 -0.312315 0.609518 \n49.5139 -74.736 -8.73901 -0.208226 -0.971364 -0.114431 \n-0.0441688 43.5855 -38.4072 -0.230548 0.244193 0.941922 \n46.3741 39.954 1.3393 -0.430432 0.348598 0.832591 \n-51.1456 39.6403 1.41834 -0.0243972 -0.232406 0.972313 \n-52.974 38.8618 1.66536 0.145613 -0.0936565 0.984899 \n-43.8186 41.5135 1.27511 0.460545 0.84327 0.277118 \n-46.5709 41.8477 1.79167 0.288884 0.342093 0.894158 \n-50.4058 41.2329 1.27828 -0.118845 0.0304711 0.992445 \n-51.3694 41.9633 1.30599 0.0916726 0.0838199 0.992255 \n28.9026 46.9641 -15.1856 -0.934295 0.328204 0.139192 \n-45.5847 42.7022 2.12507 -0.00973855 0.571199 0.820754 \n-50.6109 42.5044 1.59408 -0.347513 0.509833 0.78696 \n-53.6703 42.766 1.69922 0.205551 0.0694992 0.976176 \n15.686 12.1327 -28.458 -0.649118 -0.359525 0.670364 \n-33.1595 42.0082 1.08378 0.101855 0.939555 -0.326897 \n-4.10187 57.026 -33.3186 0.208561 0.605391 0.768118 \n-24.6556 49.8285 -14.6329 0.863425 0.441219 -0.244586 \n-26.305 42.8682 2.5509 0.467526 0.710869 -0.525438 \n-19.7266 -74.9025 -8.15532 -0.333218 -0.93705 -0.10442 \n38.0116 44.6733 1.99669 -0.204221 0.978569 0.0264034 \n-15.7743 -74.5439 -17.847 -0.522986 -0.817552 -0.241028 \n-20.7101 47.4062 1.84789 0.488428 0.839781 -0.237079 \n-23.8132 51.407 -14.8692 0.863282 0.472676 -0.176978 \n-19.8475 48.1917 1.21541 0.57899 0.395187 -0.713161 \n25.4308 51.5324 -14.5818 -0.676086 0.729451 0.103965 \n25.0357 49.1938 1.9901 -0.639726 -0.128303 -0.757819 \n-18.5663 -46.59 -26.1268 -0.345303 0.328263 0.879209 \n25.1033 52.2717 1.1332 -0.563145 0.806203 0.181397 \n-19.4534 53.5158 2.11532 0.808309 0.54225 -0.229349 \n23.5795 52.7868 0.601516 -0.603501 0.787122 0.127382 \n2.31969 58.271 -32.8409 -0.0222464 0.694408 0.719238 \n20.5924 54.3273 1.65252 -0.460747 0.837114 -0.294875 \n19.8969 54.8911 1.51896 -0.758748 0.646353 0.0808101 \n-22.7675 53.242 -14.6441 0.861344 0.465479 -0.203511 \n1.6822 59.1607 -31.8632 -0.0582133 0.687784 0.723577 \n19.4438 55.6501 1.44831 -0.884018 0.461748 0.0728117 \n-16.3139 55.8117 1.62781 0.822768 0.518375 -0.23311 \n-15.6215 57.136 1.68049 0.756243 0.610192 -0.236139 \n-2.30959 57.0366 -33.7902 0.140746 0.609416 0.780258 \n-15.1036 1.24895 -22.9439 0.742691 -0.276497 0.609884 \n19.0432 56.809 1.54754 -0.789607 0.608907 -0.0758534 \n-11.1797 32.1535 -36.4896 0.32251 -0.244166 0.914533 \n-11.7045 62.3724 1.74819 0.524005 0.841832 -0.129378 \n-20.5638 56.182 -15.1472 0.753485 0.654434 -0.0630557 \n-34.8223 -74.9112 -8.69289 -0.232156 -0.823093 -0.518288 \n-9.5595 64.5536 1.37225 0.695883 0.711838 -0.095046 \n10.8343 64.875 2.5161 -0.401153 0.904853 -0.14254 \n10.1828 65.6077 2.43301 -0.832322 0.535341 -0.143703 \n18.7597 2.12995 -23.0765 -0.41131 0.428401 0.804548 \n-2.87902 67.6387 1.94229 0.538739 0.806331 -0.244112 \n7.72768 67.5807 0.356443 -0.277875 0.959426 -0.0478343 \n3.87641 67.4484 1.34571 -0.0875237 0.983658 -0.157343 \n47.2324 -74.849 -8.48402 0.108393 -0.992332 -0.0593971 \n-0.404495 68.1526 2.35713 0.105525 0.980681 -0.164711 \n-34.339 -75.2943 0.453917 -0.240139 -0.967649 -0.0773867 \n24.106 -45.5671 -18.9941 0.707031 0.0934937 0.700975 \n-0.619147 58.6023 -32.6449 0.055615 0.681961 0.729271 \n-32.8123 -73.9142 1.11607 -0.666238 -0.330925 -0.668293 \n35.8397 -74.4146 -9.33112 -0.0878019 -0.994664 0.0541638 \n-13.4168 -44.6049 -18.0476 -0.930728 0.275228 0.240822 \n-28.4543 -46.8839 -26.2857 0.47022 0.288704 0.833992 \n42.2346 -73.1932 0.820792 -0.979108 -0.113836 -0.168489 \n36.2192 -73.5995 0.956628 0.591228 -0.555054 -0.585119 \n-26.6467 -73.9293 0.726878 0.0537968 -0.998494 0.0107498 \n5.57616 -25.1965 -43.4388 -0.756457 -0.653919 0.0127623 \n35.7303 -72.4295 1.23692 0.403742 -0.202371 -0.89221 \n-23.5693 -72.4242 0.689482 -0.863831 0.0515707 -0.501135 \n-33.1721 -72.9982 1.51259 -0.574296 0.137903 -0.806949 \n20.2769 57.8573 -15.1554 -0.574986 0.775366 -0.26115 \n50.1031 -70.8869 1.42003 -0.863132 0.387319 0.324016 \n40.7732 -70.4734 -0.25773 -0.699628 0.671425 -0.244354 \n34.7567 -71.2563 1.04249 0.576913 0.00887099 -0.816757 \n18.2409 5.29885 -23.8969 -0.849105 -0.0598085 0.524827 \n-16.0252 5.95675 -23.3746 0.897009 0.136568 0.420385 \n18.6465 6.35775 -23.6273 -0.870385 -0.10623 0.480776 \n21.4073 49.2194 -27.5649 -0.699945 0.467353 0.540053 \n40.7971 -70.6987 1.56944 -0.706747 0.704488 0.0648476 \n19.6987 58.3521 -14.8128 -0.717289 0.580179 -0.385861 \n-26.353 -69.8013 0.644539 0.344259 0.910823 -0.22779 \n36.5518 -70.264 1.38702 0.276491 0.328104 -0.903272 \n-24.9538 -70.2967 1.49003 -0.516802 0.679481 -0.520789 \n-17.166 58.9684 -14.9241 0.758267 0.651452 0.0253233 \n39.5719 -69.6522 0.646879 -0.694647 0.678918 -0.237771 \n35.2481 -69.8496 1.18555 0.494176 0.298767 -0.816412 \n-19.6213 -46.695 -26.3397 -0.225562 0.368531 0.901835 \n38.6194 -68.5915 0.816803 -0.246583 0.673385 -0.696957 \n17.4004 60.4316 -15.3252 -0.5446 0.824491 -0.153702 \n-17.7911 -74.7654 -15.4501 0.106188 -0.991463 0.0756629 \n-39.5275 -74.4961 -9.00467 0.838165 -0.106173 0.534983 \n50.0718 -74.2782 -9.52903 -0.680939 -0.57315 0.455874 \n-28.2744 -37.0733 1.14817 -0.402168 -0.222882 -0.888023 \n38.1788 -35.3978 1.60265 0.082086 -0.622882 -0.777997 \n45.8173 -74.294 -10.097 0.213145 -0.962794 -0.166125 \n-0.727955 -23.499 -33.0573 0.441985 -0.647659 -0.620634 \n35.9855 -34.5513 1.37494 0.268188 -0.588944 -0.762378 \n44.6292 -74.1843 -9.9878 -0.00941889 -0.998101 -0.060872 \n33.4706 -33.6948 0.985719 0.355843 -0.126106 -0.925998 \n-26.9659 -45.922 -26.5328 0.349071 0.297085 0.888758 \n-28.2213 -33.8461 0.869574 -0.235726 0.152635 -0.959758 \n-31.4652 -34.8699 1.33814 0.443442 0.162477 -0.881454 \n-32.4361 -34.2108 0.574409 0.618552 0.161163 -0.769038 \n-23.8976 -33.4342 0.990203 -0.139296 -0.360885 -0.922149 \n-20.8009 -45.9901 -26.6225 -0.190713 0.297061 0.935619 \n41.915 -74.2076 -8.07651 -0.00345552 -0.999992 0.00178911 \n-27.6702 -32.5484 0.804454 0.175037 -0.279741 -0.943985 \n-1.55364 -22.6814 -33.1169 0.725296 -0.651473 -0.22255 \n-31.7334 -32.5158 0.607242 0.64482 0.469457 -0.603173 \n-12.5188 33.9834 -36.4277 0.518309 0.0203143 0.854952 \n-12.4881 63.7348 -14.7602 0.278914 0.896107 0.345252 \n4.29133 -22.1526 -33.153 -0.618304 -0.780618 -0.0912971 \n-28.1924 -30.7906 1.62462 0.269084 -0.428693 -0.862448 \n-10.711 64.2313 -13.9948 0.404155 0.880834 0.246556 \n-18.3892 -73.928 -9.79569 -0.944023 -0.248043 -0.217475 \n-21.7631 -30.7401 1.21115 -0.354073 -0.270115 -0.89536 \n-29.1964 -30.238 1.33585 0.571998 -0.332098 -0.750019 \n-2.74515 -21.4283 -33.4186 0.846744 -0.527512 -0.0689628 \n13.6922 65.0127 -14.23 -0.337929 0.82336 0.455941 \n-21.4778 -28.8063 1.37257 -0.343847 -0.226295 -0.91135 \n6.13796 -20.6981 -34.0698 -0.997602 -0.0427118 -0.054454 \n27.1316 -27.7141 1.10299 0.312506 -0.268924 -0.911054 \n12.7853 15.359 -29.4604 -0.580247 0.426823 0.69364 \n6.05573 -20.4917 -33.0718 -0.907662 -0.36779 -0.202189 \n12.7556 9.96725 -29.1714 -0.557944 0.149571 0.816289 \n40.3596 -27.5539 1.48528 -0.552196 0.455826 -0.69807 \n24.118 -43.0051 -18.4794 0.718072 0.215368 0.661808 \n25.4137 -26.8492 1.011 0.323912 -0.263664 -0.908605 \n-18.3573 -26.0436 0.879446 -0.471346 -0.205574 -0.857655 \n-29.6585 -25.7624 1.16582 0.505841 0.0101889 -0.862567 \n11.7007 65.1184 -14.8119 -0.469115 0.78667 0.401349 \n10.3295 66.7145 -14.7637 -0.495339 0.770433 0.401338 \n37.2071 -25.6375 1.06375 -0.141195 0.575 -0.805878 \n24.2535 -25.671 0.717651 0.350277 -0.255268 -0.901191 \n37.2841 -24.9968 0.78164 -0.646735 0.0692145 -0.759568 \n24.1609 -24.3548 1.4694 0.298907 -0.224127 -0.927589 \n-30.5306 -24.4721 1.10076 0.600621 0.0698692 -0.796475 \n36.8242 -24.1857 1.38946 -0.634438 -0.0278043 -0.772473 \n-18.4827 -24.135 1.29168 -0.390756 -0.146493 -0.908763 \n23.2766 -23.4647 1.14736 0.333514 -0.252133 -0.908404 \n-20.9028 17.8815 -22.6731 0.234349 -0.97045 0.0575098 \n-17.4049 -23.5163 0.981718 -0.327043 -0.24171 -0.913575 \n-21.2306 -44.8064 -26.0681 -0.224568 0.302506 0.926315 \n-7.43183 66.5941 -14.2452 0.34254 0.869473 0.355925 \n-30.3794 -22.402 0.611943 0.656326 0.32945 -0.678748 \n-16.5153 -22.4538 0.885543 -0.403366 -0.0489764 -0.913727 \n-27.8139 -21.3664 1.38497 0.424705 0.25255 -0.869393 \n20.9842 19.2547 -22.7102 -0.460337 -0.865622 0.196945 \n-16.4949 -20.6612 0.689386 -0.384139 -0.00395985 -0.923267 \n21.0324 -21.5988 0.804014 0.480415 -0.161197 -0.8621 \n-4.22716 67.1891 -15.1284 0.299373 0.771945 0.560783 \n-15.7158 -19.6088 0.673843 -0.309834 -0.12312 -0.942786 \n19.3141 -18.3764 0.568825 0.4254 7.85891e-005 -0.905006 \n-24.1949 -45.124 -26.501 0.0184886 0.327395 0.944707 \n-1.25113 68.0802 -14.7804 -0.146609 0.961699 0.231605 \n-21.1553 -74.1956 -18.3832 0.0373255 -0.999293 0.00451052 \n5.87924 -27.4422 -50.3245 -0.587025 -0.667654 -0.457864 \n24.3642 21.9938 -22.4189 -0.846825 0.250202 0.469347 \n4.43996 68.3186 -14.9037 -0.120679 0.947677 0.295543 \n-25.195 -16.6115 1.48232 0.333489 0.326904 -0.884261 \n-18.3347 -16.2914 1.47589 -0.203487 0.276439 -0.939241 \n-11.7499 15.3328 -28.0559 0.667846 0.0332057 0.743559 \n21.9026 -15.3385 1.00533 0.391324 0.229216 -0.891249 \n23.9233 24.2875 -23.8961 -0.809563 -0.36451 0.460153 \n25.3422 24.0061 -22.2375 -0.791726 -0.412954 0.450154 \n-13.2035 30.7887 -34.8032 0.476818 -0.226174 0.849406 \n-22.5847 -14.6466 1.21291 0.128617 0.418362 -0.899128 \n-38.9156 -71.0636 -8.56736 0.774698 0.552399 0.307729 \n-14.1695 -43.0786 -19.2379 -0.820184 0.414161 0.394674 \n50.2799 -71.0516 -9.57979 -0.83466 0.260504 0.485263 \n13.8253 34.4819 -37.2982 -0.323941 -0.0832705 0.942406 \n24.0213 -13.3626 1.02259 0.149752 0.353842 -0.923239 \n16.1195 14.7182 -26.064 -0.823141 0.039795 0.566441 \n3.62502 -12.6713 1.4301 -0.298756 -0.307627 -0.903388 \n-11.971 16.2885 -28.2744 0.635495 -0.628181 0.448926 \n20.9893 49.7673 -27.4472 -0.627195 0.713647 0.311984 \n5.84296 -10.6998 1.63291 -0.457252 -0.754937 -0.470097 \n-31.5099 -74.7864 -15.4249 -0.105319 -0.994433 0.00330351 \n-3.16027 -9.36155 0.312137 0.602903 -0.383067 -0.699834 \n6.91344 -8.68815 1.2604 -0.749619 -0.220868 -0.62393 \n-3.25652 -8.45405 0.498017 0.339592 -0.475203 -0.811702 \n43.2214 -74.8773 -15.2155 -0.229905 -0.861248 0.453207 \n-3.77113 -7.22855 1.3855 0.559465 -0.486514 -0.671047 \n8.29936 -6.84285 1.0149 -0.413417 -0.294267 -0.86168 \n-23.7663 28.0236 -22.4678 0.960612 -0.198245 0.194741 \n9.03116 -4.86325 1.37922 -0.269682 -0.114465 -0.956122 \n-9.37835 -3.00605 1.27021 0.225404 -0.105618 -0.968524 \n11.5152 -2.97825 1.06113 -0.192377 -0.139499 -0.971355 \n26.3067 -74.6564 -15.0135 0.656066 -0.602926 -0.453936 \n29.1448 -70.077 -9.09451 0.796834 -0.0638437 -0.600815 \n13.7077 -1.11095 0.887068 -0.342659 -0.184423 -0.92118 \n12.7597 -0.00145149 1.19199 -0.169527 -0.101277 -0.980308 \n-9.28791 0.64065 0.910042 0.624209 0.255255 -0.738382 \n29.5329 -74.2069 -10.0129 0.70652 -0.578578 -0.407526 \n-8.83971 1.68685 0.794208 0.642646 0.187934 -0.742756 \n12.8281 1.40705 1.00238 -0.675408 0.228066 -0.701292 \n-8.22525 2.69435 1.30984 0.673079 0.111458 -0.731123 \n-12.6991 16.5385 -27.3726 0.438136 -0.775972 0.453767 \n5.44906 -33.4611 -56.0597 -0.124999 -0.574216 -0.809105 \n12.0661 6.85115 1.3103 -0.606882 -0.192477 -0.771133 \n-24.9067 34.4989 -22.6531 0.979287 -0.187829 -0.0756176 \n-11.6679 7.49515 0.694555 0.686549 -0.376243 -0.622166 \n44.2348 -74.4308 -15.1711 -0.467032 -0.352097 0.811116 \n34.9868 -74.1947 -15.1151 -0.0339288 -0.999017 0.0285349 \n19.3034 13.573 0.746822 -0.108353 -0.921273 -0.373518 \n-25.1838 36.3815 -22.5436 0.981917 -0.15251 -0.112157 \n28.666 -68.689 -9.20165 0.748013 -0.0987192 -0.656301 \n-32.4213 -69.7022 -9.05331 0.640784 0.577646 -0.505688 \n-32.5563 23.07 1.37311 -0.0150608 -0.990363 -0.137672 \n-34.1986 23.517 1.5227 0.0365419 -0.996404 -0.076449 \n-27.923 24.2657 1.35252 -0.191527 -0.909348 -0.369328 \n35.2257 24.2889 1.06582 -0.263351 -0.964175 0.0318177 \n30.2334 24.7838 0.873101 0.203624 -0.977197 -0.0601911 \n-42.074 24.5187 0.802164 0.519459 -0.853459 -0.0420774 \n29.3272 24.8649 1.51053 0.208374 -0.971425 -0.113643 \n27.4025 25.0567 1.81076 -0.029507 -0.97252 -0.230944 \n45.2361 -72.4146 -14.913 -0.474311 -0.0489196 0.878997 \n4.36539 9.44465 -33.1263 -0.359276 -0.343591 0.867679 \n46.0484 30.6147 1.54829 -0.47353 -0.523111 0.708607 \n24.5899 -71.9718 -15.7823 0.813883 -0.0594853 -0.577976 \n44.1212 -72.7418 -15.6586 -0.495852 -0.0567368 0.866552 \n47.3549 34.4483 1.15522 -0.504078 -0.0799503 0.859949 \n47.4846 36.1284 1.02717 -0.476682 -0.0228447 0.878779 \n-47.1118 36.9053 0.626724 0.801235 0.188414 0.567912 \n48.2234 36.9285 1.2687 -0.579604 0.0560486 0.812969 \n47.1138 37.7479 1.03285 -0.438911 0.21096 0.873414 \n-47.0964 37.6259 0.84205 0.522718 0.261949 0.811263 \n-3.19532 9.34175 -33.2044 0.0220823 -0.105741 0.994148 \n-46.36 39.452 0.95134 0.378358 0.296962 0.876732 \n45.4663 39.8671 0.689649 -0.40003 0.305375 0.864131 \n45.1021 40.9625 1.13808 -0.327896 0.563466 0.758281 \n-22.3975 45.7981 -23.8212 0.739488 -0.00305094 0.673163 \n-44.966 41.0694 1.24434 0.189553 0.462267 0.866244 \n-38.5116 40.9098 1.0587 0.0191071 0.989408 -0.143898 \n-2.66677 45.2703 -38.2757 0.103818 0.324282 0.940246 \n-34.8305 41.2767 1.46188 0.225707 0.911431 -0.344019 \n-35.5342 41.6423 0.502547 0.196066 0.929349 -0.312838 \n-43.4915 41.309 -0.655894 0.277956 0.888769 0.364458 \n-16.1058 -70.7204 -15.9317 -0.852684 0.0447859 -0.520504 \n-42.3549 42.2654 1.46547 0.0895372 0.952077 0.292461 \n-28.2316 42.5789 0.583146 0.355596 0.832857 -0.424146 \n-29.9235 42.0919 1.6229 0.0623132 0.887803 -0.455985 \n24.6513 47.3872 -23.1887 -0.705359 0.515027 0.487048 \n38.2953 44.2716 -0.505515 -0.287543 0.924302 0.250968 \n33.7446 44.8488 0.922044 0.0670877 0.997738 0.00426223 \n-4.6572 10.3046 -33.1135 0.182028 -0.24795 0.951518 \n-27.1325 -32.095 -18.1167 0.651983 0.0728085 0.75473 \n26.0406 48.9488 1.21582 -0.787426 -0.0929425 -0.609363 \n-19.9002 49.3322 1.3127 0.505647 -0.317224 -0.802303 \n-12.4465 -28.0621 -10.1837 -0.868782 -0.494812 0.0194806 \n-20.475 52.2459 1.47615 0.908333 0.400168 -0.121646 \n22.7412 53.3839 1.38287 -0.455738 0.8529 -0.254685 \n-19.9837 52.8674 0.816522 0.64786 0.665655 0.37038 \n-4.35348 45.0993 -38.1643 0.115017 0.313594 0.942566 \n47.8933 -67.2217 -9.57226 -0.571315 0.820697 0.00748207 \n-18.1754 54.0376 0.811265 0.75538 0.611811 0.23471 \n19.3718 55.5285 0.664652 -0.68724 0.715123 0.127675 \n-17.1233 55.0692 1.215 0.709089 0.697561 -0.102959 \n17.6164 58.1064 0.463961 -0.770563 0.609198 0.187378 \n-16.4213 -69.4547 -15.282 -0.864644 0.0227152 -0.501872 \n-10.1817 63.0842 1.66909 0.738032 0.644678 -0.199246 \n-6.0191 10.7969 -32.9462 0.391276 -0.470529 0.790889 \n10.867 65.0071 -0.241347 -0.37974 0.924903 -0.0187541 \n4.98348 11.2765 -33.5929 -0.206563 -0.277428 0.938278 \n5.43739 67.9373 0.660665 0.0382182 0.994999 -0.092282 \n3.00558 68.1638 0.647969 -0.405082 0.903602 -0.139329 \n1.49506 68.191 2.53308 -0.0123734 0.97635 -0.215843 \n-2.00336 67.9824 1.99392 0.230588 0.959044 -0.164514 \n-36.0481 -75.472 0.795653 0.167933 -0.971744 0.165865 \n-21.1129 51.6177 -22.1396 0.748362 0.498582 0.437459 \n-30.1207 -67.4209 -19.2967 0.836694 0.378005 0.396301 \n21.8948 53.0466 -22.474 -0.482995 0.634655 0.603265 \n50.6079 -73.8938 1.13614 -0.875885 -0.158591 0.455713 \n45.6841 -74.0424 1.54351 0.526864 -0.739438 -0.4191 \n-20.8755 52.2141 -23.294 0.932512 0.306152 0.191555 \n21.5935 53.0929 -22.7973 -0.886338 0.390606 0.248661 \n-26.916 -44.3055 -26.314 0.281564 0.312528 0.90722 \n34.5564 -72.6467 0.73817 0.667341 -0.185878 -0.721183 \n-16.4054 -67.8071 -15.6351 -0.841846 0.11945 -0.526333 \n-24.6672 -43.9924 -26.3824 -0.0221657 0.266507 0.963578 \n44.0458 -72.723 0.690407 0.69067 -0.0297277 -0.722559 \n-28.3545 -72.7241 0.372662 0.930867 0.363348 0.0382832 \n3.68596 45.1741 -38.5673 -0.0867815 0.250348 0.964259 \n-36.4275 -72.7942 0.697089 0.946995 0.192132 0.257459 \n-4.87669 11.4956 -33.5041 -0.189898 -0.0569719 0.980149 \n7.43152 12.0069 -32.9541 -0.364829 -0.512847 0.777102 \n-35.6119 -71.3655 0.620529 0.770881 0.63592 -0.0367354 \n-24.9352 -69.699 0.510325 -0.114977 0.937691 -0.327896 \n-18.6607 56.4734 -22.2678 0.705423 0.615123 0.352139 \n34.9417 -69.2369 0.0451503 0.658982 0.436247 -0.612725 \n36.2235 -68.6316 0.93741 0.246659 0.602911 -0.758721 \n41.2729 -65.4492 -15.8076 -0.674296 0.495251 0.547769 \n34.0813 -40.861 0.750611 0.0566448 -0.208288 -0.976426 \n36.7418 -39.6059 0.956067 -0.275025 -0.290566 -0.916479 \n35.383 -40.2219 0.515379 -0.0829751 -0.166199 -0.982595 \n4.80699 -28.6739 -57.1287 -0.179541 0.403016 0.897409 \n-16.3154 58.076 -24.0345 0.639495 0.637802 0.429248 \n35.5053 -38.6812 0.500196 0.111691 0.166833 -0.979639 \n32.2714 -38.6912 0.950416 -0.0487375 0.131299 -0.990144 \n36.6628 -38.6664 0.898096 -0.322441 0.332867 -0.886133 \n31.5324 -38.5155 0.632891 0.658941 0.123286 -0.742023 \n-31.622 -38.6 0.556762 0.45388 -0.417018 -0.787458 \n-18.2099 -65.1242 -15.3424 -0.612288 0.608725 -0.504537 \n2.47715 -18.7234 -26.652 -0.344054 -0.900335 -0.266503 \n-29.0864 -65.5137 -15.7721 0.569085 0.816575 -0.0966833 \n-27.3048 -39.1458 -0.192026 -0.344589 -0.433687 -0.832571 \n16.5809 59.5716 -22.5488 -0.474773 0.707555 0.523408 \n1.02624 -24.3021 -51.698 0.793594 0.458954 0.399463 \n34.0531 -38.5198 0.511137 -0.0545038 0.0982982 -0.993663 \n-32.869 -37.2309 0.108156 0.717853 -0.201558 -0.666379 \n36.1624 -36.1522 0.596774 0.0376627 -0.370989 -0.927873 \n33.6392 -37.2729 0.157669 0.00916409 0.0861295 -0.996242 \n37.4941 -36.1217 0.76795 0.0971656 -0.574223 -0.812912 \n-24.8969 -65.6685 -9.57983 0.0524711 0.961428 -0.270006 \n-32.6869 -35.3976 0.526205 0.748944 0.0192988 -0.662352 \n34.5733 -34.3274 1.16113 0.161299 -0.368137 -0.915673 \n2.36339 -18.9528 -27.9399 -0.328462 -0.726054 -0.604117 \n-27.4916 -35.5167 0.773038 -0.398687 0.0188123 -0.916894 \n41.5724 -34.2422 0.392549 -0.714664 -0.415947 -0.562356 \n1.42227 -18.7712 -26.1415 -0.0367651 -0.850372 -0.524896 \n-13.9642 33.3661 -35.3871 0.52596 -0.267152 0.807463 \n-15.3759 58.9599 -23.2 0.0101567 0.78064 0.624898 \n15.0605 59.858 -22.9015 -0.781583 0.564102 0.266304 \n-26.207 -34.0061 0.582763 -0.0397937 -0.260292 -0.96471 \n18.8566 19.253 -28.9694 -0.233317 -0.954397 0.18625 \n17.4736 -27.0569 -9.89998 0.535541 -0.345448 -0.770624 \n-12.8557 61.021 -22.688 0.524867 0.845399 0.0990742 \n-23.4787 -32.0769 0.942301 -0.245515 -0.284574 -0.926682 \n-29.6136 -33.0003 0.94259 -0.10088 0.384501 -0.917596 \n-26.3329 -62.8526 -15.1251 0.596907 -0.266213 -0.756857 \n40.0648 -40.3875 -18.1705 -0.761009 0.329073 0.559085 \n40.215 -62.9605 -15.8486 -0.935622 0.179475 0.303976 \n-28.9256 -31.9451 0.675603 0.268934 -0.150478 -0.951331 \n-18.6612 -62.5164 -15.4086 -0.370162 -0.576643 -0.728329 \n30.827 -64.5715 -8.89092 0.34337 0.0406606 -0.93832 \n-29.8678 -31.614 0.42207 0.171411 0.278001 -0.945163 \n23.561 -61.9871 -14.3806 0.801829 -0.550228 -0.233066 \n30.1539 -30.1879 1.19581 0.277262 -0.408201 -0.869769 \n-30.1311 -30.923 0.237726 0.538148 -0.191319 -0.820849 \n42.2457 -30.4156 0.272576 -0.93347 0.103882 -0.343282 \n-6.4981 13.8115 -33.4851 0.354518 0.356123 0.864577 \n-20.9277 -30.8983 0.684997 -0.331951 -0.255075 -0.908155 \n-30.1628 -29.9049 0.507251 0.539693 -0.32432 -0.776883 \n27.1325 -30.2419 -0.100452 0.520208 -0.68363 -0.511892 \n22.927 -61.4108 -16.0466 0.937503 -0.27943 -0.207383 \n25.6857 -29.1639 0.227432 0.565178 -0.704589 -0.429102 \n25.1075 -28.3507 0.435539 0.387292 -0.453404 -0.802764 \n-18.3129 -28.6337 0.242357 -0.433877 -0.351302 -0.829661 \n-19.0534 -27.8305 0.734334 -0.387736 -0.299947 -0.871603 \n49.9081 -73.5984 -11.0004 -0.965347 -0.163124 0.203703 \n-31.2931 -26.7262 0.740901 0.653973 0.0788512 -0.752397 \n23.8601 -27.2377 0.47191 0.39735 -0.244628 -0.884461 \n38.8145 -25.4196 -0.19431 -0.564833 0.738908 -0.367394 \n-7.13425 63.9064 -23.4449 0.263344 0.657568 0.705871 \n35.0232 -74.2524 -17.6341 0.0503956 -0.997832 -0.0423392 \n10.1019 63.4928 -22.8957 -0.459571 0.622288 0.633681 \n3.05086 -18.0216 -26.223 -0.487754 -0.685443 -0.540614 \n22.0047 -24.2209 0.259339 0.399874 -0.301066 -0.865714 \n22.1311 -22.7899 1.03977 0.370116 -0.29641 -0.880429 \n-5.58028 13.6817 -33.4598 -0.521319 0.443967 0.72878 \n-29.0652 -59.8344 -14.9765 0.901259 -0.21683 -0.375123 \n39.6876 -60.138 -15.0871 -0.946111 -0.267592 0.182398 \n-1.10234 44.6833 -38.6374 -0.248123 0.430671 0.867731 \n-29.6135 -21.2407 0.45286 0.577582 0.290287 -0.762976 \n36.918 -20.456 0.482435 -0.610085 0.287621 -0.738289 \n39.973 -63.6866 -10.5587 -0.372288 0.863733 -0.339656 \n-14.569 -20.1214 0.437886 -0.332374 -0.113242 -0.936325 \n8.09639 14.6159 -32.932 -0.338464 0.361807 0.868642 \n-15.194 -18.0259 0.531356 -0.343903 0.0528862 -0.937515 \n21.5446 20.9681 -27.5329 -0.8009 0.175802 0.57241 \n22.7985 -59.5681 -15.8294 0.981881 -0.161796 0.0986472 \n24.591 -30.4003 -18.181 0.106061 -0.712592 0.693516 \n34.6349 -18.1534 1.26403 -0.45199 0.396088 -0.799262 \n-2.45377 65.5678 -22.9993 0.113933 0.895505 0.430221 \n5.06549 15.9823 -32.9899 0.100737 0.106673 0.989178 \n6.56652 16.1956 -32.7336 -0.267192 -0.0418102 0.962736 \n-15.8928 -16.319 0.555446 -0.318744 0.182095 -0.930185 \n-4.13285 65.361 -22.6786 0.149121 0.919308 0.364191 \n20.7344 -14.6968 0.202604 0.280753 0.146737 -0.948497 \n-17.813 -15.1071 0.85523 -0.154459 0.187387 -0.970066 \n0.844327 65.7479 -22.9247 -0.0123473 0.92345 0.383521 \n-19.5702 -14.5817 0.745476 -0.0940745 0.270657 -0.958068 \n-29.9695 -57.3313 -15.8518 0.887886 -0.327471 -0.323143 \n2.72789 16.8869 -33.4223 0.0579197 -0.353271 0.933726 \n-21.9043 -2.25405 -11.6161 0.936148 0.351572 -0.00487867 \n29.826 -14.4733 1.1233 -0.178681 0.440271 -0.879906 \n4.77561 -13.1496 0.707065 -0.635346 -0.274793 -0.721682 \n32.1532 -74.9438 -23.3465 0.00164345 -0.991188 -0.132449 \n-17.5625 -13.8387 0.734053 -0.109391 0.254116 -0.960967 \n-19.695 -12.9656 0.7834 -0.0774862 0.161366 -0.983848 \n22.9783 -14.5499 1.57153 0.202041 0.234979 -0.95077 \n21.8051 -13.5792 0.734798 0.320516 0.149935 -0.935302 \n-21.3988 -13.7444 0.714174 0.0502088 0.315378 -0.947637 \n20.9753 -12.5869 0.499338 0.184224 0.242192 -0.952578 \n-0.484709 -13.384 0.294051 0.72786 -0.464777 -0.504184 \n-30.845 -39.2007 -18.3151 0.660514 0.736812 0.144323 \n24.9159 -12.1534 0.967291 0.0449129 0.472625 -0.880119 \n0.871296 16.131 -32.9519 0.108877 -0.292043 0.950188 \n-30.2687 -56.5573 -15.0307 0.896585 -0.394242 -0.201766 \n-1.87185 -11.1231 1.14347 0.573036 -0.652537 -0.495808 \n27.9508 -61.9522 -8.67128 0.535972 -0.541605 -0.64761 \n-13.9428 -74.6912 -24.1656 0.0167955 -0.999854 -0.00327493 \n41.1647 -53.5737 -14.9054 -0.952175 -0.228664 -0.202669 \n4.07165 -17.095 -26.3311 -0.65617 -0.601745 -0.455351 \n-7.55751 -7.32815 0.529585 0.00822495 -0.163297 -0.986543 \n-9.48197 -8.10345 0.738697 0.0863142 -0.108509 -0.990341 \n-30.6528 -54.4286 -15.3647 0.941819 -0.200125 -0.270049 \n-10.2373 -6.92835 0.723014 0.0775533 -0.0511204 -0.995677 \n10.3819 -6.93695 0.62454 -0.307272 -0.357588 -0.881881 \n-30.8328 -53.2596 -15.0563 0.922208 -0.35498 -0.15337 \n-9.62536 -5.60685 0.613102 0.113874 -0.148732 -0.982299 \n24.3368 -74.3662 -17.2902 0.600334 -0.734533 -0.316322 \n13.4385 -4.35815 0.46176 -0.306746 -0.207624 -0.92887 \n9.53788 -5.73405 0.963952 -0.225701 -0.181101 -0.957216 \n-10.4903 -4.01755 0.718174 0.264606 -0.03697 -0.963648 \n12.8498 -3.05785 0.564107 -0.282096 -0.16288 -0.945459 \n4.955 18.6812 -33.7157 -0.166753 -0.300665 0.939039 \n-10.3932 -1.85695 0.8449 0.457676 0.0646108 -0.886768 \n-19.2201 17.7642 -25.2368 0.279361 -0.949648 0.141864 \n15.4903 35.1758 -36.5628 -0.411139 0.310686 0.856994 \n22.2896 -53.2329 -16.0611 0.933745 -0.0309675 0.356597 \n-9.02779 3.03505 0.181314 0.645999 0.0786315 -0.759277 \n1.57635 44.9311 -38.6426 0.134588 0.309606 0.941292 \n12.3201 3.62025 0.668542 -0.656968 0.0276865 -0.75341 \n26.8547 -39.3224 -18.755 0.528753 0.46962 0.70702 \n0.572919 17.5406 -33.4137 0.0905151 -0.362259 0.927672 \n2.56695 -27.4383 -39.9083 -0.15152 -0.919783 -0.361997 \n-2.93422 -16.4955 -26.1258 0.880909 -0.458358 -0.117932 \n-10.7115 6.39475 0.164482 0.545996 -0.412121 -0.729414 \n12.8952 7.38605 0.720895 -0.69868 -0.303779 -0.647738 \n-10.5479 7.07285 1.43377 0.51118 -0.666358 -0.542828 \n20.6105 22.0231 -28.044 -0.778753 0.26924 0.566616 \n13.6096 35.3487 -37.2765 -0.0941908 0.257401 0.961703 \n-2.58781 16.9667 -32.867 0.185843 -0.395313 0.89955 \n-12.1413 9.45155 0.960642 0.689279 -0.412254 -0.59577 \n18.4128 34.555 -34.9609 -0.528369 0.0745587 0.845735 \n14.8313 10.8225 -27.8307 -0.547226 -0.54409 0.636011 \n16.2275 33.153 -35.915 -0.453986 -0.0999145 0.885389 \n6.86519 19.4699 -33.6209 -0.17221 -0.302266 0.937539 \n16.9361 12.5721 0.396518 -0.755165 -0.548189 -0.359465 \n-10.5345 15.781 -28.9387 0.555082 -0.390485 0.734442 \n23.519 -72.7318 -23.6061 0.861043 0.159299 0.482937 \n35.0339 -71.5567 -23.2817 -0.585023 -0.0306982 0.810435 \n-20.9372 19.4123 0.67042 0.838071 -0.536068 -0.101338 \n23.9867 20.517 1.65193 -0.886488 -0.319576 -0.334679 \n-22.4921 22.5047 0.306337 0.857507 -0.483312 -0.176325 \n11.5845 18.719 -32.7883 -0.272979 -0.787232 0.552945 \n38.86 -59.0216 -9.57611 -0.718344 -0.274412 -0.639281 \n-23.8636 22.858 -0.394758 0.49286 -0.797123 -0.348832 \n-29.5368 23.3651 0.935748 -0.113942 -0.955006 -0.273827 \n22.2821 -49.2287 -15.6301 0.92413 0.0271144 0.381114 \n-11.8135 -48.8329 -14.7345 -0.995795 0.0176306 0.0898929 \n38.8256 -38.4095 -18.3474 -0.603661 0.510508 0.612351 \n5.56096 -16.0506 -27.4104 -0.913727 -0.325559 -0.243135 \n-25.4305 24.5389 1.28721 0.0312428 -0.909939 -0.413563 \n33.7593 24.4149 -0.121301 -0.107306 -0.992477 0.0589539 \n30.6362 24.4265 0.142782 0.348859 -0.923713 -0.158276 \n-3.35955 -15.9438 -26.7488 0.925587 -0.377633 -0.0260967 \n-40.9583 24.2791 0.374621 0.16796 -0.979283 0.113111 \n38.793 25.6166 1.69906 -0.44193 -0.896604 -0.0282904 \n43.4968 28.9191 0.973454 -0.666195 -0.673661 0.319944 \n-45.1553 28.2309 1.48687 0.671405 -0.658706 0.33959 \n8.75853 18.0007 -32.9877 -0.105321 -0.727021 0.67849 \n43.6776 29.3277 0.0412005 -0.647958 -0.676636 0.349734 \n44.5508 30.7181 -0.236473 -0.828758 -0.369364 0.420392 \n-46.0437 29.8053 0.895195 0.743068 -0.50711 0.43668 \n44.8388 30.3494 1.10624 -0.659675 -0.547468 0.514885 \n39.207 -57.8307 -9.07426 -0.779172 -0.222252 -0.586084 \n23.1592 -71.1457 -23.3236 0.884273 0.0852095 0.45913 \n46.3181 32.3708 0.920703 -0.502677 -0.372873 0.779925 \n46.4921 33.6658 0.410474 -0.58648 -0.16457 0.793069 \n16.7552 -28.1059 -10.5571 0.573692 -0.411192 -0.708378 \n-47.3596 34.2032 0.144745 0.829914 -0.162632 0.53366 \n46.1704 37.964 0.486859 -0.442725 0.262387 0.857408 \n20.9654 22.6921 -27.684 -0.740207 -0.382673 0.55286 \n-45.5512 39.2242 0.521411 0.513412 0.415693 0.750738 \n-33.0083 -73.9468 -17.6334 0.637965 0.143626 0.756553 \n23.1075 -55.0442 -9.17168 0.847593 -0.338829 -0.408389 \n43.8997 41.1122 0.97968 -0.442028 0.672431 0.593673 \n-29.6974 -61.2513 -19.1698 0.893158 -0.416636 -0.169362 \n18.3999 18.6546 -25.8128 -0.684415 -0.534565 0.495799 \n-27.6388 -70.4703 -23.5682 0.691558 -0.18979 0.696941 \n-26.5949 -56.7943 -10.9352 0.356619 -0.56178 -0.746475 \n-40.0831 41.5087 1.0038 -0.223444 0.965644 0.132681 \n-42.1922 41.4499 -0.215806 -0.029838 0.947073 0.31963 \n-16.8343 -38.9136 -17.9685 -0.692818 0.623642 0.362042 \n22.0563 -45.6568 -15.0365 0.94903 0.0279983 0.313939 \n42.5224 42.2169 1.0507 -0.526609 0.711121 0.465823 \n-31.1581 41.8277 1.63173 0.0425022 0.931509 -0.361226 \n-30.3882 42.5043 0.233636 0.106554 0.923085 -0.369542 \n41.6222 43.3242 1.34377 -0.388967 0.808089 0.442376 \n39.44 43.8568 -0.0236254 -0.492474 0.844094 0.212073 \n36.1428 44.7589 0.944202 -0.135169 0.989195 0.0567747 \n12.4717 20.1631 -33.7425 -0.27665 -0.561349 0.779969 \n28.3261 44.8238 0.747096 -0.743671 0.668544 -0.00110356 \n-33.1074 -43.8112 -15.7407 0.992262 0.0296631 -0.12057 \n-22.5508 46.4608 1.09847 0.624671 0.754081 -0.202848 \n-26.9819 -29.3181 -18.9626 0.533582 -0.367455 0.761753 \n-21.0767 47.7091 0.617018 0.598426 0.571616 -0.561374 \n26.1231 48.3631 0.937667 -0.769731 0.195843 -0.607585 \n-21.3939 48.154 0.357422 0.476393 -0.247496 -0.843679 \n-20.6779 49.8148 0.974965 0.530582 -0.188346 -0.826443 \n26.5185 49.9385 0.200583 -0.901982 0.272082 -0.335261 \n26.229 51.1106 0.924505 -0.823726 0.566274 -0.028442 \n22.0618 -44.215 -15.2023 0.94578 0.1095 0.305794 \n-30.0132 -38.3287 -18.2629 0.625887 0.747196 0.223526 \n40.5597 -73.4102 -17.3772 -0.601636 -0.0960471 0.792975 \n21.6576 54.5948 0.601388 -0.559298 0.822615 -0.102421 \n22.4934 -41.5057 -15.107 0.89326 0.256358 0.36928 \n-10.4792 19.5488 -32.967 0.325375 -0.442966 0.835412 \n-3.73106 -14.6104 -27.1091 0.958143 -0.178242 0.224036 \n-14.4731 58.085 0.729241 0.562584 0.82666 -0.011522 \n14.7933 61.3864 -1.08738 -0.85109 0.515576 0.0991318 \n-10.6603 62.7837 0.15972 0.471717 0.881742 0.00377709 \n-10.1498 63.2974 -0.435105 0.877553 0.470328 -0.0932316 \n11.7695 64.7141 1.93075 -0.638437 0.769162 -0.0280644 \n-14.4354 -41.0844 -14.8274 -0.904936 0.424584 0.0286053 \n-4.45745 18.6233 -33.1241 0.343845 -0.308335 0.886961 \n21.515 23.5613 -27.9842 -0.733265 -0.349699 0.583124 \n9.34957 66.9029 0.351264 -0.556361 0.830093 -0.0375209 \n26.9986 -66.8929 -23.9871 0.207388 0.599451 0.773077 \n-18.1432 -72.9315 -11.0423 -0.974227 -0.0807856 -0.210608 \n-9.88527 35.3727 -36.6218 0.287615 0.0540614 0.956219 \n-19.2069 -53.782 -8.97776 -0.0897136 -0.5189 -0.850115 \n36.3597 -74.3558 0.209784 0.336821 -0.815382 -0.470855 \n-31.6233 -73.9474 -0.346489 -0.626971 -0.553302 -0.54842 \n-7.73508 19.3301 -33.2401 -0.165794 -0.754358 0.635183 \n42.0849 -74.0014 -0.584626 -0.652528 -0.669831 -0.354309 \n28.634 -65.8755 -23.2932 0.147646 0.619637 0.770877 \n34.6278 -73.6451 0.198342 0.487889 -0.587609 -0.645508 \n-25.0132 -73.6727 1.49251 -0.379068 -0.885828 -0.267613 \n19.0655 19.1346 -25.7548 -0.305362 -0.933933 0.185803 \n41.0164 -39.0718 -15.7277 -0.877195 0.319534 0.358368 \n42.5734 -72.3825 0.221018 -0.474099 0.149209 -0.867736 \n43.653 -72.1275 0.409098 0.531768 0.218077 -0.81833 \n41.7896 -72.1792 1.07853 -0.821901 0.552239 -0.139682 \n27.0229 -30.0626 -18.4634 -0.222293 -0.749194 0.623934 \n-27.9844 -71.9964 1.29537 0.912002 0.362421 0.1921 \n-29.6374 -65.8724 -19.5218 0.810498 0.469004 0.350896 \n-27.4562 -54.9265 -9.74998 0.386385 -0.722402 -0.573447 \n34.3723 -70.4533 0.0995202 0.83069 0.156971 -0.534148 \n22.3414 -53.6755 -9.63563 0.806098 -0.445179 -0.389898 \n1.22046 -28.5137 -53.0114 0.804341 -0.592718 -0.0414884 \n47.9888 -68.9093 0.710953 -0.510482 0.858212 -0.0536748 \n26.0058 -36.559 -14.3546 0.689071 0.577117 0.438312 \n47.0742 -68.4714 0.351549 -0.229467 0.944099 -0.236691 \n39.0971 -68.0748 -0.235536 -0.542527 0.717356 -0.437108 \n8.89435 -12.917 -25.8503 -0.0627968 -0.927294 0.369028 \n37.2799 -67.9624 0.342679 -0.0228608 0.870274 -0.492037 \n35.2716 -41.8674 0.0188101 -0.0831826 -0.275205 -0.95778 \n38.8878 -35.3709 -15.1551 -0.558407 0.644686 0.522074 \n33.1614 -39.8839 0.393508 0.190743 -0.303587 -0.933516 \n-30.3608 -40.3652 0.152931 0.2359 -0.65114 -0.721366 \n0.858513 54.2047 -35.5726 -0.0183617 0.543299 0.839338 \n-29.024 -40.1357 0.11321 -0.282195 -0.559449 -0.779348 \n31.7801 -39.377 0.582844 0.430725 -0.495402 -0.754356 \n-18.1411 -53.5509 -9.19739 -0.418009 -0.525063 -0.741335 \n5.90854 -29.9852 -57.1222 -0.565658 0.220115 0.794721 \n36.5088 -37.2364 0.0766283 -0.0943852 -0.0436203 -0.99458 \n31.9692 -37.2188 0.159189 0.186496 0.387834 -0.902665 \n-25.9387 -37.4137 -0.0148922 -0.297855 -0.267136 -0.916472 \n13.2999 38.1992 -37.1284 -0.0566542 -0.137769 0.988843 \n38.8168 -36.5934 0.239513 -0.231586 -0.740553 -0.630833 \n34.8298 -37.1873 0.233784 0.00401472 -0.155731 -0.987791 \n33.2164 -35.4107 0.729294 0.189536 -0.22371 -0.956049 \n32.2208 -36.6015 0.134986 0.27483 -0.208465 -0.938622 \n-11.5154 37.3463 -36.9554 0.196612 -0.187185 0.962448 \n40.4064 -35.7186 0.424949 -0.541657 -0.619122 -0.568591 \n-16.1878 -33.8429 -15.2314 -0.919932 -0.111733 0.375821 \n-26.4984 -35.8416 0.448246 -0.24367 -0.12594 -0.961647 \n-5.32325 20.3298 -33.0949 -0.0583158 -0.530047 0.84596 \n14.0909 36.4477 -36.4486 -0.369365 0.0395109 0.928444 \n6.73803 -12.7487 -26.528 -0.81513 -0.435287 0.382215 \n-24.243 -34.7099 0.24881 -0.160136 -0.29142 -0.943096 \n31.9909 -59.2628 -23.3658 -0.0610117 0.0371836 0.997444 \n26.8403 -33.9751 -15.0135 0.606219 -0.0541604 0.793451 \n-22.7754 -33.9259 0.334472 -0.277081 -0.338236 -0.899346 \n-20.7868 -32.6265 0.0758701 -0.292392 -0.270019 -0.917386 \n-17.6941 -37.7719 -18.1779 -0.71548 0.479113 0.508467 \n42.3223 -32.9058 0.0114069 -0.907549 -0.158628 -0.388834 \n-15.7607 -52.1765 -9.3762 -0.61049 -0.479445 -0.630424 \n-19.8948 -31.4557 0.244222 -0.432637 -0.271186 -0.859816 \n2.22475 -22.8883 -50.8951 0.349219 0.852397 0.389185 \n-30.8633 -31.7306 0.261081 0.330852 0.517144 -0.789366 \n17.0604 -11.3614 -26.2312 -0.0796094 0.0382746 0.996091 \n-20.5537 25.8841 -27.7146 0.761823 -0.31546 0.565784 \n-30.2811 -59.3892 -22.9191 0.909309 -0.276229 0.311216 \n-10.8903 21.3861 -33.3506 0.325453 -0.459669 0.826308 \n27.1854 -29.5103 0.904721 0.323645 -0.431325 -0.842148 \n30.9453 -59.2753 -23.2803 -0.0437295 0.0568663 0.997424 \n-20.2642 -29.1535 0.615825 -0.397816 -0.290957 -0.870107 \n30.1407 -58.1244 -23.1634 -0.0323761 0.097748 0.994684 \n23.5854 -27.8644 -0.171335 0.620697 -0.733833 -0.276088 \n22.8083 -26.8514 -0.115687 0.523634 -0.450508 -0.723084 \n35.1973 -31.4864 -15.2914 -0.500019 0.0335624 0.865364 \n26.8037 -32.8876 -15.2967 0.14476 -0.548256 0.823687 \n24.2792 -32.3703 -15.4448 0.357512 -0.756233 0.547993 \n23.3766 -25.1141 0.70206 0.376072 -0.286855 -0.88107 \n-15.8974 -33.5042 -14.8564 -0.772837 -0.566944 0.285128 \n-30.8382 -25.5589 0.639345 0.619309 0.141212 -0.772344 \n-16.4764 -24.0953 0.709814 -0.422668 -0.271067 -0.864797 \n-31.6686 -24.1848 -0.335682 0.703541 0.142628 -0.696195 \n30.3224 -54.4734 -23.2134 0.0412424 0.0516565 0.997813 \n21.2323 -23.1226 0.382322 0.457903 -0.224266 -0.86025 \n37.7396 -23.6097 0.357644 -0.684309 0.120463 -0.719173 \n38.6463 -23.5153 -0.357545 -0.725517 0.108915 -0.679532 \n-30.5801 -54.0732 -23.5947 0.848661 -0.125905 0.513734 \n37.5908 -22.456 0.159324 -0.698011 0.133248 -0.703581 \n20.3524 -20.3248 0.446921 0.445983 -0.175356 -0.877696 \n-9.14593 36.7657 -37.075 0.594559 -0.125985 0.79412 \n-29.1926 -20.1671 0.685929 0.594871 0.255882 -0.762006 \n18.8342 -19.6549 0.165262 0.439643 -0.215847 -0.871851 \n35.6466 -19.1594 0.419723 -0.549161 0.373164 -0.747777 \n22.9347 -31.5993 -15.2025 0.381393 -0.763927 0.520534 \n-28.2413 -18.3524 0.446189 0.399141 0.403643 -0.823261 \n-28.9942 -18.0766 -0.259209 0.626654 0.42667 -0.652118 \n-14.1845 -18.7509 0.369735 -0.404544 0.0535677 -0.912948 \n14.849 23.5478 -33.8758 -0.449841 -0.456187 0.767813 \n-27.9515 -17.0485 -0.175158 0.499342 0.374256 -0.781403 \n-26.9225 -17.4823 0.418165 0.473727 0.381923 -0.793548 \n35.431 -17.6519 0.205271 -0.468457 0.438533 -0.766966 \n33.563 -17.0683 0.776581 -0.451362 0.50247 -0.737425 \n-13.9806 -30.5289 -14.7804 -0.723779 -0.327665 0.607273 \n-15.1833 -50.4263 -9.03301 -0.700649 -0.294094 -0.650077 \n34.2137 -16.6038 -0.0957267 -0.444829 0.475714 -0.75883 \n-14.0326 -52.0132 -23.3408 -0.881529 0.085176 0.464383 \n-30.2413 -50.9314 -8.96081 0.68583 -0.382013 -0.619438 \n33.0858 -49.3145 -23.3332 -0.0797829 -0.00758851 0.996783 \n-14.7294 -16.3821 0.0484485 -0.323526 0.0874851 -0.942166 \n40.878 -50.7206 -8.42072 -0.982683 -0.169641 -0.0745461 \n-15.5441 -14.9077 0.492666 -0.27702 0.0550724 -0.959285 \n-14.3558 -49.7251 -23.8304 -0.889619 0.120935 0.4404 \n41.1205 -71.7354 -17.3611 -0.622968 -0.0894601 0.777115 \n2.05764 -15.3458 -0.401236 0.0500931 -0.776756 -0.627807 \n30.9858 -13.6159 0.150117 -0.340533 0.613691 -0.712335 \n0.370359 -14.5151 -0.18222 0.416993 -0.71274 -0.56402 \n-31.4996 -49.3982 -22.9413 0.775738 0.00104599 0.631054 \n-28.3493 -37.4912 -17.9874 0.543779 0.41678 0.728423 \n23.7259 -72.469 -17.0567 0.861354 0.00629843 -0.507966 \n6.31278 -28.6188 -53.3699 -0.960046 -0.183212 -0.211528 \n-17.1475 -55.0086 -28.0673 -0.557347 0.19544 0.80695 \n28.9858 -13.6169 0.600972 -0.25341 0.34855 -0.902384 \n23.0079 -12.3664 0.276107 0.140684 0.364011 -0.920708 \n-17.4211 -12.214 0.0860271 -0.212992 0.326793 -0.920783 \n-21.7236 -12.3701 0.448311 0.187839 0.344173 -0.919925 \n5.18923 -11.5276 0.689258 -0.684813 -0.4234 -0.593097 \n-19.1292 -11.3639 0.208385 -0.0859728 0.442427 -0.892674 \n27.8988 -12.1474 0.572073 -0.247756 0.44099 -0.862639 \n-31.2212 -29.4441 -15.1388 0.684187 -0.468654 0.558795 \n23.9574 -11.4262 0.199857 0.031312 0.417568 -0.908106 \n17.7589 -28.5647 -15.0341 0.655624 -0.743851 0.129778 \n6.23707 -11.0989 -0.287465 -0.585984 -0.660917 -0.468841 \n13.0831 36.6889 -36.6681 -0.110461 -0.0383647 0.99314 \n36.95 -28.1347 -14.7599 -0.718294 -0.242961 0.651938 \n-12.7546 -27.9788 -15.7365 -0.648848 -0.657274 0.383389 \n-2.76085 -10.4855 -0.142107 0.700317 -0.545784 -0.460083 \n6.99616 -9.90195 0.441302 -0.660077 -0.517884 -0.544146 \n16.9989 -27.6514 -15.4843 0.534841 -0.814245 0.225722 \n-8.45071 -10.0264 0.406173 -0.160326 -0.230331 -0.959814 \n-10.2456 -10.9875 0.179733 0.112032 -0.213756 -0.970442 \n-30.3946 -42.9174 -23.7479 0.631794 0.376585 0.67751 \n9.83125 -8.71305 -0.313522 -0.235496 -0.417149 -0.877798 \n8.08657 -8.50905 0.626744 -0.361663 -0.375953 -0.853146 \n-6.61648 -8.83445 0.188551 -0.12051 -0.261332 -0.957697 \n22.1834 27.7652 -28.2585 -0.755807 -0.164909 0.633688 \n-5.38792 -7.37065 0.745449 0.124797 -0.38096 -0.91613 \n7.50259 -11.0182 -26.8199 -0.0927486 -0.54123 0.835744 \n11.8731 -7.35205 -0.237871 -0.224035 -0.285057 -0.931961 \n19.4949 52.8266 -26.694 -0.672556 0.326632 0.664063 \n-11.6709 -5.03925 0.713015 0.194836 -0.0523943 -0.979435 \n35.495 -36.3482 -18.6743 -0.201663 0.72695 0.656411 \n14.6704 -26.2685 -15.7839 0.736307 -0.623128 0.26375 \n-11.3937 -3.62385 0.32374 0.403276 0.260749 -0.877142 \n-32.2528 -26.1648 -14.8647 0.789628 -0.167415 0.590305 \n14.6159 -1.99595 0.0846145 -0.615545 -0.0463619 -0.786737 \n-10.9475 -1.75125 0.32058 0.667844 0.291601 -0.684801 \n-14.0262 26.4298 -33.4807 0.484563 -0.323254 0.812838 \n13.8122 -0.155851 0.789872 -0.691301 0.223143 -0.687248 \n37.5769 -24.8246 -16.0627 -0.750924 -0.0724606 0.656402 \n-10.3277 -24.3605 -15.6381 -0.748665 -0.491411 0.44499 \n-20.5012 28.4359 -28.7132 0.756983 -0.250837 0.603373 \n41.7292 -45.9156 -9.82891 -0.99342 -0.104817 0.0461571 \n14.0781 8.44605 1.01785 -0.670865 -0.451739 -0.588109 \n35.2438 -14.4743 -18.5328 -0.821693 0.176816 0.541809 \n50.113 -71.6434 -11.1269 -0.890195 -0.00564321 0.455544 \n-13.9028 -46.1326 -9.2216 -0.840496 0.0859477 -0.534958 \n-24.8422 -40.2545 -23.7868 0.0428223 0.670467 0.740702 \n-16.9205 13.803 0.571364 0.654117 -0.756389 0.00247156 \n-18.0501 15.8864 0.270767 0.821014 -0.547674 -0.16121 \n-19.4351 21.2959 -25.8212 0.663706 -0.536608 0.521102 \n-13.0493 35.3656 -35.607 0.515126 -0.0815731 0.853224 \n-31.2132 23.3624 0.254177 -0.0246858 -0.998734 -0.0438333 \n-33.3254 23.1705 0.0149089 0.0379114 -0.996354 -0.0764355 \n-28.1154 23.6329 0.334911 -0.216472 -0.90245 -0.372457 \n-36.4409 23.3506 -0.143694 0.17012 -0.985122 -0.0243769 \n-39.3746 23.9242 0.714561 0.0990682 -0.988384 0.115254 \n-14.7493 28.7601 -33.5675 0.553953 -0.258018 0.791557 \n23.9647 -23.4335 -23.4768 -0.00308815 -0.364778 0.931089 \n-41.9911 24.746 -0.397573 0.296044 -0.93752 0.182797 \n36.0233 24.8006 -0.497942 -0.215474 -0.973857 0.0719263 \n39.9021 26.0522 -0.10054 -0.492119 -0.868848 0.0540581 \n40.9953 27.2131 0.734029 -0.564222 -0.806688 0.175805 \n22.6717 29.4991 -28.164 -0.740748 -0.157325 0.653101 \n-43.3991 26.9965 0.60623 0.905707 -0.372424 -0.202471 \n10.671 -21.4902 -15.7912 0.632792 -0.641766 0.433255 \n41.4894 27.8367 -0.165728 -0.651011 -0.70416 0.28345 \n18.2229 28.5861 -33.751 -0.643332 -0.256878 0.721206 \n18.9534 29.9384 -33.0549 -0.839529 -0.265391 0.474087 \n45.1358 32.1331 0.340238 -0.765369 -0.31743 0.559864 \n22.7998 20.8167 -25.7781 -0.816318 0.198782 0.542319 \n46.3424 34.9416 0.399657 -0.518067 -0.0149951 0.855209 \n46.1703 36.5666 0.111798 -0.496114 0.0334053 0.867615 \n23.4385 -70.7515 -17.6711 0.860946 0.119593 -0.494438 \n-29.3656 -38.4216 -19.4938 0.354903 0.8205 0.448134 \n44.2425 39.9252 0.259194 -0.614136 0.413224 0.672371 \n-44.6979 40.5428 0.653885 0.784905 0.546992 0.291074 \n18.6971 30.6146 -34.0854 -0.62328 -0.221001 0.750121 \n-32.0969 42.7288 -0.897751 0.0997311 0.950019 -0.295835 \n40.3154 43.4441 0.891921 -0.430796 0.830103 0.35404 \n-13.5411 36.8232 -36.082 0.460975 -0.207282 0.862865 \n-22.3189 -23.3616 -23.3599 0.110476 -0.162841 0.980448 \n-25.0125 45.1714 -0.211483 0.453995 0.784057 -0.423253 \n27.7106 45.8755 -0.153983 -0.906045 0.416364 -0.0756499 \n-23.6578 45.4076 1.07087 0.634158 0.711615 -0.302405 \n-15.5206 31.3092 -33.4499 0.558258 -0.205779 0.803743 \n26.9173 47.5247 0.373047 -0.876389 0.381467 -0.293981 \n-34.3353 -43.2454 -9.91066 0.915682 0.400823 0.0294554 \n21.1439 -23.7916 -22.9174 0.161017 -0.522817 0.8371 \n-22.6793 49.3354 0.416809 0.483805 -0.0907203 -0.870461 \n38.0294 -18.4433 -15.0924 -0.89489 0.124506 0.428567 \n-22.9738 50.046 -0.067748 0.621718 0.526572 -0.579818 \n-20.9867 50.6338 0.503218 0.853667 0.385337 -0.350382 \n25.9054 51.0252 -0.120331 -0.643185 0.673583 0.364142 \n-21.2922 50.8361 0.139355 0.372101 0.793012 -0.482362 \n-19.0485 52.5786 0.0391937 0.551516 0.704618 0.44648 \n21.6329 -41.6769 -8.91775 0.958474 0.284734 -0.0159442 \n-16.7292 -22.9099 -23.257 -0.222894 -0.444678 0.867513 \n-17.8708 54.8922 -0.0683751 0.836577 0.528539 -0.144172 \n20.0049 55.5836 -0.170239 -0.324459 0.883035 -0.339079 \n18.3846 57.1283 0.664246 -0.721927 0.450745 0.525024 \n-15.4869 57.6789 0.679071 0.603425 0.788605 -0.118238 \n15.1302 59.9595 0.77651 -0.868503 0.494072 -0.039946 \n-32.2211 -18.2879 -16.0263 0.906386 0.0877895 0.413227 \n-14.1024 59.7484 0.323699 0.983494 0.159457 -0.0855145 \n9.8195 -12.0938 -26.4974 -0.440517 -0.689494 0.574928 \n-11.686 62.3951 -0.76553 0.571359 0.820699 0.00114288 \n10.5271 65.3301 -0.531291 -0.861293 0.499159 -0.0949464 \n-7.43874 65.9737 1.59139 0.505834 0.852923 -0.12905 \n-2.97878 67.7994 -0.284029 0.443497 0.8924 -0.0832573 \n4.01773 67.4992 0.587041 -0.0074739 0.987053 -0.160222 \n48.8843 -75.003 1.22847 -0.0974347 -0.988422 0.116313 \n-32.5724 -74.8415 -0.611333 -0.421871 -0.844418 -0.330125 \n41.2441 -74.6576 0.108672 -0.491018 -0.871063 -0.0123056 \n34.6255 -74.3978 -0.696963 0.4846 -0.650116 -0.585246 \n-36.6043 -74.8215 0.371396 0.915218 -0.125605 0.382882 \n49.7211 -74.286 0.0661197 -0.637695 -0.703882 0.312882 \n-18.133 -22.1429 -23.6409 -0.144544 -0.442137 0.885224 \n33.6429 -35.7229 -17.7769 0.0248806 0.771338 0.635939 \n-24.0538 -74.1731 -1.40392 -0.181238 -0.949703 -0.255376 \n-16.0383 34.6033 -33.3195 0.494866 -0.41148 0.76537 \n43.4198 -72.8877 -0.0348963 0.453292 -0.613274 -0.646855 \n42.5279 -73.1209 -0.374735 -0.524624 -0.593764 -0.610094 \n19.3032 35.6136 -32.9494 -0.776215 -0.00254319 0.630464 \n-27.545 -73.6014 0.247004 0.422332 -0.886987 0.186788 \n49.9159 -73.2001 -0.426236 -0.90174 0.148748 0.40588 \n33.9692 -72.8342 -0.288844 0.77469 -0.174393 -0.607818 \n-16.2147 -41.7164 -9.10261 -0.731958 0.414103 -0.541069 \n4.57681 -15.6778 -15.2635 0.666954 -0.731334 0.142561 \n1.58746 -28.7213 -51.0094 0.4637 -0.814317 -0.349099 \n-17.057 35.6682 -33.4116 0.546775 -0.412448 0.728646 \n-31.1026 -72.5506 -0.092921 -0.653078 0.139482 -0.744335 \n-28.0982 -72.298 -1.5314 0.946919 -0.222672 0.231867 \n37.044 -14.2287 -15.1799 -0.885154 0.292785 0.361633 \n-23.0382 -70.9916 -0.792518 -0.858023 0.263369 -0.440946 \n43.2238 -70.4883 -0.574214 0.561006 0.417117 -0.715043 \n2.95371 -14.3151 -15.5378 0.495026 -0.863183 0.0993227 \n-33.3912 -41.0173 -9.1734 0.932021 0.32059 -0.168994 \n48.9417 -69.9092 -0.0688937 -0.770078 0.564872 0.296479 \n-17.855 36.2567 -32.8921 0.73693 -0.0862709 0.670441 \n-26.955 -70.173 -0.330592 0.844278 0.524808 0.108493 \n-34.6021 -70.4587 -0.00237951 0.0809424 0.820635 -0.565692 \n-31.747 -12.9965 -15.0534 0.838173 0.354977 0.414075 \n40.5729 -69.8792 -0.766773 -0.694175 0.465121 -0.549348 \n28.4639 -20.8501 -23.3374 -0.328345 -0.233346 0.915281 \n45.3605 -68.536 0.0589454 0.521035 0.598479 -0.60856 \n35.808 -68.0575 -0.270149 0.312319 0.6779 -0.665514 \n36.6246 -67.6075 -0.878467 0.106144 0.811901 -0.574064 \n42.4932 -39.4188 -9.51364 -0.993339 0.0347374 -0.10987 \n35.4888 -43.1365 -0.302848 -0.065371 -0.346194 -0.935883 \n33.6316 -42.2469 -0.241155 0.244106 -0.381949 -0.891363 \n32.4405 -41.7499 -0.259169 0.319183 -0.449292 -0.834421 \n33.2776 -41.063 0.199047 0.408519 -0.234049 -0.882232 \n36.6133 -40.8167 -0.0276731 -0.349201 -0.296747 -0.888819 \n19.9075 37.745 -33.0469 -0.753117 -0.0289233 0.657251 \n31.3317 -40.2881 -0.556423 0.27398 -0.255347 -0.927218 \n42.4552 -38.7458 -9.8523 -0.940135 0.234467 0.247329 \n35.348 -9.60655 -14.8957 -0.839686 0.524303 0.141543 \n-15.5282 -65.0604 -19.7748 -0.925869 0.164772 -0.340025 \n-30.735 -10.9958 -15.6408 0.872497 0.353734 0.337077 \n30.8027 -38.2492 -0.376292 0.629996 0.0467363 -0.775191 \n-25.8071 -39.0014 -0.530701 -0.213188 -0.388286 -0.89654 \n-33.0691 -38.9921 -0.89331 0.765987 -0.365587 -0.528782 \n37.4766 -37.7307 -0.251225 -0.441597 0.155923 -0.883561 \n37.6632 -37.1113 -0.145483 -0.208901 -0.617202 -0.758566 \n40.0862 -36.4276 -0.35495 -0.576446 -0.748555 -0.327681 \n31.268 -36.9944 -0.401832 0.458292 0.0210801 -0.888552 \n-24.2215 -36.4548 -0.0716161 -0.274215 -0.276381 -0.921097 \n30.6512 -35.1413 -0.0443333 0.406249 -0.097777 -0.908516 \n-7.51526 -11.0879 -26.635 -0.0158385 -0.409939 0.911976 \n34.1506 -8.07885 -15.5354 -0.666359 0.707981 0.233944 \n-20.7012 -34.1099 -0.312704 -0.457205 -0.466351 -0.757285 \n22.8358 -38.5713 -9.29965 0.67196 0.7299 -0.125362 \n-14.2089 -19.393 -23.8723 -0.351107 -0.253795 0.901284 \n30.9485 -33.5216 -0.0722482 0.360993 -0.270933 -0.892345 \n-20.0086 -32.7116 -0.461815 -0.588057 -0.406612 -0.699182 \n28.5802 -32.4399 -0.599687 0.476189 -0.412978 -0.776333 \n-26.0014 -19.3407 -23.2962 0.590963 -0.141337 0.794221 \n29.3916 -20.0488 -23.4286 -0.300961 -0.246708 0.921172 \n27.6819 -30.9268 -0.393608 0.39355 -0.558725 -0.730031 \n-27.4874 -7.20805 -15.9229 0.688351 0.603084 0.403067 \n-31.2181 -30.7878 -0.599318 0.719267 -0.168644 -0.673954 \n19.0182 41.908 -33.4208 -0.822764 0.238554 0.515898 \n-18.979 -29.6944 0.00961222 -0.483191 -0.259496 -0.836175 \n15.5949 -19.2362 -23.1473 0.304836 -0.549896 0.777618 \n-31.3559 -28.4755 0.571445 0.650032 -0.28891 -0.702843 \n24.4436 -28.645 -1.26798 0.616468 -0.656248 -0.435093 \n41.8083 -28.33 0.336724 -0.863129 0.425885 -0.271351 \n-17.3811 -26.7373 0.373138 -0.522982 -0.253675 -0.813719 \n-26.9861 -61.7383 -25.6635 0.632241 -0.517789 0.576339 \n21.6516 -25.9635 -0.186745 0.506916 -0.405251 -0.760794 \n40.3368 -26.5563 0.445151 -0.64469 0.715538 -0.269033 \n28.8702 -19.0201 -23.6363 -0.389673 -0.237042 0.889925 \n-17.0366 -25.293 0.377426 -0.427312 -0.262554 -0.865141 \n-32.6515 -25.476 -1.23125 0.727689 0.123269 -0.674739 \n18.9472 43.0117 -32.8965 -0.826921 0.265844 0.495508 \n38.785 -24.87 -0.651978 -0.782828 0.0461616 -0.620524 \n17.3145 -19.9102 -23.4982 0.387362 -0.379202 0.840331 \n-14.7508 -24.9851 -0.828796 -0.556719 -0.40614 -0.724648 \n27.8285 -29.2456 -19.257 -0.234873 -0.646307 0.726032 \n-18.7092 -34.0424 -18.5096 -0.63078 0.0263228 0.775515 \n19.4314 -21.5154 -0.418656 0.44405 -0.204655 -0.872317 \n-21.3773 -2.26215 -14.29 0.921925 0.213022 0.323537 \n-14.9985 -21.461 0.271268 -0.432171 -0.172535 -0.885132 \n-30.5462 -21.0718 -0.81094 0.660177 0.317398 -0.680753 \n37.9636 -21.1112 -0.123565 -0.716364 0.133455 -0.684845 \n-12.6449 -20.307 -0.642433 -0.514963 -0.179293 -0.838252 \n-12.9434 -17.7339 -0.352991 -0.420772 -0.0361122 -0.906447 \n36.404 -17.4435 -0.367771 -0.57473 0.425478 -0.699038 \n19.4671 -15.8841 0.275876 0.359987 0.138998 -0.922545 \n17.8281 -17.9239 -0.429152 0.469858 -0.0666184 -0.880224 \n35.099 -16.2163 -0.657944 -0.434927 0.43879 -0.786322 \n-21.9865 32.4781 -27.466 0.812979 -0.0707997 0.577973 \n-27.6166 -15.666 -0.411997 0.551768 0.401089 -0.731218 \n18.8438 -14.8569 0.131593 0.261369 0.120543 -0.957682 \n23.8025 33.8092 -27.7767 -0.830505 0.0560639 0.554183 \n24.1752 0.45825 -15.3076 -0.667086 0.726898 0.163143 \n-12.7652 -18.1945 -23.0574 -0.546967 -0.21645 0.808688 \n32.9469 -15.802 0.706749 -0.41579 0.465795 -0.781123 \n-22.1786 34.1109 -28.1458 0.751529 -0.183633 0.633627 \n-19.6655 1.30585 -15.2023 0.835176 0.491411 0.246975 \n-26.417 -16.0275 0.227287 0.432349 0.437136 -0.788661 \n-14.7746 -13.9282 0.0464745 -0.285157 0.310026 -0.906956 \n-24.2537 -14.1922 0.551146 0.405272 0.52869 -0.745816 \n22.2591 4.04705 -14.919 -0.890559 0.454038 -0.0274548 \n29.8356 -12.9121 -0.126158 -0.371466 0.534093 -0.759446 \n6.30307 -12.5142 -1.13279 -0.776248 -0.327896 -0.538445 \n-9.00016 -12.7271 -0.415622 -0.174654 -0.389724 -0.904219 \n-23.3232 -11.9736 -0.340046 0.439768 0.368693 -0.818944 \n-1.27668 -12.0728 -0.362099 0.749635 -0.549008 -0.369646 \n1.77533 -16.2866 -22.7895 -0.137062 -0.898289 -0.417481 \n20.8746 7.72215 -15.6351 -0.986375 0.164425 0.00541044 \n-6.73255 -11.2521 -0.494868 -0.250281 -0.332269 -0.909372 \n-12.825 -10.6663 -0.105948 0.143639 -0.142819 -0.97927 \n-17.1161 -11.0776 -0.688404 -0.134051 0.297793 -0.945172 \n-22.222 -10.4142 -0.716179 0.335333 0.570493 -0.749726 \n-7.85802 -16.5568 -23.1692 -0.297247 -0.633896 0.714018 \n22.1087 -11.4853 0.0103449 0.0970379 0.333839 -0.937622 \n23.5721 -33.2774 -9.00497 0.824249 -0.545373 -0.152254 \n-20.9496 -10.2735 -0.495421 0.0683255 0.534425 -0.842449 \n4.81102 -19.5576 -39.0082 -0.733666 0.630853 0.252506 \n22.7467 35.3582 -29.3782 -0.739147 -0.479147 0.473371 \n-27.9047 -34.4591 -17.9389 0.647433 0.112352 0.753795 \n16.5627 47.0739 -33.3336 -0.513128 0.361433 0.778502 \n-5.07053 -10.1268 -0.547029 -0.0921562 -0.379506 -0.920588 \n16.4468 -25.9951 -9.9662 0.612917 -0.537415 -0.579239 \n10.5605 -10.2784 -0.739942 -0.0564188 -0.287367 -0.956158 \n-11.8232 -8.44555 0.0441996 0.190825 -0.0917063 -0.977331 \n-32.3974 -32.5028 -9.31732 0.945182 0.0171585 0.326091 \n23.6832 -69.7598 -17.8721 0.941827 0.145751 -0.302852 \n-13.8825 -6.50995 -0.167135 0.213942 -0.0552448 -0.975283 \n-15.0459 -32.8108 -8.63278 -0.870824 -0.462822 -0.165713 \n13.9885 -5.26005 -0.387924 -0.392992 -0.338826 -0.854842 \n-13.1385 -4.32835 0.249846 0.312337 0.204268 -0.92775 \n11.5604 -15.5014 -23.1704 0.488548 -0.497805 0.716597 \n14.9156 -3.94245 -0.462925 -0.502211 -0.15654 -0.850458 \n14.5654 -3.28825 0.0777509 -0.503477 -0.0765091 -0.860614 \n-3.26641 -15.3771 -23.3788 0.412638 -0.904684 -0.106189 \n-12.2029 -2.38855 -0.664096 0.378425 0.376864 -0.84544 \n-5.49272 -15.331 -22.7323 -0.389983 -0.700545 0.597621 \n14.8374 49.0304 -33.4471 -0.400286 0.492946 0.772512 \n13.1492 49.2776 -33.6416 -0.154715 0.724162 0.672051 \n15.2745 -1.15295 -0.786846 -0.735323 0.133138 -0.66451 \n14.6255 0.0725498 -0.597777 -0.682419 0.235661 -0.691931 \n-6.56096 -11.2047 -26.6931 0.0414088 -0.402821 0.914342 \n-24.7584 -15.0747 -23.684 0.544025 0.0112652 0.838993 \n-10.1077 1.04815 -0.406123 0.623602 0.157712 -0.765668 \n22.7064 18.2134 -15.7388 -0.792671 -0.585618 0.169482 \n-10.2093 3.70115 -0.282382 0.538924 -0.161991 -0.826632 \n-12.3099 6.82045 -0.935757 0.618439 -0.587768 -0.521596 \n-14.8671 -71.0377 -17.7716 -0.862187 0.0216423 -0.506128 \n23.9819 26.2476 -25.7668 -0.864046 -0.268116 0.426073 \n23.6369 19.1492 -15.5009 -0.780674 -0.597287 0.183838 \n15.6916 10.7616 0.480282 -0.720952 -0.452653 -0.524722 \n14.7561 16.8594 -28.632 -0.595625 -0.361583 0.717279 \n3.58506 -18.2507 -37.7393 -0.433007 0.786059 0.441153 \n19.7563 13.4332 -0.0851095 -0.28111 -0.903568 -0.323328 \n18.104 13.1402 -1.27157 -0.135586 -0.927578 -0.348161 \n31.3575 -15.7268 -22.9089 -0.594345 -0.0498056 0.802666 \n-15.4021 12.5958 0.204522 0.700009 -0.694905 -0.164606 \n20.6085 15.1996 -0.285368 -0.945876 -0.323517 0.025611 \n-17.542 14.4485 -0.422763 0.842175 -0.520599 -0.140422 \n21.0026 16.2735 1.1738 -0.814723 -0.503524 -0.287558 \n23.977 20.0609 -16.4596 -0.668782 -0.730604 0.137656 \n23.96 -29.2029 -18.8677 0.177359 -0.694118 0.697671 \n-22.3775 22.0358 -0.581405 0.465637 -0.799309 -0.379851 \n-5.48265 -14.7332 -23.4887 -0.105832 -0.851487 0.513584 \n-25.212 23.58 -0.62501 0.25478 -0.906124 -0.337678 \n20.6693 -30.4464 -9.56761 0.454276 -0.502009 -0.735948 \n31.8617 24.0979 0.459661 0.0882297 -0.996011 -0.0133627 \n-38.4028 24.1593 -0.284689 0.287849 -0.944814 0.156427 \n34.4561 24.7298 -1.35631 -0.20818 -0.97603 0.06345 \n-31.9306 -69.1985 -17.7933 0.622686 0.367262 0.690928 \n-42.8787 25.3389 0.103549 0.800866 -0.5427 -0.25316 \n27.4506 24.226 -15.0736 -0.926551 -0.139996 0.349149 \n-44.1148 28.3475 -0.101648 0.707415 -0.5764 0.409056 \n30.2003 -12.0707 -23.5637 -0.41807 0.258891 0.870743 \n-37.4823 -70.6282 -10.3975 0.716514 0.551697 0.426895 \n13.2434 52.7281 -32.4036 -0.46932 0.679124 0.564384 \n-46.6451 31.8365 0.131309 0.803973 -0.323027 0.49928 \n-0.23041 -18.913 -39.7513 0.366062 0.804108 0.468411 \n45.2005 35.2233 -0.220153 -0.731166 0.0404979 0.680997 \n-46.6077 36.5893 -0.42868 0.740352 0.341135 0.579228 \n-17.3281 -31.872 -18.5703 -0.476011 -0.465867 0.74591 \n45.2065 37.2934 -0.134914 -0.616165 0.208826 0.759429 \n-25.2595 -13.6335 -23.6217 0.41439 0.166877 0.894669 \n-26.7717 28.1463 -15.0502 0.605543 -0.53773 0.586655 \n8.67608 -13.0889 -23.3621 0.0364279 -0.92493 0.378388 \n-45.362 38.7768 -0.0664456 0.817616 0.410682 0.40354 \n-44.3199 40.72 -0.559198 0.712011 0.676096 0.189567 \n6.25421 -27.9118 -52.0392 -0.861249 -0.441039 -0.252459 \n-35.4174 41.9762 -1.00042 0.310283 0.939186 -0.147151 \n-24.4349 -12.1593 -23.4163 0.34685 0.374379 0.859962 \n-21.136 -54.687 -29.262 -0.0946648 0.27521 0.956712 \n2.72613 -18.8395 -39.5574 -0.231509 0.902232 0.363841 \n40.8838 42.3131 -0.194933 -0.515277 0.765814 0.384731 \n-33.7052 42.3941 -0.0204425 0.21835 0.917513 -0.332406 \n34.5015 45.0658 0.155074 0.00633891 0.998858 0.0473495 \n31.9958 44.4342 -0.103058 0.130826 0.989971 0.0533075 \n31.0408 44.4916 -1.57179 -0.0349564 0.992119 0.120326 \n28.6238 44.7225 -0.599209 -0.180184 0.983633 0.000705832 \n24.8791 28.589 -24.8534 -0.823835 -0.229858 0.518132 \n-21.8337 47.2399 0.0671892 0.622082 0.690232 -0.369586 \n37.4243 -63.5265 -19.7609 -0.62104 0.0134127 0.783664 \n26.8881 48.6491 0.174245 -0.766493 0.0707062 -0.638349 \n-29.0683 32.3408 -15.4265 0.301152 -0.0914612 0.94918 \n27.5417 49.6984 -0.725907 -0.712313 0.541319 -0.446748 \n25.9536 50.7798 -0.530828 -0.461708 0.873405 -0.154882 \n-22.0474 -11.3535 -23.6525 0.173734 0.575 0.799495 \n-18.5389 53.1691 -0.562124 0.843213 0.534618 -0.0563482 \n23.104 53.4921 -0.213886 -0.647164 0.761478 0.0364789 \n-34.0452 -29.4928 -9.26811 0.883231 -0.429524 0.188182 \n8.45528 54.1742 -33.7505 -0.256384 0.718356 0.646708 \n-16.6103 56.487 0.419021 0.788255 0.603646 -0.119439 \n17.7834 56.6682 -0.305611 -0.77823 0.452728 0.435196 \n16.6379 59.1566 -0.233913 -0.649088 0.738824 0.181171 \n15.1859 59.9697 -0.64529 -0.704545 0.690957 0.161849 \n-13.7885 60.4359 -0.156895 0.839936 0.540527 0.0483434 \n11.8198 64.6648 -0.40432 -0.490766 0.868367 0.0713257 \n-9.78991 64.3083 0.0769344 0.84379 0.527522 -0.0986882 \n-29.1653 35.2568 -15.3734 0.341831 0.102992 0.934101 \n-7.50275 54.3152 -32.9619 0.334575 0.50393 0.796313 \n-31.141 34.3489 -14.8959 0.316526 0.0622094 0.946542 \n48.355 -74.8526 -0.753557 -0.297918 -0.937918 0.177637 \n47.8476 -75.0299 0.356976 0.142292 -0.988868 -0.0435197 \n48.7881 -74.1952 -2.03417 -0.535841 -0.800048 0.269809 \n-18.1091 -9.36235 -23.3892 0.454499 0.0806362 0.88709 \n-36.1232 -74.2003 -0.263756 0.946284 0.122095 0.299396 \n-5.53715 54.6707 -33.5568 0.344857 0.173095 0.922557 \n-23.1525 -73.6892 -1.26014 -0.550734 -0.73598 -0.393733 \n49.6114 -73.6537 -1.43999 -0.926783 -0.125256 0.354096 \n-30.3118 -72.9412 -0.93622 -0.710963 -0.114017 -0.693925 \n-28.0156 -73.1255 -0.075256 0.704528 -0.652505 0.279065 \n29.5207 37.1987 -14.8524 -0.999063 0.005277 -0.0429675 \n-12.2308 -27.5355 -8.79327 -0.838607 -0.506318 -0.200949 \n-35.0612 -27.5331 -9.17965 0.924027 -0.213963 0.316849 \n-31.4463 -70.8679 -0.655114 -0.541894 0.436172 -0.718405 \n-35.6623 -71.8039 -0.870218 0.90324 0.356813 0.238414 \n17.7185 -26.6083 -9.09899 0.691204 -0.65258 -0.310445 \n31.6252 -7.22865 -19.3999 -0.711646 0.535225 0.455076 \n25.3683 -7.84915 -23.7009 -0.350637 0.418904 0.8376 \n-32.9911 -70.7285 0.0352119 -0.204765 0.723396 -0.65937 \n-33.3778 -69.7645 -1.21572 0.0791263 0.871037 -0.484803 \n-24.4412 -69.1668 -1.55886 -0.136231 0.964963 -0.224248 \n37.8596 -67.5625 -0.950457 -0.23206 0.817799 -0.526644 \n33.9003 -43.7924 -0.445667 0.178908 -0.374384 -0.909851 \n30.4827 41.3497 -15.1062 -0.892605 0.170555 0.417334 \n36.9346 -42.5966 -0.215264 -0.364666 -0.243782 -0.89866 \n32.1361 -42.9193 -1.23721 0.346024 -0.34946 -0.870715 \n23.9957 -4.70155 -22.6261 -0.515152 0.418341 0.748071 \n30.1472 -42.2104 -0.562551 0.0163245 -0.403883 -0.914665 \n40.4164 -24.8772 -10.1273 -0.927032 -0.0688305 0.368611 \n29.8288 -41.2203 -0.385129 0.226263 0.0516199 -0.972698 \n31.5863 -41.6734 -0.714709 0.0911592 -0.265566 -0.959773 \n38.0695 -41.5593 -1.07852 -0.52952 -0.173699 -0.830323 \n37.7112 -40.2049 -0.36943 -0.53236 -0.346797 -0.77222 \n23.3762 -6.04945 -23.7301 -0.405275 0.342058 0.84779 \n28.5896 -41.1862 -1.18886 0.403296 0.233884 -0.884676 \n15.0647 38.0721 -36.6026 -0.329586 -0.124744 0.935848 \n30.6903 -39.4564 -0.722899 0.518156 -0.0676795 -0.852604 \n-27.2395 -41.1843 -1.56963 -0.127628 -0.568721 -0.812569 \n29.4353 44.8118 -15.1875 -0.994674 0.08386 -0.0599216 \n38.0443 -39.0611 -0.236529 -0.560428 -0.0567303 -0.826258 \n-6.01003 -10.2273 -26.9833 0.00270389 -0.335899 0.941894 \n8.73081 60.5437 -28.1742 -0.693668 0.58388 0.421792 \n-26.2484 45.3484 -15.214 0.946342 0.27203 0.174459 \n39.2108 -37.2344 -0.904282 -0.503585 -0.161688 -0.848681 \n22.3207 -3.79235 -22.9058 -0.419431 0.49289 0.762323 \n40.7448 -24.4843 -8.71625 -0.997323 -0.00532294 0.0729273 \n-22.7036 -35.0343 -0.275224 -0.321078 -0.286811 -0.902579 \n-15.5413 -29.2834 -18.7803 -0.512103 -0.513715 0.688366 \n-21.9177 -35.2337 -0.724581 -0.476599 -0.42914 -0.767263 \n-32.9249 -33.7826 -0.156036 0.820451 0.291322 -0.491927 \n28.6955 -33.4893 -1.14887 0.554876 -0.150006 -0.818297 \n3.74993 -31.9888 -55.4236 0.195503 -0.763803 -0.615128 \n2.82592 56.7997 -34.2165 -0.0996313 0.4906 0.865671 \n-18.687 -31.4974 -0.570405 -0.632469 -0.340728 -0.695621 \n27.9952 49.0056 -15.1026 -0.887016 0.457457 0.0627353 \n6.64498 -26.2304 -51.9328 -0.993611 -0.0622094 -0.094169 \n1.43156 28.1099 -38.7619 0.0773046 -0.320091 0.944228 \n26.4447 -30.5461 -0.852922 0.56061 -0.516436 -0.647311 \n-17.9184 -30.0758 -1.04938 -0.701621 -0.321665 -0.635814 \n27.0651 50.4676 -15.3236 -0.706066 0.701347 0.0978952 \n19.8974 0.111649 -23.3169 -0.791387 0.047855 0.60944 \n-32.5096 -28.3138 -0.750547 0.761798 -0.164094 -0.626687 \n-15.6906 -27.3607 -1.21958 -0.712415 -0.343524 -0.611929 \n-15.9222 -25.694 -0.503547 -0.602964 -0.293665 -0.741752 \n21.4131 -26.1151 -0.847155 0.620234 -0.773494 -0.130451 \n-15.8684 -0.521952 -23.6219 0.473298 0.360831 0.80361 \n-32.2983 -26.5791 -0.51476 0.761062 0.0711625 -0.644764 \n-24.7124 49.7756 -15.656 0.899722 0.427454 0.0882293 \n19.51 -23.5436 -0.374256 0.482025 -0.262974 -0.835761 \n25.3264 52.7421 -15.566 -0.927661 0.343415 -0.146664 \n-14.7641 -23.1356 -0.0667543 -0.555231 -0.188603 -0.810029 \n-23.1574 52.6796 -15.7094 0.855929 0.503795 0.116517 \n19.1998 0.531549 -23.9282 -0.438975 0.410202 0.799397 \n-14.6824 0.46925 -23.3547 0.45845 0.360668 0.812245 \n-31.2127 -22.3756 -0.586435 0.639309 0.36279 -0.677988 \n20.0483 1.62215 -22.8229 -0.550448 0.372849 0.746988 \n12.809 -9.38595 -26.7616 -0.22388 -0.396519 0.890309 \n18.5236 -20.5105 -0.320883 0.44942 -0.165403 -0.877874 \n-1.49728 28.0455 -38.627 0.0827012 -0.14905 0.985365 \n2.67406 28.1803 -38.6453 -0.236328 0.145501 0.960718 \n24.4387 54.2232 -15.1891 -0.776911 0.610362 -0.15449 \n37.4324 -19.8376 -0.090926 -0.577672 0.391134 -0.716456 \n-35.159 -22.8825 -8.75666 0.972407 0.228876 0.0451691 \n-29.8692 -18.2406 -1.20931 0.640259 0.352037 -0.682743 \n36.9262 -18.7897 -0.425135 -0.589571 0.356801 -0.724637 \n17.4655 -19.0093 -0.869268 0.502032 -0.115664 -0.85708 \n17.1896 -16.7724 -0.396668 0.383953 -0.0625996 -0.921228 \n-11.6055 -16.5278 -0.759979 -0.492883 -0.0437813 -0.868993 \n18.3652 2.60195 -23.3267 -0.798424 -0.109586 0.592038 \n-15.4571 2.89165 -23.8898 0.849889 -0.262084 0.457165 \n34.5313 -15.0205 -0.614144 -0.4957 0.400008 -0.770893 \n4.1443 -14.3737 0.307191 -0.300287 -0.673288 -0.675656 \n33.6744 -15.4192 -0.1647 -0.421115 0.409369 -0.80937 \n17.3128 3.70495 -25.3316 -0.78097 -0.0845785 0.618816 \n1.12631 -24.6512 -33.3618 0.0985798 -0.728468 -0.67795 \n-16.3325 4.98165 -22.4914 0.923218 -0.0709867 0.377662 \n19.2349 4.28225 -22.4015 -0.8486 0.0205011 0.528637 \n5.33993 -13.7729 -0.280209 -0.709251 -0.577666 -0.404062 \n-13.7586 -14.9928 -0.284252 -0.336976 0.175064 -0.925094 \n39.2933 -70.9227 -19.0146 -0.681889 -0.00717654 0.731421 \n-10.3176 -13.3106 -0.601807 0.0207995 -0.443748 -0.89591 \n-26.7329 -30.6328 -19.1123 0.50482 -0.265712 0.821313 \n-26.4694 -13.4743 -1.06736 0.371836 0.511254 -0.774827 \n19.4718 -13.4663 -0.12502 0.282744 0.0861863 -0.955316 \n-13.3134 -12.4409 -0.757085 0.10068 -0.252648 -0.962306 \n-23.2978 -13.0204 -0.0344828 0.29968 0.435148 -0.849022 \n29.1677 -11.6823 -0.382501 -0.464423 0.565512 -0.681548 \n17.2582 -13.3342 -0.704263 0.194499 0.0660656 -0.978675 \n-15.157 -67.9263 -17.6836 -0.906865 0.101489 -0.409018 \n18.4356 8.25915 -23.2669 -0.858691 0.222638 0.461607 \n-16.3312 61.0967 -15.0596 0.652385 0.70251 0.284382 \n5.75809 -13.0854 -29.0055 -0.940156 -0.126894 0.316235 \n30.0592 -11.6613 -1.19947 -0.439351 0.444806 -0.78046 \n18.6829 -11.3223 -0.583788 0.162011 0.0641318 -0.984703 \n18.5076 9.82585 -22.5722 -0.896783 -0.185482 0.401717 \n19.5725 -10.6352 -0.570005 0.0170905 0.233448 -0.972219 \n17.0191 -11.4823 -0.58768 0.0984971 -0.0235945 -0.994858 \n0.717552 29.1922 -38.8185 0.0454286 0.16476 0.985287 \n-2.45043 -11.2091 -0.839683 0.44217 -0.737878 -0.509923 \n27.3972 -10.4123 -0.557148 -0.169238 0.688789 -0.704931 \n25.1772 -10.272 -0.658596 -0.189847 0.616447 -0.764167 \n-31.4825 -67.8316 -17.02 0.669824 0.587596 0.453945 \n-3.78184 -10.708 -0.835312 0.196452 -0.574938 -0.794262 \n41.1207 -67.9098 -17.2008 -0.692572 0.0636062 0.718539 \n14.9129 63.2922 -15.0856 -0.570124 0.798735 0.192305 \n15.3123 -10.5701 -26.2627 -0.0403868 -0.16837 0.984896 \n12.0078 -10.8704 -1.07605 -0.0303127 -0.381786 -0.923753 \n8.95907 -10.3744 -0.768122 -0.0408788 -0.359951 -0.932075 \n-15.5388 -11.4558 -0.547613 -0.00631471 0.0577212 -0.998313 \n-16.4743 -8.95725 -0.804032 0.180569 0.100513 -0.978413 \n22.9947 -10.2824 -0.1292 0.0759138 0.369746 -0.926027 \n17.2813 -8.55285 -0.586255 -0.0425274 0.0023981 -0.999092 \n-18.6739 -10.2255 -0.675222 -0.0212567 0.364366 -0.931013 \n10.8931 -17.7104 -7.94193 0.528703 -0.692013 -0.491518 \n29.0357 -29.3345 -18.2519 -0.186208 -0.595613 0.781391 \n-10.971 63.5546 -15.4952 0.435774 0.893112 0.111585 \n27.7628 -30.3942 -18.0312 -0.0622438 -0.398875 0.914891 \n-14.5711 -9.62225 -0.255639 0.155786 -0.064179 -0.985704 \n12.1108 -9.16015 -0.600436 -0.0236714 -0.164996 -0.98601 \n18.0323 13.9215 -22.7212 -0.858748 -0.235533 0.455057 \n13.1782 -6.85395 -0.408718 -0.037041 -0.0428356 -0.998395 \n23.0884 -70.9222 -18.5786 0.951697 0.198979 -0.233839 \n16.1842 -6.55935 -0.318304 -0.0399869 -0.0384672 -0.99846 \n-15.658 -6.21765 -0.622927 0.441214 0.0905415 -0.892823 \n18.2722 -6.69265 -0.732868 -0.302894 0.107991 -0.946886 \n-1.86896 54.2378 -35.5342 0.0746863 0.601515 0.795362 \n14.7576 -4.96095 -0.517749 -0.0541866 0.106559 -0.992829 \n-6.05089 -18.4519 -9.32492 -0.124251 -0.975865 -0.179581 \n-13.6828 -2.97885 -0.556102 0.294573 0.412194 -0.862162 \n4.55255 30.1661 -38.6543 -0.0459434 -0.218008 0.974865 \n24.2705 -67.245 -18.1897 0.914757 0.396001 -0.0800217 \n-11.2989 -0.62145 -0.718337 0.502024 0.26396 -0.823588 \n-16.9303 16.5952 -23.1472 0.738417 -0.383727 0.554522 \n13.4903 1.98145 -0.170582 -0.680167 0.146383 -0.718293 \n-1.34951 -16.8646 -9.06826 -0.552107 -0.820853 -0.146214 \n-12.8371 17.2671 -29.1719 0.34513 -0.783782 0.516304 \n14.5541 6.71995 -1.21956 -0.788168 0.00493801 -0.615441 \n-16.4925 17.0014 -24.1591 0.504803 -0.838117 0.206721 \n-5.72105 66.2686 -15.397 0.28187 0.81106 0.512573 \n14.4275 7.73345 -0.671437 -0.638865 -0.605726 -0.474287 \n-34.194 -17.8858 -9.93587 0.952869 0.303219 0.00992707 \n24.6308 43.1262 -27.3894 -0.7068 0.308589 0.636559 \n0.199239 35.5641 -38.8535 -0.0290238 0.230381 0.972668 \n17.5448 12.7376 -1.11908 -0.825377 -0.426108 -0.370384 \n19.8965 13.062 -1.66057 -0.566449 -0.80862 -0.158962 \n20.3837 13.9583 -0.0244055 -0.806183 -0.563793 -0.179462 \n-1.82305 -14.796 -33.2666 0.56229 0.569802 0.599296 \n20.9911 15.5767 -1.02776 -0.684964 -0.698036 -0.208735 \n22.0035 16.7843 0.295989 -0.699167 -0.679336 -0.222863 \n-19.2364 16.6542 -1.22248 0.870431 -0.421912 -0.253654 \n-19.8036 -57.0854 -29.5201 -0.350842 0.228185 0.908208 \n24.9347 21.184 -1.77056 -0.835749 -0.467911 -0.287373 \n-21.3917 19.5324 -23.1535 0.839756 0.299448 0.452924 \n3.50142 -14.3643 -33.6376 -0.627114 0.552448 0.549117 \n7.37635 -17.0381 -9.53137 0.435166 -0.820421 -0.370864 \n26.0212 23.8092 0.792418 -0.680236 -0.667289 -0.303323 \n-28.3601 23.3422 -0.742525 -0.169059 -0.98495 -0.035938 \n-29.9359 23.0385 -0.752443 -0.0125942 -0.999867 -0.010359 \n-31.4701 23.4406 -1.11772 -0.0354529 -0.995585 -0.0869111 \n-34.2229 23.0513 -1.23903 0.256708 -0.966146 -0.0257332 \n-35.3947 23.493 -0.738753 0.116726 -0.992209 0.0435389 \n-22.56 31.0233 -24.9803 0.94533 0.0103123 0.325951 \n37.7113 25.2913 -0.508983 -0.342054 -0.938749 0.0418359 \n27.9823 24.9398 -0.193787 -0.047597 -0.994407 -0.0942838 \n-43.6156 26.1599 -0.763249 0.918887 -0.315908 -0.236325 \n6.15448 67.5882 -15.7244 -0.178973 0.837482 0.516325 \n-44.403 29.1182 -1.08108 0.940863 -0.26535 -0.210631 \n43.6438 30.1235 -1.0039 -0.657564 -0.474803 0.584954 \n-44.9412 30.3893 -1.11188 0.768065 -0.431653 0.473024 \n24.5599 -62.538 -18.4922 0.865461 -0.255333 0.431024 \n1.50832 68.556 -14.8462 0.0626932 0.953735 0.294039 \n45.4104 33.6379 -0.168403 -0.724273 -0.169364 0.66839 \n44.5308 38.5639 0.0571192 -0.614397 0.329105 0.717081 \n43.1642 40.2519 -0.995262 -0.642171 0.415448 0.644221 \n39.7552 -74.8792 -16.7205 0.108844 -0.991073 -0.076988 \n-45.0411 39.2864 -1.68294 0.918876 0.375237 0.121917 \n42.7284 41.6359 -0.0999925 -0.546961 0.67871 0.490089 \n26.8955 -75.2464 -16.3141 -0.145276 -0.987944 0.0534997 \n15.9247 38.4455 -36.2301 -0.473532 0.113535 0.873428 \n38.3204 -16.069 -9.21211 -0.900574 0.432875 0.0398312 \n-21.9931 24.8146 -23.5613 0.607462 -0.311931 0.73054 \n5.12368 -16.0038 -9.88777 0.431619 -0.864695 -0.256919 \n-30.8412 43.2407 -1.39708 0.0937337 0.958653 -0.268698 \n-28.0496 43.177 -0.535538 0.453631 0.826004 -0.334568 \n38.2696 -64.5004 -18.6744 -0.743723 0.0185467 0.66823 \n0.0273219 -15.5032 -9.52813 -0.600477 -0.79964 0.00203054 \n-26.3291 44.2726 -0.0594848 0.508376 0.762808 -0.399597 \n33.0625 44.6573 -1.0063 0.116181 0.979957 0.161819 \n-33.0621 -75.2961 -15.739 -0.155629 -0.98667 -0.0475638 \n27.4137 46.7346 -1.02542 -0.908818 0.35422 -0.220403 \n-23.9296 46.1231 -1.51673 0.403399 0.831677 -0.381553 \n-22.3046 47.1221 -0.595491 0.749257 0.149701 -0.645139 \n27.1089 47.6299 -0.492886 -0.857015 -0.17785 -0.483627 \n27.7312 48.9165 -0.667741 -0.857306 0.0149868 -0.514589 \n-23.5592 49.2458 -0.702619 0.893537 0.108441 -0.435697 \n-22.2971 50.9327 -0.623918 0.380842 0.900399 -0.210336 \n-19.197 52.363 -0.750803 0.660226 0.705169 -0.258531 \n-20.0382 51.7385 -0.488884 0.672537 0.72224 -0.161442 \n-18.1063 54.0868 -1.05755 0.869602 0.490478 0.0567724 \n20.0044 55.7739 -1.015 -0.526074 0.847477 0.0709228 \n26.2893 -74.9814 -15.5446 0.403321 -0.871953 -0.277544 \n18.205 56.1388 -0.660229 -0.381908 0.922491 -0.0561786 \n17.89 56.3269 -0.848009 -0.77612 0.499739 -0.384576 \n-17.5777 -74.7589 -14.6723 -0.320557 -0.936366 -0.143042 \n-15.6031 57.5555 -0.876024 0.554744 0.82153 0.131708 \n-14.2291 58.5727 -0.152168 0.969168 0.23082 -0.0862336 \n-14.1921 -7.92465 -25.8632 0.27311 0.0158739 0.961852 \n-13.1811 60.9604 -2.22035 0.770041 0.619811 0.151229 \n25.9863 27.8399 -23.8737 -0.782507 -0.279157 0.556556 \n-33.2324 -15.5688 -9.04579 0.931982 0.339616 -0.126769 \n2.78682 9.68315 -33.4083 0.0654143 -0.123243 0.990218 \n-26.1148 -74.428 -15.1848 -0.0625575 -0.998031 -0.00457383 \n-8.71635 65.2855 -0.416785 0.584635 0.807585 -0.077518 \n10.0567 66.3131 -0.139556 -0.843749 0.529429 -0.0882779 \n-5.64028 67.0657 -1.50514 0.203013 0.973697 -0.103445 \n-23.7002 31.0553 -22.4237 0.993832 -0.103161 0.0406802 \n36.4871 -74.9388 -0.978852 0.200646 -0.932366 -0.300725 \n34.267 -75.0459 -1.90753 0.221596 -0.929332 -0.295358 \n-23.2925 31.1339 -23.838 0.88867 0.214964 0.405039 \n-35.3618 -75.369 -0.166681 0.151103 -0.976101 0.15619 \n-36.026 -74.9566 -0.603419 0.676097 -0.660144 0.327265 \n3.07392 -27.9002 -41.9955 -0.26224 -0.957092 -0.123313 \n44.7558 -74.4273 -1.14802 0.226415 -0.957589 -0.178214 \n44.0948 -74.1301 -0.93611 0.474836 -0.760445 -0.443005 \n43.2147 -73.7124 -1.01727 -0.0147879 -0.732227 -0.6809 \n26.5618 30.9522 -24.2404 -0.789302 -0.250393 0.56063 \n-26.6716 -73.7523 -1.50175 0.546264 -0.824407 0.148154 \n33.0524 -73.2822 -1.43184 0.819443 -0.209499 -0.533502 \n-29.9016 -71.035 -2.08098 -0.675899 0.356987 -0.644764 \n48.9632 -71.3039 -1.52948 -0.845463 0.334824 0.416035 \n-28.2621 -72.5632 -2.89163 -0.491296 -0.124358 -0.862069 \n25.3555 -73.2528 -15.2103 0.789311 -0.280834 -0.546004 \n3.25797 11.1938 -33.5797 0.392215 0.0620291 0.91778 \n-34.3516 -70.0067 -1.32655 0.682208 0.730488 -0.0313117 \n42.7617 -69.3198 -1.45198 0.192989 0.461737 -0.865768 \n-24.3935 32.5506 -23.2358 0.908691 -0.326898 0.25965 \n41.1023 -70.2997 -1.19393 -0.250023 0.480425 -0.840643 \n-25.9554 -69.3992 -1.16747 0.370202 0.926297 -0.070173 \n-25.0162 36.0184 -23.2388 0.94709 -0.0751175 0.312055 \n33.7743 -70.2055 -0.899326 0.866661 0.236229 -0.439426 \n-23.8657 -69.8589 -0.474646 -0.662607 0.608121 -0.437197 \n34.4483 -68.0005 -0.814809 0.719294 0.368079 -0.589181 \n46.7906 -68.2565 -1.31424 -0.440738 0.887241 0.13621 \n28.2076 36.2499 -23.3923 -0.885463 -0.119561 0.449065 \n38.4798 -67.6169 -1.30688 -0.535378 0.789508 -0.300078 \n35.9386 -67.1843 -1.44544 0.299141 0.88935 -0.34579 \n29.0544 -46.0276 -1.1588 0.03136 -0.287067 -0.957397 \n36.1316 -44.2501 -0.92265 -0.229078 -0.447202 -0.8646 \n28.9035 -44.8126 -1.00967 0.0518265 0.0261278 -0.998314 \n34.0722 -45.0554 -1.34502 0.151986 -0.350933 -0.923984 \n-30.8342 -11.3087 -8.93352 0.817468 0.56572 -0.108196 \n37.8447 -43.1972 -1.22211 -0.328438 -0.356473 -0.874675 \n7.64835 13.3164 -33.3784 -0.323577 -0.0588253 0.944371 \n28.4361 41.1878 -22.4825 -0.899708 0.165635 0.403846 \n29.8547 -43.4283 -1.33406 -0.0197503 -0.13751 -0.990303 \n27.4786 40.637 -24.4646 -0.850701 0.163471 0.499585 \n-24.3445 42.0432 -23.5505 0.87605 0.148974 0.458632 \n1.84438 -23.3813 -51.4274 0.406295 0.781714 0.473125 \n26.6111 -42.6738 -1.00039 0.139666 -0.107033 -0.984397 \n31.1656 -42.9472 -1.2823 -0.0435531 -0.247847 -0.96782 \n28.5842 -42.5524 -1.25191 0.140846 -0.165173 -0.976156 \n-16.7912 -71.9809 -14.6007 -0.894217 0.0517181 -0.444636 \n6.70422 -30.7477 -56.1248 -0.951992 0.0717705 0.297591 \n-28.3125 -40.8725 -1.00138 -0.254898 -0.672072 -0.695231 \n-5.77592 12.577 -33.7067 0.174257 -0.17361 0.969275 \n-31.9328 -40.5424 -1.33389 0.539133 -0.627968 -0.561241 \n39.5107 -39.0152 -0.824284 -0.547216 -0.0430115 -0.835886 \n29.7241 -39.6601 -1.0171 0.47756 0.26552 -0.837518 \n33.3761 -7.78795 -9.72714 -0.590738 0.787129 -0.177359 \n29.4667 -38.7421 -1.268 0.435445 -0.0744079 -0.897135 \n3.96732 12.3852 -33.8879 0.294767 -0.0309276 0.955069 \n29.8498 -37.9735 -0.767231 0.47373 -0.0384346 -0.879831 \n-22.8423 44.6575 -23.3978 0.774918 0.382177 0.503431 \n43.3694 -71.0259 -15.9026 -0.479848 0.0829613 0.873421 \n-22.2617 -36.5048 -0.867705 -0.450492 -0.306742 -0.838431 \n-7.30902 13.0736 -33.2743 0.427134 -0.0719217 0.901323 \n39.8327 -37.0401 -1.28179 -0.727243 -0.377941 -0.572956 \n27.2873 43.7288 -23.2637 -0.828845 0.317055 0.460969 \n30.0499 -36.9095 -0.83271 0.468921 -0.131811 -0.873349 \n4.32616 13.8127 -33.7919 0.526302 0.339668 0.779507 \n16.1582 -9.20735 -26.2603 -0.247649 0.0293593 0.968405 \n41.8565 -35.0757 -1.01729 -0.830242 -0.532532 -0.164647 \n42.5094 -33.2294 -1.40047 -0.980846 -0.167013 0.10024 \n-19.8626 -33.9719 -1.27597 -0.628586 -0.431679 -0.646941 \n0.68824 -26.9488 -43.7804 0.504504 -0.860885 0.0659721 \n-31.8978 -31.2156 -1.34872 0.722761 0.513088 -0.462987 \n25.5851 -29.6725 -1.26003 0.60849 -0.569889 -0.552237 \n-26.5792 -43.0836 -25.5302 0.129583 0.412332 0.901771 \n-12.6058 -27.3546 -16.949 -0.696341 -0.605536 0.385273 \n30.2773 -29.0283 -18.4928 -0.117454 -0.607131 0.785873 \n20.5784 -25.2087 -0.813639 0.634487 -0.629097 -0.44907 \n12.6728 42.3128 -36.788 -0.193632 0.228191 0.954167 \n19.3158 -24.1804 -1.01412 0.731942 -0.572333 -0.369723 \n-33.2094 -24.2088 -1.6304 0.804809 0.133769 -0.578263 \n-13.3056 -23.7405 -1.49882 -0.709766 -0.36522 -0.602368 \n18.302 -22.7969 -1.58697 0.757098 -0.613492 -0.224565 \n42.4523 -67.8946 -16.1133 -0.687423 0.257506 0.679073 \n24.4099 -67.0182 -15.6119 0.943078 0.0360757 -0.33061 \n5.41343 14.5576 -33.7903 -0.154013 0.308159 0.938785 \n18.5219 -22.4013 -1.01093 0.533891 -0.333356 -0.777067 \n17.6439 -21.386 -0.890434 0.459716 -0.304042 -0.834398 \n-31.251 -66.958 -15.2411 0.519608 0.816457 0.251802 \n-21.2459 50.0458 -23.3526 0.871974 0.30658 0.381667 \n28.6593 -4.60345 -10.7534 -0.320751 0.925049 -0.203477 \n-15.7352 -62.5059 -19.2312 -0.897456 -0.166461 -0.408489 \n-30.3885 -19.976 -0.895334 0.657255 0.244926 -0.71276 \n21.2922 -29.0979 -18.7198 0.315645 -0.783954 0.534588 \n-25.3855 -4.75105 -9.03702 0.451097 0.861004 -0.234911 \n15.5007 -18.6395 -1.43356 0.48886 -0.206377 -0.847599 \n16.545 -17.9305 -1.02583 0.410028 -0.117852 -0.904427 \n37.3778 -16.9218 -1.67271 -0.757395 0.45407 -0.469226 \n4.76317 -22.4551 -49.6853 -0.461813 0.850773 0.250827 \n-27.8748 -29.678 -18.0989 0.62982 -0.192844 0.752421 \n-28.895 -15.7097 -1.65203 0.559028 0.372172 -0.740929 \n3.37212 17.7078 -33.5752 -0.123556 -0.307614 0.943455 \n-36.0602 -69.5539 -11.1326 0.781864 0.603966 0.154641 \n21.8552 51.48 -23.9588 -0.75294 0.424203 0.503123 \n0.795559 -15.6152 -1.65166 0.403801 -0.841426 -0.359093 \n24.9454 -65.8857 -17.4527 0.961958 0.254199 0.100094 \n-12.8193 -15.6384 -0.239583 -0.306941 0.104308 -0.945995 \n16.1817 -14.7457 -0.917641 0.34402 0.0196323 -0.938757 \n-0.335686 -14.7338 -1.54591 0.721328 -0.638486 -0.26837 \n40.3868 -64.4725 -15.7617 -0.840902 0.430045 0.32855 \n-12.4664 -14.1136 -0.969225 -0.179878 0.269175 -0.946144 \n25.0606 -65.3494 -15.6253 0.960092 -0.145257 -0.239006 \n-11.8841 -13.7825 -0.984958 -0.113189 -0.154612 -0.98147 \n32.0686 -13.4191 -0.723709 -0.360766 0.574073 -0.735043 \n21.2734 53.1803 -24.0326 -0.806738 0.433333 0.40174 \n-13.8813 -13.0429 -0.776112 -0.304296 0.157758 -0.939424 \n-24.4123 -12.8788 -0.87211 0.40727 0.44974 -0.794899 \n33.0882 -12.9072 -1.23865 -0.314991 0.572984 -0.756617 \n-22.659 32.6608 -25.4482 0.829672 -0.313572 0.461863 \n6.22372 -11.6058 -0.684594 -0.512725 -0.462169 -0.723542 \n8.17045 -10.0206 -0.483974 -0.337267 -0.524095 -0.782033 \n-23.9965 -11.6378 -1.0331 0.410039 0.4256 -0.80668 \n-18.676 -62.973 -15.5596 -0.592234 -0.00682171 -0.805737 \n-16.7642 -65.1394 -17.1536 -0.707733 0.540437 -0.455019 \n15.5931 -10.4541 -0.841587 0.0654159 -0.128251 -0.989582 \n-11.7923 43.7931 -36.1987 0.438993 0.173316 0.881616 \n26.1535 -10.1038 -1.06914 -0.0934647 0.876577 -0.472099 \n-20.7957 -9.31785 -1.27677 0.22716 0.527778 -0.818443 \n24.1346 -9.83205 -0.40049 -0.168431 0.504004 -0.847119 \n21.841 -7.80775 -1.60025 -0.117558 0.500653 -0.857629 \n-14.2644 -29.1802 -17.7198 -0.684359 -0.465509 0.561208 \n21.0075 -9.07725 -0.944384 0.0263726 0.316659 -0.948173 \n48.7818 -68.2903 -11.2169 -0.660121 0.584699 0.471558 \n19.6246 -7.94165 -0.960538 -0.243538 0.205827 -0.9478 \n23.0424 -61.9294 -16.5662 0.771651 -0.632916 0.0630273 \n-15.7739 -7.15955 -0.484268 0.371954 0.0826974 -0.92456 \n17.3818 -4.45005 -0.696811 -0.265946 0.226736 -0.936944 \n16.184 -3.55015 -0.920399 -0.17543 0.371119 -0.911864 \n-14.8168 58.9615 -23.2268 0.613661 0.709505 0.346443 \n-27.4233 -61.2861 -15.1617 0.566073 -0.546387 -0.617271 \n22.1199 47.5062 -27.9385 -0.692753 0.355089 0.627698 \n13.6498 -23.0928 -10.6223 0.715986 -0.566752 -0.407622 \n-28.7536 -60.7605 -16.1299 0.744158 -0.478452 -0.466167 \n-13.5644 60.1576 -23.8594 0.559839 0.777672 0.286018 \n-11.7266 1.60295 -1.39266 0.542618 0.136844 -0.828758 \n25.2208 34.4699 -25.1879 -0.792977 0.0156242 0.609051 \n22.7371 -60.3237 -15.7196 0.981818 -0.0882747 -0.168048 \n14.595 60.3765 -23.7749 -0.646749 0.642442 0.411076 \n-16.3988 -60.8242 -15.6374 -0.597214 -0.453637 -0.661475 \n8.40553 19.4296 -34.2008 0.0658833 -0.649533 0.757473 \n-11.9482 5.94175 -1.15496 0.684525 -0.227505 -0.69258 \n14.8941 7.71805 -1.48869 -0.795692 -0.438939 -0.417381 \n-13.432 9.47265 -0.47153 0.75794 -0.322276 -0.567156 \n24.7519 -64.6581 -18.2262 0.922515 -0.214001 0.3212 \n21.407 2.82365 -10.05 -0.870345 0.410921 -0.271374 \n-15.5391 11.5077 -1.88231 0.837419 -0.42779 -0.340185 \n-16.1298 -59.3046 -14.6333 -0.600153 -0.55504 -0.575974 \n19.2174 12.9653 -0.902005 -0.0221015 -0.955638 -0.293713 \n-9.01382 62.4935 -23.0225 0.413646 0.736046 0.535849 \n-0.770378 18.5439 -33.7522 0.10463 -0.339347 0.934824 \n-3.37746 19.0397 -33.5088 0.165033 -0.339918 0.925862 \n-19.7215 18.2139 -0.350155 0.841283 -0.526712 -0.121726 \n11.127 62.6377 -24.1401 -0.235331 0.942411 0.237657 \n-6.95434 62.8537 -24.0758 0.338627 0.591848 0.73147 \n-17.656 2.62235 -9.56765 0.738606 0.618225 -0.26881 \n11.87 41.5116 -36.7748 0.0575812 0.162311 0.985058 \n26.709 23.2441 -2.0801 -0.708933 -0.65806 -0.253714 \n-32.7412 22.9575 -1.61285 -0.0936527 -0.993436 -0.0656808 \n-27.0191 23.4587 -0.78471 -0.0509661 -0.976026 -0.211605 \n-18.0672 49.5486 -28.5253 0.545058 0.681826 0.487878 \n37.1632 24.9984 -1.54951 -0.367769 -0.926223 0.0828075 \n35.8629 24.7611 -1.66362 -0.109812 -0.985064 0.132626 \n29.3328 24.6996 -1.60297 0.155607 -0.986547 0.0501087 \n-42.5373 25.2283 -1.98487 0.0663896 -0.878235 0.473599 \n-43.143 25.199 -1.34142 0.60646 -0.795076 0.0077251 \n38.8013 26.0905 -2.10497 -0.53849 -0.790517 0.291739 \n-30.1961 -58.1105 -16.7057 0.923134 -0.258185 -0.284893 \n-43.7276 25.9596 -2.1402 0.863619 -0.496249 0.0888777 \n41.3154 28.2298 -2.2716 -0.764813 -0.564607 0.310289 \n-10.7619 -6.89285 -26.8777 0.193278 0.0420704 0.980242 \n9.79964 -11.1859 -27.2155 -0.163352 -0.460412 0.872546 \n7.48889 18.9344 -33.2554 0.0139173 -0.505891 0.862485 \n-16.9396 4.40605 -9.09747 0.877109 0.317333 -0.360527 \n-14.0419 -57.1358 -15.3412 -0.849774 -0.367325 -0.378097 \n-13.5332 -56.4152 -16.6788 -0.898867 -0.313163 -0.30654 \n-47.0694 35.2163 -0.30625 0.778673 0.120464 0.615757 \n44.2452 36.3995 -1.80063 -0.769055 0.131378 0.625535 \n-33.1264 -69.1661 -10.1111 0.207173 0.738559 -0.641568 \n43.4517 38.7376 -1.32862 -0.706807 0.346111 0.616953 \n-10.2139 42.1358 -36.6972 0.00707019 0.153998 0.988046 \n-30.5335 -55.5494 -15.961 0.903192 -0.364997 -0.225881 \n22.2359 -55.5598 -15.4447 0.957399 -0.10299 0.269778 \n41.4379 41.6887 -0.993432 -0.646731 0.68116 0.343162 \n-34.3217 42.7103 -1.51786 0.210477 0.962918 -0.168783 \n37.349 44.1588 -1.37368 -0.319729 0.903058 0.286808 \n27.9695 45.2431 -1.99955 -0.906175 0.422629 0.0152284 \n-22.8162 46.6753 -1.2319 0.701238 0.568494 -0.430209 \n-23.5672 48.143 -1.18912 0.569627 -0.323649 -0.755498 \n-23.8911 48.7589 -1.56415 0.80246 0.461359 -0.378425 \n-23.1728 50.3712 -1.27544 0.707592 0.696212 0.120841 \n24.538 51.6245 -0.484613 -0.611825 0.760231 0.218447 \n23.9443 52.4992 -1.42579 -0.738291 0.654244 0.163985 \n41.1154 -52.9664 -16.0108 -0.979763 -0.169722 0.106104 \n-17.5156 55.2258 -0.672791 0.761057 0.58359 0.283222 \n16.8592 58.3531 -1.00559 -0.781611 0.610606 0.127457 \n-14.1621 59.2517 -1.99878 0.93786 0.333313 0.0965491 \n-7.25484 20.1558 -34.0218 -0.131507 -0.697511 0.704403 \n-9.01903 19.4331 -33.198 0.103766 -0.625418 0.773359 \n-8.81268 -11.7446 -26.4895 -0.0216531 -0.355204 0.934538 \n-10.6997 62.7408 -1.82884 0.610464 0.791869 -0.0166213 \n-18.6819 -57.7122 -29.4317 -0.47339 0.235068 0.848908 \n12.7856 63.8078 -1.64128 -0.715695 0.695962 0.0584616 \n-10.1195 64.4771 -2.03737 0.750462 0.647724 -0.131382 \n10.3173 66.071 -1.91618 -0.811322 0.583689 0.0326008 \n-10.1121 -5.11215 -26.4902 0.277367 0.0577563 0.959027 \n6.99754 20.3483 -34.0758 0.393232 -0.564711 0.725583 \n37.4487 -75.2231 -1.66356 0.0689787 -0.997536 -0.0127768 \n22.1112 -50.8222 -16.0704 0.933803 0.00786599 0.3577 \n46.5559 -74.8346 -2.09058 0.0672762 -0.997451 -0.0237988 \n41.1264 -74.9641 -1.10636 -0.329277 -0.913646 -0.238386 \n-30.0156 -73.8939 -1.95947 -0.573469 -0.576348 -0.5822 \n39.9938 -64.7304 -16.6125 -0.779705 0.314611 0.541369 \n-32.3756 -49.8395 -15.9255 0.90584 -0.185238 -0.380973 \n-35.3064 -72.4967 -2.24785 0.910397 0.158009 0.382376 \n-23.0702 -72.9498 -0.435796 -0.864331 -0.255668 -0.433088 \n33.0736 -72.1308 -1.39761 0.894791 0.118731 -0.430409 \n-27.2292 -71.5972 -1.32244 0.851105 0.51859 0.0817644 \n-28.8752 -71.8717 -2.82633 -0.536332 0.472697 -0.699218 \n39.1412 -64.9763 -17.9343 -0.72011 0.275371 0.636877 \n-31.1649 -70.0029 -1.45007 -0.475456 0.59024 -0.652348 \n-31.9864 -69.4295 -1.77299 -0.159881 0.794398 -0.585978 \n-33.111 -47.9566 -15.3762 0.935252 -0.183867 -0.302483 \n21.9381 -47.6102 -15.649 0.941483 0.0180445 0.336576 \n43.8209 -68.6457 -1.45142 0.475936 0.581798 -0.659542 \n45.8126 -67.9483 -1.01244 -0.00349447 0.975235 -0.221145 \n-11.8317 -47.7605 -15.3945 -0.973164 0.108991 0.202662 \n37.5351 -66.5806 -1.50484 0.0366552 0.799456 -0.599606 \n34.3115 -47.2084 -1.69605 -0.0360303 -0.560015 -0.827699 \n33.6566 -46.6047 -1.51129 0.223997 -0.252683 -0.941263 \n36.5416 -46.1196 -1.89701 -0.234433 -0.31111 -0.921006 \n35.2494 -45.8912 -1.53406 -0.123646 -0.30931 -0.942889 \n-23.0899 34.3871 -25.6647 0.830219 -0.120971 0.544154 \n30.5399 -44.8913 -1.43183 -0.151212 -0.177807 -0.972378 \n26.979 -44.7289 -1.67661 0.229096 -0.206396 -0.951271 \n19.1312 51.0027 -27.5125 -0.535693 0.778168 0.327853 \n14.344 19.5684 -32.571 -0.305779 -0.631942 0.712144 \n-4.3039 21.4305 -33.849 0.22426 -0.276424 0.934504 \n32.6492 -43.9156 -1.25562 0.159675 -0.321852 -0.933228 \n39.0592 -44.2536 -1.46366 -0.181939 -0.426425 -0.886036 \n28.1567 -43.5838 -1.35264 0.0443913 -0.0592568 -0.997255 \n-5.03678 21.6277 -34.0891 -0.447426 -0.651869 0.612272 \n39.7257 -43.5536 -1.73848 -0.788591 -0.0244314 -0.614433 \n38.5263 -42.6679 -1.34356 -0.372778 0.0477332 -0.926692 \n25.7102 -41.9156 -1.52961 0.706128 0.0666331 -0.704942 \n-6.21534 20.8763 -34.2899 -0.384386 -0.709916 0.59014 \n34.1021 -72.4612 -23.7348 -0.565686 -0.0602541 0.822417 \n-10.5985 20.7467 -33.1915 0.421325 -0.199009 0.884806 \n27.8766 -41.47 -1.19012 -0.0145106 0.219224 -0.975567 \n27.5992 -40.1131 -1.84576 0.188715 0.532215 -0.825308 \n-23.5676 -40.5041 -1.77621 -0.394577 -0.400796 -0.826845 \n-12.686 -44.909 -15.549 -0.86328 0.50416 0.0239043 \n28.729 -39.8316 -1.69382 0.404861 0.112883 -0.907384 \n22.529 -42.9619 -15.9513 0.891625 0.261798 0.369414 \n-33.5645 -38.8631 -1.75281 0.905242 -0.347103 -0.245064 \n28.9769 -37.8012 -1.46003 0.510664 0.111287 -0.852548 \n-26.8196 -71.0826 -24.0259 0.675323 -0.170942 0.717438 \n-14.1942 -42.0141 -16.2313 -0.908383 0.413596 0.0614721 \n40.8362 -36.1302 -1.92906 -0.75423 -0.646786 -0.113156 \n-33.7099 -35.8914 -0.878046 0.894744 -0.0374049 -0.44501 \n-3.22216 30.5698 -38.6027 0.124987 -0.218905 0.967708 \n-19.0548 -34.1075 -1.92397 -0.661478 -0.525469 -0.535097 \n33.5938 -26.6251 -18.6138 -0.468523 -0.374848 0.799985 \n33.733 -69.7174 -23.9567 -0.481537 0.119023 0.868306 \n23.8461 -70.6735 -24.1013 0.805642 0.146475 0.574009 \n6.32958 33.569 -38.8302 -0.143125 -0.12543 0.981724 \n42.4468 -31.5272 -0.971471 -0.991427 0.0952669 0.0894254 \n23.4411 -40.984 -16.1935 0.741115 0.479037 0.470396 \n-17.6257 -31.8236 -2.01083 -0.752337 -0.317845 -0.57703 \n-14.947 39.3607 -35.169 0.579433 0.0847937 0.810597 \n-32.407 -30.8162 -2.14095 0.780193 -0.295486 -0.55135 \n42.1177 -29.7123 -1.38339 -0.97318 0.197496 0.117967 \n-16.7554 -29.0276 -1.11988 -0.607537 -0.451084 -0.653776 \n41.6729 -27.8529 -1.36827 -0.835476 0.528483 0.150617 \n-33.6088 -28.2877 -2.17704 0.859386 -0.250671 -0.445668 \n40.4198 -26.695 -1.14519 -0.726542 0.687099 0.00560398 \n15.9 18.806 -29.0808 -0.292564 -0.916869 0.271585 \n22.2409 -26.6502 -1.45661 0.671334 -0.735664 -0.0900452 \n24.2719 -63.8445 -17.9284 0.966265 -0.205779 0.154875 \n-12.0165 22.2312 -33.4286 0.485695 -0.350851 0.800627 \n19.1607 -24.0136 -1.79348 0.699302 -0.711463 0.0692608 \n-11.128 41.1957 -36.9016 0.217472 0.138695 0.966162 \n-16.4981 -64.5799 -17.8212 -0.847124 0.178407 -0.500552 \n-32.3032 -22.2931 -1.38525 0.63739 0.295373 -0.71168 \n-12.1069 -21.4991 -1.43674 -0.634262 -0.430511 -0.642162 \n-31.9583 -20.9291 -1.939 0.721045 0.309058 -0.620143 \n-16.1918 -39.2615 -15.3842 -0.783893 0.611745 -0.106204 \n1.47053 -28.7578 -52.2458 0.497616 -0.864911 -0.0656301 \n16.5639 -19.8659 -1.3056 0.515753 -0.214264 -0.829512 \n38.6569 -19.501 -1.66533 -0.806179 0.396295 -0.439347 \n-11.4577 -20.1604 -1.48758 -0.728227 -0.229086 -0.645914 \n31.2231 -28.6438 -18.5166 -0.413326 -0.486981 0.769423 \n-18.1726 51.7271 -28.1356 0.629921 0.238191 0.739232 \n-11.1455 -18.6368 -1.55929 -0.578565 -0.171895 -0.797317 \n-29.3495 -16.9746 -1.52296 0.592572 0.37364 -0.713619 \n-31.3194 -38.9218 -14.7203 0.800506 0.524148 0.290618 \n15.4913 -15.6364 -1.33679 0.436523 -0.143863 -0.888117 \n25.4097 36.0027 -25.6051 -0.628183 -0.321837 0.708383 \n2.02854 -16.1239 -1.9143 0.0333985 -0.945197 -0.324787 \n-24.1108 21.4708 -9.1007 0.860248 -0.503125 -0.0826948 \n33.9041 -66.965 -23.2535 -0.410768 0.329701 0.850039 \n-16.6404 51.5278 -28.6486 0.377812 0.291834 0.878687 \n26.2384 -67.0452 -23.6978 0.429725 0.658301 0.618043 \n16.8994 24.6168 -33.506 -0.560378 -0.409092 0.720153 \n16.6322 -26.8553 -17.6706 0.491051 -0.752515 0.438852 \n-7.54064 -15.156 -2.08718 -0.169517 -0.541122 -0.823682 \n-10.696 -14.7596 -1.5867 -0.370633 -0.143741 -0.917589 \n17.7484 -2.30815 -25.6762 -0.659738 -0.0514783 0.74973 \n31.9388 -66.5854 -23.7273 -0.227242 0.548168 0.804905 \n-5.56867 -12.9699 -1.46256 -0.272638 -0.41484 -0.868088 \n0.466452 32.5435 -38.6429 0.342438 -0.330837 0.879365 \n15.3202 -13.4927 -0.942645 0.260634 -0.0957786 -0.960675 \n-13.5008 -66.8623 -23.2257 -0.892233 0.444823 -0.0777992 \n35.0569 -26.138 -17.8137 -0.58514 -0.330453 0.740549 \n11.345 41.73 -36.866 -0.610627 0.193473 0.767921 \n-27.3894 -67.7186 -24.4063 0.784911 0.22687 0.57658 \n31.3783 -12.9416 -1.05165 -0.201532 0.705874 -0.679063 \n-28.7392 -27.9636 -18.7406 0.716784 -0.241982 0.653961 \n-25.8498 -12.3327 -1.70051 0.464054 0.419058 -0.780413 \n30.5912 -12.4945 -1.12471 -0.428651 0.572661 -0.698797 \n13.8275 -11.567 -1.27976 0.215058 -0.199835 -0.955937 \n-2.60516 -12.2421 -1.97555 -0.068934 -0.583692 -0.809044 \n-3.9904 -11.5327 -1.34591 -0.151429 -0.489638 -0.858676 \n-11.9971 24.9136 -34.0049 0.53883 -0.228699 0.810777 \n-0.102118 32.9679 -38.7131 -0.104398 -0.205314 0.973112 \n-9.26516 32.2459 -37.4155 0.482008 -0.135971 0.865552 \n-25.3109 -11.17 -1.61593 0.467683 0.435604 -0.769105 \n-12.5474 25.8755 -33.7683 0.467985 -0.306479 0.828891 \n-27.4312 23.7735 -7.34788 0.04348 -0.953465 0.298352 \n-10.0505 -3.71785 -26.6536 0.61182 -0.300518 0.731686 \n26.8712 37.5756 -25.3702 -0.594534 -0.129244 0.793616 \n-23.0138 -10.1047 -1.54538 0.256582 0.565039 -0.784154 \n28.0031 -9.81505 -1.96251 -0.102985 0.817346 -0.566868 \n26.8802 -9.66935 -2.06367 -0.126669 0.783941 -0.607776 \n16.7369 -2.57015 -26.2964 -0.223074 0.318369 0.921346 \n-20.4382 -8.00975 -1.86084 0.273915 0.609653 -0.743837 \n25.1157 -8.55615 -1.68475 -0.488074 0.536409 -0.688512 \n24.191 -62.933 -16.7934 0.871518 -0.488245 -0.0455419 \n-18.9237 -8.80025 -1.03351 0.133514 0.392542 -0.909992 \n36.2892 -34.7635 -15.9204 -0.279495 0.759551 0.587337 \n-15.8731 55.168 -27.0715 0.83696 0.443087 0.321203 \n-18.8731 -67.3218 -11.5982 -0.824065 0.354811 -0.441617 \n-17.4886 -7.95125 -1.43291 0.294404 0.438119 -0.849339 \n31.4734 -27.3849 -19.4604 -0.438479 -0.379206 0.814825 \n20.6327 -4.69275 -2.21264 -0.429636 0.23628 -0.871542 \n33.9469 -34.4939 -16.0421 -0.232568 0.274655 0.932993 \n27.7659 -34.2064 -15.6621 0.43148 0.0977572 0.89681 \n15.7979 -3.00175 -1.16107 -0.523337 0.248085 -0.815213 \n-15.9514 -4.21595 -1.08154 0.468168 0.222584 -0.855146 \n16.465 -1.58445 -2.0747 -0.512342 0.299696 -0.80479 \n-13.4956 -1.37335 -1.42427 0.321048 0.370804 -0.871455 \n-14.42 -60.6888 -24.1362 -0.91938 -0.261713 0.293679 \n27.7238 -32.8792 -15.5156 0.326125 -0.238681 0.914699 \n12.7415 -21.9167 -10.1089 0.749427 -0.576631 -0.325356 \n6.61989 21.8576 -35.8189 0.467246 -0.660846 0.587337 \n15.132 4.04435 -1.70506 -0.721788 0.0604825 -0.689467 \n5.36268 -28.5071 -51.4707 -0.47215 -0.830753 -0.294829 \n-11.6491 3.24905 -1.40281 0.669506 -0.0500383 -0.74112 \n28.3762 25.1854 -10.1057 -0.656924 -0.674311 0.337277 \n13.7383 4.74055 -0.29652 -0.672786 -0.0384136 -0.738839 \n15.7242 8.94545 -0.584314 -0.711598 -0.53272 -0.458082 \n-9.71493 42.1452 -36.7803 0.594527 0.120691 0.794966 \n-40.0418 -72.5779 -7.78967 0.895307 0.228513 0.382369 \n-29.6423 -58.7019 -24.4497 0.874921 -0.16703 0.454548 \n-13.948 10.3411 -0.462515 0.697316 -0.547986 -0.46202 \n-16.0669 13.2056 -1.21873 0.84094 -0.513053 -0.172038 \n-16.6903 13.6269 -2.59073 0.237289 -0.943725 -0.230386 \n-16.8771 13.9475 -0.940387 0.472368 -0.87046 -0.138451 \n-17.8787 14.3744 -1.11012 0.602752 -0.462274 -0.65038 \n-13.7455 -57.1088 -23.5477 -0.969911 -6.61859e-005 0.243461 \n-18.3591 15.9037 -0.997827 0.739087 -0.544121 -0.397093 \n21.25 15.1103 -2.84499 -0.669659 -0.719915 -0.182426 \n22.191 16.466 -1.94035 -0.778364 -0.606055 -0.163848 \n24.1481 19.6478 -0.787658 -0.871755 -0.458088 -0.173777 \n-20.6327 18.7078 -1.84876 0.721583 -0.633852 -0.278478 \n-14.2309 -55.7344 -24.3398 -0.915568 0.0725912 0.395557 \n25.9057 -32.8325 -15.5272 0.0168593 -0.798789 0.601376 \n18.0307 53.3999 -27.8399 -0.484423 0.303399 0.820539 \n16.8844 53.9386 -27.7619 -0.222938 0.588 0.777531 \n33.6422 -31.4867 -15.8441 -0.26977 0.077228 0.959823 \n-26.0445 23.2414 -2.63952 0.113662 -0.987462 -0.109549 \n6.88315 31.3438 -38.3822 -0.18047 -0.138482 0.973783 \n-30.3636 23.1579 -1.84939 -0.0857147 -0.985155 -0.148736 \n-28.8446 23.5288 -2.08447 -0.0505902 -0.99839 -0.0256541 \n-35.8408 26.3251 -9.61751 0.446738 -0.656943 0.607331 \n-13.8833 -53.3061 -23.5234 -0.895349 0.15655 0.416945 \n-31.3863 -52.5625 -23.3155 0.875995 -0.159467 0.455197 \n28.7449 24.7421 -2.39452 -0.195505 -0.977467 -0.0796036 \n-39.2065 24.452 -0.977445 0.142117 -0.931365 0.335206 \n-41.4258 25.0095 -1.2375 0.140538 -0.939035 0.313789 \n40.3778 26.6005 -1.16372 -0.661178 -0.706101 0.253504 \n5.61588 -26.2149 -55.3601 -0.541969 0.447595 0.711286 \n42.2393 28.9615 -1.21518 -0.652741 -0.638711 0.407402 \n42.7104 30.2476 -1.95129 -0.732139 -0.382612 0.563542 \n-29.6476 -31.236 -15.2716 0.748947 -0.392894 0.533585 \n-44.8834 30.6126 -1.7676 0.970879 -0.20099 -0.130376 \n-45.5471 32.6048 -1.74687 0.826998 -0.284759 0.484755 \n-30.9933 -51.3565 -24.0097 0.767765 0.0298291 0.640037 \n22.8517 -31.1528 -16.143 0.308721 -0.845808 0.435087 \n44.3971 35.149 -1.52616 -0.768012 0.079895 0.635433 \n-45.6744 36.577 -1.41111 0.918688 0.208671 0.335365 \n33.8094 28.6824 -9.67078 -0.55256 -0.415676 0.72242 \n3.37898 31.1754 -38.8928 -0.0567355 -0.165781 0.984529 \n-37.6585 28.09 -9.30703 0.736785 -0.353351 0.576447 \n-14.7259 -48.286 -23.5329 -0.803601 0.244874 0.54246 \n-39.2719 40.9095 -0.702648 0.00667277 0.999053 0.0429886 \n-41.103 40.9436 -2.56227 0.00206135 0.95664 0.291267 \n40.6031 42.506 -1.76107 -0.65195 0.701925 0.286815 \n39.6525 43.1464 -1.24259 -0.50931 0.806241 0.300964 \n-29.0158 43.4706 -2.29368 0.393713 0.854735 -0.338259 \n11.3944 43.2555 -36.4162 -0.221954 0.239754 0.945121 \n-23.6273 46.6267 -1.72757 0.424619 -0.0535509 -0.903787 \n19.132 32.0138 -33.8105 -0.799609 -0.159464 0.578961 \n27.9478 49.5775 -2.11936 -0.781645 0.597199 -0.179958 \n-20.4766 -43.2381 -25.4817 -0.19773 0.395181 0.89707 \n-16.1007 32.7041 -33.69 0.560245 -0.250526 0.789533 \n-21.558 51.0055 -1.61166 0.596319 0.767785 -0.234328 \n36.0885 29.7815 -9.03275 -0.409938 -0.391419 0.823858 \n-20.7334 52.4139 -1.79802 0.622129 0.71582 -0.317108 \n-18.7616 53.3979 -1.46262 0.531546 0.700136 -0.476726 \n-16.4065 53.7029 -27.7356 0.52507 0.461543 0.715038 \n-15.5167 -46.3458 -23.6502 -0.717724 0.372335 0.588421 \n-30.6214 -45.3425 -23.8365 0.744534 0.0938793 0.660951 \n-15.8403 57.0046 -1.67419 0.719757 0.631282 0.288848 \n34.5252 -24.6316 -18.3293 -0.609774 -0.214803 0.762912 \n18.508 56.3806 -1.67739 -0.756118 0.484024 -0.440462 \n36.6163 -15.3401 -17.3225 -0.813652 0.160883 0.558647 \n-14.457 57.8924 -0.923693 0.718599 0.674442 0.169538 \n17.566 58.2038 -1.88618 -0.70123 0.641441 -0.311175 \n15.79 59.0794 -1.77024 -0.60006 0.782664 -0.165423 \n-18.8034 -71.4204 -7.73833 -0.971197 0.114214 -0.209123 \n-10.2127 63.8298 -1.3976 0.939916 0.306001 -0.151395 \n10.905 64.9109 -1.62211 -0.632852 0.768569 0.0938123 \n15.8656 -25.397 -18.3766 0.526533 -0.646311 0.552308 \n16.0499 55.2678 -28.0387 -0.867636 0.354072 0.349056 \n-7.13458 66.4057 -0.980508 0.485718 0.866368 -0.116118 \n5.45768 68.201 -0.983699 0.0315723 0.992264 -0.120067 \n4.03507 67.9482 -1.79124 -0.105599 0.988384 -0.109293 \n-1.58163 68.392 -3.56853 0.160913 0.986217 -0.0385115 \n36.5328 -75.1918 -1.91516 -0.0371269 -0.99931 -0.00107497 \n-35.0238 -74.8315 -2.65155 0.463005 -0.824443 0.325453 \n46.7839 -74.781 -3.59133 -0.289335 -0.951906 0.100795 \n-18.4162 -42.9548 -24.3603 -0.438559 0.478587 0.760671 \n-25.4792 -74.1935 -1.48387 0.109254 -0.983799 -0.142138 \n-38.5942 31.3304 -8.99389 0.673705 -0.25202 0.694699 \n6.36483 -32.5082 -56.2777 -0.890771 -0.411092 -0.193726 \n-35.5934 -73.7309 -1.64676 0.927357 0.146166 0.344448 \n55.2859 -73.923 -1.9634 0.0602796 -0.21125 -0.975572 \n-15.5959 54.5184 -28.6982 0.718288 0.432025 0.545359 \n32.5999 -73.6829 -2.72517 0.919093 0.019075 -0.393578 \n12.3501 43.7992 -36.4081 -0.0927644 0.203009 0.974773 \n-29.2418 -72.575 -2.00138 -0.696344 -0.0449044 -0.716302 \n-31.7527 -26.3706 -15.8481 0.834507 -0.193814 0.515785 \n-38.7103 32.4895 -9.06269 0.680148 -0.049987 0.731368 \n41.341 -69.5191 -1.37649 -0.172657 0.383705 -0.907171 \n37.6091 -25.6014 -15.6438 -0.703004 -0.456096 0.545676 \n-23.4701 -69.2692 -2.59553 -0.300283 0.897269 -0.323632 \n-24.6411 -68.9958 -3.06416 0.155482 0.975114 -0.158048 \n2.44867 -31.0592 -54.5897 0.696513 -0.641899 -0.32068 \n42.5723 -68.3594 -2.02378 -0.0998139 0.465357 -0.879477 \n33.7108 -68.225 -2.46389 0.865504 0.33613 -0.371375 \n-28.1443 -41.2482 -24.0808 0.364954 0.591074 0.719333 \n29.6922 -49.3575 -1.98693 0.0998539 -0.256269 -0.961434 \n19.2576 37.608 -34.1795 -0.705151 -0.165734 0.689416 \n29.0777 -47.6359 -1.98876 0.0387398 -0.244485 -0.968879 \n27.885 -47.0372 -1.89903 0.286534 -0.285335 -0.914594 \n32.1543 -46.7325 -2.19805 0.0433899 -0.298486 -0.953427 \n30.4981 -46.4296 -1.85531 -0.224619 -0.279259 -0.933574 \n-32.4646 -24.7676 -15.4895 0.802595 -0.218673 0.554999 \n22.8896 -61.302 -16.6264 0.908281 -0.00219367 0.418356 \n25.5543 -45.3889 -1.8474 0.278489 -0.23299 -0.931751 \n32.3246 -45.4677 -1.97304 0.0676235 -0.257185 -0.963993 \n26.5891 -46.9817 -2.36955 0.201965 -0.274275 -0.940204 \n-9.44087 -23.4977 -15.8958 -0.802453 -0.482688 0.350829 \n24.9443 -42.312 -2.50712 0.664556 0.102642 -0.740156 \n-28.1686 -42.1836 -2.5485 0.0511338 -0.747414 -0.662388 \n-24.9068 -56.051 -29.0295 0.415343 0.196362 0.888219 \n39.2081 -41.9623 -1.85764 -0.619123 -0.0601467 -0.782987 \n-25.8521 -42.1373 -2.48759 -0.113017 -0.422694 -0.899198 \n-24.7891 -40.8363 -1.58736 -0.139796 -0.534851 -0.833301 \n26.2901 -40.9397 -1.35617 0.346269 0.463379 -0.815707 \n39.9372 -40.611 -2.13099 -0.591099 -0.162617 -0.790037 \n19.6247 -23.1355 -23.2395 0.188154 -0.576407 0.795206 \n39.1884 -40.2477 -1.23833 -0.5905 -0.29749 -0.750206 \n-22.0349 -38.5955 -1.96111 -0.615572 -0.375161 -0.693055 \n-23.1824 37.2043 -25.6028 0.865537 0.0295003 0.499975 \n23.3858 -22.369 -23.7809 -0.0795679 -0.448357 0.890306 \n-29.6682 -61.2645 -17.5759 0.8378 -0.438137 -0.325773 \n-32.8563 -22.8186 -15.2686 0.840082 -0.0873692 0.535377 \n28.1031 -38.4389 -1.66023 0.445331 0.0322597 -0.894785 \n14.483 -24.3142 -18.8199 0.504057 -0.707523 0.495315 \n28.7379 -36.128 -1.34645 0.59402 -0.167037 -0.786918 \n-20.3712 -35.0135 -1.87925 -0.577777 -0.49594 -0.648241 \n-38.7449 36.0826 -8.7254 0.620656 0.191203 0.760413 \n27.5075 -34.6647 -2.11733 0.683444 -0.0722012 -0.726423 \n41.6277 -34.9476 -3.25801 -0.930863 -0.351935 0.0981607 \n11.2421 -22.814 -15.3431 0.719343 -0.605591 0.340301 \n-34.1482 -34.178 -2.26139 0.936552 0.22346 -0.270067 \n-12.4063 0.269449 -26.1685 0.772618 -0.319028 0.548892 \n-18.9727 -32.7107 -1.44595 -0.612805 -0.43043 -0.662721 \n-33.4958 -32.5328 -2.50188 0.820602 0.504262 -0.268947 \n37.7532 -21.2814 -16.0972 -0.856069 -0.055229 0.513901 \n10.4677 43.9202 -37.0886 -0.657057 0.224628 0.719596 \n26.2684 -22.3099 -23.6513 -0.057764 -0.402204 0.913726 \n25.6664 -21.1572 -23.9691 -0.152823 -0.435698 0.887025 \n-17.1427 -30.0462 -2.10601 -0.727978 -0.407391 -0.551434 \n25.0358 -22.6948 -23.4109 -0.149035 -0.373762 0.915473 \n-32.931 -29.6424 -2.0378 0.83346 -0.359707 -0.419469 \n-36.6263 37.938 -10.1787 0.646147 0.359734 0.673116 \n-16.0086 -28.868 -2.21128 -0.722083 -0.43924 -0.534475 \n41.5247 -28.4359 -2.32573 -0.893698 0.356562 0.272339 \n23.7248 -27.9687 -1.68736 0.70055 -0.578891 -0.417272 \n40.3801 -27.2652 -2.45862 -0.84885 0.51728 0.10897 \n21.8055 -26.4193 -2.28585 0.674204 -0.601886 -0.427999 \n35.9785 38.3845 -9.2984 -0.387708 0.479584 0.787198 \n-33.7276 -26.6549 -2.14059 0.861124 0.0655765 -0.504149 \n39.8317 -25.7477 -2.24099 -0.921001 0.231135 -0.313581 \n-17.5019 -20.9504 -23.9253 -0.223872 -0.224725 0.948357 \n-33.3683 -25.4189 -2.20299 0.887101 0.0540714 -0.458398 \n20.1217 -24.6907 -2.11242 0.674028 -0.736155 -0.0613362 \n-19.0235 -21.9743 -24.0335 -0.0146445 -0.496198 0.868086 \n19.0294 -23.714 -2.85006 0.703133 -0.606288 -0.371509 \n-24.2661 38.1134 -24.8108 0.70214 0.139661 0.698208 \n-13.0057 -22.4658 -1.40557 -0.595863 -0.290701 -0.748625 \n9.48001 -20.1523 -16.4812 0.645686 -0.71861 0.258243 \n39.2991 -21.3821 -1.72778 -0.859551 0.185708 -0.476115 \n17.0565 -21.7484 -1.68476 0.762213 -0.57737 -0.292704 \n-21.3043 -22.416 -23.5749 0.119227 -0.382808 0.916102 \n27.5933 -21.5815 -23.6927 -0.348995 -0.267191 0.898227 \n-31.9289 -19.8206 -2.08224 0.73982 0.231374 -0.631769 \n16.2484 -20.3707 -2.01253 0.788963 -0.571752 -0.225029 \n39.2108 -60.8849 -17.1042 -0.875127 0.0394255 0.482285 \n18.9289 -21.9657 -23.7446 0.364394 -0.403717 0.839184 \n-36.3741 40.5439 -8.63985 0.560354 0.649236 0.514291 \n37.954 -18.5194 -1.78744 -0.787827 0.368379 -0.493584 \n14.5687 -17.495 -1.87912 0.612886 -0.133839 -0.778754 \n18.4229 42.8594 -33.7099 -0.584414 0.231974 0.777591 \n-15.0713 -61.3191 -17.9331 -0.766145 -0.52083 -0.376507 \n-10.4011 -16.9458 -1.56629 -0.617318 -0.115441 -0.778198 \n3.14973 -27.808 -43.0133 -0.335417 -0.897291 0.286992 \n38.1143 -60.585 -18.7702 -0.737339 -0.320745 0.59452 \n-10.0496 -15.7381 -1.98215 -0.555359 -0.0128078 -0.831512 \n-30.2115 -16.733 -2.13523 0.562364 0.328132 -0.758996 \n3.88273 -15.4471 -1.29711 -0.386282 -0.847985 -0.362915 \n-9.35776 -15.3123 -2.0877 -0.115014 -0.571217 -0.812701 \n-35.1535 40.8554 -9.04635 0.490387 0.760405 0.425799 \n0.692876 -27.6958 -43.0652 0.44487 -0.835273 0.323125 \n-27.6152 -13.4365 -2.07375 0.470743 0.495342 -0.730094 \n-15.7752 -20.2596 -23.6272 -0.219829 -0.29967 0.928371 \n35.2394 -14.2922 -1.67468 -0.657387 0.527628 -0.538007 \n18.1129 44.78 -33.2603 -0.630763 0.324204 0.705004 \n-8.20129 -21.7358 -10.5061 -0.815416 -0.561434 -0.141028 \n6.90733 -12.4881 -1.59087 -0.175895 -0.534086 -0.82693 \n11.8717 -12.1686 -1.80146 0.119099 -0.342927 -0.931781 \n10.3596 -13.0336 -2.11363 0.074027 -0.557456 -0.826899 \n9.05658 -12.4082 -1.55436 -0.0345479 -0.493631 -0.868985 \n12.5516 -23.1948 -17.8004 0.755881 -0.525491 0.390516 \n-2.55478 -17.3342 -16.2274 -0.484298 -0.86592 0.125052 \n-1.90341 -11.7954 -1.35263 0.498274 -0.646376 -0.577859 \n-0.461632 -15.1464 -16.6577 -0.528977 -0.844223 -0.0864359 \n32.2444 -12.0228 -2.06025 -0.222151 0.7407 -0.634044 \n30.9911 -10.9418 -1.83919 -0.367433 0.52462 -0.767963 \n28.7496 -10.2506 -1.66921 -0.319524 0.642771 -0.696239 \n27.4891 -19.8773 -23.8306 -0.397163 -0.259097 0.880415 \n-21.6971 -8.69475 -2.36714 0.337028 0.583701 -0.738719 \n6.455 24.5949 -37.5025 -0.288271 -0.131163 0.948523 \n24.3563 -8.06345 -1.73668 -0.203297 0.677132 -0.707221 \n-32.4078 -16.4197 -15.1096 0.910672 0.152592 0.383918 \n22.6012 -7.11915 -2.29793 -0.332385 0.643269 -0.689729 \n3.55782 -27.1865 -43.6613 -0.436395 -0.793506 0.424156 \n36.3499 -22.6832 -17.8837 -0.637553 -0.329778 0.696256 \n21.7188 -6.27935 -2.27791 -0.470597 0.341672 -0.81351 \n-8.73749 45.9607 -36.7499 0.400576 0.45839 0.793359 \n-32.918 41.8083 -10.2739 0.233324 0.812169 0.534735 \n18.896 -2.93805 -1.96105 -0.282355 0.433985 -0.85553 \n-31.3324 -13.6799 -15.9987 0.862908 0.295702 0.409817 \n-31.0541 -70.7743 -19.3461 0.718746 0.126972 0.683581 \n15.65 1.80475 -1.82016 -0.667899 0.164513 -0.725842 \n-12.7719 0.638449 -1.79407 0.468879 0.288815 -0.834708 \n-13.2034 6.72025 -2.28298 0.741857 -0.480225 -0.468009 \n0.422824 -26.404 -51.9912 0.948757 0.0600249 0.310255 \n-14.8295 9.99255 -2.31941 0.82611 -0.36146 -0.432306 \n16.743 9.02575 -2.26422 -0.741684 -0.555178 -0.376408 \n35.9675 -11.4756 -15.8575 -0.912922 0.363691 0.18521 \n19.9811 13.1115 -2.84121 -0.947323 -0.318462 -0.0340654 \n20.1507 13.5361 -1.01785 -0.949084 -0.311336 0.0480519 \n-18.4505 13.4415 -2.628 0.227809 -0.905218 -0.358725 \n20.0536 14.0511 -2.66173 -0.97026 -0.238064 0.0438249 \n-18.9354 14.1994 -2.10939 0.706396 -0.461951 -0.536289 \n-19.7346 15.9225 -2.19028 0.817325 -0.258012 -0.51518 \n-19.9027 17.1812 -2.35351 0.865526 -0.336465 -0.371021 \n-19.8904 17.9816 -1.65182 0.800114 -0.477104 -0.36358 \n24.5767 19.8759 -2.04714 -0.866514 -0.458685 -0.196879 \n29.0583 45.701 -8.41697 -0.964712 -0.0936522 -0.246088 \n-14.6158 -17.0872 -24.0468 -0.350004 -0.181228 0.919051 \n-21.757 21.0791 -1.55548 0.867732 -0.478367 -0.134932 \n-24.7708 22.8953 -2.49098 0.480061 -0.856566 -0.189304 \n-28.1282 -7.95135 -15.4054 0.646085 0.692894 0.320112 \n-34.2122 23.1101 -2.46125 0.278969 -0.945874 0.165827 \n19.2088 19.7922 -29.8263 -0.516602 -0.642936 0.56547 \n-37.0602 23.6873 -1.43668 0.278214 -0.924029 0.262235 \n32.8422 -7.26945 -15.4605 -0.794041 0.56337 0.228285 \n27.6105 24.5018 -1.14187 -0.592584 -0.761612 -0.262281 \n-35.6679 23.9083 -2.02549 0.260943 -0.928549 0.264017 \n34.0363 24.5996 -3.06202 -0.223446 -0.966536 0.126012 \n32.982 24.1632 -1.31438 -0.132276 -0.988307 0.0758379 \n32.0084 24.4695 -2.72372 0.116412 -0.972555 0.20146 \n35.2584 24.9579 -2.76672 -0.192658 -0.963538 0.185681 \n28.8202 47.4725 -9.35919 -0.883612 0.459437 0.0902695 \n-38.8344 24.9145 -2.08862 0.374891 -0.895489 0.239907 \n-41.164 25.139 -2.06568 0.227504 -0.873453 0.430489 \n32.2612 -6.16135 -16.7012 -0.757225 0.553175 0.347285 \n4.49686 -26.1743 -43.6945 -0.697388 -0.709367 0.102224 \n-44.2901 27.538 -2.24959 0.928747 -0.332939 -0.163033 \n1.15194 -17.1012 -24.1123 -0.0739733 -0.830187 -0.552555 \n44.2892 32.139 -1.38685 -0.759206 -0.296218 0.579534 \n44.5159 33.7228 -1.80987 -0.773601 -0.0249994 0.633179 \n-13.7537 -17.4861 -23.79 -0.278849 -0.297159 0.913203 \n-14.3372 47.552 -33.3021 0.417368 0.584398 0.695904 \n43.8867 37.5461 -1.79905 -0.687321 0.36395 0.628594 \n-25.1152 -17.3526 -23.9761 0.498592 0.0775564 0.86336 \n-23.101 -42.1278 -25.2213 -0.142621 0.475133 0.868279 \n42.22 39.1495 -2.16342 -0.707503 0.390821 0.588811 \n-44.3353 40.2318 -1.8217 0.514226 0.701478 0.493457 \n-42.8235 40.5212 -2.09576 0.265115 0.796995 0.542691 \n-37.778 41.437 -1.35368 0.220813 0.971115 -0.0904297 \n-38.889 41.3041 -2.34979 0.321745 0.944909 -0.0602308 \n28.0061 48.9909 -9.43007 -0.690796 0.491909 0.529931 \n-36.1342 41.7213 -2.22097 0.28695 0.956419 -0.0540673 \n-16.1287 19.7008 -29.4914 0.676493 0.0432726 0.735177 \n38.1432 43.2106 -2.39248 -0.37676 0.860708 0.342394 \n-29.2169 43.0585 -1.00764 0.0812659 0.952649 -0.293011 \n27.1019 -67.641 -10.722 0.744654 -0.16228 -0.647422 \n36.0368 44.5483 -1.84289 -0.26538 0.947936 0.176042 \n26.9221 50.5503 -9.1925 -0.624641 0.601882 0.497556 \n-27.4858 44.107 -1.89091 0.554042 0.730669 -0.398948 \n-26.2824 45.3821 -2.12971 0.555242 0.699553 -0.449814 \n-1.22055 34.1177 -39.2842 -0.227104 -0.0464905 0.97276 \n19.9541 -27.761 -19.0041 0.470018 -0.742501 0.477258 \n-25.6994 46.4576 -2.59358 0.742418 0.342714 -0.575641 \n-24.5686 47.9564 -1.70479 0.572931 0.0712349 -0.816502 \n-22.8164 49.7027 -2.75368 0.573491 0.815062 -0.0823524 \n2.66767 -16.9739 -24.4523 -0.417898 -0.770995 -0.480549 \n24.5047 51.5292 -2.40293 -0.460148 0.887797 -0.00897091 \n26.3846 -2.22765 -16.3067 -0.736406 0.654977 0.169444 \n-18.5541 54.3266 -2.62536 0.478159 0.852546 -0.21102 \n-23.0465 41.5089 -24.9254 0.936825 0.162347 0.309843 \n-17.5415 54.5578 -1.89474 0.623762 0.777366 0.0813792 \n20.5914 55.1591 -2.26187 -0.504628 0.83152 0.232217 \n-16.3223 55.3692 -2.37135 0.80078 0.562864 0.20478 \n18.6063 56.9057 -2.50539 -0.785938 0.577866 -0.219937 \n11.203 58.8829 -29.1622 -0.497931 0.621172 0.605153 \n26.6032 42.3763 -25.0268 -0.681822 0.270432 0.679695 \n-14.3679 57.6426 -2.22764 0.918803 0.391574 -0.0497003 \n11.8586 -21.5225 -18.1698 0.771747 -0.572244 0.277387 \n14.8055 60.1731 -1.72914 -0.852837 0.458399 0.250081 \n25.5224 51.3421 -9.82769 -0.600309 0.762983 0.239762 \n12.8094 63.1719 -2.89891 -0.736653 0.663197 0.132332 \n16.998 6.52305 -26.1859 -0.773003 0.148321 0.616821 \n-4.03219 67.0253 -1.13231 0.549546 0.828404 -0.108379 \n-4.59809 66.91 -0.983598 -0.015899 0.995525 -0.0931559 \n24.6819 52.0514 -9.69525 -0.871759 0.385394 -0.302501 \n5.60127 68.3121 -2.97086 -0.168294 0.982332 0.0818625 \n2.84588 68.5012 -1.0753 -0.161675 0.984443 -0.0688042 \n0.798055 68.5826 -1.86168 0.0557989 0.996099 -0.0683682 \n40.0071 -75.2815 -1.96967 -0.013677 -0.992572 0.120889 \n39.9837 -19.5543 -10.1438 -0.989572 0.134045 0.0527135 \n-30.6702 -74.9358 -2.7834 -0.336786 -0.880051 -0.334792 \n33.4417 -74.361 -1.70799 0.663606 -0.538645 -0.519124 \n22.3553 3.49875 -15.7906 -0.997915 -0.0637266 0.0102077 \n55.1513 -74.4444 -2.58394 0.0637771 -0.961763 -0.266354 \n-35.8431 -74.4364 -2.03463 0.912857 -0.0551791 0.404534 \n-22.2362 52.6024 -8.65304 0.67772 0.700793 -0.222676 \n24.7008 53.4066 -10.2005 -0.769393 0.581047 -0.265365 \n-25.0962 -15.8335 -23.3622 0.582607 0.0704094 0.809699 \n29.5838 -14.7378 -24.272 -0.485651 0.0510424 0.872662 \n-35.0178 -73.8164 -2.98912 0.91247 0.0990124 0.396983 \n-27.2654 -72.8988 -2.44778 0.735093 -0.670303 0.101651 \n55.4775 -72.6632 -2.3108 -0.768677 0.314698 -0.556867 \n-22.3393 -71.4629 -2.22233 -0.874657 0.0928452 -0.475767 \n-18.0873 5.71745 -16.5014 0.98539 -0.000566818 0.17031 \n-21.8533 -71.0843 -2.90724 -0.556832 0.138264 -0.819037 \n-22.6289 -69.6832 -2.9133 -0.689165 0.461127 -0.55894 \n-34.5205 -70.3135 -2.57088 0.847131 0.474713 0.238782 \n47.6959 -68.9811 -1.4296 -0.719789 0.586048 0.372091 \n20.8401 10.2574 -15.5731 -0.963653 -0.241461 0.114325 \n-11.766 50.3783 -34.056 0.47079 0.366978 0.802299 \n44.8126 -67.8588 -2.75716 -0.261308 0.964135 -0.0465041 \n24.3417 53.2253 -8.71354 -0.822697 0.514232 -0.242355 \n41.3358 -68.2301 -1.89673 0.0826988 0.581174 -0.809566 \n40.5312 -68.704 -1.55898 -0.439004 0.760886 -0.477837 \n44.1348 -67.9362 -2.15705 0.224875 0.891629 -0.392974 \n39.1362 -67.6661 -2.3938 -0.500135 0.758892 -0.417071 \n34.8376 -67.4698 -1.03766 0.380059 0.854877 -0.353187 \n-9.79293 37.3669 -36.8745 0.0466111 -0.127133 0.99079 \n11.071 -20.6175 -18.8731 0.722192 -0.523789 0.451757 \n38.6109 -66.7868 -2.31238 -0.48693 0.78108 -0.390915 \n37.3595 -66.269 -2.1931 -0.102282 0.986594 -0.127165 \n30.3995 -49.0891 -2.07537 -0.37771 -0.223909 -0.898443 \n-5.23857 -14.4179 -24.1939 0.169216 -0.89665 0.409126 \n-19.5842 54.7047 -8.90386 0.835423 0.471881 -0.281774 \n-11.9122 58.0757 -28.7544 0.479107 0.644685 0.595682 \n30.782 -47.5174 -2.15985 -0.200882 -0.143577 -0.969037 \n-22.6563 44.1144 -25.5767 0.925733 0.244489 0.28852 \n36.7519 -48.4454 -2.63856 -0.188607 -0.435091 -0.880411 \n35.6204 -47.3707 -2.23239 -0.129602 -0.423502 -0.896576 \n-28.682 -65.0741 -19.2028 0.717742 0.689364 0.0981007 \n21.2178 55.6273 -8.70413 -0.369919 0.804203 -0.465207 \n37.6721 -46.7438 -2.28766 -0.394 -0.21224 -0.89427 \n25.2404 -46.8531 -2.71695 0.487498 -0.260913 -0.833229 \n37.5662 -45.1451 -2.12949 -0.288501 -0.378203 -0.879619 \n39.4874 -44.5014 -2.13611 -0.691126 -0.636727 -0.34194 \n24.6043 -44.9318 -2.4531 0.573473 -0.0729274 -0.815972 \n-27.3307 -43.8781 -2.26127 0.175723 -0.194915 -0.964951 \n-24.4184 -43.6177 -2.17174 -0.136931 -0.149496 -0.979235 \n11.0841 52.8478 -33.7875 -0.427289 0.412437 0.804562 \n-24.0307 -13.7628 -23.9385 0.366796 0.281355 0.886735 \n-25.9461 -43.3008 -2.50634 0.0132614 -0.00731707 -0.999885 \n-27.0326 -42.2561 -2.43016 0.004773 -0.356902 -0.93413 \n-24.5828 -41.9604 -2.47764 -0.18488 -0.121951 -0.975165 \n40.2468 -42.3858 -2.74832 -0.447918 -0.327055 -0.832108 \n-29.4521 -41.2091 -1.11754 0.0854722 -0.84966 -0.520359 \n-8.84001 59.6649 -28.1193 0.242062 0.732069 0.636774 \n35.6042 -20.6487 -18.7704 -0.688791 -0.201403 0.696422 \n7.06757 -13.4631 -24.0002 -0.485972 -0.864115 0.130904 \n-23.0557 -41.8798 -3.05939 -0.519197 -0.220123 -0.825821 \n25.2425 -41.0135 -2.72621 0.680742 0.417091 -0.602184 \n24.8583 20.403 -15.1667 -0.394078 -0.918357 0.0363701 \n27.2962 -39.6217 -2.26294 0.453545 0.120656 -0.883028 \n40.7524 -38.1445 -2.17989 -0.747696 -0.126959 -0.651792 \n41.2154 -37.8986 -2.87363 -0.731864 0.048586 -0.679716 \n19.2001 59.6247 -10.1395 -0.743645 0.654053 -0.138592 \n28.1444 -37.1983 -2.11995 0.62369 0.121848 -0.772116 \n47.1698 -66.6525 -9.50797 -0.392896 0.904769 0.164395 \n-22.9068 -12.7605 -23.7768 0.263063 0.345793 0.90068 \n40.8591 -36.4672 -2.58055 -0.88599 -0.138403 -0.442567 \n27.0805 23.3078 -15.7886 -0.904523 0.082169 0.418433 \n-23.7022 23.1705 -16.3483 0.960219 -0.170995 0.220772 \n26.4837 -33.1132 -2.79465 0.670865 -0.382254 -0.635469 \n-17.4967 -32.553 -2.70866 -0.76578 -0.513831 -0.386729 \n-6.14376 54.0629 -33.4922 0.405315 0.562191 0.720875 \n26.5728 -31.775 -1.96371 0.586069 -0.510247 -0.629422 \n-32.5537 -31.5799 -2.48231 0.87309 0.44476 -0.199756 \n41.993 -30.8392 -2.50593 -0.962213 0.156204 0.223039 \n-31.2186 -20.0341 -18.3698 0.877467 0.143339 0.457718 \n5.97231 -24.4734 -43.3924 -0.958229 -0.285078 -0.0229519 \n-9.72789 59.6883 -28.33 -0.0700625 0.76314 0.642423 \n-14.4166 -26.3321 -2.71547 -0.748072 -0.422 -0.512156 \n5.52667 46.798 -37.0247 -0.0509674 0.678084 0.733215 \n-14.7906 -26.1101 -1.78726 -0.699427 -0.458435 -0.548305 \n29.2097 -11.1744 -23.4874 -0.435663 0.301392 0.848151 \n39.9012 -23.7819 -2.02399 -0.883013 0.0809532 -0.462314 \n17.6003 60.5289 -9.60328 -0.752773 0.603965 -0.261837 \n-18.0892 -11.2309 -23.8781 0.0246469 0.440628 0.897352 \n39.278 -22.5447 -1.59944 -0.841171 0.147178 -0.520356 \n-12.314 -22.8105 -2.63742 -0.723971 -0.424151 -0.544024 \n17.7062 -22.3667 -3.09412 0.689488 -0.567599 -0.449932 \n-19.9048 -10.6784 -23.4592 0.121328 0.741491 0.659902 \n-32.8825 -21.999 -2.28818 0.8086 0.379848 -0.449312 \n-11.3155 -21.4268 -2.4974 -0.700883 -0.408812 -0.584496 \n15.3126 -19.4727 -2.11214 0.771435 -0.529442 -0.352957 \n14.3748 -17.9326 -2.55114 0.874513 -0.473221 -0.106249 \n-9.95538 -17.9675 -2.31311 -0.614181 -0.246239 -0.749765 \n-31.218 -17.996 -2.13932 0.634929 0.351365 -0.688046 \n7.95791 54.7931 -33.5477 -0.379451 0.256085 0.889066 \n-5.4963 47.0264 -36.7377 0.386241 0.274735 0.880533 \n-27.9248 32.0428 -16.0346 0.57434 -0.201183 0.793511 \n35.8229 -15.7387 -1.58476 -0.664804 0.551658 -0.503695 \n14.0897 -16.088 -2.19075 0.552322 -0.281831 -0.784546 \n1.15615 -16.1852 -3.51771 0.335071 -0.941933 -0.0221504 \n-29.91 -15.4398 -2.3021 0.541247 0.350159 -0.764487 \n3.96198 -15.9281 -3.42579 -0.48554 -0.872784 -0.0499866 \n12.9802 -14.0346 -1.98433 0.357532 -0.244763 -0.901256 \n35.7404 -14.2204 -2.97938 -0.740424 0.421705 -0.523391 \n-5.69926 -15.1007 -2.67887 -0.383485 -0.554892 -0.738264 \n11.7094 -13.8446 -2.38575 0.241926 -0.416446 -0.876382 \n25.1865 43.0545 -25.586 -0.763686 0.317947 0.561867 \n-1.79779 -13.003 -2.36627 0.722276 -0.559316 -0.406794 \n23.2254 -57.7245 -17.005 0.888097 -0.0125176 0.459485 \n-6.41704 56.162 -33.2555 0.30441 0.374847 0.875685 \n-26.7807 -12.3262 -2.57714 0.540239 0.470848 -0.697456 \n6.01779 56.7124 -33.6529 -0.172111 0.567181 0.805409 \n29.3752 -9.38955 -2.5152 -0.260566 0.714189 -0.649646 \n27.6824 -9.12595 -2.64898 -0.172741 0.598614 -0.782191 \n26.1705 -9.36365 -2.16279 -0.398435 0.579255 -0.711135 \n-13.3998 9.70815 -26.9193 0.803723 -0.0985556 0.586785 \n-22.9167 -8.28535 -2.99247 0.319936 0.642191 -0.696586 \n-23.8875 -9.16845 -2.29569 0.342548 0.620825 -0.70515 \n30.3004 37.4203 -16.1675 -0.918474 -0.14295 -0.368743 \n10.3499 60.6166 -27.8044 -0.31345 0.734738 0.601589 \n-17.7672 -6.56755 -2.11852 0.552701 0.136501 -0.822125 \n30.3671 38.3092 -16.3193 -0.967282 0.121723 0.222594 \n-27.26 38.6094 -16.5823 0.778181 0.148415 0.610252 \n-14.1441 -0.721251 -2.0526 0.446962 0.415599 -0.792151 \n-14.096 0.803549 -2.62033 0.580652 0.372816 -0.723776 \n-28.0829 40.354 -14.9302 0.741642 0.258821 0.618853 \n-13.472 2.32025 -2.9309 0.643941 0.231359 -0.729255 \n-13.3837 6.18645 -2.83079 0.789167 -0.145314 -0.596741 \n9.05877 47.8056 -36.01 -0.375183 0.619599 0.689445 \n16.1523 8.27635 -3.37321 -0.71398 -0.62074 -0.323905 \n3.59784 -22.5902 -50.9886 -0.00303227 0.927377 0.374117 \n16.6595 11.1933 -0.530001 -0.81176 -0.352537 -0.465578 \n18.0334 11.9545 -2.90288 -0.855359 -0.336986 -0.393449 \n-7.73193 60.5477 -28.5899 0.567731 0.665017 0.485216 \n14.9024 -7.09175 -26.54 -0.435772 -0.148525 0.887718 \n23.3538 17.8533 -2.49064 -0.812346 -0.56057 -0.160793 \n-17.0507 -3.52425 -23.3567 0.616067 0.15429 0.772435 \n0.199644 68.1562 -9.60954 0.478015 0.878169 0.0179081 \n-21.0742 19.3526 -1.94061 0.854767 -0.431499 -0.288413 \n-29.5557 -11.7581 -18.7194 0.793748 0.188116 0.578426 \n-15.6316 -2.56935 -24.2976 0.606293 0.191918 0.771736 \n-37.5169 24.2932 -2.49372 0.221506 -0.940954 0.25601 \n-39.9663 25.1029 -2.35872 0.119414 -0.902555 0.413685 \n19.2914 -1.91775 -24.0243 -0.658779 0.10994 0.74426 \n0.416183 57.1511 -34.0103 0.0168233 0.605269 0.795843 \n-45.4035 32.6142 -2.20759 0.979802 -0.178924 -0.0892957 \n-45.59 34.062 -2.10029 0.942472 -0.0545337 0.329807 \n42.7231 37.8437 -2.5884 -0.723526 0.366411 0.585024 \n25.5691 51.4044 -15.7385 -0.860521 0.509157 0.0161813 \n23.9891 -57.5906 -18.6771 0.839549 -0.0670542 0.53913 \n41.9552 40.6557 -1.61893 -0.69637 0.471779 0.540827 \n41.3237 41.1797 -2.60843 -0.783126 0.488163 0.385241 \n17.2666 12.5513 -26.2312 -0.829298 0.378642 0.410968 \n4.45526 -27.0475 -40.9848 -0.604598 -0.740282 -0.294014 \n39.5411 42.9004 -2.47954 -0.335469 0.875512 0.347764 \n-32.8135 43.0189 -3.01512 0.235745 0.968326 -0.082277 \n2.91866 -25.2737 -34.5862 -0.409998 -0.68137 -0.60633 \n-29.962 43.5822 -3.94337 0.189959 0.970636 -0.147584 \n1.4688 69.0509 -8.4128 0.19075 0.973384 -0.127034 \n5.9813 47.2441 -36.4895 -0.0989324 0.426765 0.898935 \n0.529777 -26.0488 -35.2115 0.17544 -0.842837 -0.508769 \n28.0016 46.5142 -2.47413 -0.938956 -0.13118 -0.318047 \n-25.2416 46.0564 -2.14087 0.377439 0.733844 -0.564812 \n28.2463 48.4905 -1.69509 -0.889034 -0.0818 -0.450475 \n-21.6674 54.9119 -15.9361 0.780871 0.598743 0.178176 \n-23.6553 49.2948 -2.31461 0.601317 0.786988 -0.138085 \n4.35327 -29.0232 -52.5532 -0.250026 -0.763301 -0.5957 \n25.7488 51.3048 -2.61115 -0.376317 0.924912 -0.0540652 \n-20.6266 55.8927 -16.0303 0.665759 0.579266 0.470336 \n-15.1425 57.0781 -2.50791 0.557249 0.809027 0.186946 \n3.04763 -29.2931 -52.6742 0.120299 -0.853747 -0.506601 \n16.373 13.3251 -27.1845 -0.777919 0.478537 0.40724 \n16.8864 59.0714 -3.11777 -0.729168 0.626306 -0.275782 \n24.2308 45.7857 -25.3048 -0.853188 0.367727 0.369928 \n27.2496 -66.7985 -10.7176 0.685964 0.318066 -0.654437 \n19.6172 59.3008 -15.6524 -0.799193 0.548833 -0.245098 \n13.5513 62.1043 -2.74661 -0.896546 0.439093 -0.0583339 \n-12.0594 62.2655 -2.40395 0.563695 0.818971 0.107396 \n-30.4184 -56.5164 -17.23 0.912474 -0.267257 -0.309781 \n9.6936 66.6148 -2.69845 -0.626215 0.762466 0.162792 \n-16.8534 58.8568 -16.1828 0.587988 0.801597 -0.10822 \n-21.9847 45.7185 -25.7991 0.884578 0.413008 0.21667 \n33.5535 -74.7271 -8.95221 -0.167038 -0.979391 0.11354 \n43.2686 -74.7061 -2.32092 -0.118353 -0.935878 -0.331852 \n41.4521 -75.1378 -2.53496 -0.149326 -0.983881 -0.0983849 \n41.4361 -75.0589 -3.47248 0.0951782 -0.968813 0.228786 \n36.6315 -74.8062 -3.57235 -0.0997919 -0.972247 0.211608 \n33.8597 -75.2831 -4.31364 -0.0585328 -0.998025 0.0228177 \n55.9674 -73.9559 -2.8556 -0.964937 -0.121252 -0.232797 \n5.65689 -21.1721 -33.6381 -0.686093 -0.686318 -0.241338 \n54.0844 -73.0763 -2.4961 0.386377 -0.110139 -0.915741 \n-22.1147 -73.4608 -2.83558 -0.818861 -0.262295 -0.510556 \n4.95891 47.2521 -36.9988 -0.405357 0.0760435 0.91099 \n-27.2955 -73.0651 -3.19544 0.503045 -0.694005 -0.515075 \n-15.618 60.2741 -16.342 0.780267 0.555669 0.287082 \n-14.8211 9.56255 -24.9985 0.721304 -0.459804 0.517978 \n-21.6397 -72.7924 -3.06086 -0.535255 -0.124248 -0.835502 \n16.9532 61.1461 -14.898 -0.833822 0.514411 0.200305 \n-14.9115 61.4181 -16.1002 0.604919 0.734016 0.308696 \n54.8722 -72.1512 -2.3639 0.0161675 0.426156 -0.904505 \n32.7833 -71.9427 -2.86806 0.90995 0.0424306 -0.412542 \n-0.880886 -26.446 -40.2772 0.696716 -0.692412 -0.187489 \n53.5079 -70.853 -3.31489 -0.00126163 0.646784 -0.762672 \n33.165 -70.7345 -2.35828 0.88403 0.178677 -0.431932 \n-26.9669 -70.9817 -3.74897 0.710432 0.63786 -0.297355 \n18.0702 13.4764 -22.8012 -0.864474 0.384181 0.324176 \n9.60844 -18.7719 -10.0301 0.407167 -0.757078 -0.510929 \n-33.4397 -69.2616 -2.53544 0.506385 0.852429 -0.130148 \n-13.0335 14.8939 -26.7942 0.692588 0.151282 0.705292 \n43.2718 -67.6393 -2.54694 -0.060659 0.719548 -0.691789 \n-31.9636 -75.3293 -10.649 -0.108265 -0.993749 0.0272139 \n34.5635 -67.3316 -3.20167 0.467351 0.838375 -0.280553 \n39.1278 -66.9948 -2.9864 -0.541369 0.657625 -0.523879 \n21.0869 19.4849 -24.7062 -0.262619 -0.957691 0.117726 \n36.3592 -66.4577 -3.05389 0.309692 0.909463 -0.277431 \n17.4366 15.8146 -24.7653 -0.817281 -0.267711 0.510277 \n32.4162 -51.3316 -3.20561 -0.501768 -0.0786825 -0.861416 \n13.2718 64.2716 -15.3603 -0.488183 0.865417 0.112827 \n-38.2298 -74.8652 -10.4964 0.363582 -0.882941 0.297024 \n27.5241 -49.4352 -2.74169 0.26589 -0.312324 -0.912007 \n-4.1625 61.4669 -28.467 0.204871 0.779275 0.592249 \n-9.84501 64.5112 -15.5793 0.639437 0.760671 0.111799 \n11.2965 65.2437 -15.5361 -0.485436 0.874252 0.00589163 \n31.416 -49.0783 -2.60806 -0.334815 -0.229823 -0.913827 \n35.9776 -49.1514 -3.03125 -0.197251 -0.426625 -0.882657 \n34.7346 -48.1978 -2.75911 0.0528397 -0.475711 -0.878013 \n25.2083 -48.4646 -2.87602 0.424045 -0.319476 -0.84742 \n32.7869 -47.8322 -2.71921 -0.0049037 -0.459466 -0.888182 \n-8.70414 65.1917 -15.6308 0.365549 0.882998 0.294429 \n38.3024 -47.4724 -2.95379 -0.637947 -0.367253 -0.676867 \n38.4049 -45.4928 -2.67969 -0.64963 -0.417064 -0.63564 \n-25.2945 -45.9463 -2.82583 -0.0118136 -0.365155 -0.930872 \n-24.6499 -44.8166 -2.81027 -0.212159 -0.324599 -0.921751 \n-25.8389 -44.364 -2.70891 0.026356 -0.254773 -0.966642 \n-26.6019 -45.2641 -3.03296 0.0657384 -0.319575 -0.945278 \n25.8997 -43.7251 -1.74453 0.514969 -0.04865 -0.855828 \n39.9397 -44.3355 -3.39601 -0.755409 -0.417376 -0.505129 \n-6.52927 65.8453 -16.1579 0.262134 0.961551 -0.0818916 \n-23.2955 -43.1898 -2.80699 -0.382428 -0.0153771 -0.923857 \n-28.0419 -42.6372 -2.79933 0.429653 -0.0824791 -0.89922 \n19.8822 18.9328 -24.2963 -0.64351 -0.652041 0.40092 \n24.0178 -42.0023 -3.28653 0.687888 0.296677 -0.662415 \n8.5514 66.5061 -16.0807 -0.338595 0.918243 0.205387 \n5.85226 -28.5587 -52.7807 -0.468264 -0.741683 -0.480244 \n-32.9959 -40.5817 -2.89011 0.748569 -0.616602 -0.243816 \n0.296989 34.5973 -38.9525 0.148093 -0.0604254 0.987126 \n41.3195 -40.5956 -2.62759 -0.582031 0.0323859 -0.812521 \n26.1234 -40.1199 -2.61733 0.490734 0.516839 -0.701468 \n40.9757 -39.2352 -2.87192 -0.686772 -0.0406729 -0.725734 \n-20.6767 20.6658 -23.4045 0.864168 0.0292725 0.502352 \n27.0557 -38.5647 -2.4398 0.60746 0.342815 -0.716568 \n-20.9335 -36.8118 -2.0022 -0.664989 -0.329886 -0.670049 \n27.431 -37.0587 -3.05755 0.731571 0.0258384 -0.681276 \n-3.09556 67.1727 -16.083 0.327734 0.942285 0.068475 \n-19.5361 -34.9453 -2.59207 -0.715021 -0.41115 -0.565421 \n-14.1625 15.6306 -25.7064 0.667125 -0.0315042 0.74428 \n5.12511 61.91 -28.6109 -0.124408 0.792609 0.596903 \n23.4136 22.4869 -23.4082 -0.856587 -0.0303699 0.515107 \n6.78268 -16.5648 -17.9328 0.635503 -0.671445 0.381181 \n0.213703 -14.0501 -34.0322 0.239486 0.64602 0.724779 \n-21.2027 21.7586 -23.61 0.885949 -0.402262 0.230824 \n-29.5604 -74.8038 -10.5511 -0.160453 -0.981914 0.100497 \n-1.71733 61.8838 -28.9068 0.117079 0.765457 0.632746 \n22.4356 -27.1308 -2.16085 0.633214 -0.576071 -0.516897 \n41.4352 -74.8547 -16.1859 -0.226113 -0.899536 0.373774 \n21.1549 -27.1966 -3.71333 0.614512 -0.556064 -0.559613 \n4.82567 13.2383 -34.0413 -0.136236 -0.0642108 0.988593 \n-33.9212 -25.6353 -3.44607 0.892227 0.0412947 -0.449694 \n5.01148 49.1313 -37.0322 -0.467493 0.148893 0.871368 \n40.1665 -24.2672 -2.97362 -0.929336 0.0850088 -0.359316 \n25.2543 25.276 -23.1292 -0.744623 -0.334438 0.577656 \n-14.2129 16.5238 -26.0332 0.365203 -0.841305 0.398537 \n-34.4056 -75.119 -16.1368 0.371029 -0.920193 0.124826 \n25.5444 26.4047 -23.4981 -0.726771 -0.377726 0.573697 \n24.1901 25.568 -24.1326 -0.765882 -0.330422 0.551586 \n-31.0728 -15.8827 -17.7956 0.797612 0.0742784 0.59858 \n-10.4209 -21.3336 -3.32938 -0.748233 -0.403089 -0.526941 \n43.0137 -74.4116 -15.938 -0.440343 -0.371144 0.817527 \n40.1093 -74.2934 -11.7614 0.0669931 -0.996053 -0.0582348 \n-10.4205 -19.3286 -2.67737 -0.677375 -0.302223 -0.670689 \n15.7513 -19.9148 -3.36126 0.789495 -0.543159 -0.285791 \n-9.10132 -18.2351 -2.89042 -0.627064 -0.266416 -0.731993 \n-2.96871 62.8975 -27.1428 0.197664 0.82091 0.535758 \n39.7351 -74.0891 -10.2713 0.0195711 -0.999268 -0.0328572 \n37.7595 -16.8306 -2.80294 -0.671404 0.531152 -0.516811 \n-15.9834 17.1175 -26.3765 0.230502 -0.951136 0.205447 \n2.72353 18.6692 -34.1434 -0.0213433 -0.334099 0.942296 \n-7.97269 -16.4049 -3.23731 -0.170529 -0.699377 -0.694112 \n-9.17908 -16.1534 -2.69138 -0.579725 -0.190559 -0.792216 \n17.752 -26.1798 -19.2094 0.505702 -0.682256 0.528007 \n36.3726 -15.5772 -3.01554 -0.666654 0.54971 -0.50338 \n1.41613 19.2771 -34.0735 0.0795842 -0.342559 0.93612 \n-23.7313 29.7563 -23.8406 0.964573 0.0164264 0.263303 \n-4.66554 -13.8113 -2.41133 -0.299735 -0.555954 -0.77529 \n-0.900737 -14.3588 -3.28304 0.671339 -0.706692 -0.223362 \n-11.9249 13.2359 -29.5572 0.640845 0.548914 0.536667 \n6.56191 35.4086 -38.9824 -0.171153 -0.0241609 0.984948 \n-2.55404 -13.1843 -2.63908 -0.106647 -0.626453 -0.772129 \n-34.9579 -74.3279 -16.2852 0.838958 -0.0428332 0.542508 \n23.8471 47.1398 -24.8562 -0.746785 0.549937 0.374007 \n10.3056 19.3717 -33.86 -0.194618 -0.615433 0.763784 \n33.8612 -12.241 -2.388 -0.50586 0.72334 -0.469985 \n-23.305 31.5672 -23.9069 0.755395 -0.415706 0.506525 \n50.3378 -72.5063 -9.59961 -0.739218 -0.0628174 0.67053 \n33.1502 -11.7877 -3.18621 -0.373472 0.847613 -0.376924 \n-26.4881 -11.1909 -2.77404 0.533565 0.437204 -0.723989 \n36.4436 -74.3072 -17.5001 0.077723 -0.99587 -0.0469319 \n26.954 32.5802 -24.346 -0.728544 0.0187459 0.684743 \n-24.9995 -9.18645 -3.31844 0.44359 0.62843 -0.638987 \n25.3779 -74.3771 -16.0656 0.663287 -0.558482 -0.498145 \n15.7437 13.2265 -28.4321 -0.735049 0.396691 0.549853 \n-20.625 -7.20275 -2.89173 0.211633 0.610966 -0.762845 \n-38.4687 -72.0469 -10.3989 0.811981 0.240061 0.532032 \n-18.8769 -4.88805 -2.93336 0.65957 0.156376 -0.735196 \n-22.8583 -74.2561 -17.1736 -0.0303057 -0.999504 -0.00856313 \n-17.8251 -3.97635 -2.36307 0.598483 0.266449 -0.755528 \n-16.9449 -2.22995 -2.30778 0.561256 0.353507 -0.748348 \n20.4988 -3.37805 -2.48774 -0.502096 0.307697 -0.808221 \n20.2041 -1.12605 -3.32933 -0.375507 0.529743 -0.760504 \n-15.2043 -1.57365 -1.82445 0.340841 0.470353 -0.814 \n-16.3529 17.2491 -27.291 0.279089 -0.866121 0.414661 \n16.6446 0.40325 -2.39979 -0.697721 0.141766 -0.702202 \n-34.8109 -73.5545 -16.1442 0.785115 -0.0971117 0.611689 \n17.0508 1.97845 -3.26626 -0.724338 0.242589 -0.645357 \n16.2516 4.44545 -3.24265 -0.799037 0.159624 -0.579706 \n28.5898 -72.82 -10.1114 0.827818 -0.147965 -0.541131 \n22.8604 -55.8599 -17.7763 0.839948 -0.125613 0.527929 \n18.4473 12.3675 -2.93886 -0.36296 -0.841067 -0.401081 \n27.6386 -71.1906 -11.3199 0.830163 -0.109063 -0.546749 \n-18.6353 -70.5037 -9.603 -0.907496 0.335291 -0.253043 \n20.4235 14.776 -1.9298 -0.7064 -0.690157 -0.157105 \n24.0847 18.653 -3.88355 -0.823306 -0.556699 -0.110699 \n-22.4179 21.0858 -2.58858 0.662711 -0.655763 -0.361649 \n24.3379 -69.8486 -16.5826 0.886166 0.0418938 -0.46147 \n-34.3996 -69.7467 -15.7237 0.595231 0.399456 0.697234 \n-28.3917 23.2583 -3.79568 -0.0884323 -0.995207 -0.0417428 \n-36.318 24.4286 -3.48352 0.329657 -0.932881 0.145116 \n36.9492 25.3682 -3.62721 -0.27008 -0.902859 0.334519 \n38.1909 25.7709 -3.05969 -0.514701 -0.824526 0.235032 \n-43.1949 25.6943 -2.64688 0.209801 -0.787766 0.579144 \n11.6043 38.0278 -36.7947 -0.231517 -0.0798918 0.969545 \n13.7409 43.4083 -35.9681 -0.381475 0.264699 0.88567 \n-24.0923 43.0606 -23.5348 0.681759 0.402556 0.610862 \n43.1104 32.5017 -2.68682 -0.746132 -0.301582 0.593579 \n-34.202 -70.2652 -9.23448 0.0439782 0.693092 -0.719506 \n-22.8838 43.9793 -23.8815 0.886191 0.34944 0.304232 \n-35.6091 -69.78 -9.73751 0.00785683 0.837853 -0.545839 \n43.2667 33.9042 -2.90118 -0.823067 0.0267929 0.567313 \n24.944 -68.9266 -15.3122 0.878718 -0.0813919 -0.47035 \n43.0794 35.1387 -2.79431 -0.767429 0.0842276 0.635577 \n-36.6124 -69.7955 -10.1165 0.411464 0.910051 0.0500449 \n-45.6054 37.3078 -3.07913 0.98982 0.128614 0.0609539 \n-44.1918 38.9989 -3.2222 0.282513 0.636326 0.717827 \n-41.7076 40.5128 -3.00262 0.331654 0.695343 0.637577 \n-33.2449 -68.4295 -16.6106 0.540686 0.707782 0.454646 \n-40.03 40.7758 -3.01218 0.303693 0.926853 0.220711 \n-37.8058 41.5876 -3.50907 0.242467 0.958136 0.152264 \n-22.1482 45.7331 -24.3936 0.882943 0.400079 0.245659 \n-19.2542 -69.2122 -10.0218 -0.852153 0.32221 -0.412331 \n-17.8863 18.163 -27.3056 0.635221 -0.411149 0.653797 \n29.4524 44.6435 -2.14134 -0.16806 0.974697 0.147383 \n25.17 46.6717 -24.0722 -0.605825 0.645866 0.464578 \n-27.1178 45.358 -3.08494 0.605097 0.739654 -0.294566 \n-25.2164 48.0724 -2.52982 0.825782 0.341292 -0.449003 \n-22.1644 50.4791 -2.27924 0.782071 0.621535 -0.0453871 \n-21.826 46.6845 -24.3057 0.657885 0.194354 0.727608 \n22.4897 53.373 -3.0283 -0.659779 0.730807 0.174962 \n-23.2045 47.3182 -23.2454 0.762085 0.154839 0.62869 \n-17.0889 54.6299 -2.72171 0.461306 0.885218 -0.0598798 \n19.0889 55.7791 -2.23703 -0.549287 0.832743 0.0694458 \n-16.1084 56.1192 -2.8204 0.760243 0.517176 -0.393141 \n23.3536 48.0758 -24.1161 -0.777317 0.410906 0.476376 \n2.50812 22.6947 -34.9082 0.0136279 -0.141096 0.989902 \n24.9464 -65.604 -16.4961 0.995031 -0.0995614 -0.000310162 \n-13.4642 59.7024 -3.06438 0.710291 0.70355 0.0224351 \n-16.4681 -66.3947 -15.7125 -0.74333 0.446047 -0.498499 \n23.0868 48.5291 -25.8351 -0.735037 0.622659 0.268359 \n15.1733 59.9811 -2.25649 -0.524743 0.754987 -0.393243 \n-21.2701 48.7123 -24.1427 0.784045 0.184144 0.59276 \n-8.41223 20.8081 -34.2458 0.370912 -0.35443 0.858372 \n-31.9594 -68.9907 -9.69296 0.794762 0.539877 -0.277284 \n49.3008 -68.2505 -9.65051 -0.733389 0.677877 0.051223 \n10.8619 64.7509 -2.80102 -0.686635 0.723062 0.0755869 \n-9.4865 65.2611 -3.04438 0.604606 0.795381 -0.0426755 \n22.9313 49.0707 -24.3265 -0.605859 0.251873 0.754649 \n-4.22712 67.2062 -3.22042 0.225564 0.974155 -0.0119248 \n8.62488 67.279 -2.91498 -0.413326 0.903097 0.11652 \n45.3774 -74.9586 -3.66093 -0.0311571 -0.998106 -0.0530446 \n6.33313 20.5185 -34.0699 -0.138081 -0.307446 0.941494 \n-1.08391 20.7843 -34.3589 0.138913 -0.208279 0.968155 \n-18.4593 -64.2547 -15.5639 -0.602304 0.278894 -0.747963 \n-23.2649 -74.6749 -3.47526 -0.0531383 -0.965843 -0.25362 \n54.0529 -74.076 -3.02542 0.425044 -0.728234 -0.5376 \n27.8713 -68.4378 -10.2125 0.736447 -0.0886505 -0.670662 \n-22.4426 -74.307 -3.22023 -0.431481 -0.749307 -0.502357 \n47.7387 -74.2759 -4.04975 -0.626122 -0.751764 0.206932 \n-25.8794 -74.2028 -3.2095 0.545749 -0.832279 -0.0973188 \n21.9072 50.8577 -24.2827 -0.691775 0.253102 0.676303 \n51.8278 -72.6311 -3.32159 0.409658 -0.307968 -0.858683 \n-27.7696 -72.0397 -2.76313 0.696605 0.489741 -0.524304 \n55.4674 -72.285 -3.13947 -0.912348 0.385981 0.136526 \n-20.7539 -72.7137 -3.37658 -0.523579 -0.123436 -0.842987 \n54.9357 -71.4168 -3.35159 -0.674919 0.731004 -0.100588 \n52.584 -71.8548 -3.08579 0.277466 0.281527 -0.918561 \n-30.0811 -66.2245 -10.1799 0.413679 0.906566 -0.0837144 \n47.813 -71.1773 -3.50286 -0.82893 0.471109 0.301549 \n18.4913 19.1737 -27.4127 -0.229526 -0.970067 0.0793009 \n-18.8632 19.0871 -26.6695 0.756195 -0.00406844 0.654333 \n-27.0494 -63.4217 -15.7279 0.773972 0.166882 -0.610833 \n-6.41009 35.3848 -38.7063 0.235673 0.0764668 0.968819 \n-29.7607 -69.8738 -2.92073 -0.639663 0.417414 -0.645443 \n46.8703 -69.7684 -3.57879 -0.722506 0.566056 0.396947 \n-22.5391 -69.1397 -3.40163 -0.114852 0.585148 -0.802752 \n21.8829 49.5885 -24.8503 -0.692855 0.443624 0.568463 \n20.1906 56.2076 -22.1968 -0.681862 0.589196 0.433488 \n-20.6091 -66.1992 -9.52987 -0.674268 0.73814 -0.0226072 \n-30.7066 -69.2103 -2.70411 -0.43499 0.681622 -0.588366 \n33.0076 -68.4209 -3.53288 0.894903 0.31782 -0.313273 \n-17.448 -75.0368 -29.5009 -0.00221428 -0.999747 -0.0223669 \n40.3635 -67.9698 -2.92354 -0.0456985 0.720162 -0.692299 \n33.8564 -67.8856 -2.81617 0.61799 0.743113 -0.256653 \n41.091 -67.3914 -2.79868 0.214313 0.603248 -0.76822 \n42.5699 -66.9634 -2.7842 -0.165927 0.776542 -0.607824 \n-19.885 -74.9825 -28.774 -0.0406892 -0.995754 -0.0825765 \n35.4193 -66.7382 -3.39432 0.381986 0.847766 -0.367939 \n40.8652 -66.2402 -3.60026 0.0340085 0.642515 -0.765518 \n38.3797 -66.076 -3.17712 -0.373458 0.90213 -0.216079 \n31.7934 -52.6898 -3.2873 -0.0959014 -0.594337 -0.798477 \n32.6544 -52.4143 -3.67448 -0.580395 -0.432893 -0.689743 \n31.5236 -51.9642 -2.89541 -0.0432248 -0.25154 -0.966881 \n-21.4788 -65.5942 -10.3163 -0.46235 0.866627 -0.187591 \n30.0858 -51.8192 -3.23794 0.0957414 -0.310289 -0.945809 \n17.7695 58.19 -22.8887 -0.626977 0.634347 0.45222 \n30.7439 -50.6161 -2.84354 -0.128074 -0.258311 -0.957535 \n29.1287 -50.676 -2.85767 0.152398 -0.393065 -0.906794 \n31.5863 -49.9014 -3.03857 -0.370026 -0.210336 -0.904897 \n22.5275 20.3419 -25.8852 -0.664463 -0.615177 0.424319 \n27.5275 -50.8662 -3.41598 0.263639 -0.353343 -0.897576 \n-15.8813 -61.6707 -16.6412 -0.661374 -0.587445 -0.466361 \n-22.0723 -74.9605 -28.3819 0.327839 -0.872539 0.362211 \n34.715 -49.4977 -2.99046 0.116337 -0.318249 -0.940842 \n33.2323 -48.595 -3.07352 -0.0703983 -0.342161 -0.937001 \n39.5686 -60.7085 -15.8558 -0.979214 0.106582 0.17257 \n29.3435 -65.7915 -9.53348 0.573717 0.40901 -0.709619 \n-15.4271 -60.3212 -16.4226 -0.757245 -0.435864 -0.486418 \n-26.4076 -46.5086 -3.51846 0.0400929 -0.515613 -0.855883 \n-28.1241 -46.2303 -3.16663 0.45208 -0.101805 -0.886149 \n-23.3453 -44.4272 -3.14077 -0.251348 -0.219439 -0.942693 \n-27.5124 -45.018 -3.09125 0.37636 -0.252557 -0.891385 \n23.8944 -43.3161 -3.11668 0.673687 0.10387 -0.731681 \n-5.38363 49.6758 -36.7466 0.377981 0.194071 0.905244 \n-28.4426 -43.7536 -3.04522 0.465181 -0.211881 -0.859484 \n40.0591 -42.7875 -2.70582 -0.841754 -0.12715 -0.524674 \n-22.1735 -43.1795 -3.17735 -0.524399 0.0774619 -0.847942 \n-25.9151 -65.5553 -9.88014 -0.0767099 0.994372 -0.0730771 \n-15.7382 58.4256 -23.9182 0.0997055 0.737057 0.668435 \n41.641 -41.9323 -3.09374 -0.509691 -0.44733 -0.734922 \n15.5879 59.3291 -23.1312 -0.256991 0.715725 0.649379 \n-32.4244 -41.1641 -3.9188 0.568827 -0.809169 -0.147247 \n22.3349 -58.4576 -15.7262 0.943444 -0.0969028 0.317053 \n-14.176 59.2591 -24.9656 0.672407 0.658144 0.338695 \n-3.19103 20.2549 -33.9667 0.181243 -0.228077 0.956625 \n-30.5986 -14.5259 -18.0885 0.688593 0.222895 0.690042 \n-33.7523 -39.1264 -3.60721 0.925202 -0.345201 0.1576 \n-34.1871 -37.3102 -2.65646 0.969604 -0.167109 -0.178727 \n29.3736 -64.955 -9.6653 0.572556 -0.162324 -0.803636 \n3.12718 26.5916 -38.0855 0.283683 -0.563034 0.776219 \n-34.3885 -35.6946 -2.96738 0.983553 -0.0104977 -0.180316 \n41.98 -64.8964 -9.64556 -0.243682 0.915442 -0.320288 \n26.5506 -36.1063 -3.42708 0.801833 -0.162035 -0.575159 \n26.6418 -33.8566 -3.09268 0.78208 -0.178335 -0.597116 \n-29.3735 -13.7803 -18.8418 0.789676 0.16087 0.592057 \n-16.771 -31.604 -3.32352 -0.852307 -0.378622 -0.360857 \n-33.0864 -32.2707 -3.56138 0.900287 0.424691 0.0955061 \n41.3564 -64.4818 -10.4468 -0.402987 0.892325 -0.203364 \n-10.6495 61.8428 -23.9577 0.417569 0.851707 0.316593 \n-16.4314 -30.5997 -3.12847 -0.723179 -0.504886 -0.471277 \n41.5131 -30.0855 -4.27599 -0.963959 0.221505 0.147375 \n-15.066 -74.8149 -28.5792 -0.158891 -0.983555 0.0858703 \n-14.409 -27.9732 -3.60124 -0.813438 -0.414673 -0.407879 \n-13.9021 -26.7198 -3.58753 -0.719162 -0.494443 -0.488192 \n40.3144 -64.2587 -9.50867 -0.303583 0.866725 -0.395759 \n22.6127 22.5821 -25.2924 -0.81162 -0.387423 0.437238 \n-33.8241 -24.1184 -3.15273 0.851906 0.0865149 -0.516499 \n-13.07 -24.4921 -2.59601 -0.714129 -0.445444 -0.539999 \n39.7906 -22.8652 -3.20933 -0.92146 0.206729 -0.328899 \n-31.3846 -53.2141 -16.4876 0.8703 -0.374935 -0.319376 \n16.5688 -20.908 -3.20209 0.775992 -0.552811 -0.303705 \n-10.5573 22.6553 -34.1138 0.119121 -0.350532 0.928944 \n-9.6915 -19.743 -3.46525 -0.677992 -0.411606 -0.609022 \n-32.7365 -19.8115 -3.62876 0.802777 0.209615 -0.55822 \n37.7905 -63.4834 -9.63003 -0.347335 0.759854 -0.549527 \n14.6018 -18.2399 -3.43359 0.842636 -0.520096 -0.139515 \n38.4977 -18.8866 -3.14364 -0.843984 0.339142 -0.415541 \n14.152 22.7255 -34.2657 -0.497535 0.00018579 0.867444 \n41.2931 -52.3546 -16.9871 -0.970998 -0.164271 0.17372 \n20.9913 51.84 -25.5443 -0.771397 0.281226 0.57084 \n13.6327 -16.3933 -3.02913 0.794528 -0.466652 -0.388538 \n-9.04993 22.2955 -33.9794 0.424655 -0.2129 0.879967 \n-31.1665 -16.7862 -3.05231 0.745423 0.353092 -0.565394 \n-31.4963 -16.7935 -3.77383 0.777002 0.355965 -0.519189 \n38.4195 -16.466 -3.65519 -0.740683 0.530093 -0.412783 \n-6.6034 -16.041 -3.06558 -0.238796 -0.764321 -0.59899 \n-5.62909 63.3214 -23.7643 0.369554 0.70202 0.608767 \n7.00902 64.458 -23.4866 -0.0707673 0.805907 0.587797 \n-30.9165 -15.3112 -3.3704 0.727078 0.384764 -0.568608 \n12.7242 -15.3369 -2.75685 0.449105 -0.567539 -0.690076 \n5.03155 -14.8696 -2.10923 -0.630408 -0.751585 -0.194179 \n41.4675 -49.3708 -16.4265 -0.951162 -0.0224098 0.307879 \n37.6436 -62.6553 -10.0516 -0.599181 0.280486 -0.749873 \n-31.7374 -53.0099 -17.3768 0.883147 -0.411166 -0.225818 \n-12.0171 -49.3493 -16.5012 -0.993137 0.0306217 0.11288 \n-1.88361 -14.0771 -3.60008 -0.0779003 -0.711231 -0.698629 \n5.09846 64.5287 -23.8802 -0.466289 0.751975 0.465948 \n9.51625 -13.1719 -2.30382 0.0560142 -0.803295 -0.592942 \n-9.33963 23.5429 -34.2358 0.318773 -0.35759 0.877789 \n-28.8603 -12.9338 -2.90344 0.514583 0.483678 -0.707997 \n36.477 -61.9951 -9.07981 -0.556524 -0.249356 -0.792529 \n-27.9878 -11.8603 -3.51516 0.506185 0.509827 -0.695596 \n34.3339 -12.0425 -3.86917 -0.436048 0.758144 -0.48485 \n32.1284 -11.5633 -2.41586 -0.565591 0.446588 -0.693301 \n-1.35205 37.3568 -38.6434 -0.14568 -0.119068 0.982141 \n31.9727 -10.3154 -3.07157 -0.554856 0.620919 -0.55371 \n-4.42197 64.982 -23.3644 0.411179 0.795585 0.444947 \n-10.8354 23.6805 -34.3392 0.319546 -0.22902 0.919478 \n-2.1085 -24.7034 -39.5188 0.785582 -0.615065 -0.0675049 \n1.21674 23.3178 -34.7553 0.0610517 -0.126821 0.990045 \n28.4047 -8.62385 -3.36624 -0.296686 0.756985 -0.582196 \n26.0194 -8.49175 -2.60208 -0.312901 0.562383 -0.765388 \n-22.3293 -7.39965 -3.10232 0.378694 0.507544 -0.773944 \n24.9622 -7.50325 -2.83787 -0.316599 0.684036 -0.657161 \n-2.5311 25.8735 -37.868 -0.0718656 -0.403088 0.912335 \n-12.5697 -45.3424 -16.4612 -0.919794 0.317495 0.230597 \n-19.806 -6.65545 -3.26004 0.302671 0.71165 -0.633991 \n-18.872 -6.58905 -2.74371 0.416808 0.44898 -0.790372 \n29.2245 -74.9274 -24.8057 -0.0254294 -0.928019 0.371663 \n22.3949 -44.5368 -16.7664 0.898658 0.0693935 0.433126 \n21.7726 -2.32965 -3.89484 -0.622924 0.339793 -0.704632 \n-18.5674 -1.84685 -4.39688 0.659382 0.407031 -0.632092 \n38.1096 -60.9883 -9.83692 -0.652826 -0.429439 -0.62402 \n41.6862 -44.2663 -16.3074 -0.967209 -0.0273613 0.252502 \n-12.2372 -51.5955 -17.3882 -0.990216 -0.139443 -0.0051922 \n17.2699 -0.73925 -2.93677 -0.32672 0.458897 -0.826237 \n-30.0069 -11.8831 -17.9266 0.904183 0.274539 0.327233 \n-13.6891 -43.6551 -16.5487 -0.909347 0.410472 0.0678229 \n-22.8194 -71.7105 -28.6473 0.756245 -0.138295 0.639506 \n-23.9165 -75.0443 -25.0165 -0.0354496 -0.997292 -0.0644297 \n-15.1007 -0.0463505 -3.11035 0.394226 0.550741 -0.73571 \n39.5285 -60.0189 -10.4267 -0.857887 -0.279622 -0.431093 \n-32.4514 -52.1214 -16.9865 0.901931 -0.427462 -0.0616195 \n31.6602 -74.837 -24.2343 -0.164453 -0.891512 0.422092 \n41.5631 -42.4473 -16.067 -0.964447 0.0881241 0.24915 \n-14.6172 6.97275 -4.68218 0.849095 -0.238779 -0.471193 \n-13.9342 7.50455 -2.28689 0.750893 -0.457527 -0.476265 \n17.503 9.60745 -3.17947 -0.859992 -0.298461 -0.413925 \n-16.93 -74.2482 -25.8007 0.0479392 -0.995707 -0.0791775 \n25.6208 -60.6358 -9.80391 0.642886 -0.444095 -0.62408 \n19.3885 12.6618 -2.5673 -0.2111 -0.946469 -0.244199 \n-18.2453 12.7839 -4.61706 0.126722 -0.927063 -0.352839 \n-19.4608 13.979 -3.54649 0.940698 -0.338838 0.016589 \n-19.6308 14.8706 -2.96605 0.974528 -0.196083 0.10884 \n-19.8234 16.524 -3.38945 0.859521 -0.496497 -0.121304 \n22.1868 15.9624 -3.7276 -0.73944 -0.662277 -0.120906 \n-20.812 17.8436 -2.93467 0.718578 -0.577531 -0.387431 \n-22.4895 20.7325 -3.52596 0.774455 -0.603847 -0.188648 \n25.7036 -59.2123 -9.13169 0.667545 -0.382497 -0.638811 \n25.6982 21.8733 -2.80758 -0.822871 -0.558966 -0.102181 \n-28.965 -25.4274 -19.3118 0.630253 -0.318805 0.707915 \n33.7853 -74.3895 -23.8775 -0.515163 -0.488096 0.704535 \n-30.5953 22.8179 -3.42231 -0.00407485 -0.999991 0.00138541 \n-32.3179 23.0361 -2.67345 0.0519407 -0.998225 0.0291245 \n-34.099 23.4284 -3.6404 0.174525 -0.975818 0.131607 \n28.2924 24.4868 -2.82394 -0.587184 -0.790254 -0.175254 \n35.9682 25.4438 -4.0807 -0.288792 -0.858436 0.423895 \n-19.0662 -74.2236 -22.8506 -0.0291226 -0.999545 -0.00789799 \n-41.2333 25.7358 -3.45572 0.254671 -0.791411 0.555708 \n38.286 26.4155 -4.06184 -0.604759 -0.731653 0.314564 \n24.6833 -58.2185 -9.76324 0.67908 -0.480549 -0.554908 \n-15.2937 -40.0812 -15.5793 -0.80994 0.582807 0.0658229 \n-42.257 26.3374 -2.95459 0.229554 -0.69965 0.676606 \n-42.7083 27.2278 -3.64354 0.1928 -0.705348 0.682138 \n-44.0196 27.0166 -3.2718 0.818855 -0.545829 0.177614 \n23.7656 -57.3806 -10.084 0.817763 -0.358094 -0.450591 \n40.6731 28.025 -3.08452 -0.639231 -0.576027 0.509487 \n34.9651 -11.1368 -18.6505 -0.80503 0.230687 0.546543 \n42.2054 30.105 -2.72876 -0.73913 -0.414555 0.530877 \n-45.0065 28.9205 -2.99 0.966478 -0.193219 -0.169079 \n41.6054 31.1632 -4.201 -0.76221 -0.380964 0.523357 \n-45.6637 32.9968 -3.71766 0.995938 -0.0895331 -0.00955736 \n4.63708 -33.5409 -56.4695 0.37457 -0.736196 -0.56366 \n42.1727 36.7711 -4.22219 -0.802406 0.148281 0.578063 \n42.889 36.6534 -2.89927 -0.759972 0.156707 0.630781 \n42.2485 37.9364 -3.58057 -0.822726 0.331715 0.461614 \n-43.1648 38.7836 -3.70205 0.414018 0.62543 0.661382 \n-15.4673 -39.625 -17.0608 -0.773098 0.612576 0.164531 \n40.0829 -55.2584 -9.0049 -0.735697 -0.462674 -0.494654 \n24.3785 -72.5087 -24.616 0.729182 0.0789497 0.679751 \n-31.9878 -39.9347 -16.6976 0.800089 0.59586 0.0693485 \n39.8593 42.2714 -3.22832 -0.516629 0.655166 0.551227 \n-36.8142 41.6245 -3.77662 0.451475 0.892284 4.26128e-005 \n38.7464 42.5948 -3.42681 -0.420722 0.793502 0.439714 \n-34.7611 42.5938 -2.7544 0.393454 0.914083 -0.0982202 \n37.778 42.9756 -4.33207 -0.46192 0.774839 0.431572 \n-18.3922 -56.0347 -28.679 -0.45168 0.151707 0.879187 \n-31.0799 43.5462 -2.93402 0.166004 0.982353 -0.0861673 \n32.7417 44.1457 -3.48133 0.00867159 0.955804 0.293876 \n30.5975 43.9519 -3.44564 -0.135163 0.961704 0.238446 \n28.8078 47.7624 -3.2537 -0.939841 -0.237604 -0.245445 \n28.8708 48.8299 -3.5806 -0.913429 0.40186 -0.0644635 \n-26.0175 -71.2535 -25.1312 0.744984 -0.155415 0.648726 \n32.9731 -71.3265 -24.344 -0.492957 0.0622025 0.867827 \n-22.6343 50.6024 -4.08895 0.830709 0.548032 -0.0978944 \n26.6668 50.7412 -1.40718 -0.58672 0.798026 -0.137532 \n-29.7375 -37.7734 -16.9139 0.787549 0.341205 0.513172 \n27.0079 -37.5195 -16.909 0.612295 0.61562 0.496091 \n-22.0212 51.5281 -3.12465 0.735743 0.652988 -0.179693 \n21.7468 53.8745 -3.89444 -0.613229 0.729704 0.302461 \n-25.34 -56.1516 -10.1999 0.132965 -0.568217 -0.812065 \n-14.8151 57.5021 -3.03622 0.638358 0.517493 -0.569825 \n-15.693 57.8159 -3.81582 0.712965 0.527244 -0.462271 \n26.9286 -36.1688 -15.3882 0.673064 0.31592 0.668715 \n-14.3345 58.6549 -3.09415 0.788937 0.443394 -0.425416 \n6.59174 -25.67 -52.5149 -0.937513 0.310364 0.157303 \n16.0196 60.193 -3.19257 -0.484176 0.801868 -0.350117 \n14.1087 60.8961 -2.85975 -0.774651 0.620251 -0.123303 \n-29.6959 -35.6834 -16.3304 0.725089 0.148251 0.672508 \n-12.1427 61.6945 -3.36867 0.760637 0.612615 0.21479 \n-11.0714 62.4129 -3.2097 0.525187 0.847887 0.072564 \n-10.7215 62.8729 -3.18039 0.910926 0.362379 -0.197218 \n-16.4317 -36.1696 -15.5607 -0.948036 -0.0652517 0.311402 \n22.5935 -54.9954 -10.11 0.868499 -0.389367 -0.306762 \n11.9093 64.2299 -3.37977 -0.553638 0.669303 -0.495498 \n5.96673 -24.8091 -40.7755 -0.928196 -0.358341 -0.100223 \n37.8682 -35.785 -16.2053 -0.440792 0.677897 0.588352 \n24.6073 -70.5114 -25.1942 0.697275 0.198483 0.688776 \n7.50895 67.5559 -3.50705 -0.346333 0.852246 0.392085 \n3.91019 67.9911 -3.09396 -0.197055 0.97405 0.11134 \n43.118 -75.053 -4.10206 -0.0155662 -0.998977 0.0424512 \n-19.3799 -55.4072 -9.88185 -0.159544 -0.441538 -0.882944 \n-33.4552 -75.3542 -1.8424 0.00320021 -0.998519 0.0543072 \n55.3923 -74.4114 -3.26248 -0.2091 -0.952127 0.223005 \n53.9715 -74.163 -4.08388 0.139663 -0.990189 -0.00439902 \n25.2529 -67.9743 -23.975 0.480671 0.569013 0.667218 \n-21.7017 -74.4242 -3.76728 -0.384507 -0.516439 -0.765144 \n-20.4359 -74.2307 -4.07913 -0.492986 -0.555934 -0.669255 \n44.7693 -66.073 -10.8188 -0.415397 0.863122 0.287168 \n-27.9557 -73.4353 -3.57597 -0.356013 -0.540747 -0.762134 \n-34.7195 -73.2353 -3.40008 0.938506 0.230217 0.257305 \n-27.9051 -68.8601 -23.9555 0.798076 -0.0947124 0.595066 \n-25.2787 -55.3846 -9.45691 -0.265717 -0.575261 -0.773608 \n52.3154 -73.377 -3.46566 0.44966 -0.736759 -0.504968 \n31.8305 -73.9408 -3.97653 0.910665 -0.198608 -0.362276 \n-20.2215 -72.8526 -3.89399 -0.862935 -0.0665922 -0.500908 \n49.0023 -70.793 -4.94301 0.106877 0.524439 -0.844714 \n-19.8738 -71.0113 -4.37901 -0.817181 -0.0387107 -0.57508 \n12.9625 46.4956 -35.3591 -0.396901 0.298273 0.868046 \n-31.7424 -70.0086 -18.4461 0.717164 0.22148 0.660774 \n53.6567 -70.5217 -4.05062 -0.41802 0.899194 -0.129266 \n-20.9165 -70.4693 -3.35737 -0.529361 0.186028 -0.82775 \n-26.2411 -69.9041 -3.40424 0.821177 0.570546 0.0120222 \n2.54374 37.2999 -38.9402 -0.00755739 0.335319 0.942074 \n-21.3391 -69.0805 -3.58879 -0.354457 0.437339 -0.826495 \n-29.638 -68.8438 -3.94983 -0.43802 0.744148 -0.504363 \n-31.9405 -68.4702 -3.27953 0.0300024 0.912357 -0.408294 \n44.2174 -67.3249 -3.54895 -0.46956 0.836973 -0.281051 \n39.6311 -66.7328 -3.58774 0.193179 0.647165 -0.737468 \n-23.1728 -54.661 -9.80388 -0.150426 -0.546972 -0.823525 \n37.5123 -66.3108 -3.57969 0.0528614 0.973979 -0.220386 \n30.7927 -53.4353 -3.9696 -0.0968803 -0.452741 -0.886363 \n29.6947 -52.71 -3.6686 0.120637 -0.422753 -0.898179 \n28.5931 -51.7463 -3.20188 0.205167 -0.388397 -0.898362 \n32.6353 -34.3414 -16.2967 -0.095902 0.0840715 0.991834 \n29.4566 -33.9076 -16.3198 0.196635 0.0886207 0.976464 \n19.55 33.8439 -33.6291 -0.906096 0.0571813 0.419191 \n35.2155 -50.4313 -3.40175 -0.0110432 -0.544232 -0.838862 \n29.0455 -32.9892 -15.9588 0.265342 -0.0274499 0.963764 \n-12.3184 -49.5513 -18.3385 -0.977301 -0.0276389 0.210048 \n26.1583 -50.9607 -3.69334 0.397846 -0.324687 -0.858078 \n29.6045 -66.7086 -24.3439 0.00395366 0.653889 0.75658 \n33.1629 -50.3951 -3.79299 -0.119472 -0.333454 -0.935166 \n26.681 -49.6286 -3.13739 0.280465 -0.33412 -0.899835 \n-18.2523 -54.6125 -9.49109 -0.375162 -0.509908 -0.774111 \n37.6629 -49.2851 -3.78611 -0.372578 -0.369449 -0.851289 \n-13.7099 -67.1037 -24.673 -0.915608 0.401902 0.0116959 \n19.1872 34.2644 -34.436 -0.785915 0.115387 0.607473 \n-26.5763 -8.23785 -18.8014 0.490827 0.660715 0.567931 \n23.9208 -47.6197 -3.90145 0.623675 -0.314599 -0.715581 \n32.2882 -8.11315 -19.0449 -0.567963 0.712224 0.4125 \n-27.6045 -46.6709 -3.30251 -0.0900486 -0.5026 -0.859817 \n23.3422 -45.6632 -3.47817 0.661901 -0.152362 -0.733943 \n-25.1215 -47.0677 -3.71195 -0.0190225 -0.39413 -0.918858 \n-24.0664 -45.8418 -3.35271 -0.201636 -0.402521 -0.892927 \n-29.5326 -45.7127 -4.55963 0.680629 -0.338358 -0.649814 \n34.3074 -32.6423 -15.9285 -0.353729 0.092126 0.9308 \n-22.2603 -45.9892 -3.35518 -0.292245 -0.488937 -0.821908 \n-21.9591 -45.3983 -3.38427 -0.555529 -0.0522558 -0.829854 \n-28.7775 -44.832 -3.67664 0.530953 -0.247696 -0.810392 \n39.3932 -45.1773 -3.65037 -0.576354 -0.343635 -0.741439 \n-22.1707 -44.1299 -3.38471 -0.405603 -0.0908431 -0.909524 \n22.688 -44.5372 -4.42891 0.790397 0.0162771 -0.612378 \n-29.4711 -43.8359 -3.45557 0.535791 -0.256283 -0.804516 \n30.2021 -32.6273 -16.2207 0.110482 0.102233 0.988606 \n-14.8407 -63.6528 -24.5317 -0.998298 -0.0116371 0.0571546 \n39.5484 -55.9818 -18.8079 -0.855984 -0.133045 0.49959 \n40.9864 -43.1637 -3.95965 -0.717734 -0.450599 -0.530866 \n23.1544 -43.2795 -4.24855 0.762121 0.153556 -0.628961 \n-23.7282 -68.8827 -27.9803 0.669864 -0.0329568 0.741752 \n-29.4748 -42.2076 -3.01399 0.284336 -0.848045 -0.447183 \n-31.604 -41.1345 -2.11198 0.350409 -0.862172 -0.365888 \n-28.5623 -53.673 -9.15934 0.618659 -0.553091 -0.557989 \n-29.4235 -53.5844 -9.86033 0.642663 -0.556316 -0.52678 \n24.1663 -40.2426 -4.48235 0.747172 0.423975 -0.511838 \n19.7739 22.4313 -28.9179 -0.754421 -0.100171 0.648703 \n-22.0854 -73.6442 -28.7717 0.833726 -0.188977 0.518835 \n41.9936 -39.9462 -4.04468 -0.921439 -0.0196217 -0.388028 \n25.3198 -40.2692 -3.1796 0.6792 0.273317 -0.681164 \n24.91 -38.7064 -4.09331 0.743475 0.474077 -0.471695 \n25.6589 -38.939 -3.25164 0.551571 0.298441 -0.778911 \n-14.8884 -61.4278 -24.5176 -0.960423 -0.199381 0.194512 \n25.9194 -38.0573 -3.75611 0.630816 0.609991 -0.479565 \n18.4651 35.7665 -34.0691 -0.682979 0.145333 0.715833 \n20.1791 53.7352 -25.0652 -0.676986 0.533589 0.506925 \n-29.3651 -60.775 -24.2692 0.801138 -0.420057 0.426298 \n32.0941 -31.9025 -16.2073 -0.0589927 0.0573145 0.996612 \n42.1796 -37.3862 -3.75597 -0.735181 0.277621 -0.618414 \n41.4411 -36.395 -3.57046 -0.784549 0.25391 -0.565697 \n41.4217 -35.5028 -3.85878 -0.964342 -0.165812 -0.206278 \n-19.3892 -36.5198 -3.7351 -0.750287 -0.338751 -0.56773 \n-18.8015 -34.4286 -3.3856 -0.76371 -0.461411 -0.451495 \n-34.0481 -34.0795 -3.58911 0.900511 0.377648 0.215548 \n-17.6928 -33.3473 -4.16992 -0.786249 -0.462207 -0.410094 \n-1.34435 -25.3017 -43.6482 0.91473 -0.358922 0.185593 \n-33.2589 -33.2887 -4.48938 0.94601 0.217411 0.240412 \n27.3018 -32.3489 -15.92 -0.0367979 -0.833264 0.551649 \n24.8645 -31.1756 -2.86867 0.638659 -0.535273 -0.552809 \n41.984 -32.7691 -3.66029 -0.985218 0.0455699 0.165133 \n-13.877 -57.9342 -24.6291 -0.959265 -0.0447103 0.278949 \n-32.832 -31.4484 -3.65532 0.898969 -0.224757 -0.375951 \n23.2847 -29.752 -3.23385 0.652724 -0.552561 -0.518293 \n-15.0547 -29.1591 -3.52263 -0.797372 -0.53207 -0.284779 \n-33.9968 -28.146 -3.26609 0.893401 -0.112506 -0.434946 \n19.9809 -25.9156 -3.60132 0.612984 -0.530269 -0.585718 \n-13.1969 -73.7677 -28.8717 -0.795592 -0.500143 0.341891 \n-29.8834 -56.9219 -24.3936 0.822024 -0.0793624 0.563895 \n-12.3556 -24.7344 -3.59681 -0.73077 -0.479549 -0.485807 \n32.0719 -31.3405 -16.3468 -0.22933 -0.614388 0.754941 \n-30.3907 -55.6875 -24.1393 0.891629 -0.093849 0.442933 \n39.6465 -21.4337 -3.03598 -0.905106 0.164084 -0.392248 \n-33.4658 -22.4179 -3.29604 0.807446 0.331046 -0.488302 \n-34.1688 -22.2614 -4.09406 0.82898 0.281032 -0.483543 \n-30.016 -52.7036 -10.067 0.666841 -0.576785 -0.47185 \n-10.4218 14.9582 -28.9373 0.617434 0.213793 0.757012 \n18.3104 38.2512 -34.8468 -0.544044 0.122585 0.830054 \n20.7512 -31.0299 -15.448 0.423151 -0.655423 0.625591 \n39.2882 -20.0947 -3.20995 -0.845167 0.396348 -0.35861 \n-9.48468 -20.0347 -4.11023 -0.862057 -0.470549 -0.188258 \n-8.55883 -18.5126 -3.82337 -0.83614 -0.440743 -0.326522 \n38.902 -17.4912 -3.74595 -0.849053 0.152521 -0.505813 \n21.4685 -52.2688 -9.18388 0.813624 -0.417955 -0.404141 \n-32.208 -18.0686 -3.74837 0.787471 0.339978 -0.514106 \n11.3482 -15.0472 -3.2734 0.425795 -0.648151 -0.631347 \n2.72159 -16.3326 -3.09782 -0.162402 -0.983658 -0.077733 \n0.312321 -15.6528 -2.85744 0.64127 -0.758414 -0.116532 \n19.5495 -29.6236 -15.5241 0.572228 -0.636922 0.516609 \n-13.6902 -29.4508 -16.4522 -0.716711 -0.545987 0.433847 \n-9.58427 -10.6749 -26.7851 0.0942251 -0.182249 0.978727 \n-14.5534 -30.3803 -15.7281 -0.762613 -0.426787 0.486081 \n20.965 -51.0363 -9.54995 0.952435 -0.210452 -0.220405 \n35.4409 -30.2142 -15.2933 -0.559762 -0.349497 0.751344 \n9.89698 -14.2478 -3.57707 0.338562 -0.724887 -0.599929 \n36.8334 -14.0743 -4.03981 -0.7312 0.505376 -0.458194 \n-4.02972 -14.8445 -3.70573 -0.324931 -0.681335 -0.655898 \n7.50003 -13.3187 -2.47434 -0.0466369 -0.826579 -0.560886 \n19.3535 39.7074 -33.7765 -0.695939 0.165994 0.698652 \n34.9204 -12.8979 -3.42647 -0.634214 0.592886 -0.496244 \n-24.9891 -7.13505 -18.2426 0.238673 0.802325 0.547093 \n-29.6189 -12.6143 -3.92988 0.669771 0.5646 -0.482321 \n18.7287 -28.9198 -16.2063 0.50529 -0.746186 0.433461 \n-30.0215 -29.7927 -15.9177 0.658546 -0.43616 0.613254 \n-27.0184 -10.3235 -3.50947 0.483832 0.504211 -0.715317 \n-9.91344 60.7427 -26.7687 0.379109 0.798673 0.467331 \n-30.4897 -46.7075 -24.0513 0.715015 0.00684646 0.699076 \n-12.9397 -28.577 -15.6083 -0.848259 -0.269789 0.455709 \n-30.7768 -27.8362 -16.8493 0.647479 -0.328607 0.687596 \n35.7719 -28.2986 -16.3462 -0.610804 -0.340655 0.714754 \n27.5395 -7.87425 -3.26117 -0.344367 0.605082 -0.717835 \n26.3659 -7.04385 -3.8949 -0.283874 0.737147 -0.613212 \n25.3403 -6.57785 -3.65504 -0.231241 0.712004 -0.663006 \n-20.9986 -66.3493 -10.706 -0.609121 0.741282 -0.281909 \n20.7628 -49.5911 -10.0562 0.992419 -0.121197 -0.0203657 \n-20.103 -5.83105 -4.14634 0.578418 0.40621 -0.707408 \n23.6796 -6.56935 -3.48559 -0.231116 0.748419 -0.621655 \n-29.8335 -45.1776 -25.0129 0.601031 0.153831 0.784282 \n31.6923 -6.54125 -17.7167 -0.649942 0.670644 0.357507 \n22.33 -4.46255 -3.49665 -0.676277 0.278311 -0.682051 \n15.4291 -26.9578 -15.2873 0.497812 -0.862346 0.0924269 \n18.1705 0.24865 -3.86325 -0.33097 0.568825 -0.752926 \n-11.8747 -27.4743 -15.6485 -0.716681 -0.566354 0.406953 \n41.4174 -49.4291 -9.17968 -0.974815 -0.203638 0.0909281 \n17.5301 0.253448 -3.37721 -0.727929 0.181506 -0.661192 \n17.9895 2.19395 -4.35942 -0.769318 0.250434 -0.587735 \n-13.3692 3.92705 -3.23676 0.784153 0.00799724 -0.620516 \n-16.9623 -43.209 -23.5439 -0.628691 0.420808 0.653964 \n-14.6811 8.37065 -2.86908 0.829957 -0.292449 -0.475021 \n11.0019 30.0285 -37.4306 -0.309211 -0.154865 0.938299 \n-16.5165 13.1168 -3.31631 0.894667 -0.359534 -0.265152 \n-11.4856 -25.5996 -16.8393 -0.817595 -0.38629 0.426987 \n17.1426 57.3662 -24.6998 -0.344754 0.68114 0.645904 \n25.0469 33.1243 -26.5161 -0.832849 0.0825992 0.547302 \n20.441 -48.3671 -9.50419 0.99897 -0.0453364 -0.00175196 \n-21.4795 18.6504 -3.0433 0.864673 -0.443159 -0.236539 \n-11.2024 38.7833 -37.1637 0.148607 0.00546758 0.988881 \n-20.008 -41.6088 -24.2503 -0.278702 0.549534 0.787615 \n20.6495 -47.285 -8.85781 0.972075 -0.106931 -0.208892 \n-26.8059 23.22 -4.54296 0.123866 -0.992291 0.00405032 \n-35.3526 23.9901 -2.94286 0.444674 -0.892752 0.0725162 \n-20.714 -41.9153 -24.856 -0.281404 0.538085 0.794529 \n-39.224 25.4755 -3.47204 0.537921 -0.805459 0.248752 \n-43.4348 26.4914 -3.37661 0.172077 -0.698214 0.6949 \n-22.4029 32.3083 -26.3039 0.981253 -0.0410896 0.188293 \n37.2589 -23.3857 -16.3474 -0.818095 -0.134988 0.559016 \n42.5056 32.5303 -3.94554 -0.839922 -0.273984 0.46847 \n-45.2952 30.8216 -3.48462 0.97988 -0.175001 -0.0959703 \n-32.5653 -47.1493 -9.19247 0.943579 -0.183618 -0.275579 \n-32.0667 -23.1748 -16.0913 0.836413 -0.100228 0.538858 \n-45.2224 37.8726 -3.63575 0.704128 0.487927 0.51588 \n-13.825 -47.6467 -9.96909 -0.827401 -0.0932162 -0.553822 \n-9.60384 -22.2772 -16.6848 -0.784476 -0.377627 0.49193 \n41.7123 39.5105 -3.12813 -0.804173 0.358524 0.474094 \n-22.8435 33.9241 -27.0933 0.916082 -0.270073 0.296402 \n-40.4439 39.8215 -4.07932 0.446597 0.718554 0.533134 \n21.6677 -22.3141 -24.0496 0.0156816 -0.544439 0.838654 \n3.62862 38.0005 -38.7483 -0.126198 -0.231789 0.964546 \n35.1434 44.5409 -2.63359 0.00714818 0.953712 0.300636 \n33.9053 44.1861 -3.03453 0.00176574 0.943867 0.330322 \n-8.73326 -22.5605 -15.0754 -0.848443 -0.487145 0.206966 \n-28.6758 44.0437 -3.05217 0.544977 0.771309 -0.328759 \n27.8284 45.3223 -3.1043 -0.985187 0.0161066 -0.170728 \n28.2292 46.3163 -3.68668 -0.944707 -0.268674 -0.187997 \n-21.1175 -21.2799 -24.1997 0.152524 -0.349208 0.924548 \n22.785 -21.3188 -24.5347 -0.100151 -0.338733 0.935537 \n-17.5786 54.6172 -3.6255 0.354157 0.932838 -0.0662292 \n-16.2262 -65.5808 -28.2394 -0.584953 0.467173 0.663008 \n19.2955 55.6954 -3.27093 -0.880404 0.323938 -0.346343 \n19.7395 56.2023 -4.28668 -0.772405 0.539416 -0.335292 \n-14.5784 46.7838 -33.604 0.560783 0.305009 0.769735 \n-14.4731 -44.2062 -9.50126 -0.799665 0.309122 -0.514762 \n17.8739 57.7994 -3.28406 -0.768528 0.634226 -0.0843893 \n16.5168 60.2189 -4.65891 -0.668734 0.717523 -0.194821 \n-14.8841 59.2622 -4.17865 0.687787 0.631369 -0.358221 \n-12.8049 60.1824 -3.57262 0.843464 0.509053 0.171563 \n24.3666 35.202 -26.8562 -0.76819 -0.427807 0.476303 \n23.9097 -21.0736 -24.2895 -0.103788 -0.405016 0.9084 \n-10.7057 63.7383 -4.07991 0.735854 0.542905 -0.404688 \n-6.67707 -19.1472 -15.7897 -0.547359 -0.791527 0.271815 \n-32.7538 -21.3505 -15.9415 0.833214 -0.0811009 0.54697 \n13.561 48.5826 -34.3667 -0.369812 0.426078 0.825649 \n-11.2827 47.6392 -34.5261 0.20222 0.617485 0.760144 \n-9.29414 64.9952 -4.61821 0.459451 0.886445 0.0558602 \n8.05642 66.7075 -4.29021 -0.544148 0.837336 0.0526482 \n-7.48778 66.6031 -3.788 0.469522 0.882803 0.0143964 \n37.0205 -19.3086 -16.7156 -0.843777 0.0830934 0.530222 \n-5.62834 67.2991 -3.70979 0.158341 0.983587 0.0865173 \n-23.1015 35.2808 -26.8991 0.939106 -0.0260059 0.342643 \n-3.23161 68.0419 -3.39527 0.452754 0.891635 -0.00047279 \n-32.7303 -19.242 -15.7838 0.862323 0.154181 0.482314 \n-31.4671 -75.1656 -3.3618 -0.0215836 -0.999543 0.0211542 \n38.7136 -74.6133 -3.76589 0.0199224 -0.984365 0.175009 \n32.6608 -74.9202 -3.94802 0.52669 -0.807837 -0.26457 \n8.48584 -18.9938 -17.0222 0.669272 -0.628682 0.396023 \n-25.2803 -74.7954 -4.91541 0.126519 -0.976235 -0.175949 \n-26.3085 -74.2012 -3.94861 0.266188 -0.818277 -0.509477 \n-28.419 -74.4622 -3.98162 -0.403776 -0.745274 -0.530595 \n-34.3572 -74.6889 -3.77224 0.356121 -0.884374 0.301763 \n55.7939 -74.006 -3.5511 -0.852045 -0.0543256 0.520641 \n-34.8582 -73.9162 -4.3082 0.918581 -0.28599 0.272797 \n-23.4836 -20.5379 -23.9987 0.216257 -0.336653 0.91646 \n26.7302 -20.2976 -24.0899 -0.240583 -0.2892 0.926544 \n50.7436 -72.9986 -4.40031 0.376157 -0.699645 -0.607456 \n-34.4641 -71.3683 -3.65545 0.887728 0.205296 0.412058 \n-21.1697 -19.5189 -24.4711 0.0950075 -0.161212 0.982336 \n52.0014 -70.0786 -4.13341 0.154515 0.621658 -0.767898 \n25.1687 36.5071 -27.0257 -0.844393 -0.386571 0.370894 \n-33.6063 -70.0088 -4.38041 0.833106 0.391326 0.390894 \n33.0686 -69.7951 -2.96129 0.875387 0.277107 -0.396117 \n-34.2491 -43.7996 -9.54221 0.850311 -0.301843 -0.431117 \n46.4925 -69.6077 -4.51353 -0.742522 0.668451 -0.0428323 \n30.3072 -71.5601 -7.35691 0.79603 0.0235924 -0.604797 \n45.607 -68.3109 -3.43057 -0.620061 0.746715 0.240711 \n-24.7269 -68.5066 -4.24324 0.255794 0.735452 -0.627438 \n-22.9163 -67.8599 -4.02924 0.0896755 0.645008 -0.758896 \n22.8499 -46.2009 -17.5575 0.856467 0.0697064 0.511473 \n38.7214 -66.8298 -3.53855 -0.572017 0.791131 -0.216581 \n43.7444 -66.6907 -4.80589 -0.579863 0.771132 -0.262896 \n38.8675 -66.633 -4.1735 -0.164305 0.922705 -0.34874 \n42.0163 -66.3362 -3.81474 -0.201731 0.778604 -0.594205 \n40.1589 -65.8007 -4.17528 0.0435017 0.895977 -0.441964 \n36.0518 -65.9899 -4.74818 0.143311 0.9081 -0.393466 \n25.5546 37.8839 -27.2373 -0.871508 -0.204417 0.445744 \n-15.8465 -18.948 -24.2443 -0.267721 -0.304239 0.914201 \n-23.0387 37.8289 -26.8638 0.906362 0.0538704 0.419054 \n28.2468 -52.7999 -3.99795 0.218023 -0.331932 -0.917762 \n26.4879 -52.1225 -4.10906 0.300496 -0.342571 -0.890139 \n-31.9676 -16.915 -16.8069 0.877324 0.06462 0.475528 \n37.8611 -51.1463 -3.82542 -0.391793 -0.203227 -0.897328 \n-2.71871 37.3441 -38.7233 0.0561472 0.00272848 0.998419 \n39.945 -54.129 -19.1525 -0.85138 -0.103158 0.514305 \n12.6427 49.6219 -33.5389 -0.551368 0.0781077 0.830598 \n36.2608 -50.6874 -3.92834 -0.0786794 -0.431512 -0.89867 \n24.3746 -48.9428 -4.16302 0.700735 -0.270171 -0.660286 \n-15.6128 -41.0675 -10.1887 -0.698829 0.516996 -0.494321 \n-25.931 -48.8792 -4.05568 0.243537 -0.403057 -0.882176 \n26.0221 -2.99765 -18.7849 -0.667103 0.607019 0.431858 \n-24.3265 -47.869 -4.20264 -0.31425 -0.394396 -0.863539 \n-26.9674 -47.6915 -4.31634 0.25695 -0.493642 -0.83084 \n26.4477 -2.72005 -17.6965 -0.696056 0.65914 0.284677 \n11.8552 50.849 -34.2717 -0.514993 0.207671 0.831658 \n-28.3468 -46.8474 -3.6118 0.529091 -0.614696 -0.584988 \n39.1003 -47.4055 -4.02874 -0.60684 -0.216145 -0.764871 \n-22.0956 -46.8522 -4.5769 -0.342038 -0.528576 -0.776928 \n18.7545 -18.9539 -24.263 0.221228 -0.391173 0.893332 \n40.8825 -44.8202 -4.12029 -0.685148 -0.306755 -0.660662 \n42.3839 -41.0322 -9.80785 -0.970595 -0.148855 0.189174 \n0.153468 -14.4396 -15.2558 -0.350143 -0.919311 -0.179629 \n41.1189 -43.4577 -4.45825 -0.873137 -0.13839 -0.467418 \n5.90361 -33.1805 -57.1558 -0.761849 -0.386049 0.520146 \n-21.2085 -44.1049 -4.14836 -0.524642 -0.194893 -0.828714 \n-21.2197 -43.0023 -3.9748 -0.401343 0.158678 -0.902078 \n37.1041 -14.9676 -16.2649 -0.891647 0.320877 0.319379 \n-29.4822 -42.7107 -3.47014 0.534304 -0.203676 -0.820387 \n36.3554 -13.2109 -15.6093 -0.912231 0.279862 0.299186 \n-21.5205 -42.0135 -4.08298 -0.546391 0.190113 -0.815668 \n42.1465 -41.5642 -3.56567 -0.93664 -0.21755 -0.27455 \n24.0269 -54.1783 -19.3804 0.778989 -0.0286412 0.626383 \n-20.9841 -41.3677 -4.40462 -0.602093 -0.236545 -0.762581 \n-21.475 -40.0929 -3.38494 -0.629601 -0.358508 -0.689257 \n-30.6248 -12.7193 -16.1941 0.817283 0.375489 0.437099 \n-32.6409 -40.8653 -4.23086 0.877978 -0.449267 0.165267 \n15.9455 56.8731 -25.6973 -0.83485 0.440068 0.330704 \n42.582 -38.673 -4.09089 -0.825448 -0.168867 -0.538627 \n-30.2149 -11.5959 -16.7619 0.893248 0.273403 0.356872 \n-16.6292 -40.35 -9.71719 -0.838949 0.354975 -0.412501 \n16.397 -18.6625 -24.205 0.253318 -0.515021 0.818892 \n-34.0735 -37.3033 -4.39174 0.940147 -0.140437 0.310486 \n-22.9996 41.9868 -26.1172 0.925042 0.12501 0.358706 \n-15.5955 -16.9165 -24.6369 -0.312258 -0.156739 0.936978 \n-34.3027 -35.337 -4.07873 0.947962 0.120123 0.294854 \n28.7496 -16.6612 -24.5788 -0.404964 -0.107202 0.908026 \n24.177 -30.4505 -3.32413 0.668422 -0.542108 -0.509245 \n-0.470886 -17.145 -24.2644 0.162041 -0.832991 -0.529025 \n-32.626 -39.9076 -9.69213 0.905884 0.41861 -0.0643358 \n-33.4807 -29.3985 -3.50565 0.843767 -0.359381 -0.398627 \n22.3795 -28.6574 -3.71785 0.672999 -0.523776 -0.522236 \n-29.2156 -8.98215 -16.1708 0.630605 0.643829 0.433385 \n-34.6736 -28.3403 -4.35065 0.872698 -0.311891 -0.375661 \n40.7408 -27.7862 -3.62323 -0.94015 0.339628 0.0277718 \n-17.305 -39.73 -8.23783 -0.890743 -0.0584397 -0.450734 \n19.2523 -26.7495 -5.29789 0.64538 -0.61214 -0.456913 \n-34.695 -26.9322 -4.11209 0.871216 0.103833 -0.479793 \n40.3079 -26.1377 -3.6572 -0.965374 0.0215883 -0.259975 \n-22.1824 -72.3194 -29.4722 0.747842 -0.082348 0.65875 \n-12.0821 -24.8032 -4.38916 -0.829739 -0.541721 -0.134433 \n20.0527 -24.9555 -2.83612 0.635575 -0.53628 -0.555382 \n40.7813 -24.375 -4.2252 -0.944526 0.0144832 -0.328117 \n-11.4753 -23.3368 -3.89863 -0.760585 -0.453014 -0.465068 \n-5.59274 38.5061 -38.7797 0.190199 -0.0846145 0.978092 \n40.5438 -23.2244 -4.46458 -0.93349 0.125875 -0.335786 \n-16.5242 56.6034 -25.4107 0.485189 0.631904 0.604391 \n-9.47666 53.077 -33.7782 0.396156 0.638797 0.659544 \n10.7547 53.3582 -33.5729 -0.361278 0.69812 0.618149 \n42.2198 -37.7168 -9.65255 -0.94032 0.173613 0.292672 \n-12.5484 -72.1541 -28.1869 -0.964276 0.0157439 0.26443 \n-32.7301 -21.0484 -3.40425 0.802804 0.293766 -0.518852 \n15.6561 -21.7282 -4.85685 0.683189 -0.459794 -0.567312 \n-24.4108 -16.4875 -24.1317 0.513565 0.0483023 0.85669 \n-33.6339 -19.7677 -4.61211 0.872903 0.227587 -0.43156 \n32.0274 -5.54575 -15.5953 -0.578725 0.809151 0.101747 \n39.9283 -19.7812 -4.35208 -0.861114 0.349707 -0.369036 \n-6.34028 53.1346 -34.3032 0.287256 0.633079 0.718815 \n-23.5386 -4.65485 -15.4427 0.521808 0.720092 0.457366 \n13.3117 -16.5992 -3.80101 0.584354 -0.559592 -0.587697 \n-8.07342 -17.0131 -3.69971 -0.735986 -0.357402 -0.574968 \n24.7295 44.0043 -26.6645 -0.906524 0.342466 0.246844 \n28.7901 -4.48625 -16.3639 -0.31106 0.91722 0.248895 \n-7.74625 53.4987 -34.2966 0.170656 0.55098 0.816883 \n37.3336 -15.2885 -4.07708 -0.65596 0.539246 -0.528139 \n-16.1961 -37.3369 -10.4055 -0.974848 -0.191781 -0.113542 \n-21.8842 -4.25575 -15.8307 0.461972 0.801111 0.380529 \n27.7577 -3.81655 -16.6666 -0.659406 0.732072 0.171038 \n12.6682 -15.3374 -24.136 0.455255 -0.457246 0.763982 \n-1.14044 -14.665 -4.27796 -0.0741932 -0.834204 -0.546443 \n6.18495 -13.7922 -2.55609 -0.563192 -0.731122 -0.385065 \n-31.3561 -15.2416 -4.28926 0.778197 0.381226 -0.499076 \n24.6052 -37.2578 -9.86752 0.992238 0.120851 0.029314 \n32.9934 -11.2848 -3.99618 -0.590883 0.572648 -0.568271 \n5.93765 54.1761 -34.1015 -0.225199 0.477688 0.849176 \n-25.5975 -8.48665 -4.17005 0.352201 0.627714 -0.694212 \n30.6047 -8.88435 -3.89969 -0.369176 0.812101 -0.451887 \n-24.0632 -7.99495 -4.175 0.413248 0.561146 -0.717176 \n-26.7825 -65.438 -10.913 0.125349 0.966126 -0.225583 \n-23.1021 -6.83875 -4.25701 0.374376 0.576058 -0.726636 \n-21.7983 -5.90475 -4.64177 0.206324 0.757183 -0.619762 \n-21.5681 -6.46515 -3.56985 0.235823 0.724833 -0.647306 \n23.4068 -5.70195 -4.15929 -0.626174 0.44838 -0.637857 \n40.8502 -34.5588 -9.72651 -0.75795 0.563447 0.328694 \n-10.2972 -16.6008 -23.5454 -0.0232027 -0.658074 0.752595 \n-5.00414 54.3345 -34.3517 0.467613 0.665277 0.582018 \n3.25009 -26.4168 -36.7065 -0.473594 -0.86263 -0.177701 \n-20.2498 -2.94955 -4.99969 0.687484 0.341465 -0.640912 \n5.8446 55.8824 -33.9865 -0.224011 0.200618 0.953714 \n-17.173 -0.389551 -3.55556 0.51846 0.499841 -0.6938 \n22.1694 2.63075 -14.5442 -0.994348 0.0559459 -0.090237 \n-15.8393 0.852749 -4.20943 0.502956 0.525624 -0.686115 \n-18.0542 4.41185 -15.9581 0.942701 0.270065 0.195908 \n-14.6925 3.23895 -4.65498 0.703552 0.328873 -0.629966 \n-15.0709 4.79635 -5.53195 0.856777 0.0359835 -0.514429 \n35.6624 -12.823 -17.9773 -0.892453 0.0558338 0.447672 \n15.9043 7.20895 -3.35153 -0.848874 0.0138588 -0.528413 \n-4.08391 55.1859 -34.0076 0.187807 0.51003 0.839404 \n-15.083 -32.8466 -11.3113 -0.910831 -0.412694 0.00842458 \n19.8764 12.5772 -3.78702 -0.824154 -0.546217 -0.149727 \n18.5301 11.8193 -3.89899 -0.505908 -0.754514 -0.41805 \n4.73127 54.9159 -34.3821 -0.236727 0.420418 0.875905 \n-18.9048 13.0735 -4.75325 0.713742 -0.690183 -0.119248 \n20.1211 13.9971 -4.19105 -0.818563 -0.571048 -0.0621167 \n-18.8829 14.7737 -4.58936 0.940611 0.00994841 0.339339 \n-18.8749 8.50125 -15.1233 0.961638 -0.16911 0.215995 \n-21.1712 17.8329 -4.19112 0.870685 -0.490648 -0.0342285 \n-22.0501 19.86 -5.05914 0.843417 -0.534726 -0.0521134 \n-38.2545 24.5324 -3.34201 0.330365 -0.913156 0.238759 \n-38.9799 25.4004 -4.62217 0.646048 -0.681044 0.344675 \n34.9081 25.3141 -4.99674 -0.272333 -0.876145 0.397749 \n30.2843 24.9401 -3.40472 -0.0291382 -0.986487 0.161228 \n-7.56005 -15.2857 -23.9713 -0.327082 -0.554748 0.76503 \n-7.39134 -13.4327 -25.3239 -0.0669911 -0.53643 0.841282 \n-23.5892 -14.9341 -24.6815 0.448797 0.0328081 0.893031 \n-43.7462 27.1455 -4.10124 0.279767 -0.657751 0.699353 \n-44.9308 28.3945 -3.77988 0.897245 -0.413038 0.156051 \n40.1819 30.0274 -5.24855 -0.754927 -0.405275 0.515595 \n-45.0182 30.1878 -4.51103 0.930033 -0.220943 0.293637 \n-45.523 31.7698 -4.57966 0.965267 -0.15749 0.208464 \n20.7119 15.1966 -16.1161 -0.88216 -0.446054 0.151093 \n42.7551 34.0306 -3.96427 -0.846295 0.00198121 0.532711 \n41.8745 35.565 -4.73704 -0.799011 0.152144 0.58175 \n-45.7239 34.8159 -4.10847 0.988367 0.0435992 0.145704 \n-44.6895 36.9122 -4.58913 0.333593 0.430868 0.838492 \n1.68489 37.7517 -38.8428 0.222043 -0.168247 0.960411 \n21.9931 17.301 -16.6518 -0.804342 -0.552912 0.217536 \n-39.3349 40.6945 -4.17536 0.438923 0.80301 0.403141 \n-21.0985 18.0613 -16.0433 0.533647 -0.845225 0.0285744 \n40.695 40.7898 -3.88122 -0.62683 0.475592 0.617168 \n39.0575 41.7593 -4.15555 -0.57433 0.587842 0.569726 \n-4.37684 56.1693 -33.8289 0.225802 0.277495 0.933815 \n36.1698 43.7893 -3.55363 -0.23152 0.888715 0.395708 \n-23.4037 19.2416 -16.9066 0.962252 -0.252918 0.100513 \n33.5368 43.54 -4.61191 -0.0993962 0.89668 0.431377 \n29.6978 -13.2343 -23.8791 -0.47614 0.127147 0.870129 \n-20.5144 47.8578 -26.1052 0.876832 0.343966 0.335935 \n28.3722 45.1994 -4.3649 -0.951454 -0.00304925 -0.307777 \n-26.2451 46.2594 -4.34166 0.697497 0.71 -0.096939 \n28.3689 46.5378 -4.63808 -0.932075 -0.139612 -0.334283 \n-25.5921 47.9491 -3.58154 0.925999 0.357081 -0.122549 \n27.6329 50.2673 -4.5163 -0.588956 0.80501 0.0713409 \n-24.4639 49.466 -3.9823 0.59164 0.784988 -0.183728 \n23.1003 52.1261 -3.81416 -0.608154 0.771543 0.186736 \n-21.3475 52.471 -4.99219 0.749046 0.662291 -0.0173719 \n-18.3451 54.3312 -4.82447 0.396183 0.918066 0.0139346 \n19.8211 54.9344 -3.74938 -0.750877 0.640728 -0.160157 \n-17.1523 54.9804 -3.74523 0.799504 0.442324 -0.406378 \n14.7761 15.2218 -27.9647 -0.656008 -0.193783 0.729453 \n-17.0156 56.1945 -4.04917 0.80412 0.450197 -0.388218 \n-22.8757 -13.9965 -24.81 0.24684 0.399526 0.882864 \n-33.445 -31.1229 -9.19839 0.810883 -0.548728 0.203386 \n23.5444 47.5818 -26.1652 -0.843843 0.389995 0.368554 \n8.41172 -12.7956 -24.2964 -0.132936 -0.985909 0.101541 \n26.7714 24.6533 -16.3228 -0.870521 -0.108194 0.48009 \n-12.4753 61.3092 -4.07249 0.784453 0.429298 -0.447589 \n-11.4718 62.3703 -3.94916 0.656932 0.518869 -0.547006 \n13.3939 62.9223 -3.6935 -0.692422 0.587774 -0.418419 \n-18.0814 -55.5879 -10.6126 -0.432355 -0.485601 -0.759777 \n12.2989 64.6727 -4.17832 -0.669957 0.663973 -0.33211 \n-10.1112 64.4066 -4.32394 0.687771 0.720007 -0.0925233 \n10.4465 65.3606 -3.51511 -0.669161 0.724137 -0.166882 \n-17.5782 4.02935 -17.8004 0.915067 0.250385 0.316165 \n-1.75819 56.3272 -34.1989 0.0979671 0.230897 0.968033 \n9.60076 65.9331 -3.83732 -0.426683 0.903578 0.0385778 \n8.78833 66.2352 -4.37954 -0.397194 0.899285 -0.183092 \n-16.9594 -12.6311 -24.3725 -0.0722428 0.283165 0.956346 \n5.31593 67.7575 -4.53686 -0.0820634 0.985073 -0.151315 \n22.1572 3.00335 -18.8787 -0.94715 0.240069 0.212776 \n2.54985 68.6199 -3.65781 -0.259286 0.960457 0.101451 \n1.0227 68.6706 -4.03987 0.0245544 0.987361 0.156572 \n28.3916 -11.8612 -23.9483 -0.408854 0.205602 0.889138 \n1.30991 56.6209 -34.2691 0.0148772 0.370284 0.928799 \n-26.9422 29.4696 -15.9902 0.62768 -0.368795 0.685571 \n54.2924 -73.9735 -4.92688 -0.363442 -0.851575 0.377796 \n-14.8005 -69.3959 -18.5819 -0.883365 0.140461 -0.447144 \n51.7226 -73.7701 -5.07715 0.218266 -0.924137 -0.313578 \n-19.7227 -11.5136 -24.3397 -0.0486527 0.548409 0.834794 \n48.3121 -73.2141 -4.61385 -0.852933 -0.519135 0.0548127 \n-34.88 -73.0088 -4.80027 0.960088 0.18414 0.210532 \n48.4031 -72.4558 -4.33573 -0.901931 0.299119 -0.311527 \n32.1715 -72.4512 -4.05534 0.915267 0.0250423 -0.402069 \n49.1408 -72.6615 -4.95688 -0.0227756 -0.727921 -0.685283 \n54.6986 -71.9081 -4.67919 -0.820115 0.242621 0.518214 \n48.9013 -72.094 -4.51912 0.279346 -0.0278158 -0.959788 \n31.7764 -71.0289 -4.02486 0.914487 0.16063 -0.371365 \n53.9474 -70.8857 -4.85319 -0.674982 0.660321 0.329204 \n-28.0942 -71.2674 -4.04365 -0.426899 0.515485 -0.742989 \n-9.65224 46.9244 -35.0535 0.203307 0.474669 0.856362 \n50.6204 -70.2811 -4.54271 0.347512 0.543034 -0.764428 \n-27.1332 -70.2997 -4.44934 0.291291 0.641971 -0.709241 \n51.4235 -69.517 -5.33292 -0.248577 0.963635 -0.0980658 \n51.1844 -69.769 -4.72299 0.183596 0.793297 -0.580493 \n-17.0472 -11.2834 -24.2144 0.395427 0.0134612 0.918399 \n-19.3855 -69.9434 -4.88277 -0.881745 0.171025 -0.439631 \n28.9898 31.8441 -16.3897 -0.951126 -0.211786 0.224736 \n-13.6588 -43.4529 -18.0932 -0.927215 0.340337 0.156343 \n-25.5742 -69.2318 -4.11114 0.544923 0.803462 -0.239808 \n-28.3118 -69.5636 -4.60271 -0.512308 0.535908 -0.671076 \n17.8459 -29.464 -10.2647 0.498393 -0.425921 -0.755113 \n-20.4461 -68.9283 -4.57144 -0.658957 0.372936 -0.653219 \n-21.2336 -11.88 -24.4878 0.186617 0.515187 0.836515 \n27.2103 -10.7005 -24.5189 -0.374742 0.305172 0.875464 \n45.148 -67.9275 -4.52518 -0.698282 0.715056 -0.0331296 \n-24.9298 -68.0122 -4.73721 0.428679 0.642953 -0.634701 \n-30.6698 -67.9344 -4.82028 -0.195227 0.936418 -0.291562 \n33.0936 -67.6646 -4.82763 0.703823 0.469197 -0.533374 \n-20.971 -68.0091 -4.51954 -0.465669 0.508087 -0.724568 \n28.3706 -10.1855 -24.0348 -0.483803 0.176486 0.857198 \n29.2256 34.0742 -15.5916 -0.983148 -0.181043 -0.0253864 \n42.4551 -65.6833 -4.70637 -0.300314 0.924538 -0.234607 \n-28.0771 34.0592 -16.0346 0.578048 -0.03052 0.815432 \n40.9445 -42.9948 -18.0734 -0.858707 0.0558041 0.509419 \n29.9112 -55.1636 -4.6181 0.112321 -0.33659 -0.934929 \n32.4538 -55.529 -4.49414 -0.308325 -0.343942 -0.886927 \n31.9364 -53.7507 -4.43435 -0.314743 -0.305403 -0.898702 \n29.6635 -54.205 -4.08646 0.0979298 -0.373775 -0.922335 \n-34.2771 -29.0328 -10.679 0.869731 -0.431783 0.239021 \n18.6885 -28.4548 -9.58284 0.492228 -0.389981 -0.77822 \n27.0508 -53.8783 -4.48544 0.349165 -0.422433 -0.836441 \n-0.554394 -25.3868 -34.8474 0.386828 -0.719552 -0.576723 \n33.5732 -52.5522 -4.82071 -0.173449 -0.262095 -0.949327 \n33.9677 -51.6579 -4.53766 -0.182697 -0.468217 -0.86452 \n37.5597 -51.7782 -4.24463 -0.106306 -0.735385 -0.669259 \n35.2373 -51.8035 -4.55167 -0.0429331 -0.354921 -0.93391 \n29.7969 35.1429 -16.3072 -0.920937 -0.243428 -0.304333 \n25.0007 -49.7767 -4.03092 0.470029 -0.368202 -0.802185 \n38.1833 -49.783 -4.00247 -0.62979 0.000935902 -0.776765 \n38.5997 -48.6711 -4.42717 -0.538213 -0.352909 -0.765364 \n24.1363 -8.29595 -24.1401 -0.256057 0.389668 0.884643 \n-24.0406 -48.6946 -4.82708 -0.378712 -0.480796 -0.79083 \n-16.49 -7.56585 -24.4051 0.578544 0.151048 0.801543 \n-19.8866 50.673 -26.557 0.772463 0.289092 0.565443 \n3.52958 -24.0986 -33.9501 -0.632785 -0.491121 -0.598651 \n29.8933 39.7839 -15.6569 -0.988516 0.0107133 0.150739 \n-23.6821 -56.7731 -11.3175 -0.269419 -0.567672 -0.777922 \n-2.2395 -24.4879 -37.1576 0.785476 -0.618765 -0.0125404 \n22.8631 -46.2133 -4.3513 0.756071 -0.0954205 -0.647496 \n-1.16118 -24.4417 -34.4978 0.727389 -0.511361 -0.457619 \n-30.2488 -44.1095 -4.36142 0.583631 -0.304975 -0.752572 \n-31.3199 -43.4654 -4.87979 0.730892 -0.17592 -0.65943 \n21.8782 -7.49885 -24.3807 -0.282128 0.169912 0.94421 \n20.1469 50.5105 -26.6677 -0.679074 0.452016 0.578394 \n-26.6356 41.6807 -16.379 0.814534 0.32602 0.479839 \n-19.6798 -43.3036 -4.2394 -0.516965 -0.0360977 -0.855245 \n-20.4424 -41.7814 -4.75159 -0.49574 0.290882 -0.818309 \n23.1486 -41.2719 -4.55867 0.766072 0.385864 -0.514045 \n-17.767 6.45805 -17.2645 0.974085 -0.00601962 0.2261 \n-30.9911 -42.2616 -4.60189 0.597717 -0.67635 -0.430447 \n-17.3338 7.74405 -19.3236 0.907706 -0.233881 0.348382 \n20.7198 7.57575 -17.8561 -0.967508 0.191131 0.16552 \n-20.2418 -39.015 -4.13313 -0.708811 -0.320315 -0.628479 \n-16.912 -6.03395 -23.5603 0.594303 0.146475 0.79079 \n29.3335 42.6456 -15.8088 -0.95045 0.222881 0.216723 \n40.5639 -26.198 -9.87484 -0.90955 -0.163139 0.382236 \n-27.0172 42.9459 -14.7772 0.813157 0.329849 0.479558 \n5.92609 -22.5382 -35.363 -0.719299 -0.463086 -0.517842 \n41.6809 -35.5583 -4.67743 -0.957505 0.210721 -0.196927 \n25.1803 -34.7984 -5.64902 0.870735 -0.229581 -0.434872 \n-11.2825 46.5145 -35.6391 0.233271 0.410371 0.881578 \n20.3232 -3.67695 -24.0808 -0.478069 0.410023 0.776744 \n18.7326 51.6172 -27.5203 -0.629703 0.176379 0.756548 \n-26.1865 44.4283 -16.025 0.888035 0.158831 0.43147 \n-33.1011 -31.8428 -4.59127 0.981007 -0.159334 -0.110625 \n25.3492 -32.1627 -3.77052 0.661414 -0.536693 -0.52392 \n4.47777 -22.3659 -33.8671 -0.651086 -0.50907 -0.562969 \n-34.1721 -29.7565 -5.03437 0.878617 -0.416576 -0.233444 \n-34.631 -27.6674 -9.87022 0.966151 -0.102636 0.236682 \n6.15406 -21.5117 -34.8357 -0.908089 -0.282142 -0.309468 \n41.2627 -29.4162 -5.5073 -0.972547 0.201383 0.11661 \n-13.4987 -26.688 -4.40541 -0.82699 -0.544103 -0.141559 \n-11.5024 -26.6935 -10.3395 -0.828696 -0.55734 0.0513254 \n-34.7318 -24.3721 -4.28049 0.904158 0.0328175 -0.425935 \n-24.7779 49.2162 -16.2737 0.859342 0.329741 0.390901 \n18.1598 -24.9958 -4.85531 0.639994 -0.515364 -0.56992 \n27.194 49.4685 -17.1025 -0.768956 0.553913 0.319197 \n-11.1722 -23.1435 -4.39869 -0.81393 -0.557916 -0.162011 \n-33.6549 -16.7955 -10.1057 0.966117 0.256531 0.0284709 \n40.6002 -22.0891 -4.52357 -0.934178 0.156261 -0.320771 \n-10.2458 -21.867 -4.49998 -0.860812 -0.489793 -0.138218 \n-3.19529 -20.6693 -35.4077 0.978612 0.117091 0.169138 \n40.6529 -20.6868 -6.23994 -0.945622 0.32377 -0.0311655 \n-34.8507 -25.9616 -9.22729 0.958157 -0.083289 0.273857 \n6.29355 -22.2541 -36.3461 -0.999572 0.0056429 0.0287251 \n-13.856 -0.255451 -24.1301 0.380153 0.334708 0.862238 \n14.3191 -19.6363 -4.79904 0.655619 -0.442797 -0.611633 \n39.4664 -18.6629 -4.94039 -0.918187 0.296275 -0.262973 \n14.464 -18.468 -4.00838 0.665322 -0.4478 -0.597346 \n-7.48289 -17.1036 -4.52656 -0.233194 -0.85372 -0.4656 \n-32.3951 -16.4295 -5.24204 0.806481 0.346504 -0.479086 \n11.5403 -16.6833 -5.1557 0.460678 -0.735373 -0.496994 \n2.18068 -16.2762 -5.12827 0.0741643 -0.992081 0.101365 \n17.8885 -1.07885 -25.3639 -0.299154 0.406737 0.863175 \n-3.18876 -20.2254 -34.1887 0.998906 -0.042659 0.0191779 \n40.763 -41.8261 -17.8064 -0.850243 0.196671 0.488269 \n5.12276 -15.1044 -5.04567 -0.475208 -0.876117 -0.0812137 \n-18.6254 53.3755 -26.2437 0.737308 0.475119 0.48025 \n-13.3096 -70.4718 -29.6842 -0.889475 0.245762 0.385272 \n6.00297 -19.571 -35.2154 -0.953406 0.25863 0.155332 \n23.5487 -68.3579 -19.5211 0.943571 0.322454 -0.0754776 \n33.0686 -37.8647 -19.7304 0.0957431 0.581461 0.807921 \n-14.1896 0.97555 -23.8891 0.755924 -0.375633 0.53617 \n35.3624 -12.0023 -4.5363 -0.572638 0.67051 -0.471701 \n-29.1572 -11.6966 -5.00185 0.678926 0.548539 -0.488022 \n17.503 1.28525 -24.1026 -0.623051 0.136538 0.770172 \n-28.405 -10.5935 -4.52517 0.674422 0.471007 -0.568602 \n32.1763 -9.62165 -4.55514 -0.565058 0.658524 -0.497046 \n21.4117 57.344 -15.49 -0.644378 0.762593 -0.056817 \n28.5905 -6.96715 -4.89068 -0.387022 0.78401 -0.485327 \n-14.9673 3.89795 -24.9289 0.838468 -0.232385 0.492918 \n-18.524 58.1464 -15.5096 0.555512 0.818928 0.144092 \n-2.72833 -15.9222 -33.0709 0.886724 0.323196 0.330553 \n4.23511 -16.3267 -34.8985 -0.721094 0.539747 0.434392 \n20.2847 11.7964 -18.9243 -0.878872 0.455307 0.142409 \n10.8827 46.7017 -35.6707 0.0125425 0.433645 0.900996 \n25.2704 -62.6646 -19.6436 0.8486 -0.134172 0.511738 \n-16.2989 59.446 -16.2662 0.788642 0.580134 0.203687 \n2.98381 -14.9381 -34.6227 -0.397121 0.616208 0.680135 \n10.2124 47.7338 -35.0597 -0.455826 0.53438 0.711801 \n-39.9437 -71.9828 -6.77468 0.786837 0.602305 -0.134598 \n18.8688 60.1978 -16.1029 -0.605353 0.793734 -0.059459 \n17.2668 60.802 -16.5553 -0.476314 0.866711 -0.148109 \n-9.42498 -23.034 -9.24735 -0.810507 -0.525064 -0.25959 \n40.534 -21.6033 -10.0182 -0.929769 0.189684 0.315516 \n17.514 8.87595 -5.13143 -0.686465 -0.682465 -0.251012 \n19.7544 11.8925 -5.30859 -0.833055 -0.491286 -0.254278 \n-16.5357 12.3725 -4.78946 0.875646 -0.401896 -0.267813 \n17.2106 10.2491 -24.9859 -0.779483 -0.375139 0.501674 \n-17.1152 13.1831 -4.06598 0.0915254 -0.918477 -0.384738 \n-18.8087 13.4351 -5.46152 0.94479 0.0554559 0.322951 \n-17.3107 -58.6739 -28.7356 -0.525446 0.190835 0.829149 \n-19.1523 15.58 -4.11914 0.851008 -0.522037 0.0571202 \n-20.4634 16.5326 -5.00644 0.801632 -0.592204 -0.0817428 \n2.07564 -13.7602 -34.0292 -0.110504 0.652551 0.749644 \n24.6934 19.34 -4.54665 -0.898416 -0.436674 -0.046518 \n25.5775 21.7741 -4.63082 -0.893535 -0.447695 -0.0341137 \n-15.9968 11.3873 -24.5342 0.872342 0.176613 0.455882 \n-13.1055 62.7132 -16.0961 0.505609 0.850967 0.142183 \n-25.4598 22.8976 -5.06604 0.423638 -0.9043 -0.0526576 \n-30.656 23.0081 -4.95486 -0.0476312 -0.992388 0.113568 \n-32.3625 23.3646 -4.32583 0.172296 -0.982412 0.0719715 \n-34.8739 23.5553 -4.46349 0.333993 -0.934723 0.121414 \n27.8211 23.892 -4.20237 -0.659555 -0.746586 -0.0871553 \n14.9389 63.6493 -16.6354 -0.56994 0.821685 -0.00140914 \n28.9779 24.6313 -4.33189 -0.372196 -0.928069 -0.0125625 \n33.4063 24.5741 -3.78693 -0.0017719 -0.944532 0.328414 \n30.4716 25.1813 -5.17588 -0.293702 -0.941825 0.163417 \n-39.8902 26.2355 -4.04246 0.305634 -0.762183 0.570671 \n37.4971 26.4562 -4.87471 -0.298094 -0.843647 0.446543 \n-16.2959 12.6631 -23.3688 0.838773 0.0756004 0.539208 \n-41.4124 26.7204 -4.16365 0.322729 -0.678603 0.659806 \n-15.2058 13.0683 -24.6651 0.826102 0.118347 0.550954 \n-41.8433 27.6896 -5.07882 0.386984 -0.641086 0.662761 \n23.9952 -51.8453 -19.6273 0.794068 -0.028333 0.607168 \n-42.8989 28.1612 -4.56814 0.223642 -0.580933 0.782624 \n12.4107 65.1539 -16.5167 -0.389818 0.882869 -0.261887 \n2.22135 20.5851 -34.5685 0.0318977 -0.169683 0.984982 \n41.5848 32.284 -5.23404 -0.758975 -0.217431 0.613743 \n-15.5227 15.2009 -24.4798 0.760884 -0.0950077 0.641895 \n-7.58225 -20.3658 -9.4175 -0.8068 -0.531881 -0.257246 \n-45.4109 36.0795 -4.11239 0.824087 0.25136 0.50764 \n3.87913 19.9977 -34.4615 -0.132524 -0.243017 0.960927 \n17.1164 13.8763 -24.6588 -0.86141 0.290375 0.416719 \n-2.30407 -20.3997 -38.4196 0.897519 0.321203 0.302141 \n41.0641 38.4016 -4.90627 -0.68874 0.373117 0.621628 \n0.569407 20.1644 -34.469 0.0590003 -0.18853 0.980294 \n40.7285 39.4519 -4.37935 -0.618044 0.386855 0.684372 \n-15.8474 16.6434 -24.6484 0.612358 -0.611761 0.500766 \n18.227 17.034 -24.3401 -0.721282 -0.488342 0.491197 \n9.85907 65.9959 -15.9401 -0.399919 0.877921 0.263287 \n-31.3202 43.437 -4.55654 0.124138 0.991342 -0.0427876 \n-4.8667 66.1777 -16.0508 0.316607 0.923202 0.217849 \n-29.625 44.0366 -5.38909 0.537965 0.833956 -0.122928 \n28.2269 44.6672 -3.61929 -0.485194 0.86906 0.096543 \n6.70796 67.1527 -16.3332 -0.176247 0.98116 0.0791355 \n-17.7422 17.3693 -23.4633 0.324744 -0.93148 0.163971 \n28.7244 47.5281 -4.37436 -0.906874 -0.282159 -0.312994 \n-20.0445 17.7696 -24.009 0.304837 -0.941551 0.143371 \n-25.096 48.7071 -3.19378 0.720515 0.649296 -0.243461 \n11.4834 -19.9236 -9.89063 0.727154 -0.588651 -0.353182 \n-8.21026 61.6316 -25.6531 0.416806 0.814569 0.403424 \n10.9995 -19.1256 -9.27411 0.615306 -0.652465 -0.442366 \n-19.8213 18.2392 -25.2224 0.683722 -0.485188 0.545084 \n22.3738 52.6012 -4.65633 -0.602141 0.797257 0.0425125 \n20.4732 54.3886 -4.43852 -0.700932 0.704595 0.110637 \n-17.7887 54.7776 -5.00639 0.83284 0.422644 -0.35742 \n5.74644 -20.7318 -37.7748 -0.934787 0.308924 0.175328 \n4.86597 67.0598 -16.5947 -0.119295 0.957135 0.263936 \n3.48417 67.9918 -15.6854 -0.0800204 0.851287 0.518563 \n-30.9095 -69.0712 -19.2328 0.770597 0.272261 0.576241 \n-16.2468 55.1374 -26.6466 0.293769 0.616551 0.730455 \n-13.147 60.0702 -4.40299 0.661758 0.61159 -0.433629 \n14.6427 60.8417 -4.06958 -0.620989 0.685429 -0.380211 \n3.32405 67.6279 -16.413 -0.164687 0.98417 0.0654792 \n0.987585 67.7154 -16.2198 0.130892 0.980976 0.143363 \n22.8401 19.8514 -24.126 -0.364949 -0.920431 0.140065 \n10.5862 66.2167 -4.85853 -0.179864 0.952946 -0.244012 \n23.7069 20.4302 -24.0448 -0.775379 -0.504549 0.379761 \n-6.77671 66.6754 -4.57008 0.386412 0.863626 0.323785 \n-4.71465 66.8857 -4.9193 0.217681 0.954722 -0.202785 \n-3.63601 67.3344 -4.76015 0.54564 0.831998 0.10028 \n22.9671 21.9823 -24.6721 -0.803434 0.307768 0.509679 \n0.898769 67.9573 -5.3572 0.132473 0.986158 0.0997113 \n-1.80175 68.1932 -4.456 0.1272 0.949865 0.285618 \n-4.34955 -18.37 -9.01255 -0.362742 -0.915041 -0.176402 \n-21.91 -74.9705 -4.54226 -0.0593895 -0.982253 -0.17791 \n-29.3911 -75.1077 -4.94857 -0.142815 -0.980035 -0.138329 \n54.5257 -73.4899 -5.12698 -0.782264 -0.0797559 0.617821 \n-0.0557478 38.8354 -38.7351 -0.346465 -0.219236 0.912085 \n41.4428 -74.4751 -16.7589 -0.507362 -0.431628 0.745843 \n31.8344 -72.445 -5.29045 0.928328 0.0220931 -0.371105 \n-34.1897 -72.1904 -5.05848 0.799982 0.599832 0.01522 \n31.5844 -71.4855 -5.62628 0.930932 0.179441 -0.318066 \n-33.7741 -71.5416 -5.10826 0.873392 0.355296 0.333093 \n32.493 -69.4518 -4.93304 0.860597 0.292996 -0.416564 \n39.5412 -17.616 -9.68597 -0.927255 0.362309 -0.0945007 \n-21.8247 25.7153 -24.1033 0.863508 -0.259284 0.43258 \n-18.2747 13.9435 -17.3792 0.975467 -0.16527 0.145428 \n-18.2854 25.0203 -29.1606 0.440587 -0.373262 0.81643 \n-31.899 -68.1614 -4.61432 0.443081 0.896114 0.0256673 \n-20.7239 19.0791 -24.4038 0.80857 0.106323 0.578714 \n-16.6791 -74.7367 -17.2952 0.0118767 -0.999431 0.0315591 \n-20.4738 -67.7293 -5.11087 -0.794255 0.482577 -0.369159 \n24.4597 26.7008 -24.54 -0.736634 -0.322102 0.59466 \n-22.1412 27.2782 -24.5714 0.923756 -0.274331 0.267239 \n-21.8377 -67.5452 -4.57121 -0.0617448 0.681673 -0.729047 \n-22.6507 -66.6049 -5.33514 0.0683927 0.735641 -0.67391 \n-12.6785 -52.1926 -19.9356 -0.979359 -0.0905553 0.180707 \n-7.1197 -9.32575 -27.1653 0.175578 -0.135059 0.975157 \n37.7716 -65.9068 -4.95214 -0.101865 0.937149 -0.333728 \n39.7716 -65.7663 -4.62218 0.28402 0.846873 -0.449599 \n-23.2825 28.3063 -23.9838 0.777237 -0.278927 0.564006 \n32.1021 -56.9412 -5.64099 -0.212856 -0.393787 -0.894217 \n-30.0382 -74.6368 -16.9653 -0.147048 -0.985528 -0.0843345 \n30.9685 -55.1386 -4.65211 -0.0816309 -0.355558 -0.931082 \n30.0072 -56.5523 -4.8902 0.0784826 -0.40437 -0.911222 \n4.32872 21.3692 -34.5537 -0.0650568 -0.175986 0.982241 \n10.4172 48.2956 -34.7209 -0.389408 0.142257 0.910013 \n41.7197 -73.75 -16.6316 -0.49261 -0.064596 0.867849 \n38.2788 -74.5162 -16.8161 0.223366 -0.956742 -0.18642 \n33.5353 -54.548 -5.2188 -0.226676 -0.298695 -0.927038 \n25.7698 29.2956 -24.3645 -0.615415 -0.198883 0.762699 \n35.1674 -53.7392 -4.65837 -0.0238848 -0.178381 -0.983672 \n32.8671 -53.4259 -4.86919 -0.468383 -0.382922 -0.796234 \n36.4274 -52.1908 -4.88099 -0.245402 -0.433879 -0.866906 \n3.26989 -32.2349 -55.9874 0.629368 -0.729926 -0.266652 \n38.5734 -51.3647 -4.77466 -0.792598 -0.488067 -0.365484 \n-32.0117 -40.1587 -17.6735 0.835177 0.548416 0.0414609 \n23.8822 -50.6581 -4.86604 0.681074 -0.298385 -0.668659 \n-25.5599 -49.2608 -4.3379 -0.278051 -0.635975 -0.719877 \n40.3158 -48.3484 -4.71379 -0.488079 -0.365218 -0.792714 \n-22.7425 -48.4963 -5.23504 -0.306632 -0.544294 -0.780846 \n-23.0723 -46.9704 -4.29266 -0.258402 -0.534913 -0.804423 \n41.1846 -47.6804 -5.36956 -0.898305 -0.0624935 -0.434905 \n-28.0469 -47.9359 -5.05826 0.362869 -0.525863 -0.769282 \n38.7132 -16.2979 -10.6753 -0.924438 0.38133 0.00114257 \n40.6202 -46.0471 -4.77229 -0.688448 -0.186601 -0.700871 \n-20.1073 -46.2816 -5.02333 -0.352025 -0.264193 -0.897931 \n-21.0026 -45.5678 -4.62913 -0.603126 -0.232433 -0.763029 \n-24.1297 33.7187 -24.7926 0.79962 -0.252115 0.545019 \n26.2969 34.1439 -24.3787 -0.612698 -0.115556 0.781823 \n23.751 -73.4646 -17.2844 0.781488 -0.362608 -0.507732 \n-20 -44.9409 -5.08825 -0.449813 -0.247107 -0.858258 \n-17.9575 -57.1223 -28.516 -0.534584 0.213062 0.817817 \n40.8078 -40.0827 -17.1693 -0.814415 0.326325 0.479834 \n-19.0028 -42.776 -5.36828 -0.662613 0.155973 -0.732541 \n41.8465 -42.495 -5.23283 -0.887087 -0.233427 -0.398231 \n-25.1968 -57.719 -29.5614 0.486926 0.0556785 0.871667 \n22.4825 -42.5916 -5.16286 0.818467 0.282038 -0.500566 \n13.3477 21.9132 -34.5216 -0.324617 -0.441941 0.836248 \n-32.8697 -39.1996 -5.99903 0.94651 -0.285777 0.149833 \n5.90656 21.7929 -34.6327 0.373135 -0.555684 0.742957 \n15.7151 56.7683 -26.8775 -0.758903 0.518546 0.393925 \n-24.383 36.4032 -24.8684 0.791098 -0.0139079 0.611531 \n26.4072 -37.115 -4.11605 0.848558 0.120664 -0.515159 \n5.26935 22.7314 -34.8322 0.515211 -0.526722 0.676108 \n24.6852 -32.7035 -5.07351 0.772813 -0.398001 -0.494323 \n-16.9697 -32.4002 -4.61114 -0.807149 -0.389788 -0.443368 \n28.8811 -65.3382 -10.2556 0.681729 0.171255 -0.711278 \n-24.0091 40.8416 -24.341 0.716036 0.20021 0.668736 \n-15.2944 -71.7474 -17.1876 -0.87732 -0.0478951 -0.477511 \n-15.9632 -30.598 -4.73385 -0.828679 -0.495839 -0.259684 \n-14.5694 -28.503 -5.28311 -0.836554 -0.487248 -0.250531 \n-23.0909 42.6003 -24.3206 0.793125 0.254328 0.553417 \n-33.4967 -70.4027 -16.8269 0.639912 0.284455 0.713862 \n-34.827 -25.6612 -5.35015 0.974669 0.0222768 -0.222542 \n41.0919 -24.7223 -5.61713 -0.997933 -0.014024 -0.0627175 \n16.4571 -23.4783 -5.35817 0.666234 -0.518091 -0.536389 \n-10.6577 -22.3946 -5.58299 -0.84037 -0.536701 -0.0756922 \n-9.77556 -20.9488 -5.64272 -0.830581 -0.484277 -0.274973 \n-31.8594 -12.4908 -9.78033 0.829946 0.548038 -0.104136 \n39.466 -17.3862 -5.47993 -0.939909 0.281929 -0.192579 \n12.4474 -16.7558 -4.55286 0.513462 -0.589939 -0.62316 \n37.1429 -12.6269 -9.02135 -0.828362 0.546127 0.124751 \n-8.76164 -9.00735 -26.9239 0.03518 -0.0113367 0.999317 \n-33.6738 -69.4468 -16.6102 0.72102 0.266935 0.639434 \n8.21696 62.5904 -24.7005 -0.25915 0.921341 0.289779 \n38.7113 -16.1303 -5.14805 -0.770539 0.616437 -0.162096 \n-6.77558 62.6248 -25.8211 0.413203 0.881275 0.229385 \n43.1245 -69.7005 -15.8259 -0.571699 0.194896 0.796979 \n-0.328345 -15.2386 -4.81633 0.5291 -0.84439 -0.084018 \n9.70876 -15.4301 -5.25054 0.402089 -0.744249 -0.533308 \n8.34131 -15.0086 -5.27816 0.146814 -0.846529 -0.511697 \n25.9031 46.0571 -23.6803 -0.776358 0.554828 0.299056 \n6.89183 -14.5799 -4.89589 0.0215408 -0.910302 -0.413384 \n5.90184 -14.6322 -4.45851 -0.420465 -0.88016 -0.220292 \n23.6901 -68.6196 -17.5412 0.947545 0.197415 -0.251369 \n-30.3181 -12.7877 -5.04878 0.697877 0.505656 -0.507228 \n34.1442 -10.9996 -5.04186 -0.510893 0.658576 -0.552509 \n29.4116 -8.09295 -4.77526 -0.480245 0.694438 -0.535837 \n-25.0501 -7.49535 -4.94001 0.48362 0.594544 -0.642362 \n25.9083 -6.03255 -4.72949 -0.325091 0.802703 -0.499984 \n24.3082 -67.8162 -16.4277 0.948876 0.00268604 -0.315638 \n-24.4307 -6.63665 -4.85216 0.446651 0.455288 -0.770205 \n-2.77992 22.6961 -34.4468 0.13615 -0.22072 0.965788 \n-30.195 -9.85745 -9.27036 0.819986 0.542033 -0.183909 \n22.3694 -1.58515 -4.91852 -0.657615 0.459721 -0.596825 \n-19.0352 -0.0573502 -5.98137 0.691549 0.488755 -0.531863 \n24.5234 -66.4407 -16.0675 0.930958 0.350998 -0.100583 \n18.6043 1.67185 -5.12584 -0.712411 0.33084 -0.618882 \n-17.5574 0.48415 -4.62956 0.510341 0.677161 -0.530099 \n1.0427 -28.0283 -53.2766 0.955962 -0.194957 0.219383 \n-30.6587 -66.9591 -17.6238 0.724275 0.670195 0.162063 \n23.0776 50.7778 -23.7813 -0.610887 0.463138 0.642121 \n17.4396 4.31355 -4.90456 -0.795569 0.289114 -0.532432 \n-15.8499 9.91115 -4.61295 0.886705 -0.323188 -0.330613 \n18.1684 9.51975 -4.76126 -0.823328 -0.469079 -0.319526 \n-16.2344 10.9004 -4.06944 0.912598 -0.311963 -0.26428 \n-17.6174 -64.8671 -16.276 -0.7214 0.281921 -0.632537 \n-27.8632 -64.2498 -16.8648 0.766779 0.589116 -0.254936 \n-0.937513 22.4318 -34.5937 0.0655608 -0.157799 0.985292 \n-23.8179 21.8246 -3.69995 0.640044 -0.743306 -0.194523 \n-2.23297 -18.567 -29.4838 0.6531 -0.482677 -0.58351 \n-29.2894 23.4186 -5.80438 -0.0957838 -0.974015 0.205235 \n-27.4746 23.4309 -5.3301 0.0527263 -0.98857 0.14124 \n-33.1775 23.4876 -5.36077 0.238616 -0.946325 0.218014 \n-1.89775 21.725 -34.3268 0.123426 -0.154565 0.980243 \n31.6612 25.4158 -5.31111 0.00930814 -0.935742 0.352563 \n-3.54824 23.06 -34.4883 -0.222495 -0.50311 0.835091 \n1.44413 -27.2388 -54.5549 0.843205 0.150376 0.516132 \n-27.8918 -7.22845 -10.117 0.774896 0.63171 -0.021879 \n32.1807 -7.02865 -10.126 -0.637423 0.747837 -0.185558 \n35.5023 26.2635 -5.81186 -0.288476 -0.849242 0.442233 \n38.9276 27.3277 -5.27023 -0.738928 -0.566357 0.364999 \n-40.5293 27.6663 -5.33578 0.500188 -0.616726 0.607833 \n10.8343 49.9869 -34.9248 -0.487016 -0.0710844 0.870496 \n39.7434 27.9443 -4.00151 -0.735648 -0.567327 0.370083 \n-44.0224 28.514 -4.85709 0.117884 -0.37682 0.918755 \n-44.6414 28.6954 -4.62042 0.695816 -0.353654 0.625116 \n6.76746 39.229 -38.7971 -0.151387 -0.13755 0.978858 \n5.18389 63.2648 -25.2829 -0.292916 0.921347 0.255576 \n-16.9576 -62.4591 -16.743 -0.530392 -0.629289 -0.568049 \n-45.0341 31.1672 -5.15676 0.709971 -0.198075 0.675801 \n-45.379 33.3121 -4.99381 0.871798 -0.00723838 0.489813 \n-45.0779 35.1385 -5.18165 0.524074 0.196807 0.828621 \n-43.4024 37.5858 -4.49269 0.394888 0.43701 0.808137 \n-42.1791 38.6693 -4.61089 0.383029 0.61991 0.684836 \n-27.8967 -62.1024 -16.1717 0.693529 -0.430849 -0.577397 \n-41.1077 38.386 -5.21249 0.478354 0.590436 0.650048 \n39.672 39.4538 -5.17751 -0.650547 0.47217 0.594848 \n17.8333 56.7605 -24.6853 -0.63933 0.588819 0.494519 \n-35.3461 42.5805 -4.54761 0.329092 0.943996 0.0238577 \n-32.5442 43.4986 -5.92935 0.263195 0.964706 -0.00844217 \n-18.742 -53.8038 -28.3352 -0.332454 0.206428 0.920251 \n29.5168 46.9389 -5.52795 -0.865008 -0.201366 -0.45958 \n28.8927 48.0182 -4.74586 -0.930122 0.264314 -0.254973 \n-15.3699 57.7294 -24.4306 0.19492 0.706924 0.679901 \n-23.8209 50.3169 -5.71332 0.695051 0.702978 -0.150753 \n2.51427 -15.4677 -9.88737 0.0610681 -0.97496 0.213833 \n-23.5431 -3.67955 -10.6359 0.559891 0.828566 -0.00059414 \n23.266 -60.1188 -16.7186 0.932103 0.0247878 0.361345 \n-14.8162 -59.544 -16.4296 -0.792633 -0.419725 -0.442226 \n23.1404 52.8611 -5.80423 -0.490537 0.772285 -0.40367 \n22.4032 52.8043 -5.29811 -0.246703 0.811702 -0.529413 \n15.4687 58.4981 -24.0746 -0.599689 0.639619 0.480896 \n-24.1378 -4.44385 -9.33373 0.495889 0.849685 -0.179247 \n26.3528 -3.90735 -9.46744 -0.595463 0.6818 -0.424938 \n20.812 55.3319 -5.55839 -0.897385 0.303807 -0.320001 \n-17.9503 55.681 -5.7692 0.833611 0.402221 -0.378564 \n15.1025 59.0664 -24.658 -0.855265 0.464142 0.230422 \n-29.4068 -59.0104 -15.9055 0.88404 -0.267634 -0.383204 \n0.240314 40.2276 -38.8306 0.0542144 -0.0685406 0.996174 \n-20.3307 -54.7074 -29.0124 -0.258412 0.290829 0.921217 \n-17.0606 57.2061 -6.37 0.777228 0.538164 -0.326032 \n-32.7211 -50.8783 -19.6126 0.966045 -0.177994 0.187283 \n23.0513 -58.6852 -16.864 0.927049 -0.0950323 0.362697 \n-14.6848 59.7705 -5.12559 0.453698 0.855791 -0.248556 \n-13.0965 61.7617 -4.91473 0.695384 0.356754 -0.623833 \n14.7455 62.0901 -4.77916 -0.77992 0.443763 -0.44136 \n-12.2136 62.8787 -4.82319 0.64353 0.513845 -0.567303 \n-23.0672 -3.44175 -9.34148 0.560975 0.817149 -0.132571 \n13.9242 63.6247 -5.59229 -0.689052 0.649263 -0.321971 \n-14.2418 -58.3165 -17.0498 -0.86833 -0.375001 -0.324619 \n22.8042 -57.1349 -16.5833 0.89492 -0.196303 0.400728 \n-7.04478 66.4967 -5.18949 0.474994 0.779761 -0.407866 \n8.2286 67.5348 -5.57975 -0.456824 0.785614 -0.417279 \n6.6201 67.4018 -4.4189 -0.326481 0.940975 -0.0893107 \n40.2463 -56.5461 -15.8134 -0.977932 -0.206163 0.0338478 \n4.23357 67.7538 -4.44308 -0.082503 0.957758 -0.275488 \n3.00894 68.0552 -4.88094 -0.114337 0.984664 -0.131773 \n1.71298 68.1361 -5.08161 0.043561 0.998975 0.012344 \n22.4098 -55.2582 -16.8025 0.963436 -0.0795581 0.255854 \n-13.0888 -55.5389 -16.9292 -0.971595 -0.213346 -0.102404 \n-22.6914 -74.9492 -6.1131 0.072325 -0.991863 0.104769 \n-25.0489 -74.8829 -5.82015 0.0336476 -0.998848 0.0342158 \n21.5963 26.6053 -28.8874 -0.746274 -0.176006 0.641948 \n44.5044 -74.8564 -5.29571 0.030727 -0.987359 0.15549 \n-20.1227 -74.7001 -5.19887 -0.467807 -0.845658 -0.256941 \n-26.9298 -74.6167 -4.76665 -0.0626136 -0.924373 -0.376316 \n-32.418 -74.4516 -6.58882 0.465517 -0.82396 0.323085 \n-39.9898 -74.8704 -5.31387 -0.110285 -0.48192 -0.869247 \n47.7236 -74.2345 -5.66393 -0.59974 -0.79202 -0.114089 \n31.4963 -73.6206 -5.55715 0.888377 -0.0488024 -0.456514 \n-19.784 -73.9636 -4.89782 -0.899479 -0.161749 -0.405926 \n-7.72815 62.2545 -24.2329 0.285456 0.912021 0.294505 \n-9.07165 62.1404 -24.8844 0.159783 0.924236 0.34678 \n-13.0313 -54.5087 -16.1906 -0.895053 -0.35158 -0.274357 \n-31.3819 -54.6567 -16.737 0.895075 -0.2537 -0.366711 \n40.7691 -54.5818 -16.466 -0.969118 -0.198423 0.146422 \n9.69701 50.5902 -35.4025 -0.347656 0.31608 0.882739 \n-12.5451 -53.4869 -16.9101 -0.972771 -0.223791 -0.0602798 \n-19.882 -68.8321 -5.10704 -0.849642 0.522023 -0.0748334 \n-27.8698 -68.9519 -5.52529 -0.1637 0.697048 -0.698088 \n-33.0531 -68.938 -4.08239 0.708356 0.675009 0.206387 \n46.5199 -69.2474 -5.92489 -0.643398 0.737836 -0.204051 \n45.3041 -68.1301 -6.12253 -0.705684 0.680408 -0.197623 \n9.42213 63.0005 -23.6727 -0.227951 0.817991 0.528137 \n-20.2192 -68.3325 -5.63312 -0.918416 0.395331 -0.0149983 \n-26.5007 -69.0106 -5.28466 0.457861 0.660119 -0.595488 \n25.8738 21.1961 -18.9713 -0.796383 -0.571083 0.199093 \n-29.1763 -68.4256 -5.40986 -0.327048 0.853961 -0.40471 \n24.0926 0.42935 -10.1952 -0.695057 0.702724 -0.1519 \n-24.6644 -67.3013 -5.42193 0.385334 0.66633 -0.638375 \n-6.64563 62.7449 -24.5248 0.30341 0.930942 0.2032 \n-20.3514 0.810049 -9.52615 0.819804 0.487329 -0.300719 \n-21.2295 -66.9855 -5.29107 -0.403508 0.810252 -0.425057 \n38.9216 -66.1073 -5.11524 0.163537 0.822741 -0.544383 \n34.333 -66.5449 -4.95686 0.389237 0.777623 -0.493758 \n40.632 -65.4966 -5.74102 -0.0355567 0.962264 -0.269784 \n-2.54739 63.5699 -25.6847 0.182764 0.83908 0.512388 \n31.1266 -57.4739 -5.63619 -0.118845 -0.381115 -0.916857 \n-4.01458 63.6083 -25.037 0.384928 0.744503 0.545477 \n-20.3143 -52.8478 -28.6216 -0.198497 0.188311 0.961841 \n5.63204 63.3785 -24.5232 -0.32196 0.755565 0.570493 \n2.26262 -17.8343 -37.8471 -0.211744 0.803808 0.555929 \n35.3549 -54.4932 -5.01181 -0.133264 -0.637387 -0.758932 \n25.8277 -54.0313 -5.52099 0.473123 -0.430928 -0.768412 \n-32.7002 -51.6208 -16.1494 0.868001 -0.288042 -0.404483 \n24.1643 -67.1032 -19.1448 0.861208 0.50688 -0.0373369 \n-11.9865 -50.7241 -16.3878 -0.991738 -0.11529 0.0562536 \n41.2665 -50.7084 -16.7839 -0.96201 -0.0157816 0.272557 \n36.8251 -53.6259 -5.68687 -0.460262 -0.410304 -0.78728 \n25.0677 -51.7674 -4.83344 0.534248 -0.401187 -0.744062 \n37.78 -52.4154 -5.66396 -0.54813 -0.57749 -0.605028 \n24.0774 -51.9697 -5.91868 0.658437 -0.360681 -0.660583 \n-4.29563 64.4336 -24.2566 0.482501 0.615582 0.623098 \n-9.73917 25.2652 -34.758 0.398179 -0.296482 0.868074 \n-10.7886 25.0497 -34.7252 0.260121 -0.247455 0.933329 \n-26.0641 -50.1937 -5.6118 0.0927063 -0.52931 -0.843348 \n39.2002 -49.5524 -5.03221 -0.705219 -0.333449 -0.625682 \n-23.0007 22.6128 -17.6287 0.951018 -0.194954 0.239913 \n-27.1887 -49.0517 -5.16186 0.351115 -0.494667 -0.794999 \n-33.0233 -48.7537 -16.5646 0.977372 -0.136265 -0.161789 \n23.3997 -48.9241 -5.35822 0.665735 -0.318773 -0.674671 \n22.9638 -48.6131 -17.9684 0.86577 0.0238354 0.499875 \n-33.2317 -48.9799 -17.6214 0.995155 -0.0924054 -0.0335942 \n21.1632 4.28155 -10.1377 -0.947628 0.195659 -0.252426 \n22.7036 -47.5984 -4.73369 0.637023 -0.375534 -0.673184 \n-0.32785 65.1658 -24.0813 0.031934 0.901262 0.432097 \n41.3937 -47.2971 -17.2404 -0.940108 -0.117243 0.32008 \n-21.3799 -46.4642 -4.88358 -0.435821 -0.436605 -0.787042 \n-2.83236 64.5424 -24.7236 0.181008 0.805026 0.564951 \n-33.0497 -46.3911 -15.8863 0.969868 -0.0639058 -0.235101 \n21.7288 -45.3859 -5.88721 0.871638 0.0103034 -0.490042 \n-19.0891 -45.8986 -5.50082 -0.363265 -0.129347 -0.922664 \n41.4631 -44.3615 -5.20476 -0.798648 -0.266697 -0.539475 \n4.00538 64.5895 -24.8297 -0.2266 0.818243 0.528328 \n16.5483 26.3223 -34.2596 -0.578573 -0.238577 0.779958 \n-12.3367 -47.0229 -16.2735 -0.953405 0.202698 0.223456 \n21.7204 -43.8695 -5.43325 0.862988 0.14739 -0.483248 \n42.1477 -41.3166 -5.027 -0.941732 -0.20142 -0.26939 \n-33.3025 -45.8479 -17.1491 0.998909 -0.0342225 -0.0317654 \n42.7179 -37.5832 -4.54616 -0.961024 0.247531 -0.123133 \n24.5924 -38.7411 -5.17083 0.751115 0.561743 -0.346801 \n41.8502 -45.2917 -14.9509 -0.987867 0.0312282 0.152131 \n27.9083 -74.3419 -25.599 0.0386392 -0.633591 0.772703 \n-38.8576 -70.9847 -7.22378 0.297862 0.846808 -0.440675 \n-17.7006 -34.7444 -4.7878 -0.774639 -0.34846 -0.52774 \n41.9367 -33.4644 -4.23217 -0.999125 -0.0385724 0.0161458 \n-33.0806 -34.8282 -6.12454 0.973627 0.0646032 0.218807 \n25.0602 -74.3944 -24.6666 0.276286 -0.8669 0.414909 \n-12.9729 27.2652 -34.2859 0.488289 -0.276858 0.827601 \n20.3648 9.44495 -9.55703 -0.99686 0.00291811 -0.0791259 \n-15.2012 -30.4645 -5.8262 -0.798263 -0.375858 -0.470646 \n-33.8958 -30.6272 -4.83957 0.895275 -0.395074 -0.205913 \n-0.118811 -15.4986 -10.4216 -0.748297 -0.657215 0.0901096 \n-16.667 8.61875 -9.00292 0.93571 -0.112686 -0.334289 \n-33.4478 -44.9889 -16.1124 0.988613 -0.0177657 -0.149426 \n-33.2915 -44.2138 -17.2666 0.998007 0.0494334 -0.0392128 \n22.9715 -42.9837 -17.0731 0.839489 0.241705 0.486659 \n-35.0877 -27.236 -5.24581 0.991587 -0.0349338 -0.124638 \n-13.8554 -42.5932 -17.0577 -0.929422 0.3686 0.0175783 \n-16.941 9.74005 -9.47076 0.863816 -0.171324 -0.473784 \n18.0928 -25.7023 -5.78621 0.698426 -0.630039 -0.339488 \n-35.1473 -24.5466 -5.76486 0.995109 -0.061987 -0.0769128 \n40.8111 -23.5127 -5.7931 -0.996502 0.0709436 0.0441753 \n-33.1403 -42.6842 -17.0099 0.954794 0.2967 0.0183591 \n-33.7552 -21.0449 -4.63879 0.847341 0.300847 -0.437613 \n2.23175 63.6301 -25.9601 -0.0990487 0.823213 0.559025 \n0.441304 -17.1603 -37.211 0.17288 0.790337 0.587775 \n-32.306 -40.9025 -15.7193 0.881644 0.468857 0.0536423 \n41.1395 -40.4611 -16.1831 -0.933346 0.186681 0.306619 \n-13.0647 27.9944 -34.3835 0.450131 -0.206275 0.868811 \n-25.4911 -74.4295 -25.286 0.710674 -0.175617 0.68125 \n-7.95419 -17.7241 -5.29115 -0.777112 -0.529558 -0.340094 \n32.8261 -74.3447 -24.3836 -0.432291 -0.215647 0.875569 \n24.1838 -73.7697 -24.9018 0.566381 -0.663271 0.489167 \n11.9282 -17.2842 -5.64942 0.697462 -0.520271 -0.492813 \n-7.08587 -17.7073 -6.18299 -0.297149 -0.850364 -0.434262 \n33.0248 -72.6887 -24.5807 -0.514708 -0.0552982 0.85558 \n-5.36196 -16.1689 -4.01802 -0.400947 -0.725156 -0.559812 \n-32.4063 -41.3872 -17.1811 0.917356 0.397413 -0.0228378 \n-13.9336 29.123 -34.3694 0.45398 -0.18499 0.871596 \n-17.7912 10.838 -10.5042 0.98849 -0.127565 -0.0813309 \n37.9818 -15.3022 -5.57273 -0.840219 0.485474 -0.241553 \n0.515765 -15.6919 -6.66996 0.267919 -0.959766 0.0840756 \n-0.594226 -15.4046 -5.85288 -0.162176 -0.9161 -0.366687 \n-12.496 -73.1028 -24.3466 -0.988382 -0.138844 -0.0618298 \n-26.2116 -73.2477 -24.3307 0.735354 -0.0886759 0.671856 \n20.3538 13.3638 -10.7466 -0.959233 -0.281965 0.0191864 \n26.8911 24.6122 -18.5325 -0.904902 -0.38155 0.188608 \n-28.9195 -10.5055 -5.61868 0.708913 0.553429 -0.437216 \n31.7729 -8.28535 -6.00138 -0.365817 0.77553 -0.514521 \n31.2393 -8.74425 -5.12551 -0.388948 0.790372 -0.47332 \n-30.3784 -38.6383 -16.8191 0.714523 0.678074 0.172258 \n-26.813 -8.21135 -5.19993 0.565416 0.647103 -0.511431 \n39.2869 -63.1311 -11.0685 -0.60211 0.627234 -0.494004 \n24.2449 -5.47615 -5.09536 -0.292541 0.776037 -0.558737 \n-14.439 30.5882 -34.2182 0.560562 -0.146302 0.815086 \n-21.2139 -5.21265 -5.40036 0.32825 0.592474 -0.735681 \n-19.5602 15.1649 -9.15738 0.872737 -0.484573 -0.0593198 \n-1.12283 64.6801 -25.0504 0.107178 0.778167 0.618845 \n40.0205 -38.022 -16.3232 -0.719895 0.475959 0.505188 \n25.2385 -38.8186 -16.0304 0.628608 0.585298 0.512131 \n-16.606 -38.2938 -16.1888 -0.888519 0.363441 0.280079 \n-30.9963 -26.4845 -16.8989 0.697072 -0.315259 0.643974 \n18.9753 0.66725 -4.6555 -0.344757 0.663366 -0.664145 \n20.2377 1.29955 -5.99644 -0.386737 0.712417 -0.585573 \n7.75403 62.6231 -26.7962 -0.459307 0.807495 0.370121 \n-16.1047 1.47565 -4.98768 0.611907 0.549822 -0.568565 \n-14.5268 31.8757 -34.4825 0.524987 -0.284474 0.802161 \n19.0257 3.16625 -6.58011 -0.736878 0.339711 -0.584471 \n17.0707 6.39675 -5.135 -0.864933 0.112392 -0.489141 \n17.0847 8.31075 -5.06573 -0.867723 -0.162576 -0.469708 \n18.7181 11.2523 -4.98837 -0.803414 -0.42326 -0.418781 \n-5.39054 62.9659 -26.0904 0.225801 0.859274 0.458979 \n39.0602 -36.8456 -16.2434 -0.597593 0.595762 0.53661 \n19.8449 13.4879 -5.76619 -0.861759 -0.493021 -0.11959 \n-18.3309 14.1257 -6.17157 0.928235 -0.371938 0.00652522 \n-18.91 15.0343 -5.46833 0.741125 -0.658941 -0.12857 \n25.9918 -69.562 -25.1799 0.200095 0.448094 0.871306 \n-1.23803 32.479 -39.1079 -0.0209233 -0.172799 0.984735 \n24.5044 19.0871 -10.1073 -0.856838 -0.507006 0.0936725 \n-21.3461 18.139 -9.9945 0.756926 -0.645396 -0.1026 \n0.75402 -15.2833 -9.7248 0.0588419 -0.950947 0.303706 \n26.2008 22.3128 -5.01583 -0.724912 -0.671522 -0.153499 \n5.1043 -6.13635 -29.5562 -0.122594 -0.300039 0.946017 \n-26.6348 -69.3797 -24.8654 0.713109 -0.221725 0.665066 \n-36.6432 24.7826 -4.72133 0.400032 -0.86098 0.314145 \n-3.27318 38.7095 -39.2609 0.115273 -0.0829397 0.989865 \n33.4411 25.4254 -5.52892 -0.0297514 -0.841703 0.53912 \n32.3349 25.9841 -6.13473 -0.145688 -0.884427 0.443354 \n-39.0516 26.438 -5.73848 0.520499 -0.686451 0.507804 \n31.6406 -68.2482 -24.643 -0.27456 0.310243 0.910146 \n-40.1012 26.9756 -4.75186 0.535627 -0.660159 0.526586 \n-29.1193 -37.693 -17.6936 0.398215 0.813068 0.424672 \n-43.3949 29.1169 -4.9969 0.282012 -0.315812 0.905943 \n-44.4085 30.1014 -5.1604 0.31057 -0.225019 0.923533 \n-24.4405 -53.4059 -28.5673 0.321858 0.189934 0.927541 \n-43.3539 30.8715 -5.46272 0.369282 -0.214098 0.904319 \n30.684 -35.5215 -16.7977 0.19759 0.763002 0.615456 \n-14.9639 33.5224 -34.6623 0.637066 0.212126 0.741046 \n28.7897 -35.3326 -16.1878 0.389543 0.382553 0.8378 \n-44.8111 32.4172 -5.47905 0.263735 -0.0218372 0.964348 \n-25.124 -52.6827 -28.4309 0.368296 0.137588 0.919471 \n-43.7001 34.9874 -5.40053 0.318234 0.196459 0.927433 \n-42.5448 37.5967 -5.17401 0.416491 0.442462 0.794206 \n-41.3093 36.951 -5.86237 0.559445 0.379053 0.737116 \n39.4707 40.558 -4.73948 -0.659566 0.416286 0.625843 \n27.2097 21.8827 -10.0125 -0.889139 -0.450543 -0.0802723 \n-37.3846 40.9417 -5.34196 0.491482 0.795248 0.355002 \n30.4972 -34.9073 -16.4107 0.0566921 0.1266 0.990332 \n32.3354 -35.188 -16.7017 0.0376112 0.756361 0.653072 \n36.2949 43.1392 -4.99725 -0.191253 0.782008 0.593199 \n-14.5 34.8881 -34.4881 0.579423 -0.101855 0.808637 \n29.253 43.9557 -5.29198 -0.346019 0.928227 0.136619 \n-30.8538 43.5331 -6.51219 0.240329 0.970574 0.0151096 \n28.5826 44.5005 -5.42733 -0.952106 0.192675 -0.237423 \n29.6068 -67.3433 -24.6788 -0.0719456 0.330466 0.941072 \n-29.9307 -34.2688 -15.7294 0.795989 0.196364 0.572576 \n28.3965 48.8671 -5.22787 -0.745945 0.665827 -0.0154843 \n26.9524 50.1049 -6.04946 -0.571703 0.815306 0.0918277 \n-26.3863 -67.3941 -25.9323 0.690928 0.331478 0.642449 \n-13.8357 -66.4855 -25.6797 -0.824564 0.525371 0.20995 \n21.3762 53.3017 -5.50198 -0.643923 0.763848 0.043593 \n-18.4288 54.2179 -5.76312 0.601638 0.787344 -0.134615 \n-19.3747 54.0947 -4.90588 0.554562 0.827524 -0.0875491 \n-26.2671 -66.2663 -25.0825 0.765527 0.334083 0.54987 \n-14.5095 -66.074 -24.3415 -0.770763 0.637092 0.00623029 \n17.3975 35.7346 -34.9405 -0.488936 0.324007 0.809914 \n18.1985 57.8479 -4.97152 -0.708896 0.672783 -0.21173 \n32.3649 -32.8777 -16.503 -0.0790209 0.0718165 0.994283 \n-14.9322 -65.2988 -23.9718 -0.988459 0.144018 0.0469815 \n15.3776 60.779 -4.96036 -0.623036 0.736297 -0.263995 \n-13.6665 61.7624 -5.79846 0.8026 0.417901 -0.425666 \n17.5966 36.273 -34.8201 -0.484371 -0.254973 0.836883 \n12.3907 64.955 -5.61514 -0.64563 0.72516 -0.239385 \n-15.7204 36.3814 -34.6595 0.580085 -0.131579 0.803859 \n-10.6624 64.7521 -5.40516 0.556369 0.770424 -0.311288 \n11.3656 65.6989 -4.60998 -0.503207 0.752623 -0.424667 \n-15.1995 -62.5574 -26.2548 -0.915718 0.0528042 0.398337 \n-22.2314 -65.891 -28.2483 0.407541 0.130083 0.903874 \n-14.8945 -62.7674 -24.1724 -0.99531 -0.0429125 0.0866978 \n-27.7341 -61.9842 -24.7208 0.693282 -0.502086 0.516982 \n17.3843 37.3936 -35.3958 -0.447007 -0.233467 0.863526 \n-4.62391 68.0185 -6.20705 0.278468 0.884986 -0.37317 \n-27.4022 -62.605 -25.0168 0.772243 -0.163121 0.61403 \n-0.697425 68.0594 -5.17074 -0.0673479 0.991395 -0.112254 \n-2.23505 68.5146 -6.14662 0.133675 0.967649 -0.213975 \n4.30306 68.7919 -5.996 -0.129119 0.969238 -0.209536 \n28.6848 -32.224 -16.2096 -0.0107263 -0.712347 0.701745 \n4.72694 25.3452 -37.8282 0.210899 -0.516978 0.829612 \n-32.2048 -74.8617 -5.31797 0.188699 -0.967948 0.165737 \n-4.09272 63.1357 -26.543 0.219647 0.872103 0.437255 \n4.33935 24.5979 -36.835 0.574311 -0.689997 0.440535 \n26.3922 -31.9215 -16.9064 -0.00352604 -0.790806 0.612057 \n41.7102 -74.604 -5.27626 0.0760257 -0.973791 0.214361 \n40.2091 -74.4669 -6.06988 -0.0178589 -0.995946 0.0881642 \n36.0125 -74.6215 -5.54643 -0.132674 -0.986433 0.0966801 \n-17.3862 -63.5535 -28.9495 -0.422598 0.0813577 0.902658 \n1.41083 64.5373 -25.4333 -0.0619136 0.80317 0.592524 \n-14.5636 -60.4727 -25.453 -0.920433 -0.275739 0.277075 \n25.2297 -32.0984 -16.647 0.146832 -0.759205 0.634073 \n28.3889 29.8472 -18.6928 -0.977305 -0.204405 0.0556128 \n-38.5637 -73.2483 -5.74414 -0.368184 0.200353 -0.907909 \n-40.4462 -74.0119 -5.39539 0.634358 0.145483 -0.759226 \n49.4212 -74.1367 -6.49813 0.114685 -0.857776 -0.501067 \n-34.2122 -73.8118 -5.66418 0.678537 -0.566382 0.46776 \n30.134 -31.7373 -16.3357 -0.149322 -0.610144 0.778092 \n-39.7873 -73.1628 -5.39147 0.152731 0.441699 -0.884067 \n-34.1237 -72.5162 -6.37063 0.876631 0.313091 0.365366 \n-32.8549 -71.1564 -6.93397 0.825058 0.473033 0.309062 \n24.1984 -31.8622 -16.3773 0.434073 -0.795899 0.422049 \n-32.1804 -69.6742 -6.85147 0.8235 0.436918 0.36187 \n-14.3081 -59.1784 -24.9925 -0.908888 -0.106815 0.403129 \n-32.0364 25.1768 -10.046 0.128375 -0.831724 0.540144 \n48.3344 -69.5845 -6.00741 -0.0104095 0.762415 -0.647005 \n-33.264 25.1 -9.3781 0.382113 -0.808595 0.447396 \n17.0003 41.012 -35.133 -0.517252 0.186747 0.83521 \n-31.676 -68.5383 -6.36668 0.728468 0.644472 0.232359 \n-22.6858 -75.0051 -25.8613 -0.14031 -0.981135 -0.132993 \n-30.9104 -67.8811 -6.01174 0.13791 0.988864 -0.0559321 \n-20.6103 -67.5518 -6.00246 -0.765531 0.626063 0.148352 \n4.0735 63.4738 -25.8566 -0.151723 0.897809 0.413424 \n-15.3653 -31.9269 -16.3439 -0.715217 -0.477925 0.509954 \n-28.7785 -31.7369 -16.4229 0.767334 -0.124909 0.628965 \n44.1344 -66.5562 -6.29769 -0.601749 0.774053 -0.196826 \n-21.6702 -66.6466 -6.10413 -0.566772 0.823649 -0.0192824 \n-24.722 -66.2365 -6.29119 0.341875 0.849926 -0.400934 \n-0.554743 41.5205 -39.1194 -0.403628 0.10297 0.909111 \n35.5904 -65.2003 -6.16615 0.228871 0.810855 -0.538639 \n30.3207 -57.9686 -5.89517 0.142309 -0.503728 -0.85206 \n32.3306 -30.4125 -17.2214 -0.373356 -0.594155 0.71245 \n28.7181 -56.8249 -5.55457 0.296544 -0.426957 -0.854265 \n33.2147 -56.2498 -5.91234 -0.390102 -0.364283 -0.845647 \n28.6569 -55.4913 -5.0568 0.328947 -0.451887 -0.829212 \n33.9313 -30.7214 -15.9571 -0.438197 -0.432759 0.787847 \n34.537 -55.496 -5.98128 -0.183172 -0.432827 -0.882671 \n35.9988 -54.1183 -5.14891 -0.551608 -0.376913 -0.744087 \n-29.9937 -54.5367 -24.787 0.78016 -0.104468 0.616795 \n-21.5128 -52.0584 -28.5265 -0.0873512 0.23429 0.968234 \n26.3741 -62.4342 -10.7433 0.542013 -0.59893 -0.589495 \n-30.3397 -52.5743 -24.5509 0.764211 -0.091183 0.638489 \n39.0321 -50.9873 -6.18959 -0.634288 -0.462718 -0.619331 \n20.3349 -29.3929 -16.4104 0.43226 -0.682917 0.588877 \n-23.9508 -50.6667 -5.89116 -0.351016 -0.574777 -0.739202 \n-24.229 -49.5769 -5.35608 -0.303718 -0.551797 -0.776708 \n39.688 -50.1307 -6.12636 -0.522194 -0.602166 -0.603912 \n0.386667 63.5667 -26.2565 0.0123039 0.864004 0.503334 \n-36.4285 27.8538 -10.299 0.499176 -0.355169 0.790366 \n-21.7675 -48.0621 -5.13013 -0.39584 -0.513739 -0.761172 \n-14.9945 -49.8348 -24.7052 -0.746774 0.178208 0.640757 \n-29.6616 -51.3502 -25.053 0.69106 0.0150501 0.722641 \n-20.5984 -48.0571 -5.9541 -0.226287 -0.481299 -0.846845 \n-30.4693 -50.3055 -24.3585 0.763633 0.0721077 0.641611 \n-19.4148 -47.0143 -5.7965 -0.273537 -0.318327 -0.907659 \n-29.8755 -47.7595 -6.28061 0.509481 -0.472106 -0.719406 \n32.7541 27.9419 -10.0468 -0.394889 -0.482419 0.781879 \n-5.77318 41.7721 -38.4799 0.193226 0.101694 0.97587 \n-29.8769 -49.6973 -25.2443 0.725369 -0.0400528 0.687194 \n-24.9775 32.2595 -18.4126 0.772882 -0.111877 0.62461 \n-18.4998 -63.2832 -29.0629 -0.191569 -0.00404103 0.981471 \n-18.9338 -44.0687 -5.47524 -0.557051 -0.0144404 -0.830353 \n-17.5252 -43.446 -6.60402 -0.693107 0.1778 -0.698563 \n-30.0889 -48.4703 -24.5022 0.768275 0.040001 0.638869 \n28.4748 33.9225 -19.765 -0.983433 -0.152433 0.0981032 \n-18.0513 -42.0596 -6.15689 -0.664897 0.229744 -0.710725 \n17.9965 -27.7175 -16.9722 0.474881 -0.761266 0.441546 \n-13.0764 -74.451 -25.2842 -0.567634 -0.822283 -0.0405333 \n42.4598 -42.0928 -6.1644 -0.846484 -0.383797 -0.369005 \n-19.3659 -40.8135 -5.66484 -0.672631 -0.0990373 -0.733321 \n-31.8899 -41.6417 -5.5272 0.753364 -0.653564 -0.0727877 \n23.6199 -40.2304 -5.80588 0.771784 0.503676 -0.388149 \n36.0302 -26.9429 -16.1472 -0.699949 -0.323077 0.63694 \n34.8195 -27.4754 -17.1011 -0.519715 -0.334798 0.786007 \n42.614 -38.7594 -5.62508 -0.993626 -0.0671147 -0.0905705 \n42.3741 -36.628 -6.1839 -0.956909 0.251184 -0.145714 \n-33.0228 -37.9515 -6.34625 0.974639 -0.0668729 0.213556 \n-33.549 -35.7623 -5.33695 0.86942 0.00288121 0.494065 \n5.24244 42.4053 -38.831 -0.136632 0.11222 0.984245 \n-16.8216 -44.7393 -24.0286 -0.669665 0.362941 0.647937 \n-17.6481 -45.6549 -25.1196 -0.533833 0.324663 0.780779 \n-3.58877 24.6547 -37.3523 -0.215516 -0.587854 0.779731 \n23.74 -31.6768 -5.21274 0.718356 -0.548304 -0.428168 \n-37.9527 30.8604 -9.93049 0.761898 -0.173163 0.624121 \n-22.8451 -50.478 -28.4236 -0.0155695 0.272808 0.961942 \n36.0827 -25.6589 -16.9902 -0.625197 -0.242363 0.741882 \n-29.3902 -43.3368 -24.644 0.583169 0.30704 0.752091 \n-18.5183 -44.6272 -25.4378 -0.466965 0.367842 0.804136 \n-13.6304 -28.0611 -6.37733 -0.786966 -0.429044 -0.443403 \n20.5185 -27.9164 -5.27922 0.639086 -0.635996 -0.432525 \n40.641 -26.7707 -5.37698 -0.996727 0.0600791 -0.0540911 \n-12.9555 -25.9989 -5.65119 -0.815234 -0.5033 -0.2865 \n-3.11798 -10.1996 -29.2575 0.79905 0.0616206 0.598099 \n-11.6063 -23.9944 -5.83926 -0.812461 -0.50373 -0.293534 \n40.8894 -22.2225 -6.17051 -0.996507 0.021266 0.0807572 \n-32.1995 -12.3713 -11.1244 0.795452 0.606016 -0.00128306 \n-34.4756 -20.26 -6.71107 0.96426 0.1683 -0.204639 \n-13.5565 44.7987 -35.0038 0.53387 0.22499 0.815084 \n13.2601 -19.881 -6.18365 0.719107 -0.500662 -0.481894 \n-25.6208 35.9641 -18.4313 0.946338 -0.28654 0.149462 \n13.9981 -24.9887 -15.937 0.713536 -0.692248 0.10798 \n0.55012 41.5245 -38.8695 0.368517 0.123765 0.921346 \n-28.5505 -42.5787 -24.9258 0.39149 0.429545 0.813773 \n-31.7288 -24.6906 -16.9404 0.801869 -0.159187 0.575904 \n-33.0326 -17.5919 -4.91998 0.799333 0.382587 -0.463351 \n-11.3145 -24.3351 -17.0291 -0.711352 -0.552889 0.433927 \n-23.3944 -51.7104 -28.7163 0.108341 0.154193 0.982083 \n36.2878 30.8236 -9.60693 -0.456577 -0.278156 0.845084 \n-21.7388 -41.8372 -24.8399 -0.0891281 0.489753 0.867293 \n11.8896 -22.5177 -16.2575 0.812902 -0.48374 0.324323 \n-3.02286 -15.8422 -5.376 -0.332332 -0.783611 -0.524889 \n-24.3306 -42.5301 -25.7867 0.0414921 0.536549 0.842849 \n37.6498 -14.1011 -6.09438 -0.860853 0.459691 -0.21821 \n-32.2104 -15.1348 -5.41419 0.808096 0.404663 -0.428053 \n37.2468 -22.4276 -17.0288 -0.797299 -0.228001 0.558865 \n-30.7663 -12.4564 -5.78427 0.692434 0.574482 -0.43647 \n36.1921 -11.9087 -6.27553 -0.709448 0.647467 -0.278334 \n36.444 33.5247 -10.1401 -0.383658 -0.0658363 0.921125 \n-22.8003 -40.5786 -24.2187 -0.108112 0.595302 0.796195 \n-26.3819 -40.6987 -24.4789 0.159731 0.679961 0.715639 \n-26.261 -41.7876 -25.2109 0.158468 0.4092 0.898579 \n29.889 -8.07725 -5.54202 -0.451293 0.750205 -0.483246 \n29.0403 -6.72585 -5.99189 -0.400659 0.744991 -0.533349 \n20.6032 -21.398 -24.4118 0.132477 -0.387733 0.912202 \n27.5789 -6.02895 -6.92672 -0.28397 0.858472 -0.427067 \n37.5345 33.3758 -9.29692 -0.52048 -0.109232 0.846858 \n-9.14133 -21.7905 -16.8491 -0.720588 -0.493701 0.486838 \n-0.4015 -20.7333 -42.5619 0.596525 0.697936 0.396287 \n27.1076 -6.38285 -5.47853 -0.378612 0.818213 -0.432644 \n15.0054 46.0546 -34.6924 -0.431288 0.309211 0.847573 \n-25.1199 -6.18955 -5.87184 0.639269 0.575554 -0.509973 \n25.4944 -4.93265 -6.64184 -0.307534 0.846617 -0.434354 \n25.0987 -4.46765 -6.95875 -0.628651 0.57743 -0.520935 \n-19.8006 -68.5802 -7.56362 -0.882525 0.433617 -0.182005 \n-23.523 -5.64855 -5.17043 0.298266 0.719189 -0.627538 \n24.0614 -4.47945 -5.90051 -0.74758 0.339211 -0.571016 \n-22.017 -4.61235 -6.07634 0.391844 0.681643 -0.617917 \n-20.8424 -3.69485 -5.62981 0.696086 0.256027 -0.670757 \n11.6921 -21.21 -17.1444 0.712569 -0.609488 0.34752 \n28.7454 -36.1945 -16.9382 0.385484 0.730862 0.563243 \n36.217 35.2242 -10.0102 -0.395344 0.0573177 0.916743 \n-18.5405 -20.8855 -24.4439 -0.139209 -0.275257 0.951238 \n-15.9554 7.36665 -7.28528 0.917352 -0.171052 -0.359453 \n-15.6552 8.24555 -5.11121 0.880415 -0.332255 -0.338343 \n-8.39349 -20.583 -16.4427 -0.737084 -0.471463 0.48418 \n19.1013 10.1324 -6.66585 -0.807345 -0.372278 -0.457824 \n-16.3235 10.0637 -6.25646 0.95557 -0.220338 -0.195797 \n-17.1761 12.2719 -5.70881 0.243408 -0.85824 -0.45186 \n-18.4641 12.4426 -6.06579 0.79263 -0.607172 -0.0554963 \n-20.997 18.0629 -6.78295 0.880945 -0.473219 -5.42387e-005 \n-21.7892 19.4625 -6.2956 0.791931 -0.608725 -0.047948 \n25.219 20.6621 -6.15258 -0.847417 -0.518171 -0.11569 \n-25.5377 22.811 -7.3021 0.675023 -0.737211 -0.0293852 \n36.3307 36.5619 -9.87459 -0.397112 0.241991 0.885292 \n-37.9544 36.373 -9.73899 0.751329 0.232915 0.617459 \n-26.2635 23.3067 -6.64347 0.365785 -0.922962 0.119757 \n-5.24712 -18.5568 -16.413 -0.367599 -0.915399 0.16406 \n36.1044 -11.7042 -10.4292 -0.831418 0.555079 -0.0251056 \n-24.9344 -74.7571 -25.474 0.460987 -0.777816 0.427193 \n-37.2486 25.7075 -6.00519 0.485747 -0.743295 0.459958 \n34.1821 26.2616 -6.38202 -0.143973 -0.810301 0.568054 \n-38.3523 25.4215 -5.20882 0.283229 -0.809286 0.514624 \n7.13763 -18.2061 -15.3986 0.660969 -0.711713 0.237876 \n-18.8323 -19.2801 -24.6674 -0.0218194 -0.255381 0.966594 \n-20.0592 -20.1852 -24.5934 0.0721633 -0.119658 0.990189 \n-41.9893 28.7252 -5.70628 0.394813 -0.375488 0.838529 \n-10.5514 47.8566 -34.6599 0.463787 -0.100108 0.880273 \n-17.4306 -19.6782 -24.2437 -0.202284 -0.393926 0.896607 \n-1.70205 -16.7681 -17.0137 -0.671499 -0.720975 0.171124 \n-23.4878 -74.4031 -27.3764 0.751919 -0.132799 0.645741 \n-43.7001 32.5807 -5.62608 0.399717 -0.00039122 0.916638 \n-29.1293 -36.9384 -17.1791 0.644978 0.240874 0.725247 \n-11.9895 -25.3176 -18.3469 -0.778288 -0.359122 0.515072 \n-42.549 33.7029 -6.19237 0.41879 0.0579018 0.906235 \n5.69575 -16.6099 -16.1619 0.677326 -0.660839 0.323298 \n41.6617 34.3514 -5.50667 -0.762114 0.0763406 0.642926 \n-20.2148 -18.5608 -24.5359 0.0392718 -0.217978 0.975163 \n-42.6805 35.341 -6.10159 0.451034 0.241899 0.8591 \n39.0765 39.6481 -6.13606 -0.695535 0.433337 0.573106 \n-31.1752 -14.3097 -17.2049 0.862555 0.308672 0.400899 \n5.39964 -15.3501 -17.4579 0.620502 -0.727053 0.293889 \n35.1343 42.9517 -5.32296 -0.156942 0.83618 0.525521 \n-7.77497 50.9493 -35.5029 0.138781 0.364396 0.920845 \n32.4063 43.031 -5.86169 -0.103602 0.869307 0.483294 \n35.7318 -35.3989 -17.025 -0.243297 0.819968 0.51813 \n-22.365 -18.8197 -24.617 0.101954 -0.190053 0.976466 \n31.5068 43.5827 -4.95231 -0.149723 0.921567 0.358185 \n26.9678 -18.4561 -24.763 -0.340653 -0.246953 0.907177 \n4.19762 -14.8987 -16.6 0.469476 -0.855571 0.218152 \n28.7689 45.9045 -5.36322 -0.859981 -0.303305 -0.410413 \n-25.8476 39.755 -18.7006 0.863399 0.142937 0.48385 \n29.7512 46.5014 -6.85471 -0.97757 -0.203581 -0.0539639 \n-26.2637 46.4436 -6.00452 0.871138 0.481424 -0.0966903 \n-37.4917 38.94 -8.88099 0.674689 0.410493 0.613425 \n11.4857 48.7656 -34.3839 -0.166889 0.421789 0.891203 \n4.90974 63.3476 -26.7064 -0.0691031 0.976517 0.204055 \n29.5656 -74.3438 -25.5445 -0.157686 -0.449202 0.879404 \n-23.0622 50.2647 -4.41393 0.480642 0.819647 -0.311708 \n-24.0561 -74.2589 -26.7591 0.72477 -0.209791 0.656275 \n24.0805 51.9661 -4.54994 -0.420737 0.901845 -0.0982668 \n-22.0144 51.3498 -5.68896 0.651603 0.744804 -0.143807 \n25.3984 -61.3792 -10.8431 0.686411 -0.436685 -0.581504 \n-7.77658 -7.58015 -26.682 0.131129 0.040371 0.990543 \n20.2402 56.2526 -5.57905 -0.698878 0.639948 -0.319429 \n18.0191 58.3689 -5.68386 -0.730459 0.591056 -0.342173 \n39.6217 -50.4779 -19.7058 -0.703405 -0.0463989 0.709273 \n-35.4896 39.6722 -10.1469 0.611822 0.476503 0.631363 \n16.8032 60.0897 -5.54443 -0.649961 0.702423 -0.290093 \n-11.2293 -23.4207 -19.0408 -0.611194 -0.628692 0.48082 \n-9.81964 38.9915 -37.0604 0.333547 0.0122475 0.942654 \n13.9386 64.1423 -7.15778 -0.660013 0.71518 -0.23 \n-12.5705 -72.9054 -26.7522 -0.98325 -0.132146 0.125527 \n30.438 -36.2844 -17.9544 0.228155 0.747051 0.624388 \n-16.6438 -18.0621 -25.0215 -0.266603 -0.253444 0.929887 \n-8.09035 65.4548 -5.25262 0.547867 0.835654 -0.0390414 \n9.14226 66.4618 -5.43947 -0.430141 0.85279 -0.29619 \n-21.4375 -18.0082 -24.7849 0.130193 -0.222974 0.966091 \n-5.60493 67.4317 -5.84439 0.293944 0.819466 -0.492008 \n-7.70828 66.7771 -6.28146 0.57407 0.751833 -0.32433 \n-9.90787 50.8843 -34.7566 0.365164 0.375784 0.851729 \n-2.93632 67.8223 -5.13304 0.247943 0.927085 -0.281137 \n-24.4049 -18.5669 -24.1985 0.303991 -0.162492 0.938715 \n-1.16096 68.4636 -6.07904 -0.151525 0.958223 -0.242589 \n32.4269 -75.1808 -5.94721 0.353931 -0.921863 -0.157801 \n-20.3309 -74.9987 -6.86596 -0.203144 -0.977186 -0.0619679 \n-30.5842 -75.1299 -5.17972 0.0966726 -0.994586 0.0381064 \n-39.7383 -75.3341 -6.26275 -0.12697 -0.962649 -0.239133 \n-41.1978 -74.8475 -6.24724 0.953731 -0.0681593 -0.292835 \n46.9675 -74.613 -6.38701 -0.162906 -0.985905 -0.0381079 \n34.8185 -9.53105 -16.2408 -0.819123 0.548492 0.167908 \n-19.7382 27.3603 -29.4972 0.607206 -0.228108 0.761096 \n31.666 -74.5965 -5.9368 0.739595 -0.596639 -0.311482 \n29.6386 40.6882 -18.5373 -0.961712 0.237863 -0.136127 \n-27.8052 -8.73865 -16.8939 0.604266 0.663269 0.441516 \n-38.6873 -74.6095 -6.15885 -0.471275 -0.561136 -0.68046 \n52.6241 -74.1144 -5.93117 -0.0165928 -0.999292 -0.033774 \n48.4092 -73.9725 -6.19956 -0.290452 -0.825866 -0.483304 \n-12.5551 -49.8071 -19.4904 -0.926766 0.117226 0.35688 \n-19.3903 -74.1171 -6.13822 -0.903717 -0.340975 -0.258904 \n53.106 -73.883 -6.62719 -0.402608 -0.85851 0.317596 \n33.8596 -8.40475 -16.5628 -0.664962 0.718178 0.205053 \n3.77901 63.049 -27.3357 -0.0938297 0.83038 0.549241 \n-16.1205 -57.5823 -27.5965 -0.589422 0.155466 0.792724 \n52.593 -71.9512 -7.70442 -0.73392 0.116759 0.669125 \n-18.8172 -71.3239 -7.09333 -0.967768 0.129584 -0.215945 \n-39.2338 -71.5327 -6.61293 -0.0678697 0.602401 -0.795303 \n30.8505 -72.1326 -6.49441 0.837685 0.0238864 -0.545631 \n-27.1001 -7.76665 -16.9291 0.578488 0.676095 0.456342 \n-19.2985 -71.9513 -5.93218 -0.941345 -0.0340169 -0.335725 \n-23.1183 -73.3211 -27.4278 0.724186 -0.112051 0.68044 \n-19.4307 -70.0902 -6.29025 -0.941191 0.317416 -0.115789 \n16.1965 -16.8157 -25.002 0.226554 -0.372438 0.899979 \n31.6031 -70.4539 -5.94652 0.800225 0.0821701 -0.594043 \n52.1611 -69.8414 -5.78673 -0.52712 0.813703 0.245013 \n43.2256 -73.0635 3.56148 -0.909956 0.245362 0.334332 \n30.8008 41.8261 -8.80969 -0.425663 0.819722 0.383233 \n7.12876 25.844 -37.0209 -0.235883 -0.168038 0.957143 \n-25.4195 -6.81365 -17.1273 0.310436 0.836139 0.452218 \n47.3172 -69.59 -6.16282 -0.156542 0.785804 -0.598337 \n-20.2376 -68.6814 -6.0139 -0.861938 0.50326 -0.0615897 \n-26.8313 -68.4762 -6.17782 0.00716409 0.709674 -0.704494 \n-6.25607 51.7686 -35.2229 0.627309 0.378454 0.680629 \n-29.6887 -67.8332 -6.69477 0.099966 0.910031 -0.402306 \n-12.5469 -71.4339 -27.7657 -0.97517 0.165562 0.147082 \n24.8233 -73.6712 -25.5511 0.355597 -0.242358 0.90267 \n-26.1891 -67.4499 -6.85291 0.361448 0.715977 -0.597271 \n-0.409763 -19.5202 -28.4201 0.372099 -0.530169 -0.761881 \n34.2604 -65.5755 -6.56069 0.268542 0.726281 -0.632773 \n29.8631 42.3396 -9.74348 -0.786513 0.607889 0.108946 \n-31.91 -70.4479 -7.60758 0.899258 0.437095 0.0168567 \n-30.917 42.6821 -9.25153 0.541088 0.754238 0.371952 \n33.1796 -66.288 -5.74249 0.305063 0.713139 -0.631165 \n41.0219 -65.3138 -6.27348 -0.217966 0.967221 -0.130282 \n30.3737 -4.77665 -16.6254 -0.345986 0.914241 0.21085 \n38.1791 -65.3809 -6.03707 -0.0360259 0.863152 -0.503657 \n36.3481 -64.2686 -7.52033 -0.100761 0.826386 -0.554016 \n36.6535 -65.2094 -6.33792 -0.0181857 0.854965 -0.518366 \n32.4697 -58.6031 -6.06782 -0.187417 -0.433076 -0.881657 \n29.2519 43.5374 -9.88784 -0.955391 -0.0126759 -0.295073 \n30.1495 -59.0539 -6.35932 0.139755 -0.521779 -0.841555 \n-29.9869 43.3508 -10.0138 0.582437 0.679811 0.445673 \n29.1553 -58.4975 -6.37319 0.198364 -0.499672 -0.843196 \n28.1145 -57.9858 -6.25317 0.456546 -0.479933 -0.749153 \n33.5416 -57.6172 -6.32013 -0.28233 -0.25695 -0.924265 \n6.32076 -27.3405 -55.1259 -0.816349 0.295919 0.49599 \n27.2829 -56.5121 -6.14589 0.407364 -0.41674 -0.812639 \n-21.4535 -4.70235 -16.8066 0.509942 0.696529 0.504783 \n34.535 -56.8379 -6.11406 -0.246946 -0.319338 -0.914899 \n3.69022 25.352 -37.2904 0.573454 -0.726365 0.378873 \n35.6851 -56.4221 -6.46935 -0.17586 -0.234869 -0.955986 \n26.094 -56.2342 -6.45855 0.53921 -0.48313 -0.68981 \n25.1777 -54.5871 -6.27003 0.602942 -0.465956 -0.647569 \n36.0153 -55.3588 -6.32614 -0.343166 -0.39556 -0.851921 \n38.1115 -53.5539 -6.15421 -0.63521 -0.371703 -0.677012 \n-25.312 41.4148 -18.7792 0.94752 0.00447653 0.319665 \n-13.1474 -70.1076 -27.5436 -0.936882 0.288452 0.197603 \n-26.3885 -51.8148 -5.93541 -0.0601135 -0.603897 -0.794793 \n4.22608 -16.0864 -24.93 -0.607615 -0.721783 -0.33141 \n-22.4634 -50.373 -6.73603 -0.152349 -0.497141 -0.85419 \n-27.715 -50.4016 -6.1844 0.338584 -0.505623 -0.793541 \n40.4599 -49.9852 -6.63973 -0.858168 -0.397238 -0.325192 \n22.2269 -49.8318 -6.41679 0.639551 -0.371052 -0.673272 \n-1.75638 25.9514 -37.3385 -0.632297 -0.733635 0.248958 \n-22.413 -49.3811 -6.34208 -0.314695 -0.541395 -0.779653 \n29.9049 45.2421 -9.87184 -0.916939 -0.0608418 -0.394362 \n22.4627 -48.5163 -5.79914 0.630375 -0.376893 -0.67866 \n-20.9862 -48.9987 -6.47351 -0.176582 -0.306846 -0.935235 \n-29.7596 -48.7129 -6.65742 0.6175 -0.390137 -0.682999 \n21.6288 -47.8335 -6.39737 0.850466 -0.189982 -0.490524 \n-19.1879 -48.4455 -5.93298 -0.204188 -0.394502 -0.895922 \n-28.9279 -47.6194 -5.40328 0.635341 -0.425286 -0.644572 \n38.8993 -61.547 -11.3009 -0.830348 -0.276663 -0.483715 \n-17.9382 -45.8148 -5.81805 -0.413148 -0.153593 -0.897618 \n-31.2551 -46.3624 -6.06465 0.684323 -0.367477 -0.629812 \n21.8198 -46.9196 -5.51386 0.856241 -0.10379 -0.506042 \n22.1038 1.94885 -17.0023 -0.997897 -0.00808388 0.0643125 \n42.5011 -44.2035 -6.12822 -0.846328 -0.227535 -0.481619 \n-17.1231 -44.8923 -6.4028 -0.658656 0.111507 -0.744136 \n-30.5107 -45.1157 -5.04014 0.604924 -0.382162 -0.698583 \n-32.0559 -44.4012 -6.56604 0.785307 -0.243256 -0.569315 \n21.0891 -43.5437 -7.60148 0.950989 0.186398 -0.246731 \n30.8614 -73.7875 -25.3399 -0.340547 -0.117428 0.932866 \n-32.1836 -43.3517 -6.32336 0.815405 -0.157959 -0.556924 \n-31.7462 -42.2127 -5.82857 0.796982 -0.020113 -0.603668 \n21.6898 -42.0517 -7.17334 0.890343 0.348955 -0.292437 \n42.8721 -40.9501 -5.97836 -0.95851 -0.0950129 -0.268759 \n-18.5457 -40.7909 -6.44124 -0.77964 0.127847 -0.613039 \n42.9017 -38.889 -6.81189 -0.99474 0.0438541 -0.0925703 \n25.3214 -38.0038 -5.60696 0.716141 0.620844 -0.318896 \n-18.7854 -38.7757 -5.79514 -0.794101 -0.231118 -0.562129 \n-26.0643 47.2542 -9.25373 0.855951 0.51671 0.0189424 \n-18.0227 7.32015 -15.8927 0.945172 -0.271871 0.180932 \n-4.56811 -14.7048 -24.2441 0.583246 -0.803601 0.118527 \n-33.0695 -31.9915 -6.12893 0.980238 -0.1816 0.0784577 \n-8.93428 -15.6327 -24.5277 -0.156998 -0.58748 0.793863 \n7.82794 53.625 -34.6675 -0.190368 0.656052 0.730312 \n22.949 -30.7498 -5.65676 0.652534 -0.631594 -0.418674 \n-33.9566 -30.1017 -6.51645 0.872124 -0.488758 -0.0227255 \n21.2803 -29.2133 -6.14579 0.710176 -0.574968 -0.406278 \n-13.3781 -68.8816 -27.0791 -0.864413 0.411291 0.289189 \n-34.7732 -28.8106 -5.8045 0.938144 -0.334046 -0.0910981 \n32.1456 -35.9025 -18.1234 0.112052 0.804119 0.583813 \n19.9452 12.1828 -16.2544 -0.898323 0.438519 -0.0267697 \n-12.9084 -15.473 -24.473 -0.0520052 -0.520468 0.852296 \n40.6669 -27.4491 -7.09859 -0.997423 0.0363481 0.0618603 \n28.7621 44.3844 -18.4424 -0.910312 0.168367 0.378134 \n15.9276 -23.6179 -6.40129 0.716095 -0.584651 -0.381302 \n-35.0987 -23.6637 -7.28259 0.99674 0.0581184 -0.0559642 \n19.8221 12.9901 -16.6574 -0.973191 -0.210828 0.0919299 \n-10.0044 -21.6572 -5.98864 -0.763742 -0.494994 -0.414342 \n-18.8462 15.0022 -16.6725 0.858163 -0.48124 0.178787 \n14.5112 -21.457 -6.10594 0.699599 -0.513225 -0.497152 \n-15.4562 -66.7134 -28.9702 -0.486468 0.64671 0.587465 \n6.12643 -14.286 -25.1001 -0.772938 -0.62832 0.0882086 \n7.97021 26.9406 -37.5409 -0.0925523 -0.282843 0.954691 \n-8.56914 -20.8427 -7.56804 -0.780391 -0.510889 -0.36053 \n-24.7773 49.1597 -9.93434 0.716797 0.630191 -0.298431 \n12.9594 -18.6508 -5.55345 0.670404 -0.481277 -0.56474 \n39.829 -19.1369 -6.74448 -0.963331 0.260528 0.0641748 \n-7.45453 -18.6539 -6.97286 -0.73129 -0.559956 -0.389442 \n-20.0803 16.8717 -16.5943 0.833895 -0.523758 0.174059 \n-33.8779 -17.6619 -7.25977 0.933284 0.319873 -0.163285 \n-17.7621 -35.4271 -17.9201 -0.688897 0.0767242 0.720787 \n-14.216 -15.2865 -24.5746 -0.102145 -0.225958 0.968767 \n-4.4336 -17.769 -7.1305 -0.394325 -0.817361 -0.420035 \n-14.8281 -13.8002 -24.5352 0.119151 -0.0630074 0.990875 \n-17.4089 -14.3769 -24.8703 -0.0946779 0.109234 0.989497 \n35.5727 -10.474 -10.7803 -0.847156 0.509615 -0.150399 \n3.43872 -15.9834 -6.0486 -0.276366 -0.954175 0.11477 \n6.96409 -16.0648 -7.85914 0.308523 -0.848149 -0.430647 \n6.14199 26.7568 -37.4438 -0.238479 -0.114695 0.964351 \n26.7741 50.0601 -9.83706 -0.689825 0.634357 0.348903 \n-22.8458 18.5634 -16.8562 0.450949 -0.891212 -0.0488519 \n2.63315 55.1153 -34.6154 -0.0443967 0.472799 0.880051 \n-33.0838 -71.2081 -17.4398 0.629043 0.126355 0.767033 \n23.152 19.5172 -17.7105 -0.744814 -0.634005 0.208061 \n11.0725 -14.0838 -24.023 0.385687 -0.565817 0.728764 \n2.85982 -26.712 -55.7077 0.507604 0.42976 0.746756 \n-30.341 -11.2863 -7.22318 0.752518 0.559543 -0.347317 \n-29.3554 -10.0341 -6.6071 0.740302 0.525195 -0.41967 \n-24.4764 49.4377 -9.4192 0.817634 0.547049 0.179475 \n26.196 20.8898 -16.3588 -0.59421 -0.798128 0.0995346 \n30.6901 -7.47395 -6.7219 -0.505841 0.698935 -0.505583 \n0.269535 55.0687 -34.655 0.0154556 0.656675 0.754015 \n23.1961 -2.99195 -5.13696 -0.776126 0.305053 -0.55188 \n26.1524 23.4526 -17.4768 -0.943282 -0.176277 0.281327 \n21.0873 1.44585 -6.99761 -0.519705 0.7471 -0.414425 \n5.39802 -17.1311 -28.2354 -0.757939 -0.575473 -0.307181 \n27.3303 47.4367 -19.3461 -0.814475 0.406999 0.4135 \n19.1467 2.07685 -6.02072 -0.556554 0.573092 -0.60151 \n18.3214 4.51485 -6.65837 -0.81579 0.307621 -0.489751 \n-13.1712 -13.9668 -25.3201 0.26046 -0.38997 0.883224 \n-0.999243 55.0135 -34.6296 0.0601431 0.719389 0.691999 \n17.9083 5.69855 -6.66115 -0.833465 0.107745 -0.541966 \n-16.3288 8.45235 -7.27043 0.960378 -0.1821 -0.210984 \n17.6278 8.54735 -6.3119 -0.848372 -0.164166 -0.503303 \n-24.3232 -67.267 -27.5806 0.60602 0.0708262 0.79229 \n19.976 11.5767 -6.40395 -0.953507 -0.21457 -0.211624 \n-16.729 11.5357 -6.40336 0.853781 -0.442059 -0.275032 \n20.9728 14.199 -7.02208 -0.748733 -0.659594 -0.0658452 \n22.2762 15.6128 -6.99705 -0.777851 -0.628391 -0.00850568 \n22.73 16.3925 -5.30301 -0.788671 -0.607792 -0.0926648 \n24.2843 18.6608 -6.47142 -0.85263 -0.521579 -0.0312617 \n-21.0872 54.0502 -9.57395 0.633855 0.681314 -0.366114 \n-24.7481 26.9321 -16.4422 0.698846 -0.469353 0.539742 \n-23.1761 20.67 -5.2779 0.67853 -0.723887 -0.12484 \n27.6304 28.6132 -16.6292 -0.934851 -0.289447 0.205609 \n-20.0948 -14.3665 -25.1548 0.039145 0.189235 0.981151 \n-31.489 23.2808 -6.79256 -0.00317895 -0.96079 0.277259 \n-0.245164 55.5464 -34.3814 0.0690112 0.247581 0.966406 \n-26.5687 30.3259 -16.6393 0.629244 -0.208315 0.74877 \n-19.8729 28.5373 -29.5189 0.628497 -0.268122 0.730138 \n-34.743 -71.9933 -16.732 0.681756 0.0483704 0.729978 \n-3.71571 42.7617 -38.65 0.15758 0.189808 0.969093 \n11.6118 -12.7652 -25.0179 0.253116 -0.411144 0.875724 \n35.8548 26.7626 -7.03468 -0.274889 -0.743724 0.609353 \n-24.3545 -66.2603 -26.9554 0.645433 0.284941 0.708678 \n38.1357 26.9668 -5.76681 -0.360845 -0.81087 0.46074 \n-39.3525 27.3286 -6.79436 0.552843 -0.595668 0.582705 \n-4.93764 26.5679 -37.154 0.50795 0.128724 0.851714 \n-40.8305 28.9074 -6.07298 0.460081 -0.310442 0.831836 \n39.4608 29.3855 -6.43017 -0.773664 -0.380783 0.506408 \n-20.0918 54.5325 -9.37073 0.505387 0.69804 -0.507272 \n39.6973 30.4188 -6.48298 -0.797279 -0.377289 0.471168 \n-42.1575 30.3276 -6.01442 0.335711 -0.24904 0.908448 \n11.1638 27.684 -36.8748 -0.491069 -0.144537 0.859046 \n40.753 32.0191 -5.93002 -0.78212 -0.331148 0.527854 \n-12.8487 -48.9165 -19.4376 -0.933629 0.123142 0.336412 \n-30.5307 -10.3189 -10.4456 0.87878 0.443359 -0.176574 \n40.7007 34.1106 -6.49377 -0.798366 -0.0244163 0.601678 \n-41.3345 33.7675 -6.58648 0.623029 0.0170422 0.782013 \n4.09816 -19.5941 -40.597 -0.400309 0.854644 0.330661 \n-22.098 -13.1732 -24.445 0.323787 0.326434 0.888033 \n28.3021 -13.2567 -24.6981 -0.385844 0.202788 0.900001 \n40.5485 36.8278 -6.03106 -0.747933 0.165251 0.642875 \n39.9901 38.1172 -6.08202 -0.707813 0.410223 0.575081 \n10.0237 -12.8538 -24.7423 0.0313882 -0.779592 0.625501 \n1.97192 -25.7905 -34.7317 -0.16373 -0.807908 -0.566107 \n-26.3934 32.5246 -17.2199 0.598882 -0.0415679 0.799758 \n-39.5917 39.423 -6.10162 0.517295 0.698804 0.494043 \n38.5812 41.1824 -5.70681 -0.622842 0.524853 0.580171 \n-15.9279 -13.2657 -24.5914 0.0953653 0.0962679 0.990776 \n-36.068 41.3409 -7.37938 0.529662 0.767597 0.360905 \n-36.4906 41.7503 -5.64087 0.586773 0.789908 0.178163 \n29.196 33.8727 -16.9489 -0.939053 -0.229796 0.255683 \n35.8698 41.2997 -6.93325 -0.2856 0.642919 0.710695 \n34.4409 42.5299 -6.45759 -0.199743 0.791161 0.578072 \n32.6902 42.0167 -7.39913 -0.194351 0.808336 0.555717 \n29.9543 43.4872 -6.39587 -0.4279 0.815458 0.389782 \n26.9739 -12.8911 -25.0347 -0.347218 0.107824 0.931565 \n-33.0269 -48.7954 -19.8943 0.974397 -0.0703951 0.213528 \n5.76147 -16.3086 -29.1252 -0.999359 -0.0172943 -0.0313501 \n-27.5242 45.3608 -6.6702 0.573662 0.816026 -0.0708114 \n-25.5366 48.4549 -6.61164 0.847442 0.526006 -0.071825 \n-23.7122 48.0276 -18.3359 0.925135 0.376602 -0.0479206 \n-22.8081 51.6898 -7.45277 0.546201 0.786436 -0.288413 \n25.1714 51.4034 -6.02246 -0.597932 0.796345 0.0911664 \n39.9725 -66.6488 -18.2885 -0.696319 0.365885 0.61747 \n-28.4949 36.9126 -15.4993 0.687453 0.117393 0.716678 \n-20.2785 53.5788 -6.32278 0.558273 0.825705 0.080882 \n20.8316 54.1288 -5.75126 -0.899837 0.286695 -0.328786 \n21.2652 54.6424 -6.89943 -0.814072 0.470165 -0.340927 \n26.8853 -11.5653 -25.0047 -0.497161 0.147662 0.855001 \n20.3288 57.4967 -10.4406 -0.887785 0.460229 0.00511977 \n4.91575 35.5119 -39.2416 -0.0832973 -0.0645724 0.99443 \n-15.6305 59.3788 -6.34478 0.72964 0.611373 -0.306347 \n17.091 60.3317 -6.58308 -0.516361 0.823748 -0.234119 \n16.056 60.7639 -6.84414 -0.695004 0.625267 -0.354981 \n15.3672 61.0947 -5.60921 -0.882089 0.258463 -0.393849 \n-13.9622 60.1638 -5.59092 0.778271 0.495632 -0.385542 \n12.844 65.1055 -6.9581 -0.643851 0.74065 -0.192077 \n11.1473 66.5186 -6.96461 -0.486092 0.864676 -0.12669 \n-8.74146 65.4785 -6.52259 0.515797 0.810047 -0.278885 \n9.65319 66.6461 -7.21741 -0.415522 0.89442 -0.165391 \n25.7758 -9.22815 -24.0243 -0.266289 0.505685 0.820593 \n-7.19306 67.174 -6.84634 0.374365 0.922631 -0.0927544 \n-26.6629 40.2223 -17.0305 0.841726 0.130495 0.523897 \n35.4313 -9.94945 -9.71112 -0.837007 0.546736 0.0223487 \n-15.9243 59.7909 -9.97228 0.525805 0.846324 -0.0852362 \n-16.8247 -9.65295 -24.3053 0.519706 -0.0144526 0.854223 \n31.369 -75.002 -7.3036 0.449159 -0.877373 -0.168738 \n29.1668 41.4128 -16.7993 -0.915307 0.0711384 0.396426 \n-24.4021 -65.4592 -26.9764 0.608011 -0.293795 0.737569 \n-1.58175 63.1542 -27.3361 0.112873 0.858608 0.500052 \n25.9914 49.298 -18.7253 -0.826183 0.460991 0.323897 \n-40.8595 -75.1487 -6.77195 0.618838 -0.75453 0.218458 \n45.8949 -74.7066 -7.13304 0.109396 -0.983023 0.147306 \n42.6054 -74.2781 -6.93163 0.0675756 -0.981036 0.181665 \n37.9585 -74.2995 -7.9735 -0.0404213 -0.996718 0.0701404 \n-24.4275 -74.5466 -7.17906 -0.00570514 -0.995915 0.0901158 \n-26.9983 -74.8871 -6.3459 -0.109059 -0.993774 0.0227717 \n-25.616 42.4771 -17.4724 0.840537 0.255817 0.477552 \n50.8782 -74.3598 -7.36409 -0.132406 -0.986533 -0.0960296 \n21.7449 -8.76155 -24.8367 -0.17278 0.364816 0.914908 \n-37.3096 -73.3072 -6.39706 -0.501734 -0.0719611 -0.862023 \n-25.5698 43.7875 -17.0766 0.982286 0.0476355 0.181233 \n53.3265 -73.4911 -6.74182 -0.787433 -0.0962108 0.608845 \n-40.5802 -73.9429 -6.74544 0.8889 0.144008 0.434877 \n-33.6071 -73.1924 -7.03148 0.721395 -0.633257 0.280313 \n-40.5428 -73.4053 -6.05658 0.893249 0.423072 -0.152041 \n-37.0771 -71.6367 -7.06723 -0.300848 0.514178 -0.803188 \n-25.646 46.4964 -16.3469 0.907641 0.261153 0.328614 \n25.7948 50.6073 -17.3572 -0.8299 0.504834 0.237506 \n52.3014 -70.731 -7.33702 -0.668845 0.54835 0.501955 \n50.5913 -69.4695 -7.40691 -0.466166 0.861422 0.201595 \n30.7064 -68.924 -7.05717 0.762923 0.0373678 -0.645409 \n49.9193 -69.2571 -5.91448 0.0447356 0.90162 -0.43021 \n48.5826 -69.0567 -6.80486 -0.0919502 0.903496 -0.418617 \n31.4517 -68.9344 -6.11851 0.735925 0.15827 -0.658304 \n46.1376 -68.5387 -6.78461 -0.359805 0.637512 -0.681263 \n-20.6938 -67.9259 -6.64181 -0.796014 0.603937 -0.0402757 \n-29.9696 -23.794 -18.9749 0.686164 -0.208055 0.697059 \n-35.1665 42.3007 -6.51877 0.441086 0.858006 0.263189 \n-24.4885 49.0629 -16.7619 0.642445 0.267923 0.71797 \n31.2673 -66.4239 -7.29741 0.601309 0.387231 -0.698914 \n25.5997 50.8879 -18.6422 -0.875582 0.411367 0.253245 \n-28.5252 -67.9096 -6.26763 -0.0661216 0.781579 -0.620293 \n32.1193 -66.1932 -6.52338 0.598505 0.517702 -0.611373 \n42.5843 -65.822 -6.80779 -0.359877 0.929558 -0.0800682 \n-2.98766 -21.5024 -34.704 0.869512 -0.405727 -0.281663 \n20.7172 -5.08905 -24.6083 -0.335604 0.177773 0.925076 \n-22.7441 -66.159 -6.3786 -0.158872 0.973995 -0.161533 \n-23.6418 -66.1099 -7.41448 -0.0257917 0.982264 -0.185721 \n34.9461 -64.756 -6.89106 0.0634879 0.733704 -0.676497 \n39.1847 -65.0284 -6.3149 -0.0402601 0.942167 -0.332717 \n35.8102 -60.3459 -6.88451 -0.277412 -0.485717 -0.828928 \n34.1703 -58.8462 -6.9923 -0.00223308 -0.346259 -0.938136 \n30.9044 -59.5993 -6.78852 -0.00285706 -0.512695 -0.858566 \n35.7127 -59.4107 -6.59913 -0.343705 0.0407172 -0.938194 \n1.70068 26.8382 -36.7299 0.429958 -0.834582 0.344398 \n35.7174 -57.6078 -7.1001 -0.142054 -0.400458 -0.905237 \n-23.7328 51.2907 -16.298 0.743929 0.405528 0.531146 \n36.9745 -57.0554 -6.59332 -0.0776838 -0.37233 -0.924844 \n5.46015 -17.1149 -33.3096 -0.879294 0.392766 0.269401 \n14.8269 63.7358 -8.35943 -0.627641 0.744784 -0.226636 \n24.1639 -53.5177 -6.3009 0.647169 -0.390874 -0.654515 \n39.0756 -52.6505 -7.03036 -0.521802 -0.505801 -0.686941 \n25.5257 52.0711 -16.941 -0.88758 0.430794 0.163151 \n38.5858 -51.9744 -6.31849 -0.684561 -0.235999 -0.689696 \n-25.097 -52.2688 -6.9606 -0.236282 -0.604464 -0.760785 \n40.389 -52.0433 -6.68949 -0.44882 -0.408722 -0.794674 \n23.2227 -50.4715 -6.07668 0.723931 -0.342934 -0.598598 \n24.978 52.0427 -18.2967 -0.745664 0.560029 0.361043 \n-23.5095 50.7206 -18.821 0.894068 0.438053 0.0935478 \n-24.9037 -51.2443 -6.29787 -0.203435 -0.505477 -0.838515 \n-27.0063 -51.5293 -6.08865 0.525808 -0.376824 -0.762581 \n39.8256 -50.5577 -6.43143 -0.457363 -0.12227 -0.880834 \n40.5641 -50.4781 -6.88831 -0.86192 0.0813142 -0.500483 \n24.204 54.2368 -16.3056 -0.751058 0.611839 0.248123 \n-21.0912 -51.2811 -6.86826 0.0785762 -0.668205 -0.739816 \n-22.3752 53.4334 -16.3934 0.699441 0.44442 0.559708 \n-21.1672 -50.0317 -6.49458 -0.0987467 -0.189855 -0.976834 \n-28.6233 -49.4825 -5.65767 0.534634 -0.438458 -0.722441 \n41.2332 -48.6256 -7.61813 -0.946953 -0.29034 -0.137776 \n-31.2377 -21.9151 -18.3524 0.800738 -0.15529 0.578536 \n-20.1551 55.6769 -16.7014 0.658978 0.523928 0.539673 \n41.1144 -48.9383 -5.96772 -0.827946 -0.45065 -0.333796 \n-18.0077 -47.7108 -6.48295 -0.377435 -0.26856 -0.886238 \n-17.0905 -46.7513 -6.6301 -0.62866 -0.0485992 -0.77616 \n41.3518 -45.7622 -6.14697 -0.888194 -0.227891 -0.39897 \n-10.6588 65.2268 -8.7494 0.287759 0.957331 0.0266889 \n-19.8872 57.1214 -15.803 0.691399 0.685129 0.229271 \n42.7029 -44.1465 -6.78017 -0.975327 -0.158659 0.153506 \n-14.1827 -2.33315 -25.1101 0.338716 0.255095 0.905648 \n-32.3355 -41.0071 -6.53793 0.976112 -0.16853 -0.137125 \n-32.9911 -42.4384 -6.91078 0.886238 0.0128131 -0.463053 \n-8.89615 66.1891 -9.522 0.810548 0.569888 -0.135054 \n-16.992 -41.6325 -7.8905 -0.7665 0.322931 -0.555152 \n22.4988 -41.1847 -6.12966 0.805581 0.462326 -0.370532 \n-17.4177 -40.5777 -7.95191 -0.826239 0.229878 -0.514281 \n42.7168 -39.6554 -6.37339 -0.990301 0.0156712 -0.138048 \n20.2623 57.885 -16.1441 -0.755774 0.654154 0.0298003 \n23.9583 -38.4805 -6.52023 0.728791 0.60045 -0.329125 \n24.7104 -37.9364 -6.94971 0.730769 0.630807 -0.260884 \n18.8752 -0.853851 -24.6001 -0.702324 0.0650956 0.708875 \n-12.9644 -1.50025 -24.8506 0.371277 0.230236 0.899524 \n-17.3281 -36.3997 -6.65325 -0.804051 -0.325739 -0.497389 \n41.8231 -34.8218 -7.05975 -0.981714 0.187198 0.0345524 \n-16.4773 -35.8123 -7.89841 -0.906475 -0.291079 -0.305901 \n-16.0881 -33.2596 -6.28731 -0.824746 -0.361792 -0.434628 \n41.6907 -33.6355 -7.43406 -0.971722 0.109421 0.209246 \n23.8867 -32.9613 -7.02662 0.813609 -0.484184 -0.32188 \n-6.87286 67.4633 -10.5886 0.340745 0.939064 0.0452861 \n-14.6618 -31.454 -7.69503 -0.856164 -0.391139 -0.33763 \n-33.7083 -30.9819 -6.96637 0.879673 -0.47113 0.0648994 \n21.9429 -30.2561 -6.18099 0.692508 -0.614463 -0.377978 \n17.5454 60.9688 -17.8923 -0.496193 0.866066 0.0610125 \n24.1685 53.3202 -17.6589 -0.769506 0.554619 0.316638 \n-4.32665 -9.96035 -27.5681 0.717977 -0.177595 0.673029 \n40.8733 -25.1159 -6.71465 -0.999693 -0.0225019 -0.0103423 \n-34.7396 -25.9228 -6.79099 0.998107 -0.0159851 -0.0593856 \n-25.1699 -42.0917 -25.242 0.0492517 0.50591 0.861179 \n15.7358 62.7586 -17.2392 -0.730437 0.557555 0.394454 \n-10.4283 -24.2543 -8.19597 -0.813104 -0.497644 -0.302015 \n-3.56582 -11.767 -28.6418 0.905196 0.0235076 0.424343 \n-34.998 -22.3669 -6.11513 0.94848 0.267476 -0.169831 \n1.84536 -29.0167 -53.0059 0.569059 -0.664129 -0.484876 \n16.2858 62.5605 -16.2464 -0.819839 0.568381 0.0693342 \n-34.5224 -21.4632 -6.5353 0.941349 0.28465 -0.181208 \n-12.4999 63.1735 -17.0899 0.493605 0.845403 -0.204078 \n11.7164 -18.7572 -7.32761 0.745274 -0.49394 -0.447872 \n39.7881 -18.0709 -7.36198 -0.985149 0.147866 0.0872784 \n-5.87681 -17.4869 -5.74566 -0.1907 -0.865298 -0.463566 \n-16.5561 -32.7895 -16.6542 -0.652561 -0.533926 0.537668 \n9.59361 -16.8825 -7.25796 0.393852 -0.77056 -0.501116 \n39.3769 -16.7892 -7.26278 -0.86175 0.50198 0.0735074 \n-14.8525 5.26435 -25.895 0.861116 0.00299772 0.508399 \n-15.811 -61.4063 -26.9127 -0.787249 -0.19616 0.584602 \n-11.383 63.392 -16.0248 0.42536 0.904959 -0.0108875 \n0.130424 -15.4519 -35.3416 0.289256 0.691762 0.661662 \n13.2427 64.7493 -16.7663 -0.509835 0.836162 0.202242 \n-28.7011 -33.0229 -16.7965 0.739357 0.175553 0.650025 \n38.3638 -15.5767 -7.4494 -0.878506 0.477303 -0.0202235 \n5.77375 -15.3185 -7.14429 0.129072 -0.954362 -0.269323 \n-10.5182 64.5061 -16.8779 0.509978 0.841541 -0.178132 \n-31.3423 -12.2621 -7.41972 0.777649 0.553753 -0.297691 \n8.22585 20.8128 -35.3011 -0.0304702 -0.581966 0.812642 \n-18.8791 -55.3345 -28.9166 -0.359016 0.239694 0.902028 \n34.9276 -10.931 -6.31973 -0.685083 0.652181 -0.324531 \n33.7058 -9.97195 -5.31127 -0.583099 0.648141 -0.489806 \n-8.44972 65.362 -16.3916 0.345615 0.920462 -0.182483 \n33.9268 -9.00725 -7.65992 -0.62542 0.720439 -0.299697 \n32.4081 -8.11885 -7.01599 -0.492233 0.806431 -0.327683 \n-3.31712 68.4607 -9.30703 0.202498 0.978561 0.0375953 \n-27.3293 -8.06655 -6.44607 0.606016 0.676816 -0.417928 \n-15.0655 7.15905 -24.7461 0.899005 0.145745 0.412976 \n-25.7782 -7.19325 -6.12021 0.620336 0.663183 -0.418774 \n-4.8012 66.2166 -17.1777 0.318601 0.947203 -0.0360446 \n26.5331 -5.51525 -6.14133 -0.470227 0.810506 -0.349236 \n-22.7621 -4.66445 -6.95683 0.630946 0.721299 -0.285718 \n-23.7101 -4.88345 -6.50784 0.390328 0.852977 -0.346518 \n24.2731 -58.9599 -10.4982 0.717046 -0.387667 -0.579275 \n-21.3671 -3.26805 -6.53047 0.735239 0.453234 -0.503987 \n10.2636 22.6807 -35.9636 -0.301601 -0.263889 0.916187 \n-20.4969 -1.75415 -6.43324 0.730659 0.497769 -0.467294 \n22.8377 -0.596352 -6.5099 -0.708293 0.452903 -0.541479 \n21.0931 0.473249 -5.35524 -0.506488 0.627128 -0.59176 \n7.60936 20.3559 -34.7544 0.45024 -0.6601 0.601292 \n1.1974 69.0313 -9.53356 0.393681 0.919243 0.00272726 \n17.84 11.9383 -25.4538 -0.875724 -0.0354606 0.481508 \n-0.862072 67.3615 -16.0795 0.0746766 0.985495 0.152389 \n-1.47051 67.7323 -17.3844 0.182021 0.983166 -0.0158814 \n18.4222 6.45575 -7.30336 -0.462588 -0.00475254 -0.886561 \n-6.77516 21.5399 -35.2335 0.0805907 -0.602339 0.794161 \n18.8463 12.1621 -23.2363 -0.847821 0.40361 0.343946 \n18.2017 8.67595 -6.78309 -0.480914 -0.374548 -0.792739 \n9.8254 21.1501 -35.246 -0.227473 -0.513734 0.827245 \n18.6793 9.63325 -6.25694 -0.682155 -0.622131 -0.384211 \n-16.5767 10.2372 -7.90148 0.962451 -0.183995 -0.199587 \n-18.4843 12.7654 -6.70323 0.97261 0.0533984 0.226225 \n19.8846 12.7812 -6.73744 -0.935256 -0.319669 -0.152014 \n-26.4358 -61.4842 -26.7903 0.53781 -0.642687 0.545632 \n-20.3965 16.5627 -8.12055 0.877502 -0.479207 -0.0187098 \n9.00378 29.309 -37.6672 -0.189557 -0.147935 0.970661 \n-0.646273 -26.1363 -43.7696 0.621528 -0.748421 0.231448 \n22.7865 55.6265 -17.1706 -0.749169 0.624901 0.219644 \n41.558 -70.2532 -16.8943 -0.606535 0.0605892 0.792744 \n26.4312 21.2909 -7.66389 -0.689238 -0.708492 -0.151626 \n-22.4793 28.9522 -25.1768 0.922386 -0.158476 0.352264 \n26.927 22.5508 -6.91136 -0.866675 -0.469633 -0.168282 \n25.9344 -75.0855 -16.7525 0.369593 -0.909896 -0.18839 \n-32.1176 23.0993 -5.62073 0.2327 -0.966408 0.109118 \n-34.0187 24.5037 -7.48688 0.345794 -0.836556 0.42497 \n29.3123 24.8822 -6.36075 -0.552667 -0.831489 0.0564457 \n-35.1101 24.3629 -6.86138 0.268345 -0.879531 0.392957 \n-32.1922 -75.2233 -17.5139 -0.0972389 -0.994233 -0.0452261 \n-35.9128 24.3614 -5.89346 0.54229 -0.816774 0.196982 \n-14.9705 16.3006 -25.1355 0.619933 -0.256827 0.741433 \n30.7318 25.839 -7.09015 -0.429437 -0.865554 0.257683 \n48.5523 -75.1414 -10.4439 -0.00408287 -0.998178 -0.0601963 \n34.7234 -9.07335 -9.68841 -0.708179 0.69611 -0.117956 \n47.2362 -74.8903 -10.5781 0.222574 -0.968542 -0.111303 \n38.3643 27.9937 -6.63527 -0.564856 -0.522141 0.638989 \n-40.7639 30.2759 -6.46452 0.73637 -0.238749 0.633055 \n31.2846 -75.0282 -10.5852 -0.0918472 -0.994673 0.0467901 \n-17.0056 17.3262 -25.3461 0.286883 -0.95707 0.0414163 \n-42.4432 31.7466 -6.41418 0.431754 -0.112956 0.894891 \n-41.3376 32.0856 -6.67181 0.504442 -0.152192 0.849927 \n42.1973 -71.579 -0.535765 -0.0960733 0.622799 -0.776461 \n50.4402 -71.9162 -3.72722 0.38844 0.114349 -0.914351 \n47.6007 -70.5138 -4.41522 -0.498473 0.692081 -0.522062 \n48.9734 -73.5451 -3.10818 -0.909019 -0.213724 0.35778 \n48.6129 -72.3429 -2.67569 -0.888729 0.310254 0.337495 \n-51.4606 63.3182 31.6224 -0.930937 0.286065 0.226988 \n-50.4578 65.9816 32.2229 0.133758 -0.566304 -0.81327 \n-51.126 64.7665 33.8461 -0.938564 0.014049 0.344819 \n3 7 0 1 \n3 38 20 31 \n3 0 5 1 \n3 10 1 2 \n3 11343 5883 12310 \n3 6 0 7 \n3 11937 9876 11000 \n3 5 2 1 \n3 0 3 5 \n3 12435 1302 2332 \n3 7885 3409 1029 \n3 11217 6876 6637 \n3 0 6 12 \n3 1 10 7 \n3 4772 10542 12570 \n3 1828 1823 1684 \n3 10 2 15 \n3 13 2 5 \n3 6 7 24 \n3 24 7 10 \n3 18 6 24 \n3 8 14 11 \n3 4762 2654 2758 \n3 5 3 11 \n3 10235 5578 7496 \n3 8022 8915 3080 \n3 11927 13262 11212 \n3 20 15 2 \n3 3 8 11 \n3 33 56 32 \n3 4518 857 811 \n3 11 14 73 \n3 20 2 31 \n3 2 13 31 \n3 14 8 12 \n3 61 40 76 \n3 66 80 33 \n3 33 22 56 \n3 8 3 0 \n3 46 12 18 \n3 8174 7845 662 \n3 1493 1312 1424 \n3 4287 13266 3041 \n3 73 28 11 \n3 8704 9139 8293 \n3 9558 7383 5549 \n3 16 11 29 \n3 4518 14204 857 \n3 30 13 16 \n3 30 31 13 \n3 6637 6876 9558 \n3 14903 14971 14864 \n3 7222 13724 1578 \n3 2790 13724 7222 \n3 3736 7946 14506 \n3 12 46 14 \n3 19 35 24 \n3 719 822 608 \n3 8849 8844 657 \n3 52 76 40 \n3 651 7482 8844 \n3 38 35 19 \n3 14 37 73 \n3 52 40 41 \n3 801 759 760 \n3 18 24 59 \n3 2258 2355 2169 \n3 8150 12299 10328 \n3 37 14 46 \n3 2511 659 7428 \n3 1513 1328 1386 \n3 48 28 73 \n3 9921 1511 14198 \n3 4008 6647 14693 \n3 30 74 31 \n3 5163 5360 5356 \n3 14548 2914 4048 \n3 3744 14876 4763 \n3 40 42 41 \n3 80 94 43 \n3 43 45 22 \n3 643 778 676 \n3 22 44 56 \n3 2248 10828 3375 \n3 56 44 70 \n3 2004 2086 2257 \n3 12009 12221 10996 \n3 35 72 59 \n3 9558 5549 6637 \n3 38 31 102 \n3 30 16 29 \n3 75 30 29 \n3 11103 12692 12258 \n3 61 42 40 \n3 9362 10269 13805 \n3 42 89 55 \n3 3023 7204 2311 \n3 1218 11547 7258 \n3 42 55 65 \n3 66 32 79 \n3 94 69 43 \n3 76 160 87 \n3 68 32 56 \n3 9204 8246 11071 \n3 33 80 43 \n3 28 48 29 \n3 3141 742 13774 \n3 7291 13744 9356 \n3 7824 8777 8834 \n3 114 85 46 \n3 731 729 7434 \n3 18 114 46 \n3 44 45 84 \n3 84 70 44 \n3 5549 4008 6637 \n3 889 737 637 \n3 6637 10955 11217 \n3 38 72 35 \n3 38 102 72 \n3 9037 8233 5702 \n3 8579 6459 3010 \n3 104 52 41 \n3 4008 10955 6637 \n3 8713 13896 3102 \n3 64 62 65 \n3 7920 8987 11122 \n3 62 64 91 \n3 114 100 128 \n3 148 94 80 \n3 2722 2618 2322 \n3 68 81 32 \n3 147 81 68 \n3 599 6459 8565 \n3 5626 7383 9558 \n3 100 114 18 \n3 66 33 32 \n3 6591 1834 8542 \n3 14926 8581 3023 \n3 59 72 100 \n3 11924 6876 11217 \n3 8427 6393 1807 \n3 73 103 48 \n3 102 31 74 \n3 48 75 29 \n3 75 74 30 \n3 8233 8372 9422 \n3 126 69 125 \n3 2788 7251 13725 \n3 19 15 20 \n3 8353 8409 7400 \n3 91 104 62 \n3 8255 12636 728 \n3 103 171 75 \n3 174 200 158 \n3 9422 8372 14376 \n3 78 65 55 \n3 78 64 65 \n3 1571 8233 9422 \n3 8855 5991 5994 \n3 12557 10457 12572 \n3 129 153 128 \n3 55 89 122 \n3 579 8470 6040 \n3 128 100 129 \n3 32 81 79 \n3 4771 6038 6051 \n3 20 38 19 \n3 1834 6197 8542 \n3 12329 6876 11924 \n3 7299 4008 5549 \n3 12 8 0 \n3 120 104 91 \n3 597 8427 1807 \n3 75 48 103 \n3 76 87 61 \n3 76 52 134 \n3 849 969 774 \n3 2542 1511 9938 \n3 134 52 104 \n3 10269 9362 3622 \n3 9837 12888 8774 \n3 9680 10269 2379 \n3 2783 8255 728 \n3 103 73 116 \n3 162 178 237 \n3 2004 2257 2088 \n3 99 84 45 \n3 2770 14779 10482 \n3 126 45 69 \n3 4651 904 3893 \n3 5179 6249 11204 \n3 101 72 102 \n3 140 102 117 \n3 102 140 101 \n3 102 74 117 \n3 125 69 94 \n3 74 118 117 \n3 3204 1294 8077 \n3 104 105 134 \n3 14971 14903 2973 \n3 12297 11855 12717 \n3 6312 9071 11283 \n3 120 105 104 \n3 1949 8510 1951 \n3 4008 4153 10955 \n3 2640 2850 2747 \n3 81 147 79 \n3 113 84 99 \n3 192 94 148 \n3 109 64 78 \n3 192 125 94 \n3 122 107 163 \n3 166 113 99 \n3 7299 5549 7383 \n3 3701 14719 14738 \n3 72 129 100 \n3 148 124 182 \n3 101 129 72 \n3 103 116 189 \n3 171 118 75 \n3 10269 8372 2347 \n3 74 75 118 \n3 61 89 42 \n3 10516 10515 10295 \n3 14379 4760 14374 \n3 13805 10269 9680 \n3 126 99 45 \n3 14704 8167 1632 \n3 14704 1632 14661 \n3 13772 897 8235 \n3 84 111 70 \n3 111 84 113 \n3 85 114 152 \n3 14847 11709 11713 \n3 10247 11308 7239 \n3 66 124 80 \n3 73 130 116 \n3 2247 8083 868 \n3 7383 5626 13920 \n3 1743 4108 2926 \n3 101 140 129 \n3 2672 310 3116 \n3 233 171 103 \n3 321 377 404 \n3 143 76 134 \n3 174 87 160 \n3 144 119 133 \n3 176 144 161 \n3 5643 2248 2256 \n3 264 235 286 \n3 7405 1962 9292 \n3 14903 2964 2973 \n3 12329 5525 13479 \n3 12518 8135 6094 \n3 1694 13156 14756 \n3 166 99 126 \n3 14693 4153 4008 \n3 4323 4405 2936 \n3 85 152 151 \n3 125 166 126 \n3 7336 14380 3204 \n3 107 180 163 \n3 4078 2978 2973 \n3 2163 8083 2247 \n3 190 118 171 \n3 12972 2758 13032 \n3 7943 7905 3672 \n3 134 105 162 \n3 9781 9784 8552 \n3 4653 4327 4450 \n3 13914 12860 707 \n3 423 357 2739 \n3 78 179 109 \n3 357 423 6855 \n3 122 216 78 \n3 3706 6004 2670 \n3 1228 1341 1345 \n3 2349 2441 2644 \n3 186 149 113 \n3 14557 12810 3465 \n3 2758 2654 13296 \n3 13396 14668 3109 \n3 13267 868 8083 \n3 156 129 140 \n3 125 185 166 \n3 180 216 163 \n3 4429 5689 5684 \n3 13479 9558 6876 \n3 13514 13099 3893 \n3 12693 1468 1452 \n3 10955 12275 6632 \n3 143 134 162 \n3 12774 12836 776 \n3 125 192 185 \n3 12984 945 8703 \n3 178 162 120 \n3 178 109 179 \n3 151 139 85 \n3 182 124 181 \n3 124 123 181 \n3 123 217 181 \n3 78 216 179 \n3 251 245 165 \n3 5842 14687 5814 \n3 218 192 148 \n3 400 4425 3649 \n3 193 149 186 \n3 185 167 166 \n3 5492 5502 4380 \n3 166 167 186 \n3 1345 1172 1228 \n3 170 130 139 \n3 188 116 130 \n3 188 130 170 \n3 190 232 117 \n3 153 129 195 \n3 7690 1139 1673 \n3 168 152 153 \n3 3960 451 7690 \n3 11924 11217 6632 \n3 3465 815 14557 \n3 174 160 198 \n3 161 201 176 \n3 14376 8372 3622 \n3 160 143 191 \n3 200 264 288 \n3 12774 767 2145 \n3 160 76 143 \n3 87 174 158 \n3 8174 2040 8344 \n3 158 133 87 \n3 120 162 105 \n3 144 177 107 \n3 1163 8658 1180 \n3 11169 7961 7987 \n3 214 162 237 \n3 217 137 241 \n3 217 123 137 \n3 2753 1018 451 \n3 197 117 232 \n3 12673 12535 2124 \n3 7299 6647 4008 \n3 14701 7593 2750 \n3 111 149 165 \n3 8634 7299 7383 \n3 392 5424 4414 \n3 12630 3157 3303 \n3 168 153 195 \n3 976 979 977 \n3 13893 1757 6397 \n3 2229 2603 2136 \n3 195 231 168 \n3 14548 3672 2914 \n3 7559 14135 2841 \n3 129 156 196 \n3 4807 5750 172 \n3 196 156 197 \n3 197 140 117 \n3 234 171 233 \n3 234 190 171 \n3 14375 7874 465 \n3 191 198 160 \n3 196 195 129 \n3 61 119 89 \n3 198 191 265 \n3 66 123 124 \n3 13138 1453 1469 \n3 176 215 177 \n3 14104 1641 7638 \n3 165 149 208 \n3 215 180 177 \n3 208 149 193 \n3 177 180 107 \n3 12310 5408 6407 \n3 7593 442 2750 \n3 7520 13016 13025 \n3 185 276 167 \n3 2096 9303 12585 \n3 1604 1478 1683 \n3 188 189 116 \n3 14691 7532 3908 \n3 188 260 189 \n3 170 139 211 \n3 5581 14620 5547 \n3 156 140 197 \n3 4848 3521 2344 \n3 200 201 161 \n3 144 133 161 \n3 206 9919 11587 \n3 13788 383 6218 \n3 2093 2174 2007 \n3 304 346 305 \n3 224 207 204 \n3 297 182 295 \n3 299 253 224 \n3 249 192 218 \n3 9403 12535 7615 \n3 251 165 208 \n3 276 185 209 \n3 2811 2804 3039 \n3 167 254 186 \n3 186 210 193 \n3 192 209 185 \n3 229 211 151 \n3 168 229 151 \n3 10955 1543 12275 \n3 434 7638 14697 \n3 211 230 170 \n3 229 168 226 \n3 260 188 170 \n3 196 197 259 \n3 13466 423 2745 \n3 232 190 213 \n3 1662 1447 1513 \n3 1479 1482 1612 \n3 4502 4602 4382 \n3 262 233 157 \n3 214 236 191 \n3 237 289 214 \n3 13143 5626 5525 \n3 979 940 978 \n3 1337 440 13893 \n3 165 245 147 \n3 215 239 180 \n3 7256 7425 1598 \n3 203 179 335 \n3 313 216 180 \n3 216 335 179 \n3 181 217 293 \n3 1608 2819 732 \n3 293 295 181 \n3 357 275 2731 \n3 356 341 359 \n3 246 220 269 \n3 1437 14051 7573 \n3 182 297 218 \n3 4215 11741 724 \n3 147 245 241 \n3 246 252 220 \n3 2848 2537 2533 \n3 247 225 222 \n3 6215 2510 4949 \n3 278 277 279 \n3 249 218 297 \n3 981 908 942 \n3 224 204 220 \n3 8133 8129 7988 \n3 55 122 78 \n3 12492 8085 5581 \n3 330 1339 12760 \n3 3119 2884 3120 \n3 253 225 207 \n3 196 231 195 \n3 209 192 249 \n3 247 207 225 \n3 3436 3435 3214 \n3 208 193 210 \n3 319 225 253 \n3 2040 9649 8344 \n3 4826 14571 10293 \n3 440 3084 1757 \n3 844 886 924 \n3 254 167 277 \n3 167 276 277 \n3 227 254 226 \n3 255 210 227 \n3 12318 8344 9649 \n3 229 278 230 \n3 224 220 252 \n3 229 230 211 \n3 170 304 260 \n3 7064 5985 4829 \n3 12863 14976 11862 \n3 792 913 723 \n3 213 234 233 \n3 263 213 233 \n3 236 265 191 \n3 4834 5750 4807 \n3 12185 12176 2520 \n3 14032 805 3367 \n3 333 176 201 \n3 12977 2163 12972 \n3 933 852 896 \n3 238 215 176 \n3 268 242 243 \n3 239 313 180 \n3 335 216 313 \n3 269 220 242 \n3 1614 389 385 \n3 271 246 269 \n3 13920 5626 13143 \n3 12332 9303 2096 \n3 8372 10269 3622 \n3 12458 12012 12011 \n3 244 247 242 \n3 247 294 243 \n3 2612 1251 2631 \n3 5866 904 4651 \n3 280 6685 1470 \n3 7845 8174 8344 \n3 204 247 244 \n3 14770 4687 4579 \n3 243 242 247 \n3 9111 13367 4885 \n3 5175 14858 14831 \n3 7257 2285 7271 \n3 5337 2067 14693 \n3 6995 5944 6379 \n3 255 272 210 \n3 222 319 248 \n3 278 226 254 \n3 277 278 254 \n3 14253 1025 12360 \n3 2943 4687 14859 \n3 924 842 844 \n3 231 255 227 \n3 279 257 278 \n3 12429 14522 12417 \n3 304 170 257 \n3 301 325 272 \n3 196 259 231 \n3 245 251 341 \n3 303 301 255 \n3 282 259 197 \n3 14650 11535 9282 \n3 262 263 233 \n3 260 305 262 \n3 6750 6731 8723 \n3 7491 12318 9649 \n3 4315 4307 4182 \n3 641 523 552 \n3 9755 3367 805 \n3 288 201 200 \n3 2658 4207 14469 \n3 333 238 176 \n3 237 203 334 \n3 1963 7332 13788 \n3 14582 3609 2437 \n3 4207 617 4643 \n3 336 688 13466 \n3 293 217 315 \n3 12693 6631 280 \n3 268 292 242 \n3 242 292 269 \n3 245 315 241 \n3 4036 3081 1012 \n3 315 217 241 \n3 14546 3092 440 \n3 321 224 252 \n3 299 224 321 \n3 14850 14526 4410 \n3 253 207 224 \n3 334 203 335 \n3 2745 6123 13466 \n3 273 274 209 \n3 272 255 301 \n3 6258 12160 10984 \n3 276 274 277 \n3 282 281 259 \n3 248 294 222 \n3 1559 1490 1633 \n3 6083 6081 5827 \n3 2682 10293 4643 \n3 9356 13744 5079 \n3 597 1807 7435 \n3 3816 12849 1575 \n3 7806 7555 7019 \n3 304 305 260 \n3 232 213 285 \n3 265 235 174 \n3 232 285 282 \n3 1980 11569 9903 \n3 3174 7597 6545 \n3 14415 7946 480 \n3 265 287 235 \n3 13347 11658 2731 \n3 236 287 265 \n3 214 289 236 \n3 157 233 103 \n3 287 308 285 \n3 13210 13864 12460 \n3 8059 6632 14600 \n3 289 237 334 \n3 14546 440 1337 \n3 967 781 901 \n3 292 351 269 \n3 351 399 430 \n3 271 269 351 \n3 315 245 316 \n3 13460 3800 3739 \n3 13637 358 3836 \n3 294 247 222 \n3 320 300 249 \n3 11693 10858 6779 \n3 251 208 272 \n3 343 273 300 \n3 6655 1469 6222 \n3 3154 2603 2822 \n3 208 210 272 \n3 278 229 226 \n3 209 274 276 \n3 100 18 59 \n3 11362 469 7282 \n3 408 346 326 \n3 304 257 279 \n3 279 326 304 \n3 281 303 255 \n3 6708 13241 11658 \n3 285 281 282 \n3 2743 1588 14372 \n3 1810 2034 1449 \n3 263 262 328 \n3 263 286 213 \n3 308 415 384 \n3 287 285 235 \n3 1819 2044 1821 \n3 400 14016 4425 \n3 308 287 312 \n3 6340 3086 1331 \n3 332 201 288 \n3 311 286 263 \n3 2624 5613 4589 \n3 8554 8421 8005 \n3 311 264 286 \n3 387 313 371 \n3 1470 1468 280 \n3 37 85 130 \n3 268 314 292 \n3 293 315 374 \n3 337 295 293 \n3 351 292 314 \n3 1625 10220 3755 \n3 338 398 294 \n3 351 317 271 \n3 12337 10220 1625 \n3 322 319 253 \n3 14693 6647 14014 \n3 1522 9738 9285 \n3 271 377 252 \n3 272 360 341 \n3 5890 5898 1438 \n3 3848 358 13637 \n3 272 325 360 \n3 340 249 297 \n3 297 352 340 \n3 273 343 274 \n3 14770 4579 4405 \n3 8315 3548 7905 \n3 343 300 407 \n3 14456 14469 10260 \n3 6222 1469 13241 \n3 342 407 300 \n3 274 279 277 \n3 307 347 328 \n3 285 308 384 \n3 262 305 328 \n3 11385 11159 10476 \n3 348 332 311 \n3 200 174 235 \n3 348 311 263 \n3 344 303 382 \n3 333 201 332 \n3 368 289 334 \n3 7392 8168 7755 \n3 5202 5490 5593 \n3 421 388 238 \n3 335 387 349 \n3 335 349 334 \n3 14594 1707 5547 \n3 371 239 388 \n3 387 335 313 \n3 388 215 238 \n3 293 374 337 \n3 6072 3729 1468 \n3 2714 14596 8072 \n3 2584 11511 3128 \n3 5669 7836 1903 \n3 215 388 239 \n3 272 341 251 \n3 341 356 316 \n3 377 271 317 \n3 318 248 378 \n3 4464 9307 568 \n3 319 378 248 \n3 319 438 378 \n3 321 252 377 \n3 352 437 340 \n3 406 438 322 \n3 438 319 322 \n3 299 322 253 \n3 342 300 320 \n3 4443 2157 2168 \n3 408 326 343 \n3 301 303 344 \n3 9307 12587 2206 \n3 346 307 305 \n3 345 409 303 \n3 303 281 345 \n3 285 345 281 \n3 345 285 384 \n3 11091 13266 11134 \n3 347 263 328 \n3 598 5650 590 \n3 364 415 308 \n3 6647 2621 14014 \n3 312 364 308 \n3 3645 2483 2679 \n3 11924 6632 8059 \n3 348 263 347 \n3 367 364 312 \n3 7299 2621 6647 \n3 8743 150 155 \n3 281 255 231 \n3 333 366 369 \n3 8634 2621 7299 \n3 1393 13893 6397 \n3 213 235 285 \n3 2679 2483 1704 \n3 372 268 398 \n3 374 316 376 \n3 314 268 372 \n3 287 236 312 \n3 238 333 369 \n3 11165 11373 1009 \n3 14080 4314 11324 \n3 398 268 294 \n3 4087 8437 12714 \n3 295 337 352 \n3 318 378 355 \n3 376 316 356 \n3 320 340 437 \n3 282 197 232 \n3 10432 12275 1543 \n3 299 497 464 \n3 403 377 463 \n3 8304 2395 7103 \n3 4761 4865 4972 \n3 469 1912 5596 \n3 325 381 360 \n3 361 408 343 \n3 1714 6318 12483 \n3 409 345 466 \n3 414 345 384 \n3 2889 6313 3988 \n3 307 413 347 \n3 4287 3074 11178 \n3 303 409 382 \n3 172 5750 5408 \n3 332 363 366 \n3 289 367 312 \n3 367 289 368 \n3 8254 10509 3722 \n3 372 397 399 \n3 2172 3838 14521 \n3 7920 5459 5426 \n3 314 372 399 \n3 2027 1890 2029 \n3 337 433 436 \n3 433 374 376 \n3 12687 10414 12606 \n3 294 318 338 \n3 399 351 314 \n3 556 359 559 \n3 9778 5250 12033 \n3 317 463 377 \n3 430 317 351 \n3 342 320 437 \n3 360 559 359 \n3 12342 8634 13920 \n3 6072 1468 1470 \n3 437 439 342 \n3 10058 9766 5965 \n3 238 369 421 \n3 10832 991 7955 \n3 14014 5337 14693 \n3 1912 469 11362 \n3 344 381 325 \n3 359 341 360 \n3 325 301 344 \n3 991 1031 7955 \n3 559 360 381 \n3 376 356 456 \n3 10858 12329 6779 \n3 4865 4761 4642 \n3 337 374 433 \n3 443 347 413 \n3 1138 1186 1189 \n3 624 586 700 \n3 347 363 348 \n3 6014 1423 10061 \n3 363 332 348 \n3 1587 10094 12268 \n3 2743 2574 1588 \n3 363 443 503 \n3 349 470 386 \n3 1112 816 786 \n3 422 349 387 \n3 470 536 386 \n3 508 536 470 \n3 422 387 371 \n3 6604 7696 7661 \n3 204 244 220 \n3 12317 12374 110 \n3 391 393 448 \n3 425 393 391 \n3 5603 5609 5925 \n3 628 627 670 \n3 426 425 514 \n3 393 396 394 \n3 396 477 394 \n3 427 396 393 \n3 460 453 489 \n3 2067 10432 1543 \n3 393 425 427 \n3 1543 4153 2067 \n3 8956 10230 10212 \n3 485 430 482 \n3 338 452 398 \n3 2874 9766 2911 \n3 430 453 317 \n3 4082 10397 10675 \n3 458 338 355 \n3 1752 1750 1583 \n3 12342 2621 8634 \n3 317 453 460 \n3 317 460 463 \n3 1659 1615 5471 \n3 2562 5596 4519 \n3 47 11951 11776 \n3 343 326 279 \n3 378 438 461 \n3 14827 108 14419 \n3 1761 1347 1404 \n3 10834 11797 1622 \n3 406 603 438 \n3 3794 9726 3552 \n3 404 299 321 \n3 407 342 439 \n3 439 361 407 \n3 5960 9007 1052 \n3 1050 1150 1247 \n3 13168 9082 11204 \n3 532 411 408 \n3 413 411 468 \n3 12329 4128 6779 \n3 414 384 415 \n3 411 413 346 \n3 361 498 441 \n3 441 408 361 \n3 417 501 415 \n3 1312 1248 1371 \n3 347 443 363 \n3 307 346 413 \n3 4135 7942 5420 \n3 503 366 363 \n3 417 364 367 \n3 368 386 367 \n3 2690 10578 5597 \n3 11693 6356 1519 \n3 14867 14614 14865 \n3 5043 3803 4997 \n3 431 397 372 \n3 388 421 471 \n3 471 371 388 \n3 471 422 371 \n3 411 346 408 \n3 2921 10782 6117 \n3 447 391 448 \n3 447 425 391 \n3 447 476 425 \n3 13406 5778 5485 \n3 8408 1518 4535 \n3 1171 1116 1225 \n3 393 394 448 \n3 428 396 427 \n3 14913 9647 12751 \n3 7842 11535 13587 \n3 9491 14871 14877 \n3 9391 2874 1542 \n3 432 431 372 \n3 3835 3833 3952 \n3 399 397 482 \n3 431 483 397 \n3 2474 11951 47 \n3 426 427 425 \n3 1575 10058 3816 \n3 11797 4705 4194 \n3 14678 4804 1071 \n3 6962 14678 1071 \n3 14827 141 1298 \n3 11924 8059 7014 \n3 9988 487 14238 \n3 456 435 376 \n3 12921 9689 8478 \n3 11924 7014 4631 \n3 3284 2734 2723 \n3 458 355 461 \n3 1173 1031 11573 \n3 461 438 558 \n3 556 356 359 \n3 522 10057 2173 \n3 7591 3369 5463 \n3 3339 3526 3432 \n3 561 377 403 \n3 561 404 377 \n3 11602 17 10422 \n3 58 7020 12201 \n3 299 464 406 \n3 82 67 6342 \n3 34 4225 3020 \n3 5525 9558 13479 \n3 7598 6932 7486 \n3 2544 2584 1818 \n3 13196 5558 13188 \n3 7278 7312 13209 \n3 3346 14433 14423 \n3 411 532 467 \n3 467 610 411 \n3 4878 12866 11596 \n3 415 533 414 \n3 8157 8431 8869 \n3 930 12166 9848 \n3 13103 1778 3999 \n3 366 420 369 \n3 501 417 571 \n3 418 367 444 \n3 420 366 503 \n3 444 367 386 \n3 4153 14693 2067 \n3 6564 12693 13025 \n3 5643 6300 4510 \n3 13360 90 14488 \n3 11573 13623 1615 \n3 9214 11447 11455 \n3 6064 11689 12005 \n3 475 447 473 \n3 3683 3785 4144 \n3 445 471 421 \n3 424 513 474 \n3 4860 7438 6112 \n3 4724 12317 12188 \n3 6309 6016 6590 \n3 394 477 424 \n3 478 427 426 \n3 478 428 427 \n3 14927 10906 11541 \n3 1748 1890 1581 \n3 11951 2474 12175 \n3 452 432 398 \n3 433 488 454 \n3 3026 3244 3563 \n3 14958 1373 14711 \n3 376 488 433 \n3 10010 1127 1082 \n3 148 80 124 \n3 3190 3173 12590 \n3 11974 11157 11743 \n3 452 520 432 \n3 9824 3538 12522 \n3 454 436 433 \n3 7708 7979 7985 \n3 556 456 356 \n3 462 437 490 \n3 603 558 438 \n3 9748 9059 9469 \n3 5692 154 1456 \n3 462 439 437 \n3 495 559 381 \n3 18 12 6 \n3 7588 7595 9574 \n3 10597 10374 10373 \n3 11245 14546 1337 \n3 495 381 562 \n3 14861 2629 14612 \n3 1456 127 10392 \n3 562 381 499 \n3 315 316 374 \n3 596 452 458 \n3 435 488 376 \n3 3564 3562 3455 \n3 12513 1691 6339 \n3 499 344 382 \n3 532 441 567 \n3 6632 12275 14600 \n3 3030 3564 3455 \n3 610 534 468 \n3 9766 9391 5965 \n3 10903 12292 12514 \n3 5423 12201 3974 \n3 413 468 443 \n3 501 535 533 \n3 6779 4128 927 \n3 8059 14600 9871 \n3 506 420 503 \n3 471 445 507 \n3 474 513 581 \n3 445 420 506 \n3 3404 2416 14170 \n3 10906 10010 1081 \n3 12637 8156 13652 \n3 13595 7425 13601 \n3 2425 2243 2424 \n3 7505 4221 10786 \n3 12673 7751 2190 \n3 349 422 446 \n3 349 446 470 \n3 549 9576 2976 \n3 1252 1500 1318 \n3 448 474 473 \n3 3255 3918 3920 \n3 2954 14831 14800 \n3 510 422 471 \n3 475 476 447 \n3 2385 1082 1127 \n3 448 394 424 \n3 14610 4108 1743 \n3 6115 2744 5578 \n3 432 520 481 \n3 1725 8081 1735 \n3 960 3491 10990 \n3 514 425 476 \n3 482 397 521 \n3 448 424 474 \n3 483 521 397 \n3 67 5841 6342 \n3 11258 11228 14919 \n3 488 553 454 \n3 3038 2915 2913 \n3 430 485 453 \n3 673 520 594 \n3 6748 5246 5235 \n3 489 453 523 \n3 6146 5989 5867 \n3 436 490 437 \n3 436 437 352 \n3 494 817 527 \n3 14220 14419 108 \n3 1132 949 1186 \n3 9522 10626 11641 \n3 3174 9499 4247 \n3 460 526 494 \n3 3219 3934 11297 \n3 1673 14375 465 \n3 5692 1456 10421 \n3 11031 1176 3510 \n3 453 485 523 \n3 1581 1890 1948 \n3 439 462 530 \n3 527 561 403 \n3 8535 3657 4649 \n3 566 683 681 \n3 529 464 497 \n3 529 528 464 \n3 6397 5821 1393 \n3 439 530 498 \n3 917 1077 948 \n3 466 683 409 \n3 610 467 532 \n3 10772 10766 10534 \n3 1022 14250 11297 \n3 4004 5954 12607 \n3 468 534 502 \n3 5578 2744 92 \n3 5588 12201 5423 \n3 502 503 443 \n3 443 468 502 \n3 570 503 502 \n3 364 417 415 \n3 7700 14204 7713 \n3 503 572 506 \n3 3275 13460 13257 \n3 6984 3021 6748 \n3 444 386 536 \n3 511 473 474 \n3 5602 7563 10392 \n3 5836 5831 1230 \n3 507 445 506 \n3 474 581 580 \n3 11165 1009 11055 \n3 509 471 507 \n3 571 418 444 \n3 9938 1511 9921 \n3 540 475 473 \n3 6962 11499 14678 \n3 1249 4999 1914 \n3 506 572 654 \n3 542 475 622 \n3 540 473 511 \n3 9803 14109 3462 \n3 7319 7860 11238 \n3 1704 4588 1332 \n3 542 514 476 \n3 627 517 426 \n3 336 2760 688 \n3 1727 1432 1643 \n3 446 508 470 \n3 478 479 428 \n3 10632 4915 2410 \n3 431 519 483 \n3 431 547 519 \n3 8579 3010 8581 \n3 1876 5712 14264 \n3 552 485 482 \n3 483 634 521 \n3 2621 13996 14014 \n3 571 417 418 \n3 8300 678 7967 \n3 481 431 432 \n3 489 526 460 \n3 1068 14205 1149 \n3 458 554 596 \n3 2336 1870 2082 \n3 490 455 600 \n3 633 449 9865 \n3 2744 6115 10034 \n3 462 490 600 \n3 1314 1831 5161 \n3 4631 7014 4128 \n3 558 554 461 \n3 2185 1940 2103 \n3 559 495 679 \n3 7026 9307 4464 \n3 12843 3538 9824 \n3 527 463 494 \n3 647 561 817 \n3 1249 3794 3554 \n3 14177 743 659 \n3 10392 10421 1456 \n3 609 499 566 \n3 8965 13775 11417 \n3 3932 7559 2841 \n3 13314 13967 13060 \n3 611 466 533 \n3 6685 6174 14549 \n3 9871 13176 8059 \n3 535 611 533 \n3 3974 12201 7020 \n3 612 570 502 \n3 8653 9763 3899 \n3 14912 2621 12342 \n3 954 1142 1044 \n3 1331 8653 6340 \n3 614 444 536 \n3 570 572 503 \n3 2621 14912 11202 \n3 7582 5950 5872 \n3 14728 13959 14690 \n3 507 615 509 \n3 4753 7847 2783 \n3 8220 8404 8837 \n3 575 446 510 \n3 575 616 446 \n3 3288 10225 4218 \n3 509 577 510 \n3 575 510 577 \n3 757 798 726 \n3 3554 3794 3552 \n3 7458 3077 7485 \n3 619 618 540 \n3 471 509 510 \n3 540 511 619 \n3 540 665 622 \n3 521 671 639 \n3 537 664 578 \n3 542 584 545 \n3 1034 1196 1193 \n3 542 622 584 \n3 14885 14642 14883 \n3 2936 2926 4323 \n3 8817 3250 3236 \n3 541 585 543 \n3 684 752 652 \n3 581 513 625 \n3 475 542 476 \n3 585 591 543 \n3 1672 14703 1704 \n3 514 545 627 \n3 545 514 542 \n3 3215 3570 9493 \n3 478 702 479 \n3 513 424 477 \n3 517 628 478 \n3 426 514 627 \n3 547 635 592 \n3 517 478 426 \n3 672 483 519 \n3 702 516 479 \n3 368 334 349 \n3 625 697 581 \n3 1704 14703 9290 \n3 3522 484 1178 \n3 12342 1519 14912 \n3 547 636 635 \n3 551 547 431 \n3 431 481 551 \n3 521 632 671 \n3 523 485 552 \n3 639 552 482 \n3 520 550 481 \n3 3146 5841 67 \n3 454 553 643 \n3 2643 4915 10632 \n3 488 435 675 \n3 14546 11340 14727 \n3 456 555 779 \n3 5427 12175 83 \n3 14262 14033 1658 \n3 463 527 403 \n3 528 603 406 \n3 12175 12227 83 \n3 556 555 456 \n3 560 558 603 \n3 13233 12770 13697 \n3 3072 2643 10533 \n3 2185 2021 1882 \n3 14167 2524 755 \n3 494 602 817 \n3 494 526 602 \n3 8394 3122 8125 \n3 607 497 561 \n3 11693 6779 6356 \n3 562 499 609 \n3 564 530 606 \n3 461 554 458 \n3 441 498 564 \n3 4999 1249 63 \n3 534 610 720 \n3 14766 10564 10608 \n3 684 534 720 \n3 537 653 573 \n3 4486 2215 2179 \n3 2621 11202 13996 \n3 576 655 658 \n3 3245 3285 4537 \n3 13942 3863 8706 \n3 6822 820 9650 \n3 491 12183 4564 \n3 695 577 509 \n3 618 619 616 \n3 664 537 576 \n3 508 446 616 \n3 509 574 695 \n3 3999 14140 14766 \n3 540 618 665 \n3 2760 7023 688 \n3 618 577 665 \n3 616 575 618 \n3 3570 3554 3552 \n3 619 511 580 \n3 3711 4834 8084 \n3 541 667 583 \n3 624 541 543 \n3 4809 9272 4647 \n3 624 667 541 \n3 543 586 624 \n3 625 513 587 \n3 7221 14567 911 \n3 862 1014 1064 \n3 587 516 702 \n3 3429 14521 3838 \n3 10457 12557 710 \n3 628 517 627 \n3 2000 1873 1722 \n3 14611 14655 9835 \n3 629 672 519 \n3 672 632 634 \n3 637 636 551 \n3 673 550 520 \n3 1019 13263 13264 \n3 675 435 644 \n3 3346 7864 12285 \n3 481 637 551 \n3 435 456 779 \n3 644 435 779 \n3 3343 10608 10653 \n3 717 526 489 \n3 11697 8059 13176 \n3 8799 5282 10138 \n3 8993 6834 7928 \n3 4709 6874 4738 \n3 556 559 715 \n3 1048 8014 7193 \n3 715 559 679 \n3 11812 2656 14933 \n3 9925 2072 14891 \n3 606 462 600 \n3 527 817 561 \n3 11299 8059 11697 \n3 528 608 605 \n3 679 495 562 \n3 529 607 648 \n3 529 608 528 \n3 14422 54 14253 \n3 608 529 719 \n3 805 12371 11139 \n3 564 567 441 \n3 720 532 567 \n3 683 466 749 \n3 610 532 720 \n3 6021 3390 963 \n3 607 561 647 \n3 651 5271 7482 \n3 722 570 612 \n3 789 613 571 \n3 572 570 722 \n3 501 571 569 \n3 571 613 569 \n3 798 653 661 \n3 1340 1170 1279 \n3 655 576 537 \n3 537 661 653 \n3 3759 8308 2810 \n3 14703 14767 11113 \n3 14044 405 14050 \n3 1672 14767 14703 \n3 575 577 618 \n3 9989 3680 14067 \n3 616 536 508 \n3 10500 927 7014 \n3 727 695 574 \n3 11343 1450 13570 \n3 620 687 616 \n3 1704 1332 2679 \n3 668 667 624 \n3 11612 14057 2656 \n3 14488 90 4722 \n3 541 583 585 \n3 591 626 589 \n3 733 591 585 \n3 703 626 591 \n3 11969 14050 405 \n3 2418 4458 1979 \n3 7319 11238 11145 \n3 481 631 637 \n3 668 624 700 \n3 547 551 636 \n3 639 712 741 \n3 594 674 673 \n3 2099 2265 2371 \n3 596 642 594 \n3 642 674 594 \n3 1244 1196 1034 \n3 642 554 677 \n3 676 600 455 \n3 2656 14057 14933 \n3 902 814 600 \n3 676 902 600 \n3 7262 2043 4582 \n3 715 555 556 \n3 677 554 716 \n3 46 85 37 \n3 4417 13445 10717 \n3 4276 2298 13746 \n3 13981 11792 14123 \n3 606 600 814 \n3 3122 8394 1931 \n3 605 560 603 \n3 462 606 530 \n3 717 602 526 \n3 465 480 1688 \n3 13774 13981 14123 \n3 716 554 558 \n3 246 271 252 \n3 6774 6783 2522 \n3 466 611 749 \n3 5680 5191 5298 \n3 1615 1659 11573 \n3 11612 1021 54 \n3 4695 2478 1906 \n3 3190 805 804 \n3 2377 11816 11843 \n3 722 612 652 \n3 789 571 614 \n3 685 614 656 \n3 5627 10432 5109 \n3 805 3190 9755 \n3 723 573 653 \n3 824 656 725 \n3 536 656 614 \n3 200 161 158 \n3 797 658 655 \n3 797 655 756 \n3 654 615 506 \n3 13157 13938 12085 \n3 509 615 574 \n3 9617 9067 9760 \n3 537 573 655 \n3 727 574 691 \n3 623 697 696 \n3 656 616 687 \n3 10154 3680 9989 \n3 550 709 481 \n3 13790 12028 12162 \n3 14355 14117 11612 \n3 7213 3309 4562 \n3 581 623 580 \n3 3299 10967 5337 \n3 802 667 668 \n3 695 666 665 \n3 214 191 162 \n3 668 700 763 \n3 1853 1705 2071 \n3 1408 14015 392 \n3 583 733 585 \n3 587 766 625 \n3 483 672 634 \n3 7363 8327 11479 \n3 9580 3552 9526 \n3 627 545 701 \n3 14773 7632 12103 \n3 702 478 628 \n3 587 702 766 \n3 592 629 519 \n3 883 704 837 \n3 632 706 671 \n3 3725 9362 13805 \n3 11139 12371 9966 \n3 672 708 632 \n3 12460 9811 14690 \n3 14077 10154 3261 \n3 639 711 712 \n3 636 637 737 \n3 704 702 628 \n3 673 713 550 \n3 4682 1190 6844 \n3 1419 11969 401 \n3 7901 14314 3109 \n3 7901 14376 14314 \n3 4888 8151 3723 \n3 3463 3460 3139 \n3 675 643 553 \n3 2626 14612 2629 \n3 2529 2459 14843 \n3 2938 2821 2824 \n3 455 643 676 \n3 43 69 45 \n3 782 555 715 \n3 4545 4638 4413 \n3 68 70 111 \n3 785 817 602 \n3 927 6356 6779 \n3 10069 12732 10185 \n3 3885 4227 4473 \n3 679 562 681 \n3 3496 9929 518 \n3 13942 8706 12360 \n3 605 608 822 \n3 647 817 818 \n3 2992 2567 2662 \n3 8059 11299 7014 \n3 816 679 681 \n3 518 3237 3496 \n3 682 607 647 \n3 529 648 719 \n3 865 564 606 \n3 14528 14657 1028 \n3 567 564 865 \n3 749 611 650 \n3 788 684 720 \n3 9636 14239 14043 \n3 650 535 569 \n3 789 614 685 \n3 754 572 722 \n3 650 611 535 \n3 11912 380 13965 \n3 11919 5337 10967 \n3 7092 13567 13637 \n3 754 654 572 \n3 9966 1209 11139 \n3 14253 54 1025 \n3 981 1400 1020 \n3 12636 8255 6233 \n3 1400 1231 1020 \n3 10457 1774 10482 \n3 1446 1577 1654 \n3 8022 14957 8915 \n3 9849 11846 11622 \n3 1240 1032 1076 \n3 3307 1277 5307 \n3 692 687 620 \n3 14376 3622 14314 \n3 694 726 578 \n3 760 727 758 \n3 401 4439 4427 \n3 839 626 703 \n3 730 578 664 \n3 730 694 578 \n3 1319 1376 1380 \n3 168 151 152 \n3 11783 11548 13774 \n3 927 10500 6246 \n3 6246 10500 12720 \n3 584 701 545 \n3 735 882 700 \n3 1048 14582 2437 \n3 622 764 584 \n3 702 704 766 \n3 589 626 705 \n3 703 591 733 \n3 4139 4040 4261 \n3 12325 12093 12941 \n3 12171 11202 14912 \n3 705 626 839 \n3 706 632 708 \n3 888 708 629 \n3 704 670 837 \n3 8368 14376 7901 \n3 771 706 708 \n3 1571 9625 1795 \n3 481 709 631 \n3 1519 6246 12724 \n3 709 550 713 \n3 3873 3748 3529 \n3 3109 14314 6512 \n3 635 636 737 \n3 639 741 552 \n3 14007 3624 3609 \n3 673 674 772 \n3 675 777 778 \n3 675 644 777 \n3 14123 11792 768 \n3 2971 5962 6895 \n3 781 779 555 \n3 856 642 677 \n3 79 123 66 \n3 11298 11783 9894 \n3 744 716 560 \n3 11299 12797 10500 \n3 717 646 783 \n3 1691 4194 4705 \n3 10479 680 3091 \n3 14683 9682 14473 \n3 605 744 560 \n3 745 606 814 \n3 558 560 716 \n3 14355 11612 54 \n3 9127 8828 9257 \n3 8368 9625 1571 \n3 1571 9422 8368 \n3 11847 14170 14239 \n3 860 744 862 \n3 7037 7328 6699 \n3 650 750 749 \n3 10540 9039 8394 \n3 722 652 752 \n3 2919 2912 4887 \n3 720 567 787 \n3 569 613 650 \n3 816 681 786 \n3 848 10133 13487 \n3 752 754 722 \n3 35 59 24 \n3 656 824 685 \n3 12868 6491 10815 \n3 137 123 79 \n3 707 9039 13914 \n3 9894 9637 13936 \n3 723 653 792 \n3 6678 8664 8665 \n3 687 725 656 \n3 2115 14077 3261 \n3 13487 10133 12880 \n3 612 502 652 \n3 619 620 616 \n3 1961 9576 549 \n3 875 687 692 \n3 6181 4665 2494 \n3 11298 9894 13936 \n3 799 727 691 \n3 11726 11723 12173 \n3 578 726 661 \n3 654 873 828 \n3 615 654 691 \n3 13326 13545 13979 \n3 5337 11919 5979 \n3 5009 2051 3064 \n3 1166 1274 1389 \n3 1408 9728 14015 \n3 583 699 769 \n3 11569 13650 212 \n3 4651 3893 13260 \n3 11697 11609 11299 \n3 475 540 622 \n3 683 786 681 \n3 699 667 802 \n3 766 698 625 \n3 637 631 889 \n3 776 12836 12816 \n3 735 589 705 \n3 701 734 670 \n3 538 8300 7967 \n3 4143 4139 4261 \n3 701 670 627 \n3 738 889 631 \n3 771 708 961 \n3 629 635 888 \n3 709 738 631 \n3 11741 2930 724 \n3 13260 3893 13099 \n3 766 704 883 \n3 9179 2594 1949 \n3 11812 14933 13157 \n3 10224 9993 9834 \n3 712 809 741 \n3 8368 9422 14376 \n3 711 809 712 \n3 774 646 641 \n3 642 856 775 \n3 643 675 778 \n3 2299 5183 11687 \n3 931 808 893 \n3 7458 10347 3077 \n3 4444 4422 2792 \n3 1932 1630 1861 \n3 716 859 856 \n3 605 863 744 \n3 806 847 891 \n3 816 715 679 \n3 9936 9881 5432 \n3 716 744 859 \n3 10479 8991 680 \n3 647 818 682 \n3 9811 9229 9277 \n3 937 648 682 \n3 13514 13267 13099 \n3 12724 6246 12720 \n3 787 567 865 \n3 14565 13099 13267 \n3 555 782 781 \n3 2657 2567 2991 \n3 788 752 684 \n3 5627 13176 9871 \n3 760 880 801 \n3 9290 4588 1704 \n3 1247 1150 1312 \n3 789 685 790 \n3 790 685 824 \n3 3109 6512 13396 \n3 4694 4676 4648 \n3 12993 2163 2834 \n3 756 573 791 \n3 2325 5262 897 \n3 655 573 756 \n3 605 822 819 \n3 793 725 687 \n3 3313 3846 3617 \n3 754 947 872 \n3 754 873 654 \n3 11571 14691 11582 \n3 898 3937 8781 \n3 4235 6397 1757 \n3 799 691 828 \n3 697 698 696 \n3 758 727 799 \n3 826 653 798 \n3 828 691 654 \n3 13930 370 11841 \n3 798 661 726 \n3 692 696 832 \n3 11569 1980 13650 \n3 880 760 758 \n3 876 763 761 \n3 876 834 802 \n3 1525 14799 7974 \n3 11735 11730 13779 \n3 713 772 806 \n3 1612 1482 1616 \n3 5109 5979 12684 \n3 11919 12684 5979 \n3 877 803 802 \n3 759 836 764 \n3 766 696 698 \n3 764 836 701 \n3 882 763 700 \n3 759 764 666 \n3 13627 10091 12015 \n3 11014 9179 1949 \n3 699 803 769 \n3 668 763 876 \n3 211 139 151 \n3 9144 11136 9229 \n3 841 705 839 \n3 11299 11609 12797 \n3 5271 651 7204 \n3 7192 6858 6686 \n3 711 671 771 \n3 839 703 733 \n3 14239 14170 2416 \n3 929 888 635 \n3 6246 6356 927 \n3 6122 3806 8284 \n3 810 806 772 \n3 4437 6877 7026 \n3 957 841 839 \n3 852 642 775 \n3 674 642 852 \n3 14433 14441 14423 \n3 4695 3080 8915 \n3 7469 7468 6885 \n3 641 849 774 \n3 644 779 812 \n3 9063 8510 2594 \n3 682 936 937 \n3 12389 12393 12156 \n3 13772 13525 871 \n3 777 644 853 \n3 864 745 814 \n3 806 892 847 \n3 10155 90 11950 \n3 1641 442 7593 \n3 1360 1628 1708 \n3 817 785 974 \n3 13996 12464 14014 \n3 9039 1931 8394 \n3 715 861 782 \n3 905 822 719 \n3 606 745 865 \n3 821 719 648 \n3 808 850 809 \n3 4743 10596 3865 \n3 7891 773 12810 \n3 821 648 937 \n3 823 683 749 \n3 788 720 787 \n3 752 867 944 \n3 10835 6238 7464 \n3 724 10518 8125 \n3 10757 10765 3812 \n3 8091 13032 2758 \n3 791 573 723 \n3 902 854 971 \n3 5262 8235 897 \n3 824 725 870 \n3 678 5322 7967 \n3 798 1032 826 \n3 797 756 794 \n3 7984 12972 13032 \n3 3077 10347 8022 \n3 2145 7805 12774 \n3 796 687 875 \n3 9245 1961 549 \n3 796 793 687 \n3 776 5987 12774 \n3 832 696 833 \n3 7118 10746 4303 \n3 2841 5070 5066 \n3 876 802 668 \n3 877 802 834 \n3 1339 2377 7314 \n3 8419 9445 1797 \n3 780 14310 5091 \n3 836 734 701 \n3 734 836 881 \n3 837 670 734 \n3 44 22 45 \n3 6591 8542 9801 \n3 599 8565 14902 \n3 840 735 705 \n3 733 769 839 \n3 706 771 671 \n3 889 738 890 \n3 893 711 771 \n3 9553 13834 324 \n3 635 737 929 \n3 890 738 891 \n3 595 6040 9677 \n3 3402 3607 3182 \n3 8344 12261 7845 \n3 12262 12261 8344 \n3 5597 10967 8765 \n3 741 809 849 \n3 852 810 674 \n3 854 676 778 \n3 777 854 778 \n3 12371 12017 1088 \n3 812 779 781 \n3 859 744 860 \n3 1003 850 894 \n3 676 854 902 \n3 812 853 644 \n3 816 861 715 \n3 8201 9041 13750 \n3 1974 10829 2931 \n3 2023 1884 1736 \n3 7788 7660 7923 \n3 87 133 119 \n3 864 865 745 \n3 936 682 818 \n3 821 905 719 \n3 912 754 752 \n3 6723 6134 6887 \n3 5262 2325 14668 \n3 995 758 951 \n3 826 1032 1187 \n3 3334 4562 2008 \n3 6566 6610 6604 \n3 10737 12015 6238 \n3 1915 1918 4015 \n3 2149 3316 4448 \n3 1932 2328 2077 \n3 916 874 873 \n3 874 951 828 \n3 951 799 828 \n3 73 37 130 \n3 831 799 951 \n3 730 830 988 \n3 988 694 730 \n3 758 799 831 \n3 8394 8125 10540 \n3 13893 440 1757 \n3 2803 2826 14874 \n3 1562 1559 1633 \n3 204 207 247 \n3 758 995 880 \n3 766 835 696 \n3 842 884 845 \n3 8326 4337 6255 \n3 5532 5434 5431 \n3 836 759 801 \n3 1760 1528 1282 \n3 1931 1944 3122 \n3 692 832 875 \n3 838 735 840 \n3 835 766 883 \n3 1045 837 734 \n3 769 956 839 \n3 7014 11299 10500 \n3 9677 6197 595 \n3 8200 1852 14859 \n3 8388 12332 2065 \n3 2959 12687 12606 \n3 3007 14194 14190 \n3 14853 14831 14858 \n3 227 168 231 \n3 8388 12304 12332 \n3 583 769 733 \n3 3390 6792 3381 \n3 373 13722 6189 \n3 808 711 893 \n3 892 806 810 \n3 713 891 738 \n3 6197 9677 8542 \n3 10967 3299 12464 \n3 888 961 708 \n3 711 808 809 \n3 12171 14912 12724 \n3 12724 9917 12171 \n3 8606 8907 9325 \n3 14770 8200 4687 \n3 14818 14800 14831 \n3 14548 8006 8465 \n3 8642 8502 8786 \n3 901 781 782 \n3 746 773 7891 \n3 854 777 1008 \n3 812 781 967 \n3 785 783 974 \n3 862 744 863 \n3 7512 12176 12185 \n3 863 819 935 \n3 8186 13176 5627 \n3 11687 11670 2299 \n3 5109 12684 11973 \n3 7772 12119 7464 \n3 2477 4677 2465 \n3 8427 8419 6393 \n3 683 1112 786 \n3 942 787 865 \n3 823 749 866 \n3 942 788 787 \n3 867 788 942 \n3 821 937 940 \n3 867 752 788 \n3 910 613 789 \n3 910 790 869 \n3 4015 9090 1903 \n3 947 754 912 \n3 13722 13724 6189 \n3 756 791 1129 \n3 5397 4121 7928 \n3 1054 925 1205 \n3 1032 757 1076 \n3 9662 9816 9236 \n3 917 793 796 \n3 653 826 792 \n3 14859 1852 5107 \n3 2745 2739 3782 \n3 831 951 758 \n3 12927 11986 12162 \n3 12240 12797 11609 \n3 834 876 952 \n3 919 918 833 \n3 12561 12953 12747 \n3 845 844 842 \n3 2819 7259 1599 \n3 879 763 882 \n3 11544 5181 270 \n3 883 837 1043 \n3 1043 953 883 \n3 838 1046 1041 \n3 907 903 2418 \n3 819 863 605 \n3 839 956 1148 \n3 1148 957 839 \n3 10091 5650 12015 \n3 231 259 281 \n3 14859 4687 8200 \n3 932 1002 892 \n3 884 842 921 \n3 919 833 835 \n3 12240 12720 12797 \n3 842 924 921 \n3 168 227 226 \n3 921 924 922 \n3 2131 2711 2708 \n3 14957 8022 10347 \n3 409 566 382 \n3 886 844 885 \n3 1090 929 889 \n3 849 966 969 \n3 14548 8465 3672 \n3 771 961 893 \n3 11890 12102 13662 \n3 925 885 845 \n3 841 840 705 \n3 1673 1139 7798 \n3 3797 3688 3577 \n3 1000 1001 1091 \n3 892 810 932 \n3 870 725 793 \n3 3672 8465 7943 \n3 1869 11514 1860 \n3 850 808 894 \n3 777 853 1008 \n3 849 809 850 \n3 817 974 1015 \n3 775 856 968 \n3 1008 971 854 \n3 1060 1098 967 \n3 968 856 934 \n3 901 1060 967 \n3 934 856 859 \n3 783 973 974 \n3 2572 2664 2995 \n3 861 816 1112 \n3 6876 12329 13479 \n3 9307 2206 568 \n3 774 783 646 \n3 1015 818 817 \n3 818 1115 936 \n3 866 749 750 \n3 1017 865 864 \n3 819 822 905 \n3 14380 3548 1294 \n3 14375 1297 7874 \n3 2435 5769 3492 \n3 905 940 976 \n3 8743 155 8775 \n3 905 821 940 \n3 1006 933 896 \n3 13436 13405 5669 \n3 867 908 944 \n3 1673 7798 14375 \n3 1784 728 12636 \n3 869 1070 910 \n3 13176 8186 11697 \n3 7425 740 1598 \n3 7527 7473 1608 \n3 983 826 1187 \n3 2496 3569 4694 \n3 4012 6233 14783 \n3 792 826 982 \n3 366 333 332 \n3 794 756 949 \n3 882 1041 879 \n3 13742 11654 13757 \n3 879 994 952 \n3 694 1076 757 \n3 10675 11096 250 \n3 14375 14754 1297 \n3 832 833 918 \n3 11843 11816 14685 \n3 958 1153 925 \n3 2515 11839 9064 \n3 938 978 940 \n3 881 801 954 \n3 2186 3474 8496 \n3 13674 10985 11131 \n3 932 810 852 \n3 10737 6238 10835 \n3 11697 8025 11609 \n3 11202 10066 13996 \n3 13011 10982 7444 \n3 2617 2669 3808 \n3 1041 882 838 \n3 956 769 997 \n3 1735 5686 3662 \n3 953 835 883 \n3 958 845 884 \n3 923 958 884 \n3 885 928 886 \n3 925 928 885 \n3 961 888 1155 \n3 1090 889 1000 \n3 889 890 1000 \n3 890 891 1000 \n3 847 962 1000 \n3 893 999 931 \n3 894 808 931 \n3 5391 2946 5397 \n3 1002 932 1093 \n3 98 4980 5119 \n3 14205 7704 14701 \n3 810 772 674 \n3 14135 1018 2753 \n3 891 847 1000 \n3 1001 962 1002 \n3 10408 6167 6037 \n3 13996 10066 12464 \n3 7845 12119 7772 \n3 2206 1968 1942 \n3 783 969 973 \n3 1162 971 1008 \n3 12724 12720 9161 \n3 861 1104 782 \n3 977 979 1120 \n3 11746 11987 11742 \n3 814 902 864 \n3 902 1011 864 \n3 5398 1914 4999 \n3 1014 862 863 \n3 1062 1017 864 \n3 2757 2167 2545 \n3 7315 6519 7013 \n3 7400 11511 2584 \n3 7473 7527 13603 \n3 937 936 938 \n3 2584 2544 7400 \n3 254 210 186 \n3 8799 14943 7458 \n3 940 979 976 \n3 13469 6855 423 \n3 1067 865 1017 \n3 1047 956 997 \n3 1733 1881 1650 \n3 1067 942 865 \n3 5627 5109 11973 \n3 7502 13608 943 \n3 6236 6258 12960 \n3 976 977 975 \n3 14594 14620 12477 \n3 944 912 752 \n3 723 913 791 \n3 1125 791 1123 \n3 949 756 1129 \n3 946 913 982 \n3 1073 944 1126 \n3 1070 869 948 \n3 1027 1073 1237 \n3 948 870 917 \n3 985 794 949 \n3 1027 947 1073 \n3 1707 14594 14584 \n3 361 343 407 \n3 3174 14773 9499 \n3 950 916 872 \n3 872 916 873 \n3 917 796 1077 \n3 5617 6619 6620 \n3 874 986 951 \n3 1077 796 1033 \n3 906 866 750 \n3 988 1076 694 \n3 761 952 876 \n3 316 245 341 \n3 953 919 835 \n3 329 13890 12550 \n3 13462 12778 13228 \n3 793 917 870 \n3 13573 199 11550 \n3 175 2616 5963 \n3 801 880 954 \n3 14807 14811 14610 \n3 8765 10967 12464 \n3 14423 14441 5833 \n3 921 1152 923 \n3 1173 1659 12160 \n3 1053 886 928 \n3 924 998 922 \n3 147 111 165 \n3 9794 5460 1462 \n3 732 7527 1608 \n3 7293 8358 7281 \n3 14080 11178 3074 \n3 1548 1854 1551 \n3 998 924 1053 \n3 893 961 999 \n3 888 929 1155 \n3 12133 12612 12801 \n3 302 7447 12218 \n3 9919 9832 11587 \n3 849 965 1004 \n3 7026 4464 4437 \n3 590 5268 4487 \n3 965 849 850 \n3 932 852 933 \n3 1033 875 918 \n3 783 774 969 \n3 5841 9820 9914 \n3 4982 4986 4975 \n3 1008 853 1161 \n3 896 775 968 \n3 2073 4325 980 \n3 9161 9917 12724 \n3 11771 11779 12010 \n3 2008 1982 12044 \n3 2241 2148 2069 \n3 4338 4361 4352 \n3 860 1106 859 \n3 12648 9488 9465 \n3 1112 1104 861 \n3 354 339 2749 \n3 4287 11178 13266 \n3 13725 7165 3866 \n3 13722 7190 13724 \n3 12240 11609 10816 \n3 12185 8388 663 \n3 938 1016 1116 \n3 11029 1714 112 \n3 1737 4022 5144 \n3 1016 936 1115 \n3 12240 10816 9161 \n3 1119 979 978 \n3 978 938 1119 \n3 12240 9161 12720 \n3 905 976 819 \n3 1020 944 908 \n3 613 910 906 \n3 10225 5102 199 \n3 9917 11428 12171 \n3 2172 3072 10533 \n3 1073 912 944 \n3 1073 947 912 \n3 946 791 913 \n3 1796 1436 1729 \n3 13408 14460 5240 \n3 1027 950 947 \n3 14600 12275 9871 \n3 2302 1920 2301 \n3 986 916 950 \n3 2039 1667 1517 \n3 875 1033 796 \n3 761 879 952 \n3 10066 12171 11428 \n3 1035 834 952 \n3 7011 1539 2763 \n3 1035 952 994 \n3 10066 11202 12171 \n3 11324 6927 14080 \n3 11201 13184 11137 \n3 954 880 995 \n3 1041 1039 879 \n3 1589 13892 7244 \n3 833 696 835 \n3 1044 881 954 \n3 1982 1968 6878 \n3 1526 7011 2763 \n3 14080 6927 6514 \n3 955 1047 997 \n3 2203 4342 8528 \n3 693 576 658 \n3 1148 956 1047 \n3 9738 10784 10602 \n3 1041 1046 1145 \n3 1043 1080 953 \n3 955 997 803 \n3 1050 1152 921 \n3 1543 10955 4153 \n3 11573 1659 1173 \n3 11973 8856 5627 \n3 922 998 1085 \n3 840 841 1049 \n3 1797 6393 8419 \n3 2017 1733 1941 \n3 1053 928 1054 \n3 925 1153 1205 \n3 1054 928 925 \n3 11447 135 11455 \n3 13788 7323 383 \n3 961 1155 999 \n3 1691 12913 6339 \n3 8971 1839 8721 \n3 892 1002 962 \n3 13662 12102 12953 \n3 724 3122 4215 \n3 1003 1056 965 \n3 925 845 958 \n3 894 931 1157 \n3 6708 11658 13347 \n3 1093 932 933 \n3 1096 969 966 \n3 13422 14547 14539 \n3 1097 1006 896 \n3 1189 1415 1359 \n3 3210 3748 3105 \n3 1096 1262 969 \n3 981 942 1067 \n3 1008 1161 1162 \n3 1154 4979 11471 \n3 1214 971 1100 \n3 1067 1398 981 \n3 973 969 1262 \n3 11797 10857 1099 \n3 3521 6068 904 \n3 9142 9559 10242 \n3 13738 14169 14649 \n3 7462 7341 7830 \n3 869 824 870 \n3 1821 1683 1674 \n3 1219 1110 973 \n3 1062 1011 1214 \n3 332 288 311 \n3 862 1106 860 \n3 1110 974 973 \n3 1115 818 1015 \n3 10821 11100 13305 \n3 975 935 819 \n3 449 12039 12057 \n3 1015 974 1221 \n3 3358 3359 3671 \n3 10834 10857 11797 \n3 938 936 1016 \n3 1222 935 975 \n3 8643 2211 8285 \n3 1056 1004 965 \n3 1116 1119 938 \n3 1171 1119 1116 \n3 10066 10327 12464 \n3 6996 548 1378 \n3 12146 1286 12197 \n3 1020 908 981 \n3 1069 906 910 \n3 13305 1590 10821 \n3 6318 1714 5646 \n3 1714 11029 5646 \n3 910 1070 1069 \n3 11609 8025 10816 \n3 9375 14397 5190 \n3 1129 791 1125 \n3 867 942 908 \n3 1152 1050 1247 \n3 4367 10821 1590 \n3 1132 985 949 \n3 1129 1125 1183 \n3 3282 2831 3391 \n3 1072 826 983 \n3 1078 995 990 \n3 982 826 1072 \n3 13241 6708 6243 \n3 1077 1033 1193 \n3 9292 1962 9903 \n3 1851 1700 1920 \n3 12693 280 1468 \n3 1199 877 834 \n3 918 919 1034 \n3 1076 988 1299 \n3 877 1199 955 \n3 14496 10509 8254 \n3 1438 10509 5890 \n3 1086 1153 958 \n3 13626 1223 1218 \n3 1044 1045 881 \n3 338 318 355 \n3 763 879 761 \n3 1200 1047 955 \n3 13098 10721 13671 \n3 1142 954 995 \n3 1148 1047 1147 \n3 1046 838 1049 \n3 1083 841 957 \n3 841 1083 1049 \n3 14495 6564 13016 \n3 3126 6312 57 \n3 1204 1250 998 \n3 14699 11213 14708 \n3 11587 9388 13693 \n3 1155 929 1252 \n3 1000 1091 1090 \n3 6290 8122 9155 \n3 3381 4521 939 \n3 1176 11031 11583 \n3 10578 10967 5597 \n3 1003 1255 1056 \n3 1003 1157 1255 \n3 894 1157 1003 \n3 5596 2562 469 \n3 688 12528 13469 \n3 1156 1056 1092 \n3 5427 83 12146 \n3 9285 9738 5878 \n3 10514 5846 1515 \n3 1261 1060 901 \n3 1097 1259 1211 \n3 1099 4705 11797 \n3 853 967 1161 \n3 968 934 1217 \n3 1101 968 1217 \n3 1214 1011 971 \n3 12483 6318 10984 \n3 9285 8837 1522 \n3 1106 1217 934 \n3 934 859 1106 \n3 1104 1061 782 \n3 862 1064 1106 \n3 13025 3723 228 \n3 4457 9281 8229 \n3 6202 11756 3875 \n3 13736 12119 7845 \n3 1170 1340 1168 \n3 13623 10782 1615 \n3 34 6397 4235 \n3 3092 4329 3088 \n3 14889 7167 14888 \n3 819 976 975 \n3 2022 2194 2192 \n3 11100 10821 1622 \n3 13396 5256 14668 \n3 6695 7046 6859 \n3 12329 4631 4128 \n3 6117 10782 13623 \n3 357 6855 275 \n3 1174 7203 164 \n3 7981 10327 10066 \n3 107 122 89 \n3 1117 1067 1017 \n3 977 1168 975 \n3 1170 1168 977 \n3 1175 1121 1123 \n3 8196 4979 1154 \n3 946 1072 1182 \n3 13573 5059 3227 \n3 1077 1236 948 \n3 1069 1070 1233 \n3 8765 10327 6521 \n3 948 1233 1070 \n3 8285 13504 8643 \n3 946 982 1072 \n3 1074 1027 1237 \n3 1122 95 13400 \n3 1183 1235 1129 \n3 2015 768 4290 \n3 1132 1186 1138 \n3 5692 5693 645 \n3 12812 14496 5955 \n3 1901 1755 1815 \n3 1134 96 11386 \n3 2204 13464 2184 \n3 1034 1193 1033 \n3 6187 1102 88 \n3 995 951 990 \n3 918 1034 1033 \n3 10445 14573 10446 \n3 1035 1199 834 \n3 985 1132 1133 \n3 1035 1140 1199 \n3 1232 90 10155 \n3 2745 423 2739 \n3 1158 1093 1256 \n3 9161 10816 7245 \n3 14082 14540 14554 \n3 12829 7520 3675 \n3 401 405 4439 \n3 1194 1138 994 \n3 1144 1043 1045 \n3 955 1199 1308 \n3 9917 5968 11428 \n3 12829 3675 5269 \n3 1144 1080 1043 \n3 994 1138 1035 \n3 1144 1045 1044 \n3 1200 955 1308 \n3 987 988 830 \n3 12147 8695 9886 \n3 1148 1309 957 \n3 1309 1083 957 \n3 1095 1006 1211 \n3 634 632 521 \n3 14117 8934 8923 \n3 2402 6962 2384 \n3 115 11395 1151 \n3 950 872 947 \n3 1239 986 1074 \n3 929 1090 1252 \n3 948 869 870 \n3 1001 1000 962 \n3 12347 11422 13274 \n3 14168 14895 14899 \n3 1207 1002 1158 \n3 1156 1058 1004 \n3 5846 5965 9391 \n3 1158 1002 1093 \n3 966 1159 1160 \n3 12693 6564 13097 \n3 1092 1056 1208 \n3 1001 1002 1207 \n3 966 1058 1156 \n3 1161 967 1098 \n3 1098 1060 1261 \n3 1004 1056 1156 \n3 1097 968 1101 \n3 205 6302 12441 \n3 1058 849 1004 \n3 1570 1503 1880 \n3 1213 973 1262 \n3 3746 4763 7911 \n3 1219 973 1213 \n3 14509 3798 12417 \n3 1214 1100 1267 \n3 1164 1062 1214 \n3 1986 2302 2314 \n3 1726 1791 2086 \n3 1017 1062 1108 \n3 7920 11106 5459 \n3 5578 10235 6115 \n3 1164 1108 1062 \n3 5437 804 8758 \n3 14364 12287 3028 \n3 1168 1222 975 \n3 1170 977 1120 \n3 1172 1120 1119 \n3 1134 11386 7819 \n3 1275 866 906 \n3 1318 1155 1252 \n3 1085 998 1248 \n3 1097 896 968 \n3 1120 979 1119 \n3 1125 1123 1121 \n3 8186 8696 11697 \n3 1121 1179 1283 \n3 1123 946 1182 \n3 1374 12628 5269 \n3 1409 1073 1126 \n3 1182 1072 1128 \n3 12864 2921 6117 \n3 14727 11340 2544 \n3 11697 8696 8025 \n3 1073 1409 1237 \n3 1236 1233 948 \n3 11184 11189 11413 \n3 5750 11343 6407 \n3 13860 14053 14280 \n3 1356 14870 12628 \n3 97 96 4110 \n3 11306 11538 11304 \n3 840 1049 838 \n3 1193 1191 1077 \n3 1195 1132 1138 \n3 8348 5692 645 \n3 1194 1195 1138 \n3 12868 11873 6491 \n3 1240 1187 1032 \n3 1138 1140 1035 \n3 1198 1142 995 \n3 1554 1293 1362 \n3 1039 1245 994 \n3 5024 5023 4828 \n3 9820 5841 3146 \n3 10602 5935 5878 \n3 1044 1143 1307 \n3 1044 1307 1144 \n3 1307 1080 1144 \n3 10066 11428 7981 \n3 1143 1044 1142 \n3 1086 1152 1202 \n3 1046 1049 1246 \n3 1086 923 1152 \n3 3046 3148 3269 \n3 1247 1310 1152 \n3 1085 1150 1050 \n3 1150 1085 1248 \n3 1428 1202 1427 \n3 1312 1150 1248 \n3 1487 1488 1417 \n3 1153 1086 1202 \n3 136 12440 1875 \n3 1308 1199 1366 \n3 10821 10834 1622 \n3 1089 999 1316 \n3 3823 5077 3808 \n3 1091 1001 1207 \n3 1054 1204 1053 \n3 4609 1065 5762 \n3 966 1160 1096 \n3 1208 1056 1255 \n3 10578 11919 10967 \n3 1093 1006 1095 \n3 1156 1254 1159 \n3 2496 1241 3569 \n3 1098 1265 1161 \n3 1254 1156 1092 \n3 901 1061 1261 \n3 11951 12175 5215 \n3 1258 1325 1211 \n3 1162 1265 1267 \n3 1161 1265 1162 \n3 9798 1249 1914 \n3 4724 12374 12317 \n3 1215 1104 1112 \n3 77 6450 13377 \n3 9820 5161 1831 \n3 10312 7035 10328 \n3 1106 1064 1220 \n3 7016 7012 5963 \n3 1014 1271 1064 \n3 1643 1728 1877 \n3 1166 1389 1112 \n3 1284 1175 1182 \n3 1448 1267 1265 \n3 1336 1015 1221 \n3 1014 935 1268 \n3 1271 1460 1457 \n3 1273 1016 1115 \n3 1166 823 1169 \n3 1112 823 1166 \n3 9726 1249 9798 \n3 2719 3158 2829 \n3 1398 1067 1117 \n3 1016 1225 1116 \n3 823 866 1169 \n3 1279 1120 1172 \n3 14767 9380 11113 \n3 1275 906 1069 \n3 3204 6288 9634 \n3 13377 6923 77 \n3 1188 1077 1191 \n3 547 592 519 \n3 4254 3904 4031 \n3 1288 1182 1128 \n3 3908 7425 3901 \n3 1128 1072 983 \n3 1129 1235 949 \n3 1128 983 1185 \n3 983 1187 1185 \n3 1238 1074 1237 \n3 1236 1077 1188 \n3 1189 1186 1415 \n3 1331 9703 9763 \n3 4011 14785 3730 \n3 1186 949 1235 \n3 6071 5950 7582 \n3 1195 1242 987 \n3 1242 1299 987 \n3 10273 6714 3343 \n3 6312 27 3111 \n3 1020 1126 944 \n3 9580 3570 3552 \n3 1245 1195 1194 \n3 1078 1361 1198 \n3 9718 5164 11242 \n3 1362 1304 1486 \n3 1303 1143 1142 \n3 7245 7149 9161 \n3 1142 1198 1303 \n3 13380 9095 9071 \n3 1304 1080 1307 \n3 11160 11621 11158 \n3 2151 1985 1850 \n3 1201 1148 1147 \n3 14014 12464 3299 \n3 13363 13367 1094 \n3 1083 1246 1049 \n3 4848 920 4838 \n3 9703 1331 14408 \n3 1369 1309 1148 \n3 1427 1152 1310 \n3 1232 10155 12005 \n3 4188 8856 11973 \n3 1202 1152 1427 \n3 9260 14007 14582 \n3 318 294 248 \n3 1318 1316 1155 \n3 1155 1316 999 \n3 1248 998 1372 \n3 1250 1372 998 \n3 2355 2350 2346 \n3 1319 1252 1090 \n3 446 422 510 \n3 2360 2765 2565 \n3 1090 1379 1319 \n3 1092 1208 1254 \n3 12175 5427 5215 \n3 2008 12044 7512 \n3 12045 12050 11824 \n3 7082 7071 6728 \n3 5164 9718 2690 \n3 1207 1158 1321 \n3 10327 7981 6521 \n3 1252 1319 1380 \n3 1095 1256 1093 \n3 13495 2224 13510 \n3 1156 1159 966 \n3 1259 1097 1327 \n3 1260 1096 1160 \n3 138 12454 5706 \n3 1327 1101 1266 \n3 1267 1164 1214 \n3 1061 1104 1215 \n3 2223 2222 2220 \n3 1454 1110 1219 \n3 10721 2179 6196 \n3 1304 1244 1080 \n3 12774 5987 767 \n3 1217 1106 1220 \n3 6334 6469 7381 \n3 1271 1220 1064 \n3 1048 7193 14582 \n3 7393 7283 7150 \n3 1271 1014 1268 \n3 111 147 68 \n3 1273 1115 1336 \n3 1117 1272 1398 \n3 1221 1110 1270 \n3 1279 1342 1340 \n3 935 1222 1268 \n3 1225 1273 1338 \n3 11170 9418 2494 \n3 5086 9726 9798 \n3 4529 11974 11743 \n3 8569 8717 8423 \n3 1396 1270 1517 \n3 1171 1225 1228 \n3 1169 866 1275 \n3 1228 1172 1119 \n3 3899 9763 5174 \n3 1398 1400 981 \n3 9917 5938 5968 \n3 4028 5511 8696 \n3 1020 1231 1126 \n3 12843 12188 12317 \n3 13828 10331 3355 \n3 1179 1175 1284 \n3 1179 1282 1283 \n3 177 144 176 \n3 14408 14910 4779 \n3 1738 1806 1809 \n3 1121 1183 1125 \n3 3193 3196 2349 \n3 1128 1185 1353 \n3 1291 1186 1235 \n3 1017 1108 1117 \n3 12724 14912 1519 \n3 1415 1186 1291 \n3 1291 1287 1546 \n3 1292 1236 1188 \n3 1331 9763 8653 \n3 5119 5225 267 \n3 986 1239 1078 \n3 1185 1187 1358 \n3 1188 1191 1293 \n3 191 143 162 \n3 4867 4426 4436 \n3 1239 1238 1556 \n3 1078 1239 1361 \n3 1195 1245 1242 \n3 1358 1187 1240 \n3 7149 5938 9161 \n3 14627 3975 4981 \n3 1138 1295 1140 \n3 780 11778 5275 \n3 5841 12213 993 \n3 1191 1196 1293 \n3 6275 8689 8667 \n3 13717 12119 13736 \n3 1217 1266 1101 \n3 12958 6601 8677 \n3 14057 11612 14117 \n3 1305 1143 1303 \n3 463 460 494 \n3 1366 1199 1140 \n3 138 5954 12454 \n3 1368 1200 1308 \n3 1145 1046 1367 \n3 11765 504 11958 \n3 452 596 594 \n3 11240 27 6312 \n3 1083 1370 1246 \n3 693 658 797 \n3 8375 8795 9384 \n3 5481 1209 7693 \n3 12197 1286 12308 \n3 9277 11136 7344 \n3 1153 1202 1430 \n3 1205 1153 1430 \n3 1553 1188 1293 \n3 8055 11447 13476 \n3 5017 11499 10215 \n3 1204 1054 1315 \n3 1090 1091 1379 \n3 1379 1091 1207 \n3 14827 1298 108 \n3 1158 1256 1439 \n3 1207 1320 1379 \n3 7601 7598 7486 \n3 1265 1098 1328 \n3 1098 1261 1328 \n3 1159 1254 1323 \n3 1660 1213 1262 \n3 1330 1061 1215 \n3 1162 1267 1100 \n3 2912 2919 11344 \n3 1387 1330 1388 \n3 7556 1136 7768 \n3 1451 1394 1164 \n3 1217 1220 1333 \n3 8186 4028 8696 \n3 4028 8186 8856 \n3 1394 1108 1164 \n3 1108 1394 1272 \n3 1795 8233 1571 \n3 1299 1242 1301 \n3 11242 5164 12684 \n3 9272 14007 9260 \n3 1591 1338 1273 \n3 13266 11091 112 \n3 1119 1171 1228 \n3 4651 14296 5866 \n3 11112 10990 3491 \n3 1398 1466 1400 \n3 2071 2521 2241 \n3 1345 1342 1172 \n3 10533 13062 3838 \n3 1172 1342 1279 \n3 14611 14579 13525 \n3 1818 14727 2544 \n3 6521 7981 6089 \n3 497 607 529 \n3 1348 1409 1126 \n3 1283 1282 1346 \n3 1183 1283 1287 \n3 1291 1235 1183 \n3 1404 1284 1477 \n3 1074 1238 1239 \n3 1407 1233 1236 \n3 1546 1287 1346 \n3 1413 1238 1237 \n3 6089 7981 5968 \n3 36 9057 60 \n3 1188 1553 1292 \n3 1253 1089 1317 \n3 13959 13210 14690 \n3 5814 12492 2728 \n3 1360 1240 1299 \n3 1196 1362 1293 \n3 3355 10331 3966 \n3 1420 1140 1295 \n3 12085 11812 13157 \n3 3510 11196 11778 \n3 2690 9718 10578 \n3 1417 1418 1305 \n3 974 1110 1221 \n3 1307 1143 1305 \n3 1198 995 1078 \n3 1039 1365 1245 \n3 1039 1145 1365 \n3 1420 1366 1140 \n3 1368 1308 1422 \n3 1367 1046 1246 \n3 1369 1201 1368 \n3 1312 1311 1247 \n3 11238 4804 14219 \n3 1311 1310 1247 \n3 1310 1311 1426 \n3 8528 4342 10867 \n3 14933 14038 13157 \n3 13235 13633 5441 \n3 1371 1248 1313 \n3 1248 1372 1313 \n3 2679 1332 8014 \n3 1026 13184 11201 \n3 1250 1429 1372 \n3 5231 8935 4325 \n3 3140 11946 2806 \n3 6352 4052 9692 \n3 1316 1317 1089 \n3 12360 4042 14253 \n3 1381 1379 1320 \n3 4422 6198 3892 \n3 9625 14296 1795 \n3 1324 1442 1257 \n3 2864 11112 4780 \n3 1323 1254 1501 \n3 4467 7612 11084 \n3 1321 1320 1207 \n3 2875 2578 3001 \n3 12684 5164 5158 \n3 1097 1101 1327 \n3 1512 1260 1257 \n3 12617 13199 6608 \n3 1211 1259 1258 \n3 1324 1159 1323 \n3 1325 1256 1211 \n3 1512 1262 1260 \n3 4556 7772 7464 \n3 1512 1660 1262 \n3 4713 5146 13220 \n3 1448 1265 1447 \n3 1449 1213 1660 \n3 1454 1219 1213 \n3 7757 2690 2500 \n3 1333 1266 1217 \n3 1164 1267 1451 \n3 1112 1389 1215 \n3 11973 5158 4188 \n3 1362 1244 1304 \n3 1395 1272 1394 \n3 1967 2046 1960 \n3 1169 1274 1166 \n3 1336 1591 1273 \n3 1460 1271 1268 \n3 1336 1221 1270 \n3 1520 1268 1222 \n3 1482 1541 1616 \n3 13938 9680 12085 \n3 2040 5804 2057 \n3 1338 1464 1225 \n3 13094 13105 14159 \n3 4510 10828 5643 \n3 1122 11345 13380 \n3 5955 8254 3703 \n3 1283 1183 1121 \n3 14259 4130 14253 \n3 1340 1342 1343 \n3 1010 3409 1005 \n3 5193 13192 4663 \n3 8025 8696 5511 \n3 13148 6300 11145 \n3 1464 1471 1225 \n3 5804 2033 5792 \n3 1401 1345 1344 \n3 5781 10527 5792 \n3 6092 12712 14954 \n3 1407 1529 1069 \n3 8531 7103 8500 \n3 1455 1220 1457 \n3 14314 10234 3625 \n3 1404 1347 1284 \n3 1179 1284 1347 \n3 1465 1343 1596 \n3 1179 1347 1282 \n3 4560 662 7772 \n3 1401 1342 1345 \n3 1069 1233 1407 \n3 5968 7981 11428 \n3 1477 1284 1288 \n3 1933 14775 6142 \n3 9917 9161 5938 \n3 5511 7245 8025 \n3 1477 1761 1404 \n3 1288 1128 1353 \n3 1407 1236 1292 \n3 1413 1237 1410 \n3 1353 1185 1358 \n3 14253 4130 14422 \n3 9362 10234 3622 \n3 5841 993 6342 \n3 1556 1361 1239 \n3 14174 10786 4221 \n3 2008 7512 663 \n3 13347 2731 275 \n3 1303 1198 1361 \n3 664 576 693 \n3 693 730 664 \n3 9315 8263 8261 \n3 14422 14400 14355 \n3 1417 1305 1303 \n3 1295 1416 1420 \n3 1361 1417 1303 \n3 1307 1305 1418 \n3 1418 1304 1307 \n3 10234 14314 3622 \n3 1308 1366 1422 \n3 4588 10976 1332 \n3 10976 8014 1332 \n3 1560 1369 1368 \n3 1369 1560 1492 \n3 1370 1083 1309 \n3 5785 6837 5772 \n3 1493 1311 1312 \n3 4857 2433 6112 \n3 1562 1311 1493 \n3 14057 14038 14933 \n3 14057 14117 14038 \n3 14156 10653 10608 \n3 1426 1427 1310 \n3 14038 11300 13157 \n3 4275 12423 12453 \n3 1484 1415 1291 \n3 4801 3602 141 \n3 6961 3620 3626 \n3 9625 8368 5866 \n3 1317 1499 1253 \n3 1318 1434 1432 \n3 1250 1204 1431 \n3 1380 1500 1252 \n3 1498 1379 1381 \n3 1503 1502 1383 \n3 1381 1320 1383 \n3 1503 1570 1502 \n3 1208 1255 1382 \n3 1442 1323 1501 \n3 1434 1318 1500 \n3 1321 1439 1383 \n3 1499 1382 1253 \n3 11145 11238 14219 \n3 1442 1324 1323 \n3 5866 14296 9625 \n3 1254 1208 1501 \n3 11112 8160 4780 \n3 6512 14314 3625 \n3 12684 5158 11973 \n3 1440 1387 1441 \n3 5364 13938 13157 \n3 4263 3793 3912 \n3 1328 1261 1386 \n3 1261 1329 1386 \n3 1387 1388 1441 \n3 1387 1440 1510 \n3 1160 1257 1260 \n3 1387 1446 1329 \n3 1329 1330 1387 \n3 1026 3073 13184 \n3 3334 2008 663 \n3 6376 1841 1856 \n3 1454 1213 1449 \n3 11217 10955 6632 \n3 692 623 696 \n3 2705 1469 1453 \n3 5206 5488 5595 \n3 1795 5702 8233 \n3 3626 6978 6961 \n3 1506 1439 1325 \n3 2295 2049 2123 \n3 1274 1584 1391 \n3 4417 14139 13445 \n3 1396 1336 1270 \n3 11087 6679 7034 \n3 2057 9649 2040 \n3 1388 1330 1215 \n3 13942 8304 3863 \n3 1669 1520 1670 \n3 9063 9064 8510 \n3 1467 1461 1275 \n3 7958 14557 815 \n3 14958 14711 14709 \n3 8304 7103 8531 \n3 1225 1016 1273 \n3 1398 1272 1466 \n3 10893 12509 12289 \n3 1225 1341 1228 \n3 1272 1117 1108 \n3 1343 1465 1340 \n3 4214 3531 3434 \n3 11417 1028 14657 \n3 1473 1231 1400 \n3 2002 2003 2445 \n3 13769 960 10990 \n3 1591 1592 1338 \n3 12421 3213 9965 \n3 1348 1473 1607 \n3 13230 3969 2149 \n3 1220 1271 1457 \n3 4966 3829 2760 \n3 13105 13687 13769 \n3 11548 13981 13774 \n3 3442 7668 7860 \n3 2149 3969 13095 \n3 8235 14611 13772 \n3 2152 2061 1985 \n3 3830 4070 3950 \n3 1292 1483 1407 \n3 1288 1544 1538 \n3 708 672 629 \n3 1353 1544 1288 \n3 1353 1358 1414 \n3 13210 13959 11591 \n3 13103 3999 3926 \n3 1413 1556 1238 \n3 1291 1546 1484 \n3 1553 1293 1554 \n3 1484 1359 1415 \n3 14611 13525 13772 \n3 4042 14259 14253 \n3 7721 7714 7844 \n3 329 5373 13930 \n3 1359 1416 1295 \n3 1365 1242 1245 \n3 1417 1556 1487 \n3 1557 1420 1416 \n3 1242 1365 1301 \n3 1361 1556 1417 \n3 1626 1486 1304 \n3 1418 1626 1304 \n3 1628 1360 1301 \n3 3464 3577 3568 \n3 3413 2124 9465 \n3 1421 1366 1420 \n3 5967 10293 14762 \n3 1422 1491 1368 \n3 7596 8172 14443 \n3 1366 1421 1422 \n3 1367 1246 1489 \n3 534 652 502 \n3 1200 1368 1201 \n3 1491 1560 1368 \n3 1309 1635 1370 \n3 3800 13460 10356 \n3 1561 1559 1424 \n3 4042 12360 3963 \n3 1559 1493 1424 \n3 1426 1311 1563 \n3 6198 7245 5511 \n3 4607 6521 2962 \n3 1428 1427 1426 \n3 1372 1429 1719 \n3 1565 1431 1315 \n3 36 13304 9001 \n3 1430 1202 1428 \n3 9811 9277 14690 \n3 1315 1431 1204 \n3 14517 3588 13110 \n3 2758 13296 8091 \n3 1566 1376 1498 \n3 6089 5968 5382 \n3 1498 1381 1502 \n3 1384 1576 1443 \n3 3055 3486 2935 \n3 1436 1208 1382 \n3 1253 1255 1157 \n3 1362 1196 1244 \n3 13702 13703 13236 \n3 14400 14422 4130 \n3 4444 5382 5968 \n3 1315 1054 1205 \n3 1729 1499 1497 \n3 9929 3634 518 \n3 790 910 789 \n3 1383 1504 1503 \n3 3093 8677 8705 \n3 1384 1741 1576 \n3 5938 4444 5968 \n3 1440 1441 1505 \n3 1505 1441 1443 \n3 1257 1442 1444 \n3 14144 10533 10632 \n3 6948 1306 3620 \n3 1158 1439 1321 \n3 1385 1445 1259 \n3 1258 1259 1445 \n3 5164 2053 5158 \n3 1508 1506 1445 \n3 14033 13384 14755 \n3 13257 13460 3739 \n3 1333 1220 1455 \n3 1275 1069 1467 \n3 798 757 1032 \n3 1265 1328 1447 \n3 1661 1660 1512 \n3 13257 1459 10030 \n3 1580 1327 1266 \n3 3588 3547 11060 \n3 3156 14412 14677 \n3 5364 13157 11300 \n3 1581 1514 1391 \n3 1451 1395 1394 \n3 14355 9098 8934 \n3 815 1525 7974 \n3 12662 12703 3634 \n3 1023 5872 13381 \n3 1336 1115 1015 \n3 4651 8268 14296 \n3 1585 1274 1461 \n3 1520 1222 1465 \n3 5039 14181 5652 \n3 1145 1039 1041 \n3 14947 13119 13131 \n3 852 775 896 \n3 1524 1471 1464 \n3 1274 1275 1461 \n3 1473 1400 1466 \n3 1520 1460 1268 \n3 1471 1524 1531 \n3 7020 58 11157 \n3 2441 2349 2254 \n3 163 216 122 \n3 1596 1343 1472 \n3 2789 2791 2896 \n3 11763 13997 10930 \n3 11157 11974 7020 \n3 12210 12215 12671 \n3 2906 3029 3025 \n3 10069 2098 1209 \n3 7438 4860 6128 \n3 1860 11514 4519 \n3 1478 1479 1531 \n3 1472 1343 1342 \n3 1478 1482 1479 \n3 1473 1348 1231 \n3 1477 1288 1538 \n3 7167 8658 11471 \n3 1517 1110 1454 \n3 14055 1088 12017 \n3 1348 1765 1409 \n3 1610 1407 1483 \n3 4174 4169 4310 \n3 1545 1483 1547 \n3 1410 1548 1413 \n3 13019 3547 13953 \n3 1621 1353 1414 \n3 68 56 70 \n3 8703 945 1998 \n3 1553 1550 1547 \n3 5160 4925 3760 \n3 1548 1551 1413 \n3 12009 9850 12221 \n3 6991 4739 8608 \n3 1360 1299 1301 \n3 1416 1359 1485 \n3 6941 6320 6605 \n3 1485 1359 1484 \n3 3186 3800 10356 \n3 1414 1358 1624 \n3 12900 1928 12904 \n3 1554 1486 1623 \n3 5511 800 3892 \n3 2100 2016 2180 \n3 2016 2104 2180 \n3 13981 11548 12887 \n3 1299 1240 1076 \n3 12673 1916 12535 \n3 724 2930 11292 \n3 14887 13782 9445 \n3 1628 1301 1365 \n3 9445 8419 14887 \n3 1045 734 881 \n3 1367 1628 1365 \n3 1557 1421 1420 \n3 6521 4607 8765 \n3 13487 12880 10331 \n3 1578 3879 9527 \n3 11980 12927 12028 \n3 8133 7988 7850 \n3 1782 1246 1370 \n3 1491 1490 1559 \n3 1491 1422 1490 \n3 851 11846 9849 \n3 1246 1782 1489 \n3 10193 10138 14936 \n3 120 109 178 \n3 4422 7149 6198 \n3 1424 1494 1561 \n3 1193 1196 1191 \n3 9571 9433 9853 \n3 1010 1005 8784 \n3 4510 13671 10828 \n3 1638 1371 1313 \n3 1313 1719 1638 \n3 3185 2840 2845 \n3 1428 1426 15001 \n3 5160 3760 8847 \n3 1719 1313 1372 \n3 1195 987 1133 \n3 617 4207 2658 \n3 1431 1565 1429 \n3 5525 12329 10858 \n3 1376 1566 1567 \n3 1811 1897 2114 \n3 4422 5938 7149 \n3 1501 1208 1569 \n3 6601 12958 6581 \n3 1315 1430 1495 \n3 4714 3685 5719 \n3 1896 1813 1895 \n3 12538 14454 5115 \n3 1383 1502 1381 \n3 12972 7984 13109 \n3 1505 1574 1650 \n3 1499 1317 1497 \n3 1734 1442 1501 \n3 1576 1574 1505 \n3 1569 1879 1731 \n3 1507 1442 1734 \n3 11576 11805 12686 \n3 1573 1440 1505 \n3 1440 1573 1510 \n3 1576 1652 1574 \n3 1577 1510 1573 \n3 1442 1507 1444 \n3 1735 14646 2727 \n3 14077 3680 10154 \n3 1653 1506 1508 \n3 874 828 873 \n3 1446 1510 1577 \n3 1446 1579 1386 \n3 1328 1513 1447 \n3 2690 429 2053 \n3 9303 9209 3984 \n3 1448 1447 1663 \n3 1514 1388 1215 \n3 1957 1454 1449 \n3 1472 1342 1401 \n3 1215 1389 1514 \n3 1451 1267 1448 \n3 7974 7958 815 \n3 2882 2881 3115 \n3 1585 1584 1274 \n3 1584 1583 1391 \n3 5048 13171 11199 \n3 4028 4188 4091 \n3 1460 1753 1457 \n3 12224 2667 12332 \n3 1270 1110 1517 \n3 1668 1396 1667 \n3 2112 2277 2278 \n3 1396 1591 1336 \n3 9499 11765 10375 \n3 1272 1395 1666 \n3 12318 7460 8344 \n3 848 4362 12703 \n3 1464 1338 1594 \n3 1524 1464 1594 \n3 1465 1596 1523 \n3 2412 2411 2656 \n3 1520 1523 1670 \n3 9896 811 857 \n3 1527 1467 1069 \n3 1682 1473 1466 \n3 1595 1478 1524 \n3 1529 1527 1069 \n3 1528 1476 1282 \n3 2520 12304 12185 \n3 4308 4307 4315 \n3 10231 11630 13692 \n3 6158 1536 3829 \n3 5268 11803 1918 \n3 1478 1531 1524 \n3 9434 10018 10243 \n3 1535 1401 1344 \n3 1483 1545 1610 \n3 1953 12617 10914 \n3 1347 1760 1282 \n3 1356 141 14870 \n3 1474 1531 1532 \n3 1685 1600 1472 \n3 4071 4301 4164 \n3 14557 7891 12810 \n3 1471 1341 1225 \n3 1474 1471 1531 \n3 1535 1344 1537 \n3 8765 4607 1681 \n3 6608 13199 2984 \n3 1528 1602 1476 \n3 6050 5015 5016 \n3 1474 1532 1537 \n3 1693 1546 1476 \n3 7845 12261 13736 \n3 14230 12774 7805 \n3 847 892 962 \n3 1758 1904 2216 \n3 1529 1407 1609 \n3 1765 1348 1607 \n3 1609 1407 1610 \n3 2001 2167 1791 \n3 13095 3200 2149 \n3 1695 1616 1541 \n3 1681 2500 8765 \n3 12934 4458 2418 \n3 11622 11846 795 \n3 760 695 727 \n3 1926 1353 1621 \n3 1548 1410 1700 \n3 1699 1410 1765 \n3 1549 1553 1927 \n3 1553 1554 1927 \n3 11372 11548 11783 \n3 1485 1484 1620 \n3 11309 11302 11056 \n3 1418 1417 1488 \n3 12934 903 12062 \n3 3816 4367 12849 \n3 112 11091 11029 \n3 12900 12898 1946 \n3 2252 2080 2440 \n3 1578 9527 7222 \n3 1480 12039 3480 \n3 1367 1629 1628 \n3 10840 10838 10168 \n3 6878 1968 2206 \n3 5511 4028 800 \n3 1634 1491 1561 \n3 12912 8585 12883 \n3 916 986 874 \n3 313 239 371 \n3 1561 1491 1559 \n3 1782 1635 1715 \n3 1634 1561 1717 \n3 12242 2574 14984 \n3 1396 1517 1667 \n3 1782 1370 1635 \n3 1785 1788 1563 \n3 1493 1559 1562 \n3 12900 1946 1928 \n3 2962 6521 5382 \n3 1315 1495 1721 \n3 1327 1580 1385 \n3 1497 1432 1793 \n3 8168 8441 9036 \n3 1729 1497 1793 \n3 4444 3427 5382 \n3 1567 1566 1728 \n3 13936 9204 11071 \n3 12947 12728 12516 \n3 1500 1643 1434 \n3 1500 1567 1643 \n3 1642 1498 1502 \n3 1501 1569 1731 \n3 1436 1499 1729 \n3 12874 4705 1099 \n3 1208 1436 1569 \n3 1647 1501 1731 \n3 9241 6399 13389 \n3 1850 1924 1848 \n3 3774 2731 4923 \n3 14062 14064 14289 \n3 1573 1649 1577 \n3 1661 1512 1444 \n3 6089 5382 6521 \n3 1576 1505 1443 \n3 1383 1439 1504 \n3 1506 1651 1439 \n3 9597 10930 13997 \n3 1508 1445 1739 \n3 13064 13103 3926 \n3 2150 2070 2235 \n3 11792 3225 768 \n3 1510 1446 1387 \n3 2092 2093 2094 \n3 8353 2544 11340 \n3 1580 1742 1385 \n3 1741 1384 1514 \n3 1441 1384 1443 \n3 1329 1446 1386 \n3 1750 1748 1583 \n3 4884 878 11181 \n3 1742 1445 1385 \n3 1583 1581 1391 \n3 469 2562 1713 \n3 5268 5650 11803 \n3 1752 1584 1585 \n3 1664 1395 1451 \n3 1584 1752 1583 \n3 1957 2037 1517 \n3 8976 4042 6617 \n3 2640 3189 2850 \n3 12440 136 12374 \n3 6878 12044 1982 \n3 2145 12687 7805 \n3 4091 800 4028 \n3 1395 1664 1666 \n3 1668 1591 1396 \n3 1671 1338 1592 \n3 5658 5368 5656 \n3 1594 1338 1671 \n3 13818 8581 14926 \n3 1669 1460 1520 \n3 1601 1605 1676 \n3 1595 1594 1674 \n3 1682 1466 1593 \n3 5695 2792 2815 \n3 1527 1529 1684 \n3 1478 1595 1683 \n3 1600 1523 1596 \n3 1528 1760 1759 \n3 1519 6356 6246 \n3 4046 5284 5249 \n3 3322 4276 13746 \n3 1602 1528 1758 \n3 2483 3645 6152 \n3 13164 12147 9886 \n3 1401 1535 1685 \n3 1405 4418 14016 \n3 1674 1683 1595 \n3 1523 1520 1465 \n3 1600 1605 1601 \n3 2460 2360 2170 \n3 12673 2124 7751 \n3 1478 1604 1541 \n3 1473 1682 1607 \n3 1721 1565 1315 \n3 13230 14743 10575 \n3 1347 1761 1760 \n3 1600 1690 1605 \n3 1450 13138 13570 \n3 5749 6391 6339 \n3 10682 9292 3308 \n3 1605 1769 1689 \n3 1648 1505 1650 \n3 1680 1605 1689 \n3 12762 10821 4367 \n3 1409 1410 1237 \n3 14524 132 2547 \n3 3608 1625 3755 \n3 4422 3892 2815 \n3 1827 2054 1765 \n3 8300 10479 3091 \n3 1532 1479 1840 \n3 1840 1767 1532 \n3 1812 1752 1585 \n3 2259 2258 2095 \n3 1476 1602 1693 \n3 1541 1604 1695 \n3 1869 8516 11514 \n3 1840 1479 1611 \n3 1479 1612 1611 \n3 13908 10479 8300 \n3 1606 1477 1538 \n3 8765 2500 5597 \n3 13454 7026 6877 \n3 5492 13257 858 \n3 982 913 792 \n3 1695 1770 1849 \n3 6161 1536 6158 \n3 1616 1773 1612 \n3 1612 1701 1611 \n3 1484 1546 1702 \n3 1546 1693 1702 \n3 1545 1547 1550 \n3 1410 1699 1700 \n3 1353 1926 1544 \n3 1551 1706 1556 \n3 1706 1487 1556 \n3 7464 12119 13717 \n3 1858 1488 1487 \n3 13405 1869 11540 \n3 1486 1710 1623 \n3 5669 13405 11540 \n3 1486 1626 1710 \n3 209 249 273 \n3 1421 1557 1630 \n3 955 803 877 \n3 1488 1626 1418 \n3 1489 1629 1367 \n3 1629 1489 1862 \n3 2398 3142 2917 \n3 1560 1781 1492 \n3 1421 1633 1490 \n3 1633 1716 1562 \n3 1494 1637 1561 \n3 1717 1561 1637 \n3 1494 1638 1637 \n3 1716 1785 1562 \n3 392 14015 2457 \n3 1932 1716 1633 \n3 1788 15001 1426 \n3 15001 1789 1495 \n3 1565 1721 1871 \n3 1429 1565 1870 \n3 10985 11544 11131 \n3 1567 1728 1643 \n3 1642 1502 1570 \n3 1572 1646 1732 \n3 1031 13623 11573 \n3 1498 1642 1566 \n3 1657 1579 1446 \n3 14205 1068 7704 \n3 1940 1649 1648 \n3 14858 14903 14864 \n3 1648 1649 1573 \n3 1880 1572 1732 \n3 1541 1482 1478 \n3 1504 1572 1503 \n3 2402 1113 6962 \n3 14902 9765 13796 \n3 5597 2500 2690 \n3 1853 2069 1926 \n3 1653 1508 1804 \n3 1504 1651 1572 \n3 1651 1646 1572 \n3 1657 1446 1654 \n3 3528 1678 5678 \n3 1929 2304 2321 \n3 1734 1655 1507 \n3 9418 11170 4779 \n3 3225 11980 768 \n3 11737 9503 373 \n3 5669 5653 7836 \n3 1595 1524 1594 \n3 1583 1748 1581 \n3 1805 1741 1948 \n3 8644 14915 14930 \n3 1944 5359 3122 \n3 1663 1451 1448 \n3 4323 8867 1675 \n3 863 935 1014 \n3 1266 1333 1895 \n3 12860 11014 707 \n3 1606 1761 1477 \n3 2525 5899 3604 \n3 1755 1461 1467 \n3 4015 11803 9090 \n3 825 1403 12857 \n3 9526 9657 12055 \n3 1755 1527 1815 \n3 1753 1460 1669 \n3 6152 3665 2483 \n3 5695 2815 3892 \n3 1374 1356 12628 \n3 12483 5493 1714 \n3 1527 1684 1815 \n3 1528 1759 1758 \n3 1683 1762 1687 \n3 14473 5406 2429 \n3 1816 1523 1676 \n3 9070 3837 4863 \n3 9801 9799 6591 \n3 8581 14908 8579 \n3 1600 1601 1523 \n3 4822 6400 10101 \n3 1690 1600 1686 \n3 3930 3479 3689 \n3 1421 1490 1422 \n3 1761 1606 1826 \n3 1607 1682 1827 \n3 1337 1393 11245 \n3 1903 9090 8815 \n3 4934 4949 2510 \n3 10194 10253 5537 \n3 1606 1830 1826 \n3 4467 11084 6021 \n3 12748 8542 9677 \n3 1604 1683 1687 \n3 1833 1977 1911 \n3 8815 13452 1903 \n3 2160 2633 2252 \n3 1967 1676 1680 \n3 1676 1605 1680 \n3 825 10751 9344 \n3 1616 1695 1849 \n3 1911 1828 1609 \n3 4444 2806 3427 \n3 2946 4135 5420 \n3 1610 1545 1845 \n3 1842 1611 1701 \n3 2815 2792 4422 \n3 1702 1693 1925 \n3 1849 1773 1616 \n3 1844 1538 1544 \n3 5669 13452 13436 \n3 14898 1814 753 \n3 2513 2817 2407 \n3 1858 1487 1706 \n3 1773 1701 1612 \n3 2792 2806 4444 \n3 1927 1554 1623 \n3 5371 10397 5355 \n3 5729 4783 8160 \n3 1929 1485 1620 \n3 1853 1621 1705 \n3 12188 12843 9824 \n3 1844 1913 1538 \n3 7611 7624 6545 \n3 14059 899 3926 \n3 1705 1624 1708 \n3 11 28 29 \n3 12953 11431 12101 \n3 13864 11591 11763 \n3 3411 7751 2124 \n3 2810 8308 7969 \n3 1488 1858 1709 \n3 9938 9957 1516 \n3 1708 1628 1779 \n3 1775 2562 4519 \n3 1779 1628 1629 \n3 1861 1630 1557 \n3 14720 1139 1107 \n3 1503 1572 1880 \n3 5158 1355 1066 \n3 1421 1630 1633 \n3 3480 12039 449 \n3 1716 1932 2077 \n3 111 113 149 \n3 1635 1492 1781 \n3 5604 10984 6318 \n3 1927 1855 2151 \n3 2393 2036 2208 \n3 1788 1785 1786 \n3 1491 1634 1560 \n3 1495 1789 1721 \n3 1066 4188 5158 \n3 3614 1349 7582 \n3 1563 1562 1785 \n3 1719 1429 1870 \n3 1311 1562 1563 \n3 1723 1724 1790 \n3 7757 2500 2464 \n3 1728 1642 1938 \n3 1642 1939 1938 \n3 1939 1642 1570 \n3 1432 1434 1643 \n3 14831 14853 14818 \n3 899 2127 3926 \n3 1802 1803 1655 \n3 1681 2335 2464 \n3 7661 8716 9717 \n3 12287 14399 3028 \n3 1232 12005 11689 \n3 782 1061 901 \n3 6878 2206 8783 \n3 1882 1649 1798 \n3 1861 1557 1859 \n3 1882 1577 1649 \n3 1651 1653 1884 \n3 4428 4407 899 \n3 1652 1801 1574 \n3 1574 1801 1650 \n3 1801 1733 1650 \n3 1738 1657 1654 \n3 1884 2191 1943 \n3 1793 1727 1936 \n3 1653 1651 1506 \n3 1736 1653 1804 \n3 11139 1209 2085 \n3 8167 8201 13750 \n3 1882 1738 1654 \n3 1803 1656 1655 \n3 1504 1439 1651 \n3 3892 800 5695 \n3 1656 1803 1886 \n3 1739 1804 1508 \n3 5940 6082 5828 \n3 1888 1656 1886 \n3 12422 12646 12842 \n3 1652 1741 1805 \n3 1739 1445 1742 \n3 1839 14954 12712 \n3 1741 1514 1948 \n3 943 1627 7502 \n3 7344 11136 8274 \n3 3253 2917 3464 \n3 1657 1513 1579 \n3 1747 1742 1580 \n3 1745 1663 1662 \n3 1802 1655 1734 \n3 1888 1891 1661 \n3 1891 1660 1661 \n3 1580 1266 1747 \n3 1749 1451 1663 \n3 1449 1660 1891 \n3 1896 1333 1455 \n3 1517 1454 1957 \n3 1763 12545 6101 \n3 10195 12223 12229 \n3 14546 11245 11340 \n3 1669 1813 1753 \n3 855 12879 12882 \n3 1753 1896 1455 \n3 4323 14770 4405 \n3 11362 11324 1912 \n3 13908 8300 538 \n3 1670 1523 1816 \n3 13879 3384 11796 \n3 1898 1669 1670 \n3 1671 1674 1594 \n3 4303 8934 9098 \n3 2464 2500 1681 \n3 1671 1902 1674 \n3 9383 2190 7751 \n3 289 312 236 \n3 9445 13782 14971 \n3 1759 1760 1904 \n3 10765 12832 3812 \n3 1816 1676 1960 \n3 1666 1817 1593 \n3 13974 11935 14972 \n3 2824 3386 3485 \n3 466 414 533 \n3 2192 2271 2019 \n3 1689 1832 1680 \n3 1822 2129 1970 \n3 1835 1685 1535 \n3 1765 1607 1827 \n3 13542 13537 6855 \n3 1769 1690 1768 \n3 1769 1983 1689 \n3 12904 8533 12900 \n3 12864 3925 10675 \n3 1837 1832 1689 \n3 1699 1765 1771 \n3 1770 1695 1970 \n3 4982 4975 9672 \n3 1537 1975 1535 \n3 5059 14895 14894 \n3 1920 1700 1771 \n3 2142 2137 2058 \n3 2775 3834 8296 \n3 1983 1769 2059 \n3 9411 9409 9118 \n3 1768 1690 1686 \n3 1828 1911 1829 \n3 12420 11494 11481 \n3 1926 2069 1844 \n3 1983 1837 1689 \n3 1699 1771 1700 \n3 7946 14415 7932 \n3 1544 1926 1844 \n3 382 566 499 \n3 6865 6837 9152 \n3 34 6391 6397 \n3 1609 1610 1833 \n3 2376 2268 2675 \n3 1848 1845 1545 \n3 1538 1913 1830 \n3 1919 1840 1842 \n3 3322 6349 5310 \n3 1917 1837 1983 \n3 1990 1932 1861 \n3 11599 9243 5918 \n3 1675 8953 14770 \n3 1854 1706 1551 \n3 1675 14770 4323 \n3 1075 2361 2354 \n3 714 7332 1963 \n3 8077 14318 3204 \n3 12540 12518 14687 \n3 2053 5164 2690 \n3 1708 1624 1360 \n3 1485 1929 1859 \n3 2071 1705 1708 \n3 1560 1634 1781 \n3 1855 1710 1930 \n3 1779 1629 1989 \n3 1782 1862 1489 \n3 14726 14375 7798 \n3 6238 598 3294 \n3 2053 1355 5158 \n3 1992 2434 2159 \n3 14978 14980 5757 \n3 8721 5929 4097 \n3 1717 1934 1781 \n3 1717 1637 1934 \n3 1715 1781 1934 \n3 1300 12016 296 \n3 1638 1865 1637 \n3 1787 1788 1786 \n3 1638 1719 1867 \n3 12016 12237 296 \n3 4763 14876 7911 \n3 1871 1721 1789 \n3 1790 1722 1723 \n3 1724 1723 1726 \n3 8255 2783 14850 \n3 12560 12330 12098 \n3 1727 1643 1877 \n3 1873 1726 1723 \n3 1723 1722 1873 \n3 4188 1066 4091 \n3 1790 2000 1722 \n3 2000 1790 15000 \n3 1936 1727 1877 \n3 1796 1793 1936 \n3 2494 9418 14910 \n3 1796 1729 1793 \n3 853 812 967 \n3 6236 12160 6258 \n3 1066 1740 4091 \n3 4383 14043 14239 \n3 2334 6962 1071 \n3 1796 1879 1569 \n3 7559 3932 943 \n3 1728 1566 1642 \n3 1800 1650 1881 \n3 1648 1650 1800 \n3 1866 1864 2078 \n3 8973 11069 11066 \n3 2022 1801 1652 \n3 2835 2428 2733 \n3 1802 2018 1803 \n3 3157 12630 10414 \n3 602 717 785 \n3 1943 1651 1884 \n3 323 5086 1914 \n3 4607 2335 1681 \n3 1884 1653 1736 \n3 1646 1651 1943 \n3 598 12015 5650 \n3 9798 1914 5086 \n3 4091 813 800 \n3 1657 1738 1809 \n3 1739 1947 1804 \n3 1058 966 849 \n3 1515 8348 645 \n3 1947 1739 1742 \n3 1631 12611 11582 \n3 1747 2113 1742 \n3 5695 800 12629 \n3 813 4091 1740 \n3 3186 10356 2138 \n3 1581 1948 1514 \n3 14484 12441 6302 \n3 1661 1656 1888 \n3 2163 12993 8083 \n3 1809 1745 1662 \n3 1656 1661 1444 \n3 1749 1663 1745 \n3 1810 1449 1891 \n3 452 338 458 \n3 1747 1266 1956 \n3 1750 1952 1748 \n3 1266 1895 1956 \n3 4658 10821 12762 \n3 7638 434 14104 \n3 10540 8125 10518 \n3 1668 1754 1900 \n3 1753 1813 1896 \n3 4658 10834 10821 \n3 2039 1668 1667 \n3 1691 8050 12913 \n3 2962 3427 3425 \n3 1812 1755 1901 \n3 9212 14269 14256 \n3 10421 7580 5692 \n3 1669 1898 2213 \n3 1958 1666 1664 \n3 3843 3848 9503 \n3 1817 1666 1958 \n3 1945 2199 1887 \n3 1902 1671 1900 \n3 1816 1898 1670 \n3 10406 10461 2117 \n3 1817 1820 1593 \n3 1902 1821 1674 \n3 1959 1901 1815 \n3 1819 1821 1902 \n3 1821 2044 1822 \n3 10282 6342 993 \n3 1590 12849 4367 \n3 994 879 1039 \n3 1812 1585 1461 \n3 1827 1682 1820 \n3 8172 5918 14443 \n3 1758 1759 1904 \n3 2326 2321 2245 \n3 3908 13601 7425 \n3 7548 5941 10406 \n3 3104 4196 5341 \n3 1359 1295 1189 \n3 1815 1684 1823 \n3 1836 1693 1964 \n3 1964 1693 1602 \n3 1687 1762 1822 \n3 2329 2633 2160 \n3 1822 1970 1687 \n3 8354 8633 8491 \n3 1685 1835 1686 \n3 1609 1833 1911 \n3 2410 13687 13105 \n3 1609 1828 1684 \n3 5809 14827 14419 \n3 1828 1829 1966 \n3 1538 1830 1606 \n3 1780 8248 729 \n3 10050 14153 13086 \n3 7332 7323 13788 \n3 1882 1885 1738 \n3 1768 2059 1769 \n3 1849 1770 1921 \n3 1925 1693 1836 \n3 4495 539 3481 \n3 1975 1919 2058 \n3 9763 9703 4942 \n3 14562 13887 14568 \n3 1925 1620 1702 \n3 12464 10327 8765 \n3 1845 1924 1843 \n3 1924 1845 1848 \n3 1767 1537 1532 \n3 1611 1842 1840 \n3 12818 10540 10518 \n3 9403 7491 9649 \n3 389 7346 1589 \n3 53 9576 1961 \n3 14971 9616 14864 \n3 776 12816 2186 \n3 1272 1593 1466 \n3 7777 8992 9002 \n3 13138 6655 93 \n3 1858 1706 2070 \n3 14375 14726 14754 \n3 1779 2071 1708 \n3 1861 1859 2326 \n3 1785 1716 1864 \n3 1932 1633 1630 \n3 1629 1862 1989 \n3 1991 1989 1862 \n3 3462 14109 298 \n3 1715 1992 1782 \n3 1863 1862 1782 \n3 5398 6115 5409 \n3 1864 1786 1785 \n3 1866 1786 1864 \n3 1428 1495 1430 \n3 2252 1868 14999 \n3 13143 10858 11693 \n3 7168 7412 6808 \n3 681 562 609 \n3 513 477 516 \n3 1691 4705 12874 \n3 1149 14318 7934 \n3 1936 2011 2014 \n3 1726 2004 1724 \n3 1790 1724 1874 \n3 7168 7906 7412 \n3 1790 1874 2002 \n3 2086 2004 1726 \n3 2142 1919 2141 \n3 1877 1728 1878 \n3 12310 6407 11343 \n3 1080 1034 953 \n3 919 953 1034 \n3 1938 1878 1728 \n3 1878 2012 1877 \n3 1173 12160 6236 \n3 14779 3983 10482 \n3 14010 14977 13815 \n3 813 12629 800 \n3 1940 1648 2103 \n3 1648 1800 2103 \n3 1646 2104 1732 \n3 1565 1871 1870 \n3 2563 2461 2559 \n3 1733 2017 1881 \n3 12443 6014 10061 \n3 1647 1731 1879 \n3 2018 1802 1647 \n3 8407 14321 14552 \n3 1107 7690 451 \n3 1883 1886 1803 \n3 1940 2185 1798 \n3 1806 1738 1885 \n3 1736 1804 2023 \n3 1801 2022 1941 \n3 1887 1809 1806 \n3 1809 1887 2199 \n3 2108 1888 1886 \n3 6734 9638 7656 \n3 1889 2110 1742 \n3 1657 1809 1662 \n3 4658 10857 10834 \n3 1745 1809 2199 \n3 2199 2111 1745 \n3 1386 1579 1513 \n3 1952 1890 1748 \n3 616 656 536 \n3 2023 2191 1884 \n3 7847 14850 2783 \n3 12477 5581 8085 \n3 2035 1957 1449 \n3 14688 7473 13603 \n3 8190 7126 6063 \n3 11946 14970 3425 \n3 1517 2037 2039 \n3 173 9272 9260 \n3 2039 1754 1668 \n3 1892 1749 1745 \n3 1170 1120 1279 \n3 423 13466 13469 \n3 3425 3427 11946 \n3 1900 1819 1902 \n3 3442 5745 3443 \n3 1668 1900 1592 \n3 2755 12556 14719 \n3 14559 10829 14819 \n3 2403 1964 2219 \n3 1836 1964 2403 \n3 1812 1901 1897 \n3 8145 5270 1224 \n3 6554 6709 6285 \n3 2122 1901 1959 \n3 13892 14666 732 \n3 13040 13103 13064 \n3 6855 13469 13542 \n3 1592 1900 1671 \n3 1820 1682 1593 \n3 13537 275 6855 \n3 14900 14653 7275 \n3 1754 1819 1900 \n3 1602 2219 1964 \n3 732 14676 7527 \n3 10439 10446 14573 \n3 1904 1826 1907 \n3 1967 1680 1832 \n3 580 511 474 \n3 1860 5625 4376 \n3 1762 1821 1822 \n3 10182 3140 2806 \n3 9703 14408 14904 \n3 1826 1904 1761 \n3 1907 1826 1830 \n3 1960 1676 1967 \n3 6357 6366 2954 \n3 2052 1829 1908 \n3 3010 3017 8581 \n3 2345 3447 3449 \n3 8847 13329 5160 \n3 9138 4917 13439 \n3 2133 1832 1837 \n3 714 14664 7332 \n3 1175 1123 1182 \n3 205 5353 2623 \n3 1910 1908 1911 \n3 2296 1830 1913 \n3 8932 11021 1269 \n3 2228 10828 10721 \n3 4980 9657 9711 \n3 1829 1911 1908 \n3 1770 1970 2055 \n3 10823 12828 12824 \n3 993 5602 10282 \n3 13585 14476 14017 \n3 9657 3552 9726 \n3 7245 10816 8025 \n3 1975 2137 1976 \n3 1610 1843 1833 \n3 1854 1700 1851 \n3 4942 5032 9763 \n3 2062 2059 1768 \n3 1977 1843 1981 \n3 12392 14522 1665 \n3 1913 1844 2069 \n3 2125 2405 2501 \n3 1610 1845 1843 \n3 13510 2224 9233 \n3 614 571 444 \n3 1137 2419 1118 \n3 10280 7204 651 \n3 2066 1773 1849 \n3 1355 7353 1066 \n3 1779 1989 2156 \n3 6631 13494 6174 \n3 1926 1621 1853 \n3 9526 3552 9657 \n3 2983 9576 53 \n3 2241 1853 2071 \n3 2070 1706 1851 \n3 1700 1854 1548 \n3 10034 6115 5398 \n3 1709 1987 1930 \n3 2690 7757 429 \n3 6450 4843 13377 \n3 1289 11724 291 \n3 2070 1709 1858 \n3 5201 1481 3914 \n3 635 629 592 \n3 2071 1779 2156 \n3 2376 2381 2268 \n3 1863 1991 1862 \n3 8844 13849 651 \n3 1863 1782 1992 \n3 1995 1865 1867 \n3 2077 1864 1716 \n3 13570 5883 11343 \n3 3688 4146 4145 \n3 1994 1934 1865 \n3 4932 6815 354 \n3 2335 7596 2464 \n3 3137 3371 3255 \n3 5878 9738 10602 \n3 1995 1867 2336 \n3 1788 1426 1563 \n3 7751 4673 11683 \n3 794 830 797 \n3 516 477 479 \n3 2082 1870 1871 \n3 2622 14330 14332 \n3 4779 14910 9418 \n3 1867 1719 1870 \n3 2195 2270 2674 \n3 2079 1994 1865 \n3 2001 1873 2000 \n3 1791 1873 2001 \n3 1873 1791 1726 \n3 1724 2004 1874 \n3 2684 2787 2582 \n3 6869 11199 4696 \n3 3425 13285 4607 \n3 2012 2010 1877 \n3 13016 12829 14495 \n3 1938 1939 2100 \n3 2018 1879 1937 \n3 1796 1937 1879 \n3 1732 2016 1880 \n3 1936 2014 1796 \n3 1880 2100 1939 \n3 2101 2017 2019 \n3 2016 1732 2104 \n3 738 709 713 \n3 2018 1647 1879 \n3 492 7023 941 \n3 1801 1941 1733 \n3 1851 1920 2232 \n3 3934 2354 1065 \n3 14196 14185 13151 \n3 1798 2185 1882 \n3 9820 1831 5174 \n3 717 783 785 \n3 2020 1883 1803 \n3 1803 2018 2020 \n3 1777 1893 6991 \n3 4647 4665 4809 \n3 1945 1806 1885 \n3 13285 2335 4607 \n3 2105 2108 1883 \n3 2108 1886 1883 \n3 8220 2305 10461 \n3 1945 1887 1806 \n3 12629 10726 5695 \n3 2024 2023 1804 \n3 1804 1947 2024 \n3 1937 2099 2102 \n3 11803 5650 10091 \n3 1948 2027 1805 \n3 10609 7139 7126 \n3 1765 2054 1771 \n3 3425 4607 2962 \n3 2027 1948 1890 \n3 1952 2032 2029 \n3 2029 1890 1952 \n3 3963 12360 8706 \n3 2513 2310 2607 \n3 3982 8860 3013 \n3 1750 2032 1952 \n3 2113 1747 1956 \n3 2111 1892 1745 \n3 1664 1955 1958 \n3 1749 1892 1955 \n3 1955 2118 2119 \n3 1956 1895 2207 \n3 2208 2036 1955 \n3 4108 14811 8867 \n3 1957 2035 2037 \n3 1567 1380 1376 \n3 2213 1895 1813 \n3 2042 1819 1754 \n3 14511 14557 14338 \n3 2213 1898 2045 \n3 5695 10182 2792 \n3 7505 10717 4221 \n3 1822 2044 2049 \n3 1817 2047 1820 \n3 2045 1816 2046 \n3 7502 14688 13608 \n3 1081 1075 3219 \n3 1816 1960 2046 \n3 2042 2123 2044 \n3 5353 5240 6071 \n3 1369 1148 1201 \n3 14582 7193 9260 \n3 1758 2286 1602 \n3 8531 8550 3863 \n3 4286 4337 14400 \n3 2054 1827 1820 \n3 3086 6213 1111 \n3 8081 1725 8072 \n3 2129 1822 2049 \n3 12328 12337 14399 \n3 3938 2832 9577 \n3 2052 1910 2131 \n3 1908 1910 2052 \n3 9243 10325 429 \n3 2391 2205 2034 \n3 4130 4286 14400 \n3 2133 1967 1832 \n3 566 409 683 \n3 2035 2034 2205 \n3 2045 2046 2214 \n3 6222 93 6655 \n3 10182 2806 2792 \n3 3639 6645 2691 \n3 2387 2029 2114 \n3 14476 13585 14245 \n3 10675 3752 11096 \n3 7596 14443 7757 \n3 429 7757 14443 \n3 4130 2432 4286 \n3 5835 5872 1023 \n3 2297 1837 1917 \n3 2142 2058 1919 \n3 385 3879 1578 \n3 14563 14573 13239 \n3 7932 14415 7874 \n3 1995 2079 1865 \n3 8439 4673 8429 \n3 2061 1843 1924 \n3 2066 1849 1921 \n3 1715 1934 1992 \n3 1549 1550 1553 \n3 3051 7458 7485 \n3 2064 1984 1773 \n3 8143 7994 8288 \n3 2236 2151 1987 \n3 1986 1851 2232 \n3 1929 1620 1925 \n3 13848 12914 13160 \n3 5408 5750 6407 \n3 1050 922 1085 \n3 2241 2069 1853 \n3 4826 14584 14571 \n3 12540 5842 6101 \n3 1987 1709 2070 \n3 2321 1859 1929 \n3 14259 8976 4130 \n3 7170 1066 7353 \n3 2326 1859 2321 \n3 13103 13040 14122 \n3 6253 6394 6097 \n3 5706 12454 14430 \n3 1927 2151 1850 \n3 4980 21 9657 \n3 11925 11679 10965 \n3 13557 12452 13345 \n3 6030 13570 13138 \n3 12540 14687 5842 \n3 7557 8622 8611 \n3 4256 6436 8377 \n3 8623 8614 8641 \n3 607 682 648 \n3 1701 1773 1984 \n3 963 7505 10786 \n3 1256 1095 1211 \n3 10375 11741 4215 \n3 2078 1864 1993 \n3 1934 1994 1992 \n3 4325 13149 8885 \n3 8004 4751 4746 \n3 2000 15000 2083 \n3 14392 14164 7203 \n3 479 477 428 \n3 145 5872 5835 \n3 2001 2000 2343 \n3 14338 14183 14151 \n3 2088 1874 2004 \n3 2366 2177 2009 \n3 10229 10209 14441 \n3 10272 1645 5952 \n3 2086 1791 2167 \n3 2366 2009 2174 \n3 2009 2007 2174 \n3 1107 1139 7690 \n3 1936 2010 2011 \n3 1936 1877 2010 \n3 2580 2676 2881 \n3 14610 14811 4108 \n3 7520 12829 13016 \n3 1938 2100 2013 \n3 1878 2013 2012 \n3 10509 14504 5890 \n3 11753 11232 9380 \n3 3823 5031 5077 \n3 12496 10182 5695 \n3 10182 12496 12453 \n3 1492 1635 1309 \n3 14631 492 941 \n3 1941 2192 2019 \n3 1018 14135 12621 \n3 2105 1883 2020 \n3 4042 8976 14259 \n3 2192 1941 2022 \n3 14586 6026 14596 \n3 1802 1734 1647 \n3 1882 2021 1885 \n3 12308 5706 14401 \n3 13086 10721 13098 \n3 2766 2858 2553 \n3 2195 1945 1885 \n3 2024 2193 2023 \n3 3492 5772 3477 \n3 2024 1947 2107 \n3 2194 1805 2198 \n3 5091 3510 11778 \n3 11946 10473 14970 \n3 14401 12197 12308 \n3 6908 11289 14863 \n3 1889 2274 2110 \n3 1888 2108 1891 \n3 10578 9718 11242 \n3 2834 12977 9681 \n3 1665 14522 2673 \n3 7213 7191 4537 \n3 2118 1955 1892 \n3 2111 2118 1892 \n3 2200 2110 2274 \n3 1260 1262 1096 \n3 1955 1664 1749 \n3 1126 1231 1348 \n3 1811 2114 1750 \n3 4980 9711 5119 \n3 13805 5364 14558 \n3 1955 2036 1958 \n3 2216 1904 2125 \n3 1812 1461 1755 \n3 2207 1895 2213 \n3 1947 2110 2107 \n3 2037 2041 2039 \n3 2217 1958 2036 \n3 2217 1817 1958 \n3 1754 2041 2042 \n3 2333 2340 2080 \n3 2044 1819 2042 \n3 12522 3538 5836 \n3 3773 5031 3823 \n3 2337 2346 2446 \n3 2814 2711 2134 \n3 2045 1898 1816 \n3 3863 8304 8531 \n3 2125 1904 1907 \n3 2125 1907 2405 \n3 714 1963 740 \n3 8014 10976 7193 \n3 10278 2127 10253 \n3 2601 2301 2225 \n3 2052 2130 2128 \n3 2132 1910 2134 \n3 1967 2223 2046 \n3 11940 12139 11933 \n3 1829 2052 1966 \n3 9824 14382 12188 \n3 12460 14690 13210 \n3 1966 2052 2128 \n3 5652 13922 6227 \n3 10325 1355 429 \n3 2365 9037 2395 \n3 2129 2055 1970 \n3 1854 1851 1706 \n3 11968 4249 12522 \n3 2403 2404 1836 \n3 7845 7772 662 \n3 4739 8236 14794 \n3 7353 1355 10325 \n3 2136 2226 1969 \n3 11297 14250 14487 \n3 2074 2249 1989 \n3 9344 5849 3788 \n3 2065 12332 2096 \n3 174 198 265 \n3 5702 1795 8500 \n3 2512 1921 1770 \n3 1843 2061 1981 \n3 8201 14704 14800 \n3 8429 4673 3411 \n3 1913 2069 2135 \n3 3638 11096 3752 \n3 1740 1066 7170 \n3 1842 1984 1919 \n3 1983 2059 2609 \n3 7514 7510 7498 \n3 12977 2834 2163 \n3 5993 14460 5950 \n3 2062 1768 1976 \n3 1921 2140 2066 \n3 14927 11541 13179 \n3 2227 2309 2062 \n3 11968 5632 6900 \n3 1773 2066 2064 \n3 1081 3219 11541 \n3 1924 1850 1985 \n3 13097 6631 12693 \n3 5115 12579 12538 \n3 1930 1987 2151 \n3 14400 9098 14355 \n3 14897 11537 5050 \n3 1360 1358 1240 \n3 2071 2156 2327 \n3 3808 5045 4997 \n3 5264 6239 2335 \n3 2521 2327 2420 \n3 1391 1514 1389 \n3 14425 14454 12538 \n3 3109 920 7901 \n3 1861 2326 1990 \n3 1932 1990 2075 \n3 2328 1932 2075 \n3 3448 3356 3668 \n3 2159 2251 1991 \n3 8268 14712 3578 \n3 9850 3496 11831 \n3 2434 1992 1994 \n3 14135 2753 2841 \n3 985 987 830 \n3 1740 5399 813 \n3 14999 1866 2078 \n3 2538 1995 2336 \n3 1990 2326 2526 \n3 13285 5264 2335 \n3 1133 987 985 \n3 10473 11946 12430 \n3 2343 2000 2340 \n3 1871 2161 2082 \n3 2001 2343 2543 \n3 13025 13016 6564 \n3 516 587 513 \n3 2537 2645 2436 \n3 1874 2003 2002 \n3 13947 12318 7491 \n3 12816 1525 2186 \n3 2090 2089 2170 \n3 1874 2088 2003 \n3 6068 3521 7421 \n3 1292 1547 1483 \n3 4337 4490 4483 \n3 3510 3669 11031 \n3 2092 2094 2171 \n3 2094 2095 2091 \n3 2094 2093 2007 \n3 2006 2095 2094 \n3 14038 8923 8819 \n3 2006 2175 2095 \n3 1800 2017 2183 \n3 2258 2169 2090 \n3 10133 12703 12662 \n3 2006 2094 2007 \n3 2006 2007 2176 \n3 797 830 693 \n3 12496 5695 10726 \n3 2470 2177 2366 \n3 2177 2368 2009 \n3 4249 14382 9824 \n3 1938 2013 1878 \n3 4795 2729 11286 \n3 2099 1937 2014 \n3 5091 11778 780 \n3 7881 8017 7748 \n3 1937 2102 2018 \n3 2103 1800 2182 \n3 2101 2183 2017 \n3 2369 2185 2103 \n3 4249 13331 14382 \n3 12044 2423 7512 \n3 8063 9060 13132 \n3 14318 1149 3961 \n3 1263 11670 13729 \n3 14485 14565 8083 \n3 3638 3525 11096 \n3 2185 2187 2021 \n3 1937 1796 2014 \n3 2483 1672 1704 \n3 2268 2381 2105 \n3 2381 2108 2105 \n3 1885 2021 2195 \n3 2194 2022 1805 \n3 7108 5653 4376 \n3 2196 2193 2024 \n3 14455 14255 14528 \n3 2197 2199 1945 \n3 2019 2017 1941 \n3 13797 1302 12435 \n3 2195 2197 1945 \n3 2565 2093 2092 \n3 12453 3140 10182 \n3 11946 3427 2806 \n3 412 14873 14625 \n3 2277 2112 1810 \n3 2032 1750 2114 \n3 2389 1889 2113 \n3 2277 1891 2109 \n3 14399 12337 1625 \n3 11238 7860 7668 \n3 2118 2488 2119 \n3 14799 12816 12836 \n3 1812 1897 1811 \n3 11499 5017 3416 \n3 6021 963 4467 \n3 9326 8321 11458 \n3 11499 3416 14678 \n3 1450 11343 2668 \n3 1897 1901 2122 \n3 1955 2119 2208 \n3 2041 2212 2042 \n3 1959 2289 2122 \n3 7353 9075 2985 \n3 2213 1813 1669 \n3 2036 2393 2217 \n3 14400 4337 4483 \n3 3114 4213 6503 \n3 13220 8928 4756 \n3 13717 10835 7464 \n3 9680 13938 13805 \n3 1567 1500 1380 \n3 3773 5053 5031 \n3 2293 1959 1823 \n3 2225 2054 1820 \n3 2797 2896 2791 \n3 2128 2293 1823 \n3 14657 14528 14255 \n3 49 820 10774 \n3 1830 2405 1907 \n3 1910 2132 2131 \n3 2052 2131 2130 \n3 2129 2295 2055 \n3 1966 2128 1823 \n3 6055 6056 5802 \n3 2295 2129 2049 \n3 1820 2047 2225 \n3 2054 2225 1771 \n3 11170 2494 4665 \n3 2297 2133 1837 \n3 1771 2225 2301 \n3 735 838 882 \n3 5578 10406 5941 \n3 923 884 921 \n3 2229 2136 1977 \n3 7612 8784 989 \n3 2296 1913 2135 \n3 2137 1975 2058 \n3 1976 2137 2227 \n3 1919 1767 1840 \n3 8344 7460 12262 \n3 959 5160 6558 \n3 2055 2512 1770 \n3 1991 2251 1989 \n3 2142 2230 2137 \n3 2227 2062 1976 \n3 2666 2575 3000 \n3 3303 12585 3984 \n3 3157 12585 3303 \n3 2141 1919 1984 \n3 2306 2061 2143 \n3 2144 2141 1984 \n3 1701 1984 1842 \n3 2556 4970 6213 \n3 11683 746 9383 \n3 1851 1986 2070 \n3 2141 2147 2142 \n3 2302 1986 2232 \n3 2144 1984 2064 \n3 14242 12199 9859 \n3 1414 1624 1705 \n3 2143 2061 2152 \n3 2140 2512 2604 \n3 2144 2154 2141 \n3 1987 2150 2236 \n3 2235 1986 2314 \n3 2239 2154 2144 \n3 2141 2154 2147 \n3 2154 2240 2147 \n3 5794 5586 6199 \n3 9267 10008 9137 \n3 2152 1985 2151 \n3 1253 1382 1255 \n3 1507 1655 1444 \n3 1325 1439 1256 \n3 1911 1969 1910 \n3 3026 2588 2391 \n3 3150 2937 3048 \n3 4998 5273 5165 \n3 3826 3928 4529 \n3 1929 1925 2304 \n3 2078 1993 2160 \n3 13334 12630 3303 \n3 5399 12629 813 \n3 7632 14773 3174 \n3 13210 11591 13864 \n3 2159 1991 1992 \n3 1991 1863 1992 \n3 1993 2077 2328 \n3 3023 2311 14926 \n3 14999 2160 2252 \n3 2160 14999 2078 \n3 4429 4396 4437 \n3 1995 2538 2079 \n3 5128 9021 8021 \n3 2000 2083 2340 \n3 8923 14038 14117 \n3 2555 2254 2349 \n3 1838 7491 7615 \n3 7757 2464 7596 \n3 2166 2165 2164 \n3 13260 14712 8268 \n3 1089 1253 1157 \n3 2080 2340 2083 \n3 2167 2001 2543 \n3 2166 2346 2165 \n3 2166 2254 2087 \n3 1615 5400 5459 \n3 2087 2169 2166 \n3 2166 2169 2346 \n3 4043 3469 3466 \n3 11196 3510 1176 \n3 2089 2087 2353 \n3 13939 13769 10990 \n3 12496 10726 5076 \n3 2089 2090 2169 \n3 12229 14286 13247 \n3 10252 8076 10264 \n3 3669 5162 11031 \n3 2094 2091 2171 \n3 2090 2095 2258 \n3 2090 2171 2091 \n3 2170 2171 2090 \n3 21 6910 11404 \n3 12178 11725 11275 \n3 2095 2090 2091 \n3 12332 2667 9303 \n3 10886 11601 10883 \n3 12085 9680 2379 \n3 14456 10229 14433 \n3 2165 2346 2337 \n3 5534 8076 10252 \n3 8926 13524 3199 \n3 1147 1047 1200 \n3 2175 2006 2176 \n3 1023 14421 5835 \n3 1800 1881 2017 \n3 12308 138 5706 \n3 2176 2007 2009 \n3 1486 1554 1362 \n3 2573 2176 2368 \n3 2010 2012 2472 \n3 8083 3243 14485 \n3 8937 5391 5397 \n3 2011 2264 2014 \n3 2099 2014 2264 \n3 2473 2100 2180 \n3 110 3585 12843 \n3 2013 2100 2473 \n3 9640 12430 11946 \n3 1800 2183 2182 \n3 9730 8730 12826 \n3 2102 2020 2018 \n3 2382 2194 2198 \n3 1492 1309 1369 \n3 2353 2254 2555 \n3 11843 9642 3396 \n3 14286 13277 12263 \n3 2104 2191 2269 \n3 2027 2198 1805 \n3 3140 12453 9640 \n3 13837 12769 11781 \n3 2191 2193 2272 \n3 2375 2192 2194 \n3 12453 12423 9640 \n3 2023 2193 2191 \n3 1891 2108 2109 \n3 2024 2107 2196 \n3 2200 2107 2110 \n3 2200 2196 2107 \n3 2027 2029 2198 \n3 9731 14015 9728 \n3 2118 2111 2201 \n3 2389 2113 2390 \n3 2112 2034 1810 \n3 1742 2113 1889 \n3 2685 2388 2389 \n3 14545 14556 11469 \n3 2391 2034 2112 \n3 2279 2035 2205 \n3 8083 12993 3243 \n3 2279 2037 2035 \n3 2491 1956 2207 \n3 3673 1735 2727 \n3 2041 2037 2279 \n3 2207 2213 2697 \n3 1717 1781 1634 \n3 10237 3725 14558 \n3 1758 2216 2286 \n3 3096 3100 3202 \n3 2588 2205 2391 \n3 3979 4341 3742 \n3 4664 256 2548 \n3 4529 10010 10906 \n3 10906 3826 4529 \n3 1817 2217 2047 \n3 2292 2217 2282 \n3 2282 2595 2292 \n3 2217 2292 2047 \n3 1966 1823 1828 \n3 12197 14389 5427 \n3 10043 12212 515 \n3 5297 5295 5480 \n3 2130 2293 2128 \n3 8784 14528 7858 \n3 2046 2223 2220 \n3 2225 2047 2292 \n3 522 10029 10057 \n3 8658 1154 11471 \n3 522 515 10029 \n3 11958 14972 11765 \n3 9294 9154 9291 \n3 3161 3290 3393 \n3 1325 1258 1506 \n3 2225 2292 2294 \n3 3949 2984 4940 \n3 2142 2147 2230 \n3 1985 2061 1924 \n3 2232 1920 2302 \n3 1499 1436 1382 \n3 2404 2304 1925 \n3 14507 8085 3884 \n3 10906 1081 11541 \n3 3782 6116 2745 \n3 1917 2310 2297 \n3 2405 1830 2296 \n3 2230 2313 2137 \n3 2137 2313 2227 \n3 2438 5399 7170 \n3 5282 7458 3051 \n3 2335 6239 7596 \n3 1740 7170 5399 \n3 2603 2229 2608 \n3 9580 9436 9493 \n3 2512 2140 1921 \n3 2230 2240 2313 \n3 2235 2070 1986 \n3 2059 2309 2233 \n3 3578 1795 14296 \n3 2233 2609 2059 \n3 2100 1880 2016 \n3 2309 2059 2062 \n3 2953 3166 3163 \n3 4093 13343 13363 \n3 3186 14125 13049 \n3 515 1558 10043 \n3 2256 6300 5643 \n3 2234 2144 2064 \n3 2604 2719 2140 \n3 2240 2318 2313 \n3 1555 4048 14661 \n3 2316 2151 2236 \n3 2237 2152 2151 \n3 2316 2237 2151 \n3 2237 2143 2152 \n3 3429 14125 3186 \n3 2144 2234 2239 \n3 1444 1655 1656 \n3 12492 5581 2728 \n3 1741 1652 1576 \n3 3596 3346 12285 \n3 657 1906 8849 \n3 1882 1654 1577 \n3 2240 2244 2318 \n3 7638 1641 7593 \n3 13386 3886 9231 \n3 2426 2322 2244 \n3 2154 2243 2240 \n3 2154 2155 2243 \n3 2324 2323 2239 \n3 2323 2155 2239 \n3 2154 2239 2155 \n3 1278 9829 12029 \n3 10185 10278 10253 \n3 2244 2240 2426 \n3 2243 2155 2424 \n3 3186 13049 3800 \n3 1864 2077 1993 \n3 2430 2156 2249 \n3 490 436 455 \n3 2126 14095 14077 \n3 2159 2532 2251 \n3 2329 1993 2328 \n3 2434 1994 2079 \n3 2329 2160 1993 \n3 7609 13285 10473 \n3 2531 2530 2532 \n3 10726 12629 5076 \n3 399 482 430 \n3 10473 13285 14970 \n3 6821 14747 9075 \n3 4042 3963 6617 \n3 2441 2164 2338 \n3 53 8470 2983 \n3 14973 1678 5544 \n3 4925 5160 959 \n3 963 2540 4467 \n3 802 803 699 \n3 2105 2020 2268 \n3 3425 14970 13285 \n3 2254 2166 2164 \n3 2382 2198 2029 \n3 189 157 103 \n3 11946 3140 9640 \n3 2003 2088 2351 \n3 2086 2167 2454 \n3 2257 2086 2454 \n3 2088 2257 2455 \n3 14196 13922 5652 \n3 2356 2089 2353 \n3 10215 5064 14919 \n3 14077 12059 3680 \n3 14068 12880 10133 \n3 6300 7319 11145 \n3 11857 11390 11393 \n3 2360 2092 2171 \n3 13400 2184 4936 \n3 2359 2355 2258 \n3 2095 2175 2259 \n3 4371 3261 3250 \n3 1909 10853 12879 \n3 10030 1459 1105 \n3 2176 2009 2368 \n3 9966 12051 10069 \n3 2569 2366 2364 \n3 13384 13602 14755 \n3 3081 4 1012 \n3 2177 2263 2368 \n3 2367 2176 2573 \n3 2011 2665 2265 \n3 1146 13150 13188 \n3 2012 2013 2473 \n3 2268 2102 2371 \n3 2011 2265 2264 \n3 2371 2102 2099 \n3 9957 14238 1530 \n3 1734 1501 1647 \n3 8236 4739 6991 \n3 2395 8304 13942 \n3 6040 9554 12734 \n3 2182 2369 2103 \n3 1760 1761 1904 \n3 1339 2358 12760 \n3 9075 10325 9243 \n3 2985 9075 14747 \n3 906 750 650 \n3 12424 1105 12415 \n3 2268 2480 2675 \n3 2269 2191 2272 \n3 12262 2606 12261 \n3 1551 1556 1413 \n3 2272 2193 2196 \n3 2197 2383 2199 \n3 2196 2200 2386 \n3 1088 9966 12371 \n3 2201 2111 2199 \n3 2199 2383 2201 \n3 2485 2277 2109 \n3 2274 2389 2388 \n3 2114 2276 2387 \n3 2356 2460 2089 \n3 13417 6877 11518 \n3 726 694 757 \n3 2126 14077 2115 \n3 2274 1889 2389 \n3 1956 2390 2113 \n3 2391 2112 2278 \n3 2390 1956 2491 \n3 12590 9755 3190 \n3 7353 10325 9075 \n3 2279 2205 2588 \n3 54 1021 1025 \n3 2491 2207 2695 \n3 13109 9681 12972 \n3 2586 2208 2119 \n3 11009 825 3788 \n3 13671 4510 14176 \n3 9850 11831 12221 \n3 3334 7262 10551 \n3 13707 12176 2423 \n3 2697 2213 2497 \n3 2214 2213 2045 \n3 13896 10749 9100 \n3 851 12103 11846 \n3 12162 12221 11831 \n3 2217 2393 2282 \n3 5427 12146 12197 \n3 2219 2284 2499 \n3 13623 1031 991 \n3 2987 2466 2863 \n3 2466 2765 2863 \n3 2125 2287 2216 \n3 2046 2220 2214 \n3 2290 2212 2596 \n3 3997 3540 3347 \n3 9711 309 5225 \n3 2400 2403 2809 \n3 498 530 564 \n3 1111 14408 3086 \n3 2130 2703 2293 \n3 7639 7286 7753 \n3 2406 2295 2123 \n3 2223 2133 2222 \n3 12044 6878 2341 \n3 2222 2133 2407 \n3 3999 1778 14140 \n3 2601 2225 2294 \n3 14766 14140 10564 \n3 4222 3880 3995 \n3 2134 2226 2508 \n3 2407 2133 2297 \n3 985 830 794 \n3 7282 1521 11362 \n3 2136 2409 2226 \n3 8353 11340 11245 \n3 2055 2295 2509 \n3 13540 2224 8090 \n3 2135 2507 2296 \n3 11324 11362 1521 \n3 6927 11324 1521 \n3 9799 14915 8644 \n3 2219 2809 2403 \n3 1753 1455 1457 \n3 2309 2227 2308 \n3 12372 10298 8231 \n3 2227 2313 2308 \n3 14708 14725 14699 \n3 1917 2609 2310 \n3 1910 1969 2134 \n3 6339 6391 34 \n3 1749 1664 1451 \n3 2306 1981 2061 \n3 4108 8867 4323 \n3 5269 3675 1374 \n3 2229 1981 2306 \n3 5086 9657 9726 \n3 2234 2064 2066 \n3 2313 2318 2308 \n3 1569 1436 1796 \n3 187 9919 2262 \n3 2150 2235 2314 \n3 2314 2236 2150 \n3 3245 7191 4507 \n3 10253 10194 10185 \n3 2244 2618 2318 \n3 2319 2324 2239 \n3 2244 2322 2618 \n3 12304 12224 12332 \n3 10063 9748 10065 \n3 2426 2240 2243 \n3 7735 7600 7739 \n3 139 130 85 \n3 13168 7612 4467 \n3 2324 2417 2421 \n3 2526 2245 2723 \n3 2071 2327 2521 \n3 2327 2156 2430 \n3 13521 2558 1568 \n3 7640 9772 8723 \n3 2251 2530 2074 \n3 2366 2261 2364 \n3 515 12212 10029 \n3 1292 1553 1547 \n3 14177 659 14171 \n3 2080 2252 2333 \n3 2333 2252 2633 \n3 2434 2079 2636 \n3 2343 2539 2752 \n3 5692 7580 5693 \n3 2639 2441 2338 \n3 803 997 769 \n3 2930 10375 14972 \n3 871 6051 4806 \n3 10426 12545 12572 \n3 2161 2342 2082 \n3 2342 2336 2082 \n3 13947 13492 12318 \n3 2942 4135 2946 \n3 10269 2347 2379 \n3 2444 2439 2443 \n3 4287 7025 3074 \n3 14582 14007 3609 \n3 14455 14528 8784 \n3 6318 5646 5604 \n3 13775 8965 1051 \n3 7669 659 633 \n3 507 506 615 \n3 10220 14470 3755 \n3 2175 2570 2259 \n3 2259 2359 2258 \n3 5064 10215 11602 \n3 1683 1821 1762 \n3 13257 3739 1459 \n3 14171 14710 14964 \n3 11166 724 11292 \n3 2466 2174 2565 \n3 9277 7344 14690 \n3 4009 4122 4491 \n3 4009 3888 4359 \n3 2351 2445 2003 \n3 3643 2673 630 \n3 2366 2468 2470 \n3 4111 12430 9640 \n3 11883 9640 12423 \n3 2575 2472 2012 \n3 1695 1604 1687 \n3 11883 4111 9640 \n3 8210 10288 10284 \n3 9849 12424 12415 \n3 2473 2575 2012 \n3 3003 3348 3440 \n3 2369 2182 2476 \n3 2373 2878 3004 \n3 5193 4280 3052 \n3 1880 1939 1570 \n3 2372 2269 2374 \n3 2674 2373 3004 \n3 2271 2578 2019 \n3 5039 14173 14181 \n3 2187 2373 2270 \n3 2374 2269 2272 \n3 12874 8050 1691 \n3 13054 13313 13053 \n3 2185 2479 2187 \n3 8839 5355 4082 \n3 2580 2481 2195 \n3 8991 8274 9144 \n3 2382 2029 2387 \n3 518 4362 3237 \n3 2387 2482 2382 \n3 2481 2580 2383 \n3 2196 2386 2581 \n3 429 14443 9243 \n3 2290 2042 2212 \n3 2486 2118 2201 \n3 2485 2683 2277 \n3 2119 2488 2586 \n3 5398 323 1914 \n3 12687 2959 13855 \n3 2489 1897 2392 \n3 11087 11117 4665 \n3 1906 13862 8849 \n3 2586 2393 2208 \n3 8779 4612 11060 \n3 2493 2279 2693 \n3 2388 2386 2200 \n3 2495 2392 2122 \n3 2495 2492 2392 \n3 1775 1713 2562 \n3 1897 2122 2392 \n3 2695 2207 2697 \n3 5887 7170 2985 \n3 5918 9243 14443 \n3 2497 2213 2214 \n3 13329 8847 13239 \n3 2212 2280 2596 \n3 1278 12029 7645 \n3 2592 2284 2286 \n3 2286 2216 2592 \n3 2287 2592 2216 \n3 5200 4928 5022 \n3 8368 3544 5866 \n3 2219 2499 2809 \n3 2220 2222 2503 \n3 2398 2501 2922 \n3 2405 2709 2501 \n3 10130 10144 10335 \n3 2123 2290 2406 \n3 11836 9039 10540 \n3 6009 3716 9309 \n3 2130 2131 2597 \n3 2703 2289 2293 \n3 14683 14793 9682 \n3 2383 2885 2486 \n3 2486 2201 2383 \n3 2711 2131 2132 \n3 2405 2296 2507 \n3 5935 7792 5878 \n3 3725 10234 9362 \n3 2031 9629 11750 \n3 5399 13186 12629 \n3 2140 2234 2066 \n3 14976 8246 8948 \n3 3397 3393 3290 \n3 3925 12706 3752 \n3 3925 3752 10675 \n3 2301 2514 2302 \n3 2055 2509 2512 \n3 13131 13136 14947 \n3 12629 13186 5076 \n3 11373 3419 1009 \n3 2306 2608 2229 \n3 2233 2414 2609 \n3 11242 11919 10578 \n3 2309 2415 2233 \n3 9711 5225 5119 \n3 2478 13868 1906 \n3 9682 13968 14473 \n3 3355 3966 14139 \n3 2148 2241 2521 \n3 14841 14842 2505 \n3 2733 2428 2323 \n3 9588 13752 11802 \n3 2420 2327 2427 \n3 2323 2428 2155 \n3 2324 2421 2627 \n3 2155 2428 2424 \n3 11750 212 13650 \n3 7612 14455 8784 \n3 9098 7118 4303 \n3 8167 10671 1632 \n3 2427 2430 2527 \n3 2733 2323 2324 \n3 10514 1515 645 \n3 2327 2430 2427 \n3 7668 2334 1071 \n3 2122 2289 2495 \n3 4111 1024 12430 \n3 1855 1930 2151 \n3 2526 2075 1990 \n3 12360 2411 13942 \n3 2736 2328 2528 \n3 2736 2329 2328 \n3 4750 4762 2758 \n3 2636 2079 2538 \n3 2436 2535 2534 \n3 2887 6617 3963 \n3 9380 14767 3678 \n3 13334 3303 3984 \n3 9651 9653 9376 \n3 1218 4176 11547 \n3 931 999 1089 \n3 2102 2268 2020 \n3 2639 2338 2536 \n3 2337 2339 2536 \n3 2447 2448 2449 \n3 1459 3739 14072 \n3 2641 2342 2161 \n3 2538 2336 2642 \n3 2436 2645 2439 \n3 2446 2339 2337 \n3 2448 2550 2453 \n3 14167 7673 621 \n3 7669 14171 659 \n3 2538 2642 2638 \n3 2638 2642 2748 \n3 2443 2439 2645 \n3 2854 2447 2551 \n3 2539 2343 2340 \n3 6984 14930 10138 \n3 2447 2444 2443 \n3 2446 2747 2339 \n3 6227 1009 3408 \n3 6397 6391 5821 \n3 2645 2448 2443 \n3 2443 2448 2447 \n3 1286 2552 138 \n3 5604 12960 10984 \n3 2564 2559 2653 \n3 5965 5846 12669 \n3 2453 2451 2449 \n3 2447 2449 2551 \n3 2444 2535 2439 \n3 14094 13470 14020 \n3 753 14882 8306 \n3 1030 13260 13099 \n3 14174 4221 13090 \n3 2355 2346 2169 \n3 13798 5183 2299 \n3 2088 2455 2351 \n3 5489 7961 4194 \n3 2206 1942 568 \n3 5053 6244 5031 \n3 2451 2453 2456 \n3 5392 5391 7834 \n3 2438 7170 5887 \n3 2553 2355 2359 \n3 11298 11372 11783 \n3 5353 205 14472 \n3 2353 2555 2356 \n3 3161 3162 3290 \n3 2456 2453 2649 \n3 984 3491 5677 \n3 3810 4160 3489 \n3 2557 2456 2461 \n3 2356 2650 2460 \n3 13296 871 13525 \n3 2467 2359 2259 \n3 2560 2461 2563 \n3 11718 21 4980 \n3 5399 1582 13186 \n3 5482 12424 2076 \n3 2466 2568 2364 \n3 3738 8211 6078 \n3 2466 2364 2174 \n3 2259 2570 2467 \n3 2565 2092 2360 \n3 2170 2360 2171 \n3 2467 2570 2661 \n3 2470 2263 2177 \n3 10770 10773 11777 \n3 2573 2572 2367 \n3 2231 8976 6617 \n3 2466 2565 2765 \n3 2263 2573 2368 \n3 2182 2183 2476 \n3 13913 10518 11166 \n3 2265 2665 2778 \n3 2577 2575 2473 \n3 2480 2265 2778 \n3 13417 11518 13383 \n3 6355 6061 6790 \n3 2101 2370 2183 \n3 2777 2369 2476 \n3 2104 2269 2180 \n3 2372 2180 2269 \n3 6604 6610 7696 \n3 2180 2372 2473 \n3 6815 959 6558 \n3 2372 2374 2880 \n3 2373 2187 2479 \n3 9805 9794 1462 \n3 13117 13581 13115 \n3 2375 2879 2271 \n3 2409 2136 2603 \n3 2187 2270 2021 \n3 6040 8470 9554 \n3 1022 11297 3934 \n3 1529 1609 1684 \n3 7968 1997 3733 \n3 2374 2272 2581 \n3 2021 2270 2195 \n3 6996 1378 7165 \n3 13186 12707 5076 \n3 2196 2581 2272 \n3 2481 2383 2197 \n3 2194 2382 2375 \n3 1865 1638 1867 \n3 2376 2485 2381 \n3 2381 2485 2109 \n3 2482 2387 2681 \n3 5745 6827 10311 \n3 9445 14971 2973 \n3 3496 9850 12353 \n3 13930 13890 329 \n3 2482 2681 2678 \n3 2386 2388 2582 \n3 2382 2482 2375 \n3 1149 7815 1068 \n3 2486 2488 2118 \n3 2278 2277 2683 \n3 291 9505 1322 \n3 14747 11539 5887 \n3 2685 2389 2490 \n3 6984 6748 8644 \n3 3026 2692 2588 \n3 2799 2800 2791 \n3 5174 9763 5032 \n3 7815 1149 14722 \n3 2492 2489 2392 \n3 6376 1024 4111 \n3 2785 2489 2900 \n3 1378 13643 2775 \n3 4647 11087 4665 \n3 2693 2279 2588 \n3 2590 2393 2586 \n3 9315 9276 11494 \n3 2586 2798 2590 \n3 2484 2888 2681 \n3 12981 12982 12983 \n3 12542 8837 9285 \n3 11518 11511 13383 \n3 2593 2592 2287 \n3 2287 2398 2593 \n3 9663 11808 7489 \n3 2944 12542 9285 \n3 2515 9064 9063 \n3 2929 2403 2400 \n3 2601 2294 2710 \n3 309 5086 323 \n3 1959 2293 2289 \n3 9034 1852 8200 \n3 2290 2596 2406 \n3 6117 13623 991 \n3 2596 2599 2406 \n3 14763 14762 10293 \n3 2614 2143 2237 \n3 2292 2595 2710 \n3 2597 2131 2708 \n3 2292 2710 2294 \n3 2659 2564 2653 \n3 2319 2417 2324 \n3 2405 2507 2709 \n3 2406 2599 2509 \n3 2929 2404 2403 \n3 5935 3525 7792 \n3 5774 5770 5472 \n3 13285 7609 5264 \n3 4636 4413 4638 \n3 9342 9820 5174 \n3 2409 2508 2226 \n3 3870 3872 4203 \n3 202 14518 6200 \n3 3925 12864 12725 \n3 2601 2514 2301 \n3 2507 2135 2148 \n3 2680 2383 2580 \n3 3106 1289 1280 \n3 2310 2513 2297 \n3 2602 2304 2404 \n3 2821 2608 2306 \n3 166 186 113 \n3 2615 2321 2304 \n3 2602 2615 2304 \n3 1600 1685 1686 \n3 2306 2143 2519 \n3 14770 8953 8200 \n3 3316 2149 13902 \n3 10396 2438 5887 \n3 5086 309 9711 \n3 2827 2613 2314 \n3 2236 2314 2613 \n3 14758 12429 12417 \n3 2514 3048 2820 \n3 5076 4275 12496 \n3 4289 3820 3824 \n3 2613 2316 2236 \n3 2436 2534 2533 \n3 4275 12707 11883 \n3 2243 2425 2426 \n3 138 2552 1334 \n3 2722 2322 2625 \n3 8867 8900 1675 \n3 2953 2625 2950 \n3 12707 13186 9181 \n3 2324 2732 2733 \n3 1831 3899 5174 \n3 9848 12166 11457 \n3 9657 5086 9711 \n3 5878 7792 2944 \n3 5032 9342 5174 \n3 2438 1582 5399 \n3 2426 2523 2322 \n3 14798 1795 3578 \n3 13965 1392 11871 \n3 11883 12423 4275 \n3 2737 2329 2736 \n3 14668 920 3109 \n3 13718 13730 14807 \n3 2434 2532 2159 \n3 2636 2840 2434 \n3 5981 6266 6546 \n3 2536 2338 2337 \n3 1557 1416 1485 \n3 2339 2747 2634 \n3 765 743 14177 \n3 2752 2543 2343 \n3 13558 5034 8926 \n3 2641 2642 2342 \n3 2444 3087 2851 \n3 2756 2747 2446 \n3 1024 10473 12430 \n3 12707 4275 5076 \n3 2566 2560 2563 \n3 3863 8550 10222 \n3 3347 2780 3221 \n3 2723 2734 2526 \n3 12676 7946 14774 \n3 3081 6110 2121 \n3 2543 2545 2167 \n3 10001 11976 11076 \n3 2980 2546 2351 \n3 2445 2351 2546 \n3 2446 2346 2350 \n3 13686 14774 7932 \n3 8315 7905 7943 \n3 7587 7843 7841 \n3 2350 2553 2756 \n3 6244 5053 5084 \n3 2305 2117 10461 \n3 2492 2900 2489 \n3 2980 2351 2549 \n3 2276 2785 2484 \n3 2555 2650 2356 \n3 2461 2860 2557 \n3 2364 2261 2174 \n3 12055 9302 9526 \n3 9526 9302 11326 \n3 10396 1582 2438 \n3 14902 8565 9765 \n3 8315 13684 14760 \n3 2460 2857 2360 \n3 2467 2766 2359 \n3 2564 2566 2563 \n3 2559 2564 2563 \n3 2564 2660 2566 \n3 2324 2627 2732 \n3 11539 10396 5887 \n3 2816 2814 2508 \n3 2476 2183 2576 \n3 8427 597 13795 \n3 1011 1062 864 \n3 6821 9243 11599 \n3 11724 9505 291 \n3 2366 2569 2468 \n3 2263 2664 2573 \n3 1970 1695 1687 \n3 10849 4346 14821 \n3 2472 2575 2666 \n3 2773 2263 2470 \n3 2767 2772 2468 \n3 4963 593 4979 \n3 3565 2624 4589 \n3 13725 11530 10502 \n3 2372 2577 2473 \n3 2777 2671 2369 \n3 10030 12424 5482 \n3 7563 10421 10392 \n3 9037 2365 2357 \n3 2480 2371 2265 \n3 2271 2879 2578 \n3 5440 4987 4889 \n3 9436 11232 11753 \n3 8014 1048 2433 \n3 2270 2373 2674 \n3 2674 2580 2195 \n3 2674 2676 2580 \n3 2185 2369 2479 \n3 2996 2777 2476 \n3 1282 1476 1346 \n3 2374 2677 2880 \n3 5887 2985 14747 \n3 2362 8220 8837 \n3 1912 11324 4314 \n3 3011 2880 2677 \n3 2582 2581 2386 \n3 2513 2407 2297 \n3 2484 2681 2387 \n3 2581 2677 2374 \n3 2686 2488 2486 \n3 2200 2274 2388 \n3 1974 12007 12935 \n3 1068 7815 7704 \n3 2683 2786 2793 \n3 2885 2686 2486 \n3 3026 2391 2687 \n3 2779 7009 11341 \n3 2490 2491 2688 \n3 6437 9304 13477 \n3 10518 724 11166 \n3 10853 8363 8364 \n3 1018 12621 1107 \n3 10196 5918 8172 \n3 2391 2278 2687 \n3 2114 1897 2489 \n3 6239 10196 8172 \n3 13267 8083 14565 \n3 2075 2526 2528 \n3 2590 2282 2393 \n3 13890 11841 5248 \n3 1449 2034 2035 \n3 9272 173 4647 \n3 2190 1916 12673 \n3 2284 2805 2499 \n3 2693 2588 2692 \n3 12495 13347 275 \n3 2497 2214 2503 \n3 2696 2280 2493 \n3 5264 10196 6239 \n3 14558 3725 13805 \n3 2807 2495 2289 \n3 7609 10031 5264 \n3 598 8261 3294 \n3 2807 2289 2703 \n3 2592 2805 2284 \n3 4510 6300 13148 \n3 3042 2596 2280 \n3 9260 7193 173 \n3 11836 13914 9039 \n3 2703 2597 2707 \n3 2620 12579 6044 \n3 3941 442 1641 \n3 2577 2372 2880 \n3 2830 14898 14939 \n3 2503 2222 2928 \n3 12611 1631 434 \n3 2130 2597 2703 \n3 2928 2222 3047 \n3 2665 2999 2778 \n3 2710 2713 2601 \n3 3047 2222 2407 \n3 1405 14793 14683 \n3 2406 2509 2295 \n3 14744 11912 13990 \n3 5231 23 8935 \n3 9820 202 9914 \n3 2508 2814 2134 \n3 2409 2933 2508 \n3 2618 2415 2318 \n3 2817 2513 2607 \n3 2507 2148 2715 \n3 2409 2603 2933 \n3 2318 2415 2308 \n3 2308 2415 2309 \n3 3046 2509 2599 \n3 14909 1302 13797 \n3 2512 2509 2818 \n3 2512 2818 2604 \n3 7196 8283 4553 \n3 10473 12755 7609 \n3 2514 2820 2302 \n3 10602 11096 5935 \n3 2557 2451 2456 \n3 13601 3908 7532 \n3 2821 2717 2824 \n3 2820 2610 2302 \n3 2310 2609 2414 \n3 205 2623 4837 \n3 2237 2316 2614 \n3 2140 2719 2417 \n3 2716 2517 2935 \n3 2140 2417 2234 \n3 13868 13862 1906 \n3 2805 3035 2910 \n3 2517 2521 2420 \n3 11086 11883 12707 \n3 2461 2560 2860 \n3 2618 3056 2415 \n3 2526 2326 2245 \n3 4303 4297 4166 \n3 3274 3267 3151 \n3 13079 7609 12755 \n3 2948 2627 2619 \n3 2627 2421 2619 \n3 12181 13935 12020 \n3 2829 2619 2421 \n3 2723 2245 2615 \n3 14730 6804 6798 \n3 11086 4111 11883 \n3 11086 6376 4111 \n3 2627 2730 2732 \n3 2627 2948 2730 \n3 6044 6133 4829 \n3 2219 1602 2286 \n3 9445 2973 1797 \n3 740 14664 714 \n3 2322 2950 2625 \n3 1614 14647 13580 \n3 2249 2074 2530 \n3 2734 2528 2526 \n3 2835 2424 2428 \n3 1622 4135 11100 \n3 10347 7458 14943 \n3 13079 10031 7609 \n3 8663 1555 14661 \n3 2838 2961 2958 \n3 2531 2532 2840 \n3 7346 13892 1589 \n3 2842 2846 2633 \n3 2633 2329 2842 \n3 2634 2536 2339 \n3 2632 2535 2851 \n3 2632 2534 2535 \n3 1113 2413 1141 \n3 5772 5779 3500 \n3 2967 2637 2846 \n3 1458 4326 12421 \n3 3083 2639 2536 \n3 2535 2444 2851 \n3 2751 2642 2641 \n3 1127 1137 1118 \n3 2537 2436 2533 \n3 13722 373 12564 \n3 2634 2747 2850 \n3 2545 2543 2752 \n3 4756 6219 13710 \n3 2440 2546 2641 \n3 2645 2537 2754 \n3 3120 3446 3119 \n3 4275 12453 12496 \n3 4674 5581 2721 \n3 8934 4303 4166 \n3 14356 2025 3588 \n3 2350 2355 2553 \n3 3090 2455 2646 \n3 3090 2549 2455 \n3 2646 2757 3090 \n3 2360 2857 2861 \n3 8235 14655 14611 \n3 2992 2771 2867 \n3 10422 13320 14339 \n3 2453 2550 2649 \n3 5032 4942 13903 \n3 3197 2553 2858 \n3 6316 8947 9181 \n3 2764 2653 2649 \n3 670 704 628 \n3 14712 14732 3578 \n3 2766 2553 2359 \n3 13637 12564 373 \n3 7874 13686 7932 \n3 2861 2765 2360 \n3 14870 5047 12628 \n3 13890 13930 11841 \n3 2703 2707 2920 \n3 6396 5960 6120 \n3 6396 13352 5960 \n3 1134 4110 96 \n3 14173 10653 14172 \n3 14645 9233 14892 \n3 2532 2530 2251 \n3 1229 5150 1224 \n3 2659 2660 2564 \n3 1294 13670 8077 \n3 8923 4166 5026 \n3 2231 2432 8976 \n3 2660 2662 2567 \n3 1588 525 5584 \n3 2767 2569 2568 \n3 2570 2993 2661 \n3 2364 2568 2569 \n3 5026 8819 8923 \n3 2868 2992 2662 \n3 2572 2993 2570 \n3 2772 2773 2468 \n3 2472 2666 2665 \n3 2570 2367 2572 \n3 7011 6906 1539 \n3 2999 2665 2666 \n3 3468 3258 3575 \n3 4161 1165 1174 \n3 2777 2776 2671 \n3 2883 2376 3121 \n3 2370 2576 2183 \n3 9145 9181 13186 \n3 3429 13062 14125 \n3 2369 2671 2479 \n3 2578 2875 2774 \n3 2575 2577 3000 \n3 4204 14363 14799 \n3 12440 14425 12538 \n3 14731 3637 7864 \n3 2749 339 7011 \n3 3112 2577 2880 \n3 2480 2778 2877 \n3 14668 2325 920 \n3 33 43 22 \n3 2848 2533 2965 \n3 2675 3113 3121 \n3 2879 2375 3009 \n3 3346 3596 1613 \n3 2476 2576 2996 \n3 2376 2675 3121 \n3 2681 3009 2678 \n3 2388 2684 2582 \n3 3197 2756 2553 \n3 2885 2383 2680 \n3 1127 11743 2422 \n3 2489 2276 2114 \n3 2683 2485 2786 \n3 2430 2249 2527 \n3 14460 14442 5950 \n3 4166 10596 5026 \n3 4665 11117 11170 \n3 2684 2685 2688 \n3 2794 2586 2488 \n3 2794 2488 2686 \n3 2276 2489 2785 \n3 2688 2685 2490 \n3 2490 2390 2491 \n3 9505 9517 1322 \n3 2695 2796 2491 \n3 3343 10653 2210 \n3 2493 2280 2279 \n3 2795 2799 2791 \n3 14380 1294 3204 \n3 2940 2607 2310 \n3 2904 2796 2695 \n3 2492 2495 2907 \n3 6498 12879 6457 \n3 2528 2328 2075 \n3 2495 2698 2907 \n3 2590 2798 2804 \n3 14456 2658 14469 \n3 2592 2593 2699 \n3 2701 2280 2696 \n3 5161 2712 1363 \n3 1919 1537 1767 \n3 3142 2398 2922 \n3 2701 3042 2280 \n3 2599 2596 3042 \n3 7636 7559 943 \n3 2425 2523 2426 \n3 5588 13337 14220 \n3 6821 11599 512 \n3 2597 2708 2707 \n3 7636 14135 7559 \n3 2713 2710 2924 \n3 2709 2813 2922 \n3 2530 2531 2249 \n3 14967 8550 8531 \n3 1258 1445 1506 \n3 2929 2602 2404 \n3 2750 10824 5075 \n3 3048 2601 2713 \n3 2514 2601 3048 \n3 6821 11613 14747 \n3 2759 2557 2860 \n3 9290 10963 4588 \n3 2715 2148 2716 \n3 6685 290 1470 \n3 2821 2822 2608 \n3 5832 6380 6379 \n3 2677 2884 3119 \n3 837 1045 1043 \n3 172 5408 13415 \n3 3467 9829 14106 \n3 2946 5391 5392 \n3 2125 2501 2398 \n3 2952 3062 2425 \n3 2720 2316 2613 \n3 2316 2720 2828 \n3 2415 3056 2939 \n3 2415 2414 2233 \n3 2517 2420 2427 \n3 3722 4882 8254 \n3 2831 2618 3057 \n3 8937 5397 6834 \n3 11539 14747 11574 \n3 8950 8769 9080 \n3 7857 14876 3744 \n3 4710 2591 14851 \n3 2523 2425 2833 \n3 1531 1479 1532 \n3 2424 2952 2425 \n3 14836 9584 13735 \n3 2829 3158 2619 \n3 4568 4668 4460 \n3 14668 5256 5262 \n3 383 12569 7251 \n3 182 218 148 \n3 1113 1141 10215 \n3 13903 4942 11682 \n3 2829 2421 2417 \n3 4483 4490 7118 \n3 2735 2528 2734 \n3 14647 1614 7190 \n3 2735 2736 2528 \n3 10217 9155 8122 \n3 2836 2737 2736 \n3 2838 2958 2740 \n3 3528 9973 14237 \n3 4015 1918 11803 \n3 2838 2740 2632 \n3 2741 2838 2632 \n3 10061 5898 12443 \n3 2606 12262 9106 \n3 10396 9601 1582 \n3 2634 2850 2963 \n3 3178 3076 3171 \n3 3809 2873 4823 \n3 5059 13573 11550 \n3 7323 7332 14658 \n3 2970 2638 2748 \n3 2846 2637 2333 \n3 2967 2974 2637 \n3 8844 7482 657 \n3 2333 2637 2539 \n3 3083 2536 2634 \n3 2752 2539 2637 \n3 2604 3158 2719 \n3 2441 2639 3188 \n3 2751 2641 2853 \n3 6173 5569 6013 \n3 2362 8837 12542 \n3 3188 2644 2441 \n3 2223 1967 2133 \n3 1401 1685 1472 \n3 2642 2852 2748 \n3 2411 12360 1025 \n3 9712 9699 8664 \n3 675 553 488 \n3 2444 2447 2854 \n3 2546 2440 2445 \n3 3217 3757 3108 \n3 3090 3320 3321 \n3 2455 2454 2646 \n3 2757 2646 2454 \n3 2981 2349 2644 \n3 13729 5150 1229 \n3 2550 2645 2754 \n3 13320 6064 13318 \n3 2455 2549 2351 \n3 2550 2754 2859 \n3 2032 2114 2029 \n3 2349 3196 2650 \n3 1176 11583 25 \n3 14939 14898 6294 \n3 2551 2557 2759 \n3 2649 2550 2859 \n3 2349 2650 2555 \n3 2551 2451 2557 \n3 1977 2136 1911 \n3 2649 2653 2559 \n3 1030 13099 14565 \n3 14545 93 6222 \n3 2860 2560 2991 \n3 2525 1286 2498 \n3 3096 2860 2991 \n3 2858 2766 2661 \n3 9196 9671 7592 \n3 6376 1856 12755 \n3 5779 1232 2452 \n3 2497 2918 2697 \n3 13512 12821 13960 \n3 1676 1523 1601 \n3 13296 13525 14527 \n3 2767 2568 2987 \n3 3100 2991 3205 \n3 110 12843 12317 \n3 406 322 299 \n3 7092 1539 6906 \n3 5162 3669 3935 \n3 3148 3380 3581 \n3 2660 2868 2662 \n3 88 7091 115 \n3 2277 1810 1891 \n3 13692 11630 13742 \n3 2992 2868 2771 \n3 2991 2567 2992 \n3 2866 2868 2660 \n3 2866 3105 2868 \n3 3429 2138 14521 \n3 2263 2773 2871 \n3 2997 2576 2872 \n3 3337 2773 2772 \n3 3217 2778 2999 \n3 5438 7675 4336 \n3 1176 25 1190 \n3 12358 12789 12128 \n3 1999 2083 15000 \n3 2907 2900 2492 \n3 2834 3243 12993 \n3 12092 3966 10331 \n3 142 12688 267 \n3 2376 2786 2485 \n3 14799 12836 14114 \n3 5624 5429 5727 \n3 14712 13260 6573 \n3 12443 5898 13477 \n3 3001 2578 2879 \n3 11045 11524 11301 \n3 8076 5534 4284 \n3 2774 3214 2872 \n3 2675 2480 2877 \n3 2521 2517 2148 \n3 2845 2968 3185 \n3 2891 2895 2789 \n3 8236 6991 1893 \n3 2334 2345 2384 \n3 14691 11566 13601 \n3 2946 4121 5397 \n3 7323 14658 10512 \n3 228 7520 13025 \n3 5005 7203 1174 \n3 14557 7958 14338 \n3 2686 2890 3130 \n3 2686 2885 2890 \n3 5950 14442 13381 \n3 13693 13674 11587 \n3 2799 2905 2908 \n3 7805 13973 14230 \n3 2388 2685 2684 \n3 2793 2687 2683 \n3 230 257 170 \n3 2795 2791 2789 \n3 2905 3138 2908 \n3 11993 12116 13383 \n3 3244 3026 2793 \n3 9485 11605 7492 \n3 2688 2491 2796 \n3 2688 2796 3024 \n3 2793 3026 2687 \n3 3022 2905 2795 \n3 8265 8524 8523 \n3 2791 2800 2797 \n3 2800 2801 2797 \n3 2797 2801 2901 \n3 1141 9 17 \n3 1702 1620 1484 \n3 2909 2801 2913 \n3 7891 14223 746 \n3 2800 2913 2801 \n3 2567 2657 2660 \n3 746 14223 9383 \n3 3314 3616 2967 \n3 2799 2913 2800 \n3 14308 12774 14230 \n3 6196 2228 10721 \n3 10661 5965 12669 \n3 2909 2901 2801 \n3 5835 14421 5697 \n3 13454 8594 7026 \n3 1912 10308 5596 \n3 14209 11165 11055 \n3 5704 14394 3886 \n3 2254 2164 2441 \n3 2700 2909 2916 \n3 2282 2811 2595 \n3 2593 2398 2917 \n3 13838 5918 10196 \n3 2495 2807 2698 \n3 2807 2703 2920 \n3 7575 8623 7574 \n3 9041 8201 14818 \n3 2809 2700 2916 \n3 2920 2707 2923 \n3 11166 8684 13913 \n3 2385 1118 2402 \n3 3263 3378 2922 \n3 2843 3083 2634 \n3 6328 5058 6293 \n3 2924 2595 2811 \n3 8947 11086 12707 \n3 2708 2923 2707 \n3 2785 2900 2894 \n3 3042 3046 2599 \n3 2924 2710 2595 \n3 14610 7999 14807 \n3 1582 9556 13186 \n3 3468 2923 2925 \n3 2932 2713 2924 \n3 3735 3520 3426 \n3 2507 2813 2709 \n3 14563 6685 14549 \n3 5697 13360 14488 \n3 2813 2507 2715 \n3 2927 2711 2814 \n3 2366 2174 2261 \n3 3484 2602 2929 \n3 2713 2932 3048 \n3 3665 1672 2483 \n3 7636 943 13608 \n3 14747 11613 11574 \n3 3047 2407 2817 \n3 11436 8285 9186 \n3 13381 5872 5950 \n3 2816 2933 3268 \n3 2508 2933 2816 \n3 2715 2716 2935 \n3 7258 13626 1218 \n3 3078 3501 3312 \n3 4651 13260 8268 \n3 14419 14220 12336 \n3 2937 2610 2820 \n3 1160 1159 1324 \n3 2517 2716 2148 \n3 2823 2610 2937 \n3 2607 2940 3385 \n3 5632 11968 11583 \n3 4580 4364 4119 \n3 2614 2316 2828 \n3 2717 2519 2614 \n3 10496 10719 9902 \n3 6581 12958 4458 \n3 2519 2821 2306 \n3 14244 7572 3661 \n3 8500 1795 10153 \n3 3058 2726 2953 \n3 2427 3055 2517 \n3 2944 9285 5878 \n3 2427 2527 3055 \n3 5293 2874 4060 \n3 2952 2835 2951 \n3 2733 2732 3065 \n3 2833 2950 2523 \n3 2523 2950 2322 \n3 2310 2414 2939 \n3 2048 8720 4290 \n3 2948 2619 3160 \n3 6748 5250 5246 \n3 12829 13457 14495 \n3 1432 1497 1318 \n3 1619 7473 7502 \n3 2531 2957 2249 \n3 3067 2956 2951 \n3 13337 5588 5423 \n3 1775 13362 7736 \n3 14421 13360 5697 \n3 2527 2249 2957 \n3 7163 7160 9074 \n3 3061 2527 2957 \n3 5678 1678 3549 \n3 2837 2737 2836 \n3 7063 13400 4936 \n3 4553 4556 7184 \n3 2434 2840 2532 \n3 2636 2845 2840 \n3 13492 7460 12318 \n3 2741 2632 2849 \n3 9832 169 11537 \n3 2963 2844 2634 \n3 3076 2740 2958 \n3 3568 3783 3564 \n3 2632 2851 2849 \n3 9817 9529 9523 \n3 2845 2638 2968 \n3 7103 2395 9037 \n3 12304 2558 13865 \n3 12304 13865 12224 \n3 5677 6770 5691 \n3 2846 2333 2633 \n3 14389 4029 5427 \n3 9095 6999 9071 \n3 2974 2752 2637 \n3 14965 9909 14464 \n3 2751 2852 2642 \n3 2972 2640 2747 \n3 11570 6927 1521 \n3 2748 3187 2970 \n3 2852 2751 2853 \n3 2972 2747 2756 \n3 2545 2752 2974 \n3 3087 2444 2854 \n3 2853 2546 2980 \n3 12261 2606 11328 \n3 3197 2972 2756 \n3 5282 8799 7458 \n3 369 445 421 \n3 2537 2848 2754 \n3 2540 10786 14174 \n3 2451 2551 2449 \n3 14347 13299 5275 \n3 2446 2350 2756 \n3 13547 9300 9015 \n3 9181 8947 12707 \n3 2857 2650 3196 \n3 7294 7162 6807 \n3 4458 12958 1979 \n3 13693 9388 9412 \n3 3275 5492 4380 \n3 2649 2859 2764 \n3 2010 2665 2011 \n3 8055 135 11447 \n3 13342 3939 1988 \n3 14967 8531 10368 \n3 5636 5351 5538 \n3 1546 1346 1476 \n3 3480 449 4482 \n3 2659 2653 2764 \n3 13707 2423 2341 \n3 2987 2990 2767 \n3 2398 2287 2125 \n3 12697 13735 9584 \n3 2659 3207 2866 \n3 2766 2467 2661 \n3 4221 10717 13090 \n3 14317 3669 3510 \n3 2871 2773 3337 \n3 3977 5280 5238 \n3 2871 2664 2263 \n3 12149 12286 14780 \n3 2774 2872 2576 \n3 1178 3523 1425 \n3 989 11084 7612 \n3 5047 13378 13409 \n3 6044 13423 6133 \n3 8172 7596 6239 \n3 3000 2577 3003 \n3 10483 9590 10265 \n3 2671 2878 2479 \n3 12628 5047 5269 \n3 2778 3217 2877 \n3 7505 939 10717 \n3 2777 3212 2776 \n3 8507 9658 8651 \n3 2676 2674 2780 \n3 12424 10030 1105 \n3 3009 3224 2879 \n3 2880 3230 3112 \n3 971 1162 1100 \n3 2884 2581 2582 \n3 1875 1352 3626 \n3 7541 6411 6467 \n3 3113 2675 2877 \n3 5266 926 7572 \n3 2900 3131 2894 \n3 2884 2677 2581 \n3 3003 3112 3110 \n3 3344 2172 5582 \n3 7768 1136 2189 \n3 49 4191 10680 \n3 2484 2785 2888 \n3 2885 3354 2890 \n3 3235 2884 2787 \n3 11541 3219 13179 \n3 2891 2789 2896 \n3 2785 2894 3014 \n3 2895 3239 3127 \n3 3127 2795 2895 \n3 2896 2797 2897 \n3 2897 2797 3018 \n3 12336 14220 13337 \n3 2787 2684 2898 \n3 3014 2888 2785 \n3 3127 3022 2795 \n3 2901 3018 2797 \n3 3133 2905 3022 \n3 3031 2586 2794 \n3 2907 3131 2900 \n3 1875 12538 1352 \n3 2375 2271 2192 \n3 2904 3034 2796 \n3 14267 14657 14255 \n3 2902 2901 2906 \n3 10138 3040 6984 \n3 12374 4724 10450 \n3 2906 2910 3029 \n3 3035 3029 2910 \n3 3508 3610 3185 \n3 2798 2586 3031 \n3 14308 12836 12774 \n3 2909 2910 2906 \n3 2901 2909 2906 \n3 12457 10334 1703 \n3 3563 3684 3026 \n3 2697 2904 2695 \n3 2804 2798 3137 \n3 7572 14344 3661 \n3 4088 4426 4173 \n3 13498 7026 8594 \n3 2913 2916 2909 \n3 13490 13494 6564 \n3 2700 2805 2909 \n3 2697 2918 2904 \n3 2913 2915 2916 \n3 2699 2805 2592 \n3 4804 14678 3416 \n3 2699 3253 3035 \n3 2916 2400 2809 \n3 4329 4338 3088 \n3 1903 13452 5669 \n3 1765 1410 1409 \n3 2922 3378 3142 \n3 2915 3254 2400 \n3 2804 2811 2590 \n3 2923 2708 2925 \n3 3289 3389 11417 \n3 9556 1582 9601 \n3 2501 2709 2922 \n3 2502 4219 13713 \n3 6236 1031 1173 \n3 3987 5704 3886 \n3 2813 2715 3049 \n3 2625 2953 2726 \n3 5704 3987 14056 \n3 2924 3264 2932 \n3 8211 2718 6098 \n3 14984 1509 12242 \n3 14244 5266 7572 \n3 3151 3047 2817 \n3 4780 14231 2864 \n3 12031 5030 6990 \n3 2933 2603 3154 \n3 12606 9341 2959 \n3 6222 14556 14545 \n3 2818 3054 2604 \n3 5954 3395 14430 \n3 3357 3546 3016 \n3 2938 2822 2821 \n3 11514 8516 13362 \n3 2939 2940 2310 \n3 6376 12755 1024 \n3 3054 3158 2604 \n3 9186 8285 7819 \n3 2720 2613 2827 \n3 2828 2717 2614 \n3 8658 7167 13547 \n3 3281 3160 3158 \n3 6340 2556 3086 \n3 2935 2517 3055 \n3 3732 3979 3636 \n3 13079 12755 6364 \n3 1423 6014 2652 \n3 9657 21 12055 \n3 3162 3057 3058 \n3 2833 3165 2950 \n3 2667 9209 9303 \n3 3164 3286 3179 \n3 7129 7556 13476 \n3 12606 12630 9341 \n3 12151 2540 14174 \n3 2717 2821 2519 \n3 13121 3583 1241 \n3 3062 2952 2956 \n3 3166 2953 2950 \n3 2952 2424 2835 \n3 5256 3502 5262 \n3 2730 2948 3164 \n3 6501 5241 3980 \n3 2955 2733 3065 \n3 1713 1775 7736 \n3 2254 2353 2087 \n3 2952 2951 2956 \n3 13540 3227 14894 \n3 3066 3062 2956 \n3 3068 3066 2956 \n3 3068 3071 3066 \n3 2835 2733 2955 \n3 8160 984 5729 \n3 2735 2836 2736 \n3 3295 2531 3181 \n3 10445 5160 14573 \n3 3301 2732 2730 \n3 3295 2957 2531 \n3 2842 2837 3184 \n3 8268 3578 14296 \n3 3078 3184 2837 \n3 2741 2966 2961 \n3 2842 2737 2837 \n3 2533 3076 2965 \n3 3184 2967 2842 \n3 3312 3184 3078 \n3 6198 5511 3892 \n3 3613 3311 2966 \n3 3187 3317 2970 \n3 7091 11395 115 \n3 2967 2846 2842 \n3 1312 1371 1494 \n3 2638 2845 2636 \n3 2844 2843 2634 \n3 14056 3987 13600 \n3 2968 2638 2970 \n3 14602 339 354 \n3 12421 9965 9989 \n3 3748 3989 3433 \n3 3189 2640 2972 \n3 2851 3087 2849 \n3 9300 11537 169 \n3 11693 13920 13143 \n3 7556 7068 1136 \n3 3089 2854 3323 \n3 11803 10091 13536 \n3 11683 9383 7751 \n3 13094 10632 2410 \n3 27 11240 5441 \n3 2980 3418 2853 \n3 2981 3193 2349 \n3 13304 13264 9001 \n3 13671 14176 13098 \n3 9556 9145 13186 \n3 2551 3323 2854 \n3 3191 2980 2549 \n3 12176 13771 2520 \n3 10061 1423 2663 \n3 2759 3323 2551 \n3 3519 2859 2754 \n3 6514 5784 11178 \n3 3094 3323 2759 \n3 8241 7181 7180 \n3 3346 12301 7864 \n3 14139 2005 13445 \n3 6058 6210 5707 \n3 3891 4124 3660 \n3 4805 4224 4488 \n3 8706 395 3963 \n3 1189 1295 1138 \n3 2759 2860 3096 \n3 2986 2863 2765 \n3 5240 5353 13408 \n3 2863 2986 3099 \n3 2764 2859 3097 \n3 88 1094 9111 \n3 2657 2991 2560 \n3 3831 4072 4081 \n3 13090 10717 13445 \n3 1122 13400 11345 \n3 2767 3431 2772 \n3 7033 7068 11341 \n3 172 13415 4004 \n3 8306 14898 753 \n3 5602 993 7477 \n3 2572 2995 2993 \n3 9883 7866 8831 \n3 3886 13386 3987 \n3 2895 2891 3233 \n3 3108 2877 3217 \n3 2777 2996 3212 \n3 2341 2423 12044 \n3 5687 5788 5900 \n3 14799 14363 7974 \n3 13214 2401 8914 \n3 2999 2666 3000 \n3 2376 2883 2786 \n3 2879 3223 3001 \n3 2370 2774 2576 \n3 12227 2498 83 \n3 6133 12812 5955 \n3 3647 3336 3333 \n3 10575 13065 13230 \n3 2879 3224 3223 \n3 5749 6339 12961 \n3 13469 12528 13542 \n3 504 11765 14773 \n3 4826 10293 2682 \n3 4736 4404 4283 \n3 2881 2676 2780 \n3 2882 2680 2881 \n3 2880 3011 3446 \n3 6923 13377 9128 \n3 3351 3113 3543 \n3 13230 13065 3969 \n3 5053 6328 5084 \n3 3354 2885 2882 \n3 3966 1792 14139 \n3 3123 2888 3014 \n3 12374 1306 1281 \n3 2680 2882 2885 \n3 13103 14122 1778 \n3 5685 5480 5786 \n3 2896 2897 3016 \n3 2688 2898 2684 \n3 12736 14990 3825 \n3 3018 3125 2897 \n3 3025 3029 3455 \n3 3018 2901 2902 \n3 3539 90 1232 \n3 267 302 142 \n3 2795 2905 2799 \n3 3022 3127 3129 \n3 2902 2906 3025 \n3 3029 3030 3455 \n3 3034 3132 3024 \n3 3034 3024 2796 \n3 2401 2331 14780 \n3 646 489 641 \n3 1399 14464 9909 \n3 3029 3035 3030 \n3 2904 2918 3139 \n3 2905 3133 3138 \n3 14780 2331 2266 \n3 11131 11544 2285 \n3 3138 3038 2908 \n3 10061 2663 1438 \n3 2907 2698 3374 \n3 2448 2645 2550 \n3 2910 2909 2805 \n3 3035 3253 3036 \n3 2916 2915 2400 \n3 2593 2917 2699 \n3 6992 13363 13343 \n3 12880 14076 10331 \n3 3035 2805 2699 \n3 3159 7586 3145 \n3 14095 14091 14077 \n3 2497 2503 2918 \n3 6877 8253 11518 \n3 2400 3262 2929 \n3 13352 6396 7009 \n3 3800 14093 3739 \n3 6610 5238 5280 \n3 9292 11569 13955 \n3 3374 2920 2923 \n3 3263 2813 3382 \n3 3263 2922 2813 \n3 5503 6959 4257 \n3 3928 7020 4529 \n3 5632 3935 6900 \n3 3380 3148 3046 \n3 13239 6685 14563 \n3 3049 2715 2935 \n3 3268 2933 3154 \n3 3149 2932 3264 \n3 3045 2816 3268 \n3 2607 3152 2817 \n3 3267 3047 3151 \n3 2818 2509 3046 \n3 2678 2375 2482 \n3 3149 3478 3150 \n3 3152 3151 2817 \n3 11622 2076 9849 \n3 2176 2367 2175 \n3 2389 2390 2490 \n3 8368 7901 3544 \n3 3048 2937 2820 \n3 2937 3591 2823 \n3 2939 3385 2940 \n3 2625 2726 2722 \n3 2610 2823 2827 \n3 12958 8677 3093 \n3 4022 9692 5144 \n3 3278 2720 2827 \n3 3280 2717 2828 \n3 14067 3680 12059 \n3 2619 3158 3160 \n3 3282 2939 3056 \n3 5017 10215 14919 \n3 3634 14060 12662 \n3 13321 6992 13343 \n3 13352 11289 5960 \n3 8226 12963 2038 \n3 3056 2831 3282 \n3 3055 2527 3061 \n3 4663 8949 5146 \n3 3161 3057 3162 \n3 3164 2948 3160 \n3 1459 1269 1105 \n3 11760 11059 11315 \n3 2833 3062 3066 \n3 3301 3065 2732 \n3 2951 2955 3168 \n3 2833 3066 3165 \n3 13362 1775 11514 \n3 3284 3167 2735 \n3 10661 12669 3574 \n3 3920 3580 3257 \n3 2835 2955 2951 \n3 9001 11286 36 \n3 3598 2957 3295 \n3 5960 11289 9007 \n3 3165 3066 3297 \n3 1469 6655 13138 \n3 13947 7491 1838 \n3 2957 3598 3061 \n3 3168 3067 2951 \n3 3175 3067 3168 \n3 3171 3290 3497 \n3 3071 3069 3066 \n3 3066 3069 3297 \n3 1230 3511 11968 \n3 3406 3067 3175 \n3 2956 3067 3068 \n3 3068 3406 3407 \n3 1536 2760 3829 \n3 11326 9436 9580 \n3 2961 3172 2958 \n3 3076 3075 3171 \n3 3068 3407 3071 \n3 3493 2837 2836 \n3 5846 10514 7710 \n3 2411 1021 11612 \n3 3496 12353 9929 \n3 3399 2837 3493 \n3 5077 5045 3808 \n3 14196 13151 13922 \n3 1947 1742 2110 \n3 3181 3305 3295 \n3 2844 2963 3079 \n3 2961 2838 2741 \n3 2533 2740 3076 \n3 3185 3610 2840 \n3 60 1063 36 \n3 14306 14309 14604 \n3 2849 3412 2966 \n3 3188 2639 3083 \n3 354 6815 14602 \n3 14236 2038 12521 \n3 8226 2038 14236 \n3 3856 2848 2965 \n3 8582 11722 9616 \n3 12521 2038 11804 \n3 3318 2545 2974 \n3 2452 1232 11689 \n3 2411 1025 1021 \n3 4572 4349 4675 \n3 10009 2401 14780 \n3 13896 9100 3102 \n3 3822 3708 3827 \n3 3192 3191 2549 \n3 2980 3191 3418 \n3 1052 9007 23 \n3 2549 3090 3192 \n3 13487 5526 3273 \n3 7563 7580 10421 \n3 9064 11839 8948 \n3 2184 13400 95 \n3 5632 5162 3935 \n3 11328 13736 12261 \n3 14610 493 14506 \n3 2857 3196 3328 \n3 2665 2010 2472 \n3 5441 11240 4792 \n3 2456 2559 2461 \n3 2053 429 1355 \n3 2649 2559 2456 \n3 12096 12103 851 \n3 2765 2861 3328 \n3 14768 14508 10384 \n3 3198 3099 2986 \n3 6874 23 9007 \n3 3099 2987 2863 \n3 8468 6589 6595 \n3 515 522 2589 \n3 7563 5602 12382 \n3 9266 13547 7167 \n3 9456 9318 9878 \n3 6911 7105 7351 \n3 2987 3099 2990 \n3 4684 4227 4484 \n3 1698 14380 7336 \n3 6759 6592 6322 \n3 2870 3432 3208 \n3 12461 12875 12877 \n3 2764 3336 3207 \n3 13934 12856 11897 \n3 2764 3207 2659 \n3 2767 2990 3101 \n3 2867 3205 2991 \n3 2992 2867 2991 \n3 3770 3240 3769 \n3 2867 3208 3205 \n3 3210 3105 2866 \n3 6340 8653 1234 \n3 2868 3105 2869 \n3 13862 8844 8849 \n3 3341 2664 2871 \n3 3694 3473 3382 \n3 14780 12850 12149 \n3 12720 10500 12797 \n3 3339 2870 3342 \n3 13235 11216 11183 \n3 2999 3000 3217 \n3 4165 4072 4069 \n3 10432 5979 5109 \n3 2878 3221 3004 \n3 1558 3582 10043 \n3 14177 9904 765 \n3 3000 3440 3218 \n3 2577 3112 3003 \n3 3159 13864 10930 \n3 14792 7946 12676 \n3 2898 2688 3024 \n3 3113 2877 3541 \n3 3541 3543 3113 \n3 6044 4829 2620 \n3 10278 3926 2127 \n3 3115 2881 2780 \n3 3446 3444 2880 \n3 5146 8949 6902 \n3 12213 5841 9914 \n3 2888 3012 2681 \n3 8928 5146 4715 \n3 3661 14056 13883 \n3 13959 13970 11591 \n3 14347 5275 5215 \n3 3231 3012 3123 \n3 3120 2884 3235 \n3 9914 202 12089 \n3 2401 10009 12799 \n3 5409 309 323 \n3 3232 3123 3014 \n3 4124 3758 3660 \n3 3009 3012 3226 \n3 3130 3354 3240 \n3 11803 13536 9090 \n3 3558 3014 2894 \n3 10009 14780 12286 \n3 3241 3125 3018 \n3 2787 2898 3453 \n3 6869 4696 4718 \n3 3241 3018 2902 \n3 1018 1107 451 \n3 290 1475 3738 \n3 2686 3130 2794 \n3 1480 298 12039 \n3 2898 3024 3132 \n3 3453 2898 3132 \n3 7428 3498 2511 \n3 9071 3126 13380 \n3 3038 2913 2908 \n3 3136 2692 3684 \n3 2361 2385 2345 \n3 14874 2762 2803 \n3 3026 3684 2692 \n3 3267 3587 3260 \n3 3137 3031 3247 \n3 2904 3139 3034 \n3 2908 2913 2799 \n3 3246 2907 3373 \n3 5225 302 267 \n3 3252 2696 3136 \n3 7871 8865 8855 \n3 2907 3374 3373 \n3 14915 9799 13812 \n3 3030 3036 3368 \n3 3030 3368 3564 \n3 3255 2804 3137 \n3 10898 13955 11569 \n3 2804 3255 3039 \n3 2696 3259 2701 \n3 14244 13075 13459 \n3 3374 2807 2920 \n3 3378 3376 3142 \n3 2925 3258 3468 \n3 9677 6040 13791 \n3 4843 9057 7003 \n3 3468 3379 2923 \n3 1619 1627 7287 \n3 13684 8315 13700 \n3 5058 6328 5053 \n3 2400 3254 3262 \n3 14524 5912 145 \n3 13990 9728 1408 \n3 2928 3047 3267 \n3 11127 6783 11107 \n3 8779 13019 8766 \n3 14416 10450 4724 \n3 7449 6125 10783 \n3 3484 2929 3479 \n3 3048 3149 3150 \n3 7560 2432 3276 \n3 4477 4684 4897 \n3 3267 3260 2928 \n3 2937 3150 3153 \n3 3152 2607 3385 \n3 3153 3591 2937 \n3 4756 8928 13203 \n3 3590 3698 3804 \n3 13171 13203 8912 \n3 3544 7901 2344 \n3 3484 2723 2602 \n3 12374 136 1306 \n3 1275 1274 1169 \n3 3279 2828 2720 \n3 2824 2717 3280 \n3 2618 2831 3056 \n3 3278 3279 2720 \n3 3057 2618 2722 \n3 1540 2763 1539 \n3 1769 1605 1690 \n3 7344 12852 12876 \n3 2950 3165 3166 \n3 9162 9163 9724 \n3 2857 2460 2650 \n3 3162 3058 3497 \n3 3599 3286 3944 \n3 1088 14055 9966 \n3 3165 3291 3166 \n3 3065 3168 2955 \n3 2735 2734 3284 \n3 3167 2836 2735 \n3 3497 3058 3163 \n3 7344 8274 12852 \n3 6169 6151 14053 \n3 3170 3168 3065 \n3 3295 3305 3606 \n3 13136 13131 8883 \n3 10234 3725 14923 \n3 4082 5355 10397 \n3 10280 2311 7204 \n3 3763 3766 3769 \n3 3071 3605 3069 \n3 3168 3170 3175 \n3 3164 3160 3286 \n3 6455 2782 3977 \n3 3071 3407 3605 \n3 3164 3300 3296 \n3 3182 2844 3179 \n3 3292 3172 3180 \n3 14051 1437 410 \n3 3175 3503 3406 \n3 6883 11183 11216 \n3 3069 3605 3304 \n3 13184 3073 11137 \n3 3172 2961 3180 \n3 3172 3075 2958 \n3 3075 3076 2958 \n3 12286 7724 10009 \n3 3883 3998 4117 \n3 3076 3178 3315 \n3 3079 3179 2844 \n3 3315 2965 3076 \n3 2963 3310 3079 \n3 2963 2850 3310 \n3 3405 3310 2850 \n3 3306 3079 3310 \n3 2961 2966 3311 \n3 2840 3610 3181 \n3 3189 3405 2850 \n3 3313 3083 2843 \n3 3313 2843 3182 \n3 2968 3410 3185 \n3 3187 2748 2852 \n3 2966 2741 2849 \n3 5177 9082 8066 \n3 5955 4829 6133 \n3 3954 3720 3956 \n3 10985 11657 11544 \n3 14602 6815 6558 \n3 3259 3380 3042 \n3 2848 3514 2982 \n3 12374 10450 12440 \n3 3087 3858 2849 \n3 710 1774 10457 \n3 2117 2305 11735 \n3 2834 9690 3243 \n3 3089 3087 2854 \n3 14241 3570 3215 \n3 2437 3609 4860 \n3 6114 6532 6256 \n3 10750 6444 843 \n3 14976 11071 8246 \n3 3320 3090 2757 \n3 1943 2191 2104 \n3 4211 14801 14813 \n3 926 11022 10663 \n3 2104 1646 1943 \n3 2411 2412 3572 \n3 2319 2234 2417 \n3 9380 7375 11113 \n3 3326 2986 3327 \n3 13861 10396 11539 \n3 5280 5293 6610 \n3 13908 14981 10479 \n3 12166 14003 11998 \n3 11839 14976 8948 \n3 4480 3364 6716 \n3 14957 10347 12807 \n3 3737 2858 3428 \n3 3198 2986 3325 \n3 7548 7496 5941 \n3 964 5039 2260 \n3 4123 4000 4006 \n3 2478 8915 13868 \n3 3325 3330 3198 \n3 14346 14348 14597 \n3 3096 3202 3426 \n3 14172 10653 14156 \n3 2661 3340 3428 \n3 3933 4057 4279 \n3 14703 11063 9290 \n3 6339 12913 12961 \n3 3340 2993 2995 \n3 2610 2827 2314 \n3 12227 2474 2498 \n3 7572 926 14344 \n3 2603 2608 2822 \n3 13492 13947 3903 \n3 2869 3342 2870 \n3 13861 9601 10396 \n3 13092 14950 13562 \n3 2997 3212 2996 \n3 284 5704 14417 \n3 2776 3212 3533 \n3 10963 10976 4588 \n3 3214 2875 3532 \n3 2671 2776 3439 \n3 2774 2875 3214 \n3 3217 3000 3218 \n3 5409 323 5398 \n3 3439 3345 2878 \n3 5900 6034 5687 \n3 10280 651 12796 \n3 3656 3757 3217 \n3 5133 9667 7348 \n3 12791 10193 14936 \n3 1657 1662 1513 \n3 2881 2680 2580 \n3 3230 3110 3112 \n3 3230 2880 3444 \n3 3587 3702 3802 \n3 3012 3231 3229 \n3 3113 3351 3121 \n3 3115 3350 2882 \n3 1019 5048 11199 \n3 4722 132 14488 \n3 3107 3223 3536 \n3 9144 9229 680 \n3 2787 3559 3238 \n3 2891 3445 3233 \n3 2511 3498 3490 \n3 8274 11136 9144 \n3 4124 3994 3758 \n3 4033 8255 14850 \n3 11591 13970 12908 \n3 4337 8326 4490 \n3 2890 3354 3130 \n3 3241 3357 3125 \n3 14926 2311 13830 \n3 2895 3356 3239 \n3 4815 4240 4245 \n3 4669 4659 4339 \n3 12874 12839 8023 \n3 7098 6255 7560 \n3 3232 3014 3558 \n3 3241 2902 3242 \n3 6640 6484 7156 \n3 10767 7438 6128 \n3 3127 3239 3556 \n3 2894 3131 3558 \n3 2503 2214 2220 \n3 3452 3242 2902 \n3 3025 3452 2902 \n3 2787 3453 3559 \n3 3025 3455 3452 \n3 8819 11300 14038 \n3 1099 12825 12839 \n3 3131 2907 3246 \n3 3130 3247 3031 \n3 12839 12874 1099 \n3 3129 3133 3022 \n3 2794 3130 3031 \n3 10152 10350 9937 \n3 3370 3138 3133 \n3 3247 3461 3137 \n3 3785 3784 4035 \n3 3139 3460 3034 \n3 2918 3475 3139 \n3 3370 3038 3138 \n3 4383 8301 6433 \n3 3372 3370 3567 \n3 3038 3372 3254 \n3 3031 3137 2798 \n3 5318 8246 8631 \n3 2917 3142 3376 \n3 3054 2818 3046 \n3 7488 4695 1906 \n3 7262 3334 2043 \n3 13296 14527 4106 \n3 5956 3675 228 \n3 3376 3464 2917 \n3 13045 8729 11025 \n3 3475 2918 3260 \n3 597 14902 13795 \n3 3260 2918 2928 \n3 1378 548 13643 \n3 3889 3546 3358 \n3 1226 11131 2273 \n3 7520 228 3675 \n3 1210 9356 9437 \n3 3259 3042 2701 \n3 3263 3382 3473 \n3 3257 3264 3039 \n3 12688 5119 267 \n3 2929 3262 3479 \n3 2711 2927 2925 \n3 3147 2927 3045 \n3 12866 12246 10827 \n3 1163 1154 8658 \n3 3049 3382 2813 \n3 4326 3213 12421 \n3 3584 3045 3268 \n3 11086 1841 6376 \n3 12882 12879 10849 \n3 3589 3269 3148 \n3 2932 3149 3048 \n3 3049 2935 3271 \n3 9895 9754 9893 \n3 3271 2935 3486 \n3 64 109 91 \n3 6462 878 12883 \n3 14452 14450 14214 \n3 12513 5489 1691 \n3 3282 3388 2939 \n3 8935 13149 4325 \n3 14887 8419 8427 \n3 3486 3055 3277 \n3 172 4004 12607 \n3 3279 3705 2828 \n3 3705 3280 2828 \n3 3488 3386 2824 \n3 10356 2139 2138 \n3 8896 12930 10835 \n3 3393 3391 3161 \n3 3944 3286 3160 \n3 2827 2823 3278 \n3 10663 11022 419 \n3 3842 3315 3178 \n3 8783 13611 6878 \n3 10331 13828 13487 \n3 4373 13109 7984 \n3 3119 3446 3011 \n3 2566 2660 2657 \n3 9245 14871 1961 \n3 6685 13239 290 \n3 3057 3161 2831 \n3 12718 9245 14866 \n3 1354 8819 5026 \n3 3171 3075 3290 \n3 3075 3397 3290 \n3 5890 14504 11435 \n3 3176 13022 6652 \n3 3286 3302 3179 \n3 8263 9315 12434 \n3 3300 3164 3179 \n3 3171 3497 3400 \n3 1388 1384 1441 \n3 2279 2212 2041 \n3 3093 8705 13008 \n3 3296 3300 3306 \n3 3301 3403 3170 \n3 3297 3304 3401 \n3 7532 14691 13601 \n3 14904 6717 4942 \n3 10234 14923 14295 \n3 3306 3310 3301 \n3 3310 3403 3301 \n3 764 622 666 \n3 1354 11300 8819 \n3 3397 3075 3292 \n3 1852 9034 14847 \n3 3079 3300 3179 \n3 4265 4147 3581 \n3 4266 14555 4216 \n3 3499 3401 3304 \n3 5058 67 86 \n3 3069 3304 3297 \n3 3306 3300 3079 \n3 5218 5407 5410 \n3 8703 10973 6644 \n3 3182 3179 3402 \n3 3864 3197 3737 \n3 5704 10942 14394 \n3 3717 3600 3499 \n3 3180 2961 3311 \n3 14929 14685 13979 \n3 3314 3184 3312 \n3 3613 2966 3412 \n3 3847 3405 3189 \n3 10196 5264 10031 \n3 5821 6391 5749 \n3 7857 6259 14876 \n3 11240 6312 11283 \n3 3410 2968 2970 \n3 3858 3412 2849 \n3 3188 3083 3313 \n3 3617 3188 3313 \n3 2674 3004 2780 \n3 538 7967 11873 \n3 2853 3187 2852 \n3 3415 3318 2974 \n3 2853 3418 3619 \n3 2981 3188 3621 \n3 3618 2972 3516 \n3 4783 11330 4780 \n3 3512 2981 3621 \n3 3090 3321 3192 \n3 9001 13264 13263 \n3 3191 3192 3420 \n3 9383 14223 4099 \n3 2150 1987 2070 \n3 5861 3585 4727 \n3 10237 14558 10297 \n3 3516 3197 3864 \n3 3734 3097 3519 \n3 4106 8091 13296 \n3 3631 3327 3517 \n3 3426 3094 3096 \n3 284 11082 5704 \n3 3328 3196 3515 \n3 10866 8647 12947 \n3 14506 7946 14792 \n3 3197 2858 3737 \n3 3325 2986 3326 \n3 2870 3208 2867 \n3 3528 5678 9973 \n3 10632 13094 14159 \n3 6044 12579 5115 \n3 3328 3517 3327 \n3 6727 8608 10743 \n3 3388 3595 3593 \n3 5704 11082 10942 \n3 3061 3277 3055 \n3 8296 7194 2775 \n3 3333 3336 2764 \n3 2460 2170 2089 \n3 8663 14797 1555 \n3 3333 2764 3097 \n3 2767 3101 3431 \n3 3046 3269 3054 \n3 4058 3929 4398 \n3 3432 2870 3339 \n3 14666 14676 732 \n3 5027 4830 4728 \n3 4394 4728 4830 \n3 2869 2771 2868 \n3 3871 3337 3431 \n3 3651 3340 2995 \n3 3745 3526 3339 \n3 3642 3205 3208 \n3 10786 2540 963 \n3 3210 2866 3207 \n3 6115 10235 992 \n3 3433 2869 3105 \n3 3433 3342 2869 \n3 4337 4286 7560 \n3 13707 2341 3573 \n3 3531 3212 3434 \n3 3339 3433 3745 \n3 3531 3533 3212 \n3 3436 3652 3435 \n3 2872 3214 3435 \n3 4595 4817 4596 \n3 12540 6101 12545 \n3 2671 3439 2878 \n3 4138 3789 4145 \n3 6009 2652 3716 \n3 14792 13718 7999 \n3 6115 992 5409 \n3 3537 3541 3108 \n3 3110 3659 3348 \n3 3108 3757 3537 \n3 10813 8326 6255 \n3 11030 13013 14060 \n3 3659 3110 3230 \n3 3541 2877 3108 \n3 3536 3223 3224 \n3 2432 7560 4286 \n3 8465 8006 12675 \n3 10397 12864 10675 \n3 10663 14344 926 \n3 3226 3012 3229 \n3 14317 14327 3669 \n3 12675 7943 8465 \n3 3769 3354 2882 \n3 3446 3666 3444 \n3 5238 6455 3977 \n3 3232 3231 3123 \n3 3362 3121 3351 \n3 3947 3598 3712 \n3 3445 3016 3546 \n3 12912 12883 895 \n3 2897 3125 3357 \n3 3769 3240 3354 \n3 1094 13367 9111 \n3 3356 2895 3233 \n3 14655 5262 3502 \n3 14655 8235 5262 \n3 14947 13136 2051 \n3 3357 3241 3358 \n3 3366 3120 3235 \n3 9740 1030 14565 \n3 3356 3448 3239 \n3 3359 3358 3241 \n3 3242 3359 3241 \n3 3238 3559 3366 \n3 4822 9650 49 \n3 3557 3130 3240 \n3 3239 3448 3556 \n3 3448 3775 3556 \n3 4459 4199 4103 \n3 3556 3451 3129 \n3 5332 8839 4082 \n3 3561 3456 3247 \n3 3561 3247 3130 \n3 3131 3246 3454 \n3 5156 6293 1433 \n3 3034 3459 3132 \n3 3034 3682 3459 \n3 2857 3328 2861 \n3 3456 3461 3247 \n3 3249 3252 3136 \n3 10720 12736 1905 \n3 11838 11138 11374 \n3 2967 3184 3314 \n3 2022 1652 1805 \n3 9765 8579 14908 \n3 3038 3370 3372 \n3 6717 14904 4779 \n3 14508 14768 13613 \n3 6766 4060 2886 \n3 1053 1204 998 \n3 3687 3259 3252 \n3 4338 10328 3088 \n3 2981 2644 3188 \n3 14579 14527 13525 \n3 3374 3790 3373 \n3 3374 2923 3379 \n3 920 2344 7901 \n3 3255 3257 3039 \n3 3039 3264 2924 \n3 8290 3843 9490 \n3 4546 2260 3408 \n3 4612 8779 2506 \n3 3379 3468 3791 \n3 14373 14729 5266 \n3 698 697 625 \n3 3577 3263 3797 \n3 3260 3587 3475 \n3 12650 14754 14726 \n3 8077 13670 7934 \n3 10054 9882 10704 \n3 1154 1163 6225 \n3 3691 3804 3478 \n3 14910 14408 1111 \n3 3382 3049 3271 \n3 6918 6867 6902 \n3 3268 3807 3584 \n3 3268 3154 3807 \n3 3698 3150 3478 \n3 10829 12857 1403 \n3 3150 3590 3153 \n3 3485 3154 2938 \n3 2831 3161 3391 \n3 3810 3281 3054 \n3 13063 6680 13045 \n3 3591 3487 2823 \n3 14065 14044 14050 \n3 3278 2823 3487 \n3 5093 5007 5568 \n3 11055 13922 13151 \n3 8313 1393 8270 \n3 13203 13171 4756 \n3 3488 3280 3705 \n3 3385 3388 3593 \n3 10009 12208 12799 \n3 7934 14722 1149 \n3 2432 2231 5291 \n3 3978 4195 4193 \n3 3282 3391 3388 \n3 3595 3391 3709 \n3 3391 3393 3709 \n3 4792 11216 5441 \n3 3827 3277 3061 \n3 6550 6864 6849 \n3 3827 3061 3598 \n3 3284 3828 3167 \n3 11593 7704 13629 \n3 12194 10009 7724 \n3 14839 14591 2450 \n3 3720 3954 3504 \n3 3601 3497 3495 \n3 8087 10308 4314 \n3 7704 11593 12620 \n3 12495 275 14589 \n3 3163 3495 3497 \n3 14056 10663 14417 \n3 3497 3290 3162 \n3 14344 10663 14056 \n3 3397 3292 3180 \n3 3493 3830 3399 \n3 11599 5918 7338 \n3 3712 3295 3606 \n3 2887 5166 6617 \n3 3172 3292 3075 \n3 4118 3882 4354 \n3 3401 3499 3600 \n3 2266 13214 9231 \n3 3603 3605 3407 \n3 12246 12866 6444 \n3 5058 2738 67 \n3 7593 14701 7638 \n3 12440 10450 14425 \n3 3403 3310 3405 \n3 3405 3175 3403 \n3 3504 3954 3839 \n3 3305 3181 3606 \n3 3606 3181 3610 \n3 6864 6850 6849 \n3 1201 1147 1200 \n3 3607 3313 3182 \n3 11082 284 5319 \n3 3410 3317 3508 \n3 3856 2965 3315 \n3 12636 12615 1784 \n3 4235 6966 4225 \n3 3230 3767 3659 \n3 3514 2848 3856 \n3 3621 3188 3617 \n3 3623 3619 3418 \n3 3191 3420 3418 \n3 3440 3000 3003 \n3 2883 3365 3244 \n3 5156 7546 6362 \n3 11404 12055 21 \n3 3320 3318 3415 \n3 6596 4326 3201 \n3 13855 7805 12687 \n3 3089 3858 3087 \n3 9691 9995 9543 \n3 8953 8900 14829 \n3 14373 5266 14244 \n3 3630 3326 3631 \n3 3426 3520 3094 \n3 8303 8862 8154 \n3 7797 5933 4887 \n3 3326 3327 3631 \n3 266 992 302 \n3 3097 3734 3333 \n3 13334 9341 12630 \n3 3428 4335 3737 \n3 3198 3101 3099 \n3 3636 3198 3330 \n3 1833 1843 1977 \n3 14024 14394 9671 \n3 3636 3431 3101 \n3 3640 3100 3205 \n3 4483 9098 14400 \n3 3340 3870 3428 \n3 3340 3527 3870 \n3 3526 3642 3208 \n3 3210 3336 3529 \n3 3336 3210 3207 \n3 3214 3532 3436 \n3 939 963 3390 \n3 3337 3871 3341 \n3 2578 2774 2370 \n3 2886 5363 6766 \n3 3651 2664 3341 \n3 3651 2995 2664 \n3 7323 10512 383 \n3 14217 10990 2864 \n3 14016 11930 1405 \n3 14056 3661 14344 \n3 2997 3435 3434 \n3 7838 5766 1552 \n3 3212 2997 3434 \n3 1354 450 11300 \n3 3532 3216 3534 \n3 1552 5766 14475 \n3 3216 3441 3534 \n3 11427 14496 14490 \n3 3217 3218 3656 \n3 3129 3127 3556 \n3 2776 3533 3439 \n3 3436 3653 3652 \n3 5014 5010 5292 \n3 3345 3347 3221 \n3 3347 3115 2780 \n3 3756 3441 3758 \n3 3540 3763 3115 \n3 2331 13214 2266 \n3 7936 8224 8078 \n3 14773 11765 9499 \n3 4057 4278 4279 \n3 10235 7447 992 \n3 12675 12672 8315 \n3 3115 3347 3540 \n3 2174 2093 2565 \n3 4965 4859 4544 \n3 11402 5269 13419 \n3 12183 10000 4564 \n3 3654 3754 4351 \n3 3231 3232 3771 \n3 3669 14327 12282 \n3 7177 14391 14643 \n3 3358 3546 3357 \n3 8160 11112 984 \n3 11653 10225 10909 \n3 12776 13830 2311 \n3 1710 1626 1709 \n3 3553 3771 3232 \n3 12262 7460 9106 \n3 4069 3946 4544 \n3 6534 5238 6566 \n3 9209 2667 12224 \n3 2487 4809 4665 \n3 3553 3232 3558 \n3 3366 3235 3238 \n3 3551 3366 3778 \n3 3775 3674 4019 \n3 13797 14671 5186 \n3 3365 3362 4025 \n3 1590 2942 4095 \n3 12353 9850 12009 \n3 3130 3557 3561 \n3 3454 3558 3131 \n3 13842 13833 11794 \n3 548 12553 14631 \n3 14760 3548 8315 \n3 2038 13075 9293 \n3 1009 3419 3408 \n3 3129 3451 3457 \n3 14924 14930 14915 \n3 13883 14056 9351 \n3 2396 14838 14837 \n3 13771 2558 2520 \n3 3679 3133 3457 \n3 14611 9813 14579 \n3 3373 3566 3246 \n3 3790 3566 3373 \n3 3687 3252 3249 \n3 3568 3564 3368 \n3 3137 3461 3371 \n3 4095 2942 5392 \n3 3686 3463 3139 \n3 9241 13389 14442 \n3 3791 3790 3379 \n3 2842 2329 2737 \n3 3376 3577 3464 \n3 9681 9852 2834 \n3 1875 12440 12538 \n3 3797 3473 3801 \n3 3378 3577 3376 \n3 9351 14056 13600 \n3 13795 9633 12729 \n3 3257 3580 3691 \n3 3695 3148 3581 \n3 7560 3276 7098 \n3 3147 3045 3692 \n3 3257 3691 3478 \n3 3271 3694 3382 \n3 3274 3587 3267 \n3 3759 3764 4097 \n3 11847 11796 14170 \n3 2656 2411 11612 \n3 4373 7984 13032 \n3 8091 4373 13032 \n3 3150 3698 3590 \n3 3700 3154 3485 \n3 6404 12764 4202 \n3 3154 3700 3807 \n3 3819 3278 3487 \n3 3152 3385 3593 \n3 14915 13812 14924 \n3 3936 4281 3710 \n3 3280 3488 2824 \n3 5044 4541 4411 \n3 12443 10378 14484 \n3 3819 3279 3278 \n3 10737 10835 12930 \n3 13262 13261 12605 \n3 12194 12208 10009 \n3 3643 630 1697 \n3 7974 14363 7958 \n3 3710 3828 3284 \n3 10680 6347 4822 \n3 3160 3281 3489 \n3 2866 2660 2659 \n3 49 10680 4822 \n3 1511 4526 14198 \n3 3828 3830 3493 \n3 3709 3393 3597 \n3 3827 3598 3947 \n3 3163 3166 3291 \n3 3713 3302 3599 \n3 3599 3302 3286 \n3 3397 3180 3597 \n3 7571 7331 7054 \n3 3163 3291 3495 \n3 3397 3597 3393 \n3 4934 11753 3678 \n3 3501 3399 3830 \n3 93 6030 13138 \n3 8505 10771 6125 \n3 3987 13386 13600 \n3 3171 3400 3178 \n3 6514 6927 11570 \n3 3715 3402 3302 \n3 3603 3835 3605 \n3 1281 110 12374 \n3 3607 3402 3715 \n3 8326 7118 4490 \n3 5311 3080 4695 \n3 3504 3406 3503 \n3 3504 3839 3406 \n3 3839 3407 3406 \n3 13374 11338 5706 \n3 3600 3495 3401 \n3 3501 3078 3399 \n3 12352 14419 12336 \n3 11711 11722 7613 \n3 6100 6095 6093 \n3 14511 7891 14557 \n3 3313 3607 3846 \n3 3046 3042 3380 \n3 3185 3410 3508 \n3 14024 9231 3886 \n3 11330 14500 4780 \n3 3613 3412 3615 \n3 4046 6750 4051 \n3 3410 2970 3317 \n3 3847 3189 3852 \n3 3871 3650 3341 \n3 3615 3412 3858 \n3 3616 3415 2974 \n3 3866 7165 375 \n3 2795 2789 2895 \n3 3616 3724 3415 \n3 8125 3122 724 \n3 14244 3661 13075 \n3 13494 6631 13097 \n3 3052 3050 5193 \n3 3420 3623 3418 \n3 3627 3621 3855 \n3 3661 9293 13075 \n3 4100 4322 4324 \n3 13498 9307 7026 \n3 13148 11145 14219 \n3 3863 10222 395 \n3 9090 3414 8815 \n3 2401 12799 11804 \n3 142 9584 7276 \n3 3100 3096 2991 \n3 4859 4416 4544 \n3 3321 3857 4098 \n3 8914 9351 13600 \n3 5293 5280 2874 \n3 5363 4095 9876 \n3 3514 3731 3519 \n3 3200 14095 2126 \n3 10371 12310 13482 \n3 2982 3514 3519 \n3 3516 3864 3513 \n3 3422 3630 3633 \n3 3328 3327 2765 \n3 5917 6049 5914 \n3 10857 12825 1099 \n3 14804 10720 4229 \n3 3198 3636 3101 \n3 5677 3491 960 \n3 3735 3202 3640 \n3 3613 4168 3311 \n3 3391 3595 3388 \n3 5062 10222 14967 \n3 3564 3783 3562 \n3 9098 4483 7118 \n3 10765 4229 12837 \n3 10765 12837 12832 \n3 8859 14244 13459 \n3 3100 3640 3202 \n3 4131 3780 4251 \n3 108 5588 14220 \n3 2578 2370 2019 \n3 13519 14373 14244 \n3 5401 5029 4943 \n3 12970 11890 12964 \n3 3919 11107 13102 \n3 10964 9879 14004 \n3 12650 10591 11624 \n3 3526 3743 3646 \n3 3336 3869 3529 \n3 3529 3748 3210 \n3 3435 3753 3434 \n3 3435 3652 3753 \n3 3886 14394 14024 \n3 3436 3532 3653 \n3 3531 3754 3533 \n3 13600 13386 13214 \n3 7282 469 1713 \n3 3533 3654 3439 \n3 3654 3533 3754 \n3 3441 3756 3534 \n3 3878 3532 3534 \n3 3761 3348 3659 \n3 12693 3723 13025 \n3 12703 518 3634 \n3 13373 13383 11511 \n3 13383 13373 11993 \n3 14185 14196 14181 \n3 3762 3536 3224 \n3 3218 3440 3348 \n3 13214 13386 9231 \n3 3537 3757 3880 \n3 3660 3231 3891 \n3 3767 3230 3444 \n3 10548 10323 10324 \n3 3350 3763 3769 \n3 3231 3660 3229 \n3 14395 12305 4273 \n3 14236 12144 8226 \n3 2545 3318 2757 \n3 14488 132 5697 \n3 2825 10622 12691 \n3 2882 3350 3769 \n3 4531 4737 4846 \n3 1344 1471 1474 \n3 284 14417 10663 \n3 4798 4896 5261 \n3 3120 3366 3551 \n3 4234 3898 3351 \n3 3791 3468 3575 \n3 3668 3674 3448 \n3 3356 3233 3668 \n3 4377 5622 4352 \n3 12674 12010 11785 \n3 3776 3900 3359 \n3 3240 3770 3557 \n3 3242 3776 3359 \n3 8684 11935 10880 \n3 205 12441 14472 \n3 7360 5959 4699 \n3 2544 8353 7400 \n3 8859 13459 2038 \n3 3098 8409 14974 \n3 3676 3451 3556 \n3 3779 3776 3452 \n3 3453 3560 3559 \n3 4299 4164 4420 \n3 13492 9106 7460 \n3 5201 6501 1481 \n3 3453 3132 3560 \n3 3370 3787 3567 \n3 4027 4026 3778 \n3 12149 12850 8070 \n3 4025 3781 3244 \n3 4593 4016 4365 \n3 3781 4025 4505 \n3 3684 3563 3785 \n3 3370 3133 3679 \n3 3459 3682 3681 \n3 3461 3456 4032 \n3 3370 3679 3787 \n3 3435 2997 2872 \n3 3036 3253 3368 \n3 6044 5115 12408 \n3 14484 6014 12443 \n3 4306 4309 4075 \n3 3255 3371 3918 \n3 14460 5993 5240 \n3 5772 3500 3477 \n3 2510 2561 4934 \n3 6222 13241 6243 \n3 9380 3678 11753 \n3 11328 2606 13275 \n3 3796 3472 3921 \n3 3687 3581 3259 \n3 12963 8859 2038 \n3 3797 3263 3473 \n3 11207 9302 11404 \n3 10754 14987 10714 \n3 3378 3263 3577 \n3 11804 12799 12521 \n3 12521 12799 12208 \n3 11937 9838 6766 \n3 3469 3689 3262 \n3 3689 3479 3262 \n3 10552 7847 747 \n3 8313 11245 1393 \n3 3796 3921 4271 \n3 10509 1438 2670 \n3 6961 6948 3620 \n3 2387 2276 2484 \n3 7638 9459 14697 \n3 11364 14454 14425 \n3 3731 3734 3519 \n3 3592 3484 3479 \n3 3930 3592 3479 \n3 3244 2793 2786 \n3 9241 14442 14460 \n3 14956 10814 9701 \n3 3271 3699 3694 \n3 5757 12268 10094 \n3 3269 3589 3810 \n3 4561 4447 4652 \n3 3807 3700 4150 \n3 3274 3152 3815 \n3 275 13537 14589 \n3 3815 3152 3593 \n3 3692 3927 3924 \n3 2164 2165 2337 \n3 86 82 1433 \n3 825 12857 10751 \n3 4157 3487 3591 \n3 5733 3319 13358 \n3 13795 13796 10748 \n3 3824 3705 3279 \n3 2661 2993 3340 \n3 3592 3710 3284 \n3 2723 3484 3284 \n3 8564 8947 6316 \n3 3160 3489 3707 \n3 5948 11134 13036 \n3 10737 12930 12015 \n3 222 225 319 \n3 10352 10553 10558 \n3 14902 13796 13795 \n3 4474 4479 4359 \n3 3707 3944 3160 \n3 11178 13036 11134 \n3 12930 13627 12015 \n3 3277 3827 3708 \n3 12518 12511 14687 \n3 3828 3493 3167 \n3 14184 512 11599 \n3 8591 12935 10914 \n3 3495 3600 3601 \n3 4747 4070 4296 \n3 11134 5948 11091 \n3 11029 11091 5948 \n3 3400 3601 3178 \n3 3600 3718 3601 \n3 13883 9351 9293 \n3 4624 4155 4404 \n3 2576 2997 2996 \n3 747 5796 7969 \n3 4805 4492 4810 \n3 13049 14125 9992 \n3 4074 3304 3605 \n3 7434 729 3917 \n3 3601 3718 3178 \n3 4531 4155 4624 \n3 3612 3312 3501 \n3 7835 8854 7824 \n3 3503 3175 3505 \n3 5706 11338 14401 \n3 5749 11349 5821 \n3 11233 11466 11688 \n3 3847 3505 3405 \n3 12693 1452 3723 \n3 1038 4044 1019 \n3 3845 3508 3317 \n3 4180 3856 3315 \n3 3845 3317 3187 \n3 3698 3478 3804 \n3 3320 3724 3321 \n3 716 856 677 \n3 3610 3508 3953 \n3 3724 3320 3415 \n3 8914 2401 11804 \n3 3726 3630 3628 \n3 14780 2266 12850 \n3 9437 7217 1210 \n3 3621 3627 3512 \n3 14981 8991 10479 \n3 4324 3976 4100 \n3 12850 2266 8702 \n3 2853 3619 3187 \n3 3512 3193 2981 \n3 6501 3980 1481 \n3 5408 12310 10371 \n3 3858 3089 3520 \n3 9017 11146 12107 \n3 3630 3631 3628 \n3 8050 12874 8023 \n3 3850 3187 3619 \n3 13973 7805 13855 \n3 4591 4364 4580 \n3 14573 13329 13239 \n3 7928 4121 4149 \n3 8731 5438 7624 \n3 4499 4250 3902 \n3 11582 14691 1631 \n3 8709 7586 3159 \n3 3960 1673 2865 \n3 12850 8702 8070 \n3 3636 3635 3732 \n3 9305 13477 5898 \n3 13336 13318 10155 \n3 1916 7615 12535 \n3 3328 3518 3517 \n3 3330 3635 3636 \n3 3740 3978 3735 \n3 3735 3640 3740 \n3 3208 3432 3526 \n3 4658 12762 12809 \n3 3635 3633 3732 \n3 12188 11331 4724 \n3 7259 8349 1599 \n3 3205 3642 3640 \n3 3872 3870 3527 \n3 3974 13332 5423 \n3 6564 13494 13097 \n3 9755 14004 3367 \n3 6540 14820 8537 \n3 2740 2533 2632 \n3 2632 2533 2534 \n3 4029 14389 13338 \n3 3433 3339 3342 \n3 3226 3224 3009 \n3 14939 4112 1825 \n3 12049 12052 12893 \n3 6900 4249 11968 \n3 3748 3433 3105 \n3 1453 1450 6025 \n3 3654 3345 3439 \n3 8854 8952 8964 \n3 3756 4109 3534 \n3 3218 3996 3656 \n3 12089 202 6200 \n3 3758 3536 3762 \n3 10832 12725 991 \n3 7190 13722 14647 \n3 2510 2768 2561 \n3 4657 4653 4450 \n3 9342 13903 14518 \n3 7400 13373 11511 \n3 3762 3229 3660 \n3 13484 13570 6030 \n3 742 11783 13774 \n3 3767 3887 3659 \n3 4234 3351 3543 \n3 14229 14461 14713 \n3 12762 4367 2628 \n3 3233 3445 3663 \n3 3445 3883 3663 \n3 12591 10457 10482 \n3 3816 7887 2628 \n3 5847 3696 12328 \n3 4019 3896 4369 \n3 14478 12812 6133 \n3 3445 3546 3883 \n3 3891 3231 3771 \n3 4019 3772 3896 \n3 3104 9229 1965 \n3 3446 3551 3666 \n3 3898 3362 3351 \n3 3519 2754 2982 \n3 13319 13969 12083 \n3 3448 3674 3775 \n3 3318 3320 2757 \n3 1055 13968 9682 \n3 6672 12584 8208 \n3 2811 3039 2924 \n3 3454 3553 3558 \n3 8409 3098 7400 \n3 9231 8894 2266 \n3 4023 3561 3557 \n3 2704 14618 13085 \n3 3778 3559 3560 \n3 13454 6877 13417 \n3 14305 13287 780 \n3 3765 3772 3668 \n3 4396 4429 5665 \n3 4984 5340 5152 \n3 4025 3244 3365 \n3 3784 3563 3781 \n3 3775 3676 3556 \n3 3454 3246 3906 \n3 3563 3244 3781 \n3 3778 3560 4027 \n3 3784 3785 3563 \n3 3566 3906 3246 \n3 14140 1778 14137 \n3 3560 3132 3459 \n3 3684 3785 3683 \n3 5359 1944 4190 \n3 3786 3682 3460 \n3 1962 9874 3134 \n3 3789 4134 3568 \n3 5047 13409 13419 \n3 3793 3567 3787 \n3 3918 3371 3461 \n3 8821 7782 8854 \n3 780 13287 14310 \n3 7710 12669 5846 \n3 3790 3374 3379 \n3 1216 2585 7119 \n3 3255 3920 3257 \n3 12208 14236 12521 \n3 12385 3395 13415 \n3 13419 5269 5047 \n3 12417 14522 14509 \n3 3258 3796 3575 \n3 3258 3472 3796 \n3 182 181 295 \n3 7448 13969 13319 \n3 3276 2432 5291 \n3 3587 3799 3475 \n3 7338 10641 11599 \n3 12540 8135 12518 \n3 3689 3469 4043 \n3 2454 2167 2757 \n3 6044 12408 13423 \n3 3801 3473 3694 \n3 11804 2038 9293 \n3 3692 3045 3584 \n3 3692 3924 3472 \n3 14524 5835 5697 \n3 3466 3372 3793 \n3 3805 3927 3584 \n3 3367 14004 12962 \n3 4573 4989 4350 \n3 993 7406 7477 \n3 12600 11611 12618 \n3 6558 13533 14602 \n3 6364 13711 13079 \n3 3590 3804 3813 \n3 3814 3700 3485 \n3 1555 14797 8006 \n3 3485 3818 3814 \n3 739 7434 6259 \n3 3590 3813 3591 \n3 3813 4157 3591 \n3 3271 3486 3699 \n3 2341 6878 13611 \n3 645 5693 14922 \n3 14423 12301 3346 \n3 3815 3593 3821 \n3 3488 3817 3386 \n3 14267 3289 11417 \n3 13385 13394 12370 \n3 3819 3824 3279 \n3 3821 3593 3595 \n3 4163 4540 4294 \n3 3281 3810 3489 \n3 3289 14500 3389 \n3 3709 3597 3945 \n3 4067 3709 3945 \n3 1792 3966 12092 \n3 10220 12377 14470 \n3 3302 3713 3715 \n3 3495 3291 3401 \n3 3180 3311 4071 \n3 3718 3600 3717 \n3 3607 3715 3831 \n3 3835 4074 3605 \n3 9688 9687 9541 \n3 187 4181 183 \n3 3842 3178 3718 \n3 3612 3501 4169 \n3 601 10272 12392 \n3 12492 12511 6084 \n3 3327 2986 2765 \n3 14409 7324 14909 \n3 3833 3603 3839 \n3 3846 3607 3831 \n3 3606 3610 3832 \n3 5587 5488 5306 \n3 3720 3503 3505 \n3 3315 3842 4180 \n3 2134 1969 2226 \n3 3314 3312 3721 \n3 4527 4841 4402 \n3 3849 4168 3615 \n3 3854 3721 4186 \n3 2767 2468 2569 \n3 4692 5180 4907 \n3 3852 3959 3956 \n3 3958 3850 3962 \n3 3858 3849 3615 \n3 3852 3189 3618 \n3 14416 4724 11331 \n3 13214 8914 13600 \n3 3849 4089 4172 \n3 3619 3623 3962 \n3 11191 12960 5604 \n3 3619 3962 3850 \n3 12051 11042 12732 \n3 4780 13187 14231 \n3 3724 3857 3321 \n3 3590 3591 3153 \n3 3661 13883 9293 \n3 13553 3093 13008 \n3 1042 4073 3103 \n3 3332 8594 13454 \n3 8859 13519 14244 \n3 9083 14219 13183 \n3 4519 11514 1775 \n3 1899 14520 8219 \n3 8679 8989 8112 \n3 4307 4549 4552 \n3 8070 12265 12149 \n3 3187 3850 3845 \n3 3728 3518 3515 \n3 3627 3728 3515 \n3 3633 3630 3726 \n3 4467 14218 13168 \n3 4335 3428 3870 \n3 3422 3326 3630 \n3 3520 3735 3978 \n3 13737 8867 14811 \n3 2262 2253 187 \n3 302 12218 142 \n3 7438 10767 7437 \n3 3328 3515 3518 \n3 11804 9293 8914 \n3 3341 2871 3337 \n3 12213 9914 12089 \n3 4201 3647 3734 \n3 3742 3431 3636 \n3 3333 3734 3647 \n3 3642 3740 3640 \n3 8348 1515 3977 \n3 12144 8170 8226 \n3 3869 3647 4201 \n3 4201 4460 3869 \n3 3526 3646 3642 \n3 3646 3743 3981 \n3 4341 3871 3431 \n3 12864 6117 991 \n3 6340 1234 2556 \n3 3868 3642 3646 \n3 3380 3259 3581 \n3 5119 12688 98 \n3 1593 1272 1666 \n3 3527 3651 3874 \n3 991 12725 12864 \n3 3986 3650 3871 \n3 5246 6413 5235 \n3 3753 3652 3750 \n3 6064 12005 13318 \n3 768 11980 2030 \n3 5215 5427 4029 \n3 4314 14080 3074 \n3 3196 3193 3515 \n3 12083 11468 13588 \n3 3750 3652 3751 \n3 4395 4267 4271 \n3 11812 12085 2379 \n3 4214 3754 3531 \n3 3345 3997 3347 \n3 3874 3651 4107 \n3 13939 14186 13769 \n3 3651 3341 3650 \n3 3032 9740 14514 \n3 3532 3878 3653 \n3 3345 4114 3997 \n3 3993 3756 3758 \n3 2379 2357 2412 \n3 3908 6248 2832 \n3 4386 11441 9289 \n3 3151 3152 3274 \n3 10293 14571 14763 \n3 3666 4492 3767 \n3 4226 4002 3537 \n3 4002 3541 3537 \n3 12054 12089 6200 \n3 4002 3543 3541 \n3 7880 14236 7952 \n3 4264 3909 3686 \n3 3668 3233 3663 \n3 3758 3762 3660 \n3 14732 14798 3578 \n3 3543 4002 4234 \n3 4117 3663 3883 \n3 3668 3663 3765 \n3 14236 12208 7952 \n3 4010 3769 3766 \n3 12371 805 14032 \n3 3765 3768 3772 \n3 3974 3928 13332 \n3 3296 3306 3301 \n3 753 3746 7911 \n3 7724 7952 12194 \n3 12054 6200 13969 \n3 10909 4253 13746 \n3 4239 3671 3359 \n3 3359 3900 4239 \n3 14903 14858 2964 \n3 3551 3778 4026 \n3 10963 7193 10976 \n3 7229 12054 7448 \n3 3772 4019 3674 \n3 14347 5215 4029 \n3 3557 3770 4016 \n3 8885 11127 3919 \n3 2117 7548 10406 \n3 5660 6255 7098 \n3 3452 3455 3562 \n3 4032 3456 4023 \n3 3904 3679 3457 \n3 3457 3451 3676 \n3 14137 14147 10564 \n3 13457 5269 11402 \n3 7448 12054 13969 \n3 3783 3780 3562 \n3 10608 14147 14156 \n3 3697 3694 3699 \n3 354 2749 4932 \n3 14137 1778 12097 \n3 10575 14153 13065 \n3 10632 10022 14144 \n3 11796 11847 5347 \n3 3911 3249 3684 \n3 8715 12868 10815 \n3 3909 3786 3463 \n3 9041 14818 11701 \n3 3463 3686 3909 \n3 3793 3787 3912 \n3 3460 3463 3786 \n3 3913 3918 3461 \n3 4075 4309 4313 \n3 3688 3789 3577 \n3 4137 3910 3915 \n3 3575 4039 3915 \n3 11791 12286 12149 \n3 4980 98 11718 \n3 4039 3575 3796 \n3 2305 7616 11735 \n3 3921 3472 3924 \n3 4045 3797 3801 \n3 14140 14137 10564 \n3 3472 3258 3147 \n3 1294 14760 13670 \n3 4045 4146 3688 \n3 14286 13255 13277 \n3 11998 14003 12929 \n3 7969 10552 747 \n3 12144 14236 7880 \n3 14760 1294 3548 \n3 3801 3694 3923 \n3 3148 3695 3589 \n3 3807 4150 3805 \n3 14773 12103 12096 \n3 3694 3697 3923 \n3 3691 3580 3929 \n3 3589 3695 4057 \n3 3584 3927 3692 \n3 3702 4055 3802 \n3 3936 3592 3930 \n3 7864 12301 5807 \n3 3700 3814 4150 \n3 3804 4154 3813 \n3 1969 1911 2136 \n3 3969 13065 14124 \n3 3699 4282 3697 \n3 3608 4604 3586 \n3 13036 11178 5784 \n3 10514 645 14922 \n3 3822 3699 3708 \n3 8220 2362 2305 \n3 2305 2362 7616 \n3 3699 3277 3708 \n3 3277 3699 3486 \n3 3820 3817 3488 \n3 3824 3820 3705 \n3 3705 3820 3488 \n3 10688 4297 10746 \n3 4160 3707 3489 \n3 3821 3595 3709 \n3 13711 10031 13079 \n3 3821 3709 3943 \n3 7098 3276 5562 \n3 4049 3799 3802 \n3 3929 3580 3922 \n3 12083 13969 13903 \n3 3943 3709 4067 \n3 10853 4820 8363 \n3 3707 4162 3944 \n3 11682 4942 6717 \n3 10470 2231 1397 \n3 12675 8315 7943 \n3 7851 2743 7855 \n3 4659 4876 4567 \n3 3180 4071 3597 \n3 2641 2546 2853 \n3 4169 3501 3950 \n3 3612 4169 4174 \n3 4074 3499 3304 \n3 4075 3717 3499 \n3 3499 4074 3951 \n3 3955 3833 3839 \n3 3840 3718 3717 \n3 4075 3840 3717 \n3 3945 3597 4164 \n3 4071 3311 4168 \n3 3800 12077 14093 \n3 10608 10564 14147 \n3 3800 13049 12077 \n3 3942 6145 14047 \n3 7147 7724 12286 \n3 4859 4550 4421 \n3 5599 10813 10939 \n3 7724 7147 7422 \n3 13903 11682 11563 \n3 3840 3842 3718 \n3 10260 12398 7963 \n3 3956 3720 3847 \n3 5646 11029 12990 \n3 14720 1107 10555 \n3 3845 4173 3953 \n3 3847 3720 3505 \n3 14549 11479 14563 \n3 3175 3405 3505 \n3 13906 10844 12846 \n3 3792 12398 4643 \n3 3613 3615 4168 \n3 3617 3855 3621 \n3 12083 13903 11468 \n3 13040 10278 14092 \n3 3374 2698 2807 \n3 3981 3985 4103 \n3 4159 4289 4063 \n3 4189 3962 3623 \n3 3192 3321 4098 \n3 14278 9835 14655 \n3 14052 13621 13859 \n3 4172 4089 4423 \n3 3628 3631 3971 \n3 3623 3420 3860 \n3 3192 3860 3420 \n3 5683 669 11082 \n3 3972 3618 3513 \n3 3927 4148 3924 \n3 3973 3861 3514 \n3 3862 3726 3970 \n3 1645 10272 7953 \n3 14068 14076 12880 \n3 12732 12065 10185 \n3 3862 3732 3633 \n3 3633 3726 3862 \n3 6717 11563 11682 \n3 5898 10061 1438 \n3 305 307 328 \n3 4201 4568 4460 \n3 3742 3636 3979 \n3 6367 6370 12772 \n3 14971 13782 9616 \n3 4902 4996 4479 \n3 3737 4332 3864 \n3 11583 11968 3511 \n3 9440 11156 9295 \n3 11698 11759 11721 \n3 10297 14558 5364 \n3 11721 6868 11698 \n3 14565 14485 14514 \n3 3768 4009 3896 \n3 3981 3868 3646 \n3 9084 9074 11192 \n3 14209 10129 13167 \n3 6931 11759 11698 \n3 3745 3985 3743 \n3 6803 6077 6228 \n3 11063 11113 7375 \n3 3323 3094 3520 \n3 2370 2101 2019 \n3 3054 3281 3158 \n3 3651 3986 4107 \n3 3874 3872 3527 \n3 12421 9989 12998 \n3 14045 14060 9929 \n3 13436 12181 13405 \n3 3653 3751 3652 \n3 3745 3433 3749 \n3 9627 4256 6404 \n3 3434 3876 4214 \n3 3434 3753 3876 \n3 6035 10334 3844 \n3 9380 14669 7375 \n3 6403 10196 10031 \n3 3994 4113 3993 \n3 3656 3996 3995 \n3 4115 3218 3761 \n3 3758 3994 3993 \n3 6219 4756 13171 \n3 12860 9179 11014 \n3 3757 3656 3995 \n3 12615 8219 3983 \n3 4114 3345 3654 \n3 3761 3218 3348 \n3 12054 7232 7327 \n3 12028 13790 2030 \n3 3659 3887 3761 \n3 3882 3888 3765 \n3 3218 4115 3996 \n3 5627 8856 8186 \n3 88 115 6187 \n3 9342 5032 13903 \n3 8066 9082 10099 \n3 3885 3883 3664 \n3 3888 3768 3765 \n3 3663 4117 3765 \n3 3546 3664 3883 \n3 2325 4806 7424 \n3 3665 9628 3678 \n3 4492 3887 3767 \n3 4257 6988 8074 \n3 1419 9731 9743 \n3 6720 7070 6568 \n3 3770 3769 4010 \n3 6221 6066 5813 \n3 3896 3772 3768 \n3 3770 4010 4364 \n3 13692 13742 3307 \n3 11343 5750 2668 \n3 14704 1766 14800 \n3 3671 3889 3358 \n3 6123 336 13466 \n3 2638 2636 2538 \n3 2954 14800 1766 \n3 3897 3771 3553 \n3 9342 14518 202 \n3 10979 173 7193 \n3 13969 6200 14518 \n3 3775 4019 3902 \n3 4023 3557 4017 \n3 4020 3776 3779 \n3 12632 588 649 \n3 6607 5470 5481 \n3 4249 9824 12522 \n3 3666 3551 4026 \n3 3452 3562 3779 \n3 3904 3457 3676 \n3 3906 4030 3454 \n3 4233 4123 4006 \n3 5319 10663 419 \n3 3783 4134 3780 \n3 4137 3906 3910 \n3 3786 3681 3682 \n3 3906 3566 3910 \n3 3786 3907 3681 \n3 3787 3679 3904 \n3 13987 11959 13993 \n3 8883 4710 11137 \n3 851 10991 12096 \n3 4259 3461 4032 \n3 3566 3790 3910 \n3 11364 5115 14454 \n3 2138 3429 3186 \n3 4265 3687 3249 \n3 10282 10392 127 \n3 2926 4108 4323 \n3 6306 6298 6757 \n3 10641 7338 13838 \n3 13838 7338 5918 \n3 3568 3577 3789 \n3 11791 12149 12265 \n3 4508 4035 3784 \n3 14277 14712 9859 \n3 3915 3791 3575 \n3 10296 10913 10586 \n3 3918 3913 3922 \n3 3688 3797 4045 \n3 493 14610 1730 \n3 13969 14518 13903 \n3 4271 3921 3924 \n3 4049 4269 3799 \n3 3345 3221 2878 \n3 3587 3802 3799 \n3 3133 3129 3457 \n3 3930 3689 4050 \n3 10942 10627 14394 \n3 4056 3930 4050 \n3 3225 13993 11980 \n3 4377 8253 5665 \n3 12213 7406 993 \n3 6988 4257 8020 \n3 3589 4057 3933 \n3 4157 3813 4154 \n3 2930 14972 11292 \n3 3763 4116 4119 \n3 3244 2786 2883 \n3 3386 3818 3485 \n3 4160 3810 3933 \n3 5809 13378 14870 \n3 4062 3818 3817 \n3 4477 4473 4227 \n3 5912 14524 2547 \n3 11330 3389 14500 \n3 2681 3012 3009 \n3 3104 1965 4196 \n3 12807 10347 14943 \n3 4063 3824 3819 \n3 8766 13019 10994 \n3 7560 6255 4337 \n3 3815 3702 3274 \n3 4922 4600 4601 \n3 4296 3828 3710 \n3 4896 4895 5255 \n3 4070 3830 3828 \n3 9145 6316 9181 \n3 5180 4692 4697 \n3 4164 3597 4071 \n3 3599 3944 4069 \n3 3830 3950 3501 \n3 3599 4069 4072 \n3 3831 3599 4072 \n3 368 349 386 \n3 3952 4074 3835 \n3 3951 4075 3499 \n3 4081 4072 4080 \n3 3877 3751 3653 \n3 2874 9391 9766 \n3 12301 5810 5807 \n3 3603 3833 3835 \n3 8653 2612 1234 \n3 3839 3954 3955 \n3 3955 4084 3952 \n3 3833 3955 3952 \n3 4208 3985 3745 \n3 6302 2652 6014 \n3 6236 12960 11191 \n3 4313 4435 3840 \n3 4173 3845 4088 \n3 12339 14401 11338 \n3 3840 4435 3842 \n3 3845 3850 4088 \n3 3721 4174 4186 \n3 4088 3850 3958 \n3 12268 7838 12287 \n3 11468 13903 11563 \n3 4378 4031 4250 \n3 4184 3956 3959 \n3 4301 4168 4172 \n3 3847 3852 3956 \n3 12732 11042 12065 \n3 3855 4090 3627 \n3 9765 8565 8579 \n3 3728 4090 4183 \n3 5363 12849 4095 \n3 4094 4185 3965 \n3 3587 3274 3702 \n3 10185 14092 10278 \n3 3849 4193 4089 \n3 13955 10898 11923 \n3 7447 302 992 \n3 14840 8729 14590 \n3 2015 4290 8711 \n3 3971 3968 4094 \n3 3965 3971 4094 \n3 10642 4166 4297 \n3 7989 7722 7599 \n3 3973 3514 3856 \n3 10477 5203 1354 \n3 4098 3860 3192 \n3 3628 3970 3726 \n3 3971 3631 3968 \n3 14627 13093 2028 \n3 3518 3728 3968 \n3 13040 13064 10278 \n3 4608 4394 4830 \n3 14114 12836 14308 \n3 3518 3968 3631 \n3 1450 1453 13138 \n3 3512 3627 3515 \n3 4189 3623 3860 \n3 505 1397 5166 \n3 3365 2883 3121 \n3 14972 8684 11292 \n3 5409 992 266 \n3 4955 5118 5218 \n3 309 5409 266 \n3 1352 12538 12579 \n3 9031 4546 10292 \n3 2848 2982 2754 \n3 14504 10509 14496 \n3 13452 8590 8559 \n3 4332 3737 4335 \n3 811 9896 14167 \n3 3976 3979 3732 \n3 17 11602 1141 \n3 3107 3441 2875 \n3 4029 13338 14351 \n3 4447 3972 4773 \n3 3731 3861 4197 \n3 4711 4513 4514 \n3 14046 14067 8943 \n3 3868 3981 4103 \n3 12725 12706 3925 \n3 11812 2412 2656 \n3 302 5225 266 \n3 14332 10039 5744 \n3 4592 4485 4698 \n3 1234 2585 1216 \n3 5364 11300 450 \n3 11783 1978 9894 \n3 3861 3731 3514 \n3 3870 4203 4335 \n3 3529 3869 3873 \n3 12718 14866 11713 \n3 3164 3296 2730 \n3 4344 4462 3872 \n3 515 2583 1564 \n3 4522 4146 4608 \n3 14394 10627 9671 \n3 12353 14045 9929 \n3 3989 3749 3433 \n3 3990 4212 3753 \n3 11698 6868 2899 \n3 3754 4214 4351 \n3 13725 3866 2788 \n3 3653 3878 3877 \n3 3878 3992 3877 \n3 1614 1578 7190 \n3 14174 13090 12137 \n3 4571 3877 3992 \n3 12483 5491 5493 \n3 3880 3757 3995 \n3 3882 4118 3888 \n3 4009 4359 4122 \n3 5857 5860 5642 \n3 3883 4355 3998 \n3 3839 3603 3407 \n3 3763 3540 4116 \n3 7332 14664 14658 \n3 4118 4474 4359 \n3 3537 3880 4226 \n3 3889 3664 3546 \n3 4224 4115 3761 \n3 10237 10218 14923 \n3 5062 4140 5068 \n3 4227 3664 3889 \n3 5562 3276 4760 \n3 3747 11658 13241 \n3 5231 1037 23 \n3 3768 3888 4009 \n3 590 5650 5268 \n3 9427 9414 8242 \n3 3422 3325 3326 \n3 10586 10913 10894 \n3 926 10894 11022 \n3 4230 3889 3894 \n3 3671 4013 3894 \n3 4364 4016 3770 \n3 4271 4040 3796 \n3 14697 12611 434 \n3 4243 4234 4237 \n3 3897 3553 4018 \n3 10963 10979 7193 \n3 4020 4131 4240 \n3 3179 3302 3402 \n3 4024 4023 4017 \n3 4025 3898 4374 \n3 1709 1930 1710 \n3 3779 3562 3780 \n3 4032 4023 4024 \n3 14264 14973 5544 \n3 3904 3676 4031 \n3 2652 6009 1423 \n3 4374 4505 4025 \n3 3625 9931 6512 \n3 11166 11292 8684 \n3 9999 9652 4947 \n3 1139 14726 7798 \n3 2558 13521 13865 \n3 6512 9931 5256 \n3 3779 3780 4131 \n3 14981 12826 8991 \n3 3785 4035 4262 \n3 13959 12888 13970 \n3 12826 8274 8991 \n3 3684 3683 3911 \n3 7275 14653 3044 \n3 3913 3461 4259 \n3 3915 4039 4139 \n3 4269 4264 3686 \n3 3789 3688 4145 \n3 3249 3911 4265 \n3 10936 5660 10759 \n3 14282 14732 14277 \n3 298 14109 7642 \n3 4851 5124 4850 \n3 3686 3799 4269 \n3 4147 3695 3581 \n3 8915 13869 13868 \n3 14957 12807 14956 \n3 11014 1949 707 \n3 8915 14957 13869 \n3 3922 3920 3918 \n3 5750 4834 3711 \n3 3227 5059 14894 \n3 4267 4261 4040 \n3 3801 3923 4045 \n3 14729 10586 10894 \n3 14923 10218 4971 \n3 926 14729 10894 \n3 5516 5331 5417 \n3 11030 14045 12353 \n3 4148 3927 4054 \n3 4779 14904 14408 \n3 4049 3802 4055 \n3 8844 13862 13849 \n3 3804 3929 4058 \n3 13121 1298 3583 \n3 12183 9988 3545 \n3 4056 3936 3930 \n3 2435 2442 4648 \n3 4154 3804 4058 \n3 13179 14274 14927 \n3 9578 8880 8892 \n3 9813 14611 9835 \n3 4278 4057 3695 \n3 12645 13051 13046 \n3 11750 10938 212 \n3 4058 4283 4154 \n3 3933 3810 3589 \n3 10280 12796 13844 \n3 11530 10507 6525 \n3 3814 4401 4150 \n3 2083 1999 2080 \n3 4406 3820 4289 \n3 2903 820 5909 \n3 4062 3817 3820 \n3 5030 12031 7015 \n3 1234 2612 2585 \n3 3818 4156 3814 \n3 2832 6248 9577 \n3 3487 4063 3819 \n3 13530 12495 14589 \n3 10280 13844 2311 \n3 4289 3824 4063 \n3 11523 548 6996 \n3 2311 13844 12776 \n3 9813 9789 14579 \n3 98 11942 11767 \n3 12669 7710 7780 \n3 14257 14455 13168 \n3 14579 9789 14527 \n3 352 297 295 \n3 4303 10746 4297 \n3 4299 4067 3945 \n3 2116 12815 1894 \n3 663 2043 3334 \n3 4282 3822 4291 \n3 4416 4165 4069 \n3 3599 3831 3713 \n3 14485 3243 9690 \n3 3952 4170 4074 \n3 3944 3946 4069 \n3 3827 4294 3822 \n3 3832 3610 3953 \n3 14638 13715 14639 \n3 8644 14930 6984 \n3 4165 4175 4080 \n3 4173 4079 3953 \n3 14638 14635 13715 \n3 3952 4084 4170 \n3 3954 4085 3955 \n3 14913 9765 14908 \n3 6450 1087 60 \n3 4085 3956 4184 \n3 4318 3955 4085 \n3 3954 3956 4085 \n3 4133 3553 3454 \n3 4184 4318 4085 \n3 3955 4318 4086 \n3 2378 6608 6652 \n3 4080 4090 3851 \n3 3851 4090 3855 \n3 3959 4447 4184 \n3 4319 3856 4180 \n3 4066 2964 5175 \n3 3854 3857 3724 \n3 9307 13498 12587 \n3 14877 13785 9491 \n3 4322 3965 4185 \n3 4094 3968 4315 \n3 4185 4094 4315 \n3 14372 7855 2743 \n3 3855 3617 3851 \n3 3627 4090 3728 \n3 3973 3856 4319 \n3 1075 1081 1082 \n3 4322 3971 3965 \n3 4193 4449 4089 \n3 3959 3618 3972 \n3 3959 3852 3618 \n3 3634 9929 14060 \n3 12844 13539 12657 \n3 4100 3970 3971 \n3 3513 4453 3972 \n3 4659 4669 4784 \n3 4189 3860 4098 \n3 4330 3861 3973 \n3 3862 4100 3976 \n3 7958 14183 14338 \n3 3520 3978 4193 \n3 3103 7052 1038 \n3 11622 4295 3195 \n3 10555 10563 14720 \n3 3732 3862 3976 \n3 13167 14250 11165 \n3 7891 9471 14223 \n3 3978 3740 4101 \n3 4102 4101 3740 \n3 10626 9536 10635 \n3 1905 12736 3825 \n3 11165 14209 13167 \n3 10296 10586 14373 \n3 8517 14752 11404 \n3 14373 10586 14729 \n3 1244 1034 1080 \n3 7251 2788 6202 \n3 2745 6116 6123 \n3 9245 12722 14871 \n3 4459 4200 4199 \n3 3211 9091 5195 \n3 11722 14853 14864 \n3 3665 14767 1672 \n3 3981 3743 3985 \n3 4208 4669 4339 \n3 2953 3163 3058 \n3 4103 4199 3868 \n3 12718 12722 9245 \n3 4225 6943 4220 \n3 3872 4462 4203 \n3 3985 4208 4103 \n3 6430 6728 6568 \n3 7736 240 146 \n3 3871 4341 4343 \n3 14847 11713 14866 \n3 4343 3986 3871 \n3 4210 3989 4345 \n3 3989 3873 4345 \n3 2411 2395 13942 \n3 3815 4530 4055 \n3 3749 3989 4210 \n3 3990 3753 3750 \n3 3748 3873 3989 \n3 732 2819 402 \n3 4214 3876 4349 \n3 4113 4000 4353 \n3 14853 11711 12702 \n3 4347 3751 3877 \n3 2696 2493 2693 \n3 3992 3878 3534 \n3 2702 13793 13789 \n3 3885 4355 3883 \n3 4351 4575 3654 \n3 4113 4109 3993 \n3 12702 14818 14853 \n3 3422 3633 3635 \n3 4470 4350 4109 \n3 11827 13862 13863 \n3 4350 3992 4109 \n3 10551 9379 3334 \n3 3998 4354 4117 \n3 4116 3997 4114 \n3 8253 11511 11518 \n3 2531 2840 3181 \n3 4117 3882 3765 \n3 539 7673 5545 \n3 5332 4082 250 \n3 3887 4224 3761 \n3 12421 12998 12992 \n3 3901 7425 7256 \n3 2503 2928 2918 \n3 164 11547 4176 \n3 14817 13748 8900 \n3 4227 3885 3664 \n3 4491 3896 4009 \n3 12057 9865 449 \n3 5156 6455 7546 \n3 4005 4124 4006 \n3 4800 4802 4578 \n3 13131 8866 8883 \n3 3293 7802 12144 \n3 14295 3625 10234 \n3 3897 4126 4124 \n3 4124 4126 4006 \n3 4995 5171 4903 \n3 4002 4592 4234 \n3 2959 9341 13855 \n3 4488 4492 4805 \n3 3897 4018 4126 \n3 3896 4491 4369 \n3 6281 6288 3961 \n3 14016 9729 14938 \n3 4231 4013 4239 \n3 3170 3065 3301 \n3 109 120 91 \n3 4017 3557 4016 \n3 4129 4019 4369 \n3 8900 8867 14817 \n3 3553 4133 4018 \n3 7615 1916 1838 \n3 4611 5797 4616 \n3 4131 4020 3779 \n3 4133 4246 4018 \n3 9209 3895 1764 \n3 9652 14373 13519 \n3 3898 4243 4374 \n3 3776 4020 3900 \n3 13737 14817 8867 \n3 4245 4240 4131 \n3 4124 3891 3897 \n3 3902 3676 3775 \n3 4636 4638 4749 \n3 6425 6274 6273 \n3 3454 4030 4133 \n3 4027 4504 4244 \n3 4244 4504 4375 \n3 7155 2188 8044 \n3 11969 1419 9743 \n3 4030 3906 4137 \n3 4031 4378 4254 \n3 3905 3907 4258 \n3 5319 284 10663 \n3 3785 4262 4144 \n3 4254 3912 3904 \n3 12457 3844 10334 \n3 14773 12096 504 \n3 14655 3502 14278 \n3 3786 3909 4141 \n3 1797 2973 2978 \n3 2643 10632 10533 \n3 3789 4138 4134 \n3 372 398 432 \n3 12039 298 7642 \n3 4388 3907 4515 \n3 8663 13728 14797 \n3 4636 4749 4962 \n3 8501 8227 8503 \n3 4262 4513 4144 \n3 1811 1752 1812 \n3 3910 3791 3915 \n3 3910 3790 3791 \n3 4137 3915 4139 \n3 4254 4263 3912 \n3 4866 4759 4973 \n3 4268 3793 4263 \n3 14792 12676 12679 \n3 14277 14732 14712 \n3 3793 4268 4043 \n3 9829 1243 7627 \n3 2631 1251 1314 \n3 8006 13709 12675 \n3 49 9650 820 \n3 7118 10764 10746 \n3 4272 4045 3923 \n3 6843 7326 7037 \n3 9196 9426 9671 \n3 4043 4050 3689 \n3 4442 4559 4867 \n3 4279 4278 4839 \n3 10507 11530 13725 \n3 3697 4277 3923 \n3 3687 4265 3581 \n3 3691 3929 3804 \n3 4054 3927 3805 \n3 3805 4528 4054 \n3 13771 12176 13707 \n3 4055 4530 4049 \n3 4527 4402 4056 \n3 9803 5486 14109 \n3 7092 3836 1539 \n3 2972 3197 3516 \n3 4528 4150 4401 \n3 237 178 203 \n3 9345 9205 9911 \n3 6709 6859 7210 \n3 4281 3936 4402 \n3 4063 3487 4159 \n3 9805 14106 7627 \n3 3120 3551 3446 \n3 9023 8876 9298 \n3 4406 4062 3820 \n3 4534 3818 4062 \n3 4281 4296 3710 \n3 493 6323 1718 \n3 3815 3821 4158 \n3 6900 14359 4249 \n3 9407 11597 5823 \n3 7311 2096 4661 \n3 8315 12672 13700 \n3 8700 10862 9757 \n3 13717 8896 10835 \n3 4162 3707 4160 \n3 4162 4160 4741 \n3 3944 4162 3946 \n3 3947 4294 3827 \n3 12722 14877 14871 \n3 147 137 79 \n3 10138 14930 14936 \n3 4164 4299 3945 \n3 4163 3832 4415 \n3 5739 5852 5443 \n3 6236 7955 1031 \n3 6013 6163 6308 \n3 12526 11016 11063 \n3 4302 4175 4165 \n3 13436 8559 12181 \n3 2401 13214 2331 \n3 3832 3953 4079 \n3 12908 11763 11591 \n3 4306 4075 3951 \n3 14760 13684 13670 \n3 4313 3840 4075 \n3 2321 2615 2245 \n3 4170 4433 4306 \n3 2206 12735 8783 \n3 14514 14485 9690 \n3 3951 4170 4306 \n3 4168 4301 4071 \n3 7591 14065 14050 \n3 4081 4080 3851 \n3 4081 3851 3846 \n3 3525 5935 11096 \n3 4437 5689 4429 \n3 4084 4433 4170 \n3 4183 4308 4315 \n3 4308 4183 4175 \n3 4183 4080 4175 \n3 12963 9386 8691 \n3 7700 857 14204 \n3 7934 13670 9484 \n3 4309 4433 4557 \n3 8383 7687 8095 \n3 4183 4090 4080 \n3 14024 9671 9426 \n3 10155 11950 11314 \n3 4314 3074 7025 \n3 4315 3968 4183 \n3 3849 3858 4193 \n3 1378 2775 7194 \n3 3857 4186 4098 \n3 1435 2802 10406 \n3 4315 4182 4185 \n3 4711 4391 4513 \n3 8653 1251 2612 \n3 4189 4098 4320 \n3 4447 3959 3972 \n3 4440 4184 4561 \n3 3414 9090 12660 \n3 3968 3728 4183 \n3 2302 2610 2314 \n3 5625 1860 4519 \n3 3854 4186 3857 \n3 5865 5453 5456 \n3 13498 8594 751 \n3 12185 12304 8388 \n3 13566 13568 14224 \n3 3584 3807 3805 \n3 4453 3513 3864 \n3 9671 10627 7592 \n3 5083 4688 4907 \n3 4454 4331 4456 \n3 10058 1575 2911 \n3 7932 14774 7946 \n3 8815 8590 13452 \n3 9647 14913 13818 \n3 4198 4102 4199 \n3 4618 9652 13519 \n3 5047 14870 13378 \n3 405 401 11969 \n3 4688 5083 4994 \n3 4197 4568 4201 \n3 12837 4229 12832 \n3 7546 6584 7535 \n3 4778 4341 3979 \n3 7815 13629 7704 \n3 13452 8559 13436 \n3 1437 7573 11965 \n3 2299 3329 2330 \n3 3642 3868 3740 \n3 13417 12369 13454 \n3 11479 8327 10439 \n3 3979 4452 4778 \n3 5266 14729 926 \n3 12181 8516 13405 \n3 14330 10039 14332 \n3 4460 4206 3869 \n3 5683 11082 5319 \n3 3651 3650 3986 \n3 7547 6645 4621 \n3 14676 13603 7527 \n3 3340 3651 3527 \n3 13383 12116 13417 \n3 11965 7573 3353 \n3 12116 12369 13417 \n3 8289 14278 5256 \n3 8958 8493 9089 \n3 3749 4210 4208 \n3 3618 3516 3513 \n3 4550 4549 4421 \n3 11965 3353 3649 \n3 7636 12621 14135 \n3 3750 4466 3990 \n3 9999 10296 14373 \n3 3385 2939 3388 \n3 8894 9231 14024 \n3 240 7736 13362 \n3 4347 3877 4571 \n3 7731 7868 7608 \n3 5 11 13 \n3 13519 8691 4618 \n3 8120 11558 8132 \n3 3994 4005 4000 \n3 4470 4113 4353 \n3 3992 3534 4109 \n3 4113 4470 4109 \n3 10222 5062 5068 \n3 4679 4354 3998 \n3 4679 3998 4355 \n3 9459 7638 12620 \n3 6990 6042 8886 \n3 3431 3742 4341 \n3 3995 3996 4222 \n3 11571 11566 14691 \n3 4222 4685 4478 \n3 219 5332 250 \n3 10308 1912 4314 \n3 1516 9957 1530 \n3 4116 4114 4578 \n3 7694 5492 4357 \n3 4478 4360 4358 \n3 3880 4360 4226 \n3 3767 3444 3666 \n3 3330 3325 3422 \n3 4123 4590 4000 \n3 2109 2108 2381 \n3 3741 14241 2585 \n3 3889 4230 4484 \n3 1521 3059 11570 \n3 14967 10222 8550 \n3 5408 10371 11389 \n3 4093 13363 1094 \n3 5644 5913 10813 \n3 3459 3681 3905 \n3 4366 4590 4123 \n3 4018 4236 4126 \n3 762 1181 689 \n3 4006 4236 4233 \n3 14016 14938 11930 \n3 4126 4236 4006 \n3 4234 4592 4237 \n3 3301 2730 3296 \n3 12688 1954 11942 \n3 4236 4241 4233 \n3 6880 6721 6559 \n3 4016 4593 4017 \n3 3258 2925 3147 \n3 4018 4246 4236 \n3 4236 4246 4241 \n3 14704 14661 1751 \n3 4243 3898 4234 \n3 4499 4019 4129 \n3 4241 4242 4238 \n3 3900 4020 4239 \n3 4230 4013 4231 \n3 4020 4240 4239 \n3 4026 4244 4498 \n3 4246 4255 4241 \n3 13896 9744 11865 \n3 9652 9999 14373 \n3 3895 13865 13521 \n3 4241 4248 4242 \n3 4603 4032 4024 \n3 4133 4255 4246 \n3 4255 4248 4241 \n3 4255 4133 4030 \n3 4243 5003 4701 \n3 4242 4248 4379 \n3 9633 10739 12729 \n3 14114 4204 14799 \n3 4704 4243 4701 \n3 3016 3445 2891 \n3 4137 4255 4030 \n3 14829 8900 13748 \n3 13364 13581 13117 \n3 4134 4251 3780 \n3 4508 3781 4505 \n3 4517 4389 4828 \n3 4259 4032 4603 \n3 9293 9351 8914 \n3 11033 11037 9822 \n3 4250 4502 4378 \n3 4344 3874 4107 \n3 14797 13709 8006 \n3 4378 4382 4254 \n3 4262 4035 4512 \n3 4512 4035 4508 \n3 3786 4515 3907 \n3 4393 4363 8533 \n3 4141 4515 3786 \n3 14599 13907 14593 \n3 4389 4141 3909 \n3 4389 3909 4264 \n3 4516 3913 4259 \n3 12649 2571 350 \n3 3911 4144 4513 \n3 4027 3905 4504 \n3 4381 4143 4384 \n3 4145 4146 4522 \n3 9204 13936 9637 \n3 4045 4272 4146 \n3 4269 4049 4524 \n3 3695 4147 4278 \n3 13482 5883 13484 \n3 4398 4613 4616 \n3 3907 3905 3681 \n3 7251 10507 13725 \n3 4272 4732 4394 \n3 3929 3922 4613 \n3 4613 4398 3929 \n3 13965 5357 9674 \n3 3805 4150 4528 \n3 8077 7934 14318 \n3 13464 2209 13495 \n3 7012 8120 2623 \n3 11029 11369 12990 \n3 3616 3314 3724 \n3 7345 7343 6891 \n3 4915 13687 2410 \n3 4157 4531 4532 \n3 12990 5604 5646 \n3 3487 4157 4532 \n3 3975 14627 2028 \n3 14014 3299 5337 \n3 11140 6236 11191 \n3 4158 4293 4409 \n3 4291 3822 4292 \n3 3312 3612 3721 \n3 4230 3894 4013 \n3 3943 4293 3821 \n3 3943 4067 4412 \n3 4293 3943 4412 \n3 4292 3822 4294 \n3 4162 4411 4541 \n3 4990 4684 4994 \n3 4544 3946 4541 \n3 3472 3147 3692 \n3 370 13968 3270 \n3 9752 9472 9609 \n3 4067 4299 4542 \n3 8050 13857 12913 \n3 4746 4722 5885 \n3 8691 8859 12963 \n3 1349 175 7582 \n3 3832 4079 4415 \n3 3772 3674 3668 \n3 2337 2338 2164 \n3 4302 4421 4305 \n3 4308 4302 4305 \n3 2706 1363 3773 \n3 4421 4302 4416 \n3 11871 5357 13965 \n3 4551 4169 4639 \n3 4301 4423 4420 \n3 4174 4310 4177 \n3 4305 4549 4307 \n3 4308 4305 4307 \n3 4172 4423 4301 \n3 11364 12408 5115 \n3 13627 12727 10091 \n3 11417 14657 14267 \n3 7891 14511 9471 \n3 12992 9848 1458 \n3 4433 4309 4306 \n3 5259 4895 4577 \n3 3084 4316 4304 \n3 4307 4424 4311 \n3 4167 5341 6493 \n3 4311 4182 4307 \n3 3242 3452 3776 \n3 3814 4156 4401 \n3 8894 8702 2266 \n3 9876 6766 5363 \n3 8009 12839 12825 \n3 4184 4440 4318 \n3 11501 7011 339 \n3 7934 9484 14722 \n3 4432 4433 4086 \n3 9693 13844 12796 \n3 5239 5138 5140 \n3 2303 14825 2288 \n3 12825 10857 12809 \n3 4317 4322 4185 \n3 3216 2875 3441 \n3 9554 9491 13785 \n3 10857 4658 12809 \n3 4177 4438 4186 \n3 5347 11847 14239 \n3 4438 4098 4186 \n3 12725 10832 13837 \n3 4451 4567 4450 \n3 6002 6007 6305 \n3 5509 5325 5616 \n3 3971 4322 4100 \n3 10445 13533 6558 \n3 4330 3973 4774 \n3 4449 4193 4195 \n3 4195 4101 4327 \n3 12764 12815 4202 \n3 8070 8702 4321 \n3 12725 13837 12706 \n3 4957 4853 5037 \n3 12141 4510 13132 \n3 4764 4765 4432 \n3 4101 4102 4198 \n3 14928 11841 3270 \n3 11898 10732 14994 \n3 10802 5644 12298 \n3 4459 4331 4200 \n3 13892 732 402 \n3 3868 4102 3740 \n3 10661 3574 10621 \n3 3869 4206 3873 \n3 12495 12485 6708 \n3 4778 4569 4341 \n3 12621 10555 1107 \n3 14223 13971 4099 \n3 4569 4343 4341 \n3 4344 3986 4569 \n3 4802 4993 5272 \n3 3928 3826 14340 \n3 5322 4167 6493 \n3 4671 4210 4345 \n3 5006 5092 5002 \n3 14442 13389 13381 \n3 6708 12485 6243 \n3 6143 353 6019 \n3 4103 4339 4459 \n3 4466 3750 4347 \n3 3750 3751 4347 \n3 4212 4791 3876 \n3 5068 2887 395 \n3 4791 4790 3876 \n3 4571 4891 4347 \n3 5044 4961 4748 \n3 12963 8064 4007 \n3 4068 8070 4321 \n3 4572 4214 4349 \n3 4575 4578 4114 \n3 4226 4485 4002 \n3 4354 4471 4118 \n3 4000 4356 4353 \n3 14691 2832 1631 \n3 11735 7548 2117 \n3 4222 4115 4685 \n3 8064 12963 8226 \n3 773 8439 4699 \n3 9731 1419 14015 \n3 4478 4358 4222 \n3 4679 4355 4473 \n3 3238 3235 2787 \n3 12620 14701 7704 \n3 4354 3882 4117 \n3 4578 4580 4116 \n3 4590 4356 4000 \n3 11082 669 10942 \n3 3189 2972 3618 \n3 4376 5653 1869 \n3 4119 4116 4580 \n3 3818 3386 3817 \n3 13450 14113 13905 \n3 3887 4488 4224 \n3 4485 4226 4360 \n3 4484 4227 3889 \n3 340 320 249 \n3 4485 4592 4002 \n3 6984 3040 3021 \n3 3492 5785 5772 \n3 4530 3815 4158 \n3 4243 4237 5003 \n3 4119 4364 4010 \n3 4238 4366 4233 \n3 13490 6564 14495 \n3 13320 10422 6064 \n3 4233 4366 4123 \n3 8691 13519 8859 \n3 4594 4129 4369 \n3 4598 4813 4238 \n3 4014 4026 4498 \n3 4240 4493 4239 \n3 10199 10631 9968 \n3 4238 4242 4598 \n3 3781 4508 3784 \n3 4244 4375 4498 \n3 4379 4598 4242 \n3 11281 10571 11032 \n3 4031 3902 4250 \n3 4131 4251 4245 \n3 11791 7147 12286 \n3 4505 4374 4704 \n3 4496 4499 4129 \n3 227 210 254 \n3 4502 4382 4378 \n3 14646 14672 2727 \n3 4375 4504 4600 \n3 4134 4138 4506 \n3 4139 4255 4137 \n3 4379 4248 4381 \n3 3911 4513 4391 \n3 4138 4145 4511 \n3 8403 7320 9455 \n3 4143 4261 4384 \n3 4599 4379 4381 \n3 4258 4388 4712 \n3 4384 4261 4520 \n3 4262 4514 4513 \n3 4145 4717 4511 \n3 3907 4388 4258 \n3 8064 8226 8170 \n3 5433 5436 5153 \n3 4389 4264 4719 \n3 383 10512 12569 \n3 4392 4391 4931 \n3 4520 4261 4267 \n3 4719 4264 4269 \n3 5872 3614 7582 \n3 4516 3922 3913 \n3 1614 7346 389 \n3 4726 4265 4392 \n3 4726 4147 4265 \n3 6128 7453 10777 \n3 4395 4271 4615 \n3 4277 4272 3923 \n3 4148 4615 4271 \n3 14898 8306 14791 \n3 13879 5253 11789 \n3 4395 4933 4267 \n3 4524 4049 4614 \n3 4050 4268 4397 \n3 4532 4846 4159 \n3 14171 14458 14710 \n3 4031 3676 3902 \n3 9015 9300 169 \n3 4050 4397 4527 \n3 8140 11553 5985 \n3 4049 4530 4614 \n3 7165 1378 375 \n3 4235 4284 5534 \n3 1241 12201 5588 \n3 9805 7605 9794 \n3 13241 1469 3747 \n3 3285 1942 1968 \n3 13179 3219 14487 \n3 3933 4735 4741 \n3 1954 9584 1847 \n3 13725 10502 7165 \n3 4283 4058 4398 \n3 4841 4281 4402 \n3 2878 2373 2479 \n3 4404 4154 4283 \n3 11525 13545 12436 \n3 7276 9584 1954 \n3 5883 13482 12310 \n3 4741 4160 3933 \n3 5595 5211 5206 \n3 9380 11232 14669 \n3 4740 4289 4159 \n3 4062 4406 4534 \n3 12292 11151 11378 \n3 4409 4530 4158 \n3 2471 14183 14315 \n3 1392 2408 11871 \n3 4293 4158 3821 \n3 14937 14986 11930 \n3 12213 12089 7378 \n3 12275 10432 9871 \n3 4628 4293 4412 \n3 4748 4544 4541 \n3 4413 4542 4299 \n3 4540 4163 4415 \n3 4299 4420 4413 \n3 4169 4551 4310 \n3 4639 3950 4070 \n3 4416 4302 4165 \n3 4419 4079 4548 \n3 4079 4419 4415 \n3 4817 4920 4596 \n3 4744 4540 4635 \n3 6906 7011 11519 \n3 4308 4175 4302 \n3 4423 4545 4420 \n3 2630 2631 2706 \n3 1363 2706 2631 \n3 11515 688 7023 \n3 5070 2753 6270 \n3 4307 4552 4424 \n3 14144 7114 10533 \n3 12550 9549 7391 \n3 5890 10398 5898 \n3 4423 4089 4431 \n3 4426 4088 4436 \n3 4862 4310 4861 \n3 7802 8170 12144 \n3 7453 7457 6154 \n3 4436 4088 3958 \n3 8070 14969 12265 \n3 4318 4440 4432 \n3 2132 2134 2711 \n3 142 7276 12688 \n3 12089 12054 7327 \n3 596 554 642 \n3 7422 7147 11721 \n3 6516 11563 6717 \n3 780 14323 14305 \n3 4189 4442 3958 \n3 7880 7952 7446 \n3 14364 1587 12268 \n3 14055 12051 9966 \n3 4558 4438 4862 \n3 4184 4447 4561 \n3 4089 4449 4431 \n3 2628 12809 12762 \n3 3958 4442 4436 \n3 13225 14286 12229 \n3 4432 4086 4318 \n3 4313 4309 4557 \n3 4317 4446 4322 \n3 4774 3973 4319 \n3 13504 4977 8643 \n3 4195 4327 4449 \n3 4697 4493 4240 \n3 7391 7379 13798 \n3 8445 10765 10757 \n3 350 10913 10296 \n3 4452 3976 4324 \n3 4327 4198 4450 \n3 4450 4198 4451 \n3 2832 14691 3908 \n3 12814 3458 11349 \n3 14215 9957 9938 \n3 4334 4451 4198 \n3 4334 4454 4451 \n3 5161 1363 1314 \n3 14456 10260 10229 \n3 14950 5486 1212 \n3 4331 4454 4334 \n3 4332 4662 4455 \n3 4332 4335 4662 \n3 7422 7952 7724 \n3 4334 4198 4199 \n3 5163 5169 5456 \n3 11032 10561 11272 \n3 14421 1023 11339 \n3 2606 9106 13361 \n3 4459 4339 4456 \n3 13798 7379 5183 \n3 4781 4335 4203 \n3 9921 1402 9938 \n3 13854 12237 9515 \n3 5251 4881 4463 \n3 3054 3269 3810 \n3 8937 8940 5391 \n3 7887 3816 10661 \n3 3456 3561 4023 \n3 8365 8396 3361 \n3 14430 13374 5706 \n3 3986 4343 4569 \n3 13507 14549 6174 \n3 1013 3442 7860 \n3 13752 9588 2408 \n3 4791 4212 4465 \n3 4212 3990 4466 \n3 4212 4466 4465 \n3 11868 7229 7448 \n3 4788 4671 4206 \n3 4669 4208 4210 \n3 4349 3876 4790 \n3 1397 970 10470 \n3 4351 4214 4572 \n3 4574 4350 4470 \n3 4577 4354 4679 \n3 4577 4576 4354 \n3 4578 4575 4797 \n3 2830 5816 6777 \n3 4575 4114 3654 \n3 4354 4576 4471 \n3 9292 10682 7405 \n3 12553 13565 14631 \n3 4680 4479 4474 \n3 4586 4685 4115 \n3 14635 4919 2812 \n3 5527 5243 5061 \n3 4115 4224 4586 \n3 7036 11868 7448 \n3 11721 11759 7422 \n3 14545 12467 93 \n3 13062 9992 14125 \n3 4358 4360 3880 \n3 2041 1754 2039 \n3 3937 898 12516 \n3 3116 7880 7446 \n3 10705 14877 12722 \n3 12459 13490 14495 \n3 4813 4366 4238 \n3 11451 11449 10952 \n3 4239 4493 4231 \n3 9658 10199 9968 \n3 4241 4238 4233 \n3 7446 7952 7422 \n3 4014 3666 4026 \n3 4503 4024 4017 \n3 4503 4017 4593 \n3 7036 7448 13319 \n3 4804 13183 14219 \n3 14878 14632 4892 \n3 5099 11587 9832 \n3 4498 4375 4500 \n3 4594 4496 4129 \n3 4243 4704 4374 \n3 4503 4603 4024 \n3 10942 649 588 \n3 4244 4026 4027 \n3 3220 7147 11791 \n3 4920 4502 4596 \n3 4942 9703 14904 \n3 4250 4596 4502 \n3 4251 4134 4506 \n3 14861 14612 14133 \n3 4506 4138 4511 \n3 4516 4259 4603 \n3 14672 14696 6037 \n3 3905 4258 4601 \n3 13331 11317 14382 \n3 11718 6798 6910 \n3 7036 6736 1124 \n3 11919 11242 12684 \n3 4515 4141 4517 \n3 4262 4512 4514 \n3 4512 4508 5014 \n3 4719 4828 4389 \n3 4145 4522 4717 \n3 3293 7880 3116 \n3 4392 4265 4391 \n3 4141 4389 4517 \n3 8396 9403 3361 \n3 6798 11718 11767 \n3 3911 4391 4265 \n3 4388 4515 5022 \n3 3116 7446 11759 \n3 4697 4240 4815 \n3 7447 10235 7496 \n3 4611 3922 4516 \n3 4719 4269 4524 \n3 11759 7446 7422 \n3 7477 12382 5602 \n3 11767 11942 11244 \n3 4424 4182 4311 \n3 4728 4394 4732 \n3 4394 4146 4272 \n3 14209 13151 12179 \n3 13997 686 9597 \n3 12662 13013 14068 \n3 4285 4300 2031 \n3 4623 4403 4845 \n3 4946 4841 4527 \n3 4050 4527 4056 \n3 4398 4622 4283 \n3 4156 4840 4401 \n3 4735 4279 4839 \n3 3724 3314 3721 \n3 14116 14114 14308 \n3 4534 4626 4156 \n3 4626 4534 4406 \n3 4282 4277 3697 \n3 5877 5899 2525 \n3 4283 4622 4736 \n3 4623 4282 4403 \n3 4159 4847 4740 \n3 4740 4627 4289 \n3 1590 4095 12849 \n3 6155 6181 13786 \n3 1029 1028 13775 \n3 4627 4406 4289 \n3 4741 4411 4162 \n3 4536 4281 4841 \n3 9280 14472 12441 \n3 8386 4947 4618 \n3 7036 13319 6398 \n3 4747 4296 4633 \n3 4632 4628 4412 \n3 4542 4632 4412 \n3 4542 4412 4067 \n3 4409 4293 4628 \n3 4748 4541 5044 \n3 142 12191 9584 \n3 4296 4281 4536 \n3 13570 13484 5883 \n3 4639 4169 3950 \n3 13020 14604 1411 \n3 4868 4766 4313 \n3 4416 4859 4421 \n3 4865 4642 4550 \n3 4550 4552 4549 \n3 14300 13874 14536 \n3 6495 4196 6506 \n3 4545 4423 4555 \n3 4173 4426 4548 \n3 4550 4642 4552 \n3 4671 4787 4669 \n3 6939 7617 7249 \n3 7114 13062 10533 \n3 4310 4551 4861 \n3 4423 4431 4555 \n3 4310 4438 4177 \n3 4545 4555 4638 \n3 4086 4433 4084 \n3 9100 6491 13128 \n3 4868 4313 4557 \n3 11836 10540 12818 \n3 4432 4765 4433 \n3 4320 4558 4559 \n3 14964 14462 14714 \n3 4424 4446 4317 \n3 14173 11155 14181 \n3 4872 4319 4435 \n3 4650 4872 4435 \n3 4987 4789 4889 \n3 4561 4769 4440 \n3 4872 4774 4319 \n3 12054 7229 7232 \n3 4555 4449 4327 \n3 4657 4655 4653 \n3 14919 11228 3450 \n3 4446 4646 4761 \n3 11763 11963 13997 \n3 12706 14955 3752 \n3 13226 13255 14286 \n3 5147 5339 4775 \n3 11759 11720 3116 \n3 12963 4007 4232 \n3 11791 12265 3063 \n3 7880 3293 12144 \n3 82 10282 1433 \n3 3844 1697 12429 \n3 4775 3972 4453 \n3 6358 6717 4779 \n3 4452 4776 4777 \n3 4332 4455 4453 \n3 4327 4101 4198 \n3 10331 14076 11080 \n3 4639 4858 4551 \n3 4332 4453 3864 \n3 14500 3289 12223 \n3 12223 3289 12229 \n3 1227 1007 11232 \n3 5326 5325 5041 \n3 4456 4339 4659 \n3 2862 11791 3063 \n3 4660 4197 3861 \n3 4197 4660 4568 \n3 11721 7147 3220 \n3 754 872 873 \n3 4463 4781 4462 \n3 3077 8580 7485 \n3 4446 4761 5060 \n3 4390 4268 4263 \n3 11613 512 14119 \n3 11596 6530 12904 \n3 5155 4206 4668 \n3 4463 4462 4344 \n3 4208 4339 4103 \n3 4206 5155 4788 \n3 98 12688 11942 \n3 5117 2887 5068 \n3 4671 4669 4210 \n3 10718 9548 8496 \n3 512 11613 6821 \n3 4466 4347 4789 \n3 4347 4891 4789 \n3 5007 4245 4918 \n3 4245 5007 4815 \n3 14266 14267 14255 \n3 8723 10945 6750 \n3 2298 14909 7324 \n3 6332 6776 6470 \n3 4574 4470 4353 \n3 4474 4471 4678 \n3 4575 4793 4797 \n3 4477 4227 4684 \n3 3932 1627 943 \n3 4356 4901 4353 \n3 4901 4574 4353 \n3 306 5942 5966 \n3 14255 14257 14266 \n3 3922 3580 3920 \n3 3135 9811 12460 \n3 4471 4474 4118 \n3 4267 4040 4271 \n3 858 10030 4357 \n3 10749 8715 10815 \n3 5709 5504 5407 \n3 4359 4479 4122 \n3 4994 4484 4688 \n3 9556 8588 9145 \n3 4479 4689 4122 \n3 4231 4688 4230 \n3 4690 4122 4689 \n3 4364 4591 4365 \n3 4810 5002 5001 \n3 11587 5099 9388 \n3 11721 3220 6839 \n3 4491 4122 4690 \n3 4907 4688 4231 \n3 6128 3644 7457 \n3 11718 6910 21 \n3 9122 9670 9394 \n3 12632 649 12746 \n3 4913 4237 4698 \n3 4594 4595 4496 \n3 4237 4913 5003 \n3 4316 10328 7035 \n3 4916 4503 4593 \n3 4498 4500 4816 \n3 8788 8810 5973 \n3 4498 4816 4810 \n3 4596 4496 4595 \n3 5713 5499 5214 \n3 4250 4499 4596 \n3 4492 4498 4810 \n3 175 5963 6071 \n3 5737 5243 5528 \n3 1358 1360 1624 \n3 13179 14487 13167 \n3 4602 4502 4920 \n3 4819 4379 4599 \n3 2704 6931 9991 \n3 11687 3095 11670 \n3 4506 4918 4251 \n3 4505 5010 4508 \n3 4600 3905 4601 \n3 13168 14455 7612 \n3 4599 4381 4824 \n3 13151 14209 11055 \n3 5644 10813 5599 \n3 12467 14545 11456 \n3 4503 4707 4603 \n3 4601 4258 4708 \n3 12494 12696 12273 \n3 4824 4381 4384 \n3 4512 5014 4605 \n3 4924 4606 4382 \n3 7317 13757 11654 \n3 13643 941 3834 \n3 5022 4515 4517 \n3 7668 3447 2334 \n3 4723 4268 4390 \n3 13168 13174 14257 \n3 14624 2781 4852 \n3 5197 4931 4391 \n3 4717 4522 4608 \n3 4721 4726 4392 \n3 4726 4617 4278 \n3 4361 4377 4352 \n3 1364 5821 11349 \n3 4719 4524 4831 \n3 4706 4918 4506 \n3 14218 4467 12151 \n3 11670 3095 13729 \n3 4723 4832 4397 \n3 4723 4397 4268 \n3 14093 9961 3739 \n3 4831 4524 4614 \n3 11720 6931 2704 \n3 4840 4733 4401 \n3 3962 4189 3958 \n3 14359 13331 4249 \n3 6270 451 6276 \n3 4467 2540 12151 \n3 6398 13319 12083 \n3 4614 4625 4833 \n3 4737 4531 4624 \n3 4614 4530 4625 \n3 14347 4029 14351 \n3 5530 5344 5436 \n3 12662 14060 13013 \n3 4847 4159 4846 \n3 4532 4531 4846 \n3 4279 4735 3933 \n3 4851 4845 4403 \n3 14490 12812 14478 \n3 3745 3743 3526 \n3 707 1949 4192 \n3 5644 10802 5913 \n3 4625 4530 4409 \n3 12208 12194 7952 \n3 4510 13148 13132 \n3 1725 1735 3662 \n3 5092 5001 5002 \n3 4650 4435 4313 \n3 4630 4536 4742 \n3 10802 10746 10764 \n3 12415 851 9849 \n3 4403 4282 4291 \n3 4841 4742 4536 \n3 4847 5121 4740 \n3 13561 8564 8486 \n3 4536 4630 4633 \n3 14359 3935 13307 \n3 4291 4540 4744 \n3 256 14605 14848 \n3 12162 12028 12927 \n3 4744 4851 4291 \n3 8300 3091 678 \n3 4296 4536 4633 \n3 6413 5246 5250 \n3 3360 5648 4915 \n3 4292 4294 4540 \n3 3946 4162 4541 \n3 2418 2975 907 \n3 1137 2422 2419 \n3 5130 8044 95 \n3 4965 4544 4748 \n3 11720 2704 13085 \n3 12887 11372 10879 \n3 10803 12782 7676 \n3 4637 4542 4636 \n3 3970 3628 3971 \n3 4548 4079 4173 \n3 4548 4752 4419 \n3 13890 9549 12550 \n3 6761 6180 6941 \n3 5495 5703 6207 \n3 10813 6255 5660 \n3 10088 13105 14186 \n3 4856 4415 4419 \n3 4424 4552 4642 \n3 4638 4555 4644 \n3 4424 4642 4646 \n3 11797 4194 7961 \n3 4855 4960 4747 \n3 6472 7364 7367 \n3 3110 3348 3003 \n3 4644 4555 4767 \n3 4359 3888 4118 \n3 10722 10759 7098 \n3 14172 11155 14173 \n3 4757 4559 4558 \n3 4768 4976 4432 \n3 4426 4867 4864 \n3 7050 12066 8967 \n3 4767 4759 4644 \n3 4870 4440 4769 \n3 1675 8900 8953 \n3 4555 4327 4767 \n3 5562 10722 7098 \n3 9789 4106 14527 \n3 4652 4769 4561 \n3 4327 4653 4767 \n3 4776 4324 5060 \n3 4567 4657 4450 \n3 5875 5658 5989 \n3 11245 8313 8353 \n3 4776 4452 4324 \n3 7853 7722 7989 \n3 10767 6128 10777 \n3 4455 4775 4453 \n3 3861 4330 4660 \n3 14172 14156 14147 \n3 4567 4456 4659 \n3 4777 4778 4452 \n3 4456 4567 4454 \n3 3254 3469 3262 \n3 11326 9302 1227 \n3 4881 4662 4781 \n3 4662 4881 4983 \n3 5151 4568 4660 \n3 4781 4662 4335 \n3 4460 4668 4206 \n3 6119 6265 5852 \n3 13539 13324 12657 \n3 8926 7195 13524 \n3 7364 6472 4425 \n3 915 2168 2157 \n3 14728 7344 12876 \n3 10470 5291 2231 \n3 12097 1778 14122 \n3 14122 10004 12097 \n3 13707 9715 13771 \n3 4669 4787 4784 \n3 7195 7177 13524 \n3 6403 13838 10196 \n3 4466 4789 4465 \n3 4511 4717 4825 \n3 4891 4989 5073 \n3 4569 4463 4344 \n3 4675 4349 4790 \n3 4571 4350 4989 \n3 8091 4106 14383 \n3 14144 10022 7114 \n3 12107 2005 14139 \n3 2474 47 2465 \n3 5823 5804 9407 \n3 486 9999 4947 \n3 10031 8621 6403 \n3 4471 4799 4678 \n3 4799 4471 4796 \n3 14331 13207 14822 \n3 11117 11087 7080 \n3 4680 4474 4678 \n3 5877 4703 6888 \n3 4932 4925 959 \n3 4685 4586 4686 \n3 3763 4119 3766 \n3 10467 9322 14413 \n3 4559 4442 4320 \n3 4442 4189 4320 \n3 5425 5143 5732 \n3 4356 4590 4585 \n3 4580 4578 4802 \n3 2889 480 2893 \n3 4901 4356 4585 \n3 4805 4586 4224 \n3 4492 4488 3887 \n3 7782 8821 7769 \n3 13095 3969 14124 \n3 8256 8095 8806 \n3 11720 11759 6931 \n3 3873 4671 4345 \n3 8246 9204 8631 \n3 3977 1456 154 \n3 3096 3094 2759 \n3 5595 5488 5698 \n3 5180 4697 4815 \n3 4491 4812 4594 \n3 5403 5214 5499 \n3 4819 4598 4379 \n3 2552 3604 1334 \n3 4707 4503 4702 \n3 5010 4505 4704 \n3 14389 14388 13338 \n3 13095 7977 14095 \n3 4061 5062 14298 \n3 4143 4381 4248 \n3 4600 4504 3905 \n3 4784 5069 5067 \n3 1180 13547 9015 \n3 5180 5278 4907 \n3 4382 4602 4924 \n3 3635 3330 3422 \n3 4511 4706 4506 \n3 3854 3724 3721 \n3 4384 4520 4824 \n3 4391 4711 5111 \n3 4711 4827 5019 \n3 3414 8590 8815 \n3 4605 4514 4512 \n3 14554 14088 14082 \n3 3721 3612 4174 \n3 4520 4933 4927 \n3 5713 5506 5614 \n3 9209 13014 3984 \n3 5785 3492 5769 \n3 14082 14088 13198 \n3 3058 3057 2726 \n3 12066 11080 14076 \n3 5660 10939 10813 \n3 4723 4390 4929 \n3 4717 4608 4720 \n3 5284 10784 1533 \n3 14311 14312 14803 \n3 8752 13959 14728 \n3 12557 12545 1763 \n3 5065 5346 4983 \n3 4938 4395 4615 \n3 9082 13168 14218 \n3 4831 4614 4833 \n3 5913 8326 10813 \n3 6868 11721 6839 \n3 4493 4692 4231 \n3 14315 14183 14363 \n3 3662 2714 1725 \n3 4527 4397 4832 \n3 4945 4728 4732 \n3 3625 14295 9931 \n3 7251 6202 3875 \n3 8684 14972 11935 \n3 6839 1057 2458 \n3 4733 4840 4944 \n3 4732 4623 4842 \n3 4528 4944 4836 \n3 13332 13337 5423 \n3 4893 14732 14282 \n3 14732 4893 14798 \n3 14696 3916 10408 \n3 4842 4850 4945 \n3 5316 4624 4404 \n3 5913 10802 7118 \n3 13464 4936 2184 \n3 4840 4156 4844 \n3 748 5966 1586 \n3 849 641 741 \n3 3416 13183 4804 \n3 7437 10767 10755 \n3 4742 4841 4955 \n3 5035 4411 4741 \n3 5099 9832 11537 \n3 5066 3932 2841 \n3 11004 12353 12009 \n3 5220 5044 4411 \n3 4745 4747 4633 \n3 14306 13020 6839 \n3 14278 3502 5256 \n3 4413 4636 4542 \n3 4745 5040 4747 \n3 3669 12282 3935 \n3 3736 493 1718 \n3 4962 4959 4637 \n3 10439 14563 11479 \n3 4415 4856 4635 \n3 14046 12998 9989 \n3 4729 14857 4803 \n3 4419 4752 4856 \n3 5585 5198 5303 \n3 3903 13947 1838 \n3 4638 4755 4749 \n3 5052 4749 4755 \n3 4476 4507 5689 \n3 4752 4548 4758 \n3 10279 11407 10707 \n3 1269 12996 1105 \n3 1951 6471 4192 \n3 4974 827 748 \n3 4759 4755 4644 \n3 4814 4595 4812 \n3 4758 4548 4426 \n3 14045 11030 14060 \n3 6941 6180 6320 \n3 6474 6471 1951 \n3 13255 13226 13229 \n3 5683 748 827 \n3 4646 4642 4761 \n3 14119 11574 11613 \n3 669 649 10942 \n3 14176 12141 13098 \n3 4424 4646 4446 \n3 13071 13063 2028 \n3 11176 7155 8044 \n3 4432 4976 4764 \n3 3264 3257 3478 \n3 4768 4440 4870 \n3 1823 1959 1815 \n3 4973 4655 4770 \n3 3406 3068 3067 \n3 4657 4770 4655 \n3 10721 13086 14153 \n3 13095 14124 8994 \n3 4446 5060 4324 \n3 5472 5770 5667 \n3 5147 4455 4983 \n3 1965 9229 9811 \n3 4590 4366 4585 \n3 4876 4659 4874 \n3 4324 4322 4446 \n3 6039 6192 6464 \n3 4144 3911 3683 \n3 9138 6923 9128 \n3 12873 12234 12677 \n3 4874 4659 5067 \n3 4402 3936 4056 \n3 14237 9973 3523 \n3 4707 4702 5185 \n3 4455 4662 4983 \n3 7922 3719 10220 \n3 10288 14425 10450 \n3 5464 5283 5561 \n3 10153 3859 14301 \n3 6784 7392 7285 \n3 9179 9063 2594 \n3 3816 2628 4367 \n3 4787 4671 4788 \n3 4950 3093 13553 \n3 4904 4802 5090 \n3 8896 12967 1203 \n3 4463 4569 4785 \n3 4037 7362 5133 \n3 660 2934 13733 \n3 4021 1730 14610 \n3 4791 4465 4890 \n3 4789 4890 4465 \n3 14137 12106 14147 \n3 4989 4891 4571 \n3 14383 4373 8091 \n3 504 12096 10951 \n3 4796 4576 4895 \n3 4576 4577 4895 \n3 12107 14139 1792 \n3 5263 4573 4574 \n3 4452 3979 3976 \n3 4796 4471 4576 \n3 4678 4799 4798 \n3 2231 6617 1397 \n3 14335 9690 2834 \n3 4578 4797 4800 \n3 9791 10181 9955 \n3 4995 4903 4478 \n3 4995 4478 4685 \n3 3126 9071 6312 \n3 4478 4903 4360 \n3 4802 4904 4580 \n3 4689 4479 4996 \n3 1397 6617 5166 \n3 4906 4485 4360 \n3 4996 5089 4689 \n3 11792 13987 3225 \n3 14704 4053 1766 \n3 5891 6175 5576 \n3 4800 4993 4802 \n3 4586 4805 4686 \n3 10470 14367 5291 \n3 4360 4903 4906 \n3 9629 12929 10938 \n3 10297 5364 5135 \n3 3001 3107 2875 \n3 9095 13380 11345 \n3 395 2887 3963 \n3 4365 4591 5279 \n3 4904 4591 4580 \n3 8132 4837 8120 \n3 11022 5722 419 \n3 5089 5000 4689 \n3 4910 4593 4365 \n3 5629 5429 5530 \n3 8333 8466 8469 \n3 4686 4805 5087 \n3 5279 4910 4365 \n3 4377 5665 7112 \n3 10979 10963 11016 \n3 4812 4491 4908 \n3 4366 4813 4912 \n3 11688 11936 11690 \n3 419 5722 5942 \n3 9740 3032 4583 \n3 5825 5718 5412 \n3 4805 4810 5001 \n3 4912 4813 4598 \n3 4812 4595 4594 \n3 4594 4369 4491 \n3 1151 7137 8196 \n3 14090 13855 9341 \n3 4582 7281 7268 \n3 4579 4687 2943 \n3 5101 4704 4701 \n3 7291 9356 1224 \n3 4375 4600 4500 \n3 5097 5006 4500 \n3 14223 9471 13971 \n3 4922 4821 4600 \n3 14573 14563 10439 \n3 4382 4606 4390 \n3 5746 5863 5448 \n3 12887 9804 12902 \n3 3193 3512 3515 \n3 4516 4603 4707 \n3 4706 4511 5018 \n3 2529 2541 2516 \n3 4825 5018 4511 \n3 4918 5008 5007 \n3 212 10898 11569 \n3 10596 10477 5026 \n3 11062 9961 14093 \n3 10930 11198 3159 \n3 4390 4606 4929 \n3 4351 4572 4575 \n3 13029 13334 3984 \n3 8752 12888 13959 \n3 4825 4717 4720 \n3 13334 13029 9341 \n3 4720 4608 4830 \n3 6003 5875 6150 \n3 5024 4719 5204 \n3 4719 4831 5204 \n3 4723 4935 4832 \n3 4721 4617 4726 \n3 8545 8286 7854 \n3 13973 14089 14108 \n3 5417 5721 5516 \n3 5515 5721 5417 \n3 3510 14310 14317 \n3 4732 4842 4945 \n3 5966 1109 7813 \n3 4528 4733 4944 \n3 4845 4842 4623 \n3 9767 13955 11923 \n3 4618 4947 9652 \n3 4626 4844 4156 \n3 4845 4850 4842 \n3 5121 4849 4627 \n3 5412 4628 5327 \n3 2833 2425 3062 \n3 6305 6295 6002 \n3 6002 6295 6001 \n3 4849 4406 4627 \n3 4850 4845 4851 \n3 5121 4627 4740 \n3 4735 4954 4741 \n3 4435 4180 3842 \n3 4010 3766 4119 \n3 5125 5411 5512 \n3 11670 1263 2299 \n3 4853 4742 4955 \n3 3308 13955 9767 \n3 7217 1224 1210 \n3 461 355 378 \n3 4853 4957 4630 \n3 8074 9116 7021 \n3 5056 5060 4761 \n3 4628 4632 5327 \n3 6910 8517 11404 \n3 13014 9209 1764 \n3 4291 4292 4540 \n3 3167 3493 2836 \n3 4959 4632 4637 \n3 12748 13791 11752 \n3 3059 1521 7282 \n3 4747 4639 4070 \n3 5230 4748 4961 \n3 7182 7433 7677 \n3 7878 5729 984 \n3 1350 1375 4999 \n3 5046 4856 4752 \n3 12863 13936 11071 \n3 5230 4965 4748 \n3 14829 13748 9034 \n3 3872 3874 4344 \n3 4978 4866 4973 \n3 3763 3350 3115 \n3 4551 4858 4861 \n3 5297 5019 4827 \n3 13955 3308 9292 \n3 4759 4968 4755 \n3 7792 10489 2944 \n3 3712 3832 4163 \n3 1522 3980 5241 \n3 4969 4752 4758 \n3 4558 4862 4757 \n3 2606 13361 14035 \n3 4964 4862 4861 \n3 4964 5049 4757 \n3 10627 2063 7592 \n3 4766 4650 4313 \n3 11216 13235 5441 \n3 4864 4867 4757 \n3 4442 4867 4436 \n3 12406 13954 751 \n3 5055 4765 4764 \n3 5055 4868 4765 \n3 2844 3182 2843 \n3 13868 13863 13862 \n3 5244 4976 4768 \n3 4767 4655 4973 \n3 1030 9740 4583 \n3 4873 4769 4652 \n3 4768 4870 5244 \n3 6869 13263 11199 \n3 5147 5346 5339 \n3 5063 4774 4872 \n3 4873 5061 4769 \n3 13603 7440 8415 \n3 250 4082 10675 \n3 4876 4874 4770 \n3 4774 5063 4330 \n3 4777 4776 5060 \n3 4770 4657 4876 \n3 4873 4775 5339 \n3 6830 12860 13914 \n3 1320 1321 1383 \n3 7291 1224 5150 \n3 5147 4775 4455 \n3 4773 4775 4873 \n3 5459 5400 5426 \n3 3783 3568 4134 \n3 4574 4901 5082 \n3 4657 4567 4876 \n3 4879 4330 5063 \n3 5245 4874 5067 \n3 4984 4778 4777 \n3 7563 10205 7580 \n3 5067 5069 5245 \n3 3103 1038 1042 \n3 4784 5067 4659 \n3 12223 10195 10179 \n3 1363 2631 1314 \n3 5155 4668 5153 \n3 4668 4568 5151 \n3 4785 4569 4778 \n3 5471 1615 5459 \n3 5700 5696 5705 \n3 4983 4881 5065 \n3 10470 970 14367 \n3 3107 3536 3441 \n3 5131 4969 5051 \n3 5446 5642 5442 \n3 4790 4791 5072 \n3 4791 4890 5072 \n3 4789 4987 4890 \n3 12887 13987 13981 \n3 13939 14217 11192 \n3 13717 11328 13050 \n3 5358 4894 4675 \n3 13459 13075 2038 \n3 6094 6084 12518 \n3 11720 2672 3116 \n3 5648 6770 4525 \n3 3020 4225 4220 \n3 4222 3996 4115 \n3 4678 4798 4900 \n3 6570 6141 6160 \n3 5263 5082 5362 \n3 5263 4574 5082 \n3 14315 14363 14216 \n3 4897 4684 4990 \n3 4796 4798 4799 \n3 8621 10031 13711 \n3 5165 5082 4901 \n3 4794 4577 4679 \n3 8896 1203 12930 \n3 6874 8935 23 \n3 9769 7086 4321 \n3 4232 9386 12963 \n3 4685 4686 4995 \n3 4998 4366 4912 \n3 5754 10894 10913 \n3 1354 5203 450 \n3 8196 7137 4979 \n3 12767 11191 5604 \n3 4900 4902 4479 \n3 4901 4585 5165 \n3 5087 4805 5001 \n3 4593 4910 4916 \n3 4485 4906 4698 \n3 5279 4591 5090 \n3 4585 4366 4998 \n3 4907 4231 4692 \n3 5000 4690 4689 \n3 8478 2936 2943 \n3 12771 14926 13830 \n3 4690 5000 4908 \n3 419 306 5319 \n3 90 13360 11950 \n3 4913 4698 5370 \n3 4812 4908 4814 \n3 10091 12727 13536 \n3 5006 5002 4816 \n3 6311 6170 5674 \n3 7911 14882 753 \n3 4598 4819 5100 \n3 5007 5093 4815 \n3 4702 4503 4916 \n3 6240 762 6638 \n3 5007 5008 5378 \n3 5001 5092 5087 \n3 13862 11827 13849 \n3 13869 14957 14956 \n3 7999 13718 14807 \n3 4706 5008 4918 \n3 5187 4922 5104 \n3 1065 3449 5762 \n3 11966 3201 4326 \n3 8928 13220 5146 \n3 4599 4824 5013 \n3 5068 395 10222 \n3 5013 4824 5192 \n3 11765 14972 10375 \n3 4922 4601 4708 \n3 4602 4920 4924 \n3 2279 2280 2212 \n3 4606 4924 4929 \n3 2652 6302 4837 \n3 7802 3611 2153 \n3 4928 4712 5022 \n3 12791 14936 12782 \n3 8760 7782 7692 \n3 4927 4933 5196 \n3 6754 13119 8846 \n3 219 250 11096 \n3 5023 5022 4828 \n3 4928 4708 4712 \n3 2617 1357 2600 \n3 13849 12796 651 \n3 4938 4933 4395 \n3 4828 4719 5024 \n3 4617 4721 5114 \n3 4831 4833 5204 \n3 2307 14116 14308 \n3 5024 5113 5202 \n3 11063 11016 9290 \n3 5027 4728 5209 \n3 6054 5112 5497 \n3 588 10627 10942 \n3 4840 5315 4944 \n3 1331 3086 14408 \n3 3818 4534 4156 \n3 5029 4622 4943 \n3 7556 7129 7068 \n3 4736 5316 4404 \n3 4736 5029 5401 \n3 4835 4955 4841 \n3 4069 4544 4416 \n3 4847 4846 5121 \n3 5321 4626 4849 \n3 5123 4844 4626 \n3 5321 5123 4626 \n3 579 2983 8470 \n3 8800 3937 6920 \n3 4846 4737 5212 \n3 5942 1109 5966 \n3 10627 588 2394 \n3 4849 4626 4406 \n3 5035 4741 4954 \n3 4625 4409 4628 \n3 1378 7194 375 \n3 4853 4955 5037 \n3 14705 13994 14221 \n3 5220 4411 5035 \n3 4630 4742 4853 \n3 4630 4957 5222 \n3 9765 14913 12751 \n3 13197 12948 13880 \n3 3098 14974 11823 \n3 4855 4747 5040 \n3 5433 5149 5736 \n3 11140 13843 7955 \n3 3098 13373 7400 \n3 14186 13105 13769 \n3 5129 4858 4960 \n3 10087 10096 14181 \n3 4550 4859 4865 \n3 4959 5042 4632 \n3 3895 9209 12224 \n3 5129 4964 4858 \n3 4964 5129 5049 \n3 5040 5224 4855 \n3 4859 4965 4865 \n3 4965 5139 4865 \n3 14104 434 3938 \n3 11183 8949 4663 \n3 7184 7196 4553 \n3 466 345 414 \n3 3027 8353 8313 \n3 4864 4969 4758 \n3 14024 9426 4543 \n3 5736 5947 5633 \n3 12729 8427 13795 \n3 4864 5137 5051 \n3 3460 3682 3034 \n3 5139 4972 4865 \n3 5055 4764 5057 \n3 4559 4757 4867 \n3 4766 5055 5143 \n3 5051 4969 4864 \n3 5061 4870 4769 \n3 5061 5244 4870 \n3 9755 686 14004 \n3 4973 4770 4978 \n3 2558 13771 1568 \n3 4873 5527 5061 \n3 4968 4866 4967 \n3 5054 4967 4866 \n3 4866 4968 4759 \n3 13380 3126 1084 \n3 7021 7025 4287 \n3 4978 4874 5245 \n3 9437 9356 5079 \n3 4386 6427 1392 \n3 3902 4019 4499 \n3 12135 13086 13098 \n3 5151 4879 5149 \n3 3919 11127 11107 \n3 4652 4773 4873 \n3 4984 4777 5340 \n3 4848 7421 3521 \n3 4984 4785 4778 \n3 5063 5145 5149 \n3 5152 4463 4785 \n3 4760 3276 5291 \n3 4721 4392 4931 \n3 4400 8894 4543 \n3 12997 13953 8647 \n3 13767 2181 9994 \n3 4675 4894 4572 \n3 10695 11713 10684 \n3 306 5683 5319 \n3 14866 1852 14847 \n3 4787 4788 5155 \n3 4789 4891 4889 \n3 4890 4988 5072 \n3 4891 5073 5071 \n3 4987 4988 4890 \n3 9386 5708 8691 \n3 3264 3478 3149 \n3 3696 12337 12328 \n3 9790 3021 3040 \n3 5080 4900 4798 \n3 4796 4895 4896 \n3 7093 7074 6570 \n3 13707 3573 1290 \n3 4894 5452 4793 \n3 3947 4163 4294 \n3 11029 5948 11369 \n3 3102 9100 13128 \n3 4989 5354 5073 \n3 4900 5080 4992 \n3 8167 13750 11696 \n3 10739 14887 12729 \n3 4902 4900 4992 \n3 7198 7564 7040 \n3 4679 4897 4794 \n3 836 801 881 \n3 2210 964 6762 \n3 13093 6774 8812 \n3 4992 5168 4902 \n3 10671 8167 11696 \n3 14981 13908 11850 \n3 4431 4449 4555 \n3 1632 8663 14661 \n3 2341 13611 3573 \n3 6133 13423 14478 \n3 5278 5180 5666 \n3 12992 1458 12421 \n3 8050 11078 13857 \n3 4814 5182 5004 \n3 1165 5005 1174 \n3 4908 5182 4814 \n3 5093 5180 4815 \n3 11078 8050 8023 \n3 5370 5094 4913 \n3 4912 4598 5100 \n3 5094 4701 5003 \n3 4949 9672 6215 \n3 5953 4898 4883 \n3 7287 1627 5066 \n3 4817 4814 5004 \n3 13737 14811 14807 \n3 2146 13487 13828 \n3 12839 14991 8023 \n3 4248 4255 4139 \n3 1632 11680 8663 \n3 5100 4819 5013 \n3 7268 7281 8355 \n3 6786 10814 14956 \n3 12839 8009 14991 \n3 13842 8009 12825 \n3 8663 11680 13728 \n3 7784 7785 7303 \n3 2927 2814 2816 \n3 7346 9424 13892 \n3 4920 5188 5012 \n3 5876 6286 5755 \n3 5187 4821 4922 \n3 5018 5191 4706 \n3 10581 10588 10372 \n3 4708 5104 4922 \n3 13728 11665 14797 \n3 1998 945 3008 \n3 4927 5192 4824 \n3 9770 9773 12868 \n3 5107 544 14859 \n3 11665 13709 14797 \n3 4217 13708 12710 \n3 5022 5023 5202 \n3 8559 8590 12214 \n3 3005 6408 595 \n3 4720 4830 5025 \n3 5308 4933 4938 \n3 5024 5204 5113 \n3 4830 5027 5025 \n3 5954 4004 3395 \n3 3464 3568 3368 \n3 4832 4835 4946 \n3 5235 1834 6748 \n3 4841 4946 4835 \n3 4733 4528 4401 \n3 5116 4617 5114 \n3 8729 13045 6680 \n3 12181 12020 8516 \n3 4948 5315 4840 \n3 13203 8928 8912 \n3 12672 10623 13700 \n3 14774 13686 11639 \n3 4844 5123 4948 \n3 5316 5212 4624 \n3 4625 5609 4833 \n3 4955 4835 5118 \n3 4954 4839 5116 \n3 4608 4146 4394 \n3 5033 4849 5121 \n3 327 4007 8064 \n3 154 8348 3977 \n3 10661 10621 7887 \n3 5781 4560 4553 \n3 5703 5598 6207 \n3 12755 10473 1024 \n3 14910 1111 2494 \n3 3275 13257 5492 \n3 3297 3291 3165 \n3 13686 7874 1297 \n3 4628 5611 4625 \n3 4744 5041 5124 \n3 5222 5038 4630 \n3 4630 4745 4633 \n3 4745 4630 5038 \n3 5327 4632 5042 \n3 5512 5044 5220 \n3 5329 5224 5416 \n3 14701 12620 7638 \n3 5415 5222 5619 \n3 4054 4615 4148 \n3 142 12218 12191 \n3 8070 4068 13358 \n3 4635 5326 5041 \n3 4855 5226 4960 \n3 12650 11624 13686 \n3 9663 4970 7525 \n3 4316 3088 10328 \n3 13854 9515 13856 \n3 4962 5229 4959 \n3 4747 4960 4639 \n3 5228 5129 5226 \n3 5132 4749 5052 \n3 6203 6210 6970 \n3 3938 3941 14104 \n3 10642 4297 10688 \n3 6254 3941 3938 \n3 5052 4967 5054 \n3 5126 5330 4961 \n3 14930 11777 12775 \n3 14104 3941 1641 \n3 13008 8705 4533 \n3 6576 6894 6577 \n3 5054 5140 5138 \n3 4978 5140 4866 \n3 8894 14024 4543 \n3 5312 5598 5401 \n3 5056 4761 4972 \n3 5055 4766 4868 \n3 8558 5719 4683 \n3 3426 3202 3735 \n3 5063 4650 5425 \n3 14827 14870 141 \n3 5242 4976 5244 \n3 13008 4533 10973 \n3 13547 9266 9300 \n3 3592 3284 3484 \n3 4978 5245 5140 \n3 4180 4435 4319 \n3 11766 9647 13818 \n3 10567 7815 14722 \n3 8472 8473 8202 \n3 5338 4777 5060 \n3 2496 58 1241 \n3 2788 3866 6190 \n3 5147 4983 5346 \n3 4053 4052 6352 \n3 10057 5738 10039 \n3 12229 14267 13225 \n3 5149 4879 5063 \n3 13779 9994 10095 \n3 14969 8070 13358 \n3 10205 13784 7580 \n3 14267 12229 3289 \n3 10095 7548 11735 \n3 5275 13299 14323 \n3 4668 5151 5433 \n3 4668 5433 5153 \n3 4165 4080 4072 \n3 8027 8170 7802 \n3 6047 6206 5808 \n3 10089 7563 12382 \n3 4881 5251 5065 \n3 4784 4787 5069 \n3 8403 9431 8358 \n3 8702 8894 4400 \n3 14067 14046 9989 \n3 13767 12218 2181 \n3 7496 7548 10095 \n3 4766 5143 4650 \n3 5258 4675 5072 \n3 13717 13050 8896 \n3 4889 4891 5071 \n3 5074 4573 5263 \n3 5073 5354 5254 \n3 4310 4862 4438 \n3 5255 5157 4896 \n3 4573 5074 4989 \n3 4321 8702 4400 \n3 7780 12749 12669 \n3 4894 5358 5452 \n3 4577 4794 5259 \n3 4157 4155 4531 \n3 5354 4989 5074 \n3 14688 9447 13608 \n3 4990 5163 5356 \n3 2899 6931 11698 \n3 5172 4995 5551 \n3 4800 4797 4993 \n3 2072 7477 7406 \n3 1403 2931 10829 \n3 4995 4686 5551 \n3 7447 2181 12218 \n3 12485 11469 6243 \n3 5168 5277 4996 \n3 4773 4652 4447 \n3 13338 13322 14351 \n3 7584 2015 8711 \n3 13110 14947 14517 \n3 5089 4996 5088 \n3 14051 9794 7605 \n3 5274 5176 4906 \n3 4497 4468 12617 \n3 5370 4698 4906 \n3 5604 12990 13870 \n3 6502 6378 6661 \n3 5370 4906 5176 \n3 5165 4585 4998 \n3 10853 6446 6457 \n3 4817 5004 5188 \n3 5560 4916 4910 \n3 5000 5182 4908 \n3 4907 5278 5173 \n3 5173 5083 4907 \n3 7700 7713 14715 \n3 2025 3964 1971 \n3 8595 8647 10866 \n3 4913 5094 5003 \n3 5044 5512 5328 \n3 5290 4912 5100 \n3 5185 4702 4916 \n3 5006 4816 4500 \n3 4920 4817 5188 \n3 13892 10528 14666 \n3 5379 5101 4701 \n3 4711 4605 4827 \n3 7872 8975 8987 \n3 7736 7282 1713 \n3 5008 4706 5384 \n3 2816 3045 2927 \n3 249 300 273 \n3 12857 10829 14559 \n3 5187 5478 4821 \n3 5191 5384 4706 \n3 5294 5187 5104 \n3 5105 5012 5296 \n3 5191 5018 5298 \n3 5014 5295 5297 \n3 4835 5211 5118 \n3 5297 4827 5014 \n3 5018 4825 5298 \n3 5194 5192 4927 \n3 6511 8533 4363 \n3 4708 4928 5104 \n3 4928 5299 5104 \n3 9015 169 2246 \n3 5393 5197 5302 \n3 6528 7428 10511 \n3 5299 4928 5200 \n3 4927 5196 5194 \n3 4825 4720 5298 \n3 4945 5214 5209 \n3 5021 4516 5388 \n3 4611 4516 5021 \n3 5200 5022 5202 \n3 5105 5390 5306 \n3 6786 12807 13846 \n3 5196 4933 5308 \n3 11602 10215 1141 \n3 4935 4929 5306 \n3 5112 4720 5025 \n3 5797 4611 5021 \n3 5308 4938 5396 \n3 5114 4721 5309 \n3 14947 13110 13119 \n3 5696 5490 5313 \n3 11201 11137 4710 \n3 13415 3395 4004 \n3 3414 12660 12536 \n3 12564 14647 13722 \n3 4938 5594 5396 \n3 7165 10502 6996 \n3 4944 5208 4836 \n3 6906 9393 7092 \n3 1297 14754 13686 \n3 11942 1954 1847 \n3 6516 13588 11563 \n3 5213 4954 5116 \n3 9241 14460 10322 \n3 1998 10973 8703 \n3 11523 12553 548 \n3 5608 5033 5121 \n3 5033 5321 4849 \n3 5120 5121 4846 \n3 5323 5506 4850 \n3 11868 1935 7232 \n3 5600 5317 5212 \n3 13565 10490 14631 \n3 13524 11455 2221 \n3 5125 5220 5035 \n3 242 220 244 \n3 4957 5037 5221 \n3 5634 3364 4521 \n3 662 2033 8174 \n3 4749 5132 4962 \n3 1841 8564 13561 \n3 7023 492 11515 \n3 14754 12650 13686 \n3 5619 5222 5221 \n3 5328 5126 5044 \n3 8433 767 7380 \n3 5126 4961 5044 \n3 5326 5127 5514 \n3 4961 5330 5230 \n3 4856 5046 5326 \n3 5127 5326 5046 \n3 5417 5049 5129 \n3 5127 5046 5131 \n3 5226 5129 4960 \n3 14417 5704 14056 \n3 5228 5417 5129 \n3 5206 4935 5306 \n3 89 119 144 \n3 13588 7567 12083 \n3 5131 5232 5127 \n3 5136 5051 5137 \n3 5136 5137 5049 \n3 5673 5672 6015 \n3 5223 5038 5222 \n3 5131 5046 4752 \n3 6642 4547 6670 \n3 5137 4864 4757 \n3 5049 5331 5136 \n3 5052 5138 5132 \n3 11868 7036 8737 \n3 396 428 477 \n3 3293 310 7802 \n3 8064 8170 327 \n3 11767 11718 98 \n3 310 3293 3116 \n3 5057 5142 5055 \n3 5245 5239 5140 \n3 4679 4477 4897 \n3 6045 6782 6475 \n3 10095 11735 13779 \n3 4182 4424 4317 \n3 5056 5338 5060 \n3 5055 5142 5143 \n3 219 10602 10784 \n3 10626 9531 9536 \n3 5209 5025 5027 \n3 12385 13415 8250 \n3 11582 9448 11571 \n3 3895 12224 13865 \n3 5340 4777 5338 \n3 480 465 7874 \n3 3063 14969 14670 \n3 2914 4003 11915 \n3 5346 5065 5345 \n3 11942 9149 11244 \n3 597 599 14902 \n3 5152 5251 4463 \n3 597 6406 599 \n3 9437 2250 7217 \n3 3506 11157 58 \n3 4751 5912 2547 \n3 2135 2069 2148 \n3 5154 5155 5153 \n3 5344 4787 5154 \n3 5069 4787 5344 \n3 5155 5154 4787 \n3 4988 4987 5439 \n3 4260 4312 6511 \n3 5071 5440 4889 \n3 1057 3220 2862 \n3 8738 3859 8726 \n3 8737 7036 1124 \n3 5260 4675 5258 \n3 4790 5072 4675 \n3 4675 5260 5358 \n3 13608 8426 7636 \n3 5261 4896 5157 \n3 4203 4462 4781 \n3 4794 5078 5444 \n3 3863 395 8706 \n3 6804 6910 6798 \n3 5356 5444 5078 \n3 4365 4016 4364 \n3 11574 7185 11539 \n3 4291 4851 4403 \n3 5265 5267 4992 \n3 5444 5356 5445 \n3 3098 11823 13373 \n3 1350 63 1357 \n3 5082 5165 5362 \n3 595 6197 3005 \n3 3500 2452 9 \n3 6240 11244 6690 \n3 2620 5961 3658 \n3 5277 5168 5267 \n3 4902 5168 4996 \n3 5148 4127 6209 \n3 5168 4992 5267 \n3 14879 14891 2072 \n3 10751 12857 4266 \n3 7875 7567 14650 \n3 5464 5273 4998 \n3 3063 12265 14969 \n3 4686 5087 5551 \n3 5273 5464 5557 \n3 11458 13507 6174 \n3 5556 5087 5285 \n3 2862 3063 14670 \n3 7378 7406 12213 \n3 4972 5139 5334 \n3 5092 5285 5087 \n3 12467 6030 93 \n3 13484 6030 12467 \n3 3745 3749 4208 \n3 4591 4904 5090 \n3 4736 4622 5029 \n3 5185 4916 5560 \n3 5283 4912 5290 \n3 7955 6236 11140 \n3 5464 4998 5283 \n3 5468 5383 5004 \n3 9880 11025 13028 \n3 13611 8783 3524 \n3 824 869 790 \n3 6690 11244 1696 \n3 5568 5007 5378 \n3 8595 10866 8576 \n3 5097 4821 5478 \n3 5381 5097 5478 \n3 1696 6563 6690 \n3 9925 12382 7477 \n3 12809 14983 12825 \n3 5379 4701 5184 \n3 4707 5185 5483 \n3 9424 10528 13892 \n3 5101 5379 5292 \n3 9991 9971 2704 \n3 5483 5388 4707 \n3 4615 4054 4528 \n3 4263 4254 4390 \n3 7327 7378 12089 \n3 5105 4924 5012 \n3 13494 13490 10405 \n3 14919 5064 14339 \n3 2558 12304 2520 \n3 10774 6462 8475 \n3 5296 5012 5188 \n3 14019 14247 14249 \n3 5197 5111 5198 \n3 12443 10395 10378 \n3 1632 10671 11680 \n3 5105 4929 4924 \n3 5306 4929 5105 \n3 1974 6540 10829 \n3 9045 8993 7939 \n3 7169 6076 6372 \n3 5298 4720 5112 \n3 5202 5305 5200 \n3 2672 13085 2579 \n3 5023 5024 5202 \n3 11207 11404 8360 \n3 5405 5123 5321 \n3 5388 5790 5021 \n3 11404 9302 12055 \n3 9019 9143 8563 \n3 1954 12688 7276 \n3 2787 2884 2582 \n3 5797 5312 4943 \n3 5797 4943 4616 \n3 12441 14484 10378 \n3 5025 5403 5497 \n3 5114 5699 5116 \n3 6962 1113 11499 \n3 2753 5070 2841 \n3 5116 4839 4617 \n3 4839 4954 4735 \n3 2782 1433 127 \n3 5401 5316 4736 \n3 5401 5494 5316 \n3 5600 5212 5316 \n3 5733 4068 7086 \n3 806 891 713 \n3 11868 7232 7229 \n3 5120 5606 5121 \n3 5118 5496 5407 \n3 5120 4846 5212 \n3 9971 14618 2704 \n3 5051 5232 5131 \n3 4868 4557 4765 \n3 310 2672 14735 \n3 5118 5407 5218 \n3 10094 2622 14332 \n3 5323 4850 5216 \n3 14219 8063 12170 \n3 4850 5124 5216 \n3 5615 5324 5413 \n3 5213 5035 4954 \n3 13332 11308 13337 \n3 5615 5221 5324 \n3 5606 5608 5121 \n3 4948 5501 5315 \n3 5037 4955 5218 \n3 12372 13409 13378 \n3 11469 11456 14545 \n3 5410 5324 5218 \n3 5329 5416 5515 \n3 5222 5415 5223 \n3 5224 5329 4855 \n3 4420 4164 4301 \n3 12984 8703 8661 \n3 5222 4957 5221 \n3 9261 13408 14472 \n3 5330 5518 5230 \n3 4545 4413 4420 \n3 11791 2862 3220 \n3 2081 5193 3050 \n3 5331 5049 5417 \n3 4679 4473 4477 \n3 5232 5051 5136 \n3 3574 12669 12749 \n3 5063 5425 5145 \n3 6275 1390 1463 \n3 2209 2224 13495 \n3 4965 5230 5233 \n3 14306 14604 13020 \n3 5334 5056 4972 \n3 5239 5245 5343 \n3 5143 5425 4650 \n3 5242 5521 5057 \n3 5243 5244 5061 \n3 5336 5242 5244 \n3 5339 5527 4873 \n3 13408 10322 14460 \n3 6240 6690 1181 \n3 748 306 5966 \n3 12278 13332 3928 \n3 3793 3372 3567 \n3 5083 5458 5169 \n3 1181 6690 6563 \n3 6208 1390 6275 \n3 6558 5160 10445 \n3 5533 5339 5342 \n3 8445 10757 10754 \n3 4061 4140 5062 \n3 8403 7293 7311 \n3 12380 11364 14425 \n3 5340 5434 5152 \n3 6423 6872 7087 \n3 1825 10622 2825 \n3 5342 5339 5346 \n3 5344 5343 5069 \n3 5286 5468 5182 \n3 5926 6641 6212 \n3 5149 5433 5151 \n3 9407 5804 7252 \n3 846 14707 6736 \n3 5245 5069 5343 \n3 5434 5251 5152 \n3 6736 7036 6398 \n3 3711 2668 5750 \n3 14478 6420 14490 \n3 4768 4432 4440 \n3 11599 10641 14184 \n3 12062 12898 8528 \n3 4726 4278 4147 \n3 5595 5496 5211 \n3 5071 5073 5254 \n3 5818 5512 5411 \n3 14556 6243 11469 \n3 173 10979 13503 \n3 6733 6583 5990 \n3 5223 5040 5038 \n3 804 5437 3190 \n3 5446 5074 5263 \n3 11701 14818 12702 \n3 5543 5445 5356 \n3 7496 5578 5941 \n3 5259 4794 5444 \n3 1227 11207 1007 \n3 7118 8326 5913 \n3 6703 11244 6062 \n3 5265 5450 5649 \n3 4993 4797 5546 \n3 5362 5165 5367 \n3 5083 5169 4994 \n3 5403 5209 5214 \n3 6062 11244 6240 \n3 13389 12357 13381 \n3 12481 13507 8321 \n3 5365 5277 5267 \n3 12380 14425 10288 \n3 5273 5367 5165 \n3 5173 5458 5083 \n3 14549 13507 12481 \n3 12352 12336 11333 \n3 9304 10378 10395 \n3 9101 4610 4609 \n3 7525 4970 4982 \n3 6813 6235 6995 \n3 9039 707 7500 \n3 3273 848 13487 \n3 5559 5372 5277 \n3 4906 4903 5274 \n3 13876 11369 5948 \n3 5372 5564 5088 \n3 6798 11767 6703 \n3 5560 5279 5661 \n3 5279 5090 5657 \n3 14419 12352 13378 \n3 9305 5898 10398 \n3 12772 1846 6367 \n3 12459 11441 13490 \n3 10405 13490 11441 \n3 5182 5000 5286 \n3 5089 5088 5567 \n3 5006 5289 5092 \n3 14327 11273 12282 \n3 5467 5567 5088 \n3 5287 5285 5092 \n3 14266 13225 14267 \n3 5377 5289 5006 \n3 7875 12083 7567 \n3 8947 8564 11086 \n3 3614 5872 145 \n3 4986 1216 4975 \n3 13 11 16 \n3 5383 5188 5004 \n3 5100 5013 5380 \n3 7131 6775 6771 \n3 11776 11951 5275 \n3 5380 5013 5189 \n3 2127 3283 10253 \n3 5294 5478 5187 \n3 4616 4943 4622 \n3 4793 4575 4572 \n3 5294 5104 5385 \n3 7731 7608 7250 \n3 5104 5299 5385 \n3 5013 5192 5194 \n3 11468 11563 13588 \n3 5302 5197 5198 \n3 5198 5111 5303 \n3 5105 5580 5390 \n3 5304 5200 5305 \n3 6229 1390 6208 \n3 14650 846 7875 \n3 5390 5587 5306 \n3 5298 5112 5395 \n3 5488 5206 5306 \n3 1718 6313 2893 \n3 5487 5196 5308 \n3 5196 5300 5194 \n3 6208 6275 736 \n3 8022 8580 3077 \n3 5480 5295 5894 \n3 5308 5396 5592 \n3 8165 4882 3722 \n3 5196 5487 5300 \n3 5304 5299 5200 \n3 5309 5699 5114 \n3 6046 3509 6068 \n3 5497 5112 5025 \n3 13085 2672 11720 \n3 11170 6358 4779 \n3 11404 14752 8360 \n3 5206 5211 4835 \n3 5403 5025 5209 \n3 5204 4833 5313 \n3 5208 5594 4938 \n3 5208 5315 5601 \n3 11950 13351 11314 \n3 5208 4944 5315 \n3 5113 5204 5313 \n3 14859 6373 6368 \n3 6868 13020 1411 \n3 5116 5699 5402 \n3 6036 6229 6208 \n3 5118 5211 5496 \n3 11949 14436 14907 \n3 1181 6563 1390 \n3 5123 5405 5320 \n3 5320 4948 5123 \n3 5605 5317 5404 \n3 3052 4280 2068 \n3 418 417 367 \n3 5605 5120 5317 \n3 980 3919 972 \n3 5594 5601 5801 \n3 5330 5126 5517 \n3 5608 5321 5033 \n3 3672 4003 2914 \n3 3050 5036 2081 \n3 5411 5125 5035 \n3 5608 5711 5321 \n3 5324 5037 5218 \n3 5225 309 266 \n3 5035 5213 5508 \n3 10662 14985 9344 \n3 14359 13317 13331 \n3 650 613 906 \n3 5327 5825 5412 \n3 5325 5219 5041 \n3 5713 5214 5506 \n3 5221 5615 5619 \n3 8437 1856 1841 \n3 5416 5224 5223 \n3 11519 7011 9381 \n3 5422 5327 5042 \n3 5325 5326 5514 \n3 5126 5328 5517 \n3 14382 11317 12188 \n3 5325 5509 5219 \n3 5417 5228 5329 \n3 4248 4139 4143 \n3 5421 5514 5127 \n3 4520 4267 4933 \n3 5725 5517 5937 \n3 4959 5229 5042 \n3 5042 5229 5422 \n3 12188 11317 13349 \n3 5131 4752 4969 \n3 6359 5926 5713 \n3 5421 5127 5232 \n3 5002 4810 4816 \n3 11282 13320 10228 \n3 5728 6232 5520 \n3 5136 5421 5232 \n3 5054 5138 5052 \n3 11328 13275 13050 \n3 5516 5421 5331 \n3 1839 14304 8721 \n3 10722 5562 6711 \n3 7293 7281 4582 \n3 5242 5336 5521 \n3 5336 5244 5243 \n3 6062 6240 6638 \n3 5527 5339 5837 \n3 5431 5434 5340 \n3 5346 5345 5435 \n3 14602 13541 339 \n3 12879 10853 6457 \n3 10748 13796 12751 \n3 12282 13307 3935 \n3 5434 5345 5251 \n3 5992 6036 6010 \n3 4988 5439 5349 \n3 5154 5436 5344 \n3 5439 4987 5639 \n3 4987 5440 5639 \n3 5071 5254 5350 \n3 12170 13148 14219 \n3 5538 5351 5157 \n3 7875 6398 12083 \n3 13049 9992 9979 \n3 9436 11326 11232 \n3 10642 10688 3865 \n3 5257 5259 5444 \n3 5254 5354 5540 \n3 5258 5638 5260 \n3 5360 5543 5356 \n3 5265 5080 5261 \n3 4798 5261 5080 \n3 1931 9039 4171 \n3 13748 9574 11709 \n3 5542 5450 5265 \n3 5360 5453 5543 \n3 3739 9961 14072 \n3 5169 5163 4990 \n3 5966 7712 1586 \n3 4995 5457 5171 \n3 5169 5458 5456 \n3 11395 7137 1151 \n3 5267 5265 5649 \n3 5863 5546 5448 \n3 5365 5462 5277 \n3 4994 5169 4990 \n3 12263 13277 13299 \n3 11016 10963 9290 \n3 13221 12980 13904 \n3 1109 8105 7813 \n3 258 2591 8883 \n3 5278 5461 5173 \n3 14550 14810 14319 \n3 5176 5664 5370 \n3 8190 3727 7095 \n3 14090 9341 13029 \n3 6019 5992 6143 \n3 5176 5274 5368 \n3 4802 5272 5657 \n3 13545 11739 13061 \n3 6804 8517 6910 \n3 5890 11435 10398 \n3 4838 6099 4848 \n3 5665 4429 5684 \n3 5182 5468 5004 \n3 5286 5089 5567 \n3 1023 12357 11339 \n3 5000 5089 5286 \n3 6994 5992 5949 \n3 4097 8308 3759 \n3 5375 5370 5664 \n3 4451 4454 4567 \n3 14676 10528 7440 \n3 5194 5387 5189 \n3 13255 14323 13277 \n3 5560 5768 5185 \n3 5180 5093 5666 \n3 5283 5290 5671 \n3 5561 5283 5671 \n3 5375 5469 5184 \n3 5287 5092 5289 \n3 12632 2394 588 \n3 6491 7967 4187 \n3 1475 290 13239 \n3 5377 5097 5472 \n3 5135 5364 450 \n3 1209 5481 2085 \n3 4931 5393 5309 \n3 13229 14323 13255 \n3 5100 5474 5290 \n3 5506 5214 4850 \n3 5475 5379 5569 \n3 9045 10163 8993 \n3 5379 5184 5469 \n3 14927 14274 7207 \n3 5097 5381 5472 \n3 4998 4912 5283 \n3 5680 5477 5384 \n3 5387 5380 5189 \n3 5296 5188 5383 \n3 4278 4617 4839 \n3 5480 5894 5786 \n3 11372 11298 10879 \n3 14891 14879 13759 \n3 5479 5580 5296 \n3 5105 5296 5580 \n3 748 1586 4974 \n3 5579 5299 5304 \n3 5580 5587 5390 \n3 5688 5298 5395 \n3 306 748 5683 \n3 5303 5111 5019 \n3 4967 5052 4755 \n3 14511 14338 14025 \n3 5308 5592 5487 \n3 5202 5586 5305 \n3 5797 5021 5790 \n3 5313 5490 5113 \n3 3275 5524 10356 \n3 5592 5396 5594 \n3 4398 4616 4622 \n3 13226 12230 13229 \n3 10320 12408 11364 \n3 5312 5401 4943 \n3 6868 6839 13020 \n3 14257 12230 13226 \n3 5572 5386 11949 \n3 5699 5309 5694 \n3 5902 5791 5904 \n3 5601 5315 5501 \n3 1109 2571 5565 \n3 11949 10936 5572 \n3 5494 5600 5316 \n3 5404 5317 5600 \n3 6031 6321 6461 \n3 12230 12236 13229 \n3 5603 5705 5313 \n3 1109 5942 5754 \n3 4948 5320 5607 \n3 5607 5501 4948 \n3 5402 5213 5116 \n3 5402 5505 5213 \n3 5701 5709 5407 \n3 5496 5701 5407 \n3 6010 736 582 \n3 10759 10722 9986 \n3 5405 5321 5711 \n3 5603 4833 5609 \n3 4350 4574 4573 \n3 5606 5120 5605 \n3 5407 5504 5410 \n3 12298 5644 12505 \n3 5609 4625 5611 \n3 7755 8318 7633 \n3 9986 10722 6711 \n3 5508 5411 5035 \n3 5716 5611 5412 \n3 14217 9084 11192 \n3 5509 5616 5815 \n3 5410 5717 5324 \n3 12746 827 4974 \n3 5412 5611 4628 \n3 689 6229 6019 \n3 14257 14255 14455 \n3 5328 5512 5623 \n3 6326 6615 6335 \n3 5620 5223 5415 \n3 5620 5416 5223 \n3 5825 5327 5422 \n3 10936 9986 5572 \n3 8248 14794 8236 \n3 4632 4542 4637 \n3 11170 7080 6358 \n3 3525 3638 13802 \n3 11096 10602 219 \n3 5330 5725 5518 \n3 5331 5421 5136 \n3 3331 14016 400 \n3 5725 6079 5518 \n3 5329 5228 5226 \n3 206 13674 1226 \n3 5514 5421 5516 \n3 5229 5132 5519 \n3 9196 3571 9426 \n3 4624 5212 4737 \n3 4083 1063 60 \n3 4482 449 2511 \n3 5230 5518 5233 \n3 12636 4012 12615 \n3 12518 6084 12511 \n3 5624 5138 5239 \n3 5139 5233 5520 \n3 6214 6057 6351 \n3 12734 13785 10743 \n3 9249 9669 8984 \n3 6216 6972 6481 \n3 14798 4893 10153 \n3 5628 5830 5142 \n3 5830 5143 5142 \n3 10746 5096 10688 \n3 3174 4247 4270 \n3 5429 5239 5343 \n3 5056 5630 5338 \n3 10175 13179 13167 \n3 5336 5243 5737 \n3 5236 4120 3010 \n3 11244 6703 11767 \n3 1841 11086 8564 \n3 5732 5735 5145 \n3 5521 5336 5951 \n3 4936 13464 11426 \n3 5532 5730 5943 \n3 12059 14077 14091 \n3 3417 12687 5920 \n3 5344 5429 5343 \n3 5056 5730 5630 \n3 5533 5837 5339 \n3 5334 5730 5056 \n3 5149 5735 5736 \n3 9859 14712 6573 \n3 5338 5431 5340 \n3 14644 5011 14889 \n3 5346 5435 5342 \n3 1857 12591 10482 \n3 14186 13939 11192 \n3 5154 5153 5436 \n3 5440 5071 5640 \n3 5350 5640 5071 \n3 5350 5254 5540 \n3 10936 10759 9986 \n3 5538 5257 5852 \n3 5955 14496 8254 \n3 5741 5157 5351 \n3 5538 5255 5257 \n3 5353 6071 5963 \n3 5442 5354 5446 \n3 14216 4204 14114 \n3 5261 5741 5542 \n3 12263 13299 14351 \n3 5452 5358 5448 \n3 11107 13093 13102 \n3 14943 8799 10193 \n3 5260 5448 5358 \n3 5645 5454 5647 \n3 5088 4996 5277 \n3 3550 4974 1586 \n3 5157 5741 5261 \n3 5362 5645 5642 \n3 5163 5453 5360 \n3 13299 13277 14323 \n3 12495 13530 7367 \n3 4320 4438 4558 \n3 4775 4773 3972 \n3 5171 5457 5654 \n3 5456 5453 5163 \n3 5824 6497 6369 \n3 4634 4645 4725 \n3 5172 5551 5751 \n3 930 9848 14026 \n3 12385 13374 14430 \n3 5456 5458 5461 \n3 8953 9034 8200 \n3 5657 5272 5550 \n3 4760 5291 14374 \n3 5656 5368 5654 \n3 7691 8714 7692 \n3 10296 9999 350 \n3 5171 5654 5368 \n3 5911 5487 5592 \n3 5448 5546 5452 \n3 3173 6548 8709 \n3 8448 7766 8177 \n3 5550 4993 5546 \n3 5927 6221 5813 \n3 10477 10596 4640 \n3 5291 14367 14374 \n3 13381 12357 1023 \n3 12260 14310 13287 \n3 5664 5176 5659 \n3 5277 5462 5559 \n3 1131 4645 4634 \n3 2179 10721 14153 \n3 5876 5755 5758 \n3 5948 13036 13876 \n3 3815 4055 3702 \n3 5503 4257 3037 \n3 5372 5559 5670 \n3 13439 11386 96 \n3 5564 5467 5088 \n3 13105 13094 2410 \n3 5093 5568 5666 \n3 4759 4767 4973 \n3 11164 12137 13090 \n3 5467 5771 5567 \n3 14793 14986 7528 \n3 14323 13229 14305 \n3 4529 11743 10010 \n3 5777 5568 5378 \n3 5886 5185 5768 \n3 5289 5377 5472 \n3 5469 5569 5379 \n3 5094 5375 5184 \n3 5671 5290 5474 \n3 350 2218 12649 \n3 14525 12245 8386 \n3 5295 5292 5894 \n3 5774 5472 5679 \n3 5483 5185 5893 \n3 5384 5777 5008 \n3 5574 5479 5296 \n3 14242 13163 12140 \n3 14151 14183 2471 \n3 5194 5189 5013 \n3 5294 5385 5682 \n3 5576 5478 5294 \n3 12996 10991 12415 \n3 5682 5576 5294 \n3 5685 5297 5480 \n3 5688 5895 5298 \n3 5387 5194 5300 \n3 419 5942 306 \n3 5685 5019 5297 \n3 5487 5911 5300 \n3 9852 14335 2834 \n3 3416 3450 11228 \n3 5014 5292 5295 \n3 14250 13167 14487 \n3 5587 6048 5488 \n3 6419 6421 6692 \n3 5794 5304 5586 \n3 5305 5586 5304 \n3 12107 11146 2005 \n3 5393 5583 5309 \n3 7592 12386 9196 \n3 5443 5858 5739 \n3 827 649 669 \n3 14153 12110 11111 \n3 10014 12106 10004 \n3 4861 4858 4964 \n3 5496 5595 5701 \n3 1636 350 9999 \n3 5660 10936 11949 \n3 5601 5594 5208 \n3 12106 12097 10004 \n3 11110 12107 1792 \n3 12944 14003 11997 \n3 4400 9769 4321 \n3 5603 5313 4833 \n3 11061 13109 4373 \n3 6208 736 6010 \n3 5405 5607 5320 \n3 5754 5722 10894 \n3 7655 6814 6661 \n3 10218 10237 5095 \n3 5709 5927 5504 \n3 12545 10426 8144 \n3 8132 10556 3716 \n3 5508 5213 5610 \n3 8135 8144 6108 \n3 14514 9740 14565 \n3 5508 5612 5411 \n3 5610 5612 5508 \n3 14335 13100 9690 \n3 2571 5754 350 \n3 5410 5715 5717 \n3 5716 5412 5718 \n3 3524 8783 12735 \n3 5509 5216 5219 \n3 5216 5614 5323 \n3 10368 10153 14301 \n3 14049 1744 3903 \n3 5623 5512 5818 \n3 5504 5715 5410 \n3 1078 990 986 \n3 5325 5514 5616 \n3 8357 2057 5823 \n3 5619 5615 6073 \n3 13095 8994 7977 \n3 4938 4615 4836 \n3 4615 4528 4836 \n3 5720 5415 5619 \n3 5942 5722 5754 \n3 5712 12242 1509 \n3 14363 14183 7958 \n3 5422 5229 5827 \n3 3020 5489 12513 \n3 3773 3841 5053 \n3 6473 10439 8327 \n3 5519 5132 5624 \n3 5828 5233 5518 \n3 14092 11066 13040 \n3 5725 5330 5517 \n3 8289 5256 9931 \n3 5683 827 669 \n3 5624 5239 5429 \n3 1542 5846 9391 \n3 3617 3846 3851 \n3 12894 9426 3571 \n3 5830 5732 5143 \n3 5142 5057 5628 \n3 14359 13307 13317 \n3 5521 5951 5631 \n3 4 13633 1012 \n3 5041 4744 4635 \n3 5826 14737 5810 \n3 5528 5243 5527 \n3 5992 6010 565 \n3 5065 5251 5345 \n3 4745 5038 5040 \n3 8620 9638 12751 \n3 14646 3916 14696 \n3 5336 5737 5951 \n3 5019 5111 4711 \n3 5628 5057 5521 \n3 5527 5837 5528 \n3 14068 12066 14076 \n3 5736 5735 5832 \n3 4765 4557 4433 \n3 12000 2097 3632 \n3 9426 12894 4543 \n3 14960 12706 13837 \n3 3841 3773 2712 \n3 5658 5656 5989 \n3 5342 5435 5533 \n3 5349 5439 5639 \n3 5639 5440 5637 \n3 5440 5640 5637 \n3 5640 5350 5540 \n3 5642 5446 5362 \n3 5539 5741 5351 \n3 5530 5436 5535 \n3 12775 12782 14930 \n3 5362 5446 5263 \n3 5349 5639 5638 \n3 5260 5638 5859 \n3 7782 7824 8854 \n3 194 762 689 \n3 3983 1857 10482 \n3 5354 5074 5446 \n3 5448 5260 5859 \n3 5443 5445 5858 \n3 11069 14122 13040 \n3 12059 12058 14067 \n3 8966 14072 9961 \n3 14509 10272 5952 \n3 5540 5354 5442 \n3 6573 1030 13163 \n3 5986 5654 5457 \n3 988 987 1299 \n3 1459 7949 1269 \n3 5362 5367 5454 \n3 5753 5550 5546 \n3 5521 5631 5628 \n3 12170 13132 13148 \n3 8081 10384 1735 \n3 4417 915 14139 \n3 5654 5867 5989 \n3 5454 5367 5273 \n3 361 439 498 \n3 5457 5172 5751 \n3 3476 4634 4725 \n3 5458 5173 5461 \n3 5365 5554 5462 \n3 2624 14364 3028 \n3 5554 5559 5462 \n3 5661 5279 5657 \n3 8387 4509 12569 \n3 5556 5758 5755 \n3 5461 5278 5666 \n3 14153 11111 13065 \n3 12021 11030 12353 \n3 6229 689 1181 \n3 11155 10087 14181 \n3 5758 5285 5763 \n3 5561 5557 5464 \n3 12998 12023 12992 \n3 3523 1178 484 \n3 4181 187 2253 \n3 14218 10099 9082 \n3 5768 5560 5882 \n3 6809 6808 7413 \n3 878 895 12883 \n3 5472 5667 5289 \n3 6003 5664 5659 \n3 11004 12021 12353 \n3 13090 2005 11146 \n3 2190 1923 1916 \n3 5556 5285 5758 \n3 14594 12477 3867 \n3 14286 12263 13247 \n3 11457 9629 2031 \n3 5117 505 5166 \n3 14661 1737 1751 \n3 5570 5468 5775 \n3 5674 5568 5777 \n3 5468 5570 5383 \n3 11226 2097 13365 \n3 6143 5992 6994 \n3 5574 5383 5570 \n3 5475 5292 5379 \n3 5474 5380 5783 \n3 5679 5381 5576 \n3 3666 4014 4492 \n3 5477 5777 5384 \n3 7159 1636 486 \n3 5478 5576 5381 \n3 5095 5135 12259 \n3 14525 12064 12245 \n3 5620 5939 5416 \n3 5680 5892 5477 \n3 3867 1756 14594 \n3 5477 5892 5777 \n3 7236 7349 7347 \n3 10879 13936 11893 \n3 6046 6068 7421 \n3 9113 9103 10192 \n3 5483 5893 5577 \n3 5547 14620 14594 \n3 5483 5790 5388 \n3 5483 5577 5790 \n3 5896 5387 5300 \n3 5579 5682 5385 \n3 5579 5304 5794 \n3 14211 3975 2028 \n3 5393 5302 5791 \n3 5302 5198 5904 \n3 6422 7058 6561 \n3 7424 4806 6051 \n3 4565 4584 14160 \n3 623 620 580 \n3 5395 5112 6054 \n3 6412 6688 6114 \n3 6615 6775 6956 \n3 5698 5488 6048 \n3 3134 9903 1962 \n3 4879 4660 4330 \n3 5593 5490 5696 \n3 14004 9879 12962 \n3 5694 6056 5699 \n3 5754 2571 1109 \n3 5497 5499 6054 \n3 10991 11984 12096 \n3 5703 5494 5598 \n3 4572 4894 4793 \n3 6508 5838 6509 \n3 14105 13216 13673 \n3 5701 5595 5698 \n3 5401 5598 5494 \n3 13495 14883 11426 \n3 5494 5495 5600 \n3 5497 5403 5499 \n3 5599 10939 14427 \n3 12557 12572 12545 \n3 6052 7424 6051 \n3 5601 5501 5707 \n3 4971 10218 14316 \n3 4821 5097 4500 \n3 5538 5157 5255 \n3 6220 5505 5919 \n3 7424 4838 2325 \n3 4038 219 10784 \n3 5323 5614 5506 \n3 5509 5815 5216 \n3 9690 14474 14514 \n3 5815 5614 5216 \n3 3771 3897 3891 \n3 10964 686 13997 \n3 1922 9064 8948 \n3 5413 5324 5717 \n3 8897 14032 10989 \n3 13275 2606 14035 \n3 5812 5716 6069 \n3 4653 4655 4767 \n3 5616 5514 5820 \n3 13868 13869 13863 \n3 5720 5620 5415 \n3 14967 10368 11488 \n3 5723 5721 5515 \n3 5062 14967 11488 \n3 14086 13653 12949 \n3 5939 5515 5416 \n3 5645 5362 5454 \n3 5820 5721 5824 \n3 2138 2139 14521 \n3 5517 5328 5623 \n3 5820 5936 5616 \n3 11963 10964 13997 \n3 5828 5518 5940 \n3 6079 6082 5940 \n3 10153 4893 3859 \n3 5520 5828 5728 \n3 5233 5828 5520 \n3 5139 5520 5334 \n3 5520 5730 5334 \n3 14396 3865 10688 \n3 5453 5865 6280 \n3 5532 5630 5730 \n3 4282 4623 4277 \n3 14036 14828 14759 \n3 5329 5515 5417 \n3 10938 10919 212 \n3 5629 5530 5633 \n3 12908 8794 11963 \n3 5633 5530 5535 \n3 5063 4872 4650 \n3 11446 11445 10950 \n3 5837 5838 5528 \n3 6494 5932 6361 \n3 8644 6748 9799 \n3 914 12727 12853 \n3 14035 12968 13275 \n3 4566 4564 1558 \n3 14113 14840 13905 \n3 14308 14230 2307 \n3 5735 5149 5145 \n3 5539 5850 5851 \n3 1084 6168 6177 \n3 5857 5969 5977 \n3 5443 5257 5444 \n3 5746 5448 5859 \n3 7259 2819 8359 \n3 14819 10829 8537 \n3 12116 13948 12369 \n3 12691 10622 6092 \n3 2085 5470 804 \n3 3731 4197 3734 \n3 14511 14025 9471 \n3 6199 6469 6334 \n3 5265 5261 5542 \n3 1636 12456 350 \n3 5641 5748 5450 \n3 14524 5697 132 \n3 7168 6802 7652 \n3 4643 12398 4207 \n3 13971 9383 4099 \n3 5851 5542 5741 \n3 5868 5753 5546 \n3 7550 8313 8270 \n3 5097 5377 5006 \n3 5454 5655 6282 \n3 12660 13536 3482 \n3 5865 5456 5870 \n3 5461 5870 5456 \n3 14500 12223 4780 \n3 212 10919 10898 \n3 7720 7594 7994 \n3 5654 5989 5656 \n3 1146 4565 14580 \n3 8691 5708 4618 \n3 4995 5172 5457 \n3 11593 5548 9459 \n3 5551 5556 5755 \n3 5365 5864 5554 \n3 5666 5759 5461 \n3 5761 5560 5661 \n3 5765 5375 5664 \n3 11020 14055 12017 \n3 9029 6882 4149 \n3 5882 5560 5761 \n3 5781 2033 4560 \n3 5764 5670 5559 \n3 6003 5659 5875 \n3 3734 4197 4201 \n3 5117 14354 505 \n3 5467 5564 5673 \n3 5561 5671 5767 \n3 10036 9868 9586 \n3 4690 4908 4491 \n3 5670 5672 5564 \n3 7086 4068 4321 \n3 5467 5673 5773 \n3 3414 3352 8590 \n3 9329 6004 12526 \n3 5672 5673 5564 \n3 5375 5765 5469 \n3 7373 4232 4007 \n3 5567 5775 5468 \n3 5775 5567 5771 \n3 5771 5773 5775 \n3 486 1636 9999 \n3 5383 5574 5296 \n3 5479 5782 5903 \n3 13657 13653 14086 \n3 5381 5679 5472 \n3 14026 10993 11997 \n3 7657 9747 9712 \n3 5475 5894 5292 \n3 1131 4634 4565 \n3 4565 4634 4584 \n3 8684 10880 13913 \n3 11800 13846 12791 \n3 9149 1696 11244 \n3 14399 12287 10167 \n3 12415 10991 851 \n3 5903 5580 5479 \n3 13913 12831 13884 \n3 12020 13362 8516 \n3 6032 5577 5893 \n3 5906 5895 5688 \n3 5782 5479 5574 \n3 5793 5583 5687 \n3 5385 5299 5579 \n3 6039 5300 5911 \n3 5583 5791 5788 \n3 7948 10229 10260 \n3 9770 12868 8715 \n3 5080 5265 4992 \n3 14922 14941 7710 \n3 5788 5687 5583 \n3 5585 5904 5198 \n3 5694 5309 5583 \n3 12752 13812 9801 \n3 6054 5688 5395 \n3 4014 4498 4492 \n3 3145 12460 13864 \n3 10209 10229 7948 \n3 12209 4007 327 \n3 5495 6207 5916 \n3 14474 14188 3032 \n3 5137 4757 5049 \n3 13737 14807 13730 \n3 11530 6525 10502 \n3 3032 14514 14474 \n3 5494 5703 5495 \n3 12092 10331 11080 \n3 5696 5313 5705 \n3 12860 10863 9179 \n3 4501 450 5203 \n3 6211 5402 5699 \n3 5402 6211 5919 \n3 688 11515 12528 \n3 3222 12209 327 \n3 5607 5707 5501 \n3 5808 5709 5701 \n3 5924 5405 5711 \n3 5603 5925 5923 \n3 10220 3719 12377 \n3 9214 14886 546 \n3 5925 5609 5714 \n3 5504 5927 5715 \n3 5609 5611 5714 \n3 5610 5811 5612 \n3 5714 5611 5716 \n3 5717 5813 5413 \n3 11873 13908 538 \n3 5716 5718 6069 \n3 11817 9533 9818 \n3 327 8170 8027 \n3 14766 14059 3999 \n3 12967 8896 12951 \n3 5615 5931 6073 \n3 5720 5619 5618 \n3 11865 10749 13896 \n3 2964 14858 5175 \n3 5619 6073 5618 \n3 5721 5820 5516 \n3 9633 13795 10748 \n3 11066 11069 13040 \n3 13358 4068 5733 \n3 6125 4857 8505 \n3 5275 11778 11776 \n3 5727 5429 5629 \n3 12058 8959 8943 \n3 13611 12932 3573 \n3 9994 7496 10095 \n3 5628 5734 5830 \n3 5919 5505 5402 \n3 6939 7246 6761 \n3 3144 4247 10375 \n3 5435 6090 5533 \n3 13987 12902 4905 \n3 6633 6217 6791 \n3 12221 12162 11986 \n3 3001 3223 3107 \n3 9765 12751 13796 \n3 5435 5345 5945 \n3 6505 5945 6237 \n3 13908 10837 11850 \n3 5532 5431 5630 \n3 5636 5538 5852 \n3 5639 5637 5853 \n3 505 970 1397 \n3 5638 5258 4988 \n3 12735 12911 3524 \n3 5639 6132 5638 \n3 5636 5539 5351 \n3 5857 5974 5970 \n3 6130 5637 5640 \n3 7918 7909 10209 \n3 5742 5442 5980 \n3 7922 10220 12337 \n3 13627 12853 12727 \n3 5442 5642 5860 \n3 5454 5273 5655 \n3 4820 10853 1909 \n3 2903 10774 820 \n3 5742 5540 5442 \n3 12794 11140 11191 \n3 9471 2255 13971 \n3 6418 5858 5543 \n3 13163 14242 6573 \n3 10815 6491 9100 \n3 5176 5368 5659 \n3 5851 5978 5641 \n3 5641 5542 5851 \n3 5546 5863 5868 \n3 5654 5986 5867 \n3 5457 5751 5986 \n3 6363 6224 6066 \n3 5755 6286 5751 \n3 5539 5851 5741 \n3 11201 5726 1026 \n3 6070 6489 6361 \n3 1824 4584 4634 \n3 3332 751 8594 \n3 5014 4827 4605 \n3 5997 6282 5557 \n3 5755 5751 5551 \n3 1269 11021 12996 \n3 6138 6285 5867 \n3 5550 5874 5657 \n3 5550 5753 5874 \n3 5655 5273 5557 \n3 8909 10169 8920 \n3 5759 6157 5870 \n3 11832 13863 13869 \n3 5708 9386 11269 \n3 5661 5874 5760 \n3 5569 5469 6165 \n3 5554 5764 5559 \n3 14174 12137 12151 \n3 5761 5661 5760 \n3 5040 5223 5224 \n3 10741 9910 10295 \n3 5672 5764 6015 \n3 12369 3332 13454 \n3 751 12530 13498 \n3 5879 5759 5666 \n3 5763 5287 5667 \n3 12632 12746 12713 \n3 6170 5879 5666 \n3 14939 1825 2830 \n3 491 6557 9988 \n3 5764 5672 5670 \n3 12638 11267 11265 \n3 4639 4960 4858 \n3 2728 3685 2746 \n3 5773 5771 5467 \n3 346 304 326 \n3 5578 1435 10406 \n3 5574 5570 5776 \n3 14942 13985 14446 \n3 5773 5776 5775 \n3 2946 5420 4121 \n3 5671 5474 5783 \n3 7887 13826 2628 \n3 12556 14771 1720 \n3 5807 3667 7864 \n3 310 3611 7802 \n3 9773 11873 12868 \n3 6175 5774 5679 \n3 5387 5783 5380 \n3 6184 5783 5387 \n3 4284 1757 4304 \n3 5682 5897 5891 \n3 5891 5576 5682 \n3 4693 4694 5856 \n3 11298 13936 10879 \n3 6039 5896 5300 \n3 3411 3413 8429 \n3 5587 5903 5795 \n3 11959 13987 4905 \n3 4167 3091 3104 \n3 5682 5579 5789 \n3 5791 5583 5393 \n3 5587 5580 5903 \n3 5788 5791 5901 \n3 5791 5302 5904 \n3 5789 5579 5794 \n3 6045 5797 5790 \n3 5577 6032 5790 \n3 9712 8664 7657 \n3 9801 13812 9799 \n3 7511 6974 7626 \n3 5303 5905 5585 \n3 12181 8559 12214 \n3 5694 5793 5802 \n3 5911 5801 6049 \n3 4437 4464 5689 \n3 5905 5303 5685 \n3 5592 5594 5801 \n3 12020 240 13362 \n3 11777 14924 10770 \n3 5586 5593 6348 \n3 2624 3586 5613 \n3 9832 183 169 \n3 5802 6056 5694 \n3 7948 10260 3733 \n3 707 4192 7500 \n3 6056 6211 5699 \n3 11624 11639 13686 \n3 5911 5592 5801 \n3 6053 5696 5700 \n3 5432 14735 9378 \n3 5698 5803 5701 \n3 358 3848 3843 \n3 12449 14686 14572 \n3 11997 14003 930 \n3 5707 5917 5601 \n3 5709 5808 6060 \n3 6212 5499 5926 \n3 5404 6351 5605 \n3 5806 10167 12287 \n3 5326 4635 4856 \n3 434 1631 3938 \n3 5605 6351 5606 \n3 5711 5608 5710 \n3 10492 9264 13543 \n3 5404 5916 6350 \n3 14978 10094 14332 \n3 5818 5411 5612 \n3 5812 5714 5716 \n3 5713 5614 6359 \n3 11873 10837 13908 \n3 5614 5815 5930 \n3 5413 5931 5615 \n3 5817 5934 6365 \n3 5505 5811 5610 \n3 8353 3027 8409 \n3 6069 5718 6649 \n3 6823 6389 6513 \n3 5820 5824 6369 \n3 6980 6487 6483 \n3 5818 5937 5623 \n3 5920 8433 9489 \n3 14026 11997 930 \n3 5620 5720 5939 \n3 9220 71 14306 \n3 14473 13968 370 \n3 5825 5422 5827 \n3 12863 11862 10848 \n3 11893 12863 10848 \n3 13050 13275 11989 \n3 5827 5519 6083 \n3 5519 5727 6083 \n3 5558 13196 14235 \n3 14686 1057 2862 \n3 6079 5940 5518 \n3 5519 5827 5229 \n3 10743 13791 12734 \n3 5520 6232 5943 \n3 5664 6003 5765 \n3 3222 327 8027 \n3 6727 10743 9621 \n3 5610 5213 5505 \n3 6087 5732 5830 \n3 12386 2063 7333 \n3 5947 5944 5633 \n3 5884 6160 5767 \n3 5992 565 5949 \n3 14363 4204 14216 \n3 5732 5145 5425 \n3 10739 10730 14887 \n3 4794 4897 5078 \n3 5356 5078 4897 \n3 6505 6237 7175 \n3 14887 10730 13782 \n3 6090 5837 5533 \n3 6091 5951 5737 \n3 11839 11862 14976 \n3 5434 5532 5345 \n3 7636 9458 12621 \n3 6091 5737 5838 \n3 5840 5848 5843 \n3 5844 5958 5843 \n3 5964 5845 5957 \n3 5957 5845 5840 \n3 5840 5845 5848 \n3 5848 5844 5843 \n3 5845 5972 5848 \n3 9459 6560 14697 \n3 5972 5845 5975 \n3 10705 12722 12718 \n3 4172 4168 3849 \n3 5975 5845 5964 \n3 8426 13608 9447 \n3 6183 6179 6602 \n3 6119 5852 5739 \n3 4247 9499 10375 \n3 5855 6271 6132 \n3 5639 5855 6132 \n3 6130 5853 5637 \n3 14730 6798 6703 \n3 5857 5970 5969 \n3 5638 6132 5859 \n3 6130 5742 5980 \n3 5640 5742 6130 \n3 5980 5442 5860 \n3 5857 5647 5974 \n3 5977 5860 5857 \n3 10344 10562 10806 \n3 10678 10684 11709 \n3 14441 10209 7909 \n3 5859 5983 5746 \n3 6279 5077 6244 \n3 5453 5982 5543 \n3 6464 6463 6949 \n3 5864 5748 5984 \n3 5742 5640 5540 \n3 4832 5206 4835 \n3 8027 7802 2153 \n3 11766 13818 12771 \n3 10369 11539 7185 \n3 8837 8404 3980 \n3 5864 5365 5748 \n3 5365 5649 5748 \n3 14089 13973 13855 \n3 7769 7763 6713 \n3 1390 6229 1181 \n3 5865 5870 6287 \n3 5751 6286 6140 \n3 4105 579 6040 \n3 12065 14092 10185 \n3 14171 14964 14177 \n3 12398 3792 7963 \n3 9701 13869 14956 \n3 6008 6015 5764 \n3 9601 13758 9556 \n3 14991 11078 8023 \n3 7143 7273 6957 \n3 3993 4109 3756 \n3 12530 12587 13498 \n3 6150 5875 5989 \n3 2542 9938 1516 \n3 1893 1777 8208 \n3 12807 14943 13846 \n3 12137 11164 11168 \n3 6730 7087 7470 \n3 11178 14080 6514 \n3 5758 5763 6001 \n3 5876 5758 6001 \n3 5554 6008 5764 \n3 5557 5767 6160 \n3 6047 5808 5803 \n3 7470 7466 7594 \n3 6012 5882 5761 \n3 12713 2394 12632 \n3 5469 5765 6165 \n3 12372 13378 10298 \n3 5768 5882 6012 \n3 7581 13737 13730 \n3 5886 5768 6012 \n3 5763 5667 5770 \n3 8590 3352 12214 \n3 6451 5475 6173 \n3 5569 6165 6013 \n3 11198 12590 3173 \n3 11783 742 3141 \n3 5770 5774 6172 \n3 5888 5671 5783 \n3 11942 1847 9149 \n3 3574 9527 10621 \n3 6454 5893 5886 \n3 14019 13827 14481 \n3 2705 3747 1469 \n3 5884 5671 5888 \n3 5475 6451 5894 \n3 5813 5717 5715 \n3 6175 5679 5576 \n3 14809 1696 9149 \n3 5892 5680 6186 \n3 6023 5783 6184 \n3 6453 5891 5897 \n3 5896 6184 5387 \n3 6186 5680 5895 \n3 13802 10489 3525 \n3 5776 6020 5782 \n3 5197 4391 5111 \n3 6456 6940 6452 \n3 6028 5903 5782 \n3 5782 6327 6028 \n3 6028 5795 5903 \n3 6311 5674 5892 \n3 5902 5901 5791 \n3 6193 6341 6465 \n3 13935 12181 416 \n3 10244 13322 13338 \n3 5789 5794 6199 \n3 5790 6032 6045 \n3 5904 6194 6193 \n3 1450 2668 6025 \n3 5904 5585 6194 \n3 5905 6194 5585 \n3 6048 5587 5795 \n3 5793 5694 5583 \n3 4728 4945 5209 \n3 6048 6047 5803 \n3 1277 13742 13757 \n3 14973 3549 1678 \n3 6199 5586 6348 \n3 6045 5598 5312 \n3 14613 12526 11063 \n3 4898 8788 5973 \n3 5953 8788 4898 \n3 5914 5801 5601 \n3 5601 5917 5914 \n3 2768 3215 9493 \n3 5564 5372 5670 \n3 6049 5801 5914 \n3 2458 12449 14306 \n3 5034 13558 9437 \n3 6212 6641 6796 \n3 5915 6053 6623 \n3 5598 6475 6207 \n3 804 805 11139 \n3 11624 10589 9510 \n3 12528 9367 13542 \n3 7553 7318 7430 \n3 14472 13408 5353 \n3 13846 10810 6786 \n3 14616 11289 14869 \n3 6054 5499 6212 \n3 310 9881 3611 \n3 5923 6353 5603 \n3 13684 7517 13670 \n3 6060 5808 6206 \n3 4704 5101 5010 \n3 7580 13784 5693 \n3 5405 5924 6217 \n3 6217 5607 5405 \n3 9200 14388 12339 \n3 12651 11732 11510 \n3 5705 5603 6353 \n3 6061 5924 5710 \n3 5709 6060 5927 \n3 14633 14628 14874 \n3 2307 13057 14116 \n3 5707 5607 6058 \n3 5926 6359 6641 \n3 5927 5813 5715 \n3 13899 14974 8409 \n3 6248 7280 10807 \n3 5832 5947 5736 \n3 6070 5612 5811 \n3 5813 5931 5413 \n3 2826 4936 14378 \n3 5818 5612 5932 \n3 5710 5608 5606 \n3 6190 9508 10736 \n3 6223 5815 5817 \n3 6228 5618 6073 \n3 5720 5618 6228 \n3 5937 6226 6371 \n3 5936 5820 6369 \n3 14247 14019 14734 \n3 13360 8192 13351 \n3 5939 5720 6077 \n3 5723 5515 5939 \n3 6079 5725 6371 \n3 11570 5784 6514 \n3 4976 5057 4764 \n3 6082 5728 5828 \n3 5832 5735 5732 \n3 2181 7496 9994 \n3 10567 14722 9484 \n3 6379 5947 5832 \n3 1390 1603 1463 \n3 9042 14119 14184 \n3 9925 10089 12382 \n3 5146 4713 4663 \n3 7550 3027 8313 \n3 6090 5435 6505 \n3 5945 5532 5943 \n3 5830 5734 6504 \n3 10297 5135 5095 \n3 2048 13790 6593 \n3 6386 5838 5837 \n3 5548 6560 9459 \n3 5843 6241 6093 \n3 9229 3104 680 \n3 5843 6102 6241 \n3 6093 6095 5843 \n3 9731 9728 1114 \n3 14380 1698 3548 \n3 5957 5840 6095 \n3 13151 8060 12179 \n3 5944 5629 5633 \n3 5838 5737 5528 \n3 13674 11131 1226 \n3 1411 14845 2899 \n3 5843 6095 5840 \n3 3609 3624 4860 \n3 4860 3624 6128 \n3 2899 6868 1411 \n3 12816 14799 1525 \n3 9383 13971 2190 \n3 12459 12451 11441 \n3 5843 5958 6102 \n3 6127 6114 5844 \n3 5345 5532 5945 \n3 12191 12218 13767 \n3 6109 5964 5957 \n3 5958 5844 6114 \n3 5975 5964 6118 \n3 5972 6127 5844 \n3 2962 5382 3427 \n3 14695 1114 7529 \n3 5972 5844 5848 \n3 5663 10641 13838 \n3 5850 5636 6264 \n3 5970 5974 6121 \n3 5851 5850 6266 \n3 5636 5852 6265 \n3 5636 6265 6264 \n3 639 482 521 \n3 6124 6119 5739 \n3 4 5441 13633 \n3 5853 5855 5639 \n3 12864 10397 2921 \n3 8415 14688 13603 \n3 6770 5677 4525 \n3 2048 4290 2030 \n3 6132 5983 5859 \n3 11022 10894 5722 \n3 11427 14490 6420 \n3 9561 7232 1935 \n3 589 543 591 \n3 5981 5984 5978 \n3 12913 13857 12961 \n3 5972 6134 6565 \n3 13601 8411 13595 \n3 10369 13861 11539 \n3 9909 1402 9921 \n3 11722 14864 9616 \n3 12807 6786 14956 \n3 6271 6423 6132 \n3 8988 8811 8392 \n3 1522 8837 3980 \n3 14198 9909 9921 \n3 7700 5621 857 \n3 5986 5751 6140 \n3 6272 5647 6282 \n3 6141 6282 5997 \n3 5984 5990 5864 \n3 8401 13595 8411 \n3 6287 5870 6157 \n3 5990 5554 5864 \n3 14817 9574 13748 \n3 5012 4924 4920 \n3 7119 2585 14241 \n3 6403 6971 13838 \n3 5997 6160 6141 \n3 692 620 623 \n3 14778 14765 8667 \n3 5573 14059 5591 \n3 5763 6007 6002 \n3 12649 5565 2571 \n3 6642 10994 6643 \n3 5763 6002 6001 \n3 4271 3924 4148 \n3 14964 9904 14177 \n3 7104 6588 6755 \n3 12308 1286 138 \n3 2921 5371 10782 \n3 14658 7436 10512 \n3 5765 6006 6165 \n3 6170 6307 6164 \n3 6015 6008 6171 \n3 5770 6172 6310 \n3 11868 8737 1935 \n3 6012 5761 6306 \n3 2579 13085 14397 \n3 6203 5917 6210 \n3 5884 5888 6016 \n3 6703 7221 911 \n3 14686 12449 2458 \n3 6049 6192 5911 \n3 9145 8486 6316 \n3 6017 5773 5673 \n3 3752 14955 3638 \n3 6017 6020 5773 \n3 7333 2394 12682 \n3 6453 6944 6937 \n3 6023 6180 5888 \n3 6946 6456 6460 \n3 5892 5674 5777 \n3 2048 2030 13790 \n3 6449 6016 5888 \n3 6179 6017 5673 \n3 2394 7537 12682 \n3 6937 6178 6453 \n3 6600 6175 6178 \n3 1918 4487 5268 \n3 5894 6451 6324 \n3 6175 5891 6178 \n3 11519 9393 6906 \n3 6020 6327 5782 \n3 5221 5037 5324 \n3 8486 8564 6316 \n3 9155 10217 11282 \n3 13331 11310 11317 \n3 5896 6329 6184 \n3 7632 11846 12103 \n3 1326 7669 9865 \n3 6176 6602 6179 \n3 87 119 61 \n3 6031 6034 5900 \n3 582 14765 6772 \n3 11515 492 10490 \n3 6334 5897 5789 \n3 6775 6615 6326 \n3 6034 6031 6332 \n3 6341 6193 6194 \n3 5685 5786 5905 \n3 8437 4087 1856 \n3 6334 5789 6199 \n3 5786 6191 5905 \n3 9744 13896 10682 \n3 6047 6195 6337 \n3 10282 127 1433 \n3 5687 6034 5793 \n3 10623 12672 11652 \n3 6028 6337 6195 \n3 3905 4027 3560 \n3 11139 2085 804 \n3 6047 6048 6195 \n3 5906 5688 6054 \n3 1603 1696 14809 \n3 5795 6195 6048 \n3 5698 6048 5803 \n3 6199 6348 6344 \n3 6348 5593 6476 \n3 5593 5915 6476 \n3 5915 5696 6053 \n3 1203 12967 12938 \n3 6292 5868 6432 \n3 4272 4277 4732 \n3 13561 8437 1841 \n3 5057 4976 5242 \n3 9393 7418 13567 \n3 7645 14141 3438 \n3 5734 5628 5631 \n3 5634 3381 6760 \n3 6563 1696 1603 \n3 10287 12385 7290 \n3 6053 5700 6204 \n3 2330 6381 7290 \n3 7985 7220 7708 \n3 5710 6057 6061 \n3 5700 6353 6204 \n3 6353 5700 5705 \n3 6060 6216 6481 \n3 6485 5919 6211 \n3 6210 5917 5707 \n3 1364 1393 5821 \n3 13484 11432 13482 \n3 10621 13811 7887 \n3 2063 2394 7333 \n3 5926 5499 5713 \n3 14968 14215 1406 \n3 10461 10406 1481 \n3 14310 3510 5091 \n3 7716 7713 1178 \n3 1772 14507 14505 \n3 7698 7047 7214 \n3 7813 8105 8335 \n3 8409 3027 13899 \n3 6492 5936 6369 \n3 6492 5934 5936 \n3 6224 6073 5931 \n3 6228 6077 5720 \n3 4770 4874 4978 \n3 5939 6077 5723 \n3 11989 11978 13050 \n3 6275 1463 8689 \n3 1375 10034 4999 \n3 5932 6226 5818 \n3 6563 1603 1390 \n3 12642 13302 11955 \n3 6371 6375 6079 \n3 5827 6081 6372 \n3 8270 3458 7550 \n3 12495 7367 12485 \n3 6300 2256 7319 \n3 6082 6659 6231 \n3 580 620 619 \n3 144 107 89 \n3 4105 595 6408 \n3 5832 5732 6087 \n3 6785 7381 6469 \n3 5943 6237 5945 \n3 6504 6087 5830 \n3 11210 14231 13187 \n3 6385 5631 5951 \n3 14960 14955 12706 \n3 5852 5257 5443 \n3 6090 6386 5837 \n3 9404 10503 12564 \n3 986 950 1074 \n3 7386 7493 7740 \n3 6803 6989 6496 \n3 11183 6886 8949 \n3 13121 108 1298 \n3 7959 7053 7689 \n3 6494 6650 6805 \n3 6102 6392 6241 \n3 7264 6775 7131 \n3 6102 6103 6392 \n3 6097 6250 6252 \n3 11458 8321 13507 \n3 6526 6095 6100 \n3 5267 5649 5365 \n3 5275 11951 5215 \n3 6097 6104 6253 \n3 1007 14669 11232 \n3 2938 3154 2822 \n3 6526 5957 6095 \n3 6107 6104 6097 \n3 6105 5957 6526 \n3 4895 5259 5257 \n3 6102 5958 6103 \n3 6252 6107 6097 \n3 6104 6257 6253 \n3 3383 9805 7627 \n3 5958 6256 6103 \n3 1876 3542 5712 \n3 12620 11593 9459 \n3 5978 5984 5641 \n3 6402 6260 6252 \n3 14418 12345 5386 \n3 11458 13494 10405 \n3 6109 5957 6105 \n3 5958 6114 6256 \n3 6252 6260 6107 \n3 6113 6107 6260 \n3 6104 6113 6111 \n3 6104 6111 6257 \n3 3922 4611 4613 \n3 1659 2994 12160 \n3 6396 11341 7009 \n3 736 8667 14765 \n3 12459 14495 12451 \n3 4331 4459 4456 \n3 6260 6263 6113 \n3 6118 6109 6536 \n3 6118 5964 6109 \n3 13226 14266 14257 \n3 10099 14218 12151 \n3 5468 5286 5567 \n3 9414 3777 8242 \n3 1227 11232 11326 \n3 6412 6127 6416 \n3 5850 5539 5636 \n3 9042 14184 14925 \n3 13017 12138 13018 \n3 6127 6412 6114 \n3 6126 5975 6118 \n3 14459 14458 13106 \n3 10511 9424 7346 \n3 5855 5853 6271 \n3 9531 8511 6646 \n3 5997 5557 6160 \n3 14041 1764 3895 \n3 8460 5959 7360 \n3 6274 5975 6126 \n3 6136 6422 6561 \n3 7605 14700 14451 \n3 4974 3550 12822 \n3 8404 1481 3980 \n3 5565 12649 13004 \n3 5980 6414 6130 \n3 5853 6130 6129 \n3 5980 5860 6414 \n3 6126 6273 6274 \n3 5972 5975 6134 \n3 6418 6124 5858 \n3 6418 5543 5982 \n3 11689 6064 17 \n3 6423 6719 6132 \n3 5778 6143 6994 \n3 5975 6283 6134 \n3 5647 6272 5974 \n3 5982 6280 6418 \n3 6282 6704 6272 \n3 12969 13342 12984 \n3 14448 5455 14051 \n3 5986 6138 5867 \n3 6140 6139 5986 \n3 5113 5490 5202 \n3 2186 8496 9548 \n3 3919 980 4325 \n3 6287 6280 5865 \n3 14524 145 5835 \n3 14749 12559 6772 \n3 5868 6428 6432 \n3 10848 5871 7762 \n3 8404 8220 10461 \n3 4974 12822 12746 \n3 6150 5989 6146 \n3 5876 6147 6286 \n3 6003 6291 6153 \n3 6150 6146 6289 \n3 14050 11969 7591 \n3 7766 7649 7530 \n3 6431 6287 6157 \n3 6291 6150 6289 \n3 6229 6036 6019 \n3 12894 3795 11221 \n3 6720 6728 7071 \n3 5863 6428 5868 \n3 6001 6295 5876 \n3 6003 6150 6291 \n3 14670 9513 14572 \n3 6303 6570 6160 \n3 6006 6003 6153 \n3 6576 6153 6291 \n3 6583 6008 5990 \n3 846 6736 6398 \n3 8012 6358 12583 \n3 14664 9425 14658 \n3 7033 1136 7068 \n3 1175 1179 1121 \n3 6006 6153 6442 \n3 6309 6303 6160 \n3 6442 6163 6006 \n3 6171 6008 6583 \n3 4697 4692 4493 \n3 2672 2579 14735 \n3 5999 6306 5761 \n3 10511 7346 1614 \n3 6165 6006 6163 \n3 8615 8340 8473 \n3 5754 10913 350 \n3 6703 911 14730 \n3 1811 1750 1752 \n3 9988 14238 5668 \n3 5879 7097 6157 \n3 5759 5879 6157 \n3 5770 6310 6007 \n3 6163 6013 6165 \n3 7711 10848 11862 \n3 5879 6170 6164 \n3 77 6923 1103 \n3 9424 5510 10528 \n3 13509 13744 14406 \n3 6315 6015 6171 \n3 5623 5937 5517 \n3 6180 6023 6182 \n3 5765 6003 6006 \n3 6315 6176 6015 \n3 10502 9400 6996 \n3 12290 12289 12909 \n3 582 736 14765 \n3 6454 5886 6012 \n3 5888 5783 6023 \n3 6173 6314 6451 \n3 8240 13419 13409 \n3 12451 14495 13457 \n3 6364 4087 13711 \n3 5502 5552 5524 \n3 3616 2974 2967 \n3 6178 5891 6453 \n3 6031 6452 6322 \n3 5686 3673 4670 \n3 6592 6759 6914 \n3 6017 6327 6020 \n3 14985 14987 4811 \n3 7092 9393 13567 \n3 6023 6184 6182 \n3 6331 6327 6017 \n3 12578 14525 11269 \n3 11226 13365 12578 \n3 6240 1181 762 \n3 12385 10287 13374 \n3 6330 6182 6184 \n3 5893 6454 6032 \n3 6453 5897 6334 \n3 6186 5895 6188 \n3 12749 9527 3574 \n3 7792 3525 10489 \n3 9517 3156 11802 \n3 5095 10237 10297 \n3 6460 5901 6465 \n3 5901 6460 5788 \n3 6188 5895 5906 \n3 6039 6464 5896 \n3 5901 5902 6465 \n3 6045 6032 6616 \n3 10802 12298 5096 \n3 6464 6192 6463 \n3 4771 4762 6029 \n3 6034 6468 6346 \n3 5894 6333 5786 \n3 7155 11176 9060 \n3 2779 14875 459 \n3 5894 6324 6333 \n3 5106 5098 1688 \n3 6062 7221 6703 \n3 14397 5536 5190 \n3 357 2731 3774 \n3 6191 6194 5905 \n3 6831 7183 6517 \n3 7555 7022 7019 \n3 6206 6216 6060 \n3 9369 11501 339 \n3 6047 6343 6205 \n3 6623 6964 5915 \n3 6206 6047 6205 \n3 5906 6054 6789 \n3 6204 6623 6053 \n3 14231 11210 9084 \n3 5917 6203 6049 \n3 7334 6541 6851 \n3 5710 5606 6351 \n3 13990 7529 9728 \n3 11777 14930 14924 \n3 6211 6056 6055 \n3 370 5406 14473 \n3 6212 6795 6054 \n3 6633 6210 6058 \n3 6217 6633 6058 \n3 5526 6671 4387 \n3 5923 6636 6353 \n3 5811 6220 6065 \n3 6350 6478 6351 \n3 5312 5797 6045 \n3 6058 5607 6217 \n3 5673 6015 6176 \n3 11923 5909 9767 \n3 7282 146 11620 \n3 7282 11620 3059 \n3 12039 5522 12057 \n3 457 14629 496 \n3 6484 6221 6060 \n3 5811 6065 6070 \n3 6010 582 565 \n3 12526 10979 11016 \n3 5930 6799 6359 \n3 6066 6224 5931 \n3 6223 5930 5815 \n3 4819 4599 5013 \n3 6073 6224 6363 \n3 6061 6355 5924 \n3 6875 7515 14723 \n3 3469 3254 3372 \n3 5934 5817 5936 \n3 6365 6223 5817 \n3 6497 5824 5723 \n3 5937 5818 6226 \n3 6079 6375 6082 \n3 6378 6232 6231 \n3 6378 6085 6232 \n3 6082 6231 5728 \n3 8129 7843 7846 \n3 7950 7681 8969 \n3 11912 14744 380 \n3 7062 6549 7208 \n3 14388 11313 13338 \n3 2098 10194 5537 \n3 5444 5445 5443 \n3 6085 6237 5943 \n3 6934 7125 6942 \n3 6507 5734 5631 \n3 565 6772 390 \n3 12116 11993 13934 \n3 5140 5054 4866 \n3 2267 7888 5724 \n3 6666 6093 6241 \n3 6100 6093 6666 \n3 4096 11341 6396 \n3 7080 11087 7034 \n3 5322 6493 6458 \n3 6390 6241 6392 \n3 12894 11312 9769 \n3 13990 1408 14744 \n3 6394 6247 6097 \n3 6250 6097 6247 \n3 6100 6519 6526 \n3 12294 12198 12386 \n3 2714 3655 14596 \n3 8386 486 4947 \n3 6752 6751 6926 \n3 6523 6252 6250 \n3 14329 13290 12235 \n3 11182 7373 6747 \n3 7403 6046 7421 \n3 10404 12467 11456 \n3 6523 6402 6252 \n3 2749 7011 1526 \n3 5660 7098 10759 \n3 5999 5760 5874 \n3 6257 6531 6253 \n3 6523 6687 6402 \n3 4647 6679 11087 \n3 6531 6524 6253 \n3 7040 7683 7325 \n3 7031 6682 7029 \n3 12245 486 8386 \n3 11063 7375 14613 \n3 689 6019 353 \n3 6241 6390 6667 \n3 3270 11841 370 \n3 6260 6402 6533 \n3 6686 6109 6105 \n3 2408 9588 11871 \n3 6686 6536 6109 \n3 6111 6531 6257 \n3 7210 7060 6709 \n3 9990 9013 12092 \n3 6516 6717 8012 \n3 2286 2284 2219 \n3 6111 6405 6531 \n3 6358 8012 6717 \n3 6113 6417 6111 \n3 6263 6417 6113 \n3 4190 1944 1931 \n3 5850 6264 6266 \n3 6265 6537 6264 \n3 6265 6119 6543 \n3 6119 6701 6543 \n3 6160 5884 6309 \n3 12443 13477 10395 \n3 6539 5977 5969 \n3 6536 6126 6118 \n3 6417 6559 6111 \n3 3795 12040 11953 \n3 10214 13307 12282 \n3 7375 9329 14613 \n3 7930 7931 5762 \n3 194 353 131 \n3 6263 6715 6417 \n3 1109 5565 8105 \n3 6538 6121 6847 \n3 6416 6127 6565 \n3 4333 324 12435 \n3 14525 8386 4618 \n3 2147 2240 2230 \n3 13510 14885 13495 \n3 14504 11427 11435 \n3 13365 12165 14525 \n3 7232 14879 7327 \n3 3401 3291 3297 \n3 6132 6719 5983 \n3 2218 7516 12649 \n3 7453 6128 7457 \n3 11258 14919 14339 \n3 6283 5975 6278 \n3 6124 6418 6706 \n3 7207 14340 14927 \n3 13229 12236 14305 \n3 11677 3795 6893 \n3 6138 6139 6544 \n3 6139 6140 6419 \n3 5526 6677 6671 \n3 6635 4362 5498 \n3 12263 11254 13247 \n3 5981 6136 5984 \n3 4266 14812 14555 \n3 7199 6546 6541 \n3 951 986 990 \n3 4304 1757 3084 \n3 6146 6285 6289 \n3 6138 5986 6139 \n3 8044 2188 95 \n3 7394 7283 7508 \n3 6286 6147 6421 \n3 6137 5746 5983 \n3 11447 9214 13476 \n3 7494 6954 7135 \n3 6285 6429 6289 \n3 5990 5984 6136 \n3 1274 1391 1389 \n3 12065 11066 14092 \n3 390 14503 5949 \n3 6147 6295 6430 \n3 5867 6285 6146 \n3 8540 7439 3005 \n3 6147 6430 6426 \n3 7247 7115 7242 \n3 13648 12650 14726 \n3 12894 3571 3795 \n3 7427 7678 7549 \n3 7215 6299 9156 \n3 5874 6292 5999 \n3 7051 6688 6700 \n3 5485 6994 5949 \n3 6230 4132 8063 \n3 6577 6442 6153 \n3 6295 6305 6440 \n3 6431 6891 7343 \n3 6569 6431 7343 \n3 6292 6298 5999 \n3 4836 5208 4938 \n3 10322 13408 10330 \n3 5999 6298 6306 \n3 5996 8496 3474 \n3 10179 11210 12223 \n3 11221 3795 11677 \n3 7097 5879 6164 \n3 5733 4877 3319 \n3 13365 14525 12578 \n3 6308 6163 6442 \n3 6545 4295 3174 \n3 14424 12298 12505 \n3 3319 4877 10442 \n3 6311 6307 6170 \n3 14707 1124 6736 \n3 5599 14427 12505 \n3 13370 12298 14424 \n3 4637 4636 4962 \n3 3336 3647 3869 \n3 2758 12972 4754 \n3 5774 6175 6600 \n3 6447 6314 6308 \n3 3331 3649 3353 \n3 11802 3156 9588 \n3 13351 11950 13360 \n3 6761 6449 6180 \n3 6796 6795 6212 \n3 5892 6603 6311 \n3 13174 12230 14257 \n3 6322 6452 6759 \n3 1344 1341 1471 \n3 6451 6314 6598 \n3 13188 4645 1146 \n3 6602 6326 6183 \n3 6605 6320 6182 \n3 13183 3416 11228 \n3 13299 14347 14351 \n3 14388 14401 12339 \n3 2560 2566 2657 \n3 3250 10154 9965 \n3 6497 6496 6806 \n3 9589 9451 9587 \n3 6290 9155 6296 \n3 7223 7224 7342 \n3 7712 3550 1586 \n3 6183 6335 6331 \n3 5723 6496 6497 \n3 6031 5900 6452 \n3 6326 6335 6183 \n3 6464 6329 5896 \n3 6321 6031 6322 \n3 6331 6028 6327 \n3 6335 6337 6331 \n3 6337 6028 6331 \n3 6468 6034 6332 \n3 6465 5902 6193 \n3 4338 4329 4348 \n3 3977 1515 5280 \n3 6839 3220 1057 \n3 13805 13938 5364 \n3 6194 6191 6341 \n3 6337 6618 6343 \n3 12713 7537 2394 \n3 6228 6363 6651 \n3 4191 49 10774 \n3 10360 4333 9261 \n3 10334 6026 14586 \n3 6047 6337 6343 \n3 8063 14219 9083 \n3 6344 6469 6199 \n3 5915 6964 6476 \n3 14937 11930 14938 \n3 6201 6209 8046 \n3 6192 6039 5911 \n3 6624 6623 6204 \n3 14512 4584 14637 \n3 4667 11574 14119 \n3 5793 6346 5802 \n3 6346 6055 5802 \n3 6350 5916 6207 \n3 5736 5535 5433 \n3 6483 6055 6975 \n3 13965 9674 11912 \n3 6711 13346 9986 \n3 6478 6214 6351 \n3 5598 6045 6475 \n3 4400 4543 12894 \n3 4400 12894 9769 \n3 14217 14231 9084 \n3 14636 4885 14148 \n3 6485 6211 6055 \n3 5932 6070 6361 \n3 6638 14567 6062 \n3 6237 6814 7175 \n3 14137 12097 12106 \n3 4760 14379 5562 \n3 6481 6484 6060 \n3 6220 6485 6487 \n3 14334 14098 13894 \n3 6488 5923 5714 \n3 14839 14345 14592 \n3 8209 12339 11338 \n3 6066 6221 6640 \n3 6065 6220 6487 \n3 7221 6062 14567 \n3 2855 14825 14574 \n3 5714 5812 6488 \n3 2394 2063 10627 \n3 11176 13132 9060 \n3 6649 5812 6069 \n3 12016 5181 7355 \n3 6492 6365 5934 \n3 5932 6494 6226 \n3 921 922 1050 \n3 2275 6581 4458 \n3 6494 6371 6226 \n3 6076 6654 6649 \n3 7824 8834 7835 \n3 11269 9386 11182 \n3 6656 6494 6805 \n3 3658 6978 1352 \n3 5087 5556 5551 \n3 10247 11333 12336 \n3 6081 6657 6372 \n3 528 605 603 \n3 6083 6235 6813 \n3 2468 2773 2470 \n3 6500 6378 6231 \n3 14671 13797 12435 \n3 6649 7162 5812 \n3 4758 4426 4864 \n3 7468 7587 7218 \n3 14388 9200 11313 \n3 5356 4897 4990 \n3 6907 7099 6905 \n3 6504 5734 6507 \n3 3195 4295 5438 \n3 11312 11231 11092 \n3 1036 27 5441 \n3 6383 6386 6090 \n3 6091 6385 5951 \n3 11182 9386 4232 \n3 14422 14355 54 \n3 4732 4277 4623 \n3 14985 10662 10714 \n3 5838 6508 6091 \n3 12908 11963 11763 \n3 14512 14637 2856 \n3 6090 6505 6663 \n3 6304 7515 6875 \n3 6666 6241 6667 \n3 11092 9769 11312 \n3 6247 6513 6250 \n3 12303 12302 11859 \n3 12135 10079 9030 \n3 4640 5203 10477 \n3 13797 5186 14909 \n3 1241 5588 13121 \n3 7013 6519 6100 \n3 9990 12092 11080 \n3 2635 2702 13789 \n3 7022 7192 7189 \n3 5284 1533 5249 \n3 14354 970 505 \n3 12526 14613 9329 \n3 12062 8528 10867 \n3 13388 13159 11618 \n3 194 689 353 \n3 10830 11092 11079 \n3 6518 6250 6389 \n3 6673 6523 6518 \n3 6250 6518 6523 \n3 6517 6253 6524 \n3 7574 8623 7637 \n3 2561 2768 9493 \n3 6527 6105 6526 \n3 9169 10228 13318 \n3 6401 6103 6256 \n3 12935 12007 1953 \n3 12017 12371 14032 \n3 7545 7004 7666 \n3 2298 11653 13746 \n3 5095 14329 10218 \n3 6401 6256 6532 \n3 6524 6531 6681 \n3 6402 6687 6533 \n3 532 408 441 \n3 565 390 5949 \n3 899 14059 4428 \n3 6532 6114 6688 \n3 12198 3571 9196 \n3 34 4235 4225 \n3 450 4372 5135 \n3 6700 6688 6412 \n3 11111 10002 13065 \n3 353 6143 131 \n3 13987 12887 12902 \n3 7086 11092 7057 \n3 11092 10830 7057 \n3 14435 14436 5386 \n3 5660 14427 10939 \n3 6538 5969 6121 \n3 6111 6559 6405 \n3 6266 5978 5851 \n3 9744 3308 9767 \n3 6537 6265 6543 \n3 13065 10002 14124 \n3 6533 6697 6263 \n3 8752 6863 9814 \n3 6851 6264 6537 \n3 5349 5638 4988 \n3 12263 14351 11254 \n3 6414 5860 6539 \n3 5657 5090 4802 \n3 9013 11110 12092 \n3 4851 4744 5124 \n3 6124 6701 6119 \n3 6415 6121 5974 \n3 7996 14122 11069 \n3 6129 6130 7208 \n3 6129 7208 6549 \n3 6414 7208 6130 \n3 630 14522 1697 \n3 7390 7151 7509 \n3 6271 6553 6423 \n3 13757 7317 7321 \n3 6553 6271 6129 \n3 10137 8903 6674 \n3 11258 14339 10217 \n3 4945 4850 5214 \n3 9619 11870 13916 \n3 6424 5373 9283 \n3 6704 6282 6873 \n3 3903 1838 14054 \n3 1744 13361 9106 \n3 8289 14283 14278 \n3 6280 6871 6418 \n3 11255 13287 12236 \n3 6285 6709 6429 \n3 6421 6147 6426 \n3 3095 5150 13729 \n3 14278 13237 9835 \n3 4929 4935 4723 \n3 6287 6569 6562 \n3 6881 6733 6572 \n3 6721 6718 6559 \n3 6134 6283 6575 \n3 11058 11066 12065 \n3 5746 6137 5863 \n3 14735 5432 9881 \n3 7506 7631 7270 \n3 6139 6419 6544 \n3 4877 5733 7086 \n3 4965 5233 5139 \n3 3476 14273 1824 \n3 6273 7085 6725 \n3 13524 9244 11455 \n3 6571 6576 6291 \n3 6571 6884 6576 \n3 6728 6430 6434 \n3 5868 6292 5753 \n3 5753 6292 5874 \n3 6153 6576 6577 \n3 6585 6570 6303 \n3 10288 8221 12380 \n3 6440 6438 6434 \n3 14817 13737 11684 \n3 6726 6897 6887 \n3 9803 11044 5466 \n3 4061 14298 13276 \n3 12031 14046 8943 \n3 6435 6443 6737 \n3 10442 4877 7057 \n3 11042 11058 12065 \n3 6435 6438 6443 \n3 6305 6297 6440 \n3 13247 10195 12229 \n3 6297 6443 6438 \n3 6577 6582 6442 \n3 10830 5237 10499 \n3 6310 6305 6007 \n3 4645 5558 4725 \n3 6585 6303 6586 \n3 8439 8429 10640 \n3 6744 6582 6738 \n3 13188 5558 4645 \n3 6448 6588 6443 \n3 1075 2385 2361 \n3 6850 7065 6697 \n3 2250 5210 7217 \n3 7218 7061 6698 \n3 6448 6443 6297 \n3 6012 6306 6757 \n3 9145 8588 8486 \n3 6448 6297 6305 \n3 4634 3476 1824 \n3 6447 6308 6445 \n3 12769 13837 10832 \n3 9972 11080 12066 \n3 6518 6828 7432 \n3 6172 6600 6310 \n3 1146 1131 4565 \n3 6602 6176 6315 \n3 6592 6321 6322 \n3 6561 7058 7212 \n3 6586 6303 6309 \n3 7836 7123 7138 \n3 6456 5900 5788 \n3 5673 6176 6179 \n3 13364 12886 13118 \n3 7763 8748 9758 \n3 6602 6767 6326 \n3 6180 6182 6320 \n3 13737 7581 11684 \n3 6765 6324 6451 \n3 5900 6456 6452 \n3 10225 11653 5102 \n3 6182 6330 6605 \n3 6330 6184 6329 \n3 6940 6759 6452 \n3 4584 1824 3272 \n3 5644 5599 12505 \n3 6614 6773 6950 \n3 5902 5904 6193 \n3 6326 6767 6775 \n3 10993 14026 9927 \n3 6890 9001 13263 \n3 10930 13864 11763 \n3 6332 6470 6468 \n3 6329 6464 6611 \n3 6329 6611 6773 \n3 6773 6614 6329 \n3 7599 7369 7600 \n3 4048 1555 8006 \n3 7867 8000 7602 \n3 9156 12278 10219 \n3 14306 12449 9220 \n3 12660 3482 914 \n3 2228 2215 6743 \n3 996 4663 4713 \n3 6780 7272 6623 \n3 6461 6776 6332 \n3 6463 6957 6952 \n3 6341 6613 6465 \n3 6613 6341 6333 \n3 6031 6461 6332 \n3 6085 5943 6232 \n3 9186 4939 4958 \n3 13626 11630 10231 \n3 13247 11254 10195 \n3 5600 5495 5404 \n3 10356 4408 2139 \n3 5774 6600 6172 \n3 11204 13174 13168 \n3 6952 6949 6463 \n3 9104 10192 9103 \n3 6045 6616 6782 \n3 10089 10205 7563 \n3 5574 5776 5782 \n3 10991 12996 6967 \n3 6221 6484 6640 \n3 6195 5795 6028 \n3 8748 9945 8814 \n3 14042 13617 14513 \n3 8426 9458 7636 \n3 6348 6476 6627 \n3 5908 3604 5899 \n3 10802 5096 10746 \n3 10989 14032 12962 \n3 8927 9338 9205 \n3 14512 2856 13104 \n3 6657 6081 6813 \n3 6968 6350 6207 \n3 6210 6633 7151 \n3 6628 6972 6216 \n3 8027 2153 1276 \n3 6791 6217 6355 \n3 6974 6214 6478 \n3 14731 3667 14017 \n3 5655 5557 6282 \n3 6351 5404 6350 \n3 13442 13440 13678 \n3 6480 6353 6636 \n3 9011 5432 500 \n3 10617 13683 10624 \n3 14403 10688 5096 \n3 6124 5739 5858 \n3 6486 5923 6488 \n3 13358 3319 10226 \n3 4526 5500 7428 \n3 6489 6070 6065 \n3 6489 6065 6487 \n3 480 7946 3736 \n3 6363 6066 6800 \n3 14719 8173 6142 \n3 9757 8740 7745 \n3 6361 6650 6494 \n3 11827 12796 13849 \n3 4273 4743 3865 \n3 6649 6807 7162 \n3 6803 6651 6653 \n3 6651 6803 6228 \n3 6987 6369 6497 \n3 14741 13358 10226 \n3 6656 6371 6494 \n3 6656 6805 6808 \n3 6658 6082 6375 \n3 6659 6082 6658 \n3 6372 6657 6810 \n3 12536 3352 3414 \n3 6803 6496 6077 \n3 10233 4448 3316 \n3 6081 6083 6813 \n3 4994 4684 4484 \n3 13774 14123 2015 \n3 9690 13100 14474 \n3 6237 6085 6502 \n3 7415 6812 7298 \n3 6502 6814 6237 \n3 13934 13948 12116 \n3 6380 6504 6816 \n3 6380 5832 6087 \n3 7066 6562 6569 \n3 6091 6508 6665 \n3 6665 6818 6385 \n3 6509 5838 6386 \n3 5631 6385 6507 \n3 6504 6817 6998 \n3 10004 14122 7996 \n3 6945 7124 7261 \n3 4472 12029 9829 \n3 13098 12141 10079 \n3 14277 9859 12199 \n3 7364 9340 7367 \n3 9837 13970 12888 \n3 7013 6100 6510 \n3 710 12557 3693 \n3 11146 11164 13090 \n3 3344 3072 2172 \n3 2525 2552 1286 \n3 9544 13358 14741 \n3 4038 4046 4051 \n3 6247 6394 6517 \n3 6392 6829 6390 \n3 7086 9769 11092 \n3 673 772 713 \n3 14817 11684 9574 \n3 4501 4372 450 \n3 2455 2257 2454 \n3 9881 310 14735 \n3 11823 11993 13373 \n3 7189 6526 6519 \n3 8752 9814 12888 \n3 2459 184 14843 \n3 6275 8667 736 \n3 7189 6527 6526 \n3 5117 5068 4140 \n3 13844 10791 12776 \n3 2643 3344 3360 \n3 6529 6831 6524 \n3 5095 13290 14329 \n3 11935 9802 10880 \n3 2278 2683 2687 \n3 7421 4848 6099 \n3 6524 6681 6529 \n3 11110 9017 12107 \n3 13711 4087 4219 \n3 5570 5775 5776 \n3 2179 5590 4486 \n3 9471 14025 2255 \n3 7292 7407 6983 \n3 9936 3611 9881 \n3 6686 6858 6536 \n3 3795 3571 12040 \n3 8369 7670 8367 \n3 6405 6689 6681 \n3 5869 9063 9179 \n3 6374 4276 5310 \n3 6687 6523 6836 \n3 13855 14090 14089 \n3 11665 9547 13709 \n3 5969 6538 6535 \n3 5970 6121 5969 \n3 14618 9971 807 \n3 5767 5557 5561 \n3 6409 5969 6535 \n3 6405 6698 6689 \n3 14525 12165 12064 \n3 6266 6264 6542 \n3 7049 6537 6543 \n3 2190 12037 1923 \n3 1411 9385 14845 \n3 11488 14298 5062 \n3 6541 6266 6542 \n3 7550 13891 3027 \n3 5977 6539 5860 \n3 3417 10414 12687 \n3 12863 11893 13936 \n3 8688 4270 3144 \n3 6544 6419 6692 \n3 6263 6697 6715 \n3 4000 4113 3994 \n3 6698 6405 6559 \n3 14876 6259 4886 \n3 10803 11800 12782 \n3 14295 13256 9931 \n3 6702 7208 6414 \n3 5983 6719 6137 \n3 5394 6819 7872 \n3 6893 3795 11953 \n3 6695 6544 6696 \n3 1838 12022 14054 \n3 6709 6554 6859 \n3 8591 6540 12935 \n3 6546 6552 5981 \n3 5361 9544 14741 \n3 6539 6702 6414 \n3 6702 6539 6699 \n3 1356 2598 4801 \n3 11488 14301 14298 \n3 6554 6138 6695 \n3 2247 6046 6041 \n3 10138 10193 8799 \n3 4877 7086 7057 \n3 6462 12314 8475 \n3 6559 6718 6698 \n3 11402 12451 13457 \n3 5974 6272 6415 \n3 5981 6552 6422 \n3 6706 6418 6871 \n3 12077 13049 9979 \n3 6266 6541 6546 \n3 6575 6278 6425 \n3 11369 13872 12990 \n3 10830 11097 5237 \n3 6285 6138 6554 \n3 6544 6695 6138 \n3 6046 2247 3509 \n3 6709 7060 6567 \n3 6417 6880 6559 \n3 6272 6704 6415 \n3 9513 14670 9544 \n3 6485 6220 5919 \n3 14670 14572 14686 \n3 2887 5117 5166 \n3 5749 12803 11349 \n3 6861 7085 6273 \n3 6871 6280 6562 \n3 9636 5347 14239 \n3 6567 6429 6709 \n3 6140 6286 6419 \n3 12236 12230 11235 \n3 6574 2048 6593 \n3 9113 11255 11235 \n3 3492 3477 3470 \n3 7373 4007 12209 \n3 7079 7083 6715 \n3 11235 11255 12236 \n3 649 827 12746 \n3 6431 6569 6287 \n3 7076 6571 6567 \n3 6571 6291 6429 \n3 6567 6571 6429 \n3 7875 846 6398 \n3 7070 6426 6568 \n3 6137 6730 6428 \n3 6278 6575 6283 \n3 13852 11078 13850 \n3 6561 6572 6136 \n3 11693 1519 12342 \n3 7712 8314 3550 \n3 6830 13914 11836 \n3 13863 11832 10818 \n3 13736 11328 13717 \n3 7057 10830 10499 \n3 6887 6134 6726 \n3 10862 10841 12831 \n3 10025 8842 9997 \n3 6430 6568 6426 \n3 4725 5558 14235 \n3 6428 6730 6432 \n3 6572 6733 5990 \n3 2397 4340 11802 \n3 2487 6181 6155 \n3 205 4837 6302 \n3 10979 12498 13503 \n3 7097 6891 6157 \n3 5815 5616 5817 \n3 8972 14091 7977 \n3 13263 1019 11199 \n3 6797 11836 12818 \n3 9513 12449 14572 \n3 14055 11042 12051 \n3 6295 6440 6434 \n3 7070 6864 6426 \n3 6292 6579 6298 \n3 6434 6430 6295 \n3 14684 3256 12655 \n3 14055 9947 11042 \n3 5723 5824 5721 \n3 14943 10193 13846 \n3 3092 14546 14727 \n3 2242 13558 1177 \n3 1209 9966 10069 \n3 6930 6298 6924 \n3 6585 6919 7231 \n3 6744 6445 6582 \n3 6582 6445 6442 \n3 7352 7589 7714 \n3 13050 11978 12951 \n3 10764 7118 10802 \n3 6742 6443 6588 \n3 13050 12951 8896 \n3 6298 6579 6924 \n3 10818 8675 9693 \n3 6164 6307 7097 \n3 6753 6758 6587 \n3 12809 2628 13833 \n3 11832 13869 9701 \n3 2605 175 3641 \n3 6448 6755 6588 \n3 6315 6171 7116 \n3 6309 6590 6586 \n3 10818 9693 11827 \n3 6428 5863 6137 \n3 14968 7729 9957 \n3 6448 6597 6755 \n3 4619 14841 2504 \n3 13611 3524 12932 \n3 6587 6598 6447 \n3 6432 7234 7105 \n3 9642 14043 3396 \n3 6310 6600 6448 \n3 7203 2977 164 \n3 5363 1575 12849 \n3 6432 6579 6292 \n3 7254 6602 6315 \n3 3939 13342 2587 \n3 2202 8055 13476 \n3 12930 12925 12853 \n3 10442 7057 10499 \n3 6178 6937 6600 \n3 6939 6761 6941 \n3 6461 6321 6769 \n3 5569 6173 5475 \n3 6451 6598 6934 \n3 12031 12023 12998 \n3 6765 6451 6934 \n3 6603 6186 6768 \n3 2385 2384 2345 \n3 14521 4441 2172 \n3 4678 4900 4680 \n3 904 5866 3544 \n3 5788 6460 6456 \n3 2941 7537 7808 \n3 9945 8821 8964 \n3 288 264 311 \n3 1131 1146 4645 \n3 14309 14306 71 \n3 12899 12911 12735 \n3 6942 6613 6765 \n3 3053 13511 14178 \n3 6616 6454 6763 \n3 6341 6191 6333 \n3 6935 6769 6321 \n3 12587 12899 12735 \n3 6769 6947 6609 \n3 6765 6613 6324 \n3 6337 6956 6618 \n3 6032 6454 6616 \n3 88 9111 7091 \n3 6922 6914 6759 \n3 6453 6334 6944 \n3 6329 6614 6330 \n3 6743 5651 2228 \n3 2168 6716 5571 \n3 12814 11349 12803 \n3 6957 6463 6466 \n3 6956 6337 6615 \n3 6466 6621 6957 \n3 6324 6613 6333 \n3 5906 6789 7385 \n3 6969 6350 6968 \n3 996 4280 4663 \n3 9301 9220 12449 \n3 6780 6624 6778 \n3 6624 6622 6778 \n3 6626 6343 6618 \n3 6624 6793 6622 \n3 5045 6277 4997 \n3 6958 6784 6470 \n3 5696 5915 5593 \n3 8075 7794 8223 \n3 6782 6630 6475 \n3 6479 6346 6468 \n3 6627 6344 6348 \n3 3951 4074 4170 \n3 6626 6628 6205 \n3 6968 6207 6630 \n3 7918 10209 5889 \n3 13004 8105 5565 \n3 3222 8027 1276 \n3 10379 10378 9304 \n3 3352 12536 11917 \n3 14623 14371 457 \n3 11986 8843 12221 \n3 2181 7447 7496 \n3 6894 6884 7081 \n3 7017 6833 6673 \n3 6789 6054 6795 \n3 14828 5995 14758 \n3 9091 9084 11210 \n3 7263 7620 7376 \n3 3332 12406 751 \n3 6481 7156 6484 \n3 6481 6972 7156 \n3 6979 6976 6636 \n3 6799 5930 6223 \n3 10247 12336 13337 \n3 12507 12508 12906 \n3 6483 6485 6055 \n3 14631 10490 492 \n3 6355 6790 6791 \n3 2345 2334 3447 \n3 6641 6359 6799 \n3 7376 7128 7263 \n3 6066 6640 6800 \n3 4501 5203 4640 \n3 12752 6746 13812 \n3 6223 7161 6799 \n3 6648 7161 6365 \n3 7091 9111 14636 \n3 6365 6492 6648 \n3 7821 7451 7959 \n3 4917 9138 2812 \n3 6807 6649 6654 \n3 10739 7647 10730 \n3 6656 6808 6809 \n3 6809 6371 6656 \n3 6654 6076 7169 \n3 13948 12406 12369 \n3 12339 8182 9200 \n3 6371 6809 6375 \n3 8813 10964 11963 \n3 1051 5740 13775 \n3 11724 7361 9505 \n3 6659 6500 6231 \n3 6813 6993 6657 \n3 6812 6378 6500 \n3 6661 6378 6812 \n3 7819 8285 2211 \n3 6244 5077 5031 \n3 5287 5289 5667 \n3 4903 5171 5274 \n3 9138 9128 2812 \n3 6379 7300 6995 \n3 7068 4892 11341 \n3 2026 8709 3159 \n3 6380 6087 6504 \n3 6359 5614 5930 \n3 13400 7063 11345 \n3 6505 7175 6663 \n3 6817 6504 6507 \n3 9757 10862 10880 \n3 12181 12214 416 \n3 6507 6385 6818 \n3 5274 5171 5368 \n3 9128 13377 496 \n3 4840 4844 4948 \n3 14421 11339 13360 \n3 6667 7006 6666 \n3 4106 2945 14383 \n3 11515 10490 8370 \n3 1522 1533 9738 \n3 6271 5853 6129 \n3 11713 10695 12718 \n3 7270 7631 7750 \n3 6971 5663 13838 \n3 6247 7007 6824 \n3 9837 12908 13970 \n3 11709 10684 11713 \n3 13750 11701 11696 \n3 7898 7903 8587 \n3 8587 7903 8181 \n3 19 10 15 \n3 6828 6518 6823 \n3 6247 6517 7007 \n3 8364 14796 4252 \n3 9574 10678 11709 \n3 6517 6394 6253 \n3 4051 219 4038 \n3 6392 6522 6829 \n3 12856 13934 11993 \n3 7787 7660 7788 \n3 14969 13358 9544 \n3 11696 9573 10671 \n3 299 404 497 \n3 12198 12040 3571 \n3 13811 10621 9527 \n3 12429 1697 14522 \n3 6669 7576 13730 \n3 12934 8574 4458 \n3 13728 8546 10652 \n3 6529 7322 6831 \n3 5727 5519 5624 \n3 11823 51 11880 \n3 14720 10563 11605 \n3 7024 6401 6684 \n3 4076 4064 7072 \n3 6686 6527 7192 \n3 7049 6543 6856 \n3 7029 6684 6401 \n3 7457 2487 6154 \n3 13367 13363 6992 \n3 6681 6689 7032 \n3 3353 7573 14440 \n3 6017 6179 6183 \n3 6532 7029 6401 \n3 13595 8401 10523 \n3 7499 7133 7501 \n3 13337 11308 10247 \n3 5368 5658 5659 \n3 8500 10153 10368 \n3 13709 9547 7565 \n3 6542 6264 6851 \n3 6846 6533 6841 \n3 6838 6841 6533 \n3 6531 6405 6681 \n3 9974 10208 10643 \n3 7038 6535 6538 \n3 6409 6699 6539 \n3 14969 9544 14670 \n3 6692 6840 6696 \n3 14449 8585 6555 \n3 6692 6845 6840 \n3 2126 2115 5529 \n3 11620 13898 11570 \n3 6532 6688 7044 \n3 6843 6699 6409 \n3 6694 6847 6415 \n3 13891 13899 3027 \n3 6695 6696 7046 \n3 6850 6697 6846 \n3 6787 13119 6754 \n3 12904 11977 11596 \n3 9811 3135 1972 \n3 1935 8737 14795 \n3 6543 6701 7205 \n3 3474 815 5996 \n3 6416 6870 6862 \n3 6706 6701 6124 \n3 6696 6544 6692 \n3 6696 7041 7046 \n3 6853 6694 6415 \n3 6704 6853 6415 \n3 83 1286 12146 \n3 6689 6698 7061 \n3 8126 7217 6267 \n3 13748 11709 14847 \n3 6873 7054 6704 \n3 7077 6697 7065 \n3 10703 6747 6156 \n3 6839 2458 14306 \n3 6864 7065 6850 \n3 6707 6706 6871 \n3 2812 9128 496 \n3 6862 7055 6700 \n3 7331 6704 7054 \n3 6416 6862 6412 \n3 10880 12831 13913 \n3 6881 6561 7577 \n3 13670 7517 9484 \n3 58 12201 1241 \n3 12990 13872 13870 \n3 6154 2487 6155 \n3 10880 10862 12831 \n3 7723 7603 7732 \n3 3173 2026 11198 \n3 4582 2065 7293 \n3 12077 11062 14093 \n3 11095 6410 1711 \n3 4818 2515 9063 \n3 6417 6715 6880 \n3 14452 14214 14453 \n3 6429 6291 6289 \n3 11873 1894 10837 \n3 5949 14503 5563 \n3 7074 6873 6570 \n3 14235 3594 4725 \n3 4533 6599 4539 \n3 6567 7059 7076 \n3 6719 7087 6137 \n3 14091 8972 12059 \n3 8622 8614 8611 \n3 14840 14111 13905 \n3 6425 6273 6725 \n3 13521 14041 3895 \n3 13842 14983 13833 \n3 6720 6568 6728 \n3 9510 11641 11624 \n3 4673 773 746 \n3 11731 13784 10205 \n3 6715 7077 7079 \n3 13492 1744 9106 \n3 8643 4977 2892 \n3 5292 5010 5101 \n3 8747 9190 9059 \n3 12066 14068 13013 \n3 6425 7228 7099 \n3 6728 6434 6438 \n3 4112 10622 1825 \n3 6726 6575 7099 \n3 9715 1568 13771 \n3 6438 6435 6728 \n3 13884 12831 12818 \n3 6222 6243 14556 \n3 6891 6431 6157 \n3 4803 13321 13312 \n3 6899 6580 6577 \n3 6579 6432 7105 \n3 13434 14492 14480 \n3 6737 6732 6435 \n3 6590 6449 6932 \n3 6738 6582 6580 \n3 6204 6793 6624 \n3 7105 6911 6579 \n3 8537 10829 6540 \n3 7106 6171 6583 \n3 7231 7093 6585 \n3 6751 6753 6740 \n3 6753 6741 6740 \n3 6741 6744 6738 \n3 6587 6744 6741 \n3 8124 7233 7715 \n3 7380 767 5987 \n3 13464 13495 11426 \n3 6921 6756 6912 \n3 11289 6908 9007 \n3 5596 5625 4519 \n3 6751 6752 6753 \n3 6586 6919 6585 \n3 6752 6758 6753 \n3 7695 7212 7964 \n3 12198 9196 12386 \n3 175 1349 3641 \n3 6597 6448 6600 \n3 8176 8033 8449 \n3 6914 6756 6592 \n3 14741 10226 770 \n3 6919 6928 7598 \n3 3398 7320 4661 \n3 6638 194 6166 \n3 12925 12930 1203 \n3 6922 6759 6925 \n3 12938 12925 1203 \n3 11593 13629 7815 \n3 6763 6454 6757 \n3 8335 7712 7813 \n3 8270 11349 3458 \n3 6758 6934 6587 \n3 6598 6587 6934 \n3 989 1005 3390 \n3 6311 6603 7121 \n3 6449 6761 6932 \n3 14723 8440 8156 \n3 6940 6925 6759 \n3 2718 8847 3760 \n3 14636 11395 7091 \n3 12930 12853 13627 \n3 9378 14397 9375 \n3 2579 14397 9378 \n3 6758 6936 6934 \n3 13171 11142 2056 \n3 7013 7181 7315 \n3 6761 7246 6932 \n3 6409 6539 5969 \n3 6926 6751 7102 \n3 6771 6767 6602 \n3 13095 14095 3200 \n3 765 9909 14198 \n3 5516 5820 5514 \n3 6937 6944 7368 \n3 6767 6771 6775 \n3 6768 6186 7260 \n3 6598 6314 6447 \n3 6939 6941 7128 \n3 6945 6616 6763 \n3 11659 14790 13704 \n3 9972 9990 11080 \n3 5344 5530 5429 \n3 7260 6186 6188 \n3 6776 6461 6609 \n3 6614 6605 6330 \n3 6611 6949 6773 \n3 4157 4154 4155 \n3 6335 6615 6337 \n3 11364 8225 10320 \n3 6942 6460 6465 \n3 6465 6613 6942 \n3 5452 4797 4793 \n3 4694 4693 4676 \n3 11571 9448 8414 \n3 4584 3272 3007 \n3 7349 7472 7350 \n3 12771 12776 10790 \n3 6781 6778 6622 \n3 7161 7404 6799 \n3 6470 6776 6958 \n3 6954 6778 6781 \n3 7290 12385 8232 \n3 6746 10770 13812 \n3 4792 4786 11216 \n3 9681 12977 12972 \n3 6960 7146 6626 \n3 7498 7628 7739 \n3 6622 6793 7148 \n3 7143 6621 6203 \n3 6627 6785 6344 \n3 389 1589 385 \n3 6468 7152 6479 \n3 10736 10734 2362 \n3 13405 8516 1869 \n3 13791 8616 11752 \n3 9485 10585 13648 \n3 11605 9485 13648 \n3 6371 5725 5937 \n3 6747 10703 10769 \n3 11112 3491 984 \n3 5505 6220 5811 \n3 6622 7148 6781 \n3 6791 7151 6633 \n3 11338 13374 10287 \n3 6790 7154 6791 \n3 6973 6974 6478 \n3 6974 6057 6214 \n3 7272 6780 6953 \n3 6207 6475 6630 \n3 7152 6975 6479 \n3 12457 4641 3643 \n3 13595 10523 14664 \n3 14664 10523 9425 \n3 6621 6192 6049 \n3 3704 5743 6722 \n3 9425 7436 14658 \n3 4022 1737 2914 \n3 3390 6021 989 \n3 6486 6488 7158 \n3 6487 6986 6489 \n3 6800 7156 7401 \n3 10511 1614 13580 \n3 11797 2960 1622 \n3 5812 6982 6488 \n3 563 12214 3352 \n3 6223 6365 7161 \n3 7344 14728 14690 \n3 6651 6363 6801 \n3 7518 10641 5663 \n3 12564 10503 14647 \n3 14117 14355 8934 \n3 6667 7182 7309 \n3 6650 6802 6805 \n3 6989 6806 6496 \n3 11677 6893 11840 \n3 10034 5398 4999 \n3 6653 6801 7164 \n3 1472 1600 1596 \n3 6369 6987 6492 \n3 6987 6497 6806 \n3 7169 6807 6654 \n3 6372 6810 7169 \n3 13587 14650 7567 \n3 6657 6811 6810 \n3 8288 7840 8690 \n3 6658 7172 6659 \n3 8940 7834 5391 \n3 1317 1316 1318 \n3 6379 6380 7300 \n3 12649 7644 13004 \n3 7000 6817 6507 \n3 2072 9925 7477 \n3 6508 7305 6665 \n3 7304 6509 6383 \n3 6665 7306 6818 \n3 7465 6875 14723 \n3 7305 6508 6509 \n3 6665 7305 7306 \n3 6666 7006 7004 \n3 14879 7232 9561 \n3 12826 8730 12852 \n3 6383 6509 6386 \n3 7308 6825 6823 \n3 9789 14202 4106 \n3 6513 7308 6823 \n3 6772 12559 13501 \n3 14852 283 4709 \n3 6824 7308 6513 \n3 6825 6828 6823 \n3 6824 6513 6247 \n3 5677 960 4525 \n3 11684 7588 9574 \n3 5170 8643 1165 \n3 2433 4857 6125 \n3 4215 3122 5359 \n3 7182 6390 6829 \n3 4667 7185 11574 \n3 6173 6013 6308 \n3 13999 12878 12877 \n3 914 11939 12536 \n3 11515 10475 12528 \n3 7187 6832 6833 \n3 12188 13349 11331 \n3 6210 7151 6970 \n3 7684 2076 4336 \n3 7019 7189 6519 \n3 6517 6524 6831 \n3 11199 8912 4696 \n3 4715 5146 6902 \n3 7024 7188 6522 \n3 2218 350 12456 \n3 1103 5128 8021 \n3 6836 6833 6832 \n3 1916 12022 1838 \n3 5880 5856 3569 \n3 3360 3344 4489 \n3 6836 6673 6833 \n3 6523 6673 6836 \n3 14025 14338 14151 \n3 14794 1780 4739 \n3 6832 6835 6836 \n3 7024 6684 6835 \n3 6835 6682 6836 \n3 2218 12456 2784 \n3 6682 6835 7029 \n3 5550 5272 4993 \n3 6529 6681 7032 \n3 9149 1847 14836 \n3 2320 2275 14578 \n3 2218 2784 7516 \n3 4869 2876 843 \n3 6836 6682 6687 \n3 12271 12486 13126 \n3 12279 13376 13140 \n3 6840 6841 6838 \n3 7269 2330 3329 \n3 6532 7044 7029 \n3 6838 6687 6682 \n3 8018 7630 8016 \n3 7031 6838 6682 \n3 12227 12175 2474 \n3 12298 13370 5096 \n3 7040 6847 6694 \n3 9337 8484 9613 \n3 6840 6845 6841 \n3 6687 6838 6533 \n3 6535 6843 6409 \n3 14316 10218 14329 \n3 4871 3703 8254 \n3 6841 6845 6846 \n3 6858 7192 7043 \n3 6533 6846 6697 \n3 6377 6411 6301 \n3 7038 6538 7042 \n3 6538 6847 7042 \n3 7045 7044 7051 \n3 10830 11079 6410 \n3 6845 6849 6846 \n3 6850 6846 6849 \n3 8536 3665 6152 \n3 11570 13898 12828 \n3 4681 4664 8885 \n3 8643 5005 1165 \n3 9119 3449 5756 \n3 6543 7205 6856 \n3 7353 2985 7170 \n3 6853 6704 7331 \n3 14388 12197 14401 \n3 7041 6696 6840 \n3 6104 6107 6113 \n3 6542 6851 6541 \n3 13742 11630 11654 \n3 6706 6707 7206 \n3 8408 8411 6547 \n3 13540 9233 2224 \n3 6415 6847 6121 \n3 12386 7333 7313 \n3 6416 7067 6870 \n3 6549 6553 6129 \n3 1603 14809 8970 \n3 7043 7030 8093 \n3 6638 762 194 \n3 1636 7159 2651 \n3 12467 10404 13484 \n3 8979 8518 7564 \n3 6862 6870 7069 \n3 7199 6552 6546 \n3 14160 4584 14512 \n3 11256 11273 14327 \n3 5685 5303 5019 \n3 6864 6550 6426 \n3 7065 7070 7071 \n3 13716 14809 9149 \n3 7071 7077 7065 \n3 5545 14141 539 \n3 7070 7065 6864 \n3 6553 7062 6872 \n3 4232 7373 11182 \n3 7451 7212 7058 \n3 13857 11078 13852 \n3 1463 1603 8970 \n3 1463 8970 8689 \n3 7076 7069 7075 \n3 7577 6561 7212 \n3 8413 8281 7715 \n3 6856 7205 7827 \n3 2442 2435 11743 \n3 7369 7371 7600 \n3 6718 6885 7218 \n3 9744 10682 3308 \n3 8737 13668 14795 \n3 9965 3213 3236 \n3 6871 7461 6707 \n3 11312 11677 11231 \n3 565 582 6772 \n3 14506 7999 14610 \n3 6580 6898 6903 \n3 12961 13857 13895 \n3 6783 6774 11107 \n3 14590 14111 14840 \n3 11226 1783 11379 \n3 11134 13266 11178 \n3 7059 7069 7076 \n3 6881 6572 6561 \n3 6901 7106 6733 \n3 6719 6423 7087 \n3 13850 11078 14991 \n3 12294 12334 11953 \n3 2040 8174 2033 \n3 14237 3523 484 \n3 7076 7075 7078 \n3 12944 10962 14003 \n3 6571 7076 7078 \n3 6134 6723 6565 \n3 12260 11255 9113 \n3 12165 7088 12064 \n3 3322 5310 4276 \n3 7074 7341 7462 \n3 5333 2945 1962 \n3 261 4681 283 \n3 6721 7096 6885 \n3 12334 12895 11953 \n3 8051 14186 9074 \n3 11060 6754 8846 \n3 6287 6562 6280 \n3 9283 10371 13482 \n3 3665 14849 9628 \n3 8041 7770 7771 \n3 6425 7099 6575 \n3 6872 7978 7982 \n3 6744 6587 6447 \n3 14730 8517 6804 \n3 5748 5641 5984 \n3 6447 6445 6744 \n3 6897 6726 6903 \n3 6897 6903 6898 \n3 7982 7087 6872 \n3 6899 6898 6580 \n3 2504 8797 4619 \n3 6904 6741 6738 \n3 13419 10361 11402 \n3 6742 7230 6737 \n3 12040 12198 12294 \n3 11605 10563 7483 \n3 11020 12017 8918 \n3 7100 7102 6740 \n3 6905 7100 6740 \n3 6738 6580 6903 \n3 6737 6443 6742 \n3 6740 6907 6905 \n3 6907 6740 6741 \n3 7886 7506 7630 \n3 6307 7233 7097 \n3 6467 6411 6377 \n3 7474 7481 7106 \n3 7102 6751 6740 \n3 6742 7104 7235 \n3 7106 7481 6171 \n3 14686 2458 1057 \n3 8360 13628 11207 \n3 6917 7109 7104 \n3 6912 6756 6913 \n3 13628 1007 11207 \n3 6756 6914 6913 \n3 6913 6914 6922 \n3 7481 7116 6171 \n3 11781 7253 5028 \n3 6755 6917 7104 \n3 3007 14190 2856 \n3 11491 6088 10519 \n3 4888 8180 8151 \n3 6919 6590 6928 \n3 6307 6311 7480 \n3 6919 6586 6590 \n3 6298 6930 6757 \n3 2622 10094 1587 \n3 6951 6953 6780 \n3 13423 12408 14478 \n3 7627 14106 9829 \n3 6592 6756 6921 \n3 6922 6925 6926 \n3 6926 6933 6752 \n3 11949 5386 14436 \n3 13071 8797 8771 \n3 8585 14449 12883 \n3 6755 6597 6929 \n3 7438 7437 6112 \n3 8428 8309 7868 \n3 6932 6928 6590 \n3 7121 7480 6311 \n3 6925 6940 6926 \n3 6926 6940 6933 \n3 6933 6936 6758 \n3 6295 6147 5876 \n3 6924 7117 6930 \n3 6597 6600 6937 \n3 6597 6937 6929 \n3 6321 6592 6935 \n3 5710 6351 6057 \n3 6940 6936 6933 \n3 5846 1542 1515 \n3 5990 6136 6572 \n3 5978 6266 5981 \n3 4382 4390 4254 \n3 14707 8646 1124 \n3 9940 9936 9518 \n3 6679 173 10539 \n3 6940 7125 6936 \n3 7125 6934 6936 \n3 14065 7591 5466 \n3 6771 6602 7254 \n3 7121 6603 6768 \n3 6516 8012 7842 \n3 6929 6917 6755 \n3 6940 6946 7125 \n3 12748 12752 9801 \n3 4640 10596 4743 \n3 1876 14264 5548 \n3 6935 6947 6769 \n3 6946 6460 6942 \n3 8775 8779 8766 \n3 8797 13071 4619 \n3 6611 6464 6949 \n3 13004 3483 8105 \n3 7133 6605 6614 \n3 6778 6954 6951 \n3 6949 6952 6773 \n3 887 6094 6108 \n3 7260 6188 7385 \n3 11498 11776 11196 \n3 6618 6956 6960 \n3 6776 6609 7270 \n3 13653 13657 13655 \n3 6954 6781 7135 \n3 11606 13628 8360 \n3 8814 9758 8748 \n3 7727 7478 7598 \n3 3865 10596 10642 \n3 2423 12176 7512 \n3 6174 13494 11458 \n3 6958 6776 7270 \n3 6618 6960 6626 \n3 6621 6049 6203 \n3 5651 3375 2228 \n3 4997 6277 5043 \n3 10298 7289 8231 \n3 6469 6344 6785 \n3 7143 6203 6970 \n3 11201 4729 13312 \n3 5998 5955 3703 \n3 7154 7394 6791 \n3 6012 6757 6454 \n3 10609 12634 13683 \n3 4495 3481 11523 \n3 8375 7555 7806 \n3 11221 11312 12894 \n3 6973 6478 6969 \n3 6790 6061 6057 \n3 10298 13378 12352 \n3 5380 5474 5100 \n3 6422 6136 5981 \n3 7394 7151 6791 \n3 6627 6476 6964 \n3 12120 2994 6892 \n3 2994 12120 5491 \n3 6793 6794 7148 \n3 7955 12769 10832 \n3 7515 13625 14723 \n3 7150 7154 6790 \n3 7286 6977 6972 \n3 7156 6972 6977 \n3 14608 14605 256 \n3 6975 6055 6479 \n3 4312 2203 8528 \n3 7288 6483 6975 \n3 6800 6640 7156 \n3 10994 8775 8766 \n3 6621 6466 6192 \n3 159 8480 500 \n3 2570 2175 2367 \n3 6642 6670 10994 \n3 6488 6982 7158 \n3 6651 6801 6653 \n3 9213 11333 6345 \n3 14659 14707 846 \n3 10828 2228 3375 \n3 4457 7138 7142 \n3 10714 8445 10754 \n3 6650 6489 6802 \n3 6986 6802 6489 \n3 12746 12822 7688 \n3 6894 6576 6884 \n3 6485 6483 6487 \n3 416 12214 563 \n3 7207 12278 14340 \n3 1896 1895 1333 \n3 6653 6989 6803 \n3 7166 7408 6987 \n3 6358 14648 12583 \n3 13567 9404 12564 \n3 1644 14433 3346 \n3 6808 6805 7168 \n3 11025 8729 13035 \n3 7171 6809 7413 \n3 7294 6807 7169 \n3 7465 8156 14682 \n3 7465 14723 8156 \n3 6993 6811 6657 \n3 7207 10219 12278 \n3 6812 6500 7172 \n3 4486 6743 2215 \n3 5572 9986 13346 \n3 10803 10810 11800 \n3 3719 7953 12377 \n3 13595 14664 740 \n3 9156 11308 13332 \n3 7301 7300 6380 \n3 13028 13035 2431 \n3 7301 6816 6998 \n3 6507 6818 7000 \n3 7174 7175 7173 \n3 6998 7302 7543 \n3 7176 6663 7175 \n3 10699 10267 10485 \n3 3141 2015 7584 \n3 12924 12307 12723 \n3 7610 6953 7494 \n3 6998 6817 7302 \n3 12151 11168 10099 \n3 7001 7176 7783 \n3 7306 7002 6818 \n3 7304 7305 6509 \n3 6504 6998 6816 \n3 5276 13351 7248 \n3 12697 9584 12191 \n3 7006 6667 7309 \n3 6510 7180 7013 \n3 9329 7375 14669 \n3 7230 7225 6732 \n3 1542 2874 5280 \n3 8183 11331 13349 \n3 1286 83 2498 \n3 8674 4533 8705 \n3 2652 4837 8132 \n3 2146 13828 2157 \n3 10129 14209 12179 \n3 13305 2942 1590 \n3 7183 7007 6517 \n3 7465 14682 7110 \n3 4546 3408 5690 \n3 8909 10200 7747 \n3 3678 9628 4949 \n3 7110 14682 7274 \n3 5199 2246 5207 \n3 6480 6636 6976 \n3 14160 13089 8618 \n3 8055 3183 135 \n3 6355 6217 5924 \n3 4783 5729 5731 \n3 7024 6522 6103 \n3 6831 7554 7183 \n3 2320 6601 6581 \n3 1388 1514 1384 \n3 7019 7022 7189 \n3 6833 7017 7187 \n3 9601 13861 13758 \n3 6860 7465 6499 \n3 7322 7554 6831 \n3 7187 7027 6832 \n3 6499 7465 7110 \n3 13541 9369 339 \n3 6875 7465 6860 \n3 6392 6103 6522 \n3 7024 7027 7188 \n3 11312 11221 11677 \n3 6935 6921 7250 \n3 14666 10528 14676 \n3 3219 11297 14487 \n3 6679 10539 7034 \n3 5094 5370 5375 \n3 7024 6835 7027 \n3 6519 7315 7019 \n3 13974 9802 11935 \n3 9557 9563 9851 \n3 6304 6749 7515 \n3 12278 9156 13332 \n3 440 3092 3088 \n3 7954 7028 7329 \n3 7028 6529 7032 \n3 7031 6840 6838 \n3 11570 3059 11620 \n3 7029 7041 7031 \n3 7041 6840 7031 \n3 3369 7591 1197 \n3 7044 7041 7029 \n3 8737 1124 8646 \n3 10175 13167 10129 \n3 7038 7562 6535 \n3 6535 7326 6843 \n3 1022 3419 11373 \n3 7562 7326 6535 \n3 6694 7198 7040 \n3 7032 7047 7028 \n3 7040 7325 6847 \n3 6126 6861 6273 \n3 6688 7051 7044 \n3 14549 12481 11479 \n3 6689 7047 7032 \n3 6699 6843 7037 \n3 11254 14351 13322 \n3 7044 7046 7041 \n3 13322 10244 11254 \n3 1780 729 6735 \n3 7043 7209 6858 \n3 8578 9160 9157 \n3 4510 12141 14176 \n3 7045 7046 7044 \n3 8003 9992 13062 \n3 14720 11605 13648 \n3 6701 6706 7205 \n3 11066 11058 8973 \n3 7049 7201 6537 \n3 6695 6859 6554 \n3 6692 6550 6849 \n3 7201 7049 6856 \n3 7445 6853 7331 \n3 12522 1230 11968 \n3 6861 6858 6866 \n3 7051 7055 7210 \n3 6379 5944 5947 \n3 7822 7199 6541 \n3 7061 7047 6689 \n3 7051 6700 7055 \n3 6706 7206 7205 \n3 6659 7172 6500 \n3 10336 4666 5831 \n3 11235 12230 13174 \n3 13876 9582 11369 \n3 13121 5588 108 \n3 283 6842 4709 \n3 5760 5999 5761 \n3 7210 7059 7060 \n3 7210 7055 7059 \n3 12151 12137 11168 \n3 5454 6282 5647 \n3 5944 6995 6235 \n3 6421 6550 6692 \n3 7069 6870 7075 \n3 14792 12679 13718 \n3 7062 6553 6549 \n3 7617 7376 7620 \n3 7069 7059 6862 \n3 3085 8246 5318 \n3 6145 8194 14047 \n3 6499 7110 14529 \n3 11273 11256 7200 \n3 4095 7834 9876 \n3 6426 6550 6421 \n3 2422 11743 2435 \n3 486 12245 7159 \n3 7066 7461 6871 \n3 4430 4441 14521 \n3 7070 6720 7071 \n3 7083 6880 6715 \n3 3387 9403 8396 \n3 6029 6038 4771 \n3 7078 7075 7067 \n3 7045 7051 7210 \n3 7071 7079 7077 \n3 8510 6474 1951 \n3 6745 739 6746 \n3 7085 6866 7224 \n3 6884 7067 7081 \n3 7067 6884 7078 \n3 7071 7082 7079 \n3 7074 7093 7467 \n3 7081 6899 6894 \n3 7470 7234 6730 \n3 6728 6435 7082 \n3 7079 7082 6732 \n3 6732 7083 7079 \n3 6860 6499 5819 \n3 6901 6733 6881 \n3 4481 2281 6555 \n3 7226 6721 7083 \n3 6887 6897 6898 \n3 7085 7224 6725 \n3 14046 12031 12998 \n3 8591 10914 4468 \n3 7082 6435 6732 \n3 6276 3960 7316 \n3 5376 11427 6420 \n3 7220 6901 6881 \n3 6730 7234 6432 \n3 6772 14765 14749 \n3 14752 8517 14730 \n3 1783 11226 11182 \n3 7081 6898 6899 \n3 3147 2925 2927 \n3 10841 12818 12831 \n3 14503 6772 6088 \n3 14503 390 6772 \n3 6732 7225 7083 \n3 7101 7094 6913 \n3 131 6166 194 \n3 6721 7347 7096 \n3 4619 13071 8812 \n3 11182 11226 12578 \n3 7093 7231 7467 \n3 7225 7226 7083 \n3 12040 12294 11953 \n3 6166 13496 14567 \n3 7474 7106 6901 \n3 3175 3170 3403 \n3 7227 6913 7094 \n3 3177 2211 4127 \n3 7102 7100 7101 \n3 3007 2856 14637 \n3 1712 11092 11231 \n3 3361 9403 9649 \n3 7099 6741 6904 \n3 6913 6922 7101 \n3 6924 6911 7241 \n3 6919 7598 7478 \n3 10499 5798 5922 \n3 7101 6922 7102 \n3 7104 7109 7236 \n3 7109 7237 7236 \n3 6911 6924 6579 \n3 512 14184 14119 \n3 14738 14719 6142 \n3 6922 6926 7102 \n3 14072 8966 7949 \n3 6860 14479 14492 \n3 8574 12934 10867 \n3 7238 7109 7115 \n3 5923 5925 5714 \n3 12221 8860 10996 \n3 5622 9212 8150 \n3 6917 7242 7109 \n3 7109 7242 7115 \n3 7633 7285 7392 \n3 7604 6315 7116 \n3 6747 1783 11182 \n3 13474 6166 131 \n3 6752 6933 6758 \n3 12608 14669 1007 \n3 6929 7122 6917 \n3 6917 7122 7242 \n3 13320 10217 14339 \n3 7117 7124 6930 \n3 14723 14748 8440 \n3 330 5301 11816 \n3 6932 7598 6928 \n3 10688 14403 14396 \n3 6929 6937 7122 \n3 4372 12259 5135 \n3 6939 7249 7246 \n3 6741 7099 6907 \n3 5512 5220 5125 \n3 6034 6346 5793 \n3 7127 6935 7250 \n3 6935 7127 6947 \n3 8415 7440 7450 \n3 6946 6942 7125 \n3 7372 7368 7134 \n3 2809 2499 2700 \n3 7133 7263 6605 \n3 131 6143 5473 \n3 6944 7381 7134 \n3 13561 14753 4059 \n3 9883 12944 11997 \n3 7133 6614 6950 \n3 7381 6944 6334 \n3 8060 14185 8054 \n3 6957 7140 6952 \n3 9437 13558 2242 \n3 14185 8060 13151 \n3 6143 5778 5473 \n3 5485 5949 5563 \n3 9420 14845 9385 \n3 8054 14185 10096 \n3 6956 7265 6960 \n3 13418 12322 13878 \n3 12775 11777 10773 \n3 13895 13857 9568 \n3 13939 10990 14217 \n3 6630 6782 7266 \n3 7266 6782 6616 \n3 7388 6623 7272 \n3 7138 1915 1903 \n3 5541 131 5473 \n3 13684 13700 10623 \n3 7273 7143 7390 \n3 6780 6778 6951 \n3 12377 10272 14470 \n3 8240 12372 8231 \n3 7146 6960 7396 \n3 4430 2139 4408 \n3 7388 6627 6964 \n3 8743 8775 10994 \n3 14483 14479 14529 \n3 7389 6969 7266 \n3 4803 6992 13321 \n3 2411 3572 2395 \n3 8533 6511 12900 \n3 7513 7396 6960 \n3 5552 4430 4408 \n3 6784 6468 6470 \n3 4342 4385 10867 \n3 7285 7152 6468 \n3 9395 7418 9393 \n3 2561 9493 9436 \n3 13105 10088 8042 \n3 6958 7392 6784 \n3 12898 12900 6511 \n3 7957 8259 8515 \n3 8637 6739 8620 \n3 929 737 889 \n3 14907 14427 5660 \n3 6972 7146 7286 \n3 6468 6784 7285 \n3 3908 7280 6248 \n3 7399 6795 6796 \n3 7150 7283 7154 \n3 5058 3841 2738 \n3 6244 6284 6279 \n3 13105 8042 14159 \n3 13870 12767 5604 \n3 6994 5485 5778 \n3 10599 3155 4285 \n3 6480 6794 6793 \n3 6794 6976 7402 \n3 7402 6976 6979 \n3 10298 12352 9213 \n3 6483 7288 7523 \n3 6979 6486 7158 \n3 11984 10951 12096 \n3 6799 6796 6641 \n3 6796 6799 7404 \n3 13365 2097 12165 \n3 6974 7150 6057 \n3 13035 8729 2431 \n3 7523 6980 6483 \n3 6511 8528 12898 \n3 7401 7292 6800 \n3 8240 13409 12372 \n3 12771 13818 14926 \n3 10450 14416 10288 \n3 5546 4797 5452 \n3 14659 14679 14707 \n3 6131 10703 6156 \n3 10287 7290 6381 \n3 5473 5778 13394 \n3 13098 10079 12135 \n3 6806 7166 6987 \n3 7168 6805 6802 \n3 14439 5473 13394 \n3 6653 7164 6989 \n3 14436 14435 14907 \n3 8192 7267 7248 \n3 2345 3449 2361 \n3 6810 7296 7169 \n3 2361 3449 1065 \n3 7303 6818 7002 \n3 6658 7171 7172 \n3 5712 1509 3579 \n3 6811 7296 6810 \n3 7735 7997 7600 \n3 2725 2724 412 \n3 6585 7093 6570 \n3 5924 5711 5710 \n3 8528 6511 4312 \n3 6502 6661 6814 \n3 3086 2556 6213 \n3 7173 6814 7655 \n3 4273 3865 14396 \n3 2642 2336 2342 \n3 7174 7176 7175 \n3 7302 6817 7000 \n3 7418 9404 13567 \n3 6996 9400 11523 \n3 7000 6818 7303 \n3 6663 6383 6090 \n3 7176 7001 6383 \n3 7666 7004 7006 \n3 6894 6899 6577 \n3 7411 7294 7169 \n3 7001 7304 6383 \n3 6824 7007 7310 \n3 6666 7004 6510 \n3 14894 9233 13540 \n3 7423 7309 7182 \n3 6510 7179 7180 \n3 10730 7647 8596 \n3 4533 8674 6599 \n3 12883 12314 6462 \n3 6510 7004 7179 \n3 6018 6156 3222 \n3 8427 12729 14887 \n3 7181 7013 7180 \n3 5386 5572 14418 \n3 6156 12209 3222 \n3 1533 1522 5249 \n3 5572 14402 14418 \n3 2247 868 3509 \n3 7187 7430 7318 \n3 7430 7187 7431 \n3 7431 7187 7017 \n3 2911 1575 5363 \n3 14058 8208 6169 \n3 7499 7501 8162 \n3 7318 7188 7187 \n3 6445 6308 6442 \n3 13346 14402 5572 \n3 7515 6749 13589 \n3 10246 9169 13336 \n3 3261 10154 3250 \n3 3343 2210 10273 \n3 12857 14559 4266 \n3 14025 14151 13067 \n3 3088 3084 440 \n3 5691 7878 984 \n3 10499 5237 5946 \n3 7329 7028 7047 \n3 6537 7201 6851 \n3 10445 10446 6477 \n3 7335 6702 6699 \n3 8042 7136 14159 \n3 7042 7441 7038 \n3 6723 6887 7081 \n3 7473 14688 7502 \n3 7046 7045 6859 \n3 6851 7201 7334 \n3 12282 11273 10214 \n3 5923 6486 6636 \n3 7053 7451 7058 \n3 7822 6541 7334 \n3 1459 14072 7949 \n3 6446 10853 4252 \n3 7199 7053 6552 \n3 6496 5723 6077 \n3 3146 5161 9820 \n3 6404 4256 8377 \n3 1846 10706 4151 \n3 3222 1276 6018 \n3 13993 12927 11980 \n3 7210 6859 7045 \n3 6707 7461 7206 \n3 9927 14026 12992 \n3 7209 7705 6866 \n3 7894 7761 8317 \n3 6235 5629 5944 \n3 12059 8972 12058 \n3 7702 6872 7062 \n3 10076 11266 13300 \n3 7705 7342 6866 \n3 7319 2256 2267 \n3 7461 7066 7463 \n3 6873 7074 7216 \n3 6565 6723 7067 \n3 7214 7218 7587 \n3 7214 7061 7218 \n3 7462 7216 7074 \n3 7577 7220 6881 \n3 1184 3227 13540 \n3 970 14357 14367 \n3 12000 7088 12165 \n3 13974 9833 9802 \n3 3145 7586 6506 \n3 7341 7074 7467 \n3 7342 7224 6866 \n3 6885 7468 7218 \n3 11182 12578 11269 \n3 6038 6052 6051 \n3 6577 6580 6582 \n3 6957 6621 7143 \n3 7227 7094 7223 \n3 7017 6673 6518 \n3 3970 4100 3862 \n3 13013 7945 12066 \n3 8846 13119 13110 \n3 7470 7087 7466 \n3 12822 3550 7816 \n3 12064 7159 12245 \n3 10175 7207 14274 \n3 6732 6737 7230 \n3 7189 7192 6527 \n3 5922 3319 10442 \n3 6100 6666 6510 \n3 8352 8350 8215 \n3 6880 7083 6721 \n3 7949 8932 1269 \n3 7101 7223 7094 \n3 3665 8536 14849 \n3 7302 7000 7303 \n3 7223 7101 7224 \n3 7101 6725 7224 \n3 2936 8478 4037 \n3 2139 4430 14521 \n3 6721 7226 7347 \n3 7225 7230 7226 \n3 14367 14369 14374 \n3 7096 7350 6885 \n3 3319 5922 10226 \n3 6726 7099 6904 \n3 7101 7100 6725 \n3 7128 6605 7263 \n3 7226 7230 7235 \n3 7347 7226 7235 \n3 11030 12021 8919 \n3 8919 7945 11030 \n3 6307 7480 7233 \n3 6436 10706 8377 \n3 11537 3002 5099 \n3 3387 12535 9403 \n3 6905 7228 7100 \n3 8484 8755 9613 \n3 6905 7099 7228 \n3 6901 7220 7474 \n3 10499 5922 10442 \n3 4352 10328 4338 \n3 6912 6913 7227 \n3 12386 7592 2063 \n3 7115 7247 7240 \n3 7476 6921 6912 \n3 4166 8923 8934 \n3 4211 6370 4152 \n3 5869 9179 10863 \n3 7237 7109 7238 \n3 2945 4106 14202 \n3 6592 6921 6935 \n3 8422 7868 7731 \n3 6423 6553 6872 \n3 7243 7116 7481 \n3 9940 1276 2153 \n3 5284 4038 10784 \n3 7604 7116 7243 \n3 8899 9927 12023 \n3 7250 6921 7479 \n3 7247 7242 7122 \n3 7254 6315 7604 \n3 14178 13511 13749 \n3 13501 6088 6772 \n3 9936 9940 2153 \n3 6924 7241 7117 \n3 7490 7124 7117 \n3 6939 7128 7376 \n3 900 9971 9991 \n3 6932 7246 7486 \n3 7247 7122 7372 \n3 12996 8898 6967 \n3 2365 2395 3572 \n3 4667 14119 9042 \n3 2116 4202 12815 \n3 5819 6499 14529 \n3 14805 2116 3837 \n3 1847 9584 14836 \n3 6937 7368 7122 \n3 11858 11628 12303 \n3 11984 9855 10951 \n3 7487 7494 7369 \n3 7371 7369 7135 \n3 9070 14805 3837 \n3 6768 7260 7255 \n3 13297 5117 4140 \n3 7377 7127 7250 \n3 12984 1988 945 \n3 13132 12170 8063 \n3 3307 13742 1277 \n3 7494 7135 7369 \n3 9907 13188 12148 \n3 7261 7374 7266 \n3 8660 9105 8980 \n3 12406 3332 12369 \n3 9840 14474 13100 \n3 7134 7368 6944 \n3 6947 7127 7506 \n3 7264 7265 6956 \n3 7494 6953 6954 \n3 6950 6952 7501 \n3 7081 7067 6723 \n3 7124 6763 6930 \n3 12636 6233 4012 \n3 4468 10914 12617 \n3 10979 12526 12498 \n3 11259 11493 11010 \n3 7506 7127 7377 \n3 8978 8981 8662 \n3 8670 7960 7686 \n3 6952 6950 6773 \n3 6952 7140 7501 \n3 7509 7508 7879 \n3 13773 10369 7185 \n3 13272 4971 14316 \n3 11986 7848 8843 \n3 13004 7644 3423 \n3 5466 2475 14065 \n3 13276 12247 4061 \n3 7388 6964 6623 \n3 6530 8533 12904 \n3 14111 13904 13448 \n3 4932 2749 3777 \n3 7148 7514 6781 \n3 7266 7382 7389 \n3 6781 7514 7498 \n3 7382 7386 7389 \n3 14529 14479 5819 \n3 6969 7389 6973 \n3 6797 6830 11836 \n3 6747 7373 6156 \n3 10964 6938 9879 \n3 14647 10503 13580 \n3 4971 13272 14295 \n3 7399 7752 7385 \n3 7104 6742 6588 \n3 6630 7266 6968 \n3 10087 11155 10055 \n3 10079 12141 11176 \n3 11176 8044 10079 \n3 13499 14679 12478 \n3 14618 807 5536 \n3 7283 7394 7154 \n3 6795 7385 6789 \n3 7152 7398 6975 \n3 14147 10055 14172 \n3 6480 6976 6794 \n3 7398 7288 6975 \n3 1029 3409 1010 \n3 7401 7156 6977 \n3 10055 14147 9021 \n3 9518 9936 9011 \n3 1075 1082 2385 \n3 9931 13256 14287 \n3 729 3730 3917 \n3 12929 14003 10962 \n3 11986 9856 7848 \n3 7648 7158 6982 \n3 14604 9096 9385 \n3 7408 6648 6492 \n3 7164 6801 7407 \n3 8209 8182 12339 \n3 1411 14604 9385 \n3 7782 8760 8777 \n3 7301 6380 6816 \n3 7162 7648 6982 \n3 7164 7650 6989 \n3 4638 4644 4755 \n3 6802 6986 7652 \n3 10962 8801 12929 \n3 7533 7166 6806 \n3 8962 8494 8960 \n3 6982 5812 7162 \n3 12135 10050 13086 \n3 7408 6492 6987 \n3 7169 7296 7411 \n3 8355 7281 8358 \n3 13201 13886 13654 \n3 6811 6993 7536 \n3 13993 11959 9856 \n3 6993 6813 7538 \n3 9107 8805 8673 \n3 3363 3349 296 \n3 13603 14676 7440 \n3 11827 9693 12796 \n3 7414 7172 7171 \n3 8210 10284 8183 \n3 7173 7175 6814 \n3 7776 7300 7416 \n3 14604 14309 8530 \n3 14851 4729 4710 \n3 7783 7176 7174 \n3 9283 11432 6424 \n3 5524 4380 5502 \n3 13202 12199 14242 \n3 381 344 499 \n3 7659 7305 7304 \n3 548 14631 13643 \n3 7303 7002 7784 \n3 7308 6824 7419 \n3 14153 10050 12110 \n3 10680 14540 6347 \n3 11966 9848 11457 \n3 9284 8423 8717 \n3 7006 7309 7666 \n3 6219 5020 13710 \n3 8076 4284 8079 \n3 14248 3377 14273 \n3 7676 12775 10773 \n3 11222 10526 10753 \n3 14468 3582 10000 \n3 7800 7180 7179 \n3 7423 7671 7309 \n3 12713 12746 7688 \n3 10404 9314 13484 \n3 3992 4350 4571 \n3 146 12861 11887 \n3 13974 11958 9833 \n3 7308 7420 6825 \n3 8367 7308 7419 \n3 6522 7188 7186 \n3 9513 9301 12449 \n3 7308 7670 7420 \n3 6825 7432 6828 \n3 7804 6825 7420 \n3 5946 10204 5798 \n3 7876 8303 7508 \n3 13792 13787 4667 \n3 543 589 586 \n3 7186 7318 7433 \n3 7017 7432 7431 \n3 6644 10973 4533 \n3 7432 7017 6518 \n3 7430 7431 7427 \n3 3677 6693 6691 \n3 6829 6522 7186 \n3 5817 5616 5936 \n3 5763 5770 6007 \n3 7318 7186 7188 \n3 11282 10228 9155 \n3 2413 1113 2402 \n3 146 7282 7736 \n3 9301 9513 5389 \n3 7809 7681 7554 \n3 4190 9845 5359 \n3 4457 1918 1915 \n3 4786 2689 6883 \n3 7554 7322 7809 \n3 8763 10898 10919 \n3 6741 6753 6587 \n3 13318 10228 13320 \n3 8677 6601 4523 \n3 12902 9804 9821 \n3 7558 7030 7192 \n3 1744 13492 3903 \n3 13476 7768 2202 \n3 6847 7325 7042 \n3 7328 7566 7330 \n3 6142 12584 14738 \n3 5404 5495 5916 \n3 7199 7689 7053 \n3 14396 14403 14395 \n3 7042 7325 7441 \n3 7047 7698 7329 \n3 12236 13287 14305 \n3 9800 9804 10879 \n3 7455 7334 7454 \n3 7337 7827 7205 \n3 9800 9821 9804 \n3 6702 7335 7208 \n3 4583 13163 1030 \n3 2189 5141 7144 \n3 7335 7568 7208 \n3 7062 7208 7568 \n3 6711 5562 14379 \n3 7459 7206 7461 \n3 5593 5586 5202 \n3 915 1617 4480 \n3 9172 9168 9170 \n3 11800 10810 13846 \n3 9171 8593 9044 \n3 7066 7340 7701 \n3 7356 7240 7603 \n3 7463 7066 7701 \n3 9057 6450 60 \n3 12876 8730 5910 \n3 845 885 844 \n3 9301 5389 14949 \n3 7840 7982 7978 \n3 7585 7343 7345 \n3 931 1089 1157 \n3 7205 7206 7337 \n3 1105 12996 12415 \n3 8124 7345 7233 \n3 13981 13987 11792 \n3 7097 7233 7345 \n3 3550 5428 7816 \n3 7478 7231 6919 \n3 6609 6461 6769 \n3 10313 10321 7927 \n3 7347 7235 7236 \n3 6885 7350 7469 \n3 9220 9301 4909 \n3 6383 6663 7176 \n3 7589 7352 7227 \n3 4396 6877 4437 \n3 6103 6401 7024 \n3 7235 7230 6742 \n3 3841 5058 5053 \n3 7236 7235 7104 \n3 7234 7351 7105 \n3 7350 7096 7349 \n3 6860 6304 6875 \n3 7349 7096 7347 \n3 4909 9301 14949 \n3 6912 7352 7476 \n3 10409 7123 7108 \n3 13619 1933 14516 \n3 4854 10863 12860 \n3 7354 7238 7356 \n3 7236 7237 7349 \n3 14580 14165 14191 \n3 6033 4871 4882 \n3 7115 7240 7238 \n3 12564 13637 13567 \n3 7475 7241 6911 \n3 6911 7351 7475 \n3 7475 7358 7241 \n3 8234 8506 8374 \n3 5045 5077 6279 \n3 7117 7358 7490 \n3 2334 2384 6962 \n3 13336 9169 13318 \n3 7191 3245 4537 \n3 914 12853 12915 \n3 7376 7617 6939 \n3 7370 7254 7604 \n3 7365 7486 7249 \n3 7677 7423 7182 \n3 6822 8715 10749 \n3 3582 12212 10043 \n3 7182 6829 7433 \n3 7490 7374 7261 \n3 7490 7261 7124 \n3 14397 13085 14618 \n3 958 923 1086 \n3 5095 12259 13290 \n3 14716 7716 1425 \n3 14160 14512 13089 \n3 7370 7614 7254 \n3 7711 11862 11839 \n3 7618 7134 7497 \n3 13624 13860 13622 \n3 7600 7371 7739 \n3 12199 13202 8709 \n3 7247 7603 7240 \n3 2914 1737 4048 \n3 7371 7135 7498 \n3 7132 7495 7265 \n3 8847 1475 13239 \n3 4808 9730 12826 \n3 914 12536 12660 \n3 7382 7493 7386 \n3 6363 6800 6801 \n3 4061 12247 4140 \n3 11680 10671 7590 \n3 7122 7368 7372 \n3 5730 5520 5943 \n3 7493 7382 7374 \n3 5120 5212 5317 \n3 7371 7498 7739 \n3 7381 7384 7134 \n3 7501 7133 6950 \n3 13728 10652 11665 \n3 7387 7140 7504 \n3 4818 5854 11839 \n3 7272 7622 7388 \n3 7498 7135 6781 \n3 6345 7239 6319 \n3 14143 14315 14216 \n3 7503 7504 7273 \n3 7140 6957 7273 \n3 7387 7501 7140 \n3 14216 14146 14143 \n3 7503 7273 7390 \n3 13904 12980 13448 \n3 7381 7277 7384 \n3 12530 13954 13958 \n3 11097 10830 6410 \n3 7750 7392 7270 \n3 7381 6785 7277 \n3 7578 7705 7707 \n3 7150 7511 7393 \n3 7514 7148 6794 \n3 7511 7150 6974 \n3 7632 795 11846 \n3 7753 7286 7396 \n3 7322 7028 7954 \n3 9507 9374 9796 \n3 7894 7756 7519 \n3 7146 7396 7286 \n3 7285 7633 7398 \n3 7385 6795 7399 \n3 7270 6947 7506 \n3 7152 7285 7398 \n3 1893 14781 8236 \n3 7522 7288 7398 \n3 7401 6977 7639 \n3 10950 11208 11446 \n3 7288 7522 7523 \n3 11501 9381 7011 \n3 7892 7399 7641 \n3 7292 7401 7897 \n3 9070 4863 6400 \n3 14681 14679 7274 \n3 6983 6800 7292 \n3 8178 6648 7900 \n3 7526 7404 7161 \n3 7649 6648 7408 \n3 7408 7530 7649 \n3 7409 7648 7162 \n3 13973 2307 14230 \n3 7906 7907 8185 \n3 7409 7162 7294 \n3 3104 5341 4167 \n3 14108 2307 13973 \n3 7533 7651 7166 \n3 6808 7412 7413 \n3 2190 13971 14101 \n3 2008 3309 1982 \n3 7414 7171 7413 \n3 7414 7298 7172 \n3 8486 4217 13561 \n3 1557 1485 1859 \n3 6661 7654 7655 \n3 7658 7416 7301 \n3 6661 7415 7654 \n3 7776 7540 6995 \n3 8777 7824 7782 \n3 7543 7658 7301 \n3 4526 743 14198 \n3 3594 14273 3476 \n3 6422 6552 7058 \n3 7417 7784 7306 \n3 7306 7784 7002 \n3 7304 7001 7659 \n3 7544 7305 7659 \n3 7544 7306 7305 \n3 13143 5525 10858 \n3 7059 6567 7060 \n3 1899 12615 4012 \n3 9906 10084 10508 \n3 47 11498 1190 \n3 2511 449 633 \n3 9852 9681 13109 \n3 4059 8437 13561 \n3 7936 7179 7545 \n3 7004 7545 7179 \n3 12736 8363 14990 \n3 2402 3470 2413 \n3 965 850 1003 \n3 7183 7938 7310 \n3 12523 12295 12524 \n3 5543 5858 5445 \n3 1290 9715 13707 \n3 3228 4362 6625 \n3 8534 7463 8406 \n3 7064 5955 5998 \n3 8848 9012 9014 \n3 8288 7986 7982 \n3 8000 8298 7995 \n3 6245 8105 3483 \n3 7800 8374 7180 \n3 8493 8354 8069 \n3 6829 7186 7433 \n3 7318 7553 7433 \n3 1444 1512 1257 \n3 7183 7554 7944 \n3 10589 11624 10591 \n3 7027 7187 7188 \n3 12481 8321 5424 \n3 9918 10303 10535 \n3 7806 7019 7315 \n3 2651 2784 12456 \n3 5227 9126 7197 \n3 5649 5450 5748 \n3 10133 12662 14068 \n3 14041 13521 10956 \n3 6145 10457 8194 \n3 2096 12585 4661 \n3 12584 6169 8208 \n3 3550 8314 4911 \n3 13370 13366 12326 \n3 7043 7192 7030 \n3 9979 11062 12077 \n3 14559 14812 4266 \n3 5064 11602 10422 \n3 3174 795 7632 \n3 7326 7566 7037 \n3 7797 8740 9802 \n3 9638 10748 12751 \n3 7198 6853 7445 \n3 2126 3316 13902 \n3 8098 7330 7566 \n3 7445 7817 7198 \n3 7047 7061 7214 \n3 7284 9568 7279 \n3 7822 7334 7965 \n3 7209 7043 7443 \n3 3470 2402 1118 \n3 7820 7331 7456 \n3 7334 7455 7965 \n3 7201 6856 7827 \n3 7201 7827 7454 \n3 13521 1568 10956 \n3 2422 1137 1127 \n3 7454 7334 7201 \n3 7459 7337 7206 \n3 7059 7055 6862 \n3 13588 13587 7567 \n3 11689 17 2452 \n3 7337 7459 7570 \n3 6971 2502 14835 \n3 14618 5536 14397 \n3 11566 11571 8414 \n3 12584 6151 6169 \n3 7461 7463 7459 \n3 10559 14752 14692 \n3 7977 14091 14095 \n3 2081 1012 13633 \n3 7214 7587 7698 \n3 10555 12621 9458 \n3 1534 14237 484 \n3 7571 7054 7216 \n3 3007 14637 4584 \n3 5045 6301 6277 \n3 902 971 1011 \n3 13028 2988 3949 \n3 14567 6638 6166 \n3 7053 7959 7451 \n3 3470 1118 2419 \n3 7578 7707 7227 \n3 3082 13150 1146 \n3 7706 7708 7220 \n3 7709 7341 7467 \n3 7589 7227 7707 \n3 7727 7717 7478 \n3 4564 10000 1558 \n3 1496 1040 9940 \n3 14502 6000 14764 \n3 7087 7982 7466 \n3 12876 12852 8730 \n3 8135 12540 8144 \n3 6912 7227 7352 \n3 7717 7467 7231 \n3 7351 7470 7594 \n3 7470 7351 7234 \n3 7769 8821 8748 \n3 7349 7237 7472 \n3 1040 1276 9940 \n3 3573 12932 1290 \n3 8472 8471 8746 \n3 3483 3423 14577 \n3 8471 8610 8746 \n3 7240 7356 7238 \n3 7718 7846 7354 \n3 6456 6946 6940 \n3 10972 10756 10975 \n3 14478 12408 8247 \n3 7385 6188 5906 \n3 7696 8716 7661 \n3 12938 12967 12951 \n3 8623 8641 7640 \n3 7479 7476 7352 \n3 7173 7778 7174 \n3 11566 8414 8411 \n3 7969 8308 14787 \n3 7818 8264 8103 \n3 5665 8189 7112 \n3 8743 10994 6670 \n3 11711 7613 12702 \n3 7241 7358 7117 \n3 8206 8624 8483 \n3 7487 7369 7599 \n3 12911 12919 3524 \n3 640 14586 14596 \n3 11701 10686 9591 \n3 11701 12702 10686 \n3 4215 3144 10375 \n3 7688 7816 7808 \n3 3038 3254 2915 \n3 12932 3524 12919 \n3 7250 7608 7377 \n3 8138 7480 7121 \n3 6624 6780 6623 \n3 7733 7494 7487 \n3 13978 914 12915 \n3 7493 7374 7490 \n3 1649 1940 1798 \n3 3285 1982 3309 \n3 7737 7372 7618 \n3 13704 8970 14809 \n3 7131 7614 7132 \n3 7255 8138 7121 \n3 13287 11255 12260 \n3 7249 7617 7365 \n3 7255 7121 6768 \n3 9697 10895 10896 \n3 7202 7518 5663 \n3 13833 14983 12809 \n3 7131 7254 7614 \n3 8612 8198 8474 \n3 7372 7134 7618 \n3 12634 13646 13683 \n3 11680 7590 8546 \n3 7610 7621 7622 \n3 7495 7623 7265 \n3 6244 5084 6284 \n3 12183 491 9988 \n3 7630 7506 7744 \n3 7263 7625 7620 \n3 2365 3572 2357 \n3 7263 7133 7499 \n3 8969 7681 8654 \n3 7625 7263 7499 \n3 7132 7265 7264 \n3 7622 7497 7388 \n3 6055 6346 6479 \n3 7506 7377 7744 \n3 12530 13958 12587 \n3 14146 14216 14114 \n3 7626 7386 7741 \n3 6960 7265 7623 \n3 6960 7623 7513 \n3 7752 7260 7385 \n3 7140 7273 7504 \n3 7629 7501 7387 \n3 7388 7497 7384 \n3 7679 8241 8243 \n3 7509 7394 7508 \n3 7386 7626 7389 \n3 7511 7626 7741 \n3 7182 6667 6390 \n3 7503 7390 7746 \n3 11157 3506 2442 \n3 7537 7688 7808 \n3 751 13954 12530 \n3 8464 8468 10585 \n3 6627 7277 6785 \n3 6658 6375 6809 \n3 13861 13773 13758 \n3 14295 13272 14297 \n3 7283 7393 7508 \n3 11181 878 6462 \n3 9647 11766 8637 \n3 14696 14672 14646 \n3 7172 7298 6812 \n3 6794 7395 7514 \n3 7395 7510 7514 \n3 9367 12528 10475 \n3 11752 6746 12752 \n3 6669 13730 12679 \n3 3671 4239 4013 \n3 8166 7753 7396 \n3 7401 7639 7895 \n3 7395 6794 7519 \n3 7286 7639 6977 \n3 3438 5523 7645 \n3 8831 10962 12944 \n3 12672 8522 11652 \n3 14198 743 765 \n3 7402 6979 7158 \n3 8646 13668 8737 \n3 6796 7641 7399 \n3 12542 10736 2362 \n3 6986 7524 7646 \n3 6986 7646 7652 \n3 4130 8976 2432 \n3 8523 8818 8390 \n3 13499 12478 14529 \n3 6980 7523 7524 \n3 14025 14118 2255 \n3 12713 7688 7537 \n3 8178 7161 6648 \n3 7767 7650 7164 \n3 2435 4648 5769 \n3 7910 7653 7414 \n3 7641 6796 7404 \n3 9236 9520 8251 \n3 7292 7897 8030 \n3 2598 1356 1374 \n3 7903 7648 7409 \n3 14283 13237 14278 \n3 6989 7533 6806 \n3 7773 7414 7413 \n3 7411 7296 7536 \n3 7770 7411 7536 \n3 7770 8040 7534 \n3 7770 7534 7411 \n3 7536 7296 6811 \n3 11639 10626 10635 \n3 3594 3476 4725 \n3 7536 6993 7538 \n3 4694 3506 2496 \n3 7540 7774 7538 \n3 7540 6813 6995 \n3 6661 6812 7415 \n3 6238 12015 598 \n3 13542 9367 9360 \n3 7659 7001 7917 \n3 12038 14108 14089 \n3 7544 7417 7306 \n3 13935 12861 240 \n3 4508 5010 5014 \n3 2518 621 539 \n3 7938 7419 7310 \n3 10601 10614 9510 \n3 7543 7301 6998 \n3 6971 6403 8621 \n3 5682 5789 5897 \n3 13029 3984 12018 \n3 13524 7177 9244 \n3 7670 7941 7420 \n3 5959 3465 2178 \n3 5438 4336 3195 \n3 11823 12856 11993 \n3 7551 7427 7549 \n3 6825 7804 7426 \n3 7179 7936 7800 \n3 9510 10589 10601 \n3 7674 7423 7677 \n3 2518 2524 621 \n3 7553 7430 7551 \n3 8241 7180 8374 \n3 9138 96 97 \n3 7432 7552 7431 \n3 7427 7431 7552 \n3 7315 7181 8241 \n3 11974 4529 7020 \n3 2949 7195 5034 \n3 7810 7022 7555 \n3 14213 14197 11356 \n3 11917 12536 11939 \n3 7517 8477 9484 \n3 11231 11677 1808 \n3 2702 7313 7333 \n3 7022 7810 7558 \n3 7650 7651 7533 \n3 7809 7322 7954 \n3 13906 51 14974 \n3 12209 6156 7373 \n3 8147 8146 8554 \n3 3004 3221 2780 \n3 10384 8081 14768 \n3 7326 7562 7686 \n3 7687 7562 7441 \n3 9638 6734 9633 \n3 13734 12000 14413 \n3 7325 7683 7682 \n3 5255 4895 5257 \n3 7328 7037 7566 \n3 7328 7335 6699 \n3 7755 7633 7392 \n3 7462 8106 7571 \n3 10748 9638 9633 \n3 7313 2702 2635 \n3 9484 8452 10567 \n3 9085 9223 9365 \n3 11707 14879 12694 \n3 7566 7326 7686 \n3 13791 10743 8616 \n3 4949 4934 3678 \n3 7820 7445 7331 \n3 8110 7455 7454 \n3 7454 7827 7973 \n3 14881 14639 14880 \n3 7838 5806 12287 \n3 7698 8257 7329 \n3 10539 173 13503 \n3 10567 9464 11593 \n3 4368 5498 4362 \n3 7337 7570 7827 \n3 7715 7233 7480 \n3 7088 2651 7159 \n3 11570 12828 10823 \n3 3441 3536 3758 \n3 7702 8278 7978 \n3 8117 7698 7583 \n3 8939 8944 8942 \n3 11583 3511 25 \n3 7212 7706 7577 \n3 230 278 257 \n3 8840 9131 9836 \n3 5659 5658 5875 \n3 7707 7705 7831 \n3 11641 11639 11624 \n3 2635 7312 12334 \n3 12863 11071 14976 \n3 9034 13748 14847 \n3 3994 4124 4005 \n3 12611 9448 11582 \n3 7577 7706 7220 \n3 3671 3894 3889 \n3 12334 7312 7278 \n3 7343 7585 7340 \n3 3032 14203 4583 \n3 7837 7341 7709 \n3 8193 8191 8333 \n3 3011 2677 3119 \n3 7760 8318 8586 \n3 10841 6797 12818 \n3 11079 1712 1711 \n3 7986 7466 7982 \n3 7406 7378 2072 \n3 7466 7986 7594 \n3 7985 7719 7474 \n3 12294 2635 12334 \n3 7469 7472 7846 \n3 7594 7986 7994 \n3 7472 7354 7846 \n3 7849 7709 7717 \n3 7350 7472 7469 \n3 7852 7717 7727 \n3 7475 7351 7594 \n3 7720 7475 7594 \n3 7718 7354 7356 \n3 7352 7721 7479 \n3 7066 6569 7343 \n3 7474 7719 7481 \n3 8821 9945 8748 \n3 7124 6945 6763 \n3 6293 5156 6362 \n3 2361 1065 2354 \n3 7603 7723 7850 \n3 7266 6616 6945 \n3 10718 8496 5996 \n3 7481 7725 7243 \n3 7598 7601 7727 \n3 7479 7731 7250 \n3 6718 6721 6885 \n3 7846 7718 7988 \n3 7599 7600 7993 \n3 7865 7734 7720 \n3 6866 7085 6861 \n3 7487 7723 7733 \n3 3367 12962 14032 \n3 7487 7722 7723 \n3 7722 7487 7599 \n3 7604 7243 7730 \n3 7613 10686 12702 \n3 7247 7737 7603 \n3 5414 7808 7816 \n3 12013 7439 12018 \n3 12727 914 3482 \n3 6883 6886 11183 \n3 12794 13843 11140 \n3 3428 2858 2661 \n3 1525 815 3474 \n3 8361 8356 8494 \n3 7738 7365 7617 \n3 10512 8387 12569 \n3 7132 7614 7495 \n3 13389 6399 8222 \n3 13580 6528 10511 \n3 14979 13817 3579 \n3 665 666 622 \n3 8153 7867 7365 \n3 10414 12630 12606 \n3 9382 9385 9096 \n3 13826 13833 2628 \n3 6893 11953 12895 \n3 6867 4715 6902 \n3 7497 7622 7621 \n3 4373 14383 11061 \n3 8289 14287 14283 \n3 13811 13826 7887 \n3 14146 14114 14116 \n3 10029 5738 10057 \n3 5776 5773 6020 \n3 7884 7503 7748 \n3 7629 7504 7503 \n3 7884 7629 7503 \n3 7629 7387 7504 \n3 7629 8162 7501 \n3 5237 11097 2399 \n3 7277 7388 7384 \n3 6389 6823 6518 \n3 7506 7886 7631 \n3 7151 7394 7509 \n3 10849 12879 6498 \n3 7628 7498 7510 \n3 7746 7390 7509 \n3 8018 8168 7886 \n3 7628 7510 7395 \n3 6980 7524 6986 \n3 13754 13963 13964 \n3 12679 14774 7561 \n3 7398 7633 7760 \n3 13758 13731 8588 \n3 13758 8588 9556 \n3 14025 13067 14118 \n3 5740 1051 6820 \n3 8209 11338 10287 \n3 7402 7761 7519 \n3 7401 7895 7897 \n3 7522 7643 7523 \n3 7643 7646 7523 \n3 11196 11776 11778 \n3 7524 7523 7646 \n3 8156 12637 13641 \n3 6591 9799 6748 \n3 14441 7909 5833 \n3 7522 7398 7760 \n3 8178 7526 7161 \n3 7530 7899 7766 \n3 8039 7906 7902 \n3 4676 4693 5822 \n3 8373 8370 10490 \n3 7942 4135 2960 \n3 7164 7407 7767 \n3 4562 3309 2008 \n3 10736 12542 8316 \n3 5975 6274 6278 \n3 12173 12418 11726 \n3 6801 6983 7407 \n3 9226 9376 9092 \n3 7542 10614 7539 \n3 8185 7412 7906 \n3 6999 9095 2803 \n3 7906 7652 7902 \n3 7770 7536 7771 \n3 14922 10735 14941 \n3 7414 7653 7298 \n3 14949 8351 1872 \n3 5378 5008 5777 \n3 7173 7655 7913 \n3 7775 7655 7654 \n3 7912 7654 7298 \n3 12649 7516 7644 \n3 8370 5465 11515 \n3 11641 10626 11639 \n3 7783 7174 7778 \n3 10623 11652 6634 \n3 11641 10614 9522 \n3 7915 7543 7302 \n3 1818 2584 4348 \n3 7781 7302 7303 \n3 7785 7781 7303 \n3 7779 7543 7915 \n3 7783 7917 7001 \n3 7173 7913 8195 \n3 7916 7784 7417 \n3 10623 7531 13684 \n3 7921 7417 7544 \n3 13533 9366 13541 \n3 8212 7660 7786 \n3 7786 7787 7925 \n3 6043 6131 6018 \n3 7787 7924 7789 \n3 2362 10734 7616 \n3 7663 7664 7662 \n3 8145 10244 11313 \n3 7794 7663 7662 \n3 7794 7672 7663 \n3 13474 131 5541 \n3 14589 13537 9360 \n3 7663 7937 7664 \n3 6893 14333 11840 \n3 10738 9348 9487 \n3 14757 8646 14681 \n3 7672 7551 7663 \n3 1352 12579 3658 \n3 6482 13541 9366 \n3 4326 6596 6594 \n3 10624 7145 7139 \n3 13093 8812 13071 \n3 7308 8367 7670 \n3 7663 7551 7549 \n3 7663 7549 7937 \n3 7549 7678 7937 \n3 7309 7671 7667 \n3 1870 2336 1867 \n3 7803 7799 7671 \n3 7423 7803 7671 \n3 7552 7678 7427 \n3 12748 11752 12752 \n3 7947 8082 7803 \n3 7699 8400 8113 \n3 7363 11479 12481 \n3 695 759 666 \n3 13474 11496 13496 \n3 9659 8792 8244 \n3 6296 10228 9169 \n3 7677 7551 7672 \n3 11984 6967 6011 \n3 7426 7804 7678 \n3 8272 8107 8391 \n3 3722 10509 2670 \n3 11469 12485 9340 \n3 9919 206 2262 \n3 10214 7219 13307 \n3 7679 7806 7315 \n3 11331 10284 14416 \n3 6187 115 3169 \n3 13558 8926 1177 \n3 7810 7555 8375 \n3 7944 7938 7183 \n3 12650 13648 10585 \n3 14719 12556 8173 \n3 6412 6862 6700 \n3 10405 9319 11458 \n3 6904 6903 6726 \n3 7923 8484 8347 \n3 2886 2911 5363 \n3 7043 8093 7443 \n3 11677 14299 1808 \n3 7562 7687 7686 \n3 13734 14413 4205 \n3 7040 7564 7683 \n3 7198 7817 7956 \n3 7566 8099 8098 \n3 8260 8099 7566 \n3 9971 900 807 \n3 7864 7855 12285 \n3 7199 7822 7689 \n3 13482 11432 9283 \n3 5922 770 10226 \n3 7321 3106 13757 \n3 13779 13767 9994 \n3 1712 11231 1808 \n3 8110 7454 7973 \n3 8108 7705 7209 \n3 7960 8260 7686 \n3 1084 1122 13380 \n3 9561 12694 14879 \n3 7335 7330 7568 \n3 8117 8257 7698 \n3 7459 7699 7570 \n3 7699 8113 7570 \n3 7451 7821 7212 \n3 7851 14984 2743 \n3 8113 7827 7570 \n3 7456 7571 8106 \n3 9904 9909 765 \n3 8276 7702 7568 \n3 11570 10823 5784 \n3 7699 7459 7463 \n3 7822 8389 8102 \n3 7695 7706 7212 \n3 7228 6425 6725 \n3 7832 7706 7695 \n3 3227 1184 3209 \n3 10662 14808 8407 \n3 8114 7830 7837 \n3 11402 10361 12451 \n3 10379 9280 12441 \n3 13559 846 14650 \n3 12912 12225 8585 \n3 13785 9621 10743 \n3 7585 8124 8123 \n3 11079 11092 1712 \n3 7709 7844 7839 \n3 7844 7714 7839 \n3 7714 7589 7707 \n3 7839 7714 7707 \n3 7702 7978 6872 \n3 7843 7587 7468 \n3 7341 7837 7830 \n3 1935 13727 9561 \n3 14659 846 13559 \n3 11350 1783 10769 \n3 10371 9283 8279 \n3 9805 1462 14106 \n3 7843 7468 7846 \n3 10361 13419 8262 \n3 6835 6832 7027 \n3 7469 7846 7468 \n3 7844 7709 7849 \n3 10532 10987 10536 \n3 6410 11079 1711 \n3 14472 9280 10360 \n3 5552 5502 7728 \n3 12334 7278 12895 \n3 14204 472 7713 \n3 8001 7479 7721 \n3 6260 6533 6263 \n3 7100 7228 6725 \n3 7856 7721 7844 \n3 9444 14688 8415 \n3 8279 7295 11389 \n3 14978 5757 10094 \n3 7714 7721 7352 \n3 8164 7754 8571 \n3 7476 7479 6921 \n3 14836 13716 9149 \n3 7723 7722 7853 \n3 7717 7852 7849 \n3 3719 1996 7953 \n3 7719 8137 7859 \n3 8114 8391 8107 \n3 7862 7730 7725 \n3 7493 7734 7740 \n3 12767 12794 11191 \n3 7718 7850 7988 \n3 7358 7475 7734 \n3 3423 3483 13004 \n3 12522 5836 1230 \n3 7601 7602 7727 \n3 7732 7733 7723 \n3 10948 1568 8512 \n3 4039 3796 4040 \n3 7867 7486 7365 \n3 8250 11389 7295 \n3 13824 8349 13826 \n3 7602 7486 7867 \n3 7865 8143 8007 \n3 7372 7737 7247 \n3 7603 7737 7732 \n3 12179 8060 7157 \n3 5726 13321 3118 \n3 7865 8008 7734 \n3 4782 9693 8675 \n3 11157 2442 11743 \n3 5571 7758 4443 \n3 8225 7297 10320 \n3 1184 13540 8090 \n3 7737 7610 7732 \n3 7610 7733 7732 \n3 7955 13843 12769 \n3 12585 9303 3984 \n3 6458 4187 5322 \n3 8446 8888 8324 \n3 8530 9096 14604 \n3 8459 8330 7908 \n3 7618 7621 7737 \n3 7621 7610 7737 \n3 8008 7741 7740 \n3 4660 4879 5151 \n3 7742 7620 8158 \n3 6345 5307 9213 \n3 7255 7260 7873 \n3 14715 7716 14716 \n3 13389 8216 12357 \n3 7377 7608 7868 \n3 10594 10769 10703 \n3 7620 7742 7617 \n3 7134 7384 7497 \n3 13568 12678 12680 \n3 7497 7621 7618 \n3 7752 8164 7260 \n3 7260 8164 7873 \n3 6698 6718 7218 \n3 8158 7620 7625 \n3 7739 7628 7882 \n3 7110 13499 14529 \n3 7746 7748 7503 \n3 8162 7625 7499 \n3 8667 14790 13677 \n3 9821 8781 12902 \n3 8161 7629 7884 \n3 2285 11544 270 \n3 7508 7393 7876 \n3 8015 7513 7743 \n3 10535 10303 11239 \n3 7741 7876 7511 \n3 6328 6360 5084 \n3 7511 7876 7393 \n3 7388 7277 6627 \n3 6683 6675 2450 \n3 9555 7253 11781 \n3 7754 7399 7892 \n3 8166 7396 7513 \n3 1627 1619 7502 \n3 7756 7889 7395 \n3 14264 5712 14975 \n3 7894 8169 7756 \n3 7890 7639 7753 \n3 8169 7889 7756 \n3 7576 7581 13730 \n3 12335 11650 12095 \n3 13676 13652 8156 \n3 7761 7894 7519 \n3 6131 6156 6018 \n3 7633 8318 7760 \n3 14757 13668 8646 \n3 8617 8913 9190 \n3 12135 9030 10050 \n3 14264 14975 14973 \n3 10288 14416 10284 \n3 7754 7752 7399 \n3 7897 7895 8024 \n3 8586 7522 7760 \n3 12024 11122 12056 \n3 7402 7158 7761 \n3 14696 10408 6037 \n3 7643 7522 8586 \n3 11331 8183 10284 \n3 3884 12492 6084 \n3 7238 7354 7237 \n3 5503 5493 9072 \n3 7578 7223 7342 \n3 1337 13893 1393 \n3 7651 8176 7899 \n3 7898 7648 7903 \n3 4217 8486 8588 \n3 7653 7912 7298 \n3 11751 2944 10489 \n3 9282 7016 9269 \n3 7412 8185 7773 \n3 12682 7537 2941 \n3 13318 12005 10155 \n3 8020 6959 10238 \n3 7761 7158 7648 \n3 7538 7771 7536 \n3 14748 13676 8440 \n3 7654 7912 8043 \n3 1212 5486 9803 \n3 7776 7774 7540 \n3 8045 8334 7416 \n3 9368 9219 9222 \n3 7543 7779 7658 \n3 7166 7651 7530 \n3 8195 7913 8193 \n3 3542 12242 5712 \n3 7658 8045 7416 \n3 7787 7786 7660 \n3 6018 1276 1040 \n3 14423 5833 12301 \n3 6482 9369 13541 \n3 13729 2283 1263 \n3 7788 7924 7787 \n3 7719 7725 7481 \n3 13163 4583 14203 \n3 7925 7787 7789 \n3 8068 7794 7929 \n3 7717 7231 7478 \n3 7662 7929 7794 \n3 14821 8595 8576 \n3 8223 7794 8068 \n3 10791 10790 12776 \n3 7662 7664 7791 \n3 14492 14532 6304 \n3 7664 7933 7795 \n3 13013 11030 7945 \n3 6304 6860 14492 \n3 5798 10499 5946 \n3 1848 1545 1550 \n3 1916 1923 12022 \n3 7794 8075 7672 \n3 8948 8246 3085 \n3 8498 7666 7667 \n3 12238 71 9220 \n3 7729 14238 9957 \n3 7933 7664 7937 \n3 1230 2469 3511 \n3 8646 14707 14681 \n3 6186 6603 5892 \n3 14730 14692 14752 \n3 7274 13641 14757 \n3 7674 7803 7423 \n3 7678 7804 7801 \n3 7591 11969 1197 \n3 7947 7677 7672 \n3 7016 5963 2616 \n3 13320 11282 10217 \n3 11490 10318 10785 \n3 2043 8388 2065 \n3 7151 7390 6970 \n3 8239 7944 7950 \n3 4127 5148 3177 \n3 11880 12856 11823 \n3 5987 2186 9548 \n3 8375 7806 8086 \n3 7030 7558 8089 \n3 6180 6449 5888 \n3 11127 8885 4664 \n3 11254 10244 8126 \n3 8503 8223 8497 \n3 7274 14757 14681 \n3 9261 10330 13408 \n3 7814 7329 8257 \n3 7683 7564 8095 \n3 7687 8383 7686 \n3 8523 8525 9118 \n3 5075 14205 2750 \n3 8236 4011 8248 \n3 12447 13431 5563 \n3 7088 7159 12064 \n3 7956 7564 7198 \n3 8264 7818 8096 \n3 13484 9314 10399 \n3 10198 9113 10192 \n3 7818 7959 7957 \n3 6765 6934 6942 \n3 13898 11620 11870 \n3 14709 14706 1296 \n3 7821 7959 7818 \n3 11432 13484 10399 \n3 13453 14483 14529 \n3 7817 7820 8094 \n3 8515 8514 7957 \n3 8266 8101 7820 \n3 7964 7821 7818 \n3 11890 12104 11655 \n3 7566 7686 8260 \n3 8101 8100 7820 \n3 7822 7965 8389 \n3 9618 10092 10286 \n3 7528 14986 14937 \n3 7826 8110 7973 \n3 7964 7212 7821 \n3 13122 13104 14190 \n3 7695 7964 7971 \n3 6284 6439 6377 \n3 3424 5522 7642 \n3 7702 7062 7568 \n3 13587 13588 7842 \n3 7832 7695 7971 \n3 2299 1263 3329 \n3 1087 6450 77 \n3 6974 6973 7626 \n3 3832 3712 3606 \n3 8278 7702 8276 \n3 11235 9103 9113 \n3 5432 9011 9936 \n3 7831 7839 7707 \n3 12451 9289 11441 \n3 6284 6384 6439 \n3 7340 7585 8123 \n3 14667 13760 14414 \n3 7837 7709 7839 \n3 7274 14679 13499 \n3 6730 6137 7087 \n3 7550 3458 12814 \n3 6858 7209 6866 \n3 10371 8279 11389 \n3 8348 154 5692 \n3 5537 3283 4407 \n3 7128 6941 6605 \n3 9812 10641 7518 \n3 11004 10996 8919 \n3 9931 14287 8289 \n3 14167 5575 7673 \n3 13619 14281 14775 \n3 7849 7852 7844 \n3 7599 7854 7989 \n3 13514 3893 868 \n3 2465 2498 2474 \n3 7852 7856 7844 \n3 7610 7622 6953 \n3 11456 11469 7357 \n3 7853 7989 8133 \n3 7725 7719 7859 \n3 7853 7850 7723 \n3 7270 6609 6947 \n3 7852 7727 7995 \n3 7994 7865 7720 \n3 1306 136 1875 \n3 7600 7997 7993 \n3 7534 7409 7294 \n3 14032 12014 12017 \n3 7727 7602 8000 \n3 13589 6749 13528 \n3 13415 11389 8250 \n3 9103 11235 13174 \n3 8555 8712 8422 \n3 7475 7720 7734 \n3 8247 10320 7297 \n3 13183 11228 3209 \n3 7604 7730 8147 \n3 7856 8001 7721 \n3 1326 14458 7669 \n3 8431 8154 8862 \n3 9335 8916 8917 \n3 7862 8147 7730 \n3 2123 2049 2044 \n3 8138 7255 8141 \n3 3437 1326 9865 \n3 7673 5555 5545 \n3 1935 14795 13706 \n3 9042 13792 4667 \n3 8546 5676 10652 \n3 8152 7614 7370 \n3 8476 8474 8339 \n3 14141 5545 3438 \n3 10406 2802 1481 \n3 7741 8008 7876 \n3 8423 8710 7739 \n3 10369 13773 13861 \n3 7776 6995 7300 \n3 5575 5555 7673 \n3 7365 7738 8153 \n3 8710 7735 7739 \n3 9378 500 5432 \n3 9859 6573 14242 \n3 6328 6362 6360 \n3 7868 7744 7377 \n3 8436 13935 416 \n3 14186 8051 10088 \n3 7540 7538 6813 \n3 13772 4806 897 \n3 7680 5805 5800 \n3 7386 7740 7741 \n3 5389 5361 8351 \n3 7623 7495 7743 \n3 8432 7742 8155 \n3 7508 8154 7879 \n3 8779 8775 2506 \n3 12165 2097 12000 \n3 7881 7748 7746 \n3 7744 8016 7630 \n3 7513 8015 8166 \n3 7752 7754 8164 \n3 8961 8495 8640 \n3 7886 7630 8018 \n3 12759 14960 13837 \n3 8876 8164 8571 \n3 939 3390 3381 \n3 14419 13378 5809 \n3 8388 2043 663 \n3 7889 7628 7395 \n3 6134 6575 6726 \n3 11266 14357 970 \n3 14378 4936 14883 \n3 7578 7227 7223 \n3 6980 6986 6487 \n3 12782 11800 12791 \n3 6887 6898 7081 \n3 5946 5237 2399 \n3 8373 10490 13565 \n3 7761 7896 8323 \n3 7526 7641 7404 \n3 1232 5779 4672 \n3 9023 8164 8876 \n3 7526 8322 7641 \n3 3007 13164 14194 \n3 71 8530 14309 \n3 5877 2525 2498 \n3 7979 7708 7832 \n3 14941 7780 7710 \n3 8032 8454 7646 \n3 7896 7648 7898 \n3 10340 10557 11267 \n3 3938 1631 2832 \n3 8031 7767 8030 \n3 8033 7651 7650 \n3 8188 8187 7771 \n3 8033 7650 7767 \n3 7106 6583 6733 \n3 7649 7900 6648 \n3 9101 3419 4610 \n3 8030 7767 7407 \n3 10050 11111 12110 \n3 8040 7770 8041 \n3 7808 5414 14094 \n3 11110 1792 12092 \n3 8185 7908 7773 \n3 7910 7414 7773 \n3 9936 2153 3611 \n3 7519 7756 7395 \n3 14147 12106 9021 \n3 8176 7651 8033 \n3 7776 8334 7774 \n3 8191 8193 7775 \n3 10247 9185 11333 \n3 9359 9361 9077 \n3 145 5912 3614 \n3 7779 8045 7658 \n3 9560 9428 9142 \n3 7778 8047 7783 \n3 7417 7921 7916 \n3 7917 8052 7659 \n3 7785 7784 7916 \n3 3157 4661 12585 \n3 7660 8212 7923 \n3 7816 7688 12822 \n3 7544 8056 7921 \n3 3443 3447 7668 \n3 7925 7789 8062 \n3 7668 3442 3443 \n3 8065 7929 7926 \n3 10492 14567 13496 \n3 7929 7662 7926 \n3 8067 7662 7791 \n3 848 12703 10133 \n3 9979 9992 7998 \n3 8068 7929 8065 \n3 7926 7662 8067 \n3 7791 7795 8069 \n3 7795 7791 7664 \n3 8354 8067 8069 \n3 296 3349 1300 \n3 10791 7680 10790 \n3 6301 6411 5201 \n3 14682 8156 13641 \n3 6279 6377 5045 \n3 7937 7801 7940 \n3 8224 7936 7545 \n3 7937 7940 7933 \n3 9588 3234 11871 \n3 7670 8230 7941 \n3 6970 7390 7143 \n3 14537 14532 14501 \n3 6296 9155 10228 \n3 14501 14532 14492 \n3 8075 8082 7672 \n3 8239 8504 7944 \n3 8234 7800 7936 \n3 11069 7983 7996 \n3 7804 7940 7801 \n3 7804 7941 7940 \n3 8082 7947 7672 \n3 14707 14679 14681 \n3 6381 2330 7269 \n3 5455 7573 14051 \n3 14051 7605 14448 \n3 8234 8374 7800 \n3 12782 12775 7676 \n3 8239 7950 8244 \n3 13474 13496 6166 \n3 6694 6853 7198 \n3 4422 4444 5938 \n3 5809 14870 14827 \n3 8375 8088 7810 \n3 638 5922 5798 \n3 8239 8244 8792 \n3 7674 7947 7803 \n3 8089 8093 7030 \n3 5436 5433 5535 \n3 4884 11181 2903 \n3 1856 4087 6364 \n3 8514 7818 7957 \n3 8095 7682 7683 \n3 7956 7817 8094 \n3 2847 2784 13663 \n3 10424 10650 11361 \n3 11228 11258 3209 \n3 11254 8126 10195 \n3 8122 11258 10217 \n3 8100 8094 7820 \n3 4950 6938 7829 \n3 6268 11258 8122 \n3 14934 14432 9682 \n3 3583 1298 3569 \n3 8103 7964 7818 \n3 9220 4909 14932 \n3 5522 12039 7642 \n3 8267 8271 8104 \n3 3331 9729 14016 \n3 7964 8103 7971 \n3 7528 9682 14793 \n3 10078 9899 11414 \n3 8109 8389 7965 \n3 8276 7568 8273 \n3 7330 8273 7568 \n3 8314 14689 13576 \n3 8098 8273 7330 \n3 7443 8108 7209 \n3 7826 7972 8110 \n3 14689 8314 11213 \n3 7827 8113 7973 \n3 8398 8110 7972 \n3 6729 6766 9838 \n3 8273 8098 8265 \n3 10876 9802 8740 \n3 7832 7971 8116 \n3 9771 10516 10295 \n3 10641 9812 14184 \n3 12320 12321 11409 \n3 7626 6973 7389 \n3 7874 14415 480 \n3 8114 7837 7831 \n3 7830 8106 7462 \n3 8123 8118 7340 \n3 10902 13978 12915 \n3 8119 7979 7832 \n3 7839 7831 7837 \n3 6126 6536 6861 \n3 2589 2583 515 \n3 8123 8124 8410 \n3 7701 7340 8118 \n3 9896 3471 14167 \n3 8287 8417 8136 \n3 5648 4525 4915 \n3 8136 8131 8287 \n3 8280 8127 8119 \n3 14480 14457 13393 \n3 7015 12031 8943 \n3 7480 7991 7715 \n3 7985 8131 8134 \n3 13183 8090 9083 \n3 14277 12199 14282 \n3 8405 8526 8680 \n3 7985 8134 7719 \n3 7989 8130 8133 \n3 6534 6566 6584 \n3 14931 14694 11912 \n3 7039 7048 7951 \n3 13196 12186 3594 \n3 7719 8134 8137 \n3 7986 8288 7994 \n3 7994 8143 7865 \n3 7995 8298 7856 \n3 11021 8898 12996 \n3 7852 7995 7856 \n3 8295 7725 7859 \n3 10426 1597 8144 \n3 8298 8422 7856 \n3 8001 7856 8422 \n3 7553 7677 7433 \n3 9928 8918 12014 \n3 12501 12478 14679 \n3 8007 8143 8148 \n3 7951 7048 11058 \n3 9052 10099 11168 \n3 12057 3437 9865 \n3 3272 13164 3007 \n3 14679 14659 12501 \n3 8153 8149 7867 \n3 7370 8005 8152 \n3 11192 9074 14186 \n3 8297 8000 7867 \n3 8010 8148 8299 \n3 8010 8008 8007 \n3 6877 4396 8253 \n3 5084 6360 6354 \n3 8257 8117 8112 \n3 7436 8387 10512 \n3 8010 8007 8148 \n3 6384 6354 6441 \n3 8423 7739 7882 \n3 7873 8164 8430 \n3 13755 5663 6971 \n3 12888 9814 8774 \n3 7868 8309 7744 \n3 9278 9860 9146 \n3 4368 4387 5498 \n3 7740 7734 8008 \n3 4654 8866 6787 \n3 9046 9454 9318 \n3 8309 8016 7744 \n3 8003 13062 7114 \n3 11183 4663 13192 \n3 8621 13711 2502 \n3 6439 6441 7575 \n3 6945 7261 7266 \n3 7884 7748 8017 \n3 8016 9028 8018 \n3 7884 8567 8161 \n3 7628 8569 7882 \n3 7890 7753 8166 \n3 11529 12526 6004 \n3 7750 7886 8168 \n3 8443 8323 9040 \n3 11871 5352 5357 \n3 14532 6749 6304 \n3 9016 9133 9416 \n3 6967 11984 10991 \n3 9435 8568 8875 \n3 2487 7457 3644 \n3 7708 7706 7832 \n3 13708 13731 13740 \n3 9043 8593 9167 \n3 5096 13370 12326 \n3 9030 10079 6185 \n3 5347 7442 11796 \n3 7526 8451 8322 \n3 8178 8451 7526 \n3 7899 8177 7766 \n3 7816 5428 5414 \n3 8176 8177 7899 \n3 5252 14577 3423 \n3 3620 1306 3626 \n3 8586 8026 7643 \n3 8325 7900 8175 \n3 9629 12166 11998 \n3 7900 8325 8178 \n3 7292 8030 7407 \n3 7257 7271 8183 \n3 8454 7902 7646 \n3 9028 8441 8018 \n3 8454 8039 7902 \n3 8037 7903 7534 \n3 6362 7535 6360 \n3 8040 8456 8038 \n3 8040 8038 7534 \n3 7903 7409 7534 \n3 10823 12811 13036 \n3 14396 14395 4273 \n3 7771 7538 8188 \n3 3256 9636 14043 \n3 7653 8043 7912 \n3 14929 9642 11843 \n3 1710 1855 1623 \n3 13335 6711 14379 \n3 10780 13773 8536 \n3 8047 7778 8197 \n3 8197 8472 8202 \n3 7775 7913 7655 \n3 8612 8467 8338 \n3 10962 8831 8810 \n3 3033 14498 3015 \n3 8645 3082 14191 \n3 12760 2358 13856 \n3 8801 10962 8810 \n3 7783 8047 8048 \n3 8049 7916 7921 \n3 8048 8203 7917 \n3 8215 7925 8062 \n3 7917 8203 8052 \n3 8204 8205 8047 \n3 8813 11963 5971 \n3 7783 8048 7917 \n3 8341 8057 8203 \n3 8203 8057 8052 \n3 8049 7785 7916 \n3 12009 10996 11004 \n3 172 12607 3648 \n3 324 2380 11789 \n3 11959 8800 9856 \n3 8047 8205 8048 \n3 8286 8541 7583 \n3 7919 7659 8052 \n3 8052 8057 7919 \n3 7919 8058 8056 \n3 12734 13791 6040 \n3 8057 8058 7919 \n3 8338 7915 8198 \n3 8213 7924 7788 \n3 7786 8215 8061 \n3 8352 7789 8485 \n3 8215 8062 8352 \n3 7777 5648 4489 \n3 8490 7926 8067 \n3 14863 14856 6908 \n3 8217 8490 8067 \n3 7412 7773 7413 \n3 14567 10492 911 \n3 8069 8067 7791 \n3 9844 9867 14188 \n3 1663 1447 1662 \n3 10591 10585 10589 \n3 8489 8065 8490 \n3 1176 1190 11498 \n3 8361 8223 8068 \n3 5953 10919 10938 \n3 10339 10315 12296 \n3 1052 1037 4076 \n3 8639 8069 8071 \n3 7795 7933 8071 \n3 7786 8061 8212 \n3 8639 8493 8069 \n3 8224 7545 8498 \n3 7064 4829 5955 \n3 4059 12714 8437 \n3 8227 8498 7667 \n3 14677 3234 9588 \n3 4673 7751 3411 \n3 5361 14741 770 \n3 7933 7940 8228 \n3 10244 13338 11313 \n3 8228 7941 8230 \n3 14440 7573 5455 \n3 6860 5819 14479 \n3 14190 13104 2856 \n3 8105 6245 11787 \n3 8986 8670 8671 \n3 6863 7796 9814 \n3 7944 8504 7938 \n3 12805 13726 13281 \n3 7799 7803 8238 \n3 4882 4871 8254 \n3 12238 9220 14932 \n3 12066 7050 9972 \n3 4480 1617 3364 \n3 8654 7681 7809 \n3 9147 9166 13317 \n3 6649 5718 5825 \n3 5805 10791 9693 \n3 12238 13950 71 \n3 7607 9717 9721 \n3 9393 11519 5476 \n3 2385 2402 2384 \n3 14329 12235 14316 \n3 8267 8093 8251 \n3 8095 7564 8518 \n3 2317 14832 14576 \n3 8514 8096 7818 \n3 1289 291 3338 \n3 8267 7443 8093 \n3 7945 8967 12066 \n3 6724 7647 10739 \n3 7564 7956 8979 \n3 9388 3053 9412 \n3 5492 7694 5502 \n3 7965 7455 8110 \n3 5277 5372 5088 \n3 10879 11893 9800 \n3 14118 13067 9807 \n3 12675 13709 8522 \n3 8102 7689 7822 \n3 13022 13028 2431 \n3 8103 8385 8392 \n3 8106 8107 8266 \n3 8103 8392 7971 \n3 5253 13879 14680 \n3 10866 10849 8576 \n3 660 5050 9300 \n3 14172 10055 11155 \n3 8112 8989 8257 \n3 8824 8681 8399 \n3 8110 8109 7965 \n3 7529 1114 9728 \n3 8107 7830 8114 \n3 8110 8393 8109 \n3 4154 4404 4155 \n3 7826 8275 7972 \n3 7973 8113 8275 \n3 8334 8332 7774 \n3 8391 8114 7831 \n3 14480 14479 14457 \n3 7831 7705 8108 \n3 8918 9947 11020 \n3 14055 11020 9947 \n3 12018 3984 13014 \n3 8121 7978 8278 \n3 13276 8768 6607 \n3 1764 14041 12013 \n3 8654 8092 8974 \n3 97 1103 6923 \n3 10537 10114 10109 \n3 7979 8119 8127 \n3 8282 8286 7583 \n3 11213 7712 8335 \n3 5201 3914 6301 \n3 8853 8146 8852 \n3 14054 14049 3903 \n3 9008 9004 9010 \n3 7841 8128 8282 \n3 14032 8897 12014 \n3 8129 8133 8128 \n3 14908 8581 13818 \n3 7427 7551 7430 \n3 9565 9706 10241 \n3 4620 7312 13789 \n3 8130 7854 8286 \n3 12960 6258 10984 \n3 6830 4854 12860 \n3 3009 2375 2678 \n3 7202 13786 7518 \n3 8133 7850 7853 \n3 8924 5361 770 \n3 8136 8137 8134 \n3 8131 8136 8134 \n3 8416 7993 7997 \n3 10478 9877 10910 \n3 12186 11180 3594 \n3 7991 8138 8294 \n3 7725 8295 7862 \n3 7859 8139 8295 \n3 8571 8578 8876 \n3 9549 5217 7391 \n3 6674 3316 5529 \n3 1048 2437 6112 \n3 8397 8081 8072 \n3 14730 13543 14692 \n3 6951 6954 6953 \n3 8637 12771 10778 \n3 2163 4754 12972 \n3 8158 8561 8155 \n3 8297 8298 8000 \n3 7835 8834 8937 \n3 7867 8149 8297 \n3 3848 373 9503 \n3 6141 6570 6873 \n3 9835 13237 8678 \n3 8152 8421 8307 \n3 7274 13499 7110 \n3 7614 8152 7743 \n3 8153 7738 8011 \n3 7815 10567 11593 \n3 3594 14235 13196 \n3 6399 10322 10330 \n3 6455 5238 6534 \n3 7876 8010 8303 \n3 9804 12887 10879 \n3 8700 8687 10862 \n3 8152 8307 7743 \n3 8015 8310 8166 \n3 8311 7629 8161 \n3 8311 8162 7629 \n3 7192 7022 7558 \n3 7855 3637 7851 \n3 8162 8435 7625 \n3 14434 12505 14427 \n3 8157 8017 7881 \n3 10862 8687 10841 \n3 8678 9789 9813 \n3 9517 9505 7361 \n3 3483 14577 4581 \n3 14650 9282 13559 \n3 8166 8438 7890 \n3 8569 7628 7889 \n3 3549 14467 5678 \n3 13512 13508 13294 \n3 3213 6594 3236 \n3 9581 9164 8727 \n3 3853 11850 10837 \n3 970 14354 11266 \n3 8843 8860 12221 \n3 6339 34 12513 \n3 14369 14367 12281 \n3 5653 11540 1869 \n3 34 3020 12513 \n3 14480 14492 14479 \n3 5854 7711 11839 \n3 13702 13236 13458 \n3 8323 8317 7761 \n3 8444 8024 7895 \n3 175 6071 7582 \n3 159 500 9378 \n3 3377 13164 3272 \n3 6478 6350 6969 \n3 8324 8030 8446 \n3 8587 7896 7898 \n3 3544 3521 904 \n3 8030 8324 8031 \n3 7985 7474 7220 \n3 8175 7766 8448 \n3 8454 8032 8592 \n3 8033 8031 8324 \n3 5183 7379 5217 \n3 10818 11832 8971 \n3 8116 7971 8277 \n3 8026 8032 7643 \n3 2330 13798 2299 \n3 8245 8249 4937 \n3 2173 10057 14330 \n3 14402 13346 12306 \n3 8181 7903 8037 \n3 8033 7767 8031 \n3 7646 7643 8032 \n3 6071 5240 5993 \n3 11277 13048 7113 \n3 1074 950 1027 \n3 7907 8039 8328 \n3 8456 8040 8041 \n3 7907 8457 8185 \n3 8041 7771 8458 \n3 8039 7907 7906 \n3 8185 8457 7908 \n3 5428 3550 4911 \n3 7773 7908 7910 \n3 2891 2896 3016 \n3 8599 8187 8188 \n3 8124 7715 8281 \n3 9735 9599 9323 \n3 7774 8332 8188 \n3 14929 3256 9642 \n3 6389 6250 6513 \n3 11369 9582 13872 \n3 8191 8043 8462 \n3 14952 14951 1243 \n3 13708 4217 13731 \n3 2385 1127 1118 \n3 6786 10810 5816 \n3 8334 8605 8603 \n3 8199 7781 7785 \n3 8199 8198 7781 \n3 8197 8202 8047 \n3 8472 8337 8336 \n3 1280 13757 3106 \n3 1318 1497 1317 \n3 14190 14194 8656 \n3 14203 3032 14188 \n3 8656 13122 14190 \n3 8197 8337 8472 \n3 8207 8339 8049 \n3 8047 8202 8204 \n3 8199 8049 8339 \n3 3015 14498 3423 \n3 8205 8203 8048 \n3 8206 8207 8049 \n3 4782 5805 9693 \n3 14203 14188 9867 \n3 8205 8341 8203 \n3 8056 8342 8206 \n3 4640 4743 14366 \n3 8205 8343 8341 \n3 13128 9852 13109 \n3 8205 8204 8343 \n3 8056 8058 8342 \n3 535 501 569 \n3 8049 8056 8206 \n3 6354 6384 6284 \n3 3102 13128 13109 \n3 12938 12951 13998 \n3 11061 3102 13109 \n3 3914 6277 6301 \n3 3602 5880 1298 \n3 7275 7258 14900 \n3 8347 7788 7923 \n3 3648 4807 172 \n3 9324 9183 9460 \n3 8062 7789 8352 \n3 3015 3423 7644 \n3 8056 8049 7921 \n3 4940 11958 9855 \n3 4940 9833 11958 \n3 8065 8489 8492 \n3 13100 14335 8638 \n3 12929 8801 10938 \n3 9833 4940 4926 \n3 14188 14474 9844 \n3 8735 8733 9048 \n3 9852 8638 14335 \n3 12986 10966 7435 \n3 10790 10778 12771 \n3 14920 12760 11775 \n3 5833 5826 5810 \n3 8356 8361 8068 \n3 8492 8356 8068 \n3 8069 7795 8071 \n3 7486 7246 7249 \n3 2616 175 2605 \n3 8361 8497 8223 \n3 8237 8075 8503 \n3 8620 7656 9638 \n3 8075 8223 8503 \n3 14357 11266 12270 \n3 5183 3124 11687 \n3 6501 6612 5241 \n3 6893 12895 2158 \n3 7808 14094 14020 \n3 12771 8637 11766 \n3 8649 8369 8367 \n3 8794 12908 9837 \n3 5787 10770 6746 \n3 8499 7419 7935 \n3 8078 8234 7936 \n3 8337 8195 8336 \n3 8230 7670 8369 \n3 8366 7933 8228 \n3 8238 8080 7799 \n3 8366 8228 8230 \n3 8371 8238 8237 \n3 7679 8652 8086 \n3 3106 14663 11724 \n3 2941 7808 14020 \n3 14354 13297 13300 \n3 133 158 161 \n3 12843 3585 3538 \n3 10256 6018 1040 \n3 7419 7938 7935 \n3 8146 8295 8852 \n3 8508 2979 2978 \n3 12679 12676 14774 \n3 5034 7195 8926 \n3 7935 7938 8504 \n3 199 14899 11550 \n3 2847 3033 3015 \n3 6274 6425 6278 \n3 6043 1794 6131 \n3 13954 12896 13958 \n3 13453 14529 12478 \n3 8195 8197 7778 \n3 3675 2598 1374 \n3 8026 8586 8728 \n3 6085 6378 6502 \n3 2471 14315 14143 \n3 13867 13402 14288 \n3 8251 8093 8089 \n3 3124 3095 11687 \n3 2847 3015 2784 \n3 6729 5293 4060 \n3 10880 9802 10876 \n3 8088 8375 9384 \n3 10743 8608 8616 \n3 7956 8094 8252 \n3 2298 7324 11653 \n3 4649 1707 2691 \n3 2784 7644 7516 \n3 8513 8381 8096 \n3 7270 7392 6958 \n3 11314 10246 13336 \n3 8519 8515 8259 \n3 6404 8377 12764 \n3 8265 8098 8524 \n3 9945 11057 9959 \n3 7687 7682 8095 \n3 7814 8257 8659 \n3 8258 8264 8381 \n3 8381 8264 8096 \n3 8259 7689 8520 \n3 7251 3875 383 \n3 8098 8099 8524 \n3 8099 8260 8524 \n3 8281 8410 8124 \n3 5084 6354 6284 \n3 7315 8241 7679 \n3 11802 13752 2397 \n3 5227 7200 9126 \n3 8264 8258 8385 \n3 13958 12899 12587 \n3 9073 8628 9210 \n3 8051 7144 10088 \n3 7959 7689 8259 \n3 8104 8271 8272 \n3 8104 7443 8267 \n3 14297 13256 14295 \n3 12451 10361 9289 \n3 13057 14108 12038 \n3 8233 2357 2347 \n3 2307 14108 13057 \n3 7619 6712 10705 \n3 7432 7678 7552 \n3 7432 6825 7426 \n3 4909 14962 14932 \n3 11905 416 563 \n3 14381 14883 14642 \n3 7266 6969 6968 \n3 8676 8389 8109 \n3 10379 12441 10378 \n3 8277 7971 8392 \n3 14866 9245 1852 \n3 577 695 665 \n3 12825 14983 13842 \n3 5332 9841 8839 \n3 12682 13793 2702 \n3 6849 6845 6692 \n3 4064 9961 11062 \n3 8117 8402 8112 \n3 10848 7762 11893 \n3 9600 6705 10695 \n3 10695 10684 9600 \n3 7712 11213 8314 \n3 7333 12682 2702 \n3 8400 7699 8534 \n3 14283 12196 13237 \n3 7699 7463 8534 \n3 8541 8402 8117 \n3 8543 8280 8116 \n3 12873 12677 13101 \n3 8730 7765 5910 \n3 8499 9093 8649 \n3 8543 8699 8280 \n3 14675 9553 3194 \n3 138 1334 5954 \n3 10250 9575 10469 \n3 8693 8832 8692 \n3 7982 7840 8288 \n3 9010 8845 9415 \n3 4497 12617 6608 \n3 8543 8116 8526 \n3 7991 9006 8413 \n3 8146 7862 8295 \n3 7715 7991 8413 \n3 8286 8282 8130 \n3 8287 7979 8127 \n3 14299 11677 11840 \n3 8130 7989 7854 \n3 12037 2190 14101 \n3 3417 7320 3398 \n3 8420 8288 8549 \n3 8293 8292 8417 \n3 8127 8547 8287 \n3 8294 8138 8141 \n3 8292 8136 8417 \n3 1824 3377 3272 \n3 8292 8293 8551 \n3 11696 8558 9573 \n3 8558 11696 11701 \n3 13663 2784 2651 \n3 8139 8137 8292 \n3 6873 6282 6141 \n3 6284 6377 6279 \n3 8621 2502 6971 \n3 4674 9573 8558 \n3 8424 7868 8422 \n3 8560 8149 8153 \n3 6566 5238 6610 \n3 14049 10982 13011 \n3 14049 14054 10982 \n3 135 3183 2221 \n3 7881 7879 8431 \n3 8431 7879 8154 \n3 7868 8424 8428 \n3 7743 8307 8015 \n3 8312 8561 8158 \n3 8017 8157 8872 \n3 8015 8563 8310 \n3 8678 13237 12196 \n3 2635 13789 7312 \n3 8434 8435 8162 \n3 8311 8434 8162 \n3 7881 8431 8157 \n3 14049 13361 1744 \n3 2229 1977 1981 \n3 8872 8567 8017 \n3 8017 8567 7884 \n3 11665 8535 8529 \n3 2477 2465 47 \n3 336 8269 2760 \n3 5952 3798 14509 \n3 9866 9725 9446 \n3 7649 7766 7900 \n3 8317 8443 7894 \n3 8443 8169 7894 \n3 8575 8318 7755 \n3 8430 8164 9023 \n3 8438 8570 7890 \n3 8444 7895 8442 \n3 7850 7356 7603 \n3 8197 8195 8337 \n3 8444 8446 8030 \n3 2655 1644 1613 \n3 7565 8522 13709 \n3 12148 13188 13150 \n3 10069 10185 10194 \n3 1013 6827 5745 \n3 8881 8446 8444 \n3 8804 3236 8790 \n3 5632 11583 5162 \n3 14269 10769 14256 \n3 11350 10769 14269 \n3 10038 9872 9866 \n3 13476 7556 7768 \n3 14411 3421 9319 \n3 4808 12826 11850 \n3 7897 8024 8030 \n3 6786 5829 10814 \n3 9621 5743 6727 \n3 7534 8038 8037 \n3 12223 11210 13187 \n3 14630 14142 13712 \n3 9043 8181 8593 \n3 7907 8328 8457 \n3 1176 11498 11196 \n3 8187 8458 7771 \n3 8597 9047 8732 \n3 6670 6675 8743 \n3 8332 8334 8603 \n3 8191 8462 8333 \n3 10769 10594 10980 \n3 8333 8336 8193 \n3 7605 9805 3383 \n3 5899 6915 10460 \n3 8043 8191 7775 \n3 8333 8469 8336 \n3 137 147 241 \n3 1290 10934 9715 \n3 8469 8471 8336 \n3 8471 8472 8336 \n3 886 1053 924 \n3 7561 10635 9536 \n3 8198 8612 8338 \n3 604 11471 4979 \n3 7785 8049 8199 \n3 8199 8339 8198 \n3 5045 6377 6301 \n3 8343 8204 8340 \n3 2377 11843 3396 \n3 5816 10810 10803 \n3 7738 7617 8011 \n3 8483 8619 8207 \n3 12932 11964 1290 \n3 5535 5736 5633 \n3 8619 8617 8476 \n3 8481 8341 8343 \n3 8346 8058 8057 \n3 8058 8345 8482 \n3 7923 8212 8484 \n3 7788 8347 8213 \n3 8625 8755 8212 \n3 2186 5987 776 \n3 8061 8215 8627 \n3 8350 8627 8215 \n3 2977 7258 11547 \n3 10601 7521 10614 \n3 8067 8354 8217 \n3 8068 8065 8492 \n3 6747 10769 1783 \n3 8488 8490 8491 \n3 4880 4878 11596 \n3 5971 11963 8794 \n3 4546 964 2260 \n3 8635 8492 8489 \n3 8785 8501 8497 \n3 9062 8751 8483 \n3 11596 11977 4880 \n3 8065 7926 8490 \n3 8002 10014 10004 \n3 8336 8195 8193 \n3 8356 8492 8778 \n3 8639 8071 8640 \n3 14955 8329 3638 \n3 8369 8649 8502 \n3 8642 8640 8366 \n3 8494 8962 8497 \n3 11651 10941 11431 \n3 8499 7935 8787 \n3 10585 8468 10589 \n3 8366 8071 7933 \n3 8237 8503 8371 \n3 8501 8648 8498 \n3 14702 1278 14705 \n3 9377 7935 8504 \n3 8464 10585 7492 \n3 12281 14357 12270 \n3 5552 4408 5524 \n3 8502 8366 8369 \n3 8238 8371 8080 \n3 7941 8228 7940 \n3 8652 8375 8086 \n3 8082 8237 8238 \n3 8082 8075 8237 \n3 8374 8506 8241 \n3 9484 8477 8452 \n3 14624 4852 2761 \n3 10567 8452 9464 \n3 6746 11752 6745 \n3 12675 8522 12672 \n3 7954 7329 7814 \n3 7954 7814 8378 \n3 2784 3015 7644 \n3 1659 5471 4178 \n3 8982 8252 8094 \n3 8513 8977 8660 \n3 13954 11918 12896 \n3 8979 7956 8252 \n3 2934 660 9300 \n3 4917 4939 13439 \n3 9373 9225 9506 \n3 11438 11429 9218 \n3 9257 8830 9129 \n3 8557 6691 6693 \n3 12406 8453 13954 \n3 8980 8673 8381 \n3 8513 8660 8381 \n3 8094 8100 8982 \n3 8670 7686 8383 \n3 8659 8257 9109 \n3 8101 8521 8100 \n3 14522 630 2673 \n3 563 3352 11917 \n3 9832 9919 187 \n3 13978 11939 914 \n3 14877 9621 13785 \n3 14990 8363 4820 \n3 8258 8673 8988 \n3 8988 8385 8258 \n3 8102 8520 7689 \n3 9807 2255 14118 \n3 489 646 717 \n3 8095 8256 8383 \n3 13948 8453 12406 \n3 2934 9300 9266 \n3 13058 8577 2255 \n3 14333 13306 11840 \n3 8390 8273 8265 \n3 8104 8108 7443 \n3 5910 8752 14728 \n3 7426 7678 7432 \n3 12682 2941 13912 \n3 13538 5252 14498 \n3 8104 8272 8108 \n3 8391 8108 8272 \n3 8527 8273 8390 \n3 8526 8277 8392 \n3 7619 12718 10695 \n3 8275 8113 8399 \n3 8113 8400 8399 \n3 9014 9417 9267 \n3 6560 12611 14697 \n3 9417 9014 9415 \n3 8133 8282 8128 \n3 8405 8543 8526 \n3 13934 11900 13948 \n3 14246 14984 7851 \n3 8275 7826 7973 \n3 9120 10264 8076 \n3 8539 8534 8406 \n3 6293 6362 6328 \n3 10880 10876 9757 \n3 8406 7463 7701 \n3 8982 8521 9249 \n3 14101 13971 2255 \n3 7832 8116 8119 \n3 12694 9561 12690 \n3 11989 7410 10935 \n3 7701 8118 8406 \n3 6551 8411 8414 \n3 8410 9000 8539 \n3 10751 14808 10662 \n3 12583 11585 7842 \n3 8280 8119 8116 \n3 2248 5675 2256 \n3 8539 8118 8410 \n3 10758 11473 11467 \n3 9 2452 17 \n3 9257 9541 9127 \n3 8541 8286 8545 \n3 7666 7309 7667 \n3 2242 5210 2250 \n3 8698 8699 8544 \n3 3044 7317 11654 \n3 8130 8282 8133 \n3 13501 12559 10519 \n3 8131 7979 8287 \n3 8287 8548 8417 \n3 7088 13734 2651 \n3 8545 7854 8416 \n3 10167 3670 5847 \n3 8548 8287 8547 \n3 12153 2097 11379 \n3 8139 8292 8551 \n3 8418 8293 8417 \n3 8416 7997 8142 \n3 1764 12013 13014 \n3 1673 465 1688 \n3 1365 1145 1367 \n3 51 12846 11880 \n3 11877 11880 12846 \n3 3762 3224 3226 \n3 8553 8299 8148 \n3 6245 3483 4581 \n3 8861 9018 9019 \n3 10511 5500 9424 \n3 8307 8421 8861 \n3 8422 8712 8424 \n3 8089 7558 7810 \n3 11620 13916 11870 \n3 8303 8010 8299 \n3 6520 8380 10503 \n3 8560 8011 8562 \n3 12329 11924 4631 \n3 12968 14035 12986 \n3 10179 8097 11210 \n3 8158 8435 8312 \n3 8155 8561 8432 \n3 10671 9573 7590 \n3 8380 6528 13580 \n3 7075 6870 7067 \n3 13863 10818 11827 \n3 3464 3368 3253 \n3 6382 8225 8221 \n3 14434 14427 11346 \n3 8874 8561 8312 \n3 8569 8423 7882 \n3 8309 8875 8016 \n3 7331 7571 7456 \n3 8719 8311 8567 \n3 8568 8016 8875 \n3 8016 8568 9028 \n3 8438 8310 8868 \n3 6525 9400 10502 \n3 14561 13794 14324 \n3 7484 7488 657 \n3 8442 7890 8570 \n3 7889 8169 8569 \n3 3741 2617 2600 \n3 1712 1808 14284 \n3 6697 7077 6715 \n3 1743 2926 4021 \n3 8442 7895 7890 \n3 5590 4448 10233 \n3 557 2624 3028 \n3 9404 7418 6520 \n3 2178 12810 773 \n3 10823 13036 5784 \n3 8617 9190 8747 \n3 11523 13565 12553 \n3 8443 8317 8323 \n3 8601 8741 8463 \n3 8322 7892 7641 \n3 8855 10989 12962 \n3 8447 8891 8725 \n3 12814 9605 7550 \n3 8574 10867 4385 \n3 11283 9071 6999 \n3 11395 4963 7137 \n3 8325 8725 8450 \n3 8593 8181 8037 \n3 13891 9605 11842 \n3 8026 8728 8032 \n3 9186 4958 11436 \n3 448 473 447 \n3 7278 13209 12895 \n3 8032 8589 8592 \n3 8178 8325 8451 \n3 8033 8324 8449 \n3 8454 8895 8039 \n3 10825 14197 14213 \n3 1424 1312 1494 \n3 8041 8458 8456 \n3 8732 8456 8458 \n3 1608 8359 2819 \n3 4917 4919 4939 \n3 8459 8331 8330 \n3 9522 10614 7542 \n3 7653 7910 8043 \n3 8330 8331 7910 \n3 8331 8043 7910 \n3 8459 8600 8331 \n3 8461 8599 8188 \n3 9324 8606 8741 \n3 7667 7671 8080 \n3 8463 8333 8462 \n3 9044 9047 9173 \n3 8011 7617 7742 \n3 8463 8466 8333 \n3 1423 6009 2663 \n3 11799 14991 8009 \n3 7776 7416 8334 \n3 8463 8741 8466 \n3 9367 10475 5451 \n3 8605 8334 8467 \n3 8045 8467 8334 \n3 7913 7775 8193 \n3 8467 8609 8605 \n3 8667 13677 14778 \n3 13852 9568 13857 \n3 8890 8449 9159 \n3 8338 7779 7915 \n3 13677 10624 13683 \n3 5991 8855 9879 \n3 8467 8612 8609 \n3 9879 8855 12962 \n3 8469 8606 8610 \n3 8338 8045 7779 \n3 8466 8606 8469 \n3 8480 9011 500 \n3 9069 9206 9343 \n3 8207 8476 8339 \n3 8476 8617 8474 \n3 8474 8617 8747 \n3 8339 8474 8198 \n3 8479 8340 8749 \n3 9049 8735 9048 \n3 8207 8206 8483 \n3 7354 7472 7237 \n3 7486 7602 7601 \n3 8058 8482 8624 \n3 7819 11386 9186 \n3 8341 8346 8057 \n3 9842 9141 9270 \n3 8343 8340 8479 \n3 8345 8346 8753 \n3 12714 4059 14753 \n3 8341 8753 8346 \n3 8482 8916 8624 \n3 8624 9062 8483 \n3 8930 8485 8213 \n3 6131 10594 10703 \n3 1794 10594 6131 \n3 8487 8488 8630 \n3 11189 10937 11425 \n3 13476 9214 7129 \n3 6902 8949 6886 \n3 7530 7651 7899 \n3 8491 8633 8488 \n3 7652 7646 7902 \n3 8636 8778 8492 \n3 5424 7363 12481 \n3 8506 8243 8241 \n3 760 759 695 \n3 8628 8352 8485 \n3 7733 7610 7494 \n3 4053 14704 1751 \n3 3760 7141 7130 \n3 3760 4925 7141 \n3 1535 1975 1835 \n3 8366 8640 8071 \n3 8498 8227 8501 \n3 9093 8786 8649 \n3 8503 8497 8501 \n3 8787 7935 9377 \n3 8501 8785 8648 \n3 8366 8502 8642 \n3 9437 14893 5034 \n3 13734 7088 12000 \n3 7667 8080 8227 \n3 8239 8789 8504 \n3 2944 11751 12542 \n3 8763 10919 5953 \n3 2197 2195 2481 \n3 13260 1030 6573 \n3 9221 9087 9085 \n3 12542 11751 8316 \n3 8243 8506 8507 \n3 12447 5563 14503 \n3 9261 4333 7307 \n3 8509 7950 8969 \n3 14143 14146 11033 \n3 7679 8651 8652 \n3 10256 6043 6018 \n3 8243 8651 7679 \n3 2847 4772 3033 \n3 11341 4892 2779 \n3 7809 8092 8654 \n3 12618 13625 12600 \n3 7587 7841 7583 \n3 1540 6149 2763 \n3 10256 1496 10147 \n3 13434 13393 13430 \n3 9502 9788 9222 \n3 8377 1846 12764 \n3 2260 5039 5652 \n3 13477 9305 8301 \n3 9910 9620 9626 \n3 6886 6883 6896 \n3 9947 6086 7951 \n3 6441 6439 6384 \n3 4174 4177 4186 \n3 4556 7464 6238 \n3 14146 14116 14130 \n3 8271 8803 8672 \n3 8301 6437 13477 \n3 6433 8301 10398 \n3 5430 6473 8327 \n3 13549 5428 4911 \n3 13625 13589 12600 \n3 8100 8521 8982 \n3 6433 11435 11427 \n3 9126 11256 9130 \n3 8673 8258 8381 \n3 8985 8259 8520 \n3 8260 7960 8525 \n3 12328 10167 5847 \n3 8670 8383 8671 \n3 8524 8260 8525 \n3 8384 8271 8672 \n3 8107 8384 8266 \n3 2097 12153 3632 \n3 770 5922 638 \n3 8265 8523 8390 \n3 9109 8257 8989 \n3 8988 8392 8385 \n3 7009 2779 14869 \n3 8526 8995 8680 \n3 14584 1756 14571 \n3 14891 13759 10089 \n3 8278 8276 8527 \n3 8685 8121 8278 \n3 8402 8541 8682 \n3 3774 7145 4937 \n3 8538 8534 8539 \n3 468 411 610 \n3 8406 8118 8539 \n3 8534 8538 8825 \n3 8825 8399 8400 \n3 12760 5301 330 \n3 8329 13802 3638 \n3 7978 8121 7840 \n3 6896 14865 6918 \n3 14890 13767 11714 \n3 9925 14891 10089 \n3 8118 8123 8410 \n3 8836 8544 8405 \n3 8527 8685 8278 \n3 8543 8405 8544 \n3 693 830 730 \n3 8541 8545 8683 \n3 7307 6399 10330 \n3 13767 14890 12191 \n3 12697 12191 14890 \n3 14809 13716 13704 \n3 8247 12408 10320 \n3 8690 8697 8288 \n3 5394 7872 5400 \n3 8547 8280 8699 \n3 4852 6992 4803 \n3 8292 8137 8136 \n3 4792 9020 6999 \n3 8322 8451 8893 \n3 8699 8543 8544 \n3 10904 11616 11617 \n3 8288 8697 8549 \n3 8701 8545 8416 \n3 14669 9347 9329 \n3 8288 8420 8143 \n3 9812 14925 14184 \n3 8848 8704 8418 \n3 13419 8240 8262 \n3 8848 8851 8704 \n3 9402 8996 9406 \n3 7725 7730 7243 \n3 14043 4383 3396 \n3 8852 8295 8139 \n3 2839 7068 7129 \n3 10287 6381 7269 \n3 8857 8554 8146 \n3 9265 9133 8549 \n3 7587 7583 7698 \n3 8699 8548 8547 \n3 9133 8420 8549 \n3 8010 7876 8008 \n3 8861 8421 8554 \n3 13906 12846 51 \n3 8555 8298 8297 \n3 6009 9309 8115 \n3 5099 5108 9388 \n3 8556 7873 8430 \n3 8708 8303 8299 \n3 8708 8862 8303 \n3 10428 13430 13393 \n3 8149 8560 8297 \n3 11417 11330 8965 \n3 6999 9020 11283 \n3 13689 14349 13915 \n3 8216 6388 6374 \n3 7865 8007 8008 \n3 11992 12433 12855 \n3 4792 11240 9020 \n3 8187 8599 8458 \n3 8143 8420 8553 \n3 12001 12217 12668 \n3 8211 1475 8847 \n3 5990 6008 5554 \n3 7335 7328 7330 \n3 5256 13396 6512 \n3 14623 2769 2729 \n3 8312 8566 8874 \n3 14765 13646 14749 \n3 10022 10632 14159 \n3 8307 8563 8015 \n3 8719 8873 8311 \n3 8873 8434 8311 \n3 8434 8566 8435 \n3 8435 8566 8312 \n3 13743 13758 13773 \n3 9023 8556 8430 \n3 14256 10769 10980 \n3 8011 8432 8562 \n3 14769 13615 13853 \n3 8161 8567 8311 \n3 9019 8563 8307 \n3 911 10492 13543 \n3 11870 12827 13898 \n3 7755 8168 8575 \n3 2573 2664 2572 \n3 3285 1968 1982 \n3 9619 13916 11887 \n3 7541 6612 6501 \n3 11665 8529 9547 \n3 6360 7535 7557 \n3 8322 8578 7892 \n3 2285 270 2300 \n3 7550 9605 13891 \n3 8881 8444 8442 \n3 8884 8447 8583 \n3 2574 12242 525 \n3 8168 9036 8575 \n3 8728 8586 8727 \n3 11523 9400 4495 \n3 8448 8583 8447 \n3 8252 9392 8979 \n3 3156 14677 9588 \n3 8413 8840 8410 \n3 14496 12812 14490 \n3 13704 13716 11675 \n3 4595 4814 4817 \n3 8177 8583 8448 \n3 8727 8586 8318 \n3 8325 8175 8725 \n3 13704 11675 10633 \n3 8141 7255 7873 \n3 8888 8449 8324 \n3 6026 8072 14596 \n3 5912 4751 8013 \n3 8890 8583 8177 \n3 8589 8032 8728 \n3 8589 9168 8592 \n3 8455 8038 8456 \n3 8451 8325 8450 \n3 8455 8593 8037 \n3 8454 8592 8895 \n3 9724 9165 9868 \n3 897 4806 2325 \n3 6963 6955 8877 \n3 10418 11438 8189 \n3 8732 8458 8597 \n3 13873 14530 13412 \n3 8328 8895 8733 \n3 9044 8455 8456 \n3 8598 8733 8735 \n3 8735 8600 8598 \n3 8459 8598 8600 \n3 14795 9427 13706 \n3 8404 10461 1481 \n3 8461 8188 8332 \n3 2163 2247 3494 \n3 8602 8736 8461 \n3 8601 8462 8331 \n3 8905 8602 8461 \n3 8461 8603 8905 \n3 8970 13704 8689 \n3 8600 8739 8741 \n3 8600 8741 8601 \n3 8603 8604 8905 \n3 8601 8463 8462 \n3 8461 8332 8603 \n3 8603 8605 8604 \n3 3905 3560 3459 \n3 8901 8739 8735 \n3 8605 8607 8604 \n3 12504 6749 14537 \n3 9732 9593 9178 \n3 8741 8606 8466 \n3 4273 12305 4743 \n3 8045 8338 8467 \n3 8605 8609 8607 \n3 9742 10709 9746 \n3 1059 5960 1052 \n3 8610 8471 8469 \n3 8207 8619 8476 \n3 8613 8610 9325 \n3 6890 6869 2629 \n3 8908 8744 9056 \n3 8606 9325 8610 \n3 6050 7914 8887 \n3 9007 4738 6874 \n3 8244 8509 8793 \n3 13776 10205 10089 \n3 9835 8678 9813 \n3 8612 8474 8747 \n3 1783 11350 11379 \n3 8955 8636 8635 \n3 8530 71 8669 \n3 8492 8635 8636 \n3 12714 13695 4087 \n3 8182 8159 9200 \n3 13850 14991 11799 \n3 9061 8753 8481 \n3 2692 3136 2693 \n3 7948 5889 10209 \n3 4523 14581 8677 \n3 8212 8061 8625 \n3 8482 8345 8753 \n3 8212 8755 8484 \n3 8491 8217 8354 \n3 8626 8347 8484 \n3 8626 8213 8347 \n3 8930 8213 8626 \n3 9067 9197 8627 \n3 8764 8627 8350 \n3 9073 8764 8350 \n3 8769 8950 8632 \n3 2127 4407 3283 \n3 13646 13677 13683 \n3 8942 8630 8629 \n3 7557 6354 6360 \n3 13646 14765 13677 \n3 8628 8350 8352 \n3 1042 36 1063 \n3 1081 10010 1082 \n3 8632 8630 8769 \n3 8488 8633 8629 \n3 9185 10247 7239 \n3 8632 8487 8630 \n3 8629 8630 8488 \n3 13826 13811 13824 \n3 8635 8489 8632 \n3 11627 13676 14748 \n3 1094 88 1102 \n3 9979 7072 11062 \n3 8490 8217 8491 \n3 14949 5389 8351 \n3 13263 6869 6890 \n3 8628 8485 8933 \n3 10938 8788 5953 \n3 8354 8493 8633 \n3 9088 8955 9086 \n3 11313 9200 8159 \n3 13430 14501 13434 \n3 14407 13957 14404 \n3 10891 12919 12911 \n3 4021 14610 1743 \n3 11238 7668 4804 \n3 8378 7814 8659 \n3 8960 8494 8778 \n3 9236 8088 9384 \n3 7493 7490 7734 \n3 1525 3474 2186 \n3 9504 8960 8778 \n3 13668 13641 12637 \n3 4501 4640 14366 \n3 8780 8495 8961 \n3 8198 7915 7781 \n3 9142 9428 9143 \n3 9089 8493 9373 \n3 5419 14744 1408 \n3 8361 8494 8497 \n3 7803 8082 8238 \n3 8382 8513 8096 \n3 8786 8640 8642 \n3 13610 12559 14749 \n3 8495 8639 8640 \n3 10244 8145 8126 \n3 14748 12618 11627 \n3 10484 10265 10046 \n3 11339 12357 8216 \n3 1909 12879 855 \n3 13652 13676 12641 \n3 5757 14980 5766 \n3 9963 10630 11578 \n3 8506 8791 9656 \n3 8506 8234 8791 \n3 14749 13646 13610 \n3 8651 8243 8507 \n3 12968 1807 6393 \n3 14649 14900 7258 \n3 1540 3836 8290 \n3 8089 9236 8251 \n3 8089 8088 9236 \n3 1007 13628 12608 \n3 8251 8802 8267 \n3 8514 8662 8382 \n3 8514 8515 8662 \n3 8662 8515 8519 \n3 8803 8267 8802 \n3 4039 4040 4139 \n3 7130 2718 3760 \n3 11047 13104 9846 \n3 6433 10398 11435 \n3 9094 9808 9230 \n3 8509 8244 7950 \n3 10398 8301 9305 \n3 8980 8381 8660 \n3 10755 13695 11736 \n3 7960 8986 8525 \n3 14752 11606 8360 \n3 8256 8671 8383 \n3 8803 8271 8267 \n3 9126 7200 11256 \n3 2317 14576 14581 \n3 10179 10195 8126 \n3 4101 4195 3978 \n3 8986 7960 8670 \n3 9148 9562 9706 \n3 8266 8807 8521 \n3 8524 8525 8523 \n3 8266 8384 8807 \n3 8985 9823 9242 \n3 8527 8390 8818 \n3 7435 1807 12968 \n3 9409 9123 8523 \n3 8393 8676 8109 \n3 8392 8811 8526 \n3 11553 14692 13543 \n3 2076 7684 5482 \n3 8422 8298 8555 \n3 8399 8825 8824 \n3 2889 2893 6313 \n3 9669 9249 9675 \n3 7705 7578 7342 \n3 8828 8824 8825 \n3 7269 8209 10287 \n3 13183 3209 8090 \n3 8112 8682 8679 \n3 8682 8683 8820 \n3 8679 8682 8820 \n3 11213 11787 14708 \n3 5205 5207 10192 \n3 8063 4132 9060 \n3 8400 8534 8825 \n3 8573 11722 8582 \n3 8829 8836 8680 \n3 8998 8121 8685 \n3 2178 773 5959 \n3 8538 8830 8825 \n3 8818 8523 9123 \n3 8545 8694 8686 \n3 7840 8121 8998 \n3 4001 3672 1698 \n3 8830 8538 8833 \n3 8833 9129 8830 \n3 9082 5179 11204 \n3 574 615 691 \n3 8690 7840 8998 \n3 8107 8106 7830 \n3 7879 7746 7509 \n3 8686 8694 8692 \n3 7034 11556 14648 \n3 8692 8694 8838 \n3 8544 8836 9005 \n3 13235 11183 13192 \n3 8694 8841 8838 \n3 8880 9440 9295 \n3 8545 8701 8694 \n3 8694 8701 8841 \n3 9141 8556 9702 \n3 7985 7979 8131 \n3 8835 9004 8836 \n3 8401 8411 8408 \n3 5584 6606 4587 \n3 8127 8280 8547 \n3 6411 6501 5201 \n3 6009 3706 2663 \n3 8418 8548 8848 \n3 42 65 62 \n3 1588 5584 3576 \n3 10089 13759 13776 \n3 4710 8883 2591 \n3 9084 7163 9074 \n3 9006 8294 9131 \n3 9006 7991 8294 \n3 8416 8142 8707 \n3 7831 8108 8391 \n3 8701 8416 8707 \n3 10513 9624 10731 \n3 8878 9928 8897 \n3 13296 2654 871 \n3 8294 8141 9842 \n3 8141 9141 9842 \n3 5420 7942 4149 \n3 8848 9008 9012 \n3 8852 8139 8551 \n3 2724 2689 4786 \n3 5798 10204 9251 \n3 13133 13129 12494 \n3 12494 12048 13133 \n3 13989 14013 26 \n3 1636 2651 12456 \n3 8924 770 638 \n3 4142 12179 7157 \n3 13916 146 11887 \n3 8710 9284 9273 \n3 5563 12388 5485 \n3 7155 4132 2188 \n3 6185 10079 8044 \n3 8166 8310 8438 \n3 8307 8861 9019 \n3 8553 9016 8708 \n3 8880 8879 8892 \n3 9423 8862 8708 \n3 9275 9279 8431 \n3 7731 7479 8001 \n3 5967 3792 10293 \n3 8656 12130 11102 \n3 11367 10305 9132 \n3 8431 8862 9275 \n3 8432 9287 8562 \n3 9143 8868 8563 \n3 9320 638 5798 \n3 11353 12043 11114 \n3 2005 13090 13445 \n3 6209 10096 10087 \n3 8875 8309 8428 \n3 8873 8566 8434 \n3 9026 8875 8428 \n3 8932 6022 11021 \n3 8729 6680 14591 \n3 8872 9150 8567 \n3 13755 7202 5663 \n3 4105 6040 595 \n3 8046 10087 10055 \n3 6209 10087 8046 \n3 10088 7144 8042 \n3 8569 8169 8892 \n3 5386 12345 14435 \n3 8569 8879 8717 \n3 8036 1102 6187 \n3 11313 8159 8145 \n3 10431 9281 7142 \n3 8084 11577 7095 \n3 14885 14883 13495 \n3 10772 10992 10766 \n3 6245 4581 13560 \n3 258 8883 8866 \n3 8175 8447 8725 \n3 9892 10073 9608 \n3 8575 9036 9306 \n3 8318 8575 9306 \n3 14663 7361 11724 \n3 8447 8884 8891 \n3 13361 14049 13011 \n3 11146 8029 11164 \n3 4609 4610 3934 \n3 12607 1334 3648 \n3 8011 7742 8432 \n3 9441 9038 8891 \n3 8323 9163 9040 \n3 12504 13528 6749 \n3 8587 9163 8323 \n3 8450 8893 8451 \n3 9160 8893 9439 \n3 6043 10256 1794 \n3 8450 8725 9038 \n3 8435 8158 7625 \n3 7440 5513 4538 \n3 8449 8890 8177 \n3 9163 8587 9043 \n3 9160 8578 8322 \n3 9168 8895 8592 \n3 8593 8455 9044 \n3 12106 8021 9021 \n3 14589 9360 9358 \n3 8895 8328 8039 \n3 14159 6159 10022 \n3 6886 6918 6902 \n3 8029 11146 9017 \n3 8598 8457 8733 \n3 8599 8734 8458 \n3 14522 12392 14509 \n3 71 13950 8669 \n3 7908 8457 8459 \n3 8459 8457 8598 \n3 11344 2931 1403 \n3 10050 6168 11111 \n3 12326 13366 10309 \n3 8599 8461 8736 \n3 13346 6711 13335 \n3 12579 2620 3658 \n3 8906 8741 8739 \n3 7812 12288 4743 \n3 9701 10814 5839 \n3 8604 8744 8742 \n3 7879 7881 7746 \n3 9184 8742 8908 \n3 8744 8609 9056 \n3 9257 8828 8830 \n3 8609 8911 9056 \n3 11073 10845 9943 \n3 8604 8607 8744 \n3 7535 6362 7546 \n3 8746 8610 8613 \n3 8609 8744 8607 \n3 8481 8753 8341 \n3 2506 2516 4612 \n3 9058 8615 8746 \n3 9263 11491 10519 \n3 13561 4217 12710 \n3 8913 8619 8751 \n3 8619 8913 8617 \n3 8674 8705 8677 \n3 6890 4795 9001 \n3 9332 8481 8479 \n3 1488 1709 1626 \n3 9332 9061 8481 \n3 8916 9062 8624 \n3 8917 8482 8753 \n3 7680 8650 10790 \n3 13625 7515 13589 \n3 9611 9193 9065 \n3 8756 8754 8922 \n3 8756 8921 8754 \n3 3762 3226 3229 \n3 8248 1780 14794 \n3 12505 14434 14424 \n3 11472 13453 12478 \n3 10731 9624 9482 \n3 8003 7998 9992 \n3 7287 7284 7279 \n3 8061 9197 8625 \n3 12185 663 7512 \n3 10014 8002 6148 \n3 8485 8930 8933 \n3 8756 9069 9207 \n3 8349 13833 13826 \n3 7743 7513 7623 \n3 8756 9207 8921 \n3 9073 8350 8628 \n3 8762 9203 9199 \n3 10058 2911 9766 \n3 9147 7219 5247 \n3 14501 14492 13434 \n3 8629 9221 8945 \n3 8630 8946 8769 \n3 10092 9618 9762 \n3 5648 3360 4489 \n3 6644 14838 8661 \n3 8630 8942 8946 \n3 14778 13677 14765 \n3 14051 5460 9794 \n3 8629 9087 9221 \n3 11069 7073 7983 \n3 10246 6325 9169 \n3 8950 8773 8632 \n3 8513 8382 8977 \n3 8633 9087 8629 \n3 10776 10772 10316 \n3 8955 8635 8773 \n3 8633 8957 9087 \n3 4727 1281 1306 \n3 2522 4619 6774 \n3 1587 3565 2622 \n3 8955 8951 9086 \n3 10559 11606 14752 \n3 9088 9504 8778 \n3 9093 8961 8786 \n3 405 14044 5447 \n3 8778 8494 8356 \n3 8639 8780 8493 \n3 8636 8955 9088 \n3 4102 3868 4199 \n3 9040 9162 9442 \n3 13536 12660 9090 \n3 8497 8962 8785 \n3 8224 9092 9376 \n3 8224 8498 9092 \n3 2936 4405 4579 \n3 8787 9093 8499 \n3 13641 13668 14757 \n3 14483 12401 14479 \n3 7444 5236 6406 \n3 9094 8078 8224 \n3 8789 9377 8504 \n3 10577 11597 9407 \n3 11310 13317 9166 \n3 8972 7977 6110 \n3 8078 8791 8234 \n3 12031 8899 12023 \n3 9537 10423 9982 \n3 11641 9510 10614 \n3 8651 9099 8652 \n3 9659 8244 8793 \n3 13434 14480 13393 \n3 14266 14286 13225 \n3 8795 8375 8652 \n3 1978 11783 3141 \n3 3294 4556 6238 \n3 13965 380 3421 \n3 8230 8369 8366 \n3 14181 14196 5652 \n3 2615 2602 2723 \n3 8969 8793 8509 \n3 8657 8974 8378 \n3 9375 106 14959 \n3 8092 8378 8974 \n3 8657 8378 8659 \n3 10281 9746 11179 \n3 7951 11058 9947 \n3 6680 13063 13071 \n3 8659 9109 9237 \n3 8095 8518 8806 \n3 9968 9660 9234 \n3 12388 13406 5485 \n3 10730 8582 13782 \n3 8982 9249 8984 \n3 6455 6534 7546 \n3 8256 9110 8671 \n3 8256 8806 9110 \n3 8521 8807 9249 \n3 10790 8650 10778 \n3 8672 9397 8384 \n3 6683 14591 6680 \n3 8808 8102 8809 \n3 8102 8808 8520 \n3 10286 11434 11194 \n3 13394 5778 13406 \n3 9786 9500 9359 \n3 13767 13779 11714 \n3 9115 7207 10175 \n3 13576 4911 8314 \n3 8676 8681 9125 \n3 8175 8448 8447 \n3 5206 4832 4935 \n3 8211 8847 2718 \n3 8681 8823 9125 \n3 8680 8995 9252 \n3 9757 10876 8740 \n3 8824 8823 8681 \n3 8826 8685 8527 \n3 8686 8692 8996 \n3 12404 13393 14457 \n3 13923 14857 14129 \n3 9406 8996 8832 \n3 8827 9255 8823 \n3 8899 6990 8886 \n3 1644 2655 2658 \n3 13174 6249 9103 \n3 8832 8693 8829 \n3 8836 8829 8693 \n3 8825 8830 8828 \n3 14767 3665 3678 \n3 5541 14439 12416 \n3 9734 9598 10053 \n3 7829 6938 10964 \n3 8683 8545 8686 \n3 8999 8539 9000 \n3 8690 8998 9003 \n3 13304 36 1042 \n3 14439 13394 13385 \n3 8105 11787 8335 \n3 6377 6439 6467 \n3 13304 1042 1038 \n3 8693 8838 8835 \n3 9823 10210 8978 \n3 8932 6080 6022 \n3 9000 8410 8840 \n3 8838 9004 8835 \n3 8835 8836 8693 \n3 9413 9000 8840 \n3 1915 7138 4457 \n3 12411 13393 12404 \n3 8281 8413 8410 \n3 5584 4587 3576 \n3 8841 8845 8838 \n3 8929 8918 9928 \n3 14090 13029 12033 \n3 5726 13312 13321 \n3 9928 12014 8897 \n3 9326 4414 8321 \n3 11128 13150 11101 \n3 14427 14907 11346 \n3 10019 9571 9853 \n3 8848 9014 8851 \n3 731 739 6745 \n3 6842 13149 8935 \n3 6297 6438 6440 \n3 8690 9003 8697 \n3 4674 2721 9573 \n3 9139 8551 8293 \n3 8852 9140 8853 \n3 6683 8771 6675 \n3 8112 8402 8682 \n3 11556 7034 10539 \n3 8554 8857 8861 \n3 9724 10032 9863 \n3 4854 1905 10863 \n3 6331 6017 6183 \n3 6997 9928 8878 \n3 8863 9022 9278 \n3 11865 6822 10749 \n3 5414 5288 14094 \n3 9022 8863 8560 \n3 8710 8423 9284 \n3 9146 8424 8712 \n3 11058 7048 8973 \n3 4475 4472 8373 \n3 8886 10993 9927 \n3 8877 8887 8889 \n3 8869 8431 9279 \n3 110 1281 3585 \n3 8857 9559 8861 \n3 8561 8870 8432 \n3 8566 8873 9288 \n3 12345 14418 14402 \n3 9287 8432 8870 \n3 8868 9143 9428 \n3 11364 12380 8225 \n3 12927 13993 11986 \n3 1526 2763 3806 \n3 9754 9897 9893 \n3 12130 14194 13164 \n3 10083 11164 8036 \n3 8578 9157 8876 \n3 10096 14185 14181 \n3 8712 8297 8863 \n3 8555 8297 8712 \n3 14242 11141 13202 \n3 8889 7893 8865 \n3 8888 9158 9299 \n3 8571 7892 8578 \n3 8890 9159 9035 \n3 7136 6159 14159 \n3 8583 8890 9035 \n3 2348 14830 6642 \n3 6801 6800 6983 \n3 4159 3487 4532 \n3 4654 258 8866 \n3 8322 8893 9160 \n3 14402 12306 11320 \n3 2145 5920 12687 \n3 8589 8728 9164 \n3 9164 9168 8589 \n3 10060 9604 9739 \n3 8587 8181 9043 \n3 9880 9855 11984 \n3 11659 13704 10633 \n3 9311 9167 9171 \n3 8456 8732 9044 \n3 8458 8734 8597 \n3 11873 9773 3837 \n3 6955 7863 8877 \n3 9049 9318 9177 \n3 9735 9733 9599 \n3 8734 8904 9051 \n3 8485 7789 7924 \n3 8736 8602 8904 \n3 8736 8904 8734 \n3 8741 8906 9324 \n3 9054 8904 8905 \n3 8905 8742 9054 \n3 8602 8905 8904 \n3 8739 8600 8735 \n3 8739 8901 8906 \n3 8606 9324 8907 \n3 13677 14790 10624 \n3 5190 5536 718 \n3 8911 8609 8612 \n3 8910 8746 8613 \n3 10007 10453 10239 \n3 8215 7786 7925 \n3 9191 8615 9058 \n3 9058 8746 8910 \n3 4464 4476 5689 \n3 3416 5017 3450 \n3 3588 11060 8846 \n3 9472 8753 9061 \n3 8482 8917 8916 \n3 9472 8917 8753 \n3 9475 8754 9193 \n3 9470 9191 9466 \n3 9193 8754 9065 \n3 14916 13856 9515 \n3 8754 8921 9065 \n3 7449 3645 2679 \n3 6276 451 3960 \n3 8626 8484 9337 \n3 14366 4743 12288 \n3 9066 8762 9199 \n3 7996 8002 10004 \n3 7279 1619 7287 \n3 9066 8759 8762 \n3 1835 1975 1976 \n3 6269 7911 4065 \n3 8626 9337 8925 \n3 8626 8925 8930 \n3 8755 8625 9476 \n3 8627 9481 9067 \n3 8931 9480 9203 \n3 8931 8762 8761 \n3 10042 9872 10041 \n3 10446 10439 6473 \n3 9073 9349 8764 \n3 12921 12932 12919 \n3 9481 8627 8764 \n3 4533 4539 14838 \n3 9078 8941 8938 \n3 8931 9203 8762 \n3 8938 8939 8936 \n3 14662 5181 7339 \n3 8941 8939 8938 \n3 5622 7112 9218 \n3 14537 14501 13430 \n3 9078 9077 8941 \n3 8764 9349 9626 \n3 9463 9745 9741 \n3 2347 8372 8233 \n3 8941 8944 8939 \n3 9602 9739 9604 \n3 9792 9955 9645 \n3 8939 8942 8945 \n3 8946 8944 9079 \n3 4028 8856 4188 \n3 10914 12935 1953 \n3 13469 13466 688 \n3 14482 4772 2847 \n3 6643 2348 6642 \n3 8942 8629 8945 \n3 8944 8946 8942 \n3 8946 9079 9080 \n3 8769 8946 9080 \n3 8950 9368 8951 \n3 4905 8800 11959 \n3 9037 2357 8233 \n3 8951 8773 8950 \n3 12253 13290 12259 \n3 14284 1808 14290 \n3 8951 8955 8773 \n3 9848 12992 14026 \n3 2749 1526 3806 \n3 8780 8639 8495 \n3 8958 9089 9087 \n3 9506 9795 9373 \n3 5962 9837 8774 \n3 12902 8781 4905 \n3 10438 10444 10666 \n3 8640 8786 8961 \n3 8611 6441 6354 \n3 8963 8785 8962 \n3 941 1536 3834 \n3 13089 14512 13104 \n3 13866 14289 14785 \n3 8788 10938 8801 \n3 9779 9492 9942 \n3 14316 12235 13272 \n3 8789 8792 9227 \n3 9392 8252 9666 \n3 1534 484 3522 \n3 13352 14869 11289 \n3 4051 9841 5332 \n3 8507 9656 9658 \n3 8507 8506 9656 \n3 9802 9833 7807 \n3 10404 2429 9314 \n3 10165 10164 10374 \n3 14949 14962 4909 \n3 10424 11361 10425 \n3 11304 11527 11747 \n3 2837 3399 3078 \n3 7993 8416 7854 \n3 8978 9525 8981 \n3 8519 8978 8662 \n3 9516 8974 8657 \n3 7685 10033 8816 \n3 8382 8662 8981 \n3 7635 8596 5747 \n3 7797 9802 7807 \n3 8264 8385 8103 \n3 8335 11787 11213 \n3 8673 8980 9107 \n3 8340 8615 8749 \n3 8518 8979 9108 \n3 6788 11832 9701 \n3 9639 9497 9215 \n3 9114 8986 8671 \n3 8671 9110 9114 \n3 8596 8582 10730 \n3 7947 7674 7677 \n3 8807 9401 9249 \n3 8259 8985 8519 \n3 14240 14973 14975 \n3 9537 9248 8808 \n3 8520 9248 8985 \n3 7828 10285 9053 \n3 6424 11432 10399 \n3 13834 14671 12435 \n3 7163 9091 6242 \n3 10507 7251 12569 \n3 9112 9246 9247 \n3 8809 8389 9124 \n3 8523 9118 9409 \n3 8820 9122 8679 \n3 9109 8989 9250 \n3 9124 8389 8676 \n3 10412 9976 10415 \n3 9125 9124 8676 \n3 8820 8996 9122 \n3 8680 9252 8829 \n3 8829 9406 8832 \n3 9406 8829 9252 \n3 8820 8683 8996 \n3 13232 11188 9939 \n3 8996 8683 8686 \n3 8997 9125 8823 \n3 10651 11130 10881 \n3 1038 1019 13264 \n3 8824 8827 8823 \n3 13528 11564 13589 \n3 12615 3983 14779 \n3 5635 1640 601 \n3 9000 8833 8999 \n3 2168 4480 6716 \n3 7997 7735 8142 \n3 12038 14089 12033 \n3 4458 8574 2275 \n3 9883 8831 12944 \n3 8698 8544 9005 \n3 8000 7995 7727 \n3 8926 3199 1177 \n3 9005 9004 9008 \n3 2348 8647 8595 \n3 5418 11456 7357 \n3 9009 8549 8697 \n3 8549 9009 9265 \n3 8845 9010 9004 \n3 2333 2539 2340 \n3 3411 2124 3413 \n3 9010 9012 9008 \n3 9083 8090 8063 \n3 10021 10249 9851 \n3 12895 14445 2158 \n3 12000 3632 14413 \n3 8838 8845 9004 \n3 9131 8294 9842 \n3 10863 1905 5869 \n3 7590 9573 2721 \n3 12247 13297 4140 \n3 8701 9268 8841 \n3 8841 9268 8845 \n3 8878 7893 6985 \n3 8886 7005 9901 \n3 9140 8852 8551 \n3 8851 9139 8704 \n3 8539 8999 8538 \n3 5190 121 8214 \n3 9996 9543 9545 \n3 13832 13375 13141 \n3 1714 5493 5503 \n3 8710 9273 8707 \n3 8297 8560 8863 \n3 4713 2084 996 \n3 10261 10035 10687 \n3 8698 8548 8699 \n3 8548 8698 9008 \n3 9295 9027 8879 \n3 6822 9770 8715 \n3 8323 7896 8587 \n3 11346 14907 14435 \n3 9017 11110 9013 \n3 9023 9702 8556 \n3 9856 11986 13993 \n3 8560 8562 9022 \n3 9901 10993 8886 \n3 9423 9016 9416 \n3 9270 9847 9842 \n3 2268 2371 2480 \n3 5769 4676 5822 \n3 5338 5630 5431 \n3 4434 14820 6540 \n3 8995 8988 8805 \n3 8871 8868 9428 \n3 9150 8719 8567 \n3 9024 8874 8566 \n3 9148 8872 8869 \n3 12848 13316 11983 \n3 8868 8310 8563 \n3 4270 4247 3144 \n3 9148 8869 9279 \n3 5869 4818 9063 \n3 9435 8875 9026 \n3 9026 9572 9435 \n3 10449 9550 9697 \n3 8870 8561 8874 \n3 7546 6534 6584 \n3 8879 8569 8892 \n3 2547 132 4722 \n3 7691 7692 7749 \n3 8881 9294 8882 \n3 8878 10989 8855 \n3 14413 3632 10467 \n3 4811 8687 8700 \n3 3853 4808 11850 \n3 8438 8871 8570 \n3 12140 11141 14242 \n3 768 2030 4290 \n3 7492 10585 9485 \n3 9035 8884 8583 \n3 8725 8891 9038 \n3 8533 6530 4393 \n3 9033 8449 8888 \n3 11656 10946 11895 \n3 6610 5293 7696 \n3 6106 4325 2073 \n3 10313 10311 10309 \n3 8018 8441 8168 \n3 2548 221 6783 \n3 8892 9040 9442 \n3 10047 10263 10697 \n3 9725 8727 9306 \n3 9581 8727 9725 \n3 3392 370 13930 \n3 4046 6731 6750 \n3 9449 9168 9164 \n3 10818 8971 8675 \n3 7565 7547 8522 \n3 13731 4217 8588 \n3 13366 13370 10313 \n3 8895 9168 9172 \n3 8727 9164 8728 \n3 5834 6788 5839 \n3 14498 3033 14535 \n3 524 3555 2173 \n3 9017 8019 8029 \n3 9589 9454 9313 \n3 9046 9048 8895 \n3 9172 9046 8895 \n3 13356 14403 12326 \n3 9048 8733 8895 \n3 1302 14909 2298 \n3 9318 9049 9046 \n3 9046 9049 9048 \n3 9050 9047 8734 \n3 6584 7607 7557 \n3 9050 8734 9051 \n3 9050 9174 9316 \n3 8597 8734 9047 \n3 9453 9590 9877 \n3 9054 9051 8904 \n3 12197 14388 14389 \n3 13346 13335 12306 \n3 9180 9178 9054 \n3 9180 9457 9178 \n3 8655 13163 14203 \n3 9180 8742 9323 \n3 8202 8340 8204 \n3 8789 8239 8792 \n3 8499 8649 8367 \n3 9599 9180 9323 \n3 11101 3082 8645 \n3 8908 9056 9188 \n3 14191 3082 14580 \n3 9943 10843 11073 \n3 9555 12769 13843 \n3 9056 9189 9188 \n3 8910 8613 9325 \n3 13708 8505 12710 \n3 4425 9358 2463 \n3 2969 549 2976 \n3 9467 9190 8913 \n3 2081 13633 5193 \n3 6792 6760 3381 \n3 9191 9332 8749 \n3 9334 8913 8751 \n3 8751 9062 9334 \n3 8479 8749 9332 \n3 9193 9194 9475 \n3 9476 8625 9197 \n3 7680 10791 5805 \n3 8596 7635 8582 \n3 9201 8922 9612 \n3 13275 12968 11989 \n3 7676 1814 10803 \n3 14434 10321 10313 \n3 4260 4363 2162 \n3 12915 12853 10902 \n3 8754 9475 8922 \n3 8827 8824 8828 \n3 14561 14161 13794 \n3 6684 7029 6835 \n3 7915 7302 7781 \n3 9348 9073 9210 \n3 11285 4501 14366 \n3 1808 14299 14290 \n3 9482 9206 9201 \n3 8938 8936 9495 \n3 9206 8922 9201 \n3 9364 9215 8936 \n3 5976 8813 5971 \n3 8938 9357 9078 \n3 10281 9607 9749 \n3 11302 11050 10831 \n3 9359 9077 9078 \n3 9840 9844 14474 \n3 8945 9217 9076 \n3 9076 8939 8945 \n3 8941 9077 9079 \n3 9077 9216 9079 \n3 8367 7419 8499 \n3 8944 8941 9079 \n3 4280 5193 4663 \n3 9086 9645 9088 \n3 9217 9365 9501 \n3 12682 13912 13793 \n3 4346 6498 13441 \n3 2084 3060 2068 \n3 11491 12447 14503 \n3 9370 9085 9087 \n3 12269 10137 4372 \n3 9089 9370 9087 \n3 4501 12269 4372 \n3 8493 8958 8957 \n3 7073 11069 8973 \n3 9087 8957 8958 \n3 7961 5489 7987 \n3 3730 729 8248 \n3 9088 8778 8636 \n3 6498 6457 13441 \n3 4713 13220 4756 \n3 6471 13089 13104 \n3 12247 10062 13297 \n3 8792 9659 9232 \n3 8785 8963 8648 \n3 3030 3035 3036 \n3 13954 8453 11918 \n3 13663 13734 13411 \n3 4743 12305 7812 \n3 9666 8252 8982 \n3 8789 9227 9806 \n3 9230 8791 9094 \n3 10423 9537 10213 \n3 11379 11350 14269 \n3 7089 7996 7983 \n3 7983 4073 7089 \n3 8452 6606 5584 \n3 4205 13411 13734 \n3 9234 8795 8652 \n3 8969 8654 9235 \n3 8293 8418 8704 \n3 11844 11149 12515 \n3 13349 11317 8179 \n3 6734 6724 9633 \n3 13077 14146 14130 \n3 13077 11033 14146 \n3 6489 6650 6361 \n3 8802 8251 9520 \n3 9189 9463 9188 \n3 8660 8977 9105 \n3 8977 8981 9389 \n3 4966 6158 3829 \n3 8978 8519 9242 \n3 8979 9392 9240 \n3 14062 14289 13866 \n3 8803 8802 8983 \n3 9524 8672 8983 \n3 13776 13759 11715 \n3 8530 829 9096 \n3 8101 8266 8521 \n3 9977 9528 9974 \n3 8982 8984 9666 \n3 9956 10184 10620 \n3 8518 9108 8806 \n3 9956 9793 9372 \n3 4677 2477 4682 \n3 8672 9524 9533 \n3 9397 8672 9534 \n3 9396 9110 8806 \n3 12269 4501 11285 \n3 12153 11379 14292 \n3 9401 8807 8384 \n3 10705 12718 7619 \n3 7462 7571 7216 \n3 9397 9401 8384 \n3 9252 8995 9247 \n3 13057 12038 11013 \n3 9118 8986 9121 \n3 9408 9121 8986 \n3 9250 8679 9122 \n3 9250 9122 9394 \n3 8986 9118 8525 \n3 9252 9399 9406 \n3 9781 12037 14101 \n3 10825 10980 10594 \n3 9324 8906 9183 \n3 3859 4893 8726 \n3 14101 11015 9781 \n3 4245 4251 4918 \n3 9816 9662 10407 \n3 9540 8818 9123 \n3 6643 8647 2348 \n3 8647 6643 12997 \n3 9540 9123 9683 \n3 11187 12737 11886 \n3 9258 8826 9540 \n3 2459 2506 8775 \n3 8692 8832 8996 \n3 8818 9540 8527 \n3 8827 8828 9127 \n3 9258 8998 8826 \n3 10706 4260 4209 \n3 7063 2803 9095 \n3 8833 8538 8999 \n3 13209 14445 12895 \n3 7949 6080 8932 \n3 8128 7843 8129 \n3 13906 14974 13899 \n3 8697 9003 9009 \n3 9545 9262 9996 \n3 9446 9579 9866 \n3 9004 9005 8836 \n3 8698 9005 9008 \n3 4910 5279 5560 \n3 14041 10956 13009 \n3 9591 10686 7606 \n3 11564 12600 13589 \n3 9131 8840 9006 \n3 12033 14089 14090 \n3 9010 9415 9014 \n3 11332 11557 11552 \n3 9014 9012 9010 \n3 1839 6889 14304 \n3 7606 5719 8558 \n3 10797 10332 10323 \n3 9268 9551 8845 \n3 8845 9551 9415 \n3 9759 9758 11894 \n3 6566 6604 6584 \n3 9947 8918 8929 \n3 11665 10652 8535 \n3 9550 9559 8857 \n3 718 121 5190 \n3 6218 383 3875 \n3 9267 8851 9014 \n3 9016 8553 9133 \n3 1894 3853 10837 \n3 9550 8146 8853 \n3 8857 8146 9550 \n3 8708 8299 8553 \n3 9018 8861 9559 \n3 9605 8395 11842 \n3 12013 12018 13014 \n3 10594 1794 10825 \n3 9291 8570 8871 \n3 9142 9018 9559 \n3 385 1589 3879 \n3 10224 9998 10443 \n3 9287 9022 8562 \n3 7361 3156 9517 \n3 6547 8411 6551 \n3 9286 9150 8872 \n3 9151 8719 9150 \n3 2964 4066 4078 \n3 9288 9024 8566 \n3 7581 7588 11684 \n3 9430 9288 8873 \n3 9716 8870 8874 \n3 12179 4142 10129 \n3 9543 9688 9259 \n3 14041 13009 10981 \n3 8872 9148 9286 \n3 14248 14273 12192 \n3 9291 9154 8570 \n3 9723 8568 9435 \n3 9296 9294 9432 \n3 9154 9294 8881 \n3 8535 10652 5676 \n3 8876 9157 9298 \n3 8568 9723 9028 \n3 13695 13713 4219 \n3 8570 9154 8881 \n3 9306 9036 9446 \n3 5873 9744 5909 \n3 11823 14974 51 \n3 9035 9159 9297 \n3 9033 9297 9159 \n3 7780 14941 8320 \n3 9157 9160 9439 \n3 7677 7553 7551 \n3 1399 14463 13112 \n3 13196 13188 9907 \n3 1692 1794 10256 \n3 7863 9901 8877 \n3 10458 10464 11496 \n3 9441 8893 8450 \n3 8308 14789 14787 \n3 9295 8879 8880 \n3 9165 9163 9043 \n3 12281 14367 14357 \n3 8742 9180 9054 \n3 9167 9585 9165 \n3 8893 9441 9439 \n3 8687 6797 10841 \n3 9575 10673 10469 \n3 10697 10263 10694 \n3 2357 2379 2347 \n3 9173 9312 9171 \n3 9172 9313 9046 \n3 2541 6754 2516 \n3 13850 8362 13852 \n3 4469 298 5476 \n3 9044 8732 9047 \n3 14203 9867 8655 \n3 9046 9313 9454 \n3 9050 9316 9173 \n3 9316 9312 9173 \n3 11989 10935 11978 \n3 9049 9177 9321 \n3 9049 9321 8901 \n3 8988 8673 8805 \n3 9178 9593 9174 \n3 9733 9457 9599 \n3 3082 11101 13150 \n3 8906 9596 9182 \n3 9049 8901 8735 \n3 9183 8906 9182 \n3 11964 10934 1290 \n3 9323 8742 9184 \n3 3736 1718 2893 \n3 12551 11411 13193 \n3 8250 7295 8232 \n3 8908 9188 9461 \n3 8183 13349 8179 \n3 9330 9058 8910 \n3 8911 9189 9056 \n3 9602 9328 9325 \n3 9059 9189 8747 \n3 8747 9189 8911 \n3 9749 9331 9742 \n3 9331 9191 9058 \n3 5028 7256 1598 \n3 8058 8346 8345 \n3 4320 4098 4438 \n3 1234 1216 2556 \n3 9333 9061 9332 \n3 9472 9061 9333 \n3 583 667 699 \n3 8916 9335 9473 \n3 9335 8917 9472 \n3 2089 2169 2087 \n3 9475 9612 8922 \n3 9875 9587 10480 \n3 9337 9613 9900 \n3 8677 6599 8674 \n3 6449 6590 6016 \n3 9336 8921 9202 \n3 7542 8511 9522 \n3 11186 9029 12082 \n3 9203 9615 9199 \n3 11285 14366 11291 \n3 2984 4926 4940 \n3 8925 9208 8930 \n3 9478 9208 14570 \n3 9207 9202 8921 \n3 10994 12997 6643 \n3 9203 9480 9339 \n3 436 454 455 \n3 8761 9205 8931 \n3 11568 10861 13107 \n3 9207 9346 9483 \n3 9345 9480 8931 \n3 8933 9208 9210 \n3 9749 9607 9466 \n3 9348 9349 9073 \n3 8922 9206 9069 \n3 7301 7416 7300 \n3 9357 9494 9078 \n3 9494 9359 9078 \n3 8764 9626 9481 \n3 9495 9357 8938 \n3 5489 4220 7987 \n3 2060 4152 6370 \n3 13944 14962 14949 \n3 10778 8650 5796 \n3 13808 13792 9042 \n3 8936 9076 9364 \n3 9138 97 6923 \n3 9217 9501 9364 \n3 13958 12896 12899 \n3 9216 9219 9079 \n3 9812 7359 14925 \n3 9621 14877 10705 \n3 9219 9080 9079 \n3 9219 9216 9502 \n3 9076 8936 8939 \n3 10601 10589 6595 \n3 4151 2060 6367 \n3 1205 1430 1315 \n3 11062 7072 4064 \n3 9374 9504 9797 \n3 13496 11483 10492 \n3 6471 8618 13089 \n3 9420 9382 1079 \n3 9458 5553 10555 \n3 402 2819 1599 \n3 8780 9373 8493 \n3 11593 9464 5548 \n3 9647 8637 8620 \n3 9226 8963 8962 \n3 9226 9224 9507 \n3 4151 10706 2120 \n3 8962 9224 9226 \n3 8962 8960 9224 \n3 9504 9088 9645 \n3 8961 9093 9511 \n3 9093 8787 9511 \n3 6075 3043 3070 \n3 9648 8961 9511 \n3 9092 8498 8648 \n3 8224 9653 9094 \n3 11738 7194 9498 \n3 8787 10400 9511 \n3 8224 9376 9653 \n3 8616 6745 11752 \n3 9861 1079 690 \n3 9230 9656 8791 \n3 9806 9227 9963 \n3 2668 3711 6025 \n3 9232 9227 8792 \n3 1167 718 807 \n3 661 537 578 \n3 13649 13882 13428 \n3 8651 9658 9099 \n3 9225 8780 8961 \n3 9096 829 9382 \n3 11714 13779 10710 \n3 9234 9384 8795 \n3 9235 9514 8969 \n3 743 7428 659 \n3 11900 8453 13948 \n3 14796 8364 8363 \n3 7473 8359 1608 \n3 12679 13730 13718 \n3 8009 13842 11799 \n3 8519 8985 9242 \n3 9105 9389 9529 \n3 9105 8977 9389 \n3 9389 8981 9523 \n3 8659 9237 8657 \n3 8034 12432 11472 \n3 14553 2149 4448 \n3 9107 9105 9238 \n3 9107 8980 9105 \n3 13695 4219 4087 \n3 11715 13759 11707 \n3 9237 9109 9394 \n3 9237 9394 9664 \n3 9982 9823 8985 \n3 11095 11097 6410 \n3 7456 8266 7820 \n3 14130 13057 13077 \n3 3159 11198 2026 \n3 8520 8808 9248 \n3 9247 8805 9112 \n3 8995 8805 9247 \n3 9405 9673 9402 \n3 7025 9132 8087 \n3 9118 9121 9679 \n3 1839 12712 6889 \n3 6505 5435 5945 \n3 4256 14814 4274 \n3 9408 8986 9114 \n3 9619 11887 6288 \n3 9410 9123 9409 \n3 11222 11227 10526 \n3 14506 493 3736 \n3 14939 6294 4112 \n3 8143 8553 8148 \n3 8420 9133 8553 \n3 9574 8557 10678 \n3 9259 9129 8833 \n3 8827 9127 9255 \n3 11097 2462 2399 \n3 7456 8106 8266 \n3 8681 8676 8393 \n3 633 9865 7669 \n3 8833 9000 9545 \n3 4772 14535 3033 \n3 6560 5548 5544 \n3 9262 9000 9413 \n3 10684 10678 9600 \n3 9000 9262 9545 \n3 7945 8919 7010 \n3 7185 4667 13787 \n3 13773 10780 13743 \n3 8418 8417 8548 \n3 13891 13906 13899 \n3 10207 10203 8657 \n3 8277 8526 8116 \n3 14101 2255 8577 \n3 7452 12022 1923 \n3 6560 4554 12611 \n3 13891 8395 13906 \n3 7018 9947 8929 \n3 8871 8438 8868 \n3 9550 8853 9140 \n3 4563 7885 7870 \n3 9268 8701 9271 \n3 13331 13317 11310 \n3 8881 8442 8570 \n3 9557 9551 9268 \n3 10454 10243 10668 \n3 9139 9140 8551 \n3 9271 8707 9273 \n3 12828 13898 12827 \n3 8924 8351 5361 \n3 14123 768 2015 \n3 9139 9137 9419 \n3 13891 11842 8395 \n3 10267 10699 10698 \n3 12828 12827 12824 \n3 11367 11366 11376 \n3 8510 1949 2594 \n3 10006 9704 9696 \n3 9444 9447 14688 \n3 9444 6557 9447 \n3 9275 8862 9423 \n3 4163 3947 3712 \n3 8194 12591 14777 \n3 8709 2026 3173 \n3 9858 9022 9287 \n3 9146 8712 8863 \n3 9298 9702 9023 \n3 14035 13361 12986 \n3 9860 9026 9146 \n3 6972 6628 7146 \n3 9291 8871 9428 \n3 9709 9151 9150 \n3 9151 9430 8719 \n3 9670 11114 10415 \n3 14434 13370 14424 \n3 3206 4507 4476 \n3 10956 8532 13009 \n3 7975 8480 159 \n3 9430 8873 8719 \n3 13876 13036 12811 \n3 12811 9582 13876 \n3 11375 10667 11608 \n3 8877 8889 8865 \n3 6530 10827 14161 \n3 9299 9158 9434 \n3 8981 8977 8382 \n3 11519 9381 4469 \n3 2158 14333 6893 \n3 6515 5484 7418 \n3 12569 4509 10507 \n3 9299 9297 9033 \n3 9165 9724 9163 \n3 10807 12767 13870 \n3 10511 7428 5500 \n3 10503 8380 13580 \n3 9433 9299 9714 \n3 8882 9296 9158 \n3 121 106 8214 \n3 9028 9723 9443 \n3 939 1617 10717 \n3 9032 9719 8891 \n3 8320 12749 7780 \n3 14959 7975 159 \n3 14266 13226 14286 \n3 8891 8884 9032 \n3 9446 8441 9443 \n3 10069 12051 12732 \n3 9446 9036 8441 \n3 8483 8751 8619 \n3 14333 13327 13306 \n3 14779 721 12615 \n3 9581 9583 9308 \n3 9449 9164 9308 \n3 7950 7554 7681 \n3 14949 1872 13944 \n3 8261 7184 3294 \n3 4518 8387 7436 \n3 10800 9568 13852 \n3 9171 9167 8593 \n3 10507 4509 6525 \n3 13663 2651 13734 \n3 9710 9430 9854 \n3 8878 8897 10989 \n3 6525 2518 9400 \n3 9170 9449 9310 \n3 9312 9316 9453 \n3 9316 9317 9453 \n3 58 2496 3506 \n3 9050 9173 9047 \n3 9174 9317 9316 \n3 9174 9050 9051 \n3 7911 14876 4065 \n3 9178 9174 9051 \n3 11645 13668 12637 \n3 14966 14232 14713 \n3 3173 6556 6548 \n3 9177 9456 9595 \n3 4888 3723 1452 \n3 8907 9324 9602 \n3 8907 9602 9325 \n3 9183 9182 9734 \n3 8349 11794 13833 \n3 8213 8485 7924 \n3 1324 1257 1160 \n3 9328 9327 9325 \n3 8343 8479 8481 \n3 13711 4219 2502 \n3 2439 2535 2436 \n3 9328 9330 9327 \n3 9330 8910 9327 \n3 14526 10552 14786 \n3 13264 13304 1038 \n3 9463 9189 9059 \n3 4357 5492 858 \n3 14932 14953 12238 \n3 8627 9197 8061 \n3 10718 10696 10692 \n3 9609 9333 9470 \n3 9350 9632 9352 \n3 5026 10477 1354 \n3 10683 11621 11156 \n3 9750 9062 8916 \n3 9750 9474 9062 \n3 11652 7547 6634 \n3 9336 9611 9065 \n3 9522 8511 9531 \n3 14955 14960 8329 \n3 9066 9199 9615 \n3 9066 9615 9614 \n3 11317 11310 8179 \n3 8927 8759 9198 \n3 9198 9477 8927 \n3 9764 9203 9339 \n3 9197 9617 9476 \n3 6482 2475 6490 \n3 9198 9066 9614 \n3 8255 4033 6233 \n3 9203 9764 9615 \n3 6612 5249 5241 \n3 9343 9206 9482 \n3 8925 14570 9208 \n3 12921 12919 10891 \n3 12891 13127 13823 \n3 10623 6634 7531 \n3 3917 6259 7434 \n3 3528 14237 1534 \n3 9346 9207 9343 \n3 9207 9069 9343 \n3 8756 8922 9069 \n3 8761 8927 9205 \n3 9575 10250 9719 \n3 13523 11631 9450 \n3 9348 9210 9487 \n3 9771 9626 9349 \n3 9911 9622 9345 \n3 10246 5276 6325 \n3 9492 9353 10171 \n3 9492 9350 9353 \n3 5276 3288 6325 \n3 9355 9350 9352 \n3 9350 9492 9632 \n3 9354 9355 9352 \n3 9350 9355 9353 \n3 3934 1075 2354 \n3 13306 14299 11840 \n3 1950 12062 903 \n3 9355 9495 9353 \n3 9210 9208 9487 \n3 9357 9495 9355 \n3 6112 2433 1048 \n3 9357 9355 9354 \n3 362 6918 14614 \n3 2609 1917 1983 \n3 9783 9635 9354 \n3 14922 13784 11737 \n3 8936 9215 9495 \n3 9495 9215 9497 \n3 3547 1971 13953 \n3 13530 9358 6472 \n3 9950 9639 9364 \n3 9361 9500 9641 \n3 9861 9479 900 \n3 10382 10381 9944 \n3 9076 9217 9364 \n3 9250 8989 8679 \n3 9518 14131 1496 \n3 2945 11061 14383 \n3 9216 9077 9361 \n3 9216 9361 9641 \n3 14284 1711 1712 \n3 9371 9368 9643 \n3 9371 9086 9368 \n3 13209 4620 13410 \n3 9645 9086 9792 \n3 9086 9371 9792 \n3 9373 9372 9089 \n3 9507 9224 9374 \n3 5476 9395 9393 \n3 9645 9797 9504 \n3 9647 8620 12751 \n3 8791 8078 9094 \n3 9756 9194 10283 \n3 8961 9648 9225 \n3 2979 1797 2978 \n3 9376 9226 9507 \n3 9409 9411 9410 \n3 4722 3539 5885 \n3 9377 10400 8787 \n3 3741 2585 2611 \n3 7473 1619 7279 \n3 8236 14781 4011 \n3 13212 13208 13669 \n3 9099 9234 8652 \n3 10441 14537 13430 \n3 9512 9808 9094 \n3 12694 8284 11707 \n3 3572 2412 2357 \n3 8793 8969 9514 \n3 8974 9516 9235 \n3 8225 6382 6395 \n3 5253 3194 11789 \n3 9384 9662 9236 \n3 11441 9319 10405 \n3 6433 5376 3396 \n3 9516 9970 9235 \n3 9521 8802 9520 \n3 1824 14273 3377 \n3 4563 3390 1005 \n3 9523 8981 9525 \n3 9242 9823 8978 \n3 9108 9240 9532 \n3 9666 8984 9530 \n3 11897 11900 13934 \n3 10335 10550 10125 \n3 9112 9107 9528 \n3 9983 9110 9396 \n3 14879 11707 13759 \n3 9147 13307 7219 \n3 9114 9110 9983 \n3 9249 9401 9676 \n3 9532 9983 9396 \n3 10379 4370 3394 \n3 12016 1300 2312 \n3 9982 8985 9248 \n3 14890 11702 12697 \n3 7202 13755 13768 \n3 10781 11248 10314 \n3 9537 8808 8809 \n3 9402 9406 9405 \n3 4386 9289 6427 \n3 9405 9406 9399 \n3 9983 9532 9981 \n3 9537 8809 9678 \n3 9121 9408 9538 \n3 7113 8351 8924 \n3 26 14013 718 \n3 14013 121 718 \n3 9683 9123 9410 \n3 14537 6749 14532 \n3 9541 9255 9127 \n3 9688 9257 9129 \n3 9542 9003 9258 \n3 8998 9258 9003 \n3 7359 13786 11808 \n3 5081 14205 5075 \n3 9543 8833 9545 \n3 8833 9543 9259 \n3 7521 7539 10614 \n3 8637 10778 5796 \n3 9416 9133 9546 \n3 8584 5311 4695 \n3 6971 14835 13755 \n3 4852 2781 13367 \n3 13746 11653 10909 \n3 7314 6420 8247 \n3 7976 5831 7966 \n3 10662 9344 10751 \n3 8530 8669 829 \n3 9421 9140 9139 \n3 9271 9557 9268 \n3 3530 9973 5678 \n3 9698 9415 9551 \n3 9284 9563 9273 \n3 13743 13731 13758 \n3 4377 7112 5622 \n3 3518 3631 3517 \n3 11623 11162 10907 \n3 6612 6676 5249 \n3 6000 14763 14571 \n3 9698 9551 9557 \n3 14285 12534 13398 \n3 10918 10486 10702 \n3 9557 9273 9563 \n3 9423 9704 9275 \n3 10190 10400 11094 \n3 9043 9167 9165 \n3 8445 14803 10765 \n3 9279 9562 9148 \n3 8929 6075 7018 \n3 2449 2448 2453 \n3 9706 9565 9148 \n3 9148 9565 9286 \n3 9565 9709 9286 \n3 9284 9027 9563 \n3 7910 7908 8330 \n3 8318 9306 8727 \n3 9432 9294 9291 \n3 11714 10710 11717 \n3 9749 9746 10281 \n3 12187 9251 14152 \n3 12883 14449 12314 \n3 11436 4958 4977 \n3 9569 9024 9288 \n3 9287 8870 9566 \n3 9284 8717 9027 \n3 8029 8036 11164 \n3 9433 9297 9299 \n3 9434 9714 9299 \n3 14790 8689 13704 \n3 4097 14789 8308 \n3 9571 9032 9035 \n3 9719 9032 9575 \n3 10956 1568 10948 \n3 1746 2727 14672 \n3 9719 9441 8891 \n3 3960 7690 1673 \n3 8124 7585 7345 \n3 8892 9442 9578 \n3 10306 9920 10103 \n3 9442 9162 9863 \n3 9139 9419 9421 \n3 13895 11814 12803 \n3 6323 493 1730 \n3 9727 9449 9308 \n3 14753 13561 12710 \n3 9727 9451 9449 \n3 9311 9312 9452 \n3 9310 9449 9451 \n3 9887 9606 9888 \n3 9172 9170 9310 \n3 9664 9976 10412 \n3 12678 13566 13101 \n3 9312 9453 9452 \n3 9183 9734 9460 \n3 9725 9306 9446 \n3 10436 10224 10437 \n3 9732 9592 9593 \n3 10785 10318 10110 \n3 12572 3942 10426 \n3 9291 9564 9432 \n3 9461 9184 8908 \n3 8177 8176 8449 \n3 9732 9178 9457 \n3 823 1112 683 \n3 10049 10051 10267 \n3 12952 12744 12957 \n3 14628 14377 14149 \n3 10539 13503 8115 \n3 9180 9599 9457 \n3 8901 9321 9596 \n3 9324 9460 9602 \n3 7258 7275 13626 \n3 9868 10036 10032 \n3 9438 9431 9455 \n3 10654 10221 9830 \n3 10552 14526 14850 \n3 2631 2630 2612 \n3 10655 10221 10654 \n3 9884 9330 9328 \n3 9742 9330 9884 \n3 6722 9621 10705 \n3 9469 9190 9467 \n3 12589 12112 12779 \n3 11956 12407 11712 \n3 12759 13837 11781 \n3 5406 370 3392 \n3 9470 9333 9332 \n3 9191 9470 9332 \n3 9467 9334 9606 \n3 8913 9334 9467 \n3 12589 12588 12114 \n3 3261 6660 2115 \n3 1071 4804 7668 \n3 9610 9473 9335 \n3 9059 9190 9469 \n3 9888 9606 9751 \n3 9613 8755 9898 \n3 8755 9753 9898 \n3 8755 9476 9753 \n3 9221 9085 9365 \n3 13998 9695 12938 \n3 9336 9762 9618 \n3 1597 1799 6108 \n3 14506 14792 7999 \n3 9479 807 900 \n3 9208 9478 9487 \n3 9620 9760 9067 \n3 6288 3204 14318 \n3 6336 8179 11310 \n3 9911 9205 10291 \n3 12618 14748 13625 \n3 8641 10877 7640 \n3 13646 12634 11595 \n3 9343 9624 9346 \n3 8846 13110 3588 \n3 657 7488 1906 \n3 9620 9481 9626 \n3 9483 9768 10294 \n3 9623 9480 9345 \n3 9338 8927 9477 \n3 10246 13351 5276 \n3 9331 9466 9191 \n3 9377 8789 9806 \n3 9950 10389 10385 \n3 3934 3219 1075 \n3 6966 6943 4225 \n3 9777 10376 9776 \n3 2624 1587 14364 \n3 3438 5555 1335 \n3 9496 9494 9354 \n3 6472 7367 13530 \n3 9785 10171 9353 \n3 9357 9354 9494 \n3 13610 13646 11595 \n3 14772 10426 3942 \n3 9359 9494 9496 \n3 8995 8811 8988 \n3 8043 8331 8462 \n3 9215 9364 9639 \n3 5156 2782 6455 \n3 9147 5247 9166 \n3 2679 8014 7449 \n3 9365 9217 9221 \n3 9222 9643 9368 \n3 9222 9788 9643 \n3 3949 4940 9855 \n3 12600 11604 11611 \n3 9223 9085 9370 \n3 9089 9372 9793 \n3 9224 8960 9504 \n3 9797 9796 9374 \n3 7763 7769 8748 \n3 4052 1751 5144 \n3 8488 8487 8490 \n3 9648 9506 9225 \n3 7841 7843 8128 \n3 9039 7500 4171 \n3 11606 9347 12608 \n3 9373 9795 9372 \n3 12447 11491 11443 \n3 9651 9376 9507 \n3 9990 5085 9013 \n3 10400 10190 9511 \n3 7215 10219 7207 \n3 8145 7217 8126 \n3 6904 6738 6903 \n3 4581 14577 13532 \n3 9377 9806 10400 \n3 9512 9654 10401 \n3 7554 7950 7944 \n3 9094 9653 9654 \n3 7207 3251 7215 \n3 11606 12608 13628 \n3 2914 11915 4022 \n3 159 9375 14959 \n3 6735 6745 8616 \n3 3722 2670 8165 \n3 2911 2886 2874 \n3 7035 10312 8079 \n3 9651 10189 10401 \n3 11715 10701 13776 \n3 7726 11266 6662 \n3 4713 13710 2084 \n3 3594 11180 14273 \n3 9232 9659 9967 \n3 4036 4041 3081 \n3 10493 10932 10283 \n3 8802 9521 9524 \n3 2363 5335 7295 \n3 8983 8802 9524 \n3 7860 7319 1013 \n3 11798 11801 11089 \n3 1496 10256 1040 \n3 8908 8742 8744 \n3 9530 9978 9666 \n3 9665 9238 9105 \n3 9105 9529 9665 \n3 9236 9519 9520 \n3 9107 9238 9528 \n3 8270 1393 1364 \n3 6433 11427 5376 \n3 5288 5414 14651 \n3 11816 5301 14685 \n3 12016 2312 270 \n3 7896 7761 7648 \n3 9535 9405 9399 \n3 9108 9532 9396 \n3 9247 9246 9535 \n3 8823 9255 8997 \n3 9397 9676 9401 \n3 9688 9541 9257 \n3 9538 10424 9539 \n3 9538 9408 9825 \n3 8685 8826 8998 \n3 9114 9825 9408 \n3 9538 9539 9679 \n3 10487 10485 10051 \n3 9984 9679 9539 \n3 9538 9679 9121 \n3 8214 9375 5190 \n3 1127 10010 11743 \n3 9280 10379 5369 \n3 9686 9258 9540 \n3 8997 9831 9685 \n3 9831 8997 9255 \n3 14528 1028 1029 \n3 9542 9258 9686 \n3 9411 9684 9410 \n3 8632 8489 8487 \n3 8997 9685 9125 \n3 5219 5216 5124 \n3 9259 9688 9129 \n3 8090 3209 1184 \n3 9691 9834 9995 \n3 9009 9003 10435 \n3 10241 9706 10239 \n3 9265 9009 9694 \n3 11396 12401 10448 \n3 11564 13528 12558 \n3 9265 9694 9546 \n3 9696 9416 9546 \n3 9546 10440 9696 \n3 7023 2760 1536 \n3 12370 13394 13406 \n3 9541 9687 9831 \n3 10242 9559 10005 \n3 7048 7073 8973 \n3 13119 6787 8866 \n3 9421 9552 9140 \n3 1558 10000 3582 \n3 10005 9559 9550 \n3 9552 9550 9140 \n3 9423 9416 9696 \n3 3089 3323 3520 \n3 10008 9419 9137 \n3 13727 12690 9561 \n3 4142 1165 10129 \n3 8231 4298 8240 \n3 9142 10242 9560 \n3 2552 2525 3604 \n3 7163 9084 9091 \n3 10008 9417 10003 \n3 9275 9562 9279 \n3 10021 9851 9563 \n3 9709 9854 9151 \n3 10027 9278 9858 \n3 13587 11535 14650 \n3 6125 7449 2433 \n3 8720 12186 8711 \n3 3377 12147 13164 \n3 9710 9288 9430 \n3 10018 9296 9432 \n3 9853 9433 9714 \n3 10533 3838 2172 \n3 10099 9052 8066 \n3 11031 5162 11583 \n3 4125 4136 9052 \n3 12501 14659 10497 \n3 9571 9035 9433 \n3 9572 9026 9860 \n3 9567 10021 9563 \n3 8225 6395 7297 \n3 10174 10382 9948 \n3 2315 2281 4481 \n3 9575 9032 9571 \n3 638 9320 8924 \n3 8529 7565 9547 \n3 9720 9298 9157 \n3 9296 8882 9294 \n3 6345 11333 9185 \n3 8600 8601 8331 \n3 9863 9162 9724 \n3 8446 8881 8882 \n3 6399 7307 2332 \n3 10683 11156 9440 \n3 9720 9157 9439 \n3 9583 9727 9308 \n3 8413 9006 8840 \n3 9866 9583 9725 \n3 9583 9581 9725 \n3 8030 8024 8444 \n3 8865 8878 8855 \n3 9587 9451 9727 \n3 11529 12498 12526 \n3 13870 8376 9577 \n3 10028 9572 9860 \n3 9310 9451 9313 \n3 9873 9452 10040 \n3 11075 11334 10850 \n3 1178 1518 3522 \n3 13501 10519 6088 \n3 14133 14615 14861 \n3 5179 9082 5178 \n3 9461 9603 10059 \n3 10267 10484 10046 \n3 9589 9878 9454 \n3 9453 9592 9590 \n3 9453 9317 9592 \n3 8585 2587 4481 \n3 9321 9177 9595 \n3 10485 10267 10051 \n3 9732 9457 9733 \n3 1435 5578 92 \n3 13336 10155 11314 \n3 9461 9323 9184 \n3 5043 6277 92 \n3 5690 3419 6826 \n3 5028 1598 1963 \n3 6992 4852 13367 \n3 9328 9602 9604 \n3 12347 14290 14299 \n3 1677 3798 5952 \n3 9596 8906 8901 \n3 13533 6477 9366 \n3 9579 9446 9443 \n3 9884 9328 9604 \n3 8836 8405 8680 \n3 11491 9253 11477 \n3 106 12129 14959 \n3 9469 9606 9748 \n3 183 4181 1206 \n3 8179 7257 8183 \n3 9742 9746 9749 \n3 9466 9607 9470 \n3 9607 9608 9470 \n3 9608 9609 9470 \n3 9473 9750 8916 \n3 5426 5400 7872 \n3 3337 2772 3431 \n3 9606 9334 9751 \n3 9472 9752 9335 \n3 9751 9334 9474 \n3 9555 11781 12769 \n3 8761 8762 8759 \n3 9610 9335 9752 \n3 2847 13663 14482 \n3 6144 4092 6135 \n3 7988 8129 7846 \n3 9337 9900 14570 \n3 13793 13912 13789 \n3 13136 3073 3064 \n3 9253 11491 9263 \n3 9194 9612 9475 \n3 14479 12401 14457 \n3 8759 8927 8761 \n3 10092 9762 9202 \n3 13772 871 4806 \n3 12504 14537 11476 \n3 9198 9905 9477 \n3 9612 9756 9201 \n3 5529 10137 6674 \n3 2556 4986 4982 \n3 11169 4220 12131 \n3 14510 4620 13789 \n3 9622 9623 9345 \n3 11273 7211 10214 \n3 566 681 609 \n3 9620 9067 9481 \n3 13351 10246 11314 \n3 9775 10164 9630 \n3 9630 10164 10165 \n3 9775 9777 9776 \n3 9775 9630 9631 \n3 13663 13411 14482 \n3 11491 14503 6088 \n3 9631 9779 9777 \n3 7694 4357 5482 \n3 9630 9780 9631 \n3 9631 9632 9779 \n3 9017 5103 8019 \n3 9630 9782 9780 \n3 9780 9632 9631 \n3 9632 9492 9779 \n3 11111 6168 6144 \n3 9536 5662 7561 \n3 7749 7782 7769 \n3 10272 12377 7953 \n3 9782 9783 9780 \n3 4937 3782 2739 \n3 9354 9352 9783 \n3 472 1178 7713 \n3 14483 13453 12432 \n3 9352 9780 9783 \n3 10170 9783 9782 \n3 12432 12401 14483 \n3 5950 6071 5993 \n3 9094 9654 9512 \n3 9950 9948 9639 \n3 7483 7492 11605 \n3 9856 6920 7848 \n3 9785 9497 9944 \n3 9359 9500 9361 \n3 7239 11308 9156 \n3 9786 9949 9500 \n3 6628 6626 7146 \n3 9641 9500 9949 \n3 9788 9502 9641 \n3 7640 7637 8623 \n3 9949 9787 9641 \n3 13209 13410 14445 \n3 7996 7089 8002 \n3 7072 9979 7090 \n3 9187 10458 12416 \n3 9952 9643 9788 \n3 9644 9370 9793 \n3 9786 9496 9943 \n3 10367 10826 10366 \n3 14651 5414 13549 \n3 9504 9374 9224 \n3 10279 10707 10920 \n3 5962 8794 9837 \n3 7533 6989 7650 \n3 7048 7039 4044 \n3 11737 10735 14922 \n3 11496 13474 5541 \n3 2429 5406 10399 \n3 10214 7211 7219 \n3 4620 13209 7312 \n3 7977 8994 6135 \n3 9810 9656 9230 \n3 5020 2084 13710 \n3 13069 14131 9011 \n3 14906 14663 7321 \n3 8657 9237 9664 \n3 8384 8107 8272 \n3 9235 9970 9514 \n3 9970 9516 9815 \n3 7927 5745 10311 \n3 9816 9519 9236 \n3 7015 8959 4036 \n3 8943 8959 7015 \n3 8736 8734 8599 \n3 11482 11007 11250 \n3 5833 7909 5826 \n3 11585 11558 7842 \n3 9319 9326 11458 \n3 9520 9519 9521 \n3 9976 9394 9670 \n3 10137 12259 4372 \n3 8271 8384 8272 \n3 9392 9666 9819 \n3 9523 9525 10413 \n3 9525 8978 10416 \n3 10429 10441 10428 \n3 13431 12447 12412 \n3 9819 9666 9978 \n3 9665 9529 10208 \n3 9976 9664 9394 \n3 14686 2862 14670 \n3 9528 9238 9665 \n3 8738 14301 3859 \n3 9532 9240 9668 \n3 8984 9669 9530 \n3 9202 9207 9483 \n3 9673 9670 9402 \n3 7050 9990 9972 \n3 9673 9535 10419 \n3 2762 412 2742 \n3 2726 3057 2722 \n3 8738 14298 14301 \n3 12861 13935 8436 \n3 8809 8102 8389 \n3 9535 9673 9405 \n3 14379 14374 14369 \n3 3759 2810 5800 \n3 9982 9248 9537 \n3 9397 9534 9676 \n3 9825 10650 10424 \n3 9124 9678 8809 \n3 8892 8169 8443 \n3 8682 8541 8683 \n3 62 41 42 \n3 11421 10723 11187 \n3 9375 8214 106 \n3 11210 8097 5195 \n3 9814 7796 8774 \n3 8661 12969 12984 \n3 10881 11130 11370 \n3 12058 8972 8959 \n3 12166 9629 11457 \n3 6035 6026 10334 \n3 9686 9540 9827 \n3 9255 9541 9831 \n3 5541 12416 10458 \n3 12611 4554 9448 \n3 3715 3713 3831 \n3 12387 13431 12412 \n3 12235 8767 13272 \n3 13735 11686 11675 \n3 10433 9831 9687 \n3 13393 12411 10428 \n3 9987 9683 9684 \n3 9694 9009 10435 \n3 9131 9842 9836 \n3 9694 10440 9546 \n3 14197 10825 14187 \n3 12559 11577 10519 \n3 10449 10005 9550 \n3 12370 13406 12390 \n3 9434 10243 9714 \n3 9267 9417 10008 \n3 10466 9417 9415 \n3 8722 12196 14283 \n3 10825 1794 14187 \n3 9697 9550 9552 \n3 9270 9141 9702 \n3 9704 10006 10007 \n3 8424 9146 8428 \n3 10236 9421 9419 \n3 9026 8428 9146 \n3 3644 6128 3624 \n3 9204 9637 3114 \n3 9560 9564 9428 \n3 12387 12390 12388 \n3 11277 9251 12187 \n3 9564 9707 9432 \n3 9564 9560 10012 \n3 12417 3798 14758 \n3 8382 8096 8514 \n3 9858 9287 9566 \n3 9430 9151 9854 \n3 3937 12728 1971 \n3 868 13267 13514 \n3 9261 7307 10330 \n3 2067 5979 10432 \n3 2179 14153 10575 \n3 12370 11387 13385 \n3 9710 9857 9288 \n3 9427 13727 13706 \n3 14187 1794 1692 \n3 10023 9566 9716 \n3 10186 11296 12281 \n3 9567 9563 9027 \n3 11830 12279 11828 \n3 8884 9035 9032 \n3 9569 9716 9024 \n3 11415 10932 10493 \n3 10411 11380 9153 \n3 9027 9295 9567 \n3 5861 7966 5836 \n3 6990 8899 12031 \n3 10018 9434 9296 \n3 9572 9722 9435 \n3 9927 12992 12023 \n3 4771 6051 871 \n3 9299 9033 8888 \n3 10946 11440 11895 \n3 9720 10015 9298 \n3 9719 10250 9441 \n3 9439 9441 9720 \n3 7734 7490 7358 \n3 9311 9452 9586 \n3 3462 11044 9803 \n3 10463 10017 9707 \n3 10255 9578 9442 \n3 12813 9042 14925 \n3 1638 1494 1371 \n3 9442 9863 9862 \n3 10255 9440 9578 \n3 9723 9579 9443 \n3 1302 2298 6374 \n3 8221 8225 12380 \n3 8889 7914 7893 \n3 11346 9117 14434 \n3 9866 9579 10035 \n3 6997 8878 6985 \n3 10250 9720 9441 \n3 13212 12566 12565 \n3 7575 6467 6439 \n3 8887 7914 8889 \n3 9452 9873 9586 \n3 9722 9572 10028 \n3 9875 9589 9587 \n3 9453 9877 10040 \n3 5676 8546 5681 \n3 11137 3073 13136 \n3 9590 9592 10265 \n3 9456 10048 9595 \n3 9456 9177 9318 \n3 9596 10052 9598 \n3 11516 12501 10497 \n3 8192 11339 8216 \n3 1686 1835 1768 \n3 3256 14043 9642 \n3 14795 13668 11645 \n3 9733 10049 9732 \n3 9595 9596 9321 \n3 11357 12370 12390 \n3 9602 9460 9739 \n3 9323 9737 9735 \n3 10920 11638 11174 \n3 14953 12090 13946 \n3 13946 12238 14953 \n3 9461 9737 9323 \n3 7731 8001 8422 \n3 2865 1673 5098 \n3 9463 10063 9745 \n3 11121 9678 9124 \n3 13912 2941 14020 \n3 10882 10884 10655 \n3 9887 9748 9606 \n3 10453 10664 10890 \n3 7657 7763 9758 \n3 9226 9092 8963 \n3 10073 9609 9608 \n3 9469 9467 9606 \n3 1552 5806 7838 \n3 9750 9890 9751 \n3 4213 9637 9894 \n3 9751 9474 9750 \n3 5249 6676 4046 \n3 11407 10064 10067 \n3 9194 9193 11410 \n3 12478 12501 11472 \n3 11320 12345 14402 \n3 9890 9750 9610 \n3 9900 9613 9898 \n3 9067 9617 9197 \n3 10097 9911 10291 \n3 2462 11097 11095 \n3 9905 9198 9614 \n3 10495 9753 9476 \n3 9615 9761 9614 \n3 12457 1697 3844 \n3 9789 9874 14202 \n3 12398 14469 4207 \n3 8502 8649 8786 \n3 11190 9477 9905 \n3 2121 27 1036 \n3 9615 9764 9761 \n3 13789 13912 14510 \n3 9760 10724 9617 \n3 9908 9482 9201 \n3 9202 9762 9336 \n3 7363 5424 5430 \n3 9764 9339 10086 \n3 14535 13538 14498 \n3 1963 6218 12759 \n3 9028 9443 8441 \n3 12432 13453 11472 \n3 7888 2256 5675 \n3 13351 8192 7248 \n3 12502 10525 4205 \n3 9339 9480 9623 \n3 7114 10022 6159 \n3 9574 7595 8557 \n3 9349 9913 9771 \n3 690 9479 9861 \n3 7120 7114 6159 \n3 3346 1613 1644 \n3 9774 9923 9920 \n3 10107 9922 9926 \n3 10306 10304 9920 \n3 9774 10111 9923 \n3 7244 13892 1599 \n3 10107 10111 9774 \n3 6672 14738 12584 \n3 6190 375 9508 \n3 5991 9879 6938 \n3 14205 14701 2750 \n3 3986 4344 4107 \n3 9777 9779 9942 \n3 8321 4414 5424 \n3 5015 6059 6042 \n3 9013 5103 9017 \n3 14779 1776 721 \n3 13238 2462 11095 \n3 8810 8788 8801 \n3 8831 4941 8810 \n3 6101 2746 1763 \n3 2739 357 4937 \n3 12288 10233 11291 \n3 11047 6471 13104 \n3 7691 6713 6678 \n3 9496 9354 9635 \n3 5757 5766 12268 \n3 2172 4441 5582 \n3 7211 5227 3248 \n3 9423 9696 9704 \n3 9950 9364 9951 \n3 9948 9944 9639 \n3 1509 14984 14979 \n3 13735 11675 14836 \n3 5731 7883 6820 \n3 9370 9089 9793 \n3 12281 11296 14369 \n3 9953 9370 9644 \n3 9371 9791 9792 \n3 7120 8003 7114 \n3 9955 9792 9791 \n3 9632 9780 9352 \n3 9952 9791 9643 \n3 9643 9791 9371 \n3 9944 9497 9639 \n3 9372 9795 9956 \n3 9635 9943 9496 \n3 6967 8898 3975 \n3 7590 2721 8546 \n3 1306 1875 3626 \n3 10190 9958 9648 \n3 12388 5563 13431 \n3 12810 2178 3465 \n3 1705 1621 1414 \n3 9511 10190 9648 \n3 898 10866 12947 \n3 7211 3248 7219 \n3 5962 5971 8794 \n3 8993 7928 7939 \n3 9654 9653 9651 \n3 7977 6135 7084 \n3 10402 9230 10628 \n3 9589 9313 9451 \n3 10825 14213 14225 \n3 9232 9963 9227 \n3 9052 11168 10083 \n3 14659 13559 10497 \n3 10403 9659 9969 \n3 9969 9659 9514 \n3 8793 9514 9659 \n3 9660 9662 9384 \n3 9660 9968 10201 \n3 12401 12432 10448 \n3 8261 8263 7184 \n3 9516 10203 9815 \n3 9392 9819 9240 \n3 9975 9530 9669 \n3 9668 9240 10646 \n3 8780 9225 9373 \n3 9675 10874 9669 \n3 13290 8817 8804 \n3 8472 8746 8473 \n3 9534 9675 9676 \n3 14836 11675 13716 \n3 4875 8740 4887 \n3 10424 9538 9825 \n3 8804 12235 13290 \n3 8379 12814 12803 \n3 13232 9939 12192 \n3 9124 9125 11121 \n3 9685 11598 11125 \n3 8959 8972 4041 \n3 9679 9984 9411 \n3 9411 9984 9684 \n3 5946 2399 11376 \n3 11208 10747 11206 \n3 9683 9410 9684 \n3 10424 10425 9539 \n3 9686 9827 9830 \n3 9830 10221 9542 \n3 9830 9542 9686 \n3 12018 10986 13029 \n3 9995 9688 9543 \n3 12390 13406 12388 \n3 12387 12388 13431 \n3 9660 9384 9234 \n3 9687 9688 9995 \n3 8759 9066 9198 \n3 2556 1216 4986 \n3 9542 10435 9003 \n3 9996 9691 9543 \n3 764 701 584 \n3 6336 3298 8179 \n3 9580 9493 3570 \n3 9834 9993 9995 \n3 1113 10215 11499 \n3 5826 3690 14739 \n3 8019 5122 8029 \n3 7606 10686 7613 \n3 13721 14884 13943 \n3 8781 9821 6854 \n3 9265 9546 9133 \n3 10388 12411 12404 \n3 10513 11203 9912 \n3 4540 4415 4635 \n3 6333 6191 5786 \n3 23 1037 1052 \n3 9843 9552 9421 \n3 9262 9413 9836 \n3 9417 10466 10003 \n3 6096 8967 7945 \n3 8726 4893 14282 \n3 8994 10002 6135 \n3 12199 8726 14282 \n3 14857 14617 4803 \n3 9411 9118 9679 \n3 9399 9252 9247 \n3 13811 9527 3879 \n3 10692 13647 12698 \n3 7687 7441 7682 \n3 9415 9698 10466 \n3 9707 9564 10012 \n3 10466 9698 10679 \n3 9275 9704 9562 \n3 9707 10012 10011 \n3 14165 8618 5318 \n3 9707 10017 9432 \n3 9904 1399 9909 \n3 3545 10000 12183 \n3 10020 9710 9854 \n3 10024 9858 9566 \n3 10428 11380 10411 \n3 7872 6819 11027 \n3 10023 10024 9566 \n3 5907 7762 5871 \n3 3848 13637 373 \n3 9851 10679 9698 \n3 6520 10503 9404 \n3 10007 9706 9562 \n3 9288 9857 9569 \n3 10463 10672 10017 \n3 4988 5258 5072 \n3 9575 10019 10673 \n3 11366 10204 5946 \n3 10250 10471 9720 \n3 9710 10681 9857 \n3 10028 9860 10027 \n3 6050 8887 7005 \n3 10787 10793 11011 \n3 9311 9586 9585 \n3 9722 10257 9723 \n3 8771 8743 6675 \n3 9724 9868 10032 \n3 8708 9016 9423 \n3 3787 3904 3912 \n3 3377 14248 12184 \n3 9442 9862 10255 \n3 8558 11701 9591 \n3 7343 7340 7066 \n3 9866 9870 9583 \n3 9866 9872 9870 \n3 10036 9873 10037 \n3 9585 9586 9165 \n3 12570 13522 14535 \n3 9767 5909 9744 \n3 8648 8963 9092 \n3 5756 3447 5752 \n3 5681 4656 5676 \n3 9872 9587 9870 \n3 10256 10147 1692 \n3 7742 8158 8155 \n3 13870 13872 8376 \n3 9208 8933 8930 \n3 9596 9595 10052 \n3 14166 9120 11356 \n3 10313 13370 14434 \n3 10363 10358 10580 \n3 11516 11472 12501 \n3 3383 7627 1243 \n3 9733 10051 10049 \n3 8733 8457 8328 \n3 9735 10051 9733 \n3 10054 9737 9882 \n3 9735 9737 10054 \n3 9891 10711 10491 \n3 9734 9739 9460 \n3 10920 10059 9603 \n3 9461 9188 9603 \n3 4731 6724 1776 \n3 9907 12148 11128 \n3 10059 10920 9882 \n3 9461 10059 9737 \n3 4696 4716 4718 \n3 10064 10279 9745 \n3 11129 10651 10878 \n3 10063 10064 9745 \n3 9749 9466 9331 \n3 10372 11050 10581 \n3 9748 10063 9059 \n3 10281 10068 9607 \n3 2768 4975 7119 \n3 10068 9608 9607 \n3 13164 9886 11102 \n3 10072 9751 9890 \n3 10072 9891 9751 \n3 9888 9751 9891 \n3 8138 7991 7480 \n3 10074 9752 10071 \n3 6668 12679 7561 \n3 6669 12679 6668 \n3 14484 6302 6014 \n3 9194 11410 10283 \n3 9755 12590 9597 \n3 9614 10725 9905 \n3 12130 13164 11102 \n3 9756 9612 9194 \n3 10495 9476 10498 \n3 9754 9895 9902 \n3 9080 9219 8950 \n3 9901 8887 8877 \n3 11128 12148 13150 \n3 11467 11224 10758 \n3 9336 9618 10933 \n3 5728 6231 6232 \n3 12748 9677 13791 \n3 1192 14945 5463 \n3 3812 6830 6797 \n3 14132 1496 14131 \n3 10505 9338 11190 \n3 11190 9338 9477 \n3 9761 9764 10086 \n3 11295 10593 11054 \n3 6729 7696 5293 \n3 10093 9487 9478 \n3 10946 10085 10508 \n3 10090 9339 9623 \n3 9338 10505 10291 \n3 10092 9483 10294 \n3 10084 9906 10081 \n3 8473 8340 8202 \n3 6011 9880 11984 \n3 9692 11939 13978 \n3 10097 10291 10742 \n3 4421 4549 4305 \n3 9913 9348 10738 \n3 843 6444 12866 \n3 13119 8866 13131 \n3 9771 9913 10516 \n3 10097 9623 9622 \n3 1496 14132 10147 \n3 549 2969 544 \n3 9624 9912 9768 \n3 10300 9916 9915 \n3 9054 9178 9051 \n3 10299 9915 9916 \n3 9774 10304 9916 \n3 10300 9922 9916 \n3 9922 9774 9916 \n3 9348 9913 9349 \n3 9774 9920 10304 \n3 7547 4621 6634 \n3 9754 10081 9906 \n3 14150 14632 13941 \n3 14165 8645 14191 \n3 9424 5500 5510 \n3 9918 9922 10300 \n3 11832 6788 8971 \n3 9923 10103 9920 \n3 9923 10111 10112 \n3 3535 491 4564 \n3 9667 11918 8453 \n3 10118 10114 10123 \n3 807 718 5536 \n3 8957 8633 8493 \n3 10121 9930 10122 \n3 10121 10122 10106 \n3 11478 10997 10314 \n3 7718 7356 7850 \n3 9935 10121 10126 \n3 10121 9935 9930 \n3 9941 9630 10166 \n3 9935 10132 9930 \n3 9934 10140 9932 \n3 26 718 1167 \n3 12861 8436 9634 \n3 1644 14456 14433 \n3 10595 10164 9776 \n3 7339 5181 11544 \n3 10824 12824 5081 \n3 9942 9492 10171 \n3 11534 12002 12448 \n3 9776 10164 9775 \n3 10165 10166 9630 \n3 2242 2250 9437 \n3 9782 9630 9941 \n3 9706 10007 10239 \n3 9941 10170 9782 \n3 10376 9777 9942 \n3 7434 739 731 \n3 10258 13335 14379 \n3 10172 9786 9943 \n3 13080 1079 9382 \n3 10597 10836 10374 \n3 10376 11059 9776 \n3 14673 9515 14414 \n3 9949 9786 10172 \n3 12734 9554 13785 \n3 9787 10178 9788 \n3 9501 9365 9223 \n3 8843 7848 3013 \n3 10268 10052 10486 \n3 9788 10178 9952 \n3 9223 9951 9501 \n3 11296 14379 14369 \n3 10272 601 14470 \n3 8813 5976 7829 \n3 7113 8924 9320 \n3 8425 3988 10860 \n3 9955 10619 9645 \n3 9645 10183 9797 \n3 9506 9648 9958 \n3 9797 10188 9796 \n3 10187 10189 9796 \n3 8556 8141 7873 \n3 13021 12143 12381 \n3 6368 2943 14859 \n3 10601 6595 7507 \n3 9651 10401 9654 \n3 10199 9656 9810 \n3 10400 9806 9962 \n3 9808 10628 9230 \n3 10188 11089 10187 \n3 10634 9969 9514 \n3 26 1167 690 \n3 14537 10441 11476 \n3 3916 10384 14769 \n3 9234 9099 9968 \n3 2954 5175 14831 \n3 10637 10634 9514 \n3 10208 10868 10643 \n3 522 2173 3555 \n3 14653 14656 3044 \n3 11814 13895 7284 \n3 9232 9967 10630 \n3 3251 7207 9115 \n3 8672 8803 8983 \n3 7450 1516 1530 \n3 9240 9108 8979 \n3 7669 14458 14171 \n3 690 1079 13080 \n3 9817 9523 10869 \n3 9523 10413 10869 \n3 10410 9818 10206 \n3 9818 9533 9524 \n3 12926 9382 829 \n3 9817 10208 9529 \n3 8978 10210 10416 \n3 9974 9528 9665 \n3 9819 9978 10646 \n3 10206 9524 9521 \n3 9621 6722 5743 \n3 9528 9977 9246 \n3 2983 579 8512 \n3 10413 10416 10644 \n3 9530 10417 9978 \n3 9975 9669 10874 \n3 504 9855 11958 \n3 9953 10389 9951 \n3 9980 10649 9823 \n3 7073 7048 7056 \n3 11114 9670 9673 \n3 1429 1250 1431 \n3 13080 12926 13831 \n3 10638 12036 10637 \n3 13989 26 14005 \n3 9825 9826 10650 \n3 10425 10427 9539 \n3 9537 9678 10213 \n3 5531 12057 5522 \n3 1923 12037 9781 \n3 9591 7606 8558 \n3 12027 11094 12248 \n3 10419 11114 9673 \n3 12033 13029 9778 \n3 10427 9984 9539 \n3 9125 11125 11121 \n3 13854 2358 296 \n3 9169 6325 6296 \n3 12235 8790 8767 \n3 9993 9687 9995 \n3 10435 9542 10221 \n3 10224 9834 9998 \n3 13272 8767 14297 \n3 6601 2320 4523 \n3 9691 9996 9998 \n3 9998 9834 9691 \n3 9018 9142 9143 \n3 10438 9996 9836 \n3 7810 8088 8089 \n3 9839 9836 9842 \n3 7262 4582 7268 \n3 9847 9839 9842 \n3 1350 3803 1375 \n3 10982 14054 12022 \n3 10005 10449 10893 \n3 10986 12018 8540 \n3 9280 5369 10360 \n3 7327 14879 2072 \n3 4691 6705 6693 \n3 9419 10008 10236 \n3 10893 11143 10005 \n3 13911 13831 12926 \n3 9557 9851 9698 \n3 10242 10012 9560 \n3 10890 10239 10453 \n3 10667 10463 10011 \n3 9535 9399 9247 \n3 12184 12192 8724 \n3 10240 9853 10243 \n3 9847 9702 10015 \n3 9723 9435 9722 \n3 9709 10016 11150 \n3 10243 10018 10672 \n3 10015 10452 9847 \n3 10019 9853 10240 \n3 1578 1614 385 \n3 9709 9565 10016 \n3 3934 4610 1022 \n3 5785 5799 6837 \n3 10024 10474 9858 \n3 10966 13361 13011 \n3 11865 9744 5873 \n3 9714 10243 9853 \n3 10474 10027 9858 \n3 9857 10472 9569 \n3 11966 4326 1458 \n3 10471 10015 9720 \n3 9716 9569 10472 \n3 7762 9800 11893 \n3 10020 10681 9710 \n3 7642 1264 3424 \n3 3879 1589 7244 \n3 9038 9441 8450 \n3 5447 2475 6482 \n3 10303 10978 11239 \n3 6482 9366 5447 \n3 9863 10032 9862 \n3 11416 14457 12401 \n3 6943 11247 4220 \n3 10255 10683 9440 \n3 13676 8156 8440 \n3 8020 4257 6959 \n3 13069 9011 8480 \n3 10038 9866 10035 \n3 12926 829 8669 \n3 10478 10037 10040 \n3 9583 9870 9727 \n3 10041 9872 10038 \n3 9873 10036 9586 \n3 11738 11730 11735 \n3 7691 7749 6713 \n3 9873 10040 10037 \n3 8921 9336 9065 \n3 1568 9715 8512 \n3 8695 12147 3377 \n3 3377 12184 8695 \n3 451 6270 2753 \n3 9875 10044 9589 \n3 9875 10263 10044 \n3 9878 9589 10044 \n3 9878 10044 10263 \n3 6060 6221 5927 \n3 10701 11731 13776 \n3 10048 9878 10047 \n3 9878 10048 9456 \n3 3961 5081 6281 \n3 9592 9732 10046 \n3 10268 10053 10052 \n3 10271 9734 10053 \n3 10056 9734 10271 \n3 7893 7914 6985 \n3 2769 14623 457 \n3 9734 10056 9739 \n3 3662 7581 7576 \n3 11978 10935 10931 \n3 7963 1679 7968 \n3 3667 5807 5810 \n3 9737 10059 9882 \n3 9741 10920 9603 \n3 11964 9708 10934 \n3 9708 10929 10934 \n3 10708 9884 10060 \n3 11175 10708 10060 \n3 10709 9884 10708 \n3 10279 9741 9745 \n3 9887 10067 10065 \n3 3837 1894 11873 \n3 8678 9889 9789 \n3 10491 9887 9888 \n3 10067 9887 10491 \n3 14132 1692 10147 \n3 10712 10068 10281 \n3 10071 9609 10073 \n3 6729 4060 6766 \n3 12932 9700 11964 \n3 9598 10052 10053 \n3 10072 10927 9891 \n3 13415 5408 11389 \n3 8351 7113 1872 \n3 8529 4649 7565 \n3 10926 9752 10074 \n3 9890 10926 10715 \n3 10926 9890 9752 \n3 4649 8529 8535 \n3 10271 10053 10268 \n3 9893 9897 10075 \n3 9193 9611 11410 \n3 10496 9902 9895 \n3 7565 4649 7547 \n3 2893 480 3736 \n3 7535 6584 7557 \n3 10902 12925 9695 \n3 10078 9897 9899 \n3 12899 11934 12911 \n3 14152 9251 10204 \n3 9216 9641 9502 \n3 10075 9897 10078 \n3 9754 9899 9897 \n3 9536 9531 5662 \n3 9617 10498 9476 \n3 10745 10950 10949 \n3 11243 10998 11480 \n3 10724 10498 9617 \n3 10902 9695 7366 \n3 14570 10080 10082 \n3 14570 9900 10080 \n3 8503 8227 8371 \n3 2379 2412 11812 \n3 9899 9906 10085 \n3 10085 9906 10508 \n3 11430 11655 10506 \n3 10510 9760 9620 \n3 10505 10290 10291 \n3 10085 10946 10943 \n3 9478 10082 11195 \n3 8511 3629 6646 \n3 10092 10294 10289 \n3 10090 10086 9339 \n3 1518 1178 472 \n3 3437 13568 13569 \n3 9771 10295 9626 \n3 11657 3053 14178 \n3 10289 10286 10092 \n3 3539 1232 4672 \n3 1364 11349 8270 \n3 9626 10295 9910 \n3 7778 7173 8195 \n3 9912 10294 9768 \n3 7635 5747 4714 \n3 9915 10526 10300 \n3 10309 9097 7904 \n3 3811 6797 8687 \n3 10282 82 6342 \n3 9916 10304 10299 \n3 11142 13171 5048 \n3 9883 9901 7863 \n3 9922 9918 10100 \n3 10299 10304 10302 \n3 10100 9926 9922 \n3 11659 10633 8249 \n3 9883 7863 7866 \n3 10105 10102 10310 \n3 6142 8173 1720 \n3 2397 13752 2408 \n3 10422 14339 5064 \n3 9774 9922 10107 \n3 5635 4604 3608 \n3 10105 10106 10102 \n3 10102 10106 10104 \n3 10103 9923 10112 \n3 5388 4516 4707 \n3 10142 10561 10150 \n3 14160 8618 14165 \n3 7654 8043 7775 \n3 10115 10106 10105 \n3 7291 14660 13744 \n3 9304 6437 3404 \n3 4695 8915 2478 \n3 10317 10123 10114 \n3 10114 10119 10109 \n3 10119 10543 10109 \n3 10106 10122 10104 \n3 10120 10121 10106 \n3 10115 10120 10106 \n3 10122 10116 10113 \n3 10104 10122 10113 \n3 6739 7656 8620 \n3 11917 11915 563 \n3 10114 10124 10119 \n3 10114 10118 10124 \n3 10122 9930 10116 \n3 10111 10107 10110 \n3 10124 10125 10119 \n3 10326 10128 10120 \n3 10120 10126 10121 \n3 10549 10316 10113 \n3 10118 10127 10124 \n3 11900 9655 8453 \n3 11058 11042 9947 \n3 10126 10120 10128 \n3 10127 10130 10124 \n3 10124 10130 10125 \n3 9029 4149 7942 \n3 10324 10134 10118 \n3 10130 10335 10125 \n3 10324 10118 10123 \n3 9930 10132 10329 \n3 10118 10134 10127 \n3 9934 9932 10127 \n3 3982 7010 8919 \n3 4469 5476 11519 \n3 10324 10332 10337 \n3 10324 10337 10134 \n3 10333 10128 10326 \n3 4703 5877 2498 \n3 10140 10144 9932 \n3 9903 3134 1980 \n3 10128 10333 10126 \n3 10860 11900 11897 \n3 10139 10143 10134 \n3 10333 10141 10126 \n3 10379 3394 5369 \n3 11969 9743 1135 \n3 10335 10148 10136 \n3 10148 10335 10144 \n3 9535 9246 10419 \n3 10132 9935 10146 \n3 10139 10142 10143 \n3 7517 6619 6606 \n3 10140 9937 10144 \n3 10343 10145 10333 \n3 10333 10145 10141 \n3 10145 10149 10141 \n3 13892 402 1599 \n3 10142 10150 10143 \n3 10143 10151 9934 \n3 10144 9937 10148 \n3 10148 10345 10136 \n3 10136 10345 10341 \n3 10143 10150 10151 \n3 12856 11877 11897 \n3 10151 10152 10140 \n3 6920 9856 8800 \n3 11117 7080 11170 \n3 10141 10149 10146 \n3 10176 10178 9787 \n3 10343 10159 10145 \n3 10145 10156 10149 \n3 10146 10149 10161 \n3 10161 10344 10146 \n3 14414 9515 7355 \n3 9937 10158 10148 \n3 10148 10158 10345 \n3 5752 3447 3443 \n3 3588 2025 3547 \n3 14698 9729 3331 \n3 10145 10159 10156 \n3 9937 10140 10152 \n3 10150 10157 10151 \n3 10157 10152 10151 \n3 9716 9566 8870 \n3 10159 10343 10352 \n3 10157 10350 10152 \n3 14959 12933 7975 \n3 10350 10162 10158 \n3 10161 10349 10344 \n3 10162 10355 10345 \n3 10345 10158 10162 \n3 12249 12250 13359 \n3 9150 9286 9709 \n3 10359 10349 10161 \n3 10844 13906 8412 \n3 10140 9934 10151 \n3 12772 6370 10750 \n3 5374 4215 5359 \n3 11403 10487 10488 \n3 6458 9844 9840 \n3 10164 10373 10374 \n3 10363 10162 10358 \n3 10166 10165 10836 \n3 11867 10487 11403 \n3 8468 8464 6589 \n3 5566 7492 7483 \n3 9942 10168 10376 \n3 10187 11089 11801 \n3 7295 5335 8232 \n3 9313 9172 9310 \n3 14947 3019 14517 \n3 11290 11039 11036 \n3 10380 9943 9635 \n3 10170 10380 9783 \n3 10260 7968 3733 \n3 6493 5341 6495 \n3 5152 4785 4984 \n3 8232 5335 7290 \n3 10382 10174 10607 \n3 3803 1350 4997 \n3 11095 1711 13274 \n3 9948 9950 10174 \n3 10176 9787 10173 \n3 10389 9950 9951 \n3 13953 12997 13019 \n3 14689 11213 14699 \n3 10069 10194 2098 \n3 10176 10391 10178 \n3 11577 12559 13610 \n3 9223 9370 9953 \n3 9250 9394 9109 \n3 9791 9952 10391 \n3 10823 12824 10824 \n3 9791 10391 10180 \n3 11627 12618 10605 \n3 10180 10181 9791 \n3 10572 10359 10819 \n3 9707 10011 10463 \n3 9955 10181 10619 \n3 10620 9644 9956 \n3 9464 8452 6578 \n3 10611 10613 10387 \n3 9645 10619 10183 \n3 12814 8379 9605 \n3 10184 9956 9795 \n3 10184 9795 9506 \n3 1564 1558 515 \n3 10773 5787 3744 \n3 2585 2612 2611 \n3 10188 10187 9796 \n3 7507 7521 10601 \n3 10861 11090 9958 \n3 10191 9512 10401 \n3 14225 10980 10825 \n3 11332 11552 11329 \n3 10402 10199 9810 \n3 9230 10402 9810 \n3 13784 14922 5693 \n3 6724 10739 9633 \n3 10199 10197 10631 \n3 11266 7726 12270 \n3 7769 6713 7749 \n3 9577 10807 13870 \n3 11337 11334 11561 \n3 11581 10636 10201 \n3 10807 12794 12767 \n3 9662 9660 10636 \n3 14141 12029 4475 \n3 9809 13057 11013 \n3 11104 10410 9816 \n3 6844 1190 3507 \n3 10563 10555 9468 \n3 10206 9818 9524 \n3 14109 1264 7642 \n3 9682 14432 1055 \n3 11511 8253 3128 \n3 5150 3095 14660 \n3 9665 10208 9974 \n3 6309 5884 6016 \n3 9664 10412 10207 \n3 9444 487 6557 \n3 3400 3497 3601 \n3 8222 6388 8216 \n3 6562 7066 6871 \n3 10419 9246 9977 \n3 10419 9977 10870 \n3 11594 11121 11125 \n3 3585 1281 4727 \n3 9981 9532 10420 \n3 3252 3259 2696 \n3 9532 9668 10420 \n3 9163 9162 9040 \n3 9981 10420 11119 \n3 10210 9823 10649 \n3 7900 7766 8175 \n3 10415 9976 9670 \n3 9872 10042 9587 \n3 2865 7316 3960 \n3 7796 6895 8774 \n3 10040 9452 9453 \n3 10423 9980 9982 \n3 13077 11037 11033 \n3 9826 11119 10650 \n3 9825 9983 9826 \n3 11119 9826 9983 \n3 10523 8401 9425 \n3 10878 9984 10427 \n3 9600 8557 6693 \n3 3725 10237 14923 \n3 11124 11126 11123 \n3 4855 5329 5226 \n3 9987 9684 10216 \n3 10216 9984 10878 \n3 9984 10216 9684 \n3 10216 10430 9987 \n3 9827 9683 9987 \n3 9827 9987 9830 \n3 4753 6739 8637 \n3 9685 11125 9125 \n3 11598 9831 10433 \n3 11598 9685 9831 \n3 14552 14086 14544 \n3 8851 9137 9139 \n3 13790 3228 6593 \n3 10435 10221 10655 \n3 10436 9993 10224 \n3 5236 3010 6459 \n3 8229 9276 9315 \n3 9694 10435 10656 \n3 9996 9262 9836 \n3 12641 13676 11627 \n3 9143 9019 9018 \n3 9687 9993 10434 \n3 3881 6863 4880 \n3 9998 10227 10443 \n3 9836 10444 10438 \n3 3881 7796 6863 \n3 9839 10444 9836 \n3 6705 7619 10695 \n3 10440 10232 9696 \n3 6525 4509 2524 \n3 8614 7575 6441 \n3 13080 9382 12926 \n3 9553 11789 3194 \n3 9843 9697 9552 \n3 11111 6144 10002 \n3 11054 11528 12661 \n3 10465 10239 11138 \n3 13824 13811 3879 \n3 6520 6528 8380 \n3 8612 8747 8911 \n3 13043 13309 13310 \n3 11143 10462 10005 \n3 10240 10454 10455 \n3 9847 10452 9839 \n3 9843 9421 10236 \n3 7661 6584 6604 \n3 14151 2471 8584 \n3 7870 7861 6764 \n3 10005 10462 10242 \n3 3438 1285 5523 \n3 10011 10012 10899 \n3 1946 2947 1928 \n3 10454 10240 10243 \n3 6584 7661 7607 \n3 10673 10019 10459 \n3 10239 10465 10241 \n3 9400 2518 4495 \n3 11113 11063 14703 \n3 10236 10008 11148 \n3 9540 9683 9827 \n3 10003 10900 10901 \n3 11751 10489 11756 \n3 13232 12192 14273 \n3 9854 9709 11150 \n3 10263 9875 10693 \n3 12951 11978 13998 \n3 3234 5352 11871 \n3 11378 10020 9854 \n3 7595 6691 8557 \n3 3685 1763 2746 \n3 4041 8972 6110 \n3 6819 5394 5371 \n3 10452 10015 10471 \n3 5248 11841 14921 \n3 10019 9575 9571 \n3 14166 14187 1692 \n3 9278 10027 9860 \n3 8487 8489 8490 \n3 14075 6067 13877 \n3 10017 10672 10018 \n3 10707 11638 10920 \n3 10021 9567 11383 \n3 10472 10023 9716 \n3 11738 10734 9508 \n3 10476 9722 10254 \n3 10476 10257 9722 \n3 10032 10036 10259 \n3 10262 10261 10687 \n3 3471 1377 5575 \n3 10255 9862 10685 \n3 9723 10257 9579 \n3 10261 10262 10038 \n3 10262 10041 10038 \n3 9696 10232 10006 \n3 13787 14849 7185 \n3 4772 12570 14535 \n3 10042 10911 9587 \n3 7217 5210 6267 \n3 10911 10480 9587 \n3 13750 9041 11701 \n3 14920 5301 12760 \n3 10478 10040 9877 \n3 14116 13057 14130 \n3 1658 5952 1645 \n3 9369 6490 11501 \n3 10267 10698 10484 \n3 10702 10048 10047 \n3 10702 10486 10048 \n3 4701 5094 5184 \n3 10048 10486 9595 \n3 9112 9528 9246 \n3 10051 9735 10487 \n3 10487 9735 10488 \n3 10054 10488 9735 \n3 9057 36 11286 \n3 10487 11171 10485 \n3 11867 11171 10487 \n3 5799 6848 6837 \n3 9604 10060 9884 \n3 10065 10064 10063 \n3 14510 14020 13461 \n3 11179 10712 10281 \n3 13300 11266 14354 \n3 7790 6716 5634 \n3 10713 10071 10073 \n3 7631 7886 7750 \n3 10711 9891 10927 \n3 10071 10713 10074 \n3 10713 10073 9892 \n3 9892 9608 10068 \n3 12508 12507 10897 \n3 11248 11003 11478 \n3 11410 10493 10283 \n3 9898 9753 10494 \n3 9753 10495 10494 \n3 10934 10929 6387 \n3 9695 12925 12938 \n3 5769 5799 5785 \n3 7561 5662 6668 \n3 9611 9336 10933 \n3 5798 9251 9320 \n3 12140 13163 8655 \n3 6181 2487 4665 \n3 10504 9614 9761 \n3 10082 10080 10723 \n3 8146 8147 7862 \n3 4648 4676 5769 \n3 10081 9902 10729 \n3 9175 11396 8004 \n3 7904 12326 10309 \n3 10932 9908 9756 \n3 9618 10286 10940 \n3 3643 1697 12457 \n3 2755 7619 4700 \n3 11939 4022 11915 \n3 9487 10093 10738 \n3 5418 7357 3430 \n3 10742 10291 10290 \n3 11623 10907 11159 \n3 10513 9912 9624 \n3 12641 12637 13652 \n3 3637 14731 14017 \n3 10515 10516 9913 \n3 6225 1163 5177 \n3 10767 14835 13713 \n3 10753 10526 9915 \n3 9658 9656 10199 \n3 10756 10972 10753 \n3 11675 11686 11668 \n3 11796 14680 13879 \n3 10300 10526 10301 \n3 10961 10520 10522 \n3 10761 10522 10524 \n3 9624 9768 9346 \n3 10624 7139 10617 \n3 14918 3194 5253 \n3 3741 2647 2617 \n3 11457 2031 4300 \n3 10304 10306 10302 \n3 10306 10531 10302 \n3 11416 11396 9176 \n3 9934 10127 10134 \n3 10767 13713 10755 \n3 13674 13693 10985 \n3 3040 10138 5282 \n3 10532 10310 10102 \n3 13007 12609 12792 \n3 9918 10535 10100 \n3 9793 9956 9644 \n3 11357 11387 12370 \n3 10310 10536 10105 \n3 10428 12411 11380 \n3 3023 8581 3017 \n3 9918 10300 10303 \n3 9901 9883 11997 \n3 10307 10306 10103 \n3 10179 6267 8097 \n3 9428 9564 9291 \n3 7367 9340 12485 \n3 10307 10317 10537 \n3 5727 6235 6083 \n3 13504 8285 11436 \n3 8615 8473 8746 \n3 10307 10112 10317 \n3 11645 9427 14795 \n3 5510 5513 7440 \n3 10114 10537 10317 \n3 9926 10100 10785 \n3 9761 10086 10504 \n3 4370 9304 3404 \n3 13522 9431 9438 \n3 12387 7990 7980 \n3 13831 12845 13840 \n3 10112 10548 10317 \n3 121 14013 12125 \n3 10111 10792 10547 \n3 10546 10120 10115 \n3 7909 3690 5826 \n3 10318 10792 10110 \n3 10110 10792 10111 \n3 10543 10119 10544 \n3 10548 10112 10547 \n3 13439 96 9138 \n3 10123 10317 10548 \n3 13274 1711 14284 \n3 11252 12161 12395 \n3 14067 12058 8943 \n3 871 2654 4771 \n3 9585 9167 9311 \n3 10609 13683 10617 \n3 10119 10125 10544 \n3 10125 10545 10544 \n3 12637 10616 11645 \n3 10123 10548 10324 \n3 9030 6185 5130 \n3 10326 10120 10546 \n3 11412 12094 11187 \n3 5373 8279 9283 \n3 10323 10332 10324 \n3 9473 9610 9750 \n3 10125 10550 10545 \n3 9930 10329 10116 \n3 5229 4962 5132 \n3 2168 5571 4443 \n3 13834 9553 14671 \n3 1340 1465 1168 \n3 10798 10333 10326 \n3 6708 13347 12495 \n3 7521 4604 7539 \n3 10335 10136 10550 \n3 10550 10136 10795 \n3 10724 10727 10937 \n3 9932 10130 10127 \n3 13052 13069 8480 \n3 10337 10332 10557 \n3 11284 11734 11281 \n3 4950 3940 1979 \n3 10134 10143 9934 \n3 14239 2416 4383 \n3 10136 10341 10795 \n3 10553 10343 10333 \n3 10557 10340 10337 \n3 1996 3719 14746 \n3 10340 10139 10337 \n3 12572 10457 6145 \n3 14841 4619 2522 \n3 8511 7542 6639 \n3 10361 8262 4340 \n3 8937 6834 7877 \n3 10833 11046 10597 \n3 10806 10132 10146 \n3 5248 14917 9549 \n3 10560 10341 10346 \n3 10142 10139 10340 \n3 10149 10156 10161 \n3 10346 10341 10345 \n3 10146 10344 10806 \n3 10142 10342 10561 \n3 10263 10693 10694 \n3 10346 10348 10560 \n3 10343 10553 10352 \n3 4838 920 2325 \n3 6406 6459 599 \n3 10157 10150 10354 \n3 5534 10252 10248 \n3 10109 10543 10314 \n3 10345 10355 10346 \n3 13647 11694 14689 \n3 10348 10346 10355 \n3 10248 6966 5534 \n3 10348 10565 10560 \n3 10997 10537 10109 \n3 10150 10561 10354 \n3 7521 7507 5613 \n3 9122 8996 9402 \n3 811 14167 755 \n3 7823 6770 5648 \n3 3506 4694 4648 \n3 8468 6595 10589 \n3 10350 10157 10357 \n3 10354 10561 11032 \n3 10352 10569 10159 \n3 10353 10359 10161 \n3 10156 10159 10353 \n3 10161 10156 10353 \n3 10357 10362 10350 \n3 10362 10358 10350 \n3 11799 11794 13850 \n3 10355 10570 10348 \n3 10159 10366 10353 \n3 10355 10573 10570 \n3 10569 10365 10159 \n3 10365 10366 10159 \n3 10366 10359 10353 \n3 11611 11604 7111 \n3 10571 10362 10357 \n3 10355 10162 10363 \n3 10366 10819 10359 \n3 10571 10579 10362 \n3 10573 10363 10581 \n3 10365 10367 10366 \n3 10362 10370 10358 \n3 7053 7058 6552 \n3 2417 2719 2829 \n3 3928 3974 7020 \n3 10559 10576 11606 \n3 9948 10382 9944 \n3 4328 7297 6395 \n3 9963 9232 10630 \n3 10373 10164 10595 \n3 10839 10377 9941 \n3 10376 10168 10600 \n3 6527 6686 6105 \n3 3064 3073 6096 \n3 3569 1241 3583 \n3 10838 10600 10168 \n3 9941 10166 10839 \n3 10203 9516 8657 \n3 10836 10165 10374 \n3 11577 13610 10583 \n3 9402 9670 9122 \n3 10842 10171 9785 \n3 7095 11577 10583 \n3 5359 8668 5374 \n3 14743 2179 10575 \n3 10380 10843 9943 \n3 10168 10171 10842 \n3 10173 10172 10383 \n3 3932 5066 1627 \n3 8784 1005 989 \n3 8222 6399 6388 \n3 11493 11259 11261 \n3 10174 10385 10610 \n3 10309 10311 9097 \n3 10385 10386 10610 \n3 10174 9950 10385 \n3 10385 10389 10386 \n3 10173 9787 9949 \n3 10387 10390 10176 \n3 10390 10391 10176 \n3 2960 11797 7961 \n3 10556 11585 12583 \n3 10556 12583 14648 \n3 10389 10393 10615 \n3 14699 14725 14689 \n3 497 404 561 \n3 8701 8707 9271 \n3 11556 10556 14648 \n3 7167 11471 604 \n3 9022 9858 9278 \n3 9952 10178 10391 \n3 14763 6000 14499 \n3 10180 10394 10181 \n3 10856 10393 10618 \n3 7483 10563 9468 \n3 11463 10972 11218 \n3 8342 8058 8624 \n3 8141 8556 9141 \n3 14143 11040 2471 \n3 10183 10188 9797 \n3 10823 9594 12811 \n3 10184 9506 11090 \n3 6411 7541 6501 \n3 7191 7213 9322 \n3 2876 2873 12772 \n3 9962 9806 9963 \n3 10191 10628 9808 \n3 10197 11807 10631 \n3 12661 12848 11983 \n3 9512 10191 9808 \n3 2611 2630 2648 \n3 10199 10402 10629 \n3 11578 10630 11347 \n3 11581 10201 9968 \n3 9662 10636 10407 \n3 9660 10201 10636 \n3 10407 11104 9816 \n3 14905 14660 3095 \n3 9816 10410 9519 \n3 11103 10203 11105 \n3 10206 9519 10410 \n3 11105 10203 10207 \n3 10207 10412 11105 \n3 9171 9312 9311 \n3 14663 14906 14179 \n3 10206 9521 9519 \n3 2283 8159 8184 \n3 5357 14931 9674 \n3 11631 14651 13549 \n3 12803 5749 13895 \n3 6347 9070 6400 \n3 9977 9974 10643 \n3 10416 11355 10645 \n3 10416 10210 11355 \n3 10649 11118 10210 \n3 10646 9978 10647 \n3 8580 8022 5314 \n3 9978 10417 10647 \n3 10219 7215 9156 \n3 9533 10648 9534 \n3 12854 14932 14962 \n3 9668 10646 10871 \n3 9534 10875 9675 \n3 10875 9534 10648 \n3 14472 10360 9261 \n3 8115 12498 11529 \n3 1623 1855 1927 \n3 11653 7324 5102 \n3 9980 10423 11592 \n3 12130 8656 14194 \n3 11120 10427 10425 \n3 9983 9825 9114 \n3 9840 13100 8638 \n3 10878 10430 10216 \n3 10046 10265 9592 \n3 9668 10871 10420 \n3 11579 11809 11581 \n3 10668 10888 10660 \n3 10045 10070 10026 \n3 10434 9993 10436 \n3 7039 7951 6086 \n3 8210 8183 7271 \n3 6338 5276 7248 \n3 12153 10456 10467 \n3 10434 10433 9687 \n3 9890 9610 9752 \n3 3419 9101 6826 \n3 5288 14651 13523 \n3 10666 10227 10438 \n3 9998 9996 10438 \n3 9609 9472 9333 \n3 10003 10466 10900 \n3 10437 10224 10443 \n3 10656 10440 9694 \n3 10659 10232 10440 \n3 6319 7239 6317 \n3 10664 10232 10659 \n3 10895 9843 10236 \n3 10654 9830 10651 \n3 10453 10232 10664 \n3 10895 9697 9843 \n3 11476 9256 12504 \n3 10444 9839 10452 \n3 10451 10669 10459 \n3 10660 10454 10668 \n3 10451 10459 10455 \n3 10452 10674 10444 \n3 13274 14290 12347 \n3 5526 2146 4443 \n3 10901 10008 10003 \n3 9600 6693 6705 \n3 11483 13496 11496 \n3 2630 2706 2648 \n3 10240 10455 10459 \n3 11359 10420 10871 \n3 10063 9463 9059 \n3 11611 10605 12618 \n3 14094 5288 12599 \n3 10489 13802 11756 \n3 8329 11756 13802 \n3 11516 9239 11472 \n3 5428 13549 5414 \n3 3216 3532 2875 \n3 10673 10459 10669 \n3 10465 9565 10241 \n3 10899 10667 10011 \n3 10899 10012 10242 \n3 10243 10672 10668 \n3 11427 14504 14496 \n3 9900 9898 10080 \n3 10236 10676 10895 \n3 6515 7418 9395 \n3 11147 11150 10016 \n3 14298 8738 8758 \n3 7197 1206 5227 \n3 2060 6370 6367 \n3 10674 10471 10469 \n3 11416 12401 11396 \n3 10674 10452 10471 \n3 9854 11150 11378 \n3 2931 3890 12007 \n3 10062 12247 11246 \n3 11383 10249 10021 \n3 4487 4457 8229 \n3 10681 11152 9857 \n3 11152 10472 9857 \n3 9938 1406 14215 \n3 11416 10388 12404 \n3 3914 1481 2802 \n3 11156 11383 9567 \n3 8878 8865 7893 \n3 11738 11735 10734 \n3 13470 14094 12599 \n3 9567 9295 11156 \n3 11154 10027 10474 \n3 13998 11978 10931 \n3 10685 9862 10032 \n3 10685 10032 10259 \n3 9741 9188 9463 \n3 12404 14457 11416 \n3 8415 7450 9444 \n3 11619 12070 11154 \n3 9579 10257 10687 \n3 10893 10449 9697 \n3 13137 13139 12053 \n3 10261 10038 10035 \n3 9746 10709 11179 \n3 4716 4696 8928 \n3 10481 9590 10483 \n3 10690 9877 9590 \n3 4589 7507 5589 \n3 10701 9490 11731 \n3 11629 10911 10691 \n3 13022 2431 6652 \n3 10041 10689 10042 \n3 11989 12968 7410 \n3 9875 10480 10693 \n3 9878 10263 10047 \n3 4951 8831 7866 \n3 8771 6680 13071 \n3 10056 10271 11401 \n3 9985 8770 8772 \n3 6482 6490 9369 \n3 9891 10491 9888 \n3 10274 10488 10054 \n3 6680 8771 6683 \n3 10049 10046 9732 \n3 6161 11702 11717 \n3 9882 10920 10704 \n3 13538 13532 5252 \n3 4046 6676 6731 \n3 11405 10274 10704 \n3 10708 10277 10709 \n3 13430 10428 10441 \n3 10448 12432 8034 \n3 10064 11407 10279 \n3 3044 11630 7275 \n3 5210 5195 8097 \n3 10542 4772 14482 \n3 11382 11385 10254 \n3 11477 6916 11443 \n3 10712 9892 10068 \n3 9075 9243 6821 \n3 7710 10514 14922 \n3 10716 9895 9893 \n3 9893 10928 10716 \n3 11410 9611 11643 \n3 13058 2255 9807 \n3 8291 9486 11707 \n3 9754 9906 9899 \n3 9091 3211 6242 \n3 11185 10719 10496 \n3 4386 9319 11441 \n3 9304 10395 13477 \n3 8097 6267 5210 \n3 9201 9756 9908 \n3 9905 10725 11190 \n3 9614 10504 11423 \n3 10940 10501 9618 \n3 10727 9760 10510 \n3 10943 9899 10085 \n3 9115 10175 4161 \n3 10731 9908 11424 \n3 150 8743 2505 \n3 4620 11560 13410 \n3 10086 10090 11197 \n3 10081 10506 10084 \n3 8722 14283 14287 \n3 11060 3547 8779 \n3 6888 4703 4677 \n3 4885 13367 2781 \n3 7411 7534 7294 \n3 11195 10738 10093 \n3 14685 14929 11843 \n3 8090 6230 8063 \n3 1167 807 9479 \n3 9911 10097 9622 \n3 9482 9908 10731 \n3 11902 10742 10290 \n3 1720 1933 6142 \n3 10741 10510 9910 \n3 243 294 268 \n3 10090 11439 11197 \n3 10097 10740 9623 \n3 8740 7797 4887 \n3 8080 8371 8227 \n3 10738 10744 9913 \n3 10747 10295 10515 \n3 4783 8965 11330 \n3 9074 7160 8051 \n3 13696 12982 13918 \n3 10524 10522 10520 \n3 10524 10520 10521 \n3 4463 4881 4781 \n3 3764 8721 4097 \n3 8115 9309 10539 \n3 10299 10756 10753 \n3 10517 9912 11203 \n3 8711 12186 13196 \n3 10521 10529 10524 \n3 10524 10529 10761 \n3 9437 5079 14896 \n3 10301 10303 10300 \n3 1536 6161 3834 \n3 10978 10301 10526 \n3 7021 9116 9132 \n3 10988 10529 10521 \n3 13946 13950 12238 \n3 10772 10532 10102 \n3 10530 10983 10763 \n3 6209 4127 8054 \n3 10083 4125 9052 \n3 10975 10756 10299 \n3 5780 9363 4562 \n3 4883 8763 5953 \n3 10766 10983 10530 \n3 12387 12412 7990 \n3 11903 12577 12344 \n3 10532 10534 10530 \n3 10415 11114 11586 \n3 10534 10532 10772 \n3 2648 2706 3823 \n3 5471 5459 11106 \n3 10987 10532 10530 \n3 10760 10521 10977 \n3 10531 10307 10537 \n3 11861 12920 12532 \n3 10388 11416 9176 \n3 11387 12366 13385 \n3 10329 10796 10789 \n3 10775 10105 10536 \n3 1935 13706 13727 \n3 7854 7599 7993 \n3 10310 10532 10536 \n3 10789 10116 10329 \n3 10100 10535 10999 \n3 10546 10788 10326 \n3 14510 13461 11560 \n3 8436 416 9646 \n3 12681 12025 12463 \n3 10775 11001 11250 \n3 10779 10115 10105 \n3 10055 6201 8046 \n3 14445 13410 11559 \n3 10781 10314 10543 \n3 8036 6187 10083 \n3 8498 7545 7666 \n3 10112 10307 10103 \n3 10316 10549 10541 \n3 10785 10110 9926 \n3 10543 10544 10781 \n3 7762 6854 9800 \n3 13104 13122 9846 \n3 11925 12605 12359 \n3 10787 10781 10545 \n3 6142 6151 12584 \n3 11211 11451 10952 \n3 14241 3741 2600 \n3 8044 5130 6185 \n3 10090 9623 10740 \n3 5134 6159 7136 \n3 10792 10323 10547 \n3 10547 10323 10548 \n3 6606 8477 7517 \n3 8956 8990 10245 \n3 7980 12390 12387 \n3 10789 10549 10116 \n3 10789 10796 11259 \n3 11380 10388 10351 \n3 10797 10557 10332 \n3 10799 10795 10341 \n3 10801 10553 10798 \n3 11261 10804 11716 \n3 10798 10553 10333 \n3 10338 10796 10329 \n3 9841 6750 10945 \n3 8029 5122 8036 \n3 10806 10338 10132 \n3 10549 10113 10116 \n3 10132 10338 10329 \n3 5836 7966 5831 \n3 7295 8279 5373 \n3 9760 10727 10724 \n3 5724 7319 2267 \n3 11990 11770 11521 \n3 2215 2228 6196 \n3 12447 11443 12412 \n3 11218 10972 10970 \n3 10342 11272 10561 \n3 10446 6473 6477 \n3 9281 4457 7142 \n3 12306 10292 11320 \n3 10354 10357 10157 \n3 10565 10570 10566 \n3 14893 2949 5034 \n3 10788 11492 10798 \n3 12926 8669 13911 \n3 10571 10357 10354 \n3 10565 10348 10570 \n3 10568 10569 10558 \n3 10558 10569 10352 \n3 10014 6162 8021 \n3 9619 6281 11870 \n3 10568 10558 10811 \n3 10262 10687 10907 \n3 10570 10574 10566 \n3 10359 10572 10349 \n3 10573 10574 10570 \n3 12091 10495 11878 \n3 10568 10820 10569 \n3 7998 7120 3117 \n3 10573 10582 10574 \n3 14725 13647 14689 \n3 10573 10355 10363 \n3 10365 10569 10584 \n3 13572 6245 13560 \n3 9344 14985 5849 \n3 8184 8159 8182 \n3 11053 11051 11302 \n3 10581 10582 10573 \n3 4896 4798 4796 \n3 7998 3117 7090 \n3 10820 10584 10569 \n3 10584 10367 10365 \n3 14392 7203 5005 \n3 13572 11787 6245 \n3 10366 10826 10819 \n3 11480 10998 11484 \n3 10579 11045 10362 \n3 10370 10362 11045 \n3 9166 5247 6336 \n3 14972 11958 13974 \n3 10581 11050 10582 \n3 10597 11046 11305 \n3 10071 9752 9609 \n3 10174 10610 10607 \n3 3081 2121 1036 \n3 12434 2158 14445 \n3 10370 10587 10580 \n3 10580 10588 10581 \n3 1522 5241 5249 \n3 11041 10367 10584 \n3 9013 5085 5103 \n3 11045 10587 10370 \n3 10587 10588 10580 \n3 9614 11423 10725 \n3 12366 14439 13385 \n3 10587 10590 10588 \n3 10588 11050 10372 \n3 11050 10588 10831 \n3 4036 1012 5036 \n3 10833 10373 10592 \n3 6797 3811 3812 \n3 10373 10595 10593 \n3 11520 11744 11512 \n3 5217 7379 7391 \n3 10373 10833 10597 \n3 10804 11503 11716 \n3 5839 2825 12691 \n3 10593 10595 10598 \n3 11373 14250 1022 \n3 9776 10598 10595 \n3 14333 2158 12420 \n3 11316 10839 10166 \n3 10836 10597 11305 \n3 10376 10600 11059 \n3 10842 10840 10168 \n3 11311 11316 10836 \n3 8250 8232 12385 \n3 13078 14132 14131 \n3 5333 1962 7405 \n3 14667 7355 14662 \n3 9578 9440 8880 \n3 9785 10381 10842 \n3 10603 10842 10381 \n3 5991 6938 4952 \n3 13990 14694 14695 \n3 12306 9031 10292 \n3 10603 10607 10604 \n3 10603 10382 10607 \n3 10383 10172 9943 \n3 9943 10845 10383 \n3 11325 10603 10604 \n3 10607 10610 10604 \n3 10604 10610 10846 \n3 7050 2106 9990 \n3 10173 9949 10172 \n3 10611 10173 10383 \n3 10618 9644 10620 \n3 10611 10387 10173 \n3 9596 9734 9182 \n3 10610 10612 10846 \n3 12306 10258 10273 \n3 10610 10386 10612 \n3 5183 5217 3124 \n3 10173 10387 10176 \n3 11795 11337 11562 \n3 12288 11291 14366 \n3 9413 8840 9836 \n3 8967 6096 4047 \n3 10390 10387 10613 \n3 10846 10612 11077 \n3 11604 12600 11564 \n3 10615 10386 10389 \n3 10856 10615 10393 \n3 4064 6106 8966 \n3 10258 11296 6714 \n3 10855 10394 10390 \n3 1432 1727 1793 \n3 3632 12153 10467 \n3 10618 10393 9644 \n3 11104 12257 10639 \n3 5526 13487 2146 \n3 9317 9174 9592 \n3 11165 14250 11373 \n3 10180 10391 10390 \n3 12203 11748 11524 \n3 10646 9240 9819 \n3 11754 11748 12203 \n3 11153 14962 13944 \n3 10612 10852 11335 \n3 14855 14860 14612 \n3 10283 10932 9756 \n3 9534 8672 9533 \n3 10817 9582 12811 \n3 7025 8087 4314 \n3 8527 9540 8826 \n3 10619 11083 10859 \n3 4565 14165 14580 \n3 5537 10253 3283 \n3 10496 11411 11185 \n3 2056 6219 13171 \n3 11291 7759 11285 \n3 10191 10401 11572 \n3 1872 7113 13048 \n3 9958 10190 10861 \n3 8883 11137 13136 \n3 3381 5634 4521 \n3 12270 10186 12281 \n3 7321 14663 3106 \n3 6879 4682 6844 \n3 10864 10197 10199 \n3 2976 9576 2983 \n3 12504 9256 12558 \n3 9841 4051 6750 \n3 10700 13606 10677 \n3 10630 10403 11348 \n3 4703 2465 4677 \n3 10634 11348 9969 \n3 5009 6096 7945 \n3 9970 9815 10638 \n3 11592 11358 10873 \n3 10807 7280 12794 \n3 10410 11104 10639 \n3 690 14005 26 \n3 4135 13305 11100 \n3 7656 4734 6734 \n3 10869 10413 10644 \n3 9214 546 7129 \n3 13565 4475 8373 \n3 1665 3629 6639 \n3 10647 10417 11588 \n3 10417 9975 10872 \n3 10419 10870 11114 \n3 9975 10417 9530 \n3 3592 3936 3710 \n3 14987 10754 3811 \n3 10803 1814 14898 \n3 9977 10643 11109 \n3 10639 9818 10410 \n3 3637 7855 7864 \n3 6827 7904 9097 \n3 10874 10872 9975 \n3 9533 11817 10648 \n3 11592 10873 9980 \n3 7239 6345 9185 \n3 9192 9211 5625 \n3 9107 9112 8805 \n3 8051 7160 7144 \n3 10423 10213 11363 \n3 10875 10874 9675 \n3 7797 7807 4899 \n3 1055 3270 13968 \n3 11592 10423 11363 \n3 13297 10076 13300 \n3 12259 8850 12253 \n3 11119 11360 10650 \n3 10062 10076 13297 \n3 12117 12122 11921 \n3 10433 10434 11132 \n3 14340 10906 14927 \n3 10427 11126 10878 \n3 6262 8395 6261 \n3 11126 10427 11120 \n3 10651 10881 10654 \n3 6416 6565 7067 \n3 10456 12153 14292 \n3 10881 10882 10655 \n3 10655 10654 10881 \n3 9830 10430 10651 \n3 7452 5236 10982 \n3 11129 11130 10651 \n3 9315 8261 8229 \n3 10655 10884 10435 \n3 4958 14880 4977 \n3 10884 10656 10435 \n3 7267 6338 7248 \n3 10062 11246 7693 \n3 10437 10886 10436 \n3 10437 10658 10657 \n3 11251 9985 10013 \n3 10443 10227 10665 \n3 14241 3554 3570 \n3 14535 13522 13538 \n3 10658 10455 10657 \n3 10665 10451 10658 \n3 10666 10665 10227 \n3 10657 10455 10660 \n3 10451 10455 10658 \n3 1005 3409 4563 \n3 10885 10664 10659 \n3 10232 10453 10006 \n3 10453 10007 10006 \n3 10665 10669 10451 \n3 10890 11374 11138 \n3 9997 8782 11234 \n3 10665 10666 10669 \n3 4709 4738 14852 \n3 10896 10893 9697 \n3 12060 10434 11601 \n3 8608 6735 8616 \n3 4753 8637 5796 \n3 10666 10670 10669 \n3 10666 10674 10670 \n3 10666 10444 10674 \n3 10242 10462 10899 \n3 10454 10660 10455 \n3 11138 11147 10465 \n3 10667 10899 10897 \n3 10670 10673 10669 \n3 9775 9631 9777 \n3 10673 10670 10469 \n3 10670 10674 10469 \n3 10964 8813 7829 \n3 9596 9598 9734 \n3 11378 11151 10020 \n3 11619 11154 10474 \n3 10900 10679 11848 \n3 10472 10904 10023 \n3 7647 6724 5747 \n3 9364 9501 9951 \n3 11848 10249 11381 \n3 12666 13551 13081 \n3 10255 10685 10683 \n3 11159 10257 10476 \n3 10699 11400 11632 \n3 11159 10907 10257 \n3 10685 10259 10908 \n3 9823 9982 9980 \n3 3957 6955 6963 \n3 9649 2057 3361 \n3 4917 2812 4919 \n3 9117 10321 14434 \n3 10908 10037 11161 \n3 10262 11163 10041 \n3 11391 10478 10910 \n3 6963 7871 6005 \n3 12145 12383 11945 \n3 11392 10689 11163 \n3 9877 10690 10910 \n3 11160 11158 10685 \n3 10685 11158 10683 \n3 11127 4664 6783 \n3 11167 10911 11629 \n3 11161 10037 10478 \n3 4925 4932 7141 \n3 11443 11491 11477 \n3 10484 10917 10483 \n3 10047 10697 10702 \n3 10484 10698 10917 \n3 10693 10480 11167 \n3 10042 10691 10911 \n3 7200 5227 7211 \n3 8401 14204 9425 \n3 12041 12486 11817 \n3 10485 11171 11400 \n3 14743 5590 2179 \n3 10918 10268 10486 \n3 11401 10271 10268 \n3 11172 10056 11401 \n3 10485 11400 10699 \n3 4952 6938 3948 \n3 5252 13532 14577 \n3 11702 11714 11717 \n3 4481 2396 2315 \n3 11175 10060 9739 \n3 2693 3136 2696 \n3 9345 8931 9205 \n3 10709 11875 11179 \n3 12544 10067 10491 \n3 10092 9202 9483 \n3 10924 9892 10712 \n3 10925 10926 10074 \n3 10075 11414 10928 \n3 6834 8952 7877 \n3 9898 10494 11412 \n3 10075 10928 9893 \n3 11365 12053 12276 \n3 10067 10064 10065 \n3 10080 9898 11412 \n3 10927 11408 10711 \n3 11287 8954 8920 \n3 10925 10713 11409 \n3 10713 10925 10074 \n3 11385 11382 11851 \n3 13324 13328 12657 \n3 10075 10078 11414 \n3 5719 7613 8573 \n3 13290 12253 8817 \n3 4811 5862 5849 \n3 13256 8757 8722 \n3 1588 3576 14372 \n3 11424 9908 10932 \n3 2397 6427 9289 \n3 9937 10350 10158 \n3 4911 13576 13549 \n3 10062 5507 10076 \n3 14675 14671 9553 \n3 10728 10290 10505 \n3 10891 9689 12921 \n3 10719 11430 10729 \n3 10727 10733 10937 \n3 2462 11376 2399 \n3 5962 8774 6895 \n3 10290 10728 11433 \n3 10931 2978 4078 \n3 10738 11195 10732 \n3 9603 9188 9741 \n3 10508 10506 11440 \n3 9910 10510 9620 \n3 10510 10733 10727 \n3 14413 13399 4205 \n3 12067 11614 11838 \n3 11440 10946 10508 \n3 10508 10084 10506 \n3 10947 10742 11902 \n3 2729 9057 11286 \n3 14869 13352 7009 \n3 10741 10745 10510 \n3 10740 10097 10742 \n3 10947 10740 10742 \n3 2873 1846 12772 \n3 10515 10744 10747 \n3 10741 10295 10950 \n3 10741 10950 10745 \n3 10438 10227 9998 \n3 11203 11205 10517 \n3 10517 10289 10294 \n3 4489 5582 7777 \n3 14745 5889 1639 \n3 8718 8695 12184 \n3 11179 11875 12088 \n3 10752 10520 10965 \n3 8720 9933 12186 \n3 10957 11223 10968 \n3 937 938 940 \n3 10285 9068 9053 \n3 12338 11896 12343 \n3 9915 10299 10753 \n3 11667 11449 11450 \n3 10975 10758 11224 \n3 7155 9060 4132 \n3 11392 12075 10689 \n3 10983 11233 10763 \n3 8378 8092 7954 \n3 10978 10303 10301 \n3 13009 8532 10981 \n3 4666 6857 3507 \n3 12587 12735 2206 \n3 10760 10988 10521 \n3 10975 10302 10758 \n3 3134 4228 1980 \n3 10531 11473 10758 \n3 9788 9641 9787 \n3 10299 10302 10975 \n3 12763 12343 11896 \n3 4780 12223 13187 \n3 10763 10987 10530 \n3 12573 12574 12338 \n3 10531 10758 10302 \n3 10530 10534 10766 \n3 11906 11206 12574 \n3 2516 6754 11060 \n3 4713 4756 13710 \n3 8526 8811 8995 \n3 10775 10987 11001 \n3 10531 10537 10997 \n3 4899 5933 7797 \n3 14155 13486 13941 \n3 10307 10531 10306 \n3 9111 4885 14636 \n3 9868 9165 9586 \n3 10776 11002 10998 \n3 9001 4795 11286 \n3 11199 13171 8912 \n3 2729 2769 7003 \n3 5625 5596 9192 \n3 2281 14449 6555 \n3 10779 10775 11250 \n3 13202 11141 7569 \n3 10997 10109 10314 \n3 3576 3596 14372 \n3 10249 10679 9851 \n3 4803 2761 4852 \n3 10785 11486 11490 \n3 10779 11250 10546 \n3 12366 9187 12416 \n3 7980 7962 12390 \n3 10115 10779 10546 \n3 10541 11010 11484 \n3 9021 5128 10055 \n3 10755 13713 13695 \n3 11248 10781 11006 \n3 10100 11486 10785 \n3 5437 6556 3190 \n3 11008 11487 10788 \n3 7953 1996 1645 \n3 10550 10795 10793 \n3 10788 10546 11008 \n3 10550 10793 10787 \n3 10788 10798 10326 \n3 10794 11264 10797 \n3 11947 11243 11480 \n3 10795 10799 11257 \n3 11017 11257 10799 \n3 11492 11260 10801 \n3 11261 10796 10804 \n3 4434 8591 4461 \n3 8740 4875 7745 \n3 10560 10809 11018 \n3 11018 10799 10560 \n3 1774 5747 4731 \n3 10781 10544 10545 \n3 10805 10553 10801 \n3 14152 10204 11366 \n3 11267 10557 11264 \n3 11101 8666 11128 \n3 14859 544 6373 \n3 9885 12140 8655 \n3 10560 10799 10341 \n3 4257 8074 3041 \n3 10806 11023 10338 \n3 11672 11451 11454 \n3 10806 11270 11023 \n3 10808 10811 10558 \n3 10806 10562 11270 \n3 6629 7531 6634 \n3 11357 12390 7962 \n3 10809 10565 11268 \n3 10808 10553 10805 \n3 10338 10804 10796 \n3 5954 14430 12454 \n3 10809 10560 10565 \n3 14863 11289 14616 \n3 11517 10579 10571 \n3 4300 4285 8722 \n3 10562 10349 11279 \n3 12345 9101 14435 \n3 11858 11394 11628 \n3 10349 10572 11279 \n3 10812 10566 10574 \n3 260 157 189 \n3 10354 11032 10571 \n3 14853 14858 14864 \n3 10572 10819 11279 \n3 10571 11281 11517 \n3 10820 10568 11036 \n3 330 11816 2377 \n3 10822 10582 11050 \n3 9102 12345 11320 \n3 10582 10822 10574 \n3 9742 9884 10709 \n3 11502 11712 12407 \n3 2934 9266 5011 \n3 13122 8656 9845 \n3 4604 7521 4597 \n3 8763 4883 11923 \n3 11039 11041 10820 \n3 10584 10820 11041 \n3 5081 12824 12827 \n3 14439 12366 12416 \n3 11052 10826 10367 \n3 4383 6433 3396 \n3 5247 3287 6336 \n3 2714 7576 6669 \n3 10826 11522 10819 \n3 9011 14131 9518 \n3 11045 11301 10587 \n3 1692 14132 12207 \n3 12026 11798 13571 \n3 11301 10590 10587 \n3 1692 12211 14166 \n3 11307 10590 11301 \n3 10588 10590 11056 \n3 10588 11056 10831 \n3 9845 9846 13122 \n3 11733 10833 10592 \n3 11496 5541 10458 \n3 10590 11307 11056 \n3 11342 10401 10189 \n3 10593 10598 11054 \n3 2312 8210 3324 \n3 10593 10592 10373 \n3 13872 6254 8376 \n3 11311 11305 11994 \n3 4975 1216 7119 \n3 11748 11761 11307 \n3 3338 1277 1280 \n3 9298 10015 9702 \n3 10843 11322 11073 \n3 10843 10380 10377 \n3 10842 10603 11325 \n3 13078 14131 13069 \n3 6000 1756 14764 \n3 10258 6714 10273 \n3 11325 10604 11064 \n3 7977 7084 6110 \n3 67 82 86 \n3 14143 11033 9822 \n3 11335 11077 10612 \n3 10604 10846 11070 \n3 10847 10845 11075 \n3 3711 7095 6025 \n3 7048 7052 7056 \n3 10187 11801 11342 \n3 10846 11074 11070 \n3 12887 11548 11372 \n3 8216 13389 8222 \n3 10847 10611 10845 \n3 10846 11077 11074 \n3 11956 13038 12639 \n3 10850 10847 11075 \n3 8882 9158 8446 \n3 3991 2073 980 \n3 10850 10851 10847 \n3 8209 7269 8184 \n3 10851 10611 10847 \n3 128 152 114 \n3 5861 3538 3585 \n3 11795 10855 11337 \n3 3538 5861 5836 \n3 10850 11337 10851 \n3 9701 5839 6788 \n3 12813 13808 9042 \n3 10613 11337 10855 \n3 10851 11337 10613 \n3 11564 8180 11604 \n3 9894 1978 4213 \n3 13794 14815 14324 \n3 1781 1715 1635 \n3 14151 7488 13067 \n3 11083 10394 10855 \n3 11083 10855 11795 \n3 11555 11072 11554 \n3 815 3465 8460 \n3 14791 6294 14898 \n3 10394 11083 10181 \n3 10180 10390 10394 \n3 11090 11088 10184 \n3 10859 11089 10188 \n3 11287 10211 10223 \n3 11088 11567 10618 \n3 14818 8201 14800 \n3 7008 2616 2605 \n3 14165 4565 14160 \n3 12379 14163 13289 \n3 11647 13572 13560 \n3 9675 9249 9676 \n3 11808 9663 12813 \n3 12504 12558 13528 \n3 11572 11099 10628 \n3 11572 12685 11099 \n3 8302 14882 6269 \n3 13057 8572 13077 \n3 7471 11015 8577 \n3 10864 10199 10629 \n3 10628 10629 10402 \n3 11572 10628 10191 \n3 11581 10631 11579 \n3 10407 10636 11810 \n3 9967 10403 10630 \n3 10638 10637 9970 \n3 11810 10636 11581 \n3 14617 14857 14138 \n3 8903 12269 11285 \n3 8135 6108 6094 \n3 9347 8171 6033 \n3 11348 10634 12254 \n3 9523 9529 9389 \n3 3916 14646 10384 \n3 3141 13774 2015 \n3 7774 8188 7538 \n3 4034 3991 6080 \n3 11056 11302 10831 \n3 10643 11351 11109 \n3 10361 4340 2397 \n3 10188 10183 10859 \n3 4763 2808 7676 \n3 9977 11353 10870 \n3 7137 4963 4979 \n3 11355 10210 11118 \n3 10735 8319 14941 \n3 10871 10646 11115 \n3 10646 10647 11115 \n3 10647 11588 11115 \n3 10417 10872 11588 \n3 11126 11368 11129 \n3 7005 6059 6050 \n3 10649 10873 11118 \n3 2669 2648 3823 \n3 9396 8806 9108 \n3 13327 12347 13306 \n3 12354 12593 12356 \n3 6004 8165 2670 \n3 10036 10037 10259 \n3 10615 10852 10386 \n3 3013 7848 3964 \n3 5523 1278 7645 \n3 11126 11129 10878 \n3 12027 13107 10861 \n3 487 9444 7450 \n3 11598 10433 11132 \n3 14011 13989 14005 \n3 3173 3190 6556 \n3 3498 7428 6528 \n3 11135 10892 11375 \n3 10882 10885 10884 \n3 11702 14890 11714 \n3 8993 11093 6834 \n3 9985 11251 11249 \n3 10434 12060 11132 \n3 11044 2475 5466 \n3 4003 563 11915 \n3 10656 10884 10885 \n3 10886 10657 10660 \n3 6985 7914 6027 \n3 11834 11133 11603 \n3 10659 10656 10885 \n3 11135 10886 10888 \n3 11825 12486 12271 \n3 283 14852 14609 \n3 11710 11961 11957 \n3 10888 10668 10892 \n3 11135 10888 10892 \n3 14590 8729 14591 \n3 10463 10667 10892 \n3 11534 11538 12002 \n3 1989 2249 2156 \n3 8531 8500 10368 \n3 10892 10672 10463 \n3 12405 13749 13516 \n3 11138 11838 11147 \n3 8087 9132 10305 \n3 2028 13063 14211 \n3 10016 10465 11147 \n3 10892 10668 10672 \n3 10901 11149 11148 \n3 11148 10676 10236 \n3 11377 11615 10676 \n3 14290 13274 14284 \n3 5484 3498 6528 \n3 11152 10681 10903 \n3 5150 14660 7291 \n3 10469 10471 10250 \n3 10903 10681 10020 \n3 10024 11619 10474 \n3 11095 13274 13238 \n3 10472 11152 11616 \n3 10895 10676 11615 \n3 8974 9235 8654 \n3 12299 14256 10980 \n3 11381 10249 11383 \n3 10472 11616 10904 \n3 10393 9953 9644 \n3 11161 11160 10908 \n3 11162 10262 10907 \n3 11163 10262 11162 \n3 3227 11258 6268 \n3 11161 10478 11391 \n3 4681 13149 6842 \n3 2554 14606 4654 \n3 11163 10689 10041 \n3 10908 11160 10685 \n3 12075 10691 10689 \n3 10912 10910 10690 \n3 4696 8912 8928 \n3 10690 10481 10912 \n3 10911 11167 10480 \n3 10305 10308 8087 \n3 10917 10698 11632 \n3 10337 10139 10134 \n3 10697 10916 10702 \n3 6280 5982 5453 \n3 10702 10916 11399 \n3 13944 1872 13048 \n3 121 12125 106 \n3 10683 11158 11621 \n3 7975 12933 13052 \n3 11693 12342 13920 \n3 8452 8477 6606 \n3 3331 3353 3335 \n3 12755 1856 6364 \n3 11634 10268 10918 \n3 8885 13149 4681 \n3 10920 9741 10279 \n3 11971 11728 12180 \n3 7239 6299 6317 \n3 10920 11174 11173 \n3 10922 10708 11175 \n3 6896 6918 6886 \n3 11875 10709 10277 \n3 11407 11874 10707 \n3 11210 5195 9091 \n3 12943 14011 14005 \n3 6135 10002 6144 \n3 2647 2648 2669 \n3 10924 10713 9892 \n3 10924 11409 10713 \n3 11683 4673 746 \n3 13276 14298 8768 \n3 10716 10928 11881 \n3 12550 7391 2352 \n3 13913 13884 10518 \n3 14298 8758 8768 \n3 4941 5973 8810 \n3 5471 11106 6892 \n3 9611 11884 11643 \n3 13356 14395 14403 \n3 7606 7613 5719 \n3 5676 3657 8535 \n3 9611 10933 11884 \n3 11414 9899 11646 \n3 14297 8757 13256 \n3 11736 13695 12714 \n3 11189 11184 10724 \n3 10940 11194 11420 \n3 11190 10725 12327 \n3 10724 10937 11189 \n3 11190 11648 12099 \n3 11187 10723 10080 \n3 5460 4445 5451 \n3 7619 6705 4700 \n3 11184 10498 10724 \n3 4930 7829 5976 \n3 3803 5043 2744 \n3 12099 10505 11190 \n3 11423 10504 11651 \n3 9748 9887 10065 \n3 6094 887 6084 \n3 1640 14470 601 \n3 13911 8669 13950 \n3 12152 12383 12623 \n3 6722 10705 6712 \n3 13950 13946 13911 \n3 12099 10728 10505 \n3 10731 11424 11891 \n3 12136 12373 12612 \n3 11384 14225 14213 \n3 2728 4683 3685 \n3 11194 10940 10286 \n3 10732 10744 10738 \n3 10931 4078 13998 \n3 10969 10974 12143 \n3 10731 11891 11437 \n3 4527 4832 4946 \n3 4966 11686 13735 \n3 11443 6916 12412 \n3 11440 10506 11660 \n3 10733 10745 11200 \n3 10090 10740 11439 \n3 11433 11902 10290 \n3 11430 10719 11185 \n3 2548 6783 4664 \n3 10731 11437 10513 \n3 11442 10744 10732 \n3 10744 10515 9913 \n3 6571 7078 6884 \n3 9562 9704 10007 \n3 7588 4670 7595 \n3 12943 14005 13840 \n3 10950 10295 10747 \n3 11208 10950 10747 \n3 972 3919 13102 \n3 7595 3677 6691 \n3 10517 11444 10289 \n3 13605 13604 14263 \n3 13840 13080 13831 \n3 12827 11870 5081 \n3 10954 10968 10952 \n3 10952 10968 11211 \n3 11211 10968 10958 \n3 10958 11215 11211 \n3 10953 10957 10954 \n3 10520 10961 11212 \n3 7366 13978 10902 \n3 10954 10957 10968 \n3 10958 10960 11215 \n3 10520 11214 10965 \n3 10971 10958 10968 \n3 2994 1659 4178 \n3 11218 10959 11462 \n3 12098 11656 12567 \n3 11218 11462 11463 \n3 10752 10965 11220 \n3 13638 10700 12698 \n3 10522 10969 10961 \n3 10093 9478 11195 \n3 6754 2554 4654 \n3 10752 11220 11229 \n3 11218 10970 11223 \n3 11229 10977 10752 \n3 10974 10969 10522 \n3 7588 7581 5686 \n3 11223 11224 10971 \n3 10975 10970 10972 \n3 10970 10975 11223 \n3 9689 12896 9667 \n3 8573 4714 5719 \n3 10972 11222 10753 \n3 10526 11227 10978 \n3 11229 10983 10977 \n3 10498 11184 10495 \n3 5635 7542 4604 \n3 11747 10826 11052 \n3 10983 10760 10977 \n3 10522 10762 10974 \n3 221 2522 6783 \n3 11917 11939 11915 \n3 12933 14959 12081 \n3 6349 6338 7267 \n3 14934 13777 14432 \n3 10983 10766 10760 \n3 11908 11910 12118 \n3 12291 11614 12067 \n3 270 2312 2300 \n3 6395 6382 3349 \n3 12338 11898 11896 \n3 3507 3511 4666 \n3 13599 12906 14030 \n3 10987 10763 11236 \n3 10568 11288 11036 \n3 4229 4854 12832 \n3 4212 3876 3753 \n3 10987 11236 11237 \n3 10766 10992 10760 \n3 4179 5333 7405 \n3 11024 11272 10342 \n3 11262 10070 10098 \n3 12118 11910 12124 \n3 13595 740 7425 \n3 92 2744 5043 \n3 10992 10995 10988 \n3 3629 8511 6639 \n3 10794 10792 11012 \n3 7904 6827 5724 \n3 11473 10531 10997 \n3 10992 10988 10760 \n3 10775 10536 10987 \n3 12113 11911 12355 \n3 10772 10776 10992 \n3 10988 10995 11243 \n3 14585 8574 4385 \n3 9855 504 10951 \n3 10992 10998 10995 \n3 11475 11473 10997 \n3 10997 11478 11475 \n3 11248 11478 10314 \n3 7144 5141 8042 \n3 10105 10775 10779 \n3 3834 2775 13643 \n3 10776 10316 10541 \n3 13202 7569 8709 \n3 13911 13946 12942 \n3 5426 7872 8987 \n3 11356 14197 14187 \n3 11005 11003 11248 \n3 13133 12893 13372 \n3 7920 5426 8987 \n3 11060 4612 2516 \n3 13372 12893 12052 \n3 11006 11005 11248 \n3 11002 10541 11484 \n3 11948 11003 11005 \n3 9646 416 11905 \n3 14989 5847 3670 \n3 10187 11342 10189 \n3 11008 11250 11007 \n3 11141 9885 7569 \n3 10781 10787 11006 \n3 6472 9358 4425 \n3 11385 10476 10254 \n3 10787 11011 11006 \n3 1771 2301 1920 \n3 7717 7709 7467 \n3 10860 10865 11900 \n3 6892 4178 5471 \n3 4883 4884 11923 \n3 7682 7441 7325 \n3 10549 10789 11259 \n3 11012 10318 11490 \n3 11012 10792 10318 \n3 12349 12773 12348 \n3 10323 10792 10794 \n3 11257 11253 10793 \n3 11011 10793 11253 \n3 11492 10788 11487 \n3 5394 10782 5371 \n3 14470 1640 3755 \n3 5862 7745 4875 \n3 11489 11253 11257 \n3 6948 4727 1306 \n3 9353 9495 9497 \n3 11261 11259 10796 \n3 11553 10559 14692 \n3 10126 10141 9935 \n3 3334 9379 4562 \n3 14725 13638 13647 \n3 10801 10798 11492 \n3 10557 10797 11264 \n3 11263 11017 11018 \n3 14271 8397 6026 \n3 11497 11712 11260 \n3 13831 13911 13836 \n3 9789 9889 9874 \n3 10805 10801 11260 \n3 5107 1852 9245 \n3 2738 2712 3146 \n3 11500 11710 11263 \n3 12086 12316 11637 \n3 11880 11877 12856 \n3 10340 11267 11024 \n3 6063 3727 8190 \n3 5862 8700 7745 \n3 10805 11502 10808 \n3 9379 5780 4562 \n3 4811 8700 5862 \n3 11026 10811 11502 \n3 11502 10811 10808 \n3 10553 10808 10558 \n3 12846 7316 11877 \n3 6235 5727 5629 \n3 10566 11271 11268 \n3 11272 11024 11723 \n3 11028 11026 11276 \n3 11026 11028 10811 \n3 6029 4762 4750 \n3 10566 10812 11271 \n3 11023 11270 11967 \n3 12394 12157 12155 \n3 11270 10562 11274 \n3 11704 12631 12633 \n3 12947 12516 898 \n3 10812 11508 11509 \n3 10562 11279 11274 \n3 2505 8743 8797 \n3 8247 7297 4328 \n3 9871 10432 5627 \n3 2655 6629 6634 \n3 5553 9468 10555 \n3 10819 11520 11279 \n3 10574 11508 10812 \n3 11281 11734 11517 \n3 10049 10267 10046 \n3 4611 4616 4613 \n3 4077 544 2969 \n3 8645 14165 8631 \n3 4260 6436 4312 \n3 10822 11038 11508 \n3 10170 9941 10377 \n3 11520 10819 11522 \n3 10574 10822 11508 \n3 8480 7975 13052 \n3 11469 9340 7357 \n3 11290 11048 11039 \n3 11048 11041 11039 \n3 11036 11039 10820 \n3 11517 11045 10579 \n3 11745 11038 11051 \n3 11051 11053 11745 \n3 11733 11046 10833 \n3 14098 13217 13894 \n3 7271 2285 3324 \n3 12274 12053 11365 \n3 10340 11024 10342 \n3 10592 10593 11293 \n3 8412 13906 8395 \n3 11038 10822 11051 \n3 8342 8624 8206 \n3 6915 6888 6916 \n3 11520 11522 11991 \n3 11045 11517 11294 \n3 3890 4899 12007 \n3 10251 11287 10223 \n3 7449 8014 2433 \n3 11041 11049 11052 \n3 2973 2964 4078 \n3 6629 6620 6619 \n3 169 183 1206 \n3 11054 10598 11528 \n3 3398 3157 10414 \n3 11041 11303 11049 \n3 9577 6248 10807 \n3 11048 11303 11041 \n3 11049 11304 11052 \n3 6382 8210 2312 \n3 3005 6197 1834 \n3 13840 12034 12943 \n3 10631 11581 9968 \n3 12646 12422 12177 \n3 10887 9721 9717 \n3 12794 7280 9555 \n3 10838 11315 10600 \n3 14683 5418 3430 \n3 11311 10836 11305 \n3 7930 9119 9117 \n3 14132 13078 12207 \n3 11323 11325 11064 \n3 11064 11065 11318 \n3 14932 12854 12024 \n3 10377 10839 11322 \n3 10642 10596 4166 \n3 11322 10843 10377 \n3 8403 8358 7293 \n3 11068 11321 11327 \n3 14534 8306 8302 \n3 11064 11067 11065 \n3 11068 11073 11322 \n3 10840 10842 11325 \n3 12742 13428 12954 \n3 10604 11070 11064 \n3 11064 11070 11067 \n3 13836 12840 13831 \n3 11070 11329 11067 \n3 11072 11073 11068 \n3 4597 7521 5613 \n3 11070 11074 11329 \n3 10845 11073 11075 \n3 6080 4985 6022 \n3 13308 12173 13301 \n3 1223 4223 6317 \n3 11075 11073 11072 \n3 11074 11332 11329 \n3 2260 6227 3408 \n3 5397 7928 6834 \n3 11422 12347 11453 \n3 12200 12444 12203 \n3 8990 10270 10245 \n3 10861 11568 11090 \n3 412 2762 14873 \n3 12794 9555 13843 \n3 11799 13842 11794 \n3 8464 2589 3555 \n3 10852 10612 10386 \n3 14020 14510 13912 \n3 10613 10855 10390 \n3 11322 11321 11068 \n3 9987 10430 9830 \n3 14673 14414 13760 \n3 14320 14324 14815 \n3 6714 14766 3343 \n3 13850 11794 7259 \n3 6675 6670 2450 \n3 11567 11081 10618 \n3 3596 3576 4587 \n3 12268 12287 14364 \n3 10184 11088 10618 \n3 11762 12668 12220 \n3 11808 14925 7359 \n3 4605 4711 4514 \n3 6413 9778 13029 \n3 3961 14205 5081 \n3 7112 8189 11438 \n3 11342 11572 10401 \n3 11094 10861 10190 \n3 9264 11553 13543 \n3 4763 7676 10773 \n3 12030 12248 11578 \n3 10864 11807 10197 \n3 10629 10628 11099 \n3 11099 11805 10629 \n3 4316 7035 4304 \n3 9870 9587 9727 \n3 5553 4566 9468 \n3 11576 10864 10629 \n3 11580 10630 11348 \n3 13270 13265 13269 \n3 11013 12038 12033 \n3 6106 2073 4034 \n3 9969 11348 10403 \n3 11578 11347 12251 \n3 10634 10637 12036 \n3 14200 5348 5347 \n3 10638 11103 12036 \n3 6436 4274 4312 \n3 7680 5800 8650 \n3 678 3091 4167 \n3 4043 3466 3793 \n3 11103 11105 12479 \n3 9962 12248 10400 \n3 10868 10869 11352 \n3 5544 4554 6560 \n3 10869 10644 11354 \n3 10644 10645 11354 \n3 6388 1302 6374 \n3 4939 11386 13439 \n3 10644 10416 10645 \n3 11586 11108 10415 \n3 4336 2076 3195 \n3 11116 11588 10872 \n3 10648 12486 11825 \n3 11353 11114 10870 \n3 10875 11825 10874 \n3 10643 10868 11351 \n3 10875 10648 11825 \n3 4475 12029 4472 \n3 4554 1534 8414 \n3 14848 14605 14846 \n3 11361 11365 10425 \n3 14562 6446 4252 \n3 10213 9678 11121 \n3 3492 2419 2435 \n3 11594 10213 11121 \n3 8540 12018 7439 \n3 4105 10948 579 \n3 8261 590 8229 \n3 5525 5626 9558 \n3 10889 10664 11133 \n3 2691 1707 14584 \n3 6177 6168 10050 \n3 3880 4222 4358 \n3 8359 13850 7259 \n3 14849 13773 7185 \n3 7380 10677 8433 \n3 11135 11607 10886 \n3 11353 9977 11109 \n3 13152 12291 13604 \n3 12886 14006 13118 \n3 10434 10436 10883 \n3 11371 10882 10881 \n3 5371 5355 6819 \n3 11133 10885 11371 \n3 6159 4104 4096 \n3 2320 6581 2275 \n3 7678 7801 7937 \n3 10889 10890 10664 \n3 10895 11615 10896 \n3 11143 11144 10462 \n3 9486 9490 10701 \n3 9425 4518 7436 \n3 10890 10889 11374 \n3 12986 13361 10966 \n3 11614 11150 11147 \n3 10466 10679 10900 \n3 10900 11149 10901 \n3 14704 8201 8167 \n3 14835 13768 13755 \n3 3114 9637 4213 \n3 11150 11614 11378 \n3 9270 9702 9847 \n3 11719 11271 11727 \n3 11151 10903 10020 \n3 11617 10023 10904 \n3 11617 10024 10023 \n3 11382 10028 11154 \n3 10028 11382 10254 \n3 7941 7804 7420 \n3 11623 11385 11854 \n3 12743 13740 13743 \n3 10915 10483 10917 \n3 2502 13713 14835 \n3 7866 6955 4956 \n3 10907 10687 10257 \n3 11515 5465 10475 \n3 11161 11391 11388 \n3 7339 11657 14178 \n3 9985 8782 8770 \n3 11859 10910 10912 \n3 10691 10042 10689 \n3 9593 9592 9174 \n3 10915 10917 11397 \n3 6251 6249 5179 \n3 11380 12411 10388 \n3 9164 9581 9308 \n3 3228 13790 3237 \n3 10694 10693 10916 \n3 11633 11399 10916 \n3 12697 11702 9462 \n3 7204 3023 7471 \n3 11399 10918 10702 \n3 11632 10698 10699 \n3 4953 5991 4952 \n3 11403 10488 11636 \n3 6842 283 4681 \n3 10016 9565 10465 \n3 10710 11730 9498 \n3 6731 7665 8723 \n3 11173 10704 10920 \n3 11175 9739 12086 \n3 960 4915 4525 \n3 4235 5534 6966 \n3 11637 10922 11175 \n3 12635 11495 12400 \n3 549 544 5107 \n3 10429 10428 10411 \n3 12547 10926 10925 \n3 11084 989 6021 \n3 10715 12322 10927 \n3 11410 11643 11642 \n3 10928 11414 11882 \n3 13840 14005 13080 \n3 10494 10495 12091 \n3 11881 10928 11882 \n3 10493 11410 11415 \n3 10080 11412 11187 \n3 10491 10711 11408 \n3 10716 13193 11411 \n3 6490 11044 9381 \n3 11884 10933 11885 \n3 2317 2320 14832 \n3 5460 10475 1462 \n3 11424 10932 11415 \n3 13527 13760 14667 \n3 11418 11190 12327 \n3 11501 6490 9381 \n3 13256 8722 14287 \n3 10943 11646 9899 \n3 11194 11193 11420 \n3 14462 14000 14002 \n3 11193 10723 11421 \n3 10504 10941 11651 \n3 11736 14753 12710 \n3 9790 5250 3021 \n3 617 4621 3639 \n3 11193 11195 10723 \n3 11850 12826 14981 \n3 10361 2397 9289 \n3 12101 11431 10941 \n3 10633 9429 8249 \n3 10733 11200 10937 \n3 11655 11660 10506 \n3 12125 12129 106 \n3 10941 10504 11197 \n3 11439 12101 11197 \n3 3408 3419 5690 \n3 5719 3685 4683 \n3 10411 6909 10429 \n3 11656 10943 10946 \n3 9219 9368 8950 \n3 9933 11188 11180 \n3 11596 12866 10827 \n3 12795 12358 12610 \n3 9498 11730 11738 \n3 9136 10388 9176 \n3 11655 12104 11660 \n3 11206 10747 10744 \n3 2548 14848 221 \n3 11205 11904 12109 \n3 10949 11200 10745 \n3 8153 8011 8560 \n3 10223 10245 10251 \n3 11452 10954 11209 \n3 11214 12605 11925 \n3 8245 14790 8249 \n3 11454 11211 11215 \n3 11449 11209 10952 \n3 7588 5686 4670 \n3 10953 10959 10957 \n3 9689 11934 12896 \n3 11659 8249 14790 \n3 9176 9175 9135 \n3 11218 11223 10957 \n3 10959 11218 10957 \n3 2188 4132 2204 \n3 11460 11220 10965 \n3 11596 10827 6530 \n3 10958 10971 11219 \n3 4386 1392 14411 \n3 8546 2721 5681 \n3 9926 10110 10107 \n3 10971 11225 11219 \n3 260 262 157 \n3 12748 9801 8542 \n3 10971 11224 11225 \n3 11465 10960 11219 \n3 10930 9597 11198 \n3 3662 5686 7581 \n3 11465 11219 11225 \n3 12246 13794 10827 \n3 11462 11685 11463 \n3 11227 11222 11464 \n3 14560 12314 14449 \n3 11224 11467 11225 \n3 10399 5406 3392 \n3 11466 11233 11229 \n3 11691 12143 10974 \n3 11233 10983 11229 \n3 11465 11225 11467 \n3 10974 10762 11691 \n3 11943 11944 11239 \n3 10952 11209 10954 \n3 11233 11688 11236 \n3 11233 11236 10763 \n3 10762 10768 11691 \n3 11236 11688 11690 \n3 14975 5712 3579 \n3 11907 11446 12111 \n3 11475 11692 11473 \n3 3520 4193 3858 \n3 11001 11237 11241 \n3 8975 11035 8987 \n3 10987 11237 11001 \n3 10999 10535 11239 \n3 10768 11243 11947 \n3 11241 11482 11001 \n3 10776 10998 10992 \n3 11243 10529 10988 \n3 11695 11482 11241 \n3 10995 10998 11243 \n3 10130 9932 10144 \n3 12163 10248 13078 \n3 11002 11484 10998 \n3 11250 11001 11482 \n3 9239 11516 8073 \n3 5366 7295 5373 \n3 9398 11627 10605 \n3 11577 8084 9263 \n3 10865 9655 11900 \n3 11007 11487 11008 \n3 12854 14962 11153 \n3 10328 4352 8150 \n3 12160 2994 5491 \n3 11250 11008 10546 \n3 11703 11484 11010 \n3 11252 11006 11011 \n3 11257 11017 11489 \n3 11663 11906 12580 \n3 6419 6286 6421 \n3 11010 10549 11259 \n3 12586 12350 12351 \n3 9497 9785 9353 \n3 10799 11018 11017 \n3 10772 10102 10316 \n3 11260 11492 11497 \n3 11265 11267 11264 \n3 3041 8074 7021 \n3 9166 6336 11310 \n3 10338 11023 10804 \n3 11604 8180 7111 \n3 10350 10358 10162 \n3 11263 11018 10809 \n3 2892 13945 14392 \n3 11712 11502 10805 \n3 11500 10809 11268 \n3 3111 27 7084 \n3 6619 7517 7531 \n3 12937 12087 12319 \n3 5418 2429 10404 \n3 13563 11694 12665 \n3 10576 8171 11606 \n3 7316 12846 10844 \n3 11726 11272 11723 \n3 10687 10035 9579 \n3 11726 11507 11280 \n3 14669 12608 9347 \n3 11967 11270 11725 \n3 11275 11270 11274 \n3 11272 11726 11280 \n3 13572 13606 13638 \n3 11024 11504 11723 \n3 12352 11333 9213 \n3 13572 13638 14725 \n3 11028 10568 10811 \n3 4393 6530 14161 \n3 11983 11979 11295 \n3 10389 9953 10393 \n3 11507 11510 11280 \n3 11288 10568 11028 \n3 11506 11288 11276 \n3 11276 11288 11028 \n3 7056 4073 7073 \n3 8171 9347 11606 \n3 11278 11275 11274 \n3 7969 14787 10552 \n3 10171 10168 9942 \n3 3040 5282 5281 \n3 12358 13003 12789 \n3 9582 6254 13872 \n3 14161 10827 13794 \n3 7539 4604 7542 \n3 6606 5617 4587 \n3 11512 11278 11520 \n3 13576 11694 13563 \n3 11005 11006 11485 \n3 11740 11290 11288 \n3 11887 9634 6288 \n3 7452 10982 12022 \n3 11508 11513 11728 \n3 11038 11513 11508 \n3 11520 11278 11279 \n3 12861 9634 11887 \n3 11290 11740 11521 \n3 14041 10981 12013 \n3 10274 11405 11869 \n3 9635 9783 10380 \n3 5833 5810 12301 \n3 9102 11320 6826 \n3 2742 4792 6999 \n3 7073 4073 7983 \n3 5335 2330 7290 \n3 11038 11745 11513 \n3 14790 8667 8689 \n3 12400 12159 12396 \n3 11294 11524 11045 \n3 9158 9296 9434 \n3 5928 1349 5921 \n3 11521 11303 11048 \n3 11307 11301 11524 \n3 8966 6106 7949 \n3 11739 11525 11046 \n3 7842 11558 9274 \n3 8379 6261 9605 \n3 10339 10364 7108 \n3 11533 11303 11521 \n3 8210 6382 8221 \n3 11525 11305 11046 \n3 7194 11738 9508 \n3 11302 11536 11053 \n3 11302 11051 11050 \n3 11305 11525 11994 \n3 10559 11553 8140 \n3 1777 3704 6672 \n3 12433 11992 11732 \n3 11306 11304 11049 \n3 3114 8631 9204 \n3 14430 3395 12385 \n3 3908 3901 7280 \n3 10018 9432 10017 \n3 11528 10598 11059 \n3 8909 10117 10169 \n3 4288 7289 9213 \n3 11307 11761 11056 \n3 11309 11056 11762 \n3 11302 11772 11536 \n3 10838 11543 11764 \n3 9263 8084 9253 \n3 12845 13831 12840 \n3 7507 6595 5589 \n3 7812 12305 6743 \n3 11318 11065 11319 \n3 10276 10270 9025 \n3 5988 8151 9256 \n3 13549 13576 13563 \n3 11065 11546 11319 \n3 11319 11546 11532 \n3 2450 14591 6683 \n3 10840 11543 10838 \n3 4363 4260 6511 \n3 10179 8126 6267 \n3 10392 10282 5602 \n3 11543 11325 11323 \n3 3174 4295 795 \n3 11306 11303 11533 \n3 10839 11316 11322 \n3 10416 10413 9525 \n3 9170 9168 9449 \n3 7355 5181 14662 \n3 11321 11995 11769 \n3 8608 4739 6735 \n3 4376 9211 7108 \n3 11546 11329 11549 \n3 11335 11557 11332 \n3 11068 11327 11551 \n3 11072 11068 11551 \n3 11067 11329 11546 \n3 2541 2554 6754 \n3 9263 10519 11577 \n3 12805 12376 11690 \n3 13549 12648 11631 \n3 7196 8263 8283 \n3 6746 739 5787 \n3 10850 11334 11337 \n3 9378 14735 2579 \n3 11103 9815 10203 \n3 3091 680 3104 \n3 11555 11075 11072 \n3 6209 8054 10096 \n3 11555 11334 11075 \n3 11077 11335 11332 \n3 11332 11074 11077 \n3 11335 11793 11557 \n3 11040 5311 2471 \n3 8179 3298 7257 \n3 4312 4274 2203 \n3 2450 6670 4547 \n3 4077 6373 544 \n3 11346 14435 10319 \n3 8464 7492 2589 \n3 3195 2076 11622 \n3 10618 11081 10856 \n3 10856 11081 10854 \n3 13489 13488 14385 \n3 11081 11565 10852 \n3 11335 10852 11565 \n3 11848 10679 10249 \n3 10184 10618 10620 \n3 13532 13538 11640 \n3 10459 10019 10240 \n3 14170 3394 4370 \n3 12463 11568 13107 \n3 457 4843 2769 \n3 9256 11476 6965 \n3 10852 10854 11081 \n3 11542 14445 11559 \n3 7177 7195 2949 \n3 11572 11342 12244 \n3 10885 10882 11371 \n3 2611 2647 3741 \n3 13064 3926 10278 \n3 5270 8145 8159 \n3 680 8991 9144 \n3 10566 11268 10565 \n3 9962 11578 12248 \n3 13270 14644 14158 \n3 12013 10981 6408 \n3 8329 3875 11756 \n3 13216 13680 13217 \n3 5816 10803 6777 \n3 12685 13108 11805 \n3 10658 10443 10665 \n3 1599 8349 7244 \n3 1622 2960 4135 \n3 5175 2954 6366 \n3 13292 12395 13506 \n3 11108 11105 10412 \n3 11819 11109 11351 \n3 10868 11352 11351 \n3 6444 14813 12246 \n3 11109 11818 11353 \n3 14005 690 13080 \n3 9447 3535 8426 \n3 10869 11354 11822 \n3 11083 12243 10859 \n3 14838 2396 8661 \n3 12257 11104 10407 \n3 7219 3248 5247 \n3 10645 11355 11589 \n3 10871 11115 11359 \n3 10258 14379 11296 \n3 2098 5537 5507 \n3 3288 4218 6296 \n3 11822 11821 11352 \n3 11589 12484 11354 \n3 11354 10645 11589 \n3 11118 10873 11358 \n3 10415 11108 10412 \n3 5796 8650 5800 \n3 10874 11825 10872 \n3 11119 10420 11824 \n3 12049 12048 11358 \n3 5288 13523 12599 \n3 11826 11592 11363 \n3 10464 9228 11483 \n3 11594 11363 10213 \n3 10868 9817 10869 \n3 6978 9264 8053 \n3 6290 5234 8122 \n3 11129 11368 11833 \n3 11365 11120 10425 \n3 11365 11123 11120 \n3 3362 3365 3121 \n3 2419 2422 2435 \n3 11124 11368 11126 \n3 9664 10207 8657 \n3 8745 8772 9964 \n3 14700 3383 14951 \n3 10245 10230 8956 \n3 13136 3064 2051 \n3 4461 2288 2855 \n3 11132 12700 11598 \n3 11370 11833 11600 \n3 9549 14674 5217 \n3 12477 1772 3867 \n3 11370 11371 10881 \n3 4211 14813 6444 \n3 11371 11603 11133 \n3 14738 6672 3701 \n3 11169 12082 7942 \n3 11204 6249 13174 \n3 2515 4818 11839 \n3 9503 11737 11731 \n3 10660 10888 10886 \n3 1433 5058 86 \n3 11607 11601 10886 \n3 11375 11837 11607 \n3 9455 9431 8403 \n3 9503 11731 8305 \n3 6027 4991 6985 \n3 2163 3494 4754 \n3 12289 11143 10893 \n3 12278 3928 14340 \n3 11610 10893 10896 \n3 11144 10897 10899 \n3 2647 2669 2617 \n3 11148 11377 10676 \n3 3937 12516 12728 \n3 5207 2246 7197 \n3 2246 1206 7197 \n3 6916 11477 10460 \n3 11614 11147 11838 \n3 12069 11152 10903 \n3 4152 2060 14542 \n3 11617 11618 10024 \n3 141 1356 4801 \n3 4783 5731 1051 \n3 9947 7018 6086 \n3 13565 11523 3481 \n3 7239 9156 6299 \n3 9082 5177 5178 \n3 13295 13749 13511 \n3 11159 11385 11623 \n3 3508 3845 3953 \n3 13369 12487 12890 \n3 13740 13731 13743 \n3 11459 11933 11678 \n3 14312 14804 4229 \n3 11388 11393 11390 \n3 11393 11388 11391 \n3 10771 13740 12743 \n3 10910 11859 11391 \n3 10912 11394 11859 \n3 10915 11628 11394 \n3 10915 11860 11628 \n3 11388 11160 11161 \n3 1435 3914 2802 \n3 6520 5484 6528 \n3 8284 12694 12690 \n3 11853 11160 12072 \n3 10729 11430 10506 \n3 11278 11274 11279 \n3 11621 11160 11853 \n3 6010 6036 6208 \n3 7405 8713 4179 \n3 9062 9474 9334 \n3 11633 10918 11399 \n3 8956 10212 10177 \n3 11400 11866 11632 \n3 7665 6731 6676 \n3 11280 11032 11272 \n3 6225 5177 8066 \n3 11172 12086 9739 \n3 13470 13461 14020 \n3 11405 10704 11173 \n3 2761 4803 14617 \n3 531 14275 14040 \n3 14053 14058 6169 \n3 4497 6608 2378 \n3 14672 6037 1746 \n3 10922 10277 10708 \n3 11406 10277 10922 \n3 6599 8677 14581 \n3 6406 597 7435 \n3 4414 9326 5419 \n3 10056 11172 9739 \n3 10916 10697 10694 \n3 12543 12544 10491 \n3 11876 10067 12544 \n3 11408 12543 10491 \n3 10768 10529 11243 \n3 5460 5451 10475 \n3 12322 11408 10927 \n3 12548 10715 10926 \n3 11412 10494 12094 \n3 14963 14711 14961 \n3 11411 10496 10716 \n3 1714 5503 112 \n3 5624 5132 5138 \n3 11560 4620 14510 \n3 9427 8242 13727 \n3 9695 13998 4066 \n3 10501 11420 11885 \n3 7765 8730 9730 \n3 10729 9902 10719 \n3 11420 11886 11885 \n3 11415 11649 11424 \n3 11646 10943 12330 \n3 11420 10501 10940 \n3 11396 10448 8013 \n3 10542 14482 10538 \n3 12075 11626 12527 \n3 12330 10943 11656 \n3 3803 2744 1375 \n3 14497 14762 13609 \n3 12099 11433 10728 \n3 9271 9273 9557 \n3 10941 11197 12101 \n3 11888 11423 11651 \n3 10086 11197 10504 \n3 12690 13727 8242 \n3 11434 14994 11194 \n3 11668 9429 11675 \n3 12708 12292 12291 \n3 11193 11194 14994 \n3 13399 12502 4205 \n3 7157 8054 4127 \n3 11661 11440 11660 \n3 14482 13411 10538 \n3 11169 7942 7961 \n3 11901 12100 11200 \n3 12976 12343 12763 \n3 12591 1857 14777 \n3 13606 10700 13638 \n3 6477 5447 9366 \n3 10975 11224 11223 \n3 12184 8724 8718 \n3 10732 11898 11442 \n3 11442 11206 10744 \n3 11437 11203 10513 \n3 2988 2984 3949 \n3 12108 11896 11434 \n3 10950 11445 10949 \n3 11663 11208 11206 \n3 11663 11446 11208 \n3 14907 5660 11949 \n3 11249 11234 8782 \n3 11444 10517 12109 \n3 11209 11449 11664 \n3 11448 11209 11664 \n3 11666 11209 11448 \n3 12366 11387 9187 \n3 12109 10517 11205 \n3 8208 14058 1893 \n3 6201 5148 6209 \n3 7716 1178 1425 \n3 11451 11450 11449 \n3 12605 11214 11212 \n3 9479 690 1167 \n3 9136 9176 9135 \n3 10965 11214 11925 \n3 10961 11927 11212 \n3 10959 10953 11681 \n3 9781 11015 9784 \n3 10520 11212 11214 \n3 5128 6201 10055 \n3 11215 11678 11454 \n3 3389 11330 11417 \n3 2925 2708 2711 \n3 7605 14451 14448 \n3 11466 11220 11460 \n3 8042 5134 7136 \n3 3588 14517 14356 \n3 10972 11463 11222 \n3 12143 11461 10969 \n3 11219 10960 10958 \n3 11940 11465 11467 \n3 10961 10969 11461 \n3 11357 10336 11387 \n3 2712 3773 1363 \n3 11918 9667 12896 \n3 12125 14013 12121 \n3 10102 10104 10113 \n3 11646 12555 11882 \n3 4036 8959 4041 \n3 9153 7970 10411 \n3 12383 11474 11945 \n3 11849 13387 13388 \n3 13638 12698 13647 \n3 7858 1010 8784 \n3 10342 10142 10340 \n3 8993 11177 11093 \n3 13523 14651 11631 \n3 11943 11464 12142 \n3 641 552 741 \n3 10336 11357 7962 \n3 9134 9135 9175 \n3 11474 11237 11470 \n3 12531 12529 12303 \n3 12307 12533 12078 \n3 4600 4821 4500 \n3 11474 11241 11237 \n3 12150 10999 11239 \n3 11700 11695 12152 \n3 5103 5122 8019 \n3 12560 12555 12330 \n3 11948 11699 11003 \n3 6148 6162 10014 \n3 12898 12062 1946 \n3 10562 10344 10349 \n3 4202 9570 6404 \n3 12156 11007 11482 \n3 11010 11708 11703 \n3 7089 6148 8002 \n3 12157 12159 11486 \n3 12634 8190 11595 \n3 11487 11705 11492 \n3 12833 13043 12835 \n3 11017 11952 11489 \n3 11247 13042 13052 \n3 5134 4104 6159 \n3 10549 11010 10541 \n3 10794 11495 11265 \n3 11017 11710 11952 \n3 6608 2984 3176 \n3 10794 11265 11264 \n3 1515 1542 5280 \n3 11710 11017 11263 \n3 6041 6024 3494 \n3 12420 2158 12434 \n3 8842 10108 6664 \n3 10286 10289 11444 \n3 5510 7440 10528 \n3 11267 11504 11024 \n3 6120 5960 1059 \n3 6863 8752 5910 \n3 10948 4105 10956 \n3 11961 11710 11500 \n3 4149 7939 7928 \n3 7178 8363 12736 \n3 10313 7927 10311 \n3 11026 11502 11505 \n3 11500 11271 11719 \n3 12172 11962 11719 \n3 2669 3823 3808 \n3 2743 14984 2574 \n3 13610 11595 10583 \n3 11346 10319 7930 \n3 14003 12166 930 \n3 10956 4105 8532 \n3 12861 146 240 \n3 9044 9173 9171 \n3 1059 7090 3117 \n3 11276 11505 11506 \n3 11647 13606 13572 \n3 11923 10898 8763 \n3 13366 10313 10309 \n3 4899 1953 12007 \n3 909 1953 4899 \n3 4047 7050 8967 \n3 11977 12904 1928 \n3 11725 12178 12647 \n3 11699 11478 11003 \n3 11510 11284 11280 \n3 11508 11728 11509 \n3 6826 11320 5690 \n3 11729 11981 11506 \n3 2504 2505 8797 \n3 11506 11981 11288 \n3 1949 1951 4192 \n3 5318 8631 14165 \n3 2874 2886 4060 \n3 4112 6294 14303 \n3 8003 7120 7998 \n3 11513 11749 11982 \n3 11728 11513 11982 \n3 14333 12420 13327 \n3 11734 11732 11992 \n3 11981 11740 11288 \n3 4095 5392 7834 \n3 9482 9624 9343 \n3 12427 11733 11293 \n3 11265 12635 12638 \n3 10026 10070 10077 \n3 11808 6181 7489 \n3 8180 12558 8151 \n3 11739 12427 13061 \n3 5675 7833 13356 \n3 11512 11975 12178 \n3 11513 11745 11749 \n3 7833 14395 13356 \n3 4991 6074 5020 \n3 5766 14980 14982 \n3 11990 11987 11746 \n3 11560 11559 13410 \n3 10823 10824 9594 \n3 7256 7253 9555 \n3 1037 6106 4064 \n3 12190 11981 11729 \n3 11052 11304 11747 \n3 11739 11046 11733 \n3 11990 11521 11740 \n3 9786 9359 9496 \n3 12396 12394 13509 \n3 11983 11295 11054 \n3 11746 11319 11532 \n3 9980 10873 10649 \n3 10783 3645 7449 \n3 11053 11755 11745 \n3 11757 11755 11053 \n3 11522 11747 11991 \n3 11977 2947 3881 \n3 7583 7841 8282 \n3 12305 14395 7833 \n3 11056 11761 11762 \n3 8397 8072 6026 \n3 3053 14654 14405 \n3 4407 2127 899 \n3 11304 11534 11527 \n3 10273 9031 12306 \n3 10166 10836 11316 \n3 11536 11757 11053 \n3 6965 3602 2598 \n3 11531 11318 11526 \n3 4782 8675 3764 \n3 11040 14143 9822 \n3 13327 11453 12347 \n3 11772 11302 11309 \n3 11772 12006 11536 \n3 14835 10777 13768 \n3 11764 11760 11315 \n3 11532 11779 11746 \n3 11309 11762 12003 \n3 10845 10611 10383 \n3 12306 13335 10258 \n3 6080 3991 4985 \n3 4092 6168 1084 \n3 3316 2126 5529 \n3 5197 5393 4931 \n3 5870 5461 5759 \n3 5449 5451 4445 \n3 6189 2790 9509 \n3 7269 1263 8184 \n3 11538 11306 11774 \n3 11059 10600 11315 \n3 8306 14534 14791 \n3 11543 11323 11318 \n3 11995 11322 11316 \n3 11526 11318 11319 \n3 10552 14787 14786 \n3 11545 11327 11321 \n3 4097 1973 14789 \n3 1010 7858 1029 \n3 11322 11995 11321 \n3 11546 11779 11532 \n3 11306 11533 11774 \n3 11546 11549 11779 \n3 11549 12010 11779 \n3 8920 10200 8909 \n3 11065 11067 11546 \n3 7811 10270 8990 \n3 8954 8992 8968 \n3 8137 8139 7859 \n3 9282 11535 9274 \n3 11784 12011 11788 \n3 10251 10276 9055 \n3 11549 11785 12010 \n3 11784 11788 11782 \n3 1922 3085 8618 \n3 11782 11551 11327 \n3 11788 11551 11782 \n3 11936 11688 11466 \n3 11521 11770 11533 \n3 11549 11552 11785 \n3 11554 11072 11551 \n3 11552 11557 11790 \n3 10275 10266 9002 \n3 8580 13077 8572 \n3 8773 8635 8632 \n3 11561 11334 12231 \n3 10285 9081 9068 \n3 6338 6349 5276 \n3 10245 10270 10276 \n3 10245 10276 10251 \n3 11562 11337 11561 \n3 8142 8710 8707 \n3 11567 11565 11081 \n3 8948 3085 1922 \n3 12572 6145 3942 \n3 10859 12243 11089 \n3 8933 9210 8628 \n3 11884 11885 12737 \n3 10861 11094 12027 \n3 12244 11342 11801 \n3 5666 5568 6170 \n3 10027 11154 10028 \n3 11277 7113 9251 \n3 14689 11694 13576 \n3 11287 10251 10275 \n3 12942 13836 13911 \n3 7694 7697 5502 \n3 10400 12248 11094 \n3 11076 13836 12942 \n3 12873 13564 12870 \n3 4368 3273 4387 \n3 6837 6865 5779 \n3 11576 10629 11805 \n3 11575 10864 11576 \n3 10864 11575 11807 \n3 10631 11807 11579 \n3 3521 3544 2344 \n3 12252 12472 12470 \n3 11811 10634 12036 \n3 4700 6167 2755 \n3 10443 10658 10437 \n3 10407 11810 12256 \n3 11873 7967 6491 \n3 9489 3417 5920 \n3 8954 11287 10275 \n3 11650 12335 11890 \n3 11109 11819 11818 \n3 4011 3730 8248 \n3 10045 10098 10070 \n3 10230 10245 10223 \n3 9817 10868 10208 \n3 3608 3755 1640 \n3 2630 2611 2612 \n3 8860 8843 3013 \n3 11483 11496 10464 \n3 11820 11351 11352 \n3 11105 11108 11584 \n3 1694 1679 14761 \n3 11359 11115 11590 \n3 11588 12489 11115 \n3 11114 12043 11586 \n3 4209 4260 2162 \n3 6712 3704 6722 \n3 11360 12274 11361 \n3 12049 11592 11826 \n3 11828 11826 11363 \n3 11363 11594 11828 \n3 6963 6005 3967 \n3 10420 11359 11824 \n3 11365 11361 12274 \n3 8316 6190 10736 \n3 6955 3957 4956 \n3 11133 11834 10889 \n3 14948 14945 14452 \n3 11365 12276 11123 \n3 11129 11833 11130 \n3 6019 6036 5992 \n3 14225 11384 12299 \n3 5747 1774 4714 \n3 11833 11370 11130 \n3 12060 12700 11132 \n3 2892 5005 8643 \n3 11600 11371 11370 \n3 12061 11603 11600 \n3 12061 11600 12283 \n3 11601 11607 12284 \n3 11834 11374 10889 \n3 10028 10254 9722 \n3 6233 4033 14783 \n3 7866 4956 4951 \n3 14921 14917 5248 \n3 11681 11462 10959 \n3 10900 12515 11149 \n3 11610 12509 10893 \n3 13978 7366 9692 \n3 11610 10896 11615 \n3 6938 4950 3948 \n3 11149 11377 11148 \n3 7892 8571 7754 \n3 4941 8831 4951 \n3 9600 10678 8557 \n3 5347 9636 14200 \n3 11838 12704 12067 \n3 14312 4229 10765 \n3 1022 4610 3419 \n3 11258 3227 3209 \n3 3644 4809 2487 \n3 11143 12290 11144 \n3 11618 11619 10024 \n3 1988 12984 13342 \n3 10212 10230 10223 \n3 10212 10223 10211 \n3 4809 3644 14007 \n3 11616 11152 12517 \n3 3322 4253 6349 \n3 10522 10761 10762 \n3 4843 496 13377 \n3 9960 9964 11188 \n3 3637 14476 14246 \n3 8920 8954 10200 \n3 3338 4298 7289 \n3 11388 12072 11160 \n3 2260 5652 6227 \n3 9358 9360 2463 \n3 11623 11854 11855 \n3 4921 3931 5976 \n3 11392 11626 12075 \n3 11391 11859 11393 \n3 14959 12129 12081 \n3 11249 8782 9985 \n3 12076 10691 12075 \n3 10356 13460 3275 \n3 8173 12556 1720 \n3 10102 10113 10316 \n3 14059 14766 5591 \n3 10916 10693 11398 \n3 11167 11398 10693 \n3 11864 11633 11863 \n3 11863 11633 10916 \n3 11634 10918 12079 \n3 6406 7435 10966 \n3 12537 12723 12311 \n3 11634 11635 10268 \n3 11632 11866 12307 \n3 9964 9939 11188 \n3 11401 10268 11635 \n3 5962 2971 4921 \n3 2768 7119 3215 \n3 5502 6664 7728 \n3 11875 11406 12088 \n3 4762 4771 2654 \n3 10707 11874 11638 \n3 10072 9890 10715 \n3 2721 5581 5681 \n3 11874 11407 12319 \n3 11876 12319 10067 \n3 12320 10924 10712 \n3 12548 12322 10715 \n3 12547 12548 10926 \n3 12976 13449 12975 \n3 10160 10212 10211 \n3 10211 8920 10169 \n3 12094 10494 12549 \n3 2626 4716 4715 \n3 11884 12093 11643 \n3 9491 9554 8470 \n3 9330 9331 9058 \n3 11184 11413 11879 \n3 11644 11649 11415 \n3 9120 14166 11336 \n3 11878 10495 11184 \n3 640 14596 3655 \n3 11190 11418 11648 \n3 10725 11423 11888 \n3 10160 10177 10212 \n3 14731 7864 3667 \n3 12784 12790 12595 \n3 11205 11203 11904 \n3 11421 11886 11420 \n3 11888 11651 11431 \n3 11185 11650 11430 \n3 11421 11420 11193 \n3 5884 5767 5671 \n3 12081 11230 10163 \n3 10633 11675 9429 \n3 11452 10953 10954 \n3 3955 4086 4084 \n3 12563 11433 12099 \n3 7157 8060 8054 \n3 12917 12523 12524 \n3 2617 3808 1350 \n3 10517 10294 9912 \n3 6999 2803 2762 \n3 11662 10947 11902 \n3 11899 10740 10947 \n3 406 464 528 \n3 12568 11203 11437 \n3 12109 12575 11444 \n3 12575 12108 11444 \n3 11904 11203 12568 \n3 12882 6854 5907 \n3 10657 10886 10437 \n3 9531 4629 4641 \n3 11903 11445 12577 \n3 8092 7809 7954 \n3 11448 11909 11666 \n3 4480 2168 915 \n3 11664 11909 11448 \n3 11667 11664 11449 \n3 2238 8194 14777 \n3 10692 12698 10718 \n3 11921 11672 11669 \n3 11669 11671 11922 \n3 11672 11671 11669 \n3 11450 11451 11672 \n3 11672 11454 11671 \n3 11929 12136 11676 \n3 4878 4880 5910 \n3 4884 5909 11923 \n3 11674 11452 11673 \n3 11262 10177 10160 \n3 11667 11450 11672 \n3 11454 11678 11671 \n3 11678 11929 11671 \n3 10351 10388 9136 \n3 12367 11681 11674 \n3 12134 11466 11460 \n3 11678 10960 11459 \n3 2903 5909 4884 \n3 13987 13993 3225 \n3 11681 12367 11928 \n3 11262 10160 10131 \n3 12764 1846 3809 \n3 10714 14802 8445 \n3 10131 10160 10169 \n3 11928 11685 11462 \n3 11465 11940 11933 \n3 13178 12539 12931 \n3 11459 10960 11465 \n3 11227 11943 10978 \n3 11938 11464 11222 \n3 10616 9427 11645 \n3 11229 11220 11466 \n3 13078 13069 13042 \n3 2499 2805 2700 \n3 11940 11467 12375 \n3 8407 10714 10662 \n3 4863 9773 9770 \n3 14687 12511 5814 \n3 11467 11473 11692 \n3 12820 11960 11914 \n3 11237 11236 11470 \n3 10978 11943 11239 \n3 9398 10605 6098 \n3 13920 8634 7383 \n3 12761 11661 13217 \n3 10351 6852 9153 \n3 5066 6261 8379 \n3 14875 2779 4892 \n3 2209 2204 4132 \n3 11477 9253 10460 \n3 10135 11262 10098 \n3 12434 14445 11542 \n3 13042 13069 13052 \n3 1552 14734 5806 \n3 11700 12156 11482 \n3 11703 12154 11484 \n3 11486 10999 12155 \n3 8850 12259 10137 \n3 11948 11005 11485 \n3 12156 11487 11007 \n3 12156 11704 11487 \n3 11704 11705 11487 \n3 6963 8877 8865 \n3 12395 11485 11252 \n3 11010 11493 11708 \n3 11497 11492 11705 \n3 10609 8190 12634 \n3 5529 2115 6660 \n3 10319 14435 9101 \n3 12403 11952 12164 \n3 5322 678 4167 \n3 7806 7679 8086 \n3 9330 9742 9331 \n3 10101 6822 4822 \n3 11012 11495 10794 \n3 5106 1688 3988 \n3 13321 13343 3118 \n3 10809 11500 11263 \n3 12112 12781 12779 \n3 10077 10131 10108 \n3 11504 12173 11723 \n3 6198 7149 7245 \n3 12638 11504 11267 \n3 11271 11500 11268 \n3 10805 11260 11712 \n3 11819 11820 12266 \n3 11955 11261 12167 \n3 5910 7765 4869 \n3 10070 10131 10077 \n3 5873 820 6822 \n3 5873 6822 11865 \n3 11694 10692 7360 \n3 9867 9844 6493 \n3 11503 10804 11023 \n3 12173 11504 12409 \n3 10381 9785 9944 \n3 4121 5420 4149 \n3 13989 12121 14013 \n3 12563 12750 12565 \n3 3825 4818 5869 \n3 6777 14898 2830 \n3 11725 11270 11275 \n3 4923 2731 11658 \n3 5333 4179 11061 \n3 11275 11278 12178 \n3 10274 11636 10488 \n3 12422 11729 12177 \n3 12422 12425 11729 \n3 11510 11732 11734 \n3 4820 7711 5854 \n3 11740 11981 11985 \n3 8263 7196 7184 \n3 13197 12750 12745 \n3 11480 11484 12154 \n3 12121 13989 13015 \n3 12691 14954 5834 \n3 6493 8655 9867 \n3 10613 10611 10851 \n3 10380 10170 10377 \n3 9309 11556 10539 \n3 3811 8687 4811 \n3 11988 11734 11992 \n3 8218 10418 8189 \n3 11742 11319 11746 \n3 11983 11054 12661 \n3 11985 11990 11740 \n3 11520 11991 11744 \n3 8822 8796 8842 \n3 11749 12195 11982 \n3 11988 12200 11294 \n3 12324 13427 13193 \n3 10033 8858 10013 \n3 7289 4298 8231 \n3 11957 12410 12640 \n3 11744 11991 12202 \n3 12200 12203 11294 \n3 11251 10045 10026 \n3 1928 2947 11977 \n3 11745 11755 11749 \n3 11531 11526 12193 \n3 11531 12193 11543 \n3 13023 12806 12375 \n3 11770 11990 11746 \n3 11527 11991 11747 \n3 1350 1357 2617 \n3 11749 11758 12195 \n3 11311 11994 11995 \n3 10025 10077 8842 \n3 3128 8253 4361 \n3 11991 11527 11996 \n3 10026 10077 10025 \n3 11749 11755 11758 \n3 12195 11758 11999 \n3 3899 1314 1251 \n3 11760 12442 11528 \n3 6388 6399 2332 \n3 2744 10034 1375 \n3 11760 11528 11059 \n3 10266 9055 10285 \n3 5036 7015 4036 \n3 10275 9055 10266 \n3 12949 14997 11644 \n3 11307 11524 11748 \n3 11309 12003 11772 \n3 11334 11555 12231 \n3 11538 11534 11304 \n3 11748 11754 12446 \n3 11253 11489 12161 \n3 12161 11489 11706 \n3 11758 11773 11999 \n3 13015 14011 12943 \n3 14645 14642 13510 \n3 3500 9 3477 \n3 8074 6988 9116 \n3 11770 11771 11533 \n3 10013 8816 10033 \n3 11762 11761 12001 \n3 5191 5680 5384 \n3 7010 5009 7945 \n3 12004 12006 11772 \n3 11755 11773 11758 \n3 5724 1013 7319 \n3 4782 3759 5805 \n3 10026 11234 11249 \n3 11768 11999 11780 \n3 12215 11996 11534 \n3 13626 10231 1223 \n3 2643 3072 3344 \n3 11531 11543 11318 \n3 10803 14898 6777 \n3 6026 6035 14271 \n3 4703 2498 2465 \n3 11771 11774 11533 \n3 4900 4479 4680 \n3 6385 6091 6665 \n3 12025 11567 11088 \n3 4194 1691 5489 \n3 11780 11545 11768 \n3 11545 11321 11769 \n3 11771 11770 11779 \n3 5513 1516 4538 \n3 11538 11774 12002 \n3 8726 12199 8709 \n3 11770 11746 11779 \n3 11315 10838 11764 \n3 13944 12120 11153 \n3 11757 11773 11755 \n3 11438 10456 14292 \n3 10202 12120 13944 \n3 3287 3266 1226 \n3 12006 12008 11757 \n3 11999 11784 11780 \n3 4826 2682 3639 \n3 8357 8365 3361 \n3 11757 12008 11773 \n3 11773 11784 11999 \n3 11784 11782 11780 \n3 12008 11786 11773 \n3 11438 14292 11429 \n3 12210 11996 12215 \n3 10251 9055 10275 \n3 11327 11780 11782 \n3 9997 8842 8796 \n3 4487 8229 590 \n3 10026 10025 11234 \n3 11773 11786 11784 \n3 11786 12011 11784 \n3 10436 10886 10883 \n3 14644 13270 13273 \n3 11032 11280 11281 \n3 11552 11549 11329 \n3 6269 14788 8302 \n3 10025 9997 11234 \n3 12011 12012 11788 \n3 12012 11554 11788 \n3 8966 9961 4064 \n3 13074 13076 12445 \n3 12468 11806 13111 \n3 11554 11551 11788 \n3 12012 12231 11554 \n3 14876 4886 4065 \n3 9985 8816 10013 \n3 5309 4721 4931 \n3 12249 11578 12251 \n3 11335 11565 11793 \n3 6620 6629 2655 \n3 11793 11565 12019 \n3 9325 9327 8910 \n3 8816 9985 8776 \n3 13005 12597 12793 \n3 12082 12933 12081 \n3 7405 10682 8713 \n3 12321 12547 10925 \n3 8218 8189 5684 \n3 14788 6269 4065 \n3 10682 13896 8713 \n3 13199 12617 4914 \n3 11798 11089 12243 \n3 5647 5857 5645 \n3 11822 11352 10869 \n3 11088 11090 11568 \n3 13276 6607 11246 \n3 10275 9002 8954 \n3 12685 11805 11099 \n3 12469 11575 11806 \n3 11807 11575 12469 \n3 11575 12032 11806 \n3 13749 12405 12640 \n3 11801 12026 12244 \n3 2418 1979 2975 \n3 11576 12032 11575 \n3 14269 9212 11419 \n3 5994 5991 4953 \n3 10634 11811 12254 \n3 12252 11580 12254 \n3 12254 11580 11348 \n3 11103 12258 12036 \n3 12257 10407 12256 \n3 11103 12479 12692 \n3 11813 10639 12257 \n3 8208 1777 6672 \n3 13289 12627 12150 \n3 8190 10583 11595 \n3 11817 10639 12041 \n3 11586 12480 11108 \n3 11820 11352 12042 \n3 3704 6712 3701 \n3 8053 10492 11483 \n3 11353 11818 12043 \n3 11820 11819 11351 \n3 11354 12484 11822 \n3 2727 3677 3673 \n3 12273 11355 11118 \n3 3714 6991 6727 \n3 11115 12489 11590 \n3 12386 7313 12294 \n3 12047 11116 10872 \n3 10872 11825 12047 \n3 11824 11359 12045 \n3 11355 12273 12272 \n3 8750 8772 8770 \n3 11358 11592 12049 \n3 4481 6555 8585 \n3 11124 11123 11829 \n3 11594 11830 11828 \n3 8711 13196 9907 \n3 11830 11594 11125 \n3 11124 11829 12499 \n3 11368 11124 12499 \n3 11833 11368 12499 \n3 11125 11598 11830 \n3 11598 12700 12280 \n3 10358 10370 10580 \n3 1665 601 12392 \n3 11600 11833 12500 \n3 9964 8772 8750 \n3 11603 11371 11600 \n3 12284 12060 11601 \n3 4553 4560 4556 \n3 4000 4005 4006 \n3 11834 12061 12503 \n3 9880 3949 9855 \n3 12446 11761 11748 \n3 95 1122 5130 \n3 7652 7906 7168 \n3 12056 12090 14953 \n3 11374 11834 12063 \n3 8865 7871 6963 \n3 11834 12503 12063 \n3 7160 5159 7144 \n3 11835 11838 11374 \n3 11608 11837 11375 \n3 4383 6437 8301 \n3 7366 6352 9692 \n3 11149 11844 11377 \n3 8731 9946 8750 \n3 11988 11517 11734 \n3 11269 14525 4618 \n3 11610 11615 12068 \n3 6486 6979 6636 \n3 12106 10014 8021 \n3 11154 12070 11382 \n3 7262 7268 10551 \n3 11849 11617 11616 \n3 11618 11617 11849 \n3 9964 8750 9946 \n3 12296 11376 2462 \n3 13387 11849 11616 \n3 13390 12293 12519 \n3 12071 11852 11383 \n3 12515 10900 11845 \n3 11098 11076 12942 \n3 12073 12072 11856 \n3 11383 11156 12071 \n3 12074 11856 11390 \n3 11856 12072 11388 \n3 10238 13048 11277 \n3 11857 12074 11390 \n3 12300 11857 11393 \n3 12129 12125 11230 \n3 9715 2976 8512 \n3 533 415 501 \n3 14211 13045 11025 \n3 11859 11394 11858 \n3 5449 2463 9360 \n3 9939 9946 8724 \n3 10265 10484 10483 \n3 11914 10945 10923 \n3 10211 11287 8920 \n3 11861 11398 11167 \n3 11861 11863 11398 \n3 3261 4371 6660 \n3 12312 12309 12534 \n3 4801 2598 3602 \n3 11861 12923 11863 \n3 11397 11860 10915 \n3 12074 12073 11856 \n3 11633 11864 12079 \n3 11863 10916 11398 \n3 12307 12078 11632 \n3 11633 12079 10918 \n3 9933 11180 12186 \n3 11171 11866 11400 \n3 5463 5466 7591 \n3 11867 11403 12080 \n3 12034 13840 12845 \n3 11172 11635 12539 \n3 8034 8013 10448 \n3 12931 12539 12313 \n3 4905 3937 8800 \n3 10740 11899 11439 \n3 12084 11405 11173 \n3 7828 9053 6770 \n3 11174 11638 12315 \n3 9933 9960 11188 \n3 11174 12084 11173 \n3 7397 4750 6024 \n3 11874 12087 11638 \n3 9319 4399 9326 \n3 11409 10924 12320 \n3 7191 9322 4507 \n3 6714 5591 14766 \n3 11642 11643 12093 \n3 11680 8546 13728 \n3 12325 11642 12093 \n3 10494 12091 12549 \n3 11878 12323 12091 \n3 8056 7544 7919 \n3 5910 4880 6863 \n3 12319 12087 11874 \n3 11879 11878 11184 \n3 11642 11644 11415 \n3 11415 11410 11642 \n3 9102 9101 12345 \n3 10169 10160 10211 \n3 11646 12330 12555 \n3 12313 12312 12726 \n3 12552 11879 11413 \n3 12840 13836 11076 \n3 7366 6357 4053 \n3 12437 12659 12656 \n3 10725 11888 12327 \n3 12330 11656 12098 \n3 11425 12100 11889 \n3 6826 9101 9102 \n3 12192 12184 14248 \n3 11896 14994 11434 \n3 12552 11413 11425 \n3 11388 11390 11856 \n3 12589 12115 12112 \n3 14994 11896 11898 \n3 12338 11442 11898 \n3 12413 12647 13313 \n3 13909 14115 13907 \n3 13435 12957 12756 \n3 10783 6152 3645 \n3 11939 9692 4022 \n3 12976 12573 12343 \n3 11434 11444 12108 \n3 10323 10794 10797 \n3 11895 11440 11661 \n3 11206 11442 12574 \n3 3629 4629 6646 \n3 12211 1692 12207 \n3 11901 10949 11903 \n3 11901 11903 12344 \n3 11906 11663 11206 \n3 11662 11899 10947 \n3 10949 11445 11903 \n3 11446 11663 12111 \n3 3503 3720 3504 \n3 11552 12232 11785 \n3 11995 12436 11769 \n3 12784 12595 12123 \n3 4295 11622 795 \n3 11445 11446 12577 \n3 5332 219 4051 \n3 12124 11910 11916 \n3 11913 11909 12594 \n3 11921 12122 11667 \n3 12118 12789 12354 \n3 11666 11909 11913 \n3 13884 12818 10518 \n3 11664 11667 12122 \n3 11916 11921 11669 \n3 11922 11920 12124 \n3 12127 11673 11913 \n3 12122 12355 11911 \n3 11667 11672 11921 \n3 5376 6420 7314 \n3 11669 11922 11916 \n3 11922 12132 11920 \n3 4581 13532 13560 \n3 11671 11676 11922 \n3 12132 12364 11920 \n3 12832 4854 6830 \n3 11676 12132 11922 \n3 12076 12075 12527 \n3 11674 11673 12367 \n3 5369 2380 10360 \n3 11666 11913 11673 \n3 5881 3696 14993 \n3 11941 12820 11932 \n3 11679 12363 11460 \n3 9153 11380 10351 \n3 10098 8858 10135 \n3 4878 5910 4869 \n3 14790 8245 10624 \n3 11936 11466 12134 \n3 10135 10177 11262 \n3 11933 12139 11931 \n3 9254 7138 7123 \n3 10615 10854 10852 \n3 11914 10923 12820 \n3 14403 5096 12326 \n3 10131 10169 10117 \n3 12954 12956 12753 \n3 11928 11462 11681 \n3 2145 8433 5920 \n3 11464 11938 12142 \n3 4316 3084 3088 \n3 6763 6757 6930 \n3 11467 11692 12375 \n3 12376 11945 11470 \n3 11381 12520 11848 \n3 8540 6413 10986 \n3 9030 6177 10050 \n3 12150 11239 11944 \n3 10710 13779 11730 \n3 9869 8666 11101 \n3 11478 12625 11475 \n3 5613 7507 4589 \n3 11789 2380 13879 \n3 11475 12625 12622 \n3 11947 12384 10768 \n3 10527 7252 5792 \n3 4641 5662 9531 \n3 11257 10793 10795 \n3 11815 13792 13808 \n3 11671 11929 11676 \n3 11899 13213 11439 \n3 10131 10117 10108 \n3 12070 11619 13848 \n3 11808 12813 14925 \n3 11027 11914 11960 \n3 11703 12391 12154 \n3 12157 11486 12155 \n3 11699 13288 12625 \n3 7113 9320 9251 \n3 9874 1962 2945 \n3 1799 887 6108 \n3 4941 3939 5973 \n3 2583 2589 7492 \n3 11253 12161 11252 \n3 12399 13294 12158 \n3 11704 12633 11705 \n3 6148 7089 60 \n3 12161 11952 12403 \n3 11497 11705 12633 \n3 12817 12395 12161 \n3 12830 13043 12833 \n3 7931 10319 9101 \n3 11116 12047 11588 \n3 11710 11954 11952 \n3 12635 11265 11495 \n3 11957 12164 11954 \n3 12912 895 12225 \n3 10101 9770 6822 \n3 11500 11719 11962 \n3 10639 11817 9818 \n3 11961 11962 12410 \n3 1139 14720 13648 \n3 11716 12169 12167 \n3 12409 11504 12638 \n3 13407 14064 13631 \n3 5747 6724 4731 \n3 12168 12174 11505 \n3 4566 5566 7483 \n3 12413 11503 11967 \n3 11961 11500 11962 \n3 12172 11727 11971 \n3 7267 8192 8216 \n3 12570 8355 13522 \n3 12570 7268 8355 \n3 11543 10840 11325 \n3 12177 11506 11505 \n3 11564 12558 8180 \n3 8842 10077 10108 \n3 11726 12418 11507 \n3 11728 11971 11509 \n3 11727 11509 11971 \n3 9464 6578 1876 \n3 12418 11972 11507 \n3 2945 5333 11061 \n3 12177 11729 11506 \n3 14409 13963 13751 \n3 9514 9970 10637 \n3 12651 11972 12838 \n3 11981 12190 11987 \n3 4564 5553 9458 \n3 8263 12434 8283 \n3 11293 11295 11979 \n3 9568 7284 13895 \n3 12180 11728 11982 \n3 11293 11979 12182 \n3 11982 12195 12180 \n3 12607 5954 1334 \n3 8536 13773 14849 \n3 11293 12182 12427 \n3 11985 11981 11987 \n3 9939 8724 12192 \n3 3017 3010 4120 \n3 11955 11493 11261 \n3 11526 12189 12193 \n3 11742 11987 12190 \n3 6059 8886 6042 \n3 10501 10933 9618 \n3 12189 11526 11742 \n3 11988 11992 12200 \n3 12976 12763 13218 \n3 11985 11987 11990 \n3 10651 10430 10878 \n3 8362 13850 8359 \n3 9822 11037 8580 \n3 13989 14011 13015 \n3 10814 5829 5839 \n3 2033 662 4560 \n3 11768 11545 12439 \n3 12204 12437 12656 \n3 12206 11543 12193 \n3 11995 11994 12436 \n3 12204 12195 11999 \n3 5677 5691 984 \n3 11013 5281 9809 \n3 11581 11809 11810 \n3 11764 11543 12206 \n3 12361 12365 12367 \n3 11999 11768 12204 \n3 12445 13076 12666 \n3 11545 11769 12439 \n3 4034 6080 7949 \n3 12203 12444 13074 \n3 13768 10777 7453 \n3 12347 14299 13306 \n3 6547 1518 8408 \n3 12001 12216 12217 \n3 12002 11774 12222 \n3 6551 3522 6547 \n3 4288 9213 5307 \n3 12226 12222 11771 \n3 12222 12219 12002 \n3 10767 10777 14835 \n3 14621 14617 14138 \n3 10626 9522 9531 \n3 11621 11853 11156 \n3 11771 12222 11774 \n3 4535 8401 8408 \n3 11555 11554 12231 \n3 11772 12003 12004 \n3 11780 11327 11545 \n3 3490 3498 5484 \n3 11996 12210 11991 \n3 3764 3759 4782 \n3 10039 14724 5744 \n3 10750 4211 6444 \n3 5156 1433 2782 \n3 12008 12228 11786 \n3 7068 14878 4892 \n3 12232 11552 11790 \n3 4526 1511 5500 \n3 11015 14101 8577 \n3 10146 9935 10141 \n3 11793 12234 11557 \n3 11790 11557 12234 \n3 14724 10039 5738 \n3 11561 12233 12875 \n3 11409 12321 10925 \n3 3582 14468 14471 \n3 14471 12212 3582 \n3 8387 755 4509 \n3 12239 12243 11795 \n3 4970 2556 4982 \n3 9784 11015 7471 \n3 11885 10933 10501 \n3 12028 2030 11980 \n3 11452 11666 11673 \n3 11396 8013 8004 \n3 1923 9781 8552 \n3 9595 10486 10052 \n3 11727 11271 11509 \n3 13276 11246 12247 \n3 12463 12025 11568 \n3 12249 12030 11578 \n3 11807 12469 11579 \n3 12884 11579 12471 \n3 10986 6413 13029 \n3 4729 4803 13312 \n3 5653 7123 7836 \n3 7108 7123 5653 \n3 13565 3481 4475 \n3 12252 12254 12473 \n3 9490 8305 11731 \n3 3006 945 1988 \n3 9462 13735 12697 \n3 11737 13784 11731 \n3 13175 12080 12928 \n3 13505 12391 12158 \n3 10710 9498 11717 \n3 1530 14238 487 \n3 11565 11567 12241 \n3 8028 6909 5880 \n3 11818 11819 12267 \n3 11819 12266 12267 \n3 4734 1776 6724 \n3 12042 11352 11821 \n3 10193 12791 13846 \n3 6734 4734 6724 \n3 14167 3471 5575 \n3 7157 5170 4142 \n3 14297 8767 8757 \n3 10648 11817 12486 \n3 11355 12272 11589 \n3 6669 6668 640 \n3 92 6277 3914 \n3 8596 7647 5747 \n3 9315 11494 12434 \n3 9845 8668 5359 \n3 11359 11590 12046 \n3 12047 11825 12271 \n3 7807 9833 4926 \n3 10664 10885 11133 \n3 11358 12048 12273 \n3 2706 3773 3823 \n3 4425 4418 7364 \n3 12892 12050 12045 \n3 11360 11824 12050 \n3 6480 6793 6204 \n3 11826 11828 12497 \n3 12052 11826 12497 \n3 14204 8401 4535 \n3 1462 10475 5465 \n3 13371 12696 13822 \n3 12276 11829 11123 \n3 3111 7084 6135 \n3 11845 10900 11848 \n3 9896 857 14713 \n3 8863 9278 9146 \n3 14725 14708 13572 \n3 11965 5449 1437 \n3 1452 1468 3729 \n3 14466 3545 5668 \n3 4161 10175 1165 \n3 12500 12283 11600 \n3 5059 11550 14895 \n3 7961 7942 2960 \n3 9490 3843 8305 \n3 13118 13582 13364 \n3 3360 4915 2643 \n3 14420 13529 13044 \n3 11734 11284 11510 \n3 8573 7613 11722 \n3 11837 11608 12507 \n3 1725 2714 8072 \n3 8573 8582 7635 \n3 12112 12113 12781 \n3 11835 12704 11838 \n3 12290 11143 12289 \n3 7619 2755 6710 \n3 9960 9933 8745 \n3 939 4521 3364 \n3 12048 12494 12273 \n3 14914 14911 14182 \n3 11845 11848 12519 \n3 12068 11615 11377 \n3 11378 11614 12292 \n3 10497 13559 9269 \n3 12293 12515 11845 \n3 14755 1677 5952 \n3 11151 12292 10903 \n3 14217 2864 14231 \n3 1406 14233 1412 \n3 8242 6122 12690 \n3 11668 11686 8269 \n3 11383 11852 11381 \n3 11694 13647 10692 \n3 6477 4439 5447 \n3 12069 12517 11152 \n3 4408 10356 5524 \n3 8320 2790 7222 \n3 11397 11632 12078 \n3 11860 12303 11628 \n3 12714 14753 11736 \n3 11163 11162 11392 \n3 6477 6473 4427 \n3 11626 11392 11162 \n3 4654 6787 6754 \n3 11845 12519 12293 \n3 11853 12072 12071 \n3 6477 4427 4439 \n3 11625 11623 11855 \n3 7167 14889 9266 \n3 12264 12267 12889 \n3 7033 5134 5141 \n3 2050 13102 4981 \n3 12074 11857 12300 \n3 12073 12074 12719 \n3 5167 7163 6234 \n3 4368 4362 848 \n3 6234 6242 3199 \n3 11858 12303 11859 \n3 11859 12302 12300 \n3 13433 13201 12098 \n3 4914 4899 7807 \n3 4387 3273 5526 \n3 1536 941 7023 \n3 256 4664 4681 \n3 9715 6387 2976 \n3 10934 6387 9715 \n3 1218 3251 4176 \n3 11864 11863 12309 \n3 12312 11864 12309 \n3 12307 11866 12311 \n3 12313 12539 11635 \n3 13234 13231 12991 \n3 12534 12309 12923 \n3 11597 8357 5823 \n3 12541 11172 12730 \n3 12080 11403 11636 \n3 12316 10922 11637 \n3 11401 11635 11172 \n3 13563 12665 10640 \n3 11406 12316 12088 \n3 11637 11175 12086 \n3 12782 14936 14930 \n3 12940 10712 11179 \n3 9964 9946 9939 \n3 10538 9363 5780 \n3 7485 8572 3051 \n3 13418 11408 12322 \n3 1406 1412 14968 \n3 12896 11934 12899 \n3 8377 10706 1846 \n3 12094 12549 12738 \n3 11878 11879 12323 \n3 11886 11421 11187 \n3 12320 10712 12546 \n3 4887 5933 3890 \n3 6027 6074 4991 \n3 11647 12663 13606 \n3 12094 12737 11187 \n3 6895 7796 2947 \n3 12648 13563 10640 \n3 9838 11937 11926 \n3 13422 12552 13205 \n3 11430 11650 11890 \n3 4295 6545 5438 \n3 13096 13353 12875 \n3 10399 3392 6424 \n3 12953 12561 11431 \n3 11678 11215 10960 \n3 6668 5662 4641 \n3 12100 11901 12757 \n3 13262 11927 12798 \n3 11895 12567 11656 \n3 14998 11891 11424 \n3 4700 6705 4691 \n3 5881 14746 3719 \n3 12670 12671 12215 \n3 11908 12351 12117 \n3 6154 6155 13786 \n3 11661 11660 12105 \n3 11662 11902 12340 \n3 12341 11899 11662 \n3 12108 12763 11896 \n3 11588 12047 12490 \n3 13672 13213 11899 \n3 4096 7120 6159 \n3 13655 14996 12959 \n3 10321 9117 5756 \n3 12571 12575 12109 \n3 9390 12641 11627 \n3 5366 5373 329 \n3 11444 11434 10286 \n3 11034 11076 11035 \n3 12127 12361 11673 \n3 12779 12781 12995 \n3 12115 12113 12112 \n3 11907 12768 12765 \n3 12349 11908 12118 \n3 12568 11437 11891 \n3 118 190 117 \n3 7339 14178 14662 \n3 5684 5689 8218 \n3 8453 7348 9667 \n3 11911 12115 11909 \n3 12115 11911 12113 \n3 11910 11908 12117 \n3 12355 12122 12117 \n3 13129 13822 12696 \n3 12645 12419 13051 \n3 11664 12122 11911 \n3 5376 7314 2377 \n3 10715 10927 10072 \n3 11916 11910 12117 \n3 12126 12127 12123 \n3 7584 9907 7579 \n3 11921 11916 12117 \n3 11076 11976 12840 \n3 12124 11920 12118 \n3 12118 11920 12789 \n3 12123 12127 11913 \n3 3051 8572 9809 \n3 563 4003 11905 \n3 6712 7619 6710 \n3 7909 7918 3690 \n3 2459 155 184 \n3 14745 3690 7918 \n3 11128 7579 9907 \n3 13560 13532 12624 \n3 11920 12128 12789 \n3 7090 4076 7072 \n3 12749 8320 9527 \n3 14461 14963 1377 \n3 12359 11679 11925 \n3 12361 12367 11673 \n3 11676 12136 12133 \n3 12364 12128 11920 \n3 7266 7374 7382 \n3 11460 12363 12134 \n3 9896 14713 3471 \n3 4999 63 1350 \n3 12364 12132 12133 \n3 13028 11025 13035 \n3 11098 12090 12056 \n3 12610 12364 12801 \n3 11567 12025 12241 \n3 3555 4570 6589 \n3 11835 11374 12063 \n3 12624 13532 11640 \n3 9549 13890 5248 \n3 6762 964 4546 \n3 4939 14881 4958 \n3 2157 13828 3355 \n3 11897 8425 10860 \n3 1013 5745 3442 \n3 12136 11931 12373 \n3 11933 11931 11678 \n3 747 7847 5796 \n3 6450 9057 4843 \n3 12139 12616 12373 \n3 10961 11461 11927 \n3 11931 12139 12373 \n3 12134 12368 11936 \n3 11929 11931 12136 \n3 11685 11928 12613 \n3 12830 12643 13518 \n3 10944 10921 11926 \n3 11877 8425 11897 \n3 8247 4328 1339 \n3 907 1950 903 \n3 4298 1322 8262 \n3 525 12242 6578 \n3 11929 11678 11931 \n3 11938 12619 12142 \n3 11936 12805 11690 \n3 12378 12375 11692 \n3 11742 11526 11319 \n3 12142 12379 11943 \n3 14313 14804 14312 \n3 12640 13527 13962 \n3 13281 13282 12808 \n3 291 1322 4298 \n3 11691 12381 12143 \n3 8898 6022 4981 \n3 2989 3006 1988 \n3 6288 6281 9619 \n3 5617 6606 6619 \n3 3338 291 4298 \n3 5081 11870 6281 \n3 7871 8855 5994 \n3 12152 11695 12383 \n3 324 4333 2380 \n3 12625 11478 11699 \n3 11690 12376 11470 \n3 12150 12155 10999 \n3 1618 14399 1625 \n3 11695 11700 11482 \n3 5806 3670 10167 \n3 12389 12156 11700 \n3 6578 8452 5584 \n3 13787 13792 11815 \n3 7213 4537 3309 \n3 3285 3309 4537 \n3 11703 12399 12158 \n3 5545 5555 3438 \n3 12158 12391 11703 \n3 2931 12007 1974 \n3 152 128 153 \n3 11012 12159 12400 \n3 14702 1243 9829 \n3 7397 6052 6029 \n3 10859 10183 10619 \n3 11490 12159 11012 \n3 8120 9274 11558 \n3 11049 11303 11306 \n3 12161 11706 11952 \n3 11706 11489 11952 \n3 14583 14839 2450 \n3 12631 13038 12633 \n3 12410 11962 12172 \n3 12633 11956 11497 \n3 13516 12819 12397 \n3 3438 1335 1285 \n3 258 14606 2591 \n3 13342 12969 2587 \n3 12427 11739 11733 \n3 6890 365 4795 \n3 11497 11956 11712 \n3 6349 7267 5310 \n3 13483 13714 13254 \n3 12164 11957 12405 \n3 12168 11505 12407 \n3 11889 12552 11425 \n3 5531 3437 12057 \n3 10577 13470 12599 \n3 13715 13714 13483 \n3 10770 5787 10773 \n3 13723 13715 13483 \n3 12414 12410 12172 \n3 12410 12414 13041 \n3 11503 11023 11967 \n3 6024 7403 7397 \n3 10729 10506 10081 \n3 12413 12169 11503 \n3 11970 12644 12172 \n3 9869 11101 8645 \n3 12414 12172 12644 \n3 9594 442 10817 \n3 5066 5070 6261 \n3 11521 11048 11290 \n3 12206 11760 11764 \n3 3825 5869 1905 \n3 4869 7765 4823 \n3 14634 13715 14635 \n3 11970 11971 12419 \n3 12419 12645 12644 \n3 12180 12652 12419 \n3 11971 12180 12419 \n3 11972 12651 11507 \n3 14653 14169 13741 \n3 1180 8658 13547 \n3 8668 11102 9886 \n3 9979 7998 7090 \n3 10431 9276 9281 \n3 13553 3948 4950 \n3 11510 11507 12651 \n3 12833 12646 12177 \n3 9568 10800 7279 \n3 8665 8664 9699 \n3 8874 9024 9716 \n3 10782 5394 5400 \n3 1263 2283 8184 \n3 13060 12652 12656 \n3 11290 11036 11288 \n3 12384 12381 11691 \n3 11971 11970 12172 \n3 3037 3041 13266 \n3 9730 4808 3809 \n3 12193 12658 12847 \n3 1209 2098 7693 \n3 5400 1615 10782 \n3 3307 5307 6345 \n3 4554 3528 1534 \n3 12195 12656 12180 \n3 11739 13545 11525 \n3 7992 5861 9187 \n3 8159 2283 5270 \n3 12431 11744 12664 \n3 4975 6215 9672 \n3 11736 7437 10755 \n3 11992 12444 12200 \n3 12439 12436 13326 \n3 1243 14702 14952 \n3 1392 13965 14411 \n3 6075 3070 7018 \n3 10735 9509 8319 \n3 8464 3555 6589 \n3 12445 11754 13074 \n3 12029 14141 7645 \n3 12203 13074 11754 \n3 3598 3295 3712 \n3 12205 11760 12206 \n3 12851 12442 12205 \n3 11991 12210 12202 \n3 11994 11525 12436 \n3 12437 11768 12438 \n3 7166 7530 7408 \n3 12438 11768 12439 \n3 11769 12436 12439 \n3 10656 10659 10440 \n3 11768 12437 12204 \n3 1618 1625 3608 \n3 10312 9120 8079 \n3 11761 12216 12001 \n3 7656 1784 4734 \n3 10367 11041 11052 \n3 11666 11452 11209 \n3 12220 12450 12003 \n3 11156 11853 12071 \n3 7484 9807 13067 \n3 10538 13411 10525 \n3 8709 7569 7586 \n3 14166 12211 11336 \n3 5463 1212 5466 \n3 11771 12010 12226 \n3 12006 12004 12008 \n3 9214 14643 14886 \n3 7676 2808 1814 \n3 9034 8953 14829 \n3 8710 8142 7735 \n3 12010 12674 12226 \n3 12445 12446 11754 \n3 12674 11785 12232 \n3 6830 3812 12832 \n3 12228 12011 11786 \n3 12231 12012 12458 \n3 2210 10653 964 \n3 12290 12909 13384 \n3 10525 13411 4205 \n3 12869 12674 12232 \n3 6515 3480 4482 \n3 7222 9527 8320 \n3 12961 13895 5749 \n3 6299 1223 6317 \n3 12232 11790 12873 \n3 1197 11969 1135 \n3 11561 12231 12233 \n3 12026 13571 12683 \n3 14941 8319 8320 \n3 12462 12234 11793 \n3 12019 12462 11793 \n3 11795 11562 12461 \n3 5227 4181 3248 \n3 2998 1998 5994 \n3 12019 11565 12241 \n3 11795 12461 12239 \n3 13382 13146 13839 \n3 1206 4181 5227 \n3 8253 4377 4361 \n3 8709 6548 8726 \n3 12680 12019 12241 \n3 12465 14459 13357 \n3 4780 8160 4783 \n3 11751 2788 8316 \n3 11088 11568 12025 \n3 4496 4596 4499 \n3 11464 11943 11227 \n3 12465 13357 12027 \n3 12026 12683 12244 \n3 12466 12244 12683 \n3 7948 1997 1639 \n3 12466 12685 12244 \n3 4795 379 2729 \n3 9508 10734 10736 \n3 12465 12248 12030 \n3 12465 12027 12248 \n3 13111 12032 11576 \n3 12468 12469 11806 \n3 12251 12250 12249 \n3 9700 12921 6368 \n3 14945 1192 1197 \n3 12471 11579 12469 \n3 12473 12472 12252 \n3 12255 12256 11809 \n3 12254 11811 12473 \n3 3982 10996 8860 \n3 11572 12244 12685 \n3 13739 13288 14398 \n3 9616 13782 8582 \n3 12256 11810 11809 \n3 12475 12036 12258 \n3 11811 12036 12475 \n3 12885 12476 12257 \n3 13391 12070 13848 \n3 13117 12474 12475 \n3 12475 12258 13117 \n3 1197 1192 3369 \n3 10639 11813 12041 \n3 12886 11584 11108 \n3 7829 4930 3940 \n3 2826 2803 7063 \n3 10260 14469 12398 \n3 3462 4469 9381 \n3 12267 12264 12043 \n3 12267 12043 11818 \n3 8757 8767 6596 \n3 11821 11822 12487 \n3 14162 14894 14895 \n3 11715 9486 10701 \n3 11590 12489 12488 \n3 5861 4727 9187 \n3 11717 8296 6161 \n3 11589 12272 12493 \n3 9462 11702 6158 \n3 12045 11359 12046 \n3 12046 11590 12491 \n3 11589 12493 12484 \n3 6234 7163 6242 \n3 5665 5684 8189 \n3 12490 12489 11588 \n3 13137 12053 12274 \n3 8284 8291 11707 \n3 13140 12497 11828 \n3 10981 8532 6408 \n3 13302 13526 14182 \n3 1163 5178 5177 \n3 12220 12003 11762 \n3 11829 12277 12499 \n3 9498 8296 11717 \n3 11830 12280 12279 \n3 12053 13139 12277 \n3 10468 11476 10441 \n3 12499 12500 11833 \n3 3353 14440 14438 \n3 14708 11787 13572 \n3 9462 4966 13735 \n3 10761 10768 10762 \n3 11607 11837 12284 \n3 2072 7378 7327 \n3 12061 11834 11603 \n3 11835 12063 12506 \n3 6122 8284 12690 \n3 11835 12506 12704 \n3 2221 3183 5167 \n3 10520 10752 10521 \n3 12509 12510 12289 \n3 12509 11610 12512 \n3 3693 3685 4714 \n3 14942 1135 1130 \n3 11144 12508 10897 \n3 12512 11610 13155 \n3 7635 4714 8573 \n3 11614 12291 12292 \n3 12709 12068 11377 \n3 5645 5857 5642 \n3 12069 10903 12514 \n3 13387 11616 12517 \n3 13388 11618 11849 \n3 12914 11619 11618 \n3 8951 9368 9086 \n3 12716 12523 12520 \n3 12715 11382 12070 \n3 8283 5781 4553 \n3 11851 11382 12715 \n3 3677 4691 6693 \n3 12715 11854 11851 \n3 12295 11852 12071 \n3 12072 12524 12295 \n3 14568 13889 14824 \n3 11854 12717 11855 \n3 12295 12071 12072 \n3 12717 12715 13161 \n3 11855 12297 11625 \n3 11954 12164 11952 \n3 6909 10411 7970 \n3 12920 11629 12076 \n3 4427 6473 5430 \n3 12663 10677 13606 \n3 13071 2028 13093 \n3 11636 11869 12080 \n3 4507 7153 5689 \n3 4371 3250 8817 \n3 12375 12616 11940 \n3 10013 10045 11251 \n3 11861 11167 12920 \n3 10953 11674 11681 \n3 11860 11397 12078 \n3 10922 12316 11406 \n3 12078 12533 12531 \n3 14978 14332 5744 \n3 12933 12131 13052 \n3 13169 13619 13165 \n3 13015 12943 12034 \n3 12723 12307 12311 \n3 12537 12311 12080 \n3 11866 11171 12311 \n3 12995 13233 12994 \n3 283 14609 261 \n3 12079 12312 12313 \n3 12313 11635 12079 \n3 13960 14179 14906 \n3 12315 12084 11174 \n3 12731 11869 11405 \n3 12315 11638 12087 \n3 3729 6072 7107 \n3 2921 10397 5371 \n3 14856 14852 4738 \n3 13418 12543 11408 \n3 10617 7139 10609 \n3 12086 12936 12316 \n3 12196 8722 4285 \n3 12091 12323 12740 \n3 11642 12325 11644 \n3 13193 10716 11881 \n3 13193 11881 12324 \n3 11882 12555 12324 \n3 11411 12095 11185 \n3 12551 12095 11411 \n3 10418 10456 11438 \n3 11881 11882 12324 \n3 12333 12552 11889 \n3 10606 6078 8211 \n3 13976 5301 14920 \n3 11650 11185 12095 \n3 9398 6098 7130 \n3 5590 14743 4448 \n3 12331 12562 12753 \n3 11648 12745 12099 \n3 2859 3519 3097 \n3 12737 11885 11886 \n3 6366 7366 9695 \n3 11889 12100 12333 \n3 12333 12100 12754 \n3 12563 12099 12745 \n3 11655 11430 11890 \n3 12754 12100 12757 \n3 12747 12953 13200 \n3 12750 12563 12745 \n3 12959 12568 11891 \n3 12757 11901 13438 \n3 11433 12566 11902 \n3 4048 8006 14548 \n3 12566 11433 12563 \n3 12970 12105 12104 \n3 13116 14717 12885 \n3 12761 11895 11661 \n3 4176 9115 164 \n3 6144 6168 4092 \n3 12341 11662 12340 \n3 5994 1998 6005 \n3 7529 13990 14695 \n3 11660 12104 12105 \n3 12573 12338 12343 \n3 12575 12763 12108 \n3 11611 10606 10605 \n3 12974 12344 12577 \n3 6075 8929 6997 \n3 5621 7700 14715 \n3 13632 14066 13634 \n3 12558 9256 8151 \n3 12765 12577 11907 \n3 1597 14772 14276 \n3 12777 12781 12586 \n3 12111 12768 11907 \n3 12580 11906 12766 \n3 12580 12581 12111 \n3 12978 12765 12768 \n3 12973 12766 12576 \n3 12150 12627 12155 \n3 115 1151 3169 \n3 12586 12348 12346 \n3 12582 12586 12346 \n3 12348 12773 12346 \n3 12159 11490 11486 \n3 10322 6399 9241 \n3 12586 12351 12348 \n3 12114 12588 12592 \n3 3890 2931 2919 \n3 7111 8180 7107 \n3 12350 12781 12113 \n3 12348 11908 12349 \n3 12350 12355 12351 \n3 4073 4083 7089 \n3 12355 12117 12351 \n3 12114 12592 12594 \n3 9508 375 7194 \n3 11913 12594 12123 \n3 11909 12114 12594 \n3 3366 3559 3778 \n3 12354 12596 12593 \n3 12580 12111 11663 \n3 7252 5804 5792 \n3 12595 12790 12126 \n3 13775 7885 1029 \n3 11597 13523 8365 \n3 13006 12361 12126 \n3 2106 7050 4047 \n3 8548 9008 8848 \n3 6589 5589 6595 \n3 12132 11676 12133 \n3 12358 12128 12610 \n3 1751 1737 5144 \n3 12602 12362 12363 \n3 3275 4380 5524 \n3 12610 12128 12364 \n3 12800 12365 12604 \n3 13227 12296 13238 \n3 12362 12134 12363 \n3 12602 12363 11679 \n3 9304 4370 10379 \n3 7888 5675 13356 \n3 9347 8165 9329 \n3 11927 11461 12798 \n3 3384 2380 5369 \n3 12365 12613 12367 \n3 12136 12612 12133 \n3 6110 7084 2121 \n3 3727 6063 1453 \n3 960 13687 4915 \n3 12820 11941 11960 \n3 8403 4661 7320 \n3 3270 14428 14928 \n3 8245 4937 7145 \n3 4298 8262 8240 \n3 12435 2332 4333 \n3 12795 13265 13721 \n3 8262 1322 4340 \n3 13018 11461 12143 \n3 11685 12613 11938 \n3 10381 10382 10603 \n3 13018 12138 11461 \n3 5503 9072 6959 \n3 12367 12613 11928 \n3 14201 5348 14200 \n3 3470 3477 2413 \n3 10984 12160 5491 \n3 13021 13018 12143 \n3 2173 14330 524 \n3 12804 12612 12373 \n3 12614 12619 11938 \n3 11938 12613 12614 \n3 10982 5236 7444 \n3 12808 12145 12376 \n3 13398 13621 14052 \n3 280 6631 6685 \n3 11470 11945 11474 \n3 12145 13282 12623 \n3 12842 12646 12835 \n3 13289 12150 11944 \n3 11475 12622 11692 \n3 11176 12141 13132 \n3 1229 1224 5270 \n3 11947 12626 12384 \n3 10964 14004 686 \n3 11948 13288 11699 \n3 4399 5419 9326 \n3 12152 12389 11700 \n3 12394 12155 12627 \n3 11485 13292 11948 \n3 3361 2057 8357 \n3 14734 3670 5806 \n3 9274 11535 7842 \n3 3070 6086 7018 \n3 13941 14384 14155 \n3 12393 11704 12156 \n3 12695 12487 12484 \n3 10205 13776 11731 \n3 11707 9486 11715 \n3 2494 1111 6181 \n3 11493 11955 12402 \n3 8745 9964 9960 \n3 10233 7759 11291 \n3 12633 13038 11956 \n3 3696 5881 7922 \n3 11367 11376 10305 \n3 9282 7012 7016 \n3 5816 2830 5829 \n3 11875 10277 11406 \n3 11956 12639 12407 \n3 7415 7298 7654 \n3 11957 12640 12405 \n3 13518 12643 12639 \n3 12642 11955 12167 \n3 14007 3644 3624 \n3 12642 12167 12169 \n3 5523 1285 1278 \n3 12174 12177 11505 \n3 7211 11273 7200 \n3 11503 12169 11716 \n3 3043 6075 6997 \n3 12644 11970 12419 \n3 8395 9605 6261 \n3 11553 9264 5985 \n3 12957 12753 12756 \n3 5822 5799 5769 \n3 10403 9967 9659 \n3 12647 12178 12426 \n3 5985 9264 5961 \n3 3050 6042 6990 \n3 3843 3836 358 \n3 1818 4348 4329 \n3 12656 12652 12180 \n3 11729 12425 12190 \n3 11323 11064 11318 \n3 11376 11366 5946 \n3 12426 11975 12654 \n3 2469 1230 5831 \n3 9025 7825 9055 \n3 12428 12190 12425 \n3 12216 11761 12446 \n3 10497 7008 8073 \n3 11975 12431 12654 \n3 4985 2050 4981 \n3 671 711 639 \n3 12034 12845 11085 \n3 12446 12666 12216 \n3 14074 14075 13645 \n3 11975 11512 12431 \n3 10497 8073 11516 \n3 6050 6059 5015 \n3 3387 9465 2124 \n3 13070 12654 12431 \n3 12855 12433 13328 \n3 9755 9597 686 \n3 7160 5167 5159 \n3 12437 12438 12659 \n3 6743 12305 7833 \n3 13326 13068 12439 \n3 12442 12661 11528 \n3 3043 6997 4991 \n3 12206 12847 12205 \n3 12847 12206 12193 \n3 4171 9845 4190 \n3 3019 7010 3982 \n3 13068 12438 12439 \n3 12204 12656 12195 \n3 3287 3298 6336 \n3 13812 10770 14924 \n3 3019 5009 7010 \n3 12294 7313 2635 \n3 14173 5039 10653 \n3 14694 13990 11912 \n3 12378 13023 12375 \n3 11992 12855 12444 \n3 11481 11494 9276 \n3 12205 12442 11760 \n3 3372 3466 3469 \n3 12768 13221 13451 \n3 10441 8028 10468 \n3 6317 4223 6319 \n3 10276 9025 9055 \n3 12446 12445 12666 \n3 12637 12641 10616 \n3 4218 6290 6296 \n3 3019 2051 5009 \n3 7811 9025 10270 \n3 3266 3287 5247 \n3 10026 11249 11251 \n3 13481 13485 13007 \n3 13824 7244 8349 \n3 13824 3879 7244 \n3 12609 13007 13485 \n3 13557 13348 12455 \n3 12004 12003 12450 \n3 11579 12884 11809 \n3 12002 12219 12448 \n3 7970 6852 5822 \n3 12212 5738 10029 \n3 8035 10460 9253 \n3 12004 12450 12452 \n3 13557 12455 12452 \n3 7836 7138 1903 \n3 12004 12452 12455 \n3 12219 12222 12226 \n3 14960 6218 8329 \n3 2542 5513 5510 \n3 7812 4486 12288 \n3 13057 9809 8572 \n3 6162 1103 8021 \n3 10653 5039 964 \n3 6202 2788 11751 \n3 9239 8034 11472 \n3 12869 12232 12870 \n3 11562 12875 12461 \n3 1456 3977 2782 \n3 14517 3019 3982 \n3 5234 6268 8122 \n3 12231 12458 12233 \n3 3704 4730 5743 \n3 11043 12840 11976 \n3 2283 13729 1229 \n3 11207 1227 9302 \n3 13553 13008 10973 \n3 7990 12412 6916 \n3 5544 5548 14264 \n3 11296 10186 5591 \n3 4482 3490 6515 \n3 1298 5880 3569 \n3 14232 14715 13116 \n3 12243 12239 11798 \n3 11798 12878 13571 \n3 13613 13847 12916 \n3 4956 2989 4951 \n3 11629 10691 12076 \n3 11798 12026 11801 \n3 6909 8028 10429 \n3 2587 12225 3939 \n3 10458 9187 9195 \n3 10949 11901 11200 \n3 12685 12466 13108 \n3 12695 12890 12487 \n3 13357 13107 12027 \n3 1291 1183 1287 \n3 1319 1379 1376 \n3 12251 11347 11580 \n3 1376 1379 1498 \n3 4563 6792 3390 \n3 12251 12470 12250 \n3 5779 2452 3500 \n3 13111 11806 12032 \n3 12470 12472 13113 \n3 11795 12243 11083 \n3 10248 12207 13078 \n3 2629 365 6890 \n3 10912 10481 11394 \n3 11811 12474 12473 \n3 12475 12474 11811 \n3 14001 12466 12683 \n3 915 4417 1617 \n3 11296 5591 6714 \n3 12257 12689 12885 \n3 3155 8678 12196 \n3 12257 12256 12689 \n3 13957 13745 13033 \n3 11144 10899 10462 \n3 8283 12434 11542 \n3 12276 12053 12277 \n3 12266 11820 13124 \n3 11820 12042 13124 \n3 12042 11821 12482 \n3 4930 3931 3940 \n3 6158 11702 6161 \n3 7103 9037 5702 \n3 5179 3203 6251 \n3 8796 7675 9997 \n3 12264 11586 12043 \n3 9116 12187 14152 \n3 12695 12484 12493 \n3 12490 12047 13586 \n3 25 3511 3507 \n3 12045 12046 12891 \n3 7904 13356 12326 \n3 12834 13762 13527 \n3 12272 12273 12696 \n3 6551 8414 1534 \n3 6540 1974 12935 \n3 9176 11396 9175 \n3 11826 12052 12049 \n3 8678 4228 9889 \n3 12050 13137 12274 \n3 11828 12279 13140 \n3 1130 1135 9743 \n3 10700 10718 12698 \n3 12279 12280 12699 \n3 11829 12276 12277 \n3 11494 12420 12434 \n3 12531 11860 12078 \n3 7021 4287 3041 \n3 13809 12476 12885 \n3 12903 12061 12283 \n3 12503 12506 12063 \n3 4921 5976 5971 \n3 11933 11459 11465 \n3 11177 10163 11230 \n3 10238 11277 12187 \n3 12705 12067 12704 \n3 12289 12510 12909 \n3 14990 4820 5854 \n3 2076 12424 9849 \n3 12290 12508 11144 \n3 12068 13155 11610 \n3 12708 12514 12292 \n3 12711 11844 12515 \n3 12711 13158 11844 \n3 5899 10460 5908 \n3 5167 7160 7163 \n3 5159 5167 3183 \n3 12514 13607 12069 \n3 5050 660 13733 \n3 11493 12399 11708 \n3 13154 12708 13152 \n3 13441 6446 14562 \n3 12407 11505 11502 \n3 12914 13848 11619 \n3 11625 12297 13166 \n3 12519 12916 13390 \n3 11685 11222 11463 \n3 12653 11979 13316 \n3 3881 2947 7796 \n3 12295 12716 11852 \n3 534 684 652 \n3 12052 12497 13135 \n3 3937 4905 8781 \n3 9390 9414 10616 \n3 12916 12519 12520 \n3 12715 12717 11854 \n3 14743 14553 4448 \n3 12524 12072 12073 \n3 10238 9072 13048 \n3 4562 9363 7213 \n3 12300 12918 12074 \n3 12721 11626 13166 \n3 12527 11626 12721 \n3 1136 5141 2189 \n3 12074 12525 12719 \n3 7762 5907 6854 \n3 8245 7145 10624 \n3 7008 2605 8073 \n3 12303 11860 12531 \n3 12529 12302 12303 \n3 13169 12918 12300 \n3 12532 13621 12923 \n3 13042 12163 13078 \n3 11863 12923 12309 \n3 3037 13266 5503 \n3 3430 9340 4418 \n3 4875 4887 2912 \n3 10677 12663 8433 \n3 895 4884 4883 \n3 9030 5130 6177 \n3 112 5503 13266 \n3 11172 12541 12086 \n3 12731 11405 12084 \n3 5128 4110 6201 \n3 5889 14745 7918 \n3 11179 12088 12733 \n3 9427 10616 9414 \n3 12088 12316 12936 \n3 13418 12939 12543 \n3 12546 12321 12320 \n3 12547 12321 13190 \n3 2714 3662 7576 \n3 12738 12737 12094 \n3 12091 12740 12549 \n3 12323 11879 12741 \n3 12551 13193 13420 \n3 11413 11189 11425 \n3 12178 11278 11512 \n3 12093 11884 12941 \n3 11884 12737 12941 \n3 7528 14934 9682 \n3 10800 13852 8362 \n3 11112 2864 10990 \n3 13534 13051 13060 \n3 11644 14997 11649 \n3 13052 12131 11247 \n3 12554 12331 12946 \n3 10202 13944 13048 \n3 12327 11888 12950 \n3 9708 9700 6373 \n3 6852 7970 9153 \n3 8184 8182 8209 \n3 11648 12948 12745 \n3 11964 9700 9708 \n3 8928 4715 4716 \n3 12742 12562 12331 \n3 12331 12753 12744 \n3 12561 12950 11888 \n3 13426 13200 12095 \n3 14998 11649 14997 \n3 11474 11695 11241 \n3 4923 7126 7139 \n3 10351 9136 6848 \n3 12098 12567 13433 \n3 11460 10965 11679 \n3 12102 11890 12335 \n3 7287 5066 11814 \n3 7542 5635 6639 \n3 4682 2477 1190 \n3 11649 14998 11424 \n3 12565 12566 12563 \n3 12101 11439 13213 \n3 11230 12125 12121 \n3 6498 4346 10849 \n3 12118 12356 12349 \n3 13437 12567 14098 \n3 12730 13867 14063 \n3 4280 996 2068 \n3 12761 12567 11895 \n3 13205 12552 12333 \n3 5110 6162 6148 \n3 11901 12344 13438 \n3 12571 11904 13442 \n3 12975 12973 12573 \n3 13026 13956 13030 \n3 9627 9570 14084 \n3 12971 13438 12344 \n3 13442 11904 12568 \n3 10733 10510 10745 \n3 12975 12573 12976 \n3 11719 11727 12172 \n3 12115 12114 11909 \n3 12766 12973 13219 \n3 12766 11906 12576 \n3 13113 13804 13577 \n3 12991 12988 12773 \n3 13671 10721 10828 \n3 6323 1730 7348 \n3 3053 11657 9412 \n3 1835 1976 1768 \n3 2248 5643 10828 \n3 5103 5085 4093 \n3 12582 12777 12586 \n3 12773 12349 13234 \n3 12349 12356 13234 \n3 12593 13240 12780 \n3 1963 1598 740 \n3 11276 11026 11505 \n3 12781 12350 12586 \n3 13227 13238 11422 \n3 12355 12350 12113 \n3 12566 12340 11902 \n3 6774 4619 8812 \n3 12787 12786 12598 \n3 11346 7930 9117 \n3 12787 12598 12601 \n3 6629 6619 7531 \n3 12787 12601 12597 \n3 13006 12126 12790 \n3 12792 12609 12603 \n3 12598 12603 12601 \n3 12362 12602 12601 \n3 12601 12602 12597 \n3 14885 13510 14642 \n3 7869 6820 7883 \n3 12603 12362 12601 \n3 12082 12081 11186 \n3 12127 12126 12361 \n3 12359 12605 13261 \n3 12594 12784 12123 \n3 12361 12604 12365 \n3 10339 12296 13227 \n3 4396 5665 8253 \n3 12359 12793 12602 \n3 13265 12610 13269 \n3 12121 13015 11177 \n3 11177 13015 12035 \n3 12604 12361 13006 \n3 13356 7904 7888 \n3 12603 12609 12134 \n3 2239 2234 2319 \n3 12399 12402 12821 \n3 12802 12365 12800 \n3 12795 13003 12358 \n3 12613 12365 12802 \n3 12268 5766 7838 \n3 4073 1042 4083 \n3 8165 6004 9329 \n3 13017 12798 12138 \n3 9081 7883 9068 \n3 7307 4333 2332 \n3 12798 11461 12138 \n3 13726 12805 12368 \n3 12373 12616 12804 \n3 3809 4823 9730 \n3 12376 12145 11945 \n3 12375 12806 12616 \n3 12379 12142 12619 \n3 10984 5491 12483 \n3 5928 3641 1349 \n3 12378 11692 13024 \n3 13002 13250 13000 \n3 4722 90 3539 \n3 1377 1351 5575 \n3 12808 13282 12145 \n3 5994 6005 7871 \n3 12082 11169 12933 \n3 13030 12389 13026 \n3 3423 14498 5252 \n3 7825 7869 9055 \n3 12626 11947 12154 \n3 9055 7869 9081 \n3 9055 9081 10285 \n3 2979 6393 1797 \n3 13030 12393 12389 \n3 11425 10937 11200 \n3 2363 7295 5366 \n3 11640 13522 9438 \n3 11608 10667 10897 \n3 11704 12393 12631 \n3 2826 7063 4936 \n3 4 3081 1036 \n3 8675 8971 3764 \n3 13505 12158 13294 \n3 12161 12397 12817 \n3 2469 4666 3511 \n3 12399 11493 12402 \n3 13037 12402 11955 \n3 3470 2419 3492 \n3 5022 4712 4388 \n3 6955 7866 7863 \n3 10496 9895 10716 \n3 8854 8964 8821 \n3 13301 12409 12638 \n3 13060 13051 12652 \n3 13309 12830 13754 \n3 14985 4811 5849 \n3 13526 12642 12169 \n3 13301 12173 12409 \n3 7453 6154 13768 \n3 13072 12664 12859 \n3 12174 12643 12833 \n3 13305 4135 2942 \n3 11012 12400 11495 \n3 12174 12168 12643 \n3 5016 5015 3060 \n3 12410 11957 11961 \n3 11527 11534 11996 \n3 3424 1264 13992 \n3 6033 8163 4871 \n3 12647 12426 13053 \n3 10892 10667 11375 \n3 12189 12841 13056 \n3 13053 12654 13059 \n3 13061 12427 12655 \n3 4566 7483 9468 \n3 12427 13315 12655 \n3 6374 7267 8216 \n3 12653 12182 11979 \n3 12428 12425 12842 \n3 12178 11975 12426 \n3 13316 11979 11983 \n3 6294 14791 14300 \n3 12657 12651 12844 \n3 12656 12659 13060 \n3 12189 13056 12658 \n3 4672 5885 3539 \n3 12845 12840 11043 \n3 3307 6345 6319 \n3 10696 8460 10692 \n3 3975 6011 6967 \n3 7410 12968 6393 \n3 11639 10635 14774 \n3 12193 12189 12658 \n3 11744 12431 11512 \n3 12014 8918 12017 \n3 9848 11966 1458 \n3 12728 12947 8647 \n3 12436 13545 13326 \n3 1334 5908 3648 \n3 14148 13712 13253 \n3 14766 10608 3343 \n3 9002 10285 7828 \n3 4220 11169 7987 \n3 12858 12444 12855 \n3 6027 7914 6074 \n3 12205 12847 12851 \n3 12851 12661 12442 \n3 7120 6396 6120 \n3 4078 4066 13998 \n3 13074 12444 12858 \n3 4981 6022 4985 \n3 7272 6953 7622 \n3 12671 12862 12210 \n3 9509 10735 11737 \n3 12354 12356 12118 \n3 1344 1345 1341 \n3 12667 12668 12217 \n3 1511 2542 5510 \n3 9378 9375 159 \n3 12640 13962 13749 \n3 9116 14152 11366 \n3 13972 13539 13055 \n3 12670 12215 12448 \n3 9946 7624 8724 \n3 5590 12288 4486 \n3 1784 7656 728 \n3 12226 12674 13088 \n3 12674 12869 12867 \n3 13088 12674 12867 \n3 4621 2655 6634 \n3 4739 1780 6735 \n3 6515 3490 5484 \n3 12228 12008 12455 \n3 9228 10464 9195 \n3 12458 12228 12871 \n3 12668 13082 12220 \n3 6965 5956 9256 \n3 12458 12871 12872 \n3 4730 3714 6727 \n3 12228 12458 12011 \n3 9195 10464 10458 \n3 12869 13562 12867 \n3 13764 14420 13054 \n3 12870 12232 12873 \n3 1915 4015 1903 \n3 10971 10968 11223 \n3 12677 12678 13101 \n3 12677 12234 12462 \n3 7919 7544 7659 \n3 3747 2705 6063 \n3 8956 7793 8990 \n3 12877 12878 12461 \n3 12461 12878 12239 \n3 10460 8035 5908 \n3 14899 14895 11550 \n3 12764 3809 4808 \n3 12241 12681 13355 \n3 12462 12680 12678 \n3 12463 13106 12681 \n3 3704 3701 6672 \n3 13440 12965 12959 \n3 8954 9002 8992 \n3 13262 12605 11212 \n3 10233 12288 5590 \n3 10441 10429 8028 \n3 11824 11360 11119 \n3 12030 12249 13359 \n3 12470 12251 12252 \n3 6978 3626 1352 \n3 12471 12469 12468 \n3 8902 7758 8956 \n3 13113 12472 13114 \n3 12473 13114 12472 \n3 13803 12470 13112 \n3 13783 13340 13339 \n3 6710 3701 6712 \n3 10200 8954 8968 \n3 12886 12692 12479 \n3 12474 13117 13115 \n3 13117 12258 13364 \n3 7361 14412 3156 \n3 3716 2652 8132 \n3 3364 1617 939 \n3 11625 11162 11623 \n3 2469 5831 4666 \n3 13364 12258 12692 \n3 12692 12886 13364 \n3 12480 14006 11108 \n3 12042 12482 13124 \n3 2146 2157 4443 \n3 13126 12486 12041 \n3 12487 12482 11821 \n3 11625 11626 11162 \n3 11083 10619 10181 \n3 12695 12493 13583 \n3 8035 6981 3648 \n3 13583 12890 12695 \n3 12046 12491 12891 \n3 12491 11590 12488 \n3 12484 12487 11822 \n3 13371 13583 12493 \n3 14420 13044 13313 \n3 3482 13536 12727 \n3 258 4654 14606 \n3 5447 4439 405 \n3 13137 12050 14021 \n3 7696 10921 8716 \n3 12497 13140 13591 \n3 13142 13376 12699 \n3 4683 2728 4674 \n3 12272 12696 12493 \n3 11744 12202 12664 \n3 11598 12280 11830 \n3 12903 12500 12901 \n3 3727 1453 6025 \n3 2031 11750 13650 \n3 12270 4407 10186 \n3 12903 13145 12061 \n3 11138 10239 10890 \n3 5596 10308 9192 \n3 11837 12905 12284 \n3 12290 12907 12508 \n3 12506 13382 12704 \n3 13382 12705 12704 \n3 8042 5141 5134 \n3 12910 12509 12512 \n3 11813 12476 13120 \n3 12709 11377 11844 \n3 8902 8956 10177 \n3 13155 12068 12709 \n3 13152 12708 12291 \n3 4563 3409 7885 \n3 12293 12711 12515 \n3 13158 12709 11844 \n3 10422 17 6064 \n3 12517 12069 13607 \n3 13387 12517 13607 \n3 10229 14441 14433 \n3 14820 14822 13666 \n3 12914 11618 13160 \n3 3898 4025 3362 \n3 12715 12070 13391 \n3 12520 12523 12916 \n3 13601 11566 8411 \n3 11381 12716 12520 \n3 13613 12916 12523 \n3 3836 7092 13637 \n3 12717 13162 12297 \n3 13853 12917 12524 \n3 7885 7869 7870 \n3 6815 4932 959 \n3 3043 2056 3070 \n3 12074 12918 12525 \n3 13616 14515 12721 \n3 3672 7905 1698 \n3 12302 13169 12300 \n3 11937 11000 11926 \n3 12922 12531 12533 \n3 9135 9134 6865 \n3 11926 11000 11019 \n3 12532 12923 11861 \n3 12312 12079 11864 \n3 12537 12080 13175 \n3 12726 12312 13401 \n3 3245 4507 3206 \n3 9864 11941 9828 \n3 13630 13866 13404 \n3 1757 4284 4235 \n3 8903 10137 12269 \n3 12539 12730 11172 \n3 13181 12731 12084 \n3 8645 8631 9869 \n3 12084 12315 13182 \n3 12541 12730 13632 \n3 12731 13180 11869 \n3 11293 11733 10592 \n3 12319 13414 12937 \n3 13636 12088 12936 \n3 12313 12726 12931 \n3 10552 14850 7847 \n3 12163 13042 11247 \n3 3540 3997 4116 \n3 13645 12548 12547 \n3 13644 13645 12547 \n3 12738 12549 12739 \n3 12549 13421 12739 \n3 11879 13422 12741 \n3 1195 1133 1132 \n3 13191 12941 12737 \n3 14998 12959 11891 \n3 11690 11470 11236 \n3 12716 11381 11852 \n3 6918 362 331 \n3 8798 6593 6625 \n3 13422 11879 12552 \n3 4820 5871 7711 \n3 11418 12327 12945 \n3 2670 2663 3706 \n3 13631 13630 13180 \n3 13194 12742 12554 \n3 7611 8718 8724 \n3 9072 10202 13048 \n3 12555 12560 12324 \n3 4979 593 604 \n3 12952 12946 12744 \n3 12561 12747 12950 \n3 12561 11888 11431 \n3 12716 12295 12523 \n3 5613 3586 4597 \n3 13201 12560 12098 \n3 12954 12562 12742 \n3 10640 12665 4699 \n3 5185 5886 5893 \n3 6865 9152 9135 \n3 7177 14643 9244 \n3 13200 11892 12335 \n3 12954 12753 12562 \n3 454 643 455 \n3 11451 11211 11454 \n3 12753 12957 12744 \n3 12731 13181 13180 \n3 9729 14698 14938 \n3 12340 13443 12341 \n3 3404 6437 2416 \n3 10848 7711 5871 \n3 5098 5106 8425 \n3 4871 8163 5998 \n3 14519 3983 8219 \n3 12965 12568 12959 \n3 13471 13929 13468 \n3 4370 3404 14170 \n3 12215 11534 12448 \n3 3392 13930 5373 \n3 12319 11407 10067 \n3 1351 1377 1373 \n3 10598 9776 11059 \n3 12566 13212 12966 \n3 10625 7320 9489 \n3 11661 12105 13217 \n3 13217 12105 12970 \n3 7927 10321 5756 \n3 13212 13215 12966 \n3 12573 12973 12574 \n3 8842 6664 7697 \n3 9244 14643 9214 \n3 12571 12763 12575 \n3 4604 4597 3586 \n3 13216 12964 13673 \n3 12574 12576 11906 \n3 8975 7872 11027 \n3 60 7089 4083 \n3 12768 12111 12581 \n3 12580 13221 12581 \n3 8858 10033 8864 \n3 12302 12529 14281 \n3 10013 8858 10098 \n3 12770 12987 12983 \n3 10013 10098 10045 \n3 13462 13699 13919 \n3 5856 4694 3569 \n3 5617 6620 4587 \n3 4963 14884 593 \n3 12989 12582 12987 \n3 11230 12121 11177 \n3 11044 3462 9381 \n3 12777 12582 12989 \n3 13238 13274 11422 \n3 10154 9989 9965 \n3 12989 12995 12777 \n3 12778 12779 12994 \n3 3774 4937 357 \n3 12989 13233 12995 \n3 12588 12779 12778 \n3 6873 7216 7054 \n3 12995 12781 12777 \n3 12592 12588 12783 \n3 13234 12356 12780 \n3 7693 5507 10062 \n3 12780 12356 12593 \n3 11894 11932 10923 \n3 5907 5871 1909 \n3 14359 6900 3935 \n3 4371 8817 12253 \n3 8842 7697 8822 \n3 13522 11640 13538 \n3 12783 13472 12784 \n3 12784 12592 12783 \n3 12786 12785 13245 \n3 13471 13242 13000 \n3 13243 12593 12596 \n3 1146 14580 3082 \n3 12786 12787 12785 \n3 6516 7842 13588 \n3 8888 8446 9158 \n3 12790 13251 13475 \n3 12788 12787 12597 \n3 12598 12786 13001 \n3 6589 4570 5589 \n3 12787 12788 12785 \n3 12792 12598 13001 \n3 12933 11169 12131 \n3 11517 11988 11294 \n3 4838 7424 6099 \n3 12793 12597 12602 \n3 7883 7878 9068 \n3 6436 4260 10706 \n3 12594 12592 12784 \n3 4070 3828 4296 \n3 5589 4570 3565 \n3 9342 202 9820 \n3 13010 12800 12604 \n3 6596 3201 8757 \n3 11679 12359 12602 \n3 13262 12798 13012 \n3 8798 7685 8816 \n3 12801 12612 13271 \n3 13841 14263 13604 \n3 2975 1979 3931 \n3 12612 12804 13271 \n3 12622 13024 11692 \n3 4661 8403 7311 \n3 9885 11141 12140 \n3 11647 11640 12663 \n3 12804 12616 12806 \n3 9509 11737 6189 \n3 2583 7492 5566 \n3 13437 13888 13433 \n3 8150 4352 5622 \n3 12381 12384 13283 \n3 5575 1351 5555 \n3 13280 14163 12379 \n3 13289 11944 12379 \n3 6578 3542 1876 \n3 12384 13027 13283 \n3 12625 13739 12622 \n3 12623 12383 12145 \n3 13027 12626 13291 \n3 4329 3092 1818 \n3 12161 12403 12397 \n3 12152 13026 12389 \n3 13291 12626 12154 \n3 14071 13413 14070 \n3 12152 12623 13026 \n3 7142 9254 10431 \n3 13834 12435 324 \n3 12942 12090 11098 \n3 11485 12395 13292 \n3 12395 12817 13506 \n3 4564 4566 5553 \n3 11815 9628 13787 \n3 8782 7675 8770 \n3 12691 5834 5839 \n3 8426 3535 9458 \n3 13034 13038 12631 \n3 12616 12139 11940 \n3 12397 12819 12817 \n3 12631 12393 13033 \n3 8776 8745 8798 \n3 14636 14640 11395 \n3 10630 11580 11347 \n3 13294 12399 12821 \n3 13513 12400 12396 \n3 7595 4670 3673 \n3 13298 13038 13034 \n3 3535 4564 9458 \n3 12403 13516 12397 \n3 5307 1277 4288 \n3 5987 9548 7380 \n3 14632 14878 2839 \n3 5510 5500 1511 \n3 3917 4494 6259 \n3 12234 12873 11790 \n3 2994 4178 6892 \n3 13039 12638 12635 \n3 13039 12635 12823 \n3 14849 13787 9628 \n3 11955 13302 13037 \n3 4494 14293 6259 \n3 13951 13739 14398 \n3 11385 11851 11854 \n3 7119 14241 3215 \n3 12635 12400 12823 \n3 7640 8723 7665 \n3 9186 11386 4939 \n3 12643 12830 12833 \n3 2056 4991 6219 \n3 12644 12834 12414 \n3 4991 2056 3043 \n3 12835 12646 12833 \n3 12835 13043 13310 \n3 12589 12114 12115 \n3 12418 13047 11972 \n3 14586 1703 10334 \n3 13313 12647 13053 \n3 1534 3522 6551 \n3 13763 12841 13535 \n3 13044 12169 12413 \n3 13768 6154 7202 \n3 12182 12653 13315 \n3 1516 5513 2542 \n3 13315 12427 12182 \n3 3060 5015 2068 \n3 13053 12426 12654 \n3 12651 12838 12844 \n3 12428 12842 12841 \n3 11742 12190 12428 \n3 10577 12599 11597 \n3 13534 13060 13967 \n3 12848 13066 13544 \n3 10368 14301 11488 \n3 12433 12651 12657 \n3 3204 9634 7336 \n3 11085 12845 11043 \n3 12659 13314 13060 \n3 2979 8508 7410 \n3 13563 12648 13549 \n3 11762 12001 12668 \n3 12433 12657 13328 \n3 13977 13068 13326 \n3 7970 5856 6909 \n3 6748 1834 6591 \n3 5787 7857 3744 \n3 2870 2867 2771 \n3 9360 13537 13542 \n3 12410 13041 12640 \n3 8053 11483 9228 \n3 12664 12210 12859 \n3 12968 12986 7435 \n3 10554 13470 10577 \n3 13604 12291 12705 \n3 8274 12826 12852 \n3 6050 5016 7914 \n3 12728 8647 13953 \n3 12854 11122 12024 \n3 12216 12666 12667 \n3 12666 13081 12667 \n3 5234 6290 4218 \n3 773 4673 8439 \n3 12216 12667 12217 \n3 12667 13339 13082 \n3 12667 13081 13339 \n3 12035 13015 12034 \n3 12391 13505 13291 \n3 12220 13082 13084 \n3 4609 3934 1065 \n3 10291 9205 9338 \n3 13345 12452 12450 \n3 12668 12667 13082 \n3 12211 10264 11336 \n3 3123 3012 2888 \n3 14768 8081 8397 \n3 13551 14208 14437 \n3 12448 12219 12865 \n3 12871 12228 13348 \n3 13087 12865 12219 \n3 3657 5676 4656 \n3 7153 4507 10456 \n3 700 586 735 \n3 14103 14097 13665 \n3 14151 8584 7488 \n3 12458 13096 12233 \n3 13091 12872 12871 \n3 13522 8355 8358 \n3 8585 12225 2587 \n3 6545 8718 7611 \n3 13096 12458 12872 \n3 12870 13092 12869 \n3 12873 13101 13564 \n3 5210 2242 3211 \n3 13084 12450 12220 \n3 11422 10339 13227 \n3 12491 12488 13585 \n3 12870 13564 13092 \n3 2762 2742 6999 \n3 3792 14761 1679 \n3 496 4843 457 \n3 12885 12689 13116 \n3 14124 10002 8994 \n3 4003 3672 4001 \n3 14869 2779 459 \n3 8090 2224 6230 \n3 13438 13660 12757 \n3 13106 12463 13107 \n3 14649 14653 14900 \n3 11747 11522 10826 \n3 5825 6076 6649 \n3 6645 7547 4649 \n3 12680 12241 13355 \n3 11805 13108 12686 \n3 11576 12881 13111 \n3 3677 7595 3673 \n3 9594 2750 442 \n3 2750 9594 10824 \n3 9902 10081 9754 \n3 12470 13577 13112 \n3 3467 5465 8370 \n3 12255 11809 12884 \n3 12473 12474 13115 \n3 12256 13116 12689 \n3 1462 5465 3467 \n3 4149 6882 7939 \n3 10481 10915 11394 \n3 12470 13113 13577 \n3 13114 12473 13115 \n3 11108 14006 12886 \n3 4926 2984 13199 \n3 11561 12875 11562 \n3 12889 12267 12266 \n3 2946 5392 2942 \n3 13123 12266 13124 \n3 10999 11486 10100 \n3 2378 2303 4497 \n3 14269 14292 11379 \n3 12488 12489 12490 \n3 12942 13946 12090 \n3 4700 4691 6037 \n3 14860 14361 14133 \n3 12047 12271 13586 \n3 11336 10264 9120 \n3 3020 4220 5489 \n3 12041 13817 13126 \n3 13046 13051 13762 \n3 6234 2221 5167 \n3 13133 12048 12893 \n3 10538 5780 9379 \n3 14021 12050 13130 \n3 9886 8695 8688 \n3 12497 13591 13135 \n3 11646 11882 11414 \n3 12277 13139 13141 \n3 4417 10717 1617 \n3 9885 6506 7569 \n3 4445 410 5449 \n3 12482 12487 13369 \n3 13372 13135 13590 \n3 12482 13369 13125 \n3 12699 12700 13142 \n3 12903 12283 12500 \n3 8749 8615 9191 \n3 12700 12284 12905 \n3 12901 12500 12897 \n3 3655 6669 640 \n3 9137 8851 9267 \n3 10556 11556 3716 \n3 12701 13146 12506 \n3 13145 13144 13146 \n3 12507 13379 11837 \n3 13379 12507 12906 \n3 11837 13379 12905 \n3 13147 12906 12508 \n3 11102 8668 8656 \n3 11085 11043 11057 \n3 379 365 14615 \n3 12910 12909 12510 \n3 11960 11941 11034 \n3 11941 9864 11034 \n3 12875 12233 13096 \n3 13153 12910 12512 \n3 3060 2084 5020 \n3 10200 7764 7747 \n3 12510 12509 12910 \n3 9436 4934 2561 \n3 13154 12514 12708 \n3 1540 1539 3836 \n3 14671 14665 5186 \n3 13160 11618 13159 \n3 1141 3477 9 \n3 5159 2189 7144 \n3 12715 13391 13392 \n3 11867 12080 12311 \n3 12523 12917 13615 \n3 3655 2714 6669 \n3 13392 13161 12715 \n3 13162 12717 13161 \n3 6096 5009 3064 \n3 12479 11584 12886 \n3 1192 5463 3369 \n3 12073 13853 12524 \n3 11626 11625 13166 \n3 14917 14674 9549 \n3 1102 5122 3143 \n3 13154 13156 12514 \n3 4699 12665 7360 \n3 12076 12527 13618 \n3 12906 13599 13379 \n3 5161 3146 2712 \n3 14411 13965 3421 \n3 13395 12529 12922 \n3 7728 8909 7747 \n3 10135 8902 10177 \n3 12924 13622 12533 \n3 12533 13622 12922 \n3 12312 12534 13401 \n3 12537 13172 12723 \n3 13177 12931 12726 \n3 12534 12923 13397 \n3 2699 2917 3253 \n3 2724 2742 412 \n3 12539 13178 12730 \n3 12080 11869 12928 \n3 6664 10117 8909 \n3 13404 13180 13630 \n3 10076 6662 11266 \n3 13181 12084 13182 \n3 1280 1277 13757 \n3 13182 12315 12087 \n3 8886 9927 8899 \n3 10076 5507 6662 \n3 12086 12541 12936 \n3 6437 4383 2416 \n3 13414 12319 11876 \n3 12939 12544 12543 \n3 4187 9840 8638 \n3 13416 11876 12939 \n3 5965 10661 10058 \n3 13639 12940 12733 \n3 7360 12665 11694 \n3 12940 11179 12733 \n3 11876 12544 12939 \n3 13190 12321 12546 \n3 12937 13414 13412 \n3 12737 12738 13191 \n3 12738 12739 13191 \n3 7033 4104 5134 \n3 12950 13425 13424 \n3 8249 9429 6116 \n3 12949 11644 12325 \n3 13420 13193 14307 \n3 11387 10336 7976 \n3 12740 13421 12549 \n3 12095 13200 12335 \n3 13933 13248 14145 \n3 12945 12327 13424 \n3 4179 3102 11061 \n3 8864 10135 8858 \n3 12742 12331 12554 \n3 13194 12554 13195 \n3 12554 12946 13195 \n3 14437 14438 13783 \n3 1103 4110 5128 \n3 5282 3051 5281 \n3 13197 12955 12750 \n3 8864 6671 10135 \n3 13424 12327 12950 \n3 14221 12872 14952 \n3 13651 12946 13204 \n3 12952 13204 12946 \n3 1259 1327 1385 \n3 12333 12754 13656 \n3 14083 13200 13426 \n3 2892 14392 5005 \n3 11814 5066 12803 \n3 3806 2763 6149 \n3 13715 14634 13714 \n3 13200 12953 11892 \n3 12957 14995 12952 \n3 3938 9577 8376 \n3 14542 14085 14801 \n3 5842 2746 6101 \n3 8053 6961 6978 \n3 13639 13640 13413 \n3 12756 12753 12956 \n3 12955 13212 12750 \n3 12945 12948 11648 \n3 6458 6493 9844 \n3 10606 6098 10605 \n3 10615 10856 10854 \n3 13661 13211 12956 \n3 14989 3670 14736 \n3 1909 855 5907 \n3 14787 13871 14294 \n3 12953 12101 12758 \n3 8249 6116 3782 \n3 3298 2285 7257 \n3 13672 11899 12341 \n3 6474 8618 6471 \n3 12253 8850 4371 \n3 12997 10994 13019 \n3 6078 11611 7111 \n3 12566 12966 12340 \n3 12567 12761 14098 \n3 6162 5110 77 \n3 9846 7500 11047 \n3 5122 4093 3143 \n3 5451 5449 9360 \n3 2876 4869 4823 \n3 4823 2873 2876 \n3 4181 2253 3248 \n3 14702 14222 14952 \n3 12975 13449 12979 \n3 14614 6918 14865 \n3 2290 2123 2042 \n3 12970 13216 13217 \n3 9360 9367 5451 \n3 13442 13218 12571 \n3 11379 2097 11226 \n3 12568 12965 13442 \n3 13113 13579 13804 \n3 13218 12763 12571 \n3 13446 12766 13219 \n3 12978 12768 13451 \n3 12202 12210 12664 \n3 13221 12768 12581 \n3 12975 13219 12973 \n3 12983 12985 13223 \n3 12580 12980 13221 \n3 8508 10931 10935 \n3 6677 5526 4443 \n3 12987 12988 12985 \n3 12987 12346 12988 \n3 8584 2471 5311 \n3 13224 12988 12991 \n3 12109 11904 12571 \n3 7090 1059 4076 \n3 12987 12770 12989 \n3 12778 12994 13228 \n3 13058 9807 7482 \n3 12780 13701 13234 \n3 13801 14714 14002 \n3 13236 12783 12588 \n3 12989 12770 13233 \n3 2380 4333 10360 \n3 13463 12780 13240 \n3 7485 8580 8572 \n3 12994 12779 12995 \n3 8643 4127 2211 \n3 13234 12991 12773 \n3 13244 13245 12785 \n3 3128 4348 2584 \n3 14931 11912 9674 \n3 13000 13242 12788 \n3 13249 13001 13248 \n3 14010 13816 14980 \n3 13248 13001 13245 \n3 12788 13002 13000 \n3 12790 12784 13251 \n3 12999 12785 12788 \n3 11246 5481 7693 \n3 12596 13003 13243 \n3 13249 13252 13001 \n3 12596 12789 13003 \n3 13002 12788 12597 \n3 13002 13005 13250 \n3 13005 13254 13250 \n3 6918 331 6867 \n3 14539 7178 12741 \n3 13007 12792 13252 \n3 12792 13001 13252 \n3 13006 13258 12604 \n3 13002 12597 13005 \n3 12603 12598 12792 \n3 1322 9517 4340 \n3 13005 13483 13254 \n3 8073 3641 5928 \n3 13010 12604 13258 \n3 1751 4052 4053 \n3 9045 12081 10163 \n3 13005 12793 13483 \n3 12033 9790 11013 \n3 12359 13483 12793 \n3 11640 10625 12663 \n3 11872 11894 10923 \n3 9239 8073 5928 \n3 14865 6896 2694 \n3 4589 5589 3565 \n3 14265 3798 1677 \n3 14856 4738 6908 \n3 13258 13486 13010 \n3 13486 12800 13010 \n3 12364 12133 12801 \n3 13489 12368 12134 \n3 12359 13261 13483 \n3 13775 1028 11417 \n3 4128 7014 927 \n3 11280 11284 11281 \n3 9828 11894 9758 \n3 12795 12610 13265 \n3 12800 13486 13268 \n3 2431 14834 6652 \n3 12800 13268 12802 \n3 3614 5912 5921 \n3 12802 12614 12613 \n3 2262 3266 3265 \n3 2738 3146 67 \n3 4546 5690 10292 \n3 12801 13269 12610 \n3 13269 12801 13271 \n3 5849 5862 3788 \n3 13273 12804 13949 \n3 13489 13726 12368 \n3 11647 12624 11640 \n3 11815 13808 9661 \n3 12802 13493 12614 \n3 12619 12614 13279 \n3 13278 14157 13732 \n3 14030 13147 14261 \n3 12379 11944 11943 \n3 7765 9730 4823 \n3 13021 12381 13500 \n3 13500 12381 13283 \n3 12120 11106 11153 \n3 6388 2332 1302 \n3 7397 7403 6052 \n3 13288 11948 13502 \n3 12384 12626 13027 \n3 4288 3338 7289 \n3 6024 6041 6046 \n3 13291 12154 12391 \n3 12264 12480 11586 \n3 14855 2626 4715 \n3 13030 13956 13293 \n3 13031 12394 12627 \n3 13509 12394 13031 \n3 12203 11524 11294 \n3 8745 8776 8772 \n3 12476 11813 12257 \n3 11640 9438 9455 \n3 8291 9490 9486 \n3 1965 9811 1972 \n3 13034 12631 13033 \n3 6096 3073 4047 \n3 6457 6446 13441 \n3 1222 1168 1465 \n3 4730 6727 5743 \n3 13516 13295 12819 \n3 12858 12855 13073 \n3 13298 13518 13038 \n3 7202 6154 13786 \n3 4716 2626 4718 \n3 13518 12639 13038 \n3 14540 14082 13880 \n3 13520 12823 13517 \n3 3506 4648 2442 \n3 10492 8053 9264 \n3 2626 2629 4718 \n3 7052 3103 7056 \n3 12841 13763 13056 \n3 12168 12639 12643 \n3 13952 13956 13026 \n3 12642 13526 13302 \n3 13037 13302 13303 \n3 13531 13301 13753 \n3 8776 9985 8772 \n3 13526 12169 13044 \n3 12414 12834 13041 \n3 14211 13063 13045 \n3 12296 10305 11376 \n3 11972 13047 12838 \n3 6074 7914 5016 \n3 12418 12173 13047 \n3 13047 12173 13308 \n3 13046 12834 12645 \n3 11597 12599 13523 \n3 5962 4921 5971 \n3 13692 4223 10231 \n3 12841 12842 13535 \n3 12838 13539 12844 \n3 6374 5310 7267 \n3 13545 13061 13980 \n3 4538 1516 7450 \n3 13061 12655 13770 \n3 9790 5281 11013 \n3 5108 5099 3002 \n3 13980 13061 13770 \n3 12506 12503 12701 \n3 12851 13066 12661 \n3 13070 13059 12654 \n3 6965 11476 10468 \n3 14085 14320 14543 \n3 3093 4950 12958 \n3 13066 12848 12661 \n3 12062 1950 1946 \n3 12847 13066 12851 \n3 6393 2979 7410 \n3 11167 11629 12920 \n3 13059 13546 13054 \n3 8508 10935 7410 \n3 13328 13073 12855 \n3 9506 9958 11090 \n3 13548 13074 12858 \n3 13072 12859 13333 \n3 7957 7959 8259 \n3 6406 10966 7444 \n3 10966 13011 7444 \n3 13551 12666 13076 \n3 14881 4919 14638 \n3 4196 1972 6506 \n3 2149 3200 13902 \n3 14869 14872 14616 \n3 12570 10542 10551 \n3 13082 13339 13340 \n3 9880 14211 11025 \n3 12196 4285 3155 \n3 2598 3675 5956 \n3 3957 6963 3967 \n3 13084 13082 13341 \n3 14391 14157 14390 \n3 13345 13084 13341 \n3 6883 2689 6896 \n3 8731 7624 9946 \n3 13087 13344 12865 \n3 13644 12547 13190 \n3 13555 14450 13554 \n3 12867 13344 13088 \n3 12228 12455 13348 \n3 6112 2437 4860 \n3 1350 3808 4997 \n3 13461 10554 9387 \n3 9555 7280 7256 \n3 13562 12869 13092 \n3 13348 13091 12871 \n3 14162 14892 14894 \n3 6325 3288 6296 \n3 7904 5724 7888 \n3 5234 13573 6268 \n3 13461 9387 11560 \n3 13708 13740 8505 \n3 4468 4461 8591 \n3 6268 13573 3227 \n3 3480 6515 9395 \n3 1349 3614 5921 \n3 6005 1998 3008 \n3 14833 13681 14587 \n3 2025 1971 3547 \n3 13101 13566 13564 \n3 8478 2943 12921 \n3 12875 13354 12877 \n3 14204 4518 9425 \n3 12455 12008 12004 \n3 9136 9152 6837 \n3 12881 11576 12686 \n3 3926 3999 14059 \n3 14225 12299 10980 \n3 9689 7362 8478 \n3 9116 11366 9132 \n3 12884 12471 13578 \n3 12384 11691 10768 \n3 12776 12771 13830 \n3 14587 14112 14583 \n3 13107 13357 14459 \n3 6370 4211 10750 \n3 11085 11057 8964 \n3 12241 12025 12681 \n3 12465 14002 14000 \n3 3006 3957 3008 \n3 13359 14002 12030 \n3 12686 13575 12881 \n3 13578 12468 13574 \n3 12471 12468 13578 \n3 14934 14935 13983 \n3 13803 13359 12250 \n3 7905 3548 1698 \n3 4926 4914 7807 \n3 3203 9015 6251 \n3 3118 13343 4093 \n3 13115 13806 13114 \n3 8505 7429 12710 \n3 14665 13964 13963 \n3 4526 7428 743 \n3 14625 2725 412 \n3 1251 8653 3899 \n3 6242 3211 3199 \n3 13810 13120 13809 \n3 12021 11004 8919 \n3 13120 12041 11813 \n3 13798 2352 7391 \n3 5178 3203 5179 \n3 12264 12889 13368 \n3 13817 12041 13120 \n3 12889 12266 13123 \n3 14718 13809 12885 \n3 5668 14238 7729 \n3 13124 12482 13125 \n3 14134 14362 13925 \n3 13705 14361 13926 \n3 8453 9655 7348 \n3 12488 12490 13820 \n3 915 3355 14139 \n3 12890 13583 14243 \n3 7488 7484 13067 \n3 9965 3236 3250 \n3 12696 13371 12493 \n3 11542 10527 8283 \n3 12892 13130 12050 \n3 10718 10700 9548 \n3 10776 10541 11002 \n3 14844 2522 221 \n3 14615 14136 14868 \n3 11044 6490 2475 \n3 9450 8365 13523 \n3 13139 13137 13592 \n3 10527 11542 11559 \n3 7634 7640 7665 \n3 12699 13376 12279 \n3 13141 12897 12277 \n3 3988 6313 10865 \n3 13598 12700 12905 \n3 12701 12503 13145 \n3 6879 7962 7980 \n3 13144 12903 13597 \n3 13141 13375 12897 \n3 10865 10860 3988 \n3 13592 13137 14021 \n3 13382 12506 13146 \n3 10787 10545 10550 \n3 4898 5973 12225 \n3 13153 12512 13155 \n3 12907 13147 12508 \n3 5070 6270 6262 \n3 14452 14946 14450 \n3 12909 13602 13384 \n3 14028 14029 14258 \n3 13156 13607 12514 \n3 12711 12293 13390 \n3 1151 1154 4136 \n3 10559 8140 10576 \n3 7336 9634 8436 \n3 4754 3494 6024 \n3 5668 3545 9988 \n3 11326 9580 9526 \n3 4125 1151 4136 \n3 5159 2202 2189 \n3 10720 1905 4854 \n3 11848 12520 12519 \n3 8013 4751 8004 \n3 12476 13809 13120 \n3 13613 12523 13615 \n3 9136 9135 9152 \n3 13615 12917 13853 \n3 13399 14413 9322 \n3 13162 13616 12297 \n3 13617 12719 12525 \n3 12719 13617 13853 \n3 13166 12297 13616 \n3 6270 10844 8412 \n3 12525 12918 13165 \n3 12073 12719 13853 \n3 14515 12527 12721 \n3 3155 4228 8678 \n3 3643 4641 4629 \n3 12920 12076 13618 \n3 2522 14844 14841 \n3 13169 14281 13619 \n3 7269 3329 1263 \n3 13395 14281 12529 \n3 12922 13622 13395 \n3 13185 13634 14294 \n3 5756 3449 3447 \n3 12924 13172 13173 \n3 8666 9869 6503 \n3 12533 12307 12924 \n3 7402 7519 6794 \n3 7357 9340 3430 \n3 12537 13175 13172 \n3 13398 14519 14285 \n3 5285 5287 5763 \n3 13581 13364 13582 \n3 13867 12931 13177 \n3 13178 12931 13867 \n3 5122 1102 8036 \n3 6305 6310 6448 \n3 14986 1405 11930 \n3 10070 11262 10131 \n3 11442 12338 12574 \n3 12730 13178 13867 \n3 12733 13636 13639 \n3 13182 12087 13407 \n3 2724 2725 2689 \n3 14862 14362 14358 \n3 12733 12088 13636 \n3 13635 13407 12087 \n3 3496 3237 13790 \n3 10108 10117 6664 \n3 13189 12940 13413 \n3 12811 9594 10817 \n3 13645 12322 12548 \n3 13212 12565 12750 \n3 12323 12741 12740 \n3 14806 4202 2116 \n3 11529 3706 8115 \n3 14916 11775 13856 \n3 12945 13424 13880 \n3 8012 12583 7842 \n3 12420 11481 13327 \n3 4824 4520 4927 \n3 13429 13427 12324 \n3 12560 13429 12324 \n3 10750 2876 12772 \n3 14997 12949 13653 \n3 14319 14085 14550 \n3 9052 4136 6225 \n3 12948 13197 12745 \n3 3266 2262 1226 \n3 13429 12560 13201 \n3 7403 7421 7424 \n3 5066 8379 12803 \n3 7500 9846 4171 \n3 9582 3941 6254 \n3 12952 13432 13204 \n3 12956 12954 13658 \n3 4795 365 379 \n3 13198 13206 12955 \n3 12952 14995 13432 \n3 13428 13658 12954 \n3 12399 11703 11708 \n3 4484 4230 4688 \n3 13212 12955 13208 \n3 13656 12754 13660 \n3 12081 12129 11230 \n3 13660 12754 12757 \n3 12957 13435 14995 \n3 11932 12820 10923 \n3 13211 12756 12956 \n3 12756 13211 13435 \n3 7314 8247 1339 \n3 1435 92 3914 \n3 13017 14392 13945 \n3 6474 1922 8618 \n3 12101 13213 12758 \n3 6739 2783 728 \n3 13443 12340 12966 \n3 12965 13440 13442 \n3 13416 13414 11876 \n3 14888 14644 14889 \n3 13451 14345 14112 \n3 13215 13900 13444 \n3 13447 13685 13449 \n3 13444 12966 13215 \n3 12971 12974 13681 \n3 6396 7120 4096 \n3 2363 5366 329 \n3 8664 6713 7657 \n3 13681 12974 12765 \n3 1165 4142 5170 \n3 13219 12979 13450 \n3 13211 13666 13435 \n3 12975 12979 13219 \n3 13259 13721 13943 \n3 13721 13259 12795 \n3 12981 13223 13222 \n3 12761 13217 14098 \n3 1927 1850 1549 \n3 13455 13691 13223 \n3 3118 5085 5726 \n3 13456 12991 13231 \n3 12479 11105 11584 \n3 2971 907 4921 \n3 10447 11453 13327 \n3 13458 13236 13462 \n3 11537 9300 5050 \n3 4266 4216 10751 \n3 13233 13228 12994 \n3 3443 7927 5752 \n3 14713 857 5621 \n3 13231 13234 13701 \n3 14426 7442 14201 \n3 13236 12588 12778 \n3 12778 13462 13236 \n3 12783 13703 13472 \n3 13233 13697 13228 \n3 9990 5726 5085 \n3 13703 12783 13236 \n3 13240 12593 13243 \n3 10768 10761 10529 \n3 13001 12786 13245 \n3 12609 13489 12134 \n3 12784 13472 13251 \n3 12999 13244 12785 \n3 4093 5122 5103 \n3 12788 13242 12999 \n3 11252 11011 11253 \n3 8729 14840 2431 \n3 13242 13471 13468 \n3 6642 14830 14833 \n3 13249 13480 13252 \n3 12982 12770 12983 \n3 11076 11034 10001 \n3 4064 4076 1037 \n3 13006 12790 13258 \n3 14145 13473 14365 \n3 13925 13928 13931 \n3 13475 13258 12790 \n3 13301 12638 13039 \n3 13714 13250 13254 \n3 13384 14033 12907 \n3 11186 12081 9045 \n3 13259 13003 12795 \n3 14726 1139 13648 \n3 2358 1339 4328 \n3 7597 8695 8718 \n3 13485 13488 12609 \n3 5484 6520 7418 \n3 13270 13269 13271 \n3 6965 2598 5956 \n3 13489 12609 13488 \n3 9951 9223 9953 \n3 9874 9889 4228 \n3 14782 4012 14783 \n3 13018 13497 13017 \n3 12798 13491 13012 \n3 13279 13278 13732 \n3 13270 13271 13273 \n3 1923 8552 7452 \n3 9254 7142 7138 \n3 13497 13018 13500 \n3 13279 12614 13278 \n3 4120 7452 8552 \n3 13018 13021 13500 \n3 12379 12619 13280 \n3 6578 5584 525 \n3 5800 5805 3759 \n3 13951 13733 13024 \n3 13282 13281 14162 \n3 13024 13023 12378 \n3 14162 13284 13282 \n3 13023 13949 12806 \n3 9498 7194 8296 \n3 4041 6110 3081 \n3 14509 12392 10272 \n3 10923 10945 9772 \n3 1537 1344 1474 \n3 13283 13027 13286 \n3 7129 546 2839 \n3 14727 1818 3092 \n3 13738 13286 13027 \n3 13289 13031 12627 \n3 11055 1009 6227 \n3 11171 11867 12311 \n3 6190 3866 375 \n3 6076 5825 5827 \n3 8885 3919 4325 \n3 13505 13508 13741 \n3 13505 13294 13508 \n3 12396 13509 13513 \n3 10274 11869 11636 \n3 13295 13511 12819 \n3 13512 13294 12821 \n3 12624 11647 13560 \n3 11710 11957 11954 \n3 12393 13293 13033 \n3 13030 13293 12393 \n3 4715 6867 14855 \n3 13037 13747 12821 \n3 4727 9195 9187 \n3 12821 12402 13037 \n3 2541 14595 14597 \n3 14595 2541 2529 \n3 12823 13520 13039 \n3 11725 12647 11967 \n3 13931 13475 13251 \n3 2068 5015 3052 \n3 13303 13747 13037 \n3 13515 14409 13518 \n3 5015 3050 3052 \n3 13531 13308 13301 \n3 5804 2040 2033 \n3 7439 12013 6408 \n3 14409 13751 13518 \n3 10008 10901 11148 \n3 13520 13753 13301 \n3 7562 7038 7441 \n3 13559 9282 9269 \n3 13309 13043 12830 \n3 14953 12024 12056 \n3 1103 97 4110 \n3 12823 13513 13517 \n3 12834 13527 13041 \n3 13762 13760 13527 \n3 13535 12835 13310 \n3 13313 13044 12413 \n3 12623 13282 13284 \n3 2746 5842 2728 \n3 3916 14042 10408 \n3 5020 6074 5016 \n3 13055 12838 13311 \n3 12838 13047 13311 \n3 13763 13535 14189 \n3 13534 13762 13051 \n3 4672 6865 9134 \n3 12431 12664 13072 \n3 13072 13070 12431 \n3 12835 13535 12842 \n3 11859 12300 11393 \n3 13056 13763 14918 \n3 8879 9027 8717 \n3 4753 2783 6739 \n3 7183 7310 7007 \n3 6349 4253 5276 \n3 12891 12491 13127 \n3 8770 8731 8750 \n3 5276 4253 3288 \n3 12728 13953 1971 \n3 6123 11668 8269 \n3 6997 6985 4991 \n3 14195 13325 12658 \n3 13975 13316 12848 \n3 13323 12438 13068 \n3 4869 843 4878 \n3 12422 12842 12425 \n3 13323 13068 13977 \n3 14963 13799 14711 \n3 13325 14426 13544 \n3 13330 13059 13070 \n3 13546 13059 13330 \n3 4932 3777 9414 \n3 10312 14213 11356 \n3 13328 13324 13777 \n3 3602 1298 141 \n3 13325 13066 12847 \n3 13074 13548 13076 \n3 13548 12858 13073 \n3 13875 14536 13874 \n3 11397 10917 11632 \n3 13780 13778 13072 \n3 13781 13076 13548 \n3 13314 12659 12438 \n3 11181 6462 10774 \n3 10929 4077 6387 \n3 6122 8242 3777 \n3 14743 13230 14553 \n3 10248 12211 12207 \n3 12670 12448 13083 \n3 9880 6011 14211 \n3 13988 14450 14446 \n3 13554 13083 13556 \n3 13461 13470 10554 \n3 11093 12034 11085 \n3 13556 13555 13554 \n3 13083 12865 13556 \n3 13087 13088 13344 \n3 2288 4497 2303 \n3 3685 12557 1763 \n3 13350 12872 14221 \n3 8745 9933 6574 \n3 11367 9132 11366 \n3 2689 2694 6896 \n3 4843 7003 2769 \n3 13491 14386 13012 \n3 3530 14718 3523 \n3 12691 6092 14954 \n3 9217 8945 9221 \n3 14112 14587 13681 \n3 4952 3948 2998 \n3 13353 13096 13350 \n3 8080 7671 7799 \n3 9747 11872 9712 \n3 12235 8804 8790 \n3 13353 13994 13354 \n3 6848 6852 10351 \n3 6852 6848 5799 \n3 13354 13999 12877 \n3 9689 10891 11934 \n3 14583 14112 14345 \n3 11559 9387 10527 \n3 13502 11948 13292 \n3 13107 14459 13106 \n3 1190 2477 47 \n3 4161 164 9115 \n3 14595 14115 14346 \n3 14346 13910 14348 \n3 3307 6319 13692 \n3 14001 13108 12466 \n3 13108 14001 12686 \n3 9228 9195 6961 \n3 12448 12865 13083 \n3 1988 3939 2989 \n3 9390 7141 9414 \n3 14459 12465 14000 \n3 12030 14002 12465 \n3 3467 8370 4472 \n3 12680 13355 13568 \n3 5207 5205 5199 \n3 13803 13801 13359 \n3 13574 12468 13111 \n3 12255 13116 12256 \n3 11630 13626 7275 \n3 13478 13475 14150 \n3 14291 14526 14786 \n3 12255 12884 13578 \n3 13907 14349 13689 \n3 13581 13807 13115 \n3 10883 11601 10434 \n3 14966 14713 5621 \n3 13810 14240 13120 \n3 12760 13856 11775 \n3 13694 14121 14350 \n3 13124 13815 13123 \n3 13124 13125 13815 \n3 13125 13369 13816 \n3 12045 12891 12892 \n3 12987 12985 12983 \n3 10336 7962 6857 \n3 915 2157 3355 \n3 13022 3176 13028 \n3 13126 13819 12271 \n3 7345 6891 7097 \n3 279 274 343 \n3 13586 12271 13819 \n3 12696 12494 13129 \n3 12891 13130 12892 \n3 14772 1597 10426 \n3 12829 5269 13457 \n3 13820 12490 14012 \n3 13134 13133 13372 \n3 1950 2971 6895 \n3 12614 13493 13278 \n3 12577 11446 11907 \n3 13822 13825 14249 \n3 6313 9655 10865 \n3 13140 13376 13593 \n3 13591 13140 13593 \n3 13142 12700 13598 \n3 13597 12903 12901 \n3 13597 12901 13596 \n3 14061 14785 4011 \n3 13598 12905 13835 \n3 7421 6099 7424 \n3 2947 1950 6895 \n3 5028 1963 12759 \n3 13379 13835 12905 \n3 9488 8429 3413 \n3 12502 7213 9363 \n3 3982 3013 14356 \n3 13382 13841 13604 \n3 3080 5314 8022 \n3 13399 7213 12502 \n3 13384 12907 12290 \n3 1177 3211 2242 \n3 13604 13605 13152 \n3 12049 12893 12048 \n3 2056 11142 3070 \n3 10812 11509 11271 \n3 878 4884 895 \n3 13607 13156 14268 \n3 12595 12126 12123 \n3 12882 8781 6854 \n3 13602 12909 12910 \n3 13387 13607 13388 \n3 13159 14502 13160 \n3 557 3586 2624 \n3 4434 14822 14820 \n3 13180 13404 11869 \n3 6599 14581 4539 \n3 13392 13851 13161 \n3 13161 13851 13162 \n3 13681 13889 12971 \n3 13317 13307 9147 \n3 2505 14842 184 \n3 6363 6228 6073 \n3 13616 12721 13166 \n3 14932 12024 14953 \n3 14515 13618 12527 \n3 11418 12945 11648 \n3 12920 13618 13858 \n3 3424 13992 13995 \n3 2782 127 1456 \n3 13170 12532 12920 \n3 13620 14281 13395 \n3 9663 7525 12813 \n3 13397 13621 13398 \n3 13621 13397 12923 \n3 6218 3875 8329 \n3 13172 12924 12723 \n3 6827 9097 10311 \n3 8140 8163 10576 \n3 11960 11035 11027 \n3 13175 13173 13172 \n3 5708 11269 4618 \n3 13866 13403 12928 \n3 13177 12726 13402 \n3 13175 12928 13403 \n3 13181 13631 13180 \n3 14063 13632 12730 \n3 12726 14520 13402 \n3 2987 2568 2466 \n3 13182 13631 13181 \n3 6262 8412 8395 \n3 10556 11558 11585 \n3 13407 13631 13182 \n3 3602 8028 5880 \n3 13402 14520 14523 \n3 3421 4399 9319 \n3 13639 13413 12940 \n3 10714 14987 14985 \n3 6593 3228 6625 \n3 14294 13639 13636 \n3 8144 12540 12545 \n3 13189 12546 12940 \n3 13189 14071 12546 \n3 13645 13877 13878 \n3 2939 2414 2415 \n3 6620 1613 3596 \n3 13644 14074 13645 \n3 14294 13636 13185 \n3 12551 13881 13426 \n3 12551 13420 13881 \n3 8140 7064 8163 \n3 14311 13421 14312 \n3 14652 3002 14398 \n3 13191 12739 14311 \n3 13194 13195 13649 \n3 1909 5871 4820 \n3 14083 13426 13881 \n3 6004 3706 11529 \n3 5102 14899 199 \n3 8731 7675 5438 \n3 13425 13200 14083 \n3 13193 13427 14307 \n3 6889 14074 14304 \n3 9455 7320 10625 \n3 10817 3941 9582 \n3 12333 13656 13205 \n3 206 1226 2262 \n3 4171 9846 9845 \n3 14997 13653 13655 \n3 13428 12742 13194 \n3 13429 13201 13654 \n3 14568 4346 13441 \n3 6254 3938 8376 \n3 13886 13201 13888 \n3 13206 13208 12955 \n3 8798 8816 8776 \n3 5862 2912 3788 \n3 12341 13443 13672 \n3 12983 13223 12981 \n3 6990 5030 5036 \n3 3738 1470 290 \n3 12498 8115 13503 \n3 7820 7817 7445 \n3 13662 13673 12964 \n3 13213 13665 12758 \n3 13213 13672 13665 \n3 14913 14908 13818 \n3 13215 13675 13682 \n3 9390 10616 12641 \n3 12344 12974 12971 \n3 13215 13212 13675 \n3 13438 12971 13889 \n3 4274 14326 2203 \n3 13224 13455 13223 \n3 13672 14103 13665 \n3 13438 13889 13660 \n3 13680 13894 13217 \n3 13915 13690 13689 \n3 5085 3118 4093 \n3 7861 7869 7825 \n3 2358 3363 296 \n3 13447 12976 13218 \n3 1330 1329 1061 \n3 13219 13448 13446 \n3 12966 13444 13443 \n3 13887 13660 13889 \n3 13904 13451 13221 \n3 13688 13909 13691 \n3 13909 13222 13691 \n3 11995 11316 11311 \n3 12981 13222 13690 \n3 13678 14100 13447 \n3 13224 12991 13455 \n3 13455 13456 13694 \n3 12978 14112 12765 \n3 11019 8937 8834 \n3 12982 13696 12770 \n3 12991 13456 13455 \n3 9770 10101 4863 \n3 3884 8085 12492 \n3 13529 14677 14412 \n3 13458 13462 13698 \n3 12770 13696 13697 \n3 11630 3044 11654 \n3 3273 4368 848 \n3 1850 1848 1549 \n3 10754 3812 3811 \n3 8622 9699 8614 \n3 5862 4875 2912 \n3 3629 1665 2673 \n3 6218 14960 12759 \n3 4857 6112 7429 \n3 12104 11890 12970 \n3 4629 9531 6646 \n3 13924 13467 13465 \n3 13465 13244 13468 \n3 14645 13281 13726 \n3 9309 3716 11556 \n3 14121 14129 14851 \n3 4127 5170 7157 \n3 13465 13467 13244 \n3 13245 13467 13927 \n3 12354 12789 12596 \n3 12999 13468 13244 \n3 1772 8111 3867 \n3 12999 13242 13468 \n3 5829 2825 5839 \n3 6204 6353 6480 \n3 1925 1836 2404 \n3 12747 13200 13425 \n3 14142 13240 13712 \n3 14598 2554 2541 \n3 13250 13246 13000 \n3 12764 4808 3853 \n3 13933 13249 13248 \n3 2106 5726 9990 \n3 7063 9095 11345 \n3 5834 14954 6788 \n3 13925 13931 13472 \n3 13245 13927 13248 \n3 6112 7437 7429 \n3 8760 11019 8834 \n3 8971 6788 1839 \n3 12805 11936 12368 \n3 13253 13243 13003 \n3 13258 13475 13478 \n3 8693 8692 8838 \n3 13003 13259 13253 \n3 13719 13481 13480 \n3 10033 6635 8864 \n3 13480 13249 13933 \n3 3885 4473 4355 \n3 13634 14066 14291 \n3 13485 13481 13720 \n3 13261 13262 13723 \n3 13262 13012 13723 \n3 436 352 337 \n3 13723 13483 13261 \n3 12648 10640 9488 \n3 11908 12348 12351 \n3 11429 14292 11419 \n3 5963 7012 2623 \n3 4304 8079 4284 \n3 12802 13268 13493 \n3 13017 13491 12798 \n3 3005 1834 8540 \n3 331 14855 6867 \n3 4228 3134 9874 \n3 10468 3602 6965 \n3 9239 5921 8034 \n3 13694 13456 14127 \n3 13279 13732 13280 \n3 4560 7772 4556 \n3 8614 8623 7575 \n3 12804 13273 13271 \n3 14010 5744 14977 \n3 13279 13280 12619 \n3 13026 12623 13952 \n3 13027 13291 13738 \n3 12163 11247 6943 \n3 5796 5800 7969 \n3 6948 6961 9195 \n3 3535 9447 491 \n3 5144 9692 4052 \n3 9962 9963 11578 \n3 6374 2298 4276 \n3 5079 13031 13289 \n3 14169 13505 13741 \n3 10460 6915 6916 \n3 12805 12808 12376 \n3 14169 13738 13291 \n3 6735 731 6745 \n3 7992 9187 11387 \n3 4949 9628 11815 \n3 7793 5571 7790 \n3 12819 13506 12817 \n3 7139 3774 4923 \n3 6196 2179 2215 \n3 3201 11966 11457 \n3 8956 7758 7793 \n3 4034 2073 3991 \n3 6372 6076 5827 \n3 13033 13745 13034 \n3 13515 13518 13298 \n3 2145 767 8433 \n3 6547 3522 1518 \n3 8154 7508 8303 \n3 13749 13295 13516 \n3 8532 4105 6408 \n3 5641 5450 5542 \n3 4410 14526 14066 \n3 13506 12819 14405 \n3 14432 14428 1055 \n3 13039 13520 13301 \n3 14161 14561 14816 \n3 487 7450 1530 \n3 14814 4256 9627 \n3 14258 14486 14254 \n3 10328 12299 11384 \n3 6739 728 7656 \n3 13044 13529 13526 \n3 12273 11118 11358 \n3 13526 13529 14182 \n3 13309 13964 14189 \n3 12834 13046 13762 \n3 12060 12284 12700 \n3 3234 14420 13764 \n3 13313 13054 14420 \n3 14619 14622 14368 \n3 5353 5963 2623 \n3 14918 14195 13056 \n3 1533 10784 9738 \n3 4535 1518 472 \n3 13315 12653 13766 \n3 9134 9175 5885 \n3 10817 442 3941 \n3 8919 10996 3982 \n3 907 2971 1950 \n3 12653 13316 13975 \n3 8218 5689 7153 \n3 1480 3480 9395 \n3 2033 5781 5792 \n3 12645 12834 12644 \n3 14935 13548 13983 \n3 14684 12655 13315 \n3 3714 4730 1777 \n3 14195 12658 13056 \n3 12838 13055 13539 \n3 13635 13412 14293 \n3 12678 12677 12462 \n3 13975 12848 13544 \n3 12854 11106 11122 \n3 9997 7675 8782 \n3 12847 12658 13325 \n3 3704 1777 4730 \n3 2812 496 14635 \n3 7976 7992 11387 \n3 4731 2770 1774 \n3 12841 12189 12428 \n3 10312 11384 14213 \n3 13980 13979 13545 \n3 1226 2273 3287 \n3 5160 13329 14573 \n3 2629 14861 365 \n3 13777 13073 13328 \n3 6525 2524 2518 \n3 7764 4430 7747 \n3 12067 12705 12291 \n3 13330 13070 13072 \n3 12429 5995 3844 \n3 3475 3799 3686 \n3 7976 7966 7992 \n3 3265 3266 5247 \n3 13333 13780 13072 \n3 7403 7424 6052 \n3 13325 14195 14426 \n3 13550 13333 12862 \n3 10923 9772 10877 \n3 9450 8396 8365 \n3 8445 14802 14803 \n3 9211 4376 5625 \n3 14208 13551 13781 \n3 6387 4077 2969 \n3 9387 7252 10527 \n3 8902 6677 7758 \n3 8073 2605 3641 \n3 13551 13984 13081 \n3 14894 14892 9233 \n3 13552 13550 12862 \n3 1776 2770 4731 \n3 13781 13551 13076 \n3 14210 13780 13333 \n3 11093 12035 12034 \n3 3199 13524 2221 \n3 12862 12670 13552 \n3 13340 13986 13341 \n3 3139 3475 3686 \n3 13569 13355 13106 \n3 12551 13426 12095 \n3 4407 7726 5537 \n3 2188 2184 95 \n3 10887 10905 8714 \n3 10887 9717 10905 \n3 14212 13557 13345 \n3 14805 14806 2116 \n3 2998 5994 4953 \n3 13585 12488 13820 \n3 9120 10312 11356 \n3 10305 12296 10315 \n3 14713 14461 3471 \n3 11722 11711 14853 \n3 12897 12499 12277 \n3 13566 13995 13564 \n3 4414 5419 1408 \n3 12862 12671 12670 \n3 13994 13353 13350 \n3 13714 13246 13250 \n3 13355 13569 13568 \n3 3044 14656 784 \n3 7033 11341 4104 \n3 9807 7484 7482 \n3 12681 13106 13355 \n3 721 4734 12615 \n3 2727 1746 3677 \n3 2728 5581 4674 \n3 13571 14228 12683 \n3 4191 14554 10680 \n3 14001 12683 13799 \n3 8229 9281 9276 \n3 12686 14001 14229 \n3 3939 4941 4951 \n3 14229 13575 12686 \n3 14002 13359 13801 \n3 5133 9689 9667 \n3 9491 53 1961 \n3 12881 13574 13111 \n3 13575 13574 12881 \n3 5823 2057 5804 \n3 13114 13806 13579 \n3 6879 6857 7962 \n3 524 2622 4570 \n3 6848 9136 6837 \n3 843 12866 4878 \n3 14846 221 14848 \n3 13813 14006 12480 \n3 223 14593 14842 \n3 3176 2988 13028 \n3 14377 13719 13937 \n3 12889 13123 13814 \n3 4656 5547 1707 \n3 13816 14010 13125 \n3 14010 13815 13125 \n3 13123 13815 13814 \n3 2975 3931 4921 \n3 14243 14982 12890 \n3 2975 4921 907 \n3 13369 12890 13816 \n3 8211 6098 10606 \n3 14240 13810 14467 \n3 14265 12910 13153 \n3 4649 3657 1707 \n3 12491 13585 13127 \n3 12346 12773 12988 \n3 13583 13371 13584 \n3 13129 13825 13822 \n3 10248 10264 12211 \n3 10609 7126 8190 \n3 13133 13134 13825 \n3 1284 1182 1288 \n3 13134 13372 13590 \n3 13590 13829 13134 \n3 4003 9646 11905 \n3 13823 13130 12891 \n3 2691 6645 4649 \n3 13376 13142 13594 \n3 4629 3629 2673 \n3 14491 13597 13596 \n3 7992 7966 5861 \n3 13379 13599 13835 \n3 13145 13146 12701 \n3 13130 14733 14018 \n3 11452 11674 10953 \n3 13592 13141 13139 \n3 12804 12806 13949 \n3 13147 14030 12906 \n3 4629 2673 3643 \n3 9403 7615 7491 \n3 9117 9119 5756 \n3 4698 4237 4592 \n3 7685 8798 6625 \n3 3265 2253 2262 \n3 13154 13152 13605 \n3 14036 13155 12709 \n3 14268 14497 13607 \n3 13607 13609 13388 \n3 11043 9959 11057 \n3 13158 12711 13845 \n3 13845 12709 13158 \n3 6652 6608 3176 \n3 14270 13848 13160 \n3 7813 7712 5966 \n3 7324 14404 5102 \n3 14515 13858 13618 \n3 13159 13388 13609 \n3 12916 13847 13390 \n3 13612 13391 13848 \n3 13614 13392 13612 \n3 13173 13403 14058 \n3 1678 3528 5544 \n3 4399 14744 5419 \n3 13794 12246 14815 \n3 14528 1029 7858 \n3 815 10696 5996 \n3 11344 11009 2912 \n3 14261 14031 14033 \n3 14285 13401 12534 \n3 12532 13170 13859 \n3 13170 12920 13858 \n3 13860 13395 13622 \n3 13170 14279 13859 \n3 13620 13395 13860 \n3 12532 13859 13621 \n3 9959 11043 10001 \n3 5669 11540 5653 \n3 12577 12765 12974 \n3 2429 14683 14473 \n3 2655 1613 6620 \n3 12924 13173 13624 \n3 8541 8117 7583 \n3 1036 5441 4 \n3 7178 14796 8363 \n3 13867 13177 13402 \n3 13632 13634 13185 \n3 12541 13185 12936 \n3 10457 12591 8194 \n3 12937 13635 12087 \n3 13632 13185 12541 \n3 12162 11831 13790 \n3 6889 12712 6067 \n3 4461 4468 2288 \n3 2790 8319 9509 \n3 3608 3586 1618 \n3 11695 11474 12383 \n3 13642 12546 14071 \n3 13190 13642 14073 \n3 14530 14069 14788 \n3 13636 12936 13185 \n3 8937 11019 8940 \n3 13877 13645 14075 \n3 13878 12322 13645 \n3 12941 13191 14081 \n3 12740 12741 14313 \n3 13880 12948 12945 \n3 13881 13420 14541 \n3 13420 14307 14541 \n3 14995 13435 13664 \n3 13425 12950 12747 \n3 11937 6766 9876 \n3 13421 12740 14313 \n3 13880 14082 13198 \n3 13197 13880 13198 \n3 13685 13447 14341 \n3 13197 13198 12955 \n3 4587 6620 3596 \n3 12764 3853 12815 \n3 14307 13427 14084 \n3 13205 14087 14547 \n3 7883 9081 7869 \n3 4112 14303 14538 \n3 13651 13195 12946 \n3 13425 14083 13424 \n3 14088 13206 13198 \n3 3711 8084 7095 \n3 10622 4112 14538 \n3 6174 6685 6631 \n3 13657 13432 14995 \n3 14322 14084 13427 \n3 6181 11808 13786 \n3 11320 10292 5690 \n3 13656 13885 13205 \n3 4407 12270 7726 \n3 13657 14995 13659 \n3 7861 7870 7869 \n3 8120 7012 9274 \n3 10082 9478 14570 \n3 13660 13885 13656 \n3 13658 13661 12956 \n3 13312 5726 11201 \n3 13201 13433 13888 \n3 12567 13437 13433 \n3 14569 13666 13211 \n3 27 2121 7084 \n3 13887 13889 14568 \n3 13673 13662 13665 \n3 12815 3853 1894 \n3 13666 13667 13435 \n3 12174 12833 12177 \n3 13246 13471 13000 \n3 13662 12758 13665 \n3 11890 13662 12964 \n3 14566 14096 13669 \n3 13675 13669 14096 \n3 13440 14099 13678 \n3 14437 13783 13984 \n3 9981 11119 9983 \n3 13077 8580 11037 \n3 13504 11436 4977 \n3 14105 13680 13216 \n3 8005 7370 8147 \n3 13696 13917 13699 \n3 13689 13909 13907 \n3 9274 7012 9282 \n3 14538 6092 10622 \n3 13900 14107 13444 \n3 10497 9269 7008 \n3 14110 13682 13897 \n3 14179 13960 13747 \n3 13682 14110 13900 \n3 4546 9031 6762 \n3 12979 13449 13450 \n3 14113 13450 13685 \n3 13689 13690 13909 \n3 13690 12982 12981 \n3 7016 2616 7008 \n3 13688 13691 14350 \n3 13910 13909 13688 \n3 13222 13909 13690 \n3 13915 13918 13690 \n3 13915 14120 13917 \n3 5449 410 1437 \n3 568 4476 4464 \n3 13690 13918 12982 \n3 14349 14352 13915 \n3 13699 13697 13696 \n3 6400 4863 10101 \n3 13215 13682 13900 \n3 13698 13919 14128 \n3 13447 13449 12976 \n3 13462 13919 13698 \n3 13462 13228 13699 \n3 10754 10757 3812 \n3 14134 13458 13921 \n3 14127 13701 13923 \n3 13194 13649 13428 \n3 13703 13702 14134 \n3 13917 13919 13699 \n3 13701 13463 13923 \n3 2825 5829 1825 \n3 13173 13175 13403 \n3 13924 13465 14133 \n3 9256 5956 5988 \n3 14134 13925 13703 \n3 11344 1403 11009 \n3 1549 1848 1550 \n3 6652 14834 2378 \n3 13720 13719 13940 \n3 13465 13468 14136 \n3 13472 13703 13925 \n3 4963 14640 14884 \n3 13497 13500 14393 \n3 8035 9253 6981 \n3 7541 7574 7634 \n3 14138 13240 14142 \n3 9025 7811 7825 \n3 13705 13927 13467 \n3 13245 13244 13467 \n3 13473 13926 14365 \n3 13473 13248 13927 \n3 4073 7056 3103 \n3 14630 14624 14142 \n3 10921 9838 11926 \n3 13243 13253 13712 \n3 3021 5250 6748 \n3 12940 12546 10712 \n3 13480 13933 13937 \n3 13480 13937 13719 \n3 13943 14154 13259 \n3 13252 13480 13007 \n3 13941 13258 13478 \n3 13480 13481 13007 \n3 13258 13941 13486 \n3 13604 12705 13382 \n3 11932 9828 11941 \n3 2622 524 14330 \n3 13253 13259 14154 \n3 13481 13719 13720 \n3 8760 10944 11019 \n3 7569 6506 7586 \n3 9672 4949 9661 \n3 11419 14292 14269 \n3 8990 5634 7811 \n3 8536 6152 10783 \n3 13017 13945 13491 \n3 13265 13270 14158 \n3 2184 2188 2204 \n3 13488 13485 13720 \n3 11375 11607 11135 \n3 8079 4304 7035 \n3 13497 14393 14392 \n3 10906 14340 3826 \n3 9629 11998 12929 \n3 1688 5098 1673 \n3 14923 4971 14295 \n3 3213 4326 6594 \n3 10921 10944 10905 \n3 13283 13286 13500 \n3 9450 9465 8396 \n3 12862 12859 12210 \n3 9322 7213 13399 \n3 13502 14398 13288 \n3 14293 4494 13407 \n3 14398 13502 14652 \n3 13292 14654 14901 \n3 13744 13509 13031 \n3 13956 13957 13293 \n3 7691 9736 8714 \n3 14656 13741 13508 \n3 13293 13957 13033 \n3 13508 13512 14175 \n3 8120 4837 2623 \n3 3298 3287 2273 \n3 8475 12314 14554 \n3 4044 7039 3070 \n3 14406 13513 13509 \n3 13515 13298 13034 \n3 4044 3070 5048 \n3 14175 13512 13960 \n3 8714 10944 8760 \n3 8714 10905 10944 \n3 8968 7764 10200 \n3 13102 13093 14627 \n3 13960 12821 13747 \n3 5787 739 7857 \n3 4046 4038 5284 \n3 13303 14911 13747 \n3 8965 4783 1051 \n3 13444 13679 13443 \n3 4110 1134 5148 \n3 4538 7450 7440 \n3 13961 13520 13517 \n3 11608 10897 12507 \n3 8723 9772 10945 \n3 13341 13082 13340 \n3 13751 13754 12830 \n3 13753 13756 13531 \n3 9840 4187 6458 \n3 6149 8291 8284 \n3 6735 729 731 \n3 4681 261 256 \n3 10915 10481 10483 \n3 14662 13962 13527 \n3 14182 13303 13302 \n3 13762 14673 13760 \n3 5910 14728 12876 \n3 14554 4191 8475 \n3 13761 13966 13311 \n3 10580 10581 10363 \n3 13531 13761 13047 \n3 13047 13761 13311 \n3 6916 6888 7990 \n3 13534 13967 13762 \n3 13308 13531 13047 \n3 13311 13966 13055 \n3 14683 3430 1405 \n3 14783 4033 4410 \n3 14193 14918 13763 \n3 11285 7759 8903 \n3 11047 7500 4192 \n3 4871 5998 3703 \n3 14684 13315 13766 \n3 6059 7005 8886 \n3 5686 1735 3673 \n3 5030 7015 5036 \n3 13382 13839 13841 \n3 6727 6991 8608 \n3 14761 14497 14268 \n3 11098 12056 11035 \n3 5996 10696 10718 \n3 11295 11293 10593 \n3 4407 5573 10186 \n3 13314 13323 13976 \n3 7990 6879 7980 \n3 13541 14602 13533 \n3 13326 13979 13977 \n3 13982 13546 13330 \n3 7442 5347 5348 \n3 13751 12830 13518 \n3 13983 13548 13073 \n3 13073 13777 13983 \n3 10111 10547 10112 \n3 13072 13778 13330 \n3 10923 10877 11872 \n3 6978 3658 5961 \n3 9356 1210 1224 \n3 13984 13783 13339 \n3 13339 13081 13984 \n3 13550 13552 13985 \n3 13550 13985 14210 \n3 1218 1223 3251 \n3 12678 13568 13566 \n3 13554 13988 13552 \n3 13988 13554 14450 \n3 13345 13341 14212 \n3 13555 13556 13344 \n3 13344 13556 12865 \n3 3816 10058 10661 \n3 13562 14453 13344 \n3 6671 8902 10135 \n3 14700 13348 14451 \n3 5800 2810 7969 \n3 1942 3245 3206 \n3 13992 13564 13995 \n3 13092 13564 13992 \n3 8726 6548 6556 \n3 4691 1746 6037 \n3 4671 3873 4206 \n3 13251 13472 13931 \n3 13994 13350 14221 \n3 8714 9736 10887 \n3 14071 13189 13413 \n3 14952 12872 13991 \n3 11076 11098 11035 \n3 9758 9747 7657 \n3 9759 9747 9758 \n3 11872 9747 9759 \n3 14227 13571 12878 \n3 14227 12878 13999 \n3 5498 6671 8864 \n3 53 9491 8470 \n3 1961 14871 9491 \n3 13575 13800 13574 \n3 8864 7703 5498 \n3 14232 13578 13574 \n3 9712 11872 9705 \n3 1141 2413 3477 \n3 7256 7280 3901 \n3 2600 1357 1249 \n3 12225 5973 3939 \n3 14465 13807 13581 \n3 12346 12987 12582 \n3 4899 4914 909 \n3 6790 6057 7150 \n3 4418 9340 7364 \n3 3988 8425 5106 \n3 6218 1963 13788 \n3 11043 11976 10001 \n3 887 14276 14275 \n3 12264 13368 13813 \n3 13368 12889 14009 \n3 12889 13814 14009 \n3 14240 3579 13817 \n3 4656 1707 3657 \n3 13817 13120 14240 \n3 13816 12890 14982 \n3 8641 9705 10877 \n3 14012 14245 13820 \n3 1296 14706 14226 \n3 13586 13821 14012 \n3 13583 14477 14243 \n3 13583 13584 14477 \n3 6668 4641 640 \n3 4427 1419 401 \n3 8822 7697 7694 \n3 1857 3983 14777 \n3 10264 10248 10252 \n3 14931 14431 14694 \n3 7675 8796 7684 \n3 13825 13134 13827 \n3 13129 13133 13825 \n3 13134 13829 13827 \n3 6477 13533 10445 \n3 2275 14334 14336 \n3 13127 14017 13823 \n3 13591 14023 13590 \n3 12903 13144 13145 \n3 14023 13591 13593 \n3 1433 6293 5058 \n3 14252 14022 14023 \n3 13590 14023 14022 \n3 1406 1402 14233 \n3 13594 13142 14028 \n3 13596 12901 13375 \n3 13142 13598 14028 \n3 1645 14262 1658 \n3 3338 1280 1289 \n3 12897 13375 12901 \n3 13596 13832 14491 \n3 14019 14249 13825 \n3 10774 8475 4191 \n3 392 5430 5424 \n3 13375 13832 13596 \n3 4898 895 4883 \n3 7525 9661 13808 \n3 9661 7525 9672 \n3 815 8460 10696 \n3 4414 1408 392 \n3 1134 7819 5148 \n3 7489 6213 4970 \n3 4981 3975 8898 \n3 6142 14775 6151 \n3 11877 5098 8425 \n3 14270 13160 14502 \n3 9907 7584 8711 \n3 11283 9020 11240 \n3 13391 13612 13392 \n3 2990 3099 3101 \n3 4937 8249 3782 \n3 4427 2457 1419 \n3 13851 13392 13614 \n3 13847 13613 14768 \n3 9959 10001 9954 \n3 14039 14505 14507 \n3 13851 14040 13162 \n3 3450 5017 14919 \n3 14275 13162 14040 \n3 4949 11815 9661 \n3 1933 1720 14516 \n3 8147 8554 8005 \n3 4977 14880 2892 \n3 14513 13617 12525 \n3 13853 13617 14769 \n3 14515 13616 14772 \n3 12872 13091 13991 \n3 4966 2760 8269 \n3 3114 6503 9869 \n3 8269 336 6123 \n3 1111 6213 7489 \n3 7021 9132 7025 \n3 13769 13687 960 \n3 13620 13860 14280 \n3 1640 5635 3608 \n3 3528 4554 5544 \n3 6593 8745 6574 \n3 12924 13624 13622 \n3 7675 8731 8770 \n3 4970 9663 7489 \n3 5470 8768 8758 \n3 13866 14061 13403 \n3 3363 6395 3349 \n3 14816 4393 14161 \n3 2224 2209 6230 \n3 13630 13631 14062 \n3 13631 14064 14062 \n3 12928 11869 13404 \n3 14063 14066 13632 \n3 10408 14771 12556 \n3 3837 2116 1894 \n3 13635 14293 13407 \n3 11181 10774 2903 \n3 13790 11831 3496 \n3 13407 4494 14064 \n3 14070 5929 14071 \n3 6181 1111 7489 \n3 13871 14531 13639 \n3 12939 13874 13416 \n3 13416 13874 13873 \n3 13416 13873 13414 \n3 3916 14769 14042 \n3 14074 13644 13190 \n3 6981 4807 3648 \n3 13190 14073 14074 \n3 12741 13422 14539 \n3 12325 12941 14544 \n3 3396 5376 2377 \n3 14311 14081 13191 \n3 14544 14086 12325 \n3 12949 12325 14086 \n3 13421 14313 14312 \n3 2614 2519 2143 \n3 13195 14551 13649 \n3 13427 13429 14322 \n3 14478 8247 6420 \n3 13432 13651 13204 \n3 13651 14551 13195 \n3 14564 13206 14088 \n3 13428 13882 13658 \n3 14087 13205 13885 \n3 8757 4300 8722 \n3 13885 13660 13887 \n3 12450 13084 13345 \n3 12739 13421 14311 \n3 9053 9068 5691 \n3 13658 14819 13661 \n3 13669 13675 13212 \n3 4750 7397 6029 \n3 13667 13664 13435 \n3 14105 13673 14097 \n3 13443 13679 14103 \n3 9876 7834 11000 \n3 1019 4044 5048 \n3 7861 7825 6764 \n3 7370 7604 8147 \n3 13901 14107 13900 \n3 4185 4182 4317 \n3 12765 14112 13681 \n3 14107 14103 13679 \n3 7624 7611 8724 \n3 5020 5016 3060 \n3 909 12617 1953 \n3 13447 13218 13678 \n3 9700 6368 6373 \n3 14336 13680 14105 \n3 13685 13450 13449 \n3 14336 13894 13680 \n3 14111 13448 13905 \n3 11911 11909 11664 \n3 11009 1403 825 \n3 14592 13451 13904 \n3 3747 7126 4923 \n3 57 6135 4092 \n3 13579 13113 13114 \n3 9379 10551 10542 \n3 13901 13900 14110 \n3 13910 14350 14348 \n3 7252 9387 10554 \n3 2358 13854 13856 \n3 14350 13691 13694 \n3 6072 3738 6078 \n3 10129 1165 10175 \n3 13915 13917 13696 \n3 2363 12550 2352 \n3 3206 4476 568 \n3 586 589 735 \n3 13915 13696 13918 \n3 13935 240 12020 \n3 10538 9379 10542 \n3 13691 13222 13223 \n3 7825 7811 6764 \n3 13231 14127 13456 \n3 14361 13705 13924 \n3 13458 13698 13921 \n3 1942 3285 3245 \n3 6024 4750 4754 \n3 13702 13458 14134 \n3 10780 10783 12743 \n3 14133 14361 13924 \n3 13463 13701 12780 \n3 3639 4621 6645 \n3 13465 14136 14133 \n3 14330 10057 10039 \n3 13926 14619 14365 \n3 8758 804 5470 \n3 3747 4923 11658 \n3 7579 3141 7584 \n3 9933 2048 6574 \n3 13927 13705 13926 \n3 10328 11384 10312 \n3 7828 7823 9002 \n3 13530 14589 9358 \n3 13473 13927 13926 \n3 14120 14608 14353 \n3 77 1103 6162 \n3 3846 3831 4081 \n3 14626 13246 14634 \n3 8210 7271 3324 \n3 13932 13933 14145 \n3 13937 13933 13932 \n3 14150 13475 13931 \n3 2209 4132 6230 \n3 13471 13246 14626 \n3 13473 14145 13248 \n3 3961 1149 14205 \n3 9886 8688 3144 \n3 13468 13929 14136 \n3 3324 2300 2312 \n3 10259 10037 10908 \n3 14639 13715 13723 \n3 13905 13219 13450 \n3 9651 9507 10189 \n3 13740 10771 8505 \n3 14386 13723 13012 \n3 8666 7579 11128 \n3 8111 1756 3867 \n3 7812 6743 4486 \n3 13268 13486 14155 \n3 8370 8373 4472 \n3 14390 13493 13268 \n3 14390 13268 14886 \n3 14385 13726 13489 \n3 14390 14157 13493 \n3 14162 13281 14892 \n3 6625 6635 7685 \n3 14645 14892 13281 \n3 6557 491 9447 \n3 9266 14889 5011 \n3 9548 10700 10677 \n3 6035 14037 14271 \n3 2865 5098 11877 \n3 13732 14157 14391 \n3 1151 8196 1154 \n3 14163 13280 13732 \n3 598 590 8261 \n3 5079 13289 14163 \n3 12396 12157 12394 \n3 12159 12157 12396 \n3 12862 13333 12859 \n3 13286 13738 14649 \n3 13952 13284 14162 \n3 3322 13746 4253 \n3 2855 14574 14331 \n3 14652 13502 13292 \n3 13744 13031 5079 \n3 13506 14654 13292 \n3 5881 14993 14746 \n3 6819 8839 11914 \n3 8992 7777 8968 \n3 13505 14169 13291 \n3 8638 9852 6491 \n3 13642 14304 14073 \n3 14656 13508 14175 \n3 972 13102 2050 \n3 14407 13515 13745 \n3 13961 13513 14406 \n3 12647 12413 11967 \n3 13448 13219 13905 \n3 13515 13034 13745 \n3 13961 13517 13513 \n3 14409 13515 14407 \n3 13777 13324 14432 \n3 12953 12758 13662 \n3 14246 7851 3637 \n3 621 2524 14167 \n3 14820 14819 8537 \n3 8655 6495 9885 \n3 13754 13751 13963 \n3 6491 4187 8638 \n3 12052 13135 13372 \n3 13303 14182 14911 \n3 13531 13756 13761 \n3 13309 14189 13310 \n3 7141 9390 9398 \n3 14918 14680 14195 \n3 14673 13967 14192 \n3 13966 13972 13055 \n3 4003 4001 9646 \n3 5217 13756 14410 \n3 13054 13546 13764 \n3 14937 14935 7528 \n3 12462 12019 12680 \n3 9436 11753 4934 \n3 14428 13324 14199 \n3 6467 7575 7574 \n3 13544 14201 13975 \n3 7217 8145 1224 \n3 909 4914 12617 \n3 13323 13314 12438 \n3 12653 13975 14200 \n3 1130 9743 9731 \n3 14426 14201 13544 \n3 4192 6471 11047 \n3 9957 14215 14968 \n3 13654 14325 14322 \n3 6858 6861 6536 \n3 14199 13539 13972 \n3 4509 755 2524 \n3 13982 14429 13546 \n3 1777 6991 3714 \n3 5657 5874 5661 \n3 14432 13324 14428 \n3 2253 3265 3248 \n3 3967 3008 3957 \n3 5070 6262 6261 \n3 14206 13778 13780 \n3 12189 11742 12428 \n3 14935 14208 13781 \n3 2511 3490 4482 \n3 8085 14507 1772 \n3 6612 7541 7634 \n3 13778 14694 14431 \n3 14761 14762 14497 \n3 5236 6459 6406 \n3 13985 13552 13988 \n3 3335 14438 14698 \n3 12670 13083 13552 \n3 9822 8580 5314 \n3 13783 14444 13340 \n3 14214 13344 14453 \n3 12219 13088 13087 \n3 9880 13028 3949 \n3 13555 14214 14450 \n3 13986 14212 13341 \n3 14166 11356 14187 \n3 228 3723 8151 \n3 13333 13550 14210 \n3 2518 539 4495 \n3 9395 5476 1480 \n3 8028 3602 10468 \n3 2949 14893 14391 \n3 9705 11872 10877 \n3 487 9988 6557 \n3 10905 9717 8716 \n3 3013 2025 14356 \n3 4176 3251 9115 \n3 3693 12557 3685 \n3 13568 3437 14224 \n3 13571 14227 14228 \n3 12154 11947 11480 \n3 4001 1698 9646 \n3 10033 7685 6635 \n3 3051 9809 5281 \n3 14232 13574 13800 \n3 13112 14463 13803 \n3 8577 13058 7482 \n3 14372 3596 12285 \n3 1287 1283 1346 \n3 63 1249 1357 \n3 12285 7855 14372 \n3 13579 13806 14234 \n3 13116 13578 14232 \n3 5681 5547 4656 \n3 9778 6413 5250 \n3 2705 1453 6063 \n3 2989 3939 4951 \n3 13806 13115 13807 \n3 5178 1180 3203 \n3 4048 1737 14661 \n3 5271 7471 8577 \n3 13810 13809 14467 \n3 8396 9465 3387 \n3 14044 2475 5447 \n3 5651 7833 3375 \n3 13582 13118 14721 \n3 13813 13368 14009 \n3 13814 13815 14977 \n3 9029 7942 12082 \n3 14008 14009 13814 \n3 9489 8433 12663 \n3 13817 13819 13126 \n3 14982 14980 13816 \n3 8357 11597 8365 \n3 12480 12264 13813 \n3 14979 13819 13817 \n3 13820 14245 13585 \n3 14246 14245 14012 \n3 6308 6314 6173 \n3 13822 13584 13371 \n3 6612 7634 7665 \n3 14249 13584 13822 \n3 6225 4136 1154 \n3 13827 14019 13825 \n3 8429 9488 10640 \n3 11634 12079 11635 \n3 14251 14481 13829 \n3 8079 9120 8076 \n3 13582 14466 13581 \n3 6106 4034 7949 \n3 7684 8822 7694 \n3 5236 7452 4120 \n3 13829 14481 13827 \n3 13594 14027 13593 \n3 14252 14023 13593 \n3 1997 7968 14494 \n3 14028 14258 14027 \n3 14022 14252 14251 \n3 14028 14027 13594 \n3 14022 13829 13590 \n3 13593 13376 13594 \n3 1679 14494 7968 \n3 2202 5159 3183 \n3 14493 14260 14030 \n3 13599 14260 14029 \n3 13835 13599 14029 \n3 12405 12403 12164 \n3 14260 13599 14030 \n3 2930 11741 10375 \n3 4065 4886 14788 \n3 8316 2788 6190 \n3 5430 392 2457 \n3 7684 8796 8822 \n3 7927 5756 5752 \n3 12711 13847 14271 \n3 13144 13839 13146 \n3 14031 14261 13147 \n3 6607 5481 11246 \n3 13839 14034 13841 \n3 10202 5491 12120 \n3 14034 14494 14263 \n3 14033 14755 1658 \n3 3005 7439 6408 \n3 14265 13153 14759 \n3 12910 14265 13602 \n3 5995 14036 12709 \n3 13845 12711 14271 \n3 14037 12709 13845 \n3 14263 14756 13605 \n3 5418 10404 11456 \n3 14764 14270 14502 \n3 14272 13848 14270 \n3 8790 6596 8767 \n3 14272 13612 13848 \n3 621 7673 539 \n3 7819 3177 5148 \n3 2429 10399 9314 \n3 9465 9450 12648 \n3 13614 14505 13851 \n3 14039 531 14040 \n3 6086 3070 7039 \n3 3838 13062 3429 \n3 13162 14275 13616 \n3 6909 5856 5880 \n3 6770 7823 7828 \n3 14275 14276 13616 \n3 14769 13617 14042 \n3 4714 710 3693 \n3 7759 3316 8903 \n3 7759 10233 3316 \n3 13165 13619 14516 \n3 14047 13858 14515 \n3 14048 13858 14047 \n3 13398 12534 13397 \n3 14513 13165 14516 \n3 8512 2976 2983 \n3 8790 6594 6596 \n3 14052 13859 14776 \n3 8798 8745 6593 \n3 5281 9790 3040 \n3 13808 12813 7525 \n3 13527 12640 13041 \n3 13624 13173 14058 \n3 14048 14047 8194 \n3 11222 11685 11938 \n3 10153 1795 14798 \n3 13401 14285 12726 \n3 4982 9672 7525 \n3 13403 14061 14781 \n3 14519 13398 14052 \n3 13866 14785 14061 \n3 13866 12928 13404 \n3 2600 1249 3554 \n3 13866 13630 14062 \n3 14523 14783 14288 \n3 14063 13867 14288 \n3 7419 6824 7310 \n3 14288 13402 14523 \n3 10944 11926 11019 \n3 9040 8892 8443 \n3 5373 6424 3392 \n3 6662 5537 7726 \n3 14378 14633 2826 \n3 9726 3794 1249 \n3 8738 5437 8758 \n3 8221 10288 8210 \n3 13874 14069 13873 \n3 9933 8720 2048 \n3 14300 14533 13874 \n3 12939 13875 13874 \n3 7811 6760 6764 \n3 13413 13640 14531 \n3 13418 13878 14536 \n3 14536 13875 13418 \n3 14073 14304 14074 \n3 13059 13054 13053 \n3 14302 13878 13877 \n3 14302 14536 13878 \n3 14635 14638 4919 \n3 12546 13642 13190 \n3 13880 14078 14540 \n3 13880 14079 14078 \n3 13880 13424 14079 \n3 2725 2694 2689 \n3 13881 4202 14806 \n3 14544 12941 14081 \n3 7184 4556 3294 \n3 9901 11997 10993 \n3 13424 14083 14079 \n3 4457 4487 1918 \n3 3565 1587 2624 \n3 14319 14324 14085 \n3 14085 14324 14320 \n3 14812 13882 13649 \n3 14322 13429 13654 \n3 14714 9904 14964 \n3 1087 5110 6148 \n3 12588 12589 12779 \n3 5355 8839 6819 \n3 14325 13654 13886 \n3 14564 13208 13206 \n3 12854 11153 11106 \n3 13669 13208 14564 \n3 6556 8738 8726 \n3 13661 14569 13211 \n3 13664 14822 13207 \n3 13437 14326 13888 \n3 13513 12823 12400 \n3 7120 6120 3117 \n3 3126 57 4092 \n3 4712 4708 4258 \n3 1639 5889 7948 \n3 10577 9407 10554 \n3 14328 13437 14098 \n3 5847 14989 3696 \n3 12570 10551 7268 \n3 9407 7252 10554 \n3 13665 14097 13673 \n3 14112 12978 13451 \n3 13678 14099 14100 \n3 13443 14103 13672 \n3 9433 9035 9297 \n3 10266 10285 9002 \n3 14584 14594 1756 \n3 6366 6357 7366 \n3 9517 11802 4340 \n3 13447 14100 14341 \n3 7362 4037 8478 \n3 13685 14341 14834 \n3 14346 14115 13910 \n3 13910 14115 13909 \n3 14682 13641 7274 \n3 14598 14348 14601 \n3 14107 13901 14343 \n3 14599 14603 14349 \n3 8358 9431 13522 \n3 5133 7362 9689 \n3 9815 11103 10638 \n3 6678 6713 8664 \n3 14120 14353 13917 \n3 14350 13910 13688 \n3 14029 14028 13598 \n3 6368 12921 2943 \n3 14128 13921 13698 \n3 7348 1730 5133 \n3 3699 3822 4282 \n3 14126 13919 14353 \n3 13919 14126 14128 \n3 3565 4570 2622 \n3 14609 14128 14126 \n3 14358 14134 13921 \n3 13923 14129 14127 \n3 9590 10481 10690 \n3 14362 14616 14872 \n3 14614 14361 14360 \n3 13925 14872 13928 \n3 13925 14362 14872 \n3 14138 13923 13463 \n3 2629 6869 4718 \n3 13147 12907 14031 \n3 12907 14033 14031 \n3 6078 10606 11611 \n3 14868 14136 13929 \n3 14721 13118 14006 \n3 11485 11006 11252 \n3 13929 14626 14868 \n3 13705 13467 13924 \n3 14142 14624 14621 \n3 12743 6125 10771 \n3 14365 14368 14145 \n3 14846 223 221 \n3 14875 13931 13928 \n3 14737 14988 5810 \n3 14634 14371 14626 \n3 2506 2529 2516 \n3 4888 7107 8180 \n3 14148 14630 13712 \n3 14875 14150 13931 \n3 14149 14377 13937 \n3 14629 14371 14634 \n3 4047 1026 2106 \n3 13940 13719 14377 \n3 14634 13246 13714 \n3 14150 13941 13478 \n3 3940 4950 7829 \n3 14154 13943 14640 \n3 12743 13743 10780 \n3 7141 4932 9414 \n3 14639 13723 14386 \n3 14654 3053 5108 \n3 14381 13720 13940 \n3 4328 6395 3363 \n3 14884 13721 14387 \n3 8505 4857 7429 \n3 13721 13265 14387 \n3 7126 3747 6063 \n3 13491 13945 14880 \n3 14645 13726 14385 \n3 9448 4554 8414 \n3 14886 14643 14390 \n3 10822 11050 11051 \n3 12625 13288 13739 \n3 13023 13733 2934 \n3 9229 11136 9277 \n3 13949 5011 14644 \n3 13135 13591 13590 \n3 13023 13024 13733 \n3 7316 2865 11877 \n3 10583 8190 7095 \n3 13949 14644 13273 \n3 5011 13949 2934 \n3 13500 14164 14393 \n3 14632 14150 14875 \n3 14895 13952 14162 \n3 5622 9218 9212 \n3 13500 13286 14164 \n3 8656 8668 9845 \n3 12525 13165 14513 \n3 12405 13516 12403 \n3 2081 5036 1012 \n3 8655 6493 6495 \n3 7437 11736 7429 \n3 14168 13957 13956 \n3 6491 9852 13128 \n3 13292 14901 14652 \n3 6270 6276 10844 \n3 14405 12819 13511 \n3 14654 13506 14405 \n3 7597 8718 6545 \n3 3002 11537 14897 \n3 7793 5634 8990 \n3 3507 1190 25 \n3 14958 1335 1373 \n3 920 4848 2344 \n3 12603 12134 12362 \n3 13692 6319 4223 \n3 7171 6658 6809 \n3 3467 4472 9829 \n3 13747 14911 14179 \n3 6262 6270 8412 \n3 14410 13520 14180 \n3 4229 10720 4854 \n3 14410 13753 13520 \n3 7380 9548 10677 \n3 1746 4691 3677 \n3 14410 13756 13753 \n3 5270 2283 1229 \n3 5772 6837 5779 \n3 13235 13192 13633 \n3 13964 13309 13754 \n3 3145 13864 3159 \n3 11457 4300 3201 \n3 7429 11736 12710 \n3 13967 14673 13762 \n3 13169 12302 14281 \n3 13360 11339 8192 \n3 2547 4722 4746 \n3 14989 14736 14993 \n3 14189 14193 13763 \n3 14192 13967 13765 \n3 13155 14036 13153 \n3 14680 14426 14195 \n3 14199 13324 13539 \n3 2380 3384 13879 \n3 14429 13764 13546 \n3 5231 4325 6106 \n3 13766 12653 14200 \n3 1278 1285 14226 \n3 13977 13976 13323 \n3 5015 6042 3050 \n3 13979 13980 14929 \n3 13314 13765 13967 \n3 13314 13976 13765 \n3 4981 13102 14627 \n3 3085 5318 8618 \n3 14429 13982 14431 \n3 14212 14448 14451 \n3 14207 14208 14935 \n3 14934 13983 13777 \n3 7287 11814 7284 \n3 5808 5701 5803 \n3 13548 14935 13781 \n3 11040 3080 5311 \n3 12226 13088 12219 \n3 7473 7279 10800 \n3 14211 6011 3975 \n3 14224 13995 13566 \n3 972 2050 3991 \n3 14948 14452 14453 \n3 8359 10800 8362 \n3 14447 13986 14944 \n3 6259 7857 739 \n3 14586 640 1703 \n3 1876 5548 9464 \n3 9544 5361 5389 \n3 6313 1718 9655 \n3 4683 4674 8558 \n3 14212 14451 13557 \n3 14950 13092 13992 \n3 659 2511 633 \n3 14916 14192 11775 \n3 13224 12985 12988 \n3 13093 11107 6774 \n3 2068 996 2084 \n3 12759 11781 5028 \n3 3200 2126 13902 \n3 13804 13579 14233 \n3 13994 14226 13354 \n3 14222 14221 14952 \n3 13994 14705 14226 \n3 14702 9829 1278 \n3 14944 13986 14444 \n3 8909 7728 6664 \n3 13553 1998 2998 \n3 13354 14226 13999 \n3 13922 11055 6227 \n3 12683 14228 13799 \n3 14961 14711 1373 \n3 14963 14001 13799 \n3 14459 14000 14462 \n3 8296 3834 6161 \n3 13800 13575 14229 \n3 4914 4926 13199 \n3 13145 12503 12061 \n3 13803 14463 13801 \n3 14714 13801 14463 \n3 11216 4786 6883 \n3 14724 14977 5744 \n3 13988 14446 13985 \n3 7256 5028 7253 \n3 9276 10431 10447 \n3 14233 13579 14234 \n3 13231 13701 14127 \n3 14234 13807 1412 \n3 1285 1335 1296 \n3 14717 1425 12885 \n3 13806 13807 14234 \n3 1979 12958 4950 \n3 3203 1180 9015 \n3 14065 2475 14044 \n3 14468 14721 14006 \n3 3940 3931 1979 \n3 13813 14468 14006 \n3 6786 5816 5829 \n3 1163 1180 5178 \n3 7541 6467 7574 \n3 13585 14017 13127 \n3 868 3893 3509 \n3 6225 8066 9052 \n3 13819 14979 13821 \n3 13823 14017 14733 \n3 13586 13819 13821 \n3 12918 13169 13165 \n3 3684 3249 3136 \n3 221 223 14844 \n3 7471 3017 9784 \n3 6202 11751 11756 \n3 12433 11732 12651 \n3 8742 8905 8604 \n3 14021 14018 14737 \n3 13829 14022 14251 \n3 8168 7392 7750 \n3 11453 10447 10431 \n3 13592 14021 14737 \n3 14481 14254 14740 \n3 14254 14481 14251 \n3 6404 9570 9627 \n3 13224 13223 12985 \n3 1527 1755 1467 \n3 14252 14254 14251 \n3 2352 2330 5335 \n3 14027 14252 13593 \n3 5369 3394 3384 \n3 14742 13832 13141 \n3 14260 14493 14489 \n3 10409 10431 9254 \n3 3384 3394 14170 \n3 1703 4641 12457 \n3 6038 6029 6052 \n3 14486 14260 14489 \n3 14258 14260 14486 \n3 14258 14029 14260 \n3 4044 7052 7048 \n3 4190 1931 4171 \n3 14491 13832 14745 \n3 14029 13598 13835 \n3 13597 1639 14750 \n3 14030 14261 14493 \n3 1300 6382 2312 \n3 10867 12934 12062 \n3 1950 2947 1946 \n3 4826 3639 2691 \n3 135 2221 11455 \n3 12922 12529 12531 \n3 14750 13144 13597 \n3 14756 14263 14494 \n3 9213 7289 10298 \n3 14268 1694 14761 \n3 8854 7835 8952 \n3 14263 13841 14034 \n3 12726 14285 14520 \n3 12808 12805 13281 \n3 6024 6046 7403 \n3 2876 10750 843 \n3 14762 14499 13609 \n3 14272 14505 13612 \n3 14515 3942 14047 \n3 2291 14830 8595 \n3 3893 6068 3509 \n3 14508 13613 13615 \n3 14772 13616 14276 \n3 4966 9462 6158 \n3 14505 14039 13851 \n3 2926 2936 4037 \n3 14039 14040 13851 \n3 5678 14467 3530 \n3 2977 14649 7258 \n3 13858 14048 14279 \n3 6607 8768 5470 \n3 3041 3037 4257 \n3 2377 1339 330 \n3 2755 6167 12556 \n3 2919 2931 11344 \n3 14465 7729 14968 \n3 12280 12700 12699 \n3 14279 14776 13859 \n3 8290 9490 8291 \n3 12882 5907 855 \n3 14053 13624 14058 \n3 14519 14520 14285 \n3 8194 2238 14048 \n3 14058 13403 14781 \n3 2648 2647 2611 \n3 7112 11438 9218 \n3 14063 14784 4410 \n3 1899 14782 14523 \n3 14291 14066 14526 \n3 4338 3128 4361 \n3 3128 4338 4348 \n3 13697 13699 13228 \n3 9828 11932 11894 \n3 2248 3375 5675 \n3 4886 14293 13412 \n3 13634 14291 14787 \n3 14789 1973 14531 \n3 14294 13871 13639 \n3 14070 13413 14531 \n3 4517 4828 5022 \n3 10364 10339 11422 \n3 4966 8269 11686 \n3 5929 14304 13642 \n3 14074 6067 14075 \n3 14538 14536 14302 \n3 14538 14303 14536 \n3 1618 557 14399 \n3 7178 14313 12741 \n3 8150 9212 14256 \n3 7355 9515 12237 \n3 14085 14543 14801 \n3 7713 7716 14715 \n3 5822 6852 5799 \n3 14081 14311 14803 \n3 9211 10339 7108 \n3 14542 14550 14085 \n3 6892 11106 12120 \n3 14079 14083 14806 \n3 7317 784 14906 \n3 77 5110 1087 \n3 9429 6123 6116 \n3 14542 2060 14550 \n3 14815 14543 14320 \n3 14812 13658 13882 \n3 2998 3948 13553 \n3 14547 14087 4252 \n3 14564 14088 14554 \n3 14714 1399 9904 \n3 7215 3251 6299 \n3 13664 13667 14822 \n3 5081 5075 10824 \n3 14552 14321 13657 \n3 13885 13887 14562 \n3 5796 7847 4753 \n3 14325 13886 13888 \n3 1496 9940 9518 \n3 14566 13669 14564 \n3 13655 13657 13659 \n3 10585 10591 12650 \n3 6041 3494 2247 \n3 14663 14911 7361 \n3 14227 13999 14706 \n3 13437 14328 14326 \n3 5175 6366 4066 \n3 14138 13463 13240 \n3 4468 4497 2288 \n3 10315 9211 9192 \n3 13889 13681 2291 \n3 4066 6366 9695 \n3 14824 13889 2291 \n3 14334 14328 14098 \n3 14566 14575 14096 \n3 7878 5691 9068 \n3 9211 10315 10339 \n3 13354 12875 13353 \n3 10083 3169 4125 \n3 14826 14102 14575 \n3 9909 14965 1402 \n3 14824 2291 14821 \n3 4290 8720 8711 \n3 14102 14826 14337 \n3 11093 11177 12035 \n3 14601 14348 14350 \n3 14826 14575 14449 \n3 2098 5507 7693 \n3 13096 12872 13350 \n3 14631 941 13643 \n3 14837 13901 14110 \n3 14342 14837 14110 \n3 14837 14343 13901 \n3 14105 14578 14336 \n3 14578 14832 2320 \n3 14107 13679 13444 \n3 14588 14113 13685 \n3 14834 14588 13685 \n3 14590 14592 13904 \n3 2768 2510 4975 \n3 13907 14115 14593 \n3 14593 14115 14595 \n3 14345 13451 14592 \n3 2291 13681 14833 \n3 12168 12407 12639 \n3 14349 14603 14352 \n3 2938 2824 3485 \n3 13733 14897 5050 \n3 9398 7130 7141 \n3 13919 13917 14353 \n3 14601 14121 14606 \n3 261 14608 256 \n3 14601 14350 14121 \n3 7107 4888 3729 \n3 14121 14851 14607 \n3 14938 14698 14207 \n3 4256 4274 6436 \n3 9650 4822 6822 \n3 10189 9507 9796 \n3 14128 14358 13921 \n3 12050 12274 11360 \n3 14362 14134 14358 \n3 1860 4376 1869 \n3 13578 13116 12255 \n3 12882 898 8781 \n3 8349 7259 11794 \n3 13923 14138 14857 \n3 14361 14860 14360 \n3 14365 14619 14368 \n3 3809 1846 2873 \n3 7107 6072 7111 \n3 1865 1934 1637 \n3 2067 5337 5979 \n3 14614 14619 14361 \n3 4811 14987 3811 \n3 14136 14615 14133 \n3 13926 14361 14619 \n3 7484 657 7482 \n3 9821 9800 6854 \n3 9655 6323 7348 \n3 7931 7930 10319 \n3 10315 9192 10308 \n3 10308 10305 10315 \n3 14142 14621 14138 \n3 14370 14368 14625 \n3 6788 14954 1839 \n3 2256 7888 2267 \n3 5491 9072 5493 \n3 1718 6323 9655 \n3 14145 14370 13932 \n3 11093 8952 6834 \n3 8283 10527 5781 \n3 9757 7745 8700 \n3 14149 13932 14370 \n3 9812 7518 7359 \n3 1564 4566 1558 \n3 14628 14149 14370 \n3 13854 296 12237 \n3 14628 14873 14874 \n3 14628 14633 14377 \n3 8665 9736 6678 \n3 2919 4887 3890 \n3 1997 7948 3733 \n3 9363 10538 10525 \n3 4047 3073 1026 \n3 14629 14635 496 \n3 9429 11668 6123 \n3 5810 14988 3667 \n3 8668 9886 3144 \n3 6033 4882 9347 \n3 14378 13940 14377 \n3 3727 6025 7095 \n3 14543 14813 14801 \n3 11093 11085 8964 \n3 14502 13159 13609 \n3 7793 7790 5634 \n3 3387 2124 12535 \n3 13720 14381 14385 \n3 14378 14883 14381 \n3 14155 14641 13268 \n3 14886 13268 14641 \n3 8163 7064 5998 \n3 14387 13265 14888 \n3 14884 14640 13943 \n3 13265 14158 14888 \n3 14888 14158 14644 \n3 14555 13649 14551 \n3 3288 10909 10225 \n3 9544 5389 9513 \n3 14881 14880 4958 \n3 10909 3288 4253 \n3 14274 13179 10175 \n3 13023 2934 13949 \n3 753 2808 3746 \n3 14893 13732 14391 \n3 14893 14163 13732 \n3 3744 4763 10773 \n3 13951 14897 13733 \n3 14719 6710 2755 \n3 14164 13286 14649 \n3 8151 5988 228 \n3 14645 13510 9233 \n3 7505 963 939 \n3 13712 13240 13243 \n3 9363 10525 12502 \n3 14895 14168 13952 \n3 10844 6276 7316 \n3 4566 1564 2583 \n3 1130 9731 1114 \n3 3135 12460 3145 \n3 9874 2945 14202 \n3 1335 1351 1373 \n3 13156 13154 13605 \n3 14168 13956 13952 \n3 14168 14899 5102 \n3 14660 14406 13744 \n3 14641 14155 14384 \n3 14169 14653 14649 \n3 10054 10704 10274 \n3 14036 14759 13153 \n3 5048 3070 11142 \n3 1006 1097 1211 \n3 9721 10887 9736 \n3 6990 5036 3050 \n3 3555 524 4570 \n3 13130 14018 14021 \n3 14178 13749 13962 \n3 14667 14662 13527 \n3 3788 825 9344 \n3 14914 14182 14412 \n3 1051 5731 6820 \n3 14665 14409 5186 \n3 9773 4863 3837 \n3 13529 14412 14182 \n3 980 972 3991 \n3 3825 14990 4818 \n3 4985 3991 2050 \n3 14674 13761 13756 \n3 14675 14189 14671 \n3 14674 13966 13761 \n3 12934 2418 903 \n3 8140 5985 7064 \n3 14675 3194 14193 \n3 13756 5217 14674 \n3 10625 9489 12663 \n3 8084 4834 6981 \n3 721 1776 4734 \n3 7008 9269 7016 \n3 13972 14928 14199 \n3 3234 13764 14429 \n3 6529 7028 7322 \n3 14685 13976 13977 \n3 13770 12655 3256 \n3 1452 3729 4888 \n3 14200 13975 14201 \n3 3265 5247 3248 \n3 791 946 1123 \n3 13980 13770 14929 \n3 11916 11922 12124 \n3 13979 14685 13977 \n3 7473 10800 8359 \n3 13778 13982 13330 \n3 14431 13982 13778 \n3 9033 9159 8449 \n3 1774 2770 10482 \n3 14947 2051 3019 \n3 5932 5612 6070 \n3 2251 2074 1989 \n3 13961 14406 14905 \n3 6352 7366 4053 \n3 11164 10083 11168 \n3 1335 14958 1296 \n3 14938 14207 14935 \n3 13780 14210 14206 \n3 10186 5573 5591 \n3 14719 3701 6710 \n3 14698 14437 14207 \n3 10467 10456 4507 \n3 14940 14206 14210 \n3 14208 14207 14437 \n3 10467 4507 9322 \n3 14942 14940 14210 \n3 12946 12331 12744 \n3 14440 13783 14438 \n3 14440 14444 13783 \n3 710 4714 1774 \n3 9272 4809 14007 \n3 12477 14620 5581 \n3 4952 2998 4953 \n3 6988 10238 12187 \n3 14448 14212 14447 \n3 3554 14241 2600 \n3 3335 3353 14438 \n3 6005 3008 3967 \n3 13344 14214 13555 \n3 4956 3006 2989 \n3 3719 7922 5881 \n3 2330 2352 13798 \n3 14700 14951 13991 \n3 4021 2926 4037 \n3 14453 13562 14948 \n3 11652 8522 7547 \n3 14951 14952 13991 \n3 199 13573 5234 \n3 7311 7293 2096 \n3 14063 14288 14784 \n3 14224 5531 13995 \n3 2758 4754 4750 \n3 5482 4357 10030 \n3 13327 11481 9276 \n3 9276 10447 13327 \n3 11123 11126 11120 \n3 11735 7616 10734 \n3 13961 14180 13520 \n3 14706 13999 14226 \n3 6966 10248 12163 \n3 10929 9708 6373 \n3 14458 13569 13106 \n3 13584 14249 14247 \n3 14711 13799 14228 \n3 14461 14001 14963 \n3 14461 14229 14001 \n3 14714 14463 1399 \n3 14273 11180 13232 \n3 11188 13232 11180 \n3 10456 10418 7153 \n3 14464 13112 13577 \n3 1971 3964 6920 \n3 3211 5195 5210 \n3 2246 5199 9015 \n3 5522 3424 5531 \n3 2202 3183 8055 \n3 14464 13577 13804 \n3 7355 12237 12016 \n3 6167 4700 6037 \n3 14466 14465 13581 \n3 1971 6920 3937 \n3 14467 13809 14718 \n3 9713 7557 7607 \n3 12615 4734 1784 \n3 5470 2085 5481 \n3 14466 13582 14721 \n3 14465 14466 5668 \n3 2031 13650 10599 \n3 12885 1425 14718 \n3 1334 3604 5908 \n3 10521 10752 10977 \n3 13813 14009 14471 \n3 13814 14724 14008 \n3 13814 14977 14724 \n3 5762 3449 9119 \n3 5133 4021 4037 \n3 9790 12033 5250 \n3 14553 13230 2149 \n3 6966 12163 6943 \n3 945 3006 3008 \n3 3545 14468 10000 \n3 1013 5724 6827 \n3 14017 3667 14733 \n3 3899 1831 1314 \n3 14475 14477 14247 \n3 4428 14059 5573 \n3 6441 8611 8614 \n3 11716 12167 11261 \n3 5956 228 5988 \n3 1038 7052 4044 \n3 13493 14157 13278 \n3 4826 2691 14584 \n3 14751 14034 13839 \n3 14739 14742 13592 \n3 9195 4727 6948 \n3 14740 14254 14992 \n3 5491 10202 9072 \n3 10791 13844 9693 \n3 755 8387 811 \n3 10431 10409 11453 \n3 2463 3649 4425 \n3 6729 10921 7696 \n3 8276 8273 8527 \n3 4930 5976 3931 \n3 8320 8319 2790 \n3 14254 14252 14258 \n3 13310 14189 13535 \n3 10083 6187 3169 \n3 14491 14745 1639 \n3 14992 14486 14489 \n3 14992 14254 14486 \n3 14493 14261 14262 \n3 14992 14489 14993 \n3 13951 12622 13739 \n3 4898 12225 895 \n3 9175 8004 5885 \n3 10409 9254 7123 \n3 5437 8738 6556 \n3 14755 13602 14265 \n3 14111 14590 13904 \n3 8305 3843 9503 \n3 2870 2771 2869 \n3 14759 14758 14265 \n3 1677 14755 14265 \n3 14838 6644 4533 \n3 14555 14808 4216 \n3 5877 6915 5899 \n3 14779 2770 1776 \n3 1694 14268 13156 \n3 14037 5995 12709 \n3 6149 8290 8291 \n3 14271 14037 13845 \n3 2682 617 3639 \n3 8111 14272 14270 \n3 14272 1772 14505 \n3 9629 10938 11750 \n3 14508 13615 14769 \n3 14750 14751 13839 \n3 5885 4672 9134 \n3 9450 11631 12648 \n3 13620 14280 14281 \n3 10625 11640 9455 \n3 11021 6022 8898 \n3 531 887 14275 \n3 6842 8935 6874 \n3 13985 14942 14210 \n3 1540 8290 6149 \n3 14502 13609 14499 \n3 6874 4709 6842 \n3 10409 7108 10364 \n3 2238 14279 14048 \n3 6068 3893 904 \n3 6888 6879 7990 \n3 5141 1136 7033 \n3 14771 14513 14516 \n3 8510 9064 6474 \n3 6959 9072 10238 \n3 7697 6664 5502 \n3 1505 1648 1573 \n3 14774 10635 7561 \n3 13929 13471 14626 \n3 12703 4362 518 \n3 6072 1470 3738 \n3 4566 2583 5566 \n3 9636 3256 14684 \n3 6879 6844 6857 \n3 4012 14782 1899 \n3 14782 14783 14523 \n3 5928 5921 9239 \n3 9029 11186 6882 \n3 14850 4410 4033 \n3 4886 13412 14788 \n3 5831 7976 10336 \n3 2655 4621 2658 \n3 14294 13634 14787 \n3 14966 5621 14715 \n3 1665 5635 601 \n3 14534 14069 14533 \n3 4682 6879 4677 \n3 4677 6879 6888 \n3 14069 14534 14788 \n3 14531 1973 14070 \n3 14788 13412 14530 \n3 14530 13873 14069 \n3 1973 5929 14070 \n3 14791 14533 14300 \n3 8037 8038 8455 \n3 14321 13432 13657 \n3 6092 14538 14302 \n3 14302 13877 6092 \n3 14083 13881 14806 \n3 14303 14300 14536 \n3 9390 11627 9398 \n3 14399 557 3028 \n3 2897 3357 3016 \n3 820 5873 5909 \n3 12615 1899 8219 \n3 14540 14078 6347 \n3 8150 14256 12299 \n3 13881 14541 4202 \n3 14541 14307 9570 \n3 9901 7005 8887 \n3 3228 3237 4362 \n3 14074 6889 6067 \n3 14544 14081 14802 \n3 13667 13666 14822 \n3 5929 13642 14071 \n3 14550 2120 14810 \n3 14540 10680 14554 \n3 7178 12736 14313 \n3 14896 14893 9437 \n3 5374 3144 4215 \n3 13651 14808 14551 \n3 13651 14321 14808 \n3 6819 11914 11027 \n3 8775 155 2459 \n3 14539 14547 14796 \n3 4152 14801 4211 \n3 14812 13649 14555 \n3 7145 3774 7139 \n3 13657 14086 14552 \n3 13651 13432 14321 \n3 3023 3017 7471 \n3 14946 14945 1197 \n3 14815 14813 14543 \n3 4252 14087 14562 \n3 5829 2830 1825 \n3 13874 14533 14069 \n3 14322 14325 14814 \n3 4434 14823 14822 \n3 14319 14810 14816 \n3 2808 753 1814 \n3 14087 13885 14562 \n3 14585 14326 14328 \n3 14319 14561 14324 \n3 9245 549 5107 \n3 11547 164 2977 \n3 14326 14585 4342 \n3 13661 14819 14569 \n3 13666 14569 14820 \n3 14825 14099 14574 \n3 4187 7967 5322 \n3 14334 13894 14336 \n3 14820 14569 14819 \n3 3053 9388 5108 \n3 1402 1406 9938 \n3 14576 14097 14103 \n3 14097 14576 14832 \n3 14581 14103 14107 \n3 911 13543 14730 \n3 3002 14901 5108 \n3 5972 6565 6127 \n3 4609 5762 7931 \n3 10853 8364 4252 \n3 14583 14345 14839 \n3 14946 1197 1135 \n3 7920 11122 11106 \n3 8993 10163 11177 \n3 8536 10783 10780 \n3 14590 14591 14592 \n3 12056 11122 8987 \n3 7605 3383 14700 \n3 14843 14593 14595 \n3 14593 14843 184 \n3 2658 4621 617 \n3 14597 14595 14346 \n3 10408 12556 6167 \n3 14597 14348 14598 \n3 14601 2554 14598 \n3 14605 14352 14603 \n3 14352 14605 14608 \n3 14606 14121 14607 \n3 6066 5931 5813 \n3 14349 13907 14599 \n3 14126 14608 261 \n3 14608 14126 14353 \n3 3792 4643 10293 \n3 14609 14852 14854 \n3 14128 14854 14358 \n3 13694 14127 14121 \n3 14854 14128 14609 \n3 5473 14439 5541 \n3 14861 14615 365 \n3 14856 14358 14852 \n3 14447 5455 14448 \n3 14129 14857 4729 \n3 14133 14612 14860 \n3 13205 14547 13422 \n3 5486 14950 1264 \n3 1998 13553 10973 \n3 4672 5779 6865 \n3 14990 5854 4818 \n3 7895 7639 7890 \n3 14360 331 362 \n3 1735 10384 14646 \n3 13803 12250 12470 \n3 14615 14868 379 \n3 522 3555 2589 \n3 14614 14360 362 \n3 2724 4792 2742 \n3 1135 14942 14446 \n3 14863 14616 14862 \n3 5729 7878 5731 \n3 12242 3542 6578 \n3 3335 14698 3331 \n3 14623 14868 14626 \n3 14867 14622 14619 \n3 2725 14368 14622 \n3 14625 14873 14370 \n3 4882 8165 9347 \n3 12056 8987 11035 \n3 459 13928 14872 \n3 9828 9758 8814 \n3 14617 14621 14624 \n3 2725 14625 14368 \n3 14875 13928 459 \n3 14873 14628 14370 \n3 14051 410 5460 \n3 14370 14145 14368 \n3 3792 5967 14761 \n3 2729 14868 14623 \n3 1006 1093 933 \n3 14149 13937 13932 \n3 14635 14629 14634 \n3 8611 6354 7557 \n3 4196 6495 5341 \n3 4892 14632 14875 \n3 13562 13344 12867 \n3 1130 1114 14940 \n3 14624 2761 14617 \n3 2839 13941 14632 \n3 14633 14378 14377 \n3 14384 13941 2839 \n3 14385 13488 13720 \n3 331 14360 14860 \n3 14381 14642 14385 \n3 2839 14641 14384 \n3 13940 14378 14381 \n3 14961 1377 14963 \n3 10749 10815 9100 \n3 14639 14386 14880 \n3 8306 14882 8302 \n3 1277 3338 4288 \n3 14385 14642 14645 \n3 3841 2712 2738 \n3 4050 4043 4268 \n3 14444 13986 13340 \n3 14636 14148 14154 \n3 2749 3806 3777 \n3 14391 14390 14643 \n3 14884 14387 593 \n3 8771 8797 8743 \n3 14392 13017 13497 \n3 14392 14393 14164 \n3 4434 6540 8591 \n3 11419 9212 9218 \n3 6764 6792 7870 \n3 7167 604 14888 \n3 14638 14639 14881 \n3 11559 11560 9387 \n3 14398 3002 14897 \n3 14897 13951 14398 \n3 3002 14652 14901 \n3 14653 13741 14656 \n3 14656 14175 784 \n3 3053 14405 13511 \n3 13745 13957 14407 \n3 5102 14404 14168 \n3 9053 5691 6770 \n3 14905 14406 14660 \n3 9658 9968 9099 \n3 784 13960 14906 \n3 13778 14206 14695 \n3 7324 14407 14404 \n3 4535 472 14204 \n3 14905 3124 13961 \n3 6676 6612 7665 \n3 14180 13961 3124 \n3 14662 14178 13962 \n3 7749 7692 7782 \n3 13952 12623 13284 \n3 14179 14911 14663 \n3 14279 13170 13858 \n3 14120 13915 14352 \n3 3363 2358 4328 \n3 13963 14409 14665 \n3 14665 14671 13964 \n3 8085 1772 12477 \n3 5985 5961 4829 \n3 14671 14189 13964 \n3 14916 14673 14192 \n3 13529 14420 14677 \n3 14917 13966 14674 \n3 14168 14404 13957 \n3 6760 6792 6764 \n3 14193 14189 14675 \n3 4710 4729 11201 \n3 5253 14680 14918 \n3 3586 557 1618 \n3 14193 3194 14918 \n3 10030 858 13257 \n3 14426 14680 7442 \n3 14677 14420 3234 \n3 2781 14630 4885 \n3 6299 3251 1223 \n3 6644 8661 8703 \n3 9636 13766 14200 \n3 2065 2096 7293 \n3 3234 14429 5352 \n3 14928 14428 14199 \n3 14929 13770 3256 \n3 14931 14429 14431 \n3 5357 14429 14931 \n3 1919 1975 1537 \n3 14709 1296 14958 \n3 14758 14759 14828 \n3 169 1206 2246 \n3 9700 12932 12921 \n3 14695 14694 13778 \n3 5352 14429 5357 \n3 14141 3481 539 \n3 14934 7528 14935 \n3 14695 14206 14940 \n3 6988 12187 9116 \n3 14447 14212 13986 \n3 7823 7777 9002 \n3 6857 6844 3507 \n3 4218 10225 199 \n3 7833 5675 3375 \n3 14698 14438 14437 \n3 12100 11425 11200 \n3 6978 5961 9264 \n3 3157 3398 4661 \n3 5466 1212 9803 \n3 13693 9412 10985 \n3 14450 1135 14446 \n3 14444 14440 14944 \n3 13216 12970 12964 \n3 2025 3013 3964 \n3 1243 14951 3383 \n3 7691 6678 9736 \n3 14948 13562 14950 \n3 5961 2620 4829 \n3 14428 3270 1055 \n3 7790 5571 6716 \n3 1480 5476 298 \n3 5531 3424 13995 \n3 14127 14129 14121 \n3 14705 14221 14222 \n3 5634 6760 7811 \n3 3437 5531 14224 \n3 7777 5582 7764 \n3 2282 2590 2811 \n3 14709 14227 14706 \n3 9772 7640 10877 \n3 9954 11034 9864 \n3 14711 14227 14709 \n3 14458 1326 13569 \n3 8968 7777 7764 \n3 9228 6961 8053 \n3 11027 11035 8975 \n3 14228 14227 14711 \n3 14458 14459 14710 \n3 10921 10905 8716 \n3 14462 14964 14710 \n3 5814 2728 5842 \n3 3579 1509 14979 \n3 14717 14715 14716 \n3 8218 7153 10418 \n3 14232 13800 14713 \n3 14464 13804 14965 \n3 1399 13112 14464 \n3 14965 13804 14233 \n3 9031 10273 2210 \n3 13116 14715 14717 \n3 13916 11620 146 \n3 1412 13807 14465 \n3 5581 5547 5681 \n3 14718 1425 3523 \n3 14973 14240 14467 \n3 5571 7793 7758 \n3 5460 410 4445 \n3 5912 8013 5921 \n3 14009 14008 12212 \n3 9924 9959 9954 \n3 5921 8013 8034 \n3 14010 14980 14978 \n3 14010 14978 5744 \n3 14240 14975 3579 \n3 14982 14243 5766 \n3 14245 14246 14476 \n3 5552 7747 4430 \n3 14247 14477 13584 \n3 14984 13821 14979 \n3 1552 14475 14247 \n3 5766 14243 14475 \n3 14984 14246 14012 \n3 11776 11498 47 \n3 5271 8577 7482 \n3 14733 14988 14018 \n3 4489 3344 5582 \n3 2463 5449 11965 \n3 14481 14736 14019 \n3 14018 14988 14737 \n3 2462 13238 12296 \n3 14019 14736 3670 \n3 14247 14734 1552 \n3 8903 3316 6674 \n3 5740 7885 13775 \n3 13592 14737 14739 \n3 7758 6677 4443 \n3 14148 13253 14154 \n3 14740 14993 14736 \n3 14737 5826 14739 \n3 3690 14742 14739 \n3 2238 14777 14776 \n3 13592 14742 13141 \n3 14258 14252 14027 \n3 14261 14033 14262 \n3 4220 11247 12131 \n3 13832 14742 14745 \n3 9717 7607 7661 \n3 1475 8211 3738 \n3 1419 2457 14015 \n3 14491 1639 13597 \n3 4425 14016 4418 \n3 14502 14499 6000 \n3 1996 14493 14262 \n3 2505 184 150 \n3 1645 1996 14262 \n3 9945 9959 8814 \n3 8814 9959 9924 \n3 12622 13951 13024 \n3 1644 2658 14456 \n3 4746 4751 2547 \n3 3792 1679 7963 \n3 9768 9483 9346 \n3 14494 14034 14751 \n3 1694 14756 1679 \n3 9864 9924 9954 \n3 4518 811 8387 \n3 4110 5148 6201 \n3 7728 7747 5552 \n3 14756 13156 13605 \n3 5877 6888 6915 \n3 13976 14920 13765 \n3 14762 14763 14499 \n3 1972 4196 1965 \n3 14771 10408 14042 \n3 13650 1980 10599 \n3 5219 5124 5041 \n3 13390 13847 12711 \n3 3881 4880 11977 \n3 14272 8111 1772 \n3 13847 8397 14271 \n3 8665 9713 9736 \n3 14828 14036 5995 \n3 8111 14270 14764 \n3 2670 1438 2663 \n3 12743 10783 6125 \n3 531 14039 14507 \n3 14508 14769 10384 \n3 11426 14883 4936 \n3 10364 11422 10409 \n3 5418 14683 2429 \n3 1597 6108 8144 \n3 3421 14744 4399 \n3 14771 14042 14513 \n3 14772 3942 14515 \n3 13619 14775 1933 \n3 13847 14768 8397 \n3 14066 14063 4410 \n3 4641 1703 640 \n3 11000 8940 11019 \n3 6671 5498 4387 \n3 14775 14281 14280 \n3 14052 14776 14777 \n3 8020 10238 6988 \n3 14052 3983 14519 \n3 4693 5856 7970 \n3 11429 11419 9218 \n3 14520 14519 8219 \n3 14758 5995 12429 \n3 14684 13766 9636 \n3 14520 1899 14523 \n3 525 1588 2574 \n3 5507 5537 6662 \n3 14781 14061 4011 \n3 2936 4579 2943 \n3 14289 4494 3917 \n3 14064 4494 14289 \n3 14175 13960 784 \n3 14293 4886 6259 \n3 14789 14531 13871 \n3 14791 14534 14533 \n3 2352 5335 2363 \n3 4693 7970 5822 \n3 13877 6067 6092 \n3 6463 6192 6466 \n3 2408 1392 6427 \n3 6067 12712 6092 \n3 14733 13130 13823 \n3 14808 10751 4216 \n3 14539 14796 7178 \n3 11198 9597 12590 \n3 6215 4975 2510 \n3 14541 9570 4202 \n3 6347 14078 9070 \n3 14313 10720 14804 \n3 14078 14079 14805 \n3 14079 14806 14805 \n3 4151 2120 2060 \n3 8814 9924 9864 \n3 3145 6506 3135 \n3 13612 14505 13614 \n3 14321 8407 14808 \n3 14551 14808 14555 \n3 8817 3236 8804 \n3 8864 6635 7703 \n3 2397 2408 6427 \n3 14552 14544 8407 \n3 14084 14322 14814 \n3 6635 6625 4362 \n3 6357 1766 4053 \n3 14559 13658 14812 \n3 9627 14084 14814 \n3 14554 14560 14564 \n3 14814 14325 4274 \n3 14700 13091 13348 \n3 14816 14810 4363 \n3 2855 2288 14825 \n3 14810 2162 4363 \n3 14578 14105 14832 \n3 14568 13441 14562 \n3 14816 14561 14319 \n3 12925 10902 12853 \n3 324 11789 9553 \n3 4991 5020 6219 \n3 14566 14560 14449 \n3 7675 7684 4336 \n3 14700 13991 13091 \n3 14822 14823 14331 \n3 14823 2855 14331 \n3 8790 3236 6594 \n3 14848 2548 256 \n3 6177 1122 1084 \n3 14107 14343 14581 \n3 14103 14581 14576 \n3 12878 11798 12239 \n3 14097 14832 14105 \n3 7495 7614 7743 \n3 7254 7131 6771 \n3 5651 6743 7833 \n3 9841 11914 8839 \n3 2275 14336 14578 \n3 6956 6775 7264 \n3 14825 2303 14100 \n3 14100 2303 14341 \n3 2378 14341 2303 \n3 14830 2291 14833 \n3 14837 14342 2396 \n3 8595 14830 2348 \n3 8869 8872 8157 \n3 14838 14343 14837 \n3 13218 13442 13678 \n3 14834 2431 14588 \n3 14587 14583 4547 \n3 4547 14833 14587 \n3 14840 14113 14588 \n3 14343 4539 14581 \n3 14465 5668 7729 \n3 10599 1980 3155 \n3 7317 3044 784 \n3 2790 6189 13724 \n3 14846 14605 14603 \n3 14844 14842 14841 \n3 9828 8814 9864 \n3 60 1087 6148 \n3 14593 184 14842 \n3 8622 7557 9713 \n3 13786 7359 7518 \n3 4418 1405 3430 \n3 14844 223 14842 \n3 14593 223 14599 \n3 14598 2541 14597 \n3 14450 14946 1135 \n3 9101 4609 7931 \n3 7927 3443 5745 \n3 8540 1834 5235 \n3 2984 2988 3176 \n3 6495 6506 9885 \n3 7442 14680 11796 \n3 8777 8760 8834 \n3 2554 14601 14606 \n3 14399 10167 12328 \n3 2682 4643 617 \n3 2591 14607 14851 \n3 5908 8035 3648 \n3 261 14609 14126 \n3 8929 9928 6997 \n3 14607 2591 14606 \n3 9841 10945 11914 \n3 6506 1972 3135 \n3 14854 14852 14358 \n3 1037 5231 6106 \n3 2626 14855 14612 \n3 57 6312 3111 \n3 14851 14129 4729 \n3 7883 5731 7878 \n3 5959 773 4699 \n3 4792 2724 4786 \n3 14860 14855 331 \n3 6908 4738 9007 \n3 7885 5740 6820 \n3 918 875 832 \n3 14863 14862 14856 \n3 14856 14862 14358 \n3 6078 7111 6072 \n3 1264 14109 5486 \n3 7870 6792 4563 \n3 6269 14882 7911 \n3 8290 3836 3843 \n3 3117 6120 1059 \n3 8757 3201 4300 \n3 13551 14437 13984 \n3 2694 14867 14865 \n3 445 369 420 \n3 1052 4076 1059 \n3 2976 6387 2969 \n3 14867 14619 14614 \n3 10336 6857 4666 \n3 14352 14608 14120 \n3 14862 14616 14362 \n3 2694 2725 14867 \n3 379 14868 2729 \n3 2725 14622 14867 \n3 14053 13860 13624 \n3 1377 14961 1373 \n3 7624 5438 6545 \n3 14872 14869 459 \n3 10931 8508 2978 \n3 7363 5430 8327 \n3 5133 1730 4021 \n3 14626 14371 14623 \n3 2762 14874 14873 \n3 14629 457 14371 \n3 2106 1026 5726 \n3 14624 14630 2781 \n3 6820 7869 7885 \n3 13635 12937 13412 \n3 14630 14148 4885 \n3 14874 2826 14633 \n3 568 1942 3206 \n3 8937 7877 7835 \n3 14414 7355 14667 \n3 3106 11724 1289 \n3 7068 2839 14878 \n3 9713 7607 9721 \n3 4939 4919 14881 \n3 14636 14154 14640 \n3 546 14641 2839 \n3 10650 11360 11361 \n3 7190 1578 13724 \n3 10929 6373 4077 \n3 14886 14641 546 \n3 6459 8579 8565 \n3 604 593 14387 \n3 14888 604 14387 \n3 14880 13945 2892 \n3 6729 9838 10921 \n3 3806 6122 3777 \n3 14386 13491 14880 \n3 6288 14318 3961 \n3 7177 2949 14391 \n3 8132 11558 10556 \n3 7203 14164 2977 \n3 14896 14163 14893 \n3 3174 4270 7597 \n3 14164 14649 2977 \n3 8952 11093 8964 \n3 14163 14896 5079 \n3 2855 4434 4461 \n3 11872 9759 11894 \n3 14901 14654 5108 \n3 2273 11131 2285 \n3 4763 3746 2808 \n3 4270 8695 7597 \n3 3298 2273 2285 \n3 12911 11934 10891 \n3 7324 14409 14407 \n3 400 3649 3331 \n3 9412 11657 10985 \n3 2285 2300 3324 \n3 13609 13607 14497 \n3 4228 3155 1980 \n3 9119 7930 5762 \n3 6882 9045 7939 \n3 14911 14914 7361 \n3 13691 13455 13694 \n3 3124 14410 14180 \n3 5186 14409 14909 \n3 9822 5314 11040 \n3 380 14744 3421 \n3 8584 4695 7488 \n3 6716 3364 5634 \n3 4209 2120 10706 \n3 14914 14412 7361 \n3 8714 8760 7692 \n3 14928 14921 11841 \n3 4427 5430 2457 \n3 11034 9954 10001 \n3 9244 9214 11455 \n3 14916 9515 14673 \n3 8111 14764 1756 \n3 14917 14921 13966 \n3 1978 3141 7579 \n3 5374 8668 3144 \n3 13765 11775 14192 \n3 11775 13765 14920 \n3 12492 5814 12511 \n3 10414 3417 3398 \n3 8666 1978 7579 \n3 14921 13972 13966 \n3 13325 13544 13066 \n3 13821 14984 14012 \n3 14928 13972 14921 \n3 4834 4807 6981 \n3 13144 14750 13839 \n3 14771 14516 1720 \n3 14201 7442 5348 \n3 9646 1698 7336 \n3 4223 1223 10231 \n3 14685 5301 13976 \n3 14012 12490 13586 \n3 14170 11796 3384 \n3 7777 7823 5648 \n3 14603 14599 223 \n3 14559 14819 13658 \n3 6981 9253 8084 \n3 1978 8666 4213 \n3 12652 13051 12419 \n3 14937 14938 14935 \n3 14141 4475 3481 \n3 4213 8666 6503 \n3 8971 8721 3764 \n3 199 5234 4218 \n3 1114 14695 14940 \n3 3417 9489 7320 \n3 14517 3982 14356 \n3 14940 14942 1130 \n3 14440 5455 14944 \n3 1300 3349 6382 \n3 14948 1212 14945 \n3 1212 5463 14945 \n3 14945 14946 14452 \n3 8115 3706 6009 \n3 4270 8688 8695 \n3 1212 14948 14950 \n3 5314 3080 11040 \n3 14746 14993 14489 \n3 1335 5555 1351 \n3 187 183 9832 \n3 14803 14802 14081 \n3 14354 5117 13297 \n3 14226 14705 1278 \n3 14222 14702 14705 \n3 9945 8964 11057 \n3 14950 13992 1264 \n3 5217 14410 3124 \n3 12897 12500 12499 \n3 9319 4386 14411 \n3 1296 14226 1285 \n3 9869 8631 3114 \n3 3437 13569 1326 \n3 14462 14710 14459 \n3 5298 5895 5680 \n3 14447 14944 5455 \n3 3006 4956 3957 \n3 9973 3530 3523 \n3 14106 1462 3467 \n3 14713 13800 14229 \n3 1377 3471 14461 \n3 480 2889 1688 \n3 3988 1688 2889 \n3 1425 14717 14716 \n3 1412 14465 14968 \n3 14234 1412 14233 \n3 1402 14965 14233 \n3 5933 4899 3890 \n3 4179 8713 3102 \n3 2210 6762 9031 \n3 14467 14718 3530 \n3 14232 14966 14715 \n3 5582 4441 7764 \n3 4441 4430 7764 \n3 14721 3545 14466 \n3 11453 10409 11422 \n3 14467 3549 14973 \n3 13813 14471 14468 \n3 14008 14724 5738 \n3 11034 11035 11960 \n3 12212 14008 5738 \n3 14468 3545 14721 \n3 12212 14471 14009 \n3 8850 6660 4371 \n3 10849 10866 12882 \n3 6639 5635 1665 \n3 8436 9646 7336 \n3 11544 11657 7339 \n3 14714 14462 14002 \n3 8552 9784 3017 \n3 14988 14733 3667 \n3 3637 14017 14476 \n3 1174 164 4161 \n3 2463 11965 3649 \n3 14734 14019 3670 \n3 10866 898 12882 \n3 13414 13873 13412 \n3 5573 4407 4428 \n3 641 489 523 \n3 14993 3696 14989 \n3 7360 10692 8460 \n3 14993 14740 14992 \n3 9064 1922 6474 \n3 3690 14745 14742 \n3 13557 14451 13348 \n3 14481 14740 14736 \n3 14493 14746 14489 \n3 9454 9878 9318 \n3 14746 14493 1996 \n3 3199 2221 6234 \n3 1639 1997 14750 \n3 14751 1997 14494 \n3 1591 1668 1592 \n3 9721 9736 9713 \n3 5995 14037 6035 \n3 3547 13019 8779 \n3 5952 1658 14755 \n3 5995 6035 3844 \n3 5702 8500 7103 \n3 1997 14751 14750 \n3 5967 14762 14761 \n3 8399 8681 8398 \n3 1679 14756 14494 \n3 8902 6671 6677 \n3 10137 5529 6660 \n3 10137 6660 8850 \n3 12006 11757 11536 \n3 14265 14758 3798 \n3 3124 14905 3095 \n3 1756 6000 14571 \n3 3413 9465 9488 \n3 5170 4127 8643 \n3 7834 8940 11000 \n3 14568 14824 14821 \n3 6713 7763 7657 \n3 10260 7963 7968 \n3 3884 6084 531 \n3 14507 3884 531 \n3 14276 887 1799 \n3 7634 7574 7637 \n3 6084 887 531 \n3 1799 1597 14276 \n3 780 5275 14323 \n3 7637 7640 7634 \n3 14531 13640 13639 \n3 2099 2264 2265 \n3 4104 11341 4096 \n3 14280 6151 14775 \n3 14280 14053 6151 \n3 3983 14052 14777 \n3 4964 4757 4862 \n3 14776 14279 2238 \n3 1177 3199 3211 \n3 2065 4582 2043 \n3 7819 2211 3177 \n3 206 11587 13674 \n3 10640 4699 8439 \n3 1846 4151 6367 \n3 13464 2204 2209 \n3 3730 14785 3917 \n3 14783 4410 14784 \n3 14781 1893 14058 \n3 14288 14783 14784 \n3 9699 9712 9705 \n3 9699 9705 8614 \n3 3806 6149 8284 \n3 9015 5199 6251 \n3 14477 14475 14243 \n3 1151 4125 3169 \n3 2202 7768 2189 \n3 14291 14786 14787 \n3 8302 14788 14534 \n3 14787 14789 13871 \n3 9713 8665 8622 \n3 7835 7877 8952 \n3 10599 4285 2031 \n3 12550 2363 329 \n3 6294 14300 14303 \n3 5929 8721 14304 \n3 5498 7703 6635 \n3 14640 4963 11395 \n3 4120 8552 3017 \n3 8622 8665 9699 \n3 14542 14801 4152 \n3 6882 11186 9045 \n3 7694 5482 7684 \n3 2060 2120 14550 \n3 14084 9570 14307 \n3 14723 13625 14748 \n3 14547 4252 14796 \n3 14544 10714 8407 \n3 14544 14802 10714 \n3 14313 12736 10720 \n3 12939 13418 13875 \n3 14078 14805 9070 \n3 9705 8641 8614 \n3 6347 6400 4822 \n3 14803 14312 10765 \n3 581 697 623 \n3 14810 2120 4209 \n3 2162 14810 4209 \n3 4097 5929 1973 \n3 12016 270 5181 \n3 12314 14560 14554 \n3 14813 14815 12246 \n3 11737 373 6189 \n3 14785 14289 3917 \n3 4274 14325 14326 \n3 200 235 264 \n3 8540 5235 6413 \n3 7848 6920 3964 \n3 13633 13192 5193 \n3 6135 57 3111 \n3 9502 9222 9219 \n3 14816 4363 4393 \n3 1766 6357 2954 \n3 14566 14564 14560 \n3 9057 2729 7003 \n3 5674 6170 5568 \n3 14821 4346 14568 \n3 8574 14328 2275 \n3 8574 14585 14328 \n3 7204 7471 5271 \n3 5130 1122 6177 \n3 14793 1405 14986 \n3 7922 12337 3696 \n3 4434 2855 14823 \n3 14334 2275 14328 \n3 2291 8595 14821 \n3 8576 10849 14821 \n3 2281 14826 14449 \n3 3465 5959 8460 \n3 1094 1102 3143 \n3 14449 14575 14566 \n3 11580 12252 12251 \n3 14100 14099 14825 \n3 2281 2315 39 \n3 4523 2320 2317 \n3 7132 7264 7131 \n3 7317 14906 7321 \n3 7517 13684 7531 \n3 14581 4523 2317 \n3 13554 13552 13083 \n3 2396 50 2315 \n3 4539 14343 14838 \n3 4547 6642 14833 \n3 579 10948 8512 \n3 2431 14840 14588 \n3 2912 11009 3788 \n3 14839 14592 14591 \n3 4746 5885 8004 \n3 4547 14583 2450 \n3 4093 1094 3143 \n3 1061 1329 1261 \n3 4083 1042 1063 \n3 1084 3126 4092 \n3 14603 223 14846 \n3 2506 2459 2529 \n3 14841 2505 2504 \n3 14595 2529 14843 \n3 9292 9903 11569 \n3 14834 14341 2378 \n3 150 184 155 \n3 594 520 452 \n3 2718 7130 6098 \n3 4469 3462 298 \n3 2899 9991 6931 \n3 9420 9385 9382 \n3 9861 14845 1079 \n3 1079 14845 9420 \n3 14845 9991 2899 \n3 9861 900 14845 \n3 900 9991 14845 \n3 8163 6033 8171 \n3 8171 10576 8163 \n3 14648 7080 7034 \n3 6358 7080 14648 \n3 6679 4647 173 \n3 9113 10198 12260 \n3 12260 14317 14310 \n3 14327 14317 11256 \n3 11256 10198 9130 \n3 5205 6251 5199 \n3 9103 6251 9104 \n3 14317 12260 11256 \n3 5205 9104 6251 \n3 12260 10198 11256 \n3 9126 10198 10192 \n3 9126 9130 10198 \n3 10192 7197 9126 \n3 5207 7197 10192 \n3 6249 6251 9103 \n3 5205 10192 9104 \n3 8398 8393 8110 \n3 8681 8393 8398 \n3 8398 8275 8399 \n3 8275 8398 7972 \n3 6205 6343 6626 \n3 6628 6216 6206 \n3 6205 6628 6206 \n3 8152 8005 8421 \n3 39 14826 2281 \n3 2396 14342 50 \n3 2315 50 39 \n3 14096 14575 14102 \n3 13682 13675 13897 \n3 14102 14337 13897 \n3 14102 13675 14096 \n3 13897 13675 14102 \n3 14110 13897 14337 \n3 14337 14342 14110 \n3 14337 14826 39 \n3 39 14342 14337 \n3 39 50 14342 \n3 2396 4481 8661 \n3 12969 8661 4481 \n3 4481 2587 12969 \n3 13448 12980 13446 \n3 13446 12580 12766 \n3 12580 13446 12980 \n3 12574 12973 12576 \n3 104 41 62 \n3 235 213 286 \n3 190 234 213 \n3 10 19 24 \n3 179 203 178 \n3 994 1245 1194 \n3 14326 14325 13888 \n3 14994 11195 11193 \n3 10082 10723 11195 \n3 14994 10732 11195 \n3 9337 14570 8925 \n3 13440 14996 14099 \n3 13659 13207 13655 \n3 14996 14574 14099 \n3 13207 14996 13655 \n3 13664 13207 14995 \n3 13440 12959 14996 \n3 13207 14331 14996 \n3 13207 13659 14995 \n3 14574 14996 14331 \n3 12959 14998 13655 \n3 14998 14997 13655 \n3 2440 1999 2445 \n3 2641 2161 2252 \n3 2440 2641 2252 \n3 2002 2445 1999 \n3 15000 1790 2002 \n3 15000 2002 1999 \n3 1789 1787 14999 \n3 2161 1868 2252 \n3 1868 2161 1789 \n3 1789 14999 1868 \n3 1789 2161 1871 \n3 1428 15001 1495 \n3 1789 15001 1787 \n3 1866 1787 1786 \n3 1787 1866 14999 \n3 1788 1787 15001 \n3 2080 1999 2440 \n3 12102 12335 11892 \n3 11892 12953 12102 \n3 4342 14585 4385 \n3 2203 14326 4342 \n3 4200 4334 4199 \n3 4334 4200 4331 \n3 4968 4967 4755 \n"
  },
  {
    "path": "data/banana.obj",
    "content": "####\n#\n# OBJ File Generated by Meshlab\n#\n####\n# Object banana.obj\n#\n# Vertices: 252\n# Faces: 500\n#\n####\nvn 0.437976 -3.893743 3.826568\nv -0.076439 -0.012557 0.035998\nvn -1.156232 -5.126514 3.000010\nv 0.050344 -0.017782 0.022810\nvn -2.029675 -3.660123 3.325403\nv 0.077890 -0.013426 0.045534\nvn 0.459932 -6.170238 0.255211\nv 0.075740 -0.020939 0.017139\nvn 1.015239 -5.987115 1.239341\nv 0.088742 -0.017220 0.033857\nvn -0.408162 -4.800239 -3.420331\nv 0.012778 -0.017065 -0.013507\nvn -0.689805 -0.003759 -6.164277\nv 0.006093 0.000120 -0.017951\nvn 0.316572 -0.013004 -6.172024\nv 0.033741 0.000123 -0.019292\nvn 1.900154 -0.012934 -5.867229\nv 0.062368 0.000125 -0.014212\nvn 4.039870 -0.017191 -4.552709\nv 0.088362 0.000133 -0.000523\nvn -0.962921 3.051803 -5.124444\nv -0.009195 0.015733 -0.012207\nvn -0.624244 3.300453 -4.931348\nv 0.006829 0.016063 -0.014529\nvn 0.243549 3.257658 -4.949464\nv 0.033652 0.016476 -0.015728\nvn 1.545325 3.348103 -4.536478\nv 0.061394 0.016753 -0.010734\nvn -0.606292 6.019860 -1.615319\nv -0.028810 0.017479 -0.004115\nvn -0.261416 6.243115 0.030193\nv -0.020477 0.019631 0.007354\nvn 0.460916 6.210313 0.244545\nv 0.075740 0.021204 0.017139\nvn -0.500926 3.245778 5.000864\nv 0.030584 0.016419 0.021042\nvn -1.705994 3.250063 4.737736\nv 0.049645 0.016692 0.024725\nvn -0.446683 -0.011867 6.245491\nv 0.030126 0.000123 0.023818\nvn -1.982121 -0.011371 5.939839\nv 0.048584 0.000125 0.027362\nvn -3.101621 -2.793882 4.557862\nv 0.066610 -0.015347 0.033864\nvn 2.817597 -4.623826 0.049234\nv 0.098738 -0.003819 0.067968\nvn 5.813076 -0.033247 -1.793501\nv 0.103149 0.000178 0.022115\nvn -3.744121 -0.027860 5.014519\nv 0.063118 0.000133 0.034802\nvn 6.090828 0.139229 0.517044\nv 0.100339 0.000379 0.064190\nvn -0.019156 -6.056301 1.561816\nv 0.078064 -0.018514 0.030753\nvn -0.404174 -6.144271 1.178472\nv 0.050066 -0.020154 0.013931\nvn -0.657744 -5.952709 1.715939\nv -0.085556 -0.013001 0.033079\nvn 1.726181 -5.986084 -0.104809\nv 0.088409 -0.018514 0.019845\nvn -1.122436 -4.005200 -3.721635\nv -0.036830 -0.015197 -0.005370\nvn 6.082638 -1.153731 -0.150993\nv 0.104129 -0.005028 0.033846\nvn 5.080319 -1.346171 -3.230042\nv 0.096811 -0.006845 0.010988\nvn 2.832179 -1.359181 -5.345363\nv 0.075728 -0.007536 -0.007618\nvn 1.055166 -1.370211 -5.984339\nv 0.047899 -0.007437 -0.016655\nvn -0.315297 -1.366385 -6.084985\nv 0.019606 -0.007284 -0.018134\nvn -2.262934 -1.711442 -5.537898\nv -0.072492 -0.007377 0.003592\nvn -1.967206 -1.409655 -5.762027\nv -0.057048 -0.006554 -0.002308\nvn 5.095987 1.284570 -3.248739\nv 0.096811 0.007377 0.010988\nvn 2.838302 1.279803 -5.370966\nv 0.075728 0.008041 -0.007618\nvn 1.057542 1.290932 -6.007920\nv 0.047899 0.007935 -0.016655\nvn -0.320860 1.292573 -6.104707\nv 0.019606 0.007772 -0.018134\nvn -4.937237 0.441283 -3.322030\nv -0.107132 -0.000176 0.026566\nvn -3.293119 1.244138 -5.133260\nv -0.091598 0.005349 0.012643\nvn 1.488508 6.064632 0.085367\nv 0.088409 0.019046 0.019845\nvn -1.192903 6.035299 0.282616\nv -0.087785 0.014403 0.025890\nvn 0.382450 4.764866 3.330144\nv -0.069647 0.014191 0.033623\nvn -2.840569 1.045273 5.490856\nv 0.056702 0.008041 0.029823\nvn -1.181290 1.039359 6.074437\nv 0.039892 0.007935 0.024276\nvn 1.079877 1.072734 6.071440\nv -0.081016 0.005573 0.039091\nvn -2.841706 -1.092441 5.479970\nv 0.056702 -0.007536 0.029823\nvn -1.180373 -1.087663 6.065482\nv 0.039892 -0.007437 0.024276\nvn 1.198379 -1.126500 6.051294\nv -0.048617 -0.006260 0.031974\nvn -1.890289 -1.756817 3.088952\nv -0.112781 -0.002644 0.042418\nvn 3.935394 3.422200 1.412618\nv 0.101687 0.009592 0.047396\nvn -5.315442 -0.167488 2.951876\nv 0.090081 0.000252 0.061068\nvn -3.166166 -1.299257 -0.272535\nv -0.114828 -0.003286 0.037736\nvn -2.013891 1.513211 1.573808\nv -0.113368 0.003496 0.042061\nvn -1.656028 -1.604897 1.679403\nv 0.092270 -0.003849 0.082904\nvn 1.435557 -2.135023 1.262824\nv 0.099860 -0.005479 0.081207\nvn 2.415261 1.566524 1.117635\nv 0.102112 0.004385 0.080175\nvn 0.030803 -5.995958 1.857730\nv -0.065050 -0.014525 0.030195\nvn 0.010930 -6.005352 1.840711\nv 0.003576 -0.017585 0.017670\nvn 0.042194 -5.032368 3.255023\nv 0.017530 -0.017197 0.018987\nvn -0.520014 -5.115609 3.206255\nv 0.035629 -0.017570 0.019388\nvn -1.789466 -3.864587 3.698314\nv 0.057482 -0.016967 0.027571\nvn 0.502607 -5.109000 3.279914\nv -0.064506 -0.013772 0.032315\nvn -1.254962 -6.016471 0.044269\nv -0.088162 -0.014082 0.025137\nvn -0.668439 -6.173138 0.162941\nv -0.074803 -0.016064 0.021286\nvn -0.375408 -6.210945 0.094265\nv -0.052495 -0.017742 0.014634\nvn -0.292442 -6.220286 0.035742\nv -0.031372 -0.018916 0.009533\nvn -0.217444 -6.222869 0.017008\nv -0.009318 -0.019825 0.005431\nvn -0.156774 -6.227637 -0.024345\nv 0.013910 -0.020502 0.002674\nvn -0.090500 -6.230927 -0.109127\nv 0.037935 -0.020990 0.002615\nvn 0.083209 -6.211427 -0.031897\nv 0.064392 -0.021377 0.009801\nvn 0.839819 -6.098460 0.729437\nv 0.083317 -0.019466 0.025214\nvn 1.737095 -5.640736 1.737833\nv 0.093224 -0.014486 0.040718\nvn -0.533439 -5.978670 -1.835815\nv -0.011106 -0.017267 -0.007539\nvn -0.200211 -6.114930 -1.306199\nv 0.016423 -0.019511 -0.005753\nvn 3.441101 -3.683444 -1.800852\nv 0.094811 -0.015848 0.013042\nvn 4.133582 -3.495662 0.508556\nv 0.102336 -0.011733 0.035045\nvn -1.515872 -4.275236 -3.446165\nv -0.068697 -0.013869 0.005149\nvn -2.443279 -3.689177 -3.017881\nv -0.091085 -0.011510 0.014699\nvn -1.685294 -3.210796 -4.855748\nv -0.052821 -0.013388 -0.001412\nvn -1.053540 -2.945112 -5.246367\nv -0.011046 -0.014610 -0.011910\nvn -0.360101 -2.707551 -5.537149\nv 0.019500 -0.014629 -0.015869\nvn 0.648912 -3.856132 -3.799028\nv 0.047016 -0.017153 -0.013704\nvn 1.838722 -3.778262 -3.390699\nv 0.074231 -0.017393 -0.004923\nvn -3.276023 -0.487707 -5.152699\nv -0.091927 -0.001225 0.011995\nvn -2.241394 0.039499 -5.766243\nv -0.072296 0.000099 0.002252\nvn -1.579685 -0.011449 -5.994428\nv -0.034786 0.000109 -0.009972\nvn 5.119518 -0.019721 -3.319932\nv 0.097509 0.000151 0.010251\nvn 6.091532 0.386534 -0.194017\nv 0.104788 0.001600 0.033513\nvn -1.935696 1.400398 -5.769755\nv -0.055908 0.007159 -0.002655\nvn -0.237534 3.221118 -5.030653\nv 0.019927 0.016287 -0.015673\nvn 0.777681 3.297043 -4.825086\nv 0.047602 0.016630 -0.014148\nvn 2.247313 3.179677 -4.414475\nv 0.074656 0.016865 -0.005305\nvn 3.360102 3.689005 -1.720924\nv 0.094877 0.016892 0.013185\nvn 4.143600 3.370266 0.550734\nv 0.102316 0.012699 0.035191\nvn 3.124896 4.258315 1.794140\nv 0.099321 0.005314 0.060364\nvn -2.344884 3.774005 -2.851653\nv -0.091021 0.012263 0.014630\nvn -1.535320 3.875632 -3.386832\nv -0.071453 0.014437 0.005425\nvn -0.783473 6.045007 -1.480905\nv -0.055086 0.016187 0.003206\nvn -0.382172 6.022781 -1.672302\nv 0.001009 0.018437 -0.009625\nvn -0.273460 5.364007 -2.803570\nv 0.017206 0.018313 -0.013185\nvn 0.633202 5.322732 -2.722634\nv 0.053840 0.018915 -0.010261\nvn 1.182808 5.451761 -2.383633\nv 0.073255 0.019083 -0.002942\nvn -0.629822 6.198586 0.190571\nv -0.074565 0.016286 0.021110\nvn -0.386922 6.236726 0.073322\nv -0.052495 0.017952 0.014634\nvn -0.185132 6.247075 -0.001475\nv 0.002135 0.020429 0.003831\nvn -0.125593 6.249057 -0.061702\nv 0.028296 0.021067 0.002011\nvn -0.064524 6.250651 -0.069792\nv 0.049700 0.021408 0.005132\nvn 0.082904 6.240944 0.011951\nv 0.066271 0.021612 0.010992\nvn 0.620215 6.110952 0.928365\nv 0.082482 0.019691 0.026988\nvn -0.420276 5.821689 1.970537\nv -0.078539 0.014300 0.032609\nvn -0.205078 6.171525 1.060718\nv -0.066314 0.016256 0.025276\nvn 0.002550 6.082559 1.549696\nv -0.028957 0.017228 0.022477\nvn -0.023500 6.067047 1.609520\nv 0.009118 0.018574 0.017097\nvn -0.744821 5.645085 2.380081\nv 0.047259 0.018976 0.020689\nvn 0.589087 2.964732 5.412492\nv -0.011550 0.015870 0.023438\nvn 0.590003 3.248125 4.747289\nv -0.081996 0.010992 0.037999\nvn 0.082335 3.167243 5.095729\nv 0.020425 0.016232 0.020854\nvn -0.944312 3.145304 5.055906\nv 0.040480 0.016569 0.022355\nvn -2.439250 2.909333 4.812377\nv 0.057765 0.016787 0.028107\nvn -3.189711 3.184125 3.921096\nv 0.071279 0.015357 0.038569\nvn 0.715200 -0.020101 6.213546\nv -0.005180 0.000133 0.025652\nvn -2.871486 -0.018764 5.564131\nv 0.056325 0.000126 0.030565\nvn -4.378364 -0.010742 4.469171\nv 0.069727 0.000280 0.040916\nvn 1.088304 -1.263966 6.017690\nv -0.081436 -0.005604 0.039110\nvn 0.762002 -2.922246 5.292857\nv -0.028056 -0.014005 0.026299\nvn 0.690286 -1.240900 6.103383\nv -0.004956 -0.007737 0.024726\nvn 0.022287 -2.680731 5.553621\nv 0.019891 -0.014550 0.021050\nvn -1.181664 -2.617926 5.492235\nv 0.040118 -0.014867 0.022475\nvn -1.197649 -5.523206 2.423699\nv 0.071857 -0.016645 0.035644\nvn 0.373727 -5.100878 3.425277\nv -0.028622 -0.015622 0.024820\nvn 0.417037 -3.886011 4.134657\nv -0.006026 -0.015977 0.022360\nvn -0.560314 -5.936710 1.849754\nv 0.096102 -0.004905 0.061083\nvn 0.187593 -5.863017 2.105739\nv 0.084455 -0.015711 0.040285\nvn -0.373238 -6.096772 1.317191\nv 0.070665 -0.019780 0.024318\nvn -0.140673 -6.158922 1.184364\nv 0.023822 -0.019765 0.009561\nvn -1.498523 -5.756721 1.753575\nv -0.094454 -0.011305 0.034113\nvn -0.266247 -6.110296 1.309291\nv -0.071916 -0.015458 0.026742\nvn -0.050170 -6.147810 1.227840\nv -0.029968 -0.017961 0.016817\nvn 2.185391 -5.770557 0.676183\nv 0.093912 -0.016375 0.029643\nvn 1.213327 -6.062162 -0.730587\nv 0.080269 -0.019916 0.010802\nvn 0.586926 -6.097822 -1.189661\nv 0.067406 -0.020330 0.002431\nvn 0.081828 -6.114446 -1.314383\nv 0.038912 -0.019971 -0.005095\nvn -1.934601 -5.794462 0.309047\nv -0.095744 -0.012093 0.028716\nvn -1.030553 -6.060104 -1.093437\nv -0.075387 -0.015340 0.014716\nvn -0.714987 -6.088986 -1.233320\nv -0.053958 -0.016875 0.008170\nvn -0.569761 -6.105002 -1.247669\nv -0.032638 -0.017992 0.002581\nvn -0.404949 -6.130933 -1.215786\nv -0.010326 -0.018856 -0.001905\nvn 4.184615 -3.345130 1.352003\nv 0.101966 -0.008479 0.046565\nvn 3.944533 -3.561609 -0.666497\nv 0.100443 -0.013990 0.024309\nvn -0.655523 -4.960690 -3.360152\nv -0.008915 -0.016378 -0.010771\nvn 2.658103 -3.701114 -2.722379\nv 0.085935 -0.017061 0.002792\nvn 1.120950 -3.841767 -3.677850\nv 0.060807 -0.017281 -0.010355\nvn 0.122520 -3.862285 -3.873718\nv 0.033074 -0.016995 -0.015222\nvn -0.688427 -2.840908 -5.415399\nv 0.006162 -0.014431 -0.014663\nvn -3.175261 -3.436989 -2.419640\nv -0.099800 -0.009605 0.020690\nvn -2.013176 -3.761503 -3.371899\nv -0.081672 -0.012734 0.009753\nvn 5.768996 -1.291259 -1.693017\nv 0.102440 -0.006027 0.022693\nvn 4.009401 -1.353336 -4.470722\nv 0.087741 -0.007382 0.000346\nvn 1.868806 -1.365272 -5.777454\nv 0.062029 -0.007493 -0.013189\nvn 0.307443 -1.373309 -6.072684\nv 0.033654 -0.007368 -0.018231\nvn -0.864538 -1.364354 -6.030823\nv 0.000872 -0.007143 -0.016299\nvn -2.789061 -0.421627 -5.456889\nv -0.082398 -0.001288 0.006685\nvn -1.660258 -1.453281 -5.843774\nv -0.040183 -0.006999 -0.007391\nvn -1.373605 -1.442127 -5.910668\nv -0.024381 -0.007165 -0.011451\nvn 5.785949 1.267815 -1.665132\nv 0.102440 0.006587 0.022693\nvn 4.020145 1.288437 -4.493027\nv 0.087741 0.007895 0.000346\nvn 1.873849 1.286060 -5.800856\nv 0.062029 0.007995 -0.013189\nvn 0.306598 1.293633 -6.096336\nv 0.033654 0.007862 -0.018231\nvn -0.851849 1.297594 -6.052330\nv 0.001403 0.007676 -0.016362\nvn -4.093120 -0.094096 -4.369206\nv -0.099803 -0.000145 0.017576\nvn -2.558347 1.249222 -5.540658\nv -0.078222 0.006003 0.005528\nvn -1.697020 1.408591 -5.842138\nv -0.040533 0.007484 -0.007287\nvn -1.367537 1.362058 -5.937748\nv -0.023936 0.007536 -0.011571\nvn 3.864976 3.549558 -0.612890\nv 0.100457 0.015005 0.024460\nvn 2.564338 3.700354 -2.625212\nv 0.086021 0.018139 0.002882\nvn 0.051732 5.470597 -2.673306\nv 0.032966 0.018651 -0.013056\nvn -3.187847 3.369737 -2.253285\nv -0.099655 0.010230 0.020503\nvn -2.008170 3.814800 -3.161427\nv -0.081505 0.013558 0.009656\nvn -1.341595 3.942381 -3.725321\nv -0.055000 0.015195 -0.000137\nvn -1.146586 3.914420 -3.818816\nv -0.033424 0.016186 -0.006280\nvn -0.691826 5.221568 -2.985205\nv -0.010504 0.017353 -0.010288\nvn 1.853053 5.845922 1.018701\nv 0.094570 0.016371 0.032915\nvn 1.027996 6.133596 -0.544176\nv 0.080269 0.020429 0.010802\nvn 0.471771 6.169200 -0.912902\nv 0.067940 0.020867 0.002977\nvn 0.044328 6.179160 -1.023406\nv 0.039995 0.020486 -0.004943\nvn -0.196627 6.186169 -0.981668\nv 0.015463 0.020049 -0.005246\nvn -1.828018 5.799106 0.573466\nv -0.095545 0.012391 0.029215\nvn -1.007923 6.119529 -0.800063\nv -0.076274 0.015664 0.015293\nvn -0.640042 6.176633 -0.861249\nv -0.053958 0.017295 0.008170\nvn -0.518044 6.186690 -0.867034\nv -0.032638 0.018439 0.002581\nvn -0.371769 6.184965 -0.951048\nv -0.010326 0.019325 -0.001905\nvn 0.829313 5.977593 1.482632\nv 0.087784 0.017429 0.035463\nvn -0.176310 6.170000 1.034233\nv 0.069770 0.020619 0.022471\nvn -0.307810 6.201996 0.901315\nv 0.047650 0.020624 0.012939\nvn -0.163506 6.206481 0.915073\nv 0.027298 0.020284 0.009960\nvn -0.083076 6.200792 0.952599\nv -0.008183 0.019297 0.013149\nvn -0.125494 6.193992 0.974878\nv -0.040627 0.017901 0.018897\nvn -0.914362 5.461530 2.469956\nv 0.075726 0.016561 0.039724\nvn -1.279076 5.226172 2.574659\nv 0.065040 0.018736 0.029894\nvn -0.219584 5.642307 2.464489\nv 0.027527 0.018676 0.017724\nvn 0.067466 5.297809 3.121424\nv 0.010970 0.017827 0.019413\nvn 0.294733 5.163329 3.177923\nv -0.028622 0.016517 0.024820\nvn -3.234559 2.693495 4.506387\nv 0.064723 0.015688 0.032742\nvn 0.474272 2.902110 5.340469\nv 0.005558 0.015793 0.021818\nvn 1.031573 2.378067 5.658416\nv -0.045321 0.013512 0.029626\nvn -4.315512 1.017123 4.422430\nv 0.077747 0.005939 0.048197\nvn -3.827461 1.062416 4.844506\nv 0.064785 0.007634 0.035017\nvn -1.961907 1.036445 5.867768\nv 0.048846 0.007995 0.026574\nvn -0.442822 1.040156 6.172232\nv 0.030195 0.007862 0.023001\nvn 0.229987 1.048377 6.184067\nv 0.017022 0.007834 0.022852\nvn 1.206874 1.072197 6.061666\nv -0.048617 0.006679 0.031974\nvn 0.953954 1.098156 6.104787\nv -0.024482 0.008030 0.027410\nvn 0.745985 0.951576 6.161842\nv -0.005493 0.007497 0.024897\nvn -4.247461 -1.086015 4.462677\nv 0.077851 -0.005421 0.048280\nvn -3.830683 -1.131238 4.826045\nv 0.064985 -0.007463 0.035109\nvn -1.960050 -1.084969 5.859134\nv 0.048846 -0.007493 0.026574\nvn -0.453791 -1.095166 6.161320\nv 0.030195 -0.007368 0.023001\nvn 0.221911 -1.082653 6.177219\nv 0.017355 -0.007126 0.022875\nvn 0.971633 -1.096691 6.099989\nv -0.027414 -0.006677 0.028029\nvn -1.853122 -2.659776 5.268775\nv 0.049317 -0.014987 0.024810\nvn -0.368242 -2.655388 5.579211\nv 0.030216 -0.014721 0.021203\nvn 0.513021 -2.457809 5.687240\nv 0.009105 -0.014340 0.021692\nvn 1.049507 -2.075722 5.815835\nv -0.048950 -0.012251 0.030471\nvn -0.327867 -3.442115 4.001818\nv -0.092598 -0.009543 0.039759\nvn -2.235488 -5.706964 0.920383\nv -0.103505 -0.008201 0.033516\nvn -2.396494 5.707689 0.611687\nv -0.104282 0.008067 0.033857\nvn -0.338639 3.502176 3.692636\nv -0.092524 0.010342 0.039672\nvn 0.610675 0.041777 6.107992\nv -0.092235 0.000303 0.041586\nvn -2.704066 3.964823 2.742899\nv 0.091074 0.005142 0.060923\nvn -3.136210 -4.040877 2.513969\nv 0.091527 -0.003899 0.061697\nvn 1.303099 -5.437853 2.461528\nv 0.094128 -0.010984 0.049431\nvn 6.047474 0.018332 0.850718\nv 0.103945 0.000282 0.045635\nvn 1.062323 5.680820 2.183067\nv 0.091440 0.013856 0.045153\nvn -1.925973 3.580876 3.439605\nv 0.081057 0.012493 0.049202\nvn 3.074373 4.658151 -0.288482\nv 0.098938 0.004418 0.067306\nvn -0.764021 1.150178 1.442404\nv 0.092970 0.005455 0.084556\nvn -1.958576 0.003741 -5.882948\nv -0.056349 0.000103 -0.003553\nvn -1.147247 -0.011095 -6.075960\nv -0.010466 0.000139 -0.015452\nvn -0.312557 -0.007515 -6.185231\nv 0.019590 0.000122 -0.019187\nvn 1.075459 -0.012996 -6.079799\nv 0.048105 0.000125 -0.017708\nvn 2.867290 -0.014162 -5.428096\nv 0.076217 0.000126 -0.008581\nvn 1.174389 -0.018720 6.123449\nv -0.081301 0.000133 0.039735\nvn 1.223582 -0.012542 6.131676\nv -0.048466 0.000105 0.032658\nvn 1.015293 -0.002088 6.170557\nv -0.027502 0.000114 0.028799\nvn 0.235654 -0.001772 6.256077\nv 0.017230 0.000189 0.023668\nvn -1.191619 -0.011269 6.147082\nv 0.039733 0.000125 0.025087\nvn -6.265123 0.140102 0.420937\nv 0.092067 0.000669 0.074949\n# 252 vertices, 0 vertices normals\n\nf 54//54 58//58 57//57\nf 58//58 43//43 57//57\nf 241//241 59//59 60//60\nf 59//59 241//241 252//252\nf 61//61 241//241 60//60\nf 64//64 136//136 63//63\nf 140//140 143//143 72//72\nf 140//140 72//72 73//73\nf 143//143 140//140 63//63\nf 79//79 152//152 78//78\nf 79//79 78//78 6//6\nf 152//152 79//79 73//73\nf 152//152 73//73 72//72\nf 155//155 6//6 78//78\nf 85//85 159//159 6//6\nf 85//85 6//6 155//155\nf 166//166 169//169 243//243\nf 166//166 243//243 7//7\nf 166//166 159//159 85//85\nf 169//169 166//166 85//85\nf 174//174 178//178 11//11\nf 174//174 11//11 12//12\nf 174//174 7//7 243//243\nf 178//178 174//174 243//243\nf 186//186 15//15 104//104\nf 105//105 186//186 104//104\nf 186//186 105//105 12//12\nf 186//186 12//12 11//11\nf 196//196 16//16 110//110\nf 191//191 196//196 110//110\nf 196//196 191//191 104//104\nf 196//196 104//104 15//15\nf 201//201 117//117 118//118\nf 201//201 110//110 16//16\nf 206//206 118//118 117//117\nf 120//120 217//217 209//209\nf 120//120 209//209 206//206\nf 215//215 218//218 126//126\nf 215//215 126//126 250//250\nf 218//218 215//215 209//209\nf 218//218 209//209 217//217\nf 223//223 131//131 227//227\nf 131//131 223//223 250//250\nf 131//131 250//250 126//126\nf 227//227 136//136 64//64\nf 136//136 227//227 131//131\nf 134//134 3//3 22//22\nf 66//66 2//2 139//139\nf 134//134 66//66 139//139\nf 66//66 134//134 22//22\nf 229//229 29//29 1//1\nf 67//67 1//1 62//62\nf 67//67 135//135 130//130\nf 135//135 67//67 62//62\nf 135//135 62//62 63//63\nf 135//135 136//136 130//130\nf 136//136 135//135 63//63\nf 235//235 23//23 59//59\nf 138//138 5//5 77//77\nf 236//236 138//138 77//77\nf 138//138 236//236 3//3\nf 27//27 139//139 4//4\nf 27//27 4//4 76//76\nf 138//138 27//27 76//76\nf 138//138 76//76 5//5\nf 27//27 138//138 3//3\nf 27//27 3//3 134//134\nf 139//139 27//27 134//134\nf 139//139 28//28 75//75\nf 139//139 75//75 4//4\nf 28//28 139//139 2//2\nf 28//28 140//140 74//74\nf 28//28 74//74 75//75\nf 28//28 2//2 65//65\nf 140//140 28//28 65//65\nf 140//140 73//73 74//74\nf 140//140 65//65 64//64\nf 140//140 64//64 63//63\nf 230//230 141//141 229//229\nf 141//141 230//230 148//148\nf 29//29 142//142 1//1\nf 141//141 29//29 229//229\nf 29//29 141//141 148//148\nf 29//29 148//148 68//68\nf 142//142 29//29 68//68\nf 142//142 68//68 69//69\nf 142//142 62//62 1//1\nf 142//142 69//69 70//70\nf 143//143 63//63 62//62\nf 142//142 143//143 62//62\nf 143//143 142//142 70//70\nf 143//143 70//70 71//71\nf 143//143 71//71 72//72\nf 77//77 144//144 154//154\nf 77//77 154//154 81//81\nf 236//236 77//77 81//81\nf 236//236 81//81 153//153\nf 144//144 77//77 5//5\nf 30//30 145//145 156//156\nf 30//30 156//156 80//80\nf 144//144 30//30 80//80\nf 144//144 80//80 154//154\nf 30//30 144//144 5//5\nf 30//30 5//5 76//76\nf 145//145 30//30 76//76\nf 145//145 76//76 4//4\nf 146//146 157//157 88//88\nf 145//145 146//146 88//88\nf 145//145 88//88 156//156\nf 146//146 145//145 4//4\nf 146//146 4//4 75//75\nf 147//147 158//158 87//87\nf 146//146 147//147 87//87\nf 146//146 87//87 157//157\nf 147//147 146//146 75//75\nf 147//147 75//75 74//74\nf 147//147 79//79 158//158\nf 79//79 147//147 74//74\nf 79//79 74//74 73//73\nf 148//148 230//230 160//160\nf 68//68 149//149 69//69\nf 68//68 148//148 160//160\nf 68//68 160//160 83//83\nf 149//149 68//68 83//83\nf 149//149 83//83 161//161\nf 149//149 150//150 70//70\nf 149//149 70//70 69//69\nf 150//150 151//151 71//71\nf 150//150 71//71 70//70\nf 151//151 152//152 72//72\nf 151//151 72//72 71//71\nf 152//152 151//151 78//78\nf 6//6 158//158 79//79\nf 82//82 150//150 149//149\nf 161//161 82//82 149//149\nf 31//31 151//151 150//150\nf 82//82 31//31 150//150\nf 31//31 82//82 84//84\nf 31//31 155//155 78//78\nf 31//31 78//78 151//151\nf 155//155 31//31 85//85\nf 86//86 158//158 6//6\nf 159//159 86//86 6//6\nf 37//37 84//84 82//82\nf 161//161 37//37 82//82\nf 84//84 37//37 38//38\nf 31//31 84//84 168//168\nf 31//31 168//168 169//169\nf 85//85 31//31 169//169\nf 32//32 162//162 24//24\nf 32//32 24//24 93//93\nf 237//237 32//32 93//93\nf 32//32 237//237 153//153\nf 32//32 153//153 81//81\nf 162//162 32//32 81//81\nf 162//162 81//81 154//154\nf 33//33 163//163 10//10\nf 33//33 10//10 92//92\nf 162//162 33//33 92//92\nf 162//162 92//92 24//24\nf 33//33 162//162 154//154\nf 33//33 154//154 80//80\nf 163//163 33//33 80//80\nf 163//163 80//80 156//156\nf 34//34 164//164 9//9\nf 34//34 9//9 246//246\nf 163//163 34//34 246//246\nf 163//163 246//246 10//10\nf 34//34 163//163 156//156\nf 34//34 156//156 88//88\nf 164//164 34//34 88//88\nf 164//164 88//88 157//157\nf 35//35 165//165 8//8\nf 35//35 8//8 245//245\nf 164//164 35//35 245//245\nf 164//164 245//245 9//9\nf 35//35 164//164 157//157\nf 35//35 157//157 87//87\nf 165//165 35//35 87//87\nf 165//165 87//87 158//158\nf 36//36 166//166 7//7\nf 36//36 7//7 244//244\nf 165//165 36//36 244//244\nf 165//165 244//244 8//8\nf 36//36 165//165 158//158\nf 36//36 158//158 86//86\nf 166//166 36//36 86//86\nf 166//166 86//86 159//159\nf 43//43 175//175 160//160\nf 89//89 167//167 161//161\nf 89//89 161//161 83//83\nf 175//175 89//89 83//83\nf 175//175 83//83 160//160\nf 167//167 37//37 161//161\nf 37//37 167//167 90//90\nf 38//38 37//37 90//90\nf 38//38 90//90 242//242\nf 38//38 168//168 84//84\nf 168//168 38//38 242//242\nf 168//168 242//242 91//91\nf 169//169 168//168 91//91\nf 169//169 91//91 243//243\nf 93//93 170//170 179//179\nf 93//93 179//179 99//99\nf 237//237 93//93 99//99\nf 237//237 99//99 55//55\nf 170//170 93//93 24//24\nf 39//39 171//171 180//180\nf 39//39 180//180 98//98\nf 170//170 39//39 98//98\nf 170//170 98//98 179//179\nf 39//39 170//170 24//24\nf 39//39 24//24 92//92\nf 171//171 39//39 92//92\nf 171//171 92//92 10//10\nf 40//40 172//172 14//14\nf 40//40 14//14 97//97\nf 171//171 40//40 97//97\nf 171//171 97//97 180//180\nf 40//40 171//171 10//10\nf 40//40 10//10 246//246\nf 172//172 40//40 246//246\nf 172//172 246//246 9//9\nf 41//41 173//173 13//13\nf 41//41 13//13 96//96\nf 172//172 41//41 96//96\nf 172//172 96//96 14//14\nf 41//41 172//172 9//9\nf 41//41 9//9 245//245\nf 173//173 41//41 245//245\nf 173//173 245//245 8//8\nf 42//42 174//174 12//12\nf 42//42 12//12 95//95\nf 173//173 42//42 95//95\nf 173//173 95//95 13//13\nf 42//42 173//173 8//8\nf 42//42 8//8 244//244\nf 174//174 42//42 244//244\nf 174//174 244//244 7//7\nf 175//175 43//43 182//182\nf 44//44 176//176 167//167\nf 44//44 167//167 89//89\nf 175//175 44//44 89//89\nf 44//44 175//175 182//182\nf 44//44 182//182 101//101\nf 176//176 44//44 101//101\nf 176//176 101//101 183//183\nf 176//176 94//94 242//242\nf 176//176 242//242 90//90\nf 176//176 90//90 167//167\nf 176//176 183//183 102//102\nf 94//94 176//176 102//102\nf 94//94 177//177 91//91\nf 94//94 91//91 242//242\nf 178//178 243//243 91//91\nf 177//177 178//178 91//91\nf 102//102 184//184 94//94\nf 184//184 185//185 177//177\nf 184//184 177//177 94//94\nf 185//185 11//11 178//178\nf 185//185 178//178 177//177\nf 107//107 180//180 97//97\nf 106//106 107//107 97//97\nf 106//106 97//97 14//14\nf 106//106 14//14 96//96\nf 181//181 106//106 96//96\nf 181//181 96//96 13//13\nf 105//105 181//181 13//13\nf 105//105 13//13 95//95\nf 105//105 95//95 12//12\nf 184//184 102//102 103//103\nf 185//185 184//184 103//103\nf 185//185 103//103 15//15\nf 185//185 186//186 11//11\nf 186//186 185//185 15//15\nf 187//187 197//197 238//238\nf 55//55 187//187 238//238\nf 187//187 55//55 99//99\nf 187//187 99//99 179//179\nf 45//45 188//188 17//17\nf 45//45 17//17 114//114\nf 187//187 45//45 114//114\nf 187//187 114//114 197//197\nf 45//45 187//187 179//179\nf 45//45 179//179 98//98\nf 188//188 45//45 98//98\nf 188//188 98//98 180//180\nf 189//189 112//112 113//113\nf 188//188 189//189 113//113\nf 188//188 113//113 17//17\nf 189//189 188//188 180//180\nf 189//189 180//180 107//107\nf 189//189 107//107 106//106\nf 190//190 111//111 112//112\nf 189//189 190//190 112//112\nf 190//190 189//189 106//106\nf 190//190 106//106 181//181\nf 191//191 110//110 111//111\nf 190//190 191//191 111//111\nf 191//191 190//190 181//181\nf 191//191 181//181 105//105\nf 191//191 105//105 104//104\nf 231//231 192//192 182//182\nf 46//46 193//193 183//183\nf 46//46 183//183 101//101\nf 192//192 46//46 101//101\nf 192//192 101//101 182//182\nf 193//193 46//46 108//108\nf 193//193 194//194 103//103\nf 193//193 103//103 102//102\nf 193//193 102//102 183//183\nf 194//194 193//193 108//108\nf 194//194 108//108 109//109\nf 194//194 195//195 15//15\nf 194//194 15//15 103//103\nf 195//195 194//194 109//109\nf 195//195 109//109 16//16\nf 195//195 196//196 15//15\nf 196//196 195//195 16//16\nf 238//238 197//197 203//203\nf 238//238 203//203 239//239\nf 114//114 198//198 204//204\nf 114//114 204//204 203//203\nf 197//197 114//114 203//203\nf 198//198 114//114 17//17\nf 198//198 199//199 119//119\nf 198//198 119//119 204//204\nf 198//198 17//17 113//113\nf 199//199 198//198 113//113\nf 199//199 113//113 112//112\nf 199//199 200//200 205//205\nf 199//199 205//205 119//119\nf 200//200 199//199 112//112\nf 200//200 112//112 111//111\nf 200//200 201//201 118//118\nf 200//200 118//118 205//205\nf 201//201 200//200 111//111\nf 201//201 111//111 110//110\nf 192//192 231//231 232//232\nf 46//46 115//115 108//108\nf 46//46 192//192 232//232\nf 46//46 232//232 115//115\nf 116//116 109//109 108//108\nf 115//115 116//116 108//108\nf 202//202 16//16 109//109\nf 116//116 202//202 109//109\nf 202//202 116//116 117//117\nf 202//202 201//201 16//16\nf 201//201 202//202 117//117\nf 239//239 203//203 125//125\nf 203//203 204//204 125//125\nf 119//119 19//19 124//124\nf 204//204 119//119 124//124\nf 119//119 205//205 18//18\nf 119//119 18//18 123//123\nf 119//119 123//123 19//19\nf 206//206 209//209 122//122\nf 205//205 206//206 122//122\nf 205//205 122//122 18//18\nf 206//206 205//205 118//118\nf 47//47 116//116 115//115\nf 47//47 207//207 117//117\nf 47//47 117//117 116//116\nf 207//207 206//206 117//117\nf 206//206 207//207 120//120\nf 208//208 125//125 204//204\nf 124//124 208//208 204//204\nf 121//121 47//47 115//115\nf 232//232 121//121 115//115\nf 121//121 210//210 47//47\nf 210//210 207//207 47//47\nf 210//210 120//120 207//207\nf 120//120 210//210 217//217\nf 211//211 239//239 125//125\nf 212//212 25//25 128//128\nf 211//211 212//212 128//128\nf 212//212 211//211 125//125\nf 212//212 125//125 208//208\nf 48//48 213//213 21//21\nf 48//48 21//21 127//127\nf 212//212 48//48 127//127\nf 212//212 127//127 25//25\nf 48//48 212//212 208//208\nf 48//48 208//208 124//124\nf 213//213 48//48 124//124\nf 213//213 124//124 19//19\nf 49//49 214//214 20//20\nf 49//49 20//20 251//251\nf 213//213 49//49 251//251\nf 213//213 251//251 21//21\nf 49//49 213//213 19//19\nf 49//49 19//19 123//123\nf 214//214 49//49 123//123\nf 214//214 123//123 18//18\nf 214//214 215//215 250//250\nf 214//214 250//250 20//20\nf 215//215 214//214 18//18\nf 215//215 18//18 122//122\nf 215//215 122//122 209//209\nf 233//233 50//50 121//121\nf 233//233 121//121 232//232\nf 50//50 233//233 247//247\nf 50//50 216//216 210//210\nf 50//50 210//210 121//121\nf 50//50 247//247 248//248\nf 216//216 50//50 248//248\nf 216//216 217//217 210//210\nf 217//217 216//216 248//248\nf 217//217 248//248 249//249\nf 218//218 217//217 249//249\nf 218//218 249//249 126//126\nf 219//219 22//22 3//3\nf 219//219 220//220 22//22\nf 220//220 219//219 128//128\nf 220//220 128//128 25//25\nf 51//51 221//221 225//225\nf 51//51 225//225 66//66\nf 220//220 51//51 66//66\nf 220//220 66//66 22//22\nf 51//51 220//220 25//25\nf 51//51 25//25 127//127\nf 221//221 51//51 127//127\nf 221//221 127//127 21//21\nf 52//52 222//222 226//226\nf 52//52 226//226 133//133\nf 221//221 52//52 133//133\nf 221//221 133//133 225//225\nf 52//52 221//221 21//21\nf 52//52 21//21 251//251\nf 222//222 52//52 251//251\nf 222//222 251//251 20//20\nf 223//223 227//227 132//132\nf 222//222 223//223 132//132\nf 222//222 132//132 226//226\nf 223//223 222//222 20//20\nf 223//223 20//20 250//250\nf 233//233 129//129 247//247\nf 129//129 233//233 229//229\nf 129//129 53//53 248//248\nf 129//129 248//248 247//247\nf 53//53 129//129 228//228\nf 53//53 224//224 249//249\nf 53//53 249//249 248//248\nf 224//224 53//53 228//228\nf 224//224 228//228 130//130\nf 224//224 131//131 126//126\nf 224//224 126//126 249//249\nf 131//131 224//224 130//130\nf 235//235 59//59 252//252\nf 66//66 225//225 2//2\nf 133//133 226//226 65//65\nf 225//225 133//133 65//65\nf 225//225 65//65 2//2\nf 132//132 227//227 64//64\nf 226//226 132//132 64//64\nf 226//226 64//64 65//65\nf 229//229 1//1 129//129\nf 1//1 228//228 129//129\nf 228//228 1//1 67//67\nf 130//130 228//228 67//67\nf 130//130 136//136 131//131\nf 57//57 230//230 229//229\nf 57//57 229//229 54//54\nf 230//230 57//57 160//160\nf 43//43 160//160 57//57\nf 58//58 182//182 43//43\nf 58//58 231//231 182//182\nf 231//231 58//58 232//232\nf 233//233 232//232 58//58\nf 54//54 233//233 58//58\nf 233//233 54//54 229//229\nf 236//236 137//137 235//235\nf 236//236 235//235 3//3\nf 137//137 236//236 153//153\nf 237//237 26//26 153//153\nf 26//26 237//237 55//55\nf 26//26 55//55 100//100\nf 55//55 238//238 100//100\nf 100//100 238//238 239//239\nf 100//100 239//239 234//234\nf 56//56 211//211 128//128\nf 211//211 56//56 234//234\nf 211//211 234//234 239//239\nf 56//56 219//219 3//3\nf 56//56 3//3 235//235\nf 219//219 56//56 128//128\nf 23//23 60//60 59//59\nf 235//235 137//137 23//23\nf 137//137 153//153 23//23\nf 26//26 61//61 60//60\nf 26//26 60//60 23//23\nf 26//26 23//23 153//153\nf 240//240 61//61 26//26\nf 26//26 100//100 240//240\nf 61//61 240//240 241//241\nf 240//240 100//100 234//234\nf 234//234 241//241 240//240\nf 241//241 234//234 252//252\nf 56//56 252//252 234//234\nf 252//252 56//56 235//235\n# 500 faces, 0 coords texture\n\n# End of File"
  },
  {
    "path": "data/bowl.obj",
    "content": "####\n#\n# OBJ File Generated by Meshlab\n#\n####\n# Object bowl.obj\n#\n# Vertices: 442\n# Faces: 800\n#\n####\nvn -0.803414 4.908799 0.299894\nv 0.998878 -6.631222 -0.324555\nvn -0.671419 4.908799 0.533485\nv 0.849697 -6.631222 -0.617341\nvn -0.473700 4.908799 0.714855\nv 0.617341 -6.631222 -0.849697\nvn -0.229614 4.908799 0.826249\nv 0.324555 -6.631222 -0.998878\nvn 0.036949 4.908799 0.856764\nv 0.000000 -6.631222 -1.050283\nvn 0.299895 4.908799 0.803413\nv -0.324555 -6.631222 -0.998878\nvn 0.533485 4.908799 0.671419\nv -0.617341 -6.631222 -0.849697\nvn 0.714855 4.908799 0.473700\nv -0.849697 -6.631222 -0.617341\nvn 0.826249 4.908799 0.229614\nv -0.998878 -6.631222 -0.324555\nvn 0.856764 4.908799 -0.036949\nv -1.050283 -6.631222 0.000000\nvn 0.803413 4.908799 -0.299895\nv -0.998878 -6.631222 0.324555\nvn 0.671419 4.908799 -0.533486\nv -0.849697 -6.631222 0.617341\nvn 0.473701 4.908799 -0.714855\nv -0.617341 -6.631222 0.849696\nvn 0.229614 4.908799 -0.826249\nv -0.324555 -6.631222 0.998878\nvn -0.036949 4.908799 -0.856764\nv -0.000000 -6.631222 1.050282\nvn -0.299895 4.908799 -0.803413\nv 0.324555 -6.631222 0.998878\nvn -0.533486 4.908799 -0.671419\nv 0.617340 -6.631222 0.849696\nvn -0.714854 4.908799 -0.473702\nv 0.849696 -6.631222 0.617341\nvn -0.826249 4.908799 -0.229614\nv 0.998878 -6.631222 0.324555\nvn -0.856764 4.908799 0.036948\nv 1.050282 -6.631222 0.000000\nvn -1.748185 5.681680 0.592782\nv 1.973161 -6.385280 -0.641119\nvn -1.479444 5.681680 1.103989\nv 1.678471 -6.385280 -1.219481\nvn -1.065883 5.681680 1.507130\nv 1.219481 -6.385280 -1.678471\nvn -0.547985 5.681680 1.762742\nv 0.641119 -6.385280 -1.973161\nvn 0.023551 5.681680 1.845804\nv 0.000000 -6.385280 -2.074704\nvn 0.592784 5.681680 1.748186\nv -0.641119 -6.385280 -1.973161\nvn 1.103990 5.681680 1.479445\nv -1.219480 -6.385280 -1.678471\nvn 1.507130 5.681680 1.065884\nv -1.678471 -6.385280 -1.219480\nvn 1.762742 5.681680 0.547986\nv -1.973161 -6.385280 -0.641119\nvn 1.845804 5.681680 -0.023551\nv -2.074704 -6.385280 0.000000\nvn 1.748186 5.681680 -0.592784\nv -1.973161 -6.385280 0.641119\nvn 1.479444 5.681680 -1.103990\nv -1.678470 -6.385280 1.219480\nvn 1.065883 5.681680 -1.507130\nv -1.219480 -6.385280 1.678470\nvn 0.547986 5.681680 -1.762742\nv -0.641119 -6.385280 1.973160\nvn -0.023551 5.681680 -1.845804\nv -0.000000 -6.385280 2.074703\nvn -0.592783 5.681680 -1.748186\nv 0.641119 -6.385280 1.973160\nvn -1.103991 5.681680 -1.479443\nv 1.219480 -6.385280 1.678470\nvn -1.507130 5.681680 -1.065884\nv 1.678470 -6.385280 1.219480\nvn -1.762742 5.681680 -0.547987\nv 1.973160 -6.385280 0.641119\nvn -1.845804 5.681680 0.023549\nv 2.074703 -6.385280 0.000000\nvn -2.568769 5.315767 0.857746\nv 2.898859 -5.982112 -0.941896\nvn -2.177985 5.315768 1.609560\nv 2.465916 -5.982112 -1.791593\nvn -1.574006 5.315768 2.203817\nv 1.791593 -5.982112 -2.465916\nvn -0.815951 5.315767 2.582350\nv 0.941896 -5.982112 -2.898858\nvn 0.021974 5.315767 2.708103\nv 0.000000 -5.982112 -3.048039\nvn 0.857748 5.315767 2.568769\nv -0.941896 -5.982112 -2.898858\nvn 1.609562 5.315768 2.177985\nv -1.791592 -5.982112 -2.465915\nvn 2.203818 5.315767 1.574007\nv -2.465915 -5.982112 -1.791592\nvn 2.582351 5.315767 0.815953\nv -2.898857 -5.982112 -0.941896\nvn 2.708104 5.315767 -0.021974\nv -3.048039 -5.982112 0.000000\nvn 2.568770 5.315767 -0.857749\nv -2.898857 -5.982112 0.941896\nvn 2.177985 5.315767 -1.609562\nv -2.465915 -5.982112 1.791592\nvn 1.574007 5.315767 -2.203818\nv -1.791592 -5.982112 2.465915\nvn 0.815952 5.315767 -2.582350\nv -0.941896 -5.982112 2.898857\nvn -0.021974 5.315767 -2.708103\nv -0.000000 -5.982112 3.048038\nvn -0.857748 5.315767 -2.568770\nv 0.941895 -5.982112 2.898857\nvn -1.609561 5.315767 -2.177986\nv 1.791592 -5.982112 2.465915\nvn -2.203819 5.315767 -1.574006\nv 2.465914 -5.982112 1.791592\nvn -2.582351 5.315767 -0.815953\nv 2.898856 -5.982112 0.941896\nvn -2.708105 5.315767 0.021970\nv 3.048038 -5.982112 0.000000\nvn -3.322826 4.818450 1.100518\nv 3.753176 -5.431643 -1.219481\nvn -2.820114 4.818450 2.073469\nv 3.192642 -5.431643 -2.319590\nvn -2.041352 4.818450 2.843448\nv 2.319590 -5.431643 -3.192642\nvn -1.062766 4.818450 3.335092\nv 1.219481 -5.431643 -3.753175\nvn 0.019849 4.818451 3.500274\nv 0.000000 -5.431643 -3.946322\nvn 1.100522 4.818450 3.322825\nv -1.219481 -5.431643 -3.753175\nvn 2.073469 4.818450 2.820113\nv -2.319590 -5.431643 -3.192641\nvn 2.843449 4.818450 2.041351\nv -3.192641 -5.431643 -2.319589\nvn 3.335094 4.818449 1.062767\nv -3.753174 -5.431643 -1.219480\nvn 3.500276 4.818449 -0.019848\nv -3.946321 -5.431643 0.000000\nvn 3.322826 4.818450 -1.100522\nv -3.753174 -5.431643 1.219480\nvn 2.820115 4.818449 -2.073469\nv -3.192641 -5.431643 2.319589\nvn 2.041353 4.818449 -2.843450\nv -2.319589 -5.431643 3.192640\nvn 1.062768 4.818449 -3.335094\nv -1.219480 -5.431643 3.753174\nvn -0.019849 4.818449 -3.500276\nv -0.000000 -5.431643 3.946321\nvn -1.100523 4.818449 -3.322826\nv 1.219480 -5.431643 3.753174\nvn -2.073469 4.818449 -2.820117\nv 2.319589 -5.431643 3.192640\nvn -2.843449 4.818449 -2.041352\nv 3.192640 -5.431643 2.319589\nvn -3.335093 4.818450 -1.062767\nv 3.753173 -5.431643 1.219480\nvn -3.500277 4.818449 0.019844\nv 3.946320 -5.431643 0.000000\nvn -3.991931 4.203611 1.315189\nv 4.515078 -4.747430 -1.467038\nvn -3.390131 4.203613 2.484398\nv 3.840755 -4.747430 -2.790471\nvn -2.456486 4.203612 3.410412\nv 2.790471 -4.747430 -3.840754\nvn -1.282383 4.203611 4.002591\nv 1.467037 -4.747430 -4.515078\nvn 0.017251 4.203611 4.202968\nv 0.000000 -4.747430 -4.747433\nvn 1.315195 4.203612 3.991929\nv -1.467037 -4.747430 -4.515077\nvn 2.484399 4.203611 3.390132\nv -2.790471 -4.747430 -3.840753\nvn 3.410413 4.203612 2.456487\nv -3.840753 -4.747430 -2.790470\nvn 4.002590 4.203613 1.282382\nv -4.515076 -4.747430 -1.467037\nvn 4.202968 4.203613 -0.017249\nv -4.747431 -4.747430 0.000000\nvn 3.991929 4.203612 -1.315193\nv -4.515076 -4.747430 1.467037\nvn 3.390132 4.203612 -2.484398\nv -3.840753 -4.747430 2.790470\nvn 2.456487 4.203612 -3.410412\nv -2.790470 -4.747430 3.840752\nvn 1.282383 4.203612 -4.002591\nv -1.467037 -4.747430 4.515075\nvn -0.017249 4.203610 -4.202969\nv -0.000000 -4.747430 4.747431\nvn -1.315195 4.203611 -3.991930\nv 1.467037 -4.747430 4.515075\nvn -2.484399 4.203611 -3.390134\nv 2.790469 -4.747430 3.840752\nvn -3.410412 4.203610 -2.456489\nv 3.840752 -4.747430 2.790470\nvn -4.002591 4.203611 -1.282382\nv 4.515075 -4.747430 1.467037\nvn -4.202970 4.203611 0.017245\nv 4.747430 -4.747430 0.000000\nvn -4.560439 3.487762 1.496761\nv 5.165803 -3.946320 -1.678471\nvn -3.874708 3.487762 2.832762\nv 4.394295 -3.946320 -3.192642\nvn -2.809691 3.487764 3.891468\nv 3.192642 -3.946320 -4.394295\nvn -1.469646 3.487763 4.569250\nv 1.678471 -3.946320 -5.165802\nvn 0.014258 3.487761 4.799761\nv 0.000000 -3.946320 -5.431646\nvn 1.496768 3.487763 4.560437\nv -1.678471 -3.946320 -5.165802\nvn 2.832764 3.487762 3.874706\nv -3.192641 -3.946320 -4.394294\nvn 3.891468 3.487763 2.809693\nv -4.394293 -3.946320 -3.192641\nvn 4.569249 3.487763 1.469647\nv -5.165802 -3.946320 -1.678470\nvn 4.799760 3.487763 -0.014258\nv -5.431645 -3.946320 0.000000\nvn 4.560436 3.487763 -1.496767\nv -5.165802 -3.946320 1.678470\nvn 3.874706 3.487763 -2.832764\nv -4.394293 -3.946320 3.192641\nvn 2.809692 3.487764 -3.891468\nv -3.192641 -3.946320 4.394292\nvn 1.469647 3.487762 -4.569249\nv -1.678470 -3.946320 5.165801\nvn -0.014258 3.487762 -4.799761\nv -0.000000 -3.946320 5.431644\nvn -1.496768 3.487761 -4.560437\nv 1.678470 -3.946320 5.165801\nvn -2.832764 3.487763 -3.874706\nv 3.192640 -3.946320 4.394292\nvn -3.891468 3.487762 -2.809694\nv 4.394292 -3.946320 3.192640\nvn -4.569250 3.487761 -1.469648\nv 5.165800 -3.946320 1.678470\nvn -4.799761 3.487764 0.014254\nv 5.431643 -3.946320 0.000000\nvn -5.015666 2.689349 1.641204\nv 5.689330 -3.048038 -1.848575\nvn -4.263021 2.689349 3.110808\nv 4.839633 -3.048038 -3.516199\nvn -3.093080 2.689348 4.275901\nv 3.516199 -3.048038 -4.839633\nvn -1.620367 2.689350 5.022438\nv 1.848575 -3.048038 -5.689329\nvn 0.010956 2.689350 5.277344\nv 0.000000 -3.048038 -5.982114\nvn 1.641209 2.689349 5.015666\nv -1.848575 -3.048038 -5.689329\nvn 3.110809 2.689350 4.263020\nv -3.516198 -3.048038 -4.839632\nvn 4.275900 2.689350 3.093080\nv -4.839631 -3.048038 -3.516198\nvn 5.022438 2.689349 1.620369\nv -5.689328 -3.048038 -1.848575\nvn 5.277344 2.689349 -0.010957\nv -5.982113 -3.048038 0.000000\nvn 5.015666 2.689349 -1.641208\nv -5.689328 -3.048038 1.848575\nvn 4.263020 2.689349 -3.110810\nv -4.839631 -3.048038 3.516198\nvn 3.093080 2.689349 -4.275901\nv -3.516198 -3.048038 4.839631\nvn 1.620368 2.689350 -5.022438\nv -1.848575 -3.048038 5.689327\nvn -0.010957 2.689349 -5.277344\nv -0.000000 -3.048038 5.982112\nvn -1.641209 2.689348 -5.015667\nv 1.848574 -3.048038 5.689327\nvn -3.110809 2.689349 -4.263021\nv 3.516197 -3.048038 4.839630\nvn -4.275901 2.689349 -3.093080\nv 4.839630 -3.048038 3.516197\nvn -5.022438 2.689348 -1.620369\nv 5.689326 -3.048038 1.848574\nvn -5.277344 2.689349 0.010951\nv 5.982112 -3.048038 0.000000\nvn -5.347924 1.828130 1.745450\nv 6.072766 -2.074703 -1.973161\nvn -4.546801 1.828131 3.312626\nv 5.165803 -2.074703 -3.753176\nvn -3.300607 1.828130 4.555533\nv 3.753176 -2.074703 -5.165803\nvn -1.731326 1.828130 5.352514\nv 1.973161 -2.074703 -6.072765\nvn 0.007428 1.828131 5.625552\nv 0.000000 -2.074703 -6.385283\nvn 1.745456 1.828130 5.347922\nv -1.973161 -2.074703 -6.072765\nvn 3.312626 1.828128 4.546802\nv -3.753175 -2.074703 -5.165802\nvn 4.555533 1.828130 3.300606\nv -5.165802 -2.074703 -3.753175\nvn 5.352514 1.828127 1.731328\nv -6.072764 -2.074703 -1.973161\nvn 5.625552 1.828128 -0.007428\nv -6.385282 -2.074703 0.000000\nvn 5.347923 1.828127 -1.745455\nv -6.072764 -2.074703 1.973161\nvn 4.546801 1.828129 -3.312627\nv -5.165802 -2.074703 3.753174\nvn 3.300608 1.828128 -4.555533\nv -3.753174 -2.074703 5.165801\nvn 1.731327 1.828129 -5.352513\nv -1.973161 -2.074703 6.072763\nvn -0.007428 1.828130 -5.625552\nv -0.000000 -2.074703 6.385281\nvn -1.745455 1.828128 -5.347923\nv 1.973160 -2.074703 6.072763\nvn -3.312625 1.828130 -4.546802\nv 3.753173 -2.074703 5.165801\nvn -4.555533 1.828131 -3.300607\nv 5.165800 -2.074703 3.753174\nvn -5.352513 1.828130 -1.731327\nv 6.072762 -2.074703 1.973160\nvn -5.625553 1.828129 0.007421\nv 6.385280 -2.074703 0.000000\nvn -5.550418 0.924672 1.807377\nv 6.306671 -1.050282 -2.049161\nvn -4.720247 0.924672 3.434096\nv 5.364775 -1.050282 -3.897737\nvn -3.428027 0.924673 4.724657\nv 3.897737 -1.050282 -5.364774\nvn -1.800248 0.924673 5.552735\nv 2.049161 -1.050282 -6.306670\nvn 0.003750 0.924673 5.837272\nv 0.000000 -1.050282 -6.631225\nvn 1.807384 0.924672 5.550416\nv -2.049161 -1.050282 -6.306670\nvn 3.434098 0.924671 4.720248\nv -3.897736 -1.050282 -5.364773\nvn 4.724657 0.924671 3.428028\nv -5.364773 -1.050282 -3.897736\nvn 5.552735 0.924672 1.800248\nv -6.306668 -1.050282 -2.049161\nvn 5.837273 0.924671 -0.003750\nv -6.631223 -1.050282 0.000000\nvn 5.550417 0.924672 -1.807383\nv -6.306668 -1.050282 2.049161\nvn 4.720248 0.924671 -3.434097\nv -5.364773 -1.050282 3.897735\nvn 3.428028 0.924672 -4.724657\nv -3.897735 -1.050282 5.364772\nvn 1.800250 0.924671 -5.552734\nv -2.049161 -1.050282 6.306668\nvn -0.003751 0.924672 -5.837272\nv -0.000000 -1.050282 6.631223\nvn -1.807384 0.924673 -5.550416\nv 2.049160 -1.050282 6.306667\nvn -3.434096 0.924670 -4.720249\nv 3.897734 -1.050282 5.364772\nvn -4.724657 0.924671 -3.428028\nv 5.364772 -1.050282 3.897735\nvn -5.552735 0.924674 -1.800248\nv 6.306667 -1.050282 2.049160\nvn -5.837273 0.924673 0.003744\nv 6.631222 -1.050282 0.000000\nvn 0.227681 2.990521 -0.060913\nv 6.385284 0.000000 -2.074704\nvn 0.197714 2.990521 -0.128288\nv 5.431647 0.000000 -3.946322\nvn 0.148393 2.990521 -0.183105\nv 3.946322 0.000000 -5.431647\nvn 0.084547 2.990521 -0.220000\nv 2.074704 0.000000 -6.385283\nvn 0.012426 2.990521 -0.235359\nv 0.000000 0.000000 -6.713884\nvn -0.060912 2.990521 -0.227679\nv -2.074704 0.000000 -6.385283\nvn -0.128288 2.990521 -0.197713\nv -3.946321 0.000000 -5.431645\nvn -0.183105 2.990521 -0.148393\nv -5.431645 0.000000 -3.946321\nvn -0.220000 2.990521 -0.084547\nv -6.385282 0.000000 -2.074704\nvn -0.235359 2.990521 -0.012426\nv -6.713882 0.000000 0.000000\nvn -0.227679 2.990521 0.060912\nv -6.385282 0.000000 2.074704\nvn -0.197713 2.990521 0.128288\nv -5.431645 0.000000 3.946321\nvn -0.148393 2.990521 0.183105\nv -3.946321 0.000000 5.431644\nvn -0.084547 2.990521 0.220000\nv -2.074704 0.000000 6.385281\nvn -0.012426 2.990521 0.235359\nv -0.000000 0.000000 6.713881\nvn 0.060912 2.990521 0.227679\nv 2.074703 0.000000 6.385281\nvn 0.128288 2.990521 0.197713\nv 3.946320 0.000000 5.431644\nvn 0.183105 2.990521 0.148393\nv 5.431643 0.000000 3.946321\nvn 0.219999 2.990521 0.084547\nv 6.385280 0.000000 2.074703\nvn 0.235359 2.990521 0.012426\nv 6.713881 0.000000 0.000000\nvn -0.000000 19.936806 -0.000000\nv 0.000000 -6.713881 0.000000\nvn 0.803409 -4.908798 -0.299900\nv 1.148169 -7.598194 -0.373076\nvn 0.671413 -4.908799 -0.533492\nv 0.976686 -7.598194 -0.709606\nvn 1.479441 -5.681680 -1.103996\nv 1.929106 -7.315561 -1.401576\nvn 1.748191 -5.681679 -0.592778\nv 2.267802 -7.315561 -0.736849\nvn 0.473699 -4.908799 -0.714854\nv 0.709607 -7.598194 -0.976686\nvn 1.065883 -5.681680 -1.507129\nv 1.401579 -7.315561 -1.929102\nvn 0.229613 -4.908799 -0.826247\nv 0.373058 -7.598194 -1.148164\nvn 0.547987 -5.681680 -1.762742\nv 0.736850 -7.315561 -2.267799\nvn -0.036949 -4.908799 -0.856761\nv -0.000003 -7.598194 -1.207252\nvn -0.023549 -5.681679 -1.845805\nv 0.000002 -7.315561 -2.384506\nvn -0.299899 -4.908799 -0.803409\nv -0.373071 -7.598194 -1.148163\nvn -0.592786 -5.681679 -1.748186\nv -0.736853 -7.315561 -2.267800\nvn -0.533485 -4.908799 -0.671418\nv -0.709604 -7.598194 -0.976687\nvn -1.103994 -5.681679 -1.479442\nv -1.401581 -7.315561 -1.929101\nvn -0.714852 -4.908799 -0.473701\nv -0.976693 -7.598194 -0.709604\nvn -1.507129 -5.681679 -1.065887\nv -1.929101 -7.315561 -1.401581\nvn -0.826248 -4.908799 -0.229610\nv -1.148168 -7.598194 -0.373059\nvn -1.762743 -5.681680 -0.547984\nv -2.267796 -7.315562 -0.736850\nvn -0.856762 -4.908799 0.036948\nv -1.207253 -7.598194 -0.000006\nvn -1.845806 -5.681680 0.023553\nv -2.384504 -7.315561 0.000007\nvn -0.803411 -4.908799 0.299892\nv -1.148168 -7.598194 0.373052\nvn -1.748185 -5.681680 0.592783\nv -2.267797 -7.315562 0.736848\nvn -0.671415 -4.908799 0.533485\nv -0.976685 -7.598194 0.709609\nvn -1.479443 -5.681679 1.103991\nv -1.929098 -7.315562 1.401579\nvn -0.473700 -4.908799 0.714853\nv -0.709604 -7.598194 0.976686\nvn -1.065883 -5.681680 1.507132\nv -1.401578 -7.315560 1.929106\nvn -0.229615 -4.908799 0.826246\nv -0.373069 -7.598194 1.148162\nvn -0.547987 -5.681680 1.762741\nv -0.736851 -7.315561 2.267799\nvn 0.036948 -4.908799 0.856763\nv -0.000004 -7.598194 1.207250\nvn 0.023551 -5.681681 1.845803\nv -0.000003 -7.315561 2.384503\nvn 0.299894 -4.908799 0.803412\nv 0.373068 -7.598194 1.148163\nvn 0.592781 -5.681680 1.748188\nv 0.736854 -7.315560 2.267799\nvn 0.533485 -4.908799 0.671416\nv 0.709604 -7.598194 0.976686\nvn 1.103990 -5.681680 1.479444\nv 1.401573 -7.315562 1.929104\nvn 0.714854 -4.908798 0.473701\nv 0.976691 -7.598194 0.709602\nvn 1.507130 -5.681680 1.065884\nv 1.929107 -7.315561 1.401574\nvn 0.826251 -4.908798 0.229611\nv 1.148169 -7.598194 0.373056\nvn 1.762744 -5.681680 0.547982\nv 2.267800 -7.315560 0.736851\nvn 0.856767 -4.908798 -0.036946\nv 1.207253 -7.598194 -0.000007\nvn 1.845809 -5.681679 -0.023548\nv 2.384508 -7.315559 0.000001\nvn 2.177985 -5.315768 -1.609561\nv 2.833625 -6.852452 -2.058743\nvn 2.568770 -5.315767 -0.857744\nv 3.331129 -6.852450 -1.082350\nvn 1.574007 -5.315768 -2.203815\nv 2.058751 -6.852451 -2.833623\nvn 0.815951 -5.315769 -2.582348\nv 1.082348 -6.852451 -3.331125\nvn -0.021974 -5.315768 -2.708103\nv -0.000003 -6.852449 -3.502556\nvn -0.857750 -5.315768 -2.568769\nv -1.082351 -6.852450 -3.331125\nvn -1.609562 -5.315767 -2.177985\nv -2.058753 -6.852449 -2.833626\nvn -2.203817 -5.315769 -1.574004\nv -2.833626 -6.852450 -2.058748\nvn -2.582348 -5.315769 -0.815951\nv -3.331124 -6.852451 -1.082350\nvn -2.708102 -5.315768 0.021974\nv -3.502551 -6.852451 -0.000002\nvn -2.568767 -5.315769 0.857748\nv -3.331122 -6.852452 1.082347\nvn -2.177983 -5.315769 1.609560\nv -2.833625 -6.852450 2.058748\nvn -1.574007 -5.315768 2.203816\nv -2.058748 -6.852451 2.833622\nvn -0.815952 -5.315767 2.582349\nv -1.082349 -6.852451 3.331124\nvn 0.021974 -5.315768 2.708103\nv 0.000001 -6.852450 3.502553\nvn 0.857748 -5.315769 2.568767\nv 1.082347 -6.852453 3.331120\nvn 1.609561 -5.315767 2.177986\nv 2.058752 -6.852449 2.833626\nvn 2.203818 -5.315767 1.574008\nv 2.833625 -6.852449 2.058751\nvn 2.582349 -5.315767 0.815950\nv 3.331121 -6.852453 1.082348\nvn 2.708105 -5.315767 -0.021971\nv 3.502550 -6.852451 0.000001\nvn 2.820111 -4.818452 -2.073470\nv 3.667893 -6.220523 -2.664880\nvn 3.322827 -4.818450 -1.100517\nv 4.311871 -6.220520 -1.401013\nvn 2.041353 -4.818451 -2.843446\nv 2.664881 -6.220522 -3.667893\nvn 1.062766 -4.818451 -3.335091\nv 1.401009 -6.220522 -4.311869\nvn -0.019849 -4.818451 -3.500273\nv -0.000001 -6.220524 -4.533763\nvn -1.100523 -4.818452 -3.322821\nv -1.401012 -6.220525 -4.311864\nvn -2.073468 -4.818452 -2.820113\nv -2.664879 -6.220523 -3.667892\nvn -2.843447 -4.818451 -2.041351\nv -3.667889 -6.220526 -2.664878\nvn -3.335091 -4.818452 -1.062764\nv -4.311864 -6.220525 -1.401008\nvn -3.500273 -4.818452 0.019848\nv -4.533764 -6.220523 -0.000002\nvn -3.322822 -4.818452 1.100521\nv -4.311863 -6.220525 1.401012\nvn -2.820112 -4.818452 2.073467\nv -3.667892 -6.220523 2.664881\nvn -2.041349 -4.818452 2.843447\nv -2.664880 -6.220523 3.667891\nvn -1.062768 -4.818450 3.335091\nv -1.401012 -6.220524 4.311864\nvn 0.019849 -4.818451 3.500274\nv 0.000000 -6.220523 4.533763\nvn 1.100522 -4.818451 3.322824\nv 1.401011 -6.220524 4.311864\nvn 2.073468 -4.818450 2.820116\nv 2.664878 -6.220523 3.667892\nvn 2.843449 -4.818449 2.041353\nv 3.667892 -6.220523 2.664879\nvn 3.335094 -4.818449 1.062766\nv 4.311869 -6.220520 1.401012\nvn 3.500276 -4.818450 -0.019846\nv 4.533766 -6.220520 0.000002\nvn 3.390132 -4.203612 -2.484399\nv 4.411390 -5.435614 -3.205060\nvn 3.991932 -4.203609 -1.315189\nv 5.185899 -5.435614 -1.685001\nvn 2.456486 -4.203612 -3.410412\nv 3.205062 -5.435612 -4.411389\nvn 1.282385 -4.203611 -4.002591\nv 1.685000 -5.435616 -5.185896\nvn -0.017251 -4.203613 -4.202967\nv 0.000003 -5.435614 -5.452775\nvn -1.315193 -4.203613 -3.991929\nv -1.684998 -5.435619 -5.185893\nvn -2.484399 -4.203614 -3.390130\nv -3.205059 -5.435621 -4.411381\nvn -3.410411 -4.203612 -2.456488\nv -4.411384 -5.435615 -3.205062\nvn -4.002590 -4.203612 -1.282382\nv -5.185897 -5.435616 -1.684996\nvn -4.202967 -4.203614 0.017251\nv -5.452773 -5.435615 0.000001\nvn -3.991928 -4.203613 1.315195\nv -5.185896 -5.435615 1.685000\nvn -3.390134 -4.203609 2.484400\nv -4.411385 -5.435616 3.205060\nvn -2.456487 -4.203611 3.410412\nv -3.205060 -5.435616 4.411385\nvn -1.282381 -4.203613 4.002590\nv -1.685000 -5.435616 5.185893\nvn 0.017249 -4.203612 4.202968\nv 0.000003 -5.435617 5.452770\nvn 1.315195 -4.203613 3.991928\nv 1.684998 -5.435618 5.185892\nvn 2.484399 -4.203609 3.390135\nv 3.205058 -5.435614 4.411387\nvn 3.410413 -4.203609 2.456490\nv 4.411386 -5.435614 3.205060\nvn 4.002592 -4.203610 1.282383\nv 5.185894 -5.435616 1.684999\nvn 4.202970 -4.203611 -0.017246\nv 5.452772 -5.435614 0.000000\nvn 3.874708 -3.487761 -2.832763\nv 5.045924 -4.517282 -3.666080\nvn 4.560440 -3.487761 -1.496762\nv 5.931839 -4.517285 -1.927368\nvn 2.809691 -3.487765 -3.891469\nv 3.666075 -4.517287 -5.045923\nvn 1.469647 -3.487764 -4.569249\nv 1.927370 -4.517285 -5.931837\nvn -0.014258 -3.487762 -4.799760\nv 0.000000 -4.517286 -6.237103\nvn -1.496768 -3.487762 -4.560438\nv -1.927371 -4.517285 -5.931837\nvn -2.832765 -3.487762 -3.874705\nv -3.666079 -4.517285 -5.045921\nvn -3.891469 -3.487762 -2.809694\nv -5.045921 -4.517285 -3.666077\nvn -4.569249 -3.487762 -1.469649\nv -5.931836 -4.517285 -1.927372\nvn -4.799761 -3.487762 0.014257\nv -6.237101 -4.517287 0.000001\nvn -4.560436 -3.487763 1.496769\nv -5.931835 -4.517289 1.927368\nvn -3.874707 -3.487761 2.832765\nv -5.045920 -4.517286 3.666076\nvn -2.809695 -3.487761 3.891469\nv -3.666077 -4.517283 5.045921\nvn -1.469647 -3.487763 4.569249\nv -1.927368 -4.517288 5.931835\nvn 0.014258 -3.487763 4.799760\nv -0.000002 -4.517280 6.237104\nvn 1.496768 -3.487765 4.560435\nv 1.927371 -4.517291 5.931832\nvn 2.832765 -3.487763 3.874706\nv 3.666075 -4.517283 5.045922\nvn 3.891469 -3.487760 2.809696\nv 5.045921 -4.517282 3.666077\nvn 4.569251 -3.487759 1.469649\nv 5.931836 -4.517285 1.927368\nvn 4.799761 -3.487762 -0.014254\nv 6.237103 -4.517282 0.000002\nvn 4.263021 -2.689350 -3.110807\nv 5.556067 -3.488285 -4.036719\nvn 5.015667 -2.689350 -1.641204\nv 6.531551 -3.488282 -2.122226\nvn 3.093080 -2.689349 -4.275901\nv 4.036721 -3.488281 -5.556068\nvn 1.620369 -2.689349 -5.022437\nv 2.122230 -3.488283 -6.531549\nvn -0.010957 -2.689348 -5.277343\nv -0.000001 -3.488278 -6.867680\nvn -1.641210 -2.689349 -5.015666\nv -2.122227 -3.488278 -6.531551\nvn -3.110809 -2.689349 -4.263021\nv -4.036719 -3.488281 -5.556068\nvn -4.275902 -2.689349 -3.093080\nv -5.556067 -3.488282 -4.036717\nvn -5.022437 -2.689349 -1.620369\nv -6.531548 -3.488284 -2.122228\nvn -5.277343 -2.689349 0.010957\nv -6.867677 -3.488280 0.000000\nvn -5.015666 -2.689348 1.641210\nv -6.531550 -3.488279 2.122229\nvn -4.263020 -2.689351 3.110810\nv -5.556068 -3.488278 4.036718\nvn -3.093081 -2.689351 4.275899\nv -4.036718 -3.488284 5.556065\nvn -1.620369 -2.689349 5.022437\nv -2.122229 -3.488281 6.531548\nvn 0.010956 -2.689349 5.277343\nv 0.000001 -3.488283 6.867675\nvn 1.641209 -2.689350 5.015665\nv 2.122231 -3.488281 6.531548\nvn 3.110810 -2.689352 4.263018\nv 4.036719 -3.488281 5.556066\nvn 4.275900 -2.689350 3.093081\nv 5.556067 -3.488278 4.036719\nvn 5.022437 -2.689350 1.620369\nv 6.531547 -3.488280 2.122230\nvn 5.277345 -2.689349 -0.010952\nv 6.867674 -3.488283 -0.000001\nvn 4.546801 -1.828132 -3.312624\nv 5.929487 -2.373952 -4.308024\nvn 5.347923 -1.828131 -1.745450\nv 6.970530 -2.373952 -2.264862\nvn 3.300606 -1.828131 -4.555533\nv 4.308024 -2.373954 -5.929487\nvn 1.731327 -1.828129 -5.352514\nv 2.264863 -2.373952 -6.970528\nvn -0.007427 -1.828128 -5.625552\nv 0.000001 -2.373955 -7.329247\nvn -1.745456 -1.828131 -5.347922\nv -2.264863 -2.373955 -6.970527\nvn -3.312626 -1.828132 -4.546800\nv -4.308023 -2.373955 -5.929485\nvn -4.555533 -1.828133 -3.300605\nv -5.929485 -2.373955 -4.308022\nvn -5.352513 -1.828128 -1.731327\nv -6.970528 -2.373953 -2.264860\nvn -5.625553 -1.828128 0.007427\nv -7.329245 -2.373957 -0.000000\nvn -5.347923 -1.828128 1.745455\nv -6.970527 -2.373955 2.264861\nvn -4.546800 -1.828130 3.312627\nv -5.929483 -2.373956 4.308024\nvn -3.300606 -1.828132 4.555532\nv -4.308021 -2.373960 5.929483\nvn -1.731327 -1.828130 5.352513\nv -2.264862 -2.373952 6.970527\nvn 0.007427 -1.828130 5.625552\nv -0.000002 -2.373955 7.329245\nvn 1.745455 -1.828128 5.347923\nv 2.264863 -2.373958 6.970525\nvn 3.312626 -1.828130 4.546801\nv 4.308020 -2.373958 5.929484\nvn 4.555533 -1.828130 3.300607\nv 5.929482 -2.373959 4.308021\nvn 5.352513 -1.828127 1.731328\nv 6.970526 -2.373957 2.264859\nvn 5.625552 -1.828130 -0.007423\nv 7.329245 -2.373955 -0.000000\nvn 4.720247 -0.924673 -3.434096\nv 6.157182 -1.201643 -4.473456\nvn 5.550419 -0.924670 -1.807376\nv 7.238202 -1.201642 -2.351833\nvn 3.428027 -0.924673 -4.724657\nv 4.473454 -1.201644 -6.157183\nvn 1.800247 -0.924673 -5.552735\nv 2.351834 -1.201640 -7.238201\nvn -0.003750 -0.924673 -5.837272\nv -0.000001 -1.201641 -7.610695\nvn -1.807383 -0.924675 -5.550416\nv -2.351835 -1.201644 -7.238200\nvn -3.434097 -0.924673 -4.720247\nv -4.473454 -1.201640 -6.157182\nvn -4.724658 -0.924671 -3.428027\nv -6.157182 -1.201643 -4.473452\nvn -5.552735 -0.924671 -1.800249\nv -7.238200 -1.201636 -2.351835\nvn -5.837273 -0.924672 0.003750\nv -7.610693 -1.201640 0.000000\nvn -5.550416 -0.924672 1.807382\nv -7.238200 -1.201642 2.351831\nvn -4.720248 -0.924672 3.434096\nv -6.157181 -1.201640 4.473452\nvn -3.428028 -0.924671 4.724657\nv -4.473454 -1.201638 6.157180\nvn -1.800250 -0.924670 5.552734\nv -2.351833 -1.201643 7.238199\nvn 0.003751 -0.924672 5.837272\nv 0.000000 -1.201640 7.610693\nvn 1.807383 -0.924672 5.550417\nv 2.351831 -1.201641 7.238199\nvn 3.434096 -0.924673 4.720248\nv 4.473452 -1.201644 6.157179\nvn 4.724657 -0.924675 3.428028\nv 6.157178 -1.201642 4.473454\nvn 5.552735 -0.924673 1.800250\nv 7.238197 -1.201641 2.351834\nvn 5.837274 -0.924669 -0.003744\nv 7.610691 -1.201641 0.000003\nvn 0.183106 2.990521 -0.148392\nv 6.228754 -0.077543 -4.525457\nvn 0.220002 2.990521 -0.084548\nv 7.322340 -0.077544 -2.379172\nvn 0.128288 2.990521 -0.197713\nv 4.525457 -0.077543 -6.228753\nvn 0.060912 2.990521 -0.227679\nv 2.379173 -0.077543 -7.322339\nvn -0.012426 2.990521 -0.235359\nv 0.000000 -0.077543 -7.699163\nvn -0.084547 2.990521 -0.219999\nv -2.379172 -0.077543 -7.322340\nvn -0.148393 2.990521 -0.183105\nv -4.525454 -0.077543 -6.228754\nvn -0.197713 2.990521 -0.128288\nv -6.228751 -0.077543 -4.525455\nvn -0.227679 2.990521 -0.060912\nv -7.322337 -0.077543 -2.379173\nvn -0.235359 2.990521 0.012426\nv -7.699162 -0.077543 0.000001\nvn -0.220000 2.990521 0.084547\nv -7.322338 -0.077543 2.379171\nvn -0.183105 2.990521 0.148393\nv -6.228752 -0.077543 4.525455\nvn -0.128288 2.990521 0.197713\nv -4.525454 -0.077543 6.228752\nvn -0.060912 2.990521 0.227679\nv -2.379172 -0.077543 7.322336\nvn 0.012426 2.990521 0.235359\nv -0.000001 -0.077543 7.699161\nvn 0.084547 2.990521 0.220000\nv 2.379169 -0.077543 7.322337\nvn 0.148393 2.990521 0.183105\nv 4.525453 -0.077543 6.228752\nvn 0.197713 2.990521 0.128288\nv 6.228752 -0.077543 4.525453\nvn 0.227679 2.990521 0.060912\nv 7.322337 -0.077543 2.379171\nvn 0.235360 2.990521 -0.012426\nv 7.699160 -0.077543 0.000002\nvn 0.000003 -19.936806 -0.000003\nv 0.000007 -7.693206 -0.000003\nvn 2.481634 -0.232496 -1.610230\nv 6.228754 -0.077543 -4.525457\nvn 2.857763 -0.232497 -0.764549\nv 7.322340 -0.077544 -2.379172\nvn 1.862585 -0.232495 -2.298287\nv 4.525457 -0.077543 -6.228753\nvn 1.061213 -0.232495 -2.761372\nv 2.379173 -0.077543 -7.322339\nvn 0.155964 -0.232496 -2.954154\nv 0.000000 -0.077543 -7.699163\nvn -0.764553 -0.232498 -2.857762\nv -2.379172 -0.077543 -7.322340\nvn -1.610231 -0.232496 -2.481633\nv -4.525454 -0.077543 -6.228754\nvn -2.298288 -0.232494 -1.862585\nv -6.228751 -0.077543 -4.525455\nvn -2.761372 -0.232493 -1.061215\nv -7.322337 -0.077543 -2.379173\nvn -2.954154 -0.232497 -0.155964\nv -7.699162 -0.077543 0.000001\nvn -2.857763 -0.232498 0.764553\nv -7.322338 -0.077543 2.379171\nvn -2.481633 -0.232498 1.610230\nv -6.228752 -0.077543 4.525455\nvn -1.862585 -0.232498 2.298287\nv -4.525454 -0.077543 6.228752\nvn -1.061214 -0.232494 2.761372\nv -2.379172 -0.077543 7.322336\nvn -0.155964 -0.232495 2.954154\nv -0.000001 -0.077543 7.699161\nvn 0.764553 -0.232496 2.857763\nv 2.379169 -0.077543 7.322337\nvn 1.610230 -0.232498 2.481634\nv 4.525453 -0.077543 6.228752\nvn 2.298287 -0.232499 1.862585\nv 6.228752 -0.077543 4.525453\nvn 2.761371 -0.232500 1.061214\nv 7.322337 -0.077543 2.379171\nvn 2.954154 -0.232499 0.155966\nv 7.699160 -0.077543 0.000002\nvn -2.857763 0.232496 0.764549\nv 6.385284 0.000000 -2.074704\nvn -2.481634 0.232494 1.610230\nv 5.431647 0.000000 -3.946322\nvn -1.862585 0.232495 2.298287\nv 3.946322 0.000000 -5.431647\nvn -1.061214 0.232496 2.761372\nv 2.074704 0.000000 -6.385283\nvn -0.155964 0.232496 2.954154\nv 0.000000 0.000000 -6.713884\nvn 0.764554 0.232496 2.857762\nv -2.074704 0.000000 -6.385283\nvn 1.610231 0.232495 2.481633\nv -3.946321 0.000000 -5.431645\nvn 2.298287 0.232495 1.862586\nv -5.431645 0.000000 -3.946321\nvn 2.761371 0.232498 1.061214\nv -6.385282 0.000000 -2.074704\nvn 2.954154 0.232497 0.155964\nv -6.713882 0.000000 0.000000\nvn 2.857762 0.232498 -0.764553\nv -6.385282 0.000000 2.074704\nvn 2.481633 0.232497 -1.610230\nv -5.431645 0.000000 3.946321\nvn 1.862585 0.232496 -2.298287\nv -3.946321 0.000000 5.431644\nvn 1.061214 0.232496 -2.761371\nv -2.074704 0.000000 6.385281\nvn 0.155964 0.232495 -2.954154\nv -0.000000 0.000000 6.713881\nvn -0.764553 0.232497 -2.857762\nv 2.074703 0.000000 6.385281\nvn -1.610230 0.232497 -2.481634\nv 3.946320 0.000000 5.431644\nvn -2.298287 0.232495 -1.862586\nv 5.431643 0.000000 3.946321\nvn -2.761372 0.232496 -1.061214\nv 6.385280 0.000000 2.074703\nvn -2.954154 0.232497 -0.155966\nv 6.713881 0.000000 0.000000\n# 442 vertices, 0 vertices normals\n\nf 202//202 203//203 204//204\nf 202//202 204//204 205//205\nf 203//203 206//206 207//207\nf 203//203 207//207 204//204\nf 206//206 208//208 209//209\nf 206//206 209//209 207//207\nf 208//208 210//210 211//211\nf 208//208 211//211 209//209\nf 210//210 212//212 213//213\nf 210//210 213//213 211//211\nf 212//212 214//214 215//215\nf 212//212 215//215 213//213\nf 214//214 216//216 217//217\nf 214//214 217//217 215//215\nf 216//216 218//218 219//219\nf 216//216 219//219 217//217\nf 218//218 220//220 221//221\nf 218//218 221//221 219//219\nf 220//220 222//222 223//223\nf 220//220 223//223 221//221\nf 222//222 224//224 225//225\nf 222//222 225//225 223//223\nf 224//224 226//226 227//227\nf 224//224 227//227 225//225\nf 226//226 228//228 229//229\nf 226//226 229//229 227//227\nf 228//228 230//230 231//231\nf 228//228 231//231 229//229\nf 230//230 232//232 233//233\nf 230//230 233//233 231//231\nf 232//232 234//234 235//235\nf 232//232 235//235 233//233\nf 234//234 236//236 237//237\nf 234//234 237//237 235//235\nf 236//236 238//238 239//239\nf 236//236 239//239 237//237\nf 238//238 240//240 241//241\nf 238//238 241//241 239//239\nf 240//240 202//202 205//205\nf 240//240 205//205 241//241\nf 205//205 204//204 242//242\nf 205//205 242//242 243//243\nf 204//204 207//207 244//244\nf 204//204 244//244 242//242\nf 207//207 209//209 245//245\nf 207//207 245//245 244//244\nf 209//209 211//211 246//246\nf 209//209 246//246 245//245\nf 211//211 213//213 247//247\nf 211//211 247//247 246//246\nf 213//213 215//215 248//248\nf 213//213 248//248 247//247\nf 215//215 217//217 249//249\nf 215//215 249//249 248//248\nf 217//217 219//219 250//250\nf 217//217 250//250 249//249\nf 219//219 221//221 251//251\nf 219//219 251//251 250//250\nf 221//221 223//223 252//252\nf 221//221 252//252 251//251\nf 223//223 225//225 253//253\nf 223//223 253//253 252//252\nf 225//225 227//227 254//254\nf 225//225 254//254 253//253\nf 227//227 229//229 255//255\nf 227//227 255//255 254//254\nf 229//229 231//231 256//256\nf 229//229 256//256 255//255\nf 231//231 233//233 257//257\nf 231//231 257//257 256//256\nf 233//233 235//235 258//258\nf 233//233 258//258 257//257\nf 235//235 237//237 259//259\nf 235//235 259//259 258//258\nf 237//237 239//239 260//260\nf 237//237 260//260 259//259\nf 239//239 241//241 261//261\nf 239//239 261//261 260//260\nf 241//241 205//205 243//243\nf 241//241 243//243 261//261\nf 243//243 242//242 262//262\nf 243//243 262//262 263//263\nf 242//242 244//244 264//264\nf 242//242 264//264 262//262\nf 244//244 245//245 265//265\nf 244//244 265//265 264//264\nf 245//245 246//246 266//266\nf 245//245 266//266 265//265\nf 246//246 247//247 267//267\nf 246//246 267//267 266//266\nf 247//247 248//248 268//268\nf 247//247 268//268 267//267\nf 248//248 249//249 269//269\nf 248//248 269//269 268//268\nf 249//249 250//250 270//270\nf 249//249 270//270 269//269\nf 250//250 251//251 271//271\nf 250//250 271//271 270//270\nf 251//251 252//252 272//272\nf 251//251 272//272 271//271\nf 252//252 253//253 273//273\nf 252//252 273//273 272//272\nf 253//253 254//254 274//274\nf 253//253 274//274 273//273\nf 254//254 255//255 275//275\nf 254//254 275//275 274//274\nf 255//255 256//256 276//276\nf 255//255 276//276 275//275\nf 256//256 257//257 277//277\nf 256//256 277//277 276//276\nf 257//257 258//258 278//278\nf 257//257 278//278 277//277\nf 258//258 259//259 279//279\nf 258//258 279//279 278//278\nf 259//259 260//260 280//280\nf 259//259 280//280 279//279\nf 260//260 261//261 281//281\nf 260//260 281//281 280//280\nf 261//261 243//243 263//263\nf 261//261 263//263 281//281\nf 263//263 262//262 282//282\nf 263//263 282//282 283//283\nf 262//262 264//264 284//284\nf 262//262 284//284 282//282\nf 264//264 265//265 285//285\nf 264//264 285//285 284//284\nf 265//265 266//266 286//286\nf 265//265 286//286 285//285\nf 266//266 267//267 287//287\nf 266//266 287//287 286//286\nf 267//267 268//268 288//288\nf 267//267 288//288 287//287\nf 268//268 269//269 289//289\nf 268//268 289//289 288//288\nf 269//269 270//270 290//290\nf 269//269 290//290 289//289\nf 270//270 271//271 291//291\nf 270//270 291//291 290//290\nf 271//271 272//272 292//292\nf 271//271 292//292 291//291\nf 272//272 273//273 293//293\nf 272//272 293//293 292//292\nf 273//273 274//274 294//294\nf 273//273 294//294 293//293\nf 274//274 275//275 295//295\nf 274//274 295//295 294//294\nf 275//275 276//276 296//296\nf 275//275 296//296 295//295\nf 276//276 277//277 297//297\nf 276//276 297//297 296//296\nf 277//277 278//278 298//298\nf 277//277 298//298 297//297\nf 278//278 279//279 299//299\nf 278//278 299//299 298//298\nf 279//279 280//280 300//300\nf 279//279 300//300 299//299\nf 280//280 281//281 301//301\nf 280//280 301//301 300//300\nf 281//281 263//263 283//283\nf 281//281 283//283 301//301\nf 283//283 282//282 302//302\nf 283//283 302//302 303//303\nf 282//282 284//284 304//304\nf 282//282 304//304 302//302\nf 284//284 285//285 305//305\nf 284//284 305//305 304//304\nf 285//285 286//286 306//306\nf 285//285 306//306 305//305\nf 286//286 287//287 307//307\nf 286//286 307//307 306//306\nf 287//287 288//288 308//308\nf 287//287 308//308 307//307\nf 288//288 289//289 309//309\nf 288//288 309//309 308//308\nf 289//289 290//290 310//310\nf 289//289 310//310 309//309\nf 290//290 291//291 311//311\nf 290//290 311//311 310//310\nf 291//291 292//292 312//312\nf 291//291 312//312 311//311\nf 292//292 293//293 313//313\nf 292//292 313//313 312//312\nf 293//293 294//294 314//314\nf 293//293 314//314 313//313\nf 294//294 295//295 315//315\nf 294//294 315//315 314//314\nf 295//295 296//296 316//316\nf 295//295 316//316 315//315\nf 296//296 297//297 317//317\nf 296//296 317//317 316//316\nf 297//297 298//298 318//318\nf 297//297 318//318 317//317\nf 298//298 299//299 319//319\nf 298//298 319//319 318//318\nf 299//299 300//300 320//320\nf 299//299 320//320 319//319\nf 300//300 301//301 321//321\nf 300//300 321//321 320//320\nf 301//301 283//283 303//303\nf 301//301 303//303 321//321\nf 303//303 302//302 322//322\nf 303//303 322//322 323//323\nf 302//302 304//304 324//324\nf 302//302 324//324 322//322\nf 304//304 305//305 325//325\nf 304//304 325//325 324//324\nf 305//305 306//306 326//326\nf 305//305 326//326 325//325\nf 306//306 307//307 327//327\nf 306//306 327//327 326//326\nf 307//307 308//308 328//328\nf 307//307 328//328 327//327\nf 308//308 309//309 329//329\nf 308//308 329//329 328//328\nf 309//309 310//310 330//330\nf 309//309 330//330 329//329\nf 310//310 311//311 331//331\nf 310//310 331//331 330//330\nf 311//311 312//312 332//332\nf 311//311 332//332 331//331\nf 312//312 313//313 333//333\nf 312//312 333//333 332//332\nf 313//313 314//314 334//334\nf 313//313 334//334 333//333\nf 314//314 315//315 335//335\nf 314//314 335//335 334//334\nf 315//315 316//316 336//336\nf 315//315 336//336 335//335\nf 316//316 317//317 337//337\nf 316//316 337//337 336//336\nf 317//317 318//318 338//338\nf 317//317 338//338 337//337\nf 318//318 319//319 339//339\nf 318//318 339//339 338//338\nf 319//319 320//320 340//340\nf 319//319 340//340 339//339\nf 320//320 321//321 341//341\nf 320//320 341//341 340//340\nf 321//321 303//303 323//323\nf 321//321 323//323 341//341\nf 323//323 322//322 342//342\nf 323//323 342//342 343//343\nf 322//322 324//324 344//344\nf 322//322 344//344 342//342\nf 324//324 325//325 345//345\nf 324//324 345//345 344//344\nf 325//325 326//326 346//346\nf 325//325 346//346 345//345\nf 326//326 327//327 347//347\nf 326//326 347//347 346//346\nf 327//327 328//328 348//348\nf 327//327 348//348 347//347\nf 328//328 329//329 349//349\nf 328//328 349//349 348//348\nf 329//329 330//330 350//350\nf 329//329 350//350 349//349\nf 330//330 331//331 351//351\nf 330//330 351//351 350//350\nf 331//331 332//332 352//352\nf 331//331 352//352 351//351\nf 332//332 333//333 353//353\nf 332//332 353//353 352//352\nf 333//333 334//334 354//354\nf 333//333 354//354 353//353\nf 334//334 335//335 355//355\nf 334//334 355//355 354//354\nf 335//335 336//336 356//356\nf 335//335 356//356 355//355\nf 336//336 337//337 357//357\nf 336//336 357//357 356//356\nf 337//337 338//338 358//358\nf 337//337 358//358 357//357\nf 338//338 339//339 359//359\nf 338//338 359//359 358//358\nf 339//339 340//340 360//360\nf 339//339 360//360 359//359\nf 340//340 341//341 361//361\nf 340//340 361//361 360//360\nf 341//341 323//323 343//343\nf 341//341 343//343 361//361\nf 343//343 342//342 362//362\nf 343//343 362//362 363//363\nf 342//342 344//344 364//364\nf 342//342 364//364 362//362\nf 344//344 345//345 365//365\nf 344//344 365//365 364//364\nf 345//345 346//346 366//366\nf 345//345 366//366 365//365\nf 346//346 347//347 367//367\nf 346//346 367//367 366//366\nf 347//347 348//348 368//368\nf 347//347 368//368 367//367\nf 348//348 349//349 369//369\nf 348//348 369//369 368//368\nf 349//349 350//350 370//370\nf 349//349 370//370 369//369\nf 350//350 351//351 371//371\nf 350//350 371//371 370//370\nf 351//351 352//352 372//372\nf 351//351 372//372 371//371\nf 352//352 353//353 373//373\nf 352//352 373//373 372//372\nf 353//353 354//354 374//374\nf 353//353 374//374 373//373\nf 354//354 355//355 375//375\nf 354//354 375//375 374//374\nf 355//355 356//356 376//376\nf 355//355 376//376 375//375\nf 356//356 357//357 377//377\nf 356//356 377//377 376//376\nf 357//357 358//358 378//378\nf 357//357 378//378 377//377\nf 358//358 359//359 379//379\nf 358//358 379//379 378//378\nf 359//359 360//360 380//380\nf 359//359 380//380 379//379\nf 360//360 361//361 381//381\nf 360//360 381//381 380//380\nf 361//361 343//343 363//363\nf 361//361 363//363 381//381\nf 363//363 362//362 403//403\nf 363//363 403//403 404//404\nf 362//362 364//364 405//405\nf 362//362 405//405 403//403\nf 364//364 365//365 406//406\nf 364//364 406//406 405//405\nf 365//365 366//366 407//407\nf 365//365 407//407 406//406\nf 366//366 367//367 408//408\nf 366//366 408//408 407//407\nf 367//367 368//368 409//409\nf 367//367 409//409 408//408\nf 368//368 369//369 410//410\nf 368//368 410//410 409//409\nf 369//369 370//370 411//411\nf 369//369 411//411 410//410\nf 370//370 371//371 412//412\nf 370//370 412//412 411//411\nf 371//371 372//372 413//413\nf 371//371 413//413 412//412\nf 372//372 373//373 414//414\nf 372//372 414//414 413//413\nf 373//373 374//374 415//415\nf 373//373 415//415 414//414\nf 374//374 375//375 416//416\nf 374//374 416//416 415//415\nf 375//375 376//376 417//417\nf 375//375 417//417 416//416\nf 376//376 377//377 418//418\nf 376//376 418//418 417//417\nf 377//377 378//378 419//419\nf 377//377 419//419 418//418\nf 378//378 379//379 420//420\nf 378//378 420//420 419//419\nf 379//379 380//380 421//421\nf 379//379 421//421 420//420\nf 380//380 381//381 422//422\nf 380//380 422//422 421//421\nf 381//381 363//363 404//404\nf 381//381 404//404 422//422\nf 203//203 202//202 402//402\nf 206//206 203//203 402//402\nf 208//208 206//206 402//402\nf 210//210 208//208 402//402\nf 212//212 210//210 402//402\nf 214//214 212//212 402//402\nf 216//216 214//214 402//402\nf 218//218 216//216 402//402\nf 220//220 218//218 402//402\nf 222//222 220//220 402//402\nf 224//224 222//222 402//402\nf 226//226 224//224 402//402\nf 228//228 226//226 402//402\nf 230//230 228//228 402//402\nf 232//232 230//230 402//402\nf 234//234 232//232 402//402\nf 236//236 234//234 402//402\nf 238//238 236//236 402//402\nf 240//240 238//238 402//402\nf 202//202 240//240 402//402\nf 1//1 21//21 22//22\nf 1//1 22//22 2//2\nf 2//2 22//22 23//23\nf 2//2 23//23 3//3\nf 3//3 23//23 24//24\nf 3//3 24//24 4//4\nf 4//4 24//24 25//25\nf 4//4 25//25 5//5\nf 5//5 25//25 26//26\nf 5//5 26//26 6//6\nf 6//6 26//26 27//27\nf 6//6 27//27 7//7\nf 7//7 27//27 28//28\nf 7//7 28//28 8//8\nf 8//8 28//28 29//29\nf 8//8 29//29 9//9\nf 9//9 29//29 30//30\nf 9//9 30//30 10//10\nf 10//10 30//30 31//31\nf 10//10 31//31 11//11\nf 11//11 31//31 32//32\nf 11//11 32//32 12//12\nf 12//12 32//32 33//33\nf 12//12 33//33 13//13\nf 13//13 33//33 34//34\nf 13//13 34//34 14//14\nf 14//14 34//34 35//35\nf 14//14 35//35 15//15\nf 15//15 35//35 36//36\nf 15//15 36//36 16//16\nf 16//16 36//36 37//37\nf 16//16 37//37 17//17\nf 17//17 37//37 38//38\nf 17//17 38//38 18//18\nf 18//18 38//38 39//39\nf 18//18 39//39 19//19\nf 19//19 39//39 40//40\nf 19//19 40//40 20//20\nf 20//20 40//40 21//21\nf 20//20 21//21 1//1\nf 21//21 41//41 42//42\nf 21//21 42//42 22//22\nf 22//22 42//42 43//43\nf 22//22 43//43 23//23\nf 23//23 43//43 44//44\nf 23//23 44//44 24//24\nf 24//24 44//44 45//45\nf 24//24 45//45 25//25\nf 25//25 45//45 46//46\nf 25//25 46//46 26//26\nf 26//26 46//46 47//47\nf 26//26 47//47 27//27\nf 27//27 47//47 48//48\nf 27//27 48//48 28//28\nf 28//28 48//48 49//49\nf 28//28 49//49 29//29\nf 29//29 49//49 50//50\nf 29//29 50//50 30//30\nf 30//30 50//50 51//51\nf 30//30 51//51 31//31\nf 31//31 51//51 52//52\nf 31//31 52//52 32//32\nf 32//32 52//52 53//53\nf 32//32 53//53 33//33\nf 33//33 53//53 54//54\nf 33//33 54//54 34//34\nf 34//34 54//54 55//55\nf 34//34 55//55 35//35\nf 35//35 55//55 56//56\nf 35//35 56//56 36//36\nf 36//36 56//56 57//57\nf 36//36 57//57 37//37\nf 37//37 57//57 58//58\nf 37//37 58//58 38//38\nf 38//38 58//58 59//59\nf 38//38 59//59 39//39\nf 39//39 59//59 60//60\nf 39//39 60//60 40//40\nf 40//40 60//60 41//41\nf 40//40 41//41 21//21\nf 41//41 61//61 62//62\nf 41//41 62//62 42//42\nf 42//42 62//62 63//63\nf 42//42 63//63 43//43\nf 43//43 63//63 64//64\nf 43//43 64//64 44//44\nf 44//44 64//64 65//65\nf 44//44 65//65 45//45\nf 45//45 65//65 66//66\nf 45//45 66//66 46//46\nf 46//46 66//66 67//67\nf 46//46 67//67 47//47\nf 47//47 67//67 68//68\nf 47//47 68//68 48//48\nf 48//48 68//68 69//69\nf 48//48 69//69 49//49\nf 49//49 69//69 70//70\nf 49//49 70//70 50//50\nf 50//50 70//70 71//71\nf 50//50 71//71 51//51\nf 51//51 71//71 72//72\nf 51//51 72//72 52//52\nf 52//52 72//72 73//73\nf 52//52 73//73 53//53\nf 53//53 73//73 74//74\nf 53//53 74//74 54//54\nf 54//54 74//74 75//75\nf 54//54 75//75 55//55\nf 55//55 75//75 76//76\nf 55//55 76//76 56//56\nf 56//56 76//76 77//77\nf 56//56 77//77 57//57\nf 57//57 77//77 78//78\nf 57//57 78//78 58//58\nf 58//58 78//78 79//79\nf 58//58 79//79 59//59\nf 59//59 79//79 80//80\nf 59//59 80//80 60//60\nf 60//60 80//80 61//61\nf 60//60 61//61 41//41\nf 61//61 81//81 82//82\nf 61//61 82//82 62//62\nf 62//62 82//82 83//83\nf 62//62 83//83 63//63\nf 63//63 83//83 84//84\nf 63//63 84//84 64//64\nf 64//64 84//84 85//85\nf 64//64 85//85 65//65\nf 65//65 85//85 86//86\nf 65//65 86//86 66//66\nf 66//66 86//86 87//87\nf 66//66 87//87 67//67\nf 67//67 87//87 88//88\nf 67//67 88//88 68//68\nf 68//68 88//88 89//89\nf 68//68 89//89 69//69\nf 69//69 89//89 90//90\nf 69//69 90//90 70//70\nf 70//70 90//90 91//91\nf 70//70 91//91 71//71\nf 71//71 91//91 92//92\nf 71//71 92//92 72//72\nf 72//72 92//92 93//93\nf 72//72 93//93 73//73\nf 73//73 93//93 94//94\nf 73//73 94//94 74//74\nf 74//74 94//94 95//95\nf 74//74 95//95 75//75\nf 75//75 95//95 96//96\nf 75//75 96//96 76//76\nf 76//76 96//96 97//97\nf 76//76 97//97 77//77\nf 77//77 97//97 98//98\nf 77//77 98//98 78//78\nf 78//78 98//98 99//99\nf 78//78 99//99 79//79\nf 79//79 99//99 100//100\nf 79//79 100//100 80//80\nf 80//80 100//100 81//81\nf 80//80 81//81 61//61\nf 81//81 101//101 102//102\nf 81//81 102//102 82//82\nf 82//82 102//102 103//103\nf 82//82 103//103 83//83\nf 83//83 103//103 104//104\nf 83//83 104//104 84//84\nf 84//84 104//104 105//105\nf 84//84 105//105 85//85\nf 85//85 105//105 106//106\nf 85//85 106//106 86//86\nf 86//86 106//106 107//107\nf 86//86 107//107 87//87\nf 87//87 107//107 108//108\nf 87//87 108//108 88//88\nf 88//88 108//108 109//109\nf 88//88 109//109 89//89\nf 89//89 109//109 110//110\nf 89//89 110//110 90//90\nf 90//90 110//110 111//111\nf 90//90 111//111 91//91\nf 91//91 111//111 112//112\nf 91//91 112//112 92//92\nf 92//92 112//112 113//113\nf 92//92 113//113 93//93\nf 93//93 113//113 114//114\nf 93//93 114//114 94//94\nf 94//94 114//114 115//115\nf 94//94 115//115 95//95\nf 95//95 115//115 116//116\nf 95//95 116//116 96//96\nf 96//96 116//116 117//117\nf 96//96 117//117 97//97\nf 97//97 117//117 118//118\nf 97//97 118//118 98//98\nf 98//98 118//118 119//119\nf 98//98 119//119 99//99\nf 99//99 119//119 120//120\nf 99//99 120//120 100//100\nf 100//100 120//120 101//101\nf 100//100 101//101 81//81\nf 101//101 121//121 122//122\nf 101//101 122//122 102//102\nf 102//102 122//122 123//123\nf 102//102 123//123 103//103\nf 103//103 123//123 124//124\nf 103//103 124//124 104//104\nf 104//104 124//124 125//125\nf 104//104 125//125 105//105\nf 105//105 125//125 126//126\nf 105//105 126//126 106//106\nf 106//106 126//126 127//127\nf 106//106 127//127 107//107\nf 107//107 127//127 128//128\nf 107//107 128//128 108//108\nf 108//108 128//128 129//129\nf 108//108 129//129 109//109\nf 109//109 129//129 130//130\nf 109//109 130//130 110//110\nf 110//110 130//130 131//131\nf 110//110 131//131 111//111\nf 111//111 131//131 132//132\nf 111//111 132//132 112//112\nf 112//112 132//132 133//133\nf 112//112 133//133 113//113\nf 113//113 133//133 134//134\nf 113//113 134//134 114//114\nf 114//114 134//134 135//135\nf 114//114 135//135 115//115\nf 115//115 135//135 136//136\nf 115//115 136//136 116//116\nf 116//116 136//136 137//137\nf 116//116 137//137 117//117\nf 117//117 137//137 138//138\nf 117//117 138//138 118//118\nf 118//118 138//138 139//139\nf 118//118 139//139 119//119\nf 119//119 139//139 140//140\nf 119//119 140//140 120//120\nf 120//120 140//140 121//121\nf 120//120 121//121 101//101\nf 121//121 141//141 142//142\nf 121//121 142//142 122//122\nf 122//122 142//142 143//143\nf 122//122 143//143 123//123\nf 123//123 143//143 144//144\nf 123//123 144//144 124//124\nf 124//124 144//144 145//145\nf 124//124 145//145 125//125\nf 125//125 145//145 146//146\nf 125//125 146//146 126//126\nf 126//126 146//146 147//147\nf 126//126 147//147 127//127\nf 127//127 147//147 148//148\nf 127//127 148//148 128//128\nf 128//128 148//148 149//149\nf 128//128 149//149 129//129\nf 129//129 149//149 150//150\nf 129//129 150//150 130//130\nf 130//130 150//150 151//151\nf 130//130 151//151 131//131\nf 131//131 151//151 152//152\nf 131//131 152//152 132//132\nf 132//132 152//152 153//153\nf 132//132 153//153 133//133\nf 133//133 153//153 154//154\nf 133//133 154//154 134//134\nf 134//134 154//154 155//155\nf 134//134 155//155 135//135\nf 135//135 155//155 156//156\nf 135//135 156//156 136//136\nf 136//136 156//156 157//157\nf 136//136 157//157 137//137\nf 137//137 157//157 158//158\nf 137//137 158//158 138//138\nf 138//138 158//158 159//159\nf 138//138 159//159 139//139\nf 139//139 159//159 160//160\nf 139//139 160//160 140//140\nf 140//140 160//160 141//141\nf 140//140 141//141 121//121\nf 141//141 161//161 162//162\nf 141//141 162//162 142//142\nf 142//142 162//162 163//163\nf 142//142 163//163 143//143\nf 143//143 163//163 164//164\nf 143//143 164//164 144//144\nf 144//144 164//164 165//165\nf 144//144 165//165 145//145\nf 145//145 165//165 166//166\nf 145//145 166//166 146//146\nf 146//146 166//166 167//167\nf 146//146 167//167 147//147\nf 147//147 167//167 168//168\nf 147//147 168//168 148//148\nf 148//148 168//168 169//169\nf 148//148 169//169 149//149\nf 149//149 169//169 170//170\nf 149//149 170//170 150//150\nf 150//150 170//170 171//171\nf 150//150 171//171 151//151\nf 151//151 171//171 172//172\nf 151//151 172//172 152//152\nf 152//152 172//172 173//173\nf 152//152 173//173 153//153\nf 153//153 173//173 174//174\nf 153//153 174//174 154//154\nf 154//154 174//174 175//175\nf 154//154 175//175 155//155\nf 155//155 175//175 176//176\nf 155//155 176//176 156//156\nf 156//156 176//176 177//177\nf 156//156 177//177 157//157\nf 157//157 177//177 178//178\nf 157//157 178//178 158//158\nf 158//158 178//178 179//179\nf 158//158 179//179 159//159\nf 159//159 179//179 180//180\nf 159//159 180//180 160//160\nf 160//160 180//180 161//161\nf 160//160 161//161 141//141\nf 161//161 423//423 424//424\nf 161//161 424//424 162//162\nf 162//162 424//424 425//425\nf 162//162 425//425 163//163\nf 163//163 425//425 426//426\nf 163//163 426//426 164//164\nf 164//164 426//426 427//427\nf 164//164 427//427 165//165\nf 165//165 427//427 428//428\nf 165//165 428//428 166//166\nf 166//166 428//428 429//429\nf 166//166 429//429 167//167\nf 167//167 429//429 430//430\nf 167//167 430//430 168//168\nf 168//168 430//430 431//431\nf 168//168 431//431 169//169\nf 169//169 431//431 432//432\nf 169//169 432//432 170//170\nf 170//170 432//432 433//433\nf 170//170 433//433 171//171\nf 171//171 433//433 434//434\nf 171//171 434//434 172//172\nf 172//172 434//434 435//435\nf 172//172 435//435 173//173\nf 173//173 435//435 436//436\nf 173//173 436//436 174//174\nf 174//174 436//436 437//437\nf 174//174 437//437 175//175\nf 175//175 437//437 438//438\nf 175//175 438//438 176//176\nf 176//176 438//438 439//439\nf 176//176 439//439 177//177\nf 177//177 439//439 440//440\nf 177//177 440//440 178//178\nf 178//178 440//440 441//441\nf 178//178 441//441 179//179\nf 179//179 441//441 442//442\nf 179//179 442//442 180//180\nf 180//180 442//442 423//423\nf 180//180 423//423 161//161\nf 2//2 201//201 1//1\nf 3//3 201//201 2//2\nf 4//4 201//201 3//3\nf 5//5 201//201 4//4\nf 6//6 201//201 5//5\nf 7//7 201//201 6//6\nf 8//8 201//201 7//7\nf 9//9 201//201 8//8\nf 10//10 201//201 9//9\nf 11//11 201//201 10//10\nf 12//12 201//201 11//11\nf 13//13 201//201 12//12\nf 14//14 201//201 13//13\nf 15//15 201//201 14//14\nf 16//16 201//201 15//15\nf 17//17 201//201 16//16\nf 18//18 201//201 17//17\nf 19//19 201//201 18//18\nf 20//20 201//201 19//19\nf 1//1 201//201 20//20\nf 182//182 181//181 383//383\nf 182//182 383//383 382//382\nf 183//183 182//182 382//382\nf 183//183 382//382 384//384\nf 184//184 183//183 384//384\nf 184//184 384//384 385//385\nf 185//185 184//184 385//385\nf 185//185 385//385 386//386\nf 186//186 185//185 386//386\nf 186//186 386//386 387//387\nf 187//187 186//186 387//387\nf 187//187 387//387 388//388\nf 188//188 187//187 388//388\nf 188//188 388//388 389//389\nf 189//189 188//188 389//389\nf 189//189 389//389 390//390\nf 190//190 189//189 390//390\nf 190//190 390//390 391//391\nf 191//191 190//190 391//391\nf 191//191 391//391 392//392\nf 192//192 191//191 392//392\nf 192//192 392//392 393//393\nf 193//193 192//192 393//393\nf 193//193 393//393 394//394\nf 194//194 193//193 394//394\nf 194//194 394//394 395//395\nf 195//195 194//194 395//395\nf 195//195 395//395 396//396\nf 196//196 195//195 396//396\nf 196//196 396//396 397//397\nf 197//197 196//196 397//397\nf 197//197 397//397 398//398\nf 198//198 197//197 398//398\nf 198//198 398//398 399//399\nf 199//199 198//198 399//399\nf 199//199 399//399 400//400\nf 200//200 199//199 400//400\nf 200//200 400//400 401//401\nf 181//181 200//200 401//401\nf 181//181 401//401 383//383\n# 800 faces, 0 coords texture\n\n# End of File"
  },
  {
    "path": "data/bowl_high.ply",
    "content": "ply\nformat ascii 1.0\ncomment VCGLIB generated\nelement vertex 6442\nproperty float x\nproperty float y\nproperty float z\nelement face 12560\nproperty list uchar int vertex_indices\nend_header\n0.998878 -6.63122 -0.324555 \n0.849697 -6.63122 -0.617341 \n0.617341 -6.63122 -0.849697 \n0.324555 -6.63122 -0.998878 \n0 -6.63122 -1.05028 \n-0.324555 -6.63122 -0.998878 \n-0.617341 -6.63122 -0.849697 \n-0.849697 -6.63122 -0.617341 \n-0.998878 -6.63122 -0.324555 \n-1.05028 -6.63122 0 \n-0.998878 -6.63122 0.324555 \n-0.849697 -6.63122 0.617341 \n-0.617341 -6.63122 0.849696 \n-0.324555 -6.63122 0.998878 \n-0 -6.63122 1.05028 \n0.324555 -6.63122 0.998878 \n0.61734 -6.63122 0.849696 \n0.849696 -6.63122 0.617341 \n0.998878 -6.63122 0.324555 \n1.05028 -6.63122 0 \n1.97316 -6.38528 -0.641119 \n1.67847 -6.38528 -1.21948 \n1.21948 -6.38528 -1.67847 \n0.641119 -6.38528 -1.97316 \n0 -6.38528 -2.0747 \n-0.641119 -6.38528 -1.97316 \n-1.21948 -6.38528 -1.67847 \n-1.67847 -6.38528 -1.21948 \n-1.97316 -6.38528 -0.641119 \n-2.0747 -6.38528 0 \n-1.97316 -6.38528 0.641119 \n-1.67847 -6.38528 1.21948 \n-1.21948 -6.38528 1.67847 \n-0.641119 -6.38528 1.97316 \n-0 -6.38528 2.0747 \n0.641119 -6.38528 1.97316 \n1.21948 -6.38528 1.67847 \n1.67847 -6.38528 1.21948 \n1.97316 -6.38528 0.641119 \n2.0747 -6.38528 0 \n2.89886 -5.98211 -0.941896 \n2.46592 -5.98211 -1.79159 \n1.79159 -5.98211 -2.46592 \n0.941896 -5.98211 -2.89886 \n0 -5.98211 -3.04804 \n-0.941896 -5.98211 -2.89886 \n-1.79159 -5.98211 -2.46591 \n-2.46591 -5.98211 -1.79159 \n-2.89886 -5.98211 -0.941896 \n-3.04804 -5.98211 0 \n-2.89886 -5.98211 0.941896 \n-2.46591 -5.98211 1.79159 \n-1.79159 -5.98211 2.46591 \n-0.941896 -5.98211 2.89886 \n-0 -5.98211 3.04804 \n0.941895 -5.98211 2.89886 \n1.79159 -5.98211 2.46591 \n2.46591 -5.98211 1.79159 \n2.89886 -5.98211 0.941896 \n3.04804 -5.98211 0 \n3.75318 -5.43164 -1.21948 \n3.19264 -5.43164 -2.31959 \n2.31959 -5.43164 -3.19264 \n1.21948 -5.43164 -3.75318 \n0 -5.43164 -3.94632 \n-1.21948 -5.43164 -3.75318 \n-2.31959 -5.43164 -3.19264 \n-3.19264 -5.43164 -2.31959 \n-3.75317 -5.43164 -1.21948 \n-3.94632 -5.43164 0 \n-3.75317 -5.43164 1.21948 \n-3.19264 -5.43164 2.31959 \n-2.31959 -5.43164 3.19264 \n-1.21948 -5.43164 3.75317 \n-0 -5.43164 3.94632 \n1.21948 -5.43164 3.75317 \n2.31959 -5.43164 3.19264 \n3.19264 -5.43164 2.31959 \n3.75317 -5.43164 1.21948 \n3.94632 -5.43164 0 \n4.51508 -4.74743 -1.46704 \n3.84075 -4.74743 -2.79047 \n2.79047 -4.74743 -3.84075 \n1.46704 -4.74743 -4.51508 \n0 -4.74743 -4.74743 \n-1.46704 -4.74743 -4.51508 \n-2.79047 -4.74743 -3.84075 \n-3.84075 -4.74743 -2.79047 \n-4.51508 -4.74743 -1.46704 \n-4.74743 -4.74743 0 \n-4.51508 -4.74743 1.46704 \n-3.84075 -4.74743 2.79047 \n-2.79047 -4.74743 3.84075 \n-1.46704 -4.74743 4.51508 \n-0 -4.74743 4.74743 \n1.46704 -4.74743 4.51508 \n2.79047 -4.74743 3.84075 \n3.84075 -4.74743 2.79047 \n4.51508 -4.74743 1.46704 \n4.74743 -4.74743 0 \n5.1658 -3.94632 -1.67847 \n4.3943 -3.94632 -3.19264 \n3.19264 -3.94632 -4.3943 \n1.67847 -3.94632 -5.1658 \n0 -3.94632 -5.43165 \n-1.67847 -3.94632 -5.1658 \n-3.19264 -3.94632 -4.39429 \n-4.39429 -3.94632 -3.19264 \n-5.1658 -3.94632 -1.67847 \n-5.43164 -3.94632 0 \n-5.1658 -3.94632 1.67847 \n-4.39429 -3.94632 3.19264 \n-3.19264 -3.94632 4.39429 \n-1.67847 -3.94632 5.1658 \n-0 -3.94632 5.43164 \n1.67847 -3.94632 5.1658 \n3.19264 -3.94632 4.39429 \n4.39429 -3.94632 3.19264 \n5.1658 -3.94632 1.67847 \n5.43164 -3.94632 0 \n5.68933 -3.04804 -1.84857 \n4.83963 -3.04804 -3.5162 \n3.5162 -3.04804 -4.83963 \n1.84857 -3.04804 -5.68933 \n0 -3.04804 -5.98211 \n-1.84857 -3.04804 -5.68933 \n-3.5162 -3.04804 -4.83963 \n-4.83963 -3.04804 -3.5162 \n-5.68933 -3.04804 -1.84857 \n-5.98211 -3.04804 0 \n-5.68933 -3.04804 1.84857 \n-4.83963 -3.04804 3.5162 \n-3.5162 -3.04804 4.83963 \n-1.84857 -3.04804 5.68933 \n-0 -3.04804 5.98211 \n1.84857 -3.04804 5.68933 \n3.5162 -3.04804 4.83963 \n4.83963 -3.04804 3.5162 \n5.68933 -3.04804 1.84857 \n5.98211 -3.04804 0 \n6.07277 -2.0747 -1.97316 \n5.1658 -2.0747 -3.75318 \n3.75318 -2.0747 -5.1658 \n1.97316 -2.0747 -6.07276 \n0 -2.0747 -6.38528 \n-1.97316 -2.0747 -6.07276 \n-3.75318 -2.0747 -5.1658 \n-5.1658 -2.0747 -3.75318 \n-6.07276 -2.0747 -1.97316 \n-6.38528 -2.0747 0 \n-6.07276 -2.0747 1.97316 \n-5.1658 -2.0747 3.75317 \n-3.75317 -2.0747 5.1658 \n-1.97316 -2.0747 6.07276 \n-0 -2.0747 6.38528 \n1.97316 -2.0747 6.07276 \n3.75317 -2.0747 5.1658 \n5.1658 -2.0747 3.75317 \n6.07276 -2.0747 1.97316 \n6.38528 -2.0747 0 \n6.30667 -1.05028 -2.04916 \n5.36478 -1.05028 -3.89774 \n3.89774 -1.05028 -5.36477 \n2.04916 -1.05028 -6.30667 \n0 -1.05028 -6.63123 \n-2.04916 -1.05028 -6.30667 \n-3.89774 -1.05028 -5.36477 \n-5.36477 -1.05028 -3.89774 \n-6.30667 -1.05028 -2.04916 \n-6.63122 -1.05028 0 \n-6.30667 -1.05028 2.04916 \n-5.36477 -1.05028 3.89774 \n-3.89774 -1.05028 5.36477 \n-2.04916 -1.05028 6.30667 \n-0 -1.05028 6.63122 \n2.04916 -1.05028 6.30667 \n3.89773 -1.05028 5.36477 \n5.36477 -1.05028 3.89774 \n6.30667 -1.05028 2.04916 \n6.63122 -1.05028 0 \n6.38528 0 -2.0747 \n5.43165 0 -3.94632 \n3.94632 0 -5.43165 \n2.0747 0 -6.38528 \n0 0 -6.71388 \n-2.0747 0 -6.38528 \n-3.94632 0 -5.43164 \n-5.43164 0 -3.94632 \n-6.38528 0 -2.0747 \n-6.71388 0 0 \n-6.38528 0 2.0747 \n-5.43164 0 3.94632 \n-3.94632 0 5.43164 \n-2.0747 0 6.38528 \n-0 0 6.71388 \n2.0747 0 6.38528 \n3.94632 0 5.43164 \n5.43164 0 3.94632 \n6.38528 0 2.0747 \n6.71388 0 0 \n0 -6.71388 0 \n1.14817 -7.59819 -0.373076 \n0.976686 -7.59819 -0.709606 \n1.92911 -7.31556 -1.40158 \n2.2678 -7.31556 -0.736849 \n0.709607 -7.59819 -0.976686 \n1.40158 -7.31556 -1.9291 \n0.373058 -7.59819 -1.14816 \n0.73685 -7.31556 -2.2678 \n-3e-006 -7.59819 -1.20725 \n2e-006 -7.31556 -2.38451 \n-0.373071 -7.59819 -1.14816 \n-0.736853 -7.31556 -2.2678 \n-0.709604 -7.59819 -0.976687 \n-1.40158 -7.31556 -1.9291 \n-0.976693 -7.59819 -0.709604 \n-1.9291 -7.31556 -1.40158 \n-1.14817 -7.59819 -0.373059 \n-2.2678 -7.31556 -0.73685 \n-1.20725 -7.59819 -6e-006 \n-2.3845 -7.31556 7e-006 \n-1.14817 -7.59819 0.373052 \n-2.2678 -7.31556 0.736848 \n-0.976685 -7.59819 0.709609 \n-1.9291 -7.31556 1.40158 \n-0.709604 -7.59819 0.976686 \n-1.40158 -7.31556 1.92911 \n-0.373069 -7.59819 1.14816 \n-0.736851 -7.31556 2.2678 \n-4e-006 -7.59819 1.20725 \n-3e-006 -7.31556 2.3845 \n0.373068 -7.59819 1.14816 \n0.736854 -7.31556 2.2678 \n0.709604 -7.59819 0.976686 \n1.40157 -7.31556 1.9291 \n0.976691 -7.59819 0.709602 \n1.92911 -7.31556 1.40157 \n1.14817 -7.59819 0.373056 \n2.2678 -7.31556 0.736851 \n1.20725 -7.59819 -7e-006 \n2.38451 -7.31556 1e-006 \n2.83363 -6.85245 -2.05874 \n3.33113 -6.85245 -1.08235 \n2.05875 -6.85245 -2.83362 \n1.08235 -6.85245 -3.33113 \n-3e-006 -6.85245 -3.50256 \n-1.08235 -6.85245 -3.33113 \n-2.05875 -6.85245 -2.83363 \n-2.83363 -6.85245 -2.05875 \n-3.33112 -6.85245 -1.08235 \n-3.50255 -6.85245 -2e-006 \n-3.33112 -6.85245 1.08235 \n-2.83363 -6.85245 2.05875 \n-2.05875 -6.85245 2.83362 \n-1.08235 -6.85245 3.33112 \n1e-006 -6.85245 3.50255 \n1.08235 -6.85245 3.33112 \n2.05875 -6.85245 2.83363 \n2.83363 -6.85245 2.05875 \n3.33112 -6.85245 1.08235 \n3.50255 -6.85245 1e-006 \n3.66789 -6.22052 -2.66488 \n4.31187 -6.22052 -1.40101 \n2.66488 -6.22052 -3.66789 \n1.40101 -6.22052 -4.31187 \n-1e-006 -6.22052 -4.53376 \n-1.40101 -6.22052 -4.31186 \n-2.66488 -6.22052 -3.66789 \n-3.66789 -6.22053 -2.66488 \n-4.31186 -6.22052 -1.40101 \n-4.53376 -6.22052 -2e-006 \n-4.31186 -6.22052 1.40101 \n-3.66789 -6.22052 2.66488 \n-2.66488 -6.22052 3.66789 \n-1.40101 -6.22052 4.31186 \n0 -6.22052 4.53376 \n1.40101 -6.22052 4.31186 \n2.66488 -6.22052 3.66789 \n3.66789 -6.22052 2.66488 \n4.31187 -6.22052 1.40101 \n4.53377 -6.22052 2e-006 \n4.41139 -5.43561 -3.20506 \n5.1859 -5.43561 -1.685 \n3.20506 -5.43561 -4.41139 \n1.685 -5.43562 -5.1859 \n3e-006 -5.43561 -5.45278 \n-1.685 -5.43562 -5.18589 \n-3.20506 -5.43562 -4.41138 \n-4.41138 -5.43562 -3.20506 \n-5.1859 -5.43562 -1.685 \n-5.45277 -5.43562 1e-006 \n-5.1859 -5.43562 1.685 \n-4.41139 -5.43562 3.20506 \n-3.20506 -5.43562 4.41139 \n-1.685 -5.43562 5.18589 \n3e-006 -5.43562 5.45277 \n1.685 -5.43562 5.18589 \n3.20506 -5.43561 4.41139 \n4.41139 -5.43561 3.20506 \n5.18589 -5.43562 1.685 \n5.45277 -5.43561 0 \n5.04592 -4.51728 -3.66608 \n5.93184 -4.51728 -1.92737 \n3.66607 -4.51729 -5.04592 \n1.92737 -4.51728 -5.93184 \n0 -4.51729 -6.2371 \n-1.92737 -4.51728 -5.93184 \n-3.66608 -4.51728 -5.04592 \n-5.04592 -4.51728 -3.66608 \n-5.93184 -4.51728 -1.92737 \n-6.2371 -4.51729 1e-006 \n-5.93184 -4.51729 1.92737 \n-5.04592 -4.51729 3.66608 \n-3.66608 -4.51728 5.04592 \n-1.92737 -4.51729 5.93184 \n-2e-006 -4.51728 6.2371 \n1.92737 -4.51729 5.93183 \n3.66607 -4.51728 5.04592 \n5.04592 -4.51728 3.66608 \n5.93184 -4.51728 1.92737 \n6.2371 -4.51728 2e-006 \n5.55607 -3.48829 -4.03672 \n6.53155 -3.48828 -2.12223 \n4.03672 -3.48828 -5.55607 \n2.12223 -3.48828 -6.53155 \n-1e-006 -3.48828 -6.86768 \n-2.12223 -3.48828 -6.53155 \n-4.03672 -3.48828 -5.55607 \n-5.55607 -3.48828 -4.03672 \n-6.53155 -3.48828 -2.12223 \n-6.86768 -3.48828 0 \n-6.53155 -3.48828 2.12223 \n-5.55607 -3.48828 4.03672 \n-4.03672 -3.48828 5.55607 \n-2.12223 -3.48828 6.53155 \n1e-006 -3.48828 6.86767 \n2.12223 -3.48828 6.53155 \n4.03672 -3.48828 5.55607 \n5.55607 -3.48828 4.03672 \n6.53155 -3.48828 2.12223 \n6.86767 -3.48828 -1e-006 \n5.92949 -2.37395 -4.30802 \n6.97053 -2.37395 -2.26486 \n4.30802 -2.37395 -5.92949 \n2.26486 -2.37395 -6.97053 \n1e-006 -2.37396 -7.32925 \n-2.26486 -2.37396 -6.97053 \n-4.30802 -2.37396 -5.92948 \n-5.92948 -2.37396 -4.30802 \n-6.97053 -2.37395 -2.26486 \n-7.32925 -2.37396 -0 \n-6.97053 -2.37396 2.26486 \n-5.92948 -2.37396 4.30802 \n-4.30802 -2.37396 5.92948 \n-2.26486 -2.37395 6.97053 \n-2e-006 -2.37396 7.32925 \n2.26486 -2.37396 6.97052 \n4.30802 -2.37396 5.92948 \n5.92948 -2.37396 4.30802 \n6.97053 -2.37396 2.26486 \n7.32925 -2.37396 -0 \n6.15718 -1.20164 -4.47346 \n7.2382 -1.20164 -2.35183 \n4.47345 -1.20164 -6.15718 \n2.35183 -1.20164 -7.2382 \n-1e-006 -1.20164 -7.61069 \n-2.35184 -1.20164 -7.2382 \n-4.47345 -1.20164 -6.15718 \n-6.15718 -1.20164 -4.47345 \n-7.2382 -1.20164 -2.35184 \n-7.61069 -1.20164 0 \n-7.2382 -1.20164 2.35183 \n-6.15718 -1.20164 4.47345 \n-4.47345 -1.20164 6.15718 \n-2.35183 -1.20164 7.2382 \n0 -1.20164 7.61069 \n2.35183 -1.20164 7.2382 \n4.47345 -1.20164 6.15718 \n6.15718 -1.20164 4.47345 \n7.2382 -1.20164 2.35183 \n7.61069 -1.20164 3e-006 \n6.22875 -0.077543 -4.52546 \n7.32234 -0.077544 -2.37917 \n4.52546 -0.077543 -6.22875 \n2.37917 -0.077543 -7.32234 \n0 -0.077543 -7.69916 \n-2.37917 -0.077543 -7.32234 \n-4.52545 -0.077543 -6.22875 \n-6.22875 -0.077543 -4.52545 \n-7.32234 -0.077543 -2.37917 \n-7.69916 -0.077543 1e-006 \n-7.32234 -0.077543 2.37917 \n-6.22875 -0.077543 4.52545 \n-4.52545 -0.077543 6.22875 \n-2.37917 -0.077543 7.32234 \n-1e-006 -0.077543 7.69916 \n2.37917 -0.077543 7.32234 \n4.52545 -0.077543 6.22875 \n6.22875 -0.077543 4.52545 \n7.32234 -0.077543 2.37917 \n7.69916 -0.077543 2e-006 \n7e-006 -7.69321 -3e-006 \n6.22875 -0.077543 -4.52546 \n7.32234 -0.077544 -2.37917 \n4.52546 -0.077543 -6.22875 \n2.37917 -0.077543 -7.32234 \n0 -0.077543 -7.69916 \n-2.37917 -0.077543 -7.32234 \n-4.52545 -0.077543 -6.22875 \n-6.22875 -0.077543 -4.52545 \n-7.32234 -0.077543 -2.37917 \n-7.69916 -0.077543 1e-006 \n-7.32234 -0.077543 2.37917 \n-6.22875 -0.077543 4.52545 \n-4.52545 -0.077543 6.22875 \n-2.37917 -0.077543 7.32234 \n-1e-006 -0.077543 7.69916 \n2.37917 -0.077543 7.32234 \n4.52545 -0.077543 6.22875 \n6.22875 -0.077543 4.52545 \n7.32234 -0.077543 2.37917 \n7.69916 -0.077543 2e-006 \n6.38528 0 -2.0747 \n5.43165 0 -3.94632 \n3.94632 0 -5.43165 \n2.0747 0 -6.38528 \n0 0 -6.71388 \n-2.0747 0 -6.38528 \n-3.94632 0 -5.43164 \n-5.43164 0 -3.94632 \n-6.38528 0 -2.0747 \n-6.71388 0 0 \n-6.38528 0 2.0747 \n-5.43164 0 3.94632 \n-3.94632 0 5.43164 \n-2.0747 0 6.38528 \n-0 0 6.71388 \n2.0747 0 6.38528 \n3.94632 0 5.43164 \n5.43164 0 3.94632 \n6.38528 0 2.0747 \n6.71388 0 0 \n0.954427 -7.61007 -0.488873 \n1.45685 -7.47988 -1.05917 \n1.60404 -7.47988 -0.818892 \n2.12281 -7.31556 -1.08409 \n1.71285 -7.47988 -0.557138 \n0.756646 -7.61007 -0.759871 \n1.05825 -7.47988 -1.45752 \n1.27249 -7.47988 -1.27448 \n1.68391 -7.31556 -1.68702 \n0.484798 -7.61007 -0.956496 \n0.556056 -7.47988 -1.7132 \n0.816368 -7.47988 -1.60532 \n1.08018 -7.31556 -2.1248 \n0.165495 -7.61007 -1.05949 \n-0.000564564 -7.47988 -1.80118 \n0.280338 -7.47988 -1.77903 \n0.370708 -7.31556 -2.35461 \n-0.17001 -7.61007 -1.05878 \n-0.557138 -7.47988 -1.71285 \n-0.283132 -7.47988 -1.77858 \n-0.375047 -7.31556 -2.35392 \n-0.488869 -7.61007 -0.954423 \n-1.05917 -7.47988 -1.45685 \n-0.818892 -7.47988 -1.60404 \n-1.0841 -7.31556 -2.12281 \n-0.759872 -7.61007 -0.756645 \n-1.45752 -7.47988 -1.05825 \n-1.27448 -7.47988 -1.27249 \n-1.68702 -7.31556 -1.68391 \n-0.9565 -7.61007 -0.484796 \n-1.7132 -7.47988 -0.556055 \n-1.60533 -7.47988 -0.816368 \n-2.1248 -7.31556 -1.08018 \n-1.05949 -7.61007 -0.165497 \n-1.80118 -7.47988 0.000564996 \n-1.77903 -7.47988 -0.280335 \n-2.3546 -7.31556 -0.370703 \n-1.05878 -7.61007 0.169995 \n-1.71285 -7.47988 0.557124 \n-1.77859 -7.47988 0.283124 \n-2.35392 -7.31556 0.375049 \n-0.954423 -7.61007 0.488863 \n-1.45685 -7.47988 1.05917 \n-1.60404 -7.47988 0.818882 \n-2.12281 -7.31556 1.08409 \n-0.756642 -7.61007 0.759873 \n-1.05825 -7.47988 1.45752 \n-1.27248 -7.47988 1.27449 \n-1.68391 -7.31556 1.68702 \n-0.4848 -7.61007 0.956494 \n-0.556063 -7.47988 1.7132 \n-0.816369 -7.47988 1.60532 \n-1.08018 -7.31556 2.12481 \n-0.165503 -7.61007 1.05949 \n0.000558935 -7.47988 1.80118 \n-0.280346 -7.47988 1.77902 \n-0.37071 -7.31556 2.3546 \n0.170008 -7.61007 1.05878 \n0.557135 -7.47988 1.71285 \n0.28313 -7.47988 1.77858 \n0.375046 -7.31556 2.35392 \n0.488868 -7.61007 0.954423 \n1.05916 -7.47988 1.45685 \n0.818886 -7.47988 1.60404 \n1.08409 -7.31556 2.12281 \n0.759874 -7.61007 0.756642 \n1.45752 -7.47988 1.05825 \n1.27448 -7.47988 1.27248 \n1.68702 -7.31556 1.68391 \n0.956501 -7.61007 0.484794 \n1.7132 -7.47988 0.556056 \n1.60533 -7.47988 0.816366 \n2.12481 -7.31556 1.08018 \n1.0595 -7.61007 0.165491 \n1.80118 -7.47988 -0.000566002 \n1.77903 -7.47988 0.280337 \n2.35461 -7.31556 0.370709 \n1.05878 -7.61007 -0.170015 \n1.77859 -7.47988 -0.283133 \n2.35392 -7.31556 -0.375046 \n2.38807 -7.10584 -1.73569 \n2.62954 -7.10584 -1.34131 \n3.11869 -6.85245 -1.59136 \n2.80756 -7.10584 -0.912789 \n1.73484 -7.10584 -2.3887 \n2.08635 -7.10584 -2.08824 \n2.47429 -6.85245 -2.4772 \n0.911774 -7.10584 -2.80788 \n1.33893 -7.10584 -2.63075 \n1.5877 -6.85245 -3.12056 \n-0.00053443 -7.10584 -2.95221 \n0.460449 -7.10584 -2.91575 \n0.54568 -6.85245 -3.45845 \n-0.912792 -7.10584 -2.80755 \n-0.463099 -7.10584 -2.91533 \n-0.549748 -6.85245 -3.45781 \n-1.7357 -7.10584 -2.38807 \n-1.34132 -7.10584 -2.62953 \n-1.59136 -6.85245 -3.11869 \n-2.3887 -7.10584 -1.73484 \n-2.08824 -7.10584 -2.08634 \n-2.4772 -6.85245 -2.47429 \n-2.80788 -7.10584 -0.911776 \n-2.63075 -7.10584 -1.33893 \n-3.12056 -6.85245 -1.5877 \n-2.95221 -7.10584 0.000536446 \n-2.91574 -7.10584 -0.46045 \n-3.45845 -6.85245 -0.545684 \n-2.80755 -7.10584 0.912789 \n-2.91532 -7.10584 0.463101 \n-3.4578 -6.85245 0.549745 \n-2.38807 -7.10584 1.7357 \n-2.62953 -7.10584 1.34132 \n-3.11869 -6.85245 1.59136 \n-1.73483 -7.10584 2.3887 \n-2.08634 -7.10584 2.08824 \n-2.47429 -6.85245 2.4772 \n-0.911775 -7.10584 2.80788 \n-1.33893 -7.10584 2.63075 \n-1.5877 -6.85245 3.12055 \n0.000533063 -7.10584 2.95221 \n-0.46045 -7.10584 2.91575 \n-0.545682 -6.85245 3.45845 \n0.912791 -7.10584 2.80755 \n0.463097 -7.10584 2.91532 \n0.549745 -6.85245 3.4578 \n1.7357 -7.10584 2.38808 \n1.34132 -7.10584 2.62953 \n1.59136 -6.85245 3.11869 \n2.3887 -7.10584 1.73483 \n2.08824 -7.10584 2.08635 \n2.4772 -6.85245 2.47429 \n2.80788 -7.10584 0.911774 \n2.63075 -7.10584 1.33893 \n3.12056 -6.85245 1.5877 \n2.95221 -7.10584 -0.000532757 \n2.91574 -7.10584 0.460452 \n3.45845 -6.85245 0.545683 \n2.91533 -7.10584 -0.463099 \n3.45781 -6.85245 -0.549746 \n3.26004 -6.5566 -2.36916 \n3.58978 -6.5566 -1.83047 \n4.03725 -6.22052 -2.05918 \n3.8326 -6.5566 -1.2458 \n2.36837 -6.5566 -3.26062 \n2.84844 -6.5566 -2.85018 \n3.20333 -6.22052 -3.20597 \n1.24487 -6.5566 -3.8329 \n1.82827 -6.5566 -3.5909 \n2.05585 -6.22052 -4.03894 \n-0.000491861 -6.5566 -4.02999 \n0.629137 -6.5566 -3.98012 \n0.707126 -6.22052 -4.47656 \n-1.2458 -6.5566 -3.8326 \n-0.631581 -6.5566 -3.97973 \n-0.710815 -6.22052 -4.47597 \n-2.36917 -6.5566 -3.26004 \n-1.83047 -6.5566 -3.58978 \n-2.05918 -6.22052 -4.03725 \n-3.26062 -6.5566 -2.36837 \n-2.85019 -6.5566 -2.84844 \n-3.20597 -6.22052 -3.20333 \n-3.8329 -6.5566 -1.24487 \n-3.5909 -6.5566 -1.82827 \n-4.03894 -6.22053 -2.05585 \n-4.02999 -6.5566 0.000487674 \n-3.98012 -6.5566 -0.629141 \n-4.47655 -6.22052 -0.707127 \n-3.83259 -6.5566 1.2458 \n-3.97973 -6.5566 0.631577 \n-4.47597 -6.22052 0.710814 \n-3.26004 -6.5566 2.36917 \n-3.58978 -6.5566 1.83047 \n-4.03724 -6.22052 2.05918 \n-2.36837 -6.5566 3.26062 \n-2.84844 -6.5566 2.85018 \n-3.20333 -6.22052 3.20597 \n-1.24487 -6.5566 3.8329 \n-1.82827 -6.5566 3.5909 \n-2.05585 -6.22052 4.03894 \n0.000490621 -6.5566 4.02999 \n-0.629139 -6.5566 3.98012 \n-0.707127 -6.22052 4.47655 \n1.2458 -6.5566 3.83259 \n0.631579 -6.5566 3.97973 \n0.710814 -6.22052 4.47597 \n2.36916 -6.5566 3.26004 \n1.83047 -6.5566 3.58978 \n2.05917 -6.22052 4.03725 \n3.26062 -6.5566 2.36837 \n2.85019 -6.5566 2.84844 \n3.20597 -6.22052 3.20333 \n3.8329 -6.5566 1.24487 \n3.5909 -6.5566 1.82827 \n4.03894 -6.22052 2.05585 \n4.02999 -6.5566 -0.00048862 \n3.98012 -6.5566 0.62914 \n4.47656 -6.22052 0.707129 \n3.97973 -6.5566 -0.631579 \n4.47597 -6.22052 -0.710814 \n4.05126 -5.84597 -2.94395 \n4.46111 -5.84597 -2.27428 \n4.8559 -5.43561 -2.47603 \n4.76271 -5.84597 -1.54795 \n2.94325 -5.84597 -4.05177 \n3.53998 -5.84597 -3.54153 \n3.85309 -5.43561 -3.8554 \n1.54713 -5.84597 -4.76297 \n2.27232 -5.84597 -4.46211 \n2.47313 -5.43561 -4.85737 \n-0.000432938 -5.84597 -5.00794 \n0.782241 -5.84597 -4.9459 \n0.851073 -5.43562 -5.38387 \n-1.54795 -5.84597 -4.7627 \n-0.784412 -5.84597 -4.94556 \n-0.854289 -5.43562 -5.38336 \n-2.94395 -5.84597 -4.05125 \n-2.27428 -5.84597 -4.4611 \n-2.47603 -5.43562 -4.85589 \n-4.05176 -5.84597 -2.94324 \n-3.54153 -5.84597 -3.53997 \n-3.8554 -5.43562 -3.85309 \n-4.76297 -5.84597 -1.54712 \n-4.4621 -5.84597 -2.27232 \n-4.85737 -5.43562 -2.47312 \n-5.00794 -5.84597 0.000433862 \n-4.9459 -5.84597 -0.782239 \n-5.38387 -5.43562 -0.851068 \n-4.7627 -5.84597 1.54795 \n-4.94556 -5.84597 0.784412 \n-5.38336 -5.43562 0.854291 \n-4.05126 -5.84597 2.94395 \n-4.46111 -5.84597 2.27428 \n-4.85589 -5.43562 2.47603 \n-2.94324 -5.84597 4.05177 \n-3.53997 -5.84597 3.54153 \n-3.85309 -5.43562 3.8554 \n-1.54713 -5.84597 4.76297 \n-2.27232 -5.84597 4.4621 \n-2.47312 -5.43562 4.85737 \n0.000435185 -5.84597 5.00794 \n-0.78224 -5.84597 4.9459 \n-0.85107 -5.43562 5.38387 \n1.54795 -5.84597 4.7627 \n0.784412 -5.84597 4.94555 \n0.854292 -5.43562 5.38336 \n2.94395 -5.84597 4.05126 \n2.27428 -5.84597 4.46111 \n2.47603 -5.43562 4.85589 \n4.05177 -5.84597 2.94324 \n3.54153 -5.84597 3.53997 \n3.8554 -5.43561 3.85309 \n4.76297 -5.84597 1.54713 \n4.46211 -5.84597 2.27232 \n4.85737 -5.43562 2.47312 \n5.00794 -5.84597 -0.000432998 \n4.9459 -5.84597 0.782242 \n5.38387 -5.43561 0.851071 \n4.94556 -5.84597 -0.784413 \n5.38336 -5.43561 -0.854291 \n4.74231 -4.9917 -3.44595 \n5.22214 -4.9917 -2.66187 \n5.5546 -4.51728 -2.83173 \n5.57506 -4.9917 -1.81183 \n3.44535 -4.99171 -4.74274 \n4.14399 -4.99171 -4.14531 \n4.40768 -4.51728 -4.4096 \n1.81113 -4.99171 -5.57529 \n2.66019 -4.9917 -5.22299 \n2.82931 -4.51729 -5.55583 \n-0.000367006 -4.99171 -5.86208 \n0.916003 -4.99171 -5.7894 \n0.973993 -4.51729 -6.15821 \n-1.81183 -4.99171 -5.57506 \n-0.917852 -4.99171 -5.78911 \n-0.976669 -4.51728 -6.15779 \n-3.44594 -4.99171 -4.7423 \n-2.66186 -4.99171 -5.22213 \n-2.83173 -4.51729 -5.5546 \n-4.74274 -4.99171 -3.44535 \n-4.14531 -4.99171 -4.14398 \n-4.4096 -4.51728 -4.40768 \n-5.57529 -4.99171 -1.81113 \n-5.22299 -4.9917 -2.6602 \n-5.55583 -4.51728 -2.82932 \n-5.86208 -4.99171 0.000369446 \n-5.7894 -4.99171 -0.916 \n-6.15821 -4.51729 -0.973994 \n-5.57506 -4.99171 1.81183 \n-5.78911 -4.99171 0.917853 \n-6.15779 -4.51729 0.976668 \n-4.74231 -4.99171 3.44594 \n-5.22214 -4.99171 2.66186 \n-5.5546 -4.51729 2.83173 \n-3.44535 -4.99171 4.74274 \n-4.14399 -4.9917 4.14531 \n-4.40768 -4.51729 4.4096 \n-1.81113 -4.99171 5.57528 \n-2.66019 -4.99171 5.22299 \n-2.82931 -4.51728 5.55583 \n0.000368826 -4.9917 5.86208 \n-0.916003 -4.9917 5.7894 \n-0.973994 -4.51728 6.15821 \n1.81183 -4.99171 5.57505 \n0.917855 -4.99171 5.7891 \n0.976669 -4.51729 6.15779 \n3.44594 -4.9917 4.74231 \n2.66186 -4.99171 5.22214 \n2.83173 -4.51729 5.55459 \n4.74274 -4.9917 3.44535 \n4.14531 -4.9917 4.14399 \n4.4096 -4.51728 4.40768 \n5.57528 -4.99171 1.81113 \n5.22299 -4.99171 2.66019 \n5.55583 -4.51728 2.82931 \n5.86208 -4.9917 -0.0003672 \n5.7894 -4.9917 0.916003 \n6.15821 -4.51728 0.973993 \n5.78911 -4.9917 -0.917852 \n6.15779 -4.51728 -0.976666 \n5.31634 -4.01503 -3.86291 \n5.85431 -4.01503 -2.98376 \n6.11638 -3.48828 -3.11762 \n6.24985 -4.01503 -2.031 \n3.86244 -4.01503 -5.31669 \n4.64575 -4.01503 -4.64681 \n4.85362 -3.48828 -4.8551 \n2.03045 -4.01503 -6.25003 \n2.98242 -4.01504 -5.85499 \n3.11576 -3.48828 -6.11732 \n-0.000294872 -4.01503 -6.57158 \n1.02716 -4.01503 -6.49005 \n1.07291 -3.48828 -6.78075 \n-2.03101 -4.01503 -6.24985 \n-1.02865 -4.01503 -6.48982 \n-1.07497 -3.48828 -6.78042 \n-3.86291 -4.01503 -5.31634 \n-2.98377 -4.01503 -5.85431 \n-3.11762 -3.48828 -6.11638 \n-5.31669 -4.01503 -3.86244 \n-4.64681 -4.01503 -4.64575 \n-4.8551 -3.48828 -4.85362 \n-6.25003 -4.01503 -2.03045 \n-5.85499 -4.01503 -2.98242 \n-6.11732 -3.48828 -3.11576 \n-6.57157 -4.01503 0.000294805 \n-6.49005 -4.01503 -1.02716 \n-6.78074 -3.48828 -1.07291 \n-6.24985 -4.01503 2.03101 \n-6.48981 -4.01503 1.02865 \n-6.78042 -3.48828 1.07497 \n-5.31634 -4.01503 3.86291 \n-5.85431 -4.01503 2.98376 \n-6.11638 -3.48828 3.11762 \n-3.86244 -4.01503 5.31669 \n-4.64575 -4.01503 4.64681 \n-4.85362 -3.48828 4.8551 \n-2.03045 -4.01503 6.25003 \n-2.98242 -4.01503 5.85499 \n-3.11576 -3.48828 6.11732 \n0.000294559 -4.01503 6.57157 \n-1.02716 -4.01504 6.49005 \n-1.07291 -3.48828 6.78074 \n2.03101 -4.01504 6.24985 \n1.02865 -4.01503 6.48981 \n1.07497 -3.48828 6.78042 \n3.86291 -4.01503 5.31634 \n2.98377 -4.01504 5.85431 \n3.11762 -3.48828 6.11637 \n5.31669 -4.01503 3.86244 \n4.64681 -4.01503 4.64575 \n4.8551 -3.48828 4.85362 \n6.25003 -4.01503 2.03045 \n5.85499 -4.01503 2.98242 \n6.11732 -3.48828 3.11576 \n6.57157 -4.01503 -0.000294179 \n6.49005 -4.01503 1.02716 \n6.78074 -3.48828 1.07291 \n6.48982 -4.01503 -1.02864 \n6.78042 -3.48828 -1.07497 \n5.75944 -2.94008 -4.18474 \n6.3423 -2.94007 -3.23218 \n6.52764 -2.37395 -3.32679 \n6.77071 -2.94007 -2.20016 \n4.1844 -2.94007 -5.75969 \n5.03308 -2.94008 -5.03386 \n5.18012 -2.37395 -5.18112 \n2.19976 -2.94007 -6.77084 \n3.2312 -2.94007 -6.3428 \n3.32553 -2.37395 -6.52828 \n-0.000214815 -2.94007 -7.11922 \n1.11302 -2.94008 -7.03085 \n1.14542 -2.37395 -7.23641 \n-2.20016 -2.94007 -6.77071 \n-1.11411 -2.94007 -7.03068 \n-1.14682 -2.37396 -7.23619 \n-4.18474 -2.94007 -5.75944 \n-3.23218 -2.94007 -6.3423 \n-3.32679 -2.37395 -6.52764 \n-5.75969 -2.94008 -4.18439 \n-5.03386 -2.94007 -5.03308 \n-5.18112 -2.37396 -5.18011 \n-6.77084 -2.94008 -2.19975 \n-6.3428 -2.94007 -3.2312 \n-6.52828 -2.37395 -3.32553 \n-7.11921 -2.94008 0.000214905 \n-7.03085 -2.94008 -1.11302 \n-7.23641 -2.37396 -1.14541 \n-6.77071 -2.94007 2.20016 \n-7.03068 -2.94007 1.11411 \n-7.23618 -2.37396 1.14682 \n-5.75944 -2.94007 4.18474 \n-6.3423 -2.94007 3.23218 \n-6.52763 -2.37396 3.32679 \n-4.18439 -2.94008 5.75969 \n-5.03308 -2.94008 5.03386 \n-5.18011 -2.37396 5.18112 \n-2.19975 -2.94007 6.77084 \n-3.2312 -2.94008 6.34279 \n-3.32553 -2.37396 6.52828 \n0.000214256 -2.94008 7.11921 \n-1.11302 -2.94007 7.03085 \n-1.14542 -2.37395 7.23641 \n2.20016 -2.94008 6.77071 \n1.11411 -2.94008 7.03068 \n1.14682 -2.37396 7.23618 \n4.18474 -2.94008 5.75944 \n3.23218 -2.94008 6.3423 \n3.32679 -2.37396 6.52763 \n5.75969 -2.94008 4.18439 \n5.03386 -2.94008 5.03308 \n5.18112 -2.37396 5.18011 \n6.77084 -2.94007 2.19975 \n6.3428 -2.94007 3.2312 \n6.52828 -2.37396 3.32552 \n7.11921 -2.94008 -0.000214987 \n7.03085 -2.94008 1.11302 \n7.23641 -2.37396 1.14541 \n7.03068 -2.94007 -1.11411 \n7.23619 -2.37395 -1.14682 \n6.06113 -1.78841 -4.40398 \n6.67463 -1.78841 -3.40134 \n6.77844 -1.20164 -3.45419 \n7.12538 -1.78841 -2.31544 \n4.40357 -1.78841 -6.06142 \n5.29688 -1.78841 -5.29744 \n5.37928 -1.20164 -5.37978 \n2.31497 -1.78841 -7.12553 \n3.40063 -1.78841 -6.67499 \n3.45356 -1.20164 -6.77877 \n-0.000248298 -1.78841 -7.49215 \n1.17151 -1.78841 -7.39914 \n1.18977 -1.20164 -7.5142 \n-2.31544 -1.78841 -7.12538 \n-1.17229 -1.78841 -7.39902 \n-1.19047 -1.20164 -7.51408 \n-4.40398 -1.78841 -6.06113 \n-3.40134 -1.78841 -6.67463 \n-3.45419 -1.20164 -6.77844 \n-6.06142 -1.78841 -4.40357 \n-5.29744 -1.78841 -5.29688 \n-5.37978 -1.20164 -5.37928 \n-7.12553 -1.78841 -2.31496 \n-6.67499 -1.78841 -3.40063 \n-6.77876 -1.20164 -3.45356 \n-7.49215 -1.78841 0.000248313 \n-7.39914 -1.78841 -1.17151 \n-7.51419 -1.20164 -1.18977 \n-7.12538 -1.78841 2.31543 \n-7.39902 -1.78841 1.17229 \n-7.51408 -1.20164 1.19047 \n-6.06113 -1.78841 4.40397 \n-6.67463 -1.78841 3.40133 \n-6.77844 -1.20164 3.45418 \n-4.40357 -1.78841 6.06142 \n-5.29688 -1.78841 5.29744 \n-5.37928 -1.20164 5.37978 \n-2.31496 -1.78841 7.12553 \n-3.40063 -1.78841 6.67498 \n-3.45356 -1.20164 6.77876 \n0.000246985 -1.78841 7.49215 \n-1.17151 -1.78841 7.39914 \n-1.18977 -1.20164 7.51419 \n2.31544 -1.78841 7.12538 \n1.17229 -1.78841 7.39902 \n1.19047 -1.20164 7.51408 \n4.40397 -1.78841 6.06113 \n3.40134 -1.78841 6.67462 \n3.45419 -1.20164 6.77844 \n6.06142 -1.78841 4.40357 \n5.29743 -1.78841 5.29688 \n5.37978 -1.20164 5.37928 \n7.12553 -1.78841 2.31496 \n6.67498 -1.78841 3.40063 \n6.77876 -1.20164 3.45356 \n7.49215 -1.78841 -0.000247126 \n7.39914 -1.78841 1.17151 \n7.51419 -1.20164 1.18977 \n7.39902 -1.78841 -1.17229 \n7.51408 -1.20164 -1.19047 \n6.10571 -0.496067 -4.61736 \n6.77186 -0.496067 -3.61738 \n6.85845 -0.0775436 -3.49456 \n7.23371 -0.496067 -2.5046 \n4.38003 -0.496068 -6.27814 \n5.32259 -0.496068 -5.53296 \n5.4429 -0.0775429 -5.4429 \n2.2256 -0.496066 -7.32437 \n3.35231 -0.496067 -6.90693 \n3.49456 -0.077543 -6.85845 \n-0.14668 -0.496066 -7.65364 \n1.05388 -0.496066 -7.6048 \n1.20414 -0.077543 -7.60265 \n-2.50461 -0.496068 -7.23371 \n-1.34771 -0.496067 -7.55826 \n-1.20414 -0.077543 -7.60265 \n-4.61736 -0.496066 -6.10571 \n-3.61738 -0.496067 -6.77186 \n-3.49455 -0.077543 -6.85845 \n-6.27814 -0.496067 -4.38003 \n-5.53295 -0.496066 -5.32259 \n-5.4429 -0.077543 -5.4429 \n-7.32437 -0.496064 -2.2256 \n-6.90692 -0.496067 -3.35231 \n-6.85845 -0.077543 -3.49456 \n-7.65363 -0.496065 0.14668 \n-7.60479 -0.496064 -1.05388 \n-7.60265 -0.077543 -1.20414 \n-7.23371 -0.496067 2.5046 \n-7.55826 -0.496066 1.34771 \n-7.60265 -0.077543 1.20414 \n-6.1057 -0.496066 4.61736 \n-6.77186 -0.496067 3.61738 \n-6.85845 -0.077543 3.49455 \n-4.38003 -0.496065 6.27814 \n-5.32259 -0.496065 5.53295 \n-5.4429 -0.077543 5.4429 \n-2.2256 -0.496067 7.32436 \n-3.35231 -0.496065 6.90692 \n-3.49455 -0.077543 6.85845 \n0.146679 -0.496066 7.65364 \n-1.05388 -0.496067 7.60479 \n-1.20414 -0.077543 7.60265 \n2.5046 -0.496066 7.23371 \n1.34771 -0.496066 7.55825 \n1.20414 -0.077543 7.60265 \n4.61736 -0.496067 6.1057 \n3.61738 -0.496066 6.77186 \n3.49455 -0.077543 6.85845 \n6.27814 -0.496067 4.38003 \n5.53295 -0.496068 5.32259 \n5.4429 -0.077543 5.4429 \n7.32436 -0.496066 2.2256 \n6.90692 -0.496066 3.35231 \n6.85845 -0.077543 3.49455 \n7.65363 -0.496066 -0.146677 \n7.60479 -0.496066 1.05388 \n7.60265 -0.0775429 1.20414 \n7.55826 -0.496067 -1.34771 \n7.60265 -0.0775436 -1.20414 \n0.468663 -7.68103 -0.103863 \n0.413631 -7.68103 -0.243597 \n0.318113 -7.68103 -0.359489 \n0.191454 -7.68103 -0.440196 \n0.0460534 -7.68103 -0.477813 \n-0.103854 -7.68103 -0.468659 \n-0.243591 -7.68103 -0.413629 \n-0.359488 -7.68103 -0.318109 \n-0.440194 -7.68103 -0.191452 \n-0.47781 -7.68103 -0.0460591 \n-0.468656 -7.68103 0.103846 \n-0.413623 -7.68103 0.243593 \n-0.318105 -7.68103 0.359487 \n-0.191453 -7.68103 0.440192 \n-0.0460518 -7.68103 0.477809 \n0.103859 -7.68103 0.468655 \n0.243598 -7.68103 0.413626 \n0.359494 -7.68103 0.318106 \n0.440201 -7.68103 0.191447 \n0.477817 -7.68103 0.0460458 \n1.49022 -6.52828 -0.484714 \n1.84701 -6.38528 -0.943246 \n1.39555 -6.52828 -0.712447 \n1.2675 -6.52828 -0.921494 \n0.83033 -6.64155 -0.425303 \n1.46514 -6.38528 -1.46784 \n1.10709 -6.52828 -1.10883 \n0.920705 -6.52828 -1.26807 \n0.658265 -6.64155 -0.661073 \n0.939839 -6.38528 -1.84875 \n0.71026 -6.52828 -1.39667 \n0.483787 -6.52828 -1.49052 \n0.421764 -6.64155 -0.832133 \n0.322545 -6.38528 -2.04869 \n0.243904 -6.52828 -1.54779 \n-0.000487249 -6.52828 -1.56707 \n0.143978 -6.64155 -0.921737 \n-0.326322 -6.38528 -2.04809 \n-0.246328 -6.52828 -1.54741 \n-0.484714 -6.52828 -1.49022 \n-0.147901 -6.64155 -0.921116 \n-0.943246 -6.38528 -1.84701 \n-0.712446 -6.52828 -1.39555 \n-0.921493 -6.52828 -1.2675 \n-0.425303 -6.64155 -0.83033 \n-1.46784 -6.38528 -1.46513 \n-1.10883 -6.52828 -1.10709 \n-1.26807 -6.52828 -0.920705 \n-0.661073 -6.64155 -0.658265 \n-1.84875 -6.38528 -0.939839 \n-1.39667 -6.52828 -0.71026 \n-1.49052 -6.52828 -0.483787 \n-0.832133 -6.64155 -0.421764 \n-2.04869 -6.38528 -0.322545 \n-1.54779 -6.52828 -0.243904 \n-1.56707 -6.52828 0.000487249 \n-0.921737 -6.64155 -0.143978 \n-2.04809 -6.38528 0.326322 \n-1.54741 -6.52828 0.246328 \n-1.49022 -6.52828 0.484714 \n-0.921116 -6.64155 0.147901 \n-1.84701 -6.38528 0.943246 \n-1.39555 -6.52828 0.712446 \n-1.2675 -6.52828 0.921493 \n-0.83033 -6.64155 0.425303 \n-1.46513 -6.38528 1.46784 \n-1.10709 -6.52828 1.10883 \n-0.920705 -6.52828 1.26807 \n-0.658265 -6.64155 0.661073 \n-0.939839 -6.38528 1.84875 \n-0.71026 -6.52828 1.39667 \n-0.483787 -6.52828 1.49052 \n-0.421764 -6.64155 0.832132 \n-0.322545 -6.38528 2.04869 \n-0.243904 -6.52828 1.54779 \n0.000487309 -6.52828 1.56707 \n-0.143978 -6.64155 0.921737 \n0.326322 -6.38528 2.04809 \n0.246328 -6.52828 1.54741 \n0.484714 -6.52828 1.49022 \n0.147901 -6.64155 0.921116 \n0.943246 -6.38528 1.84701 \n0.712446 -6.52828 1.39555 \n0.921493 -6.52828 1.2675 \n0.425302 -6.64155 0.830329 \n1.46784 -6.38528 1.46513 \n1.10883 -6.52828 1.10709 \n1.26807 -6.52828 0.920705 \n0.661072 -6.64155 0.658265 \n1.84875 -6.38528 0.939839 \n1.39667 -6.52828 0.71026 \n1.49052 -6.52828 0.483787 \n0.832132 -6.64155 0.421764 \n2.04869 -6.38528 0.322545 \n1.54779 -6.52828 0.243904 \n1.56707 -6.52828 -0.000487249 \n0.921737 -6.64155 0.143978 \n2.04809 -6.38528 -0.326322 \n1.54741 -6.52828 -0.246327 \n0.921116 -6.64155 -0.147901 \n2.443 -6.20273 -0.794265 \n2.71399 -5.98211 -1.38486 \n2.28809 -6.20273 -1.16715 \n2.07799 -6.20273 -1.51032 \n2.15321 -5.98211 -2.15575 \n1.81544 -6.20273 -1.81708 \n1.50957 -6.20273 -2.07853 \n1.38167 -5.98211 -2.71562 \n1.16507 -6.20273 -2.28915 \n0.793384 -6.20273 -2.44328 \n0.47487 -5.98211 -3.00966 \n0.400663 -6.20273 -2.53714 \n-0.000462815 -6.20273 -2.56887 \n-0.478409 -5.98211 -3.0091 \n-0.402966 -6.20273 -2.53677 \n-0.794265 -6.20273 -2.443 \n-1.38486 -5.98211 -2.71399 \n-1.16715 -6.20273 -2.28809 \n-1.51032 -6.20273 -2.07799 \n-2.15575 -5.98211 -2.15321 \n-1.81708 -6.20273 -1.81543 \n-2.07853 -6.20273 -1.50957 \n-2.71562 -5.98211 -1.38167 \n-2.28915 -6.20273 -1.16507 \n-2.44328 -6.20273 -0.793384 \n-3.00966 -5.98211 -0.47487 \n-2.53714 -6.20273 -0.400663 \n-2.56887 -6.20273 0.000462875 \n-3.0091 -5.98211 0.478409 \n-2.53677 -6.20273 0.402966 \n-2.443 -6.20273 0.794265 \n-2.71399 -5.98211 1.38486 \n-2.28809 -6.20273 1.16715 \n-2.07799 -6.20273 1.51032 \n-2.15321 -5.98211 2.15575 \n-1.81543 -6.20273 1.81708 \n-1.50957 -6.20273 2.07853 \n-1.38167 -5.98211 2.71562 \n-1.16507 -6.20273 2.28915 \n-0.793384 -6.20273 2.44328 \n-0.47487 -5.98211 3.00966 \n-0.400663 -6.20273 2.53714 \n0.000462748 -6.20273 2.56887 \n0.478408 -5.98211 3.0091 \n0.402965 -6.20273 2.53677 \n0.794264 -6.20273 2.443 \n1.38486 -5.98211 2.71399 \n1.16715 -6.20273 2.28809 \n1.51032 -6.20273 2.07799 \n2.15575 -5.98211 2.15321 \n1.81708 -6.20273 1.81543 \n2.07853 -6.20273 1.50957 \n2.71562 -5.98211 1.38167 \n2.28915 -6.20273 1.16507 \n2.44328 -6.20273 0.793384 \n3.00966 -5.98211 0.47487 \n2.53714 -6.20273 0.400663 \n2.56887 -6.20273 -0.000462815 \n3.0091 -5.98211 -0.478409 \n2.53677 -6.20273 -0.402966 \n3.33562 -5.72444 -1.08426 \n3.51414 -5.43164 -1.79237 \n3.12429 -5.72444 -1.59311 \n2.83731 -5.72444 -2.06195 \n2.78827 -5.43164 -2.79057 \n2.47908 -5.72444 -2.4806 \n2.06126 -5.72444 -2.83781 \n1.78947 -5.43164 -3.51562 \n1.5912 -5.72444 -3.12527 \n1.08345 -5.72444 -3.33588 \n0.615503 -5.43164 -3.89653 \n0.547556 -5.72444 -3.46401 \n-0.000427309 -5.72444 -3.50742 \n-0.618716 -5.43164 -3.89602 \n-0.549682 -5.72444 -3.46367 \n-1.08426 -5.72444 -3.33562 \n-1.79237 -5.43164 -3.51414 \n-1.59311 -5.72444 -3.12429 \n-2.06195 -5.72444 -2.83731 \n-2.79057 -5.43164 -2.78827 \n-2.4806 -5.72444 -2.47908 \n-2.83781 -5.72444 -2.06126 \n-3.51562 -5.43164 -1.78947 \n-3.12527 -5.72444 -1.59119 \n-3.33588 -5.72444 -1.08345 \n-3.89653 -5.43164 -0.615503 \n-3.46401 -5.72444 -0.547556 \n-3.50742 -5.72444 0.000427131 \n-3.89602 -5.43164 0.618715 \n-3.46367 -5.72444 0.549681 \n-3.33562 -5.72444 1.08426 \n-3.51414 -5.43164 1.79237 \n-3.12429 -5.72444 1.59311 \n-2.83731 -5.72444 2.06195 \n-2.78827 -5.43164 2.79057 \n-2.47908 -5.72444 2.4806 \n-2.06126 -5.72444 2.83781 \n-1.78947 -5.43164 3.51562 \n-1.59119 -5.72444 3.12527 \n-1.08345 -5.72444 3.33588 \n-0.615503 -5.43164 3.89653 \n-0.547556 -5.72444 3.46401 \n0.000427194 -5.72444 3.50742 \n0.618715 -5.43164 3.89602 \n0.549681 -5.72444 3.46367 \n1.08426 -5.72444 3.33562 \n1.79237 -5.43164 3.51414 \n1.59311 -5.72444 3.12429 \n2.06195 -5.72444 2.83731 \n2.79057 -5.43164 2.78827 \n2.4806 -5.72444 2.47908 \n2.83781 -5.72444 2.06126 \n3.51562 -5.43164 1.78947 \n3.12526 -5.72444 1.59119 \n3.33588 -5.72444 1.08345 \n3.89653 -5.43164 0.615503 \n3.46401 -5.72444 0.547556 \n3.50742 -5.72444 -0.000427183 \n3.89602 -5.43164 -0.618716 \n3.46367 -5.72444 -0.549682 \n4.14611 -5.1052 -1.34755 \n4.22776 -4.74743 -2.15575 \n3.88356 -5.1052 -1.97985 \n3.52677 -5.1052 -2.56282 \n3.35468 -4.74743 -3.35669 \n3.08168 -5.1052 -3.08303 \n2.5622 -5.1052 -3.52722 \n2.15321 -4.74743 -4.22905 \n1.97814 -5.1052 -3.88443 \n1.34683 -5.1052 -4.14635 \n0.740979 -4.74743 -4.68745 \n0.680967 -5.1052 -4.30559 \n-0.000380807 -5.1052 -4.3596 \n-0.743787 -4.74743 -4.687 \n-0.682862 -5.1052 -4.30529 \n-1.34755 -5.1052 -4.14611 \n-2.15575 -4.74743 -4.22776 \n-1.97985 -5.1052 -3.88356 \n-2.56282 -5.1052 -3.52677 \n-3.35669 -4.74743 -3.35468 \n-3.08303 -5.1052 -3.08168 \n-3.52722 -5.1052 -2.5622 \n-4.22905 -4.74743 -2.15321 \n-3.88443 -5.1052 -1.97814 \n-4.14634 -5.1052 -1.34683 \n-4.68745 -4.74743 -0.740979 \n-4.30559 -5.1052 -0.680967 \n-4.3596 -5.1052 0.000381045 \n-4.687 -4.74743 0.743787 \n-4.30529 -5.1052 0.682862 \n-4.14611 -5.1052 1.34755 \n-4.22776 -4.74743 2.15575 \n-3.88356 -5.1052 1.97985 \n-3.52677 -5.1052 2.56282 \n-3.35468 -4.74743 3.35669 \n-3.08168 -5.1052 3.08303 \n-2.5622 -5.1052 3.52721 \n-2.15321 -4.74743 4.22905 \n-1.97814 -5.1052 3.88443 \n-1.34683 -5.1052 4.14634 \n-0.740979 -4.74743 4.68745 \n-0.680967 -5.1052 4.30559 \n0.000381045 -5.1052 4.3596 \n0.743787 -4.74743 4.687 \n0.682862 -5.1052 4.30529 \n1.34755 -5.1052 4.14611 \n2.15575 -4.74743 4.22776 \n1.97985 -5.1052 3.88356 \n2.56282 -5.1052 3.52677 \n3.35669 -4.74743 3.35468 \n3.08303 -5.1052 3.08167 \n3.52721 -5.1052 2.5622 \n4.22905 -4.74743 2.15321 \n3.88443 -5.1052 1.97814 \n4.14634 -5.1052 1.34683 \n4.68744 -4.74743 0.740979 \n4.30559 -5.1052 0.680967 \n4.3596 -5.1052 -0.00038106 \n4.687 -4.74743 -0.743788 \n4.30529 -5.1052 -0.682863 \n4.85451 -4.36025 -1.57767 \n4.83728 -3.94632 -2.46604 \n4.5472 -4.36025 -2.31783 \n4.12939 -4.36025 -3.00058 \n3.83848 -3.94632 -3.84015 \n3.60839 -4.36025 -3.60955 \n3.00005 -4.36025 -4.12977 \n2.46394 -3.94632 -4.83835 \n2.31637 -4.36025 -4.54794 \n1.57705 -4.36025 -4.85471 \n0.848211 -3.94632 -5.36295 \n0.79761 -4.36025 -5.04115 \n-0.000325508 -4.36025 -5.10444 \n-0.850545 -3.94632 -5.36258 \n-0.799229 -4.36025 -5.04089 \n-1.57767 -4.36025 -4.85451 \n-2.46604 -3.94632 -4.83728 \n-2.31783 -4.36025 -4.5472 \n-3.00058 -4.36025 -4.12938 \n-3.84015 -3.94632 -3.83848 \n-3.60955 -4.36025 -3.60839 \n-4.12977 -4.36025 -3.00005 \n-4.83835 -3.94632 -2.46394 \n-4.54794 -4.36025 -2.31637 \n-4.85471 -4.36025 -1.57705 \n-5.36294 -3.94632 -0.84821 \n-5.04115 -4.36025 -0.79761 \n-5.10444 -4.36025 0.00032527 \n-5.36257 -3.94632 0.850545 \n-5.04089 -4.36025 0.799228 \n-4.85451 -4.36025 1.57767 \n-4.83728 -3.94632 2.46604 \n-4.5472 -4.36025 2.31783 \n-4.12938 -4.36025 3.00058 \n-3.83848 -3.94632 3.84015 \n-3.60839 -4.36025 3.60955 \n-3.00005 -4.36025 4.12977 \n-2.46394 -3.94632 4.83835 \n-2.31637 -4.36025 4.54794 \n-1.57705 -4.36025 4.85471 \n-0.84821 -3.94632 5.36294 \n-0.79761 -4.36025 5.04115 \n0.00032533 -4.36025 5.10444 \n0.850544 -3.94632 5.36257 \n0.799229 -4.36025 5.04089 \n1.57767 -4.36025 4.85451 \n2.46604 -3.94632 4.83728 \n2.31783 -4.36025 4.5472 \n3.00058 -4.36025 4.12938 \n3.84015 -3.94632 3.83848 \n3.60955 -4.36025 3.60839 \n4.12977 -4.36025 3.00005 \n4.83835 -3.94632 2.46394 \n4.54794 -4.36025 2.31637 \n4.85471 -4.36025 1.57705 \n5.36294 -3.94632 0.84821 \n5.04115 -4.36025 0.79761 \n5.10443 -4.36025 -0.000325322 \n5.36257 -3.94632 -0.850545 \n5.04089 -4.36025 -0.799229 \n5.44337 -3.50794 -1.76893 \n5.32769 -3.04804 -2.71562 \n5.09888 -3.50794 -2.59875 \n4.63033 -3.50794 -3.36445 \n4.22776 -3.04804 -4.22905 \n4.04626 -3.50794 -4.04719 \n3.36403 -3.50794 -4.63063 \n2.71399 -3.04804 -5.32852 \n2.59757 -3.50794 -5.09947 \n1.76844 -3.50794 -5.44353 \n0.934556 -3.04804 -5.90639 \n0.894613 -3.50794 -5.65258 \n-0.000261746 -3.50794 -5.72359 \n-0.936359 -3.04804 -5.9061 \n-0.895916 -3.50794 -5.65238 \n-1.76893 -3.50794 -5.44337 \n-2.71562 -3.04804 -5.32769 \n-2.59875 -3.50794 -5.09887 \n-3.36445 -3.50794 -4.63032 \n-4.22905 -3.04804 -4.22776 \n-4.04719 -3.50794 -4.04626 \n-4.63063 -3.50794 -3.36403 \n-5.32852 -3.04804 -2.71399 \n-5.09947 -3.50794 -2.59757 \n-5.44353 -3.50794 -1.76844 \n-5.90639 -3.04804 -0.934556 \n-5.65258 -3.50794 -0.894613 \n-5.72358 -3.50794 0.000261925 \n-5.9061 -3.04804 0.936359 \n-5.65237 -3.50794 0.895916 \n-5.44337 -3.50794 1.76893 \n-5.32769 -3.04804 2.71562 \n-5.09887 -3.50794 2.59875 \n-4.63032 -3.50794 3.36445 \n-4.22776 -3.04804 4.22905 \n-4.04626 -3.50794 4.04719 \n-3.36403 -3.50794 4.63063 \n-2.71399 -3.04804 5.32852 \n-2.59757 -3.50794 5.09947 \n-1.76844 -3.50794 5.44353 \n-0.934556 -3.04804 5.90639 \n-0.894613 -3.50794 5.65258 \n0.000261866 -3.50794 5.72358 \n0.936359 -3.04804 5.9061 \n0.895915 -3.50794 5.65237 \n1.76893 -3.50794 5.44337 \n2.71562 -3.04804 5.32769 \n2.59875 -3.50794 5.09887 \n3.36445 -3.50794 4.63032 \n4.22905 -3.04804 4.22776 \n4.04719 -3.50794 4.04626 \n4.63063 -3.50794 3.36403 \n5.32851 -3.04804 2.71399 \n5.09947 -3.50794 2.59757 \n5.44353 -3.50794 1.76844 \n5.90639 -3.04804 0.934556 \n5.65258 -3.50794 0.894613 \n5.72358 -3.50794 -0.000261806 \n5.9061 -3.04804 -0.936359 \n5.65237 -3.50794 -0.895916 \n5.8982 -2.56925 -1.91664 \n5.68691 -2.0747 -2.89832 \n5.525 -2.56925 -2.81567 \n5.01725 -2.56925 -3.64548 \n4.51294 -2.0747 -4.51382 \n4.3845 -2.56925 -4.38518 \n3.64517 -2.56925 -5.01748 \n2.89722 -2.0747 -5.68748 \n2.81481 -2.56925 -5.52544 \n1.91628 -2.56925 -5.89832 \n0.99789 -2.0747 -6.3044 \n0.969588 -2.56925 -6.12483 \n-0.000191741 -2.56925 -6.2018 \n-0.999117 -2.0747 -6.30421 \n-0.970542 -2.56925 -6.12468 \n-1.91664 -2.56925 -5.8982 \n-2.89832 -2.0747 -5.68691 \n-2.81567 -2.56925 -5.525 \n-3.64548 -2.56925 -5.01725 \n-4.51382 -2.0747 -4.51294 \n-4.38518 -2.56925 -4.3845 \n-5.01747 -2.56925 -3.64517 \n-5.68748 -2.0747 -2.89722 \n-5.52544 -2.56925 -2.81481 \n-5.89832 -2.56925 -1.91628 \n-6.3044 -2.0747 -0.99789 \n-6.12483 -2.56925 -0.969588 \n-6.2018 -2.56925 0.000191681 \n-6.3042 -2.0747 0.999117 \n-6.12467 -2.56925 0.970542 \n-5.8982 -2.56925 1.91664 \n-5.68691 -2.0747 2.89832 \n-5.525 -2.56925 2.81567 \n-5.01725 -2.56925 3.64548 \n-4.51294 -2.0747 4.51382 \n-4.3845 -2.56925 4.38518 \n-3.64517 -2.56925 5.01747 \n-2.89722 -2.0747 5.68747 \n-2.81481 -2.56925 5.52543 \n-1.91628 -2.56925 5.89832 \n-0.99789 -2.0747 6.3044 \n-0.969588 -2.56925 6.12482 \n0.000191681 -2.56925 6.2018 \n0.999117 -2.0747 6.3042 \n0.970542 -2.56925 6.12467 \n1.91664 -2.56925 5.8982 \n2.89832 -2.0747 5.68691 \n2.81567 -2.56925 5.525 \n3.64548 -2.56925 5.01725 \n4.51382 -2.0747 4.51294 \n4.38518 -2.56925 4.38449 \n5.01747 -2.56925 3.64517 \n5.68747 -2.0747 2.89722 \n5.52543 -2.56925 2.81481 \n5.89832 -2.56925 1.91628 \n6.3044 -2.0747 0.997889 \n6.12482 -2.56925 0.969588 \n6.2018 -2.56925 -0.000191741 \n6.3042 -2.0747 -0.999117 \n6.12467 -2.56925 -0.970542 \n6.2078 -1.5673 -2.01716 \n5.90611 -1.05028 -3.00966 \n5.81508 -1.5673 -2.96326 \n5.28063 -1.5673 -3.83675 \n4.687 -1.05028 -4.68745 \n4.61477 -1.5673 -4.61519 \n3.83656 -1.5673 -5.28077 \n3.0091 -1.05028 -5.90639 \n2.96274 -1.5673 -5.81535 \n2.01694 -1.5673 -6.20787 \n1.03665 -1.05028 -6.54718 \n1.02069 -1.5673 -6.44626 \n-0.000116944 -1.5673 -6.52731 \n-1.03727 -1.05028 -6.54708 \n-1.02127 -1.5673 -6.44617 \n-2.01716 -1.5673 -6.2078 \n-3.00966 -1.05028 -5.9061 \n-2.96326 -1.5673 -5.81508 \n-3.83675 -1.5673 -5.28063 \n-4.68745 -1.05028 -4.687 \n-4.61519 -1.5673 -4.61477 \n-5.28077 -1.5673 -3.83656 \n-5.90639 -1.05028 -3.0091 \n-5.81534 -1.5673 -2.96274 \n-6.20787 -1.5673 -2.01694 \n-6.54717 -1.05028 -1.03665 \n-6.44626 -1.5673 -1.02069 \n-6.5273 -1.5673 0.000116944 \n-6.54707 -1.05028 1.03727 \n-6.44617 -1.5673 1.02127 \n-6.2078 -1.5673 2.01716 \n-5.9061 -1.05028 3.00966 \n-5.81508 -1.5673 2.96326 \n-5.28063 -1.5673 3.83675 \n-4.687 -1.05028 4.68745 \n-4.61477 -1.5673 4.61519 \n-3.83656 -1.5673 5.28077 \n-3.0091 -1.05028 5.90639 \n-2.96274 -1.5673 5.81534 \n-2.01694 -1.5673 6.20787 \n-1.03665 -1.05028 6.54717 \n-1.02069 -1.5673 6.44626 \n0.000116944 -1.5673 6.5273 \n1.03727 -1.05028 6.54707 \n1.02127 -1.5673 6.44616 \n2.01716 -1.5673 6.2078 \n3.00966 -1.05028 5.9061 \n2.96326 -1.5673 5.81508 \n3.83675 -1.5673 5.28063 \n4.68745 -1.05028 4.687 \n4.61518 -1.5673 4.61477 \n5.28077 -1.5673 3.83656 \n5.90639 -1.05028 3.0091 \n5.81534 -1.5673 2.96273 \n6.20787 -1.5673 2.01694 \n6.54717 -1.05028 1.03665 \n6.44626 -1.5673 1.02069 \n6.5273 -1.5673 -0.000116944 \n6.54708 -1.05028 -1.03727 \n6.44617 -1.5673 -1.02127 \n6.30567 -0.395472 -2.18354 \n5.98076 0 -3.04735 \n5.90311 -0.395472 -3.15342 \n5.3223 -0.395472 -4.02523 \n4.74636 0 -4.74636 \n4.63972 -0.395472 -4.82324 \n3.81794 -0.395472 -5.4729 \n3.04735 0 -5.98076 \n2.92218 -0.395472 -6.02093 \n1.93986 -0.395472 -6.38485 \n1.05004 0 -6.62972 \n0.918584 -0.395472 -6.62925 \n-0.128112 -0.395472 -6.6718 \n-1.05004 0 -6.62972 \n-1.17492 -0.395472 -6.58865 \n-2.18354 -0.395472 -6.30567 \n-3.04735 0 -5.98076 \n-3.15342 -0.395472 -5.9031 \n-4.02523 -0.395472 -5.3223 \n-4.74636 0 -4.74636 \n-4.82324 -0.395472 -4.63972 \n-5.4729 -0.395472 -3.81794 \n-5.98076 0 -3.04735 \n-6.02093 -0.395472 -2.92217 \n-6.38485 -0.395472 -1.93986 \n-6.62972 0 -1.05004 \n-6.62924 -0.395472 -0.918584 \n-6.6718 -0.395472 0.128112 \n-6.62972 0 1.05004 \n-6.58864 -0.395472 1.17492 \n-6.30567 -0.395472 2.18354 \n-5.98076 0 3.04735 \n-5.9031 -0.395472 3.15342 \n-5.3223 -0.395472 4.02523 \n-4.74636 0 4.74636 \n-4.63972 -0.395472 4.82324 \n-3.81794 -0.395472 5.4729 \n-3.04735 0 5.98076 \n-2.92217 -0.395472 6.02093 \n-1.93986 -0.395472 6.38485 \n-1.05004 0 6.62972 \n-0.918584 -0.395472 6.62924 \n0.128112 -0.395472 6.6718 \n1.05004 0 6.62972 \n1.17492 -0.395472 6.58864 \n2.18354 -0.395472 6.30567 \n3.04735 0 5.98076 \n3.15342 -0.395472 5.9031 \n4.02523 -0.395472 5.3223 \n4.74636 0 4.74636 \n4.82324 -0.395472 4.63972 \n5.4729 -0.395472 3.81794 \n5.98076 0 3.04735 \n6.02093 -0.395472 2.92217 \n6.38485 -0.395472 1.93986 \n6.62972 0 1.05004 \n6.62924 -0.395472 0.918583 \n6.6718 -0.395472 -0.128112 \n6.62972 0 -1.05004 \n6.58865 -0.395472 -1.17492 \n0.359827 -6.70329 -0.2119 \n0.407696 -6.70329 -0.0903362 \n0.276735 -6.70329 -0.312721 \n0.166554 -6.70329 -0.382931 \n0.0400699 -6.70329 -0.415657 \n-0.0903363 -6.70329 -0.407696 \n-0.2119 -6.70329 -0.359827 \n-0.312721 -6.70329 -0.276735 \n-0.382931 -6.70329 -0.166554 \n-0.415657 -6.70329 -0.0400699 \n-0.407696 -6.70329 0.0903364 \n-0.359827 -6.70329 0.2119 \n-0.276735 -6.70329 0.312721 \n-0.166554 -6.70329 0.382931 \n-0.0400699 -6.70329 0.415657 \n0.0903362 -6.70329 0.407696 \n0.2119 -6.70329 0.359826 \n0.312721 -6.70329 0.276735 \n0.382931 -6.70329 0.166554 \n0.415657 -6.70329 0.0400699 \n5.98076 0 -3.04735 \n6.82952 -0.0387719 -2.15902 \n6.42878 -0.0387719 -3.25295 \n6.85845 -0.0775436 -3.49456 \n5.82809 -0.0387716 -4.16379 \n4.74636 0 -4.74636 \n5.10892 -0.0387714 -5.08034 \n5.4429 -0.0775429 -5.4429 \n4.25616 -0.0387715 -5.76098 \n3.04735 0 -5.98076 \n3.28896 -0.0387715 -6.41043 \n3.49456 -0.077543 -6.85845 \n2.26761 -0.0387715 -6.79424 \n1.05004 0 -6.62972 \n1.14705 -0.0387715 -7.11303 \n1.20414 -0.077543 -7.60265 \n0.0570879 -0.0387715 -7.16243 \n-1.05004 0 -6.62972 \n-1.10713 -0.0387715 -7.11935 \n-1.20414 -0.077543 -7.60265 \n-2.15902 -0.0387715 -6.82952 \n-3.04735 0 -5.98076 \n-3.25295 -0.0387715 -6.42878 \n-3.49455 -0.077543 -6.85845 \n-4.16379 -0.0387715 -5.82809 \n-4.74636 0 -4.74636 \n-5.08034 -0.0387715 -5.10892 \n-5.4429 -0.077543 -5.4429 \n-5.76097 -0.0387715 -4.25616 \n-5.98076 0 -3.04735 \n-6.41043 -0.0387715 -3.28896 \n-6.85845 -0.077543 -3.49456 \n-6.79424 -0.0387715 -2.26761 \n-6.62972 0 -1.05004 \n-7.11302 -0.0387715 -1.14705 \n-7.60265 -0.077543 -1.20414 \n-7.16243 -0.0387715 -0.0570874 \n-6.62972 0 1.05004 \n-7.11935 -0.0387715 1.10713 \n-7.60265 -0.077543 1.20414 \n-6.82952 -0.0387715 2.15902 \n-5.98076 0 3.04735 \n-6.42878 -0.0387715 3.25294 \n-6.85845 -0.077543 3.49455 \n-5.82808 -0.0387715 4.16379 \n-4.74636 0 4.74636 \n-5.10892 -0.0387715 5.08034 \n-5.4429 -0.077543 5.4429 \n-4.25616 -0.0387715 5.76097 \n-3.04735 0 5.98076 \n-3.28896 -0.0387715 6.41043 \n-3.49455 -0.077543 6.85845 \n-2.26761 -0.0387715 6.79424 \n-1.05004 0 6.62972 \n-1.14705 -0.0387715 7.11302 \n-1.20414 -0.077543 7.60265 \n-0.0570881 -0.0387715 7.16243 \n1.05004 0 6.62972 \n1.10713 -0.0387715 7.11935 \n1.20414 -0.077543 7.60265 \n2.15902 -0.0387715 6.82952 \n3.04735 0 5.98076 \n3.25294 -0.0387715 6.42878 \n3.49455 -0.077543 6.85845 \n4.16379 -0.0387715 5.82808 \n4.74636 0 4.74636 \n5.08034 -0.0387715 5.10892 \n5.4429 -0.077543 5.4429 \n5.76097 -0.0387715 4.25616 \n5.98076 0 3.04735 \n6.41043 -0.0387715 3.28896 \n6.85845 -0.077543 3.49455 \n6.79424 -0.0387715 2.26761 \n6.62972 0 1.05004 \n7.11302 -0.0387715 1.14705 \n7.60265 -0.0775429 1.20414 \n7.16243 -0.0387714 0.0570886 \n6.62972 0 -1.05004 \n7.11935 -0.0387716 -1.10713 \n7.60265 -0.0775436 -1.20414 \n1.23052 -7.55007 -0.759288 \n1.52016 -7.48137 -0.934476 \n1.2869 -7.55007 -0.659652 \n1.86486 -7.40343 -0.952282 \n1.93397 -7.40343 -0.802638 \n1.67919 -7.4784 -0.695328 \n0.935663 -7.55007 -1.10237 \n1.157 -7.48137 -1.35849 \n1.02008 -7.55007 -1.02503 \n1.47932 -7.40343 -1.48195 \n1.59129 -7.40343 -1.36099 \n1.38213 -7.4784 -1.18019 \n0.549215 -7.55007 -1.33755 \n0.680571 -7.48137 -1.64953 \n0.653399 -7.55007 -1.29008 \n0.948973 -7.40343 -1.86655 \n1.09284 -7.40343 -1.78611 \n0.94979 -7.4784 -1.54953 \n0.109008 -7.55007 -1.4418 \n0.137529 -7.48137 -1.77911 \n0.222759 -7.55007 -1.42886 \n0.32573 -7.40343 -2.06845 \n0.487413 -7.40343 -2.0364 \n0.424471 -7.4784 -1.76719 \n-0.341874 -7.55007 -1.40492 \n-0.418979 -7.48137 -1.73453 \n-0.229686 -7.55007 -1.42776 \n-0.329396 -7.40343 -2.06786 \n-0.165721 -7.40343 -2.08735 \n-0.142394 -7.4784 -1.81187 \n-0.759286 -7.55007 -1.23052 \n-0.934475 -7.48137 -1.52016 \n-0.65965 -7.55007 -1.2869 \n-0.952286 -7.40343 -1.86486 \n-0.802643 -7.40343 -1.93397 \n-0.695329 -7.4784 -1.67918 \n-1.10237 -7.55007 -0.935663 \n-1.35849 -7.48137 -1.157 \n-1.02503 -7.55007 -1.02008 \n-1.48195 -7.40343 -1.47932 \n-1.36099 -7.40343 -1.59129 \n-1.18019 -7.4784 -1.38214 \n-1.33756 -7.55007 -0.549214 \n-1.64954 -7.48137 -0.680571 \n-1.29009 -7.55007 -0.653398 \n-1.86655 -7.40343 -0.948973 \n-1.78611 -7.40343 -1.09284 \n-1.54953 -7.4784 -0.94979 \n-1.4418 -7.55007 -0.109009 \n-1.77911 -7.48137 -0.137526 \n-1.42886 -7.55007 -0.222759 \n-2.06844 -7.40343 -0.325725 \n-2.0364 -7.40343 -0.48741 \n-1.76719 -7.4784 -0.424469 \n-1.40493 -7.55007 0.341858 \n-1.73453 -7.48137 0.418968 \n-1.42776 -7.55007 0.229674 \n-2.06787 -7.40343 0.329393 \n-2.08735 -7.40343 0.165723 \n-1.81187 -7.4784 0.14239 \n-1.23052 -7.55007 0.759283 \n-1.52016 -7.48137 0.934471 \n-1.2869 -7.55007 0.65964 \n-1.86486 -7.40343 0.952276 \n-1.93397 -7.40343 0.802631 \n-1.67919 -7.4784 0.695315 \n-0.93566 -7.55007 1.10237 \n-1.15699 -7.48137 1.35849 \n-1.02007 -7.55007 1.02504 \n-1.47932 -7.40343 1.48195 \n-1.59129 -7.40343 1.36099 \n-1.38213 -7.4784 1.18019 \n-0.54922 -7.55007 1.33755 \n-0.680575 -7.48137 1.64953 \n-0.653401 -7.55007 1.29008 \n-0.948973 -7.40343 1.86655 \n-1.09284 -7.40343 1.78611 \n-0.94979 -7.4784 1.54953 \n-0.109016 -7.55007 1.4418 \n-0.137536 -7.48137 1.7791 \n-0.222768 -7.55007 1.42885 \n-0.325734 -7.40343 2.06844 \n-0.487418 -7.40343 2.03639 \n-0.42448 -7.4784 1.76719 \n0.341872 -7.55007 1.40492 \n0.418978 -7.48137 1.73453 \n0.229684 -7.55007 1.42776 \n0.329395 -7.40343 2.06786 \n0.165718 -7.40343 2.08735 \n0.14239 -7.4784 1.81187 \n0.759281 -7.55007 1.23052 \n0.934466 -7.48137 1.52016 \n0.659645 -7.55007 1.2869 \n0.952277 -7.40343 1.86486 \n0.802637 -7.40343 1.93397 \n0.695324 -7.4784 1.67918 \n1.10237 -7.55007 0.935661 \n1.35849 -7.48137 1.15699 \n1.02503 -7.55007 1.02007 \n1.48195 -7.40343 1.47932 \n1.36098 -7.40343 1.59129 \n1.18018 -7.4784 1.38213 \n1.33756 -7.55007 0.549213 \n1.64953 -7.48137 0.68057 \n1.29009 -7.55007 0.653396 \n1.86655 -7.40343 0.948973 \n1.78611 -7.40343 1.09284 \n1.54953 -7.4784 0.94979 \n1.44181 -7.55007 0.109006 \n1.77911 -7.48137 0.137527 \n1.42886 -7.55007 0.222757 \n2.06845 -7.40343 0.32573 \n2.0364 -7.40343 0.487414 \n1.76719 -7.4784 0.424471 \n1.40493 -7.55007 -0.341877 \n1.73453 -7.48137 -0.41898 \n1.42776 -7.55007 -0.229689 \n2.06787 -7.40343 -0.329396 \n2.08735 -7.40343 -0.165721 \n1.81187 -7.4784 -0.142395 \n2.27578 -7.21627 -1.39633 \n2.51649 -7.10584 -1.54342 \n2.37796 -7.21627 -1.21363 \n2.87632 -6.98453 -1.46752 \n2.9828 -6.98453 -1.23696 \n2.72677 -7.10584 -1.13056 \n1.73291 -7.21627 -2.03125 \n1.91639 -7.10584 -2.24552 \n1.88655 -7.21627 -1.88907 \n2.28205 -6.98453 -2.28453 \n2.45456 -6.98453 -2.09815 \n2.24394 -7.10584 -1.91785 \n1.0204 -7.21627 -2.46733 \n1.12868 -7.10584 -2.72781 \n1.21046 -7.21627 -2.37958 \n1.4644 -6.98453 -2.87791 \n1.68607 -6.98453 -2.75397 \n1.54147 -7.10584 -2.5174 \n0.208013 -7.21627 -2.6619 \n0.230496 -7.10584 -2.94309 \n0.415879 -7.21627 -2.63717 \n0.5034 -6.98453 -3.18958 \n0.75252 -6.98453 -3.1402 \n0.688101 -7.10584 -2.87053 \n-0.624739 -7.21627 -2.59589 \n-0.690248 -7.10584 -2.87027 \n-0.419403 -7.21627 -2.63661 \n-0.506872 -6.98453 -3.18904 \n-0.254686 -6.98453 -3.21905 \n-0.232617 -7.10584 -2.94267 \n-1.39634 -7.21627 -2.27578 \n-1.54343 -7.10584 -2.51649 \n-1.21364 -7.21627 -2.37796 \n-1.46753 -6.98453 -2.87632 \n-1.23696 -6.98453 -2.98279 \n-1.13057 -7.10584 -2.72676 \n-2.03125 -7.21627 -1.73291 \n-2.24552 -7.10584 -1.91638 \n-1.88906 -7.21627 -1.88654 \n-2.28453 -6.98453 -2.28205 \n-2.09815 -6.98453 -2.45456 \n-1.91785 -7.10584 -2.24393 \n-2.46733 -7.21627 -1.0204 \n-2.72781 -7.10584 -1.12868 \n-2.37958 -7.21627 -1.21046 \n-2.87791 -6.98453 -1.4644 \n-2.75397 -6.98453 -1.68607 \n-2.5174 -7.10584 -1.54147 \n-2.66189 -7.21627 -0.208008 \n-2.94308 -7.10584 -0.230496 \n-2.63716 -7.21627 -0.415877 \n-3.18958 -6.98453 -0.503403 \n-3.1402 -6.98453 -0.752522 \n-2.87052 -7.10584 -0.688103 \n-2.59589 -7.21627 0.624738 \n-2.87027 -7.10584 0.690247 \n-2.63661 -7.21627 0.419406 \n-3.18903 -6.98453 0.506872 \n-3.21905 -6.98453 0.254685 \n-2.94267 -7.10584 0.232619 \n-2.27578 -7.21627 1.39634 \n-2.51649 -7.10584 1.54343 \n-2.37796 -7.21627 1.21363 \n-2.87632 -6.98453 1.46753 \n-2.98279 -6.98453 1.23696 \n-2.72676 -7.10584 1.13057 \n-1.73291 -7.21627 2.03125 \n-1.91638 -7.10584 2.24552 \n-1.88654 -7.21627 1.88906 \n-2.28205 -6.98453 2.28453 \n-2.45456 -6.98453 2.09816 \n-2.24393 -7.10584 1.91785 \n-1.0204 -7.21627 2.46733 \n-1.12868 -7.10584 2.72781 \n-1.21046 -7.21627 2.37958 \n-1.4644 -6.98453 2.87791 \n-1.68607 -6.98453 2.75396 \n-1.54147 -7.10584 2.5174 \n-0.208014 -7.21627 2.66189 \n-0.230498 -7.10584 2.94309 \n-0.41588 -7.21627 2.63717 \n-0.503402 -6.98453 3.18958 \n-0.752521 -6.98453 3.1402 \n-0.688102 -7.10584 2.87053 \n0.624738 -7.21627 2.59589 \n0.690246 -7.10584 2.87027 \n0.419401 -7.21627 2.63661 \n0.50687 -6.98453 3.18903 \n0.254684 -6.98453 3.21904 \n0.232615 -7.10584 2.94267 \n1.39634 -7.21627 2.27578 \n1.54343 -7.10584 2.51649 \n1.21363 -7.21627 2.37796 \n1.46753 -6.98453 2.87632 \n1.23696 -6.98453 2.98279 \n1.13057 -7.10584 2.72676 \n2.03125 -7.21627 1.73291 \n2.24552 -7.10584 1.91638 \n1.88906 -7.21627 1.88654 \n2.28453 -6.98453 2.28205 \n2.09815 -6.98453 2.45457 \n1.91785 -7.10584 2.24394 \n2.46733 -7.21627 1.0204 \n2.72781 -7.10584 1.12868 \n2.37958 -7.21627 1.21046 \n2.87791 -6.98453 1.4644 \n2.75397 -6.98453 1.68607 \n2.5174 -7.10584 1.54146 \n2.6619 -7.21627 0.208014 \n2.94308 -7.10584 0.230499 \n2.63717 -7.21627 0.415881 \n3.18958 -6.98453 0.503403 \n3.1402 -6.98453 0.752521 \n2.87052 -7.10584 0.688102 \n2.5959 -7.21627 -0.624736 \n2.87028 -7.10584 -0.690246 \n2.63661 -7.21627 -0.419402 \n3.18904 -6.98453 -0.506871 \n3.21905 -6.98453 -0.254684 \n2.94267 -7.10584 -0.232616 \n3.21248 -6.70969 -1.97024 \n3.4354 -6.5566 -2.10645 \n3.35678 -6.70969 -1.71222 \n3.81643 -6.39348 -1.94638 \n3.95764 -6.39348 -1.64061 \n3.72247 -6.5566 -1.54289 \n2.44641 -6.70969 -2.86652 \n2.61633 -6.5566 -3.06496 \n2.66338 -6.70969 -2.66571 \n3.02818 -6.39348 -3.03046 \n3.25696 -6.39348 -2.78328 \n3.0635 -6.5566 -2.61768 \n1.44087 -6.70969 -3.48221 \n1.54115 -6.5566 -3.72344 \n1.70928 -6.70969 -3.35827 \n1.94351 -6.39348 -3.81789 \n2.23747 -6.39348 -3.65352 \n2.10465 -6.5566 -3.43623 \n0.294285 -6.70969 -3.75703 \n0.315116 -6.5566 -4.01744 \n0.587851 -6.70969 -3.72211 \n0.668588 -6.39348 -4.23161 \n0.998963 -6.39348 -4.16612 \n0.939789 -6.5566 -3.91843 \n-0.881104 -6.70969 -3.66409 \n-0.941764 -6.5566 -3.91819 \n-0.591116 -6.70969 -3.72159 \n-0.671776 -6.39348 -4.2311 \n-0.337333 -6.39348 -4.27091 \n-0.317071 -6.5566 -4.01706 \n-1.97025 -6.70969 -3.21248 \n-2.10646 -6.5566 -3.4354 \n-1.71222 -6.70969 -3.35678 \n-1.94638 -6.39348 -3.81643 \n-1.64061 -6.39348 -3.95764 \n-1.54289 -6.5566 -3.72247 \n-2.86653 -6.70969 -2.44641 \n-3.06496 -6.5566 -2.61633 \n-2.66572 -6.70969 -2.66338 \n-3.03046 -6.39348 -3.02818 \n-2.78329 -6.39348 -3.25696 \n-2.61769 -6.5566 -3.0635 \n-3.48221 -6.70969 -1.44087 \n-3.72344 -6.5566 -1.54115 \n-3.35828 -6.70969 -1.70928 \n-3.81789 -6.39348 -1.94351 \n-3.65352 -6.39349 -2.23747 \n-3.43624 -6.5566 -2.10465 \n-3.75703 -6.70969 -0.294289 \n-4.01744 -6.5566 -0.315121 \n-3.72211 -6.70969 -0.587855 \n-4.23161 -6.39348 -0.668591 \n-4.16612 -6.39348 -0.998963 \n-3.91843 -6.5566 -0.93979 \n-3.66408 -6.70969 0.881102 \n-3.91819 -6.5566 0.941761 \n-3.72158 -6.70969 0.591112 \n-4.23111 -6.39348 0.671774 \n-4.27091 -6.39348 0.33733 \n-4.01706 -6.5566 0.317067 \n-3.21248 -6.70969 1.97025 \n-3.4354 -6.5566 2.10646 \n-3.35678 -6.70969 1.71222 \n-3.81643 -6.39348 1.94638 \n-3.95763 -6.39348 1.64061 \n-3.72246 -6.5566 1.54289 \n-2.44641 -6.70969 2.86652 \n-2.61633 -6.5566 3.06496 \n-2.66338 -6.70969 2.66571 \n-3.02818 -6.39348 3.03046 \n-3.25696 -6.39348 2.78329 \n-3.0635 -6.5566 2.61768 \n-1.44087 -6.70969 3.48221 \n-1.54115 -6.5566 3.72344 \n-1.70928 -6.70969 3.35827 \n-1.94351 -6.39348 3.81789 \n-2.23747 -6.39348 3.65352 \n-2.10465 -6.5566 3.43624 \n-0.294287 -6.70969 3.75703 \n-0.315118 -6.5566 4.01744 \n-0.587853 -6.70969 3.72211 \n-0.66859 -6.39348 4.23161 \n-0.998963 -6.39348 4.16612 \n-0.93979 -6.5566 3.91843 \n0.881103 -6.70969 3.66408 \n0.941763 -6.5566 3.91819 \n0.591113 -6.70969 3.72158 \n0.671775 -6.39348 4.23111 \n0.337332 -6.39348 4.27091 \n0.31707 -6.5566 4.01706 \n1.97024 -6.70969 3.21248 \n2.10646 -6.5566 3.4354 \n1.71221 -6.70969 3.35678 \n1.94638 -6.39348 3.81643 \n1.6406 -6.39348 3.95763 \n1.54289 -6.5566 3.72247 \n2.86653 -6.70969 2.44641 \n3.06496 -6.5566 2.61633 \n2.66572 -6.70969 2.66338 \n3.03046 -6.39348 3.02818 \n2.78328 -6.39348 3.25696 \n2.61768 -6.5566 3.0635 \n3.48221 -6.70969 1.44087 \n3.72344 -6.5566 1.54115 \n3.35828 -6.70969 1.70928 \n3.81789 -6.39348 1.94351 \n3.65352 -6.39348 2.23747 \n3.43624 -6.5566 2.10465 \n3.75703 -6.70969 0.294288 \n4.01745 -6.5566 0.31512 \n3.72211 -6.70969 0.587854 \n4.23162 -6.39348 0.668591 \n4.16612 -6.39348 0.998964 \n3.91843 -6.5566 0.93979 \n3.66409 -6.70969 -0.881103 \n3.91819 -6.5566 -0.941763 \n3.72159 -6.70969 -0.591114 \n4.23111 -6.39348 -0.671775 \n4.27091 -6.39348 -0.337331 \n4.01706 -6.5566 -0.317069 \n4.06957 -6.03789 -2.49533 \n4.26922 -5.84597 -2.61731 \n4.25241 -6.03789 -2.16837 \n4.66206 -5.64512 -2.37704 \n4.8345 -5.64512 -2.00363 \n4.62597 -5.84597 -1.91699 \n3.09929 -6.03789 -3.63076 \n3.25148 -5.84597 -3.80847 \n3.37422 -6.03789 -3.37631 \n3.69933 -5.64512 -3.70135 \n3.97872 -5.64512 -3.39951 \n3.80718 -5.84597 -3.25268 \n1.82563 -6.03789 -4.41079 \n1.91545 -5.84597 -4.62683 \n2.16573 -6.03789 -4.25375 \n2.37449 -5.64513 -4.66335 \n2.73348 -5.64512 -4.46261 \n2.61571 -5.84597 -4.26996 \n0.373268 -6.03789 -4.75906 \n0.391933 -5.84597 -4.99228 \n0.745256 -6.03789 -4.71481 \n0.817223 -5.64513 -5.16887 \n1.22067 -5.64513 -5.08889 \n1.1682 -5.84597 -4.86927 \n-1.11563 -6.03789 -4.64148 \n-1.16995 -5.84597 -4.86906 \n-0.748174 -6.03789 -4.71434 \n-0.820043 -5.64513 -5.16842 \n-0.411624 -5.64513 -5.21703 \n-0.393666 -5.84597 -4.99194 \n-2.49533 -6.03789 -4.06956 \n-2.61731 -5.84597 -4.26921 \n-2.16837 -6.03789 -4.2524 \n-2.37704 -5.64513 -4.66205 \n-2.00363 -5.64513 -4.83449 \n-1.91699 -5.84597 -4.62596 \n-3.63076 -6.03789 -3.09928 \n-3.80847 -5.84597 -3.25147 \n-3.37631 -6.03789 -3.37421 \n-3.70135 -5.64513 -3.69933 \n-3.39951 -5.64513 -3.97871 \n-3.25268 -5.84597 -3.80717 \n-4.41079 -6.03789 -1.82563 \n-4.62683 -5.84597 -1.91545 \n-4.25374 -6.03789 -2.16573 \n-4.66335 -5.64513 -2.37449 \n-4.46261 -5.64513 -2.73347 \n-4.26995 -5.84597 -2.6157 \n-4.75906 -6.03789 -0.373268 \n-4.99228 -5.84597 -0.391932 \n-4.7148 -6.03789 -0.745256 \n-5.16887 -5.64513 -0.817218 \n-5.08889 -5.64513 -1.22067 \n-4.86927 -5.84597 -1.16819 \n-4.64148 -6.03789 1.11563 \n-4.86906 -5.84597 1.16995 \n-4.71434 -6.03789 0.748173 \n-5.16842 -5.64513 0.820045 \n-5.21702 -5.64513 0.411626 \n-4.99194 -5.84597 0.393666 \n-4.06956 -6.03789 2.49533 \n-4.26922 -5.84597 2.61731 \n-4.2524 -6.03789 2.16837 \n-4.66205 -5.64513 2.37704 \n-4.83449 -5.64513 2.00363 \n-4.62597 -5.84597 1.91699 \n-3.09928 -6.03789 3.63076 \n-3.25147 -5.84597 3.80847 \n-3.37421 -6.03789 3.37631 \n-3.69933 -5.64513 3.70135 \n-3.97872 -5.64513 3.39951 \n-3.80717 -5.84597 3.25268 \n-1.82563 -6.03789 4.41079 \n-1.91545 -5.84597 4.62683 \n-2.16573 -6.03789 4.25374 \n-2.37449 -5.64513 4.66335 \n-2.73347 -5.64513 4.46261 \n-2.6157 -5.84597 4.26996 \n-0.373268 -6.03789 4.75906 \n-0.391931 -5.84597 4.99228 \n-0.745256 -6.03789 4.7148 \n-0.817221 -5.64513 5.16887 \n-1.22067 -5.64513 5.08889 \n-1.1682 -5.84597 4.86927 \n1.11563 -6.03789 4.64148 \n1.16995 -5.84597 4.86905 \n0.748173 -6.03789 4.71434 \n0.820045 -5.64513 5.16842 \n0.411627 -5.64513 5.21702 \n0.393667 -5.84597 4.99194 \n2.49533 -6.03789 4.06957 \n2.61731 -5.84597 4.26922 \n2.16836 -6.03789 4.25241 \n2.37704 -5.64513 4.66205 \n2.00363 -5.64513 4.83449 \n1.91699 -5.84597 4.62597 \n3.63076 -6.03789 3.09928 \n3.80847 -5.84597 3.25147 \n3.37631 -6.03789 3.37421 \n3.70135 -5.64512 3.69933 \n3.39951 -5.64512 3.97872 \n3.25268 -5.84597 3.80717 \n4.41079 -6.03789 1.82563 \n4.62683 -5.84597 1.91545 \n4.25375 -6.03789 2.16573 \n4.66335 -5.64513 2.37449 \n4.46261 -5.64513 2.73347 \n4.26996 -5.84597 2.6157 \n4.75906 -6.03789 0.37327 \n4.99228 -5.84597 0.391934 \n4.71481 -6.03789 0.745258 \n5.16887 -5.64512 0.817222 \n5.08888 -5.64513 1.22067 \n4.86927 -5.84597 1.1682 \n4.64149 -6.03789 -1.11563 \n4.86906 -5.84597 -1.16995 \n4.71434 -6.03789 -0.748174 \n5.16842 -5.64512 -0.820045 \n5.21702 -5.64512 -0.411626 \n4.99194 -5.84597 -0.393666 \n4.82599 -5.21766 -2.95869 \n4.99748 -4.9917 -3.06346 \n5.04285 -5.21766 -2.57089 \n5.39247 -4.75814 -2.74896 \n5.59188 -4.75814 -2.31714 \n5.4151 -4.9917 -2.24371 \n3.6755 -5.21766 -4.30519 \n3.80623 -4.99171 -4.45782 \n4.00159 -5.21766 -4.00338 \n4.27906 -4.75814 -4.28078 \n4.60215 -4.75814 -3.93172 \n4.45672 -4.9917 -3.80725 \n2.16523 -5.21766 -5.23027 \n2.24239 -4.9917 -5.41583 \n2.56862 -5.21766 -5.044 \n2.7468 -4.75814 -5.39357 \n3.16193 -4.75815 -5.16143 \n3.06209 -4.99171 -4.99811 \n0.443017 -5.21767 -5.64337 \n0.459057 -4.99171 -5.84369 \n0.884226 -5.21767 -5.59087 \n0.945658 -4.75815 -5.97839 \n1.41221 -4.75815 -5.8859 \n1.36772 -4.99171 -5.69972 \n-1.32256 -5.21767 -5.50407 \n-1.36921 -4.99171 -5.69954 \n-0.886726 -5.21767 -5.59048 \n-0.94805 -4.75814 -5.97802 \n-0.475749 -4.75814 -6.03422 \n-0.460531 -4.99171 -5.84341 \n-2.95868 -5.21767 -4.82598 \n-3.06345 -4.99171 -4.99747 \n-2.57088 -5.21767 -5.04284 \n-2.74896 -4.75815 -5.39246 \n-2.31714 -4.75815 -5.59187 \n-2.2437 -4.99171 -5.41509 \n-4.30519 -5.21767 -3.6755 \n-4.45782 -4.99171 -3.80622 \n-4.00338 -5.21767 -4.00158 \n-4.28078 -4.75814 -4.27906 \n-3.93172 -4.75814 -4.60214 \n-3.80724 -4.99171 -4.45671 \n-5.23027 -5.21767 -2.16523 \n-5.41583 -4.9917 -2.24239 \n-5.044 -5.21767 -2.56862 \n-5.39357 -4.75814 -2.7468 \n-5.16143 -4.75814 -3.16194 \n-4.99811 -4.9917 -3.06209 \n-5.64337 -5.21767 -0.443013 \n-5.84369 -4.99171 -0.459053 \n-5.59087 -5.21767 -0.884222 \n-5.97839 -4.75815 -0.945657 \n-5.8859 -4.75815 -1.41221 \n-5.69972 -4.99171 -1.36772 \n-5.50407 -5.21767 1.32256 \n-5.69954 -4.99171 1.36921 \n-5.59048 -5.21767 0.886728 \n-5.97802 -4.75815 0.94805 \n-6.03422 -4.75815 0.475749 \n-5.8434 -4.99171 0.460533 \n-4.82598 -5.21767 2.95868 \n-4.99748 -4.99171 3.06345 \n-5.04285 -5.21767 2.57088 \n-5.39247 -4.75815 2.74896 \n-5.59188 -4.75815 2.31714 \n-5.4151 -4.99171 2.2437 \n-3.6755 -5.21767 4.30519 \n-3.80623 -4.9917 4.45782 \n-4.00159 -5.21767 4.00338 \n-4.27907 -4.75814 4.28078 \n-4.60215 -4.75815 3.93172 \n-4.45672 -4.99171 3.80724 \n-2.16523 -5.21767 5.23026 \n-2.24239 -4.99171 5.41583 \n-2.56862 -5.21767 5.044 \n-2.74679 -4.75814 5.39357 \n-3.16194 -4.75814 5.16143 \n-3.06209 -4.99171 4.99811 \n-0.443014 -5.21766 5.64337 \n-0.459056 -4.9917 5.84369 \n-0.884224 -5.21766 5.59087 \n-0.945658 -4.75814 5.97839 \n-1.41221 -4.75814 5.8859 \n-1.36772 -4.9917 5.69972 \n1.32257 -5.21767 5.50406 \n1.36921 -4.99171 5.69953 \n0.886729 -5.21767 5.59047 \n0.948052 -4.75815 5.97801 \n0.475749 -4.75814 6.03422 \n0.460534 -4.99171 5.8434 \n2.95868 -5.21766 4.82598 \n3.06345 -4.9917 4.99748 \n2.57088 -5.21767 5.04285 \n2.74896 -4.75815 5.39246 \n2.31714 -4.75815 5.59187 \n2.2437 -4.99171 5.41509 \n4.30519 -5.21766 3.6755 \n4.45782 -4.9917 3.80623 \n4.00338 -5.21766 4.00159 \n4.28078 -4.75814 4.27907 \n3.93171 -4.75814 4.60215 \n3.80724 -4.9917 4.45672 \n5.23026 -5.21767 2.16523 \n5.41583 -4.99171 2.24239 \n5.044 -5.21767 2.56862 \n5.39357 -4.75814 2.74679 \n5.16143 -4.75814 3.16194 \n4.99811 -4.9917 3.06209 \n5.64337 -5.21766 0.443015 \n5.84369 -4.9917 0.459057 \n5.59087 -5.21766 0.884225 \n5.97839 -4.75814 0.945658 \n5.8859 -4.75814 1.41221 \n5.69972 -4.99171 1.36772 \n5.50407 -5.21766 -1.32256 \n5.69954 -4.9917 -1.36921 \n5.59048 -5.21766 -0.886727 \n5.97802 -4.75814 -0.948049 \n6.03422 -4.75814 -0.475747 \n5.8434 -4.9917 -0.460531 \n5.46326 -4.26943 -3.349 \n5.60242 -4.01503 -3.43401 \n5.7088 -4.26943 -2.90993 \n5.98989 -3.75453 -3.05308 \n6.21135 -3.75453 -2.5735 \n6.07061 -4.01503 -2.51504 \n4.16097 -4.26943 -4.87333 \n4.26706 -4.01503 -4.99718 \n4.53017 -4.26943 -4.53162 \n4.75327 -3.75453 -4.75463 \n5.11208 -3.75453 -4.36696 \n4.9963 -4.01503 -4.26787 \n2.45138 -4.26943 -5.92063 \n2.514 -4.01504 -6.07119 \n2.90809 -4.26944 -5.70973 \n3.05136 -3.75453 -5.99076 \n3.51241 -3.75453 -5.73294 \n3.43291 -4.01504 -5.60293 \n0.501824 -4.26943 -6.38837 \n0.51485 -4.01503 -6.55092 \n1.00136 -4.26943 -6.32893 \n1.05077 -3.75453 -6.64048 \n1.56893 -3.75453 -6.53776 \n1.53349 -4.01503 -6.38953 \n-1.49685 -4.26942 -6.23077 \n-1.53469 -4.01503 -6.38939 \n-1.00339 -4.26943 -6.32861 \n-1.05268 -3.75453 -6.64018 \n-0.52814 -3.75453 -6.7026 \n-0.516037 -4.01503 -6.55069 \n-3.349 -4.26943 -5.46326 \n-3.43401 -4.01503 -5.60242 \n-2.90993 -4.26943 -5.7088 \n-3.05308 -3.75453 -5.98989 \n-2.57351 -3.75453 -6.21135 \n-2.51505 -4.01503 -6.07061 \n-4.87333 -4.26943 -4.16097 \n-4.99718 -4.01503 -4.26706 \n-4.53162 -4.26943 -4.53017 \n-4.75463 -3.75453 -4.75327 \n-4.36696 -3.75453 -5.11208 \n-4.26787 -4.01503 -4.9963 \n-5.92063 -4.26943 -2.45138 \n-6.07119 -4.01503 -2.514 \n-5.70973 -4.26943 -2.9081 \n-5.99076 -3.75453 -3.05136 \n-5.73294 -3.75453 -3.51241 \n-5.60293 -4.01503 -3.43291 \n-6.38836 -4.26943 -0.501824 \n-6.55091 -4.01503 -0.51485 \n-6.32893 -4.26943 -1.00136 \n-6.64047 -3.75453 -1.05077 \n-6.53775 -3.75453 -1.56893 \n-6.38953 -4.01503 -1.53349 \n-6.23077 -4.26943 1.49685 \n-6.38939 -4.01503 1.53469 \n-6.3286 -4.26943 1.00339 \n-6.64017 -3.75453 1.05268 \n-6.70259 -3.75453 0.52814 \n-6.55068 -4.01503 0.516037 \n-5.46326 -4.26943 3.349 \n-5.60242 -4.01503 3.43401 \n-5.7088 -4.26943 2.90993 \n-5.98989 -3.75453 3.05308 \n-6.21135 -3.75453 2.57351 \n-6.07061 -4.01503 2.51505 \n-4.16097 -4.26943 4.87333 \n-4.26706 -4.01503 4.99718 \n-4.53017 -4.26943 4.53162 \n-4.75327 -3.75453 4.75463 \n-5.11208 -3.75453 4.36696 \n-4.9963 -4.01503 4.26787 \n-2.45138 -4.26943 5.92063 \n-2.51399 -4.01503 6.07119 \n-2.90809 -4.26942 5.70973 \n-3.05136 -3.75453 5.99076 \n-3.51241 -3.75453 5.73295 \n-3.43291 -4.01503 5.60293 \n-0.501825 -4.26943 6.38836 \n-0.51485 -4.01503 6.55091 \n-1.00136 -4.26943 6.32893 \n-1.05077 -3.75453 6.64047 \n-1.56893 -3.75453 6.53775 \n-1.53349 -4.01504 6.38953 \n1.49685 -4.26943 6.23077 \n1.53469 -4.01504 6.38939 \n1.00339 -4.26943 6.3286 \n1.05268 -3.75453 6.64017 \n0.52814 -3.75453 6.70259 \n0.516037 -4.01503 6.55068 \n3.349 -4.26943 5.46326 \n3.43401 -4.01504 5.60242 \n2.90993 -4.26943 5.70879 \n3.05308 -3.75453 5.98988 \n2.57351 -3.75453 6.21134 \n2.51505 -4.01504 6.07061 \n4.87333 -4.26943 4.16097 \n4.99718 -4.01503 4.26706 \n4.53162 -4.26943 4.53017 \n4.75463 -3.75453 4.75327 \n4.36696 -3.75453 5.11208 \n4.26787 -4.01503 4.9963 \n5.92063 -4.26943 2.45138 \n6.07119 -4.01503 2.51399 \n5.70973 -4.26943 2.90809 \n5.99076 -3.75453 3.05136 \n5.73294 -3.75453 3.51241 \n5.60293 -4.01503 3.43291 \n6.38836 -4.26943 0.501824 \n6.55091 -4.01503 0.51485 \n6.32893 -4.26943 1.00136 \n6.64047 -3.75453 1.05077 \n6.53775 -3.75453 1.56893 \n6.38953 -4.01503 1.53349 \n6.23077 -4.26943 -1.49684 \n6.38939 -4.01503 -1.53468 \n6.32861 -4.26943 -1.00339 \n6.64018 -3.75453 -1.05267 \n6.70259 -3.75453 -0.528139 \n6.55068 -4.01503 -0.516032 \n5.96593 -3.21664 -3.6568 \n6.06939 -2.94007 -3.71999 \n6.23408 -3.21664 -3.17728 \n6.43983 -2.65934 -3.28202 \n6.67788 -2.65934 -2.7665 \n6.5766 -2.94007 -2.72446 \n4.54392 -3.21664 -5.3214 \n4.62279 -2.94007 -5.41346 \n4.94713 -3.21664 -4.94821 \n5.11044 -2.65935 -5.1114 \n5.49615 -2.65935 -4.69468 \n5.41281 -2.94008 -4.62339 \n2.67713 -3.21663 -6.4651 \n2.72369 -2.94007 -6.57703 \n3.17592 -3.21664 -6.23477 \n3.28081 -2.65934 -6.44045 \n3.77641 -2.65934 -6.16331 \n3.71919 -2.94007 -6.06976 \n0.54827 -3.21664 -6.97596 \n0.557965 -2.94008 -7.0968 \n1.09383 -3.21664 -6.91103 \n1.13003 -2.65935 -7.13905 \n1.68702 -2.65934 -7.02863 \n1.6615 -2.94007 -6.92197 \n-1.63425 -3.21663 -6.80395 \n-1.66237 -2.94007 -6.92187 \n-1.09534 -3.21663 -6.91079 \n-1.13137 -2.65935 -7.13884 \n-0.567523 -2.65935 -7.20594 \n-0.558833 -2.94007 -7.09663 \n-3.6568 -3.21663 -5.96593 \n-3.71999 -2.94007 -6.06939 \n-3.17728 -3.21663 -6.23408 \n-3.28202 -2.65934 -6.43983 \n-2.7665 -2.65934 -6.67788 \n-2.72446 -2.94007 -6.5766 \n-5.3214 -3.21664 -4.54391 \n-5.41346 -2.94008 -4.62279 \n-4.94821 -3.21664 -4.94712 \n-5.1114 -2.65935 -5.11043 \n-4.69468 -2.65935 -5.49614 \n-4.62339 -2.94007 -5.41281 \n-6.4651 -3.21664 -2.67712 \n-6.57703 -2.94007 -2.72368 \n-6.23477 -3.21664 -3.17592 \n-6.44045 -2.65934 -3.28081 \n-6.1633 -2.65935 -3.77641 \n-6.06976 -2.94007 -3.71919 \n-6.97595 -3.21664 -0.54827 \n-7.09679 -2.94008 -0.557965 \n-6.91103 -3.21664 -1.09383 \n-7.13905 -2.65936 -1.13002 \n-7.02863 -2.65935 -1.68701 \n-6.92197 -2.94008 -1.66149 \n-6.80395 -3.21663 1.63425 \n-6.92187 -2.94007 1.66237 \n-6.9108 -3.21663 1.09534 \n-7.13883 -2.65935 1.13138 \n-7.20593 -2.65935 0.567523 \n-7.09662 -2.94007 0.558832 \n-5.96593 -3.21663 3.6568 \n-6.06939 -2.94007 3.71999 \n-6.23408 -3.21663 3.17728 \n-6.43982 -2.65935 3.28202 \n-6.67788 -2.65935 2.7665 \n-6.5766 -2.94007 2.72446 \n-4.54391 -3.21664 5.3214 \n-4.62279 -2.94008 5.41346 \n-4.94712 -3.21664 4.94821 \n-5.11043 -2.65935 5.1114 \n-5.49614 -2.65935 4.69468 \n-5.41281 -2.94007 4.62339 \n-2.67712 -3.21664 6.4651 \n-2.72368 -2.94007 6.57703 \n-3.17592 -3.21664 6.23477 \n-3.28081 -2.65935 6.44044 \n-3.77641 -2.65936 6.1633 \n-3.71919 -2.94008 6.06976 \n-0.54827 -3.21664 6.97594 \n-0.557965 -2.94008 7.09679 \n-1.09383 -3.21664 6.91103 \n-1.13002 -2.65934 7.13905 \n-1.68701 -2.65934 7.02863 \n-1.6615 -2.94007 6.92197 \n1.63425 -3.21664 6.80395 \n1.66237 -2.94008 6.92187 \n1.09534 -3.21664 6.91079 \n1.13137 -2.65935 7.13883 \n0.567522 -2.65936 7.20593 \n0.558832 -2.94008 7.09662 \n3.6568 -3.21664 5.96593 \n3.71999 -2.94008 6.06939 \n3.17728 -3.21664 6.23408 \n3.28202 -2.65935 6.43982 \n2.7665 -2.65935 6.67788 \n2.72446 -2.94008 6.5766 \n5.3214 -3.21664 4.54391 \n5.41346 -2.94008 4.62279 \n4.94821 -3.21664 4.94712 \n5.1114 -2.65935 5.11043 \n4.69468 -2.65935 5.49614 \n4.62339 -2.94008 5.41281 \n6.4651 -3.21663 2.67712 \n6.57703 -2.94007 2.72369 \n6.23477 -3.21663 3.17592 \n6.44045 -2.65935 3.2808 \n6.1633 -2.65935 3.7764 \n6.06976 -2.94007 3.71918 \n6.97594 -3.21664 0.54827 \n7.09679 -2.94008 0.557965 \n6.91103 -3.21664 1.09383 \n7.13905 -2.65935 1.13002 \n7.02863 -2.65935 1.68701 \n6.92197 -2.94007 1.66149 \n6.80395 -3.21664 -1.63425 \n6.92187 -2.94007 -1.66237 \n6.91079 -3.21663 -1.09534 \n7.13884 -2.65934 -1.13137 \n7.20594 -2.65935 -0.567523 \n7.09662 -2.94007 -0.558833 \n6.32197 -2.08247 -3.87481 \n6.38737 -1.78841 -3.91476 \n6.60617 -2.08247 -3.3666 \n6.73838 -1.50253 -3.424 \n6.98485 -1.50253 -2.88346 \n6.92118 -1.78841 -2.86709 \n4.81517 -2.08247 -5.63876 \n4.86502 -1.78841 -5.69696 \n5.24251 -2.08247 -5.24325 \n5.35051 -1.50253 -5.33869 \n5.75195 -1.50253 -4.90077 \n5.69645 -1.78841 -4.86553 \n2.83703 -2.08247 -6.85074 \n2.86646 -1.78841 -6.92151 \n3.36566 -2.08247 -6.60665 \n3.43889 -1.50253 -6.7308 \n3.95601 -1.50253 -6.43836 \n3.91411 -1.78841 -6.38769 \n0.581175 -2.08247 -7.39213 \n0.587298 -1.78841 -7.46853 \n1.15937 -2.08247 -7.32334 \n1.19065 -1.50253 -7.46404 \n1.77283 -1.50253 -7.34572 \n1.74865 -1.78841 -7.28458 \n-1.73157 -2.08248 -7.20993 \n-1.74935 -1.78841 -7.28448 \n-1.16041 -2.08248 -7.32318 \n-1.17414 -1.50253 -7.46665 \n-0.583893 -1.50253 -7.53403 \n-0.588 -1.78841 -7.46841 \n-3.87481 -2.08247 -6.32197 \n-3.91476 -1.78841 -6.38737 \n-3.3666 -2.08247 -6.60617 \n-3.424 -1.50253 -6.73838 \n-2.88346 -1.50253 -6.98485 \n-2.86709 -1.78841 -6.92118 \n-5.63876 -2.08248 -4.81516 \n-5.69696 -1.78841 -4.86502 \n-5.24325 -2.08248 -5.2425 \n-5.33869 -1.50253 -5.35051 \n-4.90077 -1.50253 -5.75195 \n-4.86553 -1.78841 -5.69645 \n-6.85074 -2.08247 -2.83702 \n-6.92151 -1.78841 -2.86645 \n-6.60665 -2.08247 -3.36566 \n-6.73079 -1.50253 -3.43889 \n-6.43836 -1.50253 -3.95601 \n-6.38769 -1.78841 -3.91411 \n-7.39213 -2.08248 -0.58117 \n-7.46853 -1.78841 -0.587297 \n-7.32334 -2.08247 -1.15937 \n-7.46404 -1.50253 -1.19065 \n-7.34572 -1.50253 -1.77282 \n-7.28458 -1.78841 -1.74864 \n-7.20993 -2.08248 1.73156 \n-7.28448 -1.78841 1.74935 \n-7.32317 -2.08248 1.16041 \n-7.46665 -1.50253 1.17414 \n-7.53403 -1.50253 0.583893 \n-7.46841 -1.78841 0.588 \n-6.32196 -2.08248 3.8748 \n-6.38737 -1.78841 3.91475 \n-6.60617 -2.08248 3.3666 \n-6.73838 -1.50253 3.42399 \n-6.98485 -1.50253 2.88345 \n-6.92118 -1.78841 2.86708 \n-4.81516 -2.08248 5.63876 \n-4.86502 -1.78841 5.69696 \n-5.2425 -2.08248 5.24325 \n-5.35051 -1.50253 5.33869 \n-5.75195 -1.50253 4.90077 \n-5.69645 -1.78841 4.86552 \n-2.83702 -2.08247 6.85074 \n-2.86645 -1.78841 6.9215 \n-3.36566 -2.08248 6.60664 \n-3.43889 -1.50253 6.73079 \n-3.95601 -1.50253 6.43836 \n-3.91412 -1.78841 6.38768 \n-0.581176 -2.08247 7.39213 \n-0.587299 -1.78841 7.46853 \n-1.15937 -2.08247 7.32334 \n-1.19065 -1.50253 7.46404 \n-1.77282 -1.50253 7.34572 \n-1.74864 -1.78841 7.28458 \n1.73157 -2.08248 7.20993 \n1.74935 -1.78841 7.28448 \n1.16041 -2.08248 7.32317 \n1.17414 -1.50253 7.46665 \n0.583893 -1.50253 7.53403 \n0.588 -1.78841 7.46841 \n3.8748 -2.08248 6.32196 \n3.91476 -1.78841 6.38737 \n3.3666 -2.08248 6.60616 \n3.424 -1.50253 6.73838 \n2.88346 -1.50253 6.98485 \n2.86709 -1.78841 6.92117 \n5.63876 -2.08248 4.81516 \n5.69696 -1.78841 4.86502 \n5.24324 -2.08248 5.2425 \n5.33868 -1.50253 5.35051 \n4.90077 -1.50253 5.75195 \n4.86552 -1.78841 5.69645 \n6.85074 -2.08248 2.83702 \n6.9215 -1.78841 2.86645 \n6.60664 -2.08248 3.36566 \n6.73079 -1.50253 3.43889 \n6.43836 -1.50253 3.95601 \n6.38768 -1.78841 3.91412 \n7.39213 -2.08248 0.581171 \n7.46853 -1.78841 0.587298 \n7.32334 -2.08248 1.15937 \n7.46404 -1.50253 1.19065 \n7.34572 -1.50253 1.77282 \n7.28458 -1.78841 1.74864 \n7.20993 -2.08247 -1.73157 \n7.28448 -1.78841 -1.74935 \n7.32318 -2.08247 -1.16041 \n7.46665 -1.50253 -1.17414 \n7.53403 -1.50253 -0.583893 \n7.46841 -1.78841 -0.588 \n6.46669 -0.838338 -4.05891 \n6.45864 -0.496067 -4.12965 \n6.77158 -0.838338 -3.54325 \n6.78308 -0.216549 -3.62437 \n7.04167 -0.216549 -3.07855 \n7.02464 -0.496067 -3.06996 \n4.89592 -0.838339 -5.85857 \n4.8664 -0.496068 -5.92337 \n5.34523 -0.838339 -5.46237 \n5.33111 -0.216549 -5.54307 \n5.74571 -0.216549 -5.10387 \n5.73216 -0.496067 -5.09044 \n2.8459 -0.838338 -7.08475 \n2.7978 -0.496067 -7.13726 \n3.39565 -0.838338 -6.84679 \n3.35728 -0.216549 -6.91917 \n3.88731 -0.216549 -6.62959 \n3.87858 -0.496068 -6.61264 \n0.517303 -0.838338 -7.61743 \n0.455332 -0.496066 -7.6525 \n1.11368 -0.838338 -7.561 \n1.05482 -0.216548 -7.61798 \n1.64839 -0.216548 -7.50636 \n1.64533 -0.496066 -7.48754 \n-1.86193 -0.838339 -7.40446 \n-1.93171 -0.496068 -7.41866 \n-1.2773 -0.838338 -7.53507 \n-1.35089 -0.216549 -7.57109 \n-0.751876 -0.216549 -7.64836 \n-0.748971 -0.496067 -7.62951 \n-4.0589 -0.838338 -6.46669 \n-4.12965 -0.496067 -6.45864 \n-3.54325 -0.838338 -6.77158 \n-3.62436 -0.216549 -6.78308 \n-3.07855 -0.216549 -7.04167 \n-3.06996 -0.496068 -7.02464 \n-5.85857 -0.838338 -4.89592 \n-5.92336 -0.496067 -4.8664 \n-5.46236 -0.838338 -5.34523 \n-5.54306 -0.216548 -5.33111 \n-5.10387 -0.216548 -5.74571 \n-5.09044 -0.496066 -5.73216 \n-7.08475 -0.838337 -2.8459 \n-7.13725 -0.496065 -2.7978 \n-6.84678 -0.838338 -3.39565 \n-6.91917 -0.216549 -3.35728 \n-6.62959 -0.216549 -3.88731 \n-6.61263 -0.496067 -3.87858 \n-7.61742 -0.838337 -0.517303 \n-7.65249 -0.496064 -0.455331 \n-7.56098 -0.838337 -1.11369 \n-7.61798 -0.216547 -1.05482 \n-7.50636 -0.216547 -1.64839 \n-7.48753 -0.496064 -1.64533 \n-7.40446 -0.838338 1.86193 \n-7.41866 -0.496067 1.9317 \n-7.53507 -0.838338 1.27729 \n-7.57109 -0.216548 1.35089 \n-7.64835 -0.216548 0.751876 \n-7.6295 -0.496065 0.748971 \n-6.46669 -0.838338 4.0589 \n-6.45863 -0.496067 4.12965 \n-6.77157 -0.838338 3.54325 \n-6.78308 -0.216549 3.62436 \n-7.04167 -0.216549 3.07854 \n-7.02464 -0.496067 3.06996 \n-4.89592 -0.838337 5.85857 \n-4.8664 -0.496065 5.92336 \n-5.34523 -0.838337 5.46236 \n-5.3311 -0.216548 5.54306 \n-5.74571 -0.216548 5.10387 \n-5.73216 -0.496065 5.09044 \n-2.8459 -0.838338 7.08474 \n-2.7978 -0.496066 7.13725 \n-3.39565 -0.838337 6.84678 \n-3.35728 -0.216548 6.91917 \n-3.88731 -0.216548 6.62959 \n-3.87858 -0.496065 6.61263 \n-0.517304 -0.838338 7.61743 \n-0.455332 -0.496067 7.6525 \n-1.11368 -0.838338 7.56099 \n-1.05482 -0.216549 7.61797 \n-1.64839 -0.216549 7.50636 \n-1.64533 -0.496067 7.48753 \n1.86193 -0.838338 7.40446 \n1.9317 -0.496066 7.41866 \n1.27729 -0.838338 7.53507 \n1.35089 -0.216548 7.57108 \n0.751875 -0.216548 7.64836 \n0.74897 -0.496066 7.6295 \n4.05891 -0.838338 6.46669 \n4.12965 -0.496067 6.45863 \n3.54325 -0.838338 6.77157 \n3.62436 -0.216548 6.78308 \n3.07854 -0.216548 7.04167 \n3.06996 -0.496066 7.02464 \n5.85857 -0.838338 4.89592 \n5.92336 -0.496068 4.8664 \n5.46236 -0.838339 5.34523 \n5.54306 -0.216549 5.3311 \n5.10387 -0.216549 5.74571 \n5.09044 -0.496068 5.73216 \n7.08474 -0.838338 2.8459 \n7.13725 -0.496066 2.7978 \n6.84678 -0.838338 3.39565 \n6.91917 -0.216549 3.35728 \n6.62959 -0.216549 3.88731 \n6.61263 -0.496067 3.87858 \n7.61742 -0.838338 0.517305 \n7.65249 -0.496066 0.455333 \n7.56099 -0.838338 1.11368 \n7.61797 -0.216548 1.05482 \n7.50636 -0.216548 1.64839 \n7.48753 -0.496066 1.64533 \n7.40446 -0.838338 -1.86193 \n7.41866 -0.496067 -1.9317 \n7.53507 -0.838338 -1.27729 \n7.57109 -0.216549 -1.35089 \n7.64835 -0.216549 -0.751874 \n7.6295 -0.496067 -0.748969 \n0.679301 -7.65662 -0.267295 \n0.654593 -7.65662 -0.330911 \n0.563455 -7.65662 -0.464118 \n0.5203 -7.65662 -0.516989 \n0.392458 -7.65662 -0.615518 \n0.335075 -7.65662 -0.652466 \n0.183042 -7.65662 -0.706666 \n0.11705 -7.65662 -0.724075 \n-0.0442916 -7.65662 -0.728646 \n-0.112434 -7.65662 -0.724808 \n-0.267288 -7.65662 -0.679295 \n-0.330906 -7.65662 -0.654591 \n-0.464116 -7.65662 -0.563454 \n-0.516989 -7.65662 -0.520298 \n-0.61552 -7.65662 -0.392455 \n-0.652468 -7.65662 -0.335073 \n-0.706666 -7.65662 -0.183043 \n-0.724073 -7.65662 -0.117054 \n-0.728643 -7.65662 0.0442807 \n-0.724808 -7.65662 0.112421 \n-0.679295 -7.65662 0.26728 \n-0.654587 -7.65662 0.330904 \n-0.56345 -7.65662 0.464118 \n-0.520294 -7.65662 0.516989 \n-0.392455 -7.65662 0.615516 \n-0.335076 -7.65662 0.652463 \n-0.183047 -7.65662 0.706665 \n-0.117054 -7.65662 0.724072 \n0.0442911 -7.65662 0.728643 \n0.112435 -7.65662 0.724806 \n0.26729 -7.65662 0.679293 \n0.330909 -7.65662 0.654589 \n0.46412 -7.65662 0.563452 \n0.516993 -7.65662 0.520295 \n0.615523 -7.65662 0.392452 \n0.652472 -7.65662 0.335069 \n0.706675 -7.65662 0.183037 \n0.724081 -7.65662 0.117044 \n0.728646 -7.65662 -0.0442983 \n0.724811 -7.65662 -0.112441 \n1.68265 -6.46176 -0.698331 \n1.62252 -6.46176 -0.828528 \n1.46093 -6.52699 -0.604943 \n1.32258 -6.52957 -0.813007 \n1.07055 -6.58935 -0.660574 \n1.11961 -6.58935 -0.573889 \n1.3845 -6.46176 -1.18412 \n1.28708 -6.46176 -1.28937 \n1.20249 -6.52699 -1.02679 \n1.00661 -6.52957 -1.18192 \n0.814028 -6.58935 -0.959062 \n0.887468 -6.58935 -0.89178 \n0.950826 -6.46176 -1.554 \n0.825653 -6.46176 -1.62399 \n0.826341 -6.52699 -1.34812 \n0.592116 -6.52957 -1.43513 \n0.47782 -6.58935 -1.16367 \n0.568458 -6.58935 -1.12238 \n0.424076 -6.46176 -1.77176 \n0.283403 -6.46176 -1.79964 \n0.369304 -6.52699 -1.53749 \n0.119657 -6.52957 -1.54786 \n0.0948398 -6.58935 -1.25437 \n0.193803 -6.58935 -1.2431 \n-0.144184 -6.46176 -1.81609 \n-0.28659 -6.46176 -1.79914 \n-0.123883 -6.52699 -1.57637 \n-0.364516 -6.52957 -1.50908 \n-0.297424 -6.58935 -1.22229 \n-0.199823 -6.58935 -1.24215 \n-0.698331 -6.46176 -1.68265 \n-0.828527 -6.46176 -1.62252 \n-0.604942 -6.52699 -1.46093 \n-0.813006 -6.52957 -1.32258 \n-0.660574 -6.58935 -1.07055 \n-0.573889 -6.58935 -1.11961 \n-1.18412 -6.46176 -1.3845 \n-1.28937 -6.46176 -1.28708 \n-1.02679 -6.52699 -1.20249 \n-1.18192 -6.52957 -1.00662 \n-0.959062 -6.58935 -0.814028 \n-0.89178 -6.58935 -0.887468 \n-1.554 -6.46176 -0.950826 \n-1.62399 -6.46176 -0.825653 \n-1.34812 -6.52699 -0.826341 \n-1.43513 -6.52957 -0.592116 \n-1.16367 -6.58935 -0.47782 \n-1.12238 -6.58935 -0.568458 \n-1.77176 -6.46176 -0.424076 \n-1.79964 -6.46176 -0.283403 \n-1.53749 -6.52699 -0.369304 \n-1.54786 -6.52957 -0.119657 \n-1.25437 -6.58935 -0.0948398 \n-1.2431 -6.58935 -0.193803 \n-1.81609 -6.46176 0.144184 \n-1.79914 -6.46176 0.28659 \n-1.57637 -6.52699 0.123883 \n-1.50908 -6.52957 0.364516 \n-1.22229 -6.58935 0.297424 \n-1.24215 -6.58935 0.199823 \n-1.68265 -6.46176 0.698331 \n-1.62252 -6.46176 0.828527 \n-1.46093 -6.52699 0.604942 \n-1.32258 -6.52957 0.813006 \n-1.07055 -6.58935 0.660574 \n-1.11961 -6.58935 0.573889 \n-1.3845 -6.46176 1.18412 \n-1.28708 -6.46176 1.28937 \n-1.20249 -6.52699 1.02679 \n-1.00662 -6.52957 1.18192 \n-0.814028 -6.58935 0.959062 \n-0.887468 -6.58935 0.89178 \n-0.950826 -6.46176 1.554 \n-0.825653 -6.46176 1.62399 \n-0.826341 -6.52699 1.34812 \n-0.592116 -6.52957 1.43513 \n-0.47782 -6.58935 1.16367 \n-0.568458 -6.58935 1.12238 \n-0.424076 -6.46176 1.77176 \n-0.283403 -6.46176 1.79964 \n-0.369304 -6.52699 1.53749 \n-0.119657 -6.52957 1.54786 \n-0.0948398 -6.58935 1.25437 \n-0.193803 -6.58935 1.2431 \n0.144184 -6.46176 1.81609 \n0.28659 -6.46176 1.79914 \n0.123883 -6.52699 1.57637 \n0.364516 -6.52957 1.50908 \n0.297424 -6.58935 1.22229 \n0.199823 -6.58935 1.24215 \n0.698331 -6.46176 1.68265 \n0.828527 -6.46176 1.62252 \n0.604943 -6.52699 1.46093 \n0.813006 -6.52957 1.32258 \n0.660573 -6.58935 1.07055 \n0.573888 -6.58935 1.11961 \n1.18412 -6.46176 1.3845 \n1.28937 -6.46176 1.28708 \n1.02679 -6.52699 1.20249 \n1.18192 -6.52957 1.00662 \n0.959062 -6.58935 0.814028 \n0.89178 -6.58935 0.887468 \n1.554 -6.46176 0.950826 \n1.62399 -6.46176 0.825653 \n1.34812 -6.52699 0.826341 \n1.43513 -6.52957 0.592116 \n1.16367 -6.58935 0.47782 \n1.12238 -6.58935 0.568458 \n1.77176 -6.46176 0.424076 \n1.79964 -6.46176 0.283403 \n1.53749 -6.52699 0.369304 \n1.54786 -6.52957 0.119657 \n1.25437 -6.58935 0.0948398 \n1.2431 -6.58935 0.193803 \n1.81609 -6.46176 -0.144184 \n1.79914 -6.46176 -0.286589 \n1.57637 -6.52699 -0.123882 \n1.50908 -6.52957 -0.364515 \n1.22229 -6.58935 -0.297424 \n1.24215 -6.58935 -0.199823 \n2.59561 -6.09712 -1.07639 \n2.50295 -6.09712 -1.27703 \n2.3727 -6.20273 -0.983764 \n2.18973 -6.20273 -1.34301 \n1.98019 -6.29886 -1.21497 \n2.06909 -6.29886 -1.056 \n2.13594 -6.09712 -1.8258 \n1.98582 -6.09712 -1.98798 \n1.95257 -6.20273 -1.66882 \n1.66754 -6.20273 -1.95394 \n1.50783 -6.29886 -1.76742 \n1.64151 -6.29886 -1.6437 \n1.4672 -6.09712 -2.39648 \n1.27431 -6.09712 -2.50434 \n1.34131 -6.20273 -2.19052 \n0.982123 -6.20273 -2.37361 \n0.887866 -6.29886 -2.14686 \n1.05323 -6.29886 -2.0705 \n0.654838 -6.09712 -2.73257 \n0.438057 -6.09712 -2.77555 \n0.598755 -6.20273 -2.49779 \n0.200569 -6.20273 -2.56093 \n0.180995 -6.29886 -2.31615 \n0.361863 -6.29886 -2.29463 \n-0.221624 -6.09712 -2.80119 \n-0.441075 -6.09712 -2.77507 \n-0.202411 -6.20273 -2.56057 \n-0.600618 -6.20273 -2.49757 \n-0.543593 -6.29886 -2.25872 \n-0.364929 -6.29886 -2.29415 \n-1.07639 -6.09712 -2.59561 \n-1.27703 -6.09712 -2.50295 \n-0.983764 -6.20273 -2.3727 \n-1.34301 -6.20273 -2.18973 \n-1.21497 -6.29886 -1.98019 \n-1.056 -6.29886 -2.06909 \n-1.8258 -6.09712 -2.13594 \n-1.98798 -6.09712 -1.98582 \n-1.66882 -6.20273 -1.95257 \n-1.95394 -6.20273 -1.66754 \n-1.76742 -6.29886 -1.50783 \n-1.6437 -6.29886 -1.6415 \n-2.39648 -6.09712 -1.4672 \n-2.50434 -6.09712 -1.27431 \n-2.19052 -6.20273 -1.34131 \n-2.37361 -6.20273 -0.982123 \n-2.14686 -6.29886 -0.887866 \n-2.0705 -6.29886 -1.05323 \n-2.73257 -6.09712 -0.654838 \n-2.77555 -6.09712 -0.438057 \n-2.49779 -6.20273 -0.598755 \n-2.56093 -6.20273 -0.200569 \n-2.31615 -6.29886 -0.180995 \n-2.29463 -6.29886 -0.361863 \n-2.80119 -6.09712 0.221625 \n-2.77507 -6.09712 0.441075 \n-2.56057 -6.20273 0.202411 \n-2.49757 -6.20273 0.600618 \n-2.25872 -6.29886 0.543593 \n-2.29415 -6.29886 0.364929 \n-2.59561 -6.09712 1.07639 \n-2.50295 -6.09712 1.27703 \n-2.3727 -6.20273 0.983764 \n-2.18973 -6.20273 1.34301 \n-1.98019 -6.29886 1.21497 \n-2.06909 -6.29886 1.056 \n-2.13594 -6.09712 1.8258 \n-1.98582 -6.09712 1.98798 \n-1.95257 -6.20273 1.66882 \n-1.66754 -6.20273 1.95394 \n-1.50783 -6.29886 1.76742 \n-1.6415 -6.29886 1.6437 \n-1.4672 -6.09712 2.39648 \n-1.27431 -6.09712 2.50434 \n-1.34131 -6.20273 2.19052 \n-0.982123 -6.20273 2.37361 \n-0.887866 -6.29886 2.14686 \n-1.05323 -6.29886 2.0705 \n-0.654838 -6.09712 2.73257 \n-0.438057 -6.09712 2.77555 \n-0.598755 -6.20273 2.49779 \n-0.200569 -6.20273 2.56093 \n-0.180995 -6.29886 2.31615 \n-0.361863 -6.29886 2.29463 \n0.221624 -6.09712 2.80119 \n0.441073 -6.09712 2.77507 \n0.20241 -6.20273 2.56057 \n0.600617 -6.20273 2.49757 \n0.543593 -6.29886 2.25872 \n0.364929 -6.29886 2.29415 \n1.07639 -6.09712 2.59561 \n1.27703 -6.09712 2.50295 \n0.983764 -6.20273 2.3727 \n1.34301 -6.20273 2.18973 \n1.21497 -6.29886 1.98019 \n1.056 -6.29886 2.06909 \n1.8258 -6.09712 2.13594 \n1.98798 -6.09712 1.98582 \n1.66882 -6.20273 1.95257 \n1.95394 -6.20273 1.66754 \n1.76742 -6.29886 1.50783 \n1.6437 -6.29886 1.6415 \n2.39648 -6.09712 1.4672 \n2.50434 -6.09712 1.27431 \n2.19052 -6.20273 1.34131 \n2.37361 -6.20273 0.982123 \n2.14686 -6.29886 0.887866 \n2.0705 -6.29886 1.05323 \n2.73257 -6.09712 0.654838 \n2.77555 -6.09712 0.438057 \n2.49779 -6.20273 0.598755 \n2.56093 -6.20273 0.200569 \n2.31615 -6.29886 0.180995 \n2.29463 -6.29886 0.361863 \n2.80119 -6.09712 -0.221624 \n2.77507 -6.09712 -0.441075 \n2.56057 -6.20273 -0.202411 \n2.49757 -6.20273 -0.600618 \n2.25872 -6.29886 -0.543593 \n2.29415 -6.29886 -0.364929 \n3.44464 -5.58234 -1.42795 \n3.32174 -5.58234 -1.69409 \n3.23977 -5.72444 -1.34282 \n2.98993 -5.72444 -1.83331 \n2.79576 -5.85779 -1.71467 \n2.92134 -5.85779 -1.49011 \n2.83479 -5.58234 -2.42251 \n2.63566 -5.58234 -2.63765 \n2.66625 -5.72444 -2.27824 \n2.27707 -5.72444 -2.66752 \n2.12906 -5.85779 -2.49468 \n2.31789 -5.85779 -2.31992 \n1.94745 -5.58234 -3.17995 \n1.69159 -5.58234 -3.32302 \n1.83174 -5.72444 -2.99066 \n1.34132 -5.72444 -3.24062 \n1.25397 -5.85779 -3.0305 \n1.48755 -5.85779 -2.92265 \n0.869477 -5.58234 -3.6261 \n0.581925 -5.58234 -3.6831 \n0.817927 -5.72444 -3.41032 \n0.274255 -5.72444 -3.4965 \n0.256111 -5.85779 -3.26967 \n0.511594 -5.85779 -3.23927 \n-0.293608 -5.58234 -3.71731 \n-0.584699 -5.58234 -3.68266 \n-0.275955 -5.72444 -3.49616 \n-0.819646 -5.72444 -3.41011 \n-0.76681 -5.85779 -3.18878 \n-0.514436 -5.85779 -3.23882 \n-1.42795 -5.58234 -3.44464 \n-1.69409 -5.58234 -3.32174 \n-1.34282 -5.72444 -3.23977 \n-1.83331 -5.72444 -2.98993 \n-1.71467 -5.85779 -2.79576 \n-1.49011 -5.85779 -2.92134 \n-2.42251 -5.58234 -2.83479 \n-2.63765 -5.58234 -2.63566 \n-2.27824 -5.72444 -2.66625 \n-2.66752 -5.72444 -2.27707 \n-2.49468 -5.85779 -2.12906 \n-2.31992 -5.85779 -2.31789 \n-3.17995 -5.58234 -1.94744 \n-3.32302 -5.58234 -1.69158 \n-2.99066 -5.72444 -1.83174 \n-3.24062 -5.72444 -1.34131 \n-3.0305 -5.85779 -1.25396 \n-2.92265 -5.85779 -1.48755 \n-3.6261 -5.58234 -0.869478 \n-3.6831 -5.58234 -0.581925 \n-3.41032 -5.72444 -0.817927 \n-3.4965 -5.72444 -0.274255 \n-3.26967 -5.85779 -0.256111 \n-3.23927 -5.85779 -0.511594 \n-3.71731 -5.58234 0.293607 \n-3.68266 -5.58234 0.584698 \n-3.49616 -5.72444 0.275955 \n-3.41011 -5.72444 0.819645 \n-3.18878 -5.85779 0.766809 \n-3.23882 -5.85779 0.514436 \n-3.44464 -5.58234 1.42795 \n-3.32174 -5.58234 1.69409 \n-3.23977 -5.72444 1.34282 \n-2.98993 -5.72444 1.83331 \n-2.79576 -5.85779 1.71467 \n-2.92134 -5.85779 1.49011 \n-2.83479 -5.58234 2.42251 \n-2.63566 -5.58234 2.63765 \n-2.66625 -5.72444 2.27824 \n-2.27707 -5.72444 2.66752 \n-2.12906 -5.85779 2.49468 \n-2.31789 -5.85779 2.31992 \n-1.94744 -5.58234 3.17995 \n-1.69158 -5.58234 3.32302 \n-1.83174 -5.72444 2.99066 \n-1.34131 -5.72444 3.24062 \n-1.25396 -5.85779 3.0305 \n-1.48755 -5.85779 2.92265 \n-0.869478 -5.58234 3.6261 \n-0.581925 -5.58234 3.6831 \n-0.817927 -5.72444 3.41032 \n-0.274255 -5.72444 3.4965 \n-0.256111 -5.85779 3.26967 \n-0.511594 -5.85779 3.23927 \n0.293607 -5.58234 3.71731 \n0.584698 -5.58234 3.68266 \n0.275955 -5.72444 3.49616 \n0.819645 -5.72444 3.41011 \n0.766809 -5.85779 3.18878 \n0.514435 -5.85779 3.23882 \n1.42795 -5.58234 3.44464 \n1.69409 -5.58234 3.32174 \n1.34282 -5.72444 3.23977 \n1.83331 -5.72444 2.98993 \n1.71467 -5.85779 2.79576 \n1.49011 -5.85779 2.92134 \n2.42251 -5.58234 2.83479 \n2.63765 -5.58234 2.63566 \n2.27824 -5.72444 2.66625 \n2.66752 -5.72444 2.27707 \n2.49468 -5.85779 2.12906 \n2.31992 -5.85779 2.31789 \n3.17995 -5.58234 1.94744 \n3.32301 -5.58234 1.69158 \n2.99065 -5.72444 1.83174 \n3.24061 -5.72444 1.34131 \n3.0305 -5.85779 1.25396 \n2.92264 -5.85779 1.48755 \n3.6261 -5.58234 0.869478 \n3.6831 -5.58234 0.581925 \n3.41032 -5.72444 0.817927 \n3.4965 -5.72444 0.274255 \n3.26967 -5.85779 0.256111 \n3.23927 -5.85779 0.511594 \n3.71731 -5.58234 -0.293608 \n3.68266 -5.58234 -0.584699 \n3.49616 -5.72444 -0.275955 \n3.41011 -5.72444 -0.819646 \n3.18878 -5.85779 -0.76681 \n3.23882 -5.85779 -0.514436 \n4.20886 -4.93011 -1.74435 \n4.05874 -4.93011 -2.06943 \n4.02708 -5.1052 -1.66882 \n3.71651 -5.1052 -2.27847 \n3.54249 -5.27248 -2.17214 \n3.70165 -5.27248 -1.88753 \n3.46384 -4.93011 -2.95958 \n3.22061 -4.93011 -3.22237 \n3.31429 -5.1052 -2.83158 \n2.83052 -5.1052 -3.31542 \n2.69787 -5.27248 -3.16052 \n2.9372 -5.27248 -2.93902 \n2.37974 -4.93011 -3.88511 \n2.06721 -4.93011 -4.05987 \n2.27707 -5.1052 -3.71716 \n1.66747 -5.1052 -4.02783 \n1.58918 -5.27248 -3.83953 \n1.88523 -5.27248 -3.70282 \n1.0627 -4.93011 -4.43035 \n0.711463 -4.93011 -4.49997 \n1.01696 -5.1052 -4.23888 \n0.341189 -5.1052 -4.34597 \n0.324921 -5.27248 -4.14268 \n0.64873 -5.27248 -4.10416 \n-0.35836 -4.93011 -4.5419 \n-0.713926 -4.93011 -4.49958 \n-0.342704 -5.1052 -4.34567 \n-1.01849 -5.1052 -4.2387 \n-0.97114 -5.27248 -4.04033 \n-0.651275 -5.27248 -4.10375 \n-1.74435 -4.93011 -4.20886 \n-2.06943 -4.93011 -4.05874 \n-1.66882 -5.1052 -4.02708 \n-2.27847 -5.1052 -3.71651 \n-2.17214 -5.27248 -3.54249 \n-1.88753 -5.27248 -3.70165 \n-2.95958 -4.93011 -3.46384 \n-3.22237 -4.93011 -3.22061 \n-2.83158 -5.1052 -3.31429 \n-3.31542 -5.1052 -2.83052 \n-3.16052 -5.27248 -2.69787 \n-2.93902 -5.27248 -2.9372 \n-3.88511 -4.93011 -2.37974 \n-4.05988 -4.93011 -2.06721 \n-3.71716 -5.1052 -2.27707 \n-4.02783 -5.1052 -1.66747 \n-3.83952 -5.27248 -1.58918 \n-3.70282 -5.27248 -1.88523 \n-4.43034 -4.93011 -1.0627 \n-4.49997 -4.93011 -0.711463 \n-4.23888 -5.1052 -1.01696 \n-4.34597 -5.1052 -0.341189 \n-4.14269 -5.27248 -0.324921 \n-4.10416 -5.27248 -0.64873 \n-4.5419 -4.93011 0.35836 \n-4.49958 -4.93011 0.713926 \n-4.34567 -5.1052 0.342704 \n-4.2387 -5.1052 1.01849 \n-4.04033 -5.27248 0.97114 \n-4.10375 -5.27248 0.651274 \n-4.20886 -4.93011 1.74435 \n-4.05874 -4.93011 2.06943 \n-4.02708 -5.1052 1.66882 \n-3.71651 -5.1052 2.27847 \n-3.54249 -5.27248 2.17214 \n-3.70165 -5.27248 1.88753 \n-3.46384 -4.93011 2.95958 \n-3.22061 -4.93011 3.22237 \n-3.31429 -5.1052 2.83158 \n-2.83052 -5.1052 3.31541 \n-2.69787 -5.27248 3.16051 \n-2.9372 -5.27248 2.93901 \n-2.37974 -4.93011 3.88511 \n-2.06721 -4.93011 4.05987 \n-2.27707 -5.1052 3.71716 \n-1.66747 -5.1052 4.02783 \n-1.58918 -5.27248 3.83952 \n-1.88523 -5.27248 3.70282 \n-1.0627 -4.93011 4.43034 \n-0.711463 -4.93011 4.49997 \n-1.01696 -5.1052 4.23888 \n-0.341189 -5.1052 4.34597 \n-0.324921 -5.27248 4.14269 \n-0.64873 -5.27248 4.10416 \n0.35836 -4.93011 4.5419 \n0.713926 -4.93011 4.49958 \n0.342704 -5.1052 4.34567 \n1.01849 -5.1052 4.2387 \n0.97114 -5.27248 4.04033 \n0.651274 -5.27248 4.10375 \n1.74435 -4.93011 4.20886 \n2.06943 -4.93011 4.05874 \n1.66882 -5.1052 4.02708 \n2.27847 -5.1052 3.71651 \n2.17214 -5.27248 3.54249 \n1.88753 -5.27248 3.70165 \n2.95958 -4.93011 3.46384 \n3.22237 -4.93011 3.2206 \n2.83158 -5.1052 3.31428 \n3.31541 -5.1052 2.83052 \n3.16051 -5.27248 2.69787 \n2.93901 -5.27248 2.93719 \n3.88511 -4.93011 2.37974 \n4.05987 -4.93011 2.06721 \n3.71716 -5.1052 2.27707 \n4.02783 -5.1052 1.66747 \n3.83952 -5.27248 1.58918 \n3.70282 -5.27248 1.88523 \n4.43034 -4.93011 1.0627 \n4.49997 -4.93011 0.711463 \n4.23887 -5.1052 1.01696 \n4.34597 -5.1052 0.341189 \n4.14269 -5.27248 0.324921 \n4.10416 -5.27248 0.64873 \n4.5419 -4.93011 -0.358361 \n4.49958 -4.93011 -0.713927 \n4.34567 -5.1052 -0.342705 \n4.2387 -5.1052 -1.01849 \n4.04033 -5.27248 -0.97114 \n4.10375 -5.27248 -0.651275 \n4.86945 -4.15649 -2.01779 \n4.6958 -4.15649 -2.39381 \n4.71522 -4.36025 -1.95372 \n4.35158 -4.36025 -2.66752 \n4.20199 -4.55735 -2.57613 \n4.39081 -4.55735 -2.23847 \n4.00759 -4.15649 -3.42378 \n3.72624 -4.15649 -3.72774 \n3.88071 -4.36025 -3.31518 \n3.31428 -4.36025 -3.88168 \n3.20026 -4.55735 -3.74853 \n3.48418 -4.55735 -3.48575 \n2.75344 -4.15649 -4.49462 \n2.39193 -4.15649 -4.69676 \n2.66632 -4.36025 -4.35213 \n1.95257 -4.36025 -4.71586 \n1.88526 -4.55735 -4.554 \n2.23649 -4.55735 -4.39181 \n1.22976 -4.15649 -5.1255 \n0.823484 -4.15649 -5.20604 \n1.19095 -4.36025 -4.96306 \n0.39972 -4.36025 -5.08843 \n0.385729 -4.55735 -4.91369 \n0.769891 -4.55735 -4.86798 \n-0.41429 -4.15649 -5.25466 \n-0.825574 -4.15649 -5.20571 \n-0.401016 -4.36025 -5.08817 \n-1.19226 -4.36025 -4.9629 \n-1.15156 -4.55735 -4.79239 \n-0.772078 -4.55735 -4.86763 \n-2.01779 -4.15649 -4.86945 \n-2.39381 -4.15649 -4.6958 \n-1.95372 -4.36025 -4.71522 \n-2.66752 -4.36025 -4.35157 \n-2.57613 -4.55735 -4.20198 \n-2.23847 -4.55735 -4.39081 \n-3.42378 -4.15649 -4.00759 \n-3.72774 -4.15649 -3.72624 \n-3.31518 -4.36025 -3.8807 \n-3.88168 -4.36025 -3.31428 \n-3.74853 -4.55735 -3.20026 \n-3.48575 -4.55735 -3.48418 \n-4.49462 -4.15649 -2.75344 \n-4.69676 -4.15649 -2.39193 \n-4.35213 -4.36025 -2.66632 \n-4.71586 -4.36025 -1.95257 \n-4.554 -4.55735 -1.88526 \n-4.39181 -4.55735 -2.23649 \n-5.12549 -4.15649 -1.22976 \n-5.20603 -4.15649 -0.823484 \n-4.96306 -4.36025 -1.19095 \n-5.08843 -4.36025 -0.399721 \n-4.91369 -4.55735 -0.385729 \n-4.86798 -4.55735 -0.769891 \n-5.25465 -4.15649 0.41429 \n-5.2057 -4.15649 0.825573 \n-5.08817 -4.36025 0.401015 \n-4.9629 -4.36025 1.19225 \n-4.79239 -4.55735 1.15156 \n-4.86763 -4.55735 0.772078 \n-4.86945 -4.15649 2.01779 \n-4.6958 -4.15649 2.39381 \n-4.71522 -4.36025 1.95372 \n-4.35157 -4.36025 2.66752 \n-4.20198 -4.55735 2.57613 \n-4.39081 -4.55735 2.23847 \n-4.00759 -4.15649 3.42378 \n-3.72624 -4.15649 3.72774 \n-3.8807 -4.36025 3.31518 \n-3.31428 -4.36025 3.88168 \n-3.20026 -4.55735 3.74853 \n-3.48418 -4.55735 3.48575 \n-2.75344 -4.15649 4.49462 \n-2.39193 -4.15649 4.69676 \n-2.66632 -4.36025 4.35213 \n-1.95257 -4.36025 4.71586 \n-1.88526 -4.55735 4.554 \n-2.23649 -4.55735 4.39181 \n-1.22976 -4.15649 5.12549 \n-0.823484 -4.15649 5.20603 \n-1.19095 -4.36025 4.96306 \n-0.399721 -4.36025 5.08843 \n-0.385729 -4.55735 4.91369 \n-0.769891 -4.55735 4.86798 \n0.41429 -4.15649 5.25465 \n0.825573 -4.15649 5.2057 \n0.401015 -4.36025 5.08817 \n1.19226 -4.36025 4.9629 \n1.15156 -4.55735 4.79239 \n0.772078 -4.55735 4.86763 \n2.01779 -4.15649 4.86945 \n2.39381 -4.15649 4.6958 \n1.95372 -4.36025 4.71522 \n2.66752 -4.36025 4.35157 \n2.57613 -4.55735 4.20198 \n2.23847 -4.55735 4.39081 \n3.42378 -4.15649 4.00759 \n3.72774 -4.15649 3.72624 \n3.31518 -4.36025 3.8807 \n3.88168 -4.36025 3.31428 \n3.74853 -4.55735 3.20026 \n3.48575 -4.55735 3.48418 \n4.49462 -4.15649 2.75344 \n4.69676 -4.15649 2.39193 \n4.35213 -4.36025 2.66632 \n4.71586 -4.36025 1.95257 \n4.554 -4.55735 1.88526 \n4.39181 -4.55735 2.23649 \n5.12549 -4.15649 1.22976 \n5.20603 -4.15649 0.823484 \n4.96306 -4.36025 1.19095 \n5.08842 -4.36025 0.399721 \n4.91368 -4.55735 0.385729 \n4.86798 -4.55735 0.769891 \n5.25464 -4.15649 -0.41429 \n5.2057 -4.15649 -0.825574 \n5.08817 -4.36025 -0.401015 \n4.9629 -4.36025 -1.19226 \n4.79239 -4.55735 -1.15156 \n4.86763 -4.55735 -0.772079 \n5.41013 -3.28052 -2.24155 \n5.21724 -3.28052 -2.65927 \n5.28726 -3.50794 -2.19052 \n4.8795 -3.50794 -2.99089 \n4.75802 -3.73 -2.91669 \n4.97186 -3.73 -2.53429 \n4.45266 -3.28052 -3.80366 \n4.14013 -3.28052 -4.14132 \n4.35158 -3.50794 -3.71716 \n3.71644 -3.50794 -4.35235 \n3.62384 -3.73 -4.24425 \n3.94538 -3.73 -3.94664 \n3.05934 -3.28052 -4.99345 \n2.65776 -3.28052 -5.218 \n2.98993 -3.50794 -4.87994 \n2.18959 -3.50794 -5.28777 \n2.13493 -3.73 -5.15634 \n2.5327 -3.73 -4.97267 \n1.36654 -3.28052 -5.69444 \n0.915228 -3.28052 -5.78391 \n1.33561 -3.50794 -5.56503 \n0.44841 -3.50794 -5.7056 \n0.437041 -3.73 -5.56371 \n0.872095 -3.73 -5.51194 \n-0.460019 -3.28052 -5.83802 \n-0.916893 -3.28052 -5.78365 \n-0.449452 -3.50794 -5.70539 \n-1.33666 -3.50794 -5.56491 \n-1.30363 -3.73 -5.42645 \n-0.87387 -3.73 -5.51166 \n-2.24155 -3.28052 -5.41013 \n-2.65927 -3.28052 -5.21724 \n-2.19052 -3.50794 -5.28726 \n-2.99089 -3.50794 -4.87949 \n-2.91669 -3.73 -4.75801 \n-2.53429 -3.73 -4.97185 \n-3.80366 -3.28052 -4.45266 \n-4.14132 -3.28052 -4.14013 \n-3.71716 -3.50794 -4.35157 \n-4.35235 -3.50794 -3.71644 \n-4.24424 -3.73 -3.62384 \n-3.94664 -3.73 -3.94538 \n-4.99345 -3.28052 -3.05934 \n-5.218 -3.28052 -2.65776 \n-4.87994 -3.50794 -2.98993 \n-5.28777 -3.50794 -2.18959 \n-5.15634 -3.73 -2.13493 \n-4.97267 -3.73 -2.5327 \n-5.69444 -3.28052 -1.36654 \n-5.78391 -3.28052 -0.915228 \n-5.56503 -3.50794 -1.33561 \n-5.70559 -3.50794 -0.44841 \n-5.5637 -3.73 -0.43704 \n-5.51193 -3.73 -0.872094 \n-5.83801 -3.28052 0.460019 \n-5.78364 -3.28052 0.916893 \n-5.70538 -3.50794 0.449452 \n-5.56491 -3.50794 1.33666 \n-5.42645 -3.73 1.30363 \n-5.51165 -3.73 0.87387 \n-5.41013 -3.28052 2.24155 \n-5.21724 -3.28052 2.65927 \n-5.28726 -3.50794 2.19052 \n-4.87949 -3.50794 2.99089 \n-4.75801 -3.73 2.91669 \n-4.97185 -3.73 2.53429 \n-4.45266 -3.28052 3.80366 \n-4.14013 -3.28052 4.14132 \n-4.35157 -3.50794 3.71716 \n-3.71644 -3.50794 4.35235 \n-3.62384 -3.73 4.24424 \n-3.94538 -3.73 3.94664 \n-3.05934 -3.28052 4.99345 \n-2.65776 -3.28052 5.218 \n-2.98993 -3.50794 4.87994 \n-2.18959 -3.50794 5.28777 \n-2.13493 -3.73 5.15634 \n-2.5327 -3.73 4.97267 \n-1.36654 -3.28052 5.69444 \n-0.915228 -3.28052 5.78391 \n-1.33561 -3.50794 5.56503 \n-0.44841 -3.50794 5.70559 \n-0.43704 -3.73 5.5637 \n-0.872094 -3.73 5.51193 \n0.460019 -3.28052 5.83801 \n0.916893 -3.28052 5.78364 \n0.449452 -3.50794 5.70538 \n1.33666 -3.50794 5.56491 \n1.30363 -3.73 5.42645 \n0.873869 -3.73 5.51165 \n2.24155 -3.28052 5.41013 \n2.65927 -3.28052 5.21724 \n2.19052 -3.50794 5.28726 \n2.99089 -3.50794 4.87949 \n2.91669 -3.73 4.75801 \n2.53429 -3.73 4.97185 \n3.80366 -3.28052 4.45266 \n4.14132 -3.28052 4.14013 \n3.71716 -3.50794 4.35157 \n4.35235 -3.50794 3.71644 \n4.24424 -3.73 3.62384 \n3.94664 -3.73 3.94538 \n4.99344 -3.28052 3.05934 \n5.218 -3.28052 2.65776 \n4.87993 -3.50794 2.98993 \n5.28777 -3.50794 2.18959 \n5.15634 -3.73 2.13493 \n4.97267 -3.73 2.5327 \n5.69444 -3.28052 1.36654 \n5.78391 -3.28052 0.915228 \n5.56503 -3.50794 1.33561 \n5.70559 -3.50794 0.44841 \n5.5637 -3.73 0.43704 \n5.51193 -3.73 0.872094 \n5.83801 -3.28052 -0.460019 \n5.78364 -3.28052 -0.916893 \n5.70538 -3.50794 -0.449452 \n5.56491 -3.50794 -1.33666 \n5.42645 -3.73 -1.30363 \n5.51165 -3.73 -0.87387 \n5.8176 -2.32376 -2.41011 \n5.61021 -2.32376 -2.85923 \n5.72911 -2.56925 -2.37337 \n5.28726 -2.56925 -3.24062 \n5.19689 -2.81081 -3.18543 \n5.43048 -2.81081 -2.76772 \n4.7881 -2.32376 -4.08989 \n4.45208 -2.32376 -4.45293 \n4.71529 -2.56925 -4.0276 \n4.02708 -2.56925 -4.71587 \n3.95818 -2.81081 -4.63545 \n4.30942 -2.81081 -4.31037 \n3.28991 -2.32376 -5.36933 \n2.85814 -2.32376 -5.61076 \n3.23991 -2.56925 -5.28759 \n2.3727 -2.56925 -5.72949 \n2.33203 -2.81081 -5.63172 \n2.76653 -2.81081 -5.43109 \n1.46967 -2.32376 -6.12316 \n0.984435 -2.32376 -6.21937 \n1.44738 -2.56925 -6.02998 \n0.486059 -2.56925 -6.18227 \n0.477591 -2.81081 -6.07672 \n0.952824 -2.81081 -6.02017 \n-0.49442 -2.32376 -6.27763 \n-0.985636 -2.32376 -6.21918 \n-0.486821 -2.56925 -6.18212 \n-1.44816 -2.56925 -6.02989 \n-1.42359 -2.81081 -5.92689 \n-0.954144 -2.81081 -6.01996 \n-2.41011 -2.32376 -5.81759 \n-2.85923 -2.32376 -5.61021 \n-2.37337 -2.56925 -5.72911 \n-3.24062 -2.56925 -5.28726 \n-3.18543 -2.81081 -5.19689 \n-2.76772 -2.81081 -5.43048 \n-4.08989 -2.32376 -4.7881 \n-4.45293 -2.32376 -4.45208 \n-4.0276 -2.56925 -4.71529 \n-4.71586 -2.56925 -4.02708 \n-4.63545 -2.81081 -3.95818 \n-4.31036 -2.81081 -4.30942 \n-5.36932 -2.32376 -3.28991 \n-5.61076 -2.32376 -2.85814 \n-5.28759 -2.56925 -3.23991 \n-5.72949 -2.56925 -2.3727 \n-5.63172 -2.81081 -2.33203 \n-5.43109 -2.81081 -2.76653 \n-6.12316 -2.32376 -1.46967 \n-6.21937 -2.32376 -0.984435 \n-6.02998 -2.56925 -1.44738 \n-6.18227 -2.56925 -0.486059 \n-6.07672 -2.81081 -0.477591 \n-6.02017 -2.81081 -0.952824 \n-6.27763 -2.32376 0.494419 \n-6.21917 -2.32376 0.985636 \n-6.18212 -2.56925 0.486821 \n-6.02988 -2.56925 1.44816 \n-5.92689 -2.81081 1.42359 \n-6.01996 -2.81081 0.954144 \n-5.81759 -2.32376 2.41011 \n-5.61021 -2.32376 2.85922 \n-5.72911 -2.56925 2.37337 \n-5.28726 -2.56925 3.24062 \n-5.19689 -2.81081 3.18543 \n-5.43048 -2.81081 2.76772 \n-4.7881 -2.32376 4.08989 \n-4.45208 -2.32376 4.45293 \n-4.7153 -2.56925 4.0276 \n-4.02708 -2.56925 4.71586 \n-3.95819 -2.81081 4.63545 \n-4.30942 -2.81081 4.31036 \n-3.28991 -2.32376 5.36932 \n-2.85814 -2.32376 5.61075 \n-3.23991 -2.56925 5.28758 \n-2.3727 -2.56925 5.72948 \n-2.33203 -2.81081 5.63172 \n-2.76653 -2.81081 5.43108 \n-1.46967 -2.32376 6.12316 \n-0.984435 -2.32376 6.21936 \n-1.44738 -2.56925 6.02998 \n-0.486059 -2.56925 6.18227 \n-0.477591 -2.81081 6.07672 \n-0.952824 -2.81081 6.02017 \n0.494419 -2.32376 6.27763 \n0.985636 -2.32376 6.21917 \n0.486821 -2.56925 6.18212 \n1.44816 -2.56925 6.02988 \n1.42359 -2.81081 5.92689 \n0.954144 -2.81081 6.01996 \n2.41011 -2.32376 5.81759 \n2.85922 -2.32376 5.61021 \n2.37337 -2.56925 5.72911 \n3.24062 -2.56925 5.28726 \n3.18543 -2.81081 5.19689 \n2.76772 -2.81081 5.43048 \n4.08989 -2.32376 4.7881 \n4.45293 -2.32376 4.45207 \n4.0276 -2.56925 4.71529 \n4.71586 -2.56925 4.02707 \n4.63545 -2.81081 3.95818 \n4.31036 -2.81081 4.30942 \n5.36932 -2.32376 3.28991 \n5.61075 -2.32376 2.85814 \n5.28758 -2.56925 3.23991 \n5.72948 -2.56925 2.3727 \n5.63172 -2.81081 2.33203 \n5.43108 -2.81081 2.76653 \n6.12316 -2.32376 1.46967 \n6.21936 -2.32376 0.984435 \n6.02998 -2.56925 1.44738 \n6.18227 -2.56925 0.486059 \n6.07672 -2.81081 0.477591 \n6.02017 -2.81081 0.952824 \n6.27763 -2.32376 -0.49442 \n6.21917 -2.32376 -0.985636 \n6.18211 -2.56925 -0.486821 \n6.02988 -2.56925 -1.44816 \n5.92688 -2.81081 -1.42359 \n6.01996 -2.81081 -0.954144 \n6.0855 -1.318 -2.51211 \n5.87077 -1.318 -2.98305 \n6.02989 -1.5673 -2.49779 \n5.56484 -1.5673 -3.41055 \n5.5078 -1.8224 -3.37573 \n5.75538 -1.8224 -2.93298 \n5.01136 -1.318 -4.26969 \n4.66161 -1.318 -4.65122 \n4.9629 -1.5673 -4.23888 \n4.23856 -1.5673 -4.96325 \n4.19507 -1.8224 -4.91251 \n4.56735 -1.8224 -4.56795 \n3.44668 -1.318 -5.60931 \n2.99615 -1.318 -5.86409 \n3.41012 -1.5673 -5.56504 \n2.49738 -1.5673 -6.03012 \n2.4717 -1.8224 -5.96843 \n2.93224 -1.8224 -5.75577 \n1.54462 -1.318 -6.39985 \n1.03741 -1.318 -6.50295 \n1.52352 -1.5673 -6.34645 \n0.511739 -1.5673 -6.50672 \n0.50638 -1.8224 -6.44011 \n1.01009 -1.8224 -6.38017 \n-0.50864 -1.318 -6.56394 \n-1.02289 -1.318 -6.50525 \n-0.512203 -1.5673 -6.50663 \n-1.52399 -1.5673 -6.34639 \n-1.50851 -1.8224 -6.28139 \n-1.01092 -1.8224 -6.38004 \n-2.51211 -1.318 -6.08549 \n-2.98305 -1.318 -5.87076 \n-2.49779 -1.5673 -6.02989 \n-3.41055 -1.5673 -5.56484 \n-3.37573 -1.8224 -5.5078 \n-2.93298 -1.8224 -5.75538 \n-4.26969 -1.318 -5.01136 \n-4.65122 -1.318 -4.66161 \n-4.23888 -1.5673 -4.9629 \n-4.96325 -1.5673 -4.23856 \n-4.91251 -1.8224 -4.19507 \n-4.56795 -1.8224 -4.56735 \n-5.60931 -1.318 -3.44669 \n-5.86409 -1.318 -2.99615 \n-5.56503 -1.5673 -3.41012 \n-6.03012 -1.5673 -2.49738 \n-5.96843 -1.8224 -2.4717 \n-5.75576 -1.8224 -2.93224 \n-6.39985 -1.318 -1.54462 \n-6.50294 -1.318 -1.03741 \n-6.34645 -1.5673 -1.52352 \n-6.50672 -1.5673 -0.511739 \n-6.44011 -1.8224 -0.50638 \n-6.38017 -1.8224 -1.01009 \n-6.56393 -1.318 0.50864 \n-6.50524 -1.318 1.02289 \n-6.50662 -1.5673 0.512203 \n-6.34639 -1.5673 1.52399 \n-6.28139 -1.8224 1.50851 \n-6.38004 -1.8224 1.01092 \n-6.08549 -1.318 2.51211 \n-5.87076 -1.318 2.98305 \n-6.02989 -1.5673 2.49779 \n-5.56484 -1.5673 3.41055 \n-5.5078 -1.8224 3.37573 \n-5.75538 -1.8224 2.93298 \n-5.01136 -1.318 4.26969 \n-4.66161 -1.318 4.65122 \n-4.9629 -1.5673 4.23888 \n-4.23856 -1.5673 4.96325 \n-4.19507 -1.8224 4.91252 \n-4.56735 -1.8224 4.56795 \n-3.44669 -1.318 5.60931 \n-2.99615 -1.318 5.86409 \n-3.41012 -1.5673 5.56503 \n-2.49738 -1.5673 6.03012 \n-2.4717 -1.8224 5.96842 \n-2.93224 -1.8224 5.75576 \n-1.54462 -1.318 6.39985 \n-1.03741 -1.318 6.50294 \n-1.52352 -1.5673 6.34645 \n-0.511739 -1.5673 6.50672 \n-0.50638 -1.8224 6.44011 \n-1.01009 -1.8224 6.38017 \n0.50864 -1.318 6.56393 \n1.02289 -1.318 6.50524 \n0.512203 -1.5673 6.50662 \n1.52399 -1.5673 6.34639 \n1.50851 -1.8224 6.28138 \n1.01092 -1.8224 6.38003 \n2.51211 -1.318 6.08549 \n2.98305 -1.318 5.87076 \n2.49779 -1.5673 6.02989 \n3.41055 -1.5673 5.56484 \n3.37573 -1.8224 5.5078 \n2.93298 -1.8224 5.75538 \n4.26969 -1.318 5.01136 \n4.65122 -1.318 4.66161 \n4.23888 -1.5673 4.9629 \n4.96325 -1.5673 4.23856 \n4.91251 -1.8224 4.19507 \n4.56794 -1.8224 4.56735 \n5.60931 -1.318 3.44668 \n5.86409 -1.318 2.99615 \n5.56503 -1.5673 3.41011 \n6.03012 -1.5673 2.49738 \n5.96842 -1.8224 2.4717 \n5.75576 -1.8224 2.93224 \n6.39985 -1.318 1.54462 \n6.50294 -1.318 1.03741 \n6.34645 -1.5673 1.52352 \n6.50671 -1.5673 0.511739 \n6.44011 -1.8224 0.50638 \n6.38017 -1.8224 1.01009 \n6.56393 -1.318 -0.50864 \n6.50525 -1.318 -1.02289 \n6.50662 -1.5673 -0.512203 \n6.34639 -1.5673 -1.52399 \n6.28139 -1.8224 -1.50851 \n6.38004 -1.8224 -1.01092 \n6.13972 -0.132094 -2.68434 \n5.91427 -0.132094 -3.16021 \n6.12344 -0.395472 -2.6763 \n5.63001 -0.395472 -3.60003 \n5.63562 -0.715279 -3.53747 \n5.90136 -0.715279 -3.08804 \n5.00972 -0.132094 -4.45024 \n4.64824 -0.132094 -4.83315 \n4.99671 -0.395472 -4.43755 \n4.24198 -0.395472 -5.16361 \n4.26665 -0.715279 -5.10583 \n4.65826 -0.715279 -4.76052 \n3.38933 -0.132094 -5.78052 \n2.92721 -0.132094 -6.03298 \n3.38088 -0.395472 -5.76443 \n2.43873 -0.395472 -6.22173 \n2.48004 -0.715279 -6.1744 \n2.95919 -0.715279 -5.96701 \n1.43716 -0.132094 -6.54496 \n0.919649 -0.132094 -6.64226 \n1.43409 -0.395472 -6.52705 \n0.396745 -0.395472 -6.67082 \n0.450659 -0.715279 -6.63858 \n0.970448 -0.715279 -6.58941 \n-0.655677 -0.132094 -6.66873 \n-1.17793 -0.132094 -6.60136 \n-0.653063 -0.395472 -6.65075 \n-1.68407 -0.395472 -6.46693 \n-1.62283 -0.715279 -6.45293 \n-1.11328 -0.715279 -6.56679 \n-2.68434 -0.132094 -6.13972 \n-3.16021 -0.132094 -5.91426 \n-2.6763 -0.395472 -6.12343 \n-3.60003 -0.395472 -5.63001 \n-3.53747 -0.715279 -5.63561 \n-3.08804 -0.715279 -5.90135 \n-4.45024 -0.132094 -5.00972 \n-4.83315 -0.132094 -4.64824 \n-4.43756 -0.395472 -4.99671 \n-5.1636 -0.395472 -4.24198 \n-5.10583 -0.715279 -4.26665 \n-4.76053 -0.715279 -4.65826 \n-5.78051 -0.132094 -3.38933 \n-6.03298 -0.132094 -2.92721 \n-5.76443 -0.395472 -3.38087 \n-6.22173 -0.395472 -2.43872 \n-6.17441 -0.715279 -2.48004 \n-5.96701 -0.715279 -2.95919 \n-6.54495 -0.132094 -1.43716 \n-6.64226 -0.132094 -0.919649 \n-6.52705 -0.395472 -1.43409 \n-6.67082 -0.395472 -0.396745 \n-6.63858 -0.715279 -0.450659 \n-6.5894 -0.715279 -0.970448 \n-6.66873 -0.132094 0.655677 \n-6.60135 -0.132094 1.17793 \n-6.65075 -0.395472 0.653063 \n-6.46693 -0.395472 1.68407 \n-6.45292 -0.715279 1.62283 \n-6.56678 -0.715279 1.11328 \n-6.13972 -0.132094 2.68434 \n-5.91426 -0.132094 3.16021 \n-6.12343 -0.395472 2.6763 \n-5.63001 -0.395472 3.60003 \n-5.63561 -0.715279 3.53747 \n-5.90135 -0.715279 3.08804 \n-5.00972 -0.132094 4.45024 \n-4.64824 -0.132094 4.83315 \n-4.99671 -0.395472 4.43756 \n-4.24198 -0.395472 5.1636 \n-4.26665 -0.715279 5.10583 \n-4.65826 -0.715279 4.76053 \n-3.38933 -0.132094 5.78051 \n-2.92721 -0.132094 6.03298 \n-3.38087 -0.395472 5.76443 \n-2.43872 -0.395472 6.22173 \n-2.48004 -0.715279 6.17441 \n-2.95919 -0.715279 5.96701 \n-1.43716 -0.132094 6.54495 \n-0.919649 -0.132094 6.64226 \n-1.43409 -0.395472 6.52705 \n-0.396745 -0.395472 6.67082 \n-0.450659 -0.715279 6.63858 \n-0.970448 -0.715279 6.5894 \n0.655677 -0.132094 6.66873 \n1.17793 -0.132094 6.60135 \n0.653063 -0.395472 6.65075 \n1.68407 -0.395472 6.46693 \n1.62283 -0.715279 6.45292 \n1.11328 -0.715279 6.56678 \n2.68434 -0.132094 6.13972 \n3.16021 -0.132094 5.91426 \n2.6763 -0.395472 6.12343 \n3.60003 -0.395472 5.63001 \n3.53747 -0.715279 5.63561 \n3.08804 -0.715279 5.90135 \n4.45024 -0.132094 5.00972 \n4.83315 -0.132094 4.64824 \n4.43755 -0.395472 4.99671 \n5.1636 -0.395472 4.24198 \n5.10583 -0.715279 4.26665 \n4.76052 -0.715279 4.65826 \n5.78051 -0.132094 3.38933 \n6.03298 -0.132094 2.92721 \n5.76443 -0.395472 3.38087 \n6.22173 -0.395472 2.43872 \n6.17441 -0.715279 2.48004 \n5.96701 -0.715279 2.95919 \n6.54495 -0.132094 1.43716 \n6.64226 -0.132094 0.919648 \n6.52705 -0.395472 1.43409 \n6.67082 -0.395472 0.396744 \n6.63858 -0.715279 0.450659 \n6.5894 -0.715279 0.970447 \n6.66873 -0.132094 -0.655677 \n6.60136 -0.132094 -1.17793 \n6.65075 -0.395472 -0.653063 \n6.46693 -0.395472 -1.68407 \n6.45293 -0.715279 -1.62283 \n6.56679 -0.715279 -1.11328 \n0.590953 -6.68205 -0.232521 \n0.569462 -6.68205 -0.287866 \n0.490177 -6.68205 -0.403755 \n0.452636 -6.68205 -0.44975 \n0.341419 -6.68205 -0.535467 \n0.291501 -6.68205 -0.56761 \n0.15924 -6.68205 -0.614763 \n0.101833 -6.68205 -0.629907 \n-0.038526 -6.68205 -0.633882 \n-0.0978032 -6.68205 -0.630546 \n-0.232521 -6.68205 -0.590953 \n-0.287866 -6.68205 -0.569462 \n-0.403755 -6.68205 -0.490177 \n-0.44975 -6.68205 -0.452636 \n-0.535467 -6.68205 -0.341419 \n-0.56761 -6.68205 -0.291501 \n-0.614763 -6.68205 -0.15924 \n-0.629907 -6.68205 -0.101833 \n-0.633882 -6.68205 0.038526 \n-0.630546 -6.68205 0.0978033 \n-0.590953 -6.68205 0.232521 \n-0.569462 -6.68205 0.287866 \n-0.490177 -6.68205 0.403755 \n-0.452636 -6.68205 0.44975 \n-0.341419 -6.68205 0.535466 \n-0.291501 -6.68205 0.567609 \n-0.15924 -6.68205 0.614763 \n-0.101833 -6.68205 0.629907 \n0.038526 -6.68205 0.633882 \n0.0978032 -6.68205 0.630546 \n0.232521 -6.68205 0.590953 \n0.287866 -6.68205 0.569461 \n0.403754 -6.68205 0.490177 \n0.44975 -6.68205 0.452636 \n0.535466 -6.68205 0.341419 \n0.567609 -6.68205 0.291501 \n0.614763 -6.68205 0.15924 \n0.629907 -6.68205 0.101833 \n0.633882 -6.68205 -0.0385261 \n0.630546 -6.68205 -0.0978032 \n6.33797 -0.0145395 -2.66966 \n6.64966 -0.0387719 -2.71432 \n6.11464 -0.0145395 -3.1714 \n6.73 -0.0630043 -3.32389 \n6.44477 -0.063004 -3.82838 \n6.14731 -0.0387718 -3.71983 \n5.2028 -0.0145393 -4.49754 \n5.48544 -0.0387715 -4.63633 \n4.83535 -0.0145393 -4.90571 \n5.37347 -0.0630036 -5.24089 \n4.94632 -0.0630036 -5.63254 \n4.69695 -0.0387714 -5.4374 \n3.55834 -0.0145393 -5.88517 \n3.78426 -0.0387715 -6.1045 \n3.08274 -0.0145393 -6.15981 \n3.49096 -0.0630037 -6.64487 \n2.96367 -0.0630037 -6.88536 \n2.78682 -0.0387715 -6.6227 \n1.56556 -0.0145393 -6.69671 \n1.71264 -0.0387715 -6.97513 \n1.02837 -0.0145393 -6.81095 \n1.26671 -0.0630037 -7.39842 \n0.690925 -0.0630037 -7.46419 \n0.603888 -0.0387715 -7.15974 \n-0.580457 -0.0145393 -6.85274 \n-0.526607 -0.0387715 -7.16297 \n-1.12665 -0.0145393 -6.79538 \n-1.08152 -0.0630037 -7.42775 \n-1.64945 -0.0630037 -7.31238 \n-1.63815 -0.0387715 -6.99593 \n-2.66966 -0.0145393 -6.33797 \n-2.71432 -0.0387715 -6.64966 \n-3.1714 -0.0145393 -6.11463 \n-3.32389 -0.0630037 -6.73 \n-3.82837 -0.0630037 -6.44477 \n-3.71983 -0.0387715 -6.14731 \n-4.49754 -0.0145393 -5.2028 \n-4.63633 -0.0387715 -5.48544 \n-4.90571 -0.0145393 -4.83535 \n-5.24089 -0.0630037 -5.37348 \n-5.63254 -0.0630037 -4.94631 \n-5.43739 -0.0387715 -4.69695 \n-5.88517 -0.0145393 -3.55834 \n-6.1045 -0.0387715 -3.78426 \n-6.15981 -0.0145393 -3.08274 \n-6.64488 -0.0630037 -3.49096 \n-6.88536 -0.0630037 -2.96368 \n-6.6227 -0.0387715 -2.78682 \n-6.69671 -0.0145393 -1.56556 \n-6.97512 -0.0387715 -1.71264 \n-6.81094 -0.0145393 -1.02837 \n-7.39841 -0.0630037 -1.26671 \n-7.46419 -0.0630037 -0.690924 \n-7.15973 -0.0387715 -0.603888 \n-6.85274 -0.0145393 0.580457 \n-7.16297 -0.0387715 0.526608 \n-6.79538 -0.0145393 1.12665 \n-7.42775 -0.0630037 1.08152 \n-7.31238 -0.0630037 1.64945 \n-6.99593 -0.0387715 1.63815 \n-6.33797 -0.0145393 2.66966 \n-6.64966 -0.0387715 2.71431 \n-6.11464 -0.0145393 3.1714 \n-6.73 -0.0630037 3.32388 \n-6.44477 -0.0630037 3.82837 \n-6.1473 -0.0387715 3.71983 \n-5.20279 -0.0145393 4.49754 \n-5.48543 -0.0387715 4.63633 \n-4.83535 -0.0145393 4.90571 \n-5.37348 -0.0630037 5.24089 \n-4.94631 -0.0630037 5.63254 \n-4.69695 -0.0387715 5.43739 \n-3.55834 -0.0145393 5.88517 \n-3.78426 -0.0387715 6.1045 \n-3.08274 -0.0145393 6.15981 \n-3.49095 -0.0630037 6.64488 \n-2.96367 -0.0630037 6.88536 \n-2.78682 -0.0387715 6.6227 \n-1.56556 -0.0145393 6.69671 \n-1.71264 -0.0387715 6.97512 \n-1.02837 -0.0145393 6.81094 \n-1.26671 -0.0630037 7.39841 \n-0.690925 -0.0630037 7.46419 \n-0.603888 -0.0387715 7.15973 \n0.580457 -0.0145393 6.85274 \n0.526607 -0.0387715 7.16297 \n1.12665 -0.0145393 6.79538 \n1.08152 -0.0630037 7.42775 \n1.64945 -0.0630037 7.31238 \n1.63815 -0.0387715 6.99593 \n2.66966 -0.0145393 6.33797 \n2.71431 -0.0387715 6.64966 \n3.1714 -0.0145393 6.11464 \n3.32388 -0.0630037 6.73 \n3.82837 -0.0630037 6.44477 \n3.71983 -0.0387715 6.1473 \n4.49754 -0.0145393 5.20279 \n4.63633 -0.0387715 5.48543 \n4.90571 -0.0145393 4.83535 \n5.24089 -0.0630037 5.37348 \n5.63254 -0.0630037 4.94631 \n5.43739 -0.0387715 4.69695 \n5.88517 -0.0145393 3.55834 \n6.1045 -0.0387715 3.78426 \n6.15981 -0.0145393 3.08274 \n6.64488 -0.0630037 3.49095 \n6.88536 -0.0630037 2.96367 \n6.6227 -0.0387715 2.78682 \n6.69671 -0.0145393 1.56556 \n6.97512 -0.0387715 1.71264 \n6.81094 -0.0145393 1.02837 \n7.39841 -0.0630036 1.26671 \n7.46419 -0.0630036 0.690925 \n7.15973 -0.0387714 0.603889 \n6.85274 -0.0145393 -0.580457 \n7.16297 -0.0387715 -0.526607 \n6.79538 -0.0145393 -1.12665 \n7.42775 -0.063004 -1.08152 \n7.31238 -0.0630043 -1.64945 \n6.99593 -0.0387718 -1.63815 \n1.39032 -7.54487 -0.575664 \n1.21649 -7.54487 -0.885471 \n1.70172 -7.40269 -1.23513 \n1.79283 -7.40269 -1.09885 \n1.43058 -7.54487 -0.466223 \n2.03212 -7.31556 -1.24679 \n2.20196 -7.31556 -0.913369 \n2.00011 -7.40269 -0.648817 \n1.14439 -7.54487 -0.97711 \n0.883331 -7.54487 -1.21805 \n1.23676 -7.40269 -1.70054 \n1.36552 -7.40269 -1.59907 \n1.54739 -7.31556 -1.81373 \n1.81194 -7.31556 -1.54912 \n0.786431 -7.54487 -1.28292 \n0.463697 -7.54487 -1.43139 \n0.650727 -7.40269 -1.99949 \n0.804543 -7.40269 -1.94278 \n0.911178 -7.31556 -2.20312 \n1.24456 -7.31556 -2.03321 \n0.351492 -7.54487 -1.46315 \n-0.00132181 -7.54487 -1.50463 \n0.00100684 -7.40269 -2.10271 \n0.164815 -7.40269 -2.09632 \n0.185778 -7.31556 -2.37687 \n0.555346 -7.31556 -2.3183 \n-0.11785 -7.54487 -1.50016 \n-0.46622 -7.54487 -1.43058 \n-0.64882 -7.40269 -2.00011 \n-0.491049 -7.40269 -2.04464 \n-0.557808 -7.31556 -2.31795 \n-0.188223 -7.31556 -2.37644 \n-0.575661 -7.54487 -1.39032 \n-0.88547 -7.54487 -1.21649 \n-1.23513 -7.40269 -1.70171 \n-1.09885 -7.40269 -1.79282 \n-1.2468 -7.31556 -2.03212 \n-0.913377 -7.31556 -2.20196 \n-0.97711 -7.54487 -1.14439 \n-1.21805 -7.54487 -0.88333 \n-1.70053 -7.40269 -1.23676 \n-1.59907 -7.40269 -1.36552 \n-1.81373 -7.31556 -1.54739 \n-1.54912 -7.31556 -1.81194 \n-1.28293 -7.54487 -0.78643 \n-1.4314 -7.54487 -0.463697 \n-1.99949 -7.40269 -0.650726 \n-1.94278 -7.40269 -0.804543 \n-2.20313 -7.31556 -0.911178 \n-2.03321 -7.31556 -1.24456 \n-1.46316 -7.54487 -0.351492 \n-1.50463 -7.54487 0.00131726 \n-2.10271 -7.40269 -0.00100131 \n-2.09631 -7.40269 -0.164808 \n-2.37686 -7.31556 -0.18577 \n-2.31829 -7.31556 -0.555343 \n-1.50016 -7.54487 0.11784 \n-1.43058 -7.54487 0.466202 \n-2.00011 -7.40269 0.64881 \n-2.04465 -7.40269 0.491043 \n-2.31795 -7.31556 0.557806 \n-2.37644 -7.31556 0.188229 \n-1.39032 -7.54487 0.575647 \n-1.21649 -7.54487 0.885473 \n-1.70172 -7.40269 1.23513 \n-1.79282 -7.40269 1.09884 \n-2.03212 -7.31556 1.24679 \n-2.20196 -7.31556 0.913369 \n-1.14438 -7.54487 0.977118 \n-0.88333 -7.54487 1.21805 \n-1.23676 -7.40269 1.70054 \n-1.36552 -7.40269 1.59908 \n-1.54739 -7.31556 1.81373 \n-1.81194 -7.31556 1.54912 \n-0.786431 -7.54487 1.28292 \n-0.463707 -7.54487 1.43139 \n-0.650731 -7.40269 1.99949 \n-0.804544 -7.40269 1.94278 \n-0.911178 -7.31556 2.20313 \n-1.24456 -7.31556 2.03322 \n-0.351503 -7.54487 1.46315 \n0.00131483 -7.54487 1.50463 \n-0.00101041 -7.40269 2.10271 \n-0.164819 -7.40269 2.09631 \n-0.18578 -7.31556 2.37686 \n-0.555347 -7.31556 2.31829 \n0.117845 -7.54487 1.50016 \n0.466217 -7.54487 1.43058 \n0.648818 -7.40269 2.00011 \n0.491049 -7.40269 2.04464 \n0.557808 -7.31556 2.31795 \n0.188222 -7.31556 2.37644 \n0.575658 -7.54487 1.39032 \n0.885464 -7.54487 1.21649 \n1.23512 -7.40269 1.70171 \n1.09884 -7.40269 1.79282 \n1.24679 -7.31556 2.03212 \n0.913372 -7.31556 2.20196 \n0.977108 -7.54487 1.14438 \n1.21805 -7.54487 0.88333 \n1.70054 -7.40269 1.23675 \n1.59908 -7.40269 1.36551 \n1.81373 -7.31556 1.54738 \n1.54911 -7.31556 1.81194 \n1.28293 -7.54487 0.786428 \n1.4314 -7.54487 0.463697 \n1.99949 -7.40269 0.650728 \n1.94278 -7.40269 0.804543 \n2.20313 -7.31556 0.911178 \n2.03322 -7.31556 1.24456 \n1.46316 -7.54487 0.351491 \n1.50463 -7.54487 -0.00132436 \n2.10271 -7.40269 0.00100587 \n2.09632 -7.40269 0.164814 \n2.37687 -7.31556 0.185778 \n2.31829 -7.31556 0.555347 \n1.50016 -7.54487 -0.117852 \n2.04465 -7.40269 -0.491048 \n2.31795 -7.31556 -0.557806 \n2.37644 -7.31556 -0.188223 \n2.46662 -7.21627 -1.02249 \n2.16025 -7.21627 -1.5699 \n2.61281 -6.98453 -1.89866 \n2.75339 -6.98453 -1.6882 \n2.53965 -7.21627 -0.825508 \n2.98524 -6.85245 -1.83079 \n3.23473 -6.85245 -1.34105 \n3.07166 -6.98453 -0.998341 \n2.02993 -7.21627 -1.73468 \n1.56939 -7.21627 -2.16062 \n1.89821 -6.98453 -2.61314 \n2.09694 -6.98453 -2.45642 \n2.27338 -6.85245 -2.66368 \n2.662 -6.85245 -2.275 \n1.39453 -7.21627 -2.27705 \n0.82491 -7.21627 -2.53984 \n0.997797 -6.98453 -3.07183 \n1.23523 -6.98453 -2.98419 \n1.339 -6.85245 -3.23583 \n1.82871 -6.85245 -2.98626 \n0.622623 -7.21627 -2.59654 \n-0.000314593 -7.21627 -2.67045 \n-0.000287837 -6.98453 -3.22982 \n0.252601 -6.98453 -3.21984 \n0.273533 -6.85245 -3.49123 \n0.816394 -6.85245 -3.4052 \n-0.210221 -7.21627 -2.66186 \n-0.825513 -7.21627 -2.53964 \n-0.998342 -6.98453 -3.07165 \n-0.754746 -6.98453 -3.14031 \n-0.8187 -6.85245 -3.40488 \n-0.275831 -6.85245 -3.49082 \n-1.0225 -7.21627 -2.46661 \n-1.56991 -7.21627 -2.16024 \n-1.89867 -6.98453 -2.61281 \n-1.68821 -6.98453 -2.75338 \n-1.83079 -6.85245 -2.98524 \n-1.34105 -6.85245 -3.23473 \n-1.73468 -7.21627 -2.02992 \n-2.16062 -7.21627 -1.5694 \n-2.61315 -6.98453 -1.89821 \n-2.45643 -6.98453 -2.09693 \n-2.66368 -6.85245 -2.27338 \n-2.275 -6.85245 -2.66201 \n-2.27705 -7.21627 -1.39453 \n-2.53984 -7.21627 -0.824912 \n-3.07182 -6.98453 -0.997798 \n-2.98419 -6.98453 -1.23523 \n-3.23582 -6.85245 -1.339 \n-2.98626 -6.85245 -1.82871 \n-2.59654 -7.21627 -0.622623 \n-2.67044 -7.21627 0.000320908 \n-3.22982 -6.98453 0.00028591 \n-3.21984 -6.98453 -0.252604 \n-3.49122 -6.85245 -0.273538 \n-3.4052 -6.85245 -0.816396 \n-2.66186 -7.21627 0.210227 \n-2.53964 -7.21627 0.82551 \n-3.07165 -6.98453 0.998341 \n-3.1403 -6.98453 0.754746 \n-3.40487 -6.85245 0.818699 \n-3.49081 -6.85245 0.275827 \n-2.46661 -7.21627 1.02249 \n-2.16024 -7.21627 1.5699 \n-2.61281 -6.98453 1.89867 \n-2.75338 -6.98453 1.68821 \n-2.98524 -6.85245 1.83079 \n-3.23473 -6.85245 1.34105 \n-2.02992 -7.21627 1.73468 \n-1.56939 -7.21627 2.16062 \n-1.89821 -6.98453 2.61314 \n-2.09693 -6.98453 2.45642 \n-2.27338 -6.85245 2.66368 \n-2.66201 -6.85245 2.275 \n-1.39453 -7.21627 2.27706 \n-0.824911 -7.21627 2.53984 \n-0.997797 -6.98453 3.07182 \n-1.23523 -6.98453 2.98418 \n-1.339 -6.85245 3.23582 \n-1.82871 -6.85245 2.98625 \n-0.622624 -7.21627 2.59654 \n0.000313717 -7.21627 2.67044 \n0.000286159 -6.98453 3.22982 \n-0.252603 -6.98453 3.21984 \n-0.273535 -6.85245 3.49122 \n-0.816395 -6.85245 3.4052 \n0.21022 -7.21627 2.66186 \n0.825513 -7.21627 2.53964 \n0.998341 -6.98453 3.07165 \n0.754744 -6.98453 3.1403 \n0.818699 -6.85245 3.40487 \n0.275828 -6.85245 3.49081 \n1.02249 -7.21627 2.46661 \n1.5699 -7.21627 2.16025 \n1.89867 -6.98453 2.61281 \n1.68821 -6.98453 2.75338 \n1.83079 -6.85245 2.98524 \n1.34105 -6.85245 3.23473 \n1.73467 -7.21627 2.02992 \n2.16062 -7.21627 1.56939 \n2.61315 -6.98453 1.89821 \n2.45643 -6.98453 2.09694 \n2.66368 -6.85245 2.27338 \n2.275 -6.85245 2.66201 \n2.27706 -7.21627 1.39452 \n2.53984 -7.21627 0.824911 \n3.07182 -6.98453 0.997797 \n2.98419 -6.98453 1.23523 \n3.23582 -6.85245 1.339 \n2.98626 -6.85245 1.8287 \n2.59654 -7.21627 0.622625 \n2.67045 -7.21627 -0.000314442 \n3.22982 -6.98453 -0.000284755 \n3.21983 -6.98453 0.252605 \n3.49122 -6.85245 0.273537 \n3.4052 -6.85245 0.816396 \n2.66186 -7.21627 -0.210222 \n3.14031 -6.98453 -0.754745 \n3.40488 -6.85245 -0.8187 \n3.49082 -6.85245 -0.275828 \n3.4817 -6.70969 -1.44288 \n3.04917 -6.70969 -2.21571 \n3.46658 -6.39348 -2.51893 \n3.65313 -6.39348 -2.23953 \n3.58463 -6.70969 -1.16503 \n3.86434 -6.22052 -2.36941 \n4.18731 -6.22052 -1.73548 \n4.07532 -6.39348 -1.32442 \n2.86542 -6.70969 -2.44815 \n2.21523 -6.70969 -3.04951 \n2.51852 -6.39348 -3.46688 \n2.78228 -6.39348 -3.25879 \n2.94302 -6.22052 -3.44759 \n3.44607 -6.22052 -2.94449 \n1.96865 -6.70969 -3.2138 \n1.16446 -6.70969 -3.58481 \n1.32393 -6.39348 -4.07547 \n1.63908 -6.39348 -3.95907 \n1.73362 -6.22052 -4.18829 \n2.36751 -6.22052 -3.86527 \n0.879181 -6.70969 -3.66486 \n-0.000298996 -6.70969 -3.76919 \n-0.000256992 -6.39348 -4.28512 \n0.335441 -6.39348 -4.2718 \n0.354513 -6.22052 -4.51902 \n1.0572 -6.22052 -4.40769 \n-0.296355 -6.70969 -3.75717 \n-1.16503 -6.70969 -3.58463 \n-1.32442 -6.39348 -4.07531 \n-1.00104 -6.39348 -4.16638 \n-1.05929 -6.22052 -4.40739 \n-0.356594 -6.22052 -4.51865 \n-1.44287 -6.70969 -3.4817 \n-2.21572 -6.70969 -3.04917 \n-2.51894 -6.39348 -3.46658 \n-2.23953 -6.39348 -3.65313 \n-2.36941 -6.22052 -3.86434 \n-1.73548 -6.22052 -4.1873 \n-2.44816 -6.70969 -2.86542 \n-3.04952 -6.70969 -2.21523 \n-3.46689 -6.39349 -2.51852 \n-3.2588 -6.39348 -2.78228 \n-3.44759 -6.22052 -2.94302 \n-2.94449 -6.22052 -3.44607 \n-3.2138 -6.70969 -1.96865 \n-3.5848 -6.70969 -1.16446 \n-4.07547 -6.39348 -1.32393 \n-3.95907 -6.39348 -1.63909 \n-4.18829 -6.22052 -1.73362 \n-3.86527 -6.22053 -2.36751 \n-3.66485 -6.70969 -0.879182 \n-3.76919 -6.70969 0.000293966 \n-4.28512 -6.39348 0.000253335 \n-4.2718 -6.39348 -0.335445 \n-4.51902 -6.22052 -0.354515 \n-4.40768 -6.22052 -1.0572 \n-3.75716 -6.70969 0.29635 \n-3.58462 -6.70969 1.16503 \n-4.07531 -6.39348 1.32442 \n-4.16638 -6.39348 1.00103 \n-4.40739 -6.22052 1.05929 \n-4.51865 -6.22052 0.356592 \n-3.4817 -6.70969 1.44287 \n-3.04917 -6.70969 2.21572 \n-3.46658 -6.39348 2.51894 \n-3.65313 -6.39348 2.23953 \n-3.86434 -6.22052 2.36941 \n-4.1873 -6.22052 1.73548 \n-2.86542 -6.70969 2.44816 \n-2.21523 -6.70969 3.04951 \n-2.51852 -6.39348 3.46688 \n-2.78228 -6.39348 3.25879 \n-2.94302 -6.22052 3.44759 \n-3.44607 -6.22052 2.94449 \n-1.96865 -6.70969 3.2138 \n-1.16446 -6.70969 3.5848 \n-1.32393 -6.39348 4.07547 \n-1.63908 -6.39348 3.95907 \n-1.73362 -6.22052 4.18829 \n-2.36751 -6.22052 3.86527 \n-0.879182 -6.70969 3.66485 \n0.000297305 -6.70969 3.76919 \n0.000255812 -6.39348 4.28512 \n-0.335443 -6.39348 4.2718 \n-0.354514 -6.22052 4.51902 \n-1.0572 -6.22052 4.40768 \n0.296353 -6.70969 3.75716 \n1.16503 -6.70969 3.58462 \n1.32442 -6.39348 4.07531 \n1.00104 -6.39348 4.16638 \n1.05929 -6.22052 4.40739 \n0.356593 -6.22052 4.51865 \n1.44288 -6.70969 3.4817 \n2.21571 -6.70969 3.04917 \n2.51893 -6.39348 3.46658 \n2.23952 -6.39348 3.65313 \n2.3694 -6.22052 3.86434 \n1.73548 -6.22052 4.1873 \n2.44816 -6.70969 2.86542 \n3.04952 -6.70969 2.21523 \n3.46689 -6.39348 2.51852 \n3.2588 -6.39348 2.78228 \n3.44759 -6.22052 2.94302 \n2.94449 -6.22052 3.44607 \n3.2138 -6.70969 1.96865 \n3.5848 -6.70969 1.16446 \n4.07547 -6.39348 1.32393 \n3.95907 -6.39348 1.63908 \n4.18829 -6.22052 1.73362 \n3.86527 -6.22052 2.36751 \n3.66485 -6.70969 0.879182 \n3.76919 -6.70969 -0.000295305 \n4.28512 -6.39348 -0.000253811 \n4.27181 -6.39348 0.335444 \n4.51903 -6.22052 0.354516 \n4.40769 -6.22052 1.0572 \n3.75716 -6.70969 -0.296352 \n4.16639 -6.39348 -1.00104 \n4.4074 -6.22052 -1.05929 \n4.51866 -6.22052 -0.356592 \n4.4105 -6.03789 -1.8275 \n3.86252 -6.03789 -2.80662 \n4.23453 -5.64512 -3.07684 \n4.46243 -5.64512 -2.73539 \n4.54077 -6.03789 -1.47567 \n4.64782 -5.43561 -2.84938 \n5.03625 -5.43561 -2.08696 \n4.97808 -5.64512 -1.6177 \n3.62991 -6.03789 -3.10098 \n2.80618 -6.03789 -3.86284 \n3.07649 -5.64512 -4.23479 \n3.39875 -5.64512 -3.98048 \n3.53982 -5.43561 -4.14618 \n4.14485 -5.43561 -3.54111 \n2.49399 -6.03789 -4.07091 \n1.47516 -6.03789 -4.54094 \n1.61729 -5.64513 -4.97821 \n2.00236 -5.64513 -4.83593 \n2.08534 -5.43562 -5.03711 \n2.84773 -5.43561 -4.64862 \n1.11395 -6.03789 -4.64235 \n-0.000269839 -6.03789 -4.77453 \n-0.00021691 -5.64512 -5.23432 \n0.409977 -5.64512 -5.21801 \n0.426719 -5.43561 -5.43498 \n1.27185 -5.43562 -5.3011 \n-0.375137 -6.03789 -4.75936 \n-1.47567 -6.03789 -4.54076 \n-1.6177 -5.64513 -4.97807 \n-1.22254 -5.64513 -5.0893 \n-1.27367 -5.43562 -5.30084 \n-0.428531 -5.43561 -5.43466 \n-1.8275 -6.03789 -4.41049 \n-2.80662 -6.03789 -3.86252 \n-3.07684 -5.64513 -4.23452 \n-2.73539 -5.64513 -4.46242 \n-2.84938 -5.43562 -4.64781 \n-2.08696 -5.43562 -5.03624 \n-3.10098 -6.03789 -3.6299 \n-3.86283 -6.03789 -2.80618 \n-4.23478 -5.64513 -3.07648 \n-3.98047 -5.64513 -3.39874 \n-4.14617 -5.43562 -3.53982 \n-3.54111 -5.43562 -4.14484 \n-4.0709 -6.03789 -2.49399 \n-4.54093 -6.03789 -1.47515 \n-4.97821 -5.64513 -1.61728 \n-4.83593 -5.64513 -2.00236 \n-5.03711 -5.43562 -2.08533 \n-4.64861 -5.43562 -2.84772 \n-4.64234 -6.03789 -1.11395 \n-4.77453 -6.03789 0.000268752 \n-5.23432 -5.64513 0.000219555 \n-5.218 -5.64513 -0.409974 \n-5.43498 -5.43562 -0.426715 \n-5.3011 -5.43562 -1.27184 \n-4.75936 -6.03789 0.375136 \n-4.54076 -6.03789 1.47567 \n-4.97807 -5.64513 1.6177 \n-5.08931 -5.64513 1.22254 \n-5.30084 -5.43562 1.27367 \n-5.43466 -5.43562 0.428534 \n-4.4105 -6.03789 1.8275 \n-3.86252 -6.03789 2.80662 \n-4.23453 -5.64513 3.07684 \n-4.46243 -5.64513 2.73539 \n-4.64781 -5.43562 2.84938 \n-5.03625 -5.43562 2.08696 \n-3.6299 -6.03789 3.10097 \n-2.80618 -6.03789 3.86284 \n-3.07648 -5.64513 4.23479 \n-3.39874 -5.64513 3.98048 \n-3.53982 -5.43562 4.14618 \n-4.14485 -5.43562 3.54111 \n-2.49399 -6.03789 4.0709 \n-1.47516 -6.03789 4.54093 \n-1.61729 -5.64513 4.9782 \n-2.00236 -5.64513 4.83592 \n-2.08533 -5.43562 5.03711 \n-2.84772 -5.43562 4.64862 \n-1.11395 -6.03789 4.64234 \n0.000270287 -6.03789 4.77453 \n0.000221216 -5.64513 5.23432 \n-0.409973 -5.64513 5.218 \n-0.426715 -5.43562 5.43498 \n-1.27184 -5.43562 5.30109 \n0.375137 -6.03789 4.75936 \n1.47567 -6.03789 4.54076 \n1.6177 -5.64513 4.97806 \n1.22254 -5.64513 5.0893 \n1.27367 -5.43562 5.30083 \n0.428536 -5.43562 5.43466 \n1.8275 -6.03789 4.4105 \n2.80662 -6.03789 3.86252 \n3.07684 -5.64512 4.23453 \n2.73539 -5.64513 4.46243 \n2.84938 -5.43561 4.64781 \n2.08696 -5.43562 5.03624 \n3.10098 -6.03789 3.6299 \n3.86284 -6.03789 2.80618 \n4.23479 -5.64513 3.07648 \n3.98048 -5.64512 3.39874 \n4.14618 -5.43561 3.53982 \n3.54111 -5.43561 4.14485 \n4.07091 -6.03789 2.49399 \n4.54094 -6.03789 1.47516 \n4.9782 -5.64513 1.61729 \n4.83593 -5.64513 2.00236 \n5.03711 -5.43562 2.08533 \n4.64862 -5.43562 2.84772 \n4.64235 -6.03789 1.11395 \n4.77454 -6.03789 -0.000268305 \n5.23432 -5.64512 -0.000218567 \n5.218 -5.64512 0.409976 \n5.43498 -5.43561 0.426717 \n5.30109 -5.43561 1.27184 \n4.75937 -6.03789 -0.375136 \n5.08931 -5.64512 -1.22254 \n5.30084 -5.43561 -1.27367 \n5.43466 -5.43561 -0.428533 \n5.2302 -5.21766 -2.16692 \n4.58033 -5.21766 -3.3281 \n4.89783 -4.75814 -3.55871 \n5.16146 -4.75814 -3.16366 \n5.38459 -5.21766 -1.74981 \n5.31648 -4.51728 -3.25898 \n5.7608 -4.51728 -2.3869 \n5.75781 -4.75814 -1.87101 \n4.3046 -5.21766 -3.67708 \n3.32771 -5.21766 -4.58061 \n3.55841 -4.75815 -4.89804 \n3.93121 -4.75815 -4.60379 \n4.04919 -4.51729 -4.74235 \n4.74125 -4.51728 -4.05026 \n2.95764 -5.21766 -4.82731 \n1.74936 -5.21767 -5.38474 \n1.87067 -4.75814 -5.75792 \n2.31615 -4.75814 -5.59328 \n2.38554 -4.51728 -5.76152 \n3.25759 -4.51729 -5.31715 \n1.32116 -5.21767 -5.50501 \n-0.000234745 -5.21767 -5.66177 \n-0.00017701 -4.75815 -6.05418 \n0.474377 -4.75815 -6.03525 \n0.48838 -4.51729 -6.2167 \n1.45507 -4.51729 -6.06357 \n-0.44464 -5.21767 -5.64383 \n-1.74981 -5.21767 -5.38459 \n-1.87101 -4.75814 -5.75781 \n-1.41384 -4.75814 -5.88646 \n-1.45659 -4.51728 -6.06336 \n-0.48989 -4.51729 -6.21644 \n-2.16692 -5.21767 -5.23019 \n-3.3281 -5.21767 -4.58032 \n-3.5587 -4.75814 -4.89782 \n-3.16366 -4.75814 -5.16145 \n-3.25898 -4.51729 -5.31648 \n-2.3869 -4.51729 -5.7608 \n-3.67708 -5.21767 -4.30459 \n-4.58061 -5.21767 -3.32772 \n-4.89804 -4.75814 -3.55842 \n-4.60379 -4.75814 -3.93121 \n-4.74235 -4.51728 -4.04919 \n-4.05026 -4.51728 -4.74125 \n-4.82731 -5.21767 -2.95764 \n-5.38474 -5.21767 -1.74936 \n-5.75792 -4.75814 -1.87067 \n-5.59328 -4.75814 -2.31616 \n-5.76152 -4.51728 -2.38555 \n-5.31715 -4.51728 -3.2576 \n-5.50501 -5.21767 -1.32116 \n-5.66177 -5.21767 0.00023835 \n-6.05418 -4.75815 0.000178659 \n-6.03525 -4.75815 -0.474375 \n-6.2167 -4.51729 -0.48838 \n-6.06357 -4.51729 -1.45507 \n-5.64383 -5.21767 0.444643 \n-5.38459 -5.21767 1.74981 \n-5.75781 -4.75815 1.87101 \n-5.88646 -4.75815 1.41384 \n-6.06336 -4.51729 1.45659 \n-6.21644 -4.51729 0.48989 \n-5.2302 -5.21767 2.16692 \n-4.58033 -5.21767 3.3281 \n-4.89783 -4.75815 3.5587 \n-5.16146 -4.75815 3.16366 \n-5.31648 -4.51729 3.25898 \n-5.7608 -4.51729 2.3869 \n-4.3046 -5.21766 3.67708 \n-3.32772 -5.21767 4.58061 \n-3.55842 -4.75814 4.89804 \n-3.93122 -4.75814 4.60379 \n-4.04919 -4.51728 4.74235 \n-4.74125 -4.51729 4.05026 \n-2.95764 -5.21767 4.82731 \n-1.74936 -5.21767 5.38473 \n-1.87067 -4.75815 5.75792 \n-2.31615 -4.75815 5.59328 \n-2.38554 -4.51728 5.76152 \n-3.2576 -4.51728 5.31715 \n-1.32116 -5.21767 5.505 \n0.000239163 -5.21767 5.66177 \n0.000176596 -4.75814 6.05418 \n-0.474378 -4.75813 6.03525 \n-0.488382 -4.51728 6.2167 \n-1.45507 -4.51729 6.06357 \n0.444645 -5.21767 5.64382 \n1.74981 -5.21767 5.38459 \n1.87101 -4.75815 5.7578 \n1.41384 -4.75815 5.88645 \n1.45659 -4.51729 6.06335 \n0.489889 -4.51728 6.21644 \n2.16692 -5.21767 5.2302 \n3.3281 -5.21766 4.58033 \n3.5587 -4.75814 4.89783 \n3.16365 -4.75814 5.16146 \n3.25897 -4.51729 5.31648 \n2.3869 -4.51729 5.76079 \n3.67708 -5.21766 4.3046 \n4.58061 -5.21766 3.32772 \n4.89804 -4.75814 3.55842 \n4.60379 -4.75814 3.93122 \n4.74235 -4.51728 4.04919 \n4.05026 -4.51728 4.74125 \n4.82731 -5.21766 2.95764 \n5.38473 -5.21767 1.74936 \n5.75792 -4.75814 1.87067 \n5.59328 -4.75814 2.31615 \n5.76152 -4.51728 2.38554 \n5.31715 -4.51728 3.2576 \n5.505 -5.21766 1.32116 \n5.66177 -5.21766 -0.000236726 \n6.05418 -4.75814 -0.000176219 \n6.03525 -4.75814 0.474378 \n6.2167 -4.51728 0.488381 \n6.06357 -4.51728 1.45507 \n5.64383 -5.21766 -0.444642 \n5.88646 -4.75814 -1.41384 \n6.06336 -4.51728 -1.45659 \n6.21644 -4.51728 -0.489886 \n5.92078 -4.26943 -2.45284 \n5.18506 -4.26943 -3.76742 \n5.44033 -3.75453 -3.9528 \n5.73319 -3.75453 -3.5139 \n6.09549 -4.26943 -1.98075 \n5.8541 -3.48829 -3.58824 \n6.34334 -3.48828 -2.62799 \n6.39555 -3.75453 -2.07817 \n4.87303 -4.26943 -4.16242 \n3.76709 -4.26943 -5.1853 \n3.95259 -3.75453 -5.44049 \n4.36673 -3.75453 -5.11357 \n4.45875 -3.48828 -5.22163 \n5.22078 -3.48829 -4.45957 \n3.34826 -4.26944 -5.46454 \n1.98037 -4.26943 -6.09561 \n2.07793 -3.75453 -6.39563 \n2.57282 -3.75453 -6.21268 \n2.62695 -3.48828 -6.34389 \n3.58717 -3.48828 -5.85461 \n1.49575 -4.26943 -6.23176 \n-0.000199817 -4.26943 -6.40924 \n-0.000133109 -3.75453 -6.72472 \n0.527078 -3.75453 -6.70366 \n0.538006 -3.48828 -6.84518 \n1.60243 -3.48828 -6.67657 \n-0.503173 -4.26943 -6.38897 \n-1.98075 -4.26942 -6.09549 \n-2.07818 -3.75453 -6.39555 \n-1.57027 -3.75453 -6.53844 \n-1.6036 -3.48828 -6.6764 \n-0.539169 -3.48828 -6.84497 \n-2.45285 -4.26943 -5.92078 \n-3.76742 -4.26943 -5.18507 \n-3.9528 -3.75453 -5.44033 \n-3.5139 -3.75453 -5.73319 \n-3.58824 -3.48828 -5.8541 \n-2.62799 -3.48828 -6.34334 \n-4.16242 -4.26942 -4.87303 \n-5.1853 -4.26943 -3.7671 \n-5.44049 -3.75453 -3.95259 \n-5.11357 -3.75453 -4.36673 \n-5.22163 -3.48828 -4.45875 \n-4.45957 -3.48828 -5.22078 \n-5.46454 -4.26943 -3.34827 \n-6.09561 -4.26943 -1.98037 \n-6.39563 -3.75453 -2.07793 \n-6.21268 -3.75453 -2.57282 \n-6.34389 -3.48828 -2.62695 \n-5.85461 -3.48828 -3.58718 \n-6.23176 -4.26943 -1.49575 \n-6.40923 -4.26943 0.000200034 \n-6.72472 -3.75453 0.00013265 \n-6.70366 -3.75453 -0.527078 \n-6.84517 -3.48828 -0.538007 \n-6.67656 -3.48828 -1.60243 \n-6.38897 -4.26943 0.503174 \n-6.09549 -4.26943 1.98075 \n-6.39555 -3.75453 2.07818 \n-6.53844 -3.75453 1.57027 \n-6.6764 -3.48828 1.6036 \n-6.84497 -3.48828 0.539169 \n-5.92078 -4.26943 2.45284 \n-5.18506 -4.26943 3.76742 \n-5.44033 -3.75453 3.9528 \n-5.73319 -3.75453 3.5139 \n-5.8541 -3.48828 3.58823 \n-6.34334 -3.48828 2.62799 \n-4.87303 -4.26943 4.16242 \n-3.7671 -4.26943 5.1853 \n-3.95259 -3.75453 5.44049 \n-4.36673 -3.75453 5.11357 \n-4.45875 -3.48828 5.22163 \n-5.22078 -3.48828 4.45957 \n-3.34827 -4.26942 5.46454 \n-1.98037 -4.26943 6.09561 \n-2.07793 -3.75453 6.39563 \n-2.57283 -3.75453 6.21268 \n-2.62695 -3.48828 6.34389 \n-3.58718 -3.48828 5.85461 \n-1.49575 -4.26943 6.23176 \n0.000198534 -4.26942 6.40923 \n0.000133027 -3.75453 6.72471 \n-0.527078 -3.75453 6.70366 \n-0.538006 -3.48828 6.84517 \n-1.60243 -3.48828 6.67656 \n0.503172 -4.26943 6.38897 \n1.98075 -4.26944 6.09549 \n2.07818 -3.75453 6.39555 \n1.57027 -3.75453 6.53844 \n1.6036 -3.48828 6.6764 \n0.53917 -3.48828 6.84496 \n2.45285 -4.26944 5.92078 \n3.76741 -4.26943 5.18506 \n3.9528 -3.75453 5.44033 \n3.5139 -3.75453 5.73318 \n3.58824 -3.48828 5.85409 \n2.62799 -3.48828 6.34334 \n4.16241 -4.26943 4.87303 \n5.1853 -4.26943 3.7671 \n5.44049 -3.75453 3.95259 \n5.11357 -3.75453 4.36673 \n5.22163 -3.48828 4.45875 \n4.45957 -3.48828 5.22078 \n5.46454 -4.26943 3.34827 \n6.09561 -4.26943 1.98037 \n6.39563 -3.75453 2.07793 \n6.21268 -3.75453 2.57283 \n6.34389 -3.48828 2.62695 \n5.85461 -3.48828 3.58718 \n6.23176 -4.26943 1.49575 \n6.40924 -4.26943 -0.000197409 \n6.72471 -3.75453 -0.000133389 \n6.70366 -3.75453 0.527078 \n6.84517 -3.48828 0.538006 \n6.67656 -3.48828 1.60243 \n6.38897 -4.26943 -0.503168 \n6.53844 -3.75453 -1.57026 \n6.6764 -3.48828 -1.6036 \n6.84496 -3.48828 -0.53917 \n6.46548 -3.21663 -2.67833 \n5.66204 -3.21665 -4.11391 \n5.84889 -2.65935 -4.24956 \n6.16376 -2.65934 -3.77761 \n6.65619 -3.21664 -2.16289 \n6.24764 -2.37395 -3.8292 \n6.76978 -2.37395 -2.80441 \n6.87581 -2.65934 -2.23417 \n5.32138 -3.21665 -4.54519 \n4.11366 -3.21663 -5.66223 \n4.24944 -2.65934 -5.84898 \n4.69473 -2.65935 -5.49743 \n4.75857 -2.37395 -5.57241 \n5.57184 -2.37395 -4.75913 \n3.6564 -3.21664 -5.96713 \n2.1626 -3.21664 -6.65628 \n2.23402 -2.65934 -6.87586 \n2.76616 -2.65934 -6.67912 \n2.8037 -2.37395 -6.77015 \n3.82848 -2.37395 -6.24799 \n1.6335 -3.21664 -6.80496 \n-0.000157298 -3.21663 -6.99879 \n-7.75298e-005 -2.65935 -7.22969 \n0.566811 -2.65935 -7.20701 \n0.574384 -2.37396 -7.30519 \n1.71036 -2.37395 -7.12526 \n-0.549306 -3.21663 -6.97668 \n-2.16289 -3.21664 -6.65619 \n-2.23417 -2.65935 -6.87581 \n-1.68802 -2.65935 -7.02943 \n-1.71116 -2.37396 -7.12514 \n-0.575174 -2.37396 -7.30506 \n-2.67833 -3.21664 -6.46548 \n-4.1139 -3.21663 -5.66204 \n-4.24956 -2.65935 -5.84889 \n-3.77761 -2.65935 -6.16375 \n-3.8292 -2.37396 -6.24763 \n-2.80441 -2.37396 -6.76978 \n-4.54519 -3.21663 -5.32138 \n-5.66223 -3.21664 -4.11365 \n-5.84898 -2.65935 -4.24943 \n-5.49743 -2.65935 -4.69473 \n-5.57241 -2.37396 -4.75856 \n-4.75913 -2.37396 -5.57183 \n-5.96713 -3.21664 -3.65639 \n-6.65628 -3.21664 -2.16259 \n-6.87586 -2.65935 -2.23402 \n-6.67912 -2.65934 -2.76616 \n-6.77015 -2.37395 -2.8037 \n-6.24799 -2.37396 -3.82848 \n-6.80496 -3.21664 -1.63349 \n-6.99878 -3.21664 0.000156842 \n-7.22968 -2.65936 7.74488e-005 \n-7.20701 -2.65935 -0.56681 \n-7.30519 -2.37396 -0.574379 \n-7.12526 -2.37396 -1.71036 \n-6.97668 -3.21664 0.549305 \n-6.65619 -3.21663 2.16289 \n-6.87581 -2.65935 2.23417 \n-7.02943 -2.65935 1.68802 \n-7.12514 -2.37396 1.71116 \n-7.30505 -2.37396 0.575175 \n-6.46548 -3.21663 2.67833 \n-5.66204 -3.21664 4.11391 \n-5.84889 -2.65935 4.24956 \n-6.16375 -2.65935 3.77761 \n-6.24763 -2.37396 3.82919 \n-6.76978 -2.37396 2.80441 \n-5.32138 -3.21664 4.54519 \n-4.11365 -3.21664 5.66222 \n-4.24943 -2.65935 5.84898 \n-4.69473 -2.65936 5.49743 \n-4.75856 -2.37396 5.57241 \n-5.57183 -2.37396 4.75913 \n-3.65639 -3.21664 5.96712 \n-2.16259 -3.21663 6.65628 \n-2.23402 -2.65934 6.87586 \n-2.76616 -2.65935 6.67912 \n-2.8037 -2.37396 6.77015 \n-3.82848 -2.37396 6.24799 \n-1.63349 -3.21663 6.80496 \n0.000157018 -3.21664 6.99877 \n7.67503e-005 -2.65935 7.22968 \n-0.566812 -2.65935 7.20701 \n-0.574385 -2.37395 7.30519 \n-1.71036 -2.37395 7.12526 \n0.549306 -3.21664 6.97668 \n2.16289 -3.21664 6.65619 \n2.23417 -2.65935 6.87581 \n1.68802 -2.65935 7.02942 \n1.71116 -2.37396 7.12513 \n0.575173 -2.37396 7.30505 \n2.67833 -3.21664 6.46548 \n4.1139 -3.21664 5.66204 \n4.24956 -2.65935 5.84889 \n3.77761 -2.65935 6.16375 \n3.82919 -2.37396 6.24763 \n2.80441 -2.37396 6.76977 \n4.54519 -3.21664 5.32138 \n5.66223 -3.21664 4.11365 \n5.84898 -2.65936 4.24943 \n5.49743 -2.65935 4.69473 \n5.57241 -2.37396 4.75856 \n4.75913 -2.37396 5.57183 \n5.96713 -3.21664 3.65639 \n6.65628 -3.21664 2.16259 \n6.87586 -2.65935 2.23402 \n6.67912 -2.65935 2.76616 \n6.77016 -2.37396 2.80369 \n6.24799 -2.37396 3.82847 \n6.80496 -3.21664 1.63349 \n6.99877 -3.21664 -0.000157383 \n7.22968 -2.65935 -7.74902e-005 \n7.20701 -2.65936 0.56681 \n7.30519 -2.37396 0.574379 \n7.12526 -2.37396 1.71036 \n6.97668 -3.21664 -0.549306 \n7.02943 -2.65934 -1.68802 \n7.12514 -2.37395 -1.71116 \n7.30506 -2.37396 -0.575175 \n6.8513 -2.08247 -2.83806 \n5.99985 -2.08247 -4.35938 \n6.12055 -1.50253 -4.43565 \n6.44973 -1.50253 -3.94221 \n7.05332 -2.08247 -2.29196 \n6.48529 -1.20164 -3.9743 \n7.03216 -1.20164 -2.91364 \n7.19168 -1.50253 -2.32719 \n5.63897 -2.08247 -4.81632 \n4.35907 -2.08247 -6.00007 \n4.45029 -1.50253 -6.1099 \n4.91584 -1.50253 -5.74233 \n4.93975 -1.20164 -5.78385 \n5.78762 -1.20164 -4.94409 \n3.87465 -2.08247 -6.32313 \n2.29161 -2.08247 -7.05343 \n2.34442 -1.50253 -7.18608 \n2.90077 -1.50253 -6.98037 \n2.91068 -1.20164 -7.02724 \n3.97654 -1.20164 -6.49058 \n1.73106 -2.08247 -7.21099 \n-0.0001849 -2.08247 -7.41636 \n0.00905599 -1.50253 -7.55883 \n0.601742 -1.50253 -7.5351 \n0.596683 -1.20164 -7.58275 \n1.77621 -1.20164 -7.40173 \n-0.581984 -2.08248 -7.39298 \n-2.29196 -2.08248 -7.05332 \n-2.3272 -1.50253 -7.19168 \n-1.75619 -1.50253 -7.35226 \n-1.77572 -1.20164 -7.396 \n-0.597976 -1.20164 -7.58834 \n-2.83806 -2.08247 -6.8513 \n-4.35938 -2.08247 -5.99985 \n-4.43564 -1.50253 -6.12055 \n-3.94221 -1.50253 -6.44973 \n-3.9743 -1.20164 -6.48529 \n-2.91364 -1.20164 -7.03216 \n-4.81632 -2.08248 -5.63896 \n-6.00007 -2.08248 -4.35907 \n-6.1099 -1.50253 -4.45029 \n-5.74234 -1.50253 -4.91584 \n-5.78385 -1.20164 -4.93975 \n-4.94409 -1.20164 -5.78762 \n-6.32313 -2.08247 -3.87465 \n-7.05343 -2.08247 -2.2916 \n-7.18608 -1.50253 -2.34442 \n-6.98037 -1.50253 -2.90077 \n-7.02723 -1.20164 -2.91068 \n-6.49058 -1.20164 -3.97654 \n-7.21099 -2.08247 -1.73106 \n-7.41636 -2.08248 0.000186659 \n-7.55883 -1.50253 -0.0090571 \n-7.5351 -1.50253 -0.601744 \n-7.58274 -1.20164 -0.596684 \n-7.40173 -1.20164 -1.77622 \n-7.39298 -2.08248 0.581985 \n-7.05332 -2.08248 2.29195 \n-7.19168 -1.50253 2.32719 \n-7.35226 -1.50253 1.75618 \n-7.396 -1.20164 1.77571 \n-7.58834 -1.20164 0.597976 \n-6.8513 -2.08248 2.83805 \n-5.99985 -2.08248 4.35937 \n-6.12055 -1.50253 4.43564 \n-6.44973 -1.50253 3.9422 \n-6.48529 -1.20164 3.97429 \n-7.03216 -1.20164 2.91363 \n-5.63897 -2.08248 4.81632 \n-4.35907 -2.08248 6.00007 \n-4.45029 -1.50253 6.1099 \n-4.91584 -1.50253 5.74234 \n-4.93975 -1.20164 5.78385 \n-5.78762 -1.20164 4.94409 \n-3.87465 -2.08248 6.32312 \n-2.2916 -2.08247 7.05343 \n-2.34442 -1.50253 7.18608 \n-2.90077 -1.50253 6.98036 \n-2.91068 -1.20164 7.02723 \n-3.97654 -1.20164 6.49058 \n-1.73106 -2.08247 7.21099 \n0.000183744 -2.08247 7.41636 \n-0.00905714 -1.50253 7.55883 \n-0.601743 -1.50253 7.5351 \n-0.596684 -1.20164 7.58274 \n-1.77621 -1.20164 7.40173 \n0.581983 -2.08248 7.39298 \n2.29196 -2.08248 7.05331 \n2.32719 -1.50253 7.19168 \n1.75618 -1.50253 7.35226 \n1.77571 -1.20164 7.396 \n0.597976 -1.20164 7.58834 \n2.83806 -2.08248 6.85129 \n4.35937 -2.08248 5.99985 \n4.43564 -1.50253 6.12055 \n3.9422 -1.50253 6.44972 \n3.9743 -1.20164 6.48529 \n2.91364 -1.20164 7.03216 \n4.81632 -2.08248 5.63897 \n6.00007 -2.08248 4.35907 \n6.1099 -1.50253 4.45029 \n5.74233 -1.50253 4.91584 \n5.78385 -1.20164 4.93975 \n4.94409 -1.20164 5.78762 \n6.32312 -2.08248 3.87465 \n7.05343 -2.08248 2.2916 \n7.18608 -1.50253 2.34442 \n6.98036 -1.50253 2.90077 \n7.02723 -1.20164 2.91068 \n6.49058 -1.20164 3.97654 \n7.21099 -2.08248 1.73106 \n7.41636 -2.08248 -0.000186066 \n7.55883 -1.50253 0.0090592 \n7.5351 -1.50253 0.601745 \n7.58274 -1.20164 0.596685 \n7.40173 -1.20164 1.77621 \n7.39298 -2.08247 -0.581984 \n7.35226 -1.50253 -1.75618 \n7.396 -1.20164 -1.77571 \n7.58834 -1.20164 -0.597975 \n7.03132 -0.838338 -3.00334 \n6.12728 -0.838338 -4.55372 \n6.1275 -0.216549 -4.63525 \n6.48164 -0.216549 -4.14672 \n7.23456 -0.838338 -2.4374 \n6.56372 -0.0775433 -4.02238 \n7.11223 -0.0775439 -2.94587 \n7.25997 -0.216549 -2.51488 \n5.7591 -0.838338 -5.02915 \n4.42021 -0.838339 -6.22427 \n4.39523 -0.21655 -6.30189 \n4.88301 -0.216549 -5.9467 \n4.9995 -0.0775429 -5.85381 \n5.85381 -0.0775429 -4.9995 \n3.92314 -0.838338 -6.56267 \n2.28047 -0.838338 -7.28556 \n2.23272 -0.216549 -7.35165 \n2.80638 -0.216549 -7.16458 \n2.94587 -0.077543 -7.11223 \n4.02238 -0.077543 -6.56372 \n1.70315 -0.838338 -7.45378 \n-0.0825068 -0.838338 -7.63368 \n-0.148342 -0.216548 -7.68178 \n0.455053 -0.216548 -7.68114 \n0.603889 -0.077543 -7.67446 \n1.7972 -0.077543 -7.48546 \n-0.683547 -0.838338 -7.61527 \n-2.43741 -0.838339 -7.23456 \n-2.51488 -0.216549 -7.25997 \n-1.94082 -0.216549 -7.44582 \n-1.7972 -0.077543 -7.48546 \n-0.603889 -0.077543 -7.67446 \n-3.00335 -0.838338 -7.03132 \n-4.55371 -0.838338 -6.12728 \n-4.63525 -0.216549 -6.1275 \n-4.14671 -0.216549 -6.48164 \n-4.02237 -0.077543 -6.56372 \n-2.94587 -0.077543 -7.11223 \n-5.02914 -0.838338 -5.7591 \n-6.22427 -0.838338 -4.42021 \n-6.30189 -0.216549 -4.39523 \n-5.9467 -0.216549 -4.883 \n-5.85381 -0.077543 -4.99949 \n-4.99949 -0.077543 -5.85381 \n-6.56266 -0.838338 -3.92314 \n-7.28556 -0.838336 -2.28047 \n-7.35165 -0.216548 -2.23272 \n-7.16458 -0.216549 -2.80638 \n-7.11223 -0.077543 -2.94587 \n-6.56372 -0.077543 -4.02238 \n-7.45378 -0.838336 -1.70316 \n-7.63368 -0.838337 0.0825063 \n-7.68178 -0.216548 0.148343 \n-7.68114 -0.216548 -0.455053 \n-7.67446 -0.077543 -0.603889 \n-7.48546 -0.077543 -1.7972 \n-7.61527 -0.838337 0.683548 \n-7.23456 -0.838338 2.4374 \n-7.25997 -0.216549 2.51488 \n-7.44582 -0.216549 1.94082 \n-7.48546 -0.077543 1.7972 \n-7.67446 -0.077543 0.60389 \n-7.03132 -0.838338 3.00334 \n-6.12728 -0.838337 4.55371 \n-6.1275 -0.216549 4.63525 \n-6.48164 -0.216549 4.14671 \n-6.56372 -0.077543 4.02237 \n-7.11223 -0.077543 2.94587 \n-5.7591 -0.838337 5.02914 \n-4.42022 -0.838337 6.22427 \n-4.39523 -0.216548 6.30189 \n-4.883 -0.216548 5.9467 \n-4.99949 -0.077543 5.85381 \n-5.85381 -0.077543 4.99949 \n-3.92314 -0.838337 6.56266 \n-2.28047 -0.838338 7.28555 \n-2.23272 -0.216549 7.35165 \n-2.80638 -0.216548 7.16458 \n-2.94587 -0.077543 7.11223 \n-4.02237 -0.077543 6.56372 \n-1.70315 -0.838338 7.45378 \n0.0825058 -0.838338 7.63368 \n0.148342 -0.216549 7.68178 \n-0.455054 -0.216549 7.68114 \n-0.60389 -0.077543 7.67446 \n-1.7972 -0.077543 7.48546 \n0.683548 -0.838338 7.61527 \n2.4374 -0.838338 7.23456 \n2.51488 -0.216548 7.25997 \n1.94082 -0.216548 7.44581 \n1.7972 -0.077543 7.48546 \n0.603889 -0.077543 7.67446 \n3.00334 -0.838338 7.03132 \n4.55371 -0.838338 6.12728 \n4.63525 -0.216549 6.1275 \n4.14671 -0.216549 6.48164 \n4.02237 -0.077543 6.56372 \n2.94587 -0.077543 7.11223 \n5.02914 -0.838339 5.7591 \n6.22427 -0.838338 4.42022 \n6.30189 -0.216549 4.39523 \n5.9467 -0.216549 4.883 \n5.85381 -0.077543 4.99949 \n4.99949 -0.077543 5.85381 \n6.56266 -0.838338 3.92314 \n7.28555 -0.838338 2.28047 \n7.35165 -0.216548 2.23272 \n7.16458 -0.216548 2.80638 \n7.11223 -0.077543 2.94587 \n6.56372 -0.077543 4.02237 \n7.45378 -0.838338 1.70315 \n7.63368 -0.838338 -0.0825033 \n7.68178 -0.216548 -0.14834 \n7.68114 -0.216548 0.455055 \n7.67446 -0.0775429 0.60389 \n7.48546 -0.0775429 1.7972 \n7.61527 -0.838338 -0.683546 \n7.44582 -0.21655 -1.94082 \n7.48546 -0.0775439 -1.7972 \n7.67446 -0.0775433 -0.603888 \n0.689285 -7.64701 -0.457882 \n0.797046 -7.64701 -0.222482 \n0.172546 -7.69599 -0.0249438 \n0.156395 -7.69599 -0.0770381 \n0.514059 -7.64701 -0.648469 \n0.124936 -7.69599 -0.121592 \n0.288508 -7.64701 -0.77558 \n0.0812469 -7.69599 -0.154247 \n0.0347169 -7.64701 -0.826777 \n0.0296048 -7.69599 -0.171803 \n-0.222474 -7.64701 -0.797039 \n-0.0249336 -7.69599 -0.172542 \n-0.457878 -7.64701 -0.689285 \n-0.0770296 -7.69599 -0.156391 \n-0.648472 -7.64701 -0.514055 \n-0.121586 -7.69599 -0.124931 \n-0.775585 -7.64701 -0.288507 \n-0.154241 -7.69599 -0.0812438 \n-0.826775 -7.64701 -0.0347255 \n-0.171796 -7.69599 -0.0296057 \n-0.797043 -7.64701 0.22246 \n-0.172535 -7.69599 0.0249324 \n-0.689281 -7.64701 0.457881 \n-0.156383 -7.69599 0.0770323 \n-0.514054 -7.64701 0.648468 \n-0.124924 -7.69599 0.121589 \n-0.288514 -7.64701 0.775579 \n-0.0812384 -7.69599 0.154242 \n-0.0347207 -7.64701 0.826775 \n-0.0295965 -7.69599 0.171797 \n0.222475 -7.64701 0.797038 \n0.024944 -7.69599 0.172537 \n0.457882 -7.64701 0.689283 \n0.0770409 -7.69599 0.156387 \n0.648474 -7.64701 0.514053 \n0.121597 -7.69599 0.124927 \n0.775589 -7.64701 0.288503 \n0.154252 -7.69599 0.081238 \n0.826779 -7.64701 0.0347111 \n0.171807 -7.69599 0.0295953 \n1.2446 -6.58483 -0.405602 \n1.20958 -6.58483 -0.500817 \n1.74019 -6.46111 -0.564499 \n1.91588 -6.38528 -0.794706 \n1.7681 -6.38528 -1.08481 \n1.55984 -6.46111 -0.956045 \n1.48058 -6.46111 -1.07462 \n1.05835 -6.58483 -0.770355 \n0.995614 -6.58483 -0.850087 \n1.57653 -6.38528 -1.34785 \n1.34635 -6.38528 -1.57809 \n1.18807 -6.46111 -1.39127 \n1.07604 -6.46111 -1.47955 \n0.768499 -6.58483 -1.0597 \n0.684195 -6.58483 -1.11614 \n1.08286 -6.38528 -1.76906 \n0.792795 -6.38528 -1.91689 \n0.699993 -6.46111 -1.69031 \n0.566168 -6.46111 -1.73965 \n0.403421 -6.58483 -1.24531 \n0.305802 -6.58483 -1.27294 \n0.483195 -6.38528 -2.01709 \n0.16164 -6.38528 -2.06806 \n0.143398 -6.46111 -1.82389 \n0.000877313 -6.46111 -1.82946 \n-0.00114681 -6.58483 -1.30903 \n-0.102526 -6.58483 -1.30514 \n-0.163771 -6.38528 -2.06768 \n-0.485337 -6.38528 -2.01679 \n-0.427234 -6.46111 -1.77894 \n-0.5645 -6.46111 -1.74019 \n-0.405602 -6.58483 -1.2446 \n-0.500817 -6.58483 -1.20958 \n-0.794706 -6.38528 -1.91588 \n-1.08481 -6.38528 -1.76811 \n-0.956044 -6.46111 -1.55984 \n-1.07462 -6.46111 -1.48058 \n-0.770355 -6.58483 -1.05835 \n-0.850087 -6.58483 -0.995615 \n-1.34785 -6.38528 -1.57653 \n-1.57809 -6.38528 -1.34634 \n-1.39127 -6.46111 -1.18807 \n-1.47955 -6.46111 -1.07604 \n-1.0597 -6.58483 -0.768499 \n-1.11614 -6.58483 -0.684195 \n-1.76906 -6.38528 -1.08286 \n-1.91689 -6.38528 -0.792795 \n-1.69031 -6.46111 -0.699993 \n-1.73965 -6.46111 -0.566168 \n-1.24531 -6.58483 -0.403421 \n-1.27294 -6.58483 -0.305802 \n-2.01709 -6.38528 -0.483195 \n-2.06806 -6.38528 -0.16164 \n-1.82389 -6.46111 -0.143398 \n-1.82946 -6.46111 -0.000877313 \n-1.30903 -6.58483 0.00114681 \n-1.30514 -6.58483 0.102526 \n-2.06768 -6.38528 0.163771 \n-2.01679 -6.38528 0.485337 \n-1.77894 -6.46111 0.427234 \n-1.74019 -6.46111 0.5645 \n-1.2446 -6.58483 0.405602 \n-1.20958 -6.58483 0.500817 \n-1.91588 -6.38528 0.794706 \n-1.76811 -6.38528 1.08481 \n-1.55984 -6.46111 0.956044 \n-1.48058 -6.46111 1.07462 \n-1.05835 -6.58483 0.770355 \n-0.995615 -6.58483 0.850087 \n-1.57653 -6.38528 1.34785 \n-1.34634 -6.38528 1.57809 \n-1.18807 -6.46111 1.39127 \n-1.07604 -6.46111 1.47955 \n-0.768499 -6.58483 1.0597 \n-0.684195 -6.58483 1.11614 \n-1.08286 -6.38528 1.76906 \n-0.792795 -6.38528 1.91689 \n-0.699993 -6.46111 1.69031 \n-0.566168 -6.46111 1.73965 \n-0.403421 -6.58483 1.24531 \n-0.305802 -6.58483 1.27294 \n-0.483195 -6.38528 2.01709 \n-0.16164 -6.38528 2.06806 \n-0.143398 -6.46111 1.82389 \n-0.000877222 -6.46111 1.82946 \n0.00114684 -6.58483 1.30903 \n0.102526 -6.58483 1.30514 \n0.163771 -6.38528 2.06768 \n0.485337 -6.38528 2.01679 \n0.427234 -6.46111 1.77894 \n0.5645 -6.46111 1.74019 \n0.405602 -6.58483 1.2446 \n0.500816 -6.58483 1.20957 \n0.794706 -6.38528 1.91588 \n1.08481 -6.38528 1.76811 \n0.956044 -6.46111 1.55984 \n1.07462 -6.46111 1.48058 \n0.770354 -6.58483 1.05835 \n0.850086 -6.58483 0.995614 \n1.34785 -6.38528 1.57653 \n1.57809 -6.38528 1.34634 \n1.39127 -6.46111 1.18807 \n1.47955 -6.46111 1.07604 \n1.0597 -6.58483 0.768499 \n1.11614 -6.58483 0.684195 \n1.76906 -6.38528 1.08286 \n1.91689 -6.38528 0.792795 \n1.69031 -6.46111 0.699993 \n1.73965 -6.46111 0.566168 \n1.24531 -6.58483 0.403421 \n1.27294 -6.58483 0.305802 \n2.01709 -6.38528 0.483195 \n2.06806 -6.38528 0.16164 \n1.82389 -6.46111 0.143398 \n1.82946 -6.46111 0.000877251 \n1.30903 -6.58483 -0.00114668 \n1.30514 -6.58483 -0.102525 \n2.06768 -6.38528 -0.163771 \n2.01679 -6.38528 -0.485337 \n1.77894 -6.46111 -0.427234 \n2.20978 -6.29886 -0.718289 \n2.14623 -6.29886 -0.889685 \n2.67293 -6.09712 -0.868747 \n2.81497 -5.98211 -1.16703 \n2.59786 -5.98211 -1.59322 \n2.39597 -6.09712 -1.46907 \n2.27365 -6.09712 -1.65221 \n1.87966 -6.29886 -1.36599 \n1.76627 -6.29886 -1.50936 \n2.31657 -5.98211 -1.97979 \n1.97837 -5.98211 -2.31803 \n1.82473 -6.09712 -2.13756 \n1.6518 -6.09712 -2.27394 \n1.36555 -6.29886 -1.87998 \n1.2134 -6.29886 -1.98129 \n1.5914 -5.98211 -2.59875 \n1.16524 -5.98211 -2.81593 \n1.07488 -6.09712 -2.59682 \n0.868275 -6.09712 -2.67308 \n0.717768 -6.29886 -2.20995 \n0.541755 -6.29886 -2.25928 \n0.710453 -5.98211 -2.96332 \n0.23804 -5.98211 -3.03818 \n0.219814 -6.09712 -2.80188 \n-0.000247596 -6.09712 -2.81056 \n-0.000273785 -6.29886 -2.32359 \n-0.182918 -6.29886 -2.31611 \n-0.240036 -5.98211 -3.03783 \n-0.712461 -5.98211 -2.96304 \n-0.656771 -6.09712 -2.73267 \n-0.868747 -6.09712 -2.67293 \n-0.718289 -6.29886 -2.20978 \n-0.889685 -6.29886 -2.14623 \n-1.16703 -5.98211 -2.81497 \n-1.59322 -5.98211 -2.59785 \n-1.46907 -6.09712 -2.39596 \n-1.65221 -6.09712 -2.27364 \n-1.36599 -6.29886 -1.87966 \n-1.50936 -6.29886 -1.76626 \n-1.97979 -5.98211 -2.31656 \n-2.31802 -5.98211 -1.97837 \n-2.13756 -6.09712 -1.82473 \n-2.27393 -6.09712 -1.6518 \n-1.87998 -6.29886 -1.36555 \n-1.98129 -6.29886 -1.2134 \n-2.59875 -5.98211 -1.5914 \n-2.81593 -5.98211 -1.16524 \n-2.59682 -6.09712 -1.07488 \n-2.67308 -6.09712 -0.868275 \n-2.20995 -6.29886 -0.717768 \n-2.25928 -6.29886 -0.541755 \n-2.96332 -5.98211 -0.710453 \n-3.03818 -5.98211 -0.23804 \n-2.80188 -6.09712 -0.219814 \n-2.81056 -6.09712 0.000247689 \n-2.32359 -6.29886 0.000273814 \n-2.31611 -6.29886 0.182918 \n-3.03783 -5.98211 0.240036 \n-2.96304 -5.98211 0.712461 \n-2.73267 -6.09712 0.656771 \n-2.67293 -6.09712 0.868747 \n-2.20978 -6.29886 0.718289 \n-2.14623 -6.29886 0.889685 \n-2.81497 -5.98211 1.16703 \n-2.59785 -5.98211 1.59322 \n-2.39596 -6.09712 1.46907 \n-2.27364 -6.09712 1.65221 \n-1.87966 -6.29886 1.36599 \n-1.76626 -6.29886 1.50936 \n-2.31656 -5.98211 1.97979 \n-1.97837 -5.98211 2.31802 \n-1.82473 -6.09712 2.13756 \n-1.6518 -6.09712 2.27393 \n-1.36555 -6.29886 1.87998 \n-1.2134 -6.29886 1.98129 \n-1.5914 -5.98211 2.59875 \n-1.16524 -5.98211 2.81593 \n-1.07488 -6.09712 2.59682 \n-0.868275 -6.09712 2.67308 \n-0.717768 -6.29886 2.20995 \n-0.541755 -6.29886 2.25928 \n-0.710453 -5.98211 2.96332 \n-0.23804 -5.98211 3.03818 \n-0.219814 -6.09712 2.80188 \n0.000247564 -6.09712 2.81056 \n0.00027369 -6.29886 2.32359 \n0.182917 -6.29886 2.31611 \n0.240035 -5.98211 3.03783 \n0.71246 -5.98211 2.96304 \n0.65677 -6.09712 2.73267 \n0.868746 -6.09712 2.67293 \n0.718288 -6.29886 2.20978 \n0.889685 -6.29886 2.14623 \n1.16703 -5.98211 2.81497 \n1.59322 -5.98211 2.59785 \n1.46907 -6.09712 2.39596 \n1.65221 -6.09712 2.27364 \n1.36599 -6.29886 1.87966 \n1.50936 -6.29886 1.76626 \n1.97979 -5.98211 2.31656 \n2.31802 -5.98211 1.97837 \n2.13756 -6.09712 1.82473 \n2.27393 -6.09712 1.6518 \n1.87998 -6.29886 1.36555 \n1.98129 -6.29886 1.2134 \n2.59874 -5.98211 1.5914 \n2.81593 -5.98211 1.16524 \n2.59682 -6.09712 1.07488 \n2.67308 -6.09712 0.868275 \n2.20995 -6.29886 0.717768 \n2.25928 -6.29886 0.541755 \n2.96332 -5.98211 0.710453 \n3.03818 -5.98211 0.23804 \n2.80188 -6.09712 0.219814 \n2.81056 -6.09712 -0.000247596 \n2.32359 -6.29886 -0.000273785 \n2.31611 -6.29886 -0.182918 \n3.03783 -5.98211 -0.240036 \n2.96304 -5.98211 -0.712461 \n2.73267 -6.09712 -0.656771 \n3.11963 -5.85779 -1.0139 \n3.03005 -5.85779 -1.25571 \n3.54707 -5.58234 -1.15275 \n3.64475 -5.43164 -1.51062 \n3.36364 -5.43164 -2.0624 \n3.17961 -5.58234 -1.94923 \n3.01724 -5.58234 -2.19243 \n2.65363 -5.85779 -1.92829 \n2.49372 -5.85779 -2.13059 \n2.99956 -5.43164 -2.56297 \n2.56169 -5.43164 -3.00088 \n2.42164 -5.58234 -2.83638 \n2.19207 -5.58234 -3.0175 \n1.92787 -5.85779 -2.65394 \n1.71328 -5.85779 -2.79691 \n2.06075 -5.43164 -3.36444 \n1.50899 -5.43164 -3.64562 \n1.42663 -5.58234 -3.44589 \n1.15232 -5.58234 -3.5472 \n1.01341 -5.85779 -3.11979 \n0.765133 -5.85779 -3.18945 \n0.920218 -5.43164 -3.83659 \n0.308578 -5.43164 -3.93349 \n0.291961 -5.58234 -3.71809 \n-0.000222972 -5.58234 -3.72968 \n-0.00025853 -5.85779 -3.28025 \n-0.25791 -5.85779 -3.26978 \n-0.310391 -5.43164 -3.93317 \n-0.92204 -5.43164 -3.83633 \n-0.871281 -5.58234 -3.62633 \n-1.15275 -5.58234 -3.54707 \n-1.0139 -5.85779 -3.11963 \n-1.25571 -5.85779 -3.03005 \n-1.51062 -5.43164 -3.64475 \n-2.0624 -5.43164 -3.36364 \n-1.94923 -5.58234 -3.17961 \n-2.19243 -5.58234 -3.01724 \n-1.92829 -5.85779 -2.65363 \n-2.13059 -5.85779 -2.49372 \n-2.56297 -5.43164 -2.99956 \n-3.00088 -5.43164 -2.56169 \n-2.83638 -5.58234 -2.42164 \n-3.0175 -5.58234 -2.19207 \n-2.65393 -5.85779 -1.92787 \n-2.79691 -5.85779 -1.71328 \n-3.36445 -5.43164 -2.06075 \n-3.64561 -5.43164 -1.50899 \n-3.44589 -5.58234 -1.42662 \n-3.5472 -5.58234 -1.15232 \n-3.11979 -5.85779 -1.01341 \n-3.18945 -5.85779 -0.765133 \n-3.83658 -5.43164 -0.920219 \n-3.93349 -5.43164 -0.308578 \n-3.71809 -5.58234 -0.291961 \n-3.72968 -5.58234 0.000222819 \n-3.28025 -5.85779 0.000258377 \n-3.26978 -5.85779 0.25791 \n-3.93317 -5.43164 0.31039 \n-3.83632 -5.43164 0.922039 \n-3.62633 -5.58234 0.87128 \n-3.54706 -5.58234 1.15275 \n-3.11963 -5.85779 1.0139 \n-3.03005 -5.85779 1.25571 \n-3.64475 -5.43164 1.51062 \n-3.36364 -5.43164 2.0624 \n-3.17961 -5.58234 1.94923 \n-3.01724 -5.58234 2.19243 \n-2.65363 -5.85779 1.92829 \n-2.49372 -5.85779 2.13059 \n-2.99956 -5.43164 2.56297 \n-2.56169 -5.43164 3.00088 \n-2.42164 -5.58234 2.83638 \n-2.19207 -5.58234 3.0175 \n-1.92787 -5.85779 2.65393 \n-1.71328 -5.85779 2.79691 \n-2.06075 -5.43164 3.36445 \n-1.50899 -5.43164 3.64561 \n-1.42662 -5.58234 3.44589 \n-1.15232 -5.58234 3.5472 \n-1.01341 -5.85779 3.11979 \n-0.765133 -5.85779 3.18945 \n-0.920219 -5.43164 3.83658 \n-0.308578 -5.43164 3.93349 \n-0.291961 -5.58234 3.71809 \n0.000222851 -5.58234 3.72968 \n0.00025847 -5.85779 3.28025 \n0.257909 -5.85779 3.26978 \n0.31039 -5.43164 3.93317 \n0.922039 -5.43164 3.83632 \n0.87128 -5.58234 3.62633 \n1.15275 -5.58234 3.54706 \n1.0139 -5.85779 3.11963 \n1.25571 -5.85779 3.03005 \n1.51062 -5.43164 3.64475 \n2.0624 -5.43164 3.36364 \n1.94923 -5.58234 3.17961 \n2.19243 -5.58234 3.01724 \n1.92829 -5.85779 2.65363 \n2.13059 -5.85779 2.49372 \n2.56297 -5.43164 2.99956 \n3.00088 -5.43164 2.56169 \n2.83638 -5.58234 2.42164 \n3.0175 -5.58234 2.19207 \n2.65393 -5.85779 1.92787 \n2.7969 -5.85779 1.71328 \n3.36445 -5.43164 2.06075 \n3.64561 -5.43164 1.50899 \n3.44588 -5.58234 1.42662 \n3.5472 -5.58234 1.15232 \n3.11979 -5.85779 1.01341 \n3.18945 -5.85779 0.765133 \n3.83658 -5.43164 0.920219 \n3.93349 -5.43164 0.308578 \n3.71809 -5.58234 0.291961 \n3.72968 -5.58234 -0.000222845 \n3.28025 -5.85779 -0.000258466 \n3.26978 -5.85779 -0.25791 \n3.93317 -5.43164 -0.310391 \n3.83633 -5.43164 -0.92204 \n3.62633 -5.58234 -0.871281 \n3.95266 -5.27248 -1.28454 \n3.83927 -5.27248 -1.59081 \n4.33387 -4.93011 -1.40836 \n4.38479 -4.74743 -1.81701 \n4.04659 -4.74743 -2.4808 \n3.88495 -4.93011 -2.38141 \n3.68654 -4.93011 -2.67867 \n3.36226 -5.27248 -2.44312 \n3.15977 -5.27248 -2.69934 \n3.60869 -4.74743 -3.08305 \n3.08193 -4.74743 -3.60985 \n2.95892 -4.93011 -3.46537 \n2.67835 -4.93011 -3.68677 \n2.44273 -5.27248 -3.36254 \n2.17098 -5.27248 -3.54365 \n2.47935 -4.74743 -4.0473 \n1.81559 -4.74743 -4.38554 \n1.74324 -4.93011 -4.21012 \n1.408 -4.93011 -4.33399 \n1.2841 -5.27248 -3.95281 \n0.96967 -5.27248 -4.04109 \n1.10733 -4.74743 -4.61538 \n0.371518 -4.74743 -4.73194 \n0.356919 -4.93011 -4.54275 \n-0.000192344 -4.93011 -4.55695 \n-0.000236526 -5.27248 -4.15615 \n-0.326552 -5.27248 -4.14294 \n-0.373102 -4.74743 -4.73166 \n-1.10892 -4.74743 -4.61515 \n-1.06434 -4.93011 -4.43071 \n-1.40836 -4.93011 -4.33387 \n-1.28454 -5.27248 -3.95266 \n-1.59081 -5.27248 -3.83927 \n-1.81701 -4.74743 -4.38479 \n-2.4808 -4.74743 -4.04659 \n-2.38141 -4.93011 -3.88495 \n-2.67867 -4.93011 -3.68654 \n-2.44312 -5.27248 -3.36226 \n-2.69934 -5.27248 -3.15977 \n-3.08305 -4.74743 -3.60869 \n-3.60985 -4.74743 -3.08193 \n-3.46537 -4.93011 -2.95892 \n-3.68677 -4.93011 -2.67835 \n-3.36254 -5.27248 -2.44273 \n-3.54365 -5.27248 -2.17098 \n-4.0473 -4.74743 -2.47935 \n-4.38554 -4.74743 -1.81559 \n-4.21012 -4.93011 -1.74324 \n-4.33398 -4.93011 -1.408 \n-3.9528 -5.27248 -1.2841 \n-4.04108 -5.27248 -0.96967 \n-4.61538 -4.74743 -1.10732 \n-4.73194 -4.74743 -0.371518 \n-4.54275 -4.93011 -0.356919 \n-4.55695 -4.93011 0.000192527 \n-4.15615 -5.27248 0.000236709 \n-4.14294 -5.27248 0.326552 \n-4.73166 -4.74743 0.373101 \n-4.61515 -4.74743 1.10892 \n-4.43071 -4.93011 1.06434 \n-4.33387 -4.93011 1.40836 \n-3.95266 -5.27248 1.28454 \n-3.83926 -5.27248 1.59081 \n-4.38479 -4.74743 1.81701 \n-4.04659 -4.74743 2.4808 \n-3.88495 -4.93011 2.38141 \n-3.68654 -4.93011 2.67867 \n-3.36226 -5.27248 2.44312 \n-3.15977 -5.27248 2.69935 \n-3.60869 -4.74743 3.08305 \n-3.08193 -4.74743 3.60985 \n-2.95892 -4.93011 3.46536 \n-2.67835 -4.93011 3.68676 \n-2.44273 -5.27248 3.36253 \n-2.17098 -5.27248 3.54365 \n-2.47935 -4.74743 4.0473 \n-1.81559 -4.74743 4.38554 \n-1.74324 -4.93011 4.21012 \n-1.408 -4.93011 4.33398 \n-1.2841 -5.27248 3.9528 \n-0.96967 -5.27248 4.04108 \n-1.10732 -4.74743 4.61538 \n-0.371518 -4.74743 4.73194 \n-0.356919 -4.93011 4.54275 \n0.000192463 -4.93011 4.55695 \n0.000236709 -5.27248 4.15615 \n0.326552 -5.27248 4.14294 \n0.373102 -4.74743 4.73166 \n1.10892 -4.74743 4.61515 \n1.06434 -4.93011 4.43071 \n1.40836 -4.93011 4.33387 \n1.28454 -5.27248 3.95266 \n1.59081 -5.27248 3.83926 \n1.81701 -4.74743 4.38479 \n2.4808 -4.74743 4.04659 \n2.38141 -4.93011 3.88495 \n2.67867 -4.93011 3.68654 \n2.44312 -5.27248 3.36226 \n2.69935 -5.27248 3.15976 \n3.08305 -4.74743 3.60869 \n3.60985 -4.74743 3.08193 \n3.46536 -4.93011 2.95891 \n3.68676 -4.93011 2.67835 \n3.36253 -5.27248 2.44273 \n3.54365 -5.27248 2.17098 \n4.0473 -4.74743 2.47935 \n4.38554 -4.74743 1.81559 \n4.21012 -4.93011 1.74324 \n4.33398 -4.93011 1.408 \n3.9528 -5.27248 1.2841 \n4.04108 -5.27248 0.96967 \n4.61537 -4.74743 1.10732 \n4.73194 -4.74743 0.371518 \n4.54275 -4.93011 0.356919 \n4.55695 -4.93011 -0.000192534 \n4.15615 -5.27248 -0.000236716 \n4.14294 -5.27248 -0.326552 \n4.73166 -4.74743 -0.373102 \n4.61515 -4.74743 -1.10892 \n4.43071 -4.93011 -1.06434 \n4.68837 -4.55735 -1.52356 \n4.55394 -4.55735 -1.88674 \n5.01395 -4.15649 -1.6293 \n5.01685 -3.94632 -2.07866 \n4.62992 -3.94632 -2.83811 \n4.49464 -4.15649 -2.75494 \n4.26507 -4.15649 -3.09895 \n3.98809 -4.55735 -2.89778 \n3.74801 -4.55735 -3.20164 \n4.12897 -3.94632 -3.52721 \n3.52628 -3.94632 -4.12993 \n3.42333 -4.15649 -4.00902 \n3.09869 -4.15649 -4.26526 \n2.89744 -4.55735 -3.98834 \n2.57521 -4.55735 -4.20314 \n2.83692 -3.94632 -4.6305 \n2.07748 -3.94632 -5.01748 \n2.01692 -4.15649 -4.87067 \n1.629 -4.15649 -5.01405 \n1.52317 -4.55735 -4.6885 \n1.15033 -4.55735 -4.79321 \n1.26716 -3.94632 -5.28052 \n0.42531 -3.94632 -5.41389 \n0.413089 -4.15649 -5.25555 \n-0.000157442 -4.15649 -5.27203 \n-0.000209313 -4.55735 -4.92971 \n-0.387153 -4.55735 -4.91408 \n-0.426627 -3.94632 -5.41365 \n-1.26849 -3.94632 -5.28033 \n-1.23118 -4.15649 -5.12598 \n-1.6293 -4.15649 -5.01395 \n-1.52356 -4.55735 -4.68837 \n-1.88674 -4.55735 -4.55394 \n-2.07866 -3.94632 -5.01685 \n-2.83811 -3.94632 -4.62991 \n-2.75494 -4.15649 -4.49464 \n-3.09895 -4.15649 -4.26506 \n-2.89778 -4.55735 -3.98809 \n-3.20164 -4.55735 -3.74801 \n-3.52721 -3.94632 -4.12897 \n-4.12993 -3.94632 -3.52628 \n-4.00902 -4.15649 -3.42333 \n-4.26525 -4.15649 -3.09869 \n-3.98834 -4.55735 -2.89744 \n-4.20314 -4.55735 -2.57521 \n-4.6305 -3.94632 -2.83692 \n-5.01748 -3.94632 -2.07748 \n-4.87067 -4.15649 -2.01692 \n-5.01404 -4.15649 -1.629 \n-4.6885 -4.55735 -1.52317 \n-4.79321 -4.55735 -1.15033 \n-5.28052 -3.94632 -1.26716 \n-5.41388 -3.94632 -0.42531 \n-5.25555 -4.15649 -0.413089 \n-5.27203 -4.15649 0.000157326 \n-4.92971 -4.55735 0.000209067 \n-4.91408 -4.55735 0.387152 \n-5.41364 -3.94632 0.426627 \n-5.28033 -3.94632 1.26849 \n-5.12597 -4.15649 1.23118 \n-5.01395 -4.15649 1.6293 \n-4.68837 -4.55735 1.52356 \n-4.55394 -4.55735 1.88674 \n-5.01685 -3.94632 2.07866 \n-4.62991 -3.94632 2.83811 \n-4.49464 -4.15649 2.75494 \n-4.26506 -4.15649 3.09895 \n-3.98809 -4.55735 2.89778 \n-3.74801 -4.55735 3.20164 \n-4.12897 -3.94632 3.52721 \n-3.52628 -3.94632 4.12993 \n-3.42333 -4.15649 4.00902 \n-3.09869 -4.15649 4.26525 \n-2.89744 -4.55735 3.98834 \n-2.57521 -4.55735 4.20314 \n-2.83692 -3.94632 4.6305 \n-2.07748 -3.94632 5.01748 \n-2.01692 -4.15649 4.87067 \n-1.629 -4.15649 5.01404 \n-1.52317 -4.55735 4.6885 \n-1.15033 -4.55735 4.79321 \n-1.26716 -3.94632 5.28052 \n-0.42531 -3.94632 5.41388 \n-0.413089 -4.15649 5.25555 \n0.00015723 -4.15649 5.27203 \n0.000209287 -4.55735 4.92971 \n0.387153 -4.55735 4.91408 \n0.426626 -3.94632 5.41364 \n1.26849 -3.94632 5.28033 \n1.23118 -4.15649 5.12597 \n1.6293 -4.15649 5.01395 \n1.52356 -4.55735 4.68837 \n1.88674 -4.55735 4.55394 \n2.07866 -3.94632 5.01685 \n2.83811 -3.94632 4.62991 \n2.75494 -4.15649 4.49464 \n3.09895 -4.15649 4.26506 \n2.89778 -4.55735 3.98809 \n3.20164 -4.55735 3.74801 \n3.52721 -3.94632 4.12897 \n4.12993 -3.94632 3.52628 \n4.00902 -4.15649 3.42333 \n4.26525 -4.15649 3.09869 \n3.98834 -4.55735 2.89744 \n4.20314 -4.55735 2.57521 \n4.6305 -3.94632 2.83692 \n5.01748 -3.94632 2.07748 \n4.87067 -4.15649 2.01692 \n5.01404 -4.15649 1.629 \n4.6885 -4.55735 1.52317 \n4.79321 -4.55735 1.15033 \n5.28052 -3.94632 1.26716 \n5.41388 -3.94632 0.42531 \n5.25555 -4.15649 0.413089 \n5.27202 -4.15649 -0.000157289 \n4.9297 -4.55735 -0.000209156 \n4.91408 -4.55735 -0.387153 \n5.41364 -3.94632 -0.426627 \n5.28033 -3.94632 -1.26849 \n5.12597 -4.15649 -1.23118 \n5.30863 -3.73 -1.72506 \n5.15648 -3.73 -2.13621 \n5.57057 -3.28052 -1.81011 \n5.52539 -3.04804 -2.28912 \n5.09923 -3.04804 -3.12555 \n4.99365 -3.28052 -3.06064 \n4.73858 -3.28052 -3.44292 \n4.51574 -3.73 -3.28109 \n4.24398 -3.73 -3.6251 \n4.54758 -3.04804 -3.88452 \n3.8838 -3.04804 -4.54832 \n3.80346 -3.28052 -4.45396 \n3.44273 -3.28052 -4.73871 \n3.28081 -3.73 -4.51594 \n2.91604 -3.73 -4.75913 \n3.12462 -3.04804 -5.09968 \n2.28821 -3.04804 -5.52587 \n2.24095 -3.28052 -5.4113 \n1.80989 -3.28052 -5.57064 \n1.72473 -3.73 -5.30873 \n1.30267 -3.73 -5.42731 \n1.3958 -3.04804 -5.81564 \n0.468629 -3.04804 -5.96251 \n0.459087 -3.28052 -5.83894 \n-0.000118434 -3.28052 -5.85728 \n-0.000176441 -3.73 -5.58189 \n-0.438221 -3.73 -5.56423 \n-0.469647 -3.04804 -5.96233 \n-1.39682 -3.04804 -5.8155 \n-1.36771 -3.28052 -5.69503 \n-1.81011 -3.28052 -5.57057 \n-1.72506 -3.73 -5.30863 \n-2.13621 -3.73 -5.15647 \n-2.28912 -3.04804 -5.52539 \n-3.12555 -3.04804 -5.09923 \n-3.06064 -3.28052 -4.99365 \n-3.44292 -3.28052 -4.73857 \n-3.28109 -3.73 -4.51573 \n-3.6251 -3.73 -4.24397 \n-3.88452 -3.04804 -4.54758 \n-4.54832 -3.04804 -3.88381 \n-4.45396 -3.28052 -3.80346 \n-4.73871 -3.28052 -3.44273 \n-4.51594 -3.73 -3.28081 \n-4.75913 -3.73 -2.91604 \n-5.09968 -3.04804 -3.12462 \n-5.52587 -3.04804 -2.28821 \n-5.4113 -3.28052 -2.24095 \n-5.57064 -3.28052 -1.80989 \n-5.30873 -3.73 -1.72473 \n-5.42731 -3.73 -1.30267 \n-5.81564 -3.04804 -1.3958 \n-5.96251 -3.04804 -0.468629 \n-5.83894 -3.28052 -0.459087 \n-5.85728 -3.28052 0.000118457 \n-5.58187 -3.73 0.000176657 \n-5.56422 -3.73 0.438221 \n-5.96233 -3.04804 0.469647 \n-5.8155 -3.04804 1.39682 \n-5.69503 -3.28052 1.36771 \n-5.57057 -3.28052 1.81011 \n-5.30863 -3.73 1.72506 \n-5.15647 -3.73 2.13621 \n-5.52539 -3.04804 2.28912 \n-5.09923 -3.04804 3.12555 \n-4.99365 -3.28052 3.06064 \n-4.73857 -3.28052 3.44292 \n-4.51573 -3.73 3.28109 \n-4.24397 -3.73 3.6251 \n-4.54758 -3.04804 3.88452 \n-3.88381 -3.04804 4.54832 \n-3.80346 -3.28052 4.45396 \n-3.44273 -3.28052 4.73871 \n-3.28081 -3.73 4.51594 \n-2.91604 -3.73 4.75913 \n-3.12462 -3.04804 5.09968 \n-2.28821 -3.04804 5.52587 \n-2.24095 -3.28052 5.4113 \n-1.80989 -3.28052 5.57065 \n-1.72473 -3.73 5.30873 \n-1.30267 -3.73 5.42731 \n-1.3958 -3.04804 5.81564 \n-0.468629 -3.04804 5.96251 \n-0.459087 -3.28052 5.83894 \n0.00011849 -3.28052 5.85728 \n0.000176564 -3.73 5.58187 \n0.43822 -3.73 5.56422 \n0.469647 -3.04804 5.96233 \n1.39682 -3.04804 5.8155 \n1.36771 -3.28052 5.69503 \n1.81011 -3.28052 5.57057 \n1.72506 -3.73 5.30863 \n2.13621 -3.73 5.15647 \n2.28912 -3.04804 5.52539 \n3.12555 -3.04804 5.09923 \n3.06064 -3.28052 4.99365 \n3.44292 -3.28052 4.73857 \n3.28109 -3.73 4.51573 \n3.6251 -3.73 4.24397 \n3.88452 -3.04804 4.54757 \n4.54832 -3.04804 3.88381 \n4.45396 -3.28052 3.80346 \n4.73871 -3.28052 3.44273 \n4.51594 -3.73 3.28081 \n4.75913 -3.73 2.91604 \n5.09967 -3.04804 3.12462 \n5.52587 -3.04804 2.28821 \n5.4113 -3.28052 2.24095 \n5.57065 -3.28052 1.80989 \n5.30873 -3.73 1.72473 \n5.42731 -3.73 1.30267 \n5.81564 -3.04804 1.3958 \n5.96251 -3.04804 0.468629 \n5.83894 -3.28052 0.459087 \n5.85728 -3.28052 -0.000118397 \n5.58187 -3.73 -0.000176597 \n5.56422 -3.73 -0.438221 \n5.96233 -3.04804 -0.469647 \n5.8155 -3.04804 -1.39682 \n5.69503 -3.28052 -1.36771 \n5.79817 -2.81081 -1.88408 \n5.63205 -2.81081 -2.33308 \n5.99003 -2.32376 -1.94636 \n5.89787 -2.0747 -2.44322 \n5.44298 -2.0747 -3.33602 \n5.3697 -2.32376 -3.29097 \n5.0954 -2.32376 -3.70212 \n4.93218 -2.81081 -3.58361 \n4.63543 -2.81081 -3.9593 \n4.8542 -2.0747 -4.14619 \n4.1457 -2.0747 -4.85471 \n4.08993 -2.32376 -4.78923 \n3.702 -2.32376 -5.09549 \n3.58338 -2.81081 -4.93234 \n3.18507 -2.81081 -5.19794 \n3.33539 -2.0747 -5.44329 \n2.4426 -2.0747 -5.8982 \n2.4098 -2.32376 -5.81868 \n1.94621 -2.32376 -5.99008 \n1.88382 -2.81081 -5.79826 \n1.42293 -2.81081 -5.92778 \n1.49007 -2.0747 -6.20756 \n0.50041 -2.0747 -6.36432 \n0.493781 -2.32376 -6.27857 \n-7.6622e-005 -2.32376 -6.29832 \n-0.000139438 -2.81081 -6.09661 \n-0.478498 -2.81081 -6.07736 \n-0.501102 -2.0747 -6.3642 \n-1.49077 -2.0747 -6.20747 \n-1.47057 -2.32376 -6.12386 \n-1.94636 -2.32376 -5.99003 \n-1.88408 -2.81081 -5.79817 \n-2.33308 -2.81081 -5.63205 \n-2.44322 -2.0747 -5.89786 \n-3.33602 -2.0747 -5.44298 \n-3.29097 -2.32376 -5.3697 \n-3.70212 -2.32376 -5.0954 \n-3.58361 -2.81081 -4.93218 \n-3.9593 -2.81081 -4.63543 \n-4.14619 -2.0747 -4.8542 \n-4.85471 -2.0747 -4.1457 \n-4.78923 -2.32376 -4.08993 \n-5.09549 -2.32376 -3.702 \n-4.93234 -2.81081 -3.58338 \n-5.19794 -2.81081 -3.18507 \n-5.44329 -2.0747 -3.33539 \n-5.8982 -2.0747 -2.4426 \n-5.81868 -2.32376 -2.4098 \n-5.99008 -2.32376 -1.94621 \n-5.79826 -2.81081 -1.88382 \n-5.92778 -2.81081 -1.42293 \n-6.20756 -2.0747 -1.49007 \n-6.36432 -2.0747 -0.50041 \n-6.27857 -2.32376 -0.493781 \n-6.29832 -2.32376 7.6592e-005 \n-6.09661 -2.81081 0.000139408 \n-6.07735 -2.81081 0.478498 \n-6.3642 -2.0747 0.501102 \n-6.20746 -2.0747 1.49077 \n-6.12385 -2.32376 1.47057 \n-5.99003 -2.32376 1.94636 \n-5.79817 -2.81081 1.88408 \n-5.63205 -2.81081 2.33308 \n-5.89786 -2.0747 2.44322 \n-5.44298 -2.0747 3.33601 \n-5.3697 -2.32376 3.29097 \n-5.0954 -2.32376 3.70212 \n-4.93218 -2.81081 3.58361 \n-4.63543 -2.81081 3.9593 \n-4.8542 -2.0747 4.14618 \n-4.14569 -2.0747 4.85471 \n-4.08992 -2.32376 4.78923 \n-3.70199 -2.32376 5.09549 \n-3.58338 -2.81081 4.93234 \n-3.18507 -2.81081 5.19794 \n-3.33538 -2.0747 5.44328 \n-2.4426 -2.0747 5.89819 \n-2.4098 -2.32376 5.81868 \n-1.94621 -2.32376 5.99008 \n-1.88382 -2.81081 5.79826 \n-1.42293 -2.81081 5.92777 \n-1.49007 -2.0747 6.20756 \n-0.50041 -2.0747 6.36432 \n-0.493781 -2.32376 6.27856 \n7.6592e-005 -2.32376 6.29832 \n0.000139408 -2.81081 6.09661 \n0.478498 -2.81081 6.07735 \n0.501102 -2.0747 6.3642 \n1.49077 -2.0747 6.20746 \n1.47057 -2.32376 6.12385 \n1.94636 -2.32376 5.99003 \n1.88408 -2.81081 5.79817 \n2.33308 -2.81081 5.63205 \n2.44322 -2.0747 5.89786 \n3.33601 -2.0747 5.44298 \n3.29097 -2.32376 5.3697 \n3.70212 -2.32376 5.0954 \n3.58361 -2.81081 4.93218 \n3.9593 -2.81081 4.63543 \n4.14618 -2.0747 4.8542 \n4.85471 -2.0747 4.14569 \n4.78923 -2.32376 4.08992 \n5.09549 -2.32376 3.70199 \n4.93234 -2.81081 3.58338 \n5.19794 -2.81081 3.18507 \n5.44328 -2.0747 3.33538 \n5.89819 -2.0747 2.4426 \n5.81868 -2.32376 2.4098 \n5.99008 -2.32376 1.94621 \n5.79826 -2.81081 1.88382 \n5.92777 -2.81081 1.42293 \n6.20756 -2.0747 1.49007 \n6.36432 -2.0747 0.500409 \n6.27856 -2.32376 0.493781 \n6.29832 -2.32376 -7.65624e-005 \n6.09661 -2.81081 -0.000139438 \n6.07735 -2.81081 -0.478498 \n6.3642 -2.0747 -0.501102 \n6.20747 -2.0747 -1.49077 \n6.12386 -2.32376 -1.47057 \n6.14495 -1.8224 -1.99672 \n5.96894 -1.8224 -2.47251 \n6.26568 -1.318 -2.02746 \n6.12718 -1.05028 -2.53865 \n5.65066 -1.05028 -3.46285 \n5.61927 -1.318 -3.43454 \n5.3325 -1.318 -3.86443 \n5.22717 -1.8224 -3.79789 \n4.91275 -1.8224 -4.19601 \n5.0428 -1.05028 -4.30781 \n4.30402 -1.05028 -5.03952 \n4.28291 -1.318 -5.00289 \n3.87733 -1.318 -5.32312 \n3.79773 -1.8224 -5.22729 \n3.37567 -1.8224 -5.50876 \n3.46481 -1.05028 -5.65527 \n2.53606 -1.05028 -6.12288 \n2.52731 -1.318 -6.08152 \n2.04262 -1.318 -6.26075 \n1.99653 -1.8224 -6.14501 \n1.50815 -1.8224 -6.28228 \n1.54765 -1.05028 -6.44917 \n0.519867 -1.05028 -6.60689 \n0.524321 -1.318 -6.56486 \n0.00797216 -1.318 -6.58554 \n-9.9167e-005 -1.8224 -6.46122 \n-0.506994 -1.8224 -6.44085 \n-0.521 -1.05028 -6.61178 \n-1.54722 -1.05028 -6.44418 \n-1.52999 -1.318 -6.40557 \n-2.02746 -1.318 -6.26568 \n-1.99672 -1.8224 -6.14495 \n-2.47251 -1.8224 -5.96894 \n-2.53865 -1.05028 -6.12717 \n-3.46285 -1.05028 -5.65065 \n-3.43454 -1.318 -5.61927 \n-3.86443 -1.318 -5.33249 \n-3.79789 -1.8224 -5.22717 \n-4.19601 -1.8224 -4.91275 \n-4.30781 -1.05028 -5.0428 \n-5.03952 -1.05028 -4.30402 \n-5.00289 -1.318 -4.28291 \n-5.32312 -1.318 -3.87733 \n-5.22729 -1.8224 -3.79773 \n-5.50875 -1.8224 -3.37567 \n-5.65528 -1.05028 -3.4648 \n-6.12288 -1.05028 -2.53606 \n-6.08152 -1.318 -2.52731 \n-6.26075 -1.318 -2.04262 \n-6.14501 -1.8224 -1.99653 \n-6.28228 -1.8224 -1.50815 \n-6.44917 -1.05028 -1.54765 \n-6.60689 -1.05028 -0.519867 \n-6.56485 -1.318 -0.524321 \n-6.58553 -1.318 -0.00797216 \n-6.46121 -1.8224 9.9167e-005 \n-6.44085 -1.8224 0.506994 \n-6.61177 -1.05028 0.521 \n-6.44417 -1.05028 1.54722 \n-6.40557 -1.318 1.52999 \n-6.26568 -1.318 2.02746 \n-6.14495 -1.8224 1.99672 \n-5.96894 -1.8224 2.47251 \n-6.12717 -1.05028 2.53865 \n-5.65065 -1.05028 3.46285 \n-5.61927 -1.318 3.43454 \n-5.33249 -1.318 3.86443 \n-5.22717 -1.8224 3.79789 \n-4.91275 -1.8224 4.196 \n-5.0428 -1.05028 4.30781 \n-4.30402 -1.05028 5.03952 \n-4.28291 -1.318 5.00289 \n-3.87733 -1.318 5.32312 \n-3.79773 -1.8224 5.22729 \n-3.37567 -1.8224 5.50875 \n-3.4648 -1.05028 5.65528 \n-2.53606 -1.05028 6.12288 \n-2.52731 -1.318 6.08152 \n-2.04262 -1.318 6.26075 \n-1.99653 -1.8224 6.14501 \n-1.50815 -1.8224 6.28228 \n-1.54765 -1.05028 6.44917 \n-0.519867 -1.05028 6.60689 \n-0.524321 -1.318 6.56485 \n-0.00797216 -1.318 6.58553 \n9.9167e-005 -1.8224 6.46121 \n0.506994 -1.8224 6.44084 \n0.521 -1.05028 6.61177 \n1.54722 -1.05028 6.44417 \n1.52999 -1.318 6.40557 \n2.02746 -1.318 6.26568 \n1.99672 -1.8224 6.14495 \n2.47251 -1.8224 5.96894 \n2.53865 -1.05028 6.12717 \n3.46285 -1.05028 5.65065 \n3.43454 -1.318 5.61927 \n3.86443 -1.318 5.33249 \n3.79788 -1.8224 5.22717 \n4.196 -1.8224 4.91275 \n4.3078 -1.05028 5.0428 \n5.03951 -1.05028 4.30402 \n5.00289 -1.318 4.28291 \n5.32312 -1.318 3.87733 \n5.22729 -1.8224 3.79773 \n5.50875 -1.8224 3.37566 \n5.65528 -1.05028 3.4648 \n6.12288 -1.05028 2.53606 \n6.08152 -1.318 2.52731 \n6.26075 -1.318 2.04262 \n6.14501 -1.8224 1.99653 \n6.28228 -1.8224 1.50815 \n6.44917 -1.05028 1.54765 \n6.60689 -1.05028 0.519867 \n6.56485 -1.318 0.524321 \n6.58553 -1.318 0.00797222 \n6.46121 -1.8224 -9.92937e-005 \n6.44084 -1.8224 -0.506994 \n6.61177 -1.05028 -0.521 \n6.44418 -1.05028 -1.54722 \n6.40557 -1.318 -1.52999 \n6.30484 -0.715279 -2.12436 \n6.12774 -0.715279 -2.6175 \n6.33005 -0.132094 -2.19289 \n6.20206 0 -2.56888 \n5.72375 0 -3.50762 \n5.65143 -0.132094 -3.61563 \n5.3426 -0.132094 -4.04166 \n5.3398 -0.715279 -3.96869 \n5.01897 -0.715279 -4.38297 \n5.10469 0 -4.3597 \n4.3597 0 -5.10469 \n4.25753 -0.132094 -5.18506 \n3.83217 -0.132094 -5.4948 \n3.85205 -0.715279 -5.42453 \n3.41892 -0.715279 -5.7194 \n3.50762 0 -5.72375 \n2.56888 0 -6.20206 \n2.44689 -0.132094 -6.24693 \n1.94663 -0.132094 -6.41007 \n1.98724 -0.715279 -6.34939 \n1.48419 -0.715279 -6.49598 \n1.56721 0 -6.52752 \n0.526606 0 -6.69234 \n0.396717 -0.132094 -6.69732 \n-0.129467 -0.132094 -6.69788 \n-0.0720875 -0.715279 -6.65272 \n-0.595817 -0.715279 -6.63668 \n-0.526606 0 -6.69234 \n-1.56721 0 -6.52752 \n-1.69228 -0.132094 -6.49212 \n-2.19289 -0.132094 -6.33005 \n-2.12436 -0.715279 -6.30484 \n-2.6175 -0.715279 -6.12774 \n-2.56888 0 -6.20206 \n-3.50762 0 -5.72375 \n-3.61563 -0.132094 -5.65143 \n-4.04166 -0.132094 -5.3426 \n-3.96869 -0.715279 -5.33979 \n-4.38297 -0.715279 -5.01897 \n-4.3597 0 -5.10468 \n-5.10468 0 -4.3597 \n-5.18505 -0.132094 -4.25753 \n-5.49479 -0.132094 -3.83217 \n-5.42453 -0.715279 -3.85205 \n-5.7194 -0.715279 -3.41891 \n-5.72375 0 -3.50762 \n-6.20206 0 -2.56888 \n-6.24693 -0.132094 -2.44688 \n-6.41007 -0.132094 -1.94663 \n-6.34939 -0.715279 -1.98725 \n-6.49597 -0.715279 -1.48419 \n-6.52752 0 -1.56721 \n-6.69234 0 -0.526606 \n-6.69731 -0.132094 -0.396717 \n-6.69788 -0.132094 0.129467 \n-6.65272 -0.715279 0.0720875 \n-6.63667 -0.715279 0.595817 \n-6.69234 0 0.526606 \n-6.52752 0 1.56721 \n-6.49212 -0.132094 1.69228 \n-6.33005 -0.132094 2.19289 \n-6.30484 -0.715279 2.12436 \n-6.12774 -0.715279 2.6175 \n-6.20206 0 2.56888 \n-5.72375 0 3.50762 \n-5.65143 -0.132094 3.61563 \n-5.3426 -0.132094 4.04166 \n-5.33979 -0.715279 3.96869 \n-5.01897 -0.715279 4.38297 \n-5.10468 0 4.3597 \n-4.3597 0 5.10468 \n-4.25753 -0.132094 5.18505 \n-3.83217 -0.132094 5.49479 \n-3.85205 -0.715279 5.42453 \n-3.41891 -0.715279 5.7194 \n-3.50762 0 5.72375 \n-2.56888 0 6.20206 \n-2.44688 -0.132094 6.24693 \n-1.94663 -0.132094 6.41007 \n-1.98725 -0.715279 6.34939 \n-1.48419 -0.715279 6.49597 \n-1.56721 0 6.52752 \n-0.526606 0 6.69234 \n-0.396717 -0.132094 6.69731 \n0.129467 -0.132094 6.69788 \n0.0720875 -0.715279 6.65272 \n0.595817 -0.715279 6.63667 \n0.526606 0 6.69234 \n1.56721 0 6.52752 \n1.69228 -0.132094 6.49212 \n2.19289 -0.132094 6.33005 \n2.12436 -0.715279 6.30484 \n2.6175 -0.715279 6.12774 \n2.56888 0 6.20206 \n3.50762 0 5.72375 \n3.61563 -0.132094 5.65143 \n4.04166 -0.132094 5.3426 \n3.96869 -0.715279 5.33979 \n4.38297 -0.715279 5.01897 \n4.3597 0 5.10468 \n5.10468 0 4.3597 \n5.18505 -0.132094 4.25753 \n5.49479 -0.132094 3.83217 \n5.42453 -0.715279 3.85205 \n5.7194 -0.715279 3.41891 \n5.72375 0 3.50762 \n6.20206 0 2.56888 \n6.24693 -0.132094 2.44688 \n6.41007 -0.132094 1.94663 \n6.34939 -0.715279 1.98725 \n6.49597 -0.715279 1.48419 \n6.52752 0 1.56721 \n6.69234 0 0.526606 \n6.69731 -0.132094 0.396717 \n6.69788 -0.132094 -0.129467 \n6.65272 -0.715279 -0.0720874 \n6.63668 -0.715279 -0.595817 \n6.69234 0 -0.526606 \n6.52752 0 -1.56721 \n6.49212 -0.132094 -1.69228 \n0.599648 -6.6737 -0.398331 \n0.136042 -6.7163 -0.0670048 \n0.150089 -6.7163 -0.0216862 \n0.693389 -6.6737 -0.193534 \n0.447208 -6.6737 -0.564137 \n0.108678 -6.7163 -0.105764 \n0.250991 -6.6737 -0.67472 \n0.0706756 -6.7163 -0.134171 \n0.0302069 -6.6737 -0.719256 \n0.0257552 -6.7163 -0.149444 \n-0.193534 -6.6737 -0.693389 \n-0.0216862 -6.7163 -0.150089 \n-0.398331 -6.6737 -0.599648 \n-0.0670048 -6.7163 -0.136042 \n-0.564137 -6.6737 -0.447208 \n-0.105764 -6.7163 -0.108678 \n-0.67472 -6.6737 -0.250991 \n-0.134171 -6.7163 -0.0706756 \n-0.719256 -6.6737 -0.0302069 \n-0.149444 -6.7163 -0.0257552 \n-0.693389 -6.6737 0.193534 \n-0.150089 -6.7163 0.0216863 \n-0.599648 -6.6737 0.398331 \n-0.136042 -6.7163 0.0670048 \n-0.447208 -6.6737 0.564136 \n-0.108678 -6.7163 0.105764 \n-0.250991 -6.6737 0.67472 \n-0.0706756 -6.7163 0.134171 \n-0.0302069 -6.6737 0.719256 \n-0.0257552 -6.7163 0.149444 \n0.193534 -6.6737 0.693389 \n0.0216862 -6.7163 0.150089 \n0.398331 -6.6737 0.599646 \n0.067005 -6.7163 0.136042 \n0.564136 -6.6737 0.447208 \n0.105765 -6.7163 0.108678 \n0.67472 -6.6737 0.250991 \n0.134171 -6.7163 0.0706756 \n0.719256 -6.6737 0.0302069 \n0.149444 -6.7163 0.0257552 \n5.72375 0 -3.50762 \n5.85238 -0.0145394 -3.64772 \n6.20206 0 -2.56888 \n6.52675 -0.0145394 -2.15704 \n7.1556 -0.0630044 -2.21323 \n6.97154 -0.0630044 -2.79349 \n5.54075 -0.0145394 -4.06834 \n7.11223 -0.0775439 -2.94587 \n6.56372 -0.0775433 -4.02238 \n6.12146 -0.0630038 -4.31611 \n4.3597 0 -5.10469 \n4.43873 -0.0145393 -5.27768 \n5.10469 0 -4.3597 \n5.76709 -0.0630036 -4.8111 \n4.01237 -0.0145393 -5.58141 \n5.85381 -0.0775429 -4.9995 \n4.9995 -0.0775429 -5.85381 \n4.48811 -0.0630037 -5.9965 \n2.56888 0 -6.20206 \n2.59059 -0.0145393 -6.39101 \n3.50762 0 -5.72375 \n3.99812 -0.0630037 -6.35775 \n2.09124 -0.0145393 -6.54812 \n4.02238 -0.077543 -6.56372 \n2.94587 -0.077543 -7.11223 \n2.41542 -0.0630037 -7.08991 \n0.526606 0 -6.69234 \n0.488868 -0.0145393 -6.87875 \n1.56721 0 -6.52752 \n1.83778 -0.0630037 -7.28207 \n-0.0345884 -0.0145393 -6.87386 \n1.7972 -0.077543 -7.48546 \n0.603889 -0.077543 -7.67446 \n0.106298 -0.0630037 -7.48931 \n-1.56721 0 -6.52752 \n-1.6607 -0.0145393 -6.69315 \n-0.526606 0 -6.69234 \n-0.502443 -0.0630037 -7.49356 \n-2.15704 -0.0145393 -6.52675 \n-0.603889 -0.077543 -7.67446 \n-1.7972 -0.077543 -7.48546 \n-2.21323 -0.0630037 -7.1556 \n-3.50762 0 -5.72375 \n-3.64772 -0.0145393 -5.85237 \n-2.56888 0 -6.20206 \n-2.79349 -0.0630037 -6.97154 \n-4.06834 -0.0145393 -5.54074 \n-2.94587 -0.077543 -7.11223 \n-4.02237 -0.077543 -6.56372 \n-4.31611 -0.0630037 -6.12146 \n-5.10468 0 -4.3597 \n-5.27767 -0.0145393 -4.43873 \n-4.3597 0 -5.10468 \n-4.81109 -0.0630037 -5.76709 \n-5.5814 -0.0145393 -4.01237 \n-4.99949 -0.077543 -5.85381 \n-5.85381 -0.077543 -4.99949 \n-5.99649 -0.0630037 -4.4881 \n-6.20206 0 -2.56888 \n-6.39101 -0.0145393 -2.59059 \n-5.72375 0 -3.50762 \n-6.35775 -0.0630037 -3.99812 \n-6.54812 -0.0145393 -2.09124 \n-6.56372 -0.077543 -4.02238 \n-7.11223 -0.077543 -2.94587 \n-7.08991 -0.0630037 -2.41542 \n-6.69234 0 -0.526606 \n-6.87874 -0.0145393 -0.488868 \n-6.52752 0 -1.56721 \n-7.28206 -0.0630037 -1.83778 \n-6.87386 -0.0145393 0.0345886 \n-7.48546 -0.077543 -1.7972 \n-7.67446 -0.077543 -0.603889 \n-7.48931 -0.0630037 -0.106297 \n-6.52752 0 1.56721 \n-6.69315 -0.0145393 1.6607 \n-6.69234 0 0.526606 \n-7.49356 -0.0630037 0.502444 \n-6.52675 -0.0145393 2.15704 \n-7.67446 -0.077543 0.60389 \n-7.48546 -0.077543 1.7972 \n-7.1556 -0.0630037 2.21323 \n-5.72375 0 3.50762 \n-5.85237 -0.0145393 3.64772 \n-6.20206 0 2.56888 \n-6.97154 -0.0630037 2.79349 \n-5.54074 -0.0145393 4.06834 \n-7.11223 -0.077543 2.94587 \n-6.56372 -0.077543 4.02237 \n-6.12145 -0.0630037 4.31611 \n-4.3597 0 5.10468 \n-4.43873 -0.0145393 5.27767 \n-5.10468 0 4.3597 \n-5.76709 -0.0630037 4.81109 \n-4.01237 -0.0145393 5.5814 \n-5.85381 -0.077543 4.99949 \n-4.99949 -0.077543 5.85381 \n-4.4881 -0.0630037 5.99649 \n-2.56888 0 6.20206 \n-2.59059 -0.0145393 6.39101 \n-3.50762 0 5.72375 \n-3.99812 -0.0630037 6.35775 \n-2.09125 -0.0145393 6.54812 \n-4.02237 -0.077543 6.56372 \n-2.94587 -0.077543 7.11223 \n-2.41542 -0.0630037 7.08991 \n-0.526606 0 6.69234 \n-0.488869 -0.0145393 6.87874 \n-1.56721 0 6.52752 \n-1.83778 -0.0630037 7.28206 \n0.0345883 -0.0145393 6.87386 \n-1.7972 -0.077543 7.48546 \n-0.60389 -0.077543 7.67446 \n-0.106298 -0.0630037 7.48931 \n1.56721 0 6.52752 \n1.6607 -0.0145393 6.69315 \n0.526606 0 6.69234 \n0.502443 -0.0630037 7.49356 \n2.15704 -0.0145393 6.52675 \n0.603889 -0.077543 7.67446 \n1.7972 -0.077543 7.48546 \n2.21323 -0.0630037 7.1556 \n3.50762 0 5.72375 \n3.64772 -0.0145393 5.85237 \n2.56888 0 6.20206 \n2.79349 -0.0630037 6.97154 \n4.06834 -0.0145393 5.54074 \n2.94587 -0.077543 7.11223 \n4.02237 -0.077543 6.56372 \n4.31611 -0.0630037 6.12145 \n5.10468 0 4.3597 \n5.27767 -0.0145393 4.43873 \n4.3597 0 5.10468 \n4.81109 -0.0630037 5.76709 \n5.5814 -0.0145393 4.01237 \n4.99949 -0.077543 5.85381 \n5.85381 -0.077543 4.99949 \n5.99649 -0.0630037 4.4881 \n6.20206 0 2.56888 \n6.39101 -0.0145393 2.59059 \n5.72375 0 3.50762 \n6.35775 -0.0630037 3.99812 \n6.54812 -0.0145393 2.09125 \n6.56372 -0.077543 4.02237 \n7.11223 -0.077543 2.94587 \n7.08991 -0.0630037 2.41542 \n6.69234 0 0.526606 \n6.87874 -0.0145393 0.488869 \n6.52752 0 1.56721 \n7.28206 -0.0630037 1.83778 \n6.87386 -0.0145393 -0.0345881 \n7.48546 -0.0775429 1.7972 \n7.67446 -0.0775429 0.60389 \n7.48931 -0.0630036 0.106299 \n6.52752 0 -1.56721 \n6.69315 -0.0145394 -1.6607 \n6.69234 0 -0.526606 \n7.49356 -0.0630038 -0.502442 \n7.67446 -0.0775433 -0.603888 \n7.48546 -0.0775439 -1.7972 \n3 1682 1683 1684 \n3 1685 1686 1687 \n3 1688 1689 1690 \n3 1691 1692 1693 \n3 1694 1695 1696 \n3 1697 1698 1699 \n3 1700 1701 1702 \n3 1703 1704 1705 \n3 1706 1707 1708 \n3 1709 1710 1711 \n3 1712 1713 1714 \n3 1715 1716 1717 \n3 1718 1719 1720 \n3 1721 1722 1723 \n3 1724 1725 1726 \n3 1727 1728 1729 \n3 1730 1731 1732 \n3 1733 1734 1735 \n3 1736 1737 1738 \n3 1739 1740 1741 \n3 1742 1743 1744 \n3 1745 1746 1747 \n3 1748 1749 1750 \n3 1751 1752 1753 \n3 1754 1755 1756 \n3 1757 1758 1759 \n3 1760 1761 1762 \n3 1763 1764 1765 \n3 1766 1767 1768 \n3 1769 1770 1771 \n3 1772 1773 1774 \n3 1775 1776 1777 \n3 1778 1779 1780 \n3 1781 1782 1783 \n3 1784 1785 1786 \n3 1787 1788 1789 \n3 1790 1791 1792 \n3 1793 1794 1795 \n3 1796 1797 1798 \n3 1799 1800 1801 \n3 1802 1803 1804 \n3 1805 1806 1807 \n3 1808 1809 1810 \n3 1811 1812 1813 \n3 1814 1815 1816 \n3 1817 1818 1819 \n3 1820 1821 1822 \n3 1823 1824 1825 \n3 1826 1827 1828 \n3 1829 1830 1831 \n3 1832 1833 1834 \n3 1835 1836 1837 \n3 1838 1839 1840 \n3 1841 1842 1843 \n3 1844 1845 1846 \n3 1847 1848 1849 \n3 1850 1851 1852 \n3 1853 1854 1855 \n3 1856 1857 1858 \n3 1859 1860 1861 \n3 1862 1863 1864 \n3 1865 1866 1867 \n3 1868 1869 1870 \n3 1871 1872 1873 \n3 1874 1875 1876 \n3 1877 1878 1879 \n3 1880 1881 1882 \n3 1883 1884 1885 \n3 1886 1887 1888 \n3 1889 1890 1891 \n3 1892 1893 1894 \n3 1895 1896 1897 \n3 1898 1899 1900 \n3 1901 1902 1903 \n3 1904 1905 1906 \n3 1907 1908 1909 \n3 1910 1911 1912 \n3 1913 1914 1915 \n3 1916 1917 1918 \n3 1919 1920 1921 \n3 1922 1923 1924 \n3 1925 1926 1927 \n3 1928 1929 1930 \n3 1931 1932 1933 \n3 1934 1935 1936 \n3 1937 1938 1939 \n3 1940 1941 1942 \n3 1943 1944 1945 \n3 1946 1947 1948 \n3 1949 1950 1951 \n3 1952 1953 1954 \n3 1955 1956 1957 \n3 1958 1959 1960 \n3 1961 1962 1963 \n3 1964 1965 1966 \n3 1967 1968 1969 \n3 1970 1971 1972 \n3 1973 1974 1975 \n3 1976 1977 1978 \n3 1979 1980 1981 \n3 1982 1983 1984 \n3 1985 1986 1987 \n3 1988 1989 1990 \n3 1991 1992 1993 \n3 1994 1995 1996 \n3 1997 1998 1999 \n3 2000 2001 2002 \n3 2003 2004 2005 \n3 2006 2007 2008 \n3 2009 2010 2011 \n3 2012 2013 2014 \n3 2015 2016 2017 \n3 2018 2019 2020 \n3 2021 2022 2023 \n3 2024 2025 2026 \n3 2027 2028 2029 \n3 2030 2031 2032 \n3 2033 2034 2035 \n3 2036 2037 2038 \n3 2039 2040 2041 \n3 2042 2043 2044 \n3 2045 2046 2047 \n3 2048 2049 2050 \n3 2051 2052 2053 \n3 2054 2055 2056 \n3 2057 2058 2059 \n3 2060 2061 2062 \n3 2063 2064 2065 \n3 2066 2067 2068 \n3 2069 2070 2071 \n3 2072 2073 2074 \n3 2075 2076 2077 \n3 2078 2079 2080 \n3 2081 2082 2083 \n3 2084 2085 2086 \n3 2087 2088 2089 \n3 2090 2091 2092 \n3 2093 2094 2095 \n3 2096 2097 2098 \n3 2099 2100 2101 \n3 2102 2103 2104 \n3 2105 2106 2107 \n3 2108 2109 2110 \n3 2111 2112 2113 \n3 2114 2115 2116 \n3 2117 2118 2119 \n3 2120 2121 2122 \n3 2123 2124 2125 \n3 2126 2127 2128 \n3 2129 2130 2131 \n3 2132 2133 2134 \n3 2135 2136 2137 \n3 2138 2139 2140 \n3 2141 2142 2143 \n3 2144 2145 2146 \n3 2147 2148 2149 \n3 2150 2151 2152 \n3 2153 2154 2155 \n3 2156 2157 2158 \n3 2159 2160 2161 \n3 2162 2163 2164 \n3 2165 2166 2167 \n3 2168 2169 2170 \n3 2171 2172 2173 \n3 2174 2175 2176 \n3 2177 2178 2179 \n3 2180 2181 2182 \n3 2183 2184 2185 \n3 2186 2187 2188 \n3 2189 2190 2191 \n3 2192 2193 2194 \n3 2195 2196 2197 \n3 2198 2199 2200 \n3 2201 2202 2203 \n3 2204 2205 2206 \n3 2207 2208 2209 \n3 2210 2211 2212 \n3 2213 2214 2215 \n3 2216 2217 2218 \n3 2219 2220 2221 \n3 2222 2223 2224 \n3 2225 2226 2227 \n3 2228 2229 2230 \n3 2231 2232 2233 \n3 2234 2235 2236 \n3 2237 2238 2239 \n3 2240 2241 2242 \n3 2243 2244 2245 \n3 2246 2247 2248 \n3 2249 2250 2251 \n3 2252 2253 2254 \n3 2255 2256 2257 \n3 2258 2259 2260 \n3 2261 2262 2263 \n3 2264 2265 2266 \n3 2267 2268 2269 \n3 2270 2271 2272 \n3 2273 2274 2275 \n3 2276 2277 2278 \n3 2279 2280 2281 \n3 2282 2283 2284 \n3 2285 2286 2287 \n3 2288 2289 2290 \n3 2291 2292 2293 \n3 2294 2295 2296 \n3 2297 2298 2299 \n3 2300 2301 2302 \n3 2303 2304 2305 \n3 2306 2307 2308 \n3 2309 2310 2311 \n3 2312 2313 2314 \n3 2315 2316 2317 \n3 2318 2319 2320 \n3 2321 2322 2323 \n3 2324 2325 2326 \n3 2327 2328 2329 \n3 2330 2331 2332 \n3 2333 2334 2335 \n3 2336 2337 2338 \n3 2339 2340 2341 \n3 2342 2343 2344 \n3 2345 2346 2347 \n3 2348 2349 2350 \n3 2351 2352 2353 \n3 2354 2355 2356 \n3 2357 2358 2359 \n3 2360 2361 2362 \n3 2363 2364 2365 \n3 2366 2367 2368 \n3 2369 2370 2371 \n3 2372 2373 2374 \n3 2375 2376 2377 \n3 2378 2379 2380 \n3 2381 2382 2383 \n3 2384 2385 2386 \n3 2387 2388 2389 \n3 2390 2391 2392 \n3 2393 2394 2395 \n3 2396 2397 2398 \n3 2399 2400 2401 \n3 2402 2403 2404 \n3 2405 2406 2407 \n3 2408 2409 2410 \n3 2411 2412 2413 \n3 2414 2415 2416 \n3 2417 2418 2419 \n3 2420 2421 2422 \n3 2423 2424 2425 \n3 2426 2427 2428 \n3 2429 2430 2431 \n3 2432 2433 2434 \n3 2435 2436 2437 \n3 2438 2439 2440 \n3 2441 2442 2443 \n3 2444 2445 2446 \n3 2447 2448 2449 \n3 2450 2451 2452 \n3 2453 2454 2455 \n3 2456 2457 2458 \n3 2459 2460 2461 \n3 2462 2463 2464 \n3 2465 2466 2467 \n3 2468 2469 2470 \n3 2471 2472 2473 \n3 2474 2475 2476 \n3 2477 2478 2479 \n3 2480 2481 2482 \n3 2483 2484 2485 \n3 2486 2487 2488 \n3 2489 2490 2491 \n3 2492 2493 2494 \n3 2495 2496 2497 \n3 2498 2499 2500 \n3 2501 2502 2503 \n3 2504 2505 2506 \n3 2507 2508 2509 \n3 2510 2511 2512 \n3 2513 2514 2515 \n3 2516 2517 2518 \n3 2519 2520 2521 \n3 2522 2523 2524 \n3 2525 2526 2527 \n3 2528 2529 2530 \n3 2531 2532 2533 \n3 2534 2535 2536 \n3 2537 2538 2539 \n3 2540 2541 2542 \n3 2543 2544 2545 \n3 2546 2547 2548 \n3 2549 2550 2551 \n3 2552 2553 2554 \n3 2555 2556 2557 \n3 2558 2559 2560 \n3 2561 2562 2563 \n3 2564 2565 2566 \n3 2567 2568 2569 \n3 2570 2571 2572 \n3 2573 2574 2575 \n3 2576 2577 2578 \n3 2579 2580 2581 \n3 2582 2583 2584 \n3 2585 2586 2587 \n3 2588 2589 2590 \n3 2591 2592 2593 \n3 2594 2595 2596 \n3 2597 2598 2599 \n3 2600 2601 2602 \n3 2603 2604 2605 \n3 2606 2607 2608 \n3 2609 2610 2611 \n3 2612 2613 2614 \n3 2615 2616 2617 \n3 2618 2619 2620 \n3 2621 2622 2623 \n3 2624 2625 2626 \n3 2627 2628 2629 \n3 2630 2631 2632 \n3 2633 2634 2635 \n3 2636 2637 2638 \n3 2639 2640 2641 \n3 2642 2643 2644 \n3 2645 2646 2647 \n3 2648 2649 2650 \n3 2651 2652 2653 \n3 2654 2655 2656 \n3 2657 2658 2659 \n3 2660 2661 2662 \n3 2663 2664 2665 \n3 2666 2667 2668 \n3 2669 2670 2671 \n3 2672 2673 2674 \n3 2675 2676 2677 \n3 2678 2679 2680 \n3 2681 2682 2683 \n3 2684 2685 2686 \n3 2687 2688 2689 \n3 2690 2691 2692 \n3 2693 2694 2695 \n3 2696 2697 2698 \n3 2699 2700 2701 \n3 2702 2703 2704 \n3 2705 2706 2707 \n3 2708 2709 2710 \n3 2711 2712 2713 \n3 2714 2715 2716 \n3 2717 2718 2719 \n3 2720 2721 2722 \n3 2723 2724 2725 \n3 2726 2727 2728 \n3 2729 2730 2731 \n3 2732 2733 2734 \n3 2735 2736 2737 \n3 2738 2739 2740 \n3 2741 2742 2743 \n3 2744 2745 2746 \n3 2747 2748 2749 \n3 2750 2751 2752 \n3 2753 2754 2755 \n3 2756 2757 2758 \n3 2759 2760 2761 \n3 442 2762 2763 \n3 447 2764 2765 \n3 451 2766 2767 \n3 455 2768 2769 \n3 459 2770 2771 \n3 463 2772 2773 \n3 467 2774 2775 \n3 471 2776 2777 \n3 475 2778 2779 \n3 479 2780 2781 \n3 483 2782 2783 \n3 487 2784 2785 \n3 491 2786 2787 \n3 495 2788 2789 \n3 499 2790 2791 \n3 503 2792 2793 \n3 507 2794 2795 \n3 511 2796 2797 \n3 515 2798 2799 \n3 519 2800 2801 \n3 2802 2803 2804 \n3 2805 2806 2807 \n3 2808 2809 2810 \n3 2811 2812 2813 \n3 2814 2815 2816 \n3 2817 2818 2819 \n3 2820 2821 2822 \n3 2823 2824 2825 \n3 2826 2827 2828 \n3 2829 2830 2831 \n3 2832 2833 2834 \n3 2835 2836 2837 \n3 2838 2839 2840 \n3 2841 2842 2843 \n3 2844 2845 2846 \n3 2847 2848 2849 \n3 2850 2851 2852 \n3 2853 2854 2855 \n3 2856 2857 2858 \n3 2859 2860 2861 \n3 2862 2863 2864 \n3 2865 2866 2867 \n3 2868 2869 2870 \n3 2871 2872 2873 \n3 2874 2875 2876 \n3 2877 2878 2879 \n3 2880 2881 2882 \n3 2883 2884 2885 \n3 2886 2887 2888 \n3 2889 2890 2891 \n3 2892 2893 2894 \n3 2895 2896 2897 \n3 2898 2899 2900 \n3 2901 2902 2903 \n3 2904 2905 2906 \n3 2907 2908 2909 \n3 2910 2911 2912 \n3 2913 2914 2915 \n3 2916 2917 2918 \n3 2919 2920 2921 \n3 2922 2923 2924 \n3 2925 2926 2927 \n3 2928 2929 2930 \n3 2931 2932 2933 \n3 2934 2935 2936 \n3 2937 2938 2939 \n3 2940 2941 2942 \n3 2943 2944 2945 \n3 2946 2947 2948 \n3 2949 2950 2951 \n3 2952 2953 2954 \n3 2955 2956 2957 \n3 2958 2959 2960 \n3 2961 2962 2963 \n3 2964 2965 2966 \n3 2967 2968 2969 \n3 2970 2971 2972 \n3 2973 2974 2975 \n3 2976 2977 2978 \n3 2979 2980 2981 \n3 2982 2983 2984 \n3 2985 2986 2987 \n3 2988 2989 2990 \n3 2991 2992 2993 \n3 2994 2995 2996 \n3 2997 2998 2999 \n3 3000 3001 3002 \n3 3003 3004 3005 \n3 3006 3007 3008 \n3 3009 3010 3011 \n3 3012 3013 3014 \n3 3015 3016 3017 \n3 3018 3019 3020 \n3 3021 3022 3023 \n3 3024 3025 3026 \n3 3027 3028 3029 \n3 3030 3031 3032 \n3 3033 3034 3035 \n3 3036 3037 3038 \n3 3039 3040 3041 \n3 3042 3043 3044 \n3 3045 3046 3047 \n3 3048 3049 3050 \n3 3051 3052 3053 \n3 3054 3055 3056 \n3 3057 3058 3059 \n3 3060 3061 3062 \n3 3063 3064 3065 \n3 3066 3067 3068 \n3 3069 3070 3071 \n3 3072 3073 3074 \n3 3075 3076 3077 \n3 3078 3079 3080 \n3 3081 3082 3083 \n3 3084 3085 3086 \n3 3087 3088 3089 \n3 3090 3091 3092 \n3 3093 3094 3095 \n3 3096 3097 3098 \n3 3099 3100 3101 \n3 3102 3103 3104 \n3 3105 3106 3107 \n3 3108 3109 3110 \n3 3111 3112 3113 \n3 3114 3115 3116 \n3 3117 3118 3119 \n3 3120 3121 3122 \n3 3123 3124 3125 \n3 3126 3127 3128 \n3 3129 3130 3131 \n3 3132 3133 3134 \n3 3135 3136 3137 \n3 3138 3139 3140 \n3 3141 3142 3143 \n3 3144 3145 3146 \n3 3147 3148 3149 \n3 3150 3151 3152 \n3 3153 3154 3155 \n3 3156 3157 3158 \n3 3159 3160 3161 \n3 3162 3163 3164 \n3 3165 3166 3167 \n3 3168 3169 3170 \n3 3171 3172 3173 \n3 3174 3175 3176 \n3 3177 3178 3179 \n3 3180 3181 3182 \n3 3183 3184 3185 \n3 3186 3187 3188 \n3 3189 3190 3191 \n3 3192 3193 3194 \n3 3195 3196 3197 \n3 3198 3199 3200 \n3 3201 3202 3203 \n3 3204 3205 3206 \n3 3207 3208 3209 \n3 3210 3211 3212 \n3 3213 3214 3215 \n3 3216 3217 3218 \n3 3219 3220 3221 \n3 3222 3223 3224 \n3 3225 3226 3227 \n3 3228 3229 3230 \n3 3231 3232 3233 \n3 3234 3235 3236 \n3 3237 3238 3239 \n3 3240 3241 3242 \n3 3243 3244 3245 \n3 3246 3247 3248 \n3 3249 3250 3251 \n3 3252 3253 3254 \n3 3255 3256 3257 \n3 3258 3259 3260 \n3 3261 3262 3263 \n3 3264 3265 3266 \n3 3267 3268 3269 \n3 3270 3271 3272 \n3 3273 3274 3275 \n3 3276 3277 3278 \n3 3279 3280 3281 \n3 3282 3283 3284 \n3 3285 3286 3287 \n3 3288 3289 3290 \n3 3291 3292 3293 \n3 3294 3295 3296 \n3 3297 3298 3299 \n3 3300 3301 3302 \n3 3303 3304 3305 \n3 3306 3307 3308 \n3 3309 3310 3311 \n3 3312 3313 3314 \n3 3315 3316 3317 \n3 3318 3319 3320 \n3 3321 3322 3323 \n3 3324 3325 3326 \n3 3327 3328 3329 \n3 3330 3331 3332 \n3 3333 3334 3335 \n3 3336 3337 3338 \n3 3339 3340 3341 \n3 3342 3343 3344 \n3 3345 3346 3347 \n3 3348 3349 3350 \n3 3351 3352 3353 \n3 3354 3355 3356 \n3 3357 3358 3359 \n3 3360 3361 3362 \n3 3363 3364 3365 \n3 3366 3367 3368 \n3 3369 3370 3371 \n3 3372 3373 3374 \n3 3375 3376 3377 \n3 3378 3379 3380 \n3 3381 3382 3383 \n3 3384 3385 3386 \n3 3387 3388 3389 \n3 3390 3391 3392 \n3 3393 3394 3395 \n3 3396 3397 3398 \n3 3399 3400 3401 \n3 3402 3403 3404 \n3 3405 3406 3407 \n3 3408 3409 3410 \n3 3411 3412 3413 \n3 3414 3415 3416 \n3 3417 3418 3419 \n3 3420 3421 3422 \n3 3423 3424 3425 \n3 3426 3427 3428 \n3 3429 3430 3431 \n3 3432 3433 3434 \n3 3435 3436 3437 \n3 3438 3439 3440 \n3 3441 3442 3443 \n3 3444 3445 3446 \n3 3447 3448 3449 \n3 3450 3451 3452 \n3 3453 3454 3455 \n3 3456 3457 3458 \n3 3459 3460 3461 \n3 3462 3463 3464 \n3 3465 3466 3467 \n3 3468 3469 3470 \n3 3471 3472 3473 \n3 3474 3475 3476 \n3 3477 3478 3479 \n3 3480 3481 3482 \n3 3483 3484 3485 \n3 3486 3487 3488 \n3 3489 3490 3491 \n3 3492 3493 3494 \n3 3495 3496 3497 \n3 3498 3499 3500 \n3 3501 3502 3503 \n3 3504 3505 3506 \n3 3507 3508 3509 \n3 3510 3511 3512 \n3 3513 3514 3515 \n3 3516 3517 3518 \n3 3519 3520 3521 \n3 3522 3523 3524 \n3 3525 3526 3527 \n3 3528 3529 3530 \n3 3531 3532 3533 \n3 3534 3535 3536 \n3 3537 3538 3539 \n3 3540 3541 3542 \n3 3543 3544 3545 \n3 3546 3547 3548 \n3 3549 3550 3551 \n3 3552 3553 3554 \n3 3555 3556 3557 \n3 3558 3559 3560 \n3 3561 3562 3563 \n3 3564 3565 3566 \n3 3567 3568 3569 \n3 3570 3571 3572 \n3 3573 3574 3575 \n3 3576 3577 3578 \n3 3579 3580 3581 \n3 3582 3583 3584 \n3 3585 3586 3587 \n3 3588 3589 3590 \n3 3591 3592 3593 \n3 3594 3595 3596 \n3 3597 3598 3599 \n3 3600 3601 3602 \n3 3603 3604 3605 \n3 3606 3607 3608 \n3 3609 3610 3611 \n3 3612 3613 3614 \n3 3615 3616 3617 \n3 3618 3619 3620 \n3 3621 3622 3623 \n3 3624 3625 3626 \n3 3627 3628 3629 \n3 3630 3631 3632 \n3 3633 3634 3635 \n3 3636 3637 3638 \n3 3639 3640 3641 \n3 3642 3643 3644 \n3 3645 3646 3647 \n3 3648 3649 3650 \n3 3651 3652 3653 \n3 3654 3655 3656 \n3 3657 3658 3659 \n3 3660 3661 3662 \n3 3663 3664 3665 \n3 3666 3667 3668 \n3 3669 3670 3671 \n3 3672 3673 3674 \n3 3675 3676 3677 \n3 3678 3679 3680 \n3 3681 3682 3683 \n3 3684 3685 3686 \n3 3687 3688 3689 \n3 3690 3691 3692 \n3 3693 3694 3695 \n3 3696 3697 3698 \n3 3699 3700 3701 \n3 3702 3703 3704 \n3 3705 3706 3707 \n3 3708 3709 3710 \n3 3711 3712 3713 \n3 3714 3715 3716 \n3 3717 3718 3719 \n3 3720 3721 3722 \n3 3723 3724 3725 \n3 3726 3727 3728 \n3 3729 3730 3731 \n3 3732 3733 3734 \n3 3735 3736 3737 \n3 3738 3739 3740 \n3 3741 3742 3743 \n3 3744 3745 3746 \n3 3747 3748 3749 \n3 3750 3751 3752 \n3 3753 3754 3755 \n3 3756 3757 3758 \n3 3759 3760 3761 \n3 3762 3763 3764 \n3 3765 3766 3767 \n3 3768 3769 3770 \n3 3771 3772 3773 \n3 3774 3775 3776 \n3 3777 3778 3779 \n3 3780 3781 3782 \n3 3783 3784 3785 \n3 3786 3787 3788 \n3 3789 3790 3791 \n3 3792 3793 3794 \n3 3795 3796 3797 \n3 3798 3799 3800 \n3 3801 3802 3803 \n3 3804 3805 3806 \n3 3807 3808 3809 \n3 3810 3811 3812 \n3 3813 3814 3815 \n3 3816 3817 3818 \n3 3819 3820 3821 \n3 3822 3823 3824 \n3 3825 3826 3827 \n3 3828 3829 3830 \n3 3831 3832 3833 \n3 3834 3835 3836 \n3 3837 3838 3839 \n3 3840 3841 3842 \n3 3843 3844 3845 \n3 3846 3847 3848 \n3 3849 3850 3851 \n3 3852 3853 3854 \n3 3855 3856 3857 \n3 3858 3859 3860 \n3 3861 3862 3863 \n3 3864 3865 3866 \n3 3867 3868 3869 \n3 3870 3871 3872 \n3 3873 3874 3875 \n3 3876 3877 3878 \n3 3879 3880 3881 \n3 1026 3883 3882 \n3 1030 3885 3884 \n3 1034 3887 3886 \n3 1038 3889 3888 \n3 1042 3891 3890 \n3 1046 3893 3892 \n3 1050 3895 3894 \n3 1054 3897 3896 \n3 1058 3899 3898 \n3 1062 3901 3900 \n3 1066 3903 3902 \n3 1070 3905 3904 \n3 1074 3907 3906 \n3 1078 3909 3908 \n3 1082 3911 3910 \n3 1086 3913 3912 \n3 1090 3915 3914 \n3 1094 3917 3916 \n3 1098 3919 3918 \n3 1101 3921 3920 \n3 3922 3923 3924 \n3 3925 3926 3927 \n3 3928 3929 3930 \n3 3931 3932 3933 \n3 3934 3935 3936 \n3 3937 3938 3939 \n3 3940 3941 3942 \n3 3943 3944 3945 \n3 3946 3947 3948 \n3 3949 3950 3951 \n3 3952 3953 3954 \n3 3955 3956 3957 \n3 3958 3959 3960 \n3 3961 3962 3963 \n3 3964 3965 3966 \n3 3967 3968 3969 \n3 3970 3971 3972 \n3 3973 3974 3975 \n3 3976 3977 3978 \n3 3979 3980 3981 \n3 3982 3983 3984 \n3 3985 3986 3987 \n3 3988 3989 3990 \n3 3991 3992 3993 \n3 3994 3995 3996 \n3 3997 3998 3999 \n3 4000 4001 4002 \n3 4003 4004 4005 \n3 4006 4007 4008 \n3 4009 4010 4011 \n3 4012 4013 4014 \n3 4015 4016 4017 \n3 4018 4019 4020 \n3 4021 4022 4023 \n3 4024 4025 4026 \n3 4027 4028 4029 \n3 4030 4031 4032 \n3 4033 4034 4035 \n3 4036 4037 4038 \n3 4039 4040 4041 \n3 444 4042 1684 \n3 443 1682 4043 \n3 1683 4044 4045 \n3 4042 1687 4046 \n3 4045 4047 1685 \n3 1686 4048 4049 \n3 449 4050 1690 \n3 448 1688 4051 \n3 1689 4052 4053 \n3 4050 1693 4043 \n3 4053 4054 1691 \n3 1692 4055 4044 \n3 453 4056 1696 \n3 452 1694 4057 \n3 1695 4058 4059 \n3 4056 1699 4051 \n3 4059 4060 1697 \n3 1698 4061 4052 \n3 457 4062 1702 \n3 456 1700 4063 \n3 1701 4064 4065 \n3 4062 1705 4057 \n3 4065 4066 1703 \n3 1704 4067 4058 \n3 461 4068 1708 \n3 460 1706 4069 \n3 1707 4070 4071 \n3 4068 1711 4063 \n3 4071 4072 1709 \n3 1710 4073 4064 \n3 465 4074 1714 \n3 464 1712 4075 \n3 1713 4076 4077 \n3 4074 1717 4069 \n3 4077 4078 1715 \n3 1716 4079 4070 \n3 469 4080 1720 \n3 468 1718 4081 \n3 1719 4082 4083 \n3 4080 1723 4075 \n3 4083 4084 1721 \n3 1722 4085 4076 \n3 473 4086 1726 \n3 472 1724 4087 \n3 1725 4088 4089 \n3 4086 1729 4081 \n3 4089 4090 1727 \n3 1728 4091 4082 \n3 477 4092 1732 \n3 476 1730 4093 \n3 1731 4094 4095 \n3 4092 1735 4087 \n3 4095 4096 1733 \n3 1734 4097 4088 \n3 481 4098 1738 \n3 480 1736 4099 \n3 1737 4100 4101 \n3 4098 1741 4093 \n3 4101 4102 1739 \n3 1740 4103 4094 \n3 485 4104 1744 \n3 484 1742 4105 \n3 1743 4106 4107 \n3 4104 1747 4099 \n3 4107 4108 1745 \n3 1746 4109 4100 \n3 489 4110 1750 \n3 488 1748 4111 \n3 1749 4112 4113 \n3 4110 1753 4105 \n3 4113 4114 1751 \n3 1752 4115 4106 \n3 493 4116 1756 \n3 492 1754 4117 \n3 1755 4118 4119 \n3 4116 1759 4111 \n3 4119 4120 1757 \n3 1758 4121 4112 \n3 497 4122 1762 \n3 496 1760 4123 \n3 1761 4124 4125 \n3 4122 1765 4117 \n3 4125 4126 1763 \n3 1764 4127 4118 \n3 501 4128 1768 \n3 500 1766 4129 \n3 1767 4130 4131 \n3 4128 1771 4123 \n3 4131 4132 1769 \n3 1770 4133 4124 \n3 505 4134 1774 \n3 504 1772 4135 \n3 1773 4136 4137 \n3 4134 1777 4129 \n3 4137 4138 1775 \n3 1776 4139 4130 \n3 509 4140 1780 \n3 508 1778 4141 \n3 1779 4142 4143 \n3 4140 1783 4135 \n3 4143 4144 1781 \n3 1782 4145 4136 \n3 513 4146 1786 \n3 512 1784 4147 \n3 1785 4148 4149 \n3 4146 1789 4141 \n3 4149 4150 1787 \n3 1788 4151 4142 \n3 517 4152 1792 \n3 516 1790 4153 \n3 1791 4154 4155 \n3 4152 1795 4147 \n3 4155 4156 1793 \n3 1794 4157 4148 \n3 520 4158 1798 \n3 446 1796 4046 \n3 1797 4049 4159 \n3 4158 1801 4153 \n3 4159 4160 1799 \n3 1800 4161 4154 \n3 4048 1804 4162 \n3 4047 4163 1802 \n3 1803 4164 4165 \n3 4162 1807 4166 \n3 4165 4167 1805 \n3 1806 4168 4169 \n3 4055 1810 4170 \n3 4054 4171 1808 \n3 1809 4172 4173 \n3 4170 1813 4163 \n3 4173 4174 1811 \n3 1812 4175 4164 \n3 4061 1816 4176 \n3 4060 4177 1814 \n3 1815 4178 4179 \n3 4176 1819 4171 \n3 4179 4180 1817 \n3 1818 4181 4172 \n3 4067 1822 4182 \n3 4066 4183 1820 \n3 1821 4184 4185 \n3 4182 1825 4177 \n3 4185 4186 1823 \n3 1824 4187 4178 \n3 4073 1828 4188 \n3 4072 4189 1826 \n3 1827 4190 4191 \n3 4188 1831 4183 \n3 4191 4192 1829 \n3 1830 4193 4184 \n3 4079 1834 4194 \n3 4078 4195 1832 \n3 1833 4196 4197 \n3 4194 1837 4189 \n3 4197 4198 1835 \n3 1836 4199 4190 \n3 4085 1840 4200 \n3 4084 4201 1838 \n3 1839 4202 4203 \n3 4200 1843 4195 \n3 4203 4204 1841 \n3 1842 4205 4196 \n3 4091 1846 4206 \n3 4090 4207 1844 \n3 1845 4208 4209 \n3 4206 1849 4201 \n3 4209 4210 1847 \n3 1848 4211 4202 \n3 4097 1852 4212 \n3 4096 4213 1850 \n3 1851 4214 4215 \n3 4212 1855 4207 \n3 4215 4216 1853 \n3 1854 4217 4208 \n3 4103 1858 4218 \n3 4102 4219 1856 \n3 1857 4220 4221 \n3 4218 1861 4213 \n3 4221 4222 1859 \n3 1860 4223 4214 \n3 4109 1864 4224 \n3 4108 4225 1862 \n3 1863 4226 4227 \n3 4224 1867 4219 \n3 4227 4228 1865 \n3 1866 4229 4220 \n3 4115 1870 4230 \n3 4114 4231 1868 \n3 1869 4232 4233 \n3 4230 1873 4225 \n3 4233 4234 1871 \n3 1872 4235 4226 \n3 4121 1876 4236 \n3 4120 4237 1874 \n3 1875 4238 4239 \n3 4236 1879 4231 \n3 4239 4240 1877 \n3 1878 4241 4232 \n3 4127 1882 4242 \n3 4126 4243 1880 \n3 1881 4244 4245 \n3 4242 1885 4237 \n3 4245 4246 1883 \n3 1884 4247 4238 \n3 4133 1888 4248 \n3 4132 4249 1886 \n3 1887 4250 4251 \n3 4248 1891 4243 \n3 4251 4252 1889 \n3 1890 4253 4244 \n3 4139 1894 4254 \n3 4138 4255 1892 \n3 1893 4256 4257 \n3 4254 1897 4249 \n3 4257 4258 1895 \n3 1896 4259 4250 \n3 4145 1900 4260 \n3 4144 4261 1898 \n3 1899 4262 4263 \n3 4260 1903 4255 \n3 4263 4264 1901 \n3 1902 4265 4256 \n3 4151 1906 4266 \n3 4150 4267 1904 \n3 1905 4268 4269 \n3 4266 1909 4261 \n3 4269 4270 1907 \n3 1908 4271 4262 \n3 4157 1912 4272 \n3 4156 4273 1910 \n3 1911 4274 4275 \n3 4272 1915 4267 \n3 4275 4276 1913 \n3 1914 4277 4268 \n3 4161 1918 4278 \n3 4160 4166 1916 \n3 1917 4169 4279 \n3 4278 1921 4273 \n3 4279 4280 1919 \n3 1920 4281 4274 \n3 4168 1924 4282 \n3 4167 4283 1922 \n3 1923 4284 4285 \n3 4282 1927 4286 \n3 4285 4287 1925 \n3 1926 4288 4289 \n3 4175 1930 4290 \n3 4174 4291 1928 \n3 1929 4292 4293 \n3 4290 1933 4283 \n3 4293 4294 1931 \n3 1932 4295 4284 \n3 4181 1936 4296 \n3 4180 4297 1934 \n3 1935 4298 4299 \n3 4296 1939 4291 \n3 4299 4300 1937 \n3 1938 4301 4292 \n3 4187 1942 4302 \n3 4186 4303 1940 \n3 1941 4304 4305 \n3 4302 1945 4297 \n3 4305 4306 1943 \n3 1944 4307 4298 \n3 4193 1948 4308 \n3 4192 4309 1946 \n3 1947 4310 4311 \n3 4308 1951 4303 \n3 4311 4312 1949 \n3 1950 4313 4304 \n3 4199 1954 4314 \n3 4198 4315 1952 \n3 1953 4316 4317 \n3 4314 1957 4309 \n3 4317 4318 1955 \n3 1956 4319 4310 \n3 4205 1960 4320 \n3 4204 4321 1958 \n3 1959 4322 4323 \n3 4320 1963 4315 \n3 4323 4324 1961 \n3 1962 4325 4316 \n3 4211 1966 4326 \n3 4210 4327 1964 \n3 1965 4328 4329 \n3 4326 1969 4321 \n3 4329 4330 1967 \n3 1968 4331 4322 \n3 4217 1972 4332 \n3 4216 4333 1970 \n3 1971 4334 4335 \n3 4332 1975 4327 \n3 4335 4336 1973 \n3 1974 4337 4328 \n3 4223 1978 4338 \n3 4222 4339 1976 \n3 1977 4340 4341 \n3 4338 1981 4333 \n3 4341 4342 1979 \n3 1980 4343 4334 \n3 4229 1984 4344 \n3 4228 4345 1982 \n3 1983 4346 4347 \n3 4344 1987 4339 \n3 4347 4348 1985 \n3 1986 4349 4340 \n3 4235 1990 4350 \n3 4234 4351 1988 \n3 1989 4352 4353 \n3 4350 1993 4345 \n3 4353 4354 1991 \n3 1992 4355 4346 \n3 4241 1996 4356 \n3 4240 4357 1994 \n3 1995 4358 4359 \n3 4356 1999 4351 \n3 4359 4360 1997 \n3 1998 4361 4352 \n3 4247 2002 4362 \n3 4246 4363 2000 \n3 2001 4364 4365 \n3 4362 2005 4357 \n3 4365 4366 2003 \n3 2004 4367 4358 \n3 4253 2008 4368 \n3 4252 4369 2006 \n3 2007 4370 4371 \n3 4368 2011 4363 \n3 4371 4372 2009 \n3 2010 4373 4364 \n3 4259 2014 4374 \n3 4258 4375 2012 \n3 2013 4376 4377 \n3 4374 2017 4369 \n3 4377 4378 2015 \n3 2016 4379 4370 \n3 4265 2020 4380 \n3 4264 4381 2018 \n3 2019 4382 4383 \n3 4380 2023 4375 \n3 4383 4384 2021 \n3 2022 4385 4376 \n3 4271 2026 4386 \n3 4270 4387 2024 \n3 2025 4388 4389 \n3 4386 2029 4381 \n3 4389 4390 2027 \n3 2028 4391 4382 \n3 4277 2032 4392 \n3 4276 4393 2030 \n3 2031 4394 4395 \n3 4392 2035 4387 \n3 4395 4396 2033 \n3 2034 4397 4388 \n3 4281 2038 4398 \n3 4280 4286 2036 \n3 2037 4289 4399 \n3 4398 2041 4393 \n3 4399 4400 2039 \n3 2040 4401 4394 \n3 4288 2044 4402 \n3 4287 4403 2042 \n3 2043 4404 4405 \n3 4402 2047 4406 \n3 4405 4407 2045 \n3 2046 4408 4409 \n3 4295 2050 4410 \n3 4294 4411 2048 \n3 2049 4412 4413 \n3 4410 2053 4403 \n3 4413 4414 2051 \n3 2052 4415 4404 \n3 4301 2056 4416 \n3 4300 4417 2054 \n3 2055 4418 4419 \n3 4416 2059 4411 \n3 4419 4420 2057 \n3 2058 4421 4412 \n3 4307 2062 4422 \n3 4306 4423 2060 \n3 2061 4424 4425 \n3 4422 2065 4417 \n3 4425 4426 2063 \n3 2064 4427 4418 \n3 4313 2068 4428 \n3 4312 4429 2066 \n3 2067 4430 4431 \n3 4428 2071 4423 \n3 4431 4432 2069 \n3 2070 4433 4424 \n3 4319 2074 4434 \n3 4318 4435 2072 \n3 2073 4436 4437 \n3 4434 2077 4429 \n3 4437 4438 2075 \n3 2076 4439 4430 \n3 4325 2080 4440 \n3 4324 4441 2078 \n3 2079 4442 4443 \n3 4440 2083 4435 \n3 4443 4444 2081 \n3 2082 4445 4436 \n3 4331 2086 4446 \n3 4330 4447 2084 \n3 2085 4448 4449 \n3 4446 2089 4441 \n3 4449 4450 2087 \n3 2088 4451 4442 \n3 4337 2092 4452 \n3 4336 4453 2090 \n3 2091 4454 4455 \n3 4452 2095 4447 \n3 4455 4456 2093 \n3 2094 4457 4448 \n3 4343 2098 4458 \n3 4342 4459 2096 \n3 2097 4460 4461 \n3 4458 2101 4453 \n3 4461 4462 2099 \n3 2100 4463 4454 \n3 4349 2104 4464 \n3 4348 4465 2102 \n3 2103 4466 4467 \n3 4464 2107 4459 \n3 4467 4468 2105 \n3 2106 4469 4460 \n3 4355 2110 4470 \n3 4354 4471 2108 \n3 2109 4472 4473 \n3 4470 2113 4465 \n3 4473 4474 2111 \n3 2112 4475 4466 \n3 4361 2116 4476 \n3 4360 4477 2114 \n3 2115 4478 4479 \n3 4476 2119 4471 \n3 4479 4480 2117 \n3 2118 4481 4472 \n3 4367 2122 4482 \n3 4366 4483 2120 \n3 2121 4484 4485 \n3 4482 2125 4477 \n3 4485 4486 2123 \n3 2124 4487 4478 \n3 4373 2128 4488 \n3 4372 4489 2126 \n3 2127 4490 4491 \n3 4488 2131 4483 \n3 4491 4492 2129 \n3 2130 4493 4484 \n3 4379 2134 4494 \n3 4378 4495 2132 \n3 2133 4496 4497 \n3 4494 2137 4489 \n3 4497 4498 2135 \n3 2136 4499 4490 \n3 4385 2140 4500 \n3 4384 4501 2138 \n3 2139 4502 4503 \n3 4500 2143 4495 \n3 4503 4504 2141 \n3 2142 4505 4496 \n3 4391 2146 4506 \n3 4390 4507 2144 \n3 2145 4508 4509 \n3 4506 2149 4501 \n3 4509 4510 2147 \n3 2148 4511 4502 \n3 4397 2152 4512 \n3 4396 4513 2150 \n3 2151 4514 4515 \n3 4512 2155 4507 \n3 4515 4516 2153 \n3 2154 4517 4508 \n3 4401 2158 4518 \n3 4400 4406 2156 \n3 2157 4409 4519 \n3 4518 2161 4513 \n3 4519 4520 2159 \n3 2160 4521 4514 \n3 4408 2164 4522 \n3 4407 4523 2162 \n3 2163 4524 4525 \n3 4522 2167 4526 \n3 4525 4527 2165 \n3 2166 4528 4529 \n3 4415 2170 4530 \n3 4414 4531 2168 \n3 2169 4532 4533 \n3 4530 2173 4523 \n3 4533 4534 2171 \n3 2172 4535 4524 \n3 4421 2176 4536 \n3 4420 4537 2174 \n3 2175 4538 4539 \n3 4536 2179 4531 \n3 4539 4540 2177 \n3 2178 4541 4532 \n3 4427 2182 4542 \n3 4426 4543 2180 \n3 2181 4544 4545 \n3 4542 2185 4537 \n3 4545 4546 2183 \n3 2184 4547 4538 \n3 4433 2188 4548 \n3 4432 4549 2186 \n3 2187 4550 4551 \n3 4548 2191 4543 \n3 4551 4552 2189 \n3 2190 4553 4544 \n3 4439 2194 4554 \n3 4438 4555 2192 \n3 2193 4556 4557 \n3 4554 2197 4549 \n3 4557 4558 2195 \n3 2196 4559 4550 \n3 4445 2200 4560 \n3 4444 4561 2198 \n3 2199 4562 4563 \n3 4560 2203 4555 \n3 4563 4564 2201 \n3 2202 4565 4556 \n3 4451 2206 4566 \n3 4450 4567 2204 \n3 2205 4568 4569 \n3 4566 2209 4561 \n3 4569 4570 2207 \n3 2208 4571 4562 \n3 4457 2212 4572 \n3 4456 4573 2210 \n3 2211 4574 4575 \n3 4572 2215 4567 \n3 4575 4576 2213 \n3 2214 4577 4568 \n3 4463 2218 4578 \n3 4462 4579 2216 \n3 2217 4580 4581 \n3 4578 2221 4573 \n3 4581 4582 2219 \n3 2220 4583 4574 \n3 4469 2224 4584 \n3 4468 4585 2222 \n3 2223 4586 4587 \n3 4584 2227 4579 \n3 4587 4588 2225 \n3 2226 4589 4580 \n3 4475 2230 4590 \n3 4474 4591 2228 \n3 2229 4592 4593 \n3 4590 2233 4585 \n3 4593 4594 2231 \n3 2232 4595 4586 \n3 4481 2236 4596 \n3 4480 4597 2234 \n3 2235 4598 4599 \n3 4596 2239 4591 \n3 4599 4600 2237 \n3 2238 4601 4592 \n3 4487 2242 4602 \n3 4486 4603 2240 \n3 2241 4604 4605 \n3 4602 2245 4597 \n3 4605 4606 2243 \n3 2244 4607 4598 \n3 4493 2248 4608 \n3 4492 4609 2246 \n3 2247 4610 4611 \n3 4608 2251 4603 \n3 4611 4612 2249 \n3 2250 4613 4604 \n3 4499 2254 4614 \n3 4498 4615 2252 \n3 2253 4616 4617 \n3 4614 2257 4609 \n3 4617 4618 2255 \n3 2256 4619 4610 \n3 4505 2260 4620 \n3 4504 4621 2258 \n3 2259 4622 4623 \n3 4620 2263 4615 \n3 4623 4624 2261 \n3 2262 4625 4616 \n3 4511 2266 4626 \n3 4510 4627 2264 \n3 2265 4628 4629 \n3 4626 2269 4621 \n3 4629 4630 2267 \n3 2268 4631 4622 \n3 4517 2272 4632 \n3 4516 4633 2270 \n3 2271 4634 4635 \n3 4632 2275 4627 \n3 4635 4636 2273 \n3 2274 4637 4628 \n3 4521 2278 4638 \n3 4520 4526 2276 \n3 2277 4529 4639 \n3 4638 2281 4633 \n3 4639 4640 2279 \n3 2280 4641 4634 \n3 4528 2284 4642 \n3 4527 4643 2282 \n3 2283 4644 4645 \n3 4642 2287 4646 \n3 4645 4647 2285 \n3 2286 4648 4649 \n3 4535 2290 4650 \n3 4534 4651 2288 \n3 2289 4652 4653 \n3 4650 2293 4643 \n3 4653 4654 2291 \n3 2292 4655 4644 \n3 4541 2296 4656 \n3 4540 4657 2294 \n3 2295 4658 4659 \n3 4656 2299 4651 \n3 4659 4660 2297 \n3 2298 4661 4652 \n3 4547 2302 4662 \n3 4546 4663 2300 \n3 2301 4664 4665 \n3 4662 2305 4657 \n3 4665 4666 2303 \n3 2304 4667 4658 \n3 4553 2308 4668 \n3 4552 4669 2306 \n3 2307 4670 4671 \n3 4668 2311 4663 \n3 4671 4672 2309 \n3 2310 4673 4664 \n3 4559 2314 4674 \n3 4558 4675 2312 \n3 2313 4676 4677 \n3 4674 2317 4669 \n3 4677 4678 2315 \n3 2316 4679 4670 \n3 4565 2320 4680 \n3 4564 4681 2318 \n3 2319 4682 4683 \n3 4680 2323 4675 \n3 4683 4684 2321 \n3 2322 4685 4676 \n3 4571 2326 4686 \n3 4570 4687 2324 \n3 2325 4688 4689 \n3 4686 2329 4681 \n3 4689 4690 2327 \n3 2328 4691 4682 \n3 4577 2332 4692 \n3 4576 4693 2330 \n3 2331 4694 4695 \n3 4692 2335 4687 \n3 4695 4696 2333 \n3 2334 4697 4688 \n3 4583 2338 4698 \n3 4582 4699 2336 \n3 2337 4700 4701 \n3 4698 2341 4693 \n3 4701 4702 2339 \n3 2340 4703 4694 \n3 4589 2344 4704 \n3 4588 4705 2342 \n3 2343 4706 4707 \n3 4704 2347 4699 \n3 4707 4708 2345 \n3 2346 4709 4700 \n3 4595 2350 4710 \n3 4594 4711 2348 \n3 2349 4712 4713 \n3 4710 2353 4705 \n3 4713 4714 2351 \n3 2352 4715 4706 \n3 4601 2356 4716 \n3 4600 4717 2354 \n3 2355 4718 4719 \n3 4716 2359 4711 \n3 4719 4720 2357 \n3 2358 4721 4712 \n3 4607 2362 4722 \n3 4606 4723 2360 \n3 2361 4724 4725 \n3 4722 2365 4717 \n3 4725 4726 2363 \n3 2364 4727 4718 \n3 4613 2368 4728 \n3 4612 4729 2366 \n3 2367 4730 4731 \n3 4728 2371 4723 \n3 4731 4732 2369 \n3 2370 4733 4724 \n3 4619 2374 4734 \n3 4618 4735 2372 \n3 2373 4736 4737 \n3 4734 2377 4729 \n3 4737 4738 2375 \n3 2376 4739 4730 \n3 4625 2380 4740 \n3 4624 4741 2378 \n3 2379 4742 4743 \n3 4740 2383 4735 \n3 4743 4744 2381 \n3 2382 4745 4736 \n3 4631 2386 4746 \n3 4630 4747 2384 \n3 2385 4748 4749 \n3 4746 2389 4741 \n3 4749 4750 2387 \n3 2388 4751 4742 \n3 4637 2392 4752 \n3 4636 4753 2390 \n3 2391 4754 4755 \n3 4752 2395 4747 \n3 4755 4756 2393 \n3 2394 4757 4748 \n3 4641 2398 4758 \n3 4640 4646 2396 \n3 2397 4649 4759 \n3 4758 2401 4753 \n3 4759 4760 2399 \n3 2400 4761 4754 \n3 4648 2404 4762 \n3 4647 4763 2402 \n3 2403 4764 4765 \n3 4762 2407 4766 \n3 4765 4767 2405 \n3 2406 4768 4769 \n3 4655 2410 4770 \n3 4654 4771 2408 \n3 2409 4772 4773 \n3 4770 2413 4763 \n3 4773 4774 2411 \n3 2412 4775 4764 \n3 4661 2416 4776 \n3 4660 4777 2414 \n3 2415 4778 4779 \n3 4776 2419 4771 \n3 4779 4780 2417 \n3 2418 4781 4772 \n3 4667 2422 4782 \n3 4666 4783 2420 \n3 2421 4784 4785 \n3 4782 2425 4777 \n3 4785 4786 2423 \n3 2424 4787 4778 \n3 4673 2428 4788 \n3 4672 4789 2426 \n3 2427 4790 4791 \n3 4788 2431 4783 \n3 4791 4792 2429 \n3 2430 4793 4784 \n3 4679 2434 4794 \n3 4678 4795 2432 \n3 2433 4796 4797 \n3 4794 2437 4789 \n3 4797 4798 2435 \n3 2436 4799 4790 \n3 4685 2440 4800 \n3 4684 4801 2438 \n3 2439 4802 4803 \n3 4800 2443 4795 \n3 4803 4804 2441 \n3 2442 4805 4796 \n3 4691 2446 4806 \n3 4690 4807 2444 \n3 2445 4808 4809 \n3 4806 2449 4801 \n3 4809 4810 2447 \n3 2448 4811 4802 \n3 4697 2452 4812 \n3 4696 4813 2450 \n3 2451 4814 4815 \n3 4812 2455 4807 \n3 4815 4816 2453 \n3 2454 4817 4808 \n3 4703 2458 4818 \n3 4702 4819 2456 \n3 2457 4820 4821 \n3 4818 2461 4813 \n3 4821 4822 2459 \n3 2460 4823 4814 \n3 4709 2464 4824 \n3 4708 4825 2462 \n3 2463 4826 4827 \n3 4824 2467 4819 \n3 4827 4828 2465 \n3 2466 4829 4820 \n3 4715 2470 4830 \n3 4714 4831 2468 \n3 2469 4832 4833 \n3 4830 2473 4825 \n3 4833 4834 2471 \n3 2472 4835 4826 \n3 4721 2476 4836 \n3 4720 4837 2474 \n3 2475 4838 4839 \n3 4836 2479 4831 \n3 4839 4840 2477 \n3 2478 4841 4832 \n3 4727 2482 4842 \n3 4726 4843 2480 \n3 2481 4844 4845 \n3 4842 2485 4837 \n3 4845 4846 2483 \n3 2484 4847 4838 \n3 4733 2488 4848 \n3 4732 4849 2486 \n3 2487 4850 4851 \n3 4848 2491 4843 \n3 4851 4852 2489 \n3 2490 4853 4844 \n3 4739 2494 4854 \n3 4738 4855 2492 \n3 2493 4856 4857 \n3 4854 2497 4849 \n3 4857 4858 2495 \n3 2496 4859 4850 \n3 4745 2500 4860 \n3 4744 4861 2498 \n3 2499 4862 4863 \n3 4860 2503 4855 \n3 4863 4864 2501 \n3 2502 4865 4856 \n3 4751 2506 4866 \n3 4750 4867 2504 \n3 2505 4868 4869 \n3 4866 2509 4861 \n3 4869 4870 2507 \n3 2508 4871 4862 \n3 4757 2512 4872 \n3 4756 4873 2510 \n3 2511 4874 4875 \n3 4872 2515 4867 \n3 4875 4876 2513 \n3 2514 4877 4868 \n3 4761 2518 4878 \n3 4760 4766 2516 \n3 2517 4769 4879 \n3 4878 2521 4873 \n3 4879 4880 2519 \n3 2520 4881 4874 \n3 4768 2524 4882 \n3 4767 4883 2522 \n3 2523 4884 4885 \n3 4882 2527 4886 \n3 4885 4887 2525 \n3 2526 4888 4889 \n3 4775 2530 4890 \n3 4774 4891 2528 \n3 2529 4892 4893 \n3 4890 2533 4883 \n3 4893 4894 2531 \n3 2532 4895 4884 \n3 4781 2536 4896 \n3 4780 4897 2534 \n3 2535 4898 4899 \n3 4896 2539 4891 \n3 4899 4900 2537 \n3 2538 4901 4892 \n3 4787 2542 4902 \n3 4786 4903 2540 \n3 2541 4904 4905 \n3 4902 2545 4897 \n3 4905 4906 2543 \n3 2544 4907 4898 \n3 4793 2548 4908 \n3 4792 4909 2546 \n3 2547 4910 4911 \n3 4908 2551 4903 \n3 4911 4912 2549 \n3 2550 4913 4904 \n3 4799 2554 4914 \n3 4798 4915 2552 \n3 2553 4916 4917 \n3 4914 2557 4909 \n3 4917 4918 2555 \n3 2556 4919 4910 \n3 4805 2560 4920 \n3 4804 4921 2558 \n3 2559 4922 4923 \n3 4920 2563 4915 \n3 4923 4924 2561 \n3 2562 4925 4916 \n3 4811 2566 4926 \n3 4810 4927 2564 \n3 2565 4928 4929 \n3 4926 2569 4921 \n3 4929 4930 2567 \n3 2568 4931 4922 \n3 4817 2572 4932 \n3 4816 4933 2570 \n3 2571 4934 4935 \n3 4932 2575 4927 \n3 4935 4936 2573 \n3 2574 4937 4928 \n3 4823 2578 4938 \n3 4822 4939 2576 \n3 2577 4940 4941 \n3 4938 2581 4933 \n3 4941 4942 2579 \n3 2580 4943 4934 \n3 4829 2584 4944 \n3 4828 4945 2582 \n3 2583 4946 4947 \n3 4944 2587 4939 \n3 4947 4948 2585 \n3 2586 4949 4940 \n3 4835 2590 4950 \n3 4834 4951 2588 \n3 2589 4952 4953 \n3 4950 2593 4945 \n3 4953 4954 2591 \n3 2592 4955 4946 \n3 4841 2596 4956 \n3 4840 4957 2594 \n3 2595 4958 4959 \n3 4956 2599 4951 \n3 4959 4960 2597 \n3 2598 4961 4952 \n3 4847 2602 4962 \n3 4846 4963 2600 \n3 2601 4964 4965 \n3 4962 2605 4957 \n3 4965 4966 2603 \n3 2604 4967 4958 \n3 4853 2608 4968 \n3 4852 4969 2606 \n3 2607 4970 4971 \n3 4968 2611 4963 \n3 4971 4972 2609 \n3 2610 4973 4964 \n3 4859 2614 4974 \n3 4858 4975 2612 \n3 2613 4976 4977 \n3 4974 2617 4969 \n3 4977 4978 2615 \n3 2616 4979 4970 \n3 4865 2620 4980 \n3 4864 4981 2618 \n3 2619 4982 4983 \n3 4980 2623 4975 \n3 4983 4984 2621 \n3 2622 4985 4976 \n3 4871 2626 4986 \n3 4870 4987 2624 \n3 2625 4988 4989 \n3 4986 2629 4981 \n3 4989 4990 2627 \n3 2628 4991 4982 \n3 4877 2632 4992 \n3 4876 4993 2630 \n3 2631 4994 4995 \n3 4992 2635 4987 \n3 4995 4996 2633 \n3 2634 4997 4988 \n3 4881 2638 4998 \n3 4880 4886 2636 \n3 2637 4889 4999 \n3 4998 2641 4993 \n3 4999 5000 2639 \n3 2640 5001 4994 \n3 4888 2644 5002 \n3 4887 5003 2642 \n3 2643 5004 5005 \n3 5002 2647 5006 \n3 5005 5007 2645 \n3 2646 5008 5009 \n3 4895 2650 5010 \n3 4894 5011 2648 \n3 2649 5012 5013 \n3 5010 2653 5003 \n3 5013 5014 2651 \n3 2652 5015 5004 \n3 4901 2656 5016 \n3 4900 5017 2654 \n3 2655 5018 5019 \n3 5016 2659 5011 \n3 5019 5020 2657 \n3 2658 5021 5012 \n3 4907 2662 5022 \n3 4906 5023 2660 \n3 2661 5024 5025 \n3 5022 2665 5017 \n3 5025 5026 2663 \n3 2664 5027 5018 \n3 4913 2668 5028 \n3 4912 5029 2666 \n3 2667 5030 5031 \n3 5028 2671 5023 \n3 5031 5032 2669 \n3 2670 5033 5024 \n3 4919 2674 5034 \n3 4918 5035 2672 \n3 2673 5036 5037 \n3 5034 2677 5029 \n3 5037 5038 2675 \n3 2676 5039 5030 \n3 4925 2680 5040 \n3 4924 5041 2678 \n3 2679 5042 5043 \n3 5040 2683 5035 \n3 5043 5044 2681 \n3 2682 5045 5036 \n3 4931 2686 5046 \n3 4930 5047 2684 \n3 2685 5048 5049 \n3 5046 2689 5041 \n3 5049 5050 2687 \n3 2688 5051 5042 \n3 4937 2692 5052 \n3 4936 5053 2690 \n3 2691 5054 5055 \n3 5052 2695 5047 \n3 5055 5056 2693 \n3 2694 5057 5048 \n3 4943 2698 5058 \n3 4942 5059 2696 \n3 2697 5060 5061 \n3 5058 2701 5053 \n3 5061 5062 2699 \n3 2700 5063 5054 \n3 4949 2704 5064 \n3 4948 5065 2702 \n3 2703 5066 5067 \n3 5064 2707 5059 \n3 5067 5068 2705 \n3 2706 5069 5060 \n3 4955 2710 5070 \n3 4954 5071 2708 \n3 2709 5072 5073 \n3 5070 2713 5065 \n3 5073 5074 2711 \n3 2712 5075 5066 \n3 4961 2716 5076 \n3 4960 5077 2714 \n3 2715 5078 5079 \n3 5076 2719 5071 \n3 5079 5080 2717 \n3 2718 5081 5072 \n3 4967 2722 5082 \n3 4966 5083 2720 \n3 2721 5084 5085 \n3 5082 2725 5077 \n3 5085 5086 2723 \n3 2724 5087 5078 \n3 4973 2728 5088 \n3 4972 5089 2726 \n3 2727 5090 5091 \n3 5088 2731 5083 \n3 5091 5092 2729 \n3 2730 5093 5084 \n3 4979 2734 5094 \n3 4978 5095 2732 \n3 2733 5096 5097 \n3 5094 2737 5089 \n3 5097 5098 2735 \n3 2736 5099 5090 \n3 4985 2740 5100 \n3 4984 5101 2738 \n3 2739 5102 5103 \n3 5100 2743 5095 \n3 5103 5104 2741 \n3 2742 5105 5096 \n3 4991 2746 5106 \n3 4990 5107 2744 \n3 2745 5108 5109 \n3 5106 2749 5101 \n3 5109 5110 2747 \n3 2748 5111 5102 \n3 4997 2752 5112 \n3 4996 5113 2750 \n3 2751 5114 5115 \n3 5112 2755 5107 \n3 5115 5116 2753 \n3 2754 5117 5108 \n3 5001 2758 5118 \n3 5000 5006 2756 \n3 2757 5009 5119 \n3 5118 2761 5113 \n3 5119 5120 2759 \n3 2760 5121 5114 \n3 1003 5122 2763 \n3 1002 2762 5123 \n3 401 5125 5124 \n3 1004 5126 2765 \n3 1003 2764 5122 \n3 401 5127 5125 \n3 1005 5128 2767 \n3 1004 2766 5126 \n3 401 5129 5127 \n3 1006 5130 2769 \n3 1005 2768 5128 \n3 401 5131 5129 \n3 1007 5132 2771 \n3 1006 2770 5130 \n3 401 5133 5131 \n3 1008 5134 2773 \n3 1007 2772 5132 \n3 401 5135 5133 \n3 1009 5136 2775 \n3 1008 2774 5134 \n3 401 5137 5135 \n3 1010 5138 2777 \n3 1009 2776 5136 \n3 401 5139 5137 \n3 1011 5140 2779 \n3 1010 2778 5138 \n3 401 5141 5139 \n3 1012 5142 2781 \n3 1011 2780 5140 \n3 401 5143 5141 \n3 1013 5144 2783 \n3 1012 2782 5142 \n3 401 5145 5143 \n3 1014 5146 2785 \n3 1013 2784 5144 \n3 401 5147 5145 \n3 1015 5148 2787 \n3 1014 2786 5146 \n3 401 5149 5147 \n3 1016 5150 2789 \n3 1015 2788 5148 \n3 401 5151 5149 \n3 1017 5152 2791 \n3 1016 2790 5150 \n3 401 5153 5151 \n3 1018 5154 2793 \n3 1017 2792 5152 \n3 401 5155 5153 \n3 1019 5156 2795 \n3 1018 2794 5154 \n3 401 5157 5155 \n3 1020 5158 2797 \n3 1019 2796 5156 \n3 401 5159 5157 \n3 1021 5160 2799 \n3 1020 2798 5158 \n3 401 5161 5159 \n3 1002 5123 2801 \n3 1021 2800 5160 \n3 401 5124 5161 \n3 5162 2804 5163 \n3 5164 5165 2802 \n3 2803 5166 5167 \n3 5163 1024 2807 \n3 5167 5168 2805 \n3 2806 1025 5169 \n3 5169 2810 5170 \n3 5168 5171 2808 \n3 2809 5172 5173 \n3 5170 1028 2813 \n3 5173 5174 2811 \n3 2812 1029 5175 \n3 5175 2816 5176 \n3 5174 5177 2814 \n3 2815 5178 5179 \n3 5176 1032 2819 \n3 5179 5180 2817 \n3 2818 1033 5181 \n3 5181 2822 5182 \n3 5180 5183 2820 \n3 2821 5184 5185 \n3 5182 1036 2825 \n3 5185 5186 2823 \n3 2824 1037 5187 \n3 5187 2828 5188 \n3 5186 5189 2826 \n3 2827 5190 5191 \n3 5188 1040 2831 \n3 5191 5192 2829 \n3 2830 1041 5193 \n3 5193 2834 5194 \n3 5192 5195 2832 \n3 2833 5196 5197 \n3 5194 1044 2837 \n3 5197 5198 2835 \n3 2836 1045 5199 \n3 5199 2840 5200 \n3 5198 5201 2838 \n3 2839 5202 5203 \n3 5200 1048 2843 \n3 5203 5204 2841 \n3 2842 1049 5205 \n3 5205 2846 5206 \n3 5204 5207 2844 \n3 2845 5208 5209 \n3 5206 1052 2849 \n3 5209 5210 2847 \n3 2848 1053 5211 \n3 5211 2852 5212 \n3 5210 5213 2850 \n3 2851 5214 5215 \n3 5212 1056 2855 \n3 5215 5216 2853 \n3 2854 1057 5217 \n3 5217 2858 5218 \n3 5216 5219 2856 \n3 2857 5220 5221 \n3 5218 1060 2861 \n3 5221 5222 2859 \n3 2860 1061 5223 \n3 5223 2864 5224 \n3 5222 5225 2862 \n3 2863 5226 5227 \n3 5224 1064 2867 \n3 5227 5228 2865 \n3 2866 1065 5229 \n3 5229 2870 5230 \n3 5228 5231 2868 \n3 2869 5232 5233 \n3 5230 1068 2873 \n3 5233 5234 2871 \n3 2872 1069 5235 \n3 5235 2876 5236 \n3 5234 5237 2874 \n3 2875 5238 5239 \n3 5236 1072 2879 \n3 5239 5240 2877 \n3 2878 1073 5241 \n3 5241 2882 5242 \n3 5240 5243 2880 \n3 2881 5244 5245 \n3 5242 1076 2885 \n3 5245 5246 2883 \n3 2884 1077 5247 \n3 5247 2888 5248 \n3 5246 5249 2886 \n3 2887 5250 5251 \n3 5248 1080 2891 \n3 5251 5252 2889 \n3 2890 1081 5253 \n3 5253 2894 5254 \n3 5252 5255 2892 \n3 2893 5256 5257 \n3 5254 1084 2897 \n3 5257 5258 2895 \n3 2896 1085 5259 \n3 5259 2900 5260 \n3 5258 5261 2898 \n3 2899 5262 5263 \n3 5260 1088 2903 \n3 5263 5264 2901 \n3 2902 1089 5265 \n3 5265 2906 5266 \n3 5264 5267 2904 \n3 2905 5268 5269 \n3 5266 1092 2909 \n3 5269 5270 2907 \n3 2908 1093 5271 \n3 5271 2912 5272 \n3 5270 5273 2910 \n3 2911 5274 5275 \n3 5272 1096 2915 \n3 5275 5276 2913 \n3 2914 1097 5277 \n3 5277 2918 5278 \n3 5276 5279 2916 \n3 2917 5280 5281 \n3 5278 1100 2921 \n3 5281 5164 2919 \n3 2920 1022 5162 \n3 5282 2924 5283 \n3 5284 5285 2922 \n3 2923 5286 5287 \n3 5283 2927 5165 \n3 5287 5288 2925 \n3 2926 5289 5166 \n3 5289 2930 5290 \n3 5288 5291 2928 \n3 2929 5292 5293 \n3 5290 2933 5171 \n3 5293 5294 2931 \n3 2932 5295 5172 \n3 5295 2936 5296 \n3 5294 5297 2934 \n3 2935 5298 5299 \n3 5296 2939 5177 \n3 5299 5300 2937 \n3 2938 5301 5178 \n3 5301 2942 5302 \n3 5300 5303 2940 \n3 2941 5304 5305 \n3 5302 2945 5183 \n3 5305 5306 2943 \n3 2944 5307 5184 \n3 5307 2948 5308 \n3 5306 5309 2946 \n3 2947 5310 5311 \n3 5308 2951 5189 \n3 5311 5312 2949 \n3 2950 5313 5190 \n3 5313 2954 5314 \n3 5312 5315 2952 \n3 2953 5316 5317 \n3 5314 2957 5195 \n3 5317 5318 2955 \n3 2956 5319 5196 \n3 5319 2960 5320 \n3 5318 5321 2958 \n3 2959 5322 5323 \n3 5320 2963 5201 \n3 5323 5324 2961 \n3 2962 5325 5202 \n3 5325 2966 5326 \n3 5324 5327 2964 \n3 2965 5328 5329 \n3 5326 2969 5207 \n3 5329 5330 2967 \n3 2968 5331 5208 \n3 5331 2972 5332 \n3 5330 5333 2970 \n3 2971 5334 5335 \n3 5332 2975 5213 \n3 5335 5336 2973 \n3 2974 5337 5214 \n3 5337 2978 5338 \n3 5336 5339 2976 \n3 2977 5340 5341 \n3 5338 2981 5219 \n3 5341 5342 2979 \n3 2980 5343 5220 \n3 5343 2984 5344 \n3 5342 5345 2982 \n3 2983 5346 5347 \n3 5344 2987 5225 \n3 5347 5348 2985 \n3 2986 5349 5226 \n3 5349 2990 5350 \n3 5348 5351 2988 \n3 2989 5352 5353 \n3 5350 2993 5231 \n3 5353 5354 2991 \n3 2992 5355 5232 \n3 5355 2996 5356 \n3 5354 5357 2994 \n3 2995 5358 5359 \n3 5356 2999 5237 \n3 5359 5360 2997 \n3 2998 5361 5238 \n3 5361 3002 5362 \n3 5360 5363 3000 \n3 3001 5364 5365 \n3 5362 3005 5243 \n3 5365 5366 3003 \n3 3004 5367 5244 \n3 5367 3008 5368 \n3 5366 5369 3006 \n3 3007 5370 5371 \n3 5368 3011 5249 \n3 5371 5372 3009 \n3 3010 5373 5250 \n3 5373 3014 5374 \n3 5372 5375 3012 \n3 3013 5376 5377 \n3 5374 3017 5255 \n3 5377 5378 3015 \n3 3016 5379 5256 \n3 5379 3020 5380 \n3 5378 5381 3018 \n3 3019 5382 5383 \n3 5380 3023 5261 \n3 5383 5384 3021 \n3 3022 5385 5262 \n3 5385 3026 5386 \n3 5384 5387 3024 \n3 3025 5388 5389 \n3 5386 3029 5267 \n3 5389 5390 3027 \n3 3028 5391 5268 \n3 5391 3032 5392 \n3 5390 5393 3030 \n3 3031 5394 5395 \n3 5392 3035 5273 \n3 5395 5396 3033 \n3 3034 5397 5274 \n3 5397 3038 5398 \n3 5396 5399 3036 \n3 3037 5400 5401 \n3 5398 3041 5279 \n3 5401 5284 3039 \n3 3040 5282 5280 \n3 5402 3044 5403 \n3 5404 5405 3042 \n3 3043 5406 5407 \n3 5403 3047 5285 \n3 5407 5408 3045 \n3 3046 5409 5286 \n3 5409 3050 5410 \n3 5408 5411 3048 \n3 3049 5412 5413 \n3 5410 3053 5291 \n3 5413 5414 3051 \n3 3052 5415 5292 \n3 5415 3056 5416 \n3 5414 5417 3054 \n3 3055 5418 5419 \n3 5416 3059 5297 \n3 5419 5420 3057 \n3 3058 5421 5298 \n3 5421 3062 5422 \n3 5420 5423 3060 \n3 3061 5424 5425 \n3 5422 3065 5303 \n3 5425 5426 3063 \n3 3064 5427 5304 \n3 5427 3068 5428 \n3 5426 5429 3066 \n3 3067 5430 5431 \n3 5428 3071 5309 \n3 5431 5432 3069 \n3 3070 5433 5310 \n3 5433 3074 5434 \n3 5432 5435 3072 \n3 3073 5436 5437 \n3 5434 3077 5315 \n3 5437 5438 3075 \n3 3076 5439 5316 \n3 5439 3080 5440 \n3 5438 5441 3078 \n3 3079 5442 5443 \n3 5440 3083 5321 \n3 5443 5444 3081 \n3 3082 5445 5322 \n3 5445 3086 5446 \n3 5444 5447 3084 \n3 3085 5448 5449 \n3 5446 3089 5327 \n3 5449 5450 3087 \n3 3088 5451 5328 \n3 5451 3092 5452 \n3 5450 5453 3090 \n3 3091 5454 5455 \n3 5452 3095 5333 \n3 5455 5456 3093 \n3 3094 5457 5334 \n3 5457 3098 5458 \n3 5456 5459 3096 \n3 3097 5460 5461 \n3 5458 3101 5339 \n3 5461 5462 3099 \n3 3100 5463 5340 \n3 5463 3104 5464 \n3 5462 5465 3102 \n3 3103 5466 5467 \n3 5464 3107 5345 \n3 5467 5468 3105 \n3 3106 5469 5346 \n3 5469 3110 5470 \n3 5468 5471 3108 \n3 3109 5472 5473 \n3 5470 3113 5351 \n3 5473 5474 3111 \n3 3112 5475 5352 \n3 5475 3116 5476 \n3 5474 5477 3114 \n3 3115 5478 5479 \n3 5476 3119 5357 \n3 5479 5480 3117 \n3 3118 5481 5358 \n3 5481 3122 5482 \n3 5480 5483 3120 \n3 3121 5484 5485 \n3 5482 3125 5363 \n3 5485 5486 3123 \n3 3124 5487 5364 \n3 5487 3128 5488 \n3 5486 5489 3126 \n3 3127 5490 5491 \n3 5488 3131 5369 \n3 5491 5492 3129 \n3 3130 5493 5370 \n3 5493 3134 5494 \n3 5492 5495 3132 \n3 3133 5496 5497 \n3 5494 3137 5375 \n3 5497 5498 3135 \n3 3136 5499 5376 \n3 5499 3140 5500 \n3 5498 5501 3138 \n3 3139 5502 5503 \n3 5500 3143 5381 \n3 5503 5504 3141 \n3 3142 5505 5382 \n3 5505 3146 5506 \n3 5504 5507 3144 \n3 3145 5508 5509 \n3 5506 3149 5387 \n3 5509 5510 3147 \n3 3148 5511 5388 \n3 5511 3152 5512 \n3 5510 5513 3150 \n3 3151 5514 5515 \n3 5512 3155 5393 \n3 5515 5516 3153 \n3 3154 5517 5394 \n3 5517 3158 5518 \n3 5516 5519 3156 \n3 3157 5520 5521 \n3 5518 3161 5399 \n3 5521 5404 3159 \n3 3160 5402 5400 \n3 5522 3164 5523 \n3 5524 5525 3162 \n3 3163 5526 5527 \n3 5523 3167 5405 \n3 5527 5528 3165 \n3 3166 5529 5406 \n3 5529 3170 5530 \n3 5528 5531 3168 \n3 3169 5532 5533 \n3 5530 3173 5411 \n3 5533 5534 3171 \n3 3172 5535 5412 \n3 5535 3176 5536 \n3 5534 5537 3174 \n3 3175 5538 5539 \n3 5536 3179 5417 \n3 5539 5540 3177 \n3 3178 5541 5418 \n3 5541 3182 5542 \n3 5540 5543 3180 \n3 3181 5544 5545 \n3 5542 3185 5423 \n3 5545 5546 3183 \n3 3184 5547 5424 \n3 5547 3188 5548 \n3 5546 5549 3186 \n3 3187 5550 5551 \n3 5548 3191 5429 \n3 5551 5552 3189 \n3 3190 5553 5430 \n3 5553 3194 5554 \n3 5552 5555 3192 \n3 3193 5556 5557 \n3 5554 3197 5435 \n3 5557 5558 3195 \n3 3196 5559 5436 \n3 5559 3200 5560 \n3 5558 5561 3198 \n3 3199 5562 5563 \n3 5560 3203 5441 \n3 5563 5564 3201 \n3 3202 5565 5442 \n3 5565 3206 5566 \n3 5564 5567 3204 \n3 3205 5568 5569 \n3 5566 3209 5447 \n3 5569 5570 3207 \n3 3208 5571 5448 \n3 5571 3212 5572 \n3 5570 5573 3210 \n3 3211 5574 5575 \n3 5572 3215 5453 \n3 5575 5576 3213 \n3 3214 5577 5454 \n3 5577 3218 5578 \n3 5576 5579 3216 \n3 3217 5580 5581 \n3 5578 3221 5459 \n3 5581 5582 3219 \n3 3220 5583 5460 \n3 5583 3224 5584 \n3 5582 5585 3222 \n3 3223 5586 5587 \n3 5584 3227 5465 \n3 5587 5588 3225 \n3 3226 5589 5466 \n3 5589 3230 5590 \n3 5588 5591 3228 \n3 3229 5592 5593 \n3 5590 3233 5471 \n3 5593 5594 3231 \n3 3232 5595 5472 \n3 5595 3236 5596 \n3 5594 5597 3234 \n3 3235 5598 5599 \n3 5596 3239 5477 \n3 5599 5600 3237 \n3 3238 5601 5478 \n3 5601 3242 5602 \n3 5600 5603 3240 \n3 3241 5604 5605 \n3 5602 3245 5483 \n3 5605 5606 3243 \n3 3244 5607 5484 \n3 5607 3248 5608 \n3 5606 5609 3246 \n3 3247 5610 5611 \n3 5608 3251 5489 \n3 5611 5612 3249 \n3 3250 5613 5490 \n3 5613 3254 5614 \n3 5612 5615 3252 \n3 3253 5616 5617 \n3 5614 3257 5495 \n3 5617 5618 3255 \n3 3256 5619 5496 \n3 5619 3260 5620 \n3 5618 5621 3258 \n3 3259 5622 5623 \n3 5620 3263 5501 \n3 5623 5624 3261 \n3 3262 5625 5502 \n3 5625 3266 5626 \n3 5624 5627 3264 \n3 3265 5628 5629 \n3 5626 3269 5507 \n3 5629 5630 3267 \n3 3268 5631 5508 \n3 5631 3272 5632 \n3 5630 5633 3270 \n3 3271 5634 5635 \n3 5632 3275 5513 \n3 5635 5636 3273 \n3 3274 5637 5514 \n3 5637 3278 5638 \n3 5636 5639 3276 \n3 3277 5640 5641 \n3 5638 3281 5519 \n3 5641 5524 3279 \n3 3280 5522 5520 \n3 5642 3284 5643 \n3 5644 5645 3282 \n3 3283 5646 5647 \n3 5643 3287 5525 \n3 5647 5648 3285 \n3 3286 5649 5526 \n3 5649 3290 5650 \n3 5648 5651 3288 \n3 3289 5652 5653 \n3 5650 3293 5531 \n3 5653 5654 3291 \n3 3292 5655 5532 \n3 5655 3296 5656 \n3 5654 5657 3294 \n3 3295 5658 5659 \n3 5656 3299 5537 \n3 5659 5660 3297 \n3 3298 5661 5538 \n3 5661 3302 5662 \n3 5660 5663 3300 \n3 3301 5664 5665 \n3 5662 3305 5543 \n3 5665 5666 3303 \n3 3304 5667 5544 \n3 5667 3308 5668 \n3 5666 5669 3306 \n3 3307 5670 5671 \n3 5668 3311 5549 \n3 5671 5672 3309 \n3 3310 5673 5550 \n3 5673 3314 5674 \n3 5672 5675 3312 \n3 3313 5676 5677 \n3 5674 3317 5555 \n3 5677 5678 3315 \n3 3316 5679 5556 \n3 5679 3320 5680 \n3 5678 5681 3318 \n3 3319 5682 5683 \n3 5680 3323 5561 \n3 5683 5684 3321 \n3 3322 5685 5562 \n3 5685 3326 5686 \n3 5684 5687 3324 \n3 3325 5688 5689 \n3 5686 3329 5567 \n3 5689 5690 3327 \n3 3328 5691 5568 \n3 5691 3332 5692 \n3 5690 5693 3330 \n3 3331 5694 5695 \n3 5692 3335 5573 \n3 5695 5696 3333 \n3 3334 5697 5574 \n3 5697 3338 5698 \n3 5696 5699 3336 \n3 3337 5700 5701 \n3 5698 3341 5579 \n3 5701 5702 3339 \n3 3340 5703 5580 \n3 5703 3344 5704 \n3 5702 5705 3342 \n3 3343 5706 5707 \n3 5704 3347 5585 \n3 5707 5708 3345 \n3 3346 5709 5586 \n3 5709 3350 5710 \n3 5708 5711 3348 \n3 3349 5712 5713 \n3 5710 3353 5591 \n3 5713 5714 3351 \n3 3352 5715 5592 \n3 5715 3356 5716 \n3 5714 5717 3354 \n3 3355 5718 5719 \n3 5716 3359 5597 \n3 5719 5720 3357 \n3 3358 5721 5598 \n3 5721 3362 5722 \n3 5720 5723 3360 \n3 3361 5724 5725 \n3 5722 3365 5603 \n3 5725 5726 3363 \n3 3364 5727 5604 \n3 5727 3368 5728 \n3 5726 5729 3366 \n3 3367 5730 5731 \n3 5728 3371 5609 \n3 5731 5732 3369 \n3 3370 5733 5610 \n3 5733 3374 5734 \n3 5732 5735 3372 \n3 3373 5736 5737 \n3 5734 3377 5615 \n3 5737 5738 3375 \n3 3376 5739 5616 \n3 5739 3380 5740 \n3 5738 5741 3378 \n3 3379 5742 5743 \n3 5740 3383 5621 \n3 5743 5744 3381 \n3 3382 5745 5622 \n3 5745 3386 5746 \n3 5744 5747 3384 \n3 3385 5748 5749 \n3 5746 3389 5627 \n3 5749 5750 3387 \n3 3388 5751 5628 \n3 5751 3392 5752 \n3 5750 5753 3390 \n3 3391 5754 5755 \n3 5752 3395 5633 \n3 5755 5756 3393 \n3 3394 5757 5634 \n3 5757 3398 5758 \n3 5756 5759 3396 \n3 3397 5760 5761 \n3 5758 3401 5639 \n3 5761 5644 3399 \n3 3400 5642 5640 \n3 5762 3404 5763 \n3 5764 5765 3402 \n3 3403 5766 5767 \n3 5763 3407 5645 \n3 5767 5768 3405 \n3 3406 5769 5646 \n3 5769 3410 5770 \n3 5768 5771 3408 \n3 3409 5772 5773 \n3 5770 3413 5651 \n3 5773 5774 3411 \n3 3412 5775 5652 \n3 5775 3416 5776 \n3 5774 5777 3414 \n3 3415 5778 5779 \n3 5776 3419 5657 \n3 5779 5780 3417 \n3 3418 5781 5658 \n3 5781 3422 5782 \n3 5780 5783 3420 \n3 3421 5784 5785 \n3 5782 3425 5663 \n3 5785 5786 3423 \n3 3424 5787 5664 \n3 5787 3428 5788 \n3 5786 5789 3426 \n3 3427 5790 5791 \n3 5788 3431 5669 \n3 5791 5792 3429 \n3 3430 5793 5670 \n3 5793 3434 5794 \n3 5792 5795 3432 \n3 3433 5796 5797 \n3 5794 3437 5675 \n3 5797 5798 3435 \n3 3436 5799 5676 \n3 5799 3440 5800 \n3 5798 5801 3438 \n3 3439 5802 5803 \n3 5800 3443 5681 \n3 5803 5804 3441 \n3 3442 5805 5682 \n3 5805 3446 5806 \n3 5804 5807 3444 \n3 3445 5808 5809 \n3 5806 3449 5687 \n3 5809 5810 3447 \n3 3448 5811 5688 \n3 5811 3452 5812 \n3 5810 5813 3450 \n3 3451 5814 5815 \n3 5812 3455 5693 \n3 5815 5816 3453 \n3 3454 5817 5694 \n3 5817 3458 5818 \n3 5816 5819 3456 \n3 3457 5820 5821 \n3 5818 3461 5699 \n3 5821 5822 3459 \n3 3460 5823 5700 \n3 5823 3464 5824 \n3 5822 5825 3462 \n3 3463 5826 5827 \n3 5824 3467 5705 \n3 5827 5828 3465 \n3 3466 5829 5706 \n3 5829 3470 5830 \n3 5828 5831 3468 \n3 3469 5832 5833 \n3 5830 3473 5711 \n3 5833 5834 3471 \n3 3472 5835 5712 \n3 5835 3476 5836 \n3 5834 5837 3474 \n3 3475 5838 5839 \n3 5836 3479 5717 \n3 5839 5840 3477 \n3 3478 5841 5718 \n3 5841 3482 5842 \n3 5840 5843 3480 \n3 3481 5844 5845 \n3 5842 3485 5723 \n3 5845 5846 3483 \n3 3484 5847 5724 \n3 5847 3488 5848 \n3 5846 5849 3486 \n3 3487 5850 5851 \n3 5848 3491 5729 \n3 5851 5852 3489 \n3 3490 5853 5730 \n3 5853 3494 5854 \n3 5852 5855 3492 \n3 3493 5856 5857 \n3 5854 3497 5735 \n3 5857 5858 3495 \n3 3496 5859 5736 \n3 5859 3500 5860 \n3 5858 5861 3498 \n3 3499 5862 5863 \n3 5860 3503 5741 \n3 5863 5864 3501 \n3 3502 5865 5742 \n3 5865 3506 5866 \n3 5864 5867 3504 \n3 3505 5868 5869 \n3 5866 3509 5747 \n3 5869 5870 3507 \n3 3508 5871 5748 \n3 5871 3512 5872 \n3 5870 5873 3510 \n3 3511 5874 5875 \n3 5872 3515 5753 \n3 5875 5876 3513 \n3 3514 5877 5754 \n3 5877 3518 5878 \n3 5876 5879 3516 \n3 3517 5880 5881 \n3 5878 3521 5759 \n3 5881 5764 3519 \n3 3520 5762 5760 \n3 5882 3524 5883 \n3 5884 5885 3522 \n3 3523 5886 5887 \n3 5883 3527 5765 \n3 5887 5888 3525 \n3 3526 5889 5766 \n3 5889 3530 5890 \n3 5888 5891 3528 \n3 3529 5892 5893 \n3 5890 3533 5771 \n3 5893 5894 3531 \n3 3532 5895 5772 \n3 5895 3536 5896 \n3 5894 5897 3534 \n3 3535 5898 5899 \n3 5896 3539 5777 \n3 5899 5900 3537 \n3 3538 5901 5778 \n3 5901 3542 5902 \n3 5900 5903 3540 \n3 3541 5904 5905 \n3 5902 3545 5783 \n3 5905 5906 3543 \n3 3544 5907 5784 \n3 5907 3548 5908 \n3 5906 5909 3546 \n3 3547 5910 5911 \n3 5908 3551 5789 \n3 5911 5912 3549 \n3 3550 5913 5790 \n3 5913 3554 5914 \n3 5912 5915 3552 \n3 3553 5916 5917 \n3 5914 3557 5795 \n3 5917 5918 3555 \n3 3556 5919 5796 \n3 5919 3560 5920 \n3 5918 5921 3558 \n3 3559 5922 5923 \n3 5920 3563 5801 \n3 5923 5924 3561 \n3 3562 5925 5802 \n3 5925 3566 5926 \n3 5924 5927 3564 \n3 3565 5928 5929 \n3 5926 3569 5807 \n3 5929 5930 3567 \n3 3568 5931 5808 \n3 5931 3572 5932 \n3 5930 5933 3570 \n3 3571 5934 5935 \n3 5932 3575 5813 \n3 5935 5936 3573 \n3 3574 5937 5814 \n3 5937 3578 5938 \n3 5936 5939 3576 \n3 3577 5940 5941 \n3 5938 3581 5819 \n3 5941 5942 3579 \n3 3580 5943 5820 \n3 5943 3584 5944 \n3 5942 5945 3582 \n3 3583 5946 5947 \n3 5944 3587 5825 \n3 5947 5948 3585 \n3 3586 5949 5826 \n3 5949 3590 5950 \n3 5948 5951 3588 \n3 3589 5952 5953 \n3 5950 3593 5831 \n3 5953 5954 3591 \n3 3592 5955 5832 \n3 5955 3596 5956 \n3 5954 5957 3594 \n3 3595 5958 5959 \n3 5956 3599 5837 \n3 5959 5960 3597 \n3 3598 5961 5838 \n3 5961 3602 5962 \n3 5960 5963 3600 \n3 3601 5964 5965 \n3 5962 3605 5843 \n3 5965 5966 3603 \n3 3604 5967 5844 \n3 5967 3608 5968 \n3 5966 5969 3606 \n3 3607 5970 5971 \n3 5968 3611 5849 \n3 5971 5972 3609 \n3 3610 5973 5850 \n3 5973 3614 5974 \n3 5972 5975 3612 \n3 3613 5976 5977 \n3 5974 3617 5855 \n3 5977 5978 3615 \n3 3616 5979 5856 \n3 5979 3620 5980 \n3 5978 5981 3618 \n3 3619 5982 5983 \n3 5980 3623 5861 \n3 5983 5984 3621 \n3 3622 5985 5862 \n3 5985 3626 5986 \n3 5984 5987 3624 \n3 3625 5988 5989 \n3 5986 3629 5867 \n3 5989 5990 3627 \n3 3628 5991 5868 \n3 5991 3632 5992 \n3 5990 5993 3630 \n3 3631 5994 5995 \n3 5992 3635 5873 \n3 5995 5996 3633 \n3 3634 5997 5874 \n3 5997 3638 5998 \n3 5996 5999 3636 \n3 3637 6000 6001 \n3 5998 3641 5879 \n3 6001 5884 3639 \n3 3640 5882 5880 \n3 6002 3644 6003 \n3 6004 6005 3642 \n3 3643 6006 6007 \n3 6003 3647 5885 \n3 6007 6008 3645 \n3 3646 6009 5886 \n3 6009 3650 6010 \n3 6008 6011 3648 \n3 3649 6012 6013 \n3 6010 3653 5891 \n3 6013 6014 3651 \n3 3652 6015 5892 \n3 6015 3656 6016 \n3 6014 6017 3654 \n3 3655 6018 6019 \n3 6016 3659 5897 \n3 6019 6020 3657 \n3 3658 6021 5898 \n3 6021 3662 6022 \n3 6020 6023 3660 \n3 3661 6024 6025 \n3 6022 3665 5903 \n3 6025 6026 3663 \n3 3664 6027 5904 \n3 6027 3668 6028 \n3 6026 6029 3666 \n3 3667 6030 6031 \n3 6028 3671 5909 \n3 6031 6032 3669 \n3 3670 6033 5910 \n3 6033 3674 6034 \n3 6032 6035 3672 \n3 3673 6036 6037 \n3 6034 3677 5915 \n3 6037 6038 3675 \n3 3676 6039 5916 \n3 6039 3680 6040 \n3 6038 6041 3678 \n3 3679 6042 6043 \n3 6040 3683 5921 \n3 6043 6044 3681 \n3 3682 6045 5922 \n3 6045 3686 6046 \n3 6044 6047 3684 \n3 3685 6048 6049 \n3 6046 3689 5927 \n3 6049 6050 3687 \n3 3688 6051 5928 \n3 6051 3692 6052 \n3 6050 6053 3690 \n3 3691 6054 6055 \n3 6052 3695 5933 \n3 6055 6056 3693 \n3 3694 6057 5934 \n3 6057 3698 6058 \n3 6056 6059 3696 \n3 3697 6060 6061 \n3 6058 3701 5939 \n3 6061 6062 3699 \n3 3700 6063 5940 \n3 6063 3704 6064 \n3 6062 6065 3702 \n3 3703 6066 6067 \n3 6064 3707 5945 \n3 6067 6068 3705 \n3 3706 6069 5946 \n3 6069 3710 6070 \n3 6068 6071 3708 \n3 3709 6072 6073 \n3 6070 3713 5951 \n3 6073 6074 3711 \n3 3712 6075 5952 \n3 6075 3716 6076 \n3 6074 6077 3714 \n3 3715 6078 6079 \n3 6076 3719 5957 \n3 6079 6080 3717 \n3 3718 6081 5958 \n3 6081 3722 6082 \n3 6080 6083 3720 \n3 3721 6084 6085 \n3 6082 3725 5963 \n3 6085 6086 3723 \n3 3724 6087 5964 \n3 6087 3728 6088 \n3 6086 6089 3726 \n3 3727 6090 6091 \n3 6088 3731 5969 \n3 6091 6092 3729 \n3 3730 6093 5970 \n3 6093 3734 6094 \n3 6092 6095 3732 \n3 3733 6096 6097 \n3 6094 3737 5975 \n3 6097 6098 3735 \n3 3736 6099 5976 \n3 6099 3740 6100 \n3 6098 6101 3738 \n3 3739 6102 6103 \n3 6100 3743 5981 \n3 6103 6104 3741 \n3 3742 6105 5982 \n3 6105 3746 6106 \n3 6104 6107 3744 \n3 3745 6108 6109 \n3 6106 3749 5987 \n3 6109 6110 3747 \n3 3748 6111 5988 \n3 6111 3752 6112 \n3 6110 6113 3750 \n3 3751 6114 6115 \n3 6112 3755 5993 \n3 6115 6116 3753 \n3 3754 6117 5994 \n3 6117 3758 6118 \n3 6116 6119 3756 \n3 3757 6120 6121 \n3 6118 3761 5999 \n3 6121 6004 3759 \n3 3760 6002 6000 \n3 6122 3764 6123 \n3 6124 6125 3762 \n3 3763 6126 6127 \n3 6123 3767 6005 \n3 6127 6128 3765 \n3 3766 6129 6006 \n3 6129 3770 6130 \n3 6128 6131 3768 \n3 3769 6132 6133 \n3 6130 3773 6011 \n3 6133 6134 3771 \n3 3772 6135 6012 \n3 6135 3776 6136 \n3 6134 6137 3774 \n3 3775 6138 6139 \n3 6136 3779 6017 \n3 6139 6140 3777 \n3 3778 6141 6018 \n3 6141 3782 6142 \n3 6140 6143 3780 \n3 3781 6144 6145 \n3 6142 3785 6023 \n3 6145 6146 3783 \n3 3784 6147 6024 \n3 6147 3788 6148 \n3 6146 6149 3786 \n3 3787 6150 6151 \n3 6148 3791 6029 \n3 6151 6152 3789 \n3 3790 6153 6030 \n3 6153 3794 6154 \n3 6152 6155 3792 \n3 3793 6156 6157 \n3 6154 3797 6035 \n3 6157 6158 3795 \n3 3796 6159 6036 \n3 6159 3800 6160 \n3 6158 6161 3798 \n3 3799 6162 6163 \n3 6160 3803 6041 \n3 6163 6164 3801 \n3 3802 6165 6042 \n3 6165 3806 6166 \n3 6164 6167 3804 \n3 3805 6168 6169 \n3 6166 3809 6047 \n3 6169 6170 3807 \n3 3808 6171 6048 \n3 6171 3812 6172 \n3 6170 6173 3810 \n3 3811 6174 6175 \n3 6172 3815 6053 \n3 6175 6176 3813 \n3 3814 6177 6054 \n3 6177 3818 6178 \n3 6176 6179 3816 \n3 3817 6180 6181 \n3 6178 3821 6059 \n3 6181 6182 3819 \n3 3820 6183 6060 \n3 6183 3824 6184 \n3 6182 6185 3822 \n3 3823 6186 6187 \n3 6184 3827 6065 \n3 6187 6188 3825 \n3 3826 6189 6066 \n3 6189 3830 6190 \n3 6188 6191 3828 \n3 3829 6192 6193 \n3 6190 3833 6071 \n3 6193 6194 3831 \n3 3832 6195 6072 \n3 6195 3836 6196 \n3 6194 6197 3834 \n3 3835 6198 6199 \n3 6196 3839 6077 \n3 6199 6200 3837 \n3 3838 6201 6078 \n3 6201 3842 6202 \n3 6200 6203 3840 \n3 3841 6204 6205 \n3 6202 3845 6083 \n3 6205 6206 3843 \n3 3844 6207 6084 \n3 6207 3848 6208 \n3 6206 6209 3846 \n3 3847 6210 6211 \n3 6208 3851 6089 \n3 6211 6212 3849 \n3 3850 6213 6090 \n3 6213 3854 6214 \n3 6212 6215 3852 \n3 3853 6216 6217 \n3 6214 3857 6095 \n3 6217 6218 3855 \n3 3856 6219 6096 \n3 6219 3860 6220 \n3 6218 6221 3858 \n3 3859 6222 6223 \n3 6220 3863 6101 \n3 6223 6224 3861 \n3 3862 6225 6102 \n3 6225 3866 6226 \n3 6224 6227 3864 \n3 3865 6228 6229 \n3 6226 3869 6107 \n3 6229 6230 3867 \n3 3868 6231 6108 \n3 6231 3872 6232 \n3 6230 6233 3870 \n3 3871 6234 6235 \n3 6232 3875 6113 \n3 6235 6236 3873 \n3 3874 6237 6114 \n3 6237 3878 6238 \n3 6236 6239 3876 \n3 3877 6240 6241 \n3 6238 3881 6119 \n3 6241 6124 3879 \n3 3880 6122 6120 \n3 6242 1582 3883 \n3 6243 200 6244 \n3 3882 1583 6245 \n3 6246 1584 3885 \n3 6247 200 6243 \n3 3884 1582 6242 \n3 6248 1585 3887 \n3 6249 200 6247 \n3 3886 1584 6246 \n3 6250 1586 3889 \n3 6251 200 6249 \n3 3888 1585 6248 \n3 6252 1587 3891 \n3 6253 200 6251 \n3 3890 1586 6250 \n3 6254 1588 3893 \n3 6255 200 6253 \n3 3892 1587 6252 \n3 6256 1589 3895 \n3 6257 200 6255 \n3 3894 1588 6254 \n3 6258 1590 3897 \n3 6259 200 6257 \n3 3896 1589 6256 \n3 6260 1591 3899 \n3 6261 200 6259 \n3 3898 1590 6258 \n3 6262 1592 3901 \n3 6263 200 6261 \n3 3900 1591 6260 \n3 6264 1593 3903 \n3 6265 200 6263 \n3 3902 1592 6262 \n3 6266 1594 3905 \n3 6267 200 6265 \n3 3904 1593 6264 \n3 6268 1595 3907 \n3 6269 200 6267 \n3 3906 1594 6266 \n3 6270 1596 3909 \n3 6271 200 6269 \n3 3908 1595 6268 \n3 6272 1597 3911 \n3 6273 200 6271 \n3 3910 1596 6270 \n3 6274 1598 3913 \n3 6275 200 6273 \n3 3912 1597 6272 \n3 6276 1599 3915 \n3 6277 200 6275 \n3 3914 1598 6274 \n3 6278 1600 3917 \n3 6279 200 6277 \n3 3916 1599 6276 \n3 6280 1601 3919 \n3 6281 200 6279 \n3 3918 1600 6278 \n3 6245 1583 3921 \n3 6244 200 6281 \n3 3920 1601 6280 \n3 6282 3924 6283 \n3 6284 6285 3922 \n3 3923 6286 6287 \n3 6283 3927 6288 \n3 6287 6289 3925 \n3 3926 6290 6291 \n3 6292 3930 6293 \n3 6294 6288 3928 \n3 3929 6291 6295 \n3 6293 3933 6296 \n3 6295 6297 3931 \n3 3932 6298 6299 \n3 6300 3936 6301 \n3 6302 6296 3934 \n3 3935 6299 6303 \n3 6301 3939 6304 \n3 6303 6305 3937 \n3 3938 6306 6307 \n3 6308 3942 6309 \n3 6310 6304 3940 \n3 3941 6307 6311 \n3 6309 3945 6312 \n3 6311 6313 3943 \n3 3944 6314 6315 \n3 6316 3948 6317 \n3 6318 6312 3946 \n3 3947 6315 6319 \n3 6317 3951 6320 \n3 6319 6321 3949 \n3 3950 6322 6323 \n3 6324 3954 6325 \n3 6326 6320 3952 \n3 3953 6323 6327 \n3 6325 3957 6328 \n3 6327 6329 3955 \n3 3956 6330 6331 \n3 6332 3960 6333 \n3 6334 6328 3958 \n3 3959 6331 6335 \n3 6333 3963 6336 \n3 6335 6337 3961 \n3 3962 6338 6339 \n3 6340 3966 6341 \n3 6342 6336 3964 \n3 3965 6339 6343 \n3 6341 3969 6344 \n3 6343 6345 3967 \n3 3968 6346 6347 \n3 6348 3972 6349 \n3 6350 6344 3970 \n3 3971 6347 6351 \n3 6349 3975 6352 \n3 6351 6353 3973 \n3 3974 6354 6355 \n3 6356 3978 6357 \n3 6358 6352 3976 \n3 3977 6355 6359 \n3 6357 3981 6360 \n3 6359 6361 3979 \n3 3980 6362 6363 \n3 6364 3984 6365 \n3 6366 6360 3982 \n3 3983 6363 6367 \n3 6365 3987 6368 \n3 6367 6369 3985 \n3 3986 6370 6371 \n3 6372 3990 6373 \n3 6374 6368 3988 \n3 3989 6371 6375 \n3 6373 3993 6376 \n3 6375 6377 3991 \n3 3992 6378 6379 \n3 6380 3996 6381 \n3 6382 6376 3994 \n3 3995 6379 6383 \n3 6381 3999 6384 \n3 6383 6385 3997 \n3 3998 6386 6387 \n3 6388 4002 6389 \n3 6390 6384 4000 \n3 4001 6387 6391 \n3 6389 4005 6392 \n3 6391 6393 4003 \n3 4004 6394 6395 \n3 6396 4008 6397 \n3 6398 6392 4006 \n3 4007 6395 6399 \n3 6397 4011 6400 \n3 6399 6401 4009 \n3 4010 6402 6403 \n3 6404 4014 6405 \n3 6406 6400 4012 \n3 4013 6403 6407 \n3 6405 4017 6408 \n3 6407 6409 4015 \n3 4016 6410 6411 \n3 6412 4020 6413 \n3 6414 6408 4018 \n3 4019 6411 6415 \n3 6413 4023 6416 \n3 6415 6417 4021 \n3 4022 6418 6419 \n3 6420 4026 6421 \n3 6422 6416 4024 \n3 4025 6419 6423 \n3 6421 4029 6424 \n3 6423 6425 4027 \n3 4028 6426 6427 \n3 6428 4032 6429 \n3 6430 6424 4030 \n3 4031 6427 6431 \n3 6429 4035 6432 \n3 6431 6433 4033 \n3 4034 6434 6435 \n3 6436 4038 6437 \n3 6438 6432 4036 \n3 4037 6435 6439 \n3 6437 4041 6285 \n3 6439 6440 4039 \n3 4040 6441 6286 \n3 442 1682 1684 \n3 1682 443 1683 \n3 1684 1683 444 \n3 444 1685 1687 \n3 1685 445 1686 \n3 1687 1686 446 \n3 447 1688 1690 \n3 1688 448 1689 \n3 1690 1689 449 \n3 449 1691 1693 \n3 1691 450 1692 \n3 1693 1692 443 \n3 451 1694 1696 \n3 1694 452 1695 \n3 1696 1695 453 \n3 453 1697 1699 \n3 1697 454 1698 \n3 1699 1698 448 \n3 455 1700 1702 \n3 1700 456 1701 \n3 1702 1701 457 \n3 457 1703 1705 \n3 1703 458 1704 \n3 1705 1704 452 \n3 459 1706 1708 \n3 1706 460 1707 \n3 1708 1707 461 \n3 461 1709 1711 \n3 1709 462 1710 \n3 1711 1710 456 \n3 463 1712 1714 \n3 1712 464 1713 \n3 1714 1713 465 \n3 465 1715 1717 \n3 1715 466 1716 \n3 1717 1716 460 \n3 467 1718 1720 \n3 1718 468 1719 \n3 1720 1719 469 \n3 469 1721 1723 \n3 1721 470 1722 \n3 1723 1722 464 \n3 471 1724 1726 \n3 1724 472 1725 \n3 1726 1725 473 \n3 473 1727 1729 \n3 1727 474 1728 \n3 1729 1728 468 \n3 475 1730 1732 \n3 1730 476 1731 \n3 1732 1731 477 \n3 477 1733 1735 \n3 1733 478 1734 \n3 1735 1734 472 \n3 479 1736 1738 \n3 1736 480 1737 \n3 1738 1737 481 \n3 481 1739 1741 \n3 1739 482 1740 \n3 1741 1740 476 \n3 483 1742 1744 \n3 1742 484 1743 \n3 1744 1743 485 \n3 485 1745 1747 \n3 1745 486 1746 \n3 1747 1746 480 \n3 487 1748 1750 \n3 1748 488 1749 \n3 1750 1749 489 \n3 489 1751 1753 \n3 1751 490 1752 \n3 1753 1752 484 \n3 491 1754 1756 \n3 1754 492 1755 \n3 1756 1755 493 \n3 493 1757 1759 \n3 1757 494 1758 \n3 1759 1758 488 \n3 495 1760 1762 \n3 1760 496 1761 \n3 1762 1761 497 \n3 497 1763 1765 \n3 1763 498 1764 \n3 1765 1764 492 \n3 499 1766 1768 \n3 1766 500 1767 \n3 1768 1767 501 \n3 501 1769 1771 \n3 1769 502 1770 \n3 1771 1770 496 \n3 503 1772 1774 \n3 1772 504 1773 \n3 1774 1773 505 \n3 505 1775 1777 \n3 1775 506 1776 \n3 1777 1776 500 \n3 507 1778 1780 \n3 1778 508 1779 \n3 1780 1779 509 \n3 509 1781 1783 \n3 1781 510 1782 \n3 1783 1782 504 \n3 511 1784 1786 \n3 1784 512 1785 \n3 1786 1785 513 \n3 513 1787 1789 \n3 1787 514 1788 \n3 1789 1788 508 \n3 515 1790 1792 \n3 1790 516 1791 \n3 1792 1791 517 \n3 517 1793 1795 \n3 1793 518 1794 \n3 1795 1794 512 \n3 519 1796 1798 \n3 1796 446 1797 \n3 1798 1797 520 \n3 520 1799 1801 \n3 1799 521 1800 \n3 1801 1800 516 \n3 445 1802 1804 \n3 1802 522 1803 \n3 1804 1803 523 \n3 523 1805 1807 \n3 1805 524 1806 \n3 1807 1806 525 \n3 450 1808 1810 \n3 1808 526 1809 \n3 1810 1809 527 \n3 527 1811 1813 \n3 1811 528 1812 \n3 1813 1812 522 \n3 454 1814 1816 \n3 1814 529 1815 \n3 1816 1815 530 \n3 530 1817 1819 \n3 1817 531 1818 \n3 1819 1818 526 \n3 458 1820 1822 \n3 1820 532 1821 \n3 1822 1821 533 \n3 533 1823 1825 \n3 1823 534 1824 \n3 1825 1824 529 \n3 462 1826 1828 \n3 1826 535 1827 \n3 1828 1827 536 \n3 536 1829 1831 \n3 1829 537 1830 \n3 1831 1830 532 \n3 466 1832 1834 \n3 1832 538 1833 \n3 1834 1833 539 \n3 539 1835 1837 \n3 1835 540 1836 \n3 1837 1836 535 \n3 470 1838 1840 \n3 1838 541 1839 \n3 1840 1839 542 \n3 542 1841 1843 \n3 1841 543 1842 \n3 1843 1842 538 \n3 474 1844 1846 \n3 1844 544 1845 \n3 1846 1845 545 \n3 545 1847 1849 \n3 1847 546 1848 \n3 1849 1848 541 \n3 478 1850 1852 \n3 1850 547 1851 \n3 1852 1851 548 \n3 548 1853 1855 \n3 1853 549 1854 \n3 1855 1854 544 \n3 482 1856 1858 \n3 1856 550 1857 \n3 1858 1857 551 \n3 551 1859 1861 \n3 1859 552 1860 \n3 1861 1860 547 \n3 486 1862 1864 \n3 1862 553 1863 \n3 1864 1863 554 \n3 554 1865 1867 \n3 1865 555 1866 \n3 1867 1866 550 \n3 490 1868 1870 \n3 1868 556 1869 \n3 1870 1869 557 \n3 557 1871 1873 \n3 1871 558 1872 \n3 1873 1872 553 \n3 494 1874 1876 \n3 1874 559 1875 \n3 1876 1875 560 \n3 560 1877 1879 \n3 1877 561 1878 \n3 1879 1878 556 \n3 498 1880 1882 \n3 1880 562 1881 \n3 1882 1881 563 \n3 563 1883 1885 \n3 1883 564 1884 \n3 1885 1884 559 \n3 502 1886 1888 \n3 1886 565 1887 \n3 1888 1887 566 \n3 566 1889 1891 \n3 1889 567 1890 \n3 1891 1890 562 \n3 506 1892 1894 \n3 1892 568 1893 \n3 1894 1893 569 \n3 569 1895 1897 \n3 1895 570 1896 \n3 1897 1896 565 \n3 510 1898 1900 \n3 1898 571 1899 \n3 1900 1899 572 \n3 572 1901 1903 \n3 1901 573 1902 \n3 1903 1902 568 \n3 514 1904 1906 \n3 1904 574 1905 \n3 1906 1905 575 \n3 575 1907 1909 \n3 1907 576 1908 \n3 1909 1908 571 \n3 518 1910 1912 \n3 1910 577 1911 \n3 1912 1911 578 \n3 578 1913 1915 \n3 1913 579 1914 \n3 1915 1914 574 \n3 521 1916 1918 \n3 1916 525 1917 \n3 1918 1917 580 \n3 580 1919 1921 \n3 1919 581 1920 \n3 1921 1920 577 \n3 524 1922 1924 \n3 1922 582 1923 \n3 1924 1923 583 \n3 583 1925 1927 \n3 1925 584 1926 \n3 1927 1926 585 \n3 528 1928 1930 \n3 1928 586 1929 \n3 1930 1929 587 \n3 587 1931 1933 \n3 1931 588 1932 \n3 1933 1932 582 \n3 531 1934 1936 \n3 1934 589 1935 \n3 1936 1935 590 \n3 590 1937 1939 \n3 1937 591 1938 \n3 1939 1938 586 \n3 534 1940 1942 \n3 1940 592 1941 \n3 1942 1941 593 \n3 593 1943 1945 \n3 1943 594 1944 \n3 1945 1944 589 \n3 537 1946 1948 \n3 1946 595 1947 \n3 1948 1947 596 \n3 596 1949 1951 \n3 1949 597 1950 \n3 1951 1950 592 \n3 540 1952 1954 \n3 1952 598 1953 \n3 1954 1953 599 \n3 599 1955 1957 \n3 1955 600 1956 \n3 1957 1956 595 \n3 543 1958 1960 \n3 1958 601 1959 \n3 1960 1959 602 \n3 602 1961 1963 \n3 1961 603 1962 \n3 1963 1962 598 \n3 546 1964 1966 \n3 1964 604 1965 \n3 1966 1965 605 \n3 605 1967 1969 \n3 1967 606 1968 \n3 1969 1968 601 \n3 549 1970 1972 \n3 1970 607 1971 \n3 1972 1971 608 \n3 608 1973 1975 \n3 1973 609 1974 \n3 1975 1974 604 \n3 552 1976 1978 \n3 1976 610 1977 \n3 1978 1977 611 \n3 611 1979 1981 \n3 1979 612 1980 \n3 1981 1980 607 \n3 555 1982 1984 \n3 1982 613 1983 \n3 1984 1983 614 \n3 614 1985 1987 \n3 1985 615 1986 \n3 1987 1986 610 \n3 558 1988 1990 \n3 1988 616 1989 \n3 1990 1989 617 \n3 617 1991 1993 \n3 1991 618 1992 \n3 1993 1992 613 \n3 561 1994 1996 \n3 1994 619 1995 \n3 1996 1995 620 \n3 620 1997 1999 \n3 1997 621 1998 \n3 1999 1998 616 \n3 564 2000 2002 \n3 2000 622 2001 \n3 2002 2001 623 \n3 623 2003 2005 \n3 2003 624 2004 \n3 2005 2004 619 \n3 567 2006 2008 \n3 2006 625 2007 \n3 2008 2007 626 \n3 626 2009 2011 \n3 2009 627 2010 \n3 2011 2010 622 \n3 570 2012 2014 \n3 2012 628 2013 \n3 2014 2013 629 \n3 629 2015 2017 \n3 2015 630 2016 \n3 2017 2016 625 \n3 573 2018 2020 \n3 2018 631 2019 \n3 2020 2019 632 \n3 632 2021 2023 \n3 2021 633 2022 \n3 2023 2022 628 \n3 576 2024 2026 \n3 2024 634 2025 \n3 2026 2025 635 \n3 635 2027 2029 \n3 2027 636 2028 \n3 2029 2028 631 \n3 579 2030 2032 \n3 2030 637 2031 \n3 2032 2031 638 \n3 638 2033 2035 \n3 2033 639 2034 \n3 2035 2034 634 \n3 581 2036 2038 \n3 2036 585 2037 \n3 2038 2037 640 \n3 640 2039 2041 \n3 2039 641 2040 \n3 2041 2040 637 \n3 584 2042 2044 \n3 2042 642 2043 \n3 2044 2043 643 \n3 643 2045 2047 \n3 2045 644 2046 \n3 2047 2046 645 \n3 588 2048 2050 \n3 2048 646 2049 \n3 2050 2049 647 \n3 647 2051 2053 \n3 2051 648 2052 \n3 2053 2052 642 \n3 591 2054 2056 \n3 2054 649 2055 \n3 2056 2055 650 \n3 650 2057 2059 \n3 2057 651 2058 \n3 2059 2058 646 \n3 594 2060 2062 \n3 2060 652 2061 \n3 2062 2061 653 \n3 653 2063 2065 \n3 2063 654 2064 \n3 2065 2064 649 \n3 597 2066 2068 \n3 2066 655 2067 \n3 2068 2067 656 \n3 656 2069 2071 \n3 2069 657 2070 \n3 2071 2070 652 \n3 600 2072 2074 \n3 2072 658 2073 \n3 2074 2073 659 \n3 659 2075 2077 \n3 2075 660 2076 \n3 2077 2076 655 \n3 603 2078 2080 \n3 2078 661 2079 \n3 2080 2079 662 \n3 662 2081 2083 \n3 2081 663 2082 \n3 2083 2082 658 \n3 606 2084 2086 \n3 2084 664 2085 \n3 2086 2085 665 \n3 665 2087 2089 \n3 2087 666 2088 \n3 2089 2088 661 \n3 609 2090 2092 \n3 2090 667 2091 \n3 2092 2091 668 \n3 668 2093 2095 \n3 2093 669 2094 \n3 2095 2094 664 \n3 612 2096 2098 \n3 2096 670 2097 \n3 2098 2097 671 \n3 671 2099 2101 \n3 2099 672 2100 \n3 2101 2100 667 \n3 615 2102 2104 \n3 2102 673 2103 \n3 2104 2103 674 \n3 674 2105 2107 \n3 2105 675 2106 \n3 2107 2106 670 \n3 618 2108 2110 \n3 2108 676 2109 \n3 2110 2109 677 \n3 677 2111 2113 \n3 2111 678 2112 \n3 2113 2112 673 \n3 621 2114 2116 \n3 2114 679 2115 \n3 2116 2115 680 \n3 680 2117 2119 \n3 2117 681 2118 \n3 2119 2118 676 \n3 624 2120 2122 \n3 2120 682 2121 \n3 2122 2121 683 \n3 683 2123 2125 \n3 2123 684 2124 \n3 2125 2124 679 \n3 627 2126 2128 \n3 2126 685 2127 \n3 2128 2127 686 \n3 686 2129 2131 \n3 2129 687 2130 \n3 2131 2130 682 \n3 630 2132 2134 \n3 2132 688 2133 \n3 2134 2133 689 \n3 689 2135 2137 \n3 2135 690 2136 \n3 2137 2136 685 \n3 633 2138 2140 \n3 2138 691 2139 \n3 2140 2139 692 \n3 692 2141 2143 \n3 2141 693 2142 \n3 2143 2142 688 \n3 636 2144 2146 \n3 2144 694 2145 \n3 2146 2145 695 \n3 695 2147 2149 \n3 2147 696 2148 \n3 2149 2148 691 \n3 639 2150 2152 \n3 2150 697 2151 \n3 2152 2151 698 \n3 698 2153 2155 \n3 2153 699 2154 \n3 2155 2154 694 \n3 641 2156 2158 \n3 2156 645 2157 \n3 2158 2157 700 \n3 700 2159 2161 \n3 2159 701 2160 \n3 2161 2160 697 \n3 644 2162 2164 \n3 2162 702 2163 \n3 2164 2163 703 \n3 703 2165 2167 \n3 2165 704 2166 \n3 2167 2166 705 \n3 648 2168 2170 \n3 2168 706 2169 \n3 2170 2169 707 \n3 707 2171 2173 \n3 2171 708 2172 \n3 2173 2172 702 \n3 651 2174 2176 \n3 2174 709 2175 \n3 2176 2175 710 \n3 710 2177 2179 \n3 2177 711 2178 \n3 2179 2178 706 \n3 654 2180 2182 \n3 2180 712 2181 \n3 2182 2181 713 \n3 713 2183 2185 \n3 2183 714 2184 \n3 2185 2184 709 \n3 657 2186 2188 \n3 2186 715 2187 \n3 2188 2187 716 \n3 716 2189 2191 \n3 2189 717 2190 \n3 2191 2190 712 \n3 660 2192 2194 \n3 2192 718 2193 \n3 2194 2193 719 \n3 719 2195 2197 \n3 2195 720 2196 \n3 2197 2196 715 \n3 663 2198 2200 \n3 2198 721 2199 \n3 2200 2199 722 \n3 722 2201 2203 \n3 2201 723 2202 \n3 2203 2202 718 \n3 666 2204 2206 \n3 2204 724 2205 \n3 2206 2205 725 \n3 725 2207 2209 \n3 2207 726 2208 \n3 2209 2208 721 \n3 669 2210 2212 \n3 2210 727 2211 \n3 2212 2211 728 \n3 728 2213 2215 \n3 2213 729 2214 \n3 2215 2214 724 \n3 672 2216 2218 \n3 2216 730 2217 \n3 2218 2217 731 \n3 731 2219 2221 \n3 2219 732 2220 \n3 2221 2220 727 \n3 675 2222 2224 \n3 2222 733 2223 \n3 2224 2223 734 \n3 734 2225 2227 \n3 2225 735 2226 \n3 2227 2226 730 \n3 678 2228 2230 \n3 2228 736 2229 \n3 2230 2229 737 \n3 737 2231 2233 \n3 2231 738 2232 \n3 2233 2232 733 \n3 681 2234 2236 \n3 2234 739 2235 \n3 2236 2235 740 \n3 740 2237 2239 \n3 2237 741 2238 \n3 2239 2238 736 \n3 684 2240 2242 \n3 2240 742 2241 \n3 2242 2241 743 \n3 743 2243 2245 \n3 2243 744 2244 \n3 2245 2244 739 \n3 687 2246 2248 \n3 2246 745 2247 \n3 2248 2247 746 \n3 746 2249 2251 \n3 2249 747 2250 \n3 2251 2250 742 \n3 690 2252 2254 \n3 2252 748 2253 \n3 2254 2253 749 \n3 749 2255 2257 \n3 2255 750 2256 \n3 2257 2256 745 \n3 693 2258 2260 \n3 2258 751 2259 \n3 2260 2259 752 \n3 752 2261 2263 \n3 2261 753 2262 \n3 2263 2262 748 \n3 696 2264 2266 \n3 2264 754 2265 \n3 2266 2265 755 \n3 755 2267 2269 \n3 2267 756 2268 \n3 2269 2268 751 \n3 699 2270 2272 \n3 2270 757 2271 \n3 2272 2271 758 \n3 758 2273 2275 \n3 2273 759 2274 \n3 2275 2274 754 \n3 701 2276 2278 \n3 2276 705 2277 \n3 2278 2277 760 \n3 760 2279 2281 \n3 2279 761 2280 \n3 2281 2280 757 \n3 704 2282 2284 \n3 2282 762 2283 \n3 2284 2283 763 \n3 763 2285 2287 \n3 2285 764 2286 \n3 2287 2286 765 \n3 708 2288 2290 \n3 2288 766 2289 \n3 2290 2289 767 \n3 767 2291 2293 \n3 2291 768 2292 \n3 2293 2292 762 \n3 711 2294 2296 \n3 2294 769 2295 \n3 2296 2295 770 \n3 770 2297 2299 \n3 2297 771 2298 \n3 2299 2298 766 \n3 714 2300 2302 \n3 2300 772 2301 \n3 2302 2301 773 \n3 773 2303 2305 \n3 2303 774 2304 \n3 2305 2304 769 \n3 717 2306 2308 \n3 2306 775 2307 \n3 2308 2307 776 \n3 776 2309 2311 \n3 2309 777 2310 \n3 2311 2310 772 \n3 720 2312 2314 \n3 2312 778 2313 \n3 2314 2313 779 \n3 779 2315 2317 \n3 2315 780 2316 \n3 2317 2316 775 \n3 723 2318 2320 \n3 2318 781 2319 \n3 2320 2319 782 \n3 782 2321 2323 \n3 2321 783 2322 \n3 2323 2322 778 \n3 726 2324 2326 \n3 2324 784 2325 \n3 2326 2325 785 \n3 785 2327 2329 \n3 2327 786 2328 \n3 2329 2328 781 \n3 729 2330 2332 \n3 2330 787 2331 \n3 2332 2331 788 \n3 788 2333 2335 \n3 2333 789 2334 \n3 2335 2334 784 \n3 732 2336 2338 \n3 2336 790 2337 \n3 2338 2337 791 \n3 791 2339 2341 \n3 2339 792 2340 \n3 2341 2340 787 \n3 735 2342 2344 \n3 2342 793 2343 \n3 2344 2343 794 \n3 794 2345 2347 \n3 2345 795 2346 \n3 2347 2346 790 \n3 738 2348 2350 \n3 2348 796 2349 \n3 2350 2349 797 \n3 797 2351 2353 \n3 2351 798 2352 \n3 2353 2352 793 \n3 741 2354 2356 \n3 2354 799 2355 \n3 2356 2355 800 \n3 800 2357 2359 \n3 2357 801 2358 \n3 2359 2358 796 \n3 744 2360 2362 \n3 2360 802 2361 \n3 2362 2361 803 \n3 803 2363 2365 \n3 2363 804 2364 \n3 2365 2364 799 \n3 747 2366 2368 \n3 2366 805 2367 \n3 2368 2367 806 \n3 806 2369 2371 \n3 2369 807 2370 \n3 2371 2370 802 \n3 750 2372 2374 \n3 2372 808 2373 \n3 2374 2373 809 \n3 809 2375 2377 \n3 2375 810 2376 \n3 2377 2376 805 \n3 753 2378 2380 \n3 2378 811 2379 \n3 2380 2379 812 \n3 812 2381 2383 \n3 2381 813 2382 \n3 2383 2382 808 \n3 756 2384 2386 \n3 2384 814 2385 \n3 2386 2385 815 \n3 815 2387 2389 \n3 2387 816 2388 \n3 2389 2388 811 \n3 759 2390 2392 \n3 2390 817 2391 \n3 2392 2391 818 \n3 818 2393 2395 \n3 2393 819 2394 \n3 2395 2394 814 \n3 761 2396 2398 \n3 2396 765 2397 \n3 2398 2397 820 \n3 820 2399 2401 \n3 2399 821 2400 \n3 2401 2400 817 \n3 764 2402 2404 \n3 2402 822 2403 \n3 2404 2403 823 \n3 823 2405 2407 \n3 2405 824 2406 \n3 2407 2406 825 \n3 768 2408 2410 \n3 2408 826 2409 \n3 2410 2409 827 \n3 827 2411 2413 \n3 2411 828 2412 \n3 2413 2412 822 \n3 771 2414 2416 \n3 2414 829 2415 \n3 2416 2415 830 \n3 830 2417 2419 \n3 2417 831 2418 \n3 2419 2418 826 \n3 774 2420 2422 \n3 2420 832 2421 \n3 2422 2421 833 \n3 833 2423 2425 \n3 2423 834 2424 \n3 2425 2424 829 \n3 777 2426 2428 \n3 2426 835 2427 \n3 2428 2427 836 \n3 836 2429 2431 \n3 2429 837 2430 \n3 2431 2430 832 \n3 780 2432 2434 \n3 2432 838 2433 \n3 2434 2433 839 \n3 839 2435 2437 \n3 2435 840 2436 \n3 2437 2436 835 \n3 783 2438 2440 \n3 2438 841 2439 \n3 2440 2439 842 \n3 842 2441 2443 \n3 2441 843 2442 \n3 2443 2442 838 \n3 786 2444 2446 \n3 2444 844 2445 \n3 2446 2445 845 \n3 845 2447 2449 \n3 2447 846 2448 \n3 2449 2448 841 \n3 789 2450 2452 \n3 2450 847 2451 \n3 2452 2451 848 \n3 848 2453 2455 \n3 2453 849 2454 \n3 2455 2454 844 \n3 792 2456 2458 \n3 2456 850 2457 \n3 2458 2457 851 \n3 851 2459 2461 \n3 2459 852 2460 \n3 2461 2460 847 \n3 795 2462 2464 \n3 2462 853 2463 \n3 2464 2463 854 \n3 854 2465 2467 \n3 2465 855 2466 \n3 2467 2466 850 \n3 798 2468 2470 \n3 2468 856 2469 \n3 2470 2469 857 \n3 857 2471 2473 \n3 2471 858 2472 \n3 2473 2472 853 \n3 801 2474 2476 \n3 2474 859 2475 \n3 2476 2475 860 \n3 860 2477 2479 \n3 2477 861 2478 \n3 2479 2478 856 \n3 804 2480 2482 \n3 2480 862 2481 \n3 2482 2481 863 \n3 863 2483 2485 \n3 2483 864 2484 \n3 2485 2484 859 \n3 807 2486 2488 \n3 2486 865 2487 \n3 2488 2487 866 \n3 866 2489 2491 \n3 2489 867 2490 \n3 2491 2490 862 \n3 810 2492 2494 \n3 2492 868 2493 \n3 2494 2493 869 \n3 869 2495 2497 \n3 2495 870 2496 \n3 2497 2496 865 \n3 813 2498 2500 \n3 2498 871 2499 \n3 2500 2499 872 \n3 872 2501 2503 \n3 2501 873 2502 \n3 2503 2502 868 \n3 816 2504 2506 \n3 2504 874 2505 \n3 2506 2505 875 \n3 875 2507 2509 \n3 2507 876 2508 \n3 2509 2508 871 \n3 819 2510 2512 \n3 2510 877 2511 \n3 2512 2511 878 \n3 878 2513 2515 \n3 2513 879 2514 \n3 2515 2514 874 \n3 821 2516 2518 \n3 2516 825 2517 \n3 2518 2517 880 \n3 880 2519 2521 \n3 2519 881 2520 \n3 2521 2520 877 \n3 824 2522 2524 \n3 2522 882 2523 \n3 2524 2523 883 \n3 883 2525 2527 \n3 2525 884 2526 \n3 2527 2526 885 \n3 828 2528 2530 \n3 2528 886 2529 \n3 2530 2529 887 \n3 887 2531 2533 \n3 2531 888 2532 \n3 2533 2532 882 \n3 831 2534 2536 \n3 2534 889 2535 \n3 2536 2535 890 \n3 890 2537 2539 \n3 2537 891 2538 \n3 2539 2538 886 \n3 834 2540 2542 \n3 2540 892 2541 \n3 2542 2541 893 \n3 893 2543 2545 \n3 2543 894 2544 \n3 2545 2544 889 \n3 837 2546 2548 \n3 2546 895 2547 \n3 2548 2547 896 \n3 896 2549 2551 \n3 2549 897 2550 \n3 2551 2550 892 \n3 840 2552 2554 \n3 2552 898 2553 \n3 2554 2553 899 \n3 899 2555 2557 \n3 2555 900 2556 \n3 2557 2556 895 \n3 843 2558 2560 \n3 2558 901 2559 \n3 2560 2559 902 \n3 902 2561 2563 \n3 2561 903 2562 \n3 2563 2562 898 \n3 846 2564 2566 \n3 2564 904 2565 \n3 2566 2565 905 \n3 905 2567 2569 \n3 2567 906 2568 \n3 2569 2568 901 \n3 849 2570 2572 \n3 2570 907 2571 \n3 2572 2571 908 \n3 908 2573 2575 \n3 2573 909 2574 \n3 2575 2574 904 \n3 852 2576 2578 \n3 2576 910 2577 \n3 2578 2577 911 \n3 911 2579 2581 \n3 2579 912 2580 \n3 2581 2580 907 \n3 855 2582 2584 \n3 2582 913 2583 \n3 2584 2583 914 \n3 914 2585 2587 \n3 2585 915 2586 \n3 2587 2586 910 \n3 858 2588 2590 \n3 2588 916 2589 \n3 2590 2589 917 \n3 917 2591 2593 \n3 2591 918 2592 \n3 2593 2592 913 \n3 861 2594 2596 \n3 2594 919 2595 \n3 2596 2595 920 \n3 920 2597 2599 \n3 2597 921 2598 \n3 2599 2598 916 \n3 864 2600 2602 \n3 2600 922 2601 \n3 2602 2601 923 \n3 923 2603 2605 \n3 2603 924 2604 \n3 2605 2604 919 \n3 867 2606 2608 \n3 2606 925 2607 \n3 2608 2607 926 \n3 926 2609 2611 \n3 2609 927 2610 \n3 2611 2610 922 \n3 870 2612 2614 \n3 2612 928 2613 \n3 2614 2613 929 \n3 929 2615 2617 \n3 2615 930 2616 \n3 2617 2616 925 \n3 873 2618 2620 \n3 2618 931 2619 \n3 2620 2619 932 \n3 932 2621 2623 \n3 2621 933 2622 \n3 2623 2622 928 \n3 876 2624 2626 \n3 2624 934 2625 \n3 2626 2625 935 \n3 935 2627 2629 \n3 2627 936 2628 \n3 2629 2628 931 \n3 879 2630 2632 \n3 2630 937 2631 \n3 2632 2631 938 \n3 938 2633 2635 \n3 2633 939 2634 \n3 2635 2634 934 \n3 881 2636 2638 \n3 2636 885 2637 \n3 2638 2637 940 \n3 940 2639 2641 \n3 2639 941 2640 \n3 2641 2640 937 \n3 884 2642 2644 \n3 2642 942 2643 \n3 2644 2643 943 \n3 943 2645 2647 \n3 2645 944 2646 \n3 2647 2646 945 \n3 888 2648 2650 \n3 2648 946 2649 \n3 2650 2649 947 \n3 947 2651 2653 \n3 2651 948 2652 \n3 2653 2652 942 \n3 891 2654 2656 \n3 2654 949 2655 \n3 2656 2655 950 \n3 950 2657 2659 \n3 2657 951 2658 \n3 2659 2658 946 \n3 894 2660 2662 \n3 2660 952 2661 \n3 2662 2661 953 \n3 953 2663 2665 \n3 2663 954 2664 \n3 2665 2664 949 \n3 897 2666 2668 \n3 2666 955 2667 \n3 2668 2667 956 \n3 956 2669 2671 \n3 2669 957 2670 \n3 2671 2670 952 \n3 900 2672 2674 \n3 2672 958 2673 \n3 2674 2673 959 \n3 959 2675 2677 \n3 2675 960 2676 \n3 2677 2676 955 \n3 903 2678 2680 \n3 2678 961 2679 \n3 2680 2679 962 \n3 962 2681 2683 \n3 2681 963 2682 \n3 2683 2682 958 \n3 906 2684 2686 \n3 2684 964 2685 \n3 2686 2685 965 \n3 965 2687 2689 \n3 2687 966 2688 \n3 2689 2688 961 \n3 909 2690 2692 \n3 2690 967 2691 \n3 2692 2691 968 \n3 968 2693 2695 \n3 2693 969 2694 \n3 2695 2694 964 \n3 912 2696 2698 \n3 2696 970 2697 \n3 2698 2697 971 \n3 971 2699 2701 \n3 2699 972 2700 \n3 2701 2700 967 \n3 915 2702 2704 \n3 2702 973 2703 \n3 2704 2703 974 \n3 974 2705 2707 \n3 2705 975 2706 \n3 2707 2706 970 \n3 918 2708 2710 \n3 2708 976 2709 \n3 2710 2709 977 \n3 977 2711 2713 \n3 2711 978 2712 \n3 2713 2712 973 \n3 921 2714 2716 \n3 2714 979 2715 \n3 2716 2715 980 \n3 980 2717 2719 \n3 2717 981 2718 \n3 2719 2718 976 \n3 924 2720 2722 \n3 2720 982 2721 \n3 2722 2721 983 \n3 983 2723 2725 \n3 2723 984 2724 \n3 2725 2724 979 \n3 927 2726 2728 \n3 2726 985 2727 \n3 2728 2727 986 \n3 986 2729 2731 \n3 2729 987 2730 \n3 2731 2730 982 \n3 930 2732 2734 \n3 2732 988 2733 \n3 2734 2733 989 \n3 989 2735 2737 \n3 2735 990 2736 \n3 2737 2736 985 \n3 933 2738 2740 \n3 2738 991 2739 \n3 2740 2739 992 \n3 992 2741 2743 \n3 2741 993 2742 \n3 2743 2742 988 \n3 936 2744 2746 \n3 2744 994 2745 \n3 2746 2745 995 \n3 995 2747 2749 \n3 2747 996 2748 \n3 2749 2748 991 \n3 939 2750 2752 \n3 2750 997 2751 \n3 2752 2751 998 \n3 998 2753 2755 \n3 2753 999 2754 \n3 2755 2754 994 \n3 941 2756 2758 \n3 2756 945 2757 \n3 2758 2757 1000 \n3 1000 2759 2761 \n3 2759 1001 2760 \n3 2761 2760 997 \n3 2762 1003 2763 \n3 1003 2762 1002 \n3 2764 1004 2765 \n3 1004 2764 1003 \n3 2766 1005 2767 \n3 1005 2766 1004 \n3 2768 1006 2769 \n3 1006 2768 1005 \n3 2770 1007 2771 \n3 1007 2770 1006 \n3 2772 1008 2773 \n3 1008 2772 1007 \n3 2774 1009 2775 \n3 1009 2774 1008 \n3 2776 1010 2777 \n3 1010 2776 1009 \n3 2778 1011 2779 \n3 1011 2778 1010 \n3 2780 1012 2781 \n3 1012 2780 1011 \n3 2782 1013 2783 \n3 1013 2782 1012 \n3 2784 1014 2785 \n3 1014 2784 1013 \n3 2786 1015 2787 \n3 1015 2786 1014 \n3 2788 1016 2789 \n3 1016 2788 1015 \n3 2790 1017 2791 \n3 1017 2790 1016 \n3 2792 1018 2793 \n3 1018 2792 1017 \n3 2794 1019 2795 \n3 1019 2794 1018 \n3 2796 1020 2797 \n3 1020 2796 1019 \n3 2798 1021 2799 \n3 1021 2798 1020 \n3 2800 1002 2801 \n3 1002 2800 1021 \n3 1022 2802 2804 \n3 2802 1023 2803 \n3 2804 2803 1024 \n3 1024 2805 2807 \n3 2805 1025 2806 \n3 2807 2806 1026 \n3 1025 2808 2810 \n3 2808 1027 2809 \n3 2810 2809 1028 \n3 1028 2811 2813 \n3 2811 1029 2812 \n3 2813 2812 1030 \n3 1029 2814 2816 \n3 2814 1031 2815 \n3 2816 2815 1032 \n3 1032 2817 2819 \n3 2817 1033 2818 \n3 2819 2818 1034 \n3 1033 2820 2822 \n3 2820 1035 2821 \n3 2822 2821 1036 \n3 1036 2823 2825 \n3 2823 1037 2824 \n3 2825 2824 1038 \n3 1037 2826 2828 \n3 2826 1039 2827 \n3 2828 2827 1040 \n3 1040 2829 2831 \n3 2829 1041 2830 \n3 2831 2830 1042 \n3 1041 2832 2834 \n3 2832 1043 2833 \n3 2834 2833 1044 \n3 1044 2835 2837 \n3 2835 1045 2836 \n3 2837 2836 1046 \n3 1045 2838 2840 \n3 2838 1047 2839 \n3 2840 2839 1048 \n3 1048 2841 2843 \n3 2841 1049 2842 \n3 2843 2842 1050 \n3 1049 2844 2846 \n3 2844 1051 2845 \n3 2846 2845 1052 \n3 1052 2847 2849 \n3 2847 1053 2848 \n3 2849 2848 1054 \n3 1053 2850 2852 \n3 2850 1055 2851 \n3 2852 2851 1056 \n3 1056 2853 2855 \n3 2853 1057 2854 \n3 2855 2854 1058 \n3 1057 2856 2858 \n3 2856 1059 2857 \n3 2858 2857 1060 \n3 1060 2859 2861 \n3 2859 1061 2860 \n3 2861 2860 1062 \n3 1061 2862 2864 \n3 2862 1063 2863 \n3 2864 2863 1064 \n3 1064 2865 2867 \n3 2865 1065 2866 \n3 2867 2866 1066 \n3 1065 2868 2870 \n3 2868 1067 2869 \n3 2870 2869 1068 \n3 1068 2871 2873 \n3 2871 1069 2872 \n3 2873 2872 1070 \n3 1069 2874 2876 \n3 2874 1071 2875 \n3 2876 2875 1072 \n3 1072 2877 2879 \n3 2877 1073 2878 \n3 2879 2878 1074 \n3 1073 2880 2882 \n3 2880 1075 2881 \n3 2882 2881 1076 \n3 1076 2883 2885 \n3 2883 1077 2884 \n3 2885 2884 1078 \n3 1077 2886 2888 \n3 2886 1079 2887 \n3 2888 2887 1080 \n3 1080 2889 2891 \n3 2889 1081 2890 \n3 2891 2890 1082 \n3 1081 2892 2894 \n3 2892 1083 2893 \n3 2894 2893 1084 \n3 1084 2895 2897 \n3 2895 1085 2896 \n3 2897 2896 1086 \n3 1085 2898 2900 \n3 2898 1087 2899 \n3 2900 2899 1088 \n3 1088 2901 2903 \n3 2901 1089 2902 \n3 2903 2902 1090 \n3 1089 2904 2906 \n3 2904 1091 2905 \n3 2906 2905 1092 \n3 1092 2907 2909 \n3 2907 1093 2908 \n3 2909 2908 1094 \n3 1093 2910 2912 \n3 2910 1095 2911 \n3 2912 2911 1096 \n3 1096 2913 2915 \n3 2913 1097 2914 \n3 2915 2914 1098 \n3 1097 2916 2918 \n3 2916 1099 2917 \n3 2918 2917 1100 \n3 1100 2919 2921 \n3 2919 1022 2920 \n3 2921 2920 1101 \n3 1102 2922 2924 \n3 2922 1103 2923 \n3 2924 2923 1104 \n3 1104 2925 2927 \n3 2925 1105 2926 \n3 2927 2926 1023 \n3 1105 2928 2930 \n3 2928 1106 2929 \n3 2930 2929 1107 \n3 1107 2931 2933 \n3 2931 1108 2932 \n3 2933 2932 1027 \n3 1108 2934 2936 \n3 2934 1109 2935 \n3 2936 2935 1110 \n3 1110 2937 2939 \n3 2937 1111 2938 \n3 2939 2938 1031 \n3 1111 2940 2942 \n3 2940 1112 2941 \n3 2942 2941 1113 \n3 1113 2943 2945 \n3 2943 1114 2944 \n3 2945 2944 1035 \n3 1114 2946 2948 \n3 2946 1115 2947 \n3 2948 2947 1116 \n3 1116 2949 2951 \n3 2949 1117 2950 \n3 2951 2950 1039 \n3 1117 2952 2954 \n3 2952 1118 2953 \n3 2954 2953 1119 \n3 1119 2955 2957 \n3 2955 1120 2956 \n3 2957 2956 1043 \n3 1120 2958 2960 \n3 2958 1121 2959 \n3 2960 2959 1122 \n3 1122 2961 2963 \n3 2961 1123 2962 \n3 2963 2962 1047 \n3 1123 2964 2966 \n3 2964 1124 2965 \n3 2966 2965 1125 \n3 1125 2967 2969 \n3 2967 1126 2968 \n3 2969 2968 1051 \n3 1126 2970 2972 \n3 2970 1127 2971 \n3 2972 2971 1128 \n3 1128 2973 2975 \n3 2973 1129 2974 \n3 2975 2974 1055 \n3 1129 2976 2978 \n3 2976 1130 2977 \n3 2978 2977 1131 \n3 1131 2979 2981 \n3 2979 1132 2980 \n3 2981 2980 1059 \n3 1132 2982 2984 \n3 2982 1133 2983 \n3 2984 2983 1134 \n3 1134 2985 2987 \n3 2985 1135 2986 \n3 2987 2986 1063 \n3 1135 2988 2990 \n3 2988 1136 2989 \n3 2990 2989 1137 \n3 1137 2991 2993 \n3 2991 1138 2992 \n3 2993 2992 1067 \n3 1138 2994 2996 \n3 2994 1139 2995 \n3 2996 2995 1140 \n3 1140 2997 2999 \n3 2997 1141 2998 \n3 2999 2998 1071 \n3 1141 3000 3002 \n3 3000 1142 3001 \n3 3002 3001 1143 \n3 1143 3003 3005 \n3 3003 1144 3004 \n3 3005 3004 1075 \n3 1144 3006 3008 \n3 3006 1145 3007 \n3 3008 3007 1146 \n3 1146 3009 3011 \n3 3009 1147 3010 \n3 3011 3010 1079 \n3 1147 3012 3014 \n3 3012 1148 3013 \n3 3014 3013 1149 \n3 1149 3015 3017 \n3 3015 1150 3016 \n3 3017 3016 1083 \n3 1150 3018 3020 \n3 3018 1151 3019 \n3 3020 3019 1152 \n3 1152 3021 3023 \n3 3021 1153 3022 \n3 3023 3022 1087 \n3 1153 3024 3026 \n3 3024 1154 3025 \n3 3026 3025 1155 \n3 1155 3027 3029 \n3 3027 1156 3028 \n3 3029 3028 1091 \n3 1156 3030 3032 \n3 3030 1157 3031 \n3 3032 3031 1158 \n3 1158 3033 3035 \n3 3033 1159 3034 \n3 3035 3034 1095 \n3 1159 3036 3038 \n3 3036 1160 3037 \n3 3038 3037 1161 \n3 1161 3039 3041 \n3 3039 1102 3040 \n3 3041 3040 1099 \n3 1162 3042 3044 \n3 3042 1163 3043 \n3 3044 3043 1164 \n3 1164 3045 3047 \n3 3045 1165 3046 \n3 3047 3046 1103 \n3 1165 3048 3050 \n3 3048 1166 3049 \n3 3050 3049 1167 \n3 1167 3051 3053 \n3 3051 1168 3052 \n3 3053 3052 1106 \n3 1168 3054 3056 \n3 3054 1169 3055 \n3 3056 3055 1170 \n3 1170 3057 3059 \n3 3057 1171 3058 \n3 3059 3058 1109 \n3 1171 3060 3062 \n3 3060 1172 3061 \n3 3062 3061 1173 \n3 1173 3063 3065 \n3 3063 1174 3064 \n3 3065 3064 1112 \n3 1174 3066 3068 \n3 3066 1175 3067 \n3 3068 3067 1176 \n3 1176 3069 3071 \n3 3069 1177 3070 \n3 3071 3070 1115 \n3 1177 3072 3074 \n3 3072 1178 3073 \n3 3074 3073 1179 \n3 1179 3075 3077 \n3 3075 1180 3076 \n3 3077 3076 1118 \n3 1180 3078 3080 \n3 3078 1181 3079 \n3 3080 3079 1182 \n3 1182 3081 3083 \n3 3081 1183 3082 \n3 3083 3082 1121 \n3 1183 3084 3086 \n3 3084 1184 3085 \n3 3086 3085 1185 \n3 1185 3087 3089 \n3 3087 1186 3088 \n3 3089 3088 1124 \n3 1186 3090 3092 \n3 3090 1187 3091 \n3 3092 3091 1188 \n3 1188 3093 3095 \n3 3093 1189 3094 \n3 3095 3094 1127 \n3 1189 3096 3098 \n3 3096 1190 3097 \n3 3098 3097 1191 \n3 1191 3099 3101 \n3 3099 1192 3100 \n3 3101 3100 1130 \n3 1192 3102 3104 \n3 3102 1193 3103 \n3 3104 3103 1194 \n3 1194 3105 3107 \n3 3105 1195 3106 \n3 3107 3106 1133 \n3 1195 3108 3110 \n3 3108 1196 3109 \n3 3110 3109 1197 \n3 1197 3111 3113 \n3 3111 1198 3112 \n3 3113 3112 1136 \n3 1198 3114 3116 \n3 3114 1199 3115 \n3 3116 3115 1200 \n3 1200 3117 3119 \n3 3117 1201 3118 \n3 3119 3118 1139 \n3 1201 3120 3122 \n3 3120 1202 3121 \n3 3122 3121 1203 \n3 1203 3123 3125 \n3 3123 1204 3124 \n3 3125 3124 1142 \n3 1204 3126 3128 \n3 3126 1205 3127 \n3 3128 3127 1206 \n3 1206 3129 3131 \n3 3129 1207 3130 \n3 3131 3130 1145 \n3 1207 3132 3134 \n3 3132 1208 3133 \n3 3134 3133 1209 \n3 1209 3135 3137 \n3 3135 1210 3136 \n3 3137 3136 1148 \n3 1210 3138 3140 \n3 3138 1211 3139 \n3 3140 3139 1212 \n3 1212 3141 3143 \n3 3141 1213 3142 \n3 3143 3142 1151 \n3 1213 3144 3146 \n3 3144 1214 3145 \n3 3146 3145 1215 \n3 1215 3147 3149 \n3 3147 1216 3148 \n3 3149 3148 1154 \n3 1216 3150 3152 \n3 3150 1217 3151 \n3 3152 3151 1218 \n3 1218 3153 3155 \n3 3153 1219 3154 \n3 3155 3154 1157 \n3 1219 3156 3158 \n3 3156 1220 3157 \n3 3158 3157 1221 \n3 1221 3159 3161 \n3 3159 1162 3160 \n3 3161 3160 1160 \n3 1222 3162 3164 \n3 3162 1223 3163 \n3 3164 3163 1224 \n3 1224 3165 3167 \n3 3165 1225 3166 \n3 3167 3166 1163 \n3 1225 3168 3170 \n3 3168 1226 3169 \n3 3170 3169 1227 \n3 1227 3171 3173 \n3 3171 1228 3172 \n3 3173 3172 1166 \n3 1228 3174 3176 \n3 3174 1229 3175 \n3 3176 3175 1230 \n3 1230 3177 3179 \n3 3177 1231 3178 \n3 3179 3178 1169 \n3 1231 3180 3182 \n3 3180 1232 3181 \n3 3182 3181 1233 \n3 1233 3183 3185 \n3 3183 1234 3184 \n3 3185 3184 1172 \n3 1234 3186 3188 \n3 3186 1235 3187 \n3 3188 3187 1236 \n3 1236 3189 3191 \n3 3189 1237 3190 \n3 3191 3190 1175 \n3 1237 3192 3194 \n3 3192 1238 3193 \n3 3194 3193 1239 \n3 1239 3195 3197 \n3 3195 1240 3196 \n3 3197 3196 1178 \n3 1240 3198 3200 \n3 3198 1241 3199 \n3 3200 3199 1242 \n3 1242 3201 3203 \n3 3201 1243 3202 \n3 3203 3202 1181 \n3 1243 3204 3206 \n3 3204 1244 3205 \n3 3206 3205 1245 \n3 1245 3207 3209 \n3 3207 1246 3208 \n3 3209 3208 1184 \n3 1246 3210 3212 \n3 3210 1247 3211 \n3 3212 3211 1248 \n3 1248 3213 3215 \n3 3213 1249 3214 \n3 3215 3214 1187 \n3 1249 3216 3218 \n3 3216 1250 3217 \n3 3218 3217 1251 \n3 1251 3219 3221 \n3 3219 1252 3220 \n3 3221 3220 1190 \n3 1252 3222 3224 \n3 3222 1253 3223 \n3 3224 3223 1254 \n3 1254 3225 3227 \n3 3225 1255 3226 \n3 3227 3226 1193 \n3 1255 3228 3230 \n3 3228 1256 3229 \n3 3230 3229 1257 \n3 1257 3231 3233 \n3 3231 1258 3232 \n3 3233 3232 1196 \n3 1258 3234 3236 \n3 3234 1259 3235 \n3 3236 3235 1260 \n3 1260 3237 3239 \n3 3237 1261 3238 \n3 3239 3238 1199 \n3 1261 3240 3242 \n3 3240 1262 3241 \n3 3242 3241 1263 \n3 1263 3243 3245 \n3 3243 1264 3244 \n3 3245 3244 1202 \n3 1264 3246 3248 \n3 3246 1265 3247 \n3 3248 3247 1266 \n3 1266 3249 3251 \n3 3249 1267 3250 \n3 3251 3250 1205 \n3 1267 3252 3254 \n3 3252 1268 3253 \n3 3254 3253 1269 \n3 1269 3255 3257 \n3 3255 1270 3256 \n3 3257 3256 1208 \n3 1270 3258 3260 \n3 3258 1271 3259 \n3 3260 3259 1272 \n3 1272 3261 3263 \n3 3261 1273 3262 \n3 3263 3262 1211 \n3 1273 3264 3266 \n3 3264 1274 3265 \n3 3266 3265 1275 \n3 1275 3267 3269 \n3 3267 1276 3268 \n3 3269 3268 1214 \n3 1276 3270 3272 \n3 3270 1277 3271 \n3 3272 3271 1278 \n3 1278 3273 3275 \n3 3273 1279 3274 \n3 3275 3274 1217 \n3 1279 3276 3278 \n3 3276 1280 3277 \n3 3278 3277 1281 \n3 1281 3279 3281 \n3 3279 1222 3280 \n3 3281 3280 1220 \n3 1282 3282 3284 \n3 3282 1283 3283 \n3 3284 3283 1284 \n3 1284 3285 3287 \n3 3285 1285 3286 \n3 3287 3286 1223 \n3 1285 3288 3290 \n3 3288 1286 3289 \n3 3290 3289 1287 \n3 1287 3291 3293 \n3 3291 1288 3292 \n3 3293 3292 1226 \n3 1288 3294 3296 \n3 3294 1289 3295 \n3 3296 3295 1290 \n3 1290 3297 3299 \n3 3297 1291 3298 \n3 3299 3298 1229 \n3 1291 3300 3302 \n3 3300 1292 3301 \n3 3302 3301 1293 \n3 1293 3303 3305 \n3 3303 1294 3304 \n3 3305 3304 1232 \n3 1294 3306 3308 \n3 3306 1295 3307 \n3 3308 3307 1296 \n3 1296 3309 3311 \n3 3309 1297 3310 \n3 3311 3310 1235 \n3 1297 3312 3314 \n3 3312 1298 3313 \n3 3314 3313 1299 \n3 1299 3315 3317 \n3 3315 1300 3316 \n3 3317 3316 1238 \n3 1300 3318 3320 \n3 3318 1301 3319 \n3 3320 3319 1302 \n3 1302 3321 3323 \n3 3321 1303 3322 \n3 3323 3322 1241 \n3 1303 3324 3326 \n3 3324 1304 3325 \n3 3326 3325 1305 \n3 1305 3327 3329 \n3 3327 1306 3328 \n3 3329 3328 1244 \n3 1306 3330 3332 \n3 3330 1307 3331 \n3 3332 3331 1308 \n3 1308 3333 3335 \n3 3333 1309 3334 \n3 3335 3334 1247 \n3 1309 3336 3338 \n3 3336 1310 3337 \n3 3338 3337 1311 \n3 1311 3339 3341 \n3 3339 1312 3340 \n3 3341 3340 1250 \n3 1312 3342 3344 \n3 3342 1313 3343 \n3 3344 3343 1314 \n3 1314 3345 3347 \n3 3345 1315 3346 \n3 3347 3346 1253 \n3 1315 3348 3350 \n3 3348 1316 3349 \n3 3350 3349 1317 \n3 1317 3351 3353 \n3 3351 1318 3352 \n3 3353 3352 1256 \n3 1318 3354 3356 \n3 3354 1319 3355 \n3 3356 3355 1320 \n3 1320 3357 3359 \n3 3357 1321 3358 \n3 3359 3358 1259 \n3 1321 3360 3362 \n3 3360 1322 3361 \n3 3362 3361 1323 \n3 1323 3363 3365 \n3 3363 1324 3364 \n3 3365 3364 1262 \n3 1324 3366 3368 \n3 3366 1325 3367 \n3 3368 3367 1326 \n3 1326 3369 3371 \n3 3369 1327 3370 \n3 3371 3370 1265 \n3 1327 3372 3374 \n3 3372 1328 3373 \n3 3374 3373 1329 \n3 1329 3375 3377 \n3 3375 1330 3376 \n3 3377 3376 1268 \n3 1330 3378 3380 \n3 3378 1331 3379 \n3 3380 3379 1332 \n3 1332 3381 3383 \n3 3381 1333 3382 \n3 3383 3382 1271 \n3 1333 3384 3386 \n3 3384 1334 3385 \n3 3386 3385 1335 \n3 1335 3387 3389 \n3 3387 1336 3388 \n3 3389 3388 1274 \n3 1336 3390 3392 \n3 3390 1337 3391 \n3 3392 3391 1338 \n3 1338 3393 3395 \n3 3393 1339 3394 \n3 3395 3394 1277 \n3 1339 3396 3398 \n3 3396 1340 3397 \n3 3398 3397 1341 \n3 1341 3399 3401 \n3 3399 1282 3400 \n3 3401 3400 1280 \n3 1342 3402 3404 \n3 3402 1343 3403 \n3 3404 3403 1344 \n3 1344 3405 3407 \n3 3405 1345 3406 \n3 3407 3406 1283 \n3 1345 3408 3410 \n3 3408 1346 3409 \n3 3410 3409 1347 \n3 1347 3411 3413 \n3 3411 1348 3412 \n3 3413 3412 1286 \n3 1348 3414 3416 \n3 3414 1349 3415 \n3 3416 3415 1350 \n3 1350 3417 3419 \n3 3417 1351 3418 \n3 3419 3418 1289 \n3 1351 3420 3422 \n3 3420 1352 3421 \n3 3422 3421 1353 \n3 1353 3423 3425 \n3 3423 1354 3424 \n3 3425 3424 1292 \n3 1354 3426 3428 \n3 3426 1355 3427 \n3 3428 3427 1356 \n3 1356 3429 3431 \n3 3429 1357 3430 \n3 3431 3430 1295 \n3 1357 3432 3434 \n3 3432 1358 3433 \n3 3434 3433 1359 \n3 1359 3435 3437 \n3 3435 1360 3436 \n3 3437 3436 1298 \n3 1360 3438 3440 \n3 3438 1361 3439 \n3 3440 3439 1362 \n3 1362 3441 3443 \n3 3441 1363 3442 \n3 3443 3442 1301 \n3 1363 3444 3446 \n3 3444 1364 3445 \n3 3446 3445 1365 \n3 1365 3447 3449 \n3 3447 1366 3448 \n3 3449 3448 1304 \n3 1366 3450 3452 \n3 3450 1367 3451 \n3 3452 3451 1368 \n3 1368 3453 3455 \n3 3453 1369 3454 \n3 3455 3454 1307 \n3 1369 3456 3458 \n3 3456 1370 3457 \n3 3458 3457 1371 \n3 1371 3459 3461 \n3 3459 1372 3460 \n3 3461 3460 1310 \n3 1372 3462 3464 \n3 3462 1373 3463 \n3 3464 3463 1374 \n3 1374 3465 3467 \n3 3465 1375 3466 \n3 3467 3466 1313 \n3 1375 3468 3470 \n3 3468 1376 3469 \n3 3470 3469 1377 \n3 1377 3471 3473 \n3 3471 1378 3472 \n3 3473 3472 1316 \n3 1378 3474 3476 \n3 3474 1379 3475 \n3 3476 3475 1380 \n3 1380 3477 3479 \n3 3477 1381 3478 \n3 3479 3478 1319 \n3 1381 3480 3482 \n3 3480 1382 3481 \n3 3482 3481 1383 \n3 1383 3483 3485 \n3 3483 1384 3484 \n3 3485 3484 1322 \n3 1384 3486 3488 \n3 3486 1385 3487 \n3 3488 3487 1386 \n3 1386 3489 3491 \n3 3489 1387 3490 \n3 3491 3490 1325 \n3 1387 3492 3494 \n3 3492 1388 3493 \n3 3494 3493 1389 \n3 1389 3495 3497 \n3 3495 1390 3496 \n3 3497 3496 1328 \n3 1390 3498 3500 \n3 3498 1391 3499 \n3 3500 3499 1392 \n3 1392 3501 3503 \n3 3501 1393 3502 \n3 3503 3502 1331 \n3 1393 3504 3506 \n3 3504 1394 3505 \n3 3506 3505 1395 \n3 1395 3507 3509 \n3 3507 1396 3508 \n3 3509 3508 1334 \n3 1396 3510 3512 \n3 3510 1397 3511 \n3 3512 3511 1398 \n3 1398 3513 3515 \n3 3513 1399 3514 \n3 3515 3514 1337 \n3 1399 3516 3518 \n3 3516 1400 3517 \n3 3518 3517 1401 \n3 1401 3519 3521 \n3 3519 1342 3520 \n3 3521 3520 1340 \n3 1402 3522 3524 \n3 3522 1403 3523 \n3 3524 3523 1404 \n3 1404 3525 3527 \n3 3525 1405 3526 \n3 3527 3526 1343 \n3 1405 3528 3530 \n3 3528 1406 3529 \n3 3530 3529 1407 \n3 1407 3531 3533 \n3 3531 1408 3532 \n3 3533 3532 1346 \n3 1408 3534 3536 \n3 3534 1409 3535 \n3 3536 3535 1410 \n3 1410 3537 3539 \n3 3537 1411 3538 \n3 3539 3538 1349 \n3 1411 3540 3542 \n3 3540 1412 3541 \n3 3542 3541 1413 \n3 1413 3543 3545 \n3 3543 1414 3544 \n3 3545 3544 1352 \n3 1414 3546 3548 \n3 3546 1415 3547 \n3 3548 3547 1416 \n3 1416 3549 3551 \n3 3549 1417 3550 \n3 3551 3550 1355 \n3 1417 3552 3554 \n3 3552 1418 3553 \n3 3554 3553 1419 \n3 1419 3555 3557 \n3 3555 1420 3556 \n3 3557 3556 1358 \n3 1420 3558 3560 \n3 3558 1421 3559 \n3 3560 3559 1422 \n3 1422 3561 3563 \n3 3561 1423 3562 \n3 3563 3562 1361 \n3 1423 3564 3566 \n3 3564 1424 3565 \n3 3566 3565 1425 \n3 1425 3567 3569 \n3 3567 1426 3568 \n3 3569 3568 1364 \n3 1426 3570 3572 \n3 3570 1427 3571 \n3 3572 3571 1428 \n3 1428 3573 3575 \n3 3573 1429 3574 \n3 3575 3574 1367 \n3 1429 3576 3578 \n3 3576 1430 3577 \n3 3578 3577 1431 \n3 1431 3579 3581 \n3 3579 1432 3580 \n3 3581 3580 1370 \n3 1432 3582 3584 \n3 3582 1433 3583 \n3 3584 3583 1434 \n3 1434 3585 3587 \n3 3585 1435 3586 \n3 3587 3586 1373 \n3 1435 3588 3590 \n3 3588 1436 3589 \n3 3590 3589 1437 \n3 1437 3591 3593 \n3 3591 1438 3592 \n3 3593 3592 1376 \n3 1438 3594 3596 \n3 3594 1439 3595 \n3 3596 3595 1440 \n3 1440 3597 3599 \n3 3597 1441 3598 \n3 3599 3598 1379 \n3 1441 3600 3602 \n3 3600 1442 3601 \n3 3602 3601 1443 \n3 1443 3603 3605 \n3 3603 1444 3604 \n3 3605 3604 1382 \n3 1444 3606 3608 \n3 3606 1445 3607 \n3 3608 3607 1446 \n3 1446 3609 3611 \n3 3609 1447 3610 \n3 3611 3610 1385 \n3 1447 3612 3614 \n3 3612 1448 3613 \n3 3614 3613 1449 \n3 1449 3615 3617 \n3 3615 1450 3616 \n3 3617 3616 1388 \n3 1450 3618 3620 \n3 3618 1451 3619 \n3 3620 3619 1452 \n3 1452 3621 3623 \n3 3621 1453 3622 \n3 3623 3622 1391 \n3 1453 3624 3626 \n3 3624 1454 3625 \n3 3626 3625 1455 \n3 1455 3627 3629 \n3 3627 1456 3628 \n3 3629 3628 1394 \n3 1456 3630 3632 \n3 3630 1457 3631 \n3 3632 3631 1458 \n3 1458 3633 3635 \n3 3633 1459 3634 \n3 3635 3634 1397 \n3 1459 3636 3638 \n3 3636 1460 3637 \n3 3638 3637 1461 \n3 1461 3639 3641 \n3 3639 1402 3640 \n3 3641 3640 1400 \n3 1462 3642 3644 \n3 3642 1463 3643 \n3 3644 3643 1464 \n3 1464 3645 3647 \n3 3645 1465 3646 \n3 3647 3646 1403 \n3 1465 3648 3650 \n3 3648 1466 3649 \n3 3650 3649 1467 \n3 1467 3651 3653 \n3 3651 1468 3652 \n3 3653 3652 1406 \n3 1468 3654 3656 \n3 3654 1469 3655 \n3 3656 3655 1470 \n3 1470 3657 3659 \n3 3657 1471 3658 \n3 3659 3658 1409 \n3 1471 3660 3662 \n3 3660 1472 3661 \n3 3662 3661 1473 \n3 1473 3663 3665 \n3 3663 1474 3664 \n3 3665 3664 1412 \n3 1474 3666 3668 \n3 3666 1475 3667 \n3 3668 3667 1476 \n3 1476 3669 3671 \n3 3669 1477 3670 \n3 3671 3670 1415 \n3 1477 3672 3674 \n3 3672 1478 3673 \n3 3674 3673 1479 \n3 1479 3675 3677 \n3 3675 1480 3676 \n3 3677 3676 1418 \n3 1480 3678 3680 \n3 3678 1481 3679 \n3 3680 3679 1482 \n3 1482 3681 3683 \n3 3681 1483 3682 \n3 3683 3682 1421 \n3 1483 3684 3686 \n3 3684 1484 3685 \n3 3686 3685 1485 \n3 1485 3687 3689 \n3 3687 1486 3688 \n3 3689 3688 1424 \n3 1486 3690 3692 \n3 3690 1487 3691 \n3 3692 3691 1488 \n3 1488 3693 3695 \n3 3693 1489 3694 \n3 3695 3694 1427 \n3 1489 3696 3698 \n3 3696 1490 3697 \n3 3698 3697 1491 \n3 1491 3699 3701 \n3 3699 1492 3700 \n3 3701 3700 1430 \n3 1492 3702 3704 \n3 3702 1493 3703 \n3 3704 3703 1494 \n3 1494 3705 3707 \n3 3705 1495 3706 \n3 3707 3706 1433 \n3 1495 3708 3710 \n3 3708 1496 3709 \n3 3710 3709 1497 \n3 1497 3711 3713 \n3 3711 1498 3712 \n3 3713 3712 1436 \n3 1498 3714 3716 \n3 3714 1499 3715 \n3 3716 3715 1500 \n3 1500 3717 3719 \n3 3717 1501 3718 \n3 3719 3718 1439 \n3 1501 3720 3722 \n3 3720 1502 3721 \n3 3722 3721 1503 \n3 1503 3723 3725 \n3 3723 1504 3724 \n3 3725 3724 1442 \n3 1504 3726 3728 \n3 3726 1505 3727 \n3 3728 3727 1506 \n3 1506 3729 3731 \n3 3729 1507 3730 \n3 3731 3730 1445 \n3 1507 3732 3734 \n3 3732 1508 3733 \n3 3734 3733 1509 \n3 1509 3735 3737 \n3 3735 1510 3736 \n3 3737 3736 1448 \n3 1510 3738 3740 \n3 3738 1511 3739 \n3 3740 3739 1512 \n3 1512 3741 3743 \n3 3741 1513 3742 \n3 3743 3742 1451 \n3 1513 3744 3746 \n3 3744 1514 3745 \n3 3746 3745 1515 \n3 1515 3747 3749 \n3 3747 1516 3748 \n3 3749 3748 1454 \n3 1516 3750 3752 \n3 3750 1517 3751 \n3 3752 3751 1518 \n3 1518 3753 3755 \n3 3753 1519 3754 \n3 3755 3754 1457 \n3 1519 3756 3758 \n3 3756 1520 3757 \n3 3758 3757 1521 \n3 1521 3759 3761 \n3 3759 1462 3760 \n3 3761 3760 1460 \n3 1522 3762 3764 \n3 3762 1523 3763 \n3 3764 3763 1524 \n3 1524 3765 3767 \n3 3765 1525 3766 \n3 3767 3766 1463 \n3 1525 3768 3770 \n3 3768 1526 3769 \n3 3770 3769 1527 \n3 1527 3771 3773 \n3 3771 1528 3772 \n3 3773 3772 1466 \n3 1528 3774 3776 \n3 3774 1529 3775 \n3 3776 3775 1530 \n3 1530 3777 3779 \n3 3777 1531 3778 \n3 3779 3778 1469 \n3 1531 3780 3782 \n3 3780 1532 3781 \n3 3782 3781 1533 \n3 1533 3783 3785 \n3 3783 1534 3784 \n3 3785 3784 1472 \n3 1534 3786 3788 \n3 3786 1535 3787 \n3 3788 3787 1536 \n3 1536 3789 3791 \n3 3789 1537 3790 \n3 3791 3790 1475 \n3 1537 3792 3794 \n3 3792 1538 3793 \n3 3794 3793 1539 \n3 1539 3795 3797 \n3 3795 1540 3796 \n3 3797 3796 1478 \n3 1540 3798 3800 \n3 3798 1541 3799 \n3 3800 3799 1542 \n3 1542 3801 3803 \n3 3801 1543 3802 \n3 3803 3802 1481 \n3 1543 3804 3806 \n3 3804 1544 3805 \n3 3806 3805 1545 \n3 1545 3807 3809 \n3 3807 1546 3808 \n3 3809 3808 1484 \n3 1546 3810 3812 \n3 3810 1547 3811 \n3 3812 3811 1548 \n3 1548 3813 3815 \n3 3813 1549 3814 \n3 3815 3814 1487 \n3 1549 3816 3818 \n3 3816 1550 3817 \n3 3818 3817 1551 \n3 1551 3819 3821 \n3 3819 1552 3820 \n3 3821 3820 1490 \n3 1552 3822 3824 \n3 3822 1553 3823 \n3 3824 3823 1554 \n3 1554 3825 3827 \n3 3825 1555 3826 \n3 3827 3826 1493 \n3 1555 3828 3830 \n3 3828 1556 3829 \n3 3830 3829 1557 \n3 1557 3831 3833 \n3 3831 1558 3832 \n3 3833 3832 1496 \n3 1558 3834 3836 \n3 3834 1559 3835 \n3 3836 3835 1560 \n3 1560 3837 3839 \n3 3837 1561 3838 \n3 3839 3838 1499 \n3 1561 3840 3842 \n3 3840 1562 3841 \n3 3842 3841 1563 \n3 1563 3843 3845 \n3 3843 1564 3844 \n3 3845 3844 1502 \n3 1564 3846 3848 \n3 3846 1565 3847 \n3 3848 3847 1566 \n3 1566 3849 3851 \n3 3849 1567 3850 \n3 3851 3850 1505 \n3 1567 3852 3854 \n3 3852 1568 3853 \n3 3854 3853 1569 \n3 1569 3855 3857 \n3 3855 1570 3856 \n3 3857 3856 1508 \n3 1570 3858 3860 \n3 3858 1571 3859 \n3 3860 3859 1572 \n3 1572 3861 3863 \n3 3861 1573 3862 \n3 3863 3862 1511 \n3 1573 3864 3866 \n3 3864 1574 3865 \n3 3866 3865 1575 \n3 1575 3867 3869 \n3 3867 1576 3868 \n3 3869 3868 1514 \n3 1576 3870 3872 \n3 3870 1577 3871 \n3 3872 3871 1578 \n3 1578 3873 3875 \n3 3873 1579 3874 \n3 3875 3874 1517 \n3 1579 3876 3878 \n3 3876 1580 3877 \n3 3878 3877 1581 \n3 1581 3879 3881 \n3 3879 1522 3880 \n3 3881 3880 1520 \n3 1582 3882 3883 \n3 3882 1582 1583 \n3 1584 3884 3885 \n3 3884 1584 1582 \n3 1585 3886 3887 \n3 3886 1585 1584 \n3 1586 3888 3889 \n3 3888 1586 1585 \n3 1587 3890 3891 \n3 3890 1587 1586 \n3 1588 3892 3893 \n3 3892 1588 1587 \n3 1589 3894 3895 \n3 3894 1589 1588 \n3 1590 3896 3897 \n3 3896 1590 1589 \n3 1591 3898 3899 \n3 3898 1591 1590 \n3 1592 3900 3901 \n3 3900 1592 1591 \n3 1593 3902 3903 \n3 3902 1593 1592 \n3 1594 3904 3905 \n3 3904 1594 1593 \n3 1595 3906 3907 \n3 3906 1595 1594 \n3 1596 3908 3909 \n3 3908 1596 1595 \n3 1597 3910 3911 \n3 3910 1597 1596 \n3 1598 3912 3913 \n3 3912 1598 1597 \n3 1599 3914 3915 \n3 3914 1599 1598 \n3 1600 3916 3917 \n3 3916 1600 1599 \n3 1601 3918 3919 \n3 3918 1601 1600 \n3 1583 3920 3921 \n3 3920 1583 1601 \n3 1602 3922 3924 \n3 3922 1603 3923 \n3 3924 3923 1604 \n3 1604 3925 3927 \n3 3925 1605 3926 \n3 3927 3926 1606 \n3 1607 3928 3930 \n3 3928 1606 3929 \n3 3930 3929 1608 \n3 1608 3931 3933 \n3 3931 1609 3932 \n3 3933 3932 1610 \n3 1611 3934 3936 \n3 3934 1610 3935 \n3 3936 3935 1612 \n3 1612 3937 3939 \n3 3937 1613 3938 \n3 3939 3938 1614 \n3 1615 3940 3942 \n3 3940 1614 3941 \n3 3942 3941 1616 \n3 1616 3943 3945 \n3 3943 1617 3944 \n3 3945 3944 1618 \n3 1619 3946 3948 \n3 3946 1618 3947 \n3 3948 3947 1620 \n3 1620 3949 3951 \n3 3949 1621 3950 \n3 3951 3950 1622 \n3 1623 3952 3954 \n3 3952 1622 3953 \n3 3954 3953 1624 \n3 1624 3955 3957 \n3 3955 1625 3956 \n3 3957 3956 1626 \n3 1627 3958 3960 \n3 3958 1626 3959 \n3 3960 3959 1628 \n3 1628 3961 3963 \n3 3961 1629 3962 \n3 3963 3962 1630 \n3 1631 3964 3966 \n3 3964 1630 3965 \n3 3966 3965 1632 \n3 1632 3967 3969 \n3 3967 1633 3968 \n3 3969 3968 1634 \n3 1635 3970 3972 \n3 3970 1634 3971 \n3 3972 3971 1636 \n3 1636 3973 3975 \n3 3973 1637 3974 \n3 3975 3974 1638 \n3 1639 3976 3978 \n3 3976 1638 3977 \n3 3978 3977 1640 \n3 1640 3979 3981 \n3 3979 1641 3980 \n3 3981 3980 1642 \n3 1643 3982 3984 \n3 3982 1642 3983 \n3 3984 3983 1644 \n3 1644 3985 3987 \n3 3985 1645 3986 \n3 3987 3986 1646 \n3 1647 3988 3990 \n3 3988 1646 3989 \n3 3990 3989 1648 \n3 1648 3991 3993 \n3 3991 1649 3992 \n3 3993 3992 1650 \n3 1651 3994 3996 \n3 3994 1650 3995 \n3 3996 3995 1652 \n3 1652 3997 3999 \n3 3997 1653 3998 \n3 3999 3998 1654 \n3 1655 4000 4002 \n3 4000 1654 4001 \n3 4002 4001 1656 \n3 1656 4003 4005 \n3 4003 1657 4004 \n3 4005 4004 1658 \n3 1659 4006 4008 \n3 4006 1658 4007 \n3 4008 4007 1660 \n3 1660 4009 4011 \n3 4009 1661 4010 \n3 4011 4010 1662 \n3 1663 4012 4014 \n3 4012 1662 4013 \n3 4014 4013 1664 \n3 1664 4015 4017 \n3 4015 1665 4016 \n3 4017 4016 1666 \n3 1667 4018 4020 \n3 4018 1666 4019 \n3 4020 4019 1668 \n3 1668 4021 4023 \n3 4021 1669 4022 \n3 4023 4022 1670 \n3 1671 4024 4026 \n3 4024 1670 4025 \n3 4026 4025 1672 \n3 1672 4027 4029 \n3 4027 1673 4028 \n3 4029 4028 1674 \n3 1675 4030 4032 \n3 4030 1674 4031 \n3 4032 4031 1676 \n3 1676 4033 4035 \n3 4033 1677 4034 \n3 4035 4034 1678 \n3 1679 4036 4038 \n3 4036 1678 4037 \n3 4038 4037 1680 \n3 1680 4039 4041 \n3 4039 1681 4040 \n3 4041 4040 1603 \n3 201 1684 4042 \n3 1684 201 442 \n3 442 202 1682 \n3 4043 1682 202 \n3 444 1683 4045 \n3 1683 443 4044 \n3 4045 4044 203 \n3 201 4042 4046 \n3 4042 444 1687 \n3 4046 1687 446 \n3 444 4045 1685 \n3 4045 203 4047 \n3 1685 4047 445 \n3 446 1686 4049 \n3 1686 445 4048 \n3 4049 4048 204 \n3 202 1690 4050 \n3 1690 202 447 \n3 447 205 1688 \n3 4051 1688 205 \n3 449 1689 4053 \n3 1689 448 4052 \n3 4053 4052 206 \n3 202 4050 4043 \n3 4050 449 1693 \n3 4043 1693 443 \n3 449 4053 1691 \n3 4053 206 4054 \n3 1691 4054 450 \n3 443 1692 4044 \n3 1692 450 4055 \n3 4044 4055 203 \n3 205 1696 4056 \n3 1696 205 451 \n3 451 207 1694 \n3 4057 1694 207 \n3 453 1695 4059 \n3 1695 452 4058 \n3 4059 4058 208 \n3 205 4056 4051 \n3 4056 453 1699 \n3 4051 1699 448 \n3 453 4059 1697 \n3 4059 208 4060 \n3 1697 4060 454 \n3 448 1698 4052 \n3 1698 454 4061 \n3 4052 4061 206 \n3 207 1702 4062 \n3 1702 207 455 \n3 455 209 1700 \n3 4063 1700 209 \n3 457 1701 4065 \n3 1701 456 4064 \n3 4065 4064 210 \n3 207 4062 4057 \n3 4062 457 1705 \n3 4057 1705 452 \n3 457 4065 1703 \n3 4065 210 4066 \n3 1703 4066 458 \n3 452 1704 4058 \n3 1704 458 4067 \n3 4058 4067 208 \n3 209 1708 4068 \n3 1708 209 459 \n3 459 211 1706 \n3 4069 1706 211 \n3 461 1707 4071 \n3 1707 460 4070 \n3 4071 4070 212 \n3 209 4068 4063 \n3 4068 461 1711 \n3 4063 1711 456 \n3 461 4071 1709 \n3 4071 212 4072 \n3 1709 4072 462 \n3 456 1710 4064 \n3 1710 462 4073 \n3 4064 4073 210 \n3 211 1714 4074 \n3 1714 211 463 \n3 463 213 1712 \n3 4075 1712 213 \n3 465 1713 4077 \n3 1713 464 4076 \n3 4077 4076 214 \n3 211 4074 4069 \n3 4074 465 1717 \n3 4069 1717 460 \n3 465 4077 1715 \n3 4077 214 4078 \n3 1715 4078 466 \n3 460 1716 4070 \n3 1716 466 4079 \n3 4070 4079 212 \n3 213 1720 4080 \n3 1720 213 467 \n3 467 215 1718 \n3 4081 1718 215 \n3 469 1719 4083 \n3 1719 468 4082 \n3 4083 4082 216 \n3 213 4080 4075 \n3 4080 469 1723 \n3 4075 1723 464 \n3 469 4083 1721 \n3 4083 216 4084 \n3 1721 4084 470 \n3 464 1722 4076 \n3 1722 470 4085 \n3 4076 4085 214 \n3 215 1726 4086 \n3 1726 215 471 \n3 471 217 1724 \n3 4087 1724 217 \n3 473 1725 4089 \n3 1725 472 4088 \n3 4089 4088 218 \n3 215 4086 4081 \n3 4086 473 1729 \n3 4081 1729 468 \n3 473 4089 1727 \n3 4089 218 4090 \n3 1727 4090 474 \n3 468 1728 4082 \n3 1728 474 4091 \n3 4082 4091 216 \n3 217 1732 4092 \n3 1732 217 475 \n3 475 219 1730 \n3 4093 1730 219 \n3 477 1731 4095 \n3 1731 476 4094 \n3 4095 4094 220 \n3 217 4092 4087 \n3 4092 477 1735 \n3 4087 1735 472 \n3 477 4095 1733 \n3 4095 220 4096 \n3 1733 4096 478 \n3 472 1734 4088 \n3 1734 478 4097 \n3 4088 4097 218 \n3 219 1738 4098 \n3 1738 219 479 \n3 479 221 1736 \n3 4099 1736 221 \n3 481 1737 4101 \n3 1737 480 4100 \n3 4101 4100 222 \n3 219 4098 4093 \n3 4098 481 1741 \n3 4093 1741 476 \n3 481 4101 1739 \n3 4101 222 4102 \n3 1739 4102 482 \n3 476 1740 4094 \n3 1740 482 4103 \n3 4094 4103 220 \n3 221 1744 4104 \n3 1744 221 483 \n3 483 223 1742 \n3 4105 1742 223 \n3 485 1743 4107 \n3 1743 484 4106 \n3 4107 4106 224 \n3 221 4104 4099 \n3 4104 485 1747 \n3 4099 1747 480 \n3 485 4107 1745 \n3 4107 224 4108 \n3 1745 4108 486 \n3 480 1746 4100 \n3 1746 486 4109 \n3 4100 4109 222 \n3 223 1750 4110 \n3 1750 223 487 \n3 487 225 1748 \n3 4111 1748 225 \n3 489 1749 4113 \n3 1749 488 4112 \n3 4113 4112 226 \n3 223 4110 4105 \n3 4110 489 1753 \n3 4105 1753 484 \n3 489 4113 1751 \n3 4113 226 4114 \n3 1751 4114 490 \n3 484 1752 4106 \n3 1752 490 4115 \n3 4106 4115 224 \n3 225 1756 4116 \n3 1756 225 491 \n3 491 227 1754 \n3 4117 1754 227 \n3 493 1755 4119 \n3 1755 492 4118 \n3 4119 4118 228 \n3 225 4116 4111 \n3 4116 493 1759 \n3 4111 1759 488 \n3 493 4119 1757 \n3 4119 228 4120 \n3 1757 4120 494 \n3 488 1758 4112 \n3 1758 494 4121 \n3 4112 4121 226 \n3 227 1762 4122 \n3 1762 227 495 \n3 495 229 1760 \n3 4123 1760 229 \n3 497 1761 4125 \n3 1761 496 4124 \n3 4125 4124 230 \n3 227 4122 4117 \n3 4122 497 1765 \n3 4117 1765 492 \n3 497 4125 1763 \n3 4125 230 4126 \n3 1763 4126 498 \n3 492 1764 4118 \n3 1764 498 4127 \n3 4118 4127 228 \n3 229 1768 4128 \n3 1768 229 499 \n3 499 231 1766 \n3 4129 1766 231 \n3 501 1767 4131 \n3 1767 500 4130 \n3 4131 4130 232 \n3 229 4128 4123 \n3 4128 501 1771 \n3 4123 1771 496 \n3 501 4131 1769 \n3 4131 232 4132 \n3 1769 4132 502 \n3 496 1770 4124 \n3 1770 502 4133 \n3 4124 4133 230 \n3 231 1774 4134 \n3 1774 231 503 \n3 503 233 1772 \n3 4135 1772 233 \n3 505 1773 4137 \n3 1773 504 4136 \n3 4137 4136 234 \n3 231 4134 4129 \n3 4134 505 1777 \n3 4129 1777 500 \n3 505 4137 1775 \n3 4137 234 4138 \n3 1775 4138 506 \n3 500 1776 4130 \n3 1776 506 4139 \n3 4130 4139 232 \n3 233 1780 4140 \n3 1780 233 507 \n3 507 235 1778 \n3 4141 1778 235 \n3 509 1779 4143 \n3 1779 508 4142 \n3 4143 4142 236 \n3 233 4140 4135 \n3 4140 509 1783 \n3 4135 1783 504 \n3 509 4143 1781 \n3 4143 236 4144 \n3 1781 4144 510 \n3 504 1782 4136 \n3 1782 510 4145 \n3 4136 4145 234 \n3 235 1786 4146 \n3 1786 235 511 \n3 511 237 1784 \n3 4147 1784 237 \n3 513 1785 4149 \n3 1785 512 4148 \n3 4149 4148 238 \n3 235 4146 4141 \n3 4146 513 1789 \n3 4141 1789 508 \n3 513 4149 1787 \n3 4149 238 4150 \n3 1787 4150 514 \n3 508 1788 4142 \n3 1788 514 4151 \n3 4142 4151 236 \n3 237 1792 4152 \n3 1792 237 515 \n3 515 239 1790 \n3 4153 1790 239 \n3 517 1791 4155 \n3 1791 516 4154 \n3 4155 4154 240 \n3 237 4152 4147 \n3 4152 517 1795 \n3 4147 1795 512 \n3 517 4155 1793 \n3 4155 240 4156 \n3 1793 4156 518 \n3 512 1794 4148 \n3 1794 518 4157 \n3 4148 4157 238 \n3 239 1798 4158 \n3 1798 239 519 \n3 519 201 1796 \n3 4046 1796 201 \n3 520 1797 4159 \n3 1797 446 4049 \n3 4159 4049 204 \n3 239 4158 4153 \n3 4158 520 1801 \n3 4153 1801 516 \n3 520 4159 1799 \n3 4159 204 4160 \n3 1799 4160 521 \n3 516 1800 4154 \n3 1800 521 4161 \n3 4154 4161 240 \n3 204 4048 4162 \n3 4048 445 1804 \n3 4162 1804 523 \n3 445 4047 1802 \n3 4047 203 4163 \n3 1802 4163 522 \n3 523 1803 4165 \n3 1803 522 4164 \n3 4165 4164 241 \n3 204 4162 4166 \n3 4162 523 1807 \n3 4166 1807 525 \n3 523 4165 1805 \n3 4165 241 4167 \n3 1805 4167 524 \n3 525 1806 4169 \n3 1806 524 4168 \n3 4169 4168 242 \n3 203 4055 4170 \n3 4055 450 1810 \n3 4170 1810 527 \n3 450 4054 1808 \n3 4054 206 4171 \n3 1808 4171 526 \n3 527 1809 4173 \n3 1809 526 4172 \n3 4173 4172 243 \n3 203 4170 4163 \n3 4170 527 1813 \n3 4163 1813 522 \n3 527 4173 1811 \n3 4173 243 4174 \n3 1811 4174 528 \n3 522 1812 4164 \n3 1812 528 4175 \n3 4164 4175 241 \n3 206 4061 4176 \n3 4061 454 1816 \n3 4176 1816 530 \n3 454 4060 1814 \n3 4060 208 4177 \n3 1814 4177 529 \n3 530 1815 4179 \n3 1815 529 4178 \n3 4179 4178 244 \n3 206 4176 4171 \n3 4176 530 1819 \n3 4171 1819 526 \n3 530 4179 1817 \n3 4179 244 4180 \n3 1817 4180 531 \n3 526 1818 4172 \n3 1818 531 4181 \n3 4172 4181 243 \n3 208 4067 4182 \n3 4067 458 1822 \n3 4182 1822 533 \n3 458 4066 1820 \n3 4066 210 4183 \n3 1820 4183 532 \n3 533 1821 4185 \n3 1821 532 4184 \n3 4185 4184 245 \n3 208 4182 4177 \n3 4182 533 1825 \n3 4177 1825 529 \n3 533 4185 1823 \n3 4185 245 4186 \n3 1823 4186 534 \n3 529 1824 4178 \n3 1824 534 4187 \n3 4178 4187 244 \n3 210 4073 4188 \n3 4073 462 1828 \n3 4188 1828 536 \n3 462 4072 1826 \n3 4072 212 4189 \n3 1826 4189 535 \n3 536 1827 4191 \n3 1827 535 4190 \n3 4191 4190 246 \n3 210 4188 4183 \n3 4188 536 1831 \n3 4183 1831 532 \n3 536 4191 1829 \n3 4191 246 4192 \n3 1829 4192 537 \n3 532 1830 4184 \n3 1830 537 4193 \n3 4184 4193 245 \n3 212 4079 4194 \n3 4079 466 1834 \n3 4194 1834 539 \n3 466 4078 1832 \n3 4078 214 4195 \n3 1832 4195 538 \n3 539 1833 4197 \n3 1833 538 4196 \n3 4197 4196 247 \n3 212 4194 4189 \n3 4194 539 1837 \n3 4189 1837 535 \n3 539 4197 1835 \n3 4197 247 4198 \n3 1835 4198 540 \n3 535 1836 4190 \n3 1836 540 4199 \n3 4190 4199 246 \n3 214 4085 4200 \n3 4085 470 1840 \n3 4200 1840 542 \n3 470 4084 1838 \n3 4084 216 4201 \n3 1838 4201 541 \n3 542 1839 4203 \n3 1839 541 4202 \n3 4203 4202 248 \n3 214 4200 4195 \n3 4200 542 1843 \n3 4195 1843 538 \n3 542 4203 1841 \n3 4203 248 4204 \n3 1841 4204 543 \n3 538 1842 4196 \n3 1842 543 4205 \n3 4196 4205 247 \n3 216 4091 4206 \n3 4091 474 1846 \n3 4206 1846 545 \n3 474 4090 1844 \n3 4090 218 4207 \n3 1844 4207 544 \n3 545 1845 4209 \n3 1845 544 4208 \n3 4209 4208 249 \n3 216 4206 4201 \n3 4206 545 1849 \n3 4201 1849 541 \n3 545 4209 1847 \n3 4209 249 4210 \n3 1847 4210 546 \n3 541 1848 4202 \n3 1848 546 4211 \n3 4202 4211 248 \n3 218 4097 4212 \n3 4097 478 1852 \n3 4212 1852 548 \n3 478 4096 1850 \n3 4096 220 4213 \n3 1850 4213 547 \n3 548 1851 4215 \n3 1851 547 4214 \n3 4215 4214 250 \n3 218 4212 4207 \n3 4212 548 1855 \n3 4207 1855 544 \n3 548 4215 1853 \n3 4215 250 4216 \n3 1853 4216 549 \n3 544 1854 4208 \n3 1854 549 4217 \n3 4208 4217 249 \n3 220 4103 4218 \n3 4103 482 1858 \n3 4218 1858 551 \n3 482 4102 1856 \n3 4102 222 4219 \n3 1856 4219 550 \n3 551 1857 4221 \n3 1857 550 4220 \n3 4221 4220 251 \n3 220 4218 4213 \n3 4218 551 1861 \n3 4213 1861 547 \n3 551 4221 1859 \n3 4221 251 4222 \n3 1859 4222 552 \n3 547 1860 4214 \n3 1860 552 4223 \n3 4214 4223 250 \n3 222 4109 4224 \n3 4109 486 1864 \n3 4224 1864 554 \n3 486 4108 1862 \n3 4108 224 4225 \n3 1862 4225 553 \n3 554 1863 4227 \n3 1863 553 4226 \n3 4227 4226 252 \n3 222 4224 4219 \n3 4224 554 1867 \n3 4219 1867 550 \n3 554 4227 1865 \n3 4227 252 4228 \n3 1865 4228 555 \n3 550 1866 4220 \n3 1866 555 4229 \n3 4220 4229 251 \n3 224 4115 4230 \n3 4115 490 1870 \n3 4230 1870 557 \n3 490 4114 1868 \n3 4114 226 4231 \n3 1868 4231 556 \n3 557 1869 4233 \n3 1869 556 4232 \n3 4233 4232 253 \n3 224 4230 4225 \n3 4230 557 1873 \n3 4225 1873 553 \n3 557 4233 1871 \n3 4233 253 4234 \n3 1871 4234 558 \n3 553 1872 4226 \n3 1872 558 4235 \n3 4226 4235 252 \n3 226 4121 4236 \n3 4121 494 1876 \n3 4236 1876 560 \n3 494 4120 1874 \n3 4120 228 4237 \n3 1874 4237 559 \n3 560 1875 4239 \n3 1875 559 4238 \n3 4239 4238 254 \n3 226 4236 4231 \n3 4236 560 1879 \n3 4231 1879 556 \n3 560 4239 1877 \n3 4239 254 4240 \n3 1877 4240 561 \n3 556 1878 4232 \n3 1878 561 4241 \n3 4232 4241 253 \n3 228 4127 4242 \n3 4127 498 1882 \n3 4242 1882 563 \n3 498 4126 1880 \n3 4126 230 4243 \n3 1880 4243 562 \n3 563 1881 4245 \n3 1881 562 4244 \n3 4245 4244 255 \n3 228 4242 4237 \n3 4242 563 1885 \n3 4237 1885 559 \n3 563 4245 1883 \n3 4245 255 4246 \n3 1883 4246 564 \n3 559 1884 4238 \n3 1884 564 4247 \n3 4238 4247 254 \n3 230 4133 4248 \n3 4133 502 1888 \n3 4248 1888 566 \n3 502 4132 1886 \n3 4132 232 4249 \n3 1886 4249 565 \n3 566 1887 4251 \n3 1887 565 4250 \n3 4251 4250 256 \n3 230 4248 4243 \n3 4248 566 1891 \n3 4243 1891 562 \n3 566 4251 1889 \n3 4251 256 4252 \n3 1889 4252 567 \n3 562 1890 4244 \n3 1890 567 4253 \n3 4244 4253 255 \n3 232 4139 4254 \n3 4139 506 1894 \n3 4254 1894 569 \n3 506 4138 1892 \n3 4138 234 4255 \n3 1892 4255 568 \n3 569 1893 4257 \n3 1893 568 4256 \n3 4257 4256 257 \n3 232 4254 4249 \n3 4254 569 1897 \n3 4249 1897 565 \n3 569 4257 1895 \n3 4257 257 4258 \n3 1895 4258 570 \n3 565 1896 4250 \n3 1896 570 4259 \n3 4250 4259 256 \n3 234 4145 4260 \n3 4145 510 1900 \n3 4260 1900 572 \n3 510 4144 1898 \n3 4144 236 4261 \n3 1898 4261 571 \n3 572 1899 4263 \n3 1899 571 4262 \n3 4263 4262 258 \n3 234 4260 4255 \n3 4260 572 1903 \n3 4255 1903 568 \n3 572 4263 1901 \n3 4263 258 4264 \n3 1901 4264 573 \n3 568 1902 4256 \n3 1902 573 4265 \n3 4256 4265 257 \n3 236 4151 4266 \n3 4151 514 1906 \n3 4266 1906 575 \n3 514 4150 1904 \n3 4150 238 4267 \n3 1904 4267 574 \n3 575 1905 4269 \n3 1905 574 4268 \n3 4269 4268 259 \n3 236 4266 4261 \n3 4266 575 1909 \n3 4261 1909 571 \n3 575 4269 1907 \n3 4269 259 4270 \n3 1907 4270 576 \n3 571 1908 4262 \n3 1908 576 4271 \n3 4262 4271 258 \n3 238 4157 4272 \n3 4157 518 1912 \n3 4272 1912 578 \n3 518 4156 1910 \n3 4156 240 4273 \n3 1910 4273 577 \n3 578 1911 4275 \n3 1911 577 4274 \n3 4275 4274 260 \n3 238 4272 4267 \n3 4272 578 1915 \n3 4267 1915 574 \n3 578 4275 1913 \n3 4275 260 4276 \n3 1913 4276 579 \n3 574 1914 4268 \n3 1914 579 4277 \n3 4268 4277 259 \n3 240 4161 4278 \n3 4161 521 1918 \n3 4278 1918 580 \n3 521 4160 1916 \n3 4160 204 4166 \n3 1916 4166 525 \n3 580 1917 4279 \n3 1917 525 4169 \n3 4279 4169 242 \n3 240 4278 4273 \n3 4278 580 1921 \n3 4273 1921 577 \n3 580 4279 1919 \n3 4279 242 4280 \n3 1919 4280 581 \n3 577 1920 4274 \n3 1920 581 4281 \n3 4274 4281 260 \n3 242 4168 4282 \n3 4168 524 1924 \n3 4282 1924 583 \n3 524 4167 1922 \n3 4167 241 4283 \n3 1922 4283 582 \n3 583 1923 4285 \n3 1923 582 4284 \n3 4285 4284 261 \n3 242 4282 4286 \n3 4282 583 1927 \n3 4286 1927 585 \n3 583 4285 1925 \n3 4285 261 4287 \n3 1925 4287 584 \n3 585 1926 4289 \n3 1926 584 4288 \n3 4289 4288 262 \n3 241 4175 4290 \n3 4175 528 1930 \n3 4290 1930 587 \n3 528 4174 1928 \n3 4174 243 4291 \n3 1928 4291 586 \n3 587 1929 4293 \n3 1929 586 4292 \n3 4293 4292 263 \n3 241 4290 4283 \n3 4290 587 1933 \n3 4283 1933 582 \n3 587 4293 1931 \n3 4293 263 4294 \n3 1931 4294 588 \n3 582 1932 4284 \n3 1932 588 4295 \n3 4284 4295 261 \n3 243 4181 4296 \n3 4181 531 1936 \n3 4296 1936 590 \n3 531 4180 1934 \n3 4180 244 4297 \n3 1934 4297 589 \n3 590 1935 4299 \n3 1935 589 4298 \n3 4299 4298 264 \n3 243 4296 4291 \n3 4296 590 1939 \n3 4291 1939 586 \n3 590 4299 1937 \n3 4299 264 4300 \n3 1937 4300 591 \n3 586 1938 4292 \n3 1938 591 4301 \n3 4292 4301 263 \n3 244 4187 4302 \n3 4187 534 1942 \n3 4302 1942 593 \n3 534 4186 1940 \n3 4186 245 4303 \n3 1940 4303 592 \n3 593 1941 4305 \n3 1941 592 4304 \n3 4305 4304 265 \n3 244 4302 4297 \n3 4302 593 1945 \n3 4297 1945 589 \n3 593 4305 1943 \n3 4305 265 4306 \n3 1943 4306 594 \n3 589 1944 4298 \n3 1944 594 4307 \n3 4298 4307 264 \n3 245 4193 4308 \n3 4193 537 1948 \n3 4308 1948 596 \n3 537 4192 1946 \n3 4192 246 4309 \n3 1946 4309 595 \n3 596 1947 4311 \n3 1947 595 4310 \n3 4311 4310 266 \n3 245 4308 4303 \n3 4308 596 1951 \n3 4303 1951 592 \n3 596 4311 1949 \n3 4311 266 4312 \n3 1949 4312 597 \n3 592 1950 4304 \n3 1950 597 4313 \n3 4304 4313 265 \n3 246 4199 4314 \n3 4199 540 1954 \n3 4314 1954 599 \n3 540 4198 1952 \n3 4198 247 4315 \n3 1952 4315 598 \n3 599 1953 4317 \n3 1953 598 4316 \n3 4317 4316 267 \n3 246 4314 4309 \n3 4314 599 1957 \n3 4309 1957 595 \n3 599 4317 1955 \n3 4317 267 4318 \n3 1955 4318 600 \n3 595 1956 4310 \n3 1956 600 4319 \n3 4310 4319 266 \n3 247 4205 4320 \n3 4205 543 1960 \n3 4320 1960 602 \n3 543 4204 1958 \n3 4204 248 4321 \n3 1958 4321 601 \n3 602 1959 4323 \n3 1959 601 4322 \n3 4323 4322 268 \n3 247 4320 4315 \n3 4320 602 1963 \n3 4315 1963 598 \n3 602 4323 1961 \n3 4323 268 4324 \n3 1961 4324 603 \n3 598 1962 4316 \n3 1962 603 4325 \n3 4316 4325 267 \n3 248 4211 4326 \n3 4211 546 1966 \n3 4326 1966 605 \n3 546 4210 1964 \n3 4210 249 4327 \n3 1964 4327 604 \n3 605 1965 4329 \n3 1965 604 4328 \n3 4329 4328 269 \n3 248 4326 4321 \n3 4326 605 1969 \n3 4321 1969 601 \n3 605 4329 1967 \n3 4329 269 4330 \n3 1967 4330 606 \n3 601 1968 4322 \n3 1968 606 4331 \n3 4322 4331 268 \n3 249 4217 4332 \n3 4217 549 1972 \n3 4332 1972 608 \n3 549 4216 1970 \n3 4216 250 4333 \n3 1970 4333 607 \n3 608 1971 4335 \n3 1971 607 4334 \n3 4335 4334 270 \n3 249 4332 4327 \n3 4332 608 1975 \n3 4327 1975 604 \n3 608 4335 1973 \n3 4335 270 4336 \n3 1973 4336 609 \n3 604 1974 4328 \n3 1974 609 4337 \n3 4328 4337 269 \n3 250 4223 4338 \n3 4223 552 1978 \n3 4338 1978 611 \n3 552 4222 1976 \n3 4222 251 4339 \n3 1976 4339 610 \n3 611 1977 4341 \n3 1977 610 4340 \n3 4341 4340 271 \n3 250 4338 4333 \n3 4338 611 1981 \n3 4333 1981 607 \n3 611 4341 1979 \n3 4341 271 4342 \n3 1979 4342 612 \n3 607 1980 4334 \n3 1980 612 4343 \n3 4334 4343 270 \n3 251 4229 4344 \n3 4229 555 1984 \n3 4344 1984 614 \n3 555 4228 1982 \n3 4228 252 4345 \n3 1982 4345 613 \n3 614 1983 4347 \n3 1983 613 4346 \n3 4347 4346 272 \n3 251 4344 4339 \n3 4344 614 1987 \n3 4339 1987 610 \n3 614 4347 1985 \n3 4347 272 4348 \n3 1985 4348 615 \n3 610 1986 4340 \n3 1986 615 4349 \n3 4340 4349 271 \n3 252 4235 4350 \n3 4235 558 1990 \n3 4350 1990 617 \n3 558 4234 1988 \n3 4234 253 4351 \n3 1988 4351 616 \n3 617 1989 4353 \n3 1989 616 4352 \n3 4353 4352 273 \n3 252 4350 4345 \n3 4350 617 1993 \n3 4345 1993 613 \n3 617 4353 1991 \n3 4353 273 4354 \n3 1991 4354 618 \n3 613 1992 4346 \n3 1992 618 4355 \n3 4346 4355 272 \n3 253 4241 4356 \n3 4241 561 1996 \n3 4356 1996 620 \n3 561 4240 1994 \n3 4240 254 4357 \n3 1994 4357 619 \n3 620 1995 4359 \n3 1995 619 4358 \n3 4359 4358 274 \n3 253 4356 4351 \n3 4356 620 1999 \n3 4351 1999 616 \n3 620 4359 1997 \n3 4359 274 4360 \n3 1997 4360 621 \n3 616 1998 4352 \n3 1998 621 4361 \n3 4352 4361 273 \n3 254 4247 4362 \n3 4247 564 2002 \n3 4362 2002 623 \n3 564 4246 2000 \n3 4246 255 4363 \n3 2000 4363 622 \n3 623 2001 4365 \n3 2001 622 4364 \n3 4365 4364 275 \n3 254 4362 4357 \n3 4362 623 2005 \n3 4357 2005 619 \n3 623 4365 2003 \n3 4365 275 4366 \n3 2003 4366 624 \n3 619 2004 4358 \n3 2004 624 4367 \n3 4358 4367 274 \n3 255 4253 4368 \n3 4253 567 2008 \n3 4368 2008 626 \n3 567 4252 2006 \n3 4252 256 4369 \n3 2006 4369 625 \n3 626 2007 4371 \n3 2007 625 4370 \n3 4371 4370 276 \n3 255 4368 4363 \n3 4368 626 2011 \n3 4363 2011 622 \n3 626 4371 2009 \n3 4371 276 4372 \n3 2009 4372 627 \n3 622 2010 4364 \n3 2010 627 4373 \n3 4364 4373 275 \n3 256 4259 4374 \n3 4259 570 2014 \n3 4374 2014 629 \n3 570 4258 2012 \n3 4258 257 4375 \n3 2012 4375 628 \n3 629 2013 4377 \n3 2013 628 4376 \n3 4377 4376 277 \n3 256 4374 4369 \n3 4374 629 2017 \n3 4369 2017 625 \n3 629 4377 2015 \n3 4377 277 4378 \n3 2015 4378 630 \n3 625 2016 4370 \n3 2016 630 4379 \n3 4370 4379 276 \n3 257 4265 4380 \n3 4265 573 2020 \n3 4380 2020 632 \n3 573 4264 2018 \n3 4264 258 4381 \n3 2018 4381 631 \n3 632 2019 4383 \n3 2019 631 4382 \n3 4383 4382 278 \n3 257 4380 4375 \n3 4380 632 2023 \n3 4375 2023 628 \n3 632 4383 2021 \n3 4383 278 4384 \n3 2021 4384 633 \n3 628 2022 4376 \n3 2022 633 4385 \n3 4376 4385 277 \n3 258 4271 4386 \n3 4271 576 2026 \n3 4386 2026 635 \n3 576 4270 2024 \n3 4270 259 4387 \n3 2024 4387 634 \n3 635 2025 4389 \n3 2025 634 4388 \n3 4389 4388 279 \n3 258 4386 4381 \n3 4386 635 2029 \n3 4381 2029 631 \n3 635 4389 2027 \n3 4389 279 4390 \n3 2027 4390 636 \n3 631 2028 4382 \n3 2028 636 4391 \n3 4382 4391 278 \n3 259 4277 4392 \n3 4277 579 2032 \n3 4392 2032 638 \n3 579 4276 2030 \n3 4276 260 4393 \n3 2030 4393 637 \n3 638 2031 4395 \n3 2031 637 4394 \n3 4395 4394 280 \n3 259 4392 4387 \n3 4392 638 2035 \n3 4387 2035 634 \n3 638 4395 2033 \n3 4395 280 4396 \n3 2033 4396 639 \n3 634 2034 4388 \n3 2034 639 4397 \n3 4388 4397 279 \n3 260 4281 4398 \n3 4281 581 2038 \n3 4398 2038 640 \n3 581 4280 2036 \n3 4280 242 4286 \n3 2036 4286 585 \n3 640 2037 4399 \n3 2037 585 4289 \n3 4399 4289 262 \n3 260 4398 4393 \n3 4398 640 2041 \n3 4393 2041 637 \n3 640 4399 2039 \n3 4399 262 4400 \n3 2039 4400 641 \n3 637 2040 4394 \n3 2040 641 4401 \n3 4394 4401 280 \n3 262 4288 4402 \n3 4288 584 2044 \n3 4402 2044 643 \n3 584 4287 2042 \n3 4287 261 4403 \n3 2042 4403 642 \n3 643 2043 4405 \n3 2043 642 4404 \n3 4405 4404 281 \n3 262 4402 4406 \n3 4402 643 2047 \n3 4406 2047 645 \n3 643 4405 2045 \n3 4405 281 4407 \n3 2045 4407 644 \n3 645 2046 4409 \n3 2046 644 4408 \n3 4409 4408 282 \n3 261 4295 4410 \n3 4295 588 2050 \n3 4410 2050 647 \n3 588 4294 2048 \n3 4294 263 4411 \n3 2048 4411 646 \n3 647 2049 4413 \n3 2049 646 4412 \n3 4413 4412 283 \n3 261 4410 4403 \n3 4410 647 2053 \n3 4403 2053 642 \n3 647 4413 2051 \n3 4413 283 4414 \n3 2051 4414 648 \n3 642 2052 4404 \n3 2052 648 4415 \n3 4404 4415 281 \n3 263 4301 4416 \n3 4301 591 2056 \n3 4416 2056 650 \n3 591 4300 2054 \n3 4300 264 4417 \n3 2054 4417 649 \n3 650 2055 4419 \n3 2055 649 4418 \n3 4419 4418 284 \n3 263 4416 4411 \n3 4416 650 2059 \n3 4411 2059 646 \n3 650 4419 2057 \n3 4419 284 4420 \n3 2057 4420 651 \n3 646 2058 4412 \n3 2058 651 4421 \n3 4412 4421 283 \n3 264 4307 4422 \n3 4307 594 2062 \n3 4422 2062 653 \n3 594 4306 2060 \n3 4306 265 4423 \n3 2060 4423 652 \n3 653 2061 4425 \n3 2061 652 4424 \n3 4425 4424 285 \n3 264 4422 4417 \n3 4422 653 2065 \n3 4417 2065 649 \n3 653 4425 2063 \n3 4425 285 4426 \n3 2063 4426 654 \n3 649 2064 4418 \n3 2064 654 4427 \n3 4418 4427 284 \n3 265 4313 4428 \n3 4313 597 2068 \n3 4428 2068 656 \n3 597 4312 2066 \n3 4312 266 4429 \n3 2066 4429 655 \n3 656 2067 4431 \n3 2067 655 4430 \n3 4431 4430 286 \n3 265 4428 4423 \n3 4428 656 2071 \n3 4423 2071 652 \n3 656 4431 2069 \n3 4431 286 4432 \n3 2069 4432 657 \n3 652 2070 4424 \n3 2070 657 4433 \n3 4424 4433 285 \n3 266 4319 4434 \n3 4319 600 2074 \n3 4434 2074 659 \n3 600 4318 2072 \n3 4318 267 4435 \n3 2072 4435 658 \n3 659 2073 4437 \n3 2073 658 4436 \n3 4437 4436 287 \n3 266 4434 4429 \n3 4434 659 2077 \n3 4429 2077 655 \n3 659 4437 2075 \n3 4437 287 4438 \n3 2075 4438 660 \n3 655 2076 4430 \n3 2076 660 4439 \n3 4430 4439 286 \n3 267 4325 4440 \n3 4325 603 2080 \n3 4440 2080 662 \n3 603 4324 2078 \n3 4324 268 4441 \n3 2078 4441 661 \n3 662 2079 4443 \n3 2079 661 4442 \n3 4443 4442 288 \n3 267 4440 4435 \n3 4440 662 2083 \n3 4435 2083 658 \n3 662 4443 2081 \n3 4443 288 4444 \n3 2081 4444 663 \n3 658 2082 4436 \n3 2082 663 4445 \n3 4436 4445 287 \n3 268 4331 4446 \n3 4331 606 2086 \n3 4446 2086 665 \n3 606 4330 2084 \n3 4330 269 4447 \n3 2084 4447 664 \n3 665 2085 4449 \n3 2085 664 4448 \n3 4449 4448 289 \n3 268 4446 4441 \n3 4446 665 2089 \n3 4441 2089 661 \n3 665 4449 2087 \n3 4449 289 4450 \n3 2087 4450 666 \n3 661 2088 4442 \n3 2088 666 4451 \n3 4442 4451 288 \n3 269 4337 4452 \n3 4337 609 2092 \n3 4452 2092 668 \n3 609 4336 2090 \n3 4336 270 4453 \n3 2090 4453 667 \n3 668 2091 4455 \n3 2091 667 4454 \n3 4455 4454 290 \n3 269 4452 4447 \n3 4452 668 2095 \n3 4447 2095 664 \n3 668 4455 2093 \n3 4455 290 4456 \n3 2093 4456 669 \n3 664 2094 4448 \n3 2094 669 4457 \n3 4448 4457 289 \n3 270 4343 4458 \n3 4343 612 2098 \n3 4458 2098 671 \n3 612 4342 2096 \n3 4342 271 4459 \n3 2096 4459 670 \n3 671 2097 4461 \n3 2097 670 4460 \n3 4461 4460 291 \n3 270 4458 4453 \n3 4458 671 2101 \n3 4453 2101 667 \n3 671 4461 2099 \n3 4461 291 4462 \n3 2099 4462 672 \n3 667 2100 4454 \n3 2100 672 4463 \n3 4454 4463 290 \n3 271 4349 4464 \n3 4349 615 2104 \n3 4464 2104 674 \n3 615 4348 2102 \n3 4348 272 4465 \n3 2102 4465 673 \n3 674 2103 4467 \n3 2103 673 4466 \n3 4467 4466 292 \n3 271 4464 4459 \n3 4464 674 2107 \n3 4459 2107 670 \n3 674 4467 2105 \n3 4467 292 4468 \n3 2105 4468 675 \n3 670 2106 4460 \n3 2106 675 4469 \n3 4460 4469 291 \n3 272 4355 4470 \n3 4355 618 2110 \n3 4470 2110 677 \n3 618 4354 2108 \n3 4354 273 4471 \n3 2108 4471 676 \n3 677 2109 4473 \n3 2109 676 4472 \n3 4473 4472 293 \n3 272 4470 4465 \n3 4470 677 2113 \n3 4465 2113 673 \n3 677 4473 2111 \n3 4473 293 4474 \n3 2111 4474 678 \n3 673 2112 4466 \n3 2112 678 4475 \n3 4466 4475 292 \n3 273 4361 4476 \n3 4361 621 2116 \n3 4476 2116 680 \n3 621 4360 2114 \n3 4360 274 4477 \n3 2114 4477 679 \n3 680 2115 4479 \n3 2115 679 4478 \n3 4479 4478 294 \n3 273 4476 4471 \n3 4476 680 2119 \n3 4471 2119 676 \n3 680 4479 2117 \n3 4479 294 4480 \n3 2117 4480 681 \n3 676 2118 4472 \n3 2118 681 4481 \n3 4472 4481 293 \n3 274 4367 4482 \n3 4367 624 2122 \n3 4482 2122 683 \n3 624 4366 2120 \n3 4366 275 4483 \n3 2120 4483 682 \n3 683 2121 4485 \n3 2121 682 4484 \n3 4485 4484 295 \n3 274 4482 4477 \n3 4482 683 2125 \n3 4477 2125 679 \n3 683 4485 2123 \n3 4485 295 4486 \n3 2123 4486 684 \n3 679 2124 4478 \n3 2124 684 4487 \n3 4478 4487 294 \n3 275 4373 4488 \n3 4373 627 2128 \n3 4488 2128 686 \n3 627 4372 2126 \n3 4372 276 4489 \n3 2126 4489 685 \n3 686 2127 4491 \n3 2127 685 4490 \n3 4491 4490 296 \n3 275 4488 4483 \n3 4488 686 2131 \n3 4483 2131 682 \n3 686 4491 2129 \n3 4491 296 4492 \n3 2129 4492 687 \n3 682 2130 4484 \n3 2130 687 4493 \n3 4484 4493 295 \n3 276 4379 4494 \n3 4379 630 2134 \n3 4494 2134 689 \n3 630 4378 2132 \n3 4378 277 4495 \n3 2132 4495 688 \n3 689 2133 4497 \n3 2133 688 4496 \n3 4497 4496 297 \n3 276 4494 4489 \n3 4494 689 2137 \n3 4489 2137 685 \n3 689 4497 2135 \n3 4497 297 4498 \n3 2135 4498 690 \n3 685 2136 4490 \n3 2136 690 4499 \n3 4490 4499 296 \n3 277 4385 4500 \n3 4385 633 2140 \n3 4500 2140 692 \n3 633 4384 2138 \n3 4384 278 4501 \n3 2138 4501 691 \n3 692 2139 4503 \n3 2139 691 4502 \n3 4503 4502 298 \n3 277 4500 4495 \n3 4500 692 2143 \n3 4495 2143 688 \n3 692 4503 2141 \n3 4503 298 4504 \n3 2141 4504 693 \n3 688 2142 4496 \n3 2142 693 4505 \n3 4496 4505 297 \n3 278 4391 4506 \n3 4391 636 2146 \n3 4506 2146 695 \n3 636 4390 2144 \n3 4390 279 4507 \n3 2144 4507 694 \n3 695 2145 4509 \n3 2145 694 4508 \n3 4509 4508 299 \n3 278 4506 4501 \n3 4506 695 2149 \n3 4501 2149 691 \n3 695 4509 2147 \n3 4509 299 4510 \n3 2147 4510 696 \n3 691 2148 4502 \n3 2148 696 4511 \n3 4502 4511 298 \n3 279 4397 4512 \n3 4397 639 2152 \n3 4512 2152 698 \n3 639 4396 2150 \n3 4396 280 4513 \n3 2150 4513 697 \n3 698 2151 4515 \n3 2151 697 4514 \n3 4515 4514 300 \n3 279 4512 4507 \n3 4512 698 2155 \n3 4507 2155 694 \n3 698 4515 2153 \n3 4515 300 4516 \n3 2153 4516 699 \n3 694 2154 4508 \n3 2154 699 4517 \n3 4508 4517 299 \n3 280 4401 4518 \n3 4401 641 2158 \n3 4518 2158 700 \n3 641 4400 2156 \n3 4400 262 4406 \n3 2156 4406 645 \n3 700 2157 4519 \n3 2157 645 4409 \n3 4519 4409 282 \n3 280 4518 4513 \n3 4518 700 2161 \n3 4513 2161 697 \n3 700 4519 2159 \n3 4519 282 4520 \n3 2159 4520 701 \n3 697 2160 4514 \n3 2160 701 4521 \n3 4514 4521 300 \n3 282 4408 4522 \n3 4408 644 2164 \n3 4522 2164 703 \n3 644 4407 2162 \n3 4407 281 4523 \n3 2162 4523 702 \n3 703 2163 4525 \n3 2163 702 4524 \n3 4525 4524 301 \n3 282 4522 4526 \n3 4522 703 2167 \n3 4526 2167 705 \n3 703 4525 2165 \n3 4525 301 4527 \n3 2165 4527 704 \n3 705 2166 4529 \n3 2166 704 4528 \n3 4529 4528 302 \n3 281 4415 4530 \n3 4415 648 2170 \n3 4530 2170 707 \n3 648 4414 2168 \n3 4414 283 4531 \n3 2168 4531 706 \n3 707 2169 4533 \n3 2169 706 4532 \n3 4533 4532 303 \n3 281 4530 4523 \n3 4530 707 2173 \n3 4523 2173 702 \n3 707 4533 2171 \n3 4533 303 4534 \n3 2171 4534 708 \n3 702 2172 4524 \n3 2172 708 4535 \n3 4524 4535 301 \n3 283 4421 4536 \n3 4421 651 2176 \n3 4536 2176 710 \n3 651 4420 2174 \n3 4420 284 4537 \n3 2174 4537 709 \n3 710 2175 4539 \n3 2175 709 4538 \n3 4539 4538 304 \n3 283 4536 4531 \n3 4536 710 2179 \n3 4531 2179 706 \n3 710 4539 2177 \n3 4539 304 4540 \n3 2177 4540 711 \n3 706 2178 4532 \n3 2178 711 4541 \n3 4532 4541 303 \n3 284 4427 4542 \n3 4427 654 2182 \n3 4542 2182 713 \n3 654 4426 2180 \n3 4426 285 4543 \n3 2180 4543 712 \n3 713 2181 4545 \n3 2181 712 4544 \n3 4545 4544 305 \n3 284 4542 4537 \n3 4542 713 2185 \n3 4537 2185 709 \n3 713 4545 2183 \n3 4545 305 4546 \n3 2183 4546 714 \n3 709 2184 4538 \n3 2184 714 4547 \n3 4538 4547 304 \n3 285 4433 4548 \n3 4433 657 2188 \n3 4548 2188 716 \n3 657 4432 2186 \n3 4432 286 4549 \n3 2186 4549 715 \n3 716 2187 4551 \n3 2187 715 4550 \n3 4551 4550 306 \n3 285 4548 4543 \n3 4548 716 2191 \n3 4543 2191 712 \n3 716 4551 2189 \n3 4551 306 4552 \n3 2189 4552 717 \n3 712 2190 4544 \n3 2190 717 4553 \n3 4544 4553 305 \n3 286 4439 4554 \n3 4439 660 2194 \n3 4554 2194 719 \n3 660 4438 2192 \n3 4438 287 4555 \n3 2192 4555 718 \n3 719 2193 4557 \n3 2193 718 4556 \n3 4557 4556 307 \n3 286 4554 4549 \n3 4554 719 2197 \n3 4549 2197 715 \n3 719 4557 2195 \n3 4557 307 4558 \n3 2195 4558 720 \n3 715 2196 4550 \n3 2196 720 4559 \n3 4550 4559 306 \n3 287 4445 4560 \n3 4445 663 2200 \n3 4560 2200 722 \n3 663 4444 2198 \n3 4444 288 4561 \n3 2198 4561 721 \n3 722 2199 4563 \n3 2199 721 4562 \n3 4563 4562 308 \n3 287 4560 4555 \n3 4560 722 2203 \n3 4555 2203 718 \n3 722 4563 2201 \n3 4563 308 4564 \n3 2201 4564 723 \n3 718 2202 4556 \n3 2202 723 4565 \n3 4556 4565 307 \n3 288 4451 4566 \n3 4451 666 2206 \n3 4566 2206 725 \n3 666 4450 2204 \n3 4450 289 4567 \n3 2204 4567 724 \n3 725 2205 4569 \n3 2205 724 4568 \n3 4569 4568 309 \n3 288 4566 4561 \n3 4566 725 2209 \n3 4561 2209 721 \n3 725 4569 2207 \n3 4569 309 4570 \n3 2207 4570 726 \n3 721 2208 4562 \n3 2208 726 4571 \n3 4562 4571 308 \n3 289 4457 4572 \n3 4457 669 2212 \n3 4572 2212 728 \n3 669 4456 2210 \n3 4456 290 4573 \n3 2210 4573 727 \n3 728 2211 4575 \n3 2211 727 4574 \n3 4575 4574 310 \n3 289 4572 4567 \n3 4572 728 2215 \n3 4567 2215 724 \n3 728 4575 2213 \n3 4575 310 4576 \n3 2213 4576 729 \n3 724 2214 4568 \n3 2214 729 4577 \n3 4568 4577 309 \n3 290 4463 4578 \n3 4463 672 2218 \n3 4578 2218 731 \n3 672 4462 2216 \n3 4462 291 4579 \n3 2216 4579 730 \n3 731 2217 4581 \n3 2217 730 4580 \n3 4581 4580 311 \n3 290 4578 4573 \n3 4578 731 2221 \n3 4573 2221 727 \n3 731 4581 2219 \n3 4581 311 4582 \n3 2219 4582 732 \n3 727 2220 4574 \n3 2220 732 4583 \n3 4574 4583 310 \n3 291 4469 4584 \n3 4469 675 2224 \n3 4584 2224 734 \n3 675 4468 2222 \n3 4468 292 4585 \n3 2222 4585 733 \n3 734 2223 4587 \n3 2223 733 4586 \n3 4587 4586 312 \n3 291 4584 4579 \n3 4584 734 2227 \n3 4579 2227 730 \n3 734 4587 2225 \n3 4587 312 4588 \n3 2225 4588 735 \n3 730 2226 4580 \n3 2226 735 4589 \n3 4580 4589 311 \n3 292 4475 4590 \n3 4475 678 2230 \n3 4590 2230 737 \n3 678 4474 2228 \n3 4474 293 4591 \n3 2228 4591 736 \n3 737 2229 4593 \n3 2229 736 4592 \n3 4593 4592 313 \n3 292 4590 4585 \n3 4590 737 2233 \n3 4585 2233 733 \n3 737 4593 2231 \n3 4593 313 4594 \n3 2231 4594 738 \n3 733 2232 4586 \n3 2232 738 4595 \n3 4586 4595 312 \n3 293 4481 4596 \n3 4481 681 2236 \n3 4596 2236 740 \n3 681 4480 2234 \n3 4480 294 4597 \n3 2234 4597 739 \n3 740 2235 4599 \n3 2235 739 4598 \n3 4599 4598 314 \n3 293 4596 4591 \n3 4596 740 2239 \n3 4591 2239 736 \n3 740 4599 2237 \n3 4599 314 4600 \n3 2237 4600 741 \n3 736 2238 4592 \n3 2238 741 4601 \n3 4592 4601 313 \n3 294 4487 4602 \n3 4487 684 2242 \n3 4602 2242 743 \n3 684 4486 2240 \n3 4486 295 4603 \n3 2240 4603 742 \n3 743 2241 4605 \n3 2241 742 4604 \n3 4605 4604 315 \n3 294 4602 4597 \n3 4602 743 2245 \n3 4597 2245 739 \n3 743 4605 2243 \n3 4605 315 4606 \n3 2243 4606 744 \n3 739 2244 4598 \n3 2244 744 4607 \n3 4598 4607 314 \n3 295 4493 4608 \n3 4493 687 2248 \n3 4608 2248 746 \n3 687 4492 2246 \n3 4492 296 4609 \n3 2246 4609 745 \n3 746 2247 4611 \n3 2247 745 4610 \n3 4611 4610 316 \n3 295 4608 4603 \n3 4608 746 2251 \n3 4603 2251 742 \n3 746 4611 2249 \n3 4611 316 4612 \n3 2249 4612 747 \n3 742 2250 4604 \n3 2250 747 4613 \n3 4604 4613 315 \n3 296 4499 4614 \n3 4499 690 2254 \n3 4614 2254 749 \n3 690 4498 2252 \n3 4498 297 4615 \n3 2252 4615 748 \n3 749 2253 4617 \n3 2253 748 4616 \n3 4617 4616 317 \n3 296 4614 4609 \n3 4614 749 2257 \n3 4609 2257 745 \n3 749 4617 2255 \n3 4617 317 4618 \n3 2255 4618 750 \n3 745 2256 4610 \n3 2256 750 4619 \n3 4610 4619 316 \n3 297 4505 4620 \n3 4505 693 2260 \n3 4620 2260 752 \n3 693 4504 2258 \n3 4504 298 4621 \n3 2258 4621 751 \n3 752 2259 4623 \n3 2259 751 4622 \n3 4623 4622 318 \n3 297 4620 4615 \n3 4620 752 2263 \n3 4615 2263 748 \n3 752 4623 2261 \n3 4623 318 4624 \n3 2261 4624 753 \n3 748 2262 4616 \n3 2262 753 4625 \n3 4616 4625 317 \n3 298 4511 4626 \n3 4511 696 2266 \n3 4626 2266 755 \n3 696 4510 2264 \n3 4510 299 4627 \n3 2264 4627 754 \n3 755 2265 4629 \n3 2265 754 4628 \n3 4629 4628 319 \n3 298 4626 4621 \n3 4626 755 2269 \n3 4621 2269 751 \n3 755 4629 2267 \n3 4629 319 4630 \n3 2267 4630 756 \n3 751 2268 4622 \n3 2268 756 4631 \n3 4622 4631 318 \n3 299 4517 4632 \n3 4517 699 2272 \n3 4632 2272 758 \n3 699 4516 2270 \n3 4516 300 4633 \n3 2270 4633 757 \n3 758 2271 4635 \n3 2271 757 4634 \n3 4635 4634 320 \n3 299 4632 4627 \n3 4632 758 2275 \n3 4627 2275 754 \n3 758 4635 2273 \n3 4635 320 4636 \n3 2273 4636 759 \n3 754 2274 4628 \n3 2274 759 4637 \n3 4628 4637 319 \n3 300 4521 4638 \n3 4521 701 2278 \n3 4638 2278 760 \n3 701 4520 2276 \n3 4520 282 4526 \n3 2276 4526 705 \n3 760 2277 4639 \n3 2277 705 4529 \n3 4639 4529 302 \n3 300 4638 4633 \n3 4638 760 2281 \n3 4633 2281 757 \n3 760 4639 2279 \n3 4639 302 4640 \n3 2279 4640 761 \n3 757 2280 4634 \n3 2280 761 4641 \n3 4634 4641 320 \n3 302 4528 4642 \n3 4528 704 2284 \n3 4642 2284 763 \n3 704 4527 2282 \n3 4527 301 4643 \n3 2282 4643 762 \n3 763 2283 4645 \n3 2283 762 4644 \n3 4645 4644 321 \n3 302 4642 4646 \n3 4642 763 2287 \n3 4646 2287 765 \n3 763 4645 2285 \n3 4645 321 4647 \n3 2285 4647 764 \n3 765 2286 4649 \n3 2286 764 4648 \n3 4649 4648 322 \n3 301 4535 4650 \n3 4535 708 2290 \n3 4650 2290 767 \n3 708 4534 2288 \n3 4534 303 4651 \n3 2288 4651 766 \n3 767 2289 4653 \n3 2289 766 4652 \n3 4653 4652 323 \n3 301 4650 4643 \n3 4650 767 2293 \n3 4643 2293 762 \n3 767 4653 2291 \n3 4653 323 4654 \n3 2291 4654 768 \n3 762 2292 4644 \n3 2292 768 4655 \n3 4644 4655 321 \n3 303 4541 4656 \n3 4541 711 2296 \n3 4656 2296 770 \n3 711 4540 2294 \n3 4540 304 4657 \n3 2294 4657 769 \n3 770 2295 4659 \n3 2295 769 4658 \n3 4659 4658 324 \n3 303 4656 4651 \n3 4656 770 2299 \n3 4651 2299 766 \n3 770 4659 2297 \n3 4659 324 4660 \n3 2297 4660 771 \n3 766 2298 4652 \n3 2298 771 4661 \n3 4652 4661 323 \n3 304 4547 4662 \n3 4547 714 2302 \n3 4662 2302 773 \n3 714 4546 2300 \n3 4546 305 4663 \n3 2300 4663 772 \n3 773 2301 4665 \n3 2301 772 4664 \n3 4665 4664 325 \n3 304 4662 4657 \n3 4662 773 2305 \n3 4657 2305 769 \n3 773 4665 2303 \n3 4665 325 4666 \n3 2303 4666 774 \n3 769 2304 4658 \n3 2304 774 4667 \n3 4658 4667 324 \n3 305 4553 4668 \n3 4553 717 2308 \n3 4668 2308 776 \n3 717 4552 2306 \n3 4552 306 4669 \n3 2306 4669 775 \n3 776 2307 4671 \n3 2307 775 4670 \n3 4671 4670 326 \n3 305 4668 4663 \n3 4668 776 2311 \n3 4663 2311 772 \n3 776 4671 2309 \n3 4671 326 4672 \n3 2309 4672 777 \n3 772 2310 4664 \n3 2310 777 4673 \n3 4664 4673 325 \n3 306 4559 4674 \n3 4559 720 2314 \n3 4674 2314 779 \n3 720 4558 2312 \n3 4558 307 4675 \n3 2312 4675 778 \n3 779 2313 4677 \n3 2313 778 4676 \n3 4677 4676 327 \n3 306 4674 4669 \n3 4674 779 2317 \n3 4669 2317 775 \n3 779 4677 2315 \n3 4677 327 4678 \n3 2315 4678 780 \n3 775 2316 4670 \n3 2316 780 4679 \n3 4670 4679 326 \n3 307 4565 4680 \n3 4565 723 2320 \n3 4680 2320 782 \n3 723 4564 2318 \n3 4564 308 4681 \n3 2318 4681 781 \n3 782 2319 4683 \n3 2319 781 4682 \n3 4683 4682 328 \n3 307 4680 4675 \n3 4680 782 2323 \n3 4675 2323 778 \n3 782 4683 2321 \n3 4683 328 4684 \n3 2321 4684 783 \n3 778 2322 4676 \n3 2322 783 4685 \n3 4676 4685 327 \n3 308 4571 4686 \n3 4571 726 2326 \n3 4686 2326 785 \n3 726 4570 2324 \n3 4570 309 4687 \n3 2324 4687 784 \n3 785 2325 4689 \n3 2325 784 4688 \n3 4689 4688 329 \n3 308 4686 4681 \n3 4686 785 2329 \n3 4681 2329 781 \n3 785 4689 2327 \n3 4689 329 4690 \n3 2327 4690 786 \n3 781 2328 4682 \n3 2328 786 4691 \n3 4682 4691 328 \n3 309 4577 4692 \n3 4577 729 2332 \n3 4692 2332 788 \n3 729 4576 2330 \n3 4576 310 4693 \n3 2330 4693 787 \n3 788 2331 4695 \n3 2331 787 4694 \n3 4695 4694 330 \n3 309 4692 4687 \n3 4692 788 2335 \n3 4687 2335 784 \n3 788 4695 2333 \n3 4695 330 4696 \n3 2333 4696 789 \n3 784 2334 4688 \n3 2334 789 4697 \n3 4688 4697 329 \n3 310 4583 4698 \n3 4583 732 2338 \n3 4698 2338 791 \n3 732 4582 2336 \n3 4582 311 4699 \n3 2336 4699 790 \n3 791 2337 4701 \n3 2337 790 4700 \n3 4701 4700 331 \n3 310 4698 4693 \n3 4698 791 2341 \n3 4693 2341 787 \n3 791 4701 2339 \n3 4701 331 4702 \n3 2339 4702 792 \n3 787 2340 4694 \n3 2340 792 4703 \n3 4694 4703 330 \n3 311 4589 4704 \n3 4589 735 2344 \n3 4704 2344 794 \n3 735 4588 2342 \n3 4588 312 4705 \n3 2342 4705 793 \n3 794 2343 4707 \n3 2343 793 4706 \n3 4707 4706 332 \n3 311 4704 4699 \n3 4704 794 2347 \n3 4699 2347 790 \n3 794 4707 2345 \n3 4707 332 4708 \n3 2345 4708 795 \n3 790 2346 4700 \n3 2346 795 4709 \n3 4700 4709 331 \n3 312 4595 4710 \n3 4595 738 2350 \n3 4710 2350 797 \n3 738 4594 2348 \n3 4594 313 4711 \n3 2348 4711 796 \n3 797 2349 4713 \n3 2349 796 4712 \n3 4713 4712 333 \n3 312 4710 4705 \n3 4710 797 2353 \n3 4705 2353 793 \n3 797 4713 2351 \n3 4713 333 4714 \n3 2351 4714 798 \n3 793 2352 4706 \n3 2352 798 4715 \n3 4706 4715 332 \n3 313 4601 4716 \n3 4601 741 2356 \n3 4716 2356 800 \n3 741 4600 2354 \n3 4600 314 4717 \n3 2354 4717 799 \n3 800 2355 4719 \n3 2355 799 4718 \n3 4719 4718 334 \n3 313 4716 4711 \n3 4716 800 2359 \n3 4711 2359 796 \n3 800 4719 2357 \n3 4719 334 4720 \n3 2357 4720 801 \n3 796 2358 4712 \n3 2358 801 4721 \n3 4712 4721 333 \n3 314 4607 4722 \n3 4607 744 2362 \n3 4722 2362 803 \n3 744 4606 2360 \n3 4606 315 4723 \n3 2360 4723 802 \n3 803 2361 4725 \n3 2361 802 4724 \n3 4725 4724 335 \n3 314 4722 4717 \n3 4722 803 2365 \n3 4717 2365 799 \n3 803 4725 2363 \n3 4725 335 4726 \n3 2363 4726 804 \n3 799 2364 4718 \n3 2364 804 4727 \n3 4718 4727 334 \n3 315 4613 4728 \n3 4613 747 2368 \n3 4728 2368 806 \n3 747 4612 2366 \n3 4612 316 4729 \n3 2366 4729 805 \n3 806 2367 4731 \n3 2367 805 4730 \n3 4731 4730 336 \n3 315 4728 4723 \n3 4728 806 2371 \n3 4723 2371 802 \n3 806 4731 2369 \n3 4731 336 4732 \n3 2369 4732 807 \n3 802 2370 4724 \n3 2370 807 4733 \n3 4724 4733 335 \n3 316 4619 4734 \n3 4619 750 2374 \n3 4734 2374 809 \n3 750 4618 2372 \n3 4618 317 4735 \n3 2372 4735 808 \n3 809 2373 4737 \n3 2373 808 4736 \n3 4737 4736 337 \n3 316 4734 4729 \n3 4734 809 2377 \n3 4729 2377 805 \n3 809 4737 2375 \n3 4737 337 4738 \n3 2375 4738 810 \n3 805 2376 4730 \n3 2376 810 4739 \n3 4730 4739 336 \n3 317 4625 4740 \n3 4625 753 2380 \n3 4740 2380 812 \n3 753 4624 2378 \n3 4624 318 4741 \n3 2378 4741 811 \n3 812 2379 4743 \n3 2379 811 4742 \n3 4743 4742 338 \n3 317 4740 4735 \n3 4740 812 2383 \n3 4735 2383 808 \n3 812 4743 2381 \n3 4743 338 4744 \n3 2381 4744 813 \n3 808 2382 4736 \n3 2382 813 4745 \n3 4736 4745 337 \n3 318 4631 4746 \n3 4631 756 2386 \n3 4746 2386 815 \n3 756 4630 2384 \n3 4630 319 4747 \n3 2384 4747 814 \n3 815 2385 4749 \n3 2385 814 4748 \n3 4749 4748 339 \n3 318 4746 4741 \n3 4746 815 2389 \n3 4741 2389 811 \n3 815 4749 2387 \n3 4749 339 4750 \n3 2387 4750 816 \n3 811 2388 4742 \n3 2388 816 4751 \n3 4742 4751 338 \n3 319 4637 4752 \n3 4637 759 2392 \n3 4752 2392 818 \n3 759 4636 2390 \n3 4636 320 4753 \n3 2390 4753 817 \n3 818 2391 4755 \n3 2391 817 4754 \n3 4755 4754 340 \n3 319 4752 4747 \n3 4752 818 2395 \n3 4747 2395 814 \n3 818 4755 2393 \n3 4755 340 4756 \n3 2393 4756 819 \n3 814 2394 4748 \n3 2394 819 4757 \n3 4748 4757 339 \n3 320 4641 4758 \n3 4641 761 2398 \n3 4758 2398 820 \n3 761 4640 2396 \n3 4640 302 4646 \n3 2396 4646 765 \n3 820 2397 4759 \n3 2397 765 4649 \n3 4759 4649 322 \n3 320 4758 4753 \n3 4758 820 2401 \n3 4753 2401 817 \n3 820 4759 2399 \n3 4759 322 4760 \n3 2399 4760 821 \n3 817 2400 4754 \n3 2400 821 4761 \n3 4754 4761 340 \n3 322 4648 4762 \n3 4648 764 2404 \n3 4762 2404 823 \n3 764 4647 2402 \n3 4647 321 4763 \n3 2402 4763 822 \n3 823 2403 4765 \n3 2403 822 4764 \n3 4765 4764 341 \n3 322 4762 4766 \n3 4762 823 2407 \n3 4766 2407 825 \n3 823 4765 2405 \n3 4765 341 4767 \n3 2405 4767 824 \n3 825 2406 4769 \n3 2406 824 4768 \n3 4769 4768 342 \n3 321 4655 4770 \n3 4655 768 2410 \n3 4770 2410 827 \n3 768 4654 2408 \n3 4654 323 4771 \n3 2408 4771 826 \n3 827 2409 4773 \n3 2409 826 4772 \n3 4773 4772 343 \n3 321 4770 4763 \n3 4770 827 2413 \n3 4763 2413 822 \n3 827 4773 2411 \n3 4773 343 4774 \n3 2411 4774 828 \n3 822 2412 4764 \n3 2412 828 4775 \n3 4764 4775 341 \n3 323 4661 4776 \n3 4661 771 2416 \n3 4776 2416 830 \n3 771 4660 2414 \n3 4660 324 4777 \n3 2414 4777 829 \n3 830 2415 4779 \n3 2415 829 4778 \n3 4779 4778 344 \n3 323 4776 4771 \n3 4776 830 2419 \n3 4771 2419 826 \n3 830 4779 2417 \n3 4779 344 4780 \n3 2417 4780 831 \n3 826 2418 4772 \n3 2418 831 4781 \n3 4772 4781 343 \n3 324 4667 4782 \n3 4667 774 2422 \n3 4782 2422 833 \n3 774 4666 2420 \n3 4666 325 4783 \n3 2420 4783 832 \n3 833 2421 4785 \n3 2421 832 4784 \n3 4785 4784 345 \n3 324 4782 4777 \n3 4782 833 2425 \n3 4777 2425 829 \n3 833 4785 2423 \n3 4785 345 4786 \n3 2423 4786 834 \n3 829 2424 4778 \n3 2424 834 4787 \n3 4778 4787 344 \n3 325 4673 4788 \n3 4673 777 2428 \n3 4788 2428 836 \n3 777 4672 2426 \n3 4672 326 4789 \n3 2426 4789 835 \n3 836 2427 4791 \n3 2427 835 4790 \n3 4791 4790 346 \n3 325 4788 4783 \n3 4788 836 2431 \n3 4783 2431 832 \n3 836 4791 2429 \n3 4791 346 4792 \n3 2429 4792 837 \n3 832 2430 4784 \n3 2430 837 4793 \n3 4784 4793 345 \n3 326 4679 4794 \n3 4679 780 2434 \n3 4794 2434 839 \n3 780 4678 2432 \n3 4678 327 4795 \n3 2432 4795 838 \n3 839 2433 4797 \n3 2433 838 4796 \n3 4797 4796 347 \n3 326 4794 4789 \n3 4794 839 2437 \n3 4789 2437 835 \n3 839 4797 2435 \n3 4797 347 4798 \n3 2435 4798 840 \n3 835 2436 4790 \n3 2436 840 4799 \n3 4790 4799 346 \n3 327 4685 4800 \n3 4685 783 2440 \n3 4800 2440 842 \n3 783 4684 2438 \n3 4684 328 4801 \n3 2438 4801 841 \n3 842 2439 4803 \n3 2439 841 4802 \n3 4803 4802 348 \n3 327 4800 4795 \n3 4800 842 2443 \n3 4795 2443 838 \n3 842 4803 2441 \n3 4803 348 4804 \n3 2441 4804 843 \n3 838 2442 4796 \n3 2442 843 4805 \n3 4796 4805 347 \n3 328 4691 4806 \n3 4691 786 2446 \n3 4806 2446 845 \n3 786 4690 2444 \n3 4690 329 4807 \n3 2444 4807 844 \n3 845 2445 4809 \n3 2445 844 4808 \n3 4809 4808 349 \n3 328 4806 4801 \n3 4806 845 2449 \n3 4801 2449 841 \n3 845 4809 2447 \n3 4809 349 4810 \n3 2447 4810 846 \n3 841 2448 4802 \n3 2448 846 4811 \n3 4802 4811 348 \n3 329 4697 4812 \n3 4697 789 2452 \n3 4812 2452 848 \n3 789 4696 2450 \n3 4696 330 4813 \n3 2450 4813 847 \n3 848 2451 4815 \n3 2451 847 4814 \n3 4815 4814 350 \n3 329 4812 4807 \n3 4812 848 2455 \n3 4807 2455 844 \n3 848 4815 2453 \n3 4815 350 4816 \n3 2453 4816 849 \n3 844 2454 4808 \n3 2454 849 4817 \n3 4808 4817 349 \n3 330 4703 4818 \n3 4703 792 2458 \n3 4818 2458 851 \n3 792 4702 2456 \n3 4702 331 4819 \n3 2456 4819 850 \n3 851 2457 4821 \n3 2457 850 4820 \n3 4821 4820 351 \n3 330 4818 4813 \n3 4818 851 2461 \n3 4813 2461 847 \n3 851 4821 2459 \n3 4821 351 4822 \n3 2459 4822 852 \n3 847 2460 4814 \n3 2460 852 4823 \n3 4814 4823 350 \n3 331 4709 4824 \n3 4709 795 2464 \n3 4824 2464 854 \n3 795 4708 2462 \n3 4708 332 4825 \n3 2462 4825 853 \n3 854 2463 4827 \n3 2463 853 4826 \n3 4827 4826 352 \n3 331 4824 4819 \n3 4824 854 2467 \n3 4819 2467 850 \n3 854 4827 2465 \n3 4827 352 4828 \n3 2465 4828 855 \n3 850 2466 4820 \n3 2466 855 4829 \n3 4820 4829 351 \n3 332 4715 4830 \n3 4715 798 2470 \n3 4830 2470 857 \n3 798 4714 2468 \n3 4714 333 4831 \n3 2468 4831 856 \n3 857 2469 4833 \n3 2469 856 4832 \n3 4833 4832 353 \n3 332 4830 4825 \n3 4830 857 2473 \n3 4825 2473 853 \n3 857 4833 2471 \n3 4833 353 4834 \n3 2471 4834 858 \n3 853 2472 4826 \n3 2472 858 4835 \n3 4826 4835 352 \n3 333 4721 4836 \n3 4721 801 2476 \n3 4836 2476 860 \n3 801 4720 2474 \n3 4720 334 4837 \n3 2474 4837 859 \n3 860 2475 4839 \n3 2475 859 4838 \n3 4839 4838 354 \n3 333 4836 4831 \n3 4836 860 2479 \n3 4831 2479 856 \n3 860 4839 2477 \n3 4839 354 4840 \n3 2477 4840 861 \n3 856 2478 4832 \n3 2478 861 4841 \n3 4832 4841 353 \n3 334 4727 4842 \n3 4727 804 2482 \n3 4842 2482 863 \n3 804 4726 2480 \n3 4726 335 4843 \n3 2480 4843 862 \n3 863 2481 4845 \n3 2481 862 4844 \n3 4845 4844 355 \n3 334 4842 4837 \n3 4842 863 2485 \n3 4837 2485 859 \n3 863 4845 2483 \n3 4845 355 4846 \n3 2483 4846 864 \n3 859 2484 4838 \n3 2484 864 4847 \n3 4838 4847 354 \n3 335 4733 4848 \n3 4733 807 2488 \n3 4848 2488 866 \n3 807 4732 2486 \n3 4732 336 4849 \n3 2486 4849 865 \n3 866 2487 4851 \n3 2487 865 4850 \n3 4851 4850 356 \n3 335 4848 4843 \n3 4848 866 2491 \n3 4843 2491 862 \n3 866 4851 2489 \n3 4851 356 4852 \n3 2489 4852 867 \n3 862 2490 4844 \n3 2490 867 4853 \n3 4844 4853 355 \n3 336 4739 4854 \n3 4739 810 2494 \n3 4854 2494 869 \n3 810 4738 2492 \n3 4738 337 4855 \n3 2492 4855 868 \n3 869 2493 4857 \n3 2493 868 4856 \n3 4857 4856 357 \n3 336 4854 4849 \n3 4854 869 2497 \n3 4849 2497 865 \n3 869 4857 2495 \n3 4857 357 4858 \n3 2495 4858 870 \n3 865 2496 4850 \n3 2496 870 4859 \n3 4850 4859 356 \n3 337 4745 4860 \n3 4745 813 2500 \n3 4860 2500 872 \n3 813 4744 2498 \n3 4744 338 4861 \n3 2498 4861 871 \n3 872 2499 4863 \n3 2499 871 4862 \n3 4863 4862 358 \n3 337 4860 4855 \n3 4860 872 2503 \n3 4855 2503 868 \n3 872 4863 2501 \n3 4863 358 4864 \n3 2501 4864 873 \n3 868 2502 4856 \n3 2502 873 4865 \n3 4856 4865 357 \n3 338 4751 4866 \n3 4751 816 2506 \n3 4866 2506 875 \n3 816 4750 2504 \n3 4750 339 4867 \n3 2504 4867 874 \n3 875 2505 4869 \n3 2505 874 4868 \n3 4869 4868 359 \n3 338 4866 4861 \n3 4866 875 2509 \n3 4861 2509 871 \n3 875 4869 2507 \n3 4869 359 4870 \n3 2507 4870 876 \n3 871 2508 4862 \n3 2508 876 4871 \n3 4862 4871 358 \n3 339 4757 4872 \n3 4757 819 2512 \n3 4872 2512 878 \n3 819 4756 2510 \n3 4756 340 4873 \n3 2510 4873 877 \n3 878 2511 4875 \n3 2511 877 4874 \n3 4875 4874 360 \n3 339 4872 4867 \n3 4872 878 2515 \n3 4867 2515 874 \n3 878 4875 2513 \n3 4875 360 4876 \n3 2513 4876 879 \n3 874 2514 4868 \n3 2514 879 4877 \n3 4868 4877 359 \n3 340 4761 4878 \n3 4761 821 2518 \n3 4878 2518 880 \n3 821 4760 2516 \n3 4760 322 4766 \n3 2516 4766 825 \n3 880 2517 4879 \n3 2517 825 4769 \n3 4879 4769 342 \n3 340 4878 4873 \n3 4878 880 2521 \n3 4873 2521 877 \n3 880 4879 2519 \n3 4879 342 4880 \n3 2519 4880 881 \n3 877 2520 4874 \n3 2520 881 4881 \n3 4874 4881 360 \n3 342 4768 4882 \n3 4768 824 2524 \n3 4882 2524 883 \n3 824 4767 2522 \n3 4767 341 4883 \n3 2522 4883 882 \n3 883 2523 4885 \n3 2523 882 4884 \n3 4885 4884 361 \n3 342 4882 4886 \n3 4882 883 2527 \n3 4886 2527 885 \n3 883 4885 2525 \n3 4885 361 4887 \n3 2525 4887 884 \n3 885 2526 4889 \n3 2526 884 4888 \n3 4889 4888 362 \n3 341 4775 4890 \n3 4775 828 2530 \n3 4890 2530 887 \n3 828 4774 2528 \n3 4774 343 4891 \n3 2528 4891 886 \n3 887 2529 4893 \n3 2529 886 4892 \n3 4893 4892 363 \n3 341 4890 4883 \n3 4890 887 2533 \n3 4883 2533 882 \n3 887 4893 2531 \n3 4893 363 4894 \n3 2531 4894 888 \n3 882 2532 4884 \n3 2532 888 4895 \n3 4884 4895 361 \n3 343 4781 4896 \n3 4781 831 2536 \n3 4896 2536 890 \n3 831 4780 2534 \n3 4780 344 4897 \n3 2534 4897 889 \n3 890 2535 4899 \n3 2535 889 4898 \n3 4899 4898 364 \n3 343 4896 4891 \n3 4896 890 2539 \n3 4891 2539 886 \n3 890 4899 2537 \n3 4899 364 4900 \n3 2537 4900 891 \n3 886 2538 4892 \n3 2538 891 4901 \n3 4892 4901 363 \n3 344 4787 4902 \n3 4787 834 2542 \n3 4902 2542 893 \n3 834 4786 2540 \n3 4786 345 4903 \n3 2540 4903 892 \n3 893 2541 4905 \n3 2541 892 4904 \n3 4905 4904 365 \n3 344 4902 4897 \n3 4902 893 2545 \n3 4897 2545 889 \n3 893 4905 2543 \n3 4905 365 4906 \n3 2543 4906 894 \n3 889 2544 4898 \n3 2544 894 4907 \n3 4898 4907 364 \n3 345 4793 4908 \n3 4793 837 2548 \n3 4908 2548 896 \n3 837 4792 2546 \n3 4792 346 4909 \n3 2546 4909 895 \n3 896 2547 4911 \n3 2547 895 4910 \n3 4911 4910 366 \n3 345 4908 4903 \n3 4908 896 2551 \n3 4903 2551 892 \n3 896 4911 2549 \n3 4911 366 4912 \n3 2549 4912 897 \n3 892 2550 4904 \n3 2550 897 4913 \n3 4904 4913 365 \n3 346 4799 4914 \n3 4799 840 2554 \n3 4914 2554 899 \n3 840 4798 2552 \n3 4798 347 4915 \n3 2552 4915 898 \n3 899 2553 4917 \n3 2553 898 4916 \n3 4917 4916 367 \n3 346 4914 4909 \n3 4914 899 2557 \n3 4909 2557 895 \n3 899 4917 2555 \n3 4917 367 4918 \n3 2555 4918 900 \n3 895 2556 4910 \n3 2556 900 4919 \n3 4910 4919 366 \n3 347 4805 4920 \n3 4805 843 2560 \n3 4920 2560 902 \n3 843 4804 2558 \n3 4804 348 4921 \n3 2558 4921 901 \n3 902 2559 4923 \n3 2559 901 4922 \n3 4923 4922 368 \n3 347 4920 4915 \n3 4920 902 2563 \n3 4915 2563 898 \n3 902 4923 2561 \n3 4923 368 4924 \n3 2561 4924 903 \n3 898 2562 4916 \n3 2562 903 4925 \n3 4916 4925 367 \n3 348 4811 4926 \n3 4811 846 2566 \n3 4926 2566 905 \n3 846 4810 2564 \n3 4810 349 4927 \n3 2564 4927 904 \n3 905 2565 4929 \n3 2565 904 4928 \n3 4929 4928 369 \n3 348 4926 4921 \n3 4926 905 2569 \n3 4921 2569 901 \n3 905 4929 2567 \n3 4929 369 4930 \n3 2567 4930 906 \n3 901 2568 4922 \n3 2568 906 4931 \n3 4922 4931 368 \n3 349 4817 4932 \n3 4817 849 2572 \n3 4932 2572 908 \n3 849 4816 2570 \n3 4816 350 4933 \n3 2570 4933 907 \n3 908 2571 4935 \n3 2571 907 4934 \n3 4935 4934 370 \n3 349 4932 4927 \n3 4932 908 2575 \n3 4927 2575 904 \n3 908 4935 2573 \n3 4935 370 4936 \n3 2573 4936 909 \n3 904 2574 4928 \n3 2574 909 4937 \n3 4928 4937 369 \n3 350 4823 4938 \n3 4823 852 2578 \n3 4938 2578 911 \n3 852 4822 2576 \n3 4822 351 4939 \n3 2576 4939 910 \n3 911 2577 4941 \n3 2577 910 4940 \n3 4941 4940 371 \n3 350 4938 4933 \n3 4938 911 2581 \n3 4933 2581 907 \n3 911 4941 2579 \n3 4941 371 4942 \n3 2579 4942 912 \n3 907 2580 4934 \n3 2580 912 4943 \n3 4934 4943 370 \n3 351 4829 4944 \n3 4829 855 2584 \n3 4944 2584 914 \n3 855 4828 2582 \n3 4828 352 4945 \n3 2582 4945 913 \n3 914 2583 4947 \n3 2583 913 4946 \n3 4947 4946 372 \n3 351 4944 4939 \n3 4944 914 2587 \n3 4939 2587 910 \n3 914 4947 2585 \n3 4947 372 4948 \n3 2585 4948 915 \n3 910 2586 4940 \n3 2586 915 4949 \n3 4940 4949 371 \n3 352 4835 4950 \n3 4835 858 2590 \n3 4950 2590 917 \n3 858 4834 2588 \n3 4834 353 4951 \n3 2588 4951 916 \n3 917 2589 4953 \n3 2589 916 4952 \n3 4953 4952 373 \n3 352 4950 4945 \n3 4950 917 2593 \n3 4945 2593 913 \n3 917 4953 2591 \n3 4953 373 4954 \n3 2591 4954 918 \n3 913 2592 4946 \n3 2592 918 4955 \n3 4946 4955 372 \n3 353 4841 4956 \n3 4841 861 2596 \n3 4956 2596 920 \n3 861 4840 2594 \n3 4840 354 4957 \n3 2594 4957 919 \n3 920 2595 4959 \n3 2595 919 4958 \n3 4959 4958 374 \n3 353 4956 4951 \n3 4956 920 2599 \n3 4951 2599 916 \n3 920 4959 2597 \n3 4959 374 4960 \n3 2597 4960 921 \n3 916 2598 4952 \n3 2598 921 4961 \n3 4952 4961 373 \n3 354 4847 4962 \n3 4847 864 2602 \n3 4962 2602 923 \n3 864 4846 2600 \n3 4846 355 4963 \n3 2600 4963 922 \n3 923 2601 4965 \n3 2601 922 4964 \n3 4965 4964 375 \n3 354 4962 4957 \n3 4962 923 2605 \n3 4957 2605 919 \n3 923 4965 2603 \n3 4965 375 4966 \n3 2603 4966 924 \n3 919 2604 4958 \n3 2604 924 4967 \n3 4958 4967 374 \n3 355 4853 4968 \n3 4853 867 2608 \n3 4968 2608 926 \n3 867 4852 2606 \n3 4852 356 4969 \n3 2606 4969 925 \n3 926 2607 4971 \n3 2607 925 4970 \n3 4971 4970 376 \n3 355 4968 4963 \n3 4968 926 2611 \n3 4963 2611 922 \n3 926 4971 2609 \n3 4971 376 4972 \n3 2609 4972 927 \n3 922 2610 4964 \n3 2610 927 4973 \n3 4964 4973 375 \n3 356 4859 4974 \n3 4859 870 2614 \n3 4974 2614 929 \n3 870 4858 2612 \n3 4858 357 4975 \n3 2612 4975 928 \n3 929 2613 4977 \n3 2613 928 4976 \n3 4977 4976 377 \n3 356 4974 4969 \n3 4974 929 2617 \n3 4969 2617 925 \n3 929 4977 2615 \n3 4977 377 4978 \n3 2615 4978 930 \n3 925 2616 4970 \n3 2616 930 4979 \n3 4970 4979 376 \n3 357 4865 4980 \n3 4865 873 2620 \n3 4980 2620 932 \n3 873 4864 2618 \n3 4864 358 4981 \n3 2618 4981 931 \n3 932 2619 4983 \n3 2619 931 4982 \n3 4983 4982 378 \n3 357 4980 4975 \n3 4980 932 2623 \n3 4975 2623 928 \n3 932 4983 2621 \n3 4983 378 4984 \n3 2621 4984 933 \n3 928 2622 4976 \n3 2622 933 4985 \n3 4976 4985 377 \n3 358 4871 4986 \n3 4871 876 2626 \n3 4986 2626 935 \n3 876 4870 2624 \n3 4870 359 4987 \n3 2624 4987 934 \n3 935 2625 4989 \n3 2625 934 4988 \n3 4989 4988 379 \n3 358 4986 4981 \n3 4986 935 2629 \n3 4981 2629 931 \n3 935 4989 2627 \n3 4989 379 4990 \n3 2627 4990 936 \n3 931 2628 4982 \n3 2628 936 4991 \n3 4982 4991 378 \n3 359 4877 4992 \n3 4877 879 2632 \n3 4992 2632 938 \n3 879 4876 2630 \n3 4876 360 4993 \n3 2630 4993 937 \n3 938 2631 4995 \n3 2631 937 4994 \n3 4995 4994 380 \n3 359 4992 4987 \n3 4992 938 2635 \n3 4987 2635 934 \n3 938 4995 2633 \n3 4995 380 4996 \n3 2633 4996 939 \n3 934 2634 4988 \n3 2634 939 4997 \n3 4988 4997 379 \n3 360 4881 4998 \n3 4881 881 2638 \n3 4998 2638 940 \n3 881 4880 2636 \n3 4880 342 4886 \n3 2636 4886 885 \n3 940 2637 4999 \n3 2637 885 4889 \n3 4999 4889 362 \n3 360 4998 4993 \n3 4998 940 2641 \n3 4993 2641 937 \n3 940 4999 2639 \n3 4999 362 5000 \n3 2639 5000 941 \n3 937 2640 4994 \n3 2640 941 5001 \n3 4994 5001 380 \n3 362 4888 5002 \n3 4888 884 2644 \n3 5002 2644 943 \n3 884 4887 2642 \n3 4887 361 5003 \n3 2642 5003 942 \n3 943 2643 5005 \n3 2643 942 5004 \n3 5005 5004 402 \n3 362 5002 5006 \n3 5002 943 2647 \n3 5006 2647 945 \n3 943 5005 2645 \n3 5005 402 5007 \n3 2645 5007 944 \n3 945 2646 5009 \n3 2646 944 5008 \n3 5009 5008 403 \n3 361 4895 5010 \n3 4895 888 2650 \n3 5010 2650 947 \n3 888 4894 2648 \n3 4894 363 5011 \n3 2648 5011 946 \n3 947 2649 5013 \n3 2649 946 5012 \n3 5013 5012 404 \n3 361 5010 5003 \n3 5010 947 2653 \n3 5003 2653 942 \n3 947 5013 2651 \n3 5013 404 5014 \n3 2651 5014 948 \n3 942 2652 5004 \n3 2652 948 5015 \n3 5004 5015 402 \n3 363 4901 5016 \n3 4901 891 2656 \n3 5016 2656 950 \n3 891 4900 2654 \n3 4900 364 5017 \n3 2654 5017 949 \n3 950 2655 5019 \n3 2655 949 5018 \n3 5019 5018 405 \n3 363 5016 5011 \n3 5016 950 2659 \n3 5011 2659 946 \n3 950 5019 2657 \n3 5019 405 5020 \n3 2657 5020 951 \n3 946 2658 5012 \n3 2658 951 5021 \n3 5012 5021 404 \n3 364 4907 5022 \n3 4907 894 2662 \n3 5022 2662 953 \n3 894 4906 2660 \n3 4906 365 5023 \n3 2660 5023 952 \n3 953 2661 5025 \n3 2661 952 5024 \n3 5025 5024 406 \n3 364 5022 5017 \n3 5022 953 2665 \n3 5017 2665 949 \n3 953 5025 2663 \n3 5025 406 5026 \n3 2663 5026 954 \n3 949 2664 5018 \n3 2664 954 5027 \n3 5018 5027 405 \n3 365 4913 5028 \n3 4913 897 2668 \n3 5028 2668 956 \n3 897 4912 2666 \n3 4912 366 5029 \n3 2666 5029 955 \n3 956 2667 5031 \n3 2667 955 5030 \n3 5031 5030 407 \n3 365 5028 5023 \n3 5028 956 2671 \n3 5023 2671 952 \n3 956 5031 2669 \n3 5031 407 5032 \n3 2669 5032 957 \n3 952 2670 5024 \n3 2670 957 5033 \n3 5024 5033 406 \n3 366 4919 5034 \n3 4919 900 2674 \n3 5034 2674 959 \n3 900 4918 2672 \n3 4918 367 5035 \n3 2672 5035 958 \n3 959 2673 5037 \n3 2673 958 5036 \n3 5037 5036 408 \n3 366 5034 5029 \n3 5034 959 2677 \n3 5029 2677 955 \n3 959 5037 2675 \n3 5037 408 5038 \n3 2675 5038 960 \n3 955 2676 5030 \n3 2676 960 5039 \n3 5030 5039 407 \n3 367 4925 5040 \n3 4925 903 2680 \n3 5040 2680 962 \n3 903 4924 2678 \n3 4924 368 5041 \n3 2678 5041 961 \n3 962 2679 5043 \n3 2679 961 5042 \n3 5043 5042 409 \n3 367 5040 5035 \n3 5040 962 2683 \n3 5035 2683 958 \n3 962 5043 2681 \n3 5043 409 5044 \n3 2681 5044 963 \n3 958 2682 5036 \n3 2682 963 5045 \n3 5036 5045 408 \n3 368 4931 5046 \n3 4931 906 2686 \n3 5046 2686 965 \n3 906 4930 2684 \n3 4930 369 5047 \n3 2684 5047 964 \n3 965 2685 5049 \n3 2685 964 5048 \n3 5049 5048 410 \n3 368 5046 5041 \n3 5046 965 2689 \n3 5041 2689 961 \n3 965 5049 2687 \n3 5049 410 5050 \n3 2687 5050 966 \n3 961 2688 5042 \n3 2688 966 5051 \n3 5042 5051 409 \n3 369 4937 5052 \n3 4937 909 2692 \n3 5052 2692 968 \n3 909 4936 2690 \n3 4936 370 5053 \n3 2690 5053 967 \n3 968 2691 5055 \n3 2691 967 5054 \n3 5055 5054 411 \n3 369 5052 5047 \n3 5052 968 2695 \n3 5047 2695 964 \n3 968 5055 2693 \n3 5055 411 5056 \n3 2693 5056 969 \n3 964 2694 5048 \n3 2694 969 5057 \n3 5048 5057 410 \n3 370 4943 5058 \n3 4943 912 2698 \n3 5058 2698 971 \n3 912 4942 2696 \n3 4942 371 5059 \n3 2696 5059 970 \n3 971 2697 5061 \n3 2697 970 5060 \n3 5061 5060 412 \n3 370 5058 5053 \n3 5058 971 2701 \n3 5053 2701 967 \n3 971 5061 2699 \n3 5061 412 5062 \n3 2699 5062 972 \n3 967 2700 5054 \n3 2700 972 5063 \n3 5054 5063 411 \n3 371 4949 5064 \n3 4949 915 2704 \n3 5064 2704 974 \n3 915 4948 2702 \n3 4948 372 5065 \n3 2702 5065 973 \n3 974 2703 5067 \n3 2703 973 5066 \n3 5067 5066 413 \n3 371 5064 5059 \n3 5064 974 2707 \n3 5059 2707 970 \n3 974 5067 2705 \n3 5067 413 5068 \n3 2705 5068 975 \n3 970 2706 5060 \n3 2706 975 5069 \n3 5060 5069 412 \n3 372 4955 5070 \n3 4955 918 2710 \n3 5070 2710 977 \n3 918 4954 2708 \n3 4954 373 5071 \n3 2708 5071 976 \n3 977 2709 5073 \n3 2709 976 5072 \n3 5073 5072 414 \n3 372 5070 5065 \n3 5070 977 2713 \n3 5065 2713 973 \n3 977 5073 2711 \n3 5073 414 5074 \n3 2711 5074 978 \n3 973 2712 5066 \n3 2712 978 5075 \n3 5066 5075 413 \n3 373 4961 5076 \n3 4961 921 2716 \n3 5076 2716 980 \n3 921 4960 2714 \n3 4960 374 5077 \n3 2714 5077 979 \n3 980 2715 5079 \n3 2715 979 5078 \n3 5079 5078 415 \n3 373 5076 5071 \n3 5076 980 2719 \n3 5071 2719 976 \n3 980 5079 2717 \n3 5079 415 5080 \n3 2717 5080 981 \n3 976 2718 5072 \n3 2718 981 5081 \n3 5072 5081 414 \n3 374 4967 5082 \n3 4967 924 2722 \n3 5082 2722 983 \n3 924 4966 2720 \n3 4966 375 5083 \n3 2720 5083 982 \n3 983 2721 5085 \n3 2721 982 5084 \n3 5085 5084 416 \n3 374 5082 5077 \n3 5082 983 2725 \n3 5077 2725 979 \n3 983 5085 2723 \n3 5085 416 5086 \n3 2723 5086 984 \n3 979 2724 5078 \n3 2724 984 5087 \n3 5078 5087 415 \n3 375 4973 5088 \n3 4973 927 2728 \n3 5088 2728 986 \n3 927 4972 2726 \n3 4972 376 5089 \n3 2726 5089 985 \n3 986 2727 5091 \n3 2727 985 5090 \n3 5091 5090 417 \n3 375 5088 5083 \n3 5088 986 2731 \n3 5083 2731 982 \n3 986 5091 2729 \n3 5091 417 5092 \n3 2729 5092 987 \n3 982 2730 5084 \n3 2730 987 5093 \n3 5084 5093 416 \n3 376 4979 5094 \n3 4979 930 2734 \n3 5094 2734 989 \n3 930 4978 2732 \n3 4978 377 5095 \n3 2732 5095 988 \n3 989 2733 5097 \n3 2733 988 5096 \n3 5097 5096 418 \n3 376 5094 5089 \n3 5094 989 2737 \n3 5089 2737 985 \n3 989 5097 2735 \n3 5097 418 5098 \n3 2735 5098 990 \n3 985 2736 5090 \n3 2736 990 5099 \n3 5090 5099 417 \n3 377 4985 5100 \n3 4985 933 2740 \n3 5100 2740 992 \n3 933 4984 2738 \n3 4984 378 5101 \n3 2738 5101 991 \n3 992 2739 5103 \n3 2739 991 5102 \n3 5103 5102 419 \n3 377 5100 5095 \n3 5100 992 2743 \n3 5095 2743 988 \n3 992 5103 2741 \n3 5103 419 5104 \n3 2741 5104 993 \n3 988 2742 5096 \n3 2742 993 5105 \n3 5096 5105 418 \n3 378 4991 5106 \n3 4991 936 2746 \n3 5106 2746 995 \n3 936 4990 2744 \n3 4990 379 5107 \n3 2744 5107 994 \n3 995 2745 5109 \n3 2745 994 5108 \n3 5109 5108 420 \n3 378 5106 5101 \n3 5106 995 2749 \n3 5101 2749 991 \n3 995 5109 2747 \n3 5109 420 5110 \n3 2747 5110 996 \n3 991 2748 5102 \n3 2748 996 5111 \n3 5102 5111 419 \n3 379 4997 5112 \n3 4997 939 2752 \n3 5112 2752 998 \n3 939 4996 2750 \n3 4996 380 5113 \n3 2750 5113 997 \n3 998 2751 5115 \n3 2751 997 5114 \n3 5115 5114 421 \n3 379 5112 5107 \n3 5112 998 2755 \n3 5107 2755 994 \n3 998 5115 2753 \n3 5115 421 5116 \n3 2753 5116 999 \n3 994 2754 5108 \n3 2754 999 5117 \n3 5108 5117 420 \n3 380 5001 5118 \n3 5001 941 2758 \n3 5118 2758 1000 \n3 941 5000 2756 \n3 5000 362 5006 \n3 2756 5006 945 \n3 1000 2757 5119 \n3 2757 945 5009 \n3 5119 5009 403 \n3 380 5118 5113 \n3 5118 1000 2761 \n3 5113 2761 997 \n3 1000 5119 2759 \n3 5119 403 5120 \n3 2759 5120 1001 \n3 997 2760 5114 \n3 2760 1001 5121 \n3 5114 5121 421 \n3 202 442 5122 \n3 2763 5122 442 \n3 442 5123 2762 \n3 5123 442 201 \n3 1003 1002 5125 \n3 5124 5125 1002 \n3 205 447 5126 \n3 2765 5126 447 \n3 447 5122 2764 \n3 5122 447 202 \n3 1004 1003 5127 \n3 5125 5127 1003 \n3 207 451 5128 \n3 2767 5128 451 \n3 451 5126 2766 \n3 5126 451 205 \n3 1005 1004 5129 \n3 5127 5129 1004 \n3 209 455 5130 \n3 2769 5130 455 \n3 455 5128 2768 \n3 5128 455 207 \n3 1006 1005 5131 \n3 5129 5131 1005 \n3 211 459 5132 \n3 2771 5132 459 \n3 459 5130 2770 \n3 5130 459 209 \n3 1007 1006 5133 \n3 5131 5133 1006 \n3 213 463 5134 \n3 2773 5134 463 \n3 463 5132 2772 \n3 5132 463 211 \n3 1008 1007 5135 \n3 5133 5135 1007 \n3 215 467 5136 \n3 2775 5136 467 \n3 467 5134 2774 \n3 5134 467 213 \n3 1009 1008 5137 \n3 5135 5137 1008 \n3 217 471 5138 \n3 2777 5138 471 \n3 471 5136 2776 \n3 5136 471 215 \n3 1010 1009 5139 \n3 5137 5139 1009 \n3 219 475 5140 \n3 2779 5140 475 \n3 475 5138 2778 \n3 5138 475 217 \n3 1011 1010 5141 \n3 5139 5141 1010 \n3 221 479 5142 \n3 2781 5142 479 \n3 479 5140 2780 \n3 5140 479 219 \n3 1012 1011 5143 \n3 5141 5143 1011 \n3 223 483 5144 \n3 2783 5144 483 \n3 483 5142 2782 \n3 5142 483 221 \n3 1013 1012 5145 \n3 5143 5145 1012 \n3 225 487 5146 \n3 2785 5146 487 \n3 487 5144 2784 \n3 5144 487 223 \n3 1014 1013 5147 \n3 5145 5147 1013 \n3 227 491 5148 \n3 2787 5148 491 \n3 491 5146 2786 \n3 5146 491 225 \n3 1015 1014 5149 \n3 5147 5149 1014 \n3 229 495 5150 \n3 2789 5150 495 \n3 495 5148 2788 \n3 5148 495 227 \n3 1016 1015 5151 \n3 5149 5151 1015 \n3 231 499 5152 \n3 2791 5152 499 \n3 499 5150 2790 \n3 5150 499 229 \n3 1017 1016 5153 \n3 5151 5153 1016 \n3 233 503 5154 \n3 2793 5154 503 \n3 503 5152 2792 \n3 5152 503 231 \n3 1018 1017 5155 \n3 5153 5155 1017 \n3 235 507 5156 \n3 2795 5156 507 \n3 507 5154 2794 \n3 5154 507 233 \n3 1019 1018 5157 \n3 5155 5157 1018 \n3 237 511 5158 \n3 2797 5158 511 \n3 511 5156 2796 \n3 5156 511 235 \n3 1020 1019 5159 \n3 5157 5159 1019 \n3 239 515 5160 \n3 2799 5160 515 \n3 515 5158 2798 \n3 5158 515 237 \n3 1021 1020 5161 \n3 5159 5161 1020 \n3 201 519 5123 \n3 2801 5123 519 \n3 519 5160 2800 \n3 5160 519 239 \n3 1002 1021 5124 \n3 5161 5124 1021 \n3 0 5162 5163 \n3 5162 1022 2804 \n3 5163 2804 1024 \n3 1022 5164 2802 \n3 5164 20 5165 \n3 2802 5165 1023 \n3 1024 2803 5167 \n3 2803 1023 5166 \n3 5167 5166 21 \n3 0 2807 1026 \n3 2807 0 5163 \n3 1024 5167 2805 \n3 5167 21 5168 \n3 2805 5168 1025 \n3 1026 2806 1 \n3 5169 1 2806 \n3 1 5169 5170 \n3 5169 1025 2810 \n3 5170 2810 1028 \n3 1025 5168 2808 \n3 5168 21 5171 \n3 2808 5171 1027 \n3 1028 2809 5173 \n3 2809 1027 5172 \n3 5173 5172 22 \n3 1 2813 1030 \n3 2813 1 5170 \n3 1028 5173 2811 \n3 5173 22 5174 \n3 2811 5174 1029 \n3 1030 2812 2 \n3 5175 2 2812 \n3 2 5175 5176 \n3 5175 1029 2816 \n3 5176 2816 1032 \n3 1029 5174 2814 \n3 5174 22 5177 \n3 2814 5177 1031 \n3 1032 2815 5179 \n3 2815 1031 5178 \n3 5179 5178 23 \n3 2 2819 1034 \n3 2819 2 5176 \n3 1032 5179 2817 \n3 5179 23 5180 \n3 2817 5180 1033 \n3 1034 2818 3 \n3 5181 3 2818 \n3 3 5181 5182 \n3 5181 1033 2822 \n3 5182 2822 1036 \n3 1033 5180 2820 \n3 5180 23 5183 \n3 2820 5183 1035 \n3 1036 2821 5185 \n3 2821 1035 5184 \n3 5185 5184 24 \n3 3 2825 1038 \n3 2825 3 5182 \n3 1036 5185 2823 \n3 5185 24 5186 \n3 2823 5186 1037 \n3 1038 2824 4 \n3 5187 4 2824 \n3 4 5187 5188 \n3 5187 1037 2828 \n3 5188 2828 1040 \n3 1037 5186 2826 \n3 5186 24 5189 \n3 2826 5189 1039 \n3 1040 2827 5191 \n3 2827 1039 5190 \n3 5191 5190 25 \n3 4 2831 1042 \n3 2831 4 5188 \n3 1040 5191 2829 \n3 5191 25 5192 \n3 2829 5192 1041 \n3 1042 2830 5 \n3 5193 5 2830 \n3 5 5193 5194 \n3 5193 1041 2834 \n3 5194 2834 1044 \n3 1041 5192 2832 \n3 5192 25 5195 \n3 2832 5195 1043 \n3 1044 2833 5197 \n3 2833 1043 5196 \n3 5197 5196 26 \n3 5 2837 1046 \n3 2837 5 5194 \n3 1044 5197 2835 \n3 5197 26 5198 \n3 2835 5198 1045 \n3 1046 2836 6 \n3 5199 6 2836 \n3 6 5199 5200 \n3 5199 1045 2840 \n3 5200 2840 1048 \n3 1045 5198 2838 \n3 5198 26 5201 \n3 2838 5201 1047 \n3 1048 2839 5203 \n3 2839 1047 5202 \n3 5203 5202 27 \n3 6 2843 1050 \n3 2843 6 5200 \n3 1048 5203 2841 \n3 5203 27 5204 \n3 2841 5204 1049 \n3 1050 2842 7 \n3 5205 7 2842 \n3 7 5205 5206 \n3 5205 1049 2846 \n3 5206 2846 1052 \n3 1049 5204 2844 \n3 5204 27 5207 \n3 2844 5207 1051 \n3 1052 2845 5209 \n3 2845 1051 5208 \n3 5209 5208 28 \n3 7 2849 1054 \n3 2849 7 5206 \n3 1052 5209 2847 \n3 5209 28 5210 \n3 2847 5210 1053 \n3 1054 2848 8 \n3 5211 8 2848 \n3 8 5211 5212 \n3 5211 1053 2852 \n3 5212 2852 1056 \n3 1053 5210 2850 \n3 5210 28 5213 \n3 2850 5213 1055 \n3 1056 2851 5215 \n3 2851 1055 5214 \n3 5215 5214 29 \n3 8 2855 1058 \n3 2855 8 5212 \n3 1056 5215 2853 \n3 5215 29 5216 \n3 2853 5216 1057 \n3 1058 2854 9 \n3 5217 9 2854 \n3 9 5217 5218 \n3 5217 1057 2858 \n3 5218 2858 1060 \n3 1057 5216 2856 \n3 5216 29 5219 \n3 2856 5219 1059 \n3 1060 2857 5221 \n3 2857 1059 5220 \n3 5221 5220 30 \n3 9 2861 1062 \n3 2861 9 5218 \n3 1060 5221 2859 \n3 5221 30 5222 \n3 2859 5222 1061 \n3 1062 2860 10 \n3 5223 10 2860 \n3 10 5223 5224 \n3 5223 1061 2864 \n3 5224 2864 1064 \n3 1061 5222 2862 \n3 5222 30 5225 \n3 2862 5225 1063 \n3 1064 2863 5227 \n3 2863 1063 5226 \n3 5227 5226 31 \n3 10 2867 1066 \n3 2867 10 5224 \n3 1064 5227 2865 \n3 5227 31 5228 \n3 2865 5228 1065 \n3 1066 2866 11 \n3 5229 11 2866 \n3 11 5229 5230 \n3 5229 1065 2870 \n3 5230 2870 1068 \n3 1065 5228 2868 \n3 5228 31 5231 \n3 2868 5231 1067 \n3 1068 2869 5233 \n3 2869 1067 5232 \n3 5233 5232 32 \n3 11 2873 1070 \n3 2873 11 5230 \n3 1068 5233 2871 \n3 5233 32 5234 \n3 2871 5234 1069 \n3 1070 2872 12 \n3 5235 12 2872 \n3 12 5235 5236 \n3 5235 1069 2876 \n3 5236 2876 1072 \n3 1069 5234 2874 \n3 5234 32 5237 \n3 2874 5237 1071 \n3 1072 2875 5239 \n3 2875 1071 5238 \n3 5239 5238 33 \n3 12 2879 1074 \n3 2879 12 5236 \n3 1072 5239 2877 \n3 5239 33 5240 \n3 2877 5240 1073 \n3 1074 2878 13 \n3 5241 13 2878 \n3 13 5241 5242 \n3 5241 1073 2882 \n3 5242 2882 1076 \n3 1073 5240 2880 \n3 5240 33 5243 \n3 2880 5243 1075 \n3 1076 2881 5245 \n3 2881 1075 5244 \n3 5245 5244 34 \n3 13 2885 1078 \n3 2885 13 5242 \n3 1076 5245 2883 \n3 5245 34 5246 \n3 2883 5246 1077 \n3 1078 2884 14 \n3 5247 14 2884 \n3 14 5247 5248 \n3 5247 1077 2888 \n3 5248 2888 1080 \n3 1077 5246 2886 \n3 5246 34 5249 \n3 2886 5249 1079 \n3 1080 2887 5251 \n3 2887 1079 5250 \n3 5251 5250 35 \n3 14 2891 1082 \n3 2891 14 5248 \n3 1080 5251 2889 \n3 5251 35 5252 \n3 2889 5252 1081 \n3 1082 2890 15 \n3 5253 15 2890 \n3 15 5253 5254 \n3 5253 1081 2894 \n3 5254 2894 1084 \n3 1081 5252 2892 \n3 5252 35 5255 \n3 2892 5255 1083 \n3 1084 2893 5257 \n3 2893 1083 5256 \n3 5257 5256 36 \n3 15 2897 1086 \n3 2897 15 5254 \n3 1084 5257 2895 \n3 5257 36 5258 \n3 2895 5258 1085 \n3 1086 2896 16 \n3 5259 16 2896 \n3 16 5259 5260 \n3 5259 1085 2900 \n3 5260 2900 1088 \n3 1085 5258 2898 \n3 5258 36 5261 \n3 2898 5261 1087 \n3 1088 2899 5263 \n3 2899 1087 5262 \n3 5263 5262 37 \n3 16 2903 1090 \n3 2903 16 5260 \n3 1088 5263 2901 \n3 5263 37 5264 \n3 2901 5264 1089 \n3 1090 2902 17 \n3 5265 17 2902 \n3 17 5265 5266 \n3 5265 1089 2906 \n3 5266 2906 1092 \n3 1089 5264 2904 \n3 5264 37 5267 \n3 2904 5267 1091 \n3 1092 2905 5269 \n3 2905 1091 5268 \n3 5269 5268 38 \n3 17 2909 1094 \n3 2909 17 5266 \n3 1092 5269 2907 \n3 5269 38 5270 \n3 2907 5270 1093 \n3 1094 2908 18 \n3 5271 18 2908 \n3 18 5271 5272 \n3 5271 1093 2912 \n3 5272 2912 1096 \n3 1093 5270 2910 \n3 5270 38 5273 \n3 2910 5273 1095 \n3 1096 2911 5275 \n3 2911 1095 5274 \n3 5275 5274 39 \n3 18 2915 1098 \n3 2915 18 5272 \n3 1096 5275 2913 \n3 5275 39 5276 \n3 2913 5276 1097 \n3 1098 2914 19 \n3 5277 19 2914 \n3 19 5277 5278 \n3 5277 1097 2918 \n3 5278 2918 1100 \n3 1097 5276 2916 \n3 5276 39 5279 \n3 2916 5279 1099 \n3 1100 2917 5281 \n3 2917 1099 5280 \n3 5281 5280 20 \n3 19 2921 1101 \n3 2921 19 5278 \n3 1100 5281 2919 \n3 5281 20 5164 \n3 2919 5164 1022 \n3 1101 2920 0 \n3 5162 0 2920 \n3 20 5282 5283 \n3 5282 1102 2924 \n3 5283 2924 1104 \n3 1102 5284 2922 \n3 5284 40 5285 \n3 2922 5285 1103 \n3 1104 2923 5287 \n3 2923 1103 5286 \n3 5287 5286 41 \n3 20 5283 5165 \n3 5283 1104 2927 \n3 5165 2927 1023 \n3 1104 5287 2925 \n3 5287 41 5288 \n3 2925 5288 1105 \n3 1023 2926 5166 \n3 2926 1105 5289 \n3 5166 5289 21 \n3 21 5289 5290 \n3 5289 1105 2930 \n3 5290 2930 1107 \n3 1105 5288 2928 \n3 5288 41 5291 \n3 2928 5291 1106 \n3 1107 2929 5293 \n3 2929 1106 5292 \n3 5293 5292 42 \n3 21 5290 5171 \n3 5290 1107 2933 \n3 5171 2933 1027 \n3 1107 5293 2931 \n3 5293 42 5294 \n3 2931 5294 1108 \n3 1027 2932 5172 \n3 2932 1108 5295 \n3 5172 5295 22 \n3 22 5295 5296 \n3 5295 1108 2936 \n3 5296 2936 1110 \n3 1108 5294 2934 \n3 5294 42 5297 \n3 2934 5297 1109 \n3 1110 2935 5299 \n3 2935 1109 5298 \n3 5299 5298 43 \n3 22 5296 5177 \n3 5296 1110 2939 \n3 5177 2939 1031 \n3 1110 5299 2937 \n3 5299 43 5300 \n3 2937 5300 1111 \n3 1031 2938 5178 \n3 2938 1111 5301 \n3 5178 5301 23 \n3 23 5301 5302 \n3 5301 1111 2942 \n3 5302 2942 1113 \n3 1111 5300 2940 \n3 5300 43 5303 \n3 2940 5303 1112 \n3 1113 2941 5305 \n3 2941 1112 5304 \n3 5305 5304 44 \n3 23 5302 5183 \n3 5302 1113 2945 \n3 5183 2945 1035 \n3 1113 5305 2943 \n3 5305 44 5306 \n3 2943 5306 1114 \n3 1035 2944 5184 \n3 2944 1114 5307 \n3 5184 5307 24 \n3 24 5307 5308 \n3 5307 1114 2948 \n3 5308 2948 1116 \n3 1114 5306 2946 \n3 5306 44 5309 \n3 2946 5309 1115 \n3 1116 2947 5311 \n3 2947 1115 5310 \n3 5311 5310 45 \n3 24 5308 5189 \n3 5308 1116 2951 \n3 5189 2951 1039 \n3 1116 5311 2949 \n3 5311 45 5312 \n3 2949 5312 1117 \n3 1039 2950 5190 \n3 2950 1117 5313 \n3 5190 5313 25 \n3 25 5313 5314 \n3 5313 1117 2954 \n3 5314 2954 1119 \n3 1117 5312 2952 \n3 5312 45 5315 \n3 2952 5315 1118 \n3 1119 2953 5317 \n3 2953 1118 5316 \n3 5317 5316 46 \n3 25 5314 5195 \n3 5314 1119 2957 \n3 5195 2957 1043 \n3 1119 5317 2955 \n3 5317 46 5318 \n3 2955 5318 1120 \n3 1043 2956 5196 \n3 2956 1120 5319 \n3 5196 5319 26 \n3 26 5319 5320 \n3 5319 1120 2960 \n3 5320 2960 1122 \n3 1120 5318 2958 \n3 5318 46 5321 \n3 2958 5321 1121 \n3 1122 2959 5323 \n3 2959 1121 5322 \n3 5323 5322 47 \n3 26 5320 5201 \n3 5320 1122 2963 \n3 5201 2963 1047 \n3 1122 5323 2961 \n3 5323 47 5324 \n3 2961 5324 1123 \n3 1047 2962 5202 \n3 2962 1123 5325 \n3 5202 5325 27 \n3 27 5325 5326 \n3 5325 1123 2966 \n3 5326 2966 1125 \n3 1123 5324 2964 \n3 5324 47 5327 \n3 2964 5327 1124 \n3 1125 2965 5329 \n3 2965 1124 5328 \n3 5329 5328 48 \n3 27 5326 5207 \n3 5326 1125 2969 \n3 5207 2969 1051 \n3 1125 5329 2967 \n3 5329 48 5330 \n3 2967 5330 1126 \n3 1051 2968 5208 \n3 2968 1126 5331 \n3 5208 5331 28 \n3 28 5331 5332 \n3 5331 1126 2972 \n3 5332 2972 1128 \n3 1126 5330 2970 \n3 5330 48 5333 \n3 2970 5333 1127 \n3 1128 2971 5335 \n3 2971 1127 5334 \n3 5335 5334 49 \n3 28 5332 5213 \n3 5332 1128 2975 \n3 5213 2975 1055 \n3 1128 5335 2973 \n3 5335 49 5336 \n3 2973 5336 1129 \n3 1055 2974 5214 \n3 2974 1129 5337 \n3 5214 5337 29 \n3 29 5337 5338 \n3 5337 1129 2978 \n3 5338 2978 1131 \n3 1129 5336 2976 \n3 5336 49 5339 \n3 2976 5339 1130 \n3 1131 2977 5341 \n3 2977 1130 5340 \n3 5341 5340 50 \n3 29 5338 5219 \n3 5338 1131 2981 \n3 5219 2981 1059 \n3 1131 5341 2979 \n3 5341 50 5342 \n3 2979 5342 1132 \n3 1059 2980 5220 \n3 2980 1132 5343 \n3 5220 5343 30 \n3 30 5343 5344 \n3 5343 1132 2984 \n3 5344 2984 1134 \n3 1132 5342 2982 \n3 5342 50 5345 \n3 2982 5345 1133 \n3 1134 2983 5347 \n3 2983 1133 5346 \n3 5347 5346 51 \n3 30 5344 5225 \n3 5344 1134 2987 \n3 5225 2987 1063 \n3 1134 5347 2985 \n3 5347 51 5348 \n3 2985 5348 1135 \n3 1063 2986 5226 \n3 2986 1135 5349 \n3 5226 5349 31 \n3 31 5349 5350 \n3 5349 1135 2990 \n3 5350 2990 1137 \n3 1135 5348 2988 \n3 5348 51 5351 \n3 2988 5351 1136 \n3 1137 2989 5353 \n3 2989 1136 5352 \n3 5353 5352 52 \n3 31 5350 5231 \n3 5350 1137 2993 \n3 5231 2993 1067 \n3 1137 5353 2991 \n3 5353 52 5354 \n3 2991 5354 1138 \n3 1067 2992 5232 \n3 2992 1138 5355 \n3 5232 5355 32 \n3 32 5355 5356 \n3 5355 1138 2996 \n3 5356 2996 1140 \n3 1138 5354 2994 \n3 5354 52 5357 \n3 2994 5357 1139 \n3 1140 2995 5359 \n3 2995 1139 5358 \n3 5359 5358 53 \n3 32 5356 5237 \n3 5356 1140 2999 \n3 5237 2999 1071 \n3 1140 5359 2997 \n3 5359 53 5360 \n3 2997 5360 1141 \n3 1071 2998 5238 \n3 2998 1141 5361 \n3 5238 5361 33 \n3 33 5361 5362 \n3 5361 1141 3002 \n3 5362 3002 1143 \n3 1141 5360 3000 \n3 5360 53 5363 \n3 3000 5363 1142 \n3 1143 3001 5365 \n3 3001 1142 5364 \n3 5365 5364 54 \n3 33 5362 5243 \n3 5362 1143 3005 \n3 5243 3005 1075 \n3 1143 5365 3003 \n3 5365 54 5366 \n3 3003 5366 1144 \n3 1075 3004 5244 \n3 3004 1144 5367 \n3 5244 5367 34 \n3 34 5367 5368 \n3 5367 1144 3008 \n3 5368 3008 1146 \n3 1144 5366 3006 \n3 5366 54 5369 \n3 3006 5369 1145 \n3 1146 3007 5371 \n3 3007 1145 5370 \n3 5371 5370 55 \n3 34 5368 5249 \n3 5368 1146 3011 \n3 5249 3011 1079 \n3 1146 5371 3009 \n3 5371 55 5372 \n3 3009 5372 1147 \n3 1079 3010 5250 \n3 3010 1147 5373 \n3 5250 5373 35 \n3 35 5373 5374 \n3 5373 1147 3014 \n3 5374 3014 1149 \n3 1147 5372 3012 \n3 5372 55 5375 \n3 3012 5375 1148 \n3 1149 3013 5377 \n3 3013 1148 5376 \n3 5377 5376 56 \n3 35 5374 5255 \n3 5374 1149 3017 \n3 5255 3017 1083 \n3 1149 5377 3015 \n3 5377 56 5378 \n3 3015 5378 1150 \n3 1083 3016 5256 \n3 3016 1150 5379 \n3 5256 5379 36 \n3 36 5379 5380 \n3 5379 1150 3020 \n3 5380 3020 1152 \n3 1150 5378 3018 \n3 5378 56 5381 \n3 3018 5381 1151 \n3 1152 3019 5383 \n3 3019 1151 5382 \n3 5383 5382 57 \n3 36 5380 5261 \n3 5380 1152 3023 \n3 5261 3023 1087 \n3 1152 5383 3021 \n3 5383 57 5384 \n3 3021 5384 1153 \n3 1087 3022 5262 \n3 3022 1153 5385 \n3 5262 5385 37 \n3 37 5385 5386 \n3 5385 1153 3026 \n3 5386 3026 1155 \n3 1153 5384 3024 \n3 5384 57 5387 \n3 3024 5387 1154 \n3 1155 3025 5389 \n3 3025 1154 5388 \n3 5389 5388 58 \n3 37 5386 5267 \n3 5386 1155 3029 \n3 5267 3029 1091 \n3 1155 5389 3027 \n3 5389 58 5390 \n3 3027 5390 1156 \n3 1091 3028 5268 \n3 3028 1156 5391 \n3 5268 5391 38 \n3 38 5391 5392 \n3 5391 1156 3032 \n3 5392 3032 1158 \n3 1156 5390 3030 \n3 5390 58 5393 \n3 3030 5393 1157 \n3 1158 3031 5395 \n3 3031 1157 5394 \n3 5395 5394 59 \n3 38 5392 5273 \n3 5392 1158 3035 \n3 5273 3035 1095 \n3 1158 5395 3033 \n3 5395 59 5396 \n3 3033 5396 1159 \n3 1095 3034 5274 \n3 3034 1159 5397 \n3 5274 5397 39 \n3 39 5397 5398 \n3 5397 1159 3038 \n3 5398 3038 1161 \n3 1159 5396 3036 \n3 5396 59 5399 \n3 3036 5399 1160 \n3 1161 3037 5401 \n3 3037 1160 5400 \n3 5401 5400 40 \n3 39 5398 5279 \n3 5398 1161 3041 \n3 5279 3041 1099 \n3 1161 5401 3039 \n3 5401 40 5284 \n3 3039 5284 1102 \n3 1099 3040 5280 \n3 3040 1102 5282 \n3 5280 5282 20 \n3 40 5402 5403 \n3 5402 1162 3044 \n3 5403 3044 1164 \n3 1162 5404 3042 \n3 5404 60 5405 \n3 3042 5405 1163 \n3 1164 3043 5407 \n3 3043 1163 5406 \n3 5407 5406 61 \n3 40 5403 5285 \n3 5403 1164 3047 \n3 5285 3047 1103 \n3 1164 5407 3045 \n3 5407 61 5408 \n3 3045 5408 1165 \n3 1103 3046 5286 \n3 3046 1165 5409 \n3 5286 5409 41 \n3 41 5409 5410 \n3 5409 1165 3050 \n3 5410 3050 1167 \n3 1165 5408 3048 \n3 5408 61 5411 \n3 3048 5411 1166 \n3 1167 3049 5413 \n3 3049 1166 5412 \n3 5413 5412 62 \n3 41 5410 5291 \n3 5410 1167 3053 \n3 5291 3053 1106 \n3 1167 5413 3051 \n3 5413 62 5414 \n3 3051 5414 1168 \n3 1106 3052 5292 \n3 3052 1168 5415 \n3 5292 5415 42 \n3 42 5415 5416 \n3 5415 1168 3056 \n3 5416 3056 1170 \n3 1168 5414 3054 \n3 5414 62 5417 \n3 3054 5417 1169 \n3 1170 3055 5419 \n3 3055 1169 5418 \n3 5419 5418 63 \n3 42 5416 5297 \n3 5416 1170 3059 \n3 5297 3059 1109 \n3 1170 5419 3057 \n3 5419 63 5420 \n3 3057 5420 1171 \n3 1109 3058 5298 \n3 3058 1171 5421 \n3 5298 5421 43 \n3 43 5421 5422 \n3 5421 1171 3062 \n3 5422 3062 1173 \n3 1171 5420 3060 \n3 5420 63 5423 \n3 3060 5423 1172 \n3 1173 3061 5425 \n3 3061 1172 5424 \n3 5425 5424 64 \n3 43 5422 5303 \n3 5422 1173 3065 \n3 5303 3065 1112 \n3 1173 5425 3063 \n3 5425 64 5426 \n3 3063 5426 1174 \n3 1112 3064 5304 \n3 3064 1174 5427 \n3 5304 5427 44 \n3 44 5427 5428 \n3 5427 1174 3068 \n3 5428 3068 1176 \n3 1174 5426 3066 \n3 5426 64 5429 \n3 3066 5429 1175 \n3 1176 3067 5431 \n3 3067 1175 5430 \n3 5431 5430 65 \n3 44 5428 5309 \n3 5428 1176 3071 \n3 5309 3071 1115 \n3 1176 5431 3069 \n3 5431 65 5432 \n3 3069 5432 1177 \n3 1115 3070 5310 \n3 3070 1177 5433 \n3 5310 5433 45 \n3 45 5433 5434 \n3 5433 1177 3074 \n3 5434 3074 1179 \n3 1177 5432 3072 \n3 5432 65 5435 \n3 3072 5435 1178 \n3 1179 3073 5437 \n3 3073 1178 5436 \n3 5437 5436 66 \n3 45 5434 5315 \n3 5434 1179 3077 \n3 5315 3077 1118 \n3 1179 5437 3075 \n3 5437 66 5438 \n3 3075 5438 1180 \n3 1118 3076 5316 \n3 3076 1180 5439 \n3 5316 5439 46 \n3 46 5439 5440 \n3 5439 1180 3080 \n3 5440 3080 1182 \n3 1180 5438 3078 \n3 5438 66 5441 \n3 3078 5441 1181 \n3 1182 3079 5443 \n3 3079 1181 5442 \n3 5443 5442 67 \n3 46 5440 5321 \n3 5440 1182 3083 \n3 5321 3083 1121 \n3 1182 5443 3081 \n3 5443 67 5444 \n3 3081 5444 1183 \n3 1121 3082 5322 \n3 3082 1183 5445 \n3 5322 5445 47 \n3 47 5445 5446 \n3 5445 1183 3086 \n3 5446 3086 1185 \n3 1183 5444 3084 \n3 5444 67 5447 \n3 3084 5447 1184 \n3 1185 3085 5449 \n3 3085 1184 5448 \n3 5449 5448 68 \n3 47 5446 5327 \n3 5446 1185 3089 \n3 5327 3089 1124 \n3 1185 5449 3087 \n3 5449 68 5450 \n3 3087 5450 1186 \n3 1124 3088 5328 \n3 3088 1186 5451 \n3 5328 5451 48 \n3 48 5451 5452 \n3 5451 1186 3092 \n3 5452 3092 1188 \n3 1186 5450 3090 \n3 5450 68 5453 \n3 3090 5453 1187 \n3 1188 3091 5455 \n3 3091 1187 5454 \n3 5455 5454 69 \n3 48 5452 5333 \n3 5452 1188 3095 \n3 5333 3095 1127 \n3 1188 5455 3093 \n3 5455 69 5456 \n3 3093 5456 1189 \n3 1127 3094 5334 \n3 3094 1189 5457 \n3 5334 5457 49 \n3 49 5457 5458 \n3 5457 1189 3098 \n3 5458 3098 1191 \n3 1189 5456 3096 \n3 5456 69 5459 \n3 3096 5459 1190 \n3 1191 3097 5461 \n3 3097 1190 5460 \n3 5461 5460 70 \n3 49 5458 5339 \n3 5458 1191 3101 \n3 5339 3101 1130 \n3 1191 5461 3099 \n3 5461 70 5462 \n3 3099 5462 1192 \n3 1130 3100 5340 \n3 3100 1192 5463 \n3 5340 5463 50 \n3 50 5463 5464 \n3 5463 1192 3104 \n3 5464 3104 1194 \n3 1192 5462 3102 \n3 5462 70 5465 \n3 3102 5465 1193 \n3 1194 3103 5467 \n3 3103 1193 5466 \n3 5467 5466 71 \n3 50 5464 5345 \n3 5464 1194 3107 \n3 5345 3107 1133 \n3 1194 5467 3105 \n3 5467 71 5468 \n3 3105 5468 1195 \n3 1133 3106 5346 \n3 3106 1195 5469 \n3 5346 5469 51 \n3 51 5469 5470 \n3 5469 1195 3110 \n3 5470 3110 1197 \n3 1195 5468 3108 \n3 5468 71 5471 \n3 3108 5471 1196 \n3 1197 3109 5473 \n3 3109 1196 5472 \n3 5473 5472 72 \n3 51 5470 5351 \n3 5470 1197 3113 \n3 5351 3113 1136 \n3 1197 5473 3111 \n3 5473 72 5474 \n3 3111 5474 1198 \n3 1136 3112 5352 \n3 3112 1198 5475 \n3 5352 5475 52 \n3 52 5475 5476 \n3 5475 1198 3116 \n3 5476 3116 1200 \n3 1198 5474 3114 \n3 5474 72 5477 \n3 3114 5477 1199 \n3 1200 3115 5479 \n3 3115 1199 5478 \n3 5479 5478 73 \n3 52 5476 5357 \n3 5476 1200 3119 \n3 5357 3119 1139 \n3 1200 5479 3117 \n3 5479 73 5480 \n3 3117 5480 1201 \n3 1139 3118 5358 \n3 3118 1201 5481 \n3 5358 5481 53 \n3 53 5481 5482 \n3 5481 1201 3122 \n3 5482 3122 1203 \n3 1201 5480 3120 \n3 5480 73 5483 \n3 3120 5483 1202 \n3 1203 3121 5485 \n3 3121 1202 5484 \n3 5485 5484 74 \n3 53 5482 5363 \n3 5482 1203 3125 \n3 5363 3125 1142 \n3 1203 5485 3123 \n3 5485 74 5486 \n3 3123 5486 1204 \n3 1142 3124 5364 \n3 3124 1204 5487 \n3 5364 5487 54 \n3 54 5487 5488 \n3 5487 1204 3128 \n3 5488 3128 1206 \n3 1204 5486 3126 \n3 5486 74 5489 \n3 3126 5489 1205 \n3 1206 3127 5491 \n3 3127 1205 5490 \n3 5491 5490 75 \n3 54 5488 5369 \n3 5488 1206 3131 \n3 5369 3131 1145 \n3 1206 5491 3129 \n3 5491 75 5492 \n3 3129 5492 1207 \n3 1145 3130 5370 \n3 3130 1207 5493 \n3 5370 5493 55 \n3 55 5493 5494 \n3 5493 1207 3134 \n3 5494 3134 1209 \n3 1207 5492 3132 \n3 5492 75 5495 \n3 3132 5495 1208 \n3 1209 3133 5497 \n3 3133 1208 5496 \n3 5497 5496 76 \n3 55 5494 5375 \n3 5494 1209 3137 \n3 5375 3137 1148 \n3 1209 5497 3135 \n3 5497 76 5498 \n3 3135 5498 1210 \n3 1148 3136 5376 \n3 3136 1210 5499 \n3 5376 5499 56 \n3 56 5499 5500 \n3 5499 1210 3140 \n3 5500 3140 1212 \n3 1210 5498 3138 \n3 5498 76 5501 \n3 3138 5501 1211 \n3 1212 3139 5503 \n3 3139 1211 5502 \n3 5503 5502 77 \n3 56 5500 5381 \n3 5500 1212 3143 \n3 5381 3143 1151 \n3 1212 5503 3141 \n3 5503 77 5504 \n3 3141 5504 1213 \n3 1151 3142 5382 \n3 3142 1213 5505 \n3 5382 5505 57 \n3 57 5505 5506 \n3 5505 1213 3146 \n3 5506 3146 1215 \n3 1213 5504 3144 \n3 5504 77 5507 \n3 3144 5507 1214 \n3 1215 3145 5509 \n3 3145 1214 5508 \n3 5509 5508 78 \n3 57 5506 5387 \n3 5506 1215 3149 \n3 5387 3149 1154 \n3 1215 5509 3147 \n3 5509 78 5510 \n3 3147 5510 1216 \n3 1154 3148 5388 \n3 3148 1216 5511 \n3 5388 5511 58 \n3 58 5511 5512 \n3 5511 1216 3152 \n3 5512 3152 1218 \n3 1216 5510 3150 \n3 5510 78 5513 \n3 3150 5513 1217 \n3 1218 3151 5515 \n3 3151 1217 5514 \n3 5515 5514 79 \n3 58 5512 5393 \n3 5512 1218 3155 \n3 5393 3155 1157 \n3 1218 5515 3153 \n3 5515 79 5516 \n3 3153 5516 1219 \n3 1157 3154 5394 \n3 3154 1219 5517 \n3 5394 5517 59 \n3 59 5517 5518 \n3 5517 1219 3158 \n3 5518 3158 1221 \n3 1219 5516 3156 \n3 5516 79 5519 \n3 3156 5519 1220 \n3 1221 3157 5521 \n3 3157 1220 5520 \n3 5521 5520 60 \n3 59 5518 5399 \n3 5518 1221 3161 \n3 5399 3161 1160 \n3 1221 5521 3159 \n3 5521 60 5404 \n3 3159 5404 1162 \n3 1160 3160 5400 \n3 3160 1162 5402 \n3 5400 5402 40 \n3 60 5522 5523 \n3 5522 1222 3164 \n3 5523 3164 1224 \n3 1222 5524 3162 \n3 5524 80 5525 \n3 3162 5525 1223 \n3 1224 3163 5527 \n3 3163 1223 5526 \n3 5527 5526 81 \n3 60 5523 5405 \n3 5523 1224 3167 \n3 5405 3167 1163 \n3 1224 5527 3165 \n3 5527 81 5528 \n3 3165 5528 1225 \n3 1163 3166 5406 \n3 3166 1225 5529 \n3 5406 5529 61 \n3 61 5529 5530 \n3 5529 1225 3170 \n3 5530 3170 1227 \n3 1225 5528 3168 \n3 5528 81 5531 \n3 3168 5531 1226 \n3 1227 3169 5533 \n3 3169 1226 5532 \n3 5533 5532 82 \n3 61 5530 5411 \n3 5530 1227 3173 \n3 5411 3173 1166 \n3 1227 5533 3171 \n3 5533 82 5534 \n3 3171 5534 1228 \n3 1166 3172 5412 \n3 3172 1228 5535 \n3 5412 5535 62 \n3 62 5535 5536 \n3 5535 1228 3176 \n3 5536 3176 1230 \n3 1228 5534 3174 \n3 5534 82 5537 \n3 3174 5537 1229 \n3 1230 3175 5539 \n3 3175 1229 5538 \n3 5539 5538 83 \n3 62 5536 5417 \n3 5536 1230 3179 \n3 5417 3179 1169 \n3 1230 5539 3177 \n3 5539 83 5540 \n3 3177 5540 1231 \n3 1169 3178 5418 \n3 3178 1231 5541 \n3 5418 5541 63 \n3 63 5541 5542 \n3 5541 1231 3182 \n3 5542 3182 1233 \n3 1231 5540 3180 \n3 5540 83 5543 \n3 3180 5543 1232 \n3 1233 3181 5545 \n3 3181 1232 5544 \n3 5545 5544 84 \n3 63 5542 5423 \n3 5542 1233 3185 \n3 5423 3185 1172 \n3 1233 5545 3183 \n3 5545 84 5546 \n3 3183 5546 1234 \n3 1172 3184 5424 \n3 3184 1234 5547 \n3 5424 5547 64 \n3 64 5547 5548 \n3 5547 1234 3188 \n3 5548 3188 1236 \n3 1234 5546 3186 \n3 5546 84 5549 \n3 3186 5549 1235 \n3 1236 3187 5551 \n3 3187 1235 5550 \n3 5551 5550 85 \n3 64 5548 5429 \n3 5548 1236 3191 \n3 5429 3191 1175 \n3 1236 5551 3189 \n3 5551 85 5552 \n3 3189 5552 1237 \n3 1175 3190 5430 \n3 3190 1237 5553 \n3 5430 5553 65 \n3 65 5553 5554 \n3 5553 1237 3194 \n3 5554 3194 1239 \n3 1237 5552 3192 \n3 5552 85 5555 \n3 3192 5555 1238 \n3 1239 3193 5557 \n3 3193 1238 5556 \n3 5557 5556 86 \n3 65 5554 5435 \n3 5554 1239 3197 \n3 5435 3197 1178 \n3 1239 5557 3195 \n3 5557 86 5558 \n3 3195 5558 1240 \n3 1178 3196 5436 \n3 3196 1240 5559 \n3 5436 5559 66 \n3 66 5559 5560 \n3 5559 1240 3200 \n3 5560 3200 1242 \n3 1240 5558 3198 \n3 5558 86 5561 \n3 3198 5561 1241 \n3 1242 3199 5563 \n3 3199 1241 5562 \n3 5563 5562 87 \n3 66 5560 5441 \n3 5560 1242 3203 \n3 5441 3203 1181 \n3 1242 5563 3201 \n3 5563 87 5564 \n3 3201 5564 1243 \n3 1181 3202 5442 \n3 3202 1243 5565 \n3 5442 5565 67 \n3 67 5565 5566 \n3 5565 1243 3206 \n3 5566 3206 1245 \n3 1243 5564 3204 \n3 5564 87 5567 \n3 3204 5567 1244 \n3 1245 3205 5569 \n3 3205 1244 5568 \n3 5569 5568 88 \n3 67 5566 5447 \n3 5566 1245 3209 \n3 5447 3209 1184 \n3 1245 5569 3207 \n3 5569 88 5570 \n3 3207 5570 1246 \n3 1184 3208 5448 \n3 3208 1246 5571 \n3 5448 5571 68 \n3 68 5571 5572 \n3 5571 1246 3212 \n3 5572 3212 1248 \n3 1246 5570 3210 \n3 5570 88 5573 \n3 3210 5573 1247 \n3 1248 3211 5575 \n3 3211 1247 5574 \n3 5575 5574 89 \n3 68 5572 5453 \n3 5572 1248 3215 \n3 5453 3215 1187 \n3 1248 5575 3213 \n3 5575 89 5576 \n3 3213 5576 1249 \n3 1187 3214 5454 \n3 3214 1249 5577 \n3 5454 5577 69 \n3 69 5577 5578 \n3 5577 1249 3218 \n3 5578 3218 1251 \n3 1249 5576 3216 \n3 5576 89 5579 \n3 3216 5579 1250 \n3 1251 3217 5581 \n3 3217 1250 5580 \n3 5581 5580 90 \n3 69 5578 5459 \n3 5578 1251 3221 \n3 5459 3221 1190 \n3 1251 5581 3219 \n3 5581 90 5582 \n3 3219 5582 1252 \n3 1190 3220 5460 \n3 3220 1252 5583 \n3 5460 5583 70 \n3 70 5583 5584 \n3 5583 1252 3224 \n3 5584 3224 1254 \n3 1252 5582 3222 \n3 5582 90 5585 \n3 3222 5585 1253 \n3 1254 3223 5587 \n3 3223 1253 5586 \n3 5587 5586 91 \n3 70 5584 5465 \n3 5584 1254 3227 \n3 5465 3227 1193 \n3 1254 5587 3225 \n3 5587 91 5588 \n3 3225 5588 1255 \n3 1193 3226 5466 \n3 3226 1255 5589 \n3 5466 5589 71 \n3 71 5589 5590 \n3 5589 1255 3230 \n3 5590 3230 1257 \n3 1255 5588 3228 \n3 5588 91 5591 \n3 3228 5591 1256 \n3 1257 3229 5593 \n3 3229 1256 5592 \n3 5593 5592 92 \n3 71 5590 5471 \n3 5590 1257 3233 \n3 5471 3233 1196 \n3 1257 5593 3231 \n3 5593 92 5594 \n3 3231 5594 1258 \n3 1196 3232 5472 \n3 3232 1258 5595 \n3 5472 5595 72 \n3 72 5595 5596 \n3 5595 1258 3236 \n3 5596 3236 1260 \n3 1258 5594 3234 \n3 5594 92 5597 \n3 3234 5597 1259 \n3 1260 3235 5599 \n3 3235 1259 5598 \n3 5599 5598 93 \n3 72 5596 5477 \n3 5596 1260 3239 \n3 5477 3239 1199 \n3 1260 5599 3237 \n3 5599 93 5600 \n3 3237 5600 1261 \n3 1199 3238 5478 \n3 3238 1261 5601 \n3 5478 5601 73 \n3 73 5601 5602 \n3 5601 1261 3242 \n3 5602 3242 1263 \n3 1261 5600 3240 \n3 5600 93 5603 \n3 3240 5603 1262 \n3 1263 3241 5605 \n3 3241 1262 5604 \n3 5605 5604 94 \n3 73 5602 5483 \n3 5602 1263 3245 \n3 5483 3245 1202 \n3 1263 5605 3243 \n3 5605 94 5606 \n3 3243 5606 1264 \n3 1202 3244 5484 \n3 3244 1264 5607 \n3 5484 5607 74 \n3 74 5607 5608 \n3 5607 1264 3248 \n3 5608 3248 1266 \n3 1264 5606 3246 \n3 5606 94 5609 \n3 3246 5609 1265 \n3 1266 3247 5611 \n3 3247 1265 5610 \n3 5611 5610 95 \n3 74 5608 5489 \n3 5608 1266 3251 \n3 5489 3251 1205 \n3 1266 5611 3249 \n3 5611 95 5612 \n3 3249 5612 1267 \n3 1205 3250 5490 \n3 3250 1267 5613 \n3 5490 5613 75 \n3 75 5613 5614 \n3 5613 1267 3254 \n3 5614 3254 1269 \n3 1267 5612 3252 \n3 5612 95 5615 \n3 3252 5615 1268 \n3 1269 3253 5617 \n3 3253 1268 5616 \n3 5617 5616 96 \n3 75 5614 5495 \n3 5614 1269 3257 \n3 5495 3257 1208 \n3 1269 5617 3255 \n3 5617 96 5618 \n3 3255 5618 1270 \n3 1208 3256 5496 \n3 3256 1270 5619 \n3 5496 5619 76 \n3 76 5619 5620 \n3 5619 1270 3260 \n3 5620 3260 1272 \n3 1270 5618 3258 \n3 5618 96 5621 \n3 3258 5621 1271 \n3 1272 3259 5623 \n3 3259 1271 5622 \n3 5623 5622 97 \n3 76 5620 5501 \n3 5620 1272 3263 \n3 5501 3263 1211 \n3 1272 5623 3261 \n3 5623 97 5624 \n3 3261 5624 1273 \n3 1211 3262 5502 \n3 3262 1273 5625 \n3 5502 5625 77 \n3 77 5625 5626 \n3 5625 1273 3266 \n3 5626 3266 1275 \n3 1273 5624 3264 \n3 5624 97 5627 \n3 3264 5627 1274 \n3 1275 3265 5629 \n3 3265 1274 5628 \n3 5629 5628 98 \n3 77 5626 5507 \n3 5626 1275 3269 \n3 5507 3269 1214 \n3 1275 5629 3267 \n3 5629 98 5630 \n3 3267 5630 1276 \n3 1214 3268 5508 \n3 3268 1276 5631 \n3 5508 5631 78 \n3 78 5631 5632 \n3 5631 1276 3272 \n3 5632 3272 1278 \n3 1276 5630 3270 \n3 5630 98 5633 \n3 3270 5633 1277 \n3 1278 3271 5635 \n3 3271 1277 5634 \n3 5635 5634 99 \n3 78 5632 5513 \n3 5632 1278 3275 \n3 5513 3275 1217 \n3 1278 5635 3273 \n3 5635 99 5636 \n3 3273 5636 1279 \n3 1217 3274 5514 \n3 3274 1279 5637 \n3 5514 5637 79 \n3 79 5637 5638 \n3 5637 1279 3278 \n3 5638 3278 1281 \n3 1279 5636 3276 \n3 5636 99 5639 \n3 3276 5639 1280 \n3 1281 3277 5641 \n3 3277 1280 5640 \n3 5641 5640 80 \n3 79 5638 5519 \n3 5638 1281 3281 \n3 5519 3281 1220 \n3 1281 5641 3279 \n3 5641 80 5524 \n3 3279 5524 1222 \n3 1220 3280 5520 \n3 3280 1222 5522 \n3 5520 5522 60 \n3 80 5642 5643 \n3 5642 1282 3284 \n3 5643 3284 1284 \n3 1282 5644 3282 \n3 5644 100 5645 \n3 3282 5645 1283 \n3 1284 3283 5647 \n3 3283 1283 5646 \n3 5647 5646 101 \n3 80 5643 5525 \n3 5643 1284 3287 \n3 5525 3287 1223 \n3 1284 5647 3285 \n3 5647 101 5648 \n3 3285 5648 1285 \n3 1223 3286 5526 \n3 3286 1285 5649 \n3 5526 5649 81 \n3 81 5649 5650 \n3 5649 1285 3290 \n3 5650 3290 1287 \n3 1285 5648 3288 \n3 5648 101 5651 \n3 3288 5651 1286 \n3 1287 3289 5653 \n3 3289 1286 5652 \n3 5653 5652 102 \n3 81 5650 5531 \n3 5650 1287 3293 \n3 5531 3293 1226 \n3 1287 5653 3291 \n3 5653 102 5654 \n3 3291 5654 1288 \n3 1226 3292 5532 \n3 3292 1288 5655 \n3 5532 5655 82 \n3 82 5655 5656 \n3 5655 1288 3296 \n3 5656 3296 1290 \n3 1288 5654 3294 \n3 5654 102 5657 \n3 3294 5657 1289 \n3 1290 3295 5659 \n3 3295 1289 5658 \n3 5659 5658 103 \n3 82 5656 5537 \n3 5656 1290 3299 \n3 5537 3299 1229 \n3 1290 5659 3297 \n3 5659 103 5660 \n3 3297 5660 1291 \n3 1229 3298 5538 \n3 3298 1291 5661 \n3 5538 5661 83 \n3 83 5661 5662 \n3 5661 1291 3302 \n3 5662 3302 1293 \n3 1291 5660 3300 \n3 5660 103 5663 \n3 3300 5663 1292 \n3 1293 3301 5665 \n3 3301 1292 5664 \n3 5665 5664 104 \n3 83 5662 5543 \n3 5662 1293 3305 \n3 5543 3305 1232 \n3 1293 5665 3303 \n3 5665 104 5666 \n3 3303 5666 1294 \n3 1232 3304 5544 \n3 3304 1294 5667 \n3 5544 5667 84 \n3 84 5667 5668 \n3 5667 1294 3308 \n3 5668 3308 1296 \n3 1294 5666 3306 \n3 5666 104 5669 \n3 3306 5669 1295 \n3 1296 3307 5671 \n3 3307 1295 5670 \n3 5671 5670 105 \n3 84 5668 5549 \n3 5668 1296 3311 \n3 5549 3311 1235 \n3 1296 5671 3309 \n3 5671 105 5672 \n3 3309 5672 1297 \n3 1235 3310 5550 \n3 3310 1297 5673 \n3 5550 5673 85 \n3 85 5673 5674 \n3 5673 1297 3314 \n3 5674 3314 1299 \n3 1297 5672 3312 \n3 5672 105 5675 \n3 3312 5675 1298 \n3 1299 3313 5677 \n3 3313 1298 5676 \n3 5677 5676 106 \n3 85 5674 5555 \n3 5674 1299 3317 \n3 5555 3317 1238 \n3 1299 5677 3315 \n3 5677 106 5678 \n3 3315 5678 1300 \n3 1238 3316 5556 \n3 3316 1300 5679 \n3 5556 5679 86 \n3 86 5679 5680 \n3 5679 1300 3320 \n3 5680 3320 1302 \n3 1300 5678 3318 \n3 5678 106 5681 \n3 3318 5681 1301 \n3 1302 3319 5683 \n3 3319 1301 5682 \n3 5683 5682 107 \n3 86 5680 5561 \n3 5680 1302 3323 \n3 5561 3323 1241 \n3 1302 5683 3321 \n3 5683 107 5684 \n3 3321 5684 1303 \n3 1241 3322 5562 \n3 3322 1303 5685 \n3 5562 5685 87 \n3 87 5685 5686 \n3 5685 1303 3326 \n3 5686 3326 1305 \n3 1303 5684 3324 \n3 5684 107 5687 \n3 3324 5687 1304 \n3 1305 3325 5689 \n3 3325 1304 5688 \n3 5689 5688 108 \n3 87 5686 5567 \n3 5686 1305 3329 \n3 5567 3329 1244 \n3 1305 5689 3327 \n3 5689 108 5690 \n3 3327 5690 1306 \n3 1244 3328 5568 \n3 3328 1306 5691 \n3 5568 5691 88 \n3 88 5691 5692 \n3 5691 1306 3332 \n3 5692 3332 1308 \n3 1306 5690 3330 \n3 5690 108 5693 \n3 3330 5693 1307 \n3 1308 3331 5695 \n3 3331 1307 5694 \n3 5695 5694 109 \n3 88 5692 5573 \n3 5692 1308 3335 \n3 5573 3335 1247 \n3 1308 5695 3333 \n3 5695 109 5696 \n3 3333 5696 1309 \n3 1247 3334 5574 \n3 3334 1309 5697 \n3 5574 5697 89 \n3 89 5697 5698 \n3 5697 1309 3338 \n3 5698 3338 1311 \n3 1309 5696 3336 \n3 5696 109 5699 \n3 3336 5699 1310 \n3 1311 3337 5701 \n3 3337 1310 5700 \n3 5701 5700 110 \n3 89 5698 5579 \n3 5698 1311 3341 \n3 5579 3341 1250 \n3 1311 5701 3339 \n3 5701 110 5702 \n3 3339 5702 1312 \n3 1250 3340 5580 \n3 3340 1312 5703 \n3 5580 5703 90 \n3 90 5703 5704 \n3 5703 1312 3344 \n3 5704 3344 1314 \n3 1312 5702 3342 \n3 5702 110 5705 \n3 3342 5705 1313 \n3 1314 3343 5707 \n3 3343 1313 5706 \n3 5707 5706 111 \n3 90 5704 5585 \n3 5704 1314 3347 \n3 5585 3347 1253 \n3 1314 5707 3345 \n3 5707 111 5708 \n3 3345 5708 1315 \n3 1253 3346 5586 \n3 3346 1315 5709 \n3 5586 5709 91 \n3 91 5709 5710 \n3 5709 1315 3350 \n3 5710 3350 1317 \n3 1315 5708 3348 \n3 5708 111 5711 \n3 3348 5711 1316 \n3 1317 3349 5713 \n3 3349 1316 5712 \n3 5713 5712 112 \n3 91 5710 5591 \n3 5710 1317 3353 \n3 5591 3353 1256 \n3 1317 5713 3351 \n3 5713 112 5714 \n3 3351 5714 1318 \n3 1256 3352 5592 \n3 3352 1318 5715 \n3 5592 5715 92 \n3 92 5715 5716 \n3 5715 1318 3356 \n3 5716 3356 1320 \n3 1318 5714 3354 \n3 5714 112 5717 \n3 3354 5717 1319 \n3 1320 3355 5719 \n3 3355 1319 5718 \n3 5719 5718 113 \n3 92 5716 5597 \n3 5716 1320 3359 \n3 5597 3359 1259 \n3 1320 5719 3357 \n3 5719 113 5720 \n3 3357 5720 1321 \n3 1259 3358 5598 \n3 3358 1321 5721 \n3 5598 5721 93 \n3 93 5721 5722 \n3 5721 1321 3362 \n3 5722 3362 1323 \n3 1321 5720 3360 \n3 5720 113 5723 \n3 3360 5723 1322 \n3 1323 3361 5725 \n3 3361 1322 5724 \n3 5725 5724 114 \n3 93 5722 5603 \n3 5722 1323 3365 \n3 5603 3365 1262 \n3 1323 5725 3363 \n3 5725 114 5726 \n3 3363 5726 1324 \n3 1262 3364 5604 \n3 3364 1324 5727 \n3 5604 5727 94 \n3 94 5727 5728 \n3 5727 1324 3368 \n3 5728 3368 1326 \n3 1324 5726 3366 \n3 5726 114 5729 \n3 3366 5729 1325 \n3 1326 3367 5731 \n3 3367 1325 5730 \n3 5731 5730 115 \n3 94 5728 5609 \n3 5728 1326 3371 \n3 5609 3371 1265 \n3 1326 5731 3369 \n3 5731 115 5732 \n3 3369 5732 1327 \n3 1265 3370 5610 \n3 3370 1327 5733 \n3 5610 5733 95 \n3 95 5733 5734 \n3 5733 1327 3374 \n3 5734 3374 1329 \n3 1327 5732 3372 \n3 5732 115 5735 \n3 3372 5735 1328 \n3 1329 3373 5737 \n3 3373 1328 5736 \n3 5737 5736 116 \n3 95 5734 5615 \n3 5734 1329 3377 \n3 5615 3377 1268 \n3 1329 5737 3375 \n3 5737 116 5738 \n3 3375 5738 1330 \n3 1268 3376 5616 \n3 3376 1330 5739 \n3 5616 5739 96 \n3 96 5739 5740 \n3 5739 1330 3380 \n3 5740 3380 1332 \n3 1330 5738 3378 \n3 5738 116 5741 \n3 3378 5741 1331 \n3 1332 3379 5743 \n3 3379 1331 5742 \n3 5743 5742 117 \n3 96 5740 5621 \n3 5740 1332 3383 \n3 5621 3383 1271 \n3 1332 5743 3381 \n3 5743 117 5744 \n3 3381 5744 1333 \n3 1271 3382 5622 \n3 3382 1333 5745 \n3 5622 5745 97 \n3 97 5745 5746 \n3 5745 1333 3386 \n3 5746 3386 1335 \n3 1333 5744 3384 \n3 5744 117 5747 \n3 3384 5747 1334 \n3 1335 3385 5749 \n3 3385 1334 5748 \n3 5749 5748 118 \n3 97 5746 5627 \n3 5746 1335 3389 \n3 5627 3389 1274 \n3 1335 5749 3387 \n3 5749 118 5750 \n3 3387 5750 1336 \n3 1274 3388 5628 \n3 3388 1336 5751 \n3 5628 5751 98 \n3 98 5751 5752 \n3 5751 1336 3392 \n3 5752 3392 1338 \n3 1336 5750 3390 \n3 5750 118 5753 \n3 3390 5753 1337 \n3 1338 3391 5755 \n3 3391 1337 5754 \n3 5755 5754 119 \n3 98 5752 5633 \n3 5752 1338 3395 \n3 5633 3395 1277 \n3 1338 5755 3393 \n3 5755 119 5756 \n3 3393 5756 1339 \n3 1277 3394 5634 \n3 3394 1339 5757 \n3 5634 5757 99 \n3 99 5757 5758 \n3 5757 1339 3398 \n3 5758 3398 1341 \n3 1339 5756 3396 \n3 5756 119 5759 \n3 3396 5759 1340 \n3 1341 3397 5761 \n3 3397 1340 5760 \n3 5761 5760 100 \n3 99 5758 5639 \n3 5758 1341 3401 \n3 5639 3401 1280 \n3 1341 5761 3399 \n3 5761 100 5644 \n3 3399 5644 1282 \n3 1280 3400 5640 \n3 3400 1282 5642 \n3 5640 5642 80 \n3 100 5762 5763 \n3 5762 1342 3404 \n3 5763 3404 1344 \n3 1342 5764 3402 \n3 5764 120 5765 \n3 3402 5765 1343 \n3 1344 3403 5767 \n3 3403 1343 5766 \n3 5767 5766 121 \n3 100 5763 5645 \n3 5763 1344 3407 \n3 5645 3407 1283 \n3 1344 5767 3405 \n3 5767 121 5768 \n3 3405 5768 1345 \n3 1283 3406 5646 \n3 3406 1345 5769 \n3 5646 5769 101 \n3 101 5769 5770 \n3 5769 1345 3410 \n3 5770 3410 1347 \n3 1345 5768 3408 \n3 5768 121 5771 \n3 3408 5771 1346 \n3 1347 3409 5773 \n3 3409 1346 5772 \n3 5773 5772 122 \n3 101 5770 5651 \n3 5770 1347 3413 \n3 5651 3413 1286 \n3 1347 5773 3411 \n3 5773 122 5774 \n3 3411 5774 1348 \n3 1286 3412 5652 \n3 3412 1348 5775 \n3 5652 5775 102 \n3 102 5775 5776 \n3 5775 1348 3416 \n3 5776 3416 1350 \n3 1348 5774 3414 \n3 5774 122 5777 \n3 3414 5777 1349 \n3 1350 3415 5779 \n3 3415 1349 5778 \n3 5779 5778 123 \n3 102 5776 5657 \n3 5776 1350 3419 \n3 5657 3419 1289 \n3 1350 5779 3417 \n3 5779 123 5780 \n3 3417 5780 1351 \n3 1289 3418 5658 \n3 3418 1351 5781 \n3 5658 5781 103 \n3 103 5781 5782 \n3 5781 1351 3422 \n3 5782 3422 1353 \n3 1351 5780 3420 \n3 5780 123 5783 \n3 3420 5783 1352 \n3 1353 3421 5785 \n3 3421 1352 5784 \n3 5785 5784 124 \n3 103 5782 5663 \n3 5782 1353 3425 \n3 5663 3425 1292 \n3 1353 5785 3423 \n3 5785 124 5786 \n3 3423 5786 1354 \n3 1292 3424 5664 \n3 3424 1354 5787 \n3 5664 5787 104 \n3 104 5787 5788 \n3 5787 1354 3428 \n3 5788 3428 1356 \n3 1354 5786 3426 \n3 5786 124 5789 \n3 3426 5789 1355 \n3 1356 3427 5791 \n3 3427 1355 5790 \n3 5791 5790 125 \n3 104 5788 5669 \n3 5788 1356 3431 \n3 5669 3431 1295 \n3 1356 5791 3429 \n3 5791 125 5792 \n3 3429 5792 1357 \n3 1295 3430 5670 \n3 3430 1357 5793 \n3 5670 5793 105 \n3 105 5793 5794 \n3 5793 1357 3434 \n3 5794 3434 1359 \n3 1357 5792 3432 \n3 5792 125 5795 \n3 3432 5795 1358 \n3 1359 3433 5797 \n3 3433 1358 5796 \n3 5797 5796 126 \n3 105 5794 5675 \n3 5794 1359 3437 \n3 5675 3437 1298 \n3 1359 5797 3435 \n3 5797 126 5798 \n3 3435 5798 1360 \n3 1298 3436 5676 \n3 3436 1360 5799 \n3 5676 5799 106 \n3 106 5799 5800 \n3 5799 1360 3440 \n3 5800 3440 1362 \n3 1360 5798 3438 \n3 5798 126 5801 \n3 3438 5801 1361 \n3 1362 3439 5803 \n3 3439 1361 5802 \n3 5803 5802 127 \n3 106 5800 5681 \n3 5800 1362 3443 \n3 5681 3443 1301 \n3 1362 5803 3441 \n3 5803 127 5804 \n3 3441 5804 1363 \n3 1301 3442 5682 \n3 3442 1363 5805 \n3 5682 5805 107 \n3 107 5805 5806 \n3 5805 1363 3446 \n3 5806 3446 1365 \n3 1363 5804 3444 \n3 5804 127 5807 \n3 3444 5807 1364 \n3 1365 3445 5809 \n3 3445 1364 5808 \n3 5809 5808 128 \n3 107 5806 5687 \n3 5806 1365 3449 \n3 5687 3449 1304 \n3 1365 5809 3447 \n3 5809 128 5810 \n3 3447 5810 1366 \n3 1304 3448 5688 \n3 3448 1366 5811 \n3 5688 5811 108 \n3 108 5811 5812 \n3 5811 1366 3452 \n3 5812 3452 1368 \n3 1366 5810 3450 \n3 5810 128 5813 \n3 3450 5813 1367 \n3 1368 3451 5815 \n3 3451 1367 5814 \n3 5815 5814 129 \n3 108 5812 5693 \n3 5812 1368 3455 \n3 5693 3455 1307 \n3 1368 5815 3453 \n3 5815 129 5816 \n3 3453 5816 1369 \n3 1307 3454 5694 \n3 3454 1369 5817 \n3 5694 5817 109 \n3 109 5817 5818 \n3 5817 1369 3458 \n3 5818 3458 1371 \n3 1369 5816 3456 \n3 5816 129 5819 \n3 3456 5819 1370 \n3 1371 3457 5821 \n3 3457 1370 5820 \n3 5821 5820 130 \n3 109 5818 5699 \n3 5818 1371 3461 \n3 5699 3461 1310 \n3 1371 5821 3459 \n3 5821 130 5822 \n3 3459 5822 1372 \n3 1310 3460 5700 \n3 3460 1372 5823 \n3 5700 5823 110 \n3 110 5823 5824 \n3 5823 1372 3464 \n3 5824 3464 1374 \n3 1372 5822 3462 \n3 5822 130 5825 \n3 3462 5825 1373 \n3 1374 3463 5827 \n3 3463 1373 5826 \n3 5827 5826 131 \n3 110 5824 5705 \n3 5824 1374 3467 \n3 5705 3467 1313 \n3 1374 5827 3465 \n3 5827 131 5828 \n3 3465 5828 1375 \n3 1313 3466 5706 \n3 3466 1375 5829 \n3 5706 5829 111 \n3 111 5829 5830 \n3 5829 1375 3470 \n3 5830 3470 1377 \n3 1375 5828 3468 \n3 5828 131 5831 \n3 3468 5831 1376 \n3 1377 3469 5833 \n3 3469 1376 5832 \n3 5833 5832 132 \n3 111 5830 5711 \n3 5830 1377 3473 \n3 5711 3473 1316 \n3 1377 5833 3471 \n3 5833 132 5834 \n3 3471 5834 1378 \n3 1316 3472 5712 \n3 3472 1378 5835 \n3 5712 5835 112 \n3 112 5835 5836 \n3 5835 1378 3476 \n3 5836 3476 1380 \n3 1378 5834 3474 \n3 5834 132 5837 \n3 3474 5837 1379 \n3 1380 3475 5839 \n3 3475 1379 5838 \n3 5839 5838 133 \n3 112 5836 5717 \n3 5836 1380 3479 \n3 5717 3479 1319 \n3 1380 5839 3477 \n3 5839 133 5840 \n3 3477 5840 1381 \n3 1319 3478 5718 \n3 3478 1381 5841 \n3 5718 5841 113 \n3 113 5841 5842 \n3 5841 1381 3482 \n3 5842 3482 1383 \n3 1381 5840 3480 \n3 5840 133 5843 \n3 3480 5843 1382 \n3 1383 3481 5845 \n3 3481 1382 5844 \n3 5845 5844 134 \n3 113 5842 5723 \n3 5842 1383 3485 \n3 5723 3485 1322 \n3 1383 5845 3483 \n3 5845 134 5846 \n3 3483 5846 1384 \n3 1322 3484 5724 \n3 3484 1384 5847 \n3 5724 5847 114 \n3 114 5847 5848 \n3 5847 1384 3488 \n3 5848 3488 1386 \n3 1384 5846 3486 \n3 5846 134 5849 \n3 3486 5849 1385 \n3 1386 3487 5851 \n3 3487 1385 5850 \n3 5851 5850 135 \n3 114 5848 5729 \n3 5848 1386 3491 \n3 5729 3491 1325 \n3 1386 5851 3489 \n3 5851 135 5852 \n3 3489 5852 1387 \n3 1325 3490 5730 \n3 3490 1387 5853 \n3 5730 5853 115 \n3 115 5853 5854 \n3 5853 1387 3494 \n3 5854 3494 1389 \n3 1387 5852 3492 \n3 5852 135 5855 \n3 3492 5855 1388 \n3 1389 3493 5857 \n3 3493 1388 5856 \n3 5857 5856 136 \n3 115 5854 5735 \n3 5854 1389 3497 \n3 5735 3497 1328 \n3 1389 5857 3495 \n3 5857 136 5858 \n3 3495 5858 1390 \n3 1328 3496 5736 \n3 3496 1390 5859 \n3 5736 5859 116 \n3 116 5859 5860 \n3 5859 1390 3500 \n3 5860 3500 1392 \n3 1390 5858 3498 \n3 5858 136 5861 \n3 3498 5861 1391 \n3 1392 3499 5863 \n3 3499 1391 5862 \n3 5863 5862 137 \n3 116 5860 5741 \n3 5860 1392 3503 \n3 5741 3503 1331 \n3 1392 5863 3501 \n3 5863 137 5864 \n3 3501 5864 1393 \n3 1331 3502 5742 \n3 3502 1393 5865 \n3 5742 5865 117 \n3 117 5865 5866 \n3 5865 1393 3506 \n3 5866 3506 1395 \n3 1393 5864 3504 \n3 5864 137 5867 \n3 3504 5867 1394 \n3 1395 3505 5869 \n3 3505 1394 5868 \n3 5869 5868 138 \n3 117 5866 5747 \n3 5866 1395 3509 \n3 5747 3509 1334 \n3 1395 5869 3507 \n3 5869 138 5870 \n3 3507 5870 1396 \n3 1334 3508 5748 \n3 3508 1396 5871 \n3 5748 5871 118 \n3 118 5871 5872 \n3 5871 1396 3512 \n3 5872 3512 1398 \n3 1396 5870 3510 \n3 5870 138 5873 \n3 3510 5873 1397 \n3 1398 3511 5875 \n3 3511 1397 5874 \n3 5875 5874 139 \n3 118 5872 5753 \n3 5872 1398 3515 \n3 5753 3515 1337 \n3 1398 5875 3513 \n3 5875 139 5876 \n3 3513 5876 1399 \n3 1337 3514 5754 \n3 3514 1399 5877 \n3 5754 5877 119 \n3 119 5877 5878 \n3 5877 1399 3518 \n3 5878 3518 1401 \n3 1399 5876 3516 \n3 5876 139 5879 \n3 3516 5879 1400 \n3 1401 3517 5881 \n3 3517 1400 5880 \n3 5881 5880 120 \n3 119 5878 5759 \n3 5878 1401 3521 \n3 5759 3521 1340 \n3 1401 5881 3519 \n3 5881 120 5764 \n3 3519 5764 1342 \n3 1340 3520 5760 \n3 3520 1342 5762 \n3 5760 5762 100 \n3 120 5882 5883 \n3 5882 1402 3524 \n3 5883 3524 1404 \n3 1402 5884 3522 \n3 5884 140 5885 \n3 3522 5885 1403 \n3 1404 3523 5887 \n3 3523 1403 5886 \n3 5887 5886 141 \n3 120 5883 5765 \n3 5883 1404 3527 \n3 5765 3527 1343 \n3 1404 5887 3525 \n3 5887 141 5888 \n3 3525 5888 1405 \n3 1343 3526 5766 \n3 3526 1405 5889 \n3 5766 5889 121 \n3 121 5889 5890 \n3 5889 1405 3530 \n3 5890 3530 1407 \n3 1405 5888 3528 \n3 5888 141 5891 \n3 3528 5891 1406 \n3 1407 3529 5893 \n3 3529 1406 5892 \n3 5893 5892 142 \n3 121 5890 5771 \n3 5890 1407 3533 \n3 5771 3533 1346 \n3 1407 5893 3531 \n3 5893 142 5894 \n3 3531 5894 1408 \n3 1346 3532 5772 \n3 3532 1408 5895 \n3 5772 5895 122 \n3 122 5895 5896 \n3 5895 1408 3536 \n3 5896 3536 1410 \n3 1408 5894 3534 \n3 5894 142 5897 \n3 3534 5897 1409 \n3 1410 3535 5899 \n3 3535 1409 5898 \n3 5899 5898 143 \n3 122 5896 5777 \n3 5896 1410 3539 \n3 5777 3539 1349 \n3 1410 5899 3537 \n3 5899 143 5900 \n3 3537 5900 1411 \n3 1349 3538 5778 \n3 3538 1411 5901 \n3 5778 5901 123 \n3 123 5901 5902 \n3 5901 1411 3542 \n3 5902 3542 1413 \n3 1411 5900 3540 \n3 5900 143 5903 \n3 3540 5903 1412 \n3 1413 3541 5905 \n3 3541 1412 5904 \n3 5905 5904 144 \n3 123 5902 5783 \n3 5902 1413 3545 \n3 5783 3545 1352 \n3 1413 5905 3543 \n3 5905 144 5906 \n3 3543 5906 1414 \n3 1352 3544 5784 \n3 3544 1414 5907 \n3 5784 5907 124 \n3 124 5907 5908 \n3 5907 1414 3548 \n3 5908 3548 1416 \n3 1414 5906 3546 \n3 5906 144 5909 \n3 3546 5909 1415 \n3 1416 3547 5911 \n3 3547 1415 5910 \n3 5911 5910 145 \n3 124 5908 5789 \n3 5908 1416 3551 \n3 5789 3551 1355 \n3 1416 5911 3549 \n3 5911 145 5912 \n3 3549 5912 1417 \n3 1355 3550 5790 \n3 3550 1417 5913 \n3 5790 5913 125 \n3 125 5913 5914 \n3 5913 1417 3554 \n3 5914 3554 1419 \n3 1417 5912 3552 \n3 5912 145 5915 \n3 3552 5915 1418 \n3 1419 3553 5917 \n3 3553 1418 5916 \n3 5917 5916 146 \n3 125 5914 5795 \n3 5914 1419 3557 \n3 5795 3557 1358 \n3 1419 5917 3555 \n3 5917 146 5918 \n3 3555 5918 1420 \n3 1358 3556 5796 \n3 3556 1420 5919 \n3 5796 5919 126 \n3 126 5919 5920 \n3 5919 1420 3560 \n3 5920 3560 1422 \n3 1420 5918 3558 \n3 5918 146 5921 \n3 3558 5921 1421 \n3 1422 3559 5923 \n3 3559 1421 5922 \n3 5923 5922 147 \n3 126 5920 5801 \n3 5920 1422 3563 \n3 5801 3563 1361 \n3 1422 5923 3561 \n3 5923 147 5924 \n3 3561 5924 1423 \n3 1361 3562 5802 \n3 3562 1423 5925 \n3 5802 5925 127 \n3 127 5925 5926 \n3 5925 1423 3566 \n3 5926 3566 1425 \n3 1423 5924 3564 \n3 5924 147 5927 \n3 3564 5927 1424 \n3 1425 3565 5929 \n3 3565 1424 5928 \n3 5929 5928 148 \n3 127 5926 5807 \n3 5926 1425 3569 \n3 5807 3569 1364 \n3 1425 5929 3567 \n3 5929 148 5930 \n3 3567 5930 1426 \n3 1364 3568 5808 \n3 3568 1426 5931 \n3 5808 5931 128 \n3 128 5931 5932 \n3 5931 1426 3572 \n3 5932 3572 1428 \n3 1426 5930 3570 \n3 5930 148 5933 \n3 3570 5933 1427 \n3 1428 3571 5935 \n3 3571 1427 5934 \n3 5935 5934 149 \n3 128 5932 5813 \n3 5932 1428 3575 \n3 5813 3575 1367 \n3 1428 5935 3573 \n3 5935 149 5936 \n3 3573 5936 1429 \n3 1367 3574 5814 \n3 3574 1429 5937 \n3 5814 5937 129 \n3 129 5937 5938 \n3 5937 1429 3578 \n3 5938 3578 1431 \n3 1429 5936 3576 \n3 5936 149 5939 \n3 3576 5939 1430 \n3 1431 3577 5941 \n3 3577 1430 5940 \n3 5941 5940 150 \n3 129 5938 5819 \n3 5938 1431 3581 \n3 5819 3581 1370 \n3 1431 5941 3579 \n3 5941 150 5942 \n3 3579 5942 1432 \n3 1370 3580 5820 \n3 3580 1432 5943 \n3 5820 5943 130 \n3 130 5943 5944 \n3 5943 1432 3584 \n3 5944 3584 1434 \n3 1432 5942 3582 \n3 5942 150 5945 \n3 3582 5945 1433 \n3 1434 3583 5947 \n3 3583 1433 5946 \n3 5947 5946 151 \n3 130 5944 5825 \n3 5944 1434 3587 \n3 5825 3587 1373 \n3 1434 5947 3585 \n3 5947 151 5948 \n3 3585 5948 1435 \n3 1373 3586 5826 \n3 3586 1435 5949 \n3 5826 5949 131 \n3 131 5949 5950 \n3 5949 1435 3590 \n3 5950 3590 1437 \n3 1435 5948 3588 \n3 5948 151 5951 \n3 3588 5951 1436 \n3 1437 3589 5953 \n3 3589 1436 5952 \n3 5953 5952 152 \n3 131 5950 5831 \n3 5950 1437 3593 \n3 5831 3593 1376 \n3 1437 5953 3591 \n3 5953 152 5954 \n3 3591 5954 1438 \n3 1376 3592 5832 \n3 3592 1438 5955 \n3 5832 5955 132 \n3 132 5955 5956 \n3 5955 1438 3596 \n3 5956 3596 1440 \n3 1438 5954 3594 \n3 5954 152 5957 \n3 3594 5957 1439 \n3 1440 3595 5959 \n3 3595 1439 5958 \n3 5959 5958 153 \n3 132 5956 5837 \n3 5956 1440 3599 \n3 5837 3599 1379 \n3 1440 5959 3597 \n3 5959 153 5960 \n3 3597 5960 1441 \n3 1379 3598 5838 \n3 3598 1441 5961 \n3 5838 5961 133 \n3 133 5961 5962 \n3 5961 1441 3602 \n3 5962 3602 1443 \n3 1441 5960 3600 \n3 5960 153 5963 \n3 3600 5963 1442 \n3 1443 3601 5965 \n3 3601 1442 5964 \n3 5965 5964 154 \n3 133 5962 5843 \n3 5962 1443 3605 \n3 5843 3605 1382 \n3 1443 5965 3603 \n3 5965 154 5966 \n3 3603 5966 1444 \n3 1382 3604 5844 \n3 3604 1444 5967 \n3 5844 5967 134 \n3 134 5967 5968 \n3 5967 1444 3608 \n3 5968 3608 1446 \n3 1444 5966 3606 \n3 5966 154 5969 \n3 3606 5969 1445 \n3 1446 3607 5971 \n3 3607 1445 5970 \n3 5971 5970 155 \n3 134 5968 5849 \n3 5968 1446 3611 \n3 5849 3611 1385 \n3 1446 5971 3609 \n3 5971 155 5972 \n3 3609 5972 1447 \n3 1385 3610 5850 \n3 3610 1447 5973 \n3 5850 5973 135 \n3 135 5973 5974 \n3 5973 1447 3614 \n3 5974 3614 1449 \n3 1447 5972 3612 \n3 5972 155 5975 \n3 3612 5975 1448 \n3 1449 3613 5977 \n3 3613 1448 5976 \n3 5977 5976 156 \n3 135 5974 5855 \n3 5974 1449 3617 \n3 5855 3617 1388 \n3 1449 5977 3615 \n3 5977 156 5978 \n3 3615 5978 1450 \n3 1388 3616 5856 \n3 3616 1450 5979 \n3 5856 5979 136 \n3 136 5979 5980 \n3 5979 1450 3620 \n3 5980 3620 1452 \n3 1450 5978 3618 \n3 5978 156 5981 \n3 3618 5981 1451 \n3 1452 3619 5983 \n3 3619 1451 5982 \n3 5983 5982 157 \n3 136 5980 5861 \n3 5980 1452 3623 \n3 5861 3623 1391 \n3 1452 5983 3621 \n3 5983 157 5984 \n3 3621 5984 1453 \n3 1391 3622 5862 \n3 3622 1453 5985 \n3 5862 5985 137 \n3 137 5985 5986 \n3 5985 1453 3626 \n3 5986 3626 1455 \n3 1453 5984 3624 \n3 5984 157 5987 \n3 3624 5987 1454 \n3 1455 3625 5989 \n3 3625 1454 5988 \n3 5989 5988 158 \n3 137 5986 5867 \n3 5986 1455 3629 \n3 5867 3629 1394 \n3 1455 5989 3627 \n3 5989 158 5990 \n3 3627 5990 1456 \n3 1394 3628 5868 \n3 3628 1456 5991 \n3 5868 5991 138 \n3 138 5991 5992 \n3 5991 1456 3632 \n3 5992 3632 1458 \n3 1456 5990 3630 \n3 5990 158 5993 \n3 3630 5993 1457 \n3 1458 3631 5995 \n3 3631 1457 5994 \n3 5995 5994 159 \n3 138 5992 5873 \n3 5992 1458 3635 \n3 5873 3635 1397 \n3 1458 5995 3633 \n3 5995 159 5996 \n3 3633 5996 1459 \n3 1397 3634 5874 \n3 3634 1459 5997 \n3 5874 5997 139 \n3 139 5997 5998 \n3 5997 1459 3638 \n3 5998 3638 1461 \n3 1459 5996 3636 \n3 5996 159 5999 \n3 3636 5999 1460 \n3 1461 3637 6001 \n3 3637 1460 6000 \n3 6001 6000 140 \n3 139 5998 5879 \n3 5998 1461 3641 \n3 5879 3641 1400 \n3 1461 6001 3639 \n3 6001 140 5884 \n3 3639 5884 1402 \n3 1400 3640 5880 \n3 3640 1402 5882 \n3 5880 5882 120 \n3 140 6002 6003 \n3 6002 1462 3644 \n3 6003 3644 1464 \n3 1462 6004 3642 \n3 6004 160 6005 \n3 3642 6005 1463 \n3 1464 3643 6007 \n3 3643 1463 6006 \n3 6007 6006 161 \n3 140 6003 5885 \n3 6003 1464 3647 \n3 5885 3647 1403 \n3 1464 6007 3645 \n3 6007 161 6008 \n3 3645 6008 1465 \n3 1403 3646 5886 \n3 3646 1465 6009 \n3 5886 6009 141 \n3 141 6009 6010 \n3 6009 1465 3650 \n3 6010 3650 1467 \n3 1465 6008 3648 \n3 6008 161 6011 \n3 3648 6011 1466 \n3 1467 3649 6013 \n3 3649 1466 6012 \n3 6013 6012 162 \n3 141 6010 5891 \n3 6010 1467 3653 \n3 5891 3653 1406 \n3 1467 6013 3651 \n3 6013 162 6014 \n3 3651 6014 1468 \n3 1406 3652 5892 \n3 3652 1468 6015 \n3 5892 6015 142 \n3 142 6015 6016 \n3 6015 1468 3656 \n3 6016 3656 1470 \n3 1468 6014 3654 \n3 6014 162 6017 \n3 3654 6017 1469 \n3 1470 3655 6019 \n3 3655 1469 6018 \n3 6019 6018 163 \n3 142 6016 5897 \n3 6016 1470 3659 \n3 5897 3659 1409 \n3 1470 6019 3657 \n3 6019 163 6020 \n3 3657 6020 1471 \n3 1409 3658 5898 \n3 3658 1471 6021 \n3 5898 6021 143 \n3 143 6021 6022 \n3 6021 1471 3662 \n3 6022 3662 1473 \n3 1471 6020 3660 \n3 6020 163 6023 \n3 3660 6023 1472 \n3 1473 3661 6025 \n3 3661 1472 6024 \n3 6025 6024 164 \n3 143 6022 5903 \n3 6022 1473 3665 \n3 5903 3665 1412 \n3 1473 6025 3663 \n3 6025 164 6026 \n3 3663 6026 1474 \n3 1412 3664 5904 \n3 3664 1474 6027 \n3 5904 6027 144 \n3 144 6027 6028 \n3 6027 1474 3668 \n3 6028 3668 1476 \n3 1474 6026 3666 \n3 6026 164 6029 \n3 3666 6029 1475 \n3 1476 3667 6031 \n3 3667 1475 6030 \n3 6031 6030 165 \n3 144 6028 5909 \n3 6028 1476 3671 \n3 5909 3671 1415 \n3 1476 6031 3669 \n3 6031 165 6032 \n3 3669 6032 1477 \n3 1415 3670 5910 \n3 3670 1477 6033 \n3 5910 6033 145 \n3 145 6033 6034 \n3 6033 1477 3674 \n3 6034 3674 1479 \n3 1477 6032 3672 \n3 6032 165 6035 \n3 3672 6035 1478 \n3 1479 3673 6037 \n3 3673 1478 6036 \n3 6037 6036 166 \n3 145 6034 5915 \n3 6034 1479 3677 \n3 5915 3677 1418 \n3 1479 6037 3675 \n3 6037 166 6038 \n3 3675 6038 1480 \n3 1418 3676 5916 \n3 3676 1480 6039 \n3 5916 6039 146 \n3 146 6039 6040 \n3 6039 1480 3680 \n3 6040 3680 1482 \n3 1480 6038 3678 \n3 6038 166 6041 \n3 3678 6041 1481 \n3 1482 3679 6043 \n3 3679 1481 6042 \n3 6043 6042 167 \n3 146 6040 5921 \n3 6040 1482 3683 \n3 5921 3683 1421 \n3 1482 6043 3681 \n3 6043 167 6044 \n3 3681 6044 1483 \n3 1421 3682 5922 \n3 3682 1483 6045 \n3 5922 6045 147 \n3 147 6045 6046 \n3 6045 1483 3686 \n3 6046 3686 1485 \n3 1483 6044 3684 \n3 6044 167 6047 \n3 3684 6047 1484 \n3 1485 3685 6049 \n3 3685 1484 6048 \n3 6049 6048 168 \n3 147 6046 5927 \n3 6046 1485 3689 \n3 5927 3689 1424 \n3 1485 6049 3687 \n3 6049 168 6050 \n3 3687 6050 1486 \n3 1424 3688 5928 \n3 3688 1486 6051 \n3 5928 6051 148 \n3 148 6051 6052 \n3 6051 1486 3692 \n3 6052 3692 1488 \n3 1486 6050 3690 \n3 6050 168 6053 \n3 3690 6053 1487 \n3 1488 3691 6055 \n3 3691 1487 6054 \n3 6055 6054 169 \n3 148 6052 5933 \n3 6052 1488 3695 \n3 5933 3695 1427 \n3 1488 6055 3693 \n3 6055 169 6056 \n3 3693 6056 1489 \n3 1427 3694 5934 \n3 3694 1489 6057 \n3 5934 6057 149 \n3 149 6057 6058 \n3 6057 1489 3698 \n3 6058 3698 1491 \n3 1489 6056 3696 \n3 6056 169 6059 \n3 3696 6059 1490 \n3 1491 3697 6061 \n3 3697 1490 6060 \n3 6061 6060 170 \n3 149 6058 5939 \n3 6058 1491 3701 \n3 5939 3701 1430 \n3 1491 6061 3699 \n3 6061 170 6062 \n3 3699 6062 1492 \n3 1430 3700 5940 \n3 3700 1492 6063 \n3 5940 6063 150 \n3 150 6063 6064 \n3 6063 1492 3704 \n3 6064 3704 1494 \n3 1492 6062 3702 \n3 6062 170 6065 \n3 3702 6065 1493 \n3 1494 3703 6067 \n3 3703 1493 6066 \n3 6067 6066 171 \n3 150 6064 5945 \n3 6064 1494 3707 \n3 5945 3707 1433 \n3 1494 6067 3705 \n3 6067 171 6068 \n3 3705 6068 1495 \n3 1433 3706 5946 \n3 3706 1495 6069 \n3 5946 6069 151 \n3 151 6069 6070 \n3 6069 1495 3710 \n3 6070 3710 1497 \n3 1495 6068 3708 \n3 6068 171 6071 \n3 3708 6071 1496 \n3 1497 3709 6073 \n3 3709 1496 6072 \n3 6073 6072 172 \n3 151 6070 5951 \n3 6070 1497 3713 \n3 5951 3713 1436 \n3 1497 6073 3711 \n3 6073 172 6074 \n3 3711 6074 1498 \n3 1436 3712 5952 \n3 3712 1498 6075 \n3 5952 6075 152 \n3 152 6075 6076 \n3 6075 1498 3716 \n3 6076 3716 1500 \n3 1498 6074 3714 \n3 6074 172 6077 \n3 3714 6077 1499 \n3 1500 3715 6079 \n3 3715 1499 6078 \n3 6079 6078 173 \n3 152 6076 5957 \n3 6076 1500 3719 \n3 5957 3719 1439 \n3 1500 6079 3717 \n3 6079 173 6080 \n3 3717 6080 1501 \n3 1439 3718 5958 \n3 3718 1501 6081 \n3 5958 6081 153 \n3 153 6081 6082 \n3 6081 1501 3722 \n3 6082 3722 1503 \n3 1501 6080 3720 \n3 6080 173 6083 \n3 3720 6083 1502 \n3 1503 3721 6085 \n3 3721 1502 6084 \n3 6085 6084 174 \n3 153 6082 5963 \n3 6082 1503 3725 \n3 5963 3725 1442 \n3 1503 6085 3723 \n3 6085 174 6086 \n3 3723 6086 1504 \n3 1442 3724 5964 \n3 3724 1504 6087 \n3 5964 6087 154 \n3 154 6087 6088 \n3 6087 1504 3728 \n3 6088 3728 1506 \n3 1504 6086 3726 \n3 6086 174 6089 \n3 3726 6089 1505 \n3 1506 3727 6091 \n3 3727 1505 6090 \n3 6091 6090 175 \n3 154 6088 5969 \n3 6088 1506 3731 \n3 5969 3731 1445 \n3 1506 6091 3729 \n3 6091 175 6092 \n3 3729 6092 1507 \n3 1445 3730 5970 \n3 3730 1507 6093 \n3 5970 6093 155 \n3 155 6093 6094 \n3 6093 1507 3734 \n3 6094 3734 1509 \n3 1507 6092 3732 \n3 6092 175 6095 \n3 3732 6095 1508 \n3 1509 3733 6097 \n3 3733 1508 6096 \n3 6097 6096 176 \n3 155 6094 5975 \n3 6094 1509 3737 \n3 5975 3737 1448 \n3 1509 6097 3735 \n3 6097 176 6098 \n3 3735 6098 1510 \n3 1448 3736 5976 \n3 3736 1510 6099 \n3 5976 6099 156 \n3 156 6099 6100 \n3 6099 1510 3740 \n3 6100 3740 1512 \n3 1510 6098 3738 \n3 6098 176 6101 \n3 3738 6101 1511 \n3 1512 3739 6103 \n3 3739 1511 6102 \n3 6103 6102 177 \n3 156 6100 5981 \n3 6100 1512 3743 \n3 5981 3743 1451 \n3 1512 6103 3741 \n3 6103 177 6104 \n3 3741 6104 1513 \n3 1451 3742 5982 \n3 3742 1513 6105 \n3 5982 6105 157 \n3 157 6105 6106 \n3 6105 1513 3746 \n3 6106 3746 1515 \n3 1513 6104 3744 \n3 6104 177 6107 \n3 3744 6107 1514 \n3 1515 3745 6109 \n3 3745 1514 6108 \n3 6109 6108 178 \n3 157 6106 5987 \n3 6106 1515 3749 \n3 5987 3749 1454 \n3 1515 6109 3747 \n3 6109 178 6110 \n3 3747 6110 1516 \n3 1454 3748 5988 \n3 3748 1516 6111 \n3 5988 6111 158 \n3 158 6111 6112 \n3 6111 1516 3752 \n3 6112 3752 1518 \n3 1516 6110 3750 \n3 6110 178 6113 \n3 3750 6113 1517 \n3 1518 3751 6115 \n3 3751 1517 6114 \n3 6115 6114 179 \n3 158 6112 5993 \n3 6112 1518 3755 \n3 5993 3755 1457 \n3 1518 6115 3753 \n3 6115 179 6116 \n3 3753 6116 1519 \n3 1457 3754 5994 \n3 3754 1519 6117 \n3 5994 6117 159 \n3 159 6117 6118 \n3 6117 1519 3758 \n3 6118 3758 1521 \n3 1519 6116 3756 \n3 6116 179 6119 \n3 3756 6119 1520 \n3 1521 3757 6121 \n3 3757 1520 6120 \n3 6121 6120 160 \n3 159 6118 5999 \n3 6118 1521 3761 \n3 5999 3761 1460 \n3 1521 6121 3759 \n3 6121 160 6004 \n3 3759 6004 1462 \n3 1460 3760 6000 \n3 3760 1462 6002 \n3 6000 6002 140 \n3 160 6122 6123 \n3 6122 1522 3764 \n3 6123 3764 1524 \n3 1522 6124 3762 \n3 6124 422 6125 \n3 3762 6125 1523 \n3 1524 3763 6127 \n3 3763 1523 6126 \n3 6127 6126 423 \n3 160 6123 6005 \n3 6123 1524 3767 \n3 6005 3767 1463 \n3 1524 6127 3765 \n3 6127 423 6128 \n3 3765 6128 1525 \n3 1463 3766 6006 \n3 3766 1525 6129 \n3 6006 6129 161 \n3 161 6129 6130 \n3 6129 1525 3770 \n3 6130 3770 1527 \n3 1525 6128 3768 \n3 6128 423 6131 \n3 3768 6131 1526 \n3 1527 3769 6133 \n3 3769 1526 6132 \n3 6133 6132 424 \n3 161 6130 6011 \n3 6130 1527 3773 \n3 6011 3773 1466 \n3 1527 6133 3771 \n3 6133 424 6134 \n3 3771 6134 1528 \n3 1466 3772 6012 \n3 3772 1528 6135 \n3 6012 6135 162 \n3 162 6135 6136 \n3 6135 1528 3776 \n3 6136 3776 1530 \n3 1528 6134 3774 \n3 6134 424 6137 \n3 3774 6137 1529 \n3 1530 3775 6139 \n3 3775 1529 6138 \n3 6139 6138 425 \n3 162 6136 6017 \n3 6136 1530 3779 \n3 6017 3779 1469 \n3 1530 6139 3777 \n3 6139 425 6140 \n3 3777 6140 1531 \n3 1469 3778 6018 \n3 3778 1531 6141 \n3 6018 6141 163 \n3 163 6141 6142 \n3 6141 1531 3782 \n3 6142 3782 1533 \n3 1531 6140 3780 \n3 6140 425 6143 \n3 3780 6143 1532 \n3 1533 3781 6145 \n3 3781 1532 6144 \n3 6145 6144 426 \n3 163 6142 6023 \n3 6142 1533 3785 \n3 6023 3785 1472 \n3 1533 6145 3783 \n3 6145 426 6146 \n3 3783 6146 1534 \n3 1472 3784 6024 \n3 3784 1534 6147 \n3 6024 6147 164 \n3 164 6147 6148 \n3 6147 1534 3788 \n3 6148 3788 1536 \n3 1534 6146 3786 \n3 6146 426 6149 \n3 3786 6149 1535 \n3 1536 3787 6151 \n3 3787 1535 6150 \n3 6151 6150 427 \n3 164 6148 6029 \n3 6148 1536 3791 \n3 6029 3791 1475 \n3 1536 6151 3789 \n3 6151 427 6152 \n3 3789 6152 1537 \n3 1475 3790 6030 \n3 3790 1537 6153 \n3 6030 6153 165 \n3 165 6153 6154 \n3 6153 1537 3794 \n3 6154 3794 1539 \n3 1537 6152 3792 \n3 6152 427 6155 \n3 3792 6155 1538 \n3 1539 3793 6157 \n3 3793 1538 6156 \n3 6157 6156 428 \n3 165 6154 6035 \n3 6154 1539 3797 \n3 6035 3797 1478 \n3 1539 6157 3795 \n3 6157 428 6158 \n3 3795 6158 1540 \n3 1478 3796 6036 \n3 3796 1540 6159 \n3 6036 6159 166 \n3 166 6159 6160 \n3 6159 1540 3800 \n3 6160 3800 1542 \n3 1540 6158 3798 \n3 6158 428 6161 \n3 3798 6161 1541 \n3 1542 3799 6163 \n3 3799 1541 6162 \n3 6163 6162 429 \n3 166 6160 6041 \n3 6160 1542 3803 \n3 6041 3803 1481 \n3 1542 6163 3801 \n3 6163 429 6164 \n3 3801 6164 1543 \n3 1481 3802 6042 \n3 3802 1543 6165 \n3 6042 6165 167 \n3 167 6165 6166 \n3 6165 1543 3806 \n3 6166 3806 1545 \n3 1543 6164 3804 \n3 6164 429 6167 \n3 3804 6167 1544 \n3 1545 3805 6169 \n3 3805 1544 6168 \n3 6169 6168 430 \n3 167 6166 6047 \n3 6166 1545 3809 \n3 6047 3809 1484 \n3 1545 6169 3807 \n3 6169 430 6170 \n3 3807 6170 1546 \n3 1484 3808 6048 \n3 3808 1546 6171 \n3 6048 6171 168 \n3 168 6171 6172 \n3 6171 1546 3812 \n3 6172 3812 1548 \n3 1546 6170 3810 \n3 6170 430 6173 \n3 3810 6173 1547 \n3 1548 3811 6175 \n3 3811 1547 6174 \n3 6175 6174 431 \n3 168 6172 6053 \n3 6172 1548 3815 \n3 6053 3815 1487 \n3 1548 6175 3813 \n3 6175 431 6176 \n3 3813 6176 1549 \n3 1487 3814 6054 \n3 3814 1549 6177 \n3 6054 6177 169 \n3 169 6177 6178 \n3 6177 1549 3818 \n3 6178 3818 1551 \n3 1549 6176 3816 \n3 6176 431 6179 \n3 3816 6179 1550 \n3 1551 3817 6181 \n3 3817 1550 6180 \n3 6181 6180 432 \n3 169 6178 6059 \n3 6178 1551 3821 \n3 6059 3821 1490 \n3 1551 6181 3819 \n3 6181 432 6182 \n3 3819 6182 1552 \n3 1490 3820 6060 \n3 3820 1552 6183 \n3 6060 6183 170 \n3 170 6183 6184 \n3 6183 1552 3824 \n3 6184 3824 1554 \n3 1552 6182 3822 \n3 6182 432 6185 \n3 3822 6185 1553 \n3 1554 3823 6187 \n3 3823 1553 6186 \n3 6187 6186 433 \n3 170 6184 6065 \n3 6184 1554 3827 \n3 6065 3827 1493 \n3 1554 6187 3825 \n3 6187 433 6188 \n3 3825 6188 1555 \n3 1493 3826 6066 \n3 3826 1555 6189 \n3 6066 6189 171 \n3 171 6189 6190 \n3 6189 1555 3830 \n3 6190 3830 1557 \n3 1555 6188 3828 \n3 6188 433 6191 \n3 3828 6191 1556 \n3 1557 3829 6193 \n3 3829 1556 6192 \n3 6193 6192 434 \n3 171 6190 6071 \n3 6190 1557 3833 \n3 6071 3833 1496 \n3 1557 6193 3831 \n3 6193 434 6194 \n3 3831 6194 1558 \n3 1496 3832 6072 \n3 3832 1558 6195 \n3 6072 6195 172 \n3 172 6195 6196 \n3 6195 1558 3836 \n3 6196 3836 1560 \n3 1558 6194 3834 \n3 6194 434 6197 \n3 3834 6197 1559 \n3 1560 3835 6199 \n3 3835 1559 6198 \n3 6199 6198 435 \n3 172 6196 6077 \n3 6196 1560 3839 \n3 6077 3839 1499 \n3 1560 6199 3837 \n3 6199 435 6200 \n3 3837 6200 1561 \n3 1499 3838 6078 \n3 3838 1561 6201 \n3 6078 6201 173 \n3 173 6201 6202 \n3 6201 1561 3842 \n3 6202 3842 1563 \n3 1561 6200 3840 \n3 6200 435 6203 \n3 3840 6203 1562 \n3 1563 3841 6205 \n3 3841 1562 6204 \n3 6205 6204 436 \n3 173 6202 6083 \n3 6202 1563 3845 \n3 6083 3845 1502 \n3 1563 6205 3843 \n3 6205 436 6206 \n3 3843 6206 1564 \n3 1502 3844 6084 \n3 3844 1564 6207 \n3 6084 6207 174 \n3 174 6207 6208 \n3 6207 1564 3848 \n3 6208 3848 1566 \n3 1564 6206 3846 \n3 6206 436 6209 \n3 3846 6209 1565 \n3 1566 3847 6211 \n3 3847 1565 6210 \n3 6211 6210 437 \n3 174 6208 6089 \n3 6208 1566 3851 \n3 6089 3851 1505 \n3 1566 6211 3849 \n3 6211 437 6212 \n3 3849 6212 1567 \n3 1505 3850 6090 \n3 3850 1567 6213 \n3 6090 6213 175 \n3 175 6213 6214 \n3 6213 1567 3854 \n3 6214 3854 1569 \n3 1567 6212 3852 \n3 6212 437 6215 \n3 3852 6215 1568 \n3 1569 3853 6217 \n3 3853 1568 6216 \n3 6217 6216 438 \n3 175 6214 6095 \n3 6214 1569 3857 \n3 6095 3857 1508 \n3 1569 6217 3855 \n3 6217 438 6218 \n3 3855 6218 1570 \n3 1508 3856 6096 \n3 3856 1570 6219 \n3 6096 6219 176 \n3 176 6219 6220 \n3 6219 1570 3860 \n3 6220 3860 1572 \n3 1570 6218 3858 \n3 6218 438 6221 \n3 3858 6221 1571 \n3 1572 3859 6223 \n3 3859 1571 6222 \n3 6223 6222 439 \n3 176 6220 6101 \n3 6220 1572 3863 \n3 6101 3863 1511 \n3 1572 6223 3861 \n3 6223 439 6224 \n3 3861 6224 1573 \n3 1511 3862 6102 \n3 3862 1573 6225 \n3 6102 6225 177 \n3 177 6225 6226 \n3 6225 1573 3866 \n3 6226 3866 1575 \n3 1573 6224 3864 \n3 6224 439 6227 \n3 3864 6227 1574 \n3 1575 3865 6229 \n3 3865 1574 6228 \n3 6229 6228 440 \n3 177 6226 6107 \n3 6226 1575 3869 \n3 6107 3869 1514 \n3 1575 6229 3867 \n3 6229 440 6230 \n3 3867 6230 1576 \n3 1514 3868 6108 \n3 3868 1576 6231 \n3 6108 6231 178 \n3 178 6231 6232 \n3 6231 1576 3872 \n3 6232 3872 1578 \n3 1576 6230 3870 \n3 6230 440 6233 \n3 3870 6233 1577 \n3 1578 3871 6235 \n3 3871 1577 6234 \n3 6235 6234 441 \n3 178 6232 6113 \n3 6232 1578 3875 \n3 6113 3875 1517 \n3 1578 6235 3873 \n3 6235 441 6236 \n3 3873 6236 1579 \n3 1517 3874 6114 \n3 3874 1579 6237 \n3 6114 6237 179 \n3 179 6237 6238 \n3 6237 1579 3878 \n3 6238 3878 1581 \n3 1579 6236 3876 \n3 6236 441 6239 \n3 3876 6239 1580 \n3 1581 3877 6241 \n3 3877 1580 6240 \n3 6241 6240 422 \n3 179 6238 6119 \n3 6238 1581 3881 \n3 6119 3881 1520 \n3 1581 6241 3879 \n3 6241 422 6124 \n3 3879 6124 1522 \n3 1520 3880 6120 \n3 3880 1522 6122 \n3 6120 6122 160 \n3 1 6242 1026 \n3 3883 1026 6242 \n3 1582 6243 1583 \n3 6244 1583 6243 \n3 1026 6245 0 \n3 6245 1026 3882 \n3 2 6246 1030 \n3 3885 1030 6246 \n3 1584 6247 1582 \n3 6243 1582 6247 \n3 1030 6242 1 \n3 6242 1030 3884 \n3 3 6248 1034 \n3 3887 1034 6248 \n3 1585 6249 1584 \n3 6247 1584 6249 \n3 1034 6246 2 \n3 6246 1034 3886 \n3 4 6250 1038 \n3 3889 1038 6250 \n3 1586 6251 1585 \n3 6249 1585 6251 \n3 1038 6248 3 \n3 6248 1038 3888 \n3 5 6252 1042 \n3 3891 1042 6252 \n3 1587 6253 1586 \n3 6251 1586 6253 \n3 1042 6250 4 \n3 6250 1042 3890 \n3 6 6254 1046 \n3 3893 1046 6254 \n3 1588 6255 1587 \n3 6253 1587 6255 \n3 1046 6252 5 \n3 6252 1046 3892 \n3 7 6256 1050 \n3 3895 1050 6256 \n3 1589 6257 1588 \n3 6255 1588 6257 \n3 1050 6254 6 \n3 6254 1050 3894 \n3 8 6258 1054 \n3 3897 1054 6258 \n3 1590 6259 1589 \n3 6257 1589 6259 \n3 1054 6256 7 \n3 6256 1054 3896 \n3 9 6260 1058 \n3 3899 1058 6260 \n3 1591 6261 1590 \n3 6259 1590 6261 \n3 1058 6258 8 \n3 6258 1058 3898 \n3 10 6262 1062 \n3 3901 1062 6262 \n3 1592 6263 1591 \n3 6261 1591 6263 \n3 1062 6260 9 \n3 6260 1062 3900 \n3 11 6264 1066 \n3 3903 1066 6264 \n3 1593 6265 1592 \n3 6263 1592 6265 \n3 1066 6262 10 \n3 6262 1066 3902 \n3 12 6266 1070 \n3 3905 1070 6266 \n3 1594 6267 1593 \n3 6265 1593 6267 \n3 1070 6264 11 \n3 6264 1070 3904 \n3 13 6268 1074 \n3 3907 1074 6268 \n3 1595 6269 1594 \n3 6267 1594 6269 \n3 1074 6266 12 \n3 6266 1074 3906 \n3 14 6270 1078 \n3 3909 1078 6270 \n3 1596 6271 1595 \n3 6269 1595 6271 \n3 1078 6268 13 \n3 6268 1078 3908 \n3 15 6272 1082 \n3 3911 1082 6272 \n3 1597 6273 1596 \n3 6271 1596 6273 \n3 1082 6270 14 \n3 6270 1082 3910 \n3 16 6274 1086 \n3 3913 1086 6274 \n3 1598 6275 1597 \n3 6273 1597 6275 \n3 1086 6272 15 \n3 6272 1086 3912 \n3 17 6276 1090 \n3 3915 1090 6276 \n3 1599 6277 1598 \n3 6275 1598 6277 \n3 1090 6274 16 \n3 6274 1090 3914 \n3 18 6278 1094 \n3 3917 1094 6278 \n3 1600 6279 1599 \n3 6277 1599 6279 \n3 1094 6276 17 \n3 6276 1094 3916 \n3 19 6280 1098 \n3 3919 1098 6280 \n3 1601 6281 1600 \n3 6279 1600 6281 \n3 1098 6278 18 \n3 6278 1098 3918 \n3 0 6245 1101 \n3 3921 1101 6245 \n3 1583 6244 1601 \n3 6281 1601 6244 \n3 1101 6280 19 \n3 6280 1101 3920 \n3 181 6282 6283 \n3 6282 1602 3924 \n3 6283 3924 1604 \n3 1602 6284 3922 \n3 6284 180 6285 \n3 3922 6285 1603 \n3 1604 3923 6287 \n3 3923 1603 6286 \n3 6287 6286 382 \n3 181 6283 6288 \n3 6283 1604 3927 \n3 6288 3927 1606 \n3 1604 6287 3925 \n3 6287 382 6289 \n3 3925 6289 1605 \n3 1606 3926 6291 \n3 3926 1605 6290 \n3 6291 6290 381 \n3 182 6292 6293 \n3 6292 1607 3930 \n3 6293 3930 1608 \n3 1607 6294 3928 \n3 6294 181 6288 \n3 3928 6288 1606 \n3 1608 3929 6295 \n3 3929 1606 6291 \n3 6295 6291 381 \n3 182 6293 6296 \n3 6293 1608 3933 \n3 6296 3933 1610 \n3 1608 6295 3931 \n3 6295 381 6297 \n3 3931 6297 1609 \n3 1610 3932 6299 \n3 3932 1609 6298 \n3 6299 6298 383 \n3 183 6300 6301 \n3 6300 1611 3936 \n3 6301 3936 1612 \n3 1611 6302 3934 \n3 6302 182 6296 \n3 3934 6296 1610 \n3 1612 3935 6303 \n3 3935 1610 6299 \n3 6303 6299 383 \n3 183 6301 6304 \n3 6301 1612 3939 \n3 6304 3939 1614 \n3 1612 6303 3937 \n3 6303 383 6305 \n3 3937 6305 1613 \n3 1614 3938 6307 \n3 3938 1613 6306 \n3 6307 6306 384 \n3 184 6308 6309 \n3 6308 1615 3942 \n3 6309 3942 1616 \n3 1615 6310 3940 \n3 6310 183 6304 \n3 3940 6304 1614 \n3 1616 3941 6311 \n3 3941 1614 6307 \n3 6311 6307 384 \n3 184 6309 6312 \n3 6309 1616 3945 \n3 6312 3945 1618 \n3 1616 6311 3943 \n3 6311 384 6313 \n3 3943 6313 1617 \n3 1618 3944 6315 \n3 3944 1617 6314 \n3 6315 6314 385 \n3 185 6316 6317 \n3 6316 1619 3948 \n3 6317 3948 1620 \n3 1619 6318 3946 \n3 6318 184 6312 \n3 3946 6312 1618 \n3 1620 3947 6319 \n3 3947 1618 6315 \n3 6319 6315 385 \n3 185 6317 6320 \n3 6317 1620 3951 \n3 6320 3951 1622 \n3 1620 6319 3949 \n3 6319 385 6321 \n3 3949 6321 1621 \n3 1622 3950 6323 \n3 3950 1621 6322 \n3 6323 6322 386 \n3 186 6324 6325 \n3 6324 1623 3954 \n3 6325 3954 1624 \n3 1623 6326 3952 \n3 6326 185 6320 \n3 3952 6320 1622 \n3 1624 3953 6327 \n3 3953 1622 6323 \n3 6327 6323 386 \n3 186 6325 6328 \n3 6325 1624 3957 \n3 6328 3957 1626 \n3 1624 6327 3955 \n3 6327 386 6329 \n3 3955 6329 1625 \n3 1626 3956 6331 \n3 3956 1625 6330 \n3 6331 6330 387 \n3 187 6332 6333 \n3 6332 1627 3960 \n3 6333 3960 1628 \n3 1627 6334 3958 \n3 6334 186 6328 \n3 3958 6328 1626 \n3 1628 3959 6335 \n3 3959 1626 6331 \n3 6335 6331 387 \n3 187 6333 6336 \n3 6333 1628 3963 \n3 6336 3963 1630 \n3 1628 6335 3961 \n3 6335 387 6337 \n3 3961 6337 1629 \n3 1630 3962 6339 \n3 3962 1629 6338 \n3 6339 6338 388 \n3 188 6340 6341 \n3 6340 1631 3966 \n3 6341 3966 1632 \n3 1631 6342 3964 \n3 6342 187 6336 \n3 3964 6336 1630 \n3 1632 3965 6343 \n3 3965 1630 6339 \n3 6343 6339 388 \n3 188 6341 6344 \n3 6341 1632 3969 \n3 6344 3969 1634 \n3 1632 6343 3967 \n3 6343 388 6345 \n3 3967 6345 1633 \n3 1634 3968 6347 \n3 3968 1633 6346 \n3 6347 6346 389 \n3 189 6348 6349 \n3 6348 1635 3972 \n3 6349 3972 1636 \n3 1635 6350 3970 \n3 6350 188 6344 \n3 3970 6344 1634 \n3 1636 3971 6351 \n3 3971 1634 6347 \n3 6351 6347 389 \n3 189 6349 6352 \n3 6349 1636 3975 \n3 6352 3975 1638 \n3 1636 6351 3973 \n3 6351 389 6353 \n3 3973 6353 1637 \n3 1638 3974 6355 \n3 3974 1637 6354 \n3 6355 6354 390 \n3 190 6356 6357 \n3 6356 1639 3978 \n3 6357 3978 1640 \n3 1639 6358 3976 \n3 6358 189 6352 \n3 3976 6352 1638 \n3 1640 3977 6359 \n3 3977 1638 6355 \n3 6359 6355 390 \n3 190 6357 6360 \n3 6357 1640 3981 \n3 6360 3981 1642 \n3 1640 6359 3979 \n3 6359 390 6361 \n3 3979 6361 1641 \n3 1642 3980 6363 \n3 3980 1641 6362 \n3 6363 6362 391 \n3 191 6364 6365 \n3 6364 1643 3984 \n3 6365 3984 1644 \n3 1643 6366 3982 \n3 6366 190 6360 \n3 3982 6360 1642 \n3 1644 3983 6367 \n3 3983 1642 6363 \n3 6367 6363 391 \n3 191 6365 6368 \n3 6365 1644 3987 \n3 6368 3987 1646 \n3 1644 6367 3985 \n3 6367 391 6369 \n3 3985 6369 1645 \n3 1646 3986 6371 \n3 3986 1645 6370 \n3 6371 6370 392 \n3 192 6372 6373 \n3 6372 1647 3990 \n3 6373 3990 1648 \n3 1647 6374 3988 \n3 6374 191 6368 \n3 3988 6368 1646 \n3 1648 3989 6375 \n3 3989 1646 6371 \n3 6375 6371 392 \n3 192 6373 6376 \n3 6373 1648 3993 \n3 6376 3993 1650 \n3 1648 6375 3991 \n3 6375 392 6377 \n3 3991 6377 1649 \n3 1650 3992 6379 \n3 3992 1649 6378 \n3 6379 6378 393 \n3 193 6380 6381 \n3 6380 1651 3996 \n3 6381 3996 1652 \n3 1651 6382 3994 \n3 6382 192 6376 \n3 3994 6376 1650 \n3 1652 3995 6383 \n3 3995 1650 6379 \n3 6383 6379 393 \n3 193 6381 6384 \n3 6381 1652 3999 \n3 6384 3999 1654 \n3 1652 6383 3997 \n3 6383 393 6385 \n3 3997 6385 1653 \n3 1654 3998 6387 \n3 3998 1653 6386 \n3 6387 6386 394 \n3 194 6388 6389 \n3 6388 1655 4002 \n3 6389 4002 1656 \n3 1655 6390 4000 \n3 6390 193 6384 \n3 4000 6384 1654 \n3 1656 4001 6391 \n3 4001 1654 6387 \n3 6391 6387 394 \n3 194 6389 6392 \n3 6389 1656 4005 \n3 6392 4005 1658 \n3 1656 6391 4003 \n3 6391 394 6393 \n3 4003 6393 1657 \n3 1658 4004 6395 \n3 4004 1657 6394 \n3 6395 6394 395 \n3 195 6396 6397 \n3 6396 1659 4008 \n3 6397 4008 1660 \n3 1659 6398 4006 \n3 6398 194 6392 \n3 4006 6392 1658 \n3 1660 4007 6399 \n3 4007 1658 6395 \n3 6399 6395 395 \n3 195 6397 6400 \n3 6397 1660 4011 \n3 6400 4011 1662 \n3 1660 6399 4009 \n3 6399 395 6401 \n3 4009 6401 1661 \n3 1662 4010 6403 \n3 4010 1661 6402 \n3 6403 6402 396 \n3 196 6404 6405 \n3 6404 1663 4014 \n3 6405 4014 1664 \n3 1663 6406 4012 \n3 6406 195 6400 \n3 4012 6400 1662 \n3 1664 4013 6407 \n3 4013 1662 6403 \n3 6407 6403 396 \n3 196 6405 6408 \n3 6405 1664 4017 \n3 6408 4017 1666 \n3 1664 6407 4015 \n3 6407 396 6409 \n3 4015 6409 1665 \n3 1666 4016 6411 \n3 4016 1665 6410 \n3 6411 6410 397 \n3 197 6412 6413 \n3 6412 1667 4020 \n3 6413 4020 1668 \n3 1667 6414 4018 \n3 6414 196 6408 \n3 4018 6408 1666 \n3 1668 4019 6415 \n3 4019 1666 6411 \n3 6415 6411 397 \n3 197 6413 6416 \n3 6413 1668 4023 \n3 6416 4023 1670 \n3 1668 6415 4021 \n3 6415 397 6417 \n3 4021 6417 1669 \n3 1670 4022 6419 \n3 4022 1669 6418 \n3 6419 6418 398 \n3 198 6420 6421 \n3 6420 1671 4026 \n3 6421 4026 1672 \n3 1671 6422 4024 \n3 6422 197 6416 \n3 4024 6416 1670 \n3 1672 4025 6423 \n3 4025 1670 6419 \n3 6423 6419 398 \n3 198 6421 6424 \n3 6421 1672 4029 \n3 6424 4029 1674 \n3 1672 6423 4027 \n3 6423 398 6425 \n3 4027 6425 1673 \n3 1674 4028 6427 \n3 4028 1673 6426 \n3 6427 6426 399 \n3 199 6428 6429 \n3 6428 1675 4032 \n3 6429 4032 1676 \n3 1675 6430 4030 \n3 6430 198 6424 \n3 4030 6424 1674 \n3 1676 4031 6431 \n3 4031 1674 6427 \n3 6431 6427 399 \n3 199 6429 6432 \n3 6429 1676 4035 \n3 6432 4035 1678 \n3 1676 6431 4033 \n3 6431 399 6433 \n3 4033 6433 1677 \n3 1678 4034 6435 \n3 4034 1677 6434 \n3 6435 6434 400 \n3 180 6436 6437 \n3 6436 1679 4038 \n3 6437 4038 1680 \n3 1679 6438 4036 \n3 6438 199 6432 \n3 4036 6432 1678 \n3 1680 4037 6439 \n3 4037 1678 6435 \n3 6439 6435 400 \n3 180 6437 6285 \n3 6437 1680 4041 \n3 6285 4041 1603 \n3 1680 6439 4039 \n3 6439 400 6440 \n3 4039 6440 1681 \n3 1603 4040 6286 \n3 4040 1681 6441 \n3 6286 6441 382 \n"
  },
  {
    "path": "data/box.ply",
    "content": "ply\nformat ascii 1.0\ncomment VCGLIB generated\nelement vertex 24\nproperty float x\nproperty float y\nproperty float z\nproperty float nx\nproperty float ny\nproperty float nz\nelement face 12\nproperty list uchar int vertex_indices\nend_header\n0.5 0.5 0.5 0 0 1 \n-0.5 0.5 0.5 0 0 1 \n0.5 -0.5 0.5 0 0 1 \n-0.5 -0.5 0.5 0 0 1 \n0.5 0.5 -0.5 1 0 0 \n-0.5 0.5 -0.5 0 1 0 \n0.5 -0.5 -0.5 1 0 0 \n-0.5 -0.5 -0.5 0 0 -1 \n0.5 0.5 0.5 1 0 0 \n0.5 -0.5 0.5 1 0 0 \n0.5 0.5 0.5 0 1 0 \n0.5 0.5 -0.5 0 1 0 \n-0.5 0.5 0.5 0 1 0 \n-0.5 0.5 -0.5 0 0 -1 \n0.5 -0.5 -0.5 0 0 -1 \n0.5 0.5 -0.5 -0 -0 -1 \n-0.5 -0.5 -0.5 0 -1 0 \n0.5 -0.5 -0.5 0 -1 0 \n-0.5 -0.5 0.5 0 -1 0 \n0.5 -0.5 0.5 -0 -1 -0 \n-0.5 -0.5 -0.5 -1 0 0 \n-0.5 -0.5 0.5 -1 0 0 \n-0.5 0.5 -0.5 -1 0 0 \n-0.5 0.5 0.5 -1 -0 -0 \n3 0 1 2 \n3 3 2 1 \n3 8 9 4 \n3 6 4 9 \n3 10 11 12 \n3 5 12 11 \n3 7 13 14 \n3 15 14 13 \n3 16 17 18 \n3 19 18 17 \n3 20 21 22 \n3 23 22 21 \n"
  },
  {
    "path": "data/box_high.ply",
    "content": "ply\nformat ascii 1.0\ncomment VCGLIB generated\nelement vertex 1734\nproperty float x\nproperty float y\nproperty float z\nproperty float nx\nproperty float ny\nproperty float nz\nelement face 3072\nproperty list uchar int vertex_indices\nend_header\n0.5 0.5 0.5 0 0 1 \n-0.5 0.5 0.5 0 0 1 \n0.5 -0.5 0.5 0 0 1 \n-0.5 -0.5 0.5 0 0 1 \n0.5 0.5 -0.5 1 0 0 \n-0.5 0.5 -0.5 0 1 0 \n0.5 -0.5 -0.5 1 0 0 \n-0.5 -0.5 -0.5 0 0 -1 \n0 0.5 0.5 0 0 1 \n0 0 0.5 0 0 1 \n0.5 0 0.5 0 0 1 \n0 -0.5 0.5 0 -0 1 \n-0.5 0 0.5 0 -0 1 \n0.5 0 0 1 0 0 \n0.5 0.5 0 1 0 0 \n0.5 0 -0.5 1 0 -0 \n0.5 -0.5 0 1 0 -0 \n0 0.5 0 0 1 0 \n-0.5 0.5 0 -0 1 0 \n0 0.5 -0.5 -0 1 0 \n-0.5 0 -0.5 0 0 -1 \n0 0 -0.5 0 0 -1 \n0 -0.5 -0.5 0 0 -1 \n0 -0.5 0 0 -1 0 \n-0.5 -0.5 0 0 -1 0 \n-0.5 0 0 -1 0 0 \n0 0.25 0.5 -0 0 1 \n0.25 0 0.5 -0 0 1 \n0.25 0.25 0.5 -0 0 1 \n0 -0.25 0.5 0 0 1 \n-0.25 0 0.5 0 0 1 \n-0.25 -0.25 0.5 0 0 1 \n0.5 0 0.25 1 -0 0 \n0.5 0.25 0 1 -0 0 \n0.5 0.25 0.25 1 -0 0 \n0.5 0 -0.25 1 0 0 \n0.5 -0.25 0 1 0 0 \n0.5 -0.25 -0.25 1 0 0 \n0.25 0.5 0 0 1 -0 \n0 0.5 0.25 0 1 -0 \n0.25 0.5 0.25 0 1 -0 \n-0.25 0.5 0 0 1 0 \n0 0.5 -0.25 0 1 0 \n-0.25 0.5 -0.25 0 1 0 \n-0.25 0 -0.5 0 0 -1 \n0 -0.25 -0.5 0 0 -1 \n-0.25 -0.25 -0.5 0 0 -1 \n0.25 0 -0.5 0 0 -1 \n0 0.25 -0.5 0 0 -1 \n0.25 0.25 -0.5 0 0 -1 \n0 -0.5 -0.25 0 -1 0 \n-0.25 -0.5 0 0 -1 0 \n-0.25 -0.5 -0.25 0 -1 0 \n0 -0.5 0.25 0 -1 0 \n0.25 -0.5 0 0 -1 0 \n0.25 -0.5 0.25 0 -1 0 \n-0.5 -0.25 0 -1 0 0 \n-0.5 0 -0.25 -1 0 0 \n-0.5 -0.25 -0.25 -1 0 0 \n-0.5 0.25 0 -1 0 0 \n-0.5 0 0.25 -1 0 0 \n-0.5 0.25 0.25 -1 0 0 \n0.25 0.5 0.5 0 0 1 \n0.5 0.25 0.5 0 0 1 \n-0.25 0.5 0.5 0 0 1 \n-0.25 0.25 0.5 0 0 1 \n0.25 -0.25 0.5 0 0 1 \n0.5 -0.25 0.5 0 0 1 \n-0.25 -0.5 0.5 0 -0 1 \n-0.5 -0.25 0.5 0 -0 1 \n0.25 -0.5 0.5 0 -0 1 \n-0.5 0.25 0.5 0 -0 1 \n0.5 0.5 0.25 1 0 0 \n0.5 -0.25 0.25 1 0 0 \n0.5 0.25 -0.25 1 0 0 \n0.5 0.5 -0.25 1 0 0 \n0.5 -0.25 -0.5 1 0 -0 \n0.5 -0.5 -0.25 1 0 -0 \n0.5 0.25 -0.5 1 0 -0 \n0.5 -0.5 0.25 1 0 -0 \n0.25 0.5 -0.25 0 1 0 \n-0.25 0.5 0.25 0 1 0 \n-0.5 0.5 -0.25 -0 1 0 \n-0.25 0.5 -0.5 -0 1 0 \n-0.5 0.5 0.25 -0 1 0 \n0.25 0.5 -0.5 -0 1 0 \n-0.5 -0.25 -0.5 0 0 -1 \n-0.25 -0.5 -0.5 0 0 -1 \n-0.5 0.25 -0.5 0 0 -1 \n-0.25 0.25 -0.5 0 0 -1 \n0.25 -0.25 -0.5 0 0 -1 \n0.25 -0.5 -0.5 0 0 -1 \n-0.5 -0.5 -0.25 0 -1 0 \n0.25 -0.5 -0.25 0 -1 0 \n-0.25 -0.5 0.25 0 -1 0 \n-0.5 -0.5 0.25 0 -1 0 \n-0.5 -0.25 0.25 -1 0 0 \n-0.5 0.25 -0.25 -1 0 0 \n0.125 0.125 0.5 0 0 1 \n0.25 0.125 0.5 0 0 1 \n0.125 0.25 0.5 0 0 1 \n-0.125 -0.125 0.5 0 0 1 \n-0.25 -0.125 0.5 0 0 1 \n-0.125 -0.25 0.5 0 0 1 \n0.5 0.125 0.125 1 0 0 \n0.5 0.25 0.125 1 0 0 \n0.5 0.125 0.25 1 0 0 \n0.5 -0.125 -0.125 1 0 0 \n0.5 -0.25 -0.125 1 0 0 \n0.5 -0.125 -0.25 1 0 0 \n0.125 0.5 0.125 0 1 0 \n0.125 0.5 0.25 0 1 0 \n0.25 0.5 0.125 0 1 0 \n-0.125 0.5 -0.125 0 1 0 \n-0.125 0.5 -0.25 0 1 0 \n-0.25 0.5 -0.125 0 1 0 \n-0.125 -0.125 -0.5 -0 -0 -1 \n-0.125 -0.25 -0.5 -0 -0 -1 \n-0.25 -0.125 -0.5 -0 -0 -1 \n0.125 0.125 -0.5 0 0 -1 \n0.125 0.25 -0.5 0 0 -1 \n0.25 0.125 -0.5 0 0 -1 \n-0.125 -0.5 -0.125 -0 -1 -0 \n-0.25 -0.5 -0.125 -0 -1 -0 \n-0.125 -0.5 -0.25 -0 -1 -0 \n0.125 -0.5 0.125 0 -1 0 \n0.25 -0.5 0.125 0 -1 0 \n0.125 -0.5 0.25 0 -1 0 \n-0.5 -0.125 -0.125 -1 -0 -0 \n-0.5 -0.125 -0.25 -1 -0 -0 \n-0.5 -0.25 -0.125 -1 -0 -0 \n-0.5 0.125 0.125 -1 0 0 \n-0.5 0.125 0.25 -1 0 0 \n-0.5 0.25 0.125 -1 0 0 \n0.25 0.375 0.5 -0 0 1 \n0.375 0.25 0.5 -0 0 1 \n0.375 0.375 0.5 -0 0 1 \n-0.25 0.375 0.5 -0 0 1 \n-0.125 0.25 0.5 -0 0 1 \n-0.125 0.375 0.5 -0 0 1 \n0.25 -0.125 0.5 -0 0 1 \n0.375 -0.25 0.5 -0 0 1 \n0.375 -0.125 0.5 -0 0 1 \n-0.25 -0.375 0.5 0 0 1 \n-0.375 -0.25 0.5 0 0 1 \n-0.375 -0.375 0.5 0 0 1 \n0.25 -0.375 0.5 0 0 1 \n0.125 -0.25 0.5 0 0 1 \n0.125 -0.375 0.5 0 0 1 \n-0.25 0.125 0.5 0 0 1 \n-0.375 0.25 0.5 0 0 1 \n-0.375 0.125 0.5 0 0 1 \n0.5 0.25 0.375 1 -0 0 \n0.5 0.375 0.25 1 -0 0 \n0.5 0.375 0.375 1 -0 0 \n0.5 -0.25 0.375 1 -0 0 \n0.5 -0.125 0.25 1 -0 0 \n0.5 -0.125 0.375 1 -0 0 \n0.5 0.25 -0.125 1 -0 0 \n0.5 0.375 -0.25 1 -0 0 \n0.5 0.375 -0.125 1 -0 0 \n0.5 -0.25 -0.375 1 0 0 \n0.5 -0.375 -0.25 1 0 0 \n0.5 -0.375 -0.375 1 0 0 \n0.5 0.25 -0.375 1 0 0 \n0.5 0.125 -0.25 1 0 0 \n0.5 0.125 -0.375 1 0 0 \n0.5 -0.25 0.125 1 0 0 \n0.5 -0.375 0.25 1 0 0 \n0.5 -0.375 0.125 1 0 0 \n0.375 0.5 0.25 0 1 -0 \n0.25 0.5 0.375 0 1 -0 \n0.375 0.5 0.375 0 1 -0 \n0.375 0.5 -0.25 0 1 -0 \n0.25 0.5 -0.125 0 1 -0 \n0.375 0.5 -0.125 0 1 -0 \n-0.125 0.5 0.25 0 1 -0 \n-0.25 0.5 0.375 0 1 -0 \n-0.125 0.5 0.375 0 1 -0 \n-0.375 0.5 -0.25 0 1 0 \n-0.25 0.5 -0.375 0 1 0 \n-0.375 0.5 -0.375 0 1 0 \n-0.375 0.5 0.25 0 1 0 \n-0.25 0.5 0.125 0 1 0 \n-0.375 0.5 0.125 0 1 0 \n0.125 0.5 -0.25 0 1 0 \n0.25 0.5 -0.375 0 1 0 \n0.125 0.5 -0.375 0 1 0 \n-0.375 -0.25 -0.5 0 0 -1 \n-0.25 -0.375 -0.5 0 0 -1 \n-0.375 -0.375 -0.5 0 0 -1 \n-0.375 0.25 -0.5 0 0 -1 \n-0.25 0.125 -0.5 0 0 -1 \n-0.375 0.125 -0.5 0 0 -1 \n0.125 -0.25 -0.5 0 0 -1 \n0.25 -0.375 -0.5 0 0 -1 \n0.125 -0.375 -0.5 0 0 -1 \n0.375 0.25 -0.5 0 0 -1 \n0.25 0.375 -0.5 0 0 -1 \n0.375 0.375 -0.5 0 0 -1 \n0.375 -0.25 -0.5 0 0 -1 \n0.25 -0.125 -0.5 0 0 -1 \n0.375 -0.125 -0.5 0 0 -1 \n-0.125 0.25 -0.5 0 0 -1 \n-0.25 0.375 -0.5 0 0 -1 \n-0.125 0.375 -0.5 0 0 -1 \n-0.25 -0.5 -0.375 0 -1 0 \n-0.375 -0.5 -0.25 0 -1 0 \n-0.375 -0.5 -0.375 0 -1 0 \n0.25 -0.5 -0.375 0 -1 0 \n0.125 -0.5 -0.25 0 -1 0 \n0.125 -0.5 -0.375 0 -1 0 \n-0.25 -0.5 0.125 0 -1 0 \n-0.375 -0.5 0.25 0 -1 0 \n-0.375 -0.5 0.125 0 -1 0 \n0.25 -0.5 0.375 0 -1 0 \n0.375 -0.5 0.25 0 -1 0 \n0.375 -0.5 0.375 0 -1 0 \n-0.25 -0.5 0.375 0 -1 0 \n-0.125 -0.5 0.25 0 -1 0 \n-0.125 -0.5 0.375 0 -1 0 \n0.25 -0.5 -0.125 0 -1 0 \n0.375 -0.5 -0.25 0 -1 0 \n0.375 -0.5 -0.125 0 -1 0 \n-0.5 -0.375 -0.25 -1 0 0 \n-0.5 -0.25 -0.375 -1 0 0 \n-0.5 -0.375 -0.375 -1 0 0 \n-0.5 -0.375 0.25 -1 0 0 \n-0.5 -0.25 0.125 -1 0 0 \n-0.5 -0.375 0.125 -1 0 0 \n-0.5 0.125 -0.25 -1 0 0 \n-0.5 0.25 -0.375 -1 0 0 \n-0.5 0.125 -0.375 -1 0 0 \n-0.5 0.375 0.25 -1 0 0 \n-0.5 0.25 0.375 -1 0 0 \n-0.5 0.375 0.375 -1 0 0 \n-0.5 0.375 -0.25 -1 0 0 \n-0.5 0.25 -0.125 -1 0 0 \n-0.5 0.375 -0.125 -1 0 0 \n-0.5 -0.125 0.25 -1 0 0 \n-0.5 -0.25 0.375 -1 0 0 \n-0.5 -0.125 0.375 -1 0 0 \n0 0.375 0.5 -0 0 1 \n0.125 0.375 0.5 -0 0 1 \n0 0.125 0.5 -0 0 1 \n0.125 0 0.5 -0 0 1 \n0.375 0 0.5 -0 0 1 \n0.375 0.125 0.5 -0 0 1 \n0 -0.375 0.5 0 0 1 \n-0.125 -0.375 0.5 0 0 1 \n0 -0.125 0.5 0 0 1 \n-0.125 0 0.5 0 0 1 \n-0.375 0 0.5 0 0 1 \n-0.375 -0.125 0.5 0 0 1 \n0.5 0 0.375 1 -0 0 \n0.5 0.125 0.375 1 -0 0 \n0.5 0 0.125 1 -0 0 \n0.5 0.125 0 1 -0 0 \n0.5 0.375 0 1 -0 0 \n0.5 0.375 0.125 1 -0 0 \n0.5 0 -0.375 1 0 0 \n0.5 -0.125 -0.375 1 0 0 \n0.5 0 -0.125 1 0 0 \n0.5 -0.125 0 1 0 0 \n0.5 -0.375 0 1 0 0 \n0.5 -0.375 -0.125 1 0 0 \n0.375 0.5 0 0 1 -0 \n0.375 0.5 0.125 0 1 -0 \n0.125 0.5 0 0 1 -0 \n0 0.5 0.125 0 1 -0 \n0 0.5 0.375 0 1 -0 \n0.125 0.5 0.375 0 1 -0 \n-0.375 0.5 0 0 1 0 \n-0.375 0.5 -0.125 0 1 0 \n-0.125 0.5 0 0 1 0 \n0 0.5 -0.125 0 1 0 \n0 0.5 -0.375 0 1 0 \n-0.125 0.5 -0.375 0 1 0 \n-0.375 0 -0.5 0 0 -1 \n-0.375 -0.125 -0.5 0 0 -1 \n-0.125 0 -0.5 0 0 -1 \n0 -0.125 -0.5 0 0 -1 \n0 -0.375 -0.5 0 0 -1 \n-0.125 -0.375 -0.5 0 0 -1 \n0.375 0 -0.5 0 0 -1 \n0.375 0.125 -0.5 0 0 -1 \n0.125 0 -0.5 0 0 -1 \n0 0.125 -0.5 0 0 -1 \n0 0.375 -0.5 0 0 -1 \n0.125 0.375 -0.5 0 0 -1 \n0 -0.5 -0.375 0 -1 0 \n-0.125 -0.5 -0.375 0 -1 0 \n0 -0.5 -0.125 0 -1 0 \n-0.125 -0.5 0 0 -1 0 \n-0.375 -0.5 0 0 -1 0 \n-0.375 -0.5 -0.125 0 -1 0 \n0 -0.5 0.375 0 -1 0 \n0.125 -0.5 0.375 0 -1 0 \n0 -0.5 0.125 0 -1 0 \n0.125 -0.5 0 0 -1 0 \n0.375 -0.5 0 0 -1 0 \n0.375 -0.5 0.125 0 -1 0 \n-0.5 -0.375 0 -1 0 0 \n-0.5 -0.375 -0.125 -1 0 0 \n-0.5 -0.125 0 -1 0 0 \n-0.5 0 -0.125 -1 0 0 \n-0.5 0 -0.375 -1 0 0 \n-0.5 -0.125 -0.375 -1 0 0 \n-0.5 0.375 0 -1 0 0 \n-0.5 0.375 0.125 -1 0 0 \n-0.5 0.125 0 -1 0 0 \n-0.5 0 0.125 -1 0 0 \n-0.5 0 0.375 -1 0 0 \n-0.5 0.125 0.375 -1 0 0 \n0.375 0.5 0.5 0 0 1 \n0.5 0.375 0.5 0 0 1 \n0.125 0.5 0.5 0 0 1 \n0.5 0.125 0.5 0 0 1 \n-0.125 0.5 0.5 0 0 1 \n-0.375 0.5 0.5 0 0 1 \n-0.375 0.375 0.5 0 0 1 \n-0.125 0.125 0.5 0 0 1 \n0.5 -0.125 0.5 0 0 1 \n0.125 -0.125 0.5 0 0 1 \n0.375 -0.375 0.5 0 0 1 \n0.5 -0.375 0.5 0 0 1 \n-0.375 -0.5 0.5 0 -0 1 \n-0.5 -0.375 0.5 0 -0 1 \n-0.125 -0.5 0.5 0 -0 1 \n-0.5 -0.125 0.5 0 -0 1 \n0.125 -0.5 0.5 0 -0 1 \n0.375 -0.5 0.5 0 -0 1 \n-0.5 0.125 0.5 0 -0 1 \n-0.5 0.375 0.5 0 -0 1 \n0.5 0.5 0.375 1 0 0 \n0.5 0.5 0.125 1 0 0 \n0.5 -0.375 0.375 1 0 0 \n0.5 -0.125 0.125 1 0 0 \n0.5 0.5 -0.125 1 0 0 \n0.5 0.125 -0.125 1 0 0 \n0.5 0.375 -0.375 1 0 0 \n0.5 0.5 -0.375 1 0 0 \n0.5 -0.375 -0.5 1 0 -0 \n0.5 -0.5 -0.375 1 0 -0 \n0.5 -0.125 -0.5 1 0 -0 \n0.5 -0.5 -0.125 1 0 -0 \n0.5 0.125 -0.5 1 0 -0 \n0.5 0.375 -0.5 1 0 -0 \n0.5 -0.5 0.125 1 0 -0 \n0.5 -0.5 0.375 1 0 -0 \n0.375 0.5 -0.375 0 1 0 \n0.125 0.5 -0.125 0 1 0 \n-0.125 0.5 0.125 0 1 0 \n-0.375 0.5 0.375 0 1 0 \n-0.5 0.5 -0.375 -0 1 0 \n-0.375 0.5 -0.5 -0 1 0 \n-0.5 0.5 -0.125 -0 1 0 \n-0.125 0.5 -0.5 -0 1 0 \n-0.5 0.5 0.125 -0 1 0 \n-0.5 0.5 0.375 -0 1 0 \n0.125 0.5 -0.5 -0 1 0 \n0.375 0.5 -0.5 -0 1 0 \n-0.5 -0.375 -0.5 0 0 -1 \n-0.375 -0.5 -0.5 0 0 -1 \n-0.5 -0.125 -0.5 0 0 -1 \n-0.125 -0.5 -0.5 0 0 -1 \n-0.5 0.125 -0.5 0 0 -1 \n-0.5 0.375 -0.5 0 0 -1 \n-0.375 0.375 -0.5 0 0 -1 \n-0.125 0.125 -0.5 0 0 -1 \n0.125 -0.5 -0.5 0 0 -1 \n0.125 -0.125 -0.5 0 0 -1 \n0.375 -0.375 -0.5 0 0 -1 \n0.375 -0.5 -0.5 0 0 -1 \n-0.5 -0.5 -0.375 0 -1 0 \n-0.5 -0.5 -0.125 0 -1 0 \n0.375 -0.5 -0.375 0 -1 0 \n0.125 -0.5 -0.125 0 -1 0 \n-0.5 -0.5 0.125 0 -1 0 \n-0.125 -0.5 0.125 0 -1 0 \n-0.375 -0.5 0.375 0 -1 0 \n-0.5 -0.5 0.375 0 -1 0 \n-0.5 -0.375 0.375 -1 0 0 \n-0.5 -0.125 0.125 -1 0 0 \n-0.5 0.125 -0.125 -1 0 0 \n-0.5 0.375 -0.375 -1 0 0 \n0.1875 0.125 0.5 0 -0 1 \n0.1875 0.1875 0.5 0 -0 1 \n0.125 0.1875 0.5 0 -0 1 \n-0.1875 -0.125 0.5 0 0 1 \n-0.1875 -0.1875 0.5 0 0 1 \n-0.125 -0.1875 0.5 0 0 1 \n0.5 0.1875 0.125 1 0 -0 \n0.5 0.1875 0.1875 1 0 -0 \n0.5 0.125 0.1875 1 0 -0 \n0.5 -0.1875 -0.125 1 0 0 \n0.5 -0.1875 -0.1875 1 0 0 \n0.5 -0.125 -0.1875 1 0 0 \n0.125 0.5 0.1875 -0 1 0 \n0.1875 0.5 0.1875 -0 1 0 \n0.1875 0.5 0.125 -0 1 0 \n-0.125 0.5 -0.1875 0 1 0 \n-0.1875 0.5 -0.1875 0 1 0 \n-0.1875 0.5 -0.125 0 1 0 \n-0.125 -0.1875 -0.5 0 0 -1 \n-0.1875 -0.1875 -0.5 0 0 -1 \n-0.1875 -0.125 -0.5 0 0 -1 \n0.125 0.1875 -0.5 0 0 -1 \n0.1875 0.1875 -0.5 0 0 -1 \n0.1875 0.125 -0.5 0 0 -1 \n-0.1875 -0.5 -0.125 0 -1 0 \n-0.1875 -0.5 -0.1875 0 -1 0 \n-0.125 -0.5 -0.1875 0 -1 0 \n0.1875 -0.5 0.125 0 -1 0 \n0.1875 -0.5 0.1875 0 -1 0 \n0.125 -0.5 0.1875 0 -1 0 \n-0.5 -0.125 -0.1875 -1 0 0 \n-0.5 -0.1875 -0.1875 -1 0 0 \n-0.5 -0.1875 -0.125 -1 0 0 \n-0.5 0.125 0.1875 -1 0 0 \n-0.5 0.1875 0.1875 -1 0 0 \n-0.5 0.1875 0.125 -1 0 0 \n0.3125 0.3125 0.5 0 0 1 \n0.375 0.3125 0.5 0 0 1 \n0.3125 0.375 0.5 0 0 1 \n-0.1875 0.3125 0.5 0 0 1 \n-0.125 0.3125 0.5 0 0 1 \n-0.1875 0.375 0.5 0 0 1 \n0.3125 -0.1875 0.5 0 0 1 \n0.375 -0.1875 0.5 0 0 1 \n0.3125 -0.125 0.5 0 0 1 \n-0.3125 -0.3125 0.5 0 0 1 \n-0.375 -0.3125 0.5 0 0 1 \n-0.3125 -0.375 0.5 0 0 1 \n0.1875 -0.3125 0.5 0 0 1 \n0.125 -0.3125 0.5 0 0 1 \n0.1875 -0.375 0.5 0 0 1 \n-0.3125 0.1875 0.5 0 0 1 \n-0.375 0.1875 0.5 0 0 1 \n-0.3125 0.125 0.5 0 0 1 \n0.5 0.3125 0.3125 1 0 0 \n0.5 0.375 0.3125 1 0 0 \n0.5 0.3125 0.375 1 0 0 \n0.5 -0.1875 0.3125 1 0 0 \n0.5 -0.125 0.3125 1 0 0 \n0.5 -0.1875 0.375 1 0 0 \n0.5 0.3125 -0.1875 1 0 0 \n0.5 0.375 -0.1875 1 0 0 \n0.5 0.3125 -0.125 1 0 0 \n0.5 -0.3125 -0.3125 1 0 0 \n0.5 -0.375 -0.3125 1 0 0 \n0.5 -0.3125 -0.375 1 0 0 \n0.5 0.1875 -0.3125 1 0 0 \n0.5 0.125 -0.3125 1 0 0 \n0.5 0.1875 -0.375 1 0 0 \n0.5 -0.3125 0.1875 1 0 0 \n0.5 -0.375 0.1875 1 0 0 \n0.5 -0.3125 0.125 1 0 0 \n0.3125 0.5 0.3125 0 1 0 \n0.3125 0.5 0.375 0 1 0 \n0.375 0.5 0.3125 0 1 0 \n0.3125 0.5 -0.1875 0 1 0 \n0.3125 0.5 -0.125 0 1 0 \n0.375 0.5 -0.1875 0 1 0 \n-0.1875 0.5 0.3125 0 1 0 \n-0.1875 0.5 0.375 0 1 0 \n-0.125 0.5 0.3125 0 1 0 \n-0.3125 0.5 -0.3125 0 1 0 \n-0.3125 0.5 -0.375 0 1 0 \n-0.375 0.5 -0.3125 0 1 0 \n-0.3125 0.5 0.1875 0 1 0 \n-0.3125 0.5 0.125 0 1 0 \n-0.375 0.5 0.1875 0 1 0 \n0.1875 0.5 -0.3125 0 1 0 \n0.1875 0.5 -0.375 0 1 0 \n0.125 0.5 -0.3125 0 1 0 \n-0.3125 -0.3125 -0.5 -0 -0 -1 \n-0.3125 -0.375 -0.5 -0 -0 -1 \n-0.375 -0.3125 -0.5 -0 -0 -1 \n-0.3125 0.1875 -0.5 -0 -0 -1 \n-0.3125 0.125 -0.5 -0 -0 -1 \n-0.375 0.1875 -0.5 -0 -0 -1 \n0.1875 -0.3125 -0.5 -0 -0 -1 \n0.1875 -0.375 -0.5 -0 -0 -1 \n0.125 -0.3125 -0.5 -0 -0 -1 \n0.3125 0.3125 -0.5 0 0 -1 \n0.3125 0.375 -0.5 0 0 -1 \n0.375 0.3125 -0.5 0 0 -1 \n0.3125 -0.1875 -0.5 0 0 -1 \n0.3125 -0.125 -0.5 0 0 -1 \n0.375 -0.1875 -0.5 0 0 -1 \n-0.1875 0.3125 -0.5 0 0 -1 \n-0.1875 0.375 -0.5 0 0 -1 \n-0.125 0.3125 -0.5 0 0 -1 \n-0.3125 -0.5 -0.3125 -0 -1 -0 \n-0.375 -0.5 -0.3125 -0 -1 -0 \n-0.3125 -0.5 -0.375 -0 -1 -0 \n0.1875 -0.5 -0.3125 -0 -1 -0 \n0.125 -0.5 -0.3125 -0 -1 -0 \n0.1875 -0.5 -0.375 -0 -1 -0 \n-0.3125 -0.5 0.1875 -0 -1 -0 \n-0.375 -0.5 0.1875 -0 -1 -0 \n-0.3125 -0.5 0.125 -0 -1 -0 \n0.3125 -0.5 0.3125 0 -1 0 \n0.375 -0.5 0.3125 0 -1 0 \n0.3125 -0.5 0.375 0 -1 0 \n-0.1875 -0.5 0.3125 0 -1 0 \n-0.125 -0.5 0.3125 0 -1 0 \n-0.1875 -0.5 0.375 0 -1 0 \n0.3125 -0.5 -0.1875 0 -1 0 \n0.375 -0.5 -0.1875 0 -1 0 \n0.3125 -0.5 -0.125 0 -1 0 \n-0.5 -0.3125 -0.3125 -1 -0 -0 \n-0.5 -0.3125 -0.375 -1 -0 -0 \n-0.5 -0.375 -0.3125 -1 -0 -0 \n-0.5 -0.3125 0.1875 -1 -0 -0 \n-0.5 -0.3125 0.125 -1 -0 -0 \n-0.5 -0.375 0.1875 -1 -0 -0 \n-0.5 0.1875 -0.3125 -1 -0 -0 \n-0.5 0.1875 -0.375 -1 -0 -0 \n-0.5 0.125 -0.3125 -1 -0 -0 \n-0.5 0.3125 0.3125 -1 0 0 \n-0.5 0.3125 0.375 -1 0 0 \n-0.5 0.375 0.3125 -1 0 0 \n-0.5 0.3125 -0.1875 -1 0 0 \n-0.5 0.3125 -0.125 -1 0 0 \n-0.5 0.375 -0.1875 -1 0 0 \n-0.5 -0.1875 0.3125 -1 0 0 \n-0.5 -0.1875 0.375 -1 0 0 \n-0.5 -0.125 0.3125 -1 0 0 \n0.0625 0.3125 0.5 0 0 1 \n0.125 0.3125 0.5 0 0 1 \n0.0625 0.375 0.5 0 0 1 \n0.0625 0.0625 0.5 0 0 1 \n0.125 0.0625 0.5 0 0 1 \n0.0625 0.125 0.5 0 0 1 \n0.3125 0.0625 0.5 0 0 1 \n0.375 0.0625 0.5 0 0 1 \n0.3125 0.125 0.5 0 0 1 \n-0.0625 -0.3125 0.5 0 0 1 \n-0.125 -0.3125 0.5 0 0 1 \n-0.0625 -0.375 0.5 0 0 1 \n-0.0625 -0.0625 0.5 0 0 1 \n-0.125 -0.0625 0.5 0 0 1 \n-0.0625 -0.125 0.5 0 0 1 \n-0.3125 -0.0625 0.5 0 0 1 \n-0.375 -0.0625 0.5 0 0 1 \n-0.3125 -0.125 0.5 0 0 1 \n0.5 0.0625 0.3125 1 0 0 \n0.5 0.125 0.3125 1 0 0 \n0.5 0.0625 0.375 1 0 0 \n0.5 0.0625 0.0625 1 0 0 \n0.5 0.125 0.0625 1 0 0 \n0.5 0.0625 0.125 1 0 0 \n0.5 0.3125 0.0625 1 0 0 \n0.5 0.375 0.0625 1 0 0 \n0.5 0.3125 0.125 1 0 0 \n0.5 -0.0625 -0.3125 1 0 0 \n0.5 -0.125 -0.3125 1 0 0 \n0.5 -0.0625 -0.375 1 0 0 \n0.5 -0.0625 -0.0625 1 0 0 \n0.5 -0.125 -0.0625 1 0 0 \n0.5 -0.0625 -0.125 1 0 0 \n0.5 -0.3125 -0.0625 1 0 0 \n0.5 -0.375 -0.0625 1 0 0 \n0.5 -0.3125 -0.125 1 0 0 \n0.3125 0.5 0.0625 0 1 0 \n0.3125 0.5 0.125 0 1 0 \n0.375 0.5 0.0625 0 1 0 \n0.0625 0.5 0.0625 0 1 0 \n0.0625 0.5 0.125 0 1 0 \n0.125 0.5 0.0625 0 1 0 \n0.0625 0.5 0.3125 0 1 0 \n0.0625 0.5 0.375 0 1 0 \n0.125 0.5 0.3125 0 1 0 \n-0.3125 0.5 -0.0625 0 1 0 \n-0.3125 0.5 -0.125 0 1 0 \n-0.375 0.5 -0.0625 0 1 0 \n-0.0625 0.5 -0.0625 0 1 0 \n-0.0625 0.5 -0.125 0 1 0 \n-0.125 0.5 -0.0625 0 1 0 \n-0.0625 0.5 -0.3125 0 1 0 \n-0.0625 0.5 -0.375 0 1 0 \n-0.125 0.5 -0.3125 0 1 0 \n-0.3125 -0.0625 -0.5 -0 -0 -1 \n-0.3125 -0.125 -0.5 -0 -0 -1 \n-0.375 -0.0625 -0.5 -0 -0 -1 \n-0.0625 -0.0625 -0.5 -0 -0 -1 \n-0.0625 -0.125 -0.5 -0 -0 -1 \n-0.125 -0.0625 -0.5 -0 -0 -1 \n-0.0625 -0.3125 -0.5 -0 -0 -1 \n-0.0625 -0.375 -0.5 -0 -0 -1 \n-0.125 -0.3125 -0.5 -0 -0 -1 \n0.3125 0.0625 -0.5 0 0 -1 \n0.3125 0.125 -0.5 0 0 -1 \n0.375 0.0625 -0.5 0 0 -1 \n0.0625 0.0625 -0.5 0 0 -1 \n0.0625 0.125 -0.5 0 0 -1 \n0.125 0.0625 -0.5 0 0 -1 \n0.0625 0.3125 -0.5 0 0 -1 \n0.0625 0.375 -0.5 0 0 -1 \n0.125 0.3125 -0.5 0 0 -1 \n-0.0625 -0.5 -0.3125 -0 -1 -0 \n-0.125 -0.5 -0.3125 -0 -1 -0 \n-0.0625 -0.5 -0.375 -0 -1 -0 \n-0.0625 -0.5 -0.0625 -0 -1 -0 \n-0.125 -0.5 -0.0625 -0 -1 -0 \n-0.0625 -0.5 -0.125 -0 -1 -0 \n-0.3125 -0.5 -0.0625 -0 -1 -0 \n-0.375 -0.5 -0.0625 -0 -1 -0 \n-0.3125 -0.5 -0.125 -0 -1 -0 \n0.0625 -0.5 0.3125 0 -1 0 \n0.125 -0.5 0.3125 0 -1 0 \n0.0625 -0.5 0.375 0 -1 0 \n0.0625 -0.5 0.0625 0 -1 0 \n0.125 -0.5 0.0625 0 -1 0 \n0.0625 -0.5 0.125 0 -1 0 \n0.3125 -0.5 0.0625 0 -1 0 \n0.375 -0.5 0.0625 0 -1 0 \n0.3125 -0.5 0.125 0 -1 0 \n-0.5 -0.3125 -0.0625 -1 -0 -0 \n-0.5 -0.3125 -0.125 -1 -0 -0 \n-0.5 -0.375 -0.0625 -1 -0 -0 \n-0.5 -0.0625 -0.0625 -1 -0 -0 \n-0.5 -0.0625 -0.125 -1 -0 -0 \n-0.5 -0.125 -0.0625 -1 -0 -0 \n-0.5 -0.0625 -0.3125 -1 -0 -0 \n-0.5 -0.0625 -0.375 -1 -0 -0 \n-0.5 -0.125 -0.3125 -1 -0 -0 \n-0.5 0.3125 0.0625 -1 0 0 \n-0.5 0.3125 0.125 -1 0 0 \n-0.5 0.375 0.0625 -1 0 0 \n-0.5 0.0625 0.0625 -1 0 0 \n-0.5 0.0625 0.125 -1 0 0 \n-0.5 0.125 0.0625 -1 0 0 \n-0.5 0.0625 0.3125 -1 0 0 \n-0.5 0.0625 0.375 -1 0 0 \n-0.5 0.125 0.3125 -1 0 0 \n0.375 0.4375 0.5 -0 0 1 \n0.4375 0.375 0.5 -0 0 1 \n0.4375 0.4375 0.5 -0 0 1 \n0.125 0.4375 0.5 -0 0 1 \n0.1875 0.375 0.5 -0 0 1 \n0.1875 0.4375 0.5 -0 0 1 \n0.375 0.1875 0.5 -0 0 1 \n0.4375 0.125 0.5 -0 0 1 \n0.4375 0.1875 0.5 -0 0 1 \n-0.125 0.4375 0.5 -0 0 1 \n-0.0625 0.375 0.5 -0 0 1 \n-0.0625 0.4375 0.5 -0 0 1 \n-0.375 0.4375 0.5 -0 0 1 \n-0.3125 0.375 0.5 -0 0 1 \n-0.3125 0.4375 0.5 -0 0 1 \n-0.125 0.1875 0.5 -0 0 1 \n-0.0625 0.125 0.5 -0 0 1 \n-0.0625 0.1875 0.5 -0 0 1 \n0.375 -0.0625 0.5 -0 0 1 \n0.4375 -0.125 0.5 -0 0 1 \n0.4375 -0.0625 0.5 -0 0 1 \n0.125 -0.0625 0.5 -0 0 1 \n0.1875 -0.125 0.5 -0 0 1 \n0.1875 -0.0625 0.5 -0 0 1 \n0.375 -0.3125 0.5 -0 0 1 \n0.4375 -0.375 0.5 -0 0 1 \n0.4375 -0.3125 0.5 -0 0 1 \n-0.375 -0.4375 0.5 0 0 1 \n-0.4375 -0.375 0.5 0 0 1 \n-0.4375 -0.4375 0.5 0 0 1 \n-0.125 -0.4375 0.5 0 0 1 \n-0.1875 -0.375 0.5 0 0 1 \n-0.1875 -0.4375 0.5 0 0 1 \n-0.375 -0.1875 0.5 0 0 1 \n-0.4375 -0.125 0.5 0 0 1 \n-0.4375 -0.1875 0.5 0 0 1 \n0.125 -0.4375 0.5 0 0 1 \n0.0625 -0.375 0.5 0 0 1 \n0.0625 -0.4375 0.5 0 0 1 \n0.375 -0.4375 0.5 0 0 1 \n0.3125 -0.375 0.5 0 0 1 \n0.3125 -0.4375 0.5 0 0 1 \n0.125 -0.1875 0.5 0 0 1 \n0.0625 -0.125 0.5 0 0 1 \n0.0625 -0.1875 0.5 0 0 1 \n-0.375 0.0625 0.5 0 0 1 \n-0.4375 0.125 0.5 0 0 1 \n-0.4375 0.0625 0.5 0 0 1 \n-0.125 0.0625 0.5 0 0 1 \n-0.1875 0.125 0.5 0 0 1 \n-0.1875 0.0625 0.5 0 0 1 \n-0.375 0.3125 0.5 0 0 1 \n-0.4375 0.375 0.5 0 0 1 \n-0.4375 0.3125 0.5 0 0 1 \n0.5 0.375 0.4375 1 -0 0 \n0.5 0.4375 0.375 1 -0 0 \n0.5 0.4375 0.4375 1 -0 0 \n0.5 0.125 0.4375 1 -0 0 \n0.5 0.1875 0.375 1 -0 0 \n0.5 0.1875 0.4375 1 -0 0 \n0.5 0.375 0.1875 1 -0 0 \n0.5 0.4375 0.125 1 -0 0 \n0.5 0.4375 0.1875 1 -0 0 \n0.5 -0.125 0.4375 1 -0 0 \n0.5 -0.0625 0.375 1 -0 0 \n0.5 -0.0625 0.4375 1 -0 0 \n0.5 -0.375 0.4375 1 -0 0 \n0.5 -0.3125 0.375 1 -0 0 \n0.5 -0.3125 0.4375 1 -0 0 \n0.5 -0.125 0.1875 1 -0 0 \n0.5 -0.0625 0.125 1 -0 0 \n0.5 -0.0625 0.1875 1 -0 0 \n0.5 0.375 -0.0625 1 -0 0 \n0.5 0.4375 -0.125 1 -0 0 \n0.5 0.4375 -0.0625 1 -0 0 \n0.5 0.125 -0.0625 1 -0 0 \n0.5 0.1875 -0.125 1 -0 0 \n0.5 0.1875 -0.0625 1 -0 0 \n0.5 0.375 -0.3125 1 -0 0 \n0.5 0.4375 -0.375 1 -0 0 \n0.5 0.4375 -0.3125 1 -0 0 \n0.5 -0.375 -0.4375 1 0 0 \n0.5 -0.4375 -0.375 1 0 0 \n0.5 -0.4375 -0.4375 1 0 0 \n0.5 -0.125 -0.4375 1 0 0 \n0.5 -0.1875 -0.375 1 0 0 \n0.5 -0.1875 -0.4375 1 0 0 \n0.5 -0.375 -0.1875 1 0 0 \n0.5 -0.4375 -0.125 1 0 0 \n0.5 -0.4375 -0.1875 1 0 0 \n0.5 0.125 -0.4375 1 0 0 \n0.5 0.0625 -0.375 1 0 0 \n0.5 0.0625 -0.4375 1 0 0 \n0.5 0.375 -0.4375 1 0 0 \n0.5 0.3125 -0.375 1 0 0 \n0.5 0.3125 -0.4375 1 0 0 \n0.5 0.125 -0.1875 1 0 0 \n0.5 0.0625 -0.125 1 0 0 \n0.5 0.0625 -0.1875 1 0 0 \n0.5 -0.375 0.0625 1 0 0 \n0.5 -0.4375 0.125 1 0 0 \n0.5 -0.4375 0.0625 1 0 0 \n0.5 -0.125 0.0625 1 0 0 \n0.5 -0.1875 0.125 1 0 0 \n0.5 -0.1875 0.0625 1 0 0 \n0.5 -0.375 0.3125 1 0 0 \n0.5 -0.4375 0.375 1 0 0 \n0.5 -0.4375 0.3125 1 0 0 \n0.4375 0.5 0.375 0 1 -0 \n0.375 0.5 0.4375 0 1 -0 \n0.4375 0.5 0.4375 0 1 -0 \n0.4375 0.5 0.125 0 1 -0 \n0.375 0.5 0.1875 0 1 -0 \n0.4375 0.5 0.1875 0 1 -0 \n0.1875 0.5 0.375 0 1 -0 \n0.125 0.5 0.4375 0 1 -0 \n0.1875 0.5 0.4375 0 1 -0 \n0.4375 0.5 -0.125 0 1 -0 \n0.375 0.5 -0.0625 0 1 -0 \n0.4375 0.5 -0.0625 0 1 -0 \n0.4375 0.5 -0.375 0 1 -0 \n0.375 0.5 -0.3125 0 1 -0 \n0.4375 0.5 -0.3125 0 1 -0 \n0.1875 0.5 -0.125 0 1 -0 \n0.125 0.5 -0.0625 0 1 -0 \n0.1875 0.5 -0.0625 0 1 -0 \n-0.0625 0.5 0.375 0 1 -0 \n-0.125 0.5 0.4375 0 1 -0 \n-0.0625 0.5 0.4375 0 1 -0 \n-0.0625 0.5 0.125 0 1 -0 \n-0.125 0.5 0.1875 0 1 -0 \n-0.0625 0.5 0.1875 0 1 -0 \n-0.3125 0.5 0.375 0 1 -0 \n-0.375 0.5 0.4375 0 1 -0 \n-0.3125 0.5 0.4375 0 1 -0 \n-0.4375 0.5 -0.375 0 1 0 \n-0.375 0.5 -0.4375 0 1 0 \n-0.4375 0.5 -0.4375 0 1 0 \n-0.4375 0.5 -0.125 0 1 0 \n-0.375 0.5 -0.1875 0 1 0 \n-0.4375 0.5 -0.1875 0 1 0 \n-0.1875 0.5 -0.375 0 1 0 \n-0.125 0.5 -0.4375 0 1 0 \n-0.1875 0.5 -0.4375 0 1 0 \n-0.4375 0.5 0.125 0 1 0 \n-0.375 0.5 0.0625 0 1 0 \n-0.4375 0.5 0.0625 0 1 0 \n-0.4375 0.5 0.375 0 1 0 \n-0.375 0.5 0.3125 0 1 0 \n-0.4375 0.5 0.3125 0 1 0 \n-0.1875 0.5 0.125 0 1 0 \n-0.125 0.5 0.0625 0 1 0 \n-0.1875 0.5 0.0625 0 1 0 \n0.0625 0.5 -0.375 0 1 0 \n0.125 0.5 -0.4375 0 1 0 \n0.0625 0.5 -0.4375 0 1 0 \n0.0625 0.5 -0.125 0 1 0 \n0.125 0.5 -0.1875 0 1 0 \n0.0625 0.5 -0.1875 0 1 0 \n0.3125 0.5 -0.375 0 1 0 \n0.375 0.5 -0.4375 0 1 0 \n0.3125 0.5 -0.4375 0 1 0 \n-0.4375 -0.375 -0.5 0 0 -1 \n-0.375 -0.4375 -0.5 0 0 -1 \n-0.4375 -0.4375 -0.5 0 0 -1 \n-0.4375 -0.125 -0.5 0 0 -1 \n-0.375 -0.1875 -0.5 0 0 -1 \n-0.4375 -0.1875 -0.5 0 0 -1 \n-0.1875 -0.375 -0.5 0 0 -1 \n-0.125 -0.4375 -0.5 0 0 -1 \n-0.1875 -0.4375 -0.5 0 0 -1 \n-0.4375 0.125 -0.5 0 0 -1 \n-0.375 0.0625 -0.5 0 0 -1 \n-0.4375 0.0625 -0.5 0 0 -1 \n-0.4375 0.375 -0.5 0 0 -1 \n-0.375 0.3125 -0.5 0 0 -1 \n-0.4375 0.3125 -0.5 0 0 -1 \n-0.1875 0.125 -0.5 0 0 -1 \n-0.125 0.0625 -0.5 0 0 -1 \n-0.1875 0.0625 -0.5 0 0 -1 \n0.0625 -0.375 -0.5 0 0 -1 \n0.125 -0.4375 -0.5 0 0 -1 \n0.0625 -0.4375 -0.5 0 0 -1 \n0.0625 -0.125 -0.5 0 0 -1 \n0.125 -0.1875 -0.5 0 0 -1 \n0.0625 -0.1875 -0.5 0 0 -1 \n0.3125 -0.375 -0.5 0 0 -1 \n0.375 -0.4375 -0.5 0 0 -1 \n0.3125 -0.4375 -0.5 0 0 -1 \n0.4375 0.375 -0.5 0 0 -1 \n0.375 0.4375 -0.5 0 0 -1 \n0.4375 0.4375 -0.5 0 0 -1 \n0.4375 0.125 -0.5 0 0 -1 \n0.375 0.1875 -0.5 0 0 -1 \n0.4375 0.1875 -0.5 0 0 -1 \n0.1875 0.375 -0.5 0 0 -1 \n0.125 0.4375 -0.5 0 0 -1 \n0.1875 0.4375 -0.5 0 0 -1 \n0.4375 -0.125 -0.5 0 0 -1 \n0.375 -0.0625 -0.5 0 0 -1 \n0.4375 -0.0625 -0.5 0 0 -1 \n0.4375 -0.375 -0.5 0 0 -1 \n0.375 -0.3125 -0.5 0 0 -1 \n0.4375 -0.3125 -0.5 0 0 -1 \n0.1875 -0.125 -0.5 0 0 -1 \n0.125 -0.0625 -0.5 0 0 -1 \n0.1875 -0.0625 -0.5 0 0 -1 \n-0.0625 0.375 -0.5 0 0 -1 \n-0.125 0.4375 -0.5 0 0 -1 \n-0.0625 0.4375 -0.5 0 0 -1 \n-0.0625 0.125 -0.5 0 0 -1 \n-0.125 0.1875 -0.5 0 0 -1 \n-0.0625 0.1875 -0.5 0 0 -1 \n-0.3125 0.375 -0.5 0 0 -1 \n-0.375 0.4375 -0.5 0 0 -1 \n-0.3125 0.4375 -0.5 0 0 -1 \n-0.375 -0.5 -0.4375 0 -1 0 \n-0.4375 -0.5 -0.375 0 -1 0 \n-0.4375 -0.5 -0.4375 0 -1 0 \n-0.125 -0.5 -0.4375 0 -1 0 \n-0.1875 -0.5 -0.375 0 -1 0 \n-0.1875 -0.5 -0.4375 0 -1 0 \n-0.375 -0.5 -0.1875 0 -1 0 \n-0.4375 -0.5 -0.125 0 -1 0 \n-0.4375 -0.5 -0.1875 0 -1 0 \n0.125 -0.5 -0.4375 0 -1 0 \n0.0625 -0.5 -0.375 0 -1 0 \n0.0625 -0.5 -0.4375 0 -1 0 \n0.375 -0.5 -0.4375 0 -1 0 \n0.3125 -0.5 -0.375 0 -1 0 \n0.3125 -0.5 -0.4375 0 -1 0 \n0.125 -0.5 -0.1875 0 -1 0 \n0.0625 -0.5 -0.125 0 -1 0 \n0.0625 -0.5 -0.1875 0 -1 0 \n-0.375 -0.5 0.0625 0 -1 0 \n-0.4375 -0.5 0.125 0 -1 0 \n-0.4375 -0.5 0.0625 0 -1 0 \n-0.125 -0.5 0.0625 0 -1 0 \n-0.1875 -0.5 0.125 0 -1 0 \n-0.1875 -0.5 0.0625 0 -1 0 \n-0.375 -0.5 0.3125 0 -1 0 \n-0.4375 -0.5 0.375 0 -1 0 \n-0.4375 -0.5 0.3125 0 -1 0 \n0.375 -0.5 0.4375 0 -1 0 \n0.4375 -0.5 0.375 0 -1 0 \n0.4375 -0.5 0.4375 0 -1 0 \n0.125 -0.5 0.4375 0 -1 0 \n0.1875 -0.5 0.375 0 -1 0 \n0.1875 -0.5 0.4375 0 -1 0 \n0.375 -0.5 0.1875 0 -1 0 \n0.4375 -0.5 0.125 0 -1 0 \n0.4375 -0.5 0.1875 0 -1 0 \n-0.125 -0.5 0.4375 0 -1 0 \n-0.0625 -0.5 0.375 0 -1 0 \n-0.0625 -0.5 0.4375 0 -1 0 \n-0.375 -0.5 0.4375 0 -1 0 \n-0.3125 -0.5 0.375 0 -1 0 \n-0.3125 -0.5 0.4375 0 -1 0 \n-0.125 -0.5 0.1875 0 -1 0 \n-0.0625 -0.5 0.125 0 -1 0 \n-0.0625 -0.5 0.1875 0 -1 0 \n0.375 -0.5 -0.0625 0 -1 0 \n0.4375 -0.5 -0.125 0 -1 0 \n0.4375 -0.5 -0.0625 0 -1 0 \n0.125 -0.5 -0.0625 0 -1 0 \n0.1875 -0.5 -0.125 0 -1 0 \n0.1875 -0.5 -0.0625 0 -1 0 \n0.375 -0.5 -0.3125 0 -1 0 \n0.4375 -0.5 -0.375 0 -1 0 \n0.4375 -0.5 -0.3125 0 -1 0 \n-0.5 -0.4375 -0.375 -1 0 0 \n-0.5 -0.375 -0.4375 -1 0 0 \n-0.5 -0.4375 -0.4375 -1 0 0 \n-0.5 -0.4375 -0.125 -1 0 0 \n-0.5 -0.375 -0.1875 -1 0 0 \n-0.5 -0.4375 -0.1875 -1 0 0 \n-0.5 -0.1875 -0.375 -1 0 0 \n-0.5 -0.125 -0.4375 -1 0 0 \n-0.5 -0.1875 -0.4375 -1 0 0 \n-0.5 -0.4375 0.125 -1 0 0 \n-0.5 -0.375 0.0625 -1 0 0 \n-0.5 -0.4375 0.0625 -1 0 0 \n-0.5 -0.4375 0.375 -1 0 0 \n-0.5 -0.375 0.3125 -1 0 0 \n-0.5 -0.4375 0.3125 -1 0 0 \n-0.5 -0.1875 0.125 -1 0 0 \n-0.5 -0.125 0.0625 -1 0 0 \n-0.5 -0.1875 0.0625 -1 0 0 \n-0.5 0.0625 -0.375 -1 0 0 \n-0.5 0.125 -0.4375 -1 0 0 \n-0.5 0.0625 -0.4375 -1 0 0 \n-0.5 0.0625 -0.125 -1 0 0 \n-0.5 0.125 -0.1875 -1 0 0 \n-0.5 0.0625 -0.1875 -1 0 0 \n-0.5 0.3125 -0.375 -1 0 0 \n-0.5 0.375 -0.4375 -1 0 0 \n-0.5 0.3125 -0.4375 -1 0 0 \n-0.5 0.4375 0.375 -1 0 0 \n-0.5 0.375 0.4375 -1 0 0 \n-0.5 0.4375 0.4375 -1 0 0 \n-0.5 0.4375 0.125 -1 0 0 \n-0.5 0.375 0.1875 -1 0 0 \n-0.5 0.4375 0.1875 -1 0 0 \n-0.5 0.1875 0.375 -1 0 0 \n-0.5 0.125 0.4375 -1 0 0 \n-0.5 0.1875 0.4375 -1 0 0 \n-0.5 0.4375 -0.125 -1 0 0 \n-0.5 0.375 -0.0625 -1 0 0 \n-0.5 0.4375 -0.0625 -1 0 0 \n-0.5 0.4375 -0.375 -1 0 0 \n-0.5 0.375 -0.3125 -1 0 0 \n-0.5 0.4375 -0.3125 -1 0 0 \n-0.5 0.1875 -0.125 -1 0 0 \n-0.5 0.125 -0.0625 -1 0 0 \n-0.5 0.1875 -0.0625 -1 0 0 \n-0.5 -0.0625 0.375 -1 0 0 \n-0.5 -0.125 0.4375 -1 0 0 \n-0.5 -0.0625 0.4375 -1 0 0 \n-0.5 -0.0625 0.125 -1 0 0 \n-0.5 -0.125 0.1875 -1 0 0 \n-0.5 -0.0625 0.1875 -1 0 0 \n-0.5 -0.3125 0.375 -1 0 0 \n-0.5 -0.375 0.4375 -1 0 0 \n-0.5 -0.3125 0.4375 -1 0 0 \n0.0625 0.1875 0.5 0 0 1 \n0.0625 0.25 0.5 0 0 1 \n0.1875 0.0625 0.5 0 0 1 \n0.25 0.0625 0.5 0 0 1 \n0.25 0.1875 0.5 0 0 1 \n0.1875 0.25 0.5 0 0 1 \n-0.0625 -0.1875 0.5 0 0 1 \n-0.0625 -0.25 0.5 0 0 1 \n-0.1875 -0.0625 0.5 0 0 1 \n-0.25 -0.0625 0.5 0 0 1 \n-0.25 -0.1875 0.5 0 0 1 \n-0.1875 -0.25 0.5 0 0 1 \n0.5 0.0625 0.1875 1 0 0 \n0.5 0.0625 0.25 1 0 0 \n0.5 0.1875 0.0625 1 0 0 \n0.5 0.25 0.0625 1 0 0 \n0.5 0.25 0.1875 1 0 0 \n0.5 0.1875 0.25 1 0 0 \n0.5 -0.0625 -0.1875 1 0 0 \n0.5 -0.0625 -0.25 1 0 0 \n0.5 -0.1875 -0.0625 1 0 0 \n0.5 -0.25 -0.0625 1 0 0 \n0.5 -0.25 -0.1875 1 0 0 \n0.5 -0.1875 -0.25 1 0 0 \n0.1875 0.5 0.0625 0 1 0 \n0.25 0.5 0.0625 0 1 0 \n0.0625 0.5 0.1875 0 1 0 \n0.0625 0.5 0.25 0 1 0 \n0.1875 0.5 0.25 0 1 0 \n0.25 0.5 0.1875 0 1 0 \n-0.1875 0.5 -0.0625 0 1 0 \n-0.25 0.5 -0.0625 0 1 0 \n-0.0625 0.5 -0.1875 0 1 0 \n-0.0625 0.5 -0.25 0 1 0 \n-0.1875 0.5 -0.25 0 1 0 \n-0.25 0.5 -0.1875 0 1 0 \n-0.1875 -0.0625 -0.5 -0 -0 -1 \n-0.25 -0.0625 -0.5 -0 -0 -1 \n-0.0625 -0.1875 -0.5 -0 -0 -1 \n-0.0625 -0.25 -0.5 -0 -0 -1 \n-0.1875 -0.25 -0.5 -0 -0 -1 \n-0.25 -0.1875 -0.5 -0 -0 -1 \n0.1875 0.0625 -0.5 0 0 -1 \n0.25 0.0625 -0.5 0 0 -1 \n0.0625 0.1875 -0.5 0 0 -1 \n0.0625 0.25 -0.5 0 0 -1 \n0.1875 0.25 -0.5 0 0 -1 \n0.25 0.1875 -0.5 0 0 -1 \n-0.0625 -0.5 -0.1875 -0 -1 -0 \n-0.0625 -0.5 -0.25 -0 -1 -0 \n-0.1875 -0.5 -0.0625 -0 -1 -0 \n-0.25 -0.5 -0.0625 -0 -1 -0 \n-0.25 -0.5 -0.1875 -0 -1 -0 \n-0.1875 -0.5 -0.25 -0 -1 -0 \n0.0625 -0.5 0.1875 0 -1 0 \n0.0625 -0.5 0.25 0 -1 0 \n0.1875 -0.5 0.0625 0 -1 0 \n0.25 -0.5 0.0625 0 -1 0 \n0.25 -0.5 0.1875 0 -1 0 \n0.1875 -0.5 0.25 0 -1 0 \n-0.5 -0.1875 -0.0625 -1 -0 -0 \n-0.5 -0.25 -0.0625 -1 -0 -0 \n-0.5 -0.0625 -0.1875 -1 -0 -0 \n-0.5 -0.0625 -0.25 -1 -0 -0 \n-0.5 -0.1875 -0.25 -1 -0 -0 \n-0.5 -0.25 -0.1875 -1 -0 -0 \n-0.5 0.1875 0.0625 -1 0 0 \n-0.5 0.25 0.0625 -1 0 0 \n-0.5 0.0625 0.1875 -1 0 0 \n-0.5 0.0625 0.25 -1 0 0 \n-0.5 0.1875 0.25 -1 0 0 \n-0.5 0.25 0.1875 -1 0 0 \n0.25 0.4375 0.5 -0 0 1 \n0.3125 0.4375 0.5 -0 0 1 \n0.25 0.3125 0.5 -0 0 1 \n0.3125 0.25 0.5 -0 0 1 \n0.4375 0.25 0.5 -0 0 1 \n0.4375 0.3125 0.5 -0 0 1 \n-0.25 0.4375 0.5 -0 0 1 \n-0.1875 0.4375 0.5 -0 0 1 \n-0.25 0.3125 0.5 -0 0 1 \n-0.1875 0.25 0.5 -0 0 1 \n-0.0625 0.25 0.5 -0 0 1 \n-0.0625 0.3125 0.5 -0 0 1 \n0.25 -0.0625 0.5 -0 0 1 \n0.3125 -0.0625 0.5 -0 0 1 \n0.25 -0.1875 0.5 -0 0 1 \n0.3125 -0.25 0.5 -0 0 1 \n0.4375 -0.25 0.5 -0 0 1 \n0.4375 -0.1875 0.5 -0 0 1 \n-0.25 -0.4375 0.5 0 0 1 \n-0.3125 -0.4375 0.5 0 0 1 \n-0.25 -0.3125 0.5 0 0 1 \n-0.3125 -0.25 0.5 0 0 1 \n-0.4375 -0.25 0.5 0 0 1 \n-0.4375 -0.3125 0.5 0 0 1 \n0.25 -0.4375 0.5 0 0 1 \n0.1875 -0.4375 0.5 0 0 1 \n0.25 -0.3125 0.5 0 0 1 \n0.1875 -0.25 0.5 0 0 1 \n0.0625 -0.25 0.5 0 0 1 \n0.0625 -0.3125 0.5 0 0 1 \n-0.25 0.0625 0.5 0 0 1 \n-0.3125 0.0625 0.5 0 0 1 \n-0.25 0.1875 0.5 0 0 1 \n-0.3125 0.25 0.5 0 0 1 \n-0.4375 0.25 0.5 0 0 1 \n-0.4375 0.1875 0.5 0 0 1 \n0.5 0.25 0.4375 1 -0 0 \n0.5 0.3125 0.4375 1 -0 0 \n0.5 0.25 0.3125 1 -0 0 \n0.5 0.3125 0.25 1 -0 0 \n0.5 0.4375 0.25 1 -0 0 \n0.5 0.4375 0.3125 1 -0 0 \n0.5 -0.25 0.4375 1 -0 0 \n0.5 -0.1875 0.4375 1 -0 0 \n0.5 -0.25 0.3125 1 -0 0 \n0.5 -0.1875 0.25 1 -0 0 \n0.5 -0.0625 0.25 1 -0 0 \n0.5 -0.0625 0.3125 1 -0 0 \n0.5 0.25 -0.0625 1 -0 0 \n0.5 0.3125 -0.0625 1 -0 0 \n0.5 0.25 -0.1875 1 -0 0 \n0.5 0.3125 -0.25 1 -0 0 \n0.5 0.4375 -0.25 1 -0 0 \n0.5 0.4375 -0.1875 1 -0 0 \n0.5 -0.25 -0.4375 1 0 0 \n0.5 -0.3125 -0.4375 1 0 0 \n0.5 -0.25 -0.3125 1 0 0 \n0.5 -0.3125 -0.25 1 0 0 \n0.5 -0.4375 -0.25 1 0 0 \n0.5 -0.4375 -0.3125 1 0 0 \n0.5 0.25 -0.4375 1 0 0 \n0.5 0.1875 -0.4375 1 0 0 \n0.5 0.25 -0.3125 1 0 0 \n0.5 0.1875 -0.25 1 0 0 \n0.5 0.0625 -0.25 1 0 0 \n0.5 0.0625 -0.3125 1 0 0 \n0.5 -0.25 0.0625 1 0 0 \n0.5 -0.3125 0.0625 1 0 0 \n0.5 -0.25 0.1875 1 0 0 \n0.5 -0.3125 0.25 1 0 0 \n0.5 -0.4375 0.25 1 0 0 \n0.5 -0.4375 0.1875 1 0 0 \n0.4375 0.5 0.25 0 1 -0 \n0.4375 0.5 0.3125 0 1 -0 \n0.3125 0.5 0.25 0 1 -0 \n0.25 0.5 0.3125 0 1 -0 \n0.25 0.5 0.4375 0 1 -0 \n0.3125 0.5 0.4375 0 1 -0 \n0.4375 0.5 -0.25 0 1 -0 \n0.4375 0.5 -0.1875 0 1 -0 \n0.3125 0.5 -0.25 0 1 -0 \n0.25 0.5 -0.1875 0 1 -0 \n0.25 0.5 -0.0625 0 1 -0 \n0.3125 0.5 -0.0625 0 1 -0 \n-0.0625 0.5 0.25 0 1 -0 \n-0.0625 0.5 0.3125 0 1 -0 \n-0.1875 0.5 0.25 0 1 -0 \n-0.25 0.5 0.3125 0 1 -0 \n-0.25 0.5 0.4375 0 1 -0 \n-0.1875 0.5 0.4375 0 1 -0 \n-0.4375 0.5 -0.25 0 1 0 \n-0.4375 0.5 -0.3125 0 1 0 \n-0.3125 0.5 -0.25 0 1 0 \n-0.25 0.5 -0.3125 0 1 0 \n-0.25 0.5 -0.4375 0 1 0 \n-0.3125 0.5 -0.4375 0 1 0 \n-0.4375 0.5 0.25 0 1 0 \n-0.4375 0.5 0.1875 0 1 0 \n-0.3125 0.5 0.25 0 1 0 \n-0.25 0.5 0.1875 0 1 0 \n-0.25 0.5 0.0625 0 1 0 \n-0.3125 0.5 0.0625 0 1 0 \n0.0625 0.5 -0.25 0 1 0 \n0.0625 0.5 -0.3125 0 1 0 \n0.1875 0.5 -0.25 0 1 0 \n0.25 0.5 -0.3125 0 1 0 \n0.25 0.5 -0.4375 0 1 0 \n0.1875 0.5 -0.4375 0 1 0 \n-0.4375 -0.25 -0.5 0 0 -1 \n-0.4375 -0.3125 -0.5 0 0 -1 \n-0.3125 -0.25 -0.5 0 0 -1 \n-0.25 -0.3125 -0.5 0 0 -1 \n-0.25 -0.4375 -0.5 0 0 -1 \n-0.3125 -0.4375 -0.5 0 0 -1 \n-0.4375 0.25 -0.5 0 0 -1 \n-0.4375 0.1875 -0.5 0 0 -1 \n-0.3125 0.25 -0.5 0 0 -1 \n-0.25 0.1875 -0.5 0 0 -1 \n-0.25 0.0625 -0.5 0 0 -1 \n-0.3125 0.0625 -0.5 0 0 -1 \n0.0625 -0.25 -0.5 0 0 -1 \n0.0625 -0.3125 -0.5 0 0 -1 \n0.1875 -0.25 -0.5 0 0 -1 \n0.25 -0.3125 -0.5 0 0 -1 \n0.25 -0.4375 -0.5 0 0 -1 \n0.1875 -0.4375 -0.5 0 0 -1 \n0.4375 0.25 -0.5 0 0 -1 \n0.4375 0.3125 -0.5 0 0 -1 \n0.3125 0.25 -0.5 0 0 -1 \n0.25 0.3125 -0.5 0 0 -1 \n0.25 0.4375 -0.5 0 0 -1 \n0.3125 0.4375 -0.5 0 0 -1 \n0.4375 -0.25 -0.5 0 0 -1 \n0.4375 -0.1875 -0.5 0 0 -1 \n0.3125 -0.25 -0.5 0 0 -1 \n0.25 -0.1875 -0.5 0 0 -1 \n0.25 -0.0625 -0.5 0 0 -1 \n0.3125 -0.0625 -0.5 0 0 -1 \n-0.0625 0.25 -0.5 0 0 -1 \n-0.0625 0.3125 -0.5 0 0 -1 \n-0.1875 0.25 -0.5 0 0 -1 \n-0.25 0.3125 -0.5 0 0 -1 \n-0.25 0.4375 -0.5 0 0 -1 \n-0.1875 0.4375 -0.5 0 0 -1 \n-0.25 -0.5 -0.4375 0 -1 0 \n-0.3125 -0.5 -0.4375 0 -1 0 \n-0.25 -0.5 -0.3125 0 -1 0 \n-0.3125 -0.5 -0.25 0 -1 0 \n-0.4375 -0.5 -0.25 0 -1 0 \n-0.4375 -0.5 -0.3125 0 -1 0 \n0.25 -0.5 -0.4375 0 -1 0 \n0.1875 -0.5 -0.4375 0 -1 0 \n0.25 -0.5 -0.3125 0 -1 0 \n0.1875 -0.5 -0.25 0 -1 0 \n0.0625 -0.5 -0.25 0 -1 0 \n0.0625 -0.5 -0.3125 0 -1 0 \n-0.25 -0.5 0.0625 0 -1 0 \n-0.3125 -0.5 0.0625 0 -1 0 \n-0.25 -0.5 0.1875 0 -1 0 \n-0.3125 -0.5 0.25 0 -1 0 \n-0.4375 -0.5 0.25 0 -1 0 \n-0.4375 -0.5 0.1875 0 -1 0 \n0.25 -0.5 0.4375 0 -1 0 \n0.3125 -0.5 0.4375 0 -1 0 \n0.25 -0.5 0.3125 0 -1 0 \n0.3125 -0.5 0.25 0 -1 0 \n0.4375 -0.5 0.25 0 -1 0 \n0.4375 -0.5 0.3125 0 -1 0 \n-0.25 -0.5 0.4375 0 -1 0 \n-0.1875 -0.5 0.4375 0 -1 0 \n-0.25 -0.5 0.3125 0 -1 0 \n-0.1875 -0.5 0.25 0 -1 0 \n-0.0625 -0.5 0.25 0 -1 0 \n-0.0625 -0.5 0.3125 0 -1 0 \n0.25 -0.5 -0.0625 0 -1 0 \n0.3125 -0.5 -0.0625 0 -1 0 \n0.25 -0.5 -0.1875 0 -1 0 \n0.3125 -0.5 -0.25 0 -1 0 \n0.4375 -0.5 -0.25 0 -1 0 \n0.4375 -0.5 -0.1875 0 -1 0 \n-0.5 -0.4375 -0.25 -1 0 0 \n-0.5 -0.4375 -0.3125 -1 0 0 \n-0.5 -0.3125 -0.25 -1 0 0 \n-0.5 -0.25 -0.3125 -1 0 0 \n-0.5 -0.25 -0.4375 -1 0 0 \n-0.5 -0.3125 -0.4375 -1 0 0 \n-0.5 -0.4375 0.25 -1 0 0 \n-0.5 -0.4375 0.1875 -1 0 0 \n-0.5 -0.3125 0.25 -1 0 0 \n-0.5 -0.25 0.1875 -1 0 0 \n-0.5 -0.25 0.0625 -1 0 0 \n-0.5 -0.3125 0.0625 -1 0 0 \n-0.5 0.0625 -0.25 -1 0 0 \n-0.5 0.0625 -0.3125 -1 0 0 \n-0.5 0.1875 -0.25 -1 0 0 \n-0.5 0.25 -0.3125 -1 0 0 \n-0.5 0.25 -0.4375 -1 0 0 \n-0.5 0.1875 -0.4375 -1 0 0 \n-0.5 0.4375 0.25 -1 0 0 \n-0.5 0.4375 0.3125 -1 0 0 \n-0.5 0.3125 0.25 -1 0 0 \n-0.5 0.25 0.3125 -1 0 0 \n-0.5 0.25 0.4375 -1 0 0 \n-0.5 0.3125 0.4375 -1 0 0 \n-0.5 0.4375 -0.25 -1 0 0 \n-0.5 0.4375 -0.1875 -1 0 0 \n-0.5 0.3125 -0.25 -1 0 0 \n-0.5 0.25 -0.1875 -1 0 0 \n-0.5 0.25 -0.0625 -1 0 0 \n-0.5 0.3125 -0.0625 -1 0 0 \n-0.5 -0.0625 0.25 -1 0 0 \n-0.5 -0.0625 0.3125 -1 0 0 \n-0.5 -0.1875 0.25 -1 0 0 \n-0.5 -0.25 0.3125 -1 0 0 \n-0.5 -0.25 0.4375 -1 0 0 \n-0.5 -0.1875 0.4375 -1 0 0 \n0 0.4375 0.5 -0 0 1 \n0.0625 0.4375 0.5 -0 0 1 \n0 0.3125 0.5 -0 0 1 \n0.1875 0.3125 0.5 -0 0 1 \n0 0.1875 0.5 -0 0 1 \n0 0.0625 0.5 -0 0 1 \n0.0625 0 0.5 -0 0 1 \n0.1875 0 0.5 -0 0 1 \n0.3125 0.1875 0.5 -0 0 1 \n0.3125 0 0.5 -0 0 1 \n0.4375 0 0.5 -0 0 1 \n0.4375 0.0625 0.5 -0 0 1 \n0 -0.4375 0.5 0 0 1 \n-0.0625 -0.4375 0.5 0 0 1 \n0 -0.3125 0.5 0 0 1 \n-0.1875 -0.3125 0.5 0 0 1 \n0 -0.1875 0.5 0 0 1 \n0 -0.0625 0.5 0 0 1 \n-0.0625 0 0.5 0 0 1 \n-0.1875 0 0.5 0 0 1 \n-0.3125 -0.1875 0.5 0 0 1 \n-0.3125 0 0.5 0 0 1 \n-0.4375 0 0.5 0 0 1 \n-0.4375 -0.0625 0.5 0 0 1 \n0.5 0 0.4375 1 -0 0 \n0.5 0.0625 0.4375 1 -0 0 \n0.5 0 0.3125 1 -0 0 \n0.5 0.1875 0.3125 1 -0 0 \n0.5 0 0.1875 1 -0 0 \n0.5 0 0.0625 1 -0 0 \n0.5 0.0625 0 1 -0 0 \n0.5 0.1875 0 1 -0 0 \n0.5 0.3125 0.1875 1 -0 0 \n0.5 0.3125 0 1 -0 0 \n0.5 0.4375 0 1 -0 0 \n0.5 0.4375 0.0625 1 -0 0 \n0.5 0 -0.4375 1 0 0 \n0.5 -0.0625 -0.4375 1 0 0 \n0.5 0 -0.3125 1 0 0 \n0.5 -0.1875 -0.3125 1 0 0 \n0.5 0 -0.1875 1 0 0 \n0.5 0 -0.0625 1 0 0 \n0.5 -0.0625 0 1 0 0 \n0.5 -0.1875 0 1 0 0 \n0.5 -0.3125 -0.1875 1 0 0 \n0.5 -0.3125 0 1 0 0 \n0.5 -0.4375 0 1 0 0 \n0.5 -0.4375 -0.0625 1 0 0 \n0.4375 0.5 0 0 1 -0 \n0.4375 0.5 0.0625 0 1 -0 \n0.3125 0.5 0 0 1 -0 \n0.3125 0.5 0.1875 0 1 -0 \n0.1875 0.5 0 0 1 -0 \n0.0625 0.5 0 0 1 -0 \n0 0.5 0.0625 0 1 -0 \n0 0.5 0.1875 0 1 -0 \n0.1875 0.5 0.3125 0 1 -0 \n0 0.5 0.3125 0 1 -0 \n0 0.5 0.4375 0 1 -0 \n0.0625 0.5 0.4375 0 1 -0 \n-0.4375 0.5 0 0 1 0 \n-0.4375 0.5 -0.0625 0 1 0 \n-0.3125 0.5 0 0 1 0 \n-0.3125 0.5 -0.1875 0 1 0 \n-0.1875 0.5 0 0 1 0 \n-0.0625 0.5 0 0 1 0 \n0 0.5 -0.0625 0 1 0 \n0 0.5 -0.1875 0 1 0 \n-0.1875 0.5 -0.3125 0 1 0 \n0 0.5 -0.3125 0 1 0 \n0 0.5 -0.4375 0 1 0 \n-0.0625 0.5 -0.4375 0 1 0 \n-0.4375 0 -0.5 0 0 -1 \n-0.4375 -0.0625 -0.5 0 0 -1 \n-0.3125 0 -0.5 0 0 -1 \n-0.3125 -0.1875 -0.5 0 0 -1 \n-0.1875 0 -0.5 0 0 -1 \n-0.0625 0 -0.5 0 0 -1 \n0 -0.0625 -0.5 0 0 -1 \n0 -0.1875 -0.5 0 0 -1 \n-0.1875 -0.3125 -0.5 0 0 -1 \n0 -0.3125 -0.5 0 0 -1 \n0 -0.4375 -0.5 0 0 -1 \n-0.0625 -0.4375 -0.5 0 0 -1 \n0.4375 0 -0.5 0 0 -1 \n0.4375 0.0625 -0.5 0 0 -1 \n0.3125 0 -0.5 0 0 -1 \n0.3125 0.1875 -0.5 0 0 -1 \n0.1875 0 -0.5 0 0 -1 \n0.0625 0 -0.5 0 0 -1 \n0 0.0625 -0.5 0 0 -1 \n0 0.1875 -0.5 0 0 -1 \n0.1875 0.3125 -0.5 0 0 -1 \n0 0.3125 -0.5 0 0 -1 \n0 0.4375 -0.5 0 0 -1 \n0.0625 0.4375 -0.5 0 0 -1 \n0 -0.5 -0.4375 0 -1 0 \n-0.0625 -0.5 -0.4375 0 -1 0 \n0 -0.5 -0.3125 0 -1 0 \n-0.1875 -0.5 -0.3125 0 -1 0 \n0 -0.5 -0.1875 0 -1 0 \n0 -0.5 -0.0625 0 -1 0 \n-0.0625 -0.5 0 0 -1 0 \n-0.1875 -0.5 0 0 -1 0 \n-0.3125 -0.5 -0.1875 0 -1 0 \n-0.3125 -0.5 0 0 -1 0 \n-0.4375 -0.5 0 0 -1 0 \n-0.4375 -0.5 -0.0625 0 -1 0 \n0 -0.5 0.4375 0 -1 0 \n0.0625 -0.5 0.4375 0 -1 0 \n0 -0.5 0.3125 0 -1 0 \n0.1875 -0.5 0.3125 0 -1 0 \n0 -0.5 0.1875 0 -1 0 \n0 -0.5 0.0625 0 -1 0 \n0.0625 -0.5 0 0 -1 0 \n0.1875 -0.5 0 0 -1 0 \n0.3125 -0.5 0.1875 0 -1 0 \n0.3125 -0.5 0 0 -1 0 \n0.4375 -0.5 0 0 -1 0 \n0.4375 -0.5 0.0625 0 -1 0 \n-0.5 -0.4375 0 -1 0 0 \n-0.5 -0.4375 -0.0625 -1 0 0 \n-0.5 -0.3125 0 -1 0 0 \n-0.5 -0.3125 -0.1875 -1 0 0 \n-0.5 -0.1875 0 -1 0 0 \n-0.5 -0.0625 0 -1 0 0 \n-0.5 0 -0.0625 -1 0 0 \n-0.5 0 -0.1875 -1 0 0 \n-0.5 -0.1875 -0.3125 -1 0 0 \n-0.5 0 -0.3125 -1 0 0 \n-0.5 0 -0.4375 -1 0 0 \n-0.5 -0.0625 -0.4375 -1 0 0 \n-0.5 0.4375 0 -1 0 0 \n-0.5 0.4375 0.0625 -1 0 0 \n-0.5 0.3125 0 -1 0 0 \n-0.5 0.3125 0.1875 -1 0 0 \n-0.5 0.1875 0 -1 0 0 \n-0.5 0.0625 0 -1 0 0 \n-0.5 0 0.0625 -1 0 0 \n-0.5 0 0.1875 -1 0 0 \n-0.5 0.1875 0.3125 -1 0 0 \n-0.5 0 0.3125 -1 0 0 \n-0.5 0 0.4375 -1 0 0 \n-0.5 0.0625 0.4375 -1 0 0 \n0.4375 0.5 0.5 0 0 1 \n0.5 0.4375 0.5 0 0 1 \n0.3125 0.5 0.5 0 0 1 \n0.5 0.3125 0.5 0 0 1 \n0.1875 0.5 0.5 0 0 1 \n0.0625 0.5 0.5 0 0 1 \n0.5 0.1875 0.5 0 0 1 \n0.5 0.0625 0.5 0 0 1 \n-0.0625 0.5 0.5 0 0 1 \n-0.1875 0.5 0.5 0 0 1 \n-0.3125 0.5 0.5 0 0 1 \n-0.4375 0.5 0.5 0 0 1 \n-0.4375 0.4375 0.5 0 0 1 \n-0.3125 0.3125 0.5 0 0 1 \n-0.1875 0.1875 0.5 0 0 1 \n-0.0625 0.0625 0.5 0 0 1 \n0.5 -0.0625 0.5 0 0 1 \n0.5 -0.1875 0.5 0 0 1 \n0.0625 -0.0625 0.5 0 0 1 \n0.1875 -0.1875 0.5 0 0 1 \n0.5 -0.3125 0.5 0 0 1 \n0.3125 -0.3125 0.5 0 0 1 \n0.4375 -0.4375 0.5 0 0 1 \n0.5 -0.4375 0.5 0 0 1 \n-0.4375 -0.5 0.5 0 -0 1 \n-0.5 -0.4375 0.5 0 -0 1 \n-0.3125 -0.5 0.5 0 -0 1 \n-0.5 -0.3125 0.5 0 -0 1 \n-0.1875 -0.5 0.5 0 -0 1 \n-0.0625 -0.5 0.5 0 -0 1 \n-0.5 -0.1875 0.5 0 -0 1 \n-0.5 -0.0625 0.5 0 -0 1 \n0.0625 -0.5 0.5 0 -0 1 \n0.1875 -0.5 0.5 0 -0 1 \n0.3125 -0.5 0.5 0 -0 1 \n0.4375 -0.5 0.5 0 -0 1 \n-0.5 0.0625 0.5 0 -0 1 \n-0.5 0.1875 0.5 0 -0 1 \n-0.5 0.3125 0.5 0 -0 1 \n-0.5 0.4375 0.5 0 -0 1 \n0.5 0.5 0.4375 1 0 0 \n0.5 0.5 0.3125 1 0 0 \n0.5 0.5 0.1875 1 0 0 \n0.5 0.5 0.0625 1 0 0 \n0.5 -0.4375 0.4375 1 0 0 \n0.5 -0.3125 0.3125 1 0 0 \n0.5 -0.1875 0.1875 1 0 0 \n0.5 -0.0625 0.0625 1 0 0 \n0.5 0.5 -0.0625 1 0 0 \n0.5 0.5 -0.1875 1 0 0 \n0.5 0.0625 -0.0625 1 0 0 \n0.5 0.1875 -0.1875 1 0 0 \n0.5 0.5 -0.3125 1 0 0 \n0.5 0.3125 -0.3125 1 0 0 \n0.5 0.4375 -0.4375 1 0 0 \n0.5 0.5 -0.4375 1 0 0 \n0.5 -0.4375 -0.5 1 0 -0 \n0.5 -0.5 -0.4375 1 0 -0 \n0.5 -0.3125 -0.5 1 0 -0 \n0.5 -0.5 -0.3125 1 0 -0 \n0.5 -0.1875 -0.5 1 0 -0 \n0.5 -0.0625 -0.5 1 0 -0 \n0.5 -0.5 -0.1875 1 0 -0 \n0.5 -0.5 -0.0625 1 0 -0 \n0.5 0.0625 -0.5 1 0 -0 \n0.5 0.1875 -0.5 1 0 -0 \n0.5 0.3125 -0.5 1 0 -0 \n0.5 0.4375 -0.5 1 0 -0 \n0.5 -0.5 0.0625 1 0 -0 \n0.5 -0.5 0.1875 1 0 -0 \n0.5 -0.5 0.3125 1 0 -0 \n0.5 -0.5 0.4375 1 0 -0 \n0.4375 0.5 -0.4375 0 1 0 \n0.3125 0.5 -0.3125 0 1 0 \n0.1875 0.5 -0.1875 0 1 0 \n0.0625 0.5 -0.0625 0 1 0 \n-0.0625 0.5 0.0625 0 1 0 \n-0.1875 0.5 0.1875 0 1 0 \n-0.3125 0.5 0.3125 0 1 0 \n-0.4375 0.5 0.4375 0 1 0 \n-0.5 0.5 -0.4375 -0 1 0 \n-0.4375 0.5 -0.5 -0 1 0 \n-0.5 0.5 -0.3125 -0 1 0 \n-0.3125 0.5 -0.5 -0 1 0 \n-0.5 0.5 -0.1875 -0 1 0 \n-0.5 0.5 -0.0625 -0 1 0 \n-0.1875 0.5 -0.5 -0 1 0 \n-0.0625 0.5 -0.5 -0 1 0 \n-0.5 0.5 0.0625 -0 1 0 \n-0.5 0.5 0.1875 -0 1 0 \n-0.5 0.5 0.3125 -0 1 0 \n-0.5 0.5 0.4375 -0 1 0 \n0.0625 0.5 -0.5 -0 1 0 \n0.1875 0.5 -0.5 -0 1 0 \n0.3125 0.5 -0.5 -0 1 0 \n0.4375 0.5 -0.5 -0 1 0 \n-0.5 -0.4375 -0.5 0 0 -1 \n-0.4375 -0.5 -0.5 0 0 -1 \n-0.5 -0.3125 -0.5 0 0 -1 \n-0.3125 -0.5 -0.5 0 0 -1 \n-0.5 -0.1875 -0.5 0 0 -1 \n-0.5 -0.0625 -0.5 0 0 -1 \n-0.1875 -0.5 -0.5 0 0 -1 \n-0.0625 -0.5 -0.5 0 0 -1 \n-0.5 0.0625 -0.5 0 0 -1 \n-0.5 0.1875 -0.5 0 0 -1 \n-0.5 0.3125 -0.5 0 0 -1 \n-0.5 0.4375 -0.5 0 0 -1 \n-0.4375 0.4375 -0.5 0 0 -1 \n-0.3125 0.3125 -0.5 0 0 -1 \n-0.1875 0.1875 -0.5 0 0 -1 \n-0.0625 0.0625 -0.5 0 0 -1 \n0.0625 -0.5 -0.5 0 0 -1 \n0.1875 -0.5 -0.5 0 0 -1 \n0.0625 -0.0625 -0.5 0 0 -1 \n0.1875 -0.1875 -0.5 0 0 -1 \n0.3125 -0.5 -0.5 0 0 -1 \n0.3125 -0.3125 -0.5 0 0 -1 \n0.4375 -0.4375 -0.5 0 0 -1 \n0.4375 -0.5 -0.5 0 0 -1 \n-0.5 -0.5 -0.4375 0 -1 0 \n-0.5 -0.5 -0.3125 0 -1 0 \n-0.5 -0.5 -0.1875 0 -1 0 \n-0.5 -0.5 -0.0625 0 -1 0 \n0.4375 -0.5 -0.4375 0 -1 0 \n0.3125 -0.5 -0.3125 0 -1 0 \n0.1875 -0.5 -0.1875 0 -1 0 \n0.0625 -0.5 -0.0625 0 -1 0 \n-0.5 -0.5 0.0625 0 -1 0 \n-0.5 -0.5 0.1875 0 -1 0 \n-0.0625 -0.5 0.0625 0 -1 0 \n-0.1875 -0.5 0.1875 0 -1 0 \n-0.5 -0.5 0.3125 0 -1 0 \n-0.3125 -0.5 0.3125 0 -1 0 \n-0.4375 -0.5 0.4375 0 -1 0 \n-0.5 -0.5 0.4375 0 -1 0 \n-0.5 -0.4375 0.4375 -1 0 0 \n-0.5 -0.3125 0.3125 -1 0 0 \n-0.5 -0.1875 0.1875 -1 0 0 \n-0.5 -0.0625 0.0625 -1 0 0 \n-0.5 0.0625 -0.0625 -1 0 0 \n-0.5 0.1875 -0.1875 -1 0 0 \n-0.5 0.3125 -0.3125 -1 0 0 \n-0.5 0.4375 -0.4375 -1 0 0 \n0.5 0.4375 0.5 1 0 0 \n0.5 0.3125 0.5 1 0 0 \n0.5 0.1875 0.5 1 0 0 \n0.5 0.0625 0.5 1 0 0 \n0.5 -0.0625 0.5 1 0 0 \n0.5 -0.1875 0.5 1 0 0 \n0.5 -0.3125 0.5 1 0 0 \n0.5 -0.4375 0.5 1 0 0 \n0.5 0.5 0.4375 0 1 0 \n0.4375 0.5 0.5 0 1 0 \n0.5 0.5 0.3125 0 1 0 \n0.3125 0.5 0.5 0 1 0 \n0.5 0.5 0.1875 0 1 0 \n0.5 0.5 0.0625 0 1 0 \n0.1875 0.5 0.5 0 1 0 \n0.0625 0.5 0.5 0 1 0 \n0.5 0.5 -0.0625 0 1 0 \n0.5 0.5 -0.1875 0 1 0 \n0.5 0.5 -0.3125 0 1 0 \n0.5 0.5 -0.4375 0 1 0 \n-0.0625 0.5 0.5 0 1 0 \n-0.1875 0.5 0.5 0 1 0 \n-0.3125 0.5 0.5 0 1 0 \n-0.4375 0.5 0.5 0 1 0 \n0.5 0.4375 -0.5 0 0 -1 \n0.4375 0.5 -0.5 0 0 -1 \n0.5 0.3125 -0.5 0 0 -1 \n0.3125 0.5 -0.5 0 0 -1 \n0.5 0.1875 -0.5 0 0 -1 \n0.5 0.0625 -0.5 0 0 -1 \n0.1875 0.5 -0.5 0 0 -1 \n0.0625 0.5 -0.5 0 0 -1 \n0.5 -0.0625 -0.5 0 0 -1 \n0.5 -0.1875 -0.5 0 0 -1 \n0.5 -0.3125 -0.5 0 0 -1 \n0.5 -0.4375 -0.5 0 0 -1 \n-0.0625 0.5 -0.5 0 0 -1 \n-0.1875 0.5 -0.5 0 0 -1 \n-0.3125 0.5 -0.5 0 0 -1 \n-0.4375 0.5 -0.5 0 0 -1 \n-0.4375 -0.5 -0.5 0 -1 0 \n-0.3125 -0.5 -0.5 0 -1 0 \n-0.1875 -0.5 -0.5 0 -1 0 \n-0.0625 -0.5 -0.5 0 -1 0 \n0.0625 -0.5 -0.5 0 -1 0 \n0.1875 -0.5 -0.5 0 -1 0 \n0.3125 -0.5 -0.5 0 -1 0 \n0.4375 -0.5 -0.5 0 -1 0 \n0.4375 -0.5 0.5 0 -1 0 \n0.5 -0.5 0.4375 0 -1 0 \n0.3125 -0.5 0.5 0 -1 0 \n0.5 -0.5 0.3125 0 -1 0 \n0.1875 -0.5 0.5 0 -1 0 \n0.0625 -0.5 0.5 0 -1 0 \n0.5 -0.5 0.1875 0 -1 0 \n0.5 -0.5 0.0625 0 -1 0 \n-0.0625 -0.5 0.5 0 -1 0 \n-0.1875 -0.5 0.5 0 -1 0 \n-0.3125 -0.5 0.5 0 -1 0 \n-0.4375 -0.5 0.5 0 -1 0 \n0.5 -0.5 -0.0625 0 -1 0 \n0.5 -0.5 -0.1875 0 -1 0 \n0.5 -0.5 -0.3125 0 -1 0 \n0.5 -0.5 -0.4375 0 -1 0 \n-0.5 -0.5 -0.4375 -1 0 0 \n-0.5 -0.4375 -0.5 -1 0 0 \n-0.5 -0.5 -0.3125 -1 0 0 \n-0.5 -0.3125 -0.5 -1 0 0 \n-0.5 -0.5 -0.1875 -1 0 0 \n-0.5 -0.5 -0.0625 -1 0 0 \n-0.5 -0.1875 -0.5 -1 0 0 \n-0.5 -0.0625 -0.5 -1 0 0 \n-0.5 -0.5 0.0625 -1 0 0 \n-0.5 -0.5 0.1875 -1 0 0 \n-0.5 -0.5 0.3125 -1 0 0 \n-0.5 -0.5 0.4375 -1 0 0 \n-0.5 0.0625 -0.5 -1 0 0 \n-0.5 0.1875 -0.5 -1 0 0 \n-0.5 0.3125 -0.5 -1 0 0 \n-0.5 0.4375 -0.5 -1 0 0 \n-0.5 0.5 0.4375 -1 0 0 \n-0.5 0.4375 0.5 -1 0 0 \n-0.5 0.5 0.3125 -1 0 0 \n-0.5 0.3125 0.5 -1 0 0 \n-0.5 0.5 0.1875 -1 0 0 \n-0.5 0.5 0.0625 -1 0 0 \n-0.5 0.1875 0.5 -1 0 0 \n-0.5 0.0625 0.5 -1 0 0 \n-0.5 0.5 -0.0625 -1 0 0 \n-0.5 0.5 -0.1875 -1 0 0 \n-0.5 0.5 -0.3125 -1 0 0 \n-0.5 0.5 -0.4375 -1 0 0 \n-0.5 -0.0625 0.5 -1 0 0 \n-0.5 -0.1875 0.5 -1 0 0 \n-0.5 -0.3125 0.5 -1 0 0 \n-0.5 -0.4375 0.5 -1 0 0 \n0.5 0.375 0.5 1 0 0 \n0.5 0.125 0.5 1 0 0 \n0.5 -0.125 0.5 1 0 0 \n0.5 -0.375 0.5 1 0 0 \n0.5 0.5 0.375 0 1 0 \n0.375 0.5 0.5 0 1 0 \n0.5 0.5 0.125 0 1 0 \n0.125 0.5 0.5 0 1 0 \n0.5 0.5 -0.125 0 1 0 \n0.5 0.5 -0.375 0 1 0 \n-0.125 0.5 0.5 0 1 0 \n-0.375 0.5 0.5 0 1 0 \n0.5 0.375 -0.5 0 0 -1 \n0.375 0.5 -0.5 0 0 -1 \n0.5 0.125 -0.5 0 0 -1 \n0.125 0.5 -0.5 0 0 -1 \n0.5 -0.125 -0.5 0 0 -1 \n0.5 -0.375 -0.5 0 0 -1 \n-0.125 0.5 -0.5 0 0 -1 \n-0.375 0.5 -0.5 0 0 -1 \n-0.375 -0.5 -0.5 0 -1 0 \n-0.125 -0.5 -0.5 0 -1 0 \n0.125 -0.5 -0.5 0 -1 0 \n0.375 -0.5 -0.5 0 -1 0 \n0.375 -0.5 0.5 0 -1 0 \n0.5 -0.5 0.375 0 -1 0 \n0.125 -0.5 0.5 0 -1 0 \n0.5 -0.5 0.125 0 -1 0 \n-0.125 -0.5 0.5 0 -1 0 \n-0.375 -0.5 0.5 0 -1 0 \n0.5 -0.5 -0.125 0 -1 0 \n0.5 -0.5 -0.375 0 -1 0 \n-0.5 -0.5 -0.375 -1 0 0 \n-0.5 -0.375 -0.5 -1 0 0 \n-0.5 -0.5 -0.125 -1 0 0 \n-0.5 -0.125 -0.5 -1 0 0 \n-0.5 -0.5 0.125 -1 0 0 \n-0.5 -0.5 0.375 -1 0 0 \n-0.5 0.125 -0.5 -1 0 0 \n-0.5 0.375 -0.5 -1 0 0 \n-0.5 0.5 0.375 -1 0 0 \n-0.5 0.375 0.5 -1 0 0 \n-0.5 0.5 0.125 -1 0 0 \n-0.5 0.125 0.5 -1 0 0 \n-0.5 0.5 -0.125 -1 0 0 \n-0.5 0.5 -0.375 -1 0 0 \n-0.5 -0.125 0.5 -1 0 0 \n-0.5 -0.375 0.5 -1 0 0 \n0.5 0.25 0.5 1 0 0 \n0.5 -0.25 0.5 1 0 0 \n0.5 0.5 0.25 0 1 0 \n0.25 0.5 0.5 0 1 0 \n0.5 0.5 -0.25 0 1 0 \n-0.25 0.5 0.5 0 1 0 \n0.5 0.25 -0.5 0 0 -1 \n0.25 0.5 -0.5 0 0 -1 \n0.5 -0.25 -0.5 0 0 -1 \n-0.25 0.5 -0.5 0 0 -1 \n-0.25 -0.5 -0.5 0 -1 0 \n0.25 -0.5 -0.5 0 -1 0 \n0.25 -0.5 0.5 0 -1 0 \n0.5 -0.5 0.25 0 -1 0 \n-0.25 -0.5 0.5 0 -1 0 \n0.5 -0.5 -0.25 0 -1 0 \n-0.5 -0.5 -0.25 -1 0 0 \n-0.5 -0.25 -0.5 -1 0 0 \n-0.5 -0.5 0.25 -1 0 0 \n-0.5 0.25 -0.5 -1 0 0 \n-0.5 0.5 0.25 -1 0 0 \n-0.5 0.25 0.5 -1 0 0 \n-0.5 0.5 -0.25 -1 0 0 \n-0.5 -0.25 0.5 -1 0 0 \n0.5 0 0.5 1 0 0 \n0.5 0.5 0 0 1 0 \n0 0.5 0.5 0 1 0 \n0.5 0 -0.5 0 0 -1 \n0 0.5 -0.5 0 0 -1 \n0 -0.5 -0.5 0 -1 0 \n0 -0.5 0.5 0 -1 0 \n0.5 -0.5 0 0 -1 0 \n-0.5 -0.5 0 -1 0 0 \n-0.5 0 -0.5 -1 0 0 \n-0.5 0.5 0 -1 0 0 \n-0.5 0 0.5 -1 0 0 \n0.5 0.5 0.5 1 0 0 \n0.5 -0.5 0.5 1 0 0 \n0.5 0.5 0.5 0 1 0 \n0.5 0.5 -0.5 0 1 0 \n-0.5 0.5 0.5 0 1 0 \n-0.5 0.5 -0.5 0 0 -1 \n0.5 -0.5 -0.5 0 0 -1 \n0.5 0.5 -0.5 -0 -0 -1 \n-0.5 -0.5 -0.5 0 -1 0 \n0.5 -0.5 -0.5 0 -1 0 \n-0.5 -0.5 0.5 0 -1 0 \n0.5 -0.5 0.5 -0 -1 -0 \n-0.5 -0.5 -0.5 -1 0 0 \n-0.5 -0.5 0.5 -1 0 0 \n-0.5 0.5 -0.5 -1 0 0 \n-0.5 0.5 0.5 -1 -0 -0 \n3 386 387 388 \n3 389 390 391 \n3 392 393 394 \n3 395 396 397 \n3 398 399 400 \n3 401 402 403 \n3 404 405 406 \n3 407 408 409 \n3 410 411 412 \n3 413 414 415 \n3 416 417 418 \n3 419 420 421 \n3 422 423 424 \n3 425 426 427 \n3 428 429 430 \n3 431 432 433 \n3 434 435 436 \n3 437 438 439 \n3 440 441 442 \n3 443 444 445 \n3 446 447 448 \n3 449 450 451 \n3 452 453 454 \n3 455 456 457 \n3 458 459 460 \n3 461 462 463 \n3 464 465 466 \n3 467 468 469 \n3 470 471 472 \n3 473 474 475 \n3 476 477 478 \n3 479 480 481 \n3 482 483 484 \n3 485 486 487 \n3 488 489 490 \n3 491 492 493 \n3 494 495 496 \n3 497 498 499 \n3 500 501 502 \n3 503 504 505 \n3 506 507 508 \n3 509 510 511 \n3 512 513 514 \n3 515 516 517 \n3 518 519 520 \n3 521 522 523 \n3 524 525 526 \n3 527 528 529 \n3 530 531 532 \n3 533 534 535 \n3 536 537 538 \n3 539 540 541 \n3 542 543 544 \n3 545 546 547 \n3 548 549 550 \n3 551 552 553 \n3 554 555 556 \n3 557 558 559 \n3 560 561 562 \n3 563 564 565 \n3 566 567 568 \n3 569 570 571 \n3 572 573 574 \n3 575 576 577 \n3 578 579 580 \n3 581 582 583 \n3 584 585 586 \n3 587 588 589 \n3 590 591 592 \n3 593 594 595 \n3 596 597 598 \n3 599 600 601 \n3 602 603 604 \n3 605 606 607 \n3 608 609 610 \n3 611 612 613 \n3 614 615 616 \n3 617 618 619 \n3 620 621 622 \n3 623 624 625 \n3 626 627 628 \n3 629 630 631 \n3 632 633 634 \n3 635 636 637 \n3 638 639 640 \n3 641 642 643 \n3 644 645 646 \n3 647 648 649 \n3 650 651 652 \n3 653 654 655 \n3 656 657 658 \n3 659 660 661 \n3 662 663 664 \n3 665 666 667 \n3 668 669 670 \n3 671 672 673 \n3 674 675 676 \n3 677 678 679 \n3 680 681 682 \n3 683 684 685 \n3 686 687 688 \n3 689 690 691 \n3 692 693 694 \n3 695 696 697 \n3 698 699 700 \n3 701 702 703 \n3 704 705 706 \n3 707 708 709 \n3 710 711 712 \n3 713 714 715 \n3 716 717 718 \n3 719 720 721 \n3 722 723 724 \n3 725 726 727 \n3 728 729 730 \n3 731 732 733 \n3 734 735 736 \n3 737 738 739 \n3 740 741 742 \n3 743 744 745 \n3 746 747 748 \n3 749 750 751 \n3 752 753 754 \n3 755 756 757 \n3 758 759 760 \n3 761 762 763 \n3 764 765 766 \n3 767 768 769 \n3 770 771 772 \n3 773 774 775 \n3 776 777 778 \n3 779 780 781 \n3 782 783 784 \n3 785 786 787 \n3 788 789 790 \n3 791 792 793 \n3 794 795 796 \n3 797 798 799 \n3 800 801 802 \n3 803 804 805 \n3 806 807 808 \n3 809 810 811 \n3 812 813 814 \n3 815 816 817 \n3 818 819 820 \n3 821 822 823 \n3 824 825 826 \n3 827 828 829 \n3 830 831 832 \n3 833 834 835 \n3 836 837 838 \n3 839 840 841 \n3 842 843 844 \n3 845 846 847 \n3 848 849 850 \n3 851 852 853 \n3 854 855 856 \n3 857 858 859 \n3 860 861 862 \n3 863 864 865 \n3 866 867 868 \n3 869 870 871 \n3 872 873 874 \n3 875 876 877 \n3 878 879 880 \n3 881 882 883 \n3 884 885 886 \n3 887 888 889 \n3 890 891 892 \n3 893 894 895 \n3 896 897 898 \n3 899 900 901 \n3 902 903 904 \n3 905 906 907 \n3 908 909 910 \n3 911 912 913 \n3 914 915 916 \n3 917 918 919 \n3 920 921 922 \n3 923 924 925 \n3 926 927 928 \n3 929 930 931 \n3 932 933 934 \n3 935 936 937 \n3 938 939 940 \n3 941 942 943 \n3 944 945 946 \n3 947 948 949 \n3 950 951 952 \n3 953 954 955 \n3 956 957 958 \n3 959 960 961 \n3 962 388 963 \n3 964 965 386 \n3 387 966 967 \n3 968 391 969 \n3 970 971 389 \n3 390 972 973 \n3 974 394 975 \n3 976 977 392 \n3 393 978 979 \n3 980 397 981 \n3 982 983 395 \n3 396 984 985 \n3 986 400 987 \n3 988 989 398 \n3 399 990 991 \n3 992 403 993 \n3 994 995 401 \n3 402 996 997 \n3 998 406 999 \n3 1000 1001 404 \n3 405 1002 1003 \n3 1004 409 1005 \n3 1006 1007 407 \n3 408 1008 1009 \n3 1010 412 1011 \n3 1012 1013 410 \n3 411 1014 1015 \n3 1016 415 1017 \n3 1018 1019 413 \n3 414 1020 1021 \n3 1022 418 1023 \n3 1024 1025 416 \n3 417 1026 1027 \n3 1028 421 1029 \n3 1030 1031 419 \n3 420 1032 1033 \n3 1034 424 1035 \n3 1036 1037 422 \n3 423 1038 1039 \n3 1040 427 1041 \n3 1042 1043 425 \n3 426 1044 1045 \n3 1046 430 1047 \n3 1048 1049 428 \n3 429 1050 1051 \n3 1052 433 1053 \n3 1054 1055 431 \n3 432 1056 1057 \n3 1058 436 1059 \n3 1060 1061 434 \n3 435 1062 1063 \n3 1064 439 1065 \n3 1066 1067 437 \n3 438 1068 1069 \n3 1070 442 1071 \n3 1072 1073 440 \n3 441 1074 1075 \n3 1076 445 1077 \n3 1078 1079 443 \n3 444 1080 1081 \n3 1082 448 1083 \n3 1084 1085 446 \n3 447 1086 1087 \n3 1088 451 1089 \n3 1090 1091 449 \n3 450 1092 1093 \n3 1094 454 1095 \n3 1096 1097 452 \n3 453 1098 1099 \n3 1100 457 1101 \n3 1102 1103 455 \n3 456 1104 1105 \n3 1106 460 1107 \n3 1108 1109 458 \n3 459 1110 1111 \n3 1112 463 1113 \n3 1114 1115 461 \n3 462 1116 1117 \n3 1118 466 1119 \n3 1120 1121 464 \n3 465 1122 1123 \n3 1124 469 1125 \n3 1126 1127 467 \n3 468 1128 1129 \n3 1130 472 1131 \n3 1132 1133 470 \n3 471 1134 1135 \n3 1136 475 1137 \n3 1138 1139 473 \n3 474 1140 1141 \n3 1142 478 1143 \n3 1144 1145 476 \n3 477 1146 1147 \n3 1148 481 1149 \n3 1150 1151 479 \n3 480 1152 1153 \n3 1154 484 1155 \n3 1156 1157 482 \n3 483 1158 1159 \n3 1160 487 1161 \n3 1162 1163 485 \n3 486 1164 1165 \n3 1166 490 1167 \n3 1168 1169 488 \n3 489 1170 1171 \n3 1172 493 1173 \n3 1174 1175 491 \n3 492 1176 1177 \n3 1178 496 1179 \n3 1180 1181 494 \n3 495 1182 1183 \n3 1184 499 1185 \n3 1186 1187 497 \n3 498 1188 1189 \n3 1190 502 1191 \n3 1192 1193 500 \n3 501 1194 1195 \n3 1196 505 1197 \n3 1198 1199 503 \n3 504 1200 1201 \n3 1202 508 1203 \n3 1204 1205 506 \n3 507 1206 1207 \n3 1208 511 1209 \n3 1210 1211 509 \n3 510 1212 1213 \n3 1214 514 1215 \n3 1216 1217 512 \n3 513 1218 1219 \n3 1220 517 1221 \n3 1222 1223 515 \n3 516 1224 1225 \n3 1226 520 1227 \n3 1228 1229 518 \n3 519 1230 1231 \n3 1232 523 1233 \n3 1234 1235 521 \n3 522 1236 1237 \n3 1238 526 1239 \n3 1240 1241 524 \n3 525 1242 1243 \n3 1244 529 1245 \n3 1246 1247 527 \n3 528 1248 1249 \n3 1250 532 1251 \n3 1252 963 530 \n3 531 967 1253 \n3 1254 535 962 \n3 1255 1256 533 \n3 534 1257 964 \n3 966 538 1258 \n3 965 1259 536 \n3 537 1260 1261 \n3 1262 541 1263 \n3 1264 969 539 \n3 540 973 1265 \n3 1266 544 968 \n3 1267 1268 542 \n3 543 1269 970 \n3 972 547 1270 \n3 971 1271 545 \n3 546 1272 1273 \n3 1274 550 1275 \n3 1276 975 548 \n3 549 979 1277 \n3 1278 553 974 \n3 1279 1280 551 \n3 552 1281 976 \n3 978 556 1282 \n3 977 1283 554 \n3 555 1284 1285 \n3 1286 559 1287 \n3 1288 981 557 \n3 558 985 1289 \n3 1290 562 980 \n3 1291 1292 560 \n3 561 1293 982 \n3 984 565 1294 \n3 983 1295 563 \n3 564 1296 1297 \n3 1298 568 1299 \n3 1300 987 566 \n3 567 991 1301 \n3 1302 571 986 \n3 1303 1304 569 \n3 570 1305 988 \n3 990 574 1306 \n3 989 1307 572 \n3 573 1308 1309 \n3 1310 577 1311 \n3 1312 993 575 \n3 576 997 1313 \n3 1314 580 992 \n3 1315 1316 578 \n3 579 1317 994 \n3 996 583 1318 \n3 995 1319 581 \n3 582 1320 1321 \n3 1322 586 1323 \n3 1324 999 584 \n3 585 1003 1325 \n3 1326 589 998 \n3 1327 1328 587 \n3 588 1329 1000 \n3 1002 592 1330 \n3 1001 1331 590 \n3 591 1332 1333 \n3 1334 595 1335 \n3 1336 1005 593 \n3 594 1009 1337 \n3 1338 598 1004 \n3 1339 1340 596 \n3 597 1341 1006 \n3 1008 601 1342 \n3 1007 1343 599 \n3 600 1344 1345 \n3 1346 604 1347 \n3 1348 1011 602 \n3 603 1015 1349 \n3 1350 607 1010 \n3 1351 1352 605 \n3 606 1353 1012 \n3 1014 610 1354 \n3 1013 1355 608 \n3 609 1356 1357 \n3 1358 613 1359 \n3 1360 1017 611 \n3 612 1021 1361 \n3 1362 616 1016 \n3 1363 1364 614 \n3 615 1365 1018 \n3 1020 619 1366 \n3 1019 1367 617 \n3 618 1368 1369 \n3 1370 622 1371 \n3 1372 1023 620 \n3 621 1027 1373 \n3 1374 625 1022 \n3 1375 1376 623 \n3 624 1377 1024 \n3 1026 628 1378 \n3 1025 1379 626 \n3 627 1380 1381 \n3 1382 631 1383 \n3 1384 1029 629 \n3 630 1033 1385 \n3 1386 634 1028 \n3 1387 1388 632 \n3 633 1389 1030 \n3 1032 637 1390 \n3 1031 1391 635 \n3 636 1392 1393 \n3 1394 640 1395 \n3 1396 1035 638 \n3 639 1039 1397 \n3 1398 643 1034 \n3 1399 1251 641 \n3 642 1253 1036 \n3 1038 646 1400 \n3 1037 1258 644 \n3 645 1261 1401 \n3 1402 649 1250 \n3 1403 1041 647 \n3 648 1045 1252 \n3 1404 652 1040 \n3 1405 1406 650 \n3 651 1407 1042 \n3 1044 655 1254 \n3 1043 1408 653 \n3 654 1409 1255 \n3 1260 658 1410 \n3 1259 1047 656 \n3 657 1051 1411 \n3 1257 661 1046 \n3 1256 1412 659 \n3 660 1413 1048 \n3 1050 664 1414 \n3 1049 1415 662 \n3 663 1416 1417 \n3 1418 667 1419 \n3 1420 1053 665 \n3 666 1057 1421 \n3 1422 670 1052 \n3 1423 1263 668 \n3 669 1265 1054 \n3 1056 673 1424 \n3 1055 1270 671 \n3 672 1273 1425 \n3 1426 676 1262 \n3 1427 1059 674 \n3 675 1063 1264 \n3 1428 679 1058 \n3 1429 1416 677 \n3 678 1415 1060 \n3 1062 682 1266 \n3 1061 1413 680 \n3 681 1412 1267 \n3 1272 685 1430 \n3 1271 1065 683 \n3 684 1069 1431 \n3 1269 688 1064 \n3 1268 1409 686 \n3 687 1408 1066 \n3 1068 691 1432 \n3 1067 1407 689 \n3 690 1406 1433 \n3 1538 694 1434 \n3 1539 1071 692 \n3 693 1075 1435 \n3 1540 697 1070 \n3 1541 1275 695 \n3 696 1277 1072 \n3 1074 700 1436 \n3 1073 1282 698 \n3 699 1285 1437 \n3 1542 703 1274 \n3 1543 1077 701 \n3 702 1081 1276 \n3 1544 706 1076 \n3 1545 1438 704 \n3 705 1439 1078 \n3 1080 709 1278 \n3 1079 1440 707 \n3 708 1441 1279 \n3 1284 712 1442 \n3 1283 1083 710 \n3 711 1087 1443 \n3 1281 715 1082 \n3 1280 1444 713 \n3 714 1445 1084 \n3 1086 718 1446 \n3 1085 1447 716 \n3 717 1448 1449 \n3 1450 721 1451 \n3 1452 1089 719 \n3 720 1093 1453 \n3 1454 724 1088 \n3 1455 1287 722 \n3 723 1289 1090 \n3 1092 727 1456 \n3 1091 1294 725 \n3 726 1297 1457 \n3 1458 730 1286 \n3 1459 1095 728 \n3 729 1099 1288 \n3 1460 733 1094 \n3 1461 1448 731 \n3 732 1447 1096 \n3 1098 736 1290 \n3 1097 1445 734 \n3 735 1444 1291 \n3 1296 739 1462 \n3 1295 1101 737 \n3 738 1105 1463 \n3 1293 742 1100 \n3 1292 1441 740 \n3 741 1440 1102 \n3 1104 745 1464 \n3 1103 1439 743 \n3 744 1438 1465 \n3 1546 748 1547 \n3 1548 1107 746 \n3 747 1111 1549 \n3 1550 751 1106 \n3 1551 1299 749 \n3 750 1301 1108 \n3 1110 754 1552 \n3 1109 1306 752 \n3 753 1309 1553 \n3 1554 757 1298 \n3 1555 1113 755 \n3 756 1117 1300 \n3 1556 760 1112 \n3 1557 1466 758 \n3 759 1467 1114 \n3 1116 763 1302 \n3 1115 1468 761 \n3 762 1469 1303 \n3 1308 766 1558 \n3 1307 1119 764 \n3 765 1123 1559 \n3 1305 769 1118 \n3 1304 1470 767 \n3 768 1471 1120 \n3 1122 772 1560 \n3 1121 1472 770 \n3 771 1473 1561 \n3 1474 775 1475 \n3 1476 1125 773 \n3 774 1129 1477 \n3 1478 778 1124 \n3 1479 1311 776 \n3 777 1313 1126 \n3 1128 781 1480 \n3 1127 1318 779 \n3 780 1321 1481 \n3 1482 784 1310 \n3 1483 1131 782 \n3 783 1135 1312 \n3 1484 787 1130 \n3 1485 1473 785 \n3 786 1472 1132 \n3 1134 790 1314 \n3 1133 1471 788 \n3 789 1470 1315 \n3 1320 793 1486 \n3 1319 1137 791 \n3 792 1141 1487 \n3 1317 796 1136 \n3 1316 1469 794 \n3 795 1468 1138 \n3 1140 799 1488 \n3 1139 1467 797 \n3 798 1466 1489 \n3 1490 802 1491 \n3 1492 1143 800 \n3 801 1147 1493 \n3 1494 805 1142 \n3 1495 1323 803 \n3 804 1325 1144 \n3 1146 808 1496 \n3 1145 1330 806 \n3 807 1333 1497 \n3 1498 811 1322 \n3 1499 1149 809 \n3 810 1153 1324 \n3 1500 814 1148 \n3 1501 1502 812 \n3 813 1503 1150 \n3 1152 817 1326 \n3 1151 1504 815 \n3 816 1505 1327 \n3 1332 820 1506 \n3 1331 1155 818 \n3 819 1159 1507 \n3 1329 823 1154 \n3 1328 1508 821 \n3 822 1509 1156 \n3 1158 826 1510 \n3 1157 1511 824 \n3 825 1512 1513 \n3 1562 829 1563 \n3 1564 1161 827 \n3 828 1165 1565 \n3 1566 832 1160 \n3 1567 1335 830 \n3 831 1337 1162 \n3 1164 835 1568 \n3 1163 1342 833 \n3 834 1345 1569 \n3 1570 838 1334 \n3 1571 1167 836 \n3 837 1171 1336 \n3 1572 841 1166 \n3 1573 1512 839 \n3 840 1511 1168 \n3 1170 844 1338 \n3 1169 1509 842 \n3 843 1508 1339 \n3 1344 847 1574 \n3 1343 1173 845 \n3 846 1177 1575 \n3 1341 850 1172 \n3 1340 1505 848 \n3 849 1504 1174 \n3 1176 853 1576 \n3 1175 1503 851 \n3 852 1502 1577 \n3 1578 856 1514 \n3 1579 1179 854 \n3 855 1183 1515 \n3 1580 859 1178 \n3 1581 1347 857 \n3 858 1349 1180 \n3 1182 862 1516 \n3 1181 1354 860 \n3 861 1357 1517 \n3 1582 865 1346 \n3 1583 1185 863 \n3 864 1189 1348 \n3 1584 868 1184 \n3 1585 1518 866 \n3 867 1519 1186 \n3 1188 871 1350 \n3 1187 1520 869 \n3 870 1521 1351 \n3 1356 874 1522 \n3 1355 1191 872 \n3 873 1195 1523 \n3 1353 877 1190 \n3 1352 1524 875 \n3 876 1525 1192 \n3 1194 880 1526 \n3 1193 1527 878 \n3 879 1528 1529 \n3 1586 883 1587 \n3 1588 1197 881 \n3 882 1201 1589 \n3 1590 886 1196 \n3 1591 1359 884 \n3 885 1361 1198 \n3 1200 889 1592 \n3 1199 1366 887 \n3 888 1369 1593 \n3 1594 892 1358 \n3 1595 1203 890 \n3 891 1207 1360 \n3 1596 895 1202 \n3 1597 1528 893 \n3 894 1527 1204 \n3 1206 898 1362 \n3 1205 1525 896 \n3 897 1524 1363 \n3 1368 901 1598 \n3 1367 1209 899 \n3 900 1213 1599 \n3 1365 904 1208 \n3 1364 1521 902 \n3 903 1520 1210 \n3 1212 907 1600 \n3 1211 1519 905 \n3 906 1518 1601 \n3 1602 910 1603 \n3 1604 1215 908 \n3 909 1219 1605 \n3 1606 913 1214 \n3 1607 1371 911 \n3 912 1373 1216 \n3 1218 916 1608 \n3 1217 1378 914 \n3 915 1381 1609 \n3 1610 919 1370 \n3 1611 1221 917 \n3 918 1225 1372 \n3 1612 922 1220 \n3 1613 1530 920 \n3 921 1531 1222 \n3 1224 925 1374 \n3 1223 1532 923 \n3 924 1533 1375 \n3 1380 928 1614 \n3 1379 1227 926 \n3 927 1231 1615 \n3 1377 931 1226 \n3 1376 1534 929 \n3 930 1535 1228 \n3 1230 934 1616 \n3 1229 1536 932 \n3 933 1537 1617 \n3 1618 937 1619 \n3 1620 1233 935 \n3 936 1237 1621 \n3 1622 940 1232 \n3 1623 1383 938 \n3 939 1385 1234 \n3 1236 943 1624 \n3 1235 1390 941 \n3 942 1393 1625 \n3 1626 946 1382 \n3 1627 1239 944 \n3 945 1243 1384 \n3 1628 949 1238 \n3 1629 1537 947 \n3 948 1536 1240 \n3 1242 952 1386 \n3 1241 1535 950 \n3 951 1534 1387 \n3 1392 955 1630 \n3 1391 1245 953 \n3 954 1249 1631 \n3 1389 958 1244 \n3 1388 1533 956 \n3 957 1532 1246 \n3 1248 961 1632 \n3 1247 1531 959 \n3 960 1530 1633 \n3 98 386 388 \n3 386 99 387 \n3 388 387 100 \n3 101 389 391 \n3 389 102 390 \n3 391 390 103 \n3 104 392 394 \n3 392 105 393 \n3 394 393 106 \n3 107 395 397 \n3 395 108 396 \n3 397 396 109 \n3 110 398 400 \n3 398 111 399 \n3 400 399 112 \n3 113 401 403 \n3 401 114 402 \n3 403 402 115 \n3 116 404 406 \n3 404 117 405 \n3 406 405 118 \n3 119 407 409 \n3 407 120 408 \n3 409 408 121 \n3 122 410 412 \n3 410 123 411 \n3 412 411 124 \n3 125 413 415 \n3 413 126 414 \n3 415 414 127 \n3 128 416 418 \n3 416 129 417 \n3 418 417 130 \n3 131 419 421 \n3 419 132 420 \n3 421 420 133 \n3 134 422 424 \n3 422 135 423 \n3 424 423 136 \n3 137 425 427 \n3 425 138 426 \n3 427 426 139 \n3 140 428 430 \n3 428 141 429 \n3 430 429 142 \n3 143 431 433 \n3 431 144 432 \n3 433 432 145 \n3 146 434 436 \n3 434 147 435 \n3 436 435 148 \n3 149 437 439 \n3 437 150 438 \n3 439 438 151 \n3 152 440 442 \n3 440 153 441 \n3 442 441 154 \n3 155 443 445 \n3 443 156 444 \n3 445 444 157 \n3 158 446 448 \n3 446 159 447 \n3 448 447 160 \n3 161 449 451 \n3 449 162 450 \n3 451 450 163 \n3 164 452 454 \n3 452 165 453 \n3 454 453 166 \n3 167 455 457 \n3 455 168 456 \n3 457 456 169 \n3 170 458 460 \n3 458 171 459 \n3 460 459 172 \n3 173 461 463 \n3 461 174 462 \n3 463 462 175 \n3 176 464 466 \n3 464 177 465 \n3 466 465 178 \n3 179 467 469 \n3 467 180 468 \n3 469 468 181 \n3 182 470 472 \n3 470 183 471 \n3 472 471 184 \n3 185 473 475 \n3 473 186 474 \n3 475 474 187 \n3 188 476 478 \n3 476 189 477 \n3 478 477 190 \n3 191 479 481 \n3 479 192 480 \n3 481 480 193 \n3 194 482 484 \n3 482 195 483 \n3 484 483 196 \n3 197 485 487 \n3 485 198 486 \n3 487 486 199 \n3 200 488 490 \n3 488 201 489 \n3 490 489 202 \n3 203 491 493 \n3 491 204 492 \n3 493 492 205 \n3 206 494 496 \n3 494 207 495 \n3 496 495 208 \n3 209 497 499 \n3 497 210 498 \n3 499 498 211 \n3 212 500 502 \n3 500 213 501 \n3 502 501 214 \n3 215 503 505 \n3 503 216 504 \n3 505 504 217 \n3 218 506 508 \n3 506 219 507 \n3 508 507 220 \n3 221 509 511 \n3 509 222 510 \n3 511 510 223 \n3 224 512 514 \n3 512 225 513 \n3 514 513 226 \n3 227 515 517 \n3 515 228 516 \n3 517 516 229 \n3 230 518 520 \n3 518 231 519 \n3 520 519 232 \n3 233 521 523 \n3 521 234 522 \n3 523 522 235 \n3 236 524 526 \n3 524 237 525 \n3 526 525 238 \n3 239 527 529 \n3 527 240 528 \n3 529 528 241 \n3 242 530 532 \n3 530 100 531 \n3 532 531 243 \n3 244 533 535 \n3 533 245 534 \n3 535 534 98 \n3 99 536 538 \n3 536 246 537 \n3 538 537 247 \n3 248 539 541 \n3 539 103 540 \n3 541 540 249 \n3 250 542 544 \n3 542 251 543 \n3 544 543 101 \n3 102 545 547 \n3 545 252 546 \n3 547 546 253 \n3 254 548 550 \n3 548 106 549 \n3 550 549 255 \n3 256 551 553 \n3 551 257 552 \n3 553 552 104 \n3 105 554 556 \n3 554 258 555 \n3 556 555 259 \n3 260 557 559 \n3 557 109 558 \n3 559 558 261 \n3 262 560 562 \n3 560 263 561 \n3 562 561 107 \n3 108 563 565 \n3 563 264 564 \n3 565 564 265 \n3 266 566 568 \n3 566 112 567 \n3 568 567 267 \n3 268 569 571 \n3 569 269 570 \n3 571 570 110 \n3 111 572 574 \n3 572 270 573 \n3 574 573 271 \n3 272 575 577 \n3 575 115 576 \n3 577 576 273 \n3 274 578 580 \n3 578 275 579 \n3 580 579 113 \n3 114 581 583 \n3 581 276 582 \n3 583 582 277 \n3 278 584 586 \n3 584 118 585 \n3 586 585 279 \n3 280 587 589 \n3 587 281 588 \n3 589 588 116 \n3 117 590 592 \n3 590 282 591 \n3 592 591 283 \n3 284 593 595 \n3 593 121 594 \n3 595 594 285 \n3 286 596 598 \n3 596 287 597 \n3 598 597 119 \n3 120 599 601 \n3 599 288 600 \n3 601 600 289 \n3 290 602 604 \n3 602 124 603 \n3 604 603 291 \n3 292 605 607 \n3 605 293 606 \n3 607 606 122 \n3 123 608 610 \n3 608 294 609 \n3 610 609 295 \n3 296 611 613 \n3 611 127 612 \n3 613 612 297 \n3 298 614 616 \n3 614 299 615 \n3 616 615 125 \n3 126 617 619 \n3 617 300 618 \n3 619 618 301 \n3 302 620 622 \n3 620 130 621 \n3 622 621 303 \n3 304 623 625 \n3 623 305 624 \n3 625 624 128 \n3 129 626 628 \n3 626 306 627 \n3 628 627 307 \n3 308 629 631 \n3 629 133 630 \n3 631 630 309 \n3 310 632 634 \n3 632 311 633 \n3 634 633 131 \n3 132 635 637 \n3 635 312 636 \n3 637 636 313 \n3 314 638 640 \n3 638 136 639 \n3 640 639 315 \n3 316 641 643 \n3 641 243 642 \n3 643 642 134 \n3 135 644 646 \n3 644 247 645 \n3 646 645 317 \n3 318 647 649 \n3 647 139 648 \n3 649 648 242 \n3 319 650 652 \n3 650 320 651 \n3 652 651 137 \n3 138 653 655 \n3 653 321 654 \n3 655 654 244 \n3 246 656 658 \n3 656 142 657 \n3 658 657 322 \n3 245 659 661 \n3 659 323 660 \n3 661 660 140 \n3 141 662 664 \n3 662 324 663 \n3 664 663 325 \n3 326 665 667 \n3 665 145 666 \n3 667 666 327 \n3 328 668 670 \n3 668 249 669 \n3 670 669 143 \n3 144 671 673 \n3 671 253 672 \n3 673 672 329 \n3 330 674 676 \n3 674 148 675 \n3 676 675 248 \n3 331 677 679 \n3 677 324 678 \n3 679 678 146 \n3 147 680 682 \n3 680 323 681 \n3 682 681 250 \n3 252 683 685 \n3 683 151 684 \n3 685 684 332 \n3 251 686 688 \n3 686 321 687 \n3 688 687 149 \n3 150 689 691 \n3 689 320 690 \n3 691 690 333 \n3 1634 692 694 \n3 692 154 693 \n3 694 693 334 \n3 1635 695 697 \n3 695 255 696 \n3 697 696 152 \n3 153 698 700 \n3 698 259 699 \n3 700 699 335 \n3 1636 701 703 \n3 701 157 702 \n3 703 702 254 \n3 1637 704 706 \n3 704 336 705 \n3 706 705 155 \n3 156 707 709 \n3 707 337 708 \n3 709 708 256 \n3 258 710 712 \n3 710 160 711 \n3 712 711 338 \n3 257 713 715 \n3 713 339 714 \n3 715 714 158 \n3 159 716 718 \n3 716 340 717 \n3 718 717 341 \n3 342 719 721 \n3 719 163 720 \n3 721 720 343 \n3 344 722 724 \n3 722 261 723 \n3 724 723 161 \n3 162 725 727 \n3 725 265 726 \n3 727 726 345 \n3 346 728 730 \n3 728 166 729 \n3 730 729 260 \n3 347 731 733 \n3 731 340 732 \n3 733 732 164 \n3 165 734 736 \n3 734 339 735 \n3 736 735 262 \n3 264 737 739 \n3 737 169 738 \n3 739 738 348 \n3 263 740 742 \n3 740 337 741 \n3 742 741 167 \n3 168 743 745 \n3 743 336 744 \n3 745 744 349 \n3 1638 746 748 \n3 746 172 747 \n3 748 747 1639 \n3 1640 749 751 \n3 749 267 750 \n3 751 750 170 \n3 171 752 754 \n3 752 271 753 \n3 754 753 1641 \n3 1642 755 757 \n3 755 175 756 \n3 757 756 266 \n3 1643 758 760 \n3 758 350 759 \n3 760 759 173 \n3 174 761 763 \n3 761 351 762 \n3 763 762 268 \n3 270 764 766 \n3 764 178 765 \n3 766 765 1644 \n3 269 767 769 \n3 767 352 768 \n3 769 768 176 \n3 177 770 772 \n3 770 353 771 \n3 772 771 1645 \n3 354 773 775 \n3 773 181 774 \n3 775 774 355 \n3 356 776 778 \n3 776 273 777 \n3 778 777 179 \n3 180 779 781 \n3 779 277 780 \n3 781 780 357 \n3 358 782 784 \n3 782 184 783 \n3 784 783 272 \n3 359 785 787 \n3 785 353 786 \n3 787 786 182 \n3 183 788 790 \n3 788 352 789 \n3 790 789 274 \n3 276 791 793 \n3 791 187 792 \n3 793 792 360 \n3 275 794 796 \n3 794 351 795 \n3 796 795 185 \n3 186 797 799 \n3 797 350 798 \n3 799 798 361 \n3 362 800 802 \n3 800 190 801 \n3 802 801 363 \n3 364 803 805 \n3 803 279 804 \n3 805 804 188 \n3 189 806 808 \n3 806 283 807 \n3 808 807 365 \n3 366 809 811 \n3 809 193 810 \n3 811 810 278 \n3 367 812 814 \n3 812 368 813 \n3 814 813 191 \n3 192 815 817 \n3 815 369 816 \n3 817 816 280 \n3 282 818 820 \n3 818 196 819 \n3 820 819 370 \n3 281 821 823 \n3 821 371 822 \n3 823 822 194 \n3 195 824 826 \n3 824 372 825 \n3 826 825 373 \n3 1646 827 829 \n3 827 199 828 \n3 829 828 1647 \n3 1648 830 832 \n3 830 285 831 \n3 832 831 197 \n3 198 833 835 \n3 833 289 834 \n3 835 834 1649 \n3 1650 836 838 \n3 836 202 837 \n3 838 837 284 \n3 1651 839 841 \n3 839 372 840 \n3 841 840 200 \n3 201 842 844 \n3 842 371 843 \n3 844 843 286 \n3 288 845 847 \n3 845 205 846 \n3 847 846 1652 \n3 287 848 850 \n3 848 369 849 \n3 850 849 203 \n3 204 851 853 \n3 851 368 852 \n3 853 852 1653 \n3 1654 854 856 \n3 854 208 855 \n3 856 855 374 \n3 1655 857 859 \n3 857 291 858 \n3 859 858 206 \n3 207 860 862 \n3 860 295 861 \n3 862 861 375 \n3 1656 863 865 \n3 863 211 864 \n3 865 864 290 \n3 1657 866 868 \n3 866 376 867 \n3 868 867 209 \n3 210 869 871 \n3 869 377 870 \n3 871 870 292 \n3 294 872 874 \n3 872 214 873 \n3 874 873 378 \n3 293 875 877 \n3 875 379 876 \n3 877 876 212 \n3 213 878 880 \n3 878 380 879 \n3 880 879 381 \n3 1658 881 883 \n3 881 217 882 \n3 883 882 1659 \n3 1660 884 886 \n3 884 297 885 \n3 886 885 215 \n3 216 887 889 \n3 887 301 888 \n3 889 888 1661 \n3 1662 890 892 \n3 890 220 891 \n3 892 891 296 \n3 1663 893 895 \n3 893 380 894 \n3 895 894 218 \n3 219 896 898 \n3 896 379 897 \n3 898 897 298 \n3 300 899 901 \n3 899 223 900 \n3 901 900 1664 \n3 299 902 904 \n3 902 377 903 \n3 904 903 221 \n3 222 905 907 \n3 905 376 906 \n3 907 906 1665 \n3 1666 908 910 \n3 908 226 909 \n3 910 909 1667 \n3 1668 911 913 \n3 911 303 912 \n3 913 912 224 \n3 225 914 916 \n3 914 307 915 \n3 916 915 1669 \n3 1670 917 919 \n3 917 229 918 \n3 919 918 302 \n3 1671 920 922 \n3 920 382 921 \n3 922 921 227 \n3 228 923 925 \n3 923 383 924 \n3 925 924 304 \n3 306 926 928 \n3 926 232 927 \n3 928 927 1672 \n3 305 929 931 \n3 929 384 930 \n3 931 930 230 \n3 231 932 934 \n3 932 385 933 \n3 934 933 1673 \n3 1674 935 937 \n3 935 235 936 \n3 937 936 1675 \n3 1676 938 940 \n3 938 309 939 \n3 940 939 233 \n3 234 941 943 \n3 941 313 942 \n3 943 942 1677 \n3 1678 944 946 \n3 944 238 945 \n3 946 945 308 \n3 1679 947 949 \n3 947 385 948 \n3 949 948 236 \n3 237 950 952 \n3 950 384 951 \n3 952 951 310 \n3 312 953 955 \n3 953 241 954 \n3 955 954 1680 \n3 311 956 958 \n3 956 383 957 \n3 958 957 239 \n3 240 959 961 \n3 959 382 960 \n3 961 960 1681 \n3 26 962 963 \n3 962 98 388 \n3 963 388 100 \n3 98 964 386 \n3 964 27 965 \n3 386 965 99 \n3 100 387 967 \n3 387 99 966 \n3 967 966 28 \n3 29 968 969 \n3 968 101 391 \n3 969 391 103 \n3 101 970 389 \n3 970 30 971 \n3 389 971 102 \n3 103 390 973 \n3 390 102 972 \n3 973 972 31 \n3 32 974 975 \n3 974 104 394 \n3 975 394 106 \n3 104 976 392 \n3 976 33 977 \n3 392 977 105 \n3 106 393 979 \n3 393 105 978 \n3 979 978 34 \n3 35 980 981 \n3 980 107 397 \n3 981 397 109 \n3 107 982 395 \n3 982 36 983 \n3 395 983 108 \n3 109 396 985 \n3 396 108 984 \n3 985 984 37 \n3 38 986 987 \n3 986 110 400 \n3 987 400 112 \n3 110 988 398 \n3 988 39 989 \n3 398 989 111 \n3 112 399 991 \n3 399 111 990 \n3 991 990 40 \n3 41 992 993 \n3 992 113 403 \n3 993 403 115 \n3 113 994 401 \n3 994 42 995 \n3 401 995 114 \n3 115 402 997 \n3 402 114 996 \n3 997 996 43 \n3 44 998 999 \n3 998 116 406 \n3 999 406 118 \n3 116 1000 404 \n3 1000 45 1001 \n3 404 1001 117 \n3 118 405 1003 \n3 405 117 1002 \n3 1003 1002 46 \n3 47 1004 1005 \n3 1004 119 409 \n3 1005 409 121 \n3 119 1006 407 \n3 1006 48 1007 \n3 407 1007 120 \n3 121 408 1009 \n3 408 120 1008 \n3 1009 1008 49 \n3 50 1010 1011 \n3 1010 122 412 \n3 1011 412 124 \n3 122 1012 410 \n3 1012 51 1013 \n3 410 1013 123 \n3 124 411 1015 \n3 411 123 1014 \n3 1015 1014 52 \n3 53 1016 1017 \n3 1016 125 415 \n3 1017 415 127 \n3 125 1018 413 \n3 1018 54 1019 \n3 413 1019 126 \n3 127 414 1021 \n3 414 126 1020 \n3 1021 1020 55 \n3 56 1022 1023 \n3 1022 128 418 \n3 1023 418 130 \n3 128 1024 416 \n3 1024 57 1025 \n3 416 1025 129 \n3 130 417 1027 \n3 417 129 1026 \n3 1027 1026 58 \n3 59 1028 1029 \n3 1028 131 421 \n3 1029 421 133 \n3 131 1030 419 \n3 1030 60 1031 \n3 419 1031 132 \n3 133 420 1033 \n3 420 132 1032 \n3 1033 1032 61 \n3 62 1034 1035 \n3 1034 134 424 \n3 1035 424 136 \n3 134 1036 422 \n3 1036 28 1037 \n3 422 1037 135 \n3 136 423 1039 \n3 423 135 1038 \n3 1039 1038 63 \n3 64 1040 1041 \n3 1040 137 427 \n3 1041 427 139 \n3 137 1042 425 \n3 1042 65 1043 \n3 425 1043 138 \n3 139 426 1045 \n3 426 138 1044 \n3 1045 1044 26 \n3 27 1046 1047 \n3 1046 140 430 \n3 1047 430 142 \n3 140 1048 428 \n3 1048 66 1049 \n3 428 1049 141 \n3 142 429 1051 \n3 429 141 1050 \n3 1051 1050 67 \n3 68 1052 1053 \n3 1052 143 433 \n3 1053 433 145 \n3 143 1054 431 \n3 1054 31 1055 \n3 431 1055 144 \n3 145 432 1057 \n3 432 144 1056 \n3 1057 1056 69 \n3 70 1058 1059 \n3 1058 146 436 \n3 1059 436 148 \n3 146 1060 434 \n3 1060 66 1061 \n3 434 1061 147 \n3 148 435 1063 \n3 435 147 1062 \n3 1063 1062 29 \n3 30 1064 1065 \n3 1064 149 439 \n3 1065 439 151 \n3 149 1066 437 \n3 1066 65 1067 \n3 437 1067 150 \n3 151 438 1069 \n3 438 150 1068 \n3 1069 1068 71 \n3 1682 1070 1071 \n3 1070 152 442 \n3 1071 442 154 \n3 152 1072 440 \n3 1072 34 1073 \n3 440 1073 153 \n3 154 441 1075 \n3 441 153 1074 \n3 1075 1074 72 \n3 1683 1076 1077 \n3 1076 155 445 \n3 1077 445 157 \n3 155 1078 443 \n3 1078 73 1079 \n3 443 1079 156 \n3 157 444 1081 \n3 444 156 1080 \n3 1081 1080 32 \n3 33 1082 1083 \n3 1082 158 448 \n3 1083 448 160 \n3 158 1084 446 \n3 1084 74 1085 \n3 446 1085 159 \n3 160 447 1087 \n3 447 159 1086 \n3 1087 1086 75 \n3 76 1088 1089 \n3 1088 161 451 \n3 1089 451 163 \n3 161 1090 449 \n3 1090 37 1091 \n3 449 1091 162 \n3 163 450 1093 \n3 450 162 1092 \n3 1093 1092 77 \n3 78 1094 1095 \n3 1094 164 454 \n3 1095 454 166 \n3 164 1096 452 \n3 1096 74 1097 \n3 452 1097 165 \n3 166 453 1099 \n3 453 165 1098 \n3 1099 1098 35 \n3 36 1100 1101 \n3 1100 167 457 \n3 1101 457 169 \n3 167 1102 455 \n3 1102 73 1103 \n3 455 1103 168 \n3 169 456 1105 \n3 456 168 1104 \n3 1105 1104 79 \n3 1684 1106 1107 \n3 1106 170 460 \n3 1107 460 172 \n3 170 1108 458 \n3 1108 40 1109 \n3 458 1109 171 \n3 172 459 1111 \n3 459 171 1110 \n3 1111 1110 1685 \n3 1686 1112 1113 \n3 1112 173 463 \n3 1113 463 175 \n3 173 1114 461 \n3 1114 80 1115 \n3 461 1115 174 \n3 175 462 1117 \n3 462 174 1116 \n3 1117 1116 38 \n3 39 1118 1119 \n3 1118 176 466 \n3 1119 466 178 \n3 176 1120 464 \n3 1120 81 1121 \n3 464 1121 177 \n3 178 465 1123 \n3 465 177 1122 \n3 1123 1122 1687 \n3 82 1124 1125 \n3 1124 179 469 \n3 1125 469 181 \n3 179 1126 467 \n3 1126 43 1127 \n3 467 1127 180 \n3 181 468 1129 \n3 468 180 1128 \n3 1129 1128 83 \n3 84 1130 1131 \n3 1130 182 472 \n3 1131 472 184 \n3 182 1132 470 \n3 1132 81 1133 \n3 470 1133 183 \n3 184 471 1135 \n3 471 183 1134 \n3 1135 1134 41 \n3 42 1136 1137 \n3 1136 185 475 \n3 1137 475 187 \n3 185 1138 473 \n3 1138 80 1139 \n3 473 1139 186 \n3 187 474 1141 \n3 474 186 1140 \n3 1141 1140 85 \n3 86 1142 1143 \n3 1142 188 478 \n3 1143 478 190 \n3 188 1144 476 \n3 1144 46 1145 \n3 476 1145 189 \n3 190 477 1147 \n3 477 189 1146 \n3 1147 1146 87 \n3 88 1148 1149 \n3 1148 191 481 \n3 1149 481 193 \n3 191 1150 479 \n3 1150 89 1151 \n3 479 1151 192 \n3 193 480 1153 \n3 480 192 1152 \n3 1153 1152 44 \n3 45 1154 1155 \n3 1154 194 484 \n3 1155 484 196 \n3 194 1156 482 \n3 1156 90 1157 \n3 482 1157 195 \n3 196 483 1159 \n3 483 195 1158 \n3 1159 1158 91 \n3 1688 1160 1161 \n3 1160 197 487 \n3 1161 487 199 \n3 197 1162 485 \n3 1162 49 1163 \n3 485 1163 198 \n3 199 486 1165 \n3 486 198 1164 \n3 1165 1164 1689 \n3 1690 1166 1167 \n3 1166 200 490 \n3 1167 490 202 \n3 200 1168 488 \n3 1168 90 1169 \n3 488 1169 201 \n3 202 489 1171 \n3 489 201 1170 \n3 1171 1170 47 \n3 48 1172 1173 \n3 1172 203 493 \n3 1173 493 205 \n3 203 1174 491 \n3 1174 89 1175 \n3 491 1175 204 \n3 205 492 1177 \n3 492 204 1176 \n3 1177 1176 1691 \n3 1692 1178 1179 \n3 1178 206 496 \n3 1179 496 208 \n3 206 1180 494 \n3 1180 52 1181 \n3 494 1181 207 \n3 208 495 1183 \n3 495 207 1182 \n3 1183 1182 92 \n3 1693 1184 1185 \n3 1184 209 499 \n3 1185 499 211 \n3 209 1186 497 \n3 1186 93 1187 \n3 497 1187 210 \n3 211 498 1189 \n3 498 210 1188 \n3 1189 1188 50 \n3 51 1190 1191 \n3 1190 212 502 \n3 1191 502 214 \n3 212 1192 500 \n3 1192 94 1193 \n3 500 1193 213 \n3 214 501 1195 \n3 501 213 1194 \n3 1195 1194 95 \n3 1694 1196 1197 \n3 1196 215 505 \n3 1197 505 217 \n3 215 1198 503 \n3 1198 55 1199 \n3 503 1199 216 \n3 217 504 1201 \n3 504 216 1200 \n3 1201 1200 1695 \n3 1696 1202 1203 \n3 1202 218 508 \n3 1203 508 220 \n3 218 1204 506 \n3 1204 94 1205 \n3 506 1205 219 \n3 220 507 1207 \n3 507 219 1206 \n3 1207 1206 53 \n3 54 1208 1209 \n3 1208 221 511 \n3 1209 511 223 \n3 221 1210 509 \n3 1210 93 1211 \n3 509 1211 222 \n3 223 510 1213 \n3 510 222 1212 \n3 1213 1212 1697 \n3 1698 1214 1215 \n3 1214 224 514 \n3 1215 514 226 \n3 224 1216 512 \n3 1216 58 1217 \n3 512 1217 225 \n3 226 513 1219 \n3 513 225 1218 \n3 1219 1218 1699 \n3 1700 1220 1221 \n3 1220 227 517 \n3 1221 517 229 \n3 227 1222 515 \n3 1222 96 1223 \n3 515 1223 228 \n3 229 516 1225 \n3 516 228 1224 \n3 1225 1224 56 \n3 57 1226 1227 \n3 1226 230 520 \n3 1227 520 232 \n3 230 1228 518 \n3 1228 97 1229 \n3 518 1229 231 \n3 232 519 1231 \n3 519 231 1230 \n3 1231 1230 1701 \n3 1702 1232 1233 \n3 1232 233 523 \n3 1233 523 235 \n3 233 1234 521 \n3 1234 61 1235 \n3 521 1235 234 \n3 235 522 1237 \n3 522 234 1236 \n3 1237 1236 1703 \n3 1704 1238 1239 \n3 1238 236 526 \n3 1239 526 238 \n3 236 1240 524 \n3 1240 97 1241 \n3 524 1241 237 \n3 238 525 1243 \n3 525 237 1242 \n3 1243 1242 59 \n3 60 1244 1245 \n3 1244 239 529 \n3 1245 529 241 \n3 239 1246 527 \n3 1246 96 1247 \n3 527 1247 240 \n3 241 528 1249 \n3 528 240 1248 \n3 1249 1248 1705 \n3 8 1250 1251 \n3 1250 242 532 \n3 1251 532 243 \n3 242 1252 530 \n3 1252 26 963 \n3 530 963 100 \n3 243 531 1253 \n3 531 100 967 \n3 1253 967 28 \n3 26 1254 962 \n3 1254 244 535 \n3 962 535 98 \n3 244 1255 533 \n3 1255 9 1256 \n3 533 1256 245 \n3 98 534 964 \n3 534 245 1257 \n3 964 1257 27 \n3 28 966 1258 \n3 966 99 538 \n3 1258 538 247 \n3 99 965 536 \n3 965 27 1259 \n3 536 1259 246 \n3 247 537 1261 \n3 537 246 1260 \n3 1261 1260 10 \n3 11 1262 1263 \n3 1262 248 541 \n3 1263 541 249 \n3 248 1264 539 \n3 1264 29 969 \n3 539 969 103 \n3 249 540 1265 \n3 540 103 973 \n3 1265 973 31 \n3 29 1266 968 \n3 1266 250 544 \n3 968 544 101 \n3 250 1267 542 \n3 1267 9 1268 \n3 542 1268 251 \n3 101 543 970 \n3 543 251 1269 \n3 970 1269 30 \n3 31 972 1270 \n3 972 102 547 \n3 1270 547 253 \n3 102 971 545 \n3 971 30 1271 \n3 545 1271 252 \n3 253 546 1273 \n3 546 252 1272 \n3 1273 1272 12 \n3 1706 1274 1275 \n3 1274 254 550 \n3 1275 550 255 \n3 254 1276 548 \n3 1276 32 975 \n3 548 975 106 \n3 255 549 1277 \n3 549 106 979 \n3 1277 979 34 \n3 32 1278 974 \n3 1278 256 553 \n3 974 553 104 \n3 256 1279 551 \n3 1279 13 1280 \n3 551 1280 257 \n3 104 552 976 \n3 552 257 1281 \n3 976 1281 33 \n3 34 978 1282 \n3 978 105 556 \n3 1282 556 259 \n3 105 977 554 \n3 977 33 1283 \n3 554 1283 258 \n3 259 555 1285 \n3 555 258 1284 \n3 1285 1284 14 \n3 15 1286 1287 \n3 1286 260 559 \n3 1287 559 261 \n3 260 1288 557 \n3 1288 35 981 \n3 557 981 109 \n3 261 558 1289 \n3 558 109 985 \n3 1289 985 37 \n3 35 1290 980 \n3 1290 262 562 \n3 980 562 107 \n3 262 1291 560 \n3 1291 13 1292 \n3 560 1292 263 \n3 107 561 982 \n3 561 263 1293 \n3 982 1293 36 \n3 37 984 1294 \n3 984 108 565 \n3 1294 565 265 \n3 108 983 563 \n3 983 36 1295 \n3 563 1295 264 \n3 265 564 1297 \n3 564 264 1296 \n3 1297 1296 16 \n3 1707 1298 1299 \n3 1298 266 568 \n3 1299 568 267 \n3 266 1300 566 \n3 1300 38 987 \n3 566 987 112 \n3 267 567 1301 \n3 567 112 991 \n3 1301 991 40 \n3 38 1302 986 \n3 1302 268 571 \n3 986 571 110 \n3 268 1303 569 \n3 1303 17 1304 \n3 569 1304 269 \n3 110 570 988 \n3 570 269 1305 \n3 988 1305 39 \n3 40 990 1306 \n3 990 111 574 \n3 1306 574 271 \n3 111 989 572 \n3 989 39 1307 \n3 572 1307 270 \n3 271 573 1309 \n3 573 270 1308 \n3 1309 1308 1708 \n3 18 1310 1311 \n3 1310 272 577 \n3 1311 577 273 \n3 272 1312 575 \n3 1312 41 993 \n3 575 993 115 \n3 273 576 1313 \n3 576 115 997 \n3 1313 997 43 \n3 41 1314 992 \n3 1314 274 580 \n3 992 580 113 \n3 274 1315 578 \n3 1315 17 1316 \n3 578 1316 275 \n3 113 579 994 \n3 579 275 1317 \n3 994 1317 42 \n3 43 996 1318 \n3 996 114 583 \n3 1318 583 277 \n3 114 995 581 \n3 995 42 1319 \n3 581 1319 276 \n3 277 582 1321 \n3 582 276 1320 \n3 1321 1320 19 \n3 20 1322 1323 \n3 1322 278 586 \n3 1323 586 279 \n3 278 1324 584 \n3 1324 44 999 \n3 584 999 118 \n3 279 585 1325 \n3 585 118 1003 \n3 1325 1003 46 \n3 44 1326 998 \n3 1326 280 589 \n3 998 589 116 \n3 280 1327 587 \n3 1327 21 1328 \n3 587 1328 281 \n3 116 588 1000 \n3 588 281 1329 \n3 1000 1329 45 \n3 46 1002 1330 \n3 1002 117 592 \n3 1330 592 283 \n3 117 1001 590 \n3 1001 45 1331 \n3 590 1331 282 \n3 283 591 1333 \n3 591 282 1332 \n3 1333 1332 22 \n3 1709 1334 1335 \n3 1334 284 595 \n3 1335 595 285 \n3 284 1336 593 \n3 1336 47 1005 \n3 593 1005 121 \n3 285 594 1337 \n3 594 121 1009 \n3 1337 1009 49 \n3 47 1338 1004 \n3 1338 286 598 \n3 1004 598 119 \n3 286 1339 596 \n3 1339 21 1340 \n3 596 1340 287 \n3 119 597 1006 \n3 597 287 1341 \n3 1006 1341 48 \n3 49 1008 1342 \n3 1008 120 601 \n3 1342 601 289 \n3 120 1007 599 \n3 1007 48 1343 \n3 599 1343 288 \n3 289 600 1345 \n3 600 288 1344 \n3 1345 1344 1710 \n3 1711 1346 1347 \n3 1346 290 604 \n3 1347 604 291 \n3 290 1348 602 \n3 1348 50 1011 \n3 602 1011 124 \n3 291 603 1349 \n3 603 124 1015 \n3 1349 1015 52 \n3 50 1350 1010 \n3 1350 292 607 \n3 1010 607 122 \n3 292 1351 605 \n3 1351 23 1352 \n3 605 1352 293 \n3 122 606 1012 \n3 606 293 1353 \n3 1012 1353 51 \n3 52 1014 1354 \n3 1014 123 610 \n3 1354 610 295 \n3 123 1013 608 \n3 1013 51 1355 \n3 608 1355 294 \n3 295 609 1357 \n3 609 294 1356 \n3 1357 1356 24 \n3 1712 1358 1359 \n3 1358 296 613 \n3 1359 613 297 \n3 296 1360 611 \n3 1360 53 1017 \n3 611 1017 127 \n3 297 612 1361 \n3 612 127 1021 \n3 1361 1021 55 \n3 53 1362 1016 \n3 1362 298 616 \n3 1016 616 125 \n3 298 1363 614 \n3 1363 23 1364 \n3 614 1364 299 \n3 125 615 1018 \n3 615 299 1365 \n3 1018 1365 54 \n3 55 1020 1366 \n3 1020 126 619 \n3 1366 619 301 \n3 126 1019 617 \n3 1019 54 1367 \n3 617 1367 300 \n3 301 618 1369 \n3 618 300 1368 \n3 1369 1368 1713 \n3 1714 1370 1371 \n3 1370 302 622 \n3 1371 622 303 \n3 302 1372 620 \n3 1372 56 1023 \n3 620 1023 130 \n3 303 621 1373 \n3 621 130 1027 \n3 1373 1027 58 \n3 56 1374 1022 \n3 1374 304 625 \n3 1022 625 128 \n3 304 1375 623 \n3 1375 25 1376 \n3 623 1376 305 \n3 128 624 1024 \n3 624 305 1377 \n3 1024 1377 57 \n3 58 1026 1378 \n3 1026 129 628 \n3 1378 628 307 \n3 129 1025 626 \n3 1025 57 1379 \n3 626 1379 306 \n3 307 627 1381 \n3 627 306 1380 \n3 1381 1380 1715 \n3 1716 1382 1383 \n3 1382 308 631 \n3 1383 631 309 \n3 308 1384 629 \n3 1384 59 1029 \n3 629 1029 133 \n3 309 630 1385 \n3 630 133 1033 \n3 1385 1033 61 \n3 59 1386 1028 \n3 1386 310 634 \n3 1028 634 131 \n3 310 1387 632 \n3 1387 25 1388 \n3 632 1388 311 \n3 131 633 1030 \n3 633 311 1389 \n3 1030 1389 60 \n3 61 1032 1390 \n3 1032 132 637 \n3 1390 637 313 \n3 132 1031 635 \n3 1031 60 1391 \n3 635 1391 312 \n3 313 636 1393 \n3 636 312 1392 \n3 1393 1392 1717 \n3 0 1394 1395 \n3 1394 314 640 \n3 1395 640 315 \n3 314 1396 638 \n3 1396 62 1035 \n3 638 1035 136 \n3 315 639 1397 \n3 639 136 1039 \n3 1397 1039 63 \n3 62 1398 1034 \n3 1398 316 643 \n3 1034 643 134 \n3 316 1399 641 \n3 1399 8 1251 \n3 641 1251 243 \n3 134 642 1036 \n3 642 243 1253 \n3 1036 1253 28 \n3 63 1038 1400 \n3 1038 135 646 \n3 1400 646 317 \n3 135 1037 644 \n3 1037 28 1258 \n3 644 1258 247 \n3 317 645 1401 \n3 645 247 1261 \n3 1401 1261 10 \n3 8 1402 1250 \n3 1402 318 649 \n3 1250 649 242 \n3 318 1403 647 \n3 1403 64 1041 \n3 647 1041 139 \n3 242 648 1252 \n3 648 139 1045 \n3 1252 1045 26 \n3 64 1404 1040 \n3 1404 319 652 \n3 1040 652 137 \n3 319 1405 650 \n3 1405 1 1406 \n3 650 1406 320 \n3 137 651 1042 \n3 651 320 1407 \n3 1042 1407 65 \n3 26 1044 1254 \n3 1044 138 655 \n3 1254 655 244 \n3 138 1043 653 \n3 1043 65 1408 \n3 653 1408 321 \n3 244 654 1255 \n3 654 321 1409 \n3 1255 1409 9 \n3 10 1260 1410 \n3 1260 246 658 \n3 1410 658 322 \n3 246 1259 656 \n3 1259 27 1047 \n3 656 1047 142 \n3 322 657 1411 \n3 657 142 1051 \n3 1411 1051 67 \n3 27 1257 1046 \n3 1257 245 661 \n3 1046 661 140 \n3 245 1256 659 \n3 1256 9 1412 \n3 659 1412 323 \n3 140 660 1048 \n3 660 323 1413 \n3 1048 1413 66 \n3 67 1050 1414 \n3 1050 141 664 \n3 1414 664 325 \n3 141 1049 662 \n3 1049 66 1415 \n3 662 1415 324 \n3 325 663 1417 \n3 663 324 1416 \n3 1417 1416 2 \n3 3 1418 1419 \n3 1418 326 667 \n3 1419 667 327 \n3 326 1420 665 \n3 1420 68 1053 \n3 665 1053 145 \n3 327 666 1421 \n3 666 145 1057 \n3 1421 1057 69 \n3 68 1422 1052 \n3 1422 328 670 \n3 1052 670 143 \n3 328 1423 668 \n3 1423 11 1263 \n3 668 1263 249 \n3 143 669 1054 \n3 669 249 1265 \n3 1054 1265 31 \n3 69 1056 1424 \n3 1056 144 673 \n3 1424 673 329 \n3 144 1055 671 \n3 1055 31 1270 \n3 671 1270 253 \n3 329 672 1425 \n3 672 253 1273 \n3 1425 1273 12 \n3 11 1426 1262 \n3 1426 330 676 \n3 1262 676 248 \n3 330 1427 674 \n3 1427 70 1059 \n3 674 1059 148 \n3 248 675 1264 \n3 675 148 1063 \n3 1264 1063 29 \n3 70 1428 1058 \n3 1428 331 679 \n3 1058 679 146 \n3 331 1429 677 \n3 1429 2 1416 \n3 677 1416 324 \n3 146 678 1060 \n3 678 324 1415 \n3 1060 1415 66 \n3 29 1062 1266 \n3 1062 147 682 \n3 1266 682 250 \n3 147 1061 680 \n3 1061 66 1413 \n3 680 1413 323 \n3 250 681 1267 \n3 681 323 1412 \n3 1267 1412 9 \n3 12 1272 1430 \n3 1272 252 685 \n3 1430 685 332 \n3 252 1271 683 \n3 1271 30 1065 \n3 683 1065 151 \n3 332 684 1431 \n3 684 151 1069 \n3 1431 1069 71 \n3 30 1269 1064 \n3 1269 251 688 \n3 1064 688 149 \n3 251 1268 686 \n3 1268 9 1409 \n3 686 1409 321 \n3 149 687 1066 \n3 687 321 1408 \n3 1066 1408 65 \n3 71 1068 1432 \n3 1068 150 691 \n3 1432 691 333 \n3 150 1067 689 \n3 1067 65 1407 \n3 689 1407 320 \n3 333 690 1433 \n3 690 320 1406 \n3 1433 1406 1 \n3 1718 1538 1434 \n3 1538 1634 694 \n3 1434 694 334 \n3 1634 1539 692 \n3 1539 1682 1071 \n3 692 1071 154 \n3 334 693 1435 \n3 693 154 1075 \n3 1435 1075 72 \n3 1682 1540 1070 \n3 1540 1635 697 \n3 1070 697 152 \n3 1635 1541 695 \n3 1541 1706 1275 \n3 695 1275 255 \n3 152 696 1072 \n3 696 255 1277 \n3 1072 1277 34 \n3 72 1074 1436 \n3 1074 153 700 \n3 1436 700 335 \n3 153 1073 698 \n3 1073 34 1282 \n3 698 1282 259 \n3 335 699 1437 \n3 699 259 1285 \n3 1437 1285 14 \n3 1706 1542 1274 \n3 1542 1636 703 \n3 1274 703 254 \n3 1636 1543 701 \n3 1543 1683 1077 \n3 701 1077 157 \n3 254 702 1276 \n3 702 157 1081 \n3 1276 1081 32 \n3 1683 1544 1076 \n3 1544 1637 706 \n3 1076 706 155 \n3 1637 1545 704 \n3 1545 1719 1438 \n3 704 1438 336 \n3 155 705 1078 \n3 705 336 1439 \n3 1078 1439 73 \n3 32 1080 1278 \n3 1080 156 709 \n3 1278 709 256 \n3 156 1079 707 \n3 1079 73 1440 \n3 707 1440 337 \n3 256 708 1279 \n3 708 337 1441 \n3 1279 1441 13 \n3 14 1284 1442 \n3 1284 258 712 \n3 1442 712 338 \n3 258 1283 710 \n3 1283 33 1083 \n3 710 1083 160 \n3 338 711 1443 \n3 711 160 1087 \n3 1443 1087 75 \n3 33 1281 1082 \n3 1281 257 715 \n3 1082 715 158 \n3 257 1280 713 \n3 1280 13 1444 \n3 713 1444 339 \n3 158 714 1084 \n3 714 339 1445 \n3 1084 1445 74 \n3 75 1086 1446 \n3 1086 159 718 \n3 1446 718 341 \n3 159 1085 716 \n3 1085 74 1447 \n3 716 1447 340 \n3 341 717 1449 \n3 717 340 1448 \n3 1449 1448 4 \n3 6 1450 1451 \n3 1450 342 721 \n3 1451 721 343 \n3 342 1452 719 \n3 1452 76 1089 \n3 719 1089 163 \n3 343 720 1453 \n3 720 163 1093 \n3 1453 1093 77 \n3 76 1454 1088 \n3 1454 344 724 \n3 1088 724 161 \n3 344 1455 722 \n3 1455 15 1287 \n3 722 1287 261 \n3 161 723 1090 \n3 723 261 1289 \n3 1090 1289 37 \n3 77 1092 1456 \n3 1092 162 727 \n3 1456 727 345 \n3 162 1091 725 \n3 1091 37 1294 \n3 725 1294 265 \n3 345 726 1457 \n3 726 265 1297 \n3 1457 1297 16 \n3 15 1458 1286 \n3 1458 346 730 \n3 1286 730 260 \n3 346 1459 728 \n3 1459 78 1095 \n3 728 1095 166 \n3 260 729 1288 \n3 729 166 1099 \n3 1288 1099 35 \n3 78 1460 1094 \n3 1460 347 733 \n3 1094 733 164 \n3 347 1461 731 \n3 1461 4 1448 \n3 731 1448 340 \n3 164 732 1096 \n3 732 340 1447 \n3 1096 1447 74 \n3 35 1098 1290 \n3 1098 165 736 \n3 1290 736 262 \n3 165 1097 734 \n3 1097 74 1445 \n3 734 1445 339 \n3 262 735 1291 \n3 735 339 1444 \n3 1291 1444 13 \n3 16 1296 1462 \n3 1296 264 739 \n3 1462 739 348 \n3 264 1295 737 \n3 1295 36 1101 \n3 737 1101 169 \n3 348 738 1463 \n3 738 169 1105 \n3 1463 1105 79 \n3 36 1293 1100 \n3 1293 263 742 \n3 1100 742 167 \n3 263 1292 740 \n3 1292 13 1441 \n3 740 1441 337 \n3 167 741 1102 \n3 741 337 1440 \n3 1102 1440 73 \n3 79 1104 1464 \n3 1104 168 745 \n3 1464 745 349 \n3 168 1103 743 \n3 1103 73 1439 \n3 743 1439 336 \n3 349 744 1465 \n3 744 336 1438 \n3 1465 1438 1719 \n3 1720 1546 1547 \n3 1546 1638 748 \n3 1547 748 1639 \n3 1638 1548 746 \n3 1548 1684 1107 \n3 746 1107 172 \n3 1639 747 1549 \n3 747 172 1111 \n3 1549 1111 1685 \n3 1684 1550 1106 \n3 1550 1640 751 \n3 1106 751 170 \n3 1640 1551 749 \n3 1551 1707 1299 \n3 749 1299 267 \n3 170 750 1108 \n3 750 267 1301 \n3 1108 1301 40 \n3 1685 1110 1552 \n3 1110 171 754 \n3 1552 754 1641 \n3 171 1109 752 \n3 1109 40 1306 \n3 752 1306 271 \n3 1641 753 1553 \n3 753 271 1309 \n3 1553 1309 1708 \n3 1707 1554 1298 \n3 1554 1642 757 \n3 1298 757 266 \n3 1642 1555 755 \n3 1555 1686 1113 \n3 755 1113 175 \n3 266 756 1300 \n3 756 175 1117 \n3 1300 1117 38 \n3 1686 1556 1112 \n3 1556 1643 760 \n3 1112 760 173 \n3 1643 1557 758 \n3 1557 1721 1466 \n3 758 1466 350 \n3 173 759 1114 \n3 759 350 1467 \n3 1114 1467 80 \n3 38 1116 1302 \n3 1116 174 763 \n3 1302 763 268 \n3 174 1115 761 \n3 1115 80 1468 \n3 761 1468 351 \n3 268 762 1303 \n3 762 351 1469 \n3 1303 1469 17 \n3 1708 1308 1558 \n3 1308 270 766 \n3 1558 766 1644 \n3 270 1307 764 \n3 1307 39 1119 \n3 764 1119 178 \n3 1644 765 1559 \n3 765 178 1123 \n3 1559 1123 1687 \n3 39 1305 1118 \n3 1305 269 769 \n3 1118 769 176 \n3 269 1304 767 \n3 1304 17 1470 \n3 767 1470 352 \n3 176 768 1120 \n3 768 352 1471 \n3 1120 1471 81 \n3 1687 1122 1560 \n3 1122 177 772 \n3 1560 772 1645 \n3 177 1121 770 \n3 1121 81 1472 \n3 770 1472 353 \n3 1645 771 1561 \n3 771 353 1473 \n3 1561 1473 1722 \n3 5 1474 1475 \n3 1474 354 775 \n3 1475 775 355 \n3 354 1476 773 \n3 1476 82 1125 \n3 773 1125 181 \n3 355 774 1477 \n3 774 181 1129 \n3 1477 1129 83 \n3 82 1478 1124 \n3 1478 356 778 \n3 1124 778 179 \n3 356 1479 776 \n3 1479 18 1311 \n3 776 1311 273 \n3 179 777 1126 \n3 777 273 1313 \n3 1126 1313 43 \n3 83 1128 1480 \n3 1128 180 781 \n3 1480 781 357 \n3 180 1127 779 \n3 1127 43 1318 \n3 779 1318 277 \n3 357 780 1481 \n3 780 277 1321 \n3 1481 1321 19 \n3 18 1482 1310 \n3 1482 358 784 \n3 1310 784 272 \n3 358 1483 782 \n3 1483 84 1131 \n3 782 1131 184 \n3 272 783 1312 \n3 783 184 1135 \n3 1312 1135 41 \n3 84 1484 1130 \n3 1484 359 787 \n3 1130 787 182 \n3 359 1485 785 \n3 1485 1722 1473 \n3 785 1473 353 \n3 182 786 1132 \n3 786 353 1472 \n3 1132 1472 81 \n3 41 1134 1314 \n3 1134 183 790 \n3 1314 790 274 \n3 183 1133 788 \n3 1133 81 1471 \n3 788 1471 352 \n3 274 789 1315 \n3 789 352 1470 \n3 1315 1470 17 \n3 19 1320 1486 \n3 1320 276 793 \n3 1486 793 360 \n3 276 1319 791 \n3 1319 42 1137 \n3 791 1137 187 \n3 360 792 1487 \n3 792 187 1141 \n3 1487 1141 85 \n3 42 1317 1136 \n3 1317 275 796 \n3 1136 796 185 \n3 275 1316 794 \n3 1316 17 1469 \n3 794 1469 351 \n3 185 795 1138 \n3 795 351 1468 \n3 1138 1468 80 \n3 85 1140 1488 \n3 1140 186 799 \n3 1488 799 361 \n3 186 1139 797 \n3 1139 80 1467 \n3 797 1467 350 \n3 361 798 1489 \n3 798 350 1466 \n3 1489 1466 1721 \n3 7 1490 1491 \n3 1490 362 802 \n3 1491 802 363 \n3 362 1492 800 \n3 1492 86 1143 \n3 800 1143 190 \n3 363 801 1493 \n3 801 190 1147 \n3 1493 1147 87 \n3 86 1494 1142 \n3 1494 364 805 \n3 1142 805 188 \n3 364 1495 803 \n3 1495 20 1323 \n3 803 1323 279 \n3 188 804 1144 \n3 804 279 1325 \n3 1144 1325 46 \n3 87 1146 1496 \n3 1146 189 808 \n3 1496 808 365 \n3 189 1145 806 \n3 1145 46 1330 \n3 806 1330 283 \n3 365 807 1497 \n3 807 283 1333 \n3 1497 1333 22 \n3 20 1498 1322 \n3 1498 366 811 \n3 1322 811 278 \n3 366 1499 809 \n3 1499 88 1149 \n3 809 1149 193 \n3 278 810 1324 \n3 810 193 1153 \n3 1324 1153 44 \n3 88 1500 1148 \n3 1500 367 814 \n3 1148 814 191 \n3 367 1501 812 \n3 1501 1723 1502 \n3 812 1502 368 \n3 191 813 1150 \n3 813 368 1503 \n3 1150 1503 89 \n3 44 1152 1326 \n3 1152 192 817 \n3 1326 817 280 \n3 192 1151 815 \n3 1151 89 1504 \n3 815 1504 369 \n3 280 816 1327 \n3 816 369 1505 \n3 1327 1505 21 \n3 22 1332 1506 \n3 1332 282 820 \n3 1506 820 370 \n3 282 1331 818 \n3 1331 45 1155 \n3 818 1155 196 \n3 370 819 1507 \n3 819 196 1159 \n3 1507 1159 91 \n3 45 1329 1154 \n3 1329 281 823 \n3 1154 823 194 \n3 281 1328 821 \n3 1328 21 1508 \n3 821 1508 371 \n3 194 822 1156 \n3 822 371 1509 \n3 1156 1509 90 \n3 91 1158 1510 \n3 1158 195 826 \n3 1510 826 373 \n3 195 1157 824 \n3 1157 90 1511 \n3 824 1511 372 \n3 373 825 1513 \n3 825 372 1512 \n3 1513 1512 1724 \n3 1725 1562 1563 \n3 1562 1646 829 \n3 1563 829 1647 \n3 1646 1564 827 \n3 1564 1688 1161 \n3 827 1161 199 \n3 1647 828 1565 \n3 828 199 1165 \n3 1565 1165 1689 \n3 1688 1566 1160 \n3 1566 1648 832 \n3 1160 832 197 \n3 1648 1567 830 \n3 1567 1709 1335 \n3 830 1335 285 \n3 197 831 1162 \n3 831 285 1337 \n3 1162 1337 49 \n3 1689 1164 1568 \n3 1164 198 835 \n3 1568 835 1649 \n3 198 1163 833 \n3 1163 49 1342 \n3 833 1342 289 \n3 1649 834 1569 \n3 834 289 1345 \n3 1569 1345 1710 \n3 1709 1570 1334 \n3 1570 1650 838 \n3 1334 838 284 \n3 1650 1571 836 \n3 1571 1690 1167 \n3 836 1167 202 \n3 284 837 1336 \n3 837 202 1171 \n3 1336 1171 47 \n3 1690 1572 1166 \n3 1572 1651 841 \n3 1166 841 200 \n3 1651 1573 839 \n3 1573 1724 1512 \n3 839 1512 372 \n3 200 840 1168 \n3 840 372 1511 \n3 1168 1511 90 \n3 47 1170 1338 \n3 1170 201 844 \n3 1338 844 286 \n3 201 1169 842 \n3 1169 90 1509 \n3 842 1509 371 \n3 286 843 1339 \n3 843 371 1508 \n3 1339 1508 21 \n3 1710 1344 1574 \n3 1344 288 847 \n3 1574 847 1652 \n3 288 1343 845 \n3 1343 48 1173 \n3 845 1173 205 \n3 1652 846 1575 \n3 846 205 1177 \n3 1575 1177 1691 \n3 48 1341 1172 \n3 1341 287 850 \n3 1172 850 203 \n3 287 1340 848 \n3 1340 21 1505 \n3 848 1505 369 \n3 203 849 1174 \n3 849 369 1504 \n3 1174 1504 89 \n3 1691 1176 1576 \n3 1176 204 853 \n3 1576 853 1653 \n3 204 1175 851 \n3 1175 89 1503 \n3 851 1503 368 \n3 1653 852 1577 \n3 852 368 1502 \n3 1577 1502 1723 \n3 1726 1578 1514 \n3 1578 1654 856 \n3 1514 856 374 \n3 1654 1579 854 \n3 1579 1692 1179 \n3 854 1179 208 \n3 374 855 1515 \n3 855 208 1183 \n3 1515 1183 92 \n3 1692 1580 1178 \n3 1580 1655 859 \n3 1178 859 206 \n3 1655 1581 857 \n3 1581 1711 1347 \n3 857 1347 291 \n3 206 858 1180 \n3 858 291 1349 \n3 1180 1349 52 \n3 92 1182 1516 \n3 1182 207 862 \n3 1516 862 375 \n3 207 1181 860 \n3 1181 52 1354 \n3 860 1354 295 \n3 375 861 1517 \n3 861 295 1357 \n3 1517 1357 24 \n3 1711 1582 1346 \n3 1582 1656 865 \n3 1346 865 290 \n3 1656 1583 863 \n3 1583 1693 1185 \n3 863 1185 211 \n3 290 864 1348 \n3 864 211 1189 \n3 1348 1189 50 \n3 1693 1584 1184 \n3 1584 1657 868 \n3 1184 868 209 \n3 1657 1585 866 \n3 1585 1727 1518 \n3 866 1518 376 \n3 209 867 1186 \n3 867 376 1519 \n3 1186 1519 93 \n3 50 1188 1350 \n3 1188 210 871 \n3 1350 871 292 \n3 210 1187 869 \n3 1187 93 1520 \n3 869 1520 377 \n3 292 870 1351 \n3 870 377 1521 \n3 1351 1521 23 \n3 24 1356 1522 \n3 1356 294 874 \n3 1522 874 378 \n3 294 1355 872 \n3 1355 51 1191 \n3 872 1191 214 \n3 378 873 1523 \n3 873 214 1195 \n3 1523 1195 95 \n3 51 1353 1190 \n3 1353 293 877 \n3 1190 877 212 \n3 293 1352 875 \n3 1352 23 1524 \n3 875 1524 379 \n3 212 876 1192 \n3 876 379 1525 \n3 1192 1525 94 \n3 95 1194 1526 \n3 1194 213 880 \n3 1526 880 381 \n3 213 1193 878 \n3 1193 94 1527 \n3 878 1527 380 \n3 381 879 1529 \n3 879 380 1528 \n3 1529 1528 1728 \n3 1729 1586 1587 \n3 1586 1658 883 \n3 1587 883 1659 \n3 1658 1588 881 \n3 1588 1694 1197 \n3 881 1197 217 \n3 1659 882 1589 \n3 882 217 1201 \n3 1589 1201 1695 \n3 1694 1590 1196 \n3 1590 1660 886 \n3 1196 886 215 \n3 1660 1591 884 \n3 1591 1712 1359 \n3 884 1359 297 \n3 215 885 1198 \n3 885 297 1361 \n3 1198 1361 55 \n3 1695 1200 1592 \n3 1200 216 889 \n3 1592 889 1661 \n3 216 1199 887 \n3 1199 55 1366 \n3 887 1366 301 \n3 1661 888 1593 \n3 888 301 1369 \n3 1593 1369 1713 \n3 1712 1594 1358 \n3 1594 1662 892 \n3 1358 892 296 \n3 1662 1595 890 \n3 1595 1696 1203 \n3 890 1203 220 \n3 296 891 1360 \n3 891 220 1207 \n3 1360 1207 53 \n3 1696 1596 1202 \n3 1596 1663 895 \n3 1202 895 218 \n3 1663 1597 893 \n3 1597 1728 1528 \n3 893 1528 380 \n3 218 894 1204 \n3 894 380 1527 \n3 1204 1527 94 \n3 53 1206 1362 \n3 1206 219 898 \n3 1362 898 298 \n3 219 1205 896 \n3 1205 94 1525 \n3 896 1525 379 \n3 298 897 1363 \n3 897 379 1524 \n3 1363 1524 23 \n3 1713 1368 1598 \n3 1368 300 901 \n3 1598 901 1664 \n3 300 1367 899 \n3 1367 54 1209 \n3 899 1209 223 \n3 1664 900 1599 \n3 900 223 1213 \n3 1599 1213 1697 \n3 54 1365 1208 \n3 1365 299 904 \n3 1208 904 221 \n3 299 1364 902 \n3 1364 23 1521 \n3 902 1521 377 \n3 221 903 1210 \n3 903 377 1520 \n3 1210 1520 93 \n3 1697 1212 1600 \n3 1212 222 907 \n3 1600 907 1665 \n3 222 1211 905 \n3 1211 93 1519 \n3 905 1519 376 \n3 1665 906 1601 \n3 906 376 1518 \n3 1601 1518 1727 \n3 1730 1602 1603 \n3 1602 1666 910 \n3 1603 910 1667 \n3 1666 1604 908 \n3 1604 1698 1215 \n3 908 1215 226 \n3 1667 909 1605 \n3 909 226 1219 \n3 1605 1219 1699 \n3 1698 1606 1214 \n3 1606 1668 913 \n3 1214 913 224 \n3 1668 1607 911 \n3 1607 1714 1371 \n3 911 1371 303 \n3 224 912 1216 \n3 912 303 1373 \n3 1216 1373 58 \n3 1699 1218 1608 \n3 1218 225 916 \n3 1608 916 1669 \n3 225 1217 914 \n3 1217 58 1378 \n3 914 1378 307 \n3 1669 915 1609 \n3 915 307 1381 \n3 1609 1381 1715 \n3 1714 1610 1370 \n3 1610 1670 919 \n3 1370 919 302 \n3 1670 1611 917 \n3 1611 1700 1221 \n3 917 1221 229 \n3 302 918 1372 \n3 918 229 1225 \n3 1372 1225 56 \n3 1700 1612 1220 \n3 1612 1671 922 \n3 1220 922 227 \n3 1671 1613 920 \n3 1613 1731 1530 \n3 920 1530 382 \n3 227 921 1222 \n3 921 382 1531 \n3 1222 1531 96 \n3 56 1224 1374 \n3 1224 228 925 \n3 1374 925 304 \n3 228 1223 923 \n3 1223 96 1532 \n3 923 1532 383 \n3 304 924 1375 \n3 924 383 1533 \n3 1375 1533 25 \n3 1715 1380 1614 \n3 1380 306 928 \n3 1614 928 1672 \n3 306 1379 926 \n3 1379 57 1227 \n3 926 1227 232 \n3 1672 927 1615 \n3 927 232 1231 \n3 1615 1231 1701 \n3 57 1377 1226 \n3 1377 305 931 \n3 1226 931 230 \n3 305 1376 929 \n3 1376 25 1534 \n3 929 1534 384 \n3 230 930 1228 \n3 930 384 1535 \n3 1228 1535 97 \n3 1701 1230 1616 \n3 1230 231 934 \n3 1616 934 1673 \n3 231 1229 932 \n3 1229 97 1536 \n3 932 1536 385 \n3 1673 933 1617 \n3 933 385 1537 \n3 1617 1537 1732 \n3 1733 1618 1619 \n3 1618 1674 937 \n3 1619 937 1675 \n3 1674 1620 935 \n3 1620 1702 1233 \n3 935 1233 235 \n3 1675 936 1621 \n3 936 235 1237 \n3 1621 1237 1703 \n3 1702 1622 1232 \n3 1622 1676 940 \n3 1232 940 233 \n3 1676 1623 938 \n3 1623 1716 1383 \n3 938 1383 309 \n3 233 939 1234 \n3 939 309 1385 \n3 1234 1385 61 \n3 1703 1236 1624 \n3 1236 234 943 \n3 1624 943 1677 \n3 234 1235 941 \n3 1235 61 1390 \n3 941 1390 313 \n3 1677 942 1625 \n3 942 313 1393 \n3 1625 1393 1717 \n3 1716 1626 1382 \n3 1626 1678 946 \n3 1382 946 308 \n3 1678 1627 944 \n3 1627 1704 1239 \n3 944 1239 238 \n3 308 945 1384 \n3 945 238 1243 \n3 1384 1243 59 \n3 1704 1628 1238 \n3 1628 1679 949 \n3 1238 949 236 \n3 1679 1629 947 \n3 1629 1732 1537 \n3 947 1537 385 \n3 236 948 1240 \n3 948 385 1536 \n3 1240 1536 97 \n3 59 1242 1386 \n3 1242 237 952 \n3 1386 952 310 \n3 237 1241 950 \n3 1241 97 1535 \n3 950 1535 384 \n3 310 951 1387 \n3 951 384 1534 \n3 1387 1534 25 \n3 1717 1392 1630 \n3 1392 312 955 \n3 1630 955 1680 \n3 312 1391 953 \n3 1391 60 1245 \n3 953 1245 241 \n3 1680 954 1631 \n3 954 241 1249 \n3 1631 1249 1705 \n3 60 1389 1244 \n3 1389 311 958 \n3 1244 958 239 \n3 311 1388 956 \n3 1388 25 1533 \n3 956 1533 383 \n3 239 957 1246 \n3 957 383 1532 \n3 1246 1532 96 \n3 1705 1248 1632 \n3 1248 240 961 \n3 1632 961 1681 \n3 240 1247 959 \n3 1247 96 1531 \n3 959 1531 382 \n3 1681 960 1633 \n3 960 382 1530 \n3 1633 1530 1731 \n"
  },
  {
    "path": "data/box_high_weld.ply",
    "content": "ply\nformat ascii 1.0\ncomment VCGLIB generated\nelement vertex 1538\nproperty float x\nproperty float y\nproperty float z\nelement face 3072\nproperty list uchar int vertex_indices\nend_header\n0.5 0.5 0.5 \n-0.5 -0.5 0.5 \n0.5 -0.5 -0.5 \n-0.5 -0.5 -0.5 \n0 0 0.5 \n0.5 0 0.5 \n0 -0.5 0.5 \n-0.5 0 0.5 \n0.5 0 0 \n0.5 0.5 0 \n0.5 0 -0.5 \n0 0.5 0 \n-0.5 0.5 0 \n-0.5 0 -0.5 \n0 0 -0.5 \n0 -0.5 0 \n-0.5 -0.5 0 \n-0.5 0 0 \n0 0.25 0.5 \n0.25 0 0.5 \n0.25 0.25 0.5 \n0 -0.25 0.5 \n-0.25 0 0.5 \n-0.25 -0.25 0.5 \n0.5 0 0.25 \n0.5 0.25 0 \n0.5 0.25 0.25 \n0.5 0 -0.25 \n0.5 -0.25 0 \n0.5 -0.25 -0.25 \n0.25 0.5 0 \n0 0.5 0.25 \n0.25 0.5 0.25 \n-0.25 0.5 0 \n0 0.5 -0.25 \n-0.25 0.5 -0.25 \n-0.25 0 -0.5 \n0 -0.25 -0.5 \n-0.25 -0.25 -0.5 \n0.25 0 -0.5 \n0 0.25 -0.5 \n0.25 0.25 -0.5 \n0 -0.5 -0.25 \n-0.25 -0.5 0 \n-0.25 -0.5 -0.25 \n0 -0.5 0.25 \n0.25 -0.5 0 \n0.25 -0.5 0.25 \n-0.5 -0.25 0 \n-0.5 0 -0.25 \n-0.5 -0.25 -0.25 \n-0.5 0.25 0 \n-0.5 0 0.25 \n-0.5 0.25 0.25 \n0.25 0.5 0.5 \n0.5 0.25 0.5 \n-0.25 0.5 0.5 \n-0.25 0.25 0.5 \n0.25 -0.25 0.5 \n0.5 -0.25 0.5 \n-0.25 -0.5 0.5 \n-0.5 -0.25 0.5 \n0.25 -0.5 0.5 \n0.5 0.5 0.25 \n0.5 -0.25 0.25 \n0.5 0.25 -0.25 \n0.5 0.5 -0.25 \n0.5 0.25 -0.5 \n0.5 -0.5 0.25 \n0.25 0.5 -0.25 \n-0.25 0.5 0.25 \n-0.5 0.5 -0.25 \n-0.25 0.5 -0.5 \n0.25 0.5 -0.5 \n-0.5 0.25 -0.5 \n-0.25 0.25 -0.5 \n0.25 -0.25 -0.5 \n0.25 -0.5 -0.5 \n-0.5 -0.5 -0.25 \n0.25 -0.5 -0.25 \n-0.25 -0.5 0.25 \n-0.5 -0.25 0.25 \n-0.5 0.25 -0.25 \n0.125 0.125 0.5 \n0.25 0.125 0.5 \n0.125 0.25 0.5 \n-0.125 -0.125 0.5 \n-0.25 -0.125 0.5 \n-0.125 -0.25 0.5 \n0.5 0.125 0.125 \n0.5 0.25 0.125 \n0.5 0.125 0.25 \n0.5 -0.125 -0.125 \n0.5 -0.25 -0.125 \n0.5 -0.125 -0.25 \n0.125 0.5 0.125 \n0.125 0.5 0.25 \n0.25 0.5 0.125 \n-0.125 0.5 -0.125 \n-0.125 0.5 -0.25 \n-0.25 0.5 -0.125 \n-0.125 -0.125 -0.5 \n-0.125 -0.25 -0.5 \n-0.25 -0.125 -0.5 \n0.125 0.125 -0.5 \n0.125 0.25 -0.5 \n0.25 0.125 -0.5 \n-0.125 -0.5 -0.125 \n-0.25 -0.5 -0.125 \n-0.125 -0.5 -0.25 \n0.125 -0.5 0.125 \n0.25 -0.5 0.125 \n0.125 -0.5 0.25 \n-0.5 -0.125 -0.125 \n-0.5 -0.125 -0.25 \n-0.5 -0.25 -0.125 \n-0.5 0.125 0.125 \n-0.5 0.125 0.25 \n-0.5 0.25 0.125 \n0.25 0.375 0.5 \n0.375 0.25 0.5 \n0.375 0.375 0.5 \n-0.25 0.375 0.5 \n-0.125 0.25 0.5 \n-0.125 0.375 0.5 \n0.25 -0.125 0.5 \n0.375 -0.25 0.5 \n0.375 -0.125 0.5 \n-0.25 -0.375 0.5 \n-0.375 -0.25 0.5 \n-0.375 -0.375 0.5 \n0.25 -0.375 0.5 \n0.125 -0.25 0.5 \n0.125 -0.375 0.5 \n-0.25 0.125 0.5 \n-0.375 0.25 0.5 \n-0.375 0.125 0.5 \n0.5 0.25 0.375 \n0.5 0.375 0.25 \n0.5 0.375 0.375 \n0.5 -0.25 0.375 \n0.5 -0.125 0.25 \n0.5 -0.125 0.375 \n0.5 0.25 -0.125 \n0.5 0.375 -0.25 \n0.5 0.375 -0.125 \n0.5 -0.25 -0.375 \n0.5 -0.375 -0.25 \n0.5 -0.375 -0.375 \n0.5 0.25 -0.375 \n0.5 0.125 -0.25 \n0.5 0.125 -0.375 \n0.5 -0.25 0.125 \n0.5 -0.375 0.25 \n0.5 -0.375 0.125 \n0.375 0.5 0.25 \n0.25 0.5 0.375 \n0.375 0.5 0.375 \n0.375 0.5 -0.25 \n0.25 0.5 -0.125 \n0.375 0.5 -0.125 \n-0.125 0.5 0.25 \n-0.25 0.5 0.375 \n-0.125 0.5 0.375 \n-0.375 0.5 -0.25 \n-0.25 0.5 -0.375 \n-0.375 0.5 -0.375 \n-0.375 0.5 0.25 \n-0.25 0.5 0.125 \n-0.375 0.5 0.125 \n0.125 0.5 -0.25 \n0.25 0.5 -0.375 \n0.125 0.5 -0.375 \n-0.375 -0.25 -0.5 \n-0.25 -0.375 -0.5 \n-0.375 -0.375 -0.5 \n-0.375 0.25 -0.5 \n-0.25 0.125 -0.5 \n-0.375 0.125 -0.5 \n0.125 -0.25 -0.5 \n0.25 -0.375 -0.5 \n0.125 -0.375 -0.5 \n0.375 0.25 -0.5 \n0.25 0.375 -0.5 \n0.375 0.375 -0.5 \n0.375 -0.25 -0.5 \n0.25 -0.125 -0.5 \n0.375 -0.125 -0.5 \n-0.125 0.25 -0.5 \n-0.25 0.375 -0.5 \n-0.125 0.375 -0.5 \n-0.25 -0.5 -0.375 \n-0.375 -0.5 -0.25 \n-0.375 -0.5 -0.375 \n0.25 -0.5 -0.375 \n0.125 -0.5 -0.25 \n0.125 -0.5 -0.375 \n-0.25 -0.5 0.125 \n-0.375 -0.5 0.25 \n-0.375 -0.5 0.125 \n0.25 -0.5 0.375 \n0.375 -0.5 0.25 \n0.375 -0.5 0.375 \n-0.25 -0.5 0.375 \n-0.125 -0.5 0.25 \n-0.125 -0.5 0.375 \n0.25 -0.5 -0.125 \n0.375 -0.5 -0.25 \n0.375 -0.5 -0.125 \n-0.5 -0.375 -0.25 \n-0.5 -0.25 -0.375 \n-0.5 -0.375 -0.375 \n-0.5 -0.375 0.25 \n-0.5 -0.25 0.125 \n-0.5 -0.375 0.125 \n-0.5 0.125 -0.25 \n-0.5 0.25 -0.375 \n-0.5 0.125 -0.375 \n-0.5 0.375 0.25 \n-0.5 0.25 0.375 \n-0.5 0.375 0.375 \n-0.5 0.375 -0.25 \n-0.5 0.25 -0.125 \n-0.5 0.375 -0.125 \n-0.5 -0.125 0.25 \n-0.5 -0.25 0.375 \n-0.5 -0.125 0.375 \n0 0.375 0.5 \n0.125 0.375 0.5 \n0 0.125 0.5 \n0.125 0 0.5 \n0.375 0 0.5 \n0.375 0.125 0.5 \n0 -0.375 0.5 \n-0.125 -0.375 0.5 \n0 -0.125 0.5 \n-0.125 0 0.5 \n-0.375 0 0.5 \n-0.375 -0.125 0.5 \n0.5 0 0.375 \n0.5 0.125 0.375 \n0.5 0 0.125 \n0.5 0.125 0 \n0.5 0.375 0 \n0.5 0.375 0.125 \n0.5 0 -0.375 \n0.5 -0.125 -0.375 \n0.5 0 -0.125 \n0.5 -0.125 0 \n0.5 -0.375 0 \n0.5 -0.375 -0.125 \n0.375 0.5 0 \n0.375 0.5 0.125 \n0.125 0.5 0 \n0 0.5 0.125 \n0 0.5 0.375 \n0.125 0.5 0.375 \n-0.375 0.5 0 \n-0.375 0.5 -0.125 \n-0.125 0.5 0 \n0 0.5 -0.125 \n0 0.5 -0.375 \n-0.125 0.5 -0.375 \n-0.375 0 -0.5 \n-0.375 -0.125 -0.5 \n-0.125 0 -0.5 \n0 -0.125 -0.5 \n0 -0.375 -0.5 \n-0.125 -0.375 -0.5 \n0.375 0 -0.5 \n0.375 0.125 -0.5 \n0.125 0 -0.5 \n0 0.125 -0.5 \n0 0.375 -0.5 \n0.125 0.375 -0.5 \n0 -0.5 -0.375 \n-0.125 -0.5 -0.375 \n0 -0.5 -0.125 \n-0.125 -0.5 0 \n-0.375 -0.5 0 \n-0.375 -0.5 -0.125 \n0 -0.5 0.375 \n0.125 -0.5 0.375 \n0 -0.5 0.125 \n0.125 -0.5 0 \n0.375 -0.5 0 \n0.375 -0.5 0.125 \n-0.5 -0.375 0 \n-0.5 -0.375 -0.125 \n-0.5 -0.125 0 \n-0.5 0 -0.125 \n-0.5 0 -0.375 \n-0.5 -0.125 -0.375 \n-0.5 0.375 0 \n-0.5 0.375 0.125 \n-0.5 0.125 0 \n-0.5 0 0.125 \n-0.5 0 0.375 \n-0.5 0.125 0.375 \n0.125 0.5 0.5 \n0.5 0.125 0.5 \n-0.125 0.5 0.5 \n-0.375 0.5 0.5 \n-0.375 0.375 0.5 \n-0.125 0.125 0.5 \n0.5 -0.125 0.5 \n0.125 -0.125 0.5 \n0.375 -0.375 0.5 \n-0.375 -0.5 0.5 \n-0.5 -0.375 0.5 \n-0.125 -0.5 0.5 \n-0.5 0.125 0.5 \n0.5 0.5 0.125 \n0.5 -0.375 0.375 \n0.5 -0.125 0.125 \n0.5 0.125 -0.125 \n0.5 0.375 -0.375 \n0.5 0.5 -0.375 \n0.5 -0.5 -0.375 \n0.5 -0.5 -0.125 \n0.5 0.125 -0.5 \n0.5 -0.5 0.125 \n0.375 0.5 -0.375 \n0.125 0.5 -0.125 \n-0.125 0.5 0.125 \n-0.375 0.5 0.375 \n-0.5 0.5 -0.375 \n-0.5 0.5 -0.125 \n-0.125 0.5 -0.5 \n-0.5 0.5 0.125 \n-0.5 0.5 0.375 \n0.125 0.5 -0.5 \n-0.5 -0.375 -0.5 \n-0.375 -0.5 -0.5 \n-0.125 -0.5 -0.5 \n-0.5 0.125 -0.5 \n-0.5 0.375 -0.5 \n-0.375 0.375 -0.5 \n-0.125 0.125 -0.5 \n0.125 -0.125 -0.5 \n0.375 -0.375 -0.5 \n0.375 -0.5 -0.5 \n-0.5 -0.5 -0.125 \n0.375 -0.5 -0.375 \n0.125 -0.5 -0.125 \n-0.125 -0.5 0.125 \n-0.375 -0.5 0.375 \n-0.5 -0.375 0.375 \n-0.5 -0.125 0.125 \n-0.5 0.125 -0.125 \n-0.5 0.375 -0.375 \n0.1875 0.125 0.5 \n0.1875 0.1875 0.5 \n0.125 0.1875 0.5 \n-0.1875 -0.125 0.5 \n-0.1875 -0.1875 0.5 \n-0.125 -0.1875 0.5 \n0.5 0.1875 0.125 \n0.5 0.1875 0.1875 \n0.5 0.125 0.1875 \n0.5 -0.1875 -0.125 \n0.5 -0.1875 -0.1875 \n0.5 -0.125 -0.1875 \n0.125 0.5 0.1875 \n0.1875 0.5 0.1875 \n0.1875 0.5 0.125 \n-0.125 0.5 -0.1875 \n-0.1875 0.5 -0.1875 \n-0.1875 0.5 -0.125 \n-0.125 -0.1875 -0.5 \n-0.1875 -0.1875 -0.5 \n-0.1875 -0.125 -0.5 \n0.125 0.1875 -0.5 \n0.1875 0.1875 -0.5 \n0.1875 0.125 -0.5 \n-0.1875 -0.5 -0.125 \n-0.1875 -0.5 -0.1875 \n-0.125 -0.5 -0.1875 \n0.1875 -0.5 0.125 \n0.1875 -0.5 0.1875 \n0.125 -0.5 0.1875 \n-0.5 -0.125 -0.1875 \n-0.5 -0.1875 -0.1875 \n-0.5 -0.1875 -0.125 \n-0.5 0.125 0.1875 \n-0.5 0.1875 0.1875 \n-0.5 0.1875 0.125 \n0.3125 0.3125 0.5 \n0.375 0.3125 0.5 \n0.3125 0.375 0.5 \n-0.1875 0.3125 0.5 \n-0.125 0.3125 0.5 \n-0.1875 0.375 0.5 \n0.3125 -0.1875 0.5 \n0.375 -0.1875 0.5 \n0.3125 -0.125 0.5 \n-0.3125 -0.3125 0.5 \n-0.375 -0.3125 0.5 \n-0.3125 -0.375 0.5 \n0.1875 -0.3125 0.5 \n0.125 -0.3125 0.5 \n0.1875 -0.375 0.5 \n-0.3125 0.1875 0.5 \n-0.375 0.1875 0.5 \n-0.3125 0.125 0.5 \n0.5 0.3125 0.3125 \n0.5 0.375 0.3125 \n0.5 0.3125 0.375 \n0.5 -0.1875 0.3125 \n0.5 -0.125 0.3125 \n0.5 -0.1875 0.375 \n0.5 0.3125 -0.1875 \n0.5 0.375 -0.1875 \n0.5 0.3125 -0.125 \n0.5 -0.3125 -0.3125 \n0.5 -0.375 -0.3125 \n0.5 -0.3125 -0.375 \n0.5 0.1875 -0.3125 \n0.5 0.125 -0.3125 \n0.5 0.1875 -0.375 \n0.5 -0.3125 0.1875 \n0.5 -0.375 0.1875 \n0.5 -0.3125 0.125 \n0.3125 0.5 0.3125 \n0.3125 0.5 0.375 \n0.375 0.5 0.3125 \n0.3125 0.5 -0.1875 \n0.3125 0.5 -0.125 \n0.375 0.5 -0.1875 \n-0.1875 0.5 0.3125 \n-0.1875 0.5 0.375 \n-0.125 0.5 0.3125 \n-0.3125 0.5 -0.3125 \n-0.3125 0.5 -0.375 \n-0.375 0.5 -0.3125 \n-0.3125 0.5 0.1875 \n-0.3125 0.5 0.125 \n-0.375 0.5 0.1875 \n0.1875 0.5 -0.3125 \n0.1875 0.5 -0.375 \n0.125 0.5 -0.3125 \n-0.3125 -0.3125 -0.5 \n-0.3125 -0.375 -0.5 \n-0.375 -0.3125 -0.5 \n-0.3125 0.1875 -0.5 \n-0.3125 0.125 -0.5 \n-0.375 0.1875 -0.5 \n0.1875 -0.3125 -0.5 \n0.1875 -0.375 -0.5 \n0.125 -0.3125 -0.5 \n0.3125 0.3125 -0.5 \n0.3125 0.375 -0.5 \n0.375 0.3125 -0.5 \n0.3125 -0.1875 -0.5 \n0.3125 -0.125 -0.5 \n0.375 -0.1875 -0.5 \n-0.1875 0.3125 -0.5 \n-0.1875 0.375 -0.5 \n-0.125 0.3125 -0.5 \n-0.3125 -0.5 -0.3125 \n-0.375 -0.5 -0.3125 \n-0.3125 -0.5 -0.375 \n0.1875 -0.5 -0.3125 \n0.125 -0.5 -0.3125 \n0.1875 -0.5 -0.375 \n-0.3125 -0.5 0.1875 \n-0.375 -0.5 0.1875 \n-0.3125 -0.5 0.125 \n0.3125 -0.5 0.3125 \n0.375 -0.5 0.3125 \n0.3125 -0.5 0.375 \n-0.1875 -0.5 0.3125 \n-0.125 -0.5 0.3125 \n-0.1875 -0.5 0.375 \n0.3125 -0.5 -0.1875 \n0.375 -0.5 -0.1875 \n0.3125 -0.5 -0.125 \n-0.5 -0.3125 -0.3125 \n-0.5 -0.3125 -0.375 \n-0.5 -0.375 -0.3125 \n-0.5 -0.3125 0.1875 \n-0.5 -0.3125 0.125 \n-0.5 -0.375 0.1875 \n-0.5 0.1875 -0.3125 \n-0.5 0.1875 -0.375 \n-0.5 0.125 -0.3125 \n-0.5 0.3125 0.3125 \n-0.5 0.3125 0.375 \n-0.5 0.375 0.3125 \n-0.5 0.3125 -0.1875 \n-0.5 0.3125 -0.125 \n-0.5 0.375 -0.1875 \n-0.5 -0.1875 0.3125 \n-0.5 -0.1875 0.375 \n-0.5 -0.125 0.3125 \n0.0625 0.3125 0.5 \n0.125 0.3125 0.5 \n0.0625 0.375 0.5 \n0.0625 0.0625 0.5 \n0.125 0.0625 0.5 \n0.0625 0.125 0.5 \n0.3125 0.0625 0.5 \n0.375 0.0625 0.5 \n0.3125 0.125 0.5 \n-0.0625 -0.3125 0.5 \n-0.125 -0.3125 0.5 \n-0.0625 -0.375 0.5 \n-0.0625 -0.0625 0.5 \n-0.125 -0.0625 0.5 \n-0.0625 -0.125 0.5 \n-0.3125 -0.0625 0.5 \n-0.375 -0.0625 0.5 \n-0.3125 -0.125 0.5 \n0.5 0.0625 0.3125 \n0.5 0.125 0.3125 \n0.5 0.0625 0.375 \n0.5 0.0625 0.0625 \n0.5 0.125 0.0625 \n0.5 0.0625 0.125 \n0.5 0.3125 0.0625 \n0.5 0.375 0.0625 \n0.5 0.3125 0.125 \n0.5 -0.0625 -0.3125 \n0.5 -0.125 -0.3125 \n0.5 -0.0625 -0.375 \n0.5 -0.0625 -0.0625 \n0.5 -0.125 -0.0625 \n0.5 -0.0625 -0.125 \n0.5 -0.3125 -0.0625 \n0.5 -0.375 -0.0625 \n0.5 -0.3125 -0.125 \n0.3125 0.5 0.0625 \n0.3125 0.5 0.125 \n0.375 0.5 0.0625 \n0.0625 0.5 0.0625 \n0.0625 0.5 0.125 \n0.125 0.5 0.0625 \n0.0625 0.5 0.3125 \n0.0625 0.5 0.375 \n0.125 0.5 0.3125 \n-0.3125 0.5 -0.0625 \n-0.3125 0.5 -0.125 \n-0.375 0.5 -0.0625 \n-0.0625 0.5 -0.0625 \n-0.0625 0.5 -0.125 \n-0.125 0.5 -0.0625 \n-0.0625 0.5 -0.3125 \n-0.0625 0.5 -0.375 \n-0.125 0.5 -0.3125 \n-0.3125 -0.0625 -0.5 \n-0.3125 -0.125 -0.5 \n-0.375 -0.0625 -0.5 \n-0.0625 -0.0625 -0.5 \n-0.0625 -0.125 -0.5 \n-0.125 -0.0625 -0.5 \n-0.0625 -0.3125 -0.5 \n-0.0625 -0.375 -0.5 \n-0.125 -0.3125 -0.5 \n0.3125 0.0625 -0.5 \n0.3125 0.125 -0.5 \n0.375 0.0625 -0.5 \n0.0625 0.0625 -0.5 \n0.0625 0.125 -0.5 \n0.125 0.0625 -0.5 \n0.0625 0.3125 -0.5 \n0.0625 0.375 -0.5 \n0.125 0.3125 -0.5 \n-0.0625 -0.5 -0.3125 \n-0.125 -0.5 -0.3125 \n-0.0625 -0.5 -0.375 \n-0.0625 -0.5 -0.0625 \n-0.125 -0.5 -0.0625 \n-0.0625 -0.5 -0.125 \n-0.3125 -0.5 -0.0625 \n-0.375 -0.5 -0.0625 \n-0.3125 -0.5 -0.125 \n0.0625 -0.5 0.3125 \n0.125 -0.5 0.3125 \n0.0625 -0.5 0.375 \n0.0625 -0.5 0.0625 \n0.125 -0.5 0.0625 \n0.0625 -0.5 0.125 \n0.3125 -0.5 0.0625 \n0.375 -0.5 0.0625 \n0.3125 -0.5 0.125 \n-0.5 -0.3125 -0.0625 \n-0.5 -0.3125 -0.125 \n-0.5 -0.375 -0.0625 \n-0.5 -0.0625 -0.0625 \n-0.5 -0.0625 -0.125 \n-0.5 -0.125 -0.0625 \n-0.5 -0.0625 -0.3125 \n-0.5 -0.0625 -0.375 \n-0.5 -0.125 -0.3125 \n-0.5 0.3125 0.0625 \n-0.5 0.3125 0.125 \n-0.5 0.375 0.0625 \n-0.5 0.0625 0.0625 \n-0.5 0.0625 0.125 \n-0.5 0.125 0.0625 \n-0.5 0.0625 0.3125 \n-0.5 0.0625 0.375 \n-0.5 0.125 0.3125 \n0.375 0.4375 0.5 \n0.4375 0.375 0.5 \n0.4375 0.4375 0.5 \n0.125 0.4375 0.5 \n0.1875 0.375 0.5 \n0.1875 0.4375 0.5 \n0.375 0.1875 0.5 \n0.4375 0.125 0.5 \n0.4375 0.1875 0.5 \n-0.125 0.4375 0.5 \n-0.0625 0.375 0.5 \n-0.0625 0.4375 0.5 \n-0.375 0.4375 0.5 \n-0.3125 0.375 0.5 \n-0.3125 0.4375 0.5 \n-0.125 0.1875 0.5 \n-0.0625 0.125 0.5 \n-0.0625 0.1875 0.5 \n0.375 -0.0625 0.5 \n0.4375 -0.125 0.5 \n0.4375 -0.0625 0.5 \n0.125 -0.0625 0.5 \n0.1875 -0.125 0.5 \n0.1875 -0.0625 0.5 \n0.375 -0.3125 0.5 \n0.4375 -0.375 0.5 \n0.4375 -0.3125 0.5 \n-0.375 -0.4375 0.5 \n-0.4375 -0.375 0.5 \n-0.4375 -0.4375 0.5 \n-0.125 -0.4375 0.5 \n-0.1875 -0.375 0.5 \n-0.1875 -0.4375 0.5 \n-0.375 -0.1875 0.5 \n-0.4375 -0.125 0.5 \n-0.4375 -0.1875 0.5 \n0.125 -0.4375 0.5 \n0.0625 -0.375 0.5 \n0.0625 -0.4375 0.5 \n0.375 -0.4375 0.5 \n0.3125 -0.375 0.5 \n0.3125 -0.4375 0.5 \n0.125 -0.1875 0.5 \n0.0625 -0.125 0.5 \n0.0625 -0.1875 0.5 \n-0.375 0.0625 0.5 \n-0.4375 0.125 0.5 \n-0.4375 0.0625 0.5 \n-0.125 0.0625 0.5 \n-0.1875 0.125 0.5 \n-0.1875 0.0625 0.5 \n-0.375 0.3125 0.5 \n-0.4375 0.375 0.5 \n-0.4375 0.3125 0.5 \n0.5 0.375 0.4375 \n0.5 0.4375 0.375 \n0.5 0.4375 0.4375 \n0.5 0.125 0.4375 \n0.5 0.1875 0.375 \n0.5 0.1875 0.4375 \n0.5 0.375 0.1875 \n0.5 0.4375 0.125 \n0.5 0.4375 0.1875 \n0.5 -0.125 0.4375 \n0.5 -0.0625 0.375 \n0.5 -0.0625 0.4375 \n0.5 -0.375 0.4375 \n0.5 -0.3125 0.375 \n0.5 -0.3125 0.4375 \n0.5 -0.125 0.1875 \n0.5 -0.0625 0.125 \n0.5 -0.0625 0.1875 \n0.5 0.375 -0.0625 \n0.5 0.4375 -0.125 \n0.5 0.4375 -0.0625 \n0.5 0.125 -0.0625 \n0.5 0.1875 -0.125 \n0.5 0.1875 -0.0625 \n0.5 0.375 -0.3125 \n0.5 0.4375 -0.375 \n0.5 0.4375 -0.3125 \n0.5 -0.375 -0.4375 \n0.5 -0.4375 -0.375 \n0.5 -0.4375 -0.4375 \n0.5 -0.125 -0.4375 \n0.5 -0.1875 -0.375 \n0.5 -0.1875 -0.4375 \n0.5 -0.375 -0.1875 \n0.5 -0.4375 -0.125 \n0.5 -0.4375 -0.1875 \n0.5 0.125 -0.4375 \n0.5 0.0625 -0.375 \n0.5 0.0625 -0.4375 \n0.5 0.375 -0.4375 \n0.5 0.3125 -0.375 \n0.5 0.3125 -0.4375 \n0.5 0.125 -0.1875 \n0.5 0.0625 -0.125 \n0.5 0.0625 -0.1875 \n0.5 -0.375 0.0625 \n0.5 -0.4375 0.125 \n0.5 -0.4375 0.0625 \n0.5 -0.125 0.0625 \n0.5 -0.1875 0.125 \n0.5 -0.1875 0.0625 \n0.5 -0.375 0.3125 \n0.5 -0.4375 0.375 \n0.5 -0.4375 0.3125 \n0.4375 0.5 0.375 \n0.375 0.5 0.4375 \n0.4375 0.5 0.4375 \n0.4375 0.5 0.125 \n0.375 0.5 0.1875 \n0.4375 0.5 0.1875 \n0.1875 0.5 0.375 \n0.125 0.5 0.4375 \n0.1875 0.5 0.4375 \n0.4375 0.5 -0.125 \n0.375 0.5 -0.0625 \n0.4375 0.5 -0.0625 \n0.4375 0.5 -0.375 \n0.375 0.5 -0.3125 \n0.4375 0.5 -0.3125 \n0.1875 0.5 -0.125 \n0.125 0.5 -0.0625 \n0.1875 0.5 -0.0625 \n-0.0625 0.5 0.375 \n-0.125 0.5 0.4375 \n-0.0625 0.5 0.4375 \n-0.0625 0.5 0.125 \n-0.125 0.5 0.1875 \n-0.0625 0.5 0.1875 \n-0.3125 0.5 0.375 \n-0.375 0.5 0.4375 \n-0.3125 0.5 0.4375 \n-0.4375 0.5 -0.375 \n-0.375 0.5 -0.4375 \n-0.4375 0.5 -0.4375 \n-0.4375 0.5 -0.125 \n-0.375 0.5 -0.1875 \n-0.4375 0.5 -0.1875 \n-0.1875 0.5 -0.375 \n-0.125 0.5 -0.4375 \n-0.1875 0.5 -0.4375 \n-0.4375 0.5 0.125 \n-0.375 0.5 0.0625 \n-0.4375 0.5 0.0625 \n-0.4375 0.5 0.375 \n-0.375 0.5 0.3125 \n-0.4375 0.5 0.3125 \n-0.1875 0.5 0.125 \n-0.125 0.5 0.0625 \n-0.1875 0.5 0.0625 \n0.0625 0.5 -0.375 \n0.125 0.5 -0.4375 \n0.0625 0.5 -0.4375 \n0.0625 0.5 -0.125 \n0.125 0.5 -0.1875 \n0.0625 0.5 -0.1875 \n0.3125 0.5 -0.375 \n0.375 0.5 -0.4375 \n0.3125 0.5 -0.4375 \n-0.4375 -0.375 -0.5 \n-0.375 -0.4375 -0.5 \n-0.4375 -0.4375 -0.5 \n-0.4375 -0.125 -0.5 \n-0.375 -0.1875 -0.5 \n-0.4375 -0.1875 -0.5 \n-0.1875 -0.375 -0.5 \n-0.125 -0.4375 -0.5 \n-0.1875 -0.4375 -0.5 \n-0.4375 0.125 -0.5 \n-0.375 0.0625 -0.5 \n-0.4375 0.0625 -0.5 \n-0.4375 0.375 -0.5 \n-0.375 0.3125 -0.5 \n-0.4375 0.3125 -0.5 \n-0.1875 0.125 -0.5 \n-0.125 0.0625 -0.5 \n-0.1875 0.0625 -0.5 \n0.0625 -0.375 -0.5 \n0.125 -0.4375 -0.5 \n0.0625 -0.4375 -0.5 \n0.0625 -0.125 -0.5 \n0.125 -0.1875 -0.5 \n0.0625 -0.1875 -0.5 \n0.3125 -0.375 -0.5 \n0.375 -0.4375 -0.5 \n0.3125 -0.4375 -0.5 \n0.4375 0.375 -0.5 \n0.375 0.4375 -0.5 \n0.4375 0.4375 -0.5 \n0.4375 0.125 -0.5 \n0.375 0.1875 -0.5 \n0.4375 0.1875 -0.5 \n0.1875 0.375 -0.5 \n0.125 0.4375 -0.5 \n0.1875 0.4375 -0.5 \n0.4375 -0.125 -0.5 \n0.375 -0.0625 -0.5 \n0.4375 -0.0625 -0.5 \n0.4375 -0.375 -0.5 \n0.375 -0.3125 -0.5 \n0.4375 -0.3125 -0.5 \n0.1875 -0.125 -0.5 \n0.125 -0.0625 -0.5 \n0.1875 -0.0625 -0.5 \n-0.0625 0.375 -0.5 \n-0.125 0.4375 -0.5 \n-0.0625 0.4375 -0.5 \n-0.0625 0.125 -0.5 \n-0.125 0.1875 -0.5 \n-0.0625 0.1875 -0.5 \n-0.3125 0.375 -0.5 \n-0.375 0.4375 -0.5 \n-0.3125 0.4375 -0.5 \n-0.375 -0.5 -0.4375 \n-0.4375 -0.5 -0.375 \n-0.4375 -0.5 -0.4375 \n-0.125 -0.5 -0.4375 \n-0.1875 -0.5 -0.375 \n-0.1875 -0.5 -0.4375 \n-0.375 -0.5 -0.1875 \n-0.4375 -0.5 -0.125 \n-0.4375 -0.5 -0.1875 \n0.125 -0.5 -0.4375 \n0.0625 -0.5 -0.375 \n0.0625 -0.5 -0.4375 \n0.375 -0.5 -0.4375 \n0.3125 -0.5 -0.375 \n0.3125 -0.5 -0.4375 \n0.125 -0.5 -0.1875 \n0.0625 -0.5 -0.125 \n0.0625 -0.5 -0.1875 \n-0.375 -0.5 0.0625 \n-0.4375 -0.5 0.125 \n-0.4375 -0.5 0.0625 \n-0.125 -0.5 0.0625 \n-0.1875 -0.5 0.125 \n-0.1875 -0.5 0.0625 \n-0.375 -0.5 0.3125 \n-0.4375 -0.5 0.375 \n-0.4375 -0.5 0.3125 \n0.375 -0.5 0.4375 \n0.4375 -0.5 0.375 \n0.4375 -0.5 0.4375 \n0.125 -0.5 0.4375 \n0.1875 -0.5 0.375 \n0.1875 -0.5 0.4375 \n0.375 -0.5 0.1875 \n0.4375 -0.5 0.125 \n0.4375 -0.5 0.1875 \n-0.125 -0.5 0.4375 \n-0.0625 -0.5 0.375 \n-0.0625 -0.5 0.4375 \n-0.375 -0.5 0.4375 \n-0.3125 -0.5 0.375 \n-0.3125 -0.5 0.4375 \n-0.125 -0.5 0.1875 \n-0.0625 -0.5 0.125 \n-0.0625 -0.5 0.1875 \n0.375 -0.5 -0.0625 \n0.4375 -0.5 -0.125 \n0.4375 -0.5 -0.0625 \n0.125 -0.5 -0.0625 \n0.1875 -0.5 -0.125 \n0.1875 -0.5 -0.0625 \n0.375 -0.5 -0.3125 \n0.4375 -0.5 -0.375 \n0.4375 -0.5 -0.3125 \n-0.5 -0.4375 -0.375 \n-0.5 -0.375 -0.4375 \n-0.5 -0.4375 -0.4375 \n-0.5 -0.4375 -0.125 \n-0.5 -0.375 -0.1875 \n-0.5 -0.4375 -0.1875 \n-0.5 -0.1875 -0.375 \n-0.5 -0.125 -0.4375 \n-0.5 -0.1875 -0.4375 \n-0.5 -0.4375 0.125 \n-0.5 -0.375 0.0625 \n-0.5 -0.4375 0.0625 \n-0.5 -0.4375 0.375 \n-0.5 -0.375 0.3125 \n-0.5 -0.4375 0.3125 \n-0.5 -0.1875 0.125 \n-0.5 -0.125 0.0625 \n-0.5 -0.1875 0.0625 \n-0.5 0.0625 -0.375 \n-0.5 0.125 -0.4375 \n-0.5 0.0625 -0.4375 \n-0.5 0.0625 -0.125 \n-0.5 0.125 -0.1875 \n-0.5 0.0625 -0.1875 \n-0.5 0.3125 -0.375 \n-0.5 0.375 -0.4375 \n-0.5 0.3125 -0.4375 \n-0.5 0.4375 0.375 \n-0.5 0.375 0.4375 \n-0.5 0.4375 0.4375 \n-0.5 0.4375 0.125 \n-0.5 0.375 0.1875 \n-0.5 0.4375 0.1875 \n-0.5 0.1875 0.375 \n-0.5 0.125 0.4375 \n-0.5 0.1875 0.4375 \n-0.5 0.4375 -0.125 \n-0.5 0.375 -0.0625 \n-0.5 0.4375 -0.0625 \n-0.5 0.4375 -0.375 \n-0.5 0.375 -0.3125 \n-0.5 0.4375 -0.3125 \n-0.5 0.1875 -0.125 \n-0.5 0.125 -0.0625 \n-0.5 0.1875 -0.0625 \n-0.5 -0.0625 0.375 \n-0.5 -0.125 0.4375 \n-0.5 -0.0625 0.4375 \n-0.5 -0.0625 0.125 \n-0.5 -0.125 0.1875 \n-0.5 -0.0625 0.1875 \n-0.5 -0.3125 0.375 \n-0.5 -0.375 0.4375 \n-0.5 -0.3125 0.4375 \n0.0625 0.1875 0.5 \n0.0625 0.25 0.5 \n0.1875 0.0625 0.5 \n0.25 0.0625 0.5 \n0.25 0.1875 0.5 \n0.1875 0.25 0.5 \n-0.0625 -0.1875 0.5 \n-0.0625 -0.25 0.5 \n-0.1875 -0.0625 0.5 \n-0.25 -0.0625 0.5 \n-0.25 -0.1875 0.5 \n-0.1875 -0.25 0.5 \n0.5 0.0625 0.1875 \n0.5 0.0625 0.25 \n0.5 0.1875 0.0625 \n0.5 0.25 0.0625 \n0.5 0.25 0.1875 \n0.5 0.1875 0.25 \n0.5 -0.0625 -0.1875 \n0.5 -0.0625 -0.25 \n0.5 -0.1875 -0.0625 \n0.5 -0.25 -0.0625 \n0.5 -0.25 -0.1875 \n0.5 -0.1875 -0.25 \n0.1875 0.5 0.0625 \n0.25 0.5 0.0625 \n0.0625 0.5 0.1875 \n0.0625 0.5 0.25 \n0.1875 0.5 0.25 \n0.25 0.5 0.1875 \n-0.1875 0.5 -0.0625 \n-0.25 0.5 -0.0625 \n-0.0625 0.5 -0.1875 \n-0.0625 0.5 -0.25 \n-0.1875 0.5 -0.25 \n-0.25 0.5 -0.1875 \n-0.1875 -0.0625 -0.5 \n-0.25 -0.0625 -0.5 \n-0.0625 -0.1875 -0.5 \n-0.0625 -0.25 -0.5 \n-0.1875 -0.25 -0.5 \n-0.25 -0.1875 -0.5 \n0.1875 0.0625 -0.5 \n0.25 0.0625 -0.5 \n0.0625 0.1875 -0.5 \n0.0625 0.25 -0.5 \n0.1875 0.25 -0.5 \n0.25 0.1875 -0.5 \n-0.0625 -0.5 -0.1875 \n-0.0625 -0.5 -0.25 \n-0.1875 -0.5 -0.0625 \n-0.25 -0.5 -0.0625 \n-0.25 -0.5 -0.1875 \n-0.1875 -0.5 -0.25 \n0.0625 -0.5 0.1875 \n0.0625 -0.5 0.25 \n0.1875 -0.5 0.0625 \n0.25 -0.5 0.0625 \n0.25 -0.5 0.1875 \n0.1875 -0.5 0.25 \n-0.5 -0.1875 -0.0625 \n-0.5 -0.25 -0.0625 \n-0.5 -0.0625 -0.1875 \n-0.5 -0.0625 -0.25 \n-0.5 -0.1875 -0.25 \n-0.5 -0.25 -0.1875 \n-0.5 0.1875 0.0625 \n-0.5 0.25 0.0625 \n-0.5 0.0625 0.1875 \n-0.5 0.0625 0.25 \n-0.5 0.1875 0.25 \n-0.5 0.25 0.1875 \n0.25 0.4375 0.5 \n0.3125 0.4375 0.5 \n0.25 0.3125 0.5 \n0.3125 0.25 0.5 \n0.4375 0.25 0.5 \n0.4375 0.3125 0.5 \n-0.25 0.4375 0.5 \n-0.1875 0.4375 0.5 \n-0.25 0.3125 0.5 \n-0.1875 0.25 0.5 \n-0.0625 0.25 0.5 \n-0.0625 0.3125 0.5 \n0.25 -0.0625 0.5 \n0.3125 -0.0625 0.5 \n0.25 -0.1875 0.5 \n0.3125 -0.25 0.5 \n0.4375 -0.25 0.5 \n0.4375 -0.1875 0.5 \n-0.25 -0.4375 0.5 \n-0.3125 -0.4375 0.5 \n-0.25 -0.3125 0.5 \n-0.3125 -0.25 0.5 \n-0.4375 -0.25 0.5 \n-0.4375 -0.3125 0.5 \n0.25 -0.4375 0.5 \n0.1875 -0.4375 0.5 \n0.25 -0.3125 0.5 \n0.1875 -0.25 0.5 \n0.0625 -0.25 0.5 \n0.0625 -0.3125 0.5 \n-0.25 0.0625 0.5 \n-0.3125 0.0625 0.5 \n-0.25 0.1875 0.5 \n-0.3125 0.25 0.5 \n-0.4375 0.25 0.5 \n-0.4375 0.1875 0.5 \n0.5 0.25 0.4375 \n0.5 0.3125 0.4375 \n0.5 0.25 0.3125 \n0.5 0.3125 0.25 \n0.5 0.4375 0.25 \n0.5 0.4375 0.3125 \n0.5 -0.25 0.4375 \n0.5 -0.1875 0.4375 \n0.5 -0.25 0.3125 \n0.5 -0.1875 0.25 \n0.5 -0.0625 0.25 \n0.5 -0.0625 0.3125 \n0.5 0.25 -0.0625 \n0.5 0.3125 -0.0625 \n0.5 0.25 -0.1875 \n0.5 0.3125 -0.25 \n0.5 0.4375 -0.25 \n0.5 0.4375 -0.1875 \n0.5 -0.25 -0.4375 \n0.5 -0.3125 -0.4375 \n0.5 -0.25 -0.3125 \n0.5 -0.3125 -0.25 \n0.5 -0.4375 -0.25 \n0.5 -0.4375 -0.3125 \n0.5 0.25 -0.4375 \n0.5 0.1875 -0.4375 \n0.5 0.25 -0.3125 \n0.5 0.1875 -0.25 \n0.5 0.0625 -0.25 \n0.5 0.0625 -0.3125 \n0.5 -0.25 0.0625 \n0.5 -0.3125 0.0625 \n0.5 -0.25 0.1875 \n0.5 -0.3125 0.25 \n0.5 -0.4375 0.25 \n0.5 -0.4375 0.1875 \n0.4375 0.5 0.25 \n0.4375 0.5 0.3125 \n0.3125 0.5 0.25 \n0.25 0.5 0.3125 \n0.25 0.5 0.4375 \n0.3125 0.5 0.4375 \n0.4375 0.5 -0.25 \n0.4375 0.5 -0.1875 \n0.3125 0.5 -0.25 \n0.25 0.5 -0.1875 \n0.25 0.5 -0.0625 \n0.3125 0.5 -0.0625 \n-0.0625 0.5 0.25 \n-0.0625 0.5 0.3125 \n-0.1875 0.5 0.25 \n-0.25 0.5 0.3125 \n-0.25 0.5 0.4375 \n-0.1875 0.5 0.4375 \n-0.4375 0.5 -0.25 \n-0.4375 0.5 -0.3125 \n-0.3125 0.5 -0.25 \n-0.25 0.5 -0.3125 \n-0.25 0.5 -0.4375 \n-0.3125 0.5 -0.4375 \n-0.4375 0.5 0.25 \n-0.4375 0.5 0.1875 \n-0.3125 0.5 0.25 \n-0.25 0.5 0.1875 \n-0.25 0.5 0.0625 \n-0.3125 0.5 0.0625 \n0.0625 0.5 -0.25 \n0.0625 0.5 -0.3125 \n0.1875 0.5 -0.25 \n0.25 0.5 -0.3125 \n0.25 0.5 -0.4375 \n0.1875 0.5 -0.4375 \n-0.4375 -0.25 -0.5 \n-0.4375 -0.3125 -0.5 \n-0.3125 -0.25 -0.5 \n-0.25 -0.3125 -0.5 \n-0.25 -0.4375 -0.5 \n-0.3125 -0.4375 -0.5 \n-0.4375 0.25 -0.5 \n-0.4375 0.1875 -0.5 \n-0.3125 0.25 -0.5 \n-0.25 0.1875 -0.5 \n-0.25 0.0625 -0.5 \n-0.3125 0.0625 -0.5 \n0.0625 -0.25 -0.5 \n0.0625 -0.3125 -0.5 \n0.1875 -0.25 -0.5 \n0.25 -0.3125 -0.5 \n0.25 -0.4375 -0.5 \n0.1875 -0.4375 -0.5 \n0.4375 0.25 -0.5 \n0.4375 0.3125 -0.5 \n0.3125 0.25 -0.5 \n0.25 0.3125 -0.5 \n0.25 0.4375 -0.5 \n0.3125 0.4375 -0.5 \n0.4375 -0.25 -0.5 \n0.4375 -0.1875 -0.5 \n0.3125 -0.25 -0.5 \n0.25 -0.1875 -0.5 \n0.25 -0.0625 -0.5 \n0.3125 -0.0625 -0.5 \n-0.0625 0.25 -0.5 \n-0.0625 0.3125 -0.5 \n-0.1875 0.25 -0.5 \n-0.25 0.3125 -0.5 \n-0.25 0.4375 -0.5 \n-0.1875 0.4375 -0.5 \n-0.25 -0.5 -0.4375 \n-0.3125 -0.5 -0.4375 \n-0.25 -0.5 -0.3125 \n-0.3125 -0.5 -0.25 \n-0.4375 -0.5 -0.25 \n-0.4375 -0.5 -0.3125 \n0.25 -0.5 -0.4375 \n0.1875 -0.5 -0.4375 \n0.25 -0.5 -0.3125 \n0.1875 -0.5 -0.25 \n0.0625 -0.5 -0.25 \n0.0625 -0.5 -0.3125 \n-0.25 -0.5 0.0625 \n-0.3125 -0.5 0.0625 \n-0.25 -0.5 0.1875 \n-0.3125 -0.5 0.25 \n-0.4375 -0.5 0.25 \n-0.4375 -0.5 0.1875 \n0.25 -0.5 0.4375 \n0.3125 -0.5 0.4375 \n0.25 -0.5 0.3125 \n0.3125 -0.5 0.25 \n0.4375 -0.5 0.25 \n0.4375 -0.5 0.3125 \n-0.25 -0.5 0.4375 \n-0.1875 -0.5 0.4375 \n-0.25 -0.5 0.3125 \n-0.1875 -0.5 0.25 \n-0.0625 -0.5 0.25 \n-0.0625 -0.5 0.3125 \n0.25 -0.5 -0.0625 \n0.3125 -0.5 -0.0625 \n0.25 -0.5 -0.1875 \n0.3125 -0.5 -0.25 \n0.4375 -0.5 -0.25 \n0.4375 -0.5 -0.1875 \n-0.5 -0.4375 -0.25 \n-0.5 -0.4375 -0.3125 \n-0.5 -0.3125 -0.25 \n-0.5 -0.25 -0.3125 \n-0.5 -0.25 -0.4375 \n-0.5 -0.3125 -0.4375 \n-0.5 -0.4375 0.25 \n-0.5 -0.4375 0.1875 \n-0.5 -0.3125 0.25 \n-0.5 -0.25 0.1875 \n-0.5 -0.25 0.0625 \n-0.5 -0.3125 0.0625 \n-0.5 0.0625 -0.25 \n-0.5 0.0625 -0.3125 \n-0.5 0.1875 -0.25 \n-0.5 0.25 -0.3125 \n-0.5 0.25 -0.4375 \n-0.5 0.1875 -0.4375 \n-0.5 0.4375 0.25 \n-0.5 0.4375 0.3125 \n-0.5 0.3125 0.25 \n-0.5 0.25 0.3125 \n-0.5 0.25 0.4375 \n-0.5 0.3125 0.4375 \n-0.5 0.4375 -0.25 \n-0.5 0.4375 -0.1875 \n-0.5 0.3125 -0.25 \n-0.5 0.25 -0.1875 \n-0.5 0.25 -0.0625 \n-0.5 0.3125 -0.0625 \n-0.5 -0.0625 0.25 \n-0.5 -0.0625 0.3125 \n-0.5 -0.1875 0.25 \n-0.5 -0.25 0.3125 \n-0.5 -0.25 0.4375 \n-0.5 -0.1875 0.4375 \n0 0.4375 0.5 \n0.0625 0.4375 0.5 \n0 0.3125 0.5 \n0.1875 0.3125 0.5 \n0 0.1875 0.5 \n0 0.0625 0.5 \n0.0625 0 0.5 \n0.1875 0 0.5 \n0.3125 0.1875 0.5 \n0.3125 0 0.5 \n0.4375 0 0.5 \n0.4375 0.0625 0.5 \n0 -0.4375 0.5 \n-0.0625 -0.4375 0.5 \n0 -0.3125 0.5 \n-0.1875 -0.3125 0.5 \n0 -0.1875 0.5 \n0 -0.0625 0.5 \n-0.0625 0 0.5 \n-0.1875 0 0.5 \n-0.3125 -0.1875 0.5 \n-0.3125 0 0.5 \n-0.4375 0 0.5 \n-0.4375 -0.0625 0.5 \n0.5 0 0.4375 \n0.5 0.0625 0.4375 \n0.5 0 0.3125 \n0.5 0.1875 0.3125 \n0.5 0 0.1875 \n0.5 0 0.0625 \n0.5 0.0625 0 \n0.5 0.1875 0 \n0.5 0.3125 0.1875 \n0.5 0.3125 0 \n0.5 0.4375 0 \n0.5 0.4375 0.0625 \n0.5 0 -0.4375 \n0.5 -0.0625 -0.4375 \n0.5 0 -0.3125 \n0.5 -0.1875 -0.3125 \n0.5 0 -0.1875 \n0.5 0 -0.0625 \n0.5 -0.0625 0 \n0.5 -0.1875 0 \n0.5 -0.3125 -0.1875 \n0.5 -0.3125 0 \n0.5 -0.4375 0 \n0.5 -0.4375 -0.0625 \n0.4375 0.5 0 \n0.4375 0.5 0.0625 \n0.3125 0.5 0 \n0.3125 0.5 0.1875 \n0.1875 0.5 0 \n0.0625 0.5 0 \n0 0.5 0.0625 \n0 0.5 0.1875 \n0.1875 0.5 0.3125 \n0 0.5 0.3125 \n0 0.5 0.4375 \n0.0625 0.5 0.4375 \n-0.4375 0.5 0 \n-0.4375 0.5 -0.0625 \n-0.3125 0.5 0 \n-0.3125 0.5 -0.1875 \n-0.1875 0.5 0 \n-0.0625 0.5 0 \n0 0.5 -0.0625 \n0 0.5 -0.1875 \n-0.1875 0.5 -0.3125 \n0 0.5 -0.3125 \n0 0.5 -0.4375 \n-0.0625 0.5 -0.4375 \n-0.4375 0 -0.5 \n-0.4375 -0.0625 -0.5 \n-0.3125 0 -0.5 \n-0.3125 -0.1875 -0.5 \n-0.1875 0 -0.5 \n-0.0625 0 -0.5 \n0 -0.0625 -0.5 \n0 -0.1875 -0.5 \n-0.1875 -0.3125 -0.5 \n0 -0.3125 -0.5 \n0 -0.4375 -0.5 \n-0.0625 -0.4375 -0.5 \n0.4375 0 -0.5 \n0.4375 0.0625 -0.5 \n0.3125 0 -0.5 \n0.3125 0.1875 -0.5 \n0.1875 0 -0.5 \n0.0625 0 -0.5 \n0 0.0625 -0.5 \n0 0.1875 -0.5 \n0.1875 0.3125 -0.5 \n0 0.3125 -0.5 \n0 0.4375 -0.5 \n0.0625 0.4375 -0.5 \n0 -0.5 -0.4375 \n-0.0625 -0.5 -0.4375 \n0 -0.5 -0.3125 \n-0.1875 -0.5 -0.3125 \n0 -0.5 -0.1875 \n0 -0.5 -0.0625 \n-0.0625 -0.5 0 \n-0.1875 -0.5 0 \n-0.3125 -0.5 -0.1875 \n-0.3125 -0.5 0 \n-0.4375 -0.5 0 \n-0.4375 -0.5 -0.0625 \n0 -0.5 0.4375 \n0.0625 -0.5 0.4375 \n0 -0.5 0.3125 \n0.1875 -0.5 0.3125 \n0 -0.5 0.1875 \n0 -0.5 0.0625 \n0.0625 -0.5 0 \n0.1875 -0.5 0 \n0.3125 -0.5 0.1875 \n0.3125 -0.5 0 \n0.4375 -0.5 0 \n0.4375 -0.5 0.0625 \n-0.5 -0.4375 0 \n-0.5 -0.4375 -0.0625 \n-0.5 -0.3125 0 \n-0.5 -0.3125 -0.1875 \n-0.5 -0.1875 0 \n-0.5 -0.0625 0 \n-0.5 0 -0.0625 \n-0.5 0 -0.1875 \n-0.5 -0.1875 -0.3125 \n-0.5 0 -0.3125 \n-0.5 0 -0.4375 \n-0.5 -0.0625 -0.4375 \n-0.5 0.4375 0 \n-0.5 0.4375 0.0625 \n-0.5 0.3125 0 \n-0.5 0.3125 0.1875 \n-0.5 0.1875 0 \n-0.5 0.0625 0 \n-0.5 0 0.0625 \n-0.5 0 0.1875 \n-0.5 0.1875 0.3125 \n-0.5 0 0.3125 \n-0.5 0 0.4375 \n-0.5 0.0625 0.4375 \n0.5 0.4375 0.5 \n0.3125 0.5 0.5 \n0.5 0.3125 0.5 \n0.1875 0.5 0.5 \n0.5 0.0625 0.5 \n-0.1875 0.5 0.5 \n-0.3125 0.5 0.5 \n-0.4375 0.4375 0.5 \n-0.3125 0.3125 0.5 \n-0.1875 0.1875 0.5 \n-0.0625 0.0625 0.5 \n0.5 -0.1875 0.5 \n0.0625 -0.0625 0.5 \n0.1875 -0.1875 0.5 \n0.5 -0.3125 0.5 \n0.3125 -0.3125 0.5 \n0.4375 -0.4375 0.5 \n-0.4375 -0.5 0.5 \n-0.5 -0.1875 0.5 \n-0.5 -0.0625 0.5 \n-0.5 0.1875 0.5 \n0.5 0.5 0.4375 \n0.5 0.5 0.1875 \n0.5 -0.4375 0.4375 \n0.5 -0.3125 0.3125 \n0.5 -0.1875 0.1875 \n0.5 -0.0625 0.0625 \n0.5 0.5 -0.0625 \n0.5 0.5 -0.1875 \n0.5 0.0625 -0.0625 \n0.5 0.1875 -0.1875 \n0.5 0.5 -0.3125 \n0.5 0.3125 -0.3125 \n0.5 0.4375 -0.4375 \n0.5 0.5 -0.4375 \n0.5 -0.3125 -0.5 \n0.5 -0.0625 -0.5 \n0.5 -0.5 -0.1875 \n0.5 -0.5 -0.0625 \n0.5 0.1875 -0.5 \n0.5 0.3125 -0.5 \n0.5 0.4375 -0.5 \n0.5 -0.5 0.1875 \n0.4375 0.5 -0.4375 \n0.3125 0.5 -0.3125 \n0.1875 0.5 -0.1875 \n0.0625 0.5 -0.0625 \n-0.0625 0.5 0.0625 \n-0.1875 0.5 0.1875 \n-0.3125 0.5 0.3125 \n-0.4375 0.5 0.4375 \n-0.4375 0.5 -0.5 \n-0.5 0.5 -0.1875 \n-0.5 0.5 -0.0625 \n-0.1875 0.5 -0.5 \n-0.0625 0.5 -0.5 \n-0.5 0.5 0.4375 \n0.1875 0.5 -0.5 \n0.3125 0.5 -0.5 \n0.4375 0.5 -0.5 \n-0.4375 -0.5 -0.5 \n-0.5 -0.3125 -0.5 \n-0.3125 -0.5 -0.5 \n-0.5 -0.1875 -0.5 \n-0.1875 -0.5 -0.5 \n-0.5 0.0625 -0.5 \n-0.5 0.1875 -0.5 \n-0.5 0.3125 -0.5 \n-0.4375 0.4375 -0.5 \n-0.3125 0.3125 -0.5 \n-0.1875 0.1875 -0.5 \n-0.0625 0.0625 -0.5 \n0.1875 -0.5 -0.5 \n0.0625 -0.0625 -0.5 \n0.1875 -0.1875 -0.5 \n0.3125 -0.3125 -0.5 \n0.4375 -0.4375 -0.5 \n-0.5 -0.5 -0.4375 \n-0.5 -0.5 -0.3125 \n0.4375 -0.5 -0.4375 \n0.3125 -0.5 -0.3125 \n0.1875 -0.5 -0.1875 \n0.0625 -0.5 -0.0625 \n-0.5 -0.5 0.0625 \n-0.0625 -0.5 0.0625 \n-0.1875 -0.5 0.1875 \n-0.5 -0.5 0.3125 \n-0.3125 -0.5 0.3125 \n-0.4375 -0.5 0.4375 \n-0.5 -0.5 0.4375 \n-0.5 -0.4375 0.4375 \n-0.5 -0.3125 0.3125 \n-0.5 -0.1875 0.1875 \n-0.5 -0.0625 0.0625 \n-0.5 0.0625 -0.0625 \n-0.5 0.1875 -0.1875 \n-0.5 0.3125 -0.3125 \n-0.5 0.4375 -0.4375 \n0.5 0.1875 0.5 \n0.5 -0.0625 0.5 \n0.5 -0.4375 0.5 \n0.4375 0.5 0.5 \n0.5 0.5 0.3125 \n0.5 0.5 0.0625 \n0.0625 0.5 0.5 \n-0.0625 0.5 0.5 \n-0.4375 0.5 0.5 \n0.5 0.0625 -0.5 \n0.0625 0.5 -0.5 \n0.5 -0.1875 -0.5 \n0.5 -0.4375 -0.5 \n-0.3125 0.5 -0.5 \n-0.0625 -0.5 -0.5 \n0.0625 -0.5 -0.5 \n0.3125 -0.5 -0.5 \n0.4375 -0.5 -0.5 \n0.4375 -0.5 0.5 \n0.5 -0.5 0.4375 \n0.3125 -0.5 0.5 \n0.5 -0.5 0.3125 \n0.1875 -0.5 0.5 \n0.0625 -0.5 0.5 \n0.5 -0.5 0.0625 \n-0.0625 -0.5 0.5 \n-0.1875 -0.5 0.5 \n-0.3125 -0.5 0.5 \n0.5 -0.5 -0.3125 \n0.5 -0.5 -0.4375 \n-0.5 -0.4375 -0.5 \n-0.5 -0.5 -0.1875 \n-0.5 -0.5 -0.0625 \n-0.5 -0.0625 -0.5 \n-0.5 -0.5 0.1875 \n-0.5 0.4375 -0.5 \n-0.5 0.4375 0.5 \n-0.5 0.5 0.3125 \n-0.5 0.3125 0.5 \n-0.5 0.5 0.1875 \n-0.5 0.5 0.0625 \n-0.5 0.0625 0.5 \n-0.5 0.5 -0.3125 \n-0.5 0.5 -0.4375 \n-0.5 -0.3125 0.5 \n-0.5 -0.4375 0.5 \n0.5 0.375 0.5 \n0.5 -0.375 0.5 \n0.5 0.5 0.375 \n0.375 0.5 0.5 \n0.5 0.5 -0.125 \n0.5 0.375 -0.5 \n0.375 0.5 -0.5 \n0.5 -0.125 -0.5 \n0.5 -0.375 -0.5 \n-0.375 0.5 -0.5 \n0.125 -0.5 -0.5 \n0.375 -0.5 0.5 \n0.5 -0.5 0.375 \n0.125 -0.5 0.5 \n-0.5 -0.5 -0.375 \n-0.5 -0.125 -0.5 \n-0.5 -0.5 0.125 \n-0.5 -0.5 0.375 \n-0.5 0.375 0.5 \n-0.5 -0.125 0.5 \n0.5 -0.25 -0.5 \n-0.25 -0.5 -0.5 \n0.5 -0.5 -0.25 \n-0.5 -0.25 -0.5 \n-0.5 -0.5 0.25 \n-0.5 0.5 0.25 \n-0.5 0.25 0.5 \n0 0.5 0.5 \n0 0.5 -0.5 \n0 -0.5 -0.5 \n0.5 -0.5 0 \n-0.5 0.5 0.5 \n0.5 0.5 -0.5 \n0.5 -0.5 0.5 \n-0.5 0.5 -0.5 \n3 351 352 353 \n3 354 355 356 \n3 357 358 359 \n3 360 361 362 \n3 363 364 365 \n3 366 367 368 \n3 369 370 371 \n3 372 373 374 \n3 375 376 377 \n3 378 379 380 \n3 381 382 383 \n3 384 385 386 \n3 387 388 389 \n3 390 391 392 \n3 393 394 395 \n3 396 397 398 \n3 399 400 401 \n3 402 403 404 \n3 405 406 407 \n3 408 409 410 \n3 411 412 413 \n3 414 415 416 \n3 417 418 419 \n3 420 421 422 \n3 423 424 425 \n3 426 427 428 \n3 429 430 431 \n3 432 433 434 \n3 435 436 437 \n3 438 439 440 \n3 441 442 443 \n3 444 445 446 \n3 447 448 449 \n3 450 451 452 \n3 453 454 455 \n3 456 457 458 \n3 459 460 461 \n3 462 463 464 \n3 465 466 467 \n3 468 469 470 \n3 471 472 473 \n3 474 475 476 \n3 477 478 479 \n3 480 481 482 \n3 483 484 485 \n3 486 487 488 \n3 489 490 491 \n3 492 493 494 \n3 495 496 497 \n3 498 499 500 \n3 501 502 503 \n3 504 505 506 \n3 507 508 509 \n3 510 511 512 \n3 513 514 515 \n3 516 517 518 \n3 519 520 521 \n3 522 523 524 \n3 525 526 527 \n3 528 529 530 \n3 531 532 533 \n3 534 535 536 \n3 537 538 539 \n3 540 541 542 \n3 543 544 545 \n3 546 547 548 \n3 549 550 551 \n3 552 553 554 \n3 555 556 557 \n3 558 559 560 \n3 561 562 563 \n3 564 565 566 \n3 567 568 569 \n3 570 571 572 \n3 573 574 575 \n3 576 577 578 \n3 579 580 581 \n3 582 583 584 \n3 585 586 587 \n3 588 589 590 \n3 591 592 593 \n3 594 595 596 \n3 597 598 599 \n3 600 601 602 \n3 603 604 605 \n3 606 607 608 \n3 609 610 611 \n3 612 613 614 \n3 615 616 617 \n3 618 619 620 \n3 621 622 623 \n3 624 625 626 \n3 627 628 629 \n3 630 631 632 \n3 633 634 635 \n3 636 637 638 \n3 639 640 641 \n3 642 643 644 \n3 645 646 647 \n3 648 649 650 \n3 651 652 653 \n3 654 655 656 \n3 657 658 659 \n3 660 661 662 \n3 663 664 665 \n3 666 667 668 \n3 669 670 671 \n3 672 673 674 \n3 675 676 677 \n3 678 679 680 \n3 681 682 683 \n3 684 685 686 \n3 687 688 689 \n3 690 691 692 \n3 693 694 695 \n3 696 697 698 \n3 699 700 701 \n3 702 703 704 \n3 705 706 707 \n3 708 709 710 \n3 711 712 713 \n3 714 715 716 \n3 717 718 719 \n3 720 721 722 \n3 723 724 725 \n3 726 727 728 \n3 729 730 731 \n3 732 733 734 \n3 735 736 737 \n3 738 739 740 \n3 741 742 743 \n3 744 745 746 \n3 747 748 749 \n3 750 751 752 \n3 753 754 755 \n3 756 757 758 \n3 759 760 761 \n3 762 763 764 \n3 765 766 767 \n3 768 769 770 \n3 771 772 773 \n3 774 775 776 \n3 777 778 779 \n3 780 781 782 \n3 783 784 785 \n3 786 787 788 \n3 789 790 791 \n3 792 793 794 \n3 795 796 797 \n3 798 799 800 \n3 801 802 803 \n3 804 805 806 \n3 807 808 809 \n3 810 811 812 \n3 813 814 815 \n3 816 817 818 \n3 819 820 821 \n3 822 823 824 \n3 825 826 827 \n3 828 829 830 \n3 831 832 833 \n3 834 835 836 \n3 837 838 839 \n3 840 841 842 \n3 843 844 845 \n3 846 847 848 \n3 849 850 851 \n3 852 853 854 \n3 855 856 857 \n3 858 859 860 \n3 861 862 863 \n3 864 865 866 \n3 867 868 869 \n3 870 871 872 \n3 873 874 875 \n3 876 877 878 \n3 879 880 881 \n3 882 883 884 \n3 885 886 887 \n3 888 889 890 \n3 891 892 893 \n3 894 895 896 \n3 897 898 899 \n3 900 901 902 \n3 903 904 905 \n3 906 907 908 \n3 909 910 911 \n3 912 913 914 \n3 915 916 917 \n3 918 919 920 \n3 921 922 923 \n3 924 925 926 \n3 927 353 928 \n3 929 930 351 \n3 352 931 932 \n3 933 356 934 \n3 935 936 354 \n3 355 937 938 \n3 939 359 940 \n3 941 942 357 \n3 358 943 944 \n3 945 362 946 \n3 947 948 360 \n3 361 949 950 \n3 951 365 952 \n3 953 954 363 \n3 364 955 956 \n3 957 368 958 \n3 959 960 366 \n3 367 961 962 \n3 963 371 964 \n3 965 966 369 \n3 370 967 968 \n3 969 374 970 \n3 971 972 372 \n3 373 973 974 \n3 975 377 976 \n3 977 978 375 \n3 376 979 980 \n3 981 380 982 \n3 983 984 378 \n3 379 985 986 \n3 987 383 988 \n3 989 990 381 \n3 382 991 992 \n3 993 386 994 \n3 995 996 384 \n3 385 997 998 \n3 999 389 1000 \n3 1001 1002 387 \n3 388 1003 1004 \n3 1005 392 1006 \n3 1007 1008 390 \n3 391 1009 1010 \n3 1011 395 1012 \n3 1013 1014 393 \n3 394 1015 1016 \n3 1017 398 1018 \n3 1019 1020 396 \n3 397 1021 1022 \n3 1023 401 1024 \n3 1025 1026 399 \n3 400 1027 1028 \n3 1029 404 1030 \n3 1031 1032 402 \n3 403 1033 1034 \n3 1035 407 1036 \n3 1037 1038 405 \n3 406 1039 1040 \n3 1041 410 1042 \n3 1043 1044 408 \n3 409 1045 1046 \n3 1047 413 1048 \n3 1049 1050 411 \n3 412 1051 1052 \n3 1053 416 1054 \n3 1055 1056 414 \n3 415 1057 1058 \n3 1059 419 1060 \n3 1061 1062 417 \n3 418 1063 1064 \n3 1065 422 1066 \n3 1067 1068 420 \n3 421 1069 1070 \n3 1071 425 1072 \n3 1073 1074 423 \n3 424 1075 1076 \n3 1077 428 1078 \n3 1079 1080 426 \n3 427 1081 1082 \n3 1083 431 1084 \n3 1085 1086 429 \n3 430 1087 1088 \n3 1089 434 1090 \n3 1091 1092 432 \n3 433 1093 1094 \n3 1095 437 1096 \n3 1097 1098 435 \n3 436 1099 1100 \n3 1101 440 1102 \n3 1103 1104 438 \n3 439 1105 1106 \n3 1107 443 1108 \n3 1109 1110 441 \n3 442 1111 1112 \n3 1113 446 1114 \n3 1115 1116 444 \n3 445 1117 1118 \n3 1119 449 1120 \n3 1121 1122 447 \n3 448 1123 1124 \n3 1125 452 1126 \n3 1127 1128 450 \n3 451 1129 1130 \n3 1131 455 1132 \n3 1133 1134 453 \n3 454 1135 1136 \n3 1137 458 1138 \n3 1139 1140 456 \n3 457 1141 1142 \n3 1143 461 1144 \n3 1145 1146 459 \n3 460 1147 1148 \n3 1149 464 1150 \n3 1151 1152 462 \n3 463 1153 1154 \n3 1155 467 1156 \n3 1157 1158 465 \n3 466 1159 1160 \n3 1161 470 1162 \n3 1163 1164 468 \n3 469 1165 1166 \n3 1167 473 1168 \n3 1169 1170 471 \n3 472 1171 1172 \n3 1173 476 1174 \n3 1175 1176 474 \n3 475 1177 1178 \n3 1179 479 1180 \n3 1181 1182 477 \n3 478 1183 1184 \n3 1185 482 1186 \n3 1187 1188 480 \n3 481 1189 1190 \n3 1191 485 1192 \n3 1193 1194 483 \n3 484 1195 1196 \n3 1197 488 1198 \n3 1199 1200 486 \n3 487 1201 1202 \n3 1203 491 1204 \n3 1205 1206 489 \n3 490 1207 1208 \n3 1209 494 1210 \n3 1211 1212 492 \n3 493 1213 1214 \n3 1215 497 1216 \n3 1217 928 495 \n3 496 932 1218 \n3 1219 500 927 \n3 1220 1221 498 \n3 499 1222 929 \n3 931 503 1223 \n3 930 1224 501 \n3 502 1225 1226 \n3 1227 506 1228 \n3 1229 934 504 \n3 505 938 1230 \n3 1231 509 933 \n3 1232 1233 507 \n3 508 1234 935 \n3 937 512 1235 \n3 936 1236 510 \n3 511 1237 1238 \n3 1239 515 1240 \n3 1241 940 513 \n3 514 944 1242 \n3 1243 518 939 \n3 1244 1245 516 \n3 517 1246 941 \n3 943 521 1247 \n3 942 1248 519 \n3 520 1249 1250 \n3 1251 524 1252 \n3 1253 946 522 \n3 523 950 1254 \n3 1255 527 945 \n3 1256 1257 525 \n3 526 1258 947 \n3 949 530 1259 \n3 948 1260 528 \n3 529 1261 1262 \n3 1263 533 1264 \n3 1265 952 531 \n3 532 956 1266 \n3 1267 536 951 \n3 1268 1269 534 \n3 535 1270 953 \n3 955 539 1271 \n3 954 1272 537 \n3 538 1273 1274 \n3 1275 542 1276 \n3 1277 958 540 \n3 541 962 1278 \n3 1279 545 957 \n3 1280 1281 543 \n3 544 1282 959 \n3 961 548 1283 \n3 960 1284 546 \n3 547 1285 1286 \n3 1287 551 1288 \n3 1289 964 549 \n3 550 968 1290 \n3 1291 554 963 \n3 1292 1293 552 \n3 553 1294 965 \n3 967 557 1295 \n3 966 1296 555 \n3 556 1297 1298 \n3 1299 560 1300 \n3 1301 970 558 \n3 559 974 1302 \n3 1303 563 969 \n3 1304 1305 561 \n3 562 1306 971 \n3 973 566 1307 \n3 972 1308 564 \n3 565 1309 1310 \n3 1311 569 1312 \n3 1313 976 567 \n3 568 980 1314 \n3 1315 572 975 \n3 1316 1317 570 \n3 571 1318 977 \n3 979 575 1319 \n3 978 1320 573 \n3 574 1321 1322 \n3 1323 578 1324 \n3 1325 982 576 \n3 577 986 1326 \n3 1327 581 981 \n3 1328 1329 579 \n3 580 1330 983 \n3 985 584 1331 \n3 984 1332 582 \n3 583 1333 1334 \n3 1335 587 1336 \n3 1337 988 585 \n3 586 992 1338 \n3 1339 590 987 \n3 1340 1341 588 \n3 589 1342 989 \n3 991 593 1343 \n3 990 1344 591 \n3 592 1345 1346 \n3 1347 596 1348 \n3 1349 994 594 \n3 595 998 1350 \n3 1351 599 993 \n3 1352 1353 597 \n3 598 1354 995 \n3 997 602 1355 \n3 996 1356 600 \n3 601 1357 1358 \n3 1460 605 1359 \n3 1360 1000 603 \n3 604 1004 1361 \n3 1362 608 999 \n3 1463 1216 606 \n3 607 1218 1001 \n3 1003 611 1457 \n3 1002 1223 609 \n3 610 1226 1363 \n3 1464 614 1215 \n3 1364 1006 612 \n3 613 1010 1217 \n3 1365 617 1005 \n3 1465 1366 615 \n3 616 1367 1007 \n3 1009 620 1219 \n3 1008 1368 618 \n3 619 1369 1220 \n3 1225 623 1458 \n3 1224 1012 621 \n3 622 1016 1370 \n3 1222 626 1011 \n3 1221 1371 624 \n3 625 1372 1013 \n3 1015 629 1373 \n3 1014 1374 627 \n3 628 1375 1459 \n3 1376 632 1502 \n3 1484 1018 630 \n3 631 1022 1501 \n3 1483 635 1017 \n3 1482 1228 633 \n3 634 1230 1019 \n3 1021 638 1377 \n3 1020 1235 636 \n3 637 1238 1378 \n3 1480 641 1227 \n3 1479 1024 639 \n3 640 1028 1229 \n3 1477 644 1023 \n3 1475 1375 642 \n3 643 1374 1025 \n3 1027 647 1231 \n3 1026 1372 645 \n3 646 1371 1232 \n3 1237 650 1498 \n3 1236 1030 648 \n3 649 1034 1379 \n3 1234 653 1029 \n3 1233 1369 651 \n3 652 1368 1031 \n3 1033 656 1495 \n3 1032 1367 654 \n3 655 1366 1493 \n3 1359 659 1380 \n3 1361 1036 657 \n3 658 1040 1461 \n3 1457 662 1035 \n3 1363 1240 660 \n3 661 1242 1037 \n3 1039 665 1381 \n3 1038 1247 663 \n3 664 1250 1462 \n3 1458 668 1239 \n3 1370 1042 666 \n3 667 1046 1241 \n3 1373 671 1041 \n3 1459 1382 669 \n3 670 1383 1043 \n3 1045 674 1243 \n3 1044 1384 672 \n3 673 1385 1244 \n3 1249 677 1386 \n3 1248 1048 675 \n3 676 1052 1387 \n3 1246 680 1047 \n3 1245 1388 678 \n3 679 1389 1049 \n3 1051 683 1390 \n3 1050 1391 681 \n3 682 1392 1393 \n3 1469 686 1486 \n3 1394 1054 684 \n3 685 1058 1485 \n3 1468 689 1053 \n3 1395 1252 687 \n3 688 1254 1055 \n3 1057 692 1396 \n3 1056 1259 690 \n3 691 1262 1397 \n3 1466 695 1251 \n3 1398 1060 693 \n3 694 1064 1253 \n3 1399 698 1059 \n3 1400 1392 696 \n3 697 1391 1061 \n3 1063 701 1255 \n3 1062 1389 699 \n3 700 1388 1256 \n3 1261 704 1481 \n3 1260 1066 702 \n3 703 1070 1401 \n3 1258 707 1065 \n3 1257 1385 705 \n3 706 1384 1067 \n3 1069 710 1478 \n3 1068 1383 708 \n3 709 1382 1476 \n3 1380 713 1460 \n3 1461 1072 711 \n3 712 1076 1360 \n3 1381 716 1071 \n3 1462 1264 714 \n3 715 1266 1073 \n3 1075 719 1362 \n3 1074 1271 717 \n3 718 1274 1463 \n3 1386 722 1263 \n3 1387 1078 720 \n3 721 1082 1265 \n3 1390 725 1077 \n3 1393 1402 723 \n3 724 1403 1079 \n3 1081 728 1267 \n3 1080 1404 726 \n3 727 1405 1268 \n3 1273 731 1464 \n3 1272 1084 729 \n3 730 1088 1364 \n3 1270 734 1083 \n3 1269 1406 732 \n3 733 1407 1085 \n3 1087 737 1365 \n3 1086 1408 735 \n3 736 1409 1465 \n3 1500 740 1410 \n3 1499 1090 738 \n3 739 1094 1470 \n3 1411 743 1089 \n3 1412 1276 741 \n3 742 1278 1091 \n3 1093 746 1413 \n3 1092 1283 744 \n3 745 1286 1414 \n3 1497 749 1275 \n3 1496 1096 747 \n3 748 1100 1277 \n3 1494 752 1095 \n3 1415 1409 750 \n3 751 1408 1097 \n3 1099 755 1279 \n3 1098 1407 753 \n3 754 1406 1280 \n3 1285 758 1467 \n3 1284 1102 756 \n3 757 1106 1416 \n3 1282 761 1101 \n3 1281 1405 759 \n3 760 1404 1103 \n3 1105 764 1417 \n3 1104 1403 762 \n3 763 1402 1418 \n3 1487 767 1419 \n3 1420 1108 765 \n3 766 1112 1421 \n3 1422 770 1107 \n3 1490 1288 768 \n3 769 1290 1109 \n3 1111 773 1423 \n3 1110 1295 771 \n3 772 1298 1471 \n3 1424 776 1287 \n3 1425 1114 774 \n3 775 1118 1289 \n3 1426 779 1113 \n3 1492 1427 777 \n3 778 1428 1115 \n3 1117 782 1291 \n3 1116 1429 780 \n3 781 1430 1292 \n3 1297 785 1472 \n3 1296 1120 783 \n3 784 1124 1431 \n3 1294 788 1119 \n3 1293 1432 786 \n3 787 1433 1121 \n3 1123 791 1473 \n3 1122 1434 789 \n3 790 1435 1474 \n3 1400 794 1418 \n3 1399 1126 792 \n3 793 1130 1417 \n3 1398 797 1125 \n3 1466 1300 795 \n3 796 1302 1127 \n3 1129 800 1416 \n3 1128 1307 798 \n3 799 1310 1467 \n3 1395 803 1299 \n3 1468 1132 801 \n3 802 1136 1301 \n3 1394 806 1131 \n3 1469 1435 804 \n3 805 1434 1133 \n3 1135 809 1303 \n3 1134 1433 807 \n3 808 1432 1304 \n3 1309 812 1414 \n3 1308 1138 810 \n3 811 1142 1413 \n3 1306 815 1137 \n3 1305 1430 813 \n3 814 1429 1139 \n3 1141 818 1470 \n3 1140 1428 816 \n3 817 1427 1410 \n3 1419 821 1436 \n3 1421 1144 819 \n3 820 1148 1437 \n3 1423 824 1143 \n3 1471 1312 822 \n3 823 1314 1145 \n3 1147 827 1488 \n3 1146 1319 825 \n3 826 1322 1489 \n3 1472 830 1311 \n3 1431 1150 828 \n3 829 1154 1313 \n3 1473 833 1149 \n3 1474 1438 831 \n3 832 1439 1151 \n3 1153 836 1315 \n3 1152 1440 834 \n3 835 1441 1316 \n3 1321 839 1442 \n3 1320 1156 837 \n3 838 1160 1491 \n3 1318 842 1155 \n3 1317 1443 840 \n3 841 1444 1157 \n3 1159 845 1445 \n3 1158 1446 843 \n3 844 1447 1448 \n3 1475 848 1476 \n3 1477 1162 846 \n3 847 1166 1478 \n3 1479 851 1161 \n3 1480 1324 849 \n3 850 1326 1163 \n3 1165 854 1401 \n3 1164 1331 852 \n3 853 1334 1481 \n3 1482 857 1323 \n3 1483 1168 855 \n3 856 1172 1325 \n3 1484 860 1167 \n3 1376 1447 858 \n3 859 1446 1169 \n3 1171 863 1327 \n3 1170 1444 861 \n3 862 1443 1328 \n3 1333 866 1397 \n3 1332 1174 864 \n3 865 1178 1396 \n3 1330 869 1173 \n3 1329 1441 867 \n3 868 1440 1175 \n3 1177 872 1485 \n3 1176 1439 870 \n3 871 1438 1486 \n3 1436 875 1487 \n3 1437 1180 873 \n3 874 1184 1420 \n3 1488 878 1179 \n3 1489 1336 876 \n3 877 1338 1181 \n3 1183 881 1422 \n3 1182 1343 879 \n3 880 1346 1490 \n3 1442 884 1335 \n3 1491 1186 882 \n3 883 1190 1337 \n3 1445 887 1185 \n3 1448 1449 885 \n3 886 1450 1187 \n3 1189 890 1339 \n3 1188 1451 888 \n3 889 1452 1340 \n3 1345 893 1424 \n3 1344 1192 891 \n3 892 1196 1425 \n3 1342 896 1191 \n3 1341 1453 894 \n3 895 1454 1193 \n3 1195 899 1426 \n3 1194 1455 897 \n3 898 1456 1492 \n3 1415 902 1493 \n3 1494 1198 900 \n3 901 1202 1495 \n3 1496 905 1197 \n3 1497 1348 903 \n3 904 1350 1199 \n3 1201 908 1379 \n3 1200 1355 906 \n3 907 1358 1498 \n3 1412 911 1347 \n3 1411 1204 909 \n3 910 1208 1349 \n3 1499 914 1203 \n3 1500 1456 912 \n3 913 1455 1205 \n3 1207 917 1351 \n3 1206 1454 915 \n3 916 1453 1352 \n3 1357 920 1378 \n3 1356 1210 918 \n3 919 1214 1377 \n3 1354 923 1209 \n3 1353 1452 921 \n3 922 1451 1211 \n3 1213 926 1501 \n3 1212 1450 924 \n3 925 1449 1502 \n3 83 351 353 \n3 351 84 352 \n3 353 352 85 \n3 86 354 356 \n3 354 87 355 \n3 356 355 88 \n3 89 357 359 \n3 357 90 358 \n3 359 358 91 \n3 92 360 362 \n3 360 93 361 \n3 362 361 94 \n3 95 363 365 \n3 363 96 364 \n3 365 364 97 \n3 98 366 368 \n3 366 99 367 \n3 368 367 100 \n3 101 369 371 \n3 369 102 370 \n3 371 370 103 \n3 104 372 374 \n3 372 105 373 \n3 374 373 106 \n3 107 375 377 \n3 375 108 376 \n3 377 376 109 \n3 110 378 380 \n3 378 111 379 \n3 380 379 112 \n3 113 381 383 \n3 381 114 382 \n3 383 382 115 \n3 116 384 386 \n3 384 117 385 \n3 386 385 118 \n3 119 387 389 \n3 387 120 388 \n3 389 388 121 \n3 122 390 392 \n3 390 123 391 \n3 392 391 124 \n3 125 393 395 \n3 393 126 394 \n3 395 394 127 \n3 128 396 398 \n3 396 129 397 \n3 398 397 130 \n3 131 399 401 \n3 399 132 400 \n3 401 400 133 \n3 134 402 404 \n3 402 135 403 \n3 404 403 136 \n3 137 405 407 \n3 405 138 406 \n3 407 406 139 \n3 140 408 410 \n3 408 141 409 \n3 410 409 142 \n3 143 411 413 \n3 411 144 412 \n3 413 412 145 \n3 146 414 416 \n3 414 147 415 \n3 416 415 148 \n3 149 417 419 \n3 417 150 418 \n3 419 418 151 \n3 152 420 422 \n3 420 153 421 \n3 422 421 154 \n3 155 423 425 \n3 423 156 424 \n3 425 424 157 \n3 158 426 428 \n3 426 159 427 \n3 428 427 160 \n3 161 429 431 \n3 429 162 430 \n3 431 430 163 \n3 164 432 434 \n3 432 165 433 \n3 434 433 166 \n3 167 435 437 \n3 435 168 436 \n3 437 436 169 \n3 170 438 440 \n3 438 171 439 \n3 440 439 172 \n3 173 441 443 \n3 441 174 442 \n3 443 442 175 \n3 176 444 446 \n3 444 177 445 \n3 446 445 178 \n3 179 447 449 \n3 447 180 448 \n3 449 448 181 \n3 182 450 452 \n3 450 183 451 \n3 452 451 184 \n3 185 453 455 \n3 453 186 454 \n3 455 454 187 \n3 188 456 458 \n3 456 189 457 \n3 458 457 190 \n3 191 459 461 \n3 459 192 460 \n3 461 460 193 \n3 194 462 464 \n3 462 195 463 \n3 464 463 196 \n3 197 465 467 \n3 465 198 466 \n3 467 466 199 \n3 200 468 470 \n3 468 201 469 \n3 470 469 202 \n3 203 471 473 \n3 471 204 472 \n3 473 472 205 \n3 206 474 476 \n3 474 207 475 \n3 476 475 208 \n3 209 477 479 \n3 477 210 478 \n3 479 478 211 \n3 212 480 482 \n3 480 213 481 \n3 482 481 214 \n3 215 483 485 \n3 483 216 484 \n3 485 484 217 \n3 218 486 488 \n3 486 219 487 \n3 488 487 220 \n3 221 489 491 \n3 489 222 490 \n3 491 490 223 \n3 224 492 494 \n3 492 225 493 \n3 494 493 226 \n3 227 495 497 \n3 495 85 496 \n3 497 496 228 \n3 229 498 500 \n3 498 230 499 \n3 500 499 83 \n3 84 501 503 \n3 501 231 502 \n3 503 502 232 \n3 233 504 506 \n3 504 88 505 \n3 506 505 234 \n3 235 507 509 \n3 507 236 508 \n3 509 508 86 \n3 87 510 512 \n3 510 237 511 \n3 512 511 238 \n3 239 513 515 \n3 513 91 514 \n3 515 514 240 \n3 241 516 518 \n3 516 242 517 \n3 518 517 89 \n3 90 519 521 \n3 519 243 520 \n3 521 520 244 \n3 245 522 524 \n3 522 94 523 \n3 524 523 246 \n3 247 525 527 \n3 525 248 526 \n3 527 526 92 \n3 93 528 530 \n3 528 249 529 \n3 530 529 250 \n3 251 531 533 \n3 531 97 532 \n3 533 532 252 \n3 253 534 536 \n3 534 254 535 \n3 536 535 95 \n3 96 537 539 \n3 537 255 538 \n3 539 538 256 \n3 257 540 542 \n3 540 100 541 \n3 542 541 258 \n3 259 543 545 \n3 543 260 544 \n3 545 544 98 \n3 99 546 548 \n3 546 261 547 \n3 548 547 262 \n3 263 549 551 \n3 549 103 550 \n3 551 550 264 \n3 265 552 554 \n3 552 266 553 \n3 554 553 101 \n3 102 555 557 \n3 555 267 556 \n3 557 556 268 \n3 269 558 560 \n3 558 106 559 \n3 560 559 270 \n3 271 561 563 \n3 561 272 562 \n3 563 562 104 \n3 105 564 566 \n3 564 273 565 \n3 566 565 274 \n3 275 567 569 \n3 567 109 568 \n3 569 568 276 \n3 277 570 572 \n3 570 278 571 \n3 572 571 107 \n3 108 573 575 \n3 573 279 574 \n3 575 574 280 \n3 281 576 578 \n3 576 112 577 \n3 578 577 282 \n3 283 579 581 \n3 579 284 580 \n3 581 580 110 \n3 111 582 584 \n3 582 285 583 \n3 584 583 286 \n3 287 585 587 \n3 585 115 586 \n3 587 586 288 \n3 289 588 590 \n3 588 290 589 \n3 590 589 113 \n3 114 591 593 \n3 591 291 592 \n3 593 592 292 \n3 293 594 596 \n3 594 118 595 \n3 596 595 294 \n3 295 597 599 \n3 597 296 598 \n3 599 598 116 \n3 117 600 602 \n3 600 297 601 \n3 602 601 298 \n3 1506 603 605 \n3 603 121 604 \n3 605 604 1503 \n3 299 606 608 \n3 606 228 607 \n3 608 607 119 \n3 120 609 611 \n3 609 232 610 \n3 611 610 300 \n3 301 612 614 \n3 612 124 613 \n3 614 613 227 \n3 302 615 617 \n3 615 303 616 \n3 617 616 122 \n3 123 618 620 \n3 618 304 619 \n3 620 619 229 \n3 231 621 623 \n3 621 127 622 \n3 623 622 305 \n3 230 624 626 \n3 624 306 625 \n3 626 625 125 \n3 126 627 629 \n3 627 307 628 \n3 629 628 1504 \n3 308 630 632 \n3 630 130 631 \n3 632 631 309 \n3 310 633 635 \n3 633 234 634 \n3 635 634 128 \n3 129 636 638 \n3 636 238 637 \n3 638 637 1522 \n3 1516 639 641 \n3 639 133 640 \n3 641 640 233 \n3 1514 642 644 \n3 642 307 643 \n3 644 643 131 \n3 132 645 647 \n3 645 306 646 \n3 647 646 235 \n3 237 648 650 \n3 648 136 649 \n3 650 649 311 \n3 236 651 653 \n3 651 304 652 \n3 653 652 134 \n3 135 654 656 \n3 654 303 655 \n3 656 655 1521 \n3 1503 657 659 \n3 657 139 658 \n3 659 658 1505 \n3 300 660 662 \n3 660 240 661 \n3 662 661 137 \n3 138 663 665 \n3 663 244 664 \n3 665 664 312 \n3 305 666 668 \n3 666 142 667 \n3 668 667 239 \n3 1504 669 671 \n3 669 313 670 \n3 671 670 140 \n3 141 672 674 \n3 672 314 673 \n3 674 673 241 \n3 243 675 677 \n3 675 145 676 \n3 677 676 1507 \n3 242 678 680 \n3 678 315 679 \n3 680 679 143 \n3 144 681 683 \n3 681 316 682 \n3 683 682 317 \n3 1511 684 686 \n3 684 148 685 \n3 686 685 318 \n3 1510 687 689 \n3 687 246 688 \n3 689 688 146 \n3 147 690 692 \n3 690 250 691 \n3 692 691 319 \n3 320 693 695 \n3 693 151 694 \n3 695 694 245 \n3 1508 696 698 \n3 696 316 697 \n3 698 697 149 \n3 150 699 701 \n3 699 315 700 \n3 701 700 247 \n3 249 702 704 \n3 702 154 703 \n3 704 703 321 \n3 248 705 707 \n3 705 314 706 \n3 707 706 152 \n3 153 708 710 \n3 708 313 709 \n3 710 709 1515 \n3 1505 711 713 \n3 711 157 712 \n3 713 712 1506 \n3 312 714 716 \n3 714 252 715 \n3 716 715 155 \n3 156 717 719 \n3 717 256 718 \n3 719 718 299 \n3 1507 720 722 \n3 720 160 721 \n3 722 721 251 \n3 317 723 725 \n3 723 322 724 \n3 725 724 158 \n3 159 726 728 \n3 726 323 727 \n3 728 727 253 \n3 255 729 731 \n3 729 163 730 \n3 731 730 301 \n3 254 732 734 \n3 732 324 733 \n3 734 733 161 \n3 162 735 737 \n3 735 325 736 \n3 737 736 302 \n3 326 738 740 \n3 738 166 739 \n3 740 739 1512 \n3 327 741 743 \n3 741 258 742 \n3 743 742 164 \n3 165 744 746 \n3 744 262 745 \n3 746 745 328 \n3 329 747 749 \n3 747 169 748 \n3 749 748 257 \n3 330 750 752 \n3 750 325 751 \n3 752 751 167 \n3 168 753 755 \n3 753 324 754 \n3 755 754 259 \n3 261 756 758 \n3 756 172 757 \n3 758 757 331 \n3 260 759 761 \n3 759 323 760 \n3 761 760 170 \n3 171 762 764 \n3 762 322 763 \n3 764 763 1509 \n3 332 765 767 \n3 765 175 766 \n3 767 766 333 \n3 1518 768 770 \n3 768 264 769 \n3 770 769 173 \n3 174 771 773 \n3 771 268 772 \n3 773 772 334 \n3 335 774 776 \n3 774 178 775 \n3 776 775 263 \n3 336 777 779 \n3 777 337 778 \n3 779 778 176 \n3 177 780 782 \n3 780 338 781 \n3 782 781 265 \n3 267 783 785 \n3 783 181 784 \n3 785 784 1513 \n3 266 786 788 \n3 786 339 787 \n3 788 787 179 \n3 180 789 791 \n3 789 340 790 \n3 791 790 341 \n3 1508 792 794 \n3 792 184 793 \n3 794 793 1509 \n3 320 795 797 \n3 795 270 796 \n3 797 796 182 \n3 183 798 800 \n3 798 274 799 \n3 800 799 331 \n3 1510 801 803 \n3 801 187 802 \n3 803 802 269 \n3 1511 804 806 \n3 804 340 805 \n3 806 805 185 \n3 186 807 809 \n3 807 339 808 \n3 809 808 271 \n3 273 810 812 \n3 810 190 811 \n3 812 811 328 \n3 272 813 815 \n3 813 338 814 \n3 815 814 188 \n3 189 816 818 \n3 816 337 817 \n3 818 817 1512 \n3 333 819 821 \n3 819 193 820 \n3 821 820 1517 \n3 334 822 824 \n3 822 276 823 \n3 824 823 191 \n3 192 825 827 \n3 825 280 826 \n3 827 826 342 \n3 1513 828 830 \n3 828 196 829 \n3 830 829 275 \n3 341 831 833 \n3 831 343 832 \n3 833 832 194 \n3 195 834 836 \n3 834 344 835 \n3 836 835 277 \n3 279 837 839 \n3 837 199 838 \n3 839 838 1519 \n3 278 840 842 \n3 840 345 841 \n3 842 841 197 \n3 198 843 845 \n3 843 346 844 \n3 845 844 1520 \n3 1514 846 848 \n3 846 202 847 \n3 848 847 1515 \n3 1516 849 851 \n3 849 282 850 \n3 851 850 200 \n3 201 852 854 \n3 852 286 853 \n3 854 853 321 \n3 310 855 857 \n3 855 205 856 \n3 857 856 281 \n3 308 858 860 \n3 858 346 859 \n3 860 859 203 \n3 204 861 863 \n3 861 345 862 \n3 863 862 283 \n3 285 864 866 \n3 864 208 865 \n3 866 865 319 \n3 284 867 869 \n3 867 344 868 \n3 869 868 206 \n3 207 870 872 \n3 870 343 871 \n3 872 871 318 \n3 1517 873 875 \n3 873 211 874 \n3 875 874 332 \n3 342 876 878 \n3 876 288 877 \n3 878 877 209 \n3 210 879 881 \n3 879 292 880 \n3 881 880 1518 \n3 1519 882 884 \n3 882 214 883 \n3 884 883 287 \n3 1520 885 887 \n3 885 347 886 \n3 887 886 212 \n3 213 888 890 \n3 888 348 889 \n3 890 889 289 \n3 291 891 893 \n3 891 217 892 \n3 893 892 335 \n3 290 894 896 \n3 894 349 895 \n3 896 895 215 \n3 216 897 899 \n3 897 350 898 \n3 899 898 336 \n3 330 900 902 \n3 900 220 901 \n3 902 901 1521 \n3 329 903 905 \n3 903 294 904 \n3 905 904 218 \n3 219 906 908 \n3 906 298 907 \n3 908 907 311 \n3 327 909 911 \n3 909 223 910 \n3 911 910 293 \n3 326 912 914 \n3 912 350 913 \n3 914 913 221 \n3 222 915 917 \n3 915 349 916 \n3 917 916 295 \n3 297 918 920 \n3 918 226 919 \n3 920 919 1522 \n3 296 921 923 \n3 921 348 922 \n3 923 922 224 \n3 225 924 926 \n3 924 347 925 \n3 926 925 309 \n3 18 927 928 \n3 927 83 353 \n3 928 353 85 \n3 83 929 351 \n3 929 19 930 \n3 351 930 84 \n3 85 352 932 \n3 352 84 931 \n3 932 931 20 \n3 21 933 934 \n3 933 86 356 \n3 934 356 88 \n3 86 935 354 \n3 935 22 936 \n3 354 936 87 \n3 88 355 938 \n3 355 87 937 \n3 938 937 23 \n3 24 939 940 \n3 939 89 359 \n3 940 359 91 \n3 89 941 357 \n3 941 25 942 \n3 357 942 90 \n3 91 358 944 \n3 358 90 943 \n3 944 943 26 \n3 27 945 946 \n3 945 92 362 \n3 946 362 94 \n3 92 947 360 \n3 947 28 948 \n3 360 948 93 \n3 94 361 950 \n3 361 93 949 \n3 950 949 29 \n3 30 951 952 \n3 951 95 365 \n3 952 365 97 \n3 95 953 363 \n3 953 31 954 \n3 363 954 96 \n3 97 364 956 \n3 364 96 955 \n3 956 955 32 \n3 33 957 958 \n3 957 98 368 \n3 958 368 100 \n3 98 959 366 \n3 959 34 960 \n3 366 960 99 \n3 100 367 962 \n3 367 99 961 \n3 962 961 35 \n3 36 963 964 \n3 963 101 371 \n3 964 371 103 \n3 101 965 369 \n3 965 37 966 \n3 369 966 102 \n3 103 370 968 \n3 370 102 967 \n3 968 967 38 \n3 39 969 970 \n3 969 104 374 \n3 970 374 106 \n3 104 971 372 \n3 971 40 972 \n3 372 972 105 \n3 106 373 974 \n3 373 105 973 \n3 974 973 41 \n3 42 975 976 \n3 975 107 377 \n3 976 377 109 \n3 107 977 375 \n3 977 43 978 \n3 375 978 108 \n3 109 376 980 \n3 376 108 979 \n3 980 979 44 \n3 45 981 982 \n3 981 110 380 \n3 982 380 112 \n3 110 983 378 \n3 983 46 984 \n3 378 984 111 \n3 112 379 986 \n3 379 111 985 \n3 986 985 47 \n3 48 987 988 \n3 987 113 383 \n3 988 383 115 \n3 113 989 381 \n3 989 49 990 \n3 381 990 114 \n3 115 382 992 \n3 382 114 991 \n3 992 991 50 \n3 51 993 994 \n3 993 116 386 \n3 994 386 118 \n3 116 995 384 \n3 995 52 996 \n3 384 996 117 \n3 118 385 998 \n3 385 117 997 \n3 998 997 53 \n3 54 999 1000 \n3 999 119 389 \n3 1000 389 121 \n3 119 1001 387 \n3 1001 20 1002 \n3 387 1002 120 \n3 121 388 1004 \n3 388 120 1003 \n3 1004 1003 55 \n3 56 1005 1006 \n3 1005 122 392 \n3 1006 392 124 \n3 122 1007 390 \n3 1007 57 1008 \n3 390 1008 123 \n3 124 391 1010 \n3 391 123 1009 \n3 1010 1009 18 \n3 19 1011 1012 \n3 1011 125 395 \n3 1012 395 127 \n3 125 1013 393 \n3 1013 58 1014 \n3 393 1014 126 \n3 127 394 1016 \n3 394 126 1015 \n3 1016 1015 59 \n3 60 1017 1018 \n3 1017 128 398 \n3 1018 398 130 \n3 128 1019 396 \n3 1019 23 1020 \n3 396 1020 129 \n3 130 397 1022 \n3 397 129 1021 \n3 1022 1021 61 \n3 62 1023 1024 \n3 1023 131 401 \n3 1024 401 133 \n3 131 1025 399 \n3 1025 58 1026 \n3 399 1026 132 \n3 133 400 1028 \n3 400 132 1027 \n3 1028 1027 21 \n3 22 1029 1030 \n3 1029 134 404 \n3 1030 404 136 \n3 134 1031 402 \n3 1031 57 1032 \n3 402 1032 135 \n3 136 403 1034 \n3 403 135 1033 \n3 1034 1033 1529 \n3 55 1035 1036 \n3 1035 137 407 \n3 1036 407 139 \n3 137 1037 405 \n3 1037 26 1038 \n3 405 1038 138 \n3 139 406 1040 \n3 406 138 1039 \n3 1040 1039 63 \n3 59 1041 1042 \n3 1041 140 410 \n3 1042 410 142 \n3 140 1043 408 \n3 1043 64 1044 \n3 408 1044 141 \n3 142 409 1046 \n3 409 141 1045 \n3 1046 1045 24 \n3 25 1047 1048 \n3 1047 143 413 \n3 1048 413 145 \n3 143 1049 411 \n3 1049 65 1050 \n3 411 1050 144 \n3 145 412 1052 \n3 412 144 1051 \n3 1052 1051 66 \n3 1523 1053 1054 \n3 1053 146 416 \n3 1054 416 148 \n3 146 1055 414 \n3 1055 29 1056 \n3 414 1056 147 \n3 148 415 1058 \n3 415 147 1057 \n3 1058 1057 1525 \n3 67 1059 1060 \n3 1059 149 419 \n3 1060 419 151 \n3 149 1061 417 \n3 1061 65 1062 \n3 417 1062 150 \n3 151 418 1064 \n3 418 150 1063 \n3 1064 1063 27 \n3 28 1065 1066 \n3 1065 152 422 \n3 1066 422 154 \n3 152 1067 420 \n3 1067 64 1068 \n3 420 1068 153 \n3 154 421 1070 \n3 421 153 1069 \n3 1070 1069 68 \n3 63 1071 1072 \n3 1071 155 425 \n3 1072 425 157 \n3 155 1073 423 \n3 1073 32 1074 \n3 423 1074 156 \n3 157 424 1076 \n3 424 156 1075 \n3 1076 1075 54 \n3 66 1077 1078 \n3 1077 158 428 \n3 1078 428 160 \n3 158 1079 426 \n3 1079 69 1080 \n3 426 1080 159 \n3 160 427 1082 \n3 427 159 1081 \n3 1082 1081 30 \n3 31 1083 1084 \n3 1083 161 431 \n3 1084 431 163 \n3 161 1085 429 \n3 1085 70 1086 \n3 429 1086 162 \n3 163 430 1088 \n3 430 162 1087 \n3 1088 1087 56 \n3 71 1089 1090 \n3 1089 164 434 \n3 1090 434 166 \n3 164 1091 432 \n3 1091 35 1092 \n3 432 1092 165 \n3 166 433 1094 \n3 433 165 1093 \n3 1094 1093 72 \n3 1528 1095 1096 \n3 1095 167 437 \n3 1096 437 169 \n3 167 1097 435 \n3 1097 70 1098 \n3 435 1098 168 \n3 169 436 1100 \n3 436 168 1099 \n3 1100 1099 33 \n3 34 1101 1102 \n3 1101 170 440 \n3 1102 440 172 \n3 170 1103 438 \n3 1103 69 1104 \n3 438 1104 171 \n3 172 439 1106 \n3 439 171 1105 \n3 1106 1105 73 \n3 1526 1107 1108 \n3 1107 173 443 \n3 1108 443 175 \n3 173 1109 441 \n3 1109 38 1110 \n3 441 1110 174 \n3 175 442 1112 \n3 442 174 1111 \n3 1112 1111 1524 \n3 74 1113 1114 \n3 1113 176 446 \n3 1114 446 178 \n3 176 1115 444 \n3 1115 75 1116 \n3 444 1116 177 \n3 178 445 1118 \n3 445 177 1117 \n3 1118 1117 36 \n3 37 1119 1120 \n3 1119 179 449 \n3 1120 449 181 \n3 179 1121 447 \n3 1121 76 1122 \n3 447 1122 180 \n3 181 448 1124 \n3 448 180 1123 \n3 1124 1123 77 \n3 67 1125 1126 \n3 1125 182 452 \n3 1126 452 184 \n3 182 1127 450 \n3 1127 41 1128 \n3 450 1128 183 \n3 184 451 1130 \n3 451 183 1129 \n3 1130 1129 73 \n3 1523 1131 1132 \n3 1131 185 455 \n3 1132 455 187 \n3 185 1133 453 \n3 1133 76 1134 \n3 453 1134 186 \n3 187 454 1136 \n3 454 186 1135 \n3 1136 1135 39 \n3 40 1137 1138 \n3 1137 188 458 \n3 1138 458 190 \n3 188 1139 456 \n3 1139 75 1140 \n3 456 1140 189 \n3 190 457 1142 \n3 457 189 1141 \n3 1142 1141 72 \n3 1524 1143 1144 \n3 1143 191 461 \n3 1144 461 193 \n3 191 1145 459 \n3 1145 44 1146 \n3 459 1146 192 \n3 193 460 1148 \n3 460 192 1147 \n3 1148 1147 78 \n3 77 1149 1150 \n3 1149 194 464 \n3 1150 464 196 \n3 194 1151 462 \n3 1151 79 1152 \n3 462 1152 195 \n3 196 463 1154 \n3 463 195 1153 \n3 1154 1153 42 \n3 43 1155 1156 \n3 1155 197 467 \n3 1156 467 199 \n3 197 1157 465 \n3 1157 80 1158 \n3 465 1158 198 \n3 199 466 1160 \n3 466 198 1159 \n3 1160 1159 1527 \n3 62 1161 1162 \n3 1161 200 470 \n3 1162 470 202 \n3 200 1163 468 \n3 1163 47 1164 \n3 468 1164 201 \n3 202 469 1166 \n3 469 201 1165 \n3 1166 1165 68 \n3 60 1167 1168 \n3 1167 203 473 \n3 1168 473 205 \n3 203 1169 471 \n3 1169 80 1170 \n3 471 1170 204 \n3 205 472 1172 \n3 472 204 1171 \n3 1172 1171 45 \n3 46 1173 1174 \n3 1173 206 476 \n3 1174 476 208 \n3 206 1175 474 \n3 1175 79 1176 \n3 474 1176 207 \n3 208 475 1178 \n3 475 207 1177 \n3 1178 1177 1525 \n3 78 1179 1180 \n3 1179 209 479 \n3 1180 479 211 \n3 209 1181 477 \n3 1181 50 1182 \n3 477 1182 210 \n3 211 478 1184 \n3 478 210 1183 \n3 1184 1183 1526 \n3 1527 1185 1186 \n3 1185 212 482 \n3 1186 482 214 \n3 212 1187 480 \n3 1187 81 1188 \n3 480 1188 213 \n3 214 481 1190 \n3 481 213 1189 \n3 1190 1189 48 \n3 49 1191 1192 \n3 1191 215 485 \n3 1192 485 217 \n3 215 1193 483 \n3 1193 82 1194 \n3 483 1194 216 \n3 217 484 1196 \n3 484 216 1195 \n3 1196 1195 74 \n3 1528 1197 1198 \n3 1197 218 488 \n3 1198 488 220 \n3 218 1199 486 \n3 1199 53 1200 \n3 486 1200 219 \n3 220 487 1202 \n3 487 219 1201 \n3 1202 1201 1529 \n3 71 1203 1204 \n3 1203 221 491 \n3 1204 491 223 \n3 221 1205 489 \n3 1205 82 1206 \n3 489 1206 222 \n3 223 490 1208 \n3 490 222 1207 \n3 1208 1207 51 \n3 52 1209 1210 \n3 1209 224 494 \n3 1210 494 226 \n3 224 1211 492 \n3 1211 81 1212 \n3 492 1212 225 \n3 226 493 1214 \n3 493 225 1213 \n3 1214 1213 61 \n3 1530 1215 1216 \n3 1215 227 497 \n3 1216 497 228 \n3 227 1217 495 \n3 1217 18 928 \n3 495 928 85 \n3 228 496 1218 \n3 496 85 932 \n3 1218 932 20 \n3 18 1219 927 \n3 1219 229 500 \n3 927 500 83 \n3 229 1220 498 \n3 1220 4 1221 \n3 498 1221 230 \n3 83 499 929 \n3 499 230 1222 \n3 929 1222 19 \n3 20 931 1223 \n3 931 84 503 \n3 1223 503 232 \n3 84 930 501 \n3 930 19 1224 \n3 501 1224 231 \n3 232 502 1226 \n3 502 231 1225 \n3 1226 1225 5 \n3 6 1227 1228 \n3 1227 233 506 \n3 1228 506 234 \n3 233 1229 504 \n3 1229 21 934 \n3 504 934 88 \n3 234 505 1230 \n3 505 88 938 \n3 1230 938 23 \n3 21 1231 933 \n3 1231 235 509 \n3 933 509 86 \n3 235 1232 507 \n3 1232 4 1233 \n3 507 1233 236 \n3 86 508 935 \n3 508 236 1234 \n3 935 1234 22 \n3 23 937 1235 \n3 937 87 512 \n3 1235 512 238 \n3 87 936 510 \n3 936 22 1236 \n3 510 1236 237 \n3 238 511 1238 \n3 511 237 1237 \n3 1238 1237 7 \n3 5 1239 1240 \n3 1239 239 515 \n3 1240 515 240 \n3 239 1241 513 \n3 1241 24 940 \n3 513 940 91 \n3 240 514 1242 \n3 514 91 944 \n3 1242 944 26 \n3 24 1243 939 \n3 1243 241 518 \n3 939 518 89 \n3 241 1244 516 \n3 1244 8 1245 \n3 516 1245 242 \n3 89 517 941 \n3 517 242 1246 \n3 941 1246 25 \n3 26 943 1247 \n3 943 90 521 \n3 1247 521 244 \n3 90 942 519 \n3 942 25 1248 \n3 519 1248 243 \n3 244 520 1250 \n3 520 243 1249 \n3 1250 1249 9 \n3 10 1251 1252 \n3 1251 245 524 \n3 1252 524 246 \n3 245 1253 522 \n3 1253 27 946 \n3 522 946 94 \n3 246 523 1254 \n3 523 94 950 \n3 1254 950 29 \n3 27 1255 945 \n3 1255 247 527 \n3 945 527 92 \n3 247 1256 525 \n3 1256 8 1257 \n3 525 1257 248 \n3 92 526 947 \n3 526 248 1258 \n3 947 1258 28 \n3 29 949 1259 \n3 949 93 530 \n3 1259 530 250 \n3 93 948 528 \n3 948 28 1260 \n3 528 1260 249 \n3 250 529 1262 \n3 529 249 1261 \n3 1262 1261 1533 \n3 9 1263 1264 \n3 1263 251 533 \n3 1264 533 252 \n3 251 1265 531 \n3 1265 30 952 \n3 531 952 97 \n3 252 532 1266 \n3 532 97 956 \n3 1266 956 32 \n3 30 1267 951 \n3 1267 253 536 \n3 951 536 95 \n3 253 1268 534 \n3 1268 11 1269 \n3 534 1269 254 \n3 95 535 953 \n3 535 254 1270 \n3 953 1270 31 \n3 32 955 1271 \n3 955 96 539 \n3 1271 539 256 \n3 96 954 537 \n3 954 31 1272 \n3 537 1272 255 \n3 256 538 1274 \n3 538 255 1273 \n3 1274 1273 1530 \n3 12 1275 1276 \n3 1275 257 542 \n3 1276 542 258 \n3 257 1277 540 \n3 1277 33 958 \n3 540 958 100 \n3 258 541 1278 \n3 541 100 962 \n3 1278 962 35 \n3 33 1279 957 \n3 1279 259 545 \n3 957 545 98 \n3 259 1280 543 \n3 1280 11 1281 \n3 543 1281 260 \n3 98 544 959 \n3 544 260 1282 \n3 959 1282 34 \n3 35 961 1283 \n3 961 99 548 \n3 1283 548 262 \n3 99 960 546 \n3 960 34 1284 \n3 546 1284 261 \n3 262 547 1286 \n3 547 261 1285 \n3 1286 1285 1531 \n3 13 1287 1288 \n3 1287 263 551 \n3 1288 551 264 \n3 263 1289 549 \n3 1289 36 964 \n3 549 964 103 \n3 264 550 1290 \n3 550 103 968 \n3 1290 968 38 \n3 36 1291 963 \n3 1291 265 554 \n3 963 554 101 \n3 265 1292 552 \n3 1292 14 1293 \n3 552 1293 266 \n3 101 553 965 \n3 553 266 1294 \n3 965 1294 37 \n3 38 967 1295 \n3 967 102 557 \n3 1295 557 268 \n3 102 966 555 \n3 966 37 1296 \n3 555 1296 267 \n3 268 556 1298 \n3 556 267 1297 \n3 1298 1297 1532 \n3 10 1299 1300 \n3 1299 269 560 \n3 1300 560 270 \n3 269 1301 558 \n3 1301 39 970 \n3 558 970 106 \n3 270 559 1302 \n3 559 106 974 \n3 1302 974 41 \n3 39 1303 969 \n3 1303 271 563 \n3 969 563 104 \n3 271 1304 561 \n3 1304 14 1305 \n3 561 1305 272 \n3 104 562 971 \n3 562 272 1306 \n3 971 1306 40 \n3 41 973 1307 \n3 973 105 566 \n3 1307 566 274 \n3 105 972 564 \n3 972 40 1308 \n3 564 1308 273 \n3 274 565 1310 \n3 565 273 1309 \n3 1310 1309 1531 \n3 1532 1311 1312 \n3 1311 275 569 \n3 1312 569 276 \n3 275 1313 567 \n3 1313 42 976 \n3 567 976 109 \n3 276 568 1314 \n3 568 109 980 \n3 1314 980 44 \n3 42 1315 975 \n3 1315 277 572 \n3 975 572 107 \n3 277 1316 570 \n3 1316 15 1317 \n3 570 1317 278 \n3 107 571 977 \n3 571 278 1318 \n3 977 1318 43 \n3 44 979 1319 \n3 979 108 575 \n3 1319 575 280 \n3 108 978 573 \n3 978 43 1320 \n3 573 1320 279 \n3 280 574 1322 \n3 574 279 1321 \n3 1322 1321 16 \n3 6 1323 1324 \n3 1323 281 578 \n3 1324 578 282 \n3 281 1325 576 \n3 1325 45 982 \n3 576 982 112 \n3 282 577 1326 \n3 577 112 986 \n3 1326 986 47 \n3 45 1327 981 \n3 1327 283 581 \n3 981 581 110 \n3 283 1328 579 \n3 1328 15 1329 \n3 579 1329 284 \n3 110 580 983 \n3 580 284 1330 \n3 983 1330 46 \n3 47 985 1331 \n3 985 111 584 \n3 1331 584 286 \n3 111 984 582 \n3 984 46 1332 \n3 582 1332 285 \n3 286 583 1334 \n3 583 285 1333 \n3 1334 1333 1533 \n3 16 1335 1336 \n3 1335 287 587 \n3 1336 587 288 \n3 287 1337 585 \n3 1337 48 988 \n3 585 988 115 \n3 288 586 1338 \n3 586 115 992 \n3 1338 992 50 \n3 48 1339 987 \n3 1339 289 590 \n3 987 590 113 \n3 289 1340 588 \n3 1340 17 1341 \n3 588 1341 290 \n3 113 589 989 \n3 589 290 1342 \n3 989 1342 49 \n3 50 991 1343 \n3 991 114 593 \n3 1343 593 292 \n3 114 990 591 \n3 990 49 1344 \n3 591 1344 291 \n3 292 592 1346 \n3 592 291 1345 \n3 1346 1345 13 \n3 12 1347 1348 \n3 1347 293 596 \n3 1348 596 294 \n3 293 1349 594 \n3 1349 51 994 \n3 594 994 118 \n3 294 595 1350 \n3 595 118 998 \n3 1350 998 53 \n3 51 1351 993 \n3 1351 295 599 \n3 993 599 116 \n3 295 1352 597 \n3 1352 17 1353 \n3 597 1353 296 \n3 116 598 995 \n3 598 296 1354 \n3 995 1354 52 \n3 53 997 1355 \n3 997 117 602 \n3 1355 602 298 \n3 117 996 600 \n3 996 52 1356 \n3 600 1356 297 \n3 298 601 1358 \n3 601 297 1357 \n3 1358 1357 7 \n3 0 1460 1359 \n3 1460 1506 605 \n3 1359 605 1503 \n3 1506 1360 603 \n3 1360 54 1000 \n3 603 1000 121 \n3 1503 604 1361 \n3 604 121 1004 \n3 1361 1004 55 \n3 54 1362 999 \n3 1362 299 608 \n3 999 608 119 \n3 299 1463 606 \n3 1463 1530 1216 \n3 606 1216 228 \n3 119 607 1001 \n3 607 228 1218 \n3 1001 1218 20 \n3 55 1003 1457 \n3 1003 120 611 \n3 1457 611 300 \n3 120 1002 609 \n3 1002 20 1223 \n3 609 1223 232 \n3 300 610 1363 \n3 610 232 1226 \n3 1363 1226 5 \n3 1530 1464 1215 \n3 1464 301 614 \n3 1215 614 227 \n3 301 1364 612 \n3 1364 56 1006 \n3 612 1006 124 \n3 227 613 1217 \n3 613 124 1010 \n3 1217 1010 18 \n3 56 1365 1005 \n3 1365 302 617 \n3 1005 617 122 \n3 302 1465 615 \n3 1465 1534 1366 \n3 615 1366 303 \n3 122 616 1007 \n3 616 303 1367 \n3 1007 1367 57 \n3 18 1009 1219 \n3 1009 123 620 \n3 1219 620 229 \n3 123 1008 618 \n3 1008 57 1368 \n3 618 1368 304 \n3 229 619 1220 \n3 619 304 1369 \n3 1220 1369 4 \n3 5 1225 1458 \n3 1225 231 623 \n3 1458 623 305 \n3 231 1224 621 \n3 1224 19 1012 \n3 621 1012 127 \n3 305 622 1370 \n3 622 127 1016 \n3 1370 1016 59 \n3 19 1222 1011 \n3 1222 230 626 \n3 1011 626 125 \n3 230 1221 624 \n3 1221 4 1371 \n3 624 1371 306 \n3 125 625 1013 \n3 625 306 1372 \n3 1013 1372 58 \n3 59 1015 1373 \n3 1015 126 629 \n3 1373 629 1504 \n3 126 1014 627 \n3 1014 58 1374 \n3 627 1374 307 \n3 1504 628 1459 \n3 628 307 1375 \n3 1459 1375 1536 \n3 1 1376 1502 \n3 1376 308 632 \n3 1502 632 309 \n3 308 1484 630 \n3 1484 60 1018 \n3 630 1018 130 \n3 309 631 1501 \n3 631 130 1022 \n3 1501 1022 61 \n3 60 1483 1017 \n3 1483 310 635 \n3 1017 635 128 \n3 310 1482 633 \n3 1482 6 1228 \n3 633 1228 234 \n3 128 634 1019 \n3 634 234 1230 \n3 1019 1230 23 \n3 61 1021 1377 \n3 1021 129 638 \n3 1377 638 1522 \n3 129 1020 636 \n3 1020 23 1235 \n3 636 1235 238 \n3 1522 637 1378 \n3 637 238 1238 \n3 1378 1238 7 \n3 6 1480 1227 \n3 1480 1516 641 \n3 1227 641 233 \n3 1516 1479 639 \n3 1479 62 1024 \n3 639 1024 133 \n3 233 640 1229 \n3 640 133 1028 \n3 1229 1028 21 \n3 62 1477 1023 \n3 1477 1514 644 \n3 1023 644 131 \n3 1514 1475 642 \n3 1475 1536 1375 \n3 642 1375 307 \n3 131 643 1025 \n3 643 307 1374 \n3 1025 1374 58 \n3 21 1027 1231 \n3 1027 132 647 \n3 1231 647 235 \n3 132 1026 645 \n3 1026 58 1372 \n3 645 1372 306 \n3 235 646 1232 \n3 646 306 1371 \n3 1232 1371 4 \n3 7 1237 1498 \n3 1237 237 650 \n3 1498 650 311 \n3 237 1236 648 \n3 1236 22 1030 \n3 648 1030 136 \n3 311 649 1379 \n3 649 136 1034 \n3 1379 1034 1529 \n3 22 1234 1029 \n3 1234 236 653 \n3 1029 653 134 \n3 236 1233 651 \n3 1233 4 1369 \n3 651 1369 304 \n3 134 652 1031 \n3 652 304 1368 \n3 1031 1368 57 \n3 1529 1033 1495 \n3 1033 135 656 \n3 1495 656 1521 \n3 135 1032 654 \n3 1032 57 1367 \n3 654 1367 303 \n3 1521 655 1493 \n3 655 303 1366 \n3 1493 1366 1534 \n3 0 1359 1380 \n3 1359 1503 659 \n3 1380 659 1505 \n3 1503 1361 657 \n3 1361 55 1036 \n3 657 1036 139 \n3 1505 658 1461 \n3 658 139 1040 \n3 1461 1040 63 \n3 55 1457 1035 \n3 1457 300 662 \n3 1035 662 137 \n3 300 1363 660 \n3 1363 5 1240 \n3 660 1240 240 \n3 137 661 1037 \n3 661 240 1242 \n3 1037 1242 26 \n3 63 1039 1381 \n3 1039 138 665 \n3 1381 665 312 \n3 138 1038 663 \n3 1038 26 1247 \n3 663 1247 244 \n3 312 664 1462 \n3 664 244 1250 \n3 1462 1250 9 \n3 5 1458 1239 \n3 1458 305 668 \n3 1239 668 239 \n3 305 1370 666 \n3 1370 59 1042 \n3 666 1042 142 \n3 239 667 1241 \n3 667 142 1046 \n3 1241 1046 24 \n3 59 1373 1041 \n3 1373 1504 671 \n3 1041 671 140 \n3 1504 1459 669 \n3 1459 1536 1382 \n3 669 1382 313 \n3 140 670 1043 \n3 670 313 1383 \n3 1043 1383 64 \n3 24 1045 1243 \n3 1045 141 674 \n3 1243 674 241 \n3 141 1044 672 \n3 1044 64 1384 \n3 672 1384 314 \n3 241 673 1244 \n3 673 314 1385 \n3 1244 1385 8 \n3 9 1249 1386 \n3 1249 243 677 \n3 1386 677 1507 \n3 243 1248 675 \n3 1248 25 1048 \n3 675 1048 145 \n3 1507 676 1387 \n3 676 145 1052 \n3 1387 1052 66 \n3 25 1246 1047 \n3 1246 242 680 \n3 1047 680 143 \n3 242 1245 678 \n3 1245 8 1388 \n3 678 1388 315 \n3 143 679 1049 \n3 679 315 1389 \n3 1049 1389 65 \n3 66 1051 1390 \n3 1051 144 683 \n3 1390 683 317 \n3 144 1050 681 \n3 1050 65 1391 \n3 681 1391 316 \n3 317 682 1393 \n3 682 316 1392 \n3 1393 1392 1535 \n3 2 1469 1486 \n3 1469 1511 686 \n3 1486 686 318 \n3 1511 1394 684 \n3 1394 1523 1054 \n3 684 1054 148 \n3 318 685 1485 \n3 685 148 1058 \n3 1485 1058 1525 \n3 1523 1468 1053 \n3 1468 1510 689 \n3 1053 689 146 \n3 1510 1395 687 \n3 1395 10 1252 \n3 687 1252 246 \n3 146 688 1055 \n3 688 246 1254 \n3 1055 1254 29 \n3 1525 1057 1396 \n3 1057 147 692 \n3 1396 692 319 \n3 147 1056 690 \n3 1056 29 1259 \n3 690 1259 250 \n3 319 691 1397 \n3 691 250 1262 \n3 1397 1262 1533 \n3 10 1466 1251 \n3 1466 320 695 \n3 1251 695 245 \n3 320 1398 693 \n3 1398 67 1060 \n3 693 1060 151 \n3 245 694 1253 \n3 694 151 1064 \n3 1253 1064 27 \n3 67 1399 1059 \n3 1399 1508 698 \n3 1059 698 149 \n3 1508 1400 696 \n3 1400 1535 1392 \n3 696 1392 316 \n3 149 697 1061 \n3 697 316 1391 \n3 1061 1391 65 \n3 27 1063 1255 \n3 1063 150 701 \n3 1255 701 247 \n3 150 1062 699 \n3 1062 65 1389 \n3 699 1389 315 \n3 247 700 1256 \n3 700 315 1388 \n3 1256 1388 8 \n3 1533 1261 1481 \n3 1261 249 704 \n3 1481 704 321 \n3 249 1260 702 \n3 1260 28 1066 \n3 702 1066 154 \n3 321 703 1401 \n3 703 154 1070 \n3 1401 1070 68 \n3 28 1258 1065 \n3 1258 248 707 \n3 1065 707 152 \n3 248 1257 705 \n3 1257 8 1385 \n3 705 1385 314 \n3 152 706 1067 \n3 706 314 1384 \n3 1067 1384 64 \n3 68 1069 1478 \n3 1069 153 710 \n3 1478 710 1515 \n3 153 1068 708 \n3 1068 64 1383 \n3 708 1383 313 \n3 1515 709 1476 \n3 709 313 1382 \n3 1476 1382 1536 \n3 0 1380 1460 \n3 1380 1505 713 \n3 1460 713 1506 \n3 1505 1461 711 \n3 1461 63 1072 \n3 711 1072 157 \n3 1506 712 1360 \n3 712 157 1076 \n3 1360 1076 54 \n3 63 1381 1071 \n3 1381 312 716 \n3 1071 716 155 \n3 312 1462 714 \n3 1462 9 1264 \n3 714 1264 252 \n3 155 715 1073 \n3 715 252 1266 \n3 1073 1266 32 \n3 54 1075 1362 \n3 1075 156 719 \n3 1362 719 299 \n3 156 1074 717 \n3 1074 32 1271 \n3 717 1271 256 \n3 299 718 1463 \n3 718 256 1274 \n3 1463 1274 1530 \n3 9 1386 1263 \n3 1386 1507 722 \n3 1263 722 251 \n3 1507 1387 720 \n3 1387 66 1078 \n3 720 1078 160 \n3 251 721 1265 \n3 721 160 1082 \n3 1265 1082 30 \n3 66 1390 1077 \n3 1390 317 725 \n3 1077 725 158 \n3 317 1393 723 \n3 1393 1535 1402 \n3 723 1402 322 \n3 158 724 1079 \n3 724 322 1403 \n3 1079 1403 69 \n3 30 1081 1267 \n3 1081 159 728 \n3 1267 728 253 \n3 159 1080 726 \n3 1080 69 1404 \n3 726 1404 323 \n3 253 727 1268 \n3 727 323 1405 \n3 1268 1405 11 \n3 1530 1273 1464 \n3 1273 255 731 \n3 1464 731 301 \n3 255 1272 729 \n3 1272 31 1084 \n3 729 1084 163 \n3 301 730 1364 \n3 730 163 1088 \n3 1364 1088 56 \n3 31 1270 1083 \n3 1270 254 734 \n3 1083 734 161 \n3 254 1269 732 \n3 1269 11 1406 \n3 732 1406 324 \n3 161 733 1085 \n3 733 324 1407 \n3 1085 1407 70 \n3 56 1087 1365 \n3 1087 162 737 \n3 1365 737 302 \n3 162 1086 735 \n3 1086 70 1408 \n3 735 1408 325 \n3 302 736 1465 \n3 736 325 1409 \n3 1465 1409 1534 \n3 1537 1500 1410 \n3 1500 326 740 \n3 1410 740 1512 \n3 326 1499 738 \n3 1499 71 1090 \n3 738 1090 166 \n3 1512 739 1470 \n3 739 166 1094 \n3 1470 1094 72 \n3 71 1411 1089 \n3 1411 327 743 \n3 1089 743 164 \n3 327 1412 741 \n3 1412 12 1276 \n3 741 1276 258 \n3 164 742 1091 \n3 742 258 1278 \n3 1091 1278 35 \n3 72 1093 1413 \n3 1093 165 746 \n3 1413 746 328 \n3 165 1092 744 \n3 1092 35 1283 \n3 744 1283 262 \n3 328 745 1414 \n3 745 262 1286 \n3 1414 1286 1531 \n3 12 1497 1275 \n3 1497 329 749 \n3 1275 749 257 \n3 329 1496 747 \n3 1496 1528 1096 \n3 747 1096 169 \n3 257 748 1277 \n3 748 169 1100 \n3 1277 1100 33 \n3 1528 1494 1095 \n3 1494 330 752 \n3 1095 752 167 \n3 330 1415 750 \n3 1415 1534 1409 \n3 750 1409 325 \n3 167 751 1097 \n3 751 325 1408 \n3 1097 1408 70 \n3 33 1099 1279 \n3 1099 168 755 \n3 1279 755 259 \n3 168 1098 753 \n3 1098 70 1407 \n3 753 1407 324 \n3 259 754 1280 \n3 754 324 1406 \n3 1280 1406 11 \n3 1531 1285 1467 \n3 1285 261 758 \n3 1467 758 331 \n3 261 1284 756 \n3 1284 34 1102 \n3 756 1102 172 \n3 331 757 1416 \n3 757 172 1106 \n3 1416 1106 73 \n3 34 1282 1101 \n3 1282 260 761 \n3 1101 761 170 \n3 260 1281 759 \n3 1281 11 1405 \n3 759 1405 323 \n3 170 760 1103 \n3 760 323 1404 \n3 1103 1404 69 \n3 73 1105 1417 \n3 1105 171 764 \n3 1417 764 1509 \n3 171 1104 762 \n3 1104 69 1403 \n3 762 1403 322 \n3 1509 763 1418 \n3 763 322 1402 \n3 1418 1402 1535 \n3 3 1487 1419 \n3 1487 332 767 \n3 1419 767 333 \n3 332 1420 765 \n3 1420 1526 1108 \n3 765 1108 175 \n3 333 766 1421 \n3 766 175 1112 \n3 1421 1112 1524 \n3 1526 1422 1107 \n3 1422 1518 770 \n3 1107 770 173 \n3 1518 1490 768 \n3 1490 13 1288 \n3 768 1288 264 \n3 173 769 1109 \n3 769 264 1290 \n3 1109 1290 38 \n3 1524 1111 1423 \n3 1111 174 773 \n3 1423 773 334 \n3 174 1110 771 \n3 1110 38 1295 \n3 771 1295 268 \n3 334 772 1471 \n3 772 268 1298 \n3 1471 1298 1532 \n3 13 1424 1287 \n3 1424 335 776 \n3 1287 776 263 \n3 335 1425 774 \n3 1425 74 1114 \n3 774 1114 178 \n3 263 775 1289 \n3 775 178 1118 \n3 1289 1118 36 \n3 74 1426 1113 \n3 1426 336 779 \n3 1113 779 176 \n3 336 1492 777 \n3 1492 1537 1427 \n3 777 1427 337 \n3 176 778 1115 \n3 778 337 1428 \n3 1115 1428 75 \n3 36 1117 1291 \n3 1117 177 782 \n3 1291 782 265 \n3 177 1116 780 \n3 1116 75 1429 \n3 780 1429 338 \n3 265 781 1292 \n3 781 338 1430 \n3 1292 1430 14 \n3 1532 1297 1472 \n3 1297 267 785 \n3 1472 785 1513 \n3 267 1296 783 \n3 1296 37 1120 \n3 783 1120 181 \n3 1513 784 1431 \n3 784 181 1124 \n3 1431 1124 77 \n3 37 1294 1119 \n3 1294 266 788 \n3 1119 788 179 \n3 266 1293 786 \n3 1293 14 1432 \n3 786 1432 339 \n3 179 787 1121 \n3 787 339 1433 \n3 1121 1433 76 \n3 77 1123 1473 \n3 1123 180 791 \n3 1473 791 341 \n3 180 1122 789 \n3 1122 76 1434 \n3 789 1434 340 \n3 341 790 1474 \n3 790 340 1435 \n3 1474 1435 2 \n3 1535 1400 1418 \n3 1400 1508 794 \n3 1418 794 1509 \n3 1508 1399 792 \n3 1399 67 1126 \n3 792 1126 184 \n3 1509 793 1417 \n3 793 184 1130 \n3 1417 1130 73 \n3 67 1398 1125 \n3 1398 320 797 \n3 1125 797 182 \n3 320 1466 795 \n3 1466 10 1300 \n3 795 1300 270 \n3 182 796 1127 \n3 796 270 1302 \n3 1127 1302 41 \n3 73 1129 1416 \n3 1129 183 800 \n3 1416 800 331 \n3 183 1128 798 \n3 1128 41 1307 \n3 798 1307 274 \n3 331 799 1467 \n3 799 274 1310 \n3 1467 1310 1531 \n3 10 1395 1299 \n3 1395 1510 803 \n3 1299 803 269 \n3 1510 1468 801 \n3 1468 1523 1132 \n3 801 1132 187 \n3 269 802 1301 \n3 802 187 1136 \n3 1301 1136 39 \n3 1523 1394 1131 \n3 1394 1511 806 \n3 1131 806 185 \n3 1511 1469 804 \n3 1469 2 1435 \n3 804 1435 340 \n3 185 805 1133 \n3 805 340 1434 \n3 1133 1434 76 \n3 39 1135 1303 \n3 1135 186 809 \n3 1303 809 271 \n3 186 1134 807 \n3 1134 76 1433 \n3 807 1433 339 \n3 271 808 1304 \n3 808 339 1432 \n3 1304 1432 14 \n3 1531 1309 1414 \n3 1309 273 812 \n3 1414 812 328 \n3 273 1308 810 \n3 1308 40 1138 \n3 810 1138 190 \n3 328 811 1413 \n3 811 190 1142 \n3 1413 1142 72 \n3 40 1306 1137 \n3 1306 272 815 \n3 1137 815 188 \n3 272 1305 813 \n3 1305 14 1430 \n3 813 1430 338 \n3 188 814 1139 \n3 814 338 1429 \n3 1139 1429 75 \n3 72 1141 1470 \n3 1141 189 818 \n3 1470 818 1512 \n3 189 1140 816 \n3 1140 75 1428 \n3 816 1428 337 \n3 1512 817 1410 \n3 817 337 1427 \n3 1410 1427 1537 \n3 3 1419 1436 \n3 1419 333 821 \n3 1436 821 1517 \n3 333 1421 819 \n3 1421 1524 1144 \n3 819 1144 193 \n3 1517 820 1437 \n3 820 193 1148 \n3 1437 1148 78 \n3 1524 1423 1143 \n3 1423 334 824 \n3 1143 824 191 \n3 334 1471 822 \n3 1471 1532 1312 \n3 822 1312 276 \n3 191 823 1145 \n3 823 276 1314 \n3 1145 1314 44 \n3 78 1147 1488 \n3 1147 192 827 \n3 1488 827 342 \n3 192 1146 825 \n3 1146 44 1319 \n3 825 1319 280 \n3 342 826 1489 \n3 826 280 1322 \n3 1489 1322 16 \n3 1532 1472 1311 \n3 1472 1513 830 \n3 1311 830 275 \n3 1513 1431 828 \n3 1431 77 1150 \n3 828 1150 196 \n3 275 829 1313 \n3 829 196 1154 \n3 1313 1154 42 \n3 77 1473 1149 \n3 1473 341 833 \n3 1149 833 194 \n3 341 1474 831 \n3 1474 2 1438 \n3 831 1438 343 \n3 194 832 1151 \n3 832 343 1439 \n3 1151 1439 79 \n3 42 1153 1315 \n3 1153 195 836 \n3 1315 836 277 \n3 195 1152 834 \n3 1152 79 1440 \n3 834 1440 344 \n3 277 835 1316 \n3 835 344 1441 \n3 1316 1441 15 \n3 16 1321 1442 \n3 1321 279 839 \n3 1442 839 1519 \n3 279 1320 837 \n3 1320 43 1156 \n3 837 1156 199 \n3 1519 838 1491 \n3 838 199 1160 \n3 1491 1160 1527 \n3 43 1318 1155 \n3 1318 278 842 \n3 1155 842 197 \n3 278 1317 840 \n3 1317 15 1443 \n3 840 1443 345 \n3 197 841 1157 \n3 841 345 1444 \n3 1157 1444 80 \n3 1527 1159 1445 \n3 1159 198 845 \n3 1445 845 1520 \n3 198 1158 843 \n3 1158 80 1446 \n3 843 1446 346 \n3 1520 844 1448 \n3 844 346 1447 \n3 1448 1447 1 \n3 1536 1475 1476 \n3 1475 1514 848 \n3 1476 848 1515 \n3 1514 1477 846 \n3 1477 62 1162 \n3 846 1162 202 \n3 1515 847 1478 \n3 847 202 1166 \n3 1478 1166 68 \n3 62 1479 1161 \n3 1479 1516 851 \n3 1161 851 200 \n3 1516 1480 849 \n3 1480 6 1324 \n3 849 1324 282 \n3 200 850 1163 \n3 850 282 1326 \n3 1163 1326 47 \n3 68 1165 1401 \n3 1165 201 854 \n3 1401 854 321 \n3 201 1164 852 \n3 1164 47 1331 \n3 852 1331 286 \n3 321 853 1481 \n3 853 286 1334 \n3 1481 1334 1533 \n3 6 1482 1323 \n3 1482 310 857 \n3 1323 857 281 \n3 310 1483 855 \n3 1483 60 1168 \n3 855 1168 205 \n3 281 856 1325 \n3 856 205 1172 \n3 1325 1172 45 \n3 60 1484 1167 \n3 1484 308 860 \n3 1167 860 203 \n3 308 1376 858 \n3 1376 1 1447 \n3 858 1447 346 \n3 203 859 1169 \n3 859 346 1446 \n3 1169 1446 80 \n3 45 1171 1327 \n3 1171 204 863 \n3 1327 863 283 \n3 204 1170 861 \n3 1170 80 1444 \n3 861 1444 345 \n3 283 862 1328 \n3 862 345 1443 \n3 1328 1443 15 \n3 1533 1333 1397 \n3 1333 285 866 \n3 1397 866 319 \n3 285 1332 864 \n3 1332 46 1174 \n3 864 1174 208 \n3 319 865 1396 \n3 865 208 1178 \n3 1396 1178 1525 \n3 46 1330 1173 \n3 1330 284 869 \n3 1173 869 206 \n3 284 1329 867 \n3 1329 15 1441 \n3 867 1441 344 \n3 206 868 1175 \n3 868 344 1440 \n3 1175 1440 79 \n3 1525 1177 1485 \n3 1177 207 872 \n3 1485 872 318 \n3 207 1176 870 \n3 1176 79 1439 \n3 870 1439 343 \n3 318 871 1486 \n3 871 343 1438 \n3 1486 1438 2 \n3 3 1436 1487 \n3 1436 1517 875 \n3 1487 875 332 \n3 1517 1437 873 \n3 1437 78 1180 \n3 873 1180 211 \n3 332 874 1420 \n3 874 211 1184 \n3 1420 1184 1526 \n3 78 1488 1179 \n3 1488 342 878 \n3 1179 878 209 \n3 342 1489 876 \n3 1489 16 1336 \n3 876 1336 288 \n3 209 877 1181 \n3 877 288 1338 \n3 1181 1338 50 \n3 1526 1183 1422 \n3 1183 210 881 \n3 1422 881 1518 \n3 210 1182 879 \n3 1182 50 1343 \n3 879 1343 292 \n3 1518 880 1490 \n3 880 292 1346 \n3 1490 1346 13 \n3 16 1442 1335 \n3 1442 1519 884 \n3 1335 884 287 \n3 1519 1491 882 \n3 1491 1527 1186 \n3 882 1186 214 \n3 287 883 1337 \n3 883 214 1190 \n3 1337 1190 48 \n3 1527 1445 1185 \n3 1445 1520 887 \n3 1185 887 212 \n3 1520 1448 885 \n3 1448 1 1449 \n3 885 1449 347 \n3 212 886 1187 \n3 886 347 1450 \n3 1187 1450 81 \n3 48 1189 1339 \n3 1189 213 890 \n3 1339 890 289 \n3 213 1188 888 \n3 1188 81 1451 \n3 888 1451 348 \n3 289 889 1340 \n3 889 348 1452 \n3 1340 1452 17 \n3 13 1345 1424 \n3 1345 291 893 \n3 1424 893 335 \n3 291 1344 891 \n3 1344 49 1192 \n3 891 1192 217 \n3 335 892 1425 \n3 892 217 1196 \n3 1425 1196 74 \n3 49 1342 1191 \n3 1342 290 896 \n3 1191 896 215 \n3 290 1341 894 \n3 1341 17 1453 \n3 894 1453 349 \n3 215 895 1193 \n3 895 349 1454 \n3 1193 1454 82 \n3 74 1195 1426 \n3 1195 216 899 \n3 1426 899 336 \n3 216 1194 897 \n3 1194 82 1455 \n3 897 1455 350 \n3 336 898 1492 \n3 898 350 1456 \n3 1492 1456 1537 \n3 1534 1415 1493 \n3 1415 330 902 \n3 1493 902 1521 \n3 330 1494 900 \n3 1494 1528 1198 \n3 900 1198 220 \n3 1521 901 1495 \n3 901 220 1202 \n3 1495 1202 1529 \n3 1528 1496 1197 \n3 1496 329 905 \n3 1197 905 218 \n3 329 1497 903 \n3 1497 12 1348 \n3 903 1348 294 \n3 218 904 1199 \n3 904 294 1350 \n3 1199 1350 53 \n3 1529 1201 1379 \n3 1201 219 908 \n3 1379 908 311 \n3 219 1200 906 \n3 1200 53 1355 \n3 906 1355 298 \n3 311 907 1498 \n3 907 298 1358 \n3 1498 1358 7 \n3 12 1412 1347 \n3 1412 327 911 \n3 1347 911 293 \n3 327 1411 909 \n3 1411 71 1204 \n3 909 1204 223 \n3 293 910 1349 \n3 910 223 1208 \n3 1349 1208 51 \n3 71 1499 1203 \n3 1499 326 914 \n3 1203 914 221 \n3 326 1500 912 \n3 1500 1537 1456 \n3 912 1456 350 \n3 221 913 1205 \n3 913 350 1455 \n3 1205 1455 82 \n3 51 1207 1351 \n3 1207 222 917 \n3 1351 917 295 \n3 222 1206 915 \n3 1206 82 1454 \n3 915 1454 349 \n3 295 916 1352 \n3 916 349 1453 \n3 1352 1453 17 \n3 7 1357 1378 \n3 1357 297 920 \n3 1378 920 1522 \n3 297 1356 918 \n3 1356 52 1210 \n3 918 1210 226 \n3 1522 919 1377 \n3 919 226 1214 \n3 1377 1214 61 \n3 52 1354 1209 \n3 1354 296 923 \n3 1209 923 224 \n3 296 1353 921 \n3 1353 17 1452 \n3 921 1452 348 \n3 224 922 1211 \n3 922 348 1451 \n3 1211 1451 81 \n3 61 1213 1501 \n3 1213 225 926 \n3 1501 926 309 \n3 225 1212 924 \n3 1212 81 1450 \n3 924 1450 347 \n3 309 925 1502 \n3 925 347 1449 \n3 1502 1449 1 \n"
  },
  {
    "path": "data/box_ultra_high.ply",
    "content": "ply\nformat ascii 1.0\ncomment VCGLIB generated\nelement vertex 25350\nproperty float x\nproperty float y\nproperty float z\nelement face 49152\nproperty list uchar int vertex_indices\nend_header\n0.5 0.5 0.5 \n-0.5 0.5 0.5 \n0.5 -0.5 0.5 \n-0.5 -0.5 0.5 \n0.5 0.5 -0.5 \n-0.5 0.5 -0.5 \n0.5 -0.5 -0.5 \n-0.5 -0.5 -0.5 \n0 0.5 0.5 \n0 0 0.5 \n0.5 0 0.5 \n0 -0.5 0.5 \n-0.5 0 0.5 \n0.5 0 0 \n0.5 0.5 0 \n0.5 0 -0.5 \n0.5 -0.5 0 \n0 0.5 0 \n-0.5 0.5 0 \n0 0.5 -0.5 \n-0.5 0 -0.5 \n0 0 -0.5 \n0 -0.5 -0.5 \n0 -0.5 0 \n-0.5 -0.5 0 \n-0.5 0 0 \n0 0.25 0.5 \n0.25 0 0.5 \n0.25 0.25 0.5 \n0 -0.25 0.5 \n-0.25 0 0.5 \n-0.25 -0.25 0.5 \n0.5 0 0.25 \n0.5 0.25 0 \n0.5 0.25 0.25 \n0.5 0 -0.25 \n0.5 -0.25 0 \n0.5 -0.25 -0.25 \n0.25 0.5 0 \n0 0.5 0.25 \n0.25 0.5 0.25 \n-0.25 0.5 0 \n0 0.5 -0.25 \n-0.25 0.5 -0.25 \n-0.25 0 -0.5 \n0 -0.25 -0.5 \n-0.25 -0.25 -0.5 \n0.25 0 -0.5 \n0 0.25 -0.5 \n0.25 0.25 -0.5 \n0 -0.5 -0.25 \n-0.25 -0.5 0 \n-0.25 -0.5 -0.25 \n0 -0.5 0.25 \n0.25 -0.5 0 \n0.25 -0.5 0.25 \n-0.5 -0.25 0 \n-0.5 0 -0.25 \n-0.5 -0.25 -0.25 \n-0.5 0.25 0 \n-0.5 0 0.25 \n-0.5 0.25 0.25 \n0.25 0.5 0.5 \n0.5 0.25 0.5 \n-0.25 0.5 0.5 \n-0.25 0.25 0.5 \n0.25 -0.25 0.5 \n0.5 -0.25 0.5 \n-0.25 -0.5 0.5 \n-0.5 -0.25 0.5 \n0.25 -0.5 0.5 \n-0.5 0.25 0.5 \n0.5 0.5 0.25 \n0.5 -0.25 0.25 \n0.5 0.25 -0.25 \n0.5 0.5 -0.25 \n0.5 -0.25 -0.5 \n0.5 -0.5 -0.25 \n0.5 0.25 -0.5 \n0.5 -0.5 0.25 \n0.25 0.5 -0.25 \n-0.25 0.5 0.25 \n-0.5 0.5 -0.25 \n-0.25 0.5 -0.5 \n-0.5 0.5 0.25 \n0.25 0.5 -0.5 \n-0.5 -0.25 -0.5 \n-0.25 -0.5 -0.5 \n-0.5 0.25 -0.5 \n-0.25 0.25 -0.5 \n0.25 -0.25 -0.5 \n0.25 -0.5 -0.5 \n-0.5 -0.5 -0.25 \n0.25 -0.5 -0.25 \n-0.25 -0.5 0.25 \n-0.5 -0.5 0.25 \n-0.5 -0.25 0.25 \n-0.5 0.25 -0.25 \n0.125 0.125 0.5 \n0.25 0.125 0.5 \n0.125 0.25 0.5 \n-0.125 -0.125 0.5 \n-0.25 -0.125 0.5 \n-0.125 -0.25 0.5 \n0.5 0.125 0.125 \n0.5 0.25 0.125 \n0.5 0.125 0.25 \n0.5 -0.125 -0.125 \n0.5 -0.25 -0.125 \n0.5 -0.125 -0.25 \n0.125 0.5 0.125 \n0.125 0.5 0.25 \n0.25 0.5 0.125 \n-0.125 0.5 -0.125 \n-0.125 0.5 -0.25 \n-0.25 0.5 -0.125 \n-0.125 -0.125 -0.5 \n-0.125 -0.25 -0.5 \n-0.25 -0.125 -0.5 \n0.125 0.125 -0.5 \n0.125 0.25 -0.5 \n0.25 0.125 -0.5 \n-0.125 -0.5 -0.125 \n-0.25 -0.5 -0.125 \n-0.125 -0.5 -0.25 \n0.125 -0.5 0.125 \n0.25 -0.5 0.125 \n0.125 -0.5 0.25 \n-0.5 -0.125 -0.125 \n-0.5 -0.125 -0.25 \n-0.5 -0.25 -0.125 \n-0.5 0.125 0.125 \n-0.5 0.125 0.25 \n-0.5 0.25 0.125 \n0.25 0.375 0.5 \n0.375 0.25 0.5 \n0.375 0.375 0.5 \n-0.25 0.375 0.5 \n-0.125 0.25 0.5 \n-0.125 0.375 0.5 \n0.25 -0.125 0.5 \n0.375 -0.25 0.5 \n0.375 -0.125 0.5 \n-0.25 -0.375 0.5 \n-0.375 -0.25 0.5 \n-0.375 -0.375 0.5 \n0.25 -0.375 0.5 \n0.125 -0.25 0.5 \n0.125 -0.375 0.5 \n-0.25 0.125 0.5 \n-0.375 0.25 0.5 \n-0.375 0.125 0.5 \n0.5 0.25 0.375 \n0.5 0.375 0.25 \n0.5 0.375 0.375 \n0.5 -0.25 0.375 \n0.5 -0.125 0.25 \n0.5 -0.125 0.375 \n0.5 0.25 -0.125 \n0.5 0.375 -0.25 \n0.5 0.375 -0.125 \n0.5 -0.25 -0.375 \n0.5 -0.375 -0.25 \n0.5 -0.375 -0.375 \n0.5 0.25 -0.375 \n0.5 0.125 -0.25 \n0.5 0.125 -0.375 \n0.5 -0.25 0.125 \n0.5 -0.375 0.25 \n0.5 -0.375 0.125 \n0.375 0.5 0.25 \n0.25 0.5 0.375 \n0.375 0.5 0.375 \n0.375 0.5 -0.25 \n0.25 0.5 -0.125 \n0.375 0.5 -0.125 \n-0.125 0.5 0.25 \n-0.25 0.5 0.375 \n-0.125 0.5 0.375 \n-0.375 0.5 -0.25 \n-0.25 0.5 -0.375 \n-0.375 0.5 -0.375 \n-0.375 0.5 0.25 \n-0.25 0.5 0.125 \n-0.375 0.5 0.125 \n0.125 0.5 -0.25 \n0.25 0.5 -0.375 \n0.125 0.5 -0.375 \n-0.375 -0.25 -0.5 \n-0.25 -0.375 -0.5 \n-0.375 -0.375 -0.5 \n-0.375 0.25 -0.5 \n-0.25 0.125 -0.5 \n-0.375 0.125 -0.5 \n0.125 -0.25 -0.5 \n0.25 -0.375 -0.5 \n0.125 -0.375 -0.5 \n0.375 0.25 -0.5 \n0.25 0.375 -0.5 \n0.375 0.375 -0.5 \n0.375 -0.25 -0.5 \n0.25 -0.125 -0.5 \n0.375 -0.125 -0.5 \n-0.125 0.25 -0.5 \n-0.25 0.375 -0.5 \n-0.125 0.375 -0.5 \n-0.25 -0.5 -0.375 \n-0.375 -0.5 -0.25 \n-0.375 -0.5 -0.375 \n0.25 -0.5 -0.375 \n0.125 -0.5 -0.25 \n0.125 -0.5 -0.375 \n-0.25 -0.5 0.125 \n-0.375 -0.5 0.25 \n-0.375 -0.5 0.125 \n0.25 -0.5 0.375 \n0.375 -0.5 0.25 \n0.375 -0.5 0.375 \n-0.25 -0.5 0.375 \n-0.125 -0.5 0.25 \n-0.125 -0.5 0.375 \n0.25 -0.5 -0.125 \n0.375 -0.5 -0.25 \n0.375 -0.5 -0.125 \n-0.5 -0.375 -0.25 \n-0.5 -0.25 -0.375 \n-0.5 -0.375 -0.375 \n-0.5 -0.375 0.25 \n-0.5 -0.25 0.125 \n-0.5 -0.375 0.125 \n-0.5 0.125 -0.25 \n-0.5 0.25 -0.375 \n-0.5 0.125 -0.375 \n-0.5 0.375 0.25 \n-0.5 0.25 0.375 \n-0.5 0.375 0.375 \n-0.5 0.375 -0.25 \n-0.5 0.25 -0.125 \n-0.5 0.375 -0.125 \n-0.5 -0.125 0.25 \n-0.5 -0.25 0.375 \n-0.5 -0.125 0.375 \n0 0.375 0.5 \n0.125 0.375 0.5 \n0 0.125 0.5 \n0.125 0 0.5 \n0.375 0 0.5 \n0.375 0.125 0.5 \n0 -0.375 0.5 \n-0.125 -0.375 0.5 \n0 -0.125 0.5 \n-0.125 0 0.5 \n-0.375 0 0.5 \n-0.375 -0.125 0.5 \n0.5 0 0.375 \n0.5 0.125 0.375 \n0.5 0 0.125 \n0.5 0.125 0 \n0.5 0.375 0 \n0.5 0.375 0.125 \n0.5 0 -0.375 \n0.5 -0.125 -0.375 \n0.5 0 -0.125 \n0.5 -0.125 0 \n0.5 -0.375 0 \n0.5 -0.375 -0.125 \n0.375 0.5 0 \n0.375 0.5 0.125 \n0.125 0.5 0 \n0 0.5 0.125 \n0 0.5 0.375 \n0.125 0.5 0.375 \n-0.375 0.5 0 \n-0.375 0.5 -0.125 \n-0.125 0.5 0 \n0 0.5 -0.125 \n0 0.5 -0.375 \n-0.125 0.5 -0.375 \n-0.375 0 -0.5 \n-0.375 -0.125 -0.5 \n-0.125 0 -0.5 \n0 -0.125 -0.5 \n0 -0.375 -0.5 \n-0.125 -0.375 -0.5 \n0.375 0 -0.5 \n0.375 0.125 -0.5 \n0.125 0 -0.5 \n0 0.125 -0.5 \n0 0.375 -0.5 \n0.125 0.375 -0.5 \n0 -0.5 -0.375 \n-0.125 -0.5 -0.375 \n0 -0.5 -0.125 \n-0.125 -0.5 0 \n-0.375 -0.5 0 \n-0.375 -0.5 -0.125 \n0 -0.5 0.375 \n0.125 -0.5 0.375 \n0 -0.5 0.125 \n0.125 -0.5 0 \n0.375 -0.5 0 \n0.375 -0.5 0.125 \n-0.5 -0.375 0 \n-0.5 -0.375 -0.125 \n-0.5 -0.125 0 \n-0.5 0 -0.125 \n-0.5 0 -0.375 \n-0.5 -0.125 -0.375 \n-0.5 0.375 0 \n-0.5 0.375 0.125 \n-0.5 0.125 0 \n-0.5 0 0.125 \n-0.5 0 0.375 \n-0.5 0.125 0.375 \n0.375 0.5 0.5 \n0.5 0.375 0.5 \n0.125 0.5 0.5 \n0.5 0.125 0.5 \n-0.125 0.5 0.5 \n-0.375 0.5 0.5 \n-0.375 0.375 0.5 \n-0.125 0.125 0.5 \n0.5 -0.125 0.5 \n0.125 -0.125 0.5 \n0.375 -0.375 0.5 \n0.5 -0.375 0.5 \n-0.375 -0.5 0.5 \n-0.5 -0.375 0.5 \n-0.125 -0.5 0.5 \n-0.5 -0.125 0.5 \n0.125 -0.5 0.5 \n0.375 -0.5 0.5 \n-0.5 0.125 0.5 \n-0.5 0.375 0.5 \n0.5 0.5 0.375 \n0.5 0.5 0.125 \n0.5 -0.375 0.375 \n0.5 -0.125 0.125 \n0.5 0.5 -0.125 \n0.5 0.125 -0.125 \n0.5 0.375 -0.375 \n0.5 0.5 -0.375 \n0.5 -0.375 -0.5 \n0.5 -0.5 -0.375 \n0.5 -0.125 -0.5 \n0.5 -0.5 -0.125 \n0.5 0.125 -0.5 \n0.5 0.375 -0.5 \n0.5 -0.5 0.125 \n0.5 -0.5 0.375 \n0.375 0.5 -0.375 \n0.125 0.5 -0.125 \n-0.125 0.5 0.125 \n-0.375 0.5 0.375 \n-0.5 0.5 -0.375 \n-0.375 0.5 -0.5 \n-0.5 0.5 -0.125 \n-0.125 0.5 -0.5 \n-0.5 0.5 0.125 \n-0.5 0.5 0.375 \n0.125 0.5 -0.5 \n0.375 0.5 -0.5 \n-0.5 -0.375 -0.5 \n-0.375 -0.5 -0.5 \n-0.5 -0.125 -0.5 \n-0.125 -0.5 -0.5 \n-0.5 0.125 -0.5 \n-0.5 0.375 -0.5 \n-0.375 0.375 -0.5 \n-0.125 0.125 -0.5 \n0.125 -0.5 -0.5 \n0.125 -0.125 -0.5 \n0.375 -0.375 -0.5 \n0.375 -0.5 -0.5 \n-0.5 -0.5 -0.375 \n-0.5 -0.5 -0.125 \n0.375 -0.5 -0.375 \n0.125 -0.5 -0.125 \n-0.5 -0.5 0.125 \n-0.125 -0.5 0.125 \n-0.375 -0.5 0.375 \n-0.5 -0.5 0.375 \n-0.5 -0.375 0.375 \n-0.5 -0.125 0.125 \n-0.5 0.125 -0.125 \n-0.5 0.375 -0.375 \n0.1875 0.125 0.5 \n0.1875 0.1875 0.5 \n0.125 0.1875 0.5 \n-0.1875 -0.125 0.5 \n-0.1875 -0.1875 0.5 \n-0.125 -0.1875 0.5 \n0.5 0.1875 0.125 \n0.5 0.1875 0.1875 \n0.5 0.125 0.1875 \n0.5 -0.1875 -0.125 \n0.5 -0.1875 -0.1875 \n0.5 -0.125 -0.1875 \n0.125 0.5 0.1875 \n0.1875 0.5 0.1875 \n0.1875 0.5 0.125 \n-0.125 0.5 -0.1875 \n-0.1875 0.5 -0.1875 \n-0.1875 0.5 -0.125 \n-0.125 -0.1875 -0.5 \n-0.1875 -0.1875 -0.5 \n-0.1875 -0.125 -0.5 \n0.125 0.1875 -0.5 \n0.1875 0.1875 -0.5 \n0.1875 0.125 -0.5 \n-0.1875 -0.5 -0.125 \n-0.1875 -0.5 -0.1875 \n-0.125 -0.5 -0.1875 \n0.1875 -0.5 0.125 \n0.1875 -0.5 0.1875 \n0.125 -0.5 0.1875 \n-0.5 -0.125 -0.1875 \n-0.5 -0.1875 -0.1875 \n-0.5 -0.1875 -0.125 \n-0.5 0.125 0.1875 \n-0.5 0.1875 0.1875 \n-0.5 0.1875 0.125 \n0.3125 0.3125 0.5 \n0.375 0.3125 0.5 \n0.3125 0.375 0.5 \n-0.1875 0.3125 0.5 \n-0.125 0.3125 0.5 \n-0.1875 0.375 0.5 \n0.3125 -0.1875 0.5 \n0.375 -0.1875 0.5 \n0.3125 -0.125 0.5 \n-0.3125 -0.3125 0.5 \n-0.375 -0.3125 0.5 \n-0.3125 -0.375 0.5 \n0.1875 -0.3125 0.5 \n0.125 -0.3125 0.5 \n0.1875 -0.375 0.5 \n-0.3125 0.1875 0.5 \n-0.375 0.1875 0.5 \n-0.3125 0.125 0.5 \n0.5 0.3125 0.3125 \n0.5 0.375 0.3125 \n0.5 0.3125 0.375 \n0.5 -0.1875 0.3125 \n0.5 -0.125 0.3125 \n0.5 -0.1875 0.375 \n0.5 0.3125 -0.1875 \n0.5 0.375 -0.1875 \n0.5 0.3125 -0.125 \n0.5 -0.3125 -0.3125 \n0.5 -0.375 -0.3125 \n0.5 -0.3125 -0.375 \n0.5 0.1875 -0.3125 \n0.5 0.125 -0.3125 \n0.5 0.1875 -0.375 \n0.5 -0.3125 0.1875 \n0.5 -0.375 0.1875 \n0.5 -0.3125 0.125 \n0.3125 0.5 0.3125 \n0.3125 0.5 0.375 \n0.375 0.5 0.3125 \n0.3125 0.5 -0.1875 \n0.3125 0.5 -0.125 \n0.375 0.5 -0.1875 \n-0.1875 0.5 0.3125 \n-0.1875 0.5 0.375 \n-0.125 0.5 0.3125 \n-0.3125 0.5 -0.3125 \n-0.3125 0.5 -0.375 \n-0.375 0.5 -0.3125 \n-0.3125 0.5 0.1875 \n-0.3125 0.5 0.125 \n-0.375 0.5 0.1875 \n0.1875 0.5 -0.3125 \n0.1875 0.5 -0.375 \n0.125 0.5 -0.3125 \n-0.3125 -0.3125 -0.5 \n-0.3125 -0.375 -0.5 \n-0.375 -0.3125 -0.5 \n-0.3125 0.1875 -0.5 \n-0.3125 0.125 -0.5 \n-0.375 0.1875 -0.5 \n0.1875 -0.3125 -0.5 \n0.1875 -0.375 -0.5 \n0.125 -0.3125 -0.5 \n0.3125 0.3125 -0.5 \n0.3125 0.375 -0.5 \n0.375 0.3125 -0.5 \n0.3125 -0.1875 -0.5 \n0.3125 -0.125 -0.5 \n0.375 -0.1875 -0.5 \n-0.1875 0.3125 -0.5 \n-0.1875 0.375 -0.5 \n-0.125 0.3125 -0.5 \n-0.3125 -0.5 -0.3125 \n-0.375 -0.5 -0.3125 \n-0.3125 -0.5 -0.375 \n0.1875 -0.5 -0.3125 \n0.125 -0.5 -0.3125 \n0.1875 -0.5 -0.375 \n-0.3125 -0.5 0.1875 \n-0.375 -0.5 0.1875 \n-0.3125 -0.5 0.125 \n0.3125 -0.5 0.3125 \n0.375 -0.5 0.3125 \n0.3125 -0.5 0.375 \n-0.1875 -0.5 0.3125 \n-0.125 -0.5 0.3125 \n-0.1875 -0.5 0.375 \n0.3125 -0.5 -0.1875 \n0.375 -0.5 -0.1875 \n0.3125 -0.5 -0.125 \n-0.5 -0.3125 -0.3125 \n-0.5 -0.3125 -0.375 \n-0.5 -0.375 -0.3125 \n-0.5 -0.3125 0.1875 \n-0.5 -0.3125 0.125 \n-0.5 -0.375 0.1875 \n-0.5 0.1875 -0.3125 \n-0.5 0.1875 -0.375 \n-0.5 0.125 -0.3125 \n-0.5 0.3125 0.3125 \n-0.5 0.3125 0.375 \n-0.5 0.375 0.3125 \n-0.5 0.3125 -0.1875 \n-0.5 0.3125 -0.125 \n-0.5 0.375 -0.1875 \n-0.5 -0.1875 0.3125 \n-0.5 -0.1875 0.375 \n-0.5 -0.125 0.3125 \n0.0625 0.3125 0.5 \n0.125 0.3125 0.5 \n0.0625 0.375 0.5 \n0.0625 0.0625 0.5 \n0.125 0.0625 0.5 \n0.0625 0.125 0.5 \n0.3125 0.0625 0.5 \n0.375 0.0625 0.5 \n0.3125 0.125 0.5 \n-0.0625 -0.3125 0.5 \n-0.125 -0.3125 0.5 \n-0.0625 -0.375 0.5 \n-0.0625 -0.0625 0.5 \n-0.125 -0.0625 0.5 \n-0.0625 -0.125 0.5 \n-0.3125 -0.0625 0.5 \n-0.375 -0.0625 0.5 \n-0.3125 -0.125 0.5 \n0.5 0.0625 0.3125 \n0.5 0.125 0.3125 \n0.5 0.0625 0.375 \n0.5 0.0625 0.0625 \n0.5 0.125 0.0625 \n0.5 0.0625 0.125 \n0.5 0.3125 0.0625 \n0.5 0.375 0.0625 \n0.5 0.3125 0.125 \n0.5 -0.0625 -0.3125 \n0.5 -0.125 -0.3125 \n0.5 -0.0625 -0.375 \n0.5 -0.0625 -0.0625 \n0.5 -0.125 -0.0625 \n0.5 -0.0625 -0.125 \n0.5 -0.3125 -0.0625 \n0.5 -0.375 -0.0625 \n0.5 -0.3125 -0.125 \n0.3125 0.5 0.0625 \n0.3125 0.5 0.125 \n0.375 0.5 0.0625 \n0.0625 0.5 0.0625 \n0.0625 0.5 0.125 \n0.125 0.5 0.0625 \n0.0625 0.5 0.3125 \n0.0625 0.5 0.375 \n0.125 0.5 0.3125 \n-0.3125 0.5 -0.0625 \n-0.3125 0.5 -0.125 \n-0.375 0.5 -0.0625 \n-0.0625 0.5 -0.0625 \n-0.0625 0.5 -0.125 \n-0.125 0.5 -0.0625 \n-0.0625 0.5 -0.3125 \n-0.0625 0.5 -0.375 \n-0.125 0.5 -0.3125 \n-0.3125 -0.0625 -0.5 \n-0.3125 -0.125 -0.5 \n-0.375 -0.0625 -0.5 \n-0.0625 -0.0625 -0.5 \n-0.0625 -0.125 -0.5 \n-0.125 -0.0625 -0.5 \n-0.0625 -0.3125 -0.5 \n-0.0625 -0.375 -0.5 \n-0.125 -0.3125 -0.5 \n0.3125 0.0625 -0.5 \n0.3125 0.125 -0.5 \n0.375 0.0625 -0.5 \n0.0625 0.0625 -0.5 \n0.0625 0.125 -0.5 \n0.125 0.0625 -0.5 \n0.0625 0.3125 -0.5 \n0.0625 0.375 -0.5 \n0.125 0.3125 -0.5 \n-0.0625 -0.5 -0.3125 \n-0.125 -0.5 -0.3125 \n-0.0625 -0.5 -0.375 \n-0.0625 -0.5 -0.0625 \n-0.125 -0.5 -0.0625 \n-0.0625 -0.5 -0.125 \n-0.3125 -0.5 -0.0625 \n-0.375 -0.5 -0.0625 \n-0.3125 -0.5 -0.125 \n0.0625 -0.5 0.3125 \n0.125 -0.5 0.3125 \n0.0625 -0.5 0.375 \n0.0625 -0.5 0.0625 \n0.125 -0.5 0.0625 \n0.0625 -0.5 0.125 \n0.3125 -0.5 0.0625 \n0.375 -0.5 0.0625 \n0.3125 -0.5 0.125 \n-0.5 -0.3125 -0.0625 \n-0.5 -0.3125 -0.125 \n-0.5 -0.375 -0.0625 \n-0.5 -0.0625 -0.0625 \n-0.5 -0.0625 -0.125 \n-0.5 -0.125 -0.0625 \n-0.5 -0.0625 -0.3125 \n-0.5 -0.0625 -0.375 \n-0.5 -0.125 -0.3125 \n-0.5 0.3125 0.0625 \n-0.5 0.3125 0.125 \n-0.5 0.375 0.0625 \n-0.5 0.0625 0.0625 \n-0.5 0.0625 0.125 \n-0.5 0.125 0.0625 \n-0.5 0.0625 0.3125 \n-0.5 0.0625 0.375 \n-0.5 0.125 0.3125 \n0.375 0.4375 0.5 \n0.4375 0.375 0.5 \n0.4375 0.4375 0.5 \n0.125 0.4375 0.5 \n0.1875 0.375 0.5 \n0.1875 0.4375 0.5 \n0.375 0.1875 0.5 \n0.4375 0.125 0.5 \n0.4375 0.1875 0.5 \n-0.125 0.4375 0.5 \n-0.0625 0.375 0.5 \n-0.0625 0.4375 0.5 \n-0.375 0.4375 0.5 \n-0.3125 0.375 0.5 \n-0.3125 0.4375 0.5 \n-0.125 0.1875 0.5 \n-0.0625 0.125 0.5 \n-0.0625 0.1875 0.5 \n0.375 -0.0625 0.5 \n0.4375 -0.125 0.5 \n0.4375 -0.0625 0.5 \n0.125 -0.0625 0.5 \n0.1875 -0.125 0.5 \n0.1875 -0.0625 0.5 \n0.375 -0.3125 0.5 \n0.4375 -0.375 0.5 \n0.4375 -0.3125 0.5 \n-0.375 -0.4375 0.5 \n-0.4375 -0.375 0.5 \n-0.4375 -0.4375 0.5 \n-0.125 -0.4375 0.5 \n-0.1875 -0.375 0.5 \n-0.1875 -0.4375 0.5 \n-0.375 -0.1875 0.5 \n-0.4375 -0.125 0.5 \n-0.4375 -0.1875 0.5 \n0.125 -0.4375 0.5 \n0.0625 -0.375 0.5 \n0.0625 -0.4375 0.5 \n0.375 -0.4375 0.5 \n0.3125 -0.375 0.5 \n0.3125 -0.4375 0.5 \n0.125 -0.1875 0.5 \n0.0625 -0.125 0.5 \n0.0625 -0.1875 0.5 \n-0.375 0.0625 0.5 \n-0.4375 0.125 0.5 \n-0.4375 0.0625 0.5 \n-0.125 0.0625 0.5 \n-0.1875 0.125 0.5 \n-0.1875 0.0625 0.5 \n-0.375 0.3125 0.5 \n-0.4375 0.375 0.5 \n-0.4375 0.3125 0.5 \n0.5 0.375 0.4375 \n0.5 0.4375 0.375 \n0.5 0.4375 0.4375 \n0.5 0.125 0.4375 \n0.5 0.1875 0.375 \n0.5 0.1875 0.4375 \n0.5 0.375 0.1875 \n0.5 0.4375 0.125 \n0.5 0.4375 0.1875 \n0.5 -0.125 0.4375 \n0.5 -0.0625 0.375 \n0.5 -0.0625 0.4375 \n0.5 -0.375 0.4375 \n0.5 -0.3125 0.375 \n0.5 -0.3125 0.4375 \n0.5 -0.125 0.1875 \n0.5 -0.0625 0.125 \n0.5 -0.0625 0.1875 \n0.5 0.375 -0.0625 \n0.5 0.4375 -0.125 \n0.5 0.4375 -0.0625 \n0.5 0.125 -0.0625 \n0.5 0.1875 -0.125 \n0.5 0.1875 -0.0625 \n0.5 0.375 -0.3125 \n0.5 0.4375 -0.375 \n0.5 0.4375 -0.3125 \n0.5 -0.375 -0.4375 \n0.5 -0.4375 -0.375 \n0.5 -0.4375 -0.4375 \n0.5 -0.125 -0.4375 \n0.5 -0.1875 -0.375 \n0.5 -0.1875 -0.4375 \n0.5 -0.375 -0.1875 \n0.5 -0.4375 -0.125 \n0.5 -0.4375 -0.1875 \n0.5 0.125 -0.4375 \n0.5 0.0625 -0.375 \n0.5 0.0625 -0.4375 \n0.5 0.375 -0.4375 \n0.5 0.3125 -0.375 \n0.5 0.3125 -0.4375 \n0.5 0.125 -0.1875 \n0.5 0.0625 -0.125 \n0.5 0.0625 -0.1875 \n0.5 -0.375 0.0625 \n0.5 -0.4375 0.125 \n0.5 -0.4375 0.0625 \n0.5 -0.125 0.0625 \n0.5 -0.1875 0.125 \n0.5 -0.1875 0.0625 \n0.5 -0.375 0.3125 \n0.5 -0.4375 0.375 \n0.5 -0.4375 0.3125 \n0.4375 0.5 0.375 \n0.375 0.5 0.4375 \n0.4375 0.5 0.4375 \n0.4375 0.5 0.125 \n0.375 0.5 0.1875 \n0.4375 0.5 0.1875 \n0.1875 0.5 0.375 \n0.125 0.5 0.4375 \n0.1875 0.5 0.4375 \n0.4375 0.5 -0.125 \n0.375 0.5 -0.0625 \n0.4375 0.5 -0.0625 \n0.4375 0.5 -0.375 \n0.375 0.5 -0.3125 \n0.4375 0.5 -0.3125 \n0.1875 0.5 -0.125 \n0.125 0.5 -0.0625 \n0.1875 0.5 -0.0625 \n-0.0625 0.5 0.375 \n-0.125 0.5 0.4375 \n-0.0625 0.5 0.4375 \n-0.0625 0.5 0.125 \n-0.125 0.5 0.1875 \n-0.0625 0.5 0.1875 \n-0.3125 0.5 0.375 \n-0.375 0.5 0.4375 \n-0.3125 0.5 0.4375 \n-0.4375 0.5 -0.375 \n-0.375 0.5 -0.4375 \n-0.4375 0.5 -0.4375 \n-0.4375 0.5 -0.125 \n-0.375 0.5 -0.1875 \n-0.4375 0.5 -0.1875 \n-0.1875 0.5 -0.375 \n-0.125 0.5 -0.4375 \n-0.1875 0.5 -0.4375 \n-0.4375 0.5 0.125 \n-0.375 0.5 0.0625 \n-0.4375 0.5 0.0625 \n-0.4375 0.5 0.375 \n-0.375 0.5 0.3125 \n-0.4375 0.5 0.3125 \n-0.1875 0.5 0.125 \n-0.125 0.5 0.0625 \n-0.1875 0.5 0.0625 \n0.0625 0.5 -0.375 \n0.125 0.5 -0.4375 \n0.0625 0.5 -0.4375 \n0.0625 0.5 -0.125 \n0.125 0.5 -0.1875 \n0.0625 0.5 -0.1875 \n0.3125 0.5 -0.375 \n0.375 0.5 -0.4375 \n0.3125 0.5 -0.4375 \n-0.4375 -0.375 -0.5 \n-0.375 -0.4375 -0.5 \n-0.4375 -0.4375 -0.5 \n-0.4375 -0.125 -0.5 \n-0.375 -0.1875 -0.5 \n-0.4375 -0.1875 -0.5 \n-0.1875 -0.375 -0.5 \n-0.125 -0.4375 -0.5 \n-0.1875 -0.4375 -0.5 \n-0.4375 0.125 -0.5 \n-0.375 0.0625 -0.5 \n-0.4375 0.0625 -0.5 \n-0.4375 0.375 -0.5 \n-0.375 0.3125 -0.5 \n-0.4375 0.3125 -0.5 \n-0.1875 0.125 -0.5 \n-0.125 0.0625 -0.5 \n-0.1875 0.0625 -0.5 \n0.0625 -0.375 -0.5 \n0.125 -0.4375 -0.5 \n0.0625 -0.4375 -0.5 \n0.0625 -0.125 -0.5 \n0.125 -0.1875 -0.5 \n0.0625 -0.1875 -0.5 \n0.3125 -0.375 -0.5 \n0.375 -0.4375 -0.5 \n0.3125 -0.4375 -0.5 \n0.4375 0.375 -0.5 \n0.375 0.4375 -0.5 \n0.4375 0.4375 -0.5 \n0.4375 0.125 -0.5 \n0.375 0.1875 -0.5 \n0.4375 0.1875 -0.5 \n0.1875 0.375 -0.5 \n0.125 0.4375 -0.5 \n0.1875 0.4375 -0.5 \n0.4375 -0.125 -0.5 \n0.375 -0.0625 -0.5 \n0.4375 -0.0625 -0.5 \n0.4375 -0.375 -0.5 \n0.375 -0.3125 -0.5 \n0.4375 -0.3125 -0.5 \n0.1875 -0.125 -0.5 \n0.125 -0.0625 -0.5 \n0.1875 -0.0625 -0.5 \n-0.0625 0.375 -0.5 \n-0.125 0.4375 -0.5 \n-0.0625 0.4375 -0.5 \n-0.0625 0.125 -0.5 \n-0.125 0.1875 -0.5 \n-0.0625 0.1875 -0.5 \n-0.3125 0.375 -0.5 \n-0.375 0.4375 -0.5 \n-0.3125 0.4375 -0.5 \n-0.375 -0.5 -0.4375 \n-0.4375 -0.5 -0.375 \n-0.4375 -0.5 -0.4375 \n-0.125 -0.5 -0.4375 \n-0.1875 -0.5 -0.375 \n-0.1875 -0.5 -0.4375 \n-0.375 -0.5 -0.1875 \n-0.4375 -0.5 -0.125 \n-0.4375 -0.5 -0.1875 \n0.125 -0.5 -0.4375 \n0.0625 -0.5 -0.375 \n0.0625 -0.5 -0.4375 \n0.375 -0.5 -0.4375 \n0.3125 -0.5 -0.375 \n0.3125 -0.5 -0.4375 \n0.125 -0.5 -0.1875 \n0.0625 -0.5 -0.125 \n0.0625 -0.5 -0.1875 \n-0.375 -0.5 0.0625 \n-0.4375 -0.5 0.125 \n-0.4375 -0.5 0.0625 \n-0.125 -0.5 0.0625 \n-0.1875 -0.5 0.125 \n-0.1875 -0.5 0.0625 \n-0.375 -0.5 0.3125 \n-0.4375 -0.5 0.375 \n-0.4375 -0.5 0.3125 \n0.375 -0.5 0.4375 \n0.4375 -0.5 0.375 \n0.4375 -0.5 0.4375 \n0.125 -0.5 0.4375 \n0.1875 -0.5 0.375 \n0.1875 -0.5 0.4375 \n0.375 -0.5 0.1875 \n0.4375 -0.5 0.125 \n0.4375 -0.5 0.1875 \n-0.125 -0.5 0.4375 \n-0.0625 -0.5 0.375 \n-0.0625 -0.5 0.4375 \n-0.375 -0.5 0.4375 \n-0.3125 -0.5 0.375 \n-0.3125 -0.5 0.4375 \n-0.125 -0.5 0.1875 \n-0.0625 -0.5 0.125 \n-0.0625 -0.5 0.1875 \n0.375 -0.5 -0.0625 \n0.4375 -0.5 -0.125 \n0.4375 -0.5 -0.0625 \n0.125 -0.5 -0.0625 \n0.1875 -0.5 -0.125 \n0.1875 -0.5 -0.0625 \n0.375 -0.5 -0.3125 \n0.4375 -0.5 -0.375 \n0.4375 -0.5 -0.3125 \n-0.5 -0.4375 -0.375 \n-0.5 -0.375 -0.4375 \n-0.5 -0.4375 -0.4375 \n-0.5 -0.4375 -0.125 \n-0.5 -0.375 -0.1875 \n-0.5 -0.4375 -0.1875 \n-0.5 -0.1875 -0.375 \n-0.5 -0.125 -0.4375 \n-0.5 -0.1875 -0.4375 \n-0.5 -0.4375 0.125 \n-0.5 -0.375 0.0625 \n-0.5 -0.4375 0.0625 \n-0.5 -0.4375 0.375 \n-0.5 -0.375 0.3125 \n-0.5 -0.4375 0.3125 \n-0.5 -0.1875 0.125 \n-0.5 -0.125 0.0625 \n-0.5 -0.1875 0.0625 \n-0.5 0.0625 -0.375 \n-0.5 0.125 -0.4375 \n-0.5 0.0625 -0.4375 \n-0.5 0.0625 -0.125 \n-0.5 0.125 -0.1875 \n-0.5 0.0625 -0.1875 \n-0.5 0.3125 -0.375 \n-0.5 0.375 -0.4375 \n-0.5 0.3125 -0.4375 \n-0.5 0.4375 0.375 \n-0.5 0.375 0.4375 \n-0.5 0.4375 0.4375 \n-0.5 0.4375 0.125 \n-0.5 0.375 0.1875 \n-0.5 0.4375 0.1875 \n-0.5 0.1875 0.375 \n-0.5 0.125 0.4375 \n-0.5 0.1875 0.4375 \n-0.5 0.4375 -0.125 \n-0.5 0.375 -0.0625 \n-0.5 0.4375 -0.0625 \n-0.5 0.4375 -0.375 \n-0.5 0.375 -0.3125 \n-0.5 0.4375 -0.3125 \n-0.5 0.1875 -0.125 \n-0.5 0.125 -0.0625 \n-0.5 0.1875 -0.0625 \n-0.5 -0.0625 0.375 \n-0.5 -0.125 0.4375 \n-0.5 -0.0625 0.4375 \n-0.5 -0.0625 0.125 \n-0.5 -0.125 0.1875 \n-0.5 -0.0625 0.1875 \n-0.5 -0.3125 0.375 \n-0.5 -0.375 0.4375 \n-0.5 -0.3125 0.4375 \n0.0625 0.1875 0.5 \n0.0625 0.25 0.5 \n0.1875 0.0625 0.5 \n0.25 0.0625 0.5 \n0.25 0.1875 0.5 \n0.1875 0.25 0.5 \n-0.0625 -0.1875 0.5 \n-0.0625 -0.25 0.5 \n-0.1875 -0.0625 0.5 \n-0.25 -0.0625 0.5 \n-0.25 -0.1875 0.5 \n-0.1875 -0.25 0.5 \n0.5 0.0625 0.1875 \n0.5 0.0625 0.25 \n0.5 0.1875 0.0625 \n0.5 0.25 0.0625 \n0.5 0.25 0.1875 \n0.5 0.1875 0.25 \n0.5 -0.0625 -0.1875 \n0.5 -0.0625 -0.25 \n0.5 -0.1875 -0.0625 \n0.5 -0.25 -0.0625 \n0.5 -0.25 -0.1875 \n0.5 -0.1875 -0.25 \n0.1875 0.5 0.0625 \n0.25 0.5 0.0625 \n0.0625 0.5 0.1875 \n0.0625 0.5 0.25 \n0.1875 0.5 0.25 \n0.25 0.5 0.1875 \n-0.1875 0.5 -0.0625 \n-0.25 0.5 -0.0625 \n-0.0625 0.5 -0.1875 \n-0.0625 0.5 -0.25 \n-0.1875 0.5 -0.25 \n-0.25 0.5 -0.1875 \n-0.1875 -0.0625 -0.5 \n-0.25 -0.0625 -0.5 \n-0.0625 -0.1875 -0.5 \n-0.0625 -0.25 -0.5 \n-0.1875 -0.25 -0.5 \n-0.25 -0.1875 -0.5 \n0.1875 0.0625 -0.5 \n0.25 0.0625 -0.5 \n0.0625 0.1875 -0.5 \n0.0625 0.25 -0.5 \n0.1875 0.25 -0.5 \n0.25 0.1875 -0.5 \n-0.0625 -0.5 -0.1875 \n-0.0625 -0.5 -0.25 \n-0.1875 -0.5 -0.0625 \n-0.25 -0.5 -0.0625 \n-0.25 -0.5 -0.1875 \n-0.1875 -0.5 -0.25 \n0.0625 -0.5 0.1875 \n0.0625 -0.5 0.25 \n0.1875 -0.5 0.0625 \n0.25 -0.5 0.0625 \n0.25 -0.5 0.1875 \n0.1875 -0.5 0.25 \n-0.5 -0.1875 -0.0625 \n-0.5 -0.25 -0.0625 \n-0.5 -0.0625 -0.1875 \n-0.5 -0.0625 -0.25 \n-0.5 -0.1875 -0.25 \n-0.5 -0.25 -0.1875 \n-0.5 0.1875 0.0625 \n-0.5 0.25 0.0625 \n-0.5 0.0625 0.1875 \n-0.5 0.0625 0.25 \n-0.5 0.1875 0.25 \n-0.5 0.25 0.1875 \n0.25 0.4375 0.5 \n0.3125 0.4375 0.5 \n0.25 0.3125 0.5 \n0.3125 0.25 0.5 \n0.4375 0.25 0.5 \n0.4375 0.3125 0.5 \n-0.25 0.4375 0.5 \n-0.1875 0.4375 0.5 \n-0.25 0.3125 0.5 \n-0.1875 0.25 0.5 \n-0.0625 0.25 0.5 \n-0.0625 0.3125 0.5 \n0.25 -0.0625 0.5 \n0.3125 -0.0625 0.5 \n0.25 -0.1875 0.5 \n0.3125 -0.25 0.5 \n0.4375 -0.25 0.5 \n0.4375 -0.1875 0.5 \n-0.25 -0.4375 0.5 \n-0.3125 -0.4375 0.5 \n-0.25 -0.3125 0.5 \n-0.3125 -0.25 0.5 \n-0.4375 -0.25 0.5 \n-0.4375 -0.3125 0.5 \n0.25 -0.4375 0.5 \n0.1875 -0.4375 0.5 \n0.25 -0.3125 0.5 \n0.1875 -0.25 0.5 \n0.0625 -0.25 0.5 \n0.0625 -0.3125 0.5 \n-0.25 0.0625 0.5 \n-0.3125 0.0625 0.5 \n-0.25 0.1875 0.5 \n-0.3125 0.25 0.5 \n-0.4375 0.25 0.5 \n-0.4375 0.1875 0.5 \n0.5 0.25 0.4375 \n0.5 0.3125 0.4375 \n0.5 0.25 0.3125 \n0.5 0.3125 0.25 \n0.5 0.4375 0.25 \n0.5 0.4375 0.3125 \n0.5 -0.25 0.4375 \n0.5 -0.1875 0.4375 \n0.5 -0.25 0.3125 \n0.5 -0.1875 0.25 \n0.5 -0.0625 0.25 \n0.5 -0.0625 0.3125 \n0.5 0.25 -0.0625 \n0.5 0.3125 -0.0625 \n0.5 0.25 -0.1875 \n0.5 0.3125 -0.25 \n0.5 0.4375 -0.25 \n0.5 0.4375 -0.1875 \n0.5 -0.25 -0.4375 \n0.5 -0.3125 -0.4375 \n0.5 -0.25 -0.3125 \n0.5 -0.3125 -0.25 \n0.5 -0.4375 -0.25 \n0.5 -0.4375 -0.3125 \n0.5 0.25 -0.4375 \n0.5 0.1875 -0.4375 \n0.5 0.25 -0.3125 \n0.5 0.1875 -0.25 \n0.5 0.0625 -0.25 \n0.5 0.0625 -0.3125 \n0.5 -0.25 0.0625 \n0.5 -0.3125 0.0625 \n0.5 -0.25 0.1875 \n0.5 -0.3125 0.25 \n0.5 -0.4375 0.25 \n0.5 -0.4375 0.1875 \n0.4375 0.5 0.25 \n0.4375 0.5 0.3125 \n0.3125 0.5 0.25 \n0.25 0.5 0.3125 \n0.25 0.5 0.4375 \n0.3125 0.5 0.4375 \n0.4375 0.5 -0.25 \n0.4375 0.5 -0.1875 \n0.3125 0.5 -0.25 \n0.25 0.5 -0.1875 \n0.25 0.5 -0.0625 \n0.3125 0.5 -0.0625 \n-0.0625 0.5 0.25 \n-0.0625 0.5 0.3125 \n-0.1875 0.5 0.25 \n-0.25 0.5 0.3125 \n-0.25 0.5 0.4375 \n-0.1875 0.5 0.4375 \n-0.4375 0.5 -0.25 \n-0.4375 0.5 -0.3125 \n-0.3125 0.5 -0.25 \n-0.25 0.5 -0.3125 \n-0.25 0.5 -0.4375 \n-0.3125 0.5 -0.4375 \n-0.4375 0.5 0.25 \n-0.4375 0.5 0.1875 \n-0.3125 0.5 0.25 \n-0.25 0.5 0.1875 \n-0.25 0.5 0.0625 \n-0.3125 0.5 0.0625 \n0.0625 0.5 -0.25 \n0.0625 0.5 -0.3125 \n0.1875 0.5 -0.25 \n0.25 0.5 -0.3125 \n0.25 0.5 -0.4375 \n0.1875 0.5 -0.4375 \n-0.4375 -0.25 -0.5 \n-0.4375 -0.3125 -0.5 \n-0.3125 -0.25 -0.5 \n-0.25 -0.3125 -0.5 \n-0.25 -0.4375 -0.5 \n-0.3125 -0.4375 -0.5 \n-0.4375 0.25 -0.5 \n-0.4375 0.1875 -0.5 \n-0.3125 0.25 -0.5 \n-0.25 0.1875 -0.5 \n-0.25 0.0625 -0.5 \n-0.3125 0.0625 -0.5 \n0.0625 -0.25 -0.5 \n0.0625 -0.3125 -0.5 \n0.1875 -0.25 -0.5 \n0.25 -0.3125 -0.5 \n0.25 -0.4375 -0.5 \n0.1875 -0.4375 -0.5 \n0.4375 0.25 -0.5 \n0.4375 0.3125 -0.5 \n0.3125 0.25 -0.5 \n0.25 0.3125 -0.5 \n0.25 0.4375 -0.5 \n0.3125 0.4375 -0.5 \n0.4375 -0.25 -0.5 \n0.4375 -0.1875 -0.5 \n0.3125 -0.25 -0.5 \n0.25 -0.1875 -0.5 \n0.25 -0.0625 -0.5 \n0.3125 -0.0625 -0.5 \n-0.0625 0.25 -0.5 \n-0.0625 0.3125 -0.5 \n-0.1875 0.25 -0.5 \n-0.25 0.3125 -0.5 \n-0.25 0.4375 -0.5 \n-0.1875 0.4375 -0.5 \n-0.25 -0.5 -0.4375 \n-0.3125 -0.5 -0.4375 \n-0.25 -0.5 -0.3125 \n-0.3125 -0.5 -0.25 \n-0.4375 -0.5 -0.25 \n-0.4375 -0.5 -0.3125 \n0.25 -0.5 -0.4375 \n0.1875 -0.5 -0.4375 \n0.25 -0.5 -0.3125 \n0.1875 -0.5 -0.25 \n0.0625 -0.5 -0.25 \n0.0625 -0.5 -0.3125 \n-0.25 -0.5 0.0625 \n-0.3125 -0.5 0.0625 \n-0.25 -0.5 0.1875 \n-0.3125 -0.5 0.25 \n-0.4375 -0.5 0.25 \n-0.4375 -0.5 0.1875 \n0.25 -0.5 0.4375 \n0.3125 -0.5 0.4375 \n0.25 -0.5 0.3125 \n0.3125 -0.5 0.25 \n0.4375 -0.5 0.25 \n0.4375 -0.5 0.3125 \n-0.25 -0.5 0.4375 \n-0.1875 -0.5 0.4375 \n-0.25 -0.5 0.3125 \n-0.1875 -0.5 0.25 \n-0.0625 -0.5 0.25 \n-0.0625 -0.5 0.3125 \n0.25 -0.5 -0.0625 \n0.3125 -0.5 -0.0625 \n0.25 -0.5 -0.1875 \n0.3125 -0.5 -0.25 \n0.4375 -0.5 -0.25 \n0.4375 -0.5 -0.1875 \n-0.5 -0.4375 -0.25 \n-0.5 -0.4375 -0.3125 \n-0.5 -0.3125 -0.25 \n-0.5 -0.25 -0.3125 \n-0.5 -0.25 -0.4375 \n-0.5 -0.3125 -0.4375 \n-0.5 -0.4375 0.25 \n-0.5 -0.4375 0.1875 \n-0.5 -0.3125 0.25 \n-0.5 -0.25 0.1875 \n-0.5 -0.25 0.0625 \n-0.5 -0.3125 0.0625 \n-0.5 0.0625 -0.25 \n-0.5 0.0625 -0.3125 \n-0.5 0.1875 -0.25 \n-0.5 0.25 -0.3125 \n-0.5 0.25 -0.4375 \n-0.5 0.1875 -0.4375 \n-0.5 0.4375 0.25 \n-0.5 0.4375 0.3125 \n-0.5 0.3125 0.25 \n-0.5 0.25 0.3125 \n-0.5 0.25 0.4375 \n-0.5 0.3125 0.4375 \n-0.5 0.4375 -0.25 \n-0.5 0.4375 -0.1875 \n-0.5 0.3125 -0.25 \n-0.5 0.25 -0.1875 \n-0.5 0.25 -0.0625 \n-0.5 0.3125 -0.0625 \n-0.5 -0.0625 0.25 \n-0.5 -0.0625 0.3125 \n-0.5 -0.1875 0.25 \n-0.5 -0.25 0.3125 \n-0.5 -0.25 0.4375 \n-0.5 -0.1875 0.4375 \n0 0.4375 0.5 \n0.0625 0.4375 0.5 \n0 0.3125 0.5 \n0.1875 0.3125 0.5 \n0 0.1875 0.5 \n0 0.0625 0.5 \n0.0625 0 0.5 \n0.1875 0 0.5 \n0.3125 0.1875 0.5 \n0.3125 0 0.5 \n0.4375 0 0.5 \n0.4375 0.0625 0.5 \n0 -0.4375 0.5 \n-0.0625 -0.4375 0.5 \n0 -0.3125 0.5 \n-0.1875 -0.3125 0.5 \n0 -0.1875 0.5 \n0 -0.0625 0.5 \n-0.0625 0 0.5 \n-0.1875 0 0.5 \n-0.3125 -0.1875 0.5 \n-0.3125 0 0.5 \n-0.4375 0 0.5 \n-0.4375 -0.0625 0.5 \n0.5 0 0.4375 \n0.5 0.0625 0.4375 \n0.5 0 0.3125 \n0.5 0.1875 0.3125 \n0.5 0 0.1875 \n0.5 0 0.0625 \n0.5 0.0625 0 \n0.5 0.1875 0 \n0.5 0.3125 0.1875 \n0.5 0.3125 0 \n0.5 0.4375 0 \n0.5 0.4375 0.0625 \n0.5 0 -0.4375 \n0.5 -0.0625 -0.4375 \n0.5 0 -0.3125 \n0.5 -0.1875 -0.3125 \n0.5 0 -0.1875 \n0.5 0 -0.0625 \n0.5 -0.0625 0 \n0.5 -0.1875 0 \n0.5 -0.3125 -0.1875 \n0.5 -0.3125 0 \n0.5 -0.4375 0 \n0.5 -0.4375 -0.0625 \n0.4375 0.5 0 \n0.4375 0.5 0.0625 \n0.3125 0.5 0 \n0.3125 0.5 0.1875 \n0.1875 0.5 0 \n0.0625 0.5 0 \n0 0.5 0.0625 \n0 0.5 0.1875 \n0.1875 0.5 0.3125 \n0 0.5 0.3125 \n0 0.5 0.4375 \n0.0625 0.5 0.4375 \n-0.4375 0.5 0 \n-0.4375 0.5 -0.0625 \n-0.3125 0.5 0 \n-0.3125 0.5 -0.1875 \n-0.1875 0.5 0 \n-0.0625 0.5 0 \n0 0.5 -0.0625 \n0 0.5 -0.1875 \n-0.1875 0.5 -0.3125 \n0 0.5 -0.3125 \n0 0.5 -0.4375 \n-0.0625 0.5 -0.4375 \n-0.4375 0 -0.5 \n-0.4375 -0.0625 -0.5 \n-0.3125 0 -0.5 \n-0.3125 -0.1875 -0.5 \n-0.1875 0 -0.5 \n-0.0625 0 -0.5 \n0 -0.0625 -0.5 \n0 -0.1875 -0.5 \n-0.1875 -0.3125 -0.5 \n0 -0.3125 -0.5 \n0 -0.4375 -0.5 \n-0.0625 -0.4375 -0.5 \n0.4375 0 -0.5 \n0.4375 0.0625 -0.5 \n0.3125 0 -0.5 \n0.3125 0.1875 -0.5 \n0.1875 0 -0.5 \n0.0625 0 -0.5 \n0 0.0625 -0.5 \n0 0.1875 -0.5 \n0.1875 0.3125 -0.5 \n0 0.3125 -0.5 \n0 0.4375 -0.5 \n0.0625 0.4375 -0.5 \n0 -0.5 -0.4375 \n-0.0625 -0.5 -0.4375 \n0 -0.5 -0.3125 \n-0.1875 -0.5 -0.3125 \n0 -0.5 -0.1875 \n0 -0.5 -0.0625 \n-0.0625 -0.5 0 \n-0.1875 -0.5 0 \n-0.3125 -0.5 -0.1875 \n-0.3125 -0.5 0 \n-0.4375 -0.5 0 \n-0.4375 -0.5 -0.0625 \n0 -0.5 0.4375 \n0.0625 -0.5 0.4375 \n0 -0.5 0.3125 \n0.1875 -0.5 0.3125 \n0 -0.5 0.1875 \n0 -0.5 0.0625 \n0.0625 -0.5 0 \n0.1875 -0.5 0 \n0.3125 -0.5 0.1875 \n0.3125 -0.5 0 \n0.4375 -0.5 0 \n0.4375 -0.5 0.0625 \n-0.5 -0.4375 0 \n-0.5 -0.4375 -0.0625 \n-0.5 -0.3125 0 \n-0.5 -0.3125 -0.1875 \n-0.5 -0.1875 0 \n-0.5 -0.0625 0 \n-0.5 0 -0.0625 \n-0.5 0 -0.1875 \n-0.5 -0.1875 -0.3125 \n-0.5 0 -0.3125 \n-0.5 0 -0.4375 \n-0.5 -0.0625 -0.4375 \n-0.5 0.4375 0 \n-0.5 0.4375 0.0625 \n-0.5 0.3125 0 \n-0.5 0.3125 0.1875 \n-0.5 0.1875 0 \n-0.5 0.0625 0 \n-0.5 0 0.0625 \n-0.5 0 0.1875 \n-0.5 0.1875 0.3125 \n-0.5 0 0.3125 \n-0.5 0 0.4375 \n-0.5 0.0625 0.4375 \n0.4375 0.5 0.5 \n0.5 0.4375 0.5 \n0.3125 0.5 0.5 \n0.5 0.3125 0.5 \n0.1875 0.5 0.5 \n0.0625 0.5 0.5 \n0.5 0.1875 0.5 \n0.5 0.0625 0.5 \n-0.0625 0.5 0.5 \n-0.1875 0.5 0.5 \n-0.3125 0.5 0.5 \n-0.4375 0.5 0.5 \n-0.4375 0.4375 0.5 \n-0.3125 0.3125 0.5 \n-0.1875 0.1875 0.5 \n-0.0625 0.0625 0.5 \n0.5 -0.0625 0.5 \n0.5 -0.1875 0.5 \n0.0625 -0.0625 0.5 \n0.1875 -0.1875 0.5 \n0.5 -0.3125 0.5 \n0.3125 -0.3125 0.5 \n0.4375 -0.4375 0.5 \n0.5 -0.4375 0.5 \n-0.4375 -0.5 0.5 \n-0.5 -0.4375 0.5 \n-0.3125 -0.5 0.5 \n-0.5 -0.3125 0.5 \n-0.1875 -0.5 0.5 \n-0.0625 -0.5 0.5 \n-0.5 -0.1875 0.5 \n-0.5 -0.0625 0.5 \n0.0625 -0.5 0.5 \n0.1875 -0.5 0.5 \n0.3125 -0.5 0.5 \n0.4375 -0.5 0.5 \n-0.5 0.0625 0.5 \n-0.5 0.1875 0.5 \n-0.5 0.3125 0.5 \n-0.5 0.4375 0.5 \n0.5 0.5 0.4375 \n0.5 0.5 0.3125 \n0.5 0.5 0.1875 \n0.5 0.5 0.0625 \n0.5 -0.4375 0.4375 \n0.5 -0.3125 0.3125 \n0.5 -0.1875 0.1875 \n0.5 -0.0625 0.0625 \n0.5 0.5 -0.0625 \n0.5 0.5 -0.1875 \n0.5 0.0625 -0.0625 \n0.5 0.1875 -0.1875 \n0.5 0.5 -0.3125 \n0.5 0.3125 -0.3125 \n0.5 0.4375 -0.4375 \n0.5 0.5 -0.4375 \n0.5 -0.4375 -0.5 \n0.5 -0.5 -0.4375 \n0.5 -0.3125 -0.5 \n0.5 -0.5 -0.3125 \n0.5 -0.1875 -0.5 \n0.5 -0.0625 -0.5 \n0.5 -0.5 -0.1875 \n0.5 -0.5 -0.0625 \n0.5 0.0625 -0.5 \n0.5 0.1875 -0.5 \n0.5 0.3125 -0.5 \n0.5 0.4375 -0.5 \n0.5 -0.5 0.0625 \n0.5 -0.5 0.1875 \n0.5 -0.5 0.3125 \n0.5 -0.5 0.4375 \n0.4375 0.5 -0.4375 \n0.3125 0.5 -0.3125 \n0.1875 0.5 -0.1875 \n0.0625 0.5 -0.0625 \n-0.0625 0.5 0.0625 \n-0.1875 0.5 0.1875 \n-0.3125 0.5 0.3125 \n-0.4375 0.5 0.4375 \n-0.5 0.5 -0.4375 \n-0.4375 0.5 -0.5 \n-0.5 0.5 -0.3125 \n-0.3125 0.5 -0.5 \n-0.5 0.5 -0.1875 \n-0.5 0.5 -0.0625 \n-0.1875 0.5 -0.5 \n-0.0625 0.5 -0.5 \n-0.5 0.5 0.0625 \n-0.5 0.5 0.1875 \n-0.5 0.5 0.3125 \n-0.5 0.5 0.4375 \n0.0625 0.5 -0.5 \n0.1875 0.5 -0.5 \n0.3125 0.5 -0.5 \n0.4375 0.5 -0.5 \n-0.5 -0.4375 -0.5 \n-0.4375 -0.5 -0.5 \n-0.5 -0.3125 -0.5 \n-0.3125 -0.5 -0.5 \n-0.5 -0.1875 -0.5 \n-0.5 -0.0625 -0.5 \n-0.1875 -0.5 -0.5 \n-0.0625 -0.5 -0.5 \n-0.5 0.0625 -0.5 \n-0.5 0.1875 -0.5 \n-0.5 0.3125 -0.5 \n-0.5 0.4375 -0.5 \n-0.4375 0.4375 -0.5 \n-0.3125 0.3125 -0.5 \n-0.1875 0.1875 -0.5 \n-0.0625 0.0625 -0.5 \n0.0625 -0.5 -0.5 \n0.1875 -0.5 -0.5 \n0.0625 -0.0625 -0.5 \n0.1875 -0.1875 -0.5 \n0.3125 -0.5 -0.5 \n0.3125 -0.3125 -0.5 \n0.4375 -0.4375 -0.5 \n0.4375 -0.5 -0.5 \n-0.5 -0.5 -0.4375 \n-0.5 -0.5 -0.3125 \n-0.5 -0.5 -0.1875 \n-0.5 -0.5 -0.0625 \n0.4375 -0.5 -0.4375 \n0.3125 -0.5 -0.3125 \n0.1875 -0.5 -0.1875 \n0.0625 -0.5 -0.0625 \n-0.5 -0.5 0.0625 \n-0.5 -0.5 0.1875 \n-0.0625 -0.5 0.0625 \n-0.1875 -0.5 0.1875 \n-0.5 -0.5 0.3125 \n-0.3125 -0.5 0.3125 \n-0.4375 -0.5 0.4375 \n-0.5 -0.5 0.4375 \n-0.5 -0.4375 0.4375 \n-0.5 -0.3125 0.3125 \n-0.5 -0.1875 0.1875 \n-0.5 -0.0625 0.0625 \n-0.5 0.0625 -0.0625 \n-0.5 0.1875 -0.1875 \n-0.5 0.3125 -0.3125 \n-0.5 0.4375 -0.4375 \n0.5 0.4375 0.5 \n0.5 0.3125 0.5 \n0.5 0.1875 0.5 \n0.5 0.0625 0.5 \n0.5 -0.0625 0.5 \n0.5 -0.1875 0.5 \n0.5 -0.3125 0.5 \n0.5 -0.4375 0.5 \n0.5 0.5 0.4375 \n0.4375 0.5 0.5 \n0.5 0.5 0.3125 \n0.3125 0.5 0.5 \n0.5 0.5 0.1875 \n0.5 0.5 0.0625 \n0.1875 0.5 0.5 \n0.0625 0.5 0.5 \n0.5 0.5 -0.0625 \n0.5 0.5 -0.1875 \n0.5 0.5 -0.3125 \n0.5 0.5 -0.4375 \n-0.0625 0.5 0.5 \n-0.1875 0.5 0.5 \n-0.3125 0.5 0.5 \n-0.4375 0.5 0.5 \n0.5 0.4375 -0.5 \n0.4375 0.5 -0.5 \n0.5 0.3125 -0.5 \n0.3125 0.5 -0.5 \n0.5 0.1875 -0.5 \n0.5 0.0625 -0.5 \n0.1875 0.5 -0.5 \n0.0625 0.5 -0.5 \n0.5 -0.0625 -0.5 \n0.5 -0.1875 -0.5 \n0.5 -0.3125 -0.5 \n0.5 -0.4375 -0.5 \n-0.0625 0.5 -0.5 \n-0.1875 0.5 -0.5 \n-0.3125 0.5 -0.5 \n-0.4375 0.5 -0.5 \n-0.4375 -0.5 -0.5 \n-0.3125 -0.5 -0.5 \n-0.1875 -0.5 -0.5 \n-0.0625 -0.5 -0.5 \n0.0625 -0.5 -0.5 \n0.1875 -0.5 -0.5 \n0.3125 -0.5 -0.5 \n0.4375 -0.5 -0.5 \n0.4375 -0.5 0.5 \n0.5 -0.5 0.4375 \n0.3125 -0.5 0.5 \n0.5 -0.5 0.3125 \n0.1875 -0.5 0.5 \n0.0625 -0.5 0.5 \n0.5 -0.5 0.1875 \n0.5 -0.5 0.0625 \n-0.0625 -0.5 0.5 \n-0.1875 -0.5 0.5 \n-0.3125 -0.5 0.5 \n-0.4375 -0.5 0.5 \n0.5 -0.5 -0.0625 \n0.5 -0.5 -0.1875 \n0.5 -0.5 -0.3125 \n0.5 -0.5 -0.4375 \n-0.5 -0.5 -0.4375 \n-0.5 -0.4375 -0.5 \n-0.5 -0.5 -0.3125 \n-0.5 -0.3125 -0.5 \n-0.5 -0.5 -0.1875 \n-0.5 -0.5 -0.0625 \n-0.5 -0.1875 -0.5 \n-0.5 -0.0625 -0.5 \n-0.5 -0.5 0.0625 \n-0.5 -0.5 0.1875 \n-0.5 -0.5 0.3125 \n-0.5 -0.5 0.4375 \n-0.5 0.0625 -0.5 \n-0.5 0.1875 -0.5 \n-0.5 0.3125 -0.5 \n-0.5 0.4375 -0.5 \n-0.5 0.5 0.4375 \n-0.5 0.4375 0.5 \n-0.5 0.5 0.3125 \n-0.5 0.3125 0.5 \n-0.5 0.5 0.1875 \n-0.5 0.5 0.0625 \n-0.5 0.1875 0.5 \n-0.5 0.0625 0.5 \n-0.5 0.5 -0.0625 \n-0.5 0.5 -0.1875 \n-0.5 0.5 -0.3125 \n-0.5 0.5 -0.4375 \n-0.5 -0.0625 0.5 \n-0.5 -0.1875 0.5 \n-0.5 -0.3125 0.5 \n-0.5 -0.4375 0.5 \n0.5 0.375 0.5 \n0.5 0.125 0.5 \n0.5 -0.125 0.5 \n0.5 -0.375 0.5 \n0.5 0.5 0.375 \n0.375 0.5 0.5 \n0.5 0.5 0.125 \n0.125 0.5 0.5 \n0.5 0.5 -0.125 \n0.5 0.5 -0.375 \n-0.125 0.5 0.5 \n-0.375 0.5 0.5 \n0.5 0.375 -0.5 \n0.375 0.5 -0.5 \n0.5 0.125 -0.5 \n0.125 0.5 -0.5 \n0.5 -0.125 -0.5 \n0.5 -0.375 -0.5 \n-0.125 0.5 -0.5 \n-0.375 0.5 -0.5 \n-0.375 -0.5 -0.5 \n-0.125 -0.5 -0.5 \n0.125 -0.5 -0.5 \n0.375 -0.5 -0.5 \n0.375 -0.5 0.5 \n0.5 -0.5 0.375 \n0.125 -0.5 0.5 \n0.5 -0.5 0.125 \n-0.125 -0.5 0.5 \n-0.375 -0.5 0.5 \n0.5 -0.5 -0.125 \n0.5 -0.5 -0.375 \n-0.5 -0.5 -0.375 \n-0.5 -0.375 -0.5 \n-0.5 -0.5 -0.125 \n-0.5 -0.125 -0.5 \n-0.5 -0.5 0.125 \n-0.5 -0.5 0.375 \n-0.5 0.125 -0.5 \n-0.5 0.375 -0.5 \n-0.5 0.5 0.375 \n-0.5 0.375 0.5 \n-0.5 0.5 0.125 \n-0.5 0.125 0.5 \n-0.5 0.5 -0.125 \n-0.5 0.5 -0.375 \n-0.5 -0.125 0.5 \n-0.5 -0.375 0.5 \n0.5 0.25 0.5 \n0.5 -0.25 0.5 \n0.5 0.5 0.25 \n0.25 0.5 0.5 \n0.5 0.5 -0.25 \n-0.25 0.5 0.5 \n0.5 0.25 -0.5 \n0.25 0.5 -0.5 \n0.5 -0.25 -0.5 \n-0.25 0.5 -0.5 \n-0.25 -0.5 -0.5 \n0.25 -0.5 -0.5 \n0.25 -0.5 0.5 \n0.5 -0.5 0.25 \n-0.25 -0.5 0.5 \n0.5 -0.5 -0.25 \n-0.5 -0.5 -0.25 \n-0.5 -0.25 -0.5 \n-0.5 -0.5 0.25 \n-0.5 0.25 -0.5 \n-0.5 0.5 0.25 \n-0.5 0.25 0.5 \n-0.5 0.5 -0.25 \n-0.5 -0.25 0.5 \n0.5 0 0.5 \n0.5 0.5 0 \n0 0.5 0.5 \n0.5 0 -0.5 \n0 0.5 -0.5 \n0 -0.5 -0.5 \n0 -0.5 0.5 \n0.5 -0.5 0 \n-0.5 -0.5 0 \n-0.5 0 -0.5 \n-0.5 0.5 0 \n-0.5 0 0.5 \n0.5 0.5 0.5 \n0.5 -0.5 0.5 \n0.5 0.5 0.5 \n0.5 0.5 -0.5 \n-0.5 0.5 0.5 \n-0.5 0.5 -0.5 \n0.5 -0.5 -0.5 \n0.5 0.5 -0.5 \n-0.5 -0.5 -0.5 \n0.5 -0.5 -0.5 \n-0.5 -0.5 0.5 \n0.5 -0.5 0.5 \n-0.5 -0.5 -0.5 \n-0.5 -0.5 0.5 \n-0.5 0.5 -0.5 \n-0.5 0.5 0.5 \n0.1875 0.15625 0.5 \n0.15625 0.1875 0.5 \n0.15625 0.15625 0.5 \n-0.1875 -0.15625 0.5 \n-0.15625 -0.1875 0.5 \n-0.15625 -0.15625 0.5 \n0.5 0.1875 0.15625 \n0.5 0.15625 0.1875 \n0.5 0.15625 0.15625 \n0.5 -0.1875 -0.15625 \n0.5 -0.15625 -0.1875 \n0.5 -0.15625 -0.15625 \n0.15625 0.5 0.1875 \n0.1875 0.5 0.15625 \n0.15625 0.5 0.15625 \n-0.15625 0.5 -0.1875 \n-0.1875 0.5 -0.15625 \n-0.15625 0.5 -0.15625 \n-0.15625 -0.1875 -0.5 \n-0.1875 -0.15625 -0.5 \n-0.15625 -0.15625 -0.5 \n0.15625 0.1875 -0.5 \n0.1875 0.15625 -0.5 \n0.15625 0.15625 -0.5 \n-0.1875 -0.5 -0.15625 \n-0.15625 -0.5 -0.1875 \n-0.15625 -0.5 -0.15625 \n0.1875 -0.5 0.15625 \n0.15625 -0.5 0.1875 \n0.15625 -0.5 0.15625 \n-0.5 -0.15625 -0.1875 \n-0.5 -0.1875 -0.15625 \n-0.5 -0.15625 -0.15625 \n-0.5 0.15625 0.1875 \n-0.5 0.1875 0.15625 \n-0.5 0.15625 0.15625 \n0.34375 0.3125 0.5 \n0.34375 0.34375 0.5 \n0.3125 0.34375 0.5 \n-0.15625 0.3125 0.5 \n-0.15625 0.34375 0.5 \n-0.1875 0.34375 0.5 \n0.34375 -0.1875 0.5 \n0.34375 -0.15625 0.5 \n0.3125 -0.15625 0.5 \n-0.34375 -0.3125 0.5 \n-0.34375 -0.34375 0.5 \n-0.3125 -0.34375 0.5 \n0.15625 -0.3125 0.5 \n0.15625 -0.34375 0.5 \n0.1875 -0.34375 0.5 \n-0.34375 0.1875 0.5 \n-0.34375 0.15625 0.5 \n-0.3125 0.15625 0.5 \n0.5 0.34375 0.3125 \n0.5 0.34375 0.34375 \n0.5 0.3125 0.34375 \n0.5 -0.15625 0.3125 \n0.5 -0.15625 0.34375 \n0.5 -0.1875 0.34375 \n0.5 0.34375 -0.1875 \n0.5 0.34375 -0.15625 \n0.5 0.3125 -0.15625 \n0.5 -0.34375 -0.3125 \n0.5 -0.34375 -0.34375 \n0.5 -0.3125 -0.34375 \n0.5 0.15625 -0.3125 \n0.5 0.15625 -0.34375 \n0.5 0.1875 -0.34375 \n0.5 -0.34375 0.1875 \n0.5 -0.34375 0.15625 \n0.5 -0.3125 0.15625 \n0.3125 0.5 0.34375 \n0.34375 0.5 0.34375 \n0.34375 0.5 0.3125 \n0.3125 0.5 -0.15625 \n0.34375 0.5 -0.15625 \n0.34375 0.5 -0.1875 \n-0.1875 0.5 0.34375 \n-0.15625 0.5 0.34375 \n-0.15625 0.5 0.3125 \n-0.3125 0.5 -0.34375 \n-0.34375 0.5 -0.34375 \n-0.34375 0.5 -0.3125 \n-0.3125 0.5 0.15625 \n-0.34375 0.5 0.15625 \n-0.34375 0.5 0.1875 \n0.1875 0.5 -0.34375 \n0.15625 0.5 -0.34375 \n0.15625 0.5 -0.3125 \n-0.3125 -0.34375 -0.5 \n-0.34375 -0.34375 -0.5 \n-0.34375 -0.3125 -0.5 \n-0.3125 0.15625 -0.5 \n-0.34375 0.15625 -0.5 \n-0.34375 0.1875 -0.5 \n0.1875 -0.34375 -0.5 \n0.15625 -0.34375 -0.5 \n0.15625 -0.3125 -0.5 \n0.3125 0.34375 -0.5 \n0.34375 0.34375 -0.5 \n0.34375 0.3125 -0.5 \n0.3125 -0.15625 -0.5 \n0.34375 -0.15625 -0.5 \n0.34375 -0.1875 -0.5 \n-0.1875 0.34375 -0.5 \n-0.15625 0.34375 -0.5 \n-0.15625 0.3125 -0.5 \n-0.34375 -0.5 -0.3125 \n-0.34375 -0.5 -0.34375 \n-0.3125 -0.5 -0.34375 \n0.15625 -0.5 -0.3125 \n0.15625 -0.5 -0.34375 \n0.1875 -0.5 -0.34375 \n-0.34375 -0.5 0.1875 \n-0.34375 -0.5 0.15625 \n-0.3125 -0.5 0.15625 \n0.34375 -0.5 0.3125 \n0.34375 -0.5 0.34375 \n0.3125 -0.5 0.34375 \n-0.15625 -0.5 0.3125 \n-0.15625 -0.5 0.34375 \n-0.1875 -0.5 0.34375 \n0.34375 -0.5 -0.1875 \n0.34375 -0.5 -0.15625 \n0.3125 -0.5 -0.15625 \n-0.5 -0.3125 -0.34375 \n-0.5 -0.34375 -0.34375 \n-0.5 -0.34375 -0.3125 \n-0.5 -0.3125 0.15625 \n-0.5 -0.34375 0.15625 \n-0.5 -0.34375 0.1875 \n-0.5 0.1875 -0.34375 \n-0.5 0.15625 -0.34375 \n-0.5 0.15625 -0.3125 \n-0.5 0.3125 0.34375 \n-0.5 0.34375 0.34375 \n-0.5 0.34375 0.3125 \n-0.5 0.3125 -0.15625 \n-0.5 0.34375 -0.15625 \n-0.5 0.34375 -0.1875 \n-0.5 -0.1875 0.34375 \n-0.5 -0.15625 0.34375 \n-0.5 -0.15625 0.3125 \n0.09375 0.3125 0.5 \n0.09375 0.34375 0.5 \n0.0625 0.34375 0.5 \n0.09375 0.0625 0.5 \n0.09375 0.09375 0.5 \n0.0625 0.09375 0.5 \n0.34375 0.0625 0.5 \n0.34375 0.09375 0.5 \n0.3125 0.09375 0.5 \n-0.09375 -0.3125 0.5 \n-0.09375 -0.34375 0.5 \n-0.0625 -0.34375 0.5 \n-0.09375 -0.0625 0.5 \n-0.09375 -0.09375 0.5 \n-0.0625 -0.09375 0.5 \n-0.34375 -0.0625 0.5 \n-0.34375 -0.09375 0.5 \n-0.3125 -0.09375 0.5 \n0.5 0.09375 0.3125 \n0.5 0.09375 0.34375 \n0.5 0.0625 0.34375 \n0.5 0.09375 0.0625 \n0.5 0.09375 0.09375 \n0.5 0.0625 0.09375 \n0.5 0.34375 0.0625 \n0.5 0.34375 0.09375 \n0.5 0.3125 0.09375 \n0.5 -0.09375 -0.3125 \n0.5 -0.09375 -0.34375 \n0.5 -0.0625 -0.34375 \n0.5 -0.09375 -0.0625 \n0.5 -0.09375 -0.09375 \n0.5 -0.0625 -0.09375 \n0.5 -0.34375 -0.0625 \n0.5 -0.34375 -0.09375 \n0.5 -0.3125 -0.09375 \n0.3125 0.5 0.09375 \n0.34375 0.5 0.09375 \n0.34375 0.5 0.0625 \n0.0625 0.5 0.09375 \n0.09375 0.5 0.09375 \n0.09375 0.5 0.0625 \n0.0625 0.5 0.34375 \n0.09375 0.5 0.34375 \n0.09375 0.5 0.3125 \n-0.3125 0.5 -0.09375 \n-0.34375 0.5 -0.09375 \n-0.34375 0.5 -0.0625 \n-0.0625 0.5 -0.09375 \n-0.09375 0.5 -0.09375 \n-0.09375 0.5 -0.0625 \n-0.0625 0.5 -0.34375 \n-0.09375 0.5 -0.34375 \n-0.09375 0.5 -0.3125 \n-0.3125 -0.09375 -0.5 \n-0.34375 -0.09375 -0.5 \n-0.34375 -0.0625 -0.5 \n-0.0625 -0.09375 -0.5 \n-0.09375 -0.09375 -0.5 \n-0.09375 -0.0625 -0.5 \n-0.0625 -0.34375 -0.5 \n-0.09375 -0.34375 -0.5 \n-0.09375 -0.3125 -0.5 \n0.3125 0.09375 -0.5 \n0.34375 0.09375 -0.5 \n0.34375 0.0625 -0.5 \n0.0625 0.09375 -0.5 \n0.09375 0.09375 -0.5 \n0.09375 0.0625 -0.5 \n0.0625 0.34375 -0.5 \n0.09375 0.34375 -0.5 \n0.09375 0.3125 -0.5 \n-0.09375 -0.5 -0.3125 \n-0.09375 -0.5 -0.34375 \n-0.0625 -0.5 -0.34375 \n-0.09375 -0.5 -0.0625 \n-0.09375 -0.5 -0.09375 \n-0.0625 -0.5 -0.09375 \n-0.34375 -0.5 -0.0625 \n-0.34375 -0.5 -0.09375 \n-0.3125 -0.5 -0.09375 \n0.09375 -0.5 0.3125 \n0.09375 -0.5 0.34375 \n0.0625 -0.5 0.34375 \n0.09375 -0.5 0.0625 \n0.09375 -0.5 0.09375 \n0.0625 -0.5 0.09375 \n0.34375 -0.5 0.0625 \n0.34375 -0.5 0.09375 \n0.3125 -0.5 0.09375 \n-0.5 -0.3125 -0.09375 \n-0.5 -0.34375 -0.09375 \n-0.5 -0.34375 -0.0625 \n-0.5 -0.0625 -0.09375 \n-0.5 -0.09375 -0.09375 \n-0.5 -0.09375 -0.0625 \n-0.5 -0.0625 -0.34375 \n-0.5 -0.09375 -0.34375 \n-0.5 -0.09375 -0.3125 \n-0.5 0.3125 0.09375 \n-0.5 0.34375 0.09375 \n-0.5 0.34375 0.0625 \n-0.5 0.0625 0.09375 \n-0.5 0.09375 0.09375 \n-0.5 0.09375 0.0625 \n-0.5 0.0625 0.34375 \n-0.5 0.09375 0.34375 \n-0.5 0.09375 0.3125 \n0.40625 0.40625 0.5 \n0.4375 0.40625 0.5 \n0.40625 0.4375 0.5 \n0.15625 0.40625 0.5 \n0.1875 0.40625 0.5 \n0.15625 0.4375 0.5 \n0.40625 0.15625 0.5 \n0.4375 0.15625 0.5 \n0.40625 0.1875 0.5 \n-0.09375 0.40625 0.5 \n-0.0625 0.40625 0.5 \n-0.09375 0.4375 0.5 \n-0.34375 0.40625 0.5 \n-0.3125 0.40625 0.5 \n-0.34375 0.4375 0.5 \n-0.09375 0.15625 0.5 \n-0.0625 0.15625 0.5 \n-0.09375 0.1875 0.5 \n0.40625 -0.09375 0.5 \n0.4375 -0.09375 0.5 \n0.40625 -0.0625 0.5 \n0.15625 -0.09375 0.5 \n0.1875 -0.09375 0.5 \n0.15625 -0.0625 0.5 \n0.40625 -0.34375 0.5 \n0.4375 -0.34375 0.5 \n0.40625 -0.3125 0.5 \n-0.40625 -0.40625 0.5 \n-0.4375 -0.40625 0.5 \n-0.40625 -0.4375 0.5 \n-0.15625 -0.40625 0.5 \n-0.1875 -0.40625 0.5 \n-0.15625 -0.4375 0.5 \n-0.40625 -0.15625 0.5 \n-0.4375 -0.15625 0.5 \n-0.40625 -0.1875 0.5 \n0.09375 -0.40625 0.5 \n0.0625 -0.40625 0.5 \n0.09375 -0.4375 0.5 \n0.34375 -0.40625 0.5 \n0.3125 -0.40625 0.5 \n0.34375 -0.4375 0.5 \n0.09375 -0.15625 0.5 \n0.0625 -0.15625 0.5 \n0.09375 -0.1875 0.5 \n-0.40625 0.09375 0.5 \n-0.4375 0.09375 0.5 \n-0.40625 0.0625 0.5 \n-0.15625 0.09375 0.5 \n-0.1875 0.09375 0.5 \n-0.15625 0.0625 0.5 \n-0.40625 0.34375 0.5 \n-0.4375 0.34375 0.5 \n-0.40625 0.3125 0.5 \n0.5 0.40625 0.40625 \n0.5 0.4375 0.40625 \n0.5 0.40625 0.4375 \n0.5 0.15625 0.40625 \n0.5 0.1875 0.40625 \n0.5 0.15625 0.4375 \n0.5 0.40625 0.15625 \n0.5 0.4375 0.15625 \n0.5 0.40625 0.1875 \n0.5 -0.09375 0.40625 \n0.5 -0.0625 0.40625 \n0.5 -0.09375 0.4375 \n0.5 -0.34375 0.40625 \n0.5 -0.3125 0.40625 \n0.5 -0.34375 0.4375 \n0.5 -0.09375 0.15625 \n0.5 -0.0625 0.15625 \n0.5 -0.09375 0.1875 \n0.5 0.40625 -0.09375 \n0.5 0.4375 -0.09375 \n0.5 0.40625 -0.0625 \n0.5 0.15625 -0.09375 \n0.5 0.1875 -0.09375 \n0.5 0.15625 -0.0625 \n0.5 0.40625 -0.34375 \n0.5 0.4375 -0.34375 \n0.5 0.40625 -0.3125 \n0.5 -0.40625 -0.40625 \n0.5 -0.4375 -0.40625 \n0.5 -0.40625 -0.4375 \n0.5 -0.15625 -0.40625 \n0.5 -0.1875 -0.40625 \n0.5 -0.15625 -0.4375 \n0.5 -0.40625 -0.15625 \n0.5 -0.4375 -0.15625 \n0.5 -0.40625 -0.1875 \n0.5 0.09375 -0.40625 \n0.5 0.0625 -0.40625 \n0.5 0.09375 -0.4375 \n0.5 0.34375 -0.40625 \n0.5 0.3125 -0.40625 \n0.5 0.34375 -0.4375 \n0.5 0.09375 -0.15625 \n0.5 0.0625 -0.15625 \n0.5 0.09375 -0.1875 \n0.5 -0.40625 0.09375 \n0.5 -0.4375 0.09375 \n0.5 -0.40625 0.0625 \n0.5 -0.15625 0.09375 \n0.5 -0.1875 0.09375 \n0.5 -0.15625 0.0625 \n0.5 -0.40625 0.34375 \n0.5 -0.4375 0.34375 \n0.5 -0.40625 0.3125 \n0.40625 0.5 0.40625 \n0.40625 0.5 0.4375 \n0.4375 0.5 0.40625 \n0.40625 0.5 0.15625 \n0.40625 0.5 0.1875 \n0.4375 0.5 0.15625 \n0.15625 0.5 0.40625 \n0.15625 0.5 0.4375 \n0.1875 0.5 0.40625 \n0.40625 0.5 -0.09375 \n0.40625 0.5 -0.0625 \n0.4375 0.5 -0.09375 \n0.40625 0.5 -0.34375 \n0.40625 0.5 -0.3125 \n0.4375 0.5 -0.34375 \n0.15625 0.5 -0.09375 \n0.15625 0.5 -0.0625 \n0.1875 0.5 -0.09375 \n-0.09375 0.5 0.40625 \n-0.09375 0.5 0.4375 \n-0.0625 0.5 0.40625 \n-0.09375 0.5 0.15625 \n-0.09375 0.5 0.1875 \n-0.0625 0.5 0.15625 \n-0.34375 0.5 0.40625 \n-0.34375 0.5 0.4375 \n-0.3125 0.5 0.40625 \n-0.40625 0.5 -0.40625 \n-0.40625 0.5 -0.4375 \n-0.4375 0.5 -0.40625 \n-0.40625 0.5 -0.15625 \n-0.40625 0.5 -0.1875 \n-0.4375 0.5 -0.15625 \n-0.15625 0.5 -0.40625 \n-0.15625 0.5 -0.4375 \n-0.1875 0.5 -0.40625 \n-0.40625 0.5 0.09375 \n-0.40625 0.5 0.0625 \n-0.4375 0.5 0.09375 \n-0.40625 0.5 0.34375 \n-0.40625 0.5 0.3125 \n-0.4375 0.5 0.34375 \n-0.15625 0.5 0.09375 \n-0.15625 0.5 0.0625 \n-0.1875 0.5 0.09375 \n0.09375 0.5 -0.40625 \n0.09375 0.5 -0.4375 \n0.0625 0.5 -0.40625 \n0.09375 0.5 -0.15625 \n0.09375 0.5 -0.1875 \n0.0625 0.5 -0.15625 \n0.34375 0.5 -0.40625 \n0.34375 0.5 -0.4375 \n0.3125 0.5 -0.40625 \n-0.40625 -0.40625 -0.5 \n-0.40625 -0.4375 -0.5 \n-0.4375 -0.40625 -0.5 \n-0.40625 -0.15625 -0.5 \n-0.40625 -0.1875 -0.5 \n-0.4375 -0.15625 -0.5 \n-0.15625 -0.40625 -0.5 \n-0.15625 -0.4375 -0.5 \n-0.1875 -0.40625 -0.5 \n-0.40625 0.09375 -0.5 \n-0.40625 0.0625 -0.5 \n-0.4375 0.09375 -0.5 \n-0.40625 0.34375 -0.5 \n-0.40625 0.3125 -0.5 \n-0.4375 0.34375 -0.5 \n-0.15625 0.09375 -0.5 \n-0.15625 0.0625 -0.5 \n-0.1875 0.09375 -0.5 \n0.09375 -0.40625 -0.5 \n0.09375 -0.4375 -0.5 \n0.0625 -0.40625 -0.5 \n0.09375 -0.15625 -0.5 \n0.09375 -0.1875 -0.5 \n0.0625 -0.15625 -0.5 \n0.34375 -0.40625 -0.5 \n0.34375 -0.4375 -0.5 \n0.3125 -0.40625 -0.5 \n0.40625 0.40625 -0.5 \n0.40625 0.4375 -0.5 \n0.4375 0.40625 -0.5 \n0.40625 0.15625 -0.5 \n0.40625 0.1875 -0.5 \n0.4375 0.15625 -0.5 \n0.15625 0.40625 -0.5 \n0.15625 0.4375 -0.5 \n0.1875 0.40625 -0.5 \n0.40625 -0.09375 -0.5 \n0.40625 -0.0625 -0.5 \n0.4375 -0.09375 -0.5 \n0.40625 -0.34375 -0.5 \n0.40625 -0.3125 -0.5 \n0.4375 -0.34375 -0.5 \n0.15625 -0.09375 -0.5 \n0.15625 -0.0625 -0.5 \n0.1875 -0.09375 -0.5 \n-0.09375 0.40625 -0.5 \n-0.09375 0.4375 -0.5 \n-0.0625 0.40625 -0.5 \n-0.09375 0.15625 -0.5 \n-0.09375 0.1875 -0.5 \n-0.0625 0.15625 -0.5 \n-0.34375 0.40625 -0.5 \n-0.34375 0.4375 -0.5 \n-0.3125 0.40625 -0.5 \n-0.40625 -0.5 -0.40625 \n-0.4375 -0.5 -0.40625 \n-0.40625 -0.5 -0.4375 \n-0.15625 -0.5 -0.40625 \n-0.1875 -0.5 -0.40625 \n-0.15625 -0.5 -0.4375 \n-0.40625 -0.5 -0.15625 \n-0.4375 -0.5 -0.15625 \n-0.40625 -0.5 -0.1875 \n0.09375 -0.5 -0.40625 \n0.0625 -0.5 -0.40625 \n0.09375 -0.5 -0.4375 \n0.34375 -0.5 -0.40625 \n0.3125 -0.5 -0.40625 \n0.34375 -0.5 -0.4375 \n0.09375 -0.5 -0.15625 \n0.0625 -0.5 -0.15625 \n0.09375 -0.5 -0.1875 \n-0.40625 -0.5 0.09375 \n-0.4375 -0.5 0.09375 \n-0.40625 -0.5 0.0625 \n-0.15625 -0.5 0.09375 \n-0.1875 -0.5 0.09375 \n-0.15625 -0.5 0.0625 \n-0.40625 -0.5 0.34375 \n-0.4375 -0.5 0.34375 \n-0.40625 -0.5 0.3125 \n0.40625 -0.5 0.40625 \n0.4375 -0.5 0.40625 \n0.40625 -0.5 0.4375 \n0.15625 -0.5 0.40625 \n0.1875 -0.5 0.40625 \n0.15625 -0.5 0.4375 \n0.40625 -0.5 0.15625 \n0.4375 -0.5 0.15625 \n0.40625 -0.5 0.1875 \n-0.09375 -0.5 0.40625 \n-0.0625 -0.5 0.40625 \n-0.09375 -0.5 0.4375 \n-0.34375 -0.5 0.40625 \n-0.3125 -0.5 0.40625 \n-0.34375 -0.5 0.4375 \n-0.09375 -0.5 0.15625 \n-0.0625 -0.5 0.15625 \n-0.09375 -0.5 0.1875 \n0.40625 -0.5 -0.09375 \n0.4375 -0.5 -0.09375 \n0.40625 -0.5 -0.0625 \n0.15625 -0.5 -0.09375 \n0.1875 -0.5 -0.09375 \n0.15625 -0.5 -0.0625 \n0.40625 -0.5 -0.34375 \n0.4375 -0.5 -0.34375 \n0.40625 -0.5 -0.3125 \n-0.5 -0.40625 -0.40625 \n-0.5 -0.40625 -0.4375 \n-0.5 -0.4375 -0.40625 \n-0.5 -0.40625 -0.15625 \n-0.5 -0.40625 -0.1875 \n-0.5 -0.4375 -0.15625 \n-0.5 -0.15625 -0.40625 \n-0.5 -0.15625 -0.4375 \n-0.5 -0.1875 -0.40625 \n-0.5 -0.40625 0.09375 \n-0.5 -0.40625 0.0625 \n-0.5 -0.4375 0.09375 \n-0.5 -0.40625 0.34375 \n-0.5 -0.40625 0.3125 \n-0.5 -0.4375 0.34375 \n-0.5 -0.15625 0.09375 \n-0.5 -0.15625 0.0625 \n-0.5 -0.1875 0.09375 \n-0.5 0.09375 -0.40625 \n-0.5 0.09375 -0.4375 \n-0.5 0.0625 -0.40625 \n-0.5 0.09375 -0.15625 \n-0.5 0.09375 -0.1875 \n-0.5 0.0625 -0.15625 \n-0.5 0.34375 -0.40625 \n-0.5 0.34375 -0.4375 \n-0.5 0.3125 -0.40625 \n-0.5 0.40625 0.40625 \n-0.5 0.40625 0.4375 \n-0.5 0.4375 0.40625 \n-0.5 0.40625 0.15625 \n-0.5 0.40625 0.1875 \n-0.5 0.4375 0.15625 \n-0.5 0.15625 0.40625 \n-0.5 0.15625 0.4375 \n-0.5 0.1875 0.40625 \n-0.5 0.40625 -0.09375 \n-0.5 0.40625 -0.0625 \n-0.5 0.4375 -0.09375 \n-0.5 0.40625 -0.34375 \n-0.5 0.40625 -0.3125 \n-0.5 0.4375 -0.34375 \n-0.5 0.15625 -0.09375 \n-0.5 0.15625 -0.0625 \n-0.5 0.1875 -0.09375 \n-0.5 -0.09375 0.40625 \n-0.5 -0.09375 0.4375 \n-0.5 -0.0625 0.40625 \n-0.5 -0.09375 0.15625 \n-0.5 -0.09375 0.1875 \n-0.5 -0.0625 0.15625 \n-0.5 -0.34375 0.40625 \n-0.5 -0.34375 0.4375 \n-0.5 -0.3125 0.40625 \n0.09375 0.1875 0.5 \n0.09375 0.21875 0.5 \n0.0625 0.21875 0.5 \n0.21875 0.0625 0.5 \n0.21875 0.09375 0.5 \n0.1875 0.09375 0.5 \n0.21875 0.1875 0.5 \n0.21875 0.21875 0.5 \n0.1875 0.21875 0.5 \n-0.09375 -0.1875 0.5 \n-0.09375 -0.21875 0.5 \n-0.0625 -0.21875 0.5 \n-0.21875 -0.0625 0.5 \n-0.21875 -0.09375 0.5 \n-0.1875 -0.09375 0.5 \n-0.21875 -0.1875 0.5 \n-0.21875 -0.21875 0.5 \n-0.1875 -0.21875 0.5 \n0.5 0.09375 0.1875 \n0.5 0.09375 0.21875 \n0.5 0.0625 0.21875 \n0.5 0.21875 0.0625 \n0.5 0.21875 0.09375 \n0.5 0.1875 0.09375 \n0.5 0.21875 0.1875 \n0.5 0.21875 0.21875 \n0.5 0.1875 0.21875 \n0.5 -0.09375 -0.1875 \n0.5 -0.09375 -0.21875 \n0.5 -0.0625 -0.21875 \n0.5 -0.21875 -0.0625 \n0.5 -0.21875 -0.09375 \n0.5 -0.1875 -0.09375 \n0.5 -0.21875 -0.1875 \n0.5 -0.21875 -0.21875 \n0.5 -0.1875 -0.21875 \n0.1875 0.5 0.09375 \n0.21875 0.5 0.09375 \n0.21875 0.5 0.0625 \n0.0625 0.5 0.21875 \n0.09375 0.5 0.21875 \n0.09375 0.5 0.1875 \n0.1875 0.5 0.21875 \n0.21875 0.5 0.21875 \n0.21875 0.5 0.1875 \n-0.1875 0.5 -0.09375 \n-0.21875 0.5 -0.09375 \n-0.21875 0.5 -0.0625 \n-0.0625 0.5 -0.21875 \n-0.09375 0.5 -0.21875 \n-0.09375 0.5 -0.1875 \n-0.1875 0.5 -0.21875 \n-0.21875 0.5 -0.21875 \n-0.21875 0.5 -0.1875 \n-0.1875 -0.09375 -0.5 \n-0.21875 -0.09375 -0.5 \n-0.21875 -0.0625 -0.5 \n-0.0625 -0.21875 -0.5 \n-0.09375 -0.21875 -0.5 \n-0.09375 -0.1875 -0.5 \n-0.1875 -0.21875 -0.5 \n-0.21875 -0.21875 -0.5 \n-0.21875 -0.1875 -0.5 \n0.1875 0.09375 -0.5 \n0.21875 0.09375 -0.5 \n0.21875 0.0625 -0.5 \n0.0625 0.21875 -0.5 \n0.09375 0.21875 -0.5 \n0.09375 0.1875 -0.5 \n0.1875 0.21875 -0.5 \n0.21875 0.21875 -0.5 \n0.21875 0.1875 -0.5 \n-0.09375 -0.5 -0.1875 \n-0.09375 -0.5 -0.21875 \n-0.0625 -0.5 -0.21875 \n-0.21875 -0.5 -0.0625 \n-0.21875 -0.5 -0.09375 \n-0.1875 -0.5 -0.09375 \n-0.21875 -0.5 -0.1875 \n-0.21875 -0.5 -0.21875 \n-0.1875 -0.5 -0.21875 \n0.09375 -0.5 0.1875 \n0.09375 -0.5 0.21875 \n0.0625 -0.5 0.21875 \n0.21875 -0.5 0.0625 \n0.21875 -0.5 0.09375 \n0.1875 -0.5 0.09375 \n0.21875 -0.5 0.1875 \n0.21875 -0.5 0.21875 \n0.1875 -0.5 0.21875 \n-0.5 -0.1875 -0.09375 \n-0.5 -0.21875 -0.09375 \n-0.5 -0.21875 -0.0625 \n-0.5 -0.0625 -0.21875 \n-0.5 -0.09375 -0.21875 \n-0.5 -0.09375 -0.1875 \n-0.5 -0.1875 -0.21875 \n-0.5 -0.21875 -0.21875 \n-0.5 -0.21875 -0.1875 \n-0.5 0.1875 0.09375 \n-0.5 0.21875 0.09375 \n-0.5 0.21875 0.0625 \n-0.5 0.0625 0.21875 \n-0.5 0.09375 0.21875 \n-0.5 0.09375 0.1875 \n-0.5 0.1875 0.21875 \n-0.5 0.21875 0.21875 \n-0.5 0.21875 0.1875 \n0.28125 0.40625 0.5 \n0.3125 0.40625 0.5 \n0.28125 0.4375 0.5 \n0.28125 0.28125 0.5 \n0.3125 0.28125 0.5 \n0.28125 0.3125 0.5 \n0.40625 0.28125 0.5 \n0.4375 0.28125 0.5 \n0.40625 0.3125 0.5 \n-0.21875 0.40625 0.5 \n-0.1875 0.40625 0.5 \n-0.21875 0.4375 0.5 \n-0.21875 0.28125 0.5 \n-0.1875 0.28125 0.5 \n-0.21875 0.3125 0.5 \n-0.09375 0.28125 0.5 \n-0.0625 0.28125 0.5 \n-0.09375 0.3125 0.5 \n0.28125 -0.09375 0.5 \n0.3125 -0.09375 0.5 \n0.28125 -0.0625 0.5 \n0.28125 -0.21875 0.5 \n0.3125 -0.21875 0.5 \n0.28125 -0.1875 0.5 \n0.40625 -0.21875 0.5 \n0.4375 -0.21875 0.5 \n0.40625 -0.1875 0.5 \n-0.28125 -0.40625 0.5 \n-0.3125 -0.40625 0.5 \n-0.28125 -0.4375 0.5 \n-0.28125 -0.28125 0.5 \n-0.3125 -0.28125 0.5 \n-0.28125 -0.3125 0.5 \n-0.40625 -0.28125 0.5 \n-0.4375 -0.28125 0.5 \n-0.40625 -0.3125 0.5 \n0.21875 -0.40625 0.5 \n0.1875 -0.40625 0.5 \n0.21875 -0.4375 0.5 \n0.21875 -0.28125 0.5 \n0.1875 -0.28125 0.5 \n0.21875 -0.3125 0.5 \n0.09375 -0.28125 0.5 \n0.0625 -0.28125 0.5 \n0.09375 -0.3125 0.5 \n-0.28125 0.09375 0.5 \n-0.3125 0.09375 0.5 \n-0.28125 0.0625 0.5 \n-0.28125 0.21875 0.5 \n-0.3125 0.21875 0.5 \n-0.28125 0.1875 0.5 \n-0.40625 0.21875 0.5 \n-0.4375 0.21875 0.5 \n-0.40625 0.1875 0.5 \n0.5 0.28125 0.40625 \n0.5 0.3125 0.40625 \n0.5 0.28125 0.4375 \n0.5 0.28125 0.28125 \n0.5 0.3125 0.28125 \n0.5 0.28125 0.3125 \n0.5 0.40625 0.28125 \n0.5 0.4375 0.28125 \n0.5 0.40625 0.3125 \n0.5 -0.21875 0.40625 \n0.5 -0.1875 0.40625 \n0.5 -0.21875 0.4375 \n0.5 -0.21875 0.28125 \n0.5 -0.1875 0.28125 \n0.5 -0.21875 0.3125 \n0.5 -0.09375 0.28125 \n0.5 -0.0625 0.28125 \n0.5 -0.09375 0.3125 \n0.5 0.28125 -0.09375 \n0.5 0.3125 -0.09375 \n0.5 0.28125 -0.0625 \n0.5 0.28125 -0.21875 \n0.5 0.3125 -0.21875 \n0.5 0.28125 -0.1875 \n0.5 0.40625 -0.21875 \n0.5 0.4375 -0.21875 \n0.5 0.40625 -0.1875 \n0.5 -0.28125 -0.40625 \n0.5 -0.3125 -0.40625 \n0.5 -0.28125 -0.4375 \n0.5 -0.28125 -0.28125 \n0.5 -0.3125 -0.28125 \n0.5 -0.28125 -0.3125 \n0.5 -0.40625 -0.28125 \n0.5 -0.4375 -0.28125 \n0.5 -0.40625 -0.3125 \n0.5 0.21875 -0.40625 \n0.5 0.1875 -0.40625 \n0.5 0.21875 -0.4375 \n0.5 0.21875 -0.28125 \n0.5 0.1875 -0.28125 \n0.5 0.21875 -0.3125 \n0.5 0.09375 -0.28125 \n0.5 0.0625 -0.28125 \n0.5 0.09375 -0.3125 \n0.5 -0.28125 0.09375 \n0.5 -0.3125 0.09375 \n0.5 -0.28125 0.0625 \n0.5 -0.28125 0.21875 \n0.5 -0.3125 0.21875 \n0.5 -0.28125 0.1875 \n0.5 -0.40625 0.21875 \n0.5 -0.4375 0.21875 \n0.5 -0.40625 0.1875 \n0.40625 0.5 0.28125 \n0.40625 0.5 0.3125 \n0.4375 0.5 0.28125 \n0.28125 0.5 0.28125 \n0.28125 0.5 0.3125 \n0.3125 0.5 0.28125 \n0.28125 0.5 0.40625 \n0.28125 0.5 0.4375 \n0.3125 0.5 0.40625 \n0.40625 0.5 -0.21875 \n0.40625 0.5 -0.1875 \n0.4375 0.5 -0.21875 \n0.28125 0.5 -0.21875 \n0.28125 0.5 -0.1875 \n0.3125 0.5 -0.21875 \n0.28125 0.5 -0.09375 \n0.28125 0.5 -0.0625 \n0.3125 0.5 -0.09375 \n-0.09375 0.5 0.28125 \n-0.09375 0.5 0.3125 \n-0.0625 0.5 0.28125 \n-0.21875 0.5 0.28125 \n-0.21875 0.5 0.3125 \n-0.1875 0.5 0.28125 \n-0.21875 0.5 0.40625 \n-0.21875 0.5 0.4375 \n-0.1875 0.5 0.40625 \n-0.40625 0.5 -0.28125 \n-0.40625 0.5 -0.3125 \n-0.4375 0.5 -0.28125 \n-0.28125 0.5 -0.28125 \n-0.28125 0.5 -0.3125 \n-0.3125 0.5 -0.28125 \n-0.28125 0.5 -0.40625 \n-0.28125 0.5 -0.4375 \n-0.3125 0.5 -0.40625 \n-0.40625 0.5 0.21875 \n-0.40625 0.5 0.1875 \n-0.4375 0.5 0.21875 \n-0.28125 0.5 0.21875 \n-0.28125 0.5 0.1875 \n-0.3125 0.5 0.21875 \n-0.28125 0.5 0.09375 \n-0.28125 0.5 0.0625 \n-0.3125 0.5 0.09375 \n0.09375 0.5 -0.28125 \n0.09375 0.5 -0.3125 \n0.0625 0.5 -0.28125 \n0.21875 0.5 -0.28125 \n0.21875 0.5 -0.3125 \n0.1875 0.5 -0.28125 \n0.21875 0.5 -0.40625 \n0.21875 0.5 -0.4375 \n0.1875 0.5 -0.40625 \n-0.40625 -0.28125 -0.5 \n-0.40625 -0.3125 -0.5 \n-0.4375 -0.28125 -0.5 \n-0.28125 -0.28125 -0.5 \n-0.28125 -0.3125 -0.5 \n-0.3125 -0.28125 -0.5 \n-0.28125 -0.40625 -0.5 \n-0.28125 -0.4375 -0.5 \n-0.3125 -0.40625 -0.5 \n-0.40625 0.21875 -0.5 \n-0.40625 0.1875 -0.5 \n-0.4375 0.21875 -0.5 \n-0.28125 0.21875 -0.5 \n-0.28125 0.1875 -0.5 \n-0.3125 0.21875 -0.5 \n-0.28125 0.09375 -0.5 \n-0.28125 0.0625 -0.5 \n-0.3125 0.09375 -0.5 \n0.09375 -0.28125 -0.5 \n0.09375 -0.3125 -0.5 \n0.0625 -0.28125 -0.5 \n0.21875 -0.28125 -0.5 \n0.21875 -0.3125 -0.5 \n0.1875 -0.28125 -0.5 \n0.21875 -0.40625 -0.5 \n0.21875 -0.4375 -0.5 \n0.1875 -0.40625 -0.5 \n0.40625 0.28125 -0.5 \n0.40625 0.3125 -0.5 \n0.4375 0.28125 -0.5 \n0.28125 0.28125 -0.5 \n0.28125 0.3125 -0.5 \n0.3125 0.28125 -0.5 \n0.28125 0.40625 -0.5 \n0.28125 0.4375 -0.5 \n0.3125 0.40625 -0.5 \n0.40625 -0.21875 -0.5 \n0.40625 -0.1875 -0.5 \n0.4375 -0.21875 -0.5 \n0.28125 -0.21875 -0.5 \n0.28125 -0.1875 -0.5 \n0.3125 -0.21875 -0.5 \n0.28125 -0.09375 -0.5 \n0.28125 -0.0625 -0.5 \n0.3125 -0.09375 -0.5 \n-0.09375 0.28125 -0.5 \n-0.09375 0.3125 -0.5 \n-0.0625 0.28125 -0.5 \n-0.21875 0.28125 -0.5 \n-0.21875 0.3125 -0.5 \n-0.1875 0.28125 -0.5 \n-0.21875 0.40625 -0.5 \n-0.21875 0.4375 -0.5 \n-0.1875 0.40625 -0.5 \n-0.28125 -0.5 -0.40625 \n-0.3125 -0.5 -0.40625 \n-0.28125 -0.5 -0.4375 \n-0.28125 -0.5 -0.28125 \n-0.3125 -0.5 -0.28125 \n-0.28125 -0.5 -0.3125 \n-0.40625 -0.5 -0.28125 \n-0.4375 -0.5 -0.28125 \n-0.40625 -0.5 -0.3125 \n0.21875 -0.5 -0.40625 \n0.1875 -0.5 -0.40625 \n0.21875 -0.5 -0.4375 \n0.21875 -0.5 -0.28125 \n0.1875 -0.5 -0.28125 \n0.21875 -0.5 -0.3125 \n0.09375 -0.5 -0.28125 \n0.0625 -0.5 -0.28125 \n0.09375 -0.5 -0.3125 \n-0.28125 -0.5 0.09375 \n-0.3125 -0.5 0.09375 \n-0.28125 -0.5 0.0625 \n-0.28125 -0.5 0.21875 \n-0.3125 -0.5 0.21875 \n-0.28125 -0.5 0.1875 \n-0.40625 -0.5 0.21875 \n-0.4375 -0.5 0.21875 \n-0.40625 -0.5 0.1875 \n0.28125 -0.5 0.40625 \n0.3125 -0.5 0.40625 \n0.28125 -0.5 0.4375 \n0.28125 -0.5 0.28125 \n0.3125 -0.5 0.28125 \n0.28125 -0.5 0.3125 \n0.40625 -0.5 0.28125 \n0.4375 -0.5 0.28125 \n0.40625 -0.5 0.3125 \n-0.21875 -0.5 0.40625 \n-0.1875 -0.5 0.40625 \n-0.21875 -0.5 0.4375 \n-0.21875 -0.5 0.28125 \n-0.1875 -0.5 0.28125 \n-0.21875 -0.5 0.3125 \n-0.09375 -0.5 0.28125 \n-0.0625 -0.5 0.28125 \n-0.09375 -0.5 0.3125 \n0.28125 -0.5 -0.09375 \n0.3125 -0.5 -0.09375 \n0.28125 -0.5 -0.0625 \n0.28125 -0.5 -0.21875 \n0.3125 -0.5 -0.21875 \n0.28125 -0.5 -0.1875 \n0.40625 -0.5 -0.21875 \n0.4375 -0.5 -0.21875 \n0.40625 -0.5 -0.1875 \n-0.5 -0.40625 -0.28125 \n-0.5 -0.40625 -0.3125 \n-0.5 -0.4375 -0.28125 \n-0.5 -0.28125 -0.28125 \n-0.5 -0.28125 -0.3125 \n-0.5 -0.3125 -0.28125 \n-0.5 -0.28125 -0.40625 \n-0.5 -0.28125 -0.4375 \n-0.5 -0.3125 -0.40625 \n-0.5 -0.40625 0.21875 \n-0.5 -0.40625 0.1875 \n-0.5 -0.4375 0.21875 \n-0.5 -0.28125 0.21875 \n-0.5 -0.28125 0.1875 \n-0.5 -0.3125 0.21875 \n-0.5 -0.28125 0.09375 \n-0.5 -0.28125 0.0625 \n-0.5 -0.3125 0.09375 \n-0.5 0.09375 -0.28125 \n-0.5 0.09375 -0.3125 \n-0.5 0.0625 -0.28125 \n-0.5 0.21875 -0.28125 \n-0.5 0.21875 -0.3125 \n-0.5 0.1875 -0.28125 \n-0.5 0.21875 -0.40625 \n-0.5 0.21875 -0.4375 \n-0.5 0.1875 -0.40625 \n-0.5 0.40625 0.28125 \n-0.5 0.40625 0.3125 \n-0.5 0.4375 0.28125 \n-0.5 0.28125 0.28125 \n-0.5 0.28125 0.3125 \n-0.5 0.3125 0.28125 \n-0.5 0.28125 0.40625 \n-0.5 0.28125 0.4375 \n-0.5 0.3125 0.40625 \n-0.5 0.40625 -0.21875 \n-0.5 0.40625 -0.1875 \n-0.5 0.4375 -0.21875 \n-0.5 0.28125 -0.21875 \n-0.5 0.28125 -0.1875 \n-0.5 0.3125 -0.21875 \n-0.5 0.28125 -0.09375 \n-0.5 0.28125 -0.0625 \n-0.5 0.3125 -0.09375 \n-0.5 -0.09375 0.28125 \n-0.5 -0.09375 0.3125 \n-0.5 -0.0625 0.28125 \n-0.5 -0.21875 0.28125 \n-0.5 -0.21875 0.3125 \n-0.5 -0.1875 0.28125 \n-0.5 -0.21875 0.40625 \n-0.5 -0.21875 0.4375 \n-0.5 -0.1875 0.40625 \n0.03125 0.40625 0.5 \n0.0625 0.40625 0.5 \n0.03125 0.4375 0.5 \n0.03125 0.28125 0.5 \n0.0625 0.28125 0.5 \n0.03125 0.3125 0.5 \n0.15625 0.28125 0.5 \n0.1875 0.28125 0.5 \n0.15625 0.3125 0.5 \n0.03125 0.15625 0.5 \n0.0625 0.15625 0.5 \n0.03125 0.1875 0.5 \n0.03125 0.03125 0.5 \n0.0625 0.03125 0.5 \n0.03125 0.0625 0.5 \n0.15625 0.03125 0.5 \n0.1875 0.03125 0.5 \n0.15625 0.0625 0.5 \n0.28125 0.15625 0.5 \n0.3125 0.15625 0.5 \n0.28125 0.1875 0.5 \n0.28125 0.03125 0.5 \n0.3125 0.03125 0.5 \n0.28125 0.0625 0.5 \n0.40625 0.03125 0.5 \n0.4375 0.03125 0.5 \n0.40625 0.0625 0.5 \n-0.03125 -0.40625 0.5 \n-0.0625 -0.40625 0.5 \n-0.03125 -0.4375 0.5 \n-0.03125 -0.28125 0.5 \n-0.0625 -0.28125 0.5 \n-0.03125 -0.3125 0.5 \n-0.15625 -0.28125 0.5 \n-0.1875 -0.28125 0.5 \n-0.15625 -0.3125 0.5 \n-0.03125 -0.15625 0.5 \n-0.0625 -0.15625 0.5 \n-0.03125 -0.1875 0.5 \n-0.03125 -0.03125 0.5 \n-0.0625 -0.03125 0.5 \n-0.03125 -0.0625 0.5 \n-0.15625 -0.03125 0.5 \n-0.1875 -0.03125 0.5 \n-0.15625 -0.0625 0.5 \n-0.28125 -0.15625 0.5 \n-0.3125 -0.15625 0.5 \n-0.28125 -0.1875 0.5 \n-0.28125 -0.03125 0.5 \n-0.3125 -0.03125 0.5 \n-0.28125 -0.0625 0.5 \n-0.40625 -0.03125 0.5 \n-0.4375 -0.03125 0.5 \n-0.40625 -0.0625 0.5 \n0.5 0.03125 0.40625 \n0.5 0.0625 0.40625 \n0.5 0.03125 0.4375 \n0.5 0.03125 0.28125 \n0.5 0.0625 0.28125 \n0.5 0.03125 0.3125 \n0.5 0.15625 0.28125 \n0.5 0.1875 0.28125 \n0.5 0.15625 0.3125 \n0.5 0.03125 0.15625 \n0.5 0.0625 0.15625 \n0.5 0.03125 0.1875 \n0.5 0.03125 0.03125 \n0.5 0.0625 0.03125 \n0.5 0.03125 0.0625 \n0.5 0.15625 0.03125 \n0.5 0.1875 0.03125 \n0.5 0.15625 0.0625 \n0.5 0.28125 0.15625 \n0.5 0.3125 0.15625 \n0.5 0.28125 0.1875 \n0.5 0.28125 0.03125 \n0.5 0.3125 0.03125 \n0.5 0.28125 0.0625 \n0.5 0.40625 0.03125 \n0.5 0.4375 0.03125 \n0.5 0.40625 0.0625 \n0.5 -0.03125 -0.40625 \n0.5 -0.0625 -0.40625 \n0.5 -0.03125 -0.4375 \n0.5 -0.03125 -0.28125 \n0.5 -0.0625 -0.28125 \n0.5 -0.03125 -0.3125 \n0.5 -0.15625 -0.28125 \n0.5 -0.1875 -0.28125 \n0.5 -0.15625 -0.3125 \n0.5 -0.03125 -0.15625 \n0.5 -0.0625 -0.15625 \n0.5 -0.03125 -0.1875 \n0.5 -0.03125 -0.03125 \n0.5 -0.0625 -0.03125 \n0.5 -0.03125 -0.0625 \n0.5 -0.15625 -0.03125 \n0.5 -0.1875 -0.03125 \n0.5 -0.15625 -0.0625 \n0.5 -0.28125 -0.15625 \n0.5 -0.3125 -0.15625 \n0.5 -0.28125 -0.1875 \n0.5 -0.28125 -0.03125 \n0.5 -0.3125 -0.03125 \n0.5 -0.28125 -0.0625 \n0.5 -0.40625 -0.03125 \n0.5 -0.4375 -0.03125 \n0.5 -0.40625 -0.0625 \n0.40625 0.5 0.03125 \n0.40625 0.5 0.0625 \n0.4375 0.5 0.03125 \n0.28125 0.5 0.03125 \n0.28125 0.5 0.0625 \n0.3125 0.5 0.03125 \n0.28125 0.5 0.15625 \n0.28125 0.5 0.1875 \n0.3125 0.5 0.15625 \n0.15625 0.5 0.03125 \n0.15625 0.5 0.0625 \n0.1875 0.5 0.03125 \n0.03125 0.5 0.03125 \n0.03125 0.5 0.0625 \n0.0625 0.5 0.03125 \n0.03125 0.5 0.15625 \n0.03125 0.5 0.1875 \n0.0625 0.5 0.15625 \n0.15625 0.5 0.28125 \n0.15625 0.5 0.3125 \n0.1875 0.5 0.28125 \n0.03125 0.5 0.28125 \n0.03125 0.5 0.3125 \n0.0625 0.5 0.28125 \n0.03125 0.5 0.40625 \n0.03125 0.5 0.4375 \n0.0625 0.5 0.40625 \n-0.40625 0.5 -0.03125 \n-0.40625 0.5 -0.0625 \n-0.4375 0.5 -0.03125 \n-0.28125 0.5 -0.03125 \n-0.28125 0.5 -0.0625 \n-0.3125 0.5 -0.03125 \n-0.28125 0.5 -0.15625 \n-0.28125 0.5 -0.1875 \n-0.3125 0.5 -0.15625 \n-0.15625 0.5 -0.03125 \n-0.15625 0.5 -0.0625 \n-0.1875 0.5 -0.03125 \n-0.03125 0.5 -0.03125 \n-0.03125 0.5 -0.0625 \n-0.0625 0.5 -0.03125 \n-0.03125 0.5 -0.15625 \n-0.03125 0.5 -0.1875 \n-0.0625 0.5 -0.15625 \n-0.15625 0.5 -0.28125 \n-0.15625 0.5 -0.3125 \n-0.1875 0.5 -0.28125 \n-0.03125 0.5 -0.28125 \n-0.03125 0.5 -0.3125 \n-0.0625 0.5 -0.28125 \n-0.03125 0.5 -0.40625 \n-0.03125 0.5 -0.4375 \n-0.0625 0.5 -0.40625 \n-0.40625 -0.03125 -0.5 \n-0.40625 -0.0625 -0.5 \n-0.4375 -0.03125 -0.5 \n-0.28125 -0.03125 -0.5 \n-0.28125 -0.0625 -0.5 \n-0.3125 -0.03125 -0.5 \n-0.28125 -0.15625 -0.5 \n-0.28125 -0.1875 -0.5 \n-0.3125 -0.15625 -0.5 \n-0.15625 -0.03125 -0.5 \n-0.15625 -0.0625 -0.5 \n-0.1875 -0.03125 -0.5 \n-0.03125 -0.03125 -0.5 \n-0.03125 -0.0625 -0.5 \n-0.0625 -0.03125 -0.5 \n-0.03125 -0.15625 -0.5 \n-0.03125 -0.1875 -0.5 \n-0.0625 -0.15625 -0.5 \n-0.15625 -0.28125 -0.5 \n-0.15625 -0.3125 -0.5 \n-0.1875 -0.28125 -0.5 \n-0.03125 -0.28125 -0.5 \n-0.03125 -0.3125 -0.5 \n-0.0625 -0.28125 -0.5 \n-0.03125 -0.40625 -0.5 \n-0.03125 -0.4375 -0.5 \n-0.0625 -0.40625 -0.5 \n0.40625 0.03125 -0.5 \n0.40625 0.0625 -0.5 \n0.4375 0.03125 -0.5 \n0.28125 0.03125 -0.5 \n0.28125 0.0625 -0.5 \n0.3125 0.03125 -0.5 \n0.28125 0.15625 -0.5 \n0.28125 0.1875 -0.5 \n0.3125 0.15625 -0.5 \n0.15625 0.03125 -0.5 \n0.15625 0.0625 -0.5 \n0.1875 0.03125 -0.5 \n0.03125 0.03125 -0.5 \n0.03125 0.0625 -0.5 \n0.0625 0.03125 -0.5 \n0.03125 0.15625 -0.5 \n0.03125 0.1875 -0.5 \n0.0625 0.15625 -0.5 \n0.15625 0.28125 -0.5 \n0.15625 0.3125 -0.5 \n0.1875 0.28125 -0.5 \n0.03125 0.28125 -0.5 \n0.03125 0.3125 -0.5 \n0.0625 0.28125 -0.5 \n0.03125 0.40625 -0.5 \n0.03125 0.4375 -0.5 \n0.0625 0.40625 -0.5 \n-0.03125 -0.5 -0.40625 \n-0.0625 -0.5 -0.40625 \n-0.03125 -0.5 -0.4375 \n-0.03125 -0.5 -0.28125 \n-0.0625 -0.5 -0.28125 \n-0.03125 -0.5 -0.3125 \n-0.15625 -0.5 -0.28125 \n-0.1875 -0.5 -0.28125 \n-0.15625 -0.5 -0.3125 \n-0.03125 -0.5 -0.15625 \n-0.0625 -0.5 -0.15625 \n-0.03125 -0.5 -0.1875 \n-0.03125 -0.5 -0.03125 \n-0.0625 -0.5 -0.03125 \n-0.03125 -0.5 -0.0625 \n-0.15625 -0.5 -0.03125 \n-0.1875 -0.5 -0.03125 \n-0.15625 -0.5 -0.0625 \n-0.28125 -0.5 -0.15625 \n-0.3125 -0.5 -0.15625 \n-0.28125 -0.5 -0.1875 \n-0.28125 -0.5 -0.03125 \n-0.3125 -0.5 -0.03125 \n-0.28125 -0.5 -0.0625 \n-0.40625 -0.5 -0.03125 \n-0.4375 -0.5 -0.03125 \n-0.40625 -0.5 -0.0625 \n0.03125 -0.5 0.40625 \n0.0625 -0.5 0.40625 \n0.03125 -0.5 0.4375 \n0.03125 -0.5 0.28125 \n0.0625 -0.5 0.28125 \n0.03125 -0.5 0.3125 \n0.15625 -0.5 0.28125 \n0.1875 -0.5 0.28125 \n0.15625 -0.5 0.3125 \n0.03125 -0.5 0.15625 \n0.0625 -0.5 0.15625 \n0.03125 -0.5 0.1875 \n0.03125 -0.5 0.03125 \n0.0625 -0.5 0.03125 \n0.03125 -0.5 0.0625 \n0.15625 -0.5 0.03125 \n0.1875 -0.5 0.03125 \n0.15625 -0.5 0.0625 \n0.28125 -0.5 0.15625 \n0.3125 -0.5 0.15625 \n0.28125 -0.5 0.1875 \n0.28125 -0.5 0.03125 \n0.3125 -0.5 0.03125 \n0.28125 -0.5 0.0625 \n0.40625 -0.5 0.03125 \n0.4375 -0.5 0.03125 \n0.40625 -0.5 0.0625 \n-0.5 -0.40625 -0.03125 \n-0.5 -0.40625 -0.0625 \n-0.5 -0.4375 -0.03125 \n-0.5 -0.28125 -0.03125 \n-0.5 -0.28125 -0.0625 \n-0.5 -0.3125 -0.03125 \n-0.5 -0.28125 -0.15625 \n-0.5 -0.28125 -0.1875 \n-0.5 -0.3125 -0.15625 \n-0.5 -0.15625 -0.03125 \n-0.5 -0.15625 -0.0625 \n-0.5 -0.1875 -0.03125 \n-0.5 -0.03125 -0.03125 \n-0.5 -0.03125 -0.0625 \n-0.5 -0.0625 -0.03125 \n-0.5 -0.03125 -0.15625 \n-0.5 -0.03125 -0.1875 \n-0.5 -0.0625 -0.15625 \n-0.5 -0.15625 -0.28125 \n-0.5 -0.15625 -0.3125 \n-0.5 -0.1875 -0.28125 \n-0.5 -0.03125 -0.28125 \n-0.5 -0.03125 -0.3125 \n-0.5 -0.0625 -0.28125 \n-0.5 -0.03125 -0.40625 \n-0.5 -0.03125 -0.4375 \n-0.5 -0.0625 -0.40625 \n-0.5 0.40625 0.03125 \n-0.5 0.40625 0.0625 \n-0.5 0.4375 0.03125 \n-0.5 0.28125 0.03125 \n-0.5 0.28125 0.0625 \n-0.5 0.3125 0.03125 \n-0.5 0.28125 0.15625 \n-0.5 0.28125 0.1875 \n-0.5 0.3125 0.15625 \n-0.5 0.15625 0.03125 \n-0.5 0.15625 0.0625 \n-0.5 0.1875 0.03125 \n-0.5 0.03125 0.03125 \n-0.5 0.03125 0.0625 \n-0.5 0.0625 0.03125 \n-0.5 0.03125 0.15625 \n-0.5 0.03125 0.1875 \n-0.5 0.0625 0.15625 \n-0.5 0.15625 0.28125 \n-0.5 0.15625 0.3125 \n-0.5 0.1875 0.28125 \n-0.5 0.03125 0.28125 \n-0.5 0.03125 0.3125 \n-0.5 0.0625 0.28125 \n-0.5 0.03125 0.40625 \n-0.5 0.03125 0.4375 \n-0.5 0.0625 0.40625 \n0.4375 0.46875 0.5 \n0.46875 0.4375 0.5 \n0.46875 0.46875 0.5 \n0.3125 0.46875 0.5 \n0.34375 0.4375 0.5 \n0.34375 0.46875 0.5 \n0.4375 0.34375 0.5 \n0.46875 0.3125 0.5 \n0.46875 0.34375 0.5 \n0.1875 0.46875 0.5 \n0.21875 0.4375 0.5 \n0.21875 0.46875 0.5 \n0.0625 0.46875 0.5 \n0.09375 0.4375 0.5 \n0.09375 0.46875 0.5 \n0.1875 0.34375 0.5 \n0.21875 0.3125 0.5 \n0.21875 0.34375 0.5 \n0.4375 0.21875 0.5 \n0.46875 0.1875 0.5 \n0.46875 0.21875 0.5 \n0.3125 0.21875 0.5 \n0.34375 0.1875 0.5 \n0.34375 0.21875 0.5 \n0.4375 0.09375 0.5 \n0.46875 0.0625 0.5 \n0.46875 0.09375 0.5 \n-0.0625 0.46875 0.5 \n-0.03125 0.4375 0.5 \n-0.03125 0.46875 0.5 \n-0.1875 0.46875 0.5 \n-0.15625 0.4375 0.5 \n-0.15625 0.46875 0.5 \n-0.0625 0.34375 0.5 \n-0.03125 0.3125 0.5 \n-0.03125 0.34375 0.5 \n-0.3125 0.46875 0.5 \n-0.28125 0.4375 0.5 \n-0.28125 0.46875 0.5 \n-0.4375 0.46875 0.5 \n-0.40625 0.4375 0.5 \n-0.40625 0.46875 0.5 \n-0.3125 0.34375 0.5 \n-0.28125 0.3125 0.5 \n-0.28125 0.34375 0.5 \n-0.0625 0.21875 0.5 \n-0.03125 0.1875 0.5 \n-0.03125 0.21875 0.5 \n-0.1875 0.21875 0.5 \n-0.15625 0.1875 0.5 \n-0.15625 0.21875 0.5 \n-0.0625 0.09375 0.5 \n-0.03125 0.0625 0.5 \n-0.03125 0.09375 0.5 \n0.4375 -0.03125 0.5 \n0.46875 -0.0625 0.5 \n0.46875 -0.03125 0.5 \n0.3125 -0.03125 0.5 \n0.34375 -0.0625 0.5 \n0.34375 -0.03125 0.5 \n0.4375 -0.15625 0.5 \n0.46875 -0.1875 0.5 \n0.46875 -0.15625 0.5 \n0.1875 -0.03125 0.5 \n0.21875 -0.0625 0.5 \n0.21875 -0.03125 0.5 \n0.0625 -0.03125 0.5 \n0.09375 -0.0625 0.5 \n0.09375 -0.03125 0.5 \n0.1875 -0.15625 0.5 \n0.21875 -0.1875 0.5 \n0.21875 -0.15625 0.5 \n0.4375 -0.28125 0.5 \n0.46875 -0.3125 0.5 \n0.46875 -0.28125 0.5 \n0.3125 -0.28125 0.5 \n0.34375 -0.3125 0.5 \n0.34375 -0.28125 0.5 \n0.4375 -0.40625 0.5 \n0.46875 -0.4375 0.5 \n0.46875 -0.40625 0.5 \n-0.4375 -0.46875 0.5 \n-0.46875 -0.4375 0.5 \n-0.46875 -0.46875 0.5 \n-0.3125 -0.46875 0.5 \n-0.34375 -0.4375 0.5 \n-0.34375 -0.46875 0.5 \n-0.4375 -0.34375 0.5 \n-0.46875 -0.3125 0.5 \n-0.46875 -0.34375 0.5 \n-0.1875 -0.46875 0.5 \n-0.21875 -0.4375 0.5 \n-0.21875 -0.46875 0.5 \n-0.0625 -0.46875 0.5 \n-0.09375 -0.4375 0.5 \n-0.09375 -0.46875 0.5 \n-0.1875 -0.34375 0.5 \n-0.21875 -0.3125 0.5 \n-0.21875 -0.34375 0.5 \n-0.4375 -0.21875 0.5 \n-0.46875 -0.1875 0.5 \n-0.46875 -0.21875 0.5 \n-0.3125 -0.21875 0.5 \n-0.34375 -0.1875 0.5 \n-0.34375 -0.21875 0.5 \n-0.4375 -0.09375 0.5 \n-0.46875 -0.0625 0.5 \n-0.46875 -0.09375 0.5 \n0.0625 -0.46875 0.5 \n0.03125 -0.4375 0.5 \n0.03125 -0.46875 0.5 \n0.1875 -0.46875 0.5 \n0.15625 -0.4375 0.5 \n0.15625 -0.46875 0.5 \n0.0625 -0.34375 0.5 \n0.03125 -0.3125 0.5 \n0.03125 -0.34375 0.5 \n0.3125 -0.46875 0.5 \n0.28125 -0.4375 0.5 \n0.28125 -0.46875 0.5 \n0.4375 -0.46875 0.5 \n0.40625 -0.4375 0.5 \n0.40625 -0.46875 0.5 \n0.3125 -0.34375 0.5 \n0.28125 -0.3125 0.5 \n0.28125 -0.34375 0.5 \n0.0625 -0.21875 0.5 \n0.03125 -0.1875 0.5 \n0.03125 -0.21875 0.5 \n0.1875 -0.21875 0.5 \n0.15625 -0.1875 0.5 \n0.15625 -0.21875 0.5 \n0.0625 -0.09375 0.5 \n0.03125 -0.0625 0.5 \n0.03125 -0.09375 0.5 \n-0.4375 0.03125 0.5 \n-0.46875 0.0625 0.5 \n-0.46875 0.03125 0.5 \n-0.3125 0.03125 0.5 \n-0.34375 0.0625 0.5 \n-0.34375 0.03125 0.5 \n-0.4375 0.15625 0.5 \n-0.46875 0.1875 0.5 \n-0.46875 0.15625 0.5 \n-0.1875 0.03125 0.5 \n-0.21875 0.0625 0.5 \n-0.21875 0.03125 0.5 \n-0.0625 0.03125 0.5 \n-0.09375 0.0625 0.5 \n-0.09375 0.03125 0.5 \n-0.1875 0.15625 0.5 \n-0.21875 0.1875 0.5 \n-0.21875 0.15625 0.5 \n-0.4375 0.28125 0.5 \n-0.46875 0.3125 0.5 \n-0.46875 0.28125 0.5 \n-0.3125 0.28125 0.5 \n-0.34375 0.3125 0.5 \n-0.34375 0.28125 0.5 \n-0.4375 0.40625 0.5 \n-0.46875 0.4375 0.5 \n-0.46875 0.40625 0.5 \n0.5 0.4375 0.46875 \n0.5 0.46875 0.4375 \n0.5 0.46875 0.46875 \n0.5 0.3125 0.46875 \n0.5 0.34375 0.4375 \n0.5 0.34375 0.46875 \n0.5 0.4375 0.34375 \n0.5 0.46875 0.3125 \n0.5 0.46875 0.34375 \n0.5 0.1875 0.46875 \n0.5 0.21875 0.4375 \n0.5 0.21875 0.46875 \n0.5 0.0625 0.46875 \n0.5 0.09375 0.4375 \n0.5 0.09375 0.46875 \n0.5 0.1875 0.34375 \n0.5 0.21875 0.3125 \n0.5 0.21875 0.34375 \n0.5 0.4375 0.21875 \n0.5 0.46875 0.1875 \n0.5 0.46875 0.21875 \n0.5 0.3125 0.21875 \n0.5 0.34375 0.1875 \n0.5 0.34375 0.21875 \n0.5 0.4375 0.09375 \n0.5 0.46875 0.0625 \n0.5 0.46875 0.09375 \n0.5 -0.0625 0.46875 \n0.5 -0.03125 0.4375 \n0.5 -0.03125 0.46875 \n0.5 -0.1875 0.46875 \n0.5 -0.15625 0.4375 \n0.5 -0.15625 0.46875 \n0.5 -0.0625 0.34375 \n0.5 -0.03125 0.3125 \n0.5 -0.03125 0.34375 \n0.5 -0.3125 0.46875 \n0.5 -0.28125 0.4375 \n0.5 -0.28125 0.46875 \n0.5 -0.4375 0.46875 \n0.5 -0.40625 0.4375 \n0.5 -0.40625 0.46875 \n0.5 -0.3125 0.34375 \n0.5 -0.28125 0.3125 \n0.5 -0.28125 0.34375 \n0.5 -0.0625 0.21875 \n0.5 -0.03125 0.1875 \n0.5 -0.03125 0.21875 \n0.5 -0.1875 0.21875 \n0.5 -0.15625 0.1875 \n0.5 -0.15625 0.21875 \n0.5 -0.0625 0.09375 \n0.5 -0.03125 0.0625 \n0.5 -0.03125 0.09375 \n0.5 0.4375 -0.03125 \n0.5 0.46875 -0.0625 \n0.5 0.46875 -0.03125 \n0.5 0.3125 -0.03125 \n0.5 0.34375 -0.0625 \n0.5 0.34375 -0.03125 \n0.5 0.4375 -0.15625 \n0.5 0.46875 -0.1875 \n0.5 0.46875 -0.15625 \n0.5 0.1875 -0.03125 \n0.5 0.21875 -0.0625 \n0.5 0.21875 -0.03125 \n0.5 0.0625 -0.03125 \n0.5 0.09375 -0.0625 \n0.5 0.09375 -0.03125 \n0.5 0.1875 -0.15625 \n0.5 0.21875 -0.1875 \n0.5 0.21875 -0.15625 \n0.5 0.4375 -0.28125 \n0.5 0.46875 -0.3125 \n0.5 0.46875 -0.28125 \n0.5 0.3125 -0.28125 \n0.5 0.34375 -0.3125 \n0.5 0.34375 -0.28125 \n0.5 0.4375 -0.40625 \n0.5 0.46875 -0.4375 \n0.5 0.46875 -0.40625 \n0.5 -0.4375 -0.46875 \n0.5 -0.46875 -0.4375 \n0.5 -0.46875 -0.46875 \n0.5 -0.3125 -0.46875 \n0.5 -0.34375 -0.4375 \n0.5 -0.34375 -0.46875 \n0.5 -0.4375 -0.34375 \n0.5 -0.46875 -0.3125 \n0.5 -0.46875 -0.34375 \n0.5 -0.1875 -0.46875 \n0.5 -0.21875 -0.4375 \n0.5 -0.21875 -0.46875 \n0.5 -0.0625 -0.46875 \n0.5 -0.09375 -0.4375 \n0.5 -0.09375 -0.46875 \n0.5 -0.1875 -0.34375 \n0.5 -0.21875 -0.3125 \n0.5 -0.21875 -0.34375 \n0.5 -0.4375 -0.21875 \n0.5 -0.46875 -0.1875 \n0.5 -0.46875 -0.21875 \n0.5 -0.3125 -0.21875 \n0.5 -0.34375 -0.1875 \n0.5 -0.34375 -0.21875 \n0.5 -0.4375 -0.09375 \n0.5 -0.46875 -0.0625 \n0.5 -0.46875 -0.09375 \n0.5 0.0625 -0.46875 \n0.5 0.03125 -0.4375 \n0.5 0.03125 -0.46875 \n0.5 0.1875 -0.46875 \n0.5 0.15625 -0.4375 \n0.5 0.15625 -0.46875 \n0.5 0.0625 -0.34375 \n0.5 0.03125 -0.3125 \n0.5 0.03125 -0.34375 \n0.5 0.3125 -0.46875 \n0.5 0.28125 -0.4375 \n0.5 0.28125 -0.46875 \n0.5 0.4375 -0.46875 \n0.5 0.40625 -0.4375 \n0.5 0.40625 -0.46875 \n0.5 0.3125 -0.34375 \n0.5 0.28125 -0.3125 \n0.5 0.28125 -0.34375 \n0.5 0.0625 -0.21875 \n0.5 0.03125 -0.1875 \n0.5 0.03125 -0.21875 \n0.5 0.1875 -0.21875 \n0.5 0.15625 -0.1875 \n0.5 0.15625 -0.21875 \n0.5 0.0625 -0.09375 \n0.5 0.03125 -0.0625 \n0.5 0.03125 -0.09375 \n0.5 -0.4375 0.03125 \n0.5 -0.46875 0.0625 \n0.5 -0.46875 0.03125 \n0.5 -0.3125 0.03125 \n0.5 -0.34375 0.0625 \n0.5 -0.34375 0.03125 \n0.5 -0.4375 0.15625 \n0.5 -0.46875 0.1875 \n0.5 -0.46875 0.15625 \n0.5 -0.1875 0.03125 \n0.5 -0.21875 0.0625 \n0.5 -0.21875 0.03125 \n0.5 -0.0625 0.03125 \n0.5 -0.09375 0.0625 \n0.5 -0.09375 0.03125 \n0.5 -0.1875 0.15625 \n0.5 -0.21875 0.1875 \n0.5 -0.21875 0.15625 \n0.5 -0.4375 0.28125 \n0.5 -0.46875 0.3125 \n0.5 -0.46875 0.28125 \n0.5 -0.3125 0.28125 \n0.5 -0.34375 0.3125 \n0.5 -0.34375 0.28125 \n0.5 -0.4375 0.40625 \n0.5 -0.46875 0.4375 \n0.5 -0.46875 0.40625 \n0.46875 0.5 0.4375 \n0.4375 0.5 0.46875 \n0.46875 0.5 0.46875 \n0.46875 0.5 0.3125 \n0.4375 0.5 0.34375 \n0.46875 0.5 0.34375 \n0.34375 0.5 0.4375 \n0.3125 0.5 0.46875 \n0.34375 0.5 0.46875 \n0.46875 0.5 0.1875 \n0.4375 0.5 0.21875 \n0.46875 0.5 0.21875 \n0.46875 0.5 0.0625 \n0.4375 0.5 0.09375 \n0.46875 0.5 0.09375 \n0.34375 0.5 0.1875 \n0.3125 0.5 0.21875 \n0.34375 0.5 0.21875 \n0.21875 0.5 0.4375 \n0.1875 0.5 0.46875 \n0.21875 0.5 0.46875 \n0.21875 0.5 0.3125 \n0.1875 0.5 0.34375 \n0.21875 0.5 0.34375 \n0.09375 0.5 0.4375 \n0.0625 0.5 0.46875 \n0.09375 0.5 0.46875 \n0.46875 0.5 -0.0625 \n0.4375 0.5 -0.03125 \n0.46875 0.5 -0.03125 \n0.46875 0.5 -0.1875 \n0.4375 0.5 -0.15625 \n0.46875 0.5 -0.15625 \n0.34375 0.5 -0.0625 \n0.3125 0.5 -0.03125 \n0.34375 0.5 -0.03125 \n0.46875 0.5 -0.3125 \n0.4375 0.5 -0.28125 \n0.46875 0.5 -0.28125 \n0.46875 0.5 -0.4375 \n0.4375 0.5 -0.40625 \n0.46875 0.5 -0.40625 \n0.34375 0.5 -0.3125 \n0.3125 0.5 -0.28125 \n0.34375 0.5 -0.28125 \n0.21875 0.5 -0.0625 \n0.1875 0.5 -0.03125 \n0.21875 0.5 -0.03125 \n0.21875 0.5 -0.1875 \n0.1875 0.5 -0.15625 \n0.21875 0.5 -0.15625 \n0.09375 0.5 -0.0625 \n0.0625 0.5 -0.03125 \n0.09375 0.5 -0.03125 \n-0.03125 0.5 0.4375 \n-0.0625 0.5 0.46875 \n-0.03125 0.5 0.46875 \n-0.03125 0.5 0.3125 \n-0.0625 0.5 0.34375 \n-0.03125 0.5 0.34375 \n-0.15625 0.5 0.4375 \n-0.1875 0.5 0.46875 \n-0.15625 0.5 0.46875 \n-0.03125 0.5 0.1875 \n-0.0625 0.5 0.21875 \n-0.03125 0.5 0.21875 \n-0.03125 0.5 0.0625 \n-0.0625 0.5 0.09375 \n-0.03125 0.5 0.09375 \n-0.15625 0.5 0.1875 \n-0.1875 0.5 0.21875 \n-0.15625 0.5 0.21875 \n-0.28125 0.5 0.4375 \n-0.3125 0.5 0.46875 \n-0.28125 0.5 0.46875 \n-0.28125 0.5 0.3125 \n-0.3125 0.5 0.34375 \n-0.28125 0.5 0.34375 \n-0.40625 0.5 0.4375 \n-0.4375 0.5 0.46875 \n-0.40625 0.5 0.46875 \n-0.46875 0.5 -0.4375 \n-0.4375 0.5 -0.46875 \n-0.46875 0.5 -0.46875 \n-0.46875 0.5 -0.3125 \n-0.4375 0.5 -0.34375 \n-0.46875 0.5 -0.34375 \n-0.34375 0.5 -0.4375 \n-0.3125 0.5 -0.46875 \n-0.34375 0.5 -0.46875 \n-0.46875 0.5 -0.1875 \n-0.4375 0.5 -0.21875 \n-0.46875 0.5 -0.21875 \n-0.46875 0.5 -0.0625 \n-0.4375 0.5 -0.09375 \n-0.46875 0.5 -0.09375 \n-0.34375 0.5 -0.1875 \n-0.3125 0.5 -0.21875 \n-0.34375 0.5 -0.21875 \n-0.21875 0.5 -0.4375 \n-0.1875 0.5 -0.46875 \n-0.21875 0.5 -0.46875 \n-0.21875 0.5 -0.3125 \n-0.1875 0.5 -0.34375 \n-0.21875 0.5 -0.34375 \n-0.09375 0.5 -0.4375 \n-0.0625 0.5 -0.46875 \n-0.09375 0.5 -0.46875 \n-0.46875 0.5 0.0625 \n-0.4375 0.5 0.03125 \n-0.46875 0.5 0.03125 \n-0.46875 0.5 0.1875 \n-0.4375 0.5 0.15625 \n-0.46875 0.5 0.15625 \n-0.34375 0.5 0.0625 \n-0.3125 0.5 0.03125 \n-0.34375 0.5 0.03125 \n-0.46875 0.5 0.3125 \n-0.4375 0.5 0.28125 \n-0.46875 0.5 0.28125 \n-0.46875 0.5 0.4375 \n-0.4375 0.5 0.40625 \n-0.46875 0.5 0.40625 \n-0.34375 0.5 0.3125 \n-0.3125 0.5 0.28125 \n-0.34375 0.5 0.28125 \n-0.21875 0.5 0.0625 \n-0.1875 0.5 0.03125 \n-0.21875 0.5 0.03125 \n-0.21875 0.5 0.1875 \n-0.1875 0.5 0.15625 \n-0.21875 0.5 0.15625 \n-0.09375 0.5 0.0625 \n-0.0625 0.5 0.03125 \n-0.09375 0.5 0.03125 \n0.03125 0.5 -0.4375 \n0.0625 0.5 -0.46875 \n0.03125 0.5 -0.46875 \n0.03125 0.5 -0.3125 \n0.0625 0.5 -0.34375 \n0.03125 0.5 -0.34375 \n0.15625 0.5 -0.4375 \n0.1875 0.5 -0.46875 \n0.15625 0.5 -0.46875 \n0.03125 0.5 -0.1875 \n0.0625 0.5 -0.21875 \n0.03125 0.5 -0.21875 \n0.03125 0.5 -0.0625 \n0.0625 0.5 -0.09375 \n0.03125 0.5 -0.09375 \n0.15625 0.5 -0.1875 \n0.1875 0.5 -0.21875 \n0.15625 0.5 -0.21875 \n0.28125 0.5 -0.4375 \n0.3125 0.5 -0.46875 \n0.28125 0.5 -0.46875 \n0.28125 0.5 -0.3125 \n0.3125 0.5 -0.34375 \n0.28125 0.5 -0.34375 \n0.40625 0.5 -0.4375 \n0.4375 0.5 -0.46875 \n0.40625 0.5 -0.46875 \n-0.46875 -0.4375 -0.5 \n-0.4375 -0.46875 -0.5 \n-0.46875 -0.46875 -0.5 \n-0.46875 -0.3125 -0.5 \n-0.4375 -0.34375 -0.5 \n-0.46875 -0.34375 -0.5 \n-0.34375 -0.4375 -0.5 \n-0.3125 -0.46875 -0.5 \n-0.34375 -0.46875 -0.5 \n-0.46875 -0.1875 -0.5 \n-0.4375 -0.21875 -0.5 \n-0.46875 -0.21875 -0.5 \n-0.46875 -0.0625 -0.5 \n-0.4375 -0.09375 -0.5 \n-0.46875 -0.09375 -0.5 \n-0.34375 -0.1875 -0.5 \n-0.3125 -0.21875 -0.5 \n-0.34375 -0.21875 -0.5 \n-0.21875 -0.4375 -0.5 \n-0.1875 -0.46875 -0.5 \n-0.21875 -0.46875 -0.5 \n-0.21875 -0.3125 -0.5 \n-0.1875 -0.34375 -0.5 \n-0.21875 -0.34375 -0.5 \n-0.09375 -0.4375 -0.5 \n-0.0625 -0.46875 -0.5 \n-0.09375 -0.46875 -0.5 \n-0.46875 0.0625 -0.5 \n-0.4375 0.03125 -0.5 \n-0.46875 0.03125 -0.5 \n-0.46875 0.1875 -0.5 \n-0.4375 0.15625 -0.5 \n-0.46875 0.15625 -0.5 \n-0.34375 0.0625 -0.5 \n-0.3125 0.03125 -0.5 \n-0.34375 0.03125 -0.5 \n-0.46875 0.3125 -0.5 \n-0.4375 0.28125 -0.5 \n-0.46875 0.28125 -0.5 \n-0.46875 0.4375 -0.5 \n-0.4375 0.40625 -0.5 \n-0.46875 0.40625 -0.5 \n-0.34375 0.3125 -0.5 \n-0.3125 0.28125 -0.5 \n-0.34375 0.28125 -0.5 \n-0.21875 0.0625 -0.5 \n-0.1875 0.03125 -0.5 \n-0.21875 0.03125 -0.5 \n-0.21875 0.1875 -0.5 \n-0.1875 0.15625 -0.5 \n-0.21875 0.15625 -0.5 \n-0.09375 0.0625 -0.5 \n-0.0625 0.03125 -0.5 \n-0.09375 0.03125 -0.5 \n0.03125 -0.4375 -0.5 \n0.0625 -0.46875 -0.5 \n0.03125 -0.46875 -0.5 \n0.03125 -0.3125 -0.5 \n0.0625 -0.34375 -0.5 \n0.03125 -0.34375 -0.5 \n0.15625 -0.4375 -0.5 \n0.1875 -0.46875 -0.5 \n0.15625 -0.46875 -0.5 \n0.03125 -0.1875 -0.5 \n0.0625 -0.21875 -0.5 \n0.03125 -0.21875 -0.5 \n0.03125 -0.0625 -0.5 \n0.0625 -0.09375 -0.5 \n0.03125 -0.09375 -0.5 \n0.15625 -0.1875 -0.5 \n0.1875 -0.21875 -0.5 \n0.15625 -0.21875 -0.5 \n0.28125 -0.4375 -0.5 \n0.3125 -0.46875 -0.5 \n0.28125 -0.46875 -0.5 \n0.28125 -0.3125 -0.5 \n0.3125 -0.34375 -0.5 \n0.28125 -0.34375 -0.5 \n0.40625 -0.4375 -0.5 \n0.4375 -0.46875 -0.5 \n0.40625 -0.46875 -0.5 \n0.46875 0.4375 -0.5 \n0.4375 0.46875 -0.5 \n0.46875 0.46875 -0.5 \n0.46875 0.3125 -0.5 \n0.4375 0.34375 -0.5 \n0.46875 0.34375 -0.5 \n0.34375 0.4375 -0.5 \n0.3125 0.46875 -0.5 \n0.34375 0.46875 -0.5 \n0.46875 0.1875 -0.5 \n0.4375 0.21875 -0.5 \n0.46875 0.21875 -0.5 \n0.46875 0.0625 -0.5 \n0.4375 0.09375 -0.5 \n0.46875 0.09375 -0.5 \n0.34375 0.1875 -0.5 \n0.3125 0.21875 -0.5 \n0.34375 0.21875 -0.5 \n0.21875 0.4375 -0.5 \n0.1875 0.46875 -0.5 \n0.21875 0.46875 -0.5 \n0.21875 0.3125 -0.5 \n0.1875 0.34375 -0.5 \n0.21875 0.34375 -0.5 \n0.09375 0.4375 -0.5 \n0.0625 0.46875 -0.5 \n0.09375 0.46875 -0.5 \n0.46875 -0.0625 -0.5 \n0.4375 -0.03125 -0.5 \n0.46875 -0.03125 -0.5 \n0.46875 -0.1875 -0.5 \n0.4375 -0.15625 -0.5 \n0.46875 -0.15625 -0.5 \n0.34375 -0.0625 -0.5 \n0.3125 -0.03125 -0.5 \n0.34375 -0.03125 -0.5 \n0.46875 -0.3125 -0.5 \n0.4375 -0.28125 -0.5 \n0.46875 -0.28125 -0.5 \n0.46875 -0.4375 -0.5 \n0.4375 -0.40625 -0.5 \n0.46875 -0.40625 -0.5 \n0.34375 -0.3125 -0.5 \n0.3125 -0.28125 -0.5 \n0.34375 -0.28125 -0.5 \n0.21875 -0.0625 -0.5 \n0.1875 -0.03125 -0.5 \n0.21875 -0.03125 -0.5 \n0.21875 -0.1875 -0.5 \n0.1875 -0.15625 -0.5 \n0.21875 -0.15625 -0.5 \n0.09375 -0.0625 -0.5 \n0.0625 -0.03125 -0.5 \n0.09375 -0.03125 -0.5 \n-0.03125 0.4375 -0.5 \n-0.0625 0.46875 -0.5 \n-0.03125 0.46875 -0.5 \n-0.03125 0.3125 -0.5 \n-0.0625 0.34375 -0.5 \n-0.03125 0.34375 -0.5 \n-0.15625 0.4375 -0.5 \n-0.1875 0.46875 -0.5 \n-0.15625 0.46875 -0.5 \n-0.03125 0.1875 -0.5 \n-0.0625 0.21875 -0.5 \n-0.03125 0.21875 -0.5 \n-0.03125 0.0625 -0.5 \n-0.0625 0.09375 -0.5 \n-0.03125 0.09375 -0.5 \n-0.15625 0.1875 -0.5 \n-0.1875 0.21875 -0.5 \n-0.15625 0.21875 -0.5 \n-0.28125 0.4375 -0.5 \n-0.3125 0.46875 -0.5 \n-0.28125 0.46875 -0.5 \n-0.28125 0.3125 -0.5 \n-0.3125 0.34375 -0.5 \n-0.28125 0.34375 -0.5 \n-0.40625 0.4375 -0.5 \n-0.4375 0.46875 -0.5 \n-0.40625 0.46875 -0.5 \n-0.4375 -0.5 -0.46875 \n-0.46875 -0.5 -0.4375 \n-0.46875 -0.5 -0.46875 \n-0.3125 -0.5 -0.46875 \n-0.34375 -0.5 -0.4375 \n-0.34375 -0.5 -0.46875 \n-0.4375 -0.5 -0.34375 \n-0.46875 -0.5 -0.3125 \n-0.46875 -0.5 -0.34375 \n-0.1875 -0.5 -0.46875 \n-0.21875 -0.5 -0.4375 \n-0.21875 -0.5 -0.46875 \n-0.0625 -0.5 -0.46875 \n-0.09375 -0.5 -0.4375 \n-0.09375 -0.5 -0.46875 \n-0.1875 -0.5 -0.34375 \n-0.21875 -0.5 -0.3125 \n-0.21875 -0.5 -0.34375 \n-0.4375 -0.5 -0.21875 \n-0.46875 -0.5 -0.1875 \n-0.46875 -0.5 -0.21875 \n-0.3125 -0.5 -0.21875 \n-0.34375 -0.5 -0.1875 \n-0.34375 -0.5 -0.21875 \n-0.4375 -0.5 -0.09375 \n-0.46875 -0.5 -0.0625 \n-0.46875 -0.5 -0.09375 \n0.0625 -0.5 -0.46875 \n0.03125 -0.5 -0.4375 \n0.03125 -0.5 -0.46875 \n0.1875 -0.5 -0.46875 \n0.15625 -0.5 -0.4375 \n0.15625 -0.5 -0.46875 \n0.0625 -0.5 -0.34375 \n0.03125 -0.5 -0.3125 \n0.03125 -0.5 -0.34375 \n0.3125 -0.5 -0.46875 \n0.28125 -0.5 -0.4375 \n0.28125 -0.5 -0.46875 \n0.4375 -0.5 -0.46875 \n0.40625 -0.5 -0.4375 \n0.40625 -0.5 -0.46875 \n0.3125 -0.5 -0.34375 \n0.28125 -0.5 -0.3125 \n0.28125 -0.5 -0.34375 \n0.0625 -0.5 -0.21875 \n0.03125 -0.5 -0.1875 \n0.03125 -0.5 -0.21875 \n0.1875 -0.5 -0.21875 \n0.15625 -0.5 -0.1875 \n0.15625 -0.5 -0.21875 \n0.0625 -0.5 -0.09375 \n0.03125 -0.5 -0.0625 \n0.03125 -0.5 -0.09375 \n-0.4375 -0.5 0.03125 \n-0.46875 -0.5 0.0625 \n-0.46875 -0.5 0.03125 \n-0.3125 -0.5 0.03125 \n-0.34375 -0.5 0.0625 \n-0.34375 -0.5 0.03125 \n-0.4375 -0.5 0.15625 \n-0.46875 -0.5 0.1875 \n-0.46875 -0.5 0.15625 \n-0.1875 -0.5 0.03125 \n-0.21875 -0.5 0.0625 \n-0.21875 -0.5 0.03125 \n-0.0625 -0.5 0.03125 \n-0.09375 -0.5 0.0625 \n-0.09375 -0.5 0.03125 \n-0.1875 -0.5 0.15625 \n-0.21875 -0.5 0.1875 \n-0.21875 -0.5 0.15625 \n-0.4375 -0.5 0.28125 \n-0.46875 -0.5 0.3125 \n-0.46875 -0.5 0.28125 \n-0.3125 -0.5 0.28125 \n-0.34375 -0.5 0.3125 \n-0.34375 -0.5 0.28125 \n-0.4375 -0.5 0.40625 \n-0.46875 -0.5 0.4375 \n-0.46875 -0.5 0.40625 \n0.4375 -0.5 0.46875 \n0.46875 -0.5 0.4375 \n0.46875 -0.5 0.46875 \n0.3125 -0.5 0.46875 \n0.34375 -0.5 0.4375 \n0.34375 -0.5 0.46875 \n0.4375 -0.5 0.34375 \n0.46875 -0.5 0.3125 \n0.46875 -0.5 0.34375 \n0.1875 -0.5 0.46875 \n0.21875 -0.5 0.4375 \n0.21875 -0.5 0.46875 \n0.0625 -0.5 0.46875 \n0.09375 -0.5 0.4375 \n0.09375 -0.5 0.46875 \n0.1875 -0.5 0.34375 \n0.21875 -0.5 0.3125 \n0.21875 -0.5 0.34375 \n0.4375 -0.5 0.21875 \n0.46875 -0.5 0.1875 \n0.46875 -0.5 0.21875 \n0.3125 -0.5 0.21875 \n0.34375 -0.5 0.1875 \n0.34375 -0.5 0.21875 \n0.4375 -0.5 0.09375 \n0.46875 -0.5 0.0625 \n0.46875 -0.5 0.09375 \n-0.0625 -0.5 0.46875 \n-0.03125 -0.5 0.4375 \n-0.03125 -0.5 0.46875 \n-0.1875 -0.5 0.46875 \n-0.15625 -0.5 0.4375 \n-0.15625 -0.5 0.46875 \n-0.0625 -0.5 0.34375 \n-0.03125 -0.5 0.3125 \n-0.03125 -0.5 0.34375 \n-0.3125 -0.5 0.46875 \n-0.28125 -0.5 0.4375 \n-0.28125 -0.5 0.46875 \n-0.4375 -0.5 0.46875 \n-0.40625 -0.5 0.4375 \n-0.40625 -0.5 0.46875 \n-0.3125 -0.5 0.34375 \n-0.28125 -0.5 0.3125 \n-0.28125 -0.5 0.34375 \n-0.0625 -0.5 0.21875 \n-0.03125 -0.5 0.1875 \n-0.03125 -0.5 0.21875 \n-0.1875 -0.5 0.21875 \n-0.15625 -0.5 0.1875 \n-0.15625 -0.5 0.21875 \n-0.0625 -0.5 0.09375 \n-0.03125 -0.5 0.0625 \n-0.03125 -0.5 0.09375 \n0.4375 -0.5 -0.03125 \n0.46875 -0.5 -0.0625 \n0.46875 -0.5 -0.03125 \n0.3125 -0.5 -0.03125 \n0.34375 -0.5 -0.0625 \n0.34375 -0.5 -0.03125 \n0.4375 -0.5 -0.15625 \n0.46875 -0.5 -0.1875 \n0.46875 -0.5 -0.15625 \n0.1875 -0.5 -0.03125 \n0.21875 -0.5 -0.0625 \n0.21875 -0.5 -0.03125 \n0.0625 -0.5 -0.03125 \n0.09375 -0.5 -0.0625 \n0.09375 -0.5 -0.03125 \n0.1875 -0.5 -0.15625 \n0.21875 -0.5 -0.1875 \n0.21875 -0.5 -0.15625 \n0.4375 -0.5 -0.28125 \n0.46875 -0.5 -0.3125 \n0.46875 -0.5 -0.28125 \n0.3125 -0.5 -0.28125 \n0.34375 -0.5 -0.3125 \n0.34375 -0.5 -0.28125 \n0.4375 -0.5 -0.40625 \n0.46875 -0.5 -0.4375 \n0.46875 -0.5 -0.40625 \n-0.5 -0.46875 -0.4375 \n-0.5 -0.4375 -0.46875 \n-0.5 -0.46875 -0.46875 \n-0.5 -0.46875 -0.3125 \n-0.5 -0.4375 -0.34375 \n-0.5 -0.46875 -0.34375 \n-0.5 -0.34375 -0.4375 \n-0.5 -0.3125 -0.46875 \n-0.5 -0.34375 -0.46875 \n-0.5 -0.46875 -0.1875 \n-0.5 -0.4375 -0.21875 \n-0.5 -0.46875 -0.21875 \n-0.5 -0.46875 -0.0625 \n-0.5 -0.4375 -0.09375 \n-0.5 -0.46875 -0.09375 \n-0.5 -0.34375 -0.1875 \n-0.5 -0.3125 -0.21875 \n-0.5 -0.34375 -0.21875 \n-0.5 -0.21875 -0.4375 \n-0.5 -0.1875 -0.46875 \n-0.5 -0.21875 -0.46875 \n-0.5 -0.21875 -0.3125 \n-0.5 -0.1875 -0.34375 \n-0.5 -0.21875 -0.34375 \n-0.5 -0.09375 -0.4375 \n-0.5 -0.0625 -0.46875 \n-0.5 -0.09375 -0.46875 \n-0.5 -0.46875 0.0625 \n-0.5 -0.4375 0.03125 \n-0.5 -0.46875 0.03125 \n-0.5 -0.46875 0.1875 \n-0.5 -0.4375 0.15625 \n-0.5 -0.46875 0.15625 \n-0.5 -0.34375 0.0625 \n-0.5 -0.3125 0.03125 \n-0.5 -0.34375 0.03125 \n-0.5 -0.46875 0.3125 \n-0.5 -0.4375 0.28125 \n-0.5 -0.46875 0.28125 \n-0.5 -0.46875 0.4375 \n-0.5 -0.4375 0.40625 \n-0.5 -0.46875 0.40625 \n-0.5 -0.34375 0.3125 \n-0.5 -0.3125 0.28125 \n-0.5 -0.34375 0.28125 \n-0.5 -0.21875 0.0625 \n-0.5 -0.1875 0.03125 \n-0.5 -0.21875 0.03125 \n-0.5 -0.21875 0.1875 \n-0.5 -0.1875 0.15625 \n-0.5 -0.21875 0.15625 \n-0.5 -0.09375 0.0625 \n-0.5 -0.0625 0.03125 \n-0.5 -0.09375 0.03125 \n-0.5 0.03125 -0.4375 \n-0.5 0.0625 -0.46875 \n-0.5 0.03125 -0.46875 \n-0.5 0.03125 -0.3125 \n-0.5 0.0625 -0.34375 \n-0.5 0.03125 -0.34375 \n-0.5 0.15625 -0.4375 \n-0.5 0.1875 -0.46875 \n-0.5 0.15625 -0.46875 \n-0.5 0.03125 -0.1875 \n-0.5 0.0625 -0.21875 \n-0.5 0.03125 -0.21875 \n-0.5 0.03125 -0.0625 \n-0.5 0.0625 -0.09375 \n-0.5 0.03125 -0.09375 \n-0.5 0.15625 -0.1875 \n-0.5 0.1875 -0.21875 \n-0.5 0.15625 -0.21875 \n-0.5 0.28125 -0.4375 \n-0.5 0.3125 -0.46875 \n-0.5 0.28125 -0.46875 \n-0.5 0.28125 -0.3125 \n-0.5 0.3125 -0.34375 \n-0.5 0.28125 -0.34375 \n-0.5 0.40625 -0.4375 \n-0.5 0.4375 -0.46875 \n-0.5 0.40625 -0.46875 \n-0.5 0.46875 0.4375 \n-0.5 0.4375 0.46875 \n-0.5 0.46875 0.46875 \n-0.5 0.46875 0.3125 \n-0.5 0.4375 0.34375 \n-0.5 0.46875 0.34375 \n-0.5 0.34375 0.4375 \n-0.5 0.3125 0.46875 \n-0.5 0.34375 0.46875 \n-0.5 0.46875 0.1875 \n-0.5 0.4375 0.21875 \n-0.5 0.46875 0.21875 \n-0.5 0.46875 0.0625 \n-0.5 0.4375 0.09375 \n-0.5 0.46875 0.09375 \n-0.5 0.34375 0.1875 \n-0.5 0.3125 0.21875 \n-0.5 0.34375 0.21875 \n-0.5 0.21875 0.4375 \n-0.5 0.1875 0.46875 \n-0.5 0.21875 0.46875 \n-0.5 0.21875 0.3125 \n-0.5 0.1875 0.34375 \n-0.5 0.21875 0.34375 \n-0.5 0.09375 0.4375 \n-0.5 0.0625 0.46875 \n-0.5 0.09375 0.46875 \n-0.5 0.46875 -0.0625 \n-0.5 0.4375 -0.03125 \n-0.5 0.46875 -0.03125 \n-0.5 0.46875 -0.1875 \n-0.5 0.4375 -0.15625 \n-0.5 0.46875 -0.15625 \n-0.5 0.34375 -0.0625 \n-0.5 0.3125 -0.03125 \n-0.5 0.34375 -0.03125 \n-0.5 0.46875 -0.3125 \n-0.5 0.4375 -0.28125 \n-0.5 0.46875 -0.28125 \n-0.5 0.46875 -0.4375 \n-0.5 0.4375 -0.40625 \n-0.5 0.46875 -0.40625 \n-0.5 0.34375 -0.3125 \n-0.5 0.3125 -0.28125 \n-0.5 0.34375 -0.28125 \n-0.5 0.21875 -0.0625 \n-0.5 0.1875 -0.03125 \n-0.5 0.21875 -0.03125 \n-0.5 0.21875 -0.1875 \n-0.5 0.1875 -0.15625 \n-0.5 0.21875 -0.15625 \n-0.5 0.09375 -0.0625 \n-0.5 0.0625 -0.03125 \n-0.5 0.09375 -0.03125 \n-0.5 -0.03125 0.4375 \n-0.5 -0.0625 0.46875 \n-0.5 -0.03125 0.46875 \n-0.5 -0.03125 0.3125 \n-0.5 -0.0625 0.34375 \n-0.5 -0.03125 0.34375 \n-0.5 -0.15625 0.4375 \n-0.5 -0.1875 0.46875 \n-0.5 -0.15625 0.46875 \n-0.5 -0.03125 0.1875 \n-0.5 -0.0625 0.21875 \n-0.5 -0.03125 0.21875 \n-0.5 -0.03125 0.0625 \n-0.5 -0.0625 0.09375 \n-0.5 -0.03125 0.09375 \n-0.5 -0.15625 0.1875 \n-0.5 -0.1875 0.21875 \n-0.5 -0.15625 0.21875 \n-0.5 -0.28125 0.4375 \n-0.5 -0.3125 0.46875 \n-0.5 -0.28125 0.46875 \n-0.5 -0.28125 0.3125 \n-0.5 -0.3125 0.34375 \n-0.5 -0.28125 0.34375 \n-0.5 -0.40625 0.4375 \n-0.5 -0.4375 0.46875 \n-0.5 -0.40625 0.46875 \n0.15625 0.125 0.5 \n0.125 0.15625 0.5 \n0.21875 0.125 0.5 \n0.21875 0.15625 0.5 \n0.15625 0.21875 0.5 \n0.125 0.21875 0.5 \n-0.15625 -0.125 0.5 \n-0.125 -0.15625 0.5 \n-0.21875 -0.125 0.5 \n-0.21875 -0.15625 0.5 \n-0.15625 -0.21875 0.5 \n-0.125 -0.21875 0.5 \n0.5 0.15625 0.125 \n0.5 0.125 0.15625 \n0.5 0.21875 0.125 \n0.5 0.21875 0.15625 \n0.5 0.15625 0.21875 \n0.5 0.125 0.21875 \n0.5 -0.15625 -0.125 \n0.5 -0.125 -0.15625 \n0.5 -0.21875 -0.125 \n0.5 -0.21875 -0.15625 \n0.5 -0.15625 -0.21875 \n0.5 -0.125 -0.21875 \n0.125 0.5 0.15625 \n0.15625 0.5 0.125 \n0.125 0.5 0.21875 \n0.15625 0.5 0.21875 \n0.21875 0.5 0.15625 \n0.21875 0.5 0.125 \n-0.125 0.5 -0.15625 \n-0.15625 0.5 -0.125 \n-0.125 0.5 -0.21875 \n-0.15625 0.5 -0.21875 \n-0.21875 0.5 -0.15625 \n-0.21875 0.5 -0.125 \n-0.125 -0.15625 -0.5 \n-0.15625 -0.125 -0.5 \n-0.125 -0.21875 -0.5 \n-0.15625 -0.21875 -0.5 \n-0.21875 -0.15625 -0.5 \n-0.21875 -0.125 -0.5 \n0.125 0.15625 -0.5 \n0.15625 0.125 -0.5 \n0.125 0.21875 -0.5 \n0.15625 0.21875 -0.5 \n0.21875 0.15625 -0.5 \n0.21875 0.125 -0.5 \n-0.15625 -0.5 -0.125 \n-0.125 -0.5 -0.15625 \n-0.21875 -0.5 -0.125 \n-0.21875 -0.5 -0.15625 \n-0.15625 -0.5 -0.21875 \n-0.125 -0.5 -0.21875 \n0.15625 -0.5 0.125 \n0.125 -0.5 0.15625 \n0.21875 -0.5 0.125 \n0.21875 -0.5 0.15625 \n0.15625 -0.5 0.21875 \n0.125 -0.5 0.21875 \n-0.5 -0.125 -0.15625 \n-0.5 -0.15625 -0.125 \n-0.5 -0.125 -0.21875 \n-0.5 -0.15625 -0.21875 \n-0.5 -0.21875 -0.15625 \n-0.5 -0.21875 -0.125 \n-0.5 0.125 0.15625 \n-0.5 0.15625 0.125 \n-0.5 0.125 0.21875 \n-0.5 0.15625 0.21875 \n-0.5 0.21875 0.15625 \n-0.5 0.21875 0.125 \n0.28125 0.34375 0.5 \n0.28125 0.375 0.5 \n0.34375 0.28125 0.5 \n0.375 0.28125 0.5 \n0.375 0.34375 0.5 \n0.34375 0.375 0.5 \n-0.21875 0.34375 0.5 \n-0.21875 0.375 0.5 \n-0.15625 0.28125 0.5 \n-0.125 0.28125 0.5 \n-0.125 0.34375 0.5 \n-0.15625 0.375 0.5 \n0.28125 -0.15625 0.5 \n0.28125 -0.125 0.5 \n0.34375 -0.21875 0.5 \n0.375 -0.21875 0.5 \n0.375 -0.15625 0.5 \n0.34375 -0.125 0.5 \n-0.28125 -0.34375 0.5 \n-0.28125 -0.375 0.5 \n-0.34375 -0.28125 0.5 \n-0.375 -0.28125 0.5 \n-0.375 -0.34375 0.5 \n-0.34375 -0.375 0.5 \n0.21875 -0.34375 0.5 \n0.21875 -0.375 0.5 \n0.15625 -0.28125 0.5 \n0.125 -0.28125 0.5 \n0.125 -0.34375 0.5 \n0.15625 -0.375 0.5 \n-0.28125 0.15625 0.5 \n-0.28125 0.125 0.5 \n-0.34375 0.21875 0.5 \n-0.375 0.21875 0.5 \n-0.375 0.15625 0.5 \n-0.34375 0.125 0.5 \n0.5 0.28125 0.34375 \n0.5 0.28125 0.375 \n0.5 0.34375 0.28125 \n0.5 0.375 0.28125 \n0.5 0.375 0.34375 \n0.5 0.34375 0.375 \n0.5 -0.21875 0.34375 \n0.5 -0.21875 0.375 \n0.5 -0.15625 0.28125 \n0.5 -0.125 0.28125 \n0.5 -0.125 0.34375 \n0.5 -0.15625 0.375 \n0.5 0.28125 -0.15625 \n0.5 0.28125 -0.125 \n0.5 0.34375 -0.21875 \n0.5 0.375 -0.21875 \n0.5 0.375 -0.15625 \n0.5 0.34375 -0.125 \n0.5 -0.28125 -0.34375 \n0.5 -0.28125 -0.375 \n0.5 -0.34375 -0.28125 \n0.5 -0.375 -0.28125 \n0.5 -0.375 -0.34375 \n0.5 -0.34375 -0.375 \n0.5 0.21875 -0.34375 \n0.5 0.21875 -0.375 \n0.5 0.15625 -0.28125 \n0.5 0.125 -0.28125 \n0.5 0.125 -0.34375 \n0.5 0.15625 -0.375 \n0.5 -0.28125 0.15625 \n0.5 -0.28125 0.125 \n0.5 -0.34375 0.21875 \n0.5 -0.375 0.21875 \n0.5 -0.375 0.15625 \n0.5 -0.34375 0.125 \n0.34375 0.5 0.28125 \n0.375 0.5 0.28125 \n0.28125 0.5 0.34375 \n0.28125 0.5 0.375 \n0.34375 0.5 0.375 \n0.375 0.5 0.34375 \n0.34375 0.5 -0.21875 \n0.375 0.5 -0.21875 \n0.28125 0.5 -0.15625 \n0.28125 0.5 -0.125 \n0.34375 0.5 -0.125 \n0.375 0.5 -0.15625 \n-0.15625 0.5 0.28125 \n-0.125 0.5 0.28125 \n-0.21875 0.5 0.34375 \n-0.21875 0.5 0.375 \n-0.15625 0.5 0.375 \n-0.125 0.5 0.34375 \n-0.34375 0.5 -0.28125 \n-0.375 0.5 -0.28125 \n-0.28125 0.5 -0.34375 \n-0.28125 0.5 -0.375 \n-0.34375 0.5 -0.375 \n-0.375 0.5 -0.34375 \n-0.34375 0.5 0.21875 \n-0.375 0.5 0.21875 \n-0.28125 0.5 0.15625 \n-0.28125 0.5 0.125 \n-0.34375 0.5 0.125 \n-0.375 0.5 0.15625 \n0.15625 0.5 -0.28125 \n0.125 0.5 -0.28125 \n0.21875 0.5 -0.34375 \n0.21875 0.5 -0.375 \n0.15625 0.5 -0.375 \n0.125 0.5 -0.34375 \n-0.34375 -0.28125 -0.5 \n-0.375 -0.28125 -0.5 \n-0.28125 -0.34375 -0.5 \n-0.28125 -0.375 -0.5 \n-0.34375 -0.375 -0.5 \n-0.375 -0.34375 -0.5 \n-0.34375 0.21875 -0.5 \n-0.375 0.21875 -0.5 \n-0.28125 0.15625 -0.5 \n-0.28125 0.125 -0.5 \n-0.34375 0.125 -0.5 \n-0.375 0.15625 -0.5 \n0.15625 -0.28125 -0.5 \n0.125 -0.28125 -0.5 \n0.21875 -0.34375 -0.5 \n0.21875 -0.375 -0.5 \n0.15625 -0.375 -0.5 \n0.125 -0.34375 -0.5 \n0.34375 0.28125 -0.5 \n0.375 0.28125 -0.5 \n0.28125 0.34375 -0.5 \n0.28125 0.375 -0.5 \n0.34375 0.375 -0.5 \n0.375 0.34375 -0.5 \n0.34375 -0.21875 -0.5 \n0.375 -0.21875 -0.5 \n0.28125 -0.15625 -0.5 \n0.28125 -0.125 -0.5 \n0.34375 -0.125 -0.5 \n0.375 -0.15625 -0.5 \n-0.15625 0.28125 -0.5 \n-0.125 0.28125 -0.5 \n-0.21875 0.34375 -0.5 \n-0.21875 0.375 -0.5 \n-0.15625 0.375 -0.5 \n-0.125 0.34375 -0.5 \n-0.28125 -0.5 -0.34375 \n-0.28125 -0.5 -0.375 \n-0.34375 -0.5 -0.28125 \n-0.375 -0.5 -0.28125 \n-0.375 -0.5 -0.34375 \n-0.34375 -0.5 -0.375 \n0.21875 -0.5 -0.34375 \n0.21875 -0.5 -0.375 \n0.15625 -0.5 -0.28125 \n0.125 -0.5 -0.28125 \n0.125 -0.5 -0.34375 \n0.15625 -0.5 -0.375 \n-0.28125 -0.5 0.15625 \n-0.28125 -0.5 0.125 \n-0.34375 -0.5 0.21875 \n-0.375 -0.5 0.21875 \n-0.375 -0.5 0.15625 \n-0.34375 -0.5 0.125 \n0.28125 -0.5 0.34375 \n0.28125 -0.5 0.375 \n0.34375 -0.5 0.28125 \n0.375 -0.5 0.28125 \n0.375 -0.5 0.34375 \n0.34375 -0.5 0.375 \n-0.21875 -0.5 0.34375 \n-0.21875 -0.5 0.375 \n-0.15625 -0.5 0.28125 \n-0.125 -0.5 0.28125 \n-0.125 -0.5 0.34375 \n-0.15625 -0.5 0.375 \n0.28125 -0.5 -0.15625 \n0.28125 -0.5 -0.125 \n0.34375 -0.5 -0.21875 \n0.375 -0.5 -0.21875 \n0.375 -0.5 -0.15625 \n0.34375 -0.5 -0.125 \n-0.5 -0.34375 -0.28125 \n-0.5 -0.375 -0.28125 \n-0.5 -0.28125 -0.34375 \n-0.5 -0.28125 -0.375 \n-0.5 -0.34375 -0.375 \n-0.5 -0.375 -0.34375 \n-0.5 -0.34375 0.21875 \n-0.5 -0.375 0.21875 \n-0.5 -0.28125 0.15625 \n-0.5 -0.28125 0.125 \n-0.5 -0.34375 0.125 \n-0.5 -0.375 0.15625 \n-0.5 0.15625 -0.28125 \n-0.5 0.125 -0.28125 \n-0.5 0.21875 -0.34375 \n-0.5 0.21875 -0.375 \n-0.5 0.15625 -0.375 \n-0.5 0.125 -0.34375 \n-0.5 0.34375 0.28125 \n-0.5 0.375 0.28125 \n-0.5 0.28125 0.34375 \n-0.5 0.28125 0.375 \n-0.5 0.34375 0.375 \n-0.5 0.375 0.34375 \n-0.5 0.34375 -0.21875 \n-0.5 0.375 -0.21875 \n-0.5 0.28125 -0.15625 \n-0.5 0.28125 -0.125 \n-0.5 0.34375 -0.125 \n-0.5 0.375 -0.15625 \n-0.5 -0.15625 0.28125 \n-0.5 -0.125 0.28125 \n-0.5 -0.21875 0.34375 \n-0.5 -0.21875 0.375 \n-0.5 -0.15625 0.375 \n-0.5 -0.125 0.34375 \n0.03125 0.34375 0.5 \n0.03125 0.375 0.5 \n0.09375 0.28125 0.5 \n0.125 0.28125 0.5 \n0.125 0.34375 0.5 \n0.09375 0.375 0.5 \n0.03125 0.09375 0.5 \n0.03125 0.125 0.5 \n0.09375 0.03125 0.5 \n0.125 0.03125 0.5 \n0.125 0.09375 0.5 \n0.09375 0.125 0.5 \n0.28125 0.09375 0.5 \n0.28125 0.125 0.5 \n0.34375 0.03125 0.5 \n0.375 0.03125 0.5 \n0.375 0.09375 0.5 \n0.34375 0.125 0.5 \n-0.03125 -0.34375 0.5 \n-0.03125 -0.375 0.5 \n-0.09375 -0.28125 0.5 \n-0.125 -0.28125 0.5 \n-0.125 -0.34375 0.5 \n-0.09375 -0.375 0.5 \n-0.03125 -0.09375 0.5 \n-0.03125 -0.125 0.5 \n-0.09375 -0.03125 0.5 \n-0.125 -0.03125 0.5 \n-0.125 -0.09375 0.5 \n-0.09375 -0.125 0.5 \n-0.28125 -0.09375 0.5 \n-0.28125 -0.125 0.5 \n-0.34375 -0.03125 0.5 \n-0.375 -0.03125 0.5 \n-0.375 -0.09375 0.5 \n-0.34375 -0.125 0.5 \n0.5 0.03125 0.34375 \n0.5 0.03125 0.375 \n0.5 0.09375 0.28125 \n0.5 0.125 0.28125 \n0.5 0.125 0.34375 \n0.5 0.09375 0.375 \n0.5 0.03125 0.09375 \n0.5 0.03125 0.125 \n0.5 0.09375 0.03125 \n0.5 0.125 0.03125 \n0.5 0.125 0.09375 \n0.5 0.09375 0.125 \n0.5 0.28125 0.09375 \n0.5 0.28125 0.125 \n0.5 0.34375 0.03125 \n0.5 0.375 0.03125 \n0.5 0.375 0.09375 \n0.5 0.34375 0.125 \n0.5 -0.03125 -0.34375 \n0.5 -0.03125 -0.375 \n0.5 -0.09375 -0.28125 \n0.5 -0.125 -0.28125 \n0.5 -0.125 -0.34375 \n0.5 -0.09375 -0.375 \n0.5 -0.03125 -0.09375 \n0.5 -0.03125 -0.125 \n0.5 -0.09375 -0.03125 \n0.5 -0.125 -0.03125 \n0.5 -0.125 -0.09375 \n0.5 -0.09375 -0.125 \n0.5 -0.28125 -0.09375 \n0.5 -0.28125 -0.125 \n0.5 -0.34375 -0.03125 \n0.5 -0.375 -0.03125 \n0.5 -0.375 -0.09375 \n0.5 -0.34375 -0.125 \n0.34375 0.5 0.03125 \n0.375 0.5 0.03125 \n0.28125 0.5 0.09375 \n0.28125 0.5 0.125 \n0.34375 0.5 0.125 \n0.375 0.5 0.09375 \n0.09375 0.5 0.03125 \n0.125 0.5 0.03125 \n0.03125 0.5 0.09375 \n0.03125 0.5 0.125 \n0.09375 0.5 0.125 \n0.125 0.5 0.09375 \n0.09375 0.5 0.28125 \n0.125 0.5 0.28125 \n0.03125 0.5 0.34375 \n0.03125 0.5 0.375 \n0.09375 0.5 0.375 \n0.125 0.5 0.34375 \n-0.34375 0.5 -0.03125 \n-0.375 0.5 -0.03125 \n-0.28125 0.5 -0.09375 \n-0.28125 0.5 -0.125 \n-0.34375 0.5 -0.125 \n-0.375 0.5 -0.09375 \n-0.09375 0.5 -0.03125 \n-0.125 0.5 -0.03125 \n-0.03125 0.5 -0.09375 \n-0.03125 0.5 -0.125 \n-0.09375 0.5 -0.125 \n-0.125 0.5 -0.09375 \n-0.09375 0.5 -0.28125 \n-0.125 0.5 -0.28125 \n-0.03125 0.5 -0.34375 \n-0.03125 0.5 -0.375 \n-0.09375 0.5 -0.375 \n-0.125 0.5 -0.34375 \n-0.34375 -0.03125 -0.5 \n-0.375 -0.03125 -0.5 \n-0.28125 -0.09375 -0.5 \n-0.28125 -0.125 -0.5 \n-0.34375 -0.125 -0.5 \n-0.375 -0.09375 -0.5 \n-0.09375 -0.03125 -0.5 \n-0.125 -0.03125 -0.5 \n-0.03125 -0.09375 -0.5 \n-0.03125 -0.125 -0.5 \n-0.09375 -0.125 -0.5 \n-0.125 -0.09375 -0.5 \n-0.09375 -0.28125 -0.5 \n-0.125 -0.28125 -0.5 \n-0.03125 -0.34375 -0.5 \n-0.03125 -0.375 -0.5 \n-0.09375 -0.375 -0.5 \n-0.125 -0.34375 -0.5 \n0.34375 0.03125 -0.5 \n0.375 0.03125 -0.5 \n0.28125 0.09375 -0.5 \n0.28125 0.125 -0.5 \n0.34375 0.125 -0.5 \n0.375 0.09375 -0.5 \n0.09375 0.03125 -0.5 \n0.125 0.03125 -0.5 \n0.03125 0.09375 -0.5 \n0.03125 0.125 -0.5 \n0.09375 0.125 -0.5 \n0.125 0.09375 -0.5 \n0.09375 0.28125 -0.5 \n0.125 0.28125 -0.5 \n0.03125 0.34375 -0.5 \n0.03125 0.375 -0.5 \n0.09375 0.375 -0.5 \n0.125 0.34375 -0.5 \n-0.03125 -0.5 -0.34375 \n-0.03125 -0.5 -0.375 \n-0.09375 -0.5 -0.28125 \n-0.125 -0.5 -0.28125 \n-0.125 -0.5 -0.34375 \n-0.09375 -0.5 -0.375 \n-0.03125 -0.5 -0.09375 \n-0.03125 -0.5 -0.125 \n-0.09375 -0.5 -0.03125 \n-0.125 -0.5 -0.03125 \n-0.125 -0.5 -0.09375 \n-0.09375 -0.5 -0.125 \n-0.28125 -0.5 -0.09375 \n-0.28125 -0.5 -0.125 \n-0.34375 -0.5 -0.03125 \n-0.375 -0.5 -0.03125 \n-0.375 -0.5 -0.09375 \n-0.34375 -0.5 -0.125 \n0.03125 -0.5 0.34375 \n0.03125 -0.5 0.375 \n0.09375 -0.5 0.28125 \n0.125 -0.5 0.28125 \n0.125 -0.5 0.34375 \n0.09375 -0.5 0.375 \n0.03125 -0.5 0.09375 \n0.03125 -0.5 0.125 \n0.09375 -0.5 0.03125 \n0.125 -0.5 0.03125 \n0.125 -0.5 0.09375 \n0.09375 -0.5 0.125 \n0.28125 -0.5 0.09375 \n0.28125 -0.5 0.125 \n0.34375 -0.5 0.03125 \n0.375 -0.5 0.03125 \n0.375 -0.5 0.09375 \n0.34375 -0.5 0.125 \n-0.5 -0.34375 -0.03125 \n-0.5 -0.375 -0.03125 \n-0.5 -0.28125 -0.09375 \n-0.5 -0.28125 -0.125 \n-0.5 -0.34375 -0.125 \n-0.5 -0.375 -0.09375 \n-0.5 -0.09375 -0.03125 \n-0.5 -0.125 -0.03125 \n-0.5 -0.03125 -0.09375 \n-0.5 -0.03125 -0.125 \n-0.5 -0.09375 -0.125 \n-0.5 -0.125 -0.09375 \n-0.5 -0.09375 -0.28125 \n-0.5 -0.125 -0.28125 \n-0.5 -0.03125 -0.34375 \n-0.5 -0.03125 -0.375 \n-0.5 -0.09375 -0.375 \n-0.5 -0.125 -0.34375 \n-0.5 0.34375 0.03125 \n-0.5 0.375 0.03125 \n-0.5 0.28125 0.09375 \n-0.5 0.28125 0.125 \n-0.5 0.34375 0.125 \n-0.5 0.375 0.09375 \n-0.5 0.09375 0.03125 \n-0.5 0.125 0.03125 \n-0.5 0.03125 0.09375 \n-0.5 0.03125 0.125 \n-0.5 0.09375 0.125 \n-0.5 0.125 0.09375 \n-0.5 0.09375 0.28125 \n-0.5 0.125 0.28125 \n-0.5 0.03125 0.34375 \n-0.5 0.03125 0.375 \n-0.5 0.09375 0.375 \n-0.5 0.125 0.34375 \n0.375 0.46875 0.5 \n0.40625 0.46875 0.5 \n0.375 0.40625 0.5 \n0.40625 0.375 0.5 \n0.46875 0.375 0.5 \n0.46875 0.40625 0.5 \n0.125 0.46875 0.5 \n0.15625 0.46875 0.5 \n0.125 0.40625 0.5 \n0.15625 0.375 0.5 \n0.21875 0.375 0.5 \n0.21875 0.40625 0.5 \n0.375 0.21875 0.5 \n0.40625 0.21875 0.5 \n0.375 0.15625 0.5 \n0.40625 0.125 0.5 \n0.46875 0.125 0.5 \n0.46875 0.15625 0.5 \n-0.125 0.46875 0.5 \n-0.09375 0.46875 0.5 \n-0.125 0.40625 0.5 \n-0.09375 0.375 0.5 \n-0.03125 0.375 0.5 \n-0.03125 0.40625 0.5 \n-0.375 0.46875 0.5 \n-0.34375 0.46875 0.5 \n-0.375 0.40625 0.5 \n-0.34375 0.375 0.5 \n-0.28125 0.375 0.5 \n-0.28125 0.40625 0.5 \n-0.125 0.21875 0.5 \n-0.09375 0.21875 0.5 \n-0.125 0.15625 0.5 \n-0.09375 0.125 0.5 \n-0.03125 0.125 0.5 \n-0.03125 0.15625 0.5 \n0.375 -0.03125 0.5 \n0.40625 -0.03125 0.5 \n0.375 -0.09375 0.5 \n0.40625 -0.125 0.5 \n0.46875 -0.125 0.5 \n0.46875 -0.09375 0.5 \n0.125 -0.03125 0.5 \n0.15625 -0.03125 0.5 \n0.125 -0.09375 0.5 \n0.15625 -0.125 0.5 \n0.21875 -0.125 0.5 \n0.21875 -0.09375 0.5 \n0.375 -0.28125 0.5 \n0.40625 -0.28125 0.5 \n0.375 -0.34375 0.5 \n0.40625 -0.375 0.5 \n0.46875 -0.375 0.5 \n0.46875 -0.34375 0.5 \n-0.375 -0.46875 0.5 \n-0.40625 -0.46875 0.5 \n-0.375 -0.40625 0.5 \n-0.40625 -0.375 0.5 \n-0.46875 -0.375 0.5 \n-0.46875 -0.40625 0.5 \n-0.125 -0.46875 0.5 \n-0.15625 -0.46875 0.5 \n-0.125 -0.40625 0.5 \n-0.15625 -0.375 0.5 \n-0.21875 -0.375 0.5 \n-0.21875 -0.40625 0.5 \n-0.375 -0.21875 0.5 \n-0.40625 -0.21875 0.5 \n-0.375 -0.15625 0.5 \n-0.40625 -0.125 0.5 \n-0.46875 -0.125 0.5 \n-0.46875 -0.15625 0.5 \n0.125 -0.46875 0.5 \n0.09375 -0.46875 0.5 \n0.125 -0.40625 0.5 \n0.09375 -0.375 0.5 \n0.03125 -0.375 0.5 \n0.03125 -0.40625 0.5 \n0.375 -0.46875 0.5 \n0.34375 -0.46875 0.5 \n0.375 -0.40625 0.5 \n0.34375 -0.375 0.5 \n0.28125 -0.375 0.5 \n0.28125 -0.40625 0.5 \n0.125 -0.21875 0.5 \n0.09375 -0.21875 0.5 \n0.125 -0.15625 0.5 \n0.09375 -0.125 0.5 \n0.03125 -0.125 0.5 \n0.03125 -0.15625 0.5 \n-0.375 0.03125 0.5 \n-0.40625 0.03125 0.5 \n-0.375 0.09375 0.5 \n-0.40625 0.125 0.5 \n-0.46875 0.125 0.5 \n-0.46875 0.09375 0.5 \n-0.125 0.03125 0.5 \n-0.15625 0.03125 0.5 \n-0.125 0.09375 0.5 \n-0.15625 0.125 0.5 \n-0.21875 0.125 0.5 \n-0.21875 0.09375 0.5 \n-0.375 0.28125 0.5 \n-0.40625 0.28125 0.5 \n-0.375 0.34375 0.5 \n-0.40625 0.375 0.5 \n-0.46875 0.375 0.5 \n-0.46875 0.34375 0.5 \n0.5 0.375 0.46875 \n0.5 0.40625 0.46875 \n0.5 0.375 0.40625 \n0.5 0.40625 0.375 \n0.5 0.46875 0.375 \n0.5 0.46875 0.40625 \n0.5 0.125 0.46875 \n0.5 0.15625 0.46875 \n0.5 0.125 0.40625 \n0.5 0.15625 0.375 \n0.5 0.21875 0.375 \n0.5 0.21875 0.40625 \n0.5 0.375 0.21875 \n0.5 0.40625 0.21875 \n0.5 0.375 0.15625 \n0.5 0.40625 0.125 \n0.5 0.46875 0.125 \n0.5 0.46875 0.15625 \n0.5 -0.125 0.46875 \n0.5 -0.09375 0.46875 \n0.5 -0.125 0.40625 \n0.5 -0.09375 0.375 \n0.5 -0.03125 0.375 \n0.5 -0.03125 0.40625 \n0.5 -0.375 0.46875 \n0.5 -0.34375 0.46875 \n0.5 -0.375 0.40625 \n0.5 -0.34375 0.375 \n0.5 -0.28125 0.375 \n0.5 -0.28125 0.40625 \n0.5 -0.125 0.21875 \n0.5 -0.09375 0.21875 \n0.5 -0.125 0.15625 \n0.5 -0.09375 0.125 \n0.5 -0.03125 0.125 \n0.5 -0.03125 0.15625 \n0.5 0.375 -0.03125 \n0.5 0.40625 -0.03125 \n0.5 0.375 -0.09375 \n0.5 0.40625 -0.125 \n0.5 0.46875 -0.125 \n0.5 0.46875 -0.09375 \n0.5 0.125 -0.03125 \n0.5 0.15625 -0.03125 \n0.5 0.125 -0.09375 \n0.5 0.15625 -0.125 \n0.5 0.21875 -0.125 \n0.5 0.21875 -0.09375 \n0.5 0.375 -0.28125 \n0.5 0.40625 -0.28125 \n0.5 0.375 -0.34375 \n0.5 0.40625 -0.375 \n0.5 0.46875 -0.375 \n0.5 0.46875 -0.34375 \n0.5 -0.375 -0.46875 \n0.5 -0.40625 -0.46875 \n0.5 -0.375 -0.40625 \n0.5 -0.40625 -0.375 \n0.5 -0.46875 -0.375 \n0.5 -0.46875 -0.40625 \n0.5 -0.125 -0.46875 \n0.5 -0.15625 -0.46875 \n0.5 -0.125 -0.40625 \n0.5 -0.15625 -0.375 \n0.5 -0.21875 -0.375 \n0.5 -0.21875 -0.40625 \n0.5 -0.375 -0.21875 \n0.5 -0.40625 -0.21875 \n0.5 -0.375 -0.15625 \n0.5 -0.40625 -0.125 \n0.5 -0.46875 -0.125 \n0.5 -0.46875 -0.15625 \n0.5 0.125 -0.46875 \n0.5 0.09375 -0.46875 \n0.5 0.125 -0.40625 \n0.5 0.09375 -0.375 \n0.5 0.03125 -0.375 \n0.5 0.03125 -0.40625 \n0.5 0.375 -0.46875 \n0.5 0.34375 -0.46875 \n0.5 0.375 -0.40625 \n0.5 0.34375 -0.375 \n0.5 0.28125 -0.375 \n0.5 0.28125 -0.40625 \n0.5 0.125 -0.21875 \n0.5 0.09375 -0.21875 \n0.5 0.125 -0.15625 \n0.5 0.09375 -0.125 \n0.5 0.03125 -0.125 \n0.5 0.03125 -0.15625 \n0.5 -0.375 0.03125 \n0.5 -0.40625 0.03125 \n0.5 -0.375 0.09375 \n0.5 -0.40625 0.125 \n0.5 -0.46875 0.125 \n0.5 -0.46875 0.09375 \n0.5 -0.125 0.03125 \n0.5 -0.15625 0.03125 \n0.5 -0.125 0.09375 \n0.5 -0.15625 0.125 \n0.5 -0.21875 0.125 \n0.5 -0.21875 0.09375 \n0.5 -0.375 0.28125 \n0.5 -0.40625 0.28125 \n0.5 -0.375 0.34375 \n0.5 -0.40625 0.375 \n0.5 -0.46875 0.375 \n0.5 -0.46875 0.34375 \n0.46875 0.5 0.375 \n0.46875 0.5 0.40625 \n0.40625 0.5 0.375 \n0.375 0.5 0.40625 \n0.375 0.5 0.46875 \n0.40625 0.5 0.46875 \n0.46875 0.5 0.125 \n0.46875 0.5 0.15625 \n0.40625 0.5 0.125 \n0.375 0.5 0.15625 \n0.375 0.5 0.21875 \n0.40625 0.5 0.21875 \n0.21875 0.5 0.375 \n0.21875 0.5 0.40625 \n0.15625 0.5 0.375 \n0.125 0.5 0.40625 \n0.125 0.5 0.46875 \n0.15625 0.5 0.46875 \n0.46875 0.5 -0.125 \n0.46875 0.5 -0.09375 \n0.40625 0.5 -0.125 \n0.375 0.5 -0.09375 \n0.375 0.5 -0.03125 \n0.40625 0.5 -0.03125 \n0.46875 0.5 -0.375 \n0.46875 0.5 -0.34375 \n0.40625 0.5 -0.375 \n0.375 0.5 -0.34375 \n0.375 0.5 -0.28125 \n0.40625 0.5 -0.28125 \n0.21875 0.5 -0.125 \n0.21875 0.5 -0.09375 \n0.15625 0.5 -0.125 \n0.125 0.5 -0.09375 \n0.125 0.5 -0.03125 \n0.15625 0.5 -0.03125 \n-0.03125 0.5 0.375 \n-0.03125 0.5 0.40625 \n-0.09375 0.5 0.375 \n-0.125 0.5 0.40625 \n-0.125 0.5 0.46875 \n-0.09375 0.5 0.46875 \n-0.03125 0.5 0.125 \n-0.03125 0.5 0.15625 \n-0.09375 0.5 0.125 \n-0.125 0.5 0.15625 \n-0.125 0.5 0.21875 \n-0.09375 0.5 0.21875 \n-0.28125 0.5 0.375 \n-0.28125 0.5 0.40625 \n-0.34375 0.5 0.375 \n-0.375 0.5 0.40625 \n-0.375 0.5 0.46875 \n-0.34375 0.5 0.46875 \n-0.46875 0.5 -0.375 \n-0.46875 0.5 -0.40625 \n-0.40625 0.5 -0.375 \n-0.375 0.5 -0.40625 \n-0.375 0.5 -0.46875 \n-0.40625 0.5 -0.46875 \n-0.46875 0.5 -0.125 \n-0.46875 0.5 -0.15625 \n-0.40625 0.5 -0.125 \n-0.375 0.5 -0.15625 \n-0.375 0.5 -0.21875 \n-0.40625 0.5 -0.21875 \n-0.21875 0.5 -0.375 \n-0.21875 0.5 -0.40625 \n-0.15625 0.5 -0.375 \n-0.125 0.5 -0.40625 \n-0.125 0.5 -0.46875 \n-0.15625 0.5 -0.46875 \n-0.46875 0.5 0.125 \n-0.46875 0.5 0.09375 \n-0.40625 0.5 0.125 \n-0.375 0.5 0.09375 \n-0.375 0.5 0.03125 \n-0.40625 0.5 0.03125 \n-0.46875 0.5 0.375 \n-0.46875 0.5 0.34375 \n-0.40625 0.5 0.375 \n-0.375 0.5 0.34375 \n-0.375 0.5 0.28125 \n-0.40625 0.5 0.28125 \n-0.21875 0.5 0.125 \n-0.21875 0.5 0.09375 \n-0.15625 0.5 0.125 \n-0.125 0.5 0.09375 \n-0.125 0.5 0.03125 \n-0.15625 0.5 0.03125 \n0.03125 0.5 -0.375 \n0.03125 0.5 -0.40625 \n0.09375 0.5 -0.375 \n0.125 0.5 -0.40625 \n0.125 0.5 -0.46875 \n0.09375 0.5 -0.46875 \n0.03125 0.5 -0.125 \n0.03125 0.5 -0.15625 \n0.09375 0.5 -0.125 \n0.125 0.5 -0.15625 \n0.125 0.5 -0.21875 \n0.09375 0.5 -0.21875 \n0.28125 0.5 -0.375 \n0.28125 0.5 -0.40625 \n0.34375 0.5 -0.375 \n0.375 0.5 -0.40625 \n0.375 0.5 -0.46875 \n0.34375 0.5 -0.46875 \n-0.46875 -0.375 -0.5 \n-0.46875 -0.40625 -0.5 \n-0.40625 -0.375 -0.5 \n-0.375 -0.40625 -0.5 \n-0.375 -0.46875 -0.5 \n-0.40625 -0.46875 -0.5 \n-0.46875 -0.125 -0.5 \n-0.46875 -0.15625 -0.5 \n-0.40625 -0.125 -0.5 \n-0.375 -0.15625 -0.5 \n-0.375 -0.21875 -0.5 \n-0.40625 -0.21875 -0.5 \n-0.21875 -0.375 -0.5 \n-0.21875 -0.40625 -0.5 \n-0.15625 -0.375 -0.5 \n-0.125 -0.40625 -0.5 \n-0.125 -0.46875 -0.5 \n-0.15625 -0.46875 -0.5 \n-0.46875 0.125 -0.5 \n-0.46875 0.09375 -0.5 \n-0.40625 0.125 -0.5 \n-0.375 0.09375 -0.5 \n-0.375 0.03125 -0.5 \n-0.40625 0.03125 -0.5 \n-0.46875 0.375 -0.5 \n-0.46875 0.34375 -0.5 \n-0.40625 0.375 -0.5 \n-0.375 0.34375 -0.5 \n-0.375 0.28125 -0.5 \n-0.40625 0.28125 -0.5 \n-0.21875 0.125 -0.5 \n-0.21875 0.09375 -0.5 \n-0.15625 0.125 -0.5 \n-0.125 0.09375 -0.5 \n-0.125 0.03125 -0.5 \n-0.15625 0.03125 -0.5 \n0.03125 -0.375 -0.5 \n0.03125 -0.40625 -0.5 \n0.09375 -0.375 -0.5 \n0.125 -0.40625 -0.5 \n0.125 -0.46875 -0.5 \n0.09375 -0.46875 -0.5 \n0.03125 -0.125 -0.5 \n0.03125 -0.15625 -0.5 \n0.09375 -0.125 -0.5 \n0.125 -0.15625 -0.5 \n0.125 -0.21875 -0.5 \n0.09375 -0.21875 -0.5 \n0.28125 -0.375 -0.5 \n0.28125 -0.40625 -0.5 \n0.34375 -0.375 -0.5 \n0.375 -0.40625 -0.5 \n0.375 -0.46875 -0.5 \n0.34375 -0.46875 -0.5 \n0.46875 0.375 -0.5 \n0.46875 0.40625 -0.5 \n0.40625 0.375 -0.5 \n0.375 0.40625 -0.5 \n0.375 0.46875 -0.5 \n0.40625 0.46875 -0.5 \n0.46875 0.125 -0.5 \n0.46875 0.15625 -0.5 \n0.40625 0.125 -0.5 \n0.375 0.15625 -0.5 \n0.375 0.21875 -0.5 \n0.40625 0.21875 -0.5 \n0.21875 0.375 -0.5 \n0.21875 0.40625 -0.5 \n0.15625 0.375 -0.5 \n0.125 0.40625 -0.5 \n0.125 0.46875 -0.5 \n0.15625 0.46875 -0.5 \n0.46875 -0.125 -0.5 \n0.46875 -0.09375 -0.5 \n0.40625 -0.125 -0.5 \n0.375 -0.09375 -0.5 \n0.375 -0.03125 -0.5 \n0.40625 -0.03125 -0.5 \n0.46875 -0.375 -0.5 \n0.46875 -0.34375 -0.5 \n0.40625 -0.375 -0.5 \n0.375 -0.34375 -0.5 \n0.375 -0.28125 -0.5 \n0.40625 -0.28125 -0.5 \n0.21875 -0.125 -0.5 \n0.21875 -0.09375 -0.5 \n0.15625 -0.125 -0.5 \n0.125 -0.09375 -0.5 \n0.125 -0.03125 -0.5 \n0.15625 -0.03125 -0.5 \n-0.03125 0.375 -0.5 \n-0.03125 0.40625 -0.5 \n-0.09375 0.375 -0.5 \n-0.125 0.40625 -0.5 \n-0.125 0.46875 -0.5 \n-0.09375 0.46875 -0.5 \n-0.03125 0.125 -0.5 \n-0.03125 0.15625 -0.5 \n-0.09375 0.125 -0.5 \n-0.125 0.15625 -0.5 \n-0.125 0.21875 -0.5 \n-0.09375 0.21875 -0.5 \n-0.28125 0.375 -0.5 \n-0.28125 0.40625 -0.5 \n-0.34375 0.375 -0.5 \n-0.375 0.40625 -0.5 \n-0.375 0.46875 -0.5 \n-0.34375 0.46875 -0.5 \n-0.375 -0.5 -0.46875 \n-0.40625 -0.5 -0.46875 \n-0.375 -0.5 -0.40625 \n-0.40625 -0.5 -0.375 \n-0.46875 -0.5 -0.375 \n-0.46875 -0.5 -0.40625 \n-0.125 -0.5 -0.46875 \n-0.15625 -0.5 -0.46875 \n-0.125 -0.5 -0.40625 \n-0.15625 -0.5 -0.375 \n-0.21875 -0.5 -0.375 \n-0.21875 -0.5 -0.40625 \n-0.375 -0.5 -0.21875 \n-0.40625 -0.5 -0.21875 \n-0.375 -0.5 -0.15625 \n-0.40625 -0.5 -0.125 \n-0.46875 -0.5 -0.125 \n-0.46875 -0.5 -0.15625 \n0.125 -0.5 -0.46875 \n0.09375 -0.5 -0.46875 \n0.125 -0.5 -0.40625 \n0.09375 -0.5 -0.375 \n0.03125 -0.5 -0.375 \n0.03125 -0.5 -0.40625 \n0.375 -0.5 -0.46875 \n0.34375 -0.5 -0.46875 \n0.375 -0.5 -0.40625 \n0.34375 -0.5 -0.375 \n0.28125 -0.5 -0.375 \n0.28125 -0.5 -0.40625 \n0.125 -0.5 -0.21875 \n0.09375 -0.5 -0.21875 \n0.125 -0.5 -0.15625 \n0.09375 -0.5 -0.125 \n0.03125 -0.5 -0.125 \n0.03125 -0.5 -0.15625 \n-0.375 -0.5 0.03125 \n-0.40625 -0.5 0.03125 \n-0.375 -0.5 0.09375 \n-0.40625 -0.5 0.125 \n-0.46875 -0.5 0.125 \n-0.46875 -0.5 0.09375 \n-0.125 -0.5 0.03125 \n-0.15625 -0.5 0.03125 \n-0.125 -0.5 0.09375 \n-0.15625 -0.5 0.125 \n-0.21875 -0.5 0.125 \n-0.21875 -0.5 0.09375 \n-0.375 -0.5 0.28125 \n-0.40625 -0.5 0.28125 \n-0.375 -0.5 0.34375 \n-0.40625 -0.5 0.375 \n-0.46875 -0.5 0.375 \n-0.46875 -0.5 0.34375 \n0.375 -0.5 0.46875 \n0.40625 -0.5 0.46875 \n0.375 -0.5 0.40625 \n0.40625 -0.5 0.375 \n0.46875 -0.5 0.375 \n0.46875 -0.5 0.40625 \n0.125 -0.5 0.46875 \n0.15625 -0.5 0.46875 \n0.125 -0.5 0.40625 \n0.15625 -0.5 0.375 \n0.21875 -0.5 0.375 \n0.21875 -0.5 0.40625 \n0.375 -0.5 0.21875 \n0.40625 -0.5 0.21875 \n0.375 -0.5 0.15625 \n0.40625 -0.5 0.125 \n0.46875 -0.5 0.125 \n0.46875 -0.5 0.15625 \n-0.125 -0.5 0.46875 \n-0.09375 -0.5 0.46875 \n-0.125 -0.5 0.40625 \n-0.09375 -0.5 0.375 \n-0.03125 -0.5 0.375 \n-0.03125 -0.5 0.40625 \n-0.375 -0.5 0.46875 \n-0.34375 -0.5 0.46875 \n-0.375 -0.5 0.40625 \n-0.34375 -0.5 0.375 \n-0.28125 -0.5 0.375 \n-0.28125 -0.5 0.40625 \n-0.125 -0.5 0.21875 \n-0.09375 -0.5 0.21875 \n-0.125 -0.5 0.15625 \n-0.09375 -0.5 0.125 \n-0.03125 -0.5 0.125 \n-0.03125 -0.5 0.15625 \n0.375 -0.5 -0.03125 \n0.40625 -0.5 -0.03125 \n0.375 -0.5 -0.09375 \n0.40625 -0.5 -0.125 \n0.46875 -0.5 -0.125 \n0.46875 -0.5 -0.09375 \n0.125 -0.5 -0.03125 \n0.15625 -0.5 -0.03125 \n0.125 -0.5 -0.09375 \n0.15625 -0.5 -0.125 \n0.21875 -0.5 -0.125 \n0.21875 -0.5 -0.09375 \n0.375 -0.5 -0.28125 \n0.40625 -0.5 -0.28125 \n0.375 -0.5 -0.34375 \n0.40625 -0.5 -0.375 \n0.46875 -0.5 -0.375 \n0.46875 -0.5 -0.34375 \n-0.5 -0.46875 -0.375 \n-0.5 -0.46875 -0.40625 \n-0.5 -0.40625 -0.375 \n-0.5 -0.375 -0.40625 \n-0.5 -0.375 -0.46875 \n-0.5 -0.40625 -0.46875 \n-0.5 -0.46875 -0.125 \n-0.5 -0.46875 -0.15625 \n-0.5 -0.40625 -0.125 \n-0.5 -0.375 -0.15625 \n-0.5 -0.375 -0.21875 \n-0.5 -0.40625 -0.21875 \n-0.5 -0.21875 -0.375 \n-0.5 -0.21875 -0.40625 \n-0.5 -0.15625 -0.375 \n-0.5 -0.125 -0.40625 \n-0.5 -0.125 -0.46875 \n-0.5 -0.15625 -0.46875 \n-0.5 -0.46875 0.125 \n-0.5 -0.46875 0.09375 \n-0.5 -0.40625 0.125 \n-0.5 -0.375 0.09375 \n-0.5 -0.375 0.03125 \n-0.5 -0.40625 0.03125 \n-0.5 -0.46875 0.375 \n-0.5 -0.46875 0.34375 \n-0.5 -0.40625 0.375 \n-0.5 -0.375 0.34375 \n-0.5 -0.375 0.28125 \n-0.5 -0.40625 0.28125 \n-0.5 -0.21875 0.125 \n-0.5 -0.21875 0.09375 \n-0.5 -0.15625 0.125 \n-0.5 -0.125 0.09375 \n-0.5 -0.125 0.03125 \n-0.5 -0.15625 0.03125 \n-0.5 0.03125 -0.375 \n-0.5 0.03125 -0.40625 \n-0.5 0.09375 -0.375 \n-0.5 0.125 -0.40625 \n-0.5 0.125 -0.46875 \n-0.5 0.09375 -0.46875 \n-0.5 0.03125 -0.125 \n-0.5 0.03125 -0.15625 \n-0.5 0.09375 -0.125 \n-0.5 0.125 -0.15625 \n-0.5 0.125 -0.21875 \n-0.5 0.09375 -0.21875 \n-0.5 0.28125 -0.375 \n-0.5 0.28125 -0.40625 \n-0.5 0.34375 -0.375 \n-0.5 0.375 -0.40625 \n-0.5 0.375 -0.46875 \n-0.5 0.34375 -0.46875 \n-0.5 0.46875 0.375 \n-0.5 0.46875 0.40625 \n-0.5 0.40625 0.375 \n-0.5 0.375 0.40625 \n-0.5 0.375 0.46875 \n-0.5 0.40625 0.46875 \n-0.5 0.46875 0.125 \n-0.5 0.46875 0.15625 \n-0.5 0.40625 0.125 \n-0.5 0.375 0.15625 \n-0.5 0.375 0.21875 \n-0.5 0.40625 0.21875 \n-0.5 0.21875 0.375 \n-0.5 0.21875 0.40625 \n-0.5 0.15625 0.375 \n-0.5 0.125 0.40625 \n-0.5 0.125 0.46875 \n-0.5 0.15625 0.46875 \n-0.5 0.46875 -0.125 \n-0.5 0.46875 -0.09375 \n-0.5 0.40625 -0.125 \n-0.5 0.375 -0.09375 \n-0.5 0.375 -0.03125 \n-0.5 0.40625 -0.03125 \n-0.5 0.46875 -0.375 \n-0.5 0.46875 -0.34375 \n-0.5 0.40625 -0.375 \n-0.5 0.375 -0.34375 \n-0.5 0.375 -0.28125 \n-0.5 0.40625 -0.28125 \n-0.5 0.21875 -0.125 \n-0.5 0.21875 -0.09375 \n-0.5 0.15625 -0.125 \n-0.5 0.125 -0.09375 \n-0.5 0.125 -0.03125 \n-0.5 0.15625 -0.03125 \n-0.5 -0.03125 0.375 \n-0.5 -0.03125 0.40625 \n-0.5 -0.09375 0.375 \n-0.5 -0.125 0.40625 \n-0.5 -0.125 0.46875 \n-0.5 -0.09375 0.46875 \n-0.5 -0.03125 0.125 \n-0.5 -0.03125 0.15625 \n-0.5 -0.09375 0.125 \n-0.5 -0.125 0.15625 \n-0.5 -0.125 0.21875 \n-0.5 -0.09375 0.21875 \n-0.5 -0.28125 0.375 \n-0.5 -0.28125 0.40625 \n-0.5 -0.34375 0.375 \n-0.5 -0.375 0.40625 \n-0.5 -0.375 0.46875 \n-0.5 -0.34375 0.46875 \n0.03125 0.21875 0.5 \n0.03125 0.25 0.5 \n0.09375 0.15625 0.5 \n0.09375 0.25 0.5 \n0.15625 0.09375 0.5 \n0.21875 0.03125 0.5 \n0.25 0.03125 0.5 \n0.25 0.09375 0.5 \n0.15625 0.25 0.5 \n0.25 0.15625 0.5 \n0.25 0.21875 0.5 \n0.21875 0.25 0.5 \n-0.03125 -0.21875 0.5 \n-0.03125 -0.25 0.5 \n-0.09375 -0.15625 0.5 \n-0.09375 -0.25 0.5 \n-0.15625 -0.09375 0.5 \n-0.21875 -0.03125 0.5 \n-0.25 -0.03125 0.5 \n-0.25 -0.09375 0.5 \n-0.15625 -0.25 0.5 \n-0.25 -0.15625 0.5 \n-0.25 -0.21875 0.5 \n-0.21875 -0.25 0.5 \n0.5 0.03125 0.21875 \n0.5 0.03125 0.25 \n0.5 0.09375 0.15625 \n0.5 0.09375 0.25 \n0.5 0.15625 0.09375 \n0.5 0.21875 0.03125 \n0.5 0.25 0.03125 \n0.5 0.25 0.09375 \n0.5 0.15625 0.25 \n0.5 0.25 0.15625 \n0.5 0.25 0.21875 \n0.5 0.21875 0.25 \n0.5 -0.03125 -0.21875 \n0.5 -0.03125 -0.25 \n0.5 -0.09375 -0.15625 \n0.5 -0.09375 -0.25 \n0.5 -0.15625 -0.09375 \n0.5 -0.21875 -0.03125 \n0.5 -0.25 -0.03125 \n0.5 -0.25 -0.09375 \n0.5 -0.15625 -0.25 \n0.5 -0.25 -0.15625 \n0.5 -0.25 -0.21875 \n0.5 -0.21875 -0.25 \n0.21875 0.5 0.03125 \n0.25 0.5 0.03125 \n0.15625 0.5 0.09375 \n0.25 0.5 0.09375 \n0.09375 0.5 0.15625 \n0.03125 0.5 0.21875 \n0.03125 0.5 0.25 \n0.09375 0.5 0.25 \n0.25 0.5 0.15625 \n0.15625 0.5 0.25 \n0.21875 0.5 0.25 \n0.25 0.5 0.21875 \n-0.21875 0.5 -0.03125 \n-0.25 0.5 -0.03125 \n-0.15625 0.5 -0.09375 \n-0.25 0.5 -0.09375 \n-0.09375 0.5 -0.15625 \n-0.03125 0.5 -0.21875 \n-0.03125 0.5 -0.25 \n-0.09375 0.5 -0.25 \n-0.25 0.5 -0.15625 \n-0.15625 0.5 -0.25 \n-0.21875 0.5 -0.25 \n-0.25 0.5 -0.21875 \n-0.21875 -0.03125 -0.5 \n-0.25 -0.03125 -0.5 \n-0.15625 -0.09375 -0.5 \n-0.25 -0.09375 -0.5 \n-0.09375 -0.15625 -0.5 \n-0.03125 -0.21875 -0.5 \n-0.03125 -0.25 -0.5 \n-0.09375 -0.25 -0.5 \n-0.25 -0.15625 -0.5 \n-0.15625 -0.25 -0.5 \n-0.21875 -0.25 -0.5 \n-0.25 -0.21875 -0.5 \n0.21875 0.03125 -0.5 \n0.25 0.03125 -0.5 \n0.15625 0.09375 -0.5 \n0.25 0.09375 -0.5 \n0.09375 0.15625 -0.5 \n0.03125 0.21875 -0.5 \n0.03125 0.25 -0.5 \n0.09375 0.25 -0.5 \n0.25 0.15625 -0.5 \n0.15625 0.25 -0.5 \n0.21875 0.25 -0.5 \n0.25 0.21875 -0.5 \n-0.03125 -0.5 -0.21875 \n-0.03125 -0.5 -0.25 \n-0.09375 -0.5 -0.15625 \n-0.09375 -0.5 -0.25 \n-0.15625 -0.5 -0.09375 \n-0.21875 -0.5 -0.03125 \n-0.25 -0.5 -0.03125 \n-0.25 -0.5 -0.09375 \n-0.15625 -0.5 -0.25 \n-0.25 -0.5 -0.15625 \n-0.25 -0.5 -0.21875 \n-0.21875 -0.5 -0.25 \n0.03125 -0.5 0.21875 \n0.03125 -0.5 0.25 \n0.09375 -0.5 0.15625 \n0.09375 -0.5 0.25 \n0.15625 -0.5 0.09375 \n0.21875 -0.5 0.03125 \n0.25 -0.5 0.03125 \n0.25 -0.5 0.09375 \n0.15625 -0.5 0.25 \n0.25 -0.5 0.15625 \n0.25 -0.5 0.21875 \n0.21875 -0.5 0.25 \n-0.5 -0.21875 -0.03125 \n-0.5 -0.25 -0.03125 \n-0.5 -0.15625 -0.09375 \n-0.5 -0.25 -0.09375 \n-0.5 -0.09375 -0.15625 \n-0.5 -0.03125 -0.21875 \n-0.5 -0.03125 -0.25 \n-0.5 -0.09375 -0.25 \n-0.5 -0.25 -0.15625 \n-0.5 -0.15625 -0.25 \n-0.5 -0.21875 -0.25 \n-0.5 -0.25 -0.21875 \n-0.5 0.21875 0.03125 \n-0.5 0.25 0.03125 \n-0.5 0.15625 0.09375 \n-0.5 0.25 0.09375 \n-0.5 0.09375 0.15625 \n-0.5 0.03125 0.21875 \n-0.5 0.03125 0.25 \n-0.5 0.09375 0.25 \n-0.5 0.25 0.15625 \n-0.5 0.15625 0.25 \n-0.5 0.21875 0.25 \n-0.5 0.25 0.21875 \n0.25 0.46875 0.5 \n0.28125 0.46875 0.5 \n0.25 0.40625 0.5 \n0.34375 0.40625 0.5 \n0.25 0.34375 0.5 \n0.25 0.28125 0.5 \n0.28125 0.25 0.5 \n0.34375 0.25 0.5 \n0.40625 0.34375 0.5 \n0.40625 0.25 0.5 \n0.46875 0.25 0.5 \n0.46875 0.28125 0.5 \n-0.25 0.46875 0.5 \n-0.21875 0.46875 0.5 \n-0.25 0.40625 0.5 \n-0.15625 0.40625 0.5 \n-0.25 0.34375 0.5 \n-0.25 0.28125 0.5 \n-0.21875 0.25 0.5 \n-0.15625 0.25 0.5 \n-0.09375 0.34375 0.5 \n-0.09375 0.25 0.5 \n-0.03125 0.25 0.5 \n-0.03125 0.28125 0.5 \n0.25 -0.03125 0.5 \n0.28125 -0.03125 0.5 \n0.25 -0.09375 0.5 \n0.34375 -0.09375 0.5 \n0.25 -0.15625 0.5 \n0.25 -0.21875 0.5 \n0.28125 -0.25 0.5 \n0.34375 -0.25 0.5 \n0.40625 -0.15625 0.5 \n0.40625 -0.25 0.5 \n0.46875 -0.25 0.5 \n0.46875 -0.21875 0.5 \n-0.25 -0.46875 0.5 \n-0.28125 -0.46875 0.5 \n-0.25 -0.40625 0.5 \n-0.34375 -0.40625 0.5 \n-0.25 -0.34375 0.5 \n-0.25 -0.28125 0.5 \n-0.28125 -0.25 0.5 \n-0.34375 -0.25 0.5 \n-0.40625 -0.34375 0.5 \n-0.40625 -0.25 0.5 \n-0.46875 -0.25 0.5 \n-0.46875 -0.28125 0.5 \n0.25 -0.46875 0.5 \n0.21875 -0.46875 0.5 \n0.25 -0.40625 0.5 \n0.15625 -0.40625 0.5 \n0.25 -0.34375 0.5 \n0.25 -0.28125 0.5 \n0.21875 -0.25 0.5 \n0.15625 -0.25 0.5 \n0.09375 -0.34375 0.5 \n0.09375 -0.25 0.5 \n0.03125 -0.25 0.5 \n0.03125 -0.28125 0.5 \n-0.25 0.03125 0.5 \n-0.28125 0.03125 0.5 \n-0.25 0.09375 0.5 \n-0.34375 0.09375 0.5 \n-0.25 0.15625 0.5 \n-0.25 0.21875 0.5 \n-0.28125 0.25 0.5 \n-0.34375 0.25 0.5 \n-0.40625 0.15625 0.5 \n-0.40625 0.25 0.5 \n-0.46875 0.25 0.5 \n-0.46875 0.21875 0.5 \n0.5 0.25 0.46875 \n0.5 0.28125 0.46875 \n0.5 0.25 0.40625 \n0.5 0.34375 0.40625 \n0.5 0.25 0.34375 \n0.5 0.25 0.28125 \n0.5 0.28125 0.25 \n0.5 0.34375 0.25 \n0.5 0.40625 0.34375 \n0.5 0.40625 0.25 \n0.5 0.46875 0.25 \n0.5 0.46875 0.28125 \n0.5 -0.25 0.46875 \n0.5 -0.21875 0.46875 \n0.5 -0.25 0.40625 \n0.5 -0.15625 0.40625 \n0.5 -0.25 0.34375 \n0.5 -0.25 0.28125 \n0.5 -0.21875 0.25 \n0.5 -0.15625 0.25 \n0.5 -0.09375 0.34375 \n0.5 -0.09375 0.25 \n0.5 -0.03125 0.25 \n0.5 -0.03125 0.28125 \n0.5 0.25 -0.03125 \n0.5 0.28125 -0.03125 \n0.5 0.25 -0.09375 \n0.5 0.34375 -0.09375 \n0.5 0.25 -0.15625 \n0.5 0.25 -0.21875 \n0.5 0.28125 -0.25 \n0.5 0.34375 -0.25 \n0.5 0.40625 -0.15625 \n0.5 0.40625 -0.25 \n0.5 0.46875 -0.25 \n0.5 0.46875 -0.21875 \n0.5 -0.25 -0.46875 \n0.5 -0.28125 -0.46875 \n0.5 -0.25 -0.40625 \n0.5 -0.34375 -0.40625 \n0.5 -0.25 -0.34375 \n0.5 -0.25 -0.28125 \n0.5 -0.28125 -0.25 \n0.5 -0.34375 -0.25 \n0.5 -0.40625 -0.34375 \n0.5 -0.40625 -0.25 \n0.5 -0.46875 -0.25 \n0.5 -0.46875 -0.28125 \n0.5 0.25 -0.46875 \n0.5 0.21875 -0.46875 \n0.5 0.25 -0.40625 \n0.5 0.15625 -0.40625 \n0.5 0.25 -0.34375 \n0.5 0.25 -0.28125 \n0.5 0.21875 -0.25 \n0.5 0.15625 -0.25 \n0.5 0.09375 -0.34375 \n0.5 0.09375 -0.25 \n0.5 0.03125 -0.25 \n0.5 0.03125 -0.28125 \n0.5 -0.25 0.03125 \n0.5 -0.28125 0.03125 \n0.5 -0.25 0.09375 \n0.5 -0.34375 0.09375 \n0.5 -0.25 0.15625 \n0.5 -0.25 0.21875 \n0.5 -0.28125 0.25 \n0.5 -0.34375 0.25 \n0.5 -0.40625 0.15625 \n0.5 -0.40625 0.25 \n0.5 -0.46875 0.25 \n0.5 -0.46875 0.21875 \n0.46875 0.5 0.25 \n0.46875 0.5 0.28125 \n0.40625 0.5 0.25 \n0.40625 0.5 0.34375 \n0.34375 0.5 0.25 \n0.28125 0.5 0.25 \n0.25 0.5 0.28125 \n0.25 0.5 0.34375 \n0.34375 0.5 0.40625 \n0.25 0.5 0.40625 \n0.25 0.5 0.46875 \n0.28125 0.5 0.46875 \n0.46875 0.5 -0.25 \n0.46875 0.5 -0.21875 \n0.40625 0.5 -0.25 \n0.40625 0.5 -0.15625 \n0.34375 0.5 -0.25 \n0.28125 0.5 -0.25 \n0.25 0.5 -0.21875 \n0.25 0.5 -0.15625 \n0.34375 0.5 -0.09375 \n0.25 0.5 -0.09375 \n0.25 0.5 -0.03125 \n0.28125 0.5 -0.03125 \n-0.03125 0.5 0.25 \n-0.03125 0.5 0.28125 \n-0.09375 0.5 0.25 \n-0.09375 0.5 0.34375 \n-0.15625 0.5 0.25 \n-0.21875 0.5 0.25 \n-0.25 0.5 0.28125 \n-0.25 0.5 0.34375 \n-0.15625 0.5 0.40625 \n-0.25 0.5 0.40625 \n-0.25 0.5 0.46875 \n-0.21875 0.5 0.46875 \n-0.46875 0.5 -0.25 \n-0.46875 0.5 -0.28125 \n-0.40625 0.5 -0.25 \n-0.40625 0.5 -0.34375 \n-0.34375 0.5 -0.25 \n-0.28125 0.5 -0.25 \n-0.25 0.5 -0.28125 \n-0.25 0.5 -0.34375 \n-0.34375 0.5 -0.40625 \n-0.25 0.5 -0.40625 \n-0.25 0.5 -0.46875 \n-0.28125 0.5 -0.46875 \n-0.46875 0.5 0.25 \n-0.46875 0.5 0.21875 \n-0.40625 0.5 0.25 \n-0.40625 0.5 0.15625 \n-0.34375 0.5 0.25 \n-0.28125 0.5 0.25 \n-0.25 0.5 0.21875 \n-0.25 0.5 0.15625 \n-0.34375 0.5 0.09375 \n-0.25 0.5 0.09375 \n-0.25 0.5 0.03125 \n-0.28125 0.5 0.03125 \n0.03125 0.5 -0.25 \n0.03125 0.5 -0.28125 \n0.09375 0.5 -0.25 \n0.09375 0.5 -0.34375 \n0.15625 0.5 -0.25 \n0.21875 0.5 -0.25 \n0.25 0.5 -0.28125 \n0.25 0.5 -0.34375 \n0.15625 0.5 -0.40625 \n0.25 0.5 -0.40625 \n0.25 0.5 -0.46875 \n0.21875 0.5 -0.46875 \n-0.46875 -0.25 -0.5 \n-0.46875 -0.28125 -0.5 \n-0.40625 -0.25 -0.5 \n-0.40625 -0.34375 -0.5 \n-0.34375 -0.25 -0.5 \n-0.28125 -0.25 -0.5 \n-0.25 -0.28125 -0.5 \n-0.25 -0.34375 -0.5 \n-0.34375 -0.40625 -0.5 \n-0.25 -0.40625 -0.5 \n-0.25 -0.46875 -0.5 \n-0.28125 -0.46875 -0.5 \n-0.46875 0.25 -0.5 \n-0.46875 0.21875 -0.5 \n-0.40625 0.25 -0.5 \n-0.40625 0.15625 -0.5 \n-0.34375 0.25 -0.5 \n-0.28125 0.25 -0.5 \n-0.25 0.21875 -0.5 \n-0.25 0.15625 -0.5 \n-0.34375 0.09375 -0.5 \n-0.25 0.09375 -0.5 \n-0.25 0.03125 -0.5 \n-0.28125 0.03125 -0.5 \n0.03125 -0.25 -0.5 \n0.03125 -0.28125 -0.5 \n0.09375 -0.25 -0.5 \n0.09375 -0.34375 -0.5 \n0.15625 -0.25 -0.5 \n0.21875 -0.25 -0.5 \n0.25 -0.28125 -0.5 \n0.25 -0.34375 -0.5 \n0.15625 -0.40625 -0.5 \n0.25 -0.40625 -0.5 \n0.25 -0.46875 -0.5 \n0.21875 -0.46875 -0.5 \n0.46875 0.25 -0.5 \n0.46875 0.28125 -0.5 \n0.40625 0.25 -0.5 \n0.40625 0.34375 -0.5 \n0.34375 0.25 -0.5 \n0.28125 0.25 -0.5 \n0.25 0.28125 -0.5 \n0.25 0.34375 -0.5 \n0.34375 0.40625 -0.5 \n0.25 0.40625 -0.5 \n0.25 0.46875 -0.5 \n0.28125 0.46875 -0.5 \n0.46875 -0.25 -0.5 \n0.46875 -0.21875 -0.5 \n0.40625 -0.25 -0.5 \n0.40625 -0.15625 -0.5 \n0.34375 -0.25 -0.5 \n0.28125 -0.25 -0.5 \n0.25 -0.21875 -0.5 \n0.25 -0.15625 -0.5 \n0.34375 -0.09375 -0.5 \n0.25 -0.09375 -0.5 \n0.25 -0.03125 -0.5 \n0.28125 -0.03125 -0.5 \n-0.03125 0.25 -0.5 \n-0.03125 0.28125 -0.5 \n-0.09375 0.25 -0.5 \n-0.09375 0.34375 -0.5 \n-0.15625 0.25 -0.5 \n-0.21875 0.25 -0.5 \n-0.25 0.28125 -0.5 \n-0.25 0.34375 -0.5 \n-0.15625 0.40625 -0.5 \n-0.25 0.40625 -0.5 \n-0.25 0.46875 -0.5 \n-0.21875 0.46875 -0.5 \n-0.25 -0.5 -0.46875 \n-0.28125 -0.5 -0.46875 \n-0.25 -0.5 -0.40625 \n-0.34375 -0.5 -0.40625 \n-0.25 -0.5 -0.34375 \n-0.25 -0.5 -0.28125 \n-0.28125 -0.5 -0.25 \n-0.34375 -0.5 -0.25 \n-0.40625 -0.5 -0.34375 \n-0.40625 -0.5 -0.25 \n-0.46875 -0.5 -0.25 \n-0.46875 -0.5 -0.28125 \n0.25 -0.5 -0.46875 \n0.21875 -0.5 -0.46875 \n0.25 -0.5 -0.40625 \n0.15625 -0.5 -0.40625 \n0.25 -0.5 -0.34375 \n0.25 -0.5 -0.28125 \n0.21875 -0.5 -0.25 \n0.15625 -0.5 -0.25 \n0.09375 -0.5 -0.34375 \n0.09375 -0.5 -0.25 \n0.03125 -0.5 -0.25 \n0.03125 -0.5 -0.28125 \n-0.25 -0.5 0.03125 \n-0.28125 -0.5 0.03125 \n-0.25 -0.5 0.09375 \n-0.34375 -0.5 0.09375 \n-0.25 -0.5 0.15625 \n-0.25 -0.5 0.21875 \n-0.28125 -0.5 0.25 \n-0.34375 -0.5 0.25 \n-0.40625 -0.5 0.15625 \n-0.40625 -0.5 0.25 \n-0.46875 -0.5 0.25 \n-0.46875 -0.5 0.21875 \n0.25 -0.5 0.46875 \n0.28125 -0.5 0.46875 \n0.25 -0.5 0.40625 \n0.34375 -0.5 0.40625 \n0.25 -0.5 0.34375 \n0.25 -0.5 0.28125 \n0.28125 -0.5 0.25 \n0.34375 -0.5 0.25 \n0.40625 -0.5 0.34375 \n0.40625 -0.5 0.25 \n0.46875 -0.5 0.25 \n0.46875 -0.5 0.28125 \n-0.25 -0.5 0.46875 \n-0.21875 -0.5 0.46875 \n-0.25 -0.5 0.40625 \n-0.15625 -0.5 0.40625 \n-0.25 -0.5 0.34375 \n-0.25 -0.5 0.28125 \n-0.21875 -0.5 0.25 \n-0.15625 -0.5 0.25 \n-0.09375 -0.5 0.34375 \n-0.09375 -0.5 0.25 \n-0.03125 -0.5 0.25 \n-0.03125 -0.5 0.28125 \n0.25 -0.5 -0.03125 \n0.28125 -0.5 -0.03125 \n0.25 -0.5 -0.09375 \n0.34375 -0.5 -0.09375 \n0.25 -0.5 -0.15625 \n0.25 -0.5 -0.21875 \n0.28125 -0.5 -0.25 \n0.34375 -0.5 -0.25 \n0.40625 -0.5 -0.15625 \n0.40625 -0.5 -0.25 \n0.46875 -0.5 -0.25 \n0.46875 -0.5 -0.21875 \n-0.5 -0.46875 -0.25 \n-0.5 -0.46875 -0.28125 \n-0.5 -0.40625 -0.25 \n-0.5 -0.40625 -0.34375 \n-0.5 -0.34375 -0.25 \n-0.5 -0.28125 -0.25 \n-0.5 -0.25 -0.28125 \n-0.5 -0.25 -0.34375 \n-0.5 -0.34375 -0.40625 \n-0.5 -0.25 -0.40625 \n-0.5 -0.25 -0.46875 \n-0.5 -0.28125 -0.46875 \n-0.5 -0.46875 0.25 \n-0.5 -0.46875 0.21875 \n-0.5 -0.40625 0.25 \n-0.5 -0.40625 0.15625 \n-0.5 -0.34375 0.25 \n-0.5 -0.28125 0.25 \n-0.5 -0.25 0.21875 \n-0.5 -0.25 0.15625 \n-0.5 -0.34375 0.09375 \n-0.5 -0.25 0.09375 \n-0.5 -0.25 0.03125 \n-0.5 -0.28125 0.03125 \n-0.5 0.03125 -0.25 \n-0.5 0.03125 -0.28125 \n-0.5 0.09375 -0.25 \n-0.5 0.09375 -0.34375 \n-0.5 0.15625 -0.25 \n-0.5 0.21875 -0.25 \n-0.5 0.25 -0.28125 \n-0.5 0.25 -0.34375 \n-0.5 0.15625 -0.40625 \n-0.5 0.25 -0.40625 \n-0.5 0.25 -0.46875 \n-0.5 0.21875 -0.46875 \n-0.5 0.46875 0.25 \n-0.5 0.46875 0.28125 \n-0.5 0.40625 0.25 \n-0.5 0.40625 0.34375 \n-0.5 0.34375 0.25 \n-0.5 0.28125 0.25 \n-0.5 0.25 0.28125 \n-0.5 0.25 0.34375 \n-0.5 0.34375 0.40625 \n-0.5 0.25 0.40625 \n-0.5 0.25 0.46875 \n-0.5 0.28125 0.46875 \n-0.5 0.46875 -0.25 \n-0.5 0.46875 -0.21875 \n-0.5 0.40625 -0.25 \n-0.5 0.40625 -0.15625 \n-0.5 0.34375 -0.25 \n-0.5 0.28125 -0.25 \n-0.5 0.25 -0.21875 \n-0.5 0.25 -0.15625 \n-0.5 0.34375 -0.09375 \n-0.5 0.25 -0.09375 \n-0.5 0.25 -0.03125 \n-0.5 0.28125 -0.03125 \n-0.5 -0.03125 0.25 \n-0.5 -0.03125 0.28125 \n-0.5 -0.09375 0.25 \n-0.5 -0.09375 0.34375 \n-0.5 -0.15625 0.25 \n-0.5 -0.21875 0.25 \n-0.5 -0.25 0.28125 \n-0.5 -0.25 0.34375 \n-0.5 -0.15625 0.40625 \n-0.5 -0.25 0.40625 \n-0.5 -0.25 0.46875 \n-0.5 -0.21875 0.46875 \n0 0.46875 0.5 \n0.03125 0.46875 0.5 \n0 0.40625 0.5 \n0.09375 0.40625 0.5 \n0 0.34375 0.5 \n0 0.28125 0.5 \n0.15625 0.34375 0.5 \n0.21875 0.28125 0.5 \n0 0.21875 0.5 \n0 0.15625 0.5 \n0 0.09375 0.5 \n0 0.03125 0.5 \n0.03125 0 0.5 \n0.09375 0 0.5 \n0.15625 0 0.5 \n0.21875 0 0.5 \n0.28125 0.21875 0.5 \n0.34375 0.15625 0.5 \n0.28125 0 0.5 \n0.34375 0 0.5 \n0.40625 0.09375 0.5 \n0.40625 0 0.5 \n0.46875 0 0.5 \n0.46875 0.03125 0.5 \n0 -0.46875 0.5 \n-0.03125 -0.46875 0.5 \n0 -0.40625 0.5 \n-0.09375 -0.40625 0.5 \n0 -0.34375 0.5 \n0 -0.28125 0.5 \n-0.15625 -0.34375 0.5 \n-0.21875 -0.28125 0.5 \n0 -0.21875 0.5 \n0 -0.15625 0.5 \n0 -0.09375 0.5 \n0 -0.03125 0.5 \n-0.03125 0 0.5 \n-0.09375 0 0.5 \n-0.15625 0 0.5 \n-0.21875 0 0.5 \n-0.28125 -0.21875 0.5 \n-0.34375 -0.15625 0.5 \n-0.28125 0 0.5 \n-0.34375 0 0.5 \n-0.40625 -0.09375 0.5 \n-0.40625 0 0.5 \n-0.46875 0 0.5 \n-0.46875 -0.03125 0.5 \n0.5 0 0.46875 \n0.5 0.03125 0.46875 \n0.5 0 0.40625 \n0.5 0.09375 0.40625 \n0.5 0 0.34375 \n0.5 0 0.28125 \n0.5 0.15625 0.34375 \n0.5 0.21875 0.28125 \n0.5 0 0.21875 \n0.5 0 0.15625 \n0.5 0 0.09375 \n0.5 0 0.03125 \n0.5 0.03125 0 \n0.5 0.09375 0 \n0.5 0.15625 0 \n0.5 0.21875 0 \n0.5 0.28125 0.21875 \n0.5 0.34375 0.15625 \n0.5 0.28125 0 \n0.5 0.34375 0 \n0.5 0.40625 0.09375 \n0.5 0.40625 0 \n0.5 0.46875 0 \n0.5 0.46875 0.03125 \n0.5 0 -0.46875 \n0.5 -0.03125 -0.46875 \n0.5 0 -0.40625 \n0.5 -0.09375 -0.40625 \n0.5 0 -0.34375 \n0.5 0 -0.28125 \n0.5 -0.15625 -0.34375 \n0.5 -0.21875 -0.28125 \n0.5 0 -0.21875 \n0.5 0 -0.15625 \n0.5 0 -0.09375 \n0.5 0 -0.03125 \n0.5 -0.03125 0 \n0.5 -0.09375 0 \n0.5 -0.15625 0 \n0.5 -0.21875 0 \n0.5 -0.28125 -0.21875 \n0.5 -0.34375 -0.15625 \n0.5 -0.28125 0 \n0.5 -0.34375 0 \n0.5 -0.40625 -0.09375 \n0.5 -0.40625 0 \n0.5 -0.46875 0 \n0.5 -0.46875 -0.03125 \n0.46875 0.5 0 \n0.46875 0.5 0.03125 \n0.40625 0.5 0 \n0.40625 0.5 0.09375 \n0.34375 0.5 0 \n0.28125 0.5 0 \n0.34375 0.5 0.15625 \n0.28125 0.5 0.21875 \n0.21875 0.5 0 \n0.15625 0.5 0 \n0.09375 0.5 0 \n0.03125 0.5 0 \n0 0.5 0.03125 \n0 0.5 0.09375 \n0 0.5 0.15625 \n0 0.5 0.21875 \n0.21875 0.5 0.28125 \n0.15625 0.5 0.34375 \n0 0.5 0.28125 \n0 0.5 0.34375 \n0.09375 0.5 0.40625 \n0 0.5 0.40625 \n0 0.5 0.46875 \n0.03125 0.5 0.46875 \n-0.46875 0.5 0 \n-0.46875 0.5 -0.03125 \n-0.40625 0.5 0 \n-0.40625 0.5 -0.09375 \n-0.34375 0.5 0 \n-0.28125 0.5 0 \n-0.34375 0.5 -0.15625 \n-0.28125 0.5 -0.21875 \n-0.21875 0.5 0 \n-0.15625 0.5 0 \n-0.09375 0.5 0 \n-0.03125 0.5 0 \n0 0.5 -0.03125 \n0 0.5 -0.09375 \n0 0.5 -0.15625 \n0 0.5 -0.21875 \n-0.21875 0.5 -0.28125 \n-0.15625 0.5 -0.34375 \n0 0.5 -0.28125 \n0 0.5 -0.34375 \n-0.09375 0.5 -0.40625 \n0 0.5 -0.40625 \n0 0.5 -0.46875 \n-0.03125 0.5 -0.46875 \n-0.46875 0 -0.5 \n-0.46875 -0.03125 -0.5 \n-0.40625 0 -0.5 \n-0.40625 -0.09375 -0.5 \n-0.34375 0 -0.5 \n-0.28125 0 -0.5 \n-0.34375 -0.15625 -0.5 \n-0.28125 -0.21875 -0.5 \n-0.21875 0 -0.5 \n-0.15625 0 -0.5 \n-0.09375 0 -0.5 \n-0.03125 0 -0.5 \n0 -0.03125 -0.5 \n0 -0.09375 -0.5 \n0 -0.15625 -0.5 \n0 -0.21875 -0.5 \n-0.21875 -0.28125 -0.5 \n-0.15625 -0.34375 -0.5 \n0 -0.28125 -0.5 \n0 -0.34375 -0.5 \n-0.09375 -0.40625 -0.5 \n0 -0.40625 -0.5 \n0 -0.46875 -0.5 \n-0.03125 -0.46875 -0.5 \n0.46875 0 -0.5 \n0.46875 0.03125 -0.5 \n0.40625 0 -0.5 \n0.40625 0.09375 -0.5 \n0.34375 0 -0.5 \n0.28125 0 -0.5 \n0.34375 0.15625 -0.5 \n0.28125 0.21875 -0.5 \n0.21875 0 -0.5 \n0.15625 0 -0.5 \n0.09375 0 -0.5 \n0.03125 0 -0.5 \n0 0.03125 -0.5 \n0 0.09375 -0.5 \n0 0.15625 -0.5 \n0 0.21875 -0.5 \n0.21875 0.28125 -0.5 \n0.15625 0.34375 -0.5 \n0 0.28125 -0.5 \n0 0.34375 -0.5 \n0.09375 0.40625 -0.5 \n0 0.40625 -0.5 \n0 0.46875 -0.5 \n0.03125 0.46875 -0.5 \n0 -0.5 -0.46875 \n-0.03125 -0.5 -0.46875 \n0 -0.5 -0.40625 \n-0.09375 -0.5 -0.40625 \n0 -0.5 -0.34375 \n0 -0.5 -0.28125 \n-0.15625 -0.5 -0.34375 \n-0.21875 -0.5 -0.28125 \n0 -0.5 -0.21875 \n0 -0.5 -0.15625 \n0 -0.5 -0.09375 \n0 -0.5 -0.03125 \n-0.03125 -0.5 0 \n-0.09375 -0.5 0 \n-0.15625 -0.5 0 \n-0.21875 -0.5 0 \n-0.28125 -0.5 -0.21875 \n-0.34375 -0.5 -0.15625 \n-0.28125 -0.5 0 \n-0.34375 -0.5 0 \n-0.40625 -0.5 -0.09375 \n-0.40625 -0.5 0 \n-0.46875 -0.5 0 \n-0.46875 -0.5 -0.03125 \n0 -0.5 0.46875 \n0.03125 -0.5 0.46875 \n0 -0.5 0.40625 \n0.09375 -0.5 0.40625 \n0 -0.5 0.34375 \n0 -0.5 0.28125 \n0.15625 -0.5 0.34375 \n0.21875 -0.5 0.28125 \n0 -0.5 0.21875 \n0 -0.5 0.15625 \n0 -0.5 0.09375 \n0 -0.5 0.03125 \n0.03125 -0.5 0 \n0.09375 -0.5 0 \n0.15625 -0.5 0 \n0.21875 -0.5 0 \n0.28125 -0.5 0.21875 \n0.34375 -0.5 0.15625 \n0.28125 -0.5 0 \n0.34375 -0.5 0 \n0.40625 -0.5 0.09375 \n0.40625 -0.5 0 \n0.46875 -0.5 0 \n0.46875 -0.5 0.03125 \n-0.5 -0.46875 0 \n-0.5 -0.46875 -0.03125 \n-0.5 -0.40625 0 \n-0.5 -0.40625 -0.09375 \n-0.5 -0.34375 0 \n-0.5 -0.28125 0 \n-0.5 -0.34375 -0.15625 \n-0.5 -0.28125 -0.21875 \n-0.5 -0.21875 0 \n-0.5 -0.15625 0 \n-0.5 -0.09375 0 \n-0.5 -0.03125 0 \n-0.5 0 -0.03125 \n-0.5 0 -0.09375 \n-0.5 0 -0.15625 \n-0.5 0 -0.21875 \n-0.5 -0.21875 -0.28125 \n-0.5 -0.15625 -0.34375 \n-0.5 0 -0.28125 \n-0.5 0 -0.34375 \n-0.5 -0.09375 -0.40625 \n-0.5 0 -0.40625 \n-0.5 0 -0.46875 \n-0.5 -0.03125 -0.46875 \n-0.5 0.46875 0 \n-0.5 0.46875 0.03125 \n-0.5 0.40625 0 \n-0.5 0.40625 0.09375 \n-0.5 0.34375 0 \n-0.5 0.28125 0 \n-0.5 0.34375 0.15625 \n-0.5 0.28125 0.21875 \n-0.5 0.21875 0 \n-0.5 0.15625 0 \n-0.5 0.09375 0 \n-0.5 0.03125 0 \n-0.5 0 0.03125 \n-0.5 0 0.09375 \n-0.5 0 0.15625 \n-0.5 0 0.21875 \n-0.5 0.21875 0.28125 \n-0.5 0.15625 0.34375 \n-0.5 0 0.28125 \n-0.5 0 0.34375 \n-0.5 0.09375 0.40625 \n-0.5 0 0.40625 \n-0.5 0 0.46875 \n-0.5 0.03125 0.46875 \n0.46875 0.5 0.5 \n0.5 0.46875 0.5 \n0.40625 0.5 0.5 \n0.5 0.40625 0.5 \n0.34375 0.5 0.5 \n0.28125 0.5 0.5 \n0.5 0.34375 0.5 \n0.5 0.28125 0.5 \n0.21875 0.5 0.5 \n0.15625 0.5 0.5 \n0.09375 0.5 0.5 \n0.03125 0.5 0.5 \n0.5 0.21875 0.5 \n0.5 0.15625 0.5 \n0.5 0.09375 0.5 \n0.5 0.03125 0.5 \n-0.03125 0.5 0.5 \n-0.09375 0.5 0.5 \n-0.15625 0.5 0.5 \n-0.21875 0.5 0.5 \n-0.28125 0.5 0.5 \n-0.34375 0.5 0.5 \n-0.40625 0.5 0.5 \n-0.46875 0.5 0.5 \n-0.46875 0.46875 0.5 \n-0.40625 0.40625 0.5 \n-0.34375 0.34375 0.5 \n-0.28125 0.28125 0.5 \n-0.21875 0.21875 0.5 \n-0.15625 0.15625 0.5 \n-0.09375 0.09375 0.5 \n-0.03125 0.03125 0.5 \n0.5 -0.03125 0.5 \n0.5 -0.09375 0.5 \n0.5 -0.15625 0.5 \n0.5 -0.21875 0.5 \n0.03125 -0.03125 0.5 \n0.09375 -0.09375 0.5 \n0.15625 -0.15625 0.5 \n0.21875 -0.21875 0.5 \n0.5 -0.28125 0.5 \n0.5 -0.34375 0.5 \n0.28125 -0.28125 0.5 \n0.34375 -0.34375 0.5 \n0.5 -0.40625 0.5 \n0.40625 -0.40625 0.5 \n0.46875 -0.46875 0.5 \n0.5 -0.46875 0.5 \n-0.46875 -0.5 0.5 \n-0.5 -0.46875 0.5 \n-0.40625 -0.5 0.5 \n-0.5 -0.40625 0.5 \n-0.34375 -0.5 0.5 \n-0.28125 -0.5 0.5 \n-0.5 -0.34375 0.5 \n-0.5 -0.28125 0.5 \n-0.21875 -0.5 0.5 \n-0.15625 -0.5 0.5 \n-0.09375 -0.5 0.5 \n-0.03125 -0.5 0.5 \n-0.5 -0.21875 0.5 \n-0.5 -0.15625 0.5 \n-0.5 -0.09375 0.5 \n-0.5 -0.03125 0.5 \n0.03125 -0.5 0.5 \n0.09375 -0.5 0.5 \n0.15625 -0.5 0.5 \n0.21875 -0.5 0.5 \n0.28125 -0.5 0.5 \n0.34375 -0.5 0.5 \n0.40625 -0.5 0.5 \n0.46875 -0.5 0.5 \n-0.5 0.03125 0.5 \n-0.5 0.09375 0.5 \n-0.5 0.15625 0.5 \n-0.5 0.21875 0.5 \n-0.5 0.28125 0.5 \n-0.5 0.34375 0.5 \n-0.5 0.40625 0.5 \n-0.5 0.46875 0.5 \n0.5 0.46875 0.5 \n0.5 0.5 0.46875 \n0.5 0.40625 0.5 \n0.5 0.5 0.40625 \n0.5 0.34375 0.5 \n0.5 0.28125 0.5 \n0.5 0.5 0.34375 \n0.5 0.5 0.28125 \n0.5 0.21875 0.5 \n0.5 0.15625 0.5 \n0.5 0.09375 0.5 \n0.5 0.03125 0.5 \n0.5 0.5 0.21875 \n0.5 0.5 0.15625 \n0.5 0.5 0.09375 \n0.5 0.5 0.03125 \n0.5 -0.03125 0.5 \n0.5 -0.09375 0.5 \n0.5 -0.15625 0.5 \n0.5 -0.21875 0.5 \n0.5 -0.28125 0.5 \n0.5 -0.34375 0.5 \n0.5 -0.40625 0.5 \n0.5 -0.46875 0.5 \n0.5 -0.46875 0.46875 \n0.5 -0.40625 0.40625 \n0.5 -0.34375 0.34375 \n0.5 -0.28125 0.28125 \n0.5 -0.21875 0.21875 \n0.5 -0.15625 0.15625 \n0.5 -0.09375 0.09375 \n0.5 -0.03125 0.03125 \n0.5 0.5 -0.03125 \n0.5 0.5 -0.09375 \n0.5 0.5 -0.15625 \n0.5 0.5 -0.21875 \n0.5 0.03125 -0.03125 \n0.5 0.09375 -0.09375 \n0.5 0.15625 -0.15625 \n0.5 0.21875 -0.21875 \n0.5 0.5 -0.28125 \n0.5 0.5 -0.34375 \n0.5 0.28125 -0.28125 \n0.5 0.34375 -0.34375 \n0.5 0.5 -0.40625 \n0.5 0.40625 -0.40625 \n0.5 0.46875 -0.46875 \n0.5 0.5 -0.46875 \n0.5 -0.46875 -0.5 \n0.5 -0.5 -0.46875 \n0.5 -0.40625 -0.5 \n0.5 -0.5 -0.40625 \n0.5 -0.34375 -0.5 \n0.5 -0.28125 -0.5 \n0.5 -0.5 -0.34375 \n0.5 -0.5 -0.28125 \n0.5 -0.21875 -0.5 \n0.5 -0.15625 -0.5 \n0.5 -0.09375 -0.5 \n0.5 -0.03125 -0.5 \n0.5 -0.5 -0.21875 \n0.5 -0.5 -0.15625 \n0.5 -0.5 -0.09375 \n0.5 -0.5 -0.03125 \n0.5 0.03125 -0.5 \n0.5 0.09375 -0.5 \n0.5 0.15625 -0.5 \n0.5 0.21875 -0.5 \n0.5 0.28125 -0.5 \n0.5 0.34375 -0.5 \n0.5 0.40625 -0.5 \n0.5 0.46875 -0.5 \n0.5 -0.5 0.03125 \n0.5 -0.5 0.09375 \n0.5 -0.5 0.15625 \n0.5 -0.5 0.21875 \n0.5 -0.5 0.28125 \n0.5 -0.5 0.34375 \n0.5 -0.5 0.40625 \n0.5 -0.5 0.46875 \n0.5 0.5 0.46875 \n0.46875 0.5 0.5 \n0.5 0.5 0.40625 \n0.40625 0.5 0.5 \n0.5 0.5 0.34375 \n0.5 0.5 0.28125 \n0.34375 0.5 0.5 \n0.28125 0.5 0.5 \n0.5 0.5 0.21875 \n0.5 0.5 0.15625 \n0.5 0.5 0.09375 \n0.5 0.5 0.03125 \n0.21875 0.5 0.5 \n0.15625 0.5 0.5 \n0.09375 0.5 0.5 \n0.03125 0.5 0.5 \n0.5 0.5 -0.03125 \n0.5 0.5 -0.09375 \n0.5 0.5 -0.15625 \n0.5 0.5 -0.21875 \n0.5 0.5 -0.28125 \n0.5 0.5 -0.34375 \n0.5 0.5 -0.40625 \n0.5 0.5 -0.46875 \n0.46875 0.5 -0.46875 \n0.40625 0.5 -0.40625 \n0.34375 0.5 -0.34375 \n0.28125 0.5 -0.28125 \n0.21875 0.5 -0.21875 \n0.15625 0.5 -0.15625 \n0.09375 0.5 -0.09375 \n0.03125 0.5 -0.03125 \n-0.03125 0.5 0.5 \n-0.09375 0.5 0.5 \n-0.15625 0.5 0.5 \n-0.21875 0.5 0.5 \n-0.03125 0.5 0.03125 \n-0.09375 0.5 0.09375 \n-0.15625 0.5 0.15625 \n-0.21875 0.5 0.21875 \n-0.28125 0.5 0.5 \n-0.34375 0.5 0.5 \n-0.28125 0.5 0.28125 \n-0.34375 0.5 0.34375 \n-0.40625 0.5 0.5 \n-0.40625 0.5 0.40625 \n-0.46875 0.5 0.46875 \n-0.46875 0.5 0.5 \n-0.5 0.5 -0.46875 \n-0.46875 0.5 -0.5 \n-0.5 0.5 -0.40625 \n-0.40625 0.5 -0.5 \n-0.5 0.5 -0.34375 \n-0.5 0.5 -0.28125 \n-0.34375 0.5 -0.5 \n-0.28125 0.5 -0.5 \n-0.5 0.5 -0.21875 \n-0.5 0.5 -0.15625 \n-0.5 0.5 -0.09375 \n-0.5 0.5 -0.03125 \n-0.21875 0.5 -0.5 \n-0.15625 0.5 -0.5 \n-0.09375 0.5 -0.5 \n-0.03125 0.5 -0.5 \n-0.5 0.5 0.03125 \n-0.5 0.5 0.09375 \n-0.5 0.5 0.15625 \n-0.5 0.5 0.21875 \n-0.5 0.5 0.28125 \n-0.5 0.5 0.34375 \n-0.5 0.5 0.40625 \n-0.5 0.5 0.46875 \n0.03125 0.5 -0.5 \n0.09375 0.5 -0.5 \n0.15625 0.5 -0.5 \n0.21875 0.5 -0.5 \n0.28125 0.5 -0.5 \n0.34375 0.5 -0.5 \n0.40625 0.5 -0.5 \n0.46875 0.5 -0.5 \n-0.5 -0.46875 -0.5 \n-0.46875 -0.5 -0.5 \n-0.5 -0.40625 -0.5 \n-0.40625 -0.5 -0.5 \n-0.5 -0.34375 -0.5 \n-0.5 -0.28125 -0.5 \n-0.34375 -0.5 -0.5 \n-0.28125 -0.5 -0.5 \n-0.5 -0.21875 -0.5 \n-0.5 -0.15625 -0.5 \n-0.5 -0.09375 -0.5 \n-0.5 -0.03125 -0.5 \n-0.21875 -0.5 -0.5 \n-0.15625 -0.5 -0.5 \n-0.09375 -0.5 -0.5 \n-0.03125 -0.5 -0.5 \n-0.5 0.03125 -0.5 \n-0.5 0.09375 -0.5 \n-0.5 0.15625 -0.5 \n-0.5 0.21875 -0.5 \n-0.5 0.28125 -0.5 \n-0.5 0.34375 -0.5 \n-0.5 0.40625 -0.5 \n-0.5 0.46875 -0.5 \n-0.46875 0.46875 -0.5 \n-0.40625 0.40625 -0.5 \n-0.34375 0.34375 -0.5 \n-0.28125 0.28125 -0.5 \n-0.21875 0.21875 -0.5 \n-0.15625 0.15625 -0.5 \n-0.09375 0.09375 -0.5 \n-0.03125 0.03125 -0.5 \n0.03125 -0.5 -0.5 \n0.09375 -0.5 -0.5 \n0.15625 -0.5 -0.5 \n0.21875 -0.5 -0.5 \n0.03125 -0.03125 -0.5 \n0.09375 -0.09375 -0.5 \n0.15625 -0.15625 -0.5 \n0.21875 -0.21875 -0.5 \n0.28125 -0.5 -0.5 \n0.34375 -0.5 -0.5 \n0.28125 -0.28125 -0.5 \n0.34375 -0.34375 -0.5 \n0.40625 -0.5 -0.5 \n0.40625 -0.40625 -0.5 \n0.46875 -0.46875 -0.5 \n0.46875 -0.5 -0.5 \n0.5 0.46875 -0.5 \n0.46875 0.5 -0.5 \n0.5 0.40625 -0.5 \n0.40625 0.5 -0.5 \n0.5 0.34375 -0.5 \n0.5 0.28125 -0.5 \n0.34375 0.5 -0.5 \n0.28125 0.5 -0.5 \n0.5 0.21875 -0.5 \n0.5 0.15625 -0.5 \n0.5 0.09375 -0.5 \n0.5 0.03125 -0.5 \n0.21875 0.5 -0.5 \n0.15625 0.5 -0.5 \n0.09375 0.5 -0.5 \n0.03125 0.5 -0.5 \n0.5 -0.03125 -0.5 \n0.5 -0.09375 -0.5 \n0.5 -0.15625 -0.5 \n0.5 -0.21875 -0.5 \n0.5 -0.28125 -0.5 \n0.5 -0.34375 -0.5 \n0.5 -0.40625 -0.5 \n0.5 -0.46875 -0.5 \n-0.03125 0.5 -0.5 \n-0.09375 0.5 -0.5 \n-0.15625 0.5 -0.5 \n-0.21875 0.5 -0.5 \n-0.28125 0.5 -0.5 \n-0.34375 0.5 -0.5 \n-0.40625 0.5 -0.5 \n-0.46875 0.5 -0.5 \n-0.46875 -0.5 -0.5 \n-0.5 -0.5 -0.46875 \n-0.40625 -0.5 -0.5 \n-0.5 -0.5 -0.40625 \n-0.34375 -0.5 -0.5 \n-0.28125 -0.5 -0.5 \n-0.5 -0.5 -0.34375 \n-0.5 -0.5 -0.28125 \n-0.21875 -0.5 -0.5 \n-0.15625 -0.5 -0.5 \n-0.09375 -0.5 -0.5 \n-0.03125 -0.5 -0.5 \n-0.5 -0.5 -0.21875 \n-0.5 -0.5 -0.15625 \n-0.5 -0.5 -0.09375 \n-0.5 -0.5 -0.03125 \n0.03125 -0.5 -0.5 \n0.09375 -0.5 -0.5 \n0.15625 -0.5 -0.5 \n0.21875 -0.5 -0.5 \n0.28125 -0.5 -0.5 \n0.34375 -0.5 -0.5 \n0.40625 -0.5 -0.5 \n0.46875 -0.5 -0.5 \n0.46875 -0.5 -0.46875 \n0.40625 -0.5 -0.40625 \n0.34375 -0.5 -0.34375 \n0.28125 -0.5 -0.28125 \n0.21875 -0.5 -0.21875 \n0.15625 -0.5 -0.15625 \n0.09375 -0.5 -0.09375 \n0.03125 -0.5 -0.03125 \n-0.5 -0.5 0.03125 \n-0.5 -0.5 0.09375 \n-0.5 -0.5 0.15625 \n-0.5 -0.5 0.21875 \n-0.03125 -0.5 0.03125 \n-0.09375 -0.5 0.09375 \n-0.15625 -0.5 0.15625 \n-0.21875 -0.5 0.21875 \n-0.5 -0.5 0.28125 \n-0.5 -0.5 0.34375 \n-0.28125 -0.5 0.28125 \n-0.34375 -0.5 0.34375 \n-0.5 -0.5 0.40625 \n-0.40625 -0.5 0.40625 \n-0.46875 -0.5 0.46875 \n-0.5 -0.5 0.46875 \n0.46875 -0.5 0.5 \n0.5 -0.5 0.46875 \n0.40625 -0.5 0.5 \n0.5 -0.5 0.40625 \n0.34375 -0.5 0.5 \n0.28125 -0.5 0.5 \n0.5 -0.5 0.34375 \n0.5 -0.5 0.28125 \n0.21875 -0.5 0.5 \n0.15625 -0.5 0.5 \n0.09375 -0.5 0.5 \n0.03125 -0.5 0.5 \n0.5 -0.5 0.21875 \n0.5 -0.5 0.15625 \n0.5 -0.5 0.09375 \n0.5 -0.5 0.03125 \n-0.03125 -0.5 0.5 \n-0.09375 -0.5 0.5 \n-0.15625 -0.5 0.5 \n-0.21875 -0.5 0.5 \n-0.28125 -0.5 0.5 \n-0.34375 -0.5 0.5 \n-0.40625 -0.5 0.5 \n-0.46875 -0.5 0.5 \n0.5 -0.5 -0.03125 \n0.5 -0.5 -0.09375 \n0.5 -0.5 -0.15625 \n0.5 -0.5 -0.21875 \n0.5 -0.5 -0.28125 \n0.5 -0.5 -0.34375 \n0.5 -0.5 -0.40625 \n0.5 -0.5 -0.46875 \n-0.5 -0.5 -0.46875 \n-0.5 -0.46875 -0.5 \n-0.5 -0.5 -0.40625 \n-0.5 -0.40625 -0.5 \n-0.5 -0.5 -0.34375 \n-0.5 -0.5 -0.28125 \n-0.5 -0.34375 -0.5 \n-0.5 -0.28125 -0.5 \n-0.5 -0.5 -0.21875 \n-0.5 -0.5 -0.15625 \n-0.5 -0.5 -0.09375 \n-0.5 -0.5 -0.03125 \n-0.5 -0.21875 -0.5 \n-0.5 -0.15625 -0.5 \n-0.5 -0.09375 -0.5 \n-0.5 -0.03125 -0.5 \n-0.5 -0.5 0.03125 \n-0.5 -0.5 0.09375 \n-0.5 -0.5 0.15625 \n-0.5 -0.5 0.21875 \n-0.5 -0.5 0.28125 \n-0.5 -0.5 0.34375 \n-0.5 -0.5 0.40625 \n-0.5 -0.5 0.46875 \n-0.5 -0.46875 0.46875 \n-0.5 -0.40625 0.40625 \n-0.5 -0.34375 0.34375 \n-0.5 -0.28125 0.28125 \n-0.5 -0.21875 0.21875 \n-0.5 -0.15625 0.15625 \n-0.5 -0.09375 0.09375 \n-0.5 -0.03125 0.03125 \n-0.5 0.03125 -0.5 \n-0.5 0.09375 -0.5 \n-0.5 0.15625 -0.5 \n-0.5 0.21875 -0.5 \n-0.5 0.03125 -0.03125 \n-0.5 0.09375 -0.09375 \n-0.5 0.15625 -0.15625 \n-0.5 0.21875 -0.21875 \n-0.5 0.28125 -0.5 \n-0.5 0.34375 -0.5 \n-0.5 0.28125 -0.28125 \n-0.5 0.34375 -0.34375 \n-0.5 0.40625 -0.5 \n-0.5 0.40625 -0.40625 \n-0.5 0.46875 -0.46875 \n-0.5 0.46875 -0.5 \n-0.5 0.5 0.46875 \n-0.5 0.46875 0.5 \n-0.5 0.5 0.40625 \n-0.5 0.40625 0.5 \n-0.5 0.5 0.34375 \n-0.5 0.5 0.28125 \n-0.5 0.34375 0.5 \n-0.5 0.28125 0.5 \n-0.5 0.5 0.21875 \n-0.5 0.5 0.15625 \n-0.5 0.5 0.09375 \n-0.5 0.5 0.03125 \n-0.5 0.21875 0.5 \n-0.5 0.15625 0.5 \n-0.5 0.09375 0.5 \n-0.5 0.03125 0.5 \n-0.5 0.5 -0.03125 \n-0.5 0.5 -0.09375 \n-0.5 0.5 -0.15625 \n-0.5 0.5 -0.21875 \n-0.5 0.5 -0.28125 \n-0.5 0.5 -0.34375 \n-0.5 0.5 -0.40625 \n-0.5 0.5 -0.46875 \n-0.5 -0.03125 0.5 \n-0.5 -0.09375 0.5 \n-0.5 -0.15625 0.5 \n-0.5 -0.21875 0.5 \n-0.5 -0.28125 0.5 \n-0.5 -0.34375 0.5 \n-0.5 -0.40625 0.5 \n-0.5 -0.46875 0.5 \n0.171875 0.171875 0.5 \n0.15625 0.171875 0.5 \n0.171875 0.15625 0.5 \n-0.171875 -0.171875 0.5 \n-0.15625 -0.171875 0.5 \n-0.171875 -0.15625 0.5 \n0.5 0.171875 0.171875 \n0.5 0.15625 0.171875 \n0.5 0.171875 0.15625 \n0.5 -0.171875 -0.171875 \n0.5 -0.15625 -0.171875 \n0.5 -0.171875 -0.15625 \n0.171875 0.5 0.171875 \n0.171875 0.5 0.15625 \n0.15625 0.5 0.171875 \n-0.171875 0.5 -0.171875 \n-0.171875 0.5 -0.15625 \n-0.15625 0.5 -0.171875 \n-0.171875 -0.171875 -0.5 \n-0.171875 -0.15625 -0.5 \n-0.15625 -0.171875 -0.5 \n0.171875 0.171875 -0.5 \n0.171875 0.15625 -0.5 \n0.15625 0.171875 -0.5 \n-0.171875 -0.5 -0.171875 \n-0.15625 -0.5 -0.171875 \n-0.171875 -0.5 -0.15625 \n0.171875 -0.5 0.171875 \n0.15625 -0.5 0.171875 \n0.171875 -0.5 0.15625 \n-0.5 -0.171875 -0.171875 \n-0.5 -0.171875 -0.15625 \n-0.5 -0.15625 -0.171875 \n-0.5 0.171875 0.171875 \n-0.5 0.171875 0.15625 \n-0.5 0.15625 0.171875 \n0.34375 0.328125 0.5 \n0.328125 0.34375 0.5 \n0.328125 0.328125 0.5 \n-0.15625 0.328125 0.5 \n-0.171875 0.34375 0.5 \n-0.171875 0.328125 0.5 \n0.34375 -0.171875 0.5 \n0.328125 -0.15625 0.5 \n0.328125 -0.171875 0.5 \n-0.34375 -0.328125 0.5 \n-0.328125 -0.34375 0.5 \n-0.328125 -0.328125 0.5 \n0.15625 -0.328125 0.5 \n0.171875 -0.34375 0.5 \n0.171875 -0.328125 0.5 \n-0.34375 0.171875 0.5 \n-0.328125 0.15625 0.5 \n-0.328125 0.171875 0.5 \n0.5 0.34375 0.328125 \n0.5 0.328125 0.34375 \n0.5 0.328125 0.328125 \n0.5 -0.15625 0.328125 \n0.5 -0.171875 0.34375 \n0.5 -0.171875 0.328125 \n0.5 0.34375 -0.171875 \n0.5 0.328125 -0.15625 \n0.5 0.328125 -0.171875 \n0.5 -0.34375 -0.328125 \n0.5 -0.328125 -0.34375 \n0.5 -0.328125 -0.328125 \n0.5 0.15625 -0.328125 \n0.5 0.171875 -0.34375 \n0.5 0.171875 -0.328125 \n0.5 -0.34375 0.171875 \n0.5 -0.328125 0.15625 \n0.5 -0.328125 0.171875 \n0.328125 0.5 0.34375 \n0.34375 0.5 0.328125 \n0.328125 0.5 0.328125 \n0.328125 0.5 -0.15625 \n0.34375 0.5 -0.171875 \n0.328125 0.5 -0.171875 \n-0.171875 0.5 0.34375 \n-0.15625 0.5 0.328125 \n-0.171875 0.5 0.328125 \n-0.328125 0.5 -0.34375 \n-0.34375 0.5 -0.328125 \n-0.328125 0.5 -0.328125 \n-0.328125 0.5 0.15625 \n-0.34375 0.5 0.171875 \n-0.328125 0.5 0.171875 \n0.171875 0.5 -0.34375 \n0.15625 0.5 -0.328125 \n0.171875 0.5 -0.328125 \n-0.328125 -0.34375 -0.5 \n-0.34375 -0.328125 -0.5 \n-0.328125 -0.328125 -0.5 \n-0.328125 0.15625 -0.5 \n-0.34375 0.171875 -0.5 \n-0.328125 0.171875 -0.5 \n0.171875 -0.34375 -0.5 \n0.15625 -0.328125 -0.5 \n0.171875 -0.328125 -0.5 \n0.328125 0.34375 -0.5 \n0.34375 0.328125 -0.5 \n0.328125 0.328125 -0.5 \n0.328125 -0.15625 -0.5 \n0.34375 -0.171875 -0.5 \n0.328125 -0.171875 -0.5 \n-0.171875 0.34375 -0.5 \n-0.15625 0.328125 -0.5 \n-0.171875 0.328125 -0.5 \n-0.34375 -0.5 -0.328125 \n-0.328125 -0.5 -0.34375 \n-0.328125 -0.5 -0.328125 \n0.15625 -0.5 -0.328125 \n0.171875 -0.5 -0.34375 \n0.171875 -0.5 -0.328125 \n-0.34375 -0.5 0.171875 \n-0.328125 -0.5 0.15625 \n-0.328125 -0.5 0.171875 \n0.34375 -0.5 0.328125 \n0.328125 -0.5 0.34375 \n0.328125 -0.5 0.328125 \n-0.15625 -0.5 0.328125 \n-0.171875 -0.5 0.34375 \n-0.171875 -0.5 0.328125 \n0.34375 -0.5 -0.171875 \n0.328125 -0.5 -0.15625 \n0.328125 -0.5 -0.171875 \n-0.5 -0.328125 -0.34375 \n-0.5 -0.34375 -0.328125 \n-0.5 -0.328125 -0.328125 \n-0.5 -0.328125 0.15625 \n-0.5 -0.34375 0.171875 \n-0.5 -0.328125 0.171875 \n-0.5 0.171875 -0.34375 \n-0.5 0.15625 -0.328125 \n-0.5 0.171875 -0.328125 \n-0.5 0.328125 0.34375 \n-0.5 0.34375 0.328125 \n-0.5 0.328125 0.328125 \n-0.5 0.328125 -0.15625 \n-0.5 0.34375 -0.171875 \n-0.5 0.328125 -0.171875 \n-0.5 -0.171875 0.34375 \n-0.5 -0.15625 0.328125 \n-0.5 -0.171875 0.328125 \n0.09375 0.328125 0.5 \n0.078125 0.34375 0.5 \n0.078125 0.328125 0.5 \n0.09375 0.078125 0.5 \n0.078125 0.09375 0.5 \n0.078125 0.078125 0.5 \n0.34375 0.078125 0.5 \n0.328125 0.09375 0.5 \n0.328125 0.078125 0.5 \n-0.09375 -0.328125 0.5 \n-0.078125 -0.34375 0.5 \n-0.078125 -0.328125 0.5 \n-0.09375 -0.078125 0.5 \n-0.078125 -0.09375 0.5 \n-0.078125 -0.078125 0.5 \n-0.34375 -0.078125 0.5 \n-0.328125 -0.09375 0.5 \n-0.328125 -0.078125 0.5 \n0.5 0.09375 0.328125 \n0.5 0.078125 0.34375 \n0.5 0.078125 0.328125 \n0.5 0.09375 0.078125 \n0.5 0.078125 0.09375 \n0.5 0.078125 0.078125 \n0.5 0.34375 0.078125 \n0.5 0.328125 0.09375 \n0.5 0.328125 0.078125 \n0.5 -0.09375 -0.328125 \n0.5 -0.078125 -0.34375 \n0.5 -0.078125 -0.328125 \n0.5 -0.09375 -0.078125 \n0.5 -0.078125 -0.09375 \n0.5 -0.078125 -0.078125 \n0.5 -0.34375 -0.078125 \n0.5 -0.328125 -0.09375 \n0.5 -0.328125 -0.078125 \n0.328125 0.5 0.09375 \n0.34375 0.5 0.078125 \n0.328125 0.5 0.078125 \n0.078125 0.5 0.09375 \n0.09375 0.5 0.078125 \n0.078125 0.5 0.078125 \n0.078125 0.5 0.34375 \n0.09375 0.5 0.328125 \n0.078125 0.5 0.328125 \n-0.328125 0.5 -0.09375 \n-0.34375 0.5 -0.078125 \n-0.328125 0.5 -0.078125 \n-0.078125 0.5 -0.09375 \n-0.09375 0.5 -0.078125 \n-0.078125 0.5 -0.078125 \n-0.078125 0.5 -0.34375 \n-0.09375 0.5 -0.328125 \n-0.078125 0.5 -0.328125 \n-0.328125 -0.09375 -0.5 \n-0.34375 -0.078125 -0.5 \n-0.328125 -0.078125 -0.5 \n-0.078125 -0.09375 -0.5 \n-0.09375 -0.078125 -0.5 \n-0.078125 -0.078125 -0.5 \n-0.078125 -0.34375 -0.5 \n-0.09375 -0.328125 -0.5 \n-0.078125 -0.328125 -0.5 \n0.328125 0.09375 -0.5 \n0.34375 0.078125 -0.5 \n0.328125 0.078125 -0.5 \n0.078125 0.09375 -0.5 \n0.09375 0.078125 -0.5 \n0.078125 0.078125 -0.5 \n0.078125 0.34375 -0.5 \n0.09375 0.328125 -0.5 \n0.078125 0.328125 -0.5 \n-0.09375 -0.5 -0.328125 \n-0.078125 -0.5 -0.34375 \n-0.078125 -0.5 -0.328125 \n-0.09375 -0.5 -0.078125 \n-0.078125 -0.5 -0.09375 \n-0.078125 -0.5 -0.078125 \n-0.34375 -0.5 -0.078125 \n-0.328125 -0.5 -0.09375 \n-0.328125 -0.5 -0.078125 \n0.09375 -0.5 0.328125 \n0.078125 -0.5 0.34375 \n0.078125 -0.5 0.328125 \n0.09375 -0.5 0.078125 \n0.078125 -0.5 0.09375 \n0.078125 -0.5 0.078125 \n0.34375 -0.5 0.078125 \n0.328125 -0.5 0.09375 \n0.328125 -0.5 0.078125 \n-0.5 -0.328125 -0.09375 \n-0.5 -0.34375 -0.078125 \n-0.5 -0.328125 -0.078125 \n-0.5 -0.078125 -0.09375 \n-0.5 -0.09375 -0.078125 \n-0.5 -0.078125 -0.078125 \n-0.5 -0.078125 -0.34375 \n-0.5 -0.09375 -0.328125 \n-0.5 -0.078125 -0.328125 \n-0.5 0.328125 0.09375 \n-0.5 0.34375 0.078125 \n-0.5 0.328125 0.078125 \n-0.5 0.078125 0.09375 \n-0.5 0.09375 0.078125 \n-0.5 0.078125 0.078125 \n-0.5 0.078125 0.34375 \n-0.5 0.09375 0.328125 \n-0.5 0.078125 0.328125 \n0.421875 0.40625 0.5 \n0.421875 0.421875 0.5 \n0.40625 0.421875 0.5 \n0.171875 0.40625 0.5 \n0.171875 0.421875 0.5 \n0.15625 0.421875 0.5 \n0.421875 0.15625 0.5 \n0.421875 0.171875 0.5 \n0.40625 0.171875 0.5 \n-0.078125 0.40625 0.5 \n-0.078125 0.421875 0.5 \n-0.09375 0.421875 0.5 \n-0.328125 0.40625 0.5 \n-0.328125 0.421875 0.5 \n-0.34375 0.421875 0.5 \n-0.078125 0.15625 0.5 \n-0.078125 0.171875 0.5 \n-0.09375 0.171875 0.5 \n0.421875 -0.09375 0.5 \n0.421875 -0.078125 0.5 \n0.40625 -0.078125 0.5 \n0.171875 -0.09375 0.5 \n0.171875 -0.078125 0.5 \n0.15625 -0.078125 0.5 \n0.421875 -0.34375 0.5 \n0.421875 -0.328125 0.5 \n0.40625 -0.328125 0.5 \n-0.421875 -0.40625 0.5 \n-0.421875 -0.421875 0.5 \n-0.40625 -0.421875 0.5 \n-0.171875 -0.40625 0.5 \n-0.171875 -0.421875 0.5 \n-0.15625 -0.421875 0.5 \n-0.421875 -0.15625 0.5 \n-0.421875 -0.171875 0.5 \n-0.40625 -0.171875 0.5 \n0.078125 -0.40625 0.5 \n0.078125 -0.421875 0.5 \n0.09375 -0.421875 0.5 \n0.328125 -0.40625 0.5 \n0.328125 -0.421875 0.5 \n0.34375 -0.421875 0.5 \n0.078125 -0.15625 0.5 \n0.078125 -0.171875 0.5 \n0.09375 -0.171875 0.5 \n-0.421875 0.09375 0.5 \n-0.421875 0.078125 0.5 \n-0.40625 0.078125 0.5 \n-0.171875 0.09375 0.5 \n-0.171875 0.078125 0.5 \n-0.15625 0.078125 0.5 \n-0.421875 0.34375 0.5 \n-0.421875 0.328125 0.5 \n-0.40625 0.328125 0.5 \n0.5 0.421875 0.40625 \n0.5 0.421875 0.421875 \n0.5 0.40625 0.421875 \n0.5 0.171875 0.40625 \n0.5 0.171875 0.421875 \n0.5 0.15625 0.421875 \n0.5 0.421875 0.15625 \n0.5 0.421875 0.171875 \n0.5 0.40625 0.171875 \n0.5 -0.078125 0.40625 \n0.5 -0.078125 0.421875 \n0.5 -0.09375 0.421875 \n0.5 -0.328125 0.40625 \n0.5 -0.328125 0.421875 \n0.5 -0.34375 0.421875 \n0.5 -0.078125 0.15625 \n0.5 -0.078125 0.171875 \n0.5 -0.09375 0.171875 \n0.5 0.421875 -0.09375 \n0.5 0.421875 -0.078125 \n0.5 0.40625 -0.078125 \n0.5 0.171875 -0.09375 \n0.5 0.171875 -0.078125 \n0.5 0.15625 -0.078125 \n0.5 0.421875 -0.34375 \n0.5 0.421875 -0.328125 \n0.5 0.40625 -0.328125 \n0.5 -0.421875 -0.40625 \n0.5 -0.421875 -0.421875 \n0.5 -0.40625 -0.421875 \n0.5 -0.171875 -0.40625 \n0.5 -0.171875 -0.421875 \n0.5 -0.15625 -0.421875 \n0.5 -0.421875 -0.15625 \n0.5 -0.421875 -0.171875 \n0.5 -0.40625 -0.171875 \n0.5 0.078125 -0.40625 \n0.5 0.078125 -0.421875 \n0.5 0.09375 -0.421875 \n0.5 0.328125 -0.40625 \n0.5 0.328125 -0.421875 \n0.5 0.34375 -0.421875 \n0.5 0.078125 -0.15625 \n0.5 0.078125 -0.171875 \n0.5 0.09375 -0.171875 \n0.5 -0.421875 0.09375 \n0.5 -0.421875 0.078125 \n0.5 -0.40625 0.078125 \n0.5 -0.171875 0.09375 \n0.5 -0.171875 0.078125 \n0.5 -0.15625 0.078125 \n0.5 -0.421875 0.34375 \n0.5 -0.421875 0.328125 \n0.5 -0.40625 0.328125 \n0.40625 0.5 0.421875 \n0.421875 0.5 0.421875 \n0.421875 0.5 0.40625 \n0.40625 0.5 0.171875 \n0.421875 0.5 0.171875 \n0.421875 0.5 0.15625 \n0.15625 0.5 0.421875 \n0.171875 0.5 0.421875 \n0.171875 0.5 0.40625 \n0.40625 0.5 -0.078125 \n0.421875 0.5 -0.078125 \n0.421875 0.5 -0.09375 \n0.40625 0.5 -0.328125 \n0.421875 0.5 -0.328125 \n0.421875 0.5 -0.34375 \n0.15625 0.5 -0.078125 \n0.171875 0.5 -0.078125 \n0.171875 0.5 -0.09375 \n-0.09375 0.5 0.421875 \n-0.078125 0.5 0.421875 \n-0.078125 0.5 0.40625 \n-0.09375 0.5 0.171875 \n-0.078125 0.5 0.171875 \n-0.078125 0.5 0.15625 \n-0.34375 0.5 0.421875 \n-0.328125 0.5 0.421875 \n-0.328125 0.5 0.40625 \n-0.40625 0.5 -0.421875 \n-0.421875 0.5 -0.421875 \n-0.421875 0.5 -0.40625 \n-0.40625 0.5 -0.171875 \n-0.421875 0.5 -0.171875 \n-0.421875 0.5 -0.15625 \n-0.15625 0.5 -0.421875 \n-0.171875 0.5 -0.421875 \n-0.171875 0.5 -0.40625 \n-0.40625 0.5 0.078125 \n-0.421875 0.5 0.078125 \n-0.421875 0.5 0.09375 \n-0.40625 0.5 0.328125 \n-0.421875 0.5 0.328125 \n-0.421875 0.5 0.34375 \n-0.15625 0.5 0.078125 \n-0.171875 0.5 0.078125 \n-0.171875 0.5 0.09375 \n0.09375 0.5 -0.421875 \n0.078125 0.5 -0.421875 \n0.078125 0.5 -0.40625 \n0.09375 0.5 -0.171875 \n0.078125 0.5 -0.171875 \n0.078125 0.5 -0.15625 \n0.34375 0.5 -0.421875 \n0.328125 0.5 -0.421875 \n0.328125 0.5 -0.40625 \n-0.40625 -0.421875 -0.5 \n-0.421875 -0.421875 -0.5 \n-0.421875 -0.40625 -0.5 \n-0.40625 -0.171875 -0.5 \n-0.421875 -0.171875 -0.5 \n-0.421875 -0.15625 -0.5 \n-0.15625 -0.421875 -0.5 \n-0.171875 -0.421875 -0.5 \n-0.171875 -0.40625 -0.5 \n-0.40625 0.078125 -0.5 \n-0.421875 0.078125 -0.5 \n-0.421875 0.09375 -0.5 \n-0.40625 0.328125 -0.5 \n-0.421875 0.328125 -0.5 \n-0.421875 0.34375 -0.5 \n-0.15625 0.078125 -0.5 \n-0.171875 0.078125 -0.5 \n-0.171875 0.09375 -0.5 \n0.09375 -0.421875 -0.5 \n0.078125 -0.421875 -0.5 \n0.078125 -0.40625 -0.5 \n0.09375 -0.171875 -0.5 \n0.078125 -0.171875 -0.5 \n0.078125 -0.15625 -0.5 \n0.34375 -0.421875 -0.5 \n0.328125 -0.421875 -0.5 \n0.328125 -0.40625 -0.5 \n0.40625 0.421875 -0.5 \n0.421875 0.421875 -0.5 \n0.421875 0.40625 -0.5 \n0.40625 0.171875 -0.5 \n0.421875 0.171875 -0.5 \n0.421875 0.15625 -0.5 \n0.15625 0.421875 -0.5 \n0.171875 0.421875 -0.5 \n0.171875 0.40625 -0.5 \n0.40625 -0.078125 -0.5 \n0.421875 -0.078125 -0.5 \n0.421875 -0.09375 -0.5 \n0.40625 -0.328125 -0.5 \n0.421875 -0.328125 -0.5 \n0.421875 -0.34375 -0.5 \n0.15625 -0.078125 -0.5 \n0.171875 -0.078125 -0.5 \n0.171875 -0.09375 -0.5 \n-0.09375 0.421875 -0.5 \n-0.078125 0.421875 -0.5 \n-0.078125 0.40625 -0.5 \n-0.09375 0.171875 -0.5 \n-0.078125 0.171875 -0.5 \n-0.078125 0.15625 -0.5 \n-0.34375 0.421875 -0.5 \n-0.328125 0.421875 -0.5 \n-0.328125 0.40625 -0.5 \n-0.421875 -0.5 -0.40625 \n-0.421875 -0.5 -0.421875 \n-0.40625 -0.5 -0.421875 \n-0.171875 -0.5 -0.40625 \n-0.171875 -0.5 -0.421875 \n-0.15625 -0.5 -0.421875 \n-0.421875 -0.5 -0.15625 \n-0.421875 -0.5 -0.171875 \n-0.40625 -0.5 -0.171875 \n0.078125 -0.5 -0.40625 \n0.078125 -0.5 -0.421875 \n0.09375 -0.5 -0.421875 \n0.328125 -0.5 -0.40625 \n0.328125 -0.5 -0.421875 \n0.34375 -0.5 -0.421875 \n0.078125 -0.5 -0.15625 \n0.078125 -0.5 -0.171875 \n0.09375 -0.5 -0.171875 \n-0.421875 -0.5 0.09375 \n-0.421875 -0.5 0.078125 \n-0.40625 -0.5 0.078125 \n-0.171875 -0.5 0.09375 \n-0.171875 -0.5 0.078125 \n-0.15625 -0.5 0.078125 \n-0.421875 -0.5 0.34375 \n-0.421875 -0.5 0.328125 \n-0.40625 -0.5 0.328125 \n0.421875 -0.5 0.40625 \n0.421875 -0.5 0.421875 \n0.40625 -0.5 0.421875 \n0.171875 -0.5 0.40625 \n0.171875 -0.5 0.421875 \n0.15625 -0.5 0.421875 \n0.421875 -0.5 0.15625 \n0.421875 -0.5 0.171875 \n0.40625 -0.5 0.171875 \n-0.078125 -0.5 0.40625 \n-0.078125 -0.5 0.421875 \n-0.09375 -0.5 0.421875 \n-0.328125 -0.5 0.40625 \n-0.328125 -0.5 0.421875 \n-0.34375 -0.5 0.421875 \n-0.078125 -0.5 0.15625 \n-0.078125 -0.5 0.171875 \n-0.09375 -0.5 0.171875 \n0.421875 -0.5 -0.09375 \n0.421875 -0.5 -0.078125 \n0.40625 -0.5 -0.078125 \n0.171875 -0.5 -0.09375 \n0.171875 -0.5 -0.078125 \n0.15625 -0.5 -0.078125 \n0.421875 -0.5 -0.34375 \n0.421875 -0.5 -0.328125 \n0.40625 -0.5 -0.328125 \n-0.5 -0.40625 -0.421875 \n-0.5 -0.421875 -0.421875 \n-0.5 -0.421875 -0.40625 \n-0.5 -0.40625 -0.171875 \n-0.5 -0.421875 -0.171875 \n-0.5 -0.421875 -0.15625 \n-0.5 -0.15625 -0.421875 \n-0.5 -0.171875 -0.421875 \n-0.5 -0.171875 -0.40625 \n-0.5 -0.40625 0.078125 \n-0.5 -0.421875 0.078125 \n-0.5 -0.421875 0.09375 \n-0.5 -0.40625 0.328125 \n-0.5 -0.421875 0.328125 \n-0.5 -0.421875 0.34375 \n-0.5 -0.15625 0.078125 \n-0.5 -0.171875 0.078125 \n-0.5 -0.171875 0.09375 \n-0.5 0.09375 -0.421875 \n-0.5 0.078125 -0.421875 \n-0.5 0.078125 -0.40625 \n-0.5 0.09375 -0.171875 \n-0.5 0.078125 -0.171875 \n-0.5 0.078125 -0.15625 \n-0.5 0.34375 -0.421875 \n-0.5 0.328125 -0.421875 \n-0.5 0.328125 -0.40625 \n-0.5 0.40625 0.421875 \n-0.5 0.421875 0.421875 \n-0.5 0.421875 0.40625 \n-0.5 0.40625 0.171875 \n-0.5 0.421875 0.171875 \n-0.5 0.421875 0.15625 \n-0.5 0.15625 0.421875 \n-0.5 0.171875 0.421875 \n-0.5 0.171875 0.40625 \n-0.5 0.40625 -0.078125 \n-0.5 0.421875 -0.078125 \n-0.5 0.421875 -0.09375 \n-0.5 0.40625 -0.328125 \n-0.5 0.421875 -0.328125 \n-0.5 0.421875 -0.34375 \n-0.5 0.15625 -0.078125 \n-0.5 0.171875 -0.078125 \n-0.5 0.171875 -0.09375 \n-0.5 -0.09375 0.421875 \n-0.5 -0.078125 0.421875 \n-0.5 -0.078125 0.40625 \n-0.5 -0.09375 0.171875 \n-0.5 -0.078125 0.171875 \n-0.5 -0.078125 0.15625 \n-0.5 -0.34375 0.421875 \n-0.5 -0.328125 0.421875 \n-0.5 -0.328125 0.40625 \n0.09375 0.203125 0.5 \n0.078125 0.21875 0.5 \n0.078125 0.203125 0.5 \n0.21875 0.078125 0.5 \n0.203125 0.09375 0.5 \n0.203125 0.078125 0.5 \n0.21875 0.203125 0.5 \n0.203125 0.21875 0.5 \n0.203125 0.203125 0.5 \n-0.09375 -0.203125 0.5 \n-0.078125 -0.21875 0.5 \n-0.078125 -0.203125 0.5 \n-0.21875 -0.078125 0.5 \n-0.203125 -0.09375 0.5 \n-0.203125 -0.078125 0.5 \n-0.21875 -0.203125 0.5 \n-0.203125 -0.21875 0.5 \n-0.203125 -0.203125 0.5 \n0.5 0.09375 0.203125 \n0.5 0.078125 0.21875 \n0.5 0.078125 0.203125 \n0.5 0.21875 0.078125 \n0.5 0.203125 0.09375 \n0.5 0.203125 0.078125 \n0.5 0.21875 0.203125 \n0.5 0.203125 0.21875 \n0.5 0.203125 0.203125 \n0.5 -0.09375 -0.203125 \n0.5 -0.078125 -0.21875 \n0.5 -0.078125 -0.203125 \n0.5 -0.21875 -0.078125 \n0.5 -0.203125 -0.09375 \n0.5 -0.203125 -0.078125 \n0.5 -0.21875 -0.203125 \n0.5 -0.203125 -0.21875 \n0.5 -0.203125 -0.203125 \n0.203125 0.5 0.09375 \n0.21875 0.5 0.078125 \n0.203125 0.5 0.078125 \n0.078125 0.5 0.21875 \n0.09375 0.5 0.203125 \n0.078125 0.5 0.203125 \n0.203125 0.5 0.21875 \n0.21875 0.5 0.203125 \n0.203125 0.5 0.203125 \n-0.203125 0.5 -0.09375 \n-0.21875 0.5 -0.078125 \n-0.203125 0.5 -0.078125 \n-0.078125 0.5 -0.21875 \n-0.09375 0.5 -0.203125 \n-0.078125 0.5 -0.203125 \n-0.203125 0.5 -0.21875 \n-0.21875 0.5 -0.203125 \n-0.203125 0.5 -0.203125 \n-0.203125 -0.09375 -0.5 \n-0.21875 -0.078125 -0.5 \n-0.203125 -0.078125 -0.5 \n-0.078125 -0.21875 -0.5 \n-0.09375 -0.203125 -0.5 \n-0.078125 -0.203125 -0.5 \n-0.203125 -0.21875 -0.5 \n-0.21875 -0.203125 -0.5 \n-0.203125 -0.203125 -0.5 \n0.203125 0.09375 -0.5 \n0.21875 0.078125 -0.5 \n0.203125 0.078125 -0.5 \n0.078125 0.21875 -0.5 \n0.09375 0.203125 -0.5 \n0.078125 0.203125 -0.5 \n0.203125 0.21875 -0.5 \n0.21875 0.203125 -0.5 \n0.203125 0.203125 -0.5 \n-0.09375 -0.5 -0.203125 \n-0.078125 -0.5 -0.21875 \n-0.078125 -0.5 -0.203125 \n-0.21875 -0.5 -0.078125 \n-0.203125 -0.5 -0.09375 \n-0.203125 -0.5 -0.078125 \n-0.21875 -0.5 -0.203125 \n-0.203125 -0.5 -0.21875 \n-0.203125 -0.5 -0.203125 \n0.09375 -0.5 0.203125 \n0.078125 -0.5 0.21875 \n0.078125 -0.5 0.203125 \n0.21875 -0.5 0.078125 \n0.203125 -0.5 0.09375 \n0.203125 -0.5 0.078125 \n0.21875 -0.5 0.203125 \n0.203125 -0.5 0.21875 \n0.203125 -0.5 0.203125 \n-0.5 -0.203125 -0.09375 \n-0.5 -0.21875 -0.078125 \n-0.5 -0.203125 -0.078125 \n-0.5 -0.078125 -0.21875 \n-0.5 -0.09375 -0.203125 \n-0.5 -0.078125 -0.203125 \n-0.5 -0.203125 -0.21875 \n-0.5 -0.21875 -0.203125 \n-0.5 -0.203125 -0.203125 \n-0.5 0.203125 0.09375 \n-0.5 0.21875 0.078125 \n-0.5 0.203125 0.078125 \n-0.5 0.078125 0.21875 \n-0.5 0.09375 0.203125 \n-0.5 0.078125 0.203125 \n-0.5 0.203125 0.21875 \n-0.5 0.21875 0.203125 \n-0.5 0.203125 0.203125 \n0.296875 0.40625 0.5 \n0.296875 0.421875 0.5 \n0.28125 0.421875 0.5 \n0.296875 0.28125 0.5 \n0.296875 0.296875 0.5 \n0.28125 0.296875 0.5 \n0.421875 0.28125 0.5 \n0.421875 0.296875 0.5 \n0.40625 0.296875 0.5 \n-0.203125 0.40625 0.5 \n-0.203125 0.421875 0.5 \n-0.21875 0.421875 0.5 \n-0.203125 0.28125 0.5 \n-0.203125 0.296875 0.5 \n-0.21875 0.296875 0.5 \n-0.078125 0.28125 0.5 \n-0.078125 0.296875 0.5 \n-0.09375 0.296875 0.5 \n0.296875 -0.09375 0.5 \n0.296875 -0.078125 0.5 \n0.28125 -0.078125 0.5 \n0.296875 -0.21875 0.5 \n0.296875 -0.203125 0.5 \n0.28125 -0.203125 0.5 \n0.421875 -0.21875 0.5 \n0.421875 -0.203125 0.5 \n0.40625 -0.203125 0.5 \n-0.296875 -0.40625 0.5 \n-0.296875 -0.421875 0.5 \n-0.28125 -0.421875 0.5 \n-0.296875 -0.28125 0.5 \n-0.296875 -0.296875 0.5 \n-0.28125 -0.296875 0.5 \n-0.421875 -0.28125 0.5 \n-0.421875 -0.296875 0.5 \n-0.40625 -0.296875 0.5 \n0.203125 -0.40625 0.5 \n0.203125 -0.421875 0.5 \n0.21875 -0.421875 0.5 \n0.203125 -0.28125 0.5 \n0.203125 -0.296875 0.5 \n0.21875 -0.296875 0.5 \n0.078125 -0.28125 0.5 \n0.078125 -0.296875 0.5 \n0.09375 -0.296875 0.5 \n-0.296875 0.09375 0.5 \n-0.296875 0.078125 0.5 \n-0.28125 0.078125 0.5 \n-0.296875 0.21875 0.5 \n-0.296875 0.203125 0.5 \n-0.28125 0.203125 0.5 \n-0.421875 0.21875 0.5 \n-0.421875 0.203125 0.5 \n-0.40625 0.203125 0.5 \n0.5 0.296875 0.40625 \n0.5 0.296875 0.421875 \n0.5 0.28125 0.421875 \n0.5 0.296875 0.28125 \n0.5 0.296875 0.296875 \n0.5 0.28125 0.296875 \n0.5 0.421875 0.28125 \n0.5 0.421875 0.296875 \n0.5 0.40625 0.296875 \n0.5 -0.203125 0.40625 \n0.5 -0.203125 0.421875 \n0.5 -0.21875 0.421875 \n0.5 -0.203125 0.28125 \n0.5 -0.203125 0.296875 \n0.5 -0.21875 0.296875 \n0.5 -0.078125 0.28125 \n0.5 -0.078125 0.296875 \n0.5 -0.09375 0.296875 \n0.5 0.296875 -0.09375 \n0.5 0.296875 -0.078125 \n0.5 0.28125 -0.078125 \n0.5 0.296875 -0.21875 \n0.5 0.296875 -0.203125 \n0.5 0.28125 -0.203125 \n0.5 0.421875 -0.21875 \n0.5 0.421875 -0.203125 \n0.5 0.40625 -0.203125 \n0.5 -0.296875 -0.40625 \n0.5 -0.296875 -0.421875 \n0.5 -0.28125 -0.421875 \n0.5 -0.296875 -0.28125 \n0.5 -0.296875 -0.296875 \n0.5 -0.28125 -0.296875 \n0.5 -0.421875 -0.28125 \n0.5 -0.421875 -0.296875 \n0.5 -0.40625 -0.296875 \n0.5 0.203125 -0.40625 \n0.5 0.203125 -0.421875 \n0.5 0.21875 -0.421875 \n0.5 0.203125 -0.28125 \n0.5 0.203125 -0.296875 \n0.5 0.21875 -0.296875 \n0.5 0.078125 -0.28125 \n0.5 0.078125 -0.296875 \n0.5 0.09375 -0.296875 \n0.5 -0.296875 0.09375 \n0.5 -0.296875 0.078125 \n0.5 -0.28125 0.078125 \n0.5 -0.296875 0.21875 \n0.5 -0.296875 0.203125 \n0.5 -0.28125 0.203125 \n0.5 -0.421875 0.21875 \n0.5 -0.421875 0.203125 \n0.5 -0.40625 0.203125 \n0.40625 0.5 0.296875 \n0.421875 0.5 0.296875 \n0.421875 0.5 0.28125 \n0.28125 0.5 0.296875 \n0.296875 0.5 0.296875 \n0.296875 0.5 0.28125 \n0.28125 0.5 0.421875 \n0.296875 0.5 0.421875 \n0.296875 0.5 0.40625 \n0.40625 0.5 -0.203125 \n0.421875 0.5 -0.203125 \n0.421875 0.5 -0.21875 \n0.28125 0.5 -0.203125 \n0.296875 0.5 -0.203125 \n0.296875 0.5 -0.21875 \n0.28125 0.5 -0.078125 \n0.296875 0.5 -0.078125 \n0.296875 0.5 -0.09375 \n-0.09375 0.5 0.296875 \n-0.078125 0.5 0.296875 \n-0.078125 0.5 0.28125 \n-0.21875 0.5 0.296875 \n-0.203125 0.5 0.296875 \n-0.203125 0.5 0.28125 \n-0.21875 0.5 0.421875 \n-0.203125 0.5 0.421875 \n-0.203125 0.5 0.40625 \n-0.40625 0.5 -0.296875 \n-0.421875 0.5 -0.296875 \n-0.421875 0.5 -0.28125 \n-0.28125 0.5 -0.296875 \n-0.296875 0.5 -0.296875 \n-0.296875 0.5 -0.28125 \n-0.28125 0.5 -0.421875 \n-0.296875 0.5 -0.421875 \n-0.296875 0.5 -0.40625 \n-0.40625 0.5 0.203125 \n-0.421875 0.5 0.203125 \n-0.421875 0.5 0.21875 \n-0.28125 0.5 0.203125 \n-0.296875 0.5 0.203125 \n-0.296875 0.5 0.21875 \n-0.28125 0.5 0.078125 \n-0.296875 0.5 0.078125 \n-0.296875 0.5 0.09375 \n0.09375 0.5 -0.296875 \n0.078125 0.5 -0.296875 \n0.078125 0.5 -0.28125 \n0.21875 0.5 -0.296875 \n0.203125 0.5 -0.296875 \n0.203125 0.5 -0.28125 \n0.21875 0.5 -0.421875 \n0.203125 0.5 -0.421875 \n0.203125 0.5 -0.40625 \n-0.40625 -0.296875 -0.5 \n-0.421875 -0.296875 -0.5 \n-0.421875 -0.28125 -0.5 \n-0.28125 -0.296875 -0.5 \n-0.296875 -0.296875 -0.5 \n-0.296875 -0.28125 -0.5 \n-0.28125 -0.421875 -0.5 \n-0.296875 -0.421875 -0.5 \n-0.296875 -0.40625 -0.5 \n-0.40625 0.203125 -0.5 \n-0.421875 0.203125 -0.5 \n-0.421875 0.21875 -0.5 \n-0.28125 0.203125 -0.5 \n-0.296875 0.203125 -0.5 \n-0.296875 0.21875 -0.5 \n-0.28125 0.078125 -0.5 \n-0.296875 0.078125 -0.5 \n-0.296875 0.09375 -0.5 \n0.09375 -0.296875 -0.5 \n0.078125 -0.296875 -0.5 \n0.078125 -0.28125 -0.5 \n0.21875 -0.296875 -0.5 \n0.203125 -0.296875 -0.5 \n0.203125 -0.28125 -0.5 \n0.21875 -0.421875 -0.5 \n0.203125 -0.421875 -0.5 \n0.203125 -0.40625 -0.5 \n0.40625 0.296875 -0.5 \n0.421875 0.296875 -0.5 \n0.421875 0.28125 -0.5 \n0.28125 0.296875 -0.5 \n0.296875 0.296875 -0.5 \n0.296875 0.28125 -0.5 \n0.28125 0.421875 -0.5 \n0.296875 0.421875 -0.5 \n0.296875 0.40625 -0.5 \n0.40625 -0.203125 -0.5 \n0.421875 -0.203125 -0.5 \n0.421875 -0.21875 -0.5 \n0.28125 -0.203125 -0.5 \n0.296875 -0.203125 -0.5 \n0.296875 -0.21875 -0.5 \n0.28125 -0.078125 -0.5 \n0.296875 -0.078125 -0.5 \n0.296875 -0.09375 -0.5 \n-0.09375 0.296875 -0.5 \n-0.078125 0.296875 -0.5 \n-0.078125 0.28125 -0.5 \n-0.21875 0.296875 -0.5 \n-0.203125 0.296875 -0.5 \n-0.203125 0.28125 -0.5 \n-0.21875 0.421875 -0.5 \n-0.203125 0.421875 -0.5 \n-0.203125 0.40625 -0.5 \n-0.296875 -0.5 -0.40625 \n-0.296875 -0.5 -0.421875 \n-0.28125 -0.5 -0.421875 \n-0.296875 -0.5 -0.28125 \n-0.296875 -0.5 -0.296875 \n-0.28125 -0.5 -0.296875 \n-0.421875 -0.5 -0.28125 \n-0.421875 -0.5 -0.296875 \n-0.40625 -0.5 -0.296875 \n0.203125 -0.5 -0.40625 \n0.203125 -0.5 -0.421875 \n0.21875 -0.5 -0.421875 \n0.203125 -0.5 -0.28125 \n0.203125 -0.5 -0.296875 \n0.21875 -0.5 -0.296875 \n0.078125 -0.5 -0.28125 \n0.078125 -0.5 -0.296875 \n0.09375 -0.5 -0.296875 \n-0.296875 -0.5 0.09375 \n-0.296875 -0.5 0.078125 \n-0.28125 -0.5 0.078125 \n-0.296875 -0.5 0.21875 \n-0.296875 -0.5 0.203125 \n-0.28125 -0.5 0.203125 \n-0.421875 -0.5 0.21875 \n-0.421875 -0.5 0.203125 \n-0.40625 -0.5 0.203125 \n0.296875 -0.5 0.40625 \n0.296875 -0.5 0.421875 \n0.28125 -0.5 0.421875 \n0.296875 -0.5 0.28125 \n0.296875 -0.5 0.296875 \n0.28125 -0.5 0.296875 \n0.421875 -0.5 0.28125 \n0.421875 -0.5 0.296875 \n0.40625 -0.5 0.296875 \n-0.203125 -0.5 0.40625 \n-0.203125 -0.5 0.421875 \n-0.21875 -0.5 0.421875 \n-0.203125 -0.5 0.28125 \n-0.203125 -0.5 0.296875 \n-0.21875 -0.5 0.296875 \n-0.078125 -0.5 0.28125 \n-0.078125 -0.5 0.296875 \n-0.09375 -0.5 0.296875 \n0.296875 -0.5 -0.09375 \n0.296875 -0.5 -0.078125 \n0.28125 -0.5 -0.078125 \n0.296875 -0.5 -0.21875 \n0.296875 -0.5 -0.203125 \n0.28125 -0.5 -0.203125 \n0.421875 -0.5 -0.21875 \n0.421875 -0.5 -0.203125 \n0.40625 -0.5 -0.203125 \n-0.5 -0.40625 -0.296875 \n-0.5 -0.421875 -0.296875 \n-0.5 -0.421875 -0.28125 \n-0.5 -0.28125 -0.296875 \n-0.5 -0.296875 -0.296875 \n-0.5 -0.296875 -0.28125 \n-0.5 -0.28125 -0.421875 \n-0.5 -0.296875 -0.421875 \n-0.5 -0.296875 -0.40625 \n-0.5 -0.40625 0.203125 \n-0.5 -0.421875 0.203125 \n-0.5 -0.421875 0.21875 \n-0.5 -0.28125 0.203125 \n-0.5 -0.296875 0.203125 \n-0.5 -0.296875 0.21875 \n-0.5 -0.28125 0.078125 \n-0.5 -0.296875 0.078125 \n-0.5 -0.296875 0.09375 \n-0.5 0.09375 -0.296875 \n-0.5 0.078125 -0.296875 \n-0.5 0.078125 -0.28125 \n-0.5 0.21875 -0.296875 \n-0.5 0.203125 -0.296875 \n-0.5 0.203125 -0.28125 \n-0.5 0.21875 -0.421875 \n-0.5 0.203125 -0.421875 \n-0.5 0.203125 -0.40625 \n-0.5 0.40625 0.296875 \n-0.5 0.421875 0.296875 \n-0.5 0.421875 0.28125 \n-0.5 0.28125 0.296875 \n-0.5 0.296875 0.296875 \n-0.5 0.296875 0.28125 \n-0.5 0.28125 0.421875 \n-0.5 0.296875 0.421875 \n-0.5 0.296875 0.40625 \n-0.5 0.40625 -0.203125 \n-0.5 0.421875 -0.203125 \n-0.5 0.421875 -0.21875 \n-0.5 0.28125 -0.203125 \n-0.5 0.296875 -0.203125 \n-0.5 0.296875 -0.21875 \n-0.5 0.28125 -0.078125 \n-0.5 0.296875 -0.078125 \n-0.5 0.296875 -0.09375 \n-0.5 -0.09375 0.296875 \n-0.5 -0.078125 0.296875 \n-0.5 -0.078125 0.28125 \n-0.5 -0.21875 0.296875 \n-0.5 -0.203125 0.296875 \n-0.5 -0.203125 0.28125 \n-0.5 -0.21875 0.421875 \n-0.5 -0.203125 0.421875 \n-0.5 -0.203125 0.40625 \n0.046875 0.40625 0.5 \n0.046875 0.421875 0.5 \n0.03125 0.421875 0.5 \n0.046875 0.28125 0.5 \n0.046875 0.296875 0.5 \n0.03125 0.296875 0.5 \n0.171875 0.28125 0.5 \n0.171875 0.296875 0.5 \n0.15625 0.296875 0.5 \n0.046875 0.15625 0.5 \n0.046875 0.171875 0.5 \n0.03125 0.171875 0.5 \n0.046875 0.03125 0.5 \n0.046875 0.046875 0.5 \n0.03125 0.046875 0.5 \n0.171875 0.03125 0.5 \n0.171875 0.046875 0.5 \n0.15625 0.046875 0.5 \n0.296875 0.15625 0.5 \n0.296875 0.171875 0.5 \n0.28125 0.171875 0.5 \n0.296875 0.03125 0.5 \n0.296875 0.046875 0.5 \n0.28125 0.046875 0.5 \n0.421875 0.03125 0.5 \n0.421875 0.046875 0.5 \n0.40625 0.046875 0.5 \n-0.046875 -0.40625 0.5 \n-0.046875 -0.421875 0.5 \n-0.03125 -0.421875 0.5 \n-0.046875 -0.28125 0.5 \n-0.046875 -0.296875 0.5 \n-0.03125 -0.296875 0.5 \n-0.171875 -0.28125 0.5 \n-0.171875 -0.296875 0.5 \n-0.15625 -0.296875 0.5 \n-0.046875 -0.15625 0.5 \n-0.046875 -0.171875 0.5 \n-0.03125 -0.171875 0.5 \n-0.046875 -0.03125 0.5 \n-0.046875 -0.046875 0.5 \n-0.03125 -0.046875 0.5 \n-0.171875 -0.03125 0.5 \n-0.171875 -0.046875 0.5 \n-0.15625 -0.046875 0.5 \n-0.296875 -0.15625 0.5 \n-0.296875 -0.171875 0.5 \n-0.28125 -0.171875 0.5 \n-0.296875 -0.03125 0.5 \n-0.296875 -0.046875 0.5 \n-0.28125 -0.046875 0.5 \n-0.421875 -0.03125 0.5 \n-0.421875 -0.046875 0.5 \n-0.40625 -0.046875 0.5 \n0.5 0.046875 0.40625 \n0.5 0.046875 0.421875 \n0.5 0.03125 0.421875 \n0.5 0.046875 0.28125 \n0.5 0.046875 0.296875 \n0.5 0.03125 0.296875 \n0.5 0.171875 0.28125 \n0.5 0.171875 0.296875 \n0.5 0.15625 0.296875 \n0.5 0.046875 0.15625 \n0.5 0.046875 0.171875 \n0.5 0.03125 0.171875 \n0.5 0.046875 0.03125 \n0.5 0.046875 0.046875 \n0.5 0.03125 0.046875 \n0.5 0.171875 0.03125 \n0.5 0.171875 0.046875 \n0.5 0.15625 0.046875 \n0.5 0.296875 0.15625 \n0.5 0.296875 0.171875 \n0.5 0.28125 0.171875 \n0.5 0.296875 0.03125 \n0.5 0.296875 0.046875 \n0.5 0.28125 0.046875 \n0.5 0.421875 0.03125 \n0.5 0.421875 0.046875 \n0.5 0.40625 0.046875 \n0.5 -0.046875 -0.40625 \n0.5 -0.046875 -0.421875 \n0.5 -0.03125 -0.421875 \n0.5 -0.046875 -0.28125 \n0.5 -0.046875 -0.296875 \n0.5 -0.03125 -0.296875 \n0.5 -0.171875 -0.28125 \n0.5 -0.171875 -0.296875 \n0.5 -0.15625 -0.296875 \n0.5 -0.046875 -0.15625 \n0.5 -0.046875 -0.171875 \n0.5 -0.03125 -0.171875 \n0.5 -0.046875 -0.03125 \n0.5 -0.046875 -0.046875 \n0.5 -0.03125 -0.046875 \n0.5 -0.171875 -0.03125 \n0.5 -0.171875 -0.046875 \n0.5 -0.15625 -0.046875 \n0.5 -0.296875 -0.15625 \n0.5 -0.296875 -0.171875 \n0.5 -0.28125 -0.171875 \n0.5 -0.296875 -0.03125 \n0.5 -0.296875 -0.046875 \n0.5 -0.28125 -0.046875 \n0.5 -0.421875 -0.03125 \n0.5 -0.421875 -0.046875 \n0.5 -0.40625 -0.046875 \n0.40625 0.5 0.046875 \n0.421875 0.5 0.046875 \n0.421875 0.5 0.03125 \n0.28125 0.5 0.046875 \n0.296875 0.5 0.046875 \n0.296875 0.5 0.03125 \n0.28125 0.5 0.171875 \n0.296875 0.5 0.171875 \n0.296875 0.5 0.15625 \n0.15625 0.5 0.046875 \n0.171875 0.5 0.046875 \n0.171875 0.5 0.03125 \n0.03125 0.5 0.046875 \n0.046875 0.5 0.046875 \n0.046875 0.5 0.03125 \n0.03125 0.5 0.171875 \n0.046875 0.5 0.171875 \n0.046875 0.5 0.15625 \n0.15625 0.5 0.296875 \n0.171875 0.5 0.296875 \n0.171875 0.5 0.28125 \n0.03125 0.5 0.296875 \n0.046875 0.5 0.296875 \n0.046875 0.5 0.28125 \n0.03125 0.5 0.421875 \n0.046875 0.5 0.421875 \n0.046875 0.5 0.40625 \n-0.40625 0.5 -0.046875 \n-0.421875 0.5 -0.046875 \n-0.421875 0.5 -0.03125 \n-0.28125 0.5 -0.046875 \n-0.296875 0.5 -0.046875 \n-0.296875 0.5 -0.03125 \n-0.28125 0.5 -0.171875 \n-0.296875 0.5 -0.171875 \n-0.296875 0.5 -0.15625 \n-0.15625 0.5 -0.046875 \n-0.171875 0.5 -0.046875 \n-0.171875 0.5 -0.03125 \n-0.03125 0.5 -0.046875 \n-0.046875 0.5 -0.046875 \n-0.046875 0.5 -0.03125 \n-0.03125 0.5 -0.171875 \n-0.046875 0.5 -0.171875 \n-0.046875 0.5 -0.15625 \n-0.15625 0.5 -0.296875 \n-0.171875 0.5 -0.296875 \n-0.171875 0.5 -0.28125 \n-0.03125 0.5 -0.296875 \n-0.046875 0.5 -0.296875 \n-0.046875 0.5 -0.28125 \n-0.03125 0.5 -0.421875 \n-0.046875 0.5 -0.421875 \n-0.046875 0.5 -0.40625 \n-0.40625 -0.046875 -0.5 \n-0.421875 -0.046875 -0.5 \n-0.421875 -0.03125 -0.5 \n-0.28125 -0.046875 -0.5 \n-0.296875 -0.046875 -0.5 \n-0.296875 -0.03125 -0.5 \n-0.28125 -0.171875 -0.5 \n-0.296875 -0.171875 -0.5 \n-0.296875 -0.15625 -0.5 \n-0.15625 -0.046875 -0.5 \n-0.171875 -0.046875 -0.5 \n-0.171875 -0.03125 -0.5 \n-0.03125 -0.046875 -0.5 \n-0.046875 -0.046875 -0.5 \n-0.046875 -0.03125 -0.5 \n-0.03125 -0.171875 -0.5 \n-0.046875 -0.171875 -0.5 \n-0.046875 -0.15625 -0.5 \n-0.15625 -0.296875 -0.5 \n-0.171875 -0.296875 -0.5 \n-0.171875 -0.28125 -0.5 \n-0.03125 -0.296875 -0.5 \n-0.046875 -0.296875 -0.5 \n-0.046875 -0.28125 -0.5 \n-0.03125 -0.421875 -0.5 \n-0.046875 -0.421875 -0.5 \n-0.046875 -0.40625 -0.5 \n0.40625 0.046875 -0.5 \n0.421875 0.046875 -0.5 \n0.421875 0.03125 -0.5 \n0.28125 0.046875 -0.5 \n0.296875 0.046875 -0.5 \n0.296875 0.03125 -0.5 \n0.28125 0.171875 -0.5 \n0.296875 0.171875 -0.5 \n0.296875 0.15625 -0.5 \n0.15625 0.046875 -0.5 \n0.171875 0.046875 -0.5 \n0.171875 0.03125 -0.5 \n0.03125 0.046875 -0.5 \n0.046875 0.046875 -0.5 \n0.046875 0.03125 -0.5 \n0.03125 0.171875 -0.5 \n0.046875 0.171875 -0.5 \n0.046875 0.15625 -0.5 \n0.15625 0.296875 -0.5 \n0.171875 0.296875 -0.5 \n0.171875 0.28125 -0.5 \n0.03125 0.296875 -0.5 \n0.046875 0.296875 -0.5 \n0.046875 0.28125 -0.5 \n0.03125 0.421875 -0.5 \n0.046875 0.421875 -0.5 \n0.046875 0.40625 -0.5 \n-0.046875 -0.5 -0.40625 \n-0.046875 -0.5 -0.421875 \n-0.03125 -0.5 -0.421875 \n-0.046875 -0.5 -0.28125 \n-0.046875 -0.5 -0.296875 \n-0.03125 -0.5 -0.296875 \n-0.171875 -0.5 -0.28125 \n-0.171875 -0.5 -0.296875 \n-0.15625 -0.5 -0.296875 \n-0.046875 -0.5 -0.15625 \n-0.046875 -0.5 -0.171875 \n-0.03125 -0.5 -0.171875 \n-0.046875 -0.5 -0.03125 \n-0.046875 -0.5 -0.046875 \n-0.03125 -0.5 -0.046875 \n-0.171875 -0.5 -0.03125 \n-0.171875 -0.5 -0.046875 \n-0.15625 -0.5 -0.046875 \n-0.296875 -0.5 -0.15625 \n-0.296875 -0.5 -0.171875 \n-0.28125 -0.5 -0.171875 \n-0.296875 -0.5 -0.03125 \n-0.296875 -0.5 -0.046875 \n-0.28125 -0.5 -0.046875 \n-0.421875 -0.5 -0.03125 \n-0.421875 -0.5 -0.046875 \n-0.40625 -0.5 -0.046875 \n0.046875 -0.5 0.40625 \n0.046875 -0.5 0.421875 \n0.03125 -0.5 0.421875 \n0.046875 -0.5 0.28125 \n0.046875 -0.5 0.296875 \n0.03125 -0.5 0.296875 \n0.171875 -0.5 0.28125 \n0.171875 -0.5 0.296875 \n0.15625 -0.5 0.296875 \n0.046875 -0.5 0.15625 \n0.046875 -0.5 0.171875 \n0.03125 -0.5 0.171875 \n0.046875 -0.5 0.03125 \n0.046875 -0.5 0.046875 \n0.03125 -0.5 0.046875 \n0.171875 -0.5 0.03125 \n0.171875 -0.5 0.046875 \n0.15625 -0.5 0.046875 \n0.296875 -0.5 0.15625 \n0.296875 -0.5 0.171875 \n0.28125 -0.5 0.171875 \n0.296875 -0.5 0.03125 \n0.296875 -0.5 0.046875 \n0.28125 -0.5 0.046875 \n0.421875 -0.5 0.03125 \n0.421875 -0.5 0.046875 \n0.40625 -0.5 0.046875 \n-0.5 -0.40625 -0.046875 \n-0.5 -0.421875 -0.046875 \n-0.5 -0.421875 -0.03125 \n-0.5 -0.28125 -0.046875 \n-0.5 -0.296875 -0.046875 \n-0.5 -0.296875 -0.03125 \n-0.5 -0.28125 -0.171875 \n-0.5 -0.296875 -0.171875 \n-0.5 -0.296875 -0.15625 \n-0.5 -0.15625 -0.046875 \n-0.5 -0.171875 -0.046875 \n-0.5 -0.171875 -0.03125 \n-0.5 -0.03125 -0.046875 \n-0.5 -0.046875 -0.046875 \n-0.5 -0.046875 -0.03125 \n-0.5 -0.03125 -0.171875 \n-0.5 -0.046875 -0.171875 \n-0.5 -0.046875 -0.15625 \n-0.5 -0.15625 -0.296875 \n-0.5 -0.171875 -0.296875 \n-0.5 -0.171875 -0.28125 \n-0.5 -0.03125 -0.296875 \n-0.5 -0.046875 -0.296875 \n-0.5 -0.046875 -0.28125 \n-0.5 -0.03125 -0.421875 \n-0.5 -0.046875 -0.421875 \n-0.5 -0.046875 -0.40625 \n-0.5 0.40625 0.046875 \n-0.5 0.421875 0.046875 \n-0.5 0.421875 0.03125 \n-0.5 0.28125 0.046875 \n-0.5 0.296875 0.046875 \n-0.5 0.296875 0.03125 \n-0.5 0.28125 0.171875 \n-0.5 0.296875 0.171875 \n-0.5 0.296875 0.15625 \n-0.5 0.15625 0.046875 \n-0.5 0.171875 0.046875 \n-0.5 0.171875 0.03125 \n-0.5 0.03125 0.046875 \n-0.5 0.046875 0.046875 \n-0.5 0.046875 0.03125 \n-0.5 0.03125 0.171875 \n-0.5 0.046875 0.171875 \n-0.5 0.046875 0.15625 \n-0.5 0.15625 0.296875 \n-0.5 0.171875 0.296875 \n-0.5 0.171875 0.28125 \n-0.5 0.03125 0.296875 \n-0.5 0.046875 0.296875 \n-0.5 0.046875 0.28125 \n-0.5 0.03125 0.421875 \n-0.5 0.046875 0.421875 \n-0.5 0.046875 0.40625 \n0.453125 0.453125 0.5 \n0.46875 0.453125 0.5 \n0.453125 0.46875 0.5 \n0.328125 0.453125 0.5 \n0.34375 0.453125 0.5 \n0.328125 0.46875 0.5 \n0.453125 0.328125 0.5 \n0.46875 0.328125 0.5 \n0.453125 0.34375 0.5 \n0.203125 0.453125 0.5 \n0.21875 0.453125 0.5 \n0.203125 0.46875 0.5 \n0.078125 0.453125 0.5 \n0.09375 0.453125 0.5 \n0.078125 0.46875 0.5 \n0.203125 0.328125 0.5 \n0.21875 0.328125 0.5 \n0.203125 0.34375 0.5 \n0.453125 0.203125 0.5 \n0.46875 0.203125 0.5 \n0.453125 0.21875 0.5 \n0.328125 0.203125 0.5 \n0.34375 0.203125 0.5 \n0.328125 0.21875 0.5 \n0.453125 0.078125 0.5 \n0.46875 0.078125 0.5 \n0.453125 0.09375 0.5 \n-0.046875 0.453125 0.5 \n-0.03125 0.453125 0.5 \n-0.046875 0.46875 0.5 \n-0.171875 0.453125 0.5 \n-0.15625 0.453125 0.5 \n-0.171875 0.46875 0.5 \n-0.046875 0.328125 0.5 \n-0.03125 0.328125 0.5 \n-0.046875 0.34375 0.5 \n-0.296875 0.453125 0.5 \n-0.28125 0.453125 0.5 \n-0.296875 0.46875 0.5 \n-0.421875 0.453125 0.5 \n-0.40625 0.453125 0.5 \n-0.421875 0.46875 0.5 \n-0.296875 0.328125 0.5 \n-0.28125 0.328125 0.5 \n-0.296875 0.34375 0.5 \n-0.046875 0.203125 0.5 \n-0.03125 0.203125 0.5 \n-0.046875 0.21875 0.5 \n-0.171875 0.203125 0.5 \n-0.15625 0.203125 0.5 \n-0.171875 0.21875 0.5 \n-0.046875 0.078125 0.5 \n-0.03125 0.078125 0.5 \n-0.046875 0.09375 0.5 \n0.453125 -0.046875 0.5 \n0.46875 -0.046875 0.5 \n0.453125 -0.03125 0.5 \n0.328125 -0.046875 0.5 \n0.34375 -0.046875 0.5 \n0.328125 -0.03125 0.5 \n0.453125 -0.171875 0.5 \n0.46875 -0.171875 0.5 \n0.453125 -0.15625 0.5 \n0.203125 -0.046875 0.5 \n0.21875 -0.046875 0.5 \n0.203125 -0.03125 0.5 \n0.078125 -0.046875 0.5 \n0.09375 -0.046875 0.5 \n0.078125 -0.03125 0.5 \n0.203125 -0.171875 0.5 \n0.21875 -0.171875 0.5 \n0.203125 -0.15625 0.5 \n0.453125 -0.296875 0.5 \n0.46875 -0.296875 0.5 \n0.453125 -0.28125 0.5 \n0.328125 -0.296875 0.5 \n0.34375 -0.296875 0.5 \n0.328125 -0.28125 0.5 \n0.453125 -0.421875 0.5 \n0.46875 -0.421875 0.5 \n0.453125 -0.40625 0.5 \n-0.453125 -0.453125 0.5 \n-0.46875 -0.453125 0.5 \n-0.453125 -0.46875 0.5 \n-0.328125 -0.453125 0.5 \n-0.34375 -0.453125 0.5 \n-0.328125 -0.46875 0.5 \n-0.453125 -0.328125 0.5 \n-0.46875 -0.328125 0.5 \n-0.453125 -0.34375 0.5 \n-0.203125 -0.453125 0.5 \n-0.21875 -0.453125 0.5 \n-0.203125 -0.46875 0.5 \n-0.078125 -0.453125 0.5 \n-0.09375 -0.453125 0.5 \n-0.078125 -0.46875 0.5 \n-0.203125 -0.328125 0.5 \n-0.21875 -0.328125 0.5 \n-0.203125 -0.34375 0.5 \n-0.453125 -0.203125 0.5 \n-0.46875 -0.203125 0.5 \n-0.453125 -0.21875 0.5 \n-0.328125 -0.203125 0.5 \n-0.34375 -0.203125 0.5 \n-0.328125 -0.21875 0.5 \n-0.453125 -0.078125 0.5 \n-0.46875 -0.078125 0.5 \n-0.453125 -0.09375 0.5 \n0.046875 -0.453125 0.5 \n0.03125 -0.453125 0.5 \n0.046875 -0.46875 0.5 \n0.171875 -0.453125 0.5 \n0.15625 -0.453125 0.5 \n0.171875 -0.46875 0.5 \n0.046875 -0.328125 0.5 \n0.03125 -0.328125 0.5 \n0.046875 -0.34375 0.5 \n0.296875 -0.453125 0.5 \n0.28125 -0.453125 0.5 \n0.296875 -0.46875 0.5 \n0.421875 -0.453125 0.5 \n0.40625 -0.453125 0.5 \n0.421875 -0.46875 0.5 \n0.296875 -0.328125 0.5 \n0.28125 -0.328125 0.5 \n0.296875 -0.34375 0.5 \n0.046875 -0.203125 0.5 \n0.03125 -0.203125 0.5 \n0.046875 -0.21875 0.5 \n0.171875 -0.203125 0.5 \n0.15625 -0.203125 0.5 \n0.171875 -0.21875 0.5 \n0.046875 -0.078125 0.5 \n0.03125 -0.078125 0.5 \n0.046875 -0.09375 0.5 \n-0.453125 0.046875 0.5 \n-0.46875 0.046875 0.5 \n-0.453125 0.03125 0.5 \n-0.328125 0.046875 0.5 \n-0.34375 0.046875 0.5 \n-0.328125 0.03125 0.5 \n-0.453125 0.171875 0.5 \n-0.46875 0.171875 0.5 \n-0.453125 0.15625 0.5 \n-0.203125 0.046875 0.5 \n-0.21875 0.046875 0.5 \n-0.203125 0.03125 0.5 \n-0.078125 0.046875 0.5 \n-0.09375 0.046875 0.5 \n-0.078125 0.03125 0.5 \n-0.203125 0.171875 0.5 \n-0.21875 0.171875 0.5 \n-0.203125 0.15625 0.5 \n-0.453125 0.296875 0.5 \n-0.46875 0.296875 0.5 \n-0.453125 0.28125 0.5 \n-0.328125 0.296875 0.5 \n-0.34375 0.296875 0.5 \n-0.328125 0.28125 0.5 \n-0.453125 0.421875 0.5 \n-0.46875 0.421875 0.5 \n-0.453125 0.40625 0.5 \n0.5 0.453125 0.453125 \n0.5 0.46875 0.453125 \n0.5 0.453125 0.46875 \n0.5 0.328125 0.453125 \n0.5 0.34375 0.453125 \n0.5 0.328125 0.46875 \n0.5 0.453125 0.328125 \n0.5 0.46875 0.328125 \n0.5 0.453125 0.34375 \n0.5 0.203125 0.453125 \n0.5 0.21875 0.453125 \n0.5 0.203125 0.46875 \n0.5 0.078125 0.453125 \n0.5 0.09375 0.453125 \n0.5 0.078125 0.46875 \n0.5 0.203125 0.328125 \n0.5 0.21875 0.328125 \n0.5 0.203125 0.34375 \n0.5 0.453125 0.203125 \n0.5 0.46875 0.203125 \n0.5 0.453125 0.21875 \n0.5 0.328125 0.203125 \n0.5 0.34375 0.203125 \n0.5 0.328125 0.21875 \n0.5 0.453125 0.078125 \n0.5 0.46875 0.078125 \n0.5 0.453125 0.09375 \n0.5 -0.046875 0.453125 \n0.5 -0.03125 0.453125 \n0.5 -0.046875 0.46875 \n0.5 -0.171875 0.453125 \n0.5 -0.15625 0.453125 \n0.5 -0.171875 0.46875 \n0.5 -0.046875 0.328125 \n0.5 -0.03125 0.328125 \n0.5 -0.046875 0.34375 \n0.5 -0.296875 0.453125 \n0.5 -0.28125 0.453125 \n0.5 -0.296875 0.46875 \n0.5 -0.421875 0.453125 \n0.5 -0.40625 0.453125 \n0.5 -0.421875 0.46875 \n0.5 -0.296875 0.328125 \n0.5 -0.28125 0.328125 \n0.5 -0.296875 0.34375 \n0.5 -0.046875 0.203125 \n0.5 -0.03125 0.203125 \n0.5 -0.046875 0.21875 \n0.5 -0.171875 0.203125 \n0.5 -0.15625 0.203125 \n0.5 -0.171875 0.21875 \n0.5 -0.046875 0.078125 \n0.5 -0.03125 0.078125 \n0.5 -0.046875 0.09375 \n0.5 0.453125 -0.046875 \n0.5 0.46875 -0.046875 \n0.5 0.453125 -0.03125 \n0.5 0.328125 -0.046875 \n0.5 0.34375 -0.046875 \n0.5 0.328125 -0.03125 \n0.5 0.453125 -0.171875 \n0.5 0.46875 -0.171875 \n0.5 0.453125 -0.15625 \n0.5 0.203125 -0.046875 \n0.5 0.21875 -0.046875 \n0.5 0.203125 -0.03125 \n0.5 0.078125 -0.046875 \n0.5 0.09375 -0.046875 \n0.5 0.078125 -0.03125 \n0.5 0.203125 -0.171875 \n0.5 0.21875 -0.171875 \n0.5 0.203125 -0.15625 \n0.5 0.453125 -0.296875 \n0.5 0.46875 -0.296875 \n0.5 0.453125 -0.28125 \n0.5 0.328125 -0.296875 \n0.5 0.34375 -0.296875 \n0.5 0.328125 -0.28125 \n0.5 0.453125 -0.421875 \n0.5 0.46875 -0.421875 \n0.5 0.453125 -0.40625 \n0.5 -0.453125 -0.453125 \n0.5 -0.46875 -0.453125 \n0.5 -0.453125 -0.46875 \n0.5 -0.328125 -0.453125 \n0.5 -0.34375 -0.453125 \n0.5 -0.328125 -0.46875 \n0.5 -0.453125 -0.328125 \n0.5 -0.46875 -0.328125 \n0.5 -0.453125 -0.34375 \n0.5 -0.203125 -0.453125 \n0.5 -0.21875 -0.453125 \n0.5 -0.203125 -0.46875 \n0.5 -0.078125 -0.453125 \n0.5 -0.09375 -0.453125 \n0.5 -0.078125 -0.46875 \n0.5 -0.203125 -0.328125 \n0.5 -0.21875 -0.328125 \n0.5 -0.203125 -0.34375 \n0.5 -0.453125 -0.203125 \n0.5 -0.46875 -0.203125 \n0.5 -0.453125 -0.21875 \n0.5 -0.328125 -0.203125 \n0.5 -0.34375 -0.203125 \n0.5 -0.328125 -0.21875 \n0.5 -0.453125 -0.078125 \n0.5 -0.46875 -0.078125 \n0.5 -0.453125 -0.09375 \n0.5 0.046875 -0.453125 \n0.5 0.03125 -0.453125 \n0.5 0.046875 -0.46875 \n0.5 0.171875 -0.453125 \n0.5 0.15625 -0.453125 \n0.5 0.171875 -0.46875 \n0.5 0.046875 -0.328125 \n0.5 0.03125 -0.328125 \n0.5 0.046875 -0.34375 \n0.5 0.296875 -0.453125 \n0.5 0.28125 -0.453125 \n0.5 0.296875 -0.46875 \n0.5 0.421875 -0.453125 \n0.5 0.40625 -0.453125 \n0.5 0.421875 -0.46875 \n0.5 0.296875 -0.328125 \n0.5 0.28125 -0.328125 \n0.5 0.296875 -0.34375 \n0.5 0.046875 -0.203125 \n0.5 0.03125 -0.203125 \n0.5 0.046875 -0.21875 \n0.5 0.171875 -0.203125 \n0.5 0.15625 -0.203125 \n0.5 0.171875 -0.21875 \n0.5 0.046875 -0.078125 \n0.5 0.03125 -0.078125 \n0.5 0.046875 -0.09375 \n0.5 -0.453125 0.046875 \n0.5 -0.46875 0.046875 \n0.5 -0.453125 0.03125 \n0.5 -0.328125 0.046875 \n0.5 -0.34375 0.046875 \n0.5 -0.328125 0.03125 \n0.5 -0.453125 0.171875 \n0.5 -0.46875 0.171875 \n0.5 -0.453125 0.15625 \n0.5 -0.203125 0.046875 \n0.5 -0.21875 0.046875 \n0.5 -0.203125 0.03125 \n0.5 -0.078125 0.046875 \n0.5 -0.09375 0.046875 \n0.5 -0.078125 0.03125 \n0.5 -0.203125 0.171875 \n0.5 -0.21875 0.171875 \n0.5 -0.203125 0.15625 \n0.5 -0.453125 0.296875 \n0.5 -0.46875 0.296875 \n0.5 -0.453125 0.28125 \n0.5 -0.328125 0.296875 \n0.5 -0.34375 0.296875 \n0.5 -0.328125 0.28125 \n0.5 -0.453125 0.421875 \n0.5 -0.46875 0.421875 \n0.5 -0.453125 0.40625 \n0.453125 0.5 0.453125 \n0.453125 0.5 0.46875 \n0.46875 0.5 0.453125 \n0.453125 0.5 0.328125 \n0.453125 0.5 0.34375 \n0.46875 0.5 0.328125 \n0.328125 0.5 0.453125 \n0.328125 0.5 0.46875 \n0.34375 0.5 0.453125 \n0.453125 0.5 0.203125 \n0.453125 0.5 0.21875 \n0.46875 0.5 0.203125 \n0.453125 0.5 0.078125 \n0.453125 0.5 0.09375 \n0.46875 0.5 0.078125 \n0.328125 0.5 0.203125 \n0.328125 0.5 0.21875 \n0.34375 0.5 0.203125 \n0.203125 0.5 0.453125 \n0.203125 0.5 0.46875 \n0.21875 0.5 0.453125 \n0.203125 0.5 0.328125 \n0.203125 0.5 0.34375 \n0.21875 0.5 0.328125 \n0.078125 0.5 0.453125 \n0.078125 0.5 0.46875 \n0.09375 0.5 0.453125 \n0.453125 0.5 -0.046875 \n0.453125 0.5 -0.03125 \n0.46875 0.5 -0.046875 \n0.453125 0.5 -0.171875 \n0.453125 0.5 -0.15625 \n0.46875 0.5 -0.171875 \n0.328125 0.5 -0.046875 \n0.328125 0.5 -0.03125 \n0.34375 0.5 -0.046875 \n0.453125 0.5 -0.296875 \n0.453125 0.5 -0.28125 \n0.46875 0.5 -0.296875 \n0.453125 0.5 -0.421875 \n0.453125 0.5 -0.40625 \n0.46875 0.5 -0.421875 \n0.328125 0.5 -0.296875 \n0.328125 0.5 -0.28125 \n0.34375 0.5 -0.296875 \n0.203125 0.5 -0.046875 \n0.203125 0.5 -0.03125 \n0.21875 0.5 -0.046875 \n0.203125 0.5 -0.171875 \n0.203125 0.5 -0.15625 \n0.21875 0.5 -0.171875 \n0.078125 0.5 -0.046875 \n0.078125 0.5 -0.03125 \n0.09375 0.5 -0.046875 \n-0.046875 0.5 0.453125 \n-0.046875 0.5 0.46875 \n-0.03125 0.5 0.453125 \n-0.046875 0.5 0.328125 \n-0.046875 0.5 0.34375 \n-0.03125 0.5 0.328125 \n-0.171875 0.5 0.453125 \n-0.171875 0.5 0.46875 \n-0.15625 0.5 0.453125 \n-0.046875 0.5 0.203125 \n-0.046875 0.5 0.21875 \n-0.03125 0.5 0.203125 \n-0.046875 0.5 0.078125 \n-0.046875 0.5 0.09375 \n-0.03125 0.5 0.078125 \n-0.171875 0.5 0.203125 \n-0.171875 0.5 0.21875 \n-0.15625 0.5 0.203125 \n-0.296875 0.5 0.453125 \n-0.296875 0.5 0.46875 \n-0.28125 0.5 0.453125 \n-0.296875 0.5 0.328125 \n-0.296875 0.5 0.34375 \n-0.28125 0.5 0.328125 \n-0.421875 0.5 0.453125 \n-0.421875 0.5 0.46875 \n-0.40625 0.5 0.453125 \n-0.453125 0.5 -0.453125 \n-0.453125 0.5 -0.46875 \n-0.46875 0.5 -0.453125 \n-0.453125 0.5 -0.328125 \n-0.453125 0.5 -0.34375 \n-0.46875 0.5 -0.328125 \n-0.328125 0.5 -0.453125 \n-0.328125 0.5 -0.46875 \n-0.34375 0.5 -0.453125 \n-0.453125 0.5 -0.203125 \n-0.453125 0.5 -0.21875 \n-0.46875 0.5 -0.203125 \n-0.453125 0.5 -0.078125 \n-0.453125 0.5 -0.09375 \n-0.46875 0.5 -0.078125 \n-0.328125 0.5 -0.203125 \n-0.328125 0.5 -0.21875 \n-0.34375 0.5 -0.203125 \n-0.203125 0.5 -0.453125 \n-0.203125 0.5 -0.46875 \n-0.21875 0.5 -0.453125 \n-0.203125 0.5 -0.328125 \n-0.203125 0.5 -0.34375 \n-0.21875 0.5 -0.328125 \n-0.078125 0.5 -0.453125 \n-0.078125 0.5 -0.46875 \n-0.09375 0.5 -0.453125 \n-0.453125 0.5 0.046875 \n-0.453125 0.5 0.03125 \n-0.46875 0.5 0.046875 \n-0.453125 0.5 0.171875 \n-0.453125 0.5 0.15625 \n-0.46875 0.5 0.171875 \n-0.328125 0.5 0.046875 \n-0.328125 0.5 0.03125 \n-0.34375 0.5 0.046875 \n-0.453125 0.5 0.296875 \n-0.453125 0.5 0.28125 \n-0.46875 0.5 0.296875 \n-0.453125 0.5 0.421875 \n-0.453125 0.5 0.40625 \n-0.46875 0.5 0.421875 \n-0.328125 0.5 0.296875 \n-0.328125 0.5 0.28125 \n-0.34375 0.5 0.296875 \n-0.203125 0.5 0.046875 \n-0.203125 0.5 0.03125 \n-0.21875 0.5 0.046875 \n-0.203125 0.5 0.171875 \n-0.203125 0.5 0.15625 \n-0.21875 0.5 0.171875 \n-0.078125 0.5 0.046875 \n-0.078125 0.5 0.03125 \n-0.09375 0.5 0.046875 \n0.046875 0.5 -0.453125 \n0.046875 0.5 -0.46875 \n0.03125 0.5 -0.453125 \n0.046875 0.5 -0.328125 \n0.046875 0.5 -0.34375 \n0.03125 0.5 -0.328125 \n0.171875 0.5 -0.453125 \n0.171875 0.5 -0.46875 \n0.15625 0.5 -0.453125 \n0.046875 0.5 -0.203125 \n0.046875 0.5 -0.21875 \n0.03125 0.5 -0.203125 \n0.046875 0.5 -0.078125 \n0.046875 0.5 -0.09375 \n0.03125 0.5 -0.078125 \n0.171875 0.5 -0.203125 \n0.171875 0.5 -0.21875 \n0.15625 0.5 -0.203125 \n0.296875 0.5 -0.453125 \n0.296875 0.5 -0.46875 \n0.28125 0.5 -0.453125 \n0.296875 0.5 -0.328125 \n0.296875 0.5 -0.34375 \n0.28125 0.5 -0.328125 \n0.421875 0.5 -0.453125 \n0.421875 0.5 -0.46875 \n0.40625 0.5 -0.453125 \n-0.453125 -0.453125 -0.5 \n-0.453125 -0.46875 -0.5 \n-0.46875 -0.453125 -0.5 \n-0.453125 -0.328125 -0.5 \n-0.453125 -0.34375 -0.5 \n-0.46875 -0.328125 -0.5 \n-0.328125 -0.453125 -0.5 \n-0.328125 -0.46875 -0.5 \n-0.34375 -0.453125 -0.5 \n-0.453125 -0.203125 -0.5 \n-0.453125 -0.21875 -0.5 \n-0.46875 -0.203125 -0.5 \n-0.453125 -0.078125 -0.5 \n-0.453125 -0.09375 -0.5 \n-0.46875 -0.078125 -0.5 \n-0.328125 -0.203125 -0.5 \n-0.328125 -0.21875 -0.5 \n-0.34375 -0.203125 -0.5 \n-0.203125 -0.453125 -0.5 \n-0.203125 -0.46875 -0.5 \n-0.21875 -0.453125 -0.5 \n-0.203125 -0.328125 -0.5 \n-0.203125 -0.34375 -0.5 \n-0.21875 -0.328125 -0.5 \n-0.078125 -0.453125 -0.5 \n-0.078125 -0.46875 -0.5 \n-0.09375 -0.453125 -0.5 \n-0.453125 0.046875 -0.5 \n-0.453125 0.03125 -0.5 \n-0.46875 0.046875 -0.5 \n-0.453125 0.171875 -0.5 \n-0.453125 0.15625 -0.5 \n-0.46875 0.171875 -0.5 \n-0.328125 0.046875 -0.5 \n-0.328125 0.03125 -0.5 \n-0.34375 0.046875 -0.5 \n-0.453125 0.296875 -0.5 \n-0.453125 0.28125 -0.5 \n-0.46875 0.296875 -0.5 \n-0.453125 0.421875 -0.5 \n-0.453125 0.40625 -0.5 \n-0.46875 0.421875 -0.5 \n-0.328125 0.296875 -0.5 \n-0.328125 0.28125 -0.5 \n-0.34375 0.296875 -0.5 \n-0.203125 0.046875 -0.5 \n-0.203125 0.03125 -0.5 \n-0.21875 0.046875 -0.5 \n-0.203125 0.171875 -0.5 \n-0.203125 0.15625 -0.5 \n-0.21875 0.171875 -0.5 \n-0.078125 0.046875 -0.5 \n-0.078125 0.03125 -0.5 \n-0.09375 0.046875 -0.5 \n0.046875 -0.453125 -0.5 \n0.046875 -0.46875 -0.5 \n0.03125 -0.453125 -0.5 \n0.046875 -0.328125 -0.5 \n0.046875 -0.34375 -0.5 \n0.03125 -0.328125 -0.5 \n0.171875 -0.453125 -0.5 \n0.171875 -0.46875 -0.5 \n0.15625 -0.453125 -0.5 \n0.046875 -0.203125 -0.5 \n0.046875 -0.21875 -0.5 \n0.03125 -0.203125 -0.5 \n0.046875 -0.078125 -0.5 \n0.046875 -0.09375 -0.5 \n0.03125 -0.078125 -0.5 \n0.171875 -0.203125 -0.5 \n0.171875 -0.21875 -0.5 \n0.15625 -0.203125 -0.5 \n0.296875 -0.453125 -0.5 \n0.296875 -0.46875 -0.5 \n0.28125 -0.453125 -0.5 \n0.296875 -0.328125 -0.5 \n0.296875 -0.34375 -0.5 \n0.28125 -0.328125 -0.5 \n0.421875 -0.453125 -0.5 \n0.421875 -0.46875 -0.5 \n0.40625 -0.453125 -0.5 \n0.453125 0.453125 -0.5 \n0.453125 0.46875 -0.5 \n0.46875 0.453125 -0.5 \n0.453125 0.328125 -0.5 \n0.453125 0.34375 -0.5 \n0.46875 0.328125 -0.5 \n0.328125 0.453125 -0.5 \n0.328125 0.46875 -0.5 \n0.34375 0.453125 -0.5 \n0.453125 0.203125 -0.5 \n0.453125 0.21875 -0.5 \n0.46875 0.203125 -0.5 \n0.453125 0.078125 -0.5 \n0.453125 0.09375 -0.5 \n0.46875 0.078125 -0.5 \n0.328125 0.203125 -0.5 \n0.328125 0.21875 -0.5 \n0.34375 0.203125 -0.5 \n0.203125 0.453125 -0.5 \n0.203125 0.46875 -0.5 \n0.21875 0.453125 -0.5 \n0.203125 0.328125 -0.5 \n0.203125 0.34375 -0.5 \n0.21875 0.328125 -0.5 \n0.078125 0.453125 -0.5 \n0.078125 0.46875 -0.5 \n0.09375 0.453125 -0.5 \n0.453125 -0.046875 -0.5 \n0.453125 -0.03125 -0.5 \n0.46875 -0.046875 -0.5 \n0.453125 -0.171875 -0.5 \n0.453125 -0.15625 -0.5 \n0.46875 -0.171875 -0.5 \n0.328125 -0.046875 -0.5 \n0.328125 -0.03125 -0.5 \n0.34375 -0.046875 -0.5 \n0.453125 -0.296875 -0.5 \n0.453125 -0.28125 -0.5 \n0.46875 -0.296875 -0.5 \n0.453125 -0.421875 -0.5 \n0.453125 -0.40625 -0.5 \n0.46875 -0.421875 -0.5 \n0.328125 -0.296875 -0.5 \n0.328125 -0.28125 -0.5 \n0.34375 -0.296875 -0.5 \n0.203125 -0.046875 -0.5 \n0.203125 -0.03125 -0.5 \n0.21875 -0.046875 -0.5 \n0.203125 -0.171875 -0.5 \n0.203125 -0.15625 -0.5 \n0.21875 -0.171875 -0.5 \n0.078125 -0.046875 -0.5 \n0.078125 -0.03125 -0.5 \n0.09375 -0.046875 -0.5 \n-0.046875 0.453125 -0.5 \n-0.046875 0.46875 -0.5 \n-0.03125 0.453125 -0.5 \n-0.046875 0.328125 -0.5 \n-0.046875 0.34375 -0.5 \n-0.03125 0.328125 -0.5 \n-0.171875 0.453125 -0.5 \n-0.171875 0.46875 -0.5 \n-0.15625 0.453125 -0.5 \n-0.046875 0.203125 -0.5 \n-0.046875 0.21875 -0.5 \n-0.03125 0.203125 -0.5 \n-0.046875 0.078125 -0.5 \n-0.046875 0.09375 -0.5 \n-0.03125 0.078125 -0.5 \n-0.171875 0.203125 -0.5 \n-0.171875 0.21875 -0.5 \n-0.15625 0.203125 -0.5 \n-0.296875 0.453125 -0.5 \n-0.296875 0.46875 -0.5 \n-0.28125 0.453125 -0.5 \n-0.296875 0.328125 -0.5 \n-0.296875 0.34375 -0.5 \n-0.28125 0.328125 -0.5 \n-0.421875 0.453125 -0.5 \n-0.421875 0.46875 -0.5 \n-0.40625 0.453125 -0.5 \n-0.453125 -0.5 -0.453125 \n-0.46875 -0.5 -0.453125 \n-0.453125 -0.5 -0.46875 \n-0.328125 -0.5 -0.453125 \n-0.34375 -0.5 -0.453125 \n-0.328125 -0.5 -0.46875 \n-0.453125 -0.5 -0.328125 \n-0.46875 -0.5 -0.328125 \n-0.453125 -0.5 -0.34375 \n-0.203125 -0.5 -0.453125 \n-0.21875 -0.5 -0.453125 \n-0.203125 -0.5 -0.46875 \n-0.078125 -0.5 -0.453125 \n-0.09375 -0.5 -0.453125 \n-0.078125 -0.5 -0.46875 \n-0.203125 -0.5 -0.328125 \n-0.21875 -0.5 -0.328125 \n-0.203125 -0.5 -0.34375 \n-0.453125 -0.5 -0.203125 \n-0.46875 -0.5 -0.203125 \n-0.453125 -0.5 -0.21875 \n-0.328125 -0.5 -0.203125 \n-0.34375 -0.5 -0.203125 \n-0.328125 -0.5 -0.21875 \n-0.453125 -0.5 -0.078125 \n-0.46875 -0.5 -0.078125 \n-0.453125 -0.5 -0.09375 \n0.046875 -0.5 -0.453125 \n0.03125 -0.5 -0.453125 \n0.046875 -0.5 -0.46875 \n0.171875 -0.5 -0.453125 \n0.15625 -0.5 -0.453125 \n0.171875 -0.5 -0.46875 \n0.046875 -0.5 -0.328125 \n0.03125 -0.5 -0.328125 \n0.046875 -0.5 -0.34375 \n0.296875 -0.5 -0.453125 \n0.28125 -0.5 -0.453125 \n0.296875 -0.5 -0.46875 \n0.421875 -0.5 -0.453125 \n0.40625 -0.5 -0.453125 \n0.421875 -0.5 -0.46875 \n0.296875 -0.5 -0.328125 \n0.28125 -0.5 -0.328125 \n0.296875 -0.5 -0.34375 \n0.046875 -0.5 -0.203125 \n0.03125 -0.5 -0.203125 \n0.046875 -0.5 -0.21875 \n0.171875 -0.5 -0.203125 \n0.15625 -0.5 -0.203125 \n0.171875 -0.5 -0.21875 \n0.046875 -0.5 -0.078125 \n0.03125 -0.5 -0.078125 \n0.046875 -0.5 -0.09375 \n-0.453125 -0.5 0.046875 \n-0.46875 -0.5 0.046875 \n-0.453125 -0.5 0.03125 \n-0.328125 -0.5 0.046875 \n-0.34375 -0.5 0.046875 \n-0.328125 -0.5 0.03125 \n-0.453125 -0.5 0.171875 \n-0.46875 -0.5 0.171875 \n-0.453125 -0.5 0.15625 \n-0.203125 -0.5 0.046875 \n-0.21875 -0.5 0.046875 \n-0.203125 -0.5 0.03125 \n-0.078125 -0.5 0.046875 \n-0.09375 -0.5 0.046875 \n-0.078125 -0.5 0.03125 \n-0.203125 -0.5 0.171875 \n-0.21875 -0.5 0.171875 \n-0.203125 -0.5 0.15625 \n-0.453125 -0.5 0.296875 \n-0.46875 -0.5 0.296875 \n-0.453125 -0.5 0.28125 \n-0.328125 -0.5 0.296875 \n-0.34375 -0.5 0.296875 \n-0.328125 -0.5 0.28125 \n-0.453125 -0.5 0.421875 \n-0.46875 -0.5 0.421875 \n-0.453125 -0.5 0.40625 \n0.453125 -0.5 0.453125 \n0.46875 -0.5 0.453125 \n0.453125 -0.5 0.46875 \n0.328125 -0.5 0.453125 \n0.34375 -0.5 0.453125 \n0.328125 -0.5 0.46875 \n0.453125 -0.5 0.328125 \n0.46875 -0.5 0.328125 \n0.453125 -0.5 0.34375 \n0.203125 -0.5 0.453125 \n0.21875 -0.5 0.453125 \n0.203125 -0.5 0.46875 \n0.078125 -0.5 0.453125 \n0.09375 -0.5 0.453125 \n0.078125 -0.5 0.46875 \n0.203125 -0.5 0.328125 \n0.21875 -0.5 0.328125 \n0.203125 -0.5 0.34375 \n0.453125 -0.5 0.203125 \n0.46875 -0.5 0.203125 \n0.453125 -0.5 0.21875 \n0.328125 -0.5 0.203125 \n0.34375 -0.5 0.203125 \n0.328125 -0.5 0.21875 \n0.453125 -0.5 0.078125 \n0.46875 -0.5 0.078125 \n0.453125 -0.5 0.09375 \n-0.046875 -0.5 0.453125 \n-0.03125 -0.5 0.453125 \n-0.046875 -0.5 0.46875 \n-0.171875 -0.5 0.453125 \n-0.15625 -0.5 0.453125 \n-0.171875 -0.5 0.46875 \n-0.046875 -0.5 0.328125 \n-0.03125 -0.5 0.328125 \n-0.046875 -0.5 0.34375 \n-0.296875 -0.5 0.453125 \n-0.28125 -0.5 0.453125 \n-0.296875 -0.5 0.46875 \n-0.421875 -0.5 0.453125 \n-0.40625 -0.5 0.453125 \n-0.421875 -0.5 0.46875 \n-0.296875 -0.5 0.328125 \n-0.28125 -0.5 0.328125 \n-0.296875 -0.5 0.34375 \n-0.046875 -0.5 0.203125 \n-0.03125 -0.5 0.203125 \n-0.046875 -0.5 0.21875 \n-0.171875 -0.5 0.203125 \n-0.15625 -0.5 0.203125 \n-0.171875 -0.5 0.21875 \n-0.046875 -0.5 0.078125 \n-0.03125 -0.5 0.078125 \n-0.046875 -0.5 0.09375 \n0.453125 -0.5 -0.046875 \n0.46875 -0.5 -0.046875 \n0.453125 -0.5 -0.03125 \n0.328125 -0.5 -0.046875 \n0.34375 -0.5 -0.046875 \n0.328125 -0.5 -0.03125 \n0.453125 -0.5 -0.171875 \n0.46875 -0.5 -0.171875 \n0.453125 -0.5 -0.15625 \n0.203125 -0.5 -0.046875 \n0.21875 -0.5 -0.046875 \n0.203125 -0.5 -0.03125 \n0.078125 -0.5 -0.046875 \n0.09375 -0.5 -0.046875 \n0.078125 -0.5 -0.03125 \n0.203125 -0.5 -0.171875 \n0.21875 -0.5 -0.171875 \n0.203125 -0.5 -0.15625 \n0.453125 -0.5 -0.296875 \n0.46875 -0.5 -0.296875 \n0.453125 -0.5 -0.28125 \n0.328125 -0.5 -0.296875 \n0.34375 -0.5 -0.296875 \n0.328125 -0.5 -0.28125 \n0.453125 -0.5 -0.421875 \n0.46875 -0.5 -0.421875 \n0.453125 -0.5 -0.40625 \n-0.5 -0.453125 -0.453125 \n-0.5 -0.453125 -0.46875 \n-0.5 -0.46875 -0.453125 \n-0.5 -0.453125 -0.328125 \n-0.5 -0.453125 -0.34375 \n-0.5 -0.46875 -0.328125 \n-0.5 -0.328125 -0.453125 \n-0.5 -0.328125 -0.46875 \n-0.5 -0.34375 -0.453125 \n-0.5 -0.453125 -0.203125 \n-0.5 -0.453125 -0.21875 \n-0.5 -0.46875 -0.203125 \n-0.5 -0.453125 -0.078125 \n-0.5 -0.453125 -0.09375 \n-0.5 -0.46875 -0.078125 \n-0.5 -0.328125 -0.203125 \n-0.5 -0.328125 -0.21875 \n-0.5 -0.34375 -0.203125 \n-0.5 -0.203125 -0.453125 \n-0.5 -0.203125 -0.46875 \n-0.5 -0.21875 -0.453125 \n-0.5 -0.203125 -0.328125 \n-0.5 -0.203125 -0.34375 \n-0.5 -0.21875 -0.328125 \n-0.5 -0.078125 -0.453125 \n-0.5 -0.078125 -0.46875 \n-0.5 -0.09375 -0.453125 \n-0.5 -0.453125 0.046875 \n-0.5 -0.453125 0.03125 \n-0.5 -0.46875 0.046875 \n-0.5 -0.453125 0.171875 \n-0.5 -0.453125 0.15625 \n-0.5 -0.46875 0.171875 \n-0.5 -0.328125 0.046875 \n-0.5 -0.328125 0.03125 \n-0.5 -0.34375 0.046875 \n-0.5 -0.453125 0.296875 \n-0.5 -0.453125 0.28125 \n-0.5 -0.46875 0.296875 \n-0.5 -0.453125 0.421875 \n-0.5 -0.453125 0.40625 \n-0.5 -0.46875 0.421875 \n-0.5 -0.328125 0.296875 \n-0.5 -0.328125 0.28125 \n-0.5 -0.34375 0.296875 \n-0.5 -0.203125 0.046875 \n-0.5 -0.203125 0.03125 \n-0.5 -0.21875 0.046875 \n-0.5 -0.203125 0.171875 \n-0.5 -0.203125 0.15625 \n-0.5 -0.21875 0.171875 \n-0.5 -0.078125 0.046875 \n-0.5 -0.078125 0.03125 \n-0.5 -0.09375 0.046875 \n-0.5 0.046875 -0.453125 \n-0.5 0.046875 -0.46875 \n-0.5 0.03125 -0.453125 \n-0.5 0.046875 -0.328125 \n-0.5 0.046875 -0.34375 \n-0.5 0.03125 -0.328125 \n-0.5 0.171875 -0.453125 \n-0.5 0.171875 -0.46875 \n-0.5 0.15625 -0.453125 \n-0.5 0.046875 -0.203125 \n-0.5 0.046875 -0.21875 \n-0.5 0.03125 -0.203125 \n-0.5 0.046875 -0.078125 \n-0.5 0.046875 -0.09375 \n-0.5 0.03125 -0.078125 \n-0.5 0.171875 -0.203125 \n-0.5 0.171875 -0.21875 \n-0.5 0.15625 -0.203125 \n-0.5 0.296875 -0.453125 \n-0.5 0.296875 -0.46875 \n-0.5 0.28125 -0.453125 \n-0.5 0.296875 -0.328125 \n-0.5 0.296875 -0.34375 \n-0.5 0.28125 -0.328125 \n-0.5 0.421875 -0.453125 \n-0.5 0.421875 -0.46875 \n-0.5 0.40625 -0.453125 \n-0.5 0.453125 0.453125 \n-0.5 0.453125 0.46875 \n-0.5 0.46875 0.453125 \n-0.5 0.453125 0.328125 \n-0.5 0.453125 0.34375 \n-0.5 0.46875 0.328125 \n-0.5 0.328125 0.453125 \n-0.5 0.328125 0.46875 \n-0.5 0.34375 0.453125 \n-0.5 0.453125 0.203125 \n-0.5 0.453125 0.21875 \n-0.5 0.46875 0.203125 \n-0.5 0.453125 0.078125 \n-0.5 0.453125 0.09375 \n-0.5 0.46875 0.078125 \n-0.5 0.328125 0.203125 \n-0.5 0.328125 0.21875 \n-0.5 0.34375 0.203125 \n-0.5 0.203125 0.453125 \n-0.5 0.203125 0.46875 \n-0.5 0.21875 0.453125 \n-0.5 0.203125 0.328125 \n-0.5 0.203125 0.34375 \n-0.5 0.21875 0.328125 \n-0.5 0.078125 0.453125 \n-0.5 0.078125 0.46875 \n-0.5 0.09375 0.453125 \n-0.5 0.453125 -0.046875 \n-0.5 0.453125 -0.03125 \n-0.5 0.46875 -0.046875 \n-0.5 0.453125 -0.171875 \n-0.5 0.453125 -0.15625 \n-0.5 0.46875 -0.171875 \n-0.5 0.328125 -0.046875 \n-0.5 0.328125 -0.03125 \n-0.5 0.34375 -0.046875 \n-0.5 0.453125 -0.296875 \n-0.5 0.453125 -0.28125 \n-0.5 0.46875 -0.296875 \n-0.5 0.453125 -0.421875 \n-0.5 0.453125 -0.40625 \n-0.5 0.46875 -0.421875 \n-0.5 0.328125 -0.296875 \n-0.5 0.328125 -0.28125 \n-0.5 0.34375 -0.296875 \n-0.5 0.203125 -0.046875 \n-0.5 0.203125 -0.03125 \n-0.5 0.21875 -0.046875 \n-0.5 0.203125 -0.171875 \n-0.5 0.203125 -0.15625 \n-0.5 0.21875 -0.171875 \n-0.5 0.078125 -0.046875 \n-0.5 0.078125 -0.03125 \n-0.5 0.09375 -0.046875 \n-0.5 -0.046875 0.453125 \n-0.5 -0.046875 0.46875 \n-0.5 -0.03125 0.453125 \n-0.5 -0.046875 0.328125 \n-0.5 -0.046875 0.34375 \n-0.5 -0.03125 0.328125 \n-0.5 -0.171875 0.453125 \n-0.5 -0.171875 0.46875 \n-0.5 -0.15625 0.453125 \n-0.5 -0.046875 0.203125 \n-0.5 -0.046875 0.21875 \n-0.5 -0.03125 0.203125 \n-0.5 -0.046875 0.078125 \n-0.5 -0.046875 0.09375 \n-0.5 -0.03125 0.078125 \n-0.5 -0.171875 0.203125 \n-0.5 -0.171875 0.21875 \n-0.5 -0.15625 0.203125 \n-0.5 -0.296875 0.453125 \n-0.5 -0.296875 0.46875 \n-0.5 -0.28125 0.453125 \n-0.5 -0.296875 0.328125 \n-0.5 -0.296875 0.34375 \n-0.5 -0.28125 0.328125 \n-0.5 -0.421875 0.453125 \n-0.5 -0.421875 0.46875 \n-0.5 -0.40625 0.453125 \n0.15625 0.140625 0.5 \n0.140625 0.15625 0.5 \n0.140625 0.140625 0.5 \n0.21875 0.140625 0.5 \n0.203125 0.15625 0.5 \n0.203125 0.140625 0.5 \n0.15625 0.203125 0.5 \n0.140625 0.21875 0.5 \n0.140625 0.203125 0.5 \n-0.15625 -0.140625 0.5 \n-0.140625 -0.15625 0.5 \n-0.140625 -0.140625 0.5 \n-0.21875 -0.140625 0.5 \n-0.203125 -0.15625 0.5 \n-0.203125 -0.140625 0.5 \n-0.15625 -0.203125 0.5 \n-0.140625 -0.21875 0.5 \n-0.140625 -0.203125 0.5 \n0.5 0.15625 0.140625 \n0.5 0.140625 0.15625 \n0.5 0.140625 0.140625 \n0.5 0.21875 0.140625 \n0.5 0.203125 0.15625 \n0.5 0.203125 0.140625 \n0.5 0.15625 0.203125 \n0.5 0.140625 0.21875 \n0.5 0.140625 0.203125 \n0.5 -0.15625 -0.140625 \n0.5 -0.140625 -0.15625 \n0.5 -0.140625 -0.140625 \n0.5 -0.21875 -0.140625 \n0.5 -0.203125 -0.15625 \n0.5 -0.203125 -0.140625 \n0.5 -0.15625 -0.203125 \n0.5 -0.140625 -0.21875 \n0.5 -0.140625 -0.203125 \n0.140625 0.5 0.15625 \n0.15625 0.5 0.140625 \n0.140625 0.5 0.140625 \n0.140625 0.5 0.21875 \n0.15625 0.5 0.203125 \n0.140625 0.5 0.203125 \n0.203125 0.5 0.15625 \n0.21875 0.5 0.140625 \n0.203125 0.5 0.140625 \n-0.140625 0.5 -0.15625 \n-0.15625 0.5 -0.140625 \n-0.140625 0.5 -0.140625 \n-0.140625 0.5 -0.21875 \n-0.15625 0.5 -0.203125 \n-0.140625 0.5 -0.203125 \n-0.203125 0.5 -0.15625 \n-0.21875 0.5 -0.140625 \n-0.203125 0.5 -0.140625 \n-0.140625 -0.15625 -0.5 \n-0.15625 -0.140625 -0.5 \n-0.140625 -0.140625 -0.5 \n-0.140625 -0.21875 -0.5 \n-0.15625 -0.203125 -0.5 \n-0.140625 -0.203125 -0.5 \n-0.203125 -0.15625 -0.5 \n-0.21875 -0.140625 -0.5 \n-0.203125 -0.140625 -0.5 \n0.140625 0.15625 -0.5 \n0.15625 0.140625 -0.5 \n0.140625 0.140625 -0.5 \n0.140625 0.21875 -0.5 \n0.15625 0.203125 -0.5 \n0.140625 0.203125 -0.5 \n0.203125 0.15625 -0.5 \n0.21875 0.140625 -0.5 \n0.203125 0.140625 -0.5 \n-0.15625 -0.5 -0.140625 \n-0.140625 -0.5 -0.15625 \n-0.140625 -0.5 -0.140625 \n-0.21875 -0.5 -0.140625 \n-0.203125 -0.5 -0.15625 \n-0.203125 -0.5 -0.140625 \n-0.15625 -0.5 -0.203125 \n-0.140625 -0.5 -0.21875 \n-0.140625 -0.5 -0.203125 \n0.15625 -0.5 0.140625 \n0.140625 -0.5 0.15625 \n0.140625 -0.5 0.140625 \n0.21875 -0.5 0.140625 \n0.203125 -0.5 0.15625 \n0.203125 -0.5 0.140625 \n0.15625 -0.5 0.203125 \n0.140625 -0.5 0.21875 \n0.140625 -0.5 0.203125 \n-0.5 -0.140625 -0.15625 \n-0.5 -0.15625 -0.140625 \n-0.5 -0.140625 -0.140625 \n-0.5 -0.140625 -0.21875 \n-0.5 -0.15625 -0.203125 \n-0.5 -0.140625 -0.203125 \n-0.5 -0.203125 -0.15625 \n-0.5 -0.21875 -0.140625 \n-0.5 -0.203125 -0.140625 \n-0.5 0.140625 0.15625 \n-0.5 0.15625 0.140625 \n-0.5 0.140625 0.140625 \n-0.5 0.140625 0.21875 \n-0.5 0.15625 0.203125 \n-0.5 0.140625 0.203125 \n-0.5 0.203125 0.15625 \n-0.5 0.21875 0.140625 \n-0.5 0.203125 0.140625 \n0.296875 0.34375 0.5 \n0.296875 0.359375 0.5 \n0.28125 0.359375 0.5 \n0.359375 0.28125 0.5 \n0.359375 0.296875 0.5 \n0.34375 0.296875 0.5 \n0.359375 0.34375 0.5 \n0.359375 0.359375 0.5 \n0.34375 0.359375 0.5 \n-0.203125 0.34375 0.5 \n-0.203125 0.359375 0.5 \n-0.21875 0.359375 0.5 \n-0.140625 0.28125 0.5 \n-0.140625 0.296875 0.5 \n-0.15625 0.296875 0.5 \n-0.140625 0.34375 0.5 \n-0.140625 0.359375 0.5 \n-0.15625 0.359375 0.5 \n0.296875 -0.15625 0.5 \n0.296875 -0.140625 0.5 \n0.28125 -0.140625 0.5 \n0.359375 -0.21875 0.5 \n0.359375 -0.203125 0.5 \n0.34375 -0.203125 0.5 \n0.359375 -0.15625 0.5 \n0.359375 -0.140625 0.5 \n0.34375 -0.140625 0.5 \n-0.296875 -0.34375 0.5 \n-0.296875 -0.359375 0.5 \n-0.28125 -0.359375 0.5 \n-0.359375 -0.28125 0.5 \n-0.359375 -0.296875 0.5 \n-0.34375 -0.296875 0.5 \n-0.359375 -0.34375 0.5 \n-0.359375 -0.359375 0.5 \n-0.34375 -0.359375 0.5 \n0.203125 -0.34375 0.5 \n0.203125 -0.359375 0.5 \n0.21875 -0.359375 0.5 \n0.140625 -0.28125 0.5 \n0.140625 -0.296875 0.5 \n0.15625 -0.296875 0.5 \n0.140625 -0.34375 0.5 \n0.140625 -0.359375 0.5 \n0.15625 -0.359375 0.5 \n-0.296875 0.15625 0.5 \n-0.296875 0.140625 0.5 \n-0.28125 0.140625 0.5 \n-0.359375 0.21875 0.5 \n-0.359375 0.203125 0.5 \n-0.34375 0.203125 0.5 \n-0.359375 0.15625 0.5 \n-0.359375 0.140625 0.5 \n-0.34375 0.140625 0.5 \n0.5 0.296875 0.34375 \n0.5 0.296875 0.359375 \n0.5 0.28125 0.359375 \n0.5 0.359375 0.28125 \n0.5 0.359375 0.296875 \n0.5 0.34375 0.296875 \n0.5 0.359375 0.34375 \n0.5 0.359375 0.359375 \n0.5 0.34375 0.359375 \n0.5 -0.203125 0.34375 \n0.5 -0.203125 0.359375 \n0.5 -0.21875 0.359375 \n0.5 -0.140625 0.28125 \n0.5 -0.140625 0.296875 \n0.5 -0.15625 0.296875 \n0.5 -0.140625 0.34375 \n0.5 -0.140625 0.359375 \n0.5 -0.15625 0.359375 \n0.5 0.296875 -0.15625 \n0.5 0.296875 -0.140625 \n0.5 0.28125 -0.140625 \n0.5 0.359375 -0.21875 \n0.5 0.359375 -0.203125 \n0.5 0.34375 -0.203125 \n0.5 0.359375 -0.15625 \n0.5 0.359375 -0.140625 \n0.5 0.34375 -0.140625 \n0.5 -0.296875 -0.34375 \n0.5 -0.296875 -0.359375 \n0.5 -0.28125 -0.359375 \n0.5 -0.359375 -0.28125 \n0.5 -0.359375 -0.296875 \n0.5 -0.34375 -0.296875 \n0.5 -0.359375 -0.34375 \n0.5 -0.359375 -0.359375 \n0.5 -0.34375 -0.359375 \n0.5 0.203125 -0.34375 \n0.5 0.203125 -0.359375 \n0.5 0.21875 -0.359375 \n0.5 0.140625 -0.28125 \n0.5 0.140625 -0.296875 \n0.5 0.15625 -0.296875 \n0.5 0.140625 -0.34375 \n0.5 0.140625 -0.359375 \n0.5 0.15625 -0.359375 \n0.5 -0.296875 0.15625 \n0.5 -0.296875 0.140625 \n0.5 -0.28125 0.140625 \n0.5 -0.359375 0.21875 \n0.5 -0.359375 0.203125 \n0.5 -0.34375 0.203125 \n0.5 -0.359375 0.15625 \n0.5 -0.359375 0.140625 \n0.5 -0.34375 0.140625 \n0.34375 0.5 0.296875 \n0.359375 0.5 0.296875 \n0.359375 0.5 0.28125 \n0.28125 0.5 0.359375 \n0.296875 0.5 0.359375 \n0.296875 0.5 0.34375 \n0.34375 0.5 0.359375 \n0.359375 0.5 0.359375 \n0.359375 0.5 0.34375 \n0.34375 0.5 -0.203125 \n0.359375 0.5 -0.203125 \n0.359375 0.5 -0.21875 \n0.28125 0.5 -0.140625 \n0.296875 0.5 -0.140625 \n0.296875 0.5 -0.15625 \n0.34375 0.5 -0.140625 \n0.359375 0.5 -0.140625 \n0.359375 0.5 -0.15625 \n-0.15625 0.5 0.296875 \n-0.140625 0.5 0.296875 \n-0.140625 0.5 0.28125 \n-0.21875 0.5 0.359375 \n-0.203125 0.5 0.359375 \n-0.203125 0.5 0.34375 \n-0.15625 0.5 0.359375 \n-0.140625 0.5 0.359375 \n-0.140625 0.5 0.34375 \n-0.34375 0.5 -0.296875 \n-0.359375 0.5 -0.296875 \n-0.359375 0.5 -0.28125 \n-0.28125 0.5 -0.359375 \n-0.296875 0.5 -0.359375 \n-0.296875 0.5 -0.34375 \n-0.34375 0.5 -0.359375 \n-0.359375 0.5 -0.359375 \n-0.359375 0.5 -0.34375 \n-0.34375 0.5 0.203125 \n-0.359375 0.5 0.203125 \n-0.359375 0.5 0.21875 \n-0.28125 0.5 0.140625 \n-0.296875 0.5 0.140625 \n-0.296875 0.5 0.15625 \n-0.34375 0.5 0.140625 \n-0.359375 0.5 0.140625 \n-0.359375 0.5 0.15625 \n0.15625 0.5 -0.296875 \n0.140625 0.5 -0.296875 \n0.140625 0.5 -0.28125 \n0.21875 0.5 -0.359375 \n0.203125 0.5 -0.359375 \n0.203125 0.5 -0.34375 \n0.15625 0.5 -0.359375 \n0.140625 0.5 -0.359375 \n0.140625 0.5 -0.34375 \n-0.34375 -0.296875 -0.5 \n-0.359375 -0.296875 -0.5 \n-0.359375 -0.28125 -0.5 \n-0.28125 -0.359375 -0.5 \n-0.296875 -0.359375 -0.5 \n-0.296875 -0.34375 -0.5 \n-0.34375 -0.359375 -0.5 \n-0.359375 -0.359375 -0.5 \n-0.359375 -0.34375 -0.5 \n-0.34375 0.203125 -0.5 \n-0.359375 0.203125 -0.5 \n-0.359375 0.21875 -0.5 \n-0.28125 0.140625 -0.5 \n-0.296875 0.140625 -0.5 \n-0.296875 0.15625 -0.5 \n-0.34375 0.140625 -0.5 \n-0.359375 0.140625 -0.5 \n-0.359375 0.15625 -0.5 \n0.15625 -0.296875 -0.5 \n0.140625 -0.296875 -0.5 \n0.140625 -0.28125 -0.5 \n0.21875 -0.359375 -0.5 \n0.203125 -0.359375 -0.5 \n0.203125 -0.34375 -0.5 \n0.15625 -0.359375 -0.5 \n0.140625 -0.359375 -0.5 \n0.140625 -0.34375 -0.5 \n0.34375 0.296875 -0.5 \n0.359375 0.296875 -0.5 \n0.359375 0.28125 -0.5 \n0.28125 0.359375 -0.5 \n0.296875 0.359375 -0.5 \n0.296875 0.34375 -0.5 \n0.34375 0.359375 -0.5 \n0.359375 0.359375 -0.5 \n0.359375 0.34375 -0.5 \n0.34375 -0.203125 -0.5 \n0.359375 -0.203125 -0.5 \n0.359375 -0.21875 -0.5 \n0.28125 -0.140625 -0.5 \n0.296875 -0.140625 -0.5 \n0.296875 -0.15625 -0.5 \n0.34375 -0.140625 -0.5 \n0.359375 -0.140625 -0.5 \n0.359375 -0.15625 -0.5 \n-0.15625 0.296875 -0.5 \n-0.140625 0.296875 -0.5 \n-0.140625 0.28125 -0.5 \n-0.21875 0.359375 -0.5 \n-0.203125 0.359375 -0.5 \n-0.203125 0.34375 -0.5 \n-0.15625 0.359375 -0.5 \n-0.140625 0.359375 -0.5 \n-0.140625 0.34375 -0.5 \n-0.296875 -0.5 -0.34375 \n-0.296875 -0.5 -0.359375 \n-0.28125 -0.5 -0.359375 \n-0.359375 -0.5 -0.28125 \n-0.359375 -0.5 -0.296875 \n-0.34375 -0.5 -0.296875 \n-0.359375 -0.5 -0.34375 \n-0.359375 -0.5 -0.359375 \n-0.34375 -0.5 -0.359375 \n0.203125 -0.5 -0.34375 \n0.203125 -0.5 -0.359375 \n0.21875 -0.5 -0.359375 \n0.140625 -0.5 -0.28125 \n0.140625 -0.5 -0.296875 \n0.15625 -0.5 -0.296875 \n0.140625 -0.5 -0.34375 \n0.140625 -0.5 -0.359375 \n0.15625 -0.5 -0.359375 \n-0.296875 -0.5 0.15625 \n-0.296875 -0.5 0.140625 \n-0.28125 -0.5 0.140625 \n-0.359375 -0.5 0.21875 \n-0.359375 -0.5 0.203125 \n-0.34375 -0.5 0.203125 \n-0.359375 -0.5 0.15625 \n-0.359375 -0.5 0.140625 \n-0.34375 -0.5 0.140625 \n0.296875 -0.5 0.34375 \n0.296875 -0.5 0.359375 \n0.28125 -0.5 0.359375 \n0.359375 -0.5 0.28125 \n0.359375 -0.5 0.296875 \n0.34375 -0.5 0.296875 \n0.359375 -0.5 0.34375 \n0.359375 -0.5 0.359375 \n0.34375 -0.5 0.359375 \n-0.203125 -0.5 0.34375 \n-0.203125 -0.5 0.359375 \n-0.21875 -0.5 0.359375 \n-0.140625 -0.5 0.28125 \n-0.140625 -0.5 0.296875 \n-0.15625 -0.5 0.296875 \n-0.140625 -0.5 0.34375 \n-0.140625 -0.5 0.359375 \n-0.15625 -0.5 0.359375 \n0.296875 -0.5 -0.15625 \n0.296875 -0.5 -0.140625 \n0.28125 -0.5 -0.140625 \n0.359375 -0.5 -0.21875 \n0.359375 -0.5 -0.203125 \n0.34375 -0.5 -0.203125 \n0.359375 -0.5 -0.15625 \n0.359375 -0.5 -0.140625 \n0.34375 -0.5 -0.140625 \n-0.5 -0.34375 -0.296875 \n-0.5 -0.359375 -0.296875 \n-0.5 -0.359375 -0.28125 \n-0.5 -0.28125 -0.359375 \n-0.5 -0.296875 -0.359375 \n-0.5 -0.296875 -0.34375 \n-0.5 -0.34375 -0.359375 \n-0.5 -0.359375 -0.359375 \n-0.5 -0.359375 -0.34375 \n-0.5 -0.34375 0.203125 \n-0.5 -0.359375 0.203125 \n-0.5 -0.359375 0.21875 \n-0.5 -0.28125 0.140625 \n-0.5 -0.296875 0.140625 \n-0.5 -0.296875 0.15625 \n-0.5 -0.34375 0.140625 \n-0.5 -0.359375 0.140625 \n-0.5 -0.359375 0.15625 \n-0.5 0.15625 -0.296875 \n-0.5 0.140625 -0.296875 \n-0.5 0.140625 -0.28125 \n-0.5 0.21875 -0.359375 \n-0.5 0.203125 -0.359375 \n-0.5 0.203125 -0.34375 \n-0.5 0.15625 -0.359375 \n-0.5 0.140625 -0.359375 \n-0.5 0.140625 -0.34375 \n-0.5 0.34375 0.296875 \n-0.5 0.359375 0.296875 \n-0.5 0.359375 0.28125 \n-0.5 0.28125 0.359375 \n-0.5 0.296875 0.359375 \n-0.5 0.296875 0.34375 \n-0.5 0.34375 0.359375 \n-0.5 0.359375 0.359375 \n-0.5 0.359375 0.34375 \n-0.5 0.34375 -0.203125 \n-0.5 0.359375 -0.203125 \n-0.5 0.359375 -0.21875 \n-0.5 0.28125 -0.140625 \n-0.5 0.296875 -0.140625 \n-0.5 0.296875 -0.15625 \n-0.5 0.34375 -0.140625 \n-0.5 0.359375 -0.140625 \n-0.5 0.359375 -0.15625 \n-0.5 -0.15625 0.296875 \n-0.5 -0.140625 0.296875 \n-0.5 -0.140625 0.28125 \n-0.5 -0.21875 0.359375 \n-0.5 -0.203125 0.359375 \n-0.5 -0.203125 0.34375 \n-0.5 -0.15625 0.359375 \n-0.5 -0.140625 0.359375 \n-0.5 -0.140625 0.34375 \n0.046875 0.34375 0.5 \n0.046875 0.359375 0.5 \n0.03125 0.359375 0.5 \n0.109375 0.28125 0.5 \n0.109375 0.296875 0.5 \n0.09375 0.296875 0.5 \n0.109375 0.34375 0.5 \n0.109375 0.359375 0.5 \n0.09375 0.359375 0.5 \n0.046875 0.09375 0.5 \n0.046875 0.109375 0.5 \n0.03125 0.109375 0.5 \n0.109375 0.03125 0.5 \n0.109375 0.046875 0.5 \n0.09375 0.046875 0.5 \n0.109375 0.09375 0.5 \n0.109375 0.109375 0.5 \n0.09375 0.109375 0.5 \n0.296875 0.09375 0.5 \n0.296875 0.109375 0.5 \n0.28125 0.109375 0.5 \n0.359375 0.03125 0.5 \n0.359375 0.046875 0.5 \n0.34375 0.046875 0.5 \n0.359375 0.09375 0.5 \n0.359375 0.109375 0.5 \n0.34375 0.109375 0.5 \n-0.046875 -0.34375 0.5 \n-0.046875 -0.359375 0.5 \n-0.03125 -0.359375 0.5 \n-0.109375 -0.28125 0.5 \n-0.109375 -0.296875 0.5 \n-0.09375 -0.296875 0.5 \n-0.109375 -0.34375 0.5 \n-0.109375 -0.359375 0.5 \n-0.09375 -0.359375 0.5 \n-0.046875 -0.09375 0.5 \n-0.046875 -0.109375 0.5 \n-0.03125 -0.109375 0.5 \n-0.109375 -0.03125 0.5 \n-0.109375 -0.046875 0.5 \n-0.09375 -0.046875 0.5 \n-0.109375 -0.09375 0.5 \n-0.109375 -0.109375 0.5 \n-0.09375 -0.109375 0.5 \n-0.296875 -0.09375 0.5 \n-0.296875 -0.109375 0.5 \n-0.28125 -0.109375 0.5 \n-0.359375 -0.03125 0.5 \n-0.359375 -0.046875 0.5 \n-0.34375 -0.046875 0.5 \n-0.359375 -0.09375 0.5 \n-0.359375 -0.109375 0.5 \n-0.34375 -0.109375 0.5 \n0.5 0.046875 0.34375 \n0.5 0.046875 0.359375 \n0.5 0.03125 0.359375 \n0.5 0.109375 0.28125 \n0.5 0.109375 0.296875 \n0.5 0.09375 0.296875 \n0.5 0.109375 0.34375 \n0.5 0.109375 0.359375 \n0.5 0.09375 0.359375 \n0.5 0.046875 0.09375 \n0.5 0.046875 0.109375 \n0.5 0.03125 0.109375 \n0.5 0.109375 0.03125 \n0.5 0.109375 0.046875 \n0.5 0.09375 0.046875 \n0.5 0.109375 0.09375 \n0.5 0.109375 0.109375 \n0.5 0.09375 0.109375 \n0.5 0.296875 0.09375 \n0.5 0.296875 0.109375 \n0.5 0.28125 0.109375 \n0.5 0.359375 0.03125 \n0.5 0.359375 0.046875 \n0.5 0.34375 0.046875 \n0.5 0.359375 0.09375 \n0.5 0.359375 0.109375 \n0.5 0.34375 0.109375 \n0.5 -0.046875 -0.34375 \n0.5 -0.046875 -0.359375 \n0.5 -0.03125 -0.359375 \n0.5 -0.109375 -0.28125 \n0.5 -0.109375 -0.296875 \n0.5 -0.09375 -0.296875 \n0.5 -0.109375 -0.34375 \n0.5 -0.109375 -0.359375 \n0.5 -0.09375 -0.359375 \n0.5 -0.046875 -0.09375 \n0.5 -0.046875 -0.109375 \n0.5 -0.03125 -0.109375 \n0.5 -0.109375 -0.03125 \n0.5 -0.109375 -0.046875 \n0.5 -0.09375 -0.046875 \n0.5 -0.109375 -0.09375 \n0.5 -0.109375 -0.109375 \n0.5 -0.09375 -0.109375 \n0.5 -0.296875 -0.09375 \n0.5 -0.296875 -0.109375 \n0.5 -0.28125 -0.109375 \n0.5 -0.359375 -0.03125 \n0.5 -0.359375 -0.046875 \n0.5 -0.34375 -0.046875 \n0.5 -0.359375 -0.09375 \n0.5 -0.359375 -0.109375 \n0.5 -0.34375 -0.109375 \n0.34375 0.5 0.046875 \n0.359375 0.5 0.046875 \n0.359375 0.5 0.03125 \n0.28125 0.5 0.109375 \n0.296875 0.5 0.109375 \n0.296875 0.5 0.09375 \n0.34375 0.5 0.109375 \n0.359375 0.5 0.109375 \n0.359375 0.5 0.09375 \n0.09375 0.5 0.046875 \n0.109375 0.5 0.046875 \n0.109375 0.5 0.03125 \n0.03125 0.5 0.109375 \n0.046875 0.5 0.109375 \n0.046875 0.5 0.09375 \n0.09375 0.5 0.109375 \n0.109375 0.5 0.109375 \n0.109375 0.5 0.09375 \n0.09375 0.5 0.296875 \n0.109375 0.5 0.296875 \n0.109375 0.5 0.28125 \n0.03125 0.5 0.359375 \n0.046875 0.5 0.359375 \n0.046875 0.5 0.34375 \n0.09375 0.5 0.359375 \n0.109375 0.5 0.359375 \n0.109375 0.5 0.34375 \n-0.34375 0.5 -0.046875 \n-0.359375 0.5 -0.046875 \n-0.359375 0.5 -0.03125 \n-0.28125 0.5 -0.109375 \n-0.296875 0.5 -0.109375 \n-0.296875 0.5 -0.09375 \n-0.34375 0.5 -0.109375 \n-0.359375 0.5 -0.109375 \n-0.359375 0.5 -0.09375 \n-0.09375 0.5 -0.046875 \n-0.109375 0.5 -0.046875 \n-0.109375 0.5 -0.03125 \n-0.03125 0.5 -0.109375 \n-0.046875 0.5 -0.109375 \n-0.046875 0.5 -0.09375 \n-0.09375 0.5 -0.109375 \n-0.109375 0.5 -0.109375 \n-0.109375 0.5 -0.09375 \n-0.09375 0.5 -0.296875 \n-0.109375 0.5 -0.296875 \n-0.109375 0.5 -0.28125 \n-0.03125 0.5 -0.359375 \n-0.046875 0.5 -0.359375 \n-0.046875 0.5 -0.34375 \n-0.09375 0.5 -0.359375 \n-0.109375 0.5 -0.359375 \n-0.109375 0.5 -0.34375 \n-0.34375 -0.046875 -0.5 \n-0.359375 -0.046875 -0.5 \n-0.359375 -0.03125 -0.5 \n-0.28125 -0.109375 -0.5 \n-0.296875 -0.109375 -0.5 \n-0.296875 -0.09375 -0.5 \n-0.34375 -0.109375 -0.5 \n-0.359375 -0.109375 -0.5 \n-0.359375 -0.09375 -0.5 \n-0.09375 -0.046875 -0.5 \n-0.109375 -0.046875 -0.5 \n-0.109375 -0.03125 -0.5 \n-0.03125 -0.109375 -0.5 \n-0.046875 -0.109375 -0.5 \n-0.046875 -0.09375 -0.5 \n-0.09375 -0.109375 -0.5 \n-0.109375 -0.109375 -0.5 \n-0.109375 -0.09375 -0.5 \n-0.09375 -0.296875 -0.5 \n-0.109375 -0.296875 -0.5 \n-0.109375 -0.28125 -0.5 \n-0.03125 -0.359375 -0.5 \n-0.046875 -0.359375 -0.5 \n-0.046875 -0.34375 -0.5 \n-0.09375 -0.359375 -0.5 \n-0.109375 -0.359375 -0.5 \n-0.109375 -0.34375 -0.5 \n0.34375 0.046875 -0.5 \n0.359375 0.046875 -0.5 \n0.359375 0.03125 -0.5 \n0.28125 0.109375 -0.5 \n0.296875 0.109375 -0.5 \n0.296875 0.09375 -0.5 \n0.34375 0.109375 -0.5 \n0.359375 0.109375 -0.5 \n0.359375 0.09375 -0.5 \n0.09375 0.046875 -0.5 \n0.109375 0.046875 -0.5 \n0.109375 0.03125 -0.5 \n0.03125 0.109375 -0.5 \n0.046875 0.109375 -0.5 \n0.046875 0.09375 -0.5 \n0.09375 0.109375 -0.5 \n0.109375 0.109375 -0.5 \n0.109375 0.09375 -0.5 \n0.09375 0.296875 -0.5 \n0.109375 0.296875 -0.5 \n0.109375 0.28125 -0.5 \n0.03125 0.359375 -0.5 \n0.046875 0.359375 -0.5 \n0.046875 0.34375 -0.5 \n0.09375 0.359375 -0.5 \n0.109375 0.359375 -0.5 \n0.109375 0.34375 -0.5 \n-0.046875 -0.5 -0.34375 \n-0.046875 -0.5 -0.359375 \n-0.03125 -0.5 -0.359375 \n-0.109375 -0.5 -0.28125 \n-0.109375 -0.5 -0.296875 \n-0.09375 -0.5 -0.296875 \n-0.109375 -0.5 -0.34375 \n-0.109375 -0.5 -0.359375 \n-0.09375 -0.5 -0.359375 \n-0.046875 -0.5 -0.09375 \n-0.046875 -0.5 -0.109375 \n-0.03125 -0.5 -0.109375 \n-0.109375 -0.5 -0.03125 \n-0.109375 -0.5 -0.046875 \n-0.09375 -0.5 -0.046875 \n-0.109375 -0.5 -0.09375 \n-0.109375 -0.5 -0.109375 \n-0.09375 -0.5 -0.109375 \n-0.296875 -0.5 -0.09375 \n-0.296875 -0.5 -0.109375 \n-0.28125 -0.5 -0.109375 \n-0.359375 -0.5 -0.03125 \n-0.359375 -0.5 -0.046875 \n-0.34375 -0.5 -0.046875 \n-0.359375 -0.5 -0.09375 \n-0.359375 -0.5 -0.109375 \n-0.34375 -0.5 -0.109375 \n0.046875 -0.5 0.34375 \n0.046875 -0.5 0.359375 \n0.03125 -0.5 0.359375 \n0.109375 -0.5 0.28125 \n0.109375 -0.5 0.296875 \n0.09375 -0.5 0.296875 \n0.109375 -0.5 0.34375 \n0.109375 -0.5 0.359375 \n0.09375 -0.5 0.359375 \n0.046875 -0.5 0.09375 \n0.046875 -0.5 0.109375 \n0.03125 -0.5 0.109375 \n0.109375 -0.5 0.03125 \n0.109375 -0.5 0.046875 \n0.09375 -0.5 0.046875 \n0.109375 -0.5 0.09375 \n0.109375 -0.5 0.109375 \n0.09375 -0.5 0.109375 \n0.296875 -0.5 0.09375 \n0.296875 -0.5 0.109375 \n0.28125 -0.5 0.109375 \n0.359375 -0.5 0.03125 \n0.359375 -0.5 0.046875 \n0.34375 -0.5 0.046875 \n0.359375 -0.5 0.09375 \n0.359375 -0.5 0.109375 \n0.34375 -0.5 0.109375 \n-0.5 -0.34375 -0.046875 \n-0.5 -0.359375 -0.046875 \n-0.5 -0.359375 -0.03125 \n-0.5 -0.28125 -0.109375 \n-0.5 -0.296875 -0.109375 \n-0.5 -0.296875 -0.09375 \n-0.5 -0.34375 -0.109375 \n-0.5 -0.359375 -0.109375 \n-0.5 -0.359375 -0.09375 \n-0.5 -0.09375 -0.046875 \n-0.5 -0.109375 -0.046875 \n-0.5 -0.109375 -0.03125 \n-0.5 -0.03125 -0.109375 \n-0.5 -0.046875 -0.109375 \n-0.5 -0.046875 -0.09375 \n-0.5 -0.09375 -0.109375 \n-0.5 -0.109375 -0.109375 \n-0.5 -0.109375 -0.09375 \n-0.5 -0.09375 -0.296875 \n-0.5 -0.109375 -0.296875 \n-0.5 -0.109375 -0.28125 \n-0.5 -0.03125 -0.359375 \n-0.5 -0.046875 -0.359375 \n-0.5 -0.046875 -0.34375 \n-0.5 -0.09375 -0.359375 \n-0.5 -0.109375 -0.359375 \n-0.5 -0.109375 -0.34375 \n-0.5 0.34375 0.046875 \n-0.5 0.359375 0.046875 \n-0.5 0.359375 0.03125 \n-0.5 0.28125 0.109375 \n-0.5 0.296875 0.109375 \n-0.5 0.296875 0.09375 \n-0.5 0.34375 0.109375 \n-0.5 0.359375 0.109375 \n-0.5 0.359375 0.09375 \n-0.5 0.09375 0.046875 \n-0.5 0.109375 0.046875 \n-0.5 0.109375 0.03125 \n-0.5 0.03125 0.109375 \n-0.5 0.046875 0.109375 \n-0.5 0.046875 0.09375 \n-0.5 0.09375 0.109375 \n-0.5 0.109375 0.109375 \n-0.5 0.109375 0.09375 \n-0.5 0.09375 0.296875 \n-0.5 0.109375 0.296875 \n-0.5 0.109375 0.28125 \n-0.5 0.03125 0.359375 \n-0.5 0.046875 0.359375 \n-0.5 0.046875 0.34375 \n-0.5 0.09375 0.359375 \n-0.5 0.109375 0.359375 \n-0.5 0.109375 0.34375 \n0.390625 0.453125 0.5 \n0.40625 0.453125 0.5 \n0.390625 0.46875 0.5 \n0.390625 0.390625 0.5 \n0.40625 0.390625 0.5 \n0.390625 0.40625 0.5 \n0.453125 0.390625 0.5 \n0.46875 0.390625 0.5 \n0.453125 0.40625 0.5 \n0.140625 0.453125 0.5 \n0.15625 0.453125 0.5 \n0.140625 0.46875 0.5 \n0.140625 0.390625 0.5 \n0.15625 0.390625 0.5 \n0.140625 0.40625 0.5 \n0.203125 0.390625 0.5 \n0.21875 0.390625 0.5 \n0.203125 0.40625 0.5 \n0.390625 0.203125 0.5 \n0.40625 0.203125 0.5 \n0.390625 0.21875 0.5 \n0.390625 0.140625 0.5 \n0.40625 0.140625 0.5 \n0.390625 0.15625 0.5 \n0.453125 0.140625 0.5 \n0.46875 0.140625 0.5 \n0.453125 0.15625 0.5 \n-0.109375 0.453125 0.5 \n-0.09375 0.453125 0.5 \n-0.109375 0.46875 0.5 \n-0.109375 0.390625 0.5 \n-0.09375 0.390625 0.5 \n-0.109375 0.40625 0.5 \n-0.046875 0.390625 0.5 \n-0.03125 0.390625 0.5 \n-0.046875 0.40625 0.5 \n-0.359375 0.453125 0.5 \n-0.34375 0.453125 0.5 \n-0.359375 0.46875 0.5 \n-0.359375 0.390625 0.5 \n-0.34375 0.390625 0.5 \n-0.359375 0.40625 0.5 \n-0.296875 0.390625 0.5 \n-0.28125 0.390625 0.5 \n-0.296875 0.40625 0.5 \n-0.109375 0.203125 0.5 \n-0.09375 0.203125 0.5 \n-0.109375 0.21875 0.5 \n-0.109375 0.140625 0.5 \n-0.09375 0.140625 0.5 \n-0.109375 0.15625 0.5 \n-0.046875 0.140625 0.5 \n-0.03125 0.140625 0.5 \n-0.046875 0.15625 0.5 \n0.390625 -0.046875 0.5 \n0.40625 -0.046875 0.5 \n0.390625 -0.03125 0.5 \n0.390625 -0.109375 0.5 \n0.40625 -0.109375 0.5 \n0.390625 -0.09375 0.5 \n0.453125 -0.109375 0.5 \n0.46875 -0.109375 0.5 \n0.453125 -0.09375 0.5 \n0.140625 -0.046875 0.5 \n0.15625 -0.046875 0.5 \n0.140625 -0.03125 0.5 \n0.140625 -0.109375 0.5 \n0.15625 -0.109375 0.5 \n0.140625 -0.09375 0.5 \n0.203125 -0.109375 0.5 \n0.21875 -0.109375 0.5 \n0.203125 -0.09375 0.5 \n0.390625 -0.296875 0.5 \n0.40625 -0.296875 0.5 \n0.390625 -0.28125 0.5 \n0.390625 -0.359375 0.5 \n0.40625 -0.359375 0.5 \n0.390625 -0.34375 0.5 \n0.453125 -0.359375 0.5 \n0.46875 -0.359375 0.5 \n0.453125 -0.34375 0.5 \n-0.390625 -0.453125 0.5 \n-0.40625 -0.453125 0.5 \n-0.390625 -0.46875 0.5 \n-0.390625 -0.390625 0.5 \n-0.40625 -0.390625 0.5 \n-0.390625 -0.40625 0.5 \n-0.453125 -0.390625 0.5 \n-0.46875 -0.390625 0.5 \n-0.453125 -0.40625 0.5 \n-0.140625 -0.453125 0.5 \n-0.15625 -0.453125 0.5 \n-0.140625 -0.46875 0.5 \n-0.140625 -0.390625 0.5 \n-0.15625 -0.390625 0.5 \n-0.140625 -0.40625 0.5 \n-0.203125 -0.390625 0.5 \n-0.21875 -0.390625 0.5 \n-0.203125 -0.40625 0.5 \n-0.390625 -0.203125 0.5 \n-0.40625 -0.203125 0.5 \n-0.390625 -0.21875 0.5 \n-0.390625 -0.140625 0.5 \n-0.40625 -0.140625 0.5 \n-0.390625 -0.15625 0.5 \n-0.453125 -0.140625 0.5 \n-0.46875 -0.140625 0.5 \n-0.453125 -0.15625 0.5 \n0.109375 -0.453125 0.5 \n0.09375 -0.453125 0.5 \n0.109375 -0.46875 0.5 \n0.109375 -0.390625 0.5 \n0.09375 -0.390625 0.5 \n0.109375 -0.40625 0.5 \n0.046875 -0.390625 0.5 \n0.03125 -0.390625 0.5 \n0.046875 -0.40625 0.5 \n0.359375 -0.453125 0.5 \n0.34375 -0.453125 0.5 \n0.359375 -0.46875 0.5 \n0.359375 -0.390625 0.5 \n0.34375 -0.390625 0.5 \n0.359375 -0.40625 0.5 \n0.296875 -0.390625 0.5 \n0.28125 -0.390625 0.5 \n0.296875 -0.40625 0.5 \n0.109375 -0.203125 0.5 \n0.09375 -0.203125 0.5 \n0.109375 -0.21875 0.5 \n0.109375 -0.140625 0.5 \n0.09375 -0.140625 0.5 \n0.109375 -0.15625 0.5 \n0.046875 -0.140625 0.5 \n0.03125 -0.140625 0.5 \n0.046875 -0.15625 0.5 \n-0.390625 0.046875 0.5 \n-0.40625 0.046875 0.5 \n-0.390625 0.03125 0.5 \n-0.390625 0.109375 0.5 \n-0.40625 0.109375 0.5 \n-0.390625 0.09375 0.5 \n-0.453125 0.109375 0.5 \n-0.46875 0.109375 0.5 \n-0.453125 0.09375 0.5 \n-0.140625 0.046875 0.5 \n-0.15625 0.046875 0.5 \n-0.140625 0.03125 0.5 \n-0.140625 0.109375 0.5 \n-0.15625 0.109375 0.5 \n-0.140625 0.09375 0.5 \n-0.203125 0.109375 0.5 \n-0.21875 0.109375 0.5 \n-0.203125 0.09375 0.5 \n-0.390625 0.296875 0.5 \n-0.40625 0.296875 0.5 \n-0.390625 0.28125 0.5 \n-0.390625 0.359375 0.5 \n-0.40625 0.359375 0.5 \n-0.390625 0.34375 0.5 \n-0.453125 0.359375 0.5 \n-0.46875 0.359375 0.5 \n-0.453125 0.34375 0.5 \n0.5 0.390625 0.453125 \n0.5 0.40625 0.453125 \n0.5 0.390625 0.46875 \n0.5 0.390625 0.390625 \n0.5 0.40625 0.390625 \n0.5 0.390625 0.40625 \n0.5 0.453125 0.390625 \n0.5 0.46875 0.390625 \n0.5 0.453125 0.40625 \n0.5 0.140625 0.453125 \n0.5 0.15625 0.453125 \n0.5 0.140625 0.46875 \n0.5 0.140625 0.390625 \n0.5 0.15625 0.390625 \n0.5 0.140625 0.40625 \n0.5 0.203125 0.390625 \n0.5 0.21875 0.390625 \n0.5 0.203125 0.40625 \n0.5 0.390625 0.203125 \n0.5 0.40625 0.203125 \n0.5 0.390625 0.21875 \n0.5 0.390625 0.140625 \n0.5 0.40625 0.140625 \n0.5 0.390625 0.15625 \n0.5 0.453125 0.140625 \n0.5 0.46875 0.140625 \n0.5 0.453125 0.15625 \n0.5 -0.109375 0.453125 \n0.5 -0.09375 0.453125 \n0.5 -0.109375 0.46875 \n0.5 -0.109375 0.390625 \n0.5 -0.09375 0.390625 \n0.5 -0.109375 0.40625 \n0.5 -0.046875 0.390625 \n0.5 -0.03125 0.390625 \n0.5 -0.046875 0.40625 \n0.5 -0.359375 0.453125 \n0.5 -0.34375 0.453125 \n0.5 -0.359375 0.46875 \n0.5 -0.359375 0.390625 \n0.5 -0.34375 0.390625 \n0.5 -0.359375 0.40625 \n0.5 -0.296875 0.390625 \n0.5 -0.28125 0.390625 \n0.5 -0.296875 0.40625 \n0.5 -0.109375 0.203125 \n0.5 -0.09375 0.203125 \n0.5 -0.109375 0.21875 \n0.5 -0.109375 0.140625 \n0.5 -0.09375 0.140625 \n0.5 -0.109375 0.15625 \n0.5 -0.046875 0.140625 \n0.5 -0.03125 0.140625 \n0.5 -0.046875 0.15625 \n0.5 0.390625 -0.046875 \n0.5 0.40625 -0.046875 \n0.5 0.390625 -0.03125 \n0.5 0.390625 -0.109375 \n0.5 0.40625 -0.109375 \n0.5 0.390625 -0.09375 \n0.5 0.453125 -0.109375 \n0.5 0.46875 -0.109375 \n0.5 0.453125 -0.09375 \n0.5 0.140625 -0.046875 \n0.5 0.15625 -0.046875 \n0.5 0.140625 -0.03125 \n0.5 0.140625 -0.109375 \n0.5 0.15625 -0.109375 \n0.5 0.140625 -0.09375 \n0.5 0.203125 -0.109375 \n0.5 0.21875 -0.109375 \n0.5 0.203125 -0.09375 \n0.5 0.390625 -0.296875 \n0.5 0.40625 -0.296875 \n0.5 0.390625 -0.28125 \n0.5 0.390625 -0.359375 \n0.5 0.40625 -0.359375 \n0.5 0.390625 -0.34375 \n0.5 0.453125 -0.359375 \n0.5 0.46875 -0.359375 \n0.5 0.453125 -0.34375 \n0.5 -0.390625 -0.453125 \n0.5 -0.40625 -0.453125 \n0.5 -0.390625 -0.46875 \n0.5 -0.390625 -0.390625 \n0.5 -0.40625 -0.390625 \n0.5 -0.390625 -0.40625 \n0.5 -0.453125 -0.390625 \n0.5 -0.46875 -0.390625 \n0.5 -0.453125 -0.40625 \n0.5 -0.140625 -0.453125 \n0.5 -0.15625 -0.453125 \n0.5 -0.140625 -0.46875 \n0.5 -0.140625 -0.390625 \n0.5 -0.15625 -0.390625 \n0.5 -0.140625 -0.40625 \n0.5 -0.203125 -0.390625 \n0.5 -0.21875 -0.390625 \n0.5 -0.203125 -0.40625 \n0.5 -0.390625 -0.203125 \n0.5 -0.40625 -0.203125 \n0.5 -0.390625 -0.21875 \n0.5 -0.390625 -0.140625 \n0.5 -0.40625 -0.140625 \n0.5 -0.390625 -0.15625 \n0.5 -0.453125 -0.140625 \n0.5 -0.46875 -0.140625 \n0.5 -0.453125 -0.15625 \n0.5 0.109375 -0.453125 \n0.5 0.09375 -0.453125 \n0.5 0.109375 -0.46875 \n0.5 0.109375 -0.390625 \n0.5 0.09375 -0.390625 \n0.5 0.109375 -0.40625 \n0.5 0.046875 -0.390625 \n0.5 0.03125 -0.390625 \n0.5 0.046875 -0.40625 \n0.5 0.359375 -0.453125 \n0.5 0.34375 -0.453125 \n0.5 0.359375 -0.46875 \n0.5 0.359375 -0.390625 \n0.5 0.34375 -0.390625 \n0.5 0.359375 -0.40625 \n0.5 0.296875 -0.390625 \n0.5 0.28125 -0.390625 \n0.5 0.296875 -0.40625 \n0.5 0.109375 -0.203125 \n0.5 0.09375 -0.203125 \n0.5 0.109375 -0.21875 \n0.5 0.109375 -0.140625 \n0.5 0.09375 -0.140625 \n0.5 0.109375 -0.15625 \n0.5 0.046875 -0.140625 \n0.5 0.03125 -0.140625 \n0.5 0.046875 -0.15625 \n0.5 -0.390625 0.046875 \n0.5 -0.40625 0.046875 \n0.5 -0.390625 0.03125 \n0.5 -0.390625 0.109375 \n0.5 -0.40625 0.109375 \n0.5 -0.390625 0.09375 \n0.5 -0.453125 0.109375 \n0.5 -0.46875 0.109375 \n0.5 -0.453125 0.09375 \n0.5 -0.140625 0.046875 \n0.5 -0.15625 0.046875 \n0.5 -0.140625 0.03125 \n0.5 -0.140625 0.109375 \n0.5 -0.15625 0.109375 \n0.5 -0.140625 0.09375 \n0.5 -0.203125 0.109375 \n0.5 -0.21875 0.109375 \n0.5 -0.203125 0.09375 \n0.5 -0.390625 0.296875 \n0.5 -0.40625 0.296875 \n0.5 -0.390625 0.28125 \n0.5 -0.390625 0.359375 \n0.5 -0.40625 0.359375 \n0.5 -0.390625 0.34375 \n0.5 -0.453125 0.359375 \n0.5 -0.46875 0.359375 \n0.5 -0.453125 0.34375 \n0.453125 0.5 0.390625 \n0.453125 0.5 0.40625 \n0.46875 0.5 0.390625 \n0.390625 0.5 0.390625 \n0.390625 0.5 0.40625 \n0.40625 0.5 0.390625 \n0.390625 0.5 0.453125 \n0.390625 0.5 0.46875 \n0.40625 0.5 0.453125 \n0.453125 0.5 0.140625 \n0.453125 0.5 0.15625 \n0.46875 0.5 0.140625 \n0.390625 0.5 0.140625 \n0.390625 0.5 0.15625 \n0.40625 0.5 0.140625 \n0.390625 0.5 0.203125 \n0.390625 0.5 0.21875 \n0.40625 0.5 0.203125 \n0.203125 0.5 0.390625 \n0.203125 0.5 0.40625 \n0.21875 0.5 0.390625 \n0.140625 0.5 0.390625 \n0.140625 0.5 0.40625 \n0.15625 0.5 0.390625 \n0.140625 0.5 0.453125 \n0.140625 0.5 0.46875 \n0.15625 0.5 0.453125 \n0.453125 0.5 -0.109375 \n0.453125 0.5 -0.09375 \n0.46875 0.5 -0.109375 \n0.390625 0.5 -0.109375 \n0.390625 0.5 -0.09375 \n0.40625 0.5 -0.109375 \n0.390625 0.5 -0.046875 \n0.390625 0.5 -0.03125 \n0.40625 0.5 -0.046875 \n0.453125 0.5 -0.359375 \n0.453125 0.5 -0.34375 \n0.46875 0.5 -0.359375 \n0.390625 0.5 -0.359375 \n0.390625 0.5 -0.34375 \n0.40625 0.5 -0.359375 \n0.390625 0.5 -0.296875 \n0.390625 0.5 -0.28125 \n0.40625 0.5 -0.296875 \n0.203125 0.5 -0.109375 \n0.203125 0.5 -0.09375 \n0.21875 0.5 -0.109375 \n0.140625 0.5 -0.109375 \n0.140625 0.5 -0.09375 \n0.15625 0.5 -0.109375 \n0.140625 0.5 -0.046875 \n0.140625 0.5 -0.03125 \n0.15625 0.5 -0.046875 \n-0.046875 0.5 0.390625 \n-0.046875 0.5 0.40625 \n-0.03125 0.5 0.390625 \n-0.109375 0.5 0.390625 \n-0.109375 0.5 0.40625 \n-0.09375 0.5 0.390625 \n-0.109375 0.5 0.453125 \n-0.109375 0.5 0.46875 \n-0.09375 0.5 0.453125 \n-0.046875 0.5 0.140625 \n-0.046875 0.5 0.15625 \n-0.03125 0.5 0.140625 \n-0.109375 0.5 0.140625 \n-0.109375 0.5 0.15625 \n-0.09375 0.5 0.140625 \n-0.109375 0.5 0.203125 \n-0.109375 0.5 0.21875 \n-0.09375 0.5 0.203125 \n-0.296875 0.5 0.390625 \n-0.296875 0.5 0.40625 \n-0.28125 0.5 0.390625 \n-0.359375 0.5 0.390625 \n-0.359375 0.5 0.40625 \n-0.34375 0.5 0.390625 \n-0.359375 0.5 0.453125 \n-0.359375 0.5 0.46875 \n-0.34375 0.5 0.453125 \n-0.453125 0.5 -0.390625 \n-0.453125 0.5 -0.40625 \n-0.46875 0.5 -0.390625 \n-0.390625 0.5 -0.390625 \n-0.390625 0.5 -0.40625 \n-0.40625 0.5 -0.390625 \n-0.390625 0.5 -0.453125 \n-0.390625 0.5 -0.46875 \n-0.40625 0.5 -0.453125 \n-0.453125 0.5 -0.140625 \n-0.453125 0.5 -0.15625 \n-0.46875 0.5 -0.140625 \n-0.390625 0.5 -0.140625 \n-0.390625 0.5 -0.15625 \n-0.40625 0.5 -0.140625 \n-0.390625 0.5 -0.203125 \n-0.390625 0.5 -0.21875 \n-0.40625 0.5 -0.203125 \n-0.203125 0.5 -0.390625 \n-0.203125 0.5 -0.40625 \n-0.21875 0.5 -0.390625 \n-0.140625 0.5 -0.390625 \n-0.140625 0.5 -0.40625 \n-0.15625 0.5 -0.390625 \n-0.140625 0.5 -0.453125 \n-0.140625 0.5 -0.46875 \n-0.15625 0.5 -0.453125 \n-0.453125 0.5 0.109375 \n-0.453125 0.5 0.09375 \n-0.46875 0.5 0.109375 \n-0.390625 0.5 0.109375 \n-0.390625 0.5 0.09375 \n-0.40625 0.5 0.109375 \n-0.390625 0.5 0.046875 \n-0.390625 0.5 0.03125 \n-0.40625 0.5 0.046875 \n-0.453125 0.5 0.359375 \n-0.453125 0.5 0.34375 \n-0.46875 0.5 0.359375 \n-0.390625 0.5 0.359375 \n-0.390625 0.5 0.34375 \n-0.40625 0.5 0.359375 \n-0.390625 0.5 0.296875 \n-0.390625 0.5 0.28125 \n-0.40625 0.5 0.296875 \n-0.203125 0.5 0.109375 \n-0.203125 0.5 0.09375 \n-0.21875 0.5 0.109375 \n-0.140625 0.5 0.109375 \n-0.140625 0.5 0.09375 \n-0.15625 0.5 0.109375 \n-0.140625 0.5 0.046875 \n-0.140625 0.5 0.03125 \n-0.15625 0.5 0.046875 \n0.046875 0.5 -0.390625 \n0.046875 0.5 -0.40625 \n0.03125 0.5 -0.390625 \n0.109375 0.5 -0.390625 \n0.109375 0.5 -0.40625 \n0.09375 0.5 -0.390625 \n0.109375 0.5 -0.453125 \n0.109375 0.5 -0.46875 \n0.09375 0.5 -0.453125 \n0.046875 0.5 -0.140625 \n0.046875 0.5 -0.15625 \n0.03125 0.5 -0.140625 \n0.109375 0.5 -0.140625 \n0.109375 0.5 -0.15625 \n0.09375 0.5 -0.140625 \n0.109375 0.5 -0.203125 \n0.109375 0.5 -0.21875 \n0.09375 0.5 -0.203125 \n0.296875 0.5 -0.390625 \n0.296875 0.5 -0.40625 \n0.28125 0.5 -0.390625 \n0.359375 0.5 -0.390625 \n0.359375 0.5 -0.40625 \n0.34375 0.5 -0.390625 \n0.359375 0.5 -0.453125 \n0.359375 0.5 -0.46875 \n0.34375 0.5 -0.453125 \n-0.453125 -0.390625 -0.5 \n-0.453125 -0.40625 -0.5 \n-0.46875 -0.390625 -0.5 \n-0.390625 -0.390625 -0.5 \n-0.390625 -0.40625 -0.5 \n-0.40625 -0.390625 -0.5 \n-0.390625 -0.453125 -0.5 \n-0.390625 -0.46875 -0.5 \n-0.40625 -0.453125 -0.5 \n-0.453125 -0.140625 -0.5 \n-0.453125 -0.15625 -0.5 \n-0.46875 -0.140625 -0.5 \n-0.390625 -0.140625 -0.5 \n-0.390625 -0.15625 -0.5 \n-0.40625 -0.140625 -0.5 \n-0.390625 -0.203125 -0.5 \n-0.390625 -0.21875 -0.5 \n-0.40625 -0.203125 -0.5 \n-0.203125 -0.390625 -0.5 \n-0.203125 -0.40625 -0.5 \n-0.21875 -0.390625 -0.5 \n-0.140625 -0.390625 -0.5 \n-0.140625 -0.40625 -0.5 \n-0.15625 -0.390625 -0.5 \n-0.140625 -0.453125 -0.5 \n-0.140625 -0.46875 -0.5 \n-0.15625 -0.453125 -0.5 \n-0.453125 0.109375 -0.5 \n-0.453125 0.09375 -0.5 \n-0.46875 0.109375 -0.5 \n-0.390625 0.109375 -0.5 \n-0.390625 0.09375 -0.5 \n-0.40625 0.109375 -0.5 \n-0.390625 0.046875 -0.5 \n-0.390625 0.03125 -0.5 \n-0.40625 0.046875 -0.5 \n-0.453125 0.359375 -0.5 \n-0.453125 0.34375 -0.5 \n-0.46875 0.359375 -0.5 \n-0.390625 0.359375 -0.5 \n-0.390625 0.34375 -0.5 \n-0.40625 0.359375 -0.5 \n-0.390625 0.296875 -0.5 \n-0.390625 0.28125 -0.5 \n-0.40625 0.296875 -0.5 \n-0.203125 0.109375 -0.5 \n-0.203125 0.09375 -0.5 \n-0.21875 0.109375 -0.5 \n-0.140625 0.109375 -0.5 \n-0.140625 0.09375 -0.5 \n-0.15625 0.109375 -0.5 \n-0.140625 0.046875 -0.5 \n-0.140625 0.03125 -0.5 \n-0.15625 0.046875 -0.5 \n0.046875 -0.390625 -0.5 \n0.046875 -0.40625 -0.5 \n0.03125 -0.390625 -0.5 \n0.109375 -0.390625 -0.5 \n0.109375 -0.40625 -0.5 \n0.09375 -0.390625 -0.5 \n0.109375 -0.453125 -0.5 \n0.109375 -0.46875 -0.5 \n0.09375 -0.453125 -0.5 \n0.046875 -0.140625 -0.5 \n0.046875 -0.15625 -0.5 \n0.03125 -0.140625 -0.5 \n0.109375 -0.140625 -0.5 \n0.109375 -0.15625 -0.5 \n0.09375 -0.140625 -0.5 \n0.109375 -0.203125 -0.5 \n0.109375 -0.21875 -0.5 \n0.09375 -0.203125 -0.5 \n0.296875 -0.390625 -0.5 \n0.296875 -0.40625 -0.5 \n0.28125 -0.390625 -0.5 \n0.359375 -0.390625 -0.5 \n0.359375 -0.40625 -0.5 \n0.34375 -0.390625 -0.5 \n0.359375 -0.453125 -0.5 \n0.359375 -0.46875 -0.5 \n0.34375 -0.453125 -0.5 \n0.453125 0.390625 -0.5 \n0.453125 0.40625 -0.5 \n0.46875 0.390625 -0.5 \n0.390625 0.390625 -0.5 \n0.390625 0.40625 -0.5 \n0.40625 0.390625 -0.5 \n0.390625 0.453125 -0.5 \n0.390625 0.46875 -0.5 \n0.40625 0.453125 -0.5 \n0.453125 0.140625 -0.5 \n0.453125 0.15625 -0.5 \n0.46875 0.140625 -0.5 \n0.390625 0.140625 -0.5 \n0.390625 0.15625 -0.5 \n0.40625 0.140625 -0.5 \n0.390625 0.203125 -0.5 \n0.390625 0.21875 -0.5 \n0.40625 0.203125 -0.5 \n0.203125 0.390625 -0.5 \n0.203125 0.40625 -0.5 \n0.21875 0.390625 -0.5 \n0.140625 0.390625 -0.5 \n0.140625 0.40625 -0.5 \n0.15625 0.390625 -0.5 \n0.140625 0.453125 -0.5 \n0.140625 0.46875 -0.5 \n0.15625 0.453125 -0.5 \n0.453125 -0.109375 -0.5 \n0.453125 -0.09375 -0.5 \n0.46875 -0.109375 -0.5 \n0.390625 -0.109375 -0.5 \n0.390625 -0.09375 -0.5 \n0.40625 -0.109375 -0.5 \n0.390625 -0.046875 -0.5 \n0.390625 -0.03125 -0.5 \n0.40625 -0.046875 -0.5 \n0.453125 -0.359375 -0.5 \n0.453125 -0.34375 -0.5 \n0.46875 -0.359375 -0.5 \n0.390625 -0.359375 -0.5 \n0.390625 -0.34375 -0.5 \n0.40625 -0.359375 -0.5 \n0.390625 -0.296875 -0.5 \n0.390625 -0.28125 -0.5 \n0.40625 -0.296875 -0.5 \n0.203125 -0.109375 -0.5 \n0.203125 -0.09375 -0.5 \n0.21875 -0.109375 -0.5 \n0.140625 -0.109375 -0.5 \n0.140625 -0.09375 -0.5 \n0.15625 -0.109375 -0.5 \n0.140625 -0.046875 -0.5 \n0.140625 -0.03125 -0.5 \n0.15625 -0.046875 -0.5 \n-0.046875 0.390625 -0.5 \n-0.046875 0.40625 -0.5 \n-0.03125 0.390625 -0.5 \n-0.109375 0.390625 -0.5 \n-0.109375 0.40625 -0.5 \n-0.09375 0.390625 -0.5 \n-0.109375 0.453125 -0.5 \n-0.109375 0.46875 -0.5 \n-0.09375 0.453125 -0.5 \n-0.046875 0.140625 -0.5 \n-0.046875 0.15625 -0.5 \n-0.03125 0.140625 -0.5 \n-0.109375 0.140625 -0.5 \n-0.109375 0.15625 -0.5 \n-0.09375 0.140625 -0.5 \n-0.109375 0.203125 -0.5 \n-0.109375 0.21875 -0.5 \n-0.09375 0.203125 -0.5 \n-0.296875 0.390625 -0.5 \n-0.296875 0.40625 -0.5 \n-0.28125 0.390625 -0.5 \n-0.359375 0.390625 -0.5 \n-0.359375 0.40625 -0.5 \n-0.34375 0.390625 -0.5 \n-0.359375 0.453125 -0.5 \n-0.359375 0.46875 -0.5 \n-0.34375 0.453125 -0.5 \n-0.390625 -0.5 -0.453125 \n-0.40625 -0.5 -0.453125 \n-0.390625 -0.5 -0.46875 \n-0.390625 -0.5 -0.390625 \n-0.40625 -0.5 -0.390625 \n-0.390625 -0.5 -0.40625 \n-0.453125 -0.5 -0.390625 \n-0.46875 -0.5 -0.390625 \n-0.453125 -0.5 -0.40625 \n-0.140625 -0.5 -0.453125 \n-0.15625 -0.5 -0.453125 \n-0.140625 -0.5 -0.46875 \n-0.140625 -0.5 -0.390625 \n-0.15625 -0.5 -0.390625 \n-0.140625 -0.5 -0.40625 \n-0.203125 -0.5 -0.390625 \n-0.21875 -0.5 -0.390625 \n-0.203125 -0.5 -0.40625 \n-0.390625 -0.5 -0.203125 \n-0.40625 -0.5 -0.203125 \n-0.390625 -0.5 -0.21875 \n-0.390625 -0.5 -0.140625 \n-0.40625 -0.5 -0.140625 \n-0.390625 -0.5 -0.15625 \n-0.453125 -0.5 -0.140625 \n-0.46875 -0.5 -0.140625 \n-0.453125 -0.5 -0.15625 \n0.109375 -0.5 -0.453125 \n0.09375 -0.5 -0.453125 \n0.109375 -0.5 -0.46875 \n0.109375 -0.5 -0.390625 \n0.09375 -0.5 -0.390625 \n0.109375 -0.5 -0.40625 \n0.046875 -0.5 -0.390625 \n0.03125 -0.5 -0.390625 \n0.046875 -0.5 -0.40625 \n0.359375 -0.5 -0.453125 \n0.34375 -0.5 -0.453125 \n0.359375 -0.5 -0.46875 \n0.359375 -0.5 -0.390625 \n0.34375 -0.5 -0.390625 \n0.359375 -0.5 -0.40625 \n0.296875 -0.5 -0.390625 \n0.28125 -0.5 -0.390625 \n0.296875 -0.5 -0.40625 \n0.109375 -0.5 -0.203125 \n0.09375 -0.5 -0.203125 \n0.109375 -0.5 -0.21875 \n0.109375 -0.5 -0.140625 \n0.09375 -0.5 -0.140625 \n0.109375 -0.5 -0.15625 \n0.046875 -0.5 -0.140625 \n0.03125 -0.5 -0.140625 \n0.046875 -0.5 -0.15625 \n-0.390625 -0.5 0.046875 \n-0.40625 -0.5 0.046875 \n-0.390625 -0.5 0.03125 \n-0.390625 -0.5 0.109375 \n-0.40625 -0.5 0.109375 \n-0.390625 -0.5 0.09375 \n-0.453125 -0.5 0.109375 \n-0.46875 -0.5 0.109375 \n-0.453125 -0.5 0.09375 \n-0.140625 -0.5 0.046875 \n-0.15625 -0.5 0.046875 \n-0.140625 -0.5 0.03125 \n-0.140625 -0.5 0.109375 \n-0.15625 -0.5 0.109375 \n-0.140625 -0.5 0.09375 \n-0.203125 -0.5 0.109375 \n-0.21875 -0.5 0.109375 \n-0.203125 -0.5 0.09375 \n-0.390625 -0.5 0.296875 \n-0.40625 -0.5 0.296875 \n-0.390625 -0.5 0.28125 \n-0.390625 -0.5 0.359375 \n-0.40625 -0.5 0.359375 \n-0.390625 -0.5 0.34375 \n-0.453125 -0.5 0.359375 \n-0.46875 -0.5 0.359375 \n-0.453125 -0.5 0.34375 \n0.390625 -0.5 0.453125 \n0.40625 -0.5 0.453125 \n0.390625 -0.5 0.46875 \n0.390625 -0.5 0.390625 \n0.40625 -0.5 0.390625 \n0.390625 -0.5 0.40625 \n0.453125 -0.5 0.390625 \n0.46875 -0.5 0.390625 \n0.453125 -0.5 0.40625 \n0.140625 -0.5 0.453125 \n0.15625 -0.5 0.453125 \n0.140625 -0.5 0.46875 \n0.140625 -0.5 0.390625 \n0.15625 -0.5 0.390625 \n0.140625 -0.5 0.40625 \n0.203125 -0.5 0.390625 \n0.21875 -0.5 0.390625 \n0.203125 -0.5 0.40625 \n0.390625 -0.5 0.203125 \n0.40625 -0.5 0.203125 \n0.390625 -0.5 0.21875 \n0.390625 -0.5 0.140625 \n0.40625 -0.5 0.140625 \n0.390625 -0.5 0.15625 \n0.453125 -0.5 0.140625 \n0.46875 -0.5 0.140625 \n0.453125 -0.5 0.15625 \n-0.109375 -0.5 0.453125 \n-0.09375 -0.5 0.453125 \n-0.109375 -0.5 0.46875 \n-0.109375 -0.5 0.390625 \n-0.09375 -0.5 0.390625 \n-0.109375 -0.5 0.40625 \n-0.046875 -0.5 0.390625 \n-0.03125 -0.5 0.390625 \n-0.046875 -0.5 0.40625 \n-0.359375 -0.5 0.453125 \n-0.34375 -0.5 0.453125 \n-0.359375 -0.5 0.46875 \n-0.359375 -0.5 0.390625 \n-0.34375 -0.5 0.390625 \n-0.359375 -0.5 0.40625 \n-0.296875 -0.5 0.390625 \n-0.28125 -0.5 0.390625 \n-0.296875 -0.5 0.40625 \n-0.109375 -0.5 0.203125 \n-0.09375 -0.5 0.203125 \n-0.109375 -0.5 0.21875 \n-0.109375 -0.5 0.140625 \n-0.09375 -0.5 0.140625 \n-0.109375 -0.5 0.15625 \n-0.046875 -0.5 0.140625 \n-0.03125 -0.5 0.140625 \n-0.046875 -0.5 0.15625 \n0.390625 -0.5 -0.046875 \n0.40625 -0.5 -0.046875 \n0.390625 -0.5 -0.03125 \n0.390625 -0.5 -0.109375 \n0.40625 -0.5 -0.109375 \n0.390625 -0.5 -0.09375 \n0.453125 -0.5 -0.109375 \n0.46875 -0.5 -0.109375 \n0.453125 -0.5 -0.09375 \n0.140625 -0.5 -0.046875 \n0.15625 -0.5 -0.046875 \n0.140625 -0.5 -0.03125 \n0.140625 -0.5 -0.109375 \n0.15625 -0.5 -0.109375 \n0.140625 -0.5 -0.09375 \n0.203125 -0.5 -0.109375 \n0.21875 -0.5 -0.109375 \n0.203125 -0.5 -0.09375 \n0.390625 -0.5 -0.296875 \n0.40625 -0.5 -0.296875 \n0.390625 -0.5 -0.28125 \n0.390625 -0.5 -0.359375 \n0.40625 -0.5 -0.359375 \n0.390625 -0.5 -0.34375 \n0.453125 -0.5 -0.359375 \n0.46875 -0.5 -0.359375 \n0.453125 -0.5 -0.34375 \n-0.5 -0.453125 -0.390625 \n-0.5 -0.453125 -0.40625 \n-0.5 -0.46875 -0.390625 \n-0.5 -0.390625 -0.390625 \n-0.5 -0.390625 -0.40625 \n-0.5 -0.40625 -0.390625 \n-0.5 -0.390625 -0.453125 \n-0.5 -0.390625 -0.46875 \n-0.5 -0.40625 -0.453125 \n-0.5 -0.453125 -0.140625 \n-0.5 -0.453125 -0.15625 \n-0.5 -0.46875 -0.140625 \n-0.5 -0.390625 -0.140625 \n-0.5 -0.390625 -0.15625 \n-0.5 -0.40625 -0.140625 \n-0.5 -0.390625 -0.203125 \n-0.5 -0.390625 -0.21875 \n-0.5 -0.40625 -0.203125 \n-0.5 -0.203125 -0.390625 \n-0.5 -0.203125 -0.40625 \n-0.5 -0.21875 -0.390625 \n-0.5 -0.140625 -0.390625 \n-0.5 -0.140625 -0.40625 \n-0.5 -0.15625 -0.390625 \n-0.5 -0.140625 -0.453125 \n-0.5 -0.140625 -0.46875 \n-0.5 -0.15625 -0.453125 \n-0.5 -0.453125 0.109375 \n-0.5 -0.453125 0.09375 \n-0.5 -0.46875 0.109375 \n-0.5 -0.390625 0.109375 \n-0.5 -0.390625 0.09375 \n-0.5 -0.40625 0.109375 \n-0.5 -0.390625 0.046875 \n-0.5 -0.390625 0.03125 \n-0.5 -0.40625 0.046875 \n-0.5 -0.453125 0.359375 \n-0.5 -0.453125 0.34375 \n-0.5 -0.46875 0.359375 \n-0.5 -0.390625 0.359375 \n-0.5 -0.390625 0.34375 \n-0.5 -0.40625 0.359375 \n-0.5 -0.390625 0.296875 \n-0.5 -0.390625 0.28125 \n-0.5 -0.40625 0.296875 \n-0.5 -0.203125 0.109375 \n-0.5 -0.203125 0.09375 \n-0.5 -0.21875 0.109375 \n-0.5 -0.140625 0.109375 \n-0.5 -0.140625 0.09375 \n-0.5 -0.15625 0.109375 \n-0.5 -0.140625 0.046875 \n-0.5 -0.140625 0.03125 \n-0.5 -0.15625 0.046875 \n-0.5 0.046875 -0.390625 \n-0.5 0.046875 -0.40625 \n-0.5 0.03125 -0.390625 \n-0.5 0.109375 -0.390625 \n-0.5 0.109375 -0.40625 \n-0.5 0.09375 -0.390625 \n-0.5 0.109375 -0.453125 \n-0.5 0.109375 -0.46875 \n-0.5 0.09375 -0.453125 \n-0.5 0.046875 -0.140625 \n-0.5 0.046875 -0.15625 \n-0.5 0.03125 -0.140625 \n-0.5 0.109375 -0.140625 \n-0.5 0.109375 -0.15625 \n-0.5 0.09375 -0.140625 \n-0.5 0.109375 -0.203125 \n-0.5 0.109375 -0.21875 \n-0.5 0.09375 -0.203125 \n-0.5 0.296875 -0.390625 \n-0.5 0.296875 -0.40625 \n-0.5 0.28125 -0.390625 \n-0.5 0.359375 -0.390625 \n-0.5 0.359375 -0.40625 \n-0.5 0.34375 -0.390625 \n-0.5 0.359375 -0.453125 \n-0.5 0.359375 -0.46875 \n-0.5 0.34375 -0.453125 \n-0.5 0.453125 0.390625 \n-0.5 0.453125 0.40625 \n-0.5 0.46875 0.390625 \n-0.5 0.390625 0.390625 \n-0.5 0.390625 0.40625 \n-0.5 0.40625 0.390625 \n-0.5 0.390625 0.453125 \n-0.5 0.390625 0.46875 \n-0.5 0.40625 0.453125 \n-0.5 0.453125 0.140625 \n-0.5 0.453125 0.15625 \n-0.5 0.46875 0.140625 \n-0.5 0.390625 0.140625 \n-0.5 0.390625 0.15625 \n-0.5 0.40625 0.140625 \n-0.5 0.390625 0.203125 \n-0.5 0.390625 0.21875 \n-0.5 0.40625 0.203125 \n-0.5 0.203125 0.390625 \n-0.5 0.203125 0.40625 \n-0.5 0.21875 0.390625 \n-0.5 0.140625 0.390625 \n-0.5 0.140625 0.40625 \n-0.5 0.15625 0.390625 \n-0.5 0.140625 0.453125 \n-0.5 0.140625 0.46875 \n-0.5 0.15625 0.453125 \n-0.5 0.453125 -0.109375 \n-0.5 0.453125 -0.09375 \n-0.5 0.46875 -0.109375 \n-0.5 0.390625 -0.109375 \n-0.5 0.390625 -0.09375 \n-0.5 0.40625 -0.109375 \n-0.5 0.390625 -0.046875 \n-0.5 0.390625 -0.03125 \n-0.5 0.40625 -0.046875 \n-0.5 0.453125 -0.359375 \n-0.5 0.453125 -0.34375 \n-0.5 0.46875 -0.359375 \n-0.5 0.390625 -0.359375 \n-0.5 0.390625 -0.34375 \n-0.5 0.40625 -0.359375 \n-0.5 0.390625 -0.296875 \n-0.5 0.390625 -0.28125 \n-0.5 0.40625 -0.296875 \n-0.5 0.203125 -0.109375 \n-0.5 0.203125 -0.09375 \n-0.5 0.21875 -0.109375 \n-0.5 0.140625 -0.109375 \n-0.5 0.140625 -0.09375 \n-0.5 0.15625 -0.109375 \n-0.5 0.140625 -0.046875 \n-0.5 0.140625 -0.03125 \n-0.5 0.15625 -0.046875 \n-0.5 -0.046875 0.390625 \n-0.5 -0.046875 0.40625 \n-0.5 -0.03125 0.390625 \n-0.5 -0.109375 0.390625 \n-0.5 -0.109375 0.40625 \n-0.5 -0.09375 0.390625 \n-0.5 -0.109375 0.453125 \n-0.5 -0.109375 0.46875 \n-0.5 -0.09375 0.453125 \n-0.5 -0.046875 0.140625 \n-0.5 -0.046875 0.15625 \n-0.5 -0.03125 0.140625 \n-0.5 -0.109375 0.140625 \n-0.5 -0.109375 0.15625 \n-0.5 -0.09375 0.140625 \n-0.5 -0.109375 0.203125 \n-0.5 -0.109375 0.21875 \n-0.5 -0.09375 0.203125 \n-0.5 -0.296875 0.390625 \n-0.5 -0.296875 0.40625 \n-0.5 -0.28125 0.390625 \n-0.5 -0.359375 0.390625 \n-0.5 -0.359375 0.40625 \n-0.5 -0.34375 0.390625 \n-0.5 -0.359375 0.453125 \n-0.5 -0.359375 0.46875 \n-0.5 -0.34375 0.453125 \n0.046875 0.21875 0.5 \n0.046875 0.234375 0.5 \n0.03125 0.234375 0.5 \n0.109375 0.15625 0.5 \n0.109375 0.171875 0.5 \n0.09375 0.171875 0.5 \n0.109375 0.21875 0.5 \n0.109375 0.234375 0.5 \n0.09375 0.234375 0.5 \n0.171875 0.09375 0.5 \n0.171875 0.109375 0.5 \n0.15625 0.109375 0.5 \n0.234375 0.03125 0.5 \n0.234375 0.046875 0.5 \n0.21875 0.046875 0.5 \n0.234375 0.09375 0.5 \n0.234375 0.109375 0.5 \n0.21875 0.109375 0.5 \n0.171875 0.21875 0.5 \n0.171875 0.234375 0.5 \n0.15625 0.234375 0.5 \n0.234375 0.15625 0.5 \n0.234375 0.171875 0.5 \n0.21875 0.171875 0.5 \n0.234375 0.21875 0.5 \n0.234375 0.234375 0.5 \n0.21875 0.234375 0.5 \n-0.046875 -0.21875 0.5 \n-0.046875 -0.234375 0.5 \n-0.03125 -0.234375 0.5 \n-0.109375 -0.15625 0.5 \n-0.109375 -0.171875 0.5 \n-0.09375 -0.171875 0.5 \n-0.109375 -0.21875 0.5 \n-0.109375 -0.234375 0.5 \n-0.09375 -0.234375 0.5 \n-0.171875 -0.09375 0.5 \n-0.171875 -0.109375 0.5 \n-0.15625 -0.109375 0.5 \n-0.234375 -0.03125 0.5 \n-0.234375 -0.046875 0.5 \n-0.21875 -0.046875 0.5 \n-0.234375 -0.09375 0.5 \n-0.234375 -0.109375 0.5 \n-0.21875 -0.109375 0.5 \n-0.171875 -0.21875 0.5 \n-0.171875 -0.234375 0.5 \n-0.15625 -0.234375 0.5 \n-0.234375 -0.15625 0.5 \n-0.234375 -0.171875 0.5 \n-0.21875 -0.171875 0.5 \n-0.234375 -0.21875 0.5 \n-0.234375 -0.234375 0.5 \n-0.21875 -0.234375 0.5 \n0.5 0.046875 0.21875 \n0.5 0.046875 0.234375 \n0.5 0.03125 0.234375 \n0.5 0.109375 0.15625 \n0.5 0.109375 0.171875 \n0.5 0.09375 0.171875 \n0.5 0.109375 0.21875 \n0.5 0.109375 0.234375 \n0.5 0.09375 0.234375 \n0.5 0.171875 0.09375 \n0.5 0.171875 0.109375 \n0.5 0.15625 0.109375 \n0.5 0.234375 0.03125 \n0.5 0.234375 0.046875 \n0.5 0.21875 0.046875 \n0.5 0.234375 0.09375 \n0.5 0.234375 0.109375 \n0.5 0.21875 0.109375 \n0.5 0.171875 0.21875 \n0.5 0.171875 0.234375 \n0.5 0.15625 0.234375 \n0.5 0.234375 0.15625 \n0.5 0.234375 0.171875 \n0.5 0.21875 0.171875 \n0.5 0.234375 0.21875 \n0.5 0.234375 0.234375 \n0.5 0.21875 0.234375 \n0.5 -0.046875 -0.21875 \n0.5 -0.046875 -0.234375 \n0.5 -0.03125 -0.234375 \n0.5 -0.109375 -0.15625 \n0.5 -0.109375 -0.171875 \n0.5 -0.09375 -0.171875 \n0.5 -0.109375 -0.21875 \n0.5 -0.109375 -0.234375 \n0.5 -0.09375 -0.234375 \n0.5 -0.171875 -0.09375 \n0.5 -0.171875 -0.109375 \n0.5 -0.15625 -0.109375 \n0.5 -0.234375 -0.03125 \n0.5 -0.234375 -0.046875 \n0.5 -0.21875 -0.046875 \n0.5 -0.234375 -0.09375 \n0.5 -0.234375 -0.109375 \n0.5 -0.21875 -0.109375 \n0.5 -0.171875 -0.21875 \n0.5 -0.171875 -0.234375 \n0.5 -0.15625 -0.234375 \n0.5 -0.234375 -0.15625 \n0.5 -0.234375 -0.171875 \n0.5 -0.21875 -0.171875 \n0.5 -0.234375 -0.21875 \n0.5 -0.234375 -0.234375 \n0.5 -0.21875 -0.234375 \n0.21875 0.5 0.046875 \n0.234375 0.5 0.046875 \n0.234375 0.5 0.03125 \n0.15625 0.5 0.109375 \n0.171875 0.5 0.109375 \n0.171875 0.5 0.09375 \n0.21875 0.5 0.109375 \n0.234375 0.5 0.109375 \n0.234375 0.5 0.09375 \n0.09375 0.5 0.171875 \n0.109375 0.5 0.171875 \n0.109375 0.5 0.15625 \n0.03125 0.5 0.234375 \n0.046875 0.5 0.234375 \n0.046875 0.5 0.21875 \n0.09375 0.5 0.234375 \n0.109375 0.5 0.234375 \n0.109375 0.5 0.21875 \n0.21875 0.5 0.171875 \n0.234375 0.5 0.171875 \n0.234375 0.5 0.15625 \n0.15625 0.5 0.234375 \n0.171875 0.5 0.234375 \n0.171875 0.5 0.21875 \n0.21875 0.5 0.234375 \n0.234375 0.5 0.234375 \n0.234375 0.5 0.21875 \n-0.21875 0.5 -0.046875 \n-0.234375 0.5 -0.046875 \n-0.234375 0.5 -0.03125 \n-0.15625 0.5 -0.109375 \n-0.171875 0.5 -0.109375 \n-0.171875 0.5 -0.09375 \n-0.21875 0.5 -0.109375 \n-0.234375 0.5 -0.109375 \n-0.234375 0.5 -0.09375 \n-0.09375 0.5 -0.171875 \n-0.109375 0.5 -0.171875 \n-0.109375 0.5 -0.15625 \n-0.03125 0.5 -0.234375 \n-0.046875 0.5 -0.234375 \n-0.046875 0.5 -0.21875 \n-0.09375 0.5 -0.234375 \n-0.109375 0.5 -0.234375 \n-0.109375 0.5 -0.21875 \n-0.21875 0.5 -0.171875 \n-0.234375 0.5 -0.171875 \n-0.234375 0.5 -0.15625 \n-0.15625 0.5 -0.234375 \n-0.171875 0.5 -0.234375 \n-0.171875 0.5 -0.21875 \n-0.21875 0.5 -0.234375 \n-0.234375 0.5 -0.234375 \n-0.234375 0.5 -0.21875 \n-0.21875 -0.046875 -0.5 \n-0.234375 -0.046875 -0.5 \n-0.234375 -0.03125 -0.5 \n-0.15625 -0.109375 -0.5 \n-0.171875 -0.109375 -0.5 \n-0.171875 -0.09375 -0.5 \n-0.21875 -0.109375 -0.5 \n-0.234375 -0.109375 -0.5 \n-0.234375 -0.09375 -0.5 \n-0.09375 -0.171875 -0.5 \n-0.109375 -0.171875 -0.5 \n-0.109375 -0.15625 -0.5 \n-0.03125 -0.234375 -0.5 \n-0.046875 -0.234375 -0.5 \n-0.046875 -0.21875 -0.5 \n-0.09375 -0.234375 -0.5 \n-0.109375 -0.234375 -0.5 \n-0.109375 -0.21875 -0.5 \n-0.21875 -0.171875 -0.5 \n-0.234375 -0.171875 -0.5 \n-0.234375 -0.15625 -0.5 \n-0.15625 -0.234375 -0.5 \n-0.171875 -0.234375 -0.5 \n-0.171875 -0.21875 -0.5 \n-0.21875 -0.234375 -0.5 \n-0.234375 -0.234375 -0.5 \n-0.234375 -0.21875 -0.5 \n0.21875 0.046875 -0.5 \n0.234375 0.046875 -0.5 \n0.234375 0.03125 -0.5 \n0.15625 0.109375 -0.5 \n0.171875 0.109375 -0.5 \n0.171875 0.09375 -0.5 \n0.21875 0.109375 -0.5 \n0.234375 0.109375 -0.5 \n0.234375 0.09375 -0.5 \n0.09375 0.171875 -0.5 \n0.109375 0.171875 -0.5 \n0.109375 0.15625 -0.5 \n0.03125 0.234375 -0.5 \n0.046875 0.234375 -0.5 \n0.046875 0.21875 -0.5 \n0.09375 0.234375 -0.5 \n0.109375 0.234375 -0.5 \n0.109375 0.21875 -0.5 \n0.21875 0.171875 -0.5 \n0.234375 0.171875 -0.5 \n0.234375 0.15625 -0.5 \n0.15625 0.234375 -0.5 \n0.171875 0.234375 -0.5 \n0.171875 0.21875 -0.5 \n0.21875 0.234375 -0.5 \n0.234375 0.234375 -0.5 \n0.234375 0.21875 -0.5 \n-0.046875 -0.5 -0.21875 \n-0.046875 -0.5 -0.234375 \n-0.03125 -0.5 -0.234375 \n-0.109375 -0.5 -0.15625 \n-0.109375 -0.5 -0.171875 \n-0.09375 -0.5 -0.171875 \n-0.109375 -0.5 -0.21875 \n-0.109375 -0.5 -0.234375 \n-0.09375 -0.5 -0.234375 \n-0.171875 -0.5 -0.09375 \n-0.171875 -0.5 -0.109375 \n-0.15625 -0.5 -0.109375 \n-0.234375 -0.5 -0.03125 \n-0.234375 -0.5 -0.046875 \n-0.21875 -0.5 -0.046875 \n-0.234375 -0.5 -0.09375 \n-0.234375 -0.5 -0.109375 \n-0.21875 -0.5 -0.109375 \n-0.171875 -0.5 -0.21875 \n-0.171875 -0.5 -0.234375 \n-0.15625 -0.5 -0.234375 \n-0.234375 -0.5 -0.15625 \n-0.234375 -0.5 -0.171875 \n-0.21875 -0.5 -0.171875 \n-0.234375 -0.5 -0.21875 \n-0.234375 -0.5 -0.234375 \n-0.21875 -0.5 -0.234375 \n0.046875 -0.5 0.21875 \n0.046875 -0.5 0.234375 \n0.03125 -0.5 0.234375 \n0.109375 -0.5 0.15625 \n0.109375 -0.5 0.171875 \n0.09375 -0.5 0.171875 \n0.109375 -0.5 0.21875 \n0.109375 -0.5 0.234375 \n0.09375 -0.5 0.234375 \n0.171875 -0.5 0.09375 \n0.171875 -0.5 0.109375 \n0.15625 -0.5 0.109375 \n0.234375 -0.5 0.03125 \n0.234375 -0.5 0.046875 \n0.21875 -0.5 0.046875 \n0.234375 -0.5 0.09375 \n0.234375 -0.5 0.109375 \n0.21875 -0.5 0.109375 \n0.171875 -0.5 0.21875 \n0.171875 -0.5 0.234375 \n0.15625 -0.5 0.234375 \n0.234375 -0.5 0.15625 \n0.234375 -0.5 0.171875 \n0.21875 -0.5 0.171875 \n0.234375 -0.5 0.21875 \n0.234375 -0.5 0.234375 \n0.21875 -0.5 0.234375 \n-0.5 -0.21875 -0.046875 \n-0.5 -0.234375 -0.046875 \n-0.5 -0.234375 -0.03125 \n-0.5 -0.15625 -0.109375 \n-0.5 -0.171875 -0.109375 \n-0.5 -0.171875 -0.09375 \n-0.5 -0.21875 -0.109375 \n-0.5 -0.234375 -0.109375 \n-0.5 -0.234375 -0.09375 \n-0.5 -0.09375 -0.171875 \n-0.5 -0.109375 -0.171875 \n-0.5 -0.109375 -0.15625 \n-0.5 -0.03125 -0.234375 \n-0.5 -0.046875 -0.234375 \n-0.5 -0.046875 -0.21875 \n-0.5 -0.09375 -0.234375 \n-0.5 -0.109375 -0.234375 \n-0.5 -0.109375 -0.21875 \n-0.5 -0.21875 -0.171875 \n-0.5 -0.234375 -0.171875 \n-0.5 -0.234375 -0.15625 \n-0.5 -0.15625 -0.234375 \n-0.5 -0.171875 -0.234375 \n-0.5 -0.171875 -0.21875 \n-0.5 -0.21875 -0.234375 \n-0.5 -0.234375 -0.234375 \n-0.5 -0.234375 -0.21875 \n-0.5 0.21875 0.046875 \n-0.5 0.234375 0.046875 \n-0.5 0.234375 0.03125 \n-0.5 0.15625 0.109375 \n-0.5 0.171875 0.109375 \n-0.5 0.171875 0.09375 \n-0.5 0.21875 0.109375 \n-0.5 0.234375 0.109375 \n-0.5 0.234375 0.09375 \n-0.5 0.09375 0.171875 \n-0.5 0.109375 0.171875 \n-0.5 0.109375 0.15625 \n-0.5 0.03125 0.234375 \n-0.5 0.046875 0.234375 \n-0.5 0.046875 0.21875 \n-0.5 0.09375 0.234375 \n-0.5 0.109375 0.234375 \n-0.5 0.109375 0.21875 \n-0.5 0.21875 0.171875 \n-0.5 0.234375 0.171875 \n-0.5 0.234375 0.15625 \n-0.5 0.15625 0.234375 \n-0.5 0.171875 0.234375 \n-0.5 0.171875 0.21875 \n-0.5 0.21875 0.234375 \n-0.5 0.234375 0.234375 \n-0.5 0.234375 0.21875 \n0.265625 0.453125 0.5 \n0.28125 0.453125 0.5 \n0.265625 0.46875 0.5 \n0.265625 0.390625 0.5 \n0.28125 0.390625 0.5 \n0.265625 0.40625 0.5 \n0.328125 0.390625 0.5 \n0.34375 0.390625 0.5 \n0.328125 0.40625 0.5 \n0.265625 0.328125 0.5 \n0.28125 0.328125 0.5 \n0.265625 0.34375 0.5 \n0.265625 0.265625 0.5 \n0.28125 0.265625 0.5 \n0.265625 0.28125 0.5 \n0.328125 0.265625 0.5 \n0.34375 0.265625 0.5 \n0.328125 0.28125 0.5 \n0.390625 0.328125 0.5 \n0.40625 0.328125 0.5 \n0.390625 0.34375 0.5 \n0.390625 0.265625 0.5 \n0.40625 0.265625 0.5 \n0.390625 0.28125 0.5 \n0.453125 0.265625 0.5 \n0.46875 0.265625 0.5 \n0.453125 0.28125 0.5 \n-0.234375 0.453125 0.5 \n-0.21875 0.453125 0.5 \n-0.234375 0.46875 0.5 \n-0.234375 0.390625 0.5 \n-0.21875 0.390625 0.5 \n-0.234375 0.40625 0.5 \n-0.171875 0.390625 0.5 \n-0.15625 0.390625 0.5 \n-0.171875 0.40625 0.5 \n-0.234375 0.328125 0.5 \n-0.21875 0.328125 0.5 \n-0.234375 0.34375 0.5 \n-0.234375 0.265625 0.5 \n-0.21875 0.265625 0.5 \n-0.234375 0.28125 0.5 \n-0.171875 0.265625 0.5 \n-0.15625 0.265625 0.5 \n-0.171875 0.28125 0.5 \n-0.109375 0.328125 0.5 \n-0.09375 0.328125 0.5 \n-0.109375 0.34375 0.5 \n-0.109375 0.265625 0.5 \n-0.09375 0.265625 0.5 \n-0.109375 0.28125 0.5 \n-0.046875 0.265625 0.5 \n-0.03125 0.265625 0.5 \n-0.046875 0.28125 0.5 \n0.265625 -0.046875 0.5 \n0.28125 -0.046875 0.5 \n0.265625 -0.03125 0.5 \n0.265625 -0.109375 0.5 \n0.28125 -0.109375 0.5 \n0.265625 -0.09375 0.5 \n0.328125 -0.109375 0.5 \n0.34375 -0.109375 0.5 \n0.328125 -0.09375 0.5 \n0.265625 -0.171875 0.5 \n0.28125 -0.171875 0.5 \n0.265625 -0.15625 0.5 \n0.265625 -0.234375 0.5 \n0.28125 -0.234375 0.5 \n0.265625 -0.21875 0.5 \n0.328125 -0.234375 0.5 \n0.34375 -0.234375 0.5 \n0.328125 -0.21875 0.5 \n0.390625 -0.171875 0.5 \n0.40625 -0.171875 0.5 \n0.390625 -0.15625 0.5 \n0.390625 -0.234375 0.5 \n0.40625 -0.234375 0.5 \n0.390625 -0.21875 0.5 \n0.453125 -0.234375 0.5 \n0.46875 -0.234375 0.5 \n0.453125 -0.21875 0.5 \n-0.265625 -0.453125 0.5 \n-0.28125 -0.453125 0.5 \n-0.265625 -0.46875 0.5 \n-0.265625 -0.390625 0.5 \n-0.28125 -0.390625 0.5 \n-0.265625 -0.40625 0.5 \n-0.328125 -0.390625 0.5 \n-0.34375 -0.390625 0.5 \n-0.328125 -0.40625 0.5 \n-0.265625 -0.328125 0.5 \n-0.28125 -0.328125 0.5 \n-0.265625 -0.34375 0.5 \n-0.265625 -0.265625 0.5 \n-0.28125 -0.265625 0.5 \n-0.265625 -0.28125 0.5 \n-0.328125 -0.265625 0.5 \n-0.34375 -0.265625 0.5 \n-0.328125 -0.28125 0.5 \n-0.390625 -0.328125 0.5 \n-0.40625 -0.328125 0.5 \n-0.390625 -0.34375 0.5 \n-0.390625 -0.265625 0.5 \n-0.40625 -0.265625 0.5 \n-0.390625 -0.28125 0.5 \n-0.453125 -0.265625 0.5 \n-0.46875 -0.265625 0.5 \n-0.453125 -0.28125 0.5 \n0.234375 -0.453125 0.5 \n0.21875 -0.453125 0.5 \n0.234375 -0.46875 0.5 \n0.234375 -0.390625 0.5 \n0.21875 -0.390625 0.5 \n0.234375 -0.40625 0.5 \n0.171875 -0.390625 0.5 \n0.15625 -0.390625 0.5 \n0.171875 -0.40625 0.5 \n0.234375 -0.328125 0.5 \n0.21875 -0.328125 0.5 \n0.234375 -0.34375 0.5 \n0.234375 -0.265625 0.5 \n0.21875 -0.265625 0.5 \n0.234375 -0.28125 0.5 \n0.171875 -0.265625 0.5 \n0.15625 -0.265625 0.5 \n0.171875 -0.28125 0.5 \n0.109375 -0.328125 0.5 \n0.09375 -0.328125 0.5 \n0.109375 -0.34375 0.5 \n0.109375 -0.265625 0.5 \n0.09375 -0.265625 0.5 \n0.109375 -0.28125 0.5 \n0.046875 -0.265625 0.5 \n0.03125 -0.265625 0.5 \n0.046875 -0.28125 0.5 \n-0.265625 0.046875 0.5 \n-0.28125 0.046875 0.5 \n-0.265625 0.03125 0.5 \n-0.265625 0.109375 0.5 \n-0.28125 0.109375 0.5 \n-0.265625 0.09375 0.5 \n-0.328125 0.109375 0.5 \n-0.34375 0.109375 0.5 \n-0.328125 0.09375 0.5 \n-0.265625 0.171875 0.5 \n-0.28125 0.171875 0.5 \n-0.265625 0.15625 0.5 \n-0.265625 0.234375 0.5 \n-0.28125 0.234375 0.5 \n-0.265625 0.21875 0.5 \n-0.328125 0.234375 0.5 \n-0.34375 0.234375 0.5 \n-0.328125 0.21875 0.5 \n-0.390625 0.171875 0.5 \n-0.40625 0.171875 0.5 \n-0.390625 0.15625 0.5 \n-0.390625 0.234375 0.5 \n-0.40625 0.234375 0.5 \n-0.390625 0.21875 0.5 \n-0.453125 0.234375 0.5 \n-0.46875 0.234375 0.5 \n-0.453125 0.21875 0.5 \n0.5 0.265625 0.453125 \n0.5 0.28125 0.453125 \n0.5 0.265625 0.46875 \n0.5 0.265625 0.390625 \n0.5 0.28125 0.390625 \n0.5 0.265625 0.40625 \n0.5 0.328125 0.390625 \n0.5 0.34375 0.390625 \n0.5 0.328125 0.40625 \n0.5 0.265625 0.328125 \n0.5 0.28125 0.328125 \n0.5 0.265625 0.34375 \n0.5 0.265625 0.265625 \n0.5 0.28125 0.265625 \n0.5 0.265625 0.28125 \n0.5 0.328125 0.265625 \n0.5 0.34375 0.265625 \n0.5 0.328125 0.28125 \n0.5 0.390625 0.328125 \n0.5 0.40625 0.328125 \n0.5 0.390625 0.34375 \n0.5 0.390625 0.265625 \n0.5 0.40625 0.265625 \n0.5 0.390625 0.28125 \n0.5 0.453125 0.265625 \n0.5 0.46875 0.265625 \n0.5 0.453125 0.28125 \n0.5 -0.234375 0.453125 \n0.5 -0.21875 0.453125 \n0.5 -0.234375 0.46875 \n0.5 -0.234375 0.390625 \n0.5 -0.21875 0.390625 \n0.5 -0.234375 0.40625 \n0.5 -0.171875 0.390625 \n0.5 -0.15625 0.390625 \n0.5 -0.171875 0.40625 \n0.5 -0.234375 0.328125 \n0.5 -0.21875 0.328125 \n0.5 -0.234375 0.34375 \n0.5 -0.234375 0.265625 \n0.5 -0.21875 0.265625 \n0.5 -0.234375 0.28125 \n0.5 -0.171875 0.265625 \n0.5 -0.15625 0.265625 \n0.5 -0.171875 0.28125 \n0.5 -0.109375 0.328125 \n0.5 -0.09375 0.328125 \n0.5 -0.109375 0.34375 \n0.5 -0.109375 0.265625 \n0.5 -0.09375 0.265625 \n0.5 -0.109375 0.28125 \n0.5 -0.046875 0.265625 \n0.5 -0.03125 0.265625 \n0.5 -0.046875 0.28125 \n0.5 0.265625 -0.046875 \n0.5 0.28125 -0.046875 \n0.5 0.265625 -0.03125 \n0.5 0.265625 -0.109375 \n0.5 0.28125 -0.109375 \n0.5 0.265625 -0.09375 \n0.5 0.328125 -0.109375 \n0.5 0.34375 -0.109375 \n0.5 0.328125 -0.09375 \n0.5 0.265625 -0.171875 \n0.5 0.28125 -0.171875 \n0.5 0.265625 -0.15625 \n0.5 0.265625 -0.234375 \n0.5 0.28125 -0.234375 \n0.5 0.265625 -0.21875 \n0.5 0.328125 -0.234375 \n0.5 0.34375 -0.234375 \n0.5 0.328125 -0.21875 \n0.5 0.390625 -0.171875 \n0.5 0.40625 -0.171875 \n0.5 0.390625 -0.15625 \n0.5 0.390625 -0.234375 \n0.5 0.40625 -0.234375 \n0.5 0.390625 -0.21875 \n0.5 0.453125 -0.234375 \n0.5 0.46875 -0.234375 \n0.5 0.453125 -0.21875 \n0.5 -0.265625 -0.453125 \n0.5 -0.28125 -0.453125 \n0.5 -0.265625 -0.46875 \n0.5 -0.265625 -0.390625 \n0.5 -0.28125 -0.390625 \n0.5 -0.265625 -0.40625 \n0.5 -0.328125 -0.390625 \n0.5 -0.34375 -0.390625 \n0.5 -0.328125 -0.40625 \n0.5 -0.265625 -0.328125 \n0.5 -0.28125 -0.328125 \n0.5 -0.265625 -0.34375 \n0.5 -0.265625 -0.265625 \n0.5 -0.28125 -0.265625 \n0.5 -0.265625 -0.28125 \n0.5 -0.328125 -0.265625 \n0.5 -0.34375 -0.265625 \n0.5 -0.328125 -0.28125 \n0.5 -0.390625 -0.328125 \n0.5 -0.40625 -0.328125 \n0.5 -0.390625 -0.34375 \n0.5 -0.390625 -0.265625 \n0.5 -0.40625 -0.265625 \n0.5 -0.390625 -0.28125 \n0.5 -0.453125 -0.265625 \n0.5 -0.46875 -0.265625 \n0.5 -0.453125 -0.28125 \n0.5 0.234375 -0.453125 \n0.5 0.21875 -0.453125 \n0.5 0.234375 -0.46875 \n0.5 0.234375 -0.390625 \n0.5 0.21875 -0.390625 \n0.5 0.234375 -0.40625 \n0.5 0.171875 -0.390625 \n0.5 0.15625 -0.390625 \n0.5 0.171875 -0.40625 \n0.5 0.234375 -0.328125 \n0.5 0.21875 -0.328125 \n0.5 0.234375 -0.34375 \n0.5 0.234375 -0.265625 \n0.5 0.21875 -0.265625 \n0.5 0.234375 -0.28125 \n0.5 0.171875 -0.265625 \n0.5 0.15625 -0.265625 \n0.5 0.171875 -0.28125 \n0.5 0.109375 -0.328125 \n0.5 0.09375 -0.328125 \n0.5 0.109375 -0.34375 \n0.5 0.109375 -0.265625 \n0.5 0.09375 -0.265625 \n0.5 0.109375 -0.28125 \n0.5 0.046875 -0.265625 \n0.5 0.03125 -0.265625 \n0.5 0.046875 -0.28125 \n0.5 -0.265625 0.046875 \n0.5 -0.28125 0.046875 \n0.5 -0.265625 0.03125 \n0.5 -0.265625 0.109375 \n0.5 -0.28125 0.109375 \n0.5 -0.265625 0.09375 \n0.5 -0.328125 0.109375 \n0.5 -0.34375 0.109375 \n0.5 -0.328125 0.09375 \n0.5 -0.265625 0.171875 \n0.5 -0.28125 0.171875 \n0.5 -0.265625 0.15625 \n0.5 -0.265625 0.234375 \n0.5 -0.28125 0.234375 \n0.5 -0.265625 0.21875 \n0.5 -0.328125 0.234375 \n0.5 -0.34375 0.234375 \n0.5 -0.328125 0.21875 \n0.5 -0.390625 0.171875 \n0.5 -0.40625 0.171875 \n0.5 -0.390625 0.15625 \n0.5 -0.390625 0.234375 \n0.5 -0.40625 0.234375 \n0.5 -0.390625 0.21875 \n0.5 -0.453125 0.234375 \n0.5 -0.46875 0.234375 \n0.5 -0.453125 0.21875 \n0.453125 0.5 0.265625 \n0.453125 0.5 0.28125 \n0.46875 0.5 0.265625 \n0.390625 0.5 0.265625 \n0.390625 0.5 0.28125 \n0.40625 0.5 0.265625 \n0.390625 0.5 0.328125 \n0.390625 0.5 0.34375 \n0.40625 0.5 0.328125 \n0.328125 0.5 0.265625 \n0.328125 0.5 0.28125 \n0.34375 0.5 0.265625 \n0.265625 0.5 0.265625 \n0.265625 0.5 0.28125 \n0.28125 0.5 0.265625 \n0.265625 0.5 0.328125 \n0.265625 0.5 0.34375 \n0.28125 0.5 0.328125 \n0.328125 0.5 0.390625 \n0.328125 0.5 0.40625 \n0.34375 0.5 0.390625 \n0.265625 0.5 0.390625 \n0.265625 0.5 0.40625 \n0.28125 0.5 0.390625 \n0.265625 0.5 0.453125 \n0.265625 0.5 0.46875 \n0.28125 0.5 0.453125 \n0.453125 0.5 -0.234375 \n0.453125 0.5 -0.21875 \n0.46875 0.5 -0.234375 \n0.390625 0.5 -0.234375 \n0.390625 0.5 -0.21875 \n0.40625 0.5 -0.234375 \n0.390625 0.5 -0.171875 \n0.390625 0.5 -0.15625 \n0.40625 0.5 -0.171875 \n0.328125 0.5 -0.234375 \n0.328125 0.5 -0.21875 \n0.34375 0.5 -0.234375 \n0.265625 0.5 -0.234375 \n0.265625 0.5 -0.21875 \n0.28125 0.5 -0.234375 \n0.265625 0.5 -0.171875 \n0.265625 0.5 -0.15625 \n0.28125 0.5 -0.171875 \n0.328125 0.5 -0.109375 \n0.328125 0.5 -0.09375 \n0.34375 0.5 -0.109375 \n0.265625 0.5 -0.109375 \n0.265625 0.5 -0.09375 \n0.28125 0.5 -0.109375 \n0.265625 0.5 -0.046875 \n0.265625 0.5 -0.03125 \n0.28125 0.5 -0.046875 \n-0.046875 0.5 0.265625 \n-0.046875 0.5 0.28125 \n-0.03125 0.5 0.265625 \n-0.109375 0.5 0.265625 \n-0.109375 0.5 0.28125 \n-0.09375 0.5 0.265625 \n-0.109375 0.5 0.328125 \n-0.109375 0.5 0.34375 \n-0.09375 0.5 0.328125 \n-0.171875 0.5 0.265625 \n-0.171875 0.5 0.28125 \n-0.15625 0.5 0.265625 \n-0.234375 0.5 0.265625 \n-0.234375 0.5 0.28125 \n-0.21875 0.5 0.265625 \n-0.234375 0.5 0.328125 \n-0.234375 0.5 0.34375 \n-0.21875 0.5 0.328125 \n-0.171875 0.5 0.390625 \n-0.171875 0.5 0.40625 \n-0.15625 0.5 0.390625 \n-0.234375 0.5 0.390625 \n-0.234375 0.5 0.40625 \n-0.21875 0.5 0.390625 \n-0.234375 0.5 0.453125 \n-0.234375 0.5 0.46875 \n-0.21875 0.5 0.453125 \n-0.453125 0.5 -0.265625 \n-0.453125 0.5 -0.28125 \n-0.46875 0.5 -0.265625 \n-0.390625 0.5 -0.265625 \n-0.390625 0.5 -0.28125 \n-0.40625 0.5 -0.265625 \n-0.390625 0.5 -0.328125 \n-0.390625 0.5 -0.34375 \n-0.40625 0.5 -0.328125 \n-0.328125 0.5 -0.265625 \n-0.328125 0.5 -0.28125 \n-0.34375 0.5 -0.265625 \n-0.265625 0.5 -0.265625 \n-0.265625 0.5 -0.28125 \n-0.28125 0.5 -0.265625 \n-0.265625 0.5 -0.328125 \n-0.265625 0.5 -0.34375 \n-0.28125 0.5 -0.328125 \n-0.328125 0.5 -0.390625 \n-0.328125 0.5 -0.40625 \n-0.34375 0.5 -0.390625 \n-0.265625 0.5 -0.390625 \n-0.265625 0.5 -0.40625 \n-0.28125 0.5 -0.390625 \n-0.265625 0.5 -0.453125 \n-0.265625 0.5 -0.46875 \n-0.28125 0.5 -0.453125 \n-0.453125 0.5 0.234375 \n-0.453125 0.5 0.21875 \n-0.46875 0.5 0.234375 \n-0.390625 0.5 0.234375 \n-0.390625 0.5 0.21875 \n-0.40625 0.5 0.234375 \n-0.390625 0.5 0.171875 \n-0.390625 0.5 0.15625 \n-0.40625 0.5 0.171875 \n-0.328125 0.5 0.234375 \n-0.328125 0.5 0.21875 \n-0.34375 0.5 0.234375 \n-0.265625 0.5 0.234375 \n-0.265625 0.5 0.21875 \n-0.28125 0.5 0.234375 \n-0.265625 0.5 0.171875 \n-0.265625 0.5 0.15625 \n-0.28125 0.5 0.171875 \n-0.328125 0.5 0.109375 \n-0.328125 0.5 0.09375 \n-0.34375 0.5 0.109375 \n-0.265625 0.5 0.109375 \n-0.265625 0.5 0.09375 \n-0.28125 0.5 0.109375 \n-0.265625 0.5 0.046875 \n-0.265625 0.5 0.03125 \n-0.28125 0.5 0.046875 \n0.046875 0.5 -0.265625 \n0.046875 0.5 -0.28125 \n0.03125 0.5 -0.265625 \n0.109375 0.5 -0.265625 \n0.109375 0.5 -0.28125 \n0.09375 0.5 -0.265625 \n0.109375 0.5 -0.328125 \n0.109375 0.5 -0.34375 \n0.09375 0.5 -0.328125 \n0.171875 0.5 -0.265625 \n0.171875 0.5 -0.28125 \n0.15625 0.5 -0.265625 \n0.234375 0.5 -0.265625 \n0.234375 0.5 -0.28125 \n0.21875 0.5 -0.265625 \n0.234375 0.5 -0.328125 \n0.234375 0.5 -0.34375 \n0.21875 0.5 -0.328125 \n0.171875 0.5 -0.390625 \n0.171875 0.5 -0.40625 \n0.15625 0.5 -0.390625 \n0.234375 0.5 -0.390625 \n0.234375 0.5 -0.40625 \n0.21875 0.5 -0.390625 \n0.234375 0.5 -0.453125 \n0.234375 0.5 -0.46875 \n0.21875 0.5 -0.453125 \n-0.453125 -0.265625 -0.5 \n-0.453125 -0.28125 -0.5 \n-0.46875 -0.265625 -0.5 \n-0.390625 -0.265625 -0.5 \n-0.390625 -0.28125 -0.5 \n-0.40625 -0.265625 -0.5 \n-0.390625 -0.328125 -0.5 \n-0.390625 -0.34375 -0.5 \n-0.40625 -0.328125 -0.5 \n-0.328125 -0.265625 -0.5 \n-0.328125 -0.28125 -0.5 \n-0.34375 -0.265625 -0.5 \n-0.265625 -0.265625 -0.5 \n-0.265625 -0.28125 -0.5 \n-0.28125 -0.265625 -0.5 \n-0.265625 -0.328125 -0.5 \n-0.265625 -0.34375 -0.5 \n-0.28125 -0.328125 -0.5 \n-0.328125 -0.390625 -0.5 \n-0.328125 -0.40625 -0.5 \n-0.34375 -0.390625 -0.5 \n-0.265625 -0.390625 -0.5 \n-0.265625 -0.40625 -0.5 \n-0.28125 -0.390625 -0.5 \n-0.265625 -0.453125 -0.5 \n-0.265625 -0.46875 -0.5 \n-0.28125 -0.453125 -0.5 \n-0.453125 0.234375 -0.5 \n-0.453125 0.21875 -0.5 \n-0.46875 0.234375 -0.5 \n-0.390625 0.234375 -0.5 \n-0.390625 0.21875 -0.5 \n-0.40625 0.234375 -0.5 \n-0.390625 0.171875 -0.5 \n-0.390625 0.15625 -0.5 \n-0.40625 0.171875 -0.5 \n-0.328125 0.234375 -0.5 \n-0.328125 0.21875 -0.5 \n-0.34375 0.234375 -0.5 \n-0.265625 0.234375 -0.5 \n-0.265625 0.21875 -0.5 \n-0.28125 0.234375 -0.5 \n-0.265625 0.171875 -0.5 \n-0.265625 0.15625 -0.5 \n-0.28125 0.171875 -0.5 \n-0.328125 0.109375 -0.5 \n-0.328125 0.09375 -0.5 \n-0.34375 0.109375 -0.5 \n-0.265625 0.109375 -0.5 \n-0.265625 0.09375 -0.5 \n-0.28125 0.109375 -0.5 \n-0.265625 0.046875 -0.5 \n-0.265625 0.03125 -0.5 \n-0.28125 0.046875 -0.5 \n0.046875 -0.265625 -0.5 \n0.046875 -0.28125 -0.5 \n0.03125 -0.265625 -0.5 \n0.109375 -0.265625 -0.5 \n0.109375 -0.28125 -0.5 \n0.09375 -0.265625 -0.5 \n0.109375 -0.328125 -0.5 \n0.109375 -0.34375 -0.5 \n0.09375 -0.328125 -0.5 \n0.171875 -0.265625 -0.5 \n0.171875 -0.28125 -0.5 \n0.15625 -0.265625 -0.5 \n0.234375 -0.265625 -0.5 \n0.234375 -0.28125 -0.5 \n0.21875 -0.265625 -0.5 \n0.234375 -0.328125 -0.5 \n0.234375 -0.34375 -0.5 \n0.21875 -0.328125 -0.5 \n0.171875 -0.390625 -0.5 \n0.171875 -0.40625 -0.5 \n0.15625 -0.390625 -0.5 \n0.234375 -0.390625 -0.5 \n0.234375 -0.40625 -0.5 \n0.21875 -0.390625 -0.5 \n0.234375 -0.453125 -0.5 \n0.234375 -0.46875 -0.5 \n0.21875 -0.453125 -0.5 \n0.453125 0.265625 -0.5 \n0.453125 0.28125 -0.5 \n0.46875 0.265625 -0.5 \n0.390625 0.265625 -0.5 \n0.390625 0.28125 -0.5 \n0.40625 0.265625 -0.5 \n0.390625 0.328125 -0.5 \n0.390625 0.34375 -0.5 \n0.40625 0.328125 -0.5 \n0.328125 0.265625 -0.5 \n0.328125 0.28125 -0.5 \n0.34375 0.265625 -0.5 \n0.265625 0.265625 -0.5 \n0.265625 0.28125 -0.5 \n0.28125 0.265625 -0.5 \n0.265625 0.328125 -0.5 \n0.265625 0.34375 -0.5 \n0.28125 0.328125 -0.5 \n0.328125 0.390625 -0.5 \n0.328125 0.40625 -0.5 \n0.34375 0.390625 -0.5 \n0.265625 0.390625 -0.5 \n0.265625 0.40625 -0.5 \n0.28125 0.390625 -0.5 \n0.265625 0.453125 -0.5 \n0.265625 0.46875 -0.5 \n0.28125 0.453125 -0.5 \n0.453125 -0.234375 -0.5 \n0.453125 -0.21875 -0.5 \n0.46875 -0.234375 -0.5 \n0.390625 -0.234375 -0.5 \n0.390625 -0.21875 -0.5 \n0.40625 -0.234375 -0.5 \n0.390625 -0.171875 -0.5 \n0.390625 -0.15625 -0.5 \n0.40625 -0.171875 -0.5 \n0.328125 -0.234375 -0.5 \n0.328125 -0.21875 -0.5 \n0.34375 -0.234375 -0.5 \n0.265625 -0.234375 -0.5 \n0.265625 -0.21875 -0.5 \n0.28125 -0.234375 -0.5 \n0.265625 -0.171875 -0.5 \n0.265625 -0.15625 -0.5 \n0.28125 -0.171875 -0.5 \n0.328125 -0.109375 -0.5 \n0.328125 -0.09375 -0.5 \n0.34375 -0.109375 -0.5 \n0.265625 -0.109375 -0.5 \n0.265625 -0.09375 -0.5 \n0.28125 -0.109375 -0.5 \n0.265625 -0.046875 -0.5 \n0.265625 -0.03125 -0.5 \n0.28125 -0.046875 -0.5 \n-0.046875 0.265625 -0.5 \n-0.046875 0.28125 -0.5 \n-0.03125 0.265625 -0.5 \n-0.109375 0.265625 -0.5 \n-0.109375 0.28125 -0.5 \n-0.09375 0.265625 -0.5 \n-0.109375 0.328125 -0.5 \n-0.109375 0.34375 -0.5 \n-0.09375 0.328125 -0.5 \n-0.171875 0.265625 -0.5 \n-0.171875 0.28125 -0.5 \n-0.15625 0.265625 -0.5 \n-0.234375 0.265625 -0.5 \n-0.234375 0.28125 -0.5 \n-0.21875 0.265625 -0.5 \n-0.234375 0.328125 -0.5 \n-0.234375 0.34375 -0.5 \n-0.21875 0.328125 -0.5 \n-0.171875 0.390625 -0.5 \n-0.171875 0.40625 -0.5 \n-0.15625 0.390625 -0.5 \n-0.234375 0.390625 -0.5 \n-0.234375 0.40625 -0.5 \n-0.21875 0.390625 -0.5 \n-0.234375 0.453125 -0.5 \n-0.234375 0.46875 -0.5 \n-0.21875 0.453125 -0.5 \n-0.265625 -0.5 -0.453125 \n-0.28125 -0.5 -0.453125 \n-0.265625 -0.5 -0.46875 \n-0.265625 -0.5 -0.390625 \n-0.28125 -0.5 -0.390625 \n-0.265625 -0.5 -0.40625 \n-0.328125 -0.5 -0.390625 \n-0.34375 -0.5 -0.390625 \n-0.328125 -0.5 -0.40625 \n-0.265625 -0.5 -0.328125 \n-0.28125 -0.5 -0.328125 \n-0.265625 -0.5 -0.34375 \n-0.265625 -0.5 -0.265625 \n-0.28125 -0.5 -0.265625 \n-0.265625 -0.5 -0.28125 \n-0.328125 -0.5 -0.265625 \n-0.34375 -0.5 -0.265625 \n-0.328125 -0.5 -0.28125 \n-0.390625 -0.5 -0.328125 \n-0.40625 -0.5 -0.328125 \n-0.390625 -0.5 -0.34375 \n-0.390625 -0.5 -0.265625 \n-0.40625 -0.5 -0.265625 \n-0.390625 -0.5 -0.28125 \n-0.453125 -0.5 -0.265625 \n-0.46875 -0.5 -0.265625 \n-0.453125 -0.5 -0.28125 \n0.234375 -0.5 -0.453125 \n0.21875 -0.5 -0.453125 \n0.234375 -0.5 -0.46875 \n0.234375 -0.5 -0.390625 \n0.21875 -0.5 -0.390625 \n0.234375 -0.5 -0.40625 \n0.171875 -0.5 -0.390625 \n0.15625 -0.5 -0.390625 \n0.171875 -0.5 -0.40625 \n0.234375 -0.5 -0.328125 \n0.21875 -0.5 -0.328125 \n0.234375 -0.5 -0.34375 \n0.234375 -0.5 -0.265625 \n0.21875 -0.5 -0.265625 \n0.234375 -0.5 -0.28125 \n0.171875 -0.5 -0.265625 \n0.15625 -0.5 -0.265625 \n0.171875 -0.5 -0.28125 \n0.109375 -0.5 -0.328125 \n0.09375 -0.5 -0.328125 \n0.109375 -0.5 -0.34375 \n0.109375 -0.5 -0.265625 \n0.09375 -0.5 -0.265625 \n0.109375 -0.5 -0.28125 \n0.046875 -0.5 -0.265625 \n0.03125 -0.5 -0.265625 \n0.046875 -0.5 -0.28125 \n-0.265625 -0.5 0.046875 \n-0.28125 -0.5 0.046875 \n-0.265625 -0.5 0.03125 \n-0.265625 -0.5 0.109375 \n-0.28125 -0.5 0.109375 \n-0.265625 -0.5 0.09375 \n-0.328125 -0.5 0.109375 \n-0.34375 -0.5 0.109375 \n-0.328125 -0.5 0.09375 \n-0.265625 -0.5 0.171875 \n-0.28125 -0.5 0.171875 \n-0.265625 -0.5 0.15625 \n-0.265625 -0.5 0.234375 \n-0.28125 -0.5 0.234375 \n-0.265625 -0.5 0.21875 \n-0.328125 -0.5 0.234375 \n-0.34375 -0.5 0.234375 \n-0.328125 -0.5 0.21875 \n-0.390625 -0.5 0.171875 \n-0.40625 -0.5 0.171875 \n-0.390625 -0.5 0.15625 \n-0.390625 -0.5 0.234375 \n-0.40625 -0.5 0.234375 \n-0.390625 -0.5 0.21875 \n-0.453125 -0.5 0.234375 \n-0.46875 -0.5 0.234375 \n-0.453125 -0.5 0.21875 \n0.265625 -0.5 0.453125 \n0.28125 -0.5 0.453125 \n0.265625 -0.5 0.46875 \n0.265625 -0.5 0.390625 \n0.28125 -0.5 0.390625 \n0.265625 -0.5 0.40625 \n0.328125 -0.5 0.390625 \n0.34375 -0.5 0.390625 \n0.328125 -0.5 0.40625 \n0.265625 -0.5 0.328125 \n0.28125 -0.5 0.328125 \n0.265625 -0.5 0.34375 \n0.265625 -0.5 0.265625 \n0.28125 -0.5 0.265625 \n0.265625 -0.5 0.28125 \n0.328125 -0.5 0.265625 \n0.34375 -0.5 0.265625 \n0.328125 -0.5 0.28125 \n0.390625 -0.5 0.328125 \n0.40625 -0.5 0.328125 \n0.390625 -0.5 0.34375 \n0.390625 -0.5 0.265625 \n0.40625 -0.5 0.265625 \n0.390625 -0.5 0.28125 \n0.453125 -0.5 0.265625 \n0.46875 -0.5 0.265625 \n0.453125 -0.5 0.28125 \n-0.234375 -0.5 0.453125 \n-0.21875 -0.5 0.453125 \n-0.234375 -0.5 0.46875 \n-0.234375 -0.5 0.390625 \n-0.21875 -0.5 0.390625 \n-0.234375 -0.5 0.40625 \n-0.171875 -0.5 0.390625 \n-0.15625 -0.5 0.390625 \n-0.171875 -0.5 0.40625 \n-0.234375 -0.5 0.328125 \n-0.21875 -0.5 0.328125 \n-0.234375 -0.5 0.34375 \n-0.234375 -0.5 0.265625 \n-0.21875 -0.5 0.265625 \n-0.234375 -0.5 0.28125 \n-0.171875 -0.5 0.265625 \n-0.15625 -0.5 0.265625 \n-0.171875 -0.5 0.28125 \n-0.109375 -0.5 0.328125 \n-0.09375 -0.5 0.328125 \n-0.109375 -0.5 0.34375 \n-0.109375 -0.5 0.265625 \n-0.09375 -0.5 0.265625 \n-0.109375 -0.5 0.28125 \n-0.046875 -0.5 0.265625 \n-0.03125 -0.5 0.265625 \n-0.046875 -0.5 0.28125 \n0.265625 -0.5 -0.046875 \n0.28125 -0.5 -0.046875 \n0.265625 -0.5 -0.03125 \n0.265625 -0.5 -0.109375 \n0.28125 -0.5 -0.109375 \n0.265625 -0.5 -0.09375 \n0.328125 -0.5 -0.109375 \n0.34375 -0.5 -0.109375 \n0.328125 -0.5 -0.09375 \n0.265625 -0.5 -0.171875 \n0.28125 -0.5 -0.171875 \n0.265625 -0.5 -0.15625 \n0.265625 -0.5 -0.234375 \n0.28125 -0.5 -0.234375 \n0.265625 -0.5 -0.21875 \n0.328125 -0.5 -0.234375 \n0.34375 -0.5 -0.234375 \n0.328125 -0.5 -0.21875 \n0.390625 -0.5 -0.171875 \n0.40625 -0.5 -0.171875 \n0.390625 -0.5 -0.15625 \n0.390625 -0.5 -0.234375 \n0.40625 -0.5 -0.234375 \n0.390625 -0.5 -0.21875 \n0.453125 -0.5 -0.234375 \n0.46875 -0.5 -0.234375 \n0.453125 -0.5 -0.21875 \n-0.5 -0.453125 -0.265625 \n-0.5 -0.453125 -0.28125 \n-0.5 -0.46875 -0.265625 \n-0.5 -0.390625 -0.265625 \n-0.5 -0.390625 -0.28125 \n-0.5 -0.40625 -0.265625 \n-0.5 -0.390625 -0.328125 \n-0.5 -0.390625 -0.34375 \n-0.5 -0.40625 -0.328125 \n-0.5 -0.328125 -0.265625 \n-0.5 -0.328125 -0.28125 \n-0.5 -0.34375 -0.265625 \n-0.5 -0.265625 -0.265625 \n-0.5 -0.265625 -0.28125 \n-0.5 -0.28125 -0.265625 \n-0.5 -0.265625 -0.328125 \n-0.5 -0.265625 -0.34375 \n-0.5 -0.28125 -0.328125 \n-0.5 -0.328125 -0.390625 \n-0.5 -0.328125 -0.40625 \n-0.5 -0.34375 -0.390625 \n-0.5 -0.265625 -0.390625 \n-0.5 -0.265625 -0.40625 \n-0.5 -0.28125 -0.390625 \n-0.5 -0.265625 -0.453125 \n-0.5 -0.265625 -0.46875 \n-0.5 -0.28125 -0.453125 \n-0.5 -0.453125 0.234375 \n-0.5 -0.453125 0.21875 \n-0.5 -0.46875 0.234375 \n-0.5 -0.390625 0.234375 \n-0.5 -0.390625 0.21875 \n-0.5 -0.40625 0.234375 \n-0.5 -0.390625 0.171875 \n-0.5 -0.390625 0.15625 \n-0.5 -0.40625 0.171875 \n-0.5 -0.328125 0.234375 \n-0.5 -0.328125 0.21875 \n-0.5 -0.34375 0.234375 \n-0.5 -0.265625 0.234375 \n-0.5 -0.265625 0.21875 \n-0.5 -0.28125 0.234375 \n-0.5 -0.265625 0.171875 \n-0.5 -0.265625 0.15625 \n-0.5 -0.28125 0.171875 \n-0.5 -0.328125 0.109375 \n-0.5 -0.328125 0.09375 \n-0.5 -0.34375 0.109375 \n-0.5 -0.265625 0.109375 \n-0.5 -0.265625 0.09375 \n-0.5 -0.28125 0.109375 \n-0.5 -0.265625 0.046875 \n-0.5 -0.265625 0.03125 \n-0.5 -0.28125 0.046875 \n-0.5 0.046875 -0.265625 \n-0.5 0.046875 -0.28125 \n-0.5 0.03125 -0.265625 \n-0.5 0.109375 -0.265625 \n-0.5 0.109375 -0.28125 \n-0.5 0.09375 -0.265625 \n-0.5 0.109375 -0.328125 \n-0.5 0.109375 -0.34375 \n-0.5 0.09375 -0.328125 \n-0.5 0.171875 -0.265625 \n-0.5 0.171875 -0.28125 \n-0.5 0.15625 -0.265625 \n-0.5 0.234375 -0.265625 \n-0.5 0.234375 -0.28125 \n-0.5 0.21875 -0.265625 \n-0.5 0.234375 -0.328125 \n-0.5 0.234375 -0.34375 \n-0.5 0.21875 -0.328125 \n-0.5 0.171875 -0.390625 \n-0.5 0.171875 -0.40625 \n-0.5 0.15625 -0.390625 \n-0.5 0.234375 -0.390625 \n-0.5 0.234375 -0.40625 \n-0.5 0.21875 -0.390625 \n-0.5 0.234375 -0.453125 \n-0.5 0.234375 -0.46875 \n-0.5 0.21875 -0.453125 \n-0.5 0.453125 0.265625 \n-0.5 0.453125 0.28125 \n-0.5 0.46875 0.265625 \n-0.5 0.390625 0.265625 \n-0.5 0.390625 0.28125 \n-0.5 0.40625 0.265625 \n-0.5 0.390625 0.328125 \n-0.5 0.390625 0.34375 \n-0.5 0.40625 0.328125 \n-0.5 0.328125 0.265625 \n-0.5 0.328125 0.28125 \n-0.5 0.34375 0.265625 \n-0.5 0.265625 0.265625 \n-0.5 0.265625 0.28125 \n-0.5 0.28125 0.265625 \n-0.5 0.265625 0.328125 \n-0.5 0.265625 0.34375 \n-0.5 0.28125 0.328125 \n-0.5 0.328125 0.390625 \n-0.5 0.328125 0.40625 \n-0.5 0.34375 0.390625 \n-0.5 0.265625 0.390625 \n-0.5 0.265625 0.40625 \n-0.5 0.28125 0.390625 \n-0.5 0.265625 0.453125 \n-0.5 0.265625 0.46875 \n-0.5 0.28125 0.453125 \n-0.5 0.453125 -0.234375 \n-0.5 0.453125 -0.21875 \n-0.5 0.46875 -0.234375 \n-0.5 0.390625 -0.234375 \n-0.5 0.390625 -0.21875 \n-0.5 0.40625 -0.234375 \n-0.5 0.390625 -0.171875 \n-0.5 0.390625 -0.15625 \n-0.5 0.40625 -0.171875 \n-0.5 0.328125 -0.234375 \n-0.5 0.328125 -0.21875 \n-0.5 0.34375 -0.234375 \n-0.5 0.265625 -0.234375 \n-0.5 0.265625 -0.21875 \n-0.5 0.28125 -0.234375 \n-0.5 0.265625 -0.171875 \n-0.5 0.265625 -0.15625 \n-0.5 0.28125 -0.171875 \n-0.5 0.328125 -0.109375 \n-0.5 0.328125 -0.09375 \n-0.5 0.34375 -0.109375 \n-0.5 0.265625 -0.109375 \n-0.5 0.265625 -0.09375 \n-0.5 0.28125 -0.109375 \n-0.5 0.265625 -0.046875 \n-0.5 0.265625 -0.03125 \n-0.5 0.28125 -0.046875 \n-0.5 -0.046875 0.265625 \n-0.5 -0.046875 0.28125 \n-0.5 -0.03125 0.265625 \n-0.5 -0.109375 0.265625 \n-0.5 -0.109375 0.28125 \n-0.5 -0.09375 0.265625 \n-0.5 -0.109375 0.328125 \n-0.5 -0.109375 0.34375 \n-0.5 -0.09375 0.328125 \n-0.5 -0.171875 0.265625 \n-0.5 -0.171875 0.28125 \n-0.5 -0.15625 0.265625 \n-0.5 -0.234375 0.265625 \n-0.5 -0.234375 0.28125 \n-0.5 -0.21875 0.265625 \n-0.5 -0.234375 0.328125 \n-0.5 -0.234375 0.34375 \n-0.5 -0.21875 0.328125 \n-0.5 -0.171875 0.390625 \n-0.5 -0.171875 0.40625 \n-0.5 -0.15625 0.390625 \n-0.5 -0.234375 0.390625 \n-0.5 -0.234375 0.40625 \n-0.5 -0.21875 0.390625 \n-0.5 -0.234375 0.453125 \n-0.5 -0.234375 0.46875 \n-0.5 -0.21875 0.453125 \n0.015625 0.453125 0.5 \n0.03125 0.453125 0.5 \n0.015625 0.46875 0.5 \n0.015625 0.390625 0.5 \n0.03125 0.390625 0.5 \n0.015625 0.40625 0.5 \n0.078125 0.390625 0.5 \n0.09375 0.390625 0.5 \n0.078125 0.40625 0.5 \n0.015625 0.328125 0.5 \n0.03125 0.328125 0.5 \n0.015625 0.34375 0.5 \n0.015625 0.265625 0.5 \n0.03125 0.265625 0.5 \n0.015625 0.28125 0.5 \n0.078125 0.265625 0.5 \n0.09375 0.265625 0.5 \n0.078125 0.28125 0.5 \n0.140625 0.328125 0.5 \n0.15625 0.328125 0.5 \n0.140625 0.34375 0.5 \n0.140625 0.265625 0.5 \n0.15625 0.265625 0.5 \n0.140625 0.28125 0.5 \n0.203125 0.265625 0.5 \n0.21875 0.265625 0.5 \n0.203125 0.28125 0.5 \n0.015625 0.203125 0.5 \n0.03125 0.203125 0.5 \n0.015625 0.21875 0.5 \n0.015625 0.140625 0.5 \n0.03125 0.140625 0.5 \n0.015625 0.15625 0.5 \n0.078125 0.140625 0.5 \n0.09375 0.140625 0.5 \n0.078125 0.15625 0.5 \n0.015625 0.078125 0.5 \n0.03125 0.078125 0.5 \n0.015625 0.09375 0.5 \n0.015625 0.015625 0.5 \n0.03125 0.015625 0.5 \n0.015625 0.03125 0.5 \n0.078125 0.015625 0.5 \n0.09375 0.015625 0.5 \n0.078125 0.03125 0.5 \n0.140625 0.078125 0.5 \n0.15625 0.078125 0.5 \n0.140625 0.09375 0.5 \n0.140625 0.015625 0.5 \n0.15625 0.015625 0.5 \n0.140625 0.03125 0.5 \n0.203125 0.015625 0.5 \n0.21875 0.015625 0.5 \n0.203125 0.03125 0.5 \n0.265625 0.203125 0.5 \n0.28125 0.203125 0.5 \n0.265625 0.21875 0.5 \n0.265625 0.140625 0.5 \n0.28125 0.140625 0.5 \n0.265625 0.15625 0.5 \n0.328125 0.140625 0.5 \n0.34375 0.140625 0.5 \n0.328125 0.15625 0.5 \n0.265625 0.078125 0.5 \n0.28125 0.078125 0.5 \n0.265625 0.09375 0.5 \n0.265625 0.015625 0.5 \n0.28125 0.015625 0.5 \n0.265625 0.03125 0.5 \n0.328125 0.015625 0.5 \n0.34375 0.015625 0.5 \n0.328125 0.03125 0.5 \n0.390625 0.078125 0.5 \n0.40625 0.078125 0.5 \n0.390625 0.09375 0.5 \n0.390625 0.015625 0.5 \n0.40625 0.015625 0.5 \n0.390625 0.03125 0.5 \n0.453125 0.015625 0.5 \n0.46875 0.015625 0.5 \n0.453125 0.03125 0.5 \n-0.015625 -0.453125 0.5 \n-0.03125 -0.453125 0.5 \n-0.015625 -0.46875 0.5 \n-0.015625 -0.390625 0.5 \n-0.03125 -0.390625 0.5 \n-0.015625 -0.40625 0.5 \n-0.078125 -0.390625 0.5 \n-0.09375 -0.390625 0.5 \n-0.078125 -0.40625 0.5 \n-0.015625 -0.328125 0.5 \n-0.03125 -0.328125 0.5 \n-0.015625 -0.34375 0.5 \n-0.015625 -0.265625 0.5 \n-0.03125 -0.265625 0.5 \n-0.015625 -0.28125 0.5 \n-0.078125 -0.265625 0.5 \n-0.09375 -0.265625 0.5 \n-0.078125 -0.28125 0.5 \n-0.140625 -0.328125 0.5 \n-0.15625 -0.328125 0.5 \n-0.140625 -0.34375 0.5 \n-0.140625 -0.265625 0.5 \n-0.15625 -0.265625 0.5 \n-0.140625 -0.28125 0.5 \n-0.203125 -0.265625 0.5 \n-0.21875 -0.265625 0.5 \n-0.203125 -0.28125 0.5 \n-0.015625 -0.203125 0.5 \n-0.03125 -0.203125 0.5 \n-0.015625 -0.21875 0.5 \n-0.015625 -0.140625 0.5 \n-0.03125 -0.140625 0.5 \n-0.015625 -0.15625 0.5 \n-0.078125 -0.140625 0.5 \n-0.09375 -0.140625 0.5 \n-0.078125 -0.15625 0.5 \n-0.015625 -0.078125 0.5 \n-0.03125 -0.078125 0.5 \n-0.015625 -0.09375 0.5 \n-0.015625 -0.015625 0.5 \n-0.03125 -0.015625 0.5 \n-0.015625 -0.03125 0.5 \n-0.078125 -0.015625 0.5 \n-0.09375 -0.015625 0.5 \n-0.078125 -0.03125 0.5 \n-0.140625 -0.078125 0.5 \n-0.15625 -0.078125 0.5 \n-0.140625 -0.09375 0.5 \n-0.140625 -0.015625 0.5 \n-0.15625 -0.015625 0.5 \n-0.140625 -0.03125 0.5 \n-0.203125 -0.015625 0.5 \n-0.21875 -0.015625 0.5 \n-0.203125 -0.03125 0.5 \n-0.265625 -0.203125 0.5 \n-0.28125 -0.203125 0.5 \n-0.265625 -0.21875 0.5 \n-0.265625 -0.140625 0.5 \n-0.28125 -0.140625 0.5 \n-0.265625 -0.15625 0.5 \n-0.328125 -0.140625 0.5 \n-0.34375 -0.140625 0.5 \n-0.328125 -0.15625 0.5 \n-0.265625 -0.078125 0.5 \n-0.28125 -0.078125 0.5 \n-0.265625 -0.09375 0.5 \n-0.265625 -0.015625 0.5 \n-0.28125 -0.015625 0.5 \n-0.265625 -0.03125 0.5 \n-0.328125 -0.015625 0.5 \n-0.34375 -0.015625 0.5 \n-0.328125 -0.03125 0.5 \n-0.390625 -0.078125 0.5 \n-0.40625 -0.078125 0.5 \n-0.390625 -0.09375 0.5 \n-0.390625 -0.015625 0.5 \n-0.40625 -0.015625 0.5 \n-0.390625 -0.03125 0.5 \n-0.453125 -0.015625 0.5 \n-0.46875 -0.015625 0.5 \n-0.453125 -0.03125 0.5 \n0.5 0.015625 0.453125 \n0.5 0.03125 0.453125 \n0.5 0.015625 0.46875 \n0.5 0.015625 0.390625 \n0.5 0.03125 0.390625 \n0.5 0.015625 0.40625 \n0.5 0.078125 0.390625 \n0.5 0.09375 0.390625 \n0.5 0.078125 0.40625 \n0.5 0.015625 0.328125 \n0.5 0.03125 0.328125 \n0.5 0.015625 0.34375 \n0.5 0.015625 0.265625 \n0.5 0.03125 0.265625 \n0.5 0.015625 0.28125 \n0.5 0.078125 0.265625 \n0.5 0.09375 0.265625 \n0.5 0.078125 0.28125 \n0.5 0.140625 0.328125 \n0.5 0.15625 0.328125 \n0.5 0.140625 0.34375 \n0.5 0.140625 0.265625 \n0.5 0.15625 0.265625 \n0.5 0.140625 0.28125 \n0.5 0.203125 0.265625 \n0.5 0.21875 0.265625 \n0.5 0.203125 0.28125 \n0.5 0.015625 0.203125 \n0.5 0.03125 0.203125 \n0.5 0.015625 0.21875 \n0.5 0.015625 0.140625 \n0.5 0.03125 0.140625 \n0.5 0.015625 0.15625 \n0.5 0.078125 0.140625 \n0.5 0.09375 0.140625 \n0.5 0.078125 0.15625 \n0.5 0.015625 0.078125 \n0.5 0.03125 0.078125 \n0.5 0.015625 0.09375 \n0.5 0.015625 0.015625 \n0.5 0.03125 0.015625 \n0.5 0.015625 0.03125 \n0.5 0.078125 0.015625 \n0.5 0.09375 0.015625 \n0.5 0.078125 0.03125 \n0.5 0.140625 0.078125 \n0.5 0.15625 0.078125 \n0.5 0.140625 0.09375 \n0.5 0.140625 0.015625 \n0.5 0.15625 0.015625 \n0.5 0.140625 0.03125 \n0.5 0.203125 0.015625 \n0.5 0.21875 0.015625 \n0.5 0.203125 0.03125 \n0.5 0.265625 0.203125 \n0.5 0.28125 0.203125 \n0.5 0.265625 0.21875 \n0.5 0.265625 0.140625 \n0.5 0.28125 0.140625 \n0.5 0.265625 0.15625 \n0.5 0.328125 0.140625 \n0.5 0.34375 0.140625 \n0.5 0.328125 0.15625 \n0.5 0.265625 0.078125 \n0.5 0.28125 0.078125 \n0.5 0.265625 0.09375 \n0.5 0.265625 0.015625 \n0.5 0.28125 0.015625 \n0.5 0.265625 0.03125 \n0.5 0.328125 0.015625 \n0.5 0.34375 0.015625 \n0.5 0.328125 0.03125 \n0.5 0.390625 0.078125 \n0.5 0.40625 0.078125 \n0.5 0.390625 0.09375 \n0.5 0.390625 0.015625 \n0.5 0.40625 0.015625 \n0.5 0.390625 0.03125 \n0.5 0.453125 0.015625 \n0.5 0.46875 0.015625 \n0.5 0.453125 0.03125 \n0.5 -0.015625 -0.453125 \n0.5 -0.03125 -0.453125 \n0.5 -0.015625 -0.46875 \n0.5 -0.015625 -0.390625 \n0.5 -0.03125 -0.390625 \n0.5 -0.015625 -0.40625 \n0.5 -0.078125 -0.390625 \n0.5 -0.09375 -0.390625 \n0.5 -0.078125 -0.40625 \n0.5 -0.015625 -0.328125 \n0.5 -0.03125 -0.328125 \n0.5 -0.015625 -0.34375 \n0.5 -0.015625 -0.265625 \n0.5 -0.03125 -0.265625 \n0.5 -0.015625 -0.28125 \n0.5 -0.078125 -0.265625 \n0.5 -0.09375 -0.265625 \n0.5 -0.078125 -0.28125 \n0.5 -0.140625 -0.328125 \n0.5 -0.15625 -0.328125 \n0.5 -0.140625 -0.34375 \n0.5 -0.140625 -0.265625 \n0.5 -0.15625 -0.265625 \n0.5 -0.140625 -0.28125 \n0.5 -0.203125 -0.265625 \n0.5 -0.21875 -0.265625 \n0.5 -0.203125 -0.28125 \n0.5 -0.015625 -0.203125 \n0.5 -0.03125 -0.203125 \n0.5 -0.015625 -0.21875 \n0.5 -0.015625 -0.140625 \n0.5 -0.03125 -0.140625 \n0.5 -0.015625 -0.15625 \n0.5 -0.078125 -0.140625 \n0.5 -0.09375 -0.140625 \n0.5 -0.078125 -0.15625 \n0.5 -0.015625 -0.078125 \n0.5 -0.03125 -0.078125 \n0.5 -0.015625 -0.09375 \n0.5 -0.015625 -0.015625 \n0.5 -0.03125 -0.015625 \n0.5 -0.015625 -0.03125 \n0.5 -0.078125 -0.015625 \n0.5 -0.09375 -0.015625 \n0.5 -0.078125 -0.03125 \n0.5 -0.140625 -0.078125 \n0.5 -0.15625 -0.078125 \n0.5 -0.140625 -0.09375 \n0.5 -0.140625 -0.015625 \n0.5 -0.15625 -0.015625 \n0.5 -0.140625 -0.03125 \n0.5 -0.203125 -0.015625 \n0.5 -0.21875 -0.015625 \n0.5 -0.203125 -0.03125 \n0.5 -0.265625 -0.203125 \n0.5 -0.28125 -0.203125 \n0.5 -0.265625 -0.21875 \n0.5 -0.265625 -0.140625 \n0.5 -0.28125 -0.140625 \n0.5 -0.265625 -0.15625 \n0.5 -0.328125 -0.140625 \n0.5 -0.34375 -0.140625 \n0.5 -0.328125 -0.15625 \n0.5 -0.265625 -0.078125 \n0.5 -0.28125 -0.078125 \n0.5 -0.265625 -0.09375 \n0.5 -0.265625 -0.015625 \n0.5 -0.28125 -0.015625 \n0.5 -0.265625 -0.03125 \n0.5 -0.328125 -0.015625 \n0.5 -0.34375 -0.015625 \n0.5 -0.328125 -0.03125 \n0.5 -0.390625 -0.078125 \n0.5 -0.40625 -0.078125 \n0.5 -0.390625 -0.09375 \n0.5 -0.390625 -0.015625 \n0.5 -0.40625 -0.015625 \n0.5 -0.390625 -0.03125 \n0.5 -0.453125 -0.015625 \n0.5 -0.46875 -0.015625 \n0.5 -0.453125 -0.03125 \n0.453125 0.5 0.015625 \n0.453125 0.5 0.03125 \n0.46875 0.5 0.015625 \n0.390625 0.5 0.015625 \n0.390625 0.5 0.03125 \n0.40625 0.5 0.015625 \n0.390625 0.5 0.078125 \n0.390625 0.5 0.09375 \n0.40625 0.5 0.078125 \n0.328125 0.5 0.015625 \n0.328125 0.5 0.03125 \n0.34375 0.5 0.015625 \n0.265625 0.5 0.015625 \n0.265625 0.5 0.03125 \n0.28125 0.5 0.015625 \n0.265625 0.5 0.078125 \n0.265625 0.5 0.09375 \n0.28125 0.5 0.078125 \n0.328125 0.5 0.140625 \n0.328125 0.5 0.15625 \n0.34375 0.5 0.140625 \n0.265625 0.5 0.140625 \n0.265625 0.5 0.15625 \n0.28125 0.5 0.140625 \n0.265625 0.5 0.203125 \n0.265625 0.5 0.21875 \n0.28125 0.5 0.203125 \n0.203125 0.5 0.015625 \n0.203125 0.5 0.03125 \n0.21875 0.5 0.015625 \n0.140625 0.5 0.015625 \n0.140625 0.5 0.03125 \n0.15625 0.5 0.015625 \n0.140625 0.5 0.078125 \n0.140625 0.5 0.09375 \n0.15625 0.5 0.078125 \n0.078125 0.5 0.015625 \n0.078125 0.5 0.03125 \n0.09375 0.5 0.015625 \n0.015625 0.5 0.015625 \n0.015625 0.5 0.03125 \n0.03125 0.5 0.015625 \n0.015625 0.5 0.078125 \n0.015625 0.5 0.09375 \n0.03125 0.5 0.078125 \n0.078125 0.5 0.140625 \n0.078125 0.5 0.15625 \n0.09375 0.5 0.140625 \n0.015625 0.5 0.140625 \n0.015625 0.5 0.15625 \n0.03125 0.5 0.140625 \n0.015625 0.5 0.203125 \n0.015625 0.5 0.21875 \n0.03125 0.5 0.203125 \n0.203125 0.5 0.265625 \n0.203125 0.5 0.28125 \n0.21875 0.5 0.265625 \n0.140625 0.5 0.265625 \n0.140625 0.5 0.28125 \n0.15625 0.5 0.265625 \n0.140625 0.5 0.328125 \n0.140625 0.5 0.34375 \n0.15625 0.5 0.328125 \n0.078125 0.5 0.265625 \n0.078125 0.5 0.28125 \n0.09375 0.5 0.265625 \n0.015625 0.5 0.265625 \n0.015625 0.5 0.28125 \n0.03125 0.5 0.265625 \n0.015625 0.5 0.328125 \n0.015625 0.5 0.34375 \n0.03125 0.5 0.328125 \n0.078125 0.5 0.390625 \n0.078125 0.5 0.40625 \n0.09375 0.5 0.390625 \n0.015625 0.5 0.390625 \n0.015625 0.5 0.40625 \n0.03125 0.5 0.390625 \n0.015625 0.5 0.453125 \n0.015625 0.5 0.46875 \n0.03125 0.5 0.453125 \n-0.453125 0.5 -0.015625 \n-0.453125 0.5 -0.03125 \n-0.46875 0.5 -0.015625 \n-0.390625 0.5 -0.015625 \n-0.390625 0.5 -0.03125 \n-0.40625 0.5 -0.015625 \n-0.390625 0.5 -0.078125 \n-0.390625 0.5 -0.09375 \n-0.40625 0.5 -0.078125 \n-0.328125 0.5 -0.015625 \n-0.328125 0.5 -0.03125 \n-0.34375 0.5 -0.015625 \n-0.265625 0.5 -0.015625 \n-0.265625 0.5 -0.03125 \n-0.28125 0.5 -0.015625 \n-0.265625 0.5 -0.078125 \n-0.265625 0.5 -0.09375 \n-0.28125 0.5 -0.078125 \n-0.328125 0.5 -0.140625 \n-0.328125 0.5 -0.15625 \n-0.34375 0.5 -0.140625 \n-0.265625 0.5 -0.140625 \n-0.265625 0.5 -0.15625 \n-0.28125 0.5 -0.140625 \n-0.265625 0.5 -0.203125 \n-0.265625 0.5 -0.21875 \n-0.28125 0.5 -0.203125 \n-0.203125 0.5 -0.015625 \n-0.203125 0.5 -0.03125 \n-0.21875 0.5 -0.015625 \n-0.140625 0.5 -0.015625 \n-0.140625 0.5 -0.03125 \n-0.15625 0.5 -0.015625 \n-0.140625 0.5 -0.078125 \n-0.140625 0.5 -0.09375 \n-0.15625 0.5 -0.078125 \n-0.078125 0.5 -0.015625 \n-0.078125 0.5 -0.03125 \n-0.09375 0.5 -0.015625 \n-0.015625 0.5 -0.015625 \n-0.015625 0.5 -0.03125 \n-0.03125 0.5 -0.015625 \n-0.015625 0.5 -0.078125 \n-0.015625 0.5 -0.09375 \n-0.03125 0.5 -0.078125 \n-0.078125 0.5 -0.140625 \n-0.078125 0.5 -0.15625 \n-0.09375 0.5 -0.140625 \n-0.015625 0.5 -0.140625 \n-0.015625 0.5 -0.15625 \n-0.03125 0.5 -0.140625 \n-0.015625 0.5 -0.203125 \n-0.015625 0.5 -0.21875 \n-0.03125 0.5 -0.203125 \n-0.203125 0.5 -0.265625 \n-0.203125 0.5 -0.28125 \n-0.21875 0.5 -0.265625 \n-0.140625 0.5 -0.265625 \n-0.140625 0.5 -0.28125 \n-0.15625 0.5 -0.265625 \n-0.140625 0.5 -0.328125 \n-0.140625 0.5 -0.34375 \n-0.15625 0.5 -0.328125 \n-0.078125 0.5 -0.265625 \n-0.078125 0.5 -0.28125 \n-0.09375 0.5 -0.265625 \n-0.015625 0.5 -0.265625 \n-0.015625 0.5 -0.28125 \n-0.03125 0.5 -0.265625 \n-0.015625 0.5 -0.328125 \n-0.015625 0.5 -0.34375 \n-0.03125 0.5 -0.328125 \n-0.078125 0.5 -0.390625 \n-0.078125 0.5 -0.40625 \n-0.09375 0.5 -0.390625 \n-0.015625 0.5 -0.390625 \n-0.015625 0.5 -0.40625 \n-0.03125 0.5 -0.390625 \n-0.015625 0.5 -0.453125 \n-0.015625 0.5 -0.46875 \n-0.03125 0.5 -0.453125 \n-0.453125 -0.015625 -0.5 \n-0.453125 -0.03125 -0.5 \n-0.46875 -0.015625 -0.5 \n-0.390625 -0.015625 -0.5 \n-0.390625 -0.03125 -0.5 \n-0.40625 -0.015625 -0.5 \n-0.390625 -0.078125 -0.5 \n-0.390625 -0.09375 -0.5 \n-0.40625 -0.078125 -0.5 \n-0.328125 -0.015625 -0.5 \n-0.328125 -0.03125 -0.5 \n-0.34375 -0.015625 -0.5 \n-0.265625 -0.015625 -0.5 \n-0.265625 -0.03125 -0.5 \n-0.28125 -0.015625 -0.5 \n-0.265625 -0.078125 -0.5 \n-0.265625 -0.09375 -0.5 \n-0.28125 -0.078125 -0.5 \n-0.328125 -0.140625 -0.5 \n-0.328125 -0.15625 -0.5 \n-0.34375 -0.140625 -0.5 \n-0.265625 -0.140625 -0.5 \n-0.265625 -0.15625 -0.5 \n-0.28125 -0.140625 -0.5 \n-0.265625 -0.203125 -0.5 \n-0.265625 -0.21875 -0.5 \n-0.28125 -0.203125 -0.5 \n-0.203125 -0.015625 -0.5 \n-0.203125 -0.03125 -0.5 \n-0.21875 -0.015625 -0.5 \n-0.140625 -0.015625 -0.5 \n-0.140625 -0.03125 -0.5 \n-0.15625 -0.015625 -0.5 \n-0.140625 -0.078125 -0.5 \n-0.140625 -0.09375 -0.5 \n-0.15625 -0.078125 -0.5 \n-0.078125 -0.015625 -0.5 \n-0.078125 -0.03125 -0.5 \n-0.09375 -0.015625 -0.5 \n-0.015625 -0.015625 -0.5 \n-0.015625 -0.03125 -0.5 \n-0.03125 -0.015625 -0.5 \n-0.015625 -0.078125 -0.5 \n-0.015625 -0.09375 -0.5 \n-0.03125 -0.078125 -0.5 \n-0.078125 -0.140625 -0.5 \n-0.078125 -0.15625 -0.5 \n-0.09375 -0.140625 -0.5 \n-0.015625 -0.140625 -0.5 \n-0.015625 -0.15625 -0.5 \n-0.03125 -0.140625 -0.5 \n-0.015625 -0.203125 -0.5 \n-0.015625 -0.21875 -0.5 \n-0.03125 -0.203125 -0.5 \n-0.203125 -0.265625 -0.5 \n-0.203125 -0.28125 -0.5 \n-0.21875 -0.265625 -0.5 \n-0.140625 -0.265625 -0.5 \n-0.140625 -0.28125 -0.5 \n-0.15625 -0.265625 -0.5 \n-0.140625 -0.328125 -0.5 \n-0.140625 -0.34375 -0.5 \n-0.15625 -0.328125 -0.5 \n-0.078125 -0.265625 -0.5 \n-0.078125 -0.28125 -0.5 \n-0.09375 -0.265625 -0.5 \n-0.015625 -0.265625 -0.5 \n-0.015625 -0.28125 -0.5 \n-0.03125 -0.265625 -0.5 \n-0.015625 -0.328125 -0.5 \n-0.015625 -0.34375 -0.5 \n-0.03125 -0.328125 -0.5 \n-0.078125 -0.390625 -0.5 \n-0.078125 -0.40625 -0.5 \n-0.09375 -0.390625 -0.5 \n-0.015625 -0.390625 -0.5 \n-0.015625 -0.40625 -0.5 \n-0.03125 -0.390625 -0.5 \n-0.015625 -0.453125 -0.5 \n-0.015625 -0.46875 -0.5 \n-0.03125 -0.453125 -0.5 \n0.453125 0.015625 -0.5 \n0.453125 0.03125 -0.5 \n0.46875 0.015625 -0.5 \n0.390625 0.015625 -0.5 \n0.390625 0.03125 -0.5 \n0.40625 0.015625 -0.5 \n0.390625 0.078125 -0.5 \n0.390625 0.09375 -0.5 \n0.40625 0.078125 -0.5 \n0.328125 0.015625 -0.5 \n0.328125 0.03125 -0.5 \n0.34375 0.015625 -0.5 \n0.265625 0.015625 -0.5 \n0.265625 0.03125 -0.5 \n0.28125 0.015625 -0.5 \n0.265625 0.078125 -0.5 \n0.265625 0.09375 -0.5 \n0.28125 0.078125 -0.5 \n0.328125 0.140625 -0.5 \n0.328125 0.15625 -0.5 \n0.34375 0.140625 -0.5 \n0.265625 0.140625 -0.5 \n0.265625 0.15625 -0.5 \n0.28125 0.140625 -0.5 \n0.265625 0.203125 -0.5 \n0.265625 0.21875 -0.5 \n0.28125 0.203125 -0.5 \n0.203125 0.015625 -0.5 \n0.203125 0.03125 -0.5 \n0.21875 0.015625 -0.5 \n0.140625 0.015625 -0.5 \n0.140625 0.03125 -0.5 \n0.15625 0.015625 -0.5 \n0.140625 0.078125 -0.5 \n0.140625 0.09375 -0.5 \n0.15625 0.078125 -0.5 \n0.078125 0.015625 -0.5 \n0.078125 0.03125 -0.5 \n0.09375 0.015625 -0.5 \n0.015625 0.015625 -0.5 \n0.015625 0.03125 -0.5 \n0.03125 0.015625 -0.5 \n0.015625 0.078125 -0.5 \n0.015625 0.09375 -0.5 \n0.03125 0.078125 -0.5 \n0.078125 0.140625 -0.5 \n0.078125 0.15625 -0.5 \n0.09375 0.140625 -0.5 \n0.015625 0.140625 -0.5 \n0.015625 0.15625 -0.5 \n0.03125 0.140625 -0.5 \n0.015625 0.203125 -0.5 \n0.015625 0.21875 -0.5 \n0.03125 0.203125 -0.5 \n0.203125 0.265625 -0.5 \n0.203125 0.28125 -0.5 \n0.21875 0.265625 -0.5 \n0.140625 0.265625 -0.5 \n0.140625 0.28125 -0.5 \n0.15625 0.265625 -0.5 \n0.140625 0.328125 -0.5 \n0.140625 0.34375 -0.5 \n0.15625 0.328125 -0.5 \n0.078125 0.265625 -0.5 \n0.078125 0.28125 -0.5 \n0.09375 0.265625 -0.5 \n0.015625 0.265625 -0.5 \n0.015625 0.28125 -0.5 \n0.03125 0.265625 -0.5 \n0.015625 0.328125 -0.5 \n0.015625 0.34375 -0.5 \n0.03125 0.328125 -0.5 \n0.078125 0.390625 -0.5 \n0.078125 0.40625 -0.5 \n0.09375 0.390625 -0.5 \n0.015625 0.390625 -0.5 \n0.015625 0.40625 -0.5 \n0.03125 0.390625 -0.5 \n0.015625 0.453125 -0.5 \n0.015625 0.46875 -0.5 \n0.03125 0.453125 -0.5 \n-0.015625 -0.5 -0.453125 \n-0.03125 -0.5 -0.453125 \n-0.015625 -0.5 -0.46875 \n-0.015625 -0.5 -0.390625 \n-0.03125 -0.5 -0.390625 \n-0.015625 -0.5 -0.40625 \n-0.078125 -0.5 -0.390625 \n-0.09375 -0.5 -0.390625 \n-0.078125 -0.5 -0.40625 \n-0.015625 -0.5 -0.328125 \n-0.03125 -0.5 -0.328125 \n-0.015625 -0.5 -0.34375 \n-0.015625 -0.5 -0.265625 \n-0.03125 -0.5 -0.265625 \n-0.015625 -0.5 -0.28125 \n-0.078125 -0.5 -0.265625 \n-0.09375 -0.5 -0.265625 \n-0.078125 -0.5 -0.28125 \n-0.140625 -0.5 -0.328125 \n-0.15625 -0.5 -0.328125 \n-0.140625 -0.5 -0.34375 \n-0.140625 -0.5 -0.265625 \n-0.15625 -0.5 -0.265625 \n-0.140625 -0.5 -0.28125 \n-0.203125 -0.5 -0.265625 \n-0.21875 -0.5 -0.265625 \n-0.203125 -0.5 -0.28125 \n-0.015625 -0.5 -0.203125 \n-0.03125 -0.5 -0.203125 \n-0.015625 -0.5 -0.21875 \n-0.015625 -0.5 -0.140625 \n-0.03125 -0.5 -0.140625 \n-0.015625 -0.5 -0.15625 \n-0.078125 -0.5 -0.140625 \n-0.09375 -0.5 -0.140625 \n-0.078125 -0.5 -0.15625 \n-0.015625 -0.5 -0.078125 \n-0.03125 -0.5 -0.078125 \n-0.015625 -0.5 -0.09375 \n-0.015625 -0.5 -0.015625 \n-0.03125 -0.5 -0.015625 \n-0.015625 -0.5 -0.03125 \n-0.078125 -0.5 -0.015625 \n-0.09375 -0.5 -0.015625 \n-0.078125 -0.5 -0.03125 \n-0.140625 -0.5 -0.078125 \n-0.15625 -0.5 -0.078125 \n-0.140625 -0.5 -0.09375 \n-0.140625 -0.5 -0.015625 \n-0.15625 -0.5 -0.015625 \n-0.140625 -0.5 -0.03125 \n-0.203125 -0.5 -0.015625 \n-0.21875 -0.5 -0.015625 \n-0.203125 -0.5 -0.03125 \n-0.265625 -0.5 -0.203125 \n-0.28125 -0.5 -0.203125 \n-0.265625 -0.5 -0.21875 \n-0.265625 -0.5 -0.140625 \n-0.28125 -0.5 -0.140625 \n-0.265625 -0.5 -0.15625 \n-0.328125 -0.5 -0.140625 \n-0.34375 -0.5 -0.140625 \n-0.328125 -0.5 -0.15625 \n-0.265625 -0.5 -0.078125 \n-0.28125 -0.5 -0.078125 \n-0.265625 -0.5 -0.09375 \n-0.265625 -0.5 -0.015625 \n-0.28125 -0.5 -0.015625 \n-0.265625 -0.5 -0.03125 \n-0.328125 -0.5 -0.015625 \n-0.34375 -0.5 -0.015625 \n-0.328125 -0.5 -0.03125 \n-0.390625 -0.5 -0.078125 \n-0.40625 -0.5 -0.078125 \n-0.390625 -0.5 -0.09375 \n-0.390625 -0.5 -0.015625 \n-0.40625 -0.5 -0.015625 \n-0.390625 -0.5 -0.03125 \n-0.453125 -0.5 -0.015625 \n-0.46875 -0.5 -0.015625 \n-0.453125 -0.5 -0.03125 \n0.015625 -0.5 0.453125 \n0.03125 -0.5 0.453125 \n0.015625 -0.5 0.46875 \n0.015625 -0.5 0.390625 \n0.03125 -0.5 0.390625 \n0.015625 -0.5 0.40625 \n0.078125 -0.5 0.390625 \n0.09375 -0.5 0.390625 \n0.078125 -0.5 0.40625 \n0.015625 -0.5 0.328125 \n0.03125 -0.5 0.328125 \n0.015625 -0.5 0.34375 \n0.015625 -0.5 0.265625 \n0.03125 -0.5 0.265625 \n0.015625 -0.5 0.28125 \n0.078125 -0.5 0.265625 \n0.09375 -0.5 0.265625 \n0.078125 -0.5 0.28125 \n0.140625 -0.5 0.328125 \n0.15625 -0.5 0.328125 \n0.140625 -0.5 0.34375 \n0.140625 -0.5 0.265625 \n0.15625 -0.5 0.265625 \n0.140625 -0.5 0.28125 \n0.203125 -0.5 0.265625 \n0.21875 -0.5 0.265625 \n0.203125 -0.5 0.28125 \n0.015625 -0.5 0.203125 \n0.03125 -0.5 0.203125 \n0.015625 -0.5 0.21875 \n0.015625 -0.5 0.140625 \n0.03125 -0.5 0.140625 \n0.015625 -0.5 0.15625 \n0.078125 -0.5 0.140625 \n0.09375 -0.5 0.140625 \n0.078125 -0.5 0.15625 \n0.015625 -0.5 0.078125 \n0.03125 -0.5 0.078125 \n0.015625 -0.5 0.09375 \n0.015625 -0.5 0.015625 \n0.03125 -0.5 0.015625 \n0.015625 -0.5 0.03125 \n0.078125 -0.5 0.015625 \n0.09375 -0.5 0.015625 \n0.078125 -0.5 0.03125 \n0.140625 -0.5 0.078125 \n0.15625 -0.5 0.078125 \n0.140625 -0.5 0.09375 \n0.140625 -0.5 0.015625 \n0.15625 -0.5 0.015625 \n0.140625 -0.5 0.03125 \n0.203125 -0.5 0.015625 \n0.21875 -0.5 0.015625 \n0.203125 -0.5 0.03125 \n0.265625 -0.5 0.203125 \n0.28125 -0.5 0.203125 \n0.265625 -0.5 0.21875 \n0.265625 -0.5 0.140625 \n0.28125 -0.5 0.140625 \n0.265625 -0.5 0.15625 \n0.328125 -0.5 0.140625 \n0.34375 -0.5 0.140625 \n0.328125 -0.5 0.15625 \n0.265625 -0.5 0.078125 \n0.28125 -0.5 0.078125 \n0.265625 -0.5 0.09375 \n0.265625 -0.5 0.015625 \n0.28125 -0.5 0.015625 \n0.265625 -0.5 0.03125 \n0.328125 -0.5 0.015625 \n0.34375 -0.5 0.015625 \n0.328125 -0.5 0.03125 \n0.390625 -0.5 0.078125 \n0.40625 -0.5 0.078125 \n0.390625 -0.5 0.09375 \n0.390625 -0.5 0.015625 \n0.40625 -0.5 0.015625 \n0.390625 -0.5 0.03125 \n0.453125 -0.5 0.015625 \n0.46875 -0.5 0.015625 \n0.453125 -0.5 0.03125 \n-0.5 -0.453125 -0.015625 \n-0.5 -0.453125 -0.03125 \n-0.5 -0.46875 -0.015625 \n-0.5 -0.390625 -0.015625 \n-0.5 -0.390625 -0.03125 \n-0.5 -0.40625 -0.015625 \n-0.5 -0.390625 -0.078125 \n-0.5 -0.390625 -0.09375 \n-0.5 -0.40625 -0.078125 \n-0.5 -0.328125 -0.015625 \n-0.5 -0.328125 -0.03125 \n-0.5 -0.34375 -0.015625 \n-0.5 -0.265625 -0.015625 \n-0.5 -0.265625 -0.03125 \n-0.5 -0.28125 -0.015625 \n-0.5 -0.265625 -0.078125 \n-0.5 -0.265625 -0.09375 \n-0.5 -0.28125 -0.078125 \n-0.5 -0.328125 -0.140625 \n-0.5 -0.328125 -0.15625 \n-0.5 -0.34375 -0.140625 \n-0.5 -0.265625 -0.140625 \n-0.5 -0.265625 -0.15625 \n-0.5 -0.28125 -0.140625 \n-0.5 -0.265625 -0.203125 \n-0.5 -0.265625 -0.21875 \n-0.5 -0.28125 -0.203125 \n-0.5 -0.203125 -0.015625 \n-0.5 -0.203125 -0.03125 \n-0.5 -0.21875 -0.015625 \n-0.5 -0.140625 -0.015625 \n-0.5 -0.140625 -0.03125 \n-0.5 -0.15625 -0.015625 \n-0.5 -0.140625 -0.078125 \n-0.5 -0.140625 -0.09375 \n-0.5 -0.15625 -0.078125 \n-0.5 -0.078125 -0.015625 \n-0.5 -0.078125 -0.03125 \n-0.5 -0.09375 -0.015625 \n-0.5 -0.015625 -0.015625 \n-0.5 -0.015625 -0.03125 \n-0.5 -0.03125 -0.015625 \n-0.5 -0.015625 -0.078125 \n-0.5 -0.015625 -0.09375 \n-0.5 -0.03125 -0.078125 \n-0.5 -0.078125 -0.140625 \n-0.5 -0.078125 -0.15625 \n-0.5 -0.09375 -0.140625 \n-0.5 -0.015625 -0.140625 \n-0.5 -0.015625 -0.15625 \n-0.5 -0.03125 -0.140625 \n-0.5 -0.015625 -0.203125 \n-0.5 -0.015625 -0.21875 \n-0.5 -0.03125 -0.203125 \n-0.5 -0.203125 -0.265625 \n-0.5 -0.203125 -0.28125 \n-0.5 -0.21875 -0.265625 \n-0.5 -0.140625 -0.265625 \n-0.5 -0.140625 -0.28125 \n-0.5 -0.15625 -0.265625 \n-0.5 -0.140625 -0.328125 \n-0.5 -0.140625 -0.34375 \n-0.5 -0.15625 -0.328125 \n-0.5 -0.078125 -0.265625 \n-0.5 -0.078125 -0.28125 \n-0.5 -0.09375 -0.265625 \n-0.5 -0.015625 -0.265625 \n-0.5 -0.015625 -0.28125 \n-0.5 -0.03125 -0.265625 \n-0.5 -0.015625 -0.328125 \n-0.5 -0.015625 -0.34375 \n-0.5 -0.03125 -0.328125 \n-0.5 -0.078125 -0.390625 \n-0.5 -0.078125 -0.40625 \n-0.5 -0.09375 -0.390625 \n-0.5 -0.015625 -0.390625 \n-0.5 -0.015625 -0.40625 \n-0.5 -0.03125 -0.390625 \n-0.5 -0.015625 -0.453125 \n-0.5 -0.015625 -0.46875 \n-0.5 -0.03125 -0.453125 \n-0.5 0.453125 0.015625 \n-0.5 0.453125 0.03125 \n-0.5 0.46875 0.015625 \n-0.5 0.390625 0.015625 \n-0.5 0.390625 0.03125 \n-0.5 0.40625 0.015625 \n-0.5 0.390625 0.078125 \n-0.5 0.390625 0.09375 \n-0.5 0.40625 0.078125 \n-0.5 0.328125 0.015625 \n-0.5 0.328125 0.03125 \n-0.5 0.34375 0.015625 \n-0.5 0.265625 0.015625 \n-0.5 0.265625 0.03125 \n-0.5 0.28125 0.015625 \n-0.5 0.265625 0.078125 \n-0.5 0.265625 0.09375 \n-0.5 0.28125 0.078125 \n-0.5 0.328125 0.140625 \n-0.5 0.328125 0.15625 \n-0.5 0.34375 0.140625 \n-0.5 0.265625 0.140625 \n-0.5 0.265625 0.15625 \n-0.5 0.28125 0.140625 \n-0.5 0.265625 0.203125 \n-0.5 0.265625 0.21875 \n-0.5 0.28125 0.203125 \n-0.5 0.203125 0.015625 \n-0.5 0.203125 0.03125 \n-0.5 0.21875 0.015625 \n-0.5 0.140625 0.015625 \n-0.5 0.140625 0.03125 \n-0.5 0.15625 0.015625 \n-0.5 0.140625 0.078125 \n-0.5 0.140625 0.09375 \n-0.5 0.15625 0.078125 \n-0.5 0.078125 0.015625 \n-0.5 0.078125 0.03125 \n-0.5 0.09375 0.015625 \n-0.5 0.015625 0.015625 \n-0.5 0.015625 0.03125 \n-0.5 0.03125 0.015625 \n-0.5 0.015625 0.078125 \n-0.5 0.015625 0.09375 \n-0.5 0.03125 0.078125 \n-0.5 0.078125 0.140625 \n-0.5 0.078125 0.15625 \n-0.5 0.09375 0.140625 \n-0.5 0.015625 0.140625 \n-0.5 0.015625 0.15625 \n-0.5 0.03125 0.140625 \n-0.5 0.015625 0.203125 \n-0.5 0.015625 0.21875 \n-0.5 0.03125 0.203125 \n-0.5 0.203125 0.265625 \n-0.5 0.203125 0.28125 \n-0.5 0.21875 0.265625 \n-0.5 0.140625 0.265625 \n-0.5 0.140625 0.28125 \n-0.5 0.15625 0.265625 \n-0.5 0.140625 0.328125 \n-0.5 0.140625 0.34375 \n-0.5 0.15625 0.328125 \n-0.5 0.078125 0.265625 \n-0.5 0.078125 0.28125 \n-0.5 0.09375 0.265625 \n-0.5 0.015625 0.265625 \n-0.5 0.015625 0.28125 \n-0.5 0.03125 0.265625 \n-0.5 0.015625 0.328125 \n-0.5 0.015625 0.34375 \n-0.5 0.03125 0.328125 \n-0.5 0.078125 0.390625 \n-0.5 0.078125 0.40625 \n-0.5 0.09375 0.390625 \n-0.5 0.015625 0.390625 \n-0.5 0.015625 0.40625 \n-0.5 0.03125 0.390625 \n-0.5 0.015625 0.453125 \n-0.5 0.015625 0.46875 \n-0.5 0.03125 0.453125 \n0.46875 0.484375 0.5 \n0.484375 0.46875 0.5 \n0.484375 0.484375 0.5 \n0.40625 0.484375 0.5 \n0.421875 0.46875 0.5 \n0.421875 0.484375 0.5 \n0.46875 0.421875 0.5 \n0.484375 0.40625 0.5 \n0.484375 0.421875 0.5 \n0.34375 0.484375 0.5 \n0.359375 0.46875 0.5 \n0.359375 0.484375 0.5 \n0.28125 0.484375 0.5 \n0.296875 0.46875 0.5 \n0.296875 0.484375 0.5 \n0.34375 0.421875 0.5 \n0.359375 0.40625 0.5 \n0.359375 0.421875 0.5 \n0.46875 0.359375 0.5 \n0.484375 0.34375 0.5 \n0.484375 0.359375 0.5 \n0.40625 0.359375 0.5 \n0.421875 0.34375 0.5 \n0.421875 0.359375 0.5 \n0.46875 0.296875 0.5 \n0.484375 0.28125 0.5 \n0.484375 0.296875 0.5 \n0.21875 0.484375 0.5 \n0.234375 0.46875 0.5 \n0.234375 0.484375 0.5 \n0.15625 0.484375 0.5 \n0.171875 0.46875 0.5 \n0.171875 0.484375 0.5 \n0.21875 0.421875 0.5 \n0.234375 0.40625 0.5 \n0.234375 0.421875 0.5 \n0.09375 0.484375 0.5 \n0.109375 0.46875 0.5 \n0.109375 0.484375 0.5 \n0.03125 0.484375 0.5 \n0.046875 0.46875 0.5 \n0.046875 0.484375 0.5 \n0.09375 0.421875 0.5 \n0.109375 0.40625 0.5 \n0.109375 0.421875 0.5 \n0.21875 0.359375 0.5 \n0.234375 0.34375 0.5 \n0.234375 0.359375 0.5 \n0.15625 0.359375 0.5 \n0.171875 0.34375 0.5 \n0.171875 0.359375 0.5 \n0.21875 0.296875 0.5 \n0.234375 0.28125 0.5 \n0.234375 0.296875 0.5 \n0.46875 0.234375 0.5 \n0.484375 0.21875 0.5 \n0.484375 0.234375 0.5 \n0.40625 0.234375 0.5 \n0.421875 0.21875 0.5 \n0.421875 0.234375 0.5 \n0.46875 0.171875 0.5 \n0.484375 0.15625 0.5 \n0.484375 0.171875 0.5 \n0.34375 0.234375 0.5 \n0.359375 0.21875 0.5 \n0.359375 0.234375 0.5 \n0.28125 0.234375 0.5 \n0.296875 0.21875 0.5 \n0.296875 0.234375 0.5 \n0.34375 0.171875 0.5 \n0.359375 0.15625 0.5 \n0.359375 0.171875 0.5 \n0.46875 0.109375 0.5 \n0.484375 0.09375 0.5 \n0.484375 0.109375 0.5 \n0.40625 0.109375 0.5 \n0.421875 0.09375 0.5 \n0.421875 0.109375 0.5 \n0.46875 0.046875 0.5 \n0.484375 0.03125 0.5 \n0.484375 0.046875 0.5 \n-0.03125 0.484375 0.5 \n-0.015625 0.46875 0.5 \n-0.015625 0.484375 0.5 \n-0.09375 0.484375 0.5 \n-0.078125 0.46875 0.5 \n-0.078125 0.484375 0.5 \n-0.03125 0.421875 0.5 \n-0.015625 0.40625 0.5 \n-0.015625 0.421875 0.5 \n-0.15625 0.484375 0.5 \n-0.140625 0.46875 0.5 \n-0.140625 0.484375 0.5 \n-0.21875 0.484375 0.5 \n-0.203125 0.46875 0.5 \n-0.203125 0.484375 0.5 \n-0.15625 0.421875 0.5 \n-0.140625 0.40625 0.5 \n-0.140625 0.421875 0.5 \n-0.03125 0.359375 0.5 \n-0.015625 0.34375 0.5 \n-0.015625 0.359375 0.5 \n-0.09375 0.359375 0.5 \n-0.078125 0.34375 0.5 \n-0.078125 0.359375 0.5 \n-0.03125 0.296875 0.5 \n-0.015625 0.28125 0.5 \n-0.015625 0.296875 0.5 \n-0.28125 0.484375 0.5 \n-0.265625 0.46875 0.5 \n-0.265625 0.484375 0.5 \n-0.34375 0.484375 0.5 \n-0.328125 0.46875 0.5 \n-0.328125 0.484375 0.5 \n-0.28125 0.421875 0.5 \n-0.265625 0.40625 0.5 \n-0.265625 0.421875 0.5 \n-0.40625 0.484375 0.5 \n-0.390625 0.46875 0.5 \n-0.390625 0.484375 0.5 \n-0.46875 0.484375 0.5 \n-0.453125 0.46875 0.5 \n-0.453125 0.484375 0.5 \n-0.40625 0.421875 0.5 \n-0.390625 0.40625 0.5 \n-0.390625 0.421875 0.5 \n-0.28125 0.359375 0.5 \n-0.265625 0.34375 0.5 \n-0.265625 0.359375 0.5 \n-0.34375 0.359375 0.5 \n-0.328125 0.34375 0.5 \n-0.328125 0.359375 0.5 \n-0.28125 0.296875 0.5 \n-0.265625 0.28125 0.5 \n-0.265625 0.296875 0.5 \n-0.03125 0.234375 0.5 \n-0.015625 0.21875 0.5 \n-0.015625 0.234375 0.5 \n-0.09375 0.234375 0.5 \n-0.078125 0.21875 0.5 \n-0.078125 0.234375 0.5 \n-0.03125 0.171875 0.5 \n-0.015625 0.15625 0.5 \n-0.015625 0.171875 0.5 \n-0.15625 0.234375 0.5 \n-0.140625 0.21875 0.5 \n-0.140625 0.234375 0.5 \n-0.21875 0.234375 0.5 \n-0.203125 0.21875 0.5 \n-0.203125 0.234375 0.5 \n-0.15625 0.171875 0.5 \n-0.140625 0.15625 0.5 \n-0.140625 0.171875 0.5 \n-0.03125 0.109375 0.5 \n-0.015625 0.09375 0.5 \n-0.015625 0.109375 0.5 \n-0.09375 0.109375 0.5 \n-0.078125 0.09375 0.5 \n-0.078125 0.109375 0.5 \n-0.03125 0.046875 0.5 \n-0.015625 0.03125 0.5 \n-0.015625 0.046875 0.5 \n0.46875 -0.015625 0.5 \n0.484375 -0.03125 0.5 \n0.484375 -0.015625 0.5 \n0.40625 -0.015625 0.5 \n0.421875 -0.03125 0.5 \n0.421875 -0.015625 0.5 \n0.46875 -0.078125 0.5 \n0.484375 -0.09375 0.5 \n0.484375 -0.078125 0.5 \n0.34375 -0.015625 0.5 \n0.359375 -0.03125 0.5 \n0.359375 -0.015625 0.5 \n0.28125 -0.015625 0.5 \n0.296875 -0.03125 0.5 \n0.296875 -0.015625 0.5 \n0.34375 -0.078125 0.5 \n0.359375 -0.09375 0.5 \n0.359375 -0.078125 0.5 \n0.46875 -0.140625 0.5 \n0.484375 -0.15625 0.5 \n0.484375 -0.140625 0.5 \n0.40625 -0.140625 0.5 \n0.421875 -0.15625 0.5 \n0.421875 -0.140625 0.5 \n0.46875 -0.203125 0.5 \n0.484375 -0.21875 0.5 \n0.484375 -0.203125 0.5 \n0.21875 -0.015625 0.5 \n0.234375 -0.03125 0.5 \n0.234375 -0.015625 0.5 \n0.15625 -0.015625 0.5 \n0.171875 -0.03125 0.5 \n0.171875 -0.015625 0.5 \n0.21875 -0.078125 0.5 \n0.234375 -0.09375 0.5 \n0.234375 -0.078125 0.5 \n0.09375 -0.015625 0.5 \n0.109375 -0.03125 0.5 \n0.109375 -0.015625 0.5 \n0.03125 -0.015625 0.5 \n0.046875 -0.03125 0.5 \n0.046875 -0.015625 0.5 \n0.09375 -0.078125 0.5 \n0.109375 -0.09375 0.5 \n0.109375 -0.078125 0.5 \n0.21875 -0.140625 0.5 \n0.234375 -0.15625 0.5 \n0.234375 -0.140625 0.5 \n0.15625 -0.140625 0.5 \n0.171875 -0.15625 0.5 \n0.171875 -0.140625 0.5 \n0.21875 -0.203125 0.5 \n0.234375 -0.21875 0.5 \n0.234375 -0.203125 0.5 \n0.46875 -0.265625 0.5 \n0.484375 -0.28125 0.5 \n0.484375 -0.265625 0.5 \n0.40625 -0.265625 0.5 \n0.421875 -0.28125 0.5 \n0.421875 -0.265625 0.5 \n0.46875 -0.328125 0.5 \n0.484375 -0.34375 0.5 \n0.484375 -0.328125 0.5 \n0.34375 -0.265625 0.5 \n0.359375 -0.28125 0.5 \n0.359375 -0.265625 0.5 \n0.28125 -0.265625 0.5 \n0.296875 -0.28125 0.5 \n0.296875 -0.265625 0.5 \n0.34375 -0.328125 0.5 \n0.359375 -0.34375 0.5 \n0.359375 -0.328125 0.5 \n0.46875 -0.390625 0.5 \n0.484375 -0.40625 0.5 \n0.484375 -0.390625 0.5 \n0.40625 -0.390625 0.5 \n0.421875 -0.40625 0.5 \n0.421875 -0.390625 0.5 \n0.46875 -0.453125 0.5 \n0.484375 -0.46875 0.5 \n0.484375 -0.453125 0.5 \n-0.46875 -0.484375 0.5 \n-0.484375 -0.46875 0.5 \n-0.484375 -0.484375 0.5 \n-0.40625 -0.484375 0.5 \n-0.421875 -0.46875 0.5 \n-0.421875 -0.484375 0.5 \n-0.46875 -0.421875 0.5 \n-0.484375 -0.40625 0.5 \n-0.484375 -0.421875 0.5 \n-0.34375 -0.484375 0.5 \n-0.359375 -0.46875 0.5 \n-0.359375 -0.484375 0.5 \n-0.28125 -0.484375 0.5 \n-0.296875 -0.46875 0.5 \n-0.296875 -0.484375 0.5 \n-0.34375 -0.421875 0.5 \n-0.359375 -0.40625 0.5 \n-0.359375 -0.421875 0.5 \n-0.46875 -0.359375 0.5 \n-0.484375 -0.34375 0.5 \n-0.484375 -0.359375 0.5 \n-0.40625 -0.359375 0.5 \n-0.421875 -0.34375 0.5 \n-0.421875 -0.359375 0.5 \n-0.46875 -0.296875 0.5 \n-0.484375 -0.28125 0.5 \n-0.484375 -0.296875 0.5 \n-0.21875 -0.484375 0.5 \n-0.234375 -0.46875 0.5 \n-0.234375 -0.484375 0.5 \n-0.15625 -0.484375 0.5 \n-0.171875 -0.46875 0.5 \n-0.171875 -0.484375 0.5 \n-0.21875 -0.421875 0.5 \n-0.234375 -0.40625 0.5 \n-0.234375 -0.421875 0.5 \n-0.09375 -0.484375 0.5 \n-0.109375 -0.46875 0.5 \n-0.109375 -0.484375 0.5 \n-0.03125 -0.484375 0.5 \n-0.046875 -0.46875 0.5 \n-0.046875 -0.484375 0.5 \n-0.09375 -0.421875 0.5 \n-0.109375 -0.40625 0.5 \n-0.109375 -0.421875 0.5 \n-0.21875 -0.359375 0.5 \n-0.234375 -0.34375 0.5 \n-0.234375 -0.359375 0.5 \n-0.15625 -0.359375 0.5 \n-0.171875 -0.34375 0.5 \n-0.171875 -0.359375 0.5 \n-0.21875 -0.296875 0.5 \n-0.234375 -0.28125 0.5 \n-0.234375 -0.296875 0.5 \n-0.46875 -0.234375 0.5 \n-0.484375 -0.21875 0.5 \n-0.484375 -0.234375 0.5 \n-0.40625 -0.234375 0.5 \n-0.421875 -0.21875 0.5 \n-0.421875 -0.234375 0.5 \n-0.46875 -0.171875 0.5 \n-0.484375 -0.15625 0.5 \n-0.484375 -0.171875 0.5 \n-0.34375 -0.234375 0.5 \n-0.359375 -0.21875 0.5 \n-0.359375 -0.234375 0.5 \n-0.28125 -0.234375 0.5 \n-0.296875 -0.21875 0.5 \n-0.296875 -0.234375 0.5 \n-0.34375 -0.171875 0.5 \n-0.359375 -0.15625 0.5 \n-0.359375 -0.171875 0.5 \n-0.46875 -0.109375 0.5 \n-0.484375 -0.09375 0.5 \n-0.484375 -0.109375 0.5 \n-0.40625 -0.109375 0.5 \n-0.421875 -0.09375 0.5 \n-0.421875 -0.109375 0.5 \n-0.46875 -0.046875 0.5 \n-0.484375 -0.03125 0.5 \n-0.484375 -0.046875 0.5 \n0.03125 -0.484375 0.5 \n0.015625 -0.46875 0.5 \n0.015625 -0.484375 0.5 \n0.09375 -0.484375 0.5 \n0.078125 -0.46875 0.5 \n0.078125 -0.484375 0.5 \n0.03125 -0.421875 0.5 \n0.015625 -0.40625 0.5 \n0.015625 -0.421875 0.5 \n0.15625 -0.484375 0.5 \n0.140625 -0.46875 0.5 \n0.140625 -0.484375 0.5 \n0.21875 -0.484375 0.5 \n0.203125 -0.46875 0.5 \n0.203125 -0.484375 0.5 \n0.15625 -0.421875 0.5 \n0.140625 -0.40625 0.5 \n0.140625 -0.421875 0.5 \n0.03125 -0.359375 0.5 \n0.015625 -0.34375 0.5 \n0.015625 -0.359375 0.5 \n0.09375 -0.359375 0.5 \n0.078125 -0.34375 0.5 \n0.078125 -0.359375 0.5 \n0.03125 -0.296875 0.5 \n0.015625 -0.28125 0.5 \n0.015625 -0.296875 0.5 \n0.28125 -0.484375 0.5 \n0.265625 -0.46875 0.5 \n0.265625 -0.484375 0.5 \n0.34375 -0.484375 0.5 \n0.328125 -0.46875 0.5 \n0.328125 -0.484375 0.5 \n0.28125 -0.421875 0.5 \n0.265625 -0.40625 0.5 \n0.265625 -0.421875 0.5 \n0.40625 -0.484375 0.5 \n0.390625 -0.46875 0.5 \n0.390625 -0.484375 0.5 \n0.46875 -0.484375 0.5 \n0.453125 -0.46875 0.5 \n0.453125 -0.484375 0.5 \n0.40625 -0.421875 0.5 \n0.390625 -0.40625 0.5 \n0.390625 -0.421875 0.5 \n0.28125 -0.359375 0.5 \n0.265625 -0.34375 0.5 \n0.265625 -0.359375 0.5 \n0.34375 -0.359375 0.5 \n0.328125 -0.34375 0.5 \n0.328125 -0.359375 0.5 \n0.28125 -0.296875 0.5 \n0.265625 -0.28125 0.5 \n0.265625 -0.296875 0.5 \n0.03125 -0.234375 0.5 \n0.015625 -0.21875 0.5 \n0.015625 -0.234375 0.5 \n0.09375 -0.234375 0.5 \n0.078125 -0.21875 0.5 \n0.078125 -0.234375 0.5 \n0.03125 -0.171875 0.5 \n0.015625 -0.15625 0.5 \n0.015625 -0.171875 0.5 \n0.15625 -0.234375 0.5 \n0.140625 -0.21875 0.5 \n0.140625 -0.234375 0.5 \n0.21875 -0.234375 0.5 \n0.203125 -0.21875 0.5 \n0.203125 -0.234375 0.5 \n0.15625 -0.171875 0.5 \n0.140625 -0.15625 0.5 \n0.140625 -0.171875 0.5 \n0.03125 -0.109375 0.5 \n0.015625 -0.09375 0.5 \n0.015625 -0.109375 0.5 \n0.09375 -0.109375 0.5 \n0.078125 -0.09375 0.5 \n0.078125 -0.109375 0.5 \n0.03125 -0.046875 0.5 \n0.015625 -0.03125 0.5 \n0.015625 -0.046875 0.5 \n-0.46875 0.015625 0.5 \n-0.484375 0.03125 0.5 \n-0.484375 0.015625 0.5 \n-0.40625 0.015625 0.5 \n-0.421875 0.03125 0.5 \n-0.421875 0.015625 0.5 \n-0.46875 0.078125 0.5 \n-0.484375 0.09375 0.5 \n-0.484375 0.078125 0.5 \n-0.34375 0.015625 0.5 \n-0.359375 0.03125 0.5 \n-0.359375 0.015625 0.5 \n-0.28125 0.015625 0.5 \n-0.296875 0.03125 0.5 \n-0.296875 0.015625 0.5 \n-0.34375 0.078125 0.5 \n-0.359375 0.09375 0.5 \n-0.359375 0.078125 0.5 \n-0.46875 0.140625 0.5 \n-0.484375 0.15625 0.5 \n-0.484375 0.140625 0.5 \n-0.40625 0.140625 0.5 \n-0.421875 0.15625 0.5 \n-0.421875 0.140625 0.5 \n-0.46875 0.203125 0.5 \n-0.484375 0.21875 0.5 \n-0.484375 0.203125 0.5 \n-0.21875 0.015625 0.5 \n-0.234375 0.03125 0.5 \n-0.234375 0.015625 0.5 \n-0.15625 0.015625 0.5 \n-0.171875 0.03125 0.5 \n-0.171875 0.015625 0.5 \n-0.21875 0.078125 0.5 \n-0.234375 0.09375 0.5 \n-0.234375 0.078125 0.5 \n-0.09375 0.015625 0.5 \n-0.109375 0.03125 0.5 \n-0.109375 0.015625 0.5 \n-0.03125 0.015625 0.5 \n-0.046875 0.03125 0.5 \n-0.046875 0.015625 0.5 \n-0.09375 0.078125 0.5 \n-0.109375 0.09375 0.5 \n-0.109375 0.078125 0.5 \n-0.21875 0.140625 0.5 \n-0.234375 0.15625 0.5 \n-0.234375 0.140625 0.5 \n-0.15625 0.140625 0.5 \n-0.171875 0.15625 0.5 \n-0.171875 0.140625 0.5 \n-0.21875 0.203125 0.5 \n-0.234375 0.21875 0.5 \n-0.234375 0.203125 0.5 \n-0.46875 0.265625 0.5 \n-0.484375 0.28125 0.5 \n-0.484375 0.265625 0.5 \n-0.40625 0.265625 0.5 \n-0.421875 0.28125 0.5 \n-0.421875 0.265625 0.5 \n-0.46875 0.328125 0.5 \n-0.484375 0.34375 0.5 \n-0.484375 0.328125 0.5 \n-0.34375 0.265625 0.5 \n-0.359375 0.28125 0.5 \n-0.359375 0.265625 0.5 \n-0.28125 0.265625 0.5 \n-0.296875 0.28125 0.5 \n-0.296875 0.265625 0.5 \n-0.34375 0.328125 0.5 \n-0.359375 0.34375 0.5 \n-0.359375 0.328125 0.5 \n-0.46875 0.390625 0.5 \n-0.484375 0.40625 0.5 \n-0.484375 0.390625 0.5 \n-0.40625 0.390625 0.5 \n-0.421875 0.40625 0.5 \n-0.421875 0.390625 0.5 \n-0.46875 0.453125 0.5 \n-0.484375 0.46875 0.5 \n-0.484375 0.453125 0.5 \n0.5 0.46875 0.484375 \n0.5 0.484375 0.46875 \n0.5 0.484375 0.484375 \n0.5 0.40625 0.484375 \n0.5 0.421875 0.46875 \n0.5 0.421875 0.484375 \n0.5 0.46875 0.421875 \n0.5 0.484375 0.40625 \n0.5 0.484375 0.421875 \n0.5 0.34375 0.484375 \n0.5 0.359375 0.46875 \n0.5 0.359375 0.484375 \n0.5 0.28125 0.484375 \n0.5 0.296875 0.46875 \n0.5 0.296875 0.484375 \n0.5 0.34375 0.421875 \n0.5 0.359375 0.40625 \n0.5 0.359375 0.421875 \n0.5 0.46875 0.359375 \n0.5 0.484375 0.34375 \n0.5 0.484375 0.359375 \n0.5 0.40625 0.359375 \n0.5 0.421875 0.34375 \n0.5 0.421875 0.359375 \n0.5 0.46875 0.296875 \n0.5 0.484375 0.28125 \n0.5 0.484375 0.296875 \n0.5 0.21875 0.484375 \n0.5 0.234375 0.46875 \n0.5 0.234375 0.484375 \n0.5 0.15625 0.484375 \n0.5 0.171875 0.46875 \n0.5 0.171875 0.484375 \n0.5 0.21875 0.421875 \n0.5 0.234375 0.40625 \n0.5 0.234375 0.421875 \n0.5 0.09375 0.484375 \n0.5 0.109375 0.46875 \n0.5 0.109375 0.484375 \n0.5 0.03125 0.484375 \n0.5 0.046875 0.46875 \n0.5 0.046875 0.484375 \n0.5 0.09375 0.421875 \n0.5 0.109375 0.40625 \n0.5 0.109375 0.421875 \n0.5 0.21875 0.359375 \n0.5 0.234375 0.34375 \n0.5 0.234375 0.359375 \n0.5 0.15625 0.359375 \n0.5 0.171875 0.34375 \n0.5 0.171875 0.359375 \n0.5 0.21875 0.296875 \n0.5 0.234375 0.28125 \n0.5 0.234375 0.296875 \n0.5 0.46875 0.234375 \n0.5 0.484375 0.21875 \n0.5 0.484375 0.234375 \n0.5 0.40625 0.234375 \n0.5 0.421875 0.21875 \n0.5 0.421875 0.234375 \n0.5 0.46875 0.171875 \n0.5 0.484375 0.15625 \n0.5 0.484375 0.171875 \n0.5 0.34375 0.234375 \n0.5 0.359375 0.21875 \n0.5 0.359375 0.234375 \n0.5 0.28125 0.234375 \n0.5 0.296875 0.21875 \n0.5 0.296875 0.234375 \n0.5 0.34375 0.171875 \n0.5 0.359375 0.15625 \n0.5 0.359375 0.171875 \n0.5 0.46875 0.109375 \n0.5 0.484375 0.09375 \n0.5 0.484375 0.109375 \n0.5 0.40625 0.109375 \n0.5 0.421875 0.09375 \n0.5 0.421875 0.109375 \n0.5 0.46875 0.046875 \n0.5 0.484375 0.03125 \n0.5 0.484375 0.046875 \n0.5 -0.03125 0.484375 \n0.5 -0.015625 0.46875 \n0.5 -0.015625 0.484375 \n0.5 -0.09375 0.484375 \n0.5 -0.078125 0.46875 \n0.5 -0.078125 0.484375 \n0.5 -0.03125 0.421875 \n0.5 -0.015625 0.40625 \n0.5 -0.015625 0.421875 \n0.5 -0.15625 0.484375 \n0.5 -0.140625 0.46875 \n0.5 -0.140625 0.484375 \n0.5 -0.21875 0.484375 \n0.5 -0.203125 0.46875 \n0.5 -0.203125 0.484375 \n0.5 -0.15625 0.421875 \n0.5 -0.140625 0.40625 \n0.5 -0.140625 0.421875 \n0.5 -0.03125 0.359375 \n0.5 -0.015625 0.34375 \n0.5 -0.015625 0.359375 \n0.5 -0.09375 0.359375 \n0.5 -0.078125 0.34375 \n0.5 -0.078125 0.359375 \n0.5 -0.03125 0.296875 \n0.5 -0.015625 0.28125 \n0.5 -0.015625 0.296875 \n0.5 -0.28125 0.484375 \n0.5 -0.265625 0.46875 \n0.5 -0.265625 0.484375 \n0.5 -0.34375 0.484375 \n0.5 -0.328125 0.46875 \n0.5 -0.328125 0.484375 \n0.5 -0.28125 0.421875 \n0.5 -0.265625 0.40625 \n0.5 -0.265625 0.421875 \n0.5 -0.40625 0.484375 \n0.5 -0.390625 0.46875 \n0.5 -0.390625 0.484375 \n0.5 -0.46875 0.484375 \n0.5 -0.453125 0.46875 \n0.5 -0.453125 0.484375 \n0.5 -0.40625 0.421875 \n0.5 -0.390625 0.40625 \n0.5 -0.390625 0.421875 \n0.5 -0.28125 0.359375 \n0.5 -0.265625 0.34375 \n0.5 -0.265625 0.359375 \n0.5 -0.34375 0.359375 \n0.5 -0.328125 0.34375 \n0.5 -0.328125 0.359375 \n0.5 -0.28125 0.296875 \n0.5 -0.265625 0.28125 \n0.5 -0.265625 0.296875 \n0.5 -0.03125 0.234375 \n0.5 -0.015625 0.21875 \n0.5 -0.015625 0.234375 \n0.5 -0.09375 0.234375 \n0.5 -0.078125 0.21875 \n0.5 -0.078125 0.234375 \n0.5 -0.03125 0.171875 \n0.5 -0.015625 0.15625 \n0.5 -0.015625 0.171875 \n0.5 -0.15625 0.234375 \n0.5 -0.140625 0.21875 \n0.5 -0.140625 0.234375 \n0.5 -0.21875 0.234375 \n0.5 -0.203125 0.21875 \n0.5 -0.203125 0.234375 \n0.5 -0.15625 0.171875 \n0.5 -0.140625 0.15625 \n0.5 -0.140625 0.171875 \n0.5 -0.03125 0.109375 \n0.5 -0.015625 0.09375 \n0.5 -0.015625 0.109375 \n0.5 -0.09375 0.109375 \n0.5 -0.078125 0.09375 \n0.5 -0.078125 0.109375 \n0.5 -0.03125 0.046875 \n0.5 -0.015625 0.03125 \n0.5 -0.015625 0.046875 \n0.5 0.46875 -0.015625 \n0.5 0.484375 -0.03125 \n0.5 0.484375 -0.015625 \n0.5 0.40625 -0.015625 \n0.5 0.421875 -0.03125 \n0.5 0.421875 -0.015625 \n0.5 0.46875 -0.078125 \n0.5 0.484375 -0.09375 \n0.5 0.484375 -0.078125 \n0.5 0.34375 -0.015625 \n0.5 0.359375 -0.03125 \n0.5 0.359375 -0.015625 \n0.5 0.28125 -0.015625 \n0.5 0.296875 -0.03125 \n0.5 0.296875 -0.015625 \n0.5 0.34375 -0.078125 \n0.5 0.359375 -0.09375 \n0.5 0.359375 -0.078125 \n0.5 0.46875 -0.140625 \n0.5 0.484375 -0.15625 \n0.5 0.484375 -0.140625 \n0.5 0.40625 -0.140625 \n0.5 0.421875 -0.15625 \n0.5 0.421875 -0.140625 \n0.5 0.46875 -0.203125 \n0.5 0.484375 -0.21875 \n0.5 0.484375 -0.203125 \n0.5 0.21875 -0.015625 \n0.5 0.234375 -0.03125 \n0.5 0.234375 -0.015625 \n0.5 0.15625 -0.015625 \n0.5 0.171875 -0.03125 \n0.5 0.171875 -0.015625 \n0.5 0.21875 -0.078125 \n0.5 0.234375 -0.09375 \n0.5 0.234375 -0.078125 \n0.5 0.09375 -0.015625 \n0.5 0.109375 -0.03125 \n0.5 0.109375 -0.015625 \n0.5 0.03125 -0.015625 \n0.5 0.046875 -0.03125 \n0.5 0.046875 -0.015625 \n0.5 0.09375 -0.078125 \n0.5 0.109375 -0.09375 \n0.5 0.109375 -0.078125 \n0.5 0.21875 -0.140625 \n0.5 0.234375 -0.15625 \n0.5 0.234375 -0.140625 \n0.5 0.15625 -0.140625 \n0.5 0.171875 -0.15625 \n0.5 0.171875 -0.140625 \n0.5 0.21875 -0.203125 \n0.5 0.234375 -0.21875 \n0.5 0.234375 -0.203125 \n0.5 0.46875 -0.265625 \n0.5 0.484375 -0.28125 \n0.5 0.484375 -0.265625 \n0.5 0.40625 -0.265625 \n0.5 0.421875 -0.28125 \n0.5 0.421875 -0.265625 \n0.5 0.46875 -0.328125 \n0.5 0.484375 -0.34375 \n0.5 0.484375 -0.328125 \n0.5 0.34375 -0.265625 \n0.5 0.359375 -0.28125 \n0.5 0.359375 -0.265625 \n0.5 0.28125 -0.265625 \n0.5 0.296875 -0.28125 \n0.5 0.296875 -0.265625 \n0.5 0.34375 -0.328125 \n0.5 0.359375 -0.34375 \n0.5 0.359375 -0.328125 \n0.5 0.46875 -0.390625 \n0.5 0.484375 -0.40625 \n0.5 0.484375 -0.390625 \n0.5 0.40625 -0.390625 \n0.5 0.421875 -0.40625 \n0.5 0.421875 -0.390625 \n0.5 0.46875 -0.453125 \n0.5 0.484375 -0.46875 \n0.5 0.484375 -0.453125 \n0.5 -0.46875 -0.484375 \n0.5 -0.484375 -0.46875 \n0.5 -0.484375 -0.484375 \n0.5 -0.40625 -0.484375 \n0.5 -0.421875 -0.46875 \n0.5 -0.421875 -0.484375 \n0.5 -0.46875 -0.421875 \n0.5 -0.484375 -0.40625 \n0.5 -0.484375 -0.421875 \n0.5 -0.34375 -0.484375 \n0.5 -0.359375 -0.46875 \n0.5 -0.359375 -0.484375 \n0.5 -0.28125 -0.484375 \n0.5 -0.296875 -0.46875 \n0.5 -0.296875 -0.484375 \n0.5 -0.34375 -0.421875 \n0.5 -0.359375 -0.40625 \n0.5 -0.359375 -0.421875 \n0.5 -0.46875 -0.359375 \n0.5 -0.484375 -0.34375 \n0.5 -0.484375 -0.359375 \n0.5 -0.40625 -0.359375 \n0.5 -0.421875 -0.34375 \n0.5 -0.421875 -0.359375 \n0.5 -0.46875 -0.296875 \n0.5 -0.484375 -0.28125 \n0.5 -0.484375 -0.296875 \n0.5 -0.21875 -0.484375 \n0.5 -0.234375 -0.46875 \n0.5 -0.234375 -0.484375 \n0.5 -0.15625 -0.484375 \n0.5 -0.171875 -0.46875 \n0.5 -0.171875 -0.484375 \n0.5 -0.21875 -0.421875 \n0.5 -0.234375 -0.40625 \n0.5 -0.234375 -0.421875 \n0.5 -0.09375 -0.484375 \n0.5 -0.109375 -0.46875 \n0.5 -0.109375 -0.484375 \n0.5 -0.03125 -0.484375 \n0.5 -0.046875 -0.46875 \n0.5 -0.046875 -0.484375 \n0.5 -0.09375 -0.421875 \n0.5 -0.109375 -0.40625 \n0.5 -0.109375 -0.421875 \n0.5 -0.21875 -0.359375 \n0.5 -0.234375 -0.34375 \n0.5 -0.234375 -0.359375 \n0.5 -0.15625 -0.359375 \n0.5 -0.171875 -0.34375 \n0.5 -0.171875 -0.359375 \n0.5 -0.21875 -0.296875 \n0.5 -0.234375 -0.28125 \n0.5 -0.234375 -0.296875 \n0.5 -0.46875 -0.234375 \n0.5 -0.484375 -0.21875 \n0.5 -0.484375 -0.234375 \n0.5 -0.40625 -0.234375 \n0.5 -0.421875 -0.21875 \n0.5 -0.421875 -0.234375 \n0.5 -0.46875 -0.171875 \n0.5 -0.484375 -0.15625 \n0.5 -0.484375 -0.171875 \n0.5 -0.34375 -0.234375 \n0.5 -0.359375 -0.21875 \n0.5 -0.359375 -0.234375 \n0.5 -0.28125 -0.234375 \n0.5 -0.296875 -0.21875 \n0.5 -0.296875 -0.234375 \n0.5 -0.34375 -0.171875 \n0.5 -0.359375 -0.15625 \n0.5 -0.359375 -0.171875 \n0.5 -0.46875 -0.109375 \n0.5 -0.484375 -0.09375 \n0.5 -0.484375 -0.109375 \n0.5 -0.40625 -0.109375 \n0.5 -0.421875 -0.09375 \n0.5 -0.421875 -0.109375 \n0.5 -0.46875 -0.046875 \n0.5 -0.484375 -0.03125 \n0.5 -0.484375 -0.046875 \n0.5 0.03125 -0.484375 \n0.5 0.015625 -0.46875 \n0.5 0.015625 -0.484375 \n0.5 0.09375 -0.484375 \n0.5 0.078125 -0.46875 \n0.5 0.078125 -0.484375 \n0.5 0.03125 -0.421875 \n0.5 0.015625 -0.40625 \n0.5 0.015625 -0.421875 \n0.5 0.15625 -0.484375 \n0.5 0.140625 -0.46875 \n0.5 0.140625 -0.484375 \n0.5 0.21875 -0.484375 \n0.5 0.203125 -0.46875 \n0.5 0.203125 -0.484375 \n0.5 0.15625 -0.421875 \n0.5 0.140625 -0.40625 \n0.5 0.140625 -0.421875 \n0.5 0.03125 -0.359375 \n0.5 0.015625 -0.34375 \n0.5 0.015625 -0.359375 \n0.5 0.09375 -0.359375 \n0.5 0.078125 -0.34375 \n0.5 0.078125 -0.359375 \n0.5 0.03125 -0.296875 \n0.5 0.015625 -0.28125 \n0.5 0.015625 -0.296875 \n0.5 0.28125 -0.484375 \n0.5 0.265625 -0.46875 \n0.5 0.265625 -0.484375 \n0.5 0.34375 -0.484375 \n0.5 0.328125 -0.46875 \n0.5 0.328125 -0.484375 \n0.5 0.28125 -0.421875 \n0.5 0.265625 -0.40625 \n0.5 0.265625 -0.421875 \n0.5 0.40625 -0.484375 \n0.5 0.390625 -0.46875 \n0.5 0.390625 -0.484375 \n0.5 0.46875 -0.484375 \n0.5 0.453125 -0.46875 \n0.5 0.453125 -0.484375 \n0.5 0.40625 -0.421875 \n0.5 0.390625 -0.40625 \n0.5 0.390625 -0.421875 \n0.5 0.28125 -0.359375 \n0.5 0.265625 -0.34375 \n0.5 0.265625 -0.359375 \n0.5 0.34375 -0.359375 \n0.5 0.328125 -0.34375 \n0.5 0.328125 -0.359375 \n0.5 0.28125 -0.296875 \n0.5 0.265625 -0.28125 \n0.5 0.265625 -0.296875 \n0.5 0.03125 -0.234375 \n0.5 0.015625 -0.21875 \n0.5 0.015625 -0.234375 \n0.5 0.09375 -0.234375 \n0.5 0.078125 -0.21875 \n0.5 0.078125 -0.234375 \n0.5 0.03125 -0.171875 \n0.5 0.015625 -0.15625 \n0.5 0.015625 -0.171875 \n0.5 0.15625 -0.234375 \n0.5 0.140625 -0.21875 \n0.5 0.140625 -0.234375 \n0.5 0.21875 -0.234375 \n0.5 0.203125 -0.21875 \n0.5 0.203125 -0.234375 \n0.5 0.15625 -0.171875 \n0.5 0.140625 -0.15625 \n0.5 0.140625 -0.171875 \n0.5 0.03125 -0.109375 \n0.5 0.015625 -0.09375 \n0.5 0.015625 -0.109375 \n0.5 0.09375 -0.109375 \n0.5 0.078125 -0.09375 \n0.5 0.078125 -0.109375 \n0.5 0.03125 -0.046875 \n0.5 0.015625 -0.03125 \n0.5 0.015625 -0.046875 \n0.5 -0.46875 0.015625 \n0.5 -0.484375 0.03125 \n0.5 -0.484375 0.015625 \n0.5 -0.40625 0.015625 \n0.5 -0.421875 0.03125 \n0.5 -0.421875 0.015625 \n0.5 -0.46875 0.078125 \n0.5 -0.484375 0.09375 \n0.5 -0.484375 0.078125 \n0.5 -0.34375 0.015625 \n0.5 -0.359375 0.03125 \n0.5 -0.359375 0.015625 \n0.5 -0.28125 0.015625 \n0.5 -0.296875 0.03125 \n0.5 -0.296875 0.015625 \n0.5 -0.34375 0.078125 \n0.5 -0.359375 0.09375 \n0.5 -0.359375 0.078125 \n0.5 -0.46875 0.140625 \n0.5 -0.484375 0.15625 \n0.5 -0.484375 0.140625 \n0.5 -0.40625 0.140625 \n0.5 -0.421875 0.15625 \n0.5 -0.421875 0.140625 \n0.5 -0.46875 0.203125 \n0.5 -0.484375 0.21875 \n0.5 -0.484375 0.203125 \n0.5 -0.21875 0.015625 \n0.5 -0.234375 0.03125 \n0.5 -0.234375 0.015625 \n0.5 -0.15625 0.015625 \n0.5 -0.171875 0.03125 \n0.5 -0.171875 0.015625 \n0.5 -0.21875 0.078125 \n0.5 -0.234375 0.09375 \n0.5 -0.234375 0.078125 \n0.5 -0.09375 0.015625 \n0.5 -0.109375 0.03125 \n0.5 -0.109375 0.015625 \n0.5 -0.03125 0.015625 \n0.5 -0.046875 0.03125 \n0.5 -0.046875 0.015625 \n0.5 -0.09375 0.078125 \n0.5 -0.109375 0.09375 \n0.5 -0.109375 0.078125 \n0.5 -0.21875 0.140625 \n0.5 -0.234375 0.15625 \n0.5 -0.234375 0.140625 \n0.5 -0.15625 0.140625 \n0.5 -0.171875 0.15625 \n0.5 -0.171875 0.140625 \n0.5 -0.21875 0.203125 \n0.5 -0.234375 0.21875 \n0.5 -0.234375 0.203125 \n0.5 -0.46875 0.265625 \n0.5 -0.484375 0.28125 \n0.5 -0.484375 0.265625 \n0.5 -0.40625 0.265625 \n0.5 -0.421875 0.28125 \n0.5 -0.421875 0.265625 \n0.5 -0.46875 0.328125 \n0.5 -0.484375 0.34375 \n0.5 -0.484375 0.328125 \n0.5 -0.34375 0.265625 \n0.5 -0.359375 0.28125 \n0.5 -0.359375 0.265625 \n0.5 -0.28125 0.265625 \n0.5 -0.296875 0.28125 \n0.5 -0.296875 0.265625 \n0.5 -0.34375 0.328125 \n0.5 -0.359375 0.34375 \n0.5 -0.359375 0.328125 \n0.5 -0.46875 0.390625 \n0.5 -0.484375 0.40625 \n0.5 -0.484375 0.390625 \n0.5 -0.40625 0.390625 \n0.5 -0.421875 0.40625 \n0.5 -0.421875 0.390625 \n0.5 -0.46875 0.453125 \n0.5 -0.484375 0.46875 \n0.5 -0.484375 0.453125 \n0.484375 0.5 0.46875 \n0.46875 0.5 0.484375 \n0.484375 0.5 0.484375 \n0.484375 0.5 0.40625 \n0.46875 0.5 0.421875 \n0.484375 0.5 0.421875 \n0.421875 0.5 0.46875 \n0.40625 0.5 0.484375 \n0.421875 0.5 0.484375 \n0.484375 0.5 0.34375 \n0.46875 0.5 0.359375 \n0.484375 0.5 0.359375 \n0.484375 0.5 0.28125 \n0.46875 0.5 0.296875 \n0.484375 0.5 0.296875 \n0.421875 0.5 0.34375 \n0.40625 0.5 0.359375 \n0.421875 0.5 0.359375 \n0.359375 0.5 0.46875 \n0.34375 0.5 0.484375 \n0.359375 0.5 0.484375 \n0.359375 0.5 0.40625 \n0.34375 0.5 0.421875 \n0.359375 0.5 0.421875 \n0.296875 0.5 0.46875 \n0.28125 0.5 0.484375 \n0.296875 0.5 0.484375 \n0.484375 0.5 0.21875 \n0.46875 0.5 0.234375 \n0.484375 0.5 0.234375 \n0.484375 0.5 0.15625 \n0.46875 0.5 0.171875 \n0.484375 0.5 0.171875 \n0.421875 0.5 0.21875 \n0.40625 0.5 0.234375 \n0.421875 0.5 0.234375 \n0.484375 0.5 0.09375 \n0.46875 0.5 0.109375 \n0.484375 0.5 0.109375 \n0.484375 0.5 0.03125 \n0.46875 0.5 0.046875 \n0.484375 0.5 0.046875 \n0.421875 0.5 0.09375 \n0.40625 0.5 0.109375 \n0.421875 0.5 0.109375 \n0.359375 0.5 0.21875 \n0.34375 0.5 0.234375 \n0.359375 0.5 0.234375 \n0.359375 0.5 0.15625 \n0.34375 0.5 0.171875 \n0.359375 0.5 0.171875 \n0.296875 0.5 0.21875 \n0.28125 0.5 0.234375 \n0.296875 0.5 0.234375 \n0.234375 0.5 0.46875 \n0.21875 0.5 0.484375 \n0.234375 0.5 0.484375 \n0.234375 0.5 0.40625 \n0.21875 0.5 0.421875 \n0.234375 0.5 0.421875 \n0.171875 0.5 0.46875 \n0.15625 0.5 0.484375 \n0.171875 0.5 0.484375 \n0.234375 0.5 0.34375 \n0.21875 0.5 0.359375 \n0.234375 0.5 0.359375 \n0.234375 0.5 0.28125 \n0.21875 0.5 0.296875 \n0.234375 0.5 0.296875 \n0.171875 0.5 0.34375 \n0.15625 0.5 0.359375 \n0.171875 0.5 0.359375 \n0.109375 0.5 0.46875 \n0.09375 0.5 0.484375 \n0.109375 0.5 0.484375 \n0.109375 0.5 0.40625 \n0.09375 0.5 0.421875 \n0.109375 0.5 0.421875 \n0.046875 0.5 0.46875 \n0.03125 0.5 0.484375 \n0.046875 0.5 0.484375 \n0.484375 0.5 -0.03125 \n0.46875 0.5 -0.015625 \n0.484375 0.5 -0.015625 \n0.484375 0.5 -0.09375 \n0.46875 0.5 -0.078125 \n0.484375 0.5 -0.078125 \n0.421875 0.5 -0.03125 \n0.40625 0.5 -0.015625 \n0.421875 0.5 -0.015625 \n0.484375 0.5 -0.15625 \n0.46875 0.5 -0.140625 \n0.484375 0.5 -0.140625 \n0.484375 0.5 -0.21875 \n0.46875 0.5 -0.203125 \n0.484375 0.5 -0.203125 \n0.421875 0.5 -0.15625 \n0.40625 0.5 -0.140625 \n0.421875 0.5 -0.140625 \n0.359375 0.5 -0.03125 \n0.34375 0.5 -0.015625 \n0.359375 0.5 -0.015625 \n0.359375 0.5 -0.09375 \n0.34375 0.5 -0.078125 \n0.359375 0.5 -0.078125 \n0.296875 0.5 -0.03125 \n0.28125 0.5 -0.015625 \n0.296875 0.5 -0.015625 \n0.484375 0.5 -0.28125 \n0.46875 0.5 -0.265625 \n0.484375 0.5 -0.265625 \n0.484375 0.5 -0.34375 \n0.46875 0.5 -0.328125 \n0.484375 0.5 -0.328125 \n0.421875 0.5 -0.28125 \n0.40625 0.5 -0.265625 \n0.421875 0.5 -0.265625 \n0.484375 0.5 -0.40625 \n0.46875 0.5 -0.390625 \n0.484375 0.5 -0.390625 \n0.484375 0.5 -0.46875 \n0.46875 0.5 -0.453125 \n0.484375 0.5 -0.453125 \n0.421875 0.5 -0.40625 \n0.40625 0.5 -0.390625 \n0.421875 0.5 -0.390625 \n0.359375 0.5 -0.28125 \n0.34375 0.5 -0.265625 \n0.359375 0.5 -0.265625 \n0.359375 0.5 -0.34375 \n0.34375 0.5 -0.328125 \n0.359375 0.5 -0.328125 \n0.296875 0.5 -0.28125 \n0.28125 0.5 -0.265625 \n0.296875 0.5 -0.265625 \n0.234375 0.5 -0.03125 \n0.21875 0.5 -0.015625 \n0.234375 0.5 -0.015625 \n0.234375 0.5 -0.09375 \n0.21875 0.5 -0.078125 \n0.234375 0.5 -0.078125 \n0.171875 0.5 -0.03125 \n0.15625 0.5 -0.015625 \n0.171875 0.5 -0.015625 \n0.234375 0.5 -0.15625 \n0.21875 0.5 -0.140625 \n0.234375 0.5 -0.140625 \n0.234375 0.5 -0.21875 \n0.21875 0.5 -0.203125 \n0.234375 0.5 -0.203125 \n0.171875 0.5 -0.15625 \n0.15625 0.5 -0.140625 \n0.171875 0.5 -0.140625 \n0.109375 0.5 -0.03125 \n0.09375 0.5 -0.015625 \n0.109375 0.5 -0.015625 \n0.109375 0.5 -0.09375 \n0.09375 0.5 -0.078125 \n0.109375 0.5 -0.078125 \n0.046875 0.5 -0.03125 \n0.03125 0.5 -0.015625 \n0.046875 0.5 -0.015625 \n-0.015625 0.5 0.46875 \n-0.03125 0.5 0.484375 \n-0.015625 0.5 0.484375 \n-0.015625 0.5 0.40625 \n-0.03125 0.5 0.421875 \n-0.015625 0.5 0.421875 \n-0.078125 0.5 0.46875 \n-0.09375 0.5 0.484375 \n-0.078125 0.5 0.484375 \n-0.015625 0.5 0.34375 \n-0.03125 0.5 0.359375 \n-0.015625 0.5 0.359375 \n-0.015625 0.5 0.28125 \n-0.03125 0.5 0.296875 \n-0.015625 0.5 0.296875 \n-0.078125 0.5 0.34375 \n-0.09375 0.5 0.359375 \n-0.078125 0.5 0.359375 \n-0.140625 0.5 0.46875 \n-0.15625 0.5 0.484375 \n-0.140625 0.5 0.484375 \n-0.140625 0.5 0.40625 \n-0.15625 0.5 0.421875 \n-0.140625 0.5 0.421875 \n-0.203125 0.5 0.46875 \n-0.21875 0.5 0.484375 \n-0.203125 0.5 0.484375 \n-0.015625 0.5 0.21875 \n-0.03125 0.5 0.234375 \n-0.015625 0.5 0.234375 \n-0.015625 0.5 0.15625 \n-0.03125 0.5 0.171875 \n-0.015625 0.5 0.171875 \n-0.078125 0.5 0.21875 \n-0.09375 0.5 0.234375 \n-0.078125 0.5 0.234375 \n-0.015625 0.5 0.09375 \n-0.03125 0.5 0.109375 \n-0.015625 0.5 0.109375 \n-0.015625 0.5 0.03125 \n-0.03125 0.5 0.046875 \n-0.015625 0.5 0.046875 \n-0.078125 0.5 0.09375 \n-0.09375 0.5 0.109375 \n-0.078125 0.5 0.109375 \n-0.140625 0.5 0.21875 \n-0.15625 0.5 0.234375 \n-0.140625 0.5 0.234375 \n-0.140625 0.5 0.15625 \n-0.15625 0.5 0.171875 \n-0.140625 0.5 0.171875 \n-0.203125 0.5 0.21875 \n-0.21875 0.5 0.234375 \n-0.203125 0.5 0.234375 \n-0.265625 0.5 0.46875 \n-0.28125 0.5 0.484375 \n-0.265625 0.5 0.484375 \n-0.265625 0.5 0.40625 \n-0.28125 0.5 0.421875 \n-0.265625 0.5 0.421875 \n-0.328125 0.5 0.46875 \n-0.34375 0.5 0.484375 \n-0.328125 0.5 0.484375 \n-0.265625 0.5 0.34375 \n-0.28125 0.5 0.359375 \n-0.265625 0.5 0.359375 \n-0.265625 0.5 0.28125 \n-0.28125 0.5 0.296875 \n-0.265625 0.5 0.296875 \n-0.328125 0.5 0.34375 \n-0.34375 0.5 0.359375 \n-0.328125 0.5 0.359375 \n-0.390625 0.5 0.46875 \n-0.40625 0.5 0.484375 \n-0.390625 0.5 0.484375 \n-0.390625 0.5 0.40625 \n-0.40625 0.5 0.421875 \n-0.390625 0.5 0.421875 \n-0.453125 0.5 0.46875 \n-0.46875 0.5 0.484375 \n-0.453125 0.5 0.484375 \n-0.484375 0.5 -0.46875 \n-0.46875 0.5 -0.484375 \n-0.484375 0.5 -0.484375 \n-0.484375 0.5 -0.40625 \n-0.46875 0.5 -0.421875 \n-0.484375 0.5 -0.421875 \n-0.421875 0.5 -0.46875 \n-0.40625 0.5 -0.484375 \n-0.421875 0.5 -0.484375 \n-0.484375 0.5 -0.34375 \n-0.46875 0.5 -0.359375 \n-0.484375 0.5 -0.359375 \n-0.484375 0.5 -0.28125 \n-0.46875 0.5 -0.296875 \n-0.484375 0.5 -0.296875 \n-0.421875 0.5 -0.34375 \n-0.40625 0.5 -0.359375 \n-0.421875 0.5 -0.359375 \n-0.359375 0.5 -0.46875 \n-0.34375 0.5 -0.484375 \n-0.359375 0.5 -0.484375 \n-0.359375 0.5 -0.40625 \n-0.34375 0.5 -0.421875 \n-0.359375 0.5 -0.421875 \n-0.296875 0.5 -0.46875 \n-0.28125 0.5 -0.484375 \n-0.296875 0.5 -0.484375 \n-0.484375 0.5 -0.21875 \n-0.46875 0.5 -0.234375 \n-0.484375 0.5 -0.234375 \n-0.484375 0.5 -0.15625 \n-0.46875 0.5 -0.171875 \n-0.484375 0.5 -0.171875 \n-0.421875 0.5 -0.21875 \n-0.40625 0.5 -0.234375 \n-0.421875 0.5 -0.234375 \n-0.484375 0.5 -0.09375 \n-0.46875 0.5 -0.109375 \n-0.484375 0.5 -0.109375 \n-0.484375 0.5 -0.03125 \n-0.46875 0.5 -0.046875 \n-0.484375 0.5 -0.046875 \n-0.421875 0.5 -0.09375 \n-0.40625 0.5 -0.109375 \n-0.421875 0.5 -0.109375 \n-0.359375 0.5 -0.21875 \n-0.34375 0.5 -0.234375 \n-0.359375 0.5 -0.234375 \n-0.359375 0.5 -0.15625 \n-0.34375 0.5 -0.171875 \n-0.359375 0.5 -0.171875 \n-0.296875 0.5 -0.21875 \n-0.28125 0.5 -0.234375 \n-0.296875 0.5 -0.234375 \n-0.234375 0.5 -0.46875 \n-0.21875 0.5 -0.484375 \n-0.234375 0.5 -0.484375 \n-0.234375 0.5 -0.40625 \n-0.21875 0.5 -0.421875 \n-0.234375 0.5 -0.421875 \n-0.171875 0.5 -0.46875 \n-0.15625 0.5 -0.484375 \n-0.171875 0.5 -0.484375 \n-0.234375 0.5 -0.34375 \n-0.21875 0.5 -0.359375 \n-0.234375 0.5 -0.359375 \n-0.234375 0.5 -0.28125 \n-0.21875 0.5 -0.296875 \n-0.234375 0.5 -0.296875 \n-0.171875 0.5 -0.34375 \n-0.15625 0.5 -0.359375 \n-0.171875 0.5 -0.359375 \n-0.109375 0.5 -0.46875 \n-0.09375 0.5 -0.484375 \n-0.109375 0.5 -0.484375 \n-0.109375 0.5 -0.40625 \n-0.09375 0.5 -0.421875 \n-0.109375 0.5 -0.421875 \n-0.046875 0.5 -0.46875 \n-0.03125 0.5 -0.484375 \n-0.046875 0.5 -0.484375 \n-0.484375 0.5 0.03125 \n-0.46875 0.5 0.015625 \n-0.484375 0.5 0.015625 \n-0.484375 0.5 0.09375 \n-0.46875 0.5 0.078125 \n-0.484375 0.5 0.078125 \n-0.421875 0.5 0.03125 \n-0.40625 0.5 0.015625 \n-0.421875 0.5 0.015625 \n-0.484375 0.5 0.15625 \n-0.46875 0.5 0.140625 \n-0.484375 0.5 0.140625 \n-0.484375 0.5 0.21875 \n-0.46875 0.5 0.203125 \n-0.484375 0.5 0.203125 \n-0.421875 0.5 0.15625 \n-0.40625 0.5 0.140625 \n-0.421875 0.5 0.140625 \n-0.359375 0.5 0.03125 \n-0.34375 0.5 0.015625 \n-0.359375 0.5 0.015625 \n-0.359375 0.5 0.09375 \n-0.34375 0.5 0.078125 \n-0.359375 0.5 0.078125 \n-0.296875 0.5 0.03125 \n-0.28125 0.5 0.015625 \n-0.296875 0.5 0.015625 \n-0.484375 0.5 0.28125 \n-0.46875 0.5 0.265625 \n-0.484375 0.5 0.265625 \n-0.484375 0.5 0.34375 \n-0.46875 0.5 0.328125 \n-0.484375 0.5 0.328125 \n-0.421875 0.5 0.28125 \n-0.40625 0.5 0.265625 \n-0.421875 0.5 0.265625 \n-0.484375 0.5 0.40625 \n-0.46875 0.5 0.390625 \n-0.484375 0.5 0.390625 \n-0.484375 0.5 0.46875 \n-0.46875 0.5 0.453125 \n-0.484375 0.5 0.453125 \n-0.421875 0.5 0.40625 \n-0.40625 0.5 0.390625 \n-0.421875 0.5 0.390625 \n-0.359375 0.5 0.28125 \n-0.34375 0.5 0.265625 \n-0.359375 0.5 0.265625 \n-0.359375 0.5 0.34375 \n-0.34375 0.5 0.328125 \n-0.359375 0.5 0.328125 \n-0.296875 0.5 0.28125 \n-0.28125 0.5 0.265625 \n-0.296875 0.5 0.265625 \n-0.234375 0.5 0.03125 \n-0.21875 0.5 0.015625 \n-0.234375 0.5 0.015625 \n-0.234375 0.5 0.09375 \n-0.21875 0.5 0.078125 \n-0.234375 0.5 0.078125 \n-0.171875 0.5 0.03125 \n-0.15625 0.5 0.015625 \n-0.171875 0.5 0.015625 \n-0.234375 0.5 0.15625 \n-0.21875 0.5 0.140625 \n-0.234375 0.5 0.140625 \n-0.234375 0.5 0.21875 \n-0.21875 0.5 0.203125 \n-0.234375 0.5 0.203125 \n-0.171875 0.5 0.15625 \n-0.15625 0.5 0.140625 \n-0.171875 0.5 0.140625 \n-0.109375 0.5 0.03125 \n-0.09375 0.5 0.015625 \n-0.109375 0.5 0.015625 \n-0.109375 0.5 0.09375 \n-0.09375 0.5 0.078125 \n-0.109375 0.5 0.078125 \n-0.046875 0.5 0.03125 \n-0.03125 0.5 0.015625 \n-0.046875 0.5 0.015625 \n0.015625 0.5 -0.46875 \n0.03125 0.5 -0.484375 \n0.015625 0.5 -0.484375 \n0.015625 0.5 -0.40625 \n0.03125 0.5 -0.421875 \n0.015625 0.5 -0.421875 \n0.078125 0.5 -0.46875 \n0.09375 0.5 -0.484375 \n0.078125 0.5 -0.484375 \n0.015625 0.5 -0.34375 \n0.03125 0.5 -0.359375 \n0.015625 0.5 -0.359375 \n0.015625 0.5 -0.28125 \n0.03125 0.5 -0.296875 \n0.015625 0.5 -0.296875 \n0.078125 0.5 -0.34375 \n0.09375 0.5 -0.359375 \n0.078125 0.5 -0.359375 \n0.140625 0.5 -0.46875 \n0.15625 0.5 -0.484375 \n0.140625 0.5 -0.484375 \n0.140625 0.5 -0.40625 \n0.15625 0.5 -0.421875 \n0.140625 0.5 -0.421875 \n0.203125 0.5 -0.46875 \n0.21875 0.5 -0.484375 \n0.203125 0.5 -0.484375 \n0.015625 0.5 -0.21875 \n0.03125 0.5 -0.234375 \n0.015625 0.5 -0.234375 \n0.015625 0.5 -0.15625 \n0.03125 0.5 -0.171875 \n0.015625 0.5 -0.171875 \n0.078125 0.5 -0.21875 \n0.09375 0.5 -0.234375 \n0.078125 0.5 -0.234375 \n0.015625 0.5 -0.09375 \n0.03125 0.5 -0.109375 \n0.015625 0.5 -0.109375 \n0.015625 0.5 -0.03125 \n0.03125 0.5 -0.046875 \n0.015625 0.5 -0.046875 \n0.078125 0.5 -0.09375 \n0.09375 0.5 -0.109375 \n0.078125 0.5 -0.109375 \n0.140625 0.5 -0.21875 \n0.15625 0.5 -0.234375 \n0.140625 0.5 -0.234375 \n0.140625 0.5 -0.15625 \n0.15625 0.5 -0.171875 \n0.140625 0.5 -0.171875 \n0.203125 0.5 -0.21875 \n0.21875 0.5 -0.234375 \n0.203125 0.5 -0.234375 \n0.265625 0.5 -0.46875 \n0.28125 0.5 -0.484375 \n0.265625 0.5 -0.484375 \n0.265625 0.5 -0.40625 \n0.28125 0.5 -0.421875 \n0.265625 0.5 -0.421875 \n0.328125 0.5 -0.46875 \n0.34375 0.5 -0.484375 \n0.328125 0.5 -0.484375 \n0.265625 0.5 -0.34375 \n0.28125 0.5 -0.359375 \n0.265625 0.5 -0.359375 \n0.265625 0.5 -0.28125 \n0.28125 0.5 -0.296875 \n0.265625 0.5 -0.296875 \n0.328125 0.5 -0.34375 \n0.34375 0.5 -0.359375 \n0.328125 0.5 -0.359375 \n0.390625 0.5 -0.46875 \n0.40625 0.5 -0.484375 \n0.390625 0.5 -0.484375 \n0.390625 0.5 -0.40625 \n0.40625 0.5 -0.421875 \n0.390625 0.5 -0.421875 \n0.453125 0.5 -0.46875 \n0.46875 0.5 -0.484375 \n0.453125 0.5 -0.484375 \n-0.484375 -0.46875 -0.5 \n-0.46875 -0.484375 -0.5 \n-0.484375 -0.484375 -0.5 \n-0.484375 -0.40625 -0.5 \n-0.46875 -0.421875 -0.5 \n-0.484375 -0.421875 -0.5 \n-0.421875 -0.46875 -0.5 \n-0.40625 -0.484375 -0.5 \n-0.421875 -0.484375 -0.5 \n-0.484375 -0.34375 -0.5 \n-0.46875 -0.359375 -0.5 \n-0.484375 -0.359375 -0.5 \n-0.484375 -0.28125 -0.5 \n-0.46875 -0.296875 -0.5 \n-0.484375 -0.296875 -0.5 \n-0.421875 -0.34375 -0.5 \n-0.40625 -0.359375 -0.5 \n-0.421875 -0.359375 -0.5 \n-0.359375 -0.46875 -0.5 \n-0.34375 -0.484375 -0.5 \n-0.359375 -0.484375 -0.5 \n-0.359375 -0.40625 -0.5 \n-0.34375 -0.421875 -0.5 \n-0.359375 -0.421875 -0.5 \n-0.296875 -0.46875 -0.5 \n-0.28125 -0.484375 -0.5 \n-0.296875 -0.484375 -0.5 \n-0.484375 -0.21875 -0.5 \n-0.46875 -0.234375 -0.5 \n-0.484375 -0.234375 -0.5 \n-0.484375 -0.15625 -0.5 \n-0.46875 -0.171875 -0.5 \n-0.484375 -0.171875 -0.5 \n-0.421875 -0.21875 -0.5 \n-0.40625 -0.234375 -0.5 \n-0.421875 -0.234375 -0.5 \n-0.484375 -0.09375 -0.5 \n-0.46875 -0.109375 -0.5 \n-0.484375 -0.109375 -0.5 \n-0.484375 -0.03125 -0.5 \n-0.46875 -0.046875 -0.5 \n-0.484375 -0.046875 -0.5 \n-0.421875 -0.09375 -0.5 \n-0.40625 -0.109375 -0.5 \n-0.421875 -0.109375 -0.5 \n-0.359375 -0.21875 -0.5 \n-0.34375 -0.234375 -0.5 \n-0.359375 -0.234375 -0.5 \n-0.359375 -0.15625 -0.5 \n-0.34375 -0.171875 -0.5 \n-0.359375 -0.171875 -0.5 \n-0.296875 -0.21875 -0.5 \n-0.28125 -0.234375 -0.5 \n-0.296875 -0.234375 -0.5 \n-0.234375 -0.46875 -0.5 \n-0.21875 -0.484375 -0.5 \n-0.234375 -0.484375 -0.5 \n-0.234375 -0.40625 -0.5 \n-0.21875 -0.421875 -0.5 \n-0.234375 -0.421875 -0.5 \n-0.171875 -0.46875 -0.5 \n-0.15625 -0.484375 -0.5 \n-0.171875 -0.484375 -0.5 \n-0.234375 -0.34375 -0.5 \n-0.21875 -0.359375 -0.5 \n-0.234375 -0.359375 -0.5 \n-0.234375 -0.28125 -0.5 \n-0.21875 -0.296875 -0.5 \n-0.234375 -0.296875 -0.5 \n-0.171875 -0.34375 -0.5 \n-0.15625 -0.359375 -0.5 \n-0.171875 -0.359375 -0.5 \n-0.109375 -0.46875 -0.5 \n-0.09375 -0.484375 -0.5 \n-0.109375 -0.484375 -0.5 \n-0.109375 -0.40625 -0.5 \n-0.09375 -0.421875 -0.5 \n-0.109375 -0.421875 -0.5 \n-0.046875 -0.46875 -0.5 \n-0.03125 -0.484375 -0.5 \n-0.046875 -0.484375 -0.5 \n-0.484375 0.03125 -0.5 \n-0.46875 0.015625 -0.5 \n-0.484375 0.015625 -0.5 \n-0.484375 0.09375 -0.5 \n-0.46875 0.078125 -0.5 \n-0.484375 0.078125 -0.5 \n-0.421875 0.03125 -0.5 \n-0.40625 0.015625 -0.5 \n-0.421875 0.015625 -0.5 \n-0.484375 0.15625 -0.5 \n-0.46875 0.140625 -0.5 \n-0.484375 0.140625 -0.5 \n-0.484375 0.21875 -0.5 \n-0.46875 0.203125 -0.5 \n-0.484375 0.203125 -0.5 \n-0.421875 0.15625 -0.5 \n-0.40625 0.140625 -0.5 \n-0.421875 0.140625 -0.5 \n-0.359375 0.03125 -0.5 \n-0.34375 0.015625 -0.5 \n-0.359375 0.015625 -0.5 \n-0.359375 0.09375 -0.5 \n-0.34375 0.078125 -0.5 \n-0.359375 0.078125 -0.5 \n-0.296875 0.03125 -0.5 \n-0.28125 0.015625 -0.5 \n-0.296875 0.015625 -0.5 \n-0.484375 0.28125 -0.5 \n-0.46875 0.265625 -0.5 \n-0.484375 0.265625 -0.5 \n-0.484375 0.34375 -0.5 \n-0.46875 0.328125 -0.5 \n-0.484375 0.328125 -0.5 \n-0.421875 0.28125 -0.5 \n-0.40625 0.265625 -0.5 \n-0.421875 0.265625 -0.5 \n-0.484375 0.40625 -0.5 \n-0.46875 0.390625 -0.5 \n-0.484375 0.390625 -0.5 \n-0.484375 0.46875 -0.5 \n-0.46875 0.453125 -0.5 \n-0.484375 0.453125 -0.5 \n-0.421875 0.40625 -0.5 \n-0.40625 0.390625 -0.5 \n-0.421875 0.390625 -0.5 \n-0.359375 0.28125 -0.5 \n-0.34375 0.265625 -0.5 \n-0.359375 0.265625 -0.5 \n-0.359375 0.34375 -0.5 \n-0.34375 0.328125 -0.5 \n-0.359375 0.328125 -0.5 \n-0.296875 0.28125 -0.5 \n-0.28125 0.265625 -0.5 \n-0.296875 0.265625 -0.5 \n-0.234375 0.03125 -0.5 \n-0.21875 0.015625 -0.5 \n-0.234375 0.015625 -0.5 \n-0.234375 0.09375 -0.5 \n-0.21875 0.078125 -0.5 \n-0.234375 0.078125 -0.5 \n-0.171875 0.03125 -0.5 \n-0.15625 0.015625 -0.5 \n-0.171875 0.015625 -0.5 \n-0.234375 0.15625 -0.5 \n-0.21875 0.140625 -0.5 \n-0.234375 0.140625 -0.5 \n-0.234375 0.21875 -0.5 \n-0.21875 0.203125 -0.5 \n-0.234375 0.203125 -0.5 \n-0.171875 0.15625 -0.5 \n-0.15625 0.140625 -0.5 \n-0.171875 0.140625 -0.5 \n-0.109375 0.03125 -0.5 \n-0.09375 0.015625 -0.5 \n-0.109375 0.015625 -0.5 \n-0.109375 0.09375 -0.5 \n-0.09375 0.078125 -0.5 \n-0.109375 0.078125 -0.5 \n-0.046875 0.03125 -0.5 \n-0.03125 0.015625 -0.5 \n-0.046875 0.015625 -0.5 \n0.015625 -0.46875 -0.5 \n0.03125 -0.484375 -0.5 \n0.015625 -0.484375 -0.5 \n0.015625 -0.40625 -0.5 \n0.03125 -0.421875 -0.5 \n0.015625 -0.421875 -0.5 \n0.078125 -0.46875 -0.5 \n0.09375 -0.484375 -0.5 \n0.078125 -0.484375 -0.5 \n0.015625 -0.34375 -0.5 \n0.03125 -0.359375 -0.5 \n0.015625 -0.359375 -0.5 \n0.015625 -0.28125 -0.5 \n0.03125 -0.296875 -0.5 \n0.015625 -0.296875 -0.5 \n0.078125 -0.34375 -0.5 \n0.09375 -0.359375 -0.5 \n0.078125 -0.359375 -0.5 \n0.140625 -0.46875 -0.5 \n0.15625 -0.484375 -0.5 \n0.140625 -0.484375 -0.5 \n0.140625 -0.40625 -0.5 \n0.15625 -0.421875 -0.5 \n0.140625 -0.421875 -0.5 \n0.203125 -0.46875 -0.5 \n0.21875 -0.484375 -0.5 \n0.203125 -0.484375 -0.5 \n0.015625 -0.21875 -0.5 \n0.03125 -0.234375 -0.5 \n0.015625 -0.234375 -0.5 \n0.015625 -0.15625 -0.5 \n0.03125 -0.171875 -0.5 \n0.015625 -0.171875 -0.5 \n0.078125 -0.21875 -0.5 \n0.09375 -0.234375 -0.5 \n0.078125 -0.234375 -0.5 \n0.015625 -0.09375 -0.5 \n0.03125 -0.109375 -0.5 \n0.015625 -0.109375 -0.5 \n0.015625 -0.03125 -0.5 \n0.03125 -0.046875 -0.5 \n0.015625 -0.046875 -0.5 \n0.078125 -0.09375 -0.5 \n0.09375 -0.109375 -0.5 \n0.078125 -0.109375 -0.5 \n0.140625 -0.21875 -0.5 \n0.15625 -0.234375 -0.5 \n0.140625 -0.234375 -0.5 \n0.140625 -0.15625 -0.5 \n0.15625 -0.171875 -0.5 \n0.140625 -0.171875 -0.5 \n0.203125 -0.21875 -0.5 \n0.21875 -0.234375 -0.5 \n0.203125 -0.234375 -0.5 \n0.265625 -0.46875 -0.5 \n0.28125 -0.484375 -0.5 \n0.265625 -0.484375 -0.5 \n0.265625 -0.40625 -0.5 \n0.28125 -0.421875 -0.5 \n0.265625 -0.421875 -0.5 \n0.328125 -0.46875 -0.5 \n0.34375 -0.484375 -0.5 \n0.328125 -0.484375 -0.5 \n0.265625 -0.34375 -0.5 \n0.28125 -0.359375 -0.5 \n0.265625 -0.359375 -0.5 \n0.265625 -0.28125 -0.5 \n0.28125 -0.296875 -0.5 \n0.265625 -0.296875 -0.5 \n0.328125 -0.34375 -0.5 \n0.34375 -0.359375 -0.5 \n0.328125 -0.359375 -0.5 \n0.390625 -0.46875 -0.5 \n0.40625 -0.484375 -0.5 \n0.390625 -0.484375 -0.5 \n0.390625 -0.40625 -0.5 \n0.40625 -0.421875 -0.5 \n0.390625 -0.421875 -0.5 \n0.453125 -0.46875 -0.5 \n0.46875 -0.484375 -0.5 \n0.453125 -0.484375 -0.5 \n0.484375 0.46875 -0.5 \n0.46875 0.484375 -0.5 \n0.484375 0.484375 -0.5 \n0.484375 0.40625 -0.5 \n0.46875 0.421875 -0.5 \n0.484375 0.421875 -0.5 \n0.421875 0.46875 -0.5 \n0.40625 0.484375 -0.5 \n0.421875 0.484375 -0.5 \n0.484375 0.34375 -0.5 \n0.46875 0.359375 -0.5 \n0.484375 0.359375 -0.5 \n0.484375 0.28125 -0.5 \n0.46875 0.296875 -0.5 \n0.484375 0.296875 -0.5 \n0.421875 0.34375 -0.5 \n0.40625 0.359375 -0.5 \n0.421875 0.359375 -0.5 \n0.359375 0.46875 -0.5 \n0.34375 0.484375 -0.5 \n0.359375 0.484375 -0.5 \n0.359375 0.40625 -0.5 \n0.34375 0.421875 -0.5 \n0.359375 0.421875 -0.5 \n0.296875 0.46875 -0.5 \n0.28125 0.484375 -0.5 \n0.296875 0.484375 -0.5 \n0.484375 0.21875 -0.5 \n0.46875 0.234375 -0.5 \n0.484375 0.234375 -0.5 \n0.484375 0.15625 -0.5 \n0.46875 0.171875 -0.5 \n0.484375 0.171875 -0.5 \n0.421875 0.21875 -0.5 \n0.40625 0.234375 -0.5 \n0.421875 0.234375 -0.5 \n0.484375 0.09375 -0.5 \n0.46875 0.109375 -0.5 \n0.484375 0.109375 -0.5 \n0.484375 0.03125 -0.5 \n0.46875 0.046875 -0.5 \n0.484375 0.046875 -0.5 \n0.421875 0.09375 -0.5 \n0.40625 0.109375 -0.5 \n0.421875 0.109375 -0.5 \n0.359375 0.21875 -0.5 \n0.34375 0.234375 -0.5 \n0.359375 0.234375 -0.5 \n0.359375 0.15625 -0.5 \n0.34375 0.171875 -0.5 \n0.359375 0.171875 -0.5 \n0.296875 0.21875 -0.5 \n0.28125 0.234375 -0.5 \n0.296875 0.234375 -0.5 \n0.234375 0.46875 -0.5 \n0.21875 0.484375 -0.5 \n0.234375 0.484375 -0.5 \n0.234375 0.40625 -0.5 \n0.21875 0.421875 -0.5 \n0.234375 0.421875 -0.5 \n0.171875 0.46875 -0.5 \n0.15625 0.484375 -0.5 \n0.171875 0.484375 -0.5 \n0.234375 0.34375 -0.5 \n0.21875 0.359375 -0.5 \n0.234375 0.359375 -0.5 \n0.234375 0.28125 -0.5 \n0.21875 0.296875 -0.5 \n0.234375 0.296875 -0.5 \n0.171875 0.34375 -0.5 \n0.15625 0.359375 -0.5 \n0.171875 0.359375 -0.5 \n0.109375 0.46875 -0.5 \n0.09375 0.484375 -0.5 \n0.109375 0.484375 -0.5 \n0.109375 0.40625 -0.5 \n0.09375 0.421875 -0.5 \n0.109375 0.421875 -0.5 \n0.046875 0.46875 -0.5 \n0.03125 0.484375 -0.5 \n0.046875 0.484375 -0.5 \n0.484375 -0.03125 -0.5 \n0.46875 -0.015625 -0.5 \n0.484375 -0.015625 -0.5 \n0.484375 -0.09375 -0.5 \n0.46875 -0.078125 -0.5 \n0.484375 -0.078125 -0.5 \n0.421875 -0.03125 -0.5 \n0.40625 -0.015625 -0.5 \n0.421875 -0.015625 -0.5 \n0.484375 -0.15625 -0.5 \n0.46875 -0.140625 -0.5 \n0.484375 -0.140625 -0.5 \n0.484375 -0.21875 -0.5 \n0.46875 -0.203125 -0.5 \n0.484375 -0.203125 -0.5 \n0.421875 -0.15625 -0.5 \n0.40625 -0.140625 -0.5 \n0.421875 -0.140625 -0.5 \n0.359375 -0.03125 -0.5 \n0.34375 -0.015625 -0.5 \n0.359375 -0.015625 -0.5 \n0.359375 -0.09375 -0.5 \n0.34375 -0.078125 -0.5 \n0.359375 -0.078125 -0.5 \n0.296875 -0.03125 -0.5 \n0.28125 -0.015625 -0.5 \n0.296875 -0.015625 -0.5 \n0.484375 -0.28125 -0.5 \n0.46875 -0.265625 -0.5 \n0.484375 -0.265625 -0.5 \n0.484375 -0.34375 -0.5 \n0.46875 -0.328125 -0.5 \n0.484375 -0.328125 -0.5 \n0.421875 -0.28125 -0.5 \n0.40625 -0.265625 -0.5 \n0.421875 -0.265625 -0.5 \n0.484375 -0.40625 -0.5 \n0.46875 -0.390625 -0.5 \n0.484375 -0.390625 -0.5 \n0.484375 -0.46875 -0.5 \n0.46875 -0.453125 -0.5 \n0.484375 -0.453125 -0.5 \n0.421875 -0.40625 -0.5 \n0.40625 -0.390625 -0.5 \n0.421875 -0.390625 -0.5 \n0.359375 -0.28125 -0.5 \n0.34375 -0.265625 -0.5 \n0.359375 -0.265625 -0.5 \n0.359375 -0.34375 -0.5 \n0.34375 -0.328125 -0.5 \n0.359375 -0.328125 -0.5 \n0.296875 -0.28125 -0.5 \n0.28125 -0.265625 -0.5 \n0.296875 -0.265625 -0.5 \n0.234375 -0.03125 -0.5 \n0.21875 -0.015625 -0.5 \n0.234375 -0.015625 -0.5 \n0.234375 -0.09375 -0.5 \n0.21875 -0.078125 -0.5 \n0.234375 -0.078125 -0.5 \n0.171875 -0.03125 -0.5 \n0.15625 -0.015625 -0.5 \n0.171875 -0.015625 -0.5 \n0.234375 -0.15625 -0.5 \n0.21875 -0.140625 -0.5 \n0.234375 -0.140625 -0.5 \n0.234375 -0.21875 -0.5 \n0.21875 -0.203125 -0.5 \n0.234375 -0.203125 -0.5 \n0.171875 -0.15625 -0.5 \n0.15625 -0.140625 -0.5 \n0.171875 -0.140625 -0.5 \n0.109375 -0.03125 -0.5 \n0.09375 -0.015625 -0.5 \n0.109375 -0.015625 -0.5 \n0.109375 -0.09375 -0.5 \n0.09375 -0.078125 -0.5 \n0.109375 -0.078125 -0.5 \n0.046875 -0.03125 -0.5 \n0.03125 -0.015625 -0.5 \n0.046875 -0.015625 -0.5 \n-0.015625 0.46875 -0.5 \n-0.03125 0.484375 -0.5 \n-0.015625 0.484375 -0.5 \n-0.015625 0.40625 -0.5 \n-0.03125 0.421875 -0.5 \n-0.015625 0.421875 -0.5 \n-0.078125 0.46875 -0.5 \n-0.09375 0.484375 -0.5 \n-0.078125 0.484375 -0.5 \n-0.015625 0.34375 -0.5 \n-0.03125 0.359375 -0.5 \n-0.015625 0.359375 -0.5 \n-0.015625 0.28125 -0.5 \n-0.03125 0.296875 -0.5 \n-0.015625 0.296875 -0.5 \n-0.078125 0.34375 -0.5 \n-0.09375 0.359375 -0.5 \n-0.078125 0.359375 -0.5 \n-0.140625 0.46875 -0.5 \n-0.15625 0.484375 -0.5 \n-0.140625 0.484375 -0.5 \n-0.140625 0.40625 -0.5 \n-0.15625 0.421875 -0.5 \n-0.140625 0.421875 -0.5 \n-0.203125 0.46875 -0.5 \n-0.21875 0.484375 -0.5 \n-0.203125 0.484375 -0.5 \n-0.015625 0.21875 -0.5 \n-0.03125 0.234375 -0.5 \n-0.015625 0.234375 -0.5 \n-0.015625 0.15625 -0.5 \n-0.03125 0.171875 -0.5 \n-0.015625 0.171875 -0.5 \n-0.078125 0.21875 -0.5 \n-0.09375 0.234375 -0.5 \n-0.078125 0.234375 -0.5 \n-0.015625 0.09375 -0.5 \n-0.03125 0.109375 -0.5 \n-0.015625 0.109375 -0.5 \n-0.015625 0.03125 -0.5 \n-0.03125 0.046875 -0.5 \n-0.015625 0.046875 -0.5 \n-0.078125 0.09375 -0.5 \n-0.09375 0.109375 -0.5 \n-0.078125 0.109375 -0.5 \n-0.140625 0.21875 -0.5 \n-0.15625 0.234375 -0.5 \n-0.140625 0.234375 -0.5 \n-0.140625 0.15625 -0.5 \n-0.15625 0.171875 -0.5 \n-0.140625 0.171875 -0.5 \n-0.203125 0.21875 -0.5 \n-0.21875 0.234375 -0.5 \n-0.203125 0.234375 -0.5 \n-0.265625 0.46875 -0.5 \n-0.28125 0.484375 -0.5 \n-0.265625 0.484375 -0.5 \n-0.265625 0.40625 -0.5 \n-0.28125 0.421875 -0.5 \n-0.265625 0.421875 -0.5 \n-0.328125 0.46875 -0.5 \n-0.34375 0.484375 -0.5 \n-0.328125 0.484375 -0.5 \n-0.265625 0.34375 -0.5 \n-0.28125 0.359375 -0.5 \n-0.265625 0.359375 -0.5 \n-0.265625 0.28125 -0.5 \n-0.28125 0.296875 -0.5 \n-0.265625 0.296875 -0.5 \n-0.328125 0.34375 -0.5 \n-0.34375 0.359375 -0.5 \n-0.328125 0.359375 -0.5 \n-0.390625 0.46875 -0.5 \n-0.40625 0.484375 -0.5 \n-0.390625 0.484375 -0.5 \n-0.390625 0.40625 -0.5 \n-0.40625 0.421875 -0.5 \n-0.390625 0.421875 -0.5 \n-0.453125 0.46875 -0.5 \n-0.46875 0.484375 -0.5 \n-0.453125 0.484375 -0.5 \n-0.46875 -0.5 -0.484375 \n-0.484375 -0.5 -0.46875 \n-0.484375 -0.5 -0.484375 \n-0.40625 -0.5 -0.484375 \n-0.421875 -0.5 -0.46875 \n-0.421875 -0.5 -0.484375 \n-0.46875 -0.5 -0.421875 \n-0.484375 -0.5 -0.40625 \n-0.484375 -0.5 -0.421875 \n-0.34375 -0.5 -0.484375 \n-0.359375 -0.5 -0.46875 \n-0.359375 -0.5 -0.484375 \n-0.28125 -0.5 -0.484375 \n-0.296875 -0.5 -0.46875 \n-0.296875 -0.5 -0.484375 \n-0.34375 -0.5 -0.421875 \n-0.359375 -0.5 -0.40625 \n-0.359375 -0.5 -0.421875 \n-0.46875 -0.5 -0.359375 \n-0.484375 -0.5 -0.34375 \n-0.484375 -0.5 -0.359375 \n-0.40625 -0.5 -0.359375 \n-0.421875 -0.5 -0.34375 \n-0.421875 -0.5 -0.359375 \n-0.46875 -0.5 -0.296875 \n-0.484375 -0.5 -0.28125 \n-0.484375 -0.5 -0.296875 \n-0.21875 -0.5 -0.484375 \n-0.234375 -0.5 -0.46875 \n-0.234375 -0.5 -0.484375 \n-0.15625 -0.5 -0.484375 \n-0.171875 -0.5 -0.46875 \n-0.171875 -0.5 -0.484375 \n-0.21875 -0.5 -0.421875 \n-0.234375 -0.5 -0.40625 \n-0.234375 -0.5 -0.421875 \n-0.09375 -0.5 -0.484375 \n-0.109375 -0.5 -0.46875 \n-0.109375 -0.5 -0.484375 \n-0.03125 -0.5 -0.484375 \n-0.046875 -0.5 -0.46875 \n-0.046875 -0.5 -0.484375 \n-0.09375 -0.5 -0.421875 \n-0.109375 -0.5 -0.40625 \n-0.109375 -0.5 -0.421875 \n-0.21875 -0.5 -0.359375 \n-0.234375 -0.5 -0.34375 \n-0.234375 -0.5 -0.359375 \n-0.15625 -0.5 -0.359375 \n-0.171875 -0.5 -0.34375 \n-0.171875 -0.5 -0.359375 \n-0.21875 -0.5 -0.296875 \n-0.234375 -0.5 -0.28125 \n-0.234375 -0.5 -0.296875 \n-0.46875 -0.5 -0.234375 \n-0.484375 -0.5 -0.21875 \n-0.484375 -0.5 -0.234375 \n-0.40625 -0.5 -0.234375 \n-0.421875 -0.5 -0.21875 \n-0.421875 -0.5 -0.234375 \n-0.46875 -0.5 -0.171875 \n-0.484375 -0.5 -0.15625 \n-0.484375 -0.5 -0.171875 \n-0.34375 -0.5 -0.234375 \n-0.359375 -0.5 -0.21875 \n-0.359375 -0.5 -0.234375 \n-0.28125 -0.5 -0.234375 \n-0.296875 -0.5 -0.21875 \n-0.296875 -0.5 -0.234375 \n-0.34375 -0.5 -0.171875 \n-0.359375 -0.5 -0.15625 \n-0.359375 -0.5 -0.171875 \n-0.46875 -0.5 -0.109375 \n-0.484375 -0.5 -0.09375 \n-0.484375 -0.5 -0.109375 \n-0.40625 -0.5 -0.109375 \n-0.421875 -0.5 -0.09375 \n-0.421875 -0.5 -0.109375 \n-0.46875 -0.5 -0.046875 \n-0.484375 -0.5 -0.03125 \n-0.484375 -0.5 -0.046875 \n0.03125 -0.5 -0.484375 \n0.015625 -0.5 -0.46875 \n0.015625 -0.5 -0.484375 \n0.09375 -0.5 -0.484375 \n0.078125 -0.5 -0.46875 \n0.078125 -0.5 -0.484375 \n0.03125 -0.5 -0.421875 \n0.015625 -0.5 -0.40625 \n0.015625 -0.5 -0.421875 \n0.15625 -0.5 -0.484375 \n0.140625 -0.5 -0.46875 \n0.140625 -0.5 -0.484375 \n0.21875 -0.5 -0.484375 \n0.203125 -0.5 -0.46875 \n0.203125 -0.5 -0.484375 \n0.15625 -0.5 -0.421875 \n0.140625 -0.5 -0.40625 \n0.140625 -0.5 -0.421875 \n0.03125 -0.5 -0.359375 \n0.015625 -0.5 -0.34375 \n0.015625 -0.5 -0.359375 \n0.09375 -0.5 -0.359375 \n0.078125 -0.5 -0.34375 \n0.078125 -0.5 -0.359375 \n0.03125 -0.5 -0.296875 \n0.015625 -0.5 -0.28125 \n0.015625 -0.5 -0.296875 \n0.28125 -0.5 -0.484375 \n0.265625 -0.5 -0.46875 \n0.265625 -0.5 -0.484375 \n0.34375 -0.5 -0.484375 \n0.328125 -0.5 -0.46875 \n0.328125 -0.5 -0.484375 \n0.28125 -0.5 -0.421875 \n0.265625 -0.5 -0.40625 \n0.265625 -0.5 -0.421875 \n0.40625 -0.5 -0.484375 \n0.390625 -0.5 -0.46875 \n0.390625 -0.5 -0.484375 \n0.46875 -0.5 -0.484375 \n0.453125 -0.5 -0.46875 \n0.453125 -0.5 -0.484375 \n0.40625 -0.5 -0.421875 \n0.390625 -0.5 -0.40625 \n0.390625 -0.5 -0.421875 \n0.28125 -0.5 -0.359375 \n0.265625 -0.5 -0.34375 \n0.265625 -0.5 -0.359375 \n0.34375 -0.5 -0.359375 \n0.328125 -0.5 -0.34375 \n0.328125 -0.5 -0.359375 \n0.28125 -0.5 -0.296875 \n0.265625 -0.5 -0.28125 \n0.265625 -0.5 -0.296875 \n0.03125 -0.5 -0.234375 \n0.015625 -0.5 -0.21875 \n0.015625 -0.5 -0.234375 \n0.09375 -0.5 -0.234375 \n0.078125 -0.5 -0.21875 \n0.078125 -0.5 -0.234375 \n0.03125 -0.5 -0.171875 \n0.015625 -0.5 -0.15625 \n0.015625 -0.5 -0.171875 \n0.15625 -0.5 -0.234375 \n0.140625 -0.5 -0.21875 \n0.140625 -0.5 -0.234375 \n0.21875 -0.5 -0.234375 \n0.203125 -0.5 -0.21875 \n0.203125 -0.5 -0.234375 \n0.15625 -0.5 -0.171875 \n0.140625 -0.5 -0.15625 \n0.140625 -0.5 -0.171875 \n0.03125 -0.5 -0.109375 \n0.015625 -0.5 -0.09375 \n0.015625 -0.5 -0.109375 \n0.09375 -0.5 -0.109375 \n0.078125 -0.5 -0.09375 \n0.078125 -0.5 -0.109375 \n0.03125 -0.5 -0.046875 \n0.015625 -0.5 -0.03125 \n0.015625 -0.5 -0.046875 \n-0.46875 -0.5 0.015625 \n-0.484375 -0.5 0.03125 \n-0.484375 -0.5 0.015625 \n-0.40625 -0.5 0.015625 \n-0.421875 -0.5 0.03125 \n-0.421875 -0.5 0.015625 \n-0.46875 -0.5 0.078125 \n-0.484375 -0.5 0.09375 \n-0.484375 -0.5 0.078125 \n-0.34375 -0.5 0.015625 \n-0.359375 -0.5 0.03125 \n-0.359375 -0.5 0.015625 \n-0.28125 -0.5 0.015625 \n-0.296875 -0.5 0.03125 \n-0.296875 -0.5 0.015625 \n-0.34375 -0.5 0.078125 \n-0.359375 -0.5 0.09375 \n-0.359375 -0.5 0.078125 \n-0.46875 -0.5 0.140625 \n-0.484375 -0.5 0.15625 \n-0.484375 -0.5 0.140625 \n-0.40625 -0.5 0.140625 \n-0.421875 -0.5 0.15625 \n-0.421875 -0.5 0.140625 \n-0.46875 -0.5 0.203125 \n-0.484375 -0.5 0.21875 \n-0.484375 -0.5 0.203125 \n-0.21875 -0.5 0.015625 \n-0.234375 -0.5 0.03125 \n-0.234375 -0.5 0.015625 \n-0.15625 -0.5 0.015625 \n-0.171875 -0.5 0.03125 \n-0.171875 -0.5 0.015625 \n-0.21875 -0.5 0.078125 \n-0.234375 -0.5 0.09375 \n-0.234375 -0.5 0.078125 \n-0.09375 -0.5 0.015625 \n-0.109375 -0.5 0.03125 \n-0.109375 -0.5 0.015625 \n-0.03125 -0.5 0.015625 \n-0.046875 -0.5 0.03125 \n-0.046875 -0.5 0.015625 \n-0.09375 -0.5 0.078125 \n-0.109375 -0.5 0.09375 \n-0.109375 -0.5 0.078125 \n-0.21875 -0.5 0.140625 \n-0.234375 -0.5 0.15625 \n-0.234375 -0.5 0.140625 \n-0.15625 -0.5 0.140625 \n-0.171875 -0.5 0.15625 \n-0.171875 -0.5 0.140625 \n-0.21875 -0.5 0.203125 \n-0.234375 -0.5 0.21875 \n-0.234375 -0.5 0.203125 \n-0.46875 -0.5 0.265625 \n-0.484375 -0.5 0.28125 \n-0.484375 -0.5 0.265625 \n-0.40625 -0.5 0.265625 \n-0.421875 -0.5 0.28125 \n-0.421875 -0.5 0.265625 \n-0.46875 -0.5 0.328125 \n-0.484375 -0.5 0.34375 \n-0.484375 -0.5 0.328125 \n-0.34375 -0.5 0.265625 \n-0.359375 -0.5 0.28125 \n-0.359375 -0.5 0.265625 \n-0.28125 -0.5 0.265625 \n-0.296875 -0.5 0.28125 \n-0.296875 -0.5 0.265625 \n-0.34375 -0.5 0.328125 \n-0.359375 -0.5 0.34375 \n-0.359375 -0.5 0.328125 \n-0.46875 -0.5 0.390625 \n-0.484375 -0.5 0.40625 \n-0.484375 -0.5 0.390625 \n-0.40625 -0.5 0.390625 \n-0.421875 -0.5 0.40625 \n-0.421875 -0.5 0.390625 \n-0.46875 -0.5 0.453125 \n-0.484375 -0.5 0.46875 \n-0.484375 -0.5 0.453125 \n0.46875 -0.5 0.484375 \n0.484375 -0.5 0.46875 \n0.484375 -0.5 0.484375 \n0.40625 -0.5 0.484375 \n0.421875 -0.5 0.46875 \n0.421875 -0.5 0.484375 \n0.46875 -0.5 0.421875 \n0.484375 -0.5 0.40625 \n0.484375 -0.5 0.421875 \n0.34375 -0.5 0.484375 \n0.359375 -0.5 0.46875 \n0.359375 -0.5 0.484375 \n0.28125 -0.5 0.484375 \n0.296875 -0.5 0.46875 \n0.296875 -0.5 0.484375 \n0.34375 -0.5 0.421875 \n0.359375 -0.5 0.40625 \n0.359375 -0.5 0.421875 \n0.46875 -0.5 0.359375 \n0.484375 -0.5 0.34375 \n0.484375 -0.5 0.359375 \n0.40625 -0.5 0.359375 \n0.421875 -0.5 0.34375 \n0.421875 -0.5 0.359375 \n0.46875 -0.5 0.296875 \n0.484375 -0.5 0.28125 \n0.484375 -0.5 0.296875 \n0.21875 -0.5 0.484375 \n0.234375 -0.5 0.46875 \n0.234375 -0.5 0.484375 \n0.15625 -0.5 0.484375 \n0.171875 -0.5 0.46875 \n0.171875 -0.5 0.484375 \n0.21875 -0.5 0.421875 \n0.234375 -0.5 0.40625 \n0.234375 -0.5 0.421875 \n0.09375 -0.5 0.484375 \n0.109375 -0.5 0.46875 \n0.109375 -0.5 0.484375 \n0.03125 -0.5 0.484375 \n0.046875 -0.5 0.46875 \n0.046875 -0.5 0.484375 \n0.09375 -0.5 0.421875 \n0.109375 -0.5 0.40625 \n0.109375 -0.5 0.421875 \n0.21875 -0.5 0.359375 \n0.234375 -0.5 0.34375 \n0.234375 -0.5 0.359375 \n0.15625 -0.5 0.359375 \n0.171875 -0.5 0.34375 \n0.171875 -0.5 0.359375 \n0.21875 -0.5 0.296875 \n0.234375 -0.5 0.28125 \n0.234375 -0.5 0.296875 \n0.46875 -0.5 0.234375 \n0.484375 -0.5 0.21875 \n0.484375 -0.5 0.234375 \n0.40625 -0.5 0.234375 \n0.421875 -0.5 0.21875 \n0.421875 -0.5 0.234375 \n0.46875 -0.5 0.171875 \n0.484375 -0.5 0.15625 \n0.484375 -0.5 0.171875 \n0.34375 -0.5 0.234375 \n0.359375 -0.5 0.21875 \n0.359375 -0.5 0.234375 \n0.28125 -0.5 0.234375 \n0.296875 -0.5 0.21875 \n0.296875 -0.5 0.234375 \n0.34375 -0.5 0.171875 \n0.359375 -0.5 0.15625 \n0.359375 -0.5 0.171875 \n0.46875 -0.5 0.109375 \n0.484375 -0.5 0.09375 \n0.484375 -0.5 0.109375 \n0.40625 -0.5 0.109375 \n0.421875 -0.5 0.09375 \n0.421875 -0.5 0.109375 \n0.46875 -0.5 0.046875 \n0.484375 -0.5 0.03125 \n0.484375 -0.5 0.046875 \n-0.03125 -0.5 0.484375 \n-0.015625 -0.5 0.46875 \n-0.015625 -0.5 0.484375 \n-0.09375 -0.5 0.484375 \n-0.078125 -0.5 0.46875 \n-0.078125 -0.5 0.484375 \n-0.03125 -0.5 0.421875 \n-0.015625 -0.5 0.40625 \n-0.015625 -0.5 0.421875 \n-0.15625 -0.5 0.484375 \n-0.140625 -0.5 0.46875 \n-0.140625 -0.5 0.484375 \n-0.21875 -0.5 0.484375 \n-0.203125 -0.5 0.46875 \n-0.203125 -0.5 0.484375 \n-0.15625 -0.5 0.421875 \n-0.140625 -0.5 0.40625 \n-0.140625 -0.5 0.421875 \n-0.03125 -0.5 0.359375 \n-0.015625 -0.5 0.34375 \n-0.015625 -0.5 0.359375 \n-0.09375 -0.5 0.359375 \n-0.078125 -0.5 0.34375 \n-0.078125 -0.5 0.359375 \n-0.03125 -0.5 0.296875 \n-0.015625 -0.5 0.28125 \n-0.015625 -0.5 0.296875 \n-0.28125 -0.5 0.484375 \n-0.265625 -0.5 0.46875 \n-0.265625 -0.5 0.484375 \n-0.34375 -0.5 0.484375 \n-0.328125 -0.5 0.46875 \n-0.328125 -0.5 0.484375 \n-0.28125 -0.5 0.421875 \n-0.265625 -0.5 0.40625 \n-0.265625 -0.5 0.421875 \n-0.40625 -0.5 0.484375 \n-0.390625 -0.5 0.46875 \n-0.390625 -0.5 0.484375 \n-0.46875 -0.5 0.484375 \n-0.453125 -0.5 0.46875 \n-0.453125 -0.5 0.484375 \n-0.40625 -0.5 0.421875 \n-0.390625 -0.5 0.40625 \n-0.390625 -0.5 0.421875 \n-0.28125 -0.5 0.359375 \n-0.265625 -0.5 0.34375 \n-0.265625 -0.5 0.359375 \n-0.34375 -0.5 0.359375 \n-0.328125 -0.5 0.34375 \n-0.328125 -0.5 0.359375 \n-0.28125 -0.5 0.296875 \n-0.265625 -0.5 0.28125 \n-0.265625 -0.5 0.296875 \n-0.03125 -0.5 0.234375 \n-0.015625 -0.5 0.21875 \n-0.015625 -0.5 0.234375 \n-0.09375 -0.5 0.234375 \n-0.078125 -0.5 0.21875 \n-0.078125 -0.5 0.234375 \n-0.03125 -0.5 0.171875 \n-0.015625 -0.5 0.15625 \n-0.015625 -0.5 0.171875 \n-0.15625 -0.5 0.234375 \n-0.140625 -0.5 0.21875 \n-0.140625 -0.5 0.234375 \n-0.21875 -0.5 0.234375 \n-0.203125 -0.5 0.21875 \n-0.203125 -0.5 0.234375 \n-0.15625 -0.5 0.171875 \n-0.140625 -0.5 0.15625 \n-0.140625 -0.5 0.171875 \n-0.03125 -0.5 0.109375 \n-0.015625 -0.5 0.09375 \n-0.015625 -0.5 0.109375 \n-0.09375 -0.5 0.109375 \n-0.078125 -0.5 0.09375 \n-0.078125 -0.5 0.109375 \n-0.03125 -0.5 0.046875 \n-0.015625 -0.5 0.03125 \n-0.015625 -0.5 0.046875 \n0.46875 -0.5 -0.015625 \n0.484375 -0.5 -0.03125 \n0.484375 -0.5 -0.015625 \n0.40625 -0.5 -0.015625 \n0.421875 -0.5 -0.03125 \n0.421875 -0.5 -0.015625 \n0.46875 -0.5 -0.078125 \n0.484375 -0.5 -0.09375 \n0.484375 -0.5 -0.078125 \n0.34375 -0.5 -0.015625 \n0.359375 -0.5 -0.03125 \n0.359375 -0.5 -0.015625 \n0.28125 -0.5 -0.015625 \n0.296875 -0.5 -0.03125 \n0.296875 -0.5 -0.015625 \n0.34375 -0.5 -0.078125 \n0.359375 -0.5 -0.09375 \n0.359375 -0.5 -0.078125 \n0.46875 -0.5 -0.140625 \n0.484375 -0.5 -0.15625 \n0.484375 -0.5 -0.140625 \n0.40625 -0.5 -0.140625 \n0.421875 -0.5 -0.15625 \n0.421875 -0.5 -0.140625 \n0.46875 -0.5 -0.203125 \n0.484375 -0.5 -0.21875 \n0.484375 -0.5 -0.203125 \n0.21875 -0.5 -0.015625 \n0.234375 -0.5 -0.03125 \n0.234375 -0.5 -0.015625 \n0.15625 -0.5 -0.015625 \n0.171875 -0.5 -0.03125 \n0.171875 -0.5 -0.015625 \n0.21875 -0.5 -0.078125 \n0.234375 -0.5 -0.09375 \n0.234375 -0.5 -0.078125 \n0.09375 -0.5 -0.015625 \n0.109375 -0.5 -0.03125 \n0.109375 -0.5 -0.015625 \n0.03125 -0.5 -0.015625 \n0.046875 -0.5 -0.03125 \n0.046875 -0.5 -0.015625 \n0.09375 -0.5 -0.078125 \n0.109375 -0.5 -0.09375 \n0.109375 -0.5 -0.078125 \n0.21875 -0.5 -0.140625 \n0.234375 -0.5 -0.15625 \n0.234375 -0.5 -0.140625 \n0.15625 -0.5 -0.140625 \n0.171875 -0.5 -0.15625 \n0.171875 -0.5 -0.140625 \n0.21875 -0.5 -0.203125 \n0.234375 -0.5 -0.21875 \n0.234375 -0.5 -0.203125 \n0.46875 -0.5 -0.265625 \n0.484375 -0.5 -0.28125 \n0.484375 -0.5 -0.265625 \n0.40625 -0.5 -0.265625 \n0.421875 -0.5 -0.28125 \n0.421875 -0.5 -0.265625 \n0.46875 -0.5 -0.328125 \n0.484375 -0.5 -0.34375 \n0.484375 -0.5 -0.328125 \n0.34375 -0.5 -0.265625 \n0.359375 -0.5 -0.28125 \n0.359375 -0.5 -0.265625 \n0.28125 -0.5 -0.265625 \n0.296875 -0.5 -0.28125 \n0.296875 -0.5 -0.265625 \n0.34375 -0.5 -0.328125 \n0.359375 -0.5 -0.34375 \n0.359375 -0.5 -0.328125 \n0.46875 -0.5 -0.390625 \n0.484375 -0.5 -0.40625 \n0.484375 -0.5 -0.390625 \n0.40625 -0.5 -0.390625 \n0.421875 -0.5 -0.40625 \n0.421875 -0.5 -0.390625 \n0.46875 -0.5 -0.453125 \n0.484375 -0.5 -0.46875 \n0.484375 -0.5 -0.453125 \n-0.5 -0.484375 -0.46875 \n-0.5 -0.46875 -0.484375 \n-0.5 -0.484375 -0.484375 \n-0.5 -0.484375 -0.40625 \n-0.5 -0.46875 -0.421875 \n-0.5 -0.484375 -0.421875 \n-0.5 -0.421875 -0.46875 \n-0.5 -0.40625 -0.484375 \n-0.5 -0.421875 -0.484375 \n-0.5 -0.484375 -0.34375 \n-0.5 -0.46875 -0.359375 \n-0.5 -0.484375 -0.359375 \n-0.5 -0.484375 -0.28125 \n-0.5 -0.46875 -0.296875 \n-0.5 -0.484375 -0.296875 \n-0.5 -0.421875 -0.34375 \n-0.5 -0.40625 -0.359375 \n-0.5 -0.421875 -0.359375 \n-0.5 -0.359375 -0.46875 \n-0.5 -0.34375 -0.484375 \n-0.5 -0.359375 -0.484375 \n-0.5 -0.359375 -0.40625 \n-0.5 -0.34375 -0.421875 \n-0.5 -0.359375 -0.421875 \n-0.5 -0.296875 -0.46875 \n-0.5 -0.28125 -0.484375 \n-0.5 -0.296875 -0.484375 \n-0.5 -0.484375 -0.21875 \n-0.5 -0.46875 -0.234375 \n-0.5 -0.484375 -0.234375 \n-0.5 -0.484375 -0.15625 \n-0.5 -0.46875 -0.171875 \n-0.5 -0.484375 -0.171875 \n-0.5 -0.421875 -0.21875 \n-0.5 -0.40625 -0.234375 \n-0.5 -0.421875 -0.234375 \n-0.5 -0.484375 -0.09375 \n-0.5 -0.46875 -0.109375 \n-0.5 -0.484375 -0.109375 \n-0.5 -0.484375 -0.03125 \n-0.5 -0.46875 -0.046875 \n-0.5 -0.484375 -0.046875 \n-0.5 -0.421875 -0.09375 \n-0.5 -0.40625 -0.109375 \n-0.5 -0.421875 -0.109375 \n-0.5 -0.359375 -0.21875 \n-0.5 -0.34375 -0.234375 \n-0.5 -0.359375 -0.234375 \n-0.5 -0.359375 -0.15625 \n-0.5 -0.34375 -0.171875 \n-0.5 -0.359375 -0.171875 \n-0.5 -0.296875 -0.21875 \n-0.5 -0.28125 -0.234375 \n-0.5 -0.296875 -0.234375 \n-0.5 -0.234375 -0.46875 \n-0.5 -0.21875 -0.484375 \n-0.5 -0.234375 -0.484375 \n-0.5 -0.234375 -0.40625 \n-0.5 -0.21875 -0.421875 \n-0.5 -0.234375 -0.421875 \n-0.5 -0.171875 -0.46875 \n-0.5 -0.15625 -0.484375 \n-0.5 -0.171875 -0.484375 \n-0.5 -0.234375 -0.34375 \n-0.5 -0.21875 -0.359375 \n-0.5 -0.234375 -0.359375 \n-0.5 -0.234375 -0.28125 \n-0.5 -0.21875 -0.296875 \n-0.5 -0.234375 -0.296875 \n-0.5 -0.171875 -0.34375 \n-0.5 -0.15625 -0.359375 \n-0.5 -0.171875 -0.359375 \n-0.5 -0.109375 -0.46875 \n-0.5 -0.09375 -0.484375 \n-0.5 -0.109375 -0.484375 \n-0.5 -0.109375 -0.40625 \n-0.5 -0.09375 -0.421875 \n-0.5 -0.109375 -0.421875 \n-0.5 -0.046875 -0.46875 \n-0.5 -0.03125 -0.484375 \n-0.5 -0.046875 -0.484375 \n-0.5 -0.484375 0.03125 \n-0.5 -0.46875 0.015625 \n-0.5 -0.484375 0.015625 \n-0.5 -0.484375 0.09375 \n-0.5 -0.46875 0.078125 \n-0.5 -0.484375 0.078125 \n-0.5 -0.421875 0.03125 \n-0.5 -0.40625 0.015625 \n-0.5 -0.421875 0.015625 \n-0.5 -0.484375 0.15625 \n-0.5 -0.46875 0.140625 \n-0.5 -0.484375 0.140625 \n-0.5 -0.484375 0.21875 \n-0.5 -0.46875 0.203125 \n-0.5 -0.484375 0.203125 \n-0.5 -0.421875 0.15625 \n-0.5 -0.40625 0.140625 \n-0.5 -0.421875 0.140625 \n-0.5 -0.359375 0.03125 \n-0.5 -0.34375 0.015625 \n-0.5 -0.359375 0.015625 \n-0.5 -0.359375 0.09375 \n-0.5 -0.34375 0.078125 \n-0.5 -0.359375 0.078125 \n-0.5 -0.296875 0.03125 \n-0.5 -0.28125 0.015625 \n-0.5 -0.296875 0.015625 \n-0.5 -0.484375 0.28125 \n-0.5 -0.46875 0.265625 \n-0.5 -0.484375 0.265625 \n-0.5 -0.484375 0.34375 \n-0.5 -0.46875 0.328125 \n-0.5 -0.484375 0.328125 \n-0.5 -0.421875 0.28125 \n-0.5 -0.40625 0.265625 \n-0.5 -0.421875 0.265625 \n-0.5 -0.484375 0.40625 \n-0.5 -0.46875 0.390625 \n-0.5 -0.484375 0.390625 \n-0.5 -0.484375 0.46875 \n-0.5 -0.46875 0.453125 \n-0.5 -0.484375 0.453125 \n-0.5 -0.421875 0.40625 \n-0.5 -0.40625 0.390625 \n-0.5 -0.421875 0.390625 \n-0.5 -0.359375 0.28125 \n-0.5 -0.34375 0.265625 \n-0.5 -0.359375 0.265625 \n-0.5 -0.359375 0.34375 \n-0.5 -0.34375 0.328125 \n-0.5 -0.359375 0.328125 \n-0.5 -0.296875 0.28125 \n-0.5 -0.28125 0.265625 \n-0.5 -0.296875 0.265625 \n-0.5 -0.234375 0.03125 \n-0.5 -0.21875 0.015625 \n-0.5 -0.234375 0.015625 \n-0.5 -0.234375 0.09375 \n-0.5 -0.21875 0.078125 \n-0.5 -0.234375 0.078125 \n-0.5 -0.171875 0.03125 \n-0.5 -0.15625 0.015625 \n-0.5 -0.171875 0.015625 \n-0.5 -0.234375 0.15625 \n-0.5 -0.21875 0.140625 \n-0.5 -0.234375 0.140625 \n-0.5 -0.234375 0.21875 \n-0.5 -0.21875 0.203125 \n-0.5 -0.234375 0.203125 \n-0.5 -0.171875 0.15625 \n-0.5 -0.15625 0.140625 \n-0.5 -0.171875 0.140625 \n-0.5 -0.109375 0.03125 \n-0.5 -0.09375 0.015625 \n-0.5 -0.109375 0.015625 \n-0.5 -0.109375 0.09375 \n-0.5 -0.09375 0.078125 \n-0.5 -0.109375 0.078125 \n-0.5 -0.046875 0.03125 \n-0.5 -0.03125 0.015625 \n-0.5 -0.046875 0.015625 \n-0.5 0.015625 -0.46875 \n-0.5 0.03125 -0.484375 \n-0.5 0.015625 -0.484375 \n-0.5 0.015625 -0.40625 \n-0.5 0.03125 -0.421875 \n-0.5 0.015625 -0.421875 \n-0.5 0.078125 -0.46875 \n-0.5 0.09375 -0.484375 \n-0.5 0.078125 -0.484375 \n-0.5 0.015625 -0.34375 \n-0.5 0.03125 -0.359375 \n-0.5 0.015625 -0.359375 \n-0.5 0.015625 -0.28125 \n-0.5 0.03125 -0.296875 \n-0.5 0.015625 -0.296875 \n-0.5 0.078125 -0.34375 \n-0.5 0.09375 -0.359375 \n-0.5 0.078125 -0.359375 \n-0.5 0.140625 -0.46875 \n-0.5 0.15625 -0.484375 \n-0.5 0.140625 -0.484375 \n-0.5 0.140625 -0.40625 \n-0.5 0.15625 -0.421875 \n-0.5 0.140625 -0.421875 \n-0.5 0.203125 -0.46875 \n-0.5 0.21875 -0.484375 \n-0.5 0.203125 -0.484375 \n-0.5 0.015625 -0.21875 \n-0.5 0.03125 -0.234375 \n-0.5 0.015625 -0.234375 \n-0.5 0.015625 -0.15625 \n-0.5 0.03125 -0.171875 \n-0.5 0.015625 -0.171875 \n-0.5 0.078125 -0.21875 \n-0.5 0.09375 -0.234375 \n-0.5 0.078125 -0.234375 \n-0.5 0.015625 -0.09375 \n-0.5 0.03125 -0.109375 \n-0.5 0.015625 -0.109375 \n-0.5 0.015625 -0.03125 \n-0.5 0.03125 -0.046875 \n-0.5 0.015625 -0.046875 \n-0.5 0.078125 -0.09375 \n-0.5 0.09375 -0.109375 \n-0.5 0.078125 -0.109375 \n-0.5 0.140625 -0.21875 \n-0.5 0.15625 -0.234375 \n-0.5 0.140625 -0.234375 \n-0.5 0.140625 -0.15625 \n-0.5 0.15625 -0.171875 \n-0.5 0.140625 -0.171875 \n-0.5 0.203125 -0.21875 \n-0.5 0.21875 -0.234375 \n-0.5 0.203125 -0.234375 \n-0.5 0.265625 -0.46875 \n-0.5 0.28125 -0.484375 \n-0.5 0.265625 -0.484375 \n-0.5 0.265625 -0.40625 \n-0.5 0.28125 -0.421875 \n-0.5 0.265625 -0.421875 \n-0.5 0.328125 -0.46875 \n-0.5 0.34375 -0.484375 \n-0.5 0.328125 -0.484375 \n-0.5 0.265625 -0.34375 \n-0.5 0.28125 -0.359375 \n-0.5 0.265625 -0.359375 \n-0.5 0.265625 -0.28125 \n-0.5 0.28125 -0.296875 \n-0.5 0.265625 -0.296875 \n-0.5 0.328125 -0.34375 \n-0.5 0.34375 -0.359375 \n-0.5 0.328125 -0.359375 \n-0.5 0.390625 -0.46875 \n-0.5 0.40625 -0.484375 \n-0.5 0.390625 -0.484375 \n-0.5 0.390625 -0.40625 \n-0.5 0.40625 -0.421875 \n-0.5 0.390625 -0.421875 \n-0.5 0.453125 -0.46875 \n-0.5 0.46875 -0.484375 \n-0.5 0.453125 -0.484375 \n-0.5 0.484375 0.46875 \n-0.5 0.46875 0.484375 \n-0.5 0.484375 0.484375 \n-0.5 0.484375 0.40625 \n-0.5 0.46875 0.421875 \n-0.5 0.484375 0.421875 \n-0.5 0.421875 0.46875 \n-0.5 0.40625 0.484375 \n-0.5 0.421875 0.484375 \n-0.5 0.484375 0.34375 \n-0.5 0.46875 0.359375 \n-0.5 0.484375 0.359375 \n-0.5 0.484375 0.28125 \n-0.5 0.46875 0.296875 \n-0.5 0.484375 0.296875 \n-0.5 0.421875 0.34375 \n-0.5 0.40625 0.359375 \n-0.5 0.421875 0.359375 \n-0.5 0.359375 0.46875 \n-0.5 0.34375 0.484375 \n-0.5 0.359375 0.484375 \n-0.5 0.359375 0.40625 \n-0.5 0.34375 0.421875 \n-0.5 0.359375 0.421875 \n-0.5 0.296875 0.46875 \n-0.5 0.28125 0.484375 \n-0.5 0.296875 0.484375 \n-0.5 0.484375 0.21875 \n-0.5 0.46875 0.234375 \n-0.5 0.484375 0.234375 \n-0.5 0.484375 0.15625 \n-0.5 0.46875 0.171875 \n-0.5 0.484375 0.171875 \n-0.5 0.421875 0.21875 \n-0.5 0.40625 0.234375 \n-0.5 0.421875 0.234375 \n-0.5 0.484375 0.09375 \n-0.5 0.46875 0.109375 \n-0.5 0.484375 0.109375 \n-0.5 0.484375 0.03125 \n-0.5 0.46875 0.046875 \n-0.5 0.484375 0.046875 \n-0.5 0.421875 0.09375 \n-0.5 0.40625 0.109375 \n-0.5 0.421875 0.109375 \n-0.5 0.359375 0.21875 \n-0.5 0.34375 0.234375 \n-0.5 0.359375 0.234375 \n-0.5 0.359375 0.15625 \n-0.5 0.34375 0.171875 \n-0.5 0.359375 0.171875 \n-0.5 0.296875 0.21875 \n-0.5 0.28125 0.234375 \n-0.5 0.296875 0.234375 \n-0.5 0.234375 0.46875 \n-0.5 0.21875 0.484375 \n-0.5 0.234375 0.484375 \n-0.5 0.234375 0.40625 \n-0.5 0.21875 0.421875 \n-0.5 0.234375 0.421875 \n-0.5 0.171875 0.46875 \n-0.5 0.15625 0.484375 \n-0.5 0.171875 0.484375 \n-0.5 0.234375 0.34375 \n-0.5 0.21875 0.359375 \n-0.5 0.234375 0.359375 \n-0.5 0.234375 0.28125 \n-0.5 0.21875 0.296875 \n-0.5 0.234375 0.296875 \n-0.5 0.171875 0.34375 \n-0.5 0.15625 0.359375 \n-0.5 0.171875 0.359375 \n-0.5 0.109375 0.46875 \n-0.5 0.09375 0.484375 \n-0.5 0.109375 0.484375 \n-0.5 0.109375 0.40625 \n-0.5 0.09375 0.421875 \n-0.5 0.109375 0.421875 \n-0.5 0.046875 0.46875 \n-0.5 0.03125 0.484375 \n-0.5 0.046875 0.484375 \n-0.5 0.484375 -0.03125 \n-0.5 0.46875 -0.015625 \n-0.5 0.484375 -0.015625 \n-0.5 0.484375 -0.09375 \n-0.5 0.46875 -0.078125 \n-0.5 0.484375 -0.078125 \n-0.5 0.421875 -0.03125 \n-0.5 0.40625 -0.015625 \n-0.5 0.421875 -0.015625 \n-0.5 0.484375 -0.15625 \n-0.5 0.46875 -0.140625 \n-0.5 0.484375 -0.140625 \n-0.5 0.484375 -0.21875 \n-0.5 0.46875 -0.203125 \n-0.5 0.484375 -0.203125 \n-0.5 0.421875 -0.15625 \n-0.5 0.40625 -0.140625 \n-0.5 0.421875 -0.140625 \n-0.5 0.359375 -0.03125 \n-0.5 0.34375 -0.015625 \n-0.5 0.359375 -0.015625 \n-0.5 0.359375 -0.09375 \n-0.5 0.34375 -0.078125 \n-0.5 0.359375 -0.078125 \n-0.5 0.296875 -0.03125 \n-0.5 0.28125 -0.015625 \n-0.5 0.296875 -0.015625 \n-0.5 0.484375 -0.28125 \n-0.5 0.46875 -0.265625 \n-0.5 0.484375 -0.265625 \n-0.5 0.484375 -0.34375 \n-0.5 0.46875 -0.328125 \n-0.5 0.484375 -0.328125 \n-0.5 0.421875 -0.28125 \n-0.5 0.40625 -0.265625 \n-0.5 0.421875 -0.265625 \n-0.5 0.484375 -0.40625 \n-0.5 0.46875 -0.390625 \n-0.5 0.484375 -0.390625 \n-0.5 0.484375 -0.46875 \n-0.5 0.46875 -0.453125 \n-0.5 0.484375 -0.453125 \n-0.5 0.421875 -0.40625 \n-0.5 0.40625 -0.390625 \n-0.5 0.421875 -0.390625 \n-0.5 0.359375 -0.28125 \n-0.5 0.34375 -0.265625 \n-0.5 0.359375 -0.265625 \n-0.5 0.359375 -0.34375 \n-0.5 0.34375 -0.328125 \n-0.5 0.359375 -0.328125 \n-0.5 0.296875 -0.28125 \n-0.5 0.28125 -0.265625 \n-0.5 0.296875 -0.265625 \n-0.5 0.234375 -0.03125 \n-0.5 0.21875 -0.015625 \n-0.5 0.234375 -0.015625 \n-0.5 0.234375 -0.09375 \n-0.5 0.21875 -0.078125 \n-0.5 0.234375 -0.078125 \n-0.5 0.171875 -0.03125 \n-0.5 0.15625 -0.015625 \n-0.5 0.171875 -0.015625 \n-0.5 0.234375 -0.15625 \n-0.5 0.21875 -0.140625 \n-0.5 0.234375 -0.140625 \n-0.5 0.234375 -0.21875 \n-0.5 0.21875 -0.203125 \n-0.5 0.234375 -0.203125 \n-0.5 0.171875 -0.15625 \n-0.5 0.15625 -0.140625 \n-0.5 0.171875 -0.140625 \n-0.5 0.109375 -0.03125 \n-0.5 0.09375 -0.015625 \n-0.5 0.109375 -0.015625 \n-0.5 0.109375 -0.09375 \n-0.5 0.09375 -0.078125 \n-0.5 0.109375 -0.078125 \n-0.5 0.046875 -0.03125 \n-0.5 0.03125 -0.015625 \n-0.5 0.046875 -0.015625 \n-0.5 -0.015625 0.46875 \n-0.5 -0.03125 0.484375 \n-0.5 -0.015625 0.484375 \n-0.5 -0.015625 0.40625 \n-0.5 -0.03125 0.421875 \n-0.5 -0.015625 0.421875 \n-0.5 -0.078125 0.46875 \n-0.5 -0.09375 0.484375 \n-0.5 -0.078125 0.484375 \n-0.5 -0.015625 0.34375 \n-0.5 -0.03125 0.359375 \n-0.5 -0.015625 0.359375 \n-0.5 -0.015625 0.28125 \n-0.5 -0.03125 0.296875 \n-0.5 -0.015625 0.296875 \n-0.5 -0.078125 0.34375 \n-0.5 -0.09375 0.359375 \n-0.5 -0.078125 0.359375 \n-0.5 -0.140625 0.46875 \n-0.5 -0.15625 0.484375 \n-0.5 -0.140625 0.484375 \n-0.5 -0.140625 0.40625 \n-0.5 -0.15625 0.421875 \n-0.5 -0.140625 0.421875 \n-0.5 -0.203125 0.46875 \n-0.5 -0.21875 0.484375 \n-0.5 -0.203125 0.484375 \n-0.5 -0.015625 0.21875 \n-0.5 -0.03125 0.234375 \n-0.5 -0.015625 0.234375 \n-0.5 -0.015625 0.15625 \n-0.5 -0.03125 0.171875 \n-0.5 -0.015625 0.171875 \n-0.5 -0.078125 0.21875 \n-0.5 -0.09375 0.234375 \n-0.5 -0.078125 0.234375 \n-0.5 -0.015625 0.09375 \n-0.5 -0.03125 0.109375 \n-0.5 -0.015625 0.109375 \n-0.5 -0.015625 0.03125 \n-0.5 -0.03125 0.046875 \n-0.5 -0.015625 0.046875 \n-0.5 -0.078125 0.09375 \n-0.5 -0.09375 0.109375 \n-0.5 -0.078125 0.109375 \n-0.5 -0.140625 0.21875 \n-0.5 -0.15625 0.234375 \n-0.5 -0.140625 0.234375 \n-0.5 -0.140625 0.15625 \n-0.5 -0.15625 0.171875 \n-0.5 -0.140625 0.171875 \n-0.5 -0.203125 0.21875 \n-0.5 -0.21875 0.234375 \n-0.5 -0.203125 0.234375 \n-0.5 -0.265625 0.46875 \n-0.5 -0.28125 0.484375 \n-0.5 -0.265625 0.484375 \n-0.5 -0.265625 0.40625 \n-0.5 -0.28125 0.421875 \n-0.5 -0.265625 0.421875 \n-0.5 -0.328125 0.46875 \n-0.5 -0.34375 0.484375 \n-0.5 -0.328125 0.484375 \n-0.5 -0.265625 0.34375 \n-0.5 -0.28125 0.359375 \n-0.5 -0.265625 0.359375 \n-0.5 -0.265625 0.28125 \n-0.5 -0.28125 0.296875 \n-0.5 -0.265625 0.296875 \n-0.5 -0.328125 0.34375 \n-0.5 -0.34375 0.359375 \n-0.5 -0.328125 0.359375 \n-0.5 -0.390625 0.46875 \n-0.5 -0.40625 0.484375 \n-0.5 -0.390625 0.484375 \n-0.5 -0.390625 0.40625 \n-0.5 -0.40625 0.421875 \n-0.5 -0.390625 0.421875 \n-0.5 -0.453125 0.46875 \n-0.5 -0.46875 0.484375 \n-0.5 -0.453125 0.484375 \n0.1875 0.140625 0.5 \n0.171875 0.140625 0.5 \n0.1875 0.171875 0.5 \n0.171875 0.1875 0.5 \n0.140625 0.1875 0.5 \n0.140625 0.171875 0.5 \n-0.1875 -0.140625 0.5 \n-0.171875 -0.140625 0.5 \n-0.1875 -0.171875 0.5 \n-0.171875 -0.1875 0.5 \n-0.140625 -0.1875 0.5 \n-0.140625 -0.171875 0.5 \n0.5 0.1875 0.140625 \n0.5 0.171875 0.140625 \n0.5 0.1875 0.171875 \n0.5 0.171875 0.1875 \n0.5 0.140625 0.1875 \n0.5 0.140625 0.171875 \n0.5 -0.1875 -0.140625 \n0.5 -0.171875 -0.140625 \n0.5 -0.1875 -0.171875 \n0.5 -0.171875 -0.1875 \n0.5 -0.140625 -0.1875 \n0.5 -0.140625 -0.171875 \n0.140625 0.5 0.1875 \n0.140625 0.5 0.171875 \n0.171875 0.5 0.1875 \n0.1875 0.5 0.171875 \n0.1875 0.5 0.140625 \n0.171875 0.5 0.140625 \n-0.140625 0.5 -0.1875 \n-0.140625 0.5 -0.171875 \n-0.171875 0.5 -0.1875 \n-0.1875 0.5 -0.171875 \n-0.1875 0.5 -0.140625 \n-0.171875 0.5 -0.140625 \n-0.140625 -0.1875 -0.5 \n-0.140625 -0.171875 -0.5 \n-0.171875 -0.1875 -0.5 \n-0.1875 -0.171875 -0.5 \n-0.1875 -0.140625 -0.5 \n-0.171875 -0.140625 -0.5 \n0.140625 0.1875 -0.5 \n0.140625 0.171875 -0.5 \n0.171875 0.1875 -0.5 \n0.1875 0.171875 -0.5 \n0.1875 0.140625 -0.5 \n0.171875 0.140625 -0.5 \n-0.1875 -0.5 -0.140625 \n-0.171875 -0.5 -0.140625 \n-0.1875 -0.5 -0.171875 \n-0.171875 -0.5 -0.1875 \n-0.140625 -0.5 -0.1875 \n-0.140625 -0.5 -0.171875 \n0.1875 -0.5 0.140625 \n0.171875 -0.5 0.140625 \n0.1875 -0.5 0.171875 \n0.171875 -0.5 0.1875 \n0.140625 -0.5 0.1875 \n0.140625 -0.5 0.171875 \n-0.5 -0.140625 -0.1875 \n-0.5 -0.140625 -0.171875 \n-0.5 -0.171875 -0.1875 \n-0.5 -0.1875 -0.171875 \n-0.5 -0.1875 -0.140625 \n-0.5 -0.171875 -0.140625 \n-0.5 0.140625 0.1875 \n-0.5 0.140625 0.171875 \n-0.5 0.171875 0.1875 \n-0.5 0.1875 0.171875 \n-0.5 0.1875 0.140625 \n-0.5 0.171875 0.140625 \n0.328125 0.3125 0.5 \n0.3125 0.328125 0.5 \n0.359375 0.3125 0.5 \n0.359375 0.328125 0.5 \n0.328125 0.359375 0.5 \n0.3125 0.359375 0.5 \n-0.171875 0.3125 0.5 \n-0.1875 0.328125 0.5 \n-0.140625 0.3125 0.5 \n-0.140625 0.328125 0.5 \n-0.171875 0.359375 0.5 \n-0.1875 0.359375 0.5 \n0.328125 -0.1875 0.5 \n0.3125 -0.171875 0.5 \n0.359375 -0.1875 0.5 \n0.359375 -0.171875 0.5 \n0.328125 -0.140625 0.5 \n0.3125 -0.140625 0.5 \n-0.328125 -0.3125 0.5 \n-0.3125 -0.328125 0.5 \n-0.359375 -0.3125 0.5 \n-0.359375 -0.328125 0.5 \n-0.328125 -0.359375 0.5 \n-0.3125 -0.359375 0.5 \n0.171875 -0.3125 0.5 \n0.1875 -0.328125 0.5 \n0.140625 -0.3125 0.5 \n0.140625 -0.328125 0.5 \n0.171875 -0.359375 0.5 \n0.1875 -0.359375 0.5 \n-0.328125 0.1875 0.5 \n-0.3125 0.171875 0.5 \n-0.359375 0.1875 0.5 \n-0.359375 0.171875 0.5 \n-0.328125 0.140625 0.5 \n-0.3125 0.140625 0.5 \n0.5 0.328125 0.3125 \n0.5 0.3125 0.328125 \n0.5 0.359375 0.3125 \n0.5 0.359375 0.328125 \n0.5 0.328125 0.359375 \n0.5 0.3125 0.359375 \n0.5 -0.171875 0.3125 \n0.5 -0.1875 0.328125 \n0.5 -0.140625 0.3125 \n0.5 -0.140625 0.328125 \n0.5 -0.171875 0.359375 \n0.5 -0.1875 0.359375 \n0.5 0.328125 -0.1875 \n0.5 0.3125 -0.171875 \n0.5 0.359375 -0.1875 \n0.5 0.359375 -0.171875 \n0.5 0.328125 -0.140625 \n0.5 0.3125 -0.140625 \n0.5 -0.328125 -0.3125 \n0.5 -0.3125 -0.328125 \n0.5 -0.359375 -0.3125 \n0.5 -0.359375 -0.328125 \n0.5 -0.328125 -0.359375 \n0.5 -0.3125 -0.359375 \n0.5 0.171875 -0.3125 \n0.5 0.1875 -0.328125 \n0.5 0.140625 -0.3125 \n0.5 0.140625 -0.328125 \n0.5 0.171875 -0.359375 \n0.5 0.1875 -0.359375 \n0.5 -0.328125 0.1875 \n0.5 -0.3125 0.171875 \n0.5 -0.359375 0.1875 \n0.5 -0.359375 0.171875 \n0.5 -0.328125 0.140625 \n0.5 -0.3125 0.140625 \n0.3125 0.5 0.328125 \n0.328125 0.5 0.3125 \n0.3125 0.5 0.359375 \n0.328125 0.5 0.359375 \n0.359375 0.5 0.328125 \n0.359375 0.5 0.3125 \n0.3125 0.5 -0.171875 \n0.328125 0.5 -0.1875 \n0.3125 0.5 -0.140625 \n0.328125 0.5 -0.140625 \n0.359375 0.5 -0.171875 \n0.359375 0.5 -0.1875 \n-0.1875 0.5 0.328125 \n-0.171875 0.5 0.3125 \n-0.1875 0.5 0.359375 \n-0.171875 0.5 0.359375 \n-0.140625 0.5 0.328125 \n-0.140625 0.5 0.3125 \n-0.3125 0.5 -0.328125 \n-0.328125 0.5 -0.3125 \n-0.3125 0.5 -0.359375 \n-0.328125 0.5 -0.359375 \n-0.359375 0.5 -0.328125 \n-0.359375 0.5 -0.3125 \n-0.3125 0.5 0.171875 \n-0.328125 0.5 0.1875 \n-0.3125 0.5 0.140625 \n-0.328125 0.5 0.140625 \n-0.359375 0.5 0.171875 \n-0.359375 0.5 0.1875 \n0.1875 0.5 -0.328125 \n0.171875 0.5 -0.3125 \n0.1875 0.5 -0.359375 \n0.171875 0.5 -0.359375 \n0.140625 0.5 -0.328125 \n0.140625 0.5 -0.3125 \n-0.3125 -0.328125 -0.5 \n-0.328125 -0.3125 -0.5 \n-0.3125 -0.359375 -0.5 \n-0.328125 -0.359375 -0.5 \n-0.359375 -0.328125 -0.5 \n-0.359375 -0.3125 -0.5 \n-0.3125 0.171875 -0.5 \n-0.328125 0.1875 -0.5 \n-0.3125 0.140625 -0.5 \n-0.328125 0.140625 -0.5 \n-0.359375 0.171875 -0.5 \n-0.359375 0.1875 -0.5 \n0.1875 -0.328125 -0.5 \n0.171875 -0.3125 -0.5 \n0.1875 -0.359375 -0.5 \n0.171875 -0.359375 -0.5 \n0.140625 -0.328125 -0.5 \n0.140625 -0.3125 -0.5 \n0.3125 0.328125 -0.5 \n0.328125 0.3125 -0.5 \n0.3125 0.359375 -0.5 \n0.328125 0.359375 -0.5 \n0.359375 0.328125 -0.5 \n0.359375 0.3125 -0.5 \n0.3125 -0.171875 -0.5 \n0.328125 -0.1875 -0.5 \n0.3125 -0.140625 -0.5 \n0.328125 -0.140625 -0.5 \n0.359375 -0.171875 -0.5 \n0.359375 -0.1875 -0.5 \n-0.1875 0.328125 -0.5 \n-0.171875 0.3125 -0.5 \n-0.1875 0.359375 -0.5 \n-0.171875 0.359375 -0.5 \n-0.140625 0.328125 -0.5 \n-0.140625 0.3125 -0.5 \n-0.328125 -0.5 -0.3125 \n-0.3125 -0.5 -0.328125 \n-0.359375 -0.5 -0.3125 \n-0.359375 -0.5 -0.328125 \n-0.328125 -0.5 -0.359375 \n-0.3125 -0.5 -0.359375 \n0.171875 -0.5 -0.3125 \n0.1875 -0.5 -0.328125 \n0.140625 -0.5 -0.3125 \n0.140625 -0.5 -0.328125 \n0.171875 -0.5 -0.359375 \n0.1875 -0.5 -0.359375 \n-0.328125 -0.5 0.1875 \n-0.3125 -0.5 0.171875 \n-0.359375 -0.5 0.1875 \n-0.359375 -0.5 0.171875 \n-0.328125 -0.5 0.140625 \n-0.3125 -0.5 0.140625 \n0.328125 -0.5 0.3125 \n0.3125 -0.5 0.328125 \n0.359375 -0.5 0.3125 \n0.359375 -0.5 0.328125 \n0.328125 -0.5 0.359375 \n0.3125 -0.5 0.359375 \n-0.171875 -0.5 0.3125 \n-0.1875 -0.5 0.328125 \n-0.140625 -0.5 0.3125 \n-0.140625 -0.5 0.328125 \n-0.171875 -0.5 0.359375 \n-0.1875 -0.5 0.359375 \n0.328125 -0.5 -0.1875 \n0.3125 -0.5 -0.171875 \n0.359375 -0.5 -0.1875 \n0.359375 -0.5 -0.171875 \n0.328125 -0.5 -0.140625 \n0.3125 -0.5 -0.140625 \n-0.5 -0.3125 -0.328125 \n-0.5 -0.328125 -0.3125 \n-0.5 -0.3125 -0.359375 \n-0.5 -0.328125 -0.359375 \n-0.5 -0.359375 -0.328125 \n-0.5 -0.359375 -0.3125 \n-0.5 -0.3125 0.171875 \n-0.5 -0.328125 0.1875 \n-0.5 -0.3125 0.140625 \n-0.5 -0.328125 0.140625 \n-0.5 -0.359375 0.171875 \n-0.5 -0.359375 0.1875 \n-0.5 0.1875 -0.328125 \n-0.5 0.171875 -0.3125 \n-0.5 0.1875 -0.359375 \n-0.5 0.171875 -0.359375 \n-0.5 0.140625 -0.328125 \n-0.5 0.140625 -0.3125 \n-0.5 0.3125 0.328125 \n-0.5 0.328125 0.3125 \n-0.5 0.3125 0.359375 \n-0.5 0.328125 0.359375 \n-0.5 0.359375 0.328125 \n-0.5 0.359375 0.3125 \n-0.5 0.3125 -0.171875 \n-0.5 0.328125 -0.1875 \n-0.5 0.3125 -0.140625 \n-0.5 0.328125 -0.140625 \n-0.5 0.359375 -0.171875 \n-0.5 0.359375 -0.1875 \n-0.5 -0.1875 0.328125 \n-0.5 -0.171875 0.3125 \n-0.5 -0.1875 0.359375 \n-0.5 -0.171875 0.359375 \n-0.5 -0.140625 0.328125 \n-0.5 -0.140625 0.3125 \n0.078125 0.3125 0.5 \n0.0625 0.328125 0.5 \n0.109375 0.3125 0.5 \n0.109375 0.328125 0.5 \n0.078125 0.359375 0.5 \n0.0625 0.359375 0.5 \n0.078125 0.0625 0.5 \n0.0625 0.078125 0.5 \n0.109375 0.0625 0.5 \n0.109375 0.078125 0.5 \n0.078125 0.109375 0.5 \n0.0625 0.109375 0.5 \n0.328125 0.0625 0.5 \n0.3125 0.078125 0.5 \n0.359375 0.0625 0.5 \n0.359375 0.078125 0.5 \n0.328125 0.109375 0.5 \n0.3125 0.109375 0.5 \n-0.078125 -0.3125 0.5 \n-0.0625 -0.328125 0.5 \n-0.109375 -0.3125 0.5 \n-0.109375 -0.328125 0.5 \n-0.078125 -0.359375 0.5 \n-0.0625 -0.359375 0.5 \n-0.078125 -0.0625 0.5 \n-0.0625 -0.078125 0.5 \n-0.109375 -0.0625 0.5 \n-0.109375 -0.078125 0.5 \n-0.078125 -0.109375 0.5 \n-0.0625 -0.109375 0.5 \n-0.328125 -0.0625 0.5 \n-0.3125 -0.078125 0.5 \n-0.359375 -0.0625 0.5 \n-0.359375 -0.078125 0.5 \n-0.328125 -0.109375 0.5 \n-0.3125 -0.109375 0.5 \n0.5 0.078125 0.3125 \n0.5 0.0625 0.328125 \n0.5 0.109375 0.3125 \n0.5 0.109375 0.328125 \n0.5 0.078125 0.359375 \n0.5 0.0625 0.359375 \n0.5 0.078125 0.0625 \n0.5 0.0625 0.078125 \n0.5 0.109375 0.0625 \n0.5 0.109375 0.078125 \n0.5 0.078125 0.109375 \n0.5 0.0625 0.109375 \n0.5 0.328125 0.0625 \n0.5 0.3125 0.078125 \n0.5 0.359375 0.0625 \n0.5 0.359375 0.078125 \n0.5 0.328125 0.109375 \n0.5 0.3125 0.109375 \n0.5 -0.078125 -0.3125 \n0.5 -0.0625 -0.328125 \n0.5 -0.109375 -0.3125 \n0.5 -0.109375 -0.328125 \n0.5 -0.078125 -0.359375 \n0.5 -0.0625 -0.359375 \n0.5 -0.078125 -0.0625 \n0.5 -0.0625 -0.078125 \n0.5 -0.109375 -0.0625 \n0.5 -0.109375 -0.078125 \n0.5 -0.078125 -0.109375 \n0.5 -0.0625 -0.109375 \n0.5 -0.328125 -0.0625 \n0.5 -0.3125 -0.078125 \n0.5 -0.359375 -0.0625 \n0.5 -0.359375 -0.078125 \n0.5 -0.328125 -0.109375 \n0.5 -0.3125 -0.109375 \n0.3125 0.5 0.078125 \n0.328125 0.5 0.0625 \n0.3125 0.5 0.109375 \n0.328125 0.5 0.109375 \n0.359375 0.5 0.078125 \n0.359375 0.5 0.0625 \n0.0625 0.5 0.078125 \n0.078125 0.5 0.0625 \n0.0625 0.5 0.109375 \n0.078125 0.5 0.109375 \n0.109375 0.5 0.078125 \n0.109375 0.5 0.0625 \n0.0625 0.5 0.328125 \n0.078125 0.5 0.3125 \n0.0625 0.5 0.359375 \n0.078125 0.5 0.359375 \n0.109375 0.5 0.328125 \n0.109375 0.5 0.3125 \n-0.3125 0.5 -0.078125 \n-0.328125 0.5 -0.0625 \n-0.3125 0.5 -0.109375 \n-0.328125 0.5 -0.109375 \n-0.359375 0.5 -0.078125 \n-0.359375 0.5 -0.0625 \n-0.0625 0.5 -0.078125 \n-0.078125 0.5 -0.0625 \n-0.0625 0.5 -0.109375 \n-0.078125 0.5 -0.109375 \n-0.109375 0.5 -0.078125 \n-0.109375 0.5 -0.0625 \n-0.0625 0.5 -0.328125 \n-0.078125 0.5 -0.3125 \n-0.0625 0.5 -0.359375 \n-0.078125 0.5 -0.359375 \n-0.109375 0.5 -0.328125 \n-0.109375 0.5 -0.3125 \n-0.3125 -0.078125 -0.5 \n-0.328125 -0.0625 -0.5 \n-0.3125 -0.109375 -0.5 \n-0.328125 -0.109375 -0.5 \n-0.359375 -0.078125 -0.5 \n-0.359375 -0.0625 -0.5 \n-0.0625 -0.078125 -0.5 \n-0.078125 -0.0625 -0.5 \n-0.0625 -0.109375 -0.5 \n-0.078125 -0.109375 -0.5 \n-0.109375 -0.078125 -0.5 \n-0.109375 -0.0625 -0.5 \n-0.0625 -0.328125 -0.5 \n-0.078125 -0.3125 -0.5 \n-0.0625 -0.359375 -0.5 \n-0.078125 -0.359375 -0.5 \n-0.109375 -0.328125 -0.5 \n-0.109375 -0.3125 -0.5 \n0.3125 0.078125 -0.5 \n0.328125 0.0625 -0.5 \n0.3125 0.109375 -0.5 \n0.328125 0.109375 -0.5 \n0.359375 0.078125 -0.5 \n0.359375 0.0625 -0.5 \n0.0625 0.078125 -0.5 \n0.078125 0.0625 -0.5 \n0.0625 0.109375 -0.5 \n0.078125 0.109375 -0.5 \n0.109375 0.078125 -0.5 \n0.109375 0.0625 -0.5 \n0.0625 0.328125 -0.5 \n0.078125 0.3125 -0.5 \n0.0625 0.359375 -0.5 \n0.078125 0.359375 -0.5 \n0.109375 0.328125 -0.5 \n0.109375 0.3125 -0.5 \n-0.078125 -0.5 -0.3125 \n-0.0625 -0.5 -0.328125 \n-0.109375 -0.5 -0.3125 \n-0.109375 -0.5 -0.328125 \n-0.078125 -0.5 -0.359375 \n-0.0625 -0.5 -0.359375 \n-0.078125 -0.5 -0.0625 \n-0.0625 -0.5 -0.078125 \n-0.109375 -0.5 -0.0625 \n-0.109375 -0.5 -0.078125 \n-0.078125 -0.5 -0.109375 \n-0.0625 -0.5 -0.109375 \n-0.328125 -0.5 -0.0625 \n-0.3125 -0.5 -0.078125 \n-0.359375 -0.5 -0.0625 \n-0.359375 -0.5 -0.078125 \n-0.328125 -0.5 -0.109375 \n-0.3125 -0.5 -0.109375 \n0.078125 -0.5 0.3125 \n0.0625 -0.5 0.328125 \n0.109375 -0.5 0.3125 \n0.109375 -0.5 0.328125 \n0.078125 -0.5 0.359375 \n0.0625 -0.5 0.359375 \n0.078125 -0.5 0.0625 \n0.0625 -0.5 0.078125 \n0.109375 -0.5 0.0625 \n0.109375 -0.5 0.078125 \n0.078125 -0.5 0.109375 \n0.0625 -0.5 0.109375 \n0.328125 -0.5 0.0625 \n0.3125 -0.5 0.078125 \n0.359375 -0.5 0.0625 \n0.359375 -0.5 0.078125 \n0.328125 -0.5 0.109375 \n0.3125 -0.5 0.109375 \n-0.5 -0.3125 -0.078125 \n-0.5 -0.328125 -0.0625 \n-0.5 -0.3125 -0.109375 \n-0.5 -0.328125 -0.109375 \n-0.5 -0.359375 -0.078125 \n-0.5 -0.359375 -0.0625 \n-0.5 -0.0625 -0.078125 \n-0.5 -0.078125 -0.0625 \n-0.5 -0.0625 -0.109375 \n-0.5 -0.078125 -0.109375 \n-0.5 -0.109375 -0.078125 \n-0.5 -0.109375 -0.0625 \n-0.5 -0.0625 -0.328125 \n-0.5 -0.078125 -0.3125 \n-0.5 -0.0625 -0.359375 \n-0.5 -0.078125 -0.359375 \n-0.5 -0.109375 -0.328125 \n-0.5 -0.109375 -0.3125 \n-0.5 0.3125 0.078125 \n-0.5 0.328125 0.0625 \n-0.5 0.3125 0.109375 \n-0.5 0.328125 0.109375 \n-0.5 0.359375 0.078125 \n-0.5 0.359375 0.0625 \n-0.5 0.0625 0.078125 \n-0.5 0.078125 0.0625 \n-0.5 0.0625 0.109375 \n-0.5 0.078125 0.109375 \n-0.5 0.109375 0.078125 \n-0.5 0.109375 0.0625 \n-0.5 0.0625 0.328125 \n-0.5 0.078125 0.3125 \n-0.5 0.0625 0.359375 \n-0.5 0.078125 0.359375 \n-0.5 0.109375 0.328125 \n-0.5 0.109375 0.3125 \n0.390625 0.421875 0.5 \n0.390625 0.4375 0.5 \n0.421875 0.390625 0.5 \n0.4375 0.390625 0.5 \n0.4375 0.421875 0.5 \n0.421875 0.4375 0.5 \n0.140625 0.421875 0.5 \n0.140625 0.4375 0.5 \n0.171875 0.390625 0.5 \n0.1875 0.390625 0.5 \n0.1875 0.421875 0.5 \n0.171875 0.4375 0.5 \n0.390625 0.171875 0.5 \n0.390625 0.1875 0.5 \n0.421875 0.140625 0.5 \n0.4375 0.140625 0.5 \n0.4375 0.171875 0.5 \n0.421875 0.1875 0.5 \n-0.109375 0.421875 0.5 \n-0.109375 0.4375 0.5 \n-0.078125 0.390625 0.5 \n-0.0625 0.390625 0.5 \n-0.0625 0.421875 0.5 \n-0.078125 0.4375 0.5 \n-0.359375 0.421875 0.5 \n-0.359375 0.4375 0.5 \n-0.328125 0.390625 0.5 \n-0.3125 0.390625 0.5 \n-0.3125 0.421875 0.5 \n-0.328125 0.4375 0.5 \n-0.109375 0.171875 0.5 \n-0.109375 0.1875 0.5 \n-0.078125 0.140625 0.5 \n-0.0625 0.140625 0.5 \n-0.0625 0.171875 0.5 \n-0.078125 0.1875 0.5 \n0.390625 -0.078125 0.5 \n0.390625 -0.0625 0.5 \n0.421875 -0.109375 0.5 \n0.4375 -0.109375 0.5 \n0.4375 -0.078125 0.5 \n0.421875 -0.0625 0.5 \n0.140625 -0.078125 0.5 \n0.140625 -0.0625 0.5 \n0.171875 -0.109375 0.5 \n0.1875 -0.109375 0.5 \n0.1875 -0.078125 0.5 \n0.171875 -0.0625 0.5 \n0.390625 -0.328125 0.5 \n0.390625 -0.3125 0.5 \n0.421875 -0.359375 0.5 \n0.4375 -0.359375 0.5 \n0.4375 -0.328125 0.5 \n0.421875 -0.3125 0.5 \n-0.390625 -0.421875 0.5 \n-0.390625 -0.4375 0.5 \n-0.421875 -0.390625 0.5 \n-0.4375 -0.390625 0.5 \n-0.4375 -0.421875 0.5 \n-0.421875 -0.4375 0.5 \n-0.140625 -0.421875 0.5 \n-0.140625 -0.4375 0.5 \n-0.171875 -0.390625 0.5 \n-0.1875 -0.390625 0.5 \n-0.1875 -0.421875 0.5 \n-0.171875 -0.4375 0.5 \n-0.390625 -0.171875 0.5 \n-0.390625 -0.1875 0.5 \n-0.421875 -0.140625 0.5 \n-0.4375 -0.140625 0.5 \n-0.4375 -0.171875 0.5 \n-0.421875 -0.1875 0.5 \n0.109375 -0.421875 0.5 \n0.109375 -0.4375 0.5 \n0.078125 -0.390625 0.5 \n0.0625 -0.390625 0.5 \n0.0625 -0.421875 0.5 \n0.078125 -0.4375 0.5 \n0.359375 -0.421875 0.5 \n0.359375 -0.4375 0.5 \n0.328125 -0.390625 0.5 \n0.3125 -0.390625 0.5 \n0.3125 -0.421875 0.5 \n0.328125 -0.4375 0.5 \n0.109375 -0.171875 0.5 \n0.109375 -0.1875 0.5 \n0.078125 -0.140625 0.5 \n0.0625 -0.140625 0.5 \n0.0625 -0.171875 0.5 \n0.078125 -0.1875 0.5 \n-0.390625 0.078125 0.5 \n-0.390625 0.0625 0.5 \n-0.421875 0.109375 0.5 \n-0.4375 0.109375 0.5 \n-0.4375 0.078125 0.5 \n-0.421875 0.0625 0.5 \n-0.140625 0.078125 0.5 \n-0.140625 0.0625 0.5 \n-0.171875 0.109375 0.5 \n-0.1875 0.109375 0.5 \n-0.1875 0.078125 0.5 \n-0.171875 0.0625 0.5 \n-0.390625 0.328125 0.5 \n-0.390625 0.3125 0.5 \n-0.421875 0.359375 0.5 \n-0.4375 0.359375 0.5 \n-0.4375 0.328125 0.5 \n-0.421875 0.3125 0.5 \n0.5 0.390625 0.421875 \n0.5 0.390625 0.4375 \n0.5 0.421875 0.390625 \n0.5 0.4375 0.390625 \n0.5 0.4375 0.421875 \n0.5 0.421875 0.4375 \n0.5 0.140625 0.421875 \n0.5 0.140625 0.4375 \n0.5 0.171875 0.390625 \n0.5 0.1875 0.390625 \n0.5 0.1875 0.421875 \n0.5 0.171875 0.4375 \n0.5 0.390625 0.171875 \n0.5 0.390625 0.1875 \n0.5 0.421875 0.140625 \n0.5 0.4375 0.140625 \n0.5 0.4375 0.171875 \n0.5 0.421875 0.1875 \n0.5 -0.109375 0.421875 \n0.5 -0.109375 0.4375 \n0.5 -0.078125 0.390625 \n0.5 -0.0625 0.390625 \n0.5 -0.0625 0.421875 \n0.5 -0.078125 0.4375 \n0.5 -0.359375 0.421875 \n0.5 -0.359375 0.4375 \n0.5 -0.328125 0.390625 \n0.5 -0.3125 0.390625 \n0.5 -0.3125 0.421875 \n0.5 -0.328125 0.4375 \n0.5 -0.109375 0.171875 \n0.5 -0.109375 0.1875 \n0.5 -0.078125 0.140625 \n0.5 -0.0625 0.140625 \n0.5 -0.0625 0.171875 \n0.5 -0.078125 0.1875 \n0.5 0.390625 -0.078125 \n0.5 0.390625 -0.0625 \n0.5 0.421875 -0.109375 \n0.5 0.4375 -0.109375 \n0.5 0.4375 -0.078125 \n0.5 0.421875 -0.0625 \n0.5 0.140625 -0.078125 \n0.5 0.140625 -0.0625 \n0.5 0.171875 -0.109375 \n0.5 0.1875 -0.109375 \n0.5 0.1875 -0.078125 \n0.5 0.171875 -0.0625 \n0.5 0.390625 -0.328125 \n0.5 0.390625 -0.3125 \n0.5 0.421875 -0.359375 \n0.5 0.4375 -0.359375 \n0.5 0.4375 -0.328125 \n0.5 0.421875 -0.3125 \n0.5 -0.390625 -0.421875 \n0.5 -0.390625 -0.4375 \n0.5 -0.421875 -0.390625 \n0.5 -0.4375 -0.390625 \n0.5 -0.4375 -0.421875 \n0.5 -0.421875 -0.4375 \n0.5 -0.140625 -0.421875 \n0.5 -0.140625 -0.4375 \n0.5 -0.171875 -0.390625 \n0.5 -0.1875 -0.390625 \n0.5 -0.1875 -0.421875 \n0.5 -0.171875 -0.4375 \n0.5 -0.390625 -0.171875 \n0.5 -0.390625 -0.1875 \n0.5 -0.421875 -0.140625 \n0.5 -0.4375 -0.140625 \n0.5 -0.4375 -0.171875 \n0.5 -0.421875 -0.1875 \n0.5 0.109375 -0.421875 \n0.5 0.109375 -0.4375 \n0.5 0.078125 -0.390625 \n0.5 0.0625 -0.390625 \n0.5 0.0625 -0.421875 \n0.5 0.078125 -0.4375 \n0.5 0.359375 -0.421875 \n0.5 0.359375 -0.4375 \n0.5 0.328125 -0.390625 \n0.5 0.3125 -0.390625 \n0.5 0.3125 -0.421875 \n0.5 0.328125 -0.4375 \n0.5 0.109375 -0.171875 \n0.5 0.109375 -0.1875 \n0.5 0.078125 -0.140625 \n0.5 0.0625 -0.140625 \n0.5 0.0625 -0.171875 \n0.5 0.078125 -0.1875 \n0.5 -0.390625 0.078125 \n0.5 -0.390625 0.0625 \n0.5 -0.421875 0.109375 \n0.5 -0.4375 0.109375 \n0.5 -0.4375 0.078125 \n0.5 -0.421875 0.0625 \n0.5 -0.140625 0.078125 \n0.5 -0.140625 0.0625 \n0.5 -0.171875 0.109375 \n0.5 -0.1875 0.109375 \n0.5 -0.1875 0.078125 \n0.5 -0.171875 0.0625 \n0.5 -0.390625 0.328125 \n0.5 -0.390625 0.3125 \n0.5 -0.421875 0.359375 \n0.5 -0.4375 0.359375 \n0.5 -0.4375 0.328125 \n0.5 -0.421875 0.3125 \n0.421875 0.5 0.390625 \n0.4375 0.5 0.390625 \n0.390625 0.5 0.421875 \n0.390625 0.5 0.4375 \n0.421875 0.5 0.4375 \n0.4375 0.5 0.421875 \n0.421875 0.5 0.140625 \n0.4375 0.5 0.140625 \n0.390625 0.5 0.171875 \n0.390625 0.5 0.1875 \n0.421875 0.5 0.1875 \n0.4375 0.5 0.171875 \n0.171875 0.5 0.390625 \n0.1875 0.5 0.390625 \n0.140625 0.5 0.421875 \n0.140625 0.5 0.4375 \n0.171875 0.5 0.4375 \n0.1875 0.5 0.421875 \n0.421875 0.5 -0.109375 \n0.4375 0.5 -0.109375 \n0.390625 0.5 -0.078125 \n0.390625 0.5 -0.0625 \n0.421875 0.5 -0.0625 \n0.4375 0.5 -0.078125 \n0.421875 0.5 -0.359375 \n0.4375 0.5 -0.359375 \n0.390625 0.5 -0.328125 \n0.390625 0.5 -0.3125 \n0.421875 0.5 -0.3125 \n0.4375 0.5 -0.328125 \n0.171875 0.5 -0.109375 \n0.1875 0.5 -0.109375 \n0.140625 0.5 -0.078125 \n0.140625 0.5 -0.0625 \n0.171875 0.5 -0.0625 \n0.1875 0.5 -0.078125 \n-0.078125 0.5 0.390625 \n-0.0625 0.5 0.390625 \n-0.109375 0.5 0.421875 \n-0.109375 0.5 0.4375 \n-0.078125 0.5 0.4375 \n-0.0625 0.5 0.421875 \n-0.078125 0.5 0.140625 \n-0.0625 0.5 0.140625 \n-0.109375 0.5 0.171875 \n-0.109375 0.5 0.1875 \n-0.078125 0.5 0.1875 \n-0.0625 0.5 0.171875 \n-0.328125 0.5 0.390625 \n-0.3125 0.5 0.390625 \n-0.359375 0.5 0.421875 \n-0.359375 0.5 0.4375 \n-0.328125 0.5 0.4375 \n-0.3125 0.5 0.421875 \n-0.421875 0.5 -0.390625 \n-0.4375 0.5 -0.390625 \n-0.390625 0.5 -0.421875 \n-0.390625 0.5 -0.4375 \n-0.421875 0.5 -0.4375 \n-0.4375 0.5 -0.421875 \n-0.421875 0.5 -0.140625 \n-0.4375 0.5 -0.140625 \n-0.390625 0.5 -0.171875 \n-0.390625 0.5 -0.1875 \n-0.421875 0.5 -0.1875 \n-0.4375 0.5 -0.171875 \n-0.171875 0.5 -0.390625 \n-0.1875 0.5 -0.390625 \n-0.140625 0.5 -0.421875 \n-0.140625 0.5 -0.4375 \n-0.171875 0.5 -0.4375 \n-0.1875 0.5 -0.421875 \n-0.421875 0.5 0.109375 \n-0.4375 0.5 0.109375 \n-0.390625 0.5 0.078125 \n-0.390625 0.5 0.0625 \n-0.421875 0.5 0.0625 \n-0.4375 0.5 0.078125 \n-0.421875 0.5 0.359375 \n-0.4375 0.5 0.359375 \n-0.390625 0.5 0.328125 \n-0.390625 0.5 0.3125 \n-0.421875 0.5 0.3125 \n-0.4375 0.5 0.328125 \n-0.171875 0.5 0.109375 \n-0.1875 0.5 0.109375 \n-0.140625 0.5 0.078125 \n-0.140625 0.5 0.0625 \n-0.171875 0.5 0.0625 \n-0.1875 0.5 0.078125 \n0.078125 0.5 -0.390625 \n0.0625 0.5 -0.390625 \n0.109375 0.5 -0.421875 \n0.109375 0.5 -0.4375 \n0.078125 0.5 -0.4375 \n0.0625 0.5 -0.421875 \n0.078125 0.5 -0.140625 \n0.0625 0.5 -0.140625 \n0.109375 0.5 -0.171875 \n0.109375 0.5 -0.1875 \n0.078125 0.5 -0.1875 \n0.0625 0.5 -0.171875 \n0.328125 0.5 -0.390625 \n0.3125 0.5 -0.390625 \n0.359375 0.5 -0.421875 \n0.359375 0.5 -0.4375 \n0.328125 0.5 -0.4375 \n0.3125 0.5 -0.421875 \n-0.421875 -0.390625 -0.5 \n-0.4375 -0.390625 -0.5 \n-0.390625 -0.421875 -0.5 \n-0.390625 -0.4375 -0.5 \n-0.421875 -0.4375 -0.5 \n-0.4375 -0.421875 -0.5 \n-0.421875 -0.140625 -0.5 \n-0.4375 -0.140625 -0.5 \n-0.390625 -0.171875 -0.5 \n-0.390625 -0.1875 -0.5 \n-0.421875 -0.1875 -0.5 \n-0.4375 -0.171875 -0.5 \n-0.171875 -0.390625 -0.5 \n-0.1875 -0.390625 -0.5 \n-0.140625 -0.421875 -0.5 \n-0.140625 -0.4375 -0.5 \n-0.171875 -0.4375 -0.5 \n-0.1875 -0.421875 -0.5 \n-0.421875 0.109375 -0.5 \n-0.4375 0.109375 -0.5 \n-0.390625 0.078125 -0.5 \n-0.390625 0.0625 -0.5 \n-0.421875 0.0625 -0.5 \n-0.4375 0.078125 -0.5 \n-0.421875 0.359375 -0.5 \n-0.4375 0.359375 -0.5 \n-0.390625 0.328125 -0.5 \n-0.390625 0.3125 -0.5 \n-0.421875 0.3125 -0.5 \n-0.4375 0.328125 -0.5 \n-0.171875 0.109375 -0.5 \n-0.1875 0.109375 -0.5 \n-0.140625 0.078125 -0.5 \n-0.140625 0.0625 -0.5 \n-0.171875 0.0625 -0.5 \n-0.1875 0.078125 -0.5 \n0.078125 -0.390625 -0.5 \n0.0625 -0.390625 -0.5 \n0.109375 -0.421875 -0.5 \n0.109375 -0.4375 -0.5 \n0.078125 -0.4375 -0.5 \n0.0625 -0.421875 -0.5 \n0.078125 -0.140625 -0.5 \n0.0625 -0.140625 -0.5 \n0.109375 -0.171875 -0.5 \n0.109375 -0.1875 -0.5 \n0.078125 -0.1875 -0.5 \n0.0625 -0.171875 -0.5 \n0.328125 -0.390625 -0.5 \n0.3125 -0.390625 -0.5 \n0.359375 -0.421875 -0.5 \n0.359375 -0.4375 -0.5 \n0.328125 -0.4375 -0.5 \n0.3125 -0.421875 -0.5 \n0.421875 0.390625 -0.5 \n0.4375 0.390625 -0.5 \n0.390625 0.421875 -0.5 \n0.390625 0.4375 -0.5 \n0.421875 0.4375 -0.5 \n0.4375 0.421875 -0.5 \n0.421875 0.140625 -0.5 \n0.4375 0.140625 -0.5 \n0.390625 0.171875 -0.5 \n0.390625 0.1875 -0.5 \n0.421875 0.1875 -0.5 \n0.4375 0.171875 -0.5 \n0.171875 0.390625 -0.5 \n0.1875 0.390625 -0.5 \n0.140625 0.421875 -0.5 \n0.140625 0.4375 -0.5 \n0.171875 0.4375 -0.5 \n0.1875 0.421875 -0.5 \n0.421875 -0.109375 -0.5 \n0.4375 -0.109375 -0.5 \n0.390625 -0.078125 -0.5 \n0.390625 -0.0625 -0.5 \n0.421875 -0.0625 -0.5 \n0.4375 -0.078125 -0.5 \n0.421875 -0.359375 -0.5 \n0.4375 -0.359375 -0.5 \n0.390625 -0.328125 -0.5 \n0.390625 -0.3125 -0.5 \n0.421875 -0.3125 -0.5 \n0.4375 -0.328125 -0.5 \n0.171875 -0.109375 -0.5 \n0.1875 -0.109375 -0.5 \n0.140625 -0.078125 -0.5 \n0.140625 -0.0625 -0.5 \n0.171875 -0.0625 -0.5 \n0.1875 -0.078125 -0.5 \n-0.078125 0.390625 -0.5 \n-0.0625 0.390625 -0.5 \n-0.109375 0.421875 -0.5 \n-0.109375 0.4375 -0.5 \n-0.078125 0.4375 -0.5 \n-0.0625 0.421875 -0.5 \n-0.078125 0.140625 -0.5 \n-0.0625 0.140625 -0.5 \n-0.109375 0.171875 -0.5 \n-0.109375 0.1875 -0.5 \n-0.078125 0.1875 -0.5 \n-0.0625 0.171875 -0.5 \n-0.328125 0.390625 -0.5 \n-0.3125 0.390625 -0.5 \n-0.359375 0.421875 -0.5 \n-0.359375 0.4375 -0.5 \n-0.328125 0.4375 -0.5 \n-0.3125 0.421875 -0.5 \n-0.390625 -0.5 -0.421875 \n-0.390625 -0.5 -0.4375 \n-0.421875 -0.5 -0.390625 \n-0.4375 -0.5 -0.390625 \n-0.4375 -0.5 -0.421875 \n-0.421875 -0.5 -0.4375 \n-0.140625 -0.5 -0.421875 \n-0.140625 -0.5 -0.4375 \n-0.171875 -0.5 -0.390625 \n-0.1875 -0.5 -0.390625 \n-0.1875 -0.5 -0.421875 \n-0.171875 -0.5 -0.4375 \n-0.390625 -0.5 -0.171875 \n-0.390625 -0.5 -0.1875 \n-0.421875 -0.5 -0.140625 \n-0.4375 -0.5 -0.140625 \n-0.4375 -0.5 -0.171875 \n-0.421875 -0.5 -0.1875 \n0.109375 -0.5 -0.421875 \n0.109375 -0.5 -0.4375 \n0.078125 -0.5 -0.390625 \n0.0625 -0.5 -0.390625 \n0.0625 -0.5 -0.421875 \n0.078125 -0.5 -0.4375 \n0.359375 -0.5 -0.421875 \n0.359375 -0.5 -0.4375 \n0.328125 -0.5 -0.390625 \n0.3125 -0.5 -0.390625 \n0.3125 -0.5 -0.421875 \n0.328125 -0.5 -0.4375 \n0.109375 -0.5 -0.171875 \n0.109375 -0.5 -0.1875 \n0.078125 -0.5 -0.140625 \n0.0625 -0.5 -0.140625 \n0.0625 -0.5 -0.171875 \n0.078125 -0.5 -0.1875 \n-0.390625 -0.5 0.078125 \n-0.390625 -0.5 0.0625 \n-0.421875 -0.5 0.109375 \n-0.4375 -0.5 0.109375 \n-0.4375 -0.5 0.078125 \n-0.421875 -0.5 0.0625 \n-0.140625 -0.5 0.078125 \n-0.140625 -0.5 0.0625 \n-0.171875 -0.5 0.109375 \n-0.1875 -0.5 0.109375 \n-0.1875 -0.5 0.078125 \n-0.171875 -0.5 0.0625 \n-0.390625 -0.5 0.328125 \n-0.390625 -0.5 0.3125 \n-0.421875 -0.5 0.359375 \n-0.4375 -0.5 0.359375 \n-0.4375 -0.5 0.328125 \n-0.421875 -0.5 0.3125 \n0.390625 -0.5 0.421875 \n0.390625 -0.5 0.4375 \n0.421875 -0.5 0.390625 \n0.4375 -0.5 0.390625 \n0.4375 -0.5 0.421875 \n0.421875 -0.5 0.4375 \n0.140625 -0.5 0.421875 \n0.140625 -0.5 0.4375 \n0.171875 -0.5 0.390625 \n0.1875 -0.5 0.390625 \n0.1875 -0.5 0.421875 \n0.171875 -0.5 0.4375 \n0.390625 -0.5 0.171875 \n0.390625 -0.5 0.1875 \n0.421875 -0.5 0.140625 \n0.4375 -0.5 0.140625 \n0.4375 -0.5 0.171875 \n0.421875 -0.5 0.1875 \n-0.109375 -0.5 0.421875 \n-0.109375 -0.5 0.4375 \n-0.078125 -0.5 0.390625 \n-0.0625 -0.5 0.390625 \n-0.0625 -0.5 0.421875 \n-0.078125 -0.5 0.4375 \n-0.359375 -0.5 0.421875 \n-0.359375 -0.5 0.4375 \n-0.328125 -0.5 0.390625 \n-0.3125 -0.5 0.390625 \n-0.3125 -0.5 0.421875 \n-0.328125 -0.5 0.4375 \n-0.109375 -0.5 0.171875 \n-0.109375 -0.5 0.1875 \n-0.078125 -0.5 0.140625 \n-0.0625 -0.5 0.140625 \n-0.0625 -0.5 0.171875 \n-0.078125 -0.5 0.1875 \n0.390625 -0.5 -0.078125 \n0.390625 -0.5 -0.0625 \n0.421875 -0.5 -0.109375 \n0.4375 -0.5 -0.109375 \n0.4375 -0.5 -0.078125 \n0.421875 -0.5 -0.0625 \n0.140625 -0.5 -0.078125 \n0.140625 -0.5 -0.0625 \n0.171875 -0.5 -0.109375 \n0.1875 -0.5 -0.109375 \n0.1875 -0.5 -0.078125 \n0.171875 -0.5 -0.0625 \n0.390625 -0.5 -0.328125 \n0.390625 -0.5 -0.3125 \n0.421875 -0.5 -0.359375 \n0.4375 -0.5 -0.359375 \n0.4375 -0.5 -0.328125 \n0.421875 -0.5 -0.3125 \n-0.5 -0.421875 -0.390625 \n-0.5 -0.4375 -0.390625 \n-0.5 -0.390625 -0.421875 \n-0.5 -0.390625 -0.4375 \n-0.5 -0.421875 -0.4375 \n-0.5 -0.4375 -0.421875 \n-0.5 -0.421875 -0.140625 \n-0.5 -0.4375 -0.140625 \n-0.5 -0.390625 -0.171875 \n-0.5 -0.390625 -0.1875 \n-0.5 -0.421875 -0.1875 \n-0.5 -0.4375 -0.171875 \n-0.5 -0.171875 -0.390625 \n-0.5 -0.1875 -0.390625 \n-0.5 -0.140625 -0.421875 \n-0.5 -0.140625 -0.4375 \n-0.5 -0.171875 -0.4375 \n-0.5 -0.1875 -0.421875 \n-0.5 -0.421875 0.109375 \n-0.5 -0.4375 0.109375 \n-0.5 -0.390625 0.078125 \n-0.5 -0.390625 0.0625 \n-0.5 -0.421875 0.0625 \n-0.5 -0.4375 0.078125 \n-0.5 -0.421875 0.359375 \n-0.5 -0.4375 0.359375 \n-0.5 -0.390625 0.328125 \n-0.5 -0.390625 0.3125 \n-0.5 -0.421875 0.3125 \n-0.5 -0.4375 0.328125 \n-0.5 -0.171875 0.109375 \n-0.5 -0.1875 0.109375 \n-0.5 -0.140625 0.078125 \n-0.5 -0.140625 0.0625 \n-0.5 -0.171875 0.0625 \n-0.5 -0.1875 0.078125 \n-0.5 0.078125 -0.390625 \n-0.5 0.0625 -0.390625 \n-0.5 0.109375 -0.421875 \n-0.5 0.109375 -0.4375 \n-0.5 0.078125 -0.4375 \n-0.5 0.0625 -0.421875 \n-0.5 0.078125 -0.140625 \n-0.5 0.0625 -0.140625 \n-0.5 0.109375 -0.171875 \n-0.5 0.109375 -0.1875 \n-0.5 0.078125 -0.1875 \n-0.5 0.0625 -0.171875 \n-0.5 0.328125 -0.390625 \n-0.5 0.3125 -0.390625 \n-0.5 0.359375 -0.421875 \n-0.5 0.359375 -0.4375 \n-0.5 0.328125 -0.4375 \n-0.5 0.3125 -0.421875 \n-0.5 0.421875 0.390625 \n-0.5 0.4375 0.390625 \n-0.5 0.390625 0.421875 \n-0.5 0.390625 0.4375 \n-0.5 0.421875 0.4375 \n-0.5 0.4375 0.421875 \n-0.5 0.421875 0.140625 \n-0.5 0.4375 0.140625 \n-0.5 0.390625 0.171875 \n-0.5 0.390625 0.1875 \n-0.5 0.421875 0.1875 \n-0.5 0.4375 0.171875 \n-0.5 0.171875 0.390625 \n-0.5 0.1875 0.390625 \n-0.5 0.140625 0.421875 \n-0.5 0.140625 0.4375 \n-0.5 0.171875 0.4375 \n-0.5 0.1875 0.421875 \n-0.5 0.421875 -0.109375 \n-0.5 0.4375 -0.109375 \n-0.5 0.390625 -0.078125 \n-0.5 0.390625 -0.0625 \n-0.5 0.421875 -0.0625 \n-0.5 0.4375 -0.078125 \n-0.5 0.421875 -0.359375 \n-0.5 0.4375 -0.359375 \n-0.5 0.390625 -0.328125 \n-0.5 0.390625 -0.3125 \n-0.5 0.421875 -0.3125 \n-0.5 0.4375 -0.328125 \n-0.5 0.171875 -0.109375 \n-0.5 0.1875 -0.109375 \n-0.5 0.140625 -0.078125 \n-0.5 0.140625 -0.0625 \n-0.5 0.171875 -0.0625 \n-0.5 0.1875 -0.078125 \n-0.5 -0.078125 0.390625 \n-0.5 -0.0625 0.390625 \n-0.5 -0.109375 0.421875 \n-0.5 -0.109375 0.4375 \n-0.5 -0.078125 0.4375 \n-0.5 -0.0625 0.421875 \n-0.5 -0.078125 0.140625 \n-0.5 -0.0625 0.140625 \n-0.5 -0.109375 0.171875 \n-0.5 -0.109375 0.1875 \n-0.5 -0.078125 0.1875 \n-0.5 -0.0625 0.171875 \n-0.5 -0.328125 0.390625 \n-0.5 -0.3125 0.390625 \n-0.5 -0.359375 0.421875 \n-0.5 -0.359375 0.4375 \n-0.5 -0.328125 0.4375 \n-0.5 -0.3125 0.421875 \n0.078125 0.1875 0.5 \n0.0625 0.203125 0.5 \n0.109375 0.1875 0.5 \n0.109375 0.203125 0.5 \n0.078125 0.234375 0.5 \n0.0625 0.234375 0.5 \n0.203125 0.0625 0.5 \n0.1875 0.078125 0.5 \n0.234375 0.0625 0.5 \n0.234375 0.078125 0.5 \n0.203125 0.109375 0.5 \n0.1875 0.109375 0.5 \n0.203125 0.1875 0.5 \n0.1875 0.203125 0.5 \n0.234375 0.1875 0.5 \n0.234375 0.203125 0.5 \n0.203125 0.234375 0.5 \n0.1875 0.234375 0.5 \n-0.078125 -0.1875 0.5 \n-0.0625 -0.203125 0.5 \n-0.109375 -0.1875 0.5 \n-0.109375 -0.203125 0.5 \n-0.078125 -0.234375 0.5 \n-0.0625 -0.234375 0.5 \n-0.203125 -0.0625 0.5 \n-0.1875 -0.078125 0.5 \n-0.234375 -0.0625 0.5 \n-0.234375 -0.078125 0.5 \n-0.203125 -0.109375 0.5 \n-0.1875 -0.109375 0.5 \n-0.203125 -0.1875 0.5 \n-0.1875 -0.203125 0.5 \n-0.234375 -0.1875 0.5 \n-0.234375 -0.203125 0.5 \n-0.203125 -0.234375 0.5 \n-0.1875 -0.234375 0.5 \n0.5 0.078125 0.1875 \n0.5 0.0625 0.203125 \n0.5 0.109375 0.1875 \n0.5 0.109375 0.203125 \n0.5 0.078125 0.234375 \n0.5 0.0625 0.234375 \n0.5 0.203125 0.0625 \n0.5 0.1875 0.078125 \n0.5 0.234375 0.0625 \n0.5 0.234375 0.078125 \n0.5 0.203125 0.109375 \n0.5 0.1875 0.109375 \n0.5 0.203125 0.1875 \n0.5 0.1875 0.203125 \n0.5 0.234375 0.1875 \n0.5 0.234375 0.203125 \n0.5 0.203125 0.234375 \n0.5 0.1875 0.234375 \n0.5 -0.078125 -0.1875 \n0.5 -0.0625 -0.203125 \n0.5 -0.109375 -0.1875 \n0.5 -0.109375 -0.203125 \n0.5 -0.078125 -0.234375 \n0.5 -0.0625 -0.234375 \n0.5 -0.203125 -0.0625 \n0.5 -0.1875 -0.078125 \n0.5 -0.234375 -0.0625 \n0.5 -0.234375 -0.078125 \n0.5 -0.203125 -0.109375 \n0.5 -0.1875 -0.109375 \n0.5 -0.203125 -0.1875 \n0.5 -0.1875 -0.203125 \n0.5 -0.234375 -0.1875 \n0.5 -0.234375 -0.203125 \n0.5 -0.203125 -0.234375 \n0.5 -0.1875 -0.234375 \n0.1875 0.5 0.078125 \n0.203125 0.5 0.0625 \n0.1875 0.5 0.109375 \n0.203125 0.5 0.109375 \n0.234375 0.5 0.078125 \n0.234375 0.5 0.0625 \n0.0625 0.5 0.203125 \n0.078125 0.5 0.1875 \n0.0625 0.5 0.234375 \n0.078125 0.5 0.234375 \n0.109375 0.5 0.203125 \n0.109375 0.5 0.1875 \n0.1875 0.5 0.203125 \n0.203125 0.5 0.1875 \n0.1875 0.5 0.234375 \n0.203125 0.5 0.234375 \n0.234375 0.5 0.203125 \n0.234375 0.5 0.1875 \n-0.1875 0.5 -0.078125 \n-0.203125 0.5 -0.0625 \n-0.1875 0.5 -0.109375 \n-0.203125 0.5 -0.109375 \n-0.234375 0.5 -0.078125 \n-0.234375 0.5 -0.0625 \n-0.0625 0.5 -0.203125 \n-0.078125 0.5 -0.1875 \n-0.0625 0.5 -0.234375 \n-0.078125 0.5 -0.234375 \n-0.109375 0.5 -0.203125 \n-0.109375 0.5 -0.1875 \n-0.1875 0.5 -0.203125 \n-0.203125 0.5 -0.1875 \n-0.1875 0.5 -0.234375 \n-0.203125 0.5 -0.234375 \n-0.234375 0.5 -0.203125 \n-0.234375 0.5 -0.1875 \n-0.1875 -0.078125 -0.5 \n-0.203125 -0.0625 -0.5 \n-0.1875 -0.109375 -0.5 \n-0.203125 -0.109375 -0.5 \n-0.234375 -0.078125 -0.5 \n-0.234375 -0.0625 -0.5 \n-0.0625 -0.203125 -0.5 \n-0.078125 -0.1875 -0.5 \n-0.0625 -0.234375 -0.5 \n-0.078125 -0.234375 -0.5 \n-0.109375 -0.203125 -0.5 \n-0.109375 -0.1875 -0.5 \n-0.1875 -0.203125 -0.5 \n-0.203125 -0.1875 -0.5 \n-0.1875 -0.234375 -0.5 \n-0.203125 -0.234375 -0.5 \n-0.234375 -0.203125 -0.5 \n-0.234375 -0.1875 -0.5 \n0.1875 0.078125 -0.5 \n0.203125 0.0625 -0.5 \n0.1875 0.109375 -0.5 \n0.203125 0.109375 -0.5 \n0.234375 0.078125 -0.5 \n0.234375 0.0625 -0.5 \n0.0625 0.203125 -0.5 \n0.078125 0.1875 -0.5 \n0.0625 0.234375 -0.5 \n0.078125 0.234375 -0.5 \n0.109375 0.203125 -0.5 \n0.109375 0.1875 -0.5 \n0.1875 0.203125 -0.5 \n0.203125 0.1875 -0.5 \n0.1875 0.234375 -0.5 \n0.203125 0.234375 -0.5 \n0.234375 0.203125 -0.5 \n0.234375 0.1875 -0.5 \n-0.078125 -0.5 -0.1875 \n-0.0625 -0.5 -0.203125 \n-0.109375 -0.5 -0.1875 \n-0.109375 -0.5 -0.203125 \n-0.078125 -0.5 -0.234375 \n-0.0625 -0.5 -0.234375 \n-0.203125 -0.5 -0.0625 \n-0.1875 -0.5 -0.078125 \n-0.234375 -0.5 -0.0625 \n-0.234375 -0.5 -0.078125 \n-0.203125 -0.5 -0.109375 \n-0.1875 -0.5 -0.109375 \n-0.203125 -0.5 -0.1875 \n-0.1875 -0.5 -0.203125 \n-0.234375 -0.5 -0.1875 \n-0.234375 -0.5 -0.203125 \n-0.203125 -0.5 -0.234375 \n-0.1875 -0.5 -0.234375 \n0.078125 -0.5 0.1875 \n0.0625 -0.5 0.203125 \n0.109375 -0.5 0.1875 \n0.109375 -0.5 0.203125 \n0.078125 -0.5 0.234375 \n0.0625 -0.5 0.234375 \n0.203125 -0.5 0.0625 \n0.1875 -0.5 0.078125 \n0.234375 -0.5 0.0625 \n0.234375 -0.5 0.078125 \n0.203125 -0.5 0.109375 \n0.1875 -0.5 0.109375 \n0.203125 -0.5 0.1875 \n0.1875 -0.5 0.203125 \n0.234375 -0.5 0.1875 \n0.234375 -0.5 0.203125 \n0.203125 -0.5 0.234375 \n0.1875 -0.5 0.234375 \n-0.5 -0.1875 -0.078125 \n-0.5 -0.203125 -0.0625 \n-0.5 -0.1875 -0.109375 \n-0.5 -0.203125 -0.109375 \n-0.5 -0.234375 -0.078125 \n-0.5 -0.234375 -0.0625 \n-0.5 -0.0625 -0.203125 \n-0.5 -0.078125 -0.1875 \n-0.5 -0.0625 -0.234375 \n-0.5 -0.078125 -0.234375 \n-0.5 -0.109375 -0.203125 \n-0.5 -0.109375 -0.1875 \n-0.5 -0.1875 -0.203125 \n-0.5 -0.203125 -0.1875 \n-0.5 -0.1875 -0.234375 \n-0.5 -0.203125 -0.234375 \n-0.5 -0.234375 -0.203125 \n-0.5 -0.234375 -0.1875 \n-0.5 0.1875 0.078125 \n-0.5 0.203125 0.0625 \n-0.5 0.1875 0.109375 \n-0.5 0.203125 0.109375 \n-0.5 0.234375 0.078125 \n-0.5 0.234375 0.0625 \n-0.5 0.0625 0.203125 \n-0.5 0.078125 0.1875 \n-0.5 0.0625 0.234375 \n-0.5 0.078125 0.234375 \n-0.5 0.109375 0.203125 \n-0.5 0.109375 0.1875 \n-0.5 0.1875 0.203125 \n-0.5 0.203125 0.1875 \n-0.5 0.1875 0.234375 \n-0.5 0.203125 0.234375 \n-0.5 0.234375 0.203125 \n-0.5 0.234375 0.1875 \n0.265625 0.421875 0.5 \n0.265625 0.4375 0.5 \n0.296875 0.390625 0.5 \n0.3125 0.390625 0.5 \n0.3125 0.421875 0.5 \n0.296875 0.4375 0.5 \n0.265625 0.296875 0.5 \n0.265625 0.3125 0.5 \n0.296875 0.265625 0.5 \n0.3125 0.265625 0.5 \n0.3125 0.296875 0.5 \n0.296875 0.3125 0.5 \n0.390625 0.296875 0.5 \n0.390625 0.3125 0.5 \n0.421875 0.265625 0.5 \n0.4375 0.265625 0.5 \n0.4375 0.296875 0.5 \n0.421875 0.3125 0.5 \n-0.234375 0.421875 0.5 \n-0.234375 0.4375 0.5 \n-0.203125 0.390625 0.5 \n-0.1875 0.390625 0.5 \n-0.1875 0.421875 0.5 \n-0.203125 0.4375 0.5 \n-0.234375 0.296875 0.5 \n-0.234375 0.3125 0.5 \n-0.203125 0.265625 0.5 \n-0.1875 0.265625 0.5 \n-0.1875 0.296875 0.5 \n-0.203125 0.3125 0.5 \n-0.109375 0.296875 0.5 \n-0.109375 0.3125 0.5 \n-0.078125 0.265625 0.5 \n-0.0625 0.265625 0.5 \n-0.0625 0.296875 0.5 \n-0.078125 0.3125 0.5 \n0.265625 -0.078125 0.5 \n0.265625 -0.0625 0.5 \n0.296875 -0.109375 0.5 \n0.3125 -0.109375 0.5 \n0.3125 -0.078125 0.5 \n0.296875 -0.0625 0.5 \n0.265625 -0.203125 0.5 \n0.265625 -0.1875 0.5 \n0.296875 -0.234375 0.5 \n0.3125 -0.234375 0.5 \n0.3125 -0.203125 0.5 \n0.296875 -0.1875 0.5 \n0.390625 -0.203125 0.5 \n0.390625 -0.1875 0.5 \n0.421875 -0.234375 0.5 \n0.4375 -0.234375 0.5 \n0.4375 -0.203125 0.5 \n0.421875 -0.1875 0.5 \n-0.265625 -0.421875 0.5 \n-0.265625 -0.4375 0.5 \n-0.296875 -0.390625 0.5 \n-0.3125 -0.390625 0.5 \n-0.3125 -0.421875 0.5 \n-0.296875 -0.4375 0.5 \n-0.265625 -0.296875 0.5 \n-0.265625 -0.3125 0.5 \n-0.296875 -0.265625 0.5 \n-0.3125 -0.265625 0.5 \n-0.3125 -0.296875 0.5 \n-0.296875 -0.3125 0.5 \n-0.390625 -0.296875 0.5 \n-0.390625 -0.3125 0.5 \n-0.421875 -0.265625 0.5 \n-0.4375 -0.265625 0.5 \n-0.4375 -0.296875 0.5 \n-0.421875 -0.3125 0.5 \n0.234375 -0.421875 0.5 \n0.234375 -0.4375 0.5 \n0.203125 -0.390625 0.5 \n0.1875 -0.390625 0.5 \n0.1875 -0.421875 0.5 \n0.203125 -0.4375 0.5 \n0.234375 -0.296875 0.5 \n0.234375 -0.3125 0.5 \n0.203125 -0.265625 0.5 \n0.1875 -0.265625 0.5 \n0.1875 -0.296875 0.5 \n0.203125 -0.3125 0.5 \n0.109375 -0.296875 0.5 \n0.109375 -0.3125 0.5 \n0.078125 -0.265625 0.5 \n0.0625 -0.265625 0.5 \n0.0625 -0.296875 0.5 \n0.078125 -0.3125 0.5 \n-0.265625 0.078125 0.5 \n-0.265625 0.0625 0.5 \n-0.296875 0.109375 0.5 \n-0.3125 0.109375 0.5 \n-0.3125 0.078125 0.5 \n-0.296875 0.0625 0.5 \n-0.265625 0.203125 0.5 \n-0.265625 0.1875 0.5 \n-0.296875 0.234375 0.5 \n-0.3125 0.234375 0.5 \n-0.3125 0.203125 0.5 \n-0.296875 0.1875 0.5 \n-0.390625 0.203125 0.5 \n-0.390625 0.1875 0.5 \n-0.421875 0.234375 0.5 \n-0.4375 0.234375 0.5 \n-0.4375 0.203125 0.5 \n-0.421875 0.1875 0.5 \n0.5 0.265625 0.421875 \n0.5 0.265625 0.4375 \n0.5 0.296875 0.390625 \n0.5 0.3125 0.390625 \n0.5 0.3125 0.421875 \n0.5 0.296875 0.4375 \n0.5 0.265625 0.296875 \n0.5 0.265625 0.3125 \n0.5 0.296875 0.265625 \n0.5 0.3125 0.265625 \n0.5 0.3125 0.296875 \n0.5 0.296875 0.3125 \n0.5 0.390625 0.296875 \n0.5 0.390625 0.3125 \n0.5 0.421875 0.265625 \n0.5 0.4375 0.265625 \n0.5 0.4375 0.296875 \n0.5 0.421875 0.3125 \n0.5 -0.234375 0.421875 \n0.5 -0.234375 0.4375 \n0.5 -0.203125 0.390625 \n0.5 -0.1875 0.390625 \n0.5 -0.1875 0.421875 \n0.5 -0.203125 0.4375 \n0.5 -0.234375 0.296875 \n0.5 -0.234375 0.3125 \n0.5 -0.203125 0.265625 \n0.5 -0.1875 0.265625 \n0.5 -0.1875 0.296875 \n0.5 -0.203125 0.3125 \n0.5 -0.109375 0.296875 \n0.5 -0.109375 0.3125 \n0.5 -0.078125 0.265625 \n0.5 -0.0625 0.265625 \n0.5 -0.0625 0.296875 \n0.5 -0.078125 0.3125 \n0.5 0.265625 -0.078125 \n0.5 0.265625 -0.0625 \n0.5 0.296875 -0.109375 \n0.5 0.3125 -0.109375 \n0.5 0.3125 -0.078125 \n0.5 0.296875 -0.0625 \n0.5 0.265625 -0.203125 \n0.5 0.265625 -0.1875 \n0.5 0.296875 -0.234375 \n0.5 0.3125 -0.234375 \n0.5 0.3125 -0.203125 \n0.5 0.296875 -0.1875 \n0.5 0.390625 -0.203125 \n0.5 0.390625 -0.1875 \n0.5 0.421875 -0.234375 \n0.5 0.4375 -0.234375 \n0.5 0.4375 -0.203125 \n0.5 0.421875 -0.1875 \n0.5 -0.265625 -0.421875 \n0.5 -0.265625 -0.4375 \n0.5 -0.296875 -0.390625 \n0.5 -0.3125 -0.390625 \n0.5 -0.3125 -0.421875 \n0.5 -0.296875 -0.4375 \n0.5 -0.265625 -0.296875 \n0.5 -0.265625 -0.3125 \n0.5 -0.296875 -0.265625 \n0.5 -0.3125 -0.265625 \n0.5 -0.3125 -0.296875 \n0.5 -0.296875 -0.3125 \n0.5 -0.390625 -0.296875 \n0.5 -0.390625 -0.3125 \n0.5 -0.421875 -0.265625 \n0.5 -0.4375 -0.265625 \n0.5 -0.4375 -0.296875 \n0.5 -0.421875 -0.3125 \n0.5 0.234375 -0.421875 \n0.5 0.234375 -0.4375 \n0.5 0.203125 -0.390625 \n0.5 0.1875 -0.390625 \n0.5 0.1875 -0.421875 \n0.5 0.203125 -0.4375 \n0.5 0.234375 -0.296875 \n0.5 0.234375 -0.3125 \n0.5 0.203125 -0.265625 \n0.5 0.1875 -0.265625 \n0.5 0.1875 -0.296875 \n0.5 0.203125 -0.3125 \n0.5 0.109375 -0.296875 \n0.5 0.109375 -0.3125 \n0.5 0.078125 -0.265625 \n0.5 0.0625 -0.265625 \n0.5 0.0625 -0.296875 \n0.5 0.078125 -0.3125 \n0.5 -0.265625 0.078125 \n0.5 -0.265625 0.0625 \n0.5 -0.296875 0.109375 \n0.5 -0.3125 0.109375 \n0.5 -0.3125 0.078125 \n0.5 -0.296875 0.0625 \n0.5 -0.265625 0.203125 \n0.5 -0.265625 0.1875 \n0.5 -0.296875 0.234375 \n0.5 -0.3125 0.234375 \n0.5 -0.3125 0.203125 \n0.5 -0.296875 0.1875 \n0.5 -0.390625 0.203125 \n0.5 -0.390625 0.1875 \n0.5 -0.421875 0.234375 \n0.5 -0.4375 0.234375 \n0.5 -0.4375 0.203125 \n0.5 -0.421875 0.1875 \n0.421875 0.5 0.265625 \n0.4375 0.5 0.265625 \n0.390625 0.5 0.296875 \n0.390625 0.5 0.3125 \n0.421875 0.5 0.3125 \n0.4375 0.5 0.296875 \n0.296875 0.5 0.265625 \n0.3125 0.5 0.265625 \n0.265625 0.5 0.296875 \n0.265625 0.5 0.3125 \n0.296875 0.5 0.3125 \n0.3125 0.5 0.296875 \n0.296875 0.5 0.390625 \n0.3125 0.5 0.390625 \n0.265625 0.5 0.421875 \n0.265625 0.5 0.4375 \n0.296875 0.5 0.4375 \n0.3125 0.5 0.421875 \n0.421875 0.5 -0.234375 \n0.4375 0.5 -0.234375 \n0.390625 0.5 -0.203125 \n0.390625 0.5 -0.1875 \n0.421875 0.5 -0.1875 \n0.4375 0.5 -0.203125 \n0.296875 0.5 -0.234375 \n0.3125 0.5 -0.234375 \n0.265625 0.5 -0.203125 \n0.265625 0.5 -0.1875 \n0.296875 0.5 -0.1875 \n0.3125 0.5 -0.203125 \n0.296875 0.5 -0.109375 \n0.3125 0.5 -0.109375 \n0.265625 0.5 -0.078125 \n0.265625 0.5 -0.0625 \n0.296875 0.5 -0.0625 \n0.3125 0.5 -0.078125 \n-0.078125 0.5 0.265625 \n-0.0625 0.5 0.265625 \n-0.109375 0.5 0.296875 \n-0.109375 0.5 0.3125 \n-0.078125 0.5 0.3125 \n-0.0625 0.5 0.296875 \n-0.203125 0.5 0.265625 \n-0.1875 0.5 0.265625 \n-0.234375 0.5 0.296875 \n-0.234375 0.5 0.3125 \n-0.203125 0.5 0.3125 \n-0.1875 0.5 0.296875 \n-0.203125 0.5 0.390625 \n-0.1875 0.5 0.390625 \n-0.234375 0.5 0.421875 \n-0.234375 0.5 0.4375 \n-0.203125 0.5 0.4375 \n-0.1875 0.5 0.421875 \n-0.421875 0.5 -0.265625 \n-0.4375 0.5 -0.265625 \n-0.390625 0.5 -0.296875 \n-0.390625 0.5 -0.3125 \n-0.421875 0.5 -0.3125 \n-0.4375 0.5 -0.296875 \n-0.296875 0.5 -0.265625 \n-0.3125 0.5 -0.265625 \n-0.265625 0.5 -0.296875 \n-0.265625 0.5 -0.3125 \n-0.296875 0.5 -0.3125 \n-0.3125 0.5 -0.296875 \n-0.296875 0.5 -0.390625 \n-0.3125 0.5 -0.390625 \n-0.265625 0.5 -0.421875 \n-0.265625 0.5 -0.4375 \n-0.296875 0.5 -0.4375 \n-0.3125 0.5 -0.421875 \n-0.421875 0.5 0.234375 \n-0.4375 0.5 0.234375 \n-0.390625 0.5 0.203125 \n-0.390625 0.5 0.1875 \n-0.421875 0.5 0.1875 \n-0.4375 0.5 0.203125 \n-0.296875 0.5 0.234375 \n-0.3125 0.5 0.234375 \n-0.265625 0.5 0.203125 \n-0.265625 0.5 0.1875 \n-0.296875 0.5 0.1875 \n-0.3125 0.5 0.203125 \n-0.296875 0.5 0.109375 \n-0.3125 0.5 0.109375 \n-0.265625 0.5 0.078125 \n-0.265625 0.5 0.0625 \n-0.296875 0.5 0.0625 \n-0.3125 0.5 0.078125 \n0.078125 0.5 -0.265625 \n0.0625 0.5 -0.265625 \n0.109375 0.5 -0.296875 \n0.109375 0.5 -0.3125 \n0.078125 0.5 -0.3125 \n0.0625 0.5 -0.296875 \n0.203125 0.5 -0.265625 \n0.1875 0.5 -0.265625 \n0.234375 0.5 -0.296875 \n0.234375 0.5 -0.3125 \n0.203125 0.5 -0.3125 \n0.1875 0.5 -0.296875 \n0.203125 0.5 -0.390625 \n0.1875 0.5 -0.390625 \n0.234375 0.5 -0.421875 \n0.234375 0.5 -0.4375 \n0.203125 0.5 -0.4375 \n0.1875 0.5 -0.421875 \n-0.421875 -0.265625 -0.5 \n-0.4375 -0.265625 -0.5 \n-0.390625 -0.296875 -0.5 \n-0.390625 -0.3125 -0.5 \n-0.421875 -0.3125 -0.5 \n-0.4375 -0.296875 -0.5 \n-0.296875 -0.265625 -0.5 \n-0.3125 -0.265625 -0.5 \n-0.265625 -0.296875 -0.5 \n-0.265625 -0.3125 -0.5 \n-0.296875 -0.3125 -0.5 \n-0.3125 -0.296875 -0.5 \n-0.296875 -0.390625 -0.5 \n-0.3125 -0.390625 -0.5 \n-0.265625 -0.421875 -0.5 \n-0.265625 -0.4375 -0.5 \n-0.296875 -0.4375 -0.5 \n-0.3125 -0.421875 -0.5 \n-0.421875 0.234375 -0.5 \n-0.4375 0.234375 -0.5 \n-0.390625 0.203125 -0.5 \n-0.390625 0.1875 -0.5 \n-0.421875 0.1875 -0.5 \n-0.4375 0.203125 -0.5 \n-0.296875 0.234375 -0.5 \n-0.3125 0.234375 -0.5 \n-0.265625 0.203125 -0.5 \n-0.265625 0.1875 -0.5 \n-0.296875 0.1875 -0.5 \n-0.3125 0.203125 -0.5 \n-0.296875 0.109375 -0.5 \n-0.3125 0.109375 -0.5 \n-0.265625 0.078125 -0.5 \n-0.265625 0.0625 -0.5 \n-0.296875 0.0625 -0.5 \n-0.3125 0.078125 -0.5 \n0.078125 -0.265625 -0.5 \n0.0625 -0.265625 -0.5 \n0.109375 -0.296875 -0.5 \n0.109375 -0.3125 -0.5 \n0.078125 -0.3125 -0.5 \n0.0625 -0.296875 -0.5 \n0.203125 -0.265625 -0.5 \n0.1875 -0.265625 -0.5 \n0.234375 -0.296875 -0.5 \n0.234375 -0.3125 -0.5 \n0.203125 -0.3125 -0.5 \n0.1875 -0.296875 -0.5 \n0.203125 -0.390625 -0.5 \n0.1875 -0.390625 -0.5 \n0.234375 -0.421875 -0.5 \n0.234375 -0.4375 -0.5 \n0.203125 -0.4375 -0.5 \n0.1875 -0.421875 -0.5 \n0.421875 0.265625 -0.5 \n0.4375 0.265625 -0.5 \n0.390625 0.296875 -0.5 \n0.390625 0.3125 -0.5 \n0.421875 0.3125 -0.5 \n0.4375 0.296875 -0.5 \n0.296875 0.265625 -0.5 \n0.3125 0.265625 -0.5 \n0.265625 0.296875 -0.5 \n0.265625 0.3125 -0.5 \n0.296875 0.3125 -0.5 \n0.3125 0.296875 -0.5 \n0.296875 0.390625 -0.5 \n0.3125 0.390625 -0.5 \n0.265625 0.421875 -0.5 \n0.265625 0.4375 -0.5 \n0.296875 0.4375 -0.5 \n0.3125 0.421875 -0.5 \n0.421875 -0.234375 -0.5 \n0.4375 -0.234375 -0.5 \n0.390625 -0.203125 -0.5 \n0.390625 -0.1875 -0.5 \n0.421875 -0.1875 -0.5 \n0.4375 -0.203125 -0.5 \n0.296875 -0.234375 -0.5 \n0.3125 -0.234375 -0.5 \n0.265625 -0.203125 -0.5 \n0.265625 -0.1875 -0.5 \n0.296875 -0.1875 -0.5 \n0.3125 -0.203125 -0.5 \n0.296875 -0.109375 -0.5 \n0.3125 -0.109375 -0.5 \n0.265625 -0.078125 -0.5 \n0.265625 -0.0625 -0.5 \n0.296875 -0.0625 -0.5 \n0.3125 -0.078125 -0.5 \n-0.078125 0.265625 -0.5 \n-0.0625 0.265625 -0.5 \n-0.109375 0.296875 -0.5 \n-0.109375 0.3125 -0.5 \n-0.078125 0.3125 -0.5 \n-0.0625 0.296875 -0.5 \n-0.203125 0.265625 -0.5 \n-0.1875 0.265625 -0.5 \n-0.234375 0.296875 -0.5 \n-0.234375 0.3125 -0.5 \n-0.203125 0.3125 -0.5 \n-0.1875 0.296875 -0.5 \n-0.203125 0.390625 -0.5 \n-0.1875 0.390625 -0.5 \n-0.234375 0.421875 -0.5 \n-0.234375 0.4375 -0.5 \n-0.203125 0.4375 -0.5 \n-0.1875 0.421875 -0.5 \n-0.265625 -0.5 -0.421875 \n-0.265625 -0.5 -0.4375 \n-0.296875 -0.5 -0.390625 \n-0.3125 -0.5 -0.390625 \n-0.3125 -0.5 -0.421875 \n-0.296875 -0.5 -0.4375 \n-0.265625 -0.5 -0.296875 \n-0.265625 -0.5 -0.3125 \n-0.296875 -0.5 -0.265625 \n-0.3125 -0.5 -0.265625 \n-0.3125 -0.5 -0.296875 \n-0.296875 -0.5 -0.3125 \n-0.390625 -0.5 -0.296875 \n-0.390625 -0.5 -0.3125 \n-0.421875 -0.5 -0.265625 \n-0.4375 -0.5 -0.265625 \n-0.4375 -0.5 -0.296875 \n-0.421875 -0.5 -0.3125 \n0.234375 -0.5 -0.421875 \n0.234375 -0.5 -0.4375 \n0.203125 -0.5 -0.390625 \n0.1875 -0.5 -0.390625 \n0.1875 -0.5 -0.421875 \n0.203125 -0.5 -0.4375 \n0.234375 -0.5 -0.296875 \n0.234375 -0.5 -0.3125 \n0.203125 -0.5 -0.265625 \n0.1875 -0.5 -0.265625 \n0.1875 -0.5 -0.296875 \n0.203125 -0.5 -0.3125 \n0.109375 -0.5 -0.296875 \n0.109375 -0.5 -0.3125 \n0.078125 -0.5 -0.265625 \n0.0625 -0.5 -0.265625 \n0.0625 -0.5 -0.296875 \n0.078125 -0.5 -0.3125 \n-0.265625 -0.5 0.078125 \n-0.265625 -0.5 0.0625 \n-0.296875 -0.5 0.109375 \n-0.3125 -0.5 0.109375 \n-0.3125 -0.5 0.078125 \n-0.296875 -0.5 0.0625 \n-0.265625 -0.5 0.203125 \n-0.265625 -0.5 0.1875 \n-0.296875 -0.5 0.234375 \n-0.3125 -0.5 0.234375 \n-0.3125 -0.5 0.203125 \n-0.296875 -0.5 0.1875 \n-0.390625 -0.5 0.203125 \n-0.390625 -0.5 0.1875 \n-0.421875 -0.5 0.234375 \n-0.4375 -0.5 0.234375 \n-0.4375 -0.5 0.203125 \n-0.421875 -0.5 0.1875 \n0.265625 -0.5 0.421875 \n0.265625 -0.5 0.4375 \n0.296875 -0.5 0.390625 \n0.3125 -0.5 0.390625 \n0.3125 -0.5 0.421875 \n0.296875 -0.5 0.4375 \n0.265625 -0.5 0.296875 \n0.265625 -0.5 0.3125 \n0.296875 -0.5 0.265625 \n0.3125 -0.5 0.265625 \n0.3125 -0.5 0.296875 \n0.296875 -0.5 0.3125 \n0.390625 -0.5 0.296875 \n0.390625 -0.5 0.3125 \n0.421875 -0.5 0.265625 \n0.4375 -0.5 0.265625 \n0.4375 -0.5 0.296875 \n0.421875 -0.5 0.3125 \n-0.234375 -0.5 0.421875 \n-0.234375 -0.5 0.4375 \n-0.203125 -0.5 0.390625 \n-0.1875 -0.5 0.390625 \n-0.1875 -0.5 0.421875 \n-0.203125 -0.5 0.4375 \n-0.234375 -0.5 0.296875 \n-0.234375 -0.5 0.3125 \n-0.203125 -0.5 0.265625 \n-0.1875 -0.5 0.265625 \n-0.1875 -0.5 0.296875 \n-0.203125 -0.5 0.3125 \n-0.109375 -0.5 0.296875 \n-0.109375 -0.5 0.3125 \n-0.078125 -0.5 0.265625 \n-0.0625 -0.5 0.265625 \n-0.0625 -0.5 0.296875 \n-0.078125 -0.5 0.3125 \n0.265625 -0.5 -0.078125 \n0.265625 -0.5 -0.0625 \n0.296875 -0.5 -0.109375 \n0.3125 -0.5 -0.109375 \n0.3125 -0.5 -0.078125 \n0.296875 -0.5 -0.0625 \n0.265625 -0.5 -0.203125 \n0.265625 -0.5 -0.1875 \n0.296875 -0.5 -0.234375 \n0.3125 -0.5 -0.234375 \n0.3125 -0.5 -0.203125 \n0.296875 -0.5 -0.1875 \n0.390625 -0.5 -0.203125 \n0.390625 -0.5 -0.1875 \n0.421875 -0.5 -0.234375 \n0.4375 -0.5 -0.234375 \n0.4375 -0.5 -0.203125 \n0.421875 -0.5 -0.1875 \n-0.5 -0.421875 -0.265625 \n-0.5 -0.4375 -0.265625 \n-0.5 -0.390625 -0.296875 \n-0.5 -0.390625 -0.3125 \n-0.5 -0.421875 -0.3125 \n-0.5 -0.4375 -0.296875 \n-0.5 -0.296875 -0.265625 \n-0.5 -0.3125 -0.265625 \n-0.5 -0.265625 -0.296875 \n-0.5 -0.265625 -0.3125 \n-0.5 -0.296875 -0.3125 \n-0.5 -0.3125 -0.296875 \n-0.5 -0.296875 -0.390625 \n-0.5 -0.3125 -0.390625 \n-0.5 -0.265625 -0.421875 \n-0.5 -0.265625 -0.4375 \n-0.5 -0.296875 -0.4375 \n-0.5 -0.3125 -0.421875 \n-0.5 -0.421875 0.234375 \n-0.5 -0.4375 0.234375 \n-0.5 -0.390625 0.203125 \n-0.5 -0.390625 0.1875 \n-0.5 -0.421875 0.1875 \n-0.5 -0.4375 0.203125 \n-0.5 -0.296875 0.234375 \n-0.5 -0.3125 0.234375 \n-0.5 -0.265625 0.203125 \n-0.5 -0.265625 0.1875 \n-0.5 -0.296875 0.1875 \n-0.5 -0.3125 0.203125 \n-0.5 -0.296875 0.109375 \n-0.5 -0.3125 0.109375 \n-0.5 -0.265625 0.078125 \n-0.5 -0.265625 0.0625 \n-0.5 -0.296875 0.0625 \n-0.5 -0.3125 0.078125 \n-0.5 0.078125 -0.265625 \n-0.5 0.0625 -0.265625 \n-0.5 0.109375 -0.296875 \n-0.5 0.109375 -0.3125 \n-0.5 0.078125 -0.3125 \n-0.5 0.0625 -0.296875 \n-0.5 0.203125 -0.265625 \n-0.5 0.1875 -0.265625 \n-0.5 0.234375 -0.296875 \n-0.5 0.234375 -0.3125 \n-0.5 0.203125 -0.3125 \n-0.5 0.1875 -0.296875 \n-0.5 0.203125 -0.390625 \n-0.5 0.1875 -0.390625 \n-0.5 0.234375 -0.421875 \n-0.5 0.234375 -0.4375 \n-0.5 0.203125 -0.4375 \n-0.5 0.1875 -0.421875 \n-0.5 0.421875 0.265625 \n-0.5 0.4375 0.265625 \n-0.5 0.390625 0.296875 \n-0.5 0.390625 0.3125 \n-0.5 0.421875 0.3125 \n-0.5 0.4375 0.296875 \n-0.5 0.296875 0.265625 \n-0.5 0.3125 0.265625 \n-0.5 0.265625 0.296875 \n-0.5 0.265625 0.3125 \n-0.5 0.296875 0.3125 \n-0.5 0.3125 0.296875 \n-0.5 0.296875 0.390625 \n-0.5 0.3125 0.390625 \n-0.5 0.265625 0.421875 \n-0.5 0.265625 0.4375 \n-0.5 0.296875 0.4375 \n-0.5 0.3125 0.421875 \n-0.5 0.421875 -0.234375 \n-0.5 0.4375 -0.234375 \n-0.5 0.390625 -0.203125 \n-0.5 0.390625 -0.1875 \n-0.5 0.421875 -0.1875 \n-0.5 0.4375 -0.203125 \n-0.5 0.296875 -0.234375 \n-0.5 0.3125 -0.234375 \n-0.5 0.265625 -0.203125 \n-0.5 0.265625 -0.1875 \n-0.5 0.296875 -0.1875 \n-0.5 0.3125 -0.203125 \n-0.5 0.296875 -0.109375 \n-0.5 0.3125 -0.109375 \n-0.5 0.265625 -0.078125 \n-0.5 0.265625 -0.0625 \n-0.5 0.296875 -0.0625 \n-0.5 0.3125 -0.078125 \n-0.5 -0.078125 0.265625 \n-0.5 -0.0625 0.265625 \n-0.5 -0.109375 0.296875 \n-0.5 -0.109375 0.3125 \n-0.5 -0.078125 0.3125 \n-0.5 -0.0625 0.296875 \n-0.5 -0.203125 0.265625 \n-0.5 -0.1875 0.265625 \n-0.5 -0.234375 0.296875 \n-0.5 -0.234375 0.3125 \n-0.5 -0.203125 0.3125 \n-0.5 -0.1875 0.296875 \n-0.5 -0.203125 0.390625 \n-0.5 -0.1875 0.390625 \n-0.5 -0.234375 0.421875 \n-0.5 -0.234375 0.4375 \n-0.5 -0.203125 0.4375 \n-0.5 -0.1875 0.421875 \n0.015625 0.421875 0.5 \n0.015625 0.4375 0.5 \n0.046875 0.390625 0.5 \n0.0625 0.390625 0.5 \n0.0625 0.421875 0.5 \n0.046875 0.4375 0.5 \n0.015625 0.296875 0.5 \n0.015625 0.3125 0.5 \n0.046875 0.265625 0.5 \n0.0625 0.265625 0.5 \n0.0625 0.296875 0.5 \n0.046875 0.3125 0.5 \n0.140625 0.296875 0.5 \n0.140625 0.3125 0.5 \n0.171875 0.265625 0.5 \n0.1875 0.265625 0.5 \n0.1875 0.296875 0.5 \n0.171875 0.3125 0.5 \n0.015625 0.171875 0.5 \n0.015625 0.1875 0.5 \n0.046875 0.140625 0.5 \n0.0625 0.140625 0.5 \n0.0625 0.171875 0.5 \n0.046875 0.1875 0.5 \n0.015625 0.046875 0.5 \n0.015625 0.0625 0.5 \n0.046875 0.015625 0.5 \n0.0625 0.015625 0.5 \n0.0625 0.046875 0.5 \n0.046875 0.0625 0.5 \n0.140625 0.046875 0.5 \n0.140625 0.0625 0.5 \n0.171875 0.015625 0.5 \n0.1875 0.015625 0.5 \n0.1875 0.046875 0.5 \n0.171875 0.0625 0.5 \n0.265625 0.171875 0.5 \n0.265625 0.1875 0.5 \n0.296875 0.140625 0.5 \n0.3125 0.140625 0.5 \n0.3125 0.171875 0.5 \n0.296875 0.1875 0.5 \n0.265625 0.046875 0.5 \n0.265625 0.0625 0.5 \n0.296875 0.015625 0.5 \n0.3125 0.015625 0.5 \n0.3125 0.046875 0.5 \n0.296875 0.0625 0.5 \n0.390625 0.046875 0.5 \n0.390625 0.0625 0.5 \n0.421875 0.015625 0.5 \n0.4375 0.015625 0.5 \n0.4375 0.046875 0.5 \n0.421875 0.0625 0.5 \n-0.015625 -0.421875 0.5 \n-0.015625 -0.4375 0.5 \n-0.046875 -0.390625 0.5 \n-0.0625 -0.390625 0.5 \n-0.0625 -0.421875 0.5 \n-0.046875 -0.4375 0.5 \n-0.015625 -0.296875 0.5 \n-0.015625 -0.3125 0.5 \n-0.046875 -0.265625 0.5 \n-0.0625 -0.265625 0.5 \n-0.0625 -0.296875 0.5 \n-0.046875 -0.3125 0.5 \n-0.140625 -0.296875 0.5 \n-0.140625 -0.3125 0.5 \n-0.171875 -0.265625 0.5 \n-0.1875 -0.265625 0.5 \n-0.1875 -0.296875 0.5 \n-0.171875 -0.3125 0.5 \n-0.015625 -0.171875 0.5 \n-0.015625 -0.1875 0.5 \n-0.046875 -0.140625 0.5 \n-0.0625 -0.140625 0.5 \n-0.0625 -0.171875 0.5 \n-0.046875 -0.1875 0.5 \n-0.015625 -0.046875 0.5 \n-0.015625 -0.0625 0.5 \n-0.046875 -0.015625 0.5 \n-0.0625 -0.015625 0.5 \n-0.0625 -0.046875 0.5 \n-0.046875 -0.0625 0.5 \n-0.140625 -0.046875 0.5 \n-0.140625 -0.0625 0.5 \n-0.171875 -0.015625 0.5 \n-0.1875 -0.015625 0.5 \n-0.1875 -0.046875 0.5 \n-0.171875 -0.0625 0.5 \n-0.265625 -0.171875 0.5 \n-0.265625 -0.1875 0.5 \n-0.296875 -0.140625 0.5 \n-0.3125 -0.140625 0.5 \n-0.3125 -0.171875 0.5 \n-0.296875 -0.1875 0.5 \n-0.265625 -0.046875 0.5 \n-0.265625 -0.0625 0.5 \n-0.296875 -0.015625 0.5 \n-0.3125 -0.015625 0.5 \n-0.3125 -0.046875 0.5 \n-0.296875 -0.0625 0.5 \n-0.390625 -0.046875 0.5 \n-0.390625 -0.0625 0.5 \n-0.421875 -0.015625 0.5 \n-0.4375 -0.015625 0.5 \n-0.4375 -0.046875 0.5 \n-0.421875 -0.0625 0.5 \n0.5 0.015625 0.421875 \n0.5 0.015625 0.4375 \n0.5 0.046875 0.390625 \n0.5 0.0625 0.390625 \n0.5 0.0625 0.421875 \n0.5 0.046875 0.4375 \n0.5 0.015625 0.296875 \n0.5 0.015625 0.3125 \n0.5 0.046875 0.265625 \n0.5 0.0625 0.265625 \n0.5 0.0625 0.296875 \n0.5 0.046875 0.3125 \n0.5 0.140625 0.296875 \n0.5 0.140625 0.3125 \n0.5 0.171875 0.265625 \n0.5 0.1875 0.265625 \n0.5 0.1875 0.296875 \n0.5 0.171875 0.3125 \n0.5 0.015625 0.171875 \n0.5 0.015625 0.1875 \n0.5 0.046875 0.140625 \n0.5 0.0625 0.140625 \n0.5 0.0625 0.171875 \n0.5 0.046875 0.1875 \n0.5 0.015625 0.046875 \n0.5 0.015625 0.0625 \n0.5 0.046875 0.015625 \n0.5 0.0625 0.015625 \n0.5 0.0625 0.046875 \n0.5 0.046875 0.0625 \n0.5 0.140625 0.046875 \n0.5 0.140625 0.0625 \n0.5 0.171875 0.015625 \n0.5 0.1875 0.015625 \n0.5 0.1875 0.046875 \n0.5 0.171875 0.0625 \n0.5 0.265625 0.171875 \n0.5 0.265625 0.1875 \n0.5 0.296875 0.140625 \n0.5 0.3125 0.140625 \n0.5 0.3125 0.171875 \n0.5 0.296875 0.1875 \n0.5 0.265625 0.046875 \n0.5 0.265625 0.0625 \n0.5 0.296875 0.015625 \n0.5 0.3125 0.015625 \n0.5 0.3125 0.046875 \n0.5 0.296875 0.0625 \n0.5 0.390625 0.046875 \n0.5 0.390625 0.0625 \n0.5 0.421875 0.015625 \n0.5 0.4375 0.015625 \n0.5 0.4375 0.046875 \n0.5 0.421875 0.0625 \n0.5 -0.015625 -0.421875 \n0.5 -0.015625 -0.4375 \n0.5 -0.046875 -0.390625 \n0.5 -0.0625 -0.390625 \n0.5 -0.0625 -0.421875 \n0.5 -0.046875 -0.4375 \n0.5 -0.015625 -0.296875 \n0.5 -0.015625 -0.3125 \n0.5 -0.046875 -0.265625 \n0.5 -0.0625 -0.265625 \n0.5 -0.0625 -0.296875 \n0.5 -0.046875 -0.3125 \n0.5 -0.140625 -0.296875 \n0.5 -0.140625 -0.3125 \n0.5 -0.171875 -0.265625 \n0.5 -0.1875 -0.265625 \n0.5 -0.1875 -0.296875 \n0.5 -0.171875 -0.3125 \n0.5 -0.015625 -0.171875 \n0.5 -0.015625 -0.1875 \n0.5 -0.046875 -0.140625 \n0.5 -0.0625 -0.140625 \n0.5 -0.0625 -0.171875 \n0.5 -0.046875 -0.1875 \n0.5 -0.015625 -0.046875 \n0.5 -0.015625 -0.0625 \n0.5 -0.046875 -0.015625 \n0.5 -0.0625 -0.015625 \n0.5 -0.0625 -0.046875 \n0.5 -0.046875 -0.0625 \n0.5 -0.140625 -0.046875 \n0.5 -0.140625 -0.0625 \n0.5 -0.171875 -0.015625 \n0.5 -0.1875 -0.015625 \n0.5 -0.1875 -0.046875 \n0.5 -0.171875 -0.0625 \n0.5 -0.265625 -0.171875 \n0.5 -0.265625 -0.1875 \n0.5 -0.296875 -0.140625 \n0.5 -0.3125 -0.140625 \n0.5 -0.3125 -0.171875 \n0.5 -0.296875 -0.1875 \n0.5 -0.265625 -0.046875 \n0.5 -0.265625 -0.0625 \n0.5 -0.296875 -0.015625 \n0.5 -0.3125 -0.015625 \n0.5 -0.3125 -0.046875 \n0.5 -0.296875 -0.0625 \n0.5 -0.390625 -0.046875 \n0.5 -0.390625 -0.0625 \n0.5 -0.421875 -0.015625 \n0.5 -0.4375 -0.015625 \n0.5 -0.4375 -0.046875 \n0.5 -0.421875 -0.0625 \n0.421875 0.5 0.015625 \n0.4375 0.5 0.015625 \n0.390625 0.5 0.046875 \n0.390625 0.5 0.0625 \n0.421875 0.5 0.0625 \n0.4375 0.5 0.046875 \n0.296875 0.5 0.015625 \n0.3125 0.5 0.015625 \n0.265625 0.5 0.046875 \n0.265625 0.5 0.0625 \n0.296875 0.5 0.0625 \n0.3125 0.5 0.046875 \n0.296875 0.5 0.140625 \n0.3125 0.5 0.140625 \n0.265625 0.5 0.171875 \n0.265625 0.5 0.1875 \n0.296875 0.5 0.1875 \n0.3125 0.5 0.171875 \n0.171875 0.5 0.015625 \n0.1875 0.5 0.015625 \n0.140625 0.5 0.046875 \n0.140625 0.5 0.0625 \n0.171875 0.5 0.0625 \n0.1875 0.5 0.046875 \n0.046875 0.5 0.015625 \n0.0625 0.5 0.015625 \n0.015625 0.5 0.046875 \n0.015625 0.5 0.0625 \n0.046875 0.5 0.0625 \n0.0625 0.5 0.046875 \n0.046875 0.5 0.140625 \n0.0625 0.5 0.140625 \n0.015625 0.5 0.171875 \n0.015625 0.5 0.1875 \n0.046875 0.5 0.1875 \n0.0625 0.5 0.171875 \n0.171875 0.5 0.265625 \n0.1875 0.5 0.265625 \n0.140625 0.5 0.296875 \n0.140625 0.5 0.3125 \n0.171875 0.5 0.3125 \n0.1875 0.5 0.296875 \n0.046875 0.5 0.265625 \n0.0625 0.5 0.265625 \n0.015625 0.5 0.296875 \n0.015625 0.5 0.3125 \n0.046875 0.5 0.3125 \n0.0625 0.5 0.296875 \n0.046875 0.5 0.390625 \n0.0625 0.5 0.390625 \n0.015625 0.5 0.421875 \n0.015625 0.5 0.4375 \n0.046875 0.5 0.4375 \n0.0625 0.5 0.421875 \n-0.421875 0.5 -0.015625 \n-0.4375 0.5 -0.015625 \n-0.390625 0.5 -0.046875 \n-0.390625 0.5 -0.0625 \n-0.421875 0.5 -0.0625 \n-0.4375 0.5 -0.046875 \n-0.296875 0.5 -0.015625 \n-0.3125 0.5 -0.015625 \n-0.265625 0.5 -0.046875 \n-0.265625 0.5 -0.0625 \n-0.296875 0.5 -0.0625 \n-0.3125 0.5 -0.046875 \n-0.296875 0.5 -0.140625 \n-0.3125 0.5 -0.140625 \n-0.265625 0.5 -0.171875 \n-0.265625 0.5 -0.1875 \n-0.296875 0.5 -0.1875 \n-0.3125 0.5 -0.171875 \n-0.171875 0.5 -0.015625 \n-0.1875 0.5 -0.015625 \n-0.140625 0.5 -0.046875 \n-0.140625 0.5 -0.0625 \n-0.171875 0.5 -0.0625 \n-0.1875 0.5 -0.046875 \n-0.046875 0.5 -0.015625 \n-0.0625 0.5 -0.015625 \n-0.015625 0.5 -0.046875 \n-0.015625 0.5 -0.0625 \n-0.046875 0.5 -0.0625 \n-0.0625 0.5 -0.046875 \n-0.046875 0.5 -0.140625 \n-0.0625 0.5 -0.140625 \n-0.015625 0.5 -0.171875 \n-0.015625 0.5 -0.1875 \n-0.046875 0.5 -0.1875 \n-0.0625 0.5 -0.171875 \n-0.171875 0.5 -0.265625 \n-0.1875 0.5 -0.265625 \n-0.140625 0.5 -0.296875 \n-0.140625 0.5 -0.3125 \n-0.171875 0.5 -0.3125 \n-0.1875 0.5 -0.296875 \n-0.046875 0.5 -0.265625 \n-0.0625 0.5 -0.265625 \n-0.015625 0.5 -0.296875 \n-0.015625 0.5 -0.3125 \n-0.046875 0.5 -0.3125 \n-0.0625 0.5 -0.296875 \n-0.046875 0.5 -0.390625 \n-0.0625 0.5 -0.390625 \n-0.015625 0.5 -0.421875 \n-0.015625 0.5 -0.4375 \n-0.046875 0.5 -0.4375 \n-0.0625 0.5 -0.421875 \n-0.421875 -0.015625 -0.5 \n-0.4375 -0.015625 -0.5 \n-0.390625 -0.046875 -0.5 \n-0.390625 -0.0625 -0.5 \n-0.421875 -0.0625 -0.5 \n-0.4375 -0.046875 -0.5 \n-0.296875 -0.015625 -0.5 \n-0.3125 -0.015625 -0.5 \n-0.265625 -0.046875 -0.5 \n-0.265625 -0.0625 -0.5 \n-0.296875 -0.0625 -0.5 \n-0.3125 -0.046875 -0.5 \n-0.296875 -0.140625 -0.5 \n-0.3125 -0.140625 -0.5 \n-0.265625 -0.171875 -0.5 \n-0.265625 -0.1875 -0.5 \n-0.296875 -0.1875 -0.5 \n-0.3125 -0.171875 -0.5 \n-0.171875 -0.015625 -0.5 \n-0.1875 -0.015625 -0.5 \n-0.140625 -0.046875 -0.5 \n-0.140625 -0.0625 -0.5 \n-0.171875 -0.0625 -0.5 \n-0.1875 -0.046875 -0.5 \n-0.046875 -0.015625 -0.5 \n-0.0625 -0.015625 -0.5 \n-0.015625 -0.046875 -0.5 \n-0.015625 -0.0625 -0.5 \n-0.046875 -0.0625 -0.5 \n-0.0625 -0.046875 -0.5 \n-0.046875 -0.140625 -0.5 \n-0.0625 -0.140625 -0.5 \n-0.015625 -0.171875 -0.5 \n-0.015625 -0.1875 -0.5 \n-0.046875 -0.1875 -0.5 \n-0.0625 -0.171875 -0.5 \n-0.171875 -0.265625 -0.5 \n-0.1875 -0.265625 -0.5 \n-0.140625 -0.296875 -0.5 \n-0.140625 -0.3125 -0.5 \n-0.171875 -0.3125 -0.5 \n-0.1875 -0.296875 -0.5 \n-0.046875 -0.265625 -0.5 \n-0.0625 -0.265625 -0.5 \n-0.015625 -0.296875 -0.5 \n-0.015625 -0.3125 -0.5 \n-0.046875 -0.3125 -0.5 \n-0.0625 -0.296875 -0.5 \n-0.046875 -0.390625 -0.5 \n-0.0625 -0.390625 -0.5 \n-0.015625 -0.421875 -0.5 \n-0.015625 -0.4375 -0.5 \n-0.046875 -0.4375 -0.5 \n-0.0625 -0.421875 -0.5 \n0.421875 0.015625 -0.5 \n0.4375 0.015625 -0.5 \n0.390625 0.046875 -0.5 \n0.390625 0.0625 -0.5 \n0.421875 0.0625 -0.5 \n0.4375 0.046875 -0.5 \n0.296875 0.015625 -0.5 \n0.3125 0.015625 -0.5 \n0.265625 0.046875 -0.5 \n0.265625 0.0625 -0.5 \n0.296875 0.0625 -0.5 \n0.3125 0.046875 -0.5 \n0.296875 0.140625 -0.5 \n0.3125 0.140625 -0.5 \n0.265625 0.171875 -0.5 \n0.265625 0.1875 -0.5 \n0.296875 0.1875 -0.5 \n0.3125 0.171875 -0.5 \n0.171875 0.015625 -0.5 \n0.1875 0.015625 -0.5 \n0.140625 0.046875 -0.5 \n0.140625 0.0625 -0.5 \n0.171875 0.0625 -0.5 \n0.1875 0.046875 -0.5 \n0.046875 0.015625 -0.5 \n0.0625 0.015625 -0.5 \n0.015625 0.046875 -0.5 \n0.015625 0.0625 -0.5 \n0.046875 0.0625 -0.5 \n0.0625 0.046875 -0.5 \n0.046875 0.140625 -0.5 \n0.0625 0.140625 -0.5 \n0.015625 0.171875 -0.5 \n0.015625 0.1875 -0.5 \n0.046875 0.1875 -0.5 \n0.0625 0.171875 -0.5 \n0.171875 0.265625 -0.5 \n0.1875 0.265625 -0.5 \n0.140625 0.296875 -0.5 \n0.140625 0.3125 -0.5 \n0.171875 0.3125 -0.5 \n0.1875 0.296875 -0.5 \n0.046875 0.265625 -0.5 \n0.0625 0.265625 -0.5 \n0.015625 0.296875 -0.5 \n0.015625 0.3125 -0.5 \n0.046875 0.3125 -0.5 \n0.0625 0.296875 -0.5 \n0.046875 0.390625 -0.5 \n0.0625 0.390625 -0.5 \n0.015625 0.421875 -0.5 \n0.015625 0.4375 -0.5 \n0.046875 0.4375 -0.5 \n0.0625 0.421875 -0.5 \n-0.015625 -0.5 -0.421875 \n-0.015625 -0.5 -0.4375 \n-0.046875 -0.5 -0.390625 \n-0.0625 -0.5 -0.390625 \n-0.0625 -0.5 -0.421875 \n-0.046875 -0.5 -0.4375 \n-0.015625 -0.5 -0.296875 \n-0.015625 -0.5 -0.3125 \n-0.046875 -0.5 -0.265625 \n-0.0625 -0.5 -0.265625 \n-0.0625 -0.5 -0.296875 \n-0.046875 -0.5 -0.3125 \n-0.140625 -0.5 -0.296875 \n-0.140625 -0.5 -0.3125 \n-0.171875 -0.5 -0.265625 \n-0.1875 -0.5 -0.265625 \n-0.1875 -0.5 -0.296875 \n-0.171875 -0.5 -0.3125 \n-0.015625 -0.5 -0.171875 \n-0.015625 -0.5 -0.1875 \n-0.046875 -0.5 -0.140625 \n-0.0625 -0.5 -0.140625 \n-0.0625 -0.5 -0.171875 \n-0.046875 -0.5 -0.1875 \n-0.015625 -0.5 -0.046875 \n-0.015625 -0.5 -0.0625 \n-0.046875 -0.5 -0.015625 \n-0.0625 -0.5 -0.015625 \n-0.0625 -0.5 -0.046875 \n-0.046875 -0.5 -0.0625 \n-0.140625 -0.5 -0.046875 \n-0.140625 -0.5 -0.0625 \n-0.171875 -0.5 -0.015625 \n-0.1875 -0.5 -0.015625 \n-0.1875 -0.5 -0.046875 \n-0.171875 -0.5 -0.0625 \n-0.265625 -0.5 -0.171875 \n-0.265625 -0.5 -0.1875 \n-0.296875 -0.5 -0.140625 \n-0.3125 -0.5 -0.140625 \n-0.3125 -0.5 -0.171875 \n-0.296875 -0.5 -0.1875 \n-0.265625 -0.5 -0.046875 \n-0.265625 -0.5 -0.0625 \n-0.296875 -0.5 -0.015625 \n-0.3125 -0.5 -0.015625 \n-0.3125 -0.5 -0.046875 \n-0.296875 -0.5 -0.0625 \n-0.390625 -0.5 -0.046875 \n-0.390625 -0.5 -0.0625 \n-0.421875 -0.5 -0.015625 \n-0.4375 -0.5 -0.015625 \n-0.4375 -0.5 -0.046875 \n-0.421875 -0.5 -0.0625 \n0.015625 -0.5 0.421875 \n0.015625 -0.5 0.4375 \n0.046875 -0.5 0.390625 \n0.0625 -0.5 0.390625 \n0.0625 -0.5 0.421875 \n0.046875 -0.5 0.4375 \n0.015625 -0.5 0.296875 \n0.015625 -0.5 0.3125 \n0.046875 -0.5 0.265625 \n0.0625 -0.5 0.265625 \n0.0625 -0.5 0.296875 \n0.046875 -0.5 0.3125 \n0.140625 -0.5 0.296875 \n0.140625 -0.5 0.3125 \n0.171875 -0.5 0.265625 \n0.1875 -0.5 0.265625 \n0.1875 -0.5 0.296875 \n0.171875 -0.5 0.3125 \n0.015625 -0.5 0.171875 \n0.015625 -0.5 0.1875 \n0.046875 -0.5 0.140625 \n0.0625 -0.5 0.140625 \n0.0625 -0.5 0.171875 \n0.046875 -0.5 0.1875 \n0.015625 -0.5 0.046875 \n0.015625 -0.5 0.0625 \n0.046875 -0.5 0.015625 \n0.0625 -0.5 0.015625 \n0.0625 -0.5 0.046875 \n0.046875 -0.5 0.0625 \n0.140625 -0.5 0.046875 \n0.140625 -0.5 0.0625 \n0.171875 -0.5 0.015625 \n0.1875 -0.5 0.015625 \n0.1875 -0.5 0.046875 \n0.171875 -0.5 0.0625 \n0.265625 -0.5 0.171875 \n0.265625 -0.5 0.1875 \n0.296875 -0.5 0.140625 \n0.3125 -0.5 0.140625 \n0.3125 -0.5 0.171875 \n0.296875 -0.5 0.1875 \n0.265625 -0.5 0.046875 \n0.265625 -0.5 0.0625 \n0.296875 -0.5 0.015625 \n0.3125 -0.5 0.015625 \n0.3125 -0.5 0.046875 \n0.296875 -0.5 0.0625 \n0.390625 -0.5 0.046875 \n0.390625 -0.5 0.0625 \n0.421875 -0.5 0.015625 \n0.4375 -0.5 0.015625 \n0.4375 -0.5 0.046875 \n0.421875 -0.5 0.0625 \n-0.5 -0.421875 -0.015625 \n-0.5 -0.4375 -0.015625 \n-0.5 -0.390625 -0.046875 \n-0.5 -0.390625 -0.0625 \n-0.5 -0.421875 -0.0625 \n-0.5 -0.4375 -0.046875 \n-0.5 -0.296875 -0.015625 \n-0.5 -0.3125 -0.015625 \n-0.5 -0.265625 -0.046875 \n-0.5 -0.265625 -0.0625 \n-0.5 -0.296875 -0.0625 \n-0.5 -0.3125 -0.046875 \n-0.5 -0.296875 -0.140625 \n-0.5 -0.3125 -0.140625 \n-0.5 -0.265625 -0.171875 \n-0.5 -0.265625 -0.1875 \n-0.5 -0.296875 -0.1875 \n-0.5 -0.3125 -0.171875 \n-0.5 -0.171875 -0.015625 \n-0.5 -0.1875 -0.015625 \n-0.5 -0.140625 -0.046875 \n-0.5 -0.140625 -0.0625 \n-0.5 -0.171875 -0.0625 \n-0.5 -0.1875 -0.046875 \n-0.5 -0.046875 -0.015625 \n-0.5 -0.0625 -0.015625 \n-0.5 -0.015625 -0.046875 \n-0.5 -0.015625 -0.0625 \n-0.5 -0.046875 -0.0625 \n-0.5 -0.0625 -0.046875 \n-0.5 -0.046875 -0.140625 \n-0.5 -0.0625 -0.140625 \n-0.5 -0.015625 -0.171875 \n-0.5 -0.015625 -0.1875 \n-0.5 -0.046875 -0.1875 \n-0.5 -0.0625 -0.171875 \n-0.5 -0.171875 -0.265625 \n-0.5 -0.1875 -0.265625 \n-0.5 -0.140625 -0.296875 \n-0.5 -0.140625 -0.3125 \n-0.5 -0.171875 -0.3125 \n-0.5 -0.1875 -0.296875 \n-0.5 -0.046875 -0.265625 \n-0.5 -0.0625 -0.265625 \n-0.5 -0.015625 -0.296875 \n-0.5 -0.015625 -0.3125 \n-0.5 -0.046875 -0.3125 \n-0.5 -0.0625 -0.296875 \n-0.5 -0.046875 -0.390625 \n-0.5 -0.0625 -0.390625 \n-0.5 -0.015625 -0.421875 \n-0.5 -0.015625 -0.4375 \n-0.5 -0.046875 -0.4375 \n-0.5 -0.0625 -0.421875 \n-0.5 0.421875 0.015625 \n-0.5 0.4375 0.015625 \n-0.5 0.390625 0.046875 \n-0.5 0.390625 0.0625 \n-0.5 0.421875 0.0625 \n-0.5 0.4375 0.046875 \n-0.5 0.296875 0.015625 \n-0.5 0.3125 0.015625 \n-0.5 0.265625 0.046875 \n-0.5 0.265625 0.0625 \n-0.5 0.296875 0.0625 \n-0.5 0.3125 0.046875 \n-0.5 0.296875 0.140625 \n-0.5 0.3125 0.140625 \n-0.5 0.265625 0.171875 \n-0.5 0.265625 0.1875 \n-0.5 0.296875 0.1875 \n-0.5 0.3125 0.171875 \n-0.5 0.171875 0.015625 \n-0.5 0.1875 0.015625 \n-0.5 0.140625 0.046875 \n-0.5 0.140625 0.0625 \n-0.5 0.171875 0.0625 \n-0.5 0.1875 0.046875 \n-0.5 0.046875 0.015625 \n-0.5 0.0625 0.015625 \n-0.5 0.015625 0.046875 \n-0.5 0.015625 0.0625 \n-0.5 0.046875 0.0625 \n-0.5 0.0625 0.046875 \n-0.5 0.046875 0.140625 \n-0.5 0.0625 0.140625 \n-0.5 0.015625 0.171875 \n-0.5 0.015625 0.1875 \n-0.5 0.046875 0.1875 \n-0.5 0.0625 0.171875 \n-0.5 0.171875 0.265625 \n-0.5 0.1875 0.265625 \n-0.5 0.140625 0.296875 \n-0.5 0.140625 0.3125 \n-0.5 0.171875 0.3125 \n-0.5 0.1875 0.296875 \n-0.5 0.046875 0.265625 \n-0.5 0.0625 0.265625 \n-0.5 0.015625 0.296875 \n-0.5 0.015625 0.3125 \n-0.5 0.046875 0.3125 \n-0.5 0.0625 0.296875 \n-0.5 0.046875 0.390625 \n-0.5 0.0625 0.390625 \n-0.5 0.015625 0.421875 \n-0.5 0.015625 0.4375 \n-0.5 0.046875 0.4375 \n-0.5 0.0625 0.421875 \n0.4375 0.484375 0.5 \n0.453125 0.484375 0.5 \n0.4375 0.453125 0.5 \n0.453125 0.4375 0.5 \n0.484375 0.4375 0.5 \n0.484375 0.453125 0.5 \n0.3125 0.484375 0.5 \n0.328125 0.484375 0.5 \n0.3125 0.453125 0.5 \n0.328125 0.4375 0.5 \n0.359375 0.4375 0.5 \n0.359375 0.453125 0.5 \n0.4375 0.359375 0.5 \n0.453125 0.359375 0.5 \n0.4375 0.328125 0.5 \n0.453125 0.3125 0.5 \n0.484375 0.3125 0.5 \n0.484375 0.328125 0.5 \n0.1875 0.484375 0.5 \n0.203125 0.484375 0.5 \n0.1875 0.453125 0.5 \n0.203125 0.4375 0.5 \n0.234375 0.4375 0.5 \n0.234375 0.453125 0.5 \n0.0625 0.484375 0.5 \n0.078125 0.484375 0.5 \n0.0625 0.453125 0.5 \n0.078125 0.4375 0.5 \n0.109375 0.4375 0.5 \n0.109375 0.453125 0.5 \n0.1875 0.359375 0.5 \n0.203125 0.359375 0.5 \n0.1875 0.328125 0.5 \n0.203125 0.3125 0.5 \n0.234375 0.3125 0.5 \n0.234375 0.328125 0.5 \n0.4375 0.234375 0.5 \n0.453125 0.234375 0.5 \n0.4375 0.203125 0.5 \n0.453125 0.1875 0.5 \n0.484375 0.1875 0.5 \n0.484375 0.203125 0.5 \n0.3125 0.234375 0.5 \n0.328125 0.234375 0.5 \n0.3125 0.203125 0.5 \n0.328125 0.1875 0.5 \n0.359375 0.1875 0.5 \n0.359375 0.203125 0.5 \n0.4375 0.109375 0.5 \n0.453125 0.109375 0.5 \n0.4375 0.078125 0.5 \n0.453125 0.0625 0.5 \n0.484375 0.0625 0.5 \n0.484375 0.078125 0.5 \n-0.0625 0.484375 0.5 \n-0.046875 0.484375 0.5 \n-0.0625 0.453125 0.5 \n-0.046875 0.4375 0.5 \n-0.015625 0.4375 0.5 \n-0.015625 0.453125 0.5 \n-0.1875 0.484375 0.5 \n-0.171875 0.484375 0.5 \n-0.1875 0.453125 0.5 \n-0.171875 0.4375 0.5 \n-0.140625 0.4375 0.5 \n-0.140625 0.453125 0.5 \n-0.0625 0.359375 0.5 \n-0.046875 0.359375 0.5 \n-0.0625 0.328125 0.5 \n-0.046875 0.3125 0.5 \n-0.015625 0.3125 0.5 \n-0.015625 0.328125 0.5 \n-0.3125 0.484375 0.5 \n-0.296875 0.484375 0.5 \n-0.3125 0.453125 0.5 \n-0.296875 0.4375 0.5 \n-0.265625 0.4375 0.5 \n-0.265625 0.453125 0.5 \n-0.4375 0.484375 0.5 \n-0.421875 0.484375 0.5 \n-0.4375 0.453125 0.5 \n-0.421875 0.4375 0.5 \n-0.390625 0.4375 0.5 \n-0.390625 0.453125 0.5 \n-0.3125 0.359375 0.5 \n-0.296875 0.359375 0.5 \n-0.3125 0.328125 0.5 \n-0.296875 0.3125 0.5 \n-0.265625 0.3125 0.5 \n-0.265625 0.328125 0.5 \n-0.0625 0.234375 0.5 \n-0.046875 0.234375 0.5 \n-0.0625 0.203125 0.5 \n-0.046875 0.1875 0.5 \n-0.015625 0.1875 0.5 \n-0.015625 0.203125 0.5 \n-0.1875 0.234375 0.5 \n-0.171875 0.234375 0.5 \n-0.1875 0.203125 0.5 \n-0.171875 0.1875 0.5 \n-0.140625 0.1875 0.5 \n-0.140625 0.203125 0.5 \n-0.0625 0.109375 0.5 \n-0.046875 0.109375 0.5 \n-0.0625 0.078125 0.5 \n-0.046875 0.0625 0.5 \n-0.015625 0.0625 0.5 \n-0.015625 0.078125 0.5 \n0.4375 -0.015625 0.5 \n0.453125 -0.015625 0.5 \n0.4375 -0.046875 0.5 \n0.453125 -0.0625 0.5 \n0.484375 -0.0625 0.5 \n0.484375 -0.046875 0.5 \n0.3125 -0.015625 0.5 \n0.328125 -0.015625 0.5 \n0.3125 -0.046875 0.5 \n0.328125 -0.0625 0.5 \n0.359375 -0.0625 0.5 \n0.359375 -0.046875 0.5 \n0.4375 -0.140625 0.5 \n0.453125 -0.140625 0.5 \n0.4375 -0.171875 0.5 \n0.453125 -0.1875 0.5 \n0.484375 -0.1875 0.5 \n0.484375 -0.171875 0.5 \n0.1875 -0.015625 0.5 \n0.203125 -0.015625 0.5 \n0.1875 -0.046875 0.5 \n0.203125 -0.0625 0.5 \n0.234375 -0.0625 0.5 \n0.234375 -0.046875 0.5 \n0.0625 -0.015625 0.5 \n0.078125 -0.015625 0.5 \n0.0625 -0.046875 0.5 \n0.078125 -0.0625 0.5 \n0.109375 -0.0625 0.5 \n0.109375 -0.046875 0.5 \n0.1875 -0.140625 0.5 \n0.203125 -0.140625 0.5 \n0.1875 -0.171875 0.5 \n0.203125 -0.1875 0.5 \n0.234375 -0.1875 0.5 \n0.234375 -0.171875 0.5 \n0.4375 -0.265625 0.5 \n0.453125 -0.265625 0.5 \n0.4375 -0.296875 0.5 \n0.453125 -0.3125 0.5 \n0.484375 -0.3125 0.5 \n0.484375 -0.296875 0.5 \n0.3125 -0.265625 0.5 \n0.328125 -0.265625 0.5 \n0.3125 -0.296875 0.5 \n0.328125 -0.3125 0.5 \n0.359375 -0.3125 0.5 \n0.359375 -0.296875 0.5 \n0.4375 -0.390625 0.5 \n0.453125 -0.390625 0.5 \n0.4375 -0.421875 0.5 \n0.453125 -0.4375 0.5 \n0.484375 -0.4375 0.5 \n0.484375 -0.421875 0.5 \n-0.4375 -0.484375 0.5 \n-0.453125 -0.484375 0.5 \n-0.4375 -0.453125 0.5 \n-0.453125 -0.4375 0.5 \n-0.484375 -0.4375 0.5 \n-0.484375 -0.453125 0.5 \n-0.3125 -0.484375 0.5 \n-0.328125 -0.484375 0.5 \n-0.3125 -0.453125 0.5 \n-0.328125 -0.4375 0.5 \n-0.359375 -0.4375 0.5 \n-0.359375 -0.453125 0.5 \n-0.4375 -0.359375 0.5 \n-0.453125 -0.359375 0.5 \n-0.4375 -0.328125 0.5 \n-0.453125 -0.3125 0.5 \n-0.484375 -0.3125 0.5 \n-0.484375 -0.328125 0.5 \n-0.1875 -0.484375 0.5 \n-0.203125 -0.484375 0.5 \n-0.1875 -0.453125 0.5 \n-0.203125 -0.4375 0.5 \n-0.234375 -0.4375 0.5 \n-0.234375 -0.453125 0.5 \n-0.0625 -0.484375 0.5 \n-0.078125 -0.484375 0.5 \n-0.0625 -0.453125 0.5 \n-0.078125 -0.4375 0.5 \n-0.109375 -0.4375 0.5 \n-0.109375 -0.453125 0.5 \n-0.1875 -0.359375 0.5 \n-0.203125 -0.359375 0.5 \n-0.1875 -0.328125 0.5 \n-0.203125 -0.3125 0.5 \n-0.234375 -0.3125 0.5 \n-0.234375 -0.328125 0.5 \n-0.4375 -0.234375 0.5 \n-0.453125 -0.234375 0.5 \n-0.4375 -0.203125 0.5 \n-0.453125 -0.1875 0.5 \n-0.484375 -0.1875 0.5 \n-0.484375 -0.203125 0.5 \n-0.3125 -0.234375 0.5 \n-0.328125 -0.234375 0.5 \n-0.3125 -0.203125 0.5 \n-0.328125 -0.1875 0.5 \n-0.359375 -0.1875 0.5 \n-0.359375 -0.203125 0.5 \n-0.4375 -0.109375 0.5 \n-0.453125 -0.109375 0.5 \n-0.4375 -0.078125 0.5 \n-0.453125 -0.0625 0.5 \n-0.484375 -0.0625 0.5 \n-0.484375 -0.078125 0.5 \n0.0625 -0.484375 0.5 \n0.046875 -0.484375 0.5 \n0.0625 -0.453125 0.5 \n0.046875 -0.4375 0.5 \n0.015625 -0.4375 0.5 \n0.015625 -0.453125 0.5 \n0.1875 -0.484375 0.5 \n0.171875 -0.484375 0.5 \n0.1875 -0.453125 0.5 \n0.171875 -0.4375 0.5 \n0.140625 -0.4375 0.5 \n0.140625 -0.453125 0.5 \n0.0625 -0.359375 0.5 \n0.046875 -0.359375 0.5 \n0.0625 -0.328125 0.5 \n0.046875 -0.3125 0.5 \n0.015625 -0.3125 0.5 \n0.015625 -0.328125 0.5 \n0.3125 -0.484375 0.5 \n0.296875 -0.484375 0.5 \n0.3125 -0.453125 0.5 \n0.296875 -0.4375 0.5 \n0.265625 -0.4375 0.5 \n0.265625 -0.453125 0.5 \n0.4375 -0.484375 0.5 \n0.421875 -0.484375 0.5 \n0.4375 -0.453125 0.5 \n0.421875 -0.4375 0.5 \n0.390625 -0.4375 0.5 \n0.390625 -0.453125 0.5 \n0.3125 -0.359375 0.5 \n0.296875 -0.359375 0.5 \n0.3125 -0.328125 0.5 \n0.296875 -0.3125 0.5 \n0.265625 -0.3125 0.5 \n0.265625 -0.328125 0.5 \n0.0625 -0.234375 0.5 \n0.046875 -0.234375 0.5 \n0.0625 -0.203125 0.5 \n0.046875 -0.1875 0.5 \n0.015625 -0.1875 0.5 \n0.015625 -0.203125 0.5 \n0.1875 -0.234375 0.5 \n0.171875 -0.234375 0.5 \n0.1875 -0.203125 0.5 \n0.171875 -0.1875 0.5 \n0.140625 -0.1875 0.5 \n0.140625 -0.203125 0.5 \n0.0625 -0.109375 0.5 \n0.046875 -0.109375 0.5 \n0.0625 -0.078125 0.5 \n0.046875 -0.0625 0.5 \n0.015625 -0.0625 0.5 \n0.015625 -0.078125 0.5 \n-0.4375 0.015625 0.5 \n-0.453125 0.015625 0.5 \n-0.4375 0.046875 0.5 \n-0.453125 0.0625 0.5 \n-0.484375 0.0625 0.5 \n-0.484375 0.046875 0.5 \n-0.3125 0.015625 0.5 \n-0.328125 0.015625 0.5 \n-0.3125 0.046875 0.5 \n-0.328125 0.0625 0.5 \n-0.359375 0.0625 0.5 \n-0.359375 0.046875 0.5 \n-0.4375 0.140625 0.5 \n-0.453125 0.140625 0.5 \n-0.4375 0.171875 0.5 \n-0.453125 0.1875 0.5 \n-0.484375 0.1875 0.5 \n-0.484375 0.171875 0.5 \n-0.1875 0.015625 0.5 \n-0.203125 0.015625 0.5 \n-0.1875 0.046875 0.5 \n-0.203125 0.0625 0.5 \n-0.234375 0.0625 0.5 \n-0.234375 0.046875 0.5 \n-0.0625 0.015625 0.5 \n-0.078125 0.015625 0.5 \n-0.0625 0.046875 0.5 \n-0.078125 0.0625 0.5 \n-0.109375 0.0625 0.5 \n-0.109375 0.046875 0.5 \n-0.1875 0.140625 0.5 \n-0.203125 0.140625 0.5 \n-0.1875 0.171875 0.5 \n-0.203125 0.1875 0.5 \n-0.234375 0.1875 0.5 \n-0.234375 0.171875 0.5 \n-0.4375 0.265625 0.5 \n-0.453125 0.265625 0.5 \n-0.4375 0.296875 0.5 \n-0.453125 0.3125 0.5 \n-0.484375 0.3125 0.5 \n-0.484375 0.296875 0.5 \n-0.3125 0.265625 0.5 \n-0.328125 0.265625 0.5 \n-0.3125 0.296875 0.5 \n-0.328125 0.3125 0.5 \n-0.359375 0.3125 0.5 \n-0.359375 0.296875 0.5 \n-0.4375 0.390625 0.5 \n-0.453125 0.390625 0.5 \n-0.4375 0.421875 0.5 \n-0.453125 0.4375 0.5 \n-0.484375 0.4375 0.5 \n-0.484375 0.421875 0.5 \n0.5 0.4375 0.484375 \n0.5 0.453125 0.484375 \n0.5 0.4375 0.453125 \n0.5 0.453125 0.4375 \n0.5 0.484375 0.4375 \n0.5 0.484375 0.453125 \n0.5 0.3125 0.484375 \n0.5 0.328125 0.484375 \n0.5 0.3125 0.453125 \n0.5 0.328125 0.4375 \n0.5 0.359375 0.4375 \n0.5 0.359375 0.453125 \n0.5 0.4375 0.359375 \n0.5 0.453125 0.359375 \n0.5 0.4375 0.328125 \n0.5 0.453125 0.3125 \n0.5 0.484375 0.3125 \n0.5 0.484375 0.328125 \n0.5 0.1875 0.484375 \n0.5 0.203125 0.484375 \n0.5 0.1875 0.453125 \n0.5 0.203125 0.4375 \n0.5 0.234375 0.4375 \n0.5 0.234375 0.453125 \n0.5 0.0625 0.484375 \n0.5 0.078125 0.484375 \n0.5 0.0625 0.453125 \n0.5 0.078125 0.4375 \n0.5 0.109375 0.4375 \n0.5 0.109375 0.453125 \n0.5 0.1875 0.359375 \n0.5 0.203125 0.359375 \n0.5 0.1875 0.328125 \n0.5 0.203125 0.3125 \n0.5 0.234375 0.3125 \n0.5 0.234375 0.328125 \n0.5 0.4375 0.234375 \n0.5 0.453125 0.234375 \n0.5 0.4375 0.203125 \n0.5 0.453125 0.1875 \n0.5 0.484375 0.1875 \n0.5 0.484375 0.203125 \n0.5 0.3125 0.234375 \n0.5 0.328125 0.234375 \n0.5 0.3125 0.203125 \n0.5 0.328125 0.1875 \n0.5 0.359375 0.1875 \n0.5 0.359375 0.203125 \n0.5 0.4375 0.109375 \n0.5 0.453125 0.109375 \n0.5 0.4375 0.078125 \n0.5 0.453125 0.0625 \n0.5 0.484375 0.0625 \n0.5 0.484375 0.078125 \n0.5 -0.0625 0.484375 \n0.5 -0.046875 0.484375 \n0.5 -0.0625 0.453125 \n0.5 -0.046875 0.4375 \n0.5 -0.015625 0.4375 \n0.5 -0.015625 0.453125 \n0.5 -0.1875 0.484375 \n0.5 -0.171875 0.484375 \n0.5 -0.1875 0.453125 \n0.5 -0.171875 0.4375 \n0.5 -0.140625 0.4375 \n0.5 -0.140625 0.453125 \n0.5 -0.0625 0.359375 \n0.5 -0.046875 0.359375 \n0.5 -0.0625 0.328125 \n0.5 -0.046875 0.3125 \n0.5 -0.015625 0.3125 \n0.5 -0.015625 0.328125 \n0.5 -0.3125 0.484375 \n0.5 -0.296875 0.484375 \n0.5 -0.3125 0.453125 \n0.5 -0.296875 0.4375 \n0.5 -0.265625 0.4375 \n0.5 -0.265625 0.453125 \n0.5 -0.4375 0.484375 \n0.5 -0.421875 0.484375 \n0.5 -0.4375 0.453125 \n0.5 -0.421875 0.4375 \n0.5 -0.390625 0.4375 \n0.5 -0.390625 0.453125 \n0.5 -0.3125 0.359375 \n0.5 -0.296875 0.359375 \n0.5 -0.3125 0.328125 \n0.5 -0.296875 0.3125 \n0.5 -0.265625 0.3125 \n0.5 -0.265625 0.328125 \n0.5 -0.0625 0.234375 \n0.5 -0.046875 0.234375 \n0.5 -0.0625 0.203125 \n0.5 -0.046875 0.1875 \n0.5 -0.015625 0.1875 \n0.5 -0.015625 0.203125 \n0.5 -0.1875 0.234375 \n0.5 -0.171875 0.234375 \n0.5 -0.1875 0.203125 \n0.5 -0.171875 0.1875 \n0.5 -0.140625 0.1875 \n0.5 -0.140625 0.203125 \n0.5 -0.0625 0.109375 \n0.5 -0.046875 0.109375 \n0.5 -0.0625 0.078125 \n0.5 -0.046875 0.0625 \n0.5 -0.015625 0.0625 \n0.5 -0.015625 0.078125 \n0.5 0.4375 -0.015625 \n0.5 0.453125 -0.015625 \n0.5 0.4375 -0.046875 \n0.5 0.453125 -0.0625 \n0.5 0.484375 -0.0625 \n0.5 0.484375 -0.046875 \n0.5 0.3125 -0.015625 \n0.5 0.328125 -0.015625 \n0.5 0.3125 -0.046875 \n0.5 0.328125 -0.0625 \n0.5 0.359375 -0.0625 \n0.5 0.359375 -0.046875 \n0.5 0.4375 -0.140625 \n0.5 0.453125 -0.140625 \n0.5 0.4375 -0.171875 \n0.5 0.453125 -0.1875 \n0.5 0.484375 -0.1875 \n0.5 0.484375 -0.171875 \n0.5 0.1875 -0.015625 \n0.5 0.203125 -0.015625 \n0.5 0.1875 -0.046875 \n0.5 0.203125 -0.0625 \n0.5 0.234375 -0.0625 \n0.5 0.234375 -0.046875 \n0.5 0.0625 -0.015625 \n0.5 0.078125 -0.015625 \n0.5 0.0625 -0.046875 \n0.5 0.078125 -0.0625 \n0.5 0.109375 -0.0625 \n0.5 0.109375 -0.046875 \n0.5 0.1875 -0.140625 \n0.5 0.203125 -0.140625 \n0.5 0.1875 -0.171875 \n0.5 0.203125 -0.1875 \n0.5 0.234375 -0.1875 \n0.5 0.234375 -0.171875 \n0.5 0.4375 -0.265625 \n0.5 0.453125 -0.265625 \n0.5 0.4375 -0.296875 \n0.5 0.453125 -0.3125 \n0.5 0.484375 -0.3125 \n0.5 0.484375 -0.296875 \n0.5 0.3125 -0.265625 \n0.5 0.328125 -0.265625 \n0.5 0.3125 -0.296875 \n0.5 0.328125 -0.3125 \n0.5 0.359375 -0.3125 \n0.5 0.359375 -0.296875 \n0.5 0.4375 -0.390625 \n0.5 0.453125 -0.390625 \n0.5 0.4375 -0.421875 \n0.5 0.453125 -0.4375 \n0.5 0.484375 -0.4375 \n0.5 0.484375 -0.421875 \n0.5 -0.4375 -0.484375 \n0.5 -0.453125 -0.484375 \n0.5 -0.4375 -0.453125 \n0.5 -0.453125 -0.4375 \n0.5 -0.484375 -0.4375 \n0.5 -0.484375 -0.453125 \n0.5 -0.3125 -0.484375 \n0.5 -0.328125 -0.484375 \n0.5 -0.3125 -0.453125 \n0.5 -0.328125 -0.4375 \n0.5 -0.359375 -0.4375 \n0.5 -0.359375 -0.453125 \n0.5 -0.4375 -0.359375 \n0.5 -0.453125 -0.359375 \n0.5 -0.4375 -0.328125 \n0.5 -0.453125 -0.3125 \n0.5 -0.484375 -0.3125 \n0.5 -0.484375 -0.328125 \n0.5 -0.1875 -0.484375 \n0.5 -0.203125 -0.484375 \n0.5 -0.1875 -0.453125 \n0.5 -0.203125 -0.4375 \n0.5 -0.234375 -0.4375 \n0.5 -0.234375 -0.453125 \n0.5 -0.0625 -0.484375 \n0.5 -0.078125 -0.484375 \n0.5 -0.0625 -0.453125 \n0.5 -0.078125 -0.4375 \n0.5 -0.109375 -0.4375 \n0.5 -0.109375 -0.453125 \n0.5 -0.1875 -0.359375 \n0.5 -0.203125 -0.359375 \n0.5 -0.1875 -0.328125 \n0.5 -0.203125 -0.3125 \n0.5 -0.234375 -0.3125 \n0.5 -0.234375 -0.328125 \n0.5 -0.4375 -0.234375 \n0.5 -0.453125 -0.234375 \n0.5 -0.4375 -0.203125 \n0.5 -0.453125 -0.1875 \n0.5 -0.484375 -0.1875 \n0.5 -0.484375 -0.203125 \n0.5 -0.3125 -0.234375 \n0.5 -0.328125 -0.234375 \n0.5 -0.3125 -0.203125 \n0.5 -0.328125 -0.1875 \n0.5 -0.359375 -0.1875 \n0.5 -0.359375 -0.203125 \n0.5 -0.4375 -0.109375 \n0.5 -0.453125 -0.109375 \n0.5 -0.4375 -0.078125 \n0.5 -0.453125 -0.0625 \n0.5 -0.484375 -0.0625 \n0.5 -0.484375 -0.078125 \n0.5 0.0625 -0.484375 \n0.5 0.046875 -0.484375 \n0.5 0.0625 -0.453125 \n0.5 0.046875 -0.4375 \n0.5 0.015625 -0.4375 \n0.5 0.015625 -0.453125 \n0.5 0.1875 -0.484375 \n0.5 0.171875 -0.484375 \n0.5 0.1875 -0.453125 \n0.5 0.171875 -0.4375 \n0.5 0.140625 -0.4375 \n0.5 0.140625 -0.453125 \n0.5 0.0625 -0.359375 \n0.5 0.046875 -0.359375 \n0.5 0.0625 -0.328125 \n0.5 0.046875 -0.3125 \n0.5 0.015625 -0.3125 \n0.5 0.015625 -0.328125 \n0.5 0.3125 -0.484375 \n0.5 0.296875 -0.484375 \n0.5 0.3125 -0.453125 \n0.5 0.296875 -0.4375 \n0.5 0.265625 -0.4375 \n0.5 0.265625 -0.453125 \n0.5 0.4375 -0.484375 \n0.5 0.421875 -0.484375 \n0.5 0.4375 -0.453125 \n0.5 0.421875 -0.4375 \n0.5 0.390625 -0.4375 \n0.5 0.390625 -0.453125 \n0.5 0.3125 -0.359375 \n0.5 0.296875 -0.359375 \n0.5 0.3125 -0.328125 \n0.5 0.296875 -0.3125 \n0.5 0.265625 -0.3125 \n0.5 0.265625 -0.328125 \n0.5 0.0625 -0.234375 \n0.5 0.046875 -0.234375 \n0.5 0.0625 -0.203125 \n0.5 0.046875 -0.1875 \n0.5 0.015625 -0.1875 \n0.5 0.015625 -0.203125 \n0.5 0.1875 -0.234375 \n0.5 0.171875 -0.234375 \n0.5 0.1875 -0.203125 \n0.5 0.171875 -0.1875 \n0.5 0.140625 -0.1875 \n0.5 0.140625 -0.203125 \n0.5 0.0625 -0.109375 \n0.5 0.046875 -0.109375 \n0.5 0.0625 -0.078125 \n0.5 0.046875 -0.0625 \n0.5 0.015625 -0.0625 \n0.5 0.015625 -0.078125 \n0.5 -0.4375 0.015625 \n0.5 -0.453125 0.015625 \n0.5 -0.4375 0.046875 \n0.5 -0.453125 0.0625 \n0.5 -0.484375 0.0625 \n0.5 -0.484375 0.046875 \n0.5 -0.3125 0.015625 \n0.5 -0.328125 0.015625 \n0.5 -0.3125 0.046875 \n0.5 -0.328125 0.0625 \n0.5 -0.359375 0.0625 \n0.5 -0.359375 0.046875 \n0.5 -0.4375 0.140625 \n0.5 -0.453125 0.140625 \n0.5 -0.4375 0.171875 \n0.5 -0.453125 0.1875 \n0.5 -0.484375 0.1875 \n0.5 -0.484375 0.171875 \n0.5 -0.1875 0.015625 \n0.5 -0.203125 0.015625 \n0.5 -0.1875 0.046875 \n0.5 -0.203125 0.0625 \n0.5 -0.234375 0.0625 \n0.5 -0.234375 0.046875 \n0.5 -0.0625 0.015625 \n0.5 -0.078125 0.015625 \n0.5 -0.0625 0.046875 \n0.5 -0.078125 0.0625 \n0.5 -0.109375 0.0625 \n0.5 -0.109375 0.046875 \n0.5 -0.1875 0.140625 \n0.5 -0.203125 0.140625 \n0.5 -0.1875 0.171875 \n0.5 -0.203125 0.1875 \n0.5 -0.234375 0.1875 \n0.5 -0.234375 0.171875 \n0.5 -0.4375 0.265625 \n0.5 -0.453125 0.265625 \n0.5 -0.4375 0.296875 \n0.5 -0.453125 0.3125 \n0.5 -0.484375 0.3125 \n0.5 -0.484375 0.296875 \n0.5 -0.3125 0.265625 \n0.5 -0.328125 0.265625 \n0.5 -0.3125 0.296875 \n0.5 -0.328125 0.3125 \n0.5 -0.359375 0.3125 \n0.5 -0.359375 0.296875 \n0.5 -0.4375 0.390625 \n0.5 -0.453125 0.390625 \n0.5 -0.4375 0.421875 \n0.5 -0.453125 0.4375 \n0.5 -0.484375 0.4375 \n0.5 -0.484375 0.421875 \n0.484375 0.5 0.4375 \n0.484375 0.5 0.453125 \n0.453125 0.5 0.4375 \n0.4375 0.5 0.453125 \n0.4375 0.5 0.484375 \n0.453125 0.5 0.484375 \n0.484375 0.5 0.3125 \n0.484375 0.5 0.328125 \n0.453125 0.5 0.3125 \n0.4375 0.5 0.328125 \n0.4375 0.5 0.359375 \n0.453125 0.5 0.359375 \n0.359375 0.5 0.4375 \n0.359375 0.5 0.453125 \n0.328125 0.5 0.4375 \n0.3125 0.5 0.453125 \n0.3125 0.5 0.484375 \n0.328125 0.5 0.484375 \n0.484375 0.5 0.1875 \n0.484375 0.5 0.203125 \n0.453125 0.5 0.1875 \n0.4375 0.5 0.203125 \n0.4375 0.5 0.234375 \n0.453125 0.5 0.234375 \n0.484375 0.5 0.0625 \n0.484375 0.5 0.078125 \n0.453125 0.5 0.0625 \n0.4375 0.5 0.078125 \n0.4375 0.5 0.109375 \n0.453125 0.5 0.109375 \n0.359375 0.5 0.1875 \n0.359375 0.5 0.203125 \n0.328125 0.5 0.1875 \n0.3125 0.5 0.203125 \n0.3125 0.5 0.234375 \n0.328125 0.5 0.234375 \n0.234375 0.5 0.4375 \n0.234375 0.5 0.453125 \n0.203125 0.5 0.4375 \n0.1875 0.5 0.453125 \n0.1875 0.5 0.484375 \n0.203125 0.5 0.484375 \n0.234375 0.5 0.3125 \n0.234375 0.5 0.328125 \n0.203125 0.5 0.3125 \n0.1875 0.5 0.328125 \n0.1875 0.5 0.359375 \n0.203125 0.5 0.359375 \n0.109375 0.5 0.4375 \n0.109375 0.5 0.453125 \n0.078125 0.5 0.4375 \n0.0625 0.5 0.453125 \n0.0625 0.5 0.484375 \n0.078125 0.5 0.484375 \n0.484375 0.5 -0.0625 \n0.484375 0.5 -0.046875 \n0.453125 0.5 -0.0625 \n0.4375 0.5 -0.046875 \n0.4375 0.5 -0.015625 \n0.453125 0.5 -0.015625 \n0.484375 0.5 -0.1875 \n0.484375 0.5 -0.171875 \n0.453125 0.5 -0.1875 \n0.4375 0.5 -0.171875 \n0.4375 0.5 -0.140625 \n0.453125 0.5 -0.140625 \n0.359375 0.5 -0.0625 \n0.359375 0.5 -0.046875 \n0.328125 0.5 -0.0625 \n0.3125 0.5 -0.046875 \n0.3125 0.5 -0.015625 \n0.328125 0.5 -0.015625 \n0.484375 0.5 -0.3125 \n0.484375 0.5 -0.296875 \n0.453125 0.5 -0.3125 \n0.4375 0.5 -0.296875 \n0.4375 0.5 -0.265625 \n0.453125 0.5 -0.265625 \n0.484375 0.5 -0.4375 \n0.484375 0.5 -0.421875 \n0.453125 0.5 -0.4375 \n0.4375 0.5 -0.421875 \n0.4375 0.5 -0.390625 \n0.453125 0.5 -0.390625 \n0.359375 0.5 -0.3125 \n0.359375 0.5 -0.296875 \n0.328125 0.5 -0.3125 \n0.3125 0.5 -0.296875 \n0.3125 0.5 -0.265625 \n0.328125 0.5 -0.265625 \n0.234375 0.5 -0.0625 \n0.234375 0.5 -0.046875 \n0.203125 0.5 -0.0625 \n0.1875 0.5 -0.046875 \n0.1875 0.5 -0.015625 \n0.203125 0.5 -0.015625 \n0.234375 0.5 -0.1875 \n0.234375 0.5 -0.171875 \n0.203125 0.5 -0.1875 \n0.1875 0.5 -0.171875 \n0.1875 0.5 -0.140625 \n0.203125 0.5 -0.140625 \n0.109375 0.5 -0.0625 \n0.109375 0.5 -0.046875 \n0.078125 0.5 -0.0625 \n0.0625 0.5 -0.046875 \n0.0625 0.5 -0.015625 \n0.078125 0.5 -0.015625 \n-0.015625 0.5 0.4375 \n-0.015625 0.5 0.453125 \n-0.046875 0.5 0.4375 \n-0.0625 0.5 0.453125 \n-0.0625 0.5 0.484375 \n-0.046875 0.5 0.484375 \n-0.015625 0.5 0.3125 \n-0.015625 0.5 0.328125 \n-0.046875 0.5 0.3125 \n-0.0625 0.5 0.328125 \n-0.0625 0.5 0.359375 \n-0.046875 0.5 0.359375 \n-0.140625 0.5 0.4375 \n-0.140625 0.5 0.453125 \n-0.171875 0.5 0.4375 \n-0.1875 0.5 0.453125 \n-0.1875 0.5 0.484375 \n-0.171875 0.5 0.484375 \n-0.015625 0.5 0.1875 \n-0.015625 0.5 0.203125 \n-0.046875 0.5 0.1875 \n-0.0625 0.5 0.203125 \n-0.0625 0.5 0.234375 \n-0.046875 0.5 0.234375 \n-0.015625 0.5 0.0625 \n-0.015625 0.5 0.078125 \n-0.046875 0.5 0.0625 \n-0.0625 0.5 0.078125 \n-0.0625 0.5 0.109375 \n-0.046875 0.5 0.109375 \n-0.140625 0.5 0.1875 \n-0.140625 0.5 0.203125 \n-0.171875 0.5 0.1875 \n-0.1875 0.5 0.203125 \n-0.1875 0.5 0.234375 \n-0.171875 0.5 0.234375 \n-0.265625 0.5 0.4375 \n-0.265625 0.5 0.453125 \n-0.296875 0.5 0.4375 \n-0.3125 0.5 0.453125 \n-0.3125 0.5 0.484375 \n-0.296875 0.5 0.484375 \n-0.265625 0.5 0.3125 \n-0.265625 0.5 0.328125 \n-0.296875 0.5 0.3125 \n-0.3125 0.5 0.328125 \n-0.3125 0.5 0.359375 \n-0.296875 0.5 0.359375 \n-0.390625 0.5 0.4375 \n-0.390625 0.5 0.453125 \n-0.421875 0.5 0.4375 \n-0.4375 0.5 0.453125 \n-0.4375 0.5 0.484375 \n-0.421875 0.5 0.484375 \n-0.484375 0.5 -0.4375 \n-0.484375 0.5 -0.453125 \n-0.453125 0.5 -0.4375 \n-0.4375 0.5 -0.453125 \n-0.4375 0.5 -0.484375 \n-0.453125 0.5 -0.484375 \n-0.484375 0.5 -0.3125 \n-0.484375 0.5 -0.328125 \n-0.453125 0.5 -0.3125 \n-0.4375 0.5 -0.328125 \n-0.4375 0.5 -0.359375 \n-0.453125 0.5 -0.359375 \n-0.359375 0.5 -0.4375 \n-0.359375 0.5 -0.453125 \n-0.328125 0.5 -0.4375 \n-0.3125 0.5 -0.453125 \n-0.3125 0.5 -0.484375 \n-0.328125 0.5 -0.484375 \n-0.484375 0.5 -0.1875 \n-0.484375 0.5 -0.203125 \n-0.453125 0.5 -0.1875 \n-0.4375 0.5 -0.203125 \n-0.4375 0.5 -0.234375 \n-0.453125 0.5 -0.234375 \n-0.484375 0.5 -0.0625 \n-0.484375 0.5 -0.078125 \n-0.453125 0.5 -0.0625 \n-0.4375 0.5 -0.078125 \n-0.4375 0.5 -0.109375 \n-0.453125 0.5 -0.109375 \n-0.359375 0.5 -0.1875 \n-0.359375 0.5 -0.203125 \n-0.328125 0.5 -0.1875 \n-0.3125 0.5 -0.203125 \n-0.3125 0.5 -0.234375 \n-0.328125 0.5 -0.234375 \n-0.234375 0.5 -0.4375 \n-0.234375 0.5 -0.453125 \n-0.203125 0.5 -0.4375 \n-0.1875 0.5 -0.453125 \n-0.1875 0.5 -0.484375 \n-0.203125 0.5 -0.484375 \n-0.234375 0.5 -0.3125 \n-0.234375 0.5 -0.328125 \n-0.203125 0.5 -0.3125 \n-0.1875 0.5 -0.328125 \n-0.1875 0.5 -0.359375 \n-0.203125 0.5 -0.359375 \n-0.109375 0.5 -0.4375 \n-0.109375 0.5 -0.453125 \n-0.078125 0.5 -0.4375 \n-0.0625 0.5 -0.453125 \n-0.0625 0.5 -0.484375 \n-0.078125 0.5 -0.484375 \n-0.484375 0.5 0.0625 \n-0.484375 0.5 0.046875 \n-0.453125 0.5 0.0625 \n-0.4375 0.5 0.046875 \n-0.4375 0.5 0.015625 \n-0.453125 0.5 0.015625 \n-0.484375 0.5 0.1875 \n-0.484375 0.5 0.171875 \n-0.453125 0.5 0.1875 \n-0.4375 0.5 0.171875 \n-0.4375 0.5 0.140625 \n-0.453125 0.5 0.140625 \n-0.359375 0.5 0.0625 \n-0.359375 0.5 0.046875 \n-0.328125 0.5 0.0625 \n-0.3125 0.5 0.046875 \n-0.3125 0.5 0.015625 \n-0.328125 0.5 0.015625 \n-0.484375 0.5 0.3125 \n-0.484375 0.5 0.296875 \n-0.453125 0.5 0.3125 \n-0.4375 0.5 0.296875 \n-0.4375 0.5 0.265625 \n-0.453125 0.5 0.265625 \n-0.484375 0.5 0.4375 \n-0.484375 0.5 0.421875 \n-0.453125 0.5 0.4375 \n-0.4375 0.5 0.421875 \n-0.4375 0.5 0.390625 \n-0.453125 0.5 0.390625 \n-0.359375 0.5 0.3125 \n-0.359375 0.5 0.296875 \n-0.328125 0.5 0.3125 \n-0.3125 0.5 0.296875 \n-0.3125 0.5 0.265625 \n-0.328125 0.5 0.265625 \n-0.234375 0.5 0.0625 \n-0.234375 0.5 0.046875 \n-0.203125 0.5 0.0625 \n-0.1875 0.5 0.046875 \n-0.1875 0.5 0.015625 \n-0.203125 0.5 0.015625 \n-0.234375 0.5 0.1875 \n-0.234375 0.5 0.171875 \n-0.203125 0.5 0.1875 \n-0.1875 0.5 0.171875 \n-0.1875 0.5 0.140625 \n-0.203125 0.5 0.140625 \n-0.109375 0.5 0.0625 \n-0.109375 0.5 0.046875 \n-0.078125 0.5 0.0625 \n-0.0625 0.5 0.046875 \n-0.0625 0.5 0.015625 \n-0.078125 0.5 0.015625 \n0.015625 0.5 -0.4375 \n0.015625 0.5 -0.453125 \n0.046875 0.5 -0.4375 \n0.0625 0.5 -0.453125 \n0.0625 0.5 -0.484375 \n0.046875 0.5 -0.484375 \n0.015625 0.5 -0.3125 \n0.015625 0.5 -0.328125 \n0.046875 0.5 -0.3125 \n0.0625 0.5 -0.328125 \n0.0625 0.5 -0.359375 \n0.046875 0.5 -0.359375 \n0.140625 0.5 -0.4375 \n0.140625 0.5 -0.453125 \n0.171875 0.5 -0.4375 \n0.1875 0.5 -0.453125 \n0.1875 0.5 -0.484375 \n0.171875 0.5 -0.484375 \n0.015625 0.5 -0.1875 \n0.015625 0.5 -0.203125 \n0.046875 0.5 -0.1875 \n0.0625 0.5 -0.203125 \n0.0625 0.5 -0.234375 \n0.046875 0.5 -0.234375 \n0.015625 0.5 -0.0625 \n0.015625 0.5 -0.078125 \n0.046875 0.5 -0.0625 \n0.0625 0.5 -0.078125 \n0.0625 0.5 -0.109375 \n0.046875 0.5 -0.109375 \n0.140625 0.5 -0.1875 \n0.140625 0.5 -0.203125 \n0.171875 0.5 -0.1875 \n0.1875 0.5 -0.203125 \n0.1875 0.5 -0.234375 \n0.171875 0.5 -0.234375 \n0.265625 0.5 -0.4375 \n0.265625 0.5 -0.453125 \n0.296875 0.5 -0.4375 \n0.3125 0.5 -0.453125 \n0.3125 0.5 -0.484375 \n0.296875 0.5 -0.484375 \n0.265625 0.5 -0.3125 \n0.265625 0.5 -0.328125 \n0.296875 0.5 -0.3125 \n0.3125 0.5 -0.328125 \n0.3125 0.5 -0.359375 \n0.296875 0.5 -0.359375 \n0.390625 0.5 -0.4375 \n0.390625 0.5 -0.453125 \n0.421875 0.5 -0.4375 \n0.4375 0.5 -0.453125 \n0.4375 0.5 -0.484375 \n0.421875 0.5 -0.484375 \n-0.484375 -0.4375 -0.5 \n-0.484375 -0.453125 -0.5 \n-0.453125 -0.4375 -0.5 \n-0.4375 -0.453125 -0.5 \n-0.4375 -0.484375 -0.5 \n-0.453125 -0.484375 -0.5 \n-0.484375 -0.3125 -0.5 \n-0.484375 -0.328125 -0.5 \n-0.453125 -0.3125 -0.5 \n-0.4375 -0.328125 -0.5 \n-0.4375 -0.359375 -0.5 \n-0.453125 -0.359375 -0.5 \n-0.359375 -0.4375 -0.5 \n-0.359375 -0.453125 -0.5 \n-0.328125 -0.4375 -0.5 \n-0.3125 -0.453125 -0.5 \n-0.3125 -0.484375 -0.5 \n-0.328125 -0.484375 -0.5 \n-0.484375 -0.1875 -0.5 \n-0.484375 -0.203125 -0.5 \n-0.453125 -0.1875 -0.5 \n-0.4375 -0.203125 -0.5 \n-0.4375 -0.234375 -0.5 \n-0.453125 -0.234375 -0.5 \n-0.484375 -0.0625 -0.5 \n-0.484375 -0.078125 -0.5 \n-0.453125 -0.0625 -0.5 \n-0.4375 -0.078125 -0.5 \n-0.4375 -0.109375 -0.5 \n-0.453125 -0.109375 -0.5 \n-0.359375 -0.1875 -0.5 \n-0.359375 -0.203125 -0.5 \n-0.328125 -0.1875 -0.5 \n-0.3125 -0.203125 -0.5 \n-0.3125 -0.234375 -0.5 \n-0.328125 -0.234375 -0.5 \n-0.234375 -0.4375 -0.5 \n-0.234375 -0.453125 -0.5 \n-0.203125 -0.4375 -0.5 \n-0.1875 -0.453125 -0.5 \n-0.1875 -0.484375 -0.5 \n-0.203125 -0.484375 -0.5 \n-0.234375 -0.3125 -0.5 \n-0.234375 -0.328125 -0.5 \n-0.203125 -0.3125 -0.5 \n-0.1875 -0.328125 -0.5 \n-0.1875 -0.359375 -0.5 \n-0.203125 -0.359375 -0.5 \n-0.109375 -0.4375 -0.5 \n-0.109375 -0.453125 -0.5 \n-0.078125 -0.4375 -0.5 \n-0.0625 -0.453125 -0.5 \n-0.0625 -0.484375 -0.5 \n-0.078125 -0.484375 -0.5 \n-0.484375 0.0625 -0.5 \n-0.484375 0.046875 -0.5 \n-0.453125 0.0625 -0.5 \n-0.4375 0.046875 -0.5 \n-0.4375 0.015625 -0.5 \n-0.453125 0.015625 -0.5 \n-0.484375 0.1875 -0.5 \n-0.484375 0.171875 -0.5 \n-0.453125 0.1875 -0.5 \n-0.4375 0.171875 -0.5 \n-0.4375 0.140625 -0.5 \n-0.453125 0.140625 -0.5 \n-0.359375 0.0625 -0.5 \n-0.359375 0.046875 -0.5 \n-0.328125 0.0625 -0.5 \n-0.3125 0.046875 -0.5 \n-0.3125 0.015625 -0.5 \n-0.328125 0.015625 -0.5 \n-0.484375 0.3125 -0.5 \n-0.484375 0.296875 -0.5 \n-0.453125 0.3125 -0.5 \n-0.4375 0.296875 -0.5 \n-0.4375 0.265625 -0.5 \n-0.453125 0.265625 -0.5 \n-0.484375 0.4375 -0.5 \n-0.484375 0.421875 -0.5 \n-0.453125 0.4375 -0.5 \n-0.4375 0.421875 -0.5 \n-0.4375 0.390625 -0.5 \n-0.453125 0.390625 -0.5 \n-0.359375 0.3125 -0.5 \n-0.359375 0.296875 -0.5 \n-0.328125 0.3125 -0.5 \n-0.3125 0.296875 -0.5 \n-0.3125 0.265625 -0.5 \n-0.328125 0.265625 -0.5 \n-0.234375 0.0625 -0.5 \n-0.234375 0.046875 -0.5 \n-0.203125 0.0625 -0.5 \n-0.1875 0.046875 -0.5 \n-0.1875 0.015625 -0.5 \n-0.203125 0.015625 -0.5 \n-0.234375 0.1875 -0.5 \n-0.234375 0.171875 -0.5 \n-0.203125 0.1875 -0.5 \n-0.1875 0.171875 -0.5 \n-0.1875 0.140625 -0.5 \n-0.203125 0.140625 -0.5 \n-0.109375 0.0625 -0.5 \n-0.109375 0.046875 -0.5 \n-0.078125 0.0625 -0.5 \n-0.0625 0.046875 -0.5 \n-0.0625 0.015625 -0.5 \n-0.078125 0.015625 -0.5 \n0.015625 -0.4375 -0.5 \n0.015625 -0.453125 -0.5 \n0.046875 -0.4375 -0.5 \n0.0625 -0.453125 -0.5 \n0.0625 -0.484375 -0.5 \n0.046875 -0.484375 -0.5 \n0.015625 -0.3125 -0.5 \n0.015625 -0.328125 -0.5 \n0.046875 -0.3125 -0.5 \n0.0625 -0.328125 -0.5 \n0.0625 -0.359375 -0.5 \n0.046875 -0.359375 -0.5 \n0.140625 -0.4375 -0.5 \n0.140625 -0.453125 -0.5 \n0.171875 -0.4375 -0.5 \n0.1875 -0.453125 -0.5 \n0.1875 -0.484375 -0.5 \n0.171875 -0.484375 -0.5 \n0.015625 -0.1875 -0.5 \n0.015625 -0.203125 -0.5 \n0.046875 -0.1875 -0.5 \n0.0625 -0.203125 -0.5 \n0.0625 -0.234375 -0.5 \n0.046875 -0.234375 -0.5 \n0.015625 -0.0625 -0.5 \n0.015625 -0.078125 -0.5 \n0.046875 -0.0625 -0.5 \n0.0625 -0.078125 -0.5 \n0.0625 -0.109375 -0.5 \n0.046875 -0.109375 -0.5 \n0.140625 -0.1875 -0.5 \n0.140625 -0.203125 -0.5 \n0.171875 -0.1875 -0.5 \n0.1875 -0.203125 -0.5 \n0.1875 -0.234375 -0.5 \n0.171875 -0.234375 -0.5 \n0.265625 -0.4375 -0.5 \n0.265625 -0.453125 -0.5 \n0.296875 -0.4375 -0.5 \n0.3125 -0.453125 -0.5 \n0.3125 -0.484375 -0.5 \n0.296875 -0.484375 -0.5 \n0.265625 -0.3125 -0.5 \n0.265625 -0.328125 -0.5 \n0.296875 -0.3125 -0.5 \n0.3125 -0.328125 -0.5 \n0.3125 -0.359375 -0.5 \n0.296875 -0.359375 -0.5 \n0.390625 -0.4375 -0.5 \n0.390625 -0.453125 -0.5 \n0.421875 -0.4375 -0.5 \n0.4375 -0.453125 -0.5 \n0.4375 -0.484375 -0.5 \n0.421875 -0.484375 -0.5 \n0.484375 0.4375 -0.5 \n0.484375 0.453125 -0.5 \n0.453125 0.4375 -0.5 \n0.4375 0.453125 -0.5 \n0.4375 0.484375 -0.5 \n0.453125 0.484375 -0.5 \n0.484375 0.3125 -0.5 \n0.484375 0.328125 -0.5 \n0.453125 0.3125 -0.5 \n0.4375 0.328125 -0.5 \n0.4375 0.359375 -0.5 \n0.453125 0.359375 -0.5 \n0.359375 0.4375 -0.5 \n0.359375 0.453125 -0.5 \n0.328125 0.4375 -0.5 \n0.3125 0.453125 -0.5 \n0.3125 0.484375 -0.5 \n0.328125 0.484375 -0.5 \n0.484375 0.1875 -0.5 \n0.484375 0.203125 -0.5 \n0.453125 0.1875 -0.5 \n0.4375 0.203125 -0.5 \n0.4375 0.234375 -0.5 \n0.453125 0.234375 -0.5 \n0.484375 0.0625 -0.5 \n0.484375 0.078125 -0.5 \n0.453125 0.0625 -0.5 \n0.4375 0.078125 -0.5 \n0.4375 0.109375 -0.5 \n0.453125 0.109375 -0.5 \n0.359375 0.1875 -0.5 \n0.359375 0.203125 -0.5 \n0.328125 0.1875 -0.5 \n0.3125 0.203125 -0.5 \n0.3125 0.234375 -0.5 \n0.328125 0.234375 -0.5 \n0.234375 0.4375 -0.5 \n0.234375 0.453125 -0.5 \n0.203125 0.4375 -0.5 \n0.1875 0.453125 -0.5 \n0.1875 0.484375 -0.5 \n0.203125 0.484375 -0.5 \n0.234375 0.3125 -0.5 \n0.234375 0.328125 -0.5 \n0.203125 0.3125 -0.5 \n0.1875 0.328125 -0.5 \n0.1875 0.359375 -0.5 \n0.203125 0.359375 -0.5 \n0.109375 0.4375 -0.5 \n0.109375 0.453125 -0.5 \n0.078125 0.4375 -0.5 \n0.0625 0.453125 -0.5 \n0.0625 0.484375 -0.5 \n0.078125 0.484375 -0.5 \n0.484375 -0.0625 -0.5 \n0.484375 -0.046875 -0.5 \n0.453125 -0.0625 -0.5 \n0.4375 -0.046875 -0.5 \n0.4375 -0.015625 -0.5 \n0.453125 -0.015625 -0.5 \n0.484375 -0.1875 -0.5 \n0.484375 -0.171875 -0.5 \n0.453125 -0.1875 -0.5 \n0.4375 -0.171875 -0.5 \n0.4375 -0.140625 -0.5 \n0.453125 -0.140625 -0.5 \n0.359375 -0.0625 -0.5 \n0.359375 -0.046875 -0.5 \n0.328125 -0.0625 -0.5 \n0.3125 -0.046875 -0.5 \n0.3125 -0.015625 -0.5 \n0.328125 -0.015625 -0.5 \n0.484375 -0.3125 -0.5 \n0.484375 -0.296875 -0.5 \n0.453125 -0.3125 -0.5 \n0.4375 -0.296875 -0.5 \n0.4375 -0.265625 -0.5 \n0.453125 -0.265625 -0.5 \n0.484375 -0.4375 -0.5 \n0.484375 -0.421875 -0.5 \n0.453125 -0.4375 -0.5 \n0.4375 -0.421875 -0.5 \n0.4375 -0.390625 -0.5 \n0.453125 -0.390625 -0.5 \n0.359375 -0.3125 -0.5 \n0.359375 -0.296875 -0.5 \n0.328125 -0.3125 -0.5 \n0.3125 -0.296875 -0.5 \n0.3125 -0.265625 -0.5 \n0.328125 -0.265625 -0.5 \n0.234375 -0.0625 -0.5 \n0.234375 -0.046875 -0.5 \n0.203125 -0.0625 -0.5 \n0.1875 -0.046875 -0.5 \n0.1875 -0.015625 -0.5 \n0.203125 -0.015625 -0.5 \n0.234375 -0.1875 -0.5 \n0.234375 -0.171875 -0.5 \n0.203125 -0.1875 -0.5 \n0.1875 -0.171875 -0.5 \n0.1875 -0.140625 -0.5 \n0.203125 -0.140625 -0.5 \n0.109375 -0.0625 -0.5 \n0.109375 -0.046875 -0.5 \n0.078125 -0.0625 -0.5 \n0.0625 -0.046875 -0.5 \n0.0625 -0.015625 -0.5 \n0.078125 -0.015625 -0.5 \n-0.015625 0.4375 -0.5 \n-0.015625 0.453125 -0.5 \n-0.046875 0.4375 -0.5 \n-0.0625 0.453125 -0.5 \n-0.0625 0.484375 -0.5 \n-0.046875 0.484375 -0.5 \n-0.015625 0.3125 -0.5 \n-0.015625 0.328125 -0.5 \n-0.046875 0.3125 -0.5 \n-0.0625 0.328125 -0.5 \n-0.0625 0.359375 -0.5 \n-0.046875 0.359375 -0.5 \n-0.140625 0.4375 -0.5 \n-0.140625 0.453125 -0.5 \n-0.171875 0.4375 -0.5 \n-0.1875 0.453125 -0.5 \n-0.1875 0.484375 -0.5 \n-0.171875 0.484375 -0.5 \n-0.015625 0.1875 -0.5 \n-0.015625 0.203125 -0.5 \n-0.046875 0.1875 -0.5 \n-0.0625 0.203125 -0.5 \n-0.0625 0.234375 -0.5 \n-0.046875 0.234375 -0.5 \n-0.015625 0.0625 -0.5 \n-0.015625 0.078125 -0.5 \n-0.046875 0.0625 -0.5 \n-0.0625 0.078125 -0.5 \n-0.0625 0.109375 -0.5 \n-0.046875 0.109375 -0.5 \n-0.140625 0.1875 -0.5 \n-0.140625 0.203125 -0.5 \n-0.171875 0.1875 -0.5 \n-0.1875 0.203125 -0.5 \n-0.1875 0.234375 -0.5 \n-0.171875 0.234375 -0.5 \n-0.265625 0.4375 -0.5 \n-0.265625 0.453125 -0.5 \n-0.296875 0.4375 -0.5 \n-0.3125 0.453125 -0.5 \n-0.3125 0.484375 -0.5 \n-0.296875 0.484375 -0.5 \n-0.265625 0.3125 -0.5 \n-0.265625 0.328125 -0.5 \n-0.296875 0.3125 -0.5 \n-0.3125 0.328125 -0.5 \n-0.3125 0.359375 -0.5 \n-0.296875 0.359375 -0.5 \n-0.390625 0.4375 -0.5 \n-0.390625 0.453125 -0.5 \n-0.421875 0.4375 -0.5 \n-0.4375 0.453125 -0.5 \n-0.4375 0.484375 -0.5 \n-0.421875 0.484375 -0.5 \n-0.4375 -0.5 -0.484375 \n-0.453125 -0.5 -0.484375 \n-0.4375 -0.5 -0.453125 \n-0.453125 -0.5 -0.4375 \n-0.484375 -0.5 -0.4375 \n-0.484375 -0.5 -0.453125 \n-0.3125 -0.5 -0.484375 \n-0.328125 -0.5 -0.484375 \n-0.3125 -0.5 -0.453125 \n-0.328125 -0.5 -0.4375 \n-0.359375 -0.5 -0.4375 \n-0.359375 -0.5 -0.453125 \n-0.4375 -0.5 -0.359375 \n-0.453125 -0.5 -0.359375 \n-0.4375 -0.5 -0.328125 \n-0.453125 -0.5 -0.3125 \n-0.484375 -0.5 -0.3125 \n-0.484375 -0.5 -0.328125 \n-0.1875 -0.5 -0.484375 \n-0.203125 -0.5 -0.484375 \n-0.1875 -0.5 -0.453125 \n-0.203125 -0.5 -0.4375 \n-0.234375 -0.5 -0.4375 \n-0.234375 -0.5 -0.453125 \n-0.0625 -0.5 -0.484375 \n-0.078125 -0.5 -0.484375 \n-0.0625 -0.5 -0.453125 \n-0.078125 -0.5 -0.4375 \n-0.109375 -0.5 -0.4375 \n-0.109375 -0.5 -0.453125 \n-0.1875 -0.5 -0.359375 \n-0.203125 -0.5 -0.359375 \n-0.1875 -0.5 -0.328125 \n-0.203125 -0.5 -0.3125 \n-0.234375 -0.5 -0.3125 \n-0.234375 -0.5 -0.328125 \n-0.4375 -0.5 -0.234375 \n-0.453125 -0.5 -0.234375 \n-0.4375 -0.5 -0.203125 \n-0.453125 -0.5 -0.1875 \n-0.484375 -0.5 -0.1875 \n-0.484375 -0.5 -0.203125 \n-0.3125 -0.5 -0.234375 \n-0.328125 -0.5 -0.234375 \n-0.3125 -0.5 -0.203125 \n-0.328125 -0.5 -0.1875 \n-0.359375 -0.5 -0.1875 \n-0.359375 -0.5 -0.203125 \n-0.4375 -0.5 -0.109375 \n-0.453125 -0.5 -0.109375 \n-0.4375 -0.5 -0.078125 \n-0.453125 -0.5 -0.0625 \n-0.484375 -0.5 -0.0625 \n-0.484375 -0.5 -0.078125 \n0.0625 -0.5 -0.484375 \n0.046875 -0.5 -0.484375 \n0.0625 -0.5 -0.453125 \n0.046875 -0.5 -0.4375 \n0.015625 -0.5 -0.4375 \n0.015625 -0.5 -0.453125 \n0.1875 -0.5 -0.484375 \n0.171875 -0.5 -0.484375 \n0.1875 -0.5 -0.453125 \n0.171875 -0.5 -0.4375 \n0.140625 -0.5 -0.4375 \n0.140625 -0.5 -0.453125 \n0.0625 -0.5 -0.359375 \n0.046875 -0.5 -0.359375 \n0.0625 -0.5 -0.328125 \n0.046875 -0.5 -0.3125 \n0.015625 -0.5 -0.3125 \n0.015625 -0.5 -0.328125 \n0.3125 -0.5 -0.484375 \n0.296875 -0.5 -0.484375 \n0.3125 -0.5 -0.453125 \n0.296875 -0.5 -0.4375 \n0.265625 -0.5 -0.4375 \n0.265625 -0.5 -0.453125 \n0.4375 -0.5 -0.484375 \n0.421875 -0.5 -0.484375 \n0.4375 -0.5 -0.453125 \n0.421875 -0.5 -0.4375 \n0.390625 -0.5 -0.4375 \n0.390625 -0.5 -0.453125 \n0.3125 -0.5 -0.359375 \n0.296875 -0.5 -0.359375 \n0.3125 -0.5 -0.328125 \n0.296875 -0.5 -0.3125 \n0.265625 -0.5 -0.3125 \n0.265625 -0.5 -0.328125 \n0.0625 -0.5 -0.234375 \n0.046875 -0.5 -0.234375 \n0.0625 -0.5 -0.203125 \n0.046875 -0.5 -0.1875 \n0.015625 -0.5 -0.1875 \n0.015625 -0.5 -0.203125 \n0.1875 -0.5 -0.234375 \n0.171875 -0.5 -0.234375 \n0.1875 -0.5 -0.203125 \n0.171875 -0.5 -0.1875 \n0.140625 -0.5 -0.1875 \n0.140625 -0.5 -0.203125 \n0.0625 -0.5 -0.109375 \n0.046875 -0.5 -0.109375 \n0.0625 -0.5 -0.078125 \n0.046875 -0.5 -0.0625 \n0.015625 -0.5 -0.0625 \n0.015625 -0.5 -0.078125 \n-0.4375 -0.5 0.015625 \n-0.453125 -0.5 0.015625 \n-0.4375 -0.5 0.046875 \n-0.453125 -0.5 0.0625 \n-0.484375 -0.5 0.0625 \n-0.484375 -0.5 0.046875 \n-0.3125 -0.5 0.015625 \n-0.328125 -0.5 0.015625 \n-0.3125 -0.5 0.046875 \n-0.328125 -0.5 0.0625 \n-0.359375 -0.5 0.0625 \n-0.359375 -0.5 0.046875 \n-0.4375 -0.5 0.140625 \n-0.453125 -0.5 0.140625 \n-0.4375 -0.5 0.171875 \n-0.453125 -0.5 0.1875 \n-0.484375 -0.5 0.1875 \n-0.484375 -0.5 0.171875 \n-0.1875 -0.5 0.015625 \n-0.203125 -0.5 0.015625 \n-0.1875 -0.5 0.046875 \n-0.203125 -0.5 0.0625 \n-0.234375 -0.5 0.0625 \n-0.234375 -0.5 0.046875 \n-0.0625 -0.5 0.015625 \n-0.078125 -0.5 0.015625 \n-0.0625 -0.5 0.046875 \n-0.078125 -0.5 0.0625 \n-0.109375 -0.5 0.0625 \n-0.109375 -0.5 0.046875 \n-0.1875 -0.5 0.140625 \n-0.203125 -0.5 0.140625 \n-0.1875 -0.5 0.171875 \n-0.203125 -0.5 0.1875 \n-0.234375 -0.5 0.1875 \n-0.234375 -0.5 0.171875 \n-0.4375 -0.5 0.265625 \n-0.453125 -0.5 0.265625 \n-0.4375 -0.5 0.296875 \n-0.453125 -0.5 0.3125 \n-0.484375 -0.5 0.3125 \n-0.484375 -0.5 0.296875 \n-0.3125 -0.5 0.265625 \n-0.328125 -0.5 0.265625 \n-0.3125 -0.5 0.296875 \n-0.328125 -0.5 0.3125 \n-0.359375 -0.5 0.3125 \n-0.359375 -0.5 0.296875 \n-0.4375 -0.5 0.390625 \n-0.453125 -0.5 0.390625 \n-0.4375 -0.5 0.421875 \n-0.453125 -0.5 0.4375 \n-0.484375 -0.5 0.4375 \n-0.484375 -0.5 0.421875 \n0.4375 -0.5 0.484375 \n0.453125 -0.5 0.484375 \n0.4375 -0.5 0.453125 \n0.453125 -0.5 0.4375 \n0.484375 -0.5 0.4375 \n0.484375 -0.5 0.453125 \n0.3125 -0.5 0.484375 \n0.328125 -0.5 0.484375 \n0.3125 -0.5 0.453125 \n0.328125 -0.5 0.4375 \n0.359375 -0.5 0.4375 \n0.359375 -0.5 0.453125 \n0.4375 -0.5 0.359375 \n0.453125 -0.5 0.359375 \n0.4375 -0.5 0.328125 \n0.453125 -0.5 0.3125 \n0.484375 -0.5 0.3125 \n0.484375 -0.5 0.328125 \n0.1875 -0.5 0.484375 \n0.203125 -0.5 0.484375 \n0.1875 -0.5 0.453125 \n0.203125 -0.5 0.4375 \n0.234375 -0.5 0.4375 \n0.234375 -0.5 0.453125 \n0.0625 -0.5 0.484375 \n0.078125 -0.5 0.484375 \n0.0625 -0.5 0.453125 \n0.078125 -0.5 0.4375 \n0.109375 -0.5 0.4375 \n0.109375 -0.5 0.453125 \n0.1875 -0.5 0.359375 \n0.203125 -0.5 0.359375 \n0.1875 -0.5 0.328125 \n0.203125 -0.5 0.3125 \n0.234375 -0.5 0.3125 \n0.234375 -0.5 0.328125 \n0.4375 -0.5 0.234375 \n0.453125 -0.5 0.234375 \n0.4375 -0.5 0.203125 \n0.453125 -0.5 0.1875 \n0.484375 -0.5 0.1875 \n0.484375 -0.5 0.203125 \n0.3125 -0.5 0.234375 \n0.328125 -0.5 0.234375 \n0.3125 -0.5 0.203125 \n0.328125 -0.5 0.1875 \n0.359375 -0.5 0.1875 \n0.359375 -0.5 0.203125 \n0.4375 -0.5 0.109375 \n0.453125 -0.5 0.109375 \n0.4375 -0.5 0.078125 \n0.453125 -0.5 0.0625 \n0.484375 -0.5 0.0625 \n0.484375 -0.5 0.078125 \n-0.0625 -0.5 0.484375 \n-0.046875 -0.5 0.484375 \n-0.0625 -0.5 0.453125 \n-0.046875 -0.5 0.4375 \n-0.015625 -0.5 0.4375 \n-0.015625 -0.5 0.453125 \n-0.1875 -0.5 0.484375 \n-0.171875 -0.5 0.484375 \n-0.1875 -0.5 0.453125 \n-0.171875 -0.5 0.4375 \n-0.140625 -0.5 0.4375 \n-0.140625 -0.5 0.453125 \n-0.0625 -0.5 0.359375 \n-0.046875 -0.5 0.359375 \n-0.0625 -0.5 0.328125 \n-0.046875 -0.5 0.3125 \n-0.015625 -0.5 0.3125 \n-0.015625 -0.5 0.328125 \n-0.3125 -0.5 0.484375 \n-0.296875 -0.5 0.484375 \n-0.3125 -0.5 0.453125 \n-0.296875 -0.5 0.4375 \n-0.265625 -0.5 0.4375 \n-0.265625 -0.5 0.453125 \n-0.4375 -0.5 0.484375 \n-0.421875 -0.5 0.484375 \n-0.4375 -0.5 0.453125 \n-0.421875 -0.5 0.4375 \n-0.390625 -0.5 0.4375 \n-0.390625 -0.5 0.453125 \n-0.3125 -0.5 0.359375 \n-0.296875 -0.5 0.359375 \n-0.3125 -0.5 0.328125 \n-0.296875 -0.5 0.3125 \n-0.265625 -0.5 0.3125 \n-0.265625 -0.5 0.328125 \n-0.0625 -0.5 0.234375 \n-0.046875 -0.5 0.234375 \n-0.0625 -0.5 0.203125 \n-0.046875 -0.5 0.1875 \n-0.015625 -0.5 0.1875 \n-0.015625 -0.5 0.203125 \n-0.1875 -0.5 0.234375 \n-0.171875 -0.5 0.234375 \n-0.1875 -0.5 0.203125 \n-0.171875 -0.5 0.1875 \n-0.140625 -0.5 0.1875 \n-0.140625 -0.5 0.203125 \n-0.0625 -0.5 0.109375 \n-0.046875 -0.5 0.109375 \n-0.0625 -0.5 0.078125 \n-0.046875 -0.5 0.0625 \n-0.015625 -0.5 0.0625 \n-0.015625 -0.5 0.078125 \n0.4375 -0.5 -0.015625 \n0.453125 -0.5 -0.015625 \n0.4375 -0.5 -0.046875 \n0.453125 -0.5 -0.0625 \n0.484375 -0.5 -0.0625 \n0.484375 -0.5 -0.046875 \n0.3125 -0.5 -0.015625 \n0.328125 -0.5 -0.015625 \n0.3125 -0.5 -0.046875 \n0.328125 -0.5 -0.0625 \n0.359375 -0.5 -0.0625 \n0.359375 -0.5 -0.046875 \n0.4375 -0.5 -0.140625 \n0.453125 -0.5 -0.140625 \n0.4375 -0.5 -0.171875 \n0.453125 -0.5 -0.1875 \n0.484375 -0.5 -0.1875 \n0.484375 -0.5 -0.171875 \n0.1875 -0.5 -0.015625 \n0.203125 -0.5 -0.015625 \n0.1875 -0.5 -0.046875 \n0.203125 -0.5 -0.0625 \n0.234375 -0.5 -0.0625 \n0.234375 -0.5 -0.046875 \n0.0625 -0.5 -0.015625 \n0.078125 -0.5 -0.015625 \n0.0625 -0.5 -0.046875 \n0.078125 -0.5 -0.0625 \n0.109375 -0.5 -0.0625 \n0.109375 -0.5 -0.046875 \n0.1875 -0.5 -0.140625 \n0.203125 -0.5 -0.140625 \n0.1875 -0.5 -0.171875 \n0.203125 -0.5 -0.1875 \n0.234375 -0.5 -0.1875 \n0.234375 -0.5 -0.171875 \n0.4375 -0.5 -0.265625 \n0.453125 -0.5 -0.265625 \n0.4375 -0.5 -0.296875 \n0.453125 -0.5 -0.3125 \n0.484375 -0.5 -0.3125 \n0.484375 -0.5 -0.296875 \n0.3125 -0.5 -0.265625 \n0.328125 -0.5 -0.265625 \n0.3125 -0.5 -0.296875 \n0.328125 -0.5 -0.3125 \n0.359375 -0.5 -0.3125 \n0.359375 -0.5 -0.296875 \n0.4375 -0.5 -0.390625 \n0.453125 -0.5 -0.390625 \n0.4375 -0.5 -0.421875 \n0.453125 -0.5 -0.4375 \n0.484375 -0.5 -0.4375 \n0.484375 -0.5 -0.421875 \n-0.5 -0.484375 -0.4375 \n-0.5 -0.484375 -0.453125 \n-0.5 -0.453125 -0.4375 \n-0.5 -0.4375 -0.453125 \n-0.5 -0.4375 -0.484375 \n-0.5 -0.453125 -0.484375 \n-0.5 -0.484375 -0.3125 \n-0.5 -0.484375 -0.328125 \n-0.5 -0.453125 -0.3125 \n-0.5 -0.4375 -0.328125 \n-0.5 -0.4375 -0.359375 \n-0.5 -0.453125 -0.359375 \n-0.5 -0.359375 -0.4375 \n-0.5 -0.359375 -0.453125 \n-0.5 -0.328125 -0.4375 \n-0.5 -0.3125 -0.453125 \n-0.5 -0.3125 -0.484375 \n-0.5 -0.328125 -0.484375 \n-0.5 -0.484375 -0.1875 \n-0.5 -0.484375 -0.203125 \n-0.5 -0.453125 -0.1875 \n-0.5 -0.4375 -0.203125 \n-0.5 -0.4375 -0.234375 \n-0.5 -0.453125 -0.234375 \n-0.5 -0.484375 -0.0625 \n-0.5 -0.484375 -0.078125 \n-0.5 -0.453125 -0.0625 \n-0.5 -0.4375 -0.078125 \n-0.5 -0.4375 -0.109375 \n-0.5 -0.453125 -0.109375 \n-0.5 -0.359375 -0.1875 \n-0.5 -0.359375 -0.203125 \n-0.5 -0.328125 -0.1875 \n-0.5 -0.3125 -0.203125 \n-0.5 -0.3125 -0.234375 \n-0.5 -0.328125 -0.234375 \n-0.5 -0.234375 -0.4375 \n-0.5 -0.234375 -0.453125 \n-0.5 -0.203125 -0.4375 \n-0.5 -0.1875 -0.453125 \n-0.5 -0.1875 -0.484375 \n-0.5 -0.203125 -0.484375 \n-0.5 -0.234375 -0.3125 \n-0.5 -0.234375 -0.328125 \n-0.5 -0.203125 -0.3125 \n-0.5 -0.1875 -0.328125 \n-0.5 -0.1875 -0.359375 \n-0.5 -0.203125 -0.359375 \n-0.5 -0.109375 -0.4375 \n-0.5 -0.109375 -0.453125 \n-0.5 -0.078125 -0.4375 \n-0.5 -0.0625 -0.453125 \n-0.5 -0.0625 -0.484375 \n-0.5 -0.078125 -0.484375 \n-0.5 -0.484375 0.0625 \n-0.5 -0.484375 0.046875 \n-0.5 -0.453125 0.0625 \n-0.5 -0.4375 0.046875 \n-0.5 -0.4375 0.015625 \n-0.5 -0.453125 0.015625 \n-0.5 -0.484375 0.1875 \n-0.5 -0.484375 0.171875 \n-0.5 -0.453125 0.1875 \n-0.5 -0.4375 0.171875 \n-0.5 -0.4375 0.140625 \n-0.5 -0.453125 0.140625 \n-0.5 -0.359375 0.0625 \n-0.5 -0.359375 0.046875 \n-0.5 -0.328125 0.0625 \n-0.5 -0.3125 0.046875 \n-0.5 -0.3125 0.015625 \n-0.5 -0.328125 0.015625 \n-0.5 -0.484375 0.3125 \n-0.5 -0.484375 0.296875 \n-0.5 -0.453125 0.3125 \n-0.5 -0.4375 0.296875 \n-0.5 -0.4375 0.265625 \n-0.5 -0.453125 0.265625 \n-0.5 -0.484375 0.4375 \n-0.5 -0.484375 0.421875 \n-0.5 -0.453125 0.4375 \n-0.5 -0.4375 0.421875 \n-0.5 -0.4375 0.390625 \n-0.5 -0.453125 0.390625 \n-0.5 -0.359375 0.3125 \n-0.5 -0.359375 0.296875 \n-0.5 -0.328125 0.3125 \n-0.5 -0.3125 0.296875 \n-0.5 -0.3125 0.265625 \n-0.5 -0.328125 0.265625 \n-0.5 -0.234375 0.0625 \n-0.5 -0.234375 0.046875 \n-0.5 -0.203125 0.0625 \n-0.5 -0.1875 0.046875 \n-0.5 -0.1875 0.015625 \n-0.5 -0.203125 0.015625 \n-0.5 -0.234375 0.1875 \n-0.5 -0.234375 0.171875 \n-0.5 -0.203125 0.1875 \n-0.5 -0.1875 0.171875 \n-0.5 -0.1875 0.140625 \n-0.5 -0.203125 0.140625 \n-0.5 -0.109375 0.0625 \n-0.5 -0.109375 0.046875 \n-0.5 -0.078125 0.0625 \n-0.5 -0.0625 0.046875 \n-0.5 -0.0625 0.015625 \n-0.5 -0.078125 0.015625 \n-0.5 0.015625 -0.4375 \n-0.5 0.015625 -0.453125 \n-0.5 0.046875 -0.4375 \n-0.5 0.0625 -0.453125 \n-0.5 0.0625 -0.484375 \n-0.5 0.046875 -0.484375 \n-0.5 0.015625 -0.3125 \n-0.5 0.015625 -0.328125 \n-0.5 0.046875 -0.3125 \n-0.5 0.0625 -0.328125 \n-0.5 0.0625 -0.359375 \n-0.5 0.046875 -0.359375 \n-0.5 0.140625 -0.4375 \n-0.5 0.140625 -0.453125 \n-0.5 0.171875 -0.4375 \n-0.5 0.1875 -0.453125 \n-0.5 0.1875 -0.484375 \n-0.5 0.171875 -0.484375 \n-0.5 0.015625 -0.1875 \n-0.5 0.015625 -0.203125 \n-0.5 0.046875 -0.1875 \n-0.5 0.0625 -0.203125 \n-0.5 0.0625 -0.234375 \n-0.5 0.046875 -0.234375 \n-0.5 0.015625 -0.0625 \n-0.5 0.015625 -0.078125 \n-0.5 0.046875 -0.0625 \n-0.5 0.0625 -0.078125 \n-0.5 0.0625 -0.109375 \n-0.5 0.046875 -0.109375 \n-0.5 0.140625 -0.1875 \n-0.5 0.140625 -0.203125 \n-0.5 0.171875 -0.1875 \n-0.5 0.1875 -0.203125 \n-0.5 0.1875 -0.234375 \n-0.5 0.171875 -0.234375 \n-0.5 0.265625 -0.4375 \n-0.5 0.265625 -0.453125 \n-0.5 0.296875 -0.4375 \n-0.5 0.3125 -0.453125 \n-0.5 0.3125 -0.484375 \n-0.5 0.296875 -0.484375 \n-0.5 0.265625 -0.3125 \n-0.5 0.265625 -0.328125 \n-0.5 0.296875 -0.3125 \n-0.5 0.3125 -0.328125 \n-0.5 0.3125 -0.359375 \n-0.5 0.296875 -0.359375 \n-0.5 0.390625 -0.4375 \n-0.5 0.390625 -0.453125 \n-0.5 0.421875 -0.4375 \n-0.5 0.4375 -0.453125 \n-0.5 0.4375 -0.484375 \n-0.5 0.421875 -0.484375 \n-0.5 0.484375 0.4375 \n-0.5 0.484375 0.453125 \n-0.5 0.453125 0.4375 \n-0.5 0.4375 0.453125 \n-0.5 0.4375 0.484375 \n-0.5 0.453125 0.484375 \n-0.5 0.484375 0.3125 \n-0.5 0.484375 0.328125 \n-0.5 0.453125 0.3125 \n-0.5 0.4375 0.328125 \n-0.5 0.4375 0.359375 \n-0.5 0.453125 0.359375 \n-0.5 0.359375 0.4375 \n-0.5 0.359375 0.453125 \n-0.5 0.328125 0.4375 \n-0.5 0.3125 0.453125 \n-0.5 0.3125 0.484375 \n-0.5 0.328125 0.484375 \n-0.5 0.484375 0.1875 \n-0.5 0.484375 0.203125 \n-0.5 0.453125 0.1875 \n-0.5 0.4375 0.203125 \n-0.5 0.4375 0.234375 \n-0.5 0.453125 0.234375 \n-0.5 0.484375 0.0625 \n-0.5 0.484375 0.078125 \n-0.5 0.453125 0.0625 \n-0.5 0.4375 0.078125 \n-0.5 0.4375 0.109375 \n-0.5 0.453125 0.109375 \n-0.5 0.359375 0.1875 \n-0.5 0.359375 0.203125 \n-0.5 0.328125 0.1875 \n-0.5 0.3125 0.203125 \n-0.5 0.3125 0.234375 \n-0.5 0.328125 0.234375 \n-0.5 0.234375 0.4375 \n-0.5 0.234375 0.453125 \n-0.5 0.203125 0.4375 \n-0.5 0.1875 0.453125 \n-0.5 0.1875 0.484375 \n-0.5 0.203125 0.484375 \n-0.5 0.234375 0.3125 \n-0.5 0.234375 0.328125 \n-0.5 0.203125 0.3125 \n-0.5 0.1875 0.328125 \n-0.5 0.1875 0.359375 \n-0.5 0.203125 0.359375 \n-0.5 0.109375 0.4375 \n-0.5 0.109375 0.453125 \n-0.5 0.078125 0.4375 \n-0.5 0.0625 0.453125 \n-0.5 0.0625 0.484375 \n-0.5 0.078125 0.484375 \n-0.5 0.484375 -0.0625 \n-0.5 0.484375 -0.046875 \n-0.5 0.453125 -0.0625 \n-0.5 0.4375 -0.046875 \n-0.5 0.4375 -0.015625 \n-0.5 0.453125 -0.015625 \n-0.5 0.484375 -0.1875 \n-0.5 0.484375 -0.171875 \n-0.5 0.453125 -0.1875 \n-0.5 0.4375 -0.171875 \n-0.5 0.4375 -0.140625 \n-0.5 0.453125 -0.140625 \n-0.5 0.359375 -0.0625 \n-0.5 0.359375 -0.046875 \n-0.5 0.328125 -0.0625 \n-0.5 0.3125 -0.046875 \n-0.5 0.3125 -0.015625 \n-0.5 0.328125 -0.015625 \n-0.5 0.484375 -0.3125 \n-0.5 0.484375 -0.296875 \n-0.5 0.453125 -0.3125 \n-0.5 0.4375 -0.296875 \n-0.5 0.4375 -0.265625 \n-0.5 0.453125 -0.265625 \n-0.5 0.484375 -0.4375 \n-0.5 0.484375 -0.421875 \n-0.5 0.453125 -0.4375 \n-0.5 0.4375 -0.421875 \n-0.5 0.4375 -0.390625 \n-0.5 0.453125 -0.390625 \n-0.5 0.359375 -0.3125 \n-0.5 0.359375 -0.296875 \n-0.5 0.328125 -0.3125 \n-0.5 0.3125 -0.296875 \n-0.5 0.3125 -0.265625 \n-0.5 0.328125 -0.265625 \n-0.5 0.234375 -0.0625 \n-0.5 0.234375 -0.046875 \n-0.5 0.203125 -0.0625 \n-0.5 0.1875 -0.046875 \n-0.5 0.1875 -0.015625 \n-0.5 0.203125 -0.015625 \n-0.5 0.234375 -0.1875 \n-0.5 0.234375 -0.171875 \n-0.5 0.203125 -0.1875 \n-0.5 0.1875 -0.171875 \n-0.5 0.1875 -0.140625 \n-0.5 0.203125 -0.140625 \n-0.5 0.109375 -0.0625 \n-0.5 0.109375 -0.046875 \n-0.5 0.078125 -0.0625 \n-0.5 0.0625 -0.046875 \n-0.5 0.0625 -0.015625 \n-0.5 0.078125 -0.015625 \n-0.5 -0.015625 0.4375 \n-0.5 -0.015625 0.453125 \n-0.5 -0.046875 0.4375 \n-0.5 -0.0625 0.453125 \n-0.5 -0.0625 0.484375 \n-0.5 -0.046875 0.484375 \n-0.5 -0.015625 0.3125 \n-0.5 -0.015625 0.328125 \n-0.5 -0.046875 0.3125 \n-0.5 -0.0625 0.328125 \n-0.5 -0.0625 0.359375 \n-0.5 -0.046875 0.359375 \n-0.5 -0.140625 0.4375 \n-0.5 -0.140625 0.453125 \n-0.5 -0.171875 0.4375 \n-0.5 -0.1875 0.453125 \n-0.5 -0.1875 0.484375 \n-0.5 -0.171875 0.484375 \n-0.5 -0.015625 0.1875 \n-0.5 -0.015625 0.203125 \n-0.5 -0.046875 0.1875 \n-0.5 -0.0625 0.203125 \n-0.5 -0.0625 0.234375 \n-0.5 -0.046875 0.234375 \n-0.5 -0.015625 0.0625 \n-0.5 -0.015625 0.078125 \n-0.5 -0.046875 0.0625 \n-0.5 -0.0625 0.078125 \n-0.5 -0.0625 0.109375 \n-0.5 -0.046875 0.109375 \n-0.5 -0.140625 0.1875 \n-0.5 -0.140625 0.203125 \n-0.5 -0.171875 0.1875 \n-0.5 -0.1875 0.203125 \n-0.5 -0.1875 0.234375 \n-0.5 -0.171875 0.234375 \n-0.5 -0.265625 0.4375 \n-0.5 -0.265625 0.453125 \n-0.5 -0.296875 0.4375 \n-0.5 -0.3125 0.453125 \n-0.5 -0.3125 0.484375 \n-0.5 -0.296875 0.484375 \n-0.5 -0.265625 0.3125 \n-0.5 -0.265625 0.328125 \n-0.5 -0.296875 0.3125 \n-0.5 -0.3125 0.328125 \n-0.5 -0.3125 0.359375 \n-0.5 -0.296875 0.359375 \n-0.5 -0.390625 0.4375 \n-0.5 -0.390625 0.453125 \n-0.5 -0.421875 0.4375 \n-0.5 -0.4375 0.453125 \n-0.5 -0.4375 0.484375 \n-0.5 -0.421875 0.484375 \n0.140625 0.125 0.5 \n0.125 0.140625 0.5 \n0.171875 0.125 0.5 \n0.125 0.171875 0.5 \n0.203125 0.125 0.5 \n0.234375 0.125 0.5 \n0.234375 0.140625 0.5 \n0.203125 0.171875 0.5 \n0.125 0.203125 0.5 \n0.171875 0.203125 0.5 \n0.140625 0.234375 0.5 \n0.125 0.234375 0.5 \n-0.140625 -0.125 0.5 \n-0.125 -0.140625 0.5 \n-0.171875 -0.125 0.5 \n-0.125 -0.171875 0.5 \n-0.203125 -0.125 0.5 \n-0.234375 -0.125 0.5 \n-0.234375 -0.140625 0.5 \n-0.203125 -0.171875 0.5 \n-0.125 -0.203125 0.5 \n-0.171875 -0.203125 0.5 \n-0.140625 -0.234375 0.5 \n-0.125 -0.234375 0.5 \n0.5 0.140625 0.125 \n0.5 0.125 0.140625 \n0.5 0.171875 0.125 \n0.5 0.125 0.171875 \n0.5 0.203125 0.125 \n0.5 0.234375 0.125 \n0.5 0.234375 0.140625 \n0.5 0.203125 0.171875 \n0.5 0.125 0.203125 \n0.5 0.171875 0.203125 \n0.5 0.140625 0.234375 \n0.5 0.125 0.234375 \n0.5 -0.140625 -0.125 \n0.5 -0.125 -0.140625 \n0.5 -0.171875 -0.125 \n0.5 -0.125 -0.171875 \n0.5 -0.203125 -0.125 \n0.5 -0.234375 -0.125 \n0.5 -0.234375 -0.140625 \n0.5 -0.203125 -0.171875 \n0.5 -0.125 -0.203125 \n0.5 -0.171875 -0.203125 \n0.5 -0.140625 -0.234375 \n0.5 -0.125 -0.234375 \n0.125 0.5 0.140625 \n0.140625 0.5 0.125 \n0.125 0.5 0.171875 \n0.171875 0.5 0.125 \n0.125 0.5 0.203125 \n0.125 0.5 0.234375 \n0.140625 0.5 0.234375 \n0.171875 0.5 0.203125 \n0.203125 0.5 0.125 \n0.203125 0.5 0.171875 \n0.234375 0.5 0.140625 \n0.234375 0.5 0.125 \n-0.125 0.5 -0.140625 \n-0.140625 0.5 -0.125 \n-0.125 0.5 -0.171875 \n-0.171875 0.5 -0.125 \n-0.125 0.5 -0.203125 \n-0.125 0.5 -0.234375 \n-0.140625 0.5 -0.234375 \n-0.171875 0.5 -0.203125 \n-0.203125 0.5 -0.125 \n-0.203125 0.5 -0.171875 \n-0.234375 0.5 -0.140625 \n-0.234375 0.5 -0.125 \n-0.125 -0.140625 -0.5 \n-0.140625 -0.125 -0.5 \n-0.125 -0.171875 -0.5 \n-0.171875 -0.125 -0.5 \n-0.125 -0.203125 -0.5 \n-0.125 -0.234375 -0.5 \n-0.140625 -0.234375 -0.5 \n-0.171875 -0.203125 -0.5 \n-0.203125 -0.125 -0.5 \n-0.203125 -0.171875 -0.5 \n-0.234375 -0.140625 -0.5 \n-0.234375 -0.125 -0.5 \n0.125 0.140625 -0.5 \n0.140625 0.125 -0.5 \n0.125 0.171875 -0.5 \n0.171875 0.125 -0.5 \n0.125 0.203125 -0.5 \n0.125 0.234375 -0.5 \n0.140625 0.234375 -0.5 \n0.171875 0.203125 -0.5 \n0.203125 0.125 -0.5 \n0.203125 0.171875 -0.5 \n0.234375 0.140625 -0.5 \n0.234375 0.125 -0.5 \n-0.140625 -0.5 -0.125 \n-0.125 -0.5 -0.140625 \n-0.171875 -0.5 -0.125 \n-0.125 -0.5 -0.171875 \n-0.203125 -0.5 -0.125 \n-0.234375 -0.5 -0.125 \n-0.234375 -0.5 -0.140625 \n-0.203125 -0.5 -0.171875 \n-0.125 -0.5 -0.203125 \n-0.171875 -0.5 -0.203125 \n-0.140625 -0.5 -0.234375 \n-0.125 -0.5 -0.234375 \n0.140625 -0.5 0.125 \n0.125 -0.5 0.140625 \n0.171875 -0.5 0.125 \n0.125 -0.5 0.171875 \n0.203125 -0.5 0.125 \n0.234375 -0.5 0.125 \n0.234375 -0.5 0.140625 \n0.203125 -0.5 0.171875 \n0.125 -0.5 0.203125 \n0.171875 -0.5 0.203125 \n0.140625 -0.5 0.234375 \n0.125 -0.5 0.234375 \n-0.5 -0.125 -0.140625 \n-0.5 -0.140625 -0.125 \n-0.5 -0.125 -0.171875 \n-0.5 -0.171875 -0.125 \n-0.5 -0.125 -0.203125 \n-0.5 -0.125 -0.234375 \n-0.5 -0.140625 -0.234375 \n-0.5 -0.171875 -0.203125 \n-0.5 -0.203125 -0.125 \n-0.5 -0.203125 -0.171875 \n-0.5 -0.234375 -0.140625 \n-0.5 -0.234375 -0.125 \n-0.5 0.125 0.140625 \n-0.5 0.140625 0.125 \n-0.5 0.125 0.171875 \n-0.5 0.171875 0.125 \n-0.5 0.125 0.203125 \n-0.5 0.125 0.234375 \n-0.5 0.140625 0.234375 \n-0.5 0.171875 0.203125 \n-0.5 0.203125 0.125 \n-0.5 0.203125 0.171875 \n-0.5 0.234375 0.140625 \n-0.5 0.234375 0.125 \n0.265625 0.359375 0.5 \n0.265625 0.375 0.5 \n0.296875 0.328125 0.5 \n0.296875 0.375 0.5 \n0.328125 0.296875 0.5 \n0.359375 0.265625 0.5 \n0.375 0.265625 0.5 \n0.375 0.296875 0.5 \n0.328125 0.375 0.5 \n0.375 0.328125 0.5 \n0.375 0.359375 0.5 \n0.359375 0.375 0.5 \n-0.234375 0.359375 0.5 \n-0.234375 0.375 0.5 \n-0.203125 0.328125 0.5 \n-0.203125 0.375 0.5 \n-0.171875 0.296875 0.5 \n-0.140625 0.265625 0.5 \n-0.125 0.265625 0.5 \n-0.125 0.296875 0.5 \n-0.171875 0.375 0.5 \n-0.125 0.328125 0.5 \n-0.125 0.359375 0.5 \n-0.140625 0.375 0.5 \n0.265625 -0.140625 0.5 \n0.265625 -0.125 0.5 \n0.296875 -0.171875 0.5 \n0.296875 -0.125 0.5 \n0.328125 -0.203125 0.5 \n0.359375 -0.234375 0.5 \n0.375 -0.234375 0.5 \n0.375 -0.203125 0.5 \n0.328125 -0.125 0.5 \n0.375 -0.171875 0.5 \n0.375 -0.140625 0.5 \n0.359375 -0.125 0.5 \n-0.265625 -0.359375 0.5 \n-0.265625 -0.375 0.5 \n-0.296875 -0.328125 0.5 \n-0.296875 -0.375 0.5 \n-0.328125 -0.296875 0.5 \n-0.359375 -0.265625 0.5 \n-0.375 -0.265625 0.5 \n-0.375 -0.296875 0.5 \n-0.328125 -0.375 0.5 \n-0.375 -0.328125 0.5 \n-0.375 -0.359375 0.5 \n-0.359375 -0.375 0.5 \n0.234375 -0.359375 0.5 \n0.234375 -0.375 0.5 \n0.203125 -0.328125 0.5 \n0.203125 -0.375 0.5 \n0.171875 -0.296875 0.5 \n0.140625 -0.265625 0.5 \n0.125 -0.265625 0.5 \n0.125 -0.296875 0.5 \n0.171875 -0.375 0.5 \n0.125 -0.328125 0.5 \n0.125 -0.359375 0.5 \n0.140625 -0.375 0.5 \n-0.265625 0.140625 0.5 \n-0.265625 0.125 0.5 \n-0.296875 0.171875 0.5 \n-0.296875 0.125 0.5 \n-0.328125 0.203125 0.5 \n-0.359375 0.234375 0.5 \n-0.375 0.234375 0.5 \n-0.375 0.203125 0.5 \n-0.328125 0.125 0.5 \n-0.375 0.171875 0.5 \n-0.375 0.140625 0.5 \n-0.359375 0.125 0.5 \n0.5 0.265625 0.359375 \n0.5 0.265625 0.375 \n0.5 0.296875 0.328125 \n0.5 0.296875 0.375 \n0.5 0.328125 0.296875 \n0.5 0.359375 0.265625 \n0.5 0.375 0.265625 \n0.5 0.375 0.296875 \n0.5 0.328125 0.375 \n0.5 0.375 0.328125 \n0.5 0.375 0.359375 \n0.5 0.359375 0.375 \n0.5 -0.234375 0.359375 \n0.5 -0.234375 0.375 \n0.5 -0.203125 0.328125 \n0.5 -0.203125 0.375 \n0.5 -0.171875 0.296875 \n0.5 -0.140625 0.265625 \n0.5 -0.125 0.265625 \n0.5 -0.125 0.296875 \n0.5 -0.171875 0.375 \n0.5 -0.125 0.328125 \n0.5 -0.125 0.359375 \n0.5 -0.140625 0.375 \n0.5 0.265625 -0.140625 \n0.5 0.265625 -0.125 \n0.5 0.296875 -0.171875 \n0.5 0.296875 -0.125 \n0.5 0.328125 -0.203125 \n0.5 0.359375 -0.234375 \n0.5 0.375 -0.234375 \n0.5 0.375 -0.203125 \n0.5 0.328125 -0.125 \n0.5 0.375 -0.171875 \n0.5 0.375 -0.140625 \n0.5 0.359375 -0.125 \n0.5 -0.265625 -0.359375 \n0.5 -0.265625 -0.375 \n0.5 -0.296875 -0.328125 \n0.5 -0.296875 -0.375 \n0.5 -0.328125 -0.296875 \n0.5 -0.359375 -0.265625 \n0.5 -0.375 -0.265625 \n0.5 -0.375 -0.296875 \n0.5 -0.328125 -0.375 \n0.5 -0.375 -0.328125 \n0.5 -0.375 -0.359375 \n0.5 -0.359375 -0.375 \n0.5 0.234375 -0.359375 \n0.5 0.234375 -0.375 \n0.5 0.203125 -0.328125 \n0.5 0.203125 -0.375 \n0.5 0.171875 -0.296875 \n0.5 0.140625 -0.265625 \n0.5 0.125 -0.265625 \n0.5 0.125 -0.296875 \n0.5 0.171875 -0.375 \n0.5 0.125 -0.328125 \n0.5 0.125 -0.359375 \n0.5 0.140625 -0.375 \n0.5 -0.265625 0.140625 \n0.5 -0.265625 0.125 \n0.5 -0.296875 0.171875 \n0.5 -0.296875 0.125 \n0.5 -0.328125 0.203125 \n0.5 -0.359375 0.234375 \n0.5 -0.375 0.234375 \n0.5 -0.375 0.203125 \n0.5 -0.328125 0.125 \n0.5 -0.375 0.171875 \n0.5 -0.375 0.140625 \n0.5 -0.359375 0.125 \n0.359375 0.5 0.265625 \n0.375 0.5 0.265625 \n0.328125 0.5 0.296875 \n0.375 0.5 0.296875 \n0.296875 0.5 0.328125 \n0.265625 0.5 0.359375 \n0.265625 0.5 0.375 \n0.296875 0.5 0.375 \n0.375 0.5 0.328125 \n0.328125 0.5 0.375 \n0.359375 0.5 0.375 \n0.375 0.5 0.359375 \n0.359375 0.5 -0.234375 \n0.375 0.5 -0.234375 \n0.328125 0.5 -0.203125 \n0.375 0.5 -0.203125 \n0.296875 0.5 -0.171875 \n0.265625 0.5 -0.140625 \n0.265625 0.5 -0.125 \n0.296875 0.5 -0.125 \n0.375 0.5 -0.171875 \n0.328125 0.5 -0.125 \n0.359375 0.5 -0.125 \n0.375 0.5 -0.140625 \n-0.140625 0.5 0.265625 \n-0.125 0.5 0.265625 \n-0.171875 0.5 0.296875 \n-0.125 0.5 0.296875 \n-0.203125 0.5 0.328125 \n-0.234375 0.5 0.359375 \n-0.234375 0.5 0.375 \n-0.203125 0.5 0.375 \n-0.125 0.5 0.328125 \n-0.171875 0.5 0.375 \n-0.140625 0.5 0.375 \n-0.125 0.5 0.359375 \n-0.359375 0.5 -0.265625 \n-0.375 0.5 -0.265625 \n-0.328125 0.5 -0.296875 \n-0.375 0.5 -0.296875 \n-0.296875 0.5 -0.328125 \n-0.265625 0.5 -0.359375 \n-0.265625 0.5 -0.375 \n-0.296875 0.5 -0.375 \n-0.375 0.5 -0.328125 \n-0.328125 0.5 -0.375 \n-0.359375 0.5 -0.375 \n-0.375 0.5 -0.359375 \n-0.359375 0.5 0.234375 \n-0.375 0.5 0.234375 \n-0.328125 0.5 0.203125 \n-0.375 0.5 0.203125 \n-0.296875 0.5 0.171875 \n-0.265625 0.5 0.140625 \n-0.265625 0.5 0.125 \n-0.296875 0.5 0.125 \n-0.375 0.5 0.171875 \n-0.328125 0.5 0.125 \n-0.359375 0.5 0.125 \n-0.375 0.5 0.140625 \n0.140625 0.5 -0.265625 \n0.125 0.5 -0.265625 \n0.171875 0.5 -0.296875 \n0.125 0.5 -0.296875 \n0.203125 0.5 -0.328125 \n0.234375 0.5 -0.359375 \n0.234375 0.5 -0.375 \n0.203125 0.5 -0.375 \n0.125 0.5 -0.328125 \n0.171875 0.5 -0.375 \n0.140625 0.5 -0.375 \n0.125 0.5 -0.359375 \n-0.359375 -0.265625 -0.5 \n-0.375 -0.265625 -0.5 \n-0.328125 -0.296875 -0.5 \n-0.375 -0.296875 -0.5 \n-0.296875 -0.328125 -0.5 \n-0.265625 -0.359375 -0.5 \n-0.265625 -0.375 -0.5 \n-0.296875 -0.375 -0.5 \n-0.375 -0.328125 -0.5 \n-0.328125 -0.375 -0.5 \n-0.359375 -0.375 -0.5 \n-0.375 -0.359375 -0.5 \n-0.359375 0.234375 -0.5 \n-0.375 0.234375 -0.5 \n-0.328125 0.203125 -0.5 \n-0.375 0.203125 -0.5 \n-0.296875 0.171875 -0.5 \n-0.265625 0.140625 -0.5 \n-0.265625 0.125 -0.5 \n-0.296875 0.125 -0.5 \n-0.375 0.171875 -0.5 \n-0.328125 0.125 -0.5 \n-0.359375 0.125 -0.5 \n-0.375 0.140625 -0.5 \n0.140625 -0.265625 -0.5 \n0.125 -0.265625 -0.5 \n0.171875 -0.296875 -0.5 \n0.125 -0.296875 -0.5 \n0.203125 -0.328125 -0.5 \n0.234375 -0.359375 -0.5 \n0.234375 -0.375 -0.5 \n0.203125 -0.375 -0.5 \n0.125 -0.328125 -0.5 \n0.171875 -0.375 -0.5 \n0.140625 -0.375 -0.5 \n0.125 -0.359375 -0.5 \n0.359375 0.265625 -0.5 \n0.375 0.265625 -0.5 \n0.328125 0.296875 -0.5 \n0.375 0.296875 -0.5 \n0.296875 0.328125 -0.5 \n0.265625 0.359375 -0.5 \n0.265625 0.375 -0.5 \n0.296875 0.375 -0.5 \n0.375 0.328125 -0.5 \n0.328125 0.375 -0.5 \n0.359375 0.375 -0.5 \n0.375 0.359375 -0.5 \n0.359375 -0.234375 -0.5 \n0.375 -0.234375 -0.5 \n0.328125 -0.203125 -0.5 \n0.375 -0.203125 -0.5 \n0.296875 -0.171875 -0.5 \n0.265625 -0.140625 -0.5 \n0.265625 -0.125 -0.5 \n0.296875 -0.125 -0.5 \n0.375 -0.171875 -0.5 \n0.328125 -0.125 -0.5 \n0.359375 -0.125 -0.5 \n0.375 -0.140625 -0.5 \n-0.140625 0.265625 -0.5 \n-0.125 0.265625 -0.5 \n-0.171875 0.296875 -0.5 \n-0.125 0.296875 -0.5 \n-0.203125 0.328125 -0.5 \n-0.234375 0.359375 -0.5 \n-0.234375 0.375 -0.5 \n-0.203125 0.375 -0.5 \n-0.125 0.328125 -0.5 \n-0.171875 0.375 -0.5 \n-0.140625 0.375 -0.5 \n-0.125 0.359375 -0.5 \n-0.265625 -0.5 -0.359375 \n-0.265625 -0.5 -0.375 \n-0.296875 -0.5 -0.328125 \n-0.296875 -0.5 -0.375 \n-0.328125 -0.5 -0.296875 \n-0.359375 -0.5 -0.265625 \n-0.375 -0.5 -0.265625 \n-0.375 -0.5 -0.296875 \n-0.328125 -0.5 -0.375 \n-0.375 -0.5 -0.328125 \n-0.375 -0.5 -0.359375 \n-0.359375 -0.5 -0.375 \n0.234375 -0.5 -0.359375 \n0.234375 -0.5 -0.375 \n0.203125 -0.5 -0.328125 \n0.203125 -0.5 -0.375 \n0.171875 -0.5 -0.296875 \n0.140625 -0.5 -0.265625 \n0.125 -0.5 -0.265625 \n0.125 -0.5 -0.296875 \n0.171875 -0.5 -0.375 \n0.125 -0.5 -0.328125 \n0.125 -0.5 -0.359375 \n0.140625 -0.5 -0.375 \n-0.265625 -0.5 0.140625 \n-0.265625 -0.5 0.125 \n-0.296875 -0.5 0.171875 \n-0.296875 -0.5 0.125 \n-0.328125 -0.5 0.203125 \n-0.359375 -0.5 0.234375 \n-0.375 -0.5 0.234375 \n-0.375 -0.5 0.203125 \n-0.328125 -0.5 0.125 \n-0.375 -0.5 0.171875 \n-0.375 -0.5 0.140625 \n-0.359375 -0.5 0.125 \n0.265625 -0.5 0.359375 \n0.265625 -0.5 0.375 \n0.296875 -0.5 0.328125 \n0.296875 -0.5 0.375 \n0.328125 -0.5 0.296875 \n0.359375 -0.5 0.265625 \n0.375 -0.5 0.265625 \n0.375 -0.5 0.296875 \n0.328125 -0.5 0.375 \n0.375 -0.5 0.328125 \n0.375 -0.5 0.359375 \n0.359375 -0.5 0.375 \n-0.234375 -0.5 0.359375 \n-0.234375 -0.5 0.375 \n-0.203125 -0.5 0.328125 \n-0.203125 -0.5 0.375 \n-0.171875 -0.5 0.296875 \n-0.140625 -0.5 0.265625 \n-0.125 -0.5 0.265625 \n-0.125 -0.5 0.296875 \n-0.171875 -0.5 0.375 \n-0.125 -0.5 0.328125 \n-0.125 -0.5 0.359375 \n-0.140625 -0.5 0.375 \n0.265625 -0.5 -0.140625 \n0.265625 -0.5 -0.125 \n0.296875 -0.5 -0.171875 \n0.296875 -0.5 -0.125 \n0.328125 -0.5 -0.203125 \n0.359375 -0.5 -0.234375 \n0.375 -0.5 -0.234375 \n0.375 -0.5 -0.203125 \n0.328125 -0.5 -0.125 \n0.375 -0.5 -0.171875 \n0.375 -0.5 -0.140625 \n0.359375 -0.5 -0.125 \n-0.5 -0.359375 -0.265625 \n-0.5 -0.375 -0.265625 \n-0.5 -0.328125 -0.296875 \n-0.5 -0.375 -0.296875 \n-0.5 -0.296875 -0.328125 \n-0.5 -0.265625 -0.359375 \n-0.5 -0.265625 -0.375 \n-0.5 -0.296875 -0.375 \n-0.5 -0.375 -0.328125 \n-0.5 -0.328125 -0.375 \n-0.5 -0.359375 -0.375 \n-0.5 -0.375 -0.359375 \n-0.5 -0.359375 0.234375 \n-0.5 -0.375 0.234375 \n-0.5 -0.328125 0.203125 \n-0.5 -0.375 0.203125 \n-0.5 -0.296875 0.171875 \n-0.5 -0.265625 0.140625 \n-0.5 -0.265625 0.125 \n-0.5 -0.296875 0.125 \n-0.5 -0.375 0.171875 \n-0.5 -0.328125 0.125 \n-0.5 -0.359375 0.125 \n-0.5 -0.375 0.140625 \n-0.5 0.140625 -0.265625 \n-0.5 0.125 -0.265625 \n-0.5 0.171875 -0.296875 \n-0.5 0.125 -0.296875 \n-0.5 0.203125 -0.328125 \n-0.5 0.234375 -0.359375 \n-0.5 0.234375 -0.375 \n-0.5 0.203125 -0.375 \n-0.5 0.125 -0.328125 \n-0.5 0.171875 -0.375 \n-0.5 0.140625 -0.375 \n-0.5 0.125 -0.359375 \n-0.5 0.359375 0.265625 \n-0.5 0.375 0.265625 \n-0.5 0.328125 0.296875 \n-0.5 0.375 0.296875 \n-0.5 0.296875 0.328125 \n-0.5 0.265625 0.359375 \n-0.5 0.265625 0.375 \n-0.5 0.296875 0.375 \n-0.5 0.375 0.328125 \n-0.5 0.328125 0.375 \n-0.5 0.359375 0.375 \n-0.5 0.375 0.359375 \n-0.5 0.359375 -0.234375 \n-0.5 0.375 -0.234375 \n-0.5 0.328125 -0.203125 \n-0.5 0.375 -0.203125 \n-0.5 0.296875 -0.171875 \n-0.5 0.265625 -0.140625 \n-0.5 0.265625 -0.125 \n-0.5 0.296875 -0.125 \n-0.5 0.375 -0.171875 \n-0.5 0.328125 -0.125 \n-0.5 0.359375 -0.125 \n-0.5 0.375 -0.140625 \n-0.5 -0.140625 0.265625 \n-0.5 -0.125 0.265625 \n-0.5 -0.171875 0.296875 \n-0.5 -0.125 0.296875 \n-0.5 -0.203125 0.328125 \n-0.5 -0.234375 0.359375 \n-0.5 -0.234375 0.375 \n-0.5 -0.203125 0.375 \n-0.5 -0.125 0.328125 \n-0.5 -0.171875 0.375 \n-0.5 -0.140625 0.375 \n-0.5 -0.125 0.359375 \n0.015625 0.359375 0.5 \n0.015625 0.375 0.5 \n0.046875 0.328125 0.5 \n0.046875 0.375 0.5 \n0.078125 0.296875 0.5 \n0.109375 0.265625 0.5 \n0.125 0.265625 0.5 \n0.125 0.296875 0.5 \n0.078125 0.375 0.5 \n0.125 0.328125 0.5 \n0.125 0.359375 0.5 \n0.109375 0.375 0.5 \n0.015625 0.109375 0.5 \n0.015625 0.125 0.5 \n0.046875 0.078125 0.5 \n0.046875 0.125 0.5 \n0.078125 0.046875 0.5 \n0.109375 0.015625 0.5 \n0.125 0.015625 0.5 \n0.125 0.046875 0.5 \n0.078125 0.125 0.5 \n0.125 0.078125 0.5 \n0.125 0.109375 0.5 \n0.109375 0.125 0.5 \n0.265625 0.109375 0.5 \n0.265625 0.125 0.5 \n0.296875 0.078125 0.5 \n0.296875 0.125 0.5 \n0.328125 0.046875 0.5 \n0.359375 0.015625 0.5 \n0.375 0.015625 0.5 \n0.375 0.046875 0.5 \n0.328125 0.125 0.5 \n0.375 0.078125 0.5 \n0.375 0.109375 0.5 \n0.359375 0.125 0.5 \n-0.015625 -0.359375 0.5 \n-0.015625 -0.375 0.5 \n-0.046875 -0.328125 0.5 \n-0.046875 -0.375 0.5 \n-0.078125 -0.296875 0.5 \n-0.109375 -0.265625 0.5 \n-0.125 -0.265625 0.5 \n-0.125 -0.296875 0.5 \n-0.078125 -0.375 0.5 \n-0.125 -0.328125 0.5 \n-0.125 -0.359375 0.5 \n-0.109375 -0.375 0.5 \n-0.015625 -0.109375 0.5 \n-0.015625 -0.125 0.5 \n-0.046875 -0.078125 0.5 \n-0.046875 -0.125 0.5 \n-0.078125 -0.046875 0.5 \n-0.109375 -0.015625 0.5 \n-0.125 -0.015625 0.5 \n-0.125 -0.046875 0.5 \n-0.078125 -0.125 0.5 \n-0.125 -0.078125 0.5 \n-0.125 -0.109375 0.5 \n-0.109375 -0.125 0.5 \n-0.265625 -0.109375 0.5 \n-0.265625 -0.125 0.5 \n-0.296875 -0.078125 0.5 \n-0.296875 -0.125 0.5 \n-0.328125 -0.046875 0.5 \n-0.359375 -0.015625 0.5 \n-0.375 -0.015625 0.5 \n-0.375 -0.046875 0.5 \n-0.328125 -0.125 0.5 \n-0.375 -0.078125 0.5 \n-0.375 -0.109375 0.5 \n-0.359375 -0.125 0.5 \n0.5 0.015625 0.359375 \n0.5 0.015625 0.375 \n0.5 0.046875 0.328125 \n0.5 0.046875 0.375 \n0.5 0.078125 0.296875 \n0.5 0.109375 0.265625 \n0.5 0.125 0.265625 \n0.5 0.125 0.296875 \n0.5 0.078125 0.375 \n0.5 0.125 0.328125 \n0.5 0.125 0.359375 \n0.5 0.109375 0.375 \n0.5 0.015625 0.109375 \n0.5 0.015625 0.125 \n0.5 0.046875 0.078125 \n0.5 0.046875 0.125 \n0.5 0.078125 0.046875 \n0.5 0.109375 0.015625 \n0.5 0.125 0.015625 \n0.5 0.125 0.046875 \n0.5 0.078125 0.125 \n0.5 0.125 0.078125 \n0.5 0.125 0.109375 \n0.5 0.109375 0.125 \n0.5 0.265625 0.109375 \n0.5 0.265625 0.125 \n0.5 0.296875 0.078125 \n0.5 0.296875 0.125 \n0.5 0.328125 0.046875 \n0.5 0.359375 0.015625 \n0.5 0.375 0.015625 \n0.5 0.375 0.046875 \n0.5 0.328125 0.125 \n0.5 0.375 0.078125 \n0.5 0.375 0.109375 \n0.5 0.359375 0.125 \n0.5 -0.015625 -0.359375 \n0.5 -0.015625 -0.375 \n0.5 -0.046875 -0.328125 \n0.5 -0.046875 -0.375 \n0.5 -0.078125 -0.296875 \n0.5 -0.109375 -0.265625 \n0.5 -0.125 -0.265625 \n0.5 -0.125 -0.296875 \n0.5 -0.078125 -0.375 \n0.5 -0.125 -0.328125 \n0.5 -0.125 -0.359375 \n0.5 -0.109375 -0.375 \n0.5 -0.015625 -0.109375 \n0.5 -0.015625 -0.125 \n0.5 -0.046875 -0.078125 \n0.5 -0.046875 -0.125 \n0.5 -0.078125 -0.046875 \n0.5 -0.109375 -0.015625 \n0.5 -0.125 -0.015625 \n0.5 -0.125 -0.046875 \n0.5 -0.078125 -0.125 \n0.5 -0.125 -0.078125 \n0.5 -0.125 -0.109375 \n0.5 -0.109375 -0.125 \n0.5 -0.265625 -0.109375 \n0.5 -0.265625 -0.125 \n0.5 -0.296875 -0.078125 \n0.5 -0.296875 -0.125 \n0.5 -0.328125 -0.046875 \n0.5 -0.359375 -0.015625 \n0.5 -0.375 -0.015625 \n0.5 -0.375 -0.046875 \n0.5 -0.328125 -0.125 \n0.5 -0.375 -0.078125 \n0.5 -0.375 -0.109375 \n0.5 -0.359375 -0.125 \n0.359375 0.5 0.015625 \n0.375 0.5 0.015625 \n0.328125 0.5 0.046875 \n0.375 0.5 0.046875 \n0.296875 0.5 0.078125 \n0.265625 0.5 0.109375 \n0.265625 0.5 0.125 \n0.296875 0.5 0.125 \n0.375 0.5 0.078125 \n0.328125 0.5 0.125 \n0.359375 0.5 0.125 \n0.375 0.5 0.109375 \n0.109375 0.5 0.015625 \n0.125 0.5 0.015625 \n0.078125 0.5 0.046875 \n0.125 0.5 0.046875 \n0.046875 0.5 0.078125 \n0.015625 0.5 0.109375 \n0.015625 0.5 0.125 \n0.046875 0.5 0.125 \n0.125 0.5 0.078125 \n0.078125 0.5 0.125 \n0.109375 0.5 0.125 \n0.125 0.5 0.109375 \n0.109375 0.5 0.265625 \n0.125 0.5 0.265625 \n0.078125 0.5 0.296875 \n0.125 0.5 0.296875 \n0.046875 0.5 0.328125 \n0.015625 0.5 0.359375 \n0.015625 0.5 0.375 \n0.046875 0.5 0.375 \n0.125 0.5 0.328125 \n0.078125 0.5 0.375 \n0.109375 0.5 0.375 \n0.125 0.5 0.359375 \n-0.359375 0.5 -0.015625 \n-0.375 0.5 -0.015625 \n-0.328125 0.5 -0.046875 \n-0.375 0.5 -0.046875 \n-0.296875 0.5 -0.078125 \n-0.265625 0.5 -0.109375 \n-0.265625 0.5 -0.125 \n-0.296875 0.5 -0.125 \n-0.375 0.5 -0.078125 \n-0.328125 0.5 -0.125 \n-0.359375 0.5 -0.125 \n-0.375 0.5 -0.109375 \n-0.109375 0.5 -0.015625 \n-0.125 0.5 -0.015625 \n-0.078125 0.5 -0.046875 \n-0.125 0.5 -0.046875 \n-0.046875 0.5 -0.078125 \n-0.015625 0.5 -0.109375 \n-0.015625 0.5 -0.125 \n-0.046875 0.5 -0.125 \n-0.125 0.5 -0.078125 \n-0.078125 0.5 -0.125 \n-0.109375 0.5 -0.125 \n-0.125 0.5 -0.109375 \n-0.109375 0.5 -0.265625 \n-0.125 0.5 -0.265625 \n-0.078125 0.5 -0.296875 \n-0.125 0.5 -0.296875 \n-0.046875 0.5 -0.328125 \n-0.015625 0.5 -0.359375 \n-0.015625 0.5 -0.375 \n-0.046875 0.5 -0.375 \n-0.125 0.5 -0.328125 \n-0.078125 0.5 -0.375 \n-0.109375 0.5 -0.375 \n-0.125 0.5 -0.359375 \n-0.359375 -0.015625 -0.5 \n-0.375 -0.015625 -0.5 \n-0.328125 -0.046875 -0.5 \n-0.375 -0.046875 -0.5 \n-0.296875 -0.078125 -0.5 \n-0.265625 -0.109375 -0.5 \n-0.265625 -0.125 -0.5 \n-0.296875 -0.125 -0.5 \n-0.375 -0.078125 -0.5 \n-0.328125 -0.125 -0.5 \n-0.359375 -0.125 -0.5 \n-0.375 -0.109375 -0.5 \n-0.109375 -0.015625 -0.5 \n-0.125 -0.015625 -0.5 \n-0.078125 -0.046875 -0.5 \n-0.125 -0.046875 -0.5 \n-0.046875 -0.078125 -0.5 \n-0.015625 -0.109375 -0.5 \n-0.015625 -0.125 -0.5 \n-0.046875 -0.125 -0.5 \n-0.125 -0.078125 -0.5 \n-0.078125 -0.125 -0.5 \n-0.109375 -0.125 -0.5 \n-0.125 -0.109375 -0.5 \n-0.109375 -0.265625 -0.5 \n-0.125 -0.265625 -0.5 \n-0.078125 -0.296875 -0.5 \n-0.125 -0.296875 -0.5 \n-0.046875 -0.328125 -0.5 \n-0.015625 -0.359375 -0.5 \n-0.015625 -0.375 -0.5 \n-0.046875 -0.375 -0.5 \n-0.125 -0.328125 -0.5 \n-0.078125 -0.375 -0.5 \n-0.109375 -0.375 -0.5 \n-0.125 -0.359375 -0.5 \n0.359375 0.015625 -0.5 \n0.375 0.015625 -0.5 \n0.328125 0.046875 -0.5 \n0.375 0.046875 -0.5 \n0.296875 0.078125 -0.5 \n0.265625 0.109375 -0.5 \n0.265625 0.125 -0.5 \n0.296875 0.125 -0.5 \n0.375 0.078125 -0.5 \n0.328125 0.125 -0.5 \n0.359375 0.125 -0.5 \n0.375 0.109375 -0.5 \n0.109375 0.015625 -0.5 \n0.125 0.015625 -0.5 \n0.078125 0.046875 -0.5 \n0.125 0.046875 -0.5 \n0.046875 0.078125 -0.5 \n0.015625 0.109375 -0.5 \n0.015625 0.125 -0.5 \n0.046875 0.125 -0.5 \n0.125 0.078125 -0.5 \n0.078125 0.125 -0.5 \n0.109375 0.125 -0.5 \n0.125 0.109375 -0.5 \n0.109375 0.265625 -0.5 \n0.125 0.265625 -0.5 \n0.078125 0.296875 -0.5 \n0.125 0.296875 -0.5 \n0.046875 0.328125 -0.5 \n0.015625 0.359375 -0.5 \n0.015625 0.375 -0.5 \n0.046875 0.375 -0.5 \n0.125 0.328125 -0.5 \n0.078125 0.375 -0.5 \n0.109375 0.375 -0.5 \n0.125 0.359375 -0.5 \n-0.015625 -0.5 -0.359375 \n-0.015625 -0.5 -0.375 \n-0.046875 -0.5 -0.328125 \n-0.046875 -0.5 -0.375 \n-0.078125 -0.5 -0.296875 \n-0.109375 -0.5 -0.265625 \n-0.125 -0.5 -0.265625 \n-0.125 -0.5 -0.296875 \n-0.078125 -0.5 -0.375 \n-0.125 -0.5 -0.328125 \n-0.125 -0.5 -0.359375 \n-0.109375 -0.5 -0.375 \n-0.015625 -0.5 -0.109375 \n-0.015625 -0.5 -0.125 \n-0.046875 -0.5 -0.078125 \n-0.046875 -0.5 -0.125 \n-0.078125 -0.5 -0.046875 \n-0.109375 -0.5 -0.015625 \n-0.125 -0.5 -0.015625 \n-0.125 -0.5 -0.046875 \n-0.078125 -0.5 -0.125 \n-0.125 -0.5 -0.078125 \n-0.125 -0.5 -0.109375 \n-0.109375 -0.5 -0.125 \n-0.265625 -0.5 -0.109375 \n-0.265625 -0.5 -0.125 \n-0.296875 -0.5 -0.078125 \n-0.296875 -0.5 -0.125 \n-0.328125 -0.5 -0.046875 \n-0.359375 -0.5 -0.015625 \n-0.375 -0.5 -0.015625 \n-0.375 -0.5 -0.046875 \n-0.328125 -0.5 -0.125 \n-0.375 -0.5 -0.078125 \n-0.375 -0.5 -0.109375 \n-0.359375 -0.5 -0.125 \n0.015625 -0.5 0.359375 \n0.015625 -0.5 0.375 \n0.046875 -0.5 0.328125 \n0.046875 -0.5 0.375 \n0.078125 -0.5 0.296875 \n0.109375 -0.5 0.265625 \n0.125 -0.5 0.265625 \n0.125 -0.5 0.296875 \n0.078125 -0.5 0.375 \n0.125 -0.5 0.328125 \n0.125 -0.5 0.359375 \n0.109375 -0.5 0.375 \n0.015625 -0.5 0.109375 \n0.015625 -0.5 0.125 \n0.046875 -0.5 0.078125 \n0.046875 -0.5 0.125 \n0.078125 -0.5 0.046875 \n0.109375 -0.5 0.015625 \n0.125 -0.5 0.015625 \n0.125 -0.5 0.046875 \n0.078125 -0.5 0.125 \n0.125 -0.5 0.078125 \n0.125 -0.5 0.109375 \n0.109375 -0.5 0.125 \n0.265625 -0.5 0.109375 \n0.265625 -0.5 0.125 \n0.296875 -0.5 0.078125 \n0.296875 -0.5 0.125 \n0.328125 -0.5 0.046875 \n0.359375 -0.5 0.015625 \n0.375 -0.5 0.015625 \n0.375 -0.5 0.046875 \n0.328125 -0.5 0.125 \n0.375 -0.5 0.078125 \n0.375 -0.5 0.109375 \n0.359375 -0.5 0.125 \n-0.5 -0.359375 -0.015625 \n-0.5 -0.375 -0.015625 \n-0.5 -0.328125 -0.046875 \n-0.5 -0.375 -0.046875 \n-0.5 -0.296875 -0.078125 \n-0.5 -0.265625 -0.109375 \n-0.5 -0.265625 -0.125 \n-0.5 -0.296875 -0.125 \n-0.5 -0.375 -0.078125 \n-0.5 -0.328125 -0.125 \n-0.5 -0.359375 -0.125 \n-0.5 -0.375 -0.109375 \n-0.5 -0.109375 -0.015625 \n-0.5 -0.125 -0.015625 \n-0.5 -0.078125 -0.046875 \n-0.5 -0.125 -0.046875 \n-0.5 -0.046875 -0.078125 \n-0.5 -0.015625 -0.109375 \n-0.5 -0.015625 -0.125 \n-0.5 -0.046875 -0.125 \n-0.5 -0.125 -0.078125 \n-0.5 -0.078125 -0.125 \n-0.5 -0.109375 -0.125 \n-0.5 -0.125 -0.109375 \n-0.5 -0.109375 -0.265625 \n-0.5 -0.125 -0.265625 \n-0.5 -0.078125 -0.296875 \n-0.5 -0.125 -0.296875 \n-0.5 -0.046875 -0.328125 \n-0.5 -0.015625 -0.359375 \n-0.5 -0.015625 -0.375 \n-0.5 -0.046875 -0.375 \n-0.5 -0.125 -0.328125 \n-0.5 -0.078125 -0.375 \n-0.5 -0.109375 -0.375 \n-0.5 -0.125 -0.359375 \n-0.5 0.359375 0.015625 \n-0.5 0.375 0.015625 \n-0.5 0.328125 0.046875 \n-0.5 0.375 0.046875 \n-0.5 0.296875 0.078125 \n-0.5 0.265625 0.109375 \n-0.5 0.265625 0.125 \n-0.5 0.296875 0.125 \n-0.5 0.375 0.078125 \n-0.5 0.328125 0.125 \n-0.5 0.359375 0.125 \n-0.5 0.375 0.109375 \n-0.5 0.109375 0.015625 \n-0.5 0.125 0.015625 \n-0.5 0.078125 0.046875 \n-0.5 0.125 0.046875 \n-0.5 0.046875 0.078125 \n-0.5 0.015625 0.109375 \n-0.5 0.015625 0.125 \n-0.5 0.046875 0.125 \n-0.5 0.125 0.078125 \n-0.5 0.078125 0.125 \n-0.5 0.109375 0.125 \n-0.5 0.125 0.109375 \n-0.5 0.109375 0.265625 \n-0.5 0.125 0.265625 \n-0.5 0.078125 0.296875 \n-0.5 0.125 0.296875 \n-0.5 0.046875 0.328125 \n-0.5 0.015625 0.359375 \n-0.5 0.015625 0.375 \n-0.5 0.046875 0.375 \n-0.5 0.125 0.328125 \n-0.5 0.078125 0.375 \n-0.5 0.109375 0.375 \n-0.5 0.125 0.359375 \n0.375 0.484375 0.5 \n0.390625 0.484375 0.5 \n0.375 0.453125 0.5 \n0.421875 0.453125 0.5 \n0.375 0.421875 0.5 \n0.375 0.390625 0.5 \n0.390625 0.375 0.5 \n0.421875 0.375 0.5 \n0.453125 0.421875 0.5 \n0.453125 0.375 0.5 \n0.484375 0.375 0.5 \n0.484375 0.390625 0.5 \n0.125 0.484375 0.5 \n0.140625 0.484375 0.5 \n0.125 0.453125 0.5 \n0.171875 0.453125 0.5 \n0.125 0.421875 0.5 \n0.125 0.390625 0.5 \n0.140625 0.375 0.5 \n0.171875 0.375 0.5 \n0.203125 0.421875 0.5 \n0.203125 0.375 0.5 \n0.234375 0.375 0.5 \n0.234375 0.390625 0.5 \n0.375 0.234375 0.5 \n0.390625 0.234375 0.5 \n0.375 0.203125 0.5 \n0.421875 0.203125 0.5 \n0.375 0.171875 0.5 \n0.375 0.140625 0.5 \n0.390625 0.125 0.5 \n0.421875 0.125 0.5 \n0.453125 0.171875 0.5 \n0.453125 0.125 0.5 \n0.484375 0.125 0.5 \n0.484375 0.140625 0.5 \n-0.125 0.484375 0.5 \n-0.109375 0.484375 0.5 \n-0.125 0.453125 0.5 \n-0.078125 0.453125 0.5 \n-0.125 0.421875 0.5 \n-0.125 0.390625 0.5 \n-0.109375 0.375 0.5 \n-0.078125 0.375 0.5 \n-0.046875 0.421875 0.5 \n-0.046875 0.375 0.5 \n-0.015625 0.375 0.5 \n-0.015625 0.390625 0.5 \n-0.375 0.484375 0.5 \n-0.359375 0.484375 0.5 \n-0.375 0.453125 0.5 \n-0.328125 0.453125 0.5 \n-0.375 0.421875 0.5 \n-0.375 0.390625 0.5 \n-0.359375 0.375 0.5 \n-0.328125 0.375 0.5 \n-0.296875 0.421875 0.5 \n-0.296875 0.375 0.5 \n-0.265625 0.375 0.5 \n-0.265625 0.390625 0.5 \n-0.125 0.234375 0.5 \n-0.109375 0.234375 0.5 \n-0.125 0.203125 0.5 \n-0.078125 0.203125 0.5 \n-0.125 0.171875 0.5 \n-0.125 0.140625 0.5 \n-0.109375 0.125 0.5 \n-0.078125 0.125 0.5 \n-0.046875 0.171875 0.5 \n-0.046875 0.125 0.5 \n-0.015625 0.125 0.5 \n-0.015625 0.140625 0.5 \n0.375 -0.015625 0.5 \n0.390625 -0.015625 0.5 \n0.375 -0.046875 0.5 \n0.421875 -0.046875 0.5 \n0.375 -0.078125 0.5 \n0.375 -0.109375 0.5 \n0.390625 -0.125 0.5 \n0.421875 -0.125 0.5 \n0.453125 -0.078125 0.5 \n0.453125 -0.125 0.5 \n0.484375 -0.125 0.5 \n0.484375 -0.109375 0.5 \n0.125 -0.015625 0.5 \n0.140625 -0.015625 0.5 \n0.125 -0.046875 0.5 \n0.171875 -0.046875 0.5 \n0.125 -0.078125 0.5 \n0.125 -0.109375 0.5 \n0.140625 -0.125 0.5 \n0.171875 -0.125 0.5 \n0.203125 -0.078125 0.5 \n0.203125 -0.125 0.5 \n0.234375 -0.125 0.5 \n0.234375 -0.109375 0.5 \n0.375 -0.265625 0.5 \n0.390625 -0.265625 0.5 \n0.375 -0.296875 0.5 \n0.421875 -0.296875 0.5 \n0.375 -0.328125 0.5 \n0.375 -0.359375 0.5 \n0.390625 -0.375 0.5 \n0.421875 -0.375 0.5 \n0.453125 -0.328125 0.5 \n0.453125 -0.375 0.5 \n0.484375 -0.375 0.5 \n0.484375 -0.359375 0.5 \n-0.375 -0.484375 0.5 \n-0.390625 -0.484375 0.5 \n-0.375 -0.453125 0.5 \n-0.421875 -0.453125 0.5 \n-0.375 -0.421875 0.5 \n-0.375 -0.390625 0.5 \n-0.390625 -0.375 0.5 \n-0.421875 -0.375 0.5 \n-0.453125 -0.421875 0.5 \n-0.453125 -0.375 0.5 \n-0.484375 -0.375 0.5 \n-0.484375 -0.390625 0.5 \n-0.125 -0.484375 0.5 \n-0.140625 -0.484375 0.5 \n-0.125 -0.453125 0.5 \n-0.171875 -0.453125 0.5 \n-0.125 -0.421875 0.5 \n-0.125 -0.390625 0.5 \n-0.140625 -0.375 0.5 \n-0.171875 -0.375 0.5 \n-0.203125 -0.421875 0.5 \n-0.203125 -0.375 0.5 \n-0.234375 -0.375 0.5 \n-0.234375 -0.390625 0.5 \n-0.375 -0.234375 0.5 \n-0.390625 -0.234375 0.5 \n-0.375 -0.203125 0.5 \n-0.421875 -0.203125 0.5 \n-0.375 -0.171875 0.5 \n-0.375 -0.140625 0.5 \n-0.390625 -0.125 0.5 \n-0.421875 -0.125 0.5 \n-0.453125 -0.171875 0.5 \n-0.453125 -0.125 0.5 \n-0.484375 -0.125 0.5 \n-0.484375 -0.140625 0.5 \n0.125 -0.484375 0.5 \n0.109375 -0.484375 0.5 \n0.125 -0.453125 0.5 \n0.078125 -0.453125 0.5 \n0.125 -0.421875 0.5 \n0.125 -0.390625 0.5 \n0.109375 -0.375 0.5 \n0.078125 -0.375 0.5 \n0.046875 -0.421875 0.5 \n0.046875 -0.375 0.5 \n0.015625 -0.375 0.5 \n0.015625 -0.390625 0.5 \n0.375 -0.484375 0.5 \n0.359375 -0.484375 0.5 \n0.375 -0.453125 0.5 \n0.328125 -0.453125 0.5 \n0.375 -0.421875 0.5 \n0.375 -0.390625 0.5 \n0.359375 -0.375 0.5 \n0.328125 -0.375 0.5 \n0.296875 -0.421875 0.5 \n0.296875 -0.375 0.5 \n0.265625 -0.375 0.5 \n0.265625 -0.390625 0.5 \n0.125 -0.234375 0.5 \n0.109375 -0.234375 0.5 \n0.125 -0.203125 0.5 \n0.078125 -0.203125 0.5 \n0.125 -0.171875 0.5 \n0.125 -0.140625 0.5 \n0.109375 -0.125 0.5 \n0.078125 -0.125 0.5 \n0.046875 -0.171875 0.5 \n0.046875 -0.125 0.5 \n0.015625 -0.125 0.5 \n0.015625 -0.140625 0.5 \n-0.375 0.015625 0.5 \n-0.390625 0.015625 0.5 \n-0.375 0.046875 0.5 \n-0.421875 0.046875 0.5 \n-0.375 0.078125 0.5 \n-0.375 0.109375 0.5 \n-0.390625 0.125 0.5 \n-0.421875 0.125 0.5 \n-0.453125 0.078125 0.5 \n-0.453125 0.125 0.5 \n-0.484375 0.125 0.5 \n-0.484375 0.109375 0.5 \n-0.125 0.015625 0.5 \n-0.140625 0.015625 0.5 \n-0.125 0.046875 0.5 \n-0.171875 0.046875 0.5 \n-0.125 0.078125 0.5 \n-0.125 0.109375 0.5 \n-0.140625 0.125 0.5 \n-0.171875 0.125 0.5 \n-0.203125 0.078125 0.5 \n-0.203125 0.125 0.5 \n-0.234375 0.125 0.5 \n-0.234375 0.109375 0.5 \n-0.375 0.265625 0.5 \n-0.390625 0.265625 0.5 \n-0.375 0.296875 0.5 \n-0.421875 0.296875 0.5 \n-0.375 0.328125 0.5 \n-0.375 0.359375 0.5 \n-0.390625 0.375 0.5 \n-0.421875 0.375 0.5 \n-0.453125 0.328125 0.5 \n-0.453125 0.375 0.5 \n-0.484375 0.375 0.5 \n-0.484375 0.359375 0.5 \n0.5 0.375 0.484375 \n0.5 0.390625 0.484375 \n0.5 0.375 0.453125 \n0.5 0.421875 0.453125 \n0.5 0.375 0.421875 \n0.5 0.375 0.390625 \n0.5 0.390625 0.375 \n0.5 0.421875 0.375 \n0.5 0.453125 0.421875 \n0.5 0.453125 0.375 \n0.5 0.484375 0.375 \n0.5 0.484375 0.390625 \n0.5 0.125 0.484375 \n0.5 0.140625 0.484375 \n0.5 0.125 0.453125 \n0.5 0.171875 0.453125 \n0.5 0.125 0.421875 \n0.5 0.125 0.390625 \n0.5 0.140625 0.375 \n0.5 0.171875 0.375 \n0.5 0.203125 0.421875 \n0.5 0.203125 0.375 \n0.5 0.234375 0.375 \n0.5 0.234375 0.390625 \n0.5 0.375 0.234375 \n0.5 0.390625 0.234375 \n0.5 0.375 0.203125 \n0.5 0.421875 0.203125 \n0.5 0.375 0.171875 \n0.5 0.375 0.140625 \n0.5 0.390625 0.125 \n0.5 0.421875 0.125 \n0.5 0.453125 0.171875 \n0.5 0.453125 0.125 \n0.5 0.484375 0.125 \n0.5 0.484375 0.140625 \n0.5 -0.125 0.484375 \n0.5 -0.109375 0.484375 \n0.5 -0.125 0.453125 \n0.5 -0.078125 0.453125 \n0.5 -0.125 0.421875 \n0.5 -0.125 0.390625 \n0.5 -0.109375 0.375 \n0.5 -0.078125 0.375 \n0.5 -0.046875 0.421875 \n0.5 -0.046875 0.375 \n0.5 -0.015625 0.375 \n0.5 -0.015625 0.390625 \n0.5 -0.375 0.484375 \n0.5 -0.359375 0.484375 \n0.5 -0.375 0.453125 \n0.5 -0.328125 0.453125 \n0.5 -0.375 0.421875 \n0.5 -0.375 0.390625 \n0.5 -0.359375 0.375 \n0.5 -0.328125 0.375 \n0.5 -0.296875 0.421875 \n0.5 -0.296875 0.375 \n0.5 -0.265625 0.375 \n0.5 -0.265625 0.390625 \n0.5 -0.125 0.234375 \n0.5 -0.109375 0.234375 \n0.5 -0.125 0.203125 \n0.5 -0.078125 0.203125 \n0.5 -0.125 0.171875 \n0.5 -0.125 0.140625 \n0.5 -0.109375 0.125 \n0.5 -0.078125 0.125 \n0.5 -0.046875 0.171875 \n0.5 -0.046875 0.125 \n0.5 -0.015625 0.125 \n0.5 -0.015625 0.140625 \n0.5 0.375 -0.015625 \n0.5 0.390625 -0.015625 \n0.5 0.375 -0.046875 \n0.5 0.421875 -0.046875 \n0.5 0.375 -0.078125 \n0.5 0.375 -0.109375 \n0.5 0.390625 -0.125 \n0.5 0.421875 -0.125 \n0.5 0.453125 -0.078125 \n0.5 0.453125 -0.125 \n0.5 0.484375 -0.125 \n0.5 0.484375 -0.109375 \n0.5 0.125 -0.015625 \n0.5 0.140625 -0.015625 \n0.5 0.125 -0.046875 \n0.5 0.171875 -0.046875 \n0.5 0.125 -0.078125 \n0.5 0.125 -0.109375 \n0.5 0.140625 -0.125 \n0.5 0.171875 -0.125 \n0.5 0.203125 -0.078125 \n0.5 0.203125 -0.125 \n0.5 0.234375 -0.125 \n0.5 0.234375 -0.109375 \n0.5 0.375 -0.265625 \n0.5 0.390625 -0.265625 \n0.5 0.375 -0.296875 \n0.5 0.421875 -0.296875 \n0.5 0.375 -0.328125 \n0.5 0.375 -0.359375 \n0.5 0.390625 -0.375 \n0.5 0.421875 -0.375 \n0.5 0.453125 -0.328125 \n0.5 0.453125 -0.375 \n0.5 0.484375 -0.375 \n0.5 0.484375 -0.359375 \n0.5 -0.375 -0.484375 \n0.5 -0.390625 -0.484375 \n0.5 -0.375 -0.453125 \n0.5 -0.421875 -0.453125 \n0.5 -0.375 -0.421875 \n0.5 -0.375 -0.390625 \n0.5 -0.390625 -0.375 \n0.5 -0.421875 -0.375 \n0.5 -0.453125 -0.421875 \n0.5 -0.453125 -0.375 \n0.5 -0.484375 -0.375 \n0.5 -0.484375 -0.390625 \n0.5 -0.125 -0.484375 \n0.5 -0.140625 -0.484375 \n0.5 -0.125 -0.453125 \n0.5 -0.171875 -0.453125 \n0.5 -0.125 -0.421875 \n0.5 -0.125 -0.390625 \n0.5 -0.140625 -0.375 \n0.5 -0.171875 -0.375 \n0.5 -0.203125 -0.421875 \n0.5 -0.203125 -0.375 \n0.5 -0.234375 -0.375 \n0.5 -0.234375 -0.390625 \n0.5 -0.375 -0.234375 \n0.5 -0.390625 -0.234375 \n0.5 -0.375 -0.203125 \n0.5 -0.421875 -0.203125 \n0.5 -0.375 -0.171875 \n0.5 -0.375 -0.140625 \n0.5 -0.390625 -0.125 \n0.5 -0.421875 -0.125 \n0.5 -0.453125 -0.171875 \n0.5 -0.453125 -0.125 \n0.5 -0.484375 -0.125 \n0.5 -0.484375 -0.140625 \n0.5 0.125 -0.484375 \n0.5 0.109375 -0.484375 \n0.5 0.125 -0.453125 \n0.5 0.078125 -0.453125 \n0.5 0.125 -0.421875 \n0.5 0.125 -0.390625 \n0.5 0.109375 -0.375 \n0.5 0.078125 -0.375 \n0.5 0.046875 -0.421875 \n0.5 0.046875 -0.375 \n0.5 0.015625 -0.375 \n0.5 0.015625 -0.390625 \n0.5 0.375 -0.484375 \n0.5 0.359375 -0.484375 \n0.5 0.375 -0.453125 \n0.5 0.328125 -0.453125 \n0.5 0.375 -0.421875 \n0.5 0.375 -0.390625 \n0.5 0.359375 -0.375 \n0.5 0.328125 -0.375 \n0.5 0.296875 -0.421875 \n0.5 0.296875 -0.375 \n0.5 0.265625 -0.375 \n0.5 0.265625 -0.390625 \n0.5 0.125 -0.234375 \n0.5 0.109375 -0.234375 \n0.5 0.125 -0.203125 \n0.5 0.078125 -0.203125 \n0.5 0.125 -0.171875 \n0.5 0.125 -0.140625 \n0.5 0.109375 -0.125 \n0.5 0.078125 -0.125 \n0.5 0.046875 -0.171875 \n0.5 0.046875 -0.125 \n0.5 0.015625 -0.125 \n0.5 0.015625 -0.140625 \n0.5 -0.375 0.015625 \n0.5 -0.390625 0.015625 \n0.5 -0.375 0.046875 \n0.5 -0.421875 0.046875 \n0.5 -0.375 0.078125 \n0.5 -0.375 0.109375 \n0.5 -0.390625 0.125 \n0.5 -0.421875 0.125 \n0.5 -0.453125 0.078125 \n0.5 -0.453125 0.125 \n0.5 -0.484375 0.125 \n0.5 -0.484375 0.109375 \n0.5 -0.125 0.015625 \n0.5 -0.140625 0.015625 \n0.5 -0.125 0.046875 \n0.5 -0.171875 0.046875 \n0.5 -0.125 0.078125 \n0.5 -0.125 0.109375 \n0.5 -0.140625 0.125 \n0.5 -0.171875 0.125 \n0.5 -0.203125 0.078125 \n0.5 -0.203125 0.125 \n0.5 -0.234375 0.125 \n0.5 -0.234375 0.109375 \n0.5 -0.375 0.265625 \n0.5 -0.390625 0.265625 \n0.5 -0.375 0.296875 \n0.5 -0.421875 0.296875 \n0.5 -0.375 0.328125 \n0.5 -0.375 0.359375 \n0.5 -0.390625 0.375 \n0.5 -0.421875 0.375 \n0.5 -0.453125 0.328125 \n0.5 -0.453125 0.375 \n0.5 -0.484375 0.375 \n0.5 -0.484375 0.359375 \n0.484375 0.5 0.375 \n0.484375 0.5 0.390625 \n0.453125 0.5 0.375 \n0.453125 0.5 0.421875 \n0.421875 0.5 0.375 \n0.390625 0.5 0.375 \n0.375 0.5 0.390625 \n0.375 0.5 0.421875 \n0.421875 0.5 0.453125 \n0.375 0.5 0.453125 \n0.375 0.5 0.484375 \n0.390625 0.5 0.484375 \n0.484375 0.5 0.125 \n0.484375 0.5 0.140625 \n0.453125 0.5 0.125 \n0.453125 0.5 0.171875 \n0.421875 0.5 0.125 \n0.390625 0.5 0.125 \n0.375 0.5 0.140625 \n0.375 0.5 0.171875 \n0.421875 0.5 0.203125 \n0.375 0.5 0.203125 \n0.375 0.5 0.234375 \n0.390625 0.5 0.234375 \n0.234375 0.5 0.375 \n0.234375 0.5 0.390625 \n0.203125 0.5 0.375 \n0.203125 0.5 0.421875 \n0.171875 0.5 0.375 \n0.140625 0.5 0.375 \n0.125 0.5 0.390625 \n0.125 0.5 0.421875 \n0.171875 0.5 0.453125 \n0.125 0.5 0.453125 \n0.125 0.5 0.484375 \n0.140625 0.5 0.484375 \n0.484375 0.5 -0.125 \n0.484375 0.5 -0.109375 \n0.453125 0.5 -0.125 \n0.453125 0.5 -0.078125 \n0.421875 0.5 -0.125 \n0.390625 0.5 -0.125 \n0.375 0.5 -0.109375 \n0.375 0.5 -0.078125 \n0.421875 0.5 -0.046875 \n0.375 0.5 -0.046875 \n0.375 0.5 -0.015625 \n0.390625 0.5 -0.015625 \n0.484375 0.5 -0.375 \n0.484375 0.5 -0.359375 \n0.453125 0.5 -0.375 \n0.453125 0.5 -0.328125 \n0.421875 0.5 -0.375 \n0.390625 0.5 -0.375 \n0.375 0.5 -0.359375 \n0.375 0.5 -0.328125 \n0.421875 0.5 -0.296875 \n0.375 0.5 -0.296875 \n0.375 0.5 -0.265625 \n0.390625 0.5 -0.265625 \n0.234375 0.5 -0.125 \n0.234375 0.5 -0.109375 \n0.203125 0.5 -0.125 \n0.203125 0.5 -0.078125 \n0.171875 0.5 -0.125 \n0.140625 0.5 -0.125 \n0.125 0.5 -0.109375 \n0.125 0.5 -0.078125 \n0.171875 0.5 -0.046875 \n0.125 0.5 -0.046875 \n0.125 0.5 -0.015625 \n0.140625 0.5 -0.015625 \n-0.015625 0.5 0.375 \n-0.015625 0.5 0.390625 \n-0.046875 0.5 0.375 \n-0.046875 0.5 0.421875 \n-0.078125 0.5 0.375 \n-0.109375 0.5 0.375 \n-0.125 0.5 0.390625 \n-0.125 0.5 0.421875 \n-0.078125 0.5 0.453125 \n-0.125 0.5 0.453125 \n-0.125 0.5 0.484375 \n-0.109375 0.5 0.484375 \n-0.015625 0.5 0.125 \n-0.015625 0.5 0.140625 \n-0.046875 0.5 0.125 \n-0.046875 0.5 0.171875 \n-0.078125 0.5 0.125 \n-0.109375 0.5 0.125 \n-0.125 0.5 0.140625 \n-0.125 0.5 0.171875 \n-0.078125 0.5 0.203125 \n-0.125 0.5 0.203125 \n-0.125 0.5 0.234375 \n-0.109375 0.5 0.234375 \n-0.265625 0.5 0.375 \n-0.265625 0.5 0.390625 \n-0.296875 0.5 0.375 \n-0.296875 0.5 0.421875 \n-0.328125 0.5 0.375 \n-0.359375 0.5 0.375 \n-0.375 0.5 0.390625 \n-0.375 0.5 0.421875 \n-0.328125 0.5 0.453125 \n-0.375 0.5 0.453125 \n-0.375 0.5 0.484375 \n-0.359375 0.5 0.484375 \n-0.484375 0.5 -0.375 \n-0.484375 0.5 -0.390625 \n-0.453125 0.5 -0.375 \n-0.453125 0.5 -0.421875 \n-0.421875 0.5 -0.375 \n-0.390625 0.5 -0.375 \n-0.375 0.5 -0.390625 \n-0.375 0.5 -0.421875 \n-0.421875 0.5 -0.453125 \n-0.375 0.5 -0.453125 \n-0.375 0.5 -0.484375 \n-0.390625 0.5 -0.484375 \n-0.484375 0.5 -0.125 \n-0.484375 0.5 -0.140625 \n-0.453125 0.5 -0.125 \n-0.453125 0.5 -0.171875 \n-0.421875 0.5 -0.125 \n-0.390625 0.5 -0.125 \n-0.375 0.5 -0.140625 \n-0.375 0.5 -0.171875 \n-0.421875 0.5 -0.203125 \n-0.375 0.5 -0.203125 \n-0.375 0.5 -0.234375 \n-0.390625 0.5 -0.234375 \n-0.234375 0.5 -0.375 \n-0.234375 0.5 -0.390625 \n-0.203125 0.5 -0.375 \n-0.203125 0.5 -0.421875 \n-0.171875 0.5 -0.375 \n-0.140625 0.5 -0.375 \n-0.125 0.5 -0.390625 \n-0.125 0.5 -0.421875 \n-0.171875 0.5 -0.453125 \n-0.125 0.5 -0.453125 \n-0.125 0.5 -0.484375 \n-0.140625 0.5 -0.484375 \n-0.484375 0.5 0.125 \n-0.484375 0.5 0.109375 \n-0.453125 0.5 0.125 \n-0.453125 0.5 0.078125 \n-0.421875 0.5 0.125 \n-0.390625 0.5 0.125 \n-0.375 0.5 0.109375 \n-0.375 0.5 0.078125 \n-0.421875 0.5 0.046875 \n-0.375 0.5 0.046875 \n-0.375 0.5 0.015625 \n-0.390625 0.5 0.015625 \n-0.484375 0.5 0.375 \n-0.484375 0.5 0.359375 \n-0.453125 0.5 0.375 \n-0.453125 0.5 0.328125 \n-0.421875 0.5 0.375 \n-0.390625 0.5 0.375 \n-0.375 0.5 0.359375 \n-0.375 0.5 0.328125 \n-0.421875 0.5 0.296875 \n-0.375 0.5 0.296875 \n-0.375 0.5 0.265625 \n-0.390625 0.5 0.265625 \n-0.234375 0.5 0.125 \n-0.234375 0.5 0.109375 \n-0.203125 0.5 0.125 \n-0.203125 0.5 0.078125 \n-0.171875 0.5 0.125 \n-0.140625 0.5 0.125 \n-0.125 0.5 0.109375 \n-0.125 0.5 0.078125 \n-0.171875 0.5 0.046875 \n-0.125 0.5 0.046875 \n-0.125 0.5 0.015625 \n-0.140625 0.5 0.015625 \n0.015625 0.5 -0.375 \n0.015625 0.5 -0.390625 \n0.046875 0.5 -0.375 \n0.046875 0.5 -0.421875 \n0.078125 0.5 -0.375 \n0.109375 0.5 -0.375 \n0.125 0.5 -0.390625 \n0.125 0.5 -0.421875 \n0.078125 0.5 -0.453125 \n0.125 0.5 -0.453125 \n0.125 0.5 -0.484375 \n0.109375 0.5 -0.484375 \n0.015625 0.5 -0.125 \n0.015625 0.5 -0.140625 \n0.046875 0.5 -0.125 \n0.046875 0.5 -0.171875 \n0.078125 0.5 -0.125 \n0.109375 0.5 -0.125 \n0.125 0.5 -0.140625 \n0.125 0.5 -0.171875 \n0.078125 0.5 -0.203125 \n0.125 0.5 -0.203125 \n0.125 0.5 -0.234375 \n0.109375 0.5 -0.234375 \n0.265625 0.5 -0.375 \n0.265625 0.5 -0.390625 \n0.296875 0.5 -0.375 \n0.296875 0.5 -0.421875 \n0.328125 0.5 -0.375 \n0.359375 0.5 -0.375 \n0.375 0.5 -0.390625 \n0.375 0.5 -0.421875 \n0.328125 0.5 -0.453125 \n0.375 0.5 -0.453125 \n0.375 0.5 -0.484375 \n0.359375 0.5 -0.484375 \n-0.484375 -0.375 -0.5 \n-0.484375 -0.390625 -0.5 \n-0.453125 -0.375 -0.5 \n-0.453125 -0.421875 -0.5 \n-0.421875 -0.375 -0.5 \n-0.390625 -0.375 -0.5 \n-0.375 -0.390625 -0.5 \n-0.375 -0.421875 -0.5 \n-0.421875 -0.453125 -0.5 \n-0.375 -0.453125 -0.5 \n-0.375 -0.484375 -0.5 \n-0.390625 -0.484375 -0.5 \n-0.484375 -0.125 -0.5 \n-0.484375 -0.140625 -0.5 \n-0.453125 -0.125 -0.5 \n-0.453125 -0.171875 -0.5 \n-0.421875 -0.125 -0.5 \n-0.390625 -0.125 -0.5 \n-0.375 -0.140625 -0.5 \n-0.375 -0.171875 -0.5 \n-0.421875 -0.203125 -0.5 \n-0.375 -0.203125 -0.5 \n-0.375 -0.234375 -0.5 \n-0.390625 -0.234375 -0.5 \n-0.234375 -0.375 -0.5 \n-0.234375 -0.390625 -0.5 \n-0.203125 -0.375 -0.5 \n-0.203125 -0.421875 -0.5 \n-0.171875 -0.375 -0.5 \n-0.140625 -0.375 -0.5 \n-0.125 -0.390625 -0.5 \n-0.125 -0.421875 -0.5 \n-0.171875 -0.453125 -0.5 \n-0.125 -0.453125 -0.5 \n-0.125 -0.484375 -0.5 \n-0.140625 -0.484375 -0.5 \n-0.484375 0.125 -0.5 \n-0.484375 0.109375 -0.5 \n-0.453125 0.125 -0.5 \n-0.453125 0.078125 -0.5 \n-0.421875 0.125 -0.5 \n-0.390625 0.125 -0.5 \n-0.375 0.109375 -0.5 \n-0.375 0.078125 -0.5 \n-0.421875 0.046875 -0.5 \n-0.375 0.046875 -0.5 \n-0.375 0.015625 -0.5 \n-0.390625 0.015625 -0.5 \n-0.484375 0.375 -0.5 \n-0.484375 0.359375 -0.5 \n-0.453125 0.375 -0.5 \n-0.453125 0.328125 -0.5 \n-0.421875 0.375 -0.5 \n-0.390625 0.375 -0.5 \n-0.375 0.359375 -0.5 \n-0.375 0.328125 -0.5 \n-0.421875 0.296875 -0.5 \n-0.375 0.296875 -0.5 \n-0.375 0.265625 -0.5 \n-0.390625 0.265625 -0.5 \n-0.234375 0.125 -0.5 \n-0.234375 0.109375 -0.5 \n-0.203125 0.125 -0.5 \n-0.203125 0.078125 -0.5 \n-0.171875 0.125 -0.5 \n-0.140625 0.125 -0.5 \n-0.125 0.109375 -0.5 \n-0.125 0.078125 -0.5 \n-0.171875 0.046875 -0.5 \n-0.125 0.046875 -0.5 \n-0.125 0.015625 -0.5 \n-0.140625 0.015625 -0.5 \n0.015625 -0.375 -0.5 \n0.015625 -0.390625 -0.5 \n0.046875 -0.375 -0.5 \n0.046875 -0.421875 -0.5 \n0.078125 -0.375 -0.5 \n0.109375 -0.375 -0.5 \n0.125 -0.390625 -0.5 \n0.125 -0.421875 -0.5 \n0.078125 -0.453125 -0.5 \n0.125 -0.453125 -0.5 \n0.125 -0.484375 -0.5 \n0.109375 -0.484375 -0.5 \n0.015625 -0.125 -0.5 \n0.015625 -0.140625 -0.5 \n0.046875 -0.125 -0.5 \n0.046875 -0.171875 -0.5 \n0.078125 -0.125 -0.5 \n0.109375 -0.125 -0.5 \n0.125 -0.140625 -0.5 \n0.125 -0.171875 -0.5 \n0.078125 -0.203125 -0.5 \n0.125 -0.203125 -0.5 \n0.125 -0.234375 -0.5 \n0.109375 -0.234375 -0.5 \n0.265625 -0.375 -0.5 \n0.265625 -0.390625 -0.5 \n0.296875 -0.375 -0.5 \n0.296875 -0.421875 -0.5 \n0.328125 -0.375 -0.5 \n0.359375 -0.375 -0.5 \n0.375 -0.390625 -0.5 \n0.375 -0.421875 -0.5 \n0.328125 -0.453125 -0.5 \n0.375 -0.453125 -0.5 \n0.375 -0.484375 -0.5 \n0.359375 -0.484375 -0.5 \n0.484375 0.375 -0.5 \n0.484375 0.390625 -0.5 \n0.453125 0.375 -0.5 \n0.453125 0.421875 -0.5 \n0.421875 0.375 -0.5 \n0.390625 0.375 -0.5 \n0.375 0.390625 -0.5 \n0.375 0.421875 -0.5 \n0.421875 0.453125 -0.5 \n0.375 0.453125 -0.5 \n0.375 0.484375 -0.5 \n0.390625 0.484375 -0.5 \n0.484375 0.125 -0.5 \n0.484375 0.140625 -0.5 \n0.453125 0.125 -0.5 \n0.453125 0.171875 -0.5 \n0.421875 0.125 -0.5 \n0.390625 0.125 -0.5 \n0.375 0.140625 -0.5 \n0.375 0.171875 -0.5 \n0.421875 0.203125 -0.5 \n0.375 0.203125 -0.5 \n0.375 0.234375 -0.5 \n0.390625 0.234375 -0.5 \n0.234375 0.375 -0.5 \n0.234375 0.390625 -0.5 \n0.203125 0.375 -0.5 \n0.203125 0.421875 -0.5 \n0.171875 0.375 -0.5 \n0.140625 0.375 -0.5 \n0.125 0.390625 -0.5 \n0.125 0.421875 -0.5 \n0.171875 0.453125 -0.5 \n0.125 0.453125 -0.5 \n0.125 0.484375 -0.5 \n0.140625 0.484375 -0.5 \n0.484375 -0.125 -0.5 \n0.484375 -0.109375 -0.5 \n0.453125 -0.125 -0.5 \n0.453125 -0.078125 -0.5 \n0.421875 -0.125 -0.5 \n0.390625 -0.125 -0.5 \n0.375 -0.109375 -0.5 \n0.375 -0.078125 -0.5 \n0.421875 -0.046875 -0.5 \n0.375 -0.046875 -0.5 \n0.375 -0.015625 -0.5 \n0.390625 -0.015625 -0.5 \n0.484375 -0.375 -0.5 \n0.484375 -0.359375 -0.5 \n0.453125 -0.375 -0.5 \n0.453125 -0.328125 -0.5 \n0.421875 -0.375 -0.5 \n0.390625 -0.375 -0.5 \n0.375 -0.359375 -0.5 \n0.375 -0.328125 -0.5 \n0.421875 -0.296875 -0.5 \n0.375 -0.296875 -0.5 \n0.375 -0.265625 -0.5 \n0.390625 -0.265625 -0.5 \n0.234375 -0.125 -0.5 \n0.234375 -0.109375 -0.5 \n0.203125 -0.125 -0.5 \n0.203125 -0.078125 -0.5 \n0.171875 -0.125 -0.5 \n0.140625 -0.125 -0.5 \n0.125 -0.109375 -0.5 \n0.125 -0.078125 -0.5 \n0.171875 -0.046875 -0.5 \n0.125 -0.046875 -0.5 \n0.125 -0.015625 -0.5 \n0.140625 -0.015625 -0.5 \n-0.015625 0.375 -0.5 \n-0.015625 0.390625 -0.5 \n-0.046875 0.375 -0.5 \n-0.046875 0.421875 -0.5 \n-0.078125 0.375 -0.5 \n-0.109375 0.375 -0.5 \n-0.125 0.390625 -0.5 \n-0.125 0.421875 -0.5 \n-0.078125 0.453125 -0.5 \n-0.125 0.453125 -0.5 \n-0.125 0.484375 -0.5 \n-0.109375 0.484375 -0.5 \n-0.015625 0.125 -0.5 \n-0.015625 0.140625 -0.5 \n-0.046875 0.125 -0.5 \n-0.046875 0.171875 -0.5 \n-0.078125 0.125 -0.5 \n-0.109375 0.125 -0.5 \n-0.125 0.140625 -0.5 \n-0.125 0.171875 -0.5 \n-0.078125 0.203125 -0.5 \n-0.125 0.203125 -0.5 \n-0.125 0.234375 -0.5 \n-0.109375 0.234375 -0.5 \n-0.265625 0.375 -0.5 \n-0.265625 0.390625 -0.5 \n-0.296875 0.375 -0.5 \n-0.296875 0.421875 -0.5 \n-0.328125 0.375 -0.5 \n-0.359375 0.375 -0.5 \n-0.375 0.390625 -0.5 \n-0.375 0.421875 -0.5 \n-0.328125 0.453125 -0.5 \n-0.375 0.453125 -0.5 \n-0.375 0.484375 -0.5 \n-0.359375 0.484375 -0.5 \n-0.375 -0.5 -0.484375 \n-0.390625 -0.5 -0.484375 \n-0.375 -0.5 -0.453125 \n-0.421875 -0.5 -0.453125 \n-0.375 -0.5 -0.421875 \n-0.375 -0.5 -0.390625 \n-0.390625 -0.5 -0.375 \n-0.421875 -0.5 -0.375 \n-0.453125 -0.5 -0.421875 \n-0.453125 -0.5 -0.375 \n-0.484375 -0.5 -0.375 \n-0.484375 -0.5 -0.390625 \n-0.125 -0.5 -0.484375 \n-0.140625 -0.5 -0.484375 \n-0.125 -0.5 -0.453125 \n-0.171875 -0.5 -0.453125 \n-0.125 -0.5 -0.421875 \n-0.125 -0.5 -0.390625 \n-0.140625 -0.5 -0.375 \n-0.171875 -0.5 -0.375 \n-0.203125 -0.5 -0.421875 \n-0.203125 -0.5 -0.375 \n-0.234375 -0.5 -0.375 \n-0.234375 -0.5 -0.390625 \n-0.375 -0.5 -0.234375 \n-0.390625 -0.5 -0.234375 \n-0.375 -0.5 -0.203125 \n-0.421875 -0.5 -0.203125 \n-0.375 -0.5 -0.171875 \n-0.375 -0.5 -0.140625 \n-0.390625 -0.5 -0.125 \n-0.421875 -0.5 -0.125 \n-0.453125 -0.5 -0.171875 \n-0.453125 -0.5 -0.125 \n-0.484375 -0.5 -0.125 \n-0.484375 -0.5 -0.140625 \n0.125 -0.5 -0.484375 \n0.109375 -0.5 -0.484375 \n0.125 -0.5 -0.453125 \n0.078125 -0.5 -0.453125 \n0.125 -0.5 -0.421875 \n0.125 -0.5 -0.390625 \n0.109375 -0.5 -0.375 \n0.078125 -0.5 -0.375 \n0.046875 -0.5 -0.421875 \n0.046875 -0.5 -0.375 \n0.015625 -0.5 -0.375 \n0.015625 -0.5 -0.390625 \n0.375 -0.5 -0.484375 \n0.359375 -0.5 -0.484375 \n0.375 -0.5 -0.453125 \n0.328125 -0.5 -0.453125 \n0.375 -0.5 -0.421875 \n0.375 -0.5 -0.390625 \n0.359375 -0.5 -0.375 \n0.328125 -0.5 -0.375 \n0.296875 -0.5 -0.421875 \n0.296875 -0.5 -0.375 \n0.265625 -0.5 -0.375 \n0.265625 -0.5 -0.390625 \n0.125 -0.5 -0.234375 \n0.109375 -0.5 -0.234375 \n0.125 -0.5 -0.203125 \n0.078125 -0.5 -0.203125 \n0.125 -0.5 -0.171875 \n0.125 -0.5 -0.140625 \n0.109375 -0.5 -0.125 \n0.078125 -0.5 -0.125 \n0.046875 -0.5 -0.171875 \n0.046875 -0.5 -0.125 \n0.015625 -0.5 -0.125 \n0.015625 -0.5 -0.140625 \n-0.375 -0.5 0.015625 \n-0.390625 -0.5 0.015625 \n-0.375 -0.5 0.046875 \n-0.421875 -0.5 0.046875 \n-0.375 -0.5 0.078125 \n-0.375 -0.5 0.109375 \n-0.390625 -0.5 0.125 \n-0.421875 -0.5 0.125 \n-0.453125 -0.5 0.078125 \n-0.453125 -0.5 0.125 \n-0.484375 -0.5 0.125 \n-0.484375 -0.5 0.109375 \n-0.125 -0.5 0.015625 \n-0.140625 -0.5 0.015625 \n-0.125 -0.5 0.046875 \n-0.171875 -0.5 0.046875 \n-0.125 -0.5 0.078125 \n-0.125 -0.5 0.109375 \n-0.140625 -0.5 0.125 \n-0.171875 -0.5 0.125 \n-0.203125 -0.5 0.078125 \n-0.203125 -0.5 0.125 \n-0.234375 -0.5 0.125 \n-0.234375 -0.5 0.109375 \n-0.375 -0.5 0.265625 \n-0.390625 -0.5 0.265625 \n-0.375 -0.5 0.296875 \n-0.421875 -0.5 0.296875 \n-0.375 -0.5 0.328125 \n-0.375 -0.5 0.359375 \n-0.390625 -0.5 0.375 \n-0.421875 -0.5 0.375 \n-0.453125 -0.5 0.328125 \n-0.453125 -0.5 0.375 \n-0.484375 -0.5 0.375 \n-0.484375 -0.5 0.359375 \n0.375 -0.5 0.484375 \n0.390625 -0.5 0.484375 \n0.375 -0.5 0.453125 \n0.421875 -0.5 0.453125 \n0.375 -0.5 0.421875 \n0.375 -0.5 0.390625 \n0.390625 -0.5 0.375 \n0.421875 -0.5 0.375 \n0.453125 -0.5 0.421875 \n0.453125 -0.5 0.375 \n0.484375 -0.5 0.375 \n0.484375 -0.5 0.390625 \n0.125 -0.5 0.484375 \n0.140625 -0.5 0.484375 \n0.125 -0.5 0.453125 \n0.171875 -0.5 0.453125 \n0.125 -0.5 0.421875 \n0.125 -0.5 0.390625 \n0.140625 -0.5 0.375 \n0.171875 -0.5 0.375 \n0.203125 -0.5 0.421875 \n0.203125 -0.5 0.375 \n0.234375 -0.5 0.375 \n0.234375 -0.5 0.390625 \n0.375 -0.5 0.234375 \n0.390625 -0.5 0.234375 \n0.375 -0.5 0.203125 \n0.421875 -0.5 0.203125 \n0.375 -0.5 0.171875 \n0.375 -0.5 0.140625 \n0.390625 -0.5 0.125 \n0.421875 -0.5 0.125 \n0.453125 -0.5 0.171875 \n0.453125 -0.5 0.125 \n0.484375 -0.5 0.125 \n0.484375 -0.5 0.140625 \n-0.125 -0.5 0.484375 \n-0.109375 -0.5 0.484375 \n-0.125 -0.5 0.453125 \n-0.078125 -0.5 0.453125 \n-0.125 -0.5 0.421875 \n-0.125 -0.5 0.390625 \n-0.109375 -0.5 0.375 \n-0.078125 -0.5 0.375 \n-0.046875 -0.5 0.421875 \n-0.046875 -0.5 0.375 \n-0.015625 -0.5 0.375 \n-0.015625 -0.5 0.390625 \n-0.375 -0.5 0.484375 \n-0.359375 -0.5 0.484375 \n-0.375 -0.5 0.453125 \n-0.328125 -0.5 0.453125 \n-0.375 -0.5 0.421875 \n-0.375 -0.5 0.390625 \n-0.359375 -0.5 0.375 \n-0.328125 -0.5 0.375 \n-0.296875 -0.5 0.421875 \n-0.296875 -0.5 0.375 \n-0.265625 -0.5 0.375 \n-0.265625 -0.5 0.390625 \n-0.125 -0.5 0.234375 \n-0.109375 -0.5 0.234375 \n-0.125 -0.5 0.203125 \n-0.078125 -0.5 0.203125 \n-0.125 -0.5 0.171875 \n-0.125 -0.5 0.140625 \n-0.109375 -0.5 0.125 \n-0.078125 -0.5 0.125 \n-0.046875 -0.5 0.171875 \n-0.046875 -0.5 0.125 \n-0.015625 -0.5 0.125 \n-0.015625 -0.5 0.140625 \n0.375 -0.5 -0.015625 \n0.390625 -0.5 -0.015625 \n0.375 -0.5 -0.046875 \n0.421875 -0.5 -0.046875 \n0.375 -0.5 -0.078125 \n0.375 -0.5 -0.109375 \n0.390625 -0.5 -0.125 \n0.421875 -0.5 -0.125 \n0.453125 -0.5 -0.078125 \n0.453125 -0.5 -0.125 \n0.484375 -0.5 -0.125 \n0.484375 -0.5 -0.109375 \n0.125 -0.5 -0.015625 \n0.140625 -0.5 -0.015625 \n0.125 -0.5 -0.046875 \n0.171875 -0.5 -0.046875 \n0.125 -0.5 -0.078125 \n0.125 -0.5 -0.109375 \n0.140625 -0.5 -0.125 \n0.171875 -0.5 -0.125 \n0.203125 -0.5 -0.078125 \n0.203125 -0.5 -0.125 \n0.234375 -0.5 -0.125 \n0.234375 -0.5 -0.109375 \n0.375 -0.5 -0.265625 \n0.390625 -0.5 -0.265625 \n0.375 -0.5 -0.296875 \n0.421875 -0.5 -0.296875 \n0.375 -0.5 -0.328125 \n0.375 -0.5 -0.359375 \n0.390625 -0.5 -0.375 \n0.421875 -0.5 -0.375 \n0.453125 -0.5 -0.328125 \n0.453125 -0.5 -0.375 \n0.484375 -0.5 -0.375 \n0.484375 -0.5 -0.359375 \n-0.5 -0.484375 -0.375 \n-0.5 -0.484375 -0.390625 \n-0.5 -0.453125 -0.375 \n-0.5 -0.453125 -0.421875 \n-0.5 -0.421875 -0.375 \n-0.5 -0.390625 -0.375 \n-0.5 -0.375 -0.390625 \n-0.5 -0.375 -0.421875 \n-0.5 -0.421875 -0.453125 \n-0.5 -0.375 -0.453125 \n-0.5 -0.375 -0.484375 \n-0.5 -0.390625 -0.484375 \n-0.5 -0.484375 -0.125 \n-0.5 -0.484375 -0.140625 \n-0.5 -0.453125 -0.125 \n-0.5 -0.453125 -0.171875 \n-0.5 -0.421875 -0.125 \n-0.5 -0.390625 -0.125 \n-0.5 -0.375 -0.140625 \n-0.5 -0.375 -0.171875 \n-0.5 -0.421875 -0.203125 \n-0.5 -0.375 -0.203125 \n-0.5 -0.375 -0.234375 \n-0.5 -0.390625 -0.234375 \n-0.5 -0.234375 -0.375 \n-0.5 -0.234375 -0.390625 \n-0.5 -0.203125 -0.375 \n-0.5 -0.203125 -0.421875 \n-0.5 -0.171875 -0.375 \n-0.5 -0.140625 -0.375 \n-0.5 -0.125 -0.390625 \n-0.5 -0.125 -0.421875 \n-0.5 -0.171875 -0.453125 \n-0.5 -0.125 -0.453125 \n-0.5 -0.125 -0.484375 \n-0.5 -0.140625 -0.484375 \n-0.5 -0.484375 0.125 \n-0.5 -0.484375 0.109375 \n-0.5 -0.453125 0.125 \n-0.5 -0.453125 0.078125 \n-0.5 -0.421875 0.125 \n-0.5 -0.390625 0.125 \n-0.5 -0.375 0.109375 \n-0.5 -0.375 0.078125 \n-0.5 -0.421875 0.046875 \n-0.5 -0.375 0.046875 \n-0.5 -0.375 0.015625 \n-0.5 -0.390625 0.015625 \n-0.5 -0.484375 0.375 \n-0.5 -0.484375 0.359375 \n-0.5 -0.453125 0.375 \n-0.5 -0.453125 0.328125 \n-0.5 -0.421875 0.375 \n-0.5 -0.390625 0.375 \n-0.5 -0.375 0.359375 \n-0.5 -0.375 0.328125 \n-0.5 -0.421875 0.296875 \n-0.5 -0.375 0.296875 \n-0.5 -0.375 0.265625 \n-0.5 -0.390625 0.265625 \n-0.5 -0.234375 0.125 \n-0.5 -0.234375 0.109375 \n-0.5 -0.203125 0.125 \n-0.5 -0.203125 0.078125 \n-0.5 -0.171875 0.125 \n-0.5 -0.140625 0.125 \n-0.5 -0.125 0.109375 \n-0.5 -0.125 0.078125 \n-0.5 -0.171875 0.046875 \n-0.5 -0.125 0.046875 \n-0.5 -0.125 0.015625 \n-0.5 -0.140625 0.015625 \n-0.5 0.015625 -0.375 \n-0.5 0.015625 -0.390625 \n-0.5 0.046875 -0.375 \n-0.5 0.046875 -0.421875 \n-0.5 0.078125 -0.375 \n-0.5 0.109375 -0.375 \n-0.5 0.125 -0.390625 \n-0.5 0.125 -0.421875 \n-0.5 0.078125 -0.453125 \n-0.5 0.125 -0.453125 \n-0.5 0.125 -0.484375 \n-0.5 0.109375 -0.484375 \n-0.5 0.015625 -0.125 \n-0.5 0.015625 -0.140625 \n-0.5 0.046875 -0.125 \n-0.5 0.046875 -0.171875 \n-0.5 0.078125 -0.125 \n-0.5 0.109375 -0.125 \n-0.5 0.125 -0.140625 \n-0.5 0.125 -0.171875 \n-0.5 0.078125 -0.203125 \n-0.5 0.125 -0.203125 \n-0.5 0.125 -0.234375 \n-0.5 0.109375 -0.234375 \n-0.5 0.265625 -0.375 \n-0.5 0.265625 -0.390625 \n-0.5 0.296875 -0.375 \n-0.5 0.296875 -0.421875 \n-0.5 0.328125 -0.375 \n-0.5 0.359375 -0.375 \n-0.5 0.375 -0.390625 \n-0.5 0.375 -0.421875 \n-0.5 0.328125 -0.453125 \n-0.5 0.375 -0.453125 \n-0.5 0.375 -0.484375 \n-0.5 0.359375 -0.484375 \n-0.5 0.484375 0.375 \n-0.5 0.484375 0.390625 \n-0.5 0.453125 0.375 \n-0.5 0.453125 0.421875 \n-0.5 0.421875 0.375 \n-0.5 0.390625 0.375 \n-0.5 0.375 0.390625 \n-0.5 0.375 0.421875 \n-0.5 0.421875 0.453125 \n-0.5 0.375 0.453125 \n-0.5 0.375 0.484375 \n-0.5 0.390625 0.484375 \n-0.5 0.484375 0.125 \n-0.5 0.484375 0.140625 \n-0.5 0.453125 0.125 \n-0.5 0.453125 0.171875 \n-0.5 0.421875 0.125 \n-0.5 0.390625 0.125 \n-0.5 0.375 0.140625 \n-0.5 0.375 0.171875 \n-0.5 0.421875 0.203125 \n-0.5 0.375 0.203125 \n-0.5 0.375 0.234375 \n-0.5 0.390625 0.234375 \n-0.5 0.234375 0.375 \n-0.5 0.234375 0.390625 \n-0.5 0.203125 0.375 \n-0.5 0.203125 0.421875 \n-0.5 0.171875 0.375 \n-0.5 0.140625 0.375 \n-0.5 0.125 0.390625 \n-0.5 0.125 0.421875 \n-0.5 0.171875 0.453125 \n-0.5 0.125 0.453125 \n-0.5 0.125 0.484375 \n-0.5 0.140625 0.484375 \n-0.5 0.484375 -0.125 \n-0.5 0.484375 -0.109375 \n-0.5 0.453125 -0.125 \n-0.5 0.453125 -0.078125 \n-0.5 0.421875 -0.125 \n-0.5 0.390625 -0.125 \n-0.5 0.375 -0.109375 \n-0.5 0.375 -0.078125 \n-0.5 0.421875 -0.046875 \n-0.5 0.375 -0.046875 \n-0.5 0.375 -0.015625 \n-0.5 0.390625 -0.015625 \n-0.5 0.484375 -0.375 \n-0.5 0.484375 -0.359375 \n-0.5 0.453125 -0.375 \n-0.5 0.453125 -0.328125 \n-0.5 0.421875 -0.375 \n-0.5 0.390625 -0.375 \n-0.5 0.375 -0.359375 \n-0.5 0.375 -0.328125 \n-0.5 0.421875 -0.296875 \n-0.5 0.375 -0.296875 \n-0.5 0.375 -0.265625 \n-0.5 0.390625 -0.265625 \n-0.5 0.234375 -0.125 \n-0.5 0.234375 -0.109375 \n-0.5 0.203125 -0.125 \n-0.5 0.203125 -0.078125 \n-0.5 0.171875 -0.125 \n-0.5 0.140625 -0.125 \n-0.5 0.125 -0.109375 \n-0.5 0.125 -0.078125 \n-0.5 0.171875 -0.046875 \n-0.5 0.125 -0.046875 \n-0.5 0.125 -0.015625 \n-0.5 0.140625 -0.015625 \n-0.5 -0.015625 0.375 \n-0.5 -0.015625 0.390625 \n-0.5 -0.046875 0.375 \n-0.5 -0.046875 0.421875 \n-0.5 -0.078125 0.375 \n-0.5 -0.109375 0.375 \n-0.5 -0.125 0.390625 \n-0.5 -0.125 0.421875 \n-0.5 -0.078125 0.453125 \n-0.5 -0.125 0.453125 \n-0.5 -0.125 0.484375 \n-0.5 -0.109375 0.484375 \n-0.5 -0.015625 0.125 \n-0.5 -0.015625 0.140625 \n-0.5 -0.046875 0.125 \n-0.5 -0.046875 0.171875 \n-0.5 -0.078125 0.125 \n-0.5 -0.109375 0.125 \n-0.5 -0.125 0.140625 \n-0.5 -0.125 0.171875 \n-0.5 -0.078125 0.203125 \n-0.5 -0.125 0.203125 \n-0.5 -0.125 0.234375 \n-0.5 -0.109375 0.234375 \n-0.5 -0.265625 0.375 \n-0.5 -0.265625 0.390625 \n-0.5 -0.296875 0.375 \n-0.5 -0.296875 0.421875 \n-0.5 -0.328125 0.375 \n-0.5 -0.359375 0.375 \n-0.5 -0.375 0.390625 \n-0.5 -0.375 0.421875 \n-0.5 -0.328125 0.453125 \n-0.5 -0.375 0.453125 \n-0.5 -0.375 0.484375 \n-0.5 -0.359375 0.484375 \n0.015625 0.234375 0.5 \n0.015625 0.25 0.5 \n0.046875 0.203125 0.5 \n0.046875 0.25 0.5 \n0.078125 0.171875 0.5 \n0.109375 0.140625 0.5 \n0.078125 0.25 0.5 \n0.109375 0.25 0.5 \n0.140625 0.109375 0.5 \n0.171875 0.078125 0.5 \n0.203125 0.046875 0.5 \n0.234375 0.015625 0.5 \n0.25 0.015625 0.5 \n0.25 0.046875 0.5 \n0.25 0.078125 0.5 \n0.25 0.109375 0.5 \n0.140625 0.25 0.5 \n0.171875 0.25 0.5 \n0.25 0.140625 0.5 \n0.25 0.171875 0.5 \n0.203125 0.25 0.5 \n0.25 0.203125 0.5 \n0.25 0.234375 0.5 \n0.234375 0.25 0.5 \n-0.015625 -0.234375 0.5 \n-0.015625 -0.25 0.5 \n-0.046875 -0.203125 0.5 \n-0.046875 -0.25 0.5 \n-0.078125 -0.171875 0.5 \n-0.109375 -0.140625 0.5 \n-0.078125 -0.25 0.5 \n-0.109375 -0.25 0.5 \n-0.140625 -0.109375 0.5 \n-0.171875 -0.078125 0.5 \n-0.203125 -0.046875 0.5 \n-0.234375 -0.015625 0.5 \n-0.25 -0.015625 0.5 \n-0.25 -0.046875 0.5 \n-0.25 -0.078125 0.5 \n-0.25 -0.109375 0.5 \n-0.140625 -0.25 0.5 \n-0.171875 -0.25 0.5 \n-0.25 -0.140625 0.5 \n-0.25 -0.171875 0.5 \n-0.203125 -0.25 0.5 \n-0.25 -0.203125 0.5 \n-0.25 -0.234375 0.5 \n-0.234375 -0.25 0.5 \n0.5 0.015625 0.234375 \n0.5 0.015625 0.25 \n0.5 0.046875 0.203125 \n0.5 0.046875 0.25 \n0.5 0.078125 0.171875 \n0.5 0.109375 0.140625 \n0.5 0.078125 0.25 \n0.5 0.109375 0.25 \n0.5 0.140625 0.109375 \n0.5 0.171875 0.078125 \n0.5 0.203125 0.046875 \n0.5 0.234375 0.015625 \n0.5 0.25 0.015625 \n0.5 0.25 0.046875 \n0.5 0.25 0.078125 \n0.5 0.25 0.109375 \n0.5 0.140625 0.25 \n0.5 0.171875 0.25 \n0.5 0.25 0.140625 \n0.5 0.25 0.171875 \n0.5 0.203125 0.25 \n0.5 0.25 0.203125 \n0.5 0.25 0.234375 \n0.5 0.234375 0.25 \n0.5 -0.015625 -0.234375 \n0.5 -0.015625 -0.25 \n0.5 -0.046875 -0.203125 \n0.5 -0.046875 -0.25 \n0.5 -0.078125 -0.171875 \n0.5 -0.109375 -0.140625 \n0.5 -0.078125 -0.25 \n0.5 -0.109375 -0.25 \n0.5 -0.140625 -0.109375 \n0.5 -0.171875 -0.078125 \n0.5 -0.203125 -0.046875 \n0.5 -0.234375 -0.015625 \n0.5 -0.25 -0.015625 \n0.5 -0.25 -0.046875 \n0.5 -0.25 -0.078125 \n0.5 -0.25 -0.109375 \n0.5 -0.140625 -0.25 \n0.5 -0.171875 -0.25 \n0.5 -0.25 -0.140625 \n0.5 -0.25 -0.171875 \n0.5 -0.203125 -0.25 \n0.5 -0.25 -0.203125 \n0.5 -0.25 -0.234375 \n0.5 -0.234375 -0.25 \n0.234375 0.5 0.015625 \n0.25 0.5 0.015625 \n0.203125 0.5 0.046875 \n0.25 0.5 0.046875 \n0.171875 0.5 0.078125 \n0.140625 0.5 0.109375 \n0.25 0.5 0.078125 \n0.25 0.5 0.109375 \n0.109375 0.5 0.140625 \n0.078125 0.5 0.171875 \n0.046875 0.5 0.203125 \n0.015625 0.5 0.234375 \n0.015625 0.5 0.25 \n0.046875 0.5 0.25 \n0.078125 0.5 0.25 \n0.109375 0.5 0.25 \n0.25 0.5 0.140625 \n0.25 0.5 0.171875 \n0.140625 0.5 0.25 \n0.171875 0.5 0.25 \n0.25 0.5 0.203125 \n0.203125 0.5 0.25 \n0.234375 0.5 0.25 \n0.25 0.5 0.234375 \n-0.234375 0.5 -0.015625 \n-0.25 0.5 -0.015625 \n-0.203125 0.5 -0.046875 \n-0.25 0.5 -0.046875 \n-0.171875 0.5 -0.078125 \n-0.140625 0.5 -0.109375 \n-0.25 0.5 -0.078125 \n-0.25 0.5 -0.109375 \n-0.109375 0.5 -0.140625 \n-0.078125 0.5 -0.171875 \n-0.046875 0.5 -0.203125 \n-0.015625 0.5 -0.234375 \n-0.015625 0.5 -0.25 \n-0.046875 0.5 -0.25 \n-0.078125 0.5 -0.25 \n-0.109375 0.5 -0.25 \n-0.25 0.5 -0.140625 \n-0.25 0.5 -0.171875 \n-0.140625 0.5 -0.25 \n-0.171875 0.5 -0.25 \n-0.25 0.5 -0.203125 \n-0.203125 0.5 -0.25 \n-0.234375 0.5 -0.25 \n-0.25 0.5 -0.234375 \n-0.234375 -0.015625 -0.5 \n-0.25 -0.015625 -0.5 \n-0.203125 -0.046875 -0.5 \n-0.25 -0.046875 -0.5 \n-0.171875 -0.078125 -0.5 \n-0.140625 -0.109375 -0.5 \n-0.25 -0.078125 -0.5 \n-0.25 -0.109375 -0.5 \n-0.109375 -0.140625 -0.5 \n-0.078125 -0.171875 -0.5 \n-0.046875 -0.203125 -0.5 \n-0.015625 -0.234375 -0.5 \n-0.015625 -0.25 -0.5 \n-0.046875 -0.25 -0.5 \n-0.078125 -0.25 -0.5 \n-0.109375 -0.25 -0.5 \n-0.25 -0.140625 -0.5 \n-0.25 -0.171875 -0.5 \n-0.140625 -0.25 -0.5 \n-0.171875 -0.25 -0.5 \n-0.25 -0.203125 -0.5 \n-0.203125 -0.25 -0.5 \n-0.234375 -0.25 -0.5 \n-0.25 -0.234375 -0.5 \n0.234375 0.015625 -0.5 \n0.25 0.015625 -0.5 \n0.203125 0.046875 -0.5 \n0.25 0.046875 -0.5 \n0.171875 0.078125 -0.5 \n0.140625 0.109375 -0.5 \n0.25 0.078125 -0.5 \n0.25 0.109375 -0.5 \n0.109375 0.140625 -0.5 \n0.078125 0.171875 -0.5 \n0.046875 0.203125 -0.5 \n0.015625 0.234375 -0.5 \n0.015625 0.25 -0.5 \n0.046875 0.25 -0.5 \n0.078125 0.25 -0.5 \n0.109375 0.25 -0.5 \n0.25 0.140625 -0.5 \n0.25 0.171875 -0.5 \n0.140625 0.25 -0.5 \n0.171875 0.25 -0.5 \n0.25 0.203125 -0.5 \n0.203125 0.25 -0.5 \n0.234375 0.25 -0.5 \n0.25 0.234375 -0.5 \n-0.015625 -0.5 -0.234375 \n-0.015625 -0.5 -0.25 \n-0.046875 -0.5 -0.203125 \n-0.046875 -0.5 -0.25 \n-0.078125 -0.5 -0.171875 \n-0.109375 -0.5 -0.140625 \n-0.078125 -0.5 -0.25 \n-0.109375 -0.5 -0.25 \n-0.140625 -0.5 -0.109375 \n-0.171875 -0.5 -0.078125 \n-0.203125 -0.5 -0.046875 \n-0.234375 -0.5 -0.015625 \n-0.25 -0.5 -0.015625 \n-0.25 -0.5 -0.046875 \n-0.25 -0.5 -0.078125 \n-0.25 -0.5 -0.109375 \n-0.140625 -0.5 -0.25 \n-0.171875 -0.5 -0.25 \n-0.25 -0.5 -0.140625 \n-0.25 -0.5 -0.171875 \n-0.203125 -0.5 -0.25 \n-0.25 -0.5 -0.203125 \n-0.25 -0.5 -0.234375 \n-0.234375 -0.5 -0.25 \n0.015625 -0.5 0.234375 \n0.015625 -0.5 0.25 \n0.046875 -0.5 0.203125 \n0.046875 -0.5 0.25 \n0.078125 -0.5 0.171875 \n0.109375 -0.5 0.140625 \n0.078125 -0.5 0.25 \n0.109375 -0.5 0.25 \n0.140625 -0.5 0.109375 \n0.171875 -0.5 0.078125 \n0.203125 -0.5 0.046875 \n0.234375 -0.5 0.015625 \n0.25 -0.5 0.015625 \n0.25 -0.5 0.046875 \n0.25 -0.5 0.078125 \n0.25 -0.5 0.109375 \n0.140625 -0.5 0.25 \n0.171875 -0.5 0.25 \n0.25 -0.5 0.140625 \n0.25 -0.5 0.171875 \n0.203125 -0.5 0.25 \n0.25 -0.5 0.203125 \n0.25 -0.5 0.234375 \n0.234375 -0.5 0.25 \n-0.5 -0.234375 -0.015625 \n-0.5 -0.25 -0.015625 \n-0.5 -0.203125 -0.046875 \n-0.5 -0.25 -0.046875 \n-0.5 -0.171875 -0.078125 \n-0.5 -0.140625 -0.109375 \n-0.5 -0.25 -0.078125 \n-0.5 -0.25 -0.109375 \n-0.5 -0.109375 -0.140625 \n-0.5 -0.078125 -0.171875 \n-0.5 -0.046875 -0.203125 \n-0.5 -0.015625 -0.234375 \n-0.5 -0.015625 -0.25 \n-0.5 -0.046875 -0.25 \n-0.5 -0.078125 -0.25 \n-0.5 -0.109375 -0.25 \n-0.5 -0.25 -0.140625 \n-0.5 -0.25 -0.171875 \n-0.5 -0.140625 -0.25 \n-0.5 -0.171875 -0.25 \n-0.5 -0.25 -0.203125 \n-0.5 -0.203125 -0.25 \n-0.5 -0.234375 -0.25 \n-0.5 -0.25 -0.234375 \n-0.5 0.234375 0.015625 \n-0.5 0.25 0.015625 \n-0.5 0.203125 0.046875 \n-0.5 0.25 0.046875 \n-0.5 0.171875 0.078125 \n-0.5 0.140625 0.109375 \n-0.5 0.25 0.078125 \n-0.5 0.25 0.109375 \n-0.5 0.109375 0.140625 \n-0.5 0.078125 0.171875 \n-0.5 0.046875 0.203125 \n-0.5 0.015625 0.234375 \n-0.5 0.015625 0.25 \n-0.5 0.046875 0.25 \n-0.5 0.078125 0.25 \n-0.5 0.109375 0.25 \n-0.5 0.25 0.140625 \n-0.5 0.25 0.171875 \n-0.5 0.140625 0.25 \n-0.5 0.171875 0.25 \n-0.5 0.25 0.203125 \n-0.5 0.203125 0.25 \n-0.5 0.234375 0.25 \n-0.5 0.25 0.234375 \n0.25 0.484375 0.5 \n0.265625 0.484375 0.5 \n0.25 0.453125 0.5 \n0.296875 0.453125 0.5 \n0.25 0.421875 0.5 \n0.25 0.390625 0.5 \n0.328125 0.421875 0.5 \n0.359375 0.390625 0.5 \n0.25 0.359375 0.5 \n0.25 0.328125 0.5 \n0.25 0.296875 0.5 \n0.25 0.265625 0.5 \n0.265625 0.25 0.5 \n0.296875 0.25 0.5 \n0.328125 0.25 0.5 \n0.359375 0.25 0.5 \n0.390625 0.359375 0.5 \n0.421875 0.328125 0.5 \n0.390625 0.25 0.5 \n0.421875 0.25 0.5 \n0.453125 0.296875 0.5 \n0.453125 0.25 0.5 \n0.484375 0.25 0.5 \n0.484375 0.265625 0.5 \n-0.25 0.484375 0.5 \n-0.234375 0.484375 0.5 \n-0.25 0.453125 0.5 \n-0.203125 0.453125 0.5 \n-0.25 0.421875 0.5 \n-0.25 0.390625 0.5 \n-0.171875 0.421875 0.5 \n-0.140625 0.390625 0.5 \n-0.25 0.359375 0.5 \n-0.25 0.328125 0.5 \n-0.25 0.296875 0.5 \n-0.25 0.265625 0.5 \n-0.234375 0.25 0.5 \n-0.203125 0.25 0.5 \n-0.171875 0.25 0.5 \n-0.140625 0.25 0.5 \n-0.109375 0.359375 0.5 \n-0.078125 0.328125 0.5 \n-0.109375 0.25 0.5 \n-0.078125 0.25 0.5 \n-0.046875 0.296875 0.5 \n-0.046875 0.25 0.5 \n-0.015625 0.25 0.5 \n-0.015625 0.265625 0.5 \n0.25 -0.015625 0.5 \n0.265625 -0.015625 0.5 \n0.25 -0.046875 0.5 \n0.296875 -0.046875 0.5 \n0.25 -0.078125 0.5 \n0.25 -0.109375 0.5 \n0.328125 -0.078125 0.5 \n0.359375 -0.109375 0.5 \n0.25 -0.140625 0.5 \n0.25 -0.171875 0.5 \n0.25 -0.203125 0.5 \n0.25 -0.234375 0.5 \n0.265625 -0.25 0.5 \n0.296875 -0.25 0.5 \n0.328125 -0.25 0.5 \n0.359375 -0.25 0.5 \n0.390625 -0.140625 0.5 \n0.421875 -0.171875 0.5 \n0.390625 -0.25 0.5 \n0.421875 -0.25 0.5 \n0.453125 -0.203125 0.5 \n0.453125 -0.25 0.5 \n0.484375 -0.25 0.5 \n0.484375 -0.234375 0.5 \n-0.25 -0.484375 0.5 \n-0.265625 -0.484375 0.5 \n-0.25 -0.453125 0.5 \n-0.296875 -0.453125 0.5 \n-0.25 -0.421875 0.5 \n-0.25 -0.390625 0.5 \n-0.328125 -0.421875 0.5 \n-0.359375 -0.390625 0.5 \n-0.25 -0.359375 0.5 \n-0.25 -0.328125 0.5 \n-0.25 -0.296875 0.5 \n-0.25 -0.265625 0.5 \n-0.265625 -0.25 0.5 \n-0.296875 -0.25 0.5 \n-0.328125 -0.25 0.5 \n-0.359375 -0.25 0.5 \n-0.390625 -0.359375 0.5 \n-0.421875 -0.328125 0.5 \n-0.390625 -0.25 0.5 \n-0.421875 -0.25 0.5 \n-0.453125 -0.296875 0.5 \n-0.453125 -0.25 0.5 \n-0.484375 -0.25 0.5 \n-0.484375 -0.265625 0.5 \n0.25 -0.484375 0.5 \n0.234375 -0.484375 0.5 \n0.25 -0.453125 0.5 \n0.203125 -0.453125 0.5 \n0.25 -0.421875 0.5 \n0.25 -0.390625 0.5 \n0.171875 -0.421875 0.5 \n0.140625 -0.390625 0.5 \n0.25 -0.359375 0.5 \n0.25 -0.328125 0.5 \n0.25 -0.296875 0.5 \n0.25 -0.265625 0.5 \n0.234375 -0.25 0.5 \n0.203125 -0.25 0.5 \n0.171875 -0.25 0.5 \n0.140625 -0.25 0.5 \n0.109375 -0.359375 0.5 \n0.078125 -0.328125 0.5 \n0.109375 -0.25 0.5 \n0.078125 -0.25 0.5 \n0.046875 -0.296875 0.5 \n0.046875 -0.25 0.5 \n0.015625 -0.25 0.5 \n0.015625 -0.265625 0.5 \n-0.25 0.015625 0.5 \n-0.265625 0.015625 0.5 \n-0.25 0.046875 0.5 \n-0.296875 0.046875 0.5 \n-0.25 0.078125 0.5 \n-0.25 0.109375 0.5 \n-0.328125 0.078125 0.5 \n-0.359375 0.109375 0.5 \n-0.25 0.140625 0.5 \n-0.25 0.171875 0.5 \n-0.25 0.203125 0.5 \n-0.25 0.234375 0.5 \n-0.265625 0.25 0.5 \n-0.296875 0.25 0.5 \n-0.328125 0.25 0.5 \n-0.359375 0.25 0.5 \n-0.390625 0.140625 0.5 \n-0.421875 0.171875 0.5 \n-0.390625 0.25 0.5 \n-0.421875 0.25 0.5 \n-0.453125 0.203125 0.5 \n-0.453125 0.25 0.5 \n-0.484375 0.25 0.5 \n-0.484375 0.234375 0.5 \n0.5 0.25 0.484375 \n0.5 0.265625 0.484375 \n0.5 0.25 0.453125 \n0.5 0.296875 0.453125 \n0.5 0.25 0.421875 \n0.5 0.25 0.390625 \n0.5 0.328125 0.421875 \n0.5 0.359375 0.390625 \n0.5 0.25 0.359375 \n0.5 0.25 0.328125 \n0.5 0.25 0.296875 \n0.5 0.25 0.265625 \n0.5 0.265625 0.25 \n0.5 0.296875 0.25 \n0.5 0.328125 0.25 \n0.5 0.359375 0.25 \n0.5 0.390625 0.359375 \n0.5 0.421875 0.328125 \n0.5 0.390625 0.25 \n0.5 0.421875 0.25 \n0.5 0.453125 0.296875 \n0.5 0.453125 0.25 \n0.5 0.484375 0.25 \n0.5 0.484375 0.265625 \n0.5 -0.25 0.484375 \n0.5 -0.234375 0.484375 \n0.5 -0.25 0.453125 \n0.5 -0.203125 0.453125 \n0.5 -0.25 0.421875 \n0.5 -0.25 0.390625 \n0.5 -0.171875 0.421875 \n0.5 -0.140625 0.390625 \n0.5 -0.25 0.359375 \n0.5 -0.25 0.328125 \n0.5 -0.25 0.296875 \n0.5 -0.25 0.265625 \n0.5 -0.234375 0.25 \n0.5 -0.203125 0.25 \n0.5 -0.171875 0.25 \n0.5 -0.140625 0.25 \n0.5 -0.109375 0.359375 \n0.5 -0.078125 0.328125 \n0.5 -0.109375 0.25 \n0.5 -0.078125 0.25 \n0.5 -0.046875 0.296875 \n0.5 -0.046875 0.25 \n0.5 -0.015625 0.25 \n0.5 -0.015625 0.265625 \n0.5 0.25 -0.015625 \n0.5 0.265625 -0.015625 \n0.5 0.25 -0.046875 \n0.5 0.296875 -0.046875 \n0.5 0.25 -0.078125 \n0.5 0.25 -0.109375 \n0.5 0.328125 -0.078125 \n0.5 0.359375 -0.109375 \n0.5 0.25 -0.140625 \n0.5 0.25 -0.171875 \n0.5 0.25 -0.203125 \n0.5 0.25 -0.234375 \n0.5 0.265625 -0.25 \n0.5 0.296875 -0.25 \n0.5 0.328125 -0.25 \n0.5 0.359375 -0.25 \n0.5 0.390625 -0.140625 \n0.5 0.421875 -0.171875 \n0.5 0.390625 -0.25 \n0.5 0.421875 -0.25 \n0.5 0.453125 -0.203125 \n0.5 0.453125 -0.25 \n0.5 0.484375 -0.25 \n0.5 0.484375 -0.234375 \n0.5 -0.25 -0.484375 \n0.5 -0.265625 -0.484375 \n0.5 -0.25 -0.453125 \n0.5 -0.296875 -0.453125 \n0.5 -0.25 -0.421875 \n0.5 -0.25 -0.390625 \n0.5 -0.328125 -0.421875 \n0.5 -0.359375 -0.390625 \n0.5 -0.25 -0.359375 \n0.5 -0.25 -0.328125 \n0.5 -0.25 -0.296875 \n0.5 -0.25 -0.265625 \n0.5 -0.265625 -0.25 \n0.5 -0.296875 -0.25 \n0.5 -0.328125 -0.25 \n0.5 -0.359375 -0.25 \n0.5 -0.390625 -0.359375 \n0.5 -0.421875 -0.328125 \n0.5 -0.390625 -0.25 \n0.5 -0.421875 -0.25 \n0.5 -0.453125 -0.296875 \n0.5 -0.453125 -0.25 \n0.5 -0.484375 -0.25 \n0.5 -0.484375 -0.265625 \n0.5 0.25 -0.484375 \n0.5 0.234375 -0.484375 \n0.5 0.25 -0.453125 \n0.5 0.203125 -0.453125 \n0.5 0.25 -0.421875 \n0.5 0.25 -0.390625 \n0.5 0.171875 -0.421875 \n0.5 0.140625 -0.390625 \n0.5 0.25 -0.359375 \n0.5 0.25 -0.328125 \n0.5 0.25 -0.296875 \n0.5 0.25 -0.265625 \n0.5 0.234375 -0.25 \n0.5 0.203125 -0.25 \n0.5 0.171875 -0.25 \n0.5 0.140625 -0.25 \n0.5 0.109375 -0.359375 \n0.5 0.078125 -0.328125 \n0.5 0.109375 -0.25 \n0.5 0.078125 -0.25 \n0.5 0.046875 -0.296875 \n0.5 0.046875 -0.25 \n0.5 0.015625 -0.25 \n0.5 0.015625 -0.265625 \n0.5 -0.25 0.015625 \n0.5 -0.265625 0.015625 \n0.5 -0.25 0.046875 \n0.5 -0.296875 0.046875 \n0.5 -0.25 0.078125 \n0.5 -0.25 0.109375 \n0.5 -0.328125 0.078125 \n0.5 -0.359375 0.109375 \n0.5 -0.25 0.140625 \n0.5 -0.25 0.171875 \n0.5 -0.25 0.203125 \n0.5 -0.25 0.234375 \n0.5 -0.265625 0.25 \n0.5 -0.296875 0.25 \n0.5 -0.328125 0.25 \n0.5 -0.359375 0.25 \n0.5 -0.390625 0.140625 \n0.5 -0.421875 0.171875 \n0.5 -0.390625 0.25 \n0.5 -0.421875 0.25 \n0.5 -0.453125 0.203125 \n0.5 -0.453125 0.25 \n0.5 -0.484375 0.25 \n0.5 -0.484375 0.234375 \n0.484375 0.5 0.25 \n0.484375 0.5 0.265625 \n0.453125 0.5 0.25 \n0.453125 0.5 0.296875 \n0.421875 0.5 0.25 \n0.390625 0.5 0.25 \n0.421875 0.5 0.328125 \n0.390625 0.5 0.359375 \n0.359375 0.5 0.25 \n0.328125 0.5 0.25 \n0.296875 0.5 0.25 \n0.265625 0.5 0.25 \n0.25 0.5 0.265625 \n0.25 0.5 0.296875 \n0.25 0.5 0.328125 \n0.25 0.5 0.359375 \n0.359375 0.5 0.390625 \n0.328125 0.5 0.421875 \n0.25 0.5 0.390625 \n0.25 0.5 0.421875 \n0.296875 0.5 0.453125 \n0.25 0.5 0.453125 \n0.25 0.5 0.484375 \n0.265625 0.5 0.484375 \n0.484375 0.5 -0.25 \n0.484375 0.5 -0.234375 \n0.453125 0.5 -0.25 \n0.453125 0.5 -0.203125 \n0.421875 0.5 -0.25 \n0.390625 0.5 -0.25 \n0.421875 0.5 -0.171875 \n0.390625 0.5 -0.140625 \n0.359375 0.5 -0.25 \n0.328125 0.5 -0.25 \n0.296875 0.5 -0.25 \n0.265625 0.5 -0.25 \n0.25 0.5 -0.234375 \n0.25 0.5 -0.203125 \n0.25 0.5 -0.171875 \n0.25 0.5 -0.140625 \n0.359375 0.5 -0.109375 \n0.328125 0.5 -0.078125 \n0.25 0.5 -0.109375 \n0.25 0.5 -0.078125 \n0.296875 0.5 -0.046875 \n0.25 0.5 -0.046875 \n0.25 0.5 -0.015625 \n0.265625 0.5 -0.015625 \n-0.015625 0.5 0.25 \n-0.015625 0.5 0.265625 \n-0.046875 0.5 0.25 \n-0.046875 0.5 0.296875 \n-0.078125 0.5 0.25 \n-0.109375 0.5 0.25 \n-0.078125 0.5 0.328125 \n-0.109375 0.5 0.359375 \n-0.140625 0.5 0.25 \n-0.171875 0.5 0.25 \n-0.203125 0.5 0.25 \n-0.234375 0.5 0.25 \n-0.25 0.5 0.265625 \n-0.25 0.5 0.296875 \n-0.25 0.5 0.328125 \n-0.25 0.5 0.359375 \n-0.140625 0.5 0.390625 \n-0.171875 0.5 0.421875 \n-0.25 0.5 0.390625 \n-0.25 0.5 0.421875 \n-0.203125 0.5 0.453125 \n-0.25 0.5 0.453125 \n-0.25 0.5 0.484375 \n-0.234375 0.5 0.484375 \n-0.484375 0.5 -0.25 \n-0.484375 0.5 -0.265625 \n-0.453125 0.5 -0.25 \n-0.453125 0.5 -0.296875 \n-0.421875 0.5 -0.25 \n-0.390625 0.5 -0.25 \n-0.421875 0.5 -0.328125 \n-0.390625 0.5 -0.359375 \n-0.359375 0.5 -0.25 \n-0.328125 0.5 -0.25 \n-0.296875 0.5 -0.25 \n-0.265625 0.5 -0.25 \n-0.25 0.5 -0.265625 \n-0.25 0.5 -0.296875 \n-0.25 0.5 -0.328125 \n-0.25 0.5 -0.359375 \n-0.359375 0.5 -0.390625 \n-0.328125 0.5 -0.421875 \n-0.25 0.5 -0.390625 \n-0.25 0.5 -0.421875 \n-0.296875 0.5 -0.453125 \n-0.25 0.5 -0.453125 \n-0.25 0.5 -0.484375 \n-0.265625 0.5 -0.484375 \n-0.484375 0.5 0.25 \n-0.484375 0.5 0.234375 \n-0.453125 0.5 0.25 \n-0.453125 0.5 0.203125 \n-0.421875 0.5 0.25 \n-0.390625 0.5 0.25 \n-0.421875 0.5 0.171875 \n-0.390625 0.5 0.140625 \n-0.359375 0.5 0.25 \n-0.328125 0.5 0.25 \n-0.296875 0.5 0.25 \n-0.265625 0.5 0.25 \n-0.25 0.5 0.234375 \n-0.25 0.5 0.203125 \n-0.25 0.5 0.171875 \n-0.25 0.5 0.140625 \n-0.359375 0.5 0.109375 \n-0.328125 0.5 0.078125 \n-0.25 0.5 0.109375 \n-0.25 0.5 0.078125 \n-0.296875 0.5 0.046875 \n-0.25 0.5 0.046875 \n-0.25 0.5 0.015625 \n-0.265625 0.5 0.015625 \n0.015625 0.5 -0.25 \n0.015625 0.5 -0.265625 \n0.046875 0.5 -0.25 \n0.046875 0.5 -0.296875 \n0.078125 0.5 -0.25 \n0.109375 0.5 -0.25 \n0.078125 0.5 -0.328125 \n0.109375 0.5 -0.359375 \n0.140625 0.5 -0.25 \n0.171875 0.5 -0.25 \n0.203125 0.5 -0.25 \n0.234375 0.5 -0.25 \n0.25 0.5 -0.265625 \n0.25 0.5 -0.296875 \n0.25 0.5 -0.328125 \n0.25 0.5 -0.359375 \n0.140625 0.5 -0.390625 \n0.171875 0.5 -0.421875 \n0.25 0.5 -0.390625 \n0.25 0.5 -0.421875 \n0.203125 0.5 -0.453125 \n0.25 0.5 -0.453125 \n0.25 0.5 -0.484375 \n0.234375 0.5 -0.484375 \n-0.484375 -0.25 -0.5 \n-0.484375 -0.265625 -0.5 \n-0.453125 -0.25 -0.5 \n-0.453125 -0.296875 -0.5 \n-0.421875 -0.25 -0.5 \n-0.390625 -0.25 -0.5 \n-0.421875 -0.328125 -0.5 \n-0.390625 -0.359375 -0.5 \n-0.359375 -0.25 -0.5 \n-0.328125 -0.25 -0.5 \n-0.296875 -0.25 -0.5 \n-0.265625 -0.25 -0.5 \n-0.25 -0.265625 -0.5 \n-0.25 -0.296875 -0.5 \n-0.25 -0.328125 -0.5 \n-0.25 -0.359375 -0.5 \n-0.359375 -0.390625 -0.5 \n-0.328125 -0.421875 -0.5 \n-0.25 -0.390625 -0.5 \n-0.25 -0.421875 -0.5 \n-0.296875 -0.453125 -0.5 \n-0.25 -0.453125 -0.5 \n-0.25 -0.484375 -0.5 \n-0.265625 -0.484375 -0.5 \n-0.484375 0.25 -0.5 \n-0.484375 0.234375 -0.5 \n-0.453125 0.25 -0.5 \n-0.453125 0.203125 -0.5 \n-0.421875 0.25 -0.5 \n-0.390625 0.25 -0.5 \n-0.421875 0.171875 -0.5 \n-0.390625 0.140625 -0.5 \n-0.359375 0.25 -0.5 \n-0.328125 0.25 -0.5 \n-0.296875 0.25 -0.5 \n-0.265625 0.25 -0.5 \n-0.25 0.234375 -0.5 \n-0.25 0.203125 -0.5 \n-0.25 0.171875 -0.5 \n-0.25 0.140625 -0.5 \n-0.359375 0.109375 -0.5 \n-0.328125 0.078125 -0.5 \n-0.25 0.109375 -0.5 \n-0.25 0.078125 -0.5 \n-0.296875 0.046875 -0.5 \n-0.25 0.046875 -0.5 \n-0.25 0.015625 -0.5 \n-0.265625 0.015625 -0.5 \n0.015625 -0.25 -0.5 \n0.015625 -0.265625 -0.5 \n0.046875 -0.25 -0.5 \n0.046875 -0.296875 -0.5 \n0.078125 -0.25 -0.5 \n0.109375 -0.25 -0.5 \n0.078125 -0.328125 -0.5 \n0.109375 -0.359375 -0.5 \n0.140625 -0.25 -0.5 \n0.171875 -0.25 -0.5 \n0.203125 -0.25 -0.5 \n0.234375 -0.25 -0.5 \n0.25 -0.265625 -0.5 \n0.25 -0.296875 -0.5 \n0.25 -0.328125 -0.5 \n0.25 -0.359375 -0.5 \n0.140625 -0.390625 -0.5 \n0.171875 -0.421875 -0.5 \n0.25 -0.390625 -0.5 \n0.25 -0.421875 -0.5 \n0.203125 -0.453125 -0.5 \n0.25 -0.453125 -0.5 \n0.25 -0.484375 -0.5 \n0.234375 -0.484375 -0.5 \n0.484375 0.25 -0.5 \n0.484375 0.265625 -0.5 \n0.453125 0.25 -0.5 \n0.453125 0.296875 -0.5 \n0.421875 0.25 -0.5 \n0.390625 0.25 -0.5 \n0.421875 0.328125 -0.5 \n0.390625 0.359375 -0.5 \n0.359375 0.25 -0.5 \n0.328125 0.25 -0.5 \n0.296875 0.25 -0.5 \n0.265625 0.25 -0.5 \n0.25 0.265625 -0.5 \n0.25 0.296875 -0.5 \n0.25 0.328125 -0.5 \n0.25 0.359375 -0.5 \n0.359375 0.390625 -0.5 \n0.328125 0.421875 -0.5 \n0.25 0.390625 -0.5 \n0.25 0.421875 -0.5 \n0.296875 0.453125 -0.5 \n0.25 0.453125 -0.5 \n0.25 0.484375 -0.5 \n0.265625 0.484375 -0.5 \n0.484375 -0.25 -0.5 \n0.484375 -0.234375 -0.5 \n0.453125 -0.25 -0.5 \n0.453125 -0.203125 -0.5 \n0.421875 -0.25 -0.5 \n0.390625 -0.25 -0.5 \n0.421875 -0.171875 -0.5 \n0.390625 -0.140625 -0.5 \n0.359375 -0.25 -0.5 \n0.328125 -0.25 -0.5 \n0.296875 -0.25 -0.5 \n0.265625 -0.25 -0.5 \n0.25 -0.234375 -0.5 \n0.25 -0.203125 -0.5 \n0.25 -0.171875 -0.5 \n0.25 -0.140625 -0.5 \n0.359375 -0.109375 -0.5 \n0.328125 -0.078125 -0.5 \n0.25 -0.109375 -0.5 \n0.25 -0.078125 -0.5 \n0.296875 -0.046875 -0.5 \n0.25 -0.046875 -0.5 \n0.25 -0.015625 -0.5 \n0.265625 -0.015625 -0.5 \n-0.015625 0.25 -0.5 \n-0.015625 0.265625 -0.5 \n-0.046875 0.25 -0.5 \n-0.046875 0.296875 -0.5 \n-0.078125 0.25 -0.5 \n-0.109375 0.25 -0.5 \n-0.078125 0.328125 -0.5 \n-0.109375 0.359375 -0.5 \n-0.140625 0.25 -0.5 \n-0.171875 0.25 -0.5 \n-0.203125 0.25 -0.5 \n-0.234375 0.25 -0.5 \n-0.25 0.265625 -0.5 \n-0.25 0.296875 -0.5 \n-0.25 0.328125 -0.5 \n-0.25 0.359375 -0.5 \n-0.140625 0.390625 -0.5 \n-0.171875 0.421875 -0.5 \n-0.25 0.390625 -0.5 \n-0.25 0.421875 -0.5 \n-0.203125 0.453125 -0.5 \n-0.25 0.453125 -0.5 \n-0.25 0.484375 -0.5 \n-0.234375 0.484375 -0.5 \n-0.25 -0.5 -0.484375 \n-0.265625 -0.5 -0.484375 \n-0.25 -0.5 -0.453125 \n-0.296875 -0.5 -0.453125 \n-0.25 -0.5 -0.421875 \n-0.25 -0.5 -0.390625 \n-0.328125 -0.5 -0.421875 \n-0.359375 -0.5 -0.390625 \n-0.25 -0.5 -0.359375 \n-0.25 -0.5 -0.328125 \n-0.25 -0.5 -0.296875 \n-0.25 -0.5 -0.265625 \n-0.265625 -0.5 -0.25 \n-0.296875 -0.5 -0.25 \n-0.328125 -0.5 -0.25 \n-0.359375 -0.5 -0.25 \n-0.390625 -0.5 -0.359375 \n-0.421875 -0.5 -0.328125 \n-0.390625 -0.5 -0.25 \n-0.421875 -0.5 -0.25 \n-0.453125 -0.5 -0.296875 \n-0.453125 -0.5 -0.25 \n-0.484375 -0.5 -0.25 \n-0.484375 -0.5 -0.265625 \n0.25 -0.5 -0.484375 \n0.234375 -0.5 -0.484375 \n0.25 -0.5 -0.453125 \n0.203125 -0.5 -0.453125 \n0.25 -0.5 -0.421875 \n0.25 -0.5 -0.390625 \n0.171875 -0.5 -0.421875 \n0.140625 -0.5 -0.390625 \n0.25 -0.5 -0.359375 \n0.25 -0.5 -0.328125 \n0.25 -0.5 -0.296875 \n0.25 -0.5 -0.265625 \n0.234375 -0.5 -0.25 \n0.203125 -0.5 -0.25 \n0.171875 -0.5 -0.25 \n0.140625 -0.5 -0.25 \n0.109375 -0.5 -0.359375 \n0.078125 -0.5 -0.328125 \n0.109375 -0.5 -0.25 \n0.078125 -0.5 -0.25 \n0.046875 -0.5 -0.296875 \n0.046875 -0.5 -0.25 \n0.015625 -0.5 -0.25 \n0.015625 -0.5 -0.265625 \n-0.25 -0.5 0.015625 \n-0.265625 -0.5 0.015625 \n-0.25 -0.5 0.046875 \n-0.296875 -0.5 0.046875 \n-0.25 -0.5 0.078125 \n-0.25 -0.5 0.109375 \n-0.328125 -0.5 0.078125 \n-0.359375 -0.5 0.109375 \n-0.25 -0.5 0.140625 \n-0.25 -0.5 0.171875 \n-0.25 -0.5 0.203125 \n-0.25 -0.5 0.234375 \n-0.265625 -0.5 0.25 \n-0.296875 -0.5 0.25 \n-0.328125 -0.5 0.25 \n-0.359375 -0.5 0.25 \n-0.390625 -0.5 0.140625 \n-0.421875 -0.5 0.171875 \n-0.390625 -0.5 0.25 \n-0.421875 -0.5 0.25 \n-0.453125 -0.5 0.203125 \n-0.453125 -0.5 0.25 \n-0.484375 -0.5 0.25 \n-0.484375 -0.5 0.234375 \n0.25 -0.5 0.484375 \n0.265625 -0.5 0.484375 \n0.25 -0.5 0.453125 \n0.296875 -0.5 0.453125 \n0.25 -0.5 0.421875 \n0.25 -0.5 0.390625 \n0.328125 -0.5 0.421875 \n0.359375 -0.5 0.390625 \n0.25 -0.5 0.359375 \n0.25 -0.5 0.328125 \n0.25 -0.5 0.296875 \n0.25 -0.5 0.265625 \n0.265625 -0.5 0.25 \n0.296875 -0.5 0.25 \n0.328125 -0.5 0.25 \n0.359375 -0.5 0.25 \n0.390625 -0.5 0.359375 \n0.421875 -0.5 0.328125 \n0.390625 -0.5 0.25 \n0.421875 -0.5 0.25 \n0.453125 -0.5 0.296875 \n0.453125 -0.5 0.25 \n0.484375 -0.5 0.25 \n0.484375 -0.5 0.265625 \n-0.25 -0.5 0.484375 \n-0.234375 -0.5 0.484375 \n-0.25 -0.5 0.453125 \n-0.203125 -0.5 0.453125 \n-0.25 -0.5 0.421875 \n-0.25 -0.5 0.390625 \n-0.171875 -0.5 0.421875 \n-0.140625 -0.5 0.390625 \n-0.25 -0.5 0.359375 \n-0.25 -0.5 0.328125 \n-0.25 -0.5 0.296875 \n-0.25 -0.5 0.265625 \n-0.234375 -0.5 0.25 \n-0.203125 -0.5 0.25 \n-0.171875 -0.5 0.25 \n-0.140625 -0.5 0.25 \n-0.109375 -0.5 0.359375 \n-0.078125 -0.5 0.328125 \n-0.109375 -0.5 0.25 \n-0.078125 -0.5 0.25 \n-0.046875 -0.5 0.296875 \n-0.046875 -0.5 0.25 \n-0.015625 -0.5 0.25 \n-0.015625 -0.5 0.265625 \n0.25 -0.5 -0.015625 \n0.265625 -0.5 -0.015625 \n0.25 -0.5 -0.046875 \n0.296875 -0.5 -0.046875 \n0.25 -0.5 -0.078125 \n0.25 -0.5 -0.109375 \n0.328125 -0.5 -0.078125 \n0.359375 -0.5 -0.109375 \n0.25 -0.5 -0.140625 \n0.25 -0.5 -0.171875 \n0.25 -0.5 -0.203125 \n0.25 -0.5 -0.234375 \n0.265625 -0.5 -0.25 \n0.296875 -0.5 -0.25 \n0.328125 -0.5 -0.25 \n0.359375 -0.5 -0.25 \n0.390625 -0.5 -0.140625 \n0.421875 -0.5 -0.171875 \n0.390625 -0.5 -0.25 \n0.421875 -0.5 -0.25 \n0.453125 -0.5 -0.203125 \n0.453125 -0.5 -0.25 \n0.484375 -0.5 -0.25 \n0.484375 -0.5 -0.234375 \n-0.5 -0.484375 -0.25 \n-0.5 -0.484375 -0.265625 \n-0.5 -0.453125 -0.25 \n-0.5 -0.453125 -0.296875 \n-0.5 -0.421875 -0.25 \n-0.5 -0.390625 -0.25 \n-0.5 -0.421875 -0.328125 \n-0.5 -0.390625 -0.359375 \n-0.5 -0.359375 -0.25 \n-0.5 -0.328125 -0.25 \n-0.5 -0.296875 -0.25 \n-0.5 -0.265625 -0.25 \n-0.5 -0.25 -0.265625 \n-0.5 -0.25 -0.296875 \n-0.5 -0.25 -0.328125 \n-0.5 -0.25 -0.359375 \n-0.5 -0.359375 -0.390625 \n-0.5 -0.328125 -0.421875 \n-0.5 -0.25 -0.390625 \n-0.5 -0.25 -0.421875 \n-0.5 -0.296875 -0.453125 \n-0.5 -0.25 -0.453125 \n-0.5 -0.25 -0.484375 \n-0.5 -0.265625 -0.484375 \n-0.5 -0.484375 0.25 \n-0.5 -0.484375 0.234375 \n-0.5 -0.453125 0.25 \n-0.5 -0.453125 0.203125 \n-0.5 -0.421875 0.25 \n-0.5 -0.390625 0.25 \n-0.5 -0.421875 0.171875 \n-0.5 -0.390625 0.140625 \n-0.5 -0.359375 0.25 \n-0.5 -0.328125 0.25 \n-0.5 -0.296875 0.25 \n-0.5 -0.265625 0.25 \n-0.5 -0.25 0.234375 \n-0.5 -0.25 0.203125 \n-0.5 -0.25 0.171875 \n-0.5 -0.25 0.140625 \n-0.5 -0.359375 0.109375 \n-0.5 -0.328125 0.078125 \n-0.5 -0.25 0.109375 \n-0.5 -0.25 0.078125 \n-0.5 -0.296875 0.046875 \n-0.5 -0.25 0.046875 \n-0.5 -0.25 0.015625 \n-0.5 -0.265625 0.015625 \n-0.5 0.015625 -0.25 \n-0.5 0.015625 -0.265625 \n-0.5 0.046875 -0.25 \n-0.5 0.046875 -0.296875 \n-0.5 0.078125 -0.25 \n-0.5 0.109375 -0.25 \n-0.5 0.078125 -0.328125 \n-0.5 0.109375 -0.359375 \n-0.5 0.140625 -0.25 \n-0.5 0.171875 -0.25 \n-0.5 0.203125 -0.25 \n-0.5 0.234375 -0.25 \n-0.5 0.25 -0.265625 \n-0.5 0.25 -0.296875 \n-0.5 0.25 -0.328125 \n-0.5 0.25 -0.359375 \n-0.5 0.140625 -0.390625 \n-0.5 0.171875 -0.421875 \n-0.5 0.25 -0.390625 \n-0.5 0.25 -0.421875 \n-0.5 0.203125 -0.453125 \n-0.5 0.25 -0.453125 \n-0.5 0.25 -0.484375 \n-0.5 0.234375 -0.484375 \n-0.5 0.484375 0.25 \n-0.5 0.484375 0.265625 \n-0.5 0.453125 0.25 \n-0.5 0.453125 0.296875 \n-0.5 0.421875 0.25 \n-0.5 0.390625 0.25 \n-0.5 0.421875 0.328125 \n-0.5 0.390625 0.359375 \n-0.5 0.359375 0.25 \n-0.5 0.328125 0.25 \n-0.5 0.296875 0.25 \n-0.5 0.265625 0.25 \n-0.5 0.25 0.265625 \n-0.5 0.25 0.296875 \n-0.5 0.25 0.328125 \n-0.5 0.25 0.359375 \n-0.5 0.359375 0.390625 \n-0.5 0.328125 0.421875 \n-0.5 0.25 0.390625 \n-0.5 0.25 0.421875 \n-0.5 0.296875 0.453125 \n-0.5 0.25 0.453125 \n-0.5 0.25 0.484375 \n-0.5 0.265625 0.484375 \n-0.5 0.484375 -0.25 \n-0.5 0.484375 -0.234375 \n-0.5 0.453125 -0.25 \n-0.5 0.453125 -0.203125 \n-0.5 0.421875 -0.25 \n-0.5 0.390625 -0.25 \n-0.5 0.421875 -0.171875 \n-0.5 0.390625 -0.140625 \n-0.5 0.359375 -0.25 \n-0.5 0.328125 -0.25 \n-0.5 0.296875 -0.25 \n-0.5 0.265625 -0.25 \n-0.5 0.25 -0.234375 \n-0.5 0.25 -0.203125 \n-0.5 0.25 -0.171875 \n-0.5 0.25 -0.140625 \n-0.5 0.359375 -0.109375 \n-0.5 0.328125 -0.078125 \n-0.5 0.25 -0.109375 \n-0.5 0.25 -0.078125 \n-0.5 0.296875 -0.046875 \n-0.5 0.25 -0.046875 \n-0.5 0.25 -0.015625 \n-0.5 0.265625 -0.015625 \n-0.5 -0.015625 0.25 \n-0.5 -0.015625 0.265625 \n-0.5 -0.046875 0.25 \n-0.5 -0.046875 0.296875 \n-0.5 -0.078125 0.25 \n-0.5 -0.109375 0.25 \n-0.5 -0.078125 0.328125 \n-0.5 -0.109375 0.359375 \n-0.5 -0.140625 0.25 \n-0.5 -0.171875 0.25 \n-0.5 -0.203125 0.25 \n-0.5 -0.234375 0.25 \n-0.5 -0.25 0.265625 \n-0.5 -0.25 0.296875 \n-0.5 -0.25 0.328125 \n-0.5 -0.25 0.359375 \n-0.5 -0.140625 0.390625 \n-0.5 -0.171875 0.421875 \n-0.5 -0.25 0.390625 \n-0.5 -0.25 0.421875 \n-0.5 -0.203125 0.453125 \n-0.5 -0.25 0.453125 \n-0.5 -0.25 0.484375 \n-0.5 -0.234375 0.484375 \n0 0.484375 0.5 \n0.015625 0.484375 0.5 \n0 0.453125 0.5 \n0.046875 0.453125 0.5 \n0 0.421875 0.5 \n0 0.390625 0.5 \n0.078125 0.421875 0.5 \n0.109375 0.390625 0.5 \n0 0.359375 0.5 \n0 0.328125 0.5 \n0 0.296875 0.5 \n0 0.265625 0.5 \n0.140625 0.359375 0.5 \n0.171875 0.328125 0.5 \n0.203125 0.296875 0.5 \n0.234375 0.265625 0.5 \n0 0.234375 0.5 \n0 0.203125 0.5 \n0 0.171875 0.5 \n0 0.140625 0.5 \n0 0.109375 0.5 \n0 0.078125 0.5 \n0 0.046875 0.5 \n0 0.015625 0.5 \n0.015625 0 0.5 \n0.046875 0 0.5 \n0.078125 0 0.5 \n0.109375 0 0.5 \n0.140625 0 0.5 \n0.171875 0 0.5 \n0.203125 0 0.5 \n0.234375 0 0.5 \n0.265625 0.234375 0.5 \n0.296875 0.203125 0.5 \n0.328125 0.171875 0.5 \n0.359375 0.140625 0.5 \n0.265625 0 0.5 \n0.296875 0 0.5 \n0.328125 0 0.5 \n0.359375 0 0.5 \n0.390625 0.109375 0.5 \n0.421875 0.078125 0.5 \n0.390625 0 0.5 \n0.421875 0 0.5 \n0.453125 0.046875 0.5 \n0.453125 0 0.5 \n0.484375 0 0.5 \n0.484375 0.015625 0.5 \n0 -0.484375 0.5 \n-0.015625 -0.484375 0.5 \n0 -0.453125 0.5 \n-0.046875 -0.453125 0.5 \n0 -0.421875 0.5 \n0 -0.390625 0.5 \n-0.078125 -0.421875 0.5 \n-0.109375 -0.390625 0.5 \n0 -0.359375 0.5 \n0 -0.328125 0.5 \n0 -0.296875 0.5 \n0 -0.265625 0.5 \n-0.140625 -0.359375 0.5 \n-0.171875 -0.328125 0.5 \n-0.203125 -0.296875 0.5 \n-0.234375 -0.265625 0.5 \n0 -0.234375 0.5 \n0 -0.203125 0.5 \n0 -0.171875 0.5 \n0 -0.140625 0.5 \n0 -0.109375 0.5 \n0 -0.078125 0.5 \n0 -0.046875 0.5 \n0 -0.015625 0.5 \n-0.015625 0 0.5 \n-0.046875 0 0.5 \n-0.078125 0 0.5 \n-0.109375 0 0.5 \n-0.140625 0 0.5 \n-0.171875 0 0.5 \n-0.203125 0 0.5 \n-0.234375 0 0.5 \n-0.265625 -0.234375 0.5 \n-0.296875 -0.203125 0.5 \n-0.328125 -0.171875 0.5 \n-0.359375 -0.140625 0.5 \n-0.265625 0 0.5 \n-0.296875 0 0.5 \n-0.328125 0 0.5 \n-0.359375 0 0.5 \n-0.390625 -0.109375 0.5 \n-0.421875 -0.078125 0.5 \n-0.390625 0 0.5 \n-0.421875 0 0.5 \n-0.453125 -0.046875 0.5 \n-0.453125 0 0.5 \n-0.484375 0 0.5 \n-0.484375 -0.015625 0.5 \n0.5 0 0.484375 \n0.5 0.015625 0.484375 \n0.5 0 0.453125 \n0.5 0.046875 0.453125 \n0.5 0 0.421875 \n0.5 0 0.390625 \n0.5 0.078125 0.421875 \n0.5 0.109375 0.390625 \n0.5 0 0.359375 \n0.5 0 0.328125 \n0.5 0 0.296875 \n0.5 0 0.265625 \n0.5 0.140625 0.359375 \n0.5 0.171875 0.328125 \n0.5 0.203125 0.296875 \n0.5 0.234375 0.265625 \n0.5 0 0.234375 \n0.5 0 0.203125 \n0.5 0 0.171875 \n0.5 0 0.140625 \n0.5 0 0.109375 \n0.5 0 0.078125 \n0.5 0 0.046875 \n0.5 0 0.015625 \n0.5 0.015625 0 \n0.5 0.046875 0 \n0.5 0.078125 0 \n0.5 0.109375 0 \n0.5 0.140625 0 \n0.5 0.171875 0 \n0.5 0.203125 0 \n0.5 0.234375 0 \n0.5 0.265625 0.234375 \n0.5 0.296875 0.203125 \n0.5 0.328125 0.171875 \n0.5 0.359375 0.140625 \n0.5 0.265625 0 \n0.5 0.296875 0 \n0.5 0.328125 0 \n0.5 0.359375 0 \n0.5 0.390625 0.109375 \n0.5 0.421875 0.078125 \n0.5 0.390625 0 \n0.5 0.421875 0 \n0.5 0.453125 0.046875 \n0.5 0.453125 0 \n0.5 0.484375 0 \n0.5 0.484375 0.015625 \n0.5 0 -0.484375 \n0.5 -0.015625 -0.484375 \n0.5 0 -0.453125 \n0.5 -0.046875 -0.453125 \n0.5 0 -0.421875 \n0.5 0 -0.390625 \n0.5 -0.078125 -0.421875 \n0.5 -0.109375 -0.390625 \n0.5 0 -0.359375 \n0.5 0 -0.328125 \n0.5 0 -0.296875 \n0.5 0 -0.265625 \n0.5 -0.140625 -0.359375 \n0.5 -0.171875 -0.328125 \n0.5 -0.203125 -0.296875 \n0.5 -0.234375 -0.265625 \n0.5 0 -0.234375 \n0.5 0 -0.203125 \n0.5 0 -0.171875 \n0.5 0 -0.140625 \n0.5 0 -0.109375 \n0.5 0 -0.078125 \n0.5 0 -0.046875 \n0.5 0 -0.015625 \n0.5 -0.015625 0 \n0.5 -0.046875 0 \n0.5 -0.078125 0 \n0.5 -0.109375 0 \n0.5 -0.140625 0 \n0.5 -0.171875 0 \n0.5 -0.203125 0 \n0.5 -0.234375 0 \n0.5 -0.265625 -0.234375 \n0.5 -0.296875 -0.203125 \n0.5 -0.328125 -0.171875 \n0.5 -0.359375 -0.140625 \n0.5 -0.265625 0 \n0.5 -0.296875 0 \n0.5 -0.328125 0 \n0.5 -0.359375 0 \n0.5 -0.390625 -0.109375 \n0.5 -0.421875 -0.078125 \n0.5 -0.390625 0 \n0.5 -0.421875 0 \n0.5 -0.453125 -0.046875 \n0.5 -0.453125 0 \n0.5 -0.484375 0 \n0.5 -0.484375 -0.015625 \n0.484375 0.5 0 \n0.484375 0.5 0.015625 \n0.453125 0.5 0 \n0.453125 0.5 0.046875 \n0.421875 0.5 0 \n0.390625 0.5 0 \n0.421875 0.5 0.078125 \n0.390625 0.5 0.109375 \n0.359375 0.5 0 \n0.328125 0.5 0 \n0.296875 0.5 0 \n0.265625 0.5 0 \n0.359375 0.5 0.140625 \n0.328125 0.5 0.171875 \n0.296875 0.5 0.203125 \n0.265625 0.5 0.234375 \n0.234375 0.5 0 \n0.203125 0.5 0 \n0.171875 0.5 0 \n0.140625 0.5 0 \n0.109375 0.5 0 \n0.078125 0.5 0 \n0.046875 0.5 0 \n0.015625 0.5 0 \n0 0.5 0.015625 \n0 0.5 0.046875 \n0 0.5 0.078125 \n0 0.5 0.109375 \n0 0.5 0.140625 \n0 0.5 0.171875 \n0 0.5 0.203125 \n0 0.5 0.234375 \n0.234375 0.5 0.265625 \n0.203125 0.5 0.296875 \n0.171875 0.5 0.328125 \n0.140625 0.5 0.359375 \n0 0.5 0.265625 \n0 0.5 0.296875 \n0 0.5 0.328125 \n0 0.5 0.359375 \n0.109375 0.5 0.390625 \n0.078125 0.5 0.421875 \n0 0.5 0.390625 \n0 0.5 0.421875 \n0.046875 0.5 0.453125 \n0 0.5 0.453125 \n0 0.5 0.484375 \n0.015625 0.5 0.484375 \n-0.484375 0.5 0 \n-0.484375 0.5 -0.015625 \n-0.453125 0.5 0 \n-0.453125 0.5 -0.046875 \n-0.421875 0.5 0 \n-0.390625 0.5 0 \n-0.421875 0.5 -0.078125 \n-0.390625 0.5 -0.109375 \n-0.359375 0.5 0 \n-0.328125 0.5 0 \n-0.296875 0.5 0 \n-0.265625 0.5 0 \n-0.359375 0.5 -0.140625 \n-0.328125 0.5 -0.171875 \n-0.296875 0.5 -0.203125 \n-0.265625 0.5 -0.234375 \n-0.234375 0.5 0 \n-0.203125 0.5 0 \n-0.171875 0.5 0 \n-0.140625 0.5 0 \n-0.109375 0.5 0 \n-0.078125 0.5 0 \n-0.046875 0.5 0 \n-0.015625 0.5 0 \n0 0.5 -0.015625 \n0 0.5 -0.046875 \n0 0.5 -0.078125 \n0 0.5 -0.109375 \n0 0.5 -0.140625 \n0 0.5 -0.171875 \n0 0.5 -0.203125 \n0 0.5 -0.234375 \n-0.234375 0.5 -0.265625 \n-0.203125 0.5 -0.296875 \n-0.171875 0.5 -0.328125 \n-0.140625 0.5 -0.359375 \n0 0.5 -0.265625 \n0 0.5 -0.296875 \n0 0.5 -0.328125 \n0 0.5 -0.359375 \n-0.109375 0.5 -0.390625 \n-0.078125 0.5 -0.421875 \n0 0.5 -0.390625 \n0 0.5 -0.421875 \n-0.046875 0.5 -0.453125 \n0 0.5 -0.453125 \n0 0.5 -0.484375 \n-0.015625 0.5 -0.484375 \n-0.484375 0 -0.5 \n-0.484375 -0.015625 -0.5 \n-0.453125 0 -0.5 \n-0.453125 -0.046875 -0.5 \n-0.421875 0 -0.5 \n-0.390625 0 -0.5 \n-0.421875 -0.078125 -0.5 \n-0.390625 -0.109375 -0.5 \n-0.359375 0 -0.5 \n-0.328125 0 -0.5 \n-0.296875 0 -0.5 \n-0.265625 0 -0.5 \n-0.359375 -0.140625 -0.5 \n-0.328125 -0.171875 -0.5 \n-0.296875 -0.203125 -0.5 \n-0.265625 -0.234375 -0.5 \n-0.234375 0 -0.5 \n-0.203125 0 -0.5 \n-0.171875 0 -0.5 \n-0.140625 0 -0.5 \n-0.109375 0 -0.5 \n-0.078125 0 -0.5 \n-0.046875 0 -0.5 \n-0.015625 0 -0.5 \n0 -0.015625 -0.5 \n0 -0.046875 -0.5 \n0 -0.078125 -0.5 \n0 -0.109375 -0.5 \n0 -0.140625 -0.5 \n0 -0.171875 -0.5 \n0 -0.203125 -0.5 \n0 -0.234375 -0.5 \n-0.234375 -0.265625 -0.5 \n-0.203125 -0.296875 -0.5 \n-0.171875 -0.328125 -0.5 \n-0.140625 -0.359375 -0.5 \n0 -0.265625 -0.5 \n0 -0.296875 -0.5 \n0 -0.328125 -0.5 \n0 -0.359375 -0.5 \n-0.109375 -0.390625 -0.5 \n-0.078125 -0.421875 -0.5 \n0 -0.390625 -0.5 \n0 -0.421875 -0.5 \n-0.046875 -0.453125 -0.5 \n0 -0.453125 -0.5 \n0 -0.484375 -0.5 \n-0.015625 -0.484375 -0.5 \n0.484375 0 -0.5 \n0.484375 0.015625 -0.5 \n0.453125 0 -0.5 \n0.453125 0.046875 -0.5 \n0.421875 0 -0.5 \n0.390625 0 -0.5 \n0.421875 0.078125 -0.5 \n0.390625 0.109375 -0.5 \n0.359375 0 -0.5 \n0.328125 0 -0.5 \n0.296875 0 -0.5 \n0.265625 0 -0.5 \n0.359375 0.140625 -0.5 \n0.328125 0.171875 -0.5 \n0.296875 0.203125 -0.5 \n0.265625 0.234375 -0.5 \n0.234375 0 -0.5 \n0.203125 0 -0.5 \n0.171875 0 -0.5 \n0.140625 0 -0.5 \n0.109375 0 -0.5 \n0.078125 0 -0.5 \n0.046875 0 -0.5 \n0.015625 0 -0.5 \n0 0.015625 -0.5 \n0 0.046875 -0.5 \n0 0.078125 -0.5 \n0 0.109375 -0.5 \n0 0.140625 -0.5 \n0 0.171875 -0.5 \n0 0.203125 -0.5 \n0 0.234375 -0.5 \n0.234375 0.265625 -0.5 \n0.203125 0.296875 -0.5 \n0.171875 0.328125 -0.5 \n0.140625 0.359375 -0.5 \n0 0.265625 -0.5 \n0 0.296875 -0.5 \n0 0.328125 -0.5 \n0 0.359375 -0.5 \n0.109375 0.390625 -0.5 \n0.078125 0.421875 -0.5 \n0 0.390625 -0.5 \n0 0.421875 -0.5 \n0.046875 0.453125 -0.5 \n0 0.453125 -0.5 \n0 0.484375 -0.5 \n0.015625 0.484375 -0.5 \n0 -0.5 -0.484375 \n-0.015625 -0.5 -0.484375 \n0 -0.5 -0.453125 \n-0.046875 -0.5 -0.453125 \n0 -0.5 -0.421875 \n0 -0.5 -0.390625 \n-0.078125 -0.5 -0.421875 \n-0.109375 -0.5 -0.390625 \n0 -0.5 -0.359375 \n0 -0.5 -0.328125 \n0 -0.5 -0.296875 \n0 -0.5 -0.265625 \n-0.140625 -0.5 -0.359375 \n-0.171875 -0.5 -0.328125 \n-0.203125 -0.5 -0.296875 \n-0.234375 -0.5 -0.265625 \n0 -0.5 -0.234375 \n0 -0.5 -0.203125 \n0 -0.5 -0.171875 \n0 -0.5 -0.140625 \n0 -0.5 -0.109375 \n0 -0.5 -0.078125 \n0 -0.5 -0.046875 \n0 -0.5 -0.015625 \n-0.015625 -0.5 0 \n-0.046875 -0.5 0 \n-0.078125 -0.5 0 \n-0.109375 -0.5 0 \n-0.140625 -0.5 0 \n-0.171875 -0.5 0 \n-0.203125 -0.5 0 \n-0.234375 -0.5 0 \n-0.265625 -0.5 -0.234375 \n-0.296875 -0.5 -0.203125 \n-0.328125 -0.5 -0.171875 \n-0.359375 -0.5 -0.140625 \n-0.265625 -0.5 0 \n-0.296875 -0.5 0 \n-0.328125 -0.5 0 \n-0.359375 -0.5 0 \n-0.390625 -0.5 -0.109375 \n-0.421875 -0.5 -0.078125 \n-0.390625 -0.5 0 \n-0.421875 -0.5 0 \n-0.453125 -0.5 -0.046875 \n-0.453125 -0.5 0 \n-0.484375 -0.5 0 \n-0.484375 -0.5 -0.015625 \n0 -0.5 0.484375 \n0.015625 -0.5 0.484375 \n0 -0.5 0.453125 \n0.046875 -0.5 0.453125 \n0 -0.5 0.421875 \n0 -0.5 0.390625 \n0.078125 -0.5 0.421875 \n0.109375 -0.5 0.390625 \n0 -0.5 0.359375 \n0 -0.5 0.328125 \n0 -0.5 0.296875 \n0 -0.5 0.265625 \n0.140625 -0.5 0.359375 \n0.171875 -0.5 0.328125 \n0.203125 -0.5 0.296875 \n0.234375 -0.5 0.265625 \n0 -0.5 0.234375 \n0 -0.5 0.203125 \n0 -0.5 0.171875 \n0 -0.5 0.140625 \n0 -0.5 0.109375 \n0 -0.5 0.078125 \n0 -0.5 0.046875 \n0 -0.5 0.015625 \n0.015625 -0.5 0 \n0.046875 -0.5 0 \n0.078125 -0.5 0 \n0.109375 -0.5 0 \n0.140625 -0.5 0 \n0.171875 -0.5 0 \n0.203125 -0.5 0 \n0.234375 -0.5 0 \n0.265625 -0.5 0.234375 \n0.296875 -0.5 0.203125 \n0.328125 -0.5 0.171875 \n0.359375 -0.5 0.140625 \n0.265625 -0.5 0 \n0.296875 -0.5 0 \n0.328125 -0.5 0 \n0.359375 -0.5 0 \n0.390625 -0.5 0.109375 \n0.421875 -0.5 0.078125 \n0.390625 -0.5 0 \n0.421875 -0.5 0 \n0.453125 -0.5 0.046875 \n0.453125 -0.5 0 \n0.484375 -0.5 0 \n0.484375 -0.5 0.015625 \n-0.5 -0.484375 0 \n-0.5 -0.484375 -0.015625 \n-0.5 -0.453125 0 \n-0.5 -0.453125 -0.046875 \n-0.5 -0.421875 0 \n-0.5 -0.390625 0 \n-0.5 -0.421875 -0.078125 \n-0.5 -0.390625 -0.109375 \n-0.5 -0.359375 0 \n-0.5 -0.328125 0 \n-0.5 -0.296875 0 \n-0.5 -0.265625 0 \n-0.5 -0.359375 -0.140625 \n-0.5 -0.328125 -0.171875 \n-0.5 -0.296875 -0.203125 \n-0.5 -0.265625 -0.234375 \n-0.5 -0.234375 0 \n-0.5 -0.203125 0 \n-0.5 -0.171875 0 \n-0.5 -0.140625 0 \n-0.5 -0.109375 0 \n-0.5 -0.078125 0 \n-0.5 -0.046875 0 \n-0.5 -0.015625 0 \n-0.5 0 -0.015625 \n-0.5 0 -0.046875 \n-0.5 0 -0.078125 \n-0.5 0 -0.109375 \n-0.5 0 -0.140625 \n-0.5 0 -0.171875 \n-0.5 0 -0.203125 \n-0.5 0 -0.234375 \n-0.5 -0.234375 -0.265625 \n-0.5 -0.203125 -0.296875 \n-0.5 -0.171875 -0.328125 \n-0.5 -0.140625 -0.359375 \n-0.5 0 -0.265625 \n-0.5 0 -0.296875 \n-0.5 0 -0.328125 \n-0.5 0 -0.359375 \n-0.5 -0.109375 -0.390625 \n-0.5 -0.078125 -0.421875 \n-0.5 0 -0.390625 \n-0.5 0 -0.421875 \n-0.5 -0.046875 -0.453125 \n-0.5 0 -0.453125 \n-0.5 0 -0.484375 \n-0.5 -0.015625 -0.484375 \n-0.5 0.484375 0 \n-0.5 0.484375 0.015625 \n-0.5 0.453125 0 \n-0.5 0.453125 0.046875 \n-0.5 0.421875 0 \n-0.5 0.390625 0 \n-0.5 0.421875 0.078125 \n-0.5 0.390625 0.109375 \n-0.5 0.359375 0 \n-0.5 0.328125 0 \n-0.5 0.296875 0 \n-0.5 0.265625 0 \n-0.5 0.359375 0.140625 \n-0.5 0.328125 0.171875 \n-0.5 0.296875 0.203125 \n-0.5 0.265625 0.234375 \n-0.5 0.234375 0 \n-0.5 0.203125 0 \n-0.5 0.171875 0 \n-0.5 0.140625 0 \n-0.5 0.109375 0 \n-0.5 0.078125 0 \n-0.5 0.046875 0 \n-0.5 0.015625 0 \n-0.5 0 0.015625 \n-0.5 0 0.046875 \n-0.5 0 0.078125 \n-0.5 0 0.109375 \n-0.5 0 0.140625 \n-0.5 0 0.171875 \n-0.5 0 0.203125 \n-0.5 0 0.234375 \n-0.5 0.234375 0.265625 \n-0.5 0.203125 0.296875 \n-0.5 0.171875 0.328125 \n-0.5 0.140625 0.359375 \n-0.5 0 0.265625 \n-0.5 0 0.296875 \n-0.5 0 0.328125 \n-0.5 0 0.359375 \n-0.5 0.109375 0.390625 \n-0.5 0.078125 0.421875 \n-0.5 0 0.390625 \n-0.5 0 0.421875 \n-0.5 0.046875 0.453125 \n-0.5 0 0.453125 \n-0.5 0 0.484375 \n-0.5 0.015625 0.484375 \n0.484375 0.5 0.5 \n0.5 0.484375 0.5 \n0.453125 0.5 0.5 \n0.5 0.453125 0.5 \n0.421875 0.5 0.5 \n0.390625 0.5 0.5 \n0.5 0.421875 0.5 \n0.5 0.390625 0.5 \n0.359375 0.5 0.5 \n0.328125 0.5 0.5 \n0.296875 0.5 0.5 \n0.265625 0.5 0.5 \n0.5 0.359375 0.5 \n0.5 0.328125 0.5 \n0.5 0.296875 0.5 \n0.5 0.265625 0.5 \n0.234375 0.5 0.5 \n0.203125 0.5 0.5 \n0.171875 0.5 0.5 \n0.140625 0.5 0.5 \n0.109375 0.5 0.5 \n0.078125 0.5 0.5 \n0.046875 0.5 0.5 \n0.015625 0.5 0.5 \n0.5 0.234375 0.5 \n0.5 0.203125 0.5 \n0.5 0.171875 0.5 \n0.5 0.140625 0.5 \n0.5 0.109375 0.5 \n0.5 0.078125 0.5 \n0.5 0.046875 0.5 \n0.5 0.015625 0.5 \n-0.015625 0.5 0.5 \n-0.046875 0.5 0.5 \n-0.078125 0.5 0.5 \n-0.109375 0.5 0.5 \n-0.140625 0.5 0.5 \n-0.171875 0.5 0.5 \n-0.203125 0.5 0.5 \n-0.234375 0.5 0.5 \n-0.265625 0.5 0.5 \n-0.296875 0.5 0.5 \n-0.328125 0.5 0.5 \n-0.359375 0.5 0.5 \n-0.390625 0.5 0.5 \n-0.421875 0.5 0.5 \n-0.453125 0.5 0.5 \n-0.484375 0.5 0.5 \n-0.484375 0.484375 0.5 \n-0.453125 0.453125 0.5 \n-0.421875 0.421875 0.5 \n-0.390625 0.390625 0.5 \n-0.359375 0.359375 0.5 \n-0.328125 0.328125 0.5 \n-0.296875 0.296875 0.5 \n-0.265625 0.265625 0.5 \n-0.234375 0.234375 0.5 \n-0.203125 0.203125 0.5 \n-0.171875 0.171875 0.5 \n-0.140625 0.140625 0.5 \n-0.109375 0.109375 0.5 \n-0.078125 0.078125 0.5 \n-0.046875 0.046875 0.5 \n-0.015625 0.015625 0.5 \n0.5 -0.015625 0.5 \n0.5 -0.046875 0.5 \n0.5 -0.078125 0.5 \n0.5 -0.109375 0.5 \n0.5 -0.140625 0.5 \n0.5 -0.171875 0.5 \n0.5 -0.203125 0.5 \n0.5 -0.234375 0.5 \n0.015625 -0.015625 0.5 \n0.046875 -0.046875 0.5 \n0.078125 -0.078125 0.5 \n0.109375 -0.109375 0.5 \n0.140625 -0.140625 0.5 \n0.171875 -0.171875 0.5 \n0.203125 -0.203125 0.5 \n0.234375 -0.234375 0.5 \n0.5 -0.265625 0.5 \n0.5 -0.296875 0.5 \n0.5 -0.328125 0.5 \n0.5 -0.359375 0.5 \n0.265625 -0.265625 0.5 \n0.296875 -0.296875 0.5 \n0.328125 -0.328125 0.5 \n0.359375 -0.359375 0.5 \n0.5 -0.390625 0.5 \n0.5 -0.421875 0.5 \n0.390625 -0.390625 0.5 \n0.421875 -0.421875 0.5 \n0.5 -0.453125 0.5 \n0.453125 -0.453125 0.5 \n0.484375 -0.484375 0.5 \n0.5 -0.484375 0.5 \n-0.484375 -0.5 0.5 \n-0.5 -0.484375 0.5 \n-0.453125 -0.5 0.5 \n-0.5 -0.453125 0.5 \n-0.421875 -0.5 0.5 \n-0.390625 -0.5 0.5 \n-0.5 -0.421875 0.5 \n-0.5 -0.390625 0.5 \n-0.359375 -0.5 0.5 \n-0.328125 -0.5 0.5 \n-0.296875 -0.5 0.5 \n-0.265625 -0.5 0.5 \n-0.5 -0.359375 0.5 \n-0.5 -0.328125 0.5 \n-0.5 -0.296875 0.5 \n-0.5 -0.265625 0.5 \n-0.234375 -0.5 0.5 \n-0.203125 -0.5 0.5 \n-0.171875 -0.5 0.5 \n-0.140625 -0.5 0.5 \n-0.109375 -0.5 0.5 \n-0.078125 -0.5 0.5 \n-0.046875 -0.5 0.5 \n-0.015625 -0.5 0.5 \n-0.5 -0.234375 0.5 \n-0.5 -0.203125 0.5 \n-0.5 -0.171875 0.5 \n-0.5 -0.140625 0.5 \n-0.5 -0.109375 0.5 \n-0.5 -0.078125 0.5 \n-0.5 -0.046875 0.5 \n-0.5 -0.015625 0.5 \n0.015625 -0.5 0.5 \n0.046875 -0.5 0.5 \n0.078125 -0.5 0.5 \n0.109375 -0.5 0.5 \n0.140625 -0.5 0.5 \n0.171875 -0.5 0.5 \n0.203125 -0.5 0.5 \n0.234375 -0.5 0.5 \n0.265625 -0.5 0.5 \n0.296875 -0.5 0.5 \n0.328125 -0.5 0.5 \n0.359375 -0.5 0.5 \n0.390625 -0.5 0.5 \n0.421875 -0.5 0.5 \n0.453125 -0.5 0.5 \n0.484375 -0.5 0.5 \n-0.5 0.015625 0.5 \n-0.5 0.046875 0.5 \n-0.5 0.078125 0.5 \n-0.5 0.109375 0.5 \n-0.5 0.140625 0.5 \n-0.5 0.171875 0.5 \n-0.5 0.203125 0.5 \n-0.5 0.234375 0.5 \n-0.5 0.265625 0.5 \n-0.5 0.296875 0.5 \n-0.5 0.328125 0.5 \n-0.5 0.359375 0.5 \n-0.5 0.390625 0.5 \n-0.5 0.421875 0.5 \n-0.5 0.453125 0.5 \n-0.5 0.484375 0.5 \n0.5 0.484375 0.5 \n0.5 0.5 0.484375 \n0.5 0.453125 0.5 \n0.5 0.5 0.453125 \n0.5 0.421875 0.5 \n0.5 0.390625 0.5 \n0.5 0.5 0.421875 \n0.5 0.5 0.390625 \n0.5 0.359375 0.5 \n0.5 0.328125 0.5 \n0.5 0.296875 0.5 \n0.5 0.265625 0.5 \n0.5 0.5 0.359375 \n0.5 0.5 0.328125 \n0.5 0.5 0.296875 \n0.5 0.5 0.265625 \n0.5 0.234375 0.5 \n0.5 0.203125 0.5 \n0.5 0.171875 0.5 \n0.5 0.140625 0.5 \n0.5 0.109375 0.5 \n0.5 0.078125 0.5 \n0.5 0.046875 0.5 \n0.5 0.015625 0.5 \n0.5 0.5 0.234375 \n0.5 0.5 0.203125 \n0.5 0.5 0.171875 \n0.5 0.5 0.140625 \n0.5 0.5 0.109375 \n0.5 0.5 0.078125 \n0.5 0.5 0.046875 \n0.5 0.5 0.015625 \n0.5 -0.015625 0.5 \n0.5 -0.046875 0.5 \n0.5 -0.078125 0.5 \n0.5 -0.109375 0.5 \n0.5 -0.140625 0.5 \n0.5 -0.171875 0.5 \n0.5 -0.203125 0.5 \n0.5 -0.234375 0.5 \n0.5 -0.265625 0.5 \n0.5 -0.296875 0.5 \n0.5 -0.328125 0.5 \n0.5 -0.359375 0.5 \n0.5 -0.390625 0.5 \n0.5 -0.421875 0.5 \n0.5 -0.453125 0.5 \n0.5 -0.484375 0.5 \n0.5 -0.484375 0.484375 \n0.5 -0.453125 0.453125 \n0.5 -0.421875 0.421875 \n0.5 -0.390625 0.390625 \n0.5 -0.359375 0.359375 \n0.5 -0.328125 0.328125 \n0.5 -0.296875 0.296875 \n0.5 -0.265625 0.265625 \n0.5 -0.234375 0.234375 \n0.5 -0.203125 0.203125 \n0.5 -0.171875 0.171875 \n0.5 -0.140625 0.140625 \n0.5 -0.109375 0.109375 \n0.5 -0.078125 0.078125 \n0.5 -0.046875 0.046875 \n0.5 -0.015625 0.015625 \n0.5 0.5 -0.015625 \n0.5 0.5 -0.046875 \n0.5 0.5 -0.078125 \n0.5 0.5 -0.109375 \n0.5 0.5 -0.140625 \n0.5 0.5 -0.171875 \n0.5 0.5 -0.203125 \n0.5 0.5 -0.234375 \n0.5 0.015625 -0.015625 \n0.5 0.046875 -0.046875 \n0.5 0.078125 -0.078125 \n0.5 0.109375 -0.109375 \n0.5 0.140625 -0.140625 \n0.5 0.171875 -0.171875 \n0.5 0.203125 -0.203125 \n0.5 0.234375 -0.234375 \n0.5 0.5 -0.265625 \n0.5 0.5 -0.296875 \n0.5 0.5 -0.328125 \n0.5 0.5 -0.359375 \n0.5 0.265625 -0.265625 \n0.5 0.296875 -0.296875 \n0.5 0.328125 -0.328125 \n0.5 0.359375 -0.359375 \n0.5 0.5 -0.390625 \n0.5 0.5 -0.421875 \n0.5 0.390625 -0.390625 \n0.5 0.421875 -0.421875 \n0.5 0.5 -0.453125 \n0.5 0.453125 -0.453125 \n0.5 0.484375 -0.484375 \n0.5 0.5 -0.484375 \n0.5 -0.484375 -0.5 \n0.5 -0.5 -0.484375 \n0.5 -0.453125 -0.5 \n0.5 -0.5 -0.453125 \n0.5 -0.421875 -0.5 \n0.5 -0.390625 -0.5 \n0.5 -0.5 -0.421875 \n0.5 -0.5 -0.390625 \n0.5 -0.359375 -0.5 \n0.5 -0.328125 -0.5 \n0.5 -0.296875 -0.5 \n0.5 -0.265625 -0.5 \n0.5 -0.5 -0.359375 \n0.5 -0.5 -0.328125 \n0.5 -0.5 -0.296875 \n0.5 -0.5 -0.265625 \n0.5 -0.234375 -0.5 \n0.5 -0.203125 -0.5 \n0.5 -0.171875 -0.5 \n0.5 -0.140625 -0.5 \n0.5 -0.109375 -0.5 \n0.5 -0.078125 -0.5 \n0.5 -0.046875 -0.5 \n0.5 -0.015625 -0.5 \n0.5 -0.5 -0.234375 \n0.5 -0.5 -0.203125 \n0.5 -0.5 -0.171875 \n0.5 -0.5 -0.140625 \n0.5 -0.5 -0.109375 \n0.5 -0.5 -0.078125 \n0.5 -0.5 -0.046875 \n0.5 -0.5 -0.015625 \n0.5 0.015625 -0.5 \n0.5 0.046875 -0.5 \n0.5 0.078125 -0.5 \n0.5 0.109375 -0.5 \n0.5 0.140625 -0.5 \n0.5 0.171875 -0.5 \n0.5 0.203125 -0.5 \n0.5 0.234375 -0.5 \n0.5 0.265625 -0.5 \n0.5 0.296875 -0.5 \n0.5 0.328125 -0.5 \n0.5 0.359375 -0.5 \n0.5 0.390625 -0.5 \n0.5 0.421875 -0.5 \n0.5 0.453125 -0.5 \n0.5 0.484375 -0.5 \n0.5 -0.5 0.015625 \n0.5 -0.5 0.046875 \n0.5 -0.5 0.078125 \n0.5 -0.5 0.109375 \n0.5 -0.5 0.140625 \n0.5 -0.5 0.171875 \n0.5 -0.5 0.203125 \n0.5 -0.5 0.234375 \n0.5 -0.5 0.265625 \n0.5 -0.5 0.296875 \n0.5 -0.5 0.328125 \n0.5 -0.5 0.359375 \n0.5 -0.5 0.390625 \n0.5 -0.5 0.421875 \n0.5 -0.5 0.453125 \n0.5 -0.5 0.484375 \n0.5 0.5 0.484375 \n0.484375 0.5 0.5 \n0.5 0.5 0.453125 \n0.453125 0.5 0.5 \n0.5 0.5 0.421875 \n0.5 0.5 0.390625 \n0.421875 0.5 0.5 \n0.390625 0.5 0.5 \n0.5 0.5 0.359375 \n0.5 0.5 0.328125 \n0.5 0.5 0.296875 \n0.5 0.5 0.265625 \n0.359375 0.5 0.5 \n0.328125 0.5 0.5 \n0.296875 0.5 0.5 \n0.265625 0.5 0.5 \n0.5 0.5 0.234375 \n0.5 0.5 0.203125 \n0.5 0.5 0.171875 \n0.5 0.5 0.140625 \n0.5 0.5 0.109375 \n0.5 0.5 0.078125 \n0.5 0.5 0.046875 \n0.5 0.5 0.015625 \n0.234375 0.5 0.5 \n0.203125 0.5 0.5 \n0.171875 0.5 0.5 \n0.140625 0.5 0.5 \n0.109375 0.5 0.5 \n0.078125 0.5 0.5 \n0.046875 0.5 0.5 \n0.015625 0.5 0.5 \n0.5 0.5 -0.015625 \n0.5 0.5 -0.046875 \n0.5 0.5 -0.078125 \n0.5 0.5 -0.109375 \n0.5 0.5 -0.140625 \n0.5 0.5 -0.171875 \n0.5 0.5 -0.203125 \n0.5 0.5 -0.234375 \n0.5 0.5 -0.265625 \n0.5 0.5 -0.296875 \n0.5 0.5 -0.328125 \n0.5 0.5 -0.359375 \n0.5 0.5 -0.390625 \n0.5 0.5 -0.421875 \n0.5 0.5 -0.453125 \n0.5 0.5 -0.484375 \n0.484375 0.5 -0.484375 \n0.453125 0.5 -0.453125 \n0.421875 0.5 -0.421875 \n0.390625 0.5 -0.390625 \n0.359375 0.5 -0.359375 \n0.328125 0.5 -0.328125 \n0.296875 0.5 -0.296875 \n0.265625 0.5 -0.265625 \n0.234375 0.5 -0.234375 \n0.203125 0.5 -0.203125 \n0.171875 0.5 -0.171875 \n0.140625 0.5 -0.140625 \n0.109375 0.5 -0.109375 \n0.078125 0.5 -0.078125 \n0.046875 0.5 -0.046875 \n0.015625 0.5 -0.015625 \n-0.015625 0.5 0.5 \n-0.046875 0.5 0.5 \n-0.078125 0.5 0.5 \n-0.109375 0.5 0.5 \n-0.140625 0.5 0.5 \n-0.171875 0.5 0.5 \n-0.203125 0.5 0.5 \n-0.234375 0.5 0.5 \n-0.015625 0.5 0.015625 \n-0.046875 0.5 0.046875 \n-0.078125 0.5 0.078125 \n-0.109375 0.5 0.109375 \n-0.140625 0.5 0.140625 \n-0.171875 0.5 0.171875 \n-0.203125 0.5 0.203125 \n-0.234375 0.5 0.234375 \n-0.265625 0.5 0.5 \n-0.296875 0.5 0.5 \n-0.328125 0.5 0.5 \n-0.359375 0.5 0.5 \n-0.265625 0.5 0.265625 \n-0.296875 0.5 0.296875 \n-0.328125 0.5 0.328125 \n-0.359375 0.5 0.359375 \n-0.390625 0.5 0.5 \n-0.421875 0.5 0.5 \n-0.390625 0.5 0.390625 \n-0.421875 0.5 0.421875 \n-0.453125 0.5 0.5 \n-0.453125 0.5 0.453125 \n-0.484375 0.5 0.484375 \n-0.484375 0.5 0.5 \n-0.5 0.5 -0.484375 \n-0.484375 0.5 -0.5 \n-0.5 0.5 -0.453125 \n-0.453125 0.5 -0.5 \n-0.5 0.5 -0.421875 \n-0.5 0.5 -0.390625 \n-0.421875 0.5 -0.5 \n-0.390625 0.5 -0.5 \n-0.5 0.5 -0.359375 \n-0.5 0.5 -0.328125 \n-0.5 0.5 -0.296875 \n-0.5 0.5 -0.265625 \n-0.359375 0.5 -0.5 \n-0.328125 0.5 -0.5 \n-0.296875 0.5 -0.5 \n-0.265625 0.5 -0.5 \n-0.5 0.5 -0.234375 \n-0.5 0.5 -0.203125 \n-0.5 0.5 -0.171875 \n-0.5 0.5 -0.140625 \n-0.5 0.5 -0.109375 \n-0.5 0.5 -0.078125 \n-0.5 0.5 -0.046875 \n-0.5 0.5 -0.015625 \n-0.234375 0.5 -0.5 \n-0.203125 0.5 -0.5 \n-0.171875 0.5 -0.5 \n-0.140625 0.5 -0.5 \n-0.109375 0.5 -0.5 \n-0.078125 0.5 -0.5 \n-0.046875 0.5 -0.5 \n-0.015625 0.5 -0.5 \n-0.5 0.5 0.015625 \n-0.5 0.5 0.046875 \n-0.5 0.5 0.078125 \n-0.5 0.5 0.109375 \n-0.5 0.5 0.140625 \n-0.5 0.5 0.171875 \n-0.5 0.5 0.203125 \n-0.5 0.5 0.234375 \n-0.5 0.5 0.265625 \n-0.5 0.5 0.296875 \n-0.5 0.5 0.328125 \n-0.5 0.5 0.359375 \n-0.5 0.5 0.390625 \n-0.5 0.5 0.421875 \n-0.5 0.5 0.453125 \n-0.5 0.5 0.484375 \n0.015625 0.5 -0.5 \n0.046875 0.5 -0.5 \n0.078125 0.5 -0.5 \n0.109375 0.5 -0.5 \n0.140625 0.5 -0.5 \n0.171875 0.5 -0.5 \n0.203125 0.5 -0.5 \n0.234375 0.5 -0.5 \n0.265625 0.5 -0.5 \n0.296875 0.5 -0.5 \n0.328125 0.5 -0.5 \n0.359375 0.5 -0.5 \n0.390625 0.5 -0.5 \n0.421875 0.5 -0.5 \n0.453125 0.5 -0.5 \n0.484375 0.5 -0.5 \n-0.5 -0.484375 -0.5 \n-0.484375 -0.5 -0.5 \n-0.5 -0.453125 -0.5 \n-0.453125 -0.5 -0.5 \n-0.5 -0.421875 -0.5 \n-0.5 -0.390625 -0.5 \n-0.421875 -0.5 -0.5 \n-0.390625 -0.5 -0.5 \n-0.5 -0.359375 -0.5 \n-0.5 -0.328125 -0.5 \n-0.5 -0.296875 -0.5 \n-0.5 -0.265625 -0.5 \n-0.359375 -0.5 -0.5 \n-0.328125 -0.5 -0.5 \n-0.296875 -0.5 -0.5 \n-0.265625 -0.5 -0.5 \n-0.5 -0.234375 -0.5 \n-0.5 -0.203125 -0.5 \n-0.5 -0.171875 -0.5 \n-0.5 -0.140625 -0.5 \n-0.5 -0.109375 -0.5 \n-0.5 -0.078125 -0.5 \n-0.5 -0.046875 -0.5 \n-0.5 -0.015625 -0.5 \n-0.234375 -0.5 -0.5 \n-0.203125 -0.5 -0.5 \n-0.171875 -0.5 -0.5 \n-0.140625 -0.5 -0.5 \n-0.109375 -0.5 -0.5 \n-0.078125 -0.5 -0.5 \n-0.046875 -0.5 -0.5 \n-0.015625 -0.5 -0.5 \n-0.5 0.015625 -0.5 \n-0.5 0.046875 -0.5 \n-0.5 0.078125 -0.5 \n-0.5 0.109375 -0.5 \n-0.5 0.140625 -0.5 \n-0.5 0.171875 -0.5 \n-0.5 0.203125 -0.5 \n-0.5 0.234375 -0.5 \n-0.5 0.265625 -0.5 \n-0.5 0.296875 -0.5 \n-0.5 0.328125 -0.5 \n-0.5 0.359375 -0.5 \n-0.5 0.390625 -0.5 \n-0.5 0.421875 -0.5 \n-0.5 0.453125 -0.5 \n-0.5 0.484375 -0.5 \n-0.484375 0.484375 -0.5 \n-0.453125 0.453125 -0.5 \n-0.421875 0.421875 -0.5 \n-0.390625 0.390625 -0.5 \n-0.359375 0.359375 -0.5 \n-0.328125 0.328125 -0.5 \n-0.296875 0.296875 -0.5 \n-0.265625 0.265625 -0.5 \n-0.234375 0.234375 -0.5 \n-0.203125 0.203125 -0.5 \n-0.171875 0.171875 -0.5 \n-0.140625 0.140625 -0.5 \n-0.109375 0.109375 -0.5 \n-0.078125 0.078125 -0.5 \n-0.046875 0.046875 -0.5 \n-0.015625 0.015625 -0.5 \n0.015625 -0.5 -0.5 \n0.046875 -0.5 -0.5 \n0.078125 -0.5 -0.5 \n0.109375 -0.5 -0.5 \n0.140625 -0.5 -0.5 \n0.171875 -0.5 -0.5 \n0.203125 -0.5 -0.5 \n0.234375 -0.5 -0.5 \n0.015625 -0.015625 -0.5 \n0.046875 -0.046875 -0.5 \n0.078125 -0.078125 -0.5 \n0.109375 -0.109375 -0.5 \n0.140625 -0.140625 -0.5 \n0.171875 -0.171875 -0.5 \n0.203125 -0.203125 -0.5 \n0.234375 -0.234375 -0.5 \n0.265625 -0.5 -0.5 \n0.296875 -0.5 -0.5 \n0.328125 -0.5 -0.5 \n0.359375 -0.5 -0.5 \n0.265625 -0.265625 -0.5 \n0.296875 -0.296875 -0.5 \n0.328125 -0.328125 -0.5 \n0.359375 -0.359375 -0.5 \n0.390625 -0.5 -0.5 \n0.421875 -0.5 -0.5 \n0.390625 -0.390625 -0.5 \n0.421875 -0.421875 -0.5 \n0.453125 -0.5 -0.5 \n0.453125 -0.453125 -0.5 \n0.484375 -0.484375 -0.5 \n0.484375 -0.5 -0.5 \n0.5 0.484375 -0.5 \n0.484375 0.5 -0.5 \n0.5 0.453125 -0.5 \n0.453125 0.5 -0.5 \n0.5 0.421875 -0.5 \n0.5 0.390625 -0.5 \n0.421875 0.5 -0.5 \n0.390625 0.5 -0.5 \n0.5 0.359375 -0.5 \n0.5 0.328125 -0.5 \n0.5 0.296875 -0.5 \n0.5 0.265625 -0.5 \n0.359375 0.5 -0.5 \n0.328125 0.5 -0.5 \n0.296875 0.5 -0.5 \n0.265625 0.5 -0.5 \n0.5 0.234375 -0.5 \n0.5 0.203125 -0.5 \n0.5 0.171875 -0.5 \n0.5 0.140625 -0.5 \n0.5 0.109375 -0.5 \n0.5 0.078125 -0.5 \n0.5 0.046875 -0.5 \n0.5 0.015625 -0.5 \n0.234375 0.5 -0.5 \n0.203125 0.5 -0.5 \n0.171875 0.5 -0.5 \n0.140625 0.5 -0.5 \n0.109375 0.5 -0.5 \n0.078125 0.5 -0.5 \n0.046875 0.5 -0.5 \n0.015625 0.5 -0.5 \n0.5 -0.015625 -0.5 \n0.5 -0.046875 -0.5 \n0.5 -0.078125 -0.5 \n0.5 -0.109375 -0.5 \n0.5 -0.140625 -0.5 \n0.5 -0.171875 -0.5 \n0.5 -0.203125 -0.5 \n0.5 -0.234375 -0.5 \n0.5 -0.265625 -0.5 \n0.5 -0.296875 -0.5 \n0.5 -0.328125 -0.5 \n0.5 -0.359375 -0.5 \n0.5 -0.390625 -0.5 \n0.5 -0.421875 -0.5 \n0.5 -0.453125 -0.5 \n0.5 -0.484375 -0.5 \n-0.015625 0.5 -0.5 \n-0.046875 0.5 -0.5 \n-0.078125 0.5 -0.5 \n-0.109375 0.5 -0.5 \n-0.140625 0.5 -0.5 \n-0.171875 0.5 -0.5 \n-0.203125 0.5 -0.5 \n-0.234375 0.5 -0.5 \n-0.265625 0.5 -0.5 \n-0.296875 0.5 -0.5 \n-0.328125 0.5 -0.5 \n-0.359375 0.5 -0.5 \n-0.390625 0.5 -0.5 \n-0.421875 0.5 -0.5 \n-0.453125 0.5 -0.5 \n-0.484375 0.5 -0.5 \n-0.484375 -0.5 -0.5 \n-0.5 -0.5 -0.484375 \n-0.453125 -0.5 -0.5 \n-0.5 -0.5 -0.453125 \n-0.421875 -0.5 -0.5 \n-0.390625 -0.5 -0.5 \n-0.5 -0.5 -0.421875 \n-0.5 -0.5 -0.390625 \n-0.359375 -0.5 -0.5 \n-0.328125 -0.5 -0.5 \n-0.296875 -0.5 -0.5 \n-0.265625 -0.5 -0.5 \n-0.5 -0.5 -0.359375 \n-0.5 -0.5 -0.328125 \n-0.5 -0.5 -0.296875 \n-0.5 -0.5 -0.265625 \n-0.234375 -0.5 -0.5 \n-0.203125 -0.5 -0.5 \n-0.171875 -0.5 -0.5 \n-0.140625 -0.5 -0.5 \n-0.109375 -0.5 -0.5 \n-0.078125 -0.5 -0.5 \n-0.046875 -0.5 -0.5 \n-0.015625 -0.5 -0.5 \n-0.5 -0.5 -0.234375 \n-0.5 -0.5 -0.203125 \n-0.5 -0.5 -0.171875 \n-0.5 -0.5 -0.140625 \n-0.5 -0.5 -0.109375 \n-0.5 -0.5 -0.078125 \n-0.5 -0.5 -0.046875 \n-0.5 -0.5 -0.015625 \n0.015625 -0.5 -0.5 \n0.046875 -0.5 -0.5 \n0.078125 -0.5 -0.5 \n0.109375 -0.5 -0.5 \n0.140625 -0.5 -0.5 \n0.171875 -0.5 -0.5 \n0.203125 -0.5 -0.5 \n0.234375 -0.5 -0.5 \n0.265625 -0.5 -0.5 \n0.296875 -0.5 -0.5 \n0.328125 -0.5 -0.5 \n0.359375 -0.5 -0.5 \n0.390625 -0.5 -0.5 \n0.421875 -0.5 -0.5 \n0.453125 -0.5 -0.5 \n0.484375 -0.5 -0.5 \n0.484375 -0.5 -0.484375 \n0.453125 -0.5 -0.453125 \n0.421875 -0.5 -0.421875 \n0.390625 -0.5 -0.390625 \n0.359375 -0.5 -0.359375 \n0.328125 -0.5 -0.328125 \n0.296875 -0.5 -0.296875 \n0.265625 -0.5 -0.265625 \n0.234375 -0.5 -0.234375 \n0.203125 -0.5 -0.203125 \n0.171875 -0.5 -0.171875 \n0.140625 -0.5 -0.140625 \n0.109375 -0.5 -0.109375 \n0.078125 -0.5 -0.078125 \n0.046875 -0.5 -0.046875 \n0.015625 -0.5 -0.015625 \n-0.5 -0.5 0.015625 \n-0.5 -0.5 0.046875 \n-0.5 -0.5 0.078125 \n-0.5 -0.5 0.109375 \n-0.5 -0.5 0.140625 \n-0.5 -0.5 0.171875 \n-0.5 -0.5 0.203125 \n-0.5 -0.5 0.234375 \n-0.015625 -0.5 0.015625 \n-0.046875 -0.5 0.046875 \n-0.078125 -0.5 0.078125 \n-0.109375 -0.5 0.109375 \n-0.140625 -0.5 0.140625 \n-0.171875 -0.5 0.171875 \n-0.203125 -0.5 0.203125 \n-0.234375 -0.5 0.234375 \n-0.5 -0.5 0.265625 \n-0.5 -0.5 0.296875 \n-0.5 -0.5 0.328125 \n-0.5 -0.5 0.359375 \n-0.265625 -0.5 0.265625 \n-0.296875 -0.5 0.296875 \n-0.328125 -0.5 0.328125 \n-0.359375 -0.5 0.359375 \n-0.5 -0.5 0.390625 \n-0.5 -0.5 0.421875 \n-0.390625 -0.5 0.390625 \n-0.421875 -0.5 0.421875 \n-0.5 -0.5 0.453125 \n-0.453125 -0.5 0.453125 \n-0.484375 -0.5 0.484375 \n-0.5 -0.5 0.484375 \n0.484375 -0.5 0.5 \n0.5 -0.5 0.484375 \n0.453125 -0.5 0.5 \n0.5 -0.5 0.453125 \n0.421875 -0.5 0.5 \n0.390625 -0.5 0.5 \n0.5 -0.5 0.421875 \n0.5 -0.5 0.390625 \n0.359375 -0.5 0.5 \n0.328125 -0.5 0.5 \n0.296875 -0.5 0.5 \n0.265625 -0.5 0.5 \n0.5 -0.5 0.359375 \n0.5 -0.5 0.328125 \n0.5 -0.5 0.296875 \n0.5 -0.5 0.265625 \n0.234375 -0.5 0.5 \n0.203125 -0.5 0.5 \n0.171875 -0.5 0.5 \n0.140625 -0.5 0.5 \n0.109375 -0.5 0.5 \n0.078125 -0.5 0.5 \n0.046875 -0.5 0.5 \n0.015625 -0.5 0.5 \n0.5 -0.5 0.234375 \n0.5 -0.5 0.203125 \n0.5 -0.5 0.171875 \n0.5 -0.5 0.140625 \n0.5 -0.5 0.109375 \n0.5 -0.5 0.078125 \n0.5 -0.5 0.046875 \n0.5 -0.5 0.015625 \n-0.015625 -0.5 0.5 \n-0.046875 -0.5 0.5 \n-0.078125 -0.5 0.5 \n-0.109375 -0.5 0.5 \n-0.140625 -0.5 0.5 \n-0.171875 -0.5 0.5 \n-0.203125 -0.5 0.5 \n-0.234375 -0.5 0.5 \n-0.265625 -0.5 0.5 \n-0.296875 -0.5 0.5 \n-0.328125 -0.5 0.5 \n-0.359375 -0.5 0.5 \n-0.390625 -0.5 0.5 \n-0.421875 -0.5 0.5 \n-0.453125 -0.5 0.5 \n-0.484375 -0.5 0.5 \n0.5 -0.5 -0.015625 \n0.5 -0.5 -0.046875 \n0.5 -0.5 -0.078125 \n0.5 -0.5 -0.109375 \n0.5 -0.5 -0.140625 \n0.5 -0.5 -0.171875 \n0.5 -0.5 -0.203125 \n0.5 -0.5 -0.234375 \n0.5 -0.5 -0.265625 \n0.5 -0.5 -0.296875 \n0.5 -0.5 -0.328125 \n0.5 -0.5 -0.359375 \n0.5 -0.5 -0.390625 \n0.5 -0.5 -0.421875 \n0.5 -0.5 -0.453125 \n0.5 -0.5 -0.484375 \n-0.5 -0.5 -0.484375 \n-0.5 -0.484375 -0.5 \n-0.5 -0.5 -0.453125 \n-0.5 -0.453125 -0.5 \n-0.5 -0.5 -0.421875 \n-0.5 -0.5 -0.390625 \n-0.5 -0.421875 -0.5 \n-0.5 -0.390625 -0.5 \n-0.5 -0.5 -0.359375 \n-0.5 -0.5 -0.328125 \n-0.5 -0.5 -0.296875 \n-0.5 -0.5 -0.265625 \n-0.5 -0.359375 -0.5 \n-0.5 -0.328125 -0.5 \n-0.5 -0.296875 -0.5 \n-0.5 -0.265625 -0.5 \n-0.5 -0.5 -0.234375 \n-0.5 -0.5 -0.203125 \n-0.5 -0.5 -0.171875 \n-0.5 -0.5 -0.140625 \n-0.5 -0.5 -0.109375 \n-0.5 -0.5 -0.078125 \n-0.5 -0.5 -0.046875 \n-0.5 -0.5 -0.015625 \n-0.5 -0.234375 -0.5 \n-0.5 -0.203125 -0.5 \n-0.5 -0.171875 -0.5 \n-0.5 -0.140625 -0.5 \n-0.5 -0.109375 -0.5 \n-0.5 -0.078125 -0.5 \n-0.5 -0.046875 -0.5 \n-0.5 -0.015625 -0.5 \n-0.5 -0.5 0.015625 \n-0.5 -0.5 0.046875 \n-0.5 -0.5 0.078125 \n-0.5 -0.5 0.109375 \n-0.5 -0.5 0.140625 \n-0.5 -0.5 0.171875 \n-0.5 -0.5 0.203125 \n-0.5 -0.5 0.234375 \n-0.5 -0.5 0.265625 \n-0.5 -0.5 0.296875 \n-0.5 -0.5 0.328125 \n-0.5 -0.5 0.359375 \n-0.5 -0.5 0.390625 \n-0.5 -0.5 0.421875 \n-0.5 -0.5 0.453125 \n-0.5 -0.5 0.484375 \n-0.5 -0.484375 0.484375 \n-0.5 -0.453125 0.453125 \n-0.5 -0.421875 0.421875 \n-0.5 -0.390625 0.390625 \n-0.5 -0.359375 0.359375 \n-0.5 -0.328125 0.328125 \n-0.5 -0.296875 0.296875 \n-0.5 -0.265625 0.265625 \n-0.5 -0.234375 0.234375 \n-0.5 -0.203125 0.203125 \n-0.5 -0.171875 0.171875 \n-0.5 -0.140625 0.140625 \n-0.5 -0.109375 0.109375 \n-0.5 -0.078125 0.078125 \n-0.5 -0.046875 0.046875 \n-0.5 -0.015625 0.015625 \n-0.5 0.015625 -0.5 \n-0.5 0.046875 -0.5 \n-0.5 0.078125 -0.5 \n-0.5 0.109375 -0.5 \n-0.5 0.140625 -0.5 \n-0.5 0.171875 -0.5 \n-0.5 0.203125 -0.5 \n-0.5 0.234375 -0.5 \n-0.5 0.015625 -0.015625 \n-0.5 0.046875 -0.046875 \n-0.5 0.078125 -0.078125 \n-0.5 0.109375 -0.109375 \n-0.5 0.140625 -0.140625 \n-0.5 0.171875 -0.171875 \n-0.5 0.203125 -0.203125 \n-0.5 0.234375 -0.234375 \n-0.5 0.265625 -0.5 \n-0.5 0.296875 -0.5 \n-0.5 0.328125 -0.5 \n-0.5 0.359375 -0.5 \n-0.5 0.265625 -0.265625 \n-0.5 0.296875 -0.296875 \n-0.5 0.328125 -0.328125 \n-0.5 0.359375 -0.359375 \n-0.5 0.390625 -0.5 \n-0.5 0.421875 -0.5 \n-0.5 0.390625 -0.390625 \n-0.5 0.421875 -0.421875 \n-0.5 0.453125 -0.5 \n-0.5 0.453125 -0.453125 \n-0.5 0.484375 -0.484375 \n-0.5 0.484375 -0.5 \n-0.5 0.5 0.484375 \n-0.5 0.484375 0.5 \n-0.5 0.5 0.453125 \n-0.5 0.453125 0.5 \n-0.5 0.5 0.421875 \n-0.5 0.5 0.390625 \n-0.5 0.421875 0.5 \n-0.5 0.390625 0.5 \n-0.5 0.5 0.359375 \n-0.5 0.5 0.328125 \n-0.5 0.5 0.296875 \n-0.5 0.5 0.265625 \n-0.5 0.359375 0.5 \n-0.5 0.328125 0.5 \n-0.5 0.296875 0.5 \n-0.5 0.265625 0.5 \n-0.5 0.5 0.234375 \n-0.5 0.5 0.203125 \n-0.5 0.5 0.171875 \n-0.5 0.5 0.140625 \n-0.5 0.5 0.109375 \n-0.5 0.5 0.078125 \n-0.5 0.5 0.046875 \n-0.5 0.5 0.015625 \n-0.5 0.234375 0.5 \n-0.5 0.203125 0.5 \n-0.5 0.171875 0.5 \n-0.5 0.140625 0.5 \n-0.5 0.109375 0.5 \n-0.5 0.078125 0.5 \n-0.5 0.046875 0.5 \n-0.5 0.015625 0.5 \n-0.5 0.5 -0.015625 \n-0.5 0.5 -0.046875 \n-0.5 0.5 -0.078125 \n-0.5 0.5 -0.109375 \n-0.5 0.5 -0.140625 \n-0.5 0.5 -0.171875 \n-0.5 0.5 -0.203125 \n-0.5 0.5 -0.234375 \n-0.5 0.5 -0.265625 \n-0.5 0.5 -0.296875 \n-0.5 0.5 -0.328125 \n-0.5 0.5 -0.359375 \n-0.5 0.5 -0.390625 \n-0.5 0.5 -0.421875 \n-0.5 0.5 -0.453125 \n-0.5 0.5 -0.484375 \n-0.5 -0.015625 0.5 \n-0.5 -0.046875 0.5 \n-0.5 -0.078125 0.5 \n-0.5 -0.109375 0.5 \n-0.5 -0.140625 0.5 \n-0.5 -0.171875 0.5 \n-0.5 -0.203125 0.5 \n-0.5 -0.234375 0.5 \n-0.5 -0.265625 0.5 \n-0.5 -0.296875 0.5 \n-0.5 -0.328125 0.5 \n-0.5 -0.359375 0.5 \n-0.5 -0.390625 0.5 \n-0.5 -0.421875 0.5 \n-0.5 -0.453125 0.5 \n-0.5 -0.484375 0.5 \n3 6534 6535 6536 \n3 6537 6538 6539 \n3 6540 6541 6542 \n3 6543 6544 6545 \n3 6546 6547 6548 \n3 6549 6550 6551 \n3 6552 6553 6554 \n3 6555 6556 6557 \n3 6558 6559 6560 \n3 6561 6562 6563 \n3 6564 6565 6566 \n3 6567 6568 6569 \n3 6570 6571 6572 \n3 6573 6574 6575 \n3 6576 6577 6578 \n3 6579 6580 6581 \n3 6582 6583 6584 \n3 6585 6586 6587 \n3 6588 6589 6590 \n3 6591 6592 6593 \n3 6594 6595 6596 \n3 6597 6598 6599 \n3 6600 6601 6602 \n3 6603 6604 6605 \n3 6606 6607 6608 \n3 6609 6610 6611 \n3 6612 6613 6614 \n3 6615 6616 6617 \n3 6618 6619 6620 \n3 6621 6622 6623 \n3 6624 6625 6626 \n3 6627 6628 6629 \n3 6630 6631 6632 \n3 6633 6634 6635 \n3 6636 6637 6638 \n3 6639 6640 6641 \n3 6642 6643 6644 \n3 6645 6646 6647 \n3 6648 6649 6650 \n3 6651 6652 6653 \n3 6654 6655 6656 \n3 6657 6658 6659 \n3 6660 6661 6662 \n3 6663 6664 6665 \n3 6666 6667 6668 \n3 6669 6670 6671 \n3 6672 6673 6674 \n3 6675 6676 6677 \n3 6678 6679 6680 \n3 6681 6682 6683 \n3 6684 6685 6686 \n3 6687 6688 6689 \n3 6690 6691 6692 \n3 6693 6694 6695 \n3 6696 6697 6698 \n3 6699 6700 6701 \n3 6702 6703 6704 \n3 6705 6706 6707 \n3 6708 6709 6710 \n3 6711 6712 6713 \n3 6714 6715 6716 \n3 6717 6718 6719 \n3 6720 6721 6722 \n3 6723 6724 6725 \n3 6726 6727 6728 \n3 6729 6730 6731 \n3 6732 6733 6734 \n3 6735 6736 6737 \n3 6738 6739 6740 \n3 6741 6742 6743 \n3 6744 6745 6746 \n3 6747 6748 6749 \n3 6750 6751 6752 \n3 6753 6754 6755 \n3 6756 6757 6758 \n3 6759 6760 6761 \n3 6762 6763 6764 \n3 6765 6766 6767 \n3 6768 6769 6770 \n3 6771 6772 6773 \n3 6774 6775 6776 \n3 6777 6778 6779 \n3 6780 6781 6782 \n3 6783 6784 6785 \n3 6786 6787 6788 \n3 6789 6790 6791 \n3 6792 6793 6794 \n3 6795 6796 6797 \n3 6798 6799 6800 \n3 6801 6802 6803 \n3 6804 6805 6806 \n3 6807 6808 6809 \n3 6810 6811 6812 \n3 6813 6814 6815 \n3 6816 6817 6818 \n3 6819 6820 6821 \n3 6822 6823 6824 \n3 6825 6826 6827 \n3 6828 6829 6830 \n3 6831 6832 6833 \n3 6834 6835 6836 \n3 6837 6838 6839 \n3 6840 6841 6842 \n3 6843 6844 6845 \n3 6846 6847 6848 \n3 6849 6850 6851 \n3 6852 6853 6854 \n3 6855 6856 6857 \n3 6858 6859 6860 \n3 6861 6862 6863 \n3 6864 6865 6866 \n3 6867 6868 6869 \n3 6870 6871 6872 \n3 6873 6874 6875 \n3 6876 6877 6878 \n3 6879 6880 6881 \n3 6882 6883 6884 \n3 6885 6886 6887 \n3 6888 6889 6890 \n3 6891 6892 6893 \n3 6894 6895 6896 \n3 6897 6898 6899 \n3 6900 6901 6902 \n3 6903 6904 6905 \n3 6906 6907 6908 \n3 6909 6910 6911 \n3 6912 6913 6914 \n3 6915 6916 6917 \n3 6918 6919 6920 \n3 6921 6922 6923 \n3 6924 6925 6926 \n3 6927 6928 6929 \n3 6930 6931 6932 \n3 6933 6934 6935 \n3 6936 6937 6938 \n3 6939 6940 6941 \n3 6942 6943 6944 \n3 6945 6946 6947 \n3 6948 6949 6950 \n3 6951 6952 6953 \n3 6954 6955 6956 \n3 6957 6958 6959 \n3 6960 6961 6962 \n3 6963 6964 6965 \n3 6966 6967 6968 \n3 6969 6970 6971 \n3 6972 6973 6974 \n3 6975 6976 6977 \n3 6978 6979 6980 \n3 6981 6982 6983 \n3 6984 6985 6986 \n3 6987 6988 6989 \n3 6990 6991 6992 \n3 6993 6994 6995 \n3 6996 6997 6998 \n3 6999 7000 7001 \n3 7002 7003 7004 \n3 7005 7006 7007 \n3 7008 7009 7010 \n3 7011 7012 7013 \n3 7014 7015 7016 \n3 7017 7018 7019 \n3 7020 7021 7022 \n3 7023 7024 7025 \n3 7026 7027 7028 \n3 7029 7030 7031 \n3 7032 7033 7034 \n3 7035 7036 7037 \n3 7038 7039 7040 \n3 7041 7042 7043 \n3 7044 7045 7046 \n3 7047 7048 7049 \n3 7050 7051 7052 \n3 7053 7054 7055 \n3 7056 7057 7058 \n3 7059 7060 7061 \n3 7062 7063 7064 \n3 7065 7066 7067 \n3 7068 7069 7070 \n3 7071 7072 7073 \n3 7074 7075 7076 \n3 7077 7078 7079 \n3 7080 7081 7082 \n3 7083 7084 7085 \n3 7086 7087 7088 \n3 7089 7090 7091 \n3 7092 7093 7094 \n3 7095 7096 7097 \n3 7098 7099 7100 \n3 7101 7102 7103 \n3 7104 7105 7106 \n3 7107 7108 7109 \n3 7110 7111 7112 \n3 7113 7114 7115 \n3 7116 7117 7118 \n3 7119 7120 7121 \n3 7122 7123 7124 \n3 7125 7126 7127 \n3 7128 7129 7130 \n3 7131 7132 7133 \n3 7134 7135 7136 \n3 7137 7138 7139 \n3 7140 7141 7142 \n3 7143 7144 7145 \n3 7146 7147 7148 \n3 7149 7150 7151 \n3 7152 7153 7154 \n3 7155 7156 7157 \n3 7158 7159 7160 \n3 7161 7162 7163 \n3 7164 7165 7166 \n3 7167 7168 7169 \n3 7170 7171 7172 \n3 7173 7174 7175 \n3 7176 7177 7178 \n3 7179 7180 7181 \n3 7182 7183 7184 \n3 7185 7186 7187 \n3 7188 7189 7190 \n3 7191 7192 7193 \n3 7194 7195 7196 \n3 7197 7198 7199 \n3 7200 7201 7202 \n3 7203 7204 7205 \n3 7206 7207 7208 \n3 7209 7210 7211 \n3 7212 7213 7214 \n3 7215 7216 7217 \n3 7218 7219 7220 \n3 7221 7222 7223 \n3 7224 7225 7226 \n3 7227 7228 7229 \n3 7230 7231 7232 \n3 7233 7234 7235 \n3 7236 7237 7238 \n3 7239 7240 7241 \n3 7242 7243 7244 \n3 7245 7246 7247 \n3 7248 7249 7250 \n3 7251 7252 7253 \n3 7254 7255 7256 \n3 7257 7258 7259 \n3 7260 7261 7262 \n3 7263 7264 7265 \n3 7266 7267 7268 \n3 7269 7270 7271 \n3 7272 7273 7274 \n3 7275 7276 7277 \n3 7278 7279 7280 \n3 7281 7282 7283 \n3 7284 7285 7286 \n3 7287 7288 7289 \n3 7290 7291 7292 \n3 7293 7294 7295 \n3 7296 7297 7298 \n3 7299 7300 7301 \n3 7302 7303 7304 \n3 7305 7306 7307 \n3 7308 7309 7310 \n3 7311 7312 7313 \n3 7314 7315 7316 \n3 7317 7318 7319 \n3 7320 7321 7322 \n3 7323 7324 7325 \n3 7326 7327 7328 \n3 7329 7330 7331 \n3 7332 7333 7334 \n3 7335 7336 7337 \n3 7338 7339 7340 \n3 7341 7342 7343 \n3 7344 7345 7346 \n3 7347 7348 7349 \n3 7350 7351 7352 \n3 7353 7354 7355 \n3 7356 7357 7358 \n3 7359 7360 7361 \n3 7362 7363 7364 \n3 7365 7366 7367 \n3 7368 7369 7370 \n3 7371 7372 7373 \n3 7374 7375 7376 \n3 7377 7378 7379 \n3 7380 7381 7382 \n3 7383 7384 7385 \n3 7386 7387 7388 \n3 7389 7390 7391 \n3 7392 7393 7394 \n3 7395 7396 7397 \n3 7398 7399 7400 \n3 7401 7402 7403 \n3 7404 7405 7406 \n3 7407 7408 7409 \n3 7410 7411 7412 \n3 7413 7414 7415 \n3 7416 7417 7418 \n3 7419 7420 7421 \n3 7422 7423 7424 \n3 7425 7426 7427 \n3 7428 7429 7430 \n3 7431 7432 7433 \n3 7434 7435 7436 \n3 7437 7438 7439 \n3 7440 7441 7442 \n3 7443 7444 7445 \n3 7446 7447 7448 \n3 7449 7450 7451 \n3 7452 7453 7454 \n3 7455 7456 7457 \n3 7458 7459 7460 \n3 7461 7462 7463 \n3 7464 7465 7466 \n3 7467 7468 7469 \n3 7470 7471 7472 \n3 7473 7474 7475 \n3 7476 7477 7478 \n3 7479 7480 7481 \n3 7482 7483 7484 \n3 7485 7486 7487 \n3 7488 7489 7490 \n3 7491 7492 7493 \n3 7494 7495 7496 \n3 7497 7498 7499 \n3 7500 7501 7502 \n3 7503 7504 7505 \n3 7506 7507 7508 \n3 7509 7510 7511 \n3 7512 7513 7514 \n3 7515 7516 7517 \n3 7518 7519 7520 \n3 7521 7522 7523 \n3 7524 7525 7526 \n3 7527 7528 7529 \n3 7530 7531 7532 \n3 7533 7534 7535 \n3 7536 7537 7538 \n3 7539 7540 7541 \n3 7542 7543 7544 \n3 7545 7546 7547 \n3 7548 7549 7550 \n3 7551 7552 7553 \n3 7554 7555 7556 \n3 7557 7558 7559 \n3 7560 7561 7562 \n3 7563 7564 7565 \n3 7566 7567 7568 \n3 7569 7570 7571 \n3 7572 7573 7574 \n3 7575 7576 7577 \n3 7578 7579 7580 \n3 7581 7582 7583 \n3 7584 7585 7586 \n3 7587 7588 7589 \n3 7590 7591 7592 \n3 7593 7594 7595 \n3 7596 7597 7598 \n3 7599 7600 7601 \n3 7602 7603 7604 \n3 7605 7606 7607 \n3 7608 7609 7610 \n3 7611 7612 7613 \n3 7614 7615 7616 \n3 7617 7618 7619 \n3 7620 7621 7622 \n3 7623 7624 7625 \n3 7626 7627 7628 \n3 7629 7630 7631 \n3 7632 7633 7634 \n3 7635 7636 7637 \n3 7638 7639 7640 \n3 7641 7642 7643 \n3 7644 7645 7646 \n3 7647 7648 7649 \n3 7650 7651 7652 \n3 7653 7654 7655 \n3 7656 7657 7658 \n3 7659 7660 7661 \n3 7662 7663 7664 \n3 7665 7666 7667 \n3 7668 7669 7670 \n3 7671 7672 7673 \n3 7674 7675 7676 \n3 7677 7678 7679 \n3 7680 7681 7682 \n3 7683 7684 7685 \n3 7686 7687 7688 \n3 7689 7690 7691 \n3 7692 7693 7694 \n3 7695 7696 7697 \n3 7698 7699 7700 \n3 7701 7702 7703 \n3 7704 7705 7706 \n3 7707 7708 7709 \n3 7710 7711 7712 \n3 7713 7714 7715 \n3 7716 7717 7718 \n3 7719 7720 7721 \n3 7722 7723 7724 \n3 7725 7726 7727 \n3 7728 7729 7730 \n3 7731 7732 7733 \n3 7734 7735 7736 \n3 7737 7738 7739 \n3 7740 7741 7742 \n3 7743 7744 7745 \n3 7746 7747 7748 \n3 7749 7750 7751 \n3 7752 7753 7754 \n3 7755 7756 7757 \n3 7758 7759 7760 \n3 7761 7762 7763 \n3 7764 7765 7766 \n3 7767 7768 7769 \n3 7770 7771 7772 \n3 7773 7774 7775 \n3 7776 7777 7778 \n3 7779 7780 7781 \n3 7782 7783 7784 \n3 7785 7786 7787 \n3 7788 7789 7790 \n3 7791 7792 7793 \n3 7794 7795 7796 \n3 7797 7798 7799 \n3 7800 7801 7802 \n3 7803 7804 7805 \n3 7806 7807 7808 \n3 7809 7810 7811 \n3 7812 7813 7814 \n3 7815 7816 7817 \n3 7818 7819 7820 \n3 7821 7822 7823 \n3 7824 7825 7826 \n3 7827 7828 7829 \n3 7830 7831 7832 \n3 7833 7834 7835 \n3 7836 7837 7838 \n3 7839 7840 7841 \n3 7842 7843 7844 \n3 7845 7846 7847 \n3 7848 7849 7850 \n3 7851 7852 7853 \n3 7854 7855 7856 \n3 7857 7858 7859 \n3 7860 7861 7862 \n3 7863 7864 7865 \n3 7866 7867 7868 \n3 7869 7870 7871 \n3 7872 7873 7874 \n3 7875 7876 7877 \n3 7878 7879 7880 \n3 7881 7882 7883 \n3 7884 7885 7886 \n3 7887 7888 7889 \n3 7890 7891 7892 \n3 7893 7894 7895 \n3 7896 7897 7898 \n3 7899 7900 7901 \n3 7902 7903 7904 \n3 7905 7906 7907 \n3 7908 7909 7910 \n3 7911 7912 7913 \n3 7914 7915 7916 \n3 7917 7918 7919 \n3 7920 7921 7922 \n3 7923 7924 7925 \n3 7926 7927 7928 \n3 7929 7930 7931 \n3 7932 7933 7934 \n3 7935 7936 7937 \n3 7938 7939 7940 \n3 7941 7942 7943 \n3 7944 7945 7946 \n3 7947 7948 7949 \n3 7950 7951 7952 \n3 7953 7954 7955 \n3 7956 7957 7958 \n3 7959 7960 7961 \n3 7962 7963 7964 \n3 7965 7966 7967 \n3 7968 7969 7970 \n3 7971 7972 7973 \n3 7974 7975 7976 \n3 7977 7978 7979 \n3 7980 7981 7982 \n3 7983 7984 7985 \n3 7986 7987 7988 \n3 7989 7990 7991 \n3 7992 7993 7994 \n3 7995 7996 7997 \n3 7998 7999 8000 \n3 8001 8002 8003 \n3 8004 8005 8006 \n3 8007 8008 8009 \n3 8010 8011 8012 \n3 8013 8014 8015 \n3 8016 8017 8018 \n3 8019 8020 8021 \n3 8022 8023 8024 \n3 8025 8026 8027 \n3 8028 8029 8030 \n3 8031 8032 8033 \n3 8034 8035 8036 \n3 8037 8038 8039 \n3 8040 8041 8042 \n3 8043 8044 8045 \n3 8046 8047 8048 \n3 8049 8050 8051 \n3 8052 8053 8054 \n3 8055 8056 8057 \n3 8058 8059 8060 \n3 8061 8062 8063 \n3 8064 8065 8066 \n3 8067 8068 8069 \n3 8070 8071 8072 \n3 8073 8074 8075 \n3 8076 8077 8078 \n3 8079 8080 8081 \n3 8082 8083 8084 \n3 8085 8086 8087 \n3 8088 8089 8090 \n3 8091 8092 8093 \n3 8094 8095 8096 \n3 8097 8098 8099 \n3 8100 8101 8102 \n3 8103 8104 8105 \n3 8106 8107 8108 \n3 8109 8110 8111 \n3 8112 8113 8114 \n3 8115 8116 8117 \n3 8118 8119 8120 \n3 8121 8122 8123 \n3 8124 8125 8126 \n3 8127 8128 8129 \n3 8130 8131 8132 \n3 8133 8134 8135 \n3 8136 8137 8138 \n3 8139 8140 8141 \n3 8142 8143 8144 \n3 8145 8146 8147 \n3 8148 8149 8150 \n3 8151 8152 8153 \n3 8154 8155 8156 \n3 8157 8158 8159 \n3 8160 8161 8162 \n3 8163 8164 8165 \n3 8166 8167 8168 \n3 8169 8170 8171 \n3 8172 8173 8174 \n3 8175 8176 8177 \n3 8178 8179 8180 \n3 8181 8182 8183 \n3 8184 8185 8186 \n3 8187 8188 8189 \n3 8190 8191 8192 \n3 8193 8194 8195 \n3 8196 8197 8198 \n3 8199 8200 8201 \n3 8202 8203 8204 \n3 8205 8206 8207 \n3 8208 8209 8210 \n3 8211 8212 8213 \n3 8214 8215 8216 \n3 8217 8218 8219 \n3 8220 8221 8222 \n3 8223 8224 8225 \n3 8226 8227 8228 \n3 8229 8230 8231 \n3 8232 8233 8234 \n3 8235 8236 8237 \n3 8238 8239 8240 \n3 8241 8242 8243 \n3 8244 8245 8246 \n3 8247 8248 8249 \n3 8250 8251 8252 \n3 8253 8254 8255 \n3 8256 8257 8258 \n3 8259 8260 8261 \n3 8262 8263 8264 \n3 8265 8266 8267 \n3 8268 8269 8270 \n3 8271 8272 8273 \n3 8274 8275 8276 \n3 8277 8278 8279 \n3 8280 8281 8282 \n3 8283 8284 8285 \n3 8286 8287 8288 \n3 8289 8290 8291 \n3 8292 8293 8294 \n3 8295 8296 8297 \n3 8298 8299 8300 \n3 8301 8302 8303 \n3 8304 8305 8306 \n3 8307 8308 8309 \n3 8310 8311 8312 \n3 8313 8314 8315 \n3 8316 8317 8318 \n3 8319 8320 8321 \n3 8322 8323 8324 \n3 8325 8326 8327 \n3 8328 8329 8330 \n3 8331 8332 8333 \n3 8334 8335 8336 \n3 8337 8338 8339 \n3 8340 8341 8342 \n3 8343 8344 8345 \n3 8346 8347 8348 \n3 8349 8350 8351 \n3 8352 8353 8354 \n3 8355 8356 8357 \n3 8358 8359 8360 \n3 8361 8362 8363 \n3 8364 8365 8366 \n3 8367 8368 8369 \n3 8370 8371 8372 \n3 8373 8374 8375 \n3 8376 8377 8378 \n3 8379 8380 8381 \n3 8382 8383 8384 \n3 8385 8386 8387 \n3 8388 8389 8390 \n3 8391 8392 8393 \n3 8394 8395 8396 \n3 8397 8398 8399 \n3 8400 8401 8402 \n3 8403 8404 8405 \n3 8406 8407 8408 \n3 8409 8410 8411 \n3 8412 8413 8414 \n3 8415 8416 8417 \n3 8418 8419 8420 \n3 8421 8422 8423 \n3 8424 8425 8426 \n3 8427 8428 8429 \n3 8430 8431 8432 \n3 8433 8434 8435 \n3 8436 8437 8438 \n3 8439 8440 8441 \n3 8442 8443 8444 \n3 8445 8446 8447 \n3 8448 8449 8450 \n3 8451 8452 8453 \n3 8454 8455 8456 \n3 8457 8458 8459 \n3 8460 8461 8462 \n3 8463 8464 8465 \n3 8466 8467 8468 \n3 8469 8470 8471 \n3 8472 8473 8474 \n3 8475 8476 8477 \n3 8478 8479 8480 \n3 8481 8482 8483 \n3 8484 8485 8486 \n3 8487 8488 8489 \n3 8490 8491 8492 \n3 8493 8494 8495 \n3 8496 8497 8498 \n3 8499 8500 8501 \n3 8502 8503 8504 \n3 8505 8506 8507 \n3 8508 8509 8510 \n3 8511 8512 8513 \n3 8514 8515 8516 \n3 8517 8518 8519 \n3 8520 8521 8522 \n3 8523 8524 8525 \n3 8526 8527 8528 \n3 8529 8530 8531 \n3 8532 8533 8534 \n3 8535 8536 8537 \n3 8538 8539 8540 \n3 8541 8542 8543 \n3 8544 8545 8546 \n3 8547 8548 8549 \n3 8550 8551 8552 \n3 8553 8554 8555 \n3 8556 8557 8558 \n3 8559 8560 8561 \n3 8562 8563 8564 \n3 8565 8566 8567 \n3 8568 8569 8570 \n3 8571 8572 8573 \n3 8574 8575 8576 \n3 8577 8578 8579 \n3 8580 8581 8582 \n3 8583 8584 8585 \n3 8586 8587 8588 \n3 8589 8590 8591 \n3 8592 8593 8594 \n3 8595 8596 8597 \n3 8598 8599 8600 \n3 8601 8602 8603 \n3 8604 8605 8606 \n3 8607 8608 8609 \n3 8610 8611 8612 \n3 8613 8614 8615 \n3 8616 8617 8618 \n3 8619 8620 8621 \n3 8622 8623 8624 \n3 8625 8626 8627 \n3 8628 8629 8630 \n3 8631 8632 8633 \n3 8634 8635 8636 \n3 8637 8638 8639 \n3 8640 8641 8642 \n3 8643 8644 8645 \n3 8646 8647 8648 \n3 8649 8650 8651 \n3 8652 8653 8654 \n3 8655 8656 8657 \n3 8658 8659 8660 \n3 8661 8662 8663 \n3 8664 8665 8666 \n3 8667 8668 8669 \n3 8670 8671 8672 \n3 8673 8674 8675 \n3 8676 8677 8678 \n3 8679 8680 8681 \n3 8682 8683 8684 \n3 8685 8686 8687 \n3 8688 8689 8690 \n3 8691 8692 8693 \n3 8694 8695 8696 \n3 8697 8698 8699 \n3 8700 8701 8702 \n3 8703 8704 8705 \n3 8706 8707 8708 \n3 8709 8710 8711 \n3 8712 8713 8714 \n3 8715 8716 8717 \n3 8718 8719 8720 \n3 8721 8722 8723 \n3 8724 8725 8726 \n3 8727 8728 8729 \n3 8730 8731 8732 \n3 8733 8734 8735 \n3 8736 8737 8738 \n3 8739 8740 8741 \n3 8742 8743 8744 \n3 8745 8746 8747 \n3 8748 8749 8750 \n3 8751 8752 8753 \n3 8754 8755 8756 \n3 8757 8758 8759 \n3 8760 8761 8762 \n3 8763 8764 8765 \n3 8766 8767 8768 \n3 8769 8770 8771 \n3 8772 8773 8774 \n3 8775 8776 8777 \n3 8778 8779 8780 \n3 8781 8782 8783 \n3 8784 8785 8786 \n3 8787 8788 8789 \n3 8790 8791 8792 \n3 8793 8794 8795 \n3 8796 8797 8798 \n3 8799 8800 8801 \n3 8802 8803 8804 \n3 8805 8806 8807 \n3 8808 8809 8810 \n3 8811 8812 8813 \n3 8814 8815 8816 \n3 8817 8818 8819 \n3 8820 8821 8822 \n3 8823 8824 8825 \n3 8826 8827 8828 \n3 8829 8830 8831 \n3 8832 8833 8834 \n3 8835 8836 8837 \n3 8838 8839 8840 \n3 8841 8842 8843 \n3 8844 8845 8846 \n3 8847 8848 8849 \n3 8850 8851 8852 \n3 8853 8854 8855 \n3 8856 8857 8858 \n3 8859 8860 8861 \n3 8862 8863 8864 \n3 8865 8866 8867 \n3 8868 8869 8870 \n3 8871 8872 8873 \n3 8874 8875 8876 \n3 8877 8878 8879 \n3 8880 8881 8882 \n3 8883 8884 8885 \n3 8886 8887 8888 \n3 8889 8890 8891 \n3 8892 8893 8894 \n3 8895 8896 8897 \n3 8898 8899 8900 \n3 8901 8902 8903 \n3 8904 8905 8906 \n3 8907 8908 8909 \n3 8910 8911 8912 \n3 8913 8914 8915 \n3 8916 8917 8918 \n3 8919 8920 8921 \n3 8922 8923 8924 \n3 8925 8926 8927 \n3 8928 8929 8930 \n3 8931 8932 8933 \n3 8934 8935 8936 \n3 8937 8938 8939 \n3 8940 8941 8942 \n3 8943 8944 8945 \n3 8946 8947 8948 \n3 8949 8950 8951 \n3 8952 8953 8954 \n3 8955 8956 8957 \n3 8958 8959 8960 \n3 8961 8962 8963 \n3 8964 8965 8966 \n3 8967 8968 8969 \n3 8970 8971 8972 \n3 8973 8974 8975 \n3 8976 8977 8978 \n3 8979 8980 8981 \n3 8982 8983 8984 \n3 8985 8986 8987 \n3 8988 8989 8990 \n3 8991 8992 8993 \n3 8994 8995 8996 \n3 8997 8998 8999 \n3 9000 9001 9002 \n3 9003 9004 9005 \n3 9006 9007 9008 \n3 9009 9010 9011 \n3 9012 9013 9014 \n3 9015 9016 9017 \n3 9018 9019 9020 \n3 9021 9022 9023 \n3 9024 9025 9026 \n3 9027 9028 9029 \n3 9030 9031 9032 \n3 9033 9034 9035 \n3 9036 9037 9038 \n3 9039 9040 9041 \n3 9042 9043 9044 \n3 9045 9046 9047 \n3 9048 9049 9050 \n3 9051 9052 9053 \n3 9054 9055 9056 \n3 9057 9058 9059 \n3 9060 9061 9062 \n3 9063 9064 9065 \n3 9066 9067 9068 \n3 9069 9070 9071 \n3 9072 9073 9074 \n3 9075 9076 9077 \n3 9078 9079 9080 \n3 9081 9082 9083 \n3 9084 9085 9086 \n3 9087 9088 9089 \n3 9090 9091 9092 \n3 9093 9094 9095 \n3 9096 9097 9098 \n3 9099 9100 9101 \n3 9102 9103 9104 \n3 9105 9106 9107 \n3 9108 9109 9110 \n3 9111 9112 9113 \n3 9114 9115 9116 \n3 9117 9118 9119 \n3 9120 9121 9122 \n3 9123 9124 9125 \n3 9126 9127 9128 \n3 9129 9130 9131 \n3 9132 9133 9134 \n3 9135 9136 9137 \n3 9138 9139 9140 \n3 9141 9142 9143 \n3 9144 9145 9146 \n3 9147 9148 9149 \n3 9150 9151 9152 \n3 9153 9154 9155 \n3 9156 9157 9158 \n3 9159 9160 9161 \n3 9162 9163 9164 \n3 9165 9166 9167 \n3 9168 9169 9170 \n3 9171 9172 9173 \n3 9174 9175 9176 \n3 9177 9178 9179 \n3 9180 9181 9182 \n3 9183 9184 9185 \n3 9186 9187 9188 \n3 9189 9190 9191 \n3 9192 9193 9194 \n3 9195 9196 9197 \n3 9198 9199 9200 \n3 9201 9202 9203 \n3 9204 9205 9206 \n3 9207 9208 9209 \n3 9210 9211 9212 \n3 9213 9214 9215 \n3 9216 9217 9218 \n3 9219 9220 9221 \n3 9222 9223 9224 \n3 9225 9226 9227 \n3 9228 9229 9230 \n3 9231 9232 9233 \n3 9234 9235 9236 \n3 9237 9238 9239 \n3 9240 9241 9242 \n3 9243 9244 9245 \n3 9246 9247 9248 \n3 9249 9250 9251 \n3 9252 9253 9254 \n3 9255 9256 9257 \n3 9258 9259 9260 \n3 9261 9262 9263 \n3 9264 9265 9266 \n3 9267 9268 9269 \n3 9270 9271 9272 \n3 9273 9274 9275 \n3 9276 9277 9278 \n3 9279 9280 9281 \n3 9282 9283 9284 \n3 9285 9286 9287 \n3 9288 9289 9290 \n3 9291 9292 9293 \n3 9294 9295 9296 \n3 9297 9298 9299 \n3 9300 9301 9302 \n3 9303 9304 9305 \n3 9306 9307 9308 \n3 9309 9310 9311 \n3 9312 9313 9314 \n3 9315 9316 9317 \n3 9318 9319 9320 \n3 9321 9322 9323 \n3 9324 9325 9326 \n3 9327 9328 9329 \n3 9330 9331 9332 \n3 9333 9334 9335 \n3 9336 9337 9338 \n3 9339 9340 9341 \n3 9342 9343 9344 \n3 9345 9346 9347 \n3 9348 9349 9350 \n3 9351 9352 9353 \n3 9354 9355 9356 \n3 9357 9358 9359 \n3 9360 9361 9362 \n3 9363 9364 9365 \n3 9366 9367 9368 \n3 9369 9370 9371 \n3 9372 9373 9374 \n3 9375 9376 9377 \n3 9378 9379 9380 \n3 9381 9382 9383 \n3 9384 9385 9386 \n3 9387 9388 9389 \n3 9390 9391 9392 \n3 9393 9394 9395 \n3 9396 9397 9398 \n3 9399 9400 9401 \n3 9402 9403 9404 \n3 9405 9406 9407 \n3 9408 9409 9410 \n3 9411 9412 9413 \n3 9414 9415 9416 \n3 9417 9418 9419 \n3 9420 9421 9422 \n3 9423 9424 9425 \n3 9426 9427 9428 \n3 9429 9430 9431 \n3 9432 9433 9434 \n3 9435 9436 9437 \n3 9438 9439 9440 \n3 9441 9442 9443 \n3 9444 9445 9446 \n3 9447 9448 9449 \n3 9450 9451 9452 \n3 9453 9454 9455 \n3 9456 9457 9458 \n3 9459 9460 9461 \n3 9462 9463 9464 \n3 9465 9466 9467 \n3 9468 9469 9470 \n3 9471 9472 9473 \n3 9474 9475 9476 \n3 9477 9478 9479 \n3 9480 9481 9482 \n3 9483 9484 9485 \n3 9486 9487 9488 \n3 9489 9490 9491 \n3 9492 9493 9494 \n3 9495 9496 9497 \n3 9498 9499 9500 \n3 9501 9502 9503 \n3 9504 9505 9506 \n3 9507 9508 9509 \n3 9510 9511 9512 \n3 9513 9514 9515 \n3 9516 9517 9518 \n3 9519 9520 9521 \n3 9522 9523 9524 \n3 9525 9526 9527 \n3 9528 9529 9530 \n3 9531 9532 9533 \n3 9534 9535 9536 \n3 9537 9538 9539 \n3 9540 9541 9542 \n3 9543 9544 9545 \n3 9546 9547 9548 \n3 9549 9550 9551 \n3 9552 9553 9554 \n3 9555 9556 9557 \n3 9558 9559 9560 \n3 9561 9562 9563 \n3 9564 9565 9566 \n3 9567 9568 9569 \n3 9570 9571 9572 \n3 9573 9574 9575 \n3 9576 9577 9578 \n3 9579 9580 9581 \n3 9582 9583 9584 \n3 9585 9586 9587 \n3 9588 9589 9590 \n3 9591 9592 9593 \n3 9594 9595 9596 \n3 9597 9598 9599 \n3 9600 9601 9602 \n3 9603 9604 9605 \n3 9606 9607 9608 \n3 9609 9610 9611 \n3 9612 9613 9614 \n3 9615 9616 9617 \n3 9618 9619 9620 \n3 9621 9622 9623 \n3 9624 9625 9626 \n3 9627 9628 9629 \n3 9630 9631 9632 \n3 9633 9634 9635 \n3 9636 9637 9638 \n3 9639 9640 9641 \n3 9642 9643 9644 \n3 9645 9646 9647 \n3 9648 9649 9650 \n3 9651 9652 9653 \n3 9654 9655 9656 \n3 9657 9658 9659 \n3 9660 9661 9662 \n3 9663 9664 9665 \n3 9666 9667 9668 \n3 9669 9670 9671 \n3 9672 9673 9674 \n3 9675 9676 9677 \n3 9678 9679 9680 \n3 9681 9682 9683 \n3 9684 9685 9686 \n3 9687 9688 9689 \n3 9690 9691 9692 \n3 9693 9694 9695 \n3 9696 9697 9698 \n3 9699 9700 9701 \n3 9702 9703 9704 \n3 9705 9706 9707 \n3 9708 9709 9710 \n3 9711 9712 9713 \n3 9714 9715 9716 \n3 9717 9718 9719 \n3 9720 9721 9722 \n3 9723 9724 9725 \n3 9726 9727 9728 \n3 9729 9730 9731 \n3 9732 9733 9734 \n3 9735 9736 9737 \n3 9738 9739 9740 \n3 9741 9742 9743 \n3 9744 9745 9746 \n3 9747 9748 9749 \n3 9750 9751 9752 \n3 9753 9754 9755 \n3 9756 9757 9758 \n3 9759 9760 9761 \n3 9762 9763 9764 \n3 9765 9766 9767 \n3 9768 9769 9770 \n3 9771 9772 9773 \n3 9774 9775 9776 \n3 9777 9778 9779 \n3 9780 9781 9782 \n3 9783 9784 9785 \n3 9786 9787 9788 \n3 9789 9790 9791 \n3 9792 9793 9794 \n3 9795 9796 9797 \n3 9798 9799 9800 \n3 9801 9802 9803 \n3 9804 9805 9806 \n3 9807 9808 9809 \n3 9810 9811 9812 \n3 9813 9814 9815 \n3 9816 9817 9818 \n3 9819 9820 9821 \n3 9822 9823 9824 \n3 9825 9826 9827 \n3 9828 9829 9830 \n3 9831 9832 9833 \n3 9834 9835 9836 \n3 9837 9838 9839 \n3 9840 9841 9842 \n3 9843 9844 9845 \n3 9846 9847 9848 \n3 9849 9850 9851 \n3 9852 9853 9854 \n3 9855 9856 9857 \n3 9858 9859 9860 \n3 9861 9862 9863 \n3 9864 9865 9866 \n3 9867 9868 9869 \n3 9870 9871 9872 \n3 9873 9874 9875 \n3 9876 9877 9878 \n3 9879 9880 9881 \n3 9882 9883 9884 \n3 9885 9886 9887 \n3 9888 9889 9890 \n3 9891 9892 9893 \n3 9894 9895 9896 \n3 9897 9898 9899 \n3 9900 9901 9902 \n3 9903 9904 9905 \n3 9906 9907 9908 \n3 9909 9910 9911 \n3 9912 9913 9914 \n3 9915 9916 9917 \n3 9918 9919 9920 \n3 9921 9922 9923 \n3 9924 9925 9926 \n3 9927 9928 9929 \n3 9930 9931 9932 \n3 9933 9934 9935 \n3 9936 9937 9938 \n3 9939 9940 9941 \n3 9942 9943 9944 \n3 9945 9946 9947 \n3 9948 9949 9950 \n3 9951 9952 9953 \n3 9954 9955 9956 \n3 9957 9958 9959 \n3 9960 9961 9962 \n3 9963 9964 9965 \n3 9966 9967 9968 \n3 9969 9970 9971 \n3 9972 9973 9974 \n3 9975 9976 9977 \n3 9978 9979 9980 \n3 9981 9982 9983 \n3 9984 9985 9986 \n3 9987 9988 9989 \n3 9990 9991 9992 \n3 9993 9994 9995 \n3 9996 9997 9998 \n3 9999 10000 10001 \n3 10002 10003 10004 \n3 10005 10006 10007 \n3 10008 10009 10010 \n3 10011 10012 10013 \n3 10014 10015 10016 \n3 10017 10018 10019 \n3 10020 10021 10022 \n3 10023 10024 10025 \n3 10026 10027 10028 \n3 10029 10030 10031 \n3 10032 10033 10034 \n3 10035 10036 10037 \n3 10038 10039 10040 \n3 10041 10042 10043 \n3 10044 10045 10046 \n3 10047 10048 10049 \n3 10050 10051 10052 \n3 10053 10054 10055 \n3 10056 10057 10058 \n3 10059 10060 10061 \n3 10062 10063 10064 \n3 10065 10066 10067 \n3 10068 10069 10070 \n3 10071 10072 10073 \n3 10074 10075 10076 \n3 10077 10078 10079 \n3 10080 10081 10082 \n3 10083 10084 10085 \n3 10086 10087 10088 \n3 10089 10090 10091 \n3 10092 10093 10094 \n3 10095 10096 10097 \n3 10098 10099 10100 \n3 10101 10102 10103 \n3 10104 10105 10106 \n3 10107 10108 10109 \n3 10110 10111 10112 \n3 10113 10114 10115 \n3 10116 10117 10118 \n3 10119 10120 10121 \n3 10122 10123 10124 \n3 10125 10126 10127 \n3 10128 10129 10130 \n3 10131 10132 10133 \n3 10134 10135 10136 \n3 10137 10138 10139 \n3 10140 10141 10142 \n3 10143 10144 10145 \n3 10146 10147 10148 \n3 10149 10150 10151 \n3 10152 10153 10154 \n3 10155 10156 10157 \n3 10158 10159 10160 \n3 10161 10162 10163 \n3 10164 10165 10166 \n3 10167 10168 10169 \n3 10170 10171 10172 \n3 10173 10174 10175 \n3 10176 10177 10178 \n3 10179 10180 10181 \n3 10182 10183 10184 \n3 10185 10186 10187 \n3 10188 10189 10190 \n3 10191 10192 10193 \n3 10194 10195 10196 \n3 10197 10198 10199 \n3 10200 10201 10202 \n3 10203 10204 10205 \n3 10206 10207 10208 \n3 10209 10210 10211 \n3 10212 10213 10214 \n3 10215 10216 10217 \n3 10218 10219 10220 \n3 10221 10222 10223 \n3 10224 10225 10226 \n3 10227 10228 10229 \n3 10230 10231 10232 \n3 10233 10234 10235 \n3 10236 10237 10238 \n3 10239 10240 10241 \n3 10242 10243 10244 \n3 10245 10246 10247 \n3 10248 10249 10250 \n3 10251 10252 10253 \n3 10254 10255 10256 \n3 10257 10258 10259 \n3 10260 10261 10262 \n3 10263 10264 10265 \n3 10266 10267 10268 \n3 10269 10270 10271 \n3 10272 10273 10274 \n3 10275 10276 10277 \n3 10278 10279 10280 \n3 10281 10282 10283 \n3 10284 10285 10286 \n3 10287 10288 10289 \n3 10290 10291 10292 \n3 10293 10294 10295 \n3 10296 10297 10298 \n3 10299 10300 10301 \n3 10302 10303 10304 \n3 10305 10306 10307 \n3 10308 10309 10310 \n3 10311 10312 10313 \n3 10314 10315 10316 \n3 10317 10318 10319 \n3 10320 10321 10322 \n3 10323 10324 10325 \n3 10326 10327 10328 \n3 10329 10330 10331 \n3 10332 10333 10334 \n3 10335 10336 10337 \n3 10338 10339 10340 \n3 10341 10342 10343 \n3 10344 10345 10346 \n3 10347 10348 10349 \n3 10350 10351 10352 \n3 10353 10354 10355 \n3 10356 10357 10358 \n3 10359 10360 10361 \n3 10362 10363 10364 \n3 10365 10366 10367 \n3 10368 10369 10370 \n3 10371 10372 10373 \n3 10374 10375 10376 \n3 10377 10378 10379 \n3 10380 10381 10382 \n3 10383 10384 10385 \n3 10386 10387 10388 \n3 10389 10390 10391 \n3 10392 10393 10394 \n3 10395 10396 10397 \n3 10398 10399 10400 \n3 10401 10402 10403 \n3 10404 10405 10406 \n3 10407 10408 10409 \n3 10410 10411 10412 \n3 10413 10414 10415 \n3 10416 10417 10418 \n3 10419 10420 10421 \n3 10422 10423 10424 \n3 10425 10426 10427 \n3 10428 10429 10430 \n3 10431 10432 10433 \n3 10434 10435 10436 \n3 10437 10438 10439 \n3 10440 10441 10442 \n3 10443 10444 10445 \n3 10446 10447 10448 \n3 10449 10450 10451 \n3 10452 10453 10454 \n3 10455 10456 10457 \n3 10458 10459 10460 \n3 10461 10462 10463 \n3 10464 10465 10466 \n3 10467 10468 10469 \n3 10470 10471 10472 \n3 10473 10474 10475 \n3 10476 10477 10478 \n3 10479 10480 10481 \n3 10482 10483 10484 \n3 10485 10486 10487 \n3 10488 10489 10490 \n3 10491 10492 10493 \n3 10494 10495 10496 \n3 10497 10498 10499 \n3 10500 10501 10502 \n3 10503 10504 10505 \n3 10506 10507 10508 \n3 10509 10510 10511 \n3 10512 10513 10514 \n3 10515 10516 10517 \n3 10518 10519 10520 \n3 10521 10522 10523 \n3 10524 10525 10526 \n3 10527 10528 10529 \n3 10530 10531 10532 \n3 10533 10534 10535 \n3 10536 10537 10538 \n3 10539 10540 10541 \n3 10542 10543 10544 \n3 10545 10546 10547 \n3 10548 10549 10550 \n3 10551 10552 10553 \n3 10554 10555 10556 \n3 10557 10558 10559 \n3 10560 10561 10562 \n3 10563 10564 10565 \n3 10566 10567 10568 \n3 10569 10570 10571 \n3 10572 10573 10574 \n3 10575 10576 10577 \n3 10578 10579 10580 \n3 10581 10582 10583 \n3 10584 10585 10586 \n3 10587 10588 10589 \n3 10590 10591 10592 \n3 10593 10594 10595 \n3 10596 10597 10598 \n3 10599 10600 10601 \n3 10602 10603 10604 \n3 10605 10606 10607 \n3 10608 10609 10610 \n3 10611 10612 10613 \n3 10614 10615 10616 \n3 10617 10618 10619 \n3 10620 10621 10622 \n3 10623 10624 10625 \n3 10626 10627 10628 \n3 10629 10630 10631 \n3 10632 10633 10634 \n3 10635 10636 10637 \n3 10638 10639 10640 \n3 10641 10642 10643 \n3 10644 10645 10646 \n3 10647 10648 10649 \n3 10650 10651 10652 \n3 10653 10654 10655 \n3 10656 10657 10658 \n3 10659 10660 10661 \n3 10662 10663 10664 \n3 10665 10666 10667 \n3 10668 10669 10670 \n3 10671 10672 10673 \n3 10674 10675 10676 \n3 10677 10678 10679 \n3 10680 10681 10682 \n3 10683 10684 10685 \n3 10686 10687 10688 \n3 10689 10690 10691 \n3 10692 10693 10694 \n3 10695 10696 10697 \n3 10698 10699 10700 \n3 10701 10702 10703 \n3 10704 10705 10706 \n3 10707 10708 10709 \n3 10710 10711 10712 \n3 10713 10714 10715 \n3 10716 10717 10718 \n3 10719 10720 10721 \n3 10722 10723 10724 \n3 10725 10726 10727 \n3 10728 10729 10730 \n3 10731 10732 10733 \n3 10734 10735 10736 \n3 10737 10738 10739 \n3 10740 10741 10742 \n3 10743 10744 10745 \n3 10746 10747 10748 \n3 10749 10750 10751 \n3 10752 10753 10754 \n3 10755 10756 10757 \n3 10758 10759 10760 \n3 10761 10762 10763 \n3 10764 10765 10766 \n3 10767 10768 10769 \n3 10770 10771 10772 \n3 10773 10774 10775 \n3 10776 10777 10778 \n3 10779 10780 10781 \n3 10782 10783 10784 \n3 10785 10786 10787 \n3 10788 10789 10790 \n3 10791 10792 10793 \n3 10794 10795 10796 \n3 10797 10798 10799 \n3 10800 10801 10802 \n3 10803 10804 10805 \n3 10806 10807 10808 \n3 10809 10810 10811 \n3 10812 10813 10814 \n3 10815 10816 10817 \n3 10818 10819 10820 \n3 10821 10822 10823 \n3 10824 10825 10826 \n3 10827 10828 10829 \n3 10830 10831 10832 \n3 10833 10834 10835 \n3 10836 10837 10838 \n3 10839 10840 10841 \n3 10842 10843 10844 \n3 10845 10846 10847 \n3 10848 10849 10850 \n3 10851 10852 10853 \n3 10854 10855 10856 \n3 10857 10858 10859 \n3 10860 10861 10862 \n3 10863 10864 10865 \n3 10866 10867 10868 \n3 10869 10870 10871 \n3 10872 10873 10874 \n3 10875 10876 10877 \n3 10878 10879 10880 \n3 10881 10882 10883 \n3 10884 10885 10886 \n3 10887 10888 10889 \n3 10890 10891 10892 \n3 10893 10894 10895 \n3 10896 10897 10898 \n3 10899 10900 10901 \n3 10902 10903 10904 \n3 10905 10906 10907 \n3 10908 10909 10910 \n3 10911 10912 10913 \n3 10914 10915 10916 \n3 10917 10918 10919 \n3 10920 10921 10922 \n3 10923 10924 10925 \n3 10926 10927 10928 \n3 10929 10930 10931 \n3 10932 10933 10934 \n3 10935 10936 10937 \n3 10938 10939 10940 \n3 10941 10942 10943 \n3 10944 10945 10946 \n3 10947 10948 10949 \n3 10950 10951 10952 \n3 10953 10954 10955 \n3 10956 10957 10958 \n3 10959 10960 10961 \n3 10962 10963 10964 \n3 10965 10966 10967 \n3 10968 10969 10970 \n3 10971 10972 10973 \n3 10974 10975 10976 \n3 10977 10978 10979 \n3 10980 10981 10982 \n3 10983 10984 10985 \n3 10986 10987 10988 \n3 10989 10990 10991 \n3 10992 10993 10994 \n3 10995 10996 10997 \n3 10998 10999 11000 \n3 11001 11002 11003 \n3 11004 11005 11006 \n3 11007 11008 11009 \n3 11010 11011 11012 \n3 11013 11014 11015 \n3 11016 11017 11018 \n3 11019 11020 11021 \n3 11022 11023 11024 \n3 11025 11026 11027 \n3 11028 11029 11030 \n3 11031 11032 11033 \n3 11034 11035 11036 \n3 11037 11038 11039 \n3 11040 11041 11042 \n3 11043 11044 11045 \n3 11046 11047 11048 \n3 11049 11050 11051 \n3 11052 11053 11054 \n3 11055 11056 11057 \n3 11058 11059 11060 \n3 11061 11062 11063 \n3 11064 11065 11066 \n3 11067 11068 11069 \n3 11070 11071 11072 \n3 11073 11074 11075 \n3 11076 11077 11078 \n3 11079 11080 11081 \n3 11082 11083 11084 \n3 11085 11086 11087 \n3 11088 11089 11090 \n3 11091 11092 11093 \n3 11094 11095 11096 \n3 11097 11098 11099 \n3 11100 11101 11102 \n3 11103 11104 11105 \n3 11106 11107 11108 \n3 11109 11110 11111 \n3 11112 11113 11114 \n3 11115 11116 11117 \n3 11118 11119 11120 \n3 11121 11122 11123 \n3 11124 11125 11126 \n3 11127 11128 11129 \n3 11130 11131 11132 \n3 11133 11134 11135 \n3 11136 11137 11138 \n3 11139 11140 11141 \n3 11142 11143 11144 \n3 11145 11146 11147 \n3 11148 11149 11150 \n3 11151 11152 11153 \n3 11154 11155 11156 \n3 11157 11158 11159 \n3 11160 11161 11162 \n3 11163 11164 11165 \n3 11166 11167 11168 \n3 11169 11170 11171 \n3 11172 11173 11174 \n3 11175 11176 11177 \n3 11178 11179 11180 \n3 11181 11182 11183 \n3 11184 11185 11186 \n3 11187 11188 11189 \n3 11190 11191 11192 \n3 11193 11194 11195 \n3 11196 11197 11198 \n3 11199 11200 11201 \n3 11202 11203 11204 \n3 11205 11206 11207 \n3 11208 11209 11210 \n3 11211 11212 11213 \n3 11214 11215 11216 \n3 11217 11218 11219 \n3 11220 11221 11222 \n3 11223 11224 11225 \n3 11226 11227 11228 \n3 11229 11230 11231 \n3 11232 11233 11234 \n3 11235 11236 11237 \n3 11238 11239 11240 \n3 11241 11242 11243 \n3 11244 11245 11246 \n3 11247 11248 11249 \n3 11250 11251 11252 \n3 11253 11254 11255 \n3 11256 11257 11258 \n3 11259 11260 11261 \n3 11262 11263 11264 \n3 11265 11266 11267 \n3 11268 11269 11270 \n3 11271 11272 11273 \n3 11274 11275 11276 \n3 11277 11278 11279 \n3 11280 11281 11282 \n3 11283 11284 11285 \n3 11286 11287 11288 \n3 11289 11290 11291 \n3 11292 11293 11294 \n3 11295 11296 11297 \n3 11298 11299 11300 \n3 11301 11302 11303 \n3 11304 11305 11306 \n3 11307 11308 11309 \n3 11310 11311 11312 \n3 11313 11314 11315 \n3 11316 11317 11318 \n3 11319 11320 11321 \n3 11322 11323 11324 \n3 11325 11326 11327 \n3 11328 11329 11330 \n3 11331 11332 11333 \n3 11334 11335 11336 \n3 11337 11338 11339 \n3 11340 11341 11342 \n3 11343 11344 11345 \n3 11346 11347 11348 \n3 11349 11350 11351 \n3 11352 11353 11354 \n3 11355 11356 11357 \n3 11358 11359 11360 \n3 11361 11362 11363 \n3 11364 11365 11366 \n3 11367 11368 11369 \n3 11370 11371 11372 \n3 11373 11374 11375 \n3 11376 11377 11378 \n3 11379 11380 11381 \n3 11382 11383 11384 \n3 11385 11386 11387 \n3 11388 11389 11390 \n3 11391 11392 11393 \n3 11394 11395 11396 \n3 11397 11398 11399 \n3 11400 11401 11402 \n3 11403 11404 11405 \n3 11406 11407 11408 \n3 11409 11410 11411 \n3 11412 11413 11414 \n3 11415 11416 11417 \n3 11418 11419 11420 \n3 11421 11422 11423 \n3 11424 11425 11426 \n3 11427 11428 11429 \n3 11430 11431 11432 \n3 11433 11434 11435 \n3 11436 11437 11438 \n3 11439 11440 11441 \n3 11442 11443 11444 \n3 11445 11446 11447 \n3 11448 11449 11450 \n3 11451 11452 11453 \n3 11454 11455 11456 \n3 11457 11458 11459 \n3 11460 11461 11462 \n3 11463 11464 11465 \n3 11466 11467 11468 \n3 11469 11470 11471 \n3 11472 11473 11474 \n3 11475 11476 11477 \n3 11478 11479 11480 \n3 11481 11482 11483 \n3 11484 11485 11486 \n3 11487 11488 11489 \n3 11490 11491 11492 \n3 11493 11494 11495 \n3 11496 11497 11498 \n3 11499 11500 11501 \n3 11502 11503 11504 \n3 11505 11506 11507 \n3 11508 11509 11510 \n3 11511 11512 11513 \n3 11514 11515 11516 \n3 11517 11518 11519 \n3 11520 11521 11522 \n3 11523 11524 11525 \n3 11526 11527 11528 \n3 11529 11530 11531 \n3 11532 11533 11534 \n3 11535 11536 11537 \n3 11538 11539 11540 \n3 11541 11542 11543 \n3 11544 11545 11546 \n3 11547 11548 11549 \n3 11550 11551 11552 \n3 11553 11554 11555 \n3 11556 11557 11558 \n3 11559 11560 11561 \n3 11562 11563 11564 \n3 11565 11566 11567 \n3 11568 11569 11570 \n3 11571 11572 11573 \n3 11574 11575 11576 \n3 11577 11578 11579 \n3 11580 11581 11582 \n3 11583 11584 11585 \n3 11586 11587 11588 \n3 11589 11590 11591 \n3 11592 11593 11594 \n3 11595 11596 11597 \n3 11598 11599 11600 \n3 11601 11602 11603 \n3 11604 11605 11606 \n3 11607 11608 11609 \n3 11610 11611 11612 \n3 11613 11614 11615 \n3 11616 11617 11618 \n3 11619 11620 11621 \n3 11622 11623 11624 \n3 11625 11626 11627 \n3 11628 11629 11630 \n3 11631 11632 11633 \n3 11634 11635 11636 \n3 11637 11638 11639 \n3 11640 11641 11642 \n3 11643 11644 11645 \n3 11646 11647 11648 \n3 11649 11650 11651 \n3 11652 11653 11654 \n3 11655 11656 11657 \n3 11658 11659 11660 \n3 11661 11662 11663 \n3 11664 11665 11666 \n3 11667 11668 11669 \n3 11670 11671 11672 \n3 11673 11674 11675 \n3 11676 11677 11678 \n3 11679 11680 11681 \n3 11682 11683 11684 \n3 11685 11686 11687 \n3 11688 11689 11690 \n3 11691 11692 11693 \n3 11694 11695 11696 \n3 11697 11698 11699 \n3 11700 11701 11702 \n3 11703 11704 11705 \n3 11706 11707 11708 \n3 11709 11710 11711 \n3 11712 11713 11714 \n3 11715 11716 11717 \n3 11718 11719 11720 \n3 11721 11722 11723 \n3 11724 11725 11726 \n3 11727 11728 11729 \n3 11730 11731 11732 \n3 11733 11734 11735 \n3 11736 11737 11738 \n3 11739 11740 11741 \n3 11742 11743 11744 \n3 11745 11746 11747 \n3 11748 11749 11750 \n3 11751 11752 11753 \n3 11754 11755 11756 \n3 11757 11758 11759 \n3 11760 11761 11762 \n3 11763 11764 11765 \n3 11766 11767 11768 \n3 11769 11770 11771 \n3 11772 11773 11774 \n3 11775 11776 11777 \n3 11778 11779 11780 \n3 11781 11782 11783 \n3 11784 11785 11786 \n3 11787 11788 11789 \n3 11790 11791 11792 \n3 11793 11794 11795 \n3 11796 11797 11798 \n3 11799 11800 11801 \n3 11802 11803 11804 \n3 11805 11806 11807 \n3 11808 11809 11810 \n3 11811 11812 11813 \n3 11814 11815 11816 \n3 11817 11818 11819 \n3 11820 11821 11822 \n3 11823 11824 11825 \n3 11826 11827 11828 \n3 11829 11830 11831 \n3 11832 11833 11834 \n3 11835 11836 11837 \n3 11838 11839 11840 \n3 11841 11842 11843 \n3 11844 11845 11846 \n3 11847 11848 11849 \n3 11850 11851 11852 \n3 11853 11854 11855 \n3 11856 11857 11858 \n3 11859 11860 11861 \n3 11862 11863 11864 \n3 11865 11866 11867 \n3 11868 11869 11870 \n3 11871 11872 11873 \n3 11874 11875 11876 \n3 11877 11878 11879 \n3 11880 11881 11882 \n3 11883 11884 11885 \n3 11886 11887 11888 \n3 11889 11890 11891 \n3 11892 11893 11894 \n3 11895 11896 11897 \n3 11898 11899 11900 \n3 11901 11902 11903 \n3 11904 11905 11906 \n3 11907 11908 11909 \n3 11910 11911 11912 \n3 11913 11914 11915 \n3 11916 11917 11918 \n3 11919 11920 11921 \n3 11922 11923 11924 \n3 11925 11926 11927 \n3 11928 11929 11930 \n3 11931 11932 11933 \n3 11934 11935 11936 \n3 11937 11938 11939 \n3 11940 11941 11942 \n3 11943 11944 11945 \n3 11946 11947 11948 \n3 11949 11950 11951 \n3 11952 11953 11954 \n3 11955 11956 11957 \n3 11958 11959 11960 \n3 11961 11962 11963 \n3 11964 11965 11966 \n3 11967 11968 11969 \n3 11970 11971 11972 \n3 11973 11974 11975 \n3 11976 11977 11978 \n3 11979 11980 11981 \n3 11982 11983 11984 \n3 11985 11986 11987 \n3 11988 11989 11990 \n3 11991 11992 11993 \n3 11994 11995 11996 \n3 11997 11998 11999 \n3 12000 12001 12002 \n3 12003 12004 12005 \n3 12006 12007 12008 \n3 12009 12010 12011 \n3 12012 12013 12014 \n3 12015 12016 12017 \n3 12018 12019 12020 \n3 12021 12022 12023 \n3 12024 12025 12026 \n3 12027 12028 12029 \n3 12030 12031 12032 \n3 12033 12034 12035 \n3 12036 12037 12038 \n3 12039 12040 12041 \n3 12042 12043 12044 \n3 12045 12046 12047 \n3 12048 12049 12050 \n3 12051 12052 12053 \n3 12054 12055 12056 \n3 12057 12058 12059 \n3 12060 12061 12062 \n3 12063 12064 12065 \n3 12066 12067 12068 \n3 12069 12070 12071 \n3 12072 12073 12074 \n3 12075 12076 12077 \n3 12078 12079 12080 \n3 12081 12082 12083 \n3 12084 12085 12086 \n3 12087 12088 12089 \n3 12090 12091 12092 \n3 12093 12094 12095 \n3 12096 12097 12098 \n3 12099 12100 12101 \n3 12102 12103 12104 \n3 12105 12106 12107 \n3 12108 12109 12110 \n3 12111 12112 12113 \n3 12114 12115 12116 \n3 12117 12118 12119 \n3 12120 12121 12122 \n3 12123 12124 12125 \n3 12126 12127 12128 \n3 12129 12130 12131 \n3 12132 12133 12134 \n3 12135 12136 12137 \n3 12138 12139 12140 \n3 12141 12142 12143 \n3 12144 12145 12146 \n3 12147 12148 12149 \n3 12150 12151 12152 \n3 12153 12154 12155 \n3 12156 12157 12158 \n3 12159 12160 12161 \n3 12162 12163 12164 \n3 12165 12166 12167 \n3 12168 12169 12170 \n3 12171 12172 12173 \n3 12174 12175 12176 \n3 12177 12178 12179 \n3 12180 12181 12182 \n3 12183 12184 12185 \n3 12186 12187 12188 \n3 12189 12190 12191 \n3 12192 12193 12194 \n3 12195 12196 12197 \n3 12198 12199 12200 \n3 12201 12202 12203 \n3 12204 12205 12206 \n3 12207 12208 12209 \n3 12210 12211 12212 \n3 12213 12214 12215 \n3 12216 12217 12218 \n3 12219 12220 12221 \n3 12222 12223 12224 \n3 12225 12226 12227 \n3 12228 12229 12230 \n3 12231 12232 12233 \n3 12234 12235 12236 \n3 12237 12238 12239 \n3 12240 12241 12242 \n3 12243 12244 12245 \n3 12246 12247 12248 \n3 12249 12250 12251 \n3 12252 12253 12254 \n3 12255 12256 12257 \n3 12258 12259 12260 \n3 12261 12262 12263 \n3 12264 12265 12266 \n3 12267 12268 12269 \n3 12270 12271 12272 \n3 12273 12274 12275 \n3 12276 12277 12278 \n3 12279 12280 12281 \n3 12282 12283 12284 \n3 12285 12286 12287 \n3 12288 12289 12290 \n3 12291 12292 12293 \n3 12294 12295 12296 \n3 12297 12298 12299 \n3 12300 12301 12302 \n3 12303 12304 12305 \n3 12306 12307 12308 \n3 12309 12310 12311 \n3 12312 12313 12314 \n3 12315 12316 12317 \n3 12318 12319 12320 \n3 12321 12322 12323 \n3 12324 12325 12326 \n3 12327 12328 12329 \n3 12330 12331 12332 \n3 12333 12334 12335 \n3 12336 12337 12338 \n3 12339 12340 12341 \n3 12342 12343 12344 \n3 12345 12346 12347 \n3 12348 12349 12350 \n3 12351 12352 12353 \n3 12354 12355 12356 \n3 12357 12358 12359 \n3 12360 12361 12362 \n3 12363 12364 12365 \n3 12366 12367 12368 \n3 12369 12370 12371 \n3 12372 12373 12374 \n3 12375 12376 12377 \n3 12378 12379 12380 \n3 12381 12382 12383 \n3 12384 12385 12386 \n3 12387 12388 12389 \n3 12390 12391 12392 \n3 12393 12394 12395 \n3 12396 12397 12398 \n3 12399 12400 12401 \n3 12402 12403 12404 \n3 12405 12406 12407 \n3 12408 12409 12410 \n3 12411 12412 12413 \n3 12414 12415 12416 \n3 12417 12418 12419 \n3 12420 12421 12422 \n3 12423 12424 12425 \n3 12426 12427 12428 \n3 12429 12430 12431 \n3 12432 12433 12434 \n3 12435 12436 12437 \n3 12438 12439 12440 \n3 12441 12442 12443 \n3 12444 12445 12446 \n3 12447 12448 12449 \n3 12450 12451 12452 \n3 12453 12454 12455 \n3 12456 12457 12458 \n3 12459 12460 12461 \n3 12462 12463 12464 \n3 12465 12466 12467 \n3 12468 12469 12470 \n3 12471 12472 12473 \n3 12474 12475 12476 \n3 12477 12478 12479 \n3 12480 12481 12482 \n3 12483 12484 12485 \n3 12486 12487 12488 \n3 12489 12490 12491 \n3 12492 12493 12494 \n3 12495 12496 12497 \n3 12498 12499 12500 \n3 12501 12502 12503 \n3 12504 12505 12506 \n3 12507 12508 12509 \n3 12510 12511 12512 \n3 12513 12514 12515 \n3 12516 12517 12518 \n3 12519 12520 12521 \n3 12522 12523 12524 \n3 12525 12526 12527 \n3 12528 12529 12530 \n3 12531 12532 12533 \n3 12534 12535 12536 \n3 12537 12538 12539 \n3 12540 12541 12542 \n3 12543 12544 12545 \n3 12546 12547 12548 \n3 12549 12550 12551 \n3 12552 12553 12554 \n3 12555 12556 12557 \n3 12558 12559 12560 \n3 12561 12562 12563 \n3 12564 12565 12566 \n3 12567 12568 12569 \n3 12570 12571 12572 \n3 12573 12574 12575 \n3 12576 12577 12578 \n3 12579 12580 12581 \n3 12582 12583 12584 \n3 12585 12586 12587 \n3 12588 12589 12590 \n3 12591 12592 12593 \n3 12594 12595 12596 \n3 12597 12598 12599 \n3 12600 12601 12602 \n3 12603 12604 12605 \n3 12606 12607 12608 \n3 12609 12610 12611 \n3 12612 12613 12614 \n3 12615 12616 12617 \n3 12618 12619 12620 \n3 12621 12622 12623 \n3 12624 12625 12626 \n3 12627 12628 12629 \n3 12630 12631 12632 \n3 12633 12634 12635 \n3 12636 12637 12638 \n3 12639 12640 12641 \n3 12642 12643 12644 \n3 12645 12646 12647 \n3 12648 12649 12650 \n3 12651 12652 12653 \n3 12654 12655 12656 \n3 12657 12658 12659 \n3 12660 12661 12662 \n3 12663 12664 12665 \n3 12666 12667 12668 \n3 12669 12670 12671 \n3 12672 12673 12674 \n3 12675 12676 12677 \n3 12678 12679 12680 \n3 12681 12682 12683 \n3 12684 12685 12686 \n3 12687 12688 12689 \n3 12690 12691 12692 \n3 12693 12694 12695 \n3 12696 12697 12698 \n3 12699 12700 12701 \n3 12702 12703 12704 \n3 12705 12706 12707 \n3 12708 12709 12710 \n3 12711 12712 12713 \n3 12714 12715 12716 \n3 12717 12718 12719 \n3 12720 12721 12722 \n3 12723 12724 12725 \n3 12726 12727 12728 \n3 12729 12730 12731 \n3 12732 12733 12734 \n3 12735 12736 12737 \n3 12738 12739 12740 \n3 12741 12742 12743 \n3 12744 12745 12746 \n3 12747 12748 12749 \n3 12750 12751 12752 \n3 12753 12754 12755 \n3 12756 12757 12758 \n3 12759 12760 12761 \n3 12762 12763 12764 \n3 12765 12766 12767 \n3 12768 12769 12770 \n3 12771 12772 12773 \n3 12774 12775 12776 \n3 12777 12778 12779 \n3 12780 12781 12782 \n3 12783 12784 12785 \n3 12786 12787 12788 \n3 12789 12790 12791 \n3 12792 12793 12794 \n3 12795 12796 12797 \n3 12798 12799 12800 \n3 12801 12802 12803 \n3 12804 12805 12806 \n3 12807 12808 12809 \n3 12810 12811 12812 \n3 12813 12814 12815 \n3 12816 12817 12818 \n3 12819 12820 12821 \n3 12822 12823 12824 \n3 12825 12826 12827 \n3 12828 12829 12830 \n3 12831 12832 12833 \n3 12834 12835 12836 \n3 12837 12838 12839 \n3 12840 12841 12842 \n3 12843 12844 12845 \n3 12846 12847 12848 \n3 12849 12850 12851 \n3 12852 12853 12854 \n3 12855 12856 12857 \n3 12858 12859 12860 \n3 12861 12862 12863 \n3 12864 12865 12866 \n3 12867 12868 12869 \n3 12870 12871 12872 \n3 12873 12874 12875 \n3 12876 12877 12878 \n3 12879 12880 12881 \n3 12882 12883 12884 \n3 12885 12886 12887 \n3 12888 12889 12890 \n3 12891 12892 12893 \n3 12894 12895 12896 \n3 12897 12898 12899 \n3 12900 12901 12902 \n3 12903 12904 12905 \n3 12906 12907 12908 \n3 12909 12910 12911 \n3 12912 12913 12914 \n3 12915 12916 12917 \n3 12918 12919 12920 \n3 12921 12922 12923 \n3 12924 12925 12926 \n3 12927 12928 12929 \n3 12930 12931 12932 \n3 12933 12934 12935 \n3 12936 12937 12938 \n3 12939 12940 12941 \n3 12942 12943 12944 \n3 12945 12946 12947 \n3 12948 12949 12950 \n3 12951 12952 12953 \n3 12954 12955 12956 \n3 12957 12958 12959 \n3 12960 12961 12962 \n3 12963 12964 12965 \n3 12966 12967 12968 \n3 12969 12970 12971 \n3 12972 12973 12974 \n3 12975 12976 12977 \n3 12978 12979 12980 \n3 12981 12982 12983 \n3 12984 12985 12986 \n3 12987 12988 12989 \n3 12990 12991 12992 \n3 12993 12994 12995 \n3 12996 12997 12998 \n3 12999 13000 13001 \n3 13002 13003 13004 \n3 13005 13006 13007 \n3 13008 13009 13010 \n3 13011 13012 13013 \n3 13014 13015 13016 \n3 13017 13018 13019 \n3 13020 13021 13022 \n3 13023 13024 13025 \n3 13026 13027 13028 \n3 13029 13030 13031 \n3 13032 13033 13034 \n3 13035 13036 13037 \n3 13038 13039 13040 \n3 13041 13042 13043 \n3 13044 13045 13046 \n3 13047 13048 13049 \n3 13050 13051 13052 \n3 13053 13054 13055 \n3 13056 13057 13058 \n3 13059 13060 13061 \n3 13062 13063 13064 \n3 13065 13066 13067 \n3 13068 13069 13070 \n3 13071 13072 13073 \n3 13074 13075 13076 \n3 13077 13078 13079 \n3 13080 13081 13082 \n3 13083 13084 13085 \n3 13086 13087 13088 \n3 13089 13090 13091 \n3 13092 13093 13094 \n3 13095 13096 13097 \n3 13098 13099 13100 \n3 13101 13102 13103 \n3 13104 13105 13106 \n3 13107 13108 13109 \n3 13110 13111 13112 \n3 13113 13114 13115 \n3 13116 13117 13118 \n3 13119 13120 13121 \n3 13122 13123 13124 \n3 13125 13126 13127 \n3 13128 13129 13130 \n3 13131 13132 13133 \n3 13134 13135 13136 \n3 13137 13138 13139 \n3 13140 13141 13142 \n3 13143 13144 13145 \n3 13146 13147 13148 \n3 13149 13150 13151 \n3 13152 13153 13154 \n3 13155 13156 13157 \n3 13158 13159 13160 \n3 13161 13162 13163 \n3 13164 13165 13166 \n3 13167 13168 13169 \n3 13170 13171 13172 \n3 13173 13174 13175 \n3 13176 13177 13178 \n3 13179 13180 13181 \n3 13182 13183 13184 \n3 13185 13186 13187 \n3 13188 13189 13190 \n3 13191 13192 13193 \n3 13194 13195 13196 \n3 13197 13198 13199 \n3 13200 13201 13202 \n3 13203 13204 13205 \n3 13206 13207 13208 \n3 13209 13210 13211 \n3 13212 13213 13214 \n3 13215 13216 13217 \n3 13218 13219 13220 \n3 13221 13222 13223 \n3 13224 13225 13226 \n3 13227 13228 13229 \n3 13230 13231 13232 \n3 13233 13234 13235 \n3 13236 13237 13238 \n3 13239 13240 13241 \n3 13242 13243 13244 \n3 13245 13246 13247 \n3 13248 13249 13250 \n3 13251 13252 13253 \n3 13254 13255 13256 \n3 13257 13258 13259 \n3 13260 13261 13262 \n3 13263 13264 13265 \n3 13266 13267 13268 \n3 13269 13270 13271 \n3 13272 13273 13274 \n3 13275 13276 13277 \n3 13278 13279 13280 \n3 13281 13282 13283 \n3 13284 13285 13286 \n3 13287 13288 13289 \n3 13290 13291 13292 \n3 13293 13294 13295 \n3 13296 13297 13298 \n3 13299 13300 13301 \n3 13302 13303 13304 \n3 13305 13306 13307 \n3 13308 13309 13310 \n3 13311 13312 13313 \n3 13314 13315 13316 \n3 13317 13318 13319 \n3 13320 13321 13322 \n3 13323 13324 13325 \n3 13326 13327 13328 \n3 13329 13330 13331 \n3 13332 13333 13334 \n3 13335 13336 13337 \n3 13338 13339 13340 \n3 13341 13342 13343 \n3 13344 13345 13346 \n3 13347 13348 13349 \n3 13350 13351 13352 \n3 13353 13354 13355 \n3 13356 13357 13358 \n3 13359 13360 13361 \n3 13362 13363 13364 \n3 13365 13366 13367 \n3 13368 13369 13370 \n3 13371 13372 13373 \n3 13374 13375 13376 \n3 13377 13378 13379 \n3 13380 13381 13382 \n3 13383 13384 13385 \n3 13386 13387 13388 \n3 13389 13390 13391 \n3 13392 13393 13394 \n3 13395 13396 13397 \n3 13398 13399 13400 \n3 13401 13402 13403 \n3 13404 13405 13406 \n3 13407 13408 13409 \n3 13410 13411 13412 \n3 13413 13414 13415 \n3 13416 13417 13418 \n3 13419 13420 13421 \n3 13422 13423 13424 \n3 13425 13426 13427 \n3 13428 13429 13430 \n3 13431 13432 13433 \n3 13434 13435 13436 \n3 13437 13438 13439 \n3 13440 13441 13442 \n3 13443 13444 13445 \n3 13446 13447 13448 \n3 13449 13450 13451 \n3 13452 13453 13454 \n3 13455 13456 13457 \n3 13458 13459 13460 \n3 13461 13462 13463 \n3 13464 13465 13466 \n3 13467 13468 13469 \n3 13470 13471 13472 \n3 13473 13474 13475 \n3 13476 13477 13478 \n3 13479 13480 13481 \n3 13482 13483 13484 \n3 13485 13486 13487 \n3 13488 13489 13490 \n3 13491 13492 13493 \n3 13494 13495 13496 \n3 13497 13498 13499 \n3 13500 13501 13502 \n3 13503 13504 13505 \n3 13506 13507 13508 \n3 13509 13510 13511 \n3 13512 13513 13514 \n3 13515 13516 13517 \n3 13518 13519 13520 \n3 13521 13522 13523 \n3 13524 13525 13526 \n3 13527 13528 13529 \n3 13530 13531 13532 \n3 13533 13534 13535 \n3 13536 13537 13538 \n3 13539 13540 13541 \n3 13542 13543 13544 \n3 13545 13546 13547 \n3 13548 13549 13550 \n3 13551 13552 13553 \n3 13554 13555 13556 \n3 13557 13558 13559 \n3 13560 13561 13562 \n3 13563 13564 13565 \n3 13566 13567 13568 \n3 13569 13570 13571 \n3 13572 13573 13574 \n3 13575 13576 13577 \n3 13578 13579 13580 \n3 13581 13582 13583 \n3 13584 13585 13586 \n3 13587 13588 13589 \n3 13590 13591 13592 \n3 13593 13594 13595 \n3 13596 13597 13598 \n3 13599 13600 13601 \n3 13602 13603 13604 \n3 13605 13606 13607 \n3 13608 13609 13610 \n3 13611 13612 13613 \n3 13614 13615 13616 \n3 13617 13618 13619 \n3 13620 13621 13622 \n3 13623 13624 13625 \n3 13626 13627 13628 \n3 13629 13630 13631 \n3 13632 13633 13634 \n3 13635 13636 13637 \n3 13638 13639 13640 \n3 13641 13642 13643 \n3 13644 13645 13646 \n3 13647 13648 13649 \n3 13650 13651 13652 \n3 13653 13654 13655 \n3 13656 13657 13658 \n3 13659 13660 13661 \n3 13662 13663 13664 \n3 13665 13666 13667 \n3 13668 13669 13670 \n3 13671 13672 13673 \n3 13674 13675 13676 \n3 13677 13678 13679 \n3 13680 13681 13682 \n3 13683 13684 13685 \n3 13686 13687 13688 \n3 13689 13690 13691 \n3 13692 13693 13694 \n3 13695 13696 13697 \n3 13698 13699 13700 \n3 13701 13702 13703 \n3 13704 13705 13706 \n3 13707 13708 13709 \n3 13710 13711 13712 \n3 13713 13714 13715 \n3 13716 13717 13718 \n3 13719 13720 13721 \n3 13722 13723 13724 \n3 13725 13726 13727 \n3 13728 13729 13730 \n3 13731 13732 13733 \n3 13734 13735 13736 \n3 13737 13738 13739 \n3 13740 13741 13742 \n3 13743 13744 13745 \n3 13746 13747 13748 \n3 13749 13750 13751 \n3 13752 13753 13754 \n3 13755 13756 13757 \n3 13758 13759 13760 \n3 13761 13762 13763 \n3 13764 13765 13766 \n3 13767 13768 13769 \n3 13770 13771 13772 \n3 13773 13774 13775 \n3 13776 13777 13778 \n3 13779 13780 13781 \n3 13782 13783 13784 \n3 13785 13786 13787 \n3 13788 13789 13790 \n3 13791 13792 13793 \n3 13794 13795 13796 \n3 13797 13798 13799 \n3 13800 13801 13802 \n3 13803 13804 13805 \n3 13806 13807 13808 \n3 13809 13810 13811 \n3 13812 13813 13814 \n3 13815 13816 13817 \n3 13818 13819 13820 \n3 13821 13822 13823 \n3 13824 13825 13826 \n3 13827 13828 13829 \n3 13830 13831 13832 \n3 13833 13834 13835 \n3 13836 13837 13838 \n3 13839 13840 13841 \n3 13842 13843 13844 \n3 13845 13846 13847 \n3 13848 13849 13850 \n3 13851 13852 13853 \n3 13854 13855 13856 \n3 13857 13858 13859 \n3 13860 13861 13862 \n3 13863 13864 13865 \n3 13866 13867 13868 \n3 13869 13870 13871 \n3 13872 13873 13874 \n3 13875 13876 13877 \n3 13878 13879 13880 \n3 13881 13882 13883 \n3 13884 13885 13886 \n3 13887 13888 13889 \n3 13890 13891 13892 \n3 13893 13894 13895 \n3 13896 13897 13898 \n3 13899 13900 13901 \n3 13902 13903 13904 \n3 13905 13906 13907 \n3 13908 13909 13910 \n3 13911 13912 13913 \n3 13914 13915 13916 \n3 13917 13918 13919 \n3 13920 13921 13922 \n3 13923 13924 13925 \n3 13926 13927 13928 \n3 13929 13930 13931 \n3 13932 13933 13934 \n3 13935 13936 13937 \n3 13938 13939 13940 \n3 13941 13942 13943 \n3 13944 13945 13946 \n3 13947 13948 13949 \n3 13950 13951 13952 \n3 13953 13954 13955 \n3 13956 13957 13958 \n3 13959 13960 13961 \n3 13962 13963 13964 \n3 13965 13966 13967 \n3 13968 13969 13970 \n3 13971 13972 13973 \n3 13974 13975 13976 \n3 13977 13978 13979 \n3 13980 13981 13982 \n3 13983 13984 13985 \n3 13986 13987 13988 \n3 13989 13990 13991 \n3 13992 13993 13994 \n3 13995 13996 13997 \n3 13998 13999 14000 \n3 14001 14002 14003 \n3 14004 14005 14006 \n3 14007 14008 14009 \n3 14010 14011 14012 \n3 14013 14014 14015 \n3 14016 14017 14018 \n3 14019 14020 14021 \n3 14022 14023 14024 \n3 14025 14026 14027 \n3 14028 14029 14030 \n3 14031 14032 14033 \n3 14034 14035 14036 \n3 14037 14038 14039 \n3 14040 14041 14042 \n3 14043 14044 14045 \n3 14046 14047 14048 \n3 14049 14050 14051 \n3 14052 14053 14054 \n3 14055 14056 14057 \n3 14058 14059 14060 \n3 14061 14062 14063 \n3 14064 14065 14066 \n3 14067 14068 14069 \n3 14070 14071 14072 \n3 14073 14074 14075 \n3 14076 14077 14078 \n3 14079 14080 14081 \n3 14082 14083 14084 \n3 14085 14086 14087 \n3 14088 14089 14090 \n3 14091 14092 14093 \n3 14094 14095 14096 \n3 14097 14098 14099 \n3 14100 14101 14102 \n3 14103 14104 14105 \n3 14106 14107 14108 \n3 14109 14110 14111 \n3 14112 14113 14114 \n3 14115 14116 14117 \n3 14118 14119 14120 \n3 14121 14122 14123 \n3 14124 14125 14126 \n3 14127 14128 14129 \n3 14130 14131 14132 \n3 14133 14134 14135 \n3 14136 14137 14138 \n3 14139 14140 14141 \n3 14142 14143 14144 \n3 14145 14146 14147 \n3 14148 14149 14150 \n3 14151 14152 14153 \n3 14154 14155 14156 \n3 14157 14158 14159 \n3 14160 14161 14162 \n3 14163 14164 14165 \n3 14166 14167 14168 \n3 14169 14170 14171 \n3 14172 14173 14174 \n3 14175 14176 14177 \n3 14178 14179 14180 \n3 14181 14182 14183 \n3 14184 14185 14186 \n3 14187 14188 14189 \n3 14190 14191 14192 \n3 14193 14194 14195 \n3 14196 14197 14198 \n3 14199 14200 14201 \n3 14202 14203 14204 \n3 14205 14206 14207 \n3 14208 14209 14210 \n3 14211 14212 14213 \n3 14214 14215 14216 \n3 14217 14218 14219 \n3 14220 14221 14222 \n3 14223 14224 14225 \n3 14226 14227 14228 \n3 14229 14230 14231 \n3 14232 14233 14234 \n3 14235 14236 14237 \n3 14238 14239 14240 \n3 14241 14242 14243 \n3 14244 14245 14246 \n3 14247 14248 14249 \n3 14250 14251 14252 \n3 14253 14254 14255 \n3 14256 14257 14258 \n3 14259 14260 14261 \n3 14262 14263 14264 \n3 14265 14266 14267 \n3 14268 14269 14270 \n3 14271 14272 14273 \n3 14274 14275 14276 \n3 14277 14278 14279 \n3 14280 14281 14282 \n3 14283 14284 14285 \n3 14286 14287 14288 \n3 14289 14290 14291 \n3 14292 14293 14294 \n3 14295 14296 14297 \n3 14298 14299 14300 \n3 14301 14302 14303 \n3 14304 14305 14306 \n3 14307 14308 14309 \n3 14310 14311 14312 \n3 14313 14314 14315 \n3 14316 14317 14318 \n3 14319 14320 14321 \n3 14322 14323 14324 \n3 14325 14326 14327 \n3 14328 14329 14330 \n3 14331 14332 14333 \n3 14334 14335 14336 \n3 14337 14338 14339 \n3 14340 14341 14342 \n3 14343 14344 14345 \n3 14346 14347 14348 \n3 14349 14350 14351 \n3 14352 14353 14354 \n3 14355 14356 14357 \n3 14358 14359 14360 \n3 14361 14362 14363 \n3 14364 14365 14366 \n3 14367 14368 14369 \n3 14370 14371 14372 \n3 14373 14374 14375 \n3 14376 14377 14378 \n3 14379 14380 14381 \n3 14382 14383 14384 \n3 14385 14386 14387 \n3 14388 14389 14390 \n3 14391 14392 14393 \n3 14394 14395 14396 \n3 14397 14398 14399 \n3 14400 14401 14402 \n3 14403 14404 14405 \n3 14406 14407 14408 \n3 14409 14410 14411 \n3 14412 14413 14414 \n3 14415 14416 14417 \n3 14418 14419 14420 \n3 14421 14422 14423 \n3 14424 14425 14426 \n3 14427 14428 14429 \n3 14430 14431 14432 \n3 14433 14434 14435 \n3 14436 14437 14438 \n3 14439 14440 14441 \n3 14442 14443 14444 \n3 14445 14446 14447 \n3 14448 14449 14450 \n3 14451 14452 14453 \n3 14454 14455 14456 \n3 14457 14458 14459 \n3 14460 14461 14462 \n3 14463 14464 14465 \n3 14466 14467 14468 \n3 14469 14470 14471 \n3 14472 14473 14474 \n3 14475 14476 14477 \n3 14478 14479 14480 \n3 14481 14482 14483 \n3 14484 14485 14486 \n3 14487 14488 14489 \n3 14490 14491 14492 \n3 14493 14494 14495 \n3 14496 14497 14498 \n3 14499 14500 14501 \n3 14502 14503 14504 \n3 14505 14506 14507 \n3 14508 14509 14510 \n3 14511 14512 14513 \n3 14514 14515 14516 \n3 14517 14518 14519 \n3 14520 14521 14522 \n3 14523 14524 14525 \n3 14526 14527 14528 \n3 14529 14530 14531 \n3 14532 14533 14534 \n3 14535 14536 14537 \n3 14538 14539 14540 \n3 14541 14542 14543 \n3 14544 14545 14546 \n3 14547 14548 14549 \n3 14550 14551 14552 \n3 14553 14554 14555 \n3 14556 14557 14558 \n3 14559 14560 14561 \n3 14562 14563 14564 \n3 14565 14566 14567 \n3 14568 14569 14570 \n3 14571 14572 14573 \n3 14574 14575 14576 \n3 14577 14578 14579 \n3 14580 14581 14582 \n3 14583 14584 14585 \n3 14586 14587 14588 \n3 14589 14590 14591 \n3 14592 14593 14594 \n3 14595 14596 14597 \n3 14598 14599 14600 \n3 14601 14602 14603 \n3 14604 14605 14606 \n3 14607 14608 14609 \n3 14610 14611 14612 \n3 14613 14614 14615 \n3 14616 14617 14618 \n3 14619 14620 14621 \n3 14622 14623 14624 \n3 14625 14626 14627 \n3 14628 14629 14630 \n3 14631 14632 14633 \n3 14634 14635 14636 \n3 14637 14638 14639 \n3 14640 14641 14642 \n3 14643 14644 14645 \n3 14646 14647 14648 \n3 14649 14650 14651 \n3 14652 14653 14654 \n3 14655 14656 14657 \n3 14658 14659 14660 \n3 14661 14662 14663 \n3 14664 14665 14666 \n3 14667 14668 14669 \n3 14670 14671 14672 \n3 14673 14674 14675 \n3 14676 14677 14678 \n3 14679 14680 14681 \n3 14682 14683 14684 \n3 14685 14686 14687 \n3 14688 14689 14690 \n3 14691 14692 14693 \n3 14694 14695 14696 \n3 14697 14698 14699 \n3 14700 14701 14702 \n3 14703 14704 14705 \n3 14706 14707 14708 \n3 14709 14710 14711 \n3 14712 14713 14714 \n3 14715 14716 14717 \n3 14718 14719 14720 \n3 14721 14722 14723 \n3 14724 14725 14726 \n3 14727 14728 14729 \n3 14730 14731 14732 \n3 14733 14734 14735 \n3 14736 14737 14738 \n3 14739 14740 14741 \n3 14742 14743 14744 \n3 14745 14746 14747 \n3 14748 14749 14750 \n3 14751 14752 14753 \n3 14754 14755 14756 \n3 14757 14758 14759 \n3 14760 14761 14762 \n3 14763 14764 14765 \n3 14766 14767 14768 \n3 14769 14770 14771 \n3 14772 14773 14774 \n3 14775 14776 14777 \n3 14778 14779 14780 \n3 14781 14782 14783 \n3 14784 14785 14786 \n3 14787 14788 14789 \n3 14790 14791 14792 \n3 14793 14794 14795 \n3 14796 14797 14798 \n3 14799 14800 14801 \n3 14802 14803 14804 \n3 14805 14806 14807 \n3 14808 14809 14810 \n3 14811 14812 14813 \n3 14814 14815 14816 \n3 14817 14818 14819 \n3 14820 14821 14822 \n3 14823 14824 14825 \n3 14826 14827 14828 \n3 14829 14830 14831 \n3 14832 14833 14834 \n3 14835 14836 14837 \n3 14838 14839 14840 \n3 14841 14842 14843 \n3 14844 14845 14846 \n3 14847 14848 14849 \n3 14850 14851 14852 \n3 14853 14854 14855 \n3 14856 14857 14858 \n3 14859 14860 14861 \n3 14862 14863 14864 \n3 14865 14866 14867 \n3 14868 14869 14870 \n3 14871 14872 14873 \n3 14874 14875 14876 \n3 14877 14878 14879 \n3 14880 14881 14882 \n3 14883 14884 14885 \n3 14886 14887 14888 \n3 14889 14890 14891 \n3 14892 14893 14894 \n3 14895 14896 14897 \n3 14898 14899 14900 \n3 14901 14902 14903 \n3 14904 14905 14906 \n3 14907 14908 14909 \n3 14910 14911 14912 \n3 14913 14914 14915 \n3 14916 14917 14918 \n3 14919 14920 14921 \n3 14922 14923 14924 \n3 14925 14926 14927 \n3 14928 14929 14930 \n3 14931 14932 14933 \n3 14934 14935 14936 \n3 14937 14938 14939 \n3 14940 14941 14942 \n3 14943 14944 14945 \n3 14946 14947 14948 \n3 14949 14950 14951 \n3 14952 14953 14954 \n3 14955 14956 14957 \n3 14958 14959 14960 \n3 14961 14962 14963 \n3 14964 14965 14966 \n3 14967 14968 14969 \n3 14970 14971 14972 \n3 14973 14974 14975 \n3 14976 14977 14978 \n3 14979 14980 14981 \n3 14982 14983 14984 \n3 14985 14986 14987 \n3 14988 14989 14990 \n3 14991 14992 14993 \n3 14994 14995 14996 \n3 14997 14998 14999 \n3 15000 15001 15002 \n3 15003 15004 15005 \n3 15006 15007 15008 \n3 15009 15010 15011 \n3 15012 15013 15014 \n3 15015 15016 15017 \n3 15018 15019 15020 \n3 15021 15022 15023 \n3 15024 15025 15026 \n3 15027 15028 15029 \n3 15030 15031 15032 \n3 15033 15034 15035 \n3 15036 15037 15038 \n3 15039 15040 15041 \n3 15042 15043 15044 \n3 15045 15046 15047 \n3 15048 15049 15050 \n3 15051 15052 15053 \n3 15054 15055 15056 \n3 15057 15058 15059 \n3 15060 15061 15062 \n3 15063 15064 15065 \n3 15066 15067 15068 \n3 15069 15070 15071 \n3 15072 15073 15074 \n3 15075 15076 15077 \n3 15078 15079 15080 \n3 15081 15082 15083 \n3 15084 15085 15086 \n3 15087 15088 15089 \n3 15090 15091 15092 \n3 15093 15094 15095 \n3 15096 15097 15098 \n3 15099 15100 15101 \n3 15102 15103 15104 \n3 15105 15106 15107 \n3 15108 15109 15110 \n3 15111 15112 15113 \n3 15114 15115 15116 \n3 15117 15118 15119 \n3 15120 15121 15122 \n3 15123 15124 15125 \n3 15126 15127 15128 \n3 15129 15130 15131 \n3 15132 15133 15134 \n3 15135 15136 15137 \n3 15138 15139 15140 \n3 15141 15142 15143 \n3 15144 15145 15146 \n3 15147 15148 15149 \n3 15150 15151 15152 \n3 15153 15154 15155 \n3 15156 15157 15158 \n3 15159 15160 15161 \n3 15162 15163 15164 \n3 15165 15166 15167 \n3 15168 15169 15170 \n3 15171 15172 15173 \n3 15174 15175 15176 \n3 15177 15178 15179 \n3 15180 15181 15182 \n3 15183 15184 15185 \n3 15186 15187 15188 \n3 15189 15190 15191 \n3 15192 15193 15194 \n3 15195 15196 15197 \n3 15198 15199 15200 \n3 15201 15202 15203 \n3 15204 15205 15206 \n3 15207 15208 15209 \n3 15210 15211 15212 \n3 15213 15214 15215 \n3 15216 15217 15218 \n3 15219 15220 15221 \n3 15222 15223 15224 \n3 15225 15226 15227 \n3 15228 15229 15230 \n3 15231 15232 15233 \n3 15234 15235 15236 \n3 15237 15238 15239 \n3 15240 15241 15242 \n3 15243 15244 15245 \n3 15246 15247 15248 \n3 15249 15250 15251 \n3 15252 15253 15254 \n3 15255 15256 15257 \n3 15258 15259 15260 \n3 15261 15262 15263 \n3 15264 15265 15266 \n3 15267 15268 15269 \n3 15270 15271 15272 \n3 15273 15274 15275 \n3 15276 15277 15278 \n3 15279 15280 15281 \n3 15282 15283 15284 \n3 15285 15286 15287 \n3 15288 15289 15290 \n3 15291 15292 15293 \n3 15294 15295 15296 \n3 15297 15298 15299 \n3 15300 15301 15302 \n3 15303 15304 15305 \n3 15306 15307 15308 \n3 15309 15310 15311 \n3 15312 15313 15314 \n3 15315 15316 15317 \n3 15318 15319 15320 \n3 15321 15322 15323 \n3 15324 15325 15326 \n3 15327 15328 15329 \n3 15330 15331 15332 \n3 15333 15334 15335 \n3 15336 15337 15338 \n3 15339 15340 15341 \n3 15342 15343 15344 \n3 15345 15346 15347 \n3 15348 15349 15350 \n3 15351 15352 15353 \n3 15354 15355 15356 \n3 15357 15358 15359 \n3 15360 15361 15362 \n3 15363 15364 15365 \n3 15366 15367 15368 \n3 15369 15370 15371 \n3 15372 15373 15374 \n3 15375 15376 15377 \n3 15378 15379 15380 \n3 15381 15382 15383 \n3 15384 15385 15386 \n3 15387 15388 15389 \n3 15390 15391 15392 \n3 15393 15394 15395 \n3 15396 15397 15398 \n3 15399 15400 15401 \n3 15402 15403 15404 \n3 15405 15406 15407 \n3 15408 15409 15410 \n3 15411 15412 15413 \n3 15414 15415 15416 \n3 15417 15418 15419 \n3 15420 15421 15422 \n3 15423 15424 15425 \n3 15426 15427 15428 \n3 15429 15430 15431 \n3 15432 15433 15434 \n3 15435 15436 15437 \n3 15438 15439 15440 \n3 15441 15442 15443 \n3 15444 15445 15446 \n3 15447 15448 15449 \n3 15450 15451 15452 \n3 15453 15454 15455 \n3 15456 15457 15458 \n3 15459 15460 15461 \n3 15462 15463 15464 \n3 15465 15466 15467 \n3 15468 15469 15470 \n3 15471 15472 15473 \n3 15474 15475 15476 \n3 15477 15478 15479 \n3 15480 15481 15482 \n3 15483 15484 15485 \n3 15486 15487 15488 \n3 15489 15490 15491 \n3 15492 15493 15494 \n3 15495 15496 15497 \n3 15498 15499 15500 \n3 15501 15502 15503 \n3 15504 15505 15506 \n3 15507 15508 15509 \n3 15510 15511 15512 \n3 15513 15514 15515 \n3 15516 15517 15518 \n3 15519 15520 15521 \n3 15522 15523 15524 \n3 15525 15526 15527 \n3 15528 15529 15530 \n3 15531 15532 15533 \n3 15534 15535 15536 \n3 15537 15538 15539 \n3 15540 15541 15542 \n3 15543 15544 15545 \n3 15546 15547 15548 \n3 15549 15550 15551 \n3 15552 15553 15554 \n3 15555 15556 15557 \n3 15558 15559 15560 \n3 15561 15562 15563 \n3 15564 15565 15566 \n3 15567 15568 15569 \n3 15570 15571 15572 \n3 15573 15574 15575 \n3 15576 15577 15578 \n3 15579 15580 15581 \n3 15582 15583 15584 \n3 15585 15586 15587 \n3 15588 15589 15590 \n3 15591 15592 15593 \n3 15594 15595 15596 \n3 15597 15598 15599 \n3 15600 15601 15602 \n3 15603 15604 15605 \n3 15606 15607 15608 \n3 15609 15610 15611 \n3 15612 15613 15614 \n3 15615 15616 15617 \n3 15618 15619 15620 \n3 15621 15622 15623 \n3 15624 15625 15626 \n3 15627 15628 15629 \n3 15630 15631 15632 \n3 15633 15634 15635 \n3 15636 15637 15638 \n3 15639 15640 15641 \n3 15642 15643 15644 \n3 15645 15646 15647 \n3 15648 15649 15650 \n3 15651 15652 15653 \n3 15654 15655 15656 \n3 15657 15658 15659 \n3 15660 15661 15662 \n3 15663 15664 15665 \n3 15666 15667 15668 \n3 15669 15670 15671 \n3 15672 15673 15674 \n3 15675 15676 15677 \n3 15678 15679 15680 \n3 15681 15682 15683 \n3 15684 15685 15686 \n3 15687 15688 15689 \n3 15690 15691 15692 \n3 15693 15694 15695 \n3 15696 15697 15698 \n3 15699 15700 15701 \n3 15702 15703 15704 \n3 15705 15706 15707 \n3 15708 15709 15710 \n3 15711 15712 15713 \n3 15714 15715 15716 \n3 15717 15718 15719 \n3 15720 15721 15722 \n3 15723 15724 15725 \n3 15726 15727 15728 \n3 15729 15730 15731 \n3 15732 15733 15734 \n3 15735 15736 15737 \n3 15738 15739 15740 \n3 15741 15742 15743 \n3 15744 15745 15746 \n3 15747 15748 15749 \n3 15750 6536 15751 \n3 15752 15753 6534 \n3 6535 15754 15755 \n3 15756 6539 15757 \n3 15758 15759 6537 \n3 6538 15760 15761 \n3 15762 6542 15763 \n3 15764 15765 6540 \n3 6541 15766 15767 \n3 15768 6545 15769 \n3 15770 15771 6543 \n3 6544 15772 15773 \n3 15774 6548 15775 \n3 15776 15777 6546 \n3 6547 15778 15779 \n3 15780 6551 15781 \n3 15782 15783 6549 \n3 6550 15784 15785 \n3 15786 6554 15787 \n3 15788 15789 6552 \n3 6553 15790 15791 \n3 15792 6557 15793 \n3 15794 15795 6555 \n3 6556 15796 15797 \n3 15798 6560 15799 \n3 15800 15801 6558 \n3 6559 15802 15803 \n3 15804 6563 15805 \n3 15806 15807 6561 \n3 6562 15808 15809 \n3 15810 6566 15811 \n3 15812 15813 6564 \n3 6565 15814 15815 \n3 15816 6569 15817 \n3 15818 15819 6567 \n3 6568 15820 15821 \n3 15822 6572 15823 \n3 15824 15825 6570 \n3 6571 15826 15827 \n3 15828 6575 15829 \n3 15830 15831 6573 \n3 6574 15832 15833 \n3 15834 6578 15835 \n3 15836 15837 6576 \n3 6577 15838 15839 \n3 15840 6581 15841 \n3 15842 15843 6579 \n3 6580 15844 15845 \n3 15846 6584 15847 \n3 15848 15849 6582 \n3 6583 15850 15851 \n3 15852 6587 15853 \n3 15854 15855 6585 \n3 6586 15856 15857 \n3 15858 6590 15859 \n3 15860 15861 6588 \n3 6589 15862 15863 \n3 15864 6593 15865 \n3 15866 15867 6591 \n3 6592 15868 15869 \n3 15870 6596 15871 \n3 15872 15873 6594 \n3 6595 15874 15875 \n3 15876 6599 15877 \n3 15878 15879 6597 \n3 6598 15880 15881 \n3 15882 6602 15883 \n3 15884 15885 6600 \n3 6601 15886 15887 \n3 15888 6605 15889 \n3 15890 15891 6603 \n3 6604 15892 15893 \n3 15894 6608 15895 \n3 15896 15897 6606 \n3 6607 15898 15899 \n3 15900 6611 15901 \n3 15902 15903 6609 \n3 6610 15904 15905 \n3 15906 6614 15907 \n3 15908 15909 6612 \n3 6613 15910 15911 \n3 15912 6617 15913 \n3 15914 15915 6615 \n3 6616 15916 15917 \n3 15918 6620 15919 \n3 15920 15921 6618 \n3 6619 15922 15923 \n3 15924 6623 15925 \n3 15926 15927 6621 \n3 6622 15928 15929 \n3 15930 6626 15931 \n3 15932 15933 6624 \n3 6625 15934 15935 \n3 15936 6629 15937 \n3 15938 15939 6627 \n3 6628 15940 15941 \n3 15942 6632 15943 \n3 15944 15945 6630 \n3 6631 15946 15947 \n3 15948 6635 15949 \n3 15950 15951 6633 \n3 6634 15952 15953 \n3 15954 6638 15955 \n3 15956 15957 6636 \n3 6637 15958 15959 \n3 15960 6641 15961 \n3 15962 15963 6639 \n3 6640 15964 15965 \n3 15966 6644 15967 \n3 15968 15969 6642 \n3 6643 15970 15971 \n3 15972 6647 15973 \n3 15974 15975 6645 \n3 6646 15976 15977 \n3 15978 6650 15979 \n3 15980 15981 6648 \n3 6649 15982 15983 \n3 15984 6653 15985 \n3 15986 15987 6651 \n3 6652 15988 15989 \n3 15990 6656 15991 \n3 15992 15993 6654 \n3 6655 15994 15995 \n3 15996 6659 15997 \n3 15998 15999 6657 \n3 6658 16000 16001 \n3 16002 6662 16003 \n3 16004 16005 6660 \n3 6661 16006 16007 \n3 16008 6665 16009 \n3 16010 16011 6663 \n3 6664 16012 16013 \n3 16014 6668 16015 \n3 16016 16017 6666 \n3 6667 16018 16019 \n3 16020 6671 16021 \n3 16022 16023 6669 \n3 6670 16024 16025 \n3 16026 6674 16027 \n3 16028 16029 6672 \n3 6673 16030 16031 \n3 16032 6677 16033 \n3 16034 16035 6675 \n3 6676 16036 16037 \n3 16038 6680 16039 \n3 16040 16041 6678 \n3 6679 16042 16043 \n3 16044 6683 16045 \n3 16046 16047 6681 \n3 6682 16048 16049 \n3 16050 6686 16051 \n3 16052 16053 6684 \n3 6685 16054 16055 \n3 16056 6689 16057 \n3 16058 16059 6687 \n3 6688 16060 16061 \n3 16062 6692 16063 \n3 16064 16065 6690 \n3 6691 16066 16067 \n3 16068 6695 16069 \n3 16070 16071 6693 \n3 6694 16072 16073 \n3 16074 6698 16075 \n3 16076 16077 6696 \n3 6697 16078 16079 \n3 16080 6701 16081 \n3 16082 16083 6699 \n3 6700 16084 16085 \n3 16086 6704 16087 \n3 16088 16089 6702 \n3 6703 16090 16091 \n3 16092 6707 16093 \n3 16094 16095 6705 \n3 6706 16096 16097 \n3 16098 6710 16099 \n3 16100 16101 6708 \n3 6709 16102 16103 \n3 16104 6713 16105 \n3 16106 16107 6711 \n3 6712 16108 16109 \n3 16110 6716 16111 \n3 16112 16113 6714 \n3 6715 16114 16115 \n3 16116 6719 16117 \n3 16118 16119 6717 \n3 6718 16120 16121 \n3 16122 6722 16123 \n3 16124 16125 6720 \n3 6721 16126 16127 \n3 16128 6725 16129 \n3 16130 16131 6723 \n3 6724 16132 16133 \n3 16134 6728 16135 \n3 16136 16137 6726 \n3 6727 16138 16139 \n3 16140 6731 16141 \n3 16142 16143 6729 \n3 6730 16144 16145 \n3 16146 6734 16147 \n3 16148 16149 6732 \n3 6733 16150 16151 \n3 16152 6737 16153 \n3 16154 16155 6735 \n3 6736 16156 16157 \n3 16158 6740 16159 \n3 16160 16161 6738 \n3 6739 16162 16163 \n3 16164 6743 16165 \n3 16166 16167 6741 \n3 6742 16168 16169 \n3 16170 6746 16171 \n3 16172 16173 6744 \n3 6745 16174 16175 \n3 16176 6749 16177 \n3 16178 16179 6747 \n3 6748 16180 16181 \n3 16182 6752 16183 \n3 16184 16185 6750 \n3 6751 16186 16187 \n3 16188 6755 16189 \n3 16190 16191 6753 \n3 6754 16192 16193 \n3 16194 6758 16195 \n3 16196 16197 6756 \n3 6757 16198 16199 \n3 16200 6761 16201 \n3 16202 16203 6759 \n3 6760 16204 16205 \n3 16206 6764 16207 \n3 16208 16209 6762 \n3 6763 16210 16211 \n3 16212 6767 16213 \n3 16214 16215 6765 \n3 6766 16216 16217 \n3 16218 6770 16219 \n3 16220 16221 6768 \n3 6769 16222 16223 \n3 16224 6773 16225 \n3 16226 16227 6771 \n3 6772 16228 16229 \n3 16230 6776 16231 \n3 16232 16233 6774 \n3 6775 16234 16235 \n3 16236 6779 16237 \n3 16238 16239 6777 \n3 6778 16240 16241 \n3 16242 6782 16243 \n3 16244 16245 6780 \n3 6781 16246 16247 \n3 16248 6785 16249 \n3 16250 16251 6783 \n3 6784 16252 16253 \n3 16254 6788 16255 \n3 16256 16257 6786 \n3 6787 16258 16259 \n3 16260 6791 16261 \n3 16262 16263 6789 \n3 6790 16264 16265 \n3 16266 6794 16267 \n3 16268 16269 6792 \n3 6793 16270 16271 \n3 16272 6797 16273 \n3 16274 16275 6795 \n3 6796 16276 16277 \n3 16278 6800 16279 \n3 16280 16281 6798 \n3 6799 16282 16283 \n3 16284 6803 16285 \n3 16286 16287 6801 \n3 6802 16288 16289 \n3 16290 6806 16291 \n3 16292 16293 6804 \n3 6805 16294 16295 \n3 16296 6809 16297 \n3 16298 16299 6807 \n3 6808 16300 16301 \n3 16302 6812 16303 \n3 16304 16305 6810 \n3 6811 16306 16307 \n3 16308 6815 16309 \n3 16310 16311 6813 \n3 6814 16312 16313 \n3 16314 6818 16315 \n3 16316 16317 6816 \n3 6817 16318 16319 \n3 16320 6821 16321 \n3 16322 16323 6819 \n3 6820 16324 16325 \n3 16326 6824 16327 \n3 16328 16329 6822 \n3 6823 16330 16331 \n3 16332 6827 16333 \n3 16334 16335 6825 \n3 6826 16336 16337 \n3 16338 6830 16339 \n3 16340 16341 6828 \n3 6829 16342 16343 \n3 16344 6833 16345 \n3 16346 16347 6831 \n3 6832 16348 16349 \n3 16350 6836 16351 \n3 16352 16353 6834 \n3 6835 16354 16355 \n3 16356 6839 16357 \n3 16358 16359 6837 \n3 6838 16360 16361 \n3 16362 6842 16363 \n3 16364 16365 6840 \n3 6841 16366 16367 \n3 16368 6845 16369 \n3 16370 16371 6843 \n3 6844 16372 16373 \n3 16374 6848 16375 \n3 16376 16377 6846 \n3 6847 16378 16379 \n3 16380 6851 16381 \n3 16382 16383 6849 \n3 6850 16384 16385 \n3 16386 6854 16387 \n3 16388 16389 6852 \n3 6853 16390 16391 \n3 16392 6857 16393 \n3 16394 16395 6855 \n3 6856 16396 16397 \n3 16398 6860 16399 \n3 16400 16401 6858 \n3 6859 16402 16403 \n3 16404 6863 16405 \n3 16406 16407 6861 \n3 6862 16408 16409 \n3 16410 6866 16411 \n3 16412 16413 6864 \n3 6865 16414 16415 \n3 16416 6869 16417 \n3 16418 16419 6867 \n3 6868 16420 16421 \n3 16422 6872 16423 \n3 16424 16425 6870 \n3 6871 16426 16427 \n3 16428 6875 16429 \n3 16430 16431 6873 \n3 6874 16432 16433 \n3 16434 6878 16435 \n3 16436 16437 6876 \n3 6877 16438 16439 \n3 16440 6881 16441 \n3 16442 16443 6879 \n3 6880 16444 16445 \n3 16446 6884 16447 \n3 16448 16449 6882 \n3 6883 16450 16451 \n3 16452 6887 16453 \n3 16454 16455 6885 \n3 6886 16456 16457 \n3 16458 6890 16459 \n3 16460 16461 6888 \n3 6889 16462 16463 \n3 16464 6893 16465 \n3 16466 16467 6891 \n3 6892 16468 16469 \n3 16470 6896 16471 \n3 16472 16473 6894 \n3 6895 16474 16475 \n3 16476 6899 16477 \n3 16478 16479 6897 \n3 6898 16480 16481 \n3 16482 6902 16483 \n3 16484 16485 6900 \n3 6901 16486 16487 \n3 16488 6905 16489 \n3 16490 16491 6903 \n3 6904 16492 16493 \n3 16494 6908 16495 \n3 16496 16497 6906 \n3 6907 16498 16499 \n3 16500 6911 16501 \n3 16502 16503 6909 \n3 6910 16504 16505 \n3 16506 6914 16507 \n3 16508 16509 6912 \n3 6913 16510 16511 \n3 16512 6917 16513 \n3 16514 16515 6915 \n3 6916 16516 16517 \n3 16518 6920 16519 \n3 16520 16521 6918 \n3 6919 16522 16523 \n3 16524 6923 16525 \n3 16526 16527 6921 \n3 6922 16528 16529 \n3 16530 6926 16531 \n3 16532 16533 6924 \n3 6925 16534 16535 \n3 16536 6929 16537 \n3 16538 16539 6927 \n3 6928 16540 16541 \n3 16542 6932 16543 \n3 16544 16545 6930 \n3 6931 16546 16547 \n3 16548 6935 16549 \n3 16550 16551 6933 \n3 6934 16552 16553 \n3 16554 6938 16555 \n3 16556 16557 6936 \n3 6937 16558 16559 \n3 16560 6941 16561 \n3 16562 16563 6939 \n3 6940 16564 16565 \n3 16566 6944 16567 \n3 16568 16569 6942 \n3 6943 16570 16571 \n3 16572 6947 16573 \n3 16574 16575 6945 \n3 6946 16576 16577 \n3 16578 6950 16579 \n3 16580 16581 6948 \n3 6949 16582 16583 \n3 16584 6953 16585 \n3 16586 16587 6951 \n3 6952 16588 16589 \n3 16590 6956 16591 \n3 16592 16593 6954 \n3 6955 16594 16595 \n3 16596 6959 16597 \n3 16598 16599 6957 \n3 6958 16600 16601 \n3 16602 6962 16603 \n3 16604 16605 6960 \n3 6961 16606 16607 \n3 16608 6965 16609 \n3 16610 16611 6963 \n3 6964 16612 16613 \n3 16614 6968 16615 \n3 16616 16617 6966 \n3 6967 16618 16619 \n3 16620 6971 16621 \n3 16622 16623 6969 \n3 6970 16624 16625 \n3 16626 6974 16627 \n3 16628 16629 6972 \n3 6973 16630 16631 \n3 16632 6977 16633 \n3 16634 16635 6975 \n3 6976 16636 16637 \n3 16638 6980 16639 \n3 16640 16641 6978 \n3 6979 16642 16643 \n3 16644 6983 16645 \n3 16646 16647 6981 \n3 6982 16648 16649 \n3 16650 6986 16651 \n3 16652 16653 6984 \n3 6985 16654 16655 \n3 16656 6989 16657 \n3 16658 16659 6987 \n3 6988 16660 16661 \n3 16662 6992 16663 \n3 16664 16665 6990 \n3 6991 16666 16667 \n3 16668 6995 16669 \n3 16670 16671 6993 \n3 6994 16672 16673 \n3 16674 6998 16675 \n3 16676 16677 6996 \n3 6997 16678 16679 \n3 16680 7001 16681 \n3 16682 16683 6999 \n3 7000 16684 16685 \n3 16686 7004 16687 \n3 16688 16689 7002 \n3 7003 16690 16691 \n3 16692 7007 16693 \n3 16694 16695 7005 \n3 7006 16696 16697 \n3 16698 7010 16699 \n3 16700 16701 7008 \n3 7009 16702 16703 \n3 16704 7013 16705 \n3 16706 16707 7011 \n3 7012 16708 16709 \n3 16710 7016 16711 \n3 16712 16713 7014 \n3 7015 16714 16715 \n3 16716 7019 16717 \n3 16718 16719 7017 \n3 7018 16720 16721 \n3 16722 7022 16723 \n3 16724 16725 7020 \n3 7021 16726 16727 \n3 16728 7025 16729 \n3 16730 16731 7023 \n3 7024 16732 16733 \n3 16734 7028 16735 \n3 16736 16737 7026 \n3 7027 16738 16739 \n3 16740 7031 16741 \n3 16742 16743 7029 \n3 7030 16744 16745 \n3 16746 7034 16747 \n3 16748 16749 7032 \n3 7033 16750 16751 \n3 16752 7037 16753 \n3 16754 16755 7035 \n3 7036 16756 16757 \n3 16758 7040 16759 \n3 16760 16761 7038 \n3 7039 16762 16763 \n3 16764 7043 16765 \n3 16766 16767 7041 \n3 7042 16768 16769 \n3 16770 7046 16771 \n3 16772 16773 7044 \n3 7045 16774 16775 \n3 16776 7049 16777 \n3 16778 16779 7047 \n3 7048 16780 16781 \n3 16782 7052 16783 \n3 16784 16785 7050 \n3 7051 16786 16787 \n3 16788 7055 16789 \n3 16790 16791 7053 \n3 7054 16792 16793 \n3 16794 7058 16795 \n3 16796 16797 7056 \n3 7057 16798 16799 \n3 16800 7061 16801 \n3 16802 16803 7059 \n3 7060 16804 16805 \n3 16806 7064 16807 \n3 16808 16809 7062 \n3 7063 16810 16811 \n3 16812 7067 16813 \n3 16814 16815 7065 \n3 7066 16816 16817 \n3 16818 7070 16819 \n3 16820 16821 7068 \n3 7069 16822 16823 \n3 16824 7073 16825 \n3 16826 16827 7071 \n3 7072 16828 16829 \n3 16830 7076 16831 \n3 16832 16833 7074 \n3 7075 16834 16835 \n3 16836 7079 16837 \n3 16838 16839 7077 \n3 7078 16840 16841 \n3 16842 7082 16843 \n3 16844 16845 7080 \n3 7081 16846 16847 \n3 16848 7085 16849 \n3 16850 16851 7083 \n3 7084 16852 16853 \n3 16854 7088 16855 \n3 16856 16857 7086 \n3 7087 16858 16859 \n3 16860 7091 16861 \n3 16862 16863 7089 \n3 7090 16864 16865 \n3 16866 7094 16867 \n3 16868 16869 7092 \n3 7093 16870 16871 \n3 16872 7097 16873 \n3 16874 16875 7095 \n3 7096 16876 16877 \n3 16878 7100 16879 \n3 16880 16881 7098 \n3 7099 16882 16883 \n3 16884 7103 16885 \n3 16886 16887 7101 \n3 7102 16888 16889 \n3 16890 7106 16891 \n3 16892 16893 7104 \n3 7105 16894 16895 \n3 16896 7109 16897 \n3 16898 16899 7107 \n3 7108 16900 16901 \n3 16902 7112 16903 \n3 16904 16905 7110 \n3 7111 16906 16907 \n3 16908 7115 16909 \n3 16910 16911 7113 \n3 7114 16912 16913 \n3 16914 7118 16915 \n3 16916 16917 7116 \n3 7117 16918 16919 \n3 16920 7121 16921 \n3 16922 16923 7119 \n3 7120 16924 16925 \n3 16926 7124 16927 \n3 16928 16929 7122 \n3 7123 16930 16931 \n3 16932 7127 16933 \n3 16934 16935 7125 \n3 7126 16936 16937 \n3 16938 7130 16939 \n3 16940 16941 7128 \n3 7129 16942 16943 \n3 16944 7133 16945 \n3 16946 16947 7131 \n3 7132 16948 16949 \n3 16950 7136 16951 \n3 16952 16953 7134 \n3 7135 16954 16955 \n3 16956 7139 16957 \n3 16958 16959 7137 \n3 7138 16960 16961 \n3 16962 7142 16963 \n3 16964 16965 7140 \n3 7141 16966 16967 \n3 16968 7145 16969 \n3 16970 16971 7143 \n3 7144 16972 16973 \n3 16974 7148 16975 \n3 16976 16977 7146 \n3 7147 16978 16979 \n3 16980 7151 16981 \n3 16982 16983 7149 \n3 7150 16984 16985 \n3 16986 7154 16987 \n3 16988 16989 7152 \n3 7153 16990 16991 \n3 16992 7157 16993 \n3 16994 16995 7155 \n3 7156 16996 16997 \n3 16998 7160 16999 \n3 17000 17001 7158 \n3 7159 17002 17003 \n3 17004 7163 17005 \n3 17006 17007 7161 \n3 7162 17008 17009 \n3 17010 7166 17011 \n3 17012 17013 7164 \n3 7165 17014 17015 \n3 17016 7169 17017 \n3 17018 17019 7167 \n3 7168 17020 17021 \n3 17022 7172 17023 \n3 17024 17025 7170 \n3 7171 17026 17027 \n3 17028 7175 17029 \n3 17030 17031 7173 \n3 7174 17032 17033 \n3 17034 7178 17035 \n3 17036 17037 7176 \n3 7177 17038 17039 \n3 17040 7181 17041 \n3 17042 17043 7179 \n3 7180 17044 17045 \n3 17046 7184 17047 \n3 17048 17049 7182 \n3 7183 17050 17051 \n3 17052 7187 17053 \n3 17054 17055 7185 \n3 7186 17056 17057 \n3 17058 7190 17059 \n3 17060 17061 7188 \n3 7189 17062 17063 \n3 17064 7193 17065 \n3 17066 17067 7191 \n3 7192 17068 17069 \n3 17070 7196 17071 \n3 17072 17073 7194 \n3 7195 17074 17075 \n3 17076 7199 17077 \n3 17078 17079 7197 \n3 7198 17080 17081 \n3 17082 7202 17083 \n3 17084 17085 7200 \n3 7201 17086 17087 \n3 17088 7205 17089 \n3 17090 17091 7203 \n3 7204 17092 17093 \n3 17094 7208 17095 \n3 17096 17097 7206 \n3 7207 17098 17099 \n3 17100 7211 17101 \n3 17102 17103 7209 \n3 7210 17104 17105 \n3 17106 7214 17107 \n3 17108 17109 7212 \n3 7213 17110 17111 \n3 17112 7217 17113 \n3 17114 17115 7215 \n3 7216 17116 17117 \n3 17118 7220 17119 \n3 17120 17121 7218 \n3 7219 17122 17123 \n3 17124 7223 17125 \n3 17126 17127 7221 \n3 7222 17128 17129 \n3 17130 7226 17131 \n3 17132 17133 7224 \n3 7225 17134 17135 \n3 17136 7229 17137 \n3 17138 17139 7227 \n3 7228 17140 17141 \n3 17142 7232 17143 \n3 17144 17145 7230 \n3 7231 17146 17147 \n3 17148 7235 17149 \n3 17150 17151 7233 \n3 7234 17152 17153 \n3 17154 7238 17155 \n3 17156 17157 7236 \n3 7237 17158 17159 \n3 17160 7241 17161 \n3 17162 17163 7239 \n3 7240 17164 17165 \n3 17166 7244 17167 \n3 17168 17169 7242 \n3 7243 17170 17171 \n3 17172 7247 17173 \n3 17174 17175 7245 \n3 7246 17176 17177 \n3 17178 7250 17179 \n3 17180 17181 7248 \n3 7249 17182 17183 \n3 17184 7253 17185 \n3 17186 17187 7251 \n3 7252 17188 17189 \n3 17190 7256 17191 \n3 17192 17193 7254 \n3 7255 17194 17195 \n3 17196 7259 17197 \n3 17198 17199 7257 \n3 7258 17200 17201 \n3 17202 7262 17203 \n3 17204 17205 7260 \n3 7261 17206 17207 \n3 17208 7265 17209 \n3 17210 17211 7263 \n3 7264 17212 17213 \n3 17214 7268 17215 \n3 17216 17217 7266 \n3 7267 17218 17219 \n3 17220 7271 17221 \n3 17222 17223 7269 \n3 7270 17224 17225 \n3 17226 7274 17227 \n3 17228 17229 7272 \n3 7273 17230 17231 \n3 17232 7277 17233 \n3 17234 17235 7275 \n3 7276 17236 17237 \n3 17238 7280 17239 \n3 17240 17241 7278 \n3 7279 17242 17243 \n3 17244 7283 17245 \n3 17246 17247 7281 \n3 7282 17248 17249 \n3 17250 7286 17251 \n3 17252 17253 7284 \n3 7285 17254 17255 \n3 17256 7289 17257 \n3 17258 17259 7287 \n3 7288 17260 17261 \n3 17262 7292 17263 \n3 17264 17265 7290 \n3 7291 17266 17267 \n3 17268 7295 17269 \n3 17270 17271 7293 \n3 7294 17272 17273 \n3 17274 7298 17275 \n3 17276 17277 7296 \n3 7297 17278 17279 \n3 17280 7301 17281 \n3 17282 17283 7299 \n3 7300 17284 17285 \n3 17286 7304 17287 \n3 17288 17289 7302 \n3 7303 17290 17291 \n3 17292 7307 17293 \n3 17294 17295 7305 \n3 7306 17296 17297 \n3 17298 7310 17299 \n3 17300 17301 7308 \n3 7309 17302 17303 \n3 17304 7313 17305 \n3 17306 17307 7311 \n3 7312 17308 17309 \n3 17310 7316 17311 \n3 17312 17313 7314 \n3 7315 17314 17315 \n3 17316 7319 17317 \n3 17318 17319 7317 \n3 7318 17320 17321 \n3 17322 7322 17323 \n3 17324 17325 7320 \n3 7321 17326 17327 \n3 17328 7325 17329 \n3 17330 17331 7323 \n3 7324 17332 17333 \n3 17334 7328 17335 \n3 17336 17337 7326 \n3 7327 17338 17339 \n3 17340 7331 17341 \n3 17342 17343 7329 \n3 7330 17344 17345 \n3 17346 7334 17347 \n3 17348 17349 7332 \n3 7333 17350 17351 \n3 17352 7337 17353 \n3 17354 17355 7335 \n3 7336 17356 17357 \n3 17358 7340 17359 \n3 17360 17361 7338 \n3 7339 17362 17363 \n3 17364 7343 17365 \n3 17366 17367 7341 \n3 7342 17368 17369 \n3 17370 7346 17371 \n3 17372 17373 7344 \n3 7345 17374 17375 \n3 17376 7349 17377 \n3 17378 17379 7347 \n3 7348 17380 17381 \n3 17382 7352 17383 \n3 17384 17385 7350 \n3 7351 17386 17387 \n3 17388 7355 17389 \n3 17390 17391 7353 \n3 7354 17392 17393 \n3 17394 7358 17395 \n3 17396 17397 7356 \n3 7357 17398 17399 \n3 17400 7361 17401 \n3 17402 17403 7359 \n3 7360 17404 17405 \n3 17406 7364 17407 \n3 17408 17409 7362 \n3 7363 17410 17411 \n3 17412 7367 17413 \n3 17414 17415 7365 \n3 7366 17416 17417 \n3 17418 7370 17419 \n3 17420 17421 7368 \n3 7369 17422 17423 \n3 17424 7373 17425 \n3 17426 17427 7371 \n3 7372 17428 17429 \n3 17430 7376 17431 \n3 17432 17433 7374 \n3 7375 17434 17435 \n3 17436 7379 17437 \n3 17438 17439 7377 \n3 7378 17440 17441 \n3 17442 7382 17443 \n3 17444 17445 7380 \n3 7381 17446 17447 \n3 17448 7385 17449 \n3 17450 17451 7383 \n3 7384 17452 17453 \n3 17454 7388 17455 \n3 17456 17457 7386 \n3 7387 17458 17459 \n3 17460 7391 17461 \n3 17462 17463 7389 \n3 7390 17464 17465 \n3 17466 7394 17467 \n3 17468 17469 7392 \n3 7393 17470 17471 \n3 17472 7397 17473 \n3 17474 17475 7395 \n3 7396 17476 17477 \n3 17478 7400 17479 \n3 17480 17481 7398 \n3 7399 17482 17483 \n3 17484 7403 17485 \n3 17486 17487 7401 \n3 7402 17488 17489 \n3 17490 7406 17491 \n3 17492 17493 7404 \n3 7405 17494 17495 \n3 17496 7409 17497 \n3 17498 17499 7407 \n3 7408 17500 17501 \n3 17502 7412 17503 \n3 17504 17505 7410 \n3 7411 17506 17507 \n3 17508 7415 17509 \n3 17510 17511 7413 \n3 7414 17512 17513 \n3 17514 7418 17515 \n3 17516 17517 7416 \n3 7417 17518 17519 \n3 17520 7421 17521 \n3 17522 17523 7419 \n3 7420 17524 17525 \n3 17526 7424 17527 \n3 17528 17529 7422 \n3 7423 17530 17531 \n3 17532 7427 17533 \n3 17534 17535 7425 \n3 7426 17536 17537 \n3 17538 7430 17539 \n3 17540 17541 7428 \n3 7429 17542 17543 \n3 17544 7433 17545 \n3 17546 17547 7431 \n3 7432 17548 17549 \n3 17550 7436 17551 \n3 17552 17553 7434 \n3 7435 17554 17555 \n3 17556 7439 17557 \n3 17558 17559 7437 \n3 7438 17560 17561 \n3 17562 7442 17563 \n3 17564 17565 7440 \n3 7441 17566 17567 \n3 17568 7445 17569 \n3 17570 17571 7443 \n3 7444 17572 17573 \n3 17574 7448 17575 \n3 17576 17577 7446 \n3 7447 17578 17579 \n3 17580 7451 17581 \n3 17582 17583 7449 \n3 7450 17584 17585 \n3 17586 7454 17587 \n3 17588 17589 7452 \n3 7453 17590 17591 \n3 17592 7457 17593 \n3 17594 17595 7455 \n3 7456 17596 17597 \n3 17598 7460 17599 \n3 17600 17601 7458 \n3 7459 17602 17603 \n3 17604 7463 17605 \n3 17606 17607 7461 \n3 7462 17608 17609 \n3 17610 7466 17611 \n3 17612 17613 7464 \n3 7465 17614 17615 \n3 17616 7469 17617 \n3 17618 17619 7467 \n3 7468 17620 17621 \n3 17622 7472 17623 \n3 17624 17625 7470 \n3 7471 17626 17627 \n3 17628 7475 17629 \n3 17630 17631 7473 \n3 7474 17632 17633 \n3 17634 7478 17635 \n3 17636 17637 7476 \n3 7477 17638 17639 \n3 17640 7481 17641 \n3 17642 17643 7479 \n3 7480 17644 17645 \n3 17646 7484 17647 \n3 17648 17649 7482 \n3 7483 17650 17651 \n3 17652 7487 17653 \n3 17654 17655 7485 \n3 7486 17656 17657 \n3 17658 7490 17659 \n3 17660 17661 7488 \n3 7489 17662 17663 \n3 17664 7493 17665 \n3 17666 17667 7491 \n3 7492 17668 17669 \n3 17670 7496 17671 \n3 17672 17673 7494 \n3 7495 17674 17675 \n3 17676 7499 17677 \n3 17678 17679 7497 \n3 7498 17680 17681 \n3 17682 7502 17683 \n3 17684 17685 7500 \n3 7501 17686 17687 \n3 17688 7505 17689 \n3 17690 17691 7503 \n3 7504 17692 17693 \n3 17694 7508 17695 \n3 17696 17697 7506 \n3 7507 17698 17699 \n3 17700 7511 17701 \n3 17702 17703 7509 \n3 7510 17704 17705 \n3 17706 7514 17707 \n3 17708 17709 7512 \n3 7513 17710 17711 \n3 17712 7517 17713 \n3 17714 17715 7515 \n3 7516 17716 17717 \n3 17718 7520 17719 \n3 17720 17721 7518 \n3 7519 17722 17723 \n3 17724 7523 17725 \n3 17726 17727 7521 \n3 7522 17728 17729 \n3 17730 7526 17731 \n3 17732 17733 7524 \n3 7525 17734 17735 \n3 17736 7529 17737 \n3 17738 17739 7527 \n3 7528 17740 17741 \n3 17742 7532 17743 \n3 17744 17745 7530 \n3 7531 17746 17747 \n3 17748 7535 17749 \n3 17750 17751 7533 \n3 7534 17752 17753 \n3 17754 7538 17755 \n3 17756 17757 7536 \n3 7537 17758 17759 \n3 17760 7541 17761 \n3 17762 17763 7539 \n3 7540 17764 17765 \n3 17766 7544 17767 \n3 17768 17769 7542 \n3 7543 17770 17771 \n3 17772 7547 17773 \n3 17774 17775 7545 \n3 7546 17776 17777 \n3 17778 7550 17779 \n3 17780 17781 7548 \n3 7549 17782 17783 \n3 17784 7553 17785 \n3 17786 17787 7551 \n3 7552 17788 17789 \n3 17790 7556 17791 \n3 17792 17793 7554 \n3 7555 17794 17795 \n3 17796 7559 17797 \n3 17798 17799 7557 \n3 7558 17800 17801 \n3 17802 7562 17803 \n3 17804 17805 7560 \n3 7561 17806 17807 \n3 17808 7565 17809 \n3 17810 17811 7563 \n3 7564 17812 17813 \n3 17814 7568 17815 \n3 17816 17817 7566 \n3 7567 17818 17819 \n3 17820 7571 17821 \n3 17822 17823 7569 \n3 7570 17824 17825 \n3 17826 7574 17827 \n3 17828 17829 7572 \n3 7573 17830 17831 \n3 17832 7577 17833 \n3 17834 17835 7575 \n3 7576 17836 17837 \n3 17838 7580 17839 \n3 17840 17841 7578 \n3 7579 17842 17843 \n3 17844 7583 17845 \n3 17846 17847 7581 \n3 7582 17848 17849 \n3 17850 7586 17851 \n3 17852 17853 7584 \n3 7585 17854 17855 \n3 17856 7589 17857 \n3 17858 17859 7587 \n3 7588 17860 17861 \n3 17862 7592 17863 \n3 17864 17865 7590 \n3 7591 17866 17867 \n3 17868 7595 17869 \n3 17870 17871 7593 \n3 7594 17872 17873 \n3 17874 7598 17875 \n3 17876 17877 7596 \n3 7597 17878 17879 \n3 17880 7601 17881 \n3 17882 17883 7599 \n3 7600 17884 17885 \n3 17886 7604 17887 \n3 17888 17889 7602 \n3 7603 17890 17891 \n3 17892 7607 17893 \n3 17894 17895 7605 \n3 7606 17896 17897 \n3 17898 7610 17899 \n3 17900 17901 7608 \n3 7609 17902 17903 \n3 17904 7613 17905 \n3 17906 17907 7611 \n3 7612 17908 17909 \n3 17910 7616 17911 \n3 17912 17913 7614 \n3 7615 17914 17915 \n3 17916 7619 17917 \n3 17918 17919 7617 \n3 7618 17920 17921 \n3 17922 7622 17923 \n3 17924 17925 7620 \n3 7621 17926 17927 \n3 17928 7625 17929 \n3 17930 17931 7623 \n3 7624 17932 17933 \n3 17934 7628 17935 \n3 17936 17937 7626 \n3 7627 17938 17939 \n3 17940 7631 17941 \n3 17942 17943 7629 \n3 7630 17944 17945 \n3 17946 7634 17947 \n3 17948 17949 7632 \n3 7633 17950 17951 \n3 17952 7637 17953 \n3 17954 17955 7635 \n3 7636 17956 17957 \n3 17958 7640 17959 \n3 17960 17961 7638 \n3 7639 17962 17963 \n3 17964 7643 17965 \n3 17966 17967 7641 \n3 7642 17968 17969 \n3 17970 7646 17971 \n3 17972 17973 7644 \n3 7645 17974 17975 \n3 17976 7649 17977 \n3 17978 17979 7647 \n3 7648 17980 17981 \n3 17982 7652 17983 \n3 17984 17985 7650 \n3 7651 17986 17987 \n3 17988 7655 17989 \n3 17990 17991 7653 \n3 7654 17992 17993 \n3 17994 7658 17995 \n3 17996 17997 7656 \n3 7657 17998 17999 \n3 18000 7661 18001 \n3 18002 18003 7659 \n3 7660 18004 18005 \n3 18006 7664 18007 \n3 18008 18009 7662 \n3 7663 18010 18011 \n3 18012 7667 18013 \n3 18014 18015 7665 \n3 7666 18016 18017 \n3 18018 7670 18019 \n3 18020 18021 7668 \n3 7669 18022 18023 \n3 18024 7673 18025 \n3 18026 18027 7671 \n3 7672 18028 18029 \n3 18030 7676 18031 \n3 18032 18033 7674 \n3 7675 18034 18035 \n3 18036 7679 18037 \n3 18038 18039 7677 \n3 7678 18040 18041 \n3 18042 7682 18043 \n3 18044 18045 7680 \n3 7681 18046 18047 \n3 18048 7685 18049 \n3 18050 18051 7683 \n3 7684 18052 18053 \n3 18054 7688 18055 \n3 18056 18057 7686 \n3 7687 18058 18059 \n3 18060 7691 18061 \n3 18062 18063 7689 \n3 7690 18064 18065 \n3 18066 7694 18067 \n3 18068 18069 7692 \n3 7693 18070 18071 \n3 18072 7697 18073 \n3 18074 18075 7695 \n3 7696 18076 18077 \n3 18078 7700 18079 \n3 18080 18081 7698 \n3 7699 18082 18083 \n3 18084 7703 18085 \n3 18086 18087 7701 \n3 7702 18088 18089 \n3 18090 7706 18091 \n3 18092 18093 7704 \n3 7705 18094 18095 \n3 18096 7709 18097 \n3 18098 18099 7707 \n3 7708 18100 18101 \n3 18102 7712 18103 \n3 18104 18105 7710 \n3 7711 18106 18107 \n3 18108 7715 18109 \n3 18110 18111 7713 \n3 7714 18112 18113 \n3 18114 7718 18115 \n3 18116 18117 7716 \n3 7717 18118 18119 \n3 18120 7721 18121 \n3 18122 18123 7719 \n3 7720 18124 18125 \n3 18126 7724 18127 \n3 18128 18129 7722 \n3 7723 18130 18131 \n3 18132 7727 18133 \n3 18134 18135 7725 \n3 7726 18136 18137 \n3 18138 7730 18139 \n3 18140 18141 7728 \n3 7729 18142 18143 \n3 18144 7733 18145 \n3 18146 18147 7731 \n3 7732 18148 18149 \n3 18150 7736 18151 \n3 18152 18153 7734 \n3 7735 18154 18155 \n3 18156 7739 18157 \n3 18158 18159 7737 \n3 7738 18160 18161 \n3 18162 7742 18163 \n3 18164 18165 7740 \n3 7741 18166 18167 \n3 18168 7745 18169 \n3 18170 18171 7743 \n3 7744 18172 18173 \n3 18174 7748 18175 \n3 18176 18177 7746 \n3 7747 18178 18179 \n3 18180 7751 18181 \n3 18182 18183 7749 \n3 7750 18184 18185 \n3 18186 7754 18187 \n3 18188 18189 7752 \n3 7753 18190 18191 \n3 18192 7757 18193 \n3 18194 18195 7755 \n3 7756 18196 18197 \n3 18198 7760 18199 \n3 18200 18201 7758 \n3 7759 18202 18203 \n3 18204 7763 18205 \n3 18206 18207 7761 \n3 7762 18208 18209 \n3 18210 7766 18211 \n3 18212 18213 7764 \n3 7765 18214 18215 \n3 18216 7769 18217 \n3 18218 18219 7767 \n3 7768 18220 18221 \n3 18222 7772 18223 \n3 18224 18225 7770 \n3 7771 18226 18227 \n3 18228 7775 18229 \n3 18230 18231 7773 \n3 7774 18232 18233 \n3 18234 7778 18235 \n3 18236 18237 7776 \n3 7777 18238 18239 \n3 18240 7781 18241 \n3 18242 18243 7779 \n3 7780 18244 18245 \n3 18246 7784 18247 \n3 18248 18249 7782 \n3 7783 18250 18251 \n3 18252 7787 18253 \n3 18254 18255 7785 \n3 7786 18256 18257 \n3 18258 7790 18259 \n3 18260 18261 7788 \n3 7789 18262 18263 \n3 18264 7793 18265 \n3 18266 18267 7791 \n3 7792 18268 18269 \n3 18270 7796 18271 \n3 18272 18273 7794 \n3 7795 18274 18275 \n3 18276 7799 18277 \n3 18278 18279 7797 \n3 7798 18280 18281 \n3 18282 7802 18283 \n3 18284 18285 7800 \n3 7801 18286 18287 \n3 18288 7805 18289 \n3 18290 18291 7803 \n3 7804 18292 18293 \n3 18294 7808 18295 \n3 18296 18297 7806 \n3 7807 18298 18299 \n3 18300 7811 18301 \n3 18302 18303 7809 \n3 7810 18304 18305 \n3 18306 7814 18307 \n3 18308 18309 7812 \n3 7813 18310 18311 \n3 18312 7817 18313 \n3 18314 18315 7815 \n3 7816 18316 18317 \n3 18318 7820 18319 \n3 18320 18321 7818 \n3 7819 18322 18323 \n3 18324 7823 18325 \n3 18326 18327 7821 \n3 7822 18328 18329 \n3 18330 7826 18331 \n3 18332 18333 7824 \n3 7825 18334 18335 \n3 18336 7829 18337 \n3 18338 18339 7827 \n3 7828 18340 18341 \n3 18342 7832 18343 \n3 18344 18345 7830 \n3 7831 18346 18347 \n3 18348 7835 18349 \n3 18350 18351 7833 \n3 7834 18352 18353 \n3 18354 7838 18355 \n3 18356 18357 7836 \n3 7837 18358 18359 \n3 18360 7841 18361 \n3 18362 18363 7839 \n3 7840 18364 18365 \n3 18366 7844 18367 \n3 18368 18369 7842 \n3 7843 18370 18371 \n3 18372 7847 18373 \n3 18374 18375 7845 \n3 7846 18376 18377 \n3 18378 7850 18379 \n3 18380 18381 7848 \n3 7849 18382 18383 \n3 18384 7853 18385 \n3 18386 18387 7851 \n3 7852 18388 18389 \n3 18390 7856 18391 \n3 18392 18393 7854 \n3 7855 18394 18395 \n3 18396 7859 18397 \n3 18398 18399 7857 \n3 7858 18400 18401 \n3 18402 7862 18403 \n3 18404 18405 7860 \n3 7861 18406 18407 \n3 18408 7865 18409 \n3 18410 18411 7863 \n3 7864 18412 18413 \n3 18414 7868 18415 \n3 18416 18417 7866 \n3 7867 18418 18419 \n3 18420 7871 18421 \n3 18422 18423 7869 \n3 7870 18424 18425 \n3 18426 7874 18427 \n3 18428 18429 7872 \n3 7873 18430 18431 \n3 18432 7877 18433 \n3 18434 18435 7875 \n3 7876 18436 18437 \n3 18438 7880 18439 \n3 18440 18441 7878 \n3 7879 18442 18443 \n3 18444 7883 18445 \n3 18446 18447 7881 \n3 7882 18448 18449 \n3 18450 7886 18451 \n3 18452 18453 7884 \n3 7885 18454 18455 \n3 18456 7889 18457 \n3 18458 18459 7887 \n3 7888 18460 18461 \n3 18462 7892 18463 \n3 18464 18465 7890 \n3 7891 18466 18467 \n3 18468 7895 18469 \n3 18470 18471 7893 \n3 7894 18472 18473 \n3 18474 7898 18475 \n3 18476 18477 7896 \n3 7897 18478 18479 \n3 18480 7901 18481 \n3 18482 18483 7899 \n3 7900 18484 18485 \n3 18486 7904 18487 \n3 18488 18489 7902 \n3 7903 18490 18491 \n3 18492 7907 18493 \n3 18494 18495 7905 \n3 7906 18496 18497 \n3 18498 7910 18499 \n3 18500 18501 7908 \n3 7909 18502 18503 \n3 18504 7913 18505 \n3 18506 18507 7911 \n3 7912 18508 18509 \n3 18510 7916 18511 \n3 18512 18513 7914 \n3 7915 18514 18515 \n3 18516 7919 18517 \n3 18518 18519 7917 \n3 7918 18520 18521 \n3 18522 7922 18523 \n3 18524 18525 7920 \n3 7921 18526 18527 \n3 18528 7925 18529 \n3 18530 18531 7923 \n3 7924 18532 18533 \n3 18534 7928 18535 \n3 18536 18537 7926 \n3 7927 18538 18539 \n3 18540 7931 18541 \n3 18542 18543 7929 \n3 7930 18544 18545 \n3 18546 7934 18547 \n3 18548 18549 7932 \n3 7933 18550 18551 \n3 18552 7937 18553 \n3 18554 18555 7935 \n3 7936 18556 18557 \n3 18558 7940 18559 \n3 18560 18561 7938 \n3 7939 18562 18563 \n3 18564 7943 18565 \n3 18566 18567 7941 \n3 7942 18568 18569 \n3 18570 7946 18571 \n3 18572 18573 7944 \n3 7945 18574 18575 \n3 18576 7949 18577 \n3 18578 18579 7947 \n3 7948 18580 18581 \n3 18582 7952 18583 \n3 18584 18585 7950 \n3 7951 18586 18587 \n3 18588 7955 18589 \n3 18590 18591 7953 \n3 7954 18592 18593 \n3 18594 7958 18595 \n3 18596 18597 7956 \n3 7957 18598 18599 \n3 18600 7961 18601 \n3 18602 18603 7959 \n3 7960 18604 18605 \n3 18606 7964 18607 \n3 18608 18609 7962 \n3 7963 18610 18611 \n3 18612 7967 18613 \n3 18614 18615 7965 \n3 7966 18616 18617 \n3 18618 7970 18619 \n3 18620 18621 7968 \n3 7969 18622 18623 \n3 18624 7973 18625 \n3 18626 18627 7971 \n3 7972 18628 18629 \n3 18630 7976 18631 \n3 18632 18633 7974 \n3 7975 18634 18635 \n3 18636 7979 18637 \n3 18638 18639 7977 \n3 7978 18640 18641 \n3 18642 7982 18643 \n3 18644 18645 7980 \n3 7981 18646 18647 \n3 18648 7985 18649 \n3 18650 18651 7983 \n3 7984 18652 18653 \n3 18654 7988 18655 \n3 18656 18657 7986 \n3 7987 18658 18659 \n3 18660 7991 18661 \n3 18662 18663 7989 \n3 7990 18664 18665 \n3 18666 7994 18667 \n3 18668 18669 7992 \n3 7993 18670 18671 \n3 18672 7997 18673 \n3 18674 18675 7995 \n3 7996 18676 18677 \n3 18678 8000 18679 \n3 18680 18681 7998 \n3 7999 18682 18683 \n3 18684 8003 18685 \n3 18686 18687 8001 \n3 8002 18688 18689 \n3 18690 8006 18691 \n3 18692 18693 8004 \n3 8005 18694 18695 \n3 18696 8009 18697 \n3 18698 18699 8007 \n3 8008 18700 18701 \n3 18702 8012 18703 \n3 18704 18705 8010 \n3 8011 18706 18707 \n3 18708 8015 18709 \n3 18710 18711 8013 \n3 8014 18712 18713 \n3 18714 8018 18715 \n3 18716 18717 8016 \n3 8017 18718 18719 \n3 18720 8021 18721 \n3 18722 18723 8019 \n3 8020 18724 18725 \n3 18726 8024 18727 \n3 18728 18729 8022 \n3 8023 18730 18731 \n3 18732 8027 18733 \n3 18734 18735 8025 \n3 8026 18736 18737 \n3 18738 8030 18739 \n3 18740 18741 8028 \n3 8029 18742 18743 \n3 18744 8033 18745 \n3 18746 18747 8031 \n3 8032 18748 18749 \n3 18750 8036 18751 \n3 18752 18753 8034 \n3 8035 18754 18755 \n3 18756 8039 18757 \n3 18758 18759 8037 \n3 8038 18760 18761 \n3 18762 8042 18763 \n3 18764 18765 8040 \n3 8041 18766 18767 \n3 18768 8045 18769 \n3 18770 18771 8043 \n3 8044 18772 18773 \n3 18774 8048 18775 \n3 18776 18777 8046 \n3 8047 18778 18779 \n3 18780 8051 18781 \n3 18782 18783 8049 \n3 8050 18784 18785 \n3 18786 8054 18787 \n3 18788 18789 8052 \n3 8053 18790 18791 \n3 18792 8057 18793 \n3 18794 18795 8055 \n3 8056 18796 18797 \n3 18798 8060 18799 \n3 18800 18801 8058 \n3 8059 18802 18803 \n3 18804 8063 18805 \n3 18806 18807 8061 \n3 8062 18808 18809 \n3 18810 8066 18811 \n3 18812 18813 8064 \n3 8065 18814 18815 \n3 18816 8069 18817 \n3 18818 18819 8067 \n3 8068 18820 18821 \n3 18822 8072 18823 \n3 18824 18825 8070 \n3 8071 18826 18827 \n3 18828 8075 18829 \n3 18830 18831 8073 \n3 8074 18832 18833 \n3 18834 8078 18835 \n3 18836 18837 8076 \n3 8077 18838 18839 \n3 18840 8081 18841 \n3 18842 18843 8079 \n3 8080 18844 18845 \n3 18846 8084 18847 \n3 18848 18849 8082 \n3 8083 18850 18851 \n3 18852 8087 18853 \n3 18854 18855 8085 \n3 8086 18856 18857 \n3 18858 8090 18859 \n3 18860 18861 8088 \n3 8089 18862 18863 \n3 18864 8093 18865 \n3 18866 18867 8091 \n3 8092 18868 18869 \n3 18870 8096 18871 \n3 18872 18873 8094 \n3 8095 18874 18875 \n3 18876 8099 18877 \n3 18878 18879 8097 \n3 8098 18880 18881 \n3 18882 8102 18883 \n3 18884 18885 8100 \n3 8101 18886 18887 \n3 18888 8105 18889 \n3 18890 18891 8103 \n3 8104 18892 18893 \n3 18894 8108 18895 \n3 18896 18897 8106 \n3 8107 18898 18899 \n3 18900 8111 18901 \n3 18902 18903 8109 \n3 8110 18904 18905 \n3 18906 8114 18907 \n3 18908 18909 8112 \n3 8113 18910 18911 \n3 18912 8117 18913 \n3 18914 18915 8115 \n3 8116 18916 18917 \n3 18918 8120 18919 \n3 18920 18921 8118 \n3 8119 18922 18923 \n3 18924 8123 18925 \n3 18926 18927 8121 \n3 8122 18928 18929 \n3 18930 8126 18931 \n3 18932 18933 8124 \n3 8125 18934 18935 \n3 18936 8129 18937 \n3 18938 18939 8127 \n3 8128 18940 18941 \n3 18942 8132 18943 \n3 18944 18945 8130 \n3 8131 18946 18947 \n3 18948 8135 18949 \n3 18950 18951 8133 \n3 8134 18952 18953 \n3 18954 8138 18955 \n3 18956 18957 8136 \n3 8137 18958 18959 \n3 18960 8141 18961 \n3 18962 18963 8139 \n3 8140 18964 18965 \n3 18966 8144 18967 \n3 18968 18969 8142 \n3 8143 18970 18971 \n3 18972 8147 18973 \n3 18974 18975 8145 \n3 8146 18976 18977 \n3 18978 8150 18979 \n3 18980 18981 8148 \n3 8149 18982 18983 \n3 18984 8153 18985 \n3 18986 18987 8151 \n3 8152 18988 18989 \n3 18990 8156 18991 \n3 18992 18993 8154 \n3 8155 18994 18995 \n3 18996 8159 18997 \n3 18998 18999 8157 \n3 8158 19000 19001 \n3 19002 8162 19003 \n3 19004 19005 8160 \n3 8161 19006 19007 \n3 19008 8165 19009 \n3 19010 19011 8163 \n3 8164 19012 19013 \n3 19014 8168 19015 \n3 19016 19017 8166 \n3 8167 19018 19019 \n3 19020 8171 19021 \n3 19022 19023 8169 \n3 8170 19024 19025 \n3 19026 8174 19027 \n3 19028 19029 8172 \n3 8173 19030 19031 \n3 19032 8177 19033 \n3 19034 19035 8175 \n3 8176 19036 19037 \n3 19038 8180 19039 \n3 19040 19041 8178 \n3 8179 19042 19043 \n3 19044 8183 19045 \n3 19046 19047 8181 \n3 8182 19048 19049 \n3 19050 8186 19051 \n3 19052 19053 8184 \n3 8185 19054 19055 \n3 19056 8189 19057 \n3 19058 19059 8187 \n3 8188 19060 19061 \n3 19062 8192 19063 \n3 19064 19065 8190 \n3 8191 19066 19067 \n3 19068 8195 19069 \n3 19070 19071 8193 \n3 8194 19072 19073 \n3 19074 8198 19075 \n3 19076 19077 8196 \n3 8197 19078 19079 \n3 19080 8201 19081 \n3 19082 19083 8199 \n3 8200 19084 19085 \n3 19086 8204 19087 \n3 19088 19089 8202 \n3 8203 19090 19091 \n3 19092 8207 19093 \n3 19094 19095 8205 \n3 8206 19096 19097 \n3 19098 8210 19099 \n3 19100 19101 8208 \n3 8209 19102 19103 \n3 19104 8213 19105 \n3 19106 19107 8211 \n3 8212 19108 19109 \n3 19110 8216 19111 \n3 19112 19113 8214 \n3 8215 19114 19115 \n3 19116 8219 19117 \n3 19118 19119 8217 \n3 8218 19120 19121 \n3 19122 8222 19123 \n3 19124 19125 8220 \n3 8221 19126 19127 \n3 19128 8225 19129 \n3 19130 19131 8223 \n3 8224 19132 19133 \n3 19134 8228 19135 \n3 19136 19137 8226 \n3 8227 19138 19139 \n3 19140 8231 19141 \n3 19142 19143 8229 \n3 8230 19144 19145 \n3 19146 8234 19147 \n3 19148 19149 8232 \n3 8233 19150 19151 \n3 19152 8237 19153 \n3 19154 19155 8235 \n3 8236 19156 19157 \n3 19158 8240 19159 \n3 19160 19161 8238 \n3 8239 19162 19163 \n3 19164 8243 19165 \n3 19166 19167 8241 \n3 8242 19168 19169 \n3 19170 8246 19171 \n3 19172 19173 8244 \n3 8245 19174 19175 \n3 19176 8249 19177 \n3 19178 19179 8247 \n3 8248 19180 19181 \n3 19182 8252 19183 \n3 19184 19185 8250 \n3 8251 19186 19187 \n3 19188 8255 19189 \n3 19190 19191 8253 \n3 8254 19192 19193 \n3 19194 8258 19195 \n3 19196 19197 8256 \n3 8257 19198 19199 \n3 19200 8261 19201 \n3 19202 19203 8259 \n3 8260 19204 19205 \n3 19206 8264 19207 \n3 19208 19209 8262 \n3 8263 19210 19211 \n3 19212 8267 19213 \n3 19214 19215 8265 \n3 8266 19216 19217 \n3 19218 8270 19219 \n3 19220 19221 8268 \n3 8269 19222 19223 \n3 19224 8273 19225 \n3 19226 19227 8271 \n3 8272 19228 19229 \n3 19230 8276 19231 \n3 19232 19233 8274 \n3 8275 19234 19235 \n3 19236 8279 19237 \n3 19238 19239 8277 \n3 8278 19240 19241 \n3 19242 8282 19243 \n3 19244 19245 8280 \n3 8281 19246 19247 \n3 19248 8285 19249 \n3 19250 19251 8283 \n3 8284 19252 19253 \n3 19254 8288 19255 \n3 19256 19257 8286 \n3 8287 19258 19259 \n3 19260 8291 19261 \n3 19262 19263 8289 \n3 8290 19264 19265 \n3 19266 8294 19267 \n3 19268 19269 8292 \n3 8293 19270 19271 \n3 19272 8297 19273 \n3 19274 19275 8295 \n3 8296 19276 19277 \n3 19278 8300 19279 \n3 19280 19281 8298 \n3 8299 19282 19283 \n3 19284 8303 19285 \n3 19286 19287 8301 \n3 8302 19288 19289 \n3 19290 8306 19291 \n3 19292 19293 8304 \n3 8305 19294 19295 \n3 19296 8309 19297 \n3 19298 19299 8307 \n3 8308 19300 19301 \n3 19302 8312 19303 \n3 19304 19305 8310 \n3 8311 19306 19307 \n3 19308 8315 19309 \n3 19310 19311 8313 \n3 8314 19312 19313 \n3 19314 8318 19315 \n3 19316 19317 8316 \n3 8317 19318 19319 \n3 19320 8321 19321 \n3 19322 19323 8319 \n3 8320 19324 19325 \n3 19326 8324 19327 \n3 19328 19329 8322 \n3 8323 19330 19331 \n3 19332 8327 19333 \n3 19334 19335 8325 \n3 8326 19336 19337 \n3 19338 8330 19339 \n3 19340 19341 8328 \n3 8329 19342 19343 \n3 19344 8333 19345 \n3 19346 19347 8331 \n3 8332 19348 19349 \n3 19350 8336 19351 \n3 19352 19353 8334 \n3 8335 19354 19355 \n3 19356 8339 19357 \n3 19358 19359 8337 \n3 8338 19360 19361 \n3 19362 8342 19363 \n3 19364 19365 8340 \n3 8341 19366 19367 \n3 19368 8345 19369 \n3 19370 19371 8343 \n3 8344 19372 19373 \n3 19374 8348 19375 \n3 19376 19377 8346 \n3 8347 19378 19379 \n3 19380 8351 19381 \n3 19382 19383 8349 \n3 8350 19384 19385 \n3 19386 8354 19387 \n3 19388 19389 8352 \n3 8353 19390 19391 \n3 19392 8357 19393 \n3 19394 19395 8355 \n3 8356 19396 19397 \n3 19398 8360 19399 \n3 19400 19401 8358 \n3 8359 19402 19403 \n3 19404 8363 19405 \n3 19406 19407 8361 \n3 8362 19408 19409 \n3 19410 8366 19411 \n3 19412 19413 8364 \n3 8365 19414 19415 \n3 19416 8369 19417 \n3 19418 19419 8367 \n3 8368 19420 19421 \n3 19422 8372 19423 \n3 19424 19425 8370 \n3 8371 19426 19427 \n3 19428 8375 19429 \n3 19430 19431 8373 \n3 8374 19432 19433 \n3 19434 8378 19435 \n3 19436 19437 8376 \n3 8377 19438 19439 \n3 19440 8381 19441 \n3 19442 19443 8379 \n3 8380 19444 19445 \n3 19446 8384 19447 \n3 19448 19449 8382 \n3 8383 19450 19451 \n3 19452 8387 19453 \n3 19454 19455 8385 \n3 8386 19456 19457 \n3 19458 8390 19459 \n3 19460 19461 8388 \n3 8389 19462 19463 \n3 19464 8393 19465 \n3 19466 19467 8391 \n3 8392 19468 19469 \n3 19470 8396 19471 \n3 19472 19473 8394 \n3 8395 19474 19475 \n3 19476 8399 19477 \n3 19478 19479 8397 \n3 8398 19480 19481 \n3 19482 8402 19483 \n3 19484 19485 8400 \n3 8401 19486 19487 \n3 19488 8405 19489 \n3 19490 19491 8403 \n3 8404 19492 19493 \n3 19494 8408 19495 \n3 19496 19497 8406 \n3 8407 19498 19499 \n3 19500 8411 19501 \n3 19502 19503 8409 \n3 8410 19504 19505 \n3 19506 8414 19507 \n3 19508 19509 8412 \n3 8413 19510 19511 \n3 19512 8417 19513 \n3 19514 19515 8415 \n3 8416 19516 19517 \n3 19518 8420 19519 \n3 19520 19521 8418 \n3 8419 19522 19523 \n3 19524 8423 19525 \n3 19526 19527 8421 \n3 8422 19528 19529 \n3 19530 8426 19531 \n3 19532 19533 8424 \n3 8425 19534 19535 \n3 19536 8429 19537 \n3 19538 19539 8427 \n3 8428 19540 19541 \n3 19542 8432 19543 \n3 19544 19545 8430 \n3 8431 19546 19547 \n3 19548 8435 19549 \n3 19550 19551 8433 \n3 8434 19552 19553 \n3 19554 8438 19555 \n3 19556 19557 8436 \n3 8437 19558 19559 \n3 19560 8441 19561 \n3 19562 19563 8439 \n3 8440 19564 19565 \n3 19566 8444 19567 \n3 19568 19569 8442 \n3 8443 19570 19571 \n3 19572 8447 19573 \n3 19574 19575 8445 \n3 8446 19576 19577 \n3 19578 8450 19579 \n3 19580 19581 8448 \n3 8449 19582 19583 \n3 19584 8453 19585 \n3 19586 19587 8451 \n3 8452 19588 19589 \n3 19590 8456 19591 \n3 19592 19593 8454 \n3 8455 19594 19595 \n3 19596 8459 19597 \n3 19598 19599 8457 \n3 8458 19600 19601 \n3 19602 8462 19603 \n3 19604 19605 8460 \n3 8461 19606 19607 \n3 19608 8465 19609 \n3 19610 19611 8463 \n3 8464 19612 19613 \n3 19614 8468 19615 \n3 19616 19617 8466 \n3 8467 19618 19619 \n3 19620 8471 19621 \n3 19622 19623 8469 \n3 8470 19624 19625 \n3 19626 8474 19627 \n3 19628 19629 8472 \n3 8473 19630 19631 \n3 19632 8477 19633 \n3 19634 19635 8475 \n3 8476 19636 19637 \n3 19638 8480 19639 \n3 19640 19641 8478 \n3 8479 19642 19643 \n3 19644 8483 19645 \n3 19646 19647 8481 \n3 8482 19648 19649 \n3 19650 8486 19651 \n3 19652 19653 8484 \n3 8485 19654 19655 \n3 19656 8489 19657 \n3 19658 19659 8487 \n3 8488 19660 19661 \n3 19662 8492 19663 \n3 19664 19665 8490 \n3 8491 19666 19667 \n3 19668 8495 19669 \n3 19670 19671 8493 \n3 8494 19672 19673 \n3 19674 8498 19675 \n3 19676 19677 8496 \n3 8497 19678 19679 \n3 19680 8501 19681 \n3 19682 19683 8499 \n3 8500 19684 19685 \n3 19686 8504 19687 \n3 19688 19689 8502 \n3 8503 19690 19691 \n3 19692 8507 19693 \n3 19694 19695 8505 \n3 8506 19696 19697 \n3 19698 8510 19699 \n3 19700 19701 8508 \n3 8509 19702 19703 \n3 19704 8513 19705 \n3 19706 19707 8511 \n3 8512 19708 19709 \n3 19710 8516 19711 \n3 19712 19713 8514 \n3 8515 19714 19715 \n3 19716 8519 19717 \n3 19718 19719 8517 \n3 8518 19720 19721 \n3 19722 8522 19723 \n3 19724 19725 8520 \n3 8521 19726 19727 \n3 19728 8525 19729 \n3 19730 19731 8523 \n3 8524 19732 19733 \n3 19734 8528 19735 \n3 19736 19737 8526 \n3 8527 19738 19739 \n3 19740 8531 19741 \n3 19742 19743 8529 \n3 8530 19744 19745 \n3 19746 8534 19747 \n3 19748 19749 8532 \n3 8533 19750 19751 \n3 19752 8537 19753 \n3 19754 19755 8535 \n3 8536 19756 19757 \n3 19758 8540 19759 \n3 19760 19761 8538 \n3 8539 19762 19763 \n3 19764 8543 19765 \n3 19766 19767 8541 \n3 8542 19768 19769 \n3 19770 8546 19771 \n3 19772 19773 8544 \n3 8545 19774 19775 \n3 19776 8549 19777 \n3 19778 19779 8547 \n3 8548 19780 19781 \n3 19782 8552 19783 \n3 19784 19785 8550 \n3 8551 19786 19787 \n3 19788 8555 19789 \n3 19790 19791 8553 \n3 8554 19792 19793 \n3 19794 8558 19795 \n3 19796 19797 8556 \n3 8557 19798 19799 \n3 19800 8561 19801 \n3 19802 19803 8559 \n3 8560 19804 19805 \n3 19806 8564 19807 \n3 19808 19809 8562 \n3 8563 19810 19811 \n3 19812 8567 19813 \n3 19814 19815 8565 \n3 8566 19816 19817 \n3 19818 8570 19819 \n3 19820 19821 8568 \n3 8569 19822 19823 \n3 19824 8573 19825 \n3 19826 19827 8571 \n3 8572 19828 19829 \n3 19830 8576 19831 \n3 19832 19833 8574 \n3 8575 19834 19835 \n3 19836 8579 19837 \n3 19838 19839 8577 \n3 8578 19840 19841 \n3 19842 8582 19843 \n3 19844 19845 8580 \n3 8581 19846 19847 \n3 19848 8585 19849 \n3 19850 19851 8583 \n3 8584 19852 19853 \n3 19854 8588 19855 \n3 19856 19857 8586 \n3 8587 19858 19859 \n3 19860 8591 19861 \n3 19862 19863 8589 \n3 8590 19864 19865 \n3 19866 8594 19867 \n3 19868 19869 8592 \n3 8593 19870 19871 \n3 19872 8597 19873 \n3 19874 19875 8595 \n3 8596 19876 19877 \n3 19878 8600 19879 \n3 19880 19881 8598 \n3 8599 19882 19883 \n3 19884 8603 19885 \n3 19886 19887 8601 \n3 8602 19888 19889 \n3 19890 8606 19891 \n3 19892 19893 8604 \n3 8605 19894 19895 \n3 19896 8609 19897 \n3 19898 19899 8607 \n3 8608 19900 19901 \n3 19902 8612 19903 \n3 19904 19905 8610 \n3 8611 19906 19907 \n3 19908 8615 19909 \n3 19910 19911 8613 \n3 8614 19912 19913 \n3 19914 8618 19915 \n3 19916 19917 8616 \n3 8617 19918 19919 \n3 19920 8621 19921 \n3 19922 19923 8619 \n3 8620 19924 19925 \n3 19926 8624 19927 \n3 19928 19929 8622 \n3 8623 19930 19931 \n3 19932 8627 19933 \n3 19934 19935 8625 \n3 8626 19936 19937 \n3 19938 8630 19939 \n3 19940 19941 8628 \n3 8629 19942 19943 \n3 19944 8633 19945 \n3 19946 19947 8631 \n3 8632 19948 19949 \n3 19950 8636 19951 \n3 19952 19953 8634 \n3 8635 19954 19955 \n3 19956 8639 19957 \n3 19958 19959 8637 \n3 8638 19960 19961 \n3 19962 8642 19963 \n3 19964 19965 8640 \n3 8641 19966 19967 \n3 19968 8645 19969 \n3 19970 19971 8643 \n3 8644 19972 19973 \n3 19974 8648 19975 \n3 19976 19977 8646 \n3 8647 19978 19979 \n3 19980 8651 19981 \n3 19982 19983 8649 \n3 8650 19984 19985 \n3 19986 8654 19987 \n3 19988 19989 8652 \n3 8653 19990 19991 \n3 19992 8657 19993 \n3 19994 19995 8655 \n3 8656 19996 19997 \n3 19998 8660 19999 \n3 20000 20001 8658 \n3 8659 20002 20003 \n3 20004 8663 20005 \n3 20006 20007 8661 \n3 8662 20008 20009 \n3 20010 8666 20011 \n3 20012 20013 8664 \n3 8665 20014 20015 \n3 20016 8669 20017 \n3 20018 20019 8667 \n3 8668 20020 20021 \n3 20022 8672 20023 \n3 20024 20025 8670 \n3 8671 20026 20027 \n3 20028 8675 20029 \n3 20030 20031 8673 \n3 8674 20032 20033 \n3 20034 8678 20035 \n3 20036 20037 8676 \n3 8677 20038 20039 \n3 20040 8681 20041 \n3 20042 20043 8679 \n3 8680 20044 20045 \n3 20046 8684 20047 \n3 20048 20049 8682 \n3 8683 20050 20051 \n3 20052 8687 20053 \n3 20054 20055 8685 \n3 8686 20056 20057 \n3 20058 8690 20059 \n3 20060 20061 8688 \n3 8689 20062 20063 \n3 20064 8693 20065 \n3 20066 20067 8691 \n3 8692 20068 20069 \n3 20070 8696 20071 \n3 20072 20073 8694 \n3 8695 20074 20075 \n3 20076 8699 20077 \n3 20078 20079 8697 \n3 8698 20080 20081 \n3 20082 8702 20083 \n3 20084 20085 8700 \n3 8701 20086 20087 \n3 20088 8705 20089 \n3 20090 20091 8703 \n3 8704 20092 20093 \n3 20094 8708 20095 \n3 20096 20097 8706 \n3 8707 20098 20099 \n3 20100 8711 20101 \n3 20102 20103 8709 \n3 8710 20104 20105 \n3 20106 8714 20107 \n3 20108 20109 8712 \n3 8713 20110 20111 \n3 20112 8717 20113 \n3 20114 20115 8715 \n3 8716 20116 20117 \n3 20118 8720 20119 \n3 20120 20121 8718 \n3 8719 20122 20123 \n3 20124 8723 20125 \n3 20126 20127 8721 \n3 8722 20128 20129 \n3 20130 8726 20131 \n3 20132 20133 8724 \n3 8725 20134 20135 \n3 20136 8729 20137 \n3 20138 20139 8727 \n3 8728 20140 20141 \n3 20142 8732 20143 \n3 20144 20145 8730 \n3 8731 20146 20147 \n3 20148 8735 20149 \n3 20150 20151 8733 \n3 8734 20152 20153 \n3 20154 8738 20155 \n3 20156 20157 8736 \n3 8737 20158 20159 \n3 20160 8741 20161 \n3 20162 20163 8739 \n3 8740 20164 20165 \n3 20166 8744 20167 \n3 20168 20169 8742 \n3 8743 20170 20171 \n3 20172 8747 20173 \n3 20174 20175 8745 \n3 8746 20176 20177 \n3 20178 8750 20179 \n3 20180 20181 8748 \n3 8749 20182 20183 \n3 20184 8753 20185 \n3 20186 20187 8751 \n3 8752 20188 20189 \n3 20190 8756 20191 \n3 20192 20193 8754 \n3 8755 20194 20195 \n3 20196 8759 20197 \n3 20198 20199 8757 \n3 8758 20200 20201 \n3 20202 8762 20203 \n3 20204 20205 8760 \n3 8761 20206 20207 \n3 20208 8765 20209 \n3 20210 20211 8763 \n3 8764 20212 20213 \n3 20214 8768 20215 \n3 20216 20217 8766 \n3 8767 20218 20219 \n3 20220 8771 20221 \n3 20222 20223 8769 \n3 8770 20224 20225 \n3 20226 8774 20227 \n3 20228 20229 8772 \n3 8773 20230 20231 \n3 20232 8777 20233 \n3 20234 20235 8775 \n3 8776 20236 20237 \n3 20238 8780 20239 \n3 20240 20241 8778 \n3 8779 20242 20243 \n3 20244 8783 20245 \n3 20246 20247 8781 \n3 8782 20248 20249 \n3 20250 8786 20251 \n3 20252 20253 8784 \n3 8785 20254 20255 \n3 20256 8789 20257 \n3 20258 20259 8787 \n3 8788 20260 20261 \n3 20262 8792 20263 \n3 20264 20265 8790 \n3 8791 20266 20267 \n3 20268 8795 20269 \n3 20270 20271 8793 \n3 8794 20272 20273 \n3 20274 8798 20275 \n3 20276 20277 8796 \n3 8797 20278 20279 \n3 20280 8801 20281 \n3 20282 20283 8799 \n3 8800 20284 20285 \n3 20286 8804 20287 \n3 20288 20289 8802 \n3 8803 20290 20291 \n3 20292 8807 20293 \n3 20294 20295 8805 \n3 8806 20296 20297 \n3 20298 8810 20299 \n3 20300 20301 8808 \n3 8809 20302 20303 \n3 20304 8813 20305 \n3 20306 20307 8811 \n3 8812 20308 20309 \n3 20310 8816 20311 \n3 20312 20313 8814 \n3 8815 20314 20315 \n3 20316 8819 20317 \n3 20318 20319 8817 \n3 8818 20320 20321 \n3 20322 8822 20323 \n3 20324 20325 8820 \n3 8821 20326 20327 \n3 20328 8825 20329 \n3 20330 20331 8823 \n3 8824 20332 20333 \n3 20334 8828 20335 \n3 20336 20337 8826 \n3 8827 20338 20339 \n3 20340 8831 20341 \n3 20342 20343 8829 \n3 8830 20344 20345 \n3 20346 8834 20347 \n3 20348 20349 8832 \n3 8833 20350 20351 \n3 20352 8837 20353 \n3 20354 20355 8835 \n3 8836 20356 20357 \n3 20358 8840 20359 \n3 20360 15751 8838 \n3 8839 15755 20361 \n3 20362 8843 15750 \n3 20363 20364 8841 \n3 8842 20365 15752 \n3 15754 8846 20366 \n3 15753 20367 8844 \n3 8845 20368 20369 \n3 20370 8849 20371 \n3 20372 15757 8847 \n3 8848 15761 20373 \n3 20374 8852 15756 \n3 20375 20376 8850 \n3 8851 20377 15758 \n3 15760 8855 20378 \n3 15759 20379 8853 \n3 8854 20380 20381 \n3 20382 8858 20383 \n3 20384 15763 8856 \n3 8857 15767 20385 \n3 20386 8861 15762 \n3 20387 20388 8859 \n3 8860 20389 15764 \n3 15766 8864 20390 \n3 15765 20391 8862 \n3 8863 20392 20393 \n3 20394 8867 20395 \n3 20396 15769 8865 \n3 8866 15773 20397 \n3 20398 8870 15768 \n3 20399 20400 8868 \n3 8869 20401 15770 \n3 15772 8873 20402 \n3 15771 20403 8871 \n3 8872 20404 20405 \n3 20406 8876 20407 \n3 20408 15775 8874 \n3 8875 15779 20409 \n3 20410 8879 15774 \n3 20411 20412 8877 \n3 8878 20413 15776 \n3 15778 8882 20414 \n3 15777 20415 8880 \n3 8881 20416 20417 \n3 20418 8885 20419 \n3 20420 15781 8883 \n3 8884 15785 20421 \n3 20422 8888 15780 \n3 20423 20424 8886 \n3 8887 20425 15782 \n3 15784 8891 20426 \n3 15783 20427 8889 \n3 8890 20428 20429 \n3 20430 8894 20431 \n3 20432 15787 8892 \n3 8893 15791 20433 \n3 20434 8897 15786 \n3 20435 20436 8895 \n3 8896 20437 15788 \n3 15790 8900 20438 \n3 15789 20439 8898 \n3 8899 20440 20441 \n3 20442 8903 20443 \n3 20444 15793 8901 \n3 8902 15797 20445 \n3 20446 8906 15792 \n3 20447 20448 8904 \n3 8905 20449 15794 \n3 15796 8909 20450 \n3 15795 20451 8907 \n3 8908 20452 20453 \n3 20454 8912 20455 \n3 20456 15799 8910 \n3 8911 15803 20457 \n3 20458 8915 15798 \n3 20459 20460 8913 \n3 8914 20461 15800 \n3 15802 8918 20462 \n3 15801 20463 8916 \n3 8917 20464 20465 \n3 20466 8921 20467 \n3 20468 15805 8919 \n3 8920 15809 20469 \n3 20470 8924 15804 \n3 20471 20472 8922 \n3 8923 20473 15806 \n3 15808 8927 20474 \n3 15807 20475 8925 \n3 8926 20476 20477 \n3 20478 8930 20479 \n3 20480 15811 8928 \n3 8929 15815 20481 \n3 20482 8933 15810 \n3 20483 20484 8931 \n3 8932 20485 15812 \n3 15814 8936 20486 \n3 15813 20487 8934 \n3 8935 20488 20489 \n3 20490 8939 20491 \n3 20492 15817 8937 \n3 8938 15821 20493 \n3 20494 8942 15816 \n3 20495 20496 8940 \n3 8941 20497 15818 \n3 15820 8945 20498 \n3 15819 20499 8943 \n3 8944 20500 20501 \n3 20502 8948 20503 \n3 20504 15823 8946 \n3 8947 15827 20505 \n3 20506 8951 15822 \n3 20507 20508 8949 \n3 8950 20509 15824 \n3 15826 8954 20510 \n3 15825 20511 8952 \n3 8953 20512 20513 \n3 20514 8957 20515 \n3 20516 15829 8955 \n3 8956 15833 20517 \n3 20518 8960 15828 \n3 20519 20520 8958 \n3 8959 20521 15830 \n3 15832 8963 20522 \n3 15831 20523 8961 \n3 8962 20524 20525 \n3 20526 8966 20527 \n3 20528 15835 8964 \n3 8965 15839 20529 \n3 20530 8969 15834 \n3 20531 20532 8967 \n3 8968 20533 15836 \n3 15838 8972 20534 \n3 15837 20535 8970 \n3 8971 20536 20537 \n3 20538 8975 20539 \n3 20540 15841 8973 \n3 8974 15845 20541 \n3 20542 8978 15840 \n3 20543 20544 8976 \n3 8977 20545 15842 \n3 15844 8981 20546 \n3 15843 20547 8979 \n3 8980 20548 20549 \n3 20550 8984 20551 \n3 20552 15847 8982 \n3 8983 15851 20553 \n3 20554 8987 15846 \n3 20555 20556 8985 \n3 8986 20557 15848 \n3 15850 8990 20558 \n3 15849 20559 8988 \n3 8989 20560 20561 \n3 20562 8993 20563 \n3 20564 15853 8991 \n3 8992 15857 20565 \n3 20566 8996 15852 \n3 20567 20568 8994 \n3 8995 20569 15854 \n3 15856 8999 20570 \n3 15855 20571 8997 \n3 8998 20572 20573 \n3 20574 9002 20575 \n3 20576 15859 9000 \n3 9001 15863 20577 \n3 20578 9005 15858 \n3 20579 20580 9003 \n3 9004 20581 15860 \n3 15862 9008 20582 \n3 15861 20583 9006 \n3 9007 20584 20585 \n3 20586 9011 20587 \n3 20588 15865 9009 \n3 9010 15869 20589 \n3 20590 9014 15864 \n3 20591 20592 9012 \n3 9013 20593 15866 \n3 15868 9017 20594 \n3 15867 20595 9015 \n3 9016 20596 20597 \n3 20598 9020 20599 \n3 20600 15871 9018 \n3 9019 15875 20601 \n3 20602 9023 15870 \n3 20603 20604 9021 \n3 9022 20605 15872 \n3 15874 9026 20606 \n3 15873 20607 9024 \n3 9025 20608 20609 \n3 20610 9029 20611 \n3 20612 15877 9027 \n3 9028 15881 20613 \n3 20614 9032 15876 \n3 20615 20616 9030 \n3 9031 20617 15878 \n3 15880 9035 20618 \n3 15879 20619 9033 \n3 9034 20620 20621 \n3 20622 9038 20623 \n3 20624 15883 9036 \n3 9037 15887 20625 \n3 20626 9041 15882 \n3 20627 20628 9039 \n3 9040 20629 15884 \n3 15886 9044 20630 \n3 15885 20631 9042 \n3 9043 20632 20633 \n3 20634 9047 20635 \n3 20636 15889 9045 \n3 9046 15893 20637 \n3 20638 9050 15888 \n3 20639 20640 9048 \n3 9049 20641 15890 \n3 15892 9053 20642 \n3 15891 20643 9051 \n3 9052 20644 20645 \n3 20646 9056 20647 \n3 20648 15895 9054 \n3 9055 15899 20649 \n3 20650 9059 15894 \n3 20651 20652 9057 \n3 9058 20653 15896 \n3 15898 9062 20654 \n3 15897 20655 9060 \n3 9061 20656 20657 \n3 20658 9065 20659 \n3 20660 15901 9063 \n3 9064 15905 20661 \n3 20662 9068 15900 \n3 20663 20664 9066 \n3 9067 20665 15902 \n3 15904 9071 20666 \n3 15903 20667 9069 \n3 9070 20668 20669 \n3 20670 9074 20671 \n3 20672 15907 9072 \n3 9073 15911 20673 \n3 20674 9077 15906 \n3 20675 20676 9075 \n3 9076 20677 15908 \n3 15910 9080 20678 \n3 15909 20679 9078 \n3 9079 20680 20681 \n3 20682 9083 20683 \n3 20684 15913 9081 \n3 9082 15917 20685 \n3 20686 9086 15912 \n3 20687 20688 9084 \n3 9085 20689 15914 \n3 15916 9089 20690 \n3 15915 20691 9087 \n3 9088 20692 20693 \n3 20694 9092 20695 \n3 20696 15919 9090 \n3 9091 15923 20697 \n3 20698 9095 15918 \n3 20699 20700 9093 \n3 9094 20701 15920 \n3 15922 9098 20702 \n3 15921 20703 9096 \n3 9097 20704 20705 \n3 20706 9101 20707 \n3 20708 15925 9099 \n3 9100 15929 20709 \n3 20710 9104 15924 \n3 20711 20712 9102 \n3 9103 20713 15926 \n3 15928 9107 20714 \n3 15927 20715 9105 \n3 9106 20716 20717 \n3 20718 9110 20719 \n3 20720 15931 9108 \n3 9109 15935 20721 \n3 20722 9113 15930 \n3 20723 20724 9111 \n3 9112 20725 15932 \n3 15934 9116 20726 \n3 15933 20727 9114 \n3 9115 20728 20729 \n3 20730 9119 20731 \n3 20732 15937 9117 \n3 9118 15941 20733 \n3 20734 9122 15936 \n3 20735 20736 9120 \n3 9121 20737 15938 \n3 15940 9125 20738 \n3 15939 20739 9123 \n3 9124 20740 20741 \n3 20742 9128 20743 \n3 20744 15943 9126 \n3 9127 15947 20745 \n3 20746 9131 15942 \n3 20747 20748 9129 \n3 9130 20749 15944 \n3 15946 9134 20750 \n3 15945 20751 9132 \n3 9133 20752 20753 \n3 20754 9137 20755 \n3 20756 15949 9135 \n3 9136 15953 20757 \n3 20758 9140 15948 \n3 20759 20760 9138 \n3 9139 20761 15950 \n3 15952 9143 20762 \n3 15951 20763 9141 \n3 9142 20764 20765 \n3 20766 9146 20767 \n3 20768 15955 9144 \n3 9145 15959 20769 \n3 20770 9149 15954 \n3 20771 20772 9147 \n3 9148 20773 15956 \n3 15958 9152 20774 \n3 15957 20775 9150 \n3 9151 20776 20777 \n3 20778 9155 20779 \n3 20780 15961 9153 \n3 9154 15965 20781 \n3 20782 9158 15960 \n3 20783 20784 9156 \n3 9157 20785 15962 \n3 15964 9161 20786 \n3 15963 20787 9159 \n3 9160 20788 20789 \n3 20790 9164 20791 \n3 20792 15967 9162 \n3 9163 15971 20793 \n3 20794 9167 15966 \n3 20795 20796 9165 \n3 9166 20797 15968 \n3 15970 9170 20798 \n3 15969 20799 9168 \n3 9169 20800 20801 \n3 20802 9173 20803 \n3 20804 15973 9171 \n3 9172 15977 20805 \n3 20806 9176 15972 \n3 20807 20808 9174 \n3 9175 20809 15974 \n3 15976 9179 20810 \n3 15975 20811 9177 \n3 9178 20812 20813 \n3 20814 9182 20815 \n3 20816 15979 9180 \n3 9181 15983 20817 \n3 20818 9185 15978 \n3 20819 20820 9183 \n3 9184 20821 15980 \n3 15982 9188 20822 \n3 15981 20823 9186 \n3 9187 20824 20825 \n3 20826 9191 20827 \n3 20828 15985 9189 \n3 9190 15989 20829 \n3 20830 9194 15984 \n3 20831 20832 9192 \n3 9193 20833 15986 \n3 15988 9197 20834 \n3 15987 20835 9195 \n3 9196 20836 20837 \n3 20838 9200 20839 \n3 20840 15991 9198 \n3 9199 15995 20841 \n3 20842 9203 15990 \n3 20843 20844 9201 \n3 9202 20845 15992 \n3 15994 9206 20846 \n3 15993 20847 9204 \n3 9205 20848 20849 \n3 20850 9209 20851 \n3 20852 15997 9207 \n3 9208 16001 20853 \n3 20854 9212 15996 \n3 20855 20856 9210 \n3 9211 20857 15998 \n3 16000 9215 20858 \n3 15999 20859 9213 \n3 9214 20860 20861 \n3 20862 9218 20863 \n3 20864 16003 9216 \n3 9217 16007 20865 \n3 20866 9221 16002 \n3 20867 20868 9219 \n3 9220 20869 16004 \n3 16006 9224 20870 \n3 16005 20871 9222 \n3 9223 20872 20873 \n3 20874 9227 20875 \n3 20876 16009 9225 \n3 9226 16013 20877 \n3 20878 9230 16008 \n3 20879 20880 9228 \n3 9229 20881 16010 \n3 16012 9233 20882 \n3 16011 20883 9231 \n3 9232 20884 20885 \n3 20886 9236 20887 \n3 20888 16015 9234 \n3 9235 16019 20889 \n3 20890 9239 16014 \n3 20891 20892 9237 \n3 9238 20893 16016 \n3 16018 9242 20894 \n3 16017 20895 9240 \n3 9241 20896 20897 \n3 20898 9245 20899 \n3 20900 16021 9243 \n3 9244 16025 20901 \n3 20902 9248 16020 \n3 20903 20904 9246 \n3 9247 20905 16022 \n3 16024 9251 20906 \n3 16023 20907 9249 \n3 9250 20908 20909 \n3 20910 9254 20911 \n3 20912 16027 9252 \n3 9253 16031 20913 \n3 20914 9257 16026 \n3 20915 20916 9255 \n3 9256 20917 16028 \n3 16030 9260 20918 \n3 16029 20919 9258 \n3 9259 20920 20921 \n3 20922 9263 20923 \n3 20924 16033 9261 \n3 9262 16037 20925 \n3 20926 9266 16032 \n3 20927 20928 9264 \n3 9265 20929 16034 \n3 16036 9269 20930 \n3 16035 20931 9267 \n3 9268 20932 20933 \n3 20934 9272 20935 \n3 20936 16039 9270 \n3 9271 16043 20937 \n3 20938 9275 16038 \n3 20939 20940 9273 \n3 9274 20941 16040 \n3 16042 9278 20942 \n3 16041 20943 9276 \n3 9277 20944 20945 \n3 20946 9281 20947 \n3 20948 16045 9279 \n3 9280 16049 20949 \n3 20950 9284 16044 \n3 20951 20952 9282 \n3 9283 20953 16046 \n3 16048 9287 20954 \n3 16047 20955 9285 \n3 9286 20956 20957 \n3 20958 9290 20959 \n3 20960 16051 9288 \n3 9289 16055 20961 \n3 20962 9293 16050 \n3 20963 20964 9291 \n3 9292 20965 16052 \n3 16054 9296 20966 \n3 16053 20967 9294 \n3 9295 20968 20969 \n3 20970 9299 20971 \n3 20972 16057 9297 \n3 9298 16061 20973 \n3 20974 9302 16056 \n3 20975 20976 9300 \n3 9301 20977 16058 \n3 16060 9305 20978 \n3 16059 20979 9303 \n3 9304 20980 20981 \n3 20982 9308 20983 \n3 20984 16063 9306 \n3 9307 16067 20985 \n3 20986 9311 16062 \n3 20987 20988 9309 \n3 9310 20989 16064 \n3 16066 9314 20990 \n3 16065 20991 9312 \n3 9313 20992 20993 \n3 20994 9317 20995 \n3 20996 16069 9315 \n3 9316 16073 20997 \n3 20998 9320 16068 \n3 20999 21000 9318 \n3 9319 21001 16070 \n3 16072 9323 21002 \n3 16071 21003 9321 \n3 9322 21004 21005 \n3 21006 9326 21007 \n3 21008 16075 9324 \n3 9325 16079 21009 \n3 21010 9329 16074 \n3 21011 21012 9327 \n3 9328 21013 16076 \n3 16078 9332 21014 \n3 16077 21015 9330 \n3 9331 21016 21017 \n3 21018 9335 21019 \n3 21020 16081 9333 \n3 9334 16085 21021 \n3 21022 9338 16080 \n3 21023 21024 9336 \n3 9337 21025 16082 \n3 16084 9341 21026 \n3 16083 21027 9339 \n3 9340 21028 21029 \n3 21030 9344 21031 \n3 21032 16087 9342 \n3 9343 16091 21033 \n3 21034 9347 16086 \n3 21035 21036 9345 \n3 9346 21037 16088 \n3 16090 9350 21038 \n3 16089 21039 9348 \n3 9349 21040 21041 \n3 21042 9353 21043 \n3 21044 16093 9351 \n3 9352 16097 21045 \n3 21046 9356 16092 \n3 21047 21048 9354 \n3 9355 21049 16094 \n3 16096 9359 21050 \n3 16095 21051 9357 \n3 9358 21052 21053 \n3 21054 9362 21055 \n3 21056 16099 9360 \n3 9361 16103 21057 \n3 21058 9365 16098 \n3 21059 21060 9363 \n3 9364 21061 16100 \n3 16102 9368 21062 \n3 16101 21063 9366 \n3 9367 21064 21065 \n3 21066 9371 21067 \n3 21068 16105 9369 \n3 9370 16109 21069 \n3 21070 9374 16104 \n3 21071 21072 9372 \n3 9373 21073 16106 \n3 16108 9377 21074 \n3 16107 21075 9375 \n3 9376 21076 21077 \n3 21078 9380 21079 \n3 21080 16111 9378 \n3 9379 16115 21081 \n3 21082 9383 16110 \n3 21083 21084 9381 \n3 9382 21085 16112 \n3 16114 9386 21086 \n3 16113 21087 9384 \n3 9385 21088 21089 \n3 21090 9389 21091 \n3 21092 16117 9387 \n3 9388 16121 21093 \n3 21094 9392 16116 \n3 21095 21096 9390 \n3 9391 21097 16118 \n3 16120 9395 21098 \n3 16119 21099 9393 \n3 9394 21100 21101 \n3 21102 9398 21103 \n3 21104 16123 9396 \n3 9397 16127 21105 \n3 21106 9401 16122 \n3 21107 21108 9399 \n3 9400 21109 16124 \n3 16126 9404 21110 \n3 16125 21111 9402 \n3 9403 21112 21113 \n3 21114 9407 21115 \n3 21116 16129 9405 \n3 9406 16133 21117 \n3 21118 9410 16128 \n3 21119 21120 9408 \n3 9409 21121 16130 \n3 16132 9413 21122 \n3 16131 21123 9411 \n3 9412 21124 21125 \n3 21126 9416 21127 \n3 21128 16135 9414 \n3 9415 16139 21129 \n3 21130 9419 16134 \n3 21131 21132 9417 \n3 9418 21133 16136 \n3 16138 9422 21134 \n3 16137 21135 9420 \n3 9421 21136 21137 \n3 21138 9425 21139 \n3 21140 16141 9423 \n3 9424 16145 21141 \n3 21142 9428 16140 \n3 21143 21144 9426 \n3 9427 21145 16142 \n3 16144 9431 21146 \n3 16143 21147 9429 \n3 9430 21148 21149 \n3 21150 9434 21151 \n3 21152 16147 9432 \n3 9433 16151 21153 \n3 21154 9437 16146 \n3 21155 21156 9435 \n3 9436 21157 16148 \n3 16150 9440 21158 \n3 16149 21159 9438 \n3 9439 21160 21161 \n3 21162 9443 21163 \n3 21164 16153 9441 \n3 9442 16157 21165 \n3 21166 9446 16152 \n3 21167 21168 9444 \n3 9445 21169 16154 \n3 16156 9449 21170 \n3 16155 21171 9447 \n3 9448 21172 21173 \n3 21174 9452 21175 \n3 21176 16159 9450 \n3 9451 16163 21177 \n3 21178 9455 16158 \n3 21179 21180 9453 \n3 9454 21181 16160 \n3 16162 9458 21182 \n3 16161 21183 9456 \n3 9457 21184 21185 \n3 21186 9461 21187 \n3 21188 16165 9459 \n3 9460 16169 21189 \n3 21190 9464 16164 \n3 21191 21192 9462 \n3 9463 21193 16166 \n3 16168 9467 21194 \n3 16167 21195 9465 \n3 9466 21196 21197 \n3 21198 9470 21199 \n3 21200 16171 9468 \n3 9469 16175 21201 \n3 21202 9473 16170 \n3 21203 21204 9471 \n3 9472 21205 16172 \n3 16174 9476 21206 \n3 16173 21207 9474 \n3 9475 21208 21209 \n3 21210 9479 21211 \n3 21212 16177 9477 \n3 9478 16181 21213 \n3 21214 9482 16176 \n3 21215 21216 9480 \n3 9481 21217 16178 \n3 16180 9485 21218 \n3 16179 21219 9483 \n3 9484 21220 21221 \n3 21222 9488 21223 \n3 21224 16183 9486 \n3 9487 16187 21225 \n3 21226 9491 16182 \n3 21227 21228 9489 \n3 9490 21229 16184 \n3 16186 9494 21230 \n3 16185 21231 9492 \n3 9493 21232 21233 \n3 21234 9497 21235 \n3 21236 16189 9495 \n3 9496 16193 21237 \n3 21238 9500 16188 \n3 21239 21240 9498 \n3 9499 21241 16190 \n3 16192 9503 21242 \n3 16191 21243 9501 \n3 9502 21244 21245 \n3 21246 9506 21247 \n3 21248 16195 9504 \n3 9505 16199 21249 \n3 21250 9509 16194 \n3 21251 21252 9507 \n3 9508 21253 16196 \n3 16198 9512 21254 \n3 16197 21255 9510 \n3 9511 21256 21257 \n3 21258 9515 21259 \n3 21260 16201 9513 \n3 9514 16205 21261 \n3 21262 9518 16200 \n3 21263 21264 9516 \n3 9517 21265 16202 \n3 16204 9521 21266 \n3 16203 21267 9519 \n3 9520 21268 21269 \n3 21270 9524 21271 \n3 21272 16207 9522 \n3 9523 16211 21273 \n3 21274 9527 16206 \n3 21275 21276 9525 \n3 9526 21277 16208 \n3 16210 9530 21278 \n3 16209 21279 9528 \n3 9529 21280 21281 \n3 21282 9533 21283 \n3 21284 16213 9531 \n3 9532 16217 21285 \n3 21286 9536 16212 \n3 21287 21288 9534 \n3 9535 21289 16214 \n3 16216 9539 21290 \n3 16215 21291 9537 \n3 9538 21292 21293 \n3 21294 9542 21295 \n3 21296 16219 9540 \n3 9541 16223 21297 \n3 21298 9545 16218 \n3 21299 21300 9543 \n3 9544 21301 16220 \n3 16222 9548 21302 \n3 16221 21303 9546 \n3 9547 21304 21305 \n3 21306 9551 21307 \n3 21308 16225 9549 \n3 9550 16229 21309 \n3 21310 9554 16224 \n3 21311 21312 9552 \n3 9553 21313 16226 \n3 16228 9557 21314 \n3 16227 21315 9555 \n3 9556 21316 21317 \n3 21318 9560 21319 \n3 21320 16231 9558 \n3 9559 16235 21321 \n3 21322 9563 16230 \n3 21323 21324 9561 \n3 9562 21325 16232 \n3 16234 9566 21326 \n3 16233 21327 9564 \n3 9565 21328 21329 \n3 21330 9569 21331 \n3 21332 16237 9567 \n3 9568 16241 21333 \n3 21334 9572 16236 \n3 21335 21336 9570 \n3 9571 21337 16238 \n3 16240 9575 21338 \n3 16239 21339 9573 \n3 9574 21340 21341 \n3 21342 9578 21343 \n3 21344 16243 9576 \n3 9577 16247 21345 \n3 21346 9581 16242 \n3 21347 21348 9579 \n3 9580 21349 16244 \n3 16246 9584 21350 \n3 16245 21351 9582 \n3 9583 21352 21353 \n3 21354 9587 21355 \n3 21356 16249 9585 \n3 9586 16253 21357 \n3 21358 9590 16248 \n3 21359 21360 9588 \n3 9589 21361 16250 \n3 16252 9593 21362 \n3 16251 21363 9591 \n3 9592 21364 21365 \n3 21366 9596 21367 \n3 21368 16255 9594 \n3 9595 16259 21369 \n3 21370 9599 16254 \n3 21371 21372 9597 \n3 9598 21373 16256 \n3 16258 9602 21374 \n3 16257 21375 9600 \n3 9601 21376 21377 \n3 21378 9605 21379 \n3 21380 16261 9603 \n3 9604 16265 21381 \n3 21382 9608 16260 \n3 21383 21384 9606 \n3 9607 21385 16262 \n3 16264 9611 21386 \n3 16263 21387 9609 \n3 9610 21388 21389 \n3 21390 9614 21391 \n3 21392 16267 9612 \n3 9613 16271 21393 \n3 21394 9617 16266 \n3 21395 21396 9615 \n3 9616 21397 16268 \n3 16270 9620 21398 \n3 16269 21399 9618 \n3 9619 21400 21401 \n3 21402 9623 21403 \n3 21404 16273 9621 \n3 9622 16277 21405 \n3 21406 9626 16272 \n3 21407 21408 9624 \n3 9625 21409 16274 \n3 16276 9629 21410 \n3 16275 21411 9627 \n3 9628 21412 21413 \n3 21414 9632 21415 \n3 21416 16279 9630 \n3 9631 16283 21417 \n3 21418 9635 16278 \n3 21419 21420 9633 \n3 9634 21421 16280 \n3 16282 9638 21422 \n3 16281 21423 9636 \n3 9637 21424 21425 \n3 21426 9641 21427 \n3 21428 16285 9639 \n3 9640 16289 21429 \n3 21430 9644 16284 \n3 21431 21432 9642 \n3 9643 21433 16286 \n3 16288 9647 21434 \n3 16287 21435 9645 \n3 9646 21436 21437 \n3 21438 9650 21439 \n3 21440 16291 9648 \n3 9649 16295 21441 \n3 21442 9653 16290 \n3 21443 21444 9651 \n3 9652 21445 16292 \n3 16294 9656 21446 \n3 16293 21447 9654 \n3 9655 21448 21449 \n3 21450 9659 21451 \n3 21452 16297 9657 \n3 9658 16301 21453 \n3 21454 9662 16296 \n3 21455 21456 9660 \n3 9661 21457 16298 \n3 16300 9665 21458 \n3 16299 21459 9663 \n3 9664 21460 21461 \n3 21462 9668 21463 \n3 21464 16303 9666 \n3 9667 16307 21465 \n3 21466 9671 16302 \n3 21467 21468 9669 \n3 9670 21469 16304 \n3 16306 9674 21470 \n3 16305 21471 9672 \n3 9673 21472 21473 \n3 21474 9677 21475 \n3 21476 16309 9675 \n3 9676 16313 21477 \n3 21478 9680 16308 \n3 21479 21480 9678 \n3 9679 21481 16310 \n3 16312 9683 21482 \n3 16311 21483 9681 \n3 9682 21484 21485 \n3 21486 9686 21487 \n3 21488 16315 9684 \n3 9685 16319 21489 \n3 21490 9689 16314 \n3 21491 21492 9687 \n3 9688 21493 16316 \n3 16318 9692 21494 \n3 16317 21495 9690 \n3 9691 21496 21497 \n3 21498 9695 21499 \n3 21500 16321 9693 \n3 9694 16325 21501 \n3 21502 9698 16320 \n3 21503 21504 9696 \n3 9697 21505 16322 \n3 16324 9701 21506 \n3 16323 21507 9699 \n3 9700 21508 21509 \n3 21510 9704 21511 \n3 21512 16327 9702 \n3 9703 16331 21513 \n3 21514 9707 16326 \n3 21515 21516 9705 \n3 9706 21517 16328 \n3 16330 9710 21518 \n3 16329 21519 9708 \n3 9709 21520 21521 \n3 21522 9713 21523 \n3 21524 16333 9711 \n3 9712 16337 21525 \n3 21526 9716 16332 \n3 21527 21528 9714 \n3 9715 21529 16334 \n3 16336 9719 21530 \n3 16335 21531 9717 \n3 9718 21532 21533 \n3 21534 9722 21535 \n3 21536 16339 9720 \n3 9721 16343 21537 \n3 21538 9725 16338 \n3 21539 21540 9723 \n3 9724 21541 16340 \n3 16342 9728 21542 \n3 16341 21543 9726 \n3 9727 21544 21545 \n3 21546 9731 21547 \n3 21548 16345 9729 \n3 9730 16349 21549 \n3 21550 9734 16344 \n3 21551 21552 9732 \n3 9733 21553 16346 \n3 16348 9737 21554 \n3 16347 21555 9735 \n3 9736 21556 21557 \n3 21558 9740 21559 \n3 21560 16351 9738 \n3 9739 16355 21561 \n3 21562 9743 16350 \n3 21563 21564 9741 \n3 9742 21565 16352 \n3 16354 9746 21566 \n3 16353 21567 9744 \n3 9745 21568 21569 \n3 21570 9749 21571 \n3 21572 16357 9747 \n3 9748 16361 21573 \n3 21574 9752 16356 \n3 21575 21576 9750 \n3 9751 21577 16358 \n3 16360 9755 21578 \n3 16359 21579 9753 \n3 9754 21580 21581 \n3 21582 9758 21583 \n3 21584 16363 9756 \n3 9757 16367 21585 \n3 21586 9761 16362 \n3 21587 21588 9759 \n3 9760 21589 16364 \n3 16366 9764 21590 \n3 16365 21591 9762 \n3 9763 21592 21593 \n3 21594 9767 21595 \n3 21596 16369 9765 \n3 9766 16373 21597 \n3 21598 9770 16368 \n3 21599 21600 9768 \n3 9769 21601 16370 \n3 16372 9773 21602 \n3 16371 21603 9771 \n3 9772 21604 21605 \n3 21606 9776 21607 \n3 21608 16375 9774 \n3 9775 16379 21609 \n3 21610 9779 16374 \n3 21611 21612 9777 \n3 9778 21613 16376 \n3 16378 9782 21614 \n3 16377 21615 9780 \n3 9781 21616 21617 \n3 21618 9785 21619 \n3 21620 16381 9783 \n3 9784 16385 21621 \n3 21622 9788 16380 \n3 21623 21624 9786 \n3 9787 21625 16382 \n3 16384 9791 21626 \n3 16383 21627 9789 \n3 9790 21628 21629 \n3 21630 9794 21631 \n3 21632 16387 9792 \n3 9793 16391 21633 \n3 21634 9797 16386 \n3 21635 21636 9795 \n3 9796 21637 16388 \n3 16390 9800 21638 \n3 16389 21639 9798 \n3 9799 21640 21641 \n3 21642 9803 21643 \n3 21644 16393 9801 \n3 9802 16397 21645 \n3 21646 9806 16392 \n3 21647 21648 9804 \n3 9805 21649 16394 \n3 16396 9809 21650 \n3 16395 21651 9807 \n3 9808 21652 21653 \n3 21654 9812 21655 \n3 21656 16399 9810 \n3 9811 16403 21657 \n3 21658 9815 16398 \n3 21659 21660 9813 \n3 9814 21661 16400 \n3 16402 9818 21662 \n3 16401 21663 9816 \n3 9817 21664 21665 \n3 21666 9821 21667 \n3 21668 16405 9819 \n3 9820 16409 21669 \n3 21670 9824 16404 \n3 21671 21672 9822 \n3 9823 21673 16406 \n3 16408 9827 21674 \n3 16407 21675 9825 \n3 9826 21676 21677 \n3 21678 9830 21679 \n3 21680 16411 9828 \n3 9829 16415 21681 \n3 21682 9833 16410 \n3 21683 21684 9831 \n3 9832 21685 16412 \n3 16414 9836 21686 \n3 16413 21687 9834 \n3 9835 21688 21689 \n3 21690 9839 21691 \n3 21692 16417 9837 \n3 9838 16421 21693 \n3 21694 9842 16416 \n3 21695 21696 9840 \n3 9841 21697 16418 \n3 16420 9845 21698 \n3 16419 21699 9843 \n3 9844 21700 21701 \n3 21702 9848 21703 \n3 21704 16423 9846 \n3 9847 16427 21705 \n3 21706 9851 16422 \n3 21707 21708 9849 \n3 9850 21709 16424 \n3 16426 9854 21710 \n3 16425 21711 9852 \n3 9853 21712 21713 \n3 21714 9857 21715 \n3 21716 16429 9855 \n3 9856 16433 21717 \n3 21718 9860 16428 \n3 21719 21720 9858 \n3 9859 21721 16430 \n3 16432 9863 21722 \n3 16431 21723 9861 \n3 9862 21724 21725 \n3 21726 9866 21727 \n3 21728 16435 9864 \n3 9865 16439 21729 \n3 21730 9869 16434 \n3 21731 21732 9867 \n3 9868 21733 16436 \n3 16438 9872 21734 \n3 16437 21735 9870 \n3 9871 21736 21737 \n3 21738 9875 21739 \n3 21740 16441 9873 \n3 9874 16445 21741 \n3 21742 9878 16440 \n3 21743 21744 9876 \n3 9877 21745 16442 \n3 16444 9881 21746 \n3 16443 21747 9879 \n3 9880 21748 21749 \n3 21750 9884 21751 \n3 21752 16447 9882 \n3 9883 16451 21753 \n3 21754 9887 16446 \n3 21755 21756 9885 \n3 9886 21757 16448 \n3 16450 9890 21758 \n3 16449 21759 9888 \n3 9889 21760 21761 \n3 21762 9893 21763 \n3 21764 16453 9891 \n3 9892 16457 21765 \n3 21766 9896 16452 \n3 21767 21768 9894 \n3 9895 21769 16454 \n3 16456 9899 21770 \n3 16455 21771 9897 \n3 9898 21772 21773 \n3 21774 9902 21775 \n3 21776 16459 9900 \n3 9901 16463 21777 \n3 21778 9905 16458 \n3 21779 21780 9903 \n3 9904 21781 16460 \n3 16462 9908 21782 \n3 16461 21783 9906 \n3 9907 21784 21785 \n3 21786 9911 21787 \n3 21788 16465 9909 \n3 9910 16469 21789 \n3 21790 9914 16464 \n3 21791 21792 9912 \n3 9913 21793 16466 \n3 16468 9917 21794 \n3 16467 21795 9915 \n3 9916 21796 21797 \n3 21798 9920 21799 \n3 21800 16471 9918 \n3 9919 16475 21801 \n3 21802 9923 16470 \n3 21803 21804 9921 \n3 9922 21805 16472 \n3 16474 9926 21806 \n3 16473 21807 9924 \n3 9925 21808 21809 \n3 21810 9929 21811 \n3 21812 16477 9927 \n3 9928 16481 21813 \n3 21814 9932 16476 \n3 21815 21816 9930 \n3 9931 21817 16478 \n3 16480 9935 21818 \n3 16479 21819 9933 \n3 9934 21820 21821 \n3 21822 9938 21823 \n3 21824 16483 9936 \n3 9937 16487 21825 \n3 21826 9941 16482 \n3 21827 21828 9939 \n3 9940 21829 16484 \n3 16486 9944 21830 \n3 16485 21831 9942 \n3 9943 21832 21833 \n3 21834 9947 21835 \n3 21836 16489 9945 \n3 9946 16493 21837 \n3 21838 9950 16488 \n3 21839 21840 9948 \n3 9949 21841 16490 \n3 16492 9953 21842 \n3 16491 21843 9951 \n3 9952 21844 21845 \n3 21846 9956 21847 \n3 21848 16495 9954 \n3 9955 16499 21849 \n3 21850 9959 16494 \n3 21851 21852 9957 \n3 9958 21853 16496 \n3 16498 9962 21854 \n3 16497 21855 9960 \n3 9961 21856 21857 \n3 21858 9965 21859 \n3 21860 16501 9963 \n3 9964 16505 21861 \n3 21862 9968 16500 \n3 21863 21864 9966 \n3 9967 21865 16502 \n3 16504 9971 21866 \n3 16503 21867 9969 \n3 9970 21868 21869 \n3 21870 9974 21871 \n3 21872 16507 9972 \n3 9973 16511 21873 \n3 21874 9977 16506 \n3 21875 21876 9975 \n3 9976 21877 16508 \n3 16510 9980 21878 \n3 16509 21879 9978 \n3 9979 21880 21881 \n3 21882 9983 21883 \n3 21884 16513 9981 \n3 9982 16517 21885 \n3 21886 9986 16512 \n3 21887 21888 9984 \n3 9985 21889 16514 \n3 16516 9989 21890 \n3 16515 21891 9987 \n3 9988 21892 21893 \n3 21894 9992 21895 \n3 21896 16519 9990 \n3 9991 16523 21897 \n3 21898 9995 16518 \n3 21899 21900 9993 \n3 9994 21901 16520 \n3 16522 9998 21902 \n3 16521 21903 9996 \n3 9997 21904 21905 \n3 21906 10001 21907 \n3 21908 16525 9999 \n3 10000 16529 21909 \n3 21910 10004 16524 \n3 21911 21912 10002 \n3 10003 21913 16526 \n3 16528 10007 21914 \n3 16527 21915 10005 \n3 10006 21916 21917 \n3 21918 10010 21919 \n3 21920 16531 10008 \n3 10009 16535 21921 \n3 21922 10013 16530 \n3 21923 21924 10011 \n3 10012 21925 16532 \n3 16534 10016 21926 \n3 16533 21927 10014 \n3 10015 21928 21929 \n3 21930 10019 21931 \n3 21932 16537 10017 \n3 10018 16541 21933 \n3 21934 10022 16536 \n3 21935 21936 10020 \n3 10021 21937 16538 \n3 16540 10025 21938 \n3 16539 21939 10023 \n3 10024 21940 21941 \n3 21942 10028 21943 \n3 21944 16543 10026 \n3 10027 16547 21945 \n3 21946 10031 16542 \n3 21947 21948 10029 \n3 10030 21949 16544 \n3 16546 10034 21950 \n3 16545 21951 10032 \n3 10033 21952 21953 \n3 21954 10037 21955 \n3 21956 16549 10035 \n3 10036 16553 21957 \n3 21958 10040 16548 \n3 21959 21960 10038 \n3 10039 21961 16550 \n3 16552 10043 21962 \n3 16551 21963 10041 \n3 10042 21964 21965 \n3 21966 10046 21967 \n3 21968 16555 10044 \n3 10045 16559 21969 \n3 21970 10049 16554 \n3 21971 21972 10047 \n3 10048 21973 16556 \n3 16558 10052 21974 \n3 16557 21975 10050 \n3 10051 21976 21977 \n3 21978 10055 21979 \n3 21980 16561 10053 \n3 10054 16565 21981 \n3 21982 10058 16560 \n3 21983 21984 10056 \n3 10057 21985 16562 \n3 16564 10061 21986 \n3 16563 21987 10059 \n3 10060 21988 21989 \n3 21990 10064 21991 \n3 21992 16567 10062 \n3 10063 16571 21993 \n3 21994 10067 16566 \n3 21995 21996 10065 \n3 10066 21997 16568 \n3 16570 10070 21998 \n3 16569 21999 10068 \n3 10069 22000 22001 \n3 22002 10073 22003 \n3 22004 16573 10071 \n3 10072 16577 22005 \n3 22006 10076 16572 \n3 22007 22008 10074 \n3 10075 22009 16574 \n3 16576 10079 22010 \n3 16575 22011 10077 \n3 10078 22012 22013 \n3 22014 10082 22015 \n3 22016 16579 10080 \n3 10081 16583 22017 \n3 22018 10085 16578 \n3 22019 22020 10083 \n3 10084 22021 16580 \n3 16582 10088 22022 \n3 16581 22023 10086 \n3 10087 22024 22025 \n3 22026 10091 22027 \n3 22028 16585 10089 \n3 10090 16589 22029 \n3 22030 10094 16584 \n3 22031 22032 10092 \n3 10093 22033 16586 \n3 16588 10097 22034 \n3 16587 22035 10095 \n3 10096 22036 22037 \n3 22038 10100 22039 \n3 22040 16591 10098 \n3 10099 16595 22041 \n3 22042 10103 16590 \n3 22043 22044 10101 \n3 10102 22045 16592 \n3 16594 10106 22046 \n3 16593 22047 10104 \n3 10105 22048 22049 \n3 22050 10109 22051 \n3 22052 16597 10107 \n3 10108 16601 22053 \n3 22054 10112 16596 \n3 22055 22056 10110 \n3 10111 22057 16598 \n3 16600 10115 22058 \n3 16599 22059 10113 \n3 10114 22060 22061 \n3 22062 10118 22063 \n3 22064 16603 10116 \n3 10117 16607 22065 \n3 22066 10121 16602 \n3 22067 22068 10119 \n3 10120 22069 16604 \n3 16606 10124 22070 \n3 16605 22071 10122 \n3 10123 22072 22073 \n3 22074 10127 22075 \n3 22076 16609 10125 \n3 10126 16613 22077 \n3 22078 10130 16608 \n3 22079 22080 10128 \n3 10129 22081 16610 \n3 16612 10133 22082 \n3 16611 22083 10131 \n3 10132 22084 22085 \n3 22086 10136 22087 \n3 22088 16615 10134 \n3 10135 16619 22089 \n3 22090 10139 16614 \n3 22091 22092 10137 \n3 10138 22093 16616 \n3 16618 10142 22094 \n3 16617 22095 10140 \n3 10141 22096 22097 \n3 22098 10145 22099 \n3 22100 16621 10143 \n3 10144 16625 22101 \n3 22102 10148 16620 \n3 22103 22104 10146 \n3 10147 22105 16622 \n3 16624 10151 22106 \n3 16623 22107 10149 \n3 10150 22108 22109 \n3 22110 10154 22111 \n3 22112 16627 10152 \n3 10153 16631 22113 \n3 22114 10157 16626 \n3 22115 22116 10155 \n3 10156 22117 16628 \n3 16630 10160 22118 \n3 16629 22119 10158 \n3 10159 22120 22121 \n3 22122 10163 22123 \n3 22124 16633 10161 \n3 10162 16637 22125 \n3 22126 10166 16632 \n3 22127 22128 10164 \n3 10165 22129 16634 \n3 16636 10169 22130 \n3 16635 22131 10167 \n3 10168 22132 22133 \n3 22134 10172 22135 \n3 22136 16639 10170 \n3 10171 16643 22137 \n3 22138 10175 16638 \n3 22139 22140 10173 \n3 10174 22141 16640 \n3 16642 10178 22142 \n3 16641 22143 10176 \n3 10177 22144 22145 \n3 22146 10181 22147 \n3 22148 16645 10179 \n3 10180 16649 22149 \n3 22150 10184 16644 \n3 22151 22152 10182 \n3 10183 22153 16646 \n3 16648 10187 22154 \n3 16647 22155 10185 \n3 10186 22156 22157 \n3 22158 10190 22159 \n3 22160 16651 10188 \n3 10189 16655 22161 \n3 22162 10193 16650 \n3 22163 22164 10191 \n3 10192 22165 16652 \n3 16654 10196 22166 \n3 16653 22167 10194 \n3 10195 22168 22169 \n3 22170 10199 22171 \n3 22172 16657 10197 \n3 10198 16661 22173 \n3 22174 10202 16656 \n3 22175 22176 10200 \n3 10201 22177 16658 \n3 16660 10205 22178 \n3 16659 22179 10203 \n3 10204 22180 22181 \n3 22182 10208 22183 \n3 22184 16663 10206 \n3 10207 16667 22185 \n3 22186 10211 16662 \n3 22187 22188 10209 \n3 10210 22189 16664 \n3 16666 10214 22190 \n3 16665 22191 10212 \n3 10213 22192 22193 \n3 22194 10217 22195 \n3 22196 16669 10215 \n3 10216 16673 22197 \n3 22198 10220 16668 \n3 22199 22200 10218 \n3 10219 22201 16670 \n3 16672 10223 22202 \n3 16671 22203 10221 \n3 10222 22204 22205 \n3 22206 10226 22207 \n3 22208 16675 10224 \n3 10225 16679 22209 \n3 22210 10229 16674 \n3 22211 22212 10227 \n3 10228 22213 16676 \n3 16678 10232 22214 \n3 16677 22215 10230 \n3 10231 22216 22217 \n3 22218 10235 22219 \n3 22220 16681 10233 \n3 10234 16685 22221 \n3 22222 10238 16680 \n3 22223 22224 10236 \n3 10237 22225 16682 \n3 16684 10241 22226 \n3 16683 22227 10239 \n3 10240 22228 22229 \n3 22230 10244 22231 \n3 22232 16687 10242 \n3 10243 16691 22233 \n3 22234 10247 16686 \n3 22235 22236 10245 \n3 10246 22237 16688 \n3 16690 10250 22238 \n3 16689 22239 10248 \n3 10249 22240 22241 \n3 22242 10253 22243 \n3 22244 16693 10251 \n3 10252 16697 22245 \n3 22246 10256 16692 \n3 22247 22248 10254 \n3 10255 22249 16694 \n3 16696 10259 22250 \n3 16695 22251 10257 \n3 10258 22252 22253 \n3 22254 10262 22255 \n3 22256 16699 10260 \n3 10261 16703 22257 \n3 22258 10265 16698 \n3 22259 22260 10263 \n3 10264 22261 16700 \n3 16702 10268 22262 \n3 16701 22263 10266 \n3 10267 22264 22265 \n3 22266 10271 22267 \n3 22268 16705 10269 \n3 10270 16709 22269 \n3 22270 10274 16704 \n3 22271 22272 10272 \n3 10273 22273 16706 \n3 16708 10277 22274 \n3 16707 22275 10275 \n3 10276 22276 22277 \n3 22278 10280 22279 \n3 22280 16711 10278 \n3 10279 16715 22281 \n3 22282 10283 16710 \n3 22283 22284 10281 \n3 10282 22285 16712 \n3 16714 10286 22286 \n3 16713 22287 10284 \n3 10285 22288 22289 \n3 22290 10289 22291 \n3 22292 16717 10287 \n3 10288 16721 22293 \n3 22294 10292 16716 \n3 22295 22296 10290 \n3 10291 22297 16718 \n3 16720 10295 22298 \n3 16719 22299 10293 \n3 10294 22300 22301 \n3 22302 10298 22303 \n3 22304 16723 10296 \n3 10297 16727 22305 \n3 22306 10301 16722 \n3 22307 22308 10299 \n3 10300 22309 16724 \n3 16726 10304 22310 \n3 16725 22311 10302 \n3 10303 22312 22313 \n3 22314 10307 22315 \n3 22316 16729 10305 \n3 10306 16733 22317 \n3 22318 10310 16728 \n3 22319 22320 10308 \n3 10309 22321 16730 \n3 16732 10313 22322 \n3 16731 22323 10311 \n3 10312 22324 22325 \n3 22326 10316 22327 \n3 22328 16735 10314 \n3 10315 16739 22329 \n3 22330 10319 16734 \n3 22331 22332 10317 \n3 10318 22333 16736 \n3 16738 10322 22334 \n3 16737 22335 10320 \n3 10321 22336 22337 \n3 22338 10325 22339 \n3 22340 16741 10323 \n3 10324 16745 22341 \n3 22342 10328 16740 \n3 22343 22344 10326 \n3 10327 22345 16742 \n3 16744 10331 22346 \n3 16743 22347 10329 \n3 10330 22348 22349 \n3 22350 10334 22351 \n3 22352 16747 10332 \n3 10333 16751 22353 \n3 22354 10337 16746 \n3 22355 22356 10335 \n3 10336 22357 16748 \n3 16750 10340 22358 \n3 16749 22359 10338 \n3 10339 22360 22361 \n3 22362 10343 22363 \n3 22364 16753 10341 \n3 10342 16757 22365 \n3 22366 10346 16752 \n3 22367 22368 10344 \n3 10345 22369 16754 \n3 16756 10349 22370 \n3 16755 22371 10347 \n3 10348 22372 22373 \n3 22374 10352 22375 \n3 22376 16759 10350 \n3 10351 16763 22377 \n3 22378 10355 16758 \n3 22379 22380 10353 \n3 10354 22381 16760 \n3 16762 10358 22382 \n3 16761 22383 10356 \n3 10357 22384 22385 \n3 22386 10361 22387 \n3 22388 16765 10359 \n3 10360 16769 22389 \n3 22390 10364 16764 \n3 22391 22392 10362 \n3 10363 22393 16766 \n3 16768 10367 22394 \n3 16767 22395 10365 \n3 10366 22396 22397 \n3 22398 10370 22399 \n3 22400 16771 10368 \n3 10369 16775 22401 \n3 22402 10373 16770 \n3 22403 22404 10371 \n3 10372 22405 16772 \n3 16774 10376 22406 \n3 16773 22407 10374 \n3 10375 22408 22409 \n3 22410 10379 22411 \n3 22412 16777 10377 \n3 10378 16781 22413 \n3 22414 10382 16776 \n3 22415 22416 10380 \n3 10381 22417 16778 \n3 16780 10385 22418 \n3 16779 22419 10383 \n3 10384 22420 22421 \n3 22422 10388 22423 \n3 22424 16783 10386 \n3 10387 16787 22425 \n3 22426 10391 16782 \n3 22427 22428 10389 \n3 10390 22429 16784 \n3 16786 10394 22430 \n3 16785 22431 10392 \n3 10393 22432 22433 \n3 22434 10397 22435 \n3 22436 16789 10395 \n3 10396 16793 22437 \n3 22438 10400 16788 \n3 22439 22440 10398 \n3 10399 22441 16790 \n3 16792 10403 22442 \n3 16791 22443 10401 \n3 10402 22444 22445 \n3 22446 10406 22447 \n3 22448 16795 10404 \n3 10405 16799 22449 \n3 22450 10409 16794 \n3 22451 22452 10407 \n3 10408 22453 16796 \n3 16798 10412 22454 \n3 16797 22455 10410 \n3 10411 22456 22457 \n3 22458 10415 22459 \n3 22460 16801 10413 \n3 10414 16805 22461 \n3 22462 10418 16800 \n3 22463 22464 10416 \n3 10417 22465 16802 \n3 16804 10421 22466 \n3 16803 22467 10419 \n3 10420 22468 22469 \n3 22470 10424 22471 \n3 22472 16807 10422 \n3 10423 16811 22473 \n3 22474 10427 16806 \n3 22475 22476 10425 \n3 10426 22477 16808 \n3 16810 10430 22478 \n3 16809 22479 10428 \n3 10429 22480 22481 \n3 22482 10433 22483 \n3 22484 16813 10431 \n3 10432 16817 22485 \n3 22486 10436 16812 \n3 22487 22488 10434 \n3 10435 22489 16814 \n3 16816 10439 22490 \n3 16815 22491 10437 \n3 10438 22492 22493 \n3 22494 10442 22495 \n3 22496 16819 10440 \n3 10441 16823 22497 \n3 22498 10445 16818 \n3 22499 22500 10443 \n3 10444 22501 16820 \n3 16822 10448 22502 \n3 16821 22503 10446 \n3 10447 22504 22505 \n3 22506 10451 22507 \n3 22508 16825 10449 \n3 10450 16829 22509 \n3 22510 10454 16824 \n3 22511 22512 10452 \n3 10453 22513 16826 \n3 16828 10457 22514 \n3 16827 22515 10455 \n3 10456 22516 22517 \n3 22518 10460 22519 \n3 22520 16831 10458 \n3 10459 16835 22521 \n3 22522 10463 16830 \n3 22523 22524 10461 \n3 10462 22525 16832 \n3 16834 10466 22526 \n3 16833 22527 10464 \n3 10465 22528 22529 \n3 22530 10469 22531 \n3 22532 16837 10467 \n3 10468 16841 22533 \n3 22534 10472 16836 \n3 22535 22536 10470 \n3 10471 22537 16838 \n3 16840 10475 22538 \n3 16839 22539 10473 \n3 10474 22540 22541 \n3 22542 10478 22543 \n3 22544 16843 10476 \n3 10477 16847 22545 \n3 22546 10481 16842 \n3 22547 22548 10479 \n3 10480 22549 16844 \n3 16846 10484 22550 \n3 16845 22551 10482 \n3 10483 22552 22553 \n3 22554 10487 22555 \n3 22556 16849 10485 \n3 10486 16853 22557 \n3 22558 10490 16848 \n3 22559 22560 10488 \n3 10489 22561 16850 \n3 16852 10493 22562 \n3 16851 22563 10491 \n3 10492 22564 22565 \n3 22566 10496 22567 \n3 22568 16855 10494 \n3 10495 16859 22569 \n3 22570 10499 16854 \n3 22571 22572 10497 \n3 10498 22573 16856 \n3 16858 10502 22574 \n3 16857 22575 10500 \n3 10501 22576 22577 \n3 22578 10505 22579 \n3 22580 16861 10503 \n3 10504 16865 22581 \n3 22582 10508 16860 \n3 22583 22584 10506 \n3 10507 22585 16862 \n3 16864 10511 22586 \n3 16863 22587 10509 \n3 10510 22588 22589 \n3 22590 10514 22591 \n3 22592 16867 10512 \n3 10513 16871 22593 \n3 22594 10517 16866 \n3 22595 22596 10515 \n3 10516 22597 16868 \n3 16870 10520 22598 \n3 16869 22599 10518 \n3 10519 22600 22601 \n3 22602 10523 22603 \n3 22604 16873 10521 \n3 10522 16877 22605 \n3 22606 10526 16872 \n3 22607 22608 10524 \n3 10525 22609 16874 \n3 16876 10529 22610 \n3 16875 22611 10527 \n3 10528 22612 22613 \n3 22614 10532 22615 \n3 22616 16879 10530 \n3 10531 16883 22617 \n3 22618 10535 16878 \n3 22619 22620 10533 \n3 10534 22621 16880 \n3 16882 10538 22622 \n3 16881 22623 10536 \n3 10537 22624 22625 \n3 22626 10541 22627 \n3 22628 16885 10539 \n3 10540 16889 22629 \n3 22630 10544 16884 \n3 22631 22632 10542 \n3 10543 22633 16886 \n3 16888 10547 22634 \n3 16887 22635 10545 \n3 10546 22636 22637 \n3 22638 10550 22639 \n3 22640 16891 10548 \n3 10549 16895 22641 \n3 22642 10553 16890 \n3 22643 22644 10551 \n3 10552 22645 16892 \n3 16894 10556 22646 \n3 16893 22647 10554 \n3 10555 22648 22649 \n3 22650 10559 22651 \n3 22652 16897 10557 \n3 10558 16901 22653 \n3 22654 10562 16896 \n3 22655 22656 10560 \n3 10561 22657 16898 \n3 16900 10565 22658 \n3 16899 22659 10563 \n3 10564 22660 22661 \n3 22662 10568 22663 \n3 22664 16903 10566 \n3 10567 16907 22665 \n3 22666 10571 16902 \n3 22667 20359 10569 \n3 10570 20361 16904 \n3 16906 10574 22668 \n3 16905 20366 10572 \n3 10573 20369 22669 \n3 22670 10577 20358 \n3 22671 16909 10575 \n3 10576 16913 20360 \n3 22672 10580 16908 \n3 22673 22674 10578 \n3 10579 22675 16910 \n3 16912 10583 20362 \n3 16911 22676 10581 \n3 10582 22677 20363 \n3 20368 10586 22678 \n3 20367 16915 10584 \n3 10585 16919 22679 \n3 20365 10589 16914 \n3 20364 22680 10587 \n3 10588 22681 16916 \n3 16918 10592 22682 \n3 16917 22683 10590 \n3 10591 22684 22685 \n3 22686 10595 22687 \n3 22688 16921 10593 \n3 10594 16925 22689 \n3 22690 10598 16920 \n3 22691 20371 10596 \n3 10597 20373 16922 \n3 16924 10601 22692 \n3 16923 20378 10599 \n3 10600 20381 22693 \n3 22694 10604 20370 \n3 22695 16927 10602 \n3 10603 16931 20372 \n3 22696 10607 16926 \n3 22697 22698 10605 \n3 10606 22699 16928 \n3 16930 10610 20374 \n3 16929 22700 10608 \n3 10609 22701 20375 \n3 20380 10613 22702 \n3 20379 16933 10611 \n3 10612 16937 22703 \n3 20377 10616 16932 \n3 20376 22704 10614 \n3 10615 22705 16934 \n3 16936 10619 22706 \n3 16935 22707 10617 \n3 10618 22708 22709 \n3 22710 10622 22711 \n3 22712 16939 10620 \n3 10621 16943 22713 \n3 22714 10625 16938 \n3 22715 20383 10623 \n3 10624 20385 16940 \n3 16942 10628 22716 \n3 16941 20390 10626 \n3 10627 20393 22717 \n3 22718 10631 20382 \n3 22719 16945 10629 \n3 10630 16949 20384 \n3 22720 10634 16944 \n3 22721 22722 10632 \n3 10633 22723 16946 \n3 16948 10637 20386 \n3 16947 22724 10635 \n3 10636 22725 20387 \n3 20392 10640 22726 \n3 20391 16951 10638 \n3 10639 16955 22727 \n3 20389 10643 16950 \n3 20388 22728 10641 \n3 10642 22729 16952 \n3 16954 10646 22730 \n3 16953 22731 10644 \n3 10645 22732 22733 \n3 22734 10649 22735 \n3 22736 16957 10647 \n3 10648 16961 22737 \n3 22738 10652 16956 \n3 22739 20395 10650 \n3 10651 20397 16958 \n3 16960 10655 22740 \n3 16959 20402 10653 \n3 10654 20405 22741 \n3 22742 10658 20394 \n3 22743 16963 10656 \n3 10657 16967 20396 \n3 22744 10661 16962 \n3 22745 22746 10659 \n3 10660 22747 16964 \n3 16966 10664 20398 \n3 16965 22748 10662 \n3 10663 22749 20399 \n3 20404 10667 22750 \n3 20403 16969 10665 \n3 10666 16973 22751 \n3 20401 10670 16968 \n3 20400 22752 10668 \n3 10669 22753 16970 \n3 16972 10673 22754 \n3 16971 22755 10671 \n3 10672 22756 22757 \n3 22758 10676 22759 \n3 22760 16975 10674 \n3 10675 16979 22761 \n3 22762 10679 16974 \n3 22763 20407 10677 \n3 10678 20409 16976 \n3 16978 10682 22764 \n3 16977 20414 10680 \n3 10681 20417 22765 \n3 22766 10685 20406 \n3 22767 16981 10683 \n3 10684 16985 20408 \n3 22768 10688 16980 \n3 22769 22770 10686 \n3 10687 22771 16982 \n3 16984 10691 20410 \n3 16983 22772 10689 \n3 10690 22773 20411 \n3 20416 10694 22774 \n3 20415 16987 10692 \n3 10693 16991 22775 \n3 20413 10697 16986 \n3 20412 22776 10695 \n3 10696 22777 16988 \n3 16990 10700 22778 \n3 16989 22779 10698 \n3 10699 22780 22781 \n3 22782 10703 22783 \n3 22784 16993 10701 \n3 10702 16997 22785 \n3 22786 10706 16992 \n3 22787 20419 10704 \n3 10705 20421 16994 \n3 16996 10709 22788 \n3 16995 20426 10707 \n3 10708 20429 22789 \n3 22790 10712 20418 \n3 22791 16999 10710 \n3 10711 17003 20420 \n3 22792 10715 16998 \n3 22793 22794 10713 \n3 10714 22795 17000 \n3 17002 10718 20422 \n3 17001 22796 10716 \n3 10717 22797 20423 \n3 20428 10721 22798 \n3 20427 17005 10719 \n3 10720 17009 22799 \n3 20425 10724 17004 \n3 20424 22800 10722 \n3 10723 22801 17006 \n3 17008 10727 22802 \n3 17007 22803 10725 \n3 10726 22804 22805 \n3 22806 10730 22807 \n3 22808 17011 10728 \n3 10729 17015 22809 \n3 22810 10733 17010 \n3 22811 20431 10731 \n3 10732 20433 17012 \n3 17014 10736 22812 \n3 17013 20438 10734 \n3 10735 20441 22813 \n3 22814 10739 20430 \n3 22815 17017 10737 \n3 10738 17021 20432 \n3 22816 10742 17016 \n3 22817 22818 10740 \n3 10741 22819 17018 \n3 17020 10745 20434 \n3 17019 22820 10743 \n3 10744 22821 20435 \n3 20440 10748 22822 \n3 20439 17023 10746 \n3 10747 17027 22823 \n3 20437 10751 17022 \n3 20436 22824 10749 \n3 10750 22825 17024 \n3 17026 10754 22826 \n3 17025 22827 10752 \n3 10753 22828 22829 \n3 22830 10757 22831 \n3 22832 17029 10755 \n3 10756 17033 22833 \n3 22834 10760 17028 \n3 22835 20443 10758 \n3 10759 20445 17030 \n3 17032 10763 22836 \n3 17031 20450 10761 \n3 10762 20453 22837 \n3 22838 10766 20442 \n3 22839 17035 10764 \n3 10765 17039 20444 \n3 22840 10769 17034 \n3 22841 22842 10767 \n3 10768 22843 17036 \n3 17038 10772 20446 \n3 17037 22844 10770 \n3 10771 22845 20447 \n3 20452 10775 22846 \n3 20451 17041 10773 \n3 10774 17045 22847 \n3 20449 10778 17040 \n3 20448 22848 10776 \n3 10777 22849 17042 \n3 17044 10781 22850 \n3 17043 22851 10779 \n3 10780 22852 22853 \n3 22854 10784 22855 \n3 22856 17047 10782 \n3 10783 17051 22857 \n3 22858 10787 17046 \n3 22859 20455 10785 \n3 10786 20457 17048 \n3 17050 10790 22860 \n3 17049 20462 10788 \n3 10789 20465 22861 \n3 22862 10793 20454 \n3 22863 17053 10791 \n3 10792 17057 20456 \n3 22864 10796 17052 \n3 22865 22866 10794 \n3 10795 22867 17054 \n3 17056 10799 20458 \n3 17055 22868 10797 \n3 10798 22869 20459 \n3 20464 10802 22870 \n3 20463 17059 10800 \n3 10801 17063 22871 \n3 20461 10805 17058 \n3 20460 22872 10803 \n3 10804 22873 17060 \n3 17062 10808 22874 \n3 17061 22875 10806 \n3 10807 22876 22877 \n3 22878 10811 22879 \n3 22880 17065 10809 \n3 10810 17069 22881 \n3 22882 10814 17064 \n3 22883 20467 10812 \n3 10813 20469 17066 \n3 17068 10817 22884 \n3 17067 20474 10815 \n3 10816 20477 22885 \n3 22886 10820 20466 \n3 22887 17071 10818 \n3 10819 17075 20468 \n3 22888 10823 17070 \n3 22889 22890 10821 \n3 10822 22891 17072 \n3 17074 10826 20470 \n3 17073 22892 10824 \n3 10825 22893 20471 \n3 20476 10829 22894 \n3 20475 17077 10827 \n3 10828 17081 22895 \n3 20473 10832 17076 \n3 20472 22896 10830 \n3 10831 22897 17078 \n3 17080 10835 22898 \n3 17079 22899 10833 \n3 10834 22900 22901 \n3 22902 10838 22903 \n3 22904 17083 10836 \n3 10837 17087 22905 \n3 22906 10841 17082 \n3 22907 20479 10839 \n3 10840 20481 17084 \n3 17086 10844 22908 \n3 17085 20486 10842 \n3 10843 20489 22909 \n3 22910 10847 20478 \n3 22911 17089 10845 \n3 10846 17093 20480 \n3 22912 10850 17088 \n3 22913 22914 10848 \n3 10849 22915 17090 \n3 17092 10853 20482 \n3 17091 22916 10851 \n3 10852 22917 20483 \n3 20488 10856 22918 \n3 20487 17095 10854 \n3 10855 17099 22919 \n3 20485 10859 17094 \n3 20484 22920 10857 \n3 10858 22921 17096 \n3 17098 10862 22922 \n3 17097 22923 10860 \n3 10861 22924 22925 \n3 22926 10865 22927 \n3 22928 17101 10863 \n3 10864 17105 22929 \n3 22930 10868 17100 \n3 22931 20491 10866 \n3 10867 20493 17102 \n3 17104 10871 22932 \n3 17103 20498 10869 \n3 10870 20501 22933 \n3 22934 10874 20490 \n3 22935 17107 10872 \n3 10873 17111 20492 \n3 22936 10877 17106 \n3 22937 22938 10875 \n3 10876 22939 17108 \n3 17110 10880 20494 \n3 17109 22940 10878 \n3 10879 22941 20495 \n3 20500 10883 22942 \n3 20499 17113 10881 \n3 10882 17117 22943 \n3 20497 10886 17112 \n3 20496 22944 10884 \n3 10885 22945 17114 \n3 17116 10889 22946 \n3 17115 22947 10887 \n3 10888 22948 22949 \n3 22950 10892 22951 \n3 22952 17119 10890 \n3 10891 17123 22953 \n3 22954 10895 17118 \n3 22955 20503 10893 \n3 10894 20505 17120 \n3 17122 10898 22956 \n3 17121 20510 10896 \n3 10897 20513 22957 \n3 22958 10901 20502 \n3 22959 17125 10899 \n3 10900 17129 20504 \n3 22960 10904 17124 \n3 22961 22962 10902 \n3 10903 22963 17126 \n3 17128 10907 20506 \n3 17127 22964 10905 \n3 10906 22965 20507 \n3 20512 10910 22966 \n3 20511 17131 10908 \n3 10909 17135 22967 \n3 20509 10913 17130 \n3 20508 22968 10911 \n3 10912 22969 17132 \n3 17134 10916 22970 \n3 17133 22971 10914 \n3 10915 22972 22973 \n3 22974 10919 22975 \n3 22976 17137 10917 \n3 10918 17141 22977 \n3 22978 10922 17136 \n3 22979 20515 10920 \n3 10921 20517 17138 \n3 17140 10925 22980 \n3 17139 20522 10923 \n3 10924 20525 22981 \n3 22982 10928 20514 \n3 22983 17143 10926 \n3 10927 17147 20516 \n3 22984 10931 17142 \n3 22985 22986 10929 \n3 10930 22987 17144 \n3 17146 10934 20518 \n3 17145 22988 10932 \n3 10933 22989 20519 \n3 20524 10937 22990 \n3 20523 17149 10935 \n3 10936 17153 22991 \n3 20521 10940 17148 \n3 20520 22992 10938 \n3 10939 22993 17150 \n3 17152 10943 22994 \n3 17151 22995 10941 \n3 10942 22996 22997 \n3 22998 10946 22999 \n3 23000 17155 10944 \n3 10945 17159 23001 \n3 23002 10949 17154 \n3 23003 20527 10947 \n3 10948 20529 17156 \n3 17158 10952 23004 \n3 17157 20534 10950 \n3 10951 20537 23005 \n3 23006 10955 20526 \n3 23007 17161 10953 \n3 10954 17165 20528 \n3 23008 10958 17160 \n3 23009 23010 10956 \n3 10957 23011 17162 \n3 17164 10961 20530 \n3 17163 23012 10959 \n3 10960 23013 20531 \n3 20536 10964 23014 \n3 20535 17167 10962 \n3 10963 17171 23015 \n3 20533 10967 17166 \n3 20532 23016 10965 \n3 10966 23017 17168 \n3 17170 10970 23018 \n3 17169 23019 10968 \n3 10969 23020 23021 \n3 23022 10973 23023 \n3 23024 17173 10971 \n3 10972 17177 23025 \n3 23026 10976 17172 \n3 23027 20539 10974 \n3 10975 20541 17174 \n3 17176 10979 23028 \n3 17175 20546 10977 \n3 10978 20549 23029 \n3 23030 10982 20538 \n3 23031 17179 10980 \n3 10981 17183 20540 \n3 23032 10985 17178 \n3 23033 23034 10983 \n3 10984 23035 17180 \n3 17182 10988 20542 \n3 17181 23036 10986 \n3 10987 23037 20543 \n3 20548 10991 23038 \n3 20547 17185 10989 \n3 10990 17189 23039 \n3 20545 10994 17184 \n3 20544 23040 10992 \n3 10993 23041 17186 \n3 17188 10997 23042 \n3 17187 23043 10995 \n3 10996 23044 23045 \n3 23046 11000 23047 \n3 23048 17191 10998 \n3 10999 17195 23049 \n3 23050 11003 17190 \n3 23051 20551 11001 \n3 11002 20553 17192 \n3 17194 11006 23052 \n3 17193 20558 11004 \n3 11005 20561 23053 \n3 23054 11009 20550 \n3 23055 17197 11007 \n3 11008 17201 20552 \n3 23056 11012 17196 \n3 23057 23058 11010 \n3 11011 23059 17198 \n3 17200 11015 20554 \n3 17199 23060 11013 \n3 11014 23061 20555 \n3 20560 11018 23062 \n3 20559 17203 11016 \n3 11017 17207 23063 \n3 20557 11021 17202 \n3 20556 23064 11019 \n3 11020 23065 17204 \n3 17206 11024 23066 \n3 17205 23067 11022 \n3 11023 23068 23069 \n3 23070 11027 23071 \n3 23072 17209 11025 \n3 11026 17213 23073 \n3 23074 11030 17208 \n3 23075 20563 11028 \n3 11029 20565 17210 \n3 17212 11033 23076 \n3 17211 20570 11031 \n3 11032 20573 23077 \n3 23078 11036 20562 \n3 23079 17215 11034 \n3 11035 17219 20564 \n3 23080 11039 17214 \n3 23081 23082 11037 \n3 11038 23083 17216 \n3 17218 11042 20566 \n3 17217 23084 11040 \n3 11041 23085 20567 \n3 20572 11045 23086 \n3 20571 17221 11043 \n3 11044 17225 23087 \n3 20569 11048 17220 \n3 20568 23088 11046 \n3 11047 23089 17222 \n3 17224 11051 23090 \n3 17223 23091 11049 \n3 11050 23092 23093 \n3 23094 11054 23095 \n3 23096 17227 11052 \n3 11053 17231 23097 \n3 23098 11057 17226 \n3 23099 20575 11055 \n3 11056 20577 17228 \n3 17230 11060 23100 \n3 17229 20582 11058 \n3 11059 20585 23101 \n3 23102 11063 20574 \n3 23103 17233 11061 \n3 11062 17237 20576 \n3 23104 11066 17232 \n3 23105 23106 11064 \n3 11065 23107 17234 \n3 17236 11069 20578 \n3 17235 23108 11067 \n3 11068 23109 20579 \n3 20584 11072 23110 \n3 20583 17239 11070 \n3 11071 17243 23111 \n3 20581 11075 17238 \n3 20580 23112 11073 \n3 11074 23113 17240 \n3 17242 11078 23114 \n3 17241 23115 11076 \n3 11077 23116 23117 \n3 23118 11081 23119 \n3 23120 17245 11079 \n3 11080 17249 23121 \n3 23122 11084 17244 \n3 23123 20587 11082 \n3 11083 20589 17246 \n3 17248 11087 23124 \n3 17247 20594 11085 \n3 11086 20597 23125 \n3 23126 11090 20586 \n3 23127 17251 11088 \n3 11089 17255 20588 \n3 23128 11093 17250 \n3 23129 23130 11091 \n3 11092 23131 17252 \n3 17254 11096 20590 \n3 17253 23132 11094 \n3 11095 23133 20591 \n3 20596 11099 23134 \n3 20595 17257 11097 \n3 11098 17261 23135 \n3 20593 11102 17256 \n3 20592 23136 11100 \n3 11101 23137 17258 \n3 17260 11105 23138 \n3 17259 23139 11103 \n3 11104 23140 23141 \n3 23142 11108 23143 \n3 23144 17263 11106 \n3 11107 17267 23145 \n3 23146 11111 17262 \n3 23147 20599 11109 \n3 11110 20601 17264 \n3 17266 11114 23148 \n3 17265 20606 11112 \n3 11113 20609 23149 \n3 23150 11117 20598 \n3 23151 17269 11115 \n3 11116 17273 20600 \n3 23152 11120 17268 \n3 23153 23154 11118 \n3 11119 23155 17270 \n3 17272 11123 20602 \n3 17271 23156 11121 \n3 11122 23157 20603 \n3 20608 11126 23158 \n3 20607 17275 11124 \n3 11125 17279 23159 \n3 20605 11129 17274 \n3 20604 23160 11127 \n3 11128 23161 17276 \n3 17278 11132 23162 \n3 17277 23163 11130 \n3 11131 23164 23165 \n3 23166 11135 23167 \n3 23168 17281 11133 \n3 11134 17285 23169 \n3 23170 11138 17280 \n3 23171 20611 11136 \n3 11137 20613 17282 \n3 17284 11141 23172 \n3 17283 20618 11139 \n3 11140 20621 23173 \n3 23174 11144 20610 \n3 23175 17287 11142 \n3 11143 17291 20612 \n3 23176 11147 17286 \n3 23177 23178 11145 \n3 11146 23179 17288 \n3 17290 11150 20614 \n3 17289 23180 11148 \n3 11149 23181 20615 \n3 20620 11153 23182 \n3 20619 17293 11151 \n3 11152 17297 23183 \n3 20617 11156 17292 \n3 20616 23184 11154 \n3 11155 23185 17294 \n3 17296 11159 23186 \n3 17295 23187 11157 \n3 11158 23188 23189 \n3 23190 11162 23191 \n3 23192 17299 11160 \n3 11161 17303 23193 \n3 23194 11165 17298 \n3 23195 20623 11163 \n3 11164 20625 17300 \n3 17302 11168 23196 \n3 17301 20630 11166 \n3 11167 20633 23197 \n3 23198 11171 20622 \n3 23199 17305 11169 \n3 11170 17309 20624 \n3 23200 11174 17304 \n3 23201 23202 11172 \n3 11173 23203 17306 \n3 17308 11177 20626 \n3 17307 23204 11175 \n3 11176 23205 20627 \n3 20632 11180 23206 \n3 20631 17311 11178 \n3 11179 17315 23207 \n3 20629 11183 17310 \n3 20628 23208 11181 \n3 11182 23209 17312 \n3 17314 11186 23210 \n3 17313 23211 11184 \n3 11185 23212 23213 \n3 23214 11189 23215 \n3 23216 17317 11187 \n3 11188 17321 23217 \n3 23218 11192 17316 \n3 23219 20635 11190 \n3 11191 20637 17318 \n3 17320 11195 23220 \n3 17319 20642 11193 \n3 11194 20645 23221 \n3 23222 11198 20634 \n3 23223 17323 11196 \n3 11197 17327 20636 \n3 23224 11201 17322 \n3 23225 23226 11199 \n3 11200 23227 17324 \n3 17326 11204 20638 \n3 17325 23228 11202 \n3 11203 23229 20639 \n3 20644 11207 23230 \n3 20643 17329 11205 \n3 11206 17333 23231 \n3 20641 11210 17328 \n3 20640 23232 11208 \n3 11209 23233 17330 \n3 17332 11213 23234 \n3 17331 23235 11211 \n3 11212 23236 23237 \n3 23238 11216 23239 \n3 23240 17335 11214 \n3 11215 17339 23241 \n3 23242 11219 17334 \n3 23243 20647 11217 \n3 11218 20649 17336 \n3 17338 11222 23244 \n3 17337 20654 11220 \n3 11221 20657 23245 \n3 23246 11225 20646 \n3 23247 17341 11223 \n3 11224 17345 20648 \n3 23248 11228 17340 \n3 23249 23250 11226 \n3 11227 23251 17342 \n3 17344 11231 20650 \n3 17343 23252 11229 \n3 11230 23253 20651 \n3 20656 11234 23254 \n3 20655 17347 11232 \n3 11233 17351 23255 \n3 20653 11237 17346 \n3 20652 23256 11235 \n3 11236 23257 17348 \n3 17350 11240 23258 \n3 17349 23259 11238 \n3 11239 23260 23261 \n3 23262 11243 23263 \n3 23264 17353 11241 \n3 11242 17357 23265 \n3 23266 11246 17352 \n3 23267 20659 11244 \n3 11245 20661 17354 \n3 17356 11249 23268 \n3 17355 20666 11247 \n3 11248 20669 23269 \n3 23270 11252 20658 \n3 23271 17359 11250 \n3 11251 17363 20660 \n3 23272 11255 17358 \n3 23273 23274 11253 \n3 11254 23275 17360 \n3 17362 11258 20662 \n3 17361 23276 11256 \n3 11257 23277 20663 \n3 20668 11261 23278 \n3 20667 17365 11259 \n3 11260 17369 23279 \n3 20665 11264 17364 \n3 20664 23280 11262 \n3 11263 23281 17366 \n3 17368 11267 23282 \n3 17367 23283 11265 \n3 11266 23284 23285 \n3 23286 11270 23287 \n3 23288 17371 11268 \n3 11269 17375 23289 \n3 23290 11273 17370 \n3 23291 20671 11271 \n3 11272 20673 17372 \n3 17374 11276 23292 \n3 17373 20678 11274 \n3 11275 20681 23293 \n3 23294 11279 20670 \n3 23295 17377 11277 \n3 11278 17381 20672 \n3 23296 11282 17376 \n3 23297 23298 11280 \n3 11281 23299 17378 \n3 17380 11285 20674 \n3 17379 23300 11283 \n3 11284 23301 20675 \n3 20680 11288 23302 \n3 20679 17383 11286 \n3 11287 17387 23303 \n3 20677 11291 17382 \n3 20676 23304 11289 \n3 11290 23305 17384 \n3 17386 11294 23306 \n3 17385 23307 11292 \n3 11293 23308 23309 \n3 23310 11297 23311 \n3 23312 17389 11295 \n3 11296 17393 23313 \n3 23314 11300 17388 \n3 23315 20683 11298 \n3 11299 20685 17390 \n3 17392 11303 23316 \n3 17391 20690 11301 \n3 11302 20693 23317 \n3 23318 11306 20682 \n3 23319 17395 11304 \n3 11305 17399 20684 \n3 23320 11309 17394 \n3 23321 23322 11307 \n3 11308 23323 17396 \n3 17398 11312 20686 \n3 17397 23324 11310 \n3 11311 23325 20687 \n3 20692 11315 23326 \n3 20691 17401 11313 \n3 11314 17405 23327 \n3 20689 11318 17400 \n3 20688 23328 11316 \n3 11317 23329 17402 \n3 17404 11321 23330 \n3 17403 23331 11319 \n3 11320 23332 23333 \n3 23334 11324 23335 \n3 23336 17407 11322 \n3 11323 17411 23337 \n3 23338 11327 17406 \n3 23339 20695 11325 \n3 11326 20697 17408 \n3 17410 11330 23340 \n3 17409 20702 11328 \n3 11329 20705 23341 \n3 23342 11333 20694 \n3 23343 17413 11331 \n3 11332 17417 20696 \n3 23344 11336 17412 \n3 23345 23346 11334 \n3 11335 23347 17414 \n3 17416 11339 20698 \n3 17415 23348 11337 \n3 11338 23349 20699 \n3 20704 11342 23350 \n3 20703 17419 11340 \n3 11341 17423 23351 \n3 20701 11345 17418 \n3 20700 23352 11343 \n3 11344 23353 17420 \n3 17422 11348 23354 \n3 17421 23355 11346 \n3 11347 23356 23357 \n3 23358 11351 23359 \n3 23360 17425 11349 \n3 11350 17429 23361 \n3 23362 11354 17424 \n3 23363 20707 11352 \n3 11353 20709 17426 \n3 17428 11357 23364 \n3 17427 20714 11355 \n3 11356 20717 23365 \n3 23366 11360 20706 \n3 23367 17431 11358 \n3 11359 17435 20708 \n3 23368 11363 17430 \n3 23369 23370 11361 \n3 11362 23371 17432 \n3 17434 11366 20710 \n3 17433 23372 11364 \n3 11365 23373 20711 \n3 20716 11369 23374 \n3 20715 17437 11367 \n3 11368 17441 23375 \n3 20713 11372 17436 \n3 20712 23376 11370 \n3 11371 23377 17438 \n3 17440 11375 23378 \n3 17439 23379 11373 \n3 11374 23380 23381 \n3 23382 11378 23383 \n3 23384 17443 11376 \n3 11377 17447 23385 \n3 23386 11381 17442 \n3 23387 20719 11379 \n3 11380 20721 17444 \n3 17446 11384 23388 \n3 17445 20726 11382 \n3 11383 20729 23389 \n3 23390 11387 20718 \n3 23391 17449 11385 \n3 11386 17453 20720 \n3 23392 11390 17448 \n3 23393 23394 11388 \n3 11389 23395 17450 \n3 17452 11393 20722 \n3 17451 23396 11391 \n3 11392 23397 20723 \n3 20728 11396 23398 \n3 20727 17455 11394 \n3 11395 17459 23399 \n3 20725 11399 17454 \n3 20724 23400 11397 \n3 11398 23401 17456 \n3 17458 11402 23402 \n3 17457 23403 11400 \n3 11401 23404 23405 \n3 23406 11405 23407 \n3 23408 17461 11403 \n3 11404 17465 23409 \n3 23410 11408 17460 \n3 23411 20731 11406 \n3 11407 20733 17462 \n3 17464 11411 23412 \n3 17463 20738 11409 \n3 11410 20741 23413 \n3 23414 11414 20730 \n3 23415 17467 11412 \n3 11413 17471 20732 \n3 23416 11417 17466 \n3 23417 23418 11415 \n3 11416 23419 17468 \n3 17470 11420 20734 \n3 17469 23420 11418 \n3 11419 23421 20735 \n3 20740 11423 23422 \n3 20739 17473 11421 \n3 11422 17477 23423 \n3 20737 11426 17472 \n3 20736 23424 11424 \n3 11425 23425 17474 \n3 17476 11429 23426 \n3 17475 23427 11427 \n3 11428 23428 23429 \n3 23430 11432 23431 \n3 23432 17479 11430 \n3 11431 17483 23433 \n3 23434 11435 17478 \n3 23435 20743 11433 \n3 11434 20745 17480 \n3 17482 11438 23436 \n3 17481 20750 11436 \n3 11437 20753 23437 \n3 23438 11441 20742 \n3 23439 17485 11439 \n3 11440 17489 20744 \n3 23440 11444 17484 \n3 23441 23442 11442 \n3 11443 23443 17486 \n3 17488 11447 20746 \n3 17487 23444 11445 \n3 11446 23445 20747 \n3 20752 11450 23446 \n3 20751 17491 11448 \n3 11449 17495 23447 \n3 20749 11453 17490 \n3 20748 23448 11451 \n3 11452 23449 17492 \n3 17494 11456 23450 \n3 17493 23451 11454 \n3 11455 23452 23453 \n3 23454 11459 23455 \n3 23456 17497 11457 \n3 11458 17501 23457 \n3 23458 11462 17496 \n3 23459 20755 11460 \n3 11461 20757 17498 \n3 17500 11465 23460 \n3 17499 20762 11463 \n3 11464 20765 23461 \n3 23462 11468 20754 \n3 23463 17503 11466 \n3 11467 17507 20756 \n3 23464 11471 17502 \n3 23465 23466 11469 \n3 11470 23467 17504 \n3 17506 11474 20758 \n3 17505 23468 11472 \n3 11473 23469 20759 \n3 20764 11477 23470 \n3 20763 17509 11475 \n3 11476 17513 23471 \n3 20761 11480 17508 \n3 20760 23472 11478 \n3 11479 23473 17510 \n3 17512 11483 23474 \n3 17511 23475 11481 \n3 11482 23476 23477 \n3 23478 11486 23479 \n3 23480 17515 11484 \n3 11485 17519 23481 \n3 23482 11489 17514 \n3 23483 20767 11487 \n3 11488 20769 17516 \n3 17518 11492 23484 \n3 17517 20774 11490 \n3 11491 20777 23485 \n3 23486 11495 20766 \n3 23487 17521 11493 \n3 11494 17525 20768 \n3 23488 11498 17520 \n3 23489 23490 11496 \n3 11497 23491 17522 \n3 17524 11501 20770 \n3 17523 23492 11499 \n3 11500 23493 20771 \n3 20776 11504 23494 \n3 20775 17527 11502 \n3 11503 17531 23495 \n3 20773 11507 17526 \n3 20772 23496 11505 \n3 11506 23497 17528 \n3 17530 11510 23498 \n3 17529 23499 11508 \n3 11509 23500 23501 \n3 23502 11513 23503 \n3 23504 17533 11511 \n3 11512 17537 23505 \n3 23506 11516 17532 \n3 23507 20779 11514 \n3 11515 20781 17534 \n3 17536 11519 23508 \n3 17535 20786 11517 \n3 11518 20789 23509 \n3 23510 11522 20778 \n3 23511 17539 11520 \n3 11521 17543 20780 \n3 23512 11525 17538 \n3 23513 23514 11523 \n3 11524 23515 17540 \n3 17542 11528 20782 \n3 17541 23516 11526 \n3 11527 23517 20783 \n3 20788 11531 23518 \n3 20787 17545 11529 \n3 11530 17549 23519 \n3 20785 11534 17544 \n3 20784 23520 11532 \n3 11533 23521 17546 \n3 17548 11537 23522 \n3 17547 23523 11535 \n3 11536 23524 23525 \n3 23526 11540 23527 \n3 23528 17551 11538 \n3 11539 17555 23529 \n3 23530 11543 17550 \n3 23531 20791 11541 \n3 11542 20793 17552 \n3 17554 11546 23532 \n3 17553 20798 11544 \n3 11545 20801 23533 \n3 23534 11549 20790 \n3 23535 17557 11547 \n3 11548 17561 20792 \n3 23536 11552 17556 \n3 23537 23538 11550 \n3 11551 23539 17558 \n3 17560 11555 20794 \n3 17559 23540 11553 \n3 11554 23541 20795 \n3 20800 11558 23542 \n3 20799 17563 11556 \n3 11557 17567 23543 \n3 20797 11561 17562 \n3 20796 23544 11559 \n3 11560 23545 17564 \n3 17566 11564 23546 \n3 17565 23547 11562 \n3 11563 23548 23549 \n3 23550 11567 23551 \n3 23552 17569 11565 \n3 11566 17573 23553 \n3 23554 11570 17568 \n3 23555 20803 11568 \n3 11569 20805 17570 \n3 17572 11573 23556 \n3 17571 20810 11571 \n3 11572 20813 23557 \n3 23558 11576 20802 \n3 23559 17575 11574 \n3 11575 17579 20804 \n3 23560 11579 17574 \n3 23561 23562 11577 \n3 11578 23563 17576 \n3 17578 11582 20806 \n3 17577 23564 11580 \n3 11581 23565 20807 \n3 20812 11585 23566 \n3 20811 17581 11583 \n3 11584 17585 23567 \n3 20809 11588 17580 \n3 20808 23568 11586 \n3 11587 23569 17582 \n3 17584 11591 23570 \n3 17583 23571 11589 \n3 11590 23572 23573 \n3 23574 11594 23575 \n3 23576 17587 11592 \n3 11593 17591 23577 \n3 23578 11597 17586 \n3 23579 20815 11595 \n3 11596 20817 17588 \n3 17590 11600 23580 \n3 17589 20822 11598 \n3 11599 20825 23581 \n3 23582 11603 20814 \n3 23583 17593 11601 \n3 11602 17597 20816 \n3 23584 11606 17592 \n3 23585 23586 11604 \n3 11605 23587 17594 \n3 17596 11609 20818 \n3 17595 23588 11607 \n3 11608 23589 20819 \n3 20824 11612 23590 \n3 20823 17599 11610 \n3 11611 17603 23591 \n3 20821 11615 17598 \n3 20820 23592 11613 \n3 11614 23593 17600 \n3 17602 11618 23594 \n3 17601 23595 11616 \n3 11617 23596 23597 \n3 23598 11621 23599 \n3 23600 17605 11619 \n3 11620 17609 23601 \n3 23602 11624 17604 \n3 23603 20827 11622 \n3 11623 20829 17606 \n3 17608 11627 23604 \n3 17607 20834 11625 \n3 11626 20837 23605 \n3 23606 11630 20826 \n3 23607 17611 11628 \n3 11629 17615 20828 \n3 23608 11633 17610 \n3 23609 23610 11631 \n3 11632 23611 17612 \n3 17614 11636 20830 \n3 17613 23612 11634 \n3 11635 23613 20831 \n3 20836 11639 23614 \n3 20835 17617 11637 \n3 11638 17621 23615 \n3 20833 11642 17616 \n3 20832 23616 11640 \n3 11641 23617 17618 \n3 17620 11645 23618 \n3 17619 23619 11643 \n3 11644 23620 23621 \n3 23622 11648 23623 \n3 23624 17623 11646 \n3 11647 17627 23625 \n3 23626 11651 17622 \n3 23627 20839 11649 \n3 11650 20841 17624 \n3 17626 11654 23628 \n3 17625 20846 11652 \n3 11653 20849 23629 \n3 23630 11657 20838 \n3 23631 17629 11655 \n3 11656 17633 20840 \n3 23632 11660 17628 \n3 23633 23634 11658 \n3 11659 23635 17630 \n3 17632 11663 20842 \n3 17631 23636 11661 \n3 11662 23637 20843 \n3 20848 11666 23638 \n3 20847 17635 11664 \n3 11665 17639 23639 \n3 20845 11669 17634 \n3 20844 23640 11667 \n3 11668 23641 17636 \n3 17638 11672 23642 \n3 17637 23643 11670 \n3 11671 23644 23645 \n3 23646 11675 23647 \n3 23648 17641 11673 \n3 11674 17645 23649 \n3 23650 11678 17640 \n3 23651 20851 11676 \n3 11677 20853 17642 \n3 17644 11681 23652 \n3 17643 20858 11679 \n3 11680 20861 23653 \n3 23654 11684 20850 \n3 23655 17647 11682 \n3 11683 17651 20852 \n3 23656 11687 17646 \n3 23657 23658 11685 \n3 11686 23659 17648 \n3 17650 11690 20854 \n3 17649 23660 11688 \n3 11689 23661 20855 \n3 20860 11693 23662 \n3 20859 17653 11691 \n3 11692 17657 23663 \n3 20857 11696 17652 \n3 20856 23664 11694 \n3 11695 23665 17654 \n3 17656 11699 23666 \n3 17655 23667 11697 \n3 11698 23668 23669 \n3 23670 11702 23671 \n3 23672 17659 11700 \n3 11701 17663 23673 \n3 23674 11705 17658 \n3 23675 20863 11703 \n3 11704 20865 17660 \n3 17662 11708 23676 \n3 17661 20870 11706 \n3 11707 20873 23677 \n3 23678 11711 20862 \n3 23679 17665 11709 \n3 11710 17669 20864 \n3 23680 11714 17664 \n3 23681 23682 11712 \n3 11713 23683 17666 \n3 17668 11717 20866 \n3 17667 23684 11715 \n3 11716 23685 20867 \n3 20872 11720 23686 \n3 20871 17671 11718 \n3 11719 17675 23687 \n3 20869 11723 17670 \n3 20868 23688 11721 \n3 11722 23689 17672 \n3 17674 11726 23690 \n3 17673 23691 11724 \n3 11725 23692 23693 \n3 23694 11729 23695 \n3 23696 17677 11727 \n3 11728 17681 23697 \n3 23698 11732 17676 \n3 23699 20875 11730 \n3 11731 20877 17678 \n3 17680 11735 23700 \n3 17679 20882 11733 \n3 11734 20885 23701 \n3 23702 11738 20874 \n3 23703 17683 11736 \n3 11737 17687 20876 \n3 23704 11741 17682 \n3 23705 23706 11739 \n3 11740 23707 17684 \n3 17686 11744 20878 \n3 17685 23708 11742 \n3 11743 23709 20879 \n3 20884 11747 23710 \n3 20883 17689 11745 \n3 11746 17693 23711 \n3 20881 11750 17688 \n3 20880 23712 11748 \n3 11749 23713 17690 \n3 17692 11753 23714 \n3 17691 23715 11751 \n3 11752 23716 23717 \n3 23718 11756 23719 \n3 23720 17695 11754 \n3 11755 17699 23721 \n3 23722 11759 17694 \n3 23723 20887 11757 \n3 11758 20889 17696 \n3 17698 11762 23724 \n3 17697 20894 11760 \n3 11761 20897 23725 \n3 23726 11765 20886 \n3 23727 17701 11763 \n3 11764 17705 20888 \n3 23728 11768 17700 \n3 23729 23730 11766 \n3 11767 23731 17702 \n3 17704 11771 20890 \n3 17703 23732 11769 \n3 11770 23733 20891 \n3 20896 11774 23734 \n3 20895 17707 11772 \n3 11773 17711 23735 \n3 20893 11777 17706 \n3 20892 23736 11775 \n3 11776 23737 17708 \n3 17710 11780 23738 \n3 17709 23739 11778 \n3 11779 23740 23741 \n3 23742 11783 23743 \n3 23744 17713 11781 \n3 11782 17717 23745 \n3 23746 11786 17712 \n3 23747 20899 11784 \n3 11785 20901 17714 \n3 17716 11789 23748 \n3 17715 20906 11787 \n3 11788 20909 23749 \n3 23750 11792 20898 \n3 23751 17719 11790 \n3 11791 17723 20900 \n3 23752 11795 17718 \n3 23753 23754 11793 \n3 11794 23755 17720 \n3 17722 11798 20902 \n3 17721 23756 11796 \n3 11797 23757 20903 \n3 20908 11801 23758 \n3 20907 17725 11799 \n3 11800 17729 23759 \n3 20905 11804 17724 \n3 20904 23760 11802 \n3 11803 23761 17726 \n3 17728 11807 23762 \n3 17727 23763 11805 \n3 11806 23764 23765 \n3 23766 11810 23767 \n3 23768 17731 11808 \n3 11809 17735 23769 \n3 23770 11813 17730 \n3 23771 20911 11811 \n3 11812 20913 17732 \n3 17734 11816 23772 \n3 17733 20918 11814 \n3 11815 20921 23773 \n3 23774 11819 20910 \n3 23775 17737 11817 \n3 11818 17741 20912 \n3 23776 11822 17736 \n3 23777 23778 11820 \n3 11821 23779 17738 \n3 17740 11825 20914 \n3 17739 23780 11823 \n3 11824 23781 20915 \n3 20920 11828 23782 \n3 20919 17743 11826 \n3 11827 17747 23783 \n3 20917 11831 17742 \n3 20916 23784 11829 \n3 11830 23785 17744 \n3 17746 11834 23786 \n3 17745 23787 11832 \n3 11833 23788 23789 \n3 23790 11837 23791 \n3 23792 17749 11835 \n3 11836 17753 23793 \n3 23794 11840 17748 \n3 23795 20923 11838 \n3 11839 20925 17750 \n3 17752 11843 23796 \n3 17751 20930 11841 \n3 11842 20933 23797 \n3 23798 11846 20922 \n3 23799 17755 11844 \n3 11845 17759 20924 \n3 23800 11849 17754 \n3 23801 23802 11847 \n3 11848 23803 17756 \n3 17758 11852 20926 \n3 17757 23804 11850 \n3 11851 23805 20927 \n3 20932 11855 23806 \n3 20931 17761 11853 \n3 11854 17765 23807 \n3 20929 11858 17760 \n3 20928 23808 11856 \n3 11857 23809 17762 \n3 17764 11861 23810 \n3 17763 23811 11859 \n3 11860 23812 23813 \n3 23814 11864 23815 \n3 23816 17767 11862 \n3 11863 17771 23817 \n3 23818 11867 17766 \n3 23819 20935 11865 \n3 11866 20937 17768 \n3 17770 11870 23820 \n3 17769 20942 11868 \n3 11869 20945 23821 \n3 23822 11873 20934 \n3 23823 17773 11871 \n3 11872 17777 20936 \n3 23824 11876 17772 \n3 23825 22663 11874 \n3 11875 22665 17774 \n3 17776 11879 20938 \n3 17775 22668 11877 \n3 11878 22669 20939 \n3 20944 11882 23826 \n3 20943 17779 11880 \n3 11881 17783 23827 \n3 20941 11885 17778 \n3 20940 22678 11883 \n3 11884 22679 17780 \n3 17782 11888 23828 \n3 17781 22682 11886 \n3 11887 22685 23829 \n3 23830 11891 22662 \n3 23831 17785 11889 \n3 11890 17789 22664 \n3 23832 11894 17784 \n3 23833 20947 11892 \n3 11893 20949 17786 \n3 17788 11897 22666 \n3 17787 20954 11895 \n3 11896 20957 22667 \n3 23834 11900 20946 \n3 23835 17791 11898 \n3 11899 17795 20948 \n3 23836 11903 17790 \n3 23837 23838 11901 \n3 11902 23839 17792 \n3 17794 11906 20950 \n3 17793 23840 11904 \n3 11905 23841 20951 \n3 20956 11909 22670 \n3 20955 17797 11907 \n3 11908 17801 22671 \n3 20953 11912 17796 \n3 20952 23842 11910 \n3 11911 23843 17798 \n3 17800 11915 22672 \n3 17799 23844 11913 \n3 11914 23845 22673 \n3 22684 11918 23846 \n3 22683 17803 11916 \n3 11917 17807 23847 \n3 22681 11921 17802 \n3 22680 20959 11919 \n3 11920 20961 17804 \n3 17806 11924 23848 \n3 17805 20966 11922 \n3 11923 20969 23849 \n3 22677 11927 20958 \n3 22676 17809 11925 \n3 11926 17813 20960 \n3 22675 11930 17808 \n3 22674 23850 11928 \n3 11929 23851 17810 \n3 17812 11933 20962 \n3 17811 23852 11931 \n3 11932 23853 20963 \n3 20968 11936 23854 \n3 20967 17815 11934 \n3 11935 17819 23855 \n3 20965 11939 17814 \n3 20964 23856 11937 \n3 11938 23857 17816 \n3 17818 11942 23858 \n3 17817 23859 11940 \n3 11941 23860 23861 \n3 23862 11945 23863 \n3 23864 17821 11943 \n3 11944 17825 23865 \n3 23866 11948 17820 \n3 23867 20971 11946 \n3 11947 20973 17822 \n3 17824 11951 23868 \n3 17823 20978 11949 \n3 11950 20981 23869 \n3 23870 11954 20970 \n3 23871 17827 11952 \n3 11953 17831 20972 \n3 23872 11957 17826 \n3 23873 22687 11955 \n3 11956 22689 17828 \n3 17830 11960 20974 \n3 17829 22692 11958 \n3 11959 22693 20975 \n3 20980 11963 23874 \n3 20979 17833 11961 \n3 11962 17837 23875 \n3 20977 11966 17832 \n3 20976 22702 11964 \n3 11965 22703 17834 \n3 17836 11969 23876 \n3 17835 22706 11967 \n3 11968 22709 23877 \n3 23878 11972 22686 \n3 23879 17839 11970 \n3 11971 17843 22688 \n3 23880 11975 17838 \n3 23881 20983 11973 \n3 11974 20985 17840 \n3 17842 11978 22690 \n3 17841 20990 11976 \n3 11977 20993 22691 \n3 23882 11981 20982 \n3 23883 17845 11979 \n3 11980 17849 20984 \n3 23884 11984 17844 \n3 23885 23886 11982 \n3 11983 23887 17846 \n3 17848 11987 20986 \n3 17847 23888 11985 \n3 11986 23889 20987 \n3 20992 11990 22694 \n3 20991 17851 11988 \n3 11989 17855 22695 \n3 20989 11993 17850 \n3 20988 23890 11991 \n3 11992 23891 17852 \n3 17854 11996 22696 \n3 17853 23892 11994 \n3 11995 23893 22697 \n3 22708 11999 23894 \n3 22707 17857 11997 \n3 11998 17861 23895 \n3 22705 12002 17856 \n3 22704 20995 12000 \n3 12001 20997 17858 \n3 17860 12005 23896 \n3 17859 21002 12003 \n3 12004 21005 23897 \n3 22701 12008 20994 \n3 22700 17863 12006 \n3 12007 17867 20996 \n3 22699 12011 17862 \n3 22698 23898 12009 \n3 12010 23899 17864 \n3 17866 12014 20998 \n3 17865 23900 12012 \n3 12013 23901 20999 \n3 21004 12017 23902 \n3 21003 17869 12015 \n3 12016 17873 23903 \n3 21001 12020 17868 \n3 21000 23904 12018 \n3 12019 23905 17870 \n3 17872 12023 23906 \n3 17871 23907 12021 \n3 12022 23908 23909 \n3 23910 12026 23911 \n3 23912 17875 12024 \n3 12025 17879 23913 \n3 23914 12029 17874 \n3 23915 21007 12027 \n3 12028 21009 17876 \n3 17878 12032 23916 \n3 17877 21014 12030 \n3 12031 21017 23917 \n3 23918 12035 21006 \n3 23919 17881 12033 \n3 12034 17885 21008 \n3 23920 12038 17880 \n3 23921 22711 12036 \n3 12037 22713 17882 \n3 17884 12041 21010 \n3 17883 22716 12039 \n3 12040 22717 21011 \n3 21016 12044 23922 \n3 21015 17887 12042 \n3 12043 17891 23923 \n3 21013 12047 17886 \n3 21012 22726 12045 \n3 12046 22727 17888 \n3 17890 12050 23924 \n3 17889 22730 12048 \n3 12049 22733 23925 \n3 23926 12053 22710 \n3 23927 17893 12051 \n3 12052 17897 22712 \n3 23928 12056 17892 \n3 23929 21019 12054 \n3 12055 21021 17894 \n3 17896 12059 22714 \n3 17895 21026 12057 \n3 12058 21029 22715 \n3 23930 12062 21018 \n3 23931 17899 12060 \n3 12061 17903 21020 \n3 23932 12065 17898 \n3 23933 23934 12063 \n3 12064 23935 17900 \n3 17902 12068 21022 \n3 17901 23936 12066 \n3 12067 23937 21023 \n3 21028 12071 22718 \n3 21027 17905 12069 \n3 12070 17909 22719 \n3 21025 12074 17904 \n3 21024 23938 12072 \n3 12073 23939 17906 \n3 17908 12077 22720 \n3 17907 23940 12075 \n3 12076 23941 22721 \n3 22732 12080 23942 \n3 22731 17911 12078 \n3 12079 17915 23943 \n3 22729 12083 17910 \n3 22728 21031 12081 \n3 12082 21033 17912 \n3 17914 12086 23944 \n3 17913 21038 12084 \n3 12085 21041 23945 \n3 22725 12089 21030 \n3 22724 17917 12087 \n3 12088 17921 21032 \n3 22723 12092 17916 \n3 22722 23946 12090 \n3 12091 23947 17918 \n3 17920 12095 21034 \n3 17919 23948 12093 \n3 12094 23949 21035 \n3 21040 12098 23950 \n3 21039 17923 12096 \n3 12097 17927 23951 \n3 21037 12101 17922 \n3 21036 23952 12099 \n3 12100 23953 17924 \n3 17926 12104 23954 \n3 17925 23955 12102 \n3 12103 23956 23957 \n3 23958 12107 23959 \n3 23960 17929 12105 \n3 12106 17933 23961 \n3 23962 12110 17928 \n3 23963 21043 12108 \n3 12109 21045 17930 \n3 17932 12113 23964 \n3 17931 21050 12111 \n3 12112 21053 23965 \n3 23966 12116 21042 \n3 23967 17935 12114 \n3 12115 17939 21044 \n3 23968 12119 17934 \n3 23969 22735 12117 \n3 12118 22737 17936 \n3 17938 12122 21046 \n3 17937 22740 12120 \n3 12121 22741 21047 \n3 21052 12125 23970 \n3 21051 17941 12123 \n3 12124 17945 23971 \n3 21049 12128 17940 \n3 21048 22750 12126 \n3 12127 22751 17942 \n3 17944 12131 23972 \n3 17943 22754 12129 \n3 12130 22757 23973 \n3 23974 12134 22734 \n3 23975 17947 12132 \n3 12133 17951 22736 \n3 23976 12137 17946 \n3 23977 21055 12135 \n3 12136 21057 17948 \n3 17950 12140 22738 \n3 17949 21062 12138 \n3 12139 21065 22739 \n3 23978 12143 21054 \n3 23979 17953 12141 \n3 12142 17957 21056 \n3 23980 12146 17952 \n3 23981 23982 12144 \n3 12145 23983 17954 \n3 17956 12149 21058 \n3 17955 23984 12147 \n3 12148 23985 21059 \n3 21064 12152 22742 \n3 21063 17959 12150 \n3 12151 17963 22743 \n3 21061 12155 17958 \n3 21060 23986 12153 \n3 12154 23987 17960 \n3 17962 12158 22744 \n3 17961 23988 12156 \n3 12157 23989 22745 \n3 22756 12161 23990 \n3 22755 17965 12159 \n3 12160 17969 23991 \n3 22753 12164 17964 \n3 22752 21067 12162 \n3 12163 21069 17966 \n3 17968 12167 23992 \n3 17967 21074 12165 \n3 12166 21077 23993 \n3 22749 12170 21066 \n3 22748 17971 12168 \n3 12169 17975 21068 \n3 22747 12173 17970 \n3 22746 23994 12171 \n3 12172 23995 17972 \n3 17974 12176 21070 \n3 17973 23996 12174 \n3 12175 23997 21071 \n3 21076 12179 23998 \n3 21075 17977 12177 \n3 12178 17981 23999 \n3 21073 12182 17976 \n3 21072 24000 12180 \n3 12181 24001 17978 \n3 17980 12185 24002 \n3 17979 24003 12183 \n3 12184 24004 24005 \n3 24006 12188 24007 \n3 24008 17983 12186 \n3 12187 17987 24009 \n3 24010 12191 17982 \n3 24011 21079 12189 \n3 12190 21081 17984 \n3 17986 12194 24012 \n3 17985 21086 12192 \n3 12193 21089 24013 \n3 24014 12197 21078 \n3 24015 17989 12195 \n3 12196 17993 21080 \n3 24016 12200 17988 \n3 24017 22759 12198 \n3 12199 22761 17990 \n3 17992 12203 21082 \n3 17991 22764 12201 \n3 12202 22765 21083 \n3 21088 12206 24018 \n3 21087 17995 12204 \n3 12205 17999 24019 \n3 21085 12209 17994 \n3 21084 22774 12207 \n3 12208 22775 17996 \n3 17998 12212 24020 \n3 17997 22778 12210 \n3 12211 22781 24021 \n3 24022 12215 22758 \n3 24023 18001 12213 \n3 12214 18005 22760 \n3 24024 12218 18000 \n3 24025 21091 12216 \n3 12217 21093 18002 \n3 18004 12221 22762 \n3 18003 21098 12219 \n3 12220 21101 22763 \n3 24026 12224 21090 \n3 24027 18007 12222 \n3 12223 18011 21092 \n3 24028 12227 18006 \n3 24029 24030 12225 \n3 12226 24031 18008 \n3 18010 12230 21094 \n3 18009 24032 12228 \n3 12229 24033 21095 \n3 21100 12233 22766 \n3 21099 18013 12231 \n3 12232 18017 22767 \n3 21097 12236 18012 \n3 21096 24034 12234 \n3 12235 24035 18014 \n3 18016 12239 22768 \n3 18015 24036 12237 \n3 12238 24037 22769 \n3 22780 12242 24038 \n3 22779 18019 12240 \n3 12241 18023 24039 \n3 22777 12245 18018 \n3 22776 21103 12243 \n3 12244 21105 18020 \n3 18022 12248 24040 \n3 18021 21110 12246 \n3 12247 21113 24041 \n3 22773 12251 21102 \n3 22772 18025 12249 \n3 12250 18029 21104 \n3 22771 12254 18024 \n3 22770 24042 12252 \n3 12253 24043 18026 \n3 18028 12257 21106 \n3 18027 24044 12255 \n3 12256 24045 21107 \n3 21112 12260 24046 \n3 21111 18031 12258 \n3 12259 18035 24047 \n3 21109 12263 18030 \n3 21108 24048 12261 \n3 12262 24049 18032 \n3 18034 12266 24050 \n3 18033 24051 12264 \n3 12265 24052 24053 \n3 24054 12269 24055 \n3 24056 18037 12267 \n3 12268 18041 24057 \n3 24058 12272 18036 \n3 24059 21115 12270 \n3 12271 21117 18038 \n3 18040 12275 24060 \n3 18039 21122 12273 \n3 12274 21125 24061 \n3 24062 12278 21114 \n3 24063 18043 12276 \n3 12277 18047 21116 \n3 24064 12281 18042 \n3 24065 22783 12279 \n3 12280 22785 18044 \n3 18046 12284 21118 \n3 18045 22788 12282 \n3 12283 22789 21119 \n3 21124 12287 24066 \n3 21123 18049 12285 \n3 12286 18053 24067 \n3 21121 12290 18048 \n3 21120 22798 12288 \n3 12289 22799 18050 \n3 18052 12293 24068 \n3 18051 22802 12291 \n3 12292 22805 24069 \n3 24070 12296 22782 \n3 24071 18055 12294 \n3 12295 18059 22784 \n3 24072 12299 18054 \n3 24073 21127 12297 \n3 12298 21129 18056 \n3 18058 12302 22786 \n3 18057 21134 12300 \n3 12301 21137 22787 \n3 24074 12305 21126 \n3 24075 18061 12303 \n3 12304 18065 21128 \n3 24076 12308 18060 \n3 24077 24078 12306 \n3 12307 24079 18062 \n3 18064 12311 21130 \n3 18063 24080 12309 \n3 12310 24081 21131 \n3 21136 12314 22790 \n3 21135 18067 12312 \n3 12313 18071 22791 \n3 21133 12317 18066 \n3 21132 24082 12315 \n3 12316 24083 18068 \n3 18070 12320 22792 \n3 18069 24084 12318 \n3 12319 24085 22793 \n3 22804 12323 24086 \n3 22803 18073 12321 \n3 12322 18077 24087 \n3 22801 12326 18072 \n3 22800 21139 12324 \n3 12325 21141 18074 \n3 18076 12329 24088 \n3 18075 21146 12327 \n3 12328 21149 24089 \n3 22797 12332 21138 \n3 22796 18079 12330 \n3 12331 18083 21140 \n3 22795 12335 18078 \n3 22794 24090 12333 \n3 12334 24091 18080 \n3 18082 12338 21142 \n3 18081 24092 12336 \n3 12337 24093 21143 \n3 21148 12341 24094 \n3 21147 18085 12339 \n3 12340 18089 24095 \n3 21145 12344 18084 \n3 21144 24096 12342 \n3 12343 24097 18086 \n3 18088 12347 24098 \n3 18087 24099 12345 \n3 12346 24100 24101 \n3 24102 12350 24103 \n3 24104 18091 12348 \n3 12349 18095 24105 \n3 24106 12353 18090 \n3 24107 21151 12351 \n3 12352 21153 18092 \n3 18094 12356 24108 \n3 18093 21158 12354 \n3 12355 21161 24109 \n3 24110 12359 21150 \n3 24111 18097 12357 \n3 12358 18101 21152 \n3 24112 12362 18096 \n3 24113 22807 12360 \n3 12361 22809 18098 \n3 18100 12365 21154 \n3 18099 22812 12363 \n3 12364 22813 21155 \n3 21160 12368 24114 \n3 21159 18103 12366 \n3 12367 18107 24115 \n3 21157 12371 18102 \n3 21156 22822 12369 \n3 12370 22823 18104 \n3 18106 12374 24116 \n3 18105 22826 12372 \n3 12373 22829 24117 \n3 24118 12377 22806 \n3 24119 18109 12375 \n3 12376 18113 22808 \n3 24120 12380 18108 \n3 24121 21163 12378 \n3 12379 21165 18110 \n3 18112 12383 22810 \n3 18111 21170 12381 \n3 12382 21173 22811 \n3 24122 12386 21162 \n3 24123 18115 12384 \n3 12385 18119 21164 \n3 24124 12389 18114 \n3 24125 24126 12387 \n3 12388 24127 18116 \n3 18118 12392 21166 \n3 18117 24128 12390 \n3 12391 24129 21167 \n3 21172 12395 22814 \n3 21171 18121 12393 \n3 12394 18125 22815 \n3 21169 12398 18120 \n3 21168 24130 12396 \n3 12397 24131 18122 \n3 18124 12401 22816 \n3 18123 24132 12399 \n3 12400 24133 22817 \n3 22828 12404 24134 \n3 22827 18127 12402 \n3 12403 18131 24135 \n3 22825 12407 18126 \n3 22824 21175 12405 \n3 12406 21177 18128 \n3 18130 12410 24136 \n3 18129 21182 12408 \n3 12409 21185 24137 \n3 22821 12413 21174 \n3 22820 18133 12411 \n3 12412 18137 21176 \n3 22819 12416 18132 \n3 22818 24138 12414 \n3 12415 24139 18134 \n3 18136 12419 21178 \n3 18135 24140 12417 \n3 12418 24141 21179 \n3 21184 12422 24142 \n3 21183 18139 12420 \n3 12421 18143 24143 \n3 21181 12425 18138 \n3 21180 24144 12423 \n3 12424 24145 18140 \n3 18142 12428 24146 \n3 18141 24147 12426 \n3 12427 24148 24149 \n3 24150 12431 24151 \n3 24152 18145 12429 \n3 12430 18149 24153 \n3 24154 12434 18144 \n3 24155 21187 12432 \n3 12433 21189 18146 \n3 18148 12437 24156 \n3 18147 21194 12435 \n3 12436 21197 24157 \n3 24158 12440 21186 \n3 24159 18151 12438 \n3 12439 18155 21188 \n3 24160 12443 18150 \n3 24161 22831 12441 \n3 12442 22833 18152 \n3 18154 12446 21190 \n3 18153 22836 12444 \n3 12445 22837 21191 \n3 21196 12449 24162 \n3 21195 18157 12447 \n3 12448 18161 24163 \n3 21193 12452 18156 \n3 21192 22846 12450 \n3 12451 22847 18158 \n3 18160 12455 24164 \n3 18159 22850 12453 \n3 12454 22853 24165 \n3 24166 12458 22830 \n3 24167 18163 12456 \n3 12457 18167 22832 \n3 24168 12461 18162 \n3 24169 21199 12459 \n3 12460 21201 18164 \n3 18166 12464 22834 \n3 18165 21206 12462 \n3 12463 21209 22835 \n3 24170 12467 21198 \n3 24171 18169 12465 \n3 12466 18173 21200 \n3 24172 12470 18168 \n3 24173 24174 12468 \n3 12469 24175 18170 \n3 18172 12473 21202 \n3 18171 24176 12471 \n3 12472 24177 21203 \n3 21208 12476 22838 \n3 21207 18175 12474 \n3 12475 18179 22839 \n3 21205 12479 18174 \n3 21204 24178 12477 \n3 12478 24179 18176 \n3 18178 12482 22840 \n3 18177 24180 12480 \n3 12481 24181 22841 \n3 22852 12485 24182 \n3 22851 18181 12483 \n3 12484 18185 24183 \n3 22849 12488 18180 \n3 22848 21211 12486 \n3 12487 21213 18182 \n3 18184 12491 24184 \n3 18183 21218 12489 \n3 12490 21221 24185 \n3 22845 12494 21210 \n3 22844 18187 12492 \n3 12493 18191 21212 \n3 22843 12497 18186 \n3 22842 24186 12495 \n3 12496 24187 18188 \n3 18190 12500 21214 \n3 18189 24188 12498 \n3 12499 24189 21215 \n3 21220 12503 24190 \n3 21219 18193 12501 \n3 12502 18197 24191 \n3 21217 12506 18192 \n3 21216 24192 12504 \n3 12505 24193 18194 \n3 18196 12509 24194 \n3 18195 24195 12507 \n3 12508 24196 24197 \n3 24198 12512 24199 \n3 24200 18199 12510 \n3 12511 18203 24201 \n3 24202 12515 18198 \n3 24203 21223 12513 \n3 12514 21225 18200 \n3 18202 12518 24204 \n3 18201 21230 12516 \n3 12517 21233 24205 \n3 24206 12521 21222 \n3 24207 18205 12519 \n3 12520 18209 21224 \n3 24208 12524 18204 \n3 24209 22855 12522 \n3 12523 22857 18206 \n3 18208 12527 21226 \n3 18207 22860 12525 \n3 12526 22861 21227 \n3 21232 12530 24210 \n3 21231 18211 12528 \n3 12529 18215 24211 \n3 21229 12533 18210 \n3 21228 22870 12531 \n3 12532 22871 18212 \n3 18214 12536 24212 \n3 18213 22874 12534 \n3 12535 22877 24213 \n3 24214 12539 22854 \n3 24215 18217 12537 \n3 12538 18221 22856 \n3 24216 12542 18216 \n3 24217 21235 12540 \n3 12541 21237 18218 \n3 18220 12545 22858 \n3 18219 21242 12543 \n3 12544 21245 22859 \n3 24218 12548 21234 \n3 24219 18223 12546 \n3 12547 18227 21236 \n3 24220 12551 18222 \n3 24221 24222 12549 \n3 12550 24223 18224 \n3 18226 12554 21238 \n3 18225 24224 12552 \n3 12553 24225 21239 \n3 21244 12557 22862 \n3 21243 18229 12555 \n3 12556 18233 22863 \n3 21241 12560 18228 \n3 21240 24226 12558 \n3 12559 24227 18230 \n3 18232 12563 22864 \n3 18231 24228 12561 \n3 12562 24229 22865 \n3 22876 12566 24230 \n3 22875 18235 12564 \n3 12565 18239 24231 \n3 22873 12569 18234 \n3 22872 21247 12567 \n3 12568 21249 18236 \n3 18238 12572 24232 \n3 18237 21254 12570 \n3 12571 21257 24233 \n3 22869 12575 21246 \n3 22868 18241 12573 \n3 12574 18245 21248 \n3 22867 12578 18240 \n3 22866 24234 12576 \n3 12577 24235 18242 \n3 18244 12581 21250 \n3 18243 24236 12579 \n3 12580 24237 21251 \n3 21256 12584 24238 \n3 21255 18247 12582 \n3 12583 18251 24239 \n3 21253 12587 18246 \n3 21252 24240 12585 \n3 12586 24241 18248 \n3 18250 12590 24242 \n3 18249 24243 12588 \n3 12589 24244 24245 \n3 24246 12593 24247 \n3 24248 18253 12591 \n3 12592 18257 24249 \n3 24250 12596 18252 \n3 24251 21259 12594 \n3 12595 21261 18254 \n3 18256 12599 24252 \n3 18255 21266 12597 \n3 12598 21269 24253 \n3 24254 12602 21258 \n3 24255 18259 12600 \n3 12601 18263 21260 \n3 24256 12605 18258 \n3 24257 22879 12603 \n3 12604 22881 18260 \n3 18262 12608 21262 \n3 18261 22884 12606 \n3 12607 22885 21263 \n3 21268 12611 24258 \n3 21267 18265 12609 \n3 12610 18269 24259 \n3 21265 12614 18264 \n3 21264 22894 12612 \n3 12613 22895 18266 \n3 18268 12617 24260 \n3 18267 22898 12615 \n3 12616 22901 24261 \n3 24262 12620 22878 \n3 24263 18271 12618 \n3 12619 18275 22880 \n3 24264 12623 18270 \n3 24265 21271 12621 \n3 12622 21273 18272 \n3 18274 12626 22882 \n3 18273 21278 12624 \n3 12625 21281 22883 \n3 24266 12629 21270 \n3 24267 18277 12627 \n3 12628 18281 21272 \n3 24268 12632 18276 \n3 24269 24270 12630 \n3 12631 24271 18278 \n3 18280 12635 21274 \n3 18279 24272 12633 \n3 12634 24273 21275 \n3 21280 12638 22886 \n3 21279 18283 12636 \n3 12637 18287 22887 \n3 21277 12641 18282 \n3 21276 24274 12639 \n3 12640 24275 18284 \n3 18286 12644 22888 \n3 18285 24276 12642 \n3 12643 24277 22889 \n3 22900 12647 24278 \n3 22899 18289 12645 \n3 12646 18293 24279 \n3 22897 12650 18288 \n3 22896 21283 12648 \n3 12649 21285 18290 \n3 18292 12653 24280 \n3 18291 21290 12651 \n3 12652 21293 24281 \n3 22893 12656 21282 \n3 22892 18295 12654 \n3 12655 18299 21284 \n3 22891 12659 18294 \n3 22890 24282 12657 \n3 12658 24283 18296 \n3 18298 12662 21286 \n3 18297 24284 12660 \n3 12661 24285 21287 \n3 21292 12665 24286 \n3 21291 18301 12663 \n3 12664 18305 24287 \n3 21289 12668 18300 \n3 21288 24288 12666 \n3 12667 24289 18302 \n3 18304 12671 24290 \n3 18303 24291 12669 \n3 12670 24292 24293 \n3 24294 12674 24295 \n3 24296 18307 12672 \n3 12673 18311 24297 \n3 24298 12677 18306 \n3 24299 21295 12675 \n3 12676 21297 18308 \n3 18310 12680 24300 \n3 18309 21302 12678 \n3 12679 21305 24301 \n3 24302 12683 21294 \n3 24303 18313 12681 \n3 12682 18317 21296 \n3 24304 12686 18312 \n3 24305 22903 12684 \n3 12685 22905 18314 \n3 18316 12689 21298 \n3 18315 22908 12687 \n3 12688 22909 21299 \n3 21304 12692 24306 \n3 21303 18319 12690 \n3 12691 18323 24307 \n3 21301 12695 18318 \n3 21300 22918 12693 \n3 12694 22919 18320 \n3 18322 12698 24308 \n3 18321 22922 12696 \n3 12697 22925 24309 \n3 24310 12701 22902 \n3 24311 18325 12699 \n3 12700 18329 22904 \n3 24312 12704 18324 \n3 24313 21307 12702 \n3 12703 21309 18326 \n3 18328 12707 22906 \n3 18327 21314 12705 \n3 12706 21317 22907 \n3 24314 12710 21306 \n3 24315 18331 12708 \n3 12709 18335 21308 \n3 24316 12713 18330 \n3 24317 24318 12711 \n3 12712 24319 18332 \n3 18334 12716 21310 \n3 18333 24320 12714 \n3 12715 24321 21311 \n3 21316 12719 22910 \n3 21315 18337 12717 \n3 12718 18341 22911 \n3 21313 12722 18336 \n3 21312 24322 12720 \n3 12721 24323 18338 \n3 18340 12725 22912 \n3 18339 24324 12723 \n3 12724 24325 22913 \n3 22924 12728 24326 \n3 22923 18343 12726 \n3 12727 18347 24327 \n3 22921 12731 18342 \n3 22920 21319 12729 \n3 12730 21321 18344 \n3 18346 12734 24328 \n3 18345 21326 12732 \n3 12733 21329 24329 \n3 22917 12737 21318 \n3 22916 18349 12735 \n3 12736 18353 21320 \n3 22915 12740 18348 \n3 22914 24330 12738 \n3 12739 24331 18350 \n3 18352 12743 21322 \n3 18351 24332 12741 \n3 12742 24333 21323 \n3 21328 12746 24334 \n3 21327 18355 12744 \n3 12745 18359 24335 \n3 21325 12749 18354 \n3 21324 24336 12747 \n3 12748 24337 18356 \n3 18358 12752 24338 \n3 18357 24339 12750 \n3 12751 24340 24341 \n3 24342 12755 24343 \n3 24344 18361 12753 \n3 12754 18365 24345 \n3 24346 12758 18360 \n3 24347 21331 12756 \n3 12757 21333 18362 \n3 18364 12761 24348 \n3 18363 21338 12759 \n3 12760 21341 24349 \n3 24350 12764 21330 \n3 24351 18367 12762 \n3 12763 18371 21332 \n3 24352 12767 18366 \n3 24353 22927 12765 \n3 12766 22929 18368 \n3 18370 12770 21334 \n3 18369 22932 12768 \n3 12769 22933 21335 \n3 21340 12773 24354 \n3 21339 18373 12771 \n3 12772 18377 24355 \n3 21337 12776 18372 \n3 21336 22942 12774 \n3 12775 22943 18374 \n3 18376 12779 24356 \n3 18375 22946 12777 \n3 12778 22949 24357 \n3 24358 12782 22926 \n3 24359 18379 12780 \n3 12781 18383 22928 \n3 24360 12785 18378 \n3 24361 21343 12783 \n3 12784 21345 18380 \n3 18382 12788 22930 \n3 18381 21350 12786 \n3 12787 21353 22931 \n3 24362 12791 21342 \n3 24363 18385 12789 \n3 12790 18389 21344 \n3 24364 12794 18384 \n3 24365 24366 12792 \n3 12793 24367 18386 \n3 18388 12797 21346 \n3 18387 24368 12795 \n3 12796 24369 21347 \n3 21352 12800 22934 \n3 21351 18391 12798 \n3 12799 18395 22935 \n3 21349 12803 18390 \n3 21348 24370 12801 \n3 12802 24371 18392 \n3 18394 12806 22936 \n3 18393 24372 12804 \n3 12805 24373 22937 \n3 22948 12809 24374 \n3 22947 18397 12807 \n3 12808 18401 24375 \n3 22945 12812 18396 \n3 22944 21355 12810 \n3 12811 21357 18398 \n3 18400 12815 24376 \n3 18399 21362 12813 \n3 12814 21365 24377 \n3 22941 12818 21354 \n3 22940 18403 12816 \n3 12817 18407 21356 \n3 22939 12821 18402 \n3 22938 24378 12819 \n3 12820 24379 18404 \n3 18406 12824 21358 \n3 18405 24380 12822 \n3 12823 24381 21359 \n3 21364 12827 24382 \n3 21363 18409 12825 \n3 12826 18413 24383 \n3 21361 12830 18408 \n3 21360 24384 12828 \n3 12829 24385 18410 \n3 18412 12833 24386 \n3 18411 24387 12831 \n3 12832 24388 24389 \n3 24390 12836 24391 \n3 24392 18415 12834 \n3 12835 18419 24393 \n3 24394 12839 18414 \n3 24395 21367 12837 \n3 12838 21369 18416 \n3 18418 12842 24396 \n3 18417 21374 12840 \n3 12841 21377 24397 \n3 24398 12845 21366 \n3 24399 18421 12843 \n3 12844 18425 21368 \n3 24400 12848 18420 \n3 24401 22951 12846 \n3 12847 22953 18422 \n3 18424 12851 21370 \n3 18423 22956 12849 \n3 12850 22957 21371 \n3 21376 12854 24402 \n3 21375 18427 12852 \n3 12853 18431 24403 \n3 21373 12857 18426 \n3 21372 22966 12855 \n3 12856 22967 18428 \n3 18430 12860 24404 \n3 18429 22970 12858 \n3 12859 22973 24405 \n3 24406 12863 22950 \n3 24407 18433 12861 \n3 12862 18437 22952 \n3 24408 12866 18432 \n3 24409 21379 12864 \n3 12865 21381 18434 \n3 18436 12869 22954 \n3 18435 21386 12867 \n3 12868 21389 22955 \n3 24410 12872 21378 \n3 24411 18439 12870 \n3 12871 18443 21380 \n3 24412 12875 18438 \n3 24413 23815 12873 \n3 12874 23817 18440 \n3 18442 12878 21382 \n3 18441 23820 12876 \n3 12877 23821 21383 \n3 21388 12881 22958 \n3 21387 18445 12879 \n3 12880 18449 22959 \n3 21385 12884 18444 \n3 21384 23826 12882 \n3 12883 23827 18446 \n3 18448 12887 22960 \n3 18447 23828 12885 \n3 12886 23829 22961 \n3 22972 12890 24414 \n3 22971 18451 12888 \n3 12889 18455 24415 \n3 22969 12893 18450 \n3 22968 21391 12891 \n3 12892 21393 18452 \n3 18454 12896 24416 \n3 18453 21398 12894 \n3 12895 21401 24417 \n3 22965 12899 21390 \n3 22964 18457 12897 \n3 12898 18461 21392 \n3 22963 12902 18456 \n3 22962 23846 12900 \n3 12901 23847 18458 \n3 18460 12905 21394 \n3 18459 23848 12903 \n3 12904 23849 21395 \n3 21400 12908 24418 \n3 21399 18463 12906 \n3 12907 18467 24419 \n3 21397 12911 18462 \n3 21396 23854 12909 \n3 12910 23855 18464 \n3 18466 12914 24420 \n3 18465 23858 12912 \n3 12913 23861 24421 \n3 24422 12917 23814 \n3 24423 18469 12915 \n3 12916 18473 23816 \n3 24424 12920 18468 \n3 24425 21403 12918 \n3 12919 21405 18470 \n3 18472 12923 23818 \n3 18471 21410 12921 \n3 12922 21413 23819 \n3 24426 12926 21402 \n3 24427 18475 12924 \n3 12925 18479 21404 \n3 24428 12929 18474 \n3 24429 22975 12927 \n3 12928 22977 18476 \n3 18478 12932 21406 \n3 18477 22980 12930 \n3 12931 22981 21407 \n3 21412 12935 23822 \n3 21411 18481 12933 \n3 12934 18485 23823 \n3 21409 12938 18480 \n3 21408 22990 12936 \n3 12937 22991 18482 \n3 18484 12941 23824 \n3 18483 22994 12939 \n3 12940 22997 23825 \n3 24430 12944 22974 \n3 24431 18487 12942 \n3 12943 18491 22976 \n3 24432 12947 18486 \n3 24433 21415 12945 \n3 12946 21417 18488 \n3 18490 12950 22978 \n3 18489 21422 12948 \n3 12949 21425 22979 \n3 24434 12953 21414 \n3 24435 18493 12951 \n3 12952 18497 21416 \n3 24436 12956 18492 \n3 24437 24438 12954 \n3 12955 24439 18494 \n3 18496 12959 21418 \n3 18495 24440 12957 \n3 12958 24441 21419 \n3 21424 12962 22982 \n3 21423 18499 12960 \n3 12961 18503 22983 \n3 21421 12965 18498 \n3 21420 24442 12963 \n3 12964 24443 18500 \n3 18502 12968 22984 \n3 18501 24444 12966 \n3 12967 24445 22985 \n3 22996 12971 23830 \n3 22995 18505 12969 \n3 12970 18509 23831 \n3 22993 12974 18504 \n3 22992 21427 12972 \n3 12973 21429 18506 \n3 18508 12977 23832 \n3 18507 21434 12975 \n3 12976 21437 23833 \n3 22989 12980 21426 \n3 22988 18511 12978 \n3 12979 18515 21428 \n3 22987 12983 18510 \n3 22986 24446 12981 \n3 12982 24447 18512 \n3 18514 12986 21430 \n3 18513 24448 12984 \n3 12985 24449 21431 \n3 21436 12989 23834 \n3 21435 18517 12987 \n3 12988 18521 23835 \n3 21433 12992 18516 \n3 21432 24450 12990 \n3 12991 24451 18518 \n3 18520 12995 23836 \n3 18519 24452 12993 \n3 12994 24453 23837 \n3 23860 12998 24454 \n3 23859 18523 12996 \n3 12997 18527 24455 \n3 23857 13001 18522 \n3 23856 21439 12999 \n3 13000 21441 18524 \n3 18526 13004 24456 \n3 18525 21446 13002 \n3 13003 21449 24457 \n3 23853 13007 21438 \n3 23852 18529 13005 \n3 13006 18533 21440 \n3 23851 13010 18528 \n3 23850 22999 13008 \n3 13009 23001 18530 \n3 18532 13013 21442 \n3 18531 23004 13011 \n3 13012 23005 21443 \n3 21448 13016 24458 \n3 21447 18535 13014 \n3 13015 18539 24459 \n3 21445 13019 18534 \n3 21444 23014 13017 \n3 13018 23015 18536 \n3 18538 13022 24460 \n3 18537 23018 13020 \n3 13021 23021 24461 \n3 23845 13025 22998 \n3 23844 18541 13023 \n3 13024 18545 23000 \n3 23843 13028 18540 \n3 23842 21451 13026 \n3 13027 21453 18542 \n3 18544 13031 23002 \n3 18543 21458 13029 \n3 13030 21461 23003 \n3 23841 13034 21450 \n3 23840 18547 13032 \n3 13033 18551 21452 \n3 23839 13037 18546 \n3 23838 24462 13035 \n3 13036 24463 18548 \n3 18550 13040 21454 \n3 18549 24464 13038 \n3 13039 24465 21455 \n3 21460 13043 23006 \n3 21459 18553 13041 \n3 13042 18557 23007 \n3 21457 13046 18552 \n3 21456 24466 13044 \n3 13045 24467 18554 \n3 18556 13049 23008 \n3 18555 24468 13047 \n3 13048 24469 23009 \n3 23020 13052 24470 \n3 23019 18559 13050 \n3 13051 18563 24471 \n3 23017 13055 18558 \n3 23016 21463 13053 \n3 13054 21465 18560 \n3 18562 13058 24472 \n3 18561 21470 13056 \n3 13057 21473 24473 \n3 23013 13061 21462 \n3 23012 18565 13059 \n3 13060 18569 21464 \n3 23011 13064 18564 \n3 23010 24474 13062 \n3 13063 24475 18566 \n3 18568 13067 21466 \n3 18567 24476 13065 \n3 13066 24477 21467 \n3 21472 13070 24478 \n3 21471 18571 13068 \n3 13069 18575 24479 \n3 21469 13073 18570 \n3 21468 24480 13071 \n3 13072 24481 18572 \n3 18574 13076 24482 \n3 18573 24483 13074 \n3 13075 24484 24485 \n3 24486 13079 24487 \n3 24488 18577 13077 \n3 13078 18581 24489 \n3 24490 13082 18576 \n3 24491 21475 13080 \n3 13081 21477 18578 \n3 18580 13085 24492 \n3 18579 21482 13083 \n3 13084 21485 24493 \n3 24494 13088 21474 \n3 24495 18583 13086 \n3 13087 18587 21476 \n3 24496 13091 18582 \n3 24497 23023 13089 \n3 13090 23025 18584 \n3 18586 13094 21478 \n3 18585 23028 13092 \n3 13093 23029 21479 \n3 21484 13097 24498 \n3 21483 18589 13095 \n3 13096 18593 24499 \n3 21481 13100 18588 \n3 21480 23038 13098 \n3 13099 23039 18590 \n3 18592 13103 24500 \n3 18591 23042 13101 \n3 13102 23045 24501 \n3 24502 13106 23022 \n3 24503 18595 13104 \n3 13105 18599 23024 \n3 24504 13109 18594 \n3 24505 21487 13107 \n3 13108 21489 18596 \n3 18598 13112 23026 \n3 18597 21494 13110 \n3 13111 21497 23027 \n3 24506 13115 21486 \n3 24507 18601 13113 \n3 13114 18605 21488 \n3 24508 13118 18600 \n3 24509 23863 13116 \n3 13117 23865 18602 \n3 18604 13121 21490 \n3 18603 23868 13119 \n3 13120 23869 21491 \n3 21496 13124 23030 \n3 21495 18607 13122 \n3 13123 18611 23031 \n3 21493 13127 18606 \n3 21492 23874 13125 \n3 13126 23875 18608 \n3 18610 13130 23032 \n3 18609 23876 13128 \n3 13129 23877 23033 \n3 23044 13133 24510 \n3 23043 18613 13131 \n3 13132 18617 24511 \n3 23041 13136 18612 \n3 23040 21499 13134 \n3 13135 21501 18614 \n3 18616 13139 24512 \n3 18615 21506 13137 \n3 13138 21509 24513 \n3 23037 13142 21498 \n3 23036 18619 13140 \n3 13141 18623 21500 \n3 23035 13145 18618 \n3 23034 23894 13143 \n3 13144 23895 18620 \n3 18622 13148 21502 \n3 18621 23896 13146 \n3 13147 23897 21503 \n3 21508 13151 24514 \n3 21507 18625 13149 \n3 13150 18629 24515 \n3 21505 13154 18624 \n3 21504 23902 13152 \n3 13153 23903 18626 \n3 18628 13157 24516 \n3 18627 23906 13155 \n3 13156 23909 24517 \n3 24518 13160 23862 \n3 24519 18631 13158 \n3 13159 18635 23864 \n3 24520 13163 18630 \n3 24521 21511 13161 \n3 13162 21513 18632 \n3 18634 13166 23866 \n3 18633 21518 13164 \n3 13165 21521 23867 \n3 24522 13169 21510 \n3 24523 18637 13167 \n3 13168 18641 21512 \n3 24524 13172 18636 \n3 24525 23047 13170 \n3 13171 23049 18638 \n3 18640 13175 21514 \n3 18639 23052 13173 \n3 13174 23053 21515 \n3 21520 13178 23870 \n3 21519 18643 13176 \n3 13177 18647 23871 \n3 21517 13181 18642 \n3 21516 23062 13179 \n3 13180 23063 18644 \n3 18646 13184 23872 \n3 18645 23066 13182 \n3 13183 23069 23873 \n3 24526 13187 23046 \n3 24527 18649 13185 \n3 13186 18653 23048 \n3 24528 13190 18648 \n3 24529 21523 13188 \n3 13189 21525 18650 \n3 18652 13193 23050 \n3 18651 21530 13191 \n3 13192 21533 23051 \n3 24530 13196 21522 \n3 24531 18655 13194 \n3 13195 18659 21524 \n3 24532 13199 18654 \n3 24533 24484 13197 \n3 13198 24483 18656 \n3 18658 13202 21526 \n3 18657 24481 13200 \n3 13201 24480 21527 \n3 21532 13205 23054 \n3 21531 18661 13203 \n3 13204 18665 23055 \n3 21529 13208 18660 \n3 21528 24477 13206 \n3 13207 24476 18662 \n3 18664 13211 23056 \n3 18663 24475 13209 \n3 13210 24474 23057 \n3 23068 13214 23878 \n3 23067 18667 13212 \n3 13213 18671 23879 \n3 23065 13217 18666 \n3 23064 21535 13215 \n3 13216 21537 18668 \n3 18670 13220 23880 \n3 18669 21542 13218 \n3 13219 21545 23881 \n3 23061 13223 21534 \n3 23060 18673 13221 \n3 13222 18677 21536 \n3 23059 13226 18672 \n3 23058 24469 13224 \n3 13225 24468 18674 \n3 18676 13229 21538 \n3 18675 24467 13227 \n3 13228 24466 21539 \n3 21544 13232 23882 \n3 21543 18679 13230 \n3 13231 18683 23883 \n3 21541 13235 18678 \n3 21540 24465 13233 \n3 13234 24464 18680 \n3 18682 13238 23884 \n3 18681 24463 13236 \n3 13237 24462 23885 \n3 23908 13241 24534 \n3 23907 18685 13239 \n3 13240 18689 24535 \n3 23905 13244 18684 \n3 23904 21547 13242 \n3 13243 21549 18686 \n3 18688 13247 24536 \n3 18687 21554 13245 \n3 13246 21557 24537 \n3 23901 13250 21546 \n3 23900 18691 13248 \n3 13249 18695 21548 \n3 23899 13253 18690 \n3 23898 23071 13251 \n3 13252 23073 18692 \n3 18694 13256 21550 \n3 18693 23076 13254 \n3 13255 23077 21551 \n3 21556 13259 24538 \n3 21555 18697 13257 \n3 13258 18701 24539 \n3 21553 13262 18696 \n3 21552 23086 13260 \n3 13261 23087 18698 \n3 18700 13265 24540 \n3 18699 23090 13263 \n3 13264 23093 24541 \n3 23893 13268 23070 \n3 23892 18703 13266 \n3 13267 18707 23072 \n3 23891 13271 18702 \n3 23890 21559 13269 \n3 13270 21561 18704 \n3 18706 13274 23074 \n3 18705 21566 13272 \n3 13273 21569 23075 \n3 23889 13277 21558 \n3 23888 18709 13275 \n3 13276 18713 21560 \n3 23887 13280 18708 \n3 23886 24453 13278 \n3 13279 24452 18710 \n3 18712 13283 21562 \n3 18711 24451 13281 \n3 13282 24450 21563 \n3 21568 13286 23078 \n3 21567 18715 13284 \n3 13285 18719 23079 \n3 21565 13289 18714 \n3 21564 24449 13287 \n3 13288 24448 18716 \n3 18718 13292 23080 \n3 18717 24447 13290 \n3 13291 24446 23081 \n3 23092 13295 24542 \n3 23091 18721 13293 \n3 13294 18725 24543 \n3 23089 13298 18720 \n3 23088 21571 13296 \n3 13297 21573 18722 \n3 18724 13301 24544 \n3 18723 21578 13299 \n3 13300 21581 24545 \n3 23085 13304 21570 \n3 23084 18727 13302 \n3 13303 18731 21572 \n3 23083 13307 18726 \n3 23082 24445 13305 \n3 13306 24444 18728 \n3 18730 13310 21574 \n3 18729 24443 13308 \n3 13309 24442 21575 \n3 21580 13313 24546 \n3 21579 18733 13311 \n3 13312 18737 24547 \n3 21577 13316 18732 \n3 21576 24441 13314 \n3 13315 24440 18734 \n3 18736 13319 24548 \n3 18735 24439 13317 \n3 13318 24438 24549 \n3 24550 13322 24551 \n3 24552 18739 13320 \n3 13321 18743 24553 \n3 24554 13325 18738 \n3 24555 21583 13323 \n3 13324 21585 18740 \n3 18742 13328 24556 \n3 18741 21590 13326 \n3 13327 21593 24557 \n3 24558 13331 21582 \n3 24559 18745 13329 \n3 13330 18749 21584 \n3 24560 13334 18744 \n3 24561 23095 13332 \n3 13333 23097 18746 \n3 18748 13337 21586 \n3 18747 23100 13335 \n3 13336 23101 21587 \n3 21592 13340 24562 \n3 21591 18751 13338 \n3 13339 18755 24563 \n3 21589 13343 18750 \n3 21588 23110 13341 \n3 13342 23111 18752 \n3 18754 13346 24564 \n3 18753 23114 13344 \n3 13345 23117 24565 \n3 24566 13349 23094 \n3 24567 18757 13347 \n3 13348 18761 23096 \n3 24568 13352 18756 \n3 24569 21595 13350 \n3 13351 21597 18758 \n3 18760 13355 23098 \n3 18759 21602 13353 \n3 13354 21605 23099 \n3 24570 13358 21594 \n3 24571 18763 13356 \n3 13357 18767 21596 \n3 24572 13361 18762 \n3 24573 23911 13359 \n3 13360 23913 18764 \n3 18766 13364 21598 \n3 18765 23916 13362 \n3 13363 23917 21599 \n3 21604 13367 23102 \n3 21603 18769 13365 \n3 13366 18773 23103 \n3 21601 13370 18768 \n3 21600 23922 13368 \n3 13369 23923 18770 \n3 18772 13373 23104 \n3 18771 23924 13371 \n3 13372 23925 23105 \n3 23116 13376 24574 \n3 23115 18775 13374 \n3 13375 18779 24575 \n3 23113 13379 18774 \n3 23112 21607 13377 \n3 13378 21609 18776 \n3 18778 13382 24576 \n3 18777 21614 13380 \n3 13381 21617 24577 \n3 23109 13385 21606 \n3 23108 18781 13383 \n3 13384 18785 21608 \n3 23107 13388 18780 \n3 23106 23942 13386 \n3 13387 23943 18782 \n3 18784 13391 21610 \n3 18783 23944 13389 \n3 13390 23945 21611 \n3 21616 13394 24578 \n3 21615 18787 13392 \n3 13393 18791 24579 \n3 21613 13397 18786 \n3 21612 23950 13395 \n3 13396 23951 18788 \n3 18790 13400 24580 \n3 18789 23954 13398 \n3 13399 23957 24581 \n3 24582 13403 23910 \n3 24583 18793 13401 \n3 13402 18797 23912 \n3 24584 13406 18792 \n3 24585 21619 13404 \n3 13405 21621 18794 \n3 18796 13409 23914 \n3 18795 21626 13407 \n3 13408 21629 23915 \n3 24586 13412 21618 \n3 24587 18799 13410 \n3 13411 18803 21620 \n3 24588 13415 18798 \n3 24589 23119 13413 \n3 13414 23121 18800 \n3 18802 13418 21622 \n3 18801 23124 13416 \n3 13417 23125 21623 \n3 21628 13421 23918 \n3 21627 18805 13419 \n3 13420 18809 23919 \n3 21625 13424 18804 \n3 21624 23134 13422 \n3 13423 23135 18806 \n3 18808 13427 23920 \n3 18807 23138 13425 \n3 13426 23141 23921 \n3 24590 13430 23118 \n3 24591 18811 13428 \n3 13429 18815 23120 \n3 24592 13433 18810 \n3 24593 21631 13431 \n3 13432 21633 18812 \n3 18814 13436 23122 \n3 18813 21638 13434 \n3 13435 21641 23123 \n3 24594 13439 21630 \n3 24595 18817 13437 \n3 13438 18821 21632 \n3 24596 13442 18816 \n3 24597 24598 13440 \n3 13441 24599 18818 \n3 18820 13445 21634 \n3 18819 24600 13443 \n3 13444 24601 21635 \n3 21640 13448 23126 \n3 21639 18823 13446 \n3 13447 18827 23127 \n3 21637 13451 18822 \n3 21636 24602 13449 \n3 13450 24603 18824 \n3 18826 13454 23128 \n3 18825 24604 13452 \n3 13453 24605 23129 \n3 23140 13457 23926 \n3 23139 18829 13455 \n3 13456 18833 23927 \n3 23137 13460 18828 \n3 23136 21643 13458 \n3 13459 21645 18830 \n3 18832 13463 23928 \n3 18831 21650 13461 \n3 13462 21653 23929 \n3 23133 13466 21642 \n3 23132 18835 13464 \n3 13465 18839 21644 \n3 23131 13469 18834 \n3 23130 24606 13467 \n3 13468 24607 18836 \n3 18838 13472 21646 \n3 18837 24608 13470 \n3 13471 24609 21647 \n3 21652 13475 23930 \n3 21651 18841 13473 \n3 13474 18845 23931 \n3 21649 13478 18840 \n3 21648 24610 13476 \n3 13477 24611 18842 \n3 18844 13481 23932 \n3 18843 24612 13479 \n3 13480 24613 23933 \n3 23956 13484 24614 \n3 23955 18847 13482 \n3 13483 18851 24615 \n3 23953 13487 18846 \n3 23952 21655 13485 \n3 13486 21657 18848 \n3 18850 13490 24616 \n3 18849 21662 13488 \n3 13489 21665 24617 \n3 23949 13493 21654 \n3 23948 18853 13491 \n3 13492 18857 21656 \n3 23947 13496 18852 \n3 23946 23143 13494 \n3 13495 23145 18854 \n3 18856 13499 21658 \n3 18855 23148 13497 \n3 13498 23149 21659 \n3 21664 13502 24618 \n3 21663 18859 13500 \n3 13501 18863 24619 \n3 21661 13505 18858 \n3 21660 23158 13503 \n3 13504 23159 18860 \n3 18862 13508 24620 \n3 18861 23162 13506 \n3 13507 23165 24621 \n3 23941 13511 23142 \n3 23940 18865 13509 \n3 13510 18869 23144 \n3 23939 13514 18864 \n3 23938 21667 13512 \n3 13513 21669 18866 \n3 18868 13517 23146 \n3 18867 21674 13515 \n3 13516 21677 23147 \n3 23937 13520 21666 \n3 23936 18871 13518 \n3 13519 18875 21668 \n3 23935 13523 18870 \n3 23934 24622 13521 \n3 13522 24623 18872 \n3 18874 13526 21670 \n3 18873 24624 13524 \n3 13525 24625 21671 \n3 21676 13529 23150 \n3 21675 18877 13527 \n3 13528 18881 23151 \n3 21673 13532 18876 \n3 21672 24626 13530 \n3 13531 24627 18878 \n3 18880 13535 23152 \n3 18879 24628 13533 \n3 13534 24629 23153 \n3 23164 13538 24630 \n3 23163 18883 13536 \n3 13537 18887 24631 \n3 23161 13541 18882 \n3 23160 21679 13539 \n3 13540 21681 18884 \n3 18886 13544 24632 \n3 18885 21686 13542 \n3 13543 21689 24633 \n3 23157 13547 21678 \n3 23156 18889 13545 \n3 13546 18893 21680 \n3 23155 13550 18888 \n3 23154 24634 13548 \n3 13549 24635 18890 \n3 18892 13553 21682 \n3 18891 24636 13551 \n3 13552 24637 21683 \n3 21688 13556 24638 \n3 21687 18895 13554 \n3 13555 18899 24639 \n3 21685 13559 18894 \n3 21684 24640 13557 \n3 13558 24641 18896 \n3 18898 13562 24642 \n3 18897 24643 13560 \n3 13561 24644 24645 \n3 24646 13565 24647 \n3 24648 18901 13563 \n3 13564 18905 24649 \n3 24650 13568 18900 \n3 24651 21691 13566 \n3 13567 21693 18902 \n3 18904 13571 24652 \n3 18903 21698 13569 \n3 13570 21701 24653 \n3 24654 13574 21690 \n3 24655 18907 13572 \n3 13573 18911 21692 \n3 24656 13577 18906 \n3 24657 23167 13575 \n3 13576 23169 18908 \n3 18910 13580 21694 \n3 18909 23172 13578 \n3 13579 23173 21695 \n3 21700 13583 24658 \n3 21699 18913 13581 \n3 13582 18917 24659 \n3 21697 13586 18912 \n3 21696 23182 13584 \n3 13585 23183 18914 \n3 18916 13589 24660 \n3 18915 23186 13587 \n3 13588 23189 24661 \n3 24662 13592 23166 \n3 24663 18919 13590 \n3 13591 18923 23168 \n3 24664 13595 18918 \n3 24665 21703 13593 \n3 13594 21705 18920 \n3 18922 13598 23170 \n3 18921 21710 13596 \n3 13597 21713 23171 \n3 24666 13601 21702 \n3 24667 18925 13599 \n3 13600 18929 21704 \n3 24668 13604 18924 \n3 24669 23959 13602 \n3 13603 23961 18926 \n3 18928 13607 21706 \n3 18927 23964 13605 \n3 13606 23965 21707 \n3 21712 13610 23174 \n3 21711 18931 13608 \n3 13609 18935 23175 \n3 21709 13613 18930 \n3 21708 23970 13611 \n3 13612 23971 18932 \n3 18934 13616 23176 \n3 18933 23972 13614 \n3 13615 23973 23177 \n3 23188 13619 24670 \n3 23187 18937 13617 \n3 13618 18941 24671 \n3 23185 13622 18936 \n3 23184 21715 13620 \n3 13621 21717 18938 \n3 18940 13625 24672 \n3 18939 21722 13623 \n3 13624 21725 24673 \n3 23181 13628 21714 \n3 23180 18943 13626 \n3 13627 18947 21716 \n3 23179 13631 18942 \n3 23178 23990 13629 \n3 13630 23991 18944 \n3 18946 13634 21718 \n3 18945 23992 13632 \n3 13633 23993 21719 \n3 21724 13637 24674 \n3 21723 18949 13635 \n3 13636 18953 24675 \n3 21721 13640 18948 \n3 21720 23998 13638 \n3 13639 23999 18950 \n3 18952 13643 24676 \n3 18951 24002 13641 \n3 13642 24005 24677 \n3 24678 13646 23958 \n3 24679 18955 13644 \n3 13645 18959 23960 \n3 24680 13649 18954 \n3 24681 21727 13647 \n3 13648 21729 18956 \n3 18958 13652 23962 \n3 18957 21734 13650 \n3 13651 21737 23963 \n3 24682 13655 21726 \n3 24683 18961 13653 \n3 13654 18965 21728 \n3 24684 13658 18960 \n3 24685 23191 13656 \n3 13657 23193 18962 \n3 18964 13661 21730 \n3 18963 23196 13659 \n3 13660 23197 21731 \n3 21736 13664 23966 \n3 21735 18967 13662 \n3 13663 18971 23967 \n3 21733 13667 18966 \n3 21732 23206 13665 \n3 13666 23207 18968 \n3 18970 13670 23968 \n3 18969 23210 13668 \n3 13669 23213 23969 \n3 24686 13673 23190 \n3 24687 18973 13671 \n3 13672 18977 23192 \n3 24688 13676 18972 \n3 24689 21739 13674 \n3 13675 21741 18974 \n3 18976 13679 23194 \n3 18975 21746 13677 \n3 13678 21749 23195 \n3 24690 13682 21738 \n3 24691 18979 13680 \n3 13681 18983 21740 \n3 24692 13685 18978 \n3 24693 24644 13683 \n3 13684 24643 18980 \n3 18982 13688 21742 \n3 18981 24641 13686 \n3 13687 24640 21743 \n3 21748 13691 23198 \n3 21747 18985 13689 \n3 13690 18989 23199 \n3 21745 13694 18984 \n3 21744 24637 13692 \n3 13693 24636 18986 \n3 18988 13697 23200 \n3 18987 24635 13695 \n3 13696 24634 23201 \n3 23212 13700 23974 \n3 23211 18991 13698 \n3 13699 18995 23975 \n3 23209 13703 18990 \n3 23208 21751 13701 \n3 13702 21753 18992 \n3 18994 13706 23976 \n3 18993 21758 13704 \n3 13705 21761 23977 \n3 23205 13709 21750 \n3 23204 18997 13707 \n3 13708 19001 21752 \n3 23203 13712 18996 \n3 23202 24629 13710 \n3 13711 24628 18998 \n3 19000 13715 21754 \n3 18999 24627 13713 \n3 13714 24626 21755 \n3 21760 13718 23978 \n3 21759 19003 13716 \n3 13717 19007 23979 \n3 21757 13721 19002 \n3 21756 24625 13719 \n3 13720 24624 19004 \n3 19006 13724 23980 \n3 19005 24623 13722 \n3 13723 24622 23981 \n3 24004 13727 24694 \n3 24003 19009 13725 \n3 13726 19013 24695 \n3 24001 13730 19008 \n3 24000 21763 13728 \n3 13729 21765 19010 \n3 19012 13733 24696 \n3 19011 21770 13731 \n3 13732 21773 24697 \n3 23997 13736 21762 \n3 23996 19015 13734 \n3 13735 19019 21764 \n3 23995 13739 19014 \n3 23994 23215 13737 \n3 13738 23217 19016 \n3 19018 13742 21766 \n3 19017 23220 13740 \n3 13741 23221 21767 \n3 21772 13745 24698 \n3 21771 19021 13743 \n3 13744 19025 24699 \n3 21769 13748 19020 \n3 21768 23230 13746 \n3 13747 23231 19022 \n3 19024 13751 24700 \n3 19023 23234 13749 \n3 13750 23237 24701 \n3 23989 13754 23214 \n3 23988 19027 13752 \n3 13753 19031 23216 \n3 23987 13757 19026 \n3 23986 21775 13755 \n3 13756 21777 19028 \n3 19030 13760 23218 \n3 19029 21782 13758 \n3 13759 21785 23219 \n3 23985 13763 21774 \n3 23984 19033 13761 \n3 13762 19037 21776 \n3 23983 13766 19032 \n3 23982 24613 13764 \n3 13765 24612 19034 \n3 19036 13769 21778 \n3 19035 24611 13767 \n3 13768 24610 21779 \n3 21784 13772 23222 \n3 21783 19039 13770 \n3 13771 19043 23223 \n3 21781 13775 19038 \n3 21780 24609 13773 \n3 13774 24608 19040 \n3 19042 13778 23224 \n3 19041 24607 13776 \n3 13777 24606 23225 \n3 23236 13781 24702 \n3 23235 19045 13779 \n3 13780 19049 24703 \n3 23233 13784 19044 \n3 23232 21787 13782 \n3 13783 21789 19046 \n3 19048 13787 24704 \n3 19047 21794 13785 \n3 13786 21797 24705 \n3 23229 13790 21786 \n3 23228 19051 13788 \n3 13789 19055 21788 \n3 23227 13793 19050 \n3 23226 24605 13791 \n3 13792 24604 19052 \n3 19054 13796 21790 \n3 19053 24603 13794 \n3 13795 24602 21791 \n3 21796 13799 24706 \n3 21795 19057 13797 \n3 13798 19061 24707 \n3 21793 13802 19056 \n3 21792 24601 13800 \n3 13801 24600 19058 \n3 19060 13805 24708 \n3 19059 24599 13803 \n3 13804 24598 24709 \n3 24710 13808 24711 \n3 24712 19063 13806 \n3 13807 19067 24713 \n3 24714 13811 19062 \n3 24715 21799 13809 \n3 13810 21801 19064 \n3 19066 13814 24716 \n3 19065 21806 13812 \n3 13813 21809 24717 \n3 24718 13817 21798 \n3 24719 19069 13815 \n3 13816 19073 21800 \n3 24720 13820 19068 \n3 24721 23239 13818 \n3 13819 23241 19070 \n3 19072 13823 21802 \n3 19071 23244 13821 \n3 13822 23245 21803 \n3 21808 13826 24722 \n3 21807 19075 13824 \n3 13825 19079 24723 \n3 21805 13829 19074 \n3 21804 23254 13827 \n3 13828 23255 19076 \n3 19078 13832 24724 \n3 19077 23258 13830 \n3 13831 23261 24725 \n3 24726 13835 23238 \n3 24727 19081 13833 \n3 13834 19085 23240 \n3 24728 13838 19080 \n3 24729 21811 13836 \n3 13837 21813 19082 \n3 19084 13841 23242 \n3 19083 21818 13839 \n3 13840 21821 23243 \n3 24730 13844 21810 \n3 24731 19087 13842 \n3 13843 19091 21812 \n3 24732 13847 19086 \n3 24733 24007 13845 \n3 13846 24009 19088 \n3 19090 13850 21814 \n3 19089 24012 13848 \n3 13849 24013 21815 \n3 21820 13853 23246 \n3 21819 19093 13851 \n3 13852 19097 23247 \n3 21817 13856 19092 \n3 21816 24018 13854 \n3 13855 24019 19094 \n3 19096 13859 23248 \n3 19095 24020 13857 \n3 13858 24021 23249 \n3 23260 13862 24734 \n3 23259 19099 13860 \n3 13861 19103 24735 \n3 23257 13865 19098 \n3 23256 21823 13863 \n3 13864 21825 19100 \n3 19102 13868 24736 \n3 19101 21830 13866 \n3 13867 21833 24737 \n3 23253 13871 21822 \n3 23252 19105 13869 \n3 13870 19109 21824 \n3 23251 13874 19104 \n3 23250 24038 13872 \n3 13873 24039 19106 \n3 19108 13877 21826 \n3 19107 24040 13875 \n3 13876 24041 21827 \n3 21832 13880 24738 \n3 21831 19111 13878 \n3 13879 19115 24739 \n3 21829 13883 19110 \n3 21828 24046 13881 \n3 13882 24047 19112 \n3 19114 13886 24740 \n3 19113 24050 13884 \n3 13885 24053 24741 \n3 24742 13889 24006 \n3 24743 19117 13887 \n3 13888 19121 24008 \n3 24744 13892 19116 \n3 24745 21835 13890 \n3 13891 21837 19118 \n3 19120 13895 24010 \n3 19119 21842 13893 \n3 13894 21845 24011 \n3 24746 13898 21834 \n3 24747 19123 13896 \n3 13897 19127 21836 \n3 24748 13901 19122 \n3 24749 23263 13899 \n3 13900 23265 19124 \n3 19126 13904 21838 \n3 19125 23268 13902 \n3 13903 23269 21839 \n3 21844 13907 24014 \n3 21843 19129 13905 \n3 13906 19133 24015 \n3 21841 13910 19128 \n3 21840 23278 13908 \n3 13909 23279 19130 \n3 19132 13913 24016 \n3 19131 23282 13911 \n3 13912 23285 24017 \n3 24750 13916 23262 \n3 24751 19135 13914 \n3 13915 19139 23264 \n3 24752 13919 19134 \n3 24753 21847 13917 \n3 13918 21849 19136 \n3 19138 13922 23266 \n3 19137 21854 13920 \n3 13921 21857 23267 \n3 24754 13925 21846 \n3 24755 19141 13923 \n3 13924 19145 21848 \n3 24756 13928 19140 \n3 24757 24758 13926 \n3 13927 24759 19142 \n3 19144 13931 21850 \n3 19143 24760 13929 \n3 13930 24761 21851 \n3 21856 13934 23270 \n3 21855 19147 13932 \n3 13933 19151 23271 \n3 21853 13937 19146 \n3 21852 24762 13935 \n3 13936 24763 19148 \n3 19150 13940 23272 \n3 19149 24764 13938 \n3 13939 24765 23273 \n3 23284 13943 24022 \n3 23283 19153 13941 \n3 13942 19157 24023 \n3 23281 13946 19152 \n3 23280 21859 13944 \n3 13945 21861 19154 \n3 19156 13949 24024 \n3 19155 21866 13947 \n3 13948 21869 24025 \n3 23277 13952 21858 \n3 23276 19159 13950 \n3 13951 19163 21860 \n3 23275 13955 19158 \n3 23274 24766 13953 \n3 13954 24767 19160 \n3 19162 13958 21862 \n3 19161 24768 13956 \n3 13957 24769 21863 \n3 21868 13961 24026 \n3 21867 19165 13959 \n3 13960 19169 24027 \n3 21865 13964 19164 \n3 21864 24770 13962 \n3 13963 24771 19166 \n3 19168 13967 24028 \n3 19167 24772 13965 \n3 13966 24773 24029 \n3 24052 13970 24774 \n3 24051 19171 13968 \n3 13969 19175 24775 \n3 24049 13973 19170 \n3 24048 21871 13971 \n3 13972 21873 19172 \n3 19174 13976 24776 \n3 19173 21878 13974 \n3 13975 21881 24777 \n3 24045 13979 21870 \n3 24044 19177 13977 \n3 13978 19181 21872 \n3 24043 13982 19176 \n3 24042 23287 13980 \n3 13981 23289 19178 \n3 19180 13985 21874 \n3 19179 23292 13983 \n3 13984 23293 21875 \n3 21880 13988 24778 \n3 21879 19183 13986 \n3 13987 19187 24779 \n3 21877 13991 19182 \n3 21876 23302 13989 \n3 13990 23303 19184 \n3 19186 13994 24780 \n3 19185 23306 13992 \n3 13993 23309 24781 \n3 24037 13997 23286 \n3 24036 19189 13995 \n3 13996 19193 23288 \n3 24035 14000 19188 \n3 24034 21883 13998 \n3 13999 21885 19190 \n3 19192 14003 23290 \n3 19191 21890 14001 \n3 14002 21893 23291 \n3 24033 14006 21882 \n3 24032 19195 14004 \n3 14005 19199 21884 \n3 24031 14009 19194 \n3 24030 24782 14007 \n3 14008 24783 19196 \n3 19198 14012 21886 \n3 19197 24784 14010 \n3 14011 24785 21887 \n3 21892 14015 23294 \n3 21891 19201 14013 \n3 14014 19205 23295 \n3 21889 14018 19200 \n3 21888 24786 14016 \n3 14017 24787 19202 \n3 19204 14021 23296 \n3 19203 24788 14019 \n3 14020 24789 23297 \n3 23308 14024 24790 \n3 23307 19207 14022 \n3 14023 19211 24791 \n3 23305 14027 19206 \n3 23304 21895 14025 \n3 14026 21897 19208 \n3 19210 14030 24792 \n3 19209 21902 14028 \n3 14029 21905 24793 \n3 23301 14033 21894 \n3 23300 19213 14031 \n3 14032 19217 21896 \n3 23299 14036 19212 \n3 23298 24794 14034 \n3 14035 24795 19214 \n3 19216 14039 21898 \n3 19215 24796 14037 \n3 14038 24797 21899 \n3 21904 14042 24798 \n3 21903 19219 14040 \n3 14041 19223 24799 \n3 21901 14045 19218 \n3 21900 24800 14043 \n3 14044 24801 19220 \n3 19222 14048 24802 \n3 19221 24803 14046 \n3 14047 24804 24805 \n3 24806 14051 24807 \n3 24808 19225 14049 \n3 14050 19229 24809 \n3 24810 14054 19224 \n3 24811 21907 14052 \n3 14053 21909 19226 \n3 19228 14057 24812 \n3 19227 21914 14055 \n3 14056 21917 24813 \n3 24814 14060 21906 \n3 24815 19231 14058 \n3 14059 19235 21908 \n3 24816 14063 19230 \n3 24817 23311 14061 \n3 14062 23313 19232 \n3 19234 14066 21910 \n3 19233 23316 14064 \n3 14065 23317 21911 \n3 21916 14069 24818 \n3 21915 19237 14067 \n3 14068 19241 24819 \n3 21913 14072 19236 \n3 21912 23326 14070 \n3 14071 23327 19238 \n3 19240 14075 24820 \n3 19239 23330 14073 \n3 14074 23333 24821 \n3 24822 14078 23310 \n3 24823 19243 14076 \n3 14077 19247 23312 \n3 24824 14081 19242 \n3 24825 21919 14079 \n3 14080 21921 19244 \n3 19246 14084 23314 \n3 19245 21926 14082 \n3 14083 21929 23315 \n3 24826 14087 21918 \n3 24827 19249 14085 \n3 14086 19253 21920 \n3 24828 14090 19248 \n3 24829 24055 14088 \n3 14089 24057 19250 \n3 19252 14093 21922 \n3 19251 24060 14091 \n3 14092 24061 21923 \n3 21928 14096 23318 \n3 21927 19255 14094 \n3 14095 19259 23319 \n3 21925 14099 19254 \n3 21924 24066 14097 \n3 14098 24067 19256 \n3 19258 14102 23320 \n3 19257 24068 14100 \n3 14101 24069 23321 \n3 23332 14105 24830 \n3 23331 19261 14103 \n3 14104 19265 24831 \n3 23329 14108 19260 \n3 23328 21931 14106 \n3 14107 21933 19262 \n3 19264 14111 24832 \n3 19263 21938 14109 \n3 14110 21941 24833 \n3 23325 14114 21930 \n3 23324 19267 14112 \n3 14113 19271 21932 \n3 23323 14117 19266 \n3 23322 24086 14115 \n3 14116 24087 19268 \n3 19270 14120 21934 \n3 19269 24088 14118 \n3 14119 24089 21935 \n3 21940 14123 24834 \n3 21939 19273 14121 \n3 14122 19277 24835 \n3 21937 14126 19272 \n3 21936 24094 14124 \n3 14125 24095 19274 \n3 19276 14129 24836 \n3 19275 24098 14127 \n3 14128 24101 24837 \n3 24838 14132 24054 \n3 24839 19279 14130 \n3 14131 19283 24056 \n3 24840 14135 19278 \n3 24841 21943 14133 \n3 14134 21945 19280 \n3 19282 14138 24058 \n3 19281 21950 14136 \n3 14137 21953 24059 \n3 24842 14141 21942 \n3 24843 19285 14139 \n3 14140 19289 21944 \n3 24844 14144 19284 \n3 24845 23335 14142 \n3 14143 23337 19286 \n3 19288 14147 21946 \n3 19287 23340 14145 \n3 14146 23341 21947 \n3 21952 14150 24062 \n3 21951 19291 14148 \n3 14149 19295 24063 \n3 21949 14153 19290 \n3 21948 23350 14151 \n3 14152 23351 19292 \n3 19294 14156 24064 \n3 19293 23354 14154 \n3 14155 23357 24065 \n3 24846 14159 23334 \n3 24847 19297 14157 \n3 14158 19301 23336 \n3 24848 14162 19296 \n3 24849 21955 14160 \n3 14161 21957 19298 \n3 19300 14165 23338 \n3 19299 21962 14163 \n3 14164 21965 23339 \n3 24850 14168 21954 \n3 24851 19303 14166 \n3 14167 19307 21956 \n3 24852 14171 19302 \n3 24853 24804 14169 \n3 14170 24803 19304 \n3 19306 14174 21958 \n3 19305 24801 14172 \n3 14173 24800 21959 \n3 21964 14177 23342 \n3 21963 19309 14175 \n3 14176 19313 23343 \n3 21961 14180 19308 \n3 21960 24797 14178 \n3 14179 24796 19310 \n3 19312 14183 23344 \n3 19311 24795 14181 \n3 14182 24794 23345 \n3 23356 14186 24070 \n3 23355 19315 14184 \n3 14185 19319 24071 \n3 23353 14189 19314 \n3 23352 21967 14187 \n3 14188 21969 19316 \n3 19318 14192 24072 \n3 19317 21974 14190 \n3 14191 21977 24073 \n3 23349 14195 21966 \n3 23348 19321 14193 \n3 14194 19325 21968 \n3 23347 14198 19320 \n3 23346 24789 14196 \n3 14197 24788 19322 \n3 19324 14201 21970 \n3 19323 24787 14199 \n3 14200 24786 21971 \n3 21976 14204 24074 \n3 21975 19327 14202 \n3 14203 19331 24075 \n3 21973 14207 19326 \n3 21972 24785 14205 \n3 14206 24784 19328 \n3 19330 14210 24076 \n3 19329 24783 14208 \n3 14209 24782 24077 \n3 24100 14213 24854 \n3 24099 19333 14211 \n3 14212 19337 24855 \n3 24097 14216 19332 \n3 24096 21979 14214 \n3 14215 21981 19334 \n3 19336 14219 24856 \n3 19335 21986 14217 \n3 14218 21989 24857 \n3 24093 14222 21978 \n3 24092 19339 14220 \n3 14221 19343 21980 \n3 24091 14225 19338 \n3 24090 23359 14223 \n3 14224 23361 19340 \n3 19342 14228 21982 \n3 19341 23364 14226 \n3 14227 23365 21983 \n3 21988 14231 24858 \n3 21987 19345 14229 \n3 14230 19349 24859 \n3 21985 14234 19344 \n3 21984 23374 14232 \n3 14233 23375 19346 \n3 19348 14237 24860 \n3 19347 23378 14235 \n3 14236 23381 24861 \n3 24085 14240 23358 \n3 24084 19351 14238 \n3 14239 19355 23360 \n3 24083 14243 19350 \n3 24082 21991 14241 \n3 14242 21993 19352 \n3 19354 14246 23362 \n3 19353 21998 14244 \n3 14245 22001 23363 \n3 24081 14249 21990 \n3 24080 19357 14247 \n3 14248 19361 21992 \n3 24079 14252 19356 \n3 24078 24773 14250 \n3 14251 24772 19358 \n3 19360 14255 21994 \n3 19359 24771 14253 \n3 14254 24770 21995 \n3 22000 14258 23366 \n3 21999 19363 14256 \n3 14257 19367 23367 \n3 21997 14261 19362 \n3 21996 24769 14259 \n3 14260 24768 19364 \n3 19366 14264 23368 \n3 19365 24767 14262 \n3 14263 24766 23369 \n3 23380 14267 24862 \n3 23379 19369 14265 \n3 14266 19373 24863 \n3 23377 14270 19368 \n3 23376 22003 14268 \n3 14269 22005 19370 \n3 19372 14273 24864 \n3 19371 22010 14271 \n3 14272 22013 24865 \n3 23373 14276 22002 \n3 23372 19375 14274 \n3 14275 19379 22004 \n3 23371 14279 19374 \n3 23370 24765 14277 \n3 14278 24764 19376 \n3 19378 14282 22006 \n3 19377 24763 14280 \n3 14281 24762 22007 \n3 22012 14285 24866 \n3 22011 19381 14283 \n3 14284 19385 24867 \n3 22009 14288 19380 \n3 22008 24761 14286 \n3 14287 24760 19382 \n3 19384 14291 24868 \n3 19383 24759 14289 \n3 14290 24758 24869 \n3 24870 14294 24871 \n3 24872 19387 14292 \n3 14293 19391 24873 \n3 24874 14297 19386 \n3 24875 22015 14295 \n3 14296 22017 19388 \n3 19390 14300 24876 \n3 19389 22022 14298 \n3 14299 22025 24877 \n3 24878 14303 22014 \n3 24879 19393 14301 \n3 14302 19397 22016 \n3 24880 14306 19392 \n3 24881 23383 14304 \n3 14305 23385 19394 \n3 19396 14309 22018 \n3 19395 23388 14307 \n3 14308 23389 22019 \n3 22024 14312 24882 \n3 22023 19399 14310 \n3 14311 19403 24883 \n3 22021 14315 19398 \n3 22020 23398 14313 \n3 14314 23399 19400 \n3 19402 14318 24884 \n3 19401 23402 14316 \n3 14317 23405 24885 \n3 24886 14321 23382 \n3 24887 19405 14319 \n3 14320 19409 23384 \n3 24888 14324 19404 \n3 24889 22027 14322 \n3 14323 22029 19406 \n3 19408 14327 23386 \n3 19407 22034 14325 \n3 14326 22037 23387 \n3 24890 14330 22026 \n3 24891 19411 14328 \n3 14329 19415 22028 \n3 24892 14333 19410 \n3 24893 24103 14331 \n3 14332 24105 19412 \n3 19414 14336 22030 \n3 19413 24108 14334 \n3 14335 24109 22031 \n3 22036 14339 23390 \n3 22035 19417 14337 \n3 14338 19421 23391 \n3 22033 14342 19416 \n3 22032 24114 14340 \n3 14341 24115 19418 \n3 19420 14345 23392 \n3 19419 24116 14343 \n3 14344 24117 23393 \n3 23404 14348 24894 \n3 23403 19423 14346 \n3 14347 19427 24895 \n3 23401 14351 19422 \n3 23400 22039 14349 \n3 14350 22041 19424 \n3 19426 14354 24896 \n3 19425 22046 14352 \n3 14353 22049 24897 \n3 23397 14357 22038 \n3 23396 19429 14355 \n3 14356 19433 22040 \n3 23395 14360 19428 \n3 23394 24134 14358 \n3 14359 24135 19430 \n3 19432 14363 22042 \n3 19431 24136 14361 \n3 14362 24137 22043 \n3 22048 14366 24898 \n3 22047 19435 14364 \n3 14365 19439 24899 \n3 22045 14369 19434 \n3 22044 24142 14367 \n3 14368 24143 19436 \n3 19438 14372 24900 \n3 19437 24146 14370 \n3 14371 24149 24901 \n3 24902 14375 24102 \n3 24903 19441 14373 \n3 14374 19445 24104 \n3 24904 14378 19440 \n3 24905 22051 14376 \n3 14377 22053 19442 \n3 19444 14381 24106 \n3 19443 22058 14379 \n3 14380 22061 24107 \n3 24906 14384 22050 \n3 24907 19447 14382 \n3 14383 19451 22052 \n3 24908 14387 19446 \n3 24909 23407 14385 \n3 14386 23409 19448 \n3 19450 14390 22054 \n3 19449 23412 14388 \n3 14389 23413 22055 \n3 22060 14393 24110 \n3 22059 19453 14391 \n3 14392 19457 24111 \n3 22057 14396 19452 \n3 22056 23422 14394 \n3 14395 23423 19454 \n3 19456 14399 24112 \n3 19455 23426 14397 \n3 14398 23429 24113 \n3 24910 14402 23406 \n3 24911 19459 14400 \n3 14401 19463 23408 \n3 24912 14405 19458 \n3 24913 22063 14403 \n3 14404 22065 19460 \n3 19462 14408 23410 \n3 19461 22070 14406 \n3 14407 22073 23411 \n3 24914 14411 22062 \n3 24915 19465 14409 \n3 14410 19469 22064 \n3 24916 14414 19464 \n3 24917 24918 14412 \n3 14413 24919 19466 \n3 19468 14417 22066 \n3 19467 24920 14415 \n3 14416 24921 22067 \n3 22072 14420 23414 \n3 22071 19471 14418 \n3 14419 19475 23415 \n3 22069 14423 19470 \n3 22068 24922 14421 \n3 14422 24923 19472 \n3 19474 14426 23416 \n3 19473 24924 14424 \n3 14425 24925 23417 \n3 23428 14429 24118 \n3 23427 19477 14427 \n3 14428 19481 24119 \n3 23425 14432 19476 \n3 23424 22075 14430 \n3 14431 22077 19478 \n3 19480 14435 24120 \n3 19479 22082 14433 \n3 14434 22085 24121 \n3 23421 14438 22074 \n3 23420 19483 14436 \n3 14437 19487 22076 \n3 23419 14441 19482 \n3 23418 24926 14439 \n3 14440 24927 19484 \n3 19486 14444 22078 \n3 19485 24928 14442 \n3 14443 24929 22079 \n3 22084 14447 24122 \n3 22083 19489 14445 \n3 14446 19493 24123 \n3 22081 14450 19488 \n3 22080 24930 14448 \n3 14449 24931 19490 \n3 19492 14453 24124 \n3 19491 24932 14451 \n3 14452 24933 24125 \n3 24148 14456 24934 \n3 24147 19495 14454 \n3 14455 19499 24935 \n3 24145 14459 19494 \n3 24144 22087 14457 \n3 14458 22089 19496 \n3 19498 14462 24936 \n3 19497 22094 14460 \n3 14461 22097 24937 \n3 24141 14465 22086 \n3 24140 19501 14463 \n3 14464 19505 22088 \n3 24139 14468 19500 \n3 24138 23431 14466 \n3 14467 23433 19502 \n3 19504 14471 22090 \n3 19503 23436 14469 \n3 14470 23437 22091 \n3 22096 14474 24938 \n3 22095 19507 14472 \n3 14473 19511 24939 \n3 22093 14477 19506 \n3 22092 23446 14475 \n3 14476 23447 19508 \n3 19510 14480 24940 \n3 19509 23450 14478 \n3 14479 23453 24941 \n3 24133 14483 23430 \n3 24132 19513 14481 \n3 14482 19517 23432 \n3 24131 14486 19512 \n3 24130 22099 14484 \n3 14485 22101 19514 \n3 19516 14489 23434 \n3 19515 22106 14487 \n3 14488 22109 23435 \n3 24129 14492 22098 \n3 24128 19519 14490 \n3 14491 19523 22100 \n3 24127 14495 19518 \n3 24126 24942 14493 \n3 14494 24943 19520 \n3 19522 14498 22102 \n3 19521 24944 14496 \n3 14497 24945 22103 \n3 22108 14501 23438 \n3 22107 19525 14499 \n3 14500 19529 23439 \n3 22105 14504 19524 \n3 22104 24946 14502 \n3 14503 24947 19526 \n3 19528 14507 23440 \n3 19527 24948 14505 \n3 14506 24949 23441 \n3 23452 14510 24950 \n3 23451 19531 14508 \n3 14509 19535 24951 \n3 23449 14513 19530 \n3 23448 22111 14511 \n3 14512 22113 19532 \n3 19534 14516 24952 \n3 19533 22118 14514 \n3 14515 22121 24953 \n3 23445 14519 22110 \n3 23444 19537 14517 \n3 14518 19541 22112 \n3 23443 14522 19536 \n3 23442 24954 14520 \n3 14521 24955 19538 \n3 19540 14525 22114 \n3 19539 24956 14523 \n3 14524 24957 22115 \n3 22120 14528 24958 \n3 22119 19543 14526 \n3 14527 19547 24959 \n3 22117 14531 19542 \n3 22116 24960 14529 \n3 14530 24961 19544 \n3 19546 14534 24962 \n3 19545 24963 14532 \n3 14533 24964 24965 \n3 24966 14537 24967 \n3 24968 19549 14535 \n3 14536 19553 24969 \n3 24970 14540 19548 \n3 24971 22123 14538 \n3 14539 22125 19550 \n3 19552 14543 24972 \n3 19551 22130 14541 \n3 14542 22133 24973 \n3 24974 14546 22122 \n3 24975 19555 14544 \n3 14545 19559 22124 \n3 24976 14549 19554 \n3 24977 23455 14547 \n3 14548 23457 19556 \n3 19558 14552 22126 \n3 19557 23460 14550 \n3 14551 23461 22127 \n3 22132 14555 24978 \n3 22131 19561 14553 \n3 14554 19565 24979 \n3 22129 14558 19560 \n3 22128 23470 14556 \n3 14557 23471 19562 \n3 19564 14561 24980 \n3 19563 23474 14559 \n3 14560 23477 24981 \n3 24982 14564 23454 \n3 24983 19567 14562 \n3 14563 19571 23456 \n3 24984 14567 19566 \n3 24985 22135 14565 \n3 14566 22137 19568 \n3 19570 14570 23458 \n3 19569 22142 14568 \n3 14569 22145 23459 \n3 24986 14573 22134 \n3 24987 19573 14571 \n3 14572 19577 22136 \n3 24988 14576 19572 \n3 24989 24151 14574 \n3 14575 24153 19574 \n3 19576 14579 22138 \n3 19575 24156 14577 \n3 14578 24157 22139 \n3 22144 14582 23462 \n3 22143 19579 14580 \n3 14581 19583 23463 \n3 22141 14585 19578 \n3 22140 24162 14583 \n3 14584 24163 19580 \n3 19582 14588 23464 \n3 19581 24164 14586 \n3 14587 24165 23465 \n3 23476 14591 24990 \n3 23475 19585 14589 \n3 14590 19589 24991 \n3 23473 14594 19584 \n3 23472 22147 14592 \n3 14593 22149 19586 \n3 19588 14597 24992 \n3 19587 22154 14595 \n3 14596 22157 24993 \n3 23469 14600 22146 \n3 23468 19591 14598 \n3 14599 19595 22148 \n3 23467 14603 19590 \n3 23466 24182 14601 \n3 14602 24183 19592 \n3 19594 14606 22150 \n3 19593 24184 14604 \n3 14605 24185 22151 \n3 22156 14609 24994 \n3 22155 19597 14607 \n3 14608 19601 24995 \n3 22153 14612 19596 \n3 22152 24190 14610 \n3 14611 24191 19598 \n3 19600 14615 24996 \n3 19599 24194 14613 \n3 14614 24197 24997 \n3 24998 14618 24150 \n3 24999 19603 14616 \n3 14617 19607 24152 \n3 25000 14621 19602 \n3 25001 22159 14619 \n3 14620 22161 19604 \n3 19606 14624 24154 \n3 19605 22166 14622 \n3 14623 22169 24155 \n3 25002 14627 22158 \n3 25003 19609 14625 \n3 14626 19613 22160 \n3 25004 14630 19608 \n3 25005 23479 14628 \n3 14629 23481 19610 \n3 19612 14633 22162 \n3 19611 23484 14631 \n3 14632 23485 22163 \n3 22168 14636 24158 \n3 22167 19615 14634 \n3 14635 19619 24159 \n3 22165 14639 19614 \n3 22164 23494 14637 \n3 14638 23495 19616 \n3 19618 14642 24160 \n3 19617 23498 14640 \n3 14641 23501 24161 \n3 25006 14645 23478 \n3 25007 19621 14643 \n3 14644 19625 23480 \n3 25008 14648 19620 \n3 25009 22171 14646 \n3 14647 22173 19622 \n3 19624 14651 23482 \n3 19623 22178 14649 \n3 14650 22181 23483 \n3 25010 14654 22170 \n3 25011 19627 14652 \n3 14653 19631 22172 \n3 25012 14657 19626 \n3 25013 24964 14655 \n3 14656 24963 19628 \n3 19630 14660 22174 \n3 19629 24961 14658 \n3 14659 24960 22175 \n3 22180 14663 23486 \n3 22179 19633 14661 \n3 14662 19637 23487 \n3 22177 14666 19632 \n3 22176 24957 14664 \n3 14665 24956 19634 \n3 19636 14669 23488 \n3 19635 24955 14667 \n3 14668 24954 23489 \n3 23500 14672 24166 \n3 23499 19639 14670 \n3 14671 19643 24167 \n3 23497 14675 19638 \n3 23496 22183 14673 \n3 14674 22185 19640 \n3 19642 14678 24168 \n3 19641 22190 14676 \n3 14677 22193 24169 \n3 23493 14681 22182 \n3 23492 19645 14679 \n3 14680 19649 22184 \n3 23491 14684 19644 \n3 23490 24949 14682 \n3 14683 24948 19646 \n3 19648 14687 22186 \n3 19647 24947 14685 \n3 14686 24946 22187 \n3 22192 14690 24170 \n3 22191 19651 14688 \n3 14689 19655 24171 \n3 22189 14693 19650 \n3 22188 24945 14691 \n3 14692 24944 19652 \n3 19654 14696 24172 \n3 19653 24943 14694 \n3 14695 24942 24173 \n3 24196 14699 25014 \n3 24195 19657 14697 \n3 14698 19661 25015 \n3 24193 14702 19656 \n3 24192 22195 14700 \n3 14701 22197 19658 \n3 19660 14705 25016 \n3 19659 22202 14703 \n3 14704 22205 25017 \n3 24189 14708 22194 \n3 24188 19663 14706 \n3 14707 19667 22196 \n3 24187 14711 19662 \n3 24186 23503 14709 \n3 14710 23505 19664 \n3 19666 14714 22198 \n3 19665 23508 14712 \n3 14713 23509 22199 \n3 22204 14717 25018 \n3 22203 19669 14715 \n3 14716 19673 25019 \n3 22201 14720 19668 \n3 22200 23518 14718 \n3 14719 23519 19670 \n3 19672 14723 25020 \n3 19671 23522 14721 \n3 14722 23525 25021 \n3 24181 14726 23502 \n3 24180 19675 14724 \n3 14725 19679 23504 \n3 24179 14729 19674 \n3 24178 22207 14727 \n3 14728 22209 19676 \n3 19678 14732 23506 \n3 19677 22214 14730 \n3 14731 22217 23507 \n3 24177 14735 22206 \n3 24176 19681 14733 \n3 14734 19685 22208 \n3 24175 14738 19680 \n3 24174 24933 14736 \n3 14737 24932 19682 \n3 19684 14741 22210 \n3 19683 24931 14739 \n3 14740 24930 22211 \n3 22216 14744 23510 \n3 22215 19687 14742 \n3 14743 19691 23511 \n3 22213 14747 19686 \n3 22212 24929 14745 \n3 14746 24928 19688 \n3 19690 14750 23512 \n3 19689 24927 14748 \n3 14749 24926 23513 \n3 23524 14753 25022 \n3 23523 19693 14751 \n3 14752 19697 25023 \n3 23521 14756 19692 \n3 23520 22219 14754 \n3 14755 22221 19694 \n3 19696 14759 25024 \n3 19695 22226 14757 \n3 14758 22229 25025 \n3 23517 14762 22218 \n3 23516 19699 14760 \n3 14761 19703 22220 \n3 23515 14765 19698 \n3 23514 24925 14763 \n3 14764 24924 19700 \n3 19702 14768 22222 \n3 19701 24923 14766 \n3 14767 24922 22223 \n3 22228 14771 25026 \n3 22227 19705 14769 \n3 14770 19709 25027 \n3 22225 14774 19704 \n3 22224 24921 14772 \n3 14773 24920 19706 \n3 19708 14777 25028 \n3 19707 24919 14775 \n3 14776 24918 25029 \n3 25030 14780 25031 \n3 25032 19711 14778 \n3 14779 19715 25033 \n3 25034 14783 19710 \n3 25035 22231 14781 \n3 14782 22233 19712 \n3 19714 14786 25036 \n3 19713 22238 14784 \n3 14785 22241 25037 \n3 25038 14789 22230 \n3 25039 19717 14787 \n3 14788 19721 22232 \n3 25040 14792 19716 \n3 25041 23527 14790 \n3 14791 23529 19718 \n3 19720 14795 22234 \n3 19719 23532 14793 \n3 14794 23533 22235 \n3 22240 14798 25042 \n3 22239 19723 14796 \n3 14797 19727 25043 \n3 22237 14801 19722 \n3 22236 23542 14799 \n3 14800 23543 19724 \n3 19726 14804 25044 \n3 19725 23546 14802 \n3 14803 23549 25045 \n3 25046 14807 23526 \n3 25047 19729 14805 \n3 14806 19733 23528 \n3 25048 14810 19728 \n3 25049 22243 14808 \n3 14809 22245 19730 \n3 19732 14813 23530 \n3 19731 22250 14811 \n3 14812 22253 23531 \n3 25050 14816 22242 \n3 25051 19735 14814 \n3 14815 19739 22244 \n3 25052 14819 19734 \n3 25053 24199 14817 \n3 14818 24201 19736 \n3 19738 14822 22246 \n3 19737 24204 14820 \n3 14821 24205 22247 \n3 22252 14825 23534 \n3 22251 19741 14823 \n3 14824 19745 23535 \n3 22249 14828 19740 \n3 22248 24210 14826 \n3 14827 24211 19742 \n3 19744 14831 23536 \n3 19743 24212 14829 \n3 14830 24213 23537 \n3 23548 14834 25054 \n3 23547 19747 14832 \n3 14833 19751 25055 \n3 23545 14837 19746 \n3 23544 22255 14835 \n3 14836 22257 19748 \n3 19750 14840 25056 \n3 19749 22262 14838 \n3 14839 22265 25057 \n3 23541 14843 22254 \n3 23540 19753 14841 \n3 14842 19757 22256 \n3 23539 14846 19752 \n3 23538 24230 14844 \n3 14845 24231 19754 \n3 19756 14849 22258 \n3 19755 24232 14847 \n3 14848 24233 22259 \n3 22264 14852 25058 \n3 22263 19759 14850 \n3 14851 19763 25059 \n3 22261 14855 19758 \n3 22260 24238 14853 \n3 14854 24239 19760 \n3 19762 14858 25060 \n3 19761 24242 14856 \n3 14857 24245 25061 \n3 25062 14861 24198 \n3 25063 19765 14859 \n3 14860 19769 24200 \n3 25064 14864 19764 \n3 25065 22267 14862 \n3 14863 22269 19766 \n3 19768 14867 24202 \n3 19767 22274 14865 \n3 14866 22277 24203 \n3 25066 14870 22266 \n3 25067 19771 14868 \n3 14869 19775 22268 \n3 25068 14873 19770 \n3 25069 23551 14871 \n3 14872 23553 19772 \n3 19774 14876 22270 \n3 19773 23556 14874 \n3 14875 23557 22271 \n3 22276 14879 24206 \n3 22275 19777 14877 \n3 14878 19781 24207 \n3 22273 14882 19776 \n3 22272 23566 14880 \n3 14881 23567 19778 \n3 19780 14885 24208 \n3 19779 23570 14883 \n3 14884 23573 24209 \n3 25070 14888 23550 \n3 25071 19783 14886 \n3 14887 19787 23552 \n3 25072 14891 19782 \n3 25073 22279 14889 \n3 14890 22281 19784 \n3 19786 14894 23554 \n3 19785 22286 14892 \n3 14893 22289 23555 \n3 25074 14897 22278 \n3 25075 19789 14895 \n3 14896 19793 22280 \n3 25076 14900 19788 \n3 25077 25078 14898 \n3 14899 25079 19790 \n3 19792 14903 22282 \n3 19791 25080 14901 \n3 14902 25081 22283 \n3 22288 14906 23558 \n3 22287 19795 14904 \n3 14905 19799 23559 \n3 22285 14909 19794 \n3 22284 25082 14907 \n3 14908 25083 19796 \n3 19798 14912 23560 \n3 19797 25084 14910 \n3 14911 25085 23561 \n3 23572 14915 24214 \n3 23571 19801 14913 \n3 14914 19805 24215 \n3 23569 14918 19800 \n3 23568 22291 14916 \n3 14917 22293 19802 \n3 19804 14921 24216 \n3 19803 22298 14919 \n3 14920 22301 24217 \n3 23565 14924 22290 \n3 23564 19807 14922 \n3 14923 19811 22292 \n3 23563 14927 19806 \n3 23562 25086 14925 \n3 14926 25087 19808 \n3 19810 14930 22294 \n3 19809 25088 14928 \n3 14929 25089 22295 \n3 22300 14933 24218 \n3 22299 19813 14931 \n3 14932 19817 24219 \n3 22297 14936 19812 \n3 22296 25090 14934 \n3 14935 25091 19814 \n3 19816 14939 24220 \n3 19815 25092 14937 \n3 14938 25093 24221 \n3 24244 14942 25094 \n3 24243 19819 14940 \n3 14941 19823 25095 \n3 24241 14945 19818 \n3 24240 22303 14943 \n3 14944 22305 19820 \n3 19822 14948 25096 \n3 19821 22310 14946 \n3 14947 22313 25097 \n3 24237 14951 22302 \n3 24236 19825 14949 \n3 14950 19829 22304 \n3 24235 14954 19824 \n3 24234 23575 14952 \n3 14953 23577 19826 \n3 19828 14957 22306 \n3 19827 23580 14955 \n3 14956 23581 22307 \n3 22312 14960 25098 \n3 22311 19831 14958 \n3 14959 19835 25099 \n3 22309 14963 19830 \n3 22308 23590 14961 \n3 14962 23591 19832 \n3 19834 14966 25100 \n3 19833 23594 14964 \n3 14965 23597 25101 \n3 24229 14969 23574 \n3 24228 19837 14967 \n3 14968 19841 23576 \n3 24227 14972 19836 \n3 24226 22315 14970 \n3 14971 22317 19838 \n3 19840 14975 23578 \n3 19839 22322 14973 \n3 14974 22325 23579 \n3 24225 14978 22314 \n3 24224 19843 14976 \n3 14977 19847 22316 \n3 24223 14981 19842 \n3 24222 25102 14979 \n3 14980 25103 19844 \n3 19846 14984 22318 \n3 19845 25104 14982 \n3 14983 25105 22319 \n3 22324 14987 23582 \n3 22323 19849 14985 \n3 14986 19853 23583 \n3 22321 14990 19848 \n3 22320 25106 14988 \n3 14989 25107 19850 \n3 19852 14993 23584 \n3 19851 25108 14991 \n3 14992 25109 23585 \n3 23596 14996 25110 \n3 23595 19855 14994 \n3 14995 19859 25111 \n3 23593 14999 19854 \n3 23592 22327 14997 \n3 14998 22329 19856 \n3 19858 15002 25112 \n3 19857 22334 15000 \n3 15001 22337 25113 \n3 23589 15005 22326 \n3 23588 19861 15003 \n3 15004 19865 22328 \n3 23587 15008 19860 \n3 23586 25114 15006 \n3 15007 25115 19862 \n3 19864 15011 22330 \n3 19863 25116 15009 \n3 15010 25117 22331 \n3 22336 15014 25118 \n3 22335 19867 15012 \n3 15013 19871 25119 \n3 22333 15017 19866 \n3 22332 25120 15015 \n3 15016 25121 19868 \n3 19870 15020 25122 \n3 19869 25123 15018 \n3 15019 25124 25125 \n3 25126 15023 25127 \n3 25128 19873 15021 \n3 15022 19877 25129 \n3 25130 15026 19872 \n3 25131 22339 15024 \n3 15025 22341 19874 \n3 19876 15029 25132 \n3 19875 22346 15027 \n3 15028 22349 25133 \n3 25134 15032 22338 \n3 25135 19879 15030 \n3 15031 19883 22340 \n3 25136 15035 19878 \n3 25137 23599 15033 \n3 15034 23601 19880 \n3 19882 15038 22342 \n3 19881 23604 15036 \n3 15037 23605 22343 \n3 22348 15041 25138 \n3 22347 19885 15039 \n3 15040 19889 25139 \n3 22345 15044 19884 \n3 22344 23614 15042 \n3 15043 23615 19886 \n3 19888 15047 25140 \n3 19887 23618 15045 \n3 15046 23621 25141 \n3 25142 15050 23598 \n3 25143 19891 15048 \n3 15049 19895 23600 \n3 25144 15053 19890 \n3 25145 22351 15051 \n3 15052 22353 19892 \n3 19894 15056 23602 \n3 19893 22358 15054 \n3 15055 22361 23603 \n3 25146 15059 22350 \n3 25147 19897 15057 \n3 15058 19901 22352 \n3 25148 15062 19896 \n3 25149 24247 15060 \n3 15061 24249 19898 \n3 19900 15065 22354 \n3 19899 24252 15063 \n3 15064 24253 22355 \n3 22360 15068 23606 \n3 22359 19903 15066 \n3 15067 19907 23607 \n3 22357 15071 19902 \n3 22356 24258 15069 \n3 15070 24259 19904 \n3 19906 15074 23608 \n3 19905 24260 15072 \n3 15073 24261 23609 \n3 23620 15077 25150 \n3 23619 19909 15075 \n3 15076 19913 25151 \n3 23617 15080 19908 \n3 23616 22363 15078 \n3 15079 22365 19910 \n3 19912 15083 25152 \n3 19911 22370 15081 \n3 15082 22373 25153 \n3 23613 15086 22362 \n3 23612 19915 15084 \n3 15085 19919 22364 \n3 23611 15089 19914 \n3 23610 24278 15087 \n3 15088 24279 19916 \n3 19918 15092 22366 \n3 19917 24280 15090 \n3 15091 24281 22367 \n3 22372 15095 25154 \n3 22371 19921 15093 \n3 15094 19925 25155 \n3 22369 15098 19920 \n3 22368 24286 15096 \n3 15097 24287 19922 \n3 19924 15101 25156 \n3 19923 24290 15099 \n3 15100 24293 25157 \n3 25158 15104 24246 \n3 25159 19927 15102 \n3 15103 19931 24248 \n3 25160 15107 19926 \n3 25161 22375 15105 \n3 15106 22377 19928 \n3 19930 15110 24250 \n3 19929 22382 15108 \n3 15109 22385 24251 \n3 25162 15113 22374 \n3 25163 19933 15111 \n3 15112 19937 22376 \n3 25164 15116 19932 \n3 25165 23623 15114 \n3 15115 23625 19934 \n3 19936 15119 22378 \n3 19935 23628 15117 \n3 15118 23629 22379 \n3 22384 15122 24254 \n3 22383 19939 15120 \n3 15121 19943 24255 \n3 22381 15125 19938 \n3 22380 23638 15123 \n3 15124 23639 19940 \n3 19942 15128 24256 \n3 19941 23642 15126 \n3 15127 23645 24257 \n3 25166 15131 23622 \n3 25167 19945 15129 \n3 15130 19949 23624 \n3 25168 15134 19944 \n3 25169 22387 15132 \n3 15133 22389 19946 \n3 19948 15137 23626 \n3 19947 22394 15135 \n3 15136 22397 23627 \n3 25170 15140 22386 \n3 25171 19951 15138 \n3 15139 19955 22388 \n3 25172 15143 19950 \n3 25173 25124 15141 \n3 15142 25123 19952 \n3 19954 15146 22390 \n3 19953 25121 15144 \n3 15145 25120 22391 \n3 22396 15149 23630 \n3 22395 19957 15147 \n3 15148 19961 23631 \n3 22393 15152 19956 \n3 22392 25117 15150 \n3 15151 25116 19958 \n3 19960 15155 23632 \n3 19959 25115 15153 \n3 15154 25114 23633 \n3 23644 15158 24262 \n3 23643 19963 15156 \n3 15157 19967 24263 \n3 23641 15161 19962 \n3 23640 22399 15159 \n3 15160 22401 19964 \n3 19966 15164 24264 \n3 19965 22406 15162 \n3 15163 22409 24265 \n3 23637 15167 22398 \n3 23636 19969 15165 \n3 15166 19973 22400 \n3 23635 15170 19968 \n3 23634 25109 15168 \n3 15169 25108 19970 \n3 19972 15173 22402 \n3 19971 25107 15171 \n3 15172 25106 22403 \n3 22408 15176 24266 \n3 22407 19975 15174 \n3 15175 19979 24267 \n3 22405 15179 19974 \n3 22404 25105 15177 \n3 15178 25104 19976 \n3 19978 15182 24268 \n3 19977 25103 15180 \n3 15181 25102 24269 \n3 24292 15185 25174 \n3 24291 19981 15183 \n3 15184 19985 25175 \n3 24289 15188 19980 \n3 24288 22411 15186 \n3 15187 22413 19982 \n3 19984 15191 25176 \n3 19983 22418 15189 \n3 15190 22421 25177 \n3 24285 15194 22410 \n3 24284 19987 15192 \n3 15193 19991 22412 \n3 24283 15197 19986 \n3 24282 23647 15195 \n3 15196 23649 19988 \n3 19990 15200 22414 \n3 19989 23652 15198 \n3 15199 23653 22415 \n3 22420 15203 25178 \n3 22419 19993 15201 \n3 15202 19997 25179 \n3 22417 15206 19992 \n3 22416 23662 15204 \n3 15205 23663 19994 \n3 19996 15209 25180 \n3 19995 23666 15207 \n3 15208 23669 25181 \n3 24277 15212 23646 \n3 24276 19999 15210 \n3 15211 20003 23648 \n3 24275 15215 19998 \n3 24274 22423 15213 \n3 15214 22425 20000 \n3 20002 15218 23650 \n3 20001 22430 15216 \n3 15217 22433 23651 \n3 24273 15221 22422 \n3 24272 20005 15219 \n3 15220 20009 22424 \n3 24271 15224 20004 \n3 24270 25093 15222 \n3 15223 25092 20006 \n3 20008 15227 22426 \n3 20007 25091 15225 \n3 15226 25090 22427 \n3 22432 15230 23654 \n3 22431 20011 15228 \n3 15229 20015 23655 \n3 22429 15233 20010 \n3 22428 25089 15231 \n3 15232 25088 20012 \n3 20014 15236 23656 \n3 20013 25087 15234 \n3 15235 25086 23657 \n3 23668 15239 25182 \n3 23667 20017 15237 \n3 15238 20021 25183 \n3 23665 15242 20016 \n3 23664 22435 15240 \n3 15241 22437 20018 \n3 20020 15245 25184 \n3 20019 22442 15243 \n3 15244 22445 25185 \n3 23661 15248 22434 \n3 23660 20023 15246 \n3 15247 20027 22436 \n3 23659 15251 20022 \n3 23658 25085 15249 \n3 15250 25084 20024 \n3 20026 15254 22438 \n3 20025 25083 15252 \n3 15253 25082 22439 \n3 22444 15257 25186 \n3 22443 20029 15255 \n3 15256 20033 25187 \n3 22441 15260 20028 \n3 22440 25081 15258 \n3 15259 25080 20030 \n3 20032 15263 25188 \n3 20031 25079 15261 \n3 15262 25078 25189 \n3 25190 15266 25191 \n3 25192 20035 15264 \n3 15265 20039 25193 \n3 25194 15269 20034 \n3 25195 22447 15267 \n3 15268 22449 20036 \n3 20038 15272 25196 \n3 20037 22454 15270 \n3 15271 22457 25197 \n3 25198 15275 22446 \n3 25199 20041 15273 \n3 15274 20045 22448 \n3 25200 15278 20040 \n3 25201 23671 15276 \n3 15277 23673 20042 \n3 20044 15281 22450 \n3 20043 23676 15279 \n3 15280 23677 22451 \n3 22456 15284 25202 \n3 22455 20047 15282 \n3 15283 20051 25203 \n3 22453 15287 20046 \n3 22452 23686 15285 \n3 15286 23687 20048 \n3 20050 15290 25204 \n3 20049 23690 15288 \n3 15289 23693 25205 \n3 25206 15293 23670 \n3 25207 20053 15291 \n3 15292 20057 23672 \n3 25208 15296 20052 \n3 25209 22459 15294 \n3 15295 22461 20054 \n3 20056 15299 23674 \n3 20055 22466 15297 \n3 15298 22469 23675 \n3 25210 15302 22458 \n3 25211 20059 15300 \n3 15301 20063 22460 \n3 25212 15305 20058 \n3 25213 24295 15303 \n3 15304 24297 20060 \n3 20062 15308 22462 \n3 20061 24300 15306 \n3 15307 24301 22463 \n3 22468 15311 23678 \n3 22467 20065 15309 \n3 15310 20069 23679 \n3 22465 15314 20064 \n3 22464 24306 15312 \n3 15313 24307 20066 \n3 20068 15317 23680 \n3 20067 24308 15315 \n3 15316 24309 23681 \n3 23692 15320 25214 \n3 23691 20071 15318 \n3 15319 20075 25215 \n3 23689 15323 20070 \n3 23688 22471 15321 \n3 15322 22473 20072 \n3 20074 15326 25216 \n3 20073 22478 15324 \n3 15325 22481 25217 \n3 23685 15329 22470 \n3 23684 20077 15327 \n3 15328 20081 22472 \n3 23683 15332 20076 \n3 23682 24326 15330 \n3 15331 24327 20078 \n3 20080 15335 22474 \n3 20079 24328 15333 \n3 15334 24329 22475 \n3 22480 15338 25218 \n3 22479 20083 15336 \n3 15337 20087 25219 \n3 22477 15341 20082 \n3 22476 24334 15339 \n3 15340 24335 20084 \n3 20086 15344 25220 \n3 20085 24338 15342 \n3 15343 24341 25221 \n3 25222 15347 24294 \n3 25223 20089 15345 \n3 15346 20093 24296 \n3 25224 15350 20088 \n3 25225 22483 15348 \n3 15349 22485 20090 \n3 20092 15353 24298 \n3 20091 22490 15351 \n3 15352 22493 24299 \n3 25226 15356 22482 \n3 25227 20095 15354 \n3 15355 20099 22484 \n3 25228 15359 20094 \n3 25229 23695 15357 \n3 15358 23697 20096 \n3 20098 15362 22486 \n3 20097 23700 15360 \n3 15361 23701 22487 \n3 22492 15365 24302 \n3 22491 20101 15363 \n3 15364 20105 24303 \n3 22489 15368 20100 \n3 22488 23710 15366 \n3 15367 23711 20102 \n3 20104 15371 24304 \n3 20103 23714 15369 \n3 15370 23717 24305 \n3 25230 15374 23694 \n3 25231 20107 15372 \n3 15373 20111 23696 \n3 25232 15377 20106 \n3 25233 22495 15375 \n3 15376 22497 20108 \n3 20110 15380 23698 \n3 20109 22502 15378 \n3 15379 22505 23699 \n3 25234 15383 22494 \n3 25235 20113 15381 \n3 15382 20117 22496 \n3 25236 15386 20112 \n3 25237 25238 15384 \n3 15385 25239 20114 \n3 20116 15389 22498 \n3 20115 25240 15387 \n3 15388 25241 22499 \n3 22504 15392 23702 \n3 22503 20119 15390 \n3 15391 20123 23703 \n3 22501 15395 20118 \n3 22500 25242 15393 \n3 15394 25243 20120 \n3 20122 15398 23704 \n3 20121 25244 15396 \n3 15397 25245 23705 \n3 23716 15401 24310 \n3 23715 20125 15399 \n3 15400 20129 24311 \n3 23713 15404 20124 \n3 23712 22507 15402 \n3 15403 22509 20126 \n3 20128 15407 24312 \n3 20127 22514 15405 \n3 15406 22517 24313 \n3 23709 15410 22506 \n3 23708 20131 15408 \n3 15409 20135 22508 \n3 23707 15413 20130 \n3 23706 25246 15411 \n3 15412 25247 20132 \n3 20134 15416 22510 \n3 20133 25248 15414 \n3 15415 25249 22511 \n3 22516 15419 24314 \n3 22515 20137 15417 \n3 15418 20141 24315 \n3 22513 15422 20136 \n3 22512 25250 15420 \n3 15421 25251 20138 \n3 20140 15425 24316 \n3 20139 25252 15423 \n3 15424 25253 24317 \n3 24340 15428 25254 \n3 24339 20143 15426 \n3 15427 20147 25255 \n3 24337 15431 20142 \n3 24336 22519 15429 \n3 15430 22521 20144 \n3 20146 15434 25256 \n3 20145 22526 15432 \n3 15433 22529 25257 \n3 24333 15437 22518 \n3 24332 20149 15435 \n3 15436 20153 22520 \n3 24331 15440 20148 \n3 24330 23719 15438 \n3 15439 23721 20150 \n3 20152 15443 22522 \n3 20151 23724 15441 \n3 15442 23725 22523 \n3 22528 15446 25258 \n3 22527 20155 15444 \n3 15445 20159 25259 \n3 22525 15449 20154 \n3 22524 23734 15447 \n3 15448 23735 20156 \n3 20158 15452 25260 \n3 20157 23738 15450 \n3 15451 23741 25261 \n3 24325 15455 23718 \n3 24324 20161 15453 \n3 15454 20165 23720 \n3 24323 15458 20160 \n3 24322 22531 15456 \n3 15457 22533 20162 \n3 20164 15461 23722 \n3 20163 22538 15459 \n3 15460 22541 23723 \n3 24321 15464 22530 \n3 24320 20167 15462 \n3 15463 20171 22532 \n3 24319 15467 20166 \n3 24318 25262 15465 \n3 15466 25263 20168 \n3 20170 15470 22534 \n3 20169 25264 15468 \n3 15469 25265 22535 \n3 22540 15473 23726 \n3 22539 20173 15471 \n3 15472 20177 23727 \n3 22537 15476 20172 \n3 22536 25266 15474 \n3 15475 25267 20174 \n3 20176 15479 23728 \n3 20175 25268 15477 \n3 15478 25269 23729 \n3 23740 15482 25270 \n3 23739 20179 15480 \n3 15481 20183 25271 \n3 23737 15485 20178 \n3 23736 22543 15483 \n3 15484 22545 20180 \n3 20182 15488 25272 \n3 20181 22550 15486 \n3 15487 22553 25273 \n3 23733 15491 22542 \n3 23732 20185 15489 \n3 15490 20189 22544 \n3 23731 15494 20184 \n3 23730 25274 15492 \n3 15493 25275 20186 \n3 20188 15497 22546 \n3 20187 25276 15495 \n3 15496 25277 22547 \n3 22552 15500 25278 \n3 22551 20191 15498 \n3 15499 20195 25279 \n3 22549 15503 20190 \n3 22548 25280 15501 \n3 15502 25281 20192 \n3 20194 15506 25282 \n3 20193 25283 15504 \n3 15505 25284 25285 \n3 25286 15509 25287 \n3 25288 20197 15507 \n3 15508 20201 25289 \n3 25290 15512 20196 \n3 25291 22555 15510 \n3 15511 22557 20198 \n3 20200 15515 25292 \n3 20199 22562 15513 \n3 15514 22565 25293 \n3 25294 15518 22554 \n3 25295 20203 15516 \n3 15517 20207 22556 \n3 25296 15521 20202 \n3 25297 23743 15519 \n3 15520 23745 20204 \n3 20206 15524 22558 \n3 20205 23748 15522 \n3 15523 23749 22559 \n3 22564 15527 25298 \n3 22563 20209 15525 \n3 15526 20213 25299 \n3 22561 15530 20208 \n3 22560 23758 15528 \n3 15529 23759 20210 \n3 20212 15533 25300 \n3 20211 23762 15531 \n3 15532 23765 25301 \n3 25302 15536 23742 \n3 25303 20215 15534 \n3 15535 20219 23744 \n3 25304 15539 20214 \n3 25305 22567 15537 \n3 15538 22569 20216 \n3 20218 15542 23746 \n3 20217 22574 15540 \n3 15541 22577 23747 \n3 25306 15545 22566 \n3 25307 20221 15543 \n3 15544 20225 22568 \n3 25308 15548 20220 \n3 25309 24343 15546 \n3 15547 24345 20222 \n3 20224 15551 22570 \n3 20223 24348 15549 \n3 15550 24349 22571 \n3 22576 15554 23750 \n3 22575 20227 15552 \n3 15553 20231 23751 \n3 22573 15557 20226 \n3 22572 24354 15555 \n3 15556 24355 20228 \n3 20230 15560 23752 \n3 20229 24356 15558 \n3 15559 24357 23753 \n3 23764 15563 25310 \n3 23763 20233 15561 \n3 15562 20237 25311 \n3 23761 15566 20232 \n3 23760 22579 15564 \n3 15565 22581 20234 \n3 20236 15569 25312 \n3 20235 22586 15567 \n3 15568 22589 25313 \n3 23757 15572 22578 \n3 23756 20239 15570 \n3 15571 20243 22580 \n3 23755 15575 20238 \n3 23754 24374 15573 \n3 15574 24375 20240 \n3 20242 15578 22582 \n3 20241 24376 15576 \n3 15577 24377 22583 \n3 22588 15581 25314 \n3 22587 20245 15579 \n3 15580 20249 25315 \n3 22585 15584 20244 \n3 22584 24382 15582 \n3 15583 24383 20246 \n3 20248 15587 25316 \n3 20247 24386 15585 \n3 15586 24389 25317 \n3 25318 15590 24342 \n3 25319 20251 15588 \n3 15589 20255 24344 \n3 25320 15593 20250 \n3 25321 22591 15591 \n3 15592 22593 20252 \n3 20254 15596 24346 \n3 20253 22598 15594 \n3 15595 22601 24347 \n3 25322 15599 22590 \n3 25323 20257 15597 \n3 15598 20261 22592 \n3 25324 15602 20256 \n3 25325 23767 15600 \n3 15601 23769 20258 \n3 20260 15605 22594 \n3 20259 23772 15603 \n3 15604 23773 22595 \n3 22600 15608 24350 \n3 22599 20263 15606 \n3 15607 20267 24351 \n3 22597 15611 20262 \n3 22596 23782 15609 \n3 15610 23783 20264 \n3 20266 15614 24352 \n3 20265 23786 15612 \n3 15613 23789 24353 \n3 25326 15617 23766 \n3 25327 20269 15615 \n3 15616 20273 23768 \n3 25328 15620 20268 \n3 25329 22603 15618 \n3 15619 22605 20270 \n3 20272 15623 23770 \n3 20271 22610 15621 \n3 15622 22613 23771 \n3 25330 15626 22602 \n3 25331 20275 15624 \n3 15625 20279 22604 \n3 25332 15629 20274 \n3 25333 25284 15627 \n3 15628 25283 20276 \n3 20278 15632 22606 \n3 20277 25281 15630 \n3 15631 25280 22607 \n3 22612 15635 23774 \n3 22611 20281 15633 \n3 15634 20285 23775 \n3 22609 15638 20280 \n3 22608 25277 15636 \n3 15637 25276 20282 \n3 20284 15641 23776 \n3 20283 25275 15639 \n3 15640 25274 23777 \n3 23788 15644 24358 \n3 23787 20287 15642 \n3 15643 20291 24359 \n3 23785 15647 20286 \n3 23784 22615 15645 \n3 15646 22617 20288 \n3 20290 15650 24360 \n3 20289 22622 15648 \n3 15649 22625 24361 \n3 23781 15653 22614 \n3 23780 20293 15651 \n3 15652 20297 22616 \n3 23779 15656 20292 \n3 23778 25269 15654 \n3 15655 25268 20294 \n3 20296 15659 22618 \n3 20295 25267 15657 \n3 15658 25266 22619 \n3 22624 15662 24362 \n3 22623 20299 15660 \n3 15661 20303 24363 \n3 22621 15665 20298 \n3 22620 25265 15663 \n3 15664 25264 20300 \n3 20302 15668 24364 \n3 20301 25263 15666 \n3 15667 25262 24365 \n3 24388 15671 25334 \n3 24387 20305 15669 \n3 15670 20309 25335 \n3 24385 15674 20304 \n3 24384 22627 15672 \n3 15673 22629 20306 \n3 20308 15677 25336 \n3 20307 22634 15675 \n3 15676 22637 25337 \n3 24381 15680 22626 \n3 24380 20311 15678 \n3 15679 20315 22628 \n3 24379 15683 20310 \n3 24378 23791 15681 \n3 15682 23793 20312 \n3 20314 15686 22630 \n3 20313 23796 15684 \n3 15685 23797 22631 \n3 22636 15689 25338 \n3 22635 20317 15687 \n3 15688 20321 25339 \n3 22633 15692 20316 \n3 22632 23806 15690 \n3 15691 23807 20318 \n3 20320 15695 25340 \n3 20319 23810 15693 \n3 15694 23813 25341 \n3 24373 15698 23790 \n3 24372 20323 15696 \n3 15697 20327 23792 \n3 24371 15701 20322 \n3 24370 22639 15699 \n3 15700 22641 20324 \n3 20326 15704 23794 \n3 20325 22646 15702 \n3 15703 22649 23795 \n3 24369 15707 22638 \n3 24368 20329 15705 \n3 15706 20333 22640 \n3 24367 15710 20328 \n3 24366 25253 15708 \n3 15709 25252 20330 \n3 20332 15713 22642 \n3 20331 25251 15711 \n3 15712 25250 22643 \n3 22648 15716 23798 \n3 22647 20335 15714 \n3 15715 20339 23799 \n3 22645 15719 20334 \n3 22644 25249 15717 \n3 15718 25248 20336 \n3 20338 15722 23800 \n3 20337 25247 15720 \n3 15721 25246 23801 \n3 23812 15725 25342 \n3 23811 20341 15723 \n3 15724 20345 25343 \n3 23809 15728 20340 \n3 23808 22651 15726 \n3 15727 22653 20342 \n3 20344 15731 25344 \n3 20343 22658 15729 \n3 15730 22661 25345 \n3 23805 15734 22650 \n3 23804 20347 15732 \n3 15733 20351 22652 \n3 23803 15737 20346 \n3 23802 25245 15735 \n3 15736 25244 20348 \n3 20350 15740 22654 \n3 20349 25243 15738 \n3 15739 25242 22655 \n3 22660 15743 25346 \n3 22659 20353 15741 \n3 15742 20357 25347 \n3 22657 15746 20352 \n3 22656 25241 15744 \n3 15745 25240 20354 \n3 20356 15749 25348 \n3 20355 25239 15747 \n3 15748 25238 25349 \n3 1734 6534 6536 \n3 6534 1735 6535 \n3 6536 6535 1736 \n3 1737 6537 6539 \n3 6537 1738 6538 \n3 6539 6538 1739 \n3 1740 6540 6542 \n3 6540 1741 6541 \n3 6542 6541 1742 \n3 1743 6543 6545 \n3 6543 1744 6544 \n3 6545 6544 1745 \n3 1746 6546 6548 \n3 6546 1747 6547 \n3 6548 6547 1748 \n3 1749 6549 6551 \n3 6549 1750 6550 \n3 6551 6550 1751 \n3 1752 6552 6554 \n3 6552 1753 6553 \n3 6554 6553 1754 \n3 1755 6555 6557 \n3 6555 1756 6556 \n3 6557 6556 1757 \n3 1758 6558 6560 \n3 6558 1759 6559 \n3 6560 6559 1760 \n3 1761 6561 6563 \n3 6561 1762 6562 \n3 6563 6562 1763 \n3 1764 6564 6566 \n3 6564 1765 6565 \n3 6566 6565 1766 \n3 1767 6567 6569 \n3 6567 1768 6568 \n3 6569 6568 1769 \n3 1770 6570 6572 \n3 6570 1771 6571 \n3 6572 6571 1772 \n3 1773 6573 6575 \n3 6573 1774 6574 \n3 6575 6574 1775 \n3 1776 6576 6578 \n3 6576 1777 6577 \n3 6578 6577 1778 \n3 1779 6579 6581 \n3 6579 1780 6580 \n3 6581 6580 1781 \n3 1782 6582 6584 \n3 6582 1783 6583 \n3 6584 6583 1784 \n3 1785 6585 6587 \n3 6585 1786 6586 \n3 6587 6586 1787 \n3 1788 6588 6590 \n3 6588 1789 6589 \n3 6590 6589 1790 \n3 1791 6591 6593 \n3 6591 1792 6592 \n3 6593 6592 1793 \n3 1794 6594 6596 \n3 6594 1795 6595 \n3 6596 6595 1796 \n3 1797 6597 6599 \n3 6597 1798 6598 \n3 6599 6598 1799 \n3 1800 6600 6602 \n3 6600 1801 6601 \n3 6602 6601 1802 \n3 1803 6603 6605 \n3 6603 1804 6604 \n3 6605 6604 1805 \n3 1806 6606 6608 \n3 6606 1807 6607 \n3 6608 6607 1808 \n3 1809 6609 6611 \n3 6609 1810 6610 \n3 6611 6610 1811 \n3 1812 6612 6614 \n3 6612 1813 6613 \n3 6614 6613 1814 \n3 1815 6615 6617 \n3 6615 1816 6616 \n3 6617 6616 1817 \n3 1818 6618 6620 \n3 6618 1819 6619 \n3 6620 6619 1820 \n3 1821 6621 6623 \n3 6621 1822 6622 \n3 6623 6622 1823 \n3 1824 6624 6626 \n3 6624 1825 6625 \n3 6626 6625 1826 \n3 1827 6627 6629 \n3 6627 1828 6628 \n3 6629 6628 1829 \n3 1830 6630 6632 \n3 6630 1831 6631 \n3 6632 6631 1832 \n3 1833 6633 6635 \n3 6633 1834 6634 \n3 6635 6634 1835 \n3 1836 6636 6638 \n3 6636 1837 6637 \n3 6638 6637 1838 \n3 1839 6639 6641 \n3 6639 1840 6640 \n3 6641 6640 1841 \n3 1842 6642 6644 \n3 6642 1843 6643 \n3 6644 6643 1844 \n3 1845 6645 6647 \n3 6645 1846 6646 \n3 6647 6646 1847 \n3 1848 6648 6650 \n3 6648 1849 6649 \n3 6650 6649 1850 \n3 1851 6651 6653 \n3 6651 1852 6652 \n3 6653 6652 1853 \n3 1854 6654 6656 \n3 6654 1855 6655 \n3 6656 6655 1856 \n3 1857 6657 6659 \n3 6657 1858 6658 \n3 6659 6658 1859 \n3 1860 6660 6662 \n3 6660 1861 6661 \n3 6662 6661 1862 \n3 1863 6663 6665 \n3 6663 1864 6664 \n3 6665 6664 1865 \n3 1866 6666 6668 \n3 6666 1867 6667 \n3 6668 6667 1868 \n3 1869 6669 6671 \n3 6669 1870 6670 \n3 6671 6670 1871 \n3 1872 6672 6674 \n3 6672 1873 6673 \n3 6674 6673 1874 \n3 1875 6675 6677 \n3 6675 1876 6676 \n3 6677 6676 1877 \n3 1878 6678 6680 \n3 6678 1879 6679 \n3 6680 6679 1880 \n3 1881 6681 6683 \n3 6681 1882 6682 \n3 6683 6682 1883 \n3 1884 6684 6686 \n3 6684 1885 6685 \n3 6686 6685 1886 \n3 1887 6687 6689 \n3 6687 1888 6688 \n3 6689 6688 1889 \n3 1890 6690 6692 \n3 6690 1891 6691 \n3 6692 6691 1892 \n3 1893 6693 6695 \n3 6693 1894 6694 \n3 6695 6694 1895 \n3 1896 6696 6698 \n3 6696 1897 6697 \n3 6698 6697 1898 \n3 1899 6699 6701 \n3 6699 1900 6700 \n3 6701 6700 1901 \n3 1902 6702 6704 \n3 6702 1903 6703 \n3 6704 6703 1904 \n3 1905 6705 6707 \n3 6705 1906 6706 \n3 6707 6706 1907 \n3 1908 6708 6710 \n3 6708 1909 6709 \n3 6710 6709 1910 \n3 1911 6711 6713 \n3 6711 1912 6712 \n3 6713 6712 1913 \n3 1914 6714 6716 \n3 6714 1915 6715 \n3 6716 6715 1916 \n3 1917 6717 6719 \n3 6717 1918 6718 \n3 6719 6718 1919 \n3 1920 6720 6722 \n3 6720 1921 6721 \n3 6722 6721 1922 \n3 1923 6723 6725 \n3 6723 1924 6724 \n3 6725 6724 1925 \n3 1926 6726 6728 \n3 6726 1927 6727 \n3 6728 6727 1928 \n3 1929 6729 6731 \n3 6729 1930 6730 \n3 6731 6730 1931 \n3 1932 6732 6734 \n3 6732 1933 6733 \n3 6734 6733 1934 \n3 1935 6735 6737 \n3 6735 1936 6736 \n3 6737 6736 1937 \n3 1938 6738 6740 \n3 6738 1939 6739 \n3 6740 6739 1940 \n3 1941 6741 6743 \n3 6741 1942 6742 \n3 6743 6742 1943 \n3 1944 6744 6746 \n3 6744 1945 6745 \n3 6746 6745 1946 \n3 1947 6747 6749 \n3 6747 1948 6748 \n3 6749 6748 1949 \n3 1950 6750 6752 \n3 6750 1951 6751 \n3 6752 6751 1952 \n3 1953 6753 6755 \n3 6753 1954 6754 \n3 6755 6754 1955 \n3 1956 6756 6758 \n3 6756 1957 6757 \n3 6758 6757 1958 \n3 1959 6759 6761 \n3 6759 1960 6760 \n3 6761 6760 1961 \n3 1962 6762 6764 \n3 6762 1963 6763 \n3 6764 6763 1964 \n3 1965 6765 6767 \n3 6765 1966 6766 \n3 6767 6766 1967 \n3 1968 6768 6770 \n3 6768 1969 6769 \n3 6770 6769 1970 \n3 1971 6771 6773 \n3 6771 1972 6772 \n3 6773 6772 1973 \n3 1974 6774 6776 \n3 6774 1975 6775 \n3 6776 6775 1976 \n3 1977 6777 6779 \n3 6777 1978 6778 \n3 6779 6778 1979 \n3 1980 6780 6782 \n3 6780 1981 6781 \n3 6782 6781 1982 \n3 1983 6783 6785 \n3 6783 1984 6784 \n3 6785 6784 1985 \n3 1986 6786 6788 \n3 6786 1987 6787 \n3 6788 6787 1988 \n3 1989 6789 6791 \n3 6789 1990 6790 \n3 6791 6790 1991 \n3 1992 6792 6794 \n3 6792 1993 6793 \n3 6794 6793 1994 \n3 1995 6795 6797 \n3 6795 1996 6796 \n3 6797 6796 1997 \n3 1998 6798 6800 \n3 6798 1999 6799 \n3 6800 6799 2000 \n3 2001 6801 6803 \n3 6801 2002 6802 \n3 6803 6802 2003 \n3 2004 6804 6806 \n3 6804 2005 6805 \n3 6806 6805 2006 \n3 2007 6807 6809 \n3 6807 2008 6808 \n3 6809 6808 2009 \n3 2010 6810 6812 \n3 6810 2011 6811 \n3 6812 6811 2012 \n3 2013 6813 6815 \n3 6813 2014 6814 \n3 6815 6814 2015 \n3 2016 6816 6818 \n3 6816 2017 6817 \n3 6818 6817 2018 \n3 2019 6819 6821 \n3 6819 2020 6820 \n3 6821 6820 2021 \n3 2022 6822 6824 \n3 6822 2023 6823 \n3 6824 6823 2024 \n3 2025 6825 6827 \n3 6825 2026 6826 \n3 6827 6826 2027 \n3 2028 6828 6830 \n3 6828 2029 6829 \n3 6830 6829 2030 \n3 2031 6831 6833 \n3 6831 2032 6832 \n3 6833 6832 2033 \n3 2034 6834 6836 \n3 6834 2035 6835 \n3 6836 6835 2036 \n3 2037 6837 6839 \n3 6837 2038 6838 \n3 6839 6838 2039 \n3 2040 6840 6842 \n3 6840 2041 6841 \n3 6842 6841 2042 \n3 2043 6843 6845 \n3 6843 2044 6844 \n3 6845 6844 2045 \n3 2046 6846 6848 \n3 6846 2047 6847 \n3 6848 6847 2048 \n3 2049 6849 6851 \n3 6849 2050 6850 \n3 6851 6850 2051 \n3 2052 6852 6854 \n3 6852 2053 6853 \n3 6854 6853 2054 \n3 2055 6855 6857 \n3 6855 2056 6856 \n3 6857 6856 2057 \n3 2058 6858 6860 \n3 6858 2059 6859 \n3 6860 6859 2060 \n3 2061 6861 6863 \n3 6861 2062 6862 \n3 6863 6862 2063 \n3 2064 6864 6866 \n3 6864 2065 6865 \n3 6866 6865 2066 \n3 2067 6867 6869 \n3 6867 2068 6868 \n3 6869 6868 2069 \n3 2070 6870 6872 \n3 6870 2071 6871 \n3 6872 6871 2072 \n3 2073 6873 6875 \n3 6873 2074 6874 \n3 6875 6874 2075 \n3 2076 6876 6878 \n3 6876 2077 6877 \n3 6878 6877 2078 \n3 2079 6879 6881 \n3 6879 2080 6880 \n3 6881 6880 2081 \n3 2082 6882 6884 \n3 6882 2083 6883 \n3 6884 6883 2084 \n3 2085 6885 6887 \n3 6885 2086 6886 \n3 6887 6886 2087 \n3 2088 6888 6890 \n3 6888 2089 6889 \n3 6890 6889 2090 \n3 2091 6891 6893 \n3 6891 2092 6892 \n3 6893 6892 2093 \n3 2094 6894 6896 \n3 6894 2095 6895 \n3 6896 6895 2096 \n3 2097 6897 6899 \n3 6897 2098 6898 \n3 6899 6898 2099 \n3 2100 6900 6902 \n3 6900 2101 6901 \n3 6902 6901 2102 \n3 2103 6903 6905 \n3 6903 2104 6904 \n3 6905 6904 2105 \n3 2106 6906 6908 \n3 6906 2107 6907 \n3 6908 6907 2108 \n3 2109 6909 6911 \n3 6909 2110 6910 \n3 6911 6910 2111 \n3 2112 6912 6914 \n3 6912 2113 6913 \n3 6914 6913 2114 \n3 2115 6915 6917 \n3 6915 2116 6916 \n3 6917 6916 2117 \n3 2118 6918 6920 \n3 6918 2119 6919 \n3 6920 6919 2120 \n3 2121 6921 6923 \n3 6921 2122 6922 \n3 6923 6922 2123 \n3 2124 6924 6926 \n3 6924 2125 6925 \n3 6926 6925 2126 \n3 2127 6927 6929 \n3 6927 2128 6928 \n3 6929 6928 2129 \n3 2130 6930 6932 \n3 6930 2131 6931 \n3 6932 6931 2132 \n3 2133 6933 6935 \n3 6933 2134 6934 \n3 6935 6934 2135 \n3 2136 6936 6938 \n3 6936 2137 6937 \n3 6938 6937 2138 \n3 2139 6939 6941 \n3 6939 2140 6940 \n3 6941 6940 2141 \n3 2142 6942 6944 \n3 6942 2143 6943 \n3 6944 6943 2144 \n3 2145 6945 6947 \n3 6945 2146 6946 \n3 6947 6946 2147 \n3 2148 6948 6950 \n3 6948 2149 6949 \n3 6950 6949 2150 \n3 2151 6951 6953 \n3 6951 2152 6952 \n3 6953 6952 2153 \n3 2154 6954 6956 \n3 6954 2155 6955 \n3 6956 6955 2156 \n3 2157 6957 6959 \n3 6957 2158 6958 \n3 6959 6958 2159 \n3 2160 6960 6962 \n3 6960 2161 6961 \n3 6962 6961 2162 \n3 2163 6963 6965 \n3 6963 2164 6964 \n3 6965 6964 2165 \n3 2166 6966 6968 \n3 6966 2167 6967 \n3 6968 6967 2168 \n3 2169 6969 6971 \n3 6969 2170 6970 \n3 6971 6970 2171 \n3 2172 6972 6974 \n3 6972 2173 6973 \n3 6974 6973 2174 \n3 2175 6975 6977 \n3 6975 2176 6976 \n3 6977 6976 2177 \n3 2178 6978 6980 \n3 6978 2179 6979 \n3 6980 6979 2180 \n3 2181 6981 6983 \n3 6981 2182 6982 \n3 6983 6982 2183 \n3 2184 6984 6986 \n3 6984 2185 6985 \n3 6986 6985 2186 \n3 2187 6987 6989 \n3 6987 2188 6988 \n3 6989 6988 2189 \n3 2190 6990 6992 \n3 6990 2191 6991 \n3 6992 6991 2192 \n3 2193 6993 6995 \n3 6993 2194 6994 \n3 6995 6994 2195 \n3 2196 6996 6998 \n3 6996 2197 6997 \n3 6998 6997 2198 \n3 2199 6999 7001 \n3 6999 2200 7000 \n3 7001 7000 2201 \n3 2202 7002 7004 \n3 7002 2203 7003 \n3 7004 7003 2204 \n3 2205 7005 7007 \n3 7005 2206 7006 \n3 7007 7006 2207 \n3 2208 7008 7010 \n3 7008 2209 7009 \n3 7010 7009 2210 \n3 2211 7011 7013 \n3 7011 2212 7012 \n3 7013 7012 2213 \n3 2214 7014 7016 \n3 7014 2215 7015 \n3 7016 7015 2216 \n3 2217 7017 7019 \n3 7017 2218 7018 \n3 7019 7018 2219 \n3 2220 7020 7022 \n3 7020 2221 7021 \n3 7022 7021 2222 \n3 2223 7023 7025 \n3 7023 2224 7024 \n3 7025 7024 2225 \n3 2226 7026 7028 \n3 7026 2227 7027 \n3 7028 7027 2228 \n3 2229 7029 7031 \n3 7029 2230 7030 \n3 7031 7030 2231 \n3 2232 7032 7034 \n3 7032 2233 7033 \n3 7034 7033 2234 \n3 2235 7035 7037 \n3 7035 2236 7036 \n3 7037 7036 2237 \n3 2238 7038 7040 \n3 7038 2239 7039 \n3 7040 7039 2240 \n3 2241 7041 7043 \n3 7041 2242 7042 \n3 7043 7042 2243 \n3 2244 7044 7046 \n3 7044 2245 7045 \n3 7046 7045 2246 \n3 2247 7047 7049 \n3 7047 2248 7048 \n3 7049 7048 2249 \n3 2250 7050 7052 \n3 7050 2251 7051 \n3 7052 7051 2252 \n3 2253 7053 7055 \n3 7053 2254 7054 \n3 7055 7054 2255 \n3 2256 7056 7058 \n3 7056 2257 7057 \n3 7058 7057 2258 \n3 2259 7059 7061 \n3 7059 2260 7060 \n3 7061 7060 2261 \n3 2262 7062 7064 \n3 7062 2263 7063 \n3 7064 7063 2264 \n3 2265 7065 7067 \n3 7065 2266 7066 \n3 7067 7066 2267 \n3 2268 7068 7070 \n3 7068 2269 7069 \n3 7070 7069 2270 \n3 2271 7071 7073 \n3 7071 2272 7072 \n3 7073 7072 2273 \n3 2274 7074 7076 \n3 7074 2275 7075 \n3 7076 7075 2276 \n3 2277 7077 7079 \n3 7077 2278 7078 \n3 7079 7078 2279 \n3 2280 7080 7082 \n3 7080 2281 7081 \n3 7082 7081 2282 \n3 2283 7083 7085 \n3 7083 2284 7084 \n3 7085 7084 2285 \n3 2286 7086 7088 \n3 7086 2287 7087 \n3 7088 7087 2288 \n3 2289 7089 7091 \n3 7089 2290 7090 \n3 7091 7090 2291 \n3 2292 7092 7094 \n3 7092 2293 7093 \n3 7094 7093 2294 \n3 2295 7095 7097 \n3 7095 2296 7096 \n3 7097 7096 2297 \n3 2298 7098 7100 \n3 7098 2299 7099 \n3 7100 7099 2300 \n3 2301 7101 7103 \n3 7101 2302 7102 \n3 7103 7102 2303 \n3 2304 7104 7106 \n3 7104 2305 7105 \n3 7106 7105 2306 \n3 2307 7107 7109 \n3 7107 2308 7108 \n3 7109 7108 2309 \n3 2310 7110 7112 \n3 7110 2311 7111 \n3 7112 7111 2312 \n3 2313 7113 7115 \n3 7113 2314 7114 \n3 7115 7114 2315 \n3 2316 7116 7118 \n3 7116 2317 7117 \n3 7118 7117 2318 \n3 2319 7119 7121 \n3 7119 2320 7120 \n3 7121 7120 2321 \n3 2322 7122 7124 \n3 7122 2323 7123 \n3 7124 7123 2324 \n3 2325 7125 7127 \n3 7125 2326 7126 \n3 7127 7126 2327 \n3 2328 7128 7130 \n3 7128 2329 7129 \n3 7130 7129 2330 \n3 2331 7131 7133 \n3 7131 2332 7132 \n3 7133 7132 2333 \n3 2334 7134 7136 \n3 7134 2335 7135 \n3 7136 7135 2336 \n3 2337 7137 7139 \n3 7137 2338 7138 \n3 7139 7138 2339 \n3 2340 7140 7142 \n3 7140 2341 7141 \n3 7142 7141 2342 \n3 2343 7143 7145 \n3 7143 2344 7144 \n3 7145 7144 2345 \n3 2346 7146 7148 \n3 7146 2347 7147 \n3 7148 7147 2348 \n3 2349 7149 7151 \n3 7149 2350 7150 \n3 7151 7150 2351 \n3 2352 7152 7154 \n3 7152 2353 7153 \n3 7154 7153 2354 \n3 2355 7155 7157 \n3 7155 2356 7156 \n3 7157 7156 2357 \n3 2358 7158 7160 \n3 7158 2359 7159 \n3 7160 7159 2360 \n3 2361 7161 7163 \n3 7161 2362 7162 \n3 7163 7162 2363 \n3 2364 7164 7166 \n3 7164 2365 7165 \n3 7166 7165 2366 \n3 2367 7167 7169 \n3 7167 2368 7168 \n3 7169 7168 2369 \n3 2370 7170 7172 \n3 7170 2371 7171 \n3 7172 7171 2372 \n3 2373 7173 7175 \n3 7173 2374 7174 \n3 7175 7174 2375 \n3 2376 7176 7178 \n3 7176 2377 7177 \n3 7178 7177 2378 \n3 2379 7179 7181 \n3 7179 2380 7180 \n3 7181 7180 2381 \n3 2382 7182 7184 \n3 7182 2383 7183 \n3 7184 7183 2384 \n3 2385 7185 7187 \n3 7185 2386 7186 \n3 7187 7186 2387 \n3 2388 7188 7190 \n3 7188 2389 7189 \n3 7190 7189 2390 \n3 2391 7191 7193 \n3 7191 2392 7192 \n3 7193 7192 2393 \n3 2394 7194 7196 \n3 7194 2395 7195 \n3 7196 7195 2396 \n3 2397 7197 7199 \n3 7197 2398 7198 \n3 7199 7198 2399 \n3 2400 7200 7202 \n3 7200 2401 7201 \n3 7202 7201 2402 \n3 2403 7203 7205 \n3 7203 2404 7204 \n3 7205 7204 2405 \n3 2406 7206 7208 \n3 7206 2407 7207 \n3 7208 7207 2408 \n3 2409 7209 7211 \n3 7209 2410 7210 \n3 7211 7210 2411 \n3 2412 7212 7214 \n3 7212 2413 7213 \n3 7214 7213 2414 \n3 2415 7215 7217 \n3 7215 2416 7216 \n3 7217 7216 2417 \n3 2418 7218 7220 \n3 7218 2419 7219 \n3 7220 7219 2420 \n3 2421 7221 7223 \n3 7221 2422 7222 \n3 7223 7222 2423 \n3 2424 7224 7226 \n3 7224 2425 7225 \n3 7226 7225 2426 \n3 2427 7227 7229 \n3 7227 2428 7228 \n3 7229 7228 2429 \n3 2430 7230 7232 \n3 7230 2431 7231 \n3 7232 7231 2432 \n3 2433 7233 7235 \n3 7233 2434 7234 \n3 7235 7234 2435 \n3 2436 7236 7238 \n3 7236 2437 7237 \n3 7238 7237 2438 \n3 2439 7239 7241 \n3 7239 2440 7240 \n3 7241 7240 2441 \n3 2442 7242 7244 \n3 7242 2443 7243 \n3 7244 7243 2444 \n3 2445 7245 7247 \n3 7245 2446 7246 \n3 7247 7246 2447 \n3 2448 7248 7250 \n3 7248 2449 7249 \n3 7250 7249 2450 \n3 2451 7251 7253 \n3 7251 2452 7252 \n3 7253 7252 2453 \n3 2454 7254 7256 \n3 7254 2455 7255 \n3 7256 7255 2456 \n3 2457 7257 7259 \n3 7257 2458 7258 \n3 7259 7258 2459 \n3 2460 7260 7262 \n3 7260 2461 7261 \n3 7262 7261 2462 \n3 2463 7263 7265 \n3 7263 2464 7264 \n3 7265 7264 2465 \n3 2466 7266 7268 \n3 7266 2467 7267 \n3 7268 7267 2468 \n3 2469 7269 7271 \n3 7269 2470 7270 \n3 7271 7270 2471 \n3 2472 7272 7274 \n3 7272 2473 7273 \n3 7274 7273 2474 \n3 2475 7275 7277 \n3 7275 2476 7276 \n3 7277 7276 2477 \n3 2478 7278 7280 \n3 7278 2479 7279 \n3 7280 7279 2480 \n3 2481 7281 7283 \n3 7281 2482 7282 \n3 7283 7282 2483 \n3 2484 7284 7286 \n3 7284 2485 7285 \n3 7286 7285 2486 \n3 2487 7287 7289 \n3 7287 2488 7288 \n3 7289 7288 2489 \n3 2490 7290 7292 \n3 7290 2491 7291 \n3 7292 7291 2492 \n3 2493 7293 7295 \n3 7293 2494 7294 \n3 7295 7294 2495 \n3 2496 7296 7298 \n3 7296 2497 7297 \n3 7298 7297 2498 \n3 2499 7299 7301 \n3 7299 2500 7300 \n3 7301 7300 2501 \n3 2502 7302 7304 \n3 7302 2503 7303 \n3 7304 7303 2504 \n3 2505 7305 7307 \n3 7305 2506 7306 \n3 7307 7306 2507 \n3 2508 7308 7310 \n3 7308 2509 7309 \n3 7310 7309 2510 \n3 2511 7311 7313 \n3 7311 2512 7312 \n3 7313 7312 2513 \n3 2514 7314 7316 \n3 7314 2515 7315 \n3 7316 7315 2516 \n3 2517 7317 7319 \n3 7317 2518 7318 \n3 7319 7318 2519 \n3 2520 7320 7322 \n3 7320 2521 7321 \n3 7322 7321 2522 \n3 2523 7323 7325 \n3 7323 2524 7324 \n3 7325 7324 2525 \n3 2526 7326 7328 \n3 7326 2527 7327 \n3 7328 7327 2528 \n3 2529 7329 7331 \n3 7329 2530 7330 \n3 7331 7330 2531 \n3 2532 7332 7334 \n3 7332 2533 7333 \n3 7334 7333 2534 \n3 2535 7335 7337 \n3 7335 2536 7336 \n3 7337 7336 2537 \n3 2538 7338 7340 \n3 7338 2539 7339 \n3 7340 7339 2540 \n3 2541 7341 7343 \n3 7341 2542 7342 \n3 7343 7342 2543 \n3 2544 7344 7346 \n3 7344 2545 7345 \n3 7346 7345 2546 \n3 2547 7347 7349 \n3 7347 2548 7348 \n3 7349 7348 2549 \n3 2550 7350 7352 \n3 7350 2551 7351 \n3 7352 7351 2552 \n3 2553 7353 7355 \n3 7353 2554 7354 \n3 7355 7354 2555 \n3 2556 7356 7358 \n3 7356 2557 7357 \n3 7358 7357 2558 \n3 2559 7359 7361 \n3 7359 2560 7360 \n3 7361 7360 2561 \n3 2562 7362 7364 \n3 7362 2563 7363 \n3 7364 7363 2564 \n3 2565 7365 7367 \n3 7365 2566 7366 \n3 7367 7366 2567 \n3 2568 7368 7370 \n3 7368 2569 7369 \n3 7370 7369 2570 \n3 2571 7371 7373 \n3 7371 2572 7372 \n3 7373 7372 2573 \n3 2574 7374 7376 \n3 7374 2575 7375 \n3 7376 7375 2576 \n3 2577 7377 7379 \n3 7377 2578 7378 \n3 7379 7378 2579 \n3 2580 7380 7382 \n3 7380 2581 7381 \n3 7382 7381 2582 \n3 2583 7383 7385 \n3 7383 2584 7384 \n3 7385 7384 2585 \n3 2586 7386 7388 \n3 7386 2587 7387 \n3 7388 7387 2588 \n3 2589 7389 7391 \n3 7389 2590 7390 \n3 7391 7390 2591 \n3 2592 7392 7394 \n3 7392 2593 7393 \n3 7394 7393 2594 \n3 2595 7395 7397 \n3 7395 2596 7396 \n3 7397 7396 2597 \n3 2598 7398 7400 \n3 7398 2599 7399 \n3 7400 7399 2600 \n3 2601 7401 7403 \n3 7401 2602 7402 \n3 7403 7402 2603 \n3 2604 7404 7406 \n3 7404 2605 7405 \n3 7406 7405 2606 \n3 2607 7407 7409 \n3 7407 2608 7408 \n3 7409 7408 2609 \n3 2610 7410 7412 \n3 7410 2611 7411 \n3 7412 7411 2612 \n3 2613 7413 7415 \n3 7413 2614 7414 \n3 7415 7414 2615 \n3 2616 7416 7418 \n3 7416 2617 7417 \n3 7418 7417 2618 \n3 2619 7419 7421 \n3 7419 2620 7420 \n3 7421 7420 2621 \n3 2622 7422 7424 \n3 7422 2623 7423 \n3 7424 7423 2624 \n3 2625 7425 7427 \n3 7425 2626 7426 \n3 7427 7426 2627 \n3 2628 7428 7430 \n3 7428 2629 7429 \n3 7430 7429 2630 \n3 2631 7431 7433 \n3 7431 2632 7432 \n3 7433 7432 2633 \n3 2634 7434 7436 \n3 7434 2635 7435 \n3 7436 7435 2636 \n3 2637 7437 7439 \n3 7437 2638 7438 \n3 7439 7438 2639 \n3 2640 7440 7442 \n3 7440 2641 7441 \n3 7442 7441 2642 \n3 2643 7443 7445 \n3 7443 2644 7444 \n3 7445 7444 2645 \n3 2646 7446 7448 \n3 7446 2647 7447 \n3 7448 7447 2648 \n3 2649 7449 7451 \n3 7449 2650 7450 \n3 7451 7450 2651 \n3 2652 7452 7454 \n3 7452 2653 7453 \n3 7454 7453 2654 \n3 2655 7455 7457 \n3 7455 2656 7456 \n3 7457 7456 2657 \n3 2658 7458 7460 \n3 7458 2659 7459 \n3 7460 7459 2660 \n3 2661 7461 7463 \n3 7461 2662 7462 \n3 7463 7462 2663 \n3 2664 7464 7466 \n3 7464 2665 7465 \n3 7466 7465 2666 \n3 2667 7467 7469 \n3 7467 2668 7468 \n3 7469 7468 2669 \n3 2670 7470 7472 \n3 7470 2671 7471 \n3 7472 7471 2672 \n3 2673 7473 7475 \n3 7473 2674 7474 \n3 7475 7474 2675 \n3 2676 7476 7478 \n3 7476 2677 7477 \n3 7478 7477 2678 \n3 2679 7479 7481 \n3 7479 2680 7480 \n3 7481 7480 2681 \n3 2682 7482 7484 \n3 7482 2683 7483 \n3 7484 7483 2684 \n3 2685 7485 7487 \n3 7485 2686 7486 \n3 7487 7486 2687 \n3 2688 7488 7490 \n3 7488 2689 7489 \n3 7490 7489 2690 \n3 2691 7491 7493 \n3 7491 2692 7492 \n3 7493 7492 2693 \n3 2694 7494 7496 \n3 7494 2695 7495 \n3 7496 7495 2696 \n3 2697 7497 7499 \n3 7497 2698 7498 \n3 7499 7498 2699 \n3 2700 7500 7502 \n3 7500 2701 7501 \n3 7502 7501 2702 \n3 2703 7503 7505 \n3 7503 2704 7504 \n3 7505 7504 2705 \n3 2706 7506 7508 \n3 7506 2707 7507 \n3 7508 7507 2708 \n3 2709 7509 7511 \n3 7509 2710 7510 \n3 7511 7510 2711 \n3 2712 7512 7514 \n3 7512 2713 7513 \n3 7514 7513 2714 \n3 2715 7515 7517 \n3 7515 2716 7516 \n3 7517 7516 2717 \n3 2718 7518 7520 \n3 7518 2719 7519 \n3 7520 7519 2720 \n3 2721 7521 7523 \n3 7521 2722 7522 \n3 7523 7522 2723 \n3 2724 7524 7526 \n3 7524 2725 7525 \n3 7526 7525 2726 \n3 2727 7527 7529 \n3 7527 2728 7528 \n3 7529 7528 2729 \n3 2730 7530 7532 \n3 7530 2731 7531 \n3 7532 7531 2732 \n3 2733 7533 7535 \n3 7533 2734 7534 \n3 7535 7534 2735 \n3 2736 7536 7538 \n3 7536 2737 7537 \n3 7538 7537 2738 \n3 2739 7539 7541 \n3 7539 2740 7540 \n3 7541 7540 2741 \n3 2742 7542 7544 \n3 7542 2743 7543 \n3 7544 7543 2744 \n3 2745 7545 7547 \n3 7545 2746 7546 \n3 7547 7546 2747 \n3 2748 7548 7550 \n3 7548 2749 7549 \n3 7550 7549 2750 \n3 2751 7551 7553 \n3 7551 2752 7552 \n3 7553 7552 2753 \n3 2754 7554 7556 \n3 7554 2755 7555 \n3 7556 7555 2756 \n3 2757 7557 7559 \n3 7557 2758 7558 \n3 7559 7558 2759 \n3 2760 7560 7562 \n3 7560 2761 7561 \n3 7562 7561 2762 \n3 2763 7563 7565 \n3 7563 2764 7564 \n3 7565 7564 2765 \n3 2766 7566 7568 \n3 7566 2767 7567 \n3 7568 7567 2768 \n3 2769 7569 7571 \n3 7569 2770 7570 \n3 7571 7570 2771 \n3 2772 7572 7574 \n3 7572 2773 7573 \n3 7574 7573 2774 \n3 2775 7575 7577 \n3 7575 2776 7576 \n3 7577 7576 2777 \n3 2778 7578 7580 \n3 7578 2779 7579 \n3 7580 7579 2780 \n3 2781 7581 7583 \n3 7581 2782 7582 \n3 7583 7582 2783 \n3 2784 7584 7586 \n3 7584 2785 7585 \n3 7586 7585 2786 \n3 2787 7587 7589 \n3 7587 2788 7588 \n3 7589 7588 2789 \n3 2790 7590 7592 \n3 7590 2791 7591 \n3 7592 7591 2792 \n3 2793 7593 7595 \n3 7593 2794 7594 \n3 7595 7594 2795 \n3 2796 7596 7598 \n3 7596 2797 7597 \n3 7598 7597 2798 \n3 2799 7599 7601 \n3 7599 2800 7600 \n3 7601 7600 2801 \n3 2802 7602 7604 \n3 7602 2803 7603 \n3 7604 7603 2804 \n3 2805 7605 7607 \n3 7605 2806 7606 \n3 7607 7606 2807 \n3 2808 7608 7610 \n3 7608 2809 7609 \n3 7610 7609 2810 \n3 2811 7611 7613 \n3 7611 2812 7612 \n3 7613 7612 2813 \n3 2814 7614 7616 \n3 7614 2815 7615 \n3 7616 7615 2816 \n3 2817 7617 7619 \n3 7617 2818 7618 \n3 7619 7618 2819 \n3 2820 7620 7622 \n3 7620 2821 7621 \n3 7622 7621 2822 \n3 2823 7623 7625 \n3 7623 2824 7624 \n3 7625 7624 2825 \n3 2826 7626 7628 \n3 7626 2827 7627 \n3 7628 7627 2828 \n3 2829 7629 7631 \n3 7629 2830 7630 \n3 7631 7630 2831 \n3 2832 7632 7634 \n3 7632 2833 7633 \n3 7634 7633 2834 \n3 2835 7635 7637 \n3 7635 2836 7636 \n3 7637 7636 2837 \n3 2838 7638 7640 \n3 7638 2839 7639 \n3 7640 7639 2840 \n3 2841 7641 7643 \n3 7641 2842 7642 \n3 7643 7642 2843 \n3 2844 7644 7646 \n3 7644 2845 7645 \n3 7646 7645 2846 \n3 2847 7647 7649 \n3 7647 2848 7648 \n3 7649 7648 2849 \n3 2850 7650 7652 \n3 7650 2851 7651 \n3 7652 7651 2852 \n3 2853 7653 7655 \n3 7653 2854 7654 \n3 7655 7654 2855 \n3 2856 7656 7658 \n3 7656 2857 7657 \n3 7658 7657 2858 \n3 2859 7659 7661 \n3 7659 2860 7660 \n3 7661 7660 2861 \n3 2862 7662 7664 \n3 7662 2863 7663 \n3 7664 7663 2864 \n3 2865 7665 7667 \n3 7665 2866 7666 \n3 7667 7666 2867 \n3 2868 7668 7670 \n3 7668 2869 7669 \n3 7670 7669 2870 \n3 2871 7671 7673 \n3 7671 2872 7672 \n3 7673 7672 2873 \n3 2874 7674 7676 \n3 7674 2875 7675 \n3 7676 7675 2876 \n3 2877 7677 7679 \n3 7677 2878 7678 \n3 7679 7678 2879 \n3 2880 7680 7682 \n3 7680 2881 7681 \n3 7682 7681 2882 \n3 2883 7683 7685 \n3 7683 2884 7684 \n3 7685 7684 2885 \n3 2886 7686 7688 \n3 7686 2887 7687 \n3 7688 7687 2888 \n3 2889 7689 7691 \n3 7689 2890 7690 \n3 7691 7690 2891 \n3 2892 7692 7694 \n3 7692 2893 7693 \n3 7694 7693 2894 \n3 2895 7695 7697 \n3 7695 2896 7696 \n3 7697 7696 2897 \n3 2898 7698 7700 \n3 7698 2899 7699 \n3 7700 7699 2900 \n3 2901 7701 7703 \n3 7701 2902 7702 \n3 7703 7702 2903 \n3 2904 7704 7706 \n3 7704 2905 7705 \n3 7706 7705 2906 \n3 2907 7707 7709 \n3 7707 2908 7708 \n3 7709 7708 2909 \n3 2910 7710 7712 \n3 7710 2911 7711 \n3 7712 7711 2912 \n3 2913 7713 7715 \n3 7713 2914 7714 \n3 7715 7714 2915 \n3 2916 7716 7718 \n3 7716 2917 7717 \n3 7718 7717 2918 \n3 2919 7719 7721 \n3 7719 2920 7720 \n3 7721 7720 2921 \n3 2922 7722 7724 \n3 7722 2923 7723 \n3 7724 7723 2924 \n3 2925 7725 7727 \n3 7725 2926 7726 \n3 7727 7726 2927 \n3 2928 7728 7730 \n3 7728 2929 7729 \n3 7730 7729 2930 \n3 2931 7731 7733 \n3 7731 2932 7732 \n3 7733 7732 2933 \n3 2934 7734 7736 \n3 7734 2935 7735 \n3 7736 7735 2936 \n3 2937 7737 7739 \n3 7737 2938 7738 \n3 7739 7738 2939 \n3 2940 7740 7742 \n3 7740 2941 7741 \n3 7742 7741 2942 \n3 2943 7743 7745 \n3 7743 2944 7744 \n3 7745 7744 2945 \n3 2946 7746 7748 \n3 7746 2947 7747 \n3 7748 7747 2948 \n3 2949 7749 7751 \n3 7749 2950 7750 \n3 7751 7750 2951 \n3 2952 7752 7754 \n3 7752 2953 7753 \n3 7754 7753 2954 \n3 2955 7755 7757 \n3 7755 2956 7756 \n3 7757 7756 2957 \n3 2958 7758 7760 \n3 7758 2959 7759 \n3 7760 7759 2960 \n3 2961 7761 7763 \n3 7761 2962 7762 \n3 7763 7762 2963 \n3 2964 7764 7766 \n3 7764 2965 7765 \n3 7766 7765 2966 \n3 2967 7767 7769 \n3 7767 2968 7768 \n3 7769 7768 2969 \n3 2970 7770 7772 \n3 7770 2971 7771 \n3 7772 7771 2972 \n3 2973 7773 7775 \n3 7773 2974 7774 \n3 7775 7774 2975 \n3 2976 7776 7778 \n3 7776 2977 7777 \n3 7778 7777 2978 \n3 2979 7779 7781 \n3 7779 2980 7780 \n3 7781 7780 2981 \n3 2982 7782 7784 \n3 7782 2983 7783 \n3 7784 7783 2984 \n3 2985 7785 7787 \n3 7785 2986 7786 \n3 7787 7786 2987 \n3 2988 7788 7790 \n3 7788 2989 7789 \n3 7790 7789 2990 \n3 2991 7791 7793 \n3 7791 2992 7792 \n3 7793 7792 2993 \n3 2994 7794 7796 \n3 7794 2995 7795 \n3 7796 7795 2996 \n3 2997 7797 7799 \n3 7797 2998 7798 \n3 7799 7798 2999 \n3 3000 7800 7802 \n3 7800 3001 7801 \n3 7802 7801 3002 \n3 3003 7803 7805 \n3 7803 3004 7804 \n3 7805 7804 3005 \n3 3006 7806 7808 \n3 7806 3007 7807 \n3 7808 7807 3008 \n3 3009 7809 7811 \n3 7809 3010 7810 \n3 7811 7810 3011 \n3 3012 7812 7814 \n3 7812 3013 7813 \n3 7814 7813 3014 \n3 3015 7815 7817 \n3 7815 3016 7816 \n3 7817 7816 3017 \n3 3018 7818 7820 \n3 7818 3019 7819 \n3 7820 7819 3020 \n3 3021 7821 7823 \n3 7821 3022 7822 \n3 7823 7822 3023 \n3 3024 7824 7826 \n3 7824 3025 7825 \n3 7826 7825 3026 \n3 3027 7827 7829 \n3 7827 3028 7828 \n3 7829 7828 3029 \n3 3030 7830 7832 \n3 7830 3031 7831 \n3 7832 7831 3032 \n3 3033 7833 7835 \n3 7833 3034 7834 \n3 7835 7834 3035 \n3 3036 7836 7838 \n3 7836 3037 7837 \n3 7838 7837 3038 \n3 3039 7839 7841 \n3 7839 3040 7840 \n3 7841 7840 3041 \n3 3042 7842 7844 \n3 7842 3043 7843 \n3 7844 7843 3044 \n3 3045 7845 7847 \n3 7845 3046 7846 \n3 7847 7846 3047 \n3 3048 7848 7850 \n3 7848 3049 7849 \n3 7850 7849 3050 \n3 3051 7851 7853 \n3 7851 3052 7852 \n3 7853 7852 3053 \n3 3054 7854 7856 \n3 7854 3055 7855 \n3 7856 7855 3056 \n3 3057 7857 7859 \n3 7857 3058 7858 \n3 7859 7858 3059 \n3 3060 7860 7862 \n3 7860 3061 7861 \n3 7862 7861 3062 \n3 3063 7863 7865 \n3 7863 3064 7864 \n3 7865 7864 3065 \n3 3066 7866 7868 \n3 7866 3067 7867 \n3 7868 7867 3068 \n3 3069 7869 7871 \n3 7869 3070 7870 \n3 7871 7870 3071 \n3 3072 7872 7874 \n3 7872 3073 7873 \n3 7874 7873 3074 \n3 3075 7875 7877 \n3 7875 3076 7876 \n3 7877 7876 3077 \n3 3078 7878 7880 \n3 7878 3079 7879 \n3 7880 7879 3080 \n3 3081 7881 7883 \n3 7881 3082 7882 \n3 7883 7882 3083 \n3 3084 7884 7886 \n3 7884 3085 7885 \n3 7886 7885 3086 \n3 3087 7887 7889 \n3 7887 3088 7888 \n3 7889 7888 3089 \n3 3090 7890 7892 \n3 7890 3091 7891 \n3 7892 7891 3092 \n3 3093 7893 7895 \n3 7893 3094 7894 \n3 7895 7894 3095 \n3 3096 7896 7898 \n3 7896 3097 7897 \n3 7898 7897 3098 \n3 3099 7899 7901 \n3 7899 3100 7900 \n3 7901 7900 3101 \n3 3102 7902 7904 \n3 7902 3103 7903 \n3 7904 7903 3104 \n3 3105 7905 7907 \n3 7905 3106 7906 \n3 7907 7906 3107 \n3 3108 7908 7910 \n3 7908 3109 7909 \n3 7910 7909 3110 \n3 3111 7911 7913 \n3 7911 3112 7912 \n3 7913 7912 3113 \n3 3114 7914 7916 \n3 7914 3115 7915 \n3 7916 7915 3116 \n3 3117 7917 7919 \n3 7917 3118 7918 \n3 7919 7918 3119 \n3 3120 7920 7922 \n3 7920 3121 7921 \n3 7922 7921 3122 \n3 3123 7923 7925 \n3 7923 3124 7924 \n3 7925 7924 3125 \n3 3126 7926 7928 \n3 7926 3127 7927 \n3 7928 7927 3128 \n3 3129 7929 7931 \n3 7929 3130 7930 \n3 7931 7930 3131 \n3 3132 7932 7934 \n3 7932 3133 7933 \n3 7934 7933 3134 \n3 3135 7935 7937 \n3 7935 3136 7936 \n3 7937 7936 3137 \n3 3138 7938 7940 \n3 7938 3139 7939 \n3 7940 7939 3140 \n3 3141 7941 7943 \n3 7941 3142 7942 \n3 7943 7942 3143 \n3 3144 7944 7946 \n3 7944 3145 7945 \n3 7946 7945 3146 \n3 3147 7947 7949 \n3 7947 3148 7948 \n3 7949 7948 3149 \n3 3150 7950 7952 \n3 7950 3151 7951 \n3 7952 7951 3152 \n3 3153 7953 7955 \n3 7953 3154 7954 \n3 7955 7954 3155 \n3 3156 7956 7958 \n3 7956 3157 7957 \n3 7958 7957 3158 \n3 3159 7959 7961 \n3 7959 3160 7960 \n3 7961 7960 3161 \n3 3162 7962 7964 \n3 7962 3163 7963 \n3 7964 7963 3164 \n3 3165 7965 7967 \n3 7965 3166 7966 \n3 7967 7966 3167 \n3 3168 7968 7970 \n3 7968 3169 7969 \n3 7970 7969 3170 \n3 3171 7971 7973 \n3 7971 3172 7972 \n3 7973 7972 3173 \n3 3174 7974 7976 \n3 7974 3175 7975 \n3 7976 7975 3176 \n3 3177 7977 7979 \n3 7977 3178 7978 \n3 7979 7978 3179 \n3 3180 7980 7982 \n3 7980 3181 7981 \n3 7982 7981 3182 \n3 3183 7983 7985 \n3 7983 3184 7984 \n3 7985 7984 3185 \n3 3186 7986 7988 \n3 7986 3187 7987 \n3 7988 7987 3188 \n3 3189 7989 7991 \n3 7989 3190 7990 \n3 7991 7990 3191 \n3 3192 7992 7994 \n3 7992 3193 7993 \n3 7994 7993 3194 \n3 3195 7995 7997 \n3 7995 3196 7996 \n3 7997 7996 3197 \n3 3198 7998 8000 \n3 7998 3199 7999 \n3 8000 7999 3200 \n3 3201 8001 8003 \n3 8001 3202 8002 \n3 8003 8002 3203 \n3 3204 8004 8006 \n3 8004 3205 8005 \n3 8006 8005 3206 \n3 3207 8007 8009 \n3 8007 3208 8008 \n3 8009 8008 3209 \n3 3210 8010 8012 \n3 8010 3211 8011 \n3 8012 8011 3212 \n3 3213 8013 8015 \n3 8013 3214 8014 \n3 8015 8014 3215 \n3 3216 8016 8018 \n3 8016 3217 8017 \n3 8018 8017 3218 \n3 3219 8019 8021 \n3 8019 3220 8020 \n3 8021 8020 3221 \n3 3222 8022 8024 \n3 8022 3223 8023 \n3 8024 8023 3224 \n3 3225 8025 8027 \n3 8025 3226 8026 \n3 8027 8026 3227 \n3 3228 8028 8030 \n3 8028 3229 8029 \n3 8030 8029 3230 \n3 3231 8031 8033 \n3 8031 3232 8032 \n3 8033 8032 3233 \n3 3234 8034 8036 \n3 8034 3235 8035 \n3 8036 8035 3236 \n3 3237 8037 8039 \n3 8037 3238 8038 \n3 8039 8038 3239 \n3 3240 8040 8042 \n3 8040 3241 8041 \n3 8042 8041 3242 \n3 3243 8043 8045 \n3 8043 3244 8044 \n3 8045 8044 3245 \n3 3246 8046 8048 \n3 8046 3247 8047 \n3 8048 8047 3248 \n3 3249 8049 8051 \n3 8049 3250 8050 \n3 8051 8050 3251 \n3 3252 8052 8054 \n3 8052 3253 8053 \n3 8054 8053 3254 \n3 3255 8055 8057 \n3 8055 3256 8056 \n3 8057 8056 3257 \n3 3258 8058 8060 \n3 8058 3259 8059 \n3 8060 8059 3260 \n3 3261 8061 8063 \n3 8061 3262 8062 \n3 8063 8062 3263 \n3 3264 8064 8066 \n3 8064 3265 8065 \n3 8066 8065 3266 \n3 3267 8067 8069 \n3 8067 3268 8068 \n3 8069 8068 3269 \n3 3270 8070 8072 \n3 8070 3271 8071 \n3 8072 8071 3272 \n3 3273 8073 8075 \n3 8073 3274 8074 \n3 8075 8074 3275 \n3 3276 8076 8078 \n3 8076 3277 8077 \n3 8078 8077 3278 \n3 3279 8079 8081 \n3 8079 3280 8080 \n3 8081 8080 3281 \n3 3282 8082 8084 \n3 8082 3283 8083 \n3 8084 8083 3284 \n3 3285 8085 8087 \n3 8085 3286 8086 \n3 8087 8086 3287 \n3 3288 8088 8090 \n3 8088 3289 8089 \n3 8090 8089 3290 \n3 3291 8091 8093 \n3 8091 3292 8092 \n3 8093 8092 3293 \n3 3294 8094 8096 \n3 8094 3295 8095 \n3 8096 8095 3296 \n3 3297 8097 8099 \n3 8097 3298 8098 \n3 8099 8098 3299 \n3 3300 8100 8102 \n3 8100 3301 8101 \n3 8102 8101 3302 \n3 3303 8103 8105 \n3 8103 3304 8104 \n3 8105 8104 3305 \n3 3306 8106 8108 \n3 8106 3307 8107 \n3 8108 8107 3308 \n3 3309 8109 8111 \n3 8109 3310 8110 \n3 8111 8110 3311 \n3 3312 8112 8114 \n3 8112 3313 8113 \n3 8114 8113 3314 \n3 3315 8115 8117 \n3 8115 3316 8116 \n3 8117 8116 3317 \n3 3318 8118 8120 \n3 8118 3319 8119 \n3 8120 8119 3320 \n3 3321 8121 8123 \n3 8121 3322 8122 \n3 8123 8122 3323 \n3 3324 8124 8126 \n3 8124 3325 8125 \n3 8126 8125 3326 \n3 3327 8127 8129 \n3 8127 3328 8128 \n3 8129 8128 3329 \n3 3330 8130 8132 \n3 8130 3331 8131 \n3 8132 8131 3332 \n3 3333 8133 8135 \n3 8133 3334 8134 \n3 8135 8134 3335 \n3 3336 8136 8138 \n3 8136 3337 8137 \n3 8138 8137 3338 \n3 3339 8139 8141 \n3 8139 3340 8140 \n3 8141 8140 3341 \n3 3342 8142 8144 \n3 8142 3343 8143 \n3 8144 8143 3344 \n3 3345 8145 8147 \n3 8145 3346 8146 \n3 8147 8146 3347 \n3 3348 8148 8150 \n3 8148 3349 8149 \n3 8150 8149 3350 \n3 3351 8151 8153 \n3 8151 3352 8152 \n3 8153 8152 3353 \n3 3354 8154 8156 \n3 8154 3355 8155 \n3 8156 8155 3356 \n3 3357 8157 8159 \n3 8157 3358 8158 \n3 8159 8158 3359 \n3 3360 8160 8162 \n3 8160 3361 8161 \n3 8162 8161 3362 \n3 3363 8163 8165 \n3 8163 3364 8164 \n3 8165 8164 3365 \n3 3366 8166 8168 \n3 8166 3367 8167 \n3 8168 8167 3368 \n3 3369 8169 8171 \n3 8169 3370 8170 \n3 8171 8170 3371 \n3 3372 8172 8174 \n3 8172 3373 8173 \n3 8174 8173 3374 \n3 3375 8175 8177 \n3 8175 3376 8176 \n3 8177 8176 3377 \n3 3378 8178 8180 \n3 8178 3379 8179 \n3 8180 8179 3380 \n3 3381 8181 8183 \n3 8181 3382 8182 \n3 8183 8182 3383 \n3 3384 8184 8186 \n3 8184 3385 8185 \n3 8186 8185 3386 \n3 3387 8187 8189 \n3 8187 3388 8188 \n3 8189 8188 3389 \n3 3390 8190 8192 \n3 8190 3391 8191 \n3 8192 8191 3392 \n3 3393 8193 8195 \n3 8193 3394 8194 \n3 8195 8194 3395 \n3 3396 8196 8198 \n3 8196 3397 8197 \n3 8198 8197 3398 \n3 3399 8199 8201 \n3 8199 3400 8200 \n3 8201 8200 3401 \n3 3402 8202 8204 \n3 8202 3403 8203 \n3 8204 8203 3404 \n3 3405 8205 8207 \n3 8205 3406 8206 \n3 8207 8206 3407 \n3 3408 8208 8210 \n3 8208 3409 8209 \n3 8210 8209 3410 \n3 3411 8211 8213 \n3 8211 3412 8212 \n3 8213 8212 3413 \n3 3414 8214 8216 \n3 8214 3415 8215 \n3 8216 8215 3416 \n3 3417 8217 8219 \n3 8217 3418 8218 \n3 8219 8218 3419 \n3 3420 8220 8222 \n3 8220 3421 8221 \n3 8222 8221 3422 \n3 3423 8223 8225 \n3 8223 3424 8224 \n3 8225 8224 3425 \n3 3426 8226 8228 \n3 8226 3427 8227 \n3 8228 8227 3428 \n3 3429 8229 8231 \n3 8229 3430 8230 \n3 8231 8230 3431 \n3 3432 8232 8234 \n3 8232 3433 8233 \n3 8234 8233 3434 \n3 3435 8235 8237 \n3 8235 3436 8236 \n3 8237 8236 3437 \n3 3438 8238 8240 \n3 8238 3439 8239 \n3 8240 8239 3440 \n3 3441 8241 8243 \n3 8241 3442 8242 \n3 8243 8242 3443 \n3 3444 8244 8246 \n3 8244 3445 8245 \n3 8246 8245 3446 \n3 3447 8247 8249 \n3 8247 3448 8248 \n3 8249 8248 3449 \n3 3450 8250 8252 \n3 8250 3451 8251 \n3 8252 8251 3452 \n3 3453 8253 8255 \n3 8253 3454 8254 \n3 8255 8254 3455 \n3 3456 8256 8258 \n3 8256 3457 8257 \n3 8258 8257 3458 \n3 3459 8259 8261 \n3 8259 3460 8260 \n3 8261 8260 3461 \n3 3462 8262 8264 \n3 8262 3463 8263 \n3 8264 8263 3464 \n3 3465 8265 8267 \n3 8265 3466 8266 \n3 8267 8266 3467 \n3 3468 8268 8270 \n3 8268 3469 8269 \n3 8270 8269 3470 \n3 3471 8271 8273 \n3 8271 3472 8272 \n3 8273 8272 3473 \n3 3474 8274 8276 \n3 8274 3475 8275 \n3 8276 8275 3476 \n3 3477 8277 8279 \n3 8277 3478 8278 \n3 8279 8278 3479 \n3 3480 8280 8282 \n3 8280 3481 8281 \n3 8282 8281 3482 \n3 3483 8283 8285 \n3 8283 3484 8284 \n3 8285 8284 3485 \n3 3486 8286 8288 \n3 8286 3487 8287 \n3 8288 8287 3488 \n3 3489 8289 8291 \n3 8289 3490 8290 \n3 8291 8290 3491 \n3 3492 8292 8294 \n3 8292 3493 8293 \n3 8294 8293 3494 \n3 3495 8295 8297 \n3 8295 3496 8296 \n3 8297 8296 3497 \n3 3498 8298 8300 \n3 8298 3499 8299 \n3 8300 8299 3500 \n3 3501 8301 8303 \n3 8301 3502 8302 \n3 8303 8302 3503 \n3 3504 8304 8306 \n3 8304 3505 8305 \n3 8306 8305 3506 \n3 3507 8307 8309 \n3 8307 3508 8308 \n3 8309 8308 3509 \n3 3510 8310 8312 \n3 8310 3511 8311 \n3 8312 8311 3512 \n3 3513 8313 8315 \n3 8313 3514 8314 \n3 8315 8314 3515 \n3 3516 8316 8318 \n3 8316 3517 8317 \n3 8318 8317 3518 \n3 3519 8319 8321 \n3 8319 3520 8320 \n3 8321 8320 3521 \n3 3522 8322 8324 \n3 8322 3523 8323 \n3 8324 8323 3524 \n3 3525 8325 8327 \n3 8325 3526 8326 \n3 8327 8326 3527 \n3 3528 8328 8330 \n3 8328 3529 8329 \n3 8330 8329 3530 \n3 3531 8331 8333 \n3 8331 3532 8332 \n3 8333 8332 3533 \n3 3534 8334 8336 \n3 8334 3535 8335 \n3 8336 8335 3536 \n3 3537 8337 8339 \n3 8337 3538 8338 \n3 8339 8338 3539 \n3 3540 8340 8342 \n3 8340 3541 8341 \n3 8342 8341 3542 \n3 3543 8343 8345 \n3 8343 3544 8344 \n3 8345 8344 3545 \n3 3546 8346 8348 \n3 8346 3547 8347 \n3 8348 8347 3548 \n3 3549 8349 8351 \n3 8349 3550 8350 \n3 8351 8350 3551 \n3 3552 8352 8354 \n3 8352 3553 8353 \n3 8354 8353 3554 \n3 3555 8355 8357 \n3 8355 3556 8356 \n3 8357 8356 3557 \n3 3558 8358 8360 \n3 8358 3559 8359 \n3 8360 8359 3560 \n3 3561 8361 8363 \n3 8361 3562 8362 \n3 8363 8362 3563 \n3 3564 8364 8366 \n3 8364 3565 8365 \n3 8366 8365 3566 \n3 3567 8367 8369 \n3 8367 3568 8368 \n3 8369 8368 3569 \n3 3570 8370 8372 \n3 8370 3571 8371 \n3 8372 8371 3572 \n3 3573 8373 8375 \n3 8373 3574 8374 \n3 8375 8374 3575 \n3 3576 8376 8378 \n3 8376 3577 8377 \n3 8378 8377 3578 \n3 3579 8379 8381 \n3 8379 3580 8380 \n3 8381 8380 3581 \n3 3582 8382 8384 \n3 8382 3583 8383 \n3 8384 8383 3584 \n3 3585 8385 8387 \n3 8385 3586 8386 \n3 8387 8386 3587 \n3 3588 8388 8390 \n3 8388 3589 8389 \n3 8390 8389 3590 \n3 3591 8391 8393 \n3 8391 3592 8392 \n3 8393 8392 3593 \n3 3594 8394 8396 \n3 8394 3595 8395 \n3 8396 8395 3596 \n3 3597 8397 8399 \n3 8397 3598 8398 \n3 8399 8398 3599 \n3 3600 8400 8402 \n3 8400 3601 8401 \n3 8402 8401 3602 \n3 3603 8403 8405 \n3 8403 3604 8404 \n3 8405 8404 3605 \n3 3606 8406 8408 \n3 8406 3607 8407 \n3 8408 8407 3608 \n3 3609 8409 8411 \n3 8409 3610 8410 \n3 8411 8410 3611 \n3 3612 8412 8414 \n3 8412 3613 8413 \n3 8414 8413 3614 \n3 3615 8415 8417 \n3 8415 3616 8416 \n3 8417 8416 3617 \n3 3618 8418 8420 \n3 8418 3619 8419 \n3 8420 8419 3620 \n3 3621 8421 8423 \n3 8421 3622 8422 \n3 8423 8422 3623 \n3 3624 8424 8426 \n3 8424 3625 8425 \n3 8426 8425 3626 \n3 3627 8427 8429 \n3 8427 3628 8428 \n3 8429 8428 3629 \n3 3630 8430 8432 \n3 8430 3631 8431 \n3 8432 8431 3632 \n3 3633 8433 8435 \n3 8433 3634 8434 \n3 8435 8434 3635 \n3 3636 8436 8438 \n3 8436 3637 8437 \n3 8438 8437 3638 \n3 3639 8439 8441 \n3 8439 3640 8440 \n3 8441 8440 3641 \n3 3642 8442 8444 \n3 8442 3643 8443 \n3 8444 8443 3644 \n3 3645 8445 8447 \n3 8445 3646 8446 \n3 8447 8446 3647 \n3 3648 8448 8450 \n3 8448 3649 8449 \n3 8450 8449 3650 \n3 3651 8451 8453 \n3 8451 3652 8452 \n3 8453 8452 3653 \n3 3654 8454 8456 \n3 8454 3655 8455 \n3 8456 8455 3656 \n3 3657 8457 8459 \n3 8457 3658 8458 \n3 8459 8458 3659 \n3 3660 8460 8462 \n3 8460 3661 8461 \n3 8462 8461 3662 \n3 3663 8463 8465 \n3 8463 3664 8464 \n3 8465 8464 3665 \n3 3666 8466 8468 \n3 8466 3667 8467 \n3 8468 8467 3668 \n3 3669 8469 8471 \n3 8469 3670 8470 \n3 8471 8470 3671 \n3 3672 8472 8474 \n3 8472 3673 8473 \n3 8474 8473 3674 \n3 3675 8475 8477 \n3 8475 3676 8476 \n3 8477 8476 3677 \n3 3678 8478 8480 \n3 8478 3679 8479 \n3 8480 8479 3680 \n3 3681 8481 8483 \n3 8481 3682 8482 \n3 8483 8482 3683 \n3 3684 8484 8486 \n3 8484 3685 8485 \n3 8486 8485 3686 \n3 3687 8487 8489 \n3 8487 3688 8488 \n3 8489 8488 3689 \n3 3690 8490 8492 \n3 8490 3691 8491 \n3 8492 8491 3692 \n3 3693 8493 8495 \n3 8493 3694 8494 \n3 8495 8494 3695 \n3 3696 8496 8498 \n3 8496 3697 8497 \n3 8498 8497 3698 \n3 3699 8499 8501 \n3 8499 3700 8500 \n3 8501 8500 3701 \n3 3702 8502 8504 \n3 8502 3703 8503 \n3 8504 8503 3704 \n3 3705 8505 8507 \n3 8505 3706 8506 \n3 8507 8506 3707 \n3 3708 8508 8510 \n3 8508 3709 8509 \n3 8510 8509 3710 \n3 3711 8511 8513 \n3 8511 3712 8512 \n3 8513 8512 3713 \n3 3714 8514 8516 \n3 8514 3715 8515 \n3 8516 8515 3716 \n3 3717 8517 8519 \n3 8517 3718 8518 \n3 8519 8518 3719 \n3 3720 8520 8522 \n3 8520 3721 8521 \n3 8522 8521 3722 \n3 3723 8523 8525 \n3 8523 3724 8524 \n3 8525 8524 3725 \n3 3726 8526 8528 \n3 8526 3727 8527 \n3 8528 8527 3728 \n3 3729 8529 8531 \n3 8529 3730 8530 \n3 8531 8530 3731 \n3 3732 8532 8534 \n3 8532 3733 8533 \n3 8534 8533 3734 \n3 3735 8535 8537 \n3 8535 3736 8536 \n3 8537 8536 3737 \n3 3738 8538 8540 \n3 8538 3739 8539 \n3 8540 8539 3740 \n3 3741 8541 8543 \n3 8541 3742 8542 \n3 8543 8542 3743 \n3 3744 8544 8546 \n3 8544 3745 8545 \n3 8546 8545 3746 \n3 3747 8547 8549 \n3 8547 3748 8548 \n3 8549 8548 3749 \n3 3750 8550 8552 \n3 8550 3751 8551 \n3 8552 8551 3752 \n3 3753 8553 8555 \n3 8553 3754 8554 \n3 8555 8554 3755 \n3 3756 8556 8558 \n3 8556 3757 8557 \n3 8558 8557 3758 \n3 3759 8559 8561 \n3 8559 3760 8560 \n3 8561 8560 3761 \n3 3762 8562 8564 \n3 8562 3763 8563 \n3 8564 8563 3764 \n3 3765 8565 8567 \n3 8565 3766 8566 \n3 8567 8566 3767 \n3 3768 8568 8570 \n3 8568 3769 8569 \n3 8570 8569 3770 \n3 3771 8571 8573 \n3 8571 3772 8572 \n3 8573 8572 3773 \n3 3774 8574 8576 \n3 8574 3775 8575 \n3 8576 8575 3776 \n3 3777 8577 8579 \n3 8577 3778 8578 \n3 8579 8578 3779 \n3 3780 8580 8582 \n3 8580 3781 8581 \n3 8582 8581 3782 \n3 3783 8583 8585 \n3 8583 3784 8584 \n3 8585 8584 3785 \n3 3786 8586 8588 \n3 8586 3787 8587 \n3 8588 8587 3788 \n3 3789 8589 8591 \n3 8589 3790 8590 \n3 8591 8590 3791 \n3 3792 8592 8594 \n3 8592 3793 8593 \n3 8594 8593 3794 \n3 3795 8595 8597 \n3 8595 3796 8596 \n3 8597 8596 3797 \n3 3798 8598 8600 \n3 8598 3799 8599 \n3 8600 8599 3800 \n3 3801 8601 8603 \n3 8601 3802 8602 \n3 8603 8602 3803 \n3 3804 8604 8606 \n3 8604 3805 8605 \n3 8606 8605 3806 \n3 3807 8607 8609 \n3 8607 3808 8608 \n3 8609 8608 3809 \n3 3810 8610 8612 \n3 8610 3811 8611 \n3 8612 8611 3812 \n3 3813 8613 8615 \n3 8613 3814 8614 \n3 8615 8614 3815 \n3 3816 8616 8618 \n3 8616 3817 8617 \n3 8618 8617 3818 \n3 3819 8619 8621 \n3 8619 3820 8620 \n3 8621 8620 3821 \n3 3822 8622 8624 \n3 8622 3823 8623 \n3 8624 8623 3824 \n3 3825 8625 8627 \n3 8625 3826 8626 \n3 8627 8626 3827 \n3 3828 8628 8630 \n3 8628 3829 8629 \n3 8630 8629 3830 \n3 3831 8631 8633 \n3 8631 3832 8632 \n3 8633 8632 3833 \n3 3834 8634 8636 \n3 8634 3835 8635 \n3 8636 8635 3836 \n3 3837 8637 8639 \n3 8637 3838 8638 \n3 8639 8638 3839 \n3 3840 8640 8642 \n3 8640 3841 8641 \n3 8642 8641 3842 \n3 3843 8643 8645 \n3 8643 3844 8644 \n3 8645 8644 3845 \n3 3846 8646 8648 \n3 8646 3847 8647 \n3 8648 8647 3848 \n3 3849 8649 8651 \n3 8649 3850 8650 \n3 8651 8650 3851 \n3 3852 8652 8654 \n3 8652 3853 8653 \n3 8654 8653 3854 \n3 3855 8655 8657 \n3 8655 3856 8656 \n3 8657 8656 3857 \n3 3858 8658 8660 \n3 8658 3859 8659 \n3 8660 8659 3860 \n3 3861 8661 8663 \n3 8661 3862 8662 \n3 8663 8662 3863 \n3 3864 8664 8666 \n3 8664 3865 8665 \n3 8666 8665 3866 \n3 3867 8667 8669 \n3 8667 3868 8668 \n3 8669 8668 3869 \n3 3870 8670 8672 \n3 8670 3871 8671 \n3 8672 8671 3872 \n3 3873 8673 8675 \n3 8673 3874 8674 \n3 8675 8674 3875 \n3 3876 8676 8678 \n3 8676 3877 8677 \n3 8678 8677 3878 \n3 3879 8679 8681 \n3 8679 3880 8680 \n3 8681 8680 3881 \n3 3882 8682 8684 \n3 8682 3883 8683 \n3 8684 8683 3884 \n3 3885 8685 8687 \n3 8685 3886 8686 \n3 8687 8686 3887 \n3 3888 8688 8690 \n3 8688 3889 8689 \n3 8690 8689 3890 \n3 3891 8691 8693 \n3 8691 3892 8692 \n3 8693 8692 3893 \n3 3894 8694 8696 \n3 8694 3895 8695 \n3 8696 8695 3896 \n3 3897 8697 8699 \n3 8697 3898 8698 \n3 8699 8698 3899 \n3 3900 8700 8702 \n3 8700 3901 8701 \n3 8702 8701 3902 \n3 3903 8703 8705 \n3 8703 3904 8704 \n3 8705 8704 3905 \n3 3906 8706 8708 \n3 8706 3907 8707 \n3 8708 8707 3908 \n3 3909 8709 8711 \n3 8709 3910 8710 \n3 8711 8710 3911 \n3 3912 8712 8714 \n3 8712 3913 8713 \n3 8714 8713 3914 \n3 3915 8715 8717 \n3 8715 3916 8716 \n3 8717 8716 3917 \n3 3918 8718 8720 \n3 8718 3919 8719 \n3 8720 8719 3920 \n3 3921 8721 8723 \n3 8721 3922 8722 \n3 8723 8722 3923 \n3 3924 8724 8726 \n3 8724 3925 8725 \n3 8726 8725 3926 \n3 3927 8727 8729 \n3 8727 3928 8728 \n3 8729 8728 3929 \n3 3930 8730 8732 \n3 8730 3931 8731 \n3 8732 8731 3932 \n3 3933 8733 8735 \n3 8733 3934 8734 \n3 8735 8734 3935 \n3 3936 8736 8738 \n3 8736 3937 8737 \n3 8738 8737 3938 \n3 3939 8739 8741 \n3 8739 3940 8740 \n3 8741 8740 3941 \n3 3942 8742 8744 \n3 8742 3943 8743 \n3 8744 8743 3944 \n3 3945 8745 8747 \n3 8745 3946 8746 \n3 8747 8746 3947 \n3 3948 8748 8750 \n3 8748 3949 8749 \n3 8750 8749 3950 \n3 3951 8751 8753 \n3 8751 3952 8752 \n3 8753 8752 3953 \n3 3954 8754 8756 \n3 8754 3955 8755 \n3 8756 8755 3956 \n3 3957 8757 8759 \n3 8757 3958 8758 \n3 8759 8758 3959 \n3 3960 8760 8762 \n3 8760 3961 8761 \n3 8762 8761 3962 \n3 3963 8763 8765 \n3 8763 3964 8764 \n3 8765 8764 3965 \n3 3966 8766 8768 \n3 8766 3967 8767 \n3 8768 8767 3968 \n3 3969 8769 8771 \n3 8769 3970 8770 \n3 8771 8770 3971 \n3 3972 8772 8774 \n3 8772 3973 8773 \n3 8774 8773 3974 \n3 3975 8775 8777 \n3 8775 3976 8776 \n3 8777 8776 3977 \n3 3978 8778 8780 \n3 8778 3979 8779 \n3 8780 8779 3980 \n3 3981 8781 8783 \n3 8781 3982 8782 \n3 8783 8782 3983 \n3 3984 8784 8786 \n3 8784 3985 8785 \n3 8786 8785 3986 \n3 3987 8787 8789 \n3 8787 3988 8788 \n3 8789 8788 3989 \n3 3990 8790 8792 \n3 8790 3991 8791 \n3 8792 8791 3992 \n3 3993 8793 8795 \n3 8793 3994 8794 \n3 8795 8794 3995 \n3 3996 8796 8798 \n3 8796 3997 8797 \n3 8798 8797 3998 \n3 3999 8799 8801 \n3 8799 4000 8800 \n3 8801 8800 4001 \n3 4002 8802 8804 \n3 8802 4003 8803 \n3 8804 8803 4004 \n3 4005 8805 8807 \n3 8805 4006 8806 \n3 8807 8806 4007 \n3 4008 8808 8810 \n3 8808 4009 8809 \n3 8810 8809 4010 \n3 4011 8811 8813 \n3 8811 4012 8812 \n3 8813 8812 4013 \n3 4014 8814 8816 \n3 8814 4015 8815 \n3 8816 8815 4016 \n3 4017 8817 8819 \n3 8817 4018 8818 \n3 8819 8818 4019 \n3 4020 8820 8822 \n3 8820 4021 8821 \n3 8822 8821 4022 \n3 4023 8823 8825 \n3 8823 4024 8824 \n3 8825 8824 4025 \n3 4026 8826 8828 \n3 8826 4027 8827 \n3 8828 8827 4028 \n3 4029 8829 8831 \n3 8829 4030 8830 \n3 8831 8830 4031 \n3 4032 8832 8834 \n3 8832 4033 8833 \n3 8834 8833 4034 \n3 4035 8835 8837 \n3 8835 4036 8836 \n3 8837 8836 4037 \n3 4038 8838 8840 \n3 8838 1736 8839 \n3 8840 8839 4039 \n3 4040 8841 8843 \n3 8841 4041 8842 \n3 8843 8842 1734 \n3 1735 8844 8846 \n3 8844 4042 8845 \n3 8846 8845 4043 \n3 4044 8847 8849 \n3 8847 1739 8848 \n3 8849 8848 4045 \n3 4046 8850 8852 \n3 8850 4047 8851 \n3 8852 8851 1737 \n3 1738 8853 8855 \n3 8853 4048 8854 \n3 8855 8854 4049 \n3 4050 8856 8858 \n3 8856 1742 8857 \n3 8858 8857 4051 \n3 4052 8859 8861 \n3 8859 4053 8860 \n3 8861 8860 1740 \n3 1741 8862 8864 \n3 8862 4054 8863 \n3 8864 8863 4055 \n3 4056 8865 8867 \n3 8865 1745 8866 \n3 8867 8866 4057 \n3 4058 8868 8870 \n3 8868 4059 8869 \n3 8870 8869 1743 \n3 1744 8871 8873 \n3 8871 4060 8872 \n3 8873 8872 4061 \n3 4062 8874 8876 \n3 8874 1748 8875 \n3 8876 8875 4063 \n3 4064 8877 8879 \n3 8877 4065 8878 \n3 8879 8878 1746 \n3 1747 8880 8882 \n3 8880 4066 8881 \n3 8882 8881 4067 \n3 4068 8883 8885 \n3 8883 1751 8884 \n3 8885 8884 4069 \n3 4070 8886 8888 \n3 8886 4071 8887 \n3 8888 8887 1749 \n3 1750 8889 8891 \n3 8889 4072 8890 \n3 8891 8890 4073 \n3 4074 8892 8894 \n3 8892 1754 8893 \n3 8894 8893 4075 \n3 4076 8895 8897 \n3 8895 4077 8896 \n3 8897 8896 1752 \n3 1753 8898 8900 \n3 8898 4078 8899 \n3 8900 8899 4079 \n3 4080 8901 8903 \n3 8901 1757 8902 \n3 8903 8902 4081 \n3 4082 8904 8906 \n3 8904 4083 8905 \n3 8906 8905 1755 \n3 1756 8907 8909 \n3 8907 4084 8908 \n3 8909 8908 4085 \n3 4086 8910 8912 \n3 8910 1760 8911 \n3 8912 8911 4087 \n3 4088 8913 8915 \n3 8913 4089 8914 \n3 8915 8914 1758 \n3 1759 8916 8918 \n3 8916 4090 8917 \n3 8918 8917 4091 \n3 4092 8919 8921 \n3 8919 1763 8920 \n3 8921 8920 4093 \n3 4094 8922 8924 \n3 8922 4095 8923 \n3 8924 8923 1761 \n3 1762 8925 8927 \n3 8925 4096 8926 \n3 8927 8926 4097 \n3 4098 8928 8930 \n3 8928 1766 8929 \n3 8930 8929 4099 \n3 4100 8931 8933 \n3 8931 4101 8932 \n3 8933 8932 1764 \n3 1765 8934 8936 \n3 8934 4102 8935 \n3 8936 8935 4103 \n3 4104 8937 8939 \n3 8937 1769 8938 \n3 8939 8938 4105 \n3 4106 8940 8942 \n3 8940 4107 8941 \n3 8942 8941 1767 \n3 1768 8943 8945 \n3 8943 4108 8944 \n3 8945 8944 4109 \n3 4110 8946 8948 \n3 8946 1772 8947 \n3 8948 8947 4111 \n3 4112 8949 8951 \n3 8949 4113 8950 \n3 8951 8950 1770 \n3 1771 8952 8954 \n3 8952 4114 8953 \n3 8954 8953 4115 \n3 4116 8955 8957 \n3 8955 1775 8956 \n3 8957 8956 4117 \n3 4118 8958 8960 \n3 8958 4119 8959 \n3 8960 8959 1773 \n3 1774 8961 8963 \n3 8961 4120 8962 \n3 8963 8962 4121 \n3 4122 8964 8966 \n3 8964 1778 8965 \n3 8966 8965 4123 \n3 4124 8967 8969 \n3 8967 4125 8968 \n3 8969 8968 1776 \n3 1777 8970 8972 \n3 8970 4126 8971 \n3 8972 8971 4127 \n3 4128 8973 8975 \n3 8973 1781 8974 \n3 8975 8974 4129 \n3 4130 8976 8978 \n3 8976 4131 8977 \n3 8978 8977 1779 \n3 1780 8979 8981 \n3 8979 4132 8980 \n3 8981 8980 4133 \n3 4134 8982 8984 \n3 8982 1784 8983 \n3 8984 8983 4135 \n3 4136 8985 8987 \n3 8985 4137 8986 \n3 8987 8986 1782 \n3 1783 8988 8990 \n3 8988 4138 8989 \n3 8990 8989 4139 \n3 4140 8991 8993 \n3 8991 1787 8992 \n3 8993 8992 4141 \n3 4142 8994 8996 \n3 8994 4143 8995 \n3 8996 8995 1785 \n3 1786 8997 8999 \n3 8997 4144 8998 \n3 8999 8998 4145 \n3 4146 9000 9002 \n3 9000 1790 9001 \n3 9002 9001 4147 \n3 4148 9003 9005 \n3 9003 4149 9004 \n3 9005 9004 1788 \n3 1789 9006 9008 \n3 9006 4150 9007 \n3 9008 9007 4151 \n3 4152 9009 9011 \n3 9009 1793 9010 \n3 9011 9010 4153 \n3 4154 9012 9014 \n3 9012 4155 9013 \n3 9014 9013 1791 \n3 1792 9015 9017 \n3 9015 4156 9016 \n3 9017 9016 4157 \n3 4158 9018 9020 \n3 9018 1796 9019 \n3 9020 9019 4159 \n3 4160 9021 9023 \n3 9021 4161 9022 \n3 9023 9022 1794 \n3 1795 9024 9026 \n3 9024 4162 9025 \n3 9026 9025 4163 \n3 4164 9027 9029 \n3 9027 1799 9028 \n3 9029 9028 4165 \n3 4166 9030 9032 \n3 9030 4167 9031 \n3 9032 9031 1797 \n3 1798 9033 9035 \n3 9033 4168 9034 \n3 9035 9034 4169 \n3 4170 9036 9038 \n3 9036 1802 9037 \n3 9038 9037 4171 \n3 4172 9039 9041 \n3 9039 4173 9040 \n3 9041 9040 1800 \n3 1801 9042 9044 \n3 9042 4174 9043 \n3 9044 9043 4175 \n3 4176 9045 9047 \n3 9045 1805 9046 \n3 9047 9046 4177 \n3 4178 9048 9050 \n3 9048 4179 9049 \n3 9050 9049 1803 \n3 1804 9051 9053 \n3 9051 4180 9052 \n3 9053 9052 4181 \n3 4182 9054 9056 \n3 9054 1808 9055 \n3 9056 9055 4183 \n3 4184 9057 9059 \n3 9057 4185 9058 \n3 9059 9058 1806 \n3 1807 9060 9062 \n3 9060 4186 9061 \n3 9062 9061 4187 \n3 4188 9063 9065 \n3 9063 1811 9064 \n3 9065 9064 4189 \n3 4190 9066 9068 \n3 9066 4191 9067 \n3 9068 9067 1809 \n3 1810 9069 9071 \n3 9069 4192 9070 \n3 9071 9070 4193 \n3 4194 9072 9074 \n3 9072 1814 9073 \n3 9074 9073 4195 \n3 4196 9075 9077 \n3 9075 4197 9076 \n3 9077 9076 1812 \n3 1813 9078 9080 \n3 9078 4198 9079 \n3 9080 9079 4199 \n3 4200 9081 9083 \n3 9081 1817 9082 \n3 9083 9082 4201 \n3 4202 9084 9086 \n3 9084 4203 9085 \n3 9086 9085 1815 \n3 1816 9087 9089 \n3 9087 4204 9088 \n3 9089 9088 4205 \n3 4206 9090 9092 \n3 9090 1820 9091 \n3 9092 9091 4207 \n3 4208 9093 9095 \n3 9093 4209 9094 \n3 9095 9094 1818 \n3 1819 9096 9098 \n3 9096 4210 9097 \n3 9098 9097 4211 \n3 4212 9099 9101 \n3 9099 1823 9100 \n3 9101 9100 4213 \n3 4214 9102 9104 \n3 9102 4215 9103 \n3 9104 9103 1821 \n3 1822 9105 9107 \n3 9105 4216 9106 \n3 9107 9106 4217 \n3 4218 9108 9110 \n3 9108 1826 9109 \n3 9110 9109 4219 \n3 4220 9111 9113 \n3 9111 4221 9112 \n3 9113 9112 1824 \n3 1825 9114 9116 \n3 9114 4222 9115 \n3 9116 9115 4223 \n3 4224 9117 9119 \n3 9117 1829 9118 \n3 9119 9118 4225 \n3 4226 9120 9122 \n3 9120 4227 9121 \n3 9122 9121 1827 \n3 1828 9123 9125 \n3 9123 4228 9124 \n3 9125 9124 4229 \n3 4230 9126 9128 \n3 9126 1832 9127 \n3 9128 9127 4231 \n3 4232 9129 9131 \n3 9129 4233 9130 \n3 9131 9130 1830 \n3 1831 9132 9134 \n3 9132 4234 9133 \n3 9134 9133 4235 \n3 4236 9135 9137 \n3 9135 1835 9136 \n3 9137 9136 4237 \n3 4238 9138 9140 \n3 9138 4239 9139 \n3 9140 9139 1833 \n3 1834 9141 9143 \n3 9141 4240 9142 \n3 9143 9142 4241 \n3 4242 9144 9146 \n3 9144 1838 9145 \n3 9146 9145 4243 \n3 4244 9147 9149 \n3 9147 4245 9148 \n3 9149 9148 1836 \n3 1837 9150 9152 \n3 9150 4246 9151 \n3 9152 9151 4247 \n3 4248 9153 9155 \n3 9153 1841 9154 \n3 9155 9154 4249 \n3 4250 9156 9158 \n3 9156 4251 9157 \n3 9158 9157 1839 \n3 1840 9159 9161 \n3 9159 4252 9160 \n3 9161 9160 4253 \n3 4254 9162 9164 \n3 9162 1844 9163 \n3 9164 9163 4255 \n3 4256 9165 9167 \n3 9165 4257 9166 \n3 9167 9166 1842 \n3 1843 9168 9170 \n3 9168 4258 9169 \n3 9170 9169 4259 \n3 4260 9171 9173 \n3 9171 1847 9172 \n3 9173 9172 4261 \n3 4262 9174 9176 \n3 9174 4263 9175 \n3 9176 9175 1845 \n3 1846 9177 9179 \n3 9177 4264 9178 \n3 9179 9178 4265 \n3 4266 9180 9182 \n3 9180 1850 9181 \n3 9182 9181 4267 \n3 4268 9183 9185 \n3 9183 4269 9184 \n3 9185 9184 1848 \n3 1849 9186 9188 \n3 9186 4270 9187 \n3 9188 9187 4271 \n3 4272 9189 9191 \n3 9189 1853 9190 \n3 9191 9190 4273 \n3 4274 9192 9194 \n3 9192 4275 9193 \n3 9194 9193 1851 \n3 1852 9195 9197 \n3 9195 4276 9196 \n3 9197 9196 4277 \n3 4278 9198 9200 \n3 9198 1856 9199 \n3 9200 9199 4279 \n3 4280 9201 9203 \n3 9201 4281 9202 \n3 9203 9202 1854 \n3 1855 9204 9206 \n3 9204 4282 9205 \n3 9206 9205 4283 \n3 4284 9207 9209 \n3 9207 1859 9208 \n3 9209 9208 4285 \n3 4286 9210 9212 \n3 9210 4287 9211 \n3 9212 9211 1857 \n3 1858 9213 9215 \n3 9213 4288 9214 \n3 9215 9214 4289 \n3 4290 9216 9218 \n3 9216 1862 9217 \n3 9218 9217 4291 \n3 4292 9219 9221 \n3 9219 4293 9220 \n3 9221 9220 1860 \n3 1861 9222 9224 \n3 9222 4294 9223 \n3 9224 9223 4295 \n3 4296 9225 9227 \n3 9225 1865 9226 \n3 9227 9226 4297 \n3 4298 9228 9230 \n3 9228 4299 9229 \n3 9230 9229 1863 \n3 1864 9231 9233 \n3 9231 4300 9232 \n3 9233 9232 4301 \n3 4302 9234 9236 \n3 9234 1868 9235 \n3 9236 9235 4303 \n3 4304 9237 9239 \n3 9237 4305 9238 \n3 9239 9238 1866 \n3 1867 9240 9242 \n3 9240 4306 9241 \n3 9242 9241 4307 \n3 4308 9243 9245 \n3 9243 1871 9244 \n3 9245 9244 4309 \n3 4310 9246 9248 \n3 9246 4311 9247 \n3 9248 9247 1869 \n3 1870 9249 9251 \n3 9249 4312 9250 \n3 9251 9250 4313 \n3 4314 9252 9254 \n3 9252 1874 9253 \n3 9254 9253 4315 \n3 4316 9255 9257 \n3 9255 4317 9256 \n3 9257 9256 1872 \n3 1873 9258 9260 \n3 9258 4318 9259 \n3 9260 9259 4319 \n3 4320 9261 9263 \n3 9261 1877 9262 \n3 9263 9262 4321 \n3 4322 9264 9266 \n3 9264 4323 9265 \n3 9266 9265 1875 \n3 1876 9267 9269 \n3 9267 4324 9268 \n3 9269 9268 4325 \n3 4326 9270 9272 \n3 9270 1880 9271 \n3 9272 9271 4327 \n3 4328 9273 9275 \n3 9273 4329 9274 \n3 9275 9274 1878 \n3 1879 9276 9278 \n3 9276 4330 9277 \n3 9278 9277 4331 \n3 4332 9279 9281 \n3 9279 1883 9280 \n3 9281 9280 4333 \n3 4334 9282 9284 \n3 9282 4335 9283 \n3 9284 9283 1881 \n3 1882 9285 9287 \n3 9285 4336 9286 \n3 9287 9286 4337 \n3 4338 9288 9290 \n3 9288 1886 9289 \n3 9290 9289 4339 \n3 4340 9291 9293 \n3 9291 4341 9292 \n3 9293 9292 1884 \n3 1885 9294 9296 \n3 9294 4342 9295 \n3 9296 9295 4343 \n3 4344 9297 9299 \n3 9297 1889 9298 \n3 9299 9298 4345 \n3 4346 9300 9302 \n3 9300 4347 9301 \n3 9302 9301 1887 \n3 1888 9303 9305 \n3 9303 4348 9304 \n3 9305 9304 4349 \n3 4350 9306 9308 \n3 9306 1892 9307 \n3 9308 9307 4351 \n3 4352 9309 9311 \n3 9309 4353 9310 \n3 9311 9310 1890 \n3 1891 9312 9314 \n3 9312 4354 9313 \n3 9314 9313 4355 \n3 4356 9315 9317 \n3 9315 1895 9316 \n3 9317 9316 4357 \n3 4358 9318 9320 \n3 9318 4359 9319 \n3 9320 9319 1893 \n3 1894 9321 9323 \n3 9321 4360 9322 \n3 9323 9322 4361 \n3 4362 9324 9326 \n3 9324 1898 9325 \n3 9326 9325 4363 \n3 4364 9327 9329 \n3 9327 4365 9328 \n3 9329 9328 1896 \n3 1897 9330 9332 \n3 9330 4366 9331 \n3 9332 9331 4367 \n3 4368 9333 9335 \n3 9333 1901 9334 \n3 9335 9334 4369 \n3 4370 9336 9338 \n3 9336 4371 9337 \n3 9338 9337 1899 \n3 1900 9339 9341 \n3 9339 4372 9340 \n3 9341 9340 4373 \n3 4374 9342 9344 \n3 9342 1904 9343 \n3 9344 9343 4375 \n3 4376 9345 9347 \n3 9345 4377 9346 \n3 9347 9346 1902 \n3 1903 9348 9350 \n3 9348 4378 9349 \n3 9350 9349 4379 \n3 4380 9351 9353 \n3 9351 1907 9352 \n3 9353 9352 4381 \n3 4382 9354 9356 \n3 9354 4383 9355 \n3 9356 9355 1905 \n3 1906 9357 9359 \n3 9357 4384 9358 \n3 9359 9358 4385 \n3 4386 9360 9362 \n3 9360 1910 9361 \n3 9362 9361 4387 \n3 4388 9363 9365 \n3 9363 4389 9364 \n3 9365 9364 1908 \n3 1909 9366 9368 \n3 9366 4390 9367 \n3 9368 9367 4391 \n3 4392 9369 9371 \n3 9369 1913 9370 \n3 9371 9370 4393 \n3 4394 9372 9374 \n3 9372 4395 9373 \n3 9374 9373 1911 \n3 1912 9375 9377 \n3 9375 4396 9376 \n3 9377 9376 4397 \n3 4398 9378 9380 \n3 9378 1916 9379 \n3 9380 9379 4399 \n3 4400 9381 9383 \n3 9381 4401 9382 \n3 9383 9382 1914 \n3 1915 9384 9386 \n3 9384 4402 9385 \n3 9386 9385 4403 \n3 4404 9387 9389 \n3 9387 1919 9388 \n3 9389 9388 4405 \n3 4406 9390 9392 \n3 9390 4407 9391 \n3 9392 9391 1917 \n3 1918 9393 9395 \n3 9393 4408 9394 \n3 9395 9394 4409 \n3 4410 9396 9398 \n3 9396 1922 9397 \n3 9398 9397 4411 \n3 4412 9399 9401 \n3 9399 4413 9400 \n3 9401 9400 1920 \n3 1921 9402 9404 \n3 9402 4414 9403 \n3 9404 9403 4415 \n3 4416 9405 9407 \n3 9405 1925 9406 \n3 9407 9406 4417 \n3 4418 9408 9410 \n3 9408 4419 9409 \n3 9410 9409 1923 \n3 1924 9411 9413 \n3 9411 4420 9412 \n3 9413 9412 4421 \n3 4422 9414 9416 \n3 9414 1928 9415 \n3 9416 9415 4423 \n3 4424 9417 9419 \n3 9417 4425 9418 \n3 9419 9418 1926 \n3 1927 9420 9422 \n3 9420 4426 9421 \n3 9422 9421 4427 \n3 4428 9423 9425 \n3 9423 1931 9424 \n3 9425 9424 4429 \n3 4430 9426 9428 \n3 9426 4431 9427 \n3 9428 9427 1929 \n3 1930 9429 9431 \n3 9429 4432 9430 \n3 9431 9430 4433 \n3 4434 9432 9434 \n3 9432 1934 9433 \n3 9434 9433 4435 \n3 4436 9435 9437 \n3 9435 4437 9436 \n3 9437 9436 1932 \n3 1933 9438 9440 \n3 9438 4438 9439 \n3 9440 9439 4439 \n3 4440 9441 9443 \n3 9441 1937 9442 \n3 9443 9442 4441 \n3 4442 9444 9446 \n3 9444 4443 9445 \n3 9446 9445 1935 \n3 1936 9447 9449 \n3 9447 4444 9448 \n3 9449 9448 4445 \n3 4446 9450 9452 \n3 9450 1940 9451 \n3 9452 9451 4447 \n3 4448 9453 9455 \n3 9453 4449 9454 \n3 9455 9454 1938 \n3 1939 9456 9458 \n3 9456 4450 9457 \n3 9458 9457 4451 \n3 4452 9459 9461 \n3 9459 1943 9460 \n3 9461 9460 4453 \n3 4454 9462 9464 \n3 9462 4455 9463 \n3 9464 9463 1941 \n3 1942 9465 9467 \n3 9465 4456 9466 \n3 9467 9466 4457 \n3 4458 9468 9470 \n3 9468 1946 9469 \n3 9470 9469 4459 \n3 4460 9471 9473 \n3 9471 4461 9472 \n3 9473 9472 1944 \n3 1945 9474 9476 \n3 9474 4462 9475 \n3 9476 9475 4463 \n3 4464 9477 9479 \n3 9477 1949 9478 \n3 9479 9478 4465 \n3 4466 9480 9482 \n3 9480 4467 9481 \n3 9482 9481 1947 \n3 1948 9483 9485 \n3 9483 4468 9484 \n3 9485 9484 4469 \n3 4470 9486 9488 \n3 9486 1952 9487 \n3 9488 9487 4471 \n3 4472 9489 9491 \n3 9489 4473 9490 \n3 9491 9490 1950 \n3 1951 9492 9494 \n3 9492 4474 9493 \n3 9494 9493 4475 \n3 4476 9495 9497 \n3 9495 1955 9496 \n3 9497 9496 4477 \n3 4478 9498 9500 \n3 9498 4479 9499 \n3 9500 9499 1953 \n3 1954 9501 9503 \n3 9501 4480 9502 \n3 9503 9502 4481 \n3 4482 9504 9506 \n3 9504 1958 9505 \n3 9506 9505 4483 \n3 4484 9507 9509 \n3 9507 4485 9508 \n3 9509 9508 1956 \n3 1957 9510 9512 \n3 9510 4486 9511 \n3 9512 9511 4487 \n3 4488 9513 9515 \n3 9513 1961 9514 \n3 9515 9514 4489 \n3 4490 9516 9518 \n3 9516 4491 9517 \n3 9518 9517 1959 \n3 1960 9519 9521 \n3 9519 4492 9520 \n3 9521 9520 4493 \n3 4494 9522 9524 \n3 9522 1964 9523 \n3 9524 9523 4495 \n3 4496 9525 9527 \n3 9525 4497 9526 \n3 9527 9526 1962 \n3 1963 9528 9530 \n3 9528 4498 9529 \n3 9530 9529 4499 \n3 4500 9531 9533 \n3 9531 1967 9532 \n3 9533 9532 4501 \n3 4502 9534 9536 \n3 9534 4503 9535 \n3 9536 9535 1965 \n3 1966 9537 9539 \n3 9537 4504 9538 \n3 9539 9538 4505 \n3 4506 9540 9542 \n3 9540 1970 9541 \n3 9542 9541 4507 \n3 4508 9543 9545 \n3 9543 4509 9544 \n3 9545 9544 1968 \n3 1969 9546 9548 \n3 9546 4510 9547 \n3 9548 9547 4511 \n3 4512 9549 9551 \n3 9549 1973 9550 \n3 9551 9550 4513 \n3 4514 9552 9554 \n3 9552 4515 9553 \n3 9554 9553 1971 \n3 1972 9555 9557 \n3 9555 4516 9556 \n3 9557 9556 4517 \n3 4518 9558 9560 \n3 9558 1976 9559 \n3 9560 9559 4519 \n3 4520 9561 9563 \n3 9561 4521 9562 \n3 9563 9562 1974 \n3 1975 9564 9566 \n3 9564 4522 9565 \n3 9566 9565 4523 \n3 4524 9567 9569 \n3 9567 1979 9568 \n3 9569 9568 4525 \n3 4526 9570 9572 \n3 9570 4527 9571 \n3 9572 9571 1977 \n3 1978 9573 9575 \n3 9573 4528 9574 \n3 9575 9574 4529 \n3 4530 9576 9578 \n3 9576 1982 9577 \n3 9578 9577 4531 \n3 4532 9579 9581 \n3 9579 4533 9580 \n3 9581 9580 1980 \n3 1981 9582 9584 \n3 9582 4534 9583 \n3 9584 9583 4535 \n3 4536 9585 9587 \n3 9585 1985 9586 \n3 9587 9586 4537 \n3 4538 9588 9590 \n3 9588 4539 9589 \n3 9590 9589 1983 \n3 1984 9591 9593 \n3 9591 4540 9592 \n3 9593 9592 4541 \n3 4542 9594 9596 \n3 9594 1988 9595 \n3 9596 9595 4543 \n3 4544 9597 9599 \n3 9597 4545 9598 \n3 9599 9598 1986 \n3 1987 9600 9602 \n3 9600 4546 9601 \n3 9602 9601 4547 \n3 4548 9603 9605 \n3 9603 1991 9604 \n3 9605 9604 4549 \n3 4550 9606 9608 \n3 9606 4551 9607 \n3 9608 9607 1989 \n3 1990 9609 9611 \n3 9609 4552 9610 \n3 9611 9610 4553 \n3 4554 9612 9614 \n3 9612 1994 9613 \n3 9614 9613 4555 \n3 4556 9615 9617 \n3 9615 4557 9616 \n3 9617 9616 1992 \n3 1993 9618 9620 \n3 9618 4558 9619 \n3 9620 9619 4559 \n3 4560 9621 9623 \n3 9621 1997 9622 \n3 9623 9622 4561 \n3 4562 9624 9626 \n3 9624 4563 9625 \n3 9626 9625 1995 \n3 1996 9627 9629 \n3 9627 4564 9628 \n3 9629 9628 4565 \n3 4566 9630 9632 \n3 9630 2000 9631 \n3 9632 9631 4567 \n3 4568 9633 9635 \n3 9633 4569 9634 \n3 9635 9634 1998 \n3 1999 9636 9638 \n3 9636 4570 9637 \n3 9638 9637 4571 \n3 4572 9639 9641 \n3 9639 2003 9640 \n3 9641 9640 4573 \n3 4574 9642 9644 \n3 9642 4575 9643 \n3 9644 9643 2001 \n3 2002 9645 9647 \n3 9645 4576 9646 \n3 9647 9646 4577 \n3 4578 9648 9650 \n3 9648 2006 9649 \n3 9650 9649 4579 \n3 4580 9651 9653 \n3 9651 4581 9652 \n3 9653 9652 2004 \n3 2005 9654 9656 \n3 9654 4582 9655 \n3 9656 9655 4583 \n3 4584 9657 9659 \n3 9657 2009 9658 \n3 9659 9658 4585 \n3 4586 9660 9662 \n3 9660 4587 9661 \n3 9662 9661 2007 \n3 2008 9663 9665 \n3 9663 4588 9664 \n3 9665 9664 4589 \n3 4590 9666 9668 \n3 9666 2012 9667 \n3 9668 9667 4591 \n3 4592 9669 9671 \n3 9669 4593 9670 \n3 9671 9670 2010 \n3 2011 9672 9674 \n3 9672 4594 9673 \n3 9674 9673 4595 \n3 4596 9675 9677 \n3 9675 2015 9676 \n3 9677 9676 4597 \n3 4598 9678 9680 \n3 9678 4599 9679 \n3 9680 9679 2013 \n3 2014 9681 9683 \n3 9681 4600 9682 \n3 9683 9682 4601 \n3 4602 9684 9686 \n3 9684 2018 9685 \n3 9686 9685 4603 \n3 4604 9687 9689 \n3 9687 4605 9688 \n3 9689 9688 2016 \n3 2017 9690 9692 \n3 9690 4606 9691 \n3 9692 9691 4607 \n3 4608 9693 9695 \n3 9693 2021 9694 \n3 9695 9694 4609 \n3 4610 9696 9698 \n3 9696 4611 9697 \n3 9698 9697 2019 \n3 2020 9699 9701 \n3 9699 4612 9700 \n3 9701 9700 4613 \n3 4614 9702 9704 \n3 9702 2024 9703 \n3 9704 9703 4615 \n3 4616 9705 9707 \n3 9705 4617 9706 \n3 9707 9706 2022 \n3 2023 9708 9710 \n3 9708 4618 9709 \n3 9710 9709 4619 \n3 4620 9711 9713 \n3 9711 2027 9712 \n3 9713 9712 4621 \n3 4622 9714 9716 \n3 9714 4623 9715 \n3 9716 9715 2025 \n3 2026 9717 9719 \n3 9717 4624 9718 \n3 9719 9718 4625 \n3 4626 9720 9722 \n3 9720 2030 9721 \n3 9722 9721 4627 \n3 4628 9723 9725 \n3 9723 4629 9724 \n3 9725 9724 2028 \n3 2029 9726 9728 \n3 9726 4630 9727 \n3 9728 9727 4631 \n3 4632 9729 9731 \n3 9729 2033 9730 \n3 9731 9730 4633 \n3 4634 9732 9734 \n3 9732 4635 9733 \n3 9734 9733 2031 \n3 2032 9735 9737 \n3 9735 4636 9736 \n3 9737 9736 4637 \n3 4638 9738 9740 \n3 9738 2036 9739 \n3 9740 9739 4639 \n3 4640 9741 9743 \n3 9741 4641 9742 \n3 9743 9742 2034 \n3 2035 9744 9746 \n3 9744 4642 9745 \n3 9746 9745 4643 \n3 4644 9747 9749 \n3 9747 2039 9748 \n3 9749 9748 4645 \n3 4646 9750 9752 \n3 9750 4647 9751 \n3 9752 9751 2037 \n3 2038 9753 9755 \n3 9753 4648 9754 \n3 9755 9754 4649 \n3 4650 9756 9758 \n3 9756 2042 9757 \n3 9758 9757 4651 \n3 4652 9759 9761 \n3 9759 4653 9760 \n3 9761 9760 2040 \n3 2041 9762 9764 \n3 9762 4654 9763 \n3 9764 9763 4655 \n3 4656 9765 9767 \n3 9765 2045 9766 \n3 9767 9766 4657 \n3 4658 9768 9770 \n3 9768 4659 9769 \n3 9770 9769 2043 \n3 2044 9771 9773 \n3 9771 4660 9772 \n3 9773 9772 4661 \n3 4662 9774 9776 \n3 9774 2048 9775 \n3 9776 9775 4663 \n3 4664 9777 9779 \n3 9777 4665 9778 \n3 9779 9778 2046 \n3 2047 9780 9782 \n3 9780 4666 9781 \n3 9782 9781 4667 \n3 4668 9783 9785 \n3 9783 2051 9784 \n3 9785 9784 4669 \n3 4670 9786 9788 \n3 9786 4671 9787 \n3 9788 9787 2049 \n3 2050 9789 9791 \n3 9789 4672 9790 \n3 9791 9790 4673 \n3 4674 9792 9794 \n3 9792 2054 9793 \n3 9794 9793 4675 \n3 4676 9795 9797 \n3 9795 4677 9796 \n3 9797 9796 2052 \n3 2053 9798 9800 \n3 9798 4678 9799 \n3 9800 9799 4679 \n3 4680 9801 9803 \n3 9801 2057 9802 \n3 9803 9802 4681 \n3 4682 9804 9806 \n3 9804 4683 9805 \n3 9806 9805 2055 \n3 2056 9807 9809 \n3 9807 4684 9808 \n3 9809 9808 4685 \n3 4686 9810 9812 \n3 9810 2060 9811 \n3 9812 9811 4687 \n3 4688 9813 9815 \n3 9813 4689 9814 \n3 9815 9814 2058 \n3 2059 9816 9818 \n3 9816 4690 9817 \n3 9818 9817 4691 \n3 4692 9819 9821 \n3 9819 2063 9820 \n3 9821 9820 4693 \n3 4694 9822 9824 \n3 9822 4695 9823 \n3 9824 9823 2061 \n3 2062 9825 9827 \n3 9825 4696 9826 \n3 9827 9826 4697 \n3 4698 9828 9830 \n3 9828 2066 9829 \n3 9830 9829 4699 \n3 4700 9831 9833 \n3 9831 4701 9832 \n3 9833 9832 2064 \n3 2065 9834 9836 \n3 9834 4702 9835 \n3 9836 9835 4703 \n3 4704 9837 9839 \n3 9837 2069 9838 \n3 9839 9838 4705 \n3 4706 9840 9842 \n3 9840 4707 9841 \n3 9842 9841 2067 \n3 2068 9843 9845 \n3 9843 4708 9844 \n3 9845 9844 4709 \n3 4710 9846 9848 \n3 9846 2072 9847 \n3 9848 9847 4711 \n3 4712 9849 9851 \n3 9849 4713 9850 \n3 9851 9850 2070 \n3 2071 9852 9854 \n3 9852 4714 9853 \n3 9854 9853 4715 \n3 4716 9855 9857 \n3 9855 2075 9856 \n3 9857 9856 4717 \n3 4718 9858 9860 \n3 9858 4719 9859 \n3 9860 9859 2073 \n3 2074 9861 9863 \n3 9861 4720 9862 \n3 9863 9862 4721 \n3 4722 9864 9866 \n3 9864 2078 9865 \n3 9866 9865 4723 \n3 4724 9867 9869 \n3 9867 4725 9868 \n3 9869 9868 2076 \n3 2077 9870 9872 \n3 9870 4726 9871 \n3 9872 9871 4727 \n3 4728 9873 9875 \n3 9873 2081 9874 \n3 9875 9874 4729 \n3 4730 9876 9878 \n3 9876 4731 9877 \n3 9878 9877 2079 \n3 2080 9879 9881 \n3 9879 4732 9880 \n3 9881 9880 4733 \n3 4734 9882 9884 \n3 9882 2084 9883 \n3 9884 9883 4735 \n3 4736 9885 9887 \n3 9885 4737 9886 \n3 9887 9886 2082 \n3 2083 9888 9890 \n3 9888 4738 9889 \n3 9890 9889 4739 \n3 4740 9891 9893 \n3 9891 2087 9892 \n3 9893 9892 4741 \n3 4742 9894 9896 \n3 9894 4743 9895 \n3 9896 9895 2085 \n3 2086 9897 9899 \n3 9897 4744 9898 \n3 9899 9898 4745 \n3 4746 9900 9902 \n3 9900 2090 9901 \n3 9902 9901 4747 \n3 4748 9903 9905 \n3 9903 4749 9904 \n3 9905 9904 2088 \n3 2089 9906 9908 \n3 9906 4750 9907 \n3 9908 9907 4751 \n3 4752 9909 9911 \n3 9909 2093 9910 \n3 9911 9910 4753 \n3 4754 9912 9914 \n3 9912 4755 9913 \n3 9914 9913 2091 \n3 2092 9915 9917 \n3 9915 4756 9916 \n3 9917 9916 4757 \n3 4758 9918 9920 \n3 9918 2096 9919 \n3 9920 9919 4759 \n3 4760 9921 9923 \n3 9921 4761 9922 \n3 9923 9922 2094 \n3 2095 9924 9926 \n3 9924 4762 9925 \n3 9926 9925 4763 \n3 4764 9927 9929 \n3 9927 2099 9928 \n3 9929 9928 4765 \n3 4766 9930 9932 \n3 9930 4767 9931 \n3 9932 9931 2097 \n3 2098 9933 9935 \n3 9933 4768 9934 \n3 9935 9934 4769 \n3 4770 9936 9938 \n3 9936 2102 9937 \n3 9938 9937 4771 \n3 4772 9939 9941 \n3 9939 4773 9940 \n3 9941 9940 2100 \n3 2101 9942 9944 \n3 9942 4774 9943 \n3 9944 9943 4775 \n3 4776 9945 9947 \n3 9945 2105 9946 \n3 9947 9946 4777 \n3 4778 9948 9950 \n3 9948 4779 9949 \n3 9950 9949 2103 \n3 2104 9951 9953 \n3 9951 4780 9952 \n3 9953 9952 4781 \n3 4782 9954 9956 \n3 9954 2108 9955 \n3 9956 9955 4783 \n3 4784 9957 9959 \n3 9957 4785 9958 \n3 9959 9958 2106 \n3 2107 9960 9962 \n3 9960 4786 9961 \n3 9962 9961 4787 \n3 4788 9963 9965 \n3 9963 2111 9964 \n3 9965 9964 4789 \n3 4790 9966 9968 \n3 9966 4791 9967 \n3 9968 9967 2109 \n3 2110 9969 9971 \n3 9969 4792 9970 \n3 9971 9970 4793 \n3 4794 9972 9974 \n3 9972 2114 9973 \n3 9974 9973 4795 \n3 4796 9975 9977 \n3 9975 4797 9976 \n3 9977 9976 2112 \n3 2113 9978 9980 \n3 9978 4798 9979 \n3 9980 9979 4799 \n3 4800 9981 9983 \n3 9981 2117 9982 \n3 9983 9982 4801 \n3 4802 9984 9986 \n3 9984 4803 9985 \n3 9986 9985 2115 \n3 2116 9987 9989 \n3 9987 4804 9988 \n3 9989 9988 4805 \n3 4806 9990 9992 \n3 9990 2120 9991 \n3 9992 9991 4807 \n3 4808 9993 9995 \n3 9993 4809 9994 \n3 9995 9994 2118 \n3 2119 9996 9998 \n3 9996 4810 9997 \n3 9998 9997 4811 \n3 4812 9999 10001 \n3 9999 2123 10000 \n3 10001 10000 4813 \n3 4814 10002 10004 \n3 10002 4815 10003 \n3 10004 10003 2121 \n3 2122 10005 10007 \n3 10005 4816 10006 \n3 10007 10006 4817 \n3 4818 10008 10010 \n3 10008 2126 10009 \n3 10010 10009 4819 \n3 4820 10011 10013 \n3 10011 4821 10012 \n3 10013 10012 2124 \n3 2125 10014 10016 \n3 10014 4822 10015 \n3 10016 10015 4823 \n3 4824 10017 10019 \n3 10017 2129 10018 \n3 10019 10018 4825 \n3 4826 10020 10022 \n3 10020 4827 10021 \n3 10022 10021 2127 \n3 2128 10023 10025 \n3 10023 4828 10024 \n3 10025 10024 4829 \n3 4830 10026 10028 \n3 10026 2132 10027 \n3 10028 10027 4831 \n3 4832 10029 10031 \n3 10029 4833 10030 \n3 10031 10030 2130 \n3 2131 10032 10034 \n3 10032 4834 10033 \n3 10034 10033 4835 \n3 4836 10035 10037 \n3 10035 2135 10036 \n3 10037 10036 4837 \n3 4838 10038 10040 \n3 10038 4839 10039 \n3 10040 10039 2133 \n3 2134 10041 10043 \n3 10041 4840 10042 \n3 10043 10042 4841 \n3 4842 10044 10046 \n3 10044 2138 10045 \n3 10046 10045 4843 \n3 4844 10047 10049 \n3 10047 4845 10048 \n3 10049 10048 2136 \n3 2137 10050 10052 \n3 10050 4846 10051 \n3 10052 10051 4847 \n3 4848 10053 10055 \n3 10053 2141 10054 \n3 10055 10054 4849 \n3 4850 10056 10058 \n3 10056 4851 10057 \n3 10058 10057 2139 \n3 2140 10059 10061 \n3 10059 4852 10060 \n3 10061 10060 4853 \n3 4854 10062 10064 \n3 10062 2144 10063 \n3 10064 10063 4855 \n3 4856 10065 10067 \n3 10065 4857 10066 \n3 10067 10066 2142 \n3 2143 10068 10070 \n3 10068 4858 10069 \n3 10070 10069 4859 \n3 4860 10071 10073 \n3 10071 2147 10072 \n3 10073 10072 4861 \n3 4862 10074 10076 \n3 10074 4863 10075 \n3 10076 10075 2145 \n3 2146 10077 10079 \n3 10077 4864 10078 \n3 10079 10078 4865 \n3 4866 10080 10082 \n3 10080 2150 10081 \n3 10082 10081 4867 \n3 4868 10083 10085 \n3 10083 4869 10084 \n3 10085 10084 2148 \n3 2149 10086 10088 \n3 10086 4870 10087 \n3 10088 10087 4871 \n3 4872 10089 10091 \n3 10089 2153 10090 \n3 10091 10090 4873 \n3 4874 10092 10094 \n3 10092 4875 10093 \n3 10094 10093 2151 \n3 2152 10095 10097 \n3 10095 4876 10096 \n3 10097 10096 4877 \n3 4878 10098 10100 \n3 10098 2156 10099 \n3 10100 10099 4879 \n3 4880 10101 10103 \n3 10101 4881 10102 \n3 10103 10102 2154 \n3 2155 10104 10106 \n3 10104 4882 10105 \n3 10106 10105 4883 \n3 4884 10107 10109 \n3 10107 2159 10108 \n3 10109 10108 4885 \n3 4886 10110 10112 \n3 10110 4887 10111 \n3 10112 10111 2157 \n3 2158 10113 10115 \n3 10113 4888 10114 \n3 10115 10114 4889 \n3 4890 10116 10118 \n3 10116 2162 10117 \n3 10118 10117 4891 \n3 4892 10119 10121 \n3 10119 4893 10120 \n3 10121 10120 2160 \n3 2161 10122 10124 \n3 10122 4894 10123 \n3 10124 10123 4895 \n3 4896 10125 10127 \n3 10125 2165 10126 \n3 10127 10126 4897 \n3 4898 10128 10130 \n3 10128 4899 10129 \n3 10130 10129 2163 \n3 2164 10131 10133 \n3 10131 4900 10132 \n3 10133 10132 4901 \n3 4902 10134 10136 \n3 10134 2168 10135 \n3 10136 10135 4903 \n3 4904 10137 10139 \n3 10137 4905 10138 \n3 10139 10138 2166 \n3 2167 10140 10142 \n3 10140 4906 10141 \n3 10142 10141 4907 \n3 4908 10143 10145 \n3 10143 2171 10144 \n3 10145 10144 4909 \n3 4910 10146 10148 \n3 10146 4911 10147 \n3 10148 10147 2169 \n3 2170 10149 10151 \n3 10149 4912 10150 \n3 10151 10150 4913 \n3 4914 10152 10154 \n3 10152 2174 10153 \n3 10154 10153 4915 \n3 4916 10155 10157 \n3 10155 4917 10156 \n3 10157 10156 2172 \n3 2173 10158 10160 \n3 10158 4918 10159 \n3 10160 10159 4919 \n3 4920 10161 10163 \n3 10161 2177 10162 \n3 10163 10162 4921 \n3 4922 10164 10166 \n3 10164 4923 10165 \n3 10166 10165 2175 \n3 2176 10167 10169 \n3 10167 4924 10168 \n3 10169 10168 4925 \n3 4926 10170 10172 \n3 10170 2180 10171 \n3 10172 10171 4927 \n3 4928 10173 10175 \n3 10173 4929 10174 \n3 10175 10174 2178 \n3 2179 10176 10178 \n3 10176 4930 10177 \n3 10178 10177 4931 \n3 4932 10179 10181 \n3 10179 2183 10180 \n3 10181 10180 4933 \n3 4934 10182 10184 \n3 10182 4935 10183 \n3 10184 10183 2181 \n3 2182 10185 10187 \n3 10185 4936 10186 \n3 10187 10186 4937 \n3 4938 10188 10190 \n3 10188 2186 10189 \n3 10190 10189 4939 \n3 4940 10191 10193 \n3 10191 4941 10192 \n3 10193 10192 2184 \n3 2185 10194 10196 \n3 10194 4942 10195 \n3 10196 10195 4943 \n3 4944 10197 10199 \n3 10197 2189 10198 \n3 10199 10198 4945 \n3 4946 10200 10202 \n3 10200 4947 10201 \n3 10202 10201 2187 \n3 2188 10203 10205 \n3 10203 4948 10204 \n3 10205 10204 4949 \n3 4950 10206 10208 \n3 10206 2192 10207 \n3 10208 10207 4951 \n3 4952 10209 10211 \n3 10209 4953 10210 \n3 10211 10210 2190 \n3 2191 10212 10214 \n3 10212 4954 10213 \n3 10214 10213 4955 \n3 4956 10215 10217 \n3 10215 2195 10216 \n3 10217 10216 4957 \n3 4958 10218 10220 \n3 10218 4959 10219 \n3 10220 10219 2193 \n3 2194 10221 10223 \n3 10221 4960 10222 \n3 10223 10222 4961 \n3 4962 10224 10226 \n3 10224 2198 10225 \n3 10226 10225 4963 \n3 4964 10227 10229 \n3 10227 4965 10228 \n3 10229 10228 2196 \n3 2197 10230 10232 \n3 10230 4966 10231 \n3 10232 10231 4967 \n3 4968 10233 10235 \n3 10233 2201 10234 \n3 10235 10234 4969 \n3 4970 10236 10238 \n3 10236 4971 10237 \n3 10238 10237 2199 \n3 2200 10239 10241 \n3 10239 4972 10240 \n3 10241 10240 4973 \n3 4974 10242 10244 \n3 10242 2204 10243 \n3 10244 10243 4975 \n3 4976 10245 10247 \n3 10245 4977 10246 \n3 10247 10246 2202 \n3 2203 10248 10250 \n3 10248 4978 10249 \n3 10250 10249 4979 \n3 4980 10251 10253 \n3 10251 2207 10252 \n3 10253 10252 4981 \n3 4982 10254 10256 \n3 10254 4983 10255 \n3 10256 10255 2205 \n3 2206 10257 10259 \n3 10257 4984 10258 \n3 10259 10258 4985 \n3 4986 10260 10262 \n3 10260 2210 10261 \n3 10262 10261 4987 \n3 4988 10263 10265 \n3 10263 4989 10264 \n3 10265 10264 2208 \n3 2209 10266 10268 \n3 10266 4990 10267 \n3 10268 10267 4991 \n3 4992 10269 10271 \n3 10269 2213 10270 \n3 10271 10270 4993 \n3 4994 10272 10274 \n3 10272 4995 10273 \n3 10274 10273 2211 \n3 2212 10275 10277 \n3 10275 4996 10276 \n3 10277 10276 4997 \n3 4998 10278 10280 \n3 10278 2216 10279 \n3 10280 10279 4999 \n3 5000 10281 10283 \n3 10281 5001 10282 \n3 10283 10282 2214 \n3 2215 10284 10286 \n3 10284 5002 10285 \n3 10286 10285 5003 \n3 5004 10287 10289 \n3 10287 2219 10288 \n3 10289 10288 5005 \n3 5006 10290 10292 \n3 10290 5007 10291 \n3 10292 10291 2217 \n3 2218 10293 10295 \n3 10293 5008 10294 \n3 10295 10294 5009 \n3 5010 10296 10298 \n3 10296 2222 10297 \n3 10298 10297 5011 \n3 5012 10299 10301 \n3 10299 5013 10300 \n3 10301 10300 2220 \n3 2221 10302 10304 \n3 10302 5014 10303 \n3 10304 10303 5015 \n3 5016 10305 10307 \n3 10305 2225 10306 \n3 10307 10306 5017 \n3 5018 10308 10310 \n3 10308 5019 10309 \n3 10310 10309 2223 \n3 2224 10311 10313 \n3 10311 5020 10312 \n3 10313 10312 5021 \n3 5022 10314 10316 \n3 10314 2228 10315 \n3 10316 10315 5023 \n3 5024 10317 10319 \n3 10317 5025 10318 \n3 10319 10318 2226 \n3 2227 10320 10322 \n3 10320 5026 10321 \n3 10322 10321 5027 \n3 5028 10323 10325 \n3 10323 2231 10324 \n3 10325 10324 5029 \n3 5030 10326 10328 \n3 10326 5031 10327 \n3 10328 10327 2229 \n3 2230 10329 10331 \n3 10329 5032 10330 \n3 10331 10330 5033 \n3 5034 10332 10334 \n3 10332 2234 10333 \n3 10334 10333 5035 \n3 5036 10335 10337 \n3 10335 5037 10336 \n3 10337 10336 2232 \n3 2233 10338 10340 \n3 10338 5038 10339 \n3 10340 10339 5039 \n3 5040 10341 10343 \n3 10341 2237 10342 \n3 10343 10342 5041 \n3 5042 10344 10346 \n3 10344 5043 10345 \n3 10346 10345 2235 \n3 2236 10347 10349 \n3 10347 5044 10348 \n3 10349 10348 5045 \n3 5046 10350 10352 \n3 10350 2240 10351 \n3 10352 10351 5047 \n3 5048 10353 10355 \n3 10353 5049 10354 \n3 10355 10354 2238 \n3 2239 10356 10358 \n3 10356 5050 10357 \n3 10358 10357 5051 \n3 5052 10359 10361 \n3 10359 2243 10360 \n3 10361 10360 5053 \n3 5054 10362 10364 \n3 10362 5055 10363 \n3 10364 10363 2241 \n3 2242 10365 10367 \n3 10365 5056 10366 \n3 10367 10366 5057 \n3 5058 10368 10370 \n3 10368 2246 10369 \n3 10370 10369 5059 \n3 5060 10371 10373 \n3 10371 5061 10372 \n3 10373 10372 2244 \n3 2245 10374 10376 \n3 10374 5062 10375 \n3 10376 10375 5063 \n3 5064 10377 10379 \n3 10377 2249 10378 \n3 10379 10378 5065 \n3 5066 10380 10382 \n3 10380 5067 10381 \n3 10382 10381 2247 \n3 2248 10383 10385 \n3 10383 5068 10384 \n3 10385 10384 5069 \n3 5070 10386 10388 \n3 10386 2252 10387 \n3 10388 10387 5071 \n3 5072 10389 10391 \n3 10389 5073 10390 \n3 10391 10390 2250 \n3 2251 10392 10394 \n3 10392 5074 10393 \n3 10394 10393 5075 \n3 5076 10395 10397 \n3 10395 2255 10396 \n3 10397 10396 5077 \n3 5078 10398 10400 \n3 10398 5079 10399 \n3 10400 10399 2253 \n3 2254 10401 10403 \n3 10401 5080 10402 \n3 10403 10402 5081 \n3 5082 10404 10406 \n3 10404 2258 10405 \n3 10406 10405 5083 \n3 5084 10407 10409 \n3 10407 5085 10408 \n3 10409 10408 2256 \n3 2257 10410 10412 \n3 10410 5086 10411 \n3 10412 10411 5087 \n3 5088 10413 10415 \n3 10413 2261 10414 \n3 10415 10414 5089 \n3 5090 10416 10418 \n3 10416 5091 10417 \n3 10418 10417 2259 \n3 2260 10419 10421 \n3 10419 5092 10420 \n3 10421 10420 5093 \n3 5094 10422 10424 \n3 10422 2264 10423 \n3 10424 10423 5095 \n3 5096 10425 10427 \n3 10425 5097 10426 \n3 10427 10426 2262 \n3 2263 10428 10430 \n3 10428 5098 10429 \n3 10430 10429 5099 \n3 5100 10431 10433 \n3 10431 2267 10432 \n3 10433 10432 5101 \n3 5102 10434 10436 \n3 10434 5103 10435 \n3 10436 10435 2265 \n3 2266 10437 10439 \n3 10437 5104 10438 \n3 10439 10438 5105 \n3 5106 10440 10442 \n3 10440 2270 10441 \n3 10442 10441 5107 \n3 5108 10443 10445 \n3 10443 5109 10444 \n3 10445 10444 2268 \n3 2269 10446 10448 \n3 10446 5110 10447 \n3 10448 10447 5111 \n3 5112 10449 10451 \n3 10449 2273 10450 \n3 10451 10450 5113 \n3 5114 10452 10454 \n3 10452 5115 10453 \n3 10454 10453 2271 \n3 2272 10455 10457 \n3 10455 5116 10456 \n3 10457 10456 5117 \n3 5118 10458 10460 \n3 10458 2276 10459 \n3 10460 10459 5119 \n3 5120 10461 10463 \n3 10461 5121 10462 \n3 10463 10462 2274 \n3 2275 10464 10466 \n3 10464 5122 10465 \n3 10466 10465 5123 \n3 5124 10467 10469 \n3 10467 2279 10468 \n3 10469 10468 5125 \n3 5126 10470 10472 \n3 10470 5127 10471 \n3 10472 10471 2277 \n3 2278 10473 10475 \n3 10473 5128 10474 \n3 10475 10474 5129 \n3 5130 10476 10478 \n3 10476 2282 10477 \n3 10478 10477 5131 \n3 5132 10479 10481 \n3 10479 5133 10480 \n3 10481 10480 2280 \n3 2281 10482 10484 \n3 10482 5134 10483 \n3 10484 10483 5135 \n3 5136 10485 10487 \n3 10485 2285 10486 \n3 10487 10486 5137 \n3 5138 10488 10490 \n3 10488 5139 10489 \n3 10490 10489 2283 \n3 2284 10491 10493 \n3 10491 5140 10492 \n3 10493 10492 5141 \n3 5142 10494 10496 \n3 10494 2288 10495 \n3 10496 10495 5143 \n3 5144 10497 10499 \n3 10497 5145 10498 \n3 10499 10498 2286 \n3 2287 10500 10502 \n3 10500 5146 10501 \n3 10502 10501 5147 \n3 5148 10503 10505 \n3 10503 2291 10504 \n3 10505 10504 5149 \n3 5150 10506 10508 \n3 10506 5151 10507 \n3 10508 10507 2289 \n3 2290 10509 10511 \n3 10509 5152 10510 \n3 10511 10510 5153 \n3 5154 10512 10514 \n3 10512 2294 10513 \n3 10514 10513 5155 \n3 5156 10515 10517 \n3 10515 5157 10516 \n3 10517 10516 2292 \n3 2293 10518 10520 \n3 10518 5158 10519 \n3 10520 10519 5159 \n3 5160 10521 10523 \n3 10521 2297 10522 \n3 10523 10522 5161 \n3 5162 10524 10526 \n3 10524 5163 10525 \n3 10526 10525 2295 \n3 2296 10527 10529 \n3 10527 5164 10528 \n3 10529 10528 5165 \n3 5166 10530 10532 \n3 10530 2300 10531 \n3 10532 10531 5167 \n3 5168 10533 10535 \n3 10533 5169 10534 \n3 10535 10534 2298 \n3 2299 10536 10538 \n3 10536 5170 10537 \n3 10538 10537 5171 \n3 5172 10539 10541 \n3 10539 2303 10540 \n3 10541 10540 5173 \n3 5174 10542 10544 \n3 10542 5175 10543 \n3 10544 10543 2301 \n3 2302 10545 10547 \n3 10545 5176 10546 \n3 10547 10546 5177 \n3 5178 10548 10550 \n3 10548 2306 10549 \n3 10550 10549 5179 \n3 5180 10551 10553 \n3 10551 5181 10552 \n3 10553 10552 2304 \n3 2305 10554 10556 \n3 10554 5182 10555 \n3 10556 10555 5183 \n3 5184 10557 10559 \n3 10557 2309 10558 \n3 10559 10558 5185 \n3 5186 10560 10562 \n3 10560 5187 10561 \n3 10562 10561 2307 \n3 2308 10563 10565 \n3 10563 5188 10564 \n3 10565 10564 5189 \n3 5190 10566 10568 \n3 10566 2312 10567 \n3 10568 10567 5191 \n3 5192 10569 10571 \n3 10569 4039 10570 \n3 10571 10570 2310 \n3 2311 10572 10574 \n3 10572 4043 10573 \n3 10574 10573 5193 \n3 5194 10575 10577 \n3 10575 2315 10576 \n3 10577 10576 4038 \n3 5195 10578 10580 \n3 10578 5196 10579 \n3 10580 10579 2313 \n3 2314 10581 10583 \n3 10581 5197 10582 \n3 10583 10582 4040 \n3 4042 10584 10586 \n3 10584 2318 10585 \n3 10586 10585 5198 \n3 4041 10587 10589 \n3 10587 5199 10588 \n3 10589 10588 2316 \n3 2317 10590 10592 \n3 10590 5200 10591 \n3 10592 10591 5201 \n3 5202 10593 10595 \n3 10593 2321 10594 \n3 10595 10594 5203 \n3 5204 10596 10598 \n3 10596 4045 10597 \n3 10598 10597 2319 \n3 2320 10599 10601 \n3 10599 4049 10600 \n3 10601 10600 5205 \n3 5206 10602 10604 \n3 10602 2324 10603 \n3 10604 10603 4044 \n3 5207 10605 10607 \n3 10605 5208 10606 \n3 10607 10606 2322 \n3 2323 10608 10610 \n3 10608 5209 10609 \n3 10610 10609 4046 \n3 4048 10611 10613 \n3 10611 2327 10612 \n3 10613 10612 5210 \n3 4047 10614 10616 \n3 10614 5211 10615 \n3 10616 10615 2325 \n3 2326 10617 10619 \n3 10617 5212 10618 \n3 10619 10618 5213 \n3 5214 10620 10622 \n3 10620 2330 10621 \n3 10622 10621 5215 \n3 5216 10623 10625 \n3 10623 4051 10624 \n3 10625 10624 2328 \n3 2329 10626 10628 \n3 10626 4055 10627 \n3 10628 10627 5217 \n3 5218 10629 10631 \n3 10629 2333 10630 \n3 10631 10630 4050 \n3 5219 10632 10634 \n3 10632 5220 10633 \n3 10634 10633 2331 \n3 2332 10635 10637 \n3 10635 5221 10636 \n3 10637 10636 4052 \n3 4054 10638 10640 \n3 10638 2336 10639 \n3 10640 10639 5222 \n3 4053 10641 10643 \n3 10641 5223 10642 \n3 10643 10642 2334 \n3 2335 10644 10646 \n3 10644 5224 10645 \n3 10646 10645 5225 \n3 5226 10647 10649 \n3 10647 2339 10648 \n3 10649 10648 5227 \n3 5228 10650 10652 \n3 10650 4057 10651 \n3 10652 10651 2337 \n3 2338 10653 10655 \n3 10653 4061 10654 \n3 10655 10654 5229 \n3 5230 10656 10658 \n3 10656 2342 10657 \n3 10658 10657 4056 \n3 5231 10659 10661 \n3 10659 5232 10660 \n3 10661 10660 2340 \n3 2341 10662 10664 \n3 10662 5233 10663 \n3 10664 10663 4058 \n3 4060 10665 10667 \n3 10665 2345 10666 \n3 10667 10666 5234 \n3 4059 10668 10670 \n3 10668 5235 10669 \n3 10670 10669 2343 \n3 2344 10671 10673 \n3 10671 5236 10672 \n3 10673 10672 5237 \n3 5238 10674 10676 \n3 10674 2348 10675 \n3 10676 10675 5239 \n3 5240 10677 10679 \n3 10677 4063 10678 \n3 10679 10678 2346 \n3 2347 10680 10682 \n3 10680 4067 10681 \n3 10682 10681 5241 \n3 5242 10683 10685 \n3 10683 2351 10684 \n3 10685 10684 4062 \n3 5243 10686 10688 \n3 10686 5244 10687 \n3 10688 10687 2349 \n3 2350 10689 10691 \n3 10689 5245 10690 \n3 10691 10690 4064 \n3 4066 10692 10694 \n3 10692 2354 10693 \n3 10694 10693 5246 \n3 4065 10695 10697 \n3 10695 5247 10696 \n3 10697 10696 2352 \n3 2353 10698 10700 \n3 10698 5248 10699 \n3 10700 10699 5249 \n3 5250 10701 10703 \n3 10701 2357 10702 \n3 10703 10702 5251 \n3 5252 10704 10706 \n3 10704 4069 10705 \n3 10706 10705 2355 \n3 2356 10707 10709 \n3 10707 4073 10708 \n3 10709 10708 5253 \n3 5254 10710 10712 \n3 10710 2360 10711 \n3 10712 10711 4068 \n3 5255 10713 10715 \n3 10713 5256 10714 \n3 10715 10714 2358 \n3 2359 10716 10718 \n3 10716 5257 10717 \n3 10718 10717 4070 \n3 4072 10719 10721 \n3 10719 2363 10720 \n3 10721 10720 5258 \n3 4071 10722 10724 \n3 10722 5259 10723 \n3 10724 10723 2361 \n3 2362 10725 10727 \n3 10725 5260 10726 \n3 10727 10726 5261 \n3 5262 10728 10730 \n3 10728 2366 10729 \n3 10730 10729 5263 \n3 5264 10731 10733 \n3 10731 4075 10732 \n3 10733 10732 2364 \n3 2365 10734 10736 \n3 10734 4079 10735 \n3 10736 10735 5265 \n3 5266 10737 10739 \n3 10737 2369 10738 \n3 10739 10738 4074 \n3 5267 10740 10742 \n3 10740 5268 10741 \n3 10742 10741 2367 \n3 2368 10743 10745 \n3 10743 5269 10744 \n3 10745 10744 4076 \n3 4078 10746 10748 \n3 10746 2372 10747 \n3 10748 10747 5270 \n3 4077 10749 10751 \n3 10749 5271 10750 \n3 10751 10750 2370 \n3 2371 10752 10754 \n3 10752 5272 10753 \n3 10754 10753 5273 \n3 5274 10755 10757 \n3 10755 2375 10756 \n3 10757 10756 5275 \n3 5276 10758 10760 \n3 10758 4081 10759 \n3 10760 10759 2373 \n3 2374 10761 10763 \n3 10761 4085 10762 \n3 10763 10762 5277 \n3 5278 10764 10766 \n3 10764 2378 10765 \n3 10766 10765 4080 \n3 5279 10767 10769 \n3 10767 5280 10768 \n3 10769 10768 2376 \n3 2377 10770 10772 \n3 10770 5281 10771 \n3 10772 10771 4082 \n3 4084 10773 10775 \n3 10773 2381 10774 \n3 10775 10774 5282 \n3 4083 10776 10778 \n3 10776 5283 10777 \n3 10778 10777 2379 \n3 2380 10779 10781 \n3 10779 5284 10780 \n3 10781 10780 5285 \n3 5286 10782 10784 \n3 10782 2384 10783 \n3 10784 10783 5287 \n3 5288 10785 10787 \n3 10785 4087 10786 \n3 10787 10786 2382 \n3 2383 10788 10790 \n3 10788 4091 10789 \n3 10790 10789 5289 \n3 5290 10791 10793 \n3 10791 2387 10792 \n3 10793 10792 4086 \n3 5291 10794 10796 \n3 10794 5292 10795 \n3 10796 10795 2385 \n3 2386 10797 10799 \n3 10797 5293 10798 \n3 10799 10798 4088 \n3 4090 10800 10802 \n3 10800 2390 10801 \n3 10802 10801 5294 \n3 4089 10803 10805 \n3 10803 5295 10804 \n3 10805 10804 2388 \n3 2389 10806 10808 \n3 10806 5296 10807 \n3 10808 10807 5297 \n3 5298 10809 10811 \n3 10809 2393 10810 \n3 10811 10810 5299 \n3 5300 10812 10814 \n3 10812 4093 10813 \n3 10814 10813 2391 \n3 2392 10815 10817 \n3 10815 4097 10816 \n3 10817 10816 5301 \n3 5302 10818 10820 \n3 10818 2396 10819 \n3 10820 10819 4092 \n3 5303 10821 10823 \n3 10821 5304 10822 \n3 10823 10822 2394 \n3 2395 10824 10826 \n3 10824 5305 10825 \n3 10826 10825 4094 \n3 4096 10827 10829 \n3 10827 2399 10828 \n3 10829 10828 5306 \n3 4095 10830 10832 \n3 10830 5307 10831 \n3 10832 10831 2397 \n3 2398 10833 10835 \n3 10833 5308 10834 \n3 10835 10834 5309 \n3 5310 10836 10838 \n3 10836 2402 10837 \n3 10838 10837 5311 \n3 5312 10839 10841 \n3 10839 4099 10840 \n3 10841 10840 2400 \n3 2401 10842 10844 \n3 10842 4103 10843 \n3 10844 10843 5313 \n3 5314 10845 10847 \n3 10845 2405 10846 \n3 10847 10846 4098 \n3 5315 10848 10850 \n3 10848 5316 10849 \n3 10850 10849 2403 \n3 2404 10851 10853 \n3 10851 5317 10852 \n3 10853 10852 4100 \n3 4102 10854 10856 \n3 10854 2408 10855 \n3 10856 10855 5318 \n3 4101 10857 10859 \n3 10857 5319 10858 \n3 10859 10858 2406 \n3 2407 10860 10862 \n3 10860 5320 10861 \n3 10862 10861 5321 \n3 5322 10863 10865 \n3 10863 2411 10864 \n3 10865 10864 5323 \n3 5324 10866 10868 \n3 10866 4105 10867 \n3 10868 10867 2409 \n3 2410 10869 10871 \n3 10869 4109 10870 \n3 10871 10870 5325 \n3 5326 10872 10874 \n3 10872 2414 10873 \n3 10874 10873 4104 \n3 5327 10875 10877 \n3 10875 5328 10876 \n3 10877 10876 2412 \n3 2413 10878 10880 \n3 10878 5329 10879 \n3 10880 10879 4106 \n3 4108 10881 10883 \n3 10881 2417 10882 \n3 10883 10882 5330 \n3 4107 10884 10886 \n3 10884 5331 10885 \n3 10886 10885 2415 \n3 2416 10887 10889 \n3 10887 5332 10888 \n3 10889 10888 5333 \n3 5334 10890 10892 \n3 10890 2420 10891 \n3 10892 10891 5335 \n3 5336 10893 10895 \n3 10893 4111 10894 \n3 10895 10894 2418 \n3 2419 10896 10898 \n3 10896 4115 10897 \n3 10898 10897 5337 \n3 5338 10899 10901 \n3 10899 2423 10900 \n3 10901 10900 4110 \n3 5339 10902 10904 \n3 10902 5340 10903 \n3 10904 10903 2421 \n3 2422 10905 10907 \n3 10905 5341 10906 \n3 10907 10906 4112 \n3 4114 10908 10910 \n3 10908 2426 10909 \n3 10910 10909 5342 \n3 4113 10911 10913 \n3 10911 5343 10912 \n3 10913 10912 2424 \n3 2425 10914 10916 \n3 10914 5344 10915 \n3 10916 10915 5345 \n3 5346 10917 10919 \n3 10917 2429 10918 \n3 10919 10918 5347 \n3 5348 10920 10922 \n3 10920 4117 10921 \n3 10922 10921 2427 \n3 2428 10923 10925 \n3 10923 4121 10924 \n3 10925 10924 5349 \n3 5350 10926 10928 \n3 10926 2432 10927 \n3 10928 10927 4116 \n3 5351 10929 10931 \n3 10929 5352 10930 \n3 10931 10930 2430 \n3 2431 10932 10934 \n3 10932 5353 10933 \n3 10934 10933 4118 \n3 4120 10935 10937 \n3 10935 2435 10936 \n3 10937 10936 5354 \n3 4119 10938 10940 \n3 10938 5355 10939 \n3 10940 10939 2433 \n3 2434 10941 10943 \n3 10941 5356 10942 \n3 10943 10942 5357 \n3 5358 10944 10946 \n3 10944 2438 10945 \n3 10946 10945 5359 \n3 5360 10947 10949 \n3 10947 4123 10948 \n3 10949 10948 2436 \n3 2437 10950 10952 \n3 10950 4127 10951 \n3 10952 10951 5361 \n3 5362 10953 10955 \n3 10953 2441 10954 \n3 10955 10954 4122 \n3 5363 10956 10958 \n3 10956 5364 10957 \n3 10958 10957 2439 \n3 2440 10959 10961 \n3 10959 5365 10960 \n3 10961 10960 4124 \n3 4126 10962 10964 \n3 10962 2444 10963 \n3 10964 10963 5366 \n3 4125 10965 10967 \n3 10965 5367 10966 \n3 10967 10966 2442 \n3 2443 10968 10970 \n3 10968 5368 10969 \n3 10970 10969 5369 \n3 5370 10971 10973 \n3 10971 2447 10972 \n3 10973 10972 5371 \n3 5372 10974 10976 \n3 10974 4129 10975 \n3 10976 10975 2445 \n3 2446 10977 10979 \n3 10977 4133 10978 \n3 10979 10978 5373 \n3 5374 10980 10982 \n3 10980 2450 10981 \n3 10982 10981 4128 \n3 5375 10983 10985 \n3 10983 5376 10984 \n3 10985 10984 2448 \n3 2449 10986 10988 \n3 10986 5377 10987 \n3 10988 10987 4130 \n3 4132 10989 10991 \n3 10989 2453 10990 \n3 10991 10990 5378 \n3 4131 10992 10994 \n3 10992 5379 10993 \n3 10994 10993 2451 \n3 2452 10995 10997 \n3 10995 5380 10996 \n3 10997 10996 5381 \n3 5382 10998 11000 \n3 10998 2456 10999 \n3 11000 10999 5383 \n3 5384 11001 11003 \n3 11001 4135 11002 \n3 11003 11002 2454 \n3 2455 11004 11006 \n3 11004 4139 11005 \n3 11006 11005 5385 \n3 5386 11007 11009 \n3 11007 2459 11008 \n3 11009 11008 4134 \n3 5387 11010 11012 \n3 11010 5388 11011 \n3 11012 11011 2457 \n3 2458 11013 11015 \n3 11013 5389 11014 \n3 11015 11014 4136 \n3 4138 11016 11018 \n3 11016 2462 11017 \n3 11018 11017 5390 \n3 4137 11019 11021 \n3 11019 5391 11020 \n3 11021 11020 2460 \n3 2461 11022 11024 \n3 11022 5392 11023 \n3 11024 11023 5393 \n3 5394 11025 11027 \n3 11025 2465 11026 \n3 11027 11026 5395 \n3 5396 11028 11030 \n3 11028 4141 11029 \n3 11030 11029 2463 \n3 2464 11031 11033 \n3 11031 4145 11032 \n3 11033 11032 5397 \n3 5398 11034 11036 \n3 11034 2468 11035 \n3 11036 11035 4140 \n3 5399 11037 11039 \n3 11037 5400 11038 \n3 11039 11038 2466 \n3 2467 11040 11042 \n3 11040 5401 11041 \n3 11042 11041 4142 \n3 4144 11043 11045 \n3 11043 2471 11044 \n3 11045 11044 5402 \n3 4143 11046 11048 \n3 11046 5403 11047 \n3 11048 11047 2469 \n3 2470 11049 11051 \n3 11049 5404 11050 \n3 11051 11050 5405 \n3 5406 11052 11054 \n3 11052 2474 11053 \n3 11054 11053 5407 \n3 5408 11055 11057 \n3 11055 4147 11056 \n3 11057 11056 2472 \n3 2473 11058 11060 \n3 11058 4151 11059 \n3 11060 11059 5409 \n3 5410 11061 11063 \n3 11061 2477 11062 \n3 11063 11062 4146 \n3 5411 11064 11066 \n3 11064 5412 11065 \n3 11066 11065 2475 \n3 2476 11067 11069 \n3 11067 5413 11068 \n3 11069 11068 4148 \n3 4150 11070 11072 \n3 11070 2480 11071 \n3 11072 11071 5414 \n3 4149 11073 11075 \n3 11073 5415 11074 \n3 11075 11074 2478 \n3 2479 11076 11078 \n3 11076 5416 11077 \n3 11078 11077 5417 \n3 5418 11079 11081 \n3 11079 2483 11080 \n3 11081 11080 5419 \n3 5420 11082 11084 \n3 11082 4153 11083 \n3 11084 11083 2481 \n3 2482 11085 11087 \n3 11085 4157 11086 \n3 11087 11086 5421 \n3 5422 11088 11090 \n3 11088 2486 11089 \n3 11090 11089 4152 \n3 5423 11091 11093 \n3 11091 5424 11092 \n3 11093 11092 2484 \n3 2485 11094 11096 \n3 11094 5425 11095 \n3 11096 11095 4154 \n3 4156 11097 11099 \n3 11097 2489 11098 \n3 11099 11098 5426 \n3 4155 11100 11102 \n3 11100 5427 11101 \n3 11102 11101 2487 \n3 2488 11103 11105 \n3 11103 5428 11104 \n3 11105 11104 5429 \n3 5430 11106 11108 \n3 11106 2492 11107 \n3 11108 11107 5431 \n3 5432 11109 11111 \n3 11109 4159 11110 \n3 11111 11110 2490 \n3 2491 11112 11114 \n3 11112 4163 11113 \n3 11114 11113 5433 \n3 5434 11115 11117 \n3 11115 2495 11116 \n3 11117 11116 4158 \n3 5435 11118 11120 \n3 11118 5436 11119 \n3 11120 11119 2493 \n3 2494 11121 11123 \n3 11121 5437 11122 \n3 11123 11122 4160 \n3 4162 11124 11126 \n3 11124 2498 11125 \n3 11126 11125 5438 \n3 4161 11127 11129 \n3 11127 5439 11128 \n3 11129 11128 2496 \n3 2497 11130 11132 \n3 11130 5440 11131 \n3 11132 11131 5441 \n3 5442 11133 11135 \n3 11133 2501 11134 \n3 11135 11134 5443 \n3 5444 11136 11138 \n3 11136 4165 11137 \n3 11138 11137 2499 \n3 2500 11139 11141 \n3 11139 4169 11140 \n3 11141 11140 5445 \n3 5446 11142 11144 \n3 11142 2504 11143 \n3 11144 11143 4164 \n3 5447 11145 11147 \n3 11145 5448 11146 \n3 11147 11146 2502 \n3 2503 11148 11150 \n3 11148 5449 11149 \n3 11150 11149 4166 \n3 4168 11151 11153 \n3 11151 2507 11152 \n3 11153 11152 5450 \n3 4167 11154 11156 \n3 11154 5451 11155 \n3 11156 11155 2505 \n3 2506 11157 11159 \n3 11157 5452 11158 \n3 11159 11158 5453 \n3 5454 11160 11162 \n3 11160 2510 11161 \n3 11162 11161 5455 \n3 5456 11163 11165 \n3 11163 4171 11164 \n3 11165 11164 2508 \n3 2509 11166 11168 \n3 11166 4175 11167 \n3 11168 11167 5457 \n3 5458 11169 11171 \n3 11169 2513 11170 \n3 11171 11170 4170 \n3 5459 11172 11174 \n3 11172 5460 11173 \n3 11174 11173 2511 \n3 2512 11175 11177 \n3 11175 5461 11176 \n3 11177 11176 4172 \n3 4174 11178 11180 \n3 11178 2516 11179 \n3 11180 11179 5462 \n3 4173 11181 11183 \n3 11181 5463 11182 \n3 11183 11182 2514 \n3 2515 11184 11186 \n3 11184 5464 11185 \n3 11186 11185 5465 \n3 5466 11187 11189 \n3 11187 2519 11188 \n3 11189 11188 5467 \n3 5468 11190 11192 \n3 11190 4177 11191 \n3 11192 11191 2517 \n3 2518 11193 11195 \n3 11193 4181 11194 \n3 11195 11194 5469 \n3 5470 11196 11198 \n3 11196 2522 11197 \n3 11198 11197 4176 \n3 5471 11199 11201 \n3 11199 5472 11200 \n3 11201 11200 2520 \n3 2521 11202 11204 \n3 11202 5473 11203 \n3 11204 11203 4178 \n3 4180 11205 11207 \n3 11205 2525 11206 \n3 11207 11206 5474 \n3 4179 11208 11210 \n3 11208 5475 11209 \n3 11210 11209 2523 \n3 2524 11211 11213 \n3 11211 5476 11212 \n3 11213 11212 5477 \n3 5478 11214 11216 \n3 11214 2528 11215 \n3 11216 11215 5479 \n3 5480 11217 11219 \n3 11217 4183 11218 \n3 11219 11218 2526 \n3 2527 11220 11222 \n3 11220 4187 11221 \n3 11222 11221 5481 \n3 5482 11223 11225 \n3 11223 2531 11224 \n3 11225 11224 4182 \n3 5483 11226 11228 \n3 11226 5484 11227 \n3 11228 11227 2529 \n3 2530 11229 11231 \n3 11229 5485 11230 \n3 11231 11230 4184 \n3 4186 11232 11234 \n3 11232 2534 11233 \n3 11234 11233 5486 \n3 4185 11235 11237 \n3 11235 5487 11236 \n3 11237 11236 2532 \n3 2533 11238 11240 \n3 11238 5488 11239 \n3 11240 11239 5489 \n3 5490 11241 11243 \n3 11241 2537 11242 \n3 11243 11242 5491 \n3 5492 11244 11246 \n3 11244 4189 11245 \n3 11246 11245 2535 \n3 2536 11247 11249 \n3 11247 4193 11248 \n3 11249 11248 5493 \n3 5494 11250 11252 \n3 11250 2540 11251 \n3 11252 11251 4188 \n3 5495 11253 11255 \n3 11253 5496 11254 \n3 11255 11254 2538 \n3 2539 11256 11258 \n3 11256 5497 11257 \n3 11258 11257 4190 \n3 4192 11259 11261 \n3 11259 2543 11260 \n3 11261 11260 5498 \n3 4191 11262 11264 \n3 11262 5499 11263 \n3 11264 11263 2541 \n3 2542 11265 11267 \n3 11265 5500 11266 \n3 11267 11266 5501 \n3 5502 11268 11270 \n3 11268 2546 11269 \n3 11270 11269 5503 \n3 5504 11271 11273 \n3 11271 4195 11272 \n3 11273 11272 2544 \n3 2545 11274 11276 \n3 11274 4199 11275 \n3 11276 11275 5505 \n3 5506 11277 11279 \n3 11277 2549 11278 \n3 11279 11278 4194 \n3 5507 11280 11282 \n3 11280 5508 11281 \n3 11282 11281 2547 \n3 2548 11283 11285 \n3 11283 5509 11284 \n3 11285 11284 4196 \n3 4198 11286 11288 \n3 11286 2552 11287 \n3 11288 11287 5510 \n3 4197 11289 11291 \n3 11289 5511 11290 \n3 11291 11290 2550 \n3 2551 11292 11294 \n3 11292 5512 11293 \n3 11294 11293 5513 \n3 5514 11295 11297 \n3 11295 2555 11296 \n3 11297 11296 5515 \n3 5516 11298 11300 \n3 11298 4201 11299 \n3 11300 11299 2553 \n3 2554 11301 11303 \n3 11301 4205 11302 \n3 11303 11302 5517 \n3 5518 11304 11306 \n3 11304 2558 11305 \n3 11306 11305 4200 \n3 5519 11307 11309 \n3 11307 5520 11308 \n3 11309 11308 2556 \n3 2557 11310 11312 \n3 11310 5521 11311 \n3 11312 11311 4202 \n3 4204 11313 11315 \n3 11313 2561 11314 \n3 11315 11314 5522 \n3 4203 11316 11318 \n3 11316 5523 11317 \n3 11318 11317 2559 \n3 2560 11319 11321 \n3 11319 5524 11320 \n3 11321 11320 5525 \n3 5526 11322 11324 \n3 11322 2564 11323 \n3 11324 11323 5527 \n3 5528 11325 11327 \n3 11325 4207 11326 \n3 11327 11326 2562 \n3 2563 11328 11330 \n3 11328 4211 11329 \n3 11330 11329 5529 \n3 5530 11331 11333 \n3 11331 2567 11332 \n3 11333 11332 4206 \n3 5531 11334 11336 \n3 11334 5532 11335 \n3 11336 11335 2565 \n3 2566 11337 11339 \n3 11337 5533 11338 \n3 11339 11338 4208 \n3 4210 11340 11342 \n3 11340 2570 11341 \n3 11342 11341 5534 \n3 4209 11343 11345 \n3 11343 5535 11344 \n3 11345 11344 2568 \n3 2569 11346 11348 \n3 11346 5536 11347 \n3 11348 11347 5537 \n3 5538 11349 11351 \n3 11349 2573 11350 \n3 11351 11350 5539 \n3 5540 11352 11354 \n3 11352 4213 11353 \n3 11354 11353 2571 \n3 2572 11355 11357 \n3 11355 4217 11356 \n3 11357 11356 5541 \n3 5542 11358 11360 \n3 11358 2576 11359 \n3 11360 11359 4212 \n3 5543 11361 11363 \n3 11361 5544 11362 \n3 11363 11362 2574 \n3 2575 11364 11366 \n3 11364 5545 11365 \n3 11366 11365 4214 \n3 4216 11367 11369 \n3 11367 2579 11368 \n3 11369 11368 5546 \n3 4215 11370 11372 \n3 11370 5547 11371 \n3 11372 11371 2577 \n3 2578 11373 11375 \n3 11373 5548 11374 \n3 11375 11374 5549 \n3 5550 11376 11378 \n3 11376 2582 11377 \n3 11378 11377 5551 \n3 5552 11379 11381 \n3 11379 4219 11380 \n3 11381 11380 2580 \n3 2581 11382 11384 \n3 11382 4223 11383 \n3 11384 11383 5553 \n3 5554 11385 11387 \n3 11385 2585 11386 \n3 11387 11386 4218 \n3 5555 11388 11390 \n3 11388 5556 11389 \n3 11390 11389 2583 \n3 2584 11391 11393 \n3 11391 5557 11392 \n3 11393 11392 4220 \n3 4222 11394 11396 \n3 11394 2588 11395 \n3 11396 11395 5558 \n3 4221 11397 11399 \n3 11397 5559 11398 \n3 11399 11398 2586 \n3 2587 11400 11402 \n3 11400 5560 11401 \n3 11402 11401 5561 \n3 5562 11403 11405 \n3 11403 2591 11404 \n3 11405 11404 5563 \n3 5564 11406 11408 \n3 11406 4225 11407 \n3 11408 11407 2589 \n3 2590 11409 11411 \n3 11409 4229 11410 \n3 11411 11410 5565 \n3 5566 11412 11414 \n3 11412 2594 11413 \n3 11414 11413 4224 \n3 5567 11415 11417 \n3 11415 5568 11416 \n3 11417 11416 2592 \n3 2593 11418 11420 \n3 11418 5569 11419 \n3 11420 11419 4226 \n3 4228 11421 11423 \n3 11421 2597 11422 \n3 11423 11422 5570 \n3 4227 11424 11426 \n3 11424 5571 11425 \n3 11426 11425 2595 \n3 2596 11427 11429 \n3 11427 5572 11428 \n3 11429 11428 5573 \n3 5574 11430 11432 \n3 11430 2600 11431 \n3 11432 11431 5575 \n3 5576 11433 11435 \n3 11433 4231 11434 \n3 11435 11434 2598 \n3 2599 11436 11438 \n3 11436 4235 11437 \n3 11438 11437 5577 \n3 5578 11439 11441 \n3 11439 2603 11440 \n3 11441 11440 4230 \n3 5579 11442 11444 \n3 11442 5580 11443 \n3 11444 11443 2601 \n3 2602 11445 11447 \n3 11445 5581 11446 \n3 11447 11446 4232 \n3 4234 11448 11450 \n3 11448 2606 11449 \n3 11450 11449 5582 \n3 4233 11451 11453 \n3 11451 5583 11452 \n3 11453 11452 2604 \n3 2605 11454 11456 \n3 11454 5584 11455 \n3 11456 11455 5585 \n3 5586 11457 11459 \n3 11457 2609 11458 \n3 11459 11458 5587 \n3 5588 11460 11462 \n3 11460 4237 11461 \n3 11462 11461 2607 \n3 2608 11463 11465 \n3 11463 4241 11464 \n3 11465 11464 5589 \n3 5590 11466 11468 \n3 11466 2612 11467 \n3 11468 11467 4236 \n3 5591 11469 11471 \n3 11469 5592 11470 \n3 11471 11470 2610 \n3 2611 11472 11474 \n3 11472 5593 11473 \n3 11474 11473 4238 \n3 4240 11475 11477 \n3 11475 2615 11476 \n3 11477 11476 5594 \n3 4239 11478 11480 \n3 11478 5595 11479 \n3 11480 11479 2613 \n3 2614 11481 11483 \n3 11481 5596 11482 \n3 11483 11482 5597 \n3 5598 11484 11486 \n3 11484 2618 11485 \n3 11486 11485 5599 \n3 5600 11487 11489 \n3 11487 4243 11488 \n3 11489 11488 2616 \n3 2617 11490 11492 \n3 11490 4247 11491 \n3 11492 11491 5601 \n3 5602 11493 11495 \n3 11493 2621 11494 \n3 11495 11494 4242 \n3 5603 11496 11498 \n3 11496 5604 11497 \n3 11498 11497 2619 \n3 2620 11499 11501 \n3 11499 5605 11500 \n3 11501 11500 4244 \n3 4246 11502 11504 \n3 11502 2624 11503 \n3 11504 11503 5606 \n3 4245 11505 11507 \n3 11505 5607 11506 \n3 11507 11506 2622 \n3 2623 11508 11510 \n3 11508 5608 11509 \n3 11510 11509 5609 \n3 5610 11511 11513 \n3 11511 2627 11512 \n3 11513 11512 5611 \n3 5612 11514 11516 \n3 11514 4249 11515 \n3 11516 11515 2625 \n3 2626 11517 11519 \n3 11517 4253 11518 \n3 11519 11518 5613 \n3 5614 11520 11522 \n3 11520 2630 11521 \n3 11522 11521 4248 \n3 5615 11523 11525 \n3 11523 5616 11524 \n3 11525 11524 2628 \n3 2629 11526 11528 \n3 11526 5617 11527 \n3 11528 11527 4250 \n3 4252 11529 11531 \n3 11529 2633 11530 \n3 11531 11530 5618 \n3 4251 11532 11534 \n3 11532 5619 11533 \n3 11534 11533 2631 \n3 2632 11535 11537 \n3 11535 5620 11536 \n3 11537 11536 5621 \n3 5622 11538 11540 \n3 11538 2636 11539 \n3 11540 11539 5623 \n3 5624 11541 11543 \n3 11541 4255 11542 \n3 11543 11542 2634 \n3 2635 11544 11546 \n3 11544 4259 11545 \n3 11546 11545 5625 \n3 5626 11547 11549 \n3 11547 2639 11548 \n3 11549 11548 4254 \n3 5627 11550 11552 \n3 11550 5628 11551 \n3 11552 11551 2637 \n3 2638 11553 11555 \n3 11553 5629 11554 \n3 11555 11554 4256 \n3 4258 11556 11558 \n3 11556 2642 11557 \n3 11558 11557 5630 \n3 4257 11559 11561 \n3 11559 5631 11560 \n3 11561 11560 2640 \n3 2641 11562 11564 \n3 11562 5632 11563 \n3 11564 11563 5633 \n3 5634 11565 11567 \n3 11565 2645 11566 \n3 11567 11566 5635 \n3 5636 11568 11570 \n3 11568 4261 11569 \n3 11570 11569 2643 \n3 2644 11571 11573 \n3 11571 4265 11572 \n3 11573 11572 5637 \n3 5638 11574 11576 \n3 11574 2648 11575 \n3 11576 11575 4260 \n3 5639 11577 11579 \n3 11577 5640 11578 \n3 11579 11578 2646 \n3 2647 11580 11582 \n3 11580 5641 11581 \n3 11582 11581 4262 \n3 4264 11583 11585 \n3 11583 2651 11584 \n3 11585 11584 5642 \n3 4263 11586 11588 \n3 11586 5643 11587 \n3 11588 11587 2649 \n3 2650 11589 11591 \n3 11589 5644 11590 \n3 11591 11590 5645 \n3 5646 11592 11594 \n3 11592 2654 11593 \n3 11594 11593 5647 \n3 5648 11595 11597 \n3 11595 4267 11596 \n3 11597 11596 2652 \n3 2653 11598 11600 \n3 11598 4271 11599 \n3 11600 11599 5649 \n3 5650 11601 11603 \n3 11601 2657 11602 \n3 11603 11602 4266 \n3 5651 11604 11606 \n3 11604 5652 11605 \n3 11606 11605 2655 \n3 2656 11607 11609 \n3 11607 5653 11608 \n3 11609 11608 4268 \n3 4270 11610 11612 \n3 11610 2660 11611 \n3 11612 11611 5654 \n3 4269 11613 11615 \n3 11613 5655 11614 \n3 11615 11614 2658 \n3 2659 11616 11618 \n3 11616 5656 11617 \n3 11618 11617 5657 \n3 5658 11619 11621 \n3 11619 2663 11620 \n3 11621 11620 5659 \n3 5660 11622 11624 \n3 11622 4273 11623 \n3 11624 11623 2661 \n3 2662 11625 11627 \n3 11625 4277 11626 \n3 11627 11626 5661 \n3 5662 11628 11630 \n3 11628 2666 11629 \n3 11630 11629 4272 \n3 5663 11631 11633 \n3 11631 5664 11632 \n3 11633 11632 2664 \n3 2665 11634 11636 \n3 11634 5665 11635 \n3 11636 11635 4274 \n3 4276 11637 11639 \n3 11637 2669 11638 \n3 11639 11638 5666 \n3 4275 11640 11642 \n3 11640 5667 11641 \n3 11642 11641 2667 \n3 2668 11643 11645 \n3 11643 5668 11644 \n3 11645 11644 5669 \n3 5670 11646 11648 \n3 11646 2672 11647 \n3 11648 11647 5671 \n3 5672 11649 11651 \n3 11649 4279 11650 \n3 11651 11650 2670 \n3 2671 11652 11654 \n3 11652 4283 11653 \n3 11654 11653 5673 \n3 5674 11655 11657 \n3 11655 2675 11656 \n3 11657 11656 4278 \n3 5675 11658 11660 \n3 11658 5676 11659 \n3 11660 11659 2673 \n3 2674 11661 11663 \n3 11661 5677 11662 \n3 11663 11662 4280 \n3 4282 11664 11666 \n3 11664 2678 11665 \n3 11666 11665 5678 \n3 4281 11667 11669 \n3 11667 5679 11668 \n3 11669 11668 2676 \n3 2677 11670 11672 \n3 11670 5680 11671 \n3 11672 11671 5681 \n3 5682 11673 11675 \n3 11673 2681 11674 \n3 11675 11674 5683 \n3 5684 11676 11678 \n3 11676 4285 11677 \n3 11678 11677 2679 \n3 2680 11679 11681 \n3 11679 4289 11680 \n3 11681 11680 5685 \n3 5686 11682 11684 \n3 11682 2684 11683 \n3 11684 11683 4284 \n3 5687 11685 11687 \n3 11685 5688 11686 \n3 11687 11686 2682 \n3 2683 11688 11690 \n3 11688 5689 11689 \n3 11690 11689 4286 \n3 4288 11691 11693 \n3 11691 2687 11692 \n3 11693 11692 5690 \n3 4287 11694 11696 \n3 11694 5691 11695 \n3 11696 11695 2685 \n3 2686 11697 11699 \n3 11697 5692 11698 \n3 11699 11698 5693 \n3 5694 11700 11702 \n3 11700 2690 11701 \n3 11702 11701 5695 \n3 5696 11703 11705 \n3 11703 4291 11704 \n3 11705 11704 2688 \n3 2689 11706 11708 \n3 11706 4295 11707 \n3 11708 11707 5697 \n3 5698 11709 11711 \n3 11709 2693 11710 \n3 11711 11710 4290 \n3 5699 11712 11714 \n3 11712 5700 11713 \n3 11714 11713 2691 \n3 2692 11715 11717 \n3 11715 5701 11716 \n3 11717 11716 4292 \n3 4294 11718 11720 \n3 11718 2696 11719 \n3 11720 11719 5702 \n3 4293 11721 11723 \n3 11721 5703 11722 \n3 11723 11722 2694 \n3 2695 11724 11726 \n3 11724 5704 11725 \n3 11726 11725 5705 \n3 5706 11727 11729 \n3 11727 2699 11728 \n3 11729 11728 5707 \n3 5708 11730 11732 \n3 11730 4297 11731 \n3 11732 11731 2697 \n3 2698 11733 11735 \n3 11733 4301 11734 \n3 11735 11734 5709 \n3 5710 11736 11738 \n3 11736 2702 11737 \n3 11738 11737 4296 \n3 5711 11739 11741 \n3 11739 5712 11740 \n3 11741 11740 2700 \n3 2701 11742 11744 \n3 11742 5713 11743 \n3 11744 11743 4298 \n3 4300 11745 11747 \n3 11745 2705 11746 \n3 11747 11746 5714 \n3 4299 11748 11750 \n3 11748 5715 11749 \n3 11750 11749 2703 \n3 2704 11751 11753 \n3 11751 5716 11752 \n3 11753 11752 5717 \n3 5718 11754 11756 \n3 11754 2708 11755 \n3 11756 11755 5719 \n3 5720 11757 11759 \n3 11757 4303 11758 \n3 11759 11758 2706 \n3 2707 11760 11762 \n3 11760 4307 11761 \n3 11762 11761 5721 \n3 5722 11763 11765 \n3 11763 2711 11764 \n3 11765 11764 4302 \n3 5723 11766 11768 \n3 11766 5724 11767 \n3 11768 11767 2709 \n3 2710 11769 11771 \n3 11769 5725 11770 \n3 11771 11770 4304 \n3 4306 11772 11774 \n3 11772 2714 11773 \n3 11774 11773 5726 \n3 4305 11775 11777 \n3 11775 5727 11776 \n3 11777 11776 2712 \n3 2713 11778 11780 \n3 11778 5728 11779 \n3 11780 11779 5729 \n3 5730 11781 11783 \n3 11781 2717 11782 \n3 11783 11782 5731 \n3 5732 11784 11786 \n3 11784 4309 11785 \n3 11786 11785 2715 \n3 2716 11787 11789 \n3 11787 4313 11788 \n3 11789 11788 5733 \n3 5734 11790 11792 \n3 11790 2720 11791 \n3 11792 11791 4308 \n3 5735 11793 11795 \n3 11793 5736 11794 \n3 11795 11794 2718 \n3 2719 11796 11798 \n3 11796 5737 11797 \n3 11798 11797 4310 \n3 4312 11799 11801 \n3 11799 2723 11800 \n3 11801 11800 5738 \n3 4311 11802 11804 \n3 11802 5739 11803 \n3 11804 11803 2721 \n3 2722 11805 11807 \n3 11805 5740 11806 \n3 11807 11806 5741 \n3 5742 11808 11810 \n3 11808 2726 11809 \n3 11810 11809 5743 \n3 5744 11811 11813 \n3 11811 4315 11812 \n3 11813 11812 2724 \n3 2725 11814 11816 \n3 11814 4319 11815 \n3 11816 11815 5745 \n3 5746 11817 11819 \n3 11817 2729 11818 \n3 11819 11818 4314 \n3 5747 11820 11822 \n3 11820 5748 11821 \n3 11822 11821 2727 \n3 2728 11823 11825 \n3 11823 5749 11824 \n3 11825 11824 4316 \n3 4318 11826 11828 \n3 11826 2732 11827 \n3 11828 11827 5750 \n3 4317 11829 11831 \n3 11829 5751 11830 \n3 11831 11830 2730 \n3 2731 11832 11834 \n3 11832 5752 11833 \n3 11834 11833 5753 \n3 5754 11835 11837 \n3 11835 2735 11836 \n3 11837 11836 5755 \n3 5756 11838 11840 \n3 11838 4321 11839 \n3 11840 11839 2733 \n3 2734 11841 11843 \n3 11841 4325 11842 \n3 11843 11842 5757 \n3 5758 11844 11846 \n3 11844 2738 11845 \n3 11846 11845 4320 \n3 5759 11847 11849 \n3 11847 5760 11848 \n3 11849 11848 2736 \n3 2737 11850 11852 \n3 11850 5761 11851 \n3 11852 11851 4322 \n3 4324 11853 11855 \n3 11853 2741 11854 \n3 11855 11854 5762 \n3 4323 11856 11858 \n3 11856 5763 11857 \n3 11858 11857 2739 \n3 2740 11859 11861 \n3 11859 5764 11860 \n3 11861 11860 5765 \n3 5766 11862 11864 \n3 11862 2744 11863 \n3 11864 11863 5767 \n3 5768 11865 11867 \n3 11865 4327 11866 \n3 11867 11866 2742 \n3 2743 11868 11870 \n3 11868 4331 11869 \n3 11870 11869 5769 \n3 5770 11871 11873 \n3 11871 2747 11872 \n3 11873 11872 4326 \n3 5771 11874 11876 \n3 11874 5191 11875 \n3 11876 11875 2745 \n3 2746 11877 11879 \n3 11877 5193 11878 \n3 11879 11878 4328 \n3 4330 11880 11882 \n3 11880 2750 11881 \n3 11882 11881 5772 \n3 4329 11883 11885 \n3 11883 5198 11884 \n3 11885 11884 2748 \n3 2749 11886 11888 \n3 11886 5201 11887 \n3 11888 11887 5773 \n3 5774 11889 11891 \n3 11889 2753 11890 \n3 11891 11890 5190 \n3 5775 11892 11894 \n3 11892 4333 11893 \n3 11894 11893 2751 \n3 2752 11895 11897 \n3 11895 4337 11896 \n3 11897 11896 5192 \n3 5776 11898 11900 \n3 11898 2756 11899 \n3 11900 11899 4332 \n3 5777 11901 11903 \n3 11901 5778 11902 \n3 11903 11902 2754 \n3 2755 11904 11906 \n3 11904 5779 11905 \n3 11906 11905 4334 \n3 4336 11907 11909 \n3 11907 2759 11908 \n3 11909 11908 5194 \n3 4335 11910 11912 \n3 11910 5780 11911 \n3 11912 11911 2757 \n3 2758 11913 11915 \n3 11913 5781 11914 \n3 11915 11914 5195 \n3 5200 11916 11918 \n3 11916 2762 11917 \n3 11918 11917 5782 \n3 5199 11919 11921 \n3 11919 4339 11920 \n3 11921 11920 2760 \n3 2761 11922 11924 \n3 11922 4343 11923 \n3 11924 11923 5783 \n3 5197 11925 11927 \n3 11925 2765 11926 \n3 11927 11926 4338 \n3 5196 11928 11930 \n3 11928 5784 11929 \n3 11930 11929 2763 \n3 2764 11931 11933 \n3 11931 5785 11932 \n3 11933 11932 4340 \n3 4342 11934 11936 \n3 11934 2768 11935 \n3 11936 11935 5786 \n3 4341 11937 11939 \n3 11937 5787 11938 \n3 11939 11938 2766 \n3 2767 11940 11942 \n3 11940 5788 11941 \n3 11942 11941 5789 \n3 5790 11943 11945 \n3 11943 2771 11944 \n3 11945 11944 5791 \n3 5792 11946 11948 \n3 11946 4345 11947 \n3 11948 11947 2769 \n3 2770 11949 11951 \n3 11949 4349 11950 \n3 11951 11950 5793 \n3 5794 11952 11954 \n3 11952 2774 11953 \n3 11954 11953 4344 \n3 5795 11955 11957 \n3 11955 5203 11956 \n3 11957 11956 2772 \n3 2773 11958 11960 \n3 11958 5205 11959 \n3 11960 11959 4346 \n3 4348 11961 11963 \n3 11961 2777 11962 \n3 11963 11962 5796 \n3 4347 11964 11966 \n3 11964 5210 11965 \n3 11966 11965 2775 \n3 2776 11967 11969 \n3 11967 5213 11968 \n3 11969 11968 5797 \n3 5798 11970 11972 \n3 11970 2780 11971 \n3 11972 11971 5202 \n3 5799 11973 11975 \n3 11973 4351 11974 \n3 11975 11974 2778 \n3 2779 11976 11978 \n3 11976 4355 11977 \n3 11978 11977 5204 \n3 5800 11979 11981 \n3 11979 2783 11980 \n3 11981 11980 4350 \n3 5801 11982 11984 \n3 11982 5802 11983 \n3 11984 11983 2781 \n3 2782 11985 11987 \n3 11985 5803 11986 \n3 11987 11986 4352 \n3 4354 11988 11990 \n3 11988 2786 11989 \n3 11990 11989 5206 \n3 4353 11991 11993 \n3 11991 5804 11992 \n3 11993 11992 2784 \n3 2785 11994 11996 \n3 11994 5805 11995 \n3 11996 11995 5207 \n3 5212 11997 11999 \n3 11997 2789 11998 \n3 11999 11998 5806 \n3 5211 12000 12002 \n3 12000 4357 12001 \n3 12002 12001 2787 \n3 2788 12003 12005 \n3 12003 4361 12004 \n3 12005 12004 5807 \n3 5209 12006 12008 \n3 12006 2792 12007 \n3 12008 12007 4356 \n3 5208 12009 12011 \n3 12009 5808 12010 \n3 12011 12010 2790 \n3 2791 12012 12014 \n3 12012 5809 12013 \n3 12014 12013 4358 \n3 4360 12015 12017 \n3 12015 2795 12016 \n3 12017 12016 5810 \n3 4359 12018 12020 \n3 12018 5811 12019 \n3 12020 12019 2793 \n3 2794 12021 12023 \n3 12021 5812 12022 \n3 12023 12022 5813 \n3 5814 12024 12026 \n3 12024 2798 12025 \n3 12026 12025 5815 \n3 5816 12027 12029 \n3 12027 4363 12028 \n3 12029 12028 2796 \n3 2797 12030 12032 \n3 12030 4367 12031 \n3 12032 12031 5817 \n3 5818 12033 12035 \n3 12033 2801 12034 \n3 12035 12034 4362 \n3 5819 12036 12038 \n3 12036 5215 12037 \n3 12038 12037 2799 \n3 2800 12039 12041 \n3 12039 5217 12040 \n3 12041 12040 4364 \n3 4366 12042 12044 \n3 12042 2804 12043 \n3 12044 12043 5820 \n3 4365 12045 12047 \n3 12045 5222 12046 \n3 12047 12046 2802 \n3 2803 12048 12050 \n3 12048 5225 12049 \n3 12050 12049 5821 \n3 5822 12051 12053 \n3 12051 2807 12052 \n3 12053 12052 5214 \n3 5823 12054 12056 \n3 12054 4369 12055 \n3 12056 12055 2805 \n3 2806 12057 12059 \n3 12057 4373 12058 \n3 12059 12058 5216 \n3 5824 12060 12062 \n3 12060 2810 12061 \n3 12062 12061 4368 \n3 5825 12063 12065 \n3 12063 5826 12064 \n3 12065 12064 2808 \n3 2809 12066 12068 \n3 12066 5827 12067 \n3 12068 12067 4370 \n3 4372 12069 12071 \n3 12069 2813 12070 \n3 12071 12070 5218 \n3 4371 12072 12074 \n3 12072 5828 12073 \n3 12074 12073 2811 \n3 2812 12075 12077 \n3 12075 5829 12076 \n3 12077 12076 5219 \n3 5224 12078 12080 \n3 12078 2816 12079 \n3 12080 12079 5830 \n3 5223 12081 12083 \n3 12081 4375 12082 \n3 12083 12082 2814 \n3 2815 12084 12086 \n3 12084 4379 12085 \n3 12086 12085 5831 \n3 5221 12087 12089 \n3 12087 2819 12088 \n3 12089 12088 4374 \n3 5220 12090 12092 \n3 12090 5832 12091 \n3 12092 12091 2817 \n3 2818 12093 12095 \n3 12093 5833 12094 \n3 12095 12094 4376 \n3 4378 12096 12098 \n3 12096 2822 12097 \n3 12098 12097 5834 \n3 4377 12099 12101 \n3 12099 5835 12100 \n3 12101 12100 2820 \n3 2821 12102 12104 \n3 12102 5836 12103 \n3 12104 12103 5837 \n3 5838 12105 12107 \n3 12105 2825 12106 \n3 12107 12106 5839 \n3 5840 12108 12110 \n3 12108 4381 12109 \n3 12110 12109 2823 \n3 2824 12111 12113 \n3 12111 4385 12112 \n3 12113 12112 5841 \n3 5842 12114 12116 \n3 12114 2828 12115 \n3 12116 12115 4380 \n3 5843 12117 12119 \n3 12117 5227 12118 \n3 12119 12118 2826 \n3 2827 12120 12122 \n3 12120 5229 12121 \n3 12122 12121 4382 \n3 4384 12123 12125 \n3 12123 2831 12124 \n3 12125 12124 5844 \n3 4383 12126 12128 \n3 12126 5234 12127 \n3 12128 12127 2829 \n3 2830 12129 12131 \n3 12129 5237 12130 \n3 12131 12130 5845 \n3 5846 12132 12134 \n3 12132 2834 12133 \n3 12134 12133 5226 \n3 5847 12135 12137 \n3 12135 4387 12136 \n3 12137 12136 2832 \n3 2833 12138 12140 \n3 12138 4391 12139 \n3 12140 12139 5228 \n3 5848 12141 12143 \n3 12141 2837 12142 \n3 12143 12142 4386 \n3 5849 12144 12146 \n3 12144 5850 12145 \n3 12146 12145 2835 \n3 2836 12147 12149 \n3 12147 5851 12148 \n3 12149 12148 4388 \n3 4390 12150 12152 \n3 12150 2840 12151 \n3 12152 12151 5230 \n3 4389 12153 12155 \n3 12153 5852 12154 \n3 12155 12154 2838 \n3 2839 12156 12158 \n3 12156 5853 12157 \n3 12158 12157 5231 \n3 5236 12159 12161 \n3 12159 2843 12160 \n3 12161 12160 5854 \n3 5235 12162 12164 \n3 12162 4393 12163 \n3 12164 12163 2841 \n3 2842 12165 12167 \n3 12165 4397 12166 \n3 12167 12166 5855 \n3 5233 12168 12170 \n3 12168 2846 12169 \n3 12170 12169 4392 \n3 5232 12171 12173 \n3 12171 5856 12172 \n3 12173 12172 2844 \n3 2845 12174 12176 \n3 12174 5857 12175 \n3 12176 12175 4394 \n3 4396 12177 12179 \n3 12177 2849 12178 \n3 12179 12178 5858 \n3 4395 12180 12182 \n3 12180 5859 12181 \n3 12182 12181 2847 \n3 2848 12183 12185 \n3 12183 5860 12184 \n3 12185 12184 5861 \n3 5862 12186 12188 \n3 12186 2852 12187 \n3 12188 12187 5863 \n3 5864 12189 12191 \n3 12189 4399 12190 \n3 12191 12190 2850 \n3 2851 12192 12194 \n3 12192 4403 12193 \n3 12194 12193 5865 \n3 5866 12195 12197 \n3 12195 2855 12196 \n3 12197 12196 4398 \n3 5867 12198 12200 \n3 12198 5239 12199 \n3 12200 12199 2853 \n3 2854 12201 12203 \n3 12201 5241 12202 \n3 12203 12202 4400 \n3 4402 12204 12206 \n3 12204 2858 12205 \n3 12206 12205 5868 \n3 4401 12207 12209 \n3 12207 5246 12208 \n3 12209 12208 2856 \n3 2857 12210 12212 \n3 12210 5249 12211 \n3 12212 12211 5869 \n3 5870 12213 12215 \n3 12213 2861 12214 \n3 12215 12214 5238 \n3 5871 12216 12218 \n3 12216 4405 12217 \n3 12218 12217 2859 \n3 2860 12219 12221 \n3 12219 4409 12220 \n3 12221 12220 5240 \n3 5872 12222 12224 \n3 12222 2864 12223 \n3 12224 12223 4404 \n3 5873 12225 12227 \n3 12225 5874 12226 \n3 12227 12226 2862 \n3 2863 12228 12230 \n3 12228 5875 12229 \n3 12230 12229 4406 \n3 4408 12231 12233 \n3 12231 2867 12232 \n3 12233 12232 5242 \n3 4407 12234 12236 \n3 12234 5876 12235 \n3 12236 12235 2865 \n3 2866 12237 12239 \n3 12237 5877 12238 \n3 12239 12238 5243 \n3 5248 12240 12242 \n3 12240 2870 12241 \n3 12242 12241 5878 \n3 5247 12243 12245 \n3 12243 4411 12244 \n3 12245 12244 2868 \n3 2869 12246 12248 \n3 12246 4415 12247 \n3 12248 12247 5879 \n3 5245 12249 12251 \n3 12249 2873 12250 \n3 12251 12250 4410 \n3 5244 12252 12254 \n3 12252 5880 12253 \n3 12254 12253 2871 \n3 2872 12255 12257 \n3 12255 5881 12256 \n3 12257 12256 4412 \n3 4414 12258 12260 \n3 12258 2876 12259 \n3 12260 12259 5882 \n3 4413 12261 12263 \n3 12261 5883 12262 \n3 12263 12262 2874 \n3 2875 12264 12266 \n3 12264 5884 12265 \n3 12266 12265 5885 \n3 5886 12267 12269 \n3 12267 2879 12268 \n3 12269 12268 5887 \n3 5888 12270 12272 \n3 12270 4417 12271 \n3 12272 12271 2877 \n3 2878 12273 12275 \n3 12273 4421 12274 \n3 12275 12274 5889 \n3 5890 12276 12278 \n3 12276 2882 12277 \n3 12278 12277 4416 \n3 5891 12279 12281 \n3 12279 5251 12280 \n3 12281 12280 2880 \n3 2881 12282 12284 \n3 12282 5253 12283 \n3 12284 12283 4418 \n3 4420 12285 12287 \n3 12285 2885 12286 \n3 12287 12286 5892 \n3 4419 12288 12290 \n3 12288 5258 12289 \n3 12290 12289 2883 \n3 2884 12291 12293 \n3 12291 5261 12292 \n3 12293 12292 5893 \n3 5894 12294 12296 \n3 12294 2888 12295 \n3 12296 12295 5250 \n3 5895 12297 12299 \n3 12297 4423 12298 \n3 12299 12298 2886 \n3 2887 12300 12302 \n3 12300 4427 12301 \n3 12302 12301 5252 \n3 5896 12303 12305 \n3 12303 2891 12304 \n3 12305 12304 4422 \n3 5897 12306 12308 \n3 12306 5898 12307 \n3 12308 12307 2889 \n3 2890 12309 12311 \n3 12309 5899 12310 \n3 12311 12310 4424 \n3 4426 12312 12314 \n3 12312 2894 12313 \n3 12314 12313 5254 \n3 4425 12315 12317 \n3 12315 5900 12316 \n3 12317 12316 2892 \n3 2893 12318 12320 \n3 12318 5901 12319 \n3 12320 12319 5255 \n3 5260 12321 12323 \n3 12321 2897 12322 \n3 12323 12322 5902 \n3 5259 12324 12326 \n3 12324 4429 12325 \n3 12326 12325 2895 \n3 2896 12327 12329 \n3 12327 4433 12328 \n3 12329 12328 5903 \n3 5257 12330 12332 \n3 12330 2900 12331 \n3 12332 12331 4428 \n3 5256 12333 12335 \n3 12333 5904 12334 \n3 12335 12334 2898 \n3 2899 12336 12338 \n3 12336 5905 12337 \n3 12338 12337 4430 \n3 4432 12339 12341 \n3 12339 2903 12340 \n3 12341 12340 5906 \n3 4431 12342 12344 \n3 12342 5907 12343 \n3 12344 12343 2901 \n3 2902 12345 12347 \n3 12345 5908 12346 \n3 12347 12346 5909 \n3 5910 12348 12350 \n3 12348 2906 12349 \n3 12350 12349 5911 \n3 5912 12351 12353 \n3 12351 4435 12352 \n3 12353 12352 2904 \n3 2905 12354 12356 \n3 12354 4439 12355 \n3 12356 12355 5913 \n3 5914 12357 12359 \n3 12357 2909 12358 \n3 12359 12358 4434 \n3 5915 12360 12362 \n3 12360 5263 12361 \n3 12362 12361 2907 \n3 2908 12363 12365 \n3 12363 5265 12364 \n3 12365 12364 4436 \n3 4438 12366 12368 \n3 12366 2912 12367 \n3 12368 12367 5916 \n3 4437 12369 12371 \n3 12369 5270 12370 \n3 12371 12370 2910 \n3 2911 12372 12374 \n3 12372 5273 12373 \n3 12374 12373 5917 \n3 5918 12375 12377 \n3 12375 2915 12376 \n3 12377 12376 5262 \n3 5919 12378 12380 \n3 12378 4441 12379 \n3 12380 12379 2913 \n3 2914 12381 12383 \n3 12381 4445 12382 \n3 12383 12382 5264 \n3 5920 12384 12386 \n3 12384 2918 12385 \n3 12386 12385 4440 \n3 5921 12387 12389 \n3 12387 5922 12388 \n3 12389 12388 2916 \n3 2917 12390 12392 \n3 12390 5923 12391 \n3 12392 12391 4442 \n3 4444 12393 12395 \n3 12393 2921 12394 \n3 12395 12394 5266 \n3 4443 12396 12398 \n3 12396 5924 12397 \n3 12398 12397 2919 \n3 2920 12399 12401 \n3 12399 5925 12400 \n3 12401 12400 5267 \n3 5272 12402 12404 \n3 12402 2924 12403 \n3 12404 12403 5926 \n3 5271 12405 12407 \n3 12405 4447 12406 \n3 12407 12406 2922 \n3 2923 12408 12410 \n3 12408 4451 12409 \n3 12410 12409 5927 \n3 5269 12411 12413 \n3 12411 2927 12412 \n3 12413 12412 4446 \n3 5268 12414 12416 \n3 12414 5928 12415 \n3 12416 12415 2925 \n3 2926 12417 12419 \n3 12417 5929 12418 \n3 12419 12418 4448 \n3 4450 12420 12422 \n3 12420 2930 12421 \n3 12422 12421 5930 \n3 4449 12423 12425 \n3 12423 5931 12424 \n3 12425 12424 2928 \n3 2929 12426 12428 \n3 12426 5932 12427 \n3 12428 12427 5933 \n3 5934 12429 12431 \n3 12429 2933 12430 \n3 12431 12430 5935 \n3 5936 12432 12434 \n3 12432 4453 12433 \n3 12434 12433 2931 \n3 2932 12435 12437 \n3 12435 4457 12436 \n3 12437 12436 5937 \n3 5938 12438 12440 \n3 12438 2936 12439 \n3 12440 12439 4452 \n3 5939 12441 12443 \n3 12441 5275 12442 \n3 12443 12442 2934 \n3 2935 12444 12446 \n3 12444 5277 12445 \n3 12446 12445 4454 \n3 4456 12447 12449 \n3 12447 2939 12448 \n3 12449 12448 5940 \n3 4455 12450 12452 \n3 12450 5282 12451 \n3 12452 12451 2937 \n3 2938 12453 12455 \n3 12453 5285 12454 \n3 12455 12454 5941 \n3 5942 12456 12458 \n3 12456 2942 12457 \n3 12458 12457 5274 \n3 5943 12459 12461 \n3 12459 4459 12460 \n3 12461 12460 2940 \n3 2941 12462 12464 \n3 12462 4463 12463 \n3 12464 12463 5276 \n3 5944 12465 12467 \n3 12465 2945 12466 \n3 12467 12466 4458 \n3 5945 12468 12470 \n3 12468 5946 12469 \n3 12470 12469 2943 \n3 2944 12471 12473 \n3 12471 5947 12472 \n3 12473 12472 4460 \n3 4462 12474 12476 \n3 12474 2948 12475 \n3 12476 12475 5278 \n3 4461 12477 12479 \n3 12477 5948 12478 \n3 12479 12478 2946 \n3 2947 12480 12482 \n3 12480 5949 12481 \n3 12482 12481 5279 \n3 5284 12483 12485 \n3 12483 2951 12484 \n3 12485 12484 5950 \n3 5283 12486 12488 \n3 12486 4465 12487 \n3 12488 12487 2949 \n3 2950 12489 12491 \n3 12489 4469 12490 \n3 12491 12490 5951 \n3 5281 12492 12494 \n3 12492 2954 12493 \n3 12494 12493 4464 \n3 5280 12495 12497 \n3 12495 5952 12496 \n3 12497 12496 2952 \n3 2953 12498 12500 \n3 12498 5953 12499 \n3 12500 12499 4466 \n3 4468 12501 12503 \n3 12501 2957 12502 \n3 12503 12502 5954 \n3 4467 12504 12506 \n3 12504 5955 12505 \n3 12506 12505 2955 \n3 2956 12507 12509 \n3 12507 5956 12508 \n3 12509 12508 5957 \n3 5958 12510 12512 \n3 12510 2960 12511 \n3 12512 12511 5959 \n3 5960 12513 12515 \n3 12513 4471 12514 \n3 12515 12514 2958 \n3 2959 12516 12518 \n3 12516 4475 12517 \n3 12518 12517 5961 \n3 5962 12519 12521 \n3 12519 2963 12520 \n3 12521 12520 4470 \n3 5963 12522 12524 \n3 12522 5287 12523 \n3 12524 12523 2961 \n3 2962 12525 12527 \n3 12525 5289 12526 \n3 12527 12526 4472 \n3 4474 12528 12530 \n3 12528 2966 12529 \n3 12530 12529 5964 \n3 4473 12531 12533 \n3 12531 5294 12532 \n3 12533 12532 2964 \n3 2965 12534 12536 \n3 12534 5297 12535 \n3 12536 12535 5965 \n3 5966 12537 12539 \n3 12537 2969 12538 \n3 12539 12538 5286 \n3 5967 12540 12542 \n3 12540 4477 12541 \n3 12542 12541 2967 \n3 2968 12543 12545 \n3 12543 4481 12544 \n3 12545 12544 5288 \n3 5968 12546 12548 \n3 12546 2972 12547 \n3 12548 12547 4476 \n3 5969 12549 12551 \n3 12549 5970 12550 \n3 12551 12550 2970 \n3 2971 12552 12554 \n3 12552 5971 12553 \n3 12554 12553 4478 \n3 4480 12555 12557 \n3 12555 2975 12556 \n3 12557 12556 5290 \n3 4479 12558 12560 \n3 12558 5972 12559 \n3 12560 12559 2973 \n3 2974 12561 12563 \n3 12561 5973 12562 \n3 12563 12562 5291 \n3 5296 12564 12566 \n3 12564 2978 12565 \n3 12566 12565 5974 \n3 5295 12567 12569 \n3 12567 4483 12568 \n3 12569 12568 2976 \n3 2977 12570 12572 \n3 12570 4487 12571 \n3 12572 12571 5975 \n3 5293 12573 12575 \n3 12573 2981 12574 \n3 12575 12574 4482 \n3 5292 12576 12578 \n3 12576 5976 12577 \n3 12578 12577 2979 \n3 2980 12579 12581 \n3 12579 5977 12580 \n3 12581 12580 4484 \n3 4486 12582 12584 \n3 12582 2984 12583 \n3 12584 12583 5978 \n3 4485 12585 12587 \n3 12585 5979 12586 \n3 12587 12586 2982 \n3 2983 12588 12590 \n3 12588 5980 12589 \n3 12590 12589 5981 \n3 5982 12591 12593 \n3 12591 2987 12592 \n3 12593 12592 5983 \n3 5984 12594 12596 \n3 12594 4489 12595 \n3 12596 12595 2985 \n3 2986 12597 12599 \n3 12597 4493 12598 \n3 12599 12598 5985 \n3 5986 12600 12602 \n3 12600 2990 12601 \n3 12602 12601 4488 \n3 5987 12603 12605 \n3 12603 5299 12604 \n3 12605 12604 2988 \n3 2989 12606 12608 \n3 12606 5301 12607 \n3 12608 12607 4490 \n3 4492 12609 12611 \n3 12609 2993 12610 \n3 12611 12610 5988 \n3 4491 12612 12614 \n3 12612 5306 12613 \n3 12614 12613 2991 \n3 2992 12615 12617 \n3 12615 5309 12616 \n3 12617 12616 5989 \n3 5990 12618 12620 \n3 12618 2996 12619 \n3 12620 12619 5298 \n3 5991 12621 12623 \n3 12621 4495 12622 \n3 12623 12622 2994 \n3 2995 12624 12626 \n3 12624 4499 12625 \n3 12626 12625 5300 \n3 5992 12627 12629 \n3 12627 2999 12628 \n3 12629 12628 4494 \n3 5993 12630 12632 \n3 12630 5994 12631 \n3 12632 12631 2997 \n3 2998 12633 12635 \n3 12633 5995 12634 \n3 12635 12634 4496 \n3 4498 12636 12638 \n3 12636 3002 12637 \n3 12638 12637 5302 \n3 4497 12639 12641 \n3 12639 5996 12640 \n3 12641 12640 3000 \n3 3001 12642 12644 \n3 12642 5997 12643 \n3 12644 12643 5303 \n3 5308 12645 12647 \n3 12645 3005 12646 \n3 12647 12646 5998 \n3 5307 12648 12650 \n3 12648 4501 12649 \n3 12650 12649 3003 \n3 3004 12651 12653 \n3 12651 4505 12652 \n3 12653 12652 5999 \n3 5305 12654 12656 \n3 12654 3008 12655 \n3 12656 12655 4500 \n3 5304 12657 12659 \n3 12657 6000 12658 \n3 12659 12658 3006 \n3 3007 12660 12662 \n3 12660 6001 12661 \n3 12662 12661 4502 \n3 4504 12663 12665 \n3 12663 3011 12664 \n3 12665 12664 6002 \n3 4503 12666 12668 \n3 12666 6003 12667 \n3 12668 12667 3009 \n3 3010 12669 12671 \n3 12669 6004 12670 \n3 12671 12670 6005 \n3 6006 12672 12674 \n3 12672 3014 12673 \n3 12674 12673 6007 \n3 6008 12675 12677 \n3 12675 4507 12676 \n3 12677 12676 3012 \n3 3013 12678 12680 \n3 12678 4511 12679 \n3 12680 12679 6009 \n3 6010 12681 12683 \n3 12681 3017 12682 \n3 12683 12682 4506 \n3 6011 12684 12686 \n3 12684 5311 12685 \n3 12686 12685 3015 \n3 3016 12687 12689 \n3 12687 5313 12688 \n3 12689 12688 4508 \n3 4510 12690 12692 \n3 12690 3020 12691 \n3 12692 12691 6012 \n3 4509 12693 12695 \n3 12693 5318 12694 \n3 12695 12694 3018 \n3 3019 12696 12698 \n3 12696 5321 12697 \n3 12698 12697 6013 \n3 6014 12699 12701 \n3 12699 3023 12700 \n3 12701 12700 5310 \n3 6015 12702 12704 \n3 12702 4513 12703 \n3 12704 12703 3021 \n3 3022 12705 12707 \n3 12705 4517 12706 \n3 12707 12706 5312 \n3 6016 12708 12710 \n3 12708 3026 12709 \n3 12710 12709 4512 \n3 6017 12711 12713 \n3 12711 6018 12712 \n3 12713 12712 3024 \n3 3025 12714 12716 \n3 12714 6019 12715 \n3 12716 12715 4514 \n3 4516 12717 12719 \n3 12717 3029 12718 \n3 12719 12718 5314 \n3 4515 12720 12722 \n3 12720 6020 12721 \n3 12722 12721 3027 \n3 3028 12723 12725 \n3 12723 6021 12724 \n3 12725 12724 5315 \n3 5320 12726 12728 \n3 12726 3032 12727 \n3 12728 12727 6022 \n3 5319 12729 12731 \n3 12729 4519 12730 \n3 12731 12730 3030 \n3 3031 12732 12734 \n3 12732 4523 12733 \n3 12734 12733 6023 \n3 5317 12735 12737 \n3 12735 3035 12736 \n3 12737 12736 4518 \n3 5316 12738 12740 \n3 12738 6024 12739 \n3 12740 12739 3033 \n3 3034 12741 12743 \n3 12741 6025 12742 \n3 12743 12742 4520 \n3 4522 12744 12746 \n3 12744 3038 12745 \n3 12746 12745 6026 \n3 4521 12747 12749 \n3 12747 6027 12748 \n3 12749 12748 3036 \n3 3037 12750 12752 \n3 12750 6028 12751 \n3 12752 12751 6029 \n3 6030 12753 12755 \n3 12753 3041 12754 \n3 12755 12754 6031 \n3 6032 12756 12758 \n3 12756 4525 12757 \n3 12758 12757 3039 \n3 3040 12759 12761 \n3 12759 4529 12760 \n3 12761 12760 6033 \n3 6034 12762 12764 \n3 12762 3044 12763 \n3 12764 12763 4524 \n3 6035 12765 12767 \n3 12765 5323 12766 \n3 12767 12766 3042 \n3 3043 12768 12770 \n3 12768 5325 12769 \n3 12770 12769 4526 \n3 4528 12771 12773 \n3 12771 3047 12772 \n3 12773 12772 6036 \n3 4527 12774 12776 \n3 12774 5330 12775 \n3 12776 12775 3045 \n3 3046 12777 12779 \n3 12777 5333 12778 \n3 12779 12778 6037 \n3 6038 12780 12782 \n3 12780 3050 12781 \n3 12782 12781 5322 \n3 6039 12783 12785 \n3 12783 4531 12784 \n3 12785 12784 3048 \n3 3049 12786 12788 \n3 12786 4535 12787 \n3 12788 12787 5324 \n3 6040 12789 12791 \n3 12789 3053 12790 \n3 12791 12790 4530 \n3 6041 12792 12794 \n3 12792 6042 12793 \n3 12794 12793 3051 \n3 3052 12795 12797 \n3 12795 6043 12796 \n3 12797 12796 4532 \n3 4534 12798 12800 \n3 12798 3056 12799 \n3 12800 12799 5326 \n3 4533 12801 12803 \n3 12801 6044 12802 \n3 12803 12802 3054 \n3 3055 12804 12806 \n3 12804 6045 12805 \n3 12806 12805 5327 \n3 5332 12807 12809 \n3 12807 3059 12808 \n3 12809 12808 6046 \n3 5331 12810 12812 \n3 12810 4537 12811 \n3 12812 12811 3057 \n3 3058 12813 12815 \n3 12813 4541 12814 \n3 12815 12814 6047 \n3 5329 12816 12818 \n3 12816 3062 12817 \n3 12818 12817 4536 \n3 5328 12819 12821 \n3 12819 6048 12820 \n3 12821 12820 3060 \n3 3061 12822 12824 \n3 12822 6049 12823 \n3 12824 12823 4538 \n3 4540 12825 12827 \n3 12825 3065 12826 \n3 12827 12826 6050 \n3 4539 12828 12830 \n3 12828 6051 12829 \n3 12830 12829 3063 \n3 3064 12831 12833 \n3 12831 6052 12832 \n3 12833 12832 6053 \n3 6054 12834 12836 \n3 12834 3068 12835 \n3 12836 12835 6055 \n3 6056 12837 12839 \n3 12837 4543 12838 \n3 12839 12838 3066 \n3 3067 12840 12842 \n3 12840 4547 12841 \n3 12842 12841 6057 \n3 6058 12843 12845 \n3 12843 3071 12844 \n3 12845 12844 4542 \n3 6059 12846 12848 \n3 12846 5335 12847 \n3 12848 12847 3069 \n3 3070 12849 12851 \n3 12849 5337 12850 \n3 12851 12850 4544 \n3 4546 12852 12854 \n3 12852 3074 12853 \n3 12854 12853 6060 \n3 4545 12855 12857 \n3 12855 5342 12856 \n3 12857 12856 3072 \n3 3073 12858 12860 \n3 12858 5345 12859 \n3 12860 12859 6061 \n3 6062 12861 12863 \n3 12861 3077 12862 \n3 12863 12862 5334 \n3 6063 12864 12866 \n3 12864 4549 12865 \n3 12866 12865 3075 \n3 3076 12867 12869 \n3 12867 4553 12868 \n3 12869 12868 5336 \n3 6064 12870 12872 \n3 12870 3080 12871 \n3 12872 12871 4548 \n3 6065 12873 12875 \n3 12873 5767 12874 \n3 12875 12874 3078 \n3 3079 12876 12878 \n3 12876 5769 12877 \n3 12878 12877 4550 \n3 4552 12879 12881 \n3 12879 3083 12880 \n3 12881 12880 5338 \n3 4551 12882 12884 \n3 12882 5772 12883 \n3 12884 12883 3081 \n3 3082 12885 12887 \n3 12885 5773 12886 \n3 12887 12886 5339 \n3 5344 12888 12890 \n3 12888 3086 12889 \n3 12890 12889 6066 \n3 5343 12891 12893 \n3 12891 4555 12892 \n3 12893 12892 3084 \n3 3085 12894 12896 \n3 12894 4559 12895 \n3 12896 12895 6067 \n3 5341 12897 12899 \n3 12897 3089 12898 \n3 12899 12898 4554 \n3 5340 12900 12902 \n3 12900 5782 12901 \n3 12902 12901 3087 \n3 3088 12903 12905 \n3 12903 5783 12904 \n3 12905 12904 4556 \n3 4558 12906 12908 \n3 12906 3092 12907 \n3 12908 12907 6068 \n3 4557 12909 12911 \n3 12909 5786 12910 \n3 12911 12910 3090 \n3 3091 12912 12914 \n3 12912 5789 12913 \n3 12914 12913 6069 \n3 6070 12915 12917 \n3 12915 3095 12916 \n3 12917 12916 5766 \n3 6071 12918 12920 \n3 12918 4561 12919 \n3 12920 12919 3093 \n3 3094 12921 12923 \n3 12921 4565 12922 \n3 12923 12922 5768 \n3 6072 12924 12926 \n3 12924 3098 12925 \n3 12926 12925 4560 \n3 6073 12927 12929 \n3 12927 5347 12928 \n3 12929 12928 3096 \n3 3097 12930 12932 \n3 12930 5349 12931 \n3 12932 12931 4562 \n3 4564 12933 12935 \n3 12933 3101 12934 \n3 12935 12934 5770 \n3 4563 12936 12938 \n3 12936 5354 12937 \n3 12938 12937 3099 \n3 3100 12939 12941 \n3 12939 5357 12940 \n3 12941 12940 5771 \n3 6074 12942 12944 \n3 12942 3104 12943 \n3 12944 12943 5346 \n3 6075 12945 12947 \n3 12945 4567 12946 \n3 12947 12946 3102 \n3 3103 12948 12950 \n3 12948 4571 12949 \n3 12950 12949 5348 \n3 6076 12951 12953 \n3 12951 3107 12952 \n3 12953 12952 4566 \n3 6077 12954 12956 \n3 12954 6078 12955 \n3 12956 12955 3105 \n3 3106 12957 12959 \n3 12957 6079 12958 \n3 12959 12958 4568 \n3 4570 12960 12962 \n3 12960 3110 12961 \n3 12962 12961 5350 \n3 4569 12963 12965 \n3 12963 6080 12964 \n3 12965 12964 3108 \n3 3109 12966 12968 \n3 12966 6081 12967 \n3 12968 12967 5351 \n3 5356 12969 12971 \n3 12969 3113 12970 \n3 12971 12970 5774 \n3 5355 12972 12974 \n3 12972 4573 12973 \n3 12974 12973 3111 \n3 3112 12975 12977 \n3 12975 4577 12976 \n3 12977 12976 5775 \n3 5353 12978 12980 \n3 12978 3116 12979 \n3 12980 12979 4572 \n3 5352 12981 12983 \n3 12981 6082 12982 \n3 12983 12982 3114 \n3 3115 12984 12986 \n3 12984 6083 12985 \n3 12986 12985 4574 \n3 4576 12987 12989 \n3 12987 3119 12988 \n3 12989 12988 5776 \n3 4575 12990 12992 \n3 12990 6084 12991 \n3 12992 12991 3117 \n3 3118 12993 12995 \n3 12993 6085 12994 \n3 12995 12994 5777 \n3 5788 12996 12998 \n3 12996 3122 12997 \n3 12998 12997 6086 \n3 5787 12999 13001 \n3 12999 4579 13000 \n3 13001 13000 3120 \n3 3121 13002 13004 \n3 13002 4583 13003 \n3 13004 13003 6087 \n3 5785 13005 13007 \n3 13005 3125 13006 \n3 13007 13006 4578 \n3 5784 13008 13010 \n3 13008 5359 13009 \n3 13010 13009 3123 \n3 3124 13011 13013 \n3 13011 5361 13012 \n3 13013 13012 4580 \n3 4582 13014 13016 \n3 13014 3128 13015 \n3 13016 13015 6088 \n3 4581 13017 13019 \n3 13017 5366 13018 \n3 13019 13018 3126 \n3 3127 13020 13022 \n3 13020 5369 13021 \n3 13022 13021 6089 \n3 5781 13023 13025 \n3 13023 3131 13024 \n3 13025 13024 5358 \n3 5780 13026 13028 \n3 13026 4585 13027 \n3 13028 13027 3129 \n3 3130 13029 13031 \n3 13029 4589 13030 \n3 13031 13030 5360 \n3 5779 13032 13034 \n3 13032 3134 13033 \n3 13034 13033 4584 \n3 5778 13035 13037 \n3 13035 6090 13036 \n3 13037 13036 3132 \n3 3133 13038 13040 \n3 13038 6091 13039 \n3 13040 13039 4586 \n3 4588 13041 13043 \n3 13041 3137 13042 \n3 13043 13042 5362 \n3 4587 13044 13046 \n3 13044 6092 13045 \n3 13046 13045 3135 \n3 3136 13047 13049 \n3 13047 6093 13048 \n3 13049 13048 5363 \n3 5368 13050 13052 \n3 13050 3140 13051 \n3 13052 13051 6094 \n3 5367 13053 13055 \n3 13053 4591 13054 \n3 13055 13054 3138 \n3 3139 13056 13058 \n3 13056 4595 13057 \n3 13058 13057 6095 \n3 5365 13059 13061 \n3 13059 3143 13060 \n3 13061 13060 4590 \n3 5364 13062 13064 \n3 13062 6096 13063 \n3 13064 13063 3141 \n3 3142 13065 13067 \n3 13065 6097 13066 \n3 13067 13066 4592 \n3 4594 13068 13070 \n3 13068 3146 13069 \n3 13070 13069 6098 \n3 4593 13071 13073 \n3 13071 6099 13072 \n3 13073 13072 3144 \n3 3145 13074 13076 \n3 13074 6100 13075 \n3 13076 13075 6101 \n3 6102 13077 13079 \n3 13077 3149 13078 \n3 13079 13078 6103 \n3 6104 13080 13082 \n3 13080 4597 13081 \n3 13082 13081 3147 \n3 3148 13083 13085 \n3 13083 4601 13084 \n3 13085 13084 6105 \n3 6106 13086 13088 \n3 13086 3152 13087 \n3 13088 13087 4596 \n3 6107 13089 13091 \n3 13089 5371 13090 \n3 13091 13090 3150 \n3 3151 13092 13094 \n3 13092 5373 13093 \n3 13094 13093 4598 \n3 4600 13095 13097 \n3 13095 3155 13096 \n3 13097 13096 6108 \n3 4599 13098 13100 \n3 13098 5378 13099 \n3 13100 13099 3153 \n3 3154 13101 13103 \n3 13101 5381 13102 \n3 13103 13102 6109 \n3 6110 13104 13106 \n3 13104 3158 13105 \n3 13106 13105 5370 \n3 6111 13107 13109 \n3 13107 4603 13108 \n3 13109 13108 3156 \n3 3157 13110 13112 \n3 13110 4607 13111 \n3 13112 13111 5372 \n3 6112 13113 13115 \n3 13113 3161 13114 \n3 13115 13114 4602 \n3 6113 13116 13118 \n3 13116 5791 13117 \n3 13118 13117 3159 \n3 3160 13119 13121 \n3 13119 5793 13120 \n3 13121 13120 4604 \n3 4606 13122 13124 \n3 13122 3164 13123 \n3 13124 13123 5374 \n3 4605 13125 13127 \n3 13125 5796 13126 \n3 13127 13126 3162 \n3 3163 13128 13130 \n3 13128 5797 13129 \n3 13130 13129 5375 \n3 5380 13131 13133 \n3 13131 3167 13132 \n3 13133 13132 6114 \n3 5379 13134 13136 \n3 13134 4609 13135 \n3 13136 13135 3165 \n3 3166 13137 13139 \n3 13137 4613 13138 \n3 13139 13138 6115 \n3 5377 13140 13142 \n3 13140 3170 13141 \n3 13142 13141 4608 \n3 5376 13143 13145 \n3 13143 5806 13144 \n3 13145 13144 3168 \n3 3169 13146 13148 \n3 13146 5807 13147 \n3 13148 13147 4610 \n3 4612 13149 13151 \n3 13149 3173 13150 \n3 13151 13150 6116 \n3 4611 13152 13154 \n3 13152 5810 13153 \n3 13154 13153 3171 \n3 3172 13155 13157 \n3 13155 5813 13156 \n3 13157 13156 6117 \n3 6118 13158 13160 \n3 13158 3176 13159 \n3 13160 13159 5790 \n3 6119 13161 13163 \n3 13161 4615 13162 \n3 13163 13162 3174 \n3 3175 13164 13166 \n3 13164 4619 13165 \n3 13166 13165 5792 \n3 6120 13167 13169 \n3 13167 3179 13168 \n3 13169 13168 4614 \n3 6121 13170 13172 \n3 13170 5383 13171 \n3 13172 13171 3177 \n3 3178 13173 13175 \n3 13173 5385 13174 \n3 13175 13174 4616 \n3 4618 13176 13178 \n3 13176 3182 13177 \n3 13178 13177 5794 \n3 4617 13179 13181 \n3 13179 5390 13180 \n3 13181 13180 3180 \n3 3181 13182 13184 \n3 13182 5393 13183 \n3 13184 13183 5795 \n3 6122 13185 13187 \n3 13185 3185 13186 \n3 13187 13186 5382 \n3 6123 13188 13190 \n3 13188 4621 13189 \n3 13190 13189 3183 \n3 3184 13191 13193 \n3 13191 4625 13192 \n3 13193 13192 5384 \n3 6124 13194 13196 \n3 13194 3188 13195 \n3 13196 13195 4620 \n3 6125 13197 13199 \n3 13197 6100 13198 \n3 13199 13198 3186 \n3 3187 13200 13202 \n3 13200 6099 13201 \n3 13202 13201 4622 \n3 4624 13203 13205 \n3 13203 3191 13204 \n3 13205 13204 5386 \n3 4623 13206 13208 \n3 13206 6097 13207 \n3 13208 13207 3189 \n3 3190 13209 13211 \n3 13209 6096 13210 \n3 13211 13210 5387 \n3 5392 13212 13214 \n3 13212 3194 13213 \n3 13214 13213 5798 \n3 5391 13215 13217 \n3 13215 4627 13216 \n3 13217 13216 3192 \n3 3193 13218 13220 \n3 13218 4631 13219 \n3 13220 13219 5799 \n3 5389 13221 13223 \n3 13221 3197 13222 \n3 13223 13222 4626 \n3 5388 13224 13226 \n3 13224 6093 13225 \n3 13226 13225 3195 \n3 3196 13227 13229 \n3 13227 6092 13228 \n3 13229 13228 4628 \n3 4630 13230 13232 \n3 13230 3200 13231 \n3 13232 13231 5800 \n3 4629 13233 13235 \n3 13233 6091 13234 \n3 13235 13234 3198 \n3 3199 13236 13238 \n3 13236 6090 13237 \n3 13238 13237 5801 \n3 5812 13239 13241 \n3 13239 3203 13240 \n3 13241 13240 6126 \n3 5811 13242 13244 \n3 13242 4633 13243 \n3 13244 13243 3201 \n3 3202 13245 13247 \n3 13245 4637 13246 \n3 13247 13246 6127 \n3 5809 13248 13250 \n3 13248 3206 13249 \n3 13250 13249 4632 \n3 5808 13251 13253 \n3 13251 5395 13252 \n3 13253 13252 3204 \n3 3205 13254 13256 \n3 13254 5397 13255 \n3 13256 13255 4634 \n3 4636 13257 13259 \n3 13257 3209 13258 \n3 13259 13258 6128 \n3 4635 13260 13262 \n3 13260 5402 13261 \n3 13262 13261 3207 \n3 3208 13263 13265 \n3 13263 5405 13264 \n3 13265 13264 6129 \n3 5805 13266 13268 \n3 13266 3212 13267 \n3 13268 13267 5394 \n3 5804 13269 13271 \n3 13269 4639 13270 \n3 13271 13270 3210 \n3 3211 13272 13274 \n3 13272 4643 13273 \n3 13274 13273 5396 \n3 5803 13275 13277 \n3 13275 3215 13276 \n3 13277 13276 4638 \n3 5802 13278 13280 \n3 13278 6085 13279 \n3 13280 13279 3213 \n3 3214 13281 13283 \n3 13281 6084 13282 \n3 13283 13282 4640 \n3 4642 13284 13286 \n3 13284 3218 13285 \n3 13286 13285 5398 \n3 4641 13287 13289 \n3 13287 6083 13288 \n3 13289 13288 3216 \n3 3217 13290 13292 \n3 13290 6082 13291 \n3 13292 13291 5399 \n3 5404 13293 13295 \n3 13293 3221 13294 \n3 13295 13294 6130 \n3 5403 13296 13298 \n3 13296 4645 13297 \n3 13298 13297 3219 \n3 3220 13299 13301 \n3 13299 4649 13300 \n3 13301 13300 6131 \n3 5401 13302 13304 \n3 13302 3224 13303 \n3 13304 13303 4644 \n3 5400 13305 13307 \n3 13305 6081 13306 \n3 13307 13306 3222 \n3 3223 13308 13310 \n3 13308 6080 13309 \n3 13310 13309 4646 \n3 4648 13311 13313 \n3 13311 3227 13312 \n3 13313 13312 6132 \n3 4647 13314 13316 \n3 13314 6079 13315 \n3 13316 13315 3225 \n3 3226 13317 13319 \n3 13317 6078 13318 \n3 13319 13318 6133 \n3 6134 13320 13322 \n3 13320 3230 13321 \n3 13322 13321 6135 \n3 6136 13323 13325 \n3 13323 4651 13324 \n3 13325 13324 3228 \n3 3229 13326 13328 \n3 13326 4655 13327 \n3 13328 13327 6137 \n3 6138 13329 13331 \n3 13329 3233 13330 \n3 13331 13330 4650 \n3 6139 13332 13334 \n3 13332 5407 13333 \n3 13334 13333 3231 \n3 3232 13335 13337 \n3 13335 5409 13336 \n3 13337 13336 4652 \n3 4654 13338 13340 \n3 13338 3236 13339 \n3 13340 13339 6140 \n3 4653 13341 13343 \n3 13341 5414 13342 \n3 13343 13342 3234 \n3 3235 13344 13346 \n3 13344 5417 13345 \n3 13346 13345 6141 \n3 6142 13347 13349 \n3 13347 3239 13348 \n3 13349 13348 5406 \n3 6143 13350 13352 \n3 13350 4657 13351 \n3 13352 13351 3237 \n3 3238 13353 13355 \n3 13353 4661 13354 \n3 13355 13354 5408 \n3 6144 13356 13358 \n3 13356 3242 13357 \n3 13358 13357 4656 \n3 6145 13359 13361 \n3 13359 5815 13360 \n3 13361 13360 3240 \n3 3241 13362 13364 \n3 13362 5817 13363 \n3 13364 13363 4658 \n3 4660 13365 13367 \n3 13365 3245 13366 \n3 13367 13366 5410 \n3 4659 13368 13370 \n3 13368 5820 13369 \n3 13370 13369 3243 \n3 3244 13371 13373 \n3 13371 5821 13372 \n3 13373 13372 5411 \n3 5416 13374 13376 \n3 13374 3248 13375 \n3 13376 13375 6146 \n3 5415 13377 13379 \n3 13377 4663 13378 \n3 13379 13378 3246 \n3 3247 13380 13382 \n3 13380 4667 13381 \n3 13382 13381 6147 \n3 5413 13383 13385 \n3 13383 3251 13384 \n3 13385 13384 4662 \n3 5412 13386 13388 \n3 13386 5830 13387 \n3 13388 13387 3249 \n3 3250 13389 13391 \n3 13389 5831 13390 \n3 13391 13390 4664 \n3 4666 13392 13394 \n3 13392 3254 13393 \n3 13394 13393 6148 \n3 4665 13395 13397 \n3 13395 5834 13396 \n3 13397 13396 3252 \n3 3253 13398 13400 \n3 13398 5837 13399 \n3 13400 13399 6149 \n3 6150 13401 13403 \n3 13401 3257 13402 \n3 13403 13402 5814 \n3 6151 13404 13406 \n3 13404 4669 13405 \n3 13406 13405 3255 \n3 3256 13407 13409 \n3 13407 4673 13408 \n3 13409 13408 5816 \n3 6152 13410 13412 \n3 13410 3260 13411 \n3 13412 13411 4668 \n3 6153 13413 13415 \n3 13413 5419 13414 \n3 13415 13414 3258 \n3 3259 13416 13418 \n3 13416 5421 13417 \n3 13418 13417 4670 \n3 4672 13419 13421 \n3 13419 3263 13420 \n3 13421 13420 5818 \n3 4671 13422 13424 \n3 13422 5426 13423 \n3 13424 13423 3261 \n3 3262 13425 13427 \n3 13425 5429 13426 \n3 13427 13426 5819 \n3 6154 13428 13430 \n3 13428 3266 13429 \n3 13430 13429 5418 \n3 6155 13431 13433 \n3 13431 4675 13432 \n3 13433 13432 3264 \n3 3265 13434 13436 \n3 13434 4679 13435 \n3 13436 13435 5420 \n3 6156 13437 13439 \n3 13437 3269 13438 \n3 13439 13438 4674 \n3 6157 13440 13442 \n3 13440 6158 13441 \n3 13442 13441 3267 \n3 3268 13443 13445 \n3 13443 6159 13444 \n3 13445 13444 4676 \n3 4678 13446 13448 \n3 13446 3272 13447 \n3 13448 13447 5422 \n3 4677 13449 13451 \n3 13449 6160 13450 \n3 13451 13450 3270 \n3 3271 13452 13454 \n3 13452 6161 13453 \n3 13454 13453 5423 \n3 5428 13455 13457 \n3 13455 3275 13456 \n3 13457 13456 5822 \n3 5427 13458 13460 \n3 13458 4681 13459 \n3 13460 13459 3273 \n3 3274 13461 13463 \n3 13461 4685 13462 \n3 13463 13462 5823 \n3 5425 13464 13466 \n3 13464 3278 13465 \n3 13466 13465 4680 \n3 5424 13467 13469 \n3 13467 6162 13468 \n3 13469 13468 3276 \n3 3277 13470 13472 \n3 13470 6163 13471 \n3 13472 13471 4682 \n3 4684 13473 13475 \n3 13473 3281 13474 \n3 13475 13474 5824 \n3 4683 13476 13478 \n3 13476 6164 13477 \n3 13478 13477 3279 \n3 3280 13479 13481 \n3 13479 6165 13480 \n3 13481 13480 5825 \n3 5836 13482 13484 \n3 13482 3284 13483 \n3 13484 13483 6166 \n3 5835 13485 13487 \n3 13485 4687 13486 \n3 13487 13486 3282 \n3 3283 13488 13490 \n3 13488 4691 13489 \n3 13490 13489 6167 \n3 5833 13491 13493 \n3 13491 3287 13492 \n3 13493 13492 4686 \n3 5832 13494 13496 \n3 13494 5431 13495 \n3 13496 13495 3285 \n3 3286 13497 13499 \n3 13497 5433 13498 \n3 13499 13498 4688 \n3 4690 13500 13502 \n3 13500 3290 13501 \n3 13502 13501 6168 \n3 4689 13503 13505 \n3 13503 5438 13504 \n3 13505 13504 3288 \n3 3289 13506 13508 \n3 13506 5441 13507 \n3 13508 13507 6169 \n3 5829 13509 13511 \n3 13509 3293 13510 \n3 13511 13510 5430 \n3 5828 13512 13514 \n3 13512 4693 13513 \n3 13514 13513 3291 \n3 3292 13515 13517 \n3 13515 4697 13516 \n3 13517 13516 5432 \n3 5827 13518 13520 \n3 13518 3296 13519 \n3 13520 13519 4692 \n3 5826 13521 13523 \n3 13521 6170 13522 \n3 13523 13522 3294 \n3 3295 13524 13526 \n3 13524 6171 13525 \n3 13526 13525 4694 \n3 4696 13527 13529 \n3 13527 3299 13528 \n3 13529 13528 5434 \n3 4695 13530 13532 \n3 13530 6172 13531 \n3 13532 13531 3297 \n3 3298 13533 13535 \n3 13533 6173 13534 \n3 13535 13534 5435 \n3 5440 13536 13538 \n3 13536 3302 13537 \n3 13538 13537 6174 \n3 5439 13539 13541 \n3 13539 4699 13540 \n3 13541 13540 3300 \n3 3301 13542 13544 \n3 13542 4703 13543 \n3 13544 13543 6175 \n3 5437 13545 13547 \n3 13545 3305 13546 \n3 13547 13546 4698 \n3 5436 13548 13550 \n3 13548 6176 13549 \n3 13550 13549 3303 \n3 3304 13551 13553 \n3 13551 6177 13552 \n3 13553 13552 4700 \n3 4702 13554 13556 \n3 13554 3308 13555 \n3 13556 13555 6178 \n3 4701 13557 13559 \n3 13557 6179 13558 \n3 13559 13558 3306 \n3 3307 13560 13562 \n3 13560 6180 13561 \n3 13562 13561 6181 \n3 6182 13563 13565 \n3 13563 3311 13564 \n3 13565 13564 6183 \n3 6184 13566 13568 \n3 13566 4705 13567 \n3 13568 13567 3309 \n3 3310 13569 13571 \n3 13569 4709 13570 \n3 13571 13570 6185 \n3 6186 13572 13574 \n3 13572 3314 13573 \n3 13574 13573 4704 \n3 6187 13575 13577 \n3 13575 5443 13576 \n3 13577 13576 3312 \n3 3313 13578 13580 \n3 13578 5445 13579 \n3 13580 13579 4706 \n3 4708 13581 13583 \n3 13581 3317 13582 \n3 13583 13582 6188 \n3 4707 13584 13586 \n3 13584 5450 13585 \n3 13586 13585 3315 \n3 3316 13587 13589 \n3 13587 5453 13588 \n3 13589 13588 6189 \n3 6190 13590 13592 \n3 13590 3320 13591 \n3 13592 13591 5442 \n3 6191 13593 13595 \n3 13593 4711 13594 \n3 13595 13594 3318 \n3 3319 13596 13598 \n3 13596 4715 13597 \n3 13598 13597 5444 \n3 6192 13599 13601 \n3 13599 3323 13600 \n3 13601 13600 4710 \n3 6193 13602 13604 \n3 13602 5839 13603 \n3 13604 13603 3321 \n3 3322 13605 13607 \n3 13605 5841 13606 \n3 13607 13606 4712 \n3 4714 13608 13610 \n3 13608 3326 13609 \n3 13610 13609 5446 \n3 4713 13611 13613 \n3 13611 5844 13612 \n3 13613 13612 3324 \n3 3325 13614 13616 \n3 13614 5845 13615 \n3 13616 13615 5447 \n3 5452 13617 13619 \n3 13617 3329 13618 \n3 13619 13618 6194 \n3 5451 13620 13622 \n3 13620 4717 13621 \n3 13622 13621 3327 \n3 3328 13623 13625 \n3 13623 4721 13624 \n3 13625 13624 6195 \n3 5449 13626 13628 \n3 13626 3332 13627 \n3 13628 13627 4716 \n3 5448 13629 13631 \n3 13629 5854 13630 \n3 13631 13630 3330 \n3 3331 13632 13634 \n3 13632 5855 13633 \n3 13634 13633 4718 \n3 4720 13635 13637 \n3 13635 3335 13636 \n3 13637 13636 6196 \n3 4719 13638 13640 \n3 13638 5858 13639 \n3 13640 13639 3333 \n3 3334 13641 13643 \n3 13641 5861 13642 \n3 13643 13642 6197 \n3 6198 13644 13646 \n3 13644 3338 13645 \n3 13646 13645 5838 \n3 6199 13647 13649 \n3 13647 4723 13648 \n3 13649 13648 3336 \n3 3337 13650 13652 \n3 13650 4727 13651 \n3 13652 13651 5840 \n3 6200 13653 13655 \n3 13653 3341 13654 \n3 13655 13654 4722 \n3 6201 13656 13658 \n3 13656 5455 13657 \n3 13658 13657 3339 \n3 3340 13659 13661 \n3 13659 5457 13660 \n3 13661 13660 4724 \n3 4726 13662 13664 \n3 13662 3344 13663 \n3 13664 13663 5842 \n3 4725 13665 13667 \n3 13665 5462 13666 \n3 13667 13666 3342 \n3 3343 13668 13670 \n3 13668 5465 13669 \n3 13670 13669 5843 \n3 6202 13671 13673 \n3 13671 3347 13672 \n3 13673 13672 5454 \n3 6203 13674 13676 \n3 13674 4729 13675 \n3 13676 13675 3345 \n3 3346 13677 13679 \n3 13677 4733 13678 \n3 13679 13678 5456 \n3 6204 13680 13682 \n3 13680 3350 13681 \n3 13682 13681 4728 \n3 6205 13683 13685 \n3 13683 6180 13684 \n3 13685 13684 3348 \n3 3349 13686 13688 \n3 13686 6179 13687 \n3 13688 13687 4730 \n3 4732 13689 13691 \n3 13689 3353 13690 \n3 13691 13690 5458 \n3 4731 13692 13694 \n3 13692 6177 13693 \n3 13694 13693 3351 \n3 3352 13695 13697 \n3 13695 6176 13696 \n3 13697 13696 5459 \n3 5464 13698 13700 \n3 13698 3356 13699 \n3 13700 13699 5846 \n3 5463 13701 13703 \n3 13701 4735 13702 \n3 13703 13702 3354 \n3 3355 13704 13706 \n3 13704 4739 13705 \n3 13706 13705 5847 \n3 5461 13707 13709 \n3 13707 3359 13708 \n3 13709 13708 4734 \n3 5460 13710 13712 \n3 13710 6173 13711 \n3 13712 13711 3357 \n3 3358 13713 13715 \n3 13713 6172 13714 \n3 13715 13714 4736 \n3 4738 13716 13718 \n3 13716 3362 13717 \n3 13718 13717 5848 \n3 4737 13719 13721 \n3 13719 6171 13720 \n3 13721 13720 3360 \n3 3361 13722 13724 \n3 13722 6170 13723 \n3 13724 13723 5849 \n3 5860 13725 13727 \n3 13725 3365 13726 \n3 13727 13726 6206 \n3 5859 13728 13730 \n3 13728 4741 13729 \n3 13730 13729 3363 \n3 3364 13731 13733 \n3 13731 4745 13732 \n3 13733 13732 6207 \n3 5857 13734 13736 \n3 13734 3368 13735 \n3 13736 13735 4740 \n3 5856 13737 13739 \n3 13737 5467 13738 \n3 13739 13738 3366 \n3 3367 13740 13742 \n3 13740 5469 13741 \n3 13742 13741 4742 \n3 4744 13743 13745 \n3 13743 3371 13744 \n3 13745 13744 6208 \n3 4743 13746 13748 \n3 13746 5474 13747 \n3 13748 13747 3369 \n3 3370 13749 13751 \n3 13749 5477 13750 \n3 13751 13750 6209 \n3 5853 13752 13754 \n3 13752 3374 13753 \n3 13754 13753 5466 \n3 5852 13755 13757 \n3 13755 4747 13756 \n3 13757 13756 3372 \n3 3373 13758 13760 \n3 13758 4751 13759 \n3 13760 13759 5468 \n3 5851 13761 13763 \n3 13761 3377 13762 \n3 13763 13762 4746 \n3 5850 13764 13766 \n3 13764 6165 13765 \n3 13766 13765 3375 \n3 3376 13767 13769 \n3 13767 6164 13768 \n3 13769 13768 4748 \n3 4750 13770 13772 \n3 13770 3380 13771 \n3 13772 13771 5470 \n3 4749 13773 13775 \n3 13773 6163 13774 \n3 13775 13774 3378 \n3 3379 13776 13778 \n3 13776 6162 13777 \n3 13778 13777 5471 \n3 5476 13779 13781 \n3 13779 3383 13780 \n3 13781 13780 6210 \n3 5475 13782 13784 \n3 13782 4753 13783 \n3 13784 13783 3381 \n3 3382 13785 13787 \n3 13785 4757 13786 \n3 13787 13786 6211 \n3 5473 13788 13790 \n3 13788 3386 13789 \n3 13790 13789 4752 \n3 5472 13791 13793 \n3 13791 6161 13792 \n3 13793 13792 3384 \n3 3385 13794 13796 \n3 13794 6160 13795 \n3 13796 13795 4754 \n3 4756 13797 13799 \n3 13797 3389 13798 \n3 13799 13798 6212 \n3 4755 13800 13802 \n3 13800 6159 13801 \n3 13802 13801 3387 \n3 3388 13803 13805 \n3 13803 6158 13804 \n3 13805 13804 6213 \n3 6214 13806 13808 \n3 13806 3392 13807 \n3 13808 13807 6215 \n3 6216 13809 13811 \n3 13809 4759 13810 \n3 13811 13810 3390 \n3 3391 13812 13814 \n3 13812 4763 13813 \n3 13814 13813 6217 \n3 6218 13815 13817 \n3 13815 3395 13816 \n3 13817 13816 4758 \n3 6219 13818 13820 \n3 13818 5479 13819 \n3 13820 13819 3393 \n3 3394 13821 13823 \n3 13821 5481 13822 \n3 13823 13822 4760 \n3 4762 13824 13826 \n3 13824 3398 13825 \n3 13826 13825 6220 \n3 4761 13827 13829 \n3 13827 5486 13828 \n3 13829 13828 3396 \n3 3397 13830 13832 \n3 13830 5489 13831 \n3 13832 13831 6221 \n3 6222 13833 13835 \n3 13833 3401 13834 \n3 13835 13834 5478 \n3 6223 13836 13838 \n3 13836 4765 13837 \n3 13838 13837 3399 \n3 3400 13839 13841 \n3 13839 4769 13840 \n3 13841 13840 5480 \n3 6224 13842 13844 \n3 13842 3404 13843 \n3 13844 13843 4764 \n3 6225 13845 13847 \n3 13845 5863 13846 \n3 13847 13846 3402 \n3 3403 13848 13850 \n3 13848 5865 13849 \n3 13850 13849 4766 \n3 4768 13851 13853 \n3 13851 3407 13852 \n3 13853 13852 5482 \n3 4767 13854 13856 \n3 13854 5868 13855 \n3 13856 13855 3405 \n3 3406 13857 13859 \n3 13857 5869 13858 \n3 13859 13858 5483 \n3 5488 13860 13862 \n3 13860 3410 13861 \n3 13862 13861 6226 \n3 5487 13863 13865 \n3 13863 4771 13864 \n3 13865 13864 3408 \n3 3409 13866 13868 \n3 13866 4775 13867 \n3 13868 13867 6227 \n3 5485 13869 13871 \n3 13869 3413 13870 \n3 13871 13870 4770 \n3 5484 13872 13874 \n3 13872 5878 13873 \n3 13874 13873 3411 \n3 3412 13875 13877 \n3 13875 5879 13876 \n3 13877 13876 4772 \n3 4774 13878 13880 \n3 13878 3416 13879 \n3 13880 13879 6228 \n3 4773 13881 13883 \n3 13881 5882 13882 \n3 13883 13882 3414 \n3 3415 13884 13886 \n3 13884 5885 13885 \n3 13886 13885 6229 \n3 6230 13887 13889 \n3 13887 3419 13888 \n3 13889 13888 5862 \n3 6231 13890 13892 \n3 13890 4777 13891 \n3 13892 13891 3417 \n3 3418 13893 13895 \n3 13893 4781 13894 \n3 13895 13894 5864 \n3 6232 13896 13898 \n3 13896 3422 13897 \n3 13898 13897 4776 \n3 6233 13899 13901 \n3 13899 5491 13900 \n3 13901 13900 3420 \n3 3421 13902 13904 \n3 13902 5493 13903 \n3 13904 13903 4778 \n3 4780 13905 13907 \n3 13905 3425 13906 \n3 13907 13906 5866 \n3 4779 13908 13910 \n3 13908 5498 13909 \n3 13910 13909 3423 \n3 3424 13911 13913 \n3 13911 5501 13912 \n3 13913 13912 5867 \n3 6234 13914 13916 \n3 13914 3428 13915 \n3 13916 13915 5490 \n3 6235 13917 13919 \n3 13917 4783 13918 \n3 13919 13918 3426 \n3 3427 13920 13922 \n3 13920 4787 13921 \n3 13922 13921 5492 \n3 6236 13923 13925 \n3 13923 3431 13924 \n3 13925 13924 4782 \n3 6237 13926 13928 \n3 13926 6238 13927 \n3 13928 13927 3429 \n3 3430 13929 13931 \n3 13929 6239 13930 \n3 13931 13930 4784 \n3 4786 13932 13934 \n3 13932 3434 13933 \n3 13934 13933 5494 \n3 4785 13935 13937 \n3 13935 6240 13936 \n3 13937 13936 3432 \n3 3433 13938 13940 \n3 13938 6241 13939 \n3 13940 13939 5495 \n3 5500 13941 13943 \n3 13941 3437 13942 \n3 13943 13942 5870 \n3 5499 13944 13946 \n3 13944 4789 13945 \n3 13946 13945 3435 \n3 3436 13947 13949 \n3 13947 4793 13948 \n3 13949 13948 5871 \n3 5497 13950 13952 \n3 13950 3440 13951 \n3 13952 13951 4788 \n3 5496 13953 13955 \n3 13953 6242 13954 \n3 13955 13954 3438 \n3 3439 13956 13958 \n3 13956 6243 13957 \n3 13958 13957 4790 \n3 4792 13959 13961 \n3 13959 3443 13960 \n3 13961 13960 5872 \n3 4791 13962 13964 \n3 13962 6244 13963 \n3 13964 13963 3441 \n3 3442 13965 13967 \n3 13965 6245 13966 \n3 13967 13966 5873 \n3 5884 13968 13970 \n3 13968 3446 13969 \n3 13970 13969 6246 \n3 5883 13971 13973 \n3 13971 4795 13972 \n3 13973 13972 3444 \n3 3445 13974 13976 \n3 13974 4799 13975 \n3 13976 13975 6247 \n3 5881 13977 13979 \n3 13977 3449 13978 \n3 13979 13978 4794 \n3 5880 13980 13982 \n3 13980 5503 13981 \n3 13982 13981 3447 \n3 3448 13983 13985 \n3 13983 5505 13984 \n3 13985 13984 4796 \n3 4798 13986 13988 \n3 13986 3452 13987 \n3 13988 13987 6248 \n3 4797 13989 13991 \n3 13989 5510 13990 \n3 13991 13990 3450 \n3 3451 13992 13994 \n3 13992 5513 13993 \n3 13994 13993 6249 \n3 5877 13995 13997 \n3 13995 3455 13996 \n3 13997 13996 5502 \n3 5876 13998 14000 \n3 13998 4801 13999 \n3 14000 13999 3453 \n3 3454 14001 14003 \n3 14001 4805 14002 \n3 14003 14002 5504 \n3 5875 14004 14006 \n3 14004 3458 14005 \n3 14006 14005 4800 \n3 5874 14007 14009 \n3 14007 6250 14008 \n3 14009 14008 3456 \n3 3457 14010 14012 \n3 14010 6251 14011 \n3 14012 14011 4802 \n3 4804 14013 14015 \n3 14013 3461 14014 \n3 14015 14014 5506 \n3 4803 14016 14018 \n3 14016 6252 14017 \n3 14018 14017 3459 \n3 3460 14019 14021 \n3 14019 6253 14020 \n3 14021 14020 5507 \n3 5512 14022 14024 \n3 14022 3464 14023 \n3 14024 14023 6254 \n3 5511 14025 14027 \n3 14025 4807 14026 \n3 14027 14026 3462 \n3 3463 14028 14030 \n3 14028 4811 14029 \n3 14030 14029 6255 \n3 5509 14031 14033 \n3 14031 3467 14032 \n3 14033 14032 4806 \n3 5508 14034 14036 \n3 14034 6256 14035 \n3 14036 14035 3465 \n3 3466 14037 14039 \n3 14037 6257 14038 \n3 14039 14038 4808 \n3 4810 14040 14042 \n3 14040 3470 14041 \n3 14042 14041 6258 \n3 4809 14043 14045 \n3 14043 6259 14044 \n3 14045 14044 3468 \n3 3469 14046 14048 \n3 14046 6260 14047 \n3 14048 14047 6261 \n3 6262 14049 14051 \n3 14049 3473 14050 \n3 14051 14050 6263 \n3 6264 14052 14054 \n3 14052 4813 14053 \n3 14054 14053 3471 \n3 3472 14055 14057 \n3 14055 4817 14056 \n3 14057 14056 6265 \n3 6266 14058 14060 \n3 14058 3476 14059 \n3 14060 14059 4812 \n3 6267 14061 14063 \n3 14061 5515 14062 \n3 14063 14062 3474 \n3 3475 14064 14066 \n3 14064 5517 14065 \n3 14066 14065 4814 \n3 4816 14067 14069 \n3 14067 3479 14068 \n3 14069 14068 6268 \n3 4815 14070 14072 \n3 14070 5522 14071 \n3 14072 14071 3477 \n3 3478 14073 14075 \n3 14073 5525 14074 \n3 14075 14074 6269 \n3 6270 14076 14078 \n3 14076 3482 14077 \n3 14078 14077 5514 \n3 6271 14079 14081 \n3 14079 4819 14080 \n3 14081 14080 3480 \n3 3481 14082 14084 \n3 14082 4823 14083 \n3 14084 14083 5516 \n3 6272 14085 14087 \n3 14085 3485 14086 \n3 14087 14086 4818 \n3 6273 14088 14090 \n3 14088 5887 14089 \n3 14090 14089 3483 \n3 3484 14091 14093 \n3 14091 5889 14092 \n3 14093 14092 4820 \n3 4822 14094 14096 \n3 14094 3488 14095 \n3 14096 14095 5518 \n3 4821 14097 14099 \n3 14097 5892 14098 \n3 14099 14098 3486 \n3 3487 14100 14102 \n3 14100 5893 14101 \n3 14102 14101 5519 \n3 5524 14103 14105 \n3 14103 3491 14104 \n3 14105 14104 6274 \n3 5523 14106 14108 \n3 14106 4825 14107 \n3 14108 14107 3489 \n3 3490 14109 14111 \n3 14109 4829 14110 \n3 14111 14110 6275 \n3 5521 14112 14114 \n3 14112 3494 14113 \n3 14114 14113 4824 \n3 5520 14115 14117 \n3 14115 5902 14116 \n3 14117 14116 3492 \n3 3493 14118 14120 \n3 14118 5903 14119 \n3 14120 14119 4826 \n3 4828 14121 14123 \n3 14121 3497 14122 \n3 14123 14122 6276 \n3 4827 14124 14126 \n3 14124 5906 14125 \n3 14126 14125 3495 \n3 3496 14127 14129 \n3 14127 5909 14128 \n3 14129 14128 6277 \n3 6278 14130 14132 \n3 14130 3500 14131 \n3 14132 14131 5886 \n3 6279 14133 14135 \n3 14133 4831 14134 \n3 14135 14134 3498 \n3 3499 14136 14138 \n3 14136 4835 14137 \n3 14138 14137 5888 \n3 6280 14139 14141 \n3 14139 3503 14140 \n3 14141 14140 4830 \n3 6281 14142 14144 \n3 14142 5527 14143 \n3 14144 14143 3501 \n3 3502 14145 14147 \n3 14145 5529 14146 \n3 14147 14146 4832 \n3 4834 14148 14150 \n3 14148 3506 14149 \n3 14150 14149 5890 \n3 4833 14151 14153 \n3 14151 5534 14152 \n3 14153 14152 3504 \n3 3505 14154 14156 \n3 14154 5537 14155 \n3 14156 14155 5891 \n3 6282 14157 14159 \n3 14157 3509 14158 \n3 14159 14158 5526 \n3 6283 14160 14162 \n3 14160 4837 14161 \n3 14162 14161 3507 \n3 3508 14163 14165 \n3 14163 4841 14164 \n3 14165 14164 5528 \n3 6284 14166 14168 \n3 14166 3512 14167 \n3 14168 14167 4836 \n3 6285 14169 14171 \n3 14169 6260 14170 \n3 14171 14170 3510 \n3 3511 14172 14174 \n3 14172 6259 14173 \n3 14174 14173 4838 \n3 4840 14175 14177 \n3 14175 3515 14176 \n3 14177 14176 5530 \n3 4839 14178 14180 \n3 14178 6257 14179 \n3 14180 14179 3513 \n3 3514 14181 14183 \n3 14181 6256 14182 \n3 14183 14182 5531 \n3 5536 14184 14186 \n3 14184 3518 14185 \n3 14186 14185 5894 \n3 5535 14187 14189 \n3 14187 4843 14188 \n3 14189 14188 3516 \n3 3517 14190 14192 \n3 14190 4847 14191 \n3 14192 14191 5895 \n3 5533 14193 14195 \n3 14193 3521 14194 \n3 14195 14194 4842 \n3 5532 14196 14198 \n3 14196 6253 14197 \n3 14198 14197 3519 \n3 3520 14199 14201 \n3 14199 6252 14200 \n3 14201 14200 4844 \n3 4846 14202 14204 \n3 14202 3524 14203 \n3 14204 14203 5896 \n3 4845 14205 14207 \n3 14205 6251 14206 \n3 14207 14206 3522 \n3 3523 14208 14210 \n3 14208 6250 14209 \n3 14210 14209 5897 \n3 5908 14211 14213 \n3 14211 3527 14212 \n3 14213 14212 6286 \n3 5907 14214 14216 \n3 14214 4849 14215 \n3 14216 14215 3525 \n3 3526 14217 14219 \n3 14217 4853 14218 \n3 14219 14218 6287 \n3 5905 14220 14222 \n3 14220 3530 14221 \n3 14222 14221 4848 \n3 5904 14223 14225 \n3 14223 5539 14224 \n3 14225 14224 3528 \n3 3529 14226 14228 \n3 14226 5541 14227 \n3 14228 14227 4850 \n3 4852 14229 14231 \n3 14229 3533 14230 \n3 14231 14230 6288 \n3 4851 14232 14234 \n3 14232 5546 14233 \n3 14234 14233 3531 \n3 3532 14235 14237 \n3 14235 5549 14236 \n3 14237 14236 6289 \n3 5901 14238 14240 \n3 14238 3536 14239 \n3 14240 14239 5538 \n3 5900 14241 14243 \n3 14241 4855 14242 \n3 14243 14242 3534 \n3 3535 14244 14246 \n3 14244 4859 14245 \n3 14246 14245 5540 \n3 5899 14247 14249 \n3 14247 3539 14248 \n3 14249 14248 4854 \n3 5898 14250 14252 \n3 14250 6245 14251 \n3 14252 14251 3537 \n3 3538 14253 14255 \n3 14253 6244 14254 \n3 14255 14254 4856 \n3 4858 14256 14258 \n3 14256 3542 14257 \n3 14258 14257 5542 \n3 4857 14259 14261 \n3 14259 6243 14260 \n3 14261 14260 3540 \n3 3541 14262 14264 \n3 14262 6242 14263 \n3 14264 14263 5543 \n3 5548 14265 14267 \n3 14265 3545 14266 \n3 14267 14266 6290 \n3 5547 14268 14270 \n3 14268 4861 14269 \n3 14270 14269 3543 \n3 3544 14271 14273 \n3 14271 4865 14272 \n3 14273 14272 6291 \n3 5545 14274 14276 \n3 14274 3548 14275 \n3 14276 14275 4860 \n3 5544 14277 14279 \n3 14277 6241 14278 \n3 14279 14278 3546 \n3 3547 14280 14282 \n3 14280 6240 14281 \n3 14282 14281 4862 \n3 4864 14283 14285 \n3 14283 3551 14284 \n3 14285 14284 6292 \n3 4863 14286 14288 \n3 14286 6239 14287 \n3 14288 14287 3549 \n3 3550 14289 14291 \n3 14289 6238 14290 \n3 14291 14290 6293 \n3 6294 14292 14294 \n3 14292 3554 14293 \n3 14294 14293 6295 \n3 6296 14295 14297 \n3 14295 4867 14296 \n3 14297 14296 3552 \n3 3553 14298 14300 \n3 14298 4871 14299 \n3 14300 14299 6297 \n3 6298 14301 14303 \n3 14301 3557 14302 \n3 14303 14302 4866 \n3 6299 14304 14306 \n3 14304 5551 14305 \n3 14306 14305 3555 \n3 3556 14307 14309 \n3 14307 5553 14308 \n3 14309 14308 4868 \n3 4870 14310 14312 \n3 14310 3560 14311 \n3 14312 14311 6300 \n3 4869 14313 14315 \n3 14313 5558 14314 \n3 14315 14314 3558 \n3 3559 14316 14318 \n3 14316 5561 14317 \n3 14318 14317 6301 \n3 6302 14319 14321 \n3 14319 3563 14320 \n3 14321 14320 5550 \n3 6303 14322 14324 \n3 14322 4873 14323 \n3 14324 14323 3561 \n3 3562 14325 14327 \n3 14325 4877 14326 \n3 14327 14326 5552 \n3 6304 14328 14330 \n3 14328 3566 14329 \n3 14330 14329 4872 \n3 6305 14331 14333 \n3 14331 5911 14332 \n3 14333 14332 3564 \n3 3565 14334 14336 \n3 14334 5913 14335 \n3 14336 14335 4874 \n3 4876 14337 14339 \n3 14337 3569 14338 \n3 14339 14338 5554 \n3 4875 14340 14342 \n3 14340 5916 14341 \n3 14342 14341 3567 \n3 3568 14343 14345 \n3 14343 5917 14344 \n3 14345 14344 5555 \n3 5560 14346 14348 \n3 14346 3572 14347 \n3 14348 14347 6306 \n3 5559 14349 14351 \n3 14349 4879 14350 \n3 14351 14350 3570 \n3 3571 14352 14354 \n3 14352 4883 14353 \n3 14354 14353 6307 \n3 5557 14355 14357 \n3 14355 3575 14356 \n3 14357 14356 4878 \n3 5556 14358 14360 \n3 14358 5926 14359 \n3 14360 14359 3573 \n3 3574 14361 14363 \n3 14361 5927 14362 \n3 14363 14362 4880 \n3 4882 14364 14366 \n3 14364 3578 14365 \n3 14366 14365 6308 \n3 4881 14367 14369 \n3 14367 5930 14368 \n3 14369 14368 3576 \n3 3577 14370 14372 \n3 14370 5933 14371 \n3 14372 14371 6309 \n3 6310 14373 14375 \n3 14373 3581 14374 \n3 14375 14374 5910 \n3 6311 14376 14378 \n3 14376 4885 14377 \n3 14378 14377 3579 \n3 3580 14379 14381 \n3 14379 4889 14380 \n3 14381 14380 5912 \n3 6312 14382 14384 \n3 14382 3584 14383 \n3 14384 14383 4884 \n3 6313 14385 14387 \n3 14385 5563 14386 \n3 14387 14386 3582 \n3 3583 14388 14390 \n3 14388 5565 14389 \n3 14390 14389 4886 \n3 4888 14391 14393 \n3 14391 3587 14392 \n3 14393 14392 5914 \n3 4887 14394 14396 \n3 14394 5570 14395 \n3 14396 14395 3585 \n3 3586 14397 14399 \n3 14397 5573 14398 \n3 14399 14398 5915 \n3 6314 14400 14402 \n3 14400 3590 14401 \n3 14402 14401 5562 \n3 6315 14403 14405 \n3 14403 4891 14404 \n3 14405 14404 3588 \n3 3589 14406 14408 \n3 14406 4895 14407 \n3 14408 14407 5564 \n3 6316 14409 14411 \n3 14409 3593 14410 \n3 14411 14410 4890 \n3 6317 14412 14414 \n3 14412 6318 14413 \n3 14414 14413 3591 \n3 3592 14415 14417 \n3 14415 6319 14416 \n3 14417 14416 4892 \n3 4894 14418 14420 \n3 14418 3596 14419 \n3 14420 14419 5566 \n3 4893 14421 14423 \n3 14421 6320 14422 \n3 14423 14422 3594 \n3 3595 14424 14426 \n3 14424 6321 14425 \n3 14426 14425 5567 \n3 5572 14427 14429 \n3 14427 3599 14428 \n3 14429 14428 5918 \n3 5571 14430 14432 \n3 14430 4897 14431 \n3 14432 14431 3597 \n3 3598 14433 14435 \n3 14433 4901 14434 \n3 14435 14434 5919 \n3 5569 14436 14438 \n3 14436 3602 14437 \n3 14438 14437 4896 \n3 5568 14439 14441 \n3 14439 6322 14440 \n3 14441 14440 3600 \n3 3601 14442 14444 \n3 14442 6323 14443 \n3 14444 14443 4898 \n3 4900 14445 14447 \n3 14445 3605 14446 \n3 14447 14446 5920 \n3 4899 14448 14450 \n3 14448 6324 14449 \n3 14450 14449 3603 \n3 3604 14451 14453 \n3 14451 6325 14452 \n3 14453 14452 5921 \n3 5932 14454 14456 \n3 14454 3608 14455 \n3 14456 14455 6326 \n3 5931 14457 14459 \n3 14457 4903 14458 \n3 14459 14458 3606 \n3 3607 14460 14462 \n3 14460 4907 14461 \n3 14462 14461 6327 \n3 5929 14463 14465 \n3 14463 3611 14464 \n3 14465 14464 4902 \n3 5928 14466 14468 \n3 14466 5575 14467 \n3 14468 14467 3609 \n3 3610 14469 14471 \n3 14469 5577 14470 \n3 14471 14470 4904 \n3 4906 14472 14474 \n3 14472 3614 14473 \n3 14474 14473 6328 \n3 4905 14475 14477 \n3 14475 5582 14476 \n3 14477 14476 3612 \n3 3613 14478 14480 \n3 14478 5585 14479 \n3 14480 14479 6329 \n3 5925 14481 14483 \n3 14481 3617 14482 \n3 14483 14482 5574 \n3 5924 14484 14486 \n3 14484 4909 14485 \n3 14486 14485 3615 \n3 3616 14487 14489 \n3 14487 4913 14488 \n3 14489 14488 5576 \n3 5923 14490 14492 \n3 14490 3620 14491 \n3 14492 14491 4908 \n3 5922 14493 14495 \n3 14493 6330 14494 \n3 14495 14494 3618 \n3 3619 14496 14498 \n3 14496 6331 14497 \n3 14498 14497 4910 \n3 4912 14499 14501 \n3 14499 3623 14500 \n3 14501 14500 5578 \n3 4911 14502 14504 \n3 14502 6332 14503 \n3 14504 14503 3621 \n3 3622 14505 14507 \n3 14505 6333 14506 \n3 14507 14506 5579 \n3 5584 14508 14510 \n3 14508 3626 14509 \n3 14510 14509 6334 \n3 5583 14511 14513 \n3 14511 4915 14512 \n3 14513 14512 3624 \n3 3625 14514 14516 \n3 14514 4919 14515 \n3 14516 14515 6335 \n3 5581 14517 14519 \n3 14517 3629 14518 \n3 14519 14518 4914 \n3 5580 14520 14522 \n3 14520 6336 14521 \n3 14522 14521 3627 \n3 3628 14523 14525 \n3 14523 6337 14524 \n3 14525 14524 4916 \n3 4918 14526 14528 \n3 14526 3632 14527 \n3 14528 14527 6338 \n3 4917 14529 14531 \n3 14529 6339 14530 \n3 14531 14530 3630 \n3 3631 14532 14534 \n3 14532 6340 14533 \n3 14534 14533 6341 \n3 6342 14535 14537 \n3 14535 3635 14536 \n3 14537 14536 6343 \n3 6344 14538 14540 \n3 14538 4921 14539 \n3 14540 14539 3633 \n3 3634 14541 14543 \n3 14541 4925 14542 \n3 14543 14542 6345 \n3 6346 14544 14546 \n3 14544 3638 14545 \n3 14546 14545 4920 \n3 6347 14547 14549 \n3 14547 5587 14548 \n3 14549 14548 3636 \n3 3637 14550 14552 \n3 14550 5589 14551 \n3 14552 14551 4922 \n3 4924 14553 14555 \n3 14553 3641 14554 \n3 14555 14554 6348 \n3 4923 14556 14558 \n3 14556 5594 14557 \n3 14558 14557 3639 \n3 3640 14559 14561 \n3 14559 5597 14560 \n3 14561 14560 6349 \n3 6350 14562 14564 \n3 14562 3644 14563 \n3 14564 14563 5586 \n3 6351 14565 14567 \n3 14565 4927 14566 \n3 14567 14566 3642 \n3 3643 14568 14570 \n3 14568 4931 14569 \n3 14570 14569 5588 \n3 6352 14571 14573 \n3 14571 3647 14572 \n3 14573 14572 4926 \n3 6353 14574 14576 \n3 14574 5935 14575 \n3 14576 14575 3645 \n3 3646 14577 14579 \n3 14577 5937 14578 \n3 14579 14578 4928 \n3 4930 14580 14582 \n3 14580 3650 14581 \n3 14582 14581 5590 \n3 4929 14583 14585 \n3 14583 5940 14584 \n3 14585 14584 3648 \n3 3649 14586 14588 \n3 14586 5941 14587 \n3 14588 14587 5591 \n3 5596 14589 14591 \n3 14589 3653 14590 \n3 14591 14590 6354 \n3 5595 14592 14594 \n3 14592 4933 14593 \n3 14594 14593 3651 \n3 3652 14595 14597 \n3 14595 4937 14596 \n3 14597 14596 6355 \n3 5593 14598 14600 \n3 14598 3656 14599 \n3 14600 14599 4932 \n3 5592 14601 14603 \n3 14601 5950 14602 \n3 14603 14602 3654 \n3 3655 14604 14606 \n3 14604 5951 14605 \n3 14606 14605 4934 \n3 4936 14607 14609 \n3 14607 3659 14608 \n3 14609 14608 6356 \n3 4935 14610 14612 \n3 14610 5954 14611 \n3 14612 14611 3657 \n3 3658 14613 14615 \n3 14613 5957 14614 \n3 14615 14614 6357 \n3 6358 14616 14618 \n3 14616 3662 14617 \n3 14618 14617 5934 \n3 6359 14619 14621 \n3 14619 4939 14620 \n3 14621 14620 3660 \n3 3661 14622 14624 \n3 14622 4943 14623 \n3 14624 14623 5936 \n3 6360 14625 14627 \n3 14625 3665 14626 \n3 14627 14626 4938 \n3 6361 14628 14630 \n3 14628 5599 14629 \n3 14630 14629 3663 \n3 3664 14631 14633 \n3 14631 5601 14632 \n3 14633 14632 4940 \n3 4942 14634 14636 \n3 14634 3668 14635 \n3 14636 14635 5938 \n3 4941 14637 14639 \n3 14637 5606 14638 \n3 14639 14638 3666 \n3 3667 14640 14642 \n3 14640 5609 14641 \n3 14642 14641 5939 \n3 6362 14643 14645 \n3 14643 3671 14644 \n3 14645 14644 5598 \n3 6363 14646 14648 \n3 14646 4945 14647 \n3 14648 14647 3669 \n3 3670 14649 14651 \n3 14649 4949 14650 \n3 14651 14650 5600 \n3 6364 14652 14654 \n3 14652 3674 14653 \n3 14654 14653 4944 \n3 6365 14655 14657 \n3 14655 6340 14656 \n3 14657 14656 3672 \n3 3673 14658 14660 \n3 14658 6339 14659 \n3 14660 14659 4946 \n3 4948 14661 14663 \n3 14661 3677 14662 \n3 14663 14662 5602 \n3 4947 14664 14666 \n3 14664 6337 14665 \n3 14666 14665 3675 \n3 3676 14667 14669 \n3 14667 6336 14668 \n3 14669 14668 5603 \n3 5608 14670 14672 \n3 14670 3680 14671 \n3 14672 14671 5942 \n3 5607 14673 14675 \n3 14673 4951 14674 \n3 14675 14674 3678 \n3 3679 14676 14678 \n3 14676 4955 14677 \n3 14678 14677 5943 \n3 5605 14679 14681 \n3 14679 3683 14680 \n3 14681 14680 4950 \n3 5604 14682 14684 \n3 14682 6333 14683 \n3 14684 14683 3681 \n3 3682 14685 14687 \n3 14685 6332 14686 \n3 14687 14686 4952 \n3 4954 14688 14690 \n3 14688 3686 14689 \n3 14690 14689 5944 \n3 4953 14691 14693 \n3 14691 6331 14692 \n3 14693 14692 3684 \n3 3685 14694 14696 \n3 14694 6330 14695 \n3 14696 14695 5945 \n3 5956 14697 14699 \n3 14697 3689 14698 \n3 14699 14698 6366 \n3 5955 14700 14702 \n3 14700 4957 14701 \n3 14702 14701 3687 \n3 3688 14703 14705 \n3 14703 4961 14704 \n3 14705 14704 6367 \n3 5953 14706 14708 \n3 14706 3692 14707 \n3 14708 14707 4956 \n3 5952 14709 14711 \n3 14709 5611 14710 \n3 14711 14710 3690 \n3 3691 14712 14714 \n3 14712 5613 14713 \n3 14714 14713 4958 \n3 4960 14715 14717 \n3 14715 3695 14716 \n3 14717 14716 6368 \n3 4959 14718 14720 \n3 14718 5618 14719 \n3 14720 14719 3693 \n3 3694 14721 14723 \n3 14721 5621 14722 \n3 14723 14722 6369 \n3 5949 14724 14726 \n3 14724 3698 14725 \n3 14726 14725 5610 \n3 5948 14727 14729 \n3 14727 4963 14728 \n3 14729 14728 3696 \n3 3697 14730 14732 \n3 14730 4967 14731 \n3 14732 14731 5612 \n3 5947 14733 14735 \n3 14733 3701 14734 \n3 14735 14734 4962 \n3 5946 14736 14738 \n3 14736 6325 14737 \n3 14738 14737 3699 \n3 3700 14739 14741 \n3 14739 6324 14740 \n3 14741 14740 4964 \n3 4966 14742 14744 \n3 14742 3704 14743 \n3 14744 14743 5614 \n3 4965 14745 14747 \n3 14745 6323 14746 \n3 14747 14746 3702 \n3 3703 14748 14750 \n3 14748 6322 14749 \n3 14750 14749 5615 \n3 5620 14751 14753 \n3 14751 3707 14752 \n3 14753 14752 6370 \n3 5619 14754 14756 \n3 14754 4969 14755 \n3 14756 14755 3705 \n3 3706 14757 14759 \n3 14757 4973 14758 \n3 14759 14758 6371 \n3 5617 14760 14762 \n3 14760 3710 14761 \n3 14762 14761 4968 \n3 5616 14763 14765 \n3 14763 6321 14764 \n3 14765 14764 3708 \n3 3709 14766 14768 \n3 14766 6320 14767 \n3 14768 14767 4970 \n3 4972 14769 14771 \n3 14769 3713 14770 \n3 14771 14770 6372 \n3 4971 14772 14774 \n3 14772 6319 14773 \n3 14774 14773 3711 \n3 3712 14775 14777 \n3 14775 6318 14776 \n3 14777 14776 6373 \n3 6374 14778 14780 \n3 14778 3716 14779 \n3 14780 14779 6375 \n3 6376 14781 14783 \n3 14781 4975 14782 \n3 14783 14782 3714 \n3 3715 14784 14786 \n3 14784 4979 14785 \n3 14786 14785 6377 \n3 6378 14787 14789 \n3 14787 3719 14788 \n3 14789 14788 4974 \n3 6379 14790 14792 \n3 14790 5623 14791 \n3 14792 14791 3717 \n3 3718 14793 14795 \n3 14793 5625 14794 \n3 14795 14794 4976 \n3 4978 14796 14798 \n3 14796 3722 14797 \n3 14798 14797 6380 \n3 4977 14799 14801 \n3 14799 5630 14800 \n3 14801 14800 3720 \n3 3721 14802 14804 \n3 14802 5633 14803 \n3 14804 14803 6381 \n3 6382 14805 14807 \n3 14805 3725 14806 \n3 14807 14806 5622 \n3 6383 14808 14810 \n3 14808 4981 14809 \n3 14810 14809 3723 \n3 3724 14811 14813 \n3 14811 4985 14812 \n3 14813 14812 5624 \n3 6384 14814 14816 \n3 14814 3728 14815 \n3 14816 14815 4980 \n3 6385 14817 14819 \n3 14817 5959 14818 \n3 14819 14818 3726 \n3 3727 14820 14822 \n3 14820 5961 14821 \n3 14822 14821 4982 \n3 4984 14823 14825 \n3 14823 3731 14824 \n3 14825 14824 5626 \n3 4983 14826 14828 \n3 14826 5964 14827 \n3 14828 14827 3729 \n3 3730 14829 14831 \n3 14829 5965 14830 \n3 14831 14830 5627 \n3 5632 14832 14834 \n3 14832 3734 14833 \n3 14834 14833 6386 \n3 5631 14835 14837 \n3 14835 4987 14836 \n3 14837 14836 3732 \n3 3733 14838 14840 \n3 14838 4991 14839 \n3 14840 14839 6387 \n3 5629 14841 14843 \n3 14841 3737 14842 \n3 14843 14842 4986 \n3 5628 14844 14846 \n3 14844 5974 14845 \n3 14846 14845 3735 \n3 3736 14847 14849 \n3 14847 5975 14848 \n3 14849 14848 4988 \n3 4990 14850 14852 \n3 14850 3740 14851 \n3 14852 14851 6388 \n3 4989 14853 14855 \n3 14853 5978 14854 \n3 14855 14854 3738 \n3 3739 14856 14858 \n3 14856 5981 14857 \n3 14858 14857 6389 \n3 6390 14859 14861 \n3 14859 3743 14860 \n3 14861 14860 5958 \n3 6391 14862 14864 \n3 14862 4993 14863 \n3 14864 14863 3741 \n3 3742 14865 14867 \n3 14865 4997 14866 \n3 14867 14866 5960 \n3 6392 14868 14870 \n3 14868 3746 14869 \n3 14870 14869 4992 \n3 6393 14871 14873 \n3 14871 5635 14872 \n3 14873 14872 3744 \n3 3745 14874 14876 \n3 14874 5637 14875 \n3 14876 14875 4994 \n3 4996 14877 14879 \n3 14877 3749 14878 \n3 14879 14878 5962 \n3 4995 14880 14882 \n3 14880 5642 14881 \n3 14882 14881 3747 \n3 3748 14883 14885 \n3 14883 5645 14884 \n3 14885 14884 5963 \n3 6394 14886 14888 \n3 14886 3752 14887 \n3 14888 14887 5634 \n3 6395 14889 14891 \n3 14889 4999 14890 \n3 14891 14890 3750 \n3 3751 14892 14894 \n3 14892 5003 14893 \n3 14894 14893 5636 \n3 6396 14895 14897 \n3 14895 3755 14896 \n3 14897 14896 4998 \n3 6397 14898 14900 \n3 14898 6398 14899 \n3 14900 14899 3753 \n3 3754 14901 14903 \n3 14901 6399 14902 \n3 14903 14902 5000 \n3 5002 14904 14906 \n3 14904 3758 14905 \n3 14906 14905 5638 \n3 5001 14907 14909 \n3 14907 6400 14908 \n3 14909 14908 3756 \n3 3757 14910 14912 \n3 14910 6401 14911 \n3 14912 14911 5639 \n3 5644 14913 14915 \n3 14913 3761 14914 \n3 14915 14914 5966 \n3 5643 14916 14918 \n3 14916 5005 14917 \n3 14918 14917 3759 \n3 3760 14919 14921 \n3 14919 5009 14920 \n3 14921 14920 5967 \n3 5641 14922 14924 \n3 14922 3764 14923 \n3 14924 14923 5004 \n3 5640 14925 14927 \n3 14925 6402 14926 \n3 14927 14926 3762 \n3 3763 14928 14930 \n3 14928 6403 14929 \n3 14930 14929 5006 \n3 5008 14931 14933 \n3 14931 3767 14932 \n3 14933 14932 5968 \n3 5007 14934 14936 \n3 14934 6404 14935 \n3 14936 14935 3765 \n3 3766 14937 14939 \n3 14937 6405 14938 \n3 14939 14938 5969 \n3 5980 14940 14942 \n3 14940 3770 14941 \n3 14942 14941 6406 \n3 5979 14943 14945 \n3 14943 5011 14944 \n3 14945 14944 3768 \n3 3769 14946 14948 \n3 14946 5015 14947 \n3 14948 14947 6407 \n3 5977 14949 14951 \n3 14949 3773 14950 \n3 14951 14950 5010 \n3 5976 14952 14954 \n3 14952 5647 14953 \n3 14954 14953 3771 \n3 3772 14955 14957 \n3 14955 5649 14956 \n3 14957 14956 5012 \n3 5014 14958 14960 \n3 14958 3776 14959 \n3 14960 14959 6408 \n3 5013 14961 14963 \n3 14961 5654 14962 \n3 14963 14962 3774 \n3 3775 14964 14966 \n3 14964 5657 14965 \n3 14966 14965 6409 \n3 5973 14967 14969 \n3 14967 3779 14968 \n3 14969 14968 5646 \n3 5972 14970 14972 \n3 14970 5017 14971 \n3 14972 14971 3777 \n3 3778 14973 14975 \n3 14973 5021 14974 \n3 14975 14974 5648 \n3 5971 14976 14978 \n3 14976 3782 14977 \n3 14978 14977 5016 \n3 5970 14979 14981 \n3 14979 6410 14980 \n3 14981 14980 3780 \n3 3781 14982 14984 \n3 14982 6411 14983 \n3 14984 14983 5018 \n3 5020 14985 14987 \n3 14985 3785 14986 \n3 14987 14986 5650 \n3 5019 14988 14990 \n3 14988 6412 14989 \n3 14990 14989 3783 \n3 3784 14991 14993 \n3 14991 6413 14992 \n3 14993 14992 5651 \n3 5656 14994 14996 \n3 14994 3788 14995 \n3 14996 14995 6414 \n3 5655 14997 14999 \n3 14997 5023 14998 \n3 14999 14998 3786 \n3 3787 15000 15002 \n3 15000 5027 15001 \n3 15002 15001 6415 \n3 5653 15003 15005 \n3 15003 3791 15004 \n3 15005 15004 5022 \n3 5652 15006 15008 \n3 15006 6416 15007 \n3 15008 15007 3789 \n3 3790 15009 15011 \n3 15009 6417 15010 \n3 15011 15010 5024 \n3 5026 15012 15014 \n3 15012 3794 15013 \n3 15014 15013 6418 \n3 5025 15015 15017 \n3 15015 6419 15016 \n3 15017 15016 3792 \n3 3793 15018 15020 \n3 15018 6420 15019 \n3 15020 15019 6421 \n3 6422 15021 15023 \n3 15021 3797 15022 \n3 15023 15022 6423 \n3 6424 15024 15026 \n3 15024 5029 15025 \n3 15026 15025 3795 \n3 3796 15027 15029 \n3 15027 5033 15028 \n3 15029 15028 6425 \n3 6426 15030 15032 \n3 15030 3800 15031 \n3 15032 15031 5028 \n3 6427 15033 15035 \n3 15033 5659 15034 \n3 15035 15034 3798 \n3 3799 15036 15038 \n3 15036 5661 15037 \n3 15038 15037 5030 \n3 5032 15039 15041 \n3 15039 3803 15040 \n3 15041 15040 6428 \n3 5031 15042 15044 \n3 15042 5666 15043 \n3 15044 15043 3801 \n3 3802 15045 15047 \n3 15045 5669 15046 \n3 15047 15046 6429 \n3 6430 15048 15050 \n3 15048 3806 15049 \n3 15050 15049 5658 \n3 6431 15051 15053 \n3 15051 5035 15052 \n3 15053 15052 3804 \n3 3805 15054 15056 \n3 15054 5039 15055 \n3 15056 15055 5660 \n3 6432 15057 15059 \n3 15057 3809 15058 \n3 15059 15058 5034 \n3 6433 15060 15062 \n3 15060 5983 15061 \n3 15062 15061 3807 \n3 3808 15063 15065 \n3 15063 5985 15064 \n3 15065 15064 5036 \n3 5038 15066 15068 \n3 15066 3812 15067 \n3 15068 15067 5662 \n3 5037 15069 15071 \n3 15069 5988 15070 \n3 15071 15070 3810 \n3 3811 15072 15074 \n3 15072 5989 15073 \n3 15074 15073 5663 \n3 5668 15075 15077 \n3 15075 3815 15076 \n3 15077 15076 6434 \n3 5667 15078 15080 \n3 15078 5041 15079 \n3 15080 15079 3813 \n3 3814 15081 15083 \n3 15081 5045 15082 \n3 15083 15082 6435 \n3 5665 15084 15086 \n3 15084 3818 15085 \n3 15086 15085 5040 \n3 5664 15087 15089 \n3 15087 5998 15088 \n3 15089 15088 3816 \n3 3817 15090 15092 \n3 15090 5999 15091 \n3 15092 15091 5042 \n3 5044 15093 15095 \n3 15093 3821 15094 \n3 15095 15094 6436 \n3 5043 15096 15098 \n3 15096 6002 15097 \n3 15098 15097 3819 \n3 3820 15099 15101 \n3 15099 6005 15100 \n3 15101 15100 6437 \n3 6438 15102 15104 \n3 15102 3824 15103 \n3 15104 15103 5982 \n3 6439 15105 15107 \n3 15105 5047 15106 \n3 15107 15106 3822 \n3 3823 15108 15110 \n3 15108 5051 15109 \n3 15110 15109 5984 \n3 6440 15111 15113 \n3 15111 3827 15112 \n3 15113 15112 5046 \n3 6441 15114 15116 \n3 15114 5671 15115 \n3 15116 15115 3825 \n3 3826 15117 15119 \n3 15117 5673 15118 \n3 15119 15118 5048 \n3 5050 15120 15122 \n3 15120 3830 15121 \n3 15122 15121 5986 \n3 5049 15123 15125 \n3 15123 5678 15124 \n3 15125 15124 3828 \n3 3829 15126 15128 \n3 15126 5681 15127 \n3 15128 15127 5987 \n3 6442 15129 15131 \n3 15129 3833 15130 \n3 15131 15130 5670 \n3 6443 15132 15134 \n3 15132 5053 15133 \n3 15134 15133 3831 \n3 3832 15135 15137 \n3 15135 5057 15136 \n3 15137 15136 5672 \n3 6444 15138 15140 \n3 15138 3836 15139 \n3 15140 15139 5052 \n3 6445 15141 15143 \n3 15141 6420 15142 \n3 15143 15142 3834 \n3 3835 15144 15146 \n3 15144 6419 15145 \n3 15146 15145 5054 \n3 5056 15147 15149 \n3 15147 3839 15148 \n3 15149 15148 5674 \n3 5055 15150 15152 \n3 15150 6417 15151 \n3 15152 15151 3837 \n3 3838 15153 15155 \n3 15153 6416 15154 \n3 15155 15154 5675 \n3 5680 15156 15158 \n3 15156 3842 15157 \n3 15158 15157 5990 \n3 5679 15159 15161 \n3 15159 5059 15160 \n3 15161 15160 3840 \n3 3841 15162 15164 \n3 15162 5063 15163 \n3 15164 15163 5991 \n3 5677 15165 15167 \n3 15165 3845 15166 \n3 15167 15166 5058 \n3 5676 15168 15170 \n3 15168 6413 15169 \n3 15170 15169 3843 \n3 3844 15171 15173 \n3 15171 6412 15172 \n3 15173 15172 5060 \n3 5062 15174 15176 \n3 15174 3848 15175 \n3 15176 15175 5992 \n3 5061 15177 15179 \n3 15177 6411 15178 \n3 15179 15178 3846 \n3 3847 15180 15182 \n3 15180 6410 15181 \n3 15182 15181 5993 \n3 6004 15183 15185 \n3 15183 3851 15184 \n3 15185 15184 6446 \n3 6003 15186 15188 \n3 15186 5065 15187 \n3 15188 15187 3849 \n3 3850 15189 15191 \n3 15189 5069 15190 \n3 15191 15190 6447 \n3 6001 15192 15194 \n3 15192 3854 15193 \n3 15194 15193 5064 \n3 6000 15195 15197 \n3 15195 5683 15196 \n3 15197 15196 3852 \n3 3853 15198 15200 \n3 15198 5685 15199 \n3 15200 15199 5066 \n3 5068 15201 15203 \n3 15201 3857 15202 \n3 15203 15202 6448 \n3 5067 15204 15206 \n3 15204 5690 15205 \n3 15206 15205 3855 \n3 3856 15207 15209 \n3 15207 5693 15208 \n3 15209 15208 6449 \n3 5997 15210 15212 \n3 15210 3860 15211 \n3 15212 15211 5682 \n3 5996 15213 15215 \n3 15213 5071 15214 \n3 15215 15214 3858 \n3 3859 15216 15218 \n3 15216 5075 15217 \n3 15218 15217 5684 \n3 5995 15219 15221 \n3 15219 3863 15220 \n3 15221 15220 5070 \n3 5994 15222 15224 \n3 15222 6405 15223 \n3 15224 15223 3861 \n3 3862 15225 15227 \n3 15225 6404 15226 \n3 15227 15226 5072 \n3 5074 15228 15230 \n3 15228 3866 15229 \n3 15230 15229 5686 \n3 5073 15231 15233 \n3 15231 6403 15232 \n3 15233 15232 3864 \n3 3865 15234 15236 \n3 15234 6402 15235 \n3 15236 15235 5687 \n3 5692 15237 15239 \n3 15237 3869 15238 \n3 15239 15238 6450 \n3 5691 15240 15242 \n3 15240 5077 15241 \n3 15242 15241 3867 \n3 3868 15243 15245 \n3 15243 5081 15244 \n3 15245 15244 6451 \n3 5689 15246 15248 \n3 15246 3872 15247 \n3 15248 15247 5076 \n3 5688 15249 15251 \n3 15249 6401 15250 \n3 15251 15250 3870 \n3 3871 15252 15254 \n3 15252 6400 15253 \n3 15254 15253 5078 \n3 5080 15255 15257 \n3 15255 3875 15256 \n3 15257 15256 6452 \n3 5079 15258 15260 \n3 15258 6399 15259 \n3 15260 15259 3873 \n3 3874 15261 15263 \n3 15261 6398 15262 \n3 15263 15262 6453 \n3 6454 15264 15266 \n3 15264 3878 15265 \n3 15266 15265 6455 \n3 6456 15267 15269 \n3 15267 5083 15268 \n3 15269 15268 3876 \n3 3877 15270 15272 \n3 15270 5087 15271 \n3 15272 15271 6457 \n3 6458 15273 15275 \n3 15273 3881 15274 \n3 15275 15274 5082 \n3 6459 15276 15278 \n3 15276 5695 15277 \n3 15278 15277 3879 \n3 3880 15279 15281 \n3 15279 5697 15280 \n3 15281 15280 5084 \n3 5086 15282 15284 \n3 15282 3884 15283 \n3 15284 15283 6460 \n3 5085 15285 15287 \n3 15285 5702 15286 \n3 15287 15286 3882 \n3 3883 15288 15290 \n3 15288 5705 15289 \n3 15290 15289 6461 \n3 6462 15291 15293 \n3 15291 3887 15292 \n3 15293 15292 5694 \n3 6463 15294 15296 \n3 15294 5089 15295 \n3 15296 15295 3885 \n3 3886 15297 15299 \n3 15297 5093 15298 \n3 15299 15298 5696 \n3 6464 15300 15302 \n3 15300 3890 15301 \n3 15302 15301 5088 \n3 6465 15303 15305 \n3 15303 6007 15304 \n3 15305 15304 3888 \n3 3889 15306 15308 \n3 15306 6009 15307 \n3 15308 15307 5090 \n3 5092 15309 15311 \n3 15309 3893 15310 \n3 15311 15310 5698 \n3 5091 15312 15314 \n3 15312 6012 15313 \n3 15314 15313 3891 \n3 3892 15315 15317 \n3 15315 6013 15316 \n3 15317 15316 5699 \n3 5704 15318 15320 \n3 15318 3896 15319 \n3 15320 15319 6466 \n3 5703 15321 15323 \n3 15321 5095 15322 \n3 15323 15322 3894 \n3 3895 15324 15326 \n3 15324 5099 15325 \n3 15326 15325 6467 \n3 5701 15327 15329 \n3 15327 3899 15328 \n3 15329 15328 5094 \n3 5700 15330 15332 \n3 15330 6022 15331 \n3 15332 15331 3897 \n3 3898 15333 15335 \n3 15333 6023 15334 \n3 15335 15334 5096 \n3 5098 15336 15338 \n3 15336 3902 15337 \n3 15338 15337 6468 \n3 5097 15339 15341 \n3 15339 6026 15340 \n3 15341 15340 3900 \n3 3901 15342 15344 \n3 15342 6029 15343 \n3 15344 15343 6469 \n3 6470 15345 15347 \n3 15345 3905 15346 \n3 15347 15346 6006 \n3 6471 15348 15350 \n3 15348 5101 15349 \n3 15350 15349 3903 \n3 3904 15351 15353 \n3 15351 5105 15352 \n3 15353 15352 6008 \n3 6472 15354 15356 \n3 15354 3908 15355 \n3 15356 15355 5100 \n3 6473 15357 15359 \n3 15357 5707 15358 \n3 15359 15358 3906 \n3 3907 15360 15362 \n3 15360 5709 15361 \n3 15362 15361 5102 \n3 5104 15363 15365 \n3 15363 3911 15364 \n3 15365 15364 6010 \n3 5103 15366 15368 \n3 15366 5714 15367 \n3 15368 15367 3909 \n3 3910 15369 15371 \n3 15369 5717 15370 \n3 15371 15370 6011 \n3 6474 15372 15374 \n3 15372 3914 15373 \n3 15374 15373 5706 \n3 6475 15375 15377 \n3 15375 5107 15376 \n3 15377 15376 3912 \n3 3913 15378 15380 \n3 15378 5111 15379 \n3 15380 15379 5708 \n3 6476 15381 15383 \n3 15381 3917 15382 \n3 15383 15382 5106 \n3 6477 15384 15386 \n3 15384 6478 15385 \n3 15386 15385 3915 \n3 3916 15387 15389 \n3 15387 6479 15388 \n3 15389 15388 5108 \n3 5110 15390 15392 \n3 15390 3920 15391 \n3 15392 15391 5710 \n3 5109 15393 15395 \n3 15393 6480 15394 \n3 15395 15394 3918 \n3 3919 15396 15398 \n3 15396 6481 15397 \n3 15398 15397 5711 \n3 5716 15399 15401 \n3 15399 3923 15400 \n3 15401 15400 6014 \n3 5715 15402 15404 \n3 15402 5113 15403 \n3 15404 15403 3921 \n3 3922 15405 15407 \n3 15405 5117 15406 \n3 15407 15406 6015 \n3 5713 15408 15410 \n3 15408 3926 15409 \n3 15410 15409 5112 \n3 5712 15411 15413 \n3 15411 6482 15412 \n3 15413 15412 3924 \n3 3925 15414 15416 \n3 15414 6483 15415 \n3 15416 15415 5114 \n3 5116 15417 15419 \n3 15417 3929 15418 \n3 15419 15418 6016 \n3 5115 15420 15422 \n3 15420 6484 15421 \n3 15422 15421 3927 \n3 3928 15423 15425 \n3 15423 6485 15424 \n3 15425 15424 6017 \n3 6028 15426 15428 \n3 15426 3932 15427 \n3 15428 15427 6486 \n3 6027 15429 15431 \n3 15429 5119 15430 \n3 15431 15430 3930 \n3 3931 15432 15434 \n3 15432 5123 15433 \n3 15434 15433 6487 \n3 6025 15435 15437 \n3 15435 3935 15436 \n3 15437 15436 5118 \n3 6024 15438 15440 \n3 15438 5719 15439 \n3 15440 15439 3933 \n3 3934 15441 15443 \n3 15441 5721 15442 \n3 15443 15442 5120 \n3 5122 15444 15446 \n3 15444 3938 15445 \n3 15446 15445 6488 \n3 5121 15447 15449 \n3 15447 5726 15448 \n3 15449 15448 3936 \n3 3937 15450 15452 \n3 15450 5729 15451 \n3 15452 15451 6489 \n3 6021 15453 15455 \n3 15453 3941 15454 \n3 15455 15454 5718 \n3 6020 15456 15458 \n3 15456 5125 15457 \n3 15458 15457 3939 \n3 3940 15459 15461 \n3 15459 5129 15460 \n3 15461 15460 5720 \n3 6019 15462 15464 \n3 15462 3944 15463 \n3 15464 15463 5124 \n3 6018 15465 15467 \n3 15465 6490 15466 \n3 15467 15466 3942 \n3 3943 15468 15470 \n3 15468 6491 15469 \n3 15470 15469 5126 \n3 5128 15471 15473 \n3 15471 3947 15472 \n3 15473 15472 5722 \n3 5127 15474 15476 \n3 15474 6492 15475 \n3 15476 15475 3945 \n3 3946 15477 15479 \n3 15477 6493 15478 \n3 15479 15478 5723 \n3 5728 15480 15482 \n3 15480 3950 15481 \n3 15482 15481 6494 \n3 5727 15483 15485 \n3 15483 5131 15484 \n3 15485 15484 3948 \n3 3949 15486 15488 \n3 15486 5135 15487 \n3 15488 15487 6495 \n3 5725 15489 15491 \n3 15489 3953 15490 \n3 15491 15490 5130 \n3 5724 15492 15494 \n3 15492 6496 15493 \n3 15494 15493 3951 \n3 3952 15495 15497 \n3 15495 6497 15496 \n3 15497 15496 5132 \n3 5134 15498 15500 \n3 15498 3956 15499 \n3 15500 15499 6498 \n3 5133 15501 15503 \n3 15501 6499 15502 \n3 15503 15502 3954 \n3 3955 15504 15506 \n3 15504 6500 15505 \n3 15506 15505 6501 \n3 6502 15507 15509 \n3 15507 3959 15508 \n3 15509 15508 6503 \n3 6504 15510 15512 \n3 15510 5137 15511 \n3 15512 15511 3957 \n3 3958 15513 15515 \n3 15513 5141 15514 \n3 15515 15514 6505 \n3 6506 15516 15518 \n3 15516 3962 15517 \n3 15518 15517 5136 \n3 6507 15519 15521 \n3 15519 5731 15520 \n3 15521 15520 3960 \n3 3961 15522 15524 \n3 15522 5733 15523 \n3 15524 15523 5138 \n3 5140 15525 15527 \n3 15525 3965 15526 \n3 15527 15526 6508 \n3 5139 15528 15530 \n3 15528 5738 15529 \n3 15530 15529 3963 \n3 3964 15531 15533 \n3 15531 5741 15532 \n3 15533 15532 6509 \n3 6510 15534 15536 \n3 15534 3968 15535 \n3 15536 15535 5730 \n3 6511 15537 15539 \n3 15537 5143 15538 \n3 15539 15538 3966 \n3 3967 15540 15542 \n3 15540 5147 15541 \n3 15542 15541 5732 \n3 6512 15543 15545 \n3 15543 3971 15544 \n3 15545 15544 5142 \n3 6513 15546 15548 \n3 15546 6031 15547 \n3 15548 15547 3969 \n3 3970 15549 15551 \n3 15549 6033 15550 \n3 15551 15550 5144 \n3 5146 15552 15554 \n3 15552 3974 15553 \n3 15554 15553 5734 \n3 5145 15555 15557 \n3 15555 6036 15556 \n3 15557 15556 3972 \n3 3973 15558 15560 \n3 15558 6037 15559 \n3 15560 15559 5735 \n3 5740 15561 15563 \n3 15561 3977 15562 \n3 15563 15562 6514 \n3 5739 15564 15566 \n3 15564 5149 15565 \n3 15566 15565 3975 \n3 3976 15567 15569 \n3 15567 5153 15568 \n3 15569 15568 6515 \n3 5737 15570 15572 \n3 15570 3980 15571 \n3 15572 15571 5148 \n3 5736 15573 15575 \n3 15573 6046 15574 \n3 15575 15574 3978 \n3 3979 15576 15578 \n3 15576 6047 15577 \n3 15578 15577 5150 \n3 5152 15579 15581 \n3 15579 3983 15580 \n3 15581 15580 6516 \n3 5151 15582 15584 \n3 15582 6050 15583 \n3 15584 15583 3981 \n3 3982 15585 15587 \n3 15585 6053 15586 \n3 15587 15586 6517 \n3 6518 15588 15590 \n3 15588 3986 15589 \n3 15590 15589 6030 \n3 6519 15591 15593 \n3 15591 5155 15592 \n3 15593 15592 3984 \n3 3985 15594 15596 \n3 15594 5159 15595 \n3 15596 15595 6032 \n3 6520 15597 15599 \n3 15597 3989 15598 \n3 15599 15598 5154 \n3 6521 15600 15602 \n3 15600 5743 15601 \n3 15602 15601 3987 \n3 3988 15603 15605 \n3 15603 5745 15604 \n3 15605 15604 5156 \n3 5158 15606 15608 \n3 15606 3992 15607 \n3 15608 15607 6034 \n3 5157 15609 15611 \n3 15609 5750 15610 \n3 15611 15610 3990 \n3 3991 15612 15614 \n3 15612 5753 15613 \n3 15614 15613 6035 \n3 6522 15615 15617 \n3 15615 3995 15616 \n3 15617 15616 5742 \n3 6523 15618 15620 \n3 15618 5161 15619 \n3 15620 15619 3993 \n3 3994 15621 15623 \n3 15621 5165 15622 \n3 15623 15622 5744 \n3 6524 15624 15626 \n3 15624 3998 15625 \n3 15626 15625 5160 \n3 6525 15627 15629 \n3 15627 6500 15628 \n3 15629 15628 3996 \n3 3997 15630 15632 \n3 15630 6499 15631 \n3 15632 15631 5162 \n3 5164 15633 15635 \n3 15633 4001 15634 \n3 15635 15634 5746 \n3 5163 15636 15638 \n3 15636 6497 15637 \n3 15638 15637 3999 \n3 4000 15639 15641 \n3 15639 6496 15640 \n3 15641 15640 5747 \n3 5752 15642 15644 \n3 15642 4004 15643 \n3 15644 15643 6038 \n3 5751 15645 15647 \n3 15645 5167 15646 \n3 15647 15646 4002 \n3 4003 15648 15650 \n3 15648 5171 15649 \n3 15650 15649 6039 \n3 5749 15651 15653 \n3 15651 4007 15652 \n3 15653 15652 5166 \n3 5748 15654 15656 \n3 15654 6493 15655 \n3 15656 15655 4005 \n3 4006 15657 15659 \n3 15657 6492 15658 \n3 15659 15658 5168 \n3 5170 15660 15662 \n3 15660 4010 15661 \n3 15662 15661 6040 \n3 5169 15663 15665 \n3 15663 6491 15664 \n3 15665 15664 4008 \n3 4009 15666 15668 \n3 15666 6490 15667 \n3 15668 15667 6041 \n3 6052 15669 15671 \n3 15669 4013 15670 \n3 15671 15670 6526 \n3 6051 15672 15674 \n3 15672 5173 15673 \n3 15674 15673 4011 \n3 4012 15675 15677 \n3 15675 5177 15676 \n3 15677 15676 6527 \n3 6049 15678 15680 \n3 15678 4016 15679 \n3 15680 15679 5172 \n3 6048 15681 15683 \n3 15681 5755 15682 \n3 15683 15682 4014 \n3 4015 15684 15686 \n3 15684 5757 15685 \n3 15686 15685 5174 \n3 5176 15687 15689 \n3 15687 4019 15688 \n3 15689 15688 6528 \n3 5175 15690 15692 \n3 15690 5762 15691 \n3 15692 15691 4017 \n3 4018 15693 15695 \n3 15693 5765 15694 \n3 15695 15694 6529 \n3 6045 15696 15698 \n3 15696 4022 15697 \n3 15698 15697 5754 \n3 6044 15699 15701 \n3 15699 5179 15700 \n3 15701 15700 4020 \n3 4021 15702 15704 \n3 15702 5183 15703 \n3 15704 15703 5756 \n3 6043 15705 15707 \n3 15705 4025 15706 \n3 15707 15706 5178 \n3 6042 15708 15710 \n3 15708 6485 15709 \n3 15710 15709 4023 \n3 4024 15711 15713 \n3 15711 6484 15712 \n3 15713 15712 5180 \n3 5182 15714 15716 \n3 15714 4028 15715 \n3 15716 15715 5758 \n3 5181 15717 15719 \n3 15717 6483 15718 \n3 15719 15718 4026 \n3 4027 15720 15722 \n3 15720 6482 15721 \n3 15722 15721 5759 \n3 5764 15723 15725 \n3 15723 4031 15724 \n3 15725 15724 6530 \n3 5763 15726 15728 \n3 15726 5185 15727 \n3 15728 15727 4029 \n3 4030 15729 15731 \n3 15729 5189 15730 \n3 15731 15730 6531 \n3 5761 15732 15734 \n3 15732 4034 15733 \n3 15734 15733 5184 \n3 5760 15735 15737 \n3 15735 6481 15736 \n3 15737 15736 4032 \n3 4033 15738 15740 \n3 15738 6480 15739 \n3 15740 15739 5186 \n3 5188 15741 15743 \n3 15741 4037 15742 \n3 15743 15742 6532 \n3 5187 15744 15746 \n3 15744 6479 15745 \n3 15746 15745 4035 \n3 4036 15747 15749 \n3 15747 6478 15748 \n3 15749 15748 6533 \n3 386 15750 15751 \n3 15750 1734 6536 \n3 15751 6536 1736 \n3 1734 15752 6534 \n3 15752 387 15753 \n3 6534 15753 1735 \n3 1736 6535 15755 \n3 6535 1735 15754 \n3 15755 15754 388 \n3 389 15756 15757 \n3 15756 1737 6539 \n3 15757 6539 1739 \n3 1737 15758 6537 \n3 15758 390 15759 \n3 6537 15759 1738 \n3 1739 6538 15761 \n3 6538 1738 15760 \n3 15761 15760 391 \n3 392 15762 15763 \n3 15762 1740 6542 \n3 15763 6542 1742 \n3 1740 15764 6540 \n3 15764 393 15765 \n3 6540 15765 1741 \n3 1742 6541 15767 \n3 6541 1741 15766 \n3 15767 15766 394 \n3 395 15768 15769 \n3 15768 1743 6545 \n3 15769 6545 1745 \n3 1743 15770 6543 \n3 15770 396 15771 \n3 6543 15771 1744 \n3 1745 6544 15773 \n3 6544 1744 15772 \n3 15773 15772 397 \n3 398 15774 15775 \n3 15774 1746 6548 \n3 15775 6548 1748 \n3 1746 15776 6546 \n3 15776 399 15777 \n3 6546 15777 1747 \n3 1748 6547 15779 \n3 6547 1747 15778 \n3 15779 15778 400 \n3 401 15780 15781 \n3 15780 1749 6551 \n3 15781 6551 1751 \n3 1749 15782 6549 \n3 15782 402 15783 \n3 6549 15783 1750 \n3 1751 6550 15785 \n3 6550 1750 15784 \n3 15785 15784 403 \n3 404 15786 15787 \n3 15786 1752 6554 \n3 15787 6554 1754 \n3 1752 15788 6552 \n3 15788 405 15789 \n3 6552 15789 1753 \n3 1754 6553 15791 \n3 6553 1753 15790 \n3 15791 15790 406 \n3 407 15792 15793 \n3 15792 1755 6557 \n3 15793 6557 1757 \n3 1755 15794 6555 \n3 15794 408 15795 \n3 6555 15795 1756 \n3 1757 6556 15797 \n3 6556 1756 15796 \n3 15797 15796 409 \n3 410 15798 15799 \n3 15798 1758 6560 \n3 15799 6560 1760 \n3 1758 15800 6558 \n3 15800 411 15801 \n3 6558 15801 1759 \n3 1760 6559 15803 \n3 6559 1759 15802 \n3 15803 15802 412 \n3 413 15804 15805 \n3 15804 1761 6563 \n3 15805 6563 1763 \n3 1761 15806 6561 \n3 15806 414 15807 \n3 6561 15807 1762 \n3 1763 6562 15809 \n3 6562 1762 15808 \n3 15809 15808 415 \n3 416 15810 15811 \n3 15810 1764 6566 \n3 15811 6566 1766 \n3 1764 15812 6564 \n3 15812 417 15813 \n3 6564 15813 1765 \n3 1766 6565 15815 \n3 6565 1765 15814 \n3 15815 15814 418 \n3 419 15816 15817 \n3 15816 1767 6569 \n3 15817 6569 1769 \n3 1767 15818 6567 \n3 15818 420 15819 \n3 6567 15819 1768 \n3 1769 6568 15821 \n3 6568 1768 15820 \n3 15821 15820 421 \n3 422 15822 15823 \n3 15822 1770 6572 \n3 15823 6572 1772 \n3 1770 15824 6570 \n3 15824 423 15825 \n3 6570 15825 1771 \n3 1772 6571 15827 \n3 6571 1771 15826 \n3 15827 15826 424 \n3 425 15828 15829 \n3 15828 1773 6575 \n3 15829 6575 1775 \n3 1773 15830 6573 \n3 15830 426 15831 \n3 6573 15831 1774 \n3 1775 6574 15833 \n3 6574 1774 15832 \n3 15833 15832 427 \n3 428 15834 15835 \n3 15834 1776 6578 \n3 15835 6578 1778 \n3 1776 15836 6576 \n3 15836 429 15837 \n3 6576 15837 1777 \n3 1778 6577 15839 \n3 6577 1777 15838 \n3 15839 15838 430 \n3 431 15840 15841 \n3 15840 1779 6581 \n3 15841 6581 1781 \n3 1779 15842 6579 \n3 15842 432 15843 \n3 6579 15843 1780 \n3 1781 6580 15845 \n3 6580 1780 15844 \n3 15845 15844 433 \n3 434 15846 15847 \n3 15846 1782 6584 \n3 15847 6584 1784 \n3 1782 15848 6582 \n3 15848 435 15849 \n3 6582 15849 1783 \n3 1784 6583 15851 \n3 6583 1783 15850 \n3 15851 15850 436 \n3 437 15852 15853 \n3 15852 1785 6587 \n3 15853 6587 1787 \n3 1785 15854 6585 \n3 15854 438 15855 \n3 6585 15855 1786 \n3 1787 6586 15857 \n3 6586 1786 15856 \n3 15857 15856 439 \n3 440 15858 15859 \n3 15858 1788 6590 \n3 15859 6590 1790 \n3 1788 15860 6588 \n3 15860 441 15861 \n3 6588 15861 1789 \n3 1790 6589 15863 \n3 6589 1789 15862 \n3 15863 15862 442 \n3 443 15864 15865 \n3 15864 1791 6593 \n3 15865 6593 1793 \n3 1791 15866 6591 \n3 15866 444 15867 \n3 6591 15867 1792 \n3 1793 6592 15869 \n3 6592 1792 15868 \n3 15869 15868 445 \n3 446 15870 15871 \n3 15870 1794 6596 \n3 15871 6596 1796 \n3 1794 15872 6594 \n3 15872 447 15873 \n3 6594 15873 1795 \n3 1796 6595 15875 \n3 6595 1795 15874 \n3 15875 15874 448 \n3 449 15876 15877 \n3 15876 1797 6599 \n3 15877 6599 1799 \n3 1797 15878 6597 \n3 15878 450 15879 \n3 6597 15879 1798 \n3 1799 6598 15881 \n3 6598 1798 15880 \n3 15881 15880 451 \n3 452 15882 15883 \n3 15882 1800 6602 \n3 15883 6602 1802 \n3 1800 15884 6600 \n3 15884 453 15885 \n3 6600 15885 1801 \n3 1802 6601 15887 \n3 6601 1801 15886 \n3 15887 15886 454 \n3 455 15888 15889 \n3 15888 1803 6605 \n3 15889 6605 1805 \n3 1803 15890 6603 \n3 15890 456 15891 \n3 6603 15891 1804 \n3 1805 6604 15893 \n3 6604 1804 15892 \n3 15893 15892 457 \n3 458 15894 15895 \n3 15894 1806 6608 \n3 15895 6608 1808 \n3 1806 15896 6606 \n3 15896 459 15897 \n3 6606 15897 1807 \n3 1808 6607 15899 \n3 6607 1807 15898 \n3 15899 15898 460 \n3 461 15900 15901 \n3 15900 1809 6611 \n3 15901 6611 1811 \n3 1809 15902 6609 \n3 15902 462 15903 \n3 6609 15903 1810 \n3 1811 6610 15905 \n3 6610 1810 15904 \n3 15905 15904 463 \n3 464 15906 15907 \n3 15906 1812 6614 \n3 15907 6614 1814 \n3 1812 15908 6612 \n3 15908 465 15909 \n3 6612 15909 1813 \n3 1814 6613 15911 \n3 6613 1813 15910 \n3 15911 15910 466 \n3 467 15912 15913 \n3 15912 1815 6617 \n3 15913 6617 1817 \n3 1815 15914 6615 \n3 15914 468 15915 \n3 6615 15915 1816 \n3 1817 6616 15917 \n3 6616 1816 15916 \n3 15917 15916 469 \n3 470 15918 15919 \n3 15918 1818 6620 \n3 15919 6620 1820 \n3 1818 15920 6618 \n3 15920 471 15921 \n3 6618 15921 1819 \n3 1820 6619 15923 \n3 6619 1819 15922 \n3 15923 15922 472 \n3 473 15924 15925 \n3 15924 1821 6623 \n3 15925 6623 1823 \n3 1821 15926 6621 \n3 15926 474 15927 \n3 6621 15927 1822 \n3 1823 6622 15929 \n3 6622 1822 15928 \n3 15929 15928 475 \n3 476 15930 15931 \n3 15930 1824 6626 \n3 15931 6626 1826 \n3 1824 15932 6624 \n3 15932 477 15933 \n3 6624 15933 1825 \n3 1826 6625 15935 \n3 6625 1825 15934 \n3 15935 15934 478 \n3 479 15936 15937 \n3 15936 1827 6629 \n3 15937 6629 1829 \n3 1827 15938 6627 \n3 15938 480 15939 \n3 6627 15939 1828 \n3 1829 6628 15941 \n3 6628 1828 15940 \n3 15941 15940 481 \n3 482 15942 15943 \n3 15942 1830 6632 \n3 15943 6632 1832 \n3 1830 15944 6630 \n3 15944 483 15945 \n3 6630 15945 1831 \n3 1832 6631 15947 \n3 6631 1831 15946 \n3 15947 15946 484 \n3 485 15948 15949 \n3 15948 1833 6635 \n3 15949 6635 1835 \n3 1833 15950 6633 \n3 15950 486 15951 \n3 6633 15951 1834 \n3 1835 6634 15953 \n3 6634 1834 15952 \n3 15953 15952 487 \n3 488 15954 15955 \n3 15954 1836 6638 \n3 15955 6638 1838 \n3 1836 15956 6636 \n3 15956 489 15957 \n3 6636 15957 1837 \n3 1838 6637 15959 \n3 6637 1837 15958 \n3 15959 15958 490 \n3 491 15960 15961 \n3 15960 1839 6641 \n3 15961 6641 1841 \n3 1839 15962 6639 \n3 15962 492 15963 \n3 6639 15963 1840 \n3 1841 6640 15965 \n3 6640 1840 15964 \n3 15965 15964 493 \n3 494 15966 15967 \n3 15966 1842 6644 \n3 15967 6644 1844 \n3 1842 15968 6642 \n3 15968 495 15969 \n3 6642 15969 1843 \n3 1844 6643 15971 \n3 6643 1843 15970 \n3 15971 15970 496 \n3 497 15972 15973 \n3 15972 1845 6647 \n3 15973 6647 1847 \n3 1845 15974 6645 \n3 15974 498 15975 \n3 6645 15975 1846 \n3 1847 6646 15977 \n3 6646 1846 15976 \n3 15977 15976 499 \n3 500 15978 15979 \n3 15978 1848 6650 \n3 15979 6650 1850 \n3 1848 15980 6648 \n3 15980 501 15981 \n3 6648 15981 1849 \n3 1850 6649 15983 \n3 6649 1849 15982 \n3 15983 15982 502 \n3 503 15984 15985 \n3 15984 1851 6653 \n3 15985 6653 1853 \n3 1851 15986 6651 \n3 15986 504 15987 \n3 6651 15987 1852 \n3 1853 6652 15989 \n3 6652 1852 15988 \n3 15989 15988 505 \n3 506 15990 15991 \n3 15990 1854 6656 \n3 15991 6656 1856 \n3 1854 15992 6654 \n3 15992 507 15993 \n3 6654 15993 1855 \n3 1856 6655 15995 \n3 6655 1855 15994 \n3 15995 15994 508 \n3 509 15996 15997 \n3 15996 1857 6659 \n3 15997 6659 1859 \n3 1857 15998 6657 \n3 15998 510 15999 \n3 6657 15999 1858 \n3 1859 6658 16001 \n3 6658 1858 16000 \n3 16001 16000 511 \n3 512 16002 16003 \n3 16002 1860 6662 \n3 16003 6662 1862 \n3 1860 16004 6660 \n3 16004 513 16005 \n3 6660 16005 1861 \n3 1862 6661 16007 \n3 6661 1861 16006 \n3 16007 16006 514 \n3 515 16008 16009 \n3 16008 1863 6665 \n3 16009 6665 1865 \n3 1863 16010 6663 \n3 16010 516 16011 \n3 6663 16011 1864 \n3 1865 6664 16013 \n3 6664 1864 16012 \n3 16013 16012 517 \n3 518 16014 16015 \n3 16014 1866 6668 \n3 16015 6668 1868 \n3 1866 16016 6666 \n3 16016 519 16017 \n3 6666 16017 1867 \n3 1868 6667 16019 \n3 6667 1867 16018 \n3 16019 16018 520 \n3 521 16020 16021 \n3 16020 1869 6671 \n3 16021 6671 1871 \n3 1869 16022 6669 \n3 16022 522 16023 \n3 6669 16023 1870 \n3 1871 6670 16025 \n3 6670 1870 16024 \n3 16025 16024 523 \n3 524 16026 16027 \n3 16026 1872 6674 \n3 16027 6674 1874 \n3 1872 16028 6672 \n3 16028 525 16029 \n3 6672 16029 1873 \n3 1874 6673 16031 \n3 6673 1873 16030 \n3 16031 16030 526 \n3 527 16032 16033 \n3 16032 1875 6677 \n3 16033 6677 1877 \n3 1875 16034 6675 \n3 16034 528 16035 \n3 6675 16035 1876 \n3 1877 6676 16037 \n3 6676 1876 16036 \n3 16037 16036 529 \n3 530 16038 16039 \n3 16038 1878 6680 \n3 16039 6680 1880 \n3 1878 16040 6678 \n3 16040 531 16041 \n3 6678 16041 1879 \n3 1880 6679 16043 \n3 6679 1879 16042 \n3 16043 16042 532 \n3 533 16044 16045 \n3 16044 1881 6683 \n3 16045 6683 1883 \n3 1881 16046 6681 \n3 16046 534 16047 \n3 6681 16047 1882 \n3 1883 6682 16049 \n3 6682 1882 16048 \n3 16049 16048 535 \n3 536 16050 16051 \n3 16050 1884 6686 \n3 16051 6686 1886 \n3 1884 16052 6684 \n3 16052 537 16053 \n3 6684 16053 1885 \n3 1886 6685 16055 \n3 6685 1885 16054 \n3 16055 16054 538 \n3 539 16056 16057 \n3 16056 1887 6689 \n3 16057 6689 1889 \n3 1887 16058 6687 \n3 16058 540 16059 \n3 6687 16059 1888 \n3 1889 6688 16061 \n3 6688 1888 16060 \n3 16061 16060 541 \n3 542 16062 16063 \n3 16062 1890 6692 \n3 16063 6692 1892 \n3 1890 16064 6690 \n3 16064 543 16065 \n3 6690 16065 1891 \n3 1892 6691 16067 \n3 6691 1891 16066 \n3 16067 16066 544 \n3 545 16068 16069 \n3 16068 1893 6695 \n3 16069 6695 1895 \n3 1893 16070 6693 \n3 16070 546 16071 \n3 6693 16071 1894 \n3 1895 6694 16073 \n3 6694 1894 16072 \n3 16073 16072 547 \n3 548 16074 16075 \n3 16074 1896 6698 \n3 16075 6698 1898 \n3 1896 16076 6696 \n3 16076 549 16077 \n3 6696 16077 1897 \n3 1898 6697 16079 \n3 6697 1897 16078 \n3 16079 16078 550 \n3 551 16080 16081 \n3 16080 1899 6701 \n3 16081 6701 1901 \n3 1899 16082 6699 \n3 16082 552 16083 \n3 6699 16083 1900 \n3 1901 6700 16085 \n3 6700 1900 16084 \n3 16085 16084 553 \n3 554 16086 16087 \n3 16086 1902 6704 \n3 16087 6704 1904 \n3 1902 16088 6702 \n3 16088 555 16089 \n3 6702 16089 1903 \n3 1904 6703 16091 \n3 6703 1903 16090 \n3 16091 16090 556 \n3 557 16092 16093 \n3 16092 1905 6707 \n3 16093 6707 1907 \n3 1905 16094 6705 \n3 16094 558 16095 \n3 6705 16095 1906 \n3 1907 6706 16097 \n3 6706 1906 16096 \n3 16097 16096 559 \n3 560 16098 16099 \n3 16098 1908 6710 \n3 16099 6710 1910 \n3 1908 16100 6708 \n3 16100 561 16101 \n3 6708 16101 1909 \n3 1910 6709 16103 \n3 6709 1909 16102 \n3 16103 16102 562 \n3 563 16104 16105 \n3 16104 1911 6713 \n3 16105 6713 1913 \n3 1911 16106 6711 \n3 16106 564 16107 \n3 6711 16107 1912 \n3 1913 6712 16109 \n3 6712 1912 16108 \n3 16109 16108 565 \n3 566 16110 16111 \n3 16110 1914 6716 \n3 16111 6716 1916 \n3 1914 16112 6714 \n3 16112 567 16113 \n3 6714 16113 1915 \n3 1916 6715 16115 \n3 6715 1915 16114 \n3 16115 16114 568 \n3 569 16116 16117 \n3 16116 1917 6719 \n3 16117 6719 1919 \n3 1917 16118 6717 \n3 16118 570 16119 \n3 6717 16119 1918 \n3 1919 6718 16121 \n3 6718 1918 16120 \n3 16121 16120 571 \n3 572 16122 16123 \n3 16122 1920 6722 \n3 16123 6722 1922 \n3 1920 16124 6720 \n3 16124 573 16125 \n3 6720 16125 1921 \n3 1922 6721 16127 \n3 6721 1921 16126 \n3 16127 16126 574 \n3 575 16128 16129 \n3 16128 1923 6725 \n3 16129 6725 1925 \n3 1923 16130 6723 \n3 16130 576 16131 \n3 6723 16131 1924 \n3 1925 6724 16133 \n3 6724 1924 16132 \n3 16133 16132 577 \n3 578 16134 16135 \n3 16134 1926 6728 \n3 16135 6728 1928 \n3 1926 16136 6726 \n3 16136 579 16137 \n3 6726 16137 1927 \n3 1928 6727 16139 \n3 6727 1927 16138 \n3 16139 16138 580 \n3 581 16140 16141 \n3 16140 1929 6731 \n3 16141 6731 1931 \n3 1929 16142 6729 \n3 16142 582 16143 \n3 6729 16143 1930 \n3 1931 6730 16145 \n3 6730 1930 16144 \n3 16145 16144 583 \n3 584 16146 16147 \n3 16146 1932 6734 \n3 16147 6734 1934 \n3 1932 16148 6732 \n3 16148 585 16149 \n3 6732 16149 1933 \n3 1934 6733 16151 \n3 6733 1933 16150 \n3 16151 16150 586 \n3 587 16152 16153 \n3 16152 1935 6737 \n3 16153 6737 1937 \n3 1935 16154 6735 \n3 16154 588 16155 \n3 6735 16155 1936 \n3 1937 6736 16157 \n3 6736 1936 16156 \n3 16157 16156 589 \n3 590 16158 16159 \n3 16158 1938 6740 \n3 16159 6740 1940 \n3 1938 16160 6738 \n3 16160 591 16161 \n3 6738 16161 1939 \n3 1940 6739 16163 \n3 6739 1939 16162 \n3 16163 16162 592 \n3 593 16164 16165 \n3 16164 1941 6743 \n3 16165 6743 1943 \n3 1941 16166 6741 \n3 16166 594 16167 \n3 6741 16167 1942 \n3 1943 6742 16169 \n3 6742 1942 16168 \n3 16169 16168 595 \n3 596 16170 16171 \n3 16170 1944 6746 \n3 16171 6746 1946 \n3 1944 16172 6744 \n3 16172 597 16173 \n3 6744 16173 1945 \n3 1946 6745 16175 \n3 6745 1945 16174 \n3 16175 16174 598 \n3 599 16176 16177 \n3 16176 1947 6749 \n3 16177 6749 1949 \n3 1947 16178 6747 \n3 16178 600 16179 \n3 6747 16179 1948 \n3 1949 6748 16181 \n3 6748 1948 16180 \n3 16181 16180 601 \n3 602 16182 16183 \n3 16182 1950 6752 \n3 16183 6752 1952 \n3 1950 16184 6750 \n3 16184 603 16185 \n3 6750 16185 1951 \n3 1952 6751 16187 \n3 6751 1951 16186 \n3 16187 16186 604 \n3 605 16188 16189 \n3 16188 1953 6755 \n3 16189 6755 1955 \n3 1953 16190 6753 \n3 16190 606 16191 \n3 6753 16191 1954 \n3 1955 6754 16193 \n3 6754 1954 16192 \n3 16193 16192 607 \n3 608 16194 16195 \n3 16194 1956 6758 \n3 16195 6758 1958 \n3 1956 16196 6756 \n3 16196 609 16197 \n3 6756 16197 1957 \n3 1958 6757 16199 \n3 6757 1957 16198 \n3 16199 16198 610 \n3 611 16200 16201 \n3 16200 1959 6761 \n3 16201 6761 1961 \n3 1959 16202 6759 \n3 16202 612 16203 \n3 6759 16203 1960 \n3 1961 6760 16205 \n3 6760 1960 16204 \n3 16205 16204 613 \n3 614 16206 16207 \n3 16206 1962 6764 \n3 16207 6764 1964 \n3 1962 16208 6762 \n3 16208 615 16209 \n3 6762 16209 1963 \n3 1964 6763 16211 \n3 6763 1963 16210 \n3 16211 16210 616 \n3 617 16212 16213 \n3 16212 1965 6767 \n3 16213 6767 1967 \n3 1965 16214 6765 \n3 16214 618 16215 \n3 6765 16215 1966 \n3 1967 6766 16217 \n3 6766 1966 16216 \n3 16217 16216 619 \n3 620 16218 16219 \n3 16218 1968 6770 \n3 16219 6770 1970 \n3 1968 16220 6768 \n3 16220 621 16221 \n3 6768 16221 1969 \n3 1970 6769 16223 \n3 6769 1969 16222 \n3 16223 16222 622 \n3 623 16224 16225 \n3 16224 1971 6773 \n3 16225 6773 1973 \n3 1971 16226 6771 \n3 16226 624 16227 \n3 6771 16227 1972 \n3 1973 6772 16229 \n3 6772 1972 16228 \n3 16229 16228 625 \n3 626 16230 16231 \n3 16230 1974 6776 \n3 16231 6776 1976 \n3 1974 16232 6774 \n3 16232 627 16233 \n3 6774 16233 1975 \n3 1976 6775 16235 \n3 6775 1975 16234 \n3 16235 16234 628 \n3 629 16236 16237 \n3 16236 1977 6779 \n3 16237 6779 1979 \n3 1977 16238 6777 \n3 16238 630 16239 \n3 6777 16239 1978 \n3 1979 6778 16241 \n3 6778 1978 16240 \n3 16241 16240 631 \n3 632 16242 16243 \n3 16242 1980 6782 \n3 16243 6782 1982 \n3 1980 16244 6780 \n3 16244 633 16245 \n3 6780 16245 1981 \n3 1982 6781 16247 \n3 6781 1981 16246 \n3 16247 16246 634 \n3 635 16248 16249 \n3 16248 1983 6785 \n3 16249 6785 1985 \n3 1983 16250 6783 \n3 16250 636 16251 \n3 6783 16251 1984 \n3 1985 6784 16253 \n3 6784 1984 16252 \n3 16253 16252 637 \n3 638 16254 16255 \n3 16254 1986 6788 \n3 16255 6788 1988 \n3 1986 16256 6786 \n3 16256 639 16257 \n3 6786 16257 1987 \n3 1988 6787 16259 \n3 6787 1987 16258 \n3 16259 16258 640 \n3 641 16260 16261 \n3 16260 1989 6791 \n3 16261 6791 1991 \n3 1989 16262 6789 \n3 16262 642 16263 \n3 6789 16263 1990 \n3 1991 6790 16265 \n3 6790 1990 16264 \n3 16265 16264 643 \n3 644 16266 16267 \n3 16266 1992 6794 \n3 16267 6794 1994 \n3 1992 16268 6792 \n3 16268 645 16269 \n3 6792 16269 1993 \n3 1994 6793 16271 \n3 6793 1993 16270 \n3 16271 16270 646 \n3 647 16272 16273 \n3 16272 1995 6797 \n3 16273 6797 1997 \n3 1995 16274 6795 \n3 16274 648 16275 \n3 6795 16275 1996 \n3 1997 6796 16277 \n3 6796 1996 16276 \n3 16277 16276 649 \n3 650 16278 16279 \n3 16278 1998 6800 \n3 16279 6800 2000 \n3 1998 16280 6798 \n3 16280 651 16281 \n3 6798 16281 1999 \n3 2000 6799 16283 \n3 6799 1999 16282 \n3 16283 16282 652 \n3 653 16284 16285 \n3 16284 2001 6803 \n3 16285 6803 2003 \n3 2001 16286 6801 \n3 16286 654 16287 \n3 6801 16287 2002 \n3 2003 6802 16289 \n3 6802 2002 16288 \n3 16289 16288 655 \n3 656 16290 16291 \n3 16290 2004 6806 \n3 16291 6806 2006 \n3 2004 16292 6804 \n3 16292 657 16293 \n3 6804 16293 2005 \n3 2006 6805 16295 \n3 6805 2005 16294 \n3 16295 16294 658 \n3 659 16296 16297 \n3 16296 2007 6809 \n3 16297 6809 2009 \n3 2007 16298 6807 \n3 16298 660 16299 \n3 6807 16299 2008 \n3 2009 6808 16301 \n3 6808 2008 16300 \n3 16301 16300 661 \n3 662 16302 16303 \n3 16302 2010 6812 \n3 16303 6812 2012 \n3 2010 16304 6810 \n3 16304 663 16305 \n3 6810 16305 2011 \n3 2012 6811 16307 \n3 6811 2011 16306 \n3 16307 16306 664 \n3 665 16308 16309 \n3 16308 2013 6815 \n3 16309 6815 2015 \n3 2013 16310 6813 \n3 16310 666 16311 \n3 6813 16311 2014 \n3 2015 6814 16313 \n3 6814 2014 16312 \n3 16313 16312 667 \n3 668 16314 16315 \n3 16314 2016 6818 \n3 16315 6818 2018 \n3 2016 16316 6816 \n3 16316 669 16317 \n3 6816 16317 2017 \n3 2018 6817 16319 \n3 6817 2017 16318 \n3 16319 16318 670 \n3 671 16320 16321 \n3 16320 2019 6821 \n3 16321 6821 2021 \n3 2019 16322 6819 \n3 16322 672 16323 \n3 6819 16323 2020 \n3 2021 6820 16325 \n3 6820 2020 16324 \n3 16325 16324 673 \n3 674 16326 16327 \n3 16326 2022 6824 \n3 16327 6824 2024 \n3 2022 16328 6822 \n3 16328 675 16329 \n3 6822 16329 2023 \n3 2024 6823 16331 \n3 6823 2023 16330 \n3 16331 16330 676 \n3 677 16332 16333 \n3 16332 2025 6827 \n3 16333 6827 2027 \n3 2025 16334 6825 \n3 16334 678 16335 \n3 6825 16335 2026 \n3 2027 6826 16337 \n3 6826 2026 16336 \n3 16337 16336 679 \n3 680 16338 16339 \n3 16338 2028 6830 \n3 16339 6830 2030 \n3 2028 16340 6828 \n3 16340 681 16341 \n3 6828 16341 2029 \n3 2030 6829 16343 \n3 6829 2029 16342 \n3 16343 16342 682 \n3 683 16344 16345 \n3 16344 2031 6833 \n3 16345 6833 2033 \n3 2031 16346 6831 \n3 16346 684 16347 \n3 6831 16347 2032 \n3 2033 6832 16349 \n3 6832 2032 16348 \n3 16349 16348 685 \n3 686 16350 16351 \n3 16350 2034 6836 \n3 16351 6836 2036 \n3 2034 16352 6834 \n3 16352 687 16353 \n3 6834 16353 2035 \n3 2036 6835 16355 \n3 6835 2035 16354 \n3 16355 16354 688 \n3 689 16356 16357 \n3 16356 2037 6839 \n3 16357 6839 2039 \n3 2037 16358 6837 \n3 16358 690 16359 \n3 6837 16359 2038 \n3 2039 6838 16361 \n3 6838 2038 16360 \n3 16361 16360 691 \n3 692 16362 16363 \n3 16362 2040 6842 \n3 16363 6842 2042 \n3 2040 16364 6840 \n3 16364 693 16365 \n3 6840 16365 2041 \n3 2042 6841 16367 \n3 6841 2041 16366 \n3 16367 16366 694 \n3 695 16368 16369 \n3 16368 2043 6845 \n3 16369 6845 2045 \n3 2043 16370 6843 \n3 16370 696 16371 \n3 6843 16371 2044 \n3 2045 6844 16373 \n3 6844 2044 16372 \n3 16373 16372 697 \n3 698 16374 16375 \n3 16374 2046 6848 \n3 16375 6848 2048 \n3 2046 16376 6846 \n3 16376 699 16377 \n3 6846 16377 2047 \n3 2048 6847 16379 \n3 6847 2047 16378 \n3 16379 16378 700 \n3 701 16380 16381 \n3 16380 2049 6851 \n3 16381 6851 2051 \n3 2049 16382 6849 \n3 16382 702 16383 \n3 6849 16383 2050 \n3 2051 6850 16385 \n3 6850 2050 16384 \n3 16385 16384 703 \n3 704 16386 16387 \n3 16386 2052 6854 \n3 16387 6854 2054 \n3 2052 16388 6852 \n3 16388 705 16389 \n3 6852 16389 2053 \n3 2054 6853 16391 \n3 6853 2053 16390 \n3 16391 16390 706 \n3 707 16392 16393 \n3 16392 2055 6857 \n3 16393 6857 2057 \n3 2055 16394 6855 \n3 16394 708 16395 \n3 6855 16395 2056 \n3 2057 6856 16397 \n3 6856 2056 16396 \n3 16397 16396 709 \n3 710 16398 16399 \n3 16398 2058 6860 \n3 16399 6860 2060 \n3 2058 16400 6858 \n3 16400 711 16401 \n3 6858 16401 2059 \n3 2060 6859 16403 \n3 6859 2059 16402 \n3 16403 16402 712 \n3 713 16404 16405 \n3 16404 2061 6863 \n3 16405 6863 2063 \n3 2061 16406 6861 \n3 16406 714 16407 \n3 6861 16407 2062 \n3 2063 6862 16409 \n3 6862 2062 16408 \n3 16409 16408 715 \n3 716 16410 16411 \n3 16410 2064 6866 \n3 16411 6866 2066 \n3 2064 16412 6864 \n3 16412 717 16413 \n3 6864 16413 2065 \n3 2066 6865 16415 \n3 6865 2065 16414 \n3 16415 16414 718 \n3 719 16416 16417 \n3 16416 2067 6869 \n3 16417 6869 2069 \n3 2067 16418 6867 \n3 16418 720 16419 \n3 6867 16419 2068 \n3 2069 6868 16421 \n3 6868 2068 16420 \n3 16421 16420 721 \n3 722 16422 16423 \n3 16422 2070 6872 \n3 16423 6872 2072 \n3 2070 16424 6870 \n3 16424 723 16425 \n3 6870 16425 2071 \n3 2072 6871 16427 \n3 6871 2071 16426 \n3 16427 16426 724 \n3 725 16428 16429 \n3 16428 2073 6875 \n3 16429 6875 2075 \n3 2073 16430 6873 \n3 16430 726 16431 \n3 6873 16431 2074 \n3 2075 6874 16433 \n3 6874 2074 16432 \n3 16433 16432 727 \n3 728 16434 16435 \n3 16434 2076 6878 \n3 16435 6878 2078 \n3 2076 16436 6876 \n3 16436 729 16437 \n3 6876 16437 2077 \n3 2078 6877 16439 \n3 6877 2077 16438 \n3 16439 16438 730 \n3 731 16440 16441 \n3 16440 2079 6881 \n3 16441 6881 2081 \n3 2079 16442 6879 \n3 16442 732 16443 \n3 6879 16443 2080 \n3 2081 6880 16445 \n3 6880 2080 16444 \n3 16445 16444 733 \n3 734 16446 16447 \n3 16446 2082 6884 \n3 16447 6884 2084 \n3 2082 16448 6882 \n3 16448 735 16449 \n3 6882 16449 2083 \n3 2084 6883 16451 \n3 6883 2083 16450 \n3 16451 16450 736 \n3 737 16452 16453 \n3 16452 2085 6887 \n3 16453 6887 2087 \n3 2085 16454 6885 \n3 16454 738 16455 \n3 6885 16455 2086 \n3 2087 6886 16457 \n3 6886 2086 16456 \n3 16457 16456 739 \n3 740 16458 16459 \n3 16458 2088 6890 \n3 16459 6890 2090 \n3 2088 16460 6888 \n3 16460 741 16461 \n3 6888 16461 2089 \n3 2090 6889 16463 \n3 6889 2089 16462 \n3 16463 16462 742 \n3 743 16464 16465 \n3 16464 2091 6893 \n3 16465 6893 2093 \n3 2091 16466 6891 \n3 16466 744 16467 \n3 6891 16467 2092 \n3 2093 6892 16469 \n3 6892 2092 16468 \n3 16469 16468 745 \n3 746 16470 16471 \n3 16470 2094 6896 \n3 16471 6896 2096 \n3 2094 16472 6894 \n3 16472 747 16473 \n3 6894 16473 2095 \n3 2096 6895 16475 \n3 6895 2095 16474 \n3 16475 16474 748 \n3 749 16476 16477 \n3 16476 2097 6899 \n3 16477 6899 2099 \n3 2097 16478 6897 \n3 16478 750 16479 \n3 6897 16479 2098 \n3 2099 6898 16481 \n3 6898 2098 16480 \n3 16481 16480 751 \n3 752 16482 16483 \n3 16482 2100 6902 \n3 16483 6902 2102 \n3 2100 16484 6900 \n3 16484 753 16485 \n3 6900 16485 2101 \n3 2102 6901 16487 \n3 6901 2101 16486 \n3 16487 16486 754 \n3 755 16488 16489 \n3 16488 2103 6905 \n3 16489 6905 2105 \n3 2103 16490 6903 \n3 16490 756 16491 \n3 6903 16491 2104 \n3 2105 6904 16493 \n3 6904 2104 16492 \n3 16493 16492 757 \n3 758 16494 16495 \n3 16494 2106 6908 \n3 16495 6908 2108 \n3 2106 16496 6906 \n3 16496 759 16497 \n3 6906 16497 2107 \n3 2108 6907 16499 \n3 6907 2107 16498 \n3 16499 16498 760 \n3 761 16500 16501 \n3 16500 2109 6911 \n3 16501 6911 2111 \n3 2109 16502 6909 \n3 16502 762 16503 \n3 6909 16503 2110 \n3 2111 6910 16505 \n3 6910 2110 16504 \n3 16505 16504 763 \n3 764 16506 16507 \n3 16506 2112 6914 \n3 16507 6914 2114 \n3 2112 16508 6912 \n3 16508 765 16509 \n3 6912 16509 2113 \n3 2114 6913 16511 \n3 6913 2113 16510 \n3 16511 16510 766 \n3 767 16512 16513 \n3 16512 2115 6917 \n3 16513 6917 2117 \n3 2115 16514 6915 \n3 16514 768 16515 \n3 6915 16515 2116 \n3 2117 6916 16517 \n3 6916 2116 16516 \n3 16517 16516 769 \n3 770 16518 16519 \n3 16518 2118 6920 \n3 16519 6920 2120 \n3 2118 16520 6918 \n3 16520 771 16521 \n3 6918 16521 2119 \n3 2120 6919 16523 \n3 6919 2119 16522 \n3 16523 16522 772 \n3 773 16524 16525 \n3 16524 2121 6923 \n3 16525 6923 2123 \n3 2121 16526 6921 \n3 16526 774 16527 \n3 6921 16527 2122 \n3 2123 6922 16529 \n3 6922 2122 16528 \n3 16529 16528 775 \n3 776 16530 16531 \n3 16530 2124 6926 \n3 16531 6926 2126 \n3 2124 16532 6924 \n3 16532 777 16533 \n3 6924 16533 2125 \n3 2126 6925 16535 \n3 6925 2125 16534 \n3 16535 16534 778 \n3 779 16536 16537 \n3 16536 2127 6929 \n3 16537 6929 2129 \n3 2127 16538 6927 \n3 16538 780 16539 \n3 6927 16539 2128 \n3 2129 6928 16541 \n3 6928 2128 16540 \n3 16541 16540 781 \n3 782 16542 16543 \n3 16542 2130 6932 \n3 16543 6932 2132 \n3 2130 16544 6930 \n3 16544 783 16545 \n3 6930 16545 2131 \n3 2132 6931 16547 \n3 6931 2131 16546 \n3 16547 16546 784 \n3 785 16548 16549 \n3 16548 2133 6935 \n3 16549 6935 2135 \n3 2133 16550 6933 \n3 16550 786 16551 \n3 6933 16551 2134 \n3 2135 6934 16553 \n3 6934 2134 16552 \n3 16553 16552 787 \n3 788 16554 16555 \n3 16554 2136 6938 \n3 16555 6938 2138 \n3 2136 16556 6936 \n3 16556 789 16557 \n3 6936 16557 2137 \n3 2138 6937 16559 \n3 6937 2137 16558 \n3 16559 16558 790 \n3 791 16560 16561 \n3 16560 2139 6941 \n3 16561 6941 2141 \n3 2139 16562 6939 \n3 16562 792 16563 \n3 6939 16563 2140 \n3 2141 6940 16565 \n3 6940 2140 16564 \n3 16565 16564 793 \n3 794 16566 16567 \n3 16566 2142 6944 \n3 16567 6944 2144 \n3 2142 16568 6942 \n3 16568 795 16569 \n3 6942 16569 2143 \n3 2144 6943 16571 \n3 6943 2143 16570 \n3 16571 16570 796 \n3 797 16572 16573 \n3 16572 2145 6947 \n3 16573 6947 2147 \n3 2145 16574 6945 \n3 16574 798 16575 \n3 6945 16575 2146 \n3 2147 6946 16577 \n3 6946 2146 16576 \n3 16577 16576 799 \n3 800 16578 16579 \n3 16578 2148 6950 \n3 16579 6950 2150 \n3 2148 16580 6948 \n3 16580 801 16581 \n3 6948 16581 2149 \n3 2150 6949 16583 \n3 6949 2149 16582 \n3 16583 16582 802 \n3 803 16584 16585 \n3 16584 2151 6953 \n3 16585 6953 2153 \n3 2151 16586 6951 \n3 16586 804 16587 \n3 6951 16587 2152 \n3 2153 6952 16589 \n3 6952 2152 16588 \n3 16589 16588 805 \n3 806 16590 16591 \n3 16590 2154 6956 \n3 16591 6956 2156 \n3 2154 16592 6954 \n3 16592 807 16593 \n3 6954 16593 2155 \n3 2156 6955 16595 \n3 6955 2155 16594 \n3 16595 16594 808 \n3 809 16596 16597 \n3 16596 2157 6959 \n3 16597 6959 2159 \n3 2157 16598 6957 \n3 16598 810 16599 \n3 6957 16599 2158 \n3 2159 6958 16601 \n3 6958 2158 16600 \n3 16601 16600 811 \n3 812 16602 16603 \n3 16602 2160 6962 \n3 16603 6962 2162 \n3 2160 16604 6960 \n3 16604 813 16605 \n3 6960 16605 2161 \n3 2162 6961 16607 \n3 6961 2161 16606 \n3 16607 16606 814 \n3 815 16608 16609 \n3 16608 2163 6965 \n3 16609 6965 2165 \n3 2163 16610 6963 \n3 16610 816 16611 \n3 6963 16611 2164 \n3 2165 6964 16613 \n3 6964 2164 16612 \n3 16613 16612 817 \n3 818 16614 16615 \n3 16614 2166 6968 \n3 16615 6968 2168 \n3 2166 16616 6966 \n3 16616 819 16617 \n3 6966 16617 2167 \n3 2168 6967 16619 \n3 6967 2167 16618 \n3 16619 16618 820 \n3 821 16620 16621 \n3 16620 2169 6971 \n3 16621 6971 2171 \n3 2169 16622 6969 \n3 16622 822 16623 \n3 6969 16623 2170 \n3 2171 6970 16625 \n3 6970 2170 16624 \n3 16625 16624 823 \n3 824 16626 16627 \n3 16626 2172 6974 \n3 16627 6974 2174 \n3 2172 16628 6972 \n3 16628 825 16629 \n3 6972 16629 2173 \n3 2174 6973 16631 \n3 6973 2173 16630 \n3 16631 16630 826 \n3 827 16632 16633 \n3 16632 2175 6977 \n3 16633 6977 2177 \n3 2175 16634 6975 \n3 16634 828 16635 \n3 6975 16635 2176 \n3 2177 6976 16637 \n3 6976 2176 16636 \n3 16637 16636 829 \n3 830 16638 16639 \n3 16638 2178 6980 \n3 16639 6980 2180 \n3 2178 16640 6978 \n3 16640 831 16641 \n3 6978 16641 2179 \n3 2180 6979 16643 \n3 6979 2179 16642 \n3 16643 16642 832 \n3 833 16644 16645 \n3 16644 2181 6983 \n3 16645 6983 2183 \n3 2181 16646 6981 \n3 16646 834 16647 \n3 6981 16647 2182 \n3 2183 6982 16649 \n3 6982 2182 16648 \n3 16649 16648 835 \n3 836 16650 16651 \n3 16650 2184 6986 \n3 16651 6986 2186 \n3 2184 16652 6984 \n3 16652 837 16653 \n3 6984 16653 2185 \n3 2186 6985 16655 \n3 6985 2185 16654 \n3 16655 16654 838 \n3 839 16656 16657 \n3 16656 2187 6989 \n3 16657 6989 2189 \n3 2187 16658 6987 \n3 16658 840 16659 \n3 6987 16659 2188 \n3 2189 6988 16661 \n3 6988 2188 16660 \n3 16661 16660 841 \n3 842 16662 16663 \n3 16662 2190 6992 \n3 16663 6992 2192 \n3 2190 16664 6990 \n3 16664 843 16665 \n3 6990 16665 2191 \n3 2192 6991 16667 \n3 6991 2191 16666 \n3 16667 16666 844 \n3 845 16668 16669 \n3 16668 2193 6995 \n3 16669 6995 2195 \n3 2193 16670 6993 \n3 16670 846 16671 \n3 6993 16671 2194 \n3 2195 6994 16673 \n3 6994 2194 16672 \n3 16673 16672 847 \n3 848 16674 16675 \n3 16674 2196 6998 \n3 16675 6998 2198 \n3 2196 16676 6996 \n3 16676 849 16677 \n3 6996 16677 2197 \n3 2198 6997 16679 \n3 6997 2197 16678 \n3 16679 16678 850 \n3 851 16680 16681 \n3 16680 2199 7001 \n3 16681 7001 2201 \n3 2199 16682 6999 \n3 16682 852 16683 \n3 6999 16683 2200 \n3 2201 7000 16685 \n3 7000 2200 16684 \n3 16685 16684 853 \n3 854 16686 16687 \n3 16686 2202 7004 \n3 16687 7004 2204 \n3 2202 16688 7002 \n3 16688 855 16689 \n3 7002 16689 2203 \n3 2204 7003 16691 \n3 7003 2203 16690 \n3 16691 16690 856 \n3 857 16692 16693 \n3 16692 2205 7007 \n3 16693 7007 2207 \n3 2205 16694 7005 \n3 16694 858 16695 \n3 7005 16695 2206 \n3 2207 7006 16697 \n3 7006 2206 16696 \n3 16697 16696 859 \n3 860 16698 16699 \n3 16698 2208 7010 \n3 16699 7010 2210 \n3 2208 16700 7008 \n3 16700 861 16701 \n3 7008 16701 2209 \n3 2210 7009 16703 \n3 7009 2209 16702 \n3 16703 16702 862 \n3 863 16704 16705 \n3 16704 2211 7013 \n3 16705 7013 2213 \n3 2211 16706 7011 \n3 16706 864 16707 \n3 7011 16707 2212 \n3 2213 7012 16709 \n3 7012 2212 16708 \n3 16709 16708 865 \n3 866 16710 16711 \n3 16710 2214 7016 \n3 16711 7016 2216 \n3 2214 16712 7014 \n3 16712 867 16713 \n3 7014 16713 2215 \n3 2216 7015 16715 \n3 7015 2215 16714 \n3 16715 16714 868 \n3 869 16716 16717 \n3 16716 2217 7019 \n3 16717 7019 2219 \n3 2217 16718 7017 \n3 16718 870 16719 \n3 7017 16719 2218 \n3 2219 7018 16721 \n3 7018 2218 16720 \n3 16721 16720 871 \n3 872 16722 16723 \n3 16722 2220 7022 \n3 16723 7022 2222 \n3 2220 16724 7020 \n3 16724 873 16725 \n3 7020 16725 2221 \n3 2222 7021 16727 \n3 7021 2221 16726 \n3 16727 16726 874 \n3 875 16728 16729 \n3 16728 2223 7025 \n3 16729 7025 2225 \n3 2223 16730 7023 \n3 16730 876 16731 \n3 7023 16731 2224 \n3 2225 7024 16733 \n3 7024 2224 16732 \n3 16733 16732 877 \n3 878 16734 16735 \n3 16734 2226 7028 \n3 16735 7028 2228 \n3 2226 16736 7026 \n3 16736 879 16737 \n3 7026 16737 2227 \n3 2228 7027 16739 \n3 7027 2227 16738 \n3 16739 16738 880 \n3 881 16740 16741 \n3 16740 2229 7031 \n3 16741 7031 2231 \n3 2229 16742 7029 \n3 16742 882 16743 \n3 7029 16743 2230 \n3 2231 7030 16745 \n3 7030 2230 16744 \n3 16745 16744 883 \n3 884 16746 16747 \n3 16746 2232 7034 \n3 16747 7034 2234 \n3 2232 16748 7032 \n3 16748 885 16749 \n3 7032 16749 2233 \n3 2234 7033 16751 \n3 7033 2233 16750 \n3 16751 16750 886 \n3 887 16752 16753 \n3 16752 2235 7037 \n3 16753 7037 2237 \n3 2235 16754 7035 \n3 16754 888 16755 \n3 7035 16755 2236 \n3 2237 7036 16757 \n3 7036 2236 16756 \n3 16757 16756 889 \n3 890 16758 16759 \n3 16758 2238 7040 \n3 16759 7040 2240 \n3 2238 16760 7038 \n3 16760 891 16761 \n3 7038 16761 2239 \n3 2240 7039 16763 \n3 7039 2239 16762 \n3 16763 16762 892 \n3 893 16764 16765 \n3 16764 2241 7043 \n3 16765 7043 2243 \n3 2241 16766 7041 \n3 16766 894 16767 \n3 7041 16767 2242 \n3 2243 7042 16769 \n3 7042 2242 16768 \n3 16769 16768 895 \n3 896 16770 16771 \n3 16770 2244 7046 \n3 16771 7046 2246 \n3 2244 16772 7044 \n3 16772 897 16773 \n3 7044 16773 2245 \n3 2246 7045 16775 \n3 7045 2245 16774 \n3 16775 16774 898 \n3 899 16776 16777 \n3 16776 2247 7049 \n3 16777 7049 2249 \n3 2247 16778 7047 \n3 16778 900 16779 \n3 7047 16779 2248 \n3 2249 7048 16781 \n3 7048 2248 16780 \n3 16781 16780 901 \n3 902 16782 16783 \n3 16782 2250 7052 \n3 16783 7052 2252 \n3 2250 16784 7050 \n3 16784 903 16785 \n3 7050 16785 2251 \n3 2252 7051 16787 \n3 7051 2251 16786 \n3 16787 16786 904 \n3 905 16788 16789 \n3 16788 2253 7055 \n3 16789 7055 2255 \n3 2253 16790 7053 \n3 16790 906 16791 \n3 7053 16791 2254 \n3 2255 7054 16793 \n3 7054 2254 16792 \n3 16793 16792 907 \n3 908 16794 16795 \n3 16794 2256 7058 \n3 16795 7058 2258 \n3 2256 16796 7056 \n3 16796 909 16797 \n3 7056 16797 2257 \n3 2258 7057 16799 \n3 7057 2257 16798 \n3 16799 16798 910 \n3 911 16800 16801 \n3 16800 2259 7061 \n3 16801 7061 2261 \n3 2259 16802 7059 \n3 16802 912 16803 \n3 7059 16803 2260 \n3 2261 7060 16805 \n3 7060 2260 16804 \n3 16805 16804 913 \n3 914 16806 16807 \n3 16806 2262 7064 \n3 16807 7064 2264 \n3 2262 16808 7062 \n3 16808 915 16809 \n3 7062 16809 2263 \n3 2264 7063 16811 \n3 7063 2263 16810 \n3 16811 16810 916 \n3 917 16812 16813 \n3 16812 2265 7067 \n3 16813 7067 2267 \n3 2265 16814 7065 \n3 16814 918 16815 \n3 7065 16815 2266 \n3 2267 7066 16817 \n3 7066 2266 16816 \n3 16817 16816 919 \n3 920 16818 16819 \n3 16818 2268 7070 \n3 16819 7070 2270 \n3 2268 16820 7068 \n3 16820 921 16821 \n3 7068 16821 2269 \n3 2270 7069 16823 \n3 7069 2269 16822 \n3 16823 16822 922 \n3 923 16824 16825 \n3 16824 2271 7073 \n3 16825 7073 2273 \n3 2271 16826 7071 \n3 16826 924 16827 \n3 7071 16827 2272 \n3 2273 7072 16829 \n3 7072 2272 16828 \n3 16829 16828 925 \n3 926 16830 16831 \n3 16830 2274 7076 \n3 16831 7076 2276 \n3 2274 16832 7074 \n3 16832 927 16833 \n3 7074 16833 2275 \n3 2276 7075 16835 \n3 7075 2275 16834 \n3 16835 16834 928 \n3 929 16836 16837 \n3 16836 2277 7079 \n3 16837 7079 2279 \n3 2277 16838 7077 \n3 16838 930 16839 \n3 7077 16839 2278 \n3 2279 7078 16841 \n3 7078 2278 16840 \n3 16841 16840 931 \n3 932 16842 16843 \n3 16842 2280 7082 \n3 16843 7082 2282 \n3 2280 16844 7080 \n3 16844 933 16845 \n3 7080 16845 2281 \n3 2282 7081 16847 \n3 7081 2281 16846 \n3 16847 16846 934 \n3 935 16848 16849 \n3 16848 2283 7085 \n3 16849 7085 2285 \n3 2283 16850 7083 \n3 16850 936 16851 \n3 7083 16851 2284 \n3 2285 7084 16853 \n3 7084 2284 16852 \n3 16853 16852 937 \n3 938 16854 16855 \n3 16854 2286 7088 \n3 16855 7088 2288 \n3 2286 16856 7086 \n3 16856 939 16857 \n3 7086 16857 2287 \n3 2288 7087 16859 \n3 7087 2287 16858 \n3 16859 16858 940 \n3 941 16860 16861 \n3 16860 2289 7091 \n3 16861 7091 2291 \n3 2289 16862 7089 \n3 16862 942 16863 \n3 7089 16863 2290 \n3 2291 7090 16865 \n3 7090 2290 16864 \n3 16865 16864 943 \n3 944 16866 16867 \n3 16866 2292 7094 \n3 16867 7094 2294 \n3 2292 16868 7092 \n3 16868 945 16869 \n3 7092 16869 2293 \n3 2294 7093 16871 \n3 7093 2293 16870 \n3 16871 16870 946 \n3 947 16872 16873 \n3 16872 2295 7097 \n3 16873 7097 2297 \n3 2295 16874 7095 \n3 16874 948 16875 \n3 7095 16875 2296 \n3 2297 7096 16877 \n3 7096 2296 16876 \n3 16877 16876 949 \n3 950 16878 16879 \n3 16878 2298 7100 \n3 16879 7100 2300 \n3 2298 16880 7098 \n3 16880 951 16881 \n3 7098 16881 2299 \n3 2300 7099 16883 \n3 7099 2299 16882 \n3 16883 16882 952 \n3 953 16884 16885 \n3 16884 2301 7103 \n3 16885 7103 2303 \n3 2301 16886 7101 \n3 16886 954 16887 \n3 7101 16887 2302 \n3 2303 7102 16889 \n3 7102 2302 16888 \n3 16889 16888 955 \n3 956 16890 16891 \n3 16890 2304 7106 \n3 16891 7106 2306 \n3 2304 16892 7104 \n3 16892 957 16893 \n3 7104 16893 2305 \n3 2306 7105 16895 \n3 7105 2305 16894 \n3 16895 16894 958 \n3 959 16896 16897 \n3 16896 2307 7109 \n3 16897 7109 2309 \n3 2307 16898 7107 \n3 16898 960 16899 \n3 7107 16899 2308 \n3 2309 7108 16901 \n3 7108 2308 16900 \n3 16901 16900 961 \n3 962 16902 16903 \n3 16902 2310 7112 \n3 16903 7112 2312 \n3 2310 16904 7110 \n3 16904 388 16905 \n3 7110 16905 2311 \n3 2312 7111 16907 \n3 7111 2311 16906 \n3 16907 16906 963 \n3 964 16908 16909 \n3 16908 2313 7115 \n3 16909 7115 2315 \n3 2313 16910 7113 \n3 16910 965 16911 \n3 7113 16911 2314 \n3 2315 7114 16913 \n3 7114 2314 16912 \n3 16913 16912 386 \n3 387 16914 16915 \n3 16914 2316 7118 \n3 16915 7118 2318 \n3 2316 16916 7116 \n3 16916 966 16917 \n3 7116 16917 2317 \n3 2318 7117 16919 \n3 7117 2317 16918 \n3 16919 16918 967 \n3 968 16920 16921 \n3 16920 2319 7121 \n3 16921 7121 2321 \n3 2319 16922 7119 \n3 16922 391 16923 \n3 7119 16923 2320 \n3 2321 7120 16925 \n3 7120 2320 16924 \n3 16925 16924 969 \n3 970 16926 16927 \n3 16926 2322 7124 \n3 16927 7124 2324 \n3 2322 16928 7122 \n3 16928 971 16929 \n3 7122 16929 2323 \n3 2324 7123 16931 \n3 7123 2323 16930 \n3 16931 16930 389 \n3 390 16932 16933 \n3 16932 2325 7127 \n3 16933 7127 2327 \n3 2325 16934 7125 \n3 16934 972 16935 \n3 7125 16935 2326 \n3 2327 7126 16937 \n3 7126 2326 16936 \n3 16937 16936 973 \n3 974 16938 16939 \n3 16938 2328 7130 \n3 16939 7130 2330 \n3 2328 16940 7128 \n3 16940 394 16941 \n3 7128 16941 2329 \n3 2330 7129 16943 \n3 7129 2329 16942 \n3 16943 16942 975 \n3 976 16944 16945 \n3 16944 2331 7133 \n3 16945 7133 2333 \n3 2331 16946 7131 \n3 16946 977 16947 \n3 7131 16947 2332 \n3 2333 7132 16949 \n3 7132 2332 16948 \n3 16949 16948 392 \n3 393 16950 16951 \n3 16950 2334 7136 \n3 16951 7136 2336 \n3 2334 16952 7134 \n3 16952 978 16953 \n3 7134 16953 2335 \n3 2336 7135 16955 \n3 7135 2335 16954 \n3 16955 16954 979 \n3 980 16956 16957 \n3 16956 2337 7139 \n3 16957 7139 2339 \n3 2337 16958 7137 \n3 16958 397 16959 \n3 7137 16959 2338 \n3 2339 7138 16961 \n3 7138 2338 16960 \n3 16961 16960 981 \n3 982 16962 16963 \n3 16962 2340 7142 \n3 16963 7142 2342 \n3 2340 16964 7140 \n3 16964 983 16965 \n3 7140 16965 2341 \n3 2342 7141 16967 \n3 7141 2341 16966 \n3 16967 16966 395 \n3 396 16968 16969 \n3 16968 2343 7145 \n3 16969 7145 2345 \n3 2343 16970 7143 \n3 16970 984 16971 \n3 7143 16971 2344 \n3 2345 7144 16973 \n3 7144 2344 16972 \n3 16973 16972 985 \n3 986 16974 16975 \n3 16974 2346 7148 \n3 16975 7148 2348 \n3 2346 16976 7146 \n3 16976 400 16977 \n3 7146 16977 2347 \n3 2348 7147 16979 \n3 7147 2347 16978 \n3 16979 16978 987 \n3 988 16980 16981 \n3 16980 2349 7151 \n3 16981 7151 2351 \n3 2349 16982 7149 \n3 16982 989 16983 \n3 7149 16983 2350 \n3 2351 7150 16985 \n3 7150 2350 16984 \n3 16985 16984 398 \n3 399 16986 16987 \n3 16986 2352 7154 \n3 16987 7154 2354 \n3 2352 16988 7152 \n3 16988 990 16989 \n3 7152 16989 2353 \n3 2354 7153 16991 \n3 7153 2353 16990 \n3 16991 16990 991 \n3 992 16992 16993 \n3 16992 2355 7157 \n3 16993 7157 2357 \n3 2355 16994 7155 \n3 16994 403 16995 \n3 7155 16995 2356 \n3 2357 7156 16997 \n3 7156 2356 16996 \n3 16997 16996 993 \n3 994 16998 16999 \n3 16998 2358 7160 \n3 16999 7160 2360 \n3 2358 17000 7158 \n3 17000 995 17001 \n3 7158 17001 2359 \n3 2360 7159 17003 \n3 7159 2359 17002 \n3 17003 17002 401 \n3 402 17004 17005 \n3 17004 2361 7163 \n3 17005 7163 2363 \n3 2361 17006 7161 \n3 17006 996 17007 \n3 7161 17007 2362 \n3 2363 7162 17009 \n3 7162 2362 17008 \n3 17009 17008 997 \n3 998 17010 17011 \n3 17010 2364 7166 \n3 17011 7166 2366 \n3 2364 17012 7164 \n3 17012 406 17013 \n3 7164 17013 2365 \n3 2366 7165 17015 \n3 7165 2365 17014 \n3 17015 17014 999 \n3 1000 17016 17017 \n3 17016 2367 7169 \n3 17017 7169 2369 \n3 2367 17018 7167 \n3 17018 1001 17019 \n3 7167 17019 2368 \n3 2369 7168 17021 \n3 7168 2368 17020 \n3 17021 17020 404 \n3 405 17022 17023 \n3 17022 2370 7172 \n3 17023 7172 2372 \n3 2370 17024 7170 \n3 17024 1002 17025 \n3 7170 17025 2371 \n3 2372 7171 17027 \n3 7171 2371 17026 \n3 17027 17026 1003 \n3 1004 17028 17029 \n3 17028 2373 7175 \n3 17029 7175 2375 \n3 2373 17030 7173 \n3 17030 409 17031 \n3 7173 17031 2374 \n3 2375 7174 17033 \n3 7174 2374 17032 \n3 17033 17032 1005 \n3 1006 17034 17035 \n3 17034 2376 7178 \n3 17035 7178 2378 \n3 2376 17036 7176 \n3 17036 1007 17037 \n3 7176 17037 2377 \n3 2378 7177 17039 \n3 7177 2377 17038 \n3 17039 17038 407 \n3 408 17040 17041 \n3 17040 2379 7181 \n3 17041 7181 2381 \n3 2379 17042 7179 \n3 17042 1008 17043 \n3 7179 17043 2380 \n3 2381 7180 17045 \n3 7180 2380 17044 \n3 17045 17044 1009 \n3 1010 17046 17047 \n3 17046 2382 7184 \n3 17047 7184 2384 \n3 2382 17048 7182 \n3 17048 412 17049 \n3 7182 17049 2383 \n3 2384 7183 17051 \n3 7183 2383 17050 \n3 17051 17050 1011 \n3 1012 17052 17053 \n3 17052 2385 7187 \n3 17053 7187 2387 \n3 2385 17054 7185 \n3 17054 1013 17055 \n3 7185 17055 2386 \n3 2387 7186 17057 \n3 7186 2386 17056 \n3 17057 17056 410 \n3 411 17058 17059 \n3 17058 2388 7190 \n3 17059 7190 2390 \n3 2388 17060 7188 \n3 17060 1014 17061 \n3 7188 17061 2389 \n3 2390 7189 17063 \n3 7189 2389 17062 \n3 17063 17062 1015 \n3 1016 17064 17065 \n3 17064 2391 7193 \n3 17065 7193 2393 \n3 2391 17066 7191 \n3 17066 415 17067 \n3 7191 17067 2392 \n3 2393 7192 17069 \n3 7192 2392 17068 \n3 17069 17068 1017 \n3 1018 17070 17071 \n3 17070 2394 7196 \n3 17071 7196 2396 \n3 2394 17072 7194 \n3 17072 1019 17073 \n3 7194 17073 2395 \n3 2396 7195 17075 \n3 7195 2395 17074 \n3 17075 17074 413 \n3 414 17076 17077 \n3 17076 2397 7199 \n3 17077 7199 2399 \n3 2397 17078 7197 \n3 17078 1020 17079 \n3 7197 17079 2398 \n3 2399 7198 17081 \n3 7198 2398 17080 \n3 17081 17080 1021 \n3 1022 17082 17083 \n3 17082 2400 7202 \n3 17083 7202 2402 \n3 2400 17084 7200 \n3 17084 418 17085 \n3 7200 17085 2401 \n3 2402 7201 17087 \n3 7201 2401 17086 \n3 17087 17086 1023 \n3 1024 17088 17089 \n3 17088 2403 7205 \n3 17089 7205 2405 \n3 2403 17090 7203 \n3 17090 1025 17091 \n3 7203 17091 2404 \n3 2405 7204 17093 \n3 7204 2404 17092 \n3 17093 17092 416 \n3 417 17094 17095 \n3 17094 2406 7208 \n3 17095 7208 2408 \n3 2406 17096 7206 \n3 17096 1026 17097 \n3 7206 17097 2407 \n3 2408 7207 17099 \n3 7207 2407 17098 \n3 17099 17098 1027 \n3 1028 17100 17101 \n3 17100 2409 7211 \n3 17101 7211 2411 \n3 2409 17102 7209 \n3 17102 421 17103 \n3 7209 17103 2410 \n3 2411 7210 17105 \n3 7210 2410 17104 \n3 17105 17104 1029 \n3 1030 17106 17107 \n3 17106 2412 7214 \n3 17107 7214 2414 \n3 2412 17108 7212 \n3 17108 1031 17109 \n3 7212 17109 2413 \n3 2414 7213 17111 \n3 7213 2413 17110 \n3 17111 17110 419 \n3 420 17112 17113 \n3 17112 2415 7217 \n3 17113 7217 2417 \n3 2415 17114 7215 \n3 17114 1032 17115 \n3 7215 17115 2416 \n3 2417 7216 17117 \n3 7216 2416 17116 \n3 17117 17116 1033 \n3 1034 17118 17119 \n3 17118 2418 7220 \n3 17119 7220 2420 \n3 2418 17120 7218 \n3 17120 424 17121 \n3 7218 17121 2419 \n3 2420 7219 17123 \n3 7219 2419 17122 \n3 17123 17122 1035 \n3 1036 17124 17125 \n3 17124 2421 7223 \n3 17125 7223 2423 \n3 2421 17126 7221 \n3 17126 1037 17127 \n3 7221 17127 2422 \n3 2423 7222 17129 \n3 7222 2422 17128 \n3 17129 17128 422 \n3 423 17130 17131 \n3 17130 2424 7226 \n3 17131 7226 2426 \n3 2424 17132 7224 \n3 17132 1038 17133 \n3 7224 17133 2425 \n3 2426 7225 17135 \n3 7225 2425 17134 \n3 17135 17134 1039 \n3 1040 17136 17137 \n3 17136 2427 7229 \n3 17137 7229 2429 \n3 2427 17138 7227 \n3 17138 427 17139 \n3 7227 17139 2428 \n3 2429 7228 17141 \n3 7228 2428 17140 \n3 17141 17140 1041 \n3 1042 17142 17143 \n3 17142 2430 7232 \n3 17143 7232 2432 \n3 2430 17144 7230 \n3 17144 1043 17145 \n3 7230 17145 2431 \n3 2432 7231 17147 \n3 7231 2431 17146 \n3 17147 17146 425 \n3 426 17148 17149 \n3 17148 2433 7235 \n3 17149 7235 2435 \n3 2433 17150 7233 \n3 17150 1044 17151 \n3 7233 17151 2434 \n3 2435 7234 17153 \n3 7234 2434 17152 \n3 17153 17152 1045 \n3 1046 17154 17155 \n3 17154 2436 7238 \n3 17155 7238 2438 \n3 2436 17156 7236 \n3 17156 430 17157 \n3 7236 17157 2437 \n3 2438 7237 17159 \n3 7237 2437 17158 \n3 17159 17158 1047 \n3 1048 17160 17161 \n3 17160 2439 7241 \n3 17161 7241 2441 \n3 2439 17162 7239 \n3 17162 1049 17163 \n3 7239 17163 2440 \n3 2441 7240 17165 \n3 7240 2440 17164 \n3 17165 17164 428 \n3 429 17166 17167 \n3 17166 2442 7244 \n3 17167 7244 2444 \n3 2442 17168 7242 \n3 17168 1050 17169 \n3 7242 17169 2443 \n3 2444 7243 17171 \n3 7243 2443 17170 \n3 17171 17170 1051 \n3 1052 17172 17173 \n3 17172 2445 7247 \n3 17173 7247 2447 \n3 2445 17174 7245 \n3 17174 433 17175 \n3 7245 17175 2446 \n3 2447 7246 17177 \n3 7246 2446 17176 \n3 17177 17176 1053 \n3 1054 17178 17179 \n3 17178 2448 7250 \n3 17179 7250 2450 \n3 2448 17180 7248 \n3 17180 1055 17181 \n3 7248 17181 2449 \n3 2450 7249 17183 \n3 7249 2449 17182 \n3 17183 17182 431 \n3 432 17184 17185 \n3 17184 2451 7253 \n3 17185 7253 2453 \n3 2451 17186 7251 \n3 17186 1056 17187 \n3 7251 17187 2452 \n3 2453 7252 17189 \n3 7252 2452 17188 \n3 17189 17188 1057 \n3 1058 17190 17191 \n3 17190 2454 7256 \n3 17191 7256 2456 \n3 2454 17192 7254 \n3 17192 436 17193 \n3 7254 17193 2455 \n3 2456 7255 17195 \n3 7255 2455 17194 \n3 17195 17194 1059 \n3 1060 17196 17197 \n3 17196 2457 7259 \n3 17197 7259 2459 \n3 2457 17198 7257 \n3 17198 1061 17199 \n3 7257 17199 2458 \n3 2459 7258 17201 \n3 7258 2458 17200 \n3 17201 17200 434 \n3 435 17202 17203 \n3 17202 2460 7262 \n3 17203 7262 2462 \n3 2460 17204 7260 \n3 17204 1062 17205 \n3 7260 17205 2461 \n3 2462 7261 17207 \n3 7261 2461 17206 \n3 17207 17206 1063 \n3 1064 17208 17209 \n3 17208 2463 7265 \n3 17209 7265 2465 \n3 2463 17210 7263 \n3 17210 439 17211 \n3 7263 17211 2464 \n3 2465 7264 17213 \n3 7264 2464 17212 \n3 17213 17212 1065 \n3 1066 17214 17215 \n3 17214 2466 7268 \n3 17215 7268 2468 \n3 2466 17216 7266 \n3 17216 1067 17217 \n3 7266 17217 2467 \n3 2468 7267 17219 \n3 7267 2467 17218 \n3 17219 17218 437 \n3 438 17220 17221 \n3 17220 2469 7271 \n3 17221 7271 2471 \n3 2469 17222 7269 \n3 17222 1068 17223 \n3 7269 17223 2470 \n3 2471 7270 17225 \n3 7270 2470 17224 \n3 17225 17224 1069 \n3 1070 17226 17227 \n3 17226 2472 7274 \n3 17227 7274 2474 \n3 2472 17228 7272 \n3 17228 442 17229 \n3 7272 17229 2473 \n3 2474 7273 17231 \n3 7273 2473 17230 \n3 17231 17230 1071 \n3 1072 17232 17233 \n3 17232 2475 7277 \n3 17233 7277 2477 \n3 2475 17234 7275 \n3 17234 1073 17235 \n3 7275 17235 2476 \n3 2477 7276 17237 \n3 7276 2476 17236 \n3 17237 17236 440 \n3 441 17238 17239 \n3 17238 2478 7280 \n3 17239 7280 2480 \n3 2478 17240 7278 \n3 17240 1074 17241 \n3 7278 17241 2479 \n3 2480 7279 17243 \n3 7279 2479 17242 \n3 17243 17242 1075 \n3 1076 17244 17245 \n3 17244 2481 7283 \n3 17245 7283 2483 \n3 2481 17246 7281 \n3 17246 445 17247 \n3 7281 17247 2482 \n3 2483 7282 17249 \n3 7282 2482 17248 \n3 17249 17248 1077 \n3 1078 17250 17251 \n3 17250 2484 7286 \n3 17251 7286 2486 \n3 2484 17252 7284 \n3 17252 1079 17253 \n3 7284 17253 2485 \n3 2486 7285 17255 \n3 7285 2485 17254 \n3 17255 17254 443 \n3 444 17256 17257 \n3 17256 2487 7289 \n3 17257 7289 2489 \n3 2487 17258 7287 \n3 17258 1080 17259 \n3 7287 17259 2488 \n3 2489 7288 17261 \n3 7288 2488 17260 \n3 17261 17260 1081 \n3 1082 17262 17263 \n3 17262 2490 7292 \n3 17263 7292 2492 \n3 2490 17264 7290 \n3 17264 448 17265 \n3 7290 17265 2491 \n3 2492 7291 17267 \n3 7291 2491 17266 \n3 17267 17266 1083 \n3 1084 17268 17269 \n3 17268 2493 7295 \n3 17269 7295 2495 \n3 2493 17270 7293 \n3 17270 1085 17271 \n3 7293 17271 2494 \n3 2495 7294 17273 \n3 7294 2494 17272 \n3 17273 17272 446 \n3 447 17274 17275 \n3 17274 2496 7298 \n3 17275 7298 2498 \n3 2496 17276 7296 \n3 17276 1086 17277 \n3 7296 17277 2497 \n3 2498 7297 17279 \n3 7297 2497 17278 \n3 17279 17278 1087 \n3 1088 17280 17281 \n3 17280 2499 7301 \n3 17281 7301 2501 \n3 2499 17282 7299 \n3 17282 451 17283 \n3 7299 17283 2500 \n3 2501 7300 17285 \n3 7300 2500 17284 \n3 17285 17284 1089 \n3 1090 17286 17287 \n3 17286 2502 7304 \n3 17287 7304 2504 \n3 2502 17288 7302 \n3 17288 1091 17289 \n3 7302 17289 2503 \n3 2504 7303 17291 \n3 7303 2503 17290 \n3 17291 17290 449 \n3 450 17292 17293 \n3 17292 2505 7307 \n3 17293 7307 2507 \n3 2505 17294 7305 \n3 17294 1092 17295 \n3 7305 17295 2506 \n3 2507 7306 17297 \n3 7306 2506 17296 \n3 17297 17296 1093 \n3 1094 17298 17299 \n3 17298 2508 7310 \n3 17299 7310 2510 \n3 2508 17300 7308 \n3 17300 454 17301 \n3 7308 17301 2509 \n3 2510 7309 17303 \n3 7309 2509 17302 \n3 17303 17302 1095 \n3 1096 17304 17305 \n3 17304 2511 7313 \n3 17305 7313 2513 \n3 2511 17306 7311 \n3 17306 1097 17307 \n3 7311 17307 2512 \n3 2513 7312 17309 \n3 7312 2512 17308 \n3 17309 17308 452 \n3 453 17310 17311 \n3 17310 2514 7316 \n3 17311 7316 2516 \n3 2514 17312 7314 \n3 17312 1098 17313 \n3 7314 17313 2515 \n3 2516 7315 17315 \n3 7315 2515 17314 \n3 17315 17314 1099 \n3 1100 17316 17317 \n3 17316 2517 7319 \n3 17317 7319 2519 \n3 2517 17318 7317 \n3 17318 457 17319 \n3 7317 17319 2518 \n3 2519 7318 17321 \n3 7318 2518 17320 \n3 17321 17320 1101 \n3 1102 17322 17323 \n3 17322 2520 7322 \n3 17323 7322 2522 \n3 2520 17324 7320 \n3 17324 1103 17325 \n3 7320 17325 2521 \n3 2522 7321 17327 \n3 7321 2521 17326 \n3 17327 17326 455 \n3 456 17328 17329 \n3 17328 2523 7325 \n3 17329 7325 2525 \n3 2523 17330 7323 \n3 17330 1104 17331 \n3 7323 17331 2524 \n3 2525 7324 17333 \n3 7324 2524 17332 \n3 17333 17332 1105 \n3 1106 17334 17335 \n3 17334 2526 7328 \n3 17335 7328 2528 \n3 2526 17336 7326 \n3 17336 460 17337 \n3 7326 17337 2527 \n3 2528 7327 17339 \n3 7327 2527 17338 \n3 17339 17338 1107 \n3 1108 17340 17341 \n3 17340 2529 7331 \n3 17341 7331 2531 \n3 2529 17342 7329 \n3 17342 1109 17343 \n3 7329 17343 2530 \n3 2531 7330 17345 \n3 7330 2530 17344 \n3 17345 17344 458 \n3 459 17346 17347 \n3 17346 2532 7334 \n3 17347 7334 2534 \n3 2532 17348 7332 \n3 17348 1110 17349 \n3 7332 17349 2533 \n3 2534 7333 17351 \n3 7333 2533 17350 \n3 17351 17350 1111 \n3 1112 17352 17353 \n3 17352 2535 7337 \n3 17353 7337 2537 \n3 2535 17354 7335 \n3 17354 463 17355 \n3 7335 17355 2536 \n3 2537 7336 17357 \n3 7336 2536 17356 \n3 17357 17356 1113 \n3 1114 17358 17359 \n3 17358 2538 7340 \n3 17359 7340 2540 \n3 2538 17360 7338 \n3 17360 1115 17361 \n3 7338 17361 2539 \n3 2540 7339 17363 \n3 7339 2539 17362 \n3 17363 17362 461 \n3 462 17364 17365 \n3 17364 2541 7343 \n3 17365 7343 2543 \n3 2541 17366 7341 \n3 17366 1116 17367 \n3 7341 17367 2542 \n3 2543 7342 17369 \n3 7342 2542 17368 \n3 17369 17368 1117 \n3 1118 17370 17371 \n3 17370 2544 7346 \n3 17371 7346 2546 \n3 2544 17372 7344 \n3 17372 466 17373 \n3 7344 17373 2545 \n3 2546 7345 17375 \n3 7345 2545 17374 \n3 17375 17374 1119 \n3 1120 17376 17377 \n3 17376 2547 7349 \n3 17377 7349 2549 \n3 2547 17378 7347 \n3 17378 1121 17379 \n3 7347 17379 2548 \n3 2549 7348 17381 \n3 7348 2548 17380 \n3 17381 17380 464 \n3 465 17382 17383 \n3 17382 2550 7352 \n3 17383 7352 2552 \n3 2550 17384 7350 \n3 17384 1122 17385 \n3 7350 17385 2551 \n3 2552 7351 17387 \n3 7351 2551 17386 \n3 17387 17386 1123 \n3 1124 17388 17389 \n3 17388 2553 7355 \n3 17389 7355 2555 \n3 2553 17390 7353 \n3 17390 469 17391 \n3 7353 17391 2554 \n3 2555 7354 17393 \n3 7354 2554 17392 \n3 17393 17392 1125 \n3 1126 17394 17395 \n3 17394 2556 7358 \n3 17395 7358 2558 \n3 2556 17396 7356 \n3 17396 1127 17397 \n3 7356 17397 2557 \n3 2558 7357 17399 \n3 7357 2557 17398 \n3 17399 17398 467 \n3 468 17400 17401 \n3 17400 2559 7361 \n3 17401 7361 2561 \n3 2559 17402 7359 \n3 17402 1128 17403 \n3 7359 17403 2560 \n3 2561 7360 17405 \n3 7360 2560 17404 \n3 17405 17404 1129 \n3 1130 17406 17407 \n3 17406 2562 7364 \n3 17407 7364 2564 \n3 2562 17408 7362 \n3 17408 472 17409 \n3 7362 17409 2563 \n3 2564 7363 17411 \n3 7363 2563 17410 \n3 17411 17410 1131 \n3 1132 17412 17413 \n3 17412 2565 7367 \n3 17413 7367 2567 \n3 2565 17414 7365 \n3 17414 1133 17415 \n3 7365 17415 2566 \n3 2567 7366 17417 \n3 7366 2566 17416 \n3 17417 17416 470 \n3 471 17418 17419 \n3 17418 2568 7370 \n3 17419 7370 2570 \n3 2568 17420 7368 \n3 17420 1134 17421 \n3 7368 17421 2569 \n3 2570 7369 17423 \n3 7369 2569 17422 \n3 17423 17422 1135 \n3 1136 17424 17425 \n3 17424 2571 7373 \n3 17425 7373 2573 \n3 2571 17426 7371 \n3 17426 475 17427 \n3 7371 17427 2572 \n3 2573 7372 17429 \n3 7372 2572 17428 \n3 17429 17428 1137 \n3 1138 17430 17431 \n3 17430 2574 7376 \n3 17431 7376 2576 \n3 2574 17432 7374 \n3 17432 1139 17433 \n3 7374 17433 2575 \n3 2576 7375 17435 \n3 7375 2575 17434 \n3 17435 17434 473 \n3 474 17436 17437 \n3 17436 2577 7379 \n3 17437 7379 2579 \n3 2577 17438 7377 \n3 17438 1140 17439 \n3 7377 17439 2578 \n3 2579 7378 17441 \n3 7378 2578 17440 \n3 17441 17440 1141 \n3 1142 17442 17443 \n3 17442 2580 7382 \n3 17443 7382 2582 \n3 2580 17444 7380 \n3 17444 478 17445 \n3 7380 17445 2581 \n3 2582 7381 17447 \n3 7381 2581 17446 \n3 17447 17446 1143 \n3 1144 17448 17449 \n3 17448 2583 7385 \n3 17449 7385 2585 \n3 2583 17450 7383 \n3 17450 1145 17451 \n3 7383 17451 2584 \n3 2585 7384 17453 \n3 7384 2584 17452 \n3 17453 17452 476 \n3 477 17454 17455 \n3 17454 2586 7388 \n3 17455 7388 2588 \n3 2586 17456 7386 \n3 17456 1146 17457 \n3 7386 17457 2587 \n3 2588 7387 17459 \n3 7387 2587 17458 \n3 17459 17458 1147 \n3 1148 17460 17461 \n3 17460 2589 7391 \n3 17461 7391 2591 \n3 2589 17462 7389 \n3 17462 481 17463 \n3 7389 17463 2590 \n3 2591 7390 17465 \n3 7390 2590 17464 \n3 17465 17464 1149 \n3 1150 17466 17467 \n3 17466 2592 7394 \n3 17467 7394 2594 \n3 2592 17468 7392 \n3 17468 1151 17469 \n3 7392 17469 2593 \n3 2594 7393 17471 \n3 7393 2593 17470 \n3 17471 17470 479 \n3 480 17472 17473 \n3 17472 2595 7397 \n3 17473 7397 2597 \n3 2595 17474 7395 \n3 17474 1152 17475 \n3 7395 17475 2596 \n3 2597 7396 17477 \n3 7396 2596 17476 \n3 17477 17476 1153 \n3 1154 17478 17479 \n3 17478 2598 7400 \n3 17479 7400 2600 \n3 2598 17480 7398 \n3 17480 484 17481 \n3 7398 17481 2599 \n3 2600 7399 17483 \n3 7399 2599 17482 \n3 17483 17482 1155 \n3 1156 17484 17485 \n3 17484 2601 7403 \n3 17485 7403 2603 \n3 2601 17486 7401 \n3 17486 1157 17487 \n3 7401 17487 2602 \n3 2603 7402 17489 \n3 7402 2602 17488 \n3 17489 17488 482 \n3 483 17490 17491 \n3 17490 2604 7406 \n3 17491 7406 2606 \n3 2604 17492 7404 \n3 17492 1158 17493 \n3 7404 17493 2605 \n3 2606 7405 17495 \n3 7405 2605 17494 \n3 17495 17494 1159 \n3 1160 17496 17497 \n3 17496 2607 7409 \n3 17497 7409 2609 \n3 2607 17498 7407 \n3 17498 487 17499 \n3 7407 17499 2608 \n3 2609 7408 17501 \n3 7408 2608 17500 \n3 17501 17500 1161 \n3 1162 17502 17503 \n3 17502 2610 7412 \n3 17503 7412 2612 \n3 2610 17504 7410 \n3 17504 1163 17505 \n3 7410 17505 2611 \n3 2612 7411 17507 \n3 7411 2611 17506 \n3 17507 17506 485 \n3 486 17508 17509 \n3 17508 2613 7415 \n3 17509 7415 2615 \n3 2613 17510 7413 \n3 17510 1164 17511 \n3 7413 17511 2614 \n3 2615 7414 17513 \n3 7414 2614 17512 \n3 17513 17512 1165 \n3 1166 17514 17515 \n3 17514 2616 7418 \n3 17515 7418 2618 \n3 2616 17516 7416 \n3 17516 490 17517 \n3 7416 17517 2617 \n3 2618 7417 17519 \n3 7417 2617 17518 \n3 17519 17518 1167 \n3 1168 17520 17521 \n3 17520 2619 7421 \n3 17521 7421 2621 \n3 2619 17522 7419 \n3 17522 1169 17523 \n3 7419 17523 2620 \n3 2621 7420 17525 \n3 7420 2620 17524 \n3 17525 17524 488 \n3 489 17526 17527 \n3 17526 2622 7424 \n3 17527 7424 2624 \n3 2622 17528 7422 \n3 17528 1170 17529 \n3 7422 17529 2623 \n3 2624 7423 17531 \n3 7423 2623 17530 \n3 17531 17530 1171 \n3 1172 17532 17533 \n3 17532 2625 7427 \n3 17533 7427 2627 \n3 2625 17534 7425 \n3 17534 493 17535 \n3 7425 17535 2626 \n3 2627 7426 17537 \n3 7426 2626 17536 \n3 17537 17536 1173 \n3 1174 17538 17539 \n3 17538 2628 7430 \n3 17539 7430 2630 \n3 2628 17540 7428 \n3 17540 1175 17541 \n3 7428 17541 2629 \n3 2630 7429 17543 \n3 7429 2629 17542 \n3 17543 17542 491 \n3 492 17544 17545 \n3 17544 2631 7433 \n3 17545 7433 2633 \n3 2631 17546 7431 \n3 17546 1176 17547 \n3 7431 17547 2632 \n3 2633 7432 17549 \n3 7432 2632 17548 \n3 17549 17548 1177 \n3 1178 17550 17551 \n3 17550 2634 7436 \n3 17551 7436 2636 \n3 2634 17552 7434 \n3 17552 496 17553 \n3 7434 17553 2635 \n3 2636 7435 17555 \n3 7435 2635 17554 \n3 17555 17554 1179 \n3 1180 17556 17557 \n3 17556 2637 7439 \n3 17557 7439 2639 \n3 2637 17558 7437 \n3 17558 1181 17559 \n3 7437 17559 2638 \n3 2639 7438 17561 \n3 7438 2638 17560 \n3 17561 17560 494 \n3 495 17562 17563 \n3 17562 2640 7442 \n3 17563 7442 2642 \n3 2640 17564 7440 \n3 17564 1182 17565 \n3 7440 17565 2641 \n3 2642 7441 17567 \n3 7441 2641 17566 \n3 17567 17566 1183 \n3 1184 17568 17569 \n3 17568 2643 7445 \n3 17569 7445 2645 \n3 2643 17570 7443 \n3 17570 499 17571 \n3 7443 17571 2644 \n3 2645 7444 17573 \n3 7444 2644 17572 \n3 17573 17572 1185 \n3 1186 17574 17575 \n3 17574 2646 7448 \n3 17575 7448 2648 \n3 2646 17576 7446 \n3 17576 1187 17577 \n3 7446 17577 2647 \n3 2648 7447 17579 \n3 7447 2647 17578 \n3 17579 17578 497 \n3 498 17580 17581 \n3 17580 2649 7451 \n3 17581 7451 2651 \n3 2649 17582 7449 \n3 17582 1188 17583 \n3 7449 17583 2650 \n3 2651 7450 17585 \n3 7450 2650 17584 \n3 17585 17584 1189 \n3 1190 17586 17587 \n3 17586 2652 7454 \n3 17587 7454 2654 \n3 2652 17588 7452 \n3 17588 502 17589 \n3 7452 17589 2653 \n3 2654 7453 17591 \n3 7453 2653 17590 \n3 17591 17590 1191 \n3 1192 17592 17593 \n3 17592 2655 7457 \n3 17593 7457 2657 \n3 2655 17594 7455 \n3 17594 1193 17595 \n3 7455 17595 2656 \n3 2657 7456 17597 \n3 7456 2656 17596 \n3 17597 17596 500 \n3 501 17598 17599 \n3 17598 2658 7460 \n3 17599 7460 2660 \n3 2658 17600 7458 \n3 17600 1194 17601 \n3 7458 17601 2659 \n3 2660 7459 17603 \n3 7459 2659 17602 \n3 17603 17602 1195 \n3 1196 17604 17605 \n3 17604 2661 7463 \n3 17605 7463 2663 \n3 2661 17606 7461 \n3 17606 505 17607 \n3 7461 17607 2662 \n3 2663 7462 17609 \n3 7462 2662 17608 \n3 17609 17608 1197 \n3 1198 17610 17611 \n3 17610 2664 7466 \n3 17611 7466 2666 \n3 2664 17612 7464 \n3 17612 1199 17613 \n3 7464 17613 2665 \n3 2666 7465 17615 \n3 7465 2665 17614 \n3 17615 17614 503 \n3 504 17616 17617 \n3 17616 2667 7469 \n3 17617 7469 2669 \n3 2667 17618 7467 \n3 17618 1200 17619 \n3 7467 17619 2668 \n3 2669 7468 17621 \n3 7468 2668 17620 \n3 17621 17620 1201 \n3 1202 17622 17623 \n3 17622 2670 7472 \n3 17623 7472 2672 \n3 2670 17624 7470 \n3 17624 508 17625 \n3 7470 17625 2671 \n3 2672 7471 17627 \n3 7471 2671 17626 \n3 17627 17626 1203 \n3 1204 17628 17629 \n3 17628 2673 7475 \n3 17629 7475 2675 \n3 2673 17630 7473 \n3 17630 1205 17631 \n3 7473 17631 2674 \n3 2675 7474 17633 \n3 7474 2674 17632 \n3 17633 17632 506 \n3 507 17634 17635 \n3 17634 2676 7478 \n3 17635 7478 2678 \n3 2676 17636 7476 \n3 17636 1206 17637 \n3 7476 17637 2677 \n3 2678 7477 17639 \n3 7477 2677 17638 \n3 17639 17638 1207 \n3 1208 17640 17641 \n3 17640 2679 7481 \n3 17641 7481 2681 \n3 2679 17642 7479 \n3 17642 511 17643 \n3 7479 17643 2680 \n3 2681 7480 17645 \n3 7480 2680 17644 \n3 17645 17644 1209 \n3 1210 17646 17647 \n3 17646 2682 7484 \n3 17647 7484 2684 \n3 2682 17648 7482 \n3 17648 1211 17649 \n3 7482 17649 2683 \n3 2684 7483 17651 \n3 7483 2683 17650 \n3 17651 17650 509 \n3 510 17652 17653 \n3 17652 2685 7487 \n3 17653 7487 2687 \n3 2685 17654 7485 \n3 17654 1212 17655 \n3 7485 17655 2686 \n3 2687 7486 17657 \n3 7486 2686 17656 \n3 17657 17656 1213 \n3 1214 17658 17659 \n3 17658 2688 7490 \n3 17659 7490 2690 \n3 2688 17660 7488 \n3 17660 514 17661 \n3 7488 17661 2689 \n3 2690 7489 17663 \n3 7489 2689 17662 \n3 17663 17662 1215 \n3 1216 17664 17665 \n3 17664 2691 7493 \n3 17665 7493 2693 \n3 2691 17666 7491 \n3 17666 1217 17667 \n3 7491 17667 2692 \n3 2693 7492 17669 \n3 7492 2692 17668 \n3 17669 17668 512 \n3 513 17670 17671 \n3 17670 2694 7496 \n3 17671 7496 2696 \n3 2694 17672 7494 \n3 17672 1218 17673 \n3 7494 17673 2695 \n3 2696 7495 17675 \n3 7495 2695 17674 \n3 17675 17674 1219 \n3 1220 17676 17677 \n3 17676 2697 7499 \n3 17677 7499 2699 \n3 2697 17678 7497 \n3 17678 517 17679 \n3 7497 17679 2698 \n3 2699 7498 17681 \n3 7498 2698 17680 \n3 17681 17680 1221 \n3 1222 17682 17683 \n3 17682 2700 7502 \n3 17683 7502 2702 \n3 2700 17684 7500 \n3 17684 1223 17685 \n3 7500 17685 2701 \n3 2702 7501 17687 \n3 7501 2701 17686 \n3 17687 17686 515 \n3 516 17688 17689 \n3 17688 2703 7505 \n3 17689 7505 2705 \n3 2703 17690 7503 \n3 17690 1224 17691 \n3 7503 17691 2704 \n3 2705 7504 17693 \n3 7504 2704 17692 \n3 17693 17692 1225 \n3 1226 17694 17695 \n3 17694 2706 7508 \n3 17695 7508 2708 \n3 2706 17696 7506 \n3 17696 520 17697 \n3 7506 17697 2707 \n3 2708 7507 17699 \n3 7507 2707 17698 \n3 17699 17698 1227 \n3 1228 17700 17701 \n3 17700 2709 7511 \n3 17701 7511 2711 \n3 2709 17702 7509 \n3 17702 1229 17703 \n3 7509 17703 2710 \n3 2711 7510 17705 \n3 7510 2710 17704 \n3 17705 17704 518 \n3 519 17706 17707 \n3 17706 2712 7514 \n3 17707 7514 2714 \n3 2712 17708 7512 \n3 17708 1230 17709 \n3 7512 17709 2713 \n3 2714 7513 17711 \n3 7513 2713 17710 \n3 17711 17710 1231 \n3 1232 17712 17713 \n3 17712 2715 7517 \n3 17713 7517 2717 \n3 2715 17714 7515 \n3 17714 523 17715 \n3 7515 17715 2716 \n3 2717 7516 17717 \n3 7516 2716 17716 \n3 17717 17716 1233 \n3 1234 17718 17719 \n3 17718 2718 7520 \n3 17719 7520 2720 \n3 2718 17720 7518 \n3 17720 1235 17721 \n3 7518 17721 2719 \n3 2720 7519 17723 \n3 7519 2719 17722 \n3 17723 17722 521 \n3 522 17724 17725 \n3 17724 2721 7523 \n3 17725 7523 2723 \n3 2721 17726 7521 \n3 17726 1236 17727 \n3 7521 17727 2722 \n3 2723 7522 17729 \n3 7522 2722 17728 \n3 17729 17728 1237 \n3 1238 17730 17731 \n3 17730 2724 7526 \n3 17731 7526 2726 \n3 2724 17732 7524 \n3 17732 526 17733 \n3 7524 17733 2725 \n3 2726 7525 17735 \n3 7525 2725 17734 \n3 17735 17734 1239 \n3 1240 17736 17737 \n3 17736 2727 7529 \n3 17737 7529 2729 \n3 2727 17738 7527 \n3 17738 1241 17739 \n3 7527 17739 2728 \n3 2729 7528 17741 \n3 7528 2728 17740 \n3 17741 17740 524 \n3 525 17742 17743 \n3 17742 2730 7532 \n3 17743 7532 2732 \n3 2730 17744 7530 \n3 17744 1242 17745 \n3 7530 17745 2731 \n3 2732 7531 17747 \n3 7531 2731 17746 \n3 17747 17746 1243 \n3 1244 17748 17749 \n3 17748 2733 7535 \n3 17749 7535 2735 \n3 2733 17750 7533 \n3 17750 529 17751 \n3 7533 17751 2734 \n3 2735 7534 17753 \n3 7534 2734 17752 \n3 17753 17752 1245 \n3 1246 17754 17755 \n3 17754 2736 7538 \n3 17755 7538 2738 \n3 2736 17756 7536 \n3 17756 1247 17757 \n3 7536 17757 2737 \n3 2738 7537 17759 \n3 7537 2737 17758 \n3 17759 17758 527 \n3 528 17760 17761 \n3 17760 2739 7541 \n3 17761 7541 2741 \n3 2739 17762 7539 \n3 17762 1248 17763 \n3 7539 17763 2740 \n3 2741 7540 17765 \n3 7540 2740 17764 \n3 17765 17764 1249 \n3 1250 17766 17767 \n3 17766 2742 7544 \n3 17767 7544 2744 \n3 2742 17768 7542 \n3 17768 532 17769 \n3 7542 17769 2743 \n3 2744 7543 17771 \n3 7543 2743 17770 \n3 17771 17770 1251 \n3 1252 17772 17773 \n3 17772 2745 7547 \n3 17773 7547 2747 \n3 2745 17774 7545 \n3 17774 963 17775 \n3 7545 17775 2746 \n3 2747 7546 17777 \n3 7546 2746 17776 \n3 17777 17776 530 \n3 531 17778 17779 \n3 17778 2748 7550 \n3 17779 7550 2750 \n3 2748 17780 7548 \n3 17780 967 17781 \n3 7548 17781 2749 \n3 2750 7549 17783 \n3 7549 2749 17782 \n3 17783 17782 1253 \n3 1254 17784 17785 \n3 17784 2751 7553 \n3 17785 7553 2753 \n3 2751 17786 7551 \n3 17786 535 17787 \n3 7551 17787 2752 \n3 2753 7552 17789 \n3 7552 2752 17788 \n3 17789 17788 962 \n3 1255 17790 17791 \n3 17790 2754 7556 \n3 17791 7556 2756 \n3 2754 17792 7554 \n3 17792 1256 17793 \n3 7554 17793 2755 \n3 2756 7555 17795 \n3 7555 2755 17794 \n3 17795 17794 533 \n3 534 17796 17797 \n3 17796 2757 7559 \n3 17797 7559 2759 \n3 2757 17798 7557 \n3 17798 1257 17799 \n3 7557 17799 2758 \n3 2759 7558 17801 \n3 7558 2758 17800 \n3 17801 17800 964 \n3 966 17802 17803 \n3 17802 2760 7562 \n3 17803 7562 2762 \n3 2760 17804 7560 \n3 17804 538 17805 \n3 7560 17805 2761 \n3 2762 7561 17807 \n3 7561 2761 17806 \n3 17807 17806 1258 \n3 965 17808 17809 \n3 17808 2763 7565 \n3 17809 7565 2765 \n3 2763 17810 7563 \n3 17810 1259 17811 \n3 7563 17811 2764 \n3 2765 7564 17813 \n3 7564 2764 17812 \n3 17813 17812 536 \n3 537 17814 17815 \n3 17814 2766 7568 \n3 17815 7568 2768 \n3 2766 17816 7566 \n3 17816 1260 17817 \n3 7566 17817 2767 \n3 2768 7567 17819 \n3 7567 2767 17818 \n3 17819 17818 1261 \n3 1262 17820 17821 \n3 17820 2769 7571 \n3 17821 7571 2771 \n3 2769 17822 7569 \n3 17822 541 17823 \n3 7569 17823 2770 \n3 2771 7570 17825 \n3 7570 2770 17824 \n3 17825 17824 1263 \n3 1264 17826 17827 \n3 17826 2772 7574 \n3 17827 7574 2774 \n3 2772 17828 7572 \n3 17828 969 17829 \n3 7572 17829 2773 \n3 2774 7573 17831 \n3 7573 2773 17830 \n3 17831 17830 539 \n3 540 17832 17833 \n3 17832 2775 7577 \n3 17833 7577 2777 \n3 2775 17834 7575 \n3 17834 973 17835 \n3 7575 17835 2776 \n3 2777 7576 17837 \n3 7576 2776 17836 \n3 17837 17836 1265 \n3 1266 17838 17839 \n3 17838 2778 7580 \n3 17839 7580 2780 \n3 2778 17840 7578 \n3 17840 544 17841 \n3 7578 17841 2779 \n3 2780 7579 17843 \n3 7579 2779 17842 \n3 17843 17842 968 \n3 1267 17844 17845 \n3 17844 2781 7583 \n3 17845 7583 2783 \n3 2781 17846 7581 \n3 17846 1268 17847 \n3 7581 17847 2782 \n3 2783 7582 17849 \n3 7582 2782 17848 \n3 17849 17848 542 \n3 543 17850 17851 \n3 17850 2784 7586 \n3 17851 7586 2786 \n3 2784 17852 7584 \n3 17852 1269 17853 \n3 7584 17853 2785 \n3 2786 7585 17855 \n3 7585 2785 17854 \n3 17855 17854 970 \n3 972 17856 17857 \n3 17856 2787 7589 \n3 17857 7589 2789 \n3 2787 17858 7587 \n3 17858 547 17859 \n3 7587 17859 2788 \n3 2789 7588 17861 \n3 7588 2788 17860 \n3 17861 17860 1270 \n3 971 17862 17863 \n3 17862 2790 7592 \n3 17863 7592 2792 \n3 2790 17864 7590 \n3 17864 1271 17865 \n3 7590 17865 2791 \n3 2792 7591 17867 \n3 7591 2791 17866 \n3 17867 17866 545 \n3 546 17868 17869 \n3 17868 2793 7595 \n3 17869 7595 2795 \n3 2793 17870 7593 \n3 17870 1272 17871 \n3 7593 17871 2794 \n3 2795 7594 17873 \n3 7594 2794 17872 \n3 17873 17872 1273 \n3 1274 17874 17875 \n3 17874 2796 7598 \n3 17875 7598 2798 \n3 2796 17876 7596 \n3 17876 550 17877 \n3 7596 17877 2797 \n3 2798 7597 17879 \n3 7597 2797 17878 \n3 17879 17878 1275 \n3 1276 17880 17881 \n3 17880 2799 7601 \n3 17881 7601 2801 \n3 2799 17882 7599 \n3 17882 975 17883 \n3 7599 17883 2800 \n3 2801 7600 17885 \n3 7600 2800 17884 \n3 17885 17884 548 \n3 549 17886 17887 \n3 17886 2802 7604 \n3 17887 7604 2804 \n3 2802 17888 7602 \n3 17888 979 17889 \n3 7602 17889 2803 \n3 2804 7603 17891 \n3 7603 2803 17890 \n3 17891 17890 1277 \n3 1278 17892 17893 \n3 17892 2805 7607 \n3 17893 7607 2807 \n3 2805 17894 7605 \n3 17894 553 17895 \n3 7605 17895 2806 \n3 2807 7606 17897 \n3 7606 2806 17896 \n3 17897 17896 974 \n3 1279 17898 17899 \n3 17898 2808 7610 \n3 17899 7610 2810 \n3 2808 17900 7608 \n3 17900 1280 17901 \n3 7608 17901 2809 \n3 2810 7609 17903 \n3 7609 2809 17902 \n3 17903 17902 551 \n3 552 17904 17905 \n3 17904 2811 7613 \n3 17905 7613 2813 \n3 2811 17906 7611 \n3 17906 1281 17907 \n3 7611 17907 2812 \n3 2813 7612 17909 \n3 7612 2812 17908 \n3 17909 17908 976 \n3 978 17910 17911 \n3 17910 2814 7616 \n3 17911 7616 2816 \n3 2814 17912 7614 \n3 17912 556 17913 \n3 7614 17913 2815 \n3 2816 7615 17915 \n3 7615 2815 17914 \n3 17915 17914 1282 \n3 977 17916 17917 \n3 17916 2817 7619 \n3 17917 7619 2819 \n3 2817 17918 7617 \n3 17918 1283 17919 \n3 7617 17919 2818 \n3 2819 7618 17921 \n3 7618 2818 17920 \n3 17921 17920 554 \n3 555 17922 17923 \n3 17922 2820 7622 \n3 17923 7622 2822 \n3 2820 17924 7620 \n3 17924 1284 17925 \n3 7620 17925 2821 \n3 2822 7621 17927 \n3 7621 2821 17926 \n3 17927 17926 1285 \n3 1286 17928 17929 \n3 17928 2823 7625 \n3 17929 7625 2825 \n3 2823 17930 7623 \n3 17930 559 17931 \n3 7623 17931 2824 \n3 2825 7624 17933 \n3 7624 2824 17932 \n3 17933 17932 1287 \n3 1288 17934 17935 \n3 17934 2826 7628 \n3 17935 7628 2828 \n3 2826 17936 7626 \n3 17936 981 17937 \n3 7626 17937 2827 \n3 2828 7627 17939 \n3 7627 2827 17938 \n3 17939 17938 557 \n3 558 17940 17941 \n3 17940 2829 7631 \n3 17941 7631 2831 \n3 2829 17942 7629 \n3 17942 985 17943 \n3 7629 17943 2830 \n3 2831 7630 17945 \n3 7630 2830 17944 \n3 17945 17944 1289 \n3 1290 17946 17947 \n3 17946 2832 7634 \n3 17947 7634 2834 \n3 2832 17948 7632 \n3 17948 562 17949 \n3 7632 17949 2833 \n3 2834 7633 17951 \n3 7633 2833 17950 \n3 17951 17950 980 \n3 1291 17952 17953 \n3 17952 2835 7637 \n3 17953 7637 2837 \n3 2835 17954 7635 \n3 17954 1292 17955 \n3 7635 17955 2836 \n3 2837 7636 17957 \n3 7636 2836 17956 \n3 17957 17956 560 \n3 561 17958 17959 \n3 17958 2838 7640 \n3 17959 7640 2840 \n3 2838 17960 7638 \n3 17960 1293 17961 \n3 7638 17961 2839 \n3 2840 7639 17963 \n3 7639 2839 17962 \n3 17963 17962 982 \n3 984 17964 17965 \n3 17964 2841 7643 \n3 17965 7643 2843 \n3 2841 17966 7641 \n3 17966 565 17967 \n3 7641 17967 2842 \n3 2843 7642 17969 \n3 7642 2842 17968 \n3 17969 17968 1294 \n3 983 17970 17971 \n3 17970 2844 7646 \n3 17971 7646 2846 \n3 2844 17972 7644 \n3 17972 1295 17973 \n3 7644 17973 2845 \n3 2846 7645 17975 \n3 7645 2845 17974 \n3 17975 17974 563 \n3 564 17976 17977 \n3 17976 2847 7649 \n3 17977 7649 2849 \n3 2847 17978 7647 \n3 17978 1296 17979 \n3 7647 17979 2848 \n3 2849 7648 17981 \n3 7648 2848 17980 \n3 17981 17980 1297 \n3 1298 17982 17983 \n3 17982 2850 7652 \n3 17983 7652 2852 \n3 2850 17984 7650 \n3 17984 568 17985 \n3 7650 17985 2851 \n3 2852 7651 17987 \n3 7651 2851 17986 \n3 17987 17986 1299 \n3 1300 17988 17989 \n3 17988 2853 7655 \n3 17989 7655 2855 \n3 2853 17990 7653 \n3 17990 987 17991 \n3 7653 17991 2854 \n3 2855 7654 17993 \n3 7654 2854 17992 \n3 17993 17992 566 \n3 567 17994 17995 \n3 17994 2856 7658 \n3 17995 7658 2858 \n3 2856 17996 7656 \n3 17996 991 17997 \n3 7656 17997 2857 \n3 2858 7657 17999 \n3 7657 2857 17998 \n3 17999 17998 1301 \n3 1302 18000 18001 \n3 18000 2859 7661 \n3 18001 7661 2861 \n3 2859 18002 7659 \n3 18002 571 18003 \n3 7659 18003 2860 \n3 2861 7660 18005 \n3 7660 2860 18004 \n3 18005 18004 986 \n3 1303 18006 18007 \n3 18006 2862 7664 \n3 18007 7664 2864 \n3 2862 18008 7662 \n3 18008 1304 18009 \n3 7662 18009 2863 \n3 2864 7663 18011 \n3 7663 2863 18010 \n3 18011 18010 569 \n3 570 18012 18013 \n3 18012 2865 7667 \n3 18013 7667 2867 \n3 2865 18014 7665 \n3 18014 1305 18015 \n3 7665 18015 2866 \n3 2867 7666 18017 \n3 7666 2866 18016 \n3 18017 18016 988 \n3 990 18018 18019 \n3 18018 2868 7670 \n3 18019 7670 2870 \n3 2868 18020 7668 \n3 18020 574 18021 \n3 7668 18021 2869 \n3 2870 7669 18023 \n3 7669 2869 18022 \n3 18023 18022 1306 \n3 989 18024 18025 \n3 18024 2871 7673 \n3 18025 7673 2873 \n3 2871 18026 7671 \n3 18026 1307 18027 \n3 7671 18027 2872 \n3 2873 7672 18029 \n3 7672 2872 18028 \n3 18029 18028 572 \n3 573 18030 18031 \n3 18030 2874 7676 \n3 18031 7676 2876 \n3 2874 18032 7674 \n3 18032 1308 18033 \n3 7674 18033 2875 \n3 2876 7675 18035 \n3 7675 2875 18034 \n3 18035 18034 1309 \n3 1310 18036 18037 \n3 18036 2877 7679 \n3 18037 7679 2879 \n3 2877 18038 7677 \n3 18038 577 18039 \n3 7677 18039 2878 \n3 2879 7678 18041 \n3 7678 2878 18040 \n3 18041 18040 1311 \n3 1312 18042 18043 \n3 18042 2880 7682 \n3 18043 7682 2882 \n3 2880 18044 7680 \n3 18044 993 18045 \n3 7680 18045 2881 \n3 2882 7681 18047 \n3 7681 2881 18046 \n3 18047 18046 575 \n3 576 18048 18049 \n3 18048 2883 7685 \n3 18049 7685 2885 \n3 2883 18050 7683 \n3 18050 997 18051 \n3 7683 18051 2884 \n3 2885 7684 18053 \n3 7684 2884 18052 \n3 18053 18052 1313 \n3 1314 18054 18055 \n3 18054 2886 7688 \n3 18055 7688 2888 \n3 2886 18056 7686 \n3 18056 580 18057 \n3 7686 18057 2887 \n3 2888 7687 18059 \n3 7687 2887 18058 \n3 18059 18058 992 \n3 1315 18060 18061 \n3 18060 2889 7691 \n3 18061 7691 2891 \n3 2889 18062 7689 \n3 18062 1316 18063 \n3 7689 18063 2890 \n3 2891 7690 18065 \n3 7690 2890 18064 \n3 18065 18064 578 \n3 579 18066 18067 \n3 18066 2892 7694 \n3 18067 7694 2894 \n3 2892 18068 7692 \n3 18068 1317 18069 \n3 7692 18069 2893 \n3 2894 7693 18071 \n3 7693 2893 18070 \n3 18071 18070 994 \n3 996 18072 18073 \n3 18072 2895 7697 \n3 18073 7697 2897 \n3 2895 18074 7695 \n3 18074 583 18075 \n3 7695 18075 2896 \n3 2897 7696 18077 \n3 7696 2896 18076 \n3 18077 18076 1318 \n3 995 18078 18079 \n3 18078 2898 7700 \n3 18079 7700 2900 \n3 2898 18080 7698 \n3 18080 1319 18081 \n3 7698 18081 2899 \n3 2900 7699 18083 \n3 7699 2899 18082 \n3 18083 18082 581 \n3 582 18084 18085 \n3 18084 2901 7703 \n3 18085 7703 2903 \n3 2901 18086 7701 \n3 18086 1320 18087 \n3 7701 18087 2902 \n3 2903 7702 18089 \n3 7702 2902 18088 \n3 18089 18088 1321 \n3 1322 18090 18091 \n3 18090 2904 7706 \n3 18091 7706 2906 \n3 2904 18092 7704 \n3 18092 586 18093 \n3 7704 18093 2905 \n3 2906 7705 18095 \n3 7705 2905 18094 \n3 18095 18094 1323 \n3 1324 18096 18097 \n3 18096 2907 7709 \n3 18097 7709 2909 \n3 2907 18098 7707 \n3 18098 999 18099 \n3 7707 18099 2908 \n3 2909 7708 18101 \n3 7708 2908 18100 \n3 18101 18100 584 \n3 585 18102 18103 \n3 18102 2910 7712 \n3 18103 7712 2912 \n3 2910 18104 7710 \n3 18104 1003 18105 \n3 7710 18105 2911 \n3 2912 7711 18107 \n3 7711 2911 18106 \n3 18107 18106 1325 \n3 1326 18108 18109 \n3 18108 2913 7715 \n3 18109 7715 2915 \n3 2913 18110 7713 \n3 18110 589 18111 \n3 7713 18111 2914 \n3 2915 7714 18113 \n3 7714 2914 18112 \n3 18113 18112 998 \n3 1327 18114 18115 \n3 18114 2916 7718 \n3 18115 7718 2918 \n3 2916 18116 7716 \n3 18116 1328 18117 \n3 7716 18117 2917 \n3 2918 7717 18119 \n3 7717 2917 18118 \n3 18119 18118 587 \n3 588 18120 18121 \n3 18120 2919 7721 \n3 18121 7721 2921 \n3 2919 18122 7719 \n3 18122 1329 18123 \n3 7719 18123 2920 \n3 2921 7720 18125 \n3 7720 2920 18124 \n3 18125 18124 1000 \n3 1002 18126 18127 \n3 18126 2922 7724 \n3 18127 7724 2924 \n3 2922 18128 7722 \n3 18128 592 18129 \n3 7722 18129 2923 \n3 2924 7723 18131 \n3 7723 2923 18130 \n3 18131 18130 1330 \n3 1001 18132 18133 \n3 18132 2925 7727 \n3 18133 7727 2927 \n3 2925 18134 7725 \n3 18134 1331 18135 \n3 7725 18135 2926 \n3 2927 7726 18137 \n3 7726 2926 18136 \n3 18137 18136 590 \n3 591 18138 18139 \n3 18138 2928 7730 \n3 18139 7730 2930 \n3 2928 18140 7728 \n3 18140 1332 18141 \n3 7728 18141 2929 \n3 2930 7729 18143 \n3 7729 2929 18142 \n3 18143 18142 1333 \n3 1334 18144 18145 \n3 18144 2931 7733 \n3 18145 7733 2933 \n3 2931 18146 7731 \n3 18146 595 18147 \n3 7731 18147 2932 \n3 2933 7732 18149 \n3 7732 2932 18148 \n3 18149 18148 1335 \n3 1336 18150 18151 \n3 18150 2934 7736 \n3 18151 7736 2936 \n3 2934 18152 7734 \n3 18152 1005 18153 \n3 7734 18153 2935 \n3 2936 7735 18155 \n3 7735 2935 18154 \n3 18155 18154 593 \n3 594 18156 18157 \n3 18156 2937 7739 \n3 18157 7739 2939 \n3 2937 18158 7737 \n3 18158 1009 18159 \n3 7737 18159 2938 \n3 2939 7738 18161 \n3 7738 2938 18160 \n3 18161 18160 1337 \n3 1338 18162 18163 \n3 18162 2940 7742 \n3 18163 7742 2942 \n3 2940 18164 7740 \n3 18164 598 18165 \n3 7740 18165 2941 \n3 2942 7741 18167 \n3 7741 2941 18166 \n3 18167 18166 1004 \n3 1339 18168 18169 \n3 18168 2943 7745 \n3 18169 7745 2945 \n3 2943 18170 7743 \n3 18170 1340 18171 \n3 7743 18171 2944 \n3 2945 7744 18173 \n3 7744 2944 18172 \n3 18173 18172 596 \n3 597 18174 18175 \n3 18174 2946 7748 \n3 18175 7748 2948 \n3 2946 18176 7746 \n3 18176 1341 18177 \n3 7746 18177 2947 \n3 2948 7747 18179 \n3 7747 2947 18178 \n3 18179 18178 1006 \n3 1008 18180 18181 \n3 18180 2949 7751 \n3 18181 7751 2951 \n3 2949 18182 7749 \n3 18182 601 18183 \n3 7749 18183 2950 \n3 2951 7750 18185 \n3 7750 2950 18184 \n3 18185 18184 1342 \n3 1007 18186 18187 \n3 18186 2952 7754 \n3 18187 7754 2954 \n3 2952 18188 7752 \n3 18188 1343 18189 \n3 7752 18189 2953 \n3 2954 7753 18191 \n3 7753 2953 18190 \n3 18191 18190 599 \n3 600 18192 18193 \n3 18192 2955 7757 \n3 18193 7757 2957 \n3 2955 18194 7755 \n3 18194 1344 18195 \n3 7755 18195 2956 \n3 2957 7756 18197 \n3 7756 2956 18196 \n3 18197 18196 1345 \n3 1346 18198 18199 \n3 18198 2958 7760 \n3 18199 7760 2960 \n3 2958 18200 7758 \n3 18200 604 18201 \n3 7758 18201 2959 \n3 2960 7759 18203 \n3 7759 2959 18202 \n3 18203 18202 1347 \n3 1348 18204 18205 \n3 18204 2961 7763 \n3 18205 7763 2963 \n3 2961 18206 7761 \n3 18206 1011 18207 \n3 7761 18207 2962 \n3 2963 7762 18209 \n3 7762 2962 18208 \n3 18209 18208 602 \n3 603 18210 18211 \n3 18210 2964 7766 \n3 18211 7766 2966 \n3 2964 18212 7764 \n3 18212 1015 18213 \n3 7764 18213 2965 \n3 2966 7765 18215 \n3 7765 2965 18214 \n3 18215 18214 1349 \n3 1350 18216 18217 \n3 18216 2967 7769 \n3 18217 7769 2969 \n3 2967 18218 7767 \n3 18218 607 18219 \n3 7767 18219 2968 \n3 2969 7768 18221 \n3 7768 2968 18220 \n3 18221 18220 1010 \n3 1351 18222 18223 \n3 18222 2970 7772 \n3 18223 7772 2972 \n3 2970 18224 7770 \n3 18224 1352 18225 \n3 7770 18225 2971 \n3 2972 7771 18227 \n3 7771 2971 18226 \n3 18227 18226 605 \n3 606 18228 18229 \n3 18228 2973 7775 \n3 18229 7775 2975 \n3 2973 18230 7773 \n3 18230 1353 18231 \n3 7773 18231 2974 \n3 2975 7774 18233 \n3 7774 2974 18232 \n3 18233 18232 1012 \n3 1014 18234 18235 \n3 18234 2976 7778 \n3 18235 7778 2978 \n3 2976 18236 7776 \n3 18236 610 18237 \n3 7776 18237 2977 \n3 2978 7777 18239 \n3 7777 2977 18238 \n3 18239 18238 1354 \n3 1013 18240 18241 \n3 18240 2979 7781 \n3 18241 7781 2981 \n3 2979 18242 7779 \n3 18242 1355 18243 \n3 7779 18243 2980 \n3 2981 7780 18245 \n3 7780 2980 18244 \n3 18245 18244 608 \n3 609 18246 18247 \n3 18246 2982 7784 \n3 18247 7784 2984 \n3 2982 18248 7782 \n3 18248 1356 18249 \n3 7782 18249 2983 \n3 2984 7783 18251 \n3 7783 2983 18250 \n3 18251 18250 1357 \n3 1358 18252 18253 \n3 18252 2985 7787 \n3 18253 7787 2987 \n3 2985 18254 7785 \n3 18254 613 18255 \n3 7785 18255 2986 \n3 2987 7786 18257 \n3 7786 2986 18256 \n3 18257 18256 1359 \n3 1360 18258 18259 \n3 18258 2988 7790 \n3 18259 7790 2990 \n3 2988 18260 7788 \n3 18260 1017 18261 \n3 7788 18261 2989 \n3 2990 7789 18263 \n3 7789 2989 18262 \n3 18263 18262 611 \n3 612 18264 18265 \n3 18264 2991 7793 \n3 18265 7793 2993 \n3 2991 18266 7791 \n3 18266 1021 18267 \n3 7791 18267 2992 \n3 2993 7792 18269 \n3 7792 2992 18268 \n3 18269 18268 1361 \n3 1362 18270 18271 \n3 18270 2994 7796 \n3 18271 7796 2996 \n3 2994 18272 7794 \n3 18272 616 18273 \n3 7794 18273 2995 \n3 2996 7795 18275 \n3 7795 2995 18274 \n3 18275 18274 1016 \n3 1363 18276 18277 \n3 18276 2997 7799 \n3 18277 7799 2999 \n3 2997 18278 7797 \n3 18278 1364 18279 \n3 7797 18279 2998 \n3 2999 7798 18281 \n3 7798 2998 18280 \n3 18281 18280 614 \n3 615 18282 18283 \n3 18282 3000 7802 \n3 18283 7802 3002 \n3 3000 18284 7800 \n3 18284 1365 18285 \n3 7800 18285 3001 \n3 3002 7801 18287 \n3 7801 3001 18286 \n3 18287 18286 1018 \n3 1020 18288 18289 \n3 18288 3003 7805 \n3 18289 7805 3005 \n3 3003 18290 7803 \n3 18290 619 18291 \n3 7803 18291 3004 \n3 3005 7804 18293 \n3 7804 3004 18292 \n3 18293 18292 1366 \n3 1019 18294 18295 \n3 18294 3006 7808 \n3 18295 7808 3008 \n3 3006 18296 7806 \n3 18296 1367 18297 \n3 7806 18297 3007 \n3 3008 7807 18299 \n3 7807 3007 18298 \n3 18299 18298 617 \n3 618 18300 18301 \n3 18300 3009 7811 \n3 18301 7811 3011 \n3 3009 18302 7809 \n3 18302 1368 18303 \n3 7809 18303 3010 \n3 3011 7810 18305 \n3 7810 3010 18304 \n3 18305 18304 1369 \n3 1370 18306 18307 \n3 18306 3012 7814 \n3 18307 7814 3014 \n3 3012 18308 7812 \n3 18308 622 18309 \n3 7812 18309 3013 \n3 3014 7813 18311 \n3 7813 3013 18310 \n3 18311 18310 1371 \n3 1372 18312 18313 \n3 18312 3015 7817 \n3 18313 7817 3017 \n3 3015 18314 7815 \n3 18314 1023 18315 \n3 7815 18315 3016 \n3 3017 7816 18317 \n3 7816 3016 18316 \n3 18317 18316 620 \n3 621 18318 18319 \n3 18318 3018 7820 \n3 18319 7820 3020 \n3 3018 18320 7818 \n3 18320 1027 18321 \n3 7818 18321 3019 \n3 3020 7819 18323 \n3 7819 3019 18322 \n3 18323 18322 1373 \n3 1374 18324 18325 \n3 18324 3021 7823 \n3 18325 7823 3023 \n3 3021 18326 7821 \n3 18326 625 18327 \n3 7821 18327 3022 \n3 3023 7822 18329 \n3 7822 3022 18328 \n3 18329 18328 1022 \n3 1375 18330 18331 \n3 18330 3024 7826 \n3 18331 7826 3026 \n3 3024 18332 7824 \n3 18332 1376 18333 \n3 7824 18333 3025 \n3 3026 7825 18335 \n3 7825 3025 18334 \n3 18335 18334 623 \n3 624 18336 18337 \n3 18336 3027 7829 \n3 18337 7829 3029 \n3 3027 18338 7827 \n3 18338 1377 18339 \n3 7827 18339 3028 \n3 3029 7828 18341 \n3 7828 3028 18340 \n3 18341 18340 1024 \n3 1026 18342 18343 \n3 18342 3030 7832 \n3 18343 7832 3032 \n3 3030 18344 7830 \n3 18344 628 18345 \n3 7830 18345 3031 \n3 3032 7831 18347 \n3 7831 3031 18346 \n3 18347 18346 1378 \n3 1025 18348 18349 \n3 18348 3033 7835 \n3 18349 7835 3035 \n3 3033 18350 7833 \n3 18350 1379 18351 \n3 7833 18351 3034 \n3 3035 7834 18353 \n3 7834 3034 18352 \n3 18353 18352 626 \n3 627 18354 18355 \n3 18354 3036 7838 \n3 18355 7838 3038 \n3 3036 18356 7836 \n3 18356 1380 18357 \n3 7836 18357 3037 \n3 3038 7837 18359 \n3 7837 3037 18358 \n3 18359 18358 1381 \n3 1382 18360 18361 \n3 18360 3039 7841 \n3 18361 7841 3041 \n3 3039 18362 7839 \n3 18362 631 18363 \n3 7839 18363 3040 \n3 3041 7840 18365 \n3 7840 3040 18364 \n3 18365 18364 1383 \n3 1384 18366 18367 \n3 18366 3042 7844 \n3 18367 7844 3044 \n3 3042 18368 7842 \n3 18368 1029 18369 \n3 7842 18369 3043 \n3 3044 7843 18371 \n3 7843 3043 18370 \n3 18371 18370 629 \n3 630 18372 18373 \n3 18372 3045 7847 \n3 18373 7847 3047 \n3 3045 18374 7845 \n3 18374 1033 18375 \n3 7845 18375 3046 \n3 3047 7846 18377 \n3 7846 3046 18376 \n3 18377 18376 1385 \n3 1386 18378 18379 \n3 18378 3048 7850 \n3 18379 7850 3050 \n3 3048 18380 7848 \n3 18380 634 18381 \n3 7848 18381 3049 \n3 3050 7849 18383 \n3 7849 3049 18382 \n3 18383 18382 1028 \n3 1387 18384 18385 \n3 18384 3051 7853 \n3 18385 7853 3053 \n3 3051 18386 7851 \n3 18386 1388 18387 \n3 7851 18387 3052 \n3 3053 7852 18389 \n3 7852 3052 18388 \n3 18389 18388 632 \n3 633 18390 18391 \n3 18390 3054 7856 \n3 18391 7856 3056 \n3 3054 18392 7854 \n3 18392 1389 18393 \n3 7854 18393 3055 \n3 3056 7855 18395 \n3 7855 3055 18394 \n3 18395 18394 1030 \n3 1032 18396 18397 \n3 18396 3057 7859 \n3 18397 7859 3059 \n3 3057 18398 7857 \n3 18398 637 18399 \n3 7857 18399 3058 \n3 3059 7858 18401 \n3 7858 3058 18400 \n3 18401 18400 1390 \n3 1031 18402 18403 \n3 18402 3060 7862 \n3 18403 7862 3062 \n3 3060 18404 7860 \n3 18404 1391 18405 \n3 7860 18405 3061 \n3 3062 7861 18407 \n3 7861 3061 18406 \n3 18407 18406 635 \n3 636 18408 18409 \n3 18408 3063 7865 \n3 18409 7865 3065 \n3 3063 18410 7863 \n3 18410 1392 18411 \n3 7863 18411 3064 \n3 3065 7864 18413 \n3 7864 3064 18412 \n3 18413 18412 1393 \n3 1394 18414 18415 \n3 18414 3066 7868 \n3 18415 7868 3068 \n3 3066 18416 7866 \n3 18416 640 18417 \n3 7866 18417 3067 \n3 3068 7867 18419 \n3 7867 3067 18418 \n3 18419 18418 1395 \n3 1396 18420 18421 \n3 18420 3069 7871 \n3 18421 7871 3071 \n3 3069 18422 7869 \n3 18422 1035 18423 \n3 7869 18423 3070 \n3 3071 7870 18425 \n3 7870 3070 18424 \n3 18425 18424 638 \n3 639 18426 18427 \n3 18426 3072 7874 \n3 18427 7874 3074 \n3 3072 18428 7872 \n3 18428 1039 18429 \n3 7872 18429 3073 \n3 3074 7873 18431 \n3 7873 3073 18430 \n3 18431 18430 1397 \n3 1398 18432 18433 \n3 18432 3075 7877 \n3 18433 7877 3077 \n3 3075 18434 7875 \n3 18434 643 18435 \n3 7875 18435 3076 \n3 3077 7876 18437 \n3 7876 3076 18436 \n3 18437 18436 1034 \n3 1399 18438 18439 \n3 18438 3078 7880 \n3 18439 7880 3080 \n3 3078 18440 7878 \n3 18440 1251 18441 \n3 7878 18441 3079 \n3 3080 7879 18443 \n3 7879 3079 18442 \n3 18443 18442 641 \n3 642 18444 18445 \n3 18444 3081 7883 \n3 18445 7883 3083 \n3 3081 18446 7881 \n3 18446 1253 18447 \n3 7881 18447 3082 \n3 3083 7882 18449 \n3 7882 3082 18448 \n3 18449 18448 1036 \n3 1038 18450 18451 \n3 18450 3084 7886 \n3 18451 7886 3086 \n3 3084 18452 7884 \n3 18452 646 18453 \n3 7884 18453 3085 \n3 3086 7885 18455 \n3 7885 3085 18454 \n3 18455 18454 1400 \n3 1037 18456 18457 \n3 18456 3087 7889 \n3 18457 7889 3089 \n3 3087 18458 7887 \n3 18458 1258 18459 \n3 7887 18459 3088 \n3 3089 7888 18461 \n3 7888 3088 18460 \n3 18461 18460 644 \n3 645 18462 18463 \n3 18462 3090 7892 \n3 18463 7892 3092 \n3 3090 18464 7890 \n3 18464 1261 18465 \n3 7890 18465 3091 \n3 3092 7891 18467 \n3 7891 3091 18466 \n3 18467 18466 1401 \n3 1402 18468 18469 \n3 18468 3093 7895 \n3 18469 7895 3095 \n3 3093 18470 7893 \n3 18470 649 18471 \n3 7893 18471 3094 \n3 3095 7894 18473 \n3 7894 3094 18472 \n3 18473 18472 1250 \n3 1403 18474 18475 \n3 18474 3096 7898 \n3 18475 7898 3098 \n3 3096 18476 7896 \n3 18476 1041 18477 \n3 7896 18477 3097 \n3 3098 7897 18479 \n3 7897 3097 18478 \n3 18479 18478 647 \n3 648 18480 18481 \n3 18480 3099 7901 \n3 18481 7901 3101 \n3 3099 18482 7899 \n3 18482 1045 18483 \n3 7899 18483 3100 \n3 3101 7900 18485 \n3 7900 3100 18484 \n3 18485 18484 1252 \n3 1404 18486 18487 \n3 18486 3102 7904 \n3 18487 7904 3104 \n3 3102 18488 7902 \n3 18488 652 18489 \n3 7902 18489 3103 \n3 3104 7903 18491 \n3 7903 3103 18490 \n3 18491 18490 1040 \n3 1405 18492 18493 \n3 18492 3105 7907 \n3 18493 7907 3107 \n3 3105 18494 7905 \n3 18494 1406 18495 \n3 7905 18495 3106 \n3 3107 7906 18497 \n3 7906 3106 18496 \n3 18497 18496 650 \n3 651 18498 18499 \n3 18498 3108 7910 \n3 18499 7910 3110 \n3 3108 18500 7908 \n3 18500 1407 18501 \n3 7908 18501 3109 \n3 3110 7909 18503 \n3 7909 3109 18502 \n3 18503 18502 1042 \n3 1044 18504 18505 \n3 18504 3111 7913 \n3 18505 7913 3113 \n3 3111 18506 7911 \n3 18506 655 18507 \n3 7911 18507 3112 \n3 3113 7912 18509 \n3 7912 3112 18508 \n3 18509 18508 1254 \n3 1043 18510 18511 \n3 18510 3114 7916 \n3 18511 7916 3116 \n3 3114 18512 7914 \n3 18512 1408 18513 \n3 7914 18513 3115 \n3 3116 7915 18515 \n3 7915 3115 18514 \n3 18515 18514 653 \n3 654 18516 18517 \n3 18516 3117 7919 \n3 18517 7919 3119 \n3 3117 18518 7917 \n3 18518 1409 18519 \n3 7917 18519 3118 \n3 3119 7918 18521 \n3 7918 3118 18520 \n3 18521 18520 1255 \n3 1260 18522 18523 \n3 18522 3120 7922 \n3 18523 7922 3122 \n3 3120 18524 7920 \n3 18524 658 18525 \n3 7920 18525 3121 \n3 3122 7921 18527 \n3 7921 3121 18526 \n3 18527 18526 1410 \n3 1259 18528 18529 \n3 18528 3123 7925 \n3 18529 7925 3125 \n3 3123 18530 7923 \n3 18530 1047 18531 \n3 7923 18531 3124 \n3 3125 7924 18533 \n3 7924 3124 18532 \n3 18533 18532 656 \n3 657 18534 18535 \n3 18534 3126 7928 \n3 18535 7928 3128 \n3 3126 18536 7926 \n3 18536 1051 18537 \n3 7926 18537 3127 \n3 3128 7927 18539 \n3 7927 3127 18538 \n3 18539 18538 1411 \n3 1257 18540 18541 \n3 18540 3129 7931 \n3 18541 7931 3131 \n3 3129 18542 7929 \n3 18542 661 18543 \n3 7929 18543 3130 \n3 3131 7930 18545 \n3 7930 3130 18544 \n3 18545 18544 1046 \n3 1256 18546 18547 \n3 18546 3132 7934 \n3 18547 7934 3134 \n3 3132 18548 7932 \n3 18548 1412 18549 \n3 7932 18549 3133 \n3 3134 7933 18551 \n3 7933 3133 18550 \n3 18551 18550 659 \n3 660 18552 18553 \n3 18552 3135 7937 \n3 18553 7937 3137 \n3 3135 18554 7935 \n3 18554 1413 18555 \n3 7935 18555 3136 \n3 3137 7936 18557 \n3 7936 3136 18556 \n3 18557 18556 1048 \n3 1050 18558 18559 \n3 18558 3138 7940 \n3 18559 7940 3140 \n3 3138 18560 7938 \n3 18560 664 18561 \n3 7938 18561 3139 \n3 3140 7939 18563 \n3 7939 3139 18562 \n3 18563 18562 1414 \n3 1049 18564 18565 \n3 18564 3141 7943 \n3 18565 7943 3143 \n3 3141 18566 7941 \n3 18566 1415 18567 \n3 7941 18567 3142 \n3 3143 7942 18569 \n3 7942 3142 18568 \n3 18569 18568 662 \n3 663 18570 18571 \n3 18570 3144 7946 \n3 18571 7946 3146 \n3 3144 18572 7944 \n3 18572 1416 18573 \n3 7944 18573 3145 \n3 3146 7945 18575 \n3 7945 3145 18574 \n3 18575 18574 1417 \n3 1418 18576 18577 \n3 18576 3147 7949 \n3 18577 7949 3149 \n3 3147 18578 7947 \n3 18578 667 18579 \n3 7947 18579 3148 \n3 3149 7948 18581 \n3 7948 3148 18580 \n3 18581 18580 1419 \n3 1420 18582 18583 \n3 18582 3150 7952 \n3 18583 7952 3152 \n3 3150 18584 7950 \n3 18584 1053 18585 \n3 7950 18585 3151 \n3 3152 7951 18587 \n3 7951 3151 18586 \n3 18587 18586 665 \n3 666 18588 18589 \n3 18588 3153 7955 \n3 18589 7955 3155 \n3 3153 18590 7953 \n3 18590 1057 18591 \n3 7953 18591 3154 \n3 3155 7954 18593 \n3 7954 3154 18592 \n3 18593 18592 1421 \n3 1422 18594 18595 \n3 18594 3156 7958 \n3 18595 7958 3158 \n3 3156 18596 7956 \n3 18596 670 18597 \n3 7956 18597 3157 \n3 3158 7957 18599 \n3 7957 3157 18598 \n3 18599 18598 1052 \n3 1423 18600 18601 \n3 18600 3159 7961 \n3 18601 7961 3161 \n3 3159 18602 7959 \n3 18602 1263 18603 \n3 7959 18603 3160 \n3 3161 7960 18605 \n3 7960 3160 18604 \n3 18605 18604 668 \n3 669 18606 18607 \n3 18606 3162 7964 \n3 18607 7964 3164 \n3 3162 18608 7962 \n3 18608 1265 18609 \n3 7962 18609 3163 \n3 3164 7963 18611 \n3 7963 3163 18610 \n3 18611 18610 1054 \n3 1056 18612 18613 \n3 18612 3165 7967 \n3 18613 7967 3167 \n3 3165 18614 7965 \n3 18614 673 18615 \n3 7965 18615 3166 \n3 3167 7966 18617 \n3 7966 3166 18616 \n3 18617 18616 1424 \n3 1055 18618 18619 \n3 18618 3168 7970 \n3 18619 7970 3170 \n3 3168 18620 7968 \n3 18620 1270 18621 \n3 7968 18621 3169 \n3 3170 7969 18623 \n3 7969 3169 18622 \n3 18623 18622 671 \n3 672 18624 18625 \n3 18624 3171 7973 \n3 18625 7973 3173 \n3 3171 18626 7971 \n3 18626 1273 18627 \n3 7971 18627 3172 \n3 3173 7972 18629 \n3 7972 3172 18628 \n3 18629 18628 1425 \n3 1426 18630 18631 \n3 18630 3174 7976 \n3 18631 7976 3176 \n3 3174 18632 7974 \n3 18632 676 18633 \n3 7974 18633 3175 \n3 3176 7975 18635 \n3 7975 3175 18634 \n3 18635 18634 1262 \n3 1427 18636 18637 \n3 18636 3177 7979 \n3 18637 7979 3179 \n3 3177 18638 7977 \n3 18638 1059 18639 \n3 7977 18639 3178 \n3 3179 7978 18641 \n3 7978 3178 18640 \n3 18641 18640 674 \n3 675 18642 18643 \n3 18642 3180 7982 \n3 18643 7982 3182 \n3 3180 18644 7980 \n3 18644 1063 18645 \n3 7980 18645 3181 \n3 3182 7981 18647 \n3 7981 3181 18646 \n3 18647 18646 1264 \n3 1428 18648 18649 \n3 18648 3183 7985 \n3 18649 7985 3185 \n3 3183 18650 7983 \n3 18650 679 18651 \n3 7983 18651 3184 \n3 3185 7984 18653 \n3 7984 3184 18652 \n3 18653 18652 1058 \n3 1429 18654 18655 \n3 18654 3186 7988 \n3 18655 7988 3188 \n3 3186 18656 7986 \n3 18656 1416 18657 \n3 7986 18657 3187 \n3 3188 7987 18659 \n3 7987 3187 18658 \n3 18659 18658 677 \n3 678 18660 18661 \n3 18660 3189 7991 \n3 18661 7991 3191 \n3 3189 18662 7989 \n3 18662 1415 18663 \n3 7989 18663 3190 \n3 3191 7990 18665 \n3 7990 3190 18664 \n3 18665 18664 1060 \n3 1062 18666 18667 \n3 18666 3192 7994 \n3 18667 7994 3194 \n3 3192 18668 7992 \n3 18668 682 18669 \n3 7992 18669 3193 \n3 3194 7993 18671 \n3 7993 3193 18670 \n3 18671 18670 1266 \n3 1061 18672 18673 \n3 18672 3195 7997 \n3 18673 7997 3197 \n3 3195 18674 7995 \n3 18674 1413 18675 \n3 7995 18675 3196 \n3 3197 7996 18677 \n3 7996 3196 18676 \n3 18677 18676 680 \n3 681 18678 18679 \n3 18678 3198 8000 \n3 18679 8000 3200 \n3 3198 18680 7998 \n3 18680 1412 18681 \n3 7998 18681 3199 \n3 3200 7999 18683 \n3 7999 3199 18682 \n3 18683 18682 1267 \n3 1272 18684 18685 \n3 18684 3201 8003 \n3 18685 8003 3203 \n3 3201 18686 8001 \n3 18686 685 18687 \n3 8001 18687 3202 \n3 3203 8002 18689 \n3 8002 3202 18688 \n3 18689 18688 1430 \n3 1271 18690 18691 \n3 18690 3204 8006 \n3 18691 8006 3206 \n3 3204 18692 8004 \n3 18692 1065 18693 \n3 8004 18693 3205 \n3 3206 8005 18695 \n3 8005 3205 18694 \n3 18695 18694 683 \n3 684 18696 18697 \n3 18696 3207 8009 \n3 18697 8009 3209 \n3 3207 18698 8007 \n3 18698 1069 18699 \n3 8007 18699 3208 \n3 3209 8008 18701 \n3 8008 3208 18700 \n3 18701 18700 1431 \n3 1269 18702 18703 \n3 18702 3210 8012 \n3 18703 8012 3212 \n3 3210 18704 8010 \n3 18704 688 18705 \n3 8010 18705 3211 \n3 3212 8011 18707 \n3 8011 3211 18706 \n3 18707 18706 1064 \n3 1268 18708 18709 \n3 18708 3213 8015 \n3 18709 8015 3215 \n3 3213 18710 8013 \n3 18710 1409 18711 \n3 8013 18711 3214 \n3 3215 8014 18713 \n3 8014 3214 18712 \n3 18713 18712 686 \n3 687 18714 18715 \n3 18714 3216 8018 \n3 18715 8018 3218 \n3 3216 18716 8016 \n3 18716 1408 18717 \n3 8016 18717 3217 \n3 3218 8017 18719 \n3 8017 3217 18718 \n3 18719 18718 1066 \n3 1068 18720 18721 \n3 18720 3219 8021 \n3 18721 8021 3221 \n3 3219 18722 8019 \n3 18722 691 18723 \n3 8019 18723 3220 \n3 3221 8020 18725 \n3 8020 3220 18724 \n3 18725 18724 1432 \n3 1067 18726 18727 \n3 18726 3222 8024 \n3 18727 8024 3224 \n3 3222 18728 8022 \n3 18728 1407 18729 \n3 8022 18729 3223 \n3 3224 8023 18731 \n3 8023 3223 18730 \n3 18731 18730 689 \n3 690 18732 18733 \n3 18732 3225 8027 \n3 18733 8027 3227 \n3 3225 18734 8025 \n3 18734 1406 18735 \n3 8025 18735 3226 \n3 3227 8026 18737 \n3 8026 3226 18736 \n3 18737 18736 1433 \n3 1538 18738 18739 \n3 18738 3228 8030 \n3 18739 8030 3230 \n3 3228 18740 8028 \n3 18740 694 18741 \n3 8028 18741 3229 \n3 3230 8029 18743 \n3 8029 3229 18742 \n3 18743 18742 1434 \n3 1539 18744 18745 \n3 18744 3231 8033 \n3 18745 8033 3233 \n3 3231 18746 8031 \n3 18746 1071 18747 \n3 8031 18747 3232 \n3 3233 8032 18749 \n3 8032 3232 18748 \n3 18749 18748 692 \n3 693 18750 18751 \n3 18750 3234 8036 \n3 18751 8036 3236 \n3 3234 18752 8034 \n3 18752 1075 18753 \n3 8034 18753 3235 \n3 3236 8035 18755 \n3 8035 3235 18754 \n3 18755 18754 1435 \n3 1540 18756 18757 \n3 18756 3237 8039 \n3 18757 8039 3239 \n3 3237 18758 8037 \n3 18758 697 18759 \n3 8037 18759 3238 \n3 3239 8038 18761 \n3 8038 3238 18760 \n3 18761 18760 1070 \n3 1541 18762 18763 \n3 18762 3240 8042 \n3 18763 8042 3242 \n3 3240 18764 8040 \n3 18764 1275 18765 \n3 8040 18765 3241 \n3 3242 8041 18767 \n3 8041 3241 18766 \n3 18767 18766 695 \n3 696 18768 18769 \n3 18768 3243 8045 \n3 18769 8045 3245 \n3 3243 18770 8043 \n3 18770 1277 18771 \n3 8043 18771 3244 \n3 3245 8044 18773 \n3 8044 3244 18772 \n3 18773 18772 1072 \n3 1074 18774 18775 \n3 18774 3246 8048 \n3 18775 8048 3248 \n3 3246 18776 8046 \n3 18776 700 18777 \n3 8046 18777 3247 \n3 3248 8047 18779 \n3 8047 3247 18778 \n3 18779 18778 1436 \n3 1073 18780 18781 \n3 18780 3249 8051 \n3 18781 8051 3251 \n3 3249 18782 8049 \n3 18782 1282 18783 \n3 8049 18783 3250 \n3 3251 8050 18785 \n3 8050 3250 18784 \n3 18785 18784 698 \n3 699 18786 18787 \n3 18786 3252 8054 \n3 18787 8054 3254 \n3 3252 18788 8052 \n3 18788 1285 18789 \n3 8052 18789 3253 \n3 3254 8053 18791 \n3 8053 3253 18790 \n3 18791 18790 1437 \n3 1542 18792 18793 \n3 18792 3255 8057 \n3 18793 8057 3257 \n3 3255 18794 8055 \n3 18794 703 18795 \n3 8055 18795 3256 \n3 3257 8056 18797 \n3 8056 3256 18796 \n3 18797 18796 1274 \n3 1543 18798 18799 \n3 18798 3258 8060 \n3 18799 8060 3260 \n3 3258 18800 8058 \n3 18800 1077 18801 \n3 8058 18801 3259 \n3 3260 8059 18803 \n3 8059 3259 18802 \n3 18803 18802 701 \n3 702 18804 18805 \n3 18804 3261 8063 \n3 18805 8063 3263 \n3 3261 18806 8061 \n3 18806 1081 18807 \n3 8061 18807 3262 \n3 3263 8062 18809 \n3 8062 3262 18808 \n3 18809 18808 1276 \n3 1544 18810 18811 \n3 18810 3264 8066 \n3 18811 8066 3266 \n3 3264 18812 8064 \n3 18812 706 18813 \n3 8064 18813 3265 \n3 3266 8065 18815 \n3 8065 3265 18814 \n3 18815 18814 1076 \n3 1545 18816 18817 \n3 18816 3267 8069 \n3 18817 8069 3269 \n3 3267 18818 8067 \n3 18818 1438 18819 \n3 8067 18819 3268 \n3 3269 8068 18821 \n3 8068 3268 18820 \n3 18821 18820 704 \n3 705 18822 18823 \n3 18822 3270 8072 \n3 18823 8072 3272 \n3 3270 18824 8070 \n3 18824 1439 18825 \n3 8070 18825 3271 \n3 3272 8071 18827 \n3 8071 3271 18826 \n3 18827 18826 1078 \n3 1080 18828 18829 \n3 18828 3273 8075 \n3 18829 8075 3275 \n3 3273 18830 8073 \n3 18830 709 18831 \n3 8073 18831 3274 \n3 3275 8074 18833 \n3 8074 3274 18832 \n3 18833 18832 1278 \n3 1079 18834 18835 \n3 18834 3276 8078 \n3 18835 8078 3278 \n3 3276 18836 8076 \n3 18836 1440 18837 \n3 8076 18837 3277 \n3 3278 8077 18839 \n3 8077 3277 18838 \n3 18839 18838 707 \n3 708 18840 18841 \n3 18840 3279 8081 \n3 18841 8081 3281 \n3 3279 18842 8079 \n3 18842 1441 18843 \n3 8079 18843 3280 \n3 3281 8080 18845 \n3 8080 3280 18844 \n3 18845 18844 1279 \n3 1284 18846 18847 \n3 18846 3282 8084 \n3 18847 8084 3284 \n3 3282 18848 8082 \n3 18848 712 18849 \n3 8082 18849 3283 \n3 3284 8083 18851 \n3 8083 3283 18850 \n3 18851 18850 1442 \n3 1283 18852 18853 \n3 18852 3285 8087 \n3 18853 8087 3287 \n3 3285 18854 8085 \n3 18854 1083 18855 \n3 8085 18855 3286 \n3 3287 8086 18857 \n3 8086 3286 18856 \n3 18857 18856 710 \n3 711 18858 18859 \n3 18858 3288 8090 \n3 18859 8090 3290 \n3 3288 18860 8088 \n3 18860 1087 18861 \n3 8088 18861 3289 \n3 3290 8089 18863 \n3 8089 3289 18862 \n3 18863 18862 1443 \n3 1281 18864 18865 \n3 18864 3291 8093 \n3 18865 8093 3293 \n3 3291 18866 8091 \n3 18866 715 18867 \n3 8091 18867 3292 \n3 3293 8092 18869 \n3 8092 3292 18868 \n3 18869 18868 1082 \n3 1280 18870 18871 \n3 18870 3294 8096 \n3 18871 8096 3296 \n3 3294 18872 8094 \n3 18872 1444 18873 \n3 8094 18873 3295 \n3 3296 8095 18875 \n3 8095 3295 18874 \n3 18875 18874 713 \n3 714 18876 18877 \n3 18876 3297 8099 \n3 18877 8099 3299 \n3 3297 18878 8097 \n3 18878 1445 18879 \n3 8097 18879 3298 \n3 3299 8098 18881 \n3 8098 3298 18880 \n3 18881 18880 1084 \n3 1086 18882 18883 \n3 18882 3300 8102 \n3 18883 8102 3302 \n3 3300 18884 8100 \n3 18884 718 18885 \n3 8100 18885 3301 \n3 3302 8101 18887 \n3 8101 3301 18886 \n3 18887 18886 1446 \n3 1085 18888 18889 \n3 18888 3303 8105 \n3 18889 8105 3305 \n3 3303 18890 8103 \n3 18890 1447 18891 \n3 8103 18891 3304 \n3 3305 8104 18893 \n3 8104 3304 18892 \n3 18893 18892 716 \n3 717 18894 18895 \n3 18894 3306 8108 \n3 18895 8108 3308 \n3 3306 18896 8106 \n3 18896 1448 18897 \n3 8106 18897 3307 \n3 3308 8107 18899 \n3 8107 3307 18898 \n3 18899 18898 1449 \n3 1450 18900 18901 \n3 18900 3309 8111 \n3 18901 8111 3311 \n3 3309 18902 8109 \n3 18902 721 18903 \n3 8109 18903 3310 \n3 3311 8110 18905 \n3 8110 3310 18904 \n3 18905 18904 1451 \n3 1452 18906 18907 \n3 18906 3312 8114 \n3 18907 8114 3314 \n3 3312 18908 8112 \n3 18908 1089 18909 \n3 8112 18909 3313 \n3 3314 8113 18911 \n3 8113 3313 18910 \n3 18911 18910 719 \n3 720 18912 18913 \n3 18912 3315 8117 \n3 18913 8117 3317 \n3 3315 18914 8115 \n3 18914 1093 18915 \n3 8115 18915 3316 \n3 3317 8116 18917 \n3 8116 3316 18916 \n3 18917 18916 1453 \n3 1454 18918 18919 \n3 18918 3318 8120 \n3 18919 8120 3320 \n3 3318 18920 8118 \n3 18920 724 18921 \n3 8118 18921 3319 \n3 3320 8119 18923 \n3 8119 3319 18922 \n3 18923 18922 1088 \n3 1455 18924 18925 \n3 18924 3321 8123 \n3 18925 8123 3323 \n3 3321 18926 8121 \n3 18926 1287 18927 \n3 8121 18927 3322 \n3 3323 8122 18929 \n3 8122 3322 18928 \n3 18929 18928 722 \n3 723 18930 18931 \n3 18930 3324 8126 \n3 18931 8126 3326 \n3 3324 18932 8124 \n3 18932 1289 18933 \n3 8124 18933 3325 \n3 3326 8125 18935 \n3 8125 3325 18934 \n3 18935 18934 1090 \n3 1092 18936 18937 \n3 18936 3327 8129 \n3 18937 8129 3329 \n3 3327 18938 8127 \n3 18938 727 18939 \n3 8127 18939 3328 \n3 3329 8128 18941 \n3 8128 3328 18940 \n3 18941 18940 1456 \n3 1091 18942 18943 \n3 18942 3330 8132 \n3 18943 8132 3332 \n3 3330 18944 8130 \n3 18944 1294 18945 \n3 8130 18945 3331 \n3 3332 8131 18947 \n3 8131 3331 18946 \n3 18947 18946 725 \n3 726 18948 18949 \n3 18948 3333 8135 \n3 18949 8135 3335 \n3 3333 18950 8133 \n3 18950 1297 18951 \n3 8133 18951 3334 \n3 3335 8134 18953 \n3 8134 3334 18952 \n3 18953 18952 1457 \n3 1458 18954 18955 \n3 18954 3336 8138 \n3 18955 8138 3338 \n3 3336 18956 8136 \n3 18956 730 18957 \n3 8136 18957 3337 \n3 3338 8137 18959 \n3 8137 3337 18958 \n3 18959 18958 1286 \n3 1459 18960 18961 \n3 18960 3339 8141 \n3 18961 8141 3341 \n3 3339 18962 8139 \n3 18962 1095 18963 \n3 8139 18963 3340 \n3 3341 8140 18965 \n3 8140 3340 18964 \n3 18965 18964 728 \n3 729 18966 18967 \n3 18966 3342 8144 \n3 18967 8144 3344 \n3 3342 18968 8142 \n3 18968 1099 18969 \n3 8142 18969 3343 \n3 3344 8143 18971 \n3 8143 3343 18970 \n3 18971 18970 1288 \n3 1460 18972 18973 \n3 18972 3345 8147 \n3 18973 8147 3347 \n3 3345 18974 8145 \n3 18974 733 18975 \n3 8145 18975 3346 \n3 3347 8146 18977 \n3 8146 3346 18976 \n3 18977 18976 1094 \n3 1461 18978 18979 \n3 18978 3348 8150 \n3 18979 8150 3350 \n3 3348 18980 8148 \n3 18980 1448 18981 \n3 8148 18981 3349 \n3 3350 8149 18983 \n3 8149 3349 18982 \n3 18983 18982 731 \n3 732 18984 18985 \n3 18984 3351 8153 \n3 18985 8153 3353 \n3 3351 18986 8151 \n3 18986 1447 18987 \n3 8151 18987 3352 \n3 3353 8152 18989 \n3 8152 3352 18988 \n3 18989 18988 1096 \n3 1098 18990 18991 \n3 18990 3354 8156 \n3 18991 8156 3356 \n3 3354 18992 8154 \n3 18992 736 18993 \n3 8154 18993 3355 \n3 3356 8155 18995 \n3 8155 3355 18994 \n3 18995 18994 1290 \n3 1097 18996 18997 \n3 18996 3357 8159 \n3 18997 8159 3359 \n3 3357 18998 8157 \n3 18998 1445 18999 \n3 8157 18999 3358 \n3 3359 8158 19001 \n3 8158 3358 19000 \n3 19001 19000 734 \n3 735 19002 19003 \n3 19002 3360 8162 \n3 19003 8162 3362 \n3 3360 19004 8160 \n3 19004 1444 19005 \n3 8160 19005 3361 \n3 3362 8161 19007 \n3 8161 3361 19006 \n3 19007 19006 1291 \n3 1296 19008 19009 \n3 19008 3363 8165 \n3 19009 8165 3365 \n3 3363 19010 8163 \n3 19010 739 19011 \n3 8163 19011 3364 \n3 3365 8164 19013 \n3 8164 3364 19012 \n3 19013 19012 1462 \n3 1295 19014 19015 \n3 19014 3366 8168 \n3 19015 8168 3368 \n3 3366 19016 8166 \n3 19016 1101 19017 \n3 8166 19017 3367 \n3 3368 8167 19019 \n3 8167 3367 19018 \n3 19019 19018 737 \n3 738 19020 19021 \n3 19020 3369 8171 \n3 19021 8171 3371 \n3 3369 19022 8169 \n3 19022 1105 19023 \n3 8169 19023 3370 \n3 3371 8170 19025 \n3 8170 3370 19024 \n3 19025 19024 1463 \n3 1293 19026 19027 \n3 19026 3372 8174 \n3 19027 8174 3374 \n3 3372 19028 8172 \n3 19028 742 19029 \n3 8172 19029 3373 \n3 3374 8173 19031 \n3 8173 3373 19030 \n3 19031 19030 1100 \n3 1292 19032 19033 \n3 19032 3375 8177 \n3 19033 8177 3377 \n3 3375 19034 8175 \n3 19034 1441 19035 \n3 8175 19035 3376 \n3 3377 8176 19037 \n3 8176 3376 19036 \n3 19037 19036 740 \n3 741 19038 19039 \n3 19038 3378 8180 \n3 19039 8180 3380 \n3 3378 19040 8178 \n3 19040 1440 19041 \n3 8178 19041 3379 \n3 3380 8179 19043 \n3 8179 3379 19042 \n3 19043 19042 1102 \n3 1104 19044 19045 \n3 19044 3381 8183 \n3 19045 8183 3383 \n3 3381 19046 8181 \n3 19046 745 19047 \n3 8181 19047 3382 \n3 3383 8182 19049 \n3 8182 3382 19048 \n3 19049 19048 1464 \n3 1103 19050 19051 \n3 19050 3384 8186 \n3 19051 8186 3386 \n3 3384 19052 8184 \n3 19052 1439 19053 \n3 8184 19053 3385 \n3 3386 8185 19055 \n3 8185 3385 19054 \n3 19055 19054 743 \n3 744 19056 19057 \n3 19056 3387 8189 \n3 19057 8189 3389 \n3 3387 19058 8187 \n3 19058 1438 19059 \n3 8187 19059 3388 \n3 3389 8188 19061 \n3 8188 3388 19060 \n3 19061 19060 1465 \n3 1546 19062 19063 \n3 19062 3390 8192 \n3 19063 8192 3392 \n3 3390 19064 8190 \n3 19064 748 19065 \n3 8190 19065 3391 \n3 3392 8191 19067 \n3 8191 3391 19066 \n3 19067 19066 1547 \n3 1548 19068 19069 \n3 19068 3393 8195 \n3 19069 8195 3395 \n3 3393 19070 8193 \n3 19070 1107 19071 \n3 8193 19071 3394 \n3 3395 8194 19073 \n3 8194 3394 19072 \n3 19073 19072 746 \n3 747 19074 19075 \n3 19074 3396 8198 \n3 19075 8198 3398 \n3 3396 19076 8196 \n3 19076 1111 19077 \n3 8196 19077 3397 \n3 3398 8197 19079 \n3 8197 3397 19078 \n3 19079 19078 1549 \n3 1550 19080 19081 \n3 19080 3399 8201 \n3 19081 8201 3401 \n3 3399 19082 8199 \n3 19082 751 19083 \n3 8199 19083 3400 \n3 3401 8200 19085 \n3 8200 3400 19084 \n3 19085 19084 1106 \n3 1551 19086 19087 \n3 19086 3402 8204 \n3 19087 8204 3404 \n3 3402 19088 8202 \n3 19088 1299 19089 \n3 8202 19089 3403 \n3 3404 8203 19091 \n3 8203 3403 19090 \n3 19091 19090 749 \n3 750 19092 19093 \n3 19092 3405 8207 \n3 19093 8207 3407 \n3 3405 19094 8205 \n3 19094 1301 19095 \n3 8205 19095 3406 \n3 3407 8206 19097 \n3 8206 3406 19096 \n3 19097 19096 1108 \n3 1110 19098 19099 \n3 19098 3408 8210 \n3 19099 8210 3410 \n3 3408 19100 8208 \n3 19100 754 19101 \n3 8208 19101 3409 \n3 3410 8209 19103 \n3 8209 3409 19102 \n3 19103 19102 1552 \n3 1109 19104 19105 \n3 19104 3411 8213 \n3 19105 8213 3413 \n3 3411 19106 8211 \n3 19106 1306 19107 \n3 8211 19107 3412 \n3 3413 8212 19109 \n3 8212 3412 19108 \n3 19109 19108 752 \n3 753 19110 19111 \n3 19110 3414 8216 \n3 19111 8216 3416 \n3 3414 19112 8214 \n3 19112 1309 19113 \n3 8214 19113 3415 \n3 3416 8215 19115 \n3 8215 3415 19114 \n3 19115 19114 1553 \n3 1554 19116 19117 \n3 19116 3417 8219 \n3 19117 8219 3419 \n3 3417 19118 8217 \n3 19118 757 19119 \n3 8217 19119 3418 \n3 3419 8218 19121 \n3 8218 3418 19120 \n3 19121 19120 1298 \n3 1555 19122 19123 \n3 19122 3420 8222 \n3 19123 8222 3422 \n3 3420 19124 8220 \n3 19124 1113 19125 \n3 8220 19125 3421 \n3 3422 8221 19127 \n3 8221 3421 19126 \n3 19127 19126 755 \n3 756 19128 19129 \n3 19128 3423 8225 \n3 19129 8225 3425 \n3 3423 19130 8223 \n3 19130 1117 19131 \n3 8223 19131 3424 \n3 3425 8224 19133 \n3 8224 3424 19132 \n3 19133 19132 1300 \n3 1556 19134 19135 \n3 19134 3426 8228 \n3 19135 8228 3428 \n3 3426 19136 8226 \n3 19136 760 19137 \n3 8226 19137 3427 \n3 3428 8227 19139 \n3 8227 3427 19138 \n3 19139 19138 1112 \n3 1557 19140 19141 \n3 19140 3429 8231 \n3 19141 8231 3431 \n3 3429 19142 8229 \n3 19142 1466 19143 \n3 8229 19143 3430 \n3 3431 8230 19145 \n3 8230 3430 19144 \n3 19145 19144 758 \n3 759 19146 19147 \n3 19146 3432 8234 \n3 19147 8234 3434 \n3 3432 19148 8232 \n3 19148 1467 19149 \n3 8232 19149 3433 \n3 3434 8233 19151 \n3 8233 3433 19150 \n3 19151 19150 1114 \n3 1116 19152 19153 \n3 19152 3435 8237 \n3 19153 8237 3437 \n3 3435 19154 8235 \n3 19154 763 19155 \n3 8235 19155 3436 \n3 3437 8236 19157 \n3 8236 3436 19156 \n3 19157 19156 1302 \n3 1115 19158 19159 \n3 19158 3438 8240 \n3 19159 8240 3440 \n3 3438 19160 8238 \n3 19160 1468 19161 \n3 8238 19161 3439 \n3 3440 8239 19163 \n3 8239 3439 19162 \n3 19163 19162 761 \n3 762 19164 19165 \n3 19164 3441 8243 \n3 19165 8243 3443 \n3 3441 19166 8241 \n3 19166 1469 19167 \n3 8241 19167 3442 \n3 3443 8242 19169 \n3 8242 3442 19168 \n3 19169 19168 1303 \n3 1308 19170 19171 \n3 19170 3444 8246 \n3 19171 8246 3446 \n3 3444 19172 8244 \n3 19172 766 19173 \n3 8244 19173 3445 \n3 3446 8245 19175 \n3 8245 3445 19174 \n3 19175 19174 1558 \n3 1307 19176 19177 \n3 19176 3447 8249 \n3 19177 8249 3449 \n3 3447 19178 8247 \n3 19178 1119 19179 \n3 8247 19179 3448 \n3 3449 8248 19181 \n3 8248 3448 19180 \n3 19181 19180 764 \n3 765 19182 19183 \n3 19182 3450 8252 \n3 19183 8252 3452 \n3 3450 19184 8250 \n3 19184 1123 19185 \n3 8250 19185 3451 \n3 3452 8251 19187 \n3 8251 3451 19186 \n3 19187 19186 1559 \n3 1305 19188 19189 \n3 19188 3453 8255 \n3 19189 8255 3455 \n3 3453 19190 8253 \n3 19190 769 19191 \n3 8253 19191 3454 \n3 3455 8254 19193 \n3 8254 3454 19192 \n3 19193 19192 1118 \n3 1304 19194 19195 \n3 19194 3456 8258 \n3 19195 8258 3458 \n3 3456 19196 8256 \n3 19196 1470 19197 \n3 8256 19197 3457 \n3 3458 8257 19199 \n3 8257 3457 19198 \n3 19199 19198 767 \n3 768 19200 19201 \n3 19200 3459 8261 \n3 19201 8261 3461 \n3 3459 19202 8259 \n3 19202 1471 19203 \n3 8259 19203 3460 \n3 3461 8260 19205 \n3 8260 3460 19204 \n3 19205 19204 1120 \n3 1122 19206 19207 \n3 19206 3462 8264 \n3 19207 8264 3464 \n3 3462 19208 8262 \n3 19208 772 19209 \n3 8262 19209 3463 \n3 3464 8263 19211 \n3 8263 3463 19210 \n3 19211 19210 1560 \n3 1121 19212 19213 \n3 19212 3465 8267 \n3 19213 8267 3467 \n3 3465 19214 8265 \n3 19214 1472 19215 \n3 8265 19215 3466 \n3 3467 8266 19217 \n3 8266 3466 19216 \n3 19217 19216 770 \n3 771 19218 19219 \n3 19218 3468 8270 \n3 19219 8270 3470 \n3 3468 19220 8268 \n3 19220 1473 19221 \n3 8268 19221 3469 \n3 3470 8269 19223 \n3 8269 3469 19222 \n3 19223 19222 1561 \n3 1474 19224 19225 \n3 19224 3471 8273 \n3 19225 8273 3473 \n3 3471 19226 8271 \n3 19226 775 19227 \n3 8271 19227 3472 \n3 3473 8272 19229 \n3 8272 3472 19228 \n3 19229 19228 1475 \n3 1476 19230 19231 \n3 19230 3474 8276 \n3 19231 8276 3476 \n3 3474 19232 8274 \n3 19232 1125 19233 \n3 8274 19233 3475 \n3 3476 8275 19235 \n3 8275 3475 19234 \n3 19235 19234 773 \n3 774 19236 19237 \n3 19236 3477 8279 \n3 19237 8279 3479 \n3 3477 19238 8277 \n3 19238 1129 19239 \n3 8277 19239 3478 \n3 3479 8278 19241 \n3 8278 3478 19240 \n3 19241 19240 1477 \n3 1478 19242 19243 \n3 19242 3480 8282 \n3 19243 8282 3482 \n3 3480 19244 8280 \n3 19244 778 19245 \n3 8280 19245 3481 \n3 3482 8281 19247 \n3 8281 3481 19246 \n3 19247 19246 1124 \n3 1479 19248 19249 \n3 19248 3483 8285 \n3 19249 8285 3485 \n3 3483 19250 8283 \n3 19250 1311 19251 \n3 8283 19251 3484 \n3 3485 8284 19253 \n3 8284 3484 19252 \n3 19253 19252 776 \n3 777 19254 19255 \n3 19254 3486 8288 \n3 19255 8288 3488 \n3 3486 19256 8286 \n3 19256 1313 19257 \n3 8286 19257 3487 \n3 3488 8287 19259 \n3 8287 3487 19258 \n3 19259 19258 1126 \n3 1128 19260 19261 \n3 19260 3489 8291 \n3 19261 8291 3491 \n3 3489 19262 8289 \n3 19262 781 19263 \n3 8289 19263 3490 \n3 3491 8290 19265 \n3 8290 3490 19264 \n3 19265 19264 1480 \n3 1127 19266 19267 \n3 19266 3492 8294 \n3 19267 8294 3494 \n3 3492 19268 8292 \n3 19268 1318 19269 \n3 8292 19269 3493 \n3 3494 8293 19271 \n3 8293 3493 19270 \n3 19271 19270 779 \n3 780 19272 19273 \n3 19272 3495 8297 \n3 19273 8297 3497 \n3 3495 19274 8295 \n3 19274 1321 19275 \n3 8295 19275 3496 \n3 3497 8296 19277 \n3 8296 3496 19276 \n3 19277 19276 1481 \n3 1482 19278 19279 \n3 19278 3498 8300 \n3 19279 8300 3500 \n3 3498 19280 8298 \n3 19280 784 19281 \n3 8298 19281 3499 \n3 3500 8299 19283 \n3 8299 3499 19282 \n3 19283 19282 1310 \n3 1483 19284 19285 \n3 19284 3501 8303 \n3 19285 8303 3503 \n3 3501 19286 8301 \n3 19286 1131 19287 \n3 8301 19287 3502 \n3 3503 8302 19289 \n3 8302 3502 19288 \n3 19289 19288 782 \n3 783 19290 19291 \n3 19290 3504 8306 \n3 19291 8306 3506 \n3 3504 19292 8304 \n3 19292 1135 19293 \n3 8304 19293 3505 \n3 3506 8305 19295 \n3 8305 3505 19294 \n3 19295 19294 1312 \n3 1484 19296 19297 \n3 19296 3507 8309 \n3 19297 8309 3509 \n3 3507 19298 8307 \n3 19298 787 19299 \n3 8307 19299 3508 \n3 3509 8308 19301 \n3 8308 3508 19300 \n3 19301 19300 1130 \n3 1485 19302 19303 \n3 19302 3510 8312 \n3 19303 8312 3512 \n3 3510 19304 8310 \n3 19304 1473 19305 \n3 8310 19305 3511 \n3 3512 8311 19307 \n3 8311 3511 19306 \n3 19307 19306 785 \n3 786 19308 19309 \n3 19308 3513 8315 \n3 19309 8315 3515 \n3 3513 19310 8313 \n3 19310 1472 19311 \n3 8313 19311 3514 \n3 3515 8314 19313 \n3 8314 3514 19312 \n3 19313 19312 1132 \n3 1134 19314 19315 \n3 19314 3516 8318 \n3 19315 8318 3518 \n3 3516 19316 8316 \n3 19316 790 19317 \n3 8316 19317 3517 \n3 3518 8317 19319 \n3 8317 3517 19318 \n3 19319 19318 1314 \n3 1133 19320 19321 \n3 19320 3519 8321 \n3 19321 8321 3521 \n3 3519 19322 8319 \n3 19322 1471 19323 \n3 8319 19323 3520 \n3 3521 8320 19325 \n3 8320 3520 19324 \n3 19325 19324 788 \n3 789 19326 19327 \n3 19326 3522 8324 \n3 19327 8324 3524 \n3 3522 19328 8322 \n3 19328 1470 19329 \n3 8322 19329 3523 \n3 3524 8323 19331 \n3 8323 3523 19330 \n3 19331 19330 1315 \n3 1320 19332 19333 \n3 19332 3525 8327 \n3 19333 8327 3527 \n3 3525 19334 8325 \n3 19334 793 19335 \n3 8325 19335 3526 \n3 3527 8326 19337 \n3 8326 3526 19336 \n3 19337 19336 1486 \n3 1319 19338 19339 \n3 19338 3528 8330 \n3 19339 8330 3530 \n3 3528 19340 8328 \n3 19340 1137 19341 \n3 8328 19341 3529 \n3 3530 8329 19343 \n3 8329 3529 19342 \n3 19343 19342 791 \n3 792 19344 19345 \n3 19344 3531 8333 \n3 19345 8333 3533 \n3 3531 19346 8331 \n3 19346 1141 19347 \n3 8331 19347 3532 \n3 3533 8332 19349 \n3 8332 3532 19348 \n3 19349 19348 1487 \n3 1317 19350 19351 \n3 19350 3534 8336 \n3 19351 8336 3536 \n3 3534 19352 8334 \n3 19352 796 19353 \n3 8334 19353 3535 \n3 3536 8335 19355 \n3 8335 3535 19354 \n3 19355 19354 1136 \n3 1316 19356 19357 \n3 19356 3537 8339 \n3 19357 8339 3539 \n3 3537 19358 8337 \n3 19358 1469 19359 \n3 8337 19359 3538 \n3 3539 8338 19361 \n3 8338 3538 19360 \n3 19361 19360 794 \n3 795 19362 19363 \n3 19362 3540 8342 \n3 19363 8342 3542 \n3 3540 19364 8340 \n3 19364 1468 19365 \n3 8340 19365 3541 \n3 3542 8341 19367 \n3 8341 3541 19366 \n3 19367 19366 1138 \n3 1140 19368 19369 \n3 19368 3543 8345 \n3 19369 8345 3545 \n3 3543 19370 8343 \n3 19370 799 19371 \n3 8343 19371 3544 \n3 3545 8344 19373 \n3 8344 3544 19372 \n3 19373 19372 1488 \n3 1139 19374 19375 \n3 19374 3546 8348 \n3 19375 8348 3548 \n3 3546 19376 8346 \n3 19376 1467 19377 \n3 8346 19377 3547 \n3 3548 8347 19379 \n3 8347 3547 19378 \n3 19379 19378 797 \n3 798 19380 19381 \n3 19380 3549 8351 \n3 19381 8351 3551 \n3 3549 19382 8349 \n3 19382 1466 19383 \n3 8349 19383 3550 \n3 3551 8350 19385 \n3 8350 3550 19384 \n3 19385 19384 1489 \n3 1490 19386 19387 \n3 19386 3552 8354 \n3 19387 8354 3554 \n3 3552 19388 8352 \n3 19388 802 19389 \n3 8352 19389 3553 \n3 3554 8353 19391 \n3 8353 3553 19390 \n3 19391 19390 1491 \n3 1492 19392 19393 \n3 19392 3555 8357 \n3 19393 8357 3557 \n3 3555 19394 8355 \n3 19394 1143 19395 \n3 8355 19395 3556 \n3 3557 8356 19397 \n3 8356 3556 19396 \n3 19397 19396 800 \n3 801 19398 19399 \n3 19398 3558 8360 \n3 19399 8360 3560 \n3 3558 19400 8358 \n3 19400 1147 19401 \n3 8358 19401 3559 \n3 3560 8359 19403 \n3 8359 3559 19402 \n3 19403 19402 1493 \n3 1494 19404 19405 \n3 19404 3561 8363 \n3 19405 8363 3563 \n3 3561 19406 8361 \n3 19406 805 19407 \n3 8361 19407 3562 \n3 3563 8362 19409 \n3 8362 3562 19408 \n3 19409 19408 1142 \n3 1495 19410 19411 \n3 19410 3564 8366 \n3 19411 8366 3566 \n3 3564 19412 8364 \n3 19412 1323 19413 \n3 8364 19413 3565 \n3 3566 8365 19415 \n3 8365 3565 19414 \n3 19415 19414 803 \n3 804 19416 19417 \n3 19416 3567 8369 \n3 19417 8369 3569 \n3 3567 19418 8367 \n3 19418 1325 19419 \n3 8367 19419 3568 \n3 3569 8368 19421 \n3 8368 3568 19420 \n3 19421 19420 1144 \n3 1146 19422 19423 \n3 19422 3570 8372 \n3 19423 8372 3572 \n3 3570 19424 8370 \n3 19424 808 19425 \n3 8370 19425 3571 \n3 3572 8371 19427 \n3 8371 3571 19426 \n3 19427 19426 1496 \n3 1145 19428 19429 \n3 19428 3573 8375 \n3 19429 8375 3575 \n3 3573 19430 8373 \n3 19430 1330 19431 \n3 8373 19431 3574 \n3 3575 8374 19433 \n3 8374 3574 19432 \n3 19433 19432 806 \n3 807 19434 19435 \n3 19434 3576 8378 \n3 19435 8378 3578 \n3 3576 19436 8376 \n3 19436 1333 19437 \n3 8376 19437 3577 \n3 3578 8377 19439 \n3 8377 3577 19438 \n3 19439 19438 1497 \n3 1498 19440 19441 \n3 19440 3579 8381 \n3 19441 8381 3581 \n3 3579 19442 8379 \n3 19442 811 19443 \n3 8379 19443 3580 \n3 3581 8380 19445 \n3 8380 3580 19444 \n3 19445 19444 1322 \n3 1499 19446 19447 \n3 19446 3582 8384 \n3 19447 8384 3584 \n3 3582 19448 8382 \n3 19448 1149 19449 \n3 8382 19449 3583 \n3 3584 8383 19451 \n3 8383 3583 19450 \n3 19451 19450 809 \n3 810 19452 19453 \n3 19452 3585 8387 \n3 19453 8387 3587 \n3 3585 19454 8385 \n3 19454 1153 19455 \n3 8385 19455 3586 \n3 3587 8386 19457 \n3 8386 3586 19456 \n3 19457 19456 1324 \n3 1500 19458 19459 \n3 19458 3588 8390 \n3 19459 8390 3590 \n3 3588 19460 8388 \n3 19460 814 19461 \n3 8388 19461 3589 \n3 3590 8389 19463 \n3 8389 3589 19462 \n3 19463 19462 1148 \n3 1501 19464 19465 \n3 19464 3591 8393 \n3 19465 8393 3593 \n3 3591 19466 8391 \n3 19466 1502 19467 \n3 8391 19467 3592 \n3 3593 8392 19469 \n3 8392 3592 19468 \n3 19469 19468 812 \n3 813 19470 19471 \n3 19470 3594 8396 \n3 19471 8396 3596 \n3 3594 19472 8394 \n3 19472 1503 19473 \n3 8394 19473 3595 \n3 3596 8395 19475 \n3 8395 3595 19474 \n3 19475 19474 1150 \n3 1152 19476 19477 \n3 19476 3597 8399 \n3 19477 8399 3599 \n3 3597 19478 8397 \n3 19478 817 19479 \n3 8397 19479 3598 \n3 3599 8398 19481 \n3 8398 3598 19480 \n3 19481 19480 1326 \n3 1151 19482 19483 \n3 19482 3600 8402 \n3 19483 8402 3602 \n3 3600 19484 8400 \n3 19484 1504 19485 \n3 8400 19485 3601 \n3 3602 8401 19487 \n3 8401 3601 19486 \n3 19487 19486 815 \n3 816 19488 19489 \n3 19488 3603 8405 \n3 19489 8405 3605 \n3 3603 19490 8403 \n3 19490 1505 19491 \n3 8403 19491 3604 \n3 3605 8404 19493 \n3 8404 3604 19492 \n3 19493 19492 1327 \n3 1332 19494 19495 \n3 19494 3606 8408 \n3 19495 8408 3608 \n3 3606 19496 8406 \n3 19496 820 19497 \n3 8406 19497 3607 \n3 3608 8407 19499 \n3 8407 3607 19498 \n3 19499 19498 1506 \n3 1331 19500 19501 \n3 19500 3609 8411 \n3 19501 8411 3611 \n3 3609 19502 8409 \n3 19502 1155 19503 \n3 8409 19503 3610 \n3 3611 8410 19505 \n3 8410 3610 19504 \n3 19505 19504 818 \n3 819 19506 19507 \n3 19506 3612 8414 \n3 19507 8414 3614 \n3 3612 19508 8412 \n3 19508 1159 19509 \n3 8412 19509 3613 \n3 3614 8413 19511 \n3 8413 3613 19510 \n3 19511 19510 1507 \n3 1329 19512 19513 \n3 19512 3615 8417 \n3 19513 8417 3617 \n3 3615 19514 8415 \n3 19514 823 19515 \n3 8415 19515 3616 \n3 3617 8416 19517 \n3 8416 3616 19516 \n3 19517 19516 1154 \n3 1328 19518 19519 \n3 19518 3618 8420 \n3 19519 8420 3620 \n3 3618 19520 8418 \n3 19520 1508 19521 \n3 8418 19521 3619 \n3 3620 8419 19523 \n3 8419 3619 19522 \n3 19523 19522 821 \n3 822 19524 19525 \n3 19524 3621 8423 \n3 19525 8423 3623 \n3 3621 19526 8421 \n3 19526 1509 19527 \n3 8421 19527 3622 \n3 3623 8422 19529 \n3 8422 3622 19528 \n3 19529 19528 1156 \n3 1158 19530 19531 \n3 19530 3624 8426 \n3 19531 8426 3626 \n3 3624 19532 8424 \n3 19532 826 19533 \n3 8424 19533 3625 \n3 3626 8425 19535 \n3 8425 3625 19534 \n3 19535 19534 1510 \n3 1157 19536 19537 \n3 19536 3627 8429 \n3 19537 8429 3629 \n3 3627 19538 8427 \n3 19538 1511 19539 \n3 8427 19539 3628 \n3 3629 8428 19541 \n3 8428 3628 19540 \n3 19541 19540 824 \n3 825 19542 19543 \n3 19542 3630 8432 \n3 19543 8432 3632 \n3 3630 19544 8430 \n3 19544 1512 19545 \n3 8430 19545 3631 \n3 3632 8431 19547 \n3 8431 3631 19546 \n3 19547 19546 1513 \n3 1562 19548 19549 \n3 19548 3633 8435 \n3 19549 8435 3635 \n3 3633 19550 8433 \n3 19550 829 19551 \n3 8433 19551 3634 \n3 3635 8434 19553 \n3 8434 3634 19552 \n3 19553 19552 1563 \n3 1564 19554 19555 \n3 19554 3636 8438 \n3 19555 8438 3638 \n3 3636 19556 8436 \n3 19556 1161 19557 \n3 8436 19557 3637 \n3 3638 8437 19559 \n3 8437 3637 19558 \n3 19559 19558 827 \n3 828 19560 19561 \n3 19560 3639 8441 \n3 19561 8441 3641 \n3 3639 19562 8439 \n3 19562 1165 19563 \n3 8439 19563 3640 \n3 3641 8440 19565 \n3 8440 3640 19564 \n3 19565 19564 1565 \n3 1566 19566 19567 \n3 19566 3642 8444 \n3 19567 8444 3644 \n3 3642 19568 8442 \n3 19568 832 19569 \n3 8442 19569 3643 \n3 3644 8443 19571 \n3 8443 3643 19570 \n3 19571 19570 1160 \n3 1567 19572 19573 \n3 19572 3645 8447 \n3 19573 8447 3647 \n3 3645 19574 8445 \n3 19574 1335 19575 \n3 8445 19575 3646 \n3 3647 8446 19577 \n3 8446 3646 19576 \n3 19577 19576 830 \n3 831 19578 19579 \n3 19578 3648 8450 \n3 19579 8450 3650 \n3 3648 19580 8448 \n3 19580 1337 19581 \n3 8448 19581 3649 \n3 3650 8449 19583 \n3 8449 3649 19582 \n3 19583 19582 1162 \n3 1164 19584 19585 \n3 19584 3651 8453 \n3 19585 8453 3653 \n3 3651 19586 8451 \n3 19586 835 19587 \n3 8451 19587 3652 \n3 3653 8452 19589 \n3 8452 3652 19588 \n3 19589 19588 1568 \n3 1163 19590 19591 \n3 19590 3654 8456 \n3 19591 8456 3656 \n3 3654 19592 8454 \n3 19592 1342 19593 \n3 8454 19593 3655 \n3 3656 8455 19595 \n3 8455 3655 19594 \n3 19595 19594 833 \n3 834 19596 19597 \n3 19596 3657 8459 \n3 19597 8459 3659 \n3 3657 19598 8457 \n3 19598 1345 19599 \n3 8457 19599 3658 \n3 3659 8458 19601 \n3 8458 3658 19600 \n3 19601 19600 1569 \n3 1570 19602 19603 \n3 19602 3660 8462 \n3 19603 8462 3662 \n3 3660 19604 8460 \n3 19604 838 19605 \n3 8460 19605 3661 \n3 3662 8461 19607 \n3 8461 3661 19606 \n3 19607 19606 1334 \n3 1571 19608 19609 \n3 19608 3663 8465 \n3 19609 8465 3665 \n3 3663 19610 8463 \n3 19610 1167 19611 \n3 8463 19611 3664 \n3 3665 8464 19613 \n3 8464 3664 19612 \n3 19613 19612 836 \n3 837 19614 19615 \n3 19614 3666 8468 \n3 19615 8468 3668 \n3 3666 19616 8466 \n3 19616 1171 19617 \n3 8466 19617 3667 \n3 3668 8467 19619 \n3 8467 3667 19618 \n3 19619 19618 1336 \n3 1572 19620 19621 \n3 19620 3669 8471 \n3 19621 8471 3671 \n3 3669 19622 8469 \n3 19622 841 19623 \n3 8469 19623 3670 \n3 3671 8470 19625 \n3 8470 3670 19624 \n3 19625 19624 1166 \n3 1573 19626 19627 \n3 19626 3672 8474 \n3 19627 8474 3674 \n3 3672 19628 8472 \n3 19628 1512 19629 \n3 8472 19629 3673 \n3 3674 8473 19631 \n3 8473 3673 19630 \n3 19631 19630 839 \n3 840 19632 19633 \n3 19632 3675 8477 \n3 19633 8477 3677 \n3 3675 19634 8475 \n3 19634 1511 19635 \n3 8475 19635 3676 \n3 3677 8476 19637 \n3 8476 3676 19636 \n3 19637 19636 1168 \n3 1170 19638 19639 \n3 19638 3678 8480 \n3 19639 8480 3680 \n3 3678 19640 8478 \n3 19640 844 19641 \n3 8478 19641 3679 \n3 3680 8479 19643 \n3 8479 3679 19642 \n3 19643 19642 1338 \n3 1169 19644 19645 \n3 19644 3681 8483 \n3 19645 8483 3683 \n3 3681 19646 8481 \n3 19646 1509 19647 \n3 8481 19647 3682 \n3 3683 8482 19649 \n3 8482 3682 19648 \n3 19649 19648 842 \n3 843 19650 19651 \n3 19650 3684 8486 \n3 19651 8486 3686 \n3 3684 19652 8484 \n3 19652 1508 19653 \n3 8484 19653 3685 \n3 3686 8485 19655 \n3 8485 3685 19654 \n3 19655 19654 1339 \n3 1344 19656 19657 \n3 19656 3687 8489 \n3 19657 8489 3689 \n3 3687 19658 8487 \n3 19658 847 19659 \n3 8487 19659 3688 \n3 3689 8488 19661 \n3 8488 3688 19660 \n3 19661 19660 1574 \n3 1343 19662 19663 \n3 19662 3690 8492 \n3 19663 8492 3692 \n3 3690 19664 8490 \n3 19664 1173 19665 \n3 8490 19665 3691 \n3 3692 8491 19667 \n3 8491 3691 19666 \n3 19667 19666 845 \n3 846 19668 19669 \n3 19668 3693 8495 \n3 19669 8495 3695 \n3 3693 19670 8493 \n3 19670 1177 19671 \n3 8493 19671 3694 \n3 3695 8494 19673 \n3 8494 3694 19672 \n3 19673 19672 1575 \n3 1341 19674 19675 \n3 19674 3696 8498 \n3 19675 8498 3698 \n3 3696 19676 8496 \n3 19676 850 19677 \n3 8496 19677 3697 \n3 3698 8497 19679 \n3 8497 3697 19678 \n3 19679 19678 1172 \n3 1340 19680 19681 \n3 19680 3699 8501 \n3 19681 8501 3701 \n3 3699 19682 8499 \n3 19682 1505 19683 \n3 8499 19683 3700 \n3 3701 8500 19685 \n3 8500 3700 19684 \n3 19685 19684 848 \n3 849 19686 19687 \n3 19686 3702 8504 \n3 19687 8504 3704 \n3 3702 19688 8502 \n3 19688 1504 19689 \n3 8502 19689 3703 \n3 3704 8503 19691 \n3 8503 3703 19690 \n3 19691 19690 1174 \n3 1176 19692 19693 \n3 19692 3705 8507 \n3 19693 8507 3707 \n3 3705 19694 8505 \n3 19694 853 19695 \n3 8505 19695 3706 \n3 3707 8506 19697 \n3 8506 3706 19696 \n3 19697 19696 1576 \n3 1175 19698 19699 \n3 19698 3708 8510 \n3 19699 8510 3710 \n3 3708 19700 8508 \n3 19700 1503 19701 \n3 8508 19701 3709 \n3 3710 8509 19703 \n3 8509 3709 19702 \n3 19703 19702 851 \n3 852 19704 19705 \n3 19704 3711 8513 \n3 19705 8513 3713 \n3 3711 19706 8511 \n3 19706 1502 19707 \n3 8511 19707 3712 \n3 3713 8512 19709 \n3 8512 3712 19708 \n3 19709 19708 1577 \n3 1578 19710 19711 \n3 19710 3714 8516 \n3 19711 8516 3716 \n3 3714 19712 8514 \n3 19712 856 19713 \n3 8514 19713 3715 \n3 3716 8515 19715 \n3 8515 3715 19714 \n3 19715 19714 1514 \n3 1579 19716 19717 \n3 19716 3717 8519 \n3 19717 8519 3719 \n3 3717 19718 8517 \n3 19718 1179 19719 \n3 8517 19719 3718 \n3 3719 8518 19721 \n3 8518 3718 19720 \n3 19721 19720 854 \n3 855 19722 19723 \n3 19722 3720 8522 \n3 19723 8522 3722 \n3 3720 19724 8520 \n3 19724 1183 19725 \n3 8520 19725 3721 \n3 3722 8521 19727 \n3 8521 3721 19726 \n3 19727 19726 1515 \n3 1580 19728 19729 \n3 19728 3723 8525 \n3 19729 8525 3725 \n3 3723 19730 8523 \n3 19730 859 19731 \n3 8523 19731 3724 \n3 3725 8524 19733 \n3 8524 3724 19732 \n3 19733 19732 1178 \n3 1581 19734 19735 \n3 19734 3726 8528 \n3 19735 8528 3728 \n3 3726 19736 8526 \n3 19736 1347 19737 \n3 8526 19737 3727 \n3 3728 8527 19739 \n3 8527 3727 19738 \n3 19739 19738 857 \n3 858 19740 19741 \n3 19740 3729 8531 \n3 19741 8531 3731 \n3 3729 19742 8529 \n3 19742 1349 19743 \n3 8529 19743 3730 \n3 3731 8530 19745 \n3 8530 3730 19744 \n3 19745 19744 1180 \n3 1182 19746 19747 \n3 19746 3732 8534 \n3 19747 8534 3734 \n3 3732 19748 8532 \n3 19748 862 19749 \n3 8532 19749 3733 \n3 3734 8533 19751 \n3 8533 3733 19750 \n3 19751 19750 1516 \n3 1181 19752 19753 \n3 19752 3735 8537 \n3 19753 8537 3737 \n3 3735 19754 8535 \n3 19754 1354 19755 \n3 8535 19755 3736 \n3 3737 8536 19757 \n3 8536 3736 19756 \n3 19757 19756 860 \n3 861 19758 19759 \n3 19758 3738 8540 \n3 19759 8540 3740 \n3 3738 19760 8538 \n3 19760 1357 19761 \n3 8538 19761 3739 \n3 3740 8539 19763 \n3 8539 3739 19762 \n3 19763 19762 1517 \n3 1582 19764 19765 \n3 19764 3741 8543 \n3 19765 8543 3743 \n3 3741 19766 8541 \n3 19766 865 19767 \n3 8541 19767 3742 \n3 3743 8542 19769 \n3 8542 3742 19768 \n3 19769 19768 1346 \n3 1583 19770 19771 \n3 19770 3744 8546 \n3 19771 8546 3746 \n3 3744 19772 8544 \n3 19772 1185 19773 \n3 8544 19773 3745 \n3 3746 8545 19775 \n3 8545 3745 19774 \n3 19775 19774 863 \n3 864 19776 19777 \n3 19776 3747 8549 \n3 19777 8549 3749 \n3 3747 19778 8547 \n3 19778 1189 19779 \n3 8547 19779 3748 \n3 3749 8548 19781 \n3 8548 3748 19780 \n3 19781 19780 1348 \n3 1584 19782 19783 \n3 19782 3750 8552 \n3 19783 8552 3752 \n3 3750 19784 8550 \n3 19784 868 19785 \n3 8550 19785 3751 \n3 3752 8551 19787 \n3 8551 3751 19786 \n3 19787 19786 1184 \n3 1585 19788 19789 \n3 19788 3753 8555 \n3 19789 8555 3755 \n3 3753 19790 8553 \n3 19790 1518 19791 \n3 8553 19791 3754 \n3 3755 8554 19793 \n3 8554 3754 19792 \n3 19793 19792 866 \n3 867 19794 19795 \n3 19794 3756 8558 \n3 19795 8558 3758 \n3 3756 19796 8556 \n3 19796 1519 19797 \n3 8556 19797 3757 \n3 3758 8557 19799 \n3 8557 3757 19798 \n3 19799 19798 1186 \n3 1188 19800 19801 \n3 19800 3759 8561 \n3 19801 8561 3761 \n3 3759 19802 8559 \n3 19802 871 19803 \n3 8559 19803 3760 \n3 3761 8560 19805 \n3 8560 3760 19804 \n3 19805 19804 1350 \n3 1187 19806 19807 \n3 19806 3762 8564 \n3 19807 8564 3764 \n3 3762 19808 8562 \n3 19808 1520 19809 \n3 8562 19809 3763 \n3 3764 8563 19811 \n3 8563 3763 19810 \n3 19811 19810 869 \n3 870 19812 19813 \n3 19812 3765 8567 \n3 19813 8567 3767 \n3 3765 19814 8565 \n3 19814 1521 19815 \n3 8565 19815 3766 \n3 3767 8566 19817 \n3 8566 3766 19816 \n3 19817 19816 1351 \n3 1356 19818 19819 \n3 19818 3768 8570 \n3 19819 8570 3770 \n3 3768 19820 8568 \n3 19820 874 19821 \n3 8568 19821 3769 \n3 3770 8569 19823 \n3 8569 3769 19822 \n3 19823 19822 1522 \n3 1355 19824 19825 \n3 19824 3771 8573 \n3 19825 8573 3773 \n3 3771 19826 8571 \n3 19826 1191 19827 \n3 8571 19827 3772 \n3 3773 8572 19829 \n3 8572 3772 19828 \n3 19829 19828 872 \n3 873 19830 19831 \n3 19830 3774 8576 \n3 19831 8576 3776 \n3 3774 19832 8574 \n3 19832 1195 19833 \n3 8574 19833 3775 \n3 3776 8575 19835 \n3 8575 3775 19834 \n3 19835 19834 1523 \n3 1353 19836 19837 \n3 19836 3777 8579 \n3 19837 8579 3779 \n3 3777 19838 8577 \n3 19838 877 19839 \n3 8577 19839 3778 \n3 3779 8578 19841 \n3 8578 3778 19840 \n3 19841 19840 1190 \n3 1352 19842 19843 \n3 19842 3780 8582 \n3 19843 8582 3782 \n3 3780 19844 8580 \n3 19844 1524 19845 \n3 8580 19845 3781 \n3 3782 8581 19847 \n3 8581 3781 19846 \n3 19847 19846 875 \n3 876 19848 19849 \n3 19848 3783 8585 \n3 19849 8585 3785 \n3 3783 19850 8583 \n3 19850 1525 19851 \n3 8583 19851 3784 \n3 3785 8584 19853 \n3 8584 3784 19852 \n3 19853 19852 1192 \n3 1194 19854 19855 \n3 19854 3786 8588 \n3 19855 8588 3788 \n3 3786 19856 8586 \n3 19856 880 19857 \n3 8586 19857 3787 \n3 3788 8587 19859 \n3 8587 3787 19858 \n3 19859 19858 1526 \n3 1193 19860 19861 \n3 19860 3789 8591 \n3 19861 8591 3791 \n3 3789 19862 8589 \n3 19862 1527 19863 \n3 8589 19863 3790 \n3 3791 8590 19865 \n3 8590 3790 19864 \n3 19865 19864 878 \n3 879 19866 19867 \n3 19866 3792 8594 \n3 19867 8594 3794 \n3 3792 19868 8592 \n3 19868 1528 19869 \n3 8592 19869 3793 \n3 3794 8593 19871 \n3 8593 3793 19870 \n3 19871 19870 1529 \n3 1586 19872 19873 \n3 19872 3795 8597 \n3 19873 8597 3797 \n3 3795 19874 8595 \n3 19874 883 19875 \n3 8595 19875 3796 \n3 3797 8596 19877 \n3 8596 3796 19876 \n3 19877 19876 1587 \n3 1588 19878 19879 \n3 19878 3798 8600 \n3 19879 8600 3800 \n3 3798 19880 8598 \n3 19880 1197 19881 \n3 8598 19881 3799 \n3 3800 8599 19883 \n3 8599 3799 19882 \n3 19883 19882 881 \n3 882 19884 19885 \n3 19884 3801 8603 \n3 19885 8603 3803 \n3 3801 19886 8601 \n3 19886 1201 19887 \n3 8601 19887 3802 \n3 3803 8602 19889 \n3 8602 3802 19888 \n3 19889 19888 1589 \n3 1590 19890 19891 \n3 19890 3804 8606 \n3 19891 8606 3806 \n3 3804 19892 8604 \n3 19892 886 19893 \n3 8604 19893 3805 \n3 3806 8605 19895 \n3 8605 3805 19894 \n3 19895 19894 1196 \n3 1591 19896 19897 \n3 19896 3807 8609 \n3 19897 8609 3809 \n3 3807 19898 8607 \n3 19898 1359 19899 \n3 8607 19899 3808 \n3 3809 8608 19901 \n3 8608 3808 19900 \n3 19901 19900 884 \n3 885 19902 19903 \n3 19902 3810 8612 \n3 19903 8612 3812 \n3 3810 19904 8610 \n3 19904 1361 19905 \n3 8610 19905 3811 \n3 3812 8611 19907 \n3 8611 3811 19906 \n3 19907 19906 1198 \n3 1200 19908 19909 \n3 19908 3813 8615 \n3 19909 8615 3815 \n3 3813 19910 8613 \n3 19910 889 19911 \n3 8613 19911 3814 \n3 3815 8614 19913 \n3 8614 3814 19912 \n3 19913 19912 1592 \n3 1199 19914 19915 \n3 19914 3816 8618 \n3 19915 8618 3818 \n3 3816 19916 8616 \n3 19916 1366 19917 \n3 8616 19917 3817 \n3 3818 8617 19919 \n3 8617 3817 19918 \n3 19919 19918 887 \n3 888 19920 19921 \n3 19920 3819 8621 \n3 19921 8621 3821 \n3 3819 19922 8619 \n3 19922 1369 19923 \n3 8619 19923 3820 \n3 3821 8620 19925 \n3 8620 3820 19924 \n3 19925 19924 1593 \n3 1594 19926 19927 \n3 19926 3822 8624 \n3 19927 8624 3824 \n3 3822 19928 8622 \n3 19928 892 19929 \n3 8622 19929 3823 \n3 3824 8623 19931 \n3 8623 3823 19930 \n3 19931 19930 1358 \n3 1595 19932 19933 \n3 19932 3825 8627 \n3 19933 8627 3827 \n3 3825 19934 8625 \n3 19934 1203 19935 \n3 8625 19935 3826 \n3 3827 8626 19937 \n3 8626 3826 19936 \n3 19937 19936 890 \n3 891 19938 19939 \n3 19938 3828 8630 \n3 19939 8630 3830 \n3 3828 19940 8628 \n3 19940 1207 19941 \n3 8628 19941 3829 \n3 3830 8629 19943 \n3 8629 3829 19942 \n3 19943 19942 1360 \n3 1596 19944 19945 \n3 19944 3831 8633 \n3 19945 8633 3833 \n3 3831 19946 8631 \n3 19946 895 19947 \n3 8631 19947 3832 \n3 3833 8632 19949 \n3 8632 3832 19948 \n3 19949 19948 1202 \n3 1597 19950 19951 \n3 19950 3834 8636 \n3 19951 8636 3836 \n3 3834 19952 8634 \n3 19952 1528 19953 \n3 8634 19953 3835 \n3 3836 8635 19955 \n3 8635 3835 19954 \n3 19955 19954 893 \n3 894 19956 19957 \n3 19956 3837 8639 \n3 19957 8639 3839 \n3 3837 19958 8637 \n3 19958 1527 19959 \n3 8637 19959 3838 \n3 3839 8638 19961 \n3 8638 3838 19960 \n3 19961 19960 1204 \n3 1206 19962 19963 \n3 19962 3840 8642 \n3 19963 8642 3842 \n3 3840 19964 8640 \n3 19964 898 19965 \n3 8640 19965 3841 \n3 3842 8641 19967 \n3 8641 3841 19966 \n3 19967 19966 1362 \n3 1205 19968 19969 \n3 19968 3843 8645 \n3 19969 8645 3845 \n3 3843 19970 8643 \n3 19970 1525 19971 \n3 8643 19971 3844 \n3 3845 8644 19973 \n3 8644 3844 19972 \n3 19973 19972 896 \n3 897 19974 19975 \n3 19974 3846 8648 \n3 19975 8648 3848 \n3 3846 19976 8646 \n3 19976 1524 19977 \n3 8646 19977 3847 \n3 3848 8647 19979 \n3 8647 3847 19978 \n3 19979 19978 1363 \n3 1368 19980 19981 \n3 19980 3849 8651 \n3 19981 8651 3851 \n3 3849 19982 8649 \n3 19982 901 19983 \n3 8649 19983 3850 \n3 3851 8650 19985 \n3 8650 3850 19984 \n3 19985 19984 1598 \n3 1367 19986 19987 \n3 19986 3852 8654 \n3 19987 8654 3854 \n3 3852 19988 8652 \n3 19988 1209 19989 \n3 8652 19989 3853 \n3 3854 8653 19991 \n3 8653 3853 19990 \n3 19991 19990 899 \n3 900 19992 19993 \n3 19992 3855 8657 \n3 19993 8657 3857 \n3 3855 19994 8655 \n3 19994 1213 19995 \n3 8655 19995 3856 \n3 3857 8656 19997 \n3 8656 3856 19996 \n3 19997 19996 1599 \n3 1365 19998 19999 \n3 19998 3858 8660 \n3 19999 8660 3860 \n3 3858 20000 8658 \n3 20000 904 20001 \n3 8658 20001 3859 \n3 3860 8659 20003 \n3 8659 3859 20002 \n3 20003 20002 1208 \n3 1364 20004 20005 \n3 20004 3861 8663 \n3 20005 8663 3863 \n3 3861 20006 8661 \n3 20006 1521 20007 \n3 8661 20007 3862 \n3 3863 8662 20009 \n3 8662 3862 20008 \n3 20009 20008 902 \n3 903 20010 20011 \n3 20010 3864 8666 \n3 20011 8666 3866 \n3 3864 20012 8664 \n3 20012 1520 20013 \n3 8664 20013 3865 \n3 3866 8665 20015 \n3 8665 3865 20014 \n3 20015 20014 1210 \n3 1212 20016 20017 \n3 20016 3867 8669 \n3 20017 8669 3869 \n3 3867 20018 8667 \n3 20018 907 20019 \n3 8667 20019 3868 \n3 3869 8668 20021 \n3 8668 3868 20020 \n3 20021 20020 1600 \n3 1211 20022 20023 \n3 20022 3870 8672 \n3 20023 8672 3872 \n3 3870 20024 8670 \n3 20024 1519 20025 \n3 8670 20025 3871 \n3 3872 8671 20027 \n3 8671 3871 20026 \n3 20027 20026 905 \n3 906 20028 20029 \n3 20028 3873 8675 \n3 20029 8675 3875 \n3 3873 20030 8673 \n3 20030 1518 20031 \n3 8673 20031 3874 \n3 3875 8674 20033 \n3 8674 3874 20032 \n3 20033 20032 1601 \n3 1602 20034 20035 \n3 20034 3876 8678 \n3 20035 8678 3878 \n3 3876 20036 8676 \n3 20036 910 20037 \n3 8676 20037 3877 \n3 3878 8677 20039 \n3 8677 3877 20038 \n3 20039 20038 1603 \n3 1604 20040 20041 \n3 20040 3879 8681 \n3 20041 8681 3881 \n3 3879 20042 8679 \n3 20042 1215 20043 \n3 8679 20043 3880 \n3 3881 8680 20045 \n3 8680 3880 20044 \n3 20045 20044 908 \n3 909 20046 20047 \n3 20046 3882 8684 \n3 20047 8684 3884 \n3 3882 20048 8682 \n3 20048 1219 20049 \n3 8682 20049 3883 \n3 3884 8683 20051 \n3 8683 3883 20050 \n3 20051 20050 1605 \n3 1606 20052 20053 \n3 20052 3885 8687 \n3 20053 8687 3887 \n3 3885 20054 8685 \n3 20054 913 20055 \n3 8685 20055 3886 \n3 3887 8686 20057 \n3 8686 3886 20056 \n3 20057 20056 1214 \n3 1607 20058 20059 \n3 20058 3888 8690 \n3 20059 8690 3890 \n3 3888 20060 8688 \n3 20060 1371 20061 \n3 8688 20061 3889 \n3 3890 8689 20063 \n3 8689 3889 20062 \n3 20063 20062 911 \n3 912 20064 20065 \n3 20064 3891 8693 \n3 20065 8693 3893 \n3 3891 20066 8691 \n3 20066 1373 20067 \n3 8691 20067 3892 \n3 3893 8692 20069 \n3 8692 3892 20068 \n3 20069 20068 1216 \n3 1218 20070 20071 \n3 20070 3894 8696 \n3 20071 8696 3896 \n3 3894 20072 8694 \n3 20072 916 20073 \n3 8694 20073 3895 \n3 3896 8695 20075 \n3 8695 3895 20074 \n3 20075 20074 1608 \n3 1217 20076 20077 \n3 20076 3897 8699 \n3 20077 8699 3899 \n3 3897 20078 8697 \n3 20078 1378 20079 \n3 8697 20079 3898 \n3 3899 8698 20081 \n3 8698 3898 20080 \n3 20081 20080 914 \n3 915 20082 20083 \n3 20082 3900 8702 \n3 20083 8702 3902 \n3 3900 20084 8700 \n3 20084 1381 20085 \n3 8700 20085 3901 \n3 3902 8701 20087 \n3 8701 3901 20086 \n3 20087 20086 1609 \n3 1610 20088 20089 \n3 20088 3903 8705 \n3 20089 8705 3905 \n3 3903 20090 8703 \n3 20090 919 20091 \n3 8703 20091 3904 \n3 3905 8704 20093 \n3 8704 3904 20092 \n3 20093 20092 1370 \n3 1611 20094 20095 \n3 20094 3906 8708 \n3 20095 8708 3908 \n3 3906 20096 8706 \n3 20096 1221 20097 \n3 8706 20097 3907 \n3 3908 8707 20099 \n3 8707 3907 20098 \n3 20099 20098 917 \n3 918 20100 20101 \n3 20100 3909 8711 \n3 20101 8711 3911 \n3 3909 20102 8709 \n3 20102 1225 20103 \n3 8709 20103 3910 \n3 3911 8710 20105 \n3 8710 3910 20104 \n3 20105 20104 1372 \n3 1612 20106 20107 \n3 20106 3912 8714 \n3 20107 8714 3914 \n3 3912 20108 8712 \n3 20108 922 20109 \n3 8712 20109 3913 \n3 3914 8713 20111 \n3 8713 3913 20110 \n3 20111 20110 1220 \n3 1613 20112 20113 \n3 20112 3915 8717 \n3 20113 8717 3917 \n3 3915 20114 8715 \n3 20114 1530 20115 \n3 8715 20115 3916 \n3 3917 8716 20117 \n3 8716 3916 20116 \n3 20117 20116 920 \n3 921 20118 20119 \n3 20118 3918 8720 \n3 20119 8720 3920 \n3 3918 20120 8718 \n3 20120 1531 20121 \n3 8718 20121 3919 \n3 3920 8719 20123 \n3 8719 3919 20122 \n3 20123 20122 1222 \n3 1224 20124 20125 \n3 20124 3921 8723 \n3 20125 8723 3923 \n3 3921 20126 8721 \n3 20126 925 20127 \n3 8721 20127 3922 \n3 3923 8722 20129 \n3 8722 3922 20128 \n3 20129 20128 1374 \n3 1223 20130 20131 \n3 20130 3924 8726 \n3 20131 8726 3926 \n3 3924 20132 8724 \n3 20132 1532 20133 \n3 8724 20133 3925 \n3 3926 8725 20135 \n3 8725 3925 20134 \n3 20135 20134 923 \n3 924 20136 20137 \n3 20136 3927 8729 \n3 20137 8729 3929 \n3 3927 20138 8727 \n3 20138 1533 20139 \n3 8727 20139 3928 \n3 3929 8728 20141 \n3 8728 3928 20140 \n3 20141 20140 1375 \n3 1380 20142 20143 \n3 20142 3930 8732 \n3 20143 8732 3932 \n3 3930 20144 8730 \n3 20144 928 20145 \n3 8730 20145 3931 \n3 3932 8731 20147 \n3 8731 3931 20146 \n3 20147 20146 1614 \n3 1379 20148 20149 \n3 20148 3933 8735 \n3 20149 8735 3935 \n3 3933 20150 8733 \n3 20150 1227 20151 \n3 8733 20151 3934 \n3 3935 8734 20153 \n3 8734 3934 20152 \n3 20153 20152 926 \n3 927 20154 20155 \n3 20154 3936 8738 \n3 20155 8738 3938 \n3 3936 20156 8736 \n3 20156 1231 20157 \n3 8736 20157 3937 \n3 3938 8737 20159 \n3 8737 3937 20158 \n3 20159 20158 1615 \n3 1377 20160 20161 \n3 20160 3939 8741 \n3 20161 8741 3941 \n3 3939 20162 8739 \n3 20162 931 20163 \n3 8739 20163 3940 \n3 3941 8740 20165 \n3 8740 3940 20164 \n3 20165 20164 1226 \n3 1376 20166 20167 \n3 20166 3942 8744 \n3 20167 8744 3944 \n3 3942 20168 8742 \n3 20168 1534 20169 \n3 8742 20169 3943 \n3 3944 8743 20171 \n3 8743 3943 20170 \n3 20171 20170 929 \n3 930 20172 20173 \n3 20172 3945 8747 \n3 20173 8747 3947 \n3 3945 20174 8745 \n3 20174 1535 20175 \n3 8745 20175 3946 \n3 3947 8746 20177 \n3 8746 3946 20176 \n3 20177 20176 1228 \n3 1230 20178 20179 \n3 20178 3948 8750 \n3 20179 8750 3950 \n3 3948 20180 8748 \n3 20180 934 20181 \n3 8748 20181 3949 \n3 3950 8749 20183 \n3 8749 3949 20182 \n3 20183 20182 1616 \n3 1229 20184 20185 \n3 20184 3951 8753 \n3 20185 8753 3953 \n3 3951 20186 8751 \n3 20186 1536 20187 \n3 8751 20187 3952 \n3 3953 8752 20189 \n3 8752 3952 20188 \n3 20189 20188 932 \n3 933 20190 20191 \n3 20190 3954 8756 \n3 20191 8756 3956 \n3 3954 20192 8754 \n3 20192 1537 20193 \n3 8754 20193 3955 \n3 3956 8755 20195 \n3 8755 3955 20194 \n3 20195 20194 1617 \n3 1618 20196 20197 \n3 20196 3957 8759 \n3 20197 8759 3959 \n3 3957 20198 8757 \n3 20198 937 20199 \n3 8757 20199 3958 \n3 3959 8758 20201 \n3 8758 3958 20200 \n3 20201 20200 1619 \n3 1620 20202 20203 \n3 20202 3960 8762 \n3 20203 8762 3962 \n3 3960 20204 8760 \n3 20204 1233 20205 \n3 8760 20205 3961 \n3 3962 8761 20207 \n3 8761 3961 20206 \n3 20207 20206 935 \n3 936 20208 20209 \n3 20208 3963 8765 \n3 20209 8765 3965 \n3 3963 20210 8763 \n3 20210 1237 20211 \n3 8763 20211 3964 \n3 3965 8764 20213 \n3 8764 3964 20212 \n3 20213 20212 1621 \n3 1622 20214 20215 \n3 20214 3966 8768 \n3 20215 8768 3968 \n3 3966 20216 8766 \n3 20216 940 20217 \n3 8766 20217 3967 \n3 3968 8767 20219 \n3 8767 3967 20218 \n3 20219 20218 1232 \n3 1623 20220 20221 \n3 20220 3969 8771 \n3 20221 8771 3971 \n3 3969 20222 8769 \n3 20222 1383 20223 \n3 8769 20223 3970 \n3 3971 8770 20225 \n3 8770 3970 20224 \n3 20225 20224 938 \n3 939 20226 20227 \n3 20226 3972 8774 \n3 20227 8774 3974 \n3 3972 20228 8772 \n3 20228 1385 20229 \n3 8772 20229 3973 \n3 3974 8773 20231 \n3 8773 3973 20230 \n3 20231 20230 1234 \n3 1236 20232 20233 \n3 20232 3975 8777 \n3 20233 8777 3977 \n3 3975 20234 8775 \n3 20234 943 20235 \n3 8775 20235 3976 \n3 3977 8776 20237 \n3 8776 3976 20236 \n3 20237 20236 1624 \n3 1235 20238 20239 \n3 20238 3978 8780 \n3 20239 8780 3980 \n3 3978 20240 8778 \n3 20240 1390 20241 \n3 8778 20241 3979 \n3 3980 8779 20243 \n3 8779 3979 20242 \n3 20243 20242 941 \n3 942 20244 20245 \n3 20244 3981 8783 \n3 20245 8783 3983 \n3 3981 20246 8781 \n3 20246 1393 20247 \n3 8781 20247 3982 \n3 3983 8782 20249 \n3 8782 3982 20248 \n3 20249 20248 1625 \n3 1626 20250 20251 \n3 20250 3984 8786 \n3 20251 8786 3986 \n3 3984 20252 8784 \n3 20252 946 20253 \n3 8784 20253 3985 \n3 3986 8785 20255 \n3 8785 3985 20254 \n3 20255 20254 1382 \n3 1627 20256 20257 \n3 20256 3987 8789 \n3 20257 8789 3989 \n3 3987 20258 8787 \n3 20258 1239 20259 \n3 8787 20259 3988 \n3 3989 8788 20261 \n3 8788 3988 20260 \n3 20261 20260 944 \n3 945 20262 20263 \n3 20262 3990 8792 \n3 20263 8792 3992 \n3 3990 20264 8790 \n3 20264 1243 20265 \n3 8790 20265 3991 \n3 3992 8791 20267 \n3 8791 3991 20266 \n3 20267 20266 1384 \n3 1628 20268 20269 \n3 20268 3993 8795 \n3 20269 8795 3995 \n3 3993 20270 8793 \n3 20270 949 20271 \n3 8793 20271 3994 \n3 3995 8794 20273 \n3 8794 3994 20272 \n3 20273 20272 1238 \n3 1629 20274 20275 \n3 20274 3996 8798 \n3 20275 8798 3998 \n3 3996 20276 8796 \n3 20276 1537 20277 \n3 8796 20277 3997 \n3 3998 8797 20279 \n3 8797 3997 20278 \n3 20279 20278 947 \n3 948 20280 20281 \n3 20280 3999 8801 \n3 20281 8801 4001 \n3 3999 20282 8799 \n3 20282 1536 20283 \n3 8799 20283 4000 \n3 4001 8800 20285 \n3 8800 4000 20284 \n3 20285 20284 1240 \n3 1242 20286 20287 \n3 20286 4002 8804 \n3 20287 8804 4004 \n3 4002 20288 8802 \n3 20288 952 20289 \n3 8802 20289 4003 \n3 4004 8803 20291 \n3 8803 4003 20290 \n3 20291 20290 1386 \n3 1241 20292 20293 \n3 20292 4005 8807 \n3 20293 8807 4007 \n3 4005 20294 8805 \n3 20294 1535 20295 \n3 8805 20295 4006 \n3 4007 8806 20297 \n3 8806 4006 20296 \n3 20297 20296 950 \n3 951 20298 20299 \n3 20298 4008 8810 \n3 20299 8810 4010 \n3 4008 20300 8808 \n3 20300 1534 20301 \n3 8808 20301 4009 \n3 4010 8809 20303 \n3 8809 4009 20302 \n3 20303 20302 1387 \n3 1392 20304 20305 \n3 20304 4011 8813 \n3 20305 8813 4013 \n3 4011 20306 8811 \n3 20306 955 20307 \n3 8811 20307 4012 \n3 4013 8812 20309 \n3 8812 4012 20308 \n3 20309 20308 1630 \n3 1391 20310 20311 \n3 20310 4014 8816 \n3 20311 8816 4016 \n3 4014 20312 8814 \n3 20312 1245 20313 \n3 8814 20313 4015 \n3 4016 8815 20315 \n3 8815 4015 20314 \n3 20315 20314 953 \n3 954 20316 20317 \n3 20316 4017 8819 \n3 20317 8819 4019 \n3 4017 20318 8817 \n3 20318 1249 20319 \n3 8817 20319 4018 \n3 4019 8818 20321 \n3 8818 4018 20320 \n3 20321 20320 1631 \n3 1389 20322 20323 \n3 20322 4020 8822 \n3 20323 8822 4022 \n3 4020 20324 8820 \n3 20324 958 20325 \n3 8820 20325 4021 \n3 4022 8821 20327 \n3 8821 4021 20326 \n3 20327 20326 1244 \n3 1388 20328 20329 \n3 20328 4023 8825 \n3 20329 8825 4025 \n3 4023 20330 8823 \n3 20330 1533 20331 \n3 8823 20331 4024 \n3 4025 8824 20333 \n3 8824 4024 20332 \n3 20333 20332 956 \n3 957 20334 20335 \n3 20334 4026 8828 \n3 20335 8828 4028 \n3 4026 20336 8826 \n3 20336 1532 20337 \n3 8826 20337 4027 \n3 4028 8827 20339 \n3 8827 4027 20338 \n3 20339 20338 1246 \n3 1248 20340 20341 \n3 20340 4029 8831 \n3 20341 8831 4031 \n3 4029 20342 8829 \n3 20342 961 20343 \n3 8829 20343 4030 \n3 4031 8830 20345 \n3 8830 4030 20344 \n3 20345 20344 1632 \n3 1247 20346 20347 \n3 20346 4032 8834 \n3 20347 8834 4034 \n3 4032 20348 8832 \n3 20348 1531 20349 \n3 8832 20349 4033 \n3 4034 8833 20351 \n3 8833 4033 20350 \n3 20351 20350 959 \n3 960 20352 20353 \n3 20352 4035 8837 \n3 20353 8837 4037 \n3 4035 20354 8835 \n3 20354 1530 20355 \n3 8835 20355 4036 \n3 4037 8836 20357 \n3 8836 4036 20356 \n3 20357 20356 1633 \n3 98 20358 20359 \n3 20358 4038 8840 \n3 20359 8840 4039 \n3 4038 20360 8838 \n3 20360 386 15751 \n3 8838 15751 1736 \n3 4039 8839 20361 \n3 8839 1736 15755 \n3 20361 15755 388 \n3 386 20362 15750 \n3 20362 4040 8843 \n3 15750 8843 1734 \n3 4040 20363 8841 \n3 20363 99 20364 \n3 8841 20364 4041 \n3 1734 8842 15752 \n3 8842 4041 20365 \n3 15752 20365 387 \n3 388 15754 20366 \n3 15754 1735 8846 \n3 20366 8846 4043 \n3 1735 15753 8844 \n3 15753 387 20367 \n3 8844 20367 4042 \n3 4043 8845 20369 \n3 8845 4042 20368 \n3 20369 20368 100 \n3 101 20370 20371 \n3 20370 4044 8849 \n3 20371 8849 4045 \n3 4044 20372 8847 \n3 20372 389 15757 \n3 8847 15757 1739 \n3 4045 8848 20373 \n3 8848 1739 15761 \n3 20373 15761 391 \n3 389 20374 15756 \n3 20374 4046 8852 \n3 15756 8852 1737 \n3 4046 20375 8850 \n3 20375 102 20376 \n3 8850 20376 4047 \n3 1737 8851 15758 \n3 8851 4047 20377 \n3 15758 20377 390 \n3 391 15760 20378 \n3 15760 1738 8855 \n3 20378 8855 4049 \n3 1738 15759 8853 \n3 15759 390 20379 \n3 8853 20379 4048 \n3 4049 8854 20381 \n3 8854 4048 20380 \n3 20381 20380 103 \n3 104 20382 20383 \n3 20382 4050 8858 \n3 20383 8858 4051 \n3 4050 20384 8856 \n3 20384 392 15763 \n3 8856 15763 1742 \n3 4051 8857 20385 \n3 8857 1742 15767 \n3 20385 15767 394 \n3 392 20386 15762 \n3 20386 4052 8861 \n3 15762 8861 1740 \n3 4052 20387 8859 \n3 20387 105 20388 \n3 8859 20388 4053 \n3 1740 8860 15764 \n3 8860 4053 20389 \n3 15764 20389 393 \n3 394 15766 20390 \n3 15766 1741 8864 \n3 20390 8864 4055 \n3 1741 15765 8862 \n3 15765 393 20391 \n3 8862 20391 4054 \n3 4055 8863 20393 \n3 8863 4054 20392 \n3 20393 20392 106 \n3 107 20394 20395 \n3 20394 4056 8867 \n3 20395 8867 4057 \n3 4056 20396 8865 \n3 20396 395 15769 \n3 8865 15769 1745 \n3 4057 8866 20397 \n3 8866 1745 15773 \n3 20397 15773 397 \n3 395 20398 15768 \n3 20398 4058 8870 \n3 15768 8870 1743 \n3 4058 20399 8868 \n3 20399 108 20400 \n3 8868 20400 4059 \n3 1743 8869 15770 \n3 8869 4059 20401 \n3 15770 20401 396 \n3 397 15772 20402 \n3 15772 1744 8873 \n3 20402 8873 4061 \n3 1744 15771 8871 \n3 15771 396 20403 \n3 8871 20403 4060 \n3 4061 8872 20405 \n3 8872 4060 20404 \n3 20405 20404 109 \n3 110 20406 20407 \n3 20406 4062 8876 \n3 20407 8876 4063 \n3 4062 20408 8874 \n3 20408 398 15775 \n3 8874 15775 1748 \n3 4063 8875 20409 \n3 8875 1748 15779 \n3 20409 15779 400 \n3 398 20410 15774 \n3 20410 4064 8879 \n3 15774 8879 1746 \n3 4064 20411 8877 \n3 20411 111 20412 \n3 8877 20412 4065 \n3 1746 8878 15776 \n3 8878 4065 20413 \n3 15776 20413 399 \n3 400 15778 20414 \n3 15778 1747 8882 \n3 20414 8882 4067 \n3 1747 15777 8880 \n3 15777 399 20415 \n3 8880 20415 4066 \n3 4067 8881 20417 \n3 8881 4066 20416 \n3 20417 20416 112 \n3 113 20418 20419 \n3 20418 4068 8885 \n3 20419 8885 4069 \n3 4068 20420 8883 \n3 20420 401 15781 \n3 8883 15781 1751 \n3 4069 8884 20421 \n3 8884 1751 15785 \n3 20421 15785 403 \n3 401 20422 15780 \n3 20422 4070 8888 \n3 15780 8888 1749 \n3 4070 20423 8886 \n3 20423 114 20424 \n3 8886 20424 4071 \n3 1749 8887 15782 \n3 8887 4071 20425 \n3 15782 20425 402 \n3 403 15784 20426 \n3 15784 1750 8891 \n3 20426 8891 4073 \n3 1750 15783 8889 \n3 15783 402 20427 \n3 8889 20427 4072 \n3 4073 8890 20429 \n3 8890 4072 20428 \n3 20429 20428 115 \n3 116 20430 20431 \n3 20430 4074 8894 \n3 20431 8894 4075 \n3 4074 20432 8892 \n3 20432 404 15787 \n3 8892 15787 1754 \n3 4075 8893 20433 \n3 8893 1754 15791 \n3 20433 15791 406 \n3 404 20434 15786 \n3 20434 4076 8897 \n3 15786 8897 1752 \n3 4076 20435 8895 \n3 20435 117 20436 \n3 8895 20436 4077 \n3 1752 8896 15788 \n3 8896 4077 20437 \n3 15788 20437 405 \n3 406 15790 20438 \n3 15790 1753 8900 \n3 20438 8900 4079 \n3 1753 15789 8898 \n3 15789 405 20439 \n3 8898 20439 4078 \n3 4079 8899 20441 \n3 8899 4078 20440 \n3 20441 20440 118 \n3 119 20442 20443 \n3 20442 4080 8903 \n3 20443 8903 4081 \n3 4080 20444 8901 \n3 20444 407 15793 \n3 8901 15793 1757 \n3 4081 8902 20445 \n3 8902 1757 15797 \n3 20445 15797 409 \n3 407 20446 15792 \n3 20446 4082 8906 \n3 15792 8906 1755 \n3 4082 20447 8904 \n3 20447 120 20448 \n3 8904 20448 4083 \n3 1755 8905 15794 \n3 8905 4083 20449 \n3 15794 20449 408 \n3 409 15796 20450 \n3 15796 1756 8909 \n3 20450 8909 4085 \n3 1756 15795 8907 \n3 15795 408 20451 \n3 8907 20451 4084 \n3 4085 8908 20453 \n3 8908 4084 20452 \n3 20453 20452 121 \n3 122 20454 20455 \n3 20454 4086 8912 \n3 20455 8912 4087 \n3 4086 20456 8910 \n3 20456 410 15799 \n3 8910 15799 1760 \n3 4087 8911 20457 \n3 8911 1760 15803 \n3 20457 15803 412 \n3 410 20458 15798 \n3 20458 4088 8915 \n3 15798 8915 1758 \n3 4088 20459 8913 \n3 20459 123 20460 \n3 8913 20460 4089 \n3 1758 8914 15800 \n3 8914 4089 20461 \n3 15800 20461 411 \n3 412 15802 20462 \n3 15802 1759 8918 \n3 20462 8918 4091 \n3 1759 15801 8916 \n3 15801 411 20463 \n3 8916 20463 4090 \n3 4091 8917 20465 \n3 8917 4090 20464 \n3 20465 20464 124 \n3 125 20466 20467 \n3 20466 4092 8921 \n3 20467 8921 4093 \n3 4092 20468 8919 \n3 20468 413 15805 \n3 8919 15805 1763 \n3 4093 8920 20469 \n3 8920 1763 15809 \n3 20469 15809 415 \n3 413 20470 15804 \n3 20470 4094 8924 \n3 15804 8924 1761 \n3 4094 20471 8922 \n3 20471 126 20472 \n3 8922 20472 4095 \n3 1761 8923 15806 \n3 8923 4095 20473 \n3 15806 20473 414 \n3 415 15808 20474 \n3 15808 1762 8927 \n3 20474 8927 4097 \n3 1762 15807 8925 \n3 15807 414 20475 \n3 8925 20475 4096 \n3 4097 8926 20477 \n3 8926 4096 20476 \n3 20477 20476 127 \n3 128 20478 20479 \n3 20478 4098 8930 \n3 20479 8930 4099 \n3 4098 20480 8928 \n3 20480 416 15811 \n3 8928 15811 1766 \n3 4099 8929 20481 \n3 8929 1766 15815 \n3 20481 15815 418 \n3 416 20482 15810 \n3 20482 4100 8933 \n3 15810 8933 1764 \n3 4100 20483 8931 \n3 20483 129 20484 \n3 8931 20484 4101 \n3 1764 8932 15812 \n3 8932 4101 20485 \n3 15812 20485 417 \n3 418 15814 20486 \n3 15814 1765 8936 \n3 20486 8936 4103 \n3 1765 15813 8934 \n3 15813 417 20487 \n3 8934 20487 4102 \n3 4103 8935 20489 \n3 8935 4102 20488 \n3 20489 20488 130 \n3 131 20490 20491 \n3 20490 4104 8939 \n3 20491 8939 4105 \n3 4104 20492 8937 \n3 20492 419 15817 \n3 8937 15817 1769 \n3 4105 8938 20493 \n3 8938 1769 15821 \n3 20493 15821 421 \n3 419 20494 15816 \n3 20494 4106 8942 \n3 15816 8942 1767 \n3 4106 20495 8940 \n3 20495 132 20496 \n3 8940 20496 4107 \n3 1767 8941 15818 \n3 8941 4107 20497 \n3 15818 20497 420 \n3 421 15820 20498 \n3 15820 1768 8945 \n3 20498 8945 4109 \n3 1768 15819 8943 \n3 15819 420 20499 \n3 8943 20499 4108 \n3 4109 8944 20501 \n3 8944 4108 20500 \n3 20501 20500 133 \n3 134 20502 20503 \n3 20502 4110 8948 \n3 20503 8948 4111 \n3 4110 20504 8946 \n3 20504 422 15823 \n3 8946 15823 1772 \n3 4111 8947 20505 \n3 8947 1772 15827 \n3 20505 15827 424 \n3 422 20506 15822 \n3 20506 4112 8951 \n3 15822 8951 1770 \n3 4112 20507 8949 \n3 20507 135 20508 \n3 8949 20508 4113 \n3 1770 8950 15824 \n3 8950 4113 20509 \n3 15824 20509 423 \n3 424 15826 20510 \n3 15826 1771 8954 \n3 20510 8954 4115 \n3 1771 15825 8952 \n3 15825 423 20511 \n3 8952 20511 4114 \n3 4115 8953 20513 \n3 8953 4114 20512 \n3 20513 20512 136 \n3 137 20514 20515 \n3 20514 4116 8957 \n3 20515 8957 4117 \n3 4116 20516 8955 \n3 20516 425 15829 \n3 8955 15829 1775 \n3 4117 8956 20517 \n3 8956 1775 15833 \n3 20517 15833 427 \n3 425 20518 15828 \n3 20518 4118 8960 \n3 15828 8960 1773 \n3 4118 20519 8958 \n3 20519 138 20520 \n3 8958 20520 4119 \n3 1773 8959 15830 \n3 8959 4119 20521 \n3 15830 20521 426 \n3 427 15832 20522 \n3 15832 1774 8963 \n3 20522 8963 4121 \n3 1774 15831 8961 \n3 15831 426 20523 \n3 8961 20523 4120 \n3 4121 8962 20525 \n3 8962 4120 20524 \n3 20525 20524 139 \n3 140 20526 20527 \n3 20526 4122 8966 \n3 20527 8966 4123 \n3 4122 20528 8964 \n3 20528 428 15835 \n3 8964 15835 1778 \n3 4123 8965 20529 \n3 8965 1778 15839 \n3 20529 15839 430 \n3 428 20530 15834 \n3 20530 4124 8969 \n3 15834 8969 1776 \n3 4124 20531 8967 \n3 20531 141 20532 \n3 8967 20532 4125 \n3 1776 8968 15836 \n3 8968 4125 20533 \n3 15836 20533 429 \n3 430 15838 20534 \n3 15838 1777 8972 \n3 20534 8972 4127 \n3 1777 15837 8970 \n3 15837 429 20535 \n3 8970 20535 4126 \n3 4127 8971 20537 \n3 8971 4126 20536 \n3 20537 20536 142 \n3 143 20538 20539 \n3 20538 4128 8975 \n3 20539 8975 4129 \n3 4128 20540 8973 \n3 20540 431 15841 \n3 8973 15841 1781 \n3 4129 8974 20541 \n3 8974 1781 15845 \n3 20541 15845 433 \n3 431 20542 15840 \n3 20542 4130 8978 \n3 15840 8978 1779 \n3 4130 20543 8976 \n3 20543 144 20544 \n3 8976 20544 4131 \n3 1779 8977 15842 \n3 8977 4131 20545 \n3 15842 20545 432 \n3 433 15844 20546 \n3 15844 1780 8981 \n3 20546 8981 4133 \n3 1780 15843 8979 \n3 15843 432 20547 \n3 8979 20547 4132 \n3 4133 8980 20549 \n3 8980 4132 20548 \n3 20549 20548 145 \n3 146 20550 20551 \n3 20550 4134 8984 \n3 20551 8984 4135 \n3 4134 20552 8982 \n3 20552 434 15847 \n3 8982 15847 1784 \n3 4135 8983 20553 \n3 8983 1784 15851 \n3 20553 15851 436 \n3 434 20554 15846 \n3 20554 4136 8987 \n3 15846 8987 1782 \n3 4136 20555 8985 \n3 20555 147 20556 \n3 8985 20556 4137 \n3 1782 8986 15848 \n3 8986 4137 20557 \n3 15848 20557 435 \n3 436 15850 20558 \n3 15850 1783 8990 \n3 20558 8990 4139 \n3 1783 15849 8988 \n3 15849 435 20559 \n3 8988 20559 4138 \n3 4139 8989 20561 \n3 8989 4138 20560 \n3 20561 20560 148 \n3 149 20562 20563 \n3 20562 4140 8993 \n3 20563 8993 4141 \n3 4140 20564 8991 \n3 20564 437 15853 \n3 8991 15853 1787 \n3 4141 8992 20565 \n3 8992 1787 15857 \n3 20565 15857 439 \n3 437 20566 15852 \n3 20566 4142 8996 \n3 15852 8996 1785 \n3 4142 20567 8994 \n3 20567 150 20568 \n3 8994 20568 4143 \n3 1785 8995 15854 \n3 8995 4143 20569 \n3 15854 20569 438 \n3 439 15856 20570 \n3 15856 1786 8999 \n3 20570 8999 4145 \n3 1786 15855 8997 \n3 15855 438 20571 \n3 8997 20571 4144 \n3 4145 8998 20573 \n3 8998 4144 20572 \n3 20573 20572 151 \n3 152 20574 20575 \n3 20574 4146 9002 \n3 20575 9002 4147 \n3 4146 20576 9000 \n3 20576 440 15859 \n3 9000 15859 1790 \n3 4147 9001 20577 \n3 9001 1790 15863 \n3 20577 15863 442 \n3 440 20578 15858 \n3 20578 4148 9005 \n3 15858 9005 1788 \n3 4148 20579 9003 \n3 20579 153 20580 \n3 9003 20580 4149 \n3 1788 9004 15860 \n3 9004 4149 20581 \n3 15860 20581 441 \n3 442 15862 20582 \n3 15862 1789 9008 \n3 20582 9008 4151 \n3 1789 15861 9006 \n3 15861 441 20583 \n3 9006 20583 4150 \n3 4151 9007 20585 \n3 9007 4150 20584 \n3 20585 20584 154 \n3 155 20586 20587 \n3 20586 4152 9011 \n3 20587 9011 4153 \n3 4152 20588 9009 \n3 20588 443 15865 \n3 9009 15865 1793 \n3 4153 9010 20589 \n3 9010 1793 15869 \n3 20589 15869 445 \n3 443 20590 15864 \n3 20590 4154 9014 \n3 15864 9014 1791 \n3 4154 20591 9012 \n3 20591 156 20592 \n3 9012 20592 4155 \n3 1791 9013 15866 \n3 9013 4155 20593 \n3 15866 20593 444 \n3 445 15868 20594 \n3 15868 1792 9017 \n3 20594 9017 4157 \n3 1792 15867 9015 \n3 15867 444 20595 \n3 9015 20595 4156 \n3 4157 9016 20597 \n3 9016 4156 20596 \n3 20597 20596 157 \n3 158 20598 20599 \n3 20598 4158 9020 \n3 20599 9020 4159 \n3 4158 20600 9018 \n3 20600 446 15871 \n3 9018 15871 1796 \n3 4159 9019 20601 \n3 9019 1796 15875 \n3 20601 15875 448 \n3 446 20602 15870 \n3 20602 4160 9023 \n3 15870 9023 1794 \n3 4160 20603 9021 \n3 20603 159 20604 \n3 9021 20604 4161 \n3 1794 9022 15872 \n3 9022 4161 20605 \n3 15872 20605 447 \n3 448 15874 20606 \n3 15874 1795 9026 \n3 20606 9026 4163 \n3 1795 15873 9024 \n3 15873 447 20607 \n3 9024 20607 4162 \n3 4163 9025 20609 \n3 9025 4162 20608 \n3 20609 20608 160 \n3 161 20610 20611 \n3 20610 4164 9029 \n3 20611 9029 4165 \n3 4164 20612 9027 \n3 20612 449 15877 \n3 9027 15877 1799 \n3 4165 9028 20613 \n3 9028 1799 15881 \n3 20613 15881 451 \n3 449 20614 15876 \n3 20614 4166 9032 \n3 15876 9032 1797 \n3 4166 20615 9030 \n3 20615 162 20616 \n3 9030 20616 4167 \n3 1797 9031 15878 \n3 9031 4167 20617 \n3 15878 20617 450 \n3 451 15880 20618 \n3 15880 1798 9035 \n3 20618 9035 4169 \n3 1798 15879 9033 \n3 15879 450 20619 \n3 9033 20619 4168 \n3 4169 9034 20621 \n3 9034 4168 20620 \n3 20621 20620 163 \n3 164 20622 20623 \n3 20622 4170 9038 \n3 20623 9038 4171 \n3 4170 20624 9036 \n3 20624 452 15883 \n3 9036 15883 1802 \n3 4171 9037 20625 \n3 9037 1802 15887 \n3 20625 15887 454 \n3 452 20626 15882 \n3 20626 4172 9041 \n3 15882 9041 1800 \n3 4172 20627 9039 \n3 20627 165 20628 \n3 9039 20628 4173 \n3 1800 9040 15884 \n3 9040 4173 20629 \n3 15884 20629 453 \n3 454 15886 20630 \n3 15886 1801 9044 \n3 20630 9044 4175 \n3 1801 15885 9042 \n3 15885 453 20631 \n3 9042 20631 4174 \n3 4175 9043 20633 \n3 9043 4174 20632 \n3 20633 20632 166 \n3 167 20634 20635 \n3 20634 4176 9047 \n3 20635 9047 4177 \n3 4176 20636 9045 \n3 20636 455 15889 \n3 9045 15889 1805 \n3 4177 9046 20637 \n3 9046 1805 15893 \n3 20637 15893 457 \n3 455 20638 15888 \n3 20638 4178 9050 \n3 15888 9050 1803 \n3 4178 20639 9048 \n3 20639 168 20640 \n3 9048 20640 4179 \n3 1803 9049 15890 \n3 9049 4179 20641 \n3 15890 20641 456 \n3 457 15892 20642 \n3 15892 1804 9053 \n3 20642 9053 4181 \n3 1804 15891 9051 \n3 15891 456 20643 \n3 9051 20643 4180 \n3 4181 9052 20645 \n3 9052 4180 20644 \n3 20645 20644 169 \n3 170 20646 20647 \n3 20646 4182 9056 \n3 20647 9056 4183 \n3 4182 20648 9054 \n3 20648 458 15895 \n3 9054 15895 1808 \n3 4183 9055 20649 \n3 9055 1808 15899 \n3 20649 15899 460 \n3 458 20650 15894 \n3 20650 4184 9059 \n3 15894 9059 1806 \n3 4184 20651 9057 \n3 20651 171 20652 \n3 9057 20652 4185 \n3 1806 9058 15896 \n3 9058 4185 20653 \n3 15896 20653 459 \n3 460 15898 20654 \n3 15898 1807 9062 \n3 20654 9062 4187 \n3 1807 15897 9060 \n3 15897 459 20655 \n3 9060 20655 4186 \n3 4187 9061 20657 \n3 9061 4186 20656 \n3 20657 20656 172 \n3 173 20658 20659 \n3 20658 4188 9065 \n3 20659 9065 4189 \n3 4188 20660 9063 \n3 20660 461 15901 \n3 9063 15901 1811 \n3 4189 9064 20661 \n3 9064 1811 15905 \n3 20661 15905 463 \n3 461 20662 15900 \n3 20662 4190 9068 \n3 15900 9068 1809 \n3 4190 20663 9066 \n3 20663 174 20664 \n3 9066 20664 4191 \n3 1809 9067 15902 \n3 9067 4191 20665 \n3 15902 20665 462 \n3 463 15904 20666 \n3 15904 1810 9071 \n3 20666 9071 4193 \n3 1810 15903 9069 \n3 15903 462 20667 \n3 9069 20667 4192 \n3 4193 9070 20669 \n3 9070 4192 20668 \n3 20669 20668 175 \n3 176 20670 20671 \n3 20670 4194 9074 \n3 20671 9074 4195 \n3 4194 20672 9072 \n3 20672 464 15907 \n3 9072 15907 1814 \n3 4195 9073 20673 \n3 9073 1814 15911 \n3 20673 15911 466 \n3 464 20674 15906 \n3 20674 4196 9077 \n3 15906 9077 1812 \n3 4196 20675 9075 \n3 20675 177 20676 \n3 9075 20676 4197 \n3 1812 9076 15908 \n3 9076 4197 20677 \n3 15908 20677 465 \n3 466 15910 20678 \n3 15910 1813 9080 \n3 20678 9080 4199 \n3 1813 15909 9078 \n3 15909 465 20679 \n3 9078 20679 4198 \n3 4199 9079 20681 \n3 9079 4198 20680 \n3 20681 20680 178 \n3 179 20682 20683 \n3 20682 4200 9083 \n3 20683 9083 4201 \n3 4200 20684 9081 \n3 20684 467 15913 \n3 9081 15913 1817 \n3 4201 9082 20685 \n3 9082 1817 15917 \n3 20685 15917 469 \n3 467 20686 15912 \n3 20686 4202 9086 \n3 15912 9086 1815 \n3 4202 20687 9084 \n3 20687 180 20688 \n3 9084 20688 4203 \n3 1815 9085 15914 \n3 9085 4203 20689 \n3 15914 20689 468 \n3 469 15916 20690 \n3 15916 1816 9089 \n3 20690 9089 4205 \n3 1816 15915 9087 \n3 15915 468 20691 \n3 9087 20691 4204 \n3 4205 9088 20693 \n3 9088 4204 20692 \n3 20693 20692 181 \n3 182 20694 20695 \n3 20694 4206 9092 \n3 20695 9092 4207 \n3 4206 20696 9090 \n3 20696 470 15919 \n3 9090 15919 1820 \n3 4207 9091 20697 \n3 9091 1820 15923 \n3 20697 15923 472 \n3 470 20698 15918 \n3 20698 4208 9095 \n3 15918 9095 1818 \n3 4208 20699 9093 \n3 20699 183 20700 \n3 9093 20700 4209 \n3 1818 9094 15920 \n3 9094 4209 20701 \n3 15920 20701 471 \n3 472 15922 20702 \n3 15922 1819 9098 \n3 20702 9098 4211 \n3 1819 15921 9096 \n3 15921 471 20703 \n3 9096 20703 4210 \n3 4211 9097 20705 \n3 9097 4210 20704 \n3 20705 20704 184 \n3 185 20706 20707 \n3 20706 4212 9101 \n3 20707 9101 4213 \n3 4212 20708 9099 \n3 20708 473 15925 \n3 9099 15925 1823 \n3 4213 9100 20709 \n3 9100 1823 15929 \n3 20709 15929 475 \n3 473 20710 15924 \n3 20710 4214 9104 \n3 15924 9104 1821 \n3 4214 20711 9102 \n3 20711 186 20712 \n3 9102 20712 4215 \n3 1821 9103 15926 \n3 9103 4215 20713 \n3 15926 20713 474 \n3 475 15928 20714 \n3 15928 1822 9107 \n3 20714 9107 4217 \n3 1822 15927 9105 \n3 15927 474 20715 \n3 9105 20715 4216 \n3 4217 9106 20717 \n3 9106 4216 20716 \n3 20717 20716 187 \n3 188 20718 20719 \n3 20718 4218 9110 \n3 20719 9110 4219 \n3 4218 20720 9108 \n3 20720 476 15931 \n3 9108 15931 1826 \n3 4219 9109 20721 \n3 9109 1826 15935 \n3 20721 15935 478 \n3 476 20722 15930 \n3 20722 4220 9113 \n3 15930 9113 1824 \n3 4220 20723 9111 \n3 20723 189 20724 \n3 9111 20724 4221 \n3 1824 9112 15932 \n3 9112 4221 20725 \n3 15932 20725 477 \n3 478 15934 20726 \n3 15934 1825 9116 \n3 20726 9116 4223 \n3 1825 15933 9114 \n3 15933 477 20727 \n3 9114 20727 4222 \n3 4223 9115 20729 \n3 9115 4222 20728 \n3 20729 20728 190 \n3 191 20730 20731 \n3 20730 4224 9119 \n3 20731 9119 4225 \n3 4224 20732 9117 \n3 20732 479 15937 \n3 9117 15937 1829 \n3 4225 9118 20733 \n3 9118 1829 15941 \n3 20733 15941 481 \n3 479 20734 15936 \n3 20734 4226 9122 \n3 15936 9122 1827 \n3 4226 20735 9120 \n3 20735 192 20736 \n3 9120 20736 4227 \n3 1827 9121 15938 \n3 9121 4227 20737 \n3 15938 20737 480 \n3 481 15940 20738 \n3 15940 1828 9125 \n3 20738 9125 4229 \n3 1828 15939 9123 \n3 15939 480 20739 \n3 9123 20739 4228 \n3 4229 9124 20741 \n3 9124 4228 20740 \n3 20741 20740 193 \n3 194 20742 20743 \n3 20742 4230 9128 \n3 20743 9128 4231 \n3 4230 20744 9126 \n3 20744 482 15943 \n3 9126 15943 1832 \n3 4231 9127 20745 \n3 9127 1832 15947 \n3 20745 15947 484 \n3 482 20746 15942 \n3 20746 4232 9131 \n3 15942 9131 1830 \n3 4232 20747 9129 \n3 20747 195 20748 \n3 9129 20748 4233 \n3 1830 9130 15944 \n3 9130 4233 20749 \n3 15944 20749 483 \n3 484 15946 20750 \n3 15946 1831 9134 \n3 20750 9134 4235 \n3 1831 15945 9132 \n3 15945 483 20751 \n3 9132 20751 4234 \n3 4235 9133 20753 \n3 9133 4234 20752 \n3 20753 20752 196 \n3 197 20754 20755 \n3 20754 4236 9137 \n3 20755 9137 4237 \n3 4236 20756 9135 \n3 20756 485 15949 \n3 9135 15949 1835 \n3 4237 9136 20757 \n3 9136 1835 15953 \n3 20757 15953 487 \n3 485 20758 15948 \n3 20758 4238 9140 \n3 15948 9140 1833 \n3 4238 20759 9138 \n3 20759 198 20760 \n3 9138 20760 4239 \n3 1833 9139 15950 \n3 9139 4239 20761 \n3 15950 20761 486 \n3 487 15952 20762 \n3 15952 1834 9143 \n3 20762 9143 4241 \n3 1834 15951 9141 \n3 15951 486 20763 \n3 9141 20763 4240 \n3 4241 9142 20765 \n3 9142 4240 20764 \n3 20765 20764 199 \n3 200 20766 20767 \n3 20766 4242 9146 \n3 20767 9146 4243 \n3 4242 20768 9144 \n3 20768 488 15955 \n3 9144 15955 1838 \n3 4243 9145 20769 \n3 9145 1838 15959 \n3 20769 15959 490 \n3 488 20770 15954 \n3 20770 4244 9149 \n3 15954 9149 1836 \n3 4244 20771 9147 \n3 20771 201 20772 \n3 9147 20772 4245 \n3 1836 9148 15956 \n3 9148 4245 20773 \n3 15956 20773 489 \n3 490 15958 20774 \n3 15958 1837 9152 \n3 20774 9152 4247 \n3 1837 15957 9150 \n3 15957 489 20775 \n3 9150 20775 4246 \n3 4247 9151 20777 \n3 9151 4246 20776 \n3 20777 20776 202 \n3 203 20778 20779 \n3 20778 4248 9155 \n3 20779 9155 4249 \n3 4248 20780 9153 \n3 20780 491 15961 \n3 9153 15961 1841 \n3 4249 9154 20781 \n3 9154 1841 15965 \n3 20781 15965 493 \n3 491 20782 15960 \n3 20782 4250 9158 \n3 15960 9158 1839 \n3 4250 20783 9156 \n3 20783 204 20784 \n3 9156 20784 4251 \n3 1839 9157 15962 \n3 9157 4251 20785 \n3 15962 20785 492 \n3 493 15964 20786 \n3 15964 1840 9161 \n3 20786 9161 4253 \n3 1840 15963 9159 \n3 15963 492 20787 \n3 9159 20787 4252 \n3 4253 9160 20789 \n3 9160 4252 20788 \n3 20789 20788 205 \n3 206 20790 20791 \n3 20790 4254 9164 \n3 20791 9164 4255 \n3 4254 20792 9162 \n3 20792 494 15967 \n3 9162 15967 1844 \n3 4255 9163 20793 \n3 9163 1844 15971 \n3 20793 15971 496 \n3 494 20794 15966 \n3 20794 4256 9167 \n3 15966 9167 1842 \n3 4256 20795 9165 \n3 20795 207 20796 \n3 9165 20796 4257 \n3 1842 9166 15968 \n3 9166 4257 20797 \n3 15968 20797 495 \n3 496 15970 20798 \n3 15970 1843 9170 \n3 20798 9170 4259 \n3 1843 15969 9168 \n3 15969 495 20799 \n3 9168 20799 4258 \n3 4259 9169 20801 \n3 9169 4258 20800 \n3 20801 20800 208 \n3 209 20802 20803 \n3 20802 4260 9173 \n3 20803 9173 4261 \n3 4260 20804 9171 \n3 20804 497 15973 \n3 9171 15973 1847 \n3 4261 9172 20805 \n3 9172 1847 15977 \n3 20805 15977 499 \n3 497 20806 15972 \n3 20806 4262 9176 \n3 15972 9176 1845 \n3 4262 20807 9174 \n3 20807 210 20808 \n3 9174 20808 4263 \n3 1845 9175 15974 \n3 9175 4263 20809 \n3 15974 20809 498 \n3 499 15976 20810 \n3 15976 1846 9179 \n3 20810 9179 4265 \n3 1846 15975 9177 \n3 15975 498 20811 \n3 9177 20811 4264 \n3 4265 9178 20813 \n3 9178 4264 20812 \n3 20813 20812 211 \n3 212 20814 20815 \n3 20814 4266 9182 \n3 20815 9182 4267 \n3 4266 20816 9180 \n3 20816 500 15979 \n3 9180 15979 1850 \n3 4267 9181 20817 \n3 9181 1850 15983 \n3 20817 15983 502 \n3 500 20818 15978 \n3 20818 4268 9185 \n3 15978 9185 1848 \n3 4268 20819 9183 \n3 20819 213 20820 \n3 9183 20820 4269 \n3 1848 9184 15980 \n3 9184 4269 20821 \n3 15980 20821 501 \n3 502 15982 20822 \n3 15982 1849 9188 \n3 20822 9188 4271 \n3 1849 15981 9186 \n3 15981 501 20823 \n3 9186 20823 4270 \n3 4271 9187 20825 \n3 9187 4270 20824 \n3 20825 20824 214 \n3 215 20826 20827 \n3 20826 4272 9191 \n3 20827 9191 4273 \n3 4272 20828 9189 \n3 20828 503 15985 \n3 9189 15985 1853 \n3 4273 9190 20829 \n3 9190 1853 15989 \n3 20829 15989 505 \n3 503 20830 15984 \n3 20830 4274 9194 \n3 15984 9194 1851 \n3 4274 20831 9192 \n3 20831 216 20832 \n3 9192 20832 4275 \n3 1851 9193 15986 \n3 9193 4275 20833 \n3 15986 20833 504 \n3 505 15988 20834 \n3 15988 1852 9197 \n3 20834 9197 4277 \n3 1852 15987 9195 \n3 15987 504 20835 \n3 9195 20835 4276 \n3 4277 9196 20837 \n3 9196 4276 20836 \n3 20837 20836 217 \n3 218 20838 20839 \n3 20838 4278 9200 \n3 20839 9200 4279 \n3 4278 20840 9198 \n3 20840 506 15991 \n3 9198 15991 1856 \n3 4279 9199 20841 \n3 9199 1856 15995 \n3 20841 15995 508 \n3 506 20842 15990 \n3 20842 4280 9203 \n3 15990 9203 1854 \n3 4280 20843 9201 \n3 20843 219 20844 \n3 9201 20844 4281 \n3 1854 9202 15992 \n3 9202 4281 20845 \n3 15992 20845 507 \n3 508 15994 20846 \n3 15994 1855 9206 \n3 20846 9206 4283 \n3 1855 15993 9204 \n3 15993 507 20847 \n3 9204 20847 4282 \n3 4283 9205 20849 \n3 9205 4282 20848 \n3 20849 20848 220 \n3 221 20850 20851 \n3 20850 4284 9209 \n3 20851 9209 4285 \n3 4284 20852 9207 \n3 20852 509 15997 \n3 9207 15997 1859 \n3 4285 9208 20853 \n3 9208 1859 16001 \n3 20853 16001 511 \n3 509 20854 15996 \n3 20854 4286 9212 \n3 15996 9212 1857 \n3 4286 20855 9210 \n3 20855 222 20856 \n3 9210 20856 4287 \n3 1857 9211 15998 \n3 9211 4287 20857 \n3 15998 20857 510 \n3 511 16000 20858 \n3 16000 1858 9215 \n3 20858 9215 4289 \n3 1858 15999 9213 \n3 15999 510 20859 \n3 9213 20859 4288 \n3 4289 9214 20861 \n3 9214 4288 20860 \n3 20861 20860 223 \n3 224 20862 20863 \n3 20862 4290 9218 \n3 20863 9218 4291 \n3 4290 20864 9216 \n3 20864 512 16003 \n3 9216 16003 1862 \n3 4291 9217 20865 \n3 9217 1862 16007 \n3 20865 16007 514 \n3 512 20866 16002 \n3 20866 4292 9221 \n3 16002 9221 1860 \n3 4292 20867 9219 \n3 20867 225 20868 \n3 9219 20868 4293 \n3 1860 9220 16004 \n3 9220 4293 20869 \n3 16004 20869 513 \n3 514 16006 20870 \n3 16006 1861 9224 \n3 20870 9224 4295 \n3 1861 16005 9222 \n3 16005 513 20871 \n3 9222 20871 4294 \n3 4295 9223 20873 \n3 9223 4294 20872 \n3 20873 20872 226 \n3 227 20874 20875 \n3 20874 4296 9227 \n3 20875 9227 4297 \n3 4296 20876 9225 \n3 20876 515 16009 \n3 9225 16009 1865 \n3 4297 9226 20877 \n3 9226 1865 16013 \n3 20877 16013 517 \n3 515 20878 16008 \n3 20878 4298 9230 \n3 16008 9230 1863 \n3 4298 20879 9228 \n3 20879 228 20880 \n3 9228 20880 4299 \n3 1863 9229 16010 \n3 9229 4299 20881 \n3 16010 20881 516 \n3 517 16012 20882 \n3 16012 1864 9233 \n3 20882 9233 4301 \n3 1864 16011 9231 \n3 16011 516 20883 \n3 9231 20883 4300 \n3 4301 9232 20885 \n3 9232 4300 20884 \n3 20885 20884 229 \n3 230 20886 20887 \n3 20886 4302 9236 \n3 20887 9236 4303 \n3 4302 20888 9234 \n3 20888 518 16015 \n3 9234 16015 1868 \n3 4303 9235 20889 \n3 9235 1868 16019 \n3 20889 16019 520 \n3 518 20890 16014 \n3 20890 4304 9239 \n3 16014 9239 1866 \n3 4304 20891 9237 \n3 20891 231 20892 \n3 9237 20892 4305 \n3 1866 9238 16016 \n3 9238 4305 20893 \n3 16016 20893 519 \n3 520 16018 20894 \n3 16018 1867 9242 \n3 20894 9242 4307 \n3 1867 16017 9240 \n3 16017 519 20895 \n3 9240 20895 4306 \n3 4307 9241 20897 \n3 9241 4306 20896 \n3 20897 20896 232 \n3 233 20898 20899 \n3 20898 4308 9245 \n3 20899 9245 4309 \n3 4308 20900 9243 \n3 20900 521 16021 \n3 9243 16021 1871 \n3 4309 9244 20901 \n3 9244 1871 16025 \n3 20901 16025 523 \n3 521 20902 16020 \n3 20902 4310 9248 \n3 16020 9248 1869 \n3 4310 20903 9246 \n3 20903 234 20904 \n3 9246 20904 4311 \n3 1869 9247 16022 \n3 9247 4311 20905 \n3 16022 20905 522 \n3 523 16024 20906 \n3 16024 1870 9251 \n3 20906 9251 4313 \n3 1870 16023 9249 \n3 16023 522 20907 \n3 9249 20907 4312 \n3 4313 9250 20909 \n3 9250 4312 20908 \n3 20909 20908 235 \n3 236 20910 20911 \n3 20910 4314 9254 \n3 20911 9254 4315 \n3 4314 20912 9252 \n3 20912 524 16027 \n3 9252 16027 1874 \n3 4315 9253 20913 \n3 9253 1874 16031 \n3 20913 16031 526 \n3 524 20914 16026 \n3 20914 4316 9257 \n3 16026 9257 1872 \n3 4316 20915 9255 \n3 20915 237 20916 \n3 9255 20916 4317 \n3 1872 9256 16028 \n3 9256 4317 20917 \n3 16028 20917 525 \n3 526 16030 20918 \n3 16030 1873 9260 \n3 20918 9260 4319 \n3 1873 16029 9258 \n3 16029 525 20919 \n3 9258 20919 4318 \n3 4319 9259 20921 \n3 9259 4318 20920 \n3 20921 20920 238 \n3 239 20922 20923 \n3 20922 4320 9263 \n3 20923 9263 4321 \n3 4320 20924 9261 \n3 20924 527 16033 \n3 9261 16033 1877 \n3 4321 9262 20925 \n3 9262 1877 16037 \n3 20925 16037 529 \n3 527 20926 16032 \n3 20926 4322 9266 \n3 16032 9266 1875 \n3 4322 20927 9264 \n3 20927 240 20928 \n3 9264 20928 4323 \n3 1875 9265 16034 \n3 9265 4323 20929 \n3 16034 20929 528 \n3 529 16036 20930 \n3 16036 1876 9269 \n3 20930 9269 4325 \n3 1876 16035 9267 \n3 16035 528 20931 \n3 9267 20931 4324 \n3 4325 9268 20933 \n3 9268 4324 20932 \n3 20933 20932 241 \n3 242 20934 20935 \n3 20934 4326 9272 \n3 20935 9272 4327 \n3 4326 20936 9270 \n3 20936 530 16039 \n3 9270 16039 1880 \n3 4327 9271 20937 \n3 9271 1880 16043 \n3 20937 16043 532 \n3 530 20938 16038 \n3 20938 4328 9275 \n3 16038 9275 1878 \n3 4328 20939 9273 \n3 20939 100 20940 \n3 9273 20940 4329 \n3 1878 9274 16040 \n3 9274 4329 20941 \n3 16040 20941 531 \n3 532 16042 20942 \n3 16042 1879 9278 \n3 20942 9278 4331 \n3 1879 16041 9276 \n3 16041 531 20943 \n3 9276 20943 4330 \n3 4331 9277 20945 \n3 9277 4330 20944 \n3 20945 20944 243 \n3 244 20946 20947 \n3 20946 4332 9281 \n3 20947 9281 4333 \n3 4332 20948 9279 \n3 20948 533 16045 \n3 9279 16045 1883 \n3 4333 9280 20949 \n3 9280 1883 16049 \n3 20949 16049 535 \n3 533 20950 16044 \n3 20950 4334 9284 \n3 16044 9284 1881 \n3 4334 20951 9282 \n3 20951 245 20952 \n3 9282 20952 4335 \n3 1881 9283 16046 \n3 9283 4335 20953 \n3 16046 20953 534 \n3 535 16048 20954 \n3 16048 1882 9287 \n3 20954 9287 4337 \n3 1882 16047 9285 \n3 16047 534 20955 \n3 9285 20955 4336 \n3 4337 9286 20957 \n3 9286 4336 20956 \n3 20957 20956 98 \n3 99 20958 20959 \n3 20958 4338 9290 \n3 20959 9290 4339 \n3 4338 20960 9288 \n3 20960 536 16051 \n3 9288 16051 1886 \n3 4339 9289 20961 \n3 9289 1886 16055 \n3 20961 16055 538 \n3 536 20962 16050 \n3 20962 4340 9293 \n3 16050 9293 1884 \n3 4340 20963 9291 \n3 20963 246 20964 \n3 9291 20964 4341 \n3 1884 9292 16052 \n3 9292 4341 20965 \n3 16052 20965 537 \n3 538 16054 20966 \n3 16054 1885 9296 \n3 20966 9296 4343 \n3 1885 16053 9294 \n3 16053 537 20967 \n3 9294 20967 4342 \n3 4343 9295 20969 \n3 9295 4342 20968 \n3 20969 20968 247 \n3 248 20970 20971 \n3 20970 4344 9299 \n3 20971 9299 4345 \n3 4344 20972 9297 \n3 20972 539 16057 \n3 9297 16057 1889 \n3 4345 9298 20973 \n3 9298 1889 16061 \n3 20973 16061 541 \n3 539 20974 16056 \n3 20974 4346 9302 \n3 16056 9302 1887 \n3 4346 20975 9300 \n3 20975 103 20976 \n3 9300 20976 4347 \n3 1887 9301 16058 \n3 9301 4347 20977 \n3 16058 20977 540 \n3 541 16060 20978 \n3 16060 1888 9305 \n3 20978 9305 4349 \n3 1888 16059 9303 \n3 16059 540 20979 \n3 9303 20979 4348 \n3 4349 9304 20981 \n3 9304 4348 20980 \n3 20981 20980 249 \n3 250 20982 20983 \n3 20982 4350 9308 \n3 20983 9308 4351 \n3 4350 20984 9306 \n3 20984 542 16063 \n3 9306 16063 1892 \n3 4351 9307 20985 \n3 9307 1892 16067 \n3 20985 16067 544 \n3 542 20986 16062 \n3 20986 4352 9311 \n3 16062 9311 1890 \n3 4352 20987 9309 \n3 20987 251 20988 \n3 9309 20988 4353 \n3 1890 9310 16064 \n3 9310 4353 20989 \n3 16064 20989 543 \n3 544 16066 20990 \n3 16066 1891 9314 \n3 20990 9314 4355 \n3 1891 16065 9312 \n3 16065 543 20991 \n3 9312 20991 4354 \n3 4355 9313 20993 \n3 9313 4354 20992 \n3 20993 20992 101 \n3 102 20994 20995 \n3 20994 4356 9317 \n3 20995 9317 4357 \n3 4356 20996 9315 \n3 20996 545 16069 \n3 9315 16069 1895 \n3 4357 9316 20997 \n3 9316 1895 16073 \n3 20997 16073 547 \n3 545 20998 16068 \n3 20998 4358 9320 \n3 16068 9320 1893 \n3 4358 20999 9318 \n3 20999 252 21000 \n3 9318 21000 4359 \n3 1893 9319 16070 \n3 9319 4359 21001 \n3 16070 21001 546 \n3 547 16072 21002 \n3 16072 1894 9323 \n3 21002 9323 4361 \n3 1894 16071 9321 \n3 16071 546 21003 \n3 9321 21003 4360 \n3 4361 9322 21005 \n3 9322 4360 21004 \n3 21005 21004 253 \n3 254 21006 21007 \n3 21006 4362 9326 \n3 21007 9326 4363 \n3 4362 21008 9324 \n3 21008 548 16075 \n3 9324 16075 1898 \n3 4363 9325 21009 \n3 9325 1898 16079 \n3 21009 16079 550 \n3 548 21010 16074 \n3 21010 4364 9329 \n3 16074 9329 1896 \n3 4364 21011 9327 \n3 21011 106 21012 \n3 9327 21012 4365 \n3 1896 9328 16076 \n3 9328 4365 21013 \n3 16076 21013 549 \n3 550 16078 21014 \n3 16078 1897 9332 \n3 21014 9332 4367 \n3 1897 16077 9330 \n3 16077 549 21015 \n3 9330 21015 4366 \n3 4367 9331 21017 \n3 9331 4366 21016 \n3 21017 21016 255 \n3 256 21018 21019 \n3 21018 4368 9335 \n3 21019 9335 4369 \n3 4368 21020 9333 \n3 21020 551 16081 \n3 9333 16081 1901 \n3 4369 9334 21021 \n3 9334 1901 16085 \n3 21021 16085 553 \n3 551 21022 16080 \n3 21022 4370 9338 \n3 16080 9338 1899 \n3 4370 21023 9336 \n3 21023 257 21024 \n3 9336 21024 4371 \n3 1899 9337 16082 \n3 9337 4371 21025 \n3 16082 21025 552 \n3 553 16084 21026 \n3 16084 1900 9341 \n3 21026 9341 4373 \n3 1900 16083 9339 \n3 16083 552 21027 \n3 9339 21027 4372 \n3 4373 9340 21029 \n3 9340 4372 21028 \n3 21029 21028 104 \n3 105 21030 21031 \n3 21030 4374 9344 \n3 21031 9344 4375 \n3 4374 21032 9342 \n3 21032 554 16087 \n3 9342 16087 1904 \n3 4375 9343 21033 \n3 9343 1904 16091 \n3 21033 16091 556 \n3 554 21034 16086 \n3 21034 4376 9347 \n3 16086 9347 1902 \n3 4376 21035 9345 \n3 21035 258 21036 \n3 9345 21036 4377 \n3 1902 9346 16088 \n3 9346 4377 21037 \n3 16088 21037 555 \n3 556 16090 21038 \n3 16090 1903 9350 \n3 21038 9350 4379 \n3 1903 16089 9348 \n3 16089 555 21039 \n3 9348 21039 4378 \n3 4379 9349 21041 \n3 9349 4378 21040 \n3 21041 21040 259 \n3 260 21042 21043 \n3 21042 4380 9353 \n3 21043 9353 4381 \n3 4380 21044 9351 \n3 21044 557 16093 \n3 9351 16093 1907 \n3 4381 9352 21045 \n3 9352 1907 16097 \n3 21045 16097 559 \n3 557 21046 16092 \n3 21046 4382 9356 \n3 16092 9356 1905 \n3 4382 21047 9354 \n3 21047 109 21048 \n3 9354 21048 4383 \n3 1905 9355 16094 \n3 9355 4383 21049 \n3 16094 21049 558 \n3 559 16096 21050 \n3 16096 1906 9359 \n3 21050 9359 4385 \n3 1906 16095 9357 \n3 16095 558 21051 \n3 9357 21051 4384 \n3 4385 9358 21053 \n3 9358 4384 21052 \n3 21053 21052 261 \n3 262 21054 21055 \n3 21054 4386 9362 \n3 21055 9362 4387 \n3 4386 21056 9360 \n3 21056 560 16099 \n3 9360 16099 1910 \n3 4387 9361 21057 \n3 9361 1910 16103 \n3 21057 16103 562 \n3 560 21058 16098 \n3 21058 4388 9365 \n3 16098 9365 1908 \n3 4388 21059 9363 \n3 21059 263 21060 \n3 9363 21060 4389 \n3 1908 9364 16100 \n3 9364 4389 21061 \n3 16100 21061 561 \n3 562 16102 21062 \n3 16102 1909 9368 \n3 21062 9368 4391 \n3 1909 16101 9366 \n3 16101 561 21063 \n3 9366 21063 4390 \n3 4391 9367 21065 \n3 9367 4390 21064 \n3 21065 21064 107 \n3 108 21066 21067 \n3 21066 4392 9371 \n3 21067 9371 4393 \n3 4392 21068 9369 \n3 21068 563 16105 \n3 9369 16105 1913 \n3 4393 9370 21069 \n3 9370 1913 16109 \n3 21069 16109 565 \n3 563 21070 16104 \n3 21070 4394 9374 \n3 16104 9374 1911 \n3 4394 21071 9372 \n3 21071 264 21072 \n3 9372 21072 4395 \n3 1911 9373 16106 \n3 9373 4395 21073 \n3 16106 21073 564 \n3 565 16108 21074 \n3 16108 1912 9377 \n3 21074 9377 4397 \n3 1912 16107 9375 \n3 16107 564 21075 \n3 9375 21075 4396 \n3 4397 9376 21077 \n3 9376 4396 21076 \n3 21077 21076 265 \n3 266 21078 21079 \n3 21078 4398 9380 \n3 21079 9380 4399 \n3 4398 21080 9378 \n3 21080 566 16111 \n3 9378 16111 1916 \n3 4399 9379 21081 \n3 9379 1916 16115 \n3 21081 16115 568 \n3 566 21082 16110 \n3 21082 4400 9383 \n3 16110 9383 1914 \n3 4400 21083 9381 \n3 21083 112 21084 \n3 9381 21084 4401 \n3 1914 9382 16112 \n3 9382 4401 21085 \n3 16112 21085 567 \n3 568 16114 21086 \n3 16114 1915 9386 \n3 21086 9386 4403 \n3 1915 16113 9384 \n3 16113 567 21087 \n3 9384 21087 4402 \n3 4403 9385 21089 \n3 9385 4402 21088 \n3 21089 21088 267 \n3 268 21090 21091 \n3 21090 4404 9389 \n3 21091 9389 4405 \n3 4404 21092 9387 \n3 21092 569 16117 \n3 9387 16117 1919 \n3 4405 9388 21093 \n3 9388 1919 16121 \n3 21093 16121 571 \n3 569 21094 16116 \n3 21094 4406 9392 \n3 16116 9392 1917 \n3 4406 21095 9390 \n3 21095 269 21096 \n3 9390 21096 4407 \n3 1917 9391 16118 \n3 9391 4407 21097 \n3 16118 21097 570 \n3 571 16120 21098 \n3 16120 1918 9395 \n3 21098 9395 4409 \n3 1918 16119 9393 \n3 16119 570 21099 \n3 9393 21099 4408 \n3 4409 9394 21101 \n3 9394 4408 21100 \n3 21101 21100 110 \n3 111 21102 21103 \n3 21102 4410 9398 \n3 21103 9398 4411 \n3 4410 21104 9396 \n3 21104 572 16123 \n3 9396 16123 1922 \n3 4411 9397 21105 \n3 9397 1922 16127 \n3 21105 16127 574 \n3 572 21106 16122 \n3 21106 4412 9401 \n3 16122 9401 1920 \n3 4412 21107 9399 \n3 21107 270 21108 \n3 9399 21108 4413 \n3 1920 9400 16124 \n3 9400 4413 21109 \n3 16124 21109 573 \n3 574 16126 21110 \n3 16126 1921 9404 \n3 21110 9404 4415 \n3 1921 16125 9402 \n3 16125 573 21111 \n3 9402 21111 4414 \n3 4415 9403 21113 \n3 9403 4414 21112 \n3 21113 21112 271 \n3 272 21114 21115 \n3 21114 4416 9407 \n3 21115 9407 4417 \n3 4416 21116 9405 \n3 21116 575 16129 \n3 9405 16129 1925 \n3 4417 9406 21117 \n3 9406 1925 16133 \n3 21117 16133 577 \n3 575 21118 16128 \n3 21118 4418 9410 \n3 16128 9410 1923 \n3 4418 21119 9408 \n3 21119 115 21120 \n3 9408 21120 4419 \n3 1923 9409 16130 \n3 9409 4419 21121 \n3 16130 21121 576 \n3 577 16132 21122 \n3 16132 1924 9413 \n3 21122 9413 4421 \n3 1924 16131 9411 \n3 16131 576 21123 \n3 9411 21123 4420 \n3 4421 9412 21125 \n3 9412 4420 21124 \n3 21125 21124 273 \n3 274 21126 21127 \n3 21126 4422 9416 \n3 21127 9416 4423 \n3 4422 21128 9414 \n3 21128 578 16135 \n3 9414 16135 1928 \n3 4423 9415 21129 \n3 9415 1928 16139 \n3 21129 16139 580 \n3 578 21130 16134 \n3 21130 4424 9419 \n3 16134 9419 1926 \n3 4424 21131 9417 \n3 21131 275 21132 \n3 9417 21132 4425 \n3 1926 9418 16136 \n3 9418 4425 21133 \n3 16136 21133 579 \n3 580 16138 21134 \n3 16138 1927 9422 \n3 21134 9422 4427 \n3 1927 16137 9420 \n3 16137 579 21135 \n3 9420 21135 4426 \n3 4427 9421 21137 \n3 9421 4426 21136 \n3 21137 21136 113 \n3 114 21138 21139 \n3 21138 4428 9425 \n3 21139 9425 4429 \n3 4428 21140 9423 \n3 21140 581 16141 \n3 9423 16141 1931 \n3 4429 9424 21141 \n3 9424 1931 16145 \n3 21141 16145 583 \n3 581 21142 16140 \n3 21142 4430 9428 \n3 16140 9428 1929 \n3 4430 21143 9426 \n3 21143 276 21144 \n3 9426 21144 4431 \n3 1929 9427 16142 \n3 9427 4431 21145 \n3 16142 21145 582 \n3 583 16144 21146 \n3 16144 1930 9431 \n3 21146 9431 4433 \n3 1930 16143 9429 \n3 16143 582 21147 \n3 9429 21147 4432 \n3 4433 9430 21149 \n3 9430 4432 21148 \n3 21149 21148 277 \n3 278 21150 21151 \n3 21150 4434 9434 \n3 21151 9434 4435 \n3 4434 21152 9432 \n3 21152 584 16147 \n3 9432 16147 1934 \n3 4435 9433 21153 \n3 9433 1934 16151 \n3 21153 16151 586 \n3 584 21154 16146 \n3 21154 4436 9437 \n3 16146 9437 1932 \n3 4436 21155 9435 \n3 21155 118 21156 \n3 9435 21156 4437 \n3 1932 9436 16148 \n3 9436 4437 21157 \n3 16148 21157 585 \n3 586 16150 21158 \n3 16150 1933 9440 \n3 21158 9440 4439 \n3 1933 16149 9438 \n3 16149 585 21159 \n3 9438 21159 4438 \n3 4439 9439 21161 \n3 9439 4438 21160 \n3 21161 21160 279 \n3 280 21162 21163 \n3 21162 4440 9443 \n3 21163 9443 4441 \n3 4440 21164 9441 \n3 21164 587 16153 \n3 9441 16153 1937 \n3 4441 9442 21165 \n3 9442 1937 16157 \n3 21165 16157 589 \n3 587 21166 16152 \n3 21166 4442 9446 \n3 16152 9446 1935 \n3 4442 21167 9444 \n3 21167 281 21168 \n3 9444 21168 4443 \n3 1935 9445 16154 \n3 9445 4443 21169 \n3 16154 21169 588 \n3 589 16156 21170 \n3 16156 1936 9449 \n3 21170 9449 4445 \n3 1936 16155 9447 \n3 16155 588 21171 \n3 9447 21171 4444 \n3 4445 9448 21173 \n3 9448 4444 21172 \n3 21173 21172 116 \n3 117 21174 21175 \n3 21174 4446 9452 \n3 21175 9452 4447 \n3 4446 21176 9450 \n3 21176 590 16159 \n3 9450 16159 1940 \n3 4447 9451 21177 \n3 9451 1940 16163 \n3 21177 16163 592 \n3 590 21178 16158 \n3 21178 4448 9455 \n3 16158 9455 1938 \n3 4448 21179 9453 \n3 21179 282 21180 \n3 9453 21180 4449 \n3 1938 9454 16160 \n3 9454 4449 21181 \n3 16160 21181 591 \n3 592 16162 21182 \n3 16162 1939 9458 \n3 21182 9458 4451 \n3 1939 16161 9456 \n3 16161 591 21183 \n3 9456 21183 4450 \n3 4451 9457 21185 \n3 9457 4450 21184 \n3 21185 21184 283 \n3 284 21186 21187 \n3 21186 4452 9461 \n3 21187 9461 4453 \n3 4452 21188 9459 \n3 21188 593 16165 \n3 9459 16165 1943 \n3 4453 9460 21189 \n3 9460 1943 16169 \n3 21189 16169 595 \n3 593 21190 16164 \n3 21190 4454 9464 \n3 16164 9464 1941 \n3 4454 21191 9462 \n3 21191 121 21192 \n3 9462 21192 4455 \n3 1941 9463 16166 \n3 9463 4455 21193 \n3 16166 21193 594 \n3 595 16168 21194 \n3 16168 1942 9467 \n3 21194 9467 4457 \n3 1942 16167 9465 \n3 16167 594 21195 \n3 9465 21195 4456 \n3 4457 9466 21197 \n3 9466 4456 21196 \n3 21197 21196 285 \n3 286 21198 21199 \n3 21198 4458 9470 \n3 21199 9470 4459 \n3 4458 21200 9468 \n3 21200 596 16171 \n3 9468 16171 1946 \n3 4459 9469 21201 \n3 9469 1946 16175 \n3 21201 16175 598 \n3 596 21202 16170 \n3 21202 4460 9473 \n3 16170 9473 1944 \n3 4460 21203 9471 \n3 21203 287 21204 \n3 9471 21204 4461 \n3 1944 9472 16172 \n3 9472 4461 21205 \n3 16172 21205 597 \n3 598 16174 21206 \n3 16174 1945 9476 \n3 21206 9476 4463 \n3 1945 16173 9474 \n3 16173 597 21207 \n3 9474 21207 4462 \n3 4463 9475 21209 \n3 9475 4462 21208 \n3 21209 21208 119 \n3 120 21210 21211 \n3 21210 4464 9479 \n3 21211 9479 4465 \n3 4464 21212 9477 \n3 21212 599 16177 \n3 9477 16177 1949 \n3 4465 9478 21213 \n3 9478 1949 16181 \n3 21213 16181 601 \n3 599 21214 16176 \n3 21214 4466 9482 \n3 16176 9482 1947 \n3 4466 21215 9480 \n3 21215 288 21216 \n3 9480 21216 4467 \n3 1947 9481 16178 \n3 9481 4467 21217 \n3 16178 21217 600 \n3 601 16180 21218 \n3 16180 1948 9485 \n3 21218 9485 4469 \n3 1948 16179 9483 \n3 16179 600 21219 \n3 9483 21219 4468 \n3 4469 9484 21221 \n3 9484 4468 21220 \n3 21221 21220 289 \n3 290 21222 21223 \n3 21222 4470 9488 \n3 21223 9488 4471 \n3 4470 21224 9486 \n3 21224 602 16183 \n3 9486 16183 1952 \n3 4471 9487 21225 \n3 9487 1952 16187 \n3 21225 16187 604 \n3 602 21226 16182 \n3 21226 4472 9491 \n3 16182 9491 1950 \n3 4472 21227 9489 \n3 21227 124 21228 \n3 9489 21228 4473 \n3 1950 9490 16184 \n3 9490 4473 21229 \n3 16184 21229 603 \n3 604 16186 21230 \n3 16186 1951 9494 \n3 21230 9494 4475 \n3 1951 16185 9492 \n3 16185 603 21231 \n3 9492 21231 4474 \n3 4475 9493 21233 \n3 9493 4474 21232 \n3 21233 21232 291 \n3 292 21234 21235 \n3 21234 4476 9497 \n3 21235 9497 4477 \n3 4476 21236 9495 \n3 21236 605 16189 \n3 9495 16189 1955 \n3 4477 9496 21237 \n3 9496 1955 16193 \n3 21237 16193 607 \n3 605 21238 16188 \n3 21238 4478 9500 \n3 16188 9500 1953 \n3 4478 21239 9498 \n3 21239 293 21240 \n3 9498 21240 4479 \n3 1953 9499 16190 \n3 9499 4479 21241 \n3 16190 21241 606 \n3 607 16192 21242 \n3 16192 1954 9503 \n3 21242 9503 4481 \n3 1954 16191 9501 \n3 16191 606 21243 \n3 9501 21243 4480 \n3 4481 9502 21245 \n3 9502 4480 21244 \n3 21245 21244 122 \n3 123 21246 21247 \n3 21246 4482 9506 \n3 21247 9506 4483 \n3 4482 21248 9504 \n3 21248 608 16195 \n3 9504 16195 1958 \n3 4483 9505 21249 \n3 9505 1958 16199 \n3 21249 16199 610 \n3 608 21250 16194 \n3 21250 4484 9509 \n3 16194 9509 1956 \n3 4484 21251 9507 \n3 21251 294 21252 \n3 9507 21252 4485 \n3 1956 9508 16196 \n3 9508 4485 21253 \n3 16196 21253 609 \n3 610 16198 21254 \n3 16198 1957 9512 \n3 21254 9512 4487 \n3 1957 16197 9510 \n3 16197 609 21255 \n3 9510 21255 4486 \n3 4487 9511 21257 \n3 9511 4486 21256 \n3 21257 21256 295 \n3 296 21258 21259 \n3 21258 4488 9515 \n3 21259 9515 4489 \n3 4488 21260 9513 \n3 21260 611 16201 \n3 9513 16201 1961 \n3 4489 9514 21261 \n3 9514 1961 16205 \n3 21261 16205 613 \n3 611 21262 16200 \n3 21262 4490 9518 \n3 16200 9518 1959 \n3 4490 21263 9516 \n3 21263 127 21264 \n3 9516 21264 4491 \n3 1959 9517 16202 \n3 9517 4491 21265 \n3 16202 21265 612 \n3 613 16204 21266 \n3 16204 1960 9521 \n3 21266 9521 4493 \n3 1960 16203 9519 \n3 16203 612 21267 \n3 9519 21267 4492 \n3 4493 9520 21269 \n3 9520 4492 21268 \n3 21269 21268 297 \n3 298 21270 21271 \n3 21270 4494 9524 \n3 21271 9524 4495 \n3 4494 21272 9522 \n3 21272 614 16207 \n3 9522 16207 1964 \n3 4495 9523 21273 \n3 9523 1964 16211 \n3 21273 16211 616 \n3 614 21274 16206 \n3 21274 4496 9527 \n3 16206 9527 1962 \n3 4496 21275 9525 \n3 21275 299 21276 \n3 9525 21276 4497 \n3 1962 9526 16208 \n3 9526 4497 21277 \n3 16208 21277 615 \n3 616 16210 21278 \n3 16210 1963 9530 \n3 21278 9530 4499 \n3 1963 16209 9528 \n3 16209 615 21279 \n3 9528 21279 4498 \n3 4499 9529 21281 \n3 9529 4498 21280 \n3 21281 21280 125 \n3 126 21282 21283 \n3 21282 4500 9533 \n3 21283 9533 4501 \n3 4500 21284 9531 \n3 21284 617 16213 \n3 9531 16213 1967 \n3 4501 9532 21285 \n3 9532 1967 16217 \n3 21285 16217 619 \n3 617 21286 16212 \n3 21286 4502 9536 \n3 16212 9536 1965 \n3 4502 21287 9534 \n3 21287 300 21288 \n3 9534 21288 4503 \n3 1965 9535 16214 \n3 9535 4503 21289 \n3 16214 21289 618 \n3 619 16216 21290 \n3 16216 1966 9539 \n3 21290 9539 4505 \n3 1966 16215 9537 \n3 16215 618 21291 \n3 9537 21291 4504 \n3 4505 9538 21293 \n3 9538 4504 21292 \n3 21293 21292 301 \n3 302 21294 21295 \n3 21294 4506 9542 \n3 21295 9542 4507 \n3 4506 21296 9540 \n3 21296 620 16219 \n3 9540 16219 1970 \n3 4507 9541 21297 \n3 9541 1970 16223 \n3 21297 16223 622 \n3 620 21298 16218 \n3 21298 4508 9545 \n3 16218 9545 1968 \n3 4508 21299 9543 \n3 21299 130 21300 \n3 9543 21300 4509 \n3 1968 9544 16220 \n3 9544 4509 21301 \n3 16220 21301 621 \n3 622 16222 21302 \n3 16222 1969 9548 \n3 21302 9548 4511 \n3 1969 16221 9546 \n3 16221 621 21303 \n3 9546 21303 4510 \n3 4511 9547 21305 \n3 9547 4510 21304 \n3 21305 21304 303 \n3 304 21306 21307 \n3 21306 4512 9551 \n3 21307 9551 4513 \n3 4512 21308 9549 \n3 21308 623 16225 \n3 9549 16225 1973 \n3 4513 9550 21309 \n3 9550 1973 16229 \n3 21309 16229 625 \n3 623 21310 16224 \n3 21310 4514 9554 \n3 16224 9554 1971 \n3 4514 21311 9552 \n3 21311 305 21312 \n3 9552 21312 4515 \n3 1971 9553 16226 \n3 9553 4515 21313 \n3 16226 21313 624 \n3 625 16228 21314 \n3 16228 1972 9557 \n3 21314 9557 4517 \n3 1972 16227 9555 \n3 16227 624 21315 \n3 9555 21315 4516 \n3 4517 9556 21317 \n3 9556 4516 21316 \n3 21317 21316 128 \n3 129 21318 21319 \n3 21318 4518 9560 \n3 21319 9560 4519 \n3 4518 21320 9558 \n3 21320 626 16231 \n3 9558 16231 1976 \n3 4519 9559 21321 \n3 9559 1976 16235 \n3 21321 16235 628 \n3 626 21322 16230 \n3 21322 4520 9563 \n3 16230 9563 1974 \n3 4520 21323 9561 \n3 21323 306 21324 \n3 9561 21324 4521 \n3 1974 9562 16232 \n3 9562 4521 21325 \n3 16232 21325 627 \n3 628 16234 21326 \n3 16234 1975 9566 \n3 21326 9566 4523 \n3 1975 16233 9564 \n3 16233 627 21327 \n3 9564 21327 4522 \n3 4523 9565 21329 \n3 9565 4522 21328 \n3 21329 21328 307 \n3 308 21330 21331 \n3 21330 4524 9569 \n3 21331 9569 4525 \n3 4524 21332 9567 \n3 21332 629 16237 \n3 9567 16237 1979 \n3 4525 9568 21333 \n3 9568 1979 16241 \n3 21333 16241 631 \n3 629 21334 16236 \n3 21334 4526 9572 \n3 16236 9572 1977 \n3 4526 21335 9570 \n3 21335 133 21336 \n3 9570 21336 4527 \n3 1977 9571 16238 \n3 9571 4527 21337 \n3 16238 21337 630 \n3 631 16240 21338 \n3 16240 1978 9575 \n3 21338 9575 4529 \n3 1978 16239 9573 \n3 16239 630 21339 \n3 9573 21339 4528 \n3 4529 9574 21341 \n3 9574 4528 21340 \n3 21341 21340 309 \n3 310 21342 21343 \n3 21342 4530 9578 \n3 21343 9578 4531 \n3 4530 21344 9576 \n3 21344 632 16243 \n3 9576 16243 1982 \n3 4531 9577 21345 \n3 9577 1982 16247 \n3 21345 16247 634 \n3 632 21346 16242 \n3 21346 4532 9581 \n3 16242 9581 1980 \n3 4532 21347 9579 \n3 21347 311 21348 \n3 9579 21348 4533 \n3 1980 9580 16244 \n3 9580 4533 21349 \n3 16244 21349 633 \n3 634 16246 21350 \n3 16246 1981 9584 \n3 21350 9584 4535 \n3 1981 16245 9582 \n3 16245 633 21351 \n3 9582 21351 4534 \n3 4535 9583 21353 \n3 9583 4534 21352 \n3 21353 21352 131 \n3 132 21354 21355 \n3 21354 4536 9587 \n3 21355 9587 4537 \n3 4536 21356 9585 \n3 21356 635 16249 \n3 9585 16249 1985 \n3 4537 9586 21357 \n3 9586 1985 16253 \n3 21357 16253 637 \n3 635 21358 16248 \n3 21358 4538 9590 \n3 16248 9590 1983 \n3 4538 21359 9588 \n3 21359 312 21360 \n3 9588 21360 4539 \n3 1983 9589 16250 \n3 9589 4539 21361 \n3 16250 21361 636 \n3 637 16252 21362 \n3 16252 1984 9593 \n3 21362 9593 4541 \n3 1984 16251 9591 \n3 16251 636 21363 \n3 9591 21363 4540 \n3 4541 9592 21365 \n3 9592 4540 21364 \n3 21365 21364 313 \n3 314 21366 21367 \n3 21366 4542 9596 \n3 21367 9596 4543 \n3 4542 21368 9594 \n3 21368 638 16255 \n3 9594 16255 1988 \n3 4543 9595 21369 \n3 9595 1988 16259 \n3 21369 16259 640 \n3 638 21370 16254 \n3 21370 4544 9599 \n3 16254 9599 1986 \n3 4544 21371 9597 \n3 21371 136 21372 \n3 9597 21372 4545 \n3 1986 9598 16256 \n3 9598 4545 21373 \n3 16256 21373 639 \n3 640 16258 21374 \n3 16258 1987 9602 \n3 21374 9602 4547 \n3 1987 16257 9600 \n3 16257 639 21375 \n3 9600 21375 4546 \n3 4547 9601 21377 \n3 9601 4546 21376 \n3 21377 21376 315 \n3 316 21378 21379 \n3 21378 4548 9605 \n3 21379 9605 4549 \n3 4548 21380 9603 \n3 21380 641 16261 \n3 9603 16261 1991 \n3 4549 9604 21381 \n3 9604 1991 16265 \n3 21381 16265 643 \n3 641 21382 16260 \n3 21382 4550 9608 \n3 16260 9608 1989 \n3 4550 21383 9606 \n3 21383 243 21384 \n3 9606 21384 4551 \n3 1989 9607 16262 \n3 9607 4551 21385 \n3 16262 21385 642 \n3 643 16264 21386 \n3 16264 1990 9611 \n3 21386 9611 4553 \n3 1990 16263 9609 \n3 16263 642 21387 \n3 9609 21387 4552 \n3 4553 9610 21389 \n3 9610 4552 21388 \n3 21389 21388 134 \n3 135 21390 21391 \n3 21390 4554 9614 \n3 21391 9614 4555 \n3 4554 21392 9612 \n3 21392 644 16267 \n3 9612 16267 1994 \n3 4555 9613 21393 \n3 9613 1994 16271 \n3 21393 16271 646 \n3 644 21394 16266 \n3 21394 4556 9617 \n3 16266 9617 1992 \n3 4556 21395 9615 \n3 21395 247 21396 \n3 9615 21396 4557 \n3 1992 9616 16268 \n3 9616 4557 21397 \n3 16268 21397 645 \n3 646 16270 21398 \n3 16270 1993 9620 \n3 21398 9620 4559 \n3 1993 16269 9618 \n3 16269 645 21399 \n3 9618 21399 4558 \n3 4559 9619 21401 \n3 9619 4558 21400 \n3 21401 21400 317 \n3 318 21402 21403 \n3 21402 4560 9623 \n3 21403 9623 4561 \n3 4560 21404 9621 \n3 21404 647 16273 \n3 9621 16273 1997 \n3 4561 9622 21405 \n3 9622 1997 16277 \n3 21405 16277 649 \n3 647 21406 16272 \n3 21406 4562 9626 \n3 16272 9626 1995 \n3 4562 21407 9624 \n3 21407 139 21408 \n3 9624 21408 4563 \n3 1995 9625 16274 \n3 9625 4563 21409 \n3 16274 21409 648 \n3 649 16276 21410 \n3 16276 1996 9629 \n3 21410 9629 4565 \n3 1996 16275 9627 \n3 16275 648 21411 \n3 9627 21411 4564 \n3 4565 9628 21413 \n3 9628 4564 21412 \n3 21413 21412 242 \n3 319 21414 21415 \n3 21414 4566 9632 \n3 21415 9632 4567 \n3 4566 21416 9630 \n3 21416 650 16279 \n3 9630 16279 2000 \n3 4567 9631 21417 \n3 9631 2000 16283 \n3 21417 16283 652 \n3 650 21418 16278 \n3 21418 4568 9635 \n3 16278 9635 1998 \n3 4568 21419 9633 \n3 21419 320 21420 \n3 9633 21420 4569 \n3 1998 9634 16280 \n3 9634 4569 21421 \n3 16280 21421 651 \n3 652 16282 21422 \n3 16282 1999 9638 \n3 21422 9638 4571 \n3 1999 16281 9636 \n3 16281 651 21423 \n3 9636 21423 4570 \n3 4571 9637 21425 \n3 9637 4570 21424 \n3 21425 21424 137 \n3 138 21426 21427 \n3 21426 4572 9641 \n3 21427 9641 4573 \n3 4572 21428 9639 \n3 21428 653 16285 \n3 9639 16285 2003 \n3 4573 9640 21429 \n3 9640 2003 16289 \n3 21429 16289 655 \n3 653 21430 16284 \n3 21430 4574 9644 \n3 16284 9644 2001 \n3 4574 21431 9642 \n3 21431 321 21432 \n3 9642 21432 4575 \n3 2001 9643 16286 \n3 9643 4575 21433 \n3 16286 21433 654 \n3 655 16288 21434 \n3 16288 2002 9647 \n3 21434 9647 4577 \n3 2002 16287 9645 \n3 16287 654 21435 \n3 9645 21435 4576 \n3 4577 9646 21437 \n3 9646 4576 21436 \n3 21437 21436 244 \n3 246 21438 21439 \n3 21438 4578 9650 \n3 21439 9650 4579 \n3 4578 21440 9648 \n3 21440 656 16291 \n3 9648 16291 2006 \n3 4579 9649 21441 \n3 9649 2006 16295 \n3 21441 16295 658 \n3 656 21442 16290 \n3 21442 4580 9653 \n3 16290 9653 2004 \n3 4580 21443 9651 \n3 21443 142 21444 \n3 9651 21444 4581 \n3 2004 9652 16292 \n3 9652 4581 21445 \n3 16292 21445 657 \n3 658 16294 21446 \n3 16294 2005 9656 \n3 21446 9656 4583 \n3 2005 16293 9654 \n3 16293 657 21447 \n3 9654 21447 4582 \n3 4583 9655 21449 \n3 9655 4582 21448 \n3 21449 21448 322 \n3 245 21450 21451 \n3 21450 4584 9659 \n3 21451 9659 4585 \n3 4584 21452 9657 \n3 21452 659 16297 \n3 9657 16297 2009 \n3 4585 9658 21453 \n3 9658 2009 16301 \n3 21453 16301 661 \n3 659 21454 16296 \n3 21454 4586 9662 \n3 16296 9662 2007 \n3 4586 21455 9660 \n3 21455 323 21456 \n3 9660 21456 4587 \n3 2007 9661 16298 \n3 9661 4587 21457 \n3 16298 21457 660 \n3 661 16300 21458 \n3 16300 2008 9665 \n3 21458 9665 4589 \n3 2008 16299 9663 \n3 16299 660 21459 \n3 9663 21459 4588 \n3 4589 9664 21461 \n3 9664 4588 21460 \n3 21461 21460 140 \n3 141 21462 21463 \n3 21462 4590 9668 \n3 21463 9668 4591 \n3 4590 21464 9666 \n3 21464 662 16303 \n3 9666 16303 2012 \n3 4591 9667 21465 \n3 9667 2012 16307 \n3 21465 16307 664 \n3 662 21466 16302 \n3 21466 4592 9671 \n3 16302 9671 2010 \n3 4592 21467 9669 \n3 21467 324 21468 \n3 9669 21468 4593 \n3 2010 9670 16304 \n3 9670 4593 21469 \n3 16304 21469 663 \n3 664 16306 21470 \n3 16306 2011 9674 \n3 21470 9674 4595 \n3 2011 16305 9672 \n3 16305 663 21471 \n3 9672 21471 4594 \n3 4595 9673 21473 \n3 9673 4594 21472 \n3 21473 21472 325 \n3 326 21474 21475 \n3 21474 4596 9677 \n3 21475 9677 4597 \n3 4596 21476 9675 \n3 21476 665 16309 \n3 9675 16309 2015 \n3 4597 9676 21477 \n3 9676 2015 16313 \n3 21477 16313 667 \n3 665 21478 16308 \n3 21478 4598 9680 \n3 16308 9680 2013 \n3 4598 21479 9678 \n3 21479 145 21480 \n3 9678 21480 4599 \n3 2013 9679 16310 \n3 9679 4599 21481 \n3 16310 21481 666 \n3 667 16312 21482 \n3 16312 2014 9683 \n3 21482 9683 4601 \n3 2014 16311 9681 \n3 16311 666 21483 \n3 9681 21483 4600 \n3 4601 9682 21485 \n3 9682 4600 21484 \n3 21485 21484 327 \n3 328 21486 21487 \n3 21486 4602 9686 \n3 21487 9686 4603 \n3 4602 21488 9684 \n3 21488 668 16315 \n3 9684 16315 2018 \n3 4603 9685 21489 \n3 9685 2018 16319 \n3 21489 16319 670 \n3 668 21490 16314 \n3 21490 4604 9689 \n3 16314 9689 2016 \n3 4604 21491 9687 \n3 21491 249 21492 \n3 9687 21492 4605 \n3 2016 9688 16316 \n3 9688 4605 21493 \n3 16316 21493 669 \n3 670 16318 21494 \n3 16318 2017 9692 \n3 21494 9692 4607 \n3 2017 16317 9690 \n3 16317 669 21495 \n3 9690 21495 4606 \n3 4607 9691 21497 \n3 9691 4606 21496 \n3 21497 21496 143 \n3 144 21498 21499 \n3 21498 4608 9695 \n3 21499 9695 4609 \n3 4608 21500 9693 \n3 21500 671 16321 \n3 9693 16321 2021 \n3 4609 9694 21501 \n3 9694 2021 16325 \n3 21501 16325 673 \n3 671 21502 16320 \n3 21502 4610 9698 \n3 16320 9698 2019 \n3 4610 21503 9696 \n3 21503 253 21504 \n3 9696 21504 4611 \n3 2019 9697 16322 \n3 9697 4611 21505 \n3 16322 21505 672 \n3 673 16324 21506 \n3 16324 2020 9701 \n3 21506 9701 4613 \n3 2020 16323 9699 \n3 16323 672 21507 \n3 9699 21507 4612 \n3 4613 9700 21509 \n3 9700 4612 21508 \n3 21509 21508 329 \n3 330 21510 21511 \n3 21510 4614 9704 \n3 21511 9704 4615 \n3 4614 21512 9702 \n3 21512 674 16327 \n3 9702 16327 2024 \n3 4615 9703 21513 \n3 9703 2024 16331 \n3 21513 16331 676 \n3 674 21514 16326 \n3 21514 4616 9707 \n3 16326 9707 2022 \n3 4616 21515 9705 \n3 21515 148 21516 \n3 9705 21516 4617 \n3 2022 9706 16328 \n3 9706 4617 21517 \n3 16328 21517 675 \n3 676 16330 21518 \n3 16330 2023 9710 \n3 21518 9710 4619 \n3 2023 16329 9708 \n3 16329 675 21519 \n3 9708 21519 4618 \n3 4619 9709 21521 \n3 9709 4618 21520 \n3 21521 21520 248 \n3 331 21522 21523 \n3 21522 4620 9713 \n3 21523 9713 4621 \n3 4620 21524 9711 \n3 21524 677 16333 \n3 9711 16333 2027 \n3 4621 9712 21525 \n3 9712 2027 16337 \n3 21525 16337 679 \n3 677 21526 16332 \n3 21526 4622 9716 \n3 16332 9716 2025 \n3 4622 21527 9714 \n3 21527 324 21528 \n3 9714 21528 4623 \n3 2025 9715 16334 \n3 9715 4623 21529 \n3 16334 21529 678 \n3 679 16336 21530 \n3 16336 2026 9719 \n3 21530 9719 4625 \n3 2026 16335 9717 \n3 16335 678 21531 \n3 9717 21531 4624 \n3 4625 9718 21533 \n3 9718 4624 21532 \n3 21533 21532 146 \n3 147 21534 21535 \n3 21534 4626 9722 \n3 21535 9722 4627 \n3 4626 21536 9720 \n3 21536 680 16339 \n3 9720 16339 2030 \n3 4627 9721 21537 \n3 9721 2030 16343 \n3 21537 16343 682 \n3 680 21538 16338 \n3 21538 4628 9725 \n3 16338 9725 2028 \n3 4628 21539 9723 \n3 21539 323 21540 \n3 9723 21540 4629 \n3 2028 9724 16340 \n3 9724 4629 21541 \n3 16340 21541 681 \n3 682 16342 21542 \n3 16342 2029 9728 \n3 21542 9728 4631 \n3 2029 16341 9726 \n3 16341 681 21543 \n3 9726 21543 4630 \n3 4631 9727 21545 \n3 9727 4630 21544 \n3 21545 21544 250 \n3 252 21546 21547 \n3 21546 4632 9731 \n3 21547 9731 4633 \n3 4632 21548 9729 \n3 21548 683 16345 \n3 9729 16345 2033 \n3 4633 9730 21549 \n3 9730 2033 16349 \n3 21549 16349 685 \n3 683 21550 16344 \n3 21550 4634 9734 \n3 16344 9734 2031 \n3 4634 21551 9732 \n3 21551 151 21552 \n3 9732 21552 4635 \n3 2031 9733 16346 \n3 9733 4635 21553 \n3 16346 21553 684 \n3 685 16348 21554 \n3 16348 2032 9737 \n3 21554 9737 4637 \n3 2032 16347 9735 \n3 16347 684 21555 \n3 9735 21555 4636 \n3 4637 9736 21557 \n3 9736 4636 21556 \n3 21557 21556 332 \n3 251 21558 21559 \n3 21558 4638 9740 \n3 21559 9740 4639 \n3 4638 21560 9738 \n3 21560 686 16351 \n3 9738 16351 2036 \n3 4639 9739 21561 \n3 9739 2036 16355 \n3 21561 16355 688 \n3 686 21562 16350 \n3 21562 4640 9743 \n3 16350 9743 2034 \n3 4640 21563 9741 \n3 21563 321 21564 \n3 9741 21564 4641 \n3 2034 9742 16352 \n3 9742 4641 21565 \n3 16352 21565 687 \n3 688 16354 21566 \n3 16354 2035 9746 \n3 21566 9746 4643 \n3 2035 16353 9744 \n3 16353 687 21567 \n3 9744 21567 4642 \n3 4643 9745 21569 \n3 9745 4642 21568 \n3 21569 21568 149 \n3 150 21570 21571 \n3 21570 4644 9749 \n3 21571 9749 4645 \n3 4644 21572 9747 \n3 21572 689 16357 \n3 9747 16357 2039 \n3 4645 9748 21573 \n3 9748 2039 16361 \n3 21573 16361 691 \n3 689 21574 16356 \n3 21574 4646 9752 \n3 16356 9752 2037 \n3 4646 21575 9750 \n3 21575 320 21576 \n3 9750 21576 4647 \n3 2037 9751 16358 \n3 9751 4647 21577 \n3 16358 21577 690 \n3 691 16360 21578 \n3 16360 2038 9755 \n3 21578 9755 4649 \n3 2038 16359 9753 \n3 16359 690 21579 \n3 9753 21579 4648 \n3 4649 9754 21581 \n3 9754 4648 21580 \n3 21581 21580 333 \n3 1634 21582 21583 \n3 21582 4650 9758 \n3 21583 9758 4651 \n3 4650 21584 9756 \n3 21584 692 16363 \n3 9756 16363 2042 \n3 4651 9757 21585 \n3 9757 2042 16367 \n3 21585 16367 694 \n3 692 21586 16362 \n3 21586 4652 9761 \n3 16362 9761 2040 \n3 4652 21587 9759 \n3 21587 154 21588 \n3 9759 21588 4653 \n3 2040 9760 16364 \n3 9760 4653 21589 \n3 16364 21589 693 \n3 694 16366 21590 \n3 16366 2041 9764 \n3 21590 9764 4655 \n3 2041 16365 9762 \n3 16365 693 21591 \n3 9762 21591 4654 \n3 4655 9763 21593 \n3 9763 4654 21592 \n3 21593 21592 334 \n3 1635 21594 21595 \n3 21594 4656 9767 \n3 21595 9767 4657 \n3 4656 21596 9765 \n3 21596 695 16369 \n3 9765 16369 2045 \n3 4657 9766 21597 \n3 9766 2045 16373 \n3 21597 16373 697 \n3 695 21598 16368 \n3 21598 4658 9770 \n3 16368 9770 2043 \n3 4658 21599 9768 \n3 21599 255 21600 \n3 9768 21600 4659 \n3 2043 9769 16370 \n3 9769 4659 21601 \n3 16370 21601 696 \n3 697 16372 21602 \n3 16372 2044 9773 \n3 21602 9773 4661 \n3 2044 16371 9771 \n3 16371 696 21603 \n3 9771 21603 4660 \n3 4661 9772 21605 \n3 9772 4660 21604 \n3 21605 21604 152 \n3 153 21606 21607 \n3 21606 4662 9776 \n3 21607 9776 4663 \n3 4662 21608 9774 \n3 21608 698 16375 \n3 9774 16375 2048 \n3 4663 9775 21609 \n3 9775 2048 16379 \n3 21609 16379 700 \n3 698 21610 16374 \n3 21610 4664 9779 \n3 16374 9779 2046 \n3 4664 21611 9777 \n3 21611 259 21612 \n3 9777 21612 4665 \n3 2046 9778 16376 \n3 9778 4665 21613 \n3 16376 21613 699 \n3 700 16378 21614 \n3 16378 2047 9782 \n3 21614 9782 4667 \n3 2047 16377 9780 \n3 16377 699 21615 \n3 9780 21615 4666 \n3 4667 9781 21617 \n3 9781 4666 21616 \n3 21617 21616 335 \n3 1636 21618 21619 \n3 21618 4668 9785 \n3 21619 9785 4669 \n3 4668 21620 9783 \n3 21620 701 16381 \n3 9783 16381 2051 \n3 4669 9784 21621 \n3 9784 2051 16385 \n3 21621 16385 703 \n3 701 21622 16380 \n3 21622 4670 9788 \n3 16380 9788 2049 \n3 4670 21623 9786 \n3 21623 157 21624 \n3 9786 21624 4671 \n3 2049 9787 16382 \n3 9787 4671 21625 \n3 16382 21625 702 \n3 703 16384 21626 \n3 16384 2050 9791 \n3 21626 9791 4673 \n3 2050 16383 9789 \n3 16383 702 21627 \n3 9789 21627 4672 \n3 4673 9790 21629 \n3 9790 4672 21628 \n3 21629 21628 254 \n3 1637 21630 21631 \n3 21630 4674 9794 \n3 21631 9794 4675 \n3 4674 21632 9792 \n3 21632 704 16387 \n3 9792 16387 2054 \n3 4675 9793 21633 \n3 9793 2054 16391 \n3 21633 16391 706 \n3 704 21634 16386 \n3 21634 4676 9797 \n3 16386 9797 2052 \n3 4676 21635 9795 \n3 21635 336 21636 \n3 9795 21636 4677 \n3 2052 9796 16388 \n3 9796 4677 21637 \n3 16388 21637 705 \n3 706 16390 21638 \n3 16390 2053 9800 \n3 21638 9800 4679 \n3 2053 16389 9798 \n3 16389 705 21639 \n3 9798 21639 4678 \n3 4679 9799 21641 \n3 9799 4678 21640 \n3 21641 21640 155 \n3 156 21642 21643 \n3 21642 4680 9803 \n3 21643 9803 4681 \n3 4680 21644 9801 \n3 21644 707 16393 \n3 9801 16393 2057 \n3 4681 9802 21645 \n3 9802 2057 16397 \n3 21645 16397 709 \n3 707 21646 16392 \n3 21646 4682 9806 \n3 16392 9806 2055 \n3 4682 21647 9804 \n3 21647 337 21648 \n3 9804 21648 4683 \n3 2055 9805 16394 \n3 9805 4683 21649 \n3 16394 21649 708 \n3 709 16396 21650 \n3 16396 2056 9809 \n3 21650 9809 4685 \n3 2056 16395 9807 \n3 16395 708 21651 \n3 9807 21651 4684 \n3 4685 9808 21653 \n3 9808 4684 21652 \n3 21653 21652 256 \n3 258 21654 21655 \n3 21654 4686 9812 \n3 21655 9812 4687 \n3 4686 21656 9810 \n3 21656 710 16399 \n3 9810 16399 2060 \n3 4687 9811 21657 \n3 9811 2060 16403 \n3 21657 16403 712 \n3 710 21658 16398 \n3 21658 4688 9815 \n3 16398 9815 2058 \n3 4688 21659 9813 \n3 21659 160 21660 \n3 9813 21660 4689 \n3 2058 9814 16400 \n3 9814 4689 21661 \n3 16400 21661 711 \n3 712 16402 21662 \n3 16402 2059 9818 \n3 21662 9818 4691 \n3 2059 16401 9816 \n3 16401 711 21663 \n3 9816 21663 4690 \n3 4691 9817 21665 \n3 9817 4690 21664 \n3 21665 21664 338 \n3 257 21666 21667 \n3 21666 4692 9821 \n3 21667 9821 4693 \n3 4692 21668 9819 \n3 21668 713 16405 \n3 9819 16405 2063 \n3 4693 9820 21669 \n3 9820 2063 16409 \n3 21669 16409 715 \n3 713 21670 16404 \n3 21670 4694 9824 \n3 16404 9824 2061 \n3 4694 21671 9822 \n3 21671 339 21672 \n3 9822 21672 4695 \n3 2061 9823 16406 \n3 9823 4695 21673 \n3 16406 21673 714 \n3 715 16408 21674 \n3 16408 2062 9827 \n3 21674 9827 4697 \n3 2062 16407 9825 \n3 16407 714 21675 \n3 9825 21675 4696 \n3 4697 9826 21677 \n3 9826 4696 21676 \n3 21677 21676 158 \n3 159 21678 21679 \n3 21678 4698 9830 \n3 21679 9830 4699 \n3 4698 21680 9828 \n3 21680 716 16411 \n3 9828 16411 2066 \n3 4699 9829 21681 \n3 9829 2066 16415 \n3 21681 16415 718 \n3 716 21682 16410 \n3 21682 4700 9833 \n3 16410 9833 2064 \n3 4700 21683 9831 \n3 21683 340 21684 \n3 9831 21684 4701 \n3 2064 9832 16412 \n3 9832 4701 21685 \n3 16412 21685 717 \n3 718 16414 21686 \n3 16414 2065 9836 \n3 21686 9836 4703 \n3 2065 16413 9834 \n3 16413 717 21687 \n3 9834 21687 4702 \n3 4703 9835 21689 \n3 9835 4702 21688 \n3 21689 21688 341 \n3 342 21690 21691 \n3 21690 4704 9839 \n3 21691 9839 4705 \n3 4704 21692 9837 \n3 21692 719 16417 \n3 9837 16417 2069 \n3 4705 9838 21693 \n3 9838 2069 16421 \n3 21693 16421 721 \n3 719 21694 16416 \n3 21694 4706 9842 \n3 16416 9842 2067 \n3 4706 21695 9840 \n3 21695 163 21696 \n3 9840 21696 4707 \n3 2067 9841 16418 \n3 9841 4707 21697 \n3 16418 21697 720 \n3 721 16420 21698 \n3 16420 2068 9845 \n3 21698 9845 4709 \n3 2068 16419 9843 \n3 16419 720 21699 \n3 9843 21699 4708 \n3 4709 9844 21701 \n3 9844 4708 21700 \n3 21701 21700 343 \n3 344 21702 21703 \n3 21702 4710 9848 \n3 21703 9848 4711 \n3 4710 21704 9846 \n3 21704 722 16423 \n3 9846 16423 2072 \n3 4711 9847 21705 \n3 9847 2072 16427 \n3 21705 16427 724 \n3 722 21706 16422 \n3 21706 4712 9851 \n3 16422 9851 2070 \n3 4712 21707 9849 \n3 21707 261 21708 \n3 9849 21708 4713 \n3 2070 9850 16424 \n3 9850 4713 21709 \n3 16424 21709 723 \n3 724 16426 21710 \n3 16426 2071 9854 \n3 21710 9854 4715 \n3 2071 16425 9852 \n3 16425 723 21711 \n3 9852 21711 4714 \n3 4715 9853 21713 \n3 9853 4714 21712 \n3 21713 21712 161 \n3 162 21714 21715 \n3 21714 4716 9857 \n3 21715 9857 4717 \n3 4716 21716 9855 \n3 21716 725 16429 \n3 9855 16429 2075 \n3 4717 9856 21717 \n3 9856 2075 16433 \n3 21717 16433 727 \n3 725 21718 16428 \n3 21718 4718 9860 \n3 16428 9860 2073 \n3 4718 21719 9858 \n3 21719 265 21720 \n3 9858 21720 4719 \n3 2073 9859 16430 \n3 9859 4719 21721 \n3 16430 21721 726 \n3 727 16432 21722 \n3 16432 2074 9863 \n3 21722 9863 4721 \n3 2074 16431 9861 \n3 16431 726 21723 \n3 9861 21723 4720 \n3 4721 9862 21725 \n3 9862 4720 21724 \n3 21725 21724 345 \n3 346 21726 21727 \n3 21726 4722 9866 \n3 21727 9866 4723 \n3 4722 21728 9864 \n3 21728 728 16435 \n3 9864 16435 2078 \n3 4723 9865 21729 \n3 9865 2078 16439 \n3 21729 16439 730 \n3 728 21730 16434 \n3 21730 4724 9869 \n3 16434 9869 2076 \n3 4724 21731 9867 \n3 21731 166 21732 \n3 9867 21732 4725 \n3 2076 9868 16436 \n3 9868 4725 21733 \n3 16436 21733 729 \n3 730 16438 21734 \n3 16438 2077 9872 \n3 21734 9872 4727 \n3 2077 16437 9870 \n3 16437 729 21735 \n3 9870 21735 4726 \n3 4727 9871 21737 \n3 9871 4726 21736 \n3 21737 21736 260 \n3 347 21738 21739 \n3 21738 4728 9875 \n3 21739 9875 4729 \n3 4728 21740 9873 \n3 21740 731 16441 \n3 9873 16441 2081 \n3 4729 9874 21741 \n3 9874 2081 16445 \n3 21741 16445 733 \n3 731 21742 16440 \n3 21742 4730 9878 \n3 16440 9878 2079 \n3 4730 21743 9876 \n3 21743 340 21744 \n3 9876 21744 4731 \n3 2079 9877 16442 \n3 9877 4731 21745 \n3 16442 21745 732 \n3 733 16444 21746 \n3 16444 2080 9881 \n3 21746 9881 4733 \n3 2080 16443 9879 \n3 16443 732 21747 \n3 9879 21747 4732 \n3 4733 9880 21749 \n3 9880 4732 21748 \n3 21749 21748 164 \n3 165 21750 21751 \n3 21750 4734 9884 \n3 21751 9884 4735 \n3 4734 21752 9882 \n3 21752 734 16447 \n3 9882 16447 2084 \n3 4735 9883 21753 \n3 9883 2084 16451 \n3 21753 16451 736 \n3 734 21754 16446 \n3 21754 4736 9887 \n3 16446 9887 2082 \n3 4736 21755 9885 \n3 21755 339 21756 \n3 9885 21756 4737 \n3 2082 9886 16448 \n3 9886 4737 21757 \n3 16448 21757 735 \n3 736 16450 21758 \n3 16450 2083 9890 \n3 21758 9890 4739 \n3 2083 16449 9888 \n3 16449 735 21759 \n3 9888 21759 4738 \n3 4739 9889 21761 \n3 9889 4738 21760 \n3 21761 21760 262 \n3 264 21762 21763 \n3 21762 4740 9893 \n3 21763 9893 4741 \n3 4740 21764 9891 \n3 21764 737 16453 \n3 9891 16453 2087 \n3 4741 9892 21765 \n3 9892 2087 16457 \n3 21765 16457 739 \n3 737 21766 16452 \n3 21766 4742 9896 \n3 16452 9896 2085 \n3 4742 21767 9894 \n3 21767 169 21768 \n3 9894 21768 4743 \n3 2085 9895 16454 \n3 9895 4743 21769 \n3 16454 21769 738 \n3 739 16456 21770 \n3 16456 2086 9899 \n3 21770 9899 4745 \n3 2086 16455 9897 \n3 16455 738 21771 \n3 9897 21771 4744 \n3 4745 9898 21773 \n3 9898 4744 21772 \n3 21773 21772 348 \n3 263 21774 21775 \n3 21774 4746 9902 \n3 21775 9902 4747 \n3 4746 21776 9900 \n3 21776 740 16459 \n3 9900 16459 2090 \n3 4747 9901 21777 \n3 9901 2090 16463 \n3 21777 16463 742 \n3 740 21778 16458 \n3 21778 4748 9905 \n3 16458 9905 2088 \n3 4748 21779 9903 \n3 21779 337 21780 \n3 9903 21780 4749 \n3 2088 9904 16460 \n3 9904 4749 21781 \n3 16460 21781 741 \n3 742 16462 21782 \n3 16462 2089 9908 \n3 21782 9908 4751 \n3 2089 16461 9906 \n3 16461 741 21783 \n3 9906 21783 4750 \n3 4751 9907 21785 \n3 9907 4750 21784 \n3 21785 21784 167 \n3 168 21786 21787 \n3 21786 4752 9911 \n3 21787 9911 4753 \n3 4752 21788 9909 \n3 21788 743 16465 \n3 9909 16465 2093 \n3 4753 9910 21789 \n3 9910 2093 16469 \n3 21789 16469 745 \n3 743 21790 16464 \n3 21790 4754 9914 \n3 16464 9914 2091 \n3 4754 21791 9912 \n3 21791 336 21792 \n3 9912 21792 4755 \n3 2091 9913 16466 \n3 9913 4755 21793 \n3 16466 21793 744 \n3 745 16468 21794 \n3 16468 2092 9917 \n3 21794 9917 4757 \n3 2092 16467 9915 \n3 16467 744 21795 \n3 9915 21795 4756 \n3 4757 9916 21797 \n3 9916 4756 21796 \n3 21797 21796 349 \n3 1638 21798 21799 \n3 21798 4758 9920 \n3 21799 9920 4759 \n3 4758 21800 9918 \n3 21800 746 16471 \n3 9918 16471 2096 \n3 4759 9919 21801 \n3 9919 2096 16475 \n3 21801 16475 748 \n3 746 21802 16470 \n3 21802 4760 9923 \n3 16470 9923 2094 \n3 4760 21803 9921 \n3 21803 172 21804 \n3 9921 21804 4761 \n3 2094 9922 16472 \n3 9922 4761 21805 \n3 16472 21805 747 \n3 748 16474 21806 \n3 16474 2095 9926 \n3 21806 9926 4763 \n3 2095 16473 9924 \n3 16473 747 21807 \n3 9924 21807 4762 \n3 4763 9925 21809 \n3 9925 4762 21808 \n3 21809 21808 1639 \n3 1640 21810 21811 \n3 21810 4764 9929 \n3 21811 9929 4765 \n3 4764 21812 9927 \n3 21812 749 16477 \n3 9927 16477 2099 \n3 4765 9928 21813 \n3 9928 2099 16481 \n3 21813 16481 751 \n3 749 21814 16476 \n3 21814 4766 9932 \n3 16476 9932 2097 \n3 4766 21815 9930 \n3 21815 267 21816 \n3 9930 21816 4767 \n3 2097 9931 16478 \n3 9931 4767 21817 \n3 16478 21817 750 \n3 751 16480 21818 \n3 16480 2098 9935 \n3 21818 9935 4769 \n3 2098 16479 9933 \n3 16479 750 21819 \n3 9933 21819 4768 \n3 4769 9934 21821 \n3 9934 4768 21820 \n3 21821 21820 170 \n3 171 21822 21823 \n3 21822 4770 9938 \n3 21823 9938 4771 \n3 4770 21824 9936 \n3 21824 752 16483 \n3 9936 16483 2102 \n3 4771 9937 21825 \n3 9937 2102 16487 \n3 21825 16487 754 \n3 752 21826 16482 \n3 21826 4772 9941 \n3 16482 9941 2100 \n3 4772 21827 9939 \n3 21827 271 21828 \n3 9939 21828 4773 \n3 2100 9940 16484 \n3 9940 4773 21829 \n3 16484 21829 753 \n3 754 16486 21830 \n3 16486 2101 9944 \n3 21830 9944 4775 \n3 2101 16485 9942 \n3 16485 753 21831 \n3 9942 21831 4774 \n3 4775 9943 21833 \n3 9943 4774 21832 \n3 21833 21832 1641 \n3 1642 21834 21835 \n3 21834 4776 9947 \n3 21835 9947 4777 \n3 4776 21836 9945 \n3 21836 755 16489 \n3 9945 16489 2105 \n3 4777 9946 21837 \n3 9946 2105 16493 \n3 21837 16493 757 \n3 755 21838 16488 \n3 21838 4778 9950 \n3 16488 9950 2103 \n3 4778 21839 9948 \n3 21839 175 21840 \n3 9948 21840 4779 \n3 2103 9949 16490 \n3 9949 4779 21841 \n3 16490 21841 756 \n3 757 16492 21842 \n3 16492 2104 9953 \n3 21842 9953 4781 \n3 2104 16491 9951 \n3 16491 756 21843 \n3 9951 21843 4780 \n3 4781 9952 21845 \n3 9952 4780 21844 \n3 21845 21844 266 \n3 1643 21846 21847 \n3 21846 4782 9956 \n3 21847 9956 4783 \n3 4782 21848 9954 \n3 21848 758 16495 \n3 9954 16495 2108 \n3 4783 9955 21849 \n3 9955 2108 16499 \n3 21849 16499 760 \n3 758 21850 16494 \n3 21850 4784 9959 \n3 16494 9959 2106 \n3 4784 21851 9957 \n3 21851 350 21852 \n3 9957 21852 4785 \n3 2106 9958 16496 \n3 9958 4785 21853 \n3 16496 21853 759 \n3 760 16498 21854 \n3 16498 2107 9962 \n3 21854 9962 4787 \n3 2107 16497 9960 \n3 16497 759 21855 \n3 9960 21855 4786 \n3 4787 9961 21857 \n3 9961 4786 21856 \n3 21857 21856 173 \n3 174 21858 21859 \n3 21858 4788 9965 \n3 21859 9965 4789 \n3 4788 21860 9963 \n3 21860 761 16501 \n3 9963 16501 2111 \n3 4789 9964 21861 \n3 9964 2111 16505 \n3 21861 16505 763 \n3 761 21862 16500 \n3 21862 4790 9968 \n3 16500 9968 2109 \n3 4790 21863 9966 \n3 21863 351 21864 \n3 9966 21864 4791 \n3 2109 9967 16502 \n3 9967 4791 21865 \n3 16502 21865 762 \n3 763 16504 21866 \n3 16504 2110 9971 \n3 21866 9971 4793 \n3 2110 16503 9969 \n3 16503 762 21867 \n3 9969 21867 4792 \n3 4793 9970 21869 \n3 9970 4792 21868 \n3 21869 21868 268 \n3 270 21870 21871 \n3 21870 4794 9974 \n3 21871 9974 4795 \n3 4794 21872 9972 \n3 21872 764 16507 \n3 9972 16507 2114 \n3 4795 9973 21873 \n3 9973 2114 16511 \n3 21873 16511 766 \n3 764 21874 16506 \n3 21874 4796 9977 \n3 16506 9977 2112 \n3 4796 21875 9975 \n3 21875 178 21876 \n3 9975 21876 4797 \n3 2112 9976 16508 \n3 9976 4797 21877 \n3 16508 21877 765 \n3 766 16510 21878 \n3 16510 2113 9980 \n3 21878 9980 4799 \n3 2113 16509 9978 \n3 16509 765 21879 \n3 9978 21879 4798 \n3 4799 9979 21881 \n3 9979 4798 21880 \n3 21881 21880 1644 \n3 269 21882 21883 \n3 21882 4800 9983 \n3 21883 9983 4801 \n3 4800 21884 9981 \n3 21884 767 16513 \n3 9981 16513 2117 \n3 4801 9982 21885 \n3 9982 2117 16517 \n3 21885 16517 769 \n3 767 21886 16512 \n3 21886 4802 9986 \n3 16512 9986 2115 \n3 4802 21887 9984 \n3 21887 352 21888 \n3 9984 21888 4803 \n3 2115 9985 16514 \n3 9985 4803 21889 \n3 16514 21889 768 \n3 769 16516 21890 \n3 16516 2116 9989 \n3 21890 9989 4805 \n3 2116 16515 9987 \n3 16515 768 21891 \n3 9987 21891 4804 \n3 4805 9988 21893 \n3 9988 4804 21892 \n3 21893 21892 176 \n3 177 21894 21895 \n3 21894 4806 9992 \n3 21895 9992 4807 \n3 4806 21896 9990 \n3 21896 770 16519 \n3 9990 16519 2120 \n3 4807 9991 21897 \n3 9991 2120 16523 \n3 21897 16523 772 \n3 770 21898 16518 \n3 21898 4808 9995 \n3 16518 9995 2118 \n3 4808 21899 9993 \n3 21899 353 21900 \n3 9993 21900 4809 \n3 2118 9994 16520 \n3 9994 4809 21901 \n3 16520 21901 771 \n3 772 16522 21902 \n3 16522 2119 9998 \n3 21902 9998 4811 \n3 2119 16521 9996 \n3 16521 771 21903 \n3 9996 21903 4810 \n3 4811 9997 21905 \n3 9997 4810 21904 \n3 21905 21904 1645 \n3 354 21906 21907 \n3 21906 4812 10001 \n3 21907 10001 4813 \n3 4812 21908 9999 \n3 21908 773 16525 \n3 9999 16525 2123 \n3 4813 10000 21909 \n3 10000 2123 16529 \n3 21909 16529 775 \n3 773 21910 16524 \n3 21910 4814 10004 \n3 16524 10004 2121 \n3 4814 21911 10002 \n3 21911 181 21912 \n3 10002 21912 4815 \n3 2121 10003 16526 \n3 10003 4815 21913 \n3 16526 21913 774 \n3 775 16528 21914 \n3 16528 2122 10007 \n3 21914 10007 4817 \n3 2122 16527 10005 \n3 16527 774 21915 \n3 10005 21915 4816 \n3 4817 10006 21917 \n3 10006 4816 21916 \n3 21917 21916 355 \n3 356 21918 21919 \n3 21918 4818 10010 \n3 21919 10010 4819 \n3 4818 21920 10008 \n3 21920 776 16531 \n3 10008 16531 2126 \n3 4819 10009 21921 \n3 10009 2126 16535 \n3 21921 16535 778 \n3 776 21922 16530 \n3 21922 4820 10013 \n3 16530 10013 2124 \n3 4820 21923 10011 \n3 21923 273 21924 \n3 10011 21924 4821 \n3 2124 10012 16532 \n3 10012 4821 21925 \n3 16532 21925 777 \n3 778 16534 21926 \n3 16534 2125 10016 \n3 21926 10016 4823 \n3 2125 16533 10014 \n3 16533 777 21927 \n3 10014 21927 4822 \n3 4823 10015 21929 \n3 10015 4822 21928 \n3 21929 21928 179 \n3 180 21930 21931 \n3 21930 4824 10019 \n3 21931 10019 4825 \n3 4824 21932 10017 \n3 21932 779 16537 \n3 10017 16537 2129 \n3 4825 10018 21933 \n3 10018 2129 16541 \n3 21933 16541 781 \n3 779 21934 16536 \n3 21934 4826 10022 \n3 16536 10022 2127 \n3 4826 21935 10020 \n3 21935 277 21936 \n3 10020 21936 4827 \n3 2127 10021 16538 \n3 10021 4827 21937 \n3 16538 21937 780 \n3 781 16540 21938 \n3 16540 2128 10025 \n3 21938 10025 4829 \n3 2128 16539 10023 \n3 16539 780 21939 \n3 10023 21939 4828 \n3 4829 10024 21941 \n3 10024 4828 21940 \n3 21941 21940 357 \n3 358 21942 21943 \n3 21942 4830 10028 \n3 21943 10028 4831 \n3 4830 21944 10026 \n3 21944 782 16543 \n3 10026 16543 2132 \n3 4831 10027 21945 \n3 10027 2132 16547 \n3 21945 16547 784 \n3 782 21946 16542 \n3 21946 4832 10031 \n3 16542 10031 2130 \n3 4832 21947 10029 \n3 21947 184 21948 \n3 10029 21948 4833 \n3 2130 10030 16544 \n3 10030 4833 21949 \n3 16544 21949 783 \n3 784 16546 21950 \n3 16546 2131 10034 \n3 21950 10034 4835 \n3 2131 16545 10032 \n3 16545 783 21951 \n3 10032 21951 4834 \n3 4835 10033 21953 \n3 10033 4834 21952 \n3 21953 21952 272 \n3 359 21954 21955 \n3 21954 4836 10037 \n3 21955 10037 4837 \n3 4836 21956 10035 \n3 21956 785 16549 \n3 10035 16549 2135 \n3 4837 10036 21957 \n3 10036 2135 16553 \n3 21957 16553 787 \n3 785 21958 16548 \n3 21958 4838 10040 \n3 16548 10040 2133 \n3 4838 21959 10038 \n3 21959 353 21960 \n3 10038 21960 4839 \n3 2133 10039 16550 \n3 10039 4839 21961 \n3 16550 21961 786 \n3 787 16552 21962 \n3 16552 2134 10043 \n3 21962 10043 4841 \n3 2134 16551 10041 \n3 16551 786 21963 \n3 10041 21963 4840 \n3 4841 10042 21965 \n3 10042 4840 21964 \n3 21965 21964 182 \n3 183 21966 21967 \n3 21966 4842 10046 \n3 21967 10046 4843 \n3 4842 21968 10044 \n3 21968 788 16555 \n3 10044 16555 2138 \n3 4843 10045 21969 \n3 10045 2138 16559 \n3 21969 16559 790 \n3 788 21970 16554 \n3 21970 4844 10049 \n3 16554 10049 2136 \n3 4844 21971 10047 \n3 21971 352 21972 \n3 10047 21972 4845 \n3 2136 10048 16556 \n3 10048 4845 21973 \n3 16556 21973 789 \n3 790 16558 21974 \n3 16558 2137 10052 \n3 21974 10052 4847 \n3 2137 16557 10050 \n3 16557 789 21975 \n3 10050 21975 4846 \n3 4847 10051 21977 \n3 10051 4846 21976 \n3 21977 21976 274 \n3 276 21978 21979 \n3 21978 4848 10055 \n3 21979 10055 4849 \n3 4848 21980 10053 \n3 21980 791 16561 \n3 10053 16561 2141 \n3 4849 10054 21981 \n3 10054 2141 16565 \n3 21981 16565 793 \n3 791 21982 16560 \n3 21982 4850 10058 \n3 16560 10058 2139 \n3 4850 21983 10056 \n3 21983 187 21984 \n3 10056 21984 4851 \n3 2139 10057 16562 \n3 10057 4851 21985 \n3 16562 21985 792 \n3 793 16564 21986 \n3 16564 2140 10061 \n3 21986 10061 4853 \n3 2140 16563 10059 \n3 16563 792 21987 \n3 10059 21987 4852 \n3 4853 10060 21989 \n3 10060 4852 21988 \n3 21989 21988 360 \n3 275 21990 21991 \n3 21990 4854 10064 \n3 21991 10064 4855 \n3 4854 21992 10062 \n3 21992 794 16567 \n3 10062 16567 2144 \n3 4855 10063 21993 \n3 10063 2144 16571 \n3 21993 16571 796 \n3 794 21994 16566 \n3 21994 4856 10067 \n3 16566 10067 2142 \n3 4856 21995 10065 \n3 21995 351 21996 \n3 10065 21996 4857 \n3 2142 10066 16568 \n3 10066 4857 21997 \n3 16568 21997 795 \n3 796 16570 21998 \n3 16570 2143 10070 \n3 21998 10070 4859 \n3 2143 16569 10068 \n3 16569 795 21999 \n3 10068 21999 4858 \n3 4859 10069 22001 \n3 10069 4858 22000 \n3 22001 22000 185 \n3 186 22002 22003 \n3 22002 4860 10073 \n3 22003 10073 4861 \n3 4860 22004 10071 \n3 22004 797 16573 \n3 10071 16573 2147 \n3 4861 10072 22005 \n3 10072 2147 16577 \n3 22005 16577 799 \n3 797 22006 16572 \n3 22006 4862 10076 \n3 16572 10076 2145 \n3 4862 22007 10074 \n3 22007 350 22008 \n3 10074 22008 4863 \n3 2145 10075 16574 \n3 10075 4863 22009 \n3 16574 22009 798 \n3 799 16576 22010 \n3 16576 2146 10079 \n3 22010 10079 4865 \n3 2146 16575 10077 \n3 16575 798 22011 \n3 10077 22011 4864 \n3 4865 10078 22013 \n3 10078 4864 22012 \n3 22013 22012 361 \n3 362 22014 22015 \n3 22014 4866 10082 \n3 22015 10082 4867 \n3 4866 22016 10080 \n3 22016 800 16579 \n3 10080 16579 2150 \n3 4867 10081 22017 \n3 10081 2150 16583 \n3 22017 16583 802 \n3 800 22018 16578 \n3 22018 4868 10085 \n3 16578 10085 2148 \n3 4868 22019 10083 \n3 22019 190 22020 \n3 10083 22020 4869 \n3 2148 10084 16580 \n3 10084 4869 22021 \n3 16580 22021 801 \n3 802 16582 22022 \n3 16582 2149 10088 \n3 22022 10088 4871 \n3 2149 16581 10086 \n3 16581 801 22023 \n3 10086 22023 4870 \n3 4871 10087 22025 \n3 10087 4870 22024 \n3 22025 22024 363 \n3 364 22026 22027 \n3 22026 4872 10091 \n3 22027 10091 4873 \n3 4872 22028 10089 \n3 22028 803 16585 \n3 10089 16585 2153 \n3 4873 10090 22029 \n3 10090 2153 16589 \n3 22029 16589 805 \n3 803 22030 16584 \n3 22030 4874 10094 \n3 16584 10094 2151 \n3 4874 22031 10092 \n3 22031 279 22032 \n3 10092 22032 4875 \n3 2151 10093 16586 \n3 10093 4875 22033 \n3 16586 22033 804 \n3 805 16588 22034 \n3 16588 2152 10097 \n3 22034 10097 4877 \n3 2152 16587 10095 \n3 16587 804 22035 \n3 10095 22035 4876 \n3 4877 10096 22037 \n3 10096 4876 22036 \n3 22037 22036 188 \n3 189 22038 22039 \n3 22038 4878 10100 \n3 22039 10100 4879 \n3 4878 22040 10098 \n3 22040 806 16591 \n3 10098 16591 2156 \n3 4879 10099 22041 \n3 10099 2156 16595 \n3 22041 16595 808 \n3 806 22042 16590 \n3 22042 4880 10103 \n3 16590 10103 2154 \n3 4880 22043 10101 \n3 22043 283 22044 \n3 10101 22044 4881 \n3 2154 10102 16592 \n3 10102 4881 22045 \n3 16592 22045 807 \n3 808 16594 22046 \n3 16594 2155 10106 \n3 22046 10106 4883 \n3 2155 16593 10104 \n3 16593 807 22047 \n3 10104 22047 4882 \n3 4883 10105 22049 \n3 10105 4882 22048 \n3 22049 22048 365 \n3 366 22050 22051 \n3 22050 4884 10109 \n3 22051 10109 4885 \n3 4884 22052 10107 \n3 22052 809 16597 \n3 10107 16597 2159 \n3 4885 10108 22053 \n3 10108 2159 16601 \n3 22053 16601 811 \n3 809 22054 16596 \n3 22054 4886 10112 \n3 16596 10112 2157 \n3 4886 22055 10110 \n3 22055 193 22056 \n3 10110 22056 4887 \n3 2157 10111 16598 \n3 10111 4887 22057 \n3 16598 22057 810 \n3 811 16600 22058 \n3 16600 2158 10115 \n3 22058 10115 4889 \n3 2158 16599 10113 \n3 16599 810 22059 \n3 10113 22059 4888 \n3 4889 10114 22061 \n3 10114 4888 22060 \n3 22061 22060 278 \n3 367 22062 22063 \n3 22062 4890 10118 \n3 22063 10118 4891 \n3 4890 22064 10116 \n3 22064 812 16603 \n3 10116 16603 2162 \n3 4891 10117 22065 \n3 10117 2162 16607 \n3 22065 16607 814 \n3 812 22066 16602 \n3 22066 4892 10121 \n3 16602 10121 2160 \n3 4892 22067 10119 \n3 22067 368 22068 \n3 10119 22068 4893 \n3 2160 10120 16604 \n3 10120 4893 22069 \n3 16604 22069 813 \n3 814 16606 22070 \n3 16606 2161 10124 \n3 22070 10124 4895 \n3 2161 16605 10122 \n3 16605 813 22071 \n3 10122 22071 4894 \n3 4895 10123 22073 \n3 10123 4894 22072 \n3 22073 22072 191 \n3 192 22074 22075 \n3 22074 4896 10127 \n3 22075 10127 4897 \n3 4896 22076 10125 \n3 22076 815 16609 \n3 10125 16609 2165 \n3 4897 10126 22077 \n3 10126 2165 16613 \n3 22077 16613 817 \n3 815 22078 16608 \n3 22078 4898 10130 \n3 16608 10130 2163 \n3 4898 22079 10128 \n3 22079 369 22080 \n3 10128 22080 4899 \n3 2163 10129 16610 \n3 10129 4899 22081 \n3 16610 22081 816 \n3 817 16612 22082 \n3 16612 2164 10133 \n3 22082 10133 4901 \n3 2164 16611 10131 \n3 16611 816 22083 \n3 10131 22083 4900 \n3 4901 10132 22085 \n3 10132 4900 22084 \n3 22085 22084 280 \n3 282 22086 22087 \n3 22086 4902 10136 \n3 22087 10136 4903 \n3 4902 22088 10134 \n3 22088 818 16615 \n3 10134 16615 2168 \n3 4903 10135 22089 \n3 10135 2168 16619 \n3 22089 16619 820 \n3 818 22090 16614 \n3 22090 4904 10139 \n3 16614 10139 2166 \n3 4904 22091 10137 \n3 22091 196 22092 \n3 10137 22092 4905 \n3 2166 10138 16616 \n3 10138 4905 22093 \n3 16616 22093 819 \n3 820 16618 22094 \n3 16618 2167 10142 \n3 22094 10142 4907 \n3 2167 16617 10140 \n3 16617 819 22095 \n3 10140 22095 4906 \n3 4907 10141 22097 \n3 10141 4906 22096 \n3 22097 22096 370 \n3 281 22098 22099 \n3 22098 4908 10145 \n3 22099 10145 4909 \n3 4908 22100 10143 \n3 22100 821 16621 \n3 10143 16621 2171 \n3 4909 10144 22101 \n3 10144 2171 16625 \n3 22101 16625 823 \n3 821 22102 16620 \n3 22102 4910 10148 \n3 16620 10148 2169 \n3 4910 22103 10146 \n3 22103 371 22104 \n3 10146 22104 4911 \n3 2169 10147 16622 \n3 10147 4911 22105 \n3 16622 22105 822 \n3 823 16624 22106 \n3 16624 2170 10151 \n3 22106 10151 4913 \n3 2170 16623 10149 \n3 16623 822 22107 \n3 10149 22107 4912 \n3 4913 10150 22109 \n3 10150 4912 22108 \n3 22109 22108 194 \n3 195 22110 22111 \n3 22110 4914 10154 \n3 22111 10154 4915 \n3 4914 22112 10152 \n3 22112 824 16627 \n3 10152 16627 2174 \n3 4915 10153 22113 \n3 10153 2174 16631 \n3 22113 16631 826 \n3 824 22114 16626 \n3 22114 4916 10157 \n3 16626 10157 2172 \n3 4916 22115 10155 \n3 22115 372 22116 \n3 10155 22116 4917 \n3 2172 10156 16628 \n3 10156 4917 22117 \n3 16628 22117 825 \n3 826 16630 22118 \n3 16630 2173 10160 \n3 22118 10160 4919 \n3 2173 16629 10158 \n3 16629 825 22119 \n3 10158 22119 4918 \n3 4919 10159 22121 \n3 10159 4918 22120 \n3 22121 22120 373 \n3 1646 22122 22123 \n3 22122 4920 10163 \n3 22123 10163 4921 \n3 4920 22124 10161 \n3 22124 827 16633 \n3 10161 16633 2177 \n3 4921 10162 22125 \n3 10162 2177 16637 \n3 22125 16637 829 \n3 827 22126 16632 \n3 22126 4922 10166 \n3 16632 10166 2175 \n3 4922 22127 10164 \n3 22127 199 22128 \n3 10164 22128 4923 \n3 2175 10165 16634 \n3 10165 4923 22129 \n3 16634 22129 828 \n3 829 16636 22130 \n3 16636 2176 10169 \n3 22130 10169 4925 \n3 2176 16635 10167 \n3 16635 828 22131 \n3 10167 22131 4924 \n3 4925 10168 22133 \n3 10168 4924 22132 \n3 22133 22132 1647 \n3 1648 22134 22135 \n3 22134 4926 10172 \n3 22135 10172 4927 \n3 4926 22136 10170 \n3 22136 830 16639 \n3 10170 16639 2180 \n3 4927 10171 22137 \n3 10171 2180 16643 \n3 22137 16643 832 \n3 830 22138 16638 \n3 22138 4928 10175 \n3 16638 10175 2178 \n3 4928 22139 10173 \n3 22139 285 22140 \n3 10173 22140 4929 \n3 2178 10174 16640 \n3 10174 4929 22141 \n3 16640 22141 831 \n3 832 16642 22142 \n3 16642 2179 10178 \n3 22142 10178 4931 \n3 2179 16641 10176 \n3 16641 831 22143 \n3 10176 22143 4930 \n3 4931 10177 22145 \n3 10177 4930 22144 \n3 22145 22144 197 \n3 198 22146 22147 \n3 22146 4932 10181 \n3 22147 10181 4933 \n3 4932 22148 10179 \n3 22148 833 16645 \n3 10179 16645 2183 \n3 4933 10180 22149 \n3 10180 2183 16649 \n3 22149 16649 835 \n3 833 22150 16644 \n3 22150 4934 10184 \n3 16644 10184 2181 \n3 4934 22151 10182 \n3 22151 289 22152 \n3 10182 22152 4935 \n3 2181 10183 16646 \n3 10183 4935 22153 \n3 16646 22153 834 \n3 835 16648 22154 \n3 16648 2182 10187 \n3 22154 10187 4937 \n3 2182 16647 10185 \n3 16647 834 22155 \n3 10185 22155 4936 \n3 4937 10186 22157 \n3 10186 4936 22156 \n3 22157 22156 1649 \n3 1650 22158 22159 \n3 22158 4938 10190 \n3 22159 10190 4939 \n3 4938 22160 10188 \n3 22160 836 16651 \n3 10188 16651 2186 \n3 4939 10189 22161 \n3 10189 2186 16655 \n3 22161 16655 838 \n3 836 22162 16650 \n3 22162 4940 10193 \n3 16650 10193 2184 \n3 4940 22163 10191 \n3 22163 202 22164 \n3 10191 22164 4941 \n3 2184 10192 16652 \n3 10192 4941 22165 \n3 16652 22165 837 \n3 838 16654 22166 \n3 16654 2185 10196 \n3 22166 10196 4943 \n3 2185 16653 10194 \n3 16653 837 22167 \n3 10194 22167 4942 \n3 4943 10195 22169 \n3 10195 4942 22168 \n3 22169 22168 284 \n3 1651 22170 22171 \n3 22170 4944 10199 \n3 22171 10199 4945 \n3 4944 22172 10197 \n3 22172 839 16657 \n3 10197 16657 2189 \n3 4945 10198 22173 \n3 10198 2189 16661 \n3 22173 16661 841 \n3 839 22174 16656 \n3 22174 4946 10202 \n3 16656 10202 2187 \n3 4946 22175 10200 \n3 22175 372 22176 \n3 10200 22176 4947 \n3 2187 10201 16658 \n3 10201 4947 22177 \n3 16658 22177 840 \n3 841 16660 22178 \n3 16660 2188 10205 \n3 22178 10205 4949 \n3 2188 16659 10203 \n3 16659 840 22179 \n3 10203 22179 4948 \n3 4949 10204 22181 \n3 10204 4948 22180 \n3 22181 22180 200 \n3 201 22182 22183 \n3 22182 4950 10208 \n3 22183 10208 4951 \n3 4950 22184 10206 \n3 22184 842 16663 \n3 10206 16663 2192 \n3 4951 10207 22185 \n3 10207 2192 16667 \n3 22185 16667 844 \n3 842 22186 16662 \n3 22186 4952 10211 \n3 16662 10211 2190 \n3 4952 22187 10209 \n3 22187 371 22188 \n3 10209 22188 4953 \n3 2190 10210 16664 \n3 10210 4953 22189 \n3 16664 22189 843 \n3 844 16666 22190 \n3 16666 2191 10214 \n3 22190 10214 4955 \n3 2191 16665 10212 \n3 16665 843 22191 \n3 10212 22191 4954 \n3 4955 10213 22193 \n3 10213 4954 22192 \n3 22193 22192 286 \n3 288 22194 22195 \n3 22194 4956 10217 \n3 22195 10217 4957 \n3 4956 22196 10215 \n3 22196 845 16669 \n3 10215 16669 2195 \n3 4957 10216 22197 \n3 10216 2195 16673 \n3 22197 16673 847 \n3 845 22198 16668 \n3 22198 4958 10220 \n3 16668 10220 2193 \n3 4958 22199 10218 \n3 22199 205 22200 \n3 10218 22200 4959 \n3 2193 10219 16670 \n3 10219 4959 22201 \n3 16670 22201 846 \n3 847 16672 22202 \n3 16672 2194 10223 \n3 22202 10223 4961 \n3 2194 16671 10221 \n3 16671 846 22203 \n3 10221 22203 4960 \n3 4961 10222 22205 \n3 10222 4960 22204 \n3 22205 22204 1652 \n3 287 22206 22207 \n3 22206 4962 10226 \n3 22207 10226 4963 \n3 4962 22208 10224 \n3 22208 848 16675 \n3 10224 16675 2198 \n3 4963 10225 22209 \n3 10225 2198 16679 \n3 22209 16679 850 \n3 848 22210 16674 \n3 22210 4964 10229 \n3 16674 10229 2196 \n3 4964 22211 10227 \n3 22211 369 22212 \n3 10227 22212 4965 \n3 2196 10228 16676 \n3 10228 4965 22213 \n3 16676 22213 849 \n3 850 16678 22214 \n3 16678 2197 10232 \n3 22214 10232 4967 \n3 2197 16677 10230 \n3 16677 849 22215 \n3 10230 22215 4966 \n3 4967 10231 22217 \n3 10231 4966 22216 \n3 22217 22216 203 \n3 204 22218 22219 \n3 22218 4968 10235 \n3 22219 10235 4969 \n3 4968 22220 10233 \n3 22220 851 16681 \n3 10233 16681 2201 \n3 4969 10234 22221 \n3 10234 2201 16685 \n3 22221 16685 853 \n3 851 22222 16680 \n3 22222 4970 10238 \n3 16680 10238 2199 \n3 4970 22223 10236 \n3 22223 368 22224 \n3 10236 22224 4971 \n3 2199 10237 16682 \n3 10237 4971 22225 \n3 16682 22225 852 \n3 853 16684 22226 \n3 16684 2200 10241 \n3 22226 10241 4973 \n3 2200 16683 10239 \n3 16683 852 22227 \n3 10239 22227 4972 \n3 4973 10240 22229 \n3 10240 4972 22228 \n3 22229 22228 1653 \n3 1654 22230 22231 \n3 22230 4974 10244 \n3 22231 10244 4975 \n3 4974 22232 10242 \n3 22232 854 16687 \n3 10242 16687 2204 \n3 4975 10243 22233 \n3 10243 2204 16691 \n3 22233 16691 856 \n3 854 22234 16686 \n3 22234 4976 10247 \n3 16686 10247 2202 \n3 4976 22235 10245 \n3 22235 208 22236 \n3 10245 22236 4977 \n3 2202 10246 16688 \n3 10246 4977 22237 \n3 16688 22237 855 \n3 856 16690 22238 \n3 16690 2203 10250 \n3 22238 10250 4979 \n3 2203 16689 10248 \n3 16689 855 22239 \n3 10248 22239 4978 \n3 4979 10249 22241 \n3 10249 4978 22240 \n3 22241 22240 374 \n3 1655 22242 22243 \n3 22242 4980 10253 \n3 22243 10253 4981 \n3 4980 22244 10251 \n3 22244 857 16693 \n3 10251 16693 2207 \n3 4981 10252 22245 \n3 10252 2207 16697 \n3 22245 16697 859 \n3 857 22246 16692 \n3 22246 4982 10256 \n3 16692 10256 2205 \n3 4982 22247 10254 \n3 22247 291 22248 \n3 10254 22248 4983 \n3 2205 10255 16694 \n3 10255 4983 22249 \n3 16694 22249 858 \n3 859 16696 22250 \n3 16696 2206 10259 \n3 22250 10259 4985 \n3 2206 16695 10257 \n3 16695 858 22251 \n3 10257 22251 4984 \n3 4985 10258 22253 \n3 10258 4984 22252 \n3 22253 22252 206 \n3 207 22254 22255 \n3 22254 4986 10262 \n3 22255 10262 4987 \n3 4986 22256 10260 \n3 22256 860 16699 \n3 10260 16699 2210 \n3 4987 10261 22257 \n3 10261 2210 16703 \n3 22257 16703 862 \n3 860 22258 16698 \n3 22258 4988 10265 \n3 16698 10265 2208 \n3 4988 22259 10263 \n3 22259 295 22260 \n3 10263 22260 4989 \n3 2208 10264 16700 \n3 10264 4989 22261 \n3 16700 22261 861 \n3 862 16702 22262 \n3 16702 2209 10268 \n3 22262 10268 4991 \n3 2209 16701 10266 \n3 16701 861 22263 \n3 10266 22263 4990 \n3 4991 10267 22265 \n3 10267 4990 22264 \n3 22265 22264 375 \n3 1656 22266 22267 \n3 22266 4992 10271 \n3 22267 10271 4993 \n3 4992 22268 10269 \n3 22268 863 16705 \n3 10269 16705 2213 \n3 4993 10270 22269 \n3 10270 2213 16709 \n3 22269 16709 865 \n3 863 22270 16704 \n3 22270 4994 10274 \n3 16704 10274 2211 \n3 4994 22271 10272 \n3 22271 211 22272 \n3 10272 22272 4995 \n3 2211 10273 16706 \n3 10273 4995 22273 \n3 16706 22273 864 \n3 865 16708 22274 \n3 16708 2212 10277 \n3 22274 10277 4997 \n3 2212 16707 10275 \n3 16707 864 22275 \n3 10275 22275 4996 \n3 4997 10276 22277 \n3 10276 4996 22276 \n3 22277 22276 290 \n3 1657 22278 22279 \n3 22278 4998 10280 \n3 22279 10280 4999 \n3 4998 22280 10278 \n3 22280 866 16711 \n3 10278 16711 2216 \n3 4999 10279 22281 \n3 10279 2216 16715 \n3 22281 16715 868 \n3 866 22282 16710 \n3 22282 5000 10283 \n3 16710 10283 2214 \n3 5000 22283 10281 \n3 22283 376 22284 \n3 10281 22284 5001 \n3 2214 10282 16712 \n3 10282 5001 22285 \n3 16712 22285 867 \n3 868 16714 22286 \n3 16714 2215 10286 \n3 22286 10286 5003 \n3 2215 16713 10284 \n3 16713 867 22287 \n3 10284 22287 5002 \n3 5003 10285 22289 \n3 10285 5002 22288 \n3 22289 22288 209 \n3 210 22290 22291 \n3 22290 5004 10289 \n3 22291 10289 5005 \n3 5004 22292 10287 \n3 22292 869 16717 \n3 10287 16717 2219 \n3 5005 10288 22293 \n3 10288 2219 16721 \n3 22293 16721 871 \n3 869 22294 16716 \n3 22294 5006 10292 \n3 16716 10292 2217 \n3 5006 22295 10290 \n3 22295 377 22296 \n3 10290 22296 5007 \n3 2217 10291 16718 \n3 10291 5007 22297 \n3 16718 22297 870 \n3 871 16720 22298 \n3 16720 2218 10295 \n3 22298 10295 5009 \n3 2218 16719 10293 \n3 16719 870 22299 \n3 10293 22299 5008 \n3 5009 10294 22301 \n3 10294 5008 22300 \n3 22301 22300 292 \n3 294 22302 22303 \n3 22302 5010 10298 \n3 22303 10298 5011 \n3 5010 22304 10296 \n3 22304 872 16723 \n3 10296 16723 2222 \n3 5011 10297 22305 \n3 10297 2222 16727 \n3 22305 16727 874 \n3 872 22306 16722 \n3 22306 5012 10301 \n3 16722 10301 2220 \n3 5012 22307 10299 \n3 22307 214 22308 \n3 10299 22308 5013 \n3 2220 10300 16724 \n3 10300 5013 22309 \n3 16724 22309 873 \n3 874 16726 22310 \n3 16726 2221 10304 \n3 22310 10304 5015 \n3 2221 16725 10302 \n3 16725 873 22311 \n3 10302 22311 5014 \n3 5015 10303 22313 \n3 10303 5014 22312 \n3 22313 22312 378 \n3 293 22314 22315 \n3 22314 5016 10307 \n3 22315 10307 5017 \n3 5016 22316 10305 \n3 22316 875 16729 \n3 10305 16729 2225 \n3 5017 10306 22317 \n3 10306 2225 16733 \n3 22317 16733 877 \n3 875 22318 16728 \n3 22318 5018 10310 \n3 16728 10310 2223 \n3 5018 22319 10308 \n3 22319 379 22320 \n3 10308 22320 5019 \n3 2223 10309 16730 \n3 10309 5019 22321 \n3 16730 22321 876 \n3 877 16732 22322 \n3 16732 2224 10313 \n3 22322 10313 5021 \n3 2224 16731 10311 \n3 16731 876 22323 \n3 10311 22323 5020 \n3 5021 10312 22325 \n3 10312 5020 22324 \n3 22325 22324 212 \n3 213 22326 22327 \n3 22326 5022 10316 \n3 22327 10316 5023 \n3 5022 22328 10314 \n3 22328 878 16735 \n3 10314 16735 2228 \n3 5023 10315 22329 \n3 10315 2228 16739 \n3 22329 16739 880 \n3 878 22330 16734 \n3 22330 5024 10319 \n3 16734 10319 2226 \n3 5024 22331 10317 \n3 22331 380 22332 \n3 10317 22332 5025 \n3 2226 10318 16736 \n3 10318 5025 22333 \n3 16736 22333 879 \n3 880 16738 22334 \n3 16738 2227 10322 \n3 22334 10322 5027 \n3 2227 16737 10320 \n3 16737 879 22335 \n3 10320 22335 5026 \n3 5027 10321 22337 \n3 10321 5026 22336 \n3 22337 22336 381 \n3 1658 22338 22339 \n3 22338 5028 10325 \n3 22339 10325 5029 \n3 5028 22340 10323 \n3 22340 881 16741 \n3 10323 16741 2231 \n3 5029 10324 22341 \n3 10324 2231 16745 \n3 22341 16745 883 \n3 881 22342 16740 \n3 22342 5030 10328 \n3 16740 10328 2229 \n3 5030 22343 10326 \n3 22343 217 22344 \n3 10326 22344 5031 \n3 2229 10327 16742 \n3 10327 5031 22345 \n3 16742 22345 882 \n3 883 16744 22346 \n3 16744 2230 10331 \n3 22346 10331 5033 \n3 2230 16743 10329 \n3 16743 882 22347 \n3 10329 22347 5032 \n3 5033 10330 22349 \n3 10330 5032 22348 \n3 22349 22348 1659 \n3 1660 22350 22351 \n3 22350 5034 10334 \n3 22351 10334 5035 \n3 5034 22352 10332 \n3 22352 884 16747 \n3 10332 16747 2234 \n3 5035 10333 22353 \n3 10333 2234 16751 \n3 22353 16751 886 \n3 884 22354 16746 \n3 22354 5036 10337 \n3 16746 10337 2232 \n3 5036 22355 10335 \n3 22355 297 22356 \n3 10335 22356 5037 \n3 2232 10336 16748 \n3 10336 5037 22357 \n3 16748 22357 885 \n3 886 16750 22358 \n3 16750 2233 10340 \n3 22358 10340 5039 \n3 2233 16749 10338 \n3 16749 885 22359 \n3 10338 22359 5038 \n3 5039 10339 22361 \n3 10339 5038 22360 \n3 22361 22360 215 \n3 216 22362 22363 \n3 22362 5040 10343 \n3 22363 10343 5041 \n3 5040 22364 10341 \n3 22364 887 16753 \n3 10341 16753 2237 \n3 5041 10342 22365 \n3 10342 2237 16757 \n3 22365 16757 889 \n3 887 22366 16752 \n3 22366 5042 10346 \n3 16752 10346 2235 \n3 5042 22367 10344 \n3 22367 301 22368 \n3 10344 22368 5043 \n3 2235 10345 16754 \n3 10345 5043 22369 \n3 16754 22369 888 \n3 889 16756 22370 \n3 16756 2236 10349 \n3 22370 10349 5045 \n3 2236 16755 10347 \n3 16755 888 22371 \n3 10347 22371 5044 \n3 5045 10348 22373 \n3 10348 5044 22372 \n3 22373 22372 1661 \n3 1662 22374 22375 \n3 22374 5046 10352 \n3 22375 10352 5047 \n3 5046 22376 10350 \n3 22376 890 16759 \n3 10350 16759 2240 \n3 5047 10351 22377 \n3 10351 2240 16763 \n3 22377 16763 892 \n3 890 22378 16758 \n3 22378 5048 10355 \n3 16758 10355 2238 \n3 5048 22379 10353 \n3 22379 220 22380 \n3 10353 22380 5049 \n3 2238 10354 16760 \n3 10354 5049 22381 \n3 16760 22381 891 \n3 892 16762 22382 \n3 16762 2239 10358 \n3 22382 10358 5051 \n3 2239 16761 10356 \n3 16761 891 22383 \n3 10356 22383 5050 \n3 5051 10357 22385 \n3 10357 5050 22384 \n3 22385 22384 296 \n3 1663 22386 22387 \n3 22386 5052 10361 \n3 22387 10361 5053 \n3 5052 22388 10359 \n3 22388 893 16765 \n3 10359 16765 2243 \n3 5053 10360 22389 \n3 10360 2243 16769 \n3 22389 16769 895 \n3 893 22390 16764 \n3 22390 5054 10364 \n3 16764 10364 2241 \n3 5054 22391 10362 \n3 22391 380 22392 \n3 10362 22392 5055 \n3 2241 10363 16766 \n3 10363 5055 22393 \n3 16766 22393 894 \n3 895 16768 22394 \n3 16768 2242 10367 \n3 22394 10367 5057 \n3 2242 16767 10365 \n3 16767 894 22395 \n3 10365 22395 5056 \n3 5057 10366 22397 \n3 10366 5056 22396 \n3 22397 22396 218 \n3 219 22398 22399 \n3 22398 5058 10370 \n3 22399 10370 5059 \n3 5058 22400 10368 \n3 22400 896 16771 \n3 10368 16771 2246 \n3 5059 10369 22401 \n3 10369 2246 16775 \n3 22401 16775 898 \n3 896 22402 16770 \n3 22402 5060 10373 \n3 16770 10373 2244 \n3 5060 22403 10371 \n3 22403 379 22404 \n3 10371 22404 5061 \n3 2244 10372 16772 \n3 10372 5061 22405 \n3 16772 22405 897 \n3 898 16774 22406 \n3 16774 2245 10376 \n3 22406 10376 5063 \n3 2245 16773 10374 \n3 16773 897 22407 \n3 10374 22407 5062 \n3 5063 10375 22409 \n3 10375 5062 22408 \n3 22409 22408 298 \n3 300 22410 22411 \n3 22410 5064 10379 \n3 22411 10379 5065 \n3 5064 22412 10377 \n3 22412 899 16777 \n3 10377 16777 2249 \n3 5065 10378 22413 \n3 10378 2249 16781 \n3 22413 16781 901 \n3 899 22414 16776 \n3 22414 5066 10382 \n3 16776 10382 2247 \n3 5066 22415 10380 \n3 22415 223 22416 \n3 10380 22416 5067 \n3 2247 10381 16778 \n3 10381 5067 22417 \n3 16778 22417 900 \n3 901 16780 22418 \n3 16780 2248 10385 \n3 22418 10385 5069 \n3 2248 16779 10383 \n3 16779 900 22419 \n3 10383 22419 5068 \n3 5069 10384 22421 \n3 10384 5068 22420 \n3 22421 22420 1664 \n3 299 22422 22423 \n3 22422 5070 10388 \n3 22423 10388 5071 \n3 5070 22424 10386 \n3 22424 902 16783 \n3 10386 16783 2252 \n3 5071 10387 22425 \n3 10387 2252 16787 \n3 22425 16787 904 \n3 902 22426 16782 \n3 22426 5072 10391 \n3 16782 10391 2250 \n3 5072 22427 10389 \n3 22427 377 22428 \n3 10389 22428 5073 \n3 2250 10390 16784 \n3 10390 5073 22429 \n3 16784 22429 903 \n3 904 16786 22430 \n3 16786 2251 10394 \n3 22430 10394 5075 \n3 2251 16785 10392 \n3 16785 903 22431 \n3 10392 22431 5074 \n3 5075 10393 22433 \n3 10393 5074 22432 \n3 22433 22432 221 \n3 222 22434 22435 \n3 22434 5076 10397 \n3 22435 10397 5077 \n3 5076 22436 10395 \n3 22436 905 16789 \n3 10395 16789 2255 \n3 5077 10396 22437 \n3 10396 2255 16793 \n3 22437 16793 907 \n3 905 22438 16788 \n3 22438 5078 10400 \n3 16788 10400 2253 \n3 5078 22439 10398 \n3 22439 376 22440 \n3 10398 22440 5079 \n3 2253 10399 16790 \n3 10399 5079 22441 \n3 16790 22441 906 \n3 907 16792 22442 \n3 16792 2254 10403 \n3 22442 10403 5081 \n3 2254 16791 10401 \n3 16791 906 22443 \n3 10401 22443 5080 \n3 5081 10402 22445 \n3 10402 5080 22444 \n3 22445 22444 1665 \n3 1666 22446 22447 \n3 22446 5082 10406 \n3 22447 10406 5083 \n3 5082 22448 10404 \n3 22448 908 16795 \n3 10404 16795 2258 \n3 5083 10405 22449 \n3 10405 2258 16799 \n3 22449 16799 910 \n3 908 22450 16794 \n3 22450 5084 10409 \n3 16794 10409 2256 \n3 5084 22451 10407 \n3 22451 226 22452 \n3 10407 22452 5085 \n3 2256 10408 16796 \n3 10408 5085 22453 \n3 16796 22453 909 \n3 910 16798 22454 \n3 16798 2257 10412 \n3 22454 10412 5087 \n3 2257 16797 10410 \n3 16797 909 22455 \n3 10410 22455 5086 \n3 5087 10411 22457 \n3 10411 5086 22456 \n3 22457 22456 1667 \n3 1668 22458 22459 \n3 22458 5088 10415 \n3 22459 10415 5089 \n3 5088 22460 10413 \n3 22460 911 16801 \n3 10413 16801 2261 \n3 5089 10414 22461 \n3 10414 2261 16805 \n3 22461 16805 913 \n3 911 22462 16800 \n3 22462 5090 10418 \n3 16800 10418 2259 \n3 5090 22463 10416 \n3 22463 303 22464 \n3 10416 22464 5091 \n3 2259 10417 16802 \n3 10417 5091 22465 \n3 16802 22465 912 \n3 913 16804 22466 \n3 16804 2260 10421 \n3 22466 10421 5093 \n3 2260 16803 10419 \n3 16803 912 22467 \n3 10419 22467 5092 \n3 5093 10420 22469 \n3 10420 5092 22468 \n3 22469 22468 224 \n3 225 22470 22471 \n3 22470 5094 10424 \n3 22471 10424 5095 \n3 5094 22472 10422 \n3 22472 914 16807 \n3 10422 16807 2264 \n3 5095 10423 22473 \n3 10423 2264 16811 \n3 22473 16811 916 \n3 914 22474 16806 \n3 22474 5096 10427 \n3 16806 10427 2262 \n3 5096 22475 10425 \n3 22475 307 22476 \n3 10425 22476 5097 \n3 2262 10426 16808 \n3 10426 5097 22477 \n3 16808 22477 915 \n3 916 16810 22478 \n3 16810 2263 10430 \n3 22478 10430 5099 \n3 2263 16809 10428 \n3 16809 915 22479 \n3 10428 22479 5098 \n3 5099 10429 22481 \n3 10429 5098 22480 \n3 22481 22480 1669 \n3 1670 22482 22483 \n3 22482 5100 10433 \n3 22483 10433 5101 \n3 5100 22484 10431 \n3 22484 917 16813 \n3 10431 16813 2267 \n3 5101 10432 22485 \n3 10432 2267 16817 \n3 22485 16817 919 \n3 917 22486 16812 \n3 22486 5102 10436 \n3 16812 10436 2265 \n3 5102 22487 10434 \n3 22487 229 22488 \n3 10434 22488 5103 \n3 2265 10435 16814 \n3 10435 5103 22489 \n3 16814 22489 918 \n3 919 16816 22490 \n3 16816 2266 10439 \n3 22490 10439 5105 \n3 2266 16815 10437 \n3 16815 918 22491 \n3 10437 22491 5104 \n3 5105 10438 22493 \n3 10438 5104 22492 \n3 22493 22492 302 \n3 1671 22494 22495 \n3 22494 5106 10442 \n3 22495 10442 5107 \n3 5106 22496 10440 \n3 22496 920 16819 \n3 10440 16819 2270 \n3 5107 10441 22497 \n3 10441 2270 16823 \n3 22497 16823 922 \n3 920 22498 16818 \n3 22498 5108 10445 \n3 16818 10445 2268 \n3 5108 22499 10443 \n3 22499 382 22500 \n3 10443 22500 5109 \n3 2268 10444 16820 \n3 10444 5109 22501 \n3 16820 22501 921 \n3 922 16822 22502 \n3 16822 2269 10448 \n3 22502 10448 5111 \n3 2269 16821 10446 \n3 16821 921 22503 \n3 10446 22503 5110 \n3 5111 10447 22505 \n3 10447 5110 22504 \n3 22505 22504 227 \n3 228 22506 22507 \n3 22506 5112 10451 \n3 22507 10451 5113 \n3 5112 22508 10449 \n3 22508 923 16825 \n3 10449 16825 2273 \n3 5113 10450 22509 \n3 10450 2273 16829 \n3 22509 16829 925 \n3 923 22510 16824 \n3 22510 5114 10454 \n3 16824 10454 2271 \n3 5114 22511 10452 \n3 22511 383 22512 \n3 10452 22512 5115 \n3 2271 10453 16826 \n3 10453 5115 22513 \n3 16826 22513 924 \n3 925 16828 22514 \n3 16828 2272 10457 \n3 22514 10457 5117 \n3 2272 16827 10455 \n3 16827 924 22515 \n3 10455 22515 5116 \n3 5117 10456 22517 \n3 10456 5116 22516 \n3 22517 22516 304 \n3 306 22518 22519 \n3 22518 5118 10460 \n3 22519 10460 5119 \n3 5118 22520 10458 \n3 22520 926 16831 \n3 10458 16831 2276 \n3 5119 10459 22521 \n3 10459 2276 16835 \n3 22521 16835 928 \n3 926 22522 16830 \n3 22522 5120 10463 \n3 16830 10463 2274 \n3 5120 22523 10461 \n3 22523 232 22524 \n3 10461 22524 5121 \n3 2274 10462 16832 \n3 10462 5121 22525 \n3 16832 22525 927 \n3 928 16834 22526 \n3 16834 2275 10466 \n3 22526 10466 5123 \n3 2275 16833 10464 \n3 16833 927 22527 \n3 10464 22527 5122 \n3 5123 10465 22529 \n3 10465 5122 22528 \n3 22529 22528 1672 \n3 305 22530 22531 \n3 22530 5124 10469 \n3 22531 10469 5125 \n3 5124 22532 10467 \n3 22532 929 16837 \n3 10467 16837 2279 \n3 5125 10468 22533 \n3 10468 2279 16841 \n3 22533 16841 931 \n3 929 22534 16836 \n3 22534 5126 10472 \n3 16836 10472 2277 \n3 5126 22535 10470 \n3 22535 384 22536 \n3 10470 22536 5127 \n3 2277 10471 16838 \n3 10471 5127 22537 \n3 16838 22537 930 \n3 931 16840 22538 \n3 16840 2278 10475 \n3 22538 10475 5129 \n3 2278 16839 10473 \n3 16839 930 22539 \n3 10473 22539 5128 \n3 5129 10474 22541 \n3 10474 5128 22540 \n3 22541 22540 230 \n3 231 22542 22543 \n3 22542 5130 10478 \n3 22543 10478 5131 \n3 5130 22544 10476 \n3 22544 932 16843 \n3 10476 16843 2282 \n3 5131 10477 22545 \n3 10477 2282 16847 \n3 22545 16847 934 \n3 932 22546 16842 \n3 22546 5132 10481 \n3 16842 10481 2280 \n3 5132 22547 10479 \n3 22547 385 22548 \n3 10479 22548 5133 \n3 2280 10480 16844 \n3 10480 5133 22549 \n3 16844 22549 933 \n3 934 16846 22550 \n3 16846 2281 10484 \n3 22550 10484 5135 \n3 2281 16845 10482 \n3 16845 933 22551 \n3 10482 22551 5134 \n3 5135 10483 22553 \n3 10483 5134 22552 \n3 22553 22552 1673 \n3 1674 22554 22555 \n3 22554 5136 10487 \n3 22555 10487 5137 \n3 5136 22556 10485 \n3 22556 935 16849 \n3 10485 16849 2285 \n3 5137 10486 22557 \n3 10486 2285 16853 \n3 22557 16853 937 \n3 935 22558 16848 \n3 22558 5138 10490 \n3 16848 10490 2283 \n3 5138 22559 10488 \n3 22559 235 22560 \n3 10488 22560 5139 \n3 2283 10489 16850 \n3 10489 5139 22561 \n3 16850 22561 936 \n3 937 16852 22562 \n3 16852 2284 10493 \n3 22562 10493 5141 \n3 2284 16851 10491 \n3 16851 936 22563 \n3 10491 22563 5140 \n3 5141 10492 22565 \n3 10492 5140 22564 \n3 22565 22564 1675 \n3 1676 22566 22567 \n3 22566 5142 10496 \n3 22567 10496 5143 \n3 5142 22568 10494 \n3 22568 938 16855 \n3 10494 16855 2288 \n3 5143 10495 22569 \n3 10495 2288 16859 \n3 22569 16859 940 \n3 938 22570 16854 \n3 22570 5144 10499 \n3 16854 10499 2286 \n3 5144 22571 10497 \n3 22571 309 22572 \n3 10497 22572 5145 \n3 2286 10498 16856 \n3 10498 5145 22573 \n3 16856 22573 939 \n3 940 16858 22574 \n3 16858 2287 10502 \n3 22574 10502 5147 \n3 2287 16857 10500 \n3 16857 939 22575 \n3 10500 22575 5146 \n3 5147 10501 22577 \n3 10501 5146 22576 \n3 22577 22576 233 \n3 234 22578 22579 \n3 22578 5148 10505 \n3 22579 10505 5149 \n3 5148 22580 10503 \n3 22580 941 16861 \n3 10503 16861 2291 \n3 5149 10504 22581 \n3 10504 2291 16865 \n3 22581 16865 943 \n3 941 22582 16860 \n3 22582 5150 10508 \n3 16860 10508 2289 \n3 5150 22583 10506 \n3 22583 313 22584 \n3 10506 22584 5151 \n3 2289 10507 16862 \n3 10507 5151 22585 \n3 16862 22585 942 \n3 943 16864 22586 \n3 16864 2290 10511 \n3 22586 10511 5153 \n3 2290 16863 10509 \n3 16863 942 22587 \n3 10509 22587 5152 \n3 5153 10510 22589 \n3 10510 5152 22588 \n3 22589 22588 1677 \n3 1678 22590 22591 \n3 22590 5154 10514 \n3 22591 10514 5155 \n3 5154 22592 10512 \n3 22592 944 16867 \n3 10512 16867 2294 \n3 5155 10513 22593 \n3 10513 2294 16871 \n3 22593 16871 946 \n3 944 22594 16866 \n3 22594 5156 10517 \n3 16866 10517 2292 \n3 5156 22595 10515 \n3 22595 238 22596 \n3 10515 22596 5157 \n3 2292 10516 16868 \n3 10516 5157 22597 \n3 16868 22597 945 \n3 946 16870 22598 \n3 16870 2293 10520 \n3 22598 10520 5159 \n3 2293 16869 10518 \n3 16869 945 22599 \n3 10518 22599 5158 \n3 5159 10519 22601 \n3 10519 5158 22600 \n3 22601 22600 308 \n3 1679 22602 22603 \n3 22602 5160 10523 \n3 22603 10523 5161 \n3 5160 22604 10521 \n3 22604 947 16873 \n3 10521 16873 2297 \n3 5161 10522 22605 \n3 10522 2297 16877 \n3 22605 16877 949 \n3 947 22606 16872 \n3 22606 5162 10526 \n3 16872 10526 2295 \n3 5162 22607 10524 \n3 22607 385 22608 \n3 10524 22608 5163 \n3 2295 10525 16874 \n3 10525 5163 22609 \n3 16874 22609 948 \n3 949 16876 22610 \n3 16876 2296 10529 \n3 22610 10529 5165 \n3 2296 16875 10527 \n3 16875 948 22611 \n3 10527 22611 5164 \n3 5165 10528 22613 \n3 10528 5164 22612 \n3 22613 22612 236 \n3 237 22614 22615 \n3 22614 5166 10532 \n3 22615 10532 5167 \n3 5166 22616 10530 \n3 22616 950 16879 \n3 10530 16879 2300 \n3 5167 10531 22617 \n3 10531 2300 16883 \n3 22617 16883 952 \n3 950 22618 16878 \n3 22618 5168 10535 \n3 16878 10535 2298 \n3 5168 22619 10533 \n3 22619 384 22620 \n3 10533 22620 5169 \n3 2298 10534 16880 \n3 10534 5169 22621 \n3 16880 22621 951 \n3 952 16882 22622 \n3 16882 2299 10538 \n3 22622 10538 5171 \n3 2299 16881 10536 \n3 16881 951 22623 \n3 10536 22623 5170 \n3 5171 10537 22625 \n3 10537 5170 22624 \n3 22625 22624 310 \n3 312 22626 22627 \n3 22626 5172 10541 \n3 22627 10541 5173 \n3 5172 22628 10539 \n3 22628 953 16885 \n3 10539 16885 2303 \n3 5173 10540 22629 \n3 10540 2303 16889 \n3 22629 16889 955 \n3 953 22630 16884 \n3 22630 5174 10544 \n3 16884 10544 2301 \n3 5174 22631 10542 \n3 22631 241 22632 \n3 10542 22632 5175 \n3 2301 10543 16886 \n3 10543 5175 22633 \n3 16886 22633 954 \n3 955 16888 22634 \n3 16888 2302 10547 \n3 22634 10547 5177 \n3 2302 16887 10545 \n3 16887 954 22635 \n3 10545 22635 5176 \n3 5177 10546 22637 \n3 10546 5176 22636 \n3 22637 22636 1680 \n3 311 22638 22639 \n3 22638 5178 10550 \n3 22639 10550 5179 \n3 5178 22640 10548 \n3 22640 956 16891 \n3 10548 16891 2306 \n3 5179 10549 22641 \n3 10549 2306 16895 \n3 22641 16895 958 \n3 956 22642 16890 \n3 22642 5180 10553 \n3 16890 10553 2304 \n3 5180 22643 10551 \n3 22643 383 22644 \n3 10551 22644 5181 \n3 2304 10552 16892 \n3 10552 5181 22645 \n3 16892 22645 957 \n3 958 16894 22646 \n3 16894 2305 10556 \n3 22646 10556 5183 \n3 2305 16893 10554 \n3 16893 957 22647 \n3 10554 22647 5182 \n3 5183 10555 22649 \n3 10555 5182 22648 \n3 22649 22648 239 \n3 240 22650 22651 \n3 22650 5184 10559 \n3 22651 10559 5185 \n3 5184 22652 10557 \n3 22652 959 16897 \n3 10557 16897 2309 \n3 5185 10558 22653 \n3 10558 2309 16901 \n3 22653 16901 961 \n3 959 22654 16896 \n3 22654 5186 10562 \n3 16896 10562 2307 \n3 5186 22655 10560 \n3 22655 382 22656 \n3 10560 22656 5187 \n3 2307 10561 16898 \n3 10561 5187 22657 \n3 16898 22657 960 \n3 961 16900 22658 \n3 16900 2308 10565 \n3 22658 10565 5189 \n3 2308 16899 10563 \n3 16899 960 22659 \n3 10563 22659 5188 \n3 5189 10564 22661 \n3 10564 5188 22660 \n3 22661 22660 1681 \n3 26 22662 22663 \n3 22662 5190 10568 \n3 22663 10568 5191 \n3 5190 22664 10566 \n3 22664 962 16903 \n3 10566 16903 2312 \n3 5191 10567 22665 \n3 10567 2312 16907 \n3 22665 16907 963 \n3 962 22666 16902 \n3 22666 5192 10571 \n3 16902 10571 2310 \n3 5192 22667 10569 \n3 22667 98 20359 \n3 10569 20359 4039 \n3 2310 10570 16904 \n3 10570 4039 20361 \n3 16904 20361 388 \n3 963 16906 22668 \n3 16906 2311 10574 \n3 22668 10574 5193 \n3 2311 16905 10572 \n3 16905 388 20366 \n3 10572 20366 4043 \n3 5193 10573 22669 \n3 10573 4043 20369 \n3 22669 20369 100 \n3 98 22670 20358 \n3 22670 5194 10577 \n3 20358 10577 4038 \n3 5194 22671 10575 \n3 22671 964 16909 \n3 10575 16909 2315 \n3 4038 10576 20360 \n3 10576 2315 16913 \n3 20360 16913 386 \n3 964 22672 16908 \n3 22672 5195 10580 \n3 16908 10580 2313 \n3 5195 22673 10578 \n3 22673 27 22674 \n3 10578 22674 5196 \n3 2313 10579 16910 \n3 10579 5196 22675 \n3 16910 22675 965 \n3 386 16912 20362 \n3 16912 2314 10583 \n3 20362 10583 4040 \n3 2314 16911 10581 \n3 16911 965 22676 \n3 10581 22676 5197 \n3 4040 10582 20363 \n3 10582 5197 22677 \n3 20363 22677 99 \n3 100 20368 22678 \n3 20368 4042 10586 \n3 22678 10586 5198 \n3 4042 20367 10584 \n3 20367 387 16915 \n3 10584 16915 2318 \n3 5198 10585 22679 \n3 10585 2318 16919 \n3 22679 16919 967 \n3 387 20365 16914 \n3 20365 4041 10589 \n3 16914 10589 2316 \n3 4041 20364 10587 \n3 20364 99 22680 \n3 10587 22680 5199 \n3 2316 10588 16916 \n3 10588 5199 22681 \n3 16916 22681 966 \n3 967 16918 22682 \n3 16918 2317 10592 \n3 22682 10592 5201 \n3 2317 16917 10590 \n3 16917 966 22683 \n3 10590 22683 5200 \n3 5201 10591 22685 \n3 10591 5200 22684 \n3 22685 22684 28 \n3 29 22686 22687 \n3 22686 5202 10595 \n3 22687 10595 5203 \n3 5202 22688 10593 \n3 22688 968 16921 \n3 10593 16921 2321 \n3 5203 10594 22689 \n3 10594 2321 16925 \n3 22689 16925 969 \n3 968 22690 16920 \n3 22690 5204 10598 \n3 16920 10598 2319 \n3 5204 22691 10596 \n3 22691 101 20371 \n3 10596 20371 4045 \n3 2319 10597 16922 \n3 10597 4045 20373 \n3 16922 20373 391 \n3 969 16924 22692 \n3 16924 2320 10601 \n3 22692 10601 5205 \n3 2320 16923 10599 \n3 16923 391 20378 \n3 10599 20378 4049 \n3 5205 10600 22693 \n3 10600 4049 20381 \n3 22693 20381 103 \n3 101 22694 20370 \n3 22694 5206 10604 \n3 20370 10604 4044 \n3 5206 22695 10602 \n3 22695 970 16927 \n3 10602 16927 2324 \n3 4044 10603 20372 \n3 10603 2324 16931 \n3 20372 16931 389 \n3 970 22696 16926 \n3 22696 5207 10607 \n3 16926 10607 2322 \n3 5207 22697 10605 \n3 22697 30 22698 \n3 10605 22698 5208 \n3 2322 10606 16928 \n3 10606 5208 22699 \n3 16928 22699 971 \n3 389 16930 20374 \n3 16930 2323 10610 \n3 20374 10610 4046 \n3 2323 16929 10608 \n3 16929 971 22700 \n3 10608 22700 5209 \n3 4046 10609 20375 \n3 10609 5209 22701 \n3 20375 22701 102 \n3 103 20380 22702 \n3 20380 4048 10613 \n3 22702 10613 5210 \n3 4048 20379 10611 \n3 20379 390 16933 \n3 10611 16933 2327 \n3 5210 10612 22703 \n3 10612 2327 16937 \n3 22703 16937 973 \n3 390 20377 16932 \n3 20377 4047 10616 \n3 16932 10616 2325 \n3 4047 20376 10614 \n3 20376 102 22704 \n3 10614 22704 5211 \n3 2325 10615 16934 \n3 10615 5211 22705 \n3 16934 22705 972 \n3 973 16936 22706 \n3 16936 2326 10619 \n3 22706 10619 5213 \n3 2326 16935 10617 \n3 16935 972 22707 \n3 10617 22707 5212 \n3 5213 10618 22709 \n3 10618 5212 22708 \n3 22709 22708 31 \n3 32 22710 22711 \n3 22710 5214 10622 \n3 22711 10622 5215 \n3 5214 22712 10620 \n3 22712 974 16939 \n3 10620 16939 2330 \n3 5215 10621 22713 \n3 10621 2330 16943 \n3 22713 16943 975 \n3 974 22714 16938 \n3 22714 5216 10625 \n3 16938 10625 2328 \n3 5216 22715 10623 \n3 22715 104 20383 \n3 10623 20383 4051 \n3 2328 10624 16940 \n3 10624 4051 20385 \n3 16940 20385 394 \n3 975 16942 22716 \n3 16942 2329 10628 \n3 22716 10628 5217 \n3 2329 16941 10626 \n3 16941 394 20390 \n3 10626 20390 4055 \n3 5217 10627 22717 \n3 10627 4055 20393 \n3 22717 20393 106 \n3 104 22718 20382 \n3 22718 5218 10631 \n3 20382 10631 4050 \n3 5218 22719 10629 \n3 22719 976 16945 \n3 10629 16945 2333 \n3 4050 10630 20384 \n3 10630 2333 16949 \n3 20384 16949 392 \n3 976 22720 16944 \n3 22720 5219 10634 \n3 16944 10634 2331 \n3 5219 22721 10632 \n3 22721 33 22722 \n3 10632 22722 5220 \n3 2331 10633 16946 \n3 10633 5220 22723 \n3 16946 22723 977 \n3 392 16948 20386 \n3 16948 2332 10637 \n3 20386 10637 4052 \n3 2332 16947 10635 \n3 16947 977 22724 \n3 10635 22724 5221 \n3 4052 10636 20387 \n3 10636 5221 22725 \n3 20387 22725 105 \n3 106 20392 22726 \n3 20392 4054 10640 \n3 22726 10640 5222 \n3 4054 20391 10638 \n3 20391 393 16951 \n3 10638 16951 2336 \n3 5222 10639 22727 \n3 10639 2336 16955 \n3 22727 16955 979 \n3 393 20389 16950 \n3 20389 4053 10643 \n3 16950 10643 2334 \n3 4053 20388 10641 \n3 20388 105 22728 \n3 10641 22728 5223 \n3 2334 10642 16952 \n3 10642 5223 22729 \n3 16952 22729 978 \n3 979 16954 22730 \n3 16954 2335 10646 \n3 22730 10646 5225 \n3 2335 16953 10644 \n3 16953 978 22731 \n3 10644 22731 5224 \n3 5225 10645 22733 \n3 10645 5224 22732 \n3 22733 22732 34 \n3 35 22734 22735 \n3 22734 5226 10649 \n3 22735 10649 5227 \n3 5226 22736 10647 \n3 22736 980 16957 \n3 10647 16957 2339 \n3 5227 10648 22737 \n3 10648 2339 16961 \n3 22737 16961 981 \n3 980 22738 16956 \n3 22738 5228 10652 \n3 16956 10652 2337 \n3 5228 22739 10650 \n3 22739 107 20395 \n3 10650 20395 4057 \n3 2337 10651 16958 \n3 10651 4057 20397 \n3 16958 20397 397 \n3 981 16960 22740 \n3 16960 2338 10655 \n3 22740 10655 5229 \n3 2338 16959 10653 \n3 16959 397 20402 \n3 10653 20402 4061 \n3 5229 10654 22741 \n3 10654 4061 20405 \n3 22741 20405 109 \n3 107 22742 20394 \n3 22742 5230 10658 \n3 20394 10658 4056 \n3 5230 22743 10656 \n3 22743 982 16963 \n3 10656 16963 2342 \n3 4056 10657 20396 \n3 10657 2342 16967 \n3 20396 16967 395 \n3 982 22744 16962 \n3 22744 5231 10661 \n3 16962 10661 2340 \n3 5231 22745 10659 \n3 22745 36 22746 \n3 10659 22746 5232 \n3 2340 10660 16964 \n3 10660 5232 22747 \n3 16964 22747 983 \n3 395 16966 20398 \n3 16966 2341 10664 \n3 20398 10664 4058 \n3 2341 16965 10662 \n3 16965 983 22748 \n3 10662 22748 5233 \n3 4058 10663 20399 \n3 10663 5233 22749 \n3 20399 22749 108 \n3 109 20404 22750 \n3 20404 4060 10667 \n3 22750 10667 5234 \n3 4060 20403 10665 \n3 20403 396 16969 \n3 10665 16969 2345 \n3 5234 10666 22751 \n3 10666 2345 16973 \n3 22751 16973 985 \n3 396 20401 16968 \n3 20401 4059 10670 \n3 16968 10670 2343 \n3 4059 20400 10668 \n3 20400 108 22752 \n3 10668 22752 5235 \n3 2343 10669 16970 \n3 10669 5235 22753 \n3 16970 22753 984 \n3 985 16972 22754 \n3 16972 2344 10673 \n3 22754 10673 5237 \n3 2344 16971 10671 \n3 16971 984 22755 \n3 10671 22755 5236 \n3 5237 10672 22757 \n3 10672 5236 22756 \n3 22757 22756 37 \n3 38 22758 22759 \n3 22758 5238 10676 \n3 22759 10676 5239 \n3 5238 22760 10674 \n3 22760 986 16975 \n3 10674 16975 2348 \n3 5239 10675 22761 \n3 10675 2348 16979 \n3 22761 16979 987 \n3 986 22762 16974 \n3 22762 5240 10679 \n3 16974 10679 2346 \n3 5240 22763 10677 \n3 22763 110 20407 \n3 10677 20407 4063 \n3 2346 10678 16976 \n3 10678 4063 20409 \n3 16976 20409 400 \n3 987 16978 22764 \n3 16978 2347 10682 \n3 22764 10682 5241 \n3 2347 16977 10680 \n3 16977 400 20414 \n3 10680 20414 4067 \n3 5241 10681 22765 \n3 10681 4067 20417 \n3 22765 20417 112 \n3 110 22766 20406 \n3 22766 5242 10685 \n3 20406 10685 4062 \n3 5242 22767 10683 \n3 22767 988 16981 \n3 10683 16981 2351 \n3 4062 10684 20408 \n3 10684 2351 16985 \n3 20408 16985 398 \n3 988 22768 16980 \n3 22768 5243 10688 \n3 16980 10688 2349 \n3 5243 22769 10686 \n3 22769 39 22770 \n3 10686 22770 5244 \n3 2349 10687 16982 \n3 10687 5244 22771 \n3 16982 22771 989 \n3 398 16984 20410 \n3 16984 2350 10691 \n3 20410 10691 4064 \n3 2350 16983 10689 \n3 16983 989 22772 \n3 10689 22772 5245 \n3 4064 10690 20411 \n3 10690 5245 22773 \n3 20411 22773 111 \n3 112 20416 22774 \n3 20416 4066 10694 \n3 22774 10694 5246 \n3 4066 20415 10692 \n3 20415 399 16987 \n3 10692 16987 2354 \n3 5246 10693 22775 \n3 10693 2354 16991 \n3 22775 16991 991 \n3 399 20413 16986 \n3 20413 4065 10697 \n3 16986 10697 2352 \n3 4065 20412 10695 \n3 20412 111 22776 \n3 10695 22776 5247 \n3 2352 10696 16988 \n3 10696 5247 22777 \n3 16988 22777 990 \n3 991 16990 22778 \n3 16990 2353 10700 \n3 22778 10700 5249 \n3 2353 16989 10698 \n3 16989 990 22779 \n3 10698 22779 5248 \n3 5249 10699 22781 \n3 10699 5248 22780 \n3 22781 22780 40 \n3 41 22782 22783 \n3 22782 5250 10703 \n3 22783 10703 5251 \n3 5250 22784 10701 \n3 22784 992 16993 \n3 10701 16993 2357 \n3 5251 10702 22785 \n3 10702 2357 16997 \n3 22785 16997 993 \n3 992 22786 16992 \n3 22786 5252 10706 \n3 16992 10706 2355 \n3 5252 22787 10704 \n3 22787 113 20419 \n3 10704 20419 4069 \n3 2355 10705 16994 \n3 10705 4069 20421 \n3 16994 20421 403 \n3 993 16996 22788 \n3 16996 2356 10709 \n3 22788 10709 5253 \n3 2356 16995 10707 \n3 16995 403 20426 \n3 10707 20426 4073 \n3 5253 10708 22789 \n3 10708 4073 20429 \n3 22789 20429 115 \n3 113 22790 20418 \n3 22790 5254 10712 \n3 20418 10712 4068 \n3 5254 22791 10710 \n3 22791 994 16999 \n3 10710 16999 2360 \n3 4068 10711 20420 \n3 10711 2360 17003 \n3 20420 17003 401 \n3 994 22792 16998 \n3 22792 5255 10715 \n3 16998 10715 2358 \n3 5255 22793 10713 \n3 22793 42 22794 \n3 10713 22794 5256 \n3 2358 10714 17000 \n3 10714 5256 22795 \n3 17000 22795 995 \n3 401 17002 20422 \n3 17002 2359 10718 \n3 20422 10718 4070 \n3 2359 17001 10716 \n3 17001 995 22796 \n3 10716 22796 5257 \n3 4070 10717 20423 \n3 10717 5257 22797 \n3 20423 22797 114 \n3 115 20428 22798 \n3 20428 4072 10721 \n3 22798 10721 5258 \n3 4072 20427 10719 \n3 20427 402 17005 \n3 10719 17005 2363 \n3 5258 10720 22799 \n3 10720 2363 17009 \n3 22799 17009 997 \n3 402 20425 17004 \n3 20425 4071 10724 \n3 17004 10724 2361 \n3 4071 20424 10722 \n3 20424 114 22800 \n3 10722 22800 5259 \n3 2361 10723 17006 \n3 10723 5259 22801 \n3 17006 22801 996 \n3 997 17008 22802 \n3 17008 2362 10727 \n3 22802 10727 5261 \n3 2362 17007 10725 \n3 17007 996 22803 \n3 10725 22803 5260 \n3 5261 10726 22805 \n3 10726 5260 22804 \n3 22805 22804 43 \n3 44 22806 22807 \n3 22806 5262 10730 \n3 22807 10730 5263 \n3 5262 22808 10728 \n3 22808 998 17011 \n3 10728 17011 2366 \n3 5263 10729 22809 \n3 10729 2366 17015 \n3 22809 17015 999 \n3 998 22810 17010 \n3 22810 5264 10733 \n3 17010 10733 2364 \n3 5264 22811 10731 \n3 22811 116 20431 \n3 10731 20431 4075 \n3 2364 10732 17012 \n3 10732 4075 20433 \n3 17012 20433 406 \n3 999 17014 22812 \n3 17014 2365 10736 \n3 22812 10736 5265 \n3 2365 17013 10734 \n3 17013 406 20438 \n3 10734 20438 4079 \n3 5265 10735 22813 \n3 10735 4079 20441 \n3 22813 20441 118 \n3 116 22814 20430 \n3 22814 5266 10739 \n3 20430 10739 4074 \n3 5266 22815 10737 \n3 22815 1000 17017 \n3 10737 17017 2369 \n3 4074 10738 20432 \n3 10738 2369 17021 \n3 20432 17021 404 \n3 1000 22816 17016 \n3 22816 5267 10742 \n3 17016 10742 2367 \n3 5267 22817 10740 \n3 22817 45 22818 \n3 10740 22818 5268 \n3 2367 10741 17018 \n3 10741 5268 22819 \n3 17018 22819 1001 \n3 404 17020 20434 \n3 17020 2368 10745 \n3 20434 10745 4076 \n3 2368 17019 10743 \n3 17019 1001 22820 \n3 10743 22820 5269 \n3 4076 10744 20435 \n3 10744 5269 22821 \n3 20435 22821 117 \n3 118 20440 22822 \n3 20440 4078 10748 \n3 22822 10748 5270 \n3 4078 20439 10746 \n3 20439 405 17023 \n3 10746 17023 2372 \n3 5270 10747 22823 \n3 10747 2372 17027 \n3 22823 17027 1003 \n3 405 20437 17022 \n3 20437 4077 10751 \n3 17022 10751 2370 \n3 4077 20436 10749 \n3 20436 117 22824 \n3 10749 22824 5271 \n3 2370 10750 17024 \n3 10750 5271 22825 \n3 17024 22825 1002 \n3 1003 17026 22826 \n3 17026 2371 10754 \n3 22826 10754 5273 \n3 2371 17025 10752 \n3 17025 1002 22827 \n3 10752 22827 5272 \n3 5273 10753 22829 \n3 10753 5272 22828 \n3 22829 22828 46 \n3 47 22830 22831 \n3 22830 5274 10757 \n3 22831 10757 5275 \n3 5274 22832 10755 \n3 22832 1004 17029 \n3 10755 17029 2375 \n3 5275 10756 22833 \n3 10756 2375 17033 \n3 22833 17033 1005 \n3 1004 22834 17028 \n3 22834 5276 10760 \n3 17028 10760 2373 \n3 5276 22835 10758 \n3 22835 119 20443 \n3 10758 20443 4081 \n3 2373 10759 17030 \n3 10759 4081 20445 \n3 17030 20445 409 \n3 1005 17032 22836 \n3 17032 2374 10763 \n3 22836 10763 5277 \n3 2374 17031 10761 \n3 17031 409 20450 \n3 10761 20450 4085 \n3 5277 10762 22837 \n3 10762 4085 20453 \n3 22837 20453 121 \n3 119 22838 20442 \n3 22838 5278 10766 \n3 20442 10766 4080 \n3 5278 22839 10764 \n3 22839 1006 17035 \n3 10764 17035 2378 \n3 4080 10765 20444 \n3 10765 2378 17039 \n3 20444 17039 407 \n3 1006 22840 17034 \n3 22840 5279 10769 \n3 17034 10769 2376 \n3 5279 22841 10767 \n3 22841 48 22842 \n3 10767 22842 5280 \n3 2376 10768 17036 \n3 10768 5280 22843 \n3 17036 22843 1007 \n3 407 17038 20446 \n3 17038 2377 10772 \n3 20446 10772 4082 \n3 2377 17037 10770 \n3 17037 1007 22844 \n3 10770 22844 5281 \n3 4082 10771 20447 \n3 10771 5281 22845 \n3 20447 22845 120 \n3 121 20452 22846 \n3 20452 4084 10775 \n3 22846 10775 5282 \n3 4084 20451 10773 \n3 20451 408 17041 \n3 10773 17041 2381 \n3 5282 10774 22847 \n3 10774 2381 17045 \n3 22847 17045 1009 \n3 408 20449 17040 \n3 20449 4083 10778 \n3 17040 10778 2379 \n3 4083 20448 10776 \n3 20448 120 22848 \n3 10776 22848 5283 \n3 2379 10777 17042 \n3 10777 5283 22849 \n3 17042 22849 1008 \n3 1009 17044 22850 \n3 17044 2380 10781 \n3 22850 10781 5285 \n3 2380 17043 10779 \n3 17043 1008 22851 \n3 10779 22851 5284 \n3 5285 10780 22853 \n3 10780 5284 22852 \n3 22853 22852 49 \n3 50 22854 22855 \n3 22854 5286 10784 \n3 22855 10784 5287 \n3 5286 22856 10782 \n3 22856 1010 17047 \n3 10782 17047 2384 \n3 5287 10783 22857 \n3 10783 2384 17051 \n3 22857 17051 1011 \n3 1010 22858 17046 \n3 22858 5288 10787 \n3 17046 10787 2382 \n3 5288 22859 10785 \n3 22859 122 20455 \n3 10785 20455 4087 \n3 2382 10786 17048 \n3 10786 4087 20457 \n3 17048 20457 412 \n3 1011 17050 22860 \n3 17050 2383 10790 \n3 22860 10790 5289 \n3 2383 17049 10788 \n3 17049 412 20462 \n3 10788 20462 4091 \n3 5289 10789 22861 \n3 10789 4091 20465 \n3 22861 20465 124 \n3 122 22862 20454 \n3 22862 5290 10793 \n3 20454 10793 4086 \n3 5290 22863 10791 \n3 22863 1012 17053 \n3 10791 17053 2387 \n3 4086 10792 20456 \n3 10792 2387 17057 \n3 20456 17057 410 \n3 1012 22864 17052 \n3 22864 5291 10796 \n3 17052 10796 2385 \n3 5291 22865 10794 \n3 22865 51 22866 \n3 10794 22866 5292 \n3 2385 10795 17054 \n3 10795 5292 22867 \n3 17054 22867 1013 \n3 410 17056 20458 \n3 17056 2386 10799 \n3 20458 10799 4088 \n3 2386 17055 10797 \n3 17055 1013 22868 \n3 10797 22868 5293 \n3 4088 10798 20459 \n3 10798 5293 22869 \n3 20459 22869 123 \n3 124 20464 22870 \n3 20464 4090 10802 \n3 22870 10802 5294 \n3 4090 20463 10800 \n3 20463 411 17059 \n3 10800 17059 2390 \n3 5294 10801 22871 \n3 10801 2390 17063 \n3 22871 17063 1015 \n3 411 20461 17058 \n3 20461 4089 10805 \n3 17058 10805 2388 \n3 4089 20460 10803 \n3 20460 123 22872 \n3 10803 22872 5295 \n3 2388 10804 17060 \n3 10804 5295 22873 \n3 17060 22873 1014 \n3 1015 17062 22874 \n3 17062 2389 10808 \n3 22874 10808 5297 \n3 2389 17061 10806 \n3 17061 1014 22875 \n3 10806 22875 5296 \n3 5297 10807 22877 \n3 10807 5296 22876 \n3 22877 22876 52 \n3 53 22878 22879 \n3 22878 5298 10811 \n3 22879 10811 5299 \n3 5298 22880 10809 \n3 22880 1016 17065 \n3 10809 17065 2393 \n3 5299 10810 22881 \n3 10810 2393 17069 \n3 22881 17069 1017 \n3 1016 22882 17064 \n3 22882 5300 10814 \n3 17064 10814 2391 \n3 5300 22883 10812 \n3 22883 125 20467 \n3 10812 20467 4093 \n3 2391 10813 17066 \n3 10813 4093 20469 \n3 17066 20469 415 \n3 1017 17068 22884 \n3 17068 2392 10817 \n3 22884 10817 5301 \n3 2392 17067 10815 \n3 17067 415 20474 \n3 10815 20474 4097 \n3 5301 10816 22885 \n3 10816 4097 20477 \n3 22885 20477 127 \n3 125 22886 20466 \n3 22886 5302 10820 \n3 20466 10820 4092 \n3 5302 22887 10818 \n3 22887 1018 17071 \n3 10818 17071 2396 \n3 4092 10819 20468 \n3 10819 2396 17075 \n3 20468 17075 413 \n3 1018 22888 17070 \n3 22888 5303 10823 \n3 17070 10823 2394 \n3 5303 22889 10821 \n3 22889 54 22890 \n3 10821 22890 5304 \n3 2394 10822 17072 \n3 10822 5304 22891 \n3 17072 22891 1019 \n3 413 17074 20470 \n3 17074 2395 10826 \n3 20470 10826 4094 \n3 2395 17073 10824 \n3 17073 1019 22892 \n3 10824 22892 5305 \n3 4094 10825 20471 \n3 10825 5305 22893 \n3 20471 22893 126 \n3 127 20476 22894 \n3 20476 4096 10829 \n3 22894 10829 5306 \n3 4096 20475 10827 \n3 20475 414 17077 \n3 10827 17077 2399 \n3 5306 10828 22895 \n3 10828 2399 17081 \n3 22895 17081 1021 \n3 414 20473 17076 \n3 20473 4095 10832 \n3 17076 10832 2397 \n3 4095 20472 10830 \n3 20472 126 22896 \n3 10830 22896 5307 \n3 2397 10831 17078 \n3 10831 5307 22897 \n3 17078 22897 1020 \n3 1021 17080 22898 \n3 17080 2398 10835 \n3 22898 10835 5309 \n3 2398 17079 10833 \n3 17079 1020 22899 \n3 10833 22899 5308 \n3 5309 10834 22901 \n3 10834 5308 22900 \n3 22901 22900 55 \n3 56 22902 22903 \n3 22902 5310 10838 \n3 22903 10838 5311 \n3 5310 22904 10836 \n3 22904 1022 17083 \n3 10836 17083 2402 \n3 5311 10837 22905 \n3 10837 2402 17087 \n3 22905 17087 1023 \n3 1022 22906 17082 \n3 22906 5312 10841 \n3 17082 10841 2400 \n3 5312 22907 10839 \n3 22907 128 20479 \n3 10839 20479 4099 \n3 2400 10840 17084 \n3 10840 4099 20481 \n3 17084 20481 418 \n3 1023 17086 22908 \n3 17086 2401 10844 \n3 22908 10844 5313 \n3 2401 17085 10842 \n3 17085 418 20486 \n3 10842 20486 4103 \n3 5313 10843 22909 \n3 10843 4103 20489 \n3 22909 20489 130 \n3 128 22910 20478 \n3 22910 5314 10847 \n3 20478 10847 4098 \n3 5314 22911 10845 \n3 22911 1024 17089 \n3 10845 17089 2405 \n3 4098 10846 20480 \n3 10846 2405 17093 \n3 20480 17093 416 \n3 1024 22912 17088 \n3 22912 5315 10850 \n3 17088 10850 2403 \n3 5315 22913 10848 \n3 22913 57 22914 \n3 10848 22914 5316 \n3 2403 10849 17090 \n3 10849 5316 22915 \n3 17090 22915 1025 \n3 416 17092 20482 \n3 17092 2404 10853 \n3 20482 10853 4100 \n3 2404 17091 10851 \n3 17091 1025 22916 \n3 10851 22916 5317 \n3 4100 10852 20483 \n3 10852 5317 22917 \n3 20483 22917 129 \n3 130 20488 22918 \n3 20488 4102 10856 \n3 22918 10856 5318 \n3 4102 20487 10854 \n3 20487 417 17095 \n3 10854 17095 2408 \n3 5318 10855 22919 \n3 10855 2408 17099 \n3 22919 17099 1027 \n3 417 20485 17094 \n3 20485 4101 10859 \n3 17094 10859 2406 \n3 4101 20484 10857 \n3 20484 129 22920 \n3 10857 22920 5319 \n3 2406 10858 17096 \n3 10858 5319 22921 \n3 17096 22921 1026 \n3 1027 17098 22922 \n3 17098 2407 10862 \n3 22922 10862 5321 \n3 2407 17097 10860 \n3 17097 1026 22923 \n3 10860 22923 5320 \n3 5321 10861 22925 \n3 10861 5320 22924 \n3 22925 22924 58 \n3 59 22926 22927 \n3 22926 5322 10865 \n3 22927 10865 5323 \n3 5322 22928 10863 \n3 22928 1028 17101 \n3 10863 17101 2411 \n3 5323 10864 22929 \n3 10864 2411 17105 \n3 22929 17105 1029 \n3 1028 22930 17100 \n3 22930 5324 10868 \n3 17100 10868 2409 \n3 5324 22931 10866 \n3 22931 131 20491 \n3 10866 20491 4105 \n3 2409 10867 17102 \n3 10867 4105 20493 \n3 17102 20493 421 \n3 1029 17104 22932 \n3 17104 2410 10871 \n3 22932 10871 5325 \n3 2410 17103 10869 \n3 17103 421 20498 \n3 10869 20498 4109 \n3 5325 10870 22933 \n3 10870 4109 20501 \n3 22933 20501 133 \n3 131 22934 20490 \n3 22934 5326 10874 \n3 20490 10874 4104 \n3 5326 22935 10872 \n3 22935 1030 17107 \n3 10872 17107 2414 \n3 4104 10873 20492 \n3 10873 2414 17111 \n3 20492 17111 419 \n3 1030 22936 17106 \n3 22936 5327 10877 \n3 17106 10877 2412 \n3 5327 22937 10875 \n3 22937 60 22938 \n3 10875 22938 5328 \n3 2412 10876 17108 \n3 10876 5328 22939 \n3 17108 22939 1031 \n3 419 17110 20494 \n3 17110 2413 10880 \n3 20494 10880 4106 \n3 2413 17109 10878 \n3 17109 1031 22940 \n3 10878 22940 5329 \n3 4106 10879 20495 \n3 10879 5329 22941 \n3 20495 22941 132 \n3 133 20500 22942 \n3 20500 4108 10883 \n3 22942 10883 5330 \n3 4108 20499 10881 \n3 20499 420 17113 \n3 10881 17113 2417 \n3 5330 10882 22943 \n3 10882 2417 17117 \n3 22943 17117 1033 \n3 420 20497 17112 \n3 20497 4107 10886 \n3 17112 10886 2415 \n3 4107 20496 10884 \n3 20496 132 22944 \n3 10884 22944 5331 \n3 2415 10885 17114 \n3 10885 5331 22945 \n3 17114 22945 1032 \n3 1033 17116 22946 \n3 17116 2416 10889 \n3 22946 10889 5333 \n3 2416 17115 10887 \n3 17115 1032 22947 \n3 10887 22947 5332 \n3 5333 10888 22949 \n3 10888 5332 22948 \n3 22949 22948 61 \n3 62 22950 22951 \n3 22950 5334 10892 \n3 22951 10892 5335 \n3 5334 22952 10890 \n3 22952 1034 17119 \n3 10890 17119 2420 \n3 5335 10891 22953 \n3 10891 2420 17123 \n3 22953 17123 1035 \n3 1034 22954 17118 \n3 22954 5336 10895 \n3 17118 10895 2418 \n3 5336 22955 10893 \n3 22955 134 20503 \n3 10893 20503 4111 \n3 2418 10894 17120 \n3 10894 4111 20505 \n3 17120 20505 424 \n3 1035 17122 22956 \n3 17122 2419 10898 \n3 22956 10898 5337 \n3 2419 17121 10896 \n3 17121 424 20510 \n3 10896 20510 4115 \n3 5337 10897 22957 \n3 10897 4115 20513 \n3 22957 20513 136 \n3 134 22958 20502 \n3 22958 5338 10901 \n3 20502 10901 4110 \n3 5338 22959 10899 \n3 22959 1036 17125 \n3 10899 17125 2423 \n3 4110 10900 20504 \n3 10900 2423 17129 \n3 20504 17129 422 \n3 1036 22960 17124 \n3 22960 5339 10904 \n3 17124 10904 2421 \n3 5339 22961 10902 \n3 22961 28 22962 \n3 10902 22962 5340 \n3 2421 10903 17126 \n3 10903 5340 22963 \n3 17126 22963 1037 \n3 422 17128 20506 \n3 17128 2422 10907 \n3 20506 10907 4112 \n3 2422 17127 10905 \n3 17127 1037 22964 \n3 10905 22964 5341 \n3 4112 10906 20507 \n3 10906 5341 22965 \n3 20507 22965 135 \n3 136 20512 22966 \n3 20512 4114 10910 \n3 22966 10910 5342 \n3 4114 20511 10908 \n3 20511 423 17131 \n3 10908 17131 2426 \n3 5342 10909 22967 \n3 10909 2426 17135 \n3 22967 17135 1039 \n3 423 20509 17130 \n3 20509 4113 10913 \n3 17130 10913 2424 \n3 4113 20508 10911 \n3 20508 135 22968 \n3 10911 22968 5343 \n3 2424 10912 17132 \n3 10912 5343 22969 \n3 17132 22969 1038 \n3 1039 17134 22970 \n3 17134 2425 10916 \n3 22970 10916 5345 \n3 2425 17133 10914 \n3 17133 1038 22971 \n3 10914 22971 5344 \n3 5345 10915 22973 \n3 10915 5344 22972 \n3 22973 22972 63 \n3 64 22974 22975 \n3 22974 5346 10919 \n3 22975 10919 5347 \n3 5346 22976 10917 \n3 22976 1040 17137 \n3 10917 17137 2429 \n3 5347 10918 22977 \n3 10918 2429 17141 \n3 22977 17141 1041 \n3 1040 22978 17136 \n3 22978 5348 10922 \n3 17136 10922 2427 \n3 5348 22979 10920 \n3 22979 137 20515 \n3 10920 20515 4117 \n3 2427 10921 17138 \n3 10921 4117 20517 \n3 17138 20517 427 \n3 1041 17140 22980 \n3 17140 2428 10925 \n3 22980 10925 5349 \n3 2428 17139 10923 \n3 17139 427 20522 \n3 10923 20522 4121 \n3 5349 10924 22981 \n3 10924 4121 20525 \n3 22981 20525 139 \n3 137 22982 20514 \n3 22982 5350 10928 \n3 20514 10928 4116 \n3 5350 22983 10926 \n3 22983 1042 17143 \n3 10926 17143 2432 \n3 4116 10927 20516 \n3 10927 2432 17147 \n3 20516 17147 425 \n3 1042 22984 17142 \n3 22984 5351 10931 \n3 17142 10931 2430 \n3 5351 22985 10929 \n3 22985 65 22986 \n3 10929 22986 5352 \n3 2430 10930 17144 \n3 10930 5352 22987 \n3 17144 22987 1043 \n3 425 17146 20518 \n3 17146 2431 10934 \n3 20518 10934 4118 \n3 2431 17145 10932 \n3 17145 1043 22988 \n3 10932 22988 5353 \n3 4118 10933 20519 \n3 10933 5353 22989 \n3 20519 22989 138 \n3 139 20524 22990 \n3 20524 4120 10937 \n3 22990 10937 5354 \n3 4120 20523 10935 \n3 20523 426 17149 \n3 10935 17149 2435 \n3 5354 10936 22991 \n3 10936 2435 17153 \n3 22991 17153 1045 \n3 426 20521 17148 \n3 20521 4119 10940 \n3 17148 10940 2433 \n3 4119 20520 10938 \n3 20520 138 22992 \n3 10938 22992 5355 \n3 2433 10939 17150 \n3 10939 5355 22993 \n3 17150 22993 1044 \n3 1045 17152 22994 \n3 17152 2434 10943 \n3 22994 10943 5357 \n3 2434 17151 10941 \n3 17151 1044 22995 \n3 10941 22995 5356 \n3 5357 10942 22997 \n3 10942 5356 22996 \n3 22997 22996 26 \n3 27 22998 22999 \n3 22998 5358 10946 \n3 22999 10946 5359 \n3 5358 23000 10944 \n3 23000 1046 17155 \n3 10944 17155 2438 \n3 5359 10945 23001 \n3 10945 2438 17159 \n3 23001 17159 1047 \n3 1046 23002 17154 \n3 23002 5360 10949 \n3 17154 10949 2436 \n3 5360 23003 10947 \n3 23003 140 20527 \n3 10947 20527 4123 \n3 2436 10948 17156 \n3 10948 4123 20529 \n3 17156 20529 430 \n3 1047 17158 23004 \n3 17158 2437 10952 \n3 23004 10952 5361 \n3 2437 17157 10950 \n3 17157 430 20534 \n3 10950 20534 4127 \n3 5361 10951 23005 \n3 10951 4127 20537 \n3 23005 20537 142 \n3 140 23006 20526 \n3 23006 5362 10955 \n3 20526 10955 4122 \n3 5362 23007 10953 \n3 23007 1048 17161 \n3 10953 17161 2441 \n3 4122 10954 20528 \n3 10954 2441 17165 \n3 20528 17165 428 \n3 1048 23008 17160 \n3 23008 5363 10958 \n3 17160 10958 2439 \n3 5363 23009 10956 \n3 23009 66 23010 \n3 10956 23010 5364 \n3 2439 10957 17162 \n3 10957 5364 23011 \n3 17162 23011 1049 \n3 428 17164 20530 \n3 17164 2440 10961 \n3 20530 10961 4124 \n3 2440 17163 10959 \n3 17163 1049 23012 \n3 10959 23012 5365 \n3 4124 10960 20531 \n3 10960 5365 23013 \n3 20531 23013 141 \n3 142 20536 23014 \n3 20536 4126 10964 \n3 23014 10964 5366 \n3 4126 20535 10962 \n3 20535 429 17167 \n3 10962 17167 2444 \n3 5366 10963 23015 \n3 10963 2444 17171 \n3 23015 17171 1051 \n3 429 20533 17166 \n3 20533 4125 10967 \n3 17166 10967 2442 \n3 4125 20532 10965 \n3 20532 141 23016 \n3 10965 23016 5367 \n3 2442 10966 17168 \n3 10966 5367 23017 \n3 17168 23017 1050 \n3 1051 17170 23018 \n3 17170 2443 10970 \n3 23018 10970 5369 \n3 2443 17169 10968 \n3 17169 1050 23019 \n3 10968 23019 5368 \n3 5369 10969 23021 \n3 10969 5368 23020 \n3 23021 23020 67 \n3 68 23022 23023 \n3 23022 5370 10973 \n3 23023 10973 5371 \n3 5370 23024 10971 \n3 23024 1052 17173 \n3 10971 17173 2447 \n3 5371 10972 23025 \n3 10972 2447 17177 \n3 23025 17177 1053 \n3 1052 23026 17172 \n3 23026 5372 10976 \n3 17172 10976 2445 \n3 5372 23027 10974 \n3 23027 143 20539 \n3 10974 20539 4129 \n3 2445 10975 17174 \n3 10975 4129 20541 \n3 17174 20541 433 \n3 1053 17176 23028 \n3 17176 2446 10979 \n3 23028 10979 5373 \n3 2446 17175 10977 \n3 17175 433 20546 \n3 10977 20546 4133 \n3 5373 10978 23029 \n3 10978 4133 20549 \n3 23029 20549 145 \n3 143 23030 20538 \n3 23030 5374 10982 \n3 20538 10982 4128 \n3 5374 23031 10980 \n3 23031 1054 17179 \n3 10980 17179 2450 \n3 4128 10981 20540 \n3 10981 2450 17183 \n3 20540 17183 431 \n3 1054 23032 17178 \n3 23032 5375 10985 \n3 17178 10985 2448 \n3 5375 23033 10983 \n3 23033 31 23034 \n3 10983 23034 5376 \n3 2448 10984 17180 \n3 10984 5376 23035 \n3 17180 23035 1055 \n3 431 17182 20542 \n3 17182 2449 10988 \n3 20542 10988 4130 \n3 2449 17181 10986 \n3 17181 1055 23036 \n3 10986 23036 5377 \n3 4130 10987 20543 \n3 10987 5377 23037 \n3 20543 23037 144 \n3 145 20548 23038 \n3 20548 4132 10991 \n3 23038 10991 5378 \n3 4132 20547 10989 \n3 20547 432 17185 \n3 10989 17185 2453 \n3 5378 10990 23039 \n3 10990 2453 17189 \n3 23039 17189 1057 \n3 432 20545 17184 \n3 20545 4131 10994 \n3 17184 10994 2451 \n3 4131 20544 10992 \n3 20544 144 23040 \n3 10992 23040 5379 \n3 2451 10993 17186 \n3 10993 5379 23041 \n3 17186 23041 1056 \n3 1057 17188 23042 \n3 17188 2452 10997 \n3 23042 10997 5381 \n3 2452 17187 10995 \n3 17187 1056 23043 \n3 10995 23043 5380 \n3 5381 10996 23045 \n3 10996 5380 23044 \n3 23045 23044 69 \n3 70 23046 23047 \n3 23046 5382 11000 \n3 23047 11000 5383 \n3 5382 23048 10998 \n3 23048 1058 17191 \n3 10998 17191 2456 \n3 5383 10999 23049 \n3 10999 2456 17195 \n3 23049 17195 1059 \n3 1058 23050 17190 \n3 23050 5384 11003 \n3 17190 11003 2454 \n3 5384 23051 11001 \n3 23051 146 20551 \n3 11001 20551 4135 \n3 2454 11002 17192 \n3 11002 4135 20553 \n3 17192 20553 436 \n3 1059 17194 23052 \n3 17194 2455 11006 \n3 23052 11006 5385 \n3 2455 17193 11004 \n3 17193 436 20558 \n3 11004 20558 4139 \n3 5385 11005 23053 \n3 11005 4139 20561 \n3 23053 20561 148 \n3 146 23054 20550 \n3 23054 5386 11009 \n3 20550 11009 4134 \n3 5386 23055 11007 \n3 23055 1060 17197 \n3 11007 17197 2459 \n3 4134 11008 20552 \n3 11008 2459 17201 \n3 20552 17201 434 \n3 1060 23056 17196 \n3 23056 5387 11012 \n3 17196 11012 2457 \n3 5387 23057 11010 \n3 23057 66 23058 \n3 11010 23058 5388 \n3 2457 11011 17198 \n3 11011 5388 23059 \n3 17198 23059 1061 \n3 434 17200 20554 \n3 17200 2458 11015 \n3 20554 11015 4136 \n3 2458 17199 11013 \n3 17199 1061 23060 \n3 11013 23060 5389 \n3 4136 11014 20555 \n3 11014 5389 23061 \n3 20555 23061 147 \n3 148 20560 23062 \n3 20560 4138 11018 \n3 23062 11018 5390 \n3 4138 20559 11016 \n3 20559 435 17203 \n3 11016 17203 2462 \n3 5390 11017 23063 \n3 11017 2462 17207 \n3 23063 17207 1063 \n3 435 20557 17202 \n3 20557 4137 11021 \n3 17202 11021 2460 \n3 4137 20556 11019 \n3 20556 147 23064 \n3 11019 23064 5391 \n3 2460 11020 17204 \n3 11020 5391 23065 \n3 17204 23065 1062 \n3 1063 17206 23066 \n3 17206 2461 11024 \n3 23066 11024 5393 \n3 2461 17205 11022 \n3 17205 1062 23067 \n3 11022 23067 5392 \n3 5393 11023 23069 \n3 11023 5392 23068 \n3 23069 23068 29 \n3 30 23070 23071 \n3 23070 5394 11027 \n3 23071 11027 5395 \n3 5394 23072 11025 \n3 23072 1064 17209 \n3 11025 17209 2465 \n3 5395 11026 23073 \n3 11026 2465 17213 \n3 23073 17213 1065 \n3 1064 23074 17208 \n3 23074 5396 11030 \n3 17208 11030 2463 \n3 5396 23075 11028 \n3 23075 149 20563 \n3 11028 20563 4141 \n3 2463 11029 17210 \n3 11029 4141 20565 \n3 17210 20565 439 \n3 1065 17212 23076 \n3 17212 2464 11033 \n3 23076 11033 5397 \n3 2464 17211 11031 \n3 17211 439 20570 \n3 11031 20570 4145 \n3 5397 11032 23077 \n3 11032 4145 20573 \n3 23077 20573 151 \n3 149 23078 20562 \n3 23078 5398 11036 \n3 20562 11036 4140 \n3 5398 23079 11034 \n3 23079 1066 17215 \n3 11034 17215 2468 \n3 4140 11035 20564 \n3 11035 2468 17219 \n3 20564 17219 437 \n3 1066 23080 17214 \n3 23080 5399 11039 \n3 17214 11039 2466 \n3 5399 23081 11037 \n3 23081 65 23082 \n3 11037 23082 5400 \n3 2466 11038 17216 \n3 11038 5400 23083 \n3 17216 23083 1067 \n3 437 17218 20566 \n3 17218 2467 11042 \n3 20566 11042 4142 \n3 2467 17217 11040 \n3 17217 1067 23084 \n3 11040 23084 5401 \n3 4142 11041 20567 \n3 11041 5401 23085 \n3 20567 23085 150 \n3 151 20572 23086 \n3 20572 4144 11045 \n3 23086 11045 5402 \n3 4144 20571 11043 \n3 20571 438 17221 \n3 11043 17221 2471 \n3 5402 11044 23087 \n3 11044 2471 17225 \n3 23087 17225 1069 \n3 438 20569 17220 \n3 20569 4143 11048 \n3 17220 11048 2469 \n3 4143 20568 11046 \n3 20568 150 23088 \n3 11046 23088 5403 \n3 2469 11047 17222 \n3 11047 5403 23089 \n3 17222 23089 1068 \n3 1069 17224 23090 \n3 17224 2470 11051 \n3 23090 11051 5405 \n3 2470 17223 11049 \n3 17223 1068 23091 \n3 11049 23091 5404 \n3 5405 11050 23093 \n3 11050 5404 23092 \n3 23093 23092 71 \n3 1682 23094 23095 \n3 23094 5406 11054 \n3 23095 11054 5407 \n3 5406 23096 11052 \n3 23096 1070 17227 \n3 11052 17227 2474 \n3 5407 11053 23097 \n3 11053 2474 17231 \n3 23097 17231 1071 \n3 1070 23098 17226 \n3 23098 5408 11057 \n3 17226 11057 2472 \n3 5408 23099 11055 \n3 23099 152 20575 \n3 11055 20575 4147 \n3 2472 11056 17228 \n3 11056 4147 20577 \n3 17228 20577 442 \n3 1071 17230 23100 \n3 17230 2473 11060 \n3 23100 11060 5409 \n3 2473 17229 11058 \n3 17229 442 20582 \n3 11058 20582 4151 \n3 5409 11059 23101 \n3 11059 4151 20585 \n3 23101 20585 154 \n3 152 23102 20574 \n3 23102 5410 11063 \n3 20574 11063 4146 \n3 5410 23103 11061 \n3 23103 1072 17233 \n3 11061 17233 2477 \n3 4146 11062 20576 \n3 11062 2477 17237 \n3 20576 17237 440 \n3 1072 23104 17232 \n3 23104 5411 11066 \n3 17232 11066 2475 \n3 5411 23105 11064 \n3 23105 34 23106 \n3 11064 23106 5412 \n3 2475 11065 17234 \n3 11065 5412 23107 \n3 17234 23107 1073 \n3 440 17236 20578 \n3 17236 2476 11069 \n3 20578 11069 4148 \n3 2476 17235 11067 \n3 17235 1073 23108 \n3 11067 23108 5413 \n3 4148 11068 20579 \n3 11068 5413 23109 \n3 20579 23109 153 \n3 154 20584 23110 \n3 20584 4150 11072 \n3 23110 11072 5414 \n3 4150 20583 11070 \n3 20583 441 17239 \n3 11070 17239 2480 \n3 5414 11071 23111 \n3 11071 2480 17243 \n3 23111 17243 1075 \n3 441 20581 17238 \n3 20581 4149 11075 \n3 17238 11075 2478 \n3 4149 20580 11073 \n3 20580 153 23112 \n3 11073 23112 5415 \n3 2478 11074 17240 \n3 11074 5415 23113 \n3 17240 23113 1074 \n3 1075 17242 23114 \n3 17242 2479 11078 \n3 23114 11078 5417 \n3 2479 17241 11076 \n3 17241 1074 23115 \n3 11076 23115 5416 \n3 5417 11077 23117 \n3 11077 5416 23116 \n3 23117 23116 72 \n3 1683 23118 23119 \n3 23118 5418 11081 \n3 23119 11081 5419 \n3 5418 23120 11079 \n3 23120 1076 17245 \n3 11079 17245 2483 \n3 5419 11080 23121 \n3 11080 2483 17249 \n3 23121 17249 1077 \n3 1076 23122 17244 \n3 23122 5420 11084 \n3 17244 11084 2481 \n3 5420 23123 11082 \n3 23123 155 20587 \n3 11082 20587 4153 \n3 2481 11083 17246 \n3 11083 4153 20589 \n3 17246 20589 445 \n3 1077 17248 23124 \n3 17248 2482 11087 \n3 23124 11087 5421 \n3 2482 17247 11085 \n3 17247 445 20594 \n3 11085 20594 4157 \n3 5421 11086 23125 \n3 11086 4157 20597 \n3 23125 20597 157 \n3 155 23126 20586 \n3 23126 5422 11090 \n3 20586 11090 4152 \n3 5422 23127 11088 \n3 23127 1078 17251 \n3 11088 17251 2486 \n3 4152 11089 20588 \n3 11089 2486 17255 \n3 20588 17255 443 \n3 1078 23128 17250 \n3 23128 5423 11093 \n3 17250 11093 2484 \n3 5423 23129 11091 \n3 23129 73 23130 \n3 11091 23130 5424 \n3 2484 11092 17252 \n3 11092 5424 23131 \n3 17252 23131 1079 \n3 443 17254 20590 \n3 17254 2485 11096 \n3 20590 11096 4154 \n3 2485 17253 11094 \n3 17253 1079 23132 \n3 11094 23132 5425 \n3 4154 11095 20591 \n3 11095 5425 23133 \n3 20591 23133 156 \n3 157 20596 23134 \n3 20596 4156 11099 \n3 23134 11099 5426 \n3 4156 20595 11097 \n3 20595 444 17257 \n3 11097 17257 2489 \n3 5426 11098 23135 \n3 11098 2489 17261 \n3 23135 17261 1081 \n3 444 20593 17256 \n3 20593 4155 11102 \n3 17256 11102 2487 \n3 4155 20592 11100 \n3 20592 156 23136 \n3 11100 23136 5427 \n3 2487 11101 17258 \n3 11101 5427 23137 \n3 17258 23137 1080 \n3 1081 17260 23138 \n3 17260 2488 11105 \n3 23138 11105 5429 \n3 2488 17259 11103 \n3 17259 1080 23139 \n3 11103 23139 5428 \n3 5429 11104 23141 \n3 11104 5428 23140 \n3 23141 23140 32 \n3 33 23142 23143 \n3 23142 5430 11108 \n3 23143 11108 5431 \n3 5430 23144 11106 \n3 23144 1082 17263 \n3 11106 17263 2492 \n3 5431 11107 23145 \n3 11107 2492 17267 \n3 23145 17267 1083 \n3 1082 23146 17262 \n3 23146 5432 11111 \n3 17262 11111 2490 \n3 5432 23147 11109 \n3 23147 158 20599 \n3 11109 20599 4159 \n3 2490 11110 17264 \n3 11110 4159 20601 \n3 17264 20601 448 \n3 1083 17266 23148 \n3 17266 2491 11114 \n3 23148 11114 5433 \n3 2491 17265 11112 \n3 17265 448 20606 \n3 11112 20606 4163 \n3 5433 11113 23149 \n3 11113 4163 20609 \n3 23149 20609 160 \n3 158 23150 20598 \n3 23150 5434 11117 \n3 20598 11117 4158 \n3 5434 23151 11115 \n3 23151 1084 17269 \n3 11115 17269 2495 \n3 4158 11116 20600 \n3 11116 2495 17273 \n3 20600 17273 446 \n3 1084 23152 17268 \n3 23152 5435 11120 \n3 17268 11120 2493 \n3 5435 23153 11118 \n3 23153 74 23154 \n3 11118 23154 5436 \n3 2493 11119 17270 \n3 11119 5436 23155 \n3 17270 23155 1085 \n3 446 17272 20602 \n3 17272 2494 11123 \n3 20602 11123 4160 \n3 2494 17271 11121 \n3 17271 1085 23156 \n3 11121 23156 5437 \n3 4160 11122 20603 \n3 11122 5437 23157 \n3 20603 23157 159 \n3 160 20608 23158 \n3 20608 4162 11126 \n3 23158 11126 5438 \n3 4162 20607 11124 \n3 20607 447 17275 \n3 11124 17275 2498 \n3 5438 11125 23159 \n3 11125 2498 17279 \n3 23159 17279 1087 \n3 447 20605 17274 \n3 20605 4161 11129 \n3 17274 11129 2496 \n3 4161 20604 11127 \n3 20604 159 23160 \n3 11127 23160 5439 \n3 2496 11128 17276 \n3 11128 5439 23161 \n3 17276 23161 1086 \n3 1087 17278 23162 \n3 17278 2497 11132 \n3 23162 11132 5441 \n3 2497 17277 11130 \n3 17277 1086 23163 \n3 11130 23163 5440 \n3 5441 11131 23165 \n3 11131 5440 23164 \n3 23165 23164 75 \n3 76 23166 23167 \n3 23166 5442 11135 \n3 23167 11135 5443 \n3 5442 23168 11133 \n3 23168 1088 17281 \n3 11133 17281 2501 \n3 5443 11134 23169 \n3 11134 2501 17285 \n3 23169 17285 1089 \n3 1088 23170 17280 \n3 23170 5444 11138 \n3 17280 11138 2499 \n3 5444 23171 11136 \n3 23171 161 20611 \n3 11136 20611 4165 \n3 2499 11137 17282 \n3 11137 4165 20613 \n3 17282 20613 451 \n3 1089 17284 23172 \n3 17284 2500 11141 \n3 23172 11141 5445 \n3 2500 17283 11139 \n3 17283 451 20618 \n3 11139 20618 4169 \n3 5445 11140 23173 \n3 11140 4169 20621 \n3 23173 20621 163 \n3 161 23174 20610 \n3 23174 5446 11144 \n3 20610 11144 4164 \n3 5446 23175 11142 \n3 23175 1090 17287 \n3 11142 17287 2504 \n3 4164 11143 20612 \n3 11143 2504 17291 \n3 20612 17291 449 \n3 1090 23176 17286 \n3 23176 5447 11147 \n3 17286 11147 2502 \n3 5447 23177 11145 \n3 23177 37 23178 \n3 11145 23178 5448 \n3 2502 11146 17288 \n3 11146 5448 23179 \n3 17288 23179 1091 \n3 449 17290 20614 \n3 17290 2503 11150 \n3 20614 11150 4166 \n3 2503 17289 11148 \n3 17289 1091 23180 \n3 11148 23180 5449 \n3 4166 11149 20615 \n3 11149 5449 23181 \n3 20615 23181 162 \n3 163 20620 23182 \n3 20620 4168 11153 \n3 23182 11153 5450 \n3 4168 20619 11151 \n3 20619 450 17293 \n3 11151 17293 2507 \n3 5450 11152 23183 \n3 11152 2507 17297 \n3 23183 17297 1093 \n3 450 20617 17292 \n3 20617 4167 11156 \n3 17292 11156 2505 \n3 4167 20616 11154 \n3 20616 162 23184 \n3 11154 23184 5451 \n3 2505 11155 17294 \n3 11155 5451 23185 \n3 17294 23185 1092 \n3 1093 17296 23186 \n3 17296 2506 11159 \n3 23186 11159 5453 \n3 2506 17295 11157 \n3 17295 1092 23187 \n3 11157 23187 5452 \n3 5453 11158 23189 \n3 11158 5452 23188 \n3 23189 23188 77 \n3 78 23190 23191 \n3 23190 5454 11162 \n3 23191 11162 5455 \n3 5454 23192 11160 \n3 23192 1094 17299 \n3 11160 17299 2510 \n3 5455 11161 23193 \n3 11161 2510 17303 \n3 23193 17303 1095 \n3 1094 23194 17298 \n3 23194 5456 11165 \n3 17298 11165 2508 \n3 5456 23195 11163 \n3 23195 164 20623 \n3 11163 20623 4171 \n3 2508 11164 17300 \n3 11164 4171 20625 \n3 17300 20625 454 \n3 1095 17302 23196 \n3 17302 2509 11168 \n3 23196 11168 5457 \n3 2509 17301 11166 \n3 17301 454 20630 \n3 11166 20630 4175 \n3 5457 11167 23197 \n3 11167 4175 20633 \n3 23197 20633 166 \n3 164 23198 20622 \n3 23198 5458 11171 \n3 20622 11171 4170 \n3 5458 23199 11169 \n3 23199 1096 17305 \n3 11169 17305 2513 \n3 4170 11170 20624 \n3 11170 2513 17309 \n3 20624 17309 452 \n3 1096 23200 17304 \n3 23200 5459 11174 \n3 17304 11174 2511 \n3 5459 23201 11172 \n3 23201 74 23202 \n3 11172 23202 5460 \n3 2511 11173 17306 \n3 11173 5460 23203 \n3 17306 23203 1097 \n3 452 17308 20626 \n3 17308 2512 11177 \n3 20626 11177 4172 \n3 2512 17307 11175 \n3 17307 1097 23204 \n3 11175 23204 5461 \n3 4172 11176 20627 \n3 11176 5461 23205 \n3 20627 23205 165 \n3 166 20632 23206 \n3 20632 4174 11180 \n3 23206 11180 5462 \n3 4174 20631 11178 \n3 20631 453 17311 \n3 11178 17311 2516 \n3 5462 11179 23207 \n3 11179 2516 17315 \n3 23207 17315 1099 \n3 453 20629 17310 \n3 20629 4173 11183 \n3 17310 11183 2514 \n3 4173 20628 11181 \n3 20628 165 23208 \n3 11181 23208 5463 \n3 2514 11182 17312 \n3 11182 5463 23209 \n3 17312 23209 1098 \n3 1099 17314 23210 \n3 17314 2515 11186 \n3 23210 11186 5465 \n3 2515 17313 11184 \n3 17313 1098 23211 \n3 11184 23211 5464 \n3 5465 11185 23213 \n3 11185 5464 23212 \n3 23213 23212 35 \n3 36 23214 23215 \n3 23214 5466 11189 \n3 23215 11189 5467 \n3 5466 23216 11187 \n3 23216 1100 17317 \n3 11187 17317 2519 \n3 5467 11188 23217 \n3 11188 2519 17321 \n3 23217 17321 1101 \n3 1100 23218 17316 \n3 23218 5468 11192 \n3 17316 11192 2517 \n3 5468 23219 11190 \n3 23219 167 20635 \n3 11190 20635 4177 \n3 2517 11191 17318 \n3 11191 4177 20637 \n3 17318 20637 457 \n3 1101 17320 23220 \n3 17320 2518 11195 \n3 23220 11195 5469 \n3 2518 17319 11193 \n3 17319 457 20642 \n3 11193 20642 4181 \n3 5469 11194 23221 \n3 11194 4181 20645 \n3 23221 20645 169 \n3 167 23222 20634 \n3 23222 5470 11198 \n3 20634 11198 4176 \n3 5470 23223 11196 \n3 23223 1102 17323 \n3 11196 17323 2522 \n3 4176 11197 20636 \n3 11197 2522 17327 \n3 20636 17327 455 \n3 1102 23224 17322 \n3 23224 5471 11201 \n3 17322 11201 2520 \n3 5471 23225 11199 \n3 23225 73 23226 \n3 11199 23226 5472 \n3 2520 11200 17324 \n3 11200 5472 23227 \n3 17324 23227 1103 \n3 455 17326 20638 \n3 17326 2521 11204 \n3 20638 11204 4178 \n3 2521 17325 11202 \n3 17325 1103 23228 \n3 11202 23228 5473 \n3 4178 11203 20639 \n3 11203 5473 23229 \n3 20639 23229 168 \n3 169 20644 23230 \n3 20644 4180 11207 \n3 23230 11207 5474 \n3 4180 20643 11205 \n3 20643 456 17329 \n3 11205 17329 2525 \n3 5474 11206 23231 \n3 11206 2525 17333 \n3 23231 17333 1105 \n3 456 20641 17328 \n3 20641 4179 11210 \n3 17328 11210 2523 \n3 4179 20640 11208 \n3 20640 168 23232 \n3 11208 23232 5475 \n3 2523 11209 17330 \n3 11209 5475 23233 \n3 17330 23233 1104 \n3 1105 17332 23234 \n3 17332 2524 11213 \n3 23234 11213 5477 \n3 2524 17331 11211 \n3 17331 1104 23235 \n3 11211 23235 5476 \n3 5477 11212 23237 \n3 11212 5476 23236 \n3 23237 23236 79 \n3 1684 23238 23239 \n3 23238 5478 11216 \n3 23239 11216 5479 \n3 5478 23240 11214 \n3 23240 1106 17335 \n3 11214 17335 2528 \n3 5479 11215 23241 \n3 11215 2528 17339 \n3 23241 17339 1107 \n3 1106 23242 17334 \n3 23242 5480 11219 \n3 17334 11219 2526 \n3 5480 23243 11217 \n3 23243 170 20647 \n3 11217 20647 4183 \n3 2526 11218 17336 \n3 11218 4183 20649 \n3 17336 20649 460 \n3 1107 17338 23244 \n3 17338 2527 11222 \n3 23244 11222 5481 \n3 2527 17337 11220 \n3 17337 460 20654 \n3 11220 20654 4187 \n3 5481 11221 23245 \n3 11221 4187 20657 \n3 23245 20657 172 \n3 170 23246 20646 \n3 23246 5482 11225 \n3 20646 11225 4182 \n3 5482 23247 11223 \n3 23247 1108 17341 \n3 11223 17341 2531 \n3 4182 11224 20648 \n3 11224 2531 17345 \n3 20648 17345 458 \n3 1108 23248 17340 \n3 23248 5483 11228 \n3 17340 11228 2529 \n3 5483 23249 11226 \n3 23249 40 23250 \n3 11226 23250 5484 \n3 2529 11227 17342 \n3 11227 5484 23251 \n3 17342 23251 1109 \n3 458 17344 20650 \n3 17344 2530 11231 \n3 20650 11231 4184 \n3 2530 17343 11229 \n3 17343 1109 23252 \n3 11229 23252 5485 \n3 4184 11230 20651 \n3 11230 5485 23253 \n3 20651 23253 171 \n3 172 20656 23254 \n3 20656 4186 11234 \n3 23254 11234 5486 \n3 4186 20655 11232 \n3 20655 459 17347 \n3 11232 17347 2534 \n3 5486 11233 23255 \n3 11233 2534 17351 \n3 23255 17351 1111 \n3 459 20653 17346 \n3 20653 4185 11237 \n3 17346 11237 2532 \n3 4185 20652 11235 \n3 20652 171 23256 \n3 11235 23256 5487 \n3 2532 11236 17348 \n3 11236 5487 23257 \n3 17348 23257 1110 \n3 1111 17350 23258 \n3 17350 2533 11240 \n3 23258 11240 5489 \n3 2533 17349 11238 \n3 17349 1110 23259 \n3 11238 23259 5488 \n3 5489 11239 23261 \n3 11239 5488 23260 \n3 23261 23260 1685 \n3 1686 23262 23263 \n3 23262 5490 11243 \n3 23263 11243 5491 \n3 5490 23264 11241 \n3 23264 1112 17353 \n3 11241 17353 2537 \n3 5491 11242 23265 \n3 11242 2537 17357 \n3 23265 17357 1113 \n3 1112 23266 17352 \n3 23266 5492 11246 \n3 17352 11246 2535 \n3 5492 23267 11244 \n3 23267 173 20659 \n3 11244 20659 4189 \n3 2535 11245 17354 \n3 11245 4189 20661 \n3 17354 20661 463 \n3 1113 17356 23268 \n3 17356 2536 11249 \n3 23268 11249 5493 \n3 2536 17355 11247 \n3 17355 463 20666 \n3 11247 20666 4193 \n3 5493 11248 23269 \n3 11248 4193 20669 \n3 23269 20669 175 \n3 173 23270 20658 \n3 23270 5494 11252 \n3 20658 11252 4188 \n3 5494 23271 11250 \n3 23271 1114 17359 \n3 11250 17359 2540 \n3 4188 11251 20660 \n3 11251 2540 17363 \n3 20660 17363 461 \n3 1114 23272 17358 \n3 23272 5495 11255 \n3 17358 11255 2538 \n3 5495 23273 11253 \n3 23273 80 23274 \n3 11253 23274 5496 \n3 2538 11254 17360 \n3 11254 5496 23275 \n3 17360 23275 1115 \n3 461 17362 20662 \n3 17362 2539 11258 \n3 20662 11258 4190 \n3 2539 17361 11256 \n3 17361 1115 23276 \n3 11256 23276 5497 \n3 4190 11257 20663 \n3 11257 5497 23277 \n3 20663 23277 174 \n3 175 20668 23278 \n3 20668 4192 11261 \n3 23278 11261 5498 \n3 4192 20667 11259 \n3 20667 462 17365 \n3 11259 17365 2543 \n3 5498 11260 23279 \n3 11260 2543 17369 \n3 23279 17369 1117 \n3 462 20665 17364 \n3 20665 4191 11264 \n3 17364 11264 2541 \n3 4191 20664 11262 \n3 20664 174 23280 \n3 11262 23280 5499 \n3 2541 11263 17366 \n3 11263 5499 23281 \n3 17366 23281 1116 \n3 1117 17368 23282 \n3 17368 2542 11267 \n3 23282 11267 5501 \n3 2542 17367 11265 \n3 17367 1116 23283 \n3 11265 23283 5500 \n3 5501 11266 23285 \n3 11266 5500 23284 \n3 23285 23284 38 \n3 39 23286 23287 \n3 23286 5502 11270 \n3 23287 11270 5503 \n3 5502 23288 11268 \n3 23288 1118 17371 \n3 11268 17371 2546 \n3 5503 11269 23289 \n3 11269 2546 17375 \n3 23289 17375 1119 \n3 1118 23290 17370 \n3 23290 5504 11273 \n3 17370 11273 2544 \n3 5504 23291 11271 \n3 23291 176 20671 \n3 11271 20671 4195 \n3 2544 11272 17372 \n3 11272 4195 20673 \n3 17372 20673 466 \n3 1119 17374 23292 \n3 17374 2545 11276 \n3 23292 11276 5505 \n3 2545 17373 11274 \n3 17373 466 20678 \n3 11274 20678 4199 \n3 5505 11275 23293 \n3 11275 4199 20681 \n3 23293 20681 178 \n3 176 23294 20670 \n3 23294 5506 11279 \n3 20670 11279 4194 \n3 5506 23295 11277 \n3 23295 1120 17377 \n3 11277 17377 2549 \n3 4194 11278 20672 \n3 11278 2549 17381 \n3 20672 17381 464 \n3 1120 23296 17376 \n3 23296 5507 11282 \n3 17376 11282 2547 \n3 5507 23297 11280 \n3 23297 81 23298 \n3 11280 23298 5508 \n3 2547 11281 17378 \n3 11281 5508 23299 \n3 17378 23299 1121 \n3 464 17380 20674 \n3 17380 2548 11285 \n3 20674 11285 4196 \n3 2548 17379 11283 \n3 17379 1121 23300 \n3 11283 23300 5509 \n3 4196 11284 20675 \n3 11284 5509 23301 \n3 20675 23301 177 \n3 178 20680 23302 \n3 20680 4198 11288 \n3 23302 11288 5510 \n3 4198 20679 11286 \n3 20679 465 17383 \n3 11286 17383 2552 \n3 5510 11287 23303 \n3 11287 2552 17387 \n3 23303 17387 1123 \n3 465 20677 17382 \n3 20677 4197 11291 \n3 17382 11291 2550 \n3 4197 20676 11289 \n3 20676 177 23304 \n3 11289 23304 5511 \n3 2550 11290 17384 \n3 11290 5511 23305 \n3 17384 23305 1122 \n3 1123 17386 23306 \n3 17386 2551 11294 \n3 23306 11294 5513 \n3 2551 17385 11292 \n3 17385 1122 23307 \n3 11292 23307 5512 \n3 5513 11293 23309 \n3 11293 5512 23308 \n3 23309 23308 1687 \n3 82 23310 23311 \n3 23310 5514 11297 \n3 23311 11297 5515 \n3 5514 23312 11295 \n3 23312 1124 17389 \n3 11295 17389 2555 \n3 5515 11296 23313 \n3 11296 2555 17393 \n3 23313 17393 1125 \n3 1124 23314 17388 \n3 23314 5516 11300 \n3 17388 11300 2553 \n3 5516 23315 11298 \n3 23315 179 20683 \n3 11298 20683 4201 \n3 2553 11299 17390 \n3 11299 4201 20685 \n3 17390 20685 469 \n3 1125 17392 23316 \n3 17392 2554 11303 \n3 23316 11303 5517 \n3 2554 17391 11301 \n3 17391 469 20690 \n3 11301 20690 4205 \n3 5517 11302 23317 \n3 11302 4205 20693 \n3 23317 20693 181 \n3 179 23318 20682 \n3 23318 5518 11306 \n3 20682 11306 4200 \n3 5518 23319 11304 \n3 23319 1126 17395 \n3 11304 17395 2558 \n3 4200 11305 20684 \n3 11305 2558 17399 \n3 20684 17399 467 \n3 1126 23320 17394 \n3 23320 5519 11309 \n3 17394 11309 2556 \n3 5519 23321 11307 \n3 23321 43 23322 \n3 11307 23322 5520 \n3 2556 11308 17396 \n3 11308 5520 23323 \n3 17396 23323 1127 \n3 467 17398 20686 \n3 17398 2557 11312 \n3 20686 11312 4202 \n3 2557 17397 11310 \n3 17397 1127 23324 \n3 11310 23324 5521 \n3 4202 11311 20687 \n3 11311 5521 23325 \n3 20687 23325 180 \n3 181 20692 23326 \n3 20692 4204 11315 \n3 23326 11315 5522 \n3 4204 20691 11313 \n3 20691 468 17401 \n3 11313 17401 2561 \n3 5522 11314 23327 \n3 11314 2561 17405 \n3 23327 17405 1129 \n3 468 20689 17400 \n3 20689 4203 11318 \n3 17400 11318 2559 \n3 4203 20688 11316 \n3 20688 180 23328 \n3 11316 23328 5523 \n3 2559 11317 17402 \n3 11317 5523 23329 \n3 17402 23329 1128 \n3 1129 17404 23330 \n3 17404 2560 11321 \n3 23330 11321 5525 \n3 2560 17403 11319 \n3 17403 1128 23331 \n3 11319 23331 5524 \n3 5525 11320 23333 \n3 11320 5524 23332 \n3 23333 23332 83 \n3 84 23334 23335 \n3 23334 5526 11324 \n3 23335 11324 5527 \n3 5526 23336 11322 \n3 23336 1130 17407 \n3 11322 17407 2564 \n3 5527 11323 23337 \n3 11323 2564 17411 \n3 23337 17411 1131 \n3 1130 23338 17406 \n3 23338 5528 11327 \n3 17406 11327 2562 \n3 5528 23339 11325 \n3 23339 182 20695 \n3 11325 20695 4207 \n3 2562 11326 17408 \n3 11326 4207 20697 \n3 17408 20697 472 \n3 1131 17410 23340 \n3 17410 2563 11330 \n3 23340 11330 5529 \n3 2563 17409 11328 \n3 17409 472 20702 \n3 11328 20702 4211 \n3 5529 11329 23341 \n3 11329 4211 20705 \n3 23341 20705 184 \n3 182 23342 20694 \n3 23342 5530 11333 \n3 20694 11333 4206 \n3 5530 23343 11331 \n3 23343 1132 17413 \n3 11331 17413 2567 \n3 4206 11332 20696 \n3 11332 2567 17417 \n3 20696 17417 470 \n3 1132 23344 17412 \n3 23344 5531 11336 \n3 17412 11336 2565 \n3 5531 23345 11334 \n3 23345 81 23346 \n3 11334 23346 5532 \n3 2565 11335 17414 \n3 11335 5532 23347 \n3 17414 23347 1133 \n3 470 17416 20698 \n3 17416 2566 11339 \n3 20698 11339 4208 \n3 2566 17415 11337 \n3 17415 1133 23348 \n3 11337 23348 5533 \n3 4208 11338 20699 \n3 11338 5533 23349 \n3 20699 23349 183 \n3 184 20704 23350 \n3 20704 4210 11342 \n3 23350 11342 5534 \n3 4210 20703 11340 \n3 20703 471 17419 \n3 11340 17419 2570 \n3 5534 11341 23351 \n3 11341 2570 17423 \n3 23351 17423 1135 \n3 471 20701 17418 \n3 20701 4209 11345 \n3 17418 11345 2568 \n3 4209 20700 11343 \n3 20700 183 23352 \n3 11343 23352 5535 \n3 2568 11344 17420 \n3 11344 5535 23353 \n3 17420 23353 1134 \n3 1135 17422 23354 \n3 17422 2569 11348 \n3 23354 11348 5537 \n3 2569 17421 11346 \n3 17421 1134 23355 \n3 11346 23355 5536 \n3 5537 11347 23357 \n3 11347 5536 23356 \n3 23357 23356 41 \n3 42 23358 23359 \n3 23358 5538 11351 \n3 23359 11351 5539 \n3 5538 23360 11349 \n3 23360 1136 17425 \n3 11349 17425 2573 \n3 5539 11350 23361 \n3 11350 2573 17429 \n3 23361 17429 1137 \n3 1136 23362 17424 \n3 23362 5540 11354 \n3 17424 11354 2571 \n3 5540 23363 11352 \n3 23363 185 20707 \n3 11352 20707 4213 \n3 2571 11353 17426 \n3 11353 4213 20709 \n3 17426 20709 475 \n3 1137 17428 23364 \n3 17428 2572 11357 \n3 23364 11357 5541 \n3 2572 17427 11355 \n3 17427 475 20714 \n3 11355 20714 4217 \n3 5541 11356 23365 \n3 11356 4217 20717 \n3 23365 20717 187 \n3 185 23366 20706 \n3 23366 5542 11360 \n3 20706 11360 4212 \n3 5542 23367 11358 \n3 23367 1138 17431 \n3 11358 17431 2576 \n3 4212 11359 20708 \n3 11359 2576 17435 \n3 20708 17435 473 \n3 1138 23368 17430 \n3 23368 5543 11363 \n3 17430 11363 2574 \n3 5543 23369 11361 \n3 23369 80 23370 \n3 11361 23370 5544 \n3 2574 11362 17432 \n3 11362 5544 23371 \n3 17432 23371 1139 \n3 473 17434 20710 \n3 17434 2575 11366 \n3 20710 11366 4214 \n3 2575 17433 11364 \n3 17433 1139 23372 \n3 11364 23372 5545 \n3 4214 11365 20711 \n3 11365 5545 23373 \n3 20711 23373 186 \n3 187 20716 23374 \n3 20716 4216 11369 \n3 23374 11369 5546 \n3 4216 20715 11367 \n3 20715 474 17437 \n3 11367 17437 2579 \n3 5546 11368 23375 \n3 11368 2579 17441 \n3 23375 17441 1141 \n3 474 20713 17436 \n3 20713 4215 11372 \n3 17436 11372 2577 \n3 4215 20712 11370 \n3 20712 186 23376 \n3 11370 23376 5547 \n3 2577 11371 17438 \n3 11371 5547 23377 \n3 17438 23377 1140 \n3 1141 17440 23378 \n3 17440 2578 11375 \n3 23378 11375 5549 \n3 2578 17439 11373 \n3 17439 1140 23379 \n3 11373 23379 5548 \n3 5549 11374 23381 \n3 11374 5548 23380 \n3 23381 23380 85 \n3 86 23382 23383 \n3 23382 5550 11378 \n3 23383 11378 5551 \n3 5550 23384 11376 \n3 23384 1142 17443 \n3 11376 17443 2582 \n3 5551 11377 23385 \n3 11377 2582 17447 \n3 23385 17447 1143 \n3 1142 23386 17442 \n3 23386 5552 11381 \n3 17442 11381 2580 \n3 5552 23387 11379 \n3 23387 188 20719 \n3 11379 20719 4219 \n3 2580 11380 17444 \n3 11380 4219 20721 \n3 17444 20721 478 \n3 1143 17446 23388 \n3 17446 2581 11384 \n3 23388 11384 5553 \n3 2581 17445 11382 \n3 17445 478 20726 \n3 11382 20726 4223 \n3 5553 11383 23389 \n3 11383 4223 20729 \n3 23389 20729 190 \n3 188 23390 20718 \n3 23390 5554 11387 \n3 20718 11387 4218 \n3 5554 23391 11385 \n3 23391 1144 17449 \n3 11385 17449 2585 \n3 4218 11386 20720 \n3 11386 2585 17453 \n3 20720 17453 476 \n3 1144 23392 17448 \n3 23392 5555 11390 \n3 17448 11390 2583 \n3 5555 23393 11388 \n3 23393 46 23394 \n3 11388 23394 5556 \n3 2583 11389 17450 \n3 11389 5556 23395 \n3 17450 23395 1145 \n3 476 17452 20722 \n3 17452 2584 11393 \n3 20722 11393 4220 \n3 2584 17451 11391 \n3 17451 1145 23396 \n3 11391 23396 5557 \n3 4220 11392 20723 \n3 11392 5557 23397 \n3 20723 23397 189 \n3 190 20728 23398 \n3 20728 4222 11396 \n3 23398 11396 5558 \n3 4222 20727 11394 \n3 20727 477 17455 \n3 11394 17455 2588 \n3 5558 11395 23399 \n3 11395 2588 17459 \n3 23399 17459 1147 \n3 477 20725 17454 \n3 20725 4221 11399 \n3 17454 11399 2586 \n3 4221 20724 11397 \n3 20724 189 23400 \n3 11397 23400 5559 \n3 2586 11398 17456 \n3 11398 5559 23401 \n3 17456 23401 1146 \n3 1147 17458 23402 \n3 17458 2587 11402 \n3 23402 11402 5561 \n3 2587 17457 11400 \n3 17457 1146 23403 \n3 11400 23403 5560 \n3 5561 11401 23405 \n3 11401 5560 23404 \n3 23405 23404 87 \n3 88 23406 23407 \n3 23406 5562 11405 \n3 23407 11405 5563 \n3 5562 23408 11403 \n3 23408 1148 17461 \n3 11403 17461 2591 \n3 5563 11404 23409 \n3 11404 2591 17465 \n3 23409 17465 1149 \n3 1148 23410 17460 \n3 23410 5564 11408 \n3 17460 11408 2589 \n3 5564 23411 11406 \n3 23411 191 20731 \n3 11406 20731 4225 \n3 2589 11407 17462 \n3 11407 4225 20733 \n3 17462 20733 481 \n3 1149 17464 23412 \n3 17464 2590 11411 \n3 23412 11411 5565 \n3 2590 17463 11409 \n3 17463 481 20738 \n3 11409 20738 4229 \n3 5565 11410 23413 \n3 11410 4229 20741 \n3 23413 20741 193 \n3 191 23414 20730 \n3 23414 5566 11414 \n3 20730 11414 4224 \n3 5566 23415 11412 \n3 23415 1150 17467 \n3 11412 17467 2594 \n3 4224 11413 20732 \n3 11413 2594 17471 \n3 20732 17471 479 \n3 1150 23416 17466 \n3 23416 5567 11417 \n3 17466 11417 2592 \n3 5567 23417 11415 \n3 23417 89 23418 \n3 11415 23418 5568 \n3 2592 11416 17468 \n3 11416 5568 23419 \n3 17468 23419 1151 \n3 479 17470 20734 \n3 17470 2593 11420 \n3 20734 11420 4226 \n3 2593 17469 11418 \n3 17469 1151 23420 \n3 11418 23420 5569 \n3 4226 11419 20735 \n3 11419 5569 23421 \n3 20735 23421 192 \n3 193 20740 23422 \n3 20740 4228 11423 \n3 23422 11423 5570 \n3 4228 20739 11421 \n3 20739 480 17473 \n3 11421 17473 2597 \n3 5570 11422 23423 \n3 11422 2597 17477 \n3 23423 17477 1153 \n3 480 20737 17472 \n3 20737 4227 11426 \n3 17472 11426 2595 \n3 4227 20736 11424 \n3 20736 192 23424 \n3 11424 23424 5571 \n3 2595 11425 17474 \n3 11425 5571 23425 \n3 17474 23425 1152 \n3 1153 17476 23426 \n3 17476 2596 11429 \n3 23426 11429 5573 \n3 2596 17475 11427 \n3 17475 1152 23427 \n3 11427 23427 5572 \n3 5573 11428 23429 \n3 11428 5572 23428 \n3 23429 23428 44 \n3 45 23430 23431 \n3 23430 5574 11432 \n3 23431 11432 5575 \n3 5574 23432 11430 \n3 23432 1154 17479 \n3 11430 17479 2600 \n3 5575 11431 23433 \n3 11431 2600 17483 \n3 23433 17483 1155 \n3 1154 23434 17478 \n3 23434 5576 11435 \n3 17478 11435 2598 \n3 5576 23435 11433 \n3 23435 194 20743 \n3 11433 20743 4231 \n3 2598 11434 17480 \n3 11434 4231 20745 \n3 17480 20745 484 \n3 1155 17482 23436 \n3 17482 2599 11438 \n3 23436 11438 5577 \n3 2599 17481 11436 \n3 17481 484 20750 \n3 11436 20750 4235 \n3 5577 11437 23437 \n3 11437 4235 20753 \n3 23437 20753 196 \n3 194 23438 20742 \n3 23438 5578 11441 \n3 20742 11441 4230 \n3 5578 23439 11439 \n3 23439 1156 17485 \n3 11439 17485 2603 \n3 4230 11440 20744 \n3 11440 2603 17489 \n3 20744 17489 482 \n3 1156 23440 17484 \n3 23440 5579 11444 \n3 17484 11444 2601 \n3 5579 23441 11442 \n3 23441 90 23442 \n3 11442 23442 5580 \n3 2601 11443 17486 \n3 11443 5580 23443 \n3 17486 23443 1157 \n3 482 17488 20746 \n3 17488 2602 11447 \n3 20746 11447 4232 \n3 2602 17487 11445 \n3 17487 1157 23444 \n3 11445 23444 5581 \n3 4232 11446 20747 \n3 11446 5581 23445 \n3 20747 23445 195 \n3 196 20752 23446 \n3 20752 4234 11450 \n3 23446 11450 5582 \n3 4234 20751 11448 \n3 20751 483 17491 \n3 11448 17491 2606 \n3 5582 11449 23447 \n3 11449 2606 17495 \n3 23447 17495 1159 \n3 483 20749 17490 \n3 20749 4233 11453 \n3 17490 11453 2604 \n3 4233 20748 11451 \n3 20748 195 23448 \n3 11451 23448 5583 \n3 2604 11452 17492 \n3 11452 5583 23449 \n3 17492 23449 1158 \n3 1159 17494 23450 \n3 17494 2605 11456 \n3 23450 11456 5585 \n3 2605 17493 11454 \n3 17493 1158 23451 \n3 11454 23451 5584 \n3 5585 11455 23453 \n3 11455 5584 23452 \n3 23453 23452 91 \n3 1688 23454 23455 \n3 23454 5586 11459 \n3 23455 11459 5587 \n3 5586 23456 11457 \n3 23456 1160 17497 \n3 11457 17497 2609 \n3 5587 11458 23457 \n3 11458 2609 17501 \n3 23457 17501 1161 \n3 1160 23458 17496 \n3 23458 5588 11462 \n3 17496 11462 2607 \n3 5588 23459 11460 \n3 23459 197 20755 \n3 11460 20755 4237 \n3 2607 11461 17498 \n3 11461 4237 20757 \n3 17498 20757 487 \n3 1161 17500 23460 \n3 17500 2608 11465 \n3 23460 11465 5589 \n3 2608 17499 11463 \n3 17499 487 20762 \n3 11463 20762 4241 \n3 5589 11464 23461 \n3 11464 4241 20765 \n3 23461 20765 199 \n3 197 23462 20754 \n3 23462 5590 11468 \n3 20754 11468 4236 \n3 5590 23463 11466 \n3 23463 1162 17503 \n3 11466 17503 2612 \n3 4236 11467 20756 \n3 11467 2612 17507 \n3 20756 17507 485 \n3 1162 23464 17502 \n3 23464 5591 11471 \n3 17502 11471 2610 \n3 5591 23465 11469 \n3 23465 49 23466 \n3 11469 23466 5592 \n3 2610 11470 17504 \n3 11470 5592 23467 \n3 17504 23467 1163 \n3 485 17506 20758 \n3 17506 2611 11474 \n3 20758 11474 4238 \n3 2611 17505 11472 \n3 17505 1163 23468 \n3 11472 23468 5593 \n3 4238 11473 20759 \n3 11473 5593 23469 \n3 20759 23469 198 \n3 199 20764 23470 \n3 20764 4240 11477 \n3 23470 11477 5594 \n3 4240 20763 11475 \n3 20763 486 17509 \n3 11475 17509 2615 \n3 5594 11476 23471 \n3 11476 2615 17513 \n3 23471 17513 1165 \n3 486 20761 17508 \n3 20761 4239 11480 \n3 17508 11480 2613 \n3 4239 20760 11478 \n3 20760 198 23472 \n3 11478 23472 5595 \n3 2613 11479 17510 \n3 11479 5595 23473 \n3 17510 23473 1164 \n3 1165 17512 23474 \n3 17512 2614 11483 \n3 23474 11483 5597 \n3 2614 17511 11481 \n3 17511 1164 23475 \n3 11481 23475 5596 \n3 5597 11482 23477 \n3 11482 5596 23476 \n3 23477 23476 1689 \n3 1690 23478 23479 \n3 23478 5598 11486 \n3 23479 11486 5599 \n3 5598 23480 11484 \n3 23480 1166 17515 \n3 11484 17515 2618 \n3 5599 11485 23481 \n3 11485 2618 17519 \n3 23481 17519 1167 \n3 1166 23482 17514 \n3 23482 5600 11489 \n3 17514 11489 2616 \n3 5600 23483 11487 \n3 23483 200 20767 \n3 11487 20767 4243 \n3 2616 11488 17516 \n3 11488 4243 20769 \n3 17516 20769 490 \n3 1167 17518 23484 \n3 17518 2617 11492 \n3 23484 11492 5601 \n3 2617 17517 11490 \n3 17517 490 20774 \n3 11490 20774 4247 \n3 5601 11491 23485 \n3 11491 4247 20777 \n3 23485 20777 202 \n3 200 23486 20766 \n3 23486 5602 11495 \n3 20766 11495 4242 \n3 5602 23487 11493 \n3 23487 1168 17521 \n3 11493 17521 2621 \n3 4242 11494 20768 \n3 11494 2621 17525 \n3 20768 17525 488 \n3 1168 23488 17520 \n3 23488 5603 11498 \n3 17520 11498 2619 \n3 5603 23489 11496 \n3 23489 90 23490 \n3 11496 23490 5604 \n3 2619 11497 17522 \n3 11497 5604 23491 \n3 17522 23491 1169 \n3 488 17524 20770 \n3 17524 2620 11501 \n3 20770 11501 4244 \n3 2620 17523 11499 \n3 17523 1169 23492 \n3 11499 23492 5605 \n3 4244 11500 20771 \n3 11500 5605 23493 \n3 20771 23493 201 \n3 202 20776 23494 \n3 20776 4246 11504 \n3 23494 11504 5606 \n3 4246 20775 11502 \n3 20775 489 17527 \n3 11502 17527 2624 \n3 5606 11503 23495 \n3 11503 2624 17531 \n3 23495 17531 1171 \n3 489 20773 17526 \n3 20773 4245 11507 \n3 17526 11507 2622 \n3 4245 20772 11505 \n3 20772 201 23496 \n3 11505 23496 5607 \n3 2622 11506 17528 \n3 11506 5607 23497 \n3 17528 23497 1170 \n3 1171 17530 23498 \n3 17530 2623 11510 \n3 23498 11510 5609 \n3 2623 17529 11508 \n3 17529 1170 23499 \n3 11508 23499 5608 \n3 5609 11509 23501 \n3 11509 5608 23500 \n3 23501 23500 47 \n3 48 23502 23503 \n3 23502 5610 11513 \n3 23503 11513 5611 \n3 5610 23504 11511 \n3 23504 1172 17533 \n3 11511 17533 2627 \n3 5611 11512 23505 \n3 11512 2627 17537 \n3 23505 17537 1173 \n3 1172 23506 17532 \n3 23506 5612 11516 \n3 17532 11516 2625 \n3 5612 23507 11514 \n3 23507 203 20779 \n3 11514 20779 4249 \n3 2625 11515 17534 \n3 11515 4249 20781 \n3 17534 20781 493 \n3 1173 17536 23508 \n3 17536 2626 11519 \n3 23508 11519 5613 \n3 2626 17535 11517 \n3 17535 493 20786 \n3 11517 20786 4253 \n3 5613 11518 23509 \n3 11518 4253 20789 \n3 23509 20789 205 \n3 203 23510 20778 \n3 23510 5614 11522 \n3 20778 11522 4248 \n3 5614 23511 11520 \n3 23511 1174 17539 \n3 11520 17539 2630 \n3 4248 11521 20780 \n3 11521 2630 17543 \n3 20780 17543 491 \n3 1174 23512 17538 \n3 23512 5615 11525 \n3 17538 11525 2628 \n3 5615 23513 11523 \n3 23513 89 23514 \n3 11523 23514 5616 \n3 2628 11524 17540 \n3 11524 5616 23515 \n3 17540 23515 1175 \n3 491 17542 20782 \n3 17542 2629 11528 \n3 20782 11528 4250 \n3 2629 17541 11526 \n3 17541 1175 23516 \n3 11526 23516 5617 \n3 4250 11527 20783 \n3 11527 5617 23517 \n3 20783 23517 204 \n3 205 20788 23518 \n3 20788 4252 11531 \n3 23518 11531 5618 \n3 4252 20787 11529 \n3 20787 492 17545 \n3 11529 17545 2633 \n3 5618 11530 23519 \n3 11530 2633 17549 \n3 23519 17549 1177 \n3 492 20785 17544 \n3 20785 4251 11534 \n3 17544 11534 2631 \n3 4251 20784 11532 \n3 20784 204 23520 \n3 11532 23520 5619 \n3 2631 11533 17546 \n3 11533 5619 23521 \n3 17546 23521 1176 \n3 1177 17548 23522 \n3 17548 2632 11537 \n3 23522 11537 5621 \n3 2632 17547 11535 \n3 17547 1176 23523 \n3 11535 23523 5620 \n3 5621 11536 23525 \n3 11536 5620 23524 \n3 23525 23524 1691 \n3 1692 23526 23527 \n3 23526 5622 11540 \n3 23527 11540 5623 \n3 5622 23528 11538 \n3 23528 1178 17551 \n3 11538 17551 2636 \n3 5623 11539 23529 \n3 11539 2636 17555 \n3 23529 17555 1179 \n3 1178 23530 17550 \n3 23530 5624 11543 \n3 17550 11543 2634 \n3 5624 23531 11541 \n3 23531 206 20791 \n3 11541 20791 4255 \n3 2634 11542 17552 \n3 11542 4255 20793 \n3 17552 20793 496 \n3 1179 17554 23532 \n3 17554 2635 11546 \n3 23532 11546 5625 \n3 2635 17553 11544 \n3 17553 496 20798 \n3 11544 20798 4259 \n3 5625 11545 23533 \n3 11545 4259 20801 \n3 23533 20801 208 \n3 206 23534 20790 \n3 23534 5626 11549 \n3 20790 11549 4254 \n3 5626 23535 11547 \n3 23535 1180 17557 \n3 11547 17557 2639 \n3 4254 11548 20792 \n3 11548 2639 17561 \n3 20792 17561 494 \n3 1180 23536 17556 \n3 23536 5627 11552 \n3 17556 11552 2637 \n3 5627 23537 11550 \n3 23537 52 23538 \n3 11550 23538 5628 \n3 2637 11551 17558 \n3 11551 5628 23539 \n3 17558 23539 1181 \n3 494 17560 20794 \n3 17560 2638 11555 \n3 20794 11555 4256 \n3 2638 17559 11553 \n3 17559 1181 23540 \n3 11553 23540 5629 \n3 4256 11554 20795 \n3 11554 5629 23541 \n3 20795 23541 207 \n3 208 20800 23542 \n3 20800 4258 11558 \n3 23542 11558 5630 \n3 4258 20799 11556 \n3 20799 495 17563 \n3 11556 17563 2642 \n3 5630 11557 23543 \n3 11557 2642 17567 \n3 23543 17567 1183 \n3 495 20797 17562 \n3 20797 4257 11561 \n3 17562 11561 2640 \n3 4257 20796 11559 \n3 20796 207 23544 \n3 11559 23544 5631 \n3 2640 11560 17564 \n3 11560 5631 23545 \n3 17564 23545 1182 \n3 1183 17566 23546 \n3 17566 2641 11564 \n3 23546 11564 5633 \n3 2641 17565 11562 \n3 17565 1182 23547 \n3 11562 23547 5632 \n3 5633 11563 23549 \n3 11563 5632 23548 \n3 23549 23548 92 \n3 1693 23550 23551 \n3 23550 5634 11567 \n3 23551 11567 5635 \n3 5634 23552 11565 \n3 23552 1184 17569 \n3 11565 17569 2645 \n3 5635 11566 23553 \n3 11566 2645 17573 \n3 23553 17573 1185 \n3 1184 23554 17568 \n3 23554 5636 11570 \n3 17568 11570 2643 \n3 5636 23555 11568 \n3 23555 209 20803 \n3 11568 20803 4261 \n3 2643 11569 17570 \n3 11569 4261 20805 \n3 17570 20805 499 \n3 1185 17572 23556 \n3 17572 2644 11573 \n3 23556 11573 5637 \n3 2644 17571 11571 \n3 17571 499 20810 \n3 11571 20810 4265 \n3 5637 11572 23557 \n3 11572 4265 20813 \n3 23557 20813 211 \n3 209 23558 20802 \n3 23558 5638 11576 \n3 20802 11576 4260 \n3 5638 23559 11574 \n3 23559 1186 17575 \n3 11574 17575 2648 \n3 4260 11575 20804 \n3 11575 2648 17579 \n3 20804 17579 497 \n3 1186 23560 17574 \n3 23560 5639 11579 \n3 17574 11579 2646 \n3 5639 23561 11577 \n3 23561 93 23562 \n3 11577 23562 5640 \n3 2646 11578 17576 \n3 11578 5640 23563 \n3 17576 23563 1187 \n3 497 17578 20806 \n3 17578 2647 11582 \n3 20806 11582 4262 \n3 2647 17577 11580 \n3 17577 1187 23564 \n3 11580 23564 5641 \n3 4262 11581 20807 \n3 11581 5641 23565 \n3 20807 23565 210 \n3 211 20812 23566 \n3 20812 4264 11585 \n3 23566 11585 5642 \n3 4264 20811 11583 \n3 20811 498 17581 \n3 11583 17581 2651 \n3 5642 11584 23567 \n3 11584 2651 17585 \n3 23567 17585 1189 \n3 498 20809 17580 \n3 20809 4263 11588 \n3 17580 11588 2649 \n3 4263 20808 11586 \n3 20808 210 23568 \n3 11586 23568 5643 \n3 2649 11587 17582 \n3 11587 5643 23569 \n3 17582 23569 1188 \n3 1189 17584 23570 \n3 17584 2650 11591 \n3 23570 11591 5645 \n3 2650 17583 11589 \n3 17583 1188 23571 \n3 11589 23571 5644 \n3 5645 11590 23573 \n3 11590 5644 23572 \n3 23573 23572 50 \n3 51 23574 23575 \n3 23574 5646 11594 \n3 23575 11594 5647 \n3 5646 23576 11592 \n3 23576 1190 17587 \n3 11592 17587 2654 \n3 5647 11593 23577 \n3 11593 2654 17591 \n3 23577 17591 1191 \n3 1190 23578 17586 \n3 23578 5648 11597 \n3 17586 11597 2652 \n3 5648 23579 11595 \n3 23579 212 20815 \n3 11595 20815 4267 \n3 2652 11596 17588 \n3 11596 4267 20817 \n3 17588 20817 502 \n3 1191 17590 23580 \n3 17590 2653 11600 \n3 23580 11600 5649 \n3 2653 17589 11598 \n3 17589 502 20822 \n3 11598 20822 4271 \n3 5649 11599 23581 \n3 11599 4271 20825 \n3 23581 20825 214 \n3 212 23582 20814 \n3 23582 5650 11603 \n3 20814 11603 4266 \n3 5650 23583 11601 \n3 23583 1192 17593 \n3 11601 17593 2657 \n3 4266 11602 20816 \n3 11602 2657 17597 \n3 20816 17597 500 \n3 1192 23584 17592 \n3 23584 5651 11606 \n3 17592 11606 2655 \n3 5651 23585 11604 \n3 23585 94 23586 \n3 11604 23586 5652 \n3 2655 11605 17594 \n3 11605 5652 23587 \n3 17594 23587 1193 \n3 500 17596 20818 \n3 17596 2656 11609 \n3 20818 11609 4268 \n3 2656 17595 11607 \n3 17595 1193 23588 \n3 11607 23588 5653 \n3 4268 11608 20819 \n3 11608 5653 23589 \n3 20819 23589 213 \n3 214 20824 23590 \n3 20824 4270 11612 \n3 23590 11612 5654 \n3 4270 20823 11610 \n3 20823 501 17599 \n3 11610 17599 2660 \n3 5654 11611 23591 \n3 11611 2660 17603 \n3 23591 17603 1195 \n3 501 20821 17598 \n3 20821 4269 11615 \n3 17598 11615 2658 \n3 4269 20820 11613 \n3 20820 213 23592 \n3 11613 23592 5655 \n3 2658 11614 17600 \n3 11614 5655 23593 \n3 17600 23593 1194 \n3 1195 17602 23594 \n3 17602 2659 11618 \n3 23594 11618 5657 \n3 2659 17601 11616 \n3 17601 1194 23595 \n3 11616 23595 5656 \n3 5657 11617 23597 \n3 11617 5656 23596 \n3 23597 23596 95 \n3 1694 23598 23599 \n3 23598 5658 11621 \n3 23599 11621 5659 \n3 5658 23600 11619 \n3 23600 1196 17605 \n3 11619 17605 2663 \n3 5659 11620 23601 \n3 11620 2663 17609 \n3 23601 17609 1197 \n3 1196 23602 17604 \n3 23602 5660 11624 \n3 17604 11624 2661 \n3 5660 23603 11622 \n3 23603 215 20827 \n3 11622 20827 4273 \n3 2661 11623 17606 \n3 11623 4273 20829 \n3 17606 20829 505 \n3 1197 17608 23604 \n3 17608 2662 11627 \n3 23604 11627 5661 \n3 2662 17607 11625 \n3 17607 505 20834 \n3 11625 20834 4277 \n3 5661 11626 23605 \n3 11626 4277 20837 \n3 23605 20837 217 \n3 215 23606 20826 \n3 23606 5662 11630 \n3 20826 11630 4272 \n3 5662 23607 11628 \n3 23607 1198 17611 \n3 11628 17611 2666 \n3 4272 11629 20828 \n3 11629 2666 17615 \n3 20828 17615 503 \n3 1198 23608 17610 \n3 23608 5663 11633 \n3 17610 11633 2664 \n3 5663 23609 11631 \n3 23609 55 23610 \n3 11631 23610 5664 \n3 2664 11632 17612 \n3 11632 5664 23611 \n3 17612 23611 1199 \n3 503 17614 20830 \n3 17614 2665 11636 \n3 20830 11636 4274 \n3 2665 17613 11634 \n3 17613 1199 23612 \n3 11634 23612 5665 \n3 4274 11635 20831 \n3 11635 5665 23613 \n3 20831 23613 216 \n3 217 20836 23614 \n3 20836 4276 11639 \n3 23614 11639 5666 \n3 4276 20835 11637 \n3 20835 504 17617 \n3 11637 17617 2669 \n3 5666 11638 23615 \n3 11638 2669 17621 \n3 23615 17621 1201 \n3 504 20833 17616 \n3 20833 4275 11642 \n3 17616 11642 2667 \n3 4275 20832 11640 \n3 20832 216 23616 \n3 11640 23616 5667 \n3 2667 11641 17618 \n3 11641 5667 23617 \n3 17618 23617 1200 \n3 1201 17620 23618 \n3 17620 2668 11645 \n3 23618 11645 5669 \n3 2668 17619 11643 \n3 17619 1200 23619 \n3 11643 23619 5668 \n3 5669 11644 23621 \n3 11644 5668 23620 \n3 23621 23620 1695 \n3 1696 23622 23623 \n3 23622 5670 11648 \n3 23623 11648 5671 \n3 5670 23624 11646 \n3 23624 1202 17623 \n3 11646 17623 2672 \n3 5671 11647 23625 \n3 11647 2672 17627 \n3 23625 17627 1203 \n3 1202 23626 17622 \n3 23626 5672 11651 \n3 17622 11651 2670 \n3 5672 23627 11649 \n3 23627 218 20839 \n3 11649 20839 4279 \n3 2670 11650 17624 \n3 11650 4279 20841 \n3 17624 20841 508 \n3 1203 17626 23628 \n3 17626 2671 11654 \n3 23628 11654 5673 \n3 2671 17625 11652 \n3 17625 508 20846 \n3 11652 20846 4283 \n3 5673 11653 23629 \n3 11653 4283 20849 \n3 23629 20849 220 \n3 218 23630 20838 \n3 23630 5674 11657 \n3 20838 11657 4278 \n3 5674 23631 11655 \n3 23631 1204 17629 \n3 11655 17629 2675 \n3 4278 11656 20840 \n3 11656 2675 17633 \n3 20840 17633 506 \n3 1204 23632 17628 \n3 23632 5675 11660 \n3 17628 11660 2673 \n3 5675 23633 11658 \n3 23633 94 23634 \n3 11658 23634 5676 \n3 2673 11659 17630 \n3 11659 5676 23635 \n3 17630 23635 1205 \n3 506 17632 20842 \n3 17632 2674 11663 \n3 20842 11663 4280 \n3 2674 17631 11661 \n3 17631 1205 23636 \n3 11661 23636 5677 \n3 4280 11662 20843 \n3 11662 5677 23637 \n3 20843 23637 219 \n3 220 20848 23638 \n3 20848 4282 11666 \n3 23638 11666 5678 \n3 4282 20847 11664 \n3 20847 507 17635 \n3 11664 17635 2678 \n3 5678 11665 23639 \n3 11665 2678 17639 \n3 23639 17639 1207 \n3 507 20845 17634 \n3 20845 4281 11669 \n3 17634 11669 2676 \n3 4281 20844 11667 \n3 20844 219 23640 \n3 11667 23640 5679 \n3 2676 11668 17636 \n3 11668 5679 23641 \n3 17636 23641 1206 \n3 1207 17638 23642 \n3 17638 2677 11672 \n3 23642 11672 5681 \n3 2677 17637 11670 \n3 17637 1206 23643 \n3 11670 23643 5680 \n3 5681 11671 23645 \n3 11671 5680 23644 \n3 23645 23644 53 \n3 54 23646 23647 \n3 23646 5682 11675 \n3 23647 11675 5683 \n3 5682 23648 11673 \n3 23648 1208 17641 \n3 11673 17641 2681 \n3 5683 11674 23649 \n3 11674 2681 17645 \n3 23649 17645 1209 \n3 1208 23650 17640 \n3 23650 5684 11678 \n3 17640 11678 2679 \n3 5684 23651 11676 \n3 23651 221 20851 \n3 11676 20851 4285 \n3 2679 11677 17642 \n3 11677 4285 20853 \n3 17642 20853 511 \n3 1209 17644 23652 \n3 17644 2680 11681 \n3 23652 11681 5685 \n3 2680 17643 11679 \n3 17643 511 20858 \n3 11679 20858 4289 \n3 5685 11680 23653 \n3 11680 4289 20861 \n3 23653 20861 223 \n3 221 23654 20850 \n3 23654 5686 11684 \n3 20850 11684 4284 \n3 5686 23655 11682 \n3 23655 1210 17647 \n3 11682 17647 2684 \n3 4284 11683 20852 \n3 11683 2684 17651 \n3 20852 17651 509 \n3 1210 23656 17646 \n3 23656 5687 11687 \n3 17646 11687 2682 \n3 5687 23657 11685 \n3 23657 93 23658 \n3 11685 23658 5688 \n3 2682 11686 17648 \n3 11686 5688 23659 \n3 17648 23659 1211 \n3 509 17650 20854 \n3 17650 2683 11690 \n3 20854 11690 4286 \n3 2683 17649 11688 \n3 17649 1211 23660 \n3 11688 23660 5689 \n3 4286 11689 20855 \n3 11689 5689 23661 \n3 20855 23661 222 \n3 223 20860 23662 \n3 20860 4288 11693 \n3 23662 11693 5690 \n3 4288 20859 11691 \n3 20859 510 17653 \n3 11691 17653 2687 \n3 5690 11692 23663 \n3 11692 2687 17657 \n3 23663 17657 1213 \n3 510 20857 17652 \n3 20857 4287 11696 \n3 17652 11696 2685 \n3 4287 20856 11694 \n3 20856 222 23664 \n3 11694 23664 5691 \n3 2685 11695 17654 \n3 11695 5691 23665 \n3 17654 23665 1212 \n3 1213 17656 23666 \n3 17656 2686 11699 \n3 23666 11699 5693 \n3 2686 17655 11697 \n3 17655 1212 23667 \n3 11697 23667 5692 \n3 5693 11698 23669 \n3 11698 5692 23668 \n3 23669 23668 1697 \n3 1698 23670 23671 \n3 23670 5694 11702 \n3 23671 11702 5695 \n3 5694 23672 11700 \n3 23672 1214 17659 \n3 11700 17659 2690 \n3 5695 11701 23673 \n3 11701 2690 17663 \n3 23673 17663 1215 \n3 1214 23674 17658 \n3 23674 5696 11705 \n3 17658 11705 2688 \n3 5696 23675 11703 \n3 23675 224 20863 \n3 11703 20863 4291 \n3 2688 11704 17660 \n3 11704 4291 20865 \n3 17660 20865 514 \n3 1215 17662 23676 \n3 17662 2689 11708 \n3 23676 11708 5697 \n3 2689 17661 11706 \n3 17661 514 20870 \n3 11706 20870 4295 \n3 5697 11707 23677 \n3 11707 4295 20873 \n3 23677 20873 226 \n3 224 23678 20862 \n3 23678 5698 11711 \n3 20862 11711 4290 \n3 5698 23679 11709 \n3 23679 1216 17665 \n3 11709 17665 2693 \n3 4290 11710 20864 \n3 11710 2693 17669 \n3 20864 17669 512 \n3 1216 23680 17664 \n3 23680 5699 11714 \n3 17664 11714 2691 \n3 5699 23681 11712 \n3 23681 58 23682 \n3 11712 23682 5700 \n3 2691 11713 17666 \n3 11713 5700 23683 \n3 17666 23683 1217 \n3 512 17668 20866 \n3 17668 2692 11717 \n3 20866 11717 4292 \n3 2692 17667 11715 \n3 17667 1217 23684 \n3 11715 23684 5701 \n3 4292 11716 20867 \n3 11716 5701 23685 \n3 20867 23685 225 \n3 226 20872 23686 \n3 20872 4294 11720 \n3 23686 11720 5702 \n3 4294 20871 11718 \n3 20871 513 17671 \n3 11718 17671 2696 \n3 5702 11719 23687 \n3 11719 2696 17675 \n3 23687 17675 1219 \n3 513 20869 17670 \n3 20869 4293 11723 \n3 17670 11723 2694 \n3 4293 20868 11721 \n3 20868 225 23688 \n3 11721 23688 5703 \n3 2694 11722 17672 \n3 11722 5703 23689 \n3 17672 23689 1218 \n3 1219 17674 23690 \n3 17674 2695 11726 \n3 23690 11726 5705 \n3 2695 17673 11724 \n3 17673 1218 23691 \n3 11724 23691 5704 \n3 5705 11725 23693 \n3 11725 5704 23692 \n3 23693 23692 1699 \n3 1700 23694 23695 \n3 23694 5706 11729 \n3 23695 11729 5707 \n3 5706 23696 11727 \n3 23696 1220 17677 \n3 11727 17677 2699 \n3 5707 11728 23697 \n3 11728 2699 17681 \n3 23697 17681 1221 \n3 1220 23698 17676 \n3 23698 5708 11732 \n3 17676 11732 2697 \n3 5708 23699 11730 \n3 23699 227 20875 \n3 11730 20875 4297 \n3 2697 11731 17678 \n3 11731 4297 20877 \n3 17678 20877 517 \n3 1221 17680 23700 \n3 17680 2698 11735 \n3 23700 11735 5709 \n3 2698 17679 11733 \n3 17679 517 20882 \n3 11733 20882 4301 \n3 5709 11734 23701 \n3 11734 4301 20885 \n3 23701 20885 229 \n3 227 23702 20874 \n3 23702 5710 11738 \n3 20874 11738 4296 \n3 5710 23703 11736 \n3 23703 1222 17683 \n3 11736 17683 2702 \n3 4296 11737 20876 \n3 11737 2702 17687 \n3 20876 17687 515 \n3 1222 23704 17682 \n3 23704 5711 11741 \n3 17682 11741 2700 \n3 5711 23705 11739 \n3 23705 96 23706 \n3 11739 23706 5712 \n3 2700 11740 17684 \n3 11740 5712 23707 \n3 17684 23707 1223 \n3 515 17686 20878 \n3 17686 2701 11744 \n3 20878 11744 4298 \n3 2701 17685 11742 \n3 17685 1223 23708 \n3 11742 23708 5713 \n3 4298 11743 20879 \n3 11743 5713 23709 \n3 20879 23709 228 \n3 229 20884 23710 \n3 20884 4300 11747 \n3 23710 11747 5714 \n3 4300 20883 11745 \n3 20883 516 17689 \n3 11745 17689 2705 \n3 5714 11746 23711 \n3 11746 2705 17693 \n3 23711 17693 1225 \n3 516 20881 17688 \n3 20881 4299 11750 \n3 17688 11750 2703 \n3 4299 20880 11748 \n3 20880 228 23712 \n3 11748 23712 5715 \n3 2703 11749 17690 \n3 11749 5715 23713 \n3 17690 23713 1224 \n3 1225 17692 23714 \n3 17692 2704 11753 \n3 23714 11753 5717 \n3 2704 17691 11751 \n3 17691 1224 23715 \n3 11751 23715 5716 \n3 5717 11752 23717 \n3 11752 5716 23716 \n3 23717 23716 56 \n3 57 23718 23719 \n3 23718 5718 11756 \n3 23719 11756 5719 \n3 5718 23720 11754 \n3 23720 1226 17695 \n3 11754 17695 2708 \n3 5719 11755 23721 \n3 11755 2708 17699 \n3 23721 17699 1227 \n3 1226 23722 17694 \n3 23722 5720 11759 \n3 17694 11759 2706 \n3 5720 23723 11757 \n3 23723 230 20887 \n3 11757 20887 4303 \n3 2706 11758 17696 \n3 11758 4303 20889 \n3 17696 20889 520 \n3 1227 17698 23724 \n3 17698 2707 11762 \n3 23724 11762 5721 \n3 2707 17697 11760 \n3 17697 520 20894 \n3 11760 20894 4307 \n3 5721 11761 23725 \n3 11761 4307 20897 \n3 23725 20897 232 \n3 230 23726 20886 \n3 23726 5722 11765 \n3 20886 11765 4302 \n3 5722 23727 11763 \n3 23727 1228 17701 \n3 11763 17701 2711 \n3 4302 11764 20888 \n3 11764 2711 17705 \n3 20888 17705 518 \n3 1228 23728 17700 \n3 23728 5723 11768 \n3 17700 11768 2709 \n3 5723 23729 11766 \n3 23729 97 23730 \n3 11766 23730 5724 \n3 2709 11767 17702 \n3 11767 5724 23731 \n3 17702 23731 1229 \n3 518 17704 20890 \n3 17704 2710 11771 \n3 20890 11771 4304 \n3 2710 17703 11769 \n3 17703 1229 23732 \n3 11769 23732 5725 \n3 4304 11770 20891 \n3 11770 5725 23733 \n3 20891 23733 231 \n3 232 20896 23734 \n3 20896 4306 11774 \n3 23734 11774 5726 \n3 4306 20895 11772 \n3 20895 519 17707 \n3 11772 17707 2714 \n3 5726 11773 23735 \n3 11773 2714 17711 \n3 23735 17711 1231 \n3 519 20893 17706 \n3 20893 4305 11777 \n3 17706 11777 2712 \n3 4305 20892 11775 \n3 20892 231 23736 \n3 11775 23736 5727 \n3 2712 11776 17708 \n3 11776 5727 23737 \n3 17708 23737 1230 \n3 1231 17710 23738 \n3 17710 2713 11780 \n3 23738 11780 5729 \n3 2713 17709 11778 \n3 17709 1230 23739 \n3 11778 23739 5728 \n3 5729 11779 23741 \n3 11779 5728 23740 \n3 23741 23740 1701 \n3 1702 23742 23743 \n3 23742 5730 11783 \n3 23743 11783 5731 \n3 5730 23744 11781 \n3 23744 1232 17713 \n3 11781 17713 2717 \n3 5731 11782 23745 \n3 11782 2717 17717 \n3 23745 17717 1233 \n3 1232 23746 17712 \n3 23746 5732 11786 \n3 17712 11786 2715 \n3 5732 23747 11784 \n3 23747 233 20899 \n3 11784 20899 4309 \n3 2715 11785 17714 \n3 11785 4309 20901 \n3 17714 20901 523 \n3 1233 17716 23748 \n3 17716 2716 11789 \n3 23748 11789 5733 \n3 2716 17715 11787 \n3 17715 523 20906 \n3 11787 20906 4313 \n3 5733 11788 23749 \n3 11788 4313 20909 \n3 23749 20909 235 \n3 233 23750 20898 \n3 23750 5734 11792 \n3 20898 11792 4308 \n3 5734 23751 11790 \n3 23751 1234 17719 \n3 11790 17719 2720 \n3 4308 11791 20900 \n3 11791 2720 17723 \n3 20900 17723 521 \n3 1234 23752 17718 \n3 23752 5735 11795 \n3 17718 11795 2718 \n3 5735 23753 11793 \n3 23753 61 23754 \n3 11793 23754 5736 \n3 2718 11794 17720 \n3 11794 5736 23755 \n3 17720 23755 1235 \n3 521 17722 20902 \n3 17722 2719 11798 \n3 20902 11798 4310 \n3 2719 17721 11796 \n3 17721 1235 23756 \n3 11796 23756 5737 \n3 4310 11797 20903 \n3 11797 5737 23757 \n3 20903 23757 234 \n3 235 20908 23758 \n3 20908 4312 11801 \n3 23758 11801 5738 \n3 4312 20907 11799 \n3 20907 522 17725 \n3 11799 17725 2723 \n3 5738 11800 23759 \n3 11800 2723 17729 \n3 23759 17729 1237 \n3 522 20905 17724 \n3 20905 4311 11804 \n3 17724 11804 2721 \n3 4311 20904 11802 \n3 20904 234 23760 \n3 11802 23760 5739 \n3 2721 11803 17726 \n3 11803 5739 23761 \n3 17726 23761 1236 \n3 1237 17728 23762 \n3 17728 2722 11807 \n3 23762 11807 5741 \n3 2722 17727 11805 \n3 17727 1236 23763 \n3 11805 23763 5740 \n3 5741 11806 23765 \n3 11806 5740 23764 \n3 23765 23764 1703 \n3 1704 23766 23767 \n3 23766 5742 11810 \n3 23767 11810 5743 \n3 5742 23768 11808 \n3 23768 1238 17731 \n3 11808 17731 2726 \n3 5743 11809 23769 \n3 11809 2726 17735 \n3 23769 17735 1239 \n3 1238 23770 17730 \n3 23770 5744 11813 \n3 17730 11813 2724 \n3 5744 23771 11811 \n3 23771 236 20911 \n3 11811 20911 4315 \n3 2724 11812 17732 \n3 11812 4315 20913 \n3 17732 20913 526 \n3 1239 17734 23772 \n3 17734 2725 11816 \n3 23772 11816 5745 \n3 2725 17733 11814 \n3 17733 526 20918 \n3 11814 20918 4319 \n3 5745 11815 23773 \n3 11815 4319 20921 \n3 23773 20921 238 \n3 236 23774 20910 \n3 23774 5746 11819 \n3 20910 11819 4314 \n3 5746 23775 11817 \n3 23775 1240 17737 \n3 11817 17737 2729 \n3 4314 11818 20912 \n3 11818 2729 17741 \n3 20912 17741 524 \n3 1240 23776 17736 \n3 23776 5747 11822 \n3 17736 11822 2727 \n3 5747 23777 11820 \n3 23777 97 23778 \n3 11820 23778 5748 \n3 2727 11821 17738 \n3 11821 5748 23779 \n3 17738 23779 1241 \n3 524 17740 20914 \n3 17740 2728 11825 \n3 20914 11825 4316 \n3 2728 17739 11823 \n3 17739 1241 23780 \n3 11823 23780 5749 \n3 4316 11824 20915 \n3 11824 5749 23781 \n3 20915 23781 237 \n3 238 20920 23782 \n3 20920 4318 11828 \n3 23782 11828 5750 \n3 4318 20919 11826 \n3 20919 525 17743 \n3 11826 17743 2732 \n3 5750 11827 23783 \n3 11827 2732 17747 \n3 23783 17747 1243 \n3 525 20917 17742 \n3 20917 4317 11831 \n3 17742 11831 2730 \n3 4317 20916 11829 \n3 20916 237 23784 \n3 11829 23784 5751 \n3 2730 11830 17744 \n3 11830 5751 23785 \n3 17744 23785 1242 \n3 1243 17746 23786 \n3 17746 2731 11834 \n3 23786 11834 5753 \n3 2731 17745 11832 \n3 17745 1242 23787 \n3 11832 23787 5752 \n3 5753 11833 23789 \n3 11833 5752 23788 \n3 23789 23788 59 \n3 60 23790 23791 \n3 23790 5754 11837 \n3 23791 11837 5755 \n3 5754 23792 11835 \n3 23792 1244 17749 \n3 11835 17749 2735 \n3 5755 11836 23793 \n3 11836 2735 17753 \n3 23793 17753 1245 \n3 1244 23794 17748 \n3 23794 5756 11840 \n3 17748 11840 2733 \n3 5756 23795 11838 \n3 23795 239 20923 \n3 11838 20923 4321 \n3 2733 11839 17750 \n3 11839 4321 20925 \n3 17750 20925 529 \n3 1245 17752 23796 \n3 17752 2734 11843 \n3 23796 11843 5757 \n3 2734 17751 11841 \n3 17751 529 20930 \n3 11841 20930 4325 \n3 5757 11842 23797 \n3 11842 4325 20933 \n3 23797 20933 241 \n3 239 23798 20922 \n3 23798 5758 11846 \n3 20922 11846 4320 \n3 5758 23799 11844 \n3 23799 1246 17755 \n3 11844 17755 2738 \n3 4320 11845 20924 \n3 11845 2738 17759 \n3 20924 17759 527 \n3 1246 23800 17754 \n3 23800 5759 11849 \n3 17754 11849 2736 \n3 5759 23801 11847 \n3 23801 96 23802 \n3 11847 23802 5760 \n3 2736 11848 17756 \n3 11848 5760 23803 \n3 17756 23803 1247 \n3 527 17758 20926 \n3 17758 2737 11852 \n3 20926 11852 4322 \n3 2737 17757 11850 \n3 17757 1247 23804 \n3 11850 23804 5761 \n3 4322 11851 20927 \n3 11851 5761 23805 \n3 20927 23805 240 \n3 241 20932 23806 \n3 20932 4324 11855 \n3 23806 11855 5762 \n3 4324 20931 11853 \n3 20931 528 17761 \n3 11853 17761 2741 \n3 5762 11854 23807 \n3 11854 2741 17765 \n3 23807 17765 1249 \n3 528 20929 17760 \n3 20929 4323 11858 \n3 17760 11858 2739 \n3 4323 20928 11856 \n3 20928 240 23808 \n3 11856 23808 5763 \n3 2739 11857 17762 \n3 11857 5763 23809 \n3 17762 23809 1248 \n3 1249 17764 23810 \n3 17764 2740 11861 \n3 23810 11861 5765 \n3 2740 17763 11859 \n3 17763 1248 23811 \n3 11859 23811 5764 \n3 5765 11860 23813 \n3 11860 5764 23812 \n3 23813 23812 1705 \n3 8 23814 23815 \n3 23814 5766 11864 \n3 23815 11864 5767 \n3 5766 23816 11862 \n3 23816 1250 17767 \n3 11862 17767 2744 \n3 5767 11863 23817 \n3 11863 2744 17771 \n3 23817 17771 1251 \n3 1250 23818 17766 \n3 23818 5768 11867 \n3 17766 11867 2742 \n3 5768 23819 11865 \n3 23819 242 20935 \n3 11865 20935 4327 \n3 2742 11866 17768 \n3 11866 4327 20937 \n3 17768 20937 532 \n3 1251 17770 23820 \n3 17770 2743 11870 \n3 23820 11870 5769 \n3 2743 17769 11868 \n3 17769 532 20942 \n3 11868 20942 4331 \n3 5769 11869 23821 \n3 11869 4331 20945 \n3 23821 20945 243 \n3 242 23822 20934 \n3 23822 5770 11873 \n3 20934 11873 4326 \n3 5770 23823 11871 \n3 23823 1252 17773 \n3 11871 17773 2747 \n3 4326 11872 20936 \n3 11872 2747 17777 \n3 20936 17777 530 \n3 1252 23824 17772 \n3 23824 5771 11876 \n3 17772 11876 2745 \n3 5771 23825 11874 \n3 23825 26 22663 \n3 11874 22663 5191 \n3 2745 11875 17774 \n3 11875 5191 22665 \n3 17774 22665 963 \n3 530 17776 20938 \n3 17776 2746 11879 \n3 20938 11879 4328 \n3 2746 17775 11877 \n3 17775 963 22668 \n3 11877 22668 5193 \n3 4328 11878 20939 \n3 11878 5193 22669 \n3 20939 22669 100 \n3 243 20944 23826 \n3 20944 4330 11882 \n3 23826 11882 5772 \n3 4330 20943 11880 \n3 20943 531 17779 \n3 11880 17779 2750 \n3 5772 11881 23827 \n3 11881 2750 17783 \n3 23827 17783 1253 \n3 531 20941 17778 \n3 20941 4329 11885 \n3 17778 11885 2748 \n3 4329 20940 11883 \n3 20940 100 22678 \n3 11883 22678 5198 \n3 2748 11884 17780 \n3 11884 5198 22679 \n3 17780 22679 967 \n3 1253 17782 23828 \n3 17782 2749 11888 \n3 23828 11888 5773 \n3 2749 17781 11886 \n3 17781 967 22682 \n3 11886 22682 5201 \n3 5773 11887 23829 \n3 11887 5201 22685 \n3 23829 22685 28 \n3 26 23830 22662 \n3 23830 5774 11891 \n3 22662 11891 5190 \n3 5774 23831 11889 \n3 23831 1254 17785 \n3 11889 17785 2753 \n3 5190 11890 22664 \n3 11890 2753 17789 \n3 22664 17789 962 \n3 1254 23832 17784 \n3 23832 5775 11894 \n3 17784 11894 2751 \n3 5775 23833 11892 \n3 23833 244 20947 \n3 11892 20947 4333 \n3 2751 11893 17786 \n3 11893 4333 20949 \n3 17786 20949 535 \n3 962 17788 22666 \n3 17788 2752 11897 \n3 22666 11897 5192 \n3 2752 17787 11895 \n3 17787 535 20954 \n3 11895 20954 4337 \n3 5192 11896 22667 \n3 11896 4337 20957 \n3 22667 20957 98 \n3 244 23834 20946 \n3 23834 5776 11900 \n3 20946 11900 4332 \n3 5776 23835 11898 \n3 23835 1255 17791 \n3 11898 17791 2756 \n3 4332 11899 20948 \n3 11899 2756 17795 \n3 20948 17795 533 \n3 1255 23836 17790 \n3 23836 5777 11903 \n3 17790 11903 2754 \n3 5777 23837 11901 \n3 23837 9 23838 \n3 11901 23838 5778 \n3 2754 11902 17792 \n3 11902 5778 23839 \n3 17792 23839 1256 \n3 533 17794 20950 \n3 17794 2755 11906 \n3 20950 11906 4334 \n3 2755 17793 11904 \n3 17793 1256 23840 \n3 11904 23840 5779 \n3 4334 11905 20951 \n3 11905 5779 23841 \n3 20951 23841 245 \n3 98 20956 22670 \n3 20956 4336 11909 \n3 22670 11909 5194 \n3 4336 20955 11907 \n3 20955 534 17797 \n3 11907 17797 2759 \n3 5194 11908 22671 \n3 11908 2759 17801 \n3 22671 17801 964 \n3 534 20953 17796 \n3 20953 4335 11912 \n3 17796 11912 2757 \n3 4335 20952 11910 \n3 20952 245 23842 \n3 11910 23842 5780 \n3 2757 11911 17798 \n3 11911 5780 23843 \n3 17798 23843 1257 \n3 964 17800 22672 \n3 17800 2758 11915 \n3 22672 11915 5195 \n3 2758 17799 11913 \n3 17799 1257 23844 \n3 11913 23844 5781 \n3 5195 11914 22673 \n3 11914 5781 23845 \n3 22673 23845 27 \n3 28 22684 23846 \n3 22684 5200 11918 \n3 23846 11918 5782 \n3 5200 22683 11916 \n3 22683 966 17803 \n3 11916 17803 2762 \n3 5782 11917 23847 \n3 11917 2762 17807 \n3 23847 17807 1258 \n3 966 22681 17802 \n3 22681 5199 11921 \n3 17802 11921 2760 \n3 5199 22680 11919 \n3 22680 99 20959 \n3 11919 20959 4339 \n3 2760 11920 17804 \n3 11920 4339 20961 \n3 17804 20961 538 \n3 1258 17806 23848 \n3 17806 2761 11924 \n3 23848 11924 5783 \n3 2761 17805 11922 \n3 17805 538 20966 \n3 11922 20966 4343 \n3 5783 11923 23849 \n3 11923 4343 20969 \n3 23849 20969 247 \n3 99 22677 20958 \n3 22677 5197 11927 \n3 20958 11927 4338 \n3 5197 22676 11925 \n3 22676 965 17809 \n3 11925 17809 2765 \n3 4338 11926 20960 \n3 11926 2765 17813 \n3 20960 17813 536 \n3 965 22675 17808 \n3 22675 5196 11930 \n3 17808 11930 2763 \n3 5196 22674 11928 \n3 22674 27 23850 \n3 11928 23850 5784 \n3 2763 11929 17810 \n3 11929 5784 23851 \n3 17810 23851 1259 \n3 536 17812 20962 \n3 17812 2764 11933 \n3 20962 11933 4340 \n3 2764 17811 11931 \n3 17811 1259 23852 \n3 11931 23852 5785 \n3 4340 11932 20963 \n3 11932 5785 23853 \n3 20963 23853 246 \n3 247 20968 23854 \n3 20968 4342 11936 \n3 23854 11936 5786 \n3 4342 20967 11934 \n3 20967 537 17815 \n3 11934 17815 2768 \n3 5786 11935 23855 \n3 11935 2768 17819 \n3 23855 17819 1261 \n3 537 20965 17814 \n3 20965 4341 11939 \n3 17814 11939 2766 \n3 4341 20964 11937 \n3 20964 246 23856 \n3 11937 23856 5787 \n3 2766 11938 17816 \n3 11938 5787 23857 \n3 17816 23857 1260 \n3 1261 17818 23858 \n3 17818 2767 11942 \n3 23858 11942 5789 \n3 2767 17817 11940 \n3 17817 1260 23859 \n3 11940 23859 5788 \n3 5789 11941 23861 \n3 11941 5788 23860 \n3 23861 23860 10 \n3 11 23862 23863 \n3 23862 5790 11945 \n3 23863 11945 5791 \n3 5790 23864 11943 \n3 23864 1262 17821 \n3 11943 17821 2771 \n3 5791 11944 23865 \n3 11944 2771 17825 \n3 23865 17825 1263 \n3 1262 23866 17820 \n3 23866 5792 11948 \n3 17820 11948 2769 \n3 5792 23867 11946 \n3 23867 248 20971 \n3 11946 20971 4345 \n3 2769 11947 17822 \n3 11947 4345 20973 \n3 17822 20973 541 \n3 1263 17824 23868 \n3 17824 2770 11951 \n3 23868 11951 5793 \n3 2770 17823 11949 \n3 17823 541 20978 \n3 11949 20978 4349 \n3 5793 11950 23869 \n3 11950 4349 20981 \n3 23869 20981 249 \n3 248 23870 20970 \n3 23870 5794 11954 \n3 20970 11954 4344 \n3 5794 23871 11952 \n3 23871 1264 17827 \n3 11952 17827 2774 \n3 4344 11953 20972 \n3 11953 2774 17831 \n3 20972 17831 539 \n3 1264 23872 17826 \n3 23872 5795 11957 \n3 17826 11957 2772 \n3 5795 23873 11955 \n3 23873 29 22687 \n3 11955 22687 5203 \n3 2772 11956 17828 \n3 11956 5203 22689 \n3 17828 22689 969 \n3 539 17830 20974 \n3 17830 2773 11960 \n3 20974 11960 4346 \n3 2773 17829 11958 \n3 17829 969 22692 \n3 11958 22692 5205 \n3 4346 11959 20975 \n3 11959 5205 22693 \n3 20975 22693 103 \n3 249 20980 23874 \n3 20980 4348 11963 \n3 23874 11963 5796 \n3 4348 20979 11961 \n3 20979 540 17833 \n3 11961 17833 2777 \n3 5796 11962 23875 \n3 11962 2777 17837 \n3 23875 17837 1265 \n3 540 20977 17832 \n3 20977 4347 11966 \n3 17832 11966 2775 \n3 4347 20976 11964 \n3 20976 103 22702 \n3 11964 22702 5210 \n3 2775 11965 17834 \n3 11965 5210 22703 \n3 17834 22703 973 \n3 1265 17836 23876 \n3 17836 2776 11969 \n3 23876 11969 5797 \n3 2776 17835 11967 \n3 17835 973 22706 \n3 11967 22706 5213 \n3 5797 11968 23877 \n3 11968 5213 22709 \n3 23877 22709 31 \n3 29 23878 22686 \n3 23878 5798 11972 \n3 22686 11972 5202 \n3 5798 23879 11970 \n3 23879 1266 17839 \n3 11970 17839 2780 \n3 5202 11971 22688 \n3 11971 2780 17843 \n3 22688 17843 968 \n3 1266 23880 17838 \n3 23880 5799 11975 \n3 17838 11975 2778 \n3 5799 23881 11973 \n3 23881 250 20983 \n3 11973 20983 4351 \n3 2778 11974 17840 \n3 11974 4351 20985 \n3 17840 20985 544 \n3 968 17842 22690 \n3 17842 2779 11978 \n3 22690 11978 5204 \n3 2779 17841 11976 \n3 17841 544 20990 \n3 11976 20990 4355 \n3 5204 11977 22691 \n3 11977 4355 20993 \n3 22691 20993 101 \n3 250 23882 20982 \n3 23882 5800 11981 \n3 20982 11981 4350 \n3 5800 23883 11979 \n3 23883 1267 17845 \n3 11979 17845 2783 \n3 4350 11980 20984 \n3 11980 2783 17849 \n3 20984 17849 542 \n3 1267 23884 17844 \n3 23884 5801 11984 \n3 17844 11984 2781 \n3 5801 23885 11982 \n3 23885 9 23886 \n3 11982 23886 5802 \n3 2781 11983 17846 \n3 11983 5802 23887 \n3 17846 23887 1268 \n3 542 17848 20986 \n3 17848 2782 11987 \n3 20986 11987 4352 \n3 2782 17847 11985 \n3 17847 1268 23888 \n3 11985 23888 5803 \n3 4352 11986 20987 \n3 11986 5803 23889 \n3 20987 23889 251 \n3 101 20992 22694 \n3 20992 4354 11990 \n3 22694 11990 5206 \n3 4354 20991 11988 \n3 20991 543 17851 \n3 11988 17851 2786 \n3 5206 11989 22695 \n3 11989 2786 17855 \n3 22695 17855 970 \n3 543 20989 17850 \n3 20989 4353 11993 \n3 17850 11993 2784 \n3 4353 20988 11991 \n3 20988 251 23890 \n3 11991 23890 5804 \n3 2784 11992 17852 \n3 11992 5804 23891 \n3 17852 23891 1269 \n3 970 17854 22696 \n3 17854 2785 11996 \n3 22696 11996 5207 \n3 2785 17853 11994 \n3 17853 1269 23892 \n3 11994 23892 5805 \n3 5207 11995 22697 \n3 11995 5805 23893 \n3 22697 23893 30 \n3 31 22708 23894 \n3 22708 5212 11999 \n3 23894 11999 5806 \n3 5212 22707 11997 \n3 22707 972 17857 \n3 11997 17857 2789 \n3 5806 11998 23895 \n3 11998 2789 17861 \n3 23895 17861 1270 \n3 972 22705 17856 \n3 22705 5211 12002 \n3 17856 12002 2787 \n3 5211 22704 12000 \n3 22704 102 20995 \n3 12000 20995 4357 \n3 2787 12001 17858 \n3 12001 4357 20997 \n3 17858 20997 547 \n3 1270 17860 23896 \n3 17860 2788 12005 \n3 23896 12005 5807 \n3 2788 17859 12003 \n3 17859 547 21002 \n3 12003 21002 4361 \n3 5807 12004 23897 \n3 12004 4361 21005 \n3 23897 21005 253 \n3 102 22701 20994 \n3 22701 5209 12008 \n3 20994 12008 4356 \n3 5209 22700 12006 \n3 22700 971 17863 \n3 12006 17863 2792 \n3 4356 12007 20996 \n3 12007 2792 17867 \n3 20996 17867 545 \n3 971 22699 17862 \n3 22699 5208 12011 \n3 17862 12011 2790 \n3 5208 22698 12009 \n3 22698 30 23898 \n3 12009 23898 5808 \n3 2790 12010 17864 \n3 12010 5808 23899 \n3 17864 23899 1271 \n3 545 17866 20998 \n3 17866 2791 12014 \n3 20998 12014 4358 \n3 2791 17865 12012 \n3 17865 1271 23900 \n3 12012 23900 5809 \n3 4358 12013 20999 \n3 12013 5809 23901 \n3 20999 23901 252 \n3 253 21004 23902 \n3 21004 4360 12017 \n3 23902 12017 5810 \n3 4360 21003 12015 \n3 21003 546 17869 \n3 12015 17869 2795 \n3 5810 12016 23903 \n3 12016 2795 17873 \n3 23903 17873 1273 \n3 546 21001 17868 \n3 21001 4359 12020 \n3 17868 12020 2793 \n3 4359 21000 12018 \n3 21000 252 23904 \n3 12018 23904 5811 \n3 2793 12019 17870 \n3 12019 5811 23905 \n3 17870 23905 1272 \n3 1273 17872 23906 \n3 17872 2794 12023 \n3 23906 12023 5813 \n3 2794 17871 12021 \n3 17871 1272 23907 \n3 12021 23907 5812 \n3 5813 12022 23909 \n3 12022 5812 23908 \n3 23909 23908 12 \n3 1706 23910 23911 \n3 23910 5814 12026 \n3 23911 12026 5815 \n3 5814 23912 12024 \n3 23912 1274 17875 \n3 12024 17875 2798 \n3 5815 12025 23913 \n3 12025 2798 17879 \n3 23913 17879 1275 \n3 1274 23914 17874 \n3 23914 5816 12029 \n3 17874 12029 2796 \n3 5816 23915 12027 \n3 23915 254 21007 \n3 12027 21007 4363 \n3 2796 12028 17876 \n3 12028 4363 21009 \n3 17876 21009 550 \n3 1275 17878 23916 \n3 17878 2797 12032 \n3 23916 12032 5817 \n3 2797 17877 12030 \n3 17877 550 21014 \n3 12030 21014 4367 \n3 5817 12031 23917 \n3 12031 4367 21017 \n3 23917 21017 255 \n3 254 23918 21006 \n3 23918 5818 12035 \n3 21006 12035 4362 \n3 5818 23919 12033 \n3 23919 1276 17881 \n3 12033 17881 2801 \n3 4362 12034 21008 \n3 12034 2801 17885 \n3 21008 17885 548 \n3 1276 23920 17880 \n3 23920 5819 12038 \n3 17880 12038 2799 \n3 5819 23921 12036 \n3 23921 32 22711 \n3 12036 22711 5215 \n3 2799 12037 17882 \n3 12037 5215 22713 \n3 17882 22713 975 \n3 548 17884 21010 \n3 17884 2800 12041 \n3 21010 12041 4364 \n3 2800 17883 12039 \n3 17883 975 22716 \n3 12039 22716 5217 \n3 4364 12040 21011 \n3 12040 5217 22717 \n3 21011 22717 106 \n3 255 21016 23922 \n3 21016 4366 12044 \n3 23922 12044 5820 \n3 4366 21015 12042 \n3 21015 549 17887 \n3 12042 17887 2804 \n3 5820 12043 23923 \n3 12043 2804 17891 \n3 23923 17891 1277 \n3 549 21013 17886 \n3 21013 4365 12047 \n3 17886 12047 2802 \n3 4365 21012 12045 \n3 21012 106 22726 \n3 12045 22726 5222 \n3 2802 12046 17888 \n3 12046 5222 22727 \n3 17888 22727 979 \n3 1277 17890 23924 \n3 17890 2803 12050 \n3 23924 12050 5821 \n3 2803 17889 12048 \n3 17889 979 22730 \n3 12048 22730 5225 \n3 5821 12049 23925 \n3 12049 5225 22733 \n3 23925 22733 34 \n3 32 23926 22710 \n3 23926 5822 12053 \n3 22710 12053 5214 \n3 5822 23927 12051 \n3 23927 1278 17893 \n3 12051 17893 2807 \n3 5214 12052 22712 \n3 12052 2807 17897 \n3 22712 17897 974 \n3 1278 23928 17892 \n3 23928 5823 12056 \n3 17892 12056 2805 \n3 5823 23929 12054 \n3 23929 256 21019 \n3 12054 21019 4369 \n3 2805 12055 17894 \n3 12055 4369 21021 \n3 17894 21021 553 \n3 974 17896 22714 \n3 17896 2806 12059 \n3 22714 12059 5216 \n3 2806 17895 12057 \n3 17895 553 21026 \n3 12057 21026 4373 \n3 5216 12058 22715 \n3 12058 4373 21029 \n3 22715 21029 104 \n3 256 23930 21018 \n3 23930 5824 12062 \n3 21018 12062 4368 \n3 5824 23931 12060 \n3 23931 1279 17899 \n3 12060 17899 2810 \n3 4368 12061 21020 \n3 12061 2810 17903 \n3 21020 17903 551 \n3 1279 23932 17898 \n3 23932 5825 12065 \n3 17898 12065 2808 \n3 5825 23933 12063 \n3 23933 13 23934 \n3 12063 23934 5826 \n3 2808 12064 17900 \n3 12064 5826 23935 \n3 17900 23935 1280 \n3 551 17902 21022 \n3 17902 2809 12068 \n3 21022 12068 4370 \n3 2809 17901 12066 \n3 17901 1280 23936 \n3 12066 23936 5827 \n3 4370 12067 21023 \n3 12067 5827 23937 \n3 21023 23937 257 \n3 104 21028 22718 \n3 21028 4372 12071 \n3 22718 12071 5218 \n3 4372 21027 12069 \n3 21027 552 17905 \n3 12069 17905 2813 \n3 5218 12070 22719 \n3 12070 2813 17909 \n3 22719 17909 976 \n3 552 21025 17904 \n3 21025 4371 12074 \n3 17904 12074 2811 \n3 4371 21024 12072 \n3 21024 257 23938 \n3 12072 23938 5828 \n3 2811 12073 17906 \n3 12073 5828 23939 \n3 17906 23939 1281 \n3 976 17908 22720 \n3 17908 2812 12077 \n3 22720 12077 5219 \n3 2812 17907 12075 \n3 17907 1281 23940 \n3 12075 23940 5829 \n3 5219 12076 22721 \n3 12076 5829 23941 \n3 22721 23941 33 \n3 34 22732 23942 \n3 22732 5224 12080 \n3 23942 12080 5830 \n3 5224 22731 12078 \n3 22731 978 17911 \n3 12078 17911 2816 \n3 5830 12079 23943 \n3 12079 2816 17915 \n3 23943 17915 1282 \n3 978 22729 17910 \n3 22729 5223 12083 \n3 17910 12083 2814 \n3 5223 22728 12081 \n3 22728 105 21031 \n3 12081 21031 4375 \n3 2814 12082 17912 \n3 12082 4375 21033 \n3 17912 21033 556 \n3 1282 17914 23944 \n3 17914 2815 12086 \n3 23944 12086 5831 \n3 2815 17913 12084 \n3 17913 556 21038 \n3 12084 21038 4379 \n3 5831 12085 23945 \n3 12085 4379 21041 \n3 23945 21041 259 \n3 105 22725 21030 \n3 22725 5221 12089 \n3 21030 12089 4374 \n3 5221 22724 12087 \n3 22724 977 17917 \n3 12087 17917 2819 \n3 4374 12088 21032 \n3 12088 2819 17921 \n3 21032 17921 554 \n3 977 22723 17916 \n3 22723 5220 12092 \n3 17916 12092 2817 \n3 5220 22722 12090 \n3 22722 33 23946 \n3 12090 23946 5832 \n3 2817 12091 17918 \n3 12091 5832 23947 \n3 17918 23947 1283 \n3 554 17920 21034 \n3 17920 2818 12095 \n3 21034 12095 4376 \n3 2818 17919 12093 \n3 17919 1283 23948 \n3 12093 23948 5833 \n3 4376 12094 21035 \n3 12094 5833 23949 \n3 21035 23949 258 \n3 259 21040 23950 \n3 21040 4378 12098 \n3 23950 12098 5834 \n3 4378 21039 12096 \n3 21039 555 17923 \n3 12096 17923 2822 \n3 5834 12097 23951 \n3 12097 2822 17927 \n3 23951 17927 1285 \n3 555 21037 17922 \n3 21037 4377 12101 \n3 17922 12101 2820 \n3 4377 21036 12099 \n3 21036 258 23952 \n3 12099 23952 5835 \n3 2820 12100 17924 \n3 12100 5835 23953 \n3 17924 23953 1284 \n3 1285 17926 23954 \n3 17926 2821 12104 \n3 23954 12104 5837 \n3 2821 17925 12102 \n3 17925 1284 23955 \n3 12102 23955 5836 \n3 5837 12103 23957 \n3 12103 5836 23956 \n3 23957 23956 14 \n3 15 23958 23959 \n3 23958 5838 12107 \n3 23959 12107 5839 \n3 5838 23960 12105 \n3 23960 1286 17929 \n3 12105 17929 2825 \n3 5839 12106 23961 \n3 12106 2825 17933 \n3 23961 17933 1287 \n3 1286 23962 17928 \n3 23962 5840 12110 \n3 17928 12110 2823 \n3 5840 23963 12108 \n3 23963 260 21043 \n3 12108 21043 4381 \n3 2823 12109 17930 \n3 12109 4381 21045 \n3 17930 21045 559 \n3 1287 17932 23964 \n3 17932 2824 12113 \n3 23964 12113 5841 \n3 2824 17931 12111 \n3 17931 559 21050 \n3 12111 21050 4385 \n3 5841 12112 23965 \n3 12112 4385 21053 \n3 23965 21053 261 \n3 260 23966 21042 \n3 23966 5842 12116 \n3 21042 12116 4380 \n3 5842 23967 12114 \n3 23967 1288 17935 \n3 12114 17935 2828 \n3 4380 12115 21044 \n3 12115 2828 17939 \n3 21044 17939 557 \n3 1288 23968 17934 \n3 23968 5843 12119 \n3 17934 12119 2826 \n3 5843 23969 12117 \n3 23969 35 22735 \n3 12117 22735 5227 \n3 2826 12118 17936 \n3 12118 5227 22737 \n3 17936 22737 981 \n3 557 17938 21046 \n3 17938 2827 12122 \n3 21046 12122 4382 \n3 2827 17937 12120 \n3 17937 981 22740 \n3 12120 22740 5229 \n3 4382 12121 21047 \n3 12121 5229 22741 \n3 21047 22741 109 \n3 261 21052 23970 \n3 21052 4384 12125 \n3 23970 12125 5844 \n3 4384 21051 12123 \n3 21051 558 17941 \n3 12123 17941 2831 \n3 5844 12124 23971 \n3 12124 2831 17945 \n3 23971 17945 1289 \n3 558 21049 17940 \n3 21049 4383 12128 \n3 17940 12128 2829 \n3 4383 21048 12126 \n3 21048 109 22750 \n3 12126 22750 5234 \n3 2829 12127 17942 \n3 12127 5234 22751 \n3 17942 22751 985 \n3 1289 17944 23972 \n3 17944 2830 12131 \n3 23972 12131 5845 \n3 2830 17943 12129 \n3 17943 985 22754 \n3 12129 22754 5237 \n3 5845 12130 23973 \n3 12130 5237 22757 \n3 23973 22757 37 \n3 35 23974 22734 \n3 23974 5846 12134 \n3 22734 12134 5226 \n3 5846 23975 12132 \n3 23975 1290 17947 \n3 12132 17947 2834 \n3 5226 12133 22736 \n3 12133 2834 17951 \n3 22736 17951 980 \n3 1290 23976 17946 \n3 23976 5847 12137 \n3 17946 12137 2832 \n3 5847 23977 12135 \n3 23977 262 21055 \n3 12135 21055 4387 \n3 2832 12136 17948 \n3 12136 4387 21057 \n3 17948 21057 562 \n3 980 17950 22738 \n3 17950 2833 12140 \n3 22738 12140 5228 \n3 2833 17949 12138 \n3 17949 562 21062 \n3 12138 21062 4391 \n3 5228 12139 22739 \n3 12139 4391 21065 \n3 22739 21065 107 \n3 262 23978 21054 \n3 23978 5848 12143 \n3 21054 12143 4386 \n3 5848 23979 12141 \n3 23979 1291 17953 \n3 12141 17953 2837 \n3 4386 12142 21056 \n3 12142 2837 17957 \n3 21056 17957 560 \n3 1291 23980 17952 \n3 23980 5849 12146 \n3 17952 12146 2835 \n3 5849 23981 12144 \n3 23981 13 23982 \n3 12144 23982 5850 \n3 2835 12145 17954 \n3 12145 5850 23983 \n3 17954 23983 1292 \n3 560 17956 21058 \n3 17956 2836 12149 \n3 21058 12149 4388 \n3 2836 17955 12147 \n3 17955 1292 23984 \n3 12147 23984 5851 \n3 4388 12148 21059 \n3 12148 5851 23985 \n3 21059 23985 263 \n3 107 21064 22742 \n3 21064 4390 12152 \n3 22742 12152 5230 \n3 4390 21063 12150 \n3 21063 561 17959 \n3 12150 17959 2840 \n3 5230 12151 22743 \n3 12151 2840 17963 \n3 22743 17963 982 \n3 561 21061 17958 \n3 21061 4389 12155 \n3 17958 12155 2838 \n3 4389 21060 12153 \n3 21060 263 23986 \n3 12153 23986 5852 \n3 2838 12154 17960 \n3 12154 5852 23987 \n3 17960 23987 1293 \n3 982 17962 22744 \n3 17962 2839 12158 \n3 22744 12158 5231 \n3 2839 17961 12156 \n3 17961 1293 23988 \n3 12156 23988 5853 \n3 5231 12157 22745 \n3 12157 5853 23989 \n3 22745 23989 36 \n3 37 22756 23990 \n3 22756 5236 12161 \n3 23990 12161 5854 \n3 5236 22755 12159 \n3 22755 984 17965 \n3 12159 17965 2843 \n3 5854 12160 23991 \n3 12160 2843 17969 \n3 23991 17969 1294 \n3 984 22753 17964 \n3 22753 5235 12164 \n3 17964 12164 2841 \n3 5235 22752 12162 \n3 22752 108 21067 \n3 12162 21067 4393 \n3 2841 12163 17966 \n3 12163 4393 21069 \n3 17966 21069 565 \n3 1294 17968 23992 \n3 17968 2842 12167 \n3 23992 12167 5855 \n3 2842 17967 12165 \n3 17967 565 21074 \n3 12165 21074 4397 \n3 5855 12166 23993 \n3 12166 4397 21077 \n3 23993 21077 265 \n3 108 22749 21066 \n3 22749 5233 12170 \n3 21066 12170 4392 \n3 5233 22748 12168 \n3 22748 983 17971 \n3 12168 17971 2846 \n3 4392 12169 21068 \n3 12169 2846 17975 \n3 21068 17975 563 \n3 983 22747 17970 \n3 22747 5232 12173 \n3 17970 12173 2844 \n3 5232 22746 12171 \n3 22746 36 23994 \n3 12171 23994 5856 \n3 2844 12172 17972 \n3 12172 5856 23995 \n3 17972 23995 1295 \n3 563 17974 21070 \n3 17974 2845 12176 \n3 21070 12176 4394 \n3 2845 17973 12174 \n3 17973 1295 23996 \n3 12174 23996 5857 \n3 4394 12175 21071 \n3 12175 5857 23997 \n3 21071 23997 264 \n3 265 21076 23998 \n3 21076 4396 12179 \n3 23998 12179 5858 \n3 4396 21075 12177 \n3 21075 564 17977 \n3 12177 17977 2849 \n3 5858 12178 23999 \n3 12178 2849 17981 \n3 23999 17981 1297 \n3 564 21073 17976 \n3 21073 4395 12182 \n3 17976 12182 2847 \n3 4395 21072 12180 \n3 21072 264 24000 \n3 12180 24000 5859 \n3 2847 12181 17978 \n3 12181 5859 24001 \n3 17978 24001 1296 \n3 1297 17980 24002 \n3 17980 2848 12185 \n3 24002 12185 5861 \n3 2848 17979 12183 \n3 17979 1296 24003 \n3 12183 24003 5860 \n3 5861 12184 24005 \n3 12184 5860 24004 \n3 24005 24004 16 \n3 1707 24006 24007 \n3 24006 5862 12188 \n3 24007 12188 5863 \n3 5862 24008 12186 \n3 24008 1298 17983 \n3 12186 17983 2852 \n3 5863 12187 24009 \n3 12187 2852 17987 \n3 24009 17987 1299 \n3 1298 24010 17982 \n3 24010 5864 12191 \n3 17982 12191 2850 \n3 5864 24011 12189 \n3 24011 266 21079 \n3 12189 21079 4399 \n3 2850 12190 17984 \n3 12190 4399 21081 \n3 17984 21081 568 \n3 1299 17986 24012 \n3 17986 2851 12194 \n3 24012 12194 5865 \n3 2851 17985 12192 \n3 17985 568 21086 \n3 12192 21086 4403 \n3 5865 12193 24013 \n3 12193 4403 21089 \n3 24013 21089 267 \n3 266 24014 21078 \n3 24014 5866 12197 \n3 21078 12197 4398 \n3 5866 24015 12195 \n3 24015 1300 17989 \n3 12195 17989 2855 \n3 4398 12196 21080 \n3 12196 2855 17993 \n3 21080 17993 566 \n3 1300 24016 17988 \n3 24016 5867 12200 \n3 17988 12200 2853 \n3 5867 24017 12198 \n3 24017 38 22759 \n3 12198 22759 5239 \n3 2853 12199 17990 \n3 12199 5239 22761 \n3 17990 22761 987 \n3 566 17992 21082 \n3 17992 2854 12203 \n3 21082 12203 4400 \n3 2854 17991 12201 \n3 17991 987 22764 \n3 12201 22764 5241 \n3 4400 12202 21083 \n3 12202 5241 22765 \n3 21083 22765 112 \n3 267 21088 24018 \n3 21088 4402 12206 \n3 24018 12206 5868 \n3 4402 21087 12204 \n3 21087 567 17995 \n3 12204 17995 2858 \n3 5868 12205 24019 \n3 12205 2858 17999 \n3 24019 17999 1301 \n3 567 21085 17994 \n3 21085 4401 12209 \n3 17994 12209 2856 \n3 4401 21084 12207 \n3 21084 112 22774 \n3 12207 22774 5246 \n3 2856 12208 17996 \n3 12208 5246 22775 \n3 17996 22775 991 \n3 1301 17998 24020 \n3 17998 2857 12212 \n3 24020 12212 5869 \n3 2857 17997 12210 \n3 17997 991 22778 \n3 12210 22778 5249 \n3 5869 12211 24021 \n3 12211 5249 22781 \n3 24021 22781 40 \n3 38 24022 22758 \n3 24022 5870 12215 \n3 22758 12215 5238 \n3 5870 24023 12213 \n3 24023 1302 18001 \n3 12213 18001 2861 \n3 5238 12214 22760 \n3 12214 2861 18005 \n3 22760 18005 986 \n3 1302 24024 18000 \n3 24024 5871 12218 \n3 18000 12218 2859 \n3 5871 24025 12216 \n3 24025 268 21091 \n3 12216 21091 4405 \n3 2859 12217 18002 \n3 12217 4405 21093 \n3 18002 21093 571 \n3 986 18004 22762 \n3 18004 2860 12221 \n3 22762 12221 5240 \n3 2860 18003 12219 \n3 18003 571 21098 \n3 12219 21098 4409 \n3 5240 12220 22763 \n3 12220 4409 21101 \n3 22763 21101 110 \n3 268 24026 21090 \n3 24026 5872 12224 \n3 21090 12224 4404 \n3 5872 24027 12222 \n3 24027 1303 18007 \n3 12222 18007 2864 \n3 4404 12223 21092 \n3 12223 2864 18011 \n3 21092 18011 569 \n3 1303 24028 18006 \n3 24028 5873 12227 \n3 18006 12227 2862 \n3 5873 24029 12225 \n3 24029 17 24030 \n3 12225 24030 5874 \n3 2862 12226 18008 \n3 12226 5874 24031 \n3 18008 24031 1304 \n3 569 18010 21094 \n3 18010 2863 12230 \n3 21094 12230 4406 \n3 2863 18009 12228 \n3 18009 1304 24032 \n3 12228 24032 5875 \n3 4406 12229 21095 \n3 12229 5875 24033 \n3 21095 24033 269 \n3 110 21100 22766 \n3 21100 4408 12233 \n3 22766 12233 5242 \n3 4408 21099 12231 \n3 21099 570 18013 \n3 12231 18013 2867 \n3 5242 12232 22767 \n3 12232 2867 18017 \n3 22767 18017 988 \n3 570 21097 18012 \n3 21097 4407 12236 \n3 18012 12236 2865 \n3 4407 21096 12234 \n3 21096 269 24034 \n3 12234 24034 5876 \n3 2865 12235 18014 \n3 12235 5876 24035 \n3 18014 24035 1305 \n3 988 18016 22768 \n3 18016 2866 12239 \n3 22768 12239 5243 \n3 2866 18015 12237 \n3 18015 1305 24036 \n3 12237 24036 5877 \n3 5243 12238 22769 \n3 12238 5877 24037 \n3 22769 24037 39 \n3 40 22780 24038 \n3 22780 5248 12242 \n3 24038 12242 5878 \n3 5248 22779 12240 \n3 22779 990 18019 \n3 12240 18019 2870 \n3 5878 12241 24039 \n3 12241 2870 18023 \n3 24039 18023 1306 \n3 990 22777 18018 \n3 22777 5247 12245 \n3 18018 12245 2868 \n3 5247 22776 12243 \n3 22776 111 21103 \n3 12243 21103 4411 \n3 2868 12244 18020 \n3 12244 4411 21105 \n3 18020 21105 574 \n3 1306 18022 24040 \n3 18022 2869 12248 \n3 24040 12248 5879 \n3 2869 18021 12246 \n3 18021 574 21110 \n3 12246 21110 4415 \n3 5879 12247 24041 \n3 12247 4415 21113 \n3 24041 21113 271 \n3 111 22773 21102 \n3 22773 5245 12251 \n3 21102 12251 4410 \n3 5245 22772 12249 \n3 22772 989 18025 \n3 12249 18025 2873 \n3 4410 12250 21104 \n3 12250 2873 18029 \n3 21104 18029 572 \n3 989 22771 18024 \n3 22771 5244 12254 \n3 18024 12254 2871 \n3 5244 22770 12252 \n3 22770 39 24042 \n3 12252 24042 5880 \n3 2871 12253 18026 \n3 12253 5880 24043 \n3 18026 24043 1307 \n3 572 18028 21106 \n3 18028 2872 12257 \n3 21106 12257 4412 \n3 2872 18027 12255 \n3 18027 1307 24044 \n3 12255 24044 5881 \n3 4412 12256 21107 \n3 12256 5881 24045 \n3 21107 24045 270 \n3 271 21112 24046 \n3 21112 4414 12260 \n3 24046 12260 5882 \n3 4414 21111 12258 \n3 21111 573 18031 \n3 12258 18031 2876 \n3 5882 12259 24047 \n3 12259 2876 18035 \n3 24047 18035 1309 \n3 573 21109 18030 \n3 21109 4413 12263 \n3 18030 12263 2874 \n3 4413 21108 12261 \n3 21108 270 24048 \n3 12261 24048 5883 \n3 2874 12262 18032 \n3 12262 5883 24049 \n3 18032 24049 1308 \n3 1309 18034 24050 \n3 18034 2875 12266 \n3 24050 12266 5885 \n3 2875 18033 12264 \n3 18033 1308 24051 \n3 12264 24051 5884 \n3 5885 12265 24053 \n3 12265 5884 24052 \n3 24053 24052 1708 \n3 18 24054 24055 \n3 24054 5886 12269 \n3 24055 12269 5887 \n3 5886 24056 12267 \n3 24056 1310 18037 \n3 12267 18037 2879 \n3 5887 12268 24057 \n3 12268 2879 18041 \n3 24057 18041 1311 \n3 1310 24058 18036 \n3 24058 5888 12272 \n3 18036 12272 2877 \n3 5888 24059 12270 \n3 24059 272 21115 \n3 12270 21115 4417 \n3 2877 12271 18038 \n3 12271 4417 21117 \n3 18038 21117 577 \n3 1311 18040 24060 \n3 18040 2878 12275 \n3 24060 12275 5889 \n3 2878 18039 12273 \n3 18039 577 21122 \n3 12273 21122 4421 \n3 5889 12274 24061 \n3 12274 4421 21125 \n3 24061 21125 273 \n3 272 24062 21114 \n3 24062 5890 12278 \n3 21114 12278 4416 \n3 5890 24063 12276 \n3 24063 1312 18043 \n3 12276 18043 2882 \n3 4416 12277 21116 \n3 12277 2882 18047 \n3 21116 18047 575 \n3 1312 24064 18042 \n3 24064 5891 12281 \n3 18042 12281 2880 \n3 5891 24065 12279 \n3 24065 41 22783 \n3 12279 22783 5251 \n3 2880 12280 18044 \n3 12280 5251 22785 \n3 18044 22785 993 \n3 575 18046 21118 \n3 18046 2881 12284 \n3 21118 12284 4418 \n3 2881 18045 12282 \n3 18045 993 22788 \n3 12282 22788 5253 \n3 4418 12283 21119 \n3 12283 5253 22789 \n3 21119 22789 115 \n3 273 21124 24066 \n3 21124 4420 12287 \n3 24066 12287 5892 \n3 4420 21123 12285 \n3 21123 576 18049 \n3 12285 18049 2885 \n3 5892 12286 24067 \n3 12286 2885 18053 \n3 24067 18053 1313 \n3 576 21121 18048 \n3 21121 4419 12290 \n3 18048 12290 2883 \n3 4419 21120 12288 \n3 21120 115 22798 \n3 12288 22798 5258 \n3 2883 12289 18050 \n3 12289 5258 22799 \n3 18050 22799 997 \n3 1313 18052 24068 \n3 18052 2884 12293 \n3 24068 12293 5893 \n3 2884 18051 12291 \n3 18051 997 22802 \n3 12291 22802 5261 \n3 5893 12292 24069 \n3 12292 5261 22805 \n3 24069 22805 43 \n3 41 24070 22782 \n3 24070 5894 12296 \n3 22782 12296 5250 \n3 5894 24071 12294 \n3 24071 1314 18055 \n3 12294 18055 2888 \n3 5250 12295 22784 \n3 12295 2888 18059 \n3 22784 18059 992 \n3 1314 24072 18054 \n3 24072 5895 12299 \n3 18054 12299 2886 \n3 5895 24073 12297 \n3 24073 274 21127 \n3 12297 21127 4423 \n3 2886 12298 18056 \n3 12298 4423 21129 \n3 18056 21129 580 \n3 992 18058 22786 \n3 18058 2887 12302 \n3 22786 12302 5252 \n3 2887 18057 12300 \n3 18057 580 21134 \n3 12300 21134 4427 \n3 5252 12301 22787 \n3 12301 4427 21137 \n3 22787 21137 113 \n3 274 24074 21126 \n3 24074 5896 12305 \n3 21126 12305 4422 \n3 5896 24075 12303 \n3 24075 1315 18061 \n3 12303 18061 2891 \n3 4422 12304 21128 \n3 12304 2891 18065 \n3 21128 18065 578 \n3 1315 24076 18060 \n3 24076 5897 12308 \n3 18060 12308 2889 \n3 5897 24077 12306 \n3 24077 17 24078 \n3 12306 24078 5898 \n3 2889 12307 18062 \n3 12307 5898 24079 \n3 18062 24079 1316 \n3 578 18064 21130 \n3 18064 2890 12311 \n3 21130 12311 4424 \n3 2890 18063 12309 \n3 18063 1316 24080 \n3 12309 24080 5899 \n3 4424 12310 21131 \n3 12310 5899 24081 \n3 21131 24081 275 \n3 113 21136 22790 \n3 21136 4426 12314 \n3 22790 12314 5254 \n3 4426 21135 12312 \n3 21135 579 18067 \n3 12312 18067 2894 \n3 5254 12313 22791 \n3 12313 2894 18071 \n3 22791 18071 994 \n3 579 21133 18066 \n3 21133 4425 12317 \n3 18066 12317 2892 \n3 4425 21132 12315 \n3 21132 275 24082 \n3 12315 24082 5900 \n3 2892 12316 18068 \n3 12316 5900 24083 \n3 18068 24083 1317 \n3 994 18070 22792 \n3 18070 2893 12320 \n3 22792 12320 5255 \n3 2893 18069 12318 \n3 18069 1317 24084 \n3 12318 24084 5901 \n3 5255 12319 22793 \n3 12319 5901 24085 \n3 22793 24085 42 \n3 43 22804 24086 \n3 22804 5260 12323 \n3 24086 12323 5902 \n3 5260 22803 12321 \n3 22803 996 18073 \n3 12321 18073 2897 \n3 5902 12322 24087 \n3 12322 2897 18077 \n3 24087 18077 1318 \n3 996 22801 18072 \n3 22801 5259 12326 \n3 18072 12326 2895 \n3 5259 22800 12324 \n3 22800 114 21139 \n3 12324 21139 4429 \n3 2895 12325 18074 \n3 12325 4429 21141 \n3 18074 21141 583 \n3 1318 18076 24088 \n3 18076 2896 12329 \n3 24088 12329 5903 \n3 2896 18075 12327 \n3 18075 583 21146 \n3 12327 21146 4433 \n3 5903 12328 24089 \n3 12328 4433 21149 \n3 24089 21149 277 \n3 114 22797 21138 \n3 22797 5257 12332 \n3 21138 12332 4428 \n3 5257 22796 12330 \n3 22796 995 18079 \n3 12330 18079 2900 \n3 4428 12331 21140 \n3 12331 2900 18083 \n3 21140 18083 581 \n3 995 22795 18078 \n3 22795 5256 12335 \n3 18078 12335 2898 \n3 5256 22794 12333 \n3 22794 42 24090 \n3 12333 24090 5904 \n3 2898 12334 18080 \n3 12334 5904 24091 \n3 18080 24091 1319 \n3 581 18082 21142 \n3 18082 2899 12338 \n3 21142 12338 4430 \n3 2899 18081 12336 \n3 18081 1319 24092 \n3 12336 24092 5905 \n3 4430 12337 21143 \n3 12337 5905 24093 \n3 21143 24093 276 \n3 277 21148 24094 \n3 21148 4432 12341 \n3 24094 12341 5906 \n3 4432 21147 12339 \n3 21147 582 18085 \n3 12339 18085 2903 \n3 5906 12340 24095 \n3 12340 2903 18089 \n3 24095 18089 1321 \n3 582 21145 18084 \n3 21145 4431 12344 \n3 18084 12344 2901 \n3 4431 21144 12342 \n3 21144 276 24096 \n3 12342 24096 5907 \n3 2901 12343 18086 \n3 12343 5907 24097 \n3 18086 24097 1320 \n3 1321 18088 24098 \n3 18088 2902 12347 \n3 24098 12347 5909 \n3 2902 18087 12345 \n3 18087 1320 24099 \n3 12345 24099 5908 \n3 5909 12346 24101 \n3 12346 5908 24100 \n3 24101 24100 19 \n3 20 24102 24103 \n3 24102 5910 12350 \n3 24103 12350 5911 \n3 5910 24104 12348 \n3 24104 1322 18091 \n3 12348 18091 2906 \n3 5911 12349 24105 \n3 12349 2906 18095 \n3 24105 18095 1323 \n3 1322 24106 18090 \n3 24106 5912 12353 \n3 18090 12353 2904 \n3 5912 24107 12351 \n3 24107 278 21151 \n3 12351 21151 4435 \n3 2904 12352 18092 \n3 12352 4435 21153 \n3 18092 21153 586 \n3 1323 18094 24108 \n3 18094 2905 12356 \n3 24108 12356 5913 \n3 2905 18093 12354 \n3 18093 586 21158 \n3 12354 21158 4439 \n3 5913 12355 24109 \n3 12355 4439 21161 \n3 24109 21161 279 \n3 278 24110 21150 \n3 24110 5914 12359 \n3 21150 12359 4434 \n3 5914 24111 12357 \n3 24111 1324 18097 \n3 12357 18097 2909 \n3 4434 12358 21152 \n3 12358 2909 18101 \n3 21152 18101 584 \n3 1324 24112 18096 \n3 24112 5915 12362 \n3 18096 12362 2907 \n3 5915 24113 12360 \n3 24113 44 22807 \n3 12360 22807 5263 \n3 2907 12361 18098 \n3 12361 5263 22809 \n3 18098 22809 999 \n3 584 18100 21154 \n3 18100 2908 12365 \n3 21154 12365 4436 \n3 2908 18099 12363 \n3 18099 999 22812 \n3 12363 22812 5265 \n3 4436 12364 21155 \n3 12364 5265 22813 \n3 21155 22813 118 \n3 279 21160 24114 \n3 21160 4438 12368 \n3 24114 12368 5916 \n3 4438 21159 12366 \n3 21159 585 18103 \n3 12366 18103 2912 \n3 5916 12367 24115 \n3 12367 2912 18107 \n3 24115 18107 1325 \n3 585 21157 18102 \n3 21157 4437 12371 \n3 18102 12371 2910 \n3 4437 21156 12369 \n3 21156 118 22822 \n3 12369 22822 5270 \n3 2910 12370 18104 \n3 12370 5270 22823 \n3 18104 22823 1003 \n3 1325 18106 24116 \n3 18106 2911 12374 \n3 24116 12374 5917 \n3 2911 18105 12372 \n3 18105 1003 22826 \n3 12372 22826 5273 \n3 5917 12373 24117 \n3 12373 5273 22829 \n3 24117 22829 46 \n3 44 24118 22806 \n3 24118 5918 12377 \n3 22806 12377 5262 \n3 5918 24119 12375 \n3 24119 1326 18109 \n3 12375 18109 2915 \n3 5262 12376 22808 \n3 12376 2915 18113 \n3 22808 18113 998 \n3 1326 24120 18108 \n3 24120 5919 12380 \n3 18108 12380 2913 \n3 5919 24121 12378 \n3 24121 280 21163 \n3 12378 21163 4441 \n3 2913 12379 18110 \n3 12379 4441 21165 \n3 18110 21165 589 \n3 998 18112 22810 \n3 18112 2914 12383 \n3 22810 12383 5264 \n3 2914 18111 12381 \n3 18111 589 21170 \n3 12381 21170 4445 \n3 5264 12382 22811 \n3 12382 4445 21173 \n3 22811 21173 116 \n3 280 24122 21162 \n3 24122 5920 12386 \n3 21162 12386 4440 \n3 5920 24123 12384 \n3 24123 1327 18115 \n3 12384 18115 2918 \n3 4440 12385 21164 \n3 12385 2918 18119 \n3 21164 18119 587 \n3 1327 24124 18114 \n3 24124 5921 12389 \n3 18114 12389 2916 \n3 5921 24125 12387 \n3 24125 21 24126 \n3 12387 24126 5922 \n3 2916 12388 18116 \n3 12388 5922 24127 \n3 18116 24127 1328 \n3 587 18118 21166 \n3 18118 2917 12392 \n3 21166 12392 4442 \n3 2917 18117 12390 \n3 18117 1328 24128 \n3 12390 24128 5923 \n3 4442 12391 21167 \n3 12391 5923 24129 \n3 21167 24129 281 \n3 116 21172 22814 \n3 21172 4444 12395 \n3 22814 12395 5266 \n3 4444 21171 12393 \n3 21171 588 18121 \n3 12393 18121 2921 \n3 5266 12394 22815 \n3 12394 2921 18125 \n3 22815 18125 1000 \n3 588 21169 18120 \n3 21169 4443 12398 \n3 18120 12398 2919 \n3 4443 21168 12396 \n3 21168 281 24130 \n3 12396 24130 5924 \n3 2919 12397 18122 \n3 12397 5924 24131 \n3 18122 24131 1329 \n3 1000 18124 22816 \n3 18124 2920 12401 \n3 22816 12401 5267 \n3 2920 18123 12399 \n3 18123 1329 24132 \n3 12399 24132 5925 \n3 5267 12400 22817 \n3 12400 5925 24133 \n3 22817 24133 45 \n3 46 22828 24134 \n3 22828 5272 12404 \n3 24134 12404 5926 \n3 5272 22827 12402 \n3 22827 1002 18127 \n3 12402 18127 2924 \n3 5926 12403 24135 \n3 12403 2924 18131 \n3 24135 18131 1330 \n3 1002 22825 18126 \n3 22825 5271 12407 \n3 18126 12407 2922 \n3 5271 22824 12405 \n3 22824 117 21175 \n3 12405 21175 4447 \n3 2922 12406 18128 \n3 12406 4447 21177 \n3 18128 21177 592 \n3 1330 18130 24136 \n3 18130 2923 12410 \n3 24136 12410 5927 \n3 2923 18129 12408 \n3 18129 592 21182 \n3 12408 21182 4451 \n3 5927 12409 24137 \n3 12409 4451 21185 \n3 24137 21185 283 \n3 117 22821 21174 \n3 22821 5269 12413 \n3 21174 12413 4446 \n3 5269 22820 12411 \n3 22820 1001 18133 \n3 12411 18133 2927 \n3 4446 12412 21176 \n3 12412 2927 18137 \n3 21176 18137 590 \n3 1001 22819 18132 \n3 22819 5268 12416 \n3 18132 12416 2925 \n3 5268 22818 12414 \n3 22818 45 24138 \n3 12414 24138 5928 \n3 2925 12415 18134 \n3 12415 5928 24139 \n3 18134 24139 1331 \n3 590 18136 21178 \n3 18136 2926 12419 \n3 21178 12419 4448 \n3 2926 18135 12417 \n3 18135 1331 24140 \n3 12417 24140 5929 \n3 4448 12418 21179 \n3 12418 5929 24141 \n3 21179 24141 282 \n3 283 21184 24142 \n3 21184 4450 12422 \n3 24142 12422 5930 \n3 4450 21183 12420 \n3 21183 591 18139 \n3 12420 18139 2930 \n3 5930 12421 24143 \n3 12421 2930 18143 \n3 24143 18143 1333 \n3 591 21181 18138 \n3 21181 4449 12425 \n3 18138 12425 2928 \n3 4449 21180 12423 \n3 21180 282 24144 \n3 12423 24144 5931 \n3 2928 12424 18140 \n3 12424 5931 24145 \n3 18140 24145 1332 \n3 1333 18142 24146 \n3 18142 2929 12428 \n3 24146 12428 5933 \n3 2929 18141 12426 \n3 18141 1332 24147 \n3 12426 24147 5932 \n3 5933 12427 24149 \n3 12427 5932 24148 \n3 24149 24148 22 \n3 1709 24150 24151 \n3 24150 5934 12431 \n3 24151 12431 5935 \n3 5934 24152 12429 \n3 24152 1334 18145 \n3 12429 18145 2933 \n3 5935 12430 24153 \n3 12430 2933 18149 \n3 24153 18149 1335 \n3 1334 24154 18144 \n3 24154 5936 12434 \n3 18144 12434 2931 \n3 5936 24155 12432 \n3 24155 284 21187 \n3 12432 21187 4453 \n3 2931 12433 18146 \n3 12433 4453 21189 \n3 18146 21189 595 \n3 1335 18148 24156 \n3 18148 2932 12437 \n3 24156 12437 5937 \n3 2932 18147 12435 \n3 18147 595 21194 \n3 12435 21194 4457 \n3 5937 12436 24157 \n3 12436 4457 21197 \n3 24157 21197 285 \n3 284 24158 21186 \n3 24158 5938 12440 \n3 21186 12440 4452 \n3 5938 24159 12438 \n3 24159 1336 18151 \n3 12438 18151 2936 \n3 4452 12439 21188 \n3 12439 2936 18155 \n3 21188 18155 593 \n3 1336 24160 18150 \n3 24160 5939 12443 \n3 18150 12443 2934 \n3 5939 24161 12441 \n3 24161 47 22831 \n3 12441 22831 5275 \n3 2934 12442 18152 \n3 12442 5275 22833 \n3 18152 22833 1005 \n3 593 18154 21190 \n3 18154 2935 12446 \n3 21190 12446 4454 \n3 2935 18153 12444 \n3 18153 1005 22836 \n3 12444 22836 5277 \n3 4454 12445 21191 \n3 12445 5277 22837 \n3 21191 22837 121 \n3 285 21196 24162 \n3 21196 4456 12449 \n3 24162 12449 5940 \n3 4456 21195 12447 \n3 21195 594 18157 \n3 12447 18157 2939 \n3 5940 12448 24163 \n3 12448 2939 18161 \n3 24163 18161 1337 \n3 594 21193 18156 \n3 21193 4455 12452 \n3 18156 12452 2937 \n3 4455 21192 12450 \n3 21192 121 22846 \n3 12450 22846 5282 \n3 2937 12451 18158 \n3 12451 5282 22847 \n3 18158 22847 1009 \n3 1337 18160 24164 \n3 18160 2938 12455 \n3 24164 12455 5941 \n3 2938 18159 12453 \n3 18159 1009 22850 \n3 12453 22850 5285 \n3 5941 12454 24165 \n3 12454 5285 22853 \n3 24165 22853 49 \n3 47 24166 22830 \n3 24166 5942 12458 \n3 22830 12458 5274 \n3 5942 24167 12456 \n3 24167 1338 18163 \n3 12456 18163 2942 \n3 5274 12457 22832 \n3 12457 2942 18167 \n3 22832 18167 1004 \n3 1338 24168 18162 \n3 24168 5943 12461 \n3 18162 12461 2940 \n3 5943 24169 12459 \n3 24169 286 21199 \n3 12459 21199 4459 \n3 2940 12460 18164 \n3 12460 4459 21201 \n3 18164 21201 598 \n3 1004 18166 22834 \n3 18166 2941 12464 \n3 22834 12464 5276 \n3 2941 18165 12462 \n3 18165 598 21206 \n3 12462 21206 4463 \n3 5276 12463 22835 \n3 12463 4463 21209 \n3 22835 21209 119 \n3 286 24170 21198 \n3 24170 5944 12467 \n3 21198 12467 4458 \n3 5944 24171 12465 \n3 24171 1339 18169 \n3 12465 18169 2945 \n3 4458 12466 21200 \n3 12466 2945 18173 \n3 21200 18173 596 \n3 1339 24172 18168 \n3 24172 5945 12470 \n3 18168 12470 2943 \n3 5945 24173 12468 \n3 24173 21 24174 \n3 12468 24174 5946 \n3 2943 12469 18170 \n3 12469 5946 24175 \n3 18170 24175 1340 \n3 596 18172 21202 \n3 18172 2944 12473 \n3 21202 12473 4460 \n3 2944 18171 12471 \n3 18171 1340 24176 \n3 12471 24176 5947 \n3 4460 12472 21203 \n3 12472 5947 24177 \n3 21203 24177 287 \n3 119 21208 22838 \n3 21208 4462 12476 \n3 22838 12476 5278 \n3 4462 21207 12474 \n3 21207 597 18175 \n3 12474 18175 2948 \n3 5278 12475 22839 \n3 12475 2948 18179 \n3 22839 18179 1006 \n3 597 21205 18174 \n3 21205 4461 12479 \n3 18174 12479 2946 \n3 4461 21204 12477 \n3 21204 287 24178 \n3 12477 24178 5948 \n3 2946 12478 18176 \n3 12478 5948 24179 \n3 18176 24179 1341 \n3 1006 18178 22840 \n3 18178 2947 12482 \n3 22840 12482 5279 \n3 2947 18177 12480 \n3 18177 1341 24180 \n3 12480 24180 5949 \n3 5279 12481 22841 \n3 12481 5949 24181 \n3 22841 24181 48 \n3 49 22852 24182 \n3 22852 5284 12485 \n3 24182 12485 5950 \n3 5284 22851 12483 \n3 22851 1008 18181 \n3 12483 18181 2951 \n3 5950 12484 24183 \n3 12484 2951 18185 \n3 24183 18185 1342 \n3 1008 22849 18180 \n3 22849 5283 12488 \n3 18180 12488 2949 \n3 5283 22848 12486 \n3 22848 120 21211 \n3 12486 21211 4465 \n3 2949 12487 18182 \n3 12487 4465 21213 \n3 18182 21213 601 \n3 1342 18184 24184 \n3 18184 2950 12491 \n3 24184 12491 5951 \n3 2950 18183 12489 \n3 18183 601 21218 \n3 12489 21218 4469 \n3 5951 12490 24185 \n3 12490 4469 21221 \n3 24185 21221 289 \n3 120 22845 21210 \n3 22845 5281 12494 \n3 21210 12494 4464 \n3 5281 22844 12492 \n3 22844 1007 18187 \n3 12492 18187 2954 \n3 4464 12493 21212 \n3 12493 2954 18191 \n3 21212 18191 599 \n3 1007 22843 18186 \n3 22843 5280 12497 \n3 18186 12497 2952 \n3 5280 22842 12495 \n3 22842 48 24186 \n3 12495 24186 5952 \n3 2952 12496 18188 \n3 12496 5952 24187 \n3 18188 24187 1343 \n3 599 18190 21214 \n3 18190 2953 12500 \n3 21214 12500 4466 \n3 2953 18189 12498 \n3 18189 1343 24188 \n3 12498 24188 5953 \n3 4466 12499 21215 \n3 12499 5953 24189 \n3 21215 24189 288 \n3 289 21220 24190 \n3 21220 4468 12503 \n3 24190 12503 5954 \n3 4468 21219 12501 \n3 21219 600 18193 \n3 12501 18193 2957 \n3 5954 12502 24191 \n3 12502 2957 18197 \n3 24191 18197 1345 \n3 600 21217 18192 \n3 21217 4467 12506 \n3 18192 12506 2955 \n3 4467 21216 12504 \n3 21216 288 24192 \n3 12504 24192 5955 \n3 2955 12505 18194 \n3 12505 5955 24193 \n3 18194 24193 1344 \n3 1345 18196 24194 \n3 18196 2956 12509 \n3 24194 12509 5957 \n3 2956 18195 12507 \n3 18195 1344 24195 \n3 12507 24195 5956 \n3 5957 12508 24197 \n3 12508 5956 24196 \n3 24197 24196 1710 \n3 1711 24198 24199 \n3 24198 5958 12512 \n3 24199 12512 5959 \n3 5958 24200 12510 \n3 24200 1346 18199 \n3 12510 18199 2960 \n3 5959 12511 24201 \n3 12511 2960 18203 \n3 24201 18203 1347 \n3 1346 24202 18198 \n3 24202 5960 12515 \n3 18198 12515 2958 \n3 5960 24203 12513 \n3 24203 290 21223 \n3 12513 21223 4471 \n3 2958 12514 18200 \n3 12514 4471 21225 \n3 18200 21225 604 \n3 1347 18202 24204 \n3 18202 2959 12518 \n3 24204 12518 5961 \n3 2959 18201 12516 \n3 18201 604 21230 \n3 12516 21230 4475 \n3 5961 12517 24205 \n3 12517 4475 21233 \n3 24205 21233 291 \n3 290 24206 21222 \n3 24206 5962 12521 \n3 21222 12521 4470 \n3 5962 24207 12519 \n3 24207 1348 18205 \n3 12519 18205 2963 \n3 4470 12520 21224 \n3 12520 2963 18209 \n3 21224 18209 602 \n3 1348 24208 18204 \n3 24208 5963 12524 \n3 18204 12524 2961 \n3 5963 24209 12522 \n3 24209 50 22855 \n3 12522 22855 5287 \n3 2961 12523 18206 \n3 12523 5287 22857 \n3 18206 22857 1011 \n3 602 18208 21226 \n3 18208 2962 12527 \n3 21226 12527 4472 \n3 2962 18207 12525 \n3 18207 1011 22860 \n3 12525 22860 5289 \n3 4472 12526 21227 \n3 12526 5289 22861 \n3 21227 22861 124 \n3 291 21232 24210 \n3 21232 4474 12530 \n3 24210 12530 5964 \n3 4474 21231 12528 \n3 21231 603 18211 \n3 12528 18211 2966 \n3 5964 12529 24211 \n3 12529 2966 18215 \n3 24211 18215 1349 \n3 603 21229 18210 \n3 21229 4473 12533 \n3 18210 12533 2964 \n3 4473 21228 12531 \n3 21228 124 22870 \n3 12531 22870 5294 \n3 2964 12532 18212 \n3 12532 5294 22871 \n3 18212 22871 1015 \n3 1349 18214 24212 \n3 18214 2965 12536 \n3 24212 12536 5965 \n3 2965 18213 12534 \n3 18213 1015 22874 \n3 12534 22874 5297 \n3 5965 12535 24213 \n3 12535 5297 22877 \n3 24213 22877 52 \n3 50 24214 22854 \n3 24214 5966 12539 \n3 22854 12539 5286 \n3 5966 24215 12537 \n3 24215 1350 18217 \n3 12537 18217 2969 \n3 5286 12538 22856 \n3 12538 2969 18221 \n3 22856 18221 1010 \n3 1350 24216 18216 \n3 24216 5967 12542 \n3 18216 12542 2967 \n3 5967 24217 12540 \n3 24217 292 21235 \n3 12540 21235 4477 \n3 2967 12541 18218 \n3 12541 4477 21237 \n3 18218 21237 607 \n3 1010 18220 22858 \n3 18220 2968 12545 \n3 22858 12545 5288 \n3 2968 18219 12543 \n3 18219 607 21242 \n3 12543 21242 4481 \n3 5288 12544 22859 \n3 12544 4481 21245 \n3 22859 21245 122 \n3 292 24218 21234 \n3 24218 5968 12548 \n3 21234 12548 4476 \n3 5968 24219 12546 \n3 24219 1351 18223 \n3 12546 18223 2972 \n3 4476 12547 21236 \n3 12547 2972 18227 \n3 21236 18227 605 \n3 1351 24220 18222 \n3 24220 5969 12551 \n3 18222 12551 2970 \n3 5969 24221 12549 \n3 24221 23 24222 \n3 12549 24222 5970 \n3 2970 12550 18224 \n3 12550 5970 24223 \n3 18224 24223 1352 \n3 605 18226 21238 \n3 18226 2971 12554 \n3 21238 12554 4478 \n3 2971 18225 12552 \n3 18225 1352 24224 \n3 12552 24224 5971 \n3 4478 12553 21239 \n3 12553 5971 24225 \n3 21239 24225 293 \n3 122 21244 22862 \n3 21244 4480 12557 \n3 22862 12557 5290 \n3 4480 21243 12555 \n3 21243 606 18229 \n3 12555 18229 2975 \n3 5290 12556 22863 \n3 12556 2975 18233 \n3 22863 18233 1012 \n3 606 21241 18228 \n3 21241 4479 12560 \n3 18228 12560 2973 \n3 4479 21240 12558 \n3 21240 293 24226 \n3 12558 24226 5972 \n3 2973 12559 18230 \n3 12559 5972 24227 \n3 18230 24227 1353 \n3 1012 18232 22864 \n3 18232 2974 12563 \n3 22864 12563 5291 \n3 2974 18231 12561 \n3 18231 1353 24228 \n3 12561 24228 5973 \n3 5291 12562 22865 \n3 12562 5973 24229 \n3 22865 24229 51 \n3 52 22876 24230 \n3 22876 5296 12566 \n3 24230 12566 5974 \n3 5296 22875 12564 \n3 22875 1014 18235 \n3 12564 18235 2978 \n3 5974 12565 24231 \n3 12565 2978 18239 \n3 24231 18239 1354 \n3 1014 22873 18234 \n3 22873 5295 12569 \n3 18234 12569 2976 \n3 5295 22872 12567 \n3 22872 123 21247 \n3 12567 21247 4483 \n3 2976 12568 18236 \n3 12568 4483 21249 \n3 18236 21249 610 \n3 1354 18238 24232 \n3 18238 2977 12572 \n3 24232 12572 5975 \n3 2977 18237 12570 \n3 18237 610 21254 \n3 12570 21254 4487 \n3 5975 12571 24233 \n3 12571 4487 21257 \n3 24233 21257 295 \n3 123 22869 21246 \n3 22869 5293 12575 \n3 21246 12575 4482 \n3 5293 22868 12573 \n3 22868 1013 18241 \n3 12573 18241 2981 \n3 4482 12574 21248 \n3 12574 2981 18245 \n3 21248 18245 608 \n3 1013 22867 18240 \n3 22867 5292 12578 \n3 18240 12578 2979 \n3 5292 22866 12576 \n3 22866 51 24234 \n3 12576 24234 5976 \n3 2979 12577 18242 \n3 12577 5976 24235 \n3 18242 24235 1355 \n3 608 18244 21250 \n3 18244 2980 12581 \n3 21250 12581 4484 \n3 2980 18243 12579 \n3 18243 1355 24236 \n3 12579 24236 5977 \n3 4484 12580 21251 \n3 12580 5977 24237 \n3 21251 24237 294 \n3 295 21256 24238 \n3 21256 4486 12584 \n3 24238 12584 5978 \n3 4486 21255 12582 \n3 21255 609 18247 \n3 12582 18247 2984 \n3 5978 12583 24239 \n3 12583 2984 18251 \n3 24239 18251 1357 \n3 609 21253 18246 \n3 21253 4485 12587 \n3 18246 12587 2982 \n3 4485 21252 12585 \n3 21252 294 24240 \n3 12585 24240 5979 \n3 2982 12586 18248 \n3 12586 5979 24241 \n3 18248 24241 1356 \n3 1357 18250 24242 \n3 18250 2983 12590 \n3 24242 12590 5981 \n3 2983 18249 12588 \n3 18249 1356 24243 \n3 12588 24243 5980 \n3 5981 12589 24245 \n3 12589 5980 24244 \n3 24245 24244 24 \n3 1712 24246 24247 \n3 24246 5982 12593 \n3 24247 12593 5983 \n3 5982 24248 12591 \n3 24248 1358 18253 \n3 12591 18253 2987 \n3 5983 12592 24249 \n3 12592 2987 18257 \n3 24249 18257 1359 \n3 1358 24250 18252 \n3 24250 5984 12596 \n3 18252 12596 2985 \n3 5984 24251 12594 \n3 24251 296 21259 \n3 12594 21259 4489 \n3 2985 12595 18254 \n3 12595 4489 21261 \n3 18254 21261 613 \n3 1359 18256 24252 \n3 18256 2986 12599 \n3 24252 12599 5985 \n3 2986 18255 12597 \n3 18255 613 21266 \n3 12597 21266 4493 \n3 5985 12598 24253 \n3 12598 4493 21269 \n3 24253 21269 297 \n3 296 24254 21258 \n3 24254 5986 12602 \n3 21258 12602 4488 \n3 5986 24255 12600 \n3 24255 1360 18259 \n3 12600 18259 2990 \n3 4488 12601 21260 \n3 12601 2990 18263 \n3 21260 18263 611 \n3 1360 24256 18258 \n3 24256 5987 12605 \n3 18258 12605 2988 \n3 5987 24257 12603 \n3 24257 53 22879 \n3 12603 22879 5299 \n3 2988 12604 18260 \n3 12604 5299 22881 \n3 18260 22881 1017 \n3 611 18262 21262 \n3 18262 2989 12608 \n3 21262 12608 4490 \n3 2989 18261 12606 \n3 18261 1017 22884 \n3 12606 22884 5301 \n3 4490 12607 21263 \n3 12607 5301 22885 \n3 21263 22885 127 \n3 297 21268 24258 \n3 21268 4492 12611 \n3 24258 12611 5988 \n3 4492 21267 12609 \n3 21267 612 18265 \n3 12609 18265 2993 \n3 5988 12610 24259 \n3 12610 2993 18269 \n3 24259 18269 1361 \n3 612 21265 18264 \n3 21265 4491 12614 \n3 18264 12614 2991 \n3 4491 21264 12612 \n3 21264 127 22894 \n3 12612 22894 5306 \n3 2991 12613 18266 \n3 12613 5306 22895 \n3 18266 22895 1021 \n3 1361 18268 24260 \n3 18268 2992 12617 \n3 24260 12617 5989 \n3 2992 18267 12615 \n3 18267 1021 22898 \n3 12615 22898 5309 \n3 5989 12616 24261 \n3 12616 5309 22901 \n3 24261 22901 55 \n3 53 24262 22878 \n3 24262 5990 12620 \n3 22878 12620 5298 \n3 5990 24263 12618 \n3 24263 1362 18271 \n3 12618 18271 2996 \n3 5298 12619 22880 \n3 12619 2996 18275 \n3 22880 18275 1016 \n3 1362 24264 18270 \n3 24264 5991 12623 \n3 18270 12623 2994 \n3 5991 24265 12621 \n3 24265 298 21271 \n3 12621 21271 4495 \n3 2994 12622 18272 \n3 12622 4495 21273 \n3 18272 21273 616 \n3 1016 18274 22882 \n3 18274 2995 12626 \n3 22882 12626 5300 \n3 2995 18273 12624 \n3 18273 616 21278 \n3 12624 21278 4499 \n3 5300 12625 22883 \n3 12625 4499 21281 \n3 22883 21281 125 \n3 298 24266 21270 \n3 24266 5992 12629 \n3 21270 12629 4494 \n3 5992 24267 12627 \n3 24267 1363 18277 \n3 12627 18277 2999 \n3 4494 12628 21272 \n3 12628 2999 18281 \n3 21272 18281 614 \n3 1363 24268 18276 \n3 24268 5993 12632 \n3 18276 12632 2997 \n3 5993 24269 12630 \n3 24269 23 24270 \n3 12630 24270 5994 \n3 2997 12631 18278 \n3 12631 5994 24271 \n3 18278 24271 1364 \n3 614 18280 21274 \n3 18280 2998 12635 \n3 21274 12635 4496 \n3 2998 18279 12633 \n3 18279 1364 24272 \n3 12633 24272 5995 \n3 4496 12634 21275 \n3 12634 5995 24273 \n3 21275 24273 299 \n3 125 21280 22886 \n3 21280 4498 12638 \n3 22886 12638 5302 \n3 4498 21279 12636 \n3 21279 615 18283 \n3 12636 18283 3002 \n3 5302 12637 22887 \n3 12637 3002 18287 \n3 22887 18287 1018 \n3 615 21277 18282 \n3 21277 4497 12641 \n3 18282 12641 3000 \n3 4497 21276 12639 \n3 21276 299 24274 \n3 12639 24274 5996 \n3 3000 12640 18284 \n3 12640 5996 24275 \n3 18284 24275 1365 \n3 1018 18286 22888 \n3 18286 3001 12644 \n3 22888 12644 5303 \n3 3001 18285 12642 \n3 18285 1365 24276 \n3 12642 24276 5997 \n3 5303 12643 22889 \n3 12643 5997 24277 \n3 22889 24277 54 \n3 55 22900 24278 \n3 22900 5308 12647 \n3 24278 12647 5998 \n3 5308 22899 12645 \n3 22899 1020 18289 \n3 12645 18289 3005 \n3 5998 12646 24279 \n3 12646 3005 18293 \n3 24279 18293 1366 \n3 1020 22897 18288 \n3 22897 5307 12650 \n3 18288 12650 3003 \n3 5307 22896 12648 \n3 22896 126 21283 \n3 12648 21283 4501 \n3 3003 12649 18290 \n3 12649 4501 21285 \n3 18290 21285 619 \n3 1366 18292 24280 \n3 18292 3004 12653 \n3 24280 12653 5999 \n3 3004 18291 12651 \n3 18291 619 21290 \n3 12651 21290 4505 \n3 5999 12652 24281 \n3 12652 4505 21293 \n3 24281 21293 301 \n3 126 22893 21282 \n3 22893 5305 12656 \n3 21282 12656 4500 \n3 5305 22892 12654 \n3 22892 1019 18295 \n3 12654 18295 3008 \n3 4500 12655 21284 \n3 12655 3008 18299 \n3 21284 18299 617 \n3 1019 22891 18294 \n3 22891 5304 12659 \n3 18294 12659 3006 \n3 5304 22890 12657 \n3 22890 54 24282 \n3 12657 24282 6000 \n3 3006 12658 18296 \n3 12658 6000 24283 \n3 18296 24283 1367 \n3 617 18298 21286 \n3 18298 3007 12662 \n3 21286 12662 4502 \n3 3007 18297 12660 \n3 18297 1367 24284 \n3 12660 24284 6001 \n3 4502 12661 21287 \n3 12661 6001 24285 \n3 21287 24285 300 \n3 301 21292 24286 \n3 21292 4504 12665 \n3 24286 12665 6002 \n3 4504 21291 12663 \n3 21291 618 18301 \n3 12663 18301 3011 \n3 6002 12664 24287 \n3 12664 3011 18305 \n3 24287 18305 1369 \n3 618 21289 18300 \n3 21289 4503 12668 \n3 18300 12668 3009 \n3 4503 21288 12666 \n3 21288 300 24288 \n3 12666 24288 6003 \n3 3009 12667 18302 \n3 12667 6003 24289 \n3 18302 24289 1368 \n3 1369 18304 24290 \n3 18304 3010 12671 \n3 24290 12671 6005 \n3 3010 18303 12669 \n3 18303 1368 24291 \n3 12669 24291 6004 \n3 6005 12670 24293 \n3 12670 6004 24292 \n3 24293 24292 1713 \n3 1714 24294 24295 \n3 24294 6006 12674 \n3 24295 12674 6007 \n3 6006 24296 12672 \n3 24296 1370 18307 \n3 12672 18307 3014 \n3 6007 12673 24297 \n3 12673 3014 18311 \n3 24297 18311 1371 \n3 1370 24298 18306 \n3 24298 6008 12677 \n3 18306 12677 3012 \n3 6008 24299 12675 \n3 24299 302 21295 \n3 12675 21295 4507 \n3 3012 12676 18308 \n3 12676 4507 21297 \n3 18308 21297 622 \n3 1371 18310 24300 \n3 18310 3013 12680 \n3 24300 12680 6009 \n3 3013 18309 12678 \n3 18309 622 21302 \n3 12678 21302 4511 \n3 6009 12679 24301 \n3 12679 4511 21305 \n3 24301 21305 303 \n3 302 24302 21294 \n3 24302 6010 12683 \n3 21294 12683 4506 \n3 6010 24303 12681 \n3 24303 1372 18313 \n3 12681 18313 3017 \n3 4506 12682 21296 \n3 12682 3017 18317 \n3 21296 18317 620 \n3 1372 24304 18312 \n3 24304 6011 12686 \n3 18312 12686 3015 \n3 6011 24305 12684 \n3 24305 56 22903 \n3 12684 22903 5311 \n3 3015 12685 18314 \n3 12685 5311 22905 \n3 18314 22905 1023 \n3 620 18316 21298 \n3 18316 3016 12689 \n3 21298 12689 4508 \n3 3016 18315 12687 \n3 18315 1023 22908 \n3 12687 22908 5313 \n3 4508 12688 21299 \n3 12688 5313 22909 \n3 21299 22909 130 \n3 303 21304 24306 \n3 21304 4510 12692 \n3 24306 12692 6012 \n3 4510 21303 12690 \n3 21303 621 18319 \n3 12690 18319 3020 \n3 6012 12691 24307 \n3 12691 3020 18323 \n3 24307 18323 1373 \n3 621 21301 18318 \n3 21301 4509 12695 \n3 18318 12695 3018 \n3 4509 21300 12693 \n3 21300 130 22918 \n3 12693 22918 5318 \n3 3018 12694 18320 \n3 12694 5318 22919 \n3 18320 22919 1027 \n3 1373 18322 24308 \n3 18322 3019 12698 \n3 24308 12698 6013 \n3 3019 18321 12696 \n3 18321 1027 22922 \n3 12696 22922 5321 \n3 6013 12697 24309 \n3 12697 5321 22925 \n3 24309 22925 58 \n3 56 24310 22902 \n3 24310 6014 12701 \n3 22902 12701 5310 \n3 6014 24311 12699 \n3 24311 1374 18325 \n3 12699 18325 3023 \n3 5310 12700 22904 \n3 12700 3023 18329 \n3 22904 18329 1022 \n3 1374 24312 18324 \n3 24312 6015 12704 \n3 18324 12704 3021 \n3 6015 24313 12702 \n3 24313 304 21307 \n3 12702 21307 4513 \n3 3021 12703 18326 \n3 12703 4513 21309 \n3 18326 21309 625 \n3 1022 18328 22906 \n3 18328 3022 12707 \n3 22906 12707 5312 \n3 3022 18327 12705 \n3 18327 625 21314 \n3 12705 21314 4517 \n3 5312 12706 22907 \n3 12706 4517 21317 \n3 22907 21317 128 \n3 304 24314 21306 \n3 24314 6016 12710 \n3 21306 12710 4512 \n3 6016 24315 12708 \n3 24315 1375 18331 \n3 12708 18331 3026 \n3 4512 12709 21308 \n3 12709 3026 18335 \n3 21308 18335 623 \n3 1375 24316 18330 \n3 24316 6017 12713 \n3 18330 12713 3024 \n3 6017 24317 12711 \n3 24317 25 24318 \n3 12711 24318 6018 \n3 3024 12712 18332 \n3 12712 6018 24319 \n3 18332 24319 1376 \n3 623 18334 21310 \n3 18334 3025 12716 \n3 21310 12716 4514 \n3 3025 18333 12714 \n3 18333 1376 24320 \n3 12714 24320 6019 \n3 4514 12715 21311 \n3 12715 6019 24321 \n3 21311 24321 305 \n3 128 21316 22910 \n3 21316 4516 12719 \n3 22910 12719 5314 \n3 4516 21315 12717 \n3 21315 624 18337 \n3 12717 18337 3029 \n3 5314 12718 22911 \n3 12718 3029 18341 \n3 22911 18341 1024 \n3 624 21313 18336 \n3 21313 4515 12722 \n3 18336 12722 3027 \n3 4515 21312 12720 \n3 21312 305 24322 \n3 12720 24322 6020 \n3 3027 12721 18338 \n3 12721 6020 24323 \n3 18338 24323 1377 \n3 1024 18340 22912 \n3 18340 3028 12725 \n3 22912 12725 5315 \n3 3028 18339 12723 \n3 18339 1377 24324 \n3 12723 24324 6021 \n3 5315 12724 22913 \n3 12724 6021 24325 \n3 22913 24325 57 \n3 58 22924 24326 \n3 22924 5320 12728 \n3 24326 12728 6022 \n3 5320 22923 12726 \n3 22923 1026 18343 \n3 12726 18343 3032 \n3 6022 12727 24327 \n3 12727 3032 18347 \n3 24327 18347 1378 \n3 1026 22921 18342 \n3 22921 5319 12731 \n3 18342 12731 3030 \n3 5319 22920 12729 \n3 22920 129 21319 \n3 12729 21319 4519 \n3 3030 12730 18344 \n3 12730 4519 21321 \n3 18344 21321 628 \n3 1378 18346 24328 \n3 18346 3031 12734 \n3 24328 12734 6023 \n3 3031 18345 12732 \n3 18345 628 21326 \n3 12732 21326 4523 \n3 6023 12733 24329 \n3 12733 4523 21329 \n3 24329 21329 307 \n3 129 22917 21318 \n3 22917 5317 12737 \n3 21318 12737 4518 \n3 5317 22916 12735 \n3 22916 1025 18349 \n3 12735 18349 3035 \n3 4518 12736 21320 \n3 12736 3035 18353 \n3 21320 18353 626 \n3 1025 22915 18348 \n3 22915 5316 12740 \n3 18348 12740 3033 \n3 5316 22914 12738 \n3 22914 57 24330 \n3 12738 24330 6024 \n3 3033 12739 18350 \n3 12739 6024 24331 \n3 18350 24331 1379 \n3 626 18352 21322 \n3 18352 3034 12743 \n3 21322 12743 4520 \n3 3034 18351 12741 \n3 18351 1379 24332 \n3 12741 24332 6025 \n3 4520 12742 21323 \n3 12742 6025 24333 \n3 21323 24333 306 \n3 307 21328 24334 \n3 21328 4522 12746 \n3 24334 12746 6026 \n3 4522 21327 12744 \n3 21327 627 18355 \n3 12744 18355 3038 \n3 6026 12745 24335 \n3 12745 3038 18359 \n3 24335 18359 1381 \n3 627 21325 18354 \n3 21325 4521 12749 \n3 18354 12749 3036 \n3 4521 21324 12747 \n3 21324 306 24336 \n3 12747 24336 6027 \n3 3036 12748 18356 \n3 12748 6027 24337 \n3 18356 24337 1380 \n3 1381 18358 24338 \n3 18358 3037 12752 \n3 24338 12752 6029 \n3 3037 18357 12750 \n3 18357 1380 24339 \n3 12750 24339 6028 \n3 6029 12751 24341 \n3 12751 6028 24340 \n3 24341 24340 1715 \n3 1716 24342 24343 \n3 24342 6030 12755 \n3 24343 12755 6031 \n3 6030 24344 12753 \n3 24344 1382 18361 \n3 12753 18361 3041 \n3 6031 12754 24345 \n3 12754 3041 18365 \n3 24345 18365 1383 \n3 1382 24346 18360 \n3 24346 6032 12758 \n3 18360 12758 3039 \n3 6032 24347 12756 \n3 24347 308 21331 \n3 12756 21331 4525 \n3 3039 12757 18362 \n3 12757 4525 21333 \n3 18362 21333 631 \n3 1383 18364 24348 \n3 18364 3040 12761 \n3 24348 12761 6033 \n3 3040 18363 12759 \n3 18363 631 21338 \n3 12759 21338 4529 \n3 6033 12760 24349 \n3 12760 4529 21341 \n3 24349 21341 309 \n3 308 24350 21330 \n3 24350 6034 12764 \n3 21330 12764 4524 \n3 6034 24351 12762 \n3 24351 1384 18367 \n3 12762 18367 3044 \n3 4524 12763 21332 \n3 12763 3044 18371 \n3 21332 18371 629 \n3 1384 24352 18366 \n3 24352 6035 12767 \n3 18366 12767 3042 \n3 6035 24353 12765 \n3 24353 59 22927 \n3 12765 22927 5323 \n3 3042 12766 18368 \n3 12766 5323 22929 \n3 18368 22929 1029 \n3 629 18370 21334 \n3 18370 3043 12770 \n3 21334 12770 4526 \n3 3043 18369 12768 \n3 18369 1029 22932 \n3 12768 22932 5325 \n3 4526 12769 21335 \n3 12769 5325 22933 \n3 21335 22933 133 \n3 309 21340 24354 \n3 21340 4528 12773 \n3 24354 12773 6036 \n3 4528 21339 12771 \n3 21339 630 18373 \n3 12771 18373 3047 \n3 6036 12772 24355 \n3 12772 3047 18377 \n3 24355 18377 1385 \n3 630 21337 18372 \n3 21337 4527 12776 \n3 18372 12776 3045 \n3 4527 21336 12774 \n3 21336 133 22942 \n3 12774 22942 5330 \n3 3045 12775 18374 \n3 12775 5330 22943 \n3 18374 22943 1033 \n3 1385 18376 24356 \n3 18376 3046 12779 \n3 24356 12779 6037 \n3 3046 18375 12777 \n3 18375 1033 22946 \n3 12777 22946 5333 \n3 6037 12778 24357 \n3 12778 5333 22949 \n3 24357 22949 61 \n3 59 24358 22926 \n3 24358 6038 12782 \n3 22926 12782 5322 \n3 6038 24359 12780 \n3 24359 1386 18379 \n3 12780 18379 3050 \n3 5322 12781 22928 \n3 12781 3050 18383 \n3 22928 18383 1028 \n3 1386 24360 18378 \n3 24360 6039 12785 \n3 18378 12785 3048 \n3 6039 24361 12783 \n3 24361 310 21343 \n3 12783 21343 4531 \n3 3048 12784 18380 \n3 12784 4531 21345 \n3 18380 21345 634 \n3 1028 18382 22930 \n3 18382 3049 12788 \n3 22930 12788 5324 \n3 3049 18381 12786 \n3 18381 634 21350 \n3 12786 21350 4535 \n3 5324 12787 22931 \n3 12787 4535 21353 \n3 22931 21353 131 \n3 310 24362 21342 \n3 24362 6040 12791 \n3 21342 12791 4530 \n3 6040 24363 12789 \n3 24363 1387 18385 \n3 12789 18385 3053 \n3 4530 12790 21344 \n3 12790 3053 18389 \n3 21344 18389 632 \n3 1387 24364 18384 \n3 24364 6041 12794 \n3 18384 12794 3051 \n3 6041 24365 12792 \n3 24365 25 24366 \n3 12792 24366 6042 \n3 3051 12793 18386 \n3 12793 6042 24367 \n3 18386 24367 1388 \n3 632 18388 21346 \n3 18388 3052 12797 \n3 21346 12797 4532 \n3 3052 18387 12795 \n3 18387 1388 24368 \n3 12795 24368 6043 \n3 4532 12796 21347 \n3 12796 6043 24369 \n3 21347 24369 311 \n3 131 21352 22934 \n3 21352 4534 12800 \n3 22934 12800 5326 \n3 4534 21351 12798 \n3 21351 633 18391 \n3 12798 18391 3056 \n3 5326 12799 22935 \n3 12799 3056 18395 \n3 22935 18395 1030 \n3 633 21349 18390 \n3 21349 4533 12803 \n3 18390 12803 3054 \n3 4533 21348 12801 \n3 21348 311 24370 \n3 12801 24370 6044 \n3 3054 12802 18392 \n3 12802 6044 24371 \n3 18392 24371 1389 \n3 1030 18394 22936 \n3 18394 3055 12806 \n3 22936 12806 5327 \n3 3055 18393 12804 \n3 18393 1389 24372 \n3 12804 24372 6045 \n3 5327 12805 22937 \n3 12805 6045 24373 \n3 22937 24373 60 \n3 61 22948 24374 \n3 22948 5332 12809 \n3 24374 12809 6046 \n3 5332 22947 12807 \n3 22947 1032 18397 \n3 12807 18397 3059 \n3 6046 12808 24375 \n3 12808 3059 18401 \n3 24375 18401 1390 \n3 1032 22945 18396 \n3 22945 5331 12812 \n3 18396 12812 3057 \n3 5331 22944 12810 \n3 22944 132 21355 \n3 12810 21355 4537 \n3 3057 12811 18398 \n3 12811 4537 21357 \n3 18398 21357 637 \n3 1390 18400 24376 \n3 18400 3058 12815 \n3 24376 12815 6047 \n3 3058 18399 12813 \n3 18399 637 21362 \n3 12813 21362 4541 \n3 6047 12814 24377 \n3 12814 4541 21365 \n3 24377 21365 313 \n3 132 22941 21354 \n3 22941 5329 12818 \n3 21354 12818 4536 \n3 5329 22940 12816 \n3 22940 1031 18403 \n3 12816 18403 3062 \n3 4536 12817 21356 \n3 12817 3062 18407 \n3 21356 18407 635 \n3 1031 22939 18402 \n3 22939 5328 12821 \n3 18402 12821 3060 \n3 5328 22938 12819 \n3 22938 60 24378 \n3 12819 24378 6048 \n3 3060 12820 18404 \n3 12820 6048 24379 \n3 18404 24379 1391 \n3 635 18406 21358 \n3 18406 3061 12824 \n3 21358 12824 4538 \n3 3061 18405 12822 \n3 18405 1391 24380 \n3 12822 24380 6049 \n3 4538 12823 21359 \n3 12823 6049 24381 \n3 21359 24381 312 \n3 313 21364 24382 \n3 21364 4540 12827 \n3 24382 12827 6050 \n3 4540 21363 12825 \n3 21363 636 18409 \n3 12825 18409 3065 \n3 6050 12826 24383 \n3 12826 3065 18413 \n3 24383 18413 1393 \n3 636 21361 18408 \n3 21361 4539 12830 \n3 18408 12830 3063 \n3 4539 21360 12828 \n3 21360 312 24384 \n3 12828 24384 6051 \n3 3063 12829 18410 \n3 12829 6051 24385 \n3 18410 24385 1392 \n3 1393 18412 24386 \n3 18412 3064 12833 \n3 24386 12833 6053 \n3 3064 18411 12831 \n3 18411 1392 24387 \n3 12831 24387 6052 \n3 6053 12832 24389 \n3 12832 6052 24388 \n3 24389 24388 1717 \n3 0 24390 24391 \n3 24390 6054 12836 \n3 24391 12836 6055 \n3 6054 24392 12834 \n3 24392 1394 18415 \n3 12834 18415 3068 \n3 6055 12835 24393 \n3 12835 3068 18419 \n3 24393 18419 1395 \n3 1394 24394 18414 \n3 24394 6056 12839 \n3 18414 12839 3066 \n3 6056 24395 12837 \n3 24395 314 21367 \n3 12837 21367 4543 \n3 3066 12838 18416 \n3 12838 4543 21369 \n3 18416 21369 640 \n3 1395 18418 24396 \n3 18418 3067 12842 \n3 24396 12842 6057 \n3 3067 18417 12840 \n3 18417 640 21374 \n3 12840 21374 4547 \n3 6057 12841 24397 \n3 12841 4547 21377 \n3 24397 21377 315 \n3 314 24398 21366 \n3 24398 6058 12845 \n3 21366 12845 4542 \n3 6058 24399 12843 \n3 24399 1396 18421 \n3 12843 18421 3071 \n3 4542 12844 21368 \n3 12844 3071 18425 \n3 21368 18425 638 \n3 1396 24400 18420 \n3 24400 6059 12848 \n3 18420 12848 3069 \n3 6059 24401 12846 \n3 24401 62 22951 \n3 12846 22951 5335 \n3 3069 12847 18422 \n3 12847 5335 22953 \n3 18422 22953 1035 \n3 638 18424 21370 \n3 18424 3070 12851 \n3 21370 12851 4544 \n3 3070 18423 12849 \n3 18423 1035 22956 \n3 12849 22956 5337 \n3 4544 12850 21371 \n3 12850 5337 22957 \n3 21371 22957 136 \n3 315 21376 24402 \n3 21376 4546 12854 \n3 24402 12854 6060 \n3 4546 21375 12852 \n3 21375 639 18427 \n3 12852 18427 3074 \n3 6060 12853 24403 \n3 12853 3074 18431 \n3 24403 18431 1397 \n3 639 21373 18426 \n3 21373 4545 12857 \n3 18426 12857 3072 \n3 4545 21372 12855 \n3 21372 136 22966 \n3 12855 22966 5342 \n3 3072 12856 18428 \n3 12856 5342 22967 \n3 18428 22967 1039 \n3 1397 18430 24404 \n3 18430 3073 12860 \n3 24404 12860 6061 \n3 3073 18429 12858 \n3 18429 1039 22970 \n3 12858 22970 5345 \n3 6061 12859 24405 \n3 12859 5345 22973 \n3 24405 22973 63 \n3 62 24406 22950 \n3 24406 6062 12863 \n3 22950 12863 5334 \n3 6062 24407 12861 \n3 24407 1398 18433 \n3 12861 18433 3077 \n3 5334 12862 22952 \n3 12862 3077 18437 \n3 22952 18437 1034 \n3 1398 24408 18432 \n3 24408 6063 12866 \n3 18432 12866 3075 \n3 6063 24409 12864 \n3 24409 316 21379 \n3 12864 21379 4549 \n3 3075 12865 18434 \n3 12865 4549 21381 \n3 18434 21381 643 \n3 1034 18436 22954 \n3 18436 3076 12869 \n3 22954 12869 5336 \n3 3076 18435 12867 \n3 18435 643 21386 \n3 12867 21386 4553 \n3 5336 12868 22955 \n3 12868 4553 21389 \n3 22955 21389 134 \n3 316 24410 21378 \n3 24410 6064 12872 \n3 21378 12872 4548 \n3 6064 24411 12870 \n3 24411 1399 18439 \n3 12870 18439 3080 \n3 4548 12871 21380 \n3 12871 3080 18443 \n3 21380 18443 641 \n3 1399 24412 18438 \n3 24412 6065 12875 \n3 18438 12875 3078 \n3 6065 24413 12873 \n3 24413 8 23815 \n3 12873 23815 5767 \n3 3078 12874 18440 \n3 12874 5767 23817 \n3 18440 23817 1251 \n3 641 18442 21382 \n3 18442 3079 12878 \n3 21382 12878 4550 \n3 3079 18441 12876 \n3 18441 1251 23820 \n3 12876 23820 5769 \n3 4550 12877 21383 \n3 12877 5769 23821 \n3 21383 23821 243 \n3 134 21388 22958 \n3 21388 4552 12881 \n3 22958 12881 5338 \n3 4552 21387 12879 \n3 21387 642 18445 \n3 12879 18445 3083 \n3 5338 12880 22959 \n3 12880 3083 18449 \n3 22959 18449 1036 \n3 642 21385 18444 \n3 21385 4551 12884 \n3 18444 12884 3081 \n3 4551 21384 12882 \n3 21384 243 23826 \n3 12882 23826 5772 \n3 3081 12883 18446 \n3 12883 5772 23827 \n3 18446 23827 1253 \n3 1036 18448 22960 \n3 18448 3082 12887 \n3 22960 12887 5339 \n3 3082 18447 12885 \n3 18447 1253 23828 \n3 12885 23828 5773 \n3 5339 12886 22961 \n3 12886 5773 23829 \n3 22961 23829 28 \n3 63 22972 24414 \n3 22972 5344 12890 \n3 24414 12890 6066 \n3 5344 22971 12888 \n3 22971 1038 18451 \n3 12888 18451 3086 \n3 6066 12889 24415 \n3 12889 3086 18455 \n3 24415 18455 1400 \n3 1038 22969 18450 \n3 22969 5343 12893 \n3 18450 12893 3084 \n3 5343 22968 12891 \n3 22968 135 21391 \n3 12891 21391 4555 \n3 3084 12892 18452 \n3 12892 4555 21393 \n3 18452 21393 646 \n3 1400 18454 24416 \n3 18454 3085 12896 \n3 24416 12896 6067 \n3 3085 18453 12894 \n3 18453 646 21398 \n3 12894 21398 4559 \n3 6067 12895 24417 \n3 12895 4559 21401 \n3 24417 21401 317 \n3 135 22965 21390 \n3 22965 5341 12899 \n3 21390 12899 4554 \n3 5341 22964 12897 \n3 22964 1037 18457 \n3 12897 18457 3089 \n3 4554 12898 21392 \n3 12898 3089 18461 \n3 21392 18461 644 \n3 1037 22963 18456 \n3 22963 5340 12902 \n3 18456 12902 3087 \n3 5340 22962 12900 \n3 22962 28 23846 \n3 12900 23846 5782 \n3 3087 12901 18458 \n3 12901 5782 23847 \n3 18458 23847 1258 \n3 644 18460 21394 \n3 18460 3088 12905 \n3 21394 12905 4556 \n3 3088 18459 12903 \n3 18459 1258 23848 \n3 12903 23848 5783 \n3 4556 12904 21395 \n3 12904 5783 23849 \n3 21395 23849 247 \n3 317 21400 24418 \n3 21400 4558 12908 \n3 24418 12908 6068 \n3 4558 21399 12906 \n3 21399 645 18463 \n3 12906 18463 3092 \n3 6068 12907 24419 \n3 12907 3092 18467 \n3 24419 18467 1401 \n3 645 21397 18462 \n3 21397 4557 12911 \n3 18462 12911 3090 \n3 4557 21396 12909 \n3 21396 247 23854 \n3 12909 23854 5786 \n3 3090 12910 18464 \n3 12910 5786 23855 \n3 18464 23855 1261 \n3 1401 18466 24420 \n3 18466 3091 12914 \n3 24420 12914 6069 \n3 3091 18465 12912 \n3 18465 1261 23858 \n3 12912 23858 5789 \n3 6069 12913 24421 \n3 12913 5789 23861 \n3 24421 23861 10 \n3 8 24422 23814 \n3 24422 6070 12917 \n3 23814 12917 5766 \n3 6070 24423 12915 \n3 24423 1402 18469 \n3 12915 18469 3095 \n3 5766 12916 23816 \n3 12916 3095 18473 \n3 23816 18473 1250 \n3 1402 24424 18468 \n3 24424 6071 12920 \n3 18468 12920 3093 \n3 6071 24425 12918 \n3 24425 318 21403 \n3 12918 21403 4561 \n3 3093 12919 18470 \n3 12919 4561 21405 \n3 18470 21405 649 \n3 1250 18472 23818 \n3 18472 3094 12923 \n3 23818 12923 5768 \n3 3094 18471 12921 \n3 18471 649 21410 \n3 12921 21410 4565 \n3 5768 12922 23819 \n3 12922 4565 21413 \n3 23819 21413 242 \n3 318 24426 21402 \n3 24426 6072 12926 \n3 21402 12926 4560 \n3 6072 24427 12924 \n3 24427 1403 18475 \n3 12924 18475 3098 \n3 4560 12925 21404 \n3 12925 3098 18479 \n3 21404 18479 647 \n3 1403 24428 18474 \n3 24428 6073 12929 \n3 18474 12929 3096 \n3 6073 24429 12927 \n3 24429 64 22975 \n3 12927 22975 5347 \n3 3096 12928 18476 \n3 12928 5347 22977 \n3 18476 22977 1041 \n3 647 18478 21406 \n3 18478 3097 12932 \n3 21406 12932 4562 \n3 3097 18477 12930 \n3 18477 1041 22980 \n3 12930 22980 5349 \n3 4562 12931 21407 \n3 12931 5349 22981 \n3 21407 22981 139 \n3 242 21412 23822 \n3 21412 4564 12935 \n3 23822 12935 5770 \n3 4564 21411 12933 \n3 21411 648 18481 \n3 12933 18481 3101 \n3 5770 12934 23823 \n3 12934 3101 18485 \n3 23823 18485 1252 \n3 648 21409 18480 \n3 21409 4563 12938 \n3 18480 12938 3099 \n3 4563 21408 12936 \n3 21408 139 22990 \n3 12936 22990 5354 \n3 3099 12937 18482 \n3 12937 5354 22991 \n3 18482 22991 1045 \n3 1252 18484 23824 \n3 18484 3100 12941 \n3 23824 12941 5771 \n3 3100 18483 12939 \n3 18483 1045 22994 \n3 12939 22994 5357 \n3 5771 12940 23825 \n3 12940 5357 22997 \n3 23825 22997 26 \n3 64 24430 22974 \n3 24430 6074 12944 \n3 22974 12944 5346 \n3 6074 24431 12942 \n3 24431 1404 18487 \n3 12942 18487 3104 \n3 5346 12943 22976 \n3 12943 3104 18491 \n3 22976 18491 1040 \n3 1404 24432 18486 \n3 24432 6075 12947 \n3 18486 12947 3102 \n3 6075 24433 12945 \n3 24433 319 21415 \n3 12945 21415 4567 \n3 3102 12946 18488 \n3 12946 4567 21417 \n3 18488 21417 652 \n3 1040 18490 22978 \n3 18490 3103 12950 \n3 22978 12950 5348 \n3 3103 18489 12948 \n3 18489 652 21422 \n3 12948 21422 4571 \n3 5348 12949 22979 \n3 12949 4571 21425 \n3 22979 21425 137 \n3 319 24434 21414 \n3 24434 6076 12953 \n3 21414 12953 4566 \n3 6076 24435 12951 \n3 24435 1405 18493 \n3 12951 18493 3107 \n3 4566 12952 21416 \n3 12952 3107 18497 \n3 21416 18497 650 \n3 1405 24436 18492 \n3 24436 6077 12956 \n3 18492 12956 3105 \n3 6077 24437 12954 \n3 24437 1 24438 \n3 12954 24438 6078 \n3 3105 12955 18494 \n3 12955 6078 24439 \n3 18494 24439 1406 \n3 650 18496 21418 \n3 18496 3106 12959 \n3 21418 12959 4568 \n3 3106 18495 12957 \n3 18495 1406 24440 \n3 12957 24440 6079 \n3 4568 12958 21419 \n3 12958 6079 24441 \n3 21419 24441 320 \n3 137 21424 22982 \n3 21424 4570 12962 \n3 22982 12962 5350 \n3 4570 21423 12960 \n3 21423 651 18499 \n3 12960 18499 3110 \n3 5350 12961 22983 \n3 12961 3110 18503 \n3 22983 18503 1042 \n3 651 21421 18498 \n3 21421 4569 12965 \n3 18498 12965 3108 \n3 4569 21420 12963 \n3 21420 320 24442 \n3 12963 24442 6080 \n3 3108 12964 18500 \n3 12964 6080 24443 \n3 18500 24443 1407 \n3 1042 18502 22984 \n3 18502 3109 12968 \n3 22984 12968 5351 \n3 3109 18501 12966 \n3 18501 1407 24444 \n3 12966 24444 6081 \n3 5351 12967 22985 \n3 12967 6081 24445 \n3 22985 24445 65 \n3 26 22996 23830 \n3 22996 5356 12971 \n3 23830 12971 5774 \n3 5356 22995 12969 \n3 22995 1044 18505 \n3 12969 18505 3113 \n3 5774 12970 23831 \n3 12970 3113 18509 \n3 23831 18509 1254 \n3 1044 22993 18504 \n3 22993 5355 12974 \n3 18504 12974 3111 \n3 5355 22992 12972 \n3 22992 138 21427 \n3 12972 21427 4573 \n3 3111 12973 18506 \n3 12973 4573 21429 \n3 18506 21429 655 \n3 1254 18508 23832 \n3 18508 3112 12977 \n3 23832 12977 5775 \n3 3112 18507 12975 \n3 18507 655 21434 \n3 12975 21434 4577 \n3 5775 12976 23833 \n3 12976 4577 21437 \n3 23833 21437 244 \n3 138 22989 21426 \n3 22989 5353 12980 \n3 21426 12980 4572 \n3 5353 22988 12978 \n3 22988 1043 18511 \n3 12978 18511 3116 \n3 4572 12979 21428 \n3 12979 3116 18515 \n3 21428 18515 653 \n3 1043 22987 18510 \n3 22987 5352 12983 \n3 18510 12983 3114 \n3 5352 22986 12981 \n3 22986 65 24446 \n3 12981 24446 6082 \n3 3114 12982 18512 \n3 12982 6082 24447 \n3 18512 24447 1408 \n3 653 18514 21430 \n3 18514 3115 12986 \n3 21430 12986 4574 \n3 3115 18513 12984 \n3 18513 1408 24448 \n3 12984 24448 6083 \n3 4574 12985 21431 \n3 12985 6083 24449 \n3 21431 24449 321 \n3 244 21436 23834 \n3 21436 4576 12989 \n3 23834 12989 5776 \n3 4576 21435 12987 \n3 21435 654 18517 \n3 12987 18517 3119 \n3 5776 12988 23835 \n3 12988 3119 18521 \n3 23835 18521 1255 \n3 654 21433 18516 \n3 21433 4575 12992 \n3 18516 12992 3117 \n3 4575 21432 12990 \n3 21432 321 24450 \n3 12990 24450 6084 \n3 3117 12991 18518 \n3 12991 6084 24451 \n3 18518 24451 1409 \n3 1255 18520 23836 \n3 18520 3118 12995 \n3 23836 12995 5777 \n3 3118 18519 12993 \n3 18519 1409 24452 \n3 12993 24452 6085 \n3 5777 12994 23837 \n3 12994 6085 24453 \n3 23837 24453 9 \n3 10 23860 24454 \n3 23860 5788 12998 \n3 24454 12998 6086 \n3 5788 23859 12996 \n3 23859 1260 18523 \n3 12996 18523 3122 \n3 6086 12997 24455 \n3 12997 3122 18527 \n3 24455 18527 1410 \n3 1260 23857 18522 \n3 23857 5787 13001 \n3 18522 13001 3120 \n3 5787 23856 12999 \n3 23856 246 21439 \n3 12999 21439 4579 \n3 3120 13000 18524 \n3 13000 4579 21441 \n3 18524 21441 658 \n3 1410 18526 24456 \n3 18526 3121 13004 \n3 24456 13004 6087 \n3 3121 18525 13002 \n3 18525 658 21446 \n3 13002 21446 4583 \n3 6087 13003 24457 \n3 13003 4583 21449 \n3 24457 21449 322 \n3 246 23853 21438 \n3 23853 5785 13007 \n3 21438 13007 4578 \n3 5785 23852 13005 \n3 23852 1259 18529 \n3 13005 18529 3125 \n3 4578 13006 21440 \n3 13006 3125 18533 \n3 21440 18533 656 \n3 1259 23851 18528 \n3 23851 5784 13010 \n3 18528 13010 3123 \n3 5784 23850 13008 \n3 23850 27 22999 \n3 13008 22999 5359 \n3 3123 13009 18530 \n3 13009 5359 23001 \n3 18530 23001 1047 \n3 656 18532 21442 \n3 18532 3124 13013 \n3 21442 13013 4580 \n3 3124 18531 13011 \n3 18531 1047 23004 \n3 13011 23004 5361 \n3 4580 13012 21443 \n3 13012 5361 23005 \n3 21443 23005 142 \n3 322 21448 24458 \n3 21448 4582 13016 \n3 24458 13016 6088 \n3 4582 21447 13014 \n3 21447 657 18535 \n3 13014 18535 3128 \n3 6088 13015 24459 \n3 13015 3128 18539 \n3 24459 18539 1411 \n3 657 21445 18534 \n3 21445 4581 13019 \n3 18534 13019 3126 \n3 4581 21444 13017 \n3 21444 142 23014 \n3 13017 23014 5366 \n3 3126 13018 18536 \n3 13018 5366 23015 \n3 18536 23015 1051 \n3 1411 18538 24460 \n3 18538 3127 13022 \n3 24460 13022 6089 \n3 3127 18537 13020 \n3 18537 1051 23018 \n3 13020 23018 5369 \n3 6089 13021 24461 \n3 13021 5369 23021 \n3 24461 23021 67 \n3 27 23845 22998 \n3 23845 5781 13025 \n3 22998 13025 5358 \n3 5781 23844 13023 \n3 23844 1257 18541 \n3 13023 18541 3131 \n3 5358 13024 23000 \n3 13024 3131 18545 \n3 23000 18545 1046 \n3 1257 23843 18540 \n3 23843 5780 13028 \n3 18540 13028 3129 \n3 5780 23842 13026 \n3 23842 245 21451 \n3 13026 21451 4585 \n3 3129 13027 18542 \n3 13027 4585 21453 \n3 18542 21453 661 \n3 1046 18544 23002 \n3 18544 3130 13031 \n3 23002 13031 5360 \n3 3130 18543 13029 \n3 18543 661 21458 \n3 13029 21458 4589 \n3 5360 13030 23003 \n3 13030 4589 21461 \n3 23003 21461 140 \n3 245 23841 21450 \n3 23841 5779 13034 \n3 21450 13034 4584 \n3 5779 23840 13032 \n3 23840 1256 18547 \n3 13032 18547 3134 \n3 4584 13033 21452 \n3 13033 3134 18551 \n3 21452 18551 659 \n3 1256 23839 18546 \n3 23839 5778 13037 \n3 18546 13037 3132 \n3 5778 23838 13035 \n3 23838 9 24462 \n3 13035 24462 6090 \n3 3132 13036 18548 \n3 13036 6090 24463 \n3 18548 24463 1412 \n3 659 18550 21454 \n3 18550 3133 13040 \n3 21454 13040 4586 \n3 3133 18549 13038 \n3 18549 1412 24464 \n3 13038 24464 6091 \n3 4586 13039 21455 \n3 13039 6091 24465 \n3 21455 24465 323 \n3 140 21460 23006 \n3 21460 4588 13043 \n3 23006 13043 5362 \n3 4588 21459 13041 \n3 21459 660 18553 \n3 13041 18553 3137 \n3 5362 13042 23007 \n3 13042 3137 18557 \n3 23007 18557 1048 \n3 660 21457 18552 \n3 21457 4587 13046 \n3 18552 13046 3135 \n3 4587 21456 13044 \n3 21456 323 24466 \n3 13044 24466 6092 \n3 3135 13045 18554 \n3 13045 6092 24467 \n3 18554 24467 1413 \n3 1048 18556 23008 \n3 18556 3136 13049 \n3 23008 13049 5363 \n3 3136 18555 13047 \n3 18555 1413 24468 \n3 13047 24468 6093 \n3 5363 13048 23009 \n3 13048 6093 24469 \n3 23009 24469 66 \n3 67 23020 24470 \n3 23020 5368 13052 \n3 24470 13052 6094 \n3 5368 23019 13050 \n3 23019 1050 18559 \n3 13050 18559 3140 \n3 6094 13051 24471 \n3 13051 3140 18563 \n3 24471 18563 1414 \n3 1050 23017 18558 \n3 23017 5367 13055 \n3 18558 13055 3138 \n3 5367 23016 13053 \n3 23016 141 21463 \n3 13053 21463 4591 \n3 3138 13054 18560 \n3 13054 4591 21465 \n3 18560 21465 664 \n3 1414 18562 24472 \n3 18562 3139 13058 \n3 24472 13058 6095 \n3 3139 18561 13056 \n3 18561 664 21470 \n3 13056 21470 4595 \n3 6095 13057 24473 \n3 13057 4595 21473 \n3 24473 21473 325 \n3 141 23013 21462 \n3 23013 5365 13061 \n3 21462 13061 4590 \n3 5365 23012 13059 \n3 23012 1049 18565 \n3 13059 18565 3143 \n3 4590 13060 21464 \n3 13060 3143 18569 \n3 21464 18569 662 \n3 1049 23011 18564 \n3 23011 5364 13064 \n3 18564 13064 3141 \n3 5364 23010 13062 \n3 23010 66 24474 \n3 13062 24474 6096 \n3 3141 13063 18566 \n3 13063 6096 24475 \n3 18566 24475 1415 \n3 662 18568 21466 \n3 18568 3142 13067 \n3 21466 13067 4592 \n3 3142 18567 13065 \n3 18567 1415 24476 \n3 13065 24476 6097 \n3 4592 13066 21467 \n3 13066 6097 24477 \n3 21467 24477 324 \n3 325 21472 24478 \n3 21472 4594 13070 \n3 24478 13070 6098 \n3 4594 21471 13068 \n3 21471 663 18571 \n3 13068 18571 3146 \n3 6098 13069 24479 \n3 13069 3146 18575 \n3 24479 18575 1417 \n3 663 21469 18570 \n3 21469 4593 13073 \n3 18570 13073 3144 \n3 4593 21468 13071 \n3 21468 324 24480 \n3 13071 24480 6099 \n3 3144 13072 18572 \n3 13072 6099 24481 \n3 18572 24481 1416 \n3 1417 18574 24482 \n3 18574 3145 13076 \n3 24482 13076 6101 \n3 3145 18573 13074 \n3 18573 1416 24483 \n3 13074 24483 6100 \n3 6101 13075 24485 \n3 13075 6100 24484 \n3 24485 24484 2 \n3 3 24486 24487 \n3 24486 6102 13079 \n3 24487 13079 6103 \n3 6102 24488 13077 \n3 24488 1418 18577 \n3 13077 18577 3149 \n3 6103 13078 24489 \n3 13078 3149 18581 \n3 24489 18581 1419 \n3 1418 24490 18576 \n3 24490 6104 13082 \n3 18576 13082 3147 \n3 6104 24491 13080 \n3 24491 326 21475 \n3 13080 21475 4597 \n3 3147 13081 18578 \n3 13081 4597 21477 \n3 18578 21477 667 \n3 1419 18580 24492 \n3 18580 3148 13085 \n3 24492 13085 6105 \n3 3148 18579 13083 \n3 18579 667 21482 \n3 13083 21482 4601 \n3 6105 13084 24493 \n3 13084 4601 21485 \n3 24493 21485 327 \n3 326 24494 21474 \n3 24494 6106 13088 \n3 21474 13088 4596 \n3 6106 24495 13086 \n3 24495 1420 18583 \n3 13086 18583 3152 \n3 4596 13087 21476 \n3 13087 3152 18587 \n3 21476 18587 665 \n3 1420 24496 18582 \n3 24496 6107 13091 \n3 18582 13091 3150 \n3 6107 24497 13089 \n3 24497 68 23023 \n3 13089 23023 5371 \n3 3150 13090 18584 \n3 13090 5371 23025 \n3 18584 23025 1053 \n3 665 18586 21478 \n3 18586 3151 13094 \n3 21478 13094 4598 \n3 3151 18585 13092 \n3 18585 1053 23028 \n3 13092 23028 5373 \n3 4598 13093 21479 \n3 13093 5373 23029 \n3 21479 23029 145 \n3 327 21484 24498 \n3 21484 4600 13097 \n3 24498 13097 6108 \n3 4600 21483 13095 \n3 21483 666 18589 \n3 13095 18589 3155 \n3 6108 13096 24499 \n3 13096 3155 18593 \n3 24499 18593 1421 \n3 666 21481 18588 \n3 21481 4599 13100 \n3 18588 13100 3153 \n3 4599 21480 13098 \n3 21480 145 23038 \n3 13098 23038 5378 \n3 3153 13099 18590 \n3 13099 5378 23039 \n3 18590 23039 1057 \n3 1421 18592 24500 \n3 18592 3154 13103 \n3 24500 13103 6109 \n3 3154 18591 13101 \n3 18591 1057 23042 \n3 13101 23042 5381 \n3 6109 13102 24501 \n3 13102 5381 23045 \n3 24501 23045 69 \n3 68 24502 23022 \n3 24502 6110 13106 \n3 23022 13106 5370 \n3 6110 24503 13104 \n3 24503 1422 18595 \n3 13104 18595 3158 \n3 5370 13105 23024 \n3 13105 3158 18599 \n3 23024 18599 1052 \n3 1422 24504 18594 \n3 24504 6111 13109 \n3 18594 13109 3156 \n3 6111 24505 13107 \n3 24505 328 21487 \n3 13107 21487 4603 \n3 3156 13108 18596 \n3 13108 4603 21489 \n3 18596 21489 670 \n3 1052 18598 23026 \n3 18598 3157 13112 \n3 23026 13112 5372 \n3 3157 18597 13110 \n3 18597 670 21494 \n3 13110 21494 4607 \n3 5372 13111 23027 \n3 13111 4607 21497 \n3 23027 21497 143 \n3 328 24506 21486 \n3 24506 6112 13115 \n3 21486 13115 4602 \n3 6112 24507 13113 \n3 24507 1423 18601 \n3 13113 18601 3161 \n3 4602 13114 21488 \n3 13114 3161 18605 \n3 21488 18605 668 \n3 1423 24508 18600 \n3 24508 6113 13118 \n3 18600 13118 3159 \n3 6113 24509 13116 \n3 24509 11 23863 \n3 13116 23863 5791 \n3 3159 13117 18602 \n3 13117 5791 23865 \n3 18602 23865 1263 \n3 668 18604 21490 \n3 18604 3160 13121 \n3 21490 13121 4604 \n3 3160 18603 13119 \n3 18603 1263 23868 \n3 13119 23868 5793 \n3 4604 13120 21491 \n3 13120 5793 23869 \n3 21491 23869 249 \n3 143 21496 23030 \n3 21496 4606 13124 \n3 23030 13124 5374 \n3 4606 21495 13122 \n3 21495 669 18607 \n3 13122 18607 3164 \n3 5374 13123 23031 \n3 13123 3164 18611 \n3 23031 18611 1054 \n3 669 21493 18606 \n3 21493 4605 13127 \n3 18606 13127 3162 \n3 4605 21492 13125 \n3 21492 249 23874 \n3 13125 23874 5796 \n3 3162 13126 18608 \n3 13126 5796 23875 \n3 18608 23875 1265 \n3 1054 18610 23032 \n3 18610 3163 13130 \n3 23032 13130 5375 \n3 3163 18609 13128 \n3 18609 1265 23876 \n3 13128 23876 5797 \n3 5375 13129 23033 \n3 13129 5797 23877 \n3 23033 23877 31 \n3 69 23044 24510 \n3 23044 5380 13133 \n3 24510 13133 6114 \n3 5380 23043 13131 \n3 23043 1056 18613 \n3 13131 18613 3167 \n3 6114 13132 24511 \n3 13132 3167 18617 \n3 24511 18617 1424 \n3 1056 23041 18612 \n3 23041 5379 13136 \n3 18612 13136 3165 \n3 5379 23040 13134 \n3 23040 144 21499 \n3 13134 21499 4609 \n3 3165 13135 18614 \n3 13135 4609 21501 \n3 18614 21501 673 \n3 1424 18616 24512 \n3 18616 3166 13139 \n3 24512 13139 6115 \n3 3166 18615 13137 \n3 18615 673 21506 \n3 13137 21506 4613 \n3 6115 13138 24513 \n3 13138 4613 21509 \n3 24513 21509 329 \n3 144 23037 21498 \n3 23037 5377 13142 \n3 21498 13142 4608 \n3 5377 23036 13140 \n3 23036 1055 18619 \n3 13140 18619 3170 \n3 4608 13141 21500 \n3 13141 3170 18623 \n3 21500 18623 671 \n3 1055 23035 18618 \n3 23035 5376 13145 \n3 18618 13145 3168 \n3 5376 23034 13143 \n3 23034 31 23894 \n3 13143 23894 5806 \n3 3168 13144 18620 \n3 13144 5806 23895 \n3 18620 23895 1270 \n3 671 18622 21502 \n3 18622 3169 13148 \n3 21502 13148 4610 \n3 3169 18621 13146 \n3 18621 1270 23896 \n3 13146 23896 5807 \n3 4610 13147 21503 \n3 13147 5807 23897 \n3 21503 23897 253 \n3 329 21508 24514 \n3 21508 4612 13151 \n3 24514 13151 6116 \n3 4612 21507 13149 \n3 21507 672 18625 \n3 13149 18625 3173 \n3 6116 13150 24515 \n3 13150 3173 18629 \n3 24515 18629 1425 \n3 672 21505 18624 \n3 21505 4611 13154 \n3 18624 13154 3171 \n3 4611 21504 13152 \n3 21504 253 23902 \n3 13152 23902 5810 \n3 3171 13153 18626 \n3 13153 5810 23903 \n3 18626 23903 1273 \n3 1425 18628 24516 \n3 18628 3172 13157 \n3 24516 13157 6117 \n3 3172 18627 13155 \n3 18627 1273 23906 \n3 13155 23906 5813 \n3 6117 13156 24517 \n3 13156 5813 23909 \n3 24517 23909 12 \n3 11 24518 23862 \n3 24518 6118 13160 \n3 23862 13160 5790 \n3 6118 24519 13158 \n3 24519 1426 18631 \n3 13158 18631 3176 \n3 5790 13159 23864 \n3 13159 3176 18635 \n3 23864 18635 1262 \n3 1426 24520 18630 \n3 24520 6119 13163 \n3 18630 13163 3174 \n3 6119 24521 13161 \n3 24521 330 21511 \n3 13161 21511 4615 \n3 3174 13162 18632 \n3 13162 4615 21513 \n3 18632 21513 676 \n3 1262 18634 23866 \n3 18634 3175 13166 \n3 23866 13166 5792 \n3 3175 18633 13164 \n3 18633 676 21518 \n3 13164 21518 4619 \n3 5792 13165 23867 \n3 13165 4619 21521 \n3 23867 21521 248 \n3 330 24522 21510 \n3 24522 6120 13169 \n3 21510 13169 4614 \n3 6120 24523 13167 \n3 24523 1427 18637 \n3 13167 18637 3179 \n3 4614 13168 21512 \n3 13168 3179 18641 \n3 21512 18641 674 \n3 1427 24524 18636 \n3 24524 6121 13172 \n3 18636 13172 3177 \n3 6121 24525 13170 \n3 24525 70 23047 \n3 13170 23047 5383 \n3 3177 13171 18638 \n3 13171 5383 23049 \n3 18638 23049 1059 \n3 674 18640 21514 \n3 18640 3178 13175 \n3 21514 13175 4616 \n3 3178 18639 13173 \n3 18639 1059 23052 \n3 13173 23052 5385 \n3 4616 13174 21515 \n3 13174 5385 23053 \n3 21515 23053 148 \n3 248 21520 23870 \n3 21520 4618 13178 \n3 23870 13178 5794 \n3 4618 21519 13176 \n3 21519 675 18643 \n3 13176 18643 3182 \n3 5794 13177 23871 \n3 13177 3182 18647 \n3 23871 18647 1264 \n3 675 21517 18642 \n3 21517 4617 13181 \n3 18642 13181 3180 \n3 4617 21516 13179 \n3 21516 148 23062 \n3 13179 23062 5390 \n3 3180 13180 18644 \n3 13180 5390 23063 \n3 18644 23063 1063 \n3 1264 18646 23872 \n3 18646 3181 13184 \n3 23872 13184 5795 \n3 3181 18645 13182 \n3 18645 1063 23066 \n3 13182 23066 5393 \n3 5795 13183 23873 \n3 13183 5393 23069 \n3 23873 23069 29 \n3 70 24526 23046 \n3 24526 6122 13187 \n3 23046 13187 5382 \n3 6122 24527 13185 \n3 24527 1428 18649 \n3 13185 18649 3185 \n3 5382 13186 23048 \n3 13186 3185 18653 \n3 23048 18653 1058 \n3 1428 24528 18648 \n3 24528 6123 13190 \n3 18648 13190 3183 \n3 6123 24529 13188 \n3 24529 331 21523 \n3 13188 21523 4621 \n3 3183 13189 18650 \n3 13189 4621 21525 \n3 18650 21525 679 \n3 1058 18652 23050 \n3 18652 3184 13193 \n3 23050 13193 5384 \n3 3184 18651 13191 \n3 18651 679 21530 \n3 13191 21530 4625 \n3 5384 13192 23051 \n3 13192 4625 21533 \n3 23051 21533 146 \n3 331 24530 21522 \n3 24530 6124 13196 \n3 21522 13196 4620 \n3 6124 24531 13194 \n3 24531 1429 18655 \n3 13194 18655 3188 \n3 4620 13195 21524 \n3 13195 3188 18659 \n3 21524 18659 677 \n3 1429 24532 18654 \n3 24532 6125 13199 \n3 18654 13199 3186 \n3 6125 24533 13197 \n3 24533 2 24484 \n3 13197 24484 6100 \n3 3186 13198 18656 \n3 13198 6100 24483 \n3 18656 24483 1416 \n3 677 18658 21526 \n3 18658 3187 13202 \n3 21526 13202 4622 \n3 3187 18657 13200 \n3 18657 1416 24481 \n3 13200 24481 6099 \n3 4622 13201 21527 \n3 13201 6099 24480 \n3 21527 24480 324 \n3 146 21532 23054 \n3 21532 4624 13205 \n3 23054 13205 5386 \n3 4624 21531 13203 \n3 21531 678 18661 \n3 13203 18661 3191 \n3 5386 13204 23055 \n3 13204 3191 18665 \n3 23055 18665 1060 \n3 678 21529 18660 \n3 21529 4623 13208 \n3 18660 13208 3189 \n3 4623 21528 13206 \n3 21528 324 24477 \n3 13206 24477 6097 \n3 3189 13207 18662 \n3 13207 6097 24476 \n3 18662 24476 1415 \n3 1060 18664 23056 \n3 18664 3190 13211 \n3 23056 13211 5387 \n3 3190 18663 13209 \n3 18663 1415 24475 \n3 13209 24475 6096 \n3 5387 13210 23057 \n3 13210 6096 24474 \n3 23057 24474 66 \n3 29 23068 23878 \n3 23068 5392 13214 \n3 23878 13214 5798 \n3 5392 23067 13212 \n3 23067 1062 18667 \n3 13212 18667 3194 \n3 5798 13213 23879 \n3 13213 3194 18671 \n3 23879 18671 1266 \n3 1062 23065 18666 \n3 23065 5391 13217 \n3 18666 13217 3192 \n3 5391 23064 13215 \n3 23064 147 21535 \n3 13215 21535 4627 \n3 3192 13216 18668 \n3 13216 4627 21537 \n3 18668 21537 682 \n3 1266 18670 23880 \n3 18670 3193 13220 \n3 23880 13220 5799 \n3 3193 18669 13218 \n3 18669 682 21542 \n3 13218 21542 4631 \n3 5799 13219 23881 \n3 13219 4631 21545 \n3 23881 21545 250 \n3 147 23061 21534 \n3 23061 5389 13223 \n3 21534 13223 4626 \n3 5389 23060 13221 \n3 23060 1061 18673 \n3 13221 18673 3197 \n3 4626 13222 21536 \n3 13222 3197 18677 \n3 21536 18677 680 \n3 1061 23059 18672 \n3 23059 5388 13226 \n3 18672 13226 3195 \n3 5388 23058 13224 \n3 23058 66 24469 \n3 13224 24469 6093 \n3 3195 13225 18674 \n3 13225 6093 24468 \n3 18674 24468 1413 \n3 680 18676 21538 \n3 18676 3196 13229 \n3 21538 13229 4628 \n3 3196 18675 13227 \n3 18675 1413 24467 \n3 13227 24467 6092 \n3 4628 13228 21539 \n3 13228 6092 24466 \n3 21539 24466 323 \n3 250 21544 23882 \n3 21544 4630 13232 \n3 23882 13232 5800 \n3 4630 21543 13230 \n3 21543 681 18679 \n3 13230 18679 3200 \n3 5800 13231 23883 \n3 13231 3200 18683 \n3 23883 18683 1267 \n3 681 21541 18678 \n3 21541 4629 13235 \n3 18678 13235 3198 \n3 4629 21540 13233 \n3 21540 323 24465 \n3 13233 24465 6091 \n3 3198 13234 18680 \n3 13234 6091 24464 \n3 18680 24464 1412 \n3 1267 18682 23884 \n3 18682 3199 13238 \n3 23884 13238 5801 \n3 3199 18681 13236 \n3 18681 1412 24463 \n3 13236 24463 6090 \n3 5801 13237 23885 \n3 13237 6090 24462 \n3 23885 24462 9 \n3 12 23908 24534 \n3 23908 5812 13241 \n3 24534 13241 6126 \n3 5812 23907 13239 \n3 23907 1272 18685 \n3 13239 18685 3203 \n3 6126 13240 24535 \n3 13240 3203 18689 \n3 24535 18689 1430 \n3 1272 23905 18684 \n3 23905 5811 13244 \n3 18684 13244 3201 \n3 5811 23904 13242 \n3 23904 252 21547 \n3 13242 21547 4633 \n3 3201 13243 18686 \n3 13243 4633 21549 \n3 18686 21549 685 \n3 1430 18688 24536 \n3 18688 3202 13247 \n3 24536 13247 6127 \n3 3202 18687 13245 \n3 18687 685 21554 \n3 13245 21554 4637 \n3 6127 13246 24537 \n3 13246 4637 21557 \n3 24537 21557 332 \n3 252 23901 21546 \n3 23901 5809 13250 \n3 21546 13250 4632 \n3 5809 23900 13248 \n3 23900 1271 18691 \n3 13248 18691 3206 \n3 4632 13249 21548 \n3 13249 3206 18695 \n3 21548 18695 683 \n3 1271 23899 18690 \n3 23899 5808 13253 \n3 18690 13253 3204 \n3 5808 23898 13251 \n3 23898 30 23071 \n3 13251 23071 5395 \n3 3204 13252 18692 \n3 13252 5395 23073 \n3 18692 23073 1065 \n3 683 18694 21550 \n3 18694 3205 13256 \n3 21550 13256 4634 \n3 3205 18693 13254 \n3 18693 1065 23076 \n3 13254 23076 5397 \n3 4634 13255 21551 \n3 13255 5397 23077 \n3 21551 23077 151 \n3 332 21556 24538 \n3 21556 4636 13259 \n3 24538 13259 6128 \n3 4636 21555 13257 \n3 21555 684 18697 \n3 13257 18697 3209 \n3 6128 13258 24539 \n3 13258 3209 18701 \n3 24539 18701 1431 \n3 684 21553 18696 \n3 21553 4635 13262 \n3 18696 13262 3207 \n3 4635 21552 13260 \n3 21552 151 23086 \n3 13260 23086 5402 \n3 3207 13261 18698 \n3 13261 5402 23087 \n3 18698 23087 1069 \n3 1431 18700 24540 \n3 18700 3208 13265 \n3 24540 13265 6129 \n3 3208 18699 13263 \n3 18699 1069 23090 \n3 13263 23090 5405 \n3 6129 13264 24541 \n3 13264 5405 23093 \n3 24541 23093 71 \n3 30 23893 23070 \n3 23893 5805 13268 \n3 23070 13268 5394 \n3 5805 23892 13266 \n3 23892 1269 18703 \n3 13266 18703 3212 \n3 5394 13267 23072 \n3 13267 3212 18707 \n3 23072 18707 1064 \n3 1269 23891 18702 \n3 23891 5804 13271 \n3 18702 13271 3210 \n3 5804 23890 13269 \n3 23890 251 21559 \n3 13269 21559 4639 \n3 3210 13270 18704 \n3 13270 4639 21561 \n3 18704 21561 688 \n3 1064 18706 23074 \n3 18706 3211 13274 \n3 23074 13274 5396 \n3 3211 18705 13272 \n3 18705 688 21566 \n3 13272 21566 4643 \n3 5396 13273 23075 \n3 13273 4643 21569 \n3 23075 21569 149 \n3 251 23889 21558 \n3 23889 5803 13277 \n3 21558 13277 4638 \n3 5803 23888 13275 \n3 23888 1268 18709 \n3 13275 18709 3215 \n3 4638 13276 21560 \n3 13276 3215 18713 \n3 21560 18713 686 \n3 1268 23887 18708 \n3 23887 5802 13280 \n3 18708 13280 3213 \n3 5802 23886 13278 \n3 23886 9 24453 \n3 13278 24453 6085 \n3 3213 13279 18710 \n3 13279 6085 24452 \n3 18710 24452 1409 \n3 686 18712 21562 \n3 18712 3214 13283 \n3 21562 13283 4640 \n3 3214 18711 13281 \n3 18711 1409 24451 \n3 13281 24451 6084 \n3 4640 13282 21563 \n3 13282 6084 24450 \n3 21563 24450 321 \n3 149 21568 23078 \n3 21568 4642 13286 \n3 23078 13286 5398 \n3 4642 21567 13284 \n3 21567 687 18715 \n3 13284 18715 3218 \n3 5398 13285 23079 \n3 13285 3218 18719 \n3 23079 18719 1066 \n3 687 21565 18714 \n3 21565 4641 13289 \n3 18714 13289 3216 \n3 4641 21564 13287 \n3 21564 321 24449 \n3 13287 24449 6083 \n3 3216 13288 18716 \n3 13288 6083 24448 \n3 18716 24448 1408 \n3 1066 18718 23080 \n3 18718 3217 13292 \n3 23080 13292 5399 \n3 3217 18717 13290 \n3 18717 1408 24447 \n3 13290 24447 6082 \n3 5399 13291 23081 \n3 13291 6082 24446 \n3 23081 24446 65 \n3 71 23092 24542 \n3 23092 5404 13295 \n3 24542 13295 6130 \n3 5404 23091 13293 \n3 23091 1068 18721 \n3 13293 18721 3221 \n3 6130 13294 24543 \n3 13294 3221 18725 \n3 24543 18725 1432 \n3 1068 23089 18720 \n3 23089 5403 13298 \n3 18720 13298 3219 \n3 5403 23088 13296 \n3 23088 150 21571 \n3 13296 21571 4645 \n3 3219 13297 18722 \n3 13297 4645 21573 \n3 18722 21573 691 \n3 1432 18724 24544 \n3 18724 3220 13301 \n3 24544 13301 6131 \n3 3220 18723 13299 \n3 18723 691 21578 \n3 13299 21578 4649 \n3 6131 13300 24545 \n3 13300 4649 21581 \n3 24545 21581 333 \n3 150 23085 21570 \n3 23085 5401 13304 \n3 21570 13304 4644 \n3 5401 23084 13302 \n3 23084 1067 18727 \n3 13302 18727 3224 \n3 4644 13303 21572 \n3 13303 3224 18731 \n3 21572 18731 689 \n3 1067 23083 18726 \n3 23083 5400 13307 \n3 18726 13307 3222 \n3 5400 23082 13305 \n3 23082 65 24445 \n3 13305 24445 6081 \n3 3222 13306 18728 \n3 13306 6081 24444 \n3 18728 24444 1407 \n3 689 18730 21574 \n3 18730 3223 13310 \n3 21574 13310 4646 \n3 3223 18729 13308 \n3 18729 1407 24443 \n3 13308 24443 6080 \n3 4646 13309 21575 \n3 13309 6080 24442 \n3 21575 24442 320 \n3 333 21580 24546 \n3 21580 4648 13313 \n3 24546 13313 6132 \n3 4648 21579 13311 \n3 21579 690 18733 \n3 13311 18733 3227 \n3 6132 13312 24547 \n3 13312 3227 18737 \n3 24547 18737 1433 \n3 690 21577 18732 \n3 21577 4647 13316 \n3 18732 13316 3225 \n3 4647 21576 13314 \n3 21576 320 24441 \n3 13314 24441 6079 \n3 3225 13315 18734 \n3 13315 6079 24440 \n3 18734 24440 1406 \n3 1433 18736 24548 \n3 18736 3226 13319 \n3 24548 13319 6133 \n3 3226 18735 13317 \n3 18735 1406 24439 \n3 13317 24439 6078 \n3 6133 13318 24549 \n3 13318 6078 24438 \n3 24549 24438 1 \n3 1718 24550 24551 \n3 24550 6134 13322 \n3 24551 13322 6135 \n3 6134 24552 13320 \n3 24552 1538 18739 \n3 13320 18739 3230 \n3 6135 13321 24553 \n3 13321 3230 18743 \n3 24553 18743 1434 \n3 1538 24554 18738 \n3 24554 6136 13325 \n3 18738 13325 3228 \n3 6136 24555 13323 \n3 24555 1634 21583 \n3 13323 21583 4651 \n3 3228 13324 18740 \n3 13324 4651 21585 \n3 18740 21585 694 \n3 1434 18742 24556 \n3 18742 3229 13328 \n3 24556 13328 6137 \n3 3229 18741 13326 \n3 18741 694 21590 \n3 13326 21590 4655 \n3 6137 13327 24557 \n3 13327 4655 21593 \n3 24557 21593 334 \n3 1634 24558 21582 \n3 24558 6138 13331 \n3 21582 13331 4650 \n3 6138 24559 13329 \n3 24559 1539 18745 \n3 13329 18745 3233 \n3 4650 13330 21584 \n3 13330 3233 18749 \n3 21584 18749 692 \n3 1539 24560 18744 \n3 24560 6139 13334 \n3 18744 13334 3231 \n3 6139 24561 13332 \n3 24561 1682 23095 \n3 13332 23095 5407 \n3 3231 13333 18746 \n3 13333 5407 23097 \n3 18746 23097 1071 \n3 692 18748 21586 \n3 18748 3232 13337 \n3 21586 13337 4652 \n3 3232 18747 13335 \n3 18747 1071 23100 \n3 13335 23100 5409 \n3 4652 13336 21587 \n3 13336 5409 23101 \n3 21587 23101 154 \n3 334 21592 24562 \n3 21592 4654 13340 \n3 24562 13340 6140 \n3 4654 21591 13338 \n3 21591 693 18751 \n3 13338 18751 3236 \n3 6140 13339 24563 \n3 13339 3236 18755 \n3 24563 18755 1435 \n3 693 21589 18750 \n3 21589 4653 13343 \n3 18750 13343 3234 \n3 4653 21588 13341 \n3 21588 154 23110 \n3 13341 23110 5414 \n3 3234 13342 18752 \n3 13342 5414 23111 \n3 18752 23111 1075 \n3 1435 18754 24564 \n3 18754 3235 13346 \n3 24564 13346 6141 \n3 3235 18753 13344 \n3 18753 1075 23114 \n3 13344 23114 5417 \n3 6141 13345 24565 \n3 13345 5417 23117 \n3 24565 23117 72 \n3 1682 24566 23094 \n3 24566 6142 13349 \n3 23094 13349 5406 \n3 6142 24567 13347 \n3 24567 1540 18757 \n3 13347 18757 3239 \n3 5406 13348 23096 \n3 13348 3239 18761 \n3 23096 18761 1070 \n3 1540 24568 18756 \n3 24568 6143 13352 \n3 18756 13352 3237 \n3 6143 24569 13350 \n3 24569 1635 21595 \n3 13350 21595 4657 \n3 3237 13351 18758 \n3 13351 4657 21597 \n3 18758 21597 697 \n3 1070 18760 23098 \n3 18760 3238 13355 \n3 23098 13355 5408 \n3 3238 18759 13353 \n3 18759 697 21602 \n3 13353 21602 4661 \n3 5408 13354 23099 \n3 13354 4661 21605 \n3 23099 21605 152 \n3 1635 24570 21594 \n3 24570 6144 13358 \n3 21594 13358 4656 \n3 6144 24571 13356 \n3 24571 1541 18763 \n3 13356 18763 3242 \n3 4656 13357 21596 \n3 13357 3242 18767 \n3 21596 18767 695 \n3 1541 24572 18762 \n3 24572 6145 13361 \n3 18762 13361 3240 \n3 6145 24573 13359 \n3 24573 1706 23911 \n3 13359 23911 5815 \n3 3240 13360 18764 \n3 13360 5815 23913 \n3 18764 23913 1275 \n3 695 18766 21598 \n3 18766 3241 13364 \n3 21598 13364 4658 \n3 3241 18765 13362 \n3 18765 1275 23916 \n3 13362 23916 5817 \n3 4658 13363 21599 \n3 13363 5817 23917 \n3 21599 23917 255 \n3 152 21604 23102 \n3 21604 4660 13367 \n3 23102 13367 5410 \n3 4660 21603 13365 \n3 21603 696 18769 \n3 13365 18769 3245 \n3 5410 13366 23103 \n3 13366 3245 18773 \n3 23103 18773 1072 \n3 696 21601 18768 \n3 21601 4659 13370 \n3 18768 13370 3243 \n3 4659 21600 13368 \n3 21600 255 23922 \n3 13368 23922 5820 \n3 3243 13369 18770 \n3 13369 5820 23923 \n3 18770 23923 1277 \n3 1072 18772 23104 \n3 18772 3244 13373 \n3 23104 13373 5411 \n3 3244 18771 13371 \n3 18771 1277 23924 \n3 13371 23924 5821 \n3 5411 13372 23105 \n3 13372 5821 23925 \n3 23105 23925 34 \n3 72 23116 24574 \n3 23116 5416 13376 \n3 24574 13376 6146 \n3 5416 23115 13374 \n3 23115 1074 18775 \n3 13374 18775 3248 \n3 6146 13375 24575 \n3 13375 3248 18779 \n3 24575 18779 1436 \n3 1074 23113 18774 \n3 23113 5415 13379 \n3 18774 13379 3246 \n3 5415 23112 13377 \n3 23112 153 21607 \n3 13377 21607 4663 \n3 3246 13378 18776 \n3 13378 4663 21609 \n3 18776 21609 700 \n3 1436 18778 24576 \n3 18778 3247 13382 \n3 24576 13382 6147 \n3 3247 18777 13380 \n3 18777 700 21614 \n3 13380 21614 4667 \n3 6147 13381 24577 \n3 13381 4667 21617 \n3 24577 21617 335 \n3 153 23109 21606 \n3 23109 5413 13385 \n3 21606 13385 4662 \n3 5413 23108 13383 \n3 23108 1073 18781 \n3 13383 18781 3251 \n3 4662 13384 21608 \n3 13384 3251 18785 \n3 21608 18785 698 \n3 1073 23107 18780 \n3 23107 5412 13388 \n3 18780 13388 3249 \n3 5412 23106 13386 \n3 23106 34 23942 \n3 13386 23942 5830 \n3 3249 13387 18782 \n3 13387 5830 23943 \n3 18782 23943 1282 \n3 698 18784 21610 \n3 18784 3250 13391 \n3 21610 13391 4664 \n3 3250 18783 13389 \n3 18783 1282 23944 \n3 13389 23944 5831 \n3 4664 13390 21611 \n3 13390 5831 23945 \n3 21611 23945 259 \n3 335 21616 24578 \n3 21616 4666 13394 \n3 24578 13394 6148 \n3 4666 21615 13392 \n3 21615 699 18787 \n3 13392 18787 3254 \n3 6148 13393 24579 \n3 13393 3254 18791 \n3 24579 18791 1437 \n3 699 21613 18786 \n3 21613 4665 13397 \n3 18786 13397 3252 \n3 4665 21612 13395 \n3 21612 259 23950 \n3 13395 23950 5834 \n3 3252 13396 18788 \n3 13396 5834 23951 \n3 18788 23951 1285 \n3 1437 18790 24580 \n3 18790 3253 13400 \n3 24580 13400 6149 \n3 3253 18789 13398 \n3 18789 1285 23954 \n3 13398 23954 5837 \n3 6149 13399 24581 \n3 13399 5837 23957 \n3 24581 23957 14 \n3 1706 24582 23910 \n3 24582 6150 13403 \n3 23910 13403 5814 \n3 6150 24583 13401 \n3 24583 1542 18793 \n3 13401 18793 3257 \n3 5814 13402 23912 \n3 13402 3257 18797 \n3 23912 18797 1274 \n3 1542 24584 18792 \n3 24584 6151 13406 \n3 18792 13406 3255 \n3 6151 24585 13404 \n3 24585 1636 21619 \n3 13404 21619 4669 \n3 3255 13405 18794 \n3 13405 4669 21621 \n3 18794 21621 703 \n3 1274 18796 23914 \n3 18796 3256 13409 \n3 23914 13409 5816 \n3 3256 18795 13407 \n3 18795 703 21626 \n3 13407 21626 4673 \n3 5816 13408 23915 \n3 13408 4673 21629 \n3 23915 21629 254 \n3 1636 24586 21618 \n3 24586 6152 13412 \n3 21618 13412 4668 \n3 6152 24587 13410 \n3 24587 1543 18799 \n3 13410 18799 3260 \n3 4668 13411 21620 \n3 13411 3260 18803 \n3 21620 18803 701 \n3 1543 24588 18798 \n3 24588 6153 13415 \n3 18798 13415 3258 \n3 6153 24589 13413 \n3 24589 1683 23119 \n3 13413 23119 5419 \n3 3258 13414 18800 \n3 13414 5419 23121 \n3 18800 23121 1077 \n3 701 18802 21622 \n3 18802 3259 13418 \n3 21622 13418 4670 \n3 3259 18801 13416 \n3 18801 1077 23124 \n3 13416 23124 5421 \n3 4670 13417 21623 \n3 13417 5421 23125 \n3 21623 23125 157 \n3 254 21628 23918 \n3 21628 4672 13421 \n3 23918 13421 5818 \n3 4672 21627 13419 \n3 21627 702 18805 \n3 13419 18805 3263 \n3 5818 13420 23919 \n3 13420 3263 18809 \n3 23919 18809 1276 \n3 702 21625 18804 \n3 21625 4671 13424 \n3 18804 13424 3261 \n3 4671 21624 13422 \n3 21624 157 23134 \n3 13422 23134 5426 \n3 3261 13423 18806 \n3 13423 5426 23135 \n3 18806 23135 1081 \n3 1276 18808 23920 \n3 18808 3262 13427 \n3 23920 13427 5819 \n3 3262 18807 13425 \n3 18807 1081 23138 \n3 13425 23138 5429 \n3 5819 13426 23921 \n3 13426 5429 23141 \n3 23921 23141 32 \n3 1683 24590 23118 \n3 24590 6154 13430 \n3 23118 13430 5418 \n3 6154 24591 13428 \n3 24591 1544 18811 \n3 13428 18811 3266 \n3 5418 13429 23120 \n3 13429 3266 18815 \n3 23120 18815 1076 \n3 1544 24592 18810 \n3 24592 6155 13433 \n3 18810 13433 3264 \n3 6155 24593 13431 \n3 24593 1637 21631 \n3 13431 21631 4675 \n3 3264 13432 18812 \n3 13432 4675 21633 \n3 18812 21633 706 \n3 1076 18814 23122 \n3 18814 3265 13436 \n3 23122 13436 5420 \n3 3265 18813 13434 \n3 18813 706 21638 \n3 13434 21638 4679 \n3 5420 13435 23123 \n3 13435 4679 21641 \n3 23123 21641 155 \n3 1637 24594 21630 \n3 24594 6156 13439 \n3 21630 13439 4674 \n3 6156 24595 13437 \n3 24595 1545 18817 \n3 13437 18817 3269 \n3 4674 13438 21632 \n3 13438 3269 18821 \n3 21632 18821 704 \n3 1545 24596 18816 \n3 24596 6157 13442 \n3 18816 13442 3267 \n3 6157 24597 13440 \n3 24597 1719 24598 \n3 13440 24598 6158 \n3 3267 13441 18818 \n3 13441 6158 24599 \n3 18818 24599 1438 \n3 704 18820 21634 \n3 18820 3268 13445 \n3 21634 13445 4676 \n3 3268 18819 13443 \n3 18819 1438 24600 \n3 13443 24600 6159 \n3 4676 13444 21635 \n3 13444 6159 24601 \n3 21635 24601 336 \n3 155 21640 23126 \n3 21640 4678 13448 \n3 23126 13448 5422 \n3 4678 21639 13446 \n3 21639 705 18823 \n3 13446 18823 3272 \n3 5422 13447 23127 \n3 13447 3272 18827 \n3 23127 18827 1078 \n3 705 21637 18822 \n3 21637 4677 13451 \n3 18822 13451 3270 \n3 4677 21636 13449 \n3 21636 336 24602 \n3 13449 24602 6160 \n3 3270 13450 18824 \n3 13450 6160 24603 \n3 18824 24603 1439 \n3 1078 18826 23128 \n3 18826 3271 13454 \n3 23128 13454 5423 \n3 3271 18825 13452 \n3 18825 1439 24604 \n3 13452 24604 6161 \n3 5423 13453 23129 \n3 13453 6161 24605 \n3 23129 24605 73 \n3 32 23140 23926 \n3 23140 5428 13457 \n3 23926 13457 5822 \n3 5428 23139 13455 \n3 23139 1080 18829 \n3 13455 18829 3275 \n3 5822 13456 23927 \n3 13456 3275 18833 \n3 23927 18833 1278 \n3 1080 23137 18828 \n3 23137 5427 13460 \n3 18828 13460 3273 \n3 5427 23136 13458 \n3 23136 156 21643 \n3 13458 21643 4681 \n3 3273 13459 18830 \n3 13459 4681 21645 \n3 18830 21645 709 \n3 1278 18832 23928 \n3 18832 3274 13463 \n3 23928 13463 5823 \n3 3274 18831 13461 \n3 18831 709 21650 \n3 13461 21650 4685 \n3 5823 13462 23929 \n3 13462 4685 21653 \n3 23929 21653 256 \n3 156 23133 21642 \n3 23133 5425 13466 \n3 21642 13466 4680 \n3 5425 23132 13464 \n3 23132 1079 18835 \n3 13464 18835 3278 \n3 4680 13465 21644 \n3 13465 3278 18839 \n3 21644 18839 707 \n3 1079 23131 18834 \n3 23131 5424 13469 \n3 18834 13469 3276 \n3 5424 23130 13467 \n3 23130 73 24606 \n3 13467 24606 6162 \n3 3276 13468 18836 \n3 13468 6162 24607 \n3 18836 24607 1440 \n3 707 18838 21646 \n3 18838 3277 13472 \n3 21646 13472 4682 \n3 3277 18837 13470 \n3 18837 1440 24608 \n3 13470 24608 6163 \n3 4682 13471 21647 \n3 13471 6163 24609 \n3 21647 24609 337 \n3 256 21652 23930 \n3 21652 4684 13475 \n3 23930 13475 5824 \n3 4684 21651 13473 \n3 21651 708 18841 \n3 13473 18841 3281 \n3 5824 13474 23931 \n3 13474 3281 18845 \n3 23931 18845 1279 \n3 708 21649 18840 \n3 21649 4683 13478 \n3 18840 13478 3279 \n3 4683 21648 13476 \n3 21648 337 24610 \n3 13476 24610 6164 \n3 3279 13477 18842 \n3 13477 6164 24611 \n3 18842 24611 1441 \n3 1279 18844 23932 \n3 18844 3280 13481 \n3 23932 13481 5825 \n3 3280 18843 13479 \n3 18843 1441 24612 \n3 13479 24612 6165 \n3 5825 13480 23933 \n3 13480 6165 24613 \n3 23933 24613 13 \n3 14 23956 24614 \n3 23956 5836 13484 \n3 24614 13484 6166 \n3 5836 23955 13482 \n3 23955 1284 18847 \n3 13482 18847 3284 \n3 6166 13483 24615 \n3 13483 3284 18851 \n3 24615 18851 1442 \n3 1284 23953 18846 \n3 23953 5835 13487 \n3 18846 13487 3282 \n3 5835 23952 13485 \n3 23952 258 21655 \n3 13485 21655 4687 \n3 3282 13486 18848 \n3 13486 4687 21657 \n3 18848 21657 712 \n3 1442 18850 24616 \n3 18850 3283 13490 \n3 24616 13490 6167 \n3 3283 18849 13488 \n3 18849 712 21662 \n3 13488 21662 4691 \n3 6167 13489 24617 \n3 13489 4691 21665 \n3 24617 21665 338 \n3 258 23949 21654 \n3 23949 5833 13493 \n3 21654 13493 4686 \n3 5833 23948 13491 \n3 23948 1283 18853 \n3 13491 18853 3287 \n3 4686 13492 21656 \n3 13492 3287 18857 \n3 21656 18857 710 \n3 1283 23947 18852 \n3 23947 5832 13496 \n3 18852 13496 3285 \n3 5832 23946 13494 \n3 23946 33 23143 \n3 13494 23143 5431 \n3 3285 13495 18854 \n3 13495 5431 23145 \n3 18854 23145 1083 \n3 710 18856 21658 \n3 18856 3286 13499 \n3 21658 13499 4688 \n3 3286 18855 13497 \n3 18855 1083 23148 \n3 13497 23148 5433 \n3 4688 13498 21659 \n3 13498 5433 23149 \n3 21659 23149 160 \n3 338 21664 24618 \n3 21664 4690 13502 \n3 24618 13502 6168 \n3 4690 21663 13500 \n3 21663 711 18859 \n3 13500 18859 3290 \n3 6168 13501 24619 \n3 13501 3290 18863 \n3 24619 18863 1443 \n3 711 21661 18858 \n3 21661 4689 13505 \n3 18858 13505 3288 \n3 4689 21660 13503 \n3 21660 160 23158 \n3 13503 23158 5438 \n3 3288 13504 18860 \n3 13504 5438 23159 \n3 18860 23159 1087 \n3 1443 18862 24620 \n3 18862 3289 13508 \n3 24620 13508 6169 \n3 3289 18861 13506 \n3 18861 1087 23162 \n3 13506 23162 5441 \n3 6169 13507 24621 \n3 13507 5441 23165 \n3 24621 23165 75 \n3 33 23941 23142 \n3 23941 5829 13511 \n3 23142 13511 5430 \n3 5829 23940 13509 \n3 23940 1281 18865 \n3 13509 18865 3293 \n3 5430 13510 23144 \n3 13510 3293 18869 \n3 23144 18869 1082 \n3 1281 23939 18864 \n3 23939 5828 13514 \n3 18864 13514 3291 \n3 5828 23938 13512 \n3 23938 257 21667 \n3 13512 21667 4693 \n3 3291 13513 18866 \n3 13513 4693 21669 \n3 18866 21669 715 \n3 1082 18868 23146 \n3 18868 3292 13517 \n3 23146 13517 5432 \n3 3292 18867 13515 \n3 18867 715 21674 \n3 13515 21674 4697 \n3 5432 13516 23147 \n3 13516 4697 21677 \n3 23147 21677 158 \n3 257 23937 21666 \n3 23937 5827 13520 \n3 21666 13520 4692 \n3 5827 23936 13518 \n3 23936 1280 18871 \n3 13518 18871 3296 \n3 4692 13519 21668 \n3 13519 3296 18875 \n3 21668 18875 713 \n3 1280 23935 18870 \n3 23935 5826 13523 \n3 18870 13523 3294 \n3 5826 23934 13521 \n3 23934 13 24622 \n3 13521 24622 6170 \n3 3294 13522 18872 \n3 13522 6170 24623 \n3 18872 24623 1444 \n3 713 18874 21670 \n3 18874 3295 13526 \n3 21670 13526 4694 \n3 3295 18873 13524 \n3 18873 1444 24624 \n3 13524 24624 6171 \n3 4694 13525 21671 \n3 13525 6171 24625 \n3 21671 24625 339 \n3 158 21676 23150 \n3 21676 4696 13529 \n3 23150 13529 5434 \n3 4696 21675 13527 \n3 21675 714 18877 \n3 13527 18877 3299 \n3 5434 13528 23151 \n3 13528 3299 18881 \n3 23151 18881 1084 \n3 714 21673 18876 \n3 21673 4695 13532 \n3 18876 13532 3297 \n3 4695 21672 13530 \n3 21672 339 24626 \n3 13530 24626 6172 \n3 3297 13531 18878 \n3 13531 6172 24627 \n3 18878 24627 1445 \n3 1084 18880 23152 \n3 18880 3298 13535 \n3 23152 13535 5435 \n3 3298 18879 13533 \n3 18879 1445 24628 \n3 13533 24628 6173 \n3 5435 13534 23153 \n3 13534 6173 24629 \n3 23153 24629 74 \n3 75 23164 24630 \n3 23164 5440 13538 \n3 24630 13538 6174 \n3 5440 23163 13536 \n3 23163 1086 18883 \n3 13536 18883 3302 \n3 6174 13537 24631 \n3 13537 3302 18887 \n3 24631 18887 1446 \n3 1086 23161 18882 \n3 23161 5439 13541 \n3 18882 13541 3300 \n3 5439 23160 13539 \n3 23160 159 21679 \n3 13539 21679 4699 \n3 3300 13540 18884 \n3 13540 4699 21681 \n3 18884 21681 718 \n3 1446 18886 24632 \n3 18886 3301 13544 \n3 24632 13544 6175 \n3 3301 18885 13542 \n3 18885 718 21686 \n3 13542 21686 4703 \n3 6175 13543 24633 \n3 13543 4703 21689 \n3 24633 21689 341 \n3 159 23157 21678 \n3 23157 5437 13547 \n3 21678 13547 4698 \n3 5437 23156 13545 \n3 23156 1085 18889 \n3 13545 18889 3305 \n3 4698 13546 21680 \n3 13546 3305 18893 \n3 21680 18893 716 \n3 1085 23155 18888 \n3 23155 5436 13550 \n3 18888 13550 3303 \n3 5436 23154 13548 \n3 23154 74 24634 \n3 13548 24634 6176 \n3 3303 13549 18890 \n3 13549 6176 24635 \n3 18890 24635 1447 \n3 716 18892 21682 \n3 18892 3304 13553 \n3 21682 13553 4700 \n3 3304 18891 13551 \n3 18891 1447 24636 \n3 13551 24636 6177 \n3 4700 13552 21683 \n3 13552 6177 24637 \n3 21683 24637 340 \n3 341 21688 24638 \n3 21688 4702 13556 \n3 24638 13556 6178 \n3 4702 21687 13554 \n3 21687 717 18895 \n3 13554 18895 3308 \n3 6178 13555 24639 \n3 13555 3308 18899 \n3 24639 18899 1449 \n3 717 21685 18894 \n3 21685 4701 13559 \n3 18894 13559 3306 \n3 4701 21684 13557 \n3 21684 340 24640 \n3 13557 24640 6179 \n3 3306 13558 18896 \n3 13558 6179 24641 \n3 18896 24641 1448 \n3 1449 18898 24642 \n3 18898 3307 13562 \n3 24642 13562 6181 \n3 3307 18897 13560 \n3 18897 1448 24643 \n3 13560 24643 6180 \n3 6181 13561 24645 \n3 13561 6180 24644 \n3 24645 24644 4 \n3 6 24646 24647 \n3 24646 6182 13565 \n3 24647 13565 6183 \n3 6182 24648 13563 \n3 24648 1450 18901 \n3 13563 18901 3311 \n3 6183 13564 24649 \n3 13564 3311 18905 \n3 24649 18905 1451 \n3 1450 24650 18900 \n3 24650 6184 13568 \n3 18900 13568 3309 \n3 6184 24651 13566 \n3 24651 342 21691 \n3 13566 21691 4705 \n3 3309 13567 18902 \n3 13567 4705 21693 \n3 18902 21693 721 \n3 1451 18904 24652 \n3 18904 3310 13571 \n3 24652 13571 6185 \n3 3310 18903 13569 \n3 18903 721 21698 \n3 13569 21698 4709 \n3 6185 13570 24653 \n3 13570 4709 21701 \n3 24653 21701 343 \n3 342 24654 21690 \n3 24654 6186 13574 \n3 21690 13574 4704 \n3 6186 24655 13572 \n3 24655 1452 18907 \n3 13572 18907 3314 \n3 4704 13573 21692 \n3 13573 3314 18911 \n3 21692 18911 719 \n3 1452 24656 18906 \n3 24656 6187 13577 \n3 18906 13577 3312 \n3 6187 24657 13575 \n3 24657 76 23167 \n3 13575 23167 5443 \n3 3312 13576 18908 \n3 13576 5443 23169 \n3 18908 23169 1089 \n3 719 18910 21694 \n3 18910 3313 13580 \n3 21694 13580 4706 \n3 3313 18909 13578 \n3 18909 1089 23172 \n3 13578 23172 5445 \n3 4706 13579 21695 \n3 13579 5445 23173 \n3 21695 23173 163 \n3 343 21700 24658 \n3 21700 4708 13583 \n3 24658 13583 6188 \n3 4708 21699 13581 \n3 21699 720 18913 \n3 13581 18913 3317 \n3 6188 13582 24659 \n3 13582 3317 18917 \n3 24659 18917 1453 \n3 720 21697 18912 \n3 21697 4707 13586 \n3 18912 13586 3315 \n3 4707 21696 13584 \n3 21696 163 23182 \n3 13584 23182 5450 \n3 3315 13585 18914 \n3 13585 5450 23183 \n3 18914 23183 1093 \n3 1453 18916 24660 \n3 18916 3316 13589 \n3 24660 13589 6189 \n3 3316 18915 13587 \n3 18915 1093 23186 \n3 13587 23186 5453 \n3 6189 13588 24661 \n3 13588 5453 23189 \n3 24661 23189 77 \n3 76 24662 23166 \n3 24662 6190 13592 \n3 23166 13592 5442 \n3 6190 24663 13590 \n3 24663 1454 18919 \n3 13590 18919 3320 \n3 5442 13591 23168 \n3 13591 3320 18923 \n3 23168 18923 1088 \n3 1454 24664 18918 \n3 24664 6191 13595 \n3 18918 13595 3318 \n3 6191 24665 13593 \n3 24665 344 21703 \n3 13593 21703 4711 \n3 3318 13594 18920 \n3 13594 4711 21705 \n3 18920 21705 724 \n3 1088 18922 23170 \n3 18922 3319 13598 \n3 23170 13598 5444 \n3 3319 18921 13596 \n3 18921 724 21710 \n3 13596 21710 4715 \n3 5444 13597 23171 \n3 13597 4715 21713 \n3 23171 21713 161 \n3 344 24666 21702 \n3 24666 6192 13601 \n3 21702 13601 4710 \n3 6192 24667 13599 \n3 24667 1455 18925 \n3 13599 18925 3323 \n3 4710 13600 21704 \n3 13600 3323 18929 \n3 21704 18929 722 \n3 1455 24668 18924 \n3 24668 6193 13604 \n3 18924 13604 3321 \n3 6193 24669 13602 \n3 24669 15 23959 \n3 13602 23959 5839 \n3 3321 13603 18926 \n3 13603 5839 23961 \n3 18926 23961 1287 \n3 722 18928 21706 \n3 18928 3322 13607 \n3 21706 13607 4712 \n3 3322 18927 13605 \n3 18927 1287 23964 \n3 13605 23964 5841 \n3 4712 13606 21707 \n3 13606 5841 23965 \n3 21707 23965 261 \n3 161 21712 23174 \n3 21712 4714 13610 \n3 23174 13610 5446 \n3 4714 21711 13608 \n3 21711 723 18931 \n3 13608 18931 3326 \n3 5446 13609 23175 \n3 13609 3326 18935 \n3 23175 18935 1090 \n3 723 21709 18930 \n3 21709 4713 13613 \n3 18930 13613 3324 \n3 4713 21708 13611 \n3 21708 261 23970 \n3 13611 23970 5844 \n3 3324 13612 18932 \n3 13612 5844 23971 \n3 18932 23971 1289 \n3 1090 18934 23176 \n3 18934 3325 13616 \n3 23176 13616 5447 \n3 3325 18933 13614 \n3 18933 1289 23972 \n3 13614 23972 5845 \n3 5447 13615 23177 \n3 13615 5845 23973 \n3 23177 23973 37 \n3 77 23188 24670 \n3 23188 5452 13619 \n3 24670 13619 6194 \n3 5452 23187 13617 \n3 23187 1092 18937 \n3 13617 18937 3329 \n3 6194 13618 24671 \n3 13618 3329 18941 \n3 24671 18941 1456 \n3 1092 23185 18936 \n3 23185 5451 13622 \n3 18936 13622 3327 \n3 5451 23184 13620 \n3 23184 162 21715 \n3 13620 21715 4717 \n3 3327 13621 18938 \n3 13621 4717 21717 \n3 18938 21717 727 \n3 1456 18940 24672 \n3 18940 3328 13625 \n3 24672 13625 6195 \n3 3328 18939 13623 \n3 18939 727 21722 \n3 13623 21722 4721 \n3 6195 13624 24673 \n3 13624 4721 21725 \n3 24673 21725 345 \n3 162 23181 21714 \n3 23181 5449 13628 \n3 21714 13628 4716 \n3 5449 23180 13626 \n3 23180 1091 18943 \n3 13626 18943 3332 \n3 4716 13627 21716 \n3 13627 3332 18947 \n3 21716 18947 725 \n3 1091 23179 18942 \n3 23179 5448 13631 \n3 18942 13631 3330 \n3 5448 23178 13629 \n3 23178 37 23990 \n3 13629 23990 5854 \n3 3330 13630 18944 \n3 13630 5854 23991 \n3 18944 23991 1294 \n3 725 18946 21718 \n3 18946 3331 13634 \n3 21718 13634 4718 \n3 3331 18945 13632 \n3 18945 1294 23992 \n3 13632 23992 5855 \n3 4718 13633 21719 \n3 13633 5855 23993 \n3 21719 23993 265 \n3 345 21724 24674 \n3 21724 4720 13637 \n3 24674 13637 6196 \n3 4720 21723 13635 \n3 21723 726 18949 \n3 13635 18949 3335 \n3 6196 13636 24675 \n3 13636 3335 18953 \n3 24675 18953 1457 \n3 726 21721 18948 \n3 21721 4719 13640 \n3 18948 13640 3333 \n3 4719 21720 13638 \n3 21720 265 23998 \n3 13638 23998 5858 \n3 3333 13639 18950 \n3 13639 5858 23999 \n3 18950 23999 1297 \n3 1457 18952 24676 \n3 18952 3334 13643 \n3 24676 13643 6197 \n3 3334 18951 13641 \n3 18951 1297 24002 \n3 13641 24002 5861 \n3 6197 13642 24677 \n3 13642 5861 24005 \n3 24677 24005 16 \n3 15 24678 23958 \n3 24678 6198 13646 \n3 23958 13646 5838 \n3 6198 24679 13644 \n3 24679 1458 18955 \n3 13644 18955 3338 \n3 5838 13645 23960 \n3 13645 3338 18959 \n3 23960 18959 1286 \n3 1458 24680 18954 \n3 24680 6199 13649 \n3 18954 13649 3336 \n3 6199 24681 13647 \n3 24681 346 21727 \n3 13647 21727 4723 \n3 3336 13648 18956 \n3 13648 4723 21729 \n3 18956 21729 730 \n3 1286 18958 23962 \n3 18958 3337 13652 \n3 23962 13652 5840 \n3 3337 18957 13650 \n3 18957 730 21734 \n3 13650 21734 4727 \n3 5840 13651 23963 \n3 13651 4727 21737 \n3 23963 21737 260 \n3 346 24682 21726 \n3 24682 6200 13655 \n3 21726 13655 4722 \n3 6200 24683 13653 \n3 24683 1459 18961 \n3 13653 18961 3341 \n3 4722 13654 21728 \n3 13654 3341 18965 \n3 21728 18965 728 \n3 1459 24684 18960 \n3 24684 6201 13658 \n3 18960 13658 3339 \n3 6201 24685 13656 \n3 24685 78 23191 \n3 13656 23191 5455 \n3 3339 13657 18962 \n3 13657 5455 23193 \n3 18962 23193 1095 \n3 728 18964 21730 \n3 18964 3340 13661 \n3 21730 13661 4724 \n3 3340 18963 13659 \n3 18963 1095 23196 \n3 13659 23196 5457 \n3 4724 13660 21731 \n3 13660 5457 23197 \n3 21731 23197 166 \n3 260 21736 23966 \n3 21736 4726 13664 \n3 23966 13664 5842 \n3 4726 21735 13662 \n3 21735 729 18967 \n3 13662 18967 3344 \n3 5842 13663 23967 \n3 13663 3344 18971 \n3 23967 18971 1288 \n3 729 21733 18966 \n3 21733 4725 13667 \n3 18966 13667 3342 \n3 4725 21732 13665 \n3 21732 166 23206 \n3 13665 23206 5462 \n3 3342 13666 18968 \n3 13666 5462 23207 \n3 18968 23207 1099 \n3 1288 18970 23968 \n3 18970 3343 13670 \n3 23968 13670 5843 \n3 3343 18969 13668 \n3 18969 1099 23210 \n3 13668 23210 5465 \n3 5843 13669 23969 \n3 13669 5465 23213 \n3 23969 23213 35 \n3 78 24686 23190 \n3 24686 6202 13673 \n3 23190 13673 5454 \n3 6202 24687 13671 \n3 24687 1460 18973 \n3 13671 18973 3347 \n3 5454 13672 23192 \n3 13672 3347 18977 \n3 23192 18977 1094 \n3 1460 24688 18972 \n3 24688 6203 13676 \n3 18972 13676 3345 \n3 6203 24689 13674 \n3 24689 347 21739 \n3 13674 21739 4729 \n3 3345 13675 18974 \n3 13675 4729 21741 \n3 18974 21741 733 \n3 1094 18976 23194 \n3 18976 3346 13679 \n3 23194 13679 5456 \n3 3346 18975 13677 \n3 18975 733 21746 \n3 13677 21746 4733 \n3 5456 13678 23195 \n3 13678 4733 21749 \n3 23195 21749 164 \n3 347 24690 21738 \n3 24690 6204 13682 \n3 21738 13682 4728 \n3 6204 24691 13680 \n3 24691 1461 18979 \n3 13680 18979 3350 \n3 4728 13681 21740 \n3 13681 3350 18983 \n3 21740 18983 731 \n3 1461 24692 18978 \n3 24692 6205 13685 \n3 18978 13685 3348 \n3 6205 24693 13683 \n3 24693 4 24644 \n3 13683 24644 6180 \n3 3348 13684 18980 \n3 13684 6180 24643 \n3 18980 24643 1448 \n3 731 18982 21742 \n3 18982 3349 13688 \n3 21742 13688 4730 \n3 3349 18981 13686 \n3 18981 1448 24641 \n3 13686 24641 6179 \n3 4730 13687 21743 \n3 13687 6179 24640 \n3 21743 24640 340 \n3 164 21748 23198 \n3 21748 4732 13691 \n3 23198 13691 5458 \n3 4732 21747 13689 \n3 21747 732 18985 \n3 13689 18985 3353 \n3 5458 13690 23199 \n3 13690 3353 18989 \n3 23199 18989 1096 \n3 732 21745 18984 \n3 21745 4731 13694 \n3 18984 13694 3351 \n3 4731 21744 13692 \n3 21744 340 24637 \n3 13692 24637 6177 \n3 3351 13693 18986 \n3 13693 6177 24636 \n3 18986 24636 1447 \n3 1096 18988 23200 \n3 18988 3352 13697 \n3 23200 13697 5459 \n3 3352 18987 13695 \n3 18987 1447 24635 \n3 13695 24635 6176 \n3 5459 13696 23201 \n3 13696 6176 24634 \n3 23201 24634 74 \n3 35 23212 23974 \n3 23212 5464 13700 \n3 23974 13700 5846 \n3 5464 23211 13698 \n3 23211 1098 18991 \n3 13698 18991 3356 \n3 5846 13699 23975 \n3 13699 3356 18995 \n3 23975 18995 1290 \n3 1098 23209 18990 \n3 23209 5463 13703 \n3 18990 13703 3354 \n3 5463 23208 13701 \n3 23208 165 21751 \n3 13701 21751 4735 \n3 3354 13702 18992 \n3 13702 4735 21753 \n3 18992 21753 736 \n3 1290 18994 23976 \n3 18994 3355 13706 \n3 23976 13706 5847 \n3 3355 18993 13704 \n3 18993 736 21758 \n3 13704 21758 4739 \n3 5847 13705 23977 \n3 13705 4739 21761 \n3 23977 21761 262 \n3 165 23205 21750 \n3 23205 5461 13709 \n3 21750 13709 4734 \n3 5461 23204 13707 \n3 23204 1097 18997 \n3 13707 18997 3359 \n3 4734 13708 21752 \n3 13708 3359 19001 \n3 21752 19001 734 \n3 1097 23203 18996 \n3 23203 5460 13712 \n3 18996 13712 3357 \n3 5460 23202 13710 \n3 23202 74 24629 \n3 13710 24629 6173 \n3 3357 13711 18998 \n3 13711 6173 24628 \n3 18998 24628 1445 \n3 734 19000 21754 \n3 19000 3358 13715 \n3 21754 13715 4736 \n3 3358 18999 13713 \n3 18999 1445 24627 \n3 13713 24627 6172 \n3 4736 13714 21755 \n3 13714 6172 24626 \n3 21755 24626 339 \n3 262 21760 23978 \n3 21760 4738 13718 \n3 23978 13718 5848 \n3 4738 21759 13716 \n3 21759 735 19003 \n3 13716 19003 3362 \n3 5848 13717 23979 \n3 13717 3362 19007 \n3 23979 19007 1291 \n3 735 21757 19002 \n3 21757 4737 13721 \n3 19002 13721 3360 \n3 4737 21756 13719 \n3 21756 339 24625 \n3 13719 24625 6171 \n3 3360 13720 19004 \n3 13720 6171 24624 \n3 19004 24624 1444 \n3 1291 19006 23980 \n3 19006 3361 13724 \n3 23980 13724 5849 \n3 3361 19005 13722 \n3 19005 1444 24623 \n3 13722 24623 6170 \n3 5849 13723 23981 \n3 13723 6170 24622 \n3 23981 24622 13 \n3 16 24004 24694 \n3 24004 5860 13727 \n3 24694 13727 6206 \n3 5860 24003 13725 \n3 24003 1296 19009 \n3 13725 19009 3365 \n3 6206 13726 24695 \n3 13726 3365 19013 \n3 24695 19013 1462 \n3 1296 24001 19008 \n3 24001 5859 13730 \n3 19008 13730 3363 \n3 5859 24000 13728 \n3 24000 264 21763 \n3 13728 21763 4741 \n3 3363 13729 19010 \n3 13729 4741 21765 \n3 19010 21765 739 \n3 1462 19012 24696 \n3 19012 3364 13733 \n3 24696 13733 6207 \n3 3364 19011 13731 \n3 19011 739 21770 \n3 13731 21770 4745 \n3 6207 13732 24697 \n3 13732 4745 21773 \n3 24697 21773 348 \n3 264 23997 21762 \n3 23997 5857 13736 \n3 21762 13736 4740 \n3 5857 23996 13734 \n3 23996 1295 19015 \n3 13734 19015 3368 \n3 4740 13735 21764 \n3 13735 3368 19019 \n3 21764 19019 737 \n3 1295 23995 19014 \n3 23995 5856 13739 \n3 19014 13739 3366 \n3 5856 23994 13737 \n3 23994 36 23215 \n3 13737 23215 5467 \n3 3366 13738 19016 \n3 13738 5467 23217 \n3 19016 23217 1101 \n3 737 19018 21766 \n3 19018 3367 13742 \n3 21766 13742 4742 \n3 3367 19017 13740 \n3 19017 1101 23220 \n3 13740 23220 5469 \n3 4742 13741 21767 \n3 13741 5469 23221 \n3 21767 23221 169 \n3 348 21772 24698 \n3 21772 4744 13745 \n3 24698 13745 6208 \n3 4744 21771 13743 \n3 21771 738 19021 \n3 13743 19021 3371 \n3 6208 13744 24699 \n3 13744 3371 19025 \n3 24699 19025 1463 \n3 738 21769 19020 \n3 21769 4743 13748 \n3 19020 13748 3369 \n3 4743 21768 13746 \n3 21768 169 23230 \n3 13746 23230 5474 \n3 3369 13747 19022 \n3 13747 5474 23231 \n3 19022 23231 1105 \n3 1463 19024 24700 \n3 19024 3370 13751 \n3 24700 13751 6209 \n3 3370 19023 13749 \n3 19023 1105 23234 \n3 13749 23234 5477 \n3 6209 13750 24701 \n3 13750 5477 23237 \n3 24701 23237 79 \n3 36 23989 23214 \n3 23989 5853 13754 \n3 23214 13754 5466 \n3 5853 23988 13752 \n3 23988 1293 19027 \n3 13752 19027 3374 \n3 5466 13753 23216 \n3 13753 3374 19031 \n3 23216 19031 1100 \n3 1293 23987 19026 \n3 23987 5852 13757 \n3 19026 13757 3372 \n3 5852 23986 13755 \n3 23986 263 21775 \n3 13755 21775 4747 \n3 3372 13756 19028 \n3 13756 4747 21777 \n3 19028 21777 742 \n3 1100 19030 23218 \n3 19030 3373 13760 \n3 23218 13760 5468 \n3 3373 19029 13758 \n3 19029 742 21782 \n3 13758 21782 4751 \n3 5468 13759 23219 \n3 13759 4751 21785 \n3 23219 21785 167 \n3 263 23985 21774 \n3 23985 5851 13763 \n3 21774 13763 4746 \n3 5851 23984 13761 \n3 23984 1292 19033 \n3 13761 19033 3377 \n3 4746 13762 21776 \n3 13762 3377 19037 \n3 21776 19037 740 \n3 1292 23983 19032 \n3 23983 5850 13766 \n3 19032 13766 3375 \n3 5850 23982 13764 \n3 23982 13 24613 \n3 13764 24613 6165 \n3 3375 13765 19034 \n3 13765 6165 24612 \n3 19034 24612 1441 \n3 740 19036 21778 \n3 19036 3376 13769 \n3 21778 13769 4748 \n3 3376 19035 13767 \n3 19035 1441 24611 \n3 13767 24611 6164 \n3 4748 13768 21779 \n3 13768 6164 24610 \n3 21779 24610 337 \n3 167 21784 23222 \n3 21784 4750 13772 \n3 23222 13772 5470 \n3 4750 21783 13770 \n3 21783 741 19039 \n3 13770 19039 3380 \n3 5470 13771 23223 \n3 13771 3380 19043 \n3 23223 19043 1102 \n3 741 21781 19038 \n3 21781 4749 13775 \n3 19038 13775 3378 \n3 4749 21780 13773 \n3 21780 337 24609 \n3 13773 24609 6163 \n3 3378 13774 19040 \n3 13774 6163 24608 \n3 19040 24608 1440 \n3 1102 19042 23224 \n3 19042 3379 13778 \n3 23224 13778 5471 \n3 3379 19041 13776 \n3 19041 1440 24607 \n3 13776 24607 6162 \n3 5471 13777 23225 \n3 13777 6162 24606 \n3 23225 24606 73 \n3 79 23236 24702 \n3 23236 5476 13781 \n3 24702 13781 6210 \n3 5476 23235 13779 \n3 23235 1104 19045 \n3 13779 19045 3383 \n3 6210 13780 24703 \n3 13780 3383 19049 \n3 24703 19049 1464 \n3 1104 23233 19044 \n3 23233 5475 13784 \n3 19044 13784 3381 \n3 5475 23232 13782 \n3 23232 168 21787 \n3 13782 21787 4753 \n3 3381 13783 19046 \n3 13783 4753 21789 \n3 19046 21789 745 \n3 1464 19048 24704 \n3 19048 3382 13787 \n3 24704 13787 6211 \n3 3382 19047 13785 \n3 19047 745 21794 \n3 13785 21794 4757 \n3 6211 13786 24705 \n3 13786 4757 21797 \n3 24705 21797 349 \n3 168 23229 21786 \n3 23229 5473 13790 \n3 21786 13790 4752 \n3 5473 23228 13788 \n3 23228 1103 19051 \n3 13788 19051 3386 \n3 4752 13789 21788 \n3 13789 3386 19055 \n3 21788 19055 743 \n3 1103 23227 19050 \n3 23227 5472 13793 \n3 19050 13793 3384 \n3 5472 23226 13791 \n3 23226 73 24605 \n3 13791 24605 6161 \n3 3384 13792 19052 \n3 13792 6161 24604 \n3 19052 24604 1439 \n3 743 19054 21790 \n3 19054 3385 13796 \n3 21790 13796 4754 \n3 3385 19053 13794 \n3 19053 1439 24603 \n3 13794 24603 6160 \n3 4754 13795 21791 \n3 13795 6160 24602 \n3 21791 24602 336 \n3 349 21796 24706 \n3 21796 4756 13799 \n3 24706 13799 6212 \n3 4756 21795 13797 \n3 21795 744 19057 \n3 13797 19057 3389 \n3 6212 13798 24707 \n3 13798 3389 19061 \n3 24707 19061 1465 \n3 744 21793 19056 \n3 21793 4755 13802 \n3 19056 13802 3387 \n3 4755 21792 13800 \n3 21792 336 24601 \n3 13800 24601 6159 \n3 3387 13801 19058 \n3 13801 6159 24600 \n3 19058 24600 1438 \n3 1465 19060 24708 \n3 19060 3388 13805 \n3 24708 13805 6213 \n3 3388 19059 13803 \n3 19059 1438 24599 \n3 13803 24599 6158 \n3 6213 13804 24709 \n3 13804 6158 24598 \n3 24709 24598 1719 \n3 1720 24710 24711 \n3 24710 6214 13808 \n3 24711 13808 6215 \n3 6214 24712 13806 \n3 24712 1546 19063 \n3 13806 19063 3392 \n3 6215 13807 24713 \n3 13807 3392 19067 \n3 24713 19067 1547 \n3 1546 24714 19062 \n3 24714 6216 13811 \n3 19062 13811 3390 \n3 6216 24715 13809 \n3 24715 1638 21799 \n3 13809 21799 4759 \n3 3390 13810 19064 \n3 13810 4759 21801 \n3 19064 21801 748 \n3 1547 19066 24716 \n3 19066 3391 13814 \n3 24716 13814 6217 \n3 3391 19065 13812 \n3 19065 748 21806 \n3 13812 21806 4763 \n3 6217 13813 24717 \n3 13813 4763 21809 \n3 24717 21809 1639 \n3 1638 24718 21798 \n3 24718 6218 13817 \n3 21798 13817 4758 \n3 6218 24719 13815 \n3 24719 1548 19069 \n3 13815 19069 3395 \n3 4758 13816 21800 \n3 13816 3395 19073 \n3 21800 19073 746 \n3 1548 24720 19068 \n3 24720 6219 13820 \n3 19068 13820 3393 \n3 6219 24721 13818 \n3 24721 1684 23239 \n3 13818 23239 5479 \n3 3393 13819 19070 \n3 13819 5479 23241 \n3 19070 23241 1107 \n3 746 19072 21802 \n3 19072 3394 13823 \n3 21802 13823 4760 \n3 3394 19071 13821 \n3 19071 1107 23244 \n3 13821 23244 5481 \n3 4760 13822 21803 \n3 13822 5481 23245 \n3 21803 23245 172 \n3 1639 21808 24722 \n3 21808 4762 13826 \n3 24722 13826 6220 \n3 4762 21807 13824 \n3 21807 747 19075 \n3 13824 19075 3398 \n3 6220 13825 24723 \n3 13825 3398 19079 \n3 24723 19079 1549 \n3 747 21805 19074 \n3 21805 4761 13829 \n3 19074 13829 3396 \n3 4761 21804 13827 \n3 21804 172 23254 \n3 13827 23254 5486 \n3 3396 13828 19076 \n3 13828 5486 23255 \n3 19076 23255 1111 \n3 1549 19078 24724 \n3 19078 3397 13832 \n3 24724 13832 6221 \n3 3397 19077 13830 \n3 19077 1111 23258 \n3 13830 23258 5489 \n3 6221 13831 24725 \n3 13831 5489 23261 \n3 24725 23261 1685 \n3 1684 24726 23238 \n3 24726 6222 13835 \n3 23238 13835 5478 \n3 6222 24727 13833 \n3 24727 1550 19081 \n3 13833 19081 3401 \n3 5478 13834 23240 \n3 13834 3401 19085 \n3 23240 19085 1106 \n3 1550 24728 19080 \n3 24728 6223 13838 \n3 19080 13838 3399 \n3 6223 24729 13836 \n3 24729 1640 21811 \n3 13836 21811 4765 \n3 3399 13837 19082 \n3 13837 4765 21813 \n3 19082 21813 751 \n3 1106 19084 23242 \n3 19084 3400 13841 \n3 23242 13841 5480 \n3 3400 19083 13839 \n3 19083 751 21818 \n3 13839 21818 4769 \n3 5480 13840 23243 \n3 13840 4769 21821 \n3 23243 21821 170 \n3 1640 24730 21810 \n3 24730 6224 13844 \n3 21810 13844 4764 \n3 6224 24731 13842 \n3 24731 1551 19087 \n3 13842 19087 3404 \n3 4764 13843 21812 \n3 13843 3404 19091 \n3 21812 19091 749 \n3 1551 24732 19086 \n3 24732 6225 13847 \n3 19086 13847 3402 \n3 6225 24733 13845 \n3 24733 1707 24007 \n3 13845 24007 5863 \n3 3402 13846 19088 \n3 13846 5863 24009 \n3 19088 24009 1299 \n3 749 19090 21814 \n3 19090 3403 13850 \n3 21814 13850 4766 \n3 3403 19089 13848 \n3 19089 1299 24012 \n3 13848 24012 5865 \n3 4766 13849 21815 \n3 13849 5865 24013 \n3 21815 24013 267 \n3 170 21820 23246 \n3 21820 4768 13853 \n3 23246 13853 5482 \n3 4768 21819 13851 \n3 21819 750 19093 \n3 13851 19093 3407 \n3 5482 13852 23247 \n3 13852 3407 19097 \n3 23247 19097 1108 \n3 750 21817 19092 \n3 21817 4767 13856 \n3 19092 13856 3405 \n3 4767 21816 13854 \n3 21816 267 24018 \n3 13854 24018 5868 \n3 3405 13855 19094 \n3 13855 5868 24019 \n3 19094 24019 1301 \n3 1108 19096 23248 \n3 19096 3406 13859 \n3 23248 13859 5483 \n3 3406 19095 13857 \n3 19095 1301 24020 \n3 13857 24020 5869 \n3 5483 13858 23249 \n3 13858 5869 24021 \n3 23249 24021 40 \n3 1685 23260 24734 \n3 23260 5488 13862 \n3 24734 13862 6226 \n3 5488 23259 13860 \n3 23259 1110 19099 \n3 13860 19099 3410 \n3 6226 13861 24735 \n3 13861 3410 19103 \n3 24735 19103 1552 \n3 1110 23257 19098 \n3 23257 5487 13865 \n3 19098 13865 3408 \n3 5487 23256 13863 \n3 23256 171 21823 \n3 13863 21823 4771 \n3 3408 13864 19100 \n3 13864 4771 21825 \n3 19100 21825 754 \n3 1552 19102 24736 \n3 19102 3409 13868 \n3 24736 13868 6227 \n3 3409 19101 13866 \n3 19101 754 21830 \n3 13866 21830 4775 \n3 6227 13867 24737 \n3 13867 4775 21833 \n3 24737 21833 1641 \n3 171 23253 21822 \n3 23253 5485 13871 \n3 21822 13871 4770 \n3 5485 23252 13869 \n3 23252 1109 19105 \n3 13869 19105 3413 \n3 4770 13870 21824 \n3 13870 3413 19109 \n3 21824 19109 752 \n3 1109 23251 19104 \n3 23251 5484 13874 \n3 19104 13874 3411 \n3 5484 23250 13872 \n3 23250 40 24038 \n3 13872 24038 5878 \n3 3411 13873 19106 \n3 13873 5878 24039 \n3 19106 24039 1306 \n3 752 19108 21826 \n3 19108 3412 13877 \n3 21826 13877 4772 \n3 3412 19107 13875 \n3 19107 1306 24040 \n3 13875 24040 5879 \n3 4772 13876 21827 \n3 13876 5879 24041 \n3 21827 24041 271 \n3 1641 21832 24738 \n3 21832 4774 13880 \n3 24738 13880 6228 \n3 4774 21831 13878 \n3 21831 753 19111 \n3 13878 19111 3416 \n3 6228 13879 24739 \n3 13879 3416 19115 \n3 24739 19115 1553 \n3 753 21829 19110 \n3 21829 4773 13883 \n3 19110 13883 3414 \n3 4773 21828 13881 \n3 21828 271 24046 \n3 13881 24046 5882 \n3 3414 13882 19112 \n3 13882 5882 24047 \n3 19112 24047 1309 \n3 1553 19114 24740 \n3 19114 3415 13886 \n3 24740 13886 6229 \n3 3415 19113 13884 \n3 19113 1309 24050 \n3 13884 24050 5885 \n3 6229 13885 24741 \n3 13885 5885 24053 \n3 24741 24053 1708 \n3 1707 24742 24006 \n3 24742 6230 13889 \n3 24006 13889 5862 \n3 6230 24743 13887 \n3 24743 1554 19117 \n3 13887 19117 3419 \n3 5862 13888 24008 \n3 13888 3419 19121 \n3 24008 19121 1298 \n3 1554 24744 19116 \n3 24744 6231 13892 \n3 19116 13892 3417 \n3 6231 24745 13890 \n3 24745 1642 21835 \n3 13890 21835 4777 \n3 3417 13891 19118 \n3 13891 4777 21837 \n3 19118 21837 757 \n3 1298 19120 24010 \n3 19120 3418 13895 \n3 24010 13895 5864 \n3 3418 19119 13893 \n3 19119 757 21842 \n3 13893 21842 4781 \n3 5864 13894 24011 \n3 13894 4781 21845 \n3 24011 21845 266 \n3 1642 24746 21834 \n3 24746 6232 13898 \n3 21834 13898 4776 \n3 6232 24747 13896 \n3 24747 1555 19123 \n3 13896 19123 3422 \n3 4776 13897 21836 \n3 13897 3422 19127 \n3 21836 19127 755 \n3 1555 24748 19122 \n3 24748 6233 13901 \n3 19122 13901 3420 \n3 6233 24749 13899 \n3 24749 1686 23263 \n3 13899 23263 5491 \n3 3420 13900 19124 \n3 13900 5491 23265 \n3 19124 23265 1113 \n3 755 19126 21838 \n3 19126 3421 13904 \n3 21838 13904 4778 \n3 3421 19125 13902 \n3 19125 1113 23268 \n3 13902 23268 5493 \n3 4778 13903 21839 \n3 13903 5493 23269 \n3 21839 23269 175 \n3 266 21844 24014 \n3 21844 4780 13907 \n3 24014 13907 5866 \n3 4780 21843 13905 \n3 21843 756 19129 \n3 13905 19129 3425 \n3 5866 13906 24015 \n3 13906 3425 19133 \n3 24015 19133 1300 \n3 756 21841 19128 \n3 21841 4779 13910 \n3 19128 13910 3423 \n3 4779 21840 13908 \n3 21840 175 23278 \n3 13908 23278 5498 \n3 3423 13909 19130 \n3 13909 5498 23279 \n3 19130 23279 1117 \n3 1300 19132 24016 \n3 19132 3424 13913 \n3 24016 13913 5867 \n3 3424 19131 13911 \n3 19131 1117 23282 \n3 13911 23282 5501 \n3 5867 13912 24017 \n3 13912 5501 23285 \n3 24017 23285 38 \n3 1686 24750 23262 \n3 24750 6234 13916 \n3 23262 13916 5490 \n3 6234 24751 13914 \n3 24751 1556 19135 \n3 13914 19135 3428 \n3 5490 13915 23264 \n3 13915 3428 19139 \n3 23264 19139 1112 \n3 1556 24752 19134 \n3 24752 6235 13919 \n3 19134 13919 3426 \n3 6235 24753 13917 \n3 24753 1643 21847 \n3 13917 21847 4783 \n3 3426 13918 19136 \n3 13918 4783 21849 \n3 19136 21849 760 \n3 1112 19138 23266 \n3 19138 3427 13922 \n3 23266 13922 5492 \n3 3427 19137 13920 \n3 19137 760 21854 \n3 13920 21854 4787 \n3 5492 13921 23267 \n3 13921 4787 21857 \n3 23267 21857 173 \n3 1643 24754 21846 \n3 24754 6236 13925 \n3 21846 13925 4782 \n3 6236 24755 13923 \n3 24755 1557 19141 \n3 13923 19141 3431 \n3 4782 13924 21848 \n3 13924 3431 19145 \n3 21848 19145 758 \n3 1557 24756 19140 \n3 24756 6237 13928 \n3 19140 13928 3429 \n3 6237 24757 13926 \n3 24757 1721 24758 \n3 13926 24758 6238 \n3 3429 13927 19142 \n3 13927 6238 24759 \n3 19142 24759 1466 \n3 758 19144 21850 \n3 19144 3430 13931 \n3 21850 13931 4784 \n3 3430 19143 13929 \n3 19143 1466 24760 \n3 13929 24760 6239 \n3 4784 13930 21851 \n3 13930 6239 24761 \n3 21851 24761 350 \n3 173 21856 23270 \n3 21856 4786 13934 \n3 23270 13934 5494 \n3 4786 21855 13932 \n3 21855 759 19147 \n3 13932 19147 3434 \n3 5494 13933 23271 \n3 13933 3434 19151 \n3 23271 19151 1114 \n3 759 21853 19146 \n3 21853 4785 13937 \n3 19146 13937 3432 \n3 4785 21852 13935 \n3 21852 350 24762 \n3 13935 24762 6240 \n3 3432 13936 19148 \n3 13936 6240 24763 \n3 19148 24763 1467 \n3 1114 19150 23272 \n3 19150 3433 13940 \n3 23272 13940 5495 \n3 3433 19149 13938 \n3 19149 1467 24764 \n3 13938 24764 6241 \n3 5495 13939 23273 \n3 13939 6241 24765 \n3 23273 24765 80 \n3 38 23284 24022 \n3 23284 5500 13943 \n3 24022 13943 5870 \n3 5500 23283 13941 \n3 23283 1116 19153 \n3 13941 19153 3437 \n3 5870 13942 24023 \n3 13942 3437 19157 \n3 24023 19157 1302 \n3 1116 23281 19152 \n3 23281 5499 13946 \n3 19152 13946 3435 \n3 5499 23280 13944 \n3 23280 174 21859 \n3 13944 21859 4789 \n3 3435 13945 19154 \n3 13945 4789 21861 \n3 19154 21861 763 \n3 1302 19156 24024 \n3 19156 3436 13949 \n3 24024 13949 5871 \n3 3436 19155 13947 \n3 19155 763 21866 \n3 13947 21866 4793 \n3 5871 13948 24025 \n3 13948 4793 21869 \n3 24025 21869 268 \n3 174 23277 21858 \n3 23277 5497 13952 \n3 21858 13952 4788 \n3 5497 23276 13950 \n3 23276 1115 19159 \n3 13950 19159 3440 \n3 4788 13951 21860 \n3 13951 3440 19163 \n3 21860 19163 761 \n3 1115 23275 19158 \n3 23275 5496 13955 \n3 19158 13955 3438 \n3 5496 23274 13953 \n3 23274 80 24766 \n3 13953 24766 6242 \n3 3438 13954 19160 \n3 13954 6242 24767 \n3 19160 24767 1468 \n3 761 19162 21862 \n3 19162 3439 13958 \n3 21862 13958 4790 \n3 3439 19161 13956 \n3 19161 1468 24768 \n3 13956 24768 6243 \n3 4790 13957 21863 \n3 13957 6243 24769 \n3 21863 24769 351 \n3 268 21868 24026 \n3 21868 4792 13961 \n3 24026 13961 5872 \n3 4792 21867 13959 \n3 21867 762 19165 \n3 13959 19165 3443 \n3 5872 13960 24027 \n3 13960 3443 19169 \n3 24027 19169 1303 \n3 762 21865 19164 \n3 21865 4791 13964 \n3 19164 13964 3441 \n3 4791 21864 13962 \n3 21864 351 24770 \n3 13962 24770 6244 \n3 3441 13963 19166 \n3 13963 6244 24771 \n3 19166 24771 1469 \n3 1303 19168 24028 \n3 19168 3442 13967 \n3 24028 13967 5873 \n3 3442 19167 13965 \n3 19167 1469 24772 \n3 13965 24772 6245 \n3 5873 13966 24029 \n3 13966 6245 24773 \n3 24029 24773 17 \n3 1708 24052 24774 \n3 24052 5884 13970 \n3 24774 13970 6246 \n3 5884 24051 13968 \n3 24051 1308 19171 \n3 13968 19171 3446 \n3 6246 13969 24775 \n3 13969 3446 19175 \n3 24775 19175 1558 \n3 1308 24049 19170 \n3 24049 5883 13973 \n3 19170 13973 3444 \n3 5883 24048 13971 \n3 24048 270 21871 \n3 13971 21871 4795 \n3 3444 13972 19172 \n3 13972 4795 21873 \n3 19172 21873 766 \n3 1558 19174 24776 \n3 19174 3445 13976 \n3 24776 13976 6247 \n3 3445 19173 13974 \n3 19173 766 21878 \n3 13974 21878 4799 \n3 6247 13975 24777 \n3 13975 4799 21881 \n3 24777 21881 1644 \n3 270 24045 21870 \n3 24045 5881 13979 \n3 21870 13979 4794 \n3 5881 24044 13977 \n3 24044 1307 19177 \n3 13977 19177 3449 \n3 4794 13978 21872 \n3 13978 3449 19181 \n3 21872 19181 764 \n3 1307 24043 19176 \n3 24043 5880 13982 \n3 19176 13982 3447 \n3 5880 24042 13980 \n3 24042 39 23287 \n3 13980 23287 5503 \n3 3447 13981 19178 \n3 13981 5503 23289 \n3 19178 23289 1119 \n3 764 19180 21874 \n3 19180 3448 13985 \n3 21874 13985 4796 \n3 3448 19179 13983 \n3 19179 1119 23292 \n3 13983 23292 5505 \n3 4796 13984 21875 \n3 13984 5505 23293 \n3 21875 23293 178 \n3 1644 21880 24778 \n3 21880 4798 13988 \n3 24778 13988 6248 \n3 4798 21879 13986 \n3 21879 765 19183 \n3 13986 19183 3452 \n3 6248 13987 24779 \n3 13987 3452 19187 \n3 24779 19187 1559 \n3 765 21877 19182 \n3 21877 4797 13991 \n3 19182 13991 3450 \n3 4797 21876 13989 \n3 21876 178 23302 \n3 13989 23302 5510 \n3 3450 13990 19184 \n3 13990 5510 23303 \n3 19184 23303 1123 \n3 1559 19186 24780 \n3 19186 3451 13994 \n3 24780 13994 6249 \n3 3451 19185 13992 \n3 19185 1123 23306 \n3 13992 23306 5513 \n3 6249 13993 24781 \n3 13993 5513 23309 \n3 24781 23309 1687 \n3 39 24037 23286 \n3 24037 5877 13997 \n3 23286 13997 5502 \n3 5877 24036 13995 \n3 24036 1305 19189 \n3 13995 19189 3455 \n3 5502 13996 23288 \n3 13996 3455 19193 \n3 23288 19193 1118 \n3 1305 24035 19188 \n3 24035 5876 14000 \n3 19188 14000 3453 \n3 5876 24034 13998 \n3 24034 269 21883 \n3 13998 21883 4801 \n3 3453 13999 19190 \n3 13999 4801 21885 \n3 19190 21885 769 \n3 1118 19192 23290 \n3 19192 3454 14003 \n3 23290 14003 5504 \n3 3454 19191 14001 \n3 19191 769 21890 \n3 14001 21890 4805 \n3 5504 14002 23291 \n3 14002 4805 21893 \n3 23291 21893 176 \n3 269 24033 21882 \n3 24033 5875 14006 \n3 21882 14006 4800 \n3 5875 24032 14004 \n3 24032 1304 19195 \n3 14004 19195 3458 \n3 4800 14005 21884 \n3 14005 3458 19199 \n3 21884 19199 767 \n3 1304 24031 19194 \n3 24031 5874 14009 \n3 19194 14009 3456 \n3 5874 24030 14007 \n3 24030 17 24782 \n3 14007 24782 6250 \n3 3456 14008 19196 \n3 14008 6250 24783 \n3 19196 24783 1470 \n3 767 19198 21886 \n3 19198 3457 14012 \n3 21886 14012 4802 \n3 3457 19197 14010 \n3 19197 1470 24784 \n3 14010 24784 6251 \n3 4802 14011 21887 \n3 14011 6251 24785 \n3 21887 24785 352 \n3 176 21892 23294 \n3 21892 4804 14015 \n3 23294 14015 5506 \n3 4804 21891 14013 \n3 21891 768 19201 \n3 14013 19201 3461 \n3 5506 14014 23295 \n3 14014 3461 19205 \n3 23295 19205 1120 \n3 768 21889 19200 \n3 21889 4803 14018 \n3 19200 14018 3459 \n3 4803 21888 14016 \n3 21888 352 24786 \n3 14016 24786 6252 \n3 3459 14017 19202 \n3 14017 6252 24787 \n3 19202 24787 1471 \n3 1120 19204 23296 \n3 19204 3460 14021 \n3 23296 14021 5507 \n3 3460 19203 14019 \n3 19203 1471 24788 \n3 14019 24788 6253 \n3 5507 14020 23297 \n3 14020 6253 24789 \n3 23297 24789 81 \n3 1687 23308 24790 \n3 23308 5512 14024 \n3 24790 14024 6254 \n3 5512 23307 14022 \n3 23307 1122 19207 \n3 14022 19207 3464 \n3 6254 14023 24791 \n3 14023 3464 19211 \n3 24791 19211 1560 \n3 1122 23305 19206 \n3 23305 5511 14027 \n3 19206 14027 3462 \n3 5511 23304 14025 \n3 23304 177 21895 \n3 14025 21895 4807 \n3 3462 14026 19208 \n3 14026 4807 21897 \n3 19208 21897 772 \n3 1560 19210 24792 \n3 19210 3463 14030 \n3 24792 14030 6255 \n3 3463 19209 14028 \n3 19209 772 21902 \n3 14028 21902 4811 \n3 6255 14029 24793 \n3 14029 4811 21905 \n3 24793 21905 1645 \n3 177 23301 21894 \n3 23301 5509 14033 \n3 21894 14033 4806 \n3 5509 23300 14031 \n3 23300 1121 19213 \n3 14031 19213 3467 \n3 4806 14032 21896 \n3 14032 3467 19217 \n3 21896 19217 770 \n3 1121 23299 19212 \n3 23299 5508 14036 \n3 19212 14036 3465 \n3 5508 23298 14034 \n3 23298 81 24794 \n3 14034 24794 6256 \n3 3465 14035 19214 \n3 14035 6256 24795 \n3 19214 24795 1472 \n3 770 19216 21898 \n3 19216 3466 14039 \n3 21898 14039 4808 \n3 3466 19215 14037 \n3 19215 1472 24796 \n3 14037 24796 6257 \n3 4808 14038 21899 \n3 14038 6257 24797 \n3 21899 24797 353 \n3 1645 21904 24798 \n3 21904 4810 14042 \n3 24798 14042 6258 \n3 4810 21903 14040 \n3 21903 771 19219 \n3 14040 19219 3470 \n3 6258 14041 24799 \n3 14041 3470 19223 \n3 24799 19223 1561 \n3 771 21901 19218 \n3 21901 4809 14045 \n3 19218 14045 3468 \n3 4809 21900 14043 \n3 21900 353 24800 \n3 14043 24800 6259 \n3 3468 14044 19220 \n3 14044 6259 24801 \n3 19220 24801 1473 \n3 1561 19222 24802 \n3 19222 3469 14048 \n3 24802 14048 6261 \n3 3469 19221 14046 \n3 19221 1473 24803 \n3 14046 24803 6260 \n3 6261 14047 24805 \n3 14047 6260 24804 \n3 24805 24804 1722 \n3 5 24806 24807 \n3 24806 6262 14051 \n3 24807 14051 6263 \n3 6262 24808 14049 \n3 24808 1474 19225 \n3 14049 19225 3473 \n3 6263 14050 24809 \n3 14050 3473 19229 \n3 24809 19229 1475 \n3 1474 24810 19224 \n3 24810 6264 14054 \n3 19224 14054 3471 \n3 6264 24811 14052 \n3 24811 354 21907 \n3 14052 21907 4813 \n3 3471 14053 19226 \n3 14053 4813 21909 \n3 19226 21909 775 \n3 1475 19228 24812 \n3 19228 3472 14057 \n3 24812 14057 6265 \n3 3472 19227 14055 \n3 19227 775 21914 \n3 14055 21914 4817 \n3 6265 14056 24813 \n3 14056 4817 21917 \n3 24813 21917 355 \n3 354 24814 21906 \n3 24814 6266 14060 \n3 21906 14060 4812 \n3 6266 24815 14058 \n3 24815 1476 19231 \n3 14058 19231 3476 \n3 4812 14059 21908 \n3 14059 3476 19235 \n3 21908 19235 773 \n3 1476 24816 19230 \n3 24816 6267 14063 \n3 19230 14063 3474 \n3 6267 24817 14061 \n3 24817 82 23311 \n3 14061 23311 5515 \n3 3474 14062 19232 \n3 14062 5515 23313 \n3 19232 23313 1125 \n3 773 19234 21910 \n3 19234 3475 14066 \n3 21910 14066 4814 \n3 3475 19233 14064 \n3 19233 1125 23316 \n3 14064 23316 5517 \n3 4814 14065 21911 \n3 14065 5517 23317 \n3 21911 23317 181 \n3 355 21916 24818 \n3 21916 4816 14069 \n3 24818 14069 6268 \n3 4816 21915 14067 \n3 21915 774 19237 \n3 14067 19237 3479 \n3 6268 14068 24819 \n3 14068 3479 19241 \n3 24819 19241 1477 \n3 774 21913 19236 \n3 21913 4815 14072 \n3 19236 14072 3477 \n3 4815 21912 14070 \n3 21912 181 23326 \n3 14070 23326 5522 \n3 3477 14071 19238 \n3 14071 5522 23327 \n3 19238 23327 1129 \n3 1477 19240 24820 \n3 19240 3478 14075 \n3 24820 14075 6269 \n3 3478 19239 14073 \n3 19239 1129 23330 \n3 14073 23330 5525 \n3 6269 14074 24821 \n3 14074 5525 23333 \n3 24821 23333 83 \n3 82 24822 23310 \n3 24822 6270 14078 \n3 23310 14078 5514 \n3 6270 24823 14076 \n3 24823 1478 19243 \n3 14076 19243 3482 \n3 5514 14077 23312 \n3 14077 3482 19247 \n3 23312 19247 1124 \n3 1478 24824 19242 \n3 24824 6271 14081 \n3 19242 14081 3480 \n3 6271 24825 14079 \n3 24825 356 21919 \n3 14079 21919 4819 \n3 3480 14080 19244 \n3 14080 4819 21921 \n3 19244 21921 778 \n3 1124 19246 23314 \n3 19246 3481 14084 \n3 23314 14084 5516 \n3 3481 19245 14082 \n3 19245 778 21926 \n3 14082 21926 4823 \n3 5516 14083 23315 \n3 14083 4823 21929 \n3 23315 21929 179 \n3 356 24826 21918 \n3 24826 6272 14087 \n3 21918 14087 4818 \n3 6272 24827 14085 \n3 24827 1479 19249 \n3 14085 19249 3485 \n3 4818 14086 21920 \n3 14086 3485 19253 \n3 21920 19253 776 \n3 1479 24828 19248 \n3 24828 6273 14090 \n3 19248 14090 3483 \n3 6273 24829 14088 \n3 24829 18 24055 \n3 14088 24055 5887 \n3 3483 14089 19250 \n3 14089 5887 24057 \n3 19250 24057 1311 \n3 776 19252 21922 \n3 19252 3484 14093 \n3 21922 14093 4820 \n3 3484 19251 14091 \n3 19251 1311 24060 \n3 14091 24060 5889 \n3 4820 14092 21923 \n3 14092 5889 24061 \n3 21923 24061 273 \n3 179 21928 23318 \n3 21928 4822 14096 \n3 23318 14096 5518 \n3 4822 21927 14094 \n3 21927 777 19255 \n3 14094 19255 3488 \n3 5518 14095 23319 \n3 14095 3488 19259 \n3 23319 19259 1126 \n3 777 21925 19254 \n3 21925 4821 14099 \n3 19254 14099 3486 \n3 4821 21924 14097 \n3 21924 273 24066 \n3 14097 24066 5892 \n3 3486 14098 19256 \n3 14098 5892 24067 \n3 19256 24067 1313 \n3 1126 19258 23320 \n3 19258 3487 14102 \n3 23320 14102 5519 \n3 3487 19257 14100 \n3 19257 1313 24068 \n3 14100 24068 5893 \n3 5519 14101 23321 \n3 14101 5893 24069 \n3 23321 24069 43 \n3 83 23332 24830 \n3 23332 5524 14105 \n3 24830 14105 6274 \n3 5524 23331 14103 \n3 23331 1128 19261 \n3 14103 19261 3491 \n3 6274 14104 24831 \n3 14104 3491 19265 \n3 24831 19265 1480 \n3 1128 23329 19260 \n3 23329 5523 14108 \n3 19260 14108 3489 \n3 5523 23328 14106 \n3 23328 180 21931 \n3 14106 21931 4825 \n3 3489 14107 19262 \n3 14107 4825 21933 \n3 19262 21933 781 \n3 1480 19264 24832 \n3 19264 3490 14111 \n3 24832 14111 6275 \n3 3490 19263 14109 \n3 19263 781 21938 \n3 14109 21938 4829 \n3 6275 14110 24833 \n3 14110 4829 21941 \n3 24833 21941 357 \n3 180 23325 21930 \n3 23325 5521 14114 \n3 21930 14114 4824 \n3 5521 23324 14112 \n3 23324 1127 19267 \n3 14112 19267 3494 \n3 4824 14113 21932 \n3 14113 3494 19271 \n3 21932 19271 779 \n3 1127 23323 19266 \n3 23323 5520 14117 \n3 19266 14117 3492 \n3 5520 23322 14115 \n3 23322 43 24086 \n3 14115 24086 5902 \n3 3492 14116 19268 \n3 14116 5902 24087 \n3 19268 24087 1318 \n3 779 19270 21934 \n3 19270 3493 14120 \n3 21934 14120 4826 \n3 3493 19269 14118 \n3 19269 1318 24088 \n3 14118 24088 5903 \n3 4826 14119 21935 \n3 14119 5903 24089 \n3 21935 24089 277 \n3 357 21940 24834 \n3 21940 4828 14123 \n3 24834 14123 6276 \n3 4828 21939 14121 \n3 21939 780 19273 \n3 14121 19273 3497 \n3 6276 14122 24835 \n3 14122 3497 19277 \n3 24835 19277 1481 \n3 780 21937 19272 \n3 21937 4827 14126 \n3 19272 14126 3495 \n3 4827 21936 14124 \n3 21936 277 24094 \n3 14124 24094 5906 \n3 3495 14125 19274 \n3 14125 5906 24095 \n3 19274 24095 1321 \n3 1481 19276 24836 \n3 19276 3496 14129 \n3 24836 14129 6277 \n3 3496 19275 14127 \n3 19275 1321 24098 \n3 14127 24098 5909 \n3 6277 14128 24837 \n3 14128 5909 24101 \n3 24837 24101 19 \n3 18 24838 24054 \n3 24838 6278 14132 \n3 24054 14132 5886 \n3 6278 24839 14130 \n3 24839 1482 19279 \n3 14130 19279 3500 \n3 5886 14131 24056 \n3 14131 3500 19283 \n3 24056 19283 1310 \n3 1482 24840 19278 \n3 24840 6279 14135 \n3 19278 14135 3498 \n3 6279 24841 14133 \n3 24841 358 21943 \n3 14133 21943 4831 \n3 3498 14134 19280 \n3 14134 4831 21945 \n3 19280 21945 784 \n3 1310 19282 24058 \n3 19282 3499 14138 \n3 24058 14138 5888 \n3 3499 19281 14136 \n3 19281 784 21950 \n3 14136 21950 4835 \n3 5888 14137 24059 \n3 14137 4835 21953 \n3 24059 21953 272 \n3 358 24842 21942 \n3 24842 6280 14141 \n3 21942 14141 4830 \n3 6280 24843 14139 \n3 24843 1483 19285 \n3 14139 19285 3503 \n3 4830 14140 21944 \n3 14140 3503 19289 \n3 21944 19289 782 \n3 1483 24844 19284 \n3 24844 6281 14144 \n3 19284 14144 3501 \n3 6281 24845 14142 \n3 24845 84 23335 \n3 14142 23335 5527 \n3 3501 14143 19286 \n3 14143 5527 23337 \n3 19286 23337 1131 \n3 782 19288 21946 \n3 19288 3502 14147 \n3 21946 14147 4832 \n3 3502 19287 14145 \n3 19287 1131 23340 \n3 14145 23340 5529 \n3 4832 14146 21947 \n3 14146 5529 23341 \n3 21947 23341 184 \n3 272 21952 24062 \n3 21952 4834 14150 \n3 24062 14150 5890 \n3 4834 21951 14148 \n3 21951 783 19291 \n3 14148 19291 3506 \n3 5890 14149 24063 \n3 14149 3506 19295 \n3 24063 19295 1312 \n3 783 21949 19290 \n3 21949 4833 14153 \n3 19290 14153 3504 \n3 4833 21948 14151 \n3 21948 184 23350 \n3 14151 23350 5534 \n3 3504 14152 19292 \n3 14152 5534 23351 \n3 19292 23351 1135 \n3 1312 19294 24064 \n3 19294 3505 14156 \n3 24064 14156 5891 \n3 3505 19293 14154 \n3 19293 1135 23354 \n3 14154 23354 5537 \n3 5891 14155 24065 \n3 14155 5537 23357 \n3 24065 23357 41 \n3 84 24846 23334 \n3 24846 6282 14159 \n3 23334 14159 5526 \n3 6282 24847 14157 \n3 24847 1484 19297 \n3 14157 19297 3509 \n3 5526 14158 23336 \n3 14158 3509 19301 \n3 23336 19301 1130 \n3 1484 24848 19296 \n3 24848 6283 14162 \n3 19296 14162 3507 \n3 6283 24849 14160 \n3 24849 359 21955 \n3 14160 21955 4837 \n3 3507 14161 19298 \n3 14161 4837 21957 \n3 19298 21957 787 \n3 1130 19300 23338 \n3 19300 3508 14165 \n3 23338 14165 5528 \n3 3508 19299 14163 \n3 19299 787 21962 \n3 14163 21962 4841 \n3 5528 14164 23339 \n3 14164 4841 21965 \n3 23339 21965 182 \n3 359 24850 21954 \n3 24850 6284 14168 \n3 21954 14168 4836 \n3 6284 24851 14166 \n3 24851 1485 19303 \n3 14166 19303 3512 \n3 4836 14167 21956 \n3 14167 3512 19307 \n3 21956 19307 785 \n3 1485 24852 19302 \n3 24852 6285 14171 \n3 19302 14171 3510 \n3 6285 24853 14169 \n3 24853 1722 24804 \n3 14169 24804 6260 \n3 3510 14170 19304 \n3 14170 6260 24803 \n3 19304 24803 1473 \n3 785 19306 21958 \n3 19306 3511 14174 \n3 21958 14174 4838 \n3 3511 19305 14172 \n3 19305 1473 24801 \n3 14172 24801 6259 \n3 4838 14173 21959 \n3 14173 6259 24800 \n3 21959 24800 353 \n3 182 21964 23342 \n3 21964 4840 14177 \n3 23342 14177 5530 \n3 4840 21963 14175 \n3 21963 786 19309 \n3 14175 19309 3515 \n3 5530 14176 23343 \n3 14176 3515 19313 \n3 23343 19313 1132 \n3 786 21961 19308 \n3 21961 4839 14180 \n3 19308 14180 3513 \n3 4839 21960 14178 \n3 21960 353 24797 \n3 14178 24797 6257 \n3 3513 14179 19310 \n3 14179 6257 24796 \n3 19310 24796 1472 \n3 1132 19312 23344 \n3 19312 3514 14183 \n3 23344 14183 5531 \n3 3514 19311 14181 \n3 19311 1472 24795 \n3 14181 24795 6256 \n3 5531 14182 23345 \n3 14182 6256 24794 \n3 23345 24794 81 \n3 41 23356 24070 \n3 23356 5536 14186 \n3 24070 14186 5894 \n3 5536 23355 14184 \n3 23355 1134 19315 \n3 14184 19315 3518 \n3 5894 14185 24071 \n3 14185 3518 19319 \n3 24071 19319 1314 \n3 1134 23353 19314 \n3 23353 5535 14189 \n3 19314 14189 3516 \n3 5535 23352 14187 \n3 23352 183 21967 \n3 14187 21967 4843 \n3 3516 14188 19316 \n3 14188 4843 21969 \n3 19316 21969 790 \n3 1314 19318 24072 \n3 19318 3517 14192 \n3 24072 14192 5895 \n3 3517 19317 14190 \n3 19317 790 21974 \n3 14190 21974 4847 \n3 5895 14191 24073 \n3 14191 4847 21977 \n3 24073 21977 274 \n3 183 23349 21966 \n3 23349 5533 14195 \n3 21966 14195 4842 \n3 5533 23348 14193 \n3 23348 1133 19321 \n3 14193 19321 3521 \n3 4842 14194 21968 \n3 14194 3521 19325 \n3 21968 19325 788 \n3 1133 23347 19320 \n3 23347 5532 14198 \n3 19320 14198 3519 \n3 5532 23346 14196 \n3 23346 81 24789 \n3 14196 24789 6253 \n3 3519 14197 19322 \n3 14197 6253 24788 \n3 19322 24788 1471 \n3 788 19324 21970 \n3 19324 3520 14201 \n3 21970 14201 4844 \n3 3520 19323 14199 \n3 19323 1471 24787 \n3 14199 24787 6252 \n3 4844 14200 21971 \n3 14200 6252 24786 \n3 21971 24786 352 \n3 274 21976 24074 \n3 21976 4846 14204 \n3 24074 14204 5896 \n3 4846 21975 14202 \n3 21975 789 19327 \n3 14202 19327 3524 \n3 5896 14203 24075 \n3 14203 3524 19331 \n3 24075 19331 1315 \n3 789 21973 19326 \n3 21973 4845 14207 \n3 19326 14207 3522 \n3 4845 21972 14205 \n3 21972 352 24785 \n3 14205 24785 6251 \n3 3522 14206 19328 \n3 14206 6251 24784 \n3 19328 24784 1470 \n3 1315 19330 24076 \n3 19330 3523 14210 \n3 24076 14210 5897 \n3 3523 19329 14208 \n3 19329 1470 24783 \n3 14208 24783 6250 \n3 5897 14209 24077 \n3 14209 6250 24782 \n3 24077 24782 17 \n3 19 24100 24854 \n3 24100 5908 14213 \n3 24854 14213 6286 \n3 5908 24099 14211 \n3 24099 1320 19333 \n3 14211 19333 3527 \n3 6286 14212 24855 \n3 14212 3527 19337 \n3 24855 19337 1486 \n3 1320 24097 19332 \n3 24097 5907 14216 \n3 19332 14216 3525 \n3 5907 24096 14214 \n3 24096 276 21979 \n3 14214 21979 4849 \n3 3525 14215 19334 \n3 14215 4849 21981 \n3 19334 21981 793 \n3 1486 19336 24856 \n3 19336 3526 14219 \n3 24856 14219 6287 \n3 3526 19335 14217 \n3 19335 793 21986 \n3 14217 21986 4853 \n3 6287 14218 24857 \n3 14218 4853 21989 \n3 24857 21989 360 \n3 276 24093 21978 \n3 24093 5905 14222 \n3 21978 14222 4848 \n3 5905 24092 14220 \n3 24092 1319 19339 \n3 14220 19339 3530 \n3 4848 14221 21980 \n3 14221 3530 19343 \n3 21980 19343 791 \n3 1319 24091 19338 \n3 24091 5904 14225 \n3 19338 14225 3528 \n3 5904 24090 14223 \n3 24090 42 23359 \n3 14223 23359 5539 \n3 3528 14224 19340 \n3 14224 5539 23361 \n3 19340 23361 1137 \n3 791 19342 21982 \n3 19342 3529 14228 \n3 21982 14228 4850 \n3 3529 19341 14226 \n3 19341 1137 23364 \n3 14226 23364 5541 \n3 4850 14227 21983 \n3 14227 5541 23365 \n3 21983 23365 187 \n3 360 21988 24858 \n3 21988 4852 14231 \n3 24858 14231 6288 \n3 4852 21987 14229 \n3 21987 792 19345 \n3 14229 19345 3533 \n3 6288 14230 24859 \n3 14230 3533 19349 \n3 24859 19349 1487 \n3 792 21985 19344 \n3 21985 4851 14234 \n3 19344 14234 3531 \n3 4851 21984 14232 \n3 21984 187 23374 \n3 14232 23374 5546 \n3 3531 14233 19346 \n3 14233 5546 23375 \n3 19346 23375 1141 \n3 1487 19348 24860 \n3 19348 3532 14237 \n3 24860 14237 6289 \n3 3532 19347 14235 \n3 19347 1141 23378 \n3 14235 23378 5549 \n3 6289 14236 24861 \n3 14236 5549 23381 \n3 24861 23381 85 \n3 42 24085 23358 \n3 24085 5901 14240 \n3 23358 14240 5538 \n3 5901 24084 14238 \n3 24084 1317 19351 \n3 14238 19351 3536 \n3 5538 14239 23360 \n3 14239 3536 19355 \n3 23360 19355 1136 \n3 1317 24083 19350 \n3 24083 5900 14243 \n3 19350 14243 3534 \n3 5900 24082 14241 \n3 24082 275 21991 \n3 14241 21991 4855 \n3 3534 14242 19352 \n3 14242 4855 21993 \n3 19352 21993 796 \n3 1136 19354 23362 \n3 19354 3535 14246 \n3 23362 14246 5540 \n3 3535 19353 14244 \n3 19353 796 21998 \n3 14244 21998 4859 \n3 5540 14245 23363 \n3 14245 4859 22001 \n3 23363 22001 185 \n3 275 24081 21990 \n3 24081 5899 14249 \n3 21990 14249 4854 \n3 5899 24080 14247 \n3 24080 1316 19357 \n3 14247 19357 3539 \n3 4854 14248 21992 \n3 14248 3539 19361 \n3 21992 19361 794 \n3 1316 24079 19356 \n3 24079 5898 14252 \n3 19356 14252 3537 \n3 5898 24078 14250 \n3 24078 17 24773 \n3 14250 24773 6245 \n3 3537 14251 19358 \n3 14251 6245 24772 \n3 19358 24772 1469 \n3 794 19360 21994 \n3 19360 3538 14255 \n3 21994 14255 4856 \n3 3538 19359 14253 \n3 19359 1469 24771 \n3 14253 24771 6244 \n3 4856 14254 21995 \n3 14254 6244 24770 \n3 21995 24770 351 \n3 185 22000 23366 \n3 22000 4858 14258 \n3 23366 14258 5542 \n3 4858 21999 14256 \n3 21999 795 19363 \n3 14256 19363 3542 \n3 5542 14257 23367 \n3 14257 3542 19367 \n3 23367 19367 1138 \n3 795 21997 19362 \n3 21997 4857 14261 \n3 19362 14261 3540 \n3 4857 21996 14259 \n3 21996 351 24769 \n3 14259 24769 6243 \n3 3540 14260 19364 \n3 14260 6243 24768 \n3 19364 24768 1468 \n3 1138 19366 23368 \n3 19366 3541 14264 \n3 23368 14264 5543 \n3 3541 19365 14262 \n3 19365 1468 24767 \n3 14262 24767 6242 \n3 5543 14263 23369 \n3 14263 6242 24766 \n3 23369 24766 80 \n3 85 23380 24862 \n3 23380 5548 14267 \n3 24862 14267 6290 \n3 5548 23379 14265 \n3 23379 1140 19369 \n3 14265 19369 3545 \n3 6290 14266 24863 \n3 14266 3545 19373 \n3 24863 19373 1488 \n3 1140 23377 19368 \n3 23377 5547 14270 \n3 19368 14270 3543 \n3 5547 23376 14268 \n3 23376 186 22003 \n3 14268 22003 4861 \n3 3543 14269 19370 \n3 14269 4861 22005 \n3 19370 22005 799 \n3 1488 19372 24864 \n3 19372 3544 14273 \n3 24864 14273 6291 \n3 3544 19371 14271 \n3 19371 799 22010 \n3 14271 22010 4865 \n3 6291 14272 24865 \n3 14272 4865 22013 \n3 24865 22013 361 \n3 186 23373 22002 \n3 23373 5545 14276 \n3 22002 14276 4860 \n3 5545 23372 14274 \n3 23372 1139 19375 \n3 14274 19375 3548 \n3 4860 14275 22004 \n3 14275 3548 19379 \n3 22004 19379 797 \n3 1139 23371 19374 \n3 23371 5544 14279 \n3 19374 14279 3546 \n3 5544 23370 14277 \n3 23370 80 24765 \n3 14277 24765 6241 \n3 3546 14278 19376 \n3 14278 6241 24764 \n3 19376 24764 1467 \n3 797 19378 22006 \n3 19378 3547 14282 \n3 22006 14282 4862 \n3 3547 19377 14280 \n3 19377 1467 24763 \n3 14280 24763 6240 \n3 4862 14281 22007 \n3 14281 6240 24762 \n3 22007 24762 350 \n3 361 22012 24866 \n3 22012 4864 14285 \n3 24866 14285 6292 \n3 4864 22011 14283 \n3 22011 798 19381 \n3 14283 19381 3551 \n3 6292 14284 24867 \n3 14284 3551 19385 \n3 24867 19385 1489 \n3 798 22009 19380 \n3 22009 4863 14288 \n3 19380 14288 3549 \n3 4863 22008 14286 \n3 22008 350 24761 \n3 14286 24761 6239 \n3 3549 14287 19382 \n3 14287 6239 24760 \n3 19382 24760 1466 \n3 1489 19384 24868 \n3 19384 3550 14291 \n3 24868 14291 6293 \n3 3550 19383 14289 \n3 19383 1466 24759 \n3 14289 24759 6238 \n3 6293 14290 24869 \n3 14290 6238 24758 \n3 24869 24758 1721 \n3 7 24870 24871 \n3 24870 6294 14294 \n3 24871 14294 6295 \n3 6294 24872 14292 \n3 24872 1490 19387 \n3 14292 19387 3554 \n3 6295 14293 24873 \n3 14293 3554 19391 \n3 24873 19391 1491 \n3 1490 24874 19386 \n3 24874 6296 14297 \n3 19386 14297 3552 \n3 6296 24875 14295 \n3 24875 362 22015 \n3 14295 22015 4867 \n3 3552 14296 19388 \n3 14296 4867 22017 \n3 19388 22017 802 \n3 1491 19390 24876 \n3 19390 3553 14300 \n3 24876 14300 6297 \n3 3553 19389 14298 \n3 19389 802 22022 \n3 14298 22022 4871 \n3 6297 14299 24877 \n3 14299 4871 22025 \n3 24877 22025 363 \n3 362 24878 22014 \n3 24878 6298 14303 \n3 22014 14303 4866 \n3 6298 24879 14301 \n3 24879 1492 19393 \n3 14301 19393 3557 \n3 4866 14302 22016 \n3 14302 3557 19397 \n3 22016 19397 800 \n3 1492 24880 19392 \n3 24880 6299 14306 \n3 19392 14306 3555 \n3 6299 24881 14304 \n3 24881 86 23383 \n3 14304 23383 5551 \n3 3555 14305 19394 \n3 14305 5551 23385 \n3 19394 23385 1143 \n3 800 19396 22018 \n3 19396 3556 14309 \n3 22018 14309 4868 \n3 3556 19395 14307 \n3 19395 1143 23388 \n3 14307 23388 5553 \n3 4868 14308 22019 \n3 14308 5553 23389 \n3 22019 23389 190 \n3 363 22024 24882 \n3 22024 4870 14312 \n3 24882 14312 6300 \n3 4870 22023 14310 \n3 22023 801 19399 \n3 14310 19399 3560 \n3 6300 14311 24883 \n3 14311 3560 19403 \n3 24883 19403 1493 \n3 801 22021 19398 \n3 22021 4869 14315 \n3 19398 14315 3558 \n3 4869 22020 14313 \n3 22020 190 23398 \n3 14313 23398 5558 \n3 3558 14314 19400 \n3 14314 5558 23399 \n3 19400 23399 1147 \n3 1493 19402 24884 \n3 19402 3559 14318 \n3 24884 14318 6301 \n3 3559 19401 14316 \n3 19401 1147 23402 \n3 14316 23402 5561 \n3 6301 14317 24885 \n3 14317 5561 23405 \n3 24885 23405 87 \n3 86 24886 23382 \n3 24886 6302 14321 \n3 23382 14321 5550 \n3 6302 24887 14319 \n3 24887 1494 19405 \n3 14319 19405 3563 \n3 5550 14320 23384 \n3 14320 3563 19409 \n3 23384 19409 1142 \n3 1494 24888 19404 \n3 24888 6303 14324 \n3 19404 14324 3561 \n3 6303 24889 14322 \n3 24889 364 22027 \n3 14322 22027 4873 \n3 3561 14323 19406 \n3 14323 4873 22029 \n3 19406 22029 805 \n3 1142 19408 23386 \n3 19408 3562 14327 \n3 23386 14327 5552 \n3 3562 19407 14325 \n3 19407 805 22034 \n3 14325 22034 4877 \n3 5552 14326 23387 \n3 14326 4877 22037 \n3 23387 22037 188 \n3 364 24890 22026 \n3 24890 6304 14330 \n3 22026 14330 4872 \n3 6304 24891 14328 \n3 24891 1495 19411 \n3 14328 19411 3566 \n3 4872 14329 22028 \n3 14329 3566 19415 \n3 22028 19415 803 \n3 1495 24892 19410 \n3 24892 6305 14333 \n3 19410 14333 3564 \n3 6305 24893 14331 \n3 24893 20 24103 \n3 14331 24103 5911 \n3 3564 14332 19412 \n3 14332 5911 24105 \n3 19412 24105 1323 \n3 803 19414 22030 \n3 19414 3565 14336 \n3 22030 14336 4874 \n3 3565 19413 14334 \n3 19413 1323 24108 \n3 14334 24108 5913 \n3 4874 14335 22031 \n3 14335 5913 24109 \n3 22031 24109 279 \n3 188 22036 23390 \n3 22036 4876 14339 \n3 23390 14339 5554 \n3 4876 22035 14337 \n3 22035 804 19417 \n3 14337 19417 3569 \n3 5554 14338 23391 \n3 14338 3569 19421 \n3 23391 19421 1144 \n3 804 22033 19416 \n3 22033 4875 14342 \n3 19416 14342 3567 \n3 4875 22032 14340 \n3 22032 279 24114 \n3 14340 24114 5916 \n3 3567 14341 19418 \n3 14341 5916 24115 \n3 19418 24115 1325 \n3 1144 19420 23392 \n3 19420 3568 14345 \n3 23392 14345 5555 \n3 3568 19419 14343 \n3 19419 1325 24116 \n3 14343 24116 5917 \n3 5555 14344 23393 \n3 14344 5917 24117 \n3 23393 24117 46 \n3 87 23404 24894 \n3 23404 5560 14348 \n3 24894 14348 6306 \n3 5560 23403 14346 \n3 23403 1146 19423 \n3 14346 19423 3572 \n3 6306 14347 24895 \n3 14347 3572 19427 \n3 24895 19427 1496 \n3 1146 23401 19422 \n3 23401 5559 14351 \n3 19422 14351 3570 \n3 5559 23400 14349 \n3 23400 189 22039 \n3 14349 22039 4879 \n3 3570 14350 19424 \n3 14350 4879 22041 \n3 19424 22041 808 \n3 1496 19426 24896 \n3 19426 3571 14354 \n3 24896 14354 6307 \n3 3571 19425 14352 \n3 19425 808 22046 \n3 14352 22046 4883 \n3 6307 14353 24897 \n3 14353 4883 22049 \n3 24897 22049 365 \n3 189 23397 22038 \n3 23397 5557 14357 \n3 22038 14357 4878 \n3 5557 23396 14355 \n3 23396 1145 19429 \n3 14355 19429 3575 \n3 4878 14356 22040 \n3 14356 3575 19433 \n3 22040 19433 806 \n3 1145 23395 19428 \n3 23395 5556 14360 \n3 19428 14360 3573 \n3 5556 23394 14358 \n3 23394 46 24134 \n3 14358 24134 5926 \n3 3573 14359 19430 \n3 14359 5926 24135 \n3 19430 24135 1330 \n3 806 19432 22042 \n3 19432 3574 14363 \n3 22042 14363 4880 \n3 3574 19431 14361 \n3 19431 1330 24136 \n3 14361 24136 5927 \n3 4880 14362 22043 \n3 14362 5927 24137 \n3 22043 24137 283 \n3 365 22048 24898 \n3 22048 4882 14366 \n3 24898 14366 6308 \n3 4882 22047 14364 \n3 22047 807 19435 \n3 14364 19435 3578 \n3 6308 14365 24899 \n3 14365 3578 19439 \n3 24899 19439 1497 \n3 807 22045 19434 \n3 22045 4881 14369 \n3 19434 14369 3576 \n3 4881 22044 14367 \n3 22044 283 24142 \n3 14367 24142 5930 \n3 3576 14368 19436 \n3 14368 5930 24143 \n3 19436 24143 1333 \n3 1497 19438 24900 \n3 19438 3577 14372 \n3 24900 14372 6309 \n3 3577 19437 14370 \n3 19437 1333 24146 \n3 14370 24146 5933 \n3 6309 14371 24901 \n3 14371 5933 24149 \n3 24901 24149 22 \n3 20 24902 24102 \n3 24902 6310 14375 \n3 24102 14375 5910 \n3 6310 24903 14373 \n3 24903 1498 19441 \n3 14373 19441 3581 \n3 5910 14374 24104 \n3 14374 3581 19445 \n3 24104 19445 1322 \n3 1498 24904 19440 \n3 24904 6311 14378 \n3 19440 14378 3579 \n3 6311 24905 14376 \n3 24905 366 22051 \n3 14376 22051 4885 \n3 3579 14377 19442 \n3 14377 4885 22053 \n3 19442 22053 811 \n3 1322 19444 24106 \n3 19444 3580 14381 \n3 24106 14381 5912 \n3 3580 19443 14379 \n3 19443 811 22058 \n3 14379 22058 4889 \n3 5912 14380 24107 \n3 14380 4889 22061 \n3 24107 22061 278 \n3 366 24906 22050 \n3 24906 6312 14384 \n3 22050 14384 4884 \n3 6312 24907 14382 \n3 24907 1499 19447 \n3 14382 19447 3584 \n3 4884 14383 22052 \n3 14383 3584 19451 \n3 22052 19451 809 \n3 1499 24908 19446 \n3 24908 6313 14387 \n3 19446 14387 3582 \n3 6313 24909 14385 \n3 24909 88 23407 \n3 14385 23407 5563 \n3 3582 14386 19448 \n3 14386 5563 23409 \n3 19448 23409 1149 \n3 809 19450 22054 \n3 19450 3583 14390 \n3 22054 14390 4886 \n3 3583 19449 14388 \n3 19449 1149 23412 \n3 14388 23412 5565 \n3 4886 14389 22055 \n3 14389 5565 23413 \n3 22055 23413 193 \n3 278 22060 24110 \n3 22060 4888 14393 \n3 24110 14393 5914 \n3 4888 22059 14391 \n3 22059 810 19453 \n3 14391 19453 3587 \n3 5914 14392 24111 \n3 14392 3587 19457 \n3 24111 19457 1324 \n3 810 22057 19452 \n3 22057 4887 14396 \n3 19452 14396 3585 \n3 4887 22056 14394 \n3 22056 193 23422 \n3 14394 23422 5570 \n3 3585 14395 19454 \n3 14395 5570 23423 \n3 19454 23423 1153 \n3 1324 19456 24112 \n3 19456 3586 14399 \n3 24112 14399 5915 \n3 3586 19455 14397 \n3 19455 1153 23426 \n3 14397 23426 5573 \n3 5915 14398 24113 \n3 14398 5573 23429 \n3 24113 23429 44 \n3 88 24910 23406 \n3 24910 6314 14402 \n3 23406 14402 5562 \n3 6314 24911 14400 \n3 24911 1500 19459 \n3 14400 19459 3590 \n3 5562 14401 23408 \n3 14401 3590 19463 \n3 23408 19463 1148 \n3 1500 24912 19458 \n3 24912 6315 14405 \n3 19458 14405 3588 \n3 6315 24913 14403 \n3 24913 367 22063 \n3 14403 22063 4891 \n3 3588 14404 19460 \n3 14404 4891 22065 \n3 19460 22065 814 \n3 1148 19462 23410 \n3 19462 3589 14408 \n3 23410 14408 5564 \n3 3589 19461 14406 \n3 19461 814 22070 \n3 14406 22070 4895 \n3 5564 14407 23411 \n3 14407 4895 22073 \n3 23411 22073 191 \n3 367 24914 22062 \n3 24914 6316 14411 \n3 22062 14411 4890 \n3 6316 24915 14409 \n3 24915 1501 19465 \n3 14409 19465 3593 \n3 4890 14410 22064 \n3 14410 3593 19469 \n3 22064 19469 812 \n3 1501 24916 19464 \n3 24916 6317 14414 \n3 19464 14414 3591 \n3 6317 24917 14412 \n3 24917 1723 24918 \n3 14412 24918 6318 \n3 3591 14413 19466 \n3 14413 6318 24919 \n3 19466 24919 1502 \n3 812 19468 22066 \n3 19468 3592 14417 \n3 22066 14417 4892 \n3 3592 19467 14415 \n3 19467 1502 24920 \n3 14415 24920 6319 \n3 4892 14416 22067 \n3 14416 6319 24921 \n3 22067 24921 368 \n3 191 22072 23414 \n3 22072 4894 14420 \n3 23414 14420 5566 \n3 4894 22071 14418 \n3 22071 813 19471 \n3 14418 19471 3596 \n3 5566 14419 23415 \n3 14419 3596 19475 \n3 23415 19475 1150 \n3 813 22069 19470 \n3 22069 4893 14423 \n3 19470 14423 3594 \n3 4893 22068 14421 \n3 22068 368 24922 \n3 14421 24922 6320 \n3 3594 14422 19472 \n3 14422 6320 24923 \n3 19472 24923 1503 \n3 1150 19474 23416 \n3 19474 3595 14426 \n3 23416 14426 5567 \n3 3595 19473 14424 \n3 19473 1503 24924 \n3 14424 24924 6321 \n3 5567 14425 23417 \n3 14425 6321 24925 \n3 23417 24925 89 \n3 44 23428 24118 \n3 23428 5572 14429 \n3 24118 14429 5918 \n3 5572 23427 14427 \n3 23427 1152 19477 \n3 14427 19477 3599 \n3 5918 14428 24119 \n3 14428 3599 19481 \n3 24119 19481 1326 \n3 1152 23425 19476 \n3 23425 5571 14432 \n3 19476 14432 3597 \n3 5571 23424 14430 \n3 23424 192 22075 \n3 14430 22075 4897 \n3 3597 14431 19478 \n3 14431 4897 22077 \n3 19478 22077 817 \n3 1326 19480 24120 \n3 19480 3598 14435 \n3 24120 14435 5919 \n3 3598 19479 14433 \n3 19479 817 22082 \n3 14433 22082 4901 \n3 5919 14434 24121 \n3 14434 4901 22085 \n3 24121 22085 280 \n3 192 23421 22074 \n3 23421 5569 14438 \n3 22074 14438 4896 \n3 5569 23420 14436 \n3 23420 1151 19483 \n3 14436 19483 3602 \n3 4896 14437 22076 \n3 14437 3602 19487 \n3 22076 19487 815 \n3 1151 23419 19482 \n3 23419 5568 14441 \n3 19482 14441 3600 \n3 5568 23418 14439 \n3 23418 89 24926 \n3 14439 24926 6322 \n3 3600 14440 19484 \n3 14440 6322 24927 \n3 19484 24927 1504 \n3 815 19486 22078 \n3 19486 3601 14444 \n3 22078 14444 4898 \n3 3601 19485 14442 \n3 19485 1504 24928 \n3 14442 24928 6323 \n3 4898 14443 22079 \n3 14443 6323 24929 \n3 22079 24929 369 \n3 280 22084 24122 \n3 22084 4900 14447 \n3 24122 14447 5920 \n3 4900 22083 14445 \n3 22083 816 19489 \n3 14445 19489 3605 \n3 5920 14446 24123 \n3 14446 3605 19493 \n3 24123 19493 1327 \n3 816 22081 19488 \n3 22081 4899 14450 \n3 19488 14450 3603 \n3 4899 22080 14448 \n3 22080 369 24930 \n3 14448 24930 6324 \n3 3603 14449 19490 \n3 14449 6324 24931 \n3 19490 24931 1505 \n3 1327 19492 24124 \n3 19492 3604 14453 \n3 24124 14453 5921 \n3 3604 19491 14451 \n3 19491 1505 24932 \n3 14451 24932 6325 \n3 5921 14452 24125 \n3 14452 6325 24933 \n3 24125 24933 21 \n3 22 24148 24934 \n3 24148 5932 14456 \n3 24934 14456 6326 \n3 5932 24147 14454 \n3 24147 1332 19495 \n3 14454 19495 3608 \n3 6326 14455 24935 \n3 14455 3608 19499 \n3 24935 19499 1506 \n3 1332 24145 19494 \n3 24145 5931 14459 \n3 19494 14459 3606 \n3 5931 24144 14457 \n3 24144 282 22087 \n3 14457 22087 4903 \n3 3606 14458 19496 \n3 14458 4903 22089 \n3 19496 22089 820 \n3 1506 19498 24936 \n3 19498 3607 14462 \n3 24936 14462 6327 \n3 3607 19497 14460 \n3 19497 820 22094 \n3 14460 22094 4907 \n3 6327 14461 24937 \n3 14461 4907 22097 \n3 24937 22097 370 \n3 282 24141 22086 \n3 24141 5929 14465 \n3 22086 14465 4902 \n3 5929 24140 14463 \n3 24140 1331 19501 \n3 14463 19501 3611 \n3 4902 14464 22088 \n3 14464 3611 19505 \n3 22088 19505 818 \n3 1331 24139 19500 \n3 24139 5928 14468 \n3 19500 14468 3609 \n3 5928 24138 14466 \n3 24138 45 23431 \n3 14466 23431 5575 \n3 3609 14467 19502 \n3 14467 5575 23433 \n3 19502 23433 1155 \n3 818 19504 22090 \n3 19504 3610 14471 \n3 22090 14471 4904 \n3 3610 19503 14469 \n3 19503 1155 23436 \n3 14469 23436 5577 \n3 4904 14470 22091 \n3 14470 5577 23437 \n3 22091 23437 196 \n3 370 22096 24938 \n3 22096 4906 14474 \n3 24938 14474 6328 \n3 4906 22095 14472 \n3 22095 819 19507 \n3 14472 19507 3614 \n3 6328 14473 24939 \n3 14473 3614 19511 \n3 24939 19511 1507 \n3 819 22093 19506 \n3 22093 4905 14477 \n3 19506 14477 3612 \n3 4905 22092 14475 \n3 22092 196 23446 \n3 14475 23446 5582 \n3 3612 14476 19508 \n3 14476 5582 23447 \n3 19508 23447 1159 \n3 1507 19510 24940 \n3 19510 3613 14480 \n3 24940 14480 6329 \n3 3613 19509 14478 \n3 19509 1159 23450 \n3 14478 23450 5585 \n3 6329 14479 24941 \n3 14479 5585 23453 \n3 24941 23453 91 \n3 45 24133 23430 \n3 24133 5925 14483 \n3 23430 14483 5574 \n3 5925 24132 14481 \n3 24132 1329 19513 \n3 14481 19513 3617 \n3 5574 14482 23432 \n3 14482 3617 19517 \n3 23432 19517 1154 \n3 1329 24131 19512 \n3 24131 5924 14486 \n3 19512 14486 3615 \n3 5924 24130 14484 \n3 24130 281 22099 \n3 14484 22099 4909 \n3 3615 14485 19514 \n3 14485 4909 22101 \n3 19514 22101 823 \n3 1154 19516 23434 \n3 19516 3616 14489 \n3 23434 14489 5576 \n3 3616 19515 14487 \n3 19515 823 22106 \n3 14487 22106 4913 \n3 5576 14488 23435 \n3 14488 4913 22109 \n3 23435 22109 194 \n3 281 24129 22098 \n3 24129 5923 14492 \n3 22098 14492 4908 \n3 5923 24128 14490 \n3 24128 1328 19519 \n3 14490 19519 3620 \n3 4908 14491 22100 \n3 14491 3620 19523 \n3 22100 19523 821 \n3 1328 24127 19518 \n3 24127 5922 14495 \n3 19518 14495 3618 \n3 5922 24126 14493 \n3 24126 21 24942 \n3 14493 24942 6330 \n3 3618 14494 19520 \n3 14494 6330 24943 \n3 19520 24943 1508 \n3 821 19522 22102 \n3 19522 3619 14498 \n3 22102 14498 4910 \n3 3619 19521 14496 \n3 19521 1508 24944 \n3 14496 24944 6331 \n3 4910 14497 22103 \n3 14497 6331 24945 \n3 22103 24945 371 \n3 194 22108 23438 \n3 22108 4912 14501 \n3 23438 14501 5578 \n3 4912 22107 14499 \n3 22107 822 19525 \n3 14499 19525 3623 \n3 5578 14500 23439 \n3 14500 3623 19529 \n3 23439 19529 1156 \n3 822 22105 19524 \n3 22105 4911 14504 \n3 19524 14504 3621 \n3 4911 22104 14502 \n3 22104 371 24946 \n3 14502 24946 6332 \n3 3621 14503 19526 \n3 14503 6332 24947 \n3 19526 24947 1509 \n3 1156 19528 23440 \n3 19528 3622 14507 \n3 23440 14507 5579 \n3 3622 19527 14505 \n3 19527 1509 24948 \n3 14505 24948 6333 \n3 5579 14506 23441 \n3 14506 6333 24949 \n3 23441 24949 90 \n3 91 23452 24950 \n3 23452 5584 14510 \n3 24950 14510 6334 \n3 5584 23451 14508 \n3 23451 1158 19531 \n3 14508 19531 3626 \n3 6334 14509 24951 \n3 14509 3626 19535 \n3 24951 19535 1510 \n3 1158 23449 19530 \n3 23449 5583 14513 \n3 19530 14513 3624 \n3 5583 23448 14511 \n3 23448 195 22111 \n3 14511 22111 4915 \n3 3624 14512 19532 \n3 14512 4915 22113 \n3 19532 22113 826 \n3 1510 19534 24952 \n3 19534 3625 14516 \n3 24952 14516 6335 \n3 3625 19533 14514 \n3 19533 826 22118 \n3 14514 22118 4919 \n3 6335 14515 24953 \n3 14515 4919 22121 \n3 24953 22121 373 \n3 195 23445 22110 \n3 23445 5581 14519 \n3 22110 14519 4914 \n3 5581 23444 14517 \n3 23444 1157 19537 \n3 14517 19537 3629 \n3 4914 14518 22112 \n3 14518 3629 19541 \n3 22112 19541 824 \n3 1157 23443 19536 \n3 23443 5580 14522 \n3 19536 14522 3627 \n3 5580 23442 14520 \n3 23442 90 24954 \n3 14520 24954 6336 \n3 3627 14521 19538 \n3 14521 6336 24955 \n3 19538 24955 1511 \n3 824 19540 22114 \n3 19540 3628 14525 \n3 22114 14525 4916 \n3 3628 19539 14523 \n3 19539 1511 24956 \n3 14523 24956 6337 \n3 4916 14524 22115 \n3 14524 6337 24957 \n3 22115 24957 372 \n3 373 22120 24958 \n3 22120 4918 14528 \n3 24958 14528 6338 \n3 4918 22119 14526 \n3 22119 825 19543 \n3 14526 19543 3632 \n3 6338 14527 24959 \n3 14527 3632 19547 \n3 24959 19547 1513 \n3 825 22117 19542 \n3 22117 4917 14531 \n3 19542 14531 3630 \n3 4917 22116 14529 \n3 22116 372 24960 \n3 14529 24960 6339 \n3 3630 14530 19544 \n3 14530 6339 24961 \n3 19544 24961 1512 \n3 1513 19546 24962 \n3 19546 3631 14534 \n3 24962 14534 6341 \n3 3631 19545 14532 \n3 19545 1512 24963 \n3 14532 24963 6340 \n3 6341 14533 24965 \n3 14533 6340 24964 \n3 24965 24964 1724 \n3 1725 24966 24967 \n3 24966 6342 14537 \n3 24967 14537 6343 \n3 6342 24968 14535 \n3 24968 1562 19549 \n3 14535 19549 3635 \n3 6343 14536 24969 \n3 14536 3635 19553 \n3 24969 19553 1563 \n3 1562 24970 19548 \n3 24970 6344 14540 \n3 19548 14540 3633 \n3 6344 24971 14538 \n3 24971 1646 22123 \n3 14538 22123 4921 \n3 3633 14539 19550 \n3 14539 4921 22125 \n3 19550 22125 829 \n3 1563 19552 24972 \n3 19552 3634 14543 \n3 24972 14543 6345 \n3 3634 19551 14541 \n3 19551 829 22130 \n3 14541 22130 4925 \n3 6345 14542 24973 \n3 14542 4925 22133 \n3 24973 22133 1647 \n3 1646 24974 22122 \n3 24974 6346 14546 \n3 22122 14546 4920 \n3 6346 24975 14544 \n3 24975 1564 19555 \n3 14544 19555 3638 \n3 4920 14545 22124 \n3 14545 3638 19559 \n3 22124 19559 827 \n3 1564 24976 19554 \n3 24976 6347 14549 \n3 19554 14549 3636 \n3 6347 24977 14547 \n3 24977 1688 23455 \n3 14547 23455 5587 \n3 3636 14548 19556 \n3 14548 5587 23457 \n3 19556 23457 1161 \n3 827 19558 22126 \n3 19558 3637 14552 \n3 22126 14552 4922 \n3 3637 19557 14550 \n3 19557 1161 23460 \n3 14550 23460 5589 \n3 4922 14551 22127 \n3 14551 5589 23461 \n3 22127 23461 199 \n3 1647 22132 24978 \n3 22132 4924 14555 \n3 24978 14555 6348 \n3 4924 22131 14553 \n3 22131 828 19561 \n3 14553 19561 3641 \n3 6348 14554 24979 \n3 14554 3641 19565 \n3 24979 19565 1565 \n3 828 22129 19560 \n3 22129 4923 14558 \n3 19560 14558 3639 \n3 4923 22128 14556 \n3 22128 199 23470 \n3 14556 23470 5594 \n3 3639 14557 19562 \n3 14557 5594 23471 \n3 19562 23471 1165 \n3 1565 19564 24980 \n3 19564 3640 14561 \n3 24980 14561 6349 \n3 3640 19563 14559 \n3 19563 1165 23474 \n3 14559 23474 5597 \n3 6349 14560 24981 \n3 14560 5597 23477 \n3 24981 23477 1689 \n3 1688 24982 23454 \n3 24982 6350 14564 \n3 23454 14564 5586 \n3 6350 24983 14562 \n3 24983 1566 19567 \n3 14562 19567 3644 \n3 5586 14563 23456 \n3 14563 3644 19571 \n3 23456 19571 1160 \n3 1566 24984 19566 \n3 24984 6351 14567 \n3 19566 14567 3642 \n3 6351 24985 14565 \n3 24985 1648 22135 \n3 14565 22135 4927 \n3 3642 14566 19568 \n3 14566 4927 22137 \n3 19568 22137 832 \n3 1160 19570 23458 \n3 19570 3643 14570 \n3 23458 14570 5588 \n3 3643 19569 14568 \n3 19569 832 22142 \n3 14568 22142 4931 \n3 5588 14569 23459 \n3 14569 4931 22145 \n3 23459 22145 197 \n3 1648 24986 22134 \n3 24986 6352 14573 \n3 22134 14573 4926 \n3 6352 24987 14571 \n3 24987 1567 19573 \n3 14571 19573 3647 \n3 4926 14572 22136 \n3 14572 3647 19577 \n3 22136 19577 830 \n3 1567 24988 19572 \n3 24988 6353 14576 \n3 19572 14576 3645 \n3 6353 24989 14574 \n3 24989 1709 24151 \n3 14574 24151 5935 \n3 3645 14575 19574 \n3 14575 5935 24153 \n3 19574 24153 1335 \n3 830 19576 22138 \n3 19576 3646 14579 \n3 22138 14579 4928 \n3 3646 19575 14577 \n3 19575 1335 24156 \n3 14577 24156 5937 \n3 4928 14578 22139 \n3 14578 5937 24157 \n3 22139 24157 285 \n3 197 22144 23462 \n3 22144 4930 14582 \n3 23462 14582 5590 \n3 4930 22143 14580 \n3 22143 831 19579 \n3 14580 19579 3650 \n3 5590 14581 23463 \n3 14581 3650 19583 \n3 23463 19583 1162 \n3 831 22141 19578 \n3 22141 4929 14585 \n3 19578 14585 3648 \n3 4929 22140 14583 \n3 22140 285 24162 \n3 14583 24162 5940 \n3 3648 14584 19580 \n3 14584 5940 24163 \n3 19580 24163 1337 \n3 1162 19582 23464 \n3 19582 3649 14588 \n3 23464 14588 5591 \n3 3649 19581 14586 \n3 19581 1337 24164 \n3 14586 24164 5941 \n3 5591 14587 23465 \n3 14587 5941 24165 \n3 23465 24165 49 \n3 1689 23476 24990 \n3 23476 5596 14591 \n3 24990 14591 6354 \n3 5596 23475 14589 \n3 23475 1164 19585 \n3 14589 19585 3653 \n3 6354 14590 24991 \n3 14590 3653 19589 \n3 24991 19589 1568 \n3 1164 23473 19584 \n3 23473 5595 14594 \n3 19584 14594 3651 \n3 5595 23472 14592 \n3 23472 198 22147 \n3 14592 22147 4933 \n3 3651 14593 19586 \n3 14593 4933 22149 \n3 19586 22149 835 \n3 1568 19588 24992 \n3 19588 3652 14597 \n3 24992 14597 6355 \n3 3652 19587 14595 \n3 19587 835 22154 \n3 14595 22154 4937 \n3 6355 14596 24993 \n3 14596 4937 22157 \n3 24993 22157 1649 \n3 198 23469 22146 \n3 23469 5593 14600 \n3 22146 14600 4932 \n3 5593 23468 14598 \n3 23468 1163 19591 \n3 14598 19591 3656 \n3 4932 14599 22148 \n3 14599 3656 19595 \n3 22148 19595 833 \n3 1163 23467 19590 \n3 23467 5592 14603 \n3 19590 14603 3654 \n3 5592 23466 14601 \n3 23466 49 24182 \n3 14601 24182 5950 \n3 3654 14602 19592 \n3 14602 5950 24183 \n3 19592 24183 1342 \n3 833 19594 22150 \n3 19594 3655 14606 \n3 22150 14606 4934 \n3 3655 19593 14604 \n3 19593 1342 24184 \n3 14604 24184 5951 \n3 4934 14605 22151 \n3 14605 5951 24185 \n3 22151 24185 289 \n3 1649 22156 24994 \n3 22156 4936 14609 \n3 24994 14609 6356 \n3 4936 22155 14607 \n3 22155 834 19597 \n3 14607 19597 3659 \n3 6356 14608 24995 \n3 14608 3659 19601 \n3 24995 19601 1569 \n3 834 22153 19596 \n3 22153 4935 14612 \n3 19596 14612 3657 \n3 4935 22152 14610 \n3 22152 289 24190 \n3 14610 24190 5954 \n3 3657 14611 19598 \n3 14611 5954 24191 \n3 19598 24191 1345 \n3 1569 19600 24996 \n3 19600 3658 14615 \n3 24996 14615 6357 \n3 3658 19599 14613 \n3 19599 1345 24194 \n3 14613 24194 5957 \n3 6357 14614 24997 \n3 14614 5957 24197 \n3 24997 24197 1710 \n3 1709 24998 24150 \n3 24998 6358 14618 \n3 24150 14618 5934 \n3 6358 24999 14616 \n3 24999 1570 19603 \n3 14616 19603 3662 \n3 5934 14617 24152 \n3 14617 3662 19607 \n3 24152 19607 1334 \n3 1570 25000 19602 \n3 25000 6359 14621 \n3 19602 14621 3660 \n3 6359 25001 14619 \n3 25001 1650 22159 \n3 14619 22159 4939 \n3 3660 14620 19604 \n3 14620 4939 22161 \n3 19604 22161 838 \n3 1334 19606 24154 \n3 19606 3661 14624 \n3 24154 14624 5936 \n3 3661 19605 14622 \n3 19605 838 22166 \n3 14622 22166 4943 \n3 5936 14623 24155 \n3 14623 4943 22169 \n3 24155 22169 284 \n3 1650 25002 22158 \n3 25002 6360 14627 \n3 22158 14627 4938 \n3 6360 25003 14625 \n3 25003 1571 19609 \n3 14625 19609 3665 \n3 4938 14626 22160 \n3 14626 3665 19613 \n3 22160 19613 836 \n3 1571 25004 19608 \n3 25004 6361 14630 \n3 19608 14630 3663 \n3 6361 25005 14628 \n3 25005 1690 23479 \n3 14628 23479 5599 \n3 3663 14629 19610 \n3 14629 5599 23481 \n3 19610 23481 1167 \n3 836 19612 22162 \n3 19612 3664 14633 \n3 22162 14633 4940 \n3 3664 19611 14631 \n3 19611 1167 23484 \n3 14631 23484 5601 \n3 4940 14632 22163 \n3 14632 5601 23485 \n3 22163 23485 202 \n3 284 22168 24158 \n3 22168 4942 14636 \n3 24158 14636 5938 \n3 4942 22167 14634 \n3 22167 837 19615 \n3 14634 19615 3668 \n3 5938 14635 24159 \n3 14635 3668 19619 \n3 24159 19619 1336 \n3 837 22165 19614 \n3 22165 4941 14639 \n3 19614 14639 3666 \n3 4941 22164 14637 \n3 22164 202 23494 \n3 14637 23494 5606 \n3 3666 14638 19616 \n3 14638 5606 23495 \n3 19616 23495 1171 \n3 1336 19618 24160 \n3 19618 3667 14642 \n3 24160 14642 5939 \n3 3667 19617 14640 \n3 19617 1171 23498 \n3 14640 23498 5609 \n3 5939 14641 24161 \n3 14641 5609 23501 \n3 24161 23501 47 \n3 1690 25006 23478 \n3 25006 6362 14645 \n3 23478 14645 5598 \n3 6362 25007 14643 \n3 25007 1572 19621 \n3 14643 19621 3671 \n3 5598 14644 23480 \n3 14644 3671 19625 \n3 23480 19625 1166 \n3 1572 25008 19620 \n3 25008 6363 14648 \n3 19620 14648 3669 \n3 6363 25009 14646 \n3 25009 1651 22171 \n3 14646 22171 4945 \n3 3669 14647 19622 \n3 14647 4945 22173 \n3 19622 22173 841 \n3 1166 19624 23482 \n3 19624 3670 14651 \n3 23482 14651 5600 \n3 3670 19623 14649 \n3 19623 841 22178 \n3 14649 22178 4949 \n3 5600 14650 23483 \n3 14650 4949 22181 \n3 23483 22181 200 \n3 1651 25010 22170 \n3 25010 6364 14654 \n3 22170 14654 4944 \n3 6364 25011 14652 \n3 25011 1573 19627 \n3 14652 19627 3674 \n3 4944 14653 22172 \n3 14653 3674 19631 \n3 22172 19631 839 \n3 1573 25012 19626 \n3 25012 6365 14657 \n3 19626 14657 3672 \n3 6365 25013 14655 \n3 25013 1724 24964 \n3 14655 24964 6340 \n3 3672 14656 19628 \n3 14656 6340 24963 \n3 19628 24963 1512 \n3 839 19630 22174 \n3 19630 3673 14660 \n3 22174 14660 4946 \n3 3673 19629 14658 \n3 19629 1512 24961 \n3 14658 24961 6339 \n3 4946 14659 22175 \n3 14659 6339 24960 \n3 22175 24960 372 \n3 200 22180 23486 \n3 22180 4948 14663 \n3 23486 14663 5602 \n3 4948 22179 14661 \n3 22179 840 19633 \n3 14661 19633 3677 \n3 5602 14662 23487 \n3 14662 3677 19637 \n3 23487 19637 1168 \n3 840 22177 19632 \n3 22177 4947 14666 \n3 19632 14666 3675 \n3 4947 22176 14664 \n3 22176 372 24957 \n3 14664 24957 6337 \n3 3675 14665 19634 \n3 14665 6337 24956 \n3 19634 24956 1511 \n3 1168 19636 23488 \n3 19636 3676 14669 \n3 23488 14669 5603 \n3 3676 19635 14667 \n3 19635 1511 24955 \n3 14667 24955 6336 \n3 5603 14668 23489 \n3 14668 6336 24954 \n3 23489 24954 90 \n3 47 23500 24166 \n3 23500 5608 14672 \n3 24166 14672 5942 \n3 5608 23499 14670 \n3 23499 1170 19639 \n3 14670 19639 3680 \n3 5942 14671 24167 \n3 14671 3680 19643 \n3 24167 19643 1338 \n3 1170 23497 19638 \n3 23497 5607 14675 \n3 19638 14675 3678 \n3 5607 23496 14673 \n3 23496 201 22183 \n3 14673 22183 4951 \n3 3678 14674 19640 \n3 14674 4951 22185 \n3 19640 22185 844 \n3 1338 19642 24168 \n3 19642 3679 14678 \n3 24168 14678 5943 \n3 3679 19641 14676 \n3 19641 844 22190 \n3 14676 22190 4955 \n3 5943 14677 24169 \n3 14677 4955 22193 \n3 24169 22193 286 \n3 201 23493 22182 \n3 23493 5605 14681 \n3 22182 14681 4950 \n3 5605 23492 14679 \n3 23492 1169 19645 \n3 14679 19645 3683 \n3 4950 14680 22184 \n3 14680 3683 19649 \n3 22184 19649 842 \n3 1169 23491 19644 \n3 23491 5604 14684 \n3 19644 14684 3681 \n3 5604 23490 14682 \n3 23490 90 24949 \n3 14682 24949 6333 \n3 3681 14683 19646 \n3 14683 6333 24948 \n3 19646 24948 1509 \n3 842 19648 22186 \n3 19648 3682 14687 \n3 22186 14687 4952 \n3 3682 19647 14685 \n3 19647 1509 24947 \n3 14685 24947 6332 \n3 4952 14686 22187 \n3 14686 6332 24946 \n3 22187 24946 371 \n3 286 22192 24170 \n3 22192 4954 14690 \n3 24170 14690 5944 \n3 4954 22191 14688 \n3 22191 843 19651 \n3 14688 19651 3686 \n3 5944 14689 24171 \n3 14689 3686 19655 \n3 24171 19655 1339 \n3 843 22189 19650 \n3 22189 4953 14693 \n3 19650 14693 3684 \n3 4953 22188 14691 \n3 22188 371 24945 \n3 14691 24945 6331 \n3 3684 14692 19652 \n3 14692 6331 24944 \n3 19652 24944 1508 \n3 1339 19654 24172 \n3 19654 3685 14696 \n3 24172 14696 5945 \n3 3685 19653 14694 \n3 19653 1508 24943 \n3 14694 24943 6330 \n3 5945 14695 24173 \n3 14695 6330 24942 \n3 24173 24942 21 \n3 1710 24196 25014 \n3 24196 5956 14699 \n3 25014 14699 6366 \n3 5956 24195 14697 \n3 24195 1344 19657 \n3 14697 19657 3689 \n3 6366 14698 25015 \n3 14698 3689 19661 \n3 25015 19661 1574 \n3 1344 24193 19656 \n3 24193 5955 14702 \n3 19656 14702 3687 \n3 5955 24192 14700 \n3 24192 288 22195 \n3 14700 22195 4957 \n3 3687 14701 19658 \n3 14701 4957 22197 \n3 19658 22197 847 \n3 1574 19660 25016 \n3 19660 3688 14705 \n3 25016 14705 6367 \n3 3688 19659 14703 \n3 19659 847 22202 \n3 14703 22202 4961 \n3 6367 14704 25017 \n3 14704 4961 22205 \n3 25017 22205 1652 \n3 288 24189 22194 \n3 24189 5953 14708 \n3 22194 14708 4956 \n3 5953 24188 14706 \n3 24188 1343 19663 \n3 14706 19663 3692 \n3 4956 14707 22196 \n3 14707 3692 19667 \n3 22196 19667 845 \n3 1343 24187 19662 \n3 24187 5952 14711 \n3 19662 14711 3690 \n3 5952 24186 14709 \n3 24186 48 23503 \n3 14709 23503 5611 \n3 3690 14710 19664 \n3 14710 5611 23505 \n3 19664 23505 1173 \n3 845 19666 22198 \n3 19666 3691 14714 \n3 22198 14714 4958 \n3 3691 19665 14712 \n3 19665 1173 23508 \n3 14712 23508 5613 \n3 4958 14713 22199 \n3 14713 5613 23509 \n3 22199 23509 205 \n3 1652 22204 25018 \n3 22204 4960 14717 \n3 25018 14717 6368 \n3 4960 22203 14715 \n3 22203 846 19669 \n3 14715 19669 3695 \n3 6368 14716 25019 \n3 14716 3695 19673 \n3 25019 19673 1575 \n3 846 22201 19668 \n3 22201 4959 14720 \n3 19668 14720 3693 \n3 4959 22200 14718 \n3 22200 205 23518 \n3 14718 23518 5618 \n3 3693 14719 19670 \n3 14719 5618 23519 \n3 19670 23519 1177 \n3 1575 19672 25020 \n3 19672 3694 14723 \n3 25020 14723 6369 \n3 3694 19671 14721 \n3 19671 1177 23522 \n3 14721 23522 5621 \n3 6369 14722 25021 \n3 14722 5621 23525 \n3 25021 23525 1691 \n3 48 24181 23502 \n3 24181 5949 14726 \n3 23502 14726 5610 \n3 5949 24180 14724 \n3 24180 1341 19675 \n3 14724 19675 3698 \n3 5610 14725 23504 \n3 14725 3698 19679 \n3 23504 19679 1172 \n3 1341 24179 19674 \n3 24179 5948 14729 \n3 19674 14729 3696 \n3 5948 24178 14727 \n3 24178 287 22207 \n3 14727 22207 4963 \n3 3696 14728 19676 \n3 14728 4963 22209 \n3 19676 22209 850 \n3 1172 19678 23506 \n3 19678 3697 14732 \n3 23506 14732 5612 \n3 3697 19677 14730 \n3 19677 850 22214 \n3 14730 22214 4967 \n3 5612 14731 23507 \n3 14731 4967 22217 \n3 23507 22217 203 \n3 287 24177 22206 \n3 24177 5947 14735 \n3 22206 14735 4962 \n3 5947 24176 14733 \n3 24176 1340 19681 \n3 14733 19681 3701 \n3 4962 14734 22208 \n3 14734 3701 19685 \n3 22208 19685 848 \n3 1340 24175 19680 \n3 24175 5946 14738 \n3 19680 14738 3699 \n3 5946 24174 14736 \n3 24174 21 24933 \n3 14736 24933 6325 \n3 3699 14737 19682 \n3 14737 6325 24932 \n3 19682 24932 1505 \n3 848 19684 22210 \n3 19684 3700 14741 \n3 22210 14741 4964 \n3 3700 19683 14739 \n3 19683 1505 24931 \n3 14739 24931 6324 \n3 4964 14740 22211 \n3 14740 6324 24930 \n3 22211 24930 369 \n3 203 22216 23510 \n3 22216 4966 14744 \n3 23510 14744 5614 \n3 4966 22215 14742 \n3 22215 849 19687 \n3 14742 19687 3704 \n3 5614 14743 23511 \n3 14743 3704 19691 \n3 23511 19691 1174 \n3 849 22213 19686 \n3 22213 4965 14747 \n3 19686 14747 3702 \n3 4965 22212 14745 \n3 22212 369 24929 \n3 14745 24929 6323 \n3 3702 14746 19688 \n3 14746 6323 24928 \n3 19688 24928 1504 \n3 1174 19690 23512 \n3 19690 3703 14750 \n3 23512 14750 5615 \n3 3703 19689 14748 \n3 19689 1504 24927 \n3 14748 24927 6322 \n3 5615 14749 23513 \n3 14749 6322 24926 \n3 23513 24926 89 \n3 1691 23524 25022 \n3 23524 5620 14753 \n3 25022 14753 6370 \n3 5620 23523 14751 \n3 23523 1176 19693 \n3 14751 19693 3707 \n3 6370 14752 25023 \n3 14752 3707 19697 \n3 25023 19697 1576 \n3 1176 23521 19692 \n3 23521 5619 14756 \n3 19692 14756 3705 \n3 5619 23520 14754 \n3 23520 204 22219 \n3 14754 22219 4969 \n3 3705 14755 19694 \n3 14755 4969 22221 \n3 19694 22221 853 \n3 1576 19696 25024 \n3 19696 3706 14759 \n3 25024 14759 6371 \n3 3706 19695 14757 \n3 19695 853 22226 \n3 14757 22226 4973 \n3 6371 14758 25025 \n3 14758 4973 22229 \n3 25025 22229 1653 \n3 204 23517 22218 \n3 23517 5617 14762 \n3 22218 14762 4968 \n3 5617 23516 14760 \n3 23516 1175 19699 \n3 14760 19699 3710 \n3 4968 14761 22220 \n3 14761 3710 19703 \n3 22220 19703 851 \n3 1175 23515 19698 \n3 23515 5616 14765 \n3 19698 14765 3708 \n3 5616 23514 14763 \n3 23514 89 24925 \n3 14763 24925 6321 \n3 3708 14764 19700 \n3 14764 6321 24924 \n3 19700 24924 1503 \n3 851 19702 22222 \n3 19702 3709 14768 \n3 22222 14768 4970 \n3 3709 19701 14766 \n3 19701 1503 24923 \n3 14766 24923 6320 \n3 4970 14767 22223 \n3 14767 6320 24922 \n3 22223 24922 368 \n3 1653 22228 25026 \n3 22228 4972 14771 \n3 25026 14771 6372 \n3 4972 22227 14769 \n3 22227 852 19705 \n3 14769 19705 3713 \n3 6372 14770 25027 \n3 14770 3713 19709 \n3 25027 19709 1577 \n3 852 22225 19704 \n3 22225 4971 14774 \n3 19704 14774 3711 \n3 4971 22224 14772 \n3 22224 368 24921 \n3 14772 24921 6319 \n3 3711 14773 19706 \n3 14773 6319 24920 \n3 19706 24920 1502 \n3 1577 19708 25028 \n3 19708 3712 14777 \n3 25028 14777 6373 \n3 3712 19707 14775 \n3 19707 1502 24919 \n3 14775 24919 6318 \n3 6373 14776 25029 \n3 14776 6318 24918 \n3 25029 24918 1723 \n3 1726 25030 25031 \n3 25030 6374 14780 \n3 25031 14780 6375 \n3 6374 25032 14778 \n3 25032 1578 19711 \n3 14778 19711 3716 \n3 6375 14779 25033 \n3 14779 3716 19715 \n3 25033 19715 1514 \n3 1578 25034 19710 \n3 25034 6376 14783 \n3 19710 14783 3714 \n3 6376 25035 14781 \n3 25035 1654 22231 \n3 14781 22231 4975 \n3 3714 14782 19712 \n3 14782 4975 22233 \n3 19712 22233 856 \n3 1514 19714 25036 \n3 19714 3715 14786 \n3 25036 14786 6377 \n3 3715 19713 14784 \n3 19713 856 22238 \n3 14784 22238 4979 \n3 6377 14785 25037 \n3 14785 4979 22241 \n3 25037 22241 374 \n3 1654 25038 22230 \n3 25038 6378 14789 \n3 22230 14789 4974 \n3 6378 25039 14787 \n3 25039 1579 19717 \n3 14787 19717 3719 \n3 4974 14788 22232 \n3 14788 3719 19721 \n3 22232 19721 854 \n3 1579 25040 19716 \n3 25040 6379 14792 \n3 19716 14792 3717 \n3 6379 25041 14790 \n3 25041 1692 23527 \n3 14790 23527 5623 \n3 3717 14791 19718 \n3 14791 5623 23529 \n3 19718 23529 1179 \n3 854 19720 22234 \n3 19720 3718 14795 \n3 22234 14795 4976 \n3 3718 19719 14793 \n3 19719 1179 23532 \n3 14793 23532 5625 \n3 4976 14794 22235 \n3 14794 5625 23533 \n3 22235 23533 208 \n3 374 22240 25042 \n3 22240 4978 14798 \n3 25042 14798 6380 \n3 4978 22239 14796 \n3 22239 855 19723 \n3 14796 19723 3722 \n3 6380 14797 25043 \n3 14797 3722 19727 \n3 25043 19727 1515 \n3 855 22237 19722 \n3 22237 4977 14801 \n3 19722 14801 3720 \n3 4977 22236 14799 \n3 22236 208 23542 \n3 14799 23542 5630 \n3 3720 14800 19724 \n3 14800 5630 23543 \n3 19724 23543 1183 \n3 1515 19726 25044 \n3 19726 3721 14804 \n3 25044 14804 6381 \n3 3721 19725 14802 \n3 19725 1183 23546 \n3 14802 23546 5633 \n3 6381 14803 25045 \n3 14803 5633 23549 \n3 25045 23549 92 \n3 1692 25046 23526 \n3 25046 6382 14807 \n3 23526 14807 5622 \n3 6382 25047 14805 \n3 25047 1580 19729 \n3 14805 19729 3725 \n3 5622 14806 23528 \n3 14806 3725 19733 \n3 23528 19733 1178 \n3 1580 25048 19728 \n3 25048 6383 14810 \n3 19728 14810 3723 \n3 6383 25049 14808 \n3 25049 1655 22243 \n3 14808 22243 4981 \n3 3723 14809 19730 \n3 14809 4981 22245 \n3 19730 22245 859 \n3 1178 19732 23530 \n3 19732 3724 14813 \n3 23530 14813 5624 \n3 3724 19731 14811 \n3 19731 859 22250 \n3 14811 22250 4985 \n3 5624 14812 23531 \n3 14812 4985 22253 \n3 23531 22253 206 \n3 1655 25050 22242 \n3 25050 6384 14816 \n3 22242 14816 4980 \n3 6384 25051 14814 \n3 25051 1581 19735 \n3 14814 19735 3728 \n3 4980 14815 22244 \n3 14815 3728 19739 \n3 22244 19739 857 \n3 1581 25052 19734 \n3 25052 6385 14819 \n3 19734 14819 3726 \n3 6385 25053 14817 \n3 25053 1711 24199 \n3 14817 24199 5959 \n3 3726 14818 19736 \n3 14818 5959 24201 \n3 19736 24201 1347 \n3 857 19738 22246 \n3 19738 3727 14822 \n3 22246 14822 4982 \n3 3727 19737 14820 \n3 19737 1347 24204 \n3 14820 24204 5961 \n3 4982 14821 22247 \n3 14821 5961 24205 \n3 22247 24205 291 \n3 206 22252 23534 \n3 22252 4984 14825 \n3 23534 14825 5626 \n3 4984 22251 14823 \n3 22251 858 19741 \n3 14823 19741 3731 \n3 5626 14824 23535 \n3 14824 3731 19745 \n3 23535 19745 1180 \n3 858 22249 19740 \n3 22249 4983 14828 \n3 19740 14828 3729 \n3 4983 22248 14826 \n3 22248 291 24210 \n3 14826 24210 5964 \n3 3729 14827 19742 \n3 14827 5964 24211 \n3 19742 24211 1349 \n3 1180 19744 23536 \n3 19744 3730 14831 \n3 23536 14831 5627 \n3 3730 19743 14829 \n3 19743 1349 24212 \n3 14829 24212 5965 \n3 5627 14830 23537 \n3 14830 5965 24213 \n3 23537 24213 52 \n3 92 23548 25054 \n3 23548 5632 14834 \n3 25054 14834 6386 \n3 5632 23547 14832 \n3 23547 1182 19747 \n3 14832 19747 3734 \n3 6386 14833 25055 \n3 14833 3734 19751 \n3 25055 19751 1516 \n3 1182 23545 19746 \n3 23545 5631 14837 \n3 19746 14837 3732 \n3 5631 23544 14835 \n3 23544 207 22255 \n3 14835 22255 4987 \n3 3732 14836 19748 \n3 14836 4987 22257 \n3 19748 22257 862 \n3 1516 19750 25056 \n3 19750 3733 14840 \n3 25056 14840 6387 \n3 3733 19749 14838 \n3 19749 862 22262 \n3 14838 22262 4991 \n3 6387 14839 25057 \n3 14839 4991 22265 \n3 25057 22265 375 \n3 207 23541 22254 \n3 23541 5629 14843 \n3 22254 14843 4986 \n3 5629 23540 14841 \n3 23540 1181 19753 \n3 14841 19753 3737 \n3 4986 14842 22256 \n3 14842 3737 19757 \n3 22256 19757 860 \n3 1181 23539 19752 \n3 23539 5628 14846 \n3 19752 14846 3735 \n3 5628 23538 14844 \n3 23538 52 24230 \n3 14844 24230 5974 \n3 3735 14845 19754 \n3 14845 5974 24231 \n3 19754 24231 1354 \n3 860 19756 22258 \n3 19756 3736 14849 \n3 22258 14849 4988 \n3 3736 19755 14847 \n3 19755 1354 24232 \n3 14847 24232 5975 \n3 4988 14848 22259 \n3 14848 5975 24233 \n3 22259 24233 295 \n3 375 22264 25058 \n3 22264 4990 14852 \n3 25058 14852 6388 \n3 4990 22263 14850 \n3 22263 861 19759 \n3 14850 19759 3740 \n3 6388 14851 25059 \n3 14851 3740 19763 \n3 25059 19763 1517 \n3 861 22261 19758 \n3 22261 4989 14855 \n3 19758 14855 3738 \n3 4989 22260 14853 \n3 22260 295 24238 \n3 14853 24238 5978 \n3 3738 14854 19760 \n3 14854 5978 24239 \n3 19760 24239 1357 \n3 1517 19762 25060 \n3 19762 3739 14858 \n3 25060 14858 6389 \n3 3739 19761 14856 \n3 19761 1357 24242 \n3 14856 24242 5981 \n3 6389 14857 25061 \n3 14857 5981 24245 \n3 25061 24245 24 \n3 1711 25062 24198 \n3 25062 6390 14861 \n3 24198 14861 5958 \n3 6390 25063 14859 \n3 25063 1582 19765 \n3 14859 19765 3743 \n3 5958 14860 24200 \n3 14860 3743 19769 \n3 24200 19769 1346 \n3 1582 25064 19764 \n3 25064 6391 14864 \n3 19764 14864 3741 \n3 6391 25065 14862 \n3 25065 1656 22267 \n3 14862 22267 4993 \n3 3741 14863 19766 \n3 14863 4993 22269 \n3 19766 22269 865 \n3 1346 19768 24202 \n3 19768 3742 14867 \n3 24202 14867 5960 \n3 3742 19767 14865 \n3 19767 865 22274 \n3 14865 22274 4997 \n3 5960 14866 24203 \n3 14866 4997 22277 \n3 24203 22277 290 \n3 1656 25066 22266 \n3 25066 6392 14870 \n3 22266 14870 4992 \n3 6392 25067 14868 \n3 25067 1583 19771 \n3 14868 19771 3746 \n3 4992 14869 22268 \n3 14869 3746 19775 \n3 22268 19775 863 \n3 1583 25068 19770 \n3 25068 6393 14873 \n3 19770 14873 3744 \n3 6393 25069 14871 \n3 25069 1693 23551 \n3 14871 23551 5635 \n3 3744 14872 19772 \n3 14872 5635 23553 \n3 19772 23553 1185 \n3 863 19774 22270 \n3 19774 3745 14876 \n3 22270 14876 4994 \n3 3745 19773 14874 \n3 19773 1185 23556 \n3 14874 23556 5637 \n3 4994 14875 22271 \n3 14875 5637 23557 \n3 22271 23557 211 \n3 290 22276 24206 \n3 22276 4996 14879 \n3 24206 14879 5962 \n3 4996 22275 14877 \n3 22275 864 19777 \n3 14877 19777 3749 \n3 5962 14878 24207 \n3 14878 3749 19781 \n3 24207 19781 1348 \n3 864 22273 19776 \n3 22273 4995 14882 \n3 19776 14882 3747 \n3 4995 22272 14880 \n3 22272 211 23566 \n3 14880 23566 5642 \n3 3747 14881 19778 \n3 14881 5642 23567 \n3 19778 23567 1189 \n3 1348 19780 24208 \n3 19780 3748 14885 \n3 24208 14885 5963 \n3 3748 19779 14883 \n3 19779 1189 23570 \n3 14883 23570 5645 \n3 5963 14884 24209 \n3 14884 5645 23573 \n3 24209 23573 50 \n3 1693 25070 23550 \n3 25070 6394 14888 \n3 23550 14888 5634 \n3 6394 25071 14886 \n3 25071 1584 19783 \n3 14886 19783 3752 \n3 5634 14887 23552 \n3 14887 3752 19787 \n3 23552 19787 1184 \n3 1584 25072 19782 \n3 25072 6395 14891 \n3 19782 14891 3750 \n3 6395 25073 14889 \n3 25073 1657 22279 \n3 14889 22279 4999 \n3 3750 14890 19784 \n3 14890 4999 22281 \n3 19784 22281 868 \n3 1184 19786 23554 \n3 19786 3751 14894 \n3 23554 14894 5636 \n3 3751 19785 14892 \n3 19785 868 22286 \n3 14892 22286 5003 \n3 5636 14893 23555 \n3 14893 5003 22289 \n3 23555 22289 209 \n3 1657 25074 22278 \n3 25074 6396 14897 \n3 22278 14897 4998 \n3 6396 25075 14895 \n3 25075 1585 19789 \n3 14895 19789 3755 \n3 4998 14896 22280 \n3 14896 3755 19793 \n3 22280 19793 866 \n3 1585 25076 19788 \n3 25076 6397 14900 \n3 19788 14900 3753 \n3 6397 25077 14898 \n3 25077 1727 25078 \n3 14898 25078 6398 \n3 3753 14899 19790 \n3 14899 6398 25079 \n3 19790 25079 1518 \n3 866 19792 22282 \n3 19792 3754 14903 \n3 22282 14903 5000 \n3 3754 19791 14901 \n3 19791 1518 25080 \n3 14901 25080 6399 \n3 5000 14902 22283 \n3 14902 6399 25081 \n3 22283 25081 376 \n3 209 22288 23558 \n3 22288 5002 14906 \n3 23558 14906 5638 \n3 5002 22287 14904 \n3 22287 867 19795 \n3 14904 19795 3758 \n3 5638 14905 23559 \n3 14905 3758 19799 \n3 23559 19799 1186 \n3 867 22285 19794 \n3 22285 5001 14909 \n3 19794 14909 3756 \n3 5001 22284 14907 \n3 22284 376 25082 \n3 14907 25082 6400 \n3 3756 14908 19796 \n3 14908 6400 25083 \n3 19796 25083 1519 \n3 1186 19798 23560 \n3 19798 3757 14912 \n3 23560 14912 5639 \n3 3757 19797 14910 \n3 19797 1519 25084 \n3 14910 25084 6401 \n3 5639 14911 23561 \n3 14911 6401 25085 \n3 23561 25085 93 \n3 50 23572 24214 \n3 23572 5644 14915 \n3 24214 14915 5966 \n3 5644 23571 14913 \n3 23571 1188 19801 \n3 14913 19801 3761 \n3 5966 14914 24215 \n3 14914 3761 19805 \n3 24215 19805 1350 \n3 1188 23569 19800 \n3 23569 5643 14918 \n3 19800 14918 3759 \n3 5643 23568 14916 \n3 23568 210 22291 \n3 14916 22291 5005 \n3 3759 14917 19802 \n3 14917 5005 22293 \n3 19802 22293 871 \n3 1350 19804 24216 \n3 19804 3760 14921 \n3 24216 14921 5967 \n3 3760 19803 14919 \n3 19803 871 22298 \n3 14919 22298 5009 \n3 5967 14920 24217 \n3 14920 5009 22301 \n3 24217 22301 292 \n3 210 23565 22290 \n3 23565 5641 14924 \n3 22290 14924 5004 \n3 5641 23564 14922 \n3 23564 1187 19807 \n3 14922 19807 3764 \n3 5004 14923 22292 \n3 14923 3764 19811 \n3 22292 19811 869 \n3 1187 23563 19806 \n3 23563 5640 14927 \n3 19806 14927 3762 \n3 5640 23562 14925 \n3 23562 93 25086 \n3 14925 25086 6402 \n3 3762 14926 19808 \n3 14926 6402 25087 \n3 19808 25087 1520 \n3 869 19810 22294 \n3 19810 3763 14930 \n3 22294 14930 5006 \n3 3763 19809 14928 \n3 19809 1520 25088 \n3 14928 25088 6403 \n3 5006 14929 22295 \n3 14929 6403 25089 \n3 22295 25089 377 \n3 292 22300 24218 \n3 22300 5008 14933 \n3 24218 14933 5968 \n3 5008 22299 14931 \n3 22299 870 19813 \n3 14931 19813 3767 \n3 5968 14932 24219 \n3 14932 3767 19817 \n3 24219 19817 1351 \n3 870 22297 19812 \n3 22297 5007 14936 \n3 19812 14936 3765 \n3 5007 22296 14934 \n3 22296 377 25090 \n3 14934 25090 6404 \n3 3765 14935 19814 \n3 14935 6404 25091 \n3 19814 25091 1521 \n3 1351 19816 24220 \n3 19816 3766 14939 \n3 24220 14939 5969 \n3 3766 19815 14937 \n3 19815 1521 25092 \n3 14937 25092 6405 \n3 5969 14938 24221 \n3 14938 6405 25093 \n3 24221 25093 23 \n3 24 24244 25094 \n3 24244 5980 14942 \n3 25094 14942 6406 \n3 5980 24243 14940 \n3 24243 1356 19819 \n3 14940 19819 3770 \n3 6406 14941 25095 \n3 14941 3770 19823 \n3 25095 19823 1522 \n3 1356 24241 19818 \n3 24241 5979 14945 \n3 19818 14945 3768 \n3 5979 24240 14943 \n3 24240 294 22303 \n3 14943 22303 5011 \n3 3768 14944 19820 \n3 14944 5011 22305 \n3 19820 22305 874 \n3 1522 19822 25096 \n3 19822 3769 14948 \n3 25096 14948 6407 \n3 3769 19821 14946 \n3 19821 874 22310 \n3 14946 22310 5015 \n3 6407 14947 25097 \n3 14947 5015 22313 \n3 25097 22313 378 \n3 294 24237 22302 \n3 24237 5977 14951 \n3 22302 14951 5010 \n3 5977 24236 14949 \n3 24236 1355 19825 \n3 14949 19825 3773 \n3 5010 14950 22304 \n3 14950 3773 19829 \n3 22304 19829 872 \n3 1355 24235 19824 \n3 24235 5976 14954 \n3 19824 14954 3771 \n3 5976 24234 14952 \n3 24234 51 23575 \n3 14952 23575 5647 \n3 3771 14953 19826 \n3 14953 5647 23577 \n3 19826 23577 1191 \n3 872 19828 22306 \n3 19828 3772 14957 \n3 22306 14957 5012 \n3 3772 19827 14955 \n3 19827 1191 23580 \n3 14955 23580 5649 \n3 5012 14956 22307 \n3 14956 5649 23581 \n3 22307 23581 214 \n3 378 22312 25098 \n3 22312 5014 14960 \n3 25098 14960 6408 \n3 5014 22311 14958 \n3 22311 873 19831 \n3 14958 19831 3776 \n3 6408 14959 25099 \n3 14959 3776 19835 \n3 25099 19835 1523 \n3 873 22309 19830 \n3 22309 5013 14963 \n3 19830 14963 3774 \n3 5013 22308 14961 \n3 22308 214 23590 \n3 14961 23590 5654 \n3 3774 14962 19832 \n3 14962 5654 23591 \n3 19832 23591 1195 \n3 1523 19834 25100 \n3 19834 3775 14966 \n3 25100 14966 6409 \n3 3775 19833 14964 \n3 19833 1195 23594 \n3 14964 23594 5657 \n3 6409 14965 25101 \n3 14965 5657 23597 \n3 25101 23597 95 \n3 51 24229 23574 \n3 24229 5973 14969 \n3 23574 14969 5646 \n3 5973 24228 14967 \n3 24228 1353 19837 \n3 14967 19837 3779 \n3 5646 14968 23576 \n3 14968 3779 19841 \n3 23576 19841 1190 \n3 1353 24227 19836 \n3 24227 5972 14972 \n3 19836 14972 3777 \n3 5972 24226 14970 \n3 24226 293 22315 \n3 14970 22315 5017 \n3 3777 14971 19838 \n3 14971 5017 22317 \n3 19838 22317 877 \n3 1190 19840 23578 \n3 19840 3778 14975 \n3 23578 14975 5648 \n3 3778 19839 14973 \n3 19839 877 22322 \n3 14973 22322 5021 \n3 5648 14974 23579 \n3 14974 5021 22325 \n3 23579 22325 212 \n3 293 24225 22314 \n3 24225 5971 14978 \n3 22314 14978 5016 \n3 5971 24224 14976 \n3 24224 1352 19843 \n3 14976 19843 3782 \n3 5016 14977 22316 \n3 14977 3782 19847 \n3 22316 19847 875 \n3 1352 24223 19842 \n3 24223 5970 14981 \n3 19842 14981 3780 \n3 5970 24222 14979 \n3 24222 23 25102 \n3 14979 25102 6410 \n3 3780 14980 19844 \n3 14980 6410 25103 \n3 19844 25103 1524 \n3 875 19846 22318 \n3 19846 3781 14984 \n3 22318 14984 5018 \n3 3781 19845 14982 \n3 19845 1524 25104 \n3 14982 25104 6411 \n3 5018 14983 22319 \n3 14983 6411 25105 \n3 22319 25105 379 \n3 212 22324 23582 \n3 22324 5020 14987 \n3 23582 14987 5650 \n3 5020 22323 14985 \n3 22323 876 19849 \n3 14985 19849 3785 \n3 5650 14986 23583 \n3 14986 3785 19853 \n3 23583 19853 1192 \n3 876 22321 19848 \n3 22321 5019 14990 \n3 19848 14990 3783 \n3 5019 22320 14988 \n3 22320 379 25106 \n3 14988 25106 6412 \n3 3783 14989 19850 \n3 14989 6412 25107 \n3 19850 25107 1525 \n3 1192 19852 23584 \n3 19852 3784 14993 \n3 23584 14993 5651 \n3 3784 19851 14991 \n3 19851 1525 25108 \n3 14991 25108 6413 \n3 5651 14992 23585 \n3 14992 6413 25109 \n3 23585 25109 94 \n3 95 23596 25110 \n3 23596 5656 14996 \n3 25110 14996 6414 \n3 5656 23595 14994 \n3 23595 1194 19855 \n3 14994 19855 3788 \n3 6414 14995 25111 \n3 14995 3788 19859 \n3 25111 19859 1526 \n3 1194 23593 19854 \n3 23593 5655 14999 \n3 19854 14999 3786 \n3 5655 23592 14997 \n3 23592 213 22327 \n3 14997 22327 5023 \n3 3786 14998 19856 \n3 14998 5023 22329 \n3 19856 22329 880 \n3 1526 19858 25112 \n3 19858 3787 15002 \n3 25112 15002 6415 \n3 3787 19857 15000 \n3 19857 880 22334 \n3 15000 22334 5027 \n3 6415 15001 25113 \n3 15001 5027 22337 \n3 25113 22337 381 \n3 213 23589 22326 \n3 23589 5653 15005 \n3 22326 15005 5022 \n3 5653 23588 15003 \n3 23588 1193 19861 \n3 15003 19861 3791 \n3 5022 15004 22328 \n3 15004 3791 19865 \n3 22328 19865 878 \n3 1193 23587 19860 \n3 23587 5652 15008 \n3 19860 15008 3789 \n3 5652 23586 15006 \n3 23586 94 25114 \n3 15006 25114 6416 \n3 3789 15007 19862 \n3 15007 6416 25115 \n3 19862 25115 1527 \n3 878 19864 22330 \n3 19864 3790 15011 \n3 22330 15011 5024 \n3 3790 19863 15009 \n3 19863 1527 25116 \n3 15009 25116 6417 \n3 5024 15010 22331 \n3 15010 6417 25117 \n3 22331 25117 380 \n3 381 22336 25118 \n3 22336 5026 15014 \n3 25118 15014 6418 \n3 5026 22335 15012 \n3 22335 879 19867 \n3 15012 19867 3794 \n3 6418 15013 25119 \n3 15013 3794 19871 \n3 25119 19871 1529 \n3 879 22333 19866 \n3 22333 5025 15017 \n3 19866 15017 3792 \n3 5025 22332 15015 \n3 22332 380 25120 \n3 15015 25120 6419 \n3 3792 15016 19868 \n3 15016 6419 25121 \n3 19868 25121 1528 \n3 1529 19870 25122 \n3 19870 3793 15020 \n3 25122 15020 6421 \n3 3793 19869 15018 \n3 19869 1528 25123 \n3 15018 25123 6420 \n3 6421 15019 25125 \n3 15019 6420 25124 \n3 25125 25124 1728 \n3 1729 25126 25127 \n3 25126 6422 15023 \n3 25127 15023 6423 \n3 6422 25128 15021 \n3 25128 1586 19873 \n3 15021 19873 3797 \n3 6423 15022 25129 \n3 15022 3797 19877 \n3 25129 19877 1587 \n3 1586 25130 19872 \n3 25130 6424 15026 \n3 19872 15026 3795 \n3 6424 25131 15024 \n3 25131 1658 22339 \n3 15024 22339 5029 \n3 3795 15025 19874 \n3 15025 5029 22341 \n3 19874 22341 883 \n3 1587 19876 25132 \n3 19876 3796 15029 \n3 25132 15029 6425 \n3 3796 19875 15027 \n3 19875 883 22346 \n3 15027 22346 5033 \n3 6425 15028 25133 \n3 15028 5033 22349 \n3 25133 22349 1659 \n3 1658 25134 22338 \n3 25134 6426 15032 \n3 22338 15032 5028 \n3 6426 25135 15030 \n3 25135 1588 19879 \n3 15030 19879 3800 \n3 5028 15031 22340 \n3 15031 3800 19883 \n3 22340 19883 881 \n3 1588 25136 19878 \n3 25136 6427 15035 \n3 19878 15035 3798 \n3 6427 25137 15033 \n3 25137 1694 23599 \n3 15033 23599 5659 \n3 3798 15034 19880 \n3 15034 5659 23601 \n3 19880 23601 1197 \n3 881 19882 22342 \n3 19882 3799 15038 \n3 22342 15038 5030 \n3 3799 19881 15036 \n3 19881 1197 23604 \n3 15036 23604 5661 \n3 5030 15037 22343 \n3 15037 5661 23605 \n3 22343 23605 217 \n3 1659 22348 25138 \n3 22348 5032 15041 \n3 25138 15041 6428 \n3 5032 22347 15039 \n3 22347 882 19885 \n3 15039 19885 3803 \n3 6428 15040 25139 \n3 15040 3803 19889 \n3 25139 19889 1589 \n3 882 22345 19884 \n3 22345 5031 15044 \n3 19884 15044 3801 \n3 5031 22344 15042 \n3 22344 217 23614 \n3 15042 23614 5666 \n3 3801 15043 19886 \n3 15043 5666 23615 \n3 19886 23615 1201 \n3 1589 19888 25140 \n3 19888 3802 15047 \n3 25140 15047 6429 \n3 3802 19887 15045 \n3 19887 1201 23618 \n3 15045 23618 5669 \n3 6429 15046 25141 \n3 15046 5669 23621 \n3 25141 23621 1695 \n3 1694 25142 23598 \n3 25142 6430 15050 \n3 23598 15050 5658 \n3 6430 25143 15048 \n3 25143 1590 19891 \n3 15048 19891 3806 \n3 5658 15049 23600 \n3 15049 3806 19895 \n3 23600 19895 1196 \n3 1590 25144 19890 \n3 25144 6431 15053 \n3 19890 15053 3804 \n3 6431 25145 15051 \n3 25145 1660 22351 \n3 15051 22351 5035 \n3 3804 15052 19892 \n3 15052 5035 22353 \n3 19892 22353 886 \n3 1196 19894 23602 \n3 19894 3805 15056 \n3 23602 15056 5660 \n3 3805 19893 15054 \n3 19893 886 22358 \n3 15054 22358 5039 \n3 5660 15055 23603 \n3 15055 5039 22361 \n3 23603 22361 215 \n3 1660 25146 22350 \n3 25146 6432 15059 \n3 22350 15059 5034 \n3 6432 25147 15057 \n3 25147 1591 19897 \n3 15057 19897 3809 \n3 5034 15058 22352 \n3 15058 3809 19901 \n3 22352 19901 884 \n3 1591 25148 19896 \n3 25148 6433 15062 \n3 19896 15062 3807 \n3 6433 25149 15060 \n3 25149 1712 24247 \n3 15060 24247 5983 \n3 3807 15061 19898 \n3 15061 5983 24249 \n3 19898 24249 1359 \n3 884 19900 22354 \n3 19900 3808 15065 \n3 22354 15065 5036 \n3 3808 19899 15063 \n3 19899 1359 24252 \n3 15063 24252 5985 \n3 5036 15064 22355 \n3 15064 5985 24253 \n3 22355 24253 297 \n3 215 22360 23606 \n3 22360 5038 15068 \n3 23606 15068 5662 \n3 5038 22359 15066 \n3 22359 885 19903 \n3 15066 19903 3812 \n3 5662 15067 23607 \n3 15067 3812 19907 \n3 23607 19907 1198 \n3 885 22357 19902 \n3 22357 5037 15071 \n3 19902 15071 3810 \n3 5037 22356 15069 \n3 22356 297 24258 \n3 15069 24258 5988 \n3 3810 15070 19904 \n3 15070 5988 24259 \n3 19904 24259 1361 \n3 1198 19906 23608 \n3 19906 3811 15074 \n3 23608 15074 5663 \n3 3811 19905 15072 \n3 19905 1361 24260 \n3 15072 24260 5989 \n3 5663 15073 23609 \n3 15073 5989 24261 \n3 23609 24261 55 \n3 1695 23620 25150 \n3 23620 5668 15077 \n3 25150 15077 6434 \n3 5668 23619 15075 \n3 23619 1200 19909 \n3 15075 19909 3815 \n3 6434 15076 25151 \n3 15076 3815 19913 \n3 25151 19913 1592 \n3 1200 23617 19908 \n3 23617 5667 15080 \n3 19908 15080 3813 \n3 5667 23616 15078 \n3 23616 216 22363 \n3 15078 22363 5041 \n3 3813 15079 19910 \n3 15079 5041 22365 \n3 19910 22365 889 \n3 1592 19912 25152 \n3 19912 3814 15083 \n3 25152 15083 6435 \n3 3814 19911 15081 \n3 19911 889 22370 \n3 15081 22370 5045 \n3 6435 15082 25153 \n3 15082 5045 22373 \n3 25153 22373 1661 \n3 216 23613 22362 \n3 23613 5665 15086 \n3 22362 15086 5040 \n3 5665 23612 15084 \n3 23612 1199 19915 \n3 15084 19915 3818 \n3 5040 15085 22364 \n3 15085 3818 19919 \n3 22364 19919 887 \n3 1199 23611 19914 \n3 23611 5664 15089 \n3 19914 15089 3816 \n3 5664 23610 15087 \n3 23610 55 24278 \n3 15087 24278 5998 \n3 3816 15088 19916 \n3 15088 5998 24279 \n3 19916 24279 1366 \n3 887 19918 22366 \n3 19918 3817 15092 \n3 22366 15092 5042 \n3 3817 19917 15090 \n3 19917 1366 24280 \n3 15090 24280 5999 \n3 5042 15091 22367 \n3 15091 5999 24281 \n3 22367 24281 301 \n3 1661 22372 25154 \n3 22372 5044 15095 \n3 25154 15095 6436 \n3 5044 22371 15093 \n3 22371 888 19921 \n3 15093 19921 3821 \n3 6436 15094 25155 \n3 15094 3821 19925 \n3 25155 19925 1593 \n3 888 22369 19920 \n3 22369 5043 15098 \n3 19920 15098 3819 \n3 5043 22368 15096 \n3 22368 301 24286 \n3 15096 24286 6002 \n3 3819 15097 19922 \n3 15097 6002 24287 \n3 19922 24287 1369 \n3 1593 19924 25156 \n3 19924 3820 15101 \n3 25156 15101 6437 \n3 3820 19923 15099 \n3 19923 1369 24290 \n3 15099 24290 6005 \n3 6437 15100 25157 \n3 15100 6005 24293 \n3 25157 24293 1713 \n3 1712 25158 24246 \n3 25158 6438 15104 \n3 24246 15104 5982 \n3 6438 25159 15102 \n3 25159 1594 19927 \n3 15102 19927 3824 \n3 5982 15103 24248 \n3 15103 3824 19931 \n3 24248 19931 1358 \n3 1594 25160 19926 \n3 25160 6439 15107 \n3 19926 15107 3822 \n3 6439 25161 15105 \n3 25161 1662 22375 \n3 15105 22375 5047 \n3 3822 15106 19928 \n3 15106 5047 22377 \n3 19928 22377 892 \n3 1358 19930 24250 \n3 19930 3823 15110 \n3 24250 15110 5984 \n3 3823 19929 15108 \n3 19929 892 22382 \n3 15108 22382 5051 \n3 5984 15109 24251 \n3 15109 5051 22385 \n3 24251 22385 296 \n3 1662 25162 22374 \n3 25162 6440 15113 \n3 22374 15113 5046 \n3 6440 25163 15111 \n3 25163 1595 19933 \n3 15111 19933 3827 \n3 5046 15112 22376 \n3 15112 3827 19937 \n3 22376 19937 890 \n3 1595 25164 19932 \n3 25164 6441 15116 \n3 19932 15116 3825 \n3 6441 25165 15114 \n3 25165 1696 23623 \n3 15114 23623 5671 \n3 3825 15115 19934 \n3 15115 5671 23625 \n3 19934 23625 1203 \n3 890 19936 22378 \n3 19936 3826 15119 \n3 22378 15119 5048 \n3 3826 19935 15117 \n3 19935 1203 23628 \n3 15117 23628 5673 \n3 5048 15118 22379 \n3 15118 5673 23629 \n3 22379 23629 220 \n3 296 22384 24254 \n3 22384 5050 15122 \n3 24254 15122 5986 \n3 5050 22383 15120 \n3 22383 891 19939 \n3 15120 19939 3830 \n3 5986 15121 24255 \n3 15121 3830 19943 \n3 24255 19943 1360 \n3 891 22381 19938 \n3 22381 5049 15125 \n3 19938 15125 3828 \n3 5049 22380 15123 \n3 22380 220 23638 \n3 15123 23638 5678 \n3 3828 15124 19940 \n3 15124 5678 23639 \n3 19940 23639 1207 \n3 1360 19942 24256 \n3 19942 3829 15128 \n3 24256 15128 5987 \n3 3829 19941 15126 \n3 19941 1207 23642 \n3 15126 23642 5681 \n3 5987 15127 24257 \n3 15127 5681 23645 \n3 24257 23645 53 \n3 1696 25166 23622 \n3 25166 6442 15131 \n3 23622 15131 5670 \n3 6442 25167 15129 \n3 25167 1596 19945 \n3 15129 19945 3833 \n3 5670 15130 23624 \n3 15130 3833 19949 \n3 23624 19949 1202 \n3 1596 25168 19944 \n3 25168 6443 15134 \n3 19944 15134 3831 \n3 6443 25169 15132 \n3 25169 1663 22387 \n3 15132 22387 5053 \n3 3831 15133 19946 \n3 15133 5053 22389 \n3 19946 22389 895 \n3 1202 19948 23626 \n3 19948 3832 15137 \n3 23626 15137 5672 \n3 3832 19947 15135 \n3 19947 895 22394 \n3 15135 22394 5057 \n3 5672 15136 23627 \n3 15136 5057 22397 \n3 23627 22397 218 \n3 1663 25170 22386 \n3 25170 6444 15140 \n3 22386 15140 5052 \n3 6444 25171 15138 \n3 25171 1597 19951 \n3 15138 19951 3836 \n3 5052 15139 22388 \n3 15139 3836 19955 \n3 22388 19955 893 \n3 1597 25172 19950 \n3 25172 6445 15143 \n3 19950 15143 3834 \n3 6445 25173 15141 \n3 25173 1728 25124 \n3 15141 25124 6420 \n3 3834 15142 19952 \n3 15142 6420 25123 \n3 19952 25123 1528 \n3 893 19954 22390 \n3 19954 3835 15146 \n3 22390 15146 5054 \n3 3835 19953 15144 \n3 19953 1528 25121 \n3 15144 25121 6419 \n3 5054 15145 22391 \n3 15145 6419 25120 \n3 22391 25120 380 \n3 218 22396 23630 \n3 22396 5056 15149 \n3 23630 15149 5674 \n3 5056 22395 15147 \n3 22395 894 19957 \n3 15147 19957 3839 \n3 5674 15148 23631 \n3 15148 3839 19961 \n3 23631 19961 1204 \n3 894 22393 19956 \n3 22393 5055 15152 \n3 19956 15152 3837 \n3 5055 22392 15150 \n3 22392 380 25117 \n3 15150 25117 6417 \n3 3837 15151 19958 \n3 15151 6417 25116 \n3 19958 25116 1527 \n3 1204 19960 23632 \n3 19960 3838 15155 \n3 23632 15155 5675 \n3 3838 19959 15153 \n3 19959 1527 25115 \n3 15153 25115 6416 \n3 5675 15154 23633 \n3 15154 6416 25114 \n3 23633 25114 94 \n3 53 23644 24262 \n3 23644 5680 15158 \n3 24262 15158 5990 \n3 5680 23643 15156 \n3 23643 1206 19963 \n3 15156 19963 3842 \n3 5990 15157 24263 \n3 15157 3842 19967 \n3 24263 19967 1362 \n3 1206 23641 19962 \n3 23641 5679 15161 \n3 19962 15161 3840 \n3 5679 23640 15159 \n3 23640 219 22399 \n3 15159 22399 5059 \n3 3840 15160 19964 \n3 15160 5059 22401 \n3 19964 22401 898 \n3 1362 19966 24264 \n3 19966 3841 15164 \n3 24264 15164 5991 \n3 3841 19965 15162 \n3 19965 898 22406 \n3 15162 22406 5063 \n3 5991 15163 24265 \n3 15163 5063 22409 \n3 24265 22409 298 \n3 219 23637 22398 \n3 23637 5677 15167 \n3 22398 15167 5058 \n3 5677 23636 15165 \n3 23636 1205 19969 \n3 15165 19969 3845 \n3 5058 15166 22400 \n3 15166 3845 19973 \n3 22400 19973 896 \n3 1205 23635 19968 \n3 23635 5676 15170 \n3 19968 15170 3843 \n3 5676 23634 15168 \n3 23634 94 25109 \n3 15168 25109 6413 \n3 3843 15169 19970 \n3 15169 6413 25108 \n3 19970 25108 1525 \n3 896 19972 22402 \n3 19972 3844 15173 \n3 22402 15173 5060 \n3 3844 19971 15171 \n3 19971 1525 25107 \n3 15171 25107 6412 \n3 5060 15172 22403 \n3 15172 6412 25106 \n3 22403 25106 379 \n3 298 22408 24266 \n3 22408 5062 15176 \n3 24266 15176 5992 \n3 5062 22407 15174 \n3 22407 897 19975 \n3 15174 19975 3848 \n3 5992 15175 24267 \n3 15175 3848 19979 \n3 24267 19979 1363 \n3 897 22405 19974 \n3 22405 5061 15179 \n3 19974 15179 3846 \n3 5061 22404 15177 \n3 22404 379 25105 \n3 15177 25105 6411 \n3 3846 15178 19976 \n3 15178 6411 25104 \n3 19976 25104 1524 \n3 1363 19978 24268 \n3 19978 3847 15182 \n3 24268 15182 5993 \n3 3847 19977 15180 \n3 19977 1524 25103 \n3 15180 25103 6410 \n3 5993 15181 24269 \n3 15181 6410 25102 \n3 24269 25102 23 \n3 1713 24292 25174 \n3 24292 6004 15185 \n3 25174 15185 6446 \n3 6004 24291 15183 \n3 24291 1368 19981 \n3 15183 19981 3851 \n3 6446 15184 25175 \n3 15184 3851 19985 \n3 25175 19985 1598 \n3 1368 24289 19980 \n3 24289 6003 15188 \n3 19980 15188 3849 \n3 6003 24288 15186 \n3 24288 300 22411 \n3 15186 22411 5065 \n3 3849 15187 19982 \n3 15187 5065 22413 \n3 19982 22413 901 \n3 1598 19984 25176 \n3 19984 3850 15191 \n3 25176 15191 6447 \n3 3850 19983 15189 \n3 19983 901 22418 \n3 15189 22418 5069 \n3 6447 15190 25177 \n3 15190 5069 22421 \n3 25177 22421 1664 \n3 300 24285 22410 \n3 24285 6001 15194 \n3 22410 15194 5064 \n3 6001 24284 15192 \n3 24284 1367 19987 \n3 15192 19987 3854 \n3 5064 15193 22412 \n3 15193 3854 19991 \n3 22412 19991 899 \n3 1367 24283 19986 \n3 24283 6000 15197 \n3 19986 15197 3852 \n3 6000 24282 15195 \n3 24282 54 23647 \n3 15195 23647 5683 \n3 3852 15196 19988 \n3 15196 5683 23649 \n3 19988 23649 1209 \n3 899 19990 22414 \n3 19990 3853 15200 \n3 22414 15200 5066 \n3 3853 19989 15198 \n3 19989 1209 23652 \n3 15198 23652 5685 \n3 5066 15199 22415 \n3 15199 5685 23653 \n3 22415 23653 223 \n3 1664 22420 25178 \n3 22420 5068 15203 \n3 25178 15203 6448 \n3 5068 22419 15201 \n3 22419 900 19993 \n3 15201 19993 3857 \n3 6448 15202 25179 \n3 15202 3857 19997 \n3 25179 19997 1599 \n3 900 22417 19992 \n3 22417 5067 15206 \n3 19992 15206 3855 \n3 5067 22416 15204 \n3 22416 223 23662 \n3 15204 23662 5690 \n3 3855 15205 19994 \n3 15205 5690 23663 \n3 19994 23663 1213 \n3 1599 19996 25180 \n3 19996 3856 15209 \n3 25180 15209 6449 \n3 3856 19995 15207 \n3 19995 1213 23666 \n3 15207 23666 5693 \n3 6449 15208 25181 \n3 15208 5693 23669 \n3 25181 23669 1697 \n3 54 24277 23646 \n3 24277 5997 15212 \n3 23646 15212 5682 \n3 5997 24276 15210 \n3 24276 1365 19999 \n3 15210 19999 3860 \n3 5682 15211 23648 \n3 15211 3860 20003 \n3 23648 20003 1208 \n3 1365 24275 19998 \n3 24275 5996 15215 \n3 19998 15215 3858 \n3 5996 24274 15213 \n3 24274 299 22423 \n3 15213 22423 5071 \n3 3858 15214 20000 \n3 15214 5071 22425 \n3 20000 22425 904 \n3 1208 20002 23650 \n3 20002 3859 15218 \n3 23650 15218 5684 \n3 3859 20001 15216 \n3 20001 904 22430 \n3 15216 22430 5075 \n3 5684 15217 23651 \n3 15217 5075 22433 \n3 23651 22433 221 \n3 299 24273 22422 \n3 24273 5995 15221 \n3 22422 15221 5070 \n3 5995 24272 15219 \n3 24272 1364 20005 \n3 15219 20005 3863 \n3 5070 15220 22424 \n3 15220 3863 20009 \n3 22424 20009 902 \n3 1364 24271 20004 \n3 24271 5994 15224 \n3 20004 15224 3861 \n3 5994 24270 15222 \n3 24270 23 25093 \n3 15222 25093 6405 \n3 3861 15223 20006 \n3 15223 6405 25092 \n3 20006 25092 1521 \n3 902 20008 22426 \n3 20008 3862 15227 \n3 22426 15227 5072 \n3 3862 20007 15225 \n3 20007 1521 25091 \n3 15225 25091 6404 \n3 5072 15226 22427 \n3 15226 6404 25090 \n3 22427 25090 377 \n3 221 22432 23654 \n3 22432 5074 15230 \n3 23654 15230 5686 \n3 5074 22431 15228 \n3 22431 903 20011 \n3 15228 20011 3866 \n3 5686 15229 23655 \n3 15229 3866 20015 \n3 23655 20015 1210 \n3 903 22429 20010 \n3 22429 5073 15233 \n3 20010 15233 3864 \n3 5073 22428 15231 \n3 22428 377 25089 \n3 15231 25089 6403 \n3 3864 15232 20012 \n3 15232 6403 25088 \n3 20012 25088 1520 \n3 1210 20014 23656 \n3 20014 3865 15236 \n3 23656 15236 5687 \n3 3865 20013 15234 \n3 20013 1520 25087 \n3 15234 25087 6402 \n3 5687 15235 23657 \n3 15235 6402 25086 \n3 23657 25086 93 \n3 1697 23668 25182 \n3 23668 5692 15239 \n3 25182 15239 6450 \n3 5692 23667 15237 \n3 23667 1212 20017 \n3 15237 20017 3869 \n3 6450 15238 25183 \n3 15238 3869 20021 \n3 25183 20021 1600 \n3 1212 23665 20016 \n3 23665 5691 15242 \n3 20016 15242 3867 \n3 5691 23664 15240 \n3 23664 222 22435 \n3 15240 22435 5077 \n3 3867 15241 20018 \n3 15241 5077 22437 \n3 20018 22437 907 \n3 1600 20020 25184 \n3 20020 3868 15245 \n3 25184 15245 6451 \n3 3868 20019 15243 \n3 20019 907 22442 \n3 15243 22442 5081 \n3 6451 15244 25185 \n3 15244 5081 22445 \n3 25185 22445 1665 \n3 222 23661 22434 \n3 23661 5689 15248 \n3 22434 15248 5076 \n3 5689 23660 15246 \n3 23660 1211 20023 \n3 15246 20023 3872 \n3 5076 15247 22436 \n3 15247 3872 20027 \n3 22436 20027 905 \n3 1211 23659 20022 \n3 23659 5688 15251 \n3 20022 15251 3870 \n3 5688 23658 15249 \n3 23658 93 25085 \n3 15249 25085 6401 \n3 3870 15250 20024 \n3 15250 6401 25084 \n3 20024 25084 1519 \n3 905 20026 22438 \n3 20026 3871 15254 \n3 22438 15254 5078 \n3 3871 20025 15252 \n3 20025 1519 25083 \n3 15252 25083 6400 \n3 5078 15253 22439 \n3 15253 6400 25082 \n3 22439 25082 376 \n3 1665 22444 25186 \n3 22444 5080 15257 \n3 25186 15257 6452 \n3 5080 22443 15255 \n3 22443 906 20029 \n3 15255 20029 3875 \n3 6452 15256 25187 \n3 15256 3875 20033 \n3 25187 20033 1601 \n3 906 22441 20028 \n3 22441 5079 15260 \n3 20028 15260 3873 \n3 5079 22440 15258 \n3 22440 376 25081 \n3 15258 25081 6399 \n3 3873 15259 20030 \n3 15259 6399 25080 \n3 20030 25080 1518 \n3 1601 20032 25188 \n3 20032 3874 15263 \n3 25188 15263 6453 \n3 3874 20031 15261 \n3 20031 1518 25079 \n3 15261 25079 6398 \n3 6453 15262 25189 \n3 15262 6398 25078 \n3 25189 25078 1727 \n3 1730 25190 25191 \n3 25190 6454 15266 \n3 25191 15266 6455 \n3 6454 25192 15264 \n3 25192 1602 20035 \n3 15264 20035 3878 \n3 6455 15265 25193 \n3 15265 3878 20039 \n3 25193 20039 1603 \n3 1602 25194 20034 \n3 25194 6456 15269 \n3 20034 15269 3876 \n3 6456 25195 15267 \n3 25195 1666 22447 \n3 15267 22447 5083 \n3 3876 15268 20036 \n3 15268 5083 22449 \n3 20036 22449 910 \n3 1603 20038 25196 \n3 20038 3877 15272 \n3 25196 15272 6457 \n3 3877 20037 15270 \n3 20037 910 22454 \n3 15270 22454 5087 \n3 6457 15271 25197 \n3 15271 5087 22457 \n3 25197 22457 1667 \n3 1666 25198 22446 \n3 25198 6458 15275 \n3 22446 15275 5082 \n3 6458 25199 15273 \n3 25199 1604 20041 \n3 15273 20041 3881 \n3 5082 15274 22448 \n3 15274 3881 20045 \n3 22448 20045 908 \n3 1604 25200 20040 \n3 25200 6459 15278 \n3 20040 15278 3879 \n3 6459 25201 15276 \n3 25201 1698 23671 \n3 15276 23671 5695 \n3 3879 15277 20042 \n3 15277 5695 23673 \n3 20042 23673 1215 \n3 908 20044 22450 \n3 20044 3880 15281 \n3 22450 15281 5084 \n3 3880 20043 15279 \n3 20043 1215 23676 \n3 15279 23676 5697 \n3 5084 15280 22451 \n3 15280 5697 23677 \n3 22451 23677 226 \n3 1667 22456 25202 \n3 22456 5086 15284 \n3 25202 15284 6460 \n3 5086 22455 15282 \n3 22455 909 20047 \n3 15282 20047 3884 \n3 6460 15283 25203 \n3 15283 3884 20051 \n3 25203 20051 1605 \n3 909 22453 20046 \n3 22453 5085 15287 \n3 20046 15287 3882 \n3 5085 22452 15285 \n3 22452 226 23686 \n3 15285 23686 5702 \n3 3882 15286 20048 \n3 15286 5702 23687 \n3 20048 23687 1219 \n3 1605 20050 25204 \n3 20050 3883 15290 \n3 25204 15290 6461 \n3 3883 20049 15288 \n3 20049 1219 23690 \n3 15288 23690 5705 \n3 6461 15289 25205 \n3 15289 5705 23693 \n3 25205 23693 1699 \n3 1698 25206 23670 \n3 25206 6462 15293 \n3 23670 15293 5694 \n3 6462 25207 15291 \n3 25207 1606 20053 \n3 15291 20053 3887 \n3 5694 15292 23672 \n3 15292 3887 20057 \n3 23672 20057 1214 \n3 1606 25208 20052 \n3 25208 6463 15296 \n3 20052 15296 3885 \n3 6463 25209 15294 \n3 25209 1668 22459 \n3 15294 22459 5089 \n3 3885 15295 20054 \n3 15295 5089 22461 \n3 20054 22461 913 \n3 1214 20056 23674 \n3 20056 3886 15299 \n3 23674 15299 5696 \n3 3886 20055 15297 \n3 20055 913 22466 \n3 15297 22466 5093 \n3 5696 15298 23675 \n3 15298 5093 22469 \n3 23675 22469 224 \n3 1668 25210 22458 \n3 25210 6464 15302 \n3 22458 15302 5088 \n3 6464 25211 15300 \n3 25211 1607 20059 \n3 15300 20059 3890 \n3 5088 15301 22460 \n3 15301 3890 20063 \n3 22460 20063 911 \n3 1607 25212 20058 \n3 25212 6465 15305 \n3 20058 15305 3888 \n3 6465 25213 15303 \n3 25213 1714 24295 \n3 15303 24295 6007 \n3 3888 15304 20060 \n3 15304 6007 24297 \n3 20060 24297 1371 \n3 911 20062 22462 \n3 20062 3889 15308 \n3 22462 15308 5090 \n3 3889 20061 15306 \n3 20061 1371 24300 \n3 15306 24300 6009 \n3 5090 15307 22463 \n3 15307 6009 24301 \n3 22463 24301 303 \n3 224 22468 23678 \n3 22468 5092 15311 \n3 23678 15311 5698 \n3 5092 22467 15309 \n3 22467 912 20065 \n3 15309 20065 3893 \n3 5698 15310 23679 \n3 15310 3893 20069 \n3 23679 20069 1216 \n3 912 22465 20064 \n3 22465 5091 15314 \n3 20064 15314 3891 \n3 5091 22464 15312 \n3 22464 303 24306 \n3 15312 24306 6012 \n3 3891 15313 20066 \n3 15313 6012 24307 \n3 20066 24307 1373 \n3 1216 20068 23680 \n3 20068 3892 15317 \n3 23680 15317 5699 \n3 3892 20067 15315 \n3 20067 1373 24308 \n3 15315 24308 6013 \n3 5699 15316 23681 \n3 15316 6013 24309 \n3 23681 24309 58 \n3 1699 23692 25214 \n3 23692 5704 15320 \n3 25214 15320 6466 \n3 5704 23691 15318 \n3 23691 1218 20071 \n3 15318 20071 3896 \n3 6466 15319 25215 \n3 15319 3896 20075 \n3 25215 20075 1608 \n3 1218 23689 20070 \n3 23689 5703 15323 \n3 20070 15323 3894 \n3 5703 23688 15321 \n3 23688 225 22471 \n3 15321 22471 5095 \n3 3894 15322 20072 \n3 15322 5095 22473 \n3 20072 22473 916 \n3 1608 20074 25216 \n3 20074 3895 15326 \n3 25216 15326 6467 \n3 3895 20073 15324 \n3 20073 916 22478 \n3 15324 22478 5099 \n3 6467 15325 25217 \n3 15325 5099 22481 \n3 25217 22481 1669 \n3 225 23685 22470 \n3 23685 5701 15329 \n3 22470 15329 5094 \n3 5701 23684 15327 \n3 23684 1217 20077 \n3 15327 20077 3899 \n3 5094 15328 22472 \n3 15328 3899 20081 \n3 22472 20081 914 \n3 1217 23683 20076 \n3 23683 5700 15332 \n3 20076 15332 3897 \n3 5700 23682 15330 \n3 23682 58 24326 \n3 15330 24326 6022 \n3 3897 15331 20078 \n3 15331 6022 24327 \n3 20078 24327 1378 \n3 914 20080 22474 \n3 20080 3898 15335 \n3 22474 15335 5096 \n3 3898 20079 15333 \n3 20079 1378 24328 \n3 15333 24328 6023 \n3 5096 15334 22475 \n3 15334 6023 24329 \n3 22475 24329 307 \n3 1669 22480 25218 \n3 22480 5098 15338 \n3 25218 15338 6468 \n3 5098 22479 15336 \n3 22479 915 20083 \n3 15336 20083 3902 \n3 6468 15337 25219 \n3 15337 3902 20087 \n3 25219 20087 1609 \n3 915 22477 20082 \n3 22477 5097 15341 \n3 20082 15341 3900 \n3 5097 22476 15339 \n3 22476 307 24334 \n3 15339 24334 6026 \n3 3900 15340 20084 \n3 15340 6026 24335 \n3 20084 24335 1381 \n3 1609 20086 25220 \n3 20086 3901 15344 \n3 25220 15344 6469 \n3 3901 20085 15342 \n3 20085 1381 24338 \n3 15342 24338 6029 \n3 6469 15343 25221 \n3 15343 6029 24341 \n3 25221 24341 1715 \n3 1714 25222 24294 \n3 25222 6470 15347 \n3 24294 15347 6006 \n3 6470 25223 15345 \n3 25223 1610 20089 \n3 15345 20089 3905 \n3 6006 15346 24296 \n3 15346 3905 20093 \n3 24296 20093 1370 \n3 1610 25224 20088 \n3 25224 6471 15350 \n3 20088 15350 3903 \n3 6471 25225 15348 \n3 25225 1670 22483 \n3 15348 22483 5101 \n3 3903 15349 20090 \n3 15349 5101 22485 \n3 20090 22485 919 \n3 1370 20092 24298 \n3 20092 3904 15353 \n3 24298 15353 6008 \n3 3904 20091 15351 \n3 20091 919 22490 \n3 15351 22490 5105 \n3 6008 15352 24299 \n3 15352 5105 22493 \n3 24299 22493 302 \n3 1670 25226 22482 \n3 25226 6472 15356 \n3 22482 15356 5100 \n3 6472 25227 15354 \n3 25227 1611 20095 \n3 15354 20095 3908 \n3 5100 15355 22484 \n3 15355 3908 20099 \n3 22484 20099 917 \n3 1611 25228 20094 \n3 25228 6473 15359 \n3 20094 15359 3906 \n3 6473 25229 15357 \n3 25229 1700 23695 \n3 15357 23695 5707 \n3 3906 15358 20096 \n3 15358 5707 23697 \n3 20096 23697 1221 \n3 917 20098 22486 \n3 20098 3907 15362 \n3 22486 15362 5102 \n3 3907 20097 15360 \n3 20097 1221 23700 \n3 15360 23700 5709 \n3 5102 15361 22487 \n3 15361 5709 23701 \n3 22487 23701 229 \n3 302 22492 24302 \n3 22492 5104 15365 \n3 24302 15365 6010 \n3 5104 22491 15363 \n3 22491 918 20101 \n3 15363 20101 3911 \n3 6010 15364 24303 \n3 15364 3911 20105 \n3 24303 20105 1372 \n3 918 22489 20100 \n3 22489 5103 15368 \n3 20100 15368 3909 \n3 5103 22488 15366 \n3 22488 229 23710 \n3 15366 23710 5714 \n3 3909 15367 20102 \n3 15367 5714 23711 \n3 20102 23711 1225 \n3 1372 20104 24304 \n3 20104 3910 15371 \n3 24304 15371 6011 \n3 3910 20103 15369 \n3 20103 1225 23714 \n3 15369 23714 5717 \n3 6011 15370 24305 \n3 15370 5717 23717 \n3 24305 23717 56 \n3 1700 25230 23694 \n3 25230 6474 15374 \n3 23694 15374 5706 \n3 6474 25231 15372 \n3 25231 1612 20107 \n3 15372 20107 3914 \n3 5706 15373 23696 \n3 15373 3914 20111 \n3 23696 20111 1220 \n3 1612 25232 20106 \n3 25232 6475 15377 \n3 20106 15377 3912 \n3 6475 25233 15375 \n3 25233 1671 22495 \n3 15375 22495 5107 \n3 3912 15376 20108 \n3 15376 5107 22497 \n3 20108 22497 922 \n3 1220 20110 23698 \n3 20110 3913 15380 \n3 23698 15380 5708 \n3 3913 20109 15378 \n3 20109 922 22502 \n3 15378 22502 5111 \n3 5708 15379 23699 \n3 15379 5111 22505 \n3 23699 22505 227 \n3 1671 25234 22494 \n3 25234 6476 15383 \n3 22494 15383 5106 \n3 6476 25235 15381 \n3 25235 1613 20113 \n3 15381 20113 3917 \n3 5106 15382 22496 \n3 15382 3917 20117 \n3 22496 20117 920 \n3 1613 25236 20112 \n3 25236 6477 15386 \n3 20112 15386 3915 \n3 6477 25237 15384 \n3 25237 1731 25238 \n3 15384 25238 6478 \n3 3915 15385 20114 \n3 15385 6478 25239 \n3 20114 25239 1530 \n3 920 20116 22498 \n3 20116 3916 15389 \n3 22498 15389 5108 \n3 3916 20115 15387 \n3 20115 1530 25240 \n3 15387 25240 6479 \n3 5108 15388 22499 \n3 15388 6479 25241 \n3 22499 25241 382 \n3 227 22504 23702 \n3 22504 5110 15392 \n3 23702 15392 5710 \n3 5110 22503 15390 \n3 22503 921 20119 \n3 15390 20119 3920 \n3 5710 15391 23703 \n3 15391 3920 20123 \n3 23703 20123 1222 \n3 921 22501 20118 \n3 22501 5109 15395 \n3 20118 15395 3918 \n3 5109 22500 15393 \n3 22500 382 25242 \n3 15393 25242 6480 \n3 3918 15394 20120 \n3 15394 6480 25243 \n3 20120 25243 1531 \n3 1222 20122 23704 \n3 20122 3919 15398 \n3 23704 15398 5711 \n3 3919 20121 15396 \n3 20121 1531 25244 \n3 15396 25244 6481 \n3 5711 15397 23705 \n3 15397 6481 25245 \n3 23705 25245 96 \n3 56 23716 24310 \n3 23716 5716 15401 \n3 24310 15401 6014 \n3 5716 23715 15399 \n3 23715 1224 20125 \n3 15399 20125 3923 \n3 6014 15400 24311 \n3 15400 3923 20129 \n3 24311 20129 1374 \n3 1224 23713 20124 \n3 23713 5715 15404 \n3 20124 15404 3921 \n3 5715 23712 15402 \n3 23712 228 22507 \n3 15402 22507 5113 \n3 3921 15403 20126 \n3 15403 5113 22509 \n3 20126 22509 925 \n3 1374 20128 24312 \n3 20128 3922 15407 \n3 24312 15407 6015 \n3 3922 20127 15405 \n3 20127 925 22514 \n3 15405 22514 5117 \n3 6015 15406 24313 \n3 15406 5117 22517 \n3 24313 22517 304 \n3 228 23709 22506 \n3 23709 5713 15410 \n3 22506 15410 5112 \n3 5713 23708 15408 \n3 23708 1223 20131 \n3 15408 20131 3926 \n3 5112 15409 22508 \n3 15409 3926 20135 \n3 22508 20135 923 \n3 1223 23707 20130 \n3 23707 5712 15413 \n3 20130 15413 3924 \n3 5712 23706 15411 \n3 23706 96 25246 \n3 15411 25246 6482 \n3 3924 15412 20132 \n3 15412 6482 25247 \n3 20132 25247 1532 \n3 923 20134 22510 \n3 20134 3925 15416 \n3 22510 15416 5114 \n3 3925 20133 15414 \n3 20133 1532 25248 \n3 15414 25248 6483 \n3 5114 15415 22511 \n3 15415 6483 25249 \n3 22511 25249 383 \n3 304 22516 24314 \n3 22516 5116 15419 \n3 24314 15419 6016 \n3 5116 22515 15417 \n3 22515 924 20137 \n3 15417 20137 3929 \n3 6016 15418 24315 \n3 15418 3929 20141 \n3 24315 20141 1375 \n3 924 22513 20136 \n3 22513 5115 15422 \n3 20136 15422 3927 \n3 5115 22512 15420 \n3 22512 383 25250 \n3 15420 25250 6484 \n3 3927 15421 20138 \n3 15421 6484 25251 \n3 20138 25251 1533 \n3 1375 20140 24316 \n3 20140 3928 15425 \n3 24316 15425 6017 \n3 3928 20139 15423 \n3 20139 1533 25252 \n3 15423 25252 6485 \n3 6017 15424 24317 \n3 15424 6485 25253 \n3 24317 25253 25 \n3 1715 24340 25254 \n3 24340 6028 15428 \n3 25254 15428 6486 \n3 6028 24339 15426 \n3 24339 1380 20143 \n3 15426 20143 3932 \n3 6486 15427 25255 \n3 15427 3932 20147 \n3 25255 20147 1614 \n3 1380 24337 20142 \n3 24337 6027 15431 \n3 20142 15431 3930 \n3 6027 24336 15429 \n3 24336 306 22519 \n3 15429 22519 5119 \n3 3930 15430 20144 \n3 15430 5119 22521 \n3 20144 22521 928 \n3 1614 20146 25256 \n3 20146 3931 15434 \n3 25256 15434 6487 \n3 3931 20145 15432 \n3 20145 928 22526 \n3 15432 22526 5123 \n3 6487 15433 25257 \n3 15433 5123 22529 \n3 25257 22529 1672 \n3 306 24333 22518 \n3 24333 6025 15437 \n3 22518 15437 5118 \n3 6025 24332 15435 \n3 24332 1379 20149 \n3 15435 20149 3935 \n3 5118 15436 22520 \n3 15436 3935 20153 \n3 22520 20153 926 \n3 1379 24331 20148 \n3 24331 6024 15440 \n3 20148 15440 3933 \n3 6024 24330 15438 \n3 24330 57 23719 \n3 15438 23719 5719 \n3 3933 15439 20150 \n3 15439 5719 23721 \n3 20150 23721 1227 \n3 926 20152 22522 \n3 20152 3934 15443 \n3 22522 15443 5120 \n3 3934 20151 15441 \n3 20151 1227 23724 \n3 15441 23724 5721 \n3 5120 15442 22523 \n3 15442 5721 23725 \n3 22523 23725 232 \n3 1672 22528 25258 \n3 22528 5122 15446 \n3 25258 15446 6488 \n3 5122 22527 15444 \n3 22527 927 20155 \n3 15444 20155 3938 \n3 6488 15445 25259 \n3 15445 3938 20159 \n3 25259 20159 1615 \n3 927 22525 20154 \n3 22525 5121 15449 \n3 20154 15449 3936 \n3 5121 22524 15447 \n3 22524 232 23734 \n3 15447 23734 5726 \n3 3936 15448 20156 \n3 15448 5726 23735 \n3 20156 23735 1231 \n3 1615 20158 25260 \n3 20158 3937 15452 \n3 25260 15452 6489 \n3 3937 20157 15450 \n3 20157 1231 23738 \n3 15450 23738 5729 \n3 6489 15451 25261 \n3 15451 5729 23741 \n3 25261 23741 1701 \n3 57 24325 23718 \n3 24325 6021 15455 \n3 23718 15455 5718 \n3 6021 24324 15453 \n3 24324 1377 20161 \n3 15453 20161 3941 \n3 5718 15454 23720 \n3 15454 3941 20165 \n3 23720 20165 1226 \n3 1377 24323 20160 \n3 24323 6020 15458 \n3 20160 15458 3939 \n3 6020 24322 15456 \n3 24322 305 22531 \n3 15456 22531 5125 \n3 3939 15457 20162 \n3 15457 5125 22533 \n3 20162 22533 931 \n3 1226 20164 23722 \n3 20164 3940 15461 \n3 23722 15461 5720 \n3 3940 20163 15459 \n3 20163 931 22538 \n3 15459 22538 5129 \n3 5720 15460 23723 \n3 15460 5129 22541 \n3 23723 22541 230 \n3 305 24321 22530 \n3 24321 6019 15464 \n3 22530 15464 5124 \n3 6019 24320 15462 \n3 24320 1376 20167 \n3 15462 20167 3944 \n3 5124 15463 22532 \n3 15463 3944 20171 \n3 22532 20171 929 \n3 1376 24319 20166 \n3 24319 6018 15467 \n3 20166 15467 3942 \n3 6018 24318 15465 \n3 24318 25 25262 \n3 15465 25262 6490 \n3 3942 15466 20168 \n3 15466 6490 25263 \n3 20168 25263 1534 \n3 929 20170 22534 \n3 20170 3943 15470 \n3 22534 15470 5126 \n3 3943 20169 15468 \n3 20169 1534 25264 \n3 15468 25264 6491 \n3 5126 15469 22535 \n3 15469 6491 25265 \n3 22535 25265 384 \n3 230 22540 23726 \n3 22540 5128 15473 \n3 23726 15473 5722 \n3 5128 22539 15471 \n3 22539 930 20173 \n3 15471 20173 3947 \n3 5722 15472 23727 \n3 15472 3947 20177 \n3 23727 20177 1228 \n3 930 22537 20172 \n3 22537 5127 15476 \n3 20172 15476 3945 \n3 5127 22536 15474 \n3 22536 384 25266 \n3 15474 25266 6492 \n3 3945 15475 20174 \n3 15475 6492 25267 \n3 20174 25267 1535 \n3 1228 20176 23728 \n3 20176 3946 15479 \n3 23728 15479 5723 \n3 3946 20175 15477 \n3 20175 1535 25268 \n3 15477 25268 6493 \n3 5723 15478 23729 \n3 15478 6493 25269 \n3 23729 25269 97 \n3 1701 23740 25270 \n3 23740 5728 15482 \n3 25270 15482 6494 \n3 5728 23739 15480 \n3 23739 1230 20179 \n3 15480 20179 3950 \n3 6494 15481 25271 \n3 15481 3950 20183 \n3 25271 20183 1616 \n3 1230 23737 20178 \n3 23737 5727 15485 \n3 20178 15485 3948 \n3 5727 23736 15483 \n3 23736 231 22543 \n3 15483 22543 5131 \n3 3948 15484 20180 \n3 15484 5131 22545 \n3 20180 22545 934 \n3 1616 20182 25272 \n3 20182 3949 15488 \n3 25272 15488 6495 \n3 3949 20181 15486 \n3 20181 934 22550 \n3 15486 22550 5135 \n3 6495 15487 25273 \n3 15487 5135 22553 \n3 25273 22553 1673 \n3 231 23733 22542 \n3 23733 5725 15491 \n3 22542 15491 5130 \n3 5725 23732 15489 \n3 23732 1229 20185 \n3 15489 20185 3953 \n3 5130 15490 22544 \n3 15490 3953 20189 \n3 22544 20189 932 \n3 1229 23731 20184 \n3 23731 5724 15494 \n3 20184 15494 3951 \n3 5724 23730 15492 \n3 23730 97 25274 \n3 15492 25274 6496 \n3 3951 15493 20186 \n3 15493 6496 25275 \n3 20186 25275 1536 \n3 932 20188 22546 \n3 20188 3952 15497 \n3 22546 15497 5132 \n3 3952 20187 15495 \n3 20187 1536 25276 \n3 15495 25276 6497 \n3 5132 15496 22547 \n3 15496 6497 25277 \n3 22547 25277 385 \n3 1673 22552 25278 \n3 22552 5134 15500 \n3 25278 15500 6498 \n3 5134 22551 15498 \n3 22551 933 20191 \n3 15498 20191 3956 \n3 6498 15499 25279 \n3 15499 3956 20195 \n3 25279 20195 1617 \n3 933 22549 20190 \n3 22549 5133 15503 \n3 20190 15503 3954 \n3 5133 22548 15501 \n3 22548 385 25280 \n3 15501 25280 6499 \n3 3954 15502 20192 \n3 15502 6499 25281 \n3 20192 25281 1537 \n3 1617 20194 25282 \n3 20194 3955 15506 \n3 25282 15506 6501 \n3 3955 20193 15504 \n3 20193 1537 25283 \n3 15504 25283 6500 \n3 6501 15505 25285 \n3 15505 6500 25284 \n3 25285 25284 1732 \n3 1733 25286 25287 \n3 25286 6502 15509 \n3 25287 15509 6503 \n3 6502 25288 15507 \n3 25288 1618 20197 \n3 15507 20197 3959 \n3 6503 15508 25289 \n3 15508 3959 20201 \n3 25289 20201 1619 \n3 1618 25290 20196 \n3 25290 6504 15512 \n3 20196 15512 3957 \n3 6504 25291 15510 \n3 25291 1674 22555 \n3 15510 22555 5137 \n3 3957 15511 20198 \n3 15511 5137 22557 \n3 20198 22557 937 \n3 1619 20200 25292 \n3 20200 3958 15515 \n3 25292 15515 6505 \n3 3958 20199 15513 \n3 20199 937 22562 \n3 15513 22562 5141 \n3 6505 15514 25293 \n3 15514 5141 22565 \n3 25293 22565 1675 \n3 1674 25294 22554 \n3 25294 6506 15518 \n3 22554 15518 5136 \n3 6506 25295 15516 \n3 25295 1620 20203 \n3 15516 20203 3962 \n3 5136 15517 22556 \n3 15517 3962 20207 \n3 22556 20207 935 \n3 1620 25296 20202 \n3 25296 6507 15521 \n3 20202 15521 3960 \n3 6507 25297 15519 \n3 25297 1702 23743 \n3 15519 23743 5731 \n3 3960 15520 20204 \n3 15520 5731 23745 \n3 20204 23745 1233 \n3 935 20206 22558 \n3 20206 3961 15524 \n3 22558 15524 5138 \n3 3961 20205 15522 \n3 20205 1233 23748 \n3 15522 23748 5733 \n3 5138 15523 22559 \n3 15523 5733 23749 \n3 22559 23749 235 \n3 1675 22564 25298 \n3 22564 5140 15527 \n3 25298 15527 6508 \n3 5140 22563 15525 \n3 22563 936 20209 \n3 15525 20209 3965 \n3 6508 15526 25299 \n3 15526 3965 20213 \n3 25299 20213 1621 \n3 936 22561 20208 \n3 22561 5139 15530 \n3 20208 15530 3963 \n3 5139 22560 15528 \n3 22560 235 23758 \n3 15528 23758 5738 \n3 3963 15529 20210 \n3 15529 5738 23759 \n3 20210 23759 1237 \n3 1621 20212 25300 \n3 20212 3964 15533 \n3 25300 15533 6509 \n3 3964 20211 15531 \n3 20211 1237 23762 \n3 15531 23762 5741 \n3 6509 15532 25301 \n3 15532 5741 23765 \n3 25301 23765 1703 \n3 1702 25302 23742 \n3 25302 6510 15536 \n3 23742 15536 5730 \n3 6510 25303 15534 \n3 25303 1622 20215 \n3 15534 20215 3968 \n3 5730 15535 23744 \n3 15535 3968 20219 \n3 23744 20219 1232 \n3 1622 25304 20214 \n3 25304 6511 15539 \n3 20214 15539 3966 \n3 6511 25305 15537 \n3 25305 1676 22567 \n3 15537 22567 5143 \n3 3966 15538 20216 \n3 15538 5143 22569 \n3 20216 22569 940 \n3 1232 20218 23746 \n3 20218 3967 15542 \n3 23746 15542 5732 \n3 3967 20217 15540 \n3 20217 940 22574 \n3 15540 22574 5147 \n3 5732 15541 23747 \n3 15541 5147 22577 \n3 23747 22577 233 \n3 1676 25306 22566 \n3 25306 6512 15545 \n3 22566 15545 5142 \n3 6512 25307 15543 \n3 25307 1623 20221 \n3 15543 20221 3971 \n3 5142 15544 22568 \n3 15544 3971 20225 \n3 22568 20225 938 \n3 1623 25308 20220 \n3 25308 6513 15548 \n3 20220 15548 3969 \n3 6513 25309 15546 \n3 25309 1716 24343 \n3 15546 24343 6031 \n3 3969 15547 20222 \n3 15547 6031 24345 \n3 20222 24345 1383 \n3 938 20224 22570 \n3 20224 3970 15551 \n3 22570 15551 5144 \n3 3970 20223 15549 \n3 20223 1383 24348 \n3 15549 24348 6033 \n3 5144 15550 22571 \n3 15550 6033 24349 \n3 22571 24349 309 \n3 233 22576 23750 \n3 22576 5146 15554 \n3 23750 15554 5734 \n3 5146 22575 15552 \n3 22575 939 20227 \n3 15552 20227 3974 \n3 5734 15553 23751 \n3 15553 3974 20231 \n3 23751 20231 1234 \n3 939 22573 20226 \n3 22573 5145 15557 \n3 20226 15557 3972 \n3 5145 22572 15555 \n3 22572 309 24354 \n3 15555 24354 6036 \n3 3972 15556 20228 \n3 15556 6036 24355 \n3 20228 24355 1385 \n3 1234 20230 23752 \n3 20230 3973 15560 \n3 23752 15560 5735 \n3 3973 20229 15558 \n3 20229 1385 24356 \n3 15558 24356 6037 \n3 5735 15559 23753 \n3 15559 6037 24357 \n3 23753 24357 61 \n3 1703 23764 25310 \n3 23764 5740 15563 \n3 25310 15563 6514 \n3 5740 23763 15561 \n3 23763 1236 20233 \n3 15561 20233 3977 \n3 6514 15562 25311 \n3 15562 3977 20237 \n3 25311 20237 1624 \n3 1236 23761 20232 \n3 23761 5739 15566 \n3 20232 15566 3975 \n3 5739 23760 15564 \n3 23760 234 22579 \n3 15564 22579 5149 \n3 3975 15565 20234 \n3 15565 5149 22581 \n3 20234 22581 943 \n3 1624 20236 25312 \n3 20236 3976 15569 \n3 25312 15569 6515 \n3 3976 20235 15567 \n3 20235 943 22586 \n3 15567 22586 5153 \n3 6515 15568 25313 \n3 15568 5153 22589 \n3 25313 22589 1677 \n3 234 23757 22578 \n3 23757 5737 15572 \n3 22578 15572 5148 \n3 5737 23756 15570 \n3 23756 1235 20239 \n3 15570 20239 3980 \n3 5148 15571 22580 \n3 15571 3980 20243 \n3 22580 20243 941 \n3 1235 23755 20238 \n3 23755 5736 15575 \n3 20238 15575 3978 \n3 5736 23754 15573 \n3 23754 61 24374 \n3 15573 24374 6046 \n3 3978 15574 20240 \n3 15574 6046 24375 \n3 20240 24375 1390 \n3 941 20242 22582 \n3 20242 3979 15578 \n3 22582 15578 5150 \n3 3979 20241 15576 \n3 20241 1390 24376 \n3 15576 24376 6047 \n3 5150 15577 22583 \n3 15577 6047 24377 \n3 22583 24377 313 \n3 1677 22588 25314 \n3 22588 5152 15581 \n3 25314 15581 6516 \n3 5152 22587 15579 \n3 22587 942 20245 \n3 15579 20245 3983 \n3 6516 15580 25315 \n3 15580 3983 20249 \n3 25315 20249 1625 \n3 942 22585 20244 \n3 22585 5151 15584 \n3 20244 15584 3981 \n3 5151 22584 15582 \n3 22584 313 24382 \n3 15582 24382 6050 \n3 3981 15583 20246 \n3 15583 6050 24383 \n3 20246 24383 1393 \n3 1625 20248 25316 \n3 20248 3982 15587 \n3 25316 15587 6517 \n3 3982 20247 15585 \n3 20247 1393 24386 \n3 15585 24386 6053 \n3 6517 15586 25317 \n3 15586 6053 24389 \n3 25317 24389 1717 \n3 1716 25318 24342 \n3 25318 6518 15590 \n3 24342 15590 6030 \n3 6518 25319 15588 \n3 25319 1626 20251 \n3 15588 20251 3986 \n3 6030 15589 24344 \n3 15589 3986 20255 \n3 24344 20255 1382 \n3 1626 25320 20250 \n3 25320 6519 15593 \n3 20250 15593 3984 \n3 6519 25321 15591 \n3 25321 1678 22591 \n3 15591 22591 5155 \n3 3984 15592 20252 \n3 15592 5155 22593 \n3 20252 22593 946 \n3 1382 20254 24346 \n3 20254 3985 15596 \n3 24346 15596 6032 \n3 3985 20253 15594 \n3 20253 946 22598 \n3 15594 22598 5159 \n3 6032 15595 24347 \n3 15595 5159 22601 \n3 24347 22601 308 \n3 1678 25322 22590 \n3 25322 6520 15599 \n3 22590 15599 5154 \n3 6520 25323 15597 \n3 25323 1627 20257 \n3 15597 20257 3989 \n3 5154 15598 22592 \n3 15598 3989 20261 \n3 22592 20261 944 \n3 1627 25324 20256 \n3 25324 6521 15602 \n3 20256 15602 3987 \n3 6521 25325 15600 \n3 25325 1704 23767 \n3 15600 23767 5743 \n3 3987 15601 20258 \n3 15601 5743 23769 \n3 20258 23769 1239 \n3 944 20260 22594 \n3 20260 3988 15605 \n3 22594 15605 5156 \n3 3988 20259 15603 \n3 20259 1239 23772 \n3 15603 23772 5745 \n3 5156 15604 22595 \n3 15604 5745 23773 \n3 22595 23773 238 \n3 308 22600 24350 \n3 22600 5158 15608 \n3 24350 15608 6034 \n3 5158 22599 15606 \n3 22599 945 20263 \n3 15606 20263 3992 \n3 6034 15607 24351 \n3 15607 3992 20267 \n3 24351 20267 1384 \n3 945 22597 20262 \n3 22597 5157 15611 \n3 20262 15611 3990 \n3 5157 22596 15609 \n3 22596 238 23782 \n3 15609 23782 5750 \n3 3990 15610 20264 \n3 15610 5750 23783 \n3 20264 23783 1243 \n3 1384 20266 24352 \n3 20266 3991 15614 \n3 24352 15614 6035 \n3 3991 20265 15612 \n3 20265 1243 23786 \n3 15612 23786 5753 \n3 6035 15613 24353 \n3 15613 5753 23789 \n3 24353 23789 59 \n3 1704 25326 23766 \n3 25326 6522 15617 \n3 23766 15617 5742 \n3 6522 25327 15615 \n3 25327 1628 20269 \n3 15615 20269 3995 \n3 5742 15616 23768 \n3 15616 3995 20273 \n3 23768 20273 1238 \n3 1628 25328 20268 \n3 25328 6523 15620 \n3 20268 15620 3993 \n3 6523 25329 15618 \n3 25329 1679 22603 \n3 15618 22603 5161 \n3 3993 15619 20270 \n3 15619 5161 22605 \n3 20270 22605 949 \n3 1238 20272 23770 \n3 20272 3994 15623 \n3 23770 15623 5744 \n3 3994 20271 15621 \n3 20271 949 22610 \n3 15621 22610 5165 \n3 5744 15622 23771 \n3 15622 5165 22613 \n3 23771 22613 236 \n3 1679 25330 22602 \n3 25330 6524 15626 \n3 22602 15626 5160 \n3 6524 25331 15624 \n3 25331 1629 20275 \n3 15624 20275 3998 \n3 5160 15625 22604 \n3 15625 3998 20279 \n3 22604 20279 947 \n3 1629 25332 20274 \n3 25332 6525 15629 \n3 20274 15629 3996 \n3 6525 25333 15627 \n3 25333 1732 25284 \n3 15627 25284 6500 \n3 3996 15628 20276 \n3 15628 6500 25283 \n3 20276 25283 1537 \n3 947 20278 22606 \n3 20278 3997 15632 \n3 22606 15632 5162 \n3 3997 20277 15630 \n3 20277 1537 25281 \n3 15630 25281 6499 \n3 5162 15631 22607 \n3 15631 6499 25280 \n3 22607 25280 385 \n3 236 22612 23774 \n3 22612 5164 15635 \n3 23774 15635 5746 \n3 5164 22611 15633 \n3 22611 948 20281 \n3 15633 20281 4001 \n3 5746 15634 23775 \n3 15634 4001 20285 \n3 23775 20285 1240 \n3 948 22609 20280 \n3 22609 5163 15638 \n3 20280 15638 3999 \n3 5163 22608 15636 \n3 22608 385 25277 \n3 15636 25277 6497 \n3 3999 15637 20282 \n3 15637 6497 25276 \n3 20282 25276 1536 \n3 1240 20284 23776 \n3 20284 4000 15641 \n3 23776 15641 5747 \n3 4000 20283 15639 \n3 20283 1536 25275 \n3 15639 25275 6496 \n3 5747 15640 23777 \n3 15640 6496 25274 \n3 23777 25274 97 \n3 59 23788 24358 \n3 23788 5752 15644 \n3 24358 15644 6038 \n3 5752 23787 15642 \n3 23787 1242 20287 \n3 15642 20287 4004 \n3 6038 15643 24359 \n3 15643 4004 20291 \n3 24359 20291 1386 \n3 1242 23785 20286 \n3 23785 5751 15647 \n3 20286 15647 4002 \n3 5751 23784 15645 \n3 23784 237 22615 \n3 15645 22615 5167 \n3 4002 15646 20288 \n3 15646 5167 22617 \n3 20288 22617 952 \n3 1386 20290 24360 \n3 20290 4003 15650 \n3 24360 15650 6039 \n3 4003 20289 15648 \n3 20289 952 22622 \n3 15648 22622 5171 \n3 6039 15649 24361 \n3 15649 5171 22625 \n3 24361 22625 310 \n3 237 23781 22614 \n3 23781 5749 15653 \n3 22614 15653 5166 \n3 5749 23780 15651 \n3 23780 1241 20293 \n3 15651 20293 4007 \n3 5166 15652 22616 \n3 15652 4007 20297 \n3 22616 20297 950 \n3 1241 23779 20292 \n3 23779 5748 15656 \n3 20292 15656 4005 \n3 5748 23778 15654 \n3 23778 97 25269 \n3 15654 25269 6493 \n3 4005 15655 20294 \n3 15655 6493 25268 \n3 20294 25268 1535 \n3 950 20296 22618 \n3 20296 4006 15659 \n3 22618 15659 5168 \n3 4006 20295 15657 \n3 20295 1535 25267 \n3 15657 25267 6492 \n3 5168 15658 22619 \n3 15658 6492 25266 \n3 22619 25266 384 \n3 310 22624 24362 \n3 22624 5170 15662 \n3 24362 15662 6040 \n3 5170 22623 15660 \n3 22623 951 20299 \n3 15660 20299 4010 \n3 6040 15661 24363 \n3 15661 4010 20303 \n3 24363 20303 1387 \n3 951 22621 20298 \n3 22621 5169 15665 \n3 20298 15665 4008 \n3 5169 22620 15663 \n3 22620 384 25265 \n3 15663 25265 6491 \n3 4008 15664 20300 \n3 15664 6491 25264 \n3 20300 25264 1534 \n3 1387 20302 24364 \n3 20302 4009 15668 \n3 24364 15668 6041 \n3 4009 20301 15666 \n3 20301 1534 25263 \n3 15666 25263 6490 \n3 6041 15667 24365 \n3 15667 6490 25262 \n3 24365 25262 25 \n3 1717 24388 25334 \n3 24388 6052 15671 \n3 25334 15671 6526 \n3 6052 24387 15669 \n3 24387 1392 20305 \n3 15669 20305 4013 \n3 6526 15670 25335 \n3 15670 4013 20309 \n3 25335 20309 1630 \n3 1392 24385 20304 \n3 24385 6051 15674 \n3 20304 15674 4011 \n3 6051 24384 15672 \n3 24384 312 22627 \n3 15672 22627 5173 \n3 4011 15673 20306 \n3 15673 5173 22629 \n3 20306 22629 955 \n3 1630 20308 25336 \n3 20308 4012 15677 \n3 25336 15677 6527 \n3 4012 20307 15675 \n3 20307 955 22634 \n3 15675 22634 5177 \n3 6527 15676 25337 \n3 15676 5177 22637 \n3 25337 22637 1680 \n3 312 24381 22626 \n3 24381 6049 15680 \n3 22626 15680 5172 \n3 6049 24380 15678 \n3 24380 1391 20311 \n3 15678 20311 4016 \n3 5172 15679 22628 \n3 15679 4016 20315 \n3 22628 20315 953 \n3 1391 24379 20310 \n3 24379 6048 15683 \n3 20310 15683 4014 \n3 6048 24378 15681 \n3 24378 60 23791 \n3 15681 23791 5755 \n3 4014 15682 20312 \n3 15682 5755 23793 \n3 20312 23793 1245 \n3 953 20314 22630 \n3 20314 4015 15686 \n3 22630 15686 5174 \n3 4015 20313 15684 \n3 20313 1245 23796 \n3 15684 23796 5757 \n3 5174 15685 22631 \n3 15685 5757 23797 \n3 22631 23797 241 \n3 1680 22636 25338 \n3 22636 5176 15689 \n3 25338 15689 6528 \n3 5176 22635 15687 \n3 22635 954 20317 \n3 15687 20317 4019 \n3 6528 15688 25339 \n3 15688 4019 20321 \n3 25339 20321 1631 \n3 954 22633 20316 \n3 22633 5175 15692 \n3 20316 15692 4017 \n3 5175 22632 15690 \n3 22632 241 23806 \n3 15690 23806 5762 \n3 4017 15691 20318 \n3 15691 5762 23807 \n3 20318 23807 1249 \n3 1631 20320 25340 \n3 20320 4018 15695 \n3 25340 15695 6529 \n3 4018 20319 15693 \n3 20319 1249 23810 \n3 15693 23810 5765 \n3 6529 15694 25341 \n3 15694 5765 23813 \n3 25341 23813 1705 \n3 60 24373 23790 \n3 24373 6045 15698 \n3 23790 15698 5754 \n3 6045 24372 15696 \n3 24372 1389 20323 \n3 15696 20323 4022 \n3 5754 15697 23792 \n3 15697 4022 20327 \n3 23792 20327 1244 \n3 1389 24371 20322 \n3 24371 6044 15701 \n3 20322 15701 4020 \n3 6044 24370 15699 \n3 24370 311 22639 \n3 15699 22639 5179 \n3 4020 15700 20324 \n3 15700 5179 22641 \n3 20324 22641 958 \n3 1244 20326 23794 \n3 20326 4021 15704 \n3 23794 15704 5756 \n3 4021 20325 15702 \n3 20325 958 22646 \n3 15702 22646 5183 \n3 5756 15703 23795 \n3 15703 5183 22649 \n3 23795 22649 239 \n3 311 24369 22638 \n3 24369 6043 15707 \n3 22638 15707 5178 \n3 6043 24368 15705 \n3 24368 1388 20329 \n3 15705 20329 4025 \n3 5178 15706 22640 \n3 15706 4025 20333 \n3 22640 20333 956 \n3 1388 24367 20328 \n3 24367 6042 15710 \n3 20328 15710 4023 \n3 6042 24366 15708 \n3 24366 25 25253 \n3 15708 25253 6485 \n3 4023 15709 20330 \n3 15709 6485 25252 \n3 20330 25252 1533 \n3 956 20332 22642 \n3 20332 4024 15713 \n3 22642 15713 5180 \n3 4024 20331 15711 \n3 20331 1533 25251 \n3 15711 25251 6484 \n3 5180 15712 22643 \n3 15712 6484 25250 \n3 22643 25250 383 \n3 239 22648 23798 \n3 22648 5182 15716 \n3 23798 15716 5758 \n3 5182 22647 15714 \n3 22647 957 20335 \n3 15714 20335 4028 \n3 5758 15715 23799 \n3 15715 4028 20339 \n3 23799 20339 1246 \n3 957 22645 20334 \n3 22645 5181 15719 \n3 20334 15719 4026 \n3 5181 22644 15717 \n3 22644 383 25249 \n3 15717 25249 6483 \n3 4026 15718 20336 \n3 15718 6483 25248 \n3 20336 25248 1532 \n3 1246 20338 23800 \n3 20338 4027 15722 \n3 23800 15722 5759 \n3 4027 20337 15720 \n3 20337 1532 25247 \n3 15720 25247 6482 \n3 5759 15721 23801 \n3 15721 6482 25246 \n3 23801 25246 96 \n3 1705 23812 25342 \n3 23812 5764 15725 \n3 25342 15725 6530 \n3 5764 23811 15723 \n3 23811 1248 20341 \n3 15723 20341 4031 \n3 6530 15724 25343 \n3 15724 4031 20345 \n3 25343 20345 1632 \n3 1248 23809 20340 \n3 23809 5763 15728 \n3 20340 15728 4029 \n3 5763 23808 15726 \n3 23808 240 22651 \n3 15726 22651 5185 \n3 4029 15727 20342 \n3 15727 5185 22653 \n3 20342 22653 961 \n3 1632 20344 25344 \n3 20344 4030 15731 \n3 25344 15731 6531 \n3 4030 20343 15729 \n3 20343 961 22658 \n3 15729 22658 5189 \n3 6531 15730 25345 \n3 15730 5189 22661 \n3 25345 22661 1681 \n3 240 23805 22650 \n3 23805 5761 15734 \n3 22650 15734 5184 \n3 5761 23804 15732 \n3 23804 1247 20347 \n3 15732 20347 4034 \n3 5184 15733 22652 \n3 15733 4034 20351 \n3 22652 20351 959 \n3 1247 23803 20346 \n3 23803 5760 15737 \n3 20346 15737 4032 \n3 5760 23802 15735 \n3 23802 96 25245 \n3 15735 25245 6481 \n3 4032 15736 20348 \n3 15736 6481 25244 \n3 20348 25244 1531 \n3 959 20350 22654 \n3 20350 4033 15740 \n3 22654 15740 5186 \n3 4033 20349 15738 \n3 20349 1531 25243 \n3 15738 25243 6480 \n3 5186 15739 22655 \n3 15739 6480 25242 \n3 22655 25242 382 \n3 1681 22660 25346 \n3 22660 5188 15743 \n3 25346 15743 6532 \n3 5188 22659 15741 \n3 22659 960 20353 \n3 15741 20353 4037 \n3 6532 15742 25347 \n3 15742 4037 20357 \n3 25347 20357 1633 \n3 960 22657 20352 \n3 22657 5187 15746 \n3 20352 15746 4035 \n3 5187 22656 15744 \n3 22656 382 25241 \n3 15744 25241 6479 \n3 4035 15745 20354 \n3 15745 6479 25240 \n3 20354 25240 1530 \n3 1633 20356 25348 \n3 20356 4036 15749 \n3 25348 15749 6533 \n3 4036 20355 15747 \n3 20355 1530 25239 \n3 15747 25239 6478 \n3 6533 15748 25349 \n3 15748 6478 25238 \n3 25349 25238 1731 \n"
  },
  {
    "path": "data/box_very_high.ply",
    "content": "ply\nformat ascii 1.0\ncomment VCGLIB generated\nelement vertex 6534\nproperty float x\nproperty float y\nproperty float z\nelement face 12288\nproperty list uchar int vertex_indices\nend_header\n0.5 0.5 0.5 \n-0.5 0.5 0.5 \n0.5 -0.5 0.5 \n-0.5 -0.5 0.5 \n0.5 0.5 -0.5 \n-0.5 0.5 -0.5 \n0.5 -0.5 -0.5 \n-0.5 -0.5 -0.5 \n0 0.5 0.5 \n0 0 0.5 \n0.5 0 0.5 \n0 -0.5 0.5 \n-0.5 0 0.5 \n0.5 0 0 \n0.5 0.5 0 \n0.5 0 -0.5 \n0.5 -0.5 0 \n0 0.5 0 \n-0.5 0.5 0 \n0 0.5 -0.5 \n-0.5 0 -0.5 \n0 0 -0.5 \n0 -0.5 -0.5 \n0 -0.5 0 \n-0.5 -0.5 0 \n-0.5 0 0 \n0 0.25 0.5 \n0.25 0 0.5 \n0.25 0.25 0.5 \n0 -0.25 0.5 \n-0.25 0 0.5 \n-0.25 -0.25 0.5 \n0.5 0 0.25 \n0.5 0.25 0 \n0.5 0.25 0.25 \n0.5 0 -0.25 \n0.5 -0.25 0 \n0.5 -0.25 -0.25 \n0.25 0.5 0 \n0 0.5 0.25 \n0.25 0.5 0.25 \n-0.25 0.5 0 \n0 0.5 -0.25 \n-0.25 0.5 -0.25 \n-0.25 0 -0.5 \n0 -0.25 -0.5 \n-0.25 -0.25 -0.5 \n0.25 0 -0.5 \n0 0.25 -0.5 \n0.25 0.25 -0.5 \n0 -0.5 -0.25 \n-0.25 -0.5 0 \n-0.25 -0.5 -0.25 \n0 -0.5 0.25 \n0.25 -0.5 0 \n0.25 -0.5 0.25 \n-0.5 -0.25 0 \n-0.5 0 -0.25 \n-0.5 -0.25 -0.25 \n-0.5 0.25 0 \n-0.5 0 0.25 \n-0.5 0.25 0.25 \n0.25 0.5 0.5 \n0.5 0.25 0.5 \n-0.25 0.5 0.5 \n-0.25 0.25 0.5 \n0.25 -0.25 0.5 \n0.5 -0.25 0.5 \n-0.25 -0.5 0.5 \n-0.5 -0.25 0.5 \n0.25 -0.5 0.5 \n-0.5 0.25 0.5 \n0.5 0.5 0.25 \n0.5 -0.25 0.25 \n0.5 0.25 -0.25 \n0.5 0.5 -0.25 \n0.5 -0.25 -0.5 \n0.5 -0.5 -0.25 \n0.5 0.25 -0.5 \n0.5 -0.5 0.25 \n0.25 0.5 -0.25 \n-0.25 0.5 0.25 \n-0.5 0.5 -0.25 \n-0.25 0.5 -0.5 \n-0.5 0.5 0.25 \n0.25 0.5 -0.5 \n-0.5 -0.25 -0.5 \n-0.25 -0.5 -0.5 \n-0.5 0.25 -0.5 \n-0.25 0.25 -0.5 \n0.25 -0.25 -0.5 \n0.25 -0.5 -0.5 \n-0.5 -0.5 -0.25 \n0.25 -0.5 -0.25 \n-0.25 -0.5 0.25 \n-0.5 -0.5 0.25 \n-0.5 -0.25 0.25 \n-0.5 0.25 -0.25 \n0.125 0.125 0.5 \n0.25 0.125 0.5 \n0.125 0.25 0.5 \n-0.125 -0.125 0.5 \n-0.25 -0.125 0.5 \n-0.125 -0.25 0.5 \n0.5 0.125 0.125 \n0.5 0.25 0.125 \n0.5 0.125 0.25 \n0.5 -0.125 -0.125 \n0.5 -0.25 -0.125 \n0.5 -0.125 -0.25 \n0.125 0.5 0.125 \n0.125 0.5 0.25 \n0.25 0.5 0.125 \n-0.125 0.5 -0.125 \n-0.125 0.5 -0.25 \n-0.25 0.5 -0.125 \n-0.125 -0.125 -0.5 \n-0.125 -0.25 -0.5 \n-0.25 -0.125 -0.5 \n0.125 0.125 -0.5 \n0.125 0.25 -0.5 \n0.25 0.125 -0.5 \n-0.125 -0.5 -0.125 \n-0.25 -0.5 -0.125 \n-0.125 -0.5 -0.25 \n0.125 -0.5 0.125 \n0.25 -0.5 0.125 \n0.125 -0.5 0.25 \n-0.5 -0.125 -0.125 \n-0.5 -0.125 -0.25 \n-0.5 -0.25 -0.125 \n-0.5 0.125 0.125 \n-0.5 0.125 0.25 \n-0.5 0.25 0.125 \n0.25 0.375 0.5 \n0.375 0.25 0.5 \n0.375 0.375 0.5 \n-0.25 0.375 0.5 \n-0.125 0.25 0.5 \n-0.125 0.375 0.5 \n0.25 -0.125 0.5 \n0.375 -0.25 0.5 \n0.375 -0.125 0.5 \n-0.25 -0.375 0.5 \n-0.375 -0.25 0.5 \n-0.375 -0.375 0.5 \n0.25 -0.375 0.5 \n0.125 -0.25 0.5 \n0.125 -0.375 0.5 \n-0.25 0.125 0.5 \n-0.375 0.25 0.5 \n-0.375 0.125 0.5 \n0.5 0.25 0.375 \n0.5 0.375 0.25 \n0.5 0.375 0.375 \n0.5 -0.25 0.375 \n0.5 -0.125 0.25 \n0.5 -0.125 0.375 \n0.5 0.25 -0.125 \n0.5 0.375 -0.25 \n0.5 0.375 -0.125 \n0.5 -0.25 -0.375 \n0.5 -0.375 -0.25 \n0.5 -0.375 -0.375 \n0.5 0.25 -0.375 \n0.5 0.125 -0.25 \n0.5 0.125 -0.375 \n0.5 -0.25 0.125 \n0.5 -0.375 0.25 \n0.5 -0.375 0.125 \n0.375 0.5 0.25 \n0.25 0.5 0.375 \n0.375 0.5 0.375 \n0.375 0.5 -0.25 \n0.25 0.5 -0.125 \n0.375 0.5 -0.125 \n-0.125 0.5 0.25 \n-0.25 0.5 0.375 \n-0.125 0.5 0.375 \n-0.375 0.5 -0.25 \n-0.25 0.5 -0.375 \n-0.375 0.5 -0.375 \n-0.375 0.5 0.25 \n-0.25 0.5 0.125 \n-0.375 0.5 0.125 \n0.125 0.5 -0.25 \n0.25 0.5 -0.375 \n0.125 0.5 -0.375 \n-0.375 -0.25 -0.5 \n-0.25 -0.375 -0.5 \n-0.375 -0.375 -0.5 \n-0.375 0.25 -0.5 \n-0.25 0.125 -0.5 \n-0.375 0.125 -0.5 \n0.125 -0.25 -0.5 \n0.25 -0.375 -0.5 \n0.125 -0.375 -0.5 \n0.375 0.25 -0.5 \n0.25 0.375 -0.5 \n0.375 0.375 -0.5 \n0.375 -0.25 -0.5 \n0.25 -0.125 -0.5 \n0.375 -0.125 -0.5 \n-0.125 0.25 -0.5 \n-0.25 0.375 -0.5 \n-0.125 0.375 -0.5 \n-0.25 -0.5 -0.375 \n-0.375 -0.5 -0.25 \n-0.375 -0.5 -0.375 \n0.25 -0.5 -0.375 \n0.125 -0.5 -0.25 \n0.125 -0.5 -0.375 \n-0.25 -0.5 0.125 \n-0.375 -0.5 0.25 \n-0.375 -0.5 0.125 \n0.25 -0.5 0.375 \n0.375 -0.5 0.25 \n0.375 -0.5 0.375 \n-0.25 -0.5 0.375 \n-0.125 -0.5 0.25 \n-0.125 -0.5 0.375 \n0.25 -0.5 -0.125 \n0.375 -0.5 -0.25 \n0.375 -0.5 -0.125 \n-0.5 -0.375 -0.25 \n-0.5 -0.25 -0.375 \n-0.5 -0.375 -0.375 \n-0.5 -0.375 0.25 \n-0.5 -0.25 0.125 \n-0.5 -0.375 0.125 \n-0.5 0.125 -0.25 \n-0.5 0.25 -0.375 \n-0.5 0.125 -0.375 \n-0.5 0.375 0.25 \n-0.5 0.25 0.375 \n-0.5 0.375 0.375 \n-0.5 0.375 -0.25 \n-0.5 0.25 -0.125 \n-0.5 0.375 -0.125 \n-0.5 -0.125 0.25 \n-0.5 -0.25 0.375 \n-0.5 -0.125 0.375 \n0 0.375 0.5 \n0.125 0.375 0.5 \n0 0.125 0.5 \n0.125 0 0.5 \n0.375 0 0.5 \n0.375 0.125 0.5 \n0 -0.375 0.5 \n-0.125 -0.375 0.5 \n0 -0.125 0.5 \n-0.125 0 0.5 \n-0.375 0 0.5 \n-0.375 -0.125 0.5 \n0.5 0 0.375 \n0.5 0.125 0.375 \n0.5 0 0.125 \n0.5 0.125 0 \n0.5 0.375 0 \n0.5 0.375 0.125 \n0.5 0 -0.375 \n0.5 -0.125 -0.375 \n0.5 0 -0.125 \n0.5 -0.125 0 \n0.5 -0.375 0 \n0.5 -0.375 -0.125 \n0.375 0.5 0 \n0.375 0.5 0.125 \n0.125 0.5 0 \n0 0.5 0.125 \n0 0.5 0.375 \n0.125 0.5 0.375 \n-0.375 0.5 0 \n-0.375 0.5 -0.125 \n-0.125 0.5 0 \n0 0.5 -0.125 \n0 0.5 -0.375 \n-0.125 0.5 -0.375 \n-0.375 0 -0.5 \n-0.375 -0.125 -0.5 \n-0.125 0 -0.5 \n0 -0.125 -0.5 \n0 -0.375 -0.5 \n-0.125 -0.375 -0.5 \n0.375 0 -0.5 \n0.375 0.125 -0.5 \n0.125 0 -0.5 \n0 0.125 -0.5 \n0 0.375 -0.5 \n0.125 0.375 -0.5 \n0 -0.5 -0.375 \n-0.125 -0.5 -0.375 \n0 -0.5 -0.125 \n-0.125 -0.5 0 \n-0.375 -0.5 0 \n-0.375 -0.5 -0.125 \n0 -0.5 0.375 \n0.125 -0.5 0.375 \n0 -0.5 0.125 \n0.125 -0.5 0 \n0.375 -0.5 0 \n0.375 -0.5 0.125 \n-0.5 -0.375 0 \n-0.5 -0.375 -0.125 \n-0.5 -0.125 0 \n-0.5 0 -0.125 \n-0.5 0 -0.375 \n-0.5 -0.125 -0.375 \n-0.5 0.375 0 \n-0.5 0.375 0.125 \n-0.5 0.125 0 \n-0.5 0 0.125 \n-0.5 0 0.375 \n-0.5 0.125 0.375 \n0.375 0.5 0.5 \n0.5 0.375 0.5 \n0.125 0.5 0.5 \n0.5 0.125 0.5 \n-0.125 0.5 0.5 \n-0.375 0.5 0.5 \n-0.375 0.375 0.5 \n-0.125 0.125 0.5 \n0.5 -0.125 0.5 \n0.125 -0.125 0.5 \n0.375 -0.375 0.5 \n0.5 -0.375 0.5 \n-0.375 -0.5 0.5 \n-0.5 -0.375 0.5 \n-0.125 -0.5 0.5 \n-0.5 -0.125 0.5 \n0.125 -0.5 0.5 \n0.375 -0.5 0.5 \n-0.5 0.125 0.5 \n-0.5 0.375 0.5 \n0.5 0.5 0.375 \n0.5 0.5 0.125 \n0.5 -0.375 0.375 \n0.5 -0.125 0.125 \n0.5 0.5 -0.125 \n0.5 0.125 -0.125 \n0.5 0.375 -0.375 \n0.5 0.5 -0.375 \n0.5 -0.375 -0.5 \n0.5 -0.5 -0.375 \n0.5 -0.125 -0.5 \n0.5 -0.5 -0.125 \n0.5 0.125 -0.5 \n0.5 0.375 -0.5 \n0.5 -0.5 0.125 \n0.5 -0.5 0.375 \n0.375 0.5 -0.375 \n0.125 0.5 -0.125 \n-0.125 0.5 0.125 \n-0.375 0.5 0.375 \n-0.5 0.5 -0.375 \n-0.375 0.5 -0.5 \n-0.5 0.5 -0.125 \n-0.125 0.5 -0.5 \n-0.5 0.5 0.125 \n-0.5 0.5 0.375 \n0.125 0.5 -0.5 \n0.375 0.5 -0.5 \n-0.5 -0.375 -0.5 \n-0.375 -0.5 -0.5 \n-0.5 -0.125 -0.5 \n-0.125 -0.5 -0.5 \n-0.5 0.125 -0.5 \n-0.5 0.375 -0.5 \n-0.375 0.375 -0.5 \n-0.125 0.125 -0.5 \n0.125 -0.5 -0.5 \n0.125 -0.125 -0.5 \n0.375 -0.375 -0.5 \n0.375 -0.5 -0.5 \n-0.5 -0.5 -0.375 \n-0.5 -0.5 -0.125 \n0.375 -0.5 -0.375 \n0.125 -0.5 -0.125 \n-0.5 -0.5 0.125 \n-0.125 -0.5 0.125 \n-0.375 -0.5 0.375 \n-0.5 -0.5 0.375 \n-0.5 -0.375 0.375 \n-0.5 -0.125 0.125 \n-0.5 0.125 -0.125 \n-0.5 0.375 -0.375 \n0.1875 0.125 0.5 \n0.1875 0.1875 0.5 \n0.125 0.1875 0.5 \n-0.1875 -0.125 0.5 \n-0.1875 -0.1875 0.5 \n-0.125 -0.1875 0.5 \n0.5 0.1875 0.125 \n0.5 0.1875 0.1875 \n0.5 0.125 0.1875 \n0.5 -0.1875 -0.125 \n0.5 -0.1875 -0.1875 \n0.5 -0.125 -0.1875 \n0.125 0.5 0.1875 \n0.1875 0.5 0.1875 \n0.1875 0.5 0.125 \n-0.125 0.5 -0.1875 \n-0.1875 0.5 -0.1875 \n-0.1875 0.5 -0.125 \n-0.125 -0.1875 -0.5 \n-0.1875 -0.1875 -0.5 \n-0.1875 -0.125 -0.5 \n0.125 0.1875 -0.5 \n0.1875 0.1875 -0.5 \n0.1875 0.125 -0.5 \n-0.1875 -0.5 -0.125 \n-0.1875 -0.5 -0.1875 \n-0.125 -0.5 -0.1875 \n0.1875 -0.5 0.125 \n0.1875 -0.5 0.1875 \n0.125 -0.5 0.1875 \n-0.5 -0.125 -0.1875 \n-0.5 -0.1875 -0.1875 \n-0.5 -0.1875 -0.125 \n-0.5 0.125 0.1875 \n-0.5 0.1875 0.1875 \n-0.5 0.1875 0.125 \n0.3125 0.3125 0.5 \n0.375 0.3125 0.5 \n0.3125 0.375 0.5 \n-0.1875 0.3125 0.5 \n-0.125 0.3125 0.5 \n-0.1875 0.375 0.5 \n0.3125 -0.1875 0.5 \n0.375 -0.1875 0.5 \n0.3125 -0.125 0.5 \n-0.3125 -0.3125 0.5 \n-0.375 -0.3125 0.5 \n-0.3125 -0.375 0.5 \n0.1875 -0.3125 0.5 \n0.125 -0.3125 0.5 \n0.1875 -0.375 0.5 \n-0.3125 0.1875 0.5 \n-0.375 0.1875 0.5 \n-0.3125 0.125 0.5 \n0.5 0.3125 0.3125 \n0.5 0.375 0.3125 \n0.5 0.3125 0.375 \n0.5 -0.1875 0.3125 \n0.5 -0.125 0.3125 \n0.5 -0.1875 0.375 \n0.5 0.3125 -0.1875 \n0.5 0.375 -0.1875 \n0.5 0.3125 -0.125 \n0.5 -0.3125 -0.3125 \n0.5 -0.375 -0.3125 \n0.5 -0.3125 -0.375 \n0.5 0.1875 -0.3125 \n0.5 0.125 -0.3125 \n0.5 0.1875 -0.375 \n0.5 -0.3125 0.1875 \n0.5 -0.375 0.1875 \n0.5 -0.3125 0.125 \n0.3125 0.5 0.3125 \n0.3125 0.5 0.375 \n0.375 0.5 0.3125 \n0.3125 0.5 -0.1875 \n0.3125 0.5 -0.125 \n0.375 0.5 -0.1875 \n-0.1875 0.5 0.3125 \n-0.1875 0.5 0.375 \n-0.125 0.5 0.3125 \n-0.3125 0.5 -0.3125 \n-0.3125 0.5 -0.375 \n-0.375 0.5 -0.3125 \n-0.3125 0.5 0.1875 \n-0.3125 0.5 0.125 \n-0.375 0.5 0.1875 \n0.1875 0.5 -0.3125 \n0.1875 0.5 -0.375 \n0.125 0.5 -0.3125 \n-0.3125 -0.3125 -0.5 \n-0.3125 -0.375 -0.5 \n-0.375 -0.3125 -0.5 \n-0.3125 0.1875 -0.5 \n-0.3125 0.125 -0.5 \n-0.375 0.1875 -0.5 \n0.1875 -0.3125 -0.5 \n0.1875 -0.375 -0.5 \n0.125 -0.3125 -0.5 \n0.3125 0.3125 -0.5 \n0.3125 0.375 -0.5 \n0.375 0.3125 -0.5 \n0.3125 -0.1875 -0.5 \n0.3125 -0.125 -0.5 \n0.375 -0.1875 -0.5 \n-0.1875 0.3125 -0.5 \n-0.1875 0.375 -0.5 \n-0.125 0.3125 -0.5 \n-0.3125 -0.5 -0.3125 \n-0.375 -0.5 -0.3125 \n-0.3125 -0.5 -0.375 \n0.1875 -0.5 -0.3125 \n0.125 -0.5 -0.3125 \n0.1875 -0.5 -0.375 \n-0.3125 -0.5 0.1875 \n-0.375 -0.5 0.1875 \n-0.3125 -0.5 0.125 \n0.3125 -0.5 0.3125 \n0.375 -0.5 0.3125 \n0.3125 -0.5 0.375 \n-0.1875 -0.5 0.3125 \n-0.125 -0.5 0.3125 \n-0.1875 -0.5 0.375 \n0.3125 -0.5 -0.1875 \n0.375 -0.5 -0.1875 \n0.3125 -0.5 -0.125 \n-0.5 -0.3125 -0.3125 \n-0.5 -0.3125 -0.375 \n-0.5 -0.375 -0.3125 \n-0.5 -0.3125 0.1875 \n-0.5 -0.3125 0.125 \n-0.5 -0.375 0.1875 \n-0.5 0.1875 -0.3125 \n-0.5 0.1875 -0.375 \n-0.5 0.125 -0.3125 \n-0.5 0.3125 0.3125 \n-0.5 0.3125 0.375 \n-0.5 0.375 0.3125 \n-0.5 0.3125 -0.1875 \n-0.5 0.3125 -0.125 \n-0.5 0.375 -0.1875 \n-0.5 -0.1875 0.3125 \n-0.5 -0.1875 0.375 \n-0.5 -0.125 0.3125 \n0.0625 0.3125 0.5 \n0.125 0.3125 0.5 \n0.0625 0.375 0.5 \n0.0625 0.0625 0.5 \n0.125 0.0625 0.5 \n0.0625 0.125 0.5 \n0.3125 0.0625 0.5 \n0.375 0.0625 0.5 \n0.3125 0.125 0.5 \n-0.0625 -0.3125 0.5 \n-0.125 -0.3125 0.5 \n-0.0625 -0.375 0.5 \n-0.0625 -0.0625 0.5 \n-0.125 -0.0625 0.5 \n-0.0625 -0.125 0.5 \n-0.3125 -0.0625 0.5 \n-0.375 -0.0625 0.5 \n-0.3125 -0.125 0.5 \n0.5 0.0625 0.3125 \n0.5 0.125 0.3125 \n0.5 0.0625 0.375 \n0.5 0.0625 0.0625 \n0.5 0.125 0.0625 \n0.5 0.0625 0.125 \n0.5 0.3125 0.0625 \n0.5 0.375 0.0625 \n0.5 0.3125 0.125 \n0.5 -0.0625 -0.3125 \n0.5 -0.125 -0.3125 \n0.5 -0.0625 -0.375 \n0.5 -0.0625 -0.0625 \n0.5 -0.125 -0.0625 \n0.5 -0.0625 -0.125 \n0.5 -0.3125 -0.0625 \n0.5 -0.375 -0.0625 \n0.5 -0.3125 -0.125 \n0.3125 0.5 0.0625 \n0.3125 0.5 0.125 \n0.375 0.5 0.0625 \n0.0625 0.5 0.0625 \n0.0625 0.5 0.125 \n0.125 0.5 0.0625 \n0.0625 0.5 0.3125 \n0.0625 0.5 0.375 \n0.125 0.5 0.3125 \n-0.3125 0.5 -0.0625 \n-0.3125 0.5 -0.125 \n-0.375 0.5 -0.0625 \n-0.0625 0.5 -0.0625 \n-0.0625 0.5 -0.125 \n-0.125 0.5 -0.0625 \n-0.0625 0.5 -0.3125 \n-0.0625 0.5 -0.375 \n-0.125 0.5 -0.3125 \n-0.3125 -0.0625 -0.5 \n-0.3125 -0.125 -0.5 \n-0.375 -0.0625 -0.5 \n-0.0625 -0.0625 -0.5 \n-0.0625 -0.125 -0.5 \n-0.125 -0.0625 -0.5 \n-0.0625 -0.3125 -0.5 \n-0.0625 -0.375 -0.5 \n-0.125 -0.3125 -0.5 \n0.3125 0.0625 -0.5 \n0.3125 0.125 -0.5 \n0.375 0.0625 -0.5 \n0.0625 0.0625 -0.5 \n0.0625 0.125 -0.5 \n0.125 0.0625 -0.5 \n0.0625 0.3125 -0.5 \n0.0625 0.375 -0.5 \n0.125 0.3125 -0.5 \n-0.0625 -0.5 -0.3125 \n-0.125 -0.5 -0.3125 \n-0.0625 -0.5 -0.375 \n-0.0625 -0.5 -0.0625 \n-0.125 -0.5 -0.0625 \n-0.0625 -0.5 -0.125 \n-0.3125 -0.5 -0.0625 \n-0.375 -0.5 -0.0625 \n-0.3125 -0.5 -0.125 \n0.0625 -0.5 0.3125 \n0.125 -0.5 0.3125 \n0.0625 -0.5 0.375 \n0.0625 -0.5 0.0625 \n0.125 -0.5 0.0625 \n0.0625 -0.5 0.125 \n0.3125 -0.5 0.0625 \n0.375 -0.5 0.0625 \n0.3125 -0.5 0.125 \n-0.5 -0.3125 -0.0625 \n-0.5 -0.3125 -0.125 \n-0.5 -0.375 -0.0625 \n-0.5 -0.0625 -0.0625 \n-0.5 -0.0625 -0.125 \n-0.5 -0.125 -0.0625 \n-0.5 -0.0625 -0.3125 \n-0.5 -0.0625 -0.375 \n-0.5 -0.125 -0.3125 \n-0.5 0.3125 0.0625 \n-0.5 0.3125 0.125 \n-0.5 0.375 0.0625 \n-0.5 0.0625 0.0625 \n-0.5 0.0625 0.125 \n-0.5 0.125 0.0625 \n-0.5 0.0625 0.3125 \n-0.5 0.0625 0.375 \n-0.5 0.125 0.3125 \n0.375 0.4375 0.5 \n0.4375 0.375 0.5 \n0.4375 0.4375 0.5 \n0.125 0.4375 0.5 \n0.1875 0.375 0.5 \n0.1875 0.4375 0.5 \n0.375 0.1875 0.5 \n0.4375 0.125 0.5 \n0.4375 0.1875 0.5 \n-0.125 0.4375 0.5 \n-0.0625 0.375 0.5 \n-0.0625 0.4375 0.5 \n-0.375 0.4375 0.5 \n-0.3125 0.375 0.5 \n-0.3125 0.4375 0.5 \n-0.125 0.1875 0.5 \n-0.0625 0.125 0.5 \n-0.0625 0.1875 0.5 \n0.375 -0.0625 0.5 \n0.4375 -0.125 0.5 \n0.4375 -0.0625 0.5 \n0.125 -0.0625 0.5 \n0.1875 -0.125 0.5 \n0.1875 -0.0625 0.5 \n0.375 -0.3125 0.5 \n0.4375 -0.375 0.5 \n0.4375 -0.3125 0.5 \n-0.375 -0.4375 0.5 \n-0.4375 -0.375 0.5 \n-0.4375 -0.4375 0.5 \n-0.125 -0.4375 0.5 \n-0.1875 -0.375 0.5 \n-0.1875 -0.4375 0.5 \n-0.375 -0.1875 0.5 \n-0.4375 -0.125 0.5 \n-0.4375 -0.1875 0.5 \n0.125 -0.4375 0.5 \n0.0625 -0.375 0.5 \n0.0625 -0.4375 0.5 \n0.375 -0.4375 0.5 \n0.3125 -0.375 0.5 \n0.3125 -0.4375 0.5 \n0.125 -0.1875 0.5 \n0.0625 -0.125 0.5 \n0.0625 -0.1875 0.5 \n-0.375 0.0625 0.5 \n-0.4375 0.125 0.5 \n-0.4375 0.0625 0.5 \n-0.125 0.0625 0.5 \n-0.1875 0.125 0.5 \n-0.1875 0.0625 0.5 \n-0.375 0.3125 0.5 \n-0.4375 0.375 0.5 \n-0.4375 0.3125 0.5 \n0.5 0.375 0.4375 \n0.5 0.4375 0.375 \n0.5 0.4375 0.4375 \n0.5 0.125 0.4375 \n0.5 0.1875 0.375 \n0.5 0.1875 0.4375 \n0.5 0.375 0.1875 \n0.5 0.4375 0.125 \n0.5 0.4375 0.1875 \n0.5 -0.125 0.4375 \n0.5 -0.0625 0.375 \n0.5 -0.0625 0.4375 \n0.5 -0.375 0.4375 \n0.5 -0.3125 0.375 \n0.5 -0.3125 0.4375 \n0.5 -0.125 0.1875 \n0.5 -0.0625 0.125 \n0.5 -0.0625 0.1875 \n0.5 0.375 -0.0625 \n0.5 0.4375 -0.125 \n0.5 0.4375 -0.0625 \n0.5 0.125 -0.0625 \n0.5 0.1875 -0.125 \n0.5 0.1875 -0.0625 \n0.5 0.375 -0.3125 \n0.5 0.4375 -0.375 \n0.5 0.4375 -0.3125 \n0.5 -0.375 -0.4375 \n0.5 -0.4375 -0.375 \n0.5 -0.4375 -0.4375 \n0.5 -0.125 -0.4375 \n0.5 -0.1875 -0.375 \n0.5 -0.1875 -0.4375 \n0.5 -0.375 -0.1875 \n0.5 -0.4375 -0.125 \n0.5 -0.4375 -0.1875 \n0.5 0.125 -0.4375 \n0.5 0.0625 -0.375 \n0.5 0.0625 -0.4375 \n0.5 0.375 -0.4375 \n0.5 0.3125 -0.375 \n0.5 0.3125 -0.4375 \n0.5 0.125 -0.1875 \n0.5 0.0625 -0.125 \n0.5 0.0625 -0.1875 \n0.5 -0.375 0.0625 \n0.5 -0.4375 0.125 \n0.5 -0.4375 0.0625 \n0.5 -0.125 0.0625 \n0.5 -0.1875 0.125 \n0.5 -0.1875 0.0625 \n0.5 -0.375 0.3125 \n0.5 -0.4375 0.375 \n0.5 -0.4375 0.3125 \n0.4375 0.5 0.375 \n0.375 0.5 0.4375 \n0.4375 0.5 0.4375 \n0.4375 0.5 0.125 \n0.375 0.5 0.1875 \n0.4375 0.5 0.1875 \n0.1875 0.5 0.375 \n0.125 0.5 0.4375 \n0.1875 0.5 0.4375 \n0.4375 0.5 -0.125 \n0.375 0.5 -0.0625 \n0.4375 0.5 -0.0625 \n0.4375 0.5 -0.375 \n0.375 0.5 -0.3125 \n0.4375 0.5 -0.3125 \n0.1875 0.5 -0.125 \n0.125 0.5 -0.0625 \n0.1875 0.5 -0.0625 \n-0.0625 0.5 0.375 \n-0.125 0.5 0.4375 \n-0.0625 0.5 0.4375 \n-0.0625 0.5 0.125 \n-0.125 0.5 0.1875 \n-0.0625 0.5 0.1875 \n-0.3125 0.5 0.375 \n-0.375 0.5 0.4375 \n-0.3125 0.5 0.4375 \n-0.4375 0.5 -0.375 \n-0.375 0.5 -0.4375 \n-0.4375 0.5 -0.4375 \n-0.4375 0.5 -0.125 \n-0.375 0.5 -0.1875 \n-0.4375 0.5 -0.1875 \n-0.1875 0.5 -0.375 \n-0.125 0.5 -0.4375 \n-0.1875 0.5 -0.4375 \n-0.4375 0.5 0.125 \n-0.375 0.5 0.0625 \n-0.4375 0.5 0.0625 \n-0.4375 0.5 0.375 \n-0.375 0.5 0.3125 \n-0.4375 0.5 0.3125 \n-0.1875 0.5 0.125 \n-0.125 0.5 0.0625 \n-0.1875 0.5 0.0625 \n0.0625 0.5 -0.375 \n0.125 0.5 -0.4375 \n0.0625 0.5 -0.4375 \n0.0625 0.5 -0.125 \n0.125 0.5 -0.1875 \n0.0625 0.5 -0.1875 \n0.3125 0.5 -0.375 \n0.375 0.5 -0.4375 \n0.3125 0.5 -0.4375 \n-0.4375 -0.375 -0.5 \n-0.375 -0.4375 -0.5 \n-0.4375 -0.4375 -0.5 \n-0.4375 -0.125 -0.5 \n-0.375 -0.1875 -0.5 \n-0.4375 -0.1875 -0.5 \n-0.1875 -0.375 -0.5 \n-0.125 -0.4375 -0.5 \n-0.1875 -0.4375 -0.5 \n-0.4375 0.125 -0.5 \n-0.375 0.0625 -0.5 \n-0.4375 0.0625 -0.5 \n-0.4375 0.375 -0.5 \n-0.375 0.3125 -0.5 \n-0.4375 0.3125 -0.5 \n-0.1875 0.125 -0.5 \n-0.125 0.0625 -0.5 \n-0.1875 0.0625 -0.5 \n0.0625 -0.375 -0.5 \n0.125 -0.4375 -0.5 \n0.0625 -0.4375 -0.5 \n0.0625 -0.125 -0.5 \n0.125 -0.1875 -0.5 \n0.0625 -0.1875 -0.5 \n0.3125 -0.375 -0.5 \n0.375 -0.4375 -0.5 \n0.3125 -0.4375 -0.5 \n0.4375 0.375 -0.5 \n0.375 0.4375 -0.5 \n0.4375 0.4375 -0.5 \n0.4375 0.125 -0.5 \n0.375 0.1875 -0.5 \n0.4375 0.1875 -0.5 \n0.1875 0.375 -0.5 \n0.125 0.4375 -0.5 \n0.1875 0.4375 -0.5 \n0.4375 -0.125 -0.5 \n0.375 -0.0625 -0.5 \n0.4375 -0.0625 -0.5 \n0.4375 -0.375 -0.5 \n0.375 -0.3125 -0.5 \n0.4375 -0.3125 -0.5 \n0.1875 -0.125 -0.5 \n0.125 -0.0625 -0.5 \n0.1875 -0.0625 -0.5 \n-0.0625 0.375 -0.5 \n-0.125 0.4375 -0.5 \n-0.0625 0.4375 -0.5 \n-0.0625 0.125 -0.5 \n-0.125 0.1875 -0.5 \n-0.0625 0.1875 -0.5 \n-0.3125 0.375 -0.5 \n-0.375 0.4375 -0.5 \n-0.3125 0.4375 -0.5 \n-0.375 -0.5 -0.4375 \n-0.4375 -0.5 -0.375 \n-0.4375 -0.5 -0.4375 \n-0.125 -0.5 -0.4375 \n-0.1875 -0.5 -0.375 \n-0.1875 -0.5 -0.4375 \n-0.375 -0.5 -0.1875 \n-0.4375 -0.5 -0.125 \n-0.4375 -0.5 -0.1875 \n0.125 -0.5 -0.4375 \n0.0625 -0.5 -0.375 \n0.0625 -0.5 -0.4375 \n0.375 -0.5 -0.4375 \n0.3125 -0.5 -0.375 \n0.3125 -0.5 -0.4375 \n0.125 -0.5 -0.1875 \n0.0625 -0.5 -0.125 \n0.0625 -0.5 -0.1875 \n-0.375 -0.5 0.0625 \n-0.4375 -0.5 0.125 \n-0.4375 -0.5 0.0625 \n-0.125 -0.5 0.0625 \n-0.1875 -0.5 0.125 \n-0.1875 -0.5 0.0625 \n-0.375 -0.5 0.3125 \n-0.4375 -0.5 0.375 \n-0.4375 -0.5 0.3125 \n0.375 -0.5 0.4375 \n0.4375 -0.5 0.375 \n0.4375 -0.5 0.4375 \n0.125 -0.5 0.4375 \n0.1875 -0.5 0.375 \n0.1875 -0.5 0.4375 \n0.375 -0.5 0.1875 \n0.4375 -0.5 0.125 \n0.4375 -0.5 0.1875 \n-0.125 -0.5 0.4375 \n-0.0625 -0.5 0.375 \n-0.0625 -0.5 0.4375 \n-0.375 -0.5 0.4375 \n-0.3125 -0.5 0.375 \n-0.3125 -0.5 0.4375 \n-0.125 -0.5 0.1875 \n-0.0625 -0.5 0.125 \n-0.0625 -0.5 0.1875 \n0.375 -0.5 -0.0625 \n0.4375 -0.5 -0.125 \n0.4375 -0.5 -0.0625 \n0.125 -0.5 -0.0625 \n0.1875 -0.5 -0.125 \n0.1875 -0.5 -0.0625 \n0.375 -0.5 -0.3125 \n0.4375 -0.5 -0.375 \n0.4375 -0.5 -0.3125 \n-0.5 -0.4375 -0.375 \n-0.5 -0.375 -0.4375 \n-0.5 -0.4375 -0.4375 \n-0.5 -0.4375 -0.125 \n-0.5 -0.375 -0.1875 \n-0.5 -0.4375 -0.1875 \n-0.5 -0.1875 -0.375 \n-0.5 -0.125 -0.4375 \n-0.5 -0.1875 -0.4375 \n-0.5 -0.4375 0.125 \n-0.5 -0.375 0.0625 \n-0.5 -0.4375 0.0625 \n-0.5 -0.4375 0.375 \n-0.5 -0.375 0.3125 \n-0.5 -0.4375 0.3125 \n-0.5 -0.1875 0.125 \n-0.5 -0.125 0.0625 \n-0.5 -0.1875 0.0625 \n-0.5 0.0625 -0.375 \n-0.5 0.125 -0.4375 \n-0.5 0.0625 -0.4375 \n-0.5 0.0625 -0.125 \n-0.5 0.125 -0.1875 \n-0.5 0.0625 -0.1875 \n-0.5 0.3125 -0.375 \n-0.5 0.375 -0.4375 \n-0.5 0.3125 -0.4375 \n-0.5 0.4375 0.375 \n-0.5 0.375 0.4375 \n-0.5 0.4375 0.4375 \n-0.5 0.4375 0.125 \n-0.5 0.375 0.1875 \n-0.5 0.4375 0.1875 \n-0.5 0.1875 0.375 \n-0.5 0.125 0.4375 \n-0.5 0.1875 0.4375 \n-0.5 0.4375 -0.125 \n-0.5 0.375 -0.0625 \n-0.5 0.4375 -0.0625 \n-0.5 0.4375 -0.375 \n-0.5 0.375 -0.3125 \n-0.5 0.4375 -0.3125 \n-0.5 0.1875 -0.125 \n-0.5 0.125 -0.0625 \n-0.5 0.1875 -0.0625 \n-0.5 -0.0625 0.375 \n-0.5 -0.125 0.4375 \n-0.5 -0.0625 0.4375 \n-0.5 -0.0625 0.125 \n-0.5 -0.125 0.1875 \n-0.5 -0.0625 0.1875 \n-0.5 -0.3125 0.375 \n-0.5 -0.375 0.4375 \n-0.5 -0.3125 0.4375 \n0.0625 0.1875 0.5 \n0.0625 0.25 0.5 \n0.1875 0.0625 0.5 \n0.25 0.0625 0.5 \n0.25 0.1875 0.5 \n0.1875 0.25 0.5 \n-0.0625 -0.1875 0.5 \n-0.0625 -0.25 0.5 \n-0.1875 -0.0625 0.5 \n-0.25 -0.0625 0.5 \n-0.25 -0.1875 0.5 \n-0.1875 -0.25 0.5 \n0.5 0.0625 0.1875 \n0.5 0.0625 0.25 \n0.5 0.1875 0.0625 \n0.5 0.25 0.0625 \n0.5 0.25 0.1875 \n0.5 0.1875 0.25 \n0.5 -0.0625 -0.1875 \n0.5 -0.0625 -0.25 \n0.5 -0.1875 -0.0625 \n0.5 -0.25 -0.0625 \n0.5 -0.25 -0.1875 \n0.5 -0.1875 -0.25 \n0.1875 0.5 0.0625 \n0.25 0.5 0.0625 \n0.0625 0.5 0.1875 \n0.0625 0.5 0.25 \n0.1875 0.5 0.25 \n0.25 0.5 0.1875 \n-0.1875 0.5 -0.0625 \n-0.25 0.5 -0.0625 \n-0.0625 0.5 -0.1875 \n-0.0625 0.5 -0.25 \n-0.1875 0.5 -0.25 \n-0.25 0.5 -0.1875 \n-0.1875 -0.0625 -0.5 \n-0.25 -0.0625 -0.5 \n-0.0625 -0.1875 -0.5 \n-0.0625 -0.25 -0.5 \n-0.1875 -0.25 -0.5 \n-0.25 -0.1875 -0.5 \n0.1875 0.0625 -0.5 \n0.25 0.0625 -0.5 \n0.0625 0.1875 -0.5 \n0.0625 0.25 -0.5 \n0.1875 0.25 -0.5 \n0.25 0.1875 -0.5 \n-0.0625 -0.5 -0.1875 \n-0.0625 -0.5 -0.25 \n-0.1875 -0.5 -0.0625 \n-0.25 -0.5 -0.0625 \n-0.25 -0.5 -0.1875 \n-0.1875 -0.5 -0.25 \n0.0625 -0.5 0.1875 \n0.0625 -0.5 0.25 \n0.1875 -0.5 0.0625 \n0.25 -0.5 0.0625 \n0.25 -0.5 0.1875 \n0.1875 -0.5 0.25 \n-0.5 -0.1875 -0.0625 \n-0.5 -0.25 -0.0625 \n-0.5 -0.0625 -0.1875 \n-0.5 -0.0625 -0.25 \n-0.5 -0.1875 -0.25 \n-0.5 -0.25 -0.1875 \n-0.5 0.1875 0.0625 \n-0.5 0.25 0.0625 \n-0.5 0.0625 0.1875 \n-0.5 0.0625 0.25 \n-0.5 0.1875 0.25 \n-0.5 0.25 0.1875 \n0.25 0.4375 0.5 \n0.3125 0.4375 0.5 \n0.25 0.3125 0.5 \n0.3125 0.25 0.5 \n0.4375 0.25 0.5 \n0.4375 0.3125 0.5 \n-0.25 0.4375 0.5 \n-0.1875 0.4375 0.5 \n-0.25 0.3125 0.5 \n-0.1875 0.25 0.5 \n-0.0625 0.25 0.5 \n-0.0625 0.3125 0.5 \n0.25 -0.0625 0.5 \n0.3125 -0.0625 0.5 \n0.25 -0.1875 0.5 \n0.3125 -0.25 0.5 \n0.4375 -0.25 0.5 \n0.4375 -0.1875 0.5 \n-0.25 -0.4375 0.5 \n-0.3125 -0.4375 0.5 \n-0.25 -0.3125 0.5 \n-0.3125 -0.25 0.5 \n-0.4375 -0.25 0.5 \n-0.4375 -0.3125 0.5 \n0.25 -0.4375 0.5 \n0.1875 -0.4375 0.5 \n0.25 -0.3125 0.5 \n0.1875 -0.25 0.5 \n0.0625 -0.25 0.5 \n0.0625 -0.3125 0.5 \n-0.25 0.0625 0.5 \n-0.3125 0.0625 0.5 \n-0.25 0.1875 0.5 \n-0.3125 0.25 0.5 \n-0.4375 0.25 0.5 \n-0.4375 0.1875 0.5 \n0.5 0.25 0.4375 \n0.5 0.3125 0.4375 \n0.5 0.25 0.3125 \n0.5 0.3125 0.25 \n0.5 0.4375 0.25 \n0.5 0.4375 0.3125 \n0.5 -0.25 0.4375 \n0.5 -0.1875 0.4375 \n0.5 -0.25 0.3125 \n0.5 -0.1875 0.25 \n0.5 -0.0625 0.25 \n0.5 -0.0625 0.3125 \n0.5 0.25 -0.0625 \n0.5 0.3125 -0.0625 \n0.5 0.25 -0.1875 \n0.5 0.3125 -0.25 \n0.5 0.4375 -0.25 \n0.5 0.4375 -0.1875 \n0.5 -0.25 -0.4375 \n0.5 -0.3125 -0.4375 \n0.5 -0.25 -0.3125 \n0.5 -0.3125 -0.25 \n0.5 -0.4375 -0.25 \n0.5 -0.4375 -0.3125 \n0.5 0.25 -0.4375 \n0.5 0.1875 -0.4375 \n0.5 0.25 -0.3125 \n0.5 0.1875 -0.25 \n0.5 0.0625 -0.25 \n0.5 0.0625 -0.3125 \n0.5 -0.25 0.0625 \n0.5 -0.3125 0.0625 \n0.5 -0.25 0.1875 \n0.5 -0.3125 0.25 \n0.5 -0.4375 0.25 \n0.5 -0.4375 0.1875 \n0.4375 0.5 0.25 \n0.4375 0.5 0.3125 \n0.3125 0.5 0.25 \n0.25 0.5 0.3125 \n0.25 0.5 0.4375 \n0.3125 0.5 0.4375 \n0.4375 0.5 -0.25 \n0.4375 0.5 -0.1875 \n0.3125 0.5 -0.25 \n0.25 0.5 -0.1875 \n0.25 0.5 -0.0625 \n0.3125 0.5 -0.0625 \n-0.0625 0.5 0.25 \n-0.0625 0.5 0.3125 \n-0.1875 0.5 0.25 \n-0.25 0.5 0.3125 \n-0.25 0.5 0.4375 \n-0.1875 0.5 0.4375 \n-0.4375 0.5 -0.25 \n-0.4375 0.5 -0.3125 \n-0.3125 0.5 -0.25 \n-0.25 0.5 -0.3125 \n-0.25 0.5 -0.4375 \n-0.3125 0.5 -0.4375 \n-0.4375 0.5 0.25 \n-0.4375 0.5 0.1875 \n-0.3125 0.5 0.25 \n-0.25 0.5 0.1875 \n-0.25 0.5 0.0625 \n-0.3125 0.5 0.0625 \n0.0625 0.5 -0.25 \n0.0625 0.5 -0.3125 \n0.1875 0.5 -0.25 \n0.25 0.5 -0.3125 \n0.25 0.5 -0.4375 \n0.1875 0.5 -0.4375 \n-0.4375 -0.25 -0.5 \n-0.4375 -0.3125 -0.5 \n-0.3125 -0.25 -0.5 \n-0.25 -0.3125 -0.5 \n-0.25 -0.4375 -0.5 \n-0.3125 -0.4375 -0.5 \n-0.4375 0.25 -0.5 \n-0.4375 0.1875 -0.5 \n-0.3125 0.25 -0.5 \n-0.25 0.1875 -0.5 \n-0.25 0.0625 -0.5 \n-0.3125 0.0625 -0.5 \n0.0625 -0.25 -0.5 \n0.0625 -0.3125 -0.5 \n0.1875 -0.25 -0.5 \n0.25 -0.3125 -0.5 \n0.25 -0.4375 -0.5 \n0.1875 -0.4375 -0.5 \n0.4375 0.25 -0.5 \n0.4375 0.3125 -0.5 \n0.3125 0.25 -0.5 \n0.25 0.3125 -0.5 \n0.25 0.4375 -0.5 \n0.3125 0.4375 -0.5 \n0.4375 -0.25 -0.5 \n0.4375 -0.1875 -0.5 \n0.3125 -0.25 -0.5 \n0.25 -0.1875 -0.5 \n0.25 -0.0625 -0.5 \n0.3125 -0.0625 -0.5 \n-0.0625 0.25 -0.5 \n-0.0625 0.3125 -0.5 \n-0.1875 0.25 -0.5 \n-0.25 0.3125 -0.5 \n-0.25 0.4375 -0.5 \n-0.1875 0.4375 -0.5 \n-0.25 -0.5 -0.4375 \n-0.3125 -0.5 -0.4375 \n-0.25 -0.5 -0.3125 \n-0.3125 -0.5 -0.25 \n-0.4375 -0.5 -0.25 \n-0.4375 -0.5 -0.3125 \n0.25 -0.5 -0.4375 \n0.1875 -0.5 -0.4375 \n0.25 -0.5 -0.3125 \n0.1875 -0.5 -0.25 \n0.0625 -0.5 -0.25 \n0.0625 -0.5 -0.3125 \n-0.25 -0.5 0.0625 \n-0.3125 -0.5 0.0625 \n-0.25 -0.5 0.1875 \n-0.3125 -0.5 0.25 \n-0.4375 -0.5 0.25 \n-0.4375 -0.5 0.1875 \n0.25 -0.5 0.4375 \n0.3125 -0.5 0.4375 \n0.25 -0.5 0.3125 \n0.3125 -0.5 0.25 \n0.4375 -0.5 0.25 \n0.4375 -0.5 0.3125 \n-0.25 -0.5 0.4375 \n-0.1875 -0.5 0.4375 \n-0.25 -0.5 0.3125 \n-0.1875 -0.5 0.25 \n-0.0625 -0.5 0.25 \n-0.0625 -0.5 0.3125 \n0.25 -0.5 -0.0625 \n0.3125 -0.5 -0.0625 \n0.25 -0.5 -0.1875 \n0.3125 -0.5 -0.25 \n0.4375 -0.5 -0.25 \n0.4375 -0.5 -0.1875 \n-0.5 -0.4375 -0.25 \n-0.5 -0.4375 -0.3125 \n-0.5 -0.3125 -0.25 \n-0.5 -0.25 -0.3125 \n-0.5 -0.25 -0.4375 \n-0.5 -0.3125 -0.4375 \n-0.5 -0.4375 0.25 \n-0.5 -0.4375 0.1875 \n-0.5 -0.3125 0.25 \n-0.5 -0.25 0.1875 \n-0.5 -0.25 0.0625 \n-0.5 -0.3125 0.0625 \n-0.5 0.0625 -0.25 \n-0.5 0.0625 -0.3125 \n-0.5 0.1875 -0.25 \n-0.5 0.25 -0.3125 \n-0.5 0.25 -0.4375 \n-0.5 0.1875 -0.4375 \n-0.5 0.4375 0.25 \n-0.5 0.4375 0.3125 \n-0.5 0.3125 0.25 \n-0.5 0.25 0.3125 \n-0.5 0.25 0.4375 \n-0.5 0.3125 0.4375 \n-0.5 0.4375 -0.25 \n-0.5 0.4375 -0.1875 \n-0.5 0.3125 -0.25 \n-0.5 0.25 -0.1875 \n-0.5 0.25 -0.0625 \n-0.5 0.3125 -0.0625 \n-0.5 -0.0625 0.25 \n-0.5 -0.0625 0.3125 \n-0.5 -0.1875 0.25 \n-0.5 -0.25 0.3125 \n-0.5 -0.25 0.4375 \n-0.5 -0.1875 0.4375 \n0 0.4375 0.5 \n0.0625 0.4375 0.5 \n0 0.3125 0.5 \n0.1875 0.3125 0.5 \n0 0.1875 0.5 \n0 0.0625 0.5 \n0.0625 0 0.5 \n0.1875 0 0.5 \n0.3125 0.1875 0.5 \n0.3125 0 0.5 \n0.4375 0 0.5 \n0.4375 0.0625 0.5 \n0 -0.4375 0.5 \n-0.0625 -0.4375 0.5 \n0 -0.3125 0.5 \n-0.1875 -0.3125 0.5 \n0 -0.1875 0.5 \n0 -0.0625 0.5 \n-0.0625 0 0.5 \n-0.1875 0 0.5 \n-0.3125 -0.1875 0.5 \n-0.3125 0 0.5 \n-0.4375 0 0.5 \n-0.4375 -0.0625 0.5 \n0.5 0 0.4375 \n0.5 0.0625 0.4375 \n0.5 0 0.3125 \n0.5 0.1875 0.3125 \n0.5 0 0.1875 \n0.5 0 0.0625 \n0.5 0.0625 0 \n0.5 0.1875 0 \n0.5 0.3125 0.1875 \n0.5 0.3125 0 \n0.5 0.4375 0 \n0.5 0.4375 0.0625 \n0.5 0 -0.4375 \n0.5 -0.0625 -0.4375 \n0.5 0 -0.3125 \n0.5 -0.1875 -0.3125 \n0.5 0 -0.1875 \n0.5 0 -0.0625 \n0.5 -0.0625 0 \n0.5 -0.1875 0 \n0.5 -0.3125 -0.1875 \n0.5 -0.3125 0 \n0.5 -0.4375 0 \n0.5 -0.4375 -0.0625 \n0.4375 0.5 0 \n0.4375 0.5 0.0625 \n0.3125 0.5 0 \n0.3125 0.5 0.1875 \n0.1875 0.5 0 \n0.0625 0.5 0 \n0 0.5 0.0625 \n0 0.5 0.1875 \n0.1875 0.5 0.3125 \n0 0.5 0.3125 \n0 0.5 0.4375 \n0.0625 0.5 0.4375 \n-0.4375 0.5 0 \n-0.4375 0.5 -0.0625 \n-0.3125 0.5 0 \n-0.3125 0.5 -0.1875 \n-0.1875 0.5 0 \n-0.0625 0.5 0 \n0 0.5 -0.0625 \n0 0.5 -0.1875 \n-0.1875 0.5 -0.3125 \n0 0.5 -0.3125 \n0 0.5 -0.4375 \n-0.0625 0.5 -0.4375 \n-0.4375 0 -0.5 \n-0.4375 -0.0625 -0.5 \n-0.3125 0 -0.5 \n-0.3125 -0.1875 -0.5 \n-0.1875 0 -0.5 \n-0.0625 0 -0.5 \n0 -0.0625 -0.5 \n0 -0.1875 -0.5 \n-0.1875 -0.3125 -0.5 \n0 -0.3125 -0.5 \n0 -0.4375 -0.5 \n-0.0625 -0.4375 -0.5 \n0.4375 0 -0.5 \n0.4375 0.0625 -0.5 \n0.3125 0 -0.5 \n0.3125 0.1875 -0.5 \n0.1875 0 -0.5 \n0.0625 0 -0.5 \n0 0.0625 -0.5 \n0 0.1875 -0.5 \n0.1875 0.3125 -0.5 \n0 0.3125 -0.5 \n0 0.4375 -0.5 \n0.0625 0.4375 -0.5 \n0 -0.5 -0.4375 \n-0.0625 -0.5 -0.4375 \n0 -0.5 -0.3125 \n-0.1875 -0.5 -0.3125 \n0 -0.5 -0.1875 \n0 -0.5 -0.0625 \n-0.0625 -0.5 0 \n-0.1875 -0.5 0 \n-0.3125 -0.5 -0.1875 \n-0.3125 -0.5 0 \n-0.4375 -0.5 0 \n-0.4375 -0.5 -0.0625 \n0 -0.5 0.4375 \n0.0625 -0.5 0.4375 \n0 -0.5 0.3125 \n0.1875 -0.5 0.3125 \n0 -0.5 0.1875 \n0 -0.5 0.0625 \n0.0625 -0.5 0 \n0.1875 -0.5 0 \n0.3125 -0.5 0.1875 \n0.3125 -0.5 0 \n0.4375 -0.5 0 \n0.4375 -0.5 0.0625 \n-0.5 -0.4375 0 \n-0.5 -0.4375 -0.0625 \n-0.5 -0.3125 0 \n-0.5 -0.3125 -0.1875 \n-0.5 -0.1875 0 \n-0.5 -0.0625 0 \n-0.5 0 -0.0625 \n-0.5 0 -0.1875 \n-0.5 -0.1875 -0.3125 \n-0.5 0 -0.3125 \n-0.5 0 -0.4375 \n-0.5 -0.0625 -0.4375 \n-0.5 0.4375 0 \n-0.5 0.4375 0.0625 \n-0.5 0.3125 0 \n-0.5 0.3125 0.1875 \n-0.5 0.1875 0 \n-0.5 0.0625 0 \n-0.5 0 0.0625 \n-0.5 0 0.1875 \n-0.5 0.1875 0.3125 \n-0.5 0 0.3125 \n-0.5 0 0.4375 \n-0.5 0.0625 0.4375 \n0.4375 0.5 0.5 \n0.5 0.4375 0.5 \n0.3125 0.5 0.5 \n0.5 0.3125 0.5 \n0.1875 0.5 0.5 \n0.0625 0.5 0.5 \n0.5 0.1875 0.5 \n0.5 0.0625 0.5 \n-0.0625 0.5 0.5 \n-0.1875 0.5 0.5 \n-0.3125 0.5 0.5 \n-0.4375 0.5 0.5 \n-0.4375 0.4375 0.5 \n-0.3125 0.3125 0.5 \n-0.1875 0.1875 0.5 \n-0.0625 0.0625 0.5 \n0.5 -0.0625 0.5 \n0.5 -0.1875 0.5 \n0.0625 -0.0625 0.5 \n0.1875 -0.1875 0.5 \n0.5 -0.3125 0.5 \n0.3125 -0.3125 0.5 \n0.4375 -0.4375 0.5 \n0.5 -0.4375 0.5 \n-0.4375 -0.5 0.5 \n-0.5 -0.4375 0.5 \n-0.3125 -0.5 0.5 \n-0.5 -0.3125 0.5 \n-0.1875 -0.5 0.5 \n-0.0625 -0.5 0.5 \n-0.5 -0.1875 0.5 \n-0.5 -0.0625 0.5 \n0.0625 -0.5 0.5 \n0.1875 -0.5 0.5 \n0.3125 -0.5 0.5 \n0.4375 -0.5 0.5 \n-0.5 0.0625 0.5 \n-0.5 0.1875 0.5 \n-0.5 0.3125 0.5 \n-0.5 0.4375 0.5 \n0.5 0.5 0.4375 \n0.5 0.5 0.3125 \n0.5 0.5 0.1875 \n0.5 0.5 0.0625 \n0.5 -0.4375 0.4375 \n0.5 -0.3125 0.3125 \n0.5 -0.1875 0.1875 \n0.5 -0.0625 0.0625 \n0.5 0.5 -0.0625 \n0.5 0.5 -0.1875 \n0.5 0.0625 -0.0625 \n0.5 0.1875 -0.1875 \n0.5 0.5 -0.3125 \n0.5 0.3125 -0.3125 \n0.5 0.4375 -0.4375 \n0.5 0.5 -0.4375 \n0.5 -0.4375 -0.5 \n0.5 -0.5 -0.4375 \n0.5 -0.3125 -0.5 \n0.5 -0.5 -0.3125 \n0.5 -0.1875 -0.5 \n0.5 -0.0625 -0.5 \n0.5 -0.5 -0.1875 \n0.5 -0.5 -0.0625 \n0.5 0.0625 -0.5 \n0.5 0.1875 -0.5 \n0.5 0.3125 -0.5 \n0.5 0.4375 -0.5 \n0.5 -0.5 0.0625 \n0.5 -0.5 0.1875 \n0.5 -0.5 0.3125 \n0.5 -0.5 0.4375 \n0.4375 0.5 -0.4375 \n0.3125 0.5 -0.3125 \n0.1875 0.5 -0.1875 \n0.0625 0.5 -0.0625 \n-0.0625 0.5 0.0625 \n-0.1875 0.5 0.1875 \n-0.3125 0.5 0.3125 \n-0.4375 0.5 0.4375 \n-0.5 0.5 -0.4375 \n-0.4375 0.5 -0.5 \n-0.5 0.5 -0.3125 \n-0.3125 0.5 -0.5 \n-0.5 0.5 -0.1875 \n-0.5 0.5 -0.0625 \n-0.1875 0.5 -0.5 \n-0.0625 0.5 -0.5 \n-0.5 0.5 0.0625 \n-0.5 0.5 0.1875 \n-0.5 0.5 0.3125 \n-0.5 0.5 0.4375 \n0.0625 0.5 -0.5 \n0.1875 0.5 -0.5 \n0.3125 0.5 -0.5 \n0.4375 0.5 -0.5 \n-0.5 -0.4375 -0.5 \n-0.4375 -0.5 -0.5 \n-0.5 -0.3125 -0.5 \n-0.3125 -0.5 -0.5 \n-0.5 -0.1875 -0.5 \n-0.5 -0.0625 -0.5 \n-0.1875 -0.5 -0.5 \n-0.0625 -0.5 -0.5 \n-0.5 0.0625 -0.5 \n-0.5 0.1875 -0.5 \n-0.5 0.3125 -0.5 \n-0.5 0.4375 -0.5 \n-0.4375 0.4375 -0.5 \n-0.3125 0.3125 -0.5 \n-0.1875 0.1875 -0.5 \n-0.0625 0.0625 -0.5 \n0.0625 -0.5 -0.5 \n0.1875 -0.5 -0.5 \n0.0625 -0.0625 -0.5 \n0.1875 -0.1875 -0.5 \n0.3125 -0.5 -0.5 \n0.3125 -0.3125 -0.5 \n0.4375 -0.4375 -0.5 \n0.4375 -0.5 -0.5 \n-0.5 -0.5 -0.4375 \n-0.5 -0.5 -0.3125 \n-0.5 -0.5 -0.1875 \n-0.5 -0.5 -0.0625 \n0.4375 -0.5 -0.4375 \n0.3125 -0.5 -0.3125 \n0.1875 -0.5 -0.1875 \n0.0625 -0.5 -0.0625 \n-0.5 -0.5 0.0625 \n-0.5 -0.5 0.1875 \n-0.0625 -0.5 0.0625 \n-0.1875 -0.5 0.1875 \n-0.5 -0.5 0.3125 \n-0.3125 -0.5 0.3125 \n-0.4375 -0.5 0.4375 \n-0.5 -0.5 0.4375 \n-0.5 -0.4375 0.4375 \n-0.5 -0.3125 0.3125 \n-0.5 -0.1875 0.1875 \n-0.5 -0.0625 0.0625 \n-0.5 0.0625 -0.0625 \n-0.5 0.1875 -0.1875 \n-0.5 0.3125 -0.3125 \n-0.5 0.4375 -0.4375 \n0.5 0.4375 0.5 \n0.5 0.3125 0.5 \n0.5 0.1875 0.5 \n0.5 0.0625 0.5 \n0.5 -0.0625 0.5 \n0.5 -0.1875 0.5 \n0.5 -0.3125 0.5 \n0.5 -0.4375 0.5 \n0.5 0.5 0.4375 \n0.4375 0.5 0.5 \n0.5 0.5 0.3125 \n0.3125 0.5 0.5 \n0.5 0.5 0.1875 \n0.5 0.5 0.0625 \n0.1875 0.5 0.5 \n0.0625 0.5 0.5 \n0.5 0.5 -0.0625 \n0.5 0.5 -0.1875 \n0.5 0.5 -0.3125 \n0.5 0.5 -0.4375 \n-0.0625 0.5 0.5 \n-0.1875 0.5 0.5 \n-0.3125 0.5 0.5 \n-0.4375 0.5 0.5 \n0.5 0.4375 -0.5 \n0.4375 0.5 -0.5 \n0.5 0.3125 -0.5 \n0.3125 0.5 -0.5 \n0.5 0.1875 -0.5 \n0.5 0.0625 -0.5 \n0.1875 0.5 -0.5 \n0.0625 0.5 -0.5 \n0.5 -0.0625 -0.5 \n0.5 -0.1875 -0.5 \n0.5 -0.3125 -0.5 \n0.5 -0.4375 -0.5 \n-0.0625 0.5 -0.5 \n-0.1875 0.5 -0.5 \n-0.3125 0.5 -0.5 \n-0.4375 0.5 -0.5 \n-0.4375 -0.5 -0.5 \n-0.3125 -0.5 -0.5 \n-0.1875 -0.5 -0.5 \n-0.0625 -0.5 -0.5 \n0.0625 -0.5 -0.5 \n0.1875 -0.5 -0.5 \n0.3125 -0.5 -0.5 \n0.4375 -0.5 -0.5 \n0.4375 -0.5 0.5 \n0.5 -0.5 0.4375 \n0.3125 -0.5 0.5 \n0.5 -0.5 0.3125 \n0.1875 -0.5 0.5 \n0.0625 -0.5 0.5 \n0.5 -0.5 0.1875 \n0.5 -0.5 0.0625 \n-0.0625 -0.5 0.5 \n-0.1875 -0.5 0.5 \n-0.3125 -0.5 0.5 \n-0.4375 -0.5 0.5 \n0.5 -0.5 -0.0625 \n0.5 -0.5 -0.1875 \n0.5 -0.5 -0.3125 \n0.5 -0.5 -0.4375 \n-0.5 -0.5 -0.4375 \n-0.5 -0.4375 -0.5 \n-0.5 -0.5 -0.3125 \n-0.5 -0.3125 -0.5 \n-0.5 -0.5 -0.1875 \n-0.5 -0.5 -0.0625 \n-0.5 -0.1875 -0.5 \n-0.5 -0.0625 -0.5 \n-0.5 -0.5 0.0625 \n-0.5 -0.5 0.1875 \n-0.5 -0.5 0.3125 \n-0.5 -0.5 0.4375 \n-0.5 0.0625 -0.5 \n-0.5 0.1875 -0.5 \n-0.5 0.3125 -0.5 \n-0.5 0.4375 -0.5 \n-0.5 0.5 0.4375 \n-0.5 0.4375 0.5 \n-0.5 0.5 0.3125 \n-0.5 0.3125 0.5 \n-0.5 0.5 0.1875 \n-0.5 0.5 0.0625 \n-0.5 0.1875 0.5 \n-0.5 0.0625 0.5 \n-0.5 0.5 -0.0625 \n-0.5 0.5 -0.1875 \n-0.5 0.5 -0.3125 \n-0.5 0.5 -0.4375 \n-0.5 -0.0625 0.5 \n-0.5 -0.1875 0.5 \n-0.5 -0.3125 0.5 \n-0.5 -0.4375 0.5 \n0.5 0.375 0.5 \n0.5 0.125 0.5 \n0.5 -0.125 0.5 \n0.5 -0.375 0.5 \n0.5 0.5 0.375 \n0.375 0.5 0.5 \n0.5 0.5 0.125 \n0.125 0.5 0.5 \n0.5 0.5 -0.125 \n0.5 0.5 -0.375 \n-0.125 0.5 0.5 \n-0.375 0.5 0.5 \n0.5 0.375 -0.5 \n0.375 0.5 -0.5 \n0.5 0.125 -0.5 \n0.125 0.5 -0.5 \n0.5 -0.125 -0.5 \n0.5 -0.375 -0.5 \n-0.125 0.5 -0.5 \n-0.375 0.5 -0.5 \n-0.375 -0.5 -0.5 \n-0.125 -0.5 -0.5 \n0.125 -0.5 -0.5 \n0.375 -0.5 -0.5 \n0.375 -0.5 0.5 \n0.5 -0.5 0.375 \n0.125 -0.5 0.5 \n0.5 -0.5 0.125 \n-0.125 -0.5 0.5 \n-0.375 -0.5 0.5 \n0.5 -0.5 -0.125 \n0.5 -0.5 -0.375 \n-0.5 -0.5 -0.375 \n-0.5 -0.375 -0.5 \n-0.5 -0.5 -0.125 \n-0.5 -0.125 -0.5 \n-0.5 -0.5 0.125 \n-0.5 -0.5 0.375 \n-0.5 0.125 -0.5 \n-0.5 0.375 -0.5 \n-0.5 0.5 0.375 \n-0.5 0.375 0.5 \n-0.5 0.5 0.125 \n-0.5 0.125 0.5 \n-0.5 0.5 -0.125 \n-0.5 0.5 -0.375 \n-0.5 -0.125 0.5 \n-0.5 -0.375 0.5 \n0.5 0.25 0.5 \n0.5 -0.25 0.5 \n0.5 0.5 0.25 \n0.25 0.5 0.5 \n0.5 0.5 -0.25 \n-0.25 0.5 0.5 \n0.5 0.25 -0.5 \n0.25 0.5 -0.5 \n0.5 -0.25 -0.5 \n-0.25 0.5 -0.5 \n-0.25 -0.5 -0.5 \n0.25 -0.5 -0.5 \n0.25 -0.5 0.5 \n0.5 -0.5 0.25 \n-0.25 -0.5 0.5 \n0.5 -0.5 -0.25 \n-0.5 -0.5 -0.25 \n-0.5 -0.25 -0.5 \n-0.5 -0.5 0.25 \n-0.5 0.25 -0.5 \n-0.5 0.5 0.25 \n-0.5 0.25 0.5 \n-0.5 0.5 -0.25 \n-0.5 -0.25 0.5 \n0.5 0 0.5 \n0.5 0.5 0 \n0 0.5 0.5 \n0.5 0 -0.5 \n0 0.5 -0.5 \n0 -0.5 -0.5 \n0 -0.5 0.5 \n0.5 -0.5 0 \n-0.5 -0.5 0 \n-0.5 0 -0.5 \n-0.5 0.5 0 \n-0.5 0 0.5 \n0.5 0.5 0.5 \n0.5 -0.5 0.5 \n0.5 0.5 0.5 \n0.5 0.5 -0.5 \n-0.5 0.5 0.5 \n-0.5 0.5 -0.5 \n0.5 -0.5 -0.5 \n0.5 0.5 -0.5 \n-0.5 -0.5 -0.5 \n0.5 -0.5 -0.5 \n-0.5 -0.5 0.5 \n0.5 -0.5 0.5 \n-0.5 -0.5 -0.5 \n-0.5 -0.5 0.5 \n-0.5 0.5 -0.5 \n-0.5 0.5 0.5 \n0.1875 0.15625 0.5 \n0.15625 0.1875 0.5 \n0.15625 0.15625 0.5 \n-0.1875 -0.15625 0.5 \n-0.15625 -0.1875 0.5 \n-0.15625 -0.15625 0.5 \n0.5 0.1875 0.15625 \n0.5 0.15625 0.1875 \n0.5 0.15625 0.15625 \n0.5 -0.1875 -0.15625 \n0.5 -0.15625 -0.1875 \n0.5 -0.15625 -0.15625 \n0.15625 0.5 0.1875 \n0.1875 0.5 0.15625 \n0.15625 0.5 0.15625 \n-0.15625 0.5 -0.1875 \n-0.1875 0.5 -0.15625 \n-0.15625 0.5 -0.15625 \n-0.15625 -0.1875 -0.5 \n-0.1875 -0.15625 -0.5 \n-0.15625 -0.15625 -0.5 \n0.15625 0.1875 -0.5 \n0.1875 0.15625 -0.5 \n0.15625 0.15625 -0.5 \n-0.1875 -0.5 -0.15625 \n-0.15625 -0.5 -0.1875 \n-0.15625 -0.5 -0.15625 \n0.1875 -0.5 0.15625 \n0.15625 -0.5 0.1875 \n0.15625 -0.5 0.15625 \n-0.5 -0.15625 -0.1875 \n-0.5 -0.1875 -0.15625 \n-0.5 -0.15625 -0.15625 \n-0.5 0.15625 0.1875 \n-0.5 0.1875 0.15625 \n-0.5 0.15625 0.15625 \n0.34375 0.3125 0.5 \n0.34375 0.34375 0.5 \n0.3125 0.34375 0.5 \n-0.15625 0.3125 0.5 \n-0.15625 0.34375 0.5 \n-0.1875 0.34375 0.5 \n0.34375 -0.1875 0.5 \n0.34375 -0.15625 0.5 \n0.3125 -0.15625 0.5 \n-0.34375 -0.3125 0.5 \n-0.34375 -0.34375 0.5 \n-0.3125 -0.34375 0.5 \n0.15625 -0.3125 0.5 \n0.15625 -0.34375 0.5 \n0.1875 -0.34375 0.5 \n-0.34375 0.1875 0.5 \n-0.34375 0.15625 0.5 \n-0.3125 0.15625 0.5 \n0.5 0.34375 0.3125 \n0.5 0.34375 0.34375 \n0.5 0.3125 0.34375 \n0.5 -0.15625 0.3125 \n0.5 -0.15625 0.34375 \n0.5 -0.1875 0.34375 \n0.5 0.34375 -0.1875 \n0.5 0.34375 -0.15625 \n0.5 0.3125 -0.15625 \n0.5 -0.34375 -0.3125 \n0.5 -0.34375 -0.34375 \n0.5 -0.3125 -0.34375 \n0.5 0.15625 -0.3125 \n0.5 0.15625 -0.34375 \n0.5 0.1875 -0.34375 \n0.5 -0.34375 0.1875 \n0.5 -0.34375 0.15625 \n0.5 -0.3125 0.15625 \n0.3125 0.5 0.34375 \n0.34375 0.5 0.34375 \n0.34375 0.5 0.3125 \n0.3125 0.5 -0.15625 \n0.34375 0.5 -0.15625 \n0.34375 0.5 -0.1875 \n-0.1875 0.5 0.34375 \n-0.15625 0.5 0.34375 \n-0.15625 0.5 0.3125 \n-0.3125 0.5 -0.34375 \n-0.34375 0.5 -0.34375 \n-0.34375 0.5 -0.3125 \n-0.3125 0.5 0.15625 \n-0.34375 0.5 0.15625 \n-0.34375 0.5 0.1875 \n0.1875 0.5 -0.34375 \n0.15625 0.5 -0.34375 \n0.15625 0.5 -0.3125 \n-0.3125 -0.34375 -0.5 \n-0.34375 -0.34375 -0.5 \n-0.34375 -0.3125 -0.5 \n-0.3125 0.15625 -0.5 \n-0.34375 0.15625 -0.5 \n-0.34375 0.1875 -0.5 \n0.1875 -0.34375 -0.5 \n0.15625 -0.34375 -0.5 \n0.15625 -0.3125 -0.5 \n0.3125 0.34375 -0.5 \n0.34375 0.34375 -0.5 \n0.34375 0.3125 -0.5 \n0.3125 -0.15625 -0.5 \n0.34375 -0.15625 -0.5 \n0.34375 -0.1875 -0.5 \n-0.1875 0.34375 -0.5 \n-0.15625 0.34375 -0.5 \n-0.15625 0.3125 -0.5 \n-0.34375 -0.5 -0.3125 \n-0.34375 -0.5 -0.34375 \n-0.3125 -0.5 -0.34375 \n0.15625 -0.5 -0.3125 \n0.15625 -0.5 -0.34375 \n0.1875 -0.5 -0.34375 \n-0.34375 -0.5 0.1875 \n-0.34375 -0.5 0.15625 \n-0.3125 -0.5 0.15625 \n0.34375 -0.5 0.3125 \n0.34375 -0.5 0.34375 \n0.3125 -0.5 0.34375 \n-0.15625 -0.5 0.3125 \n-0.15625 -0.5 0.34375 \n-0.1875 -0.5 0.34375 \n0.34375 -0.5 -0.1875 \n0.34375 -0.5 -0.15625 \n0.3125 -0.5 -0.15625 \n-0.5 -0.3125 -0.34375 \n-0.5 -0.34375 -0.34375 \n-0.5 -0.34375 -0.3125 \n-0.5 -0.3125 0.15625 \n-0.5 -0.34375 0.15625 \n-0.5 -0.34375 0.1875 \n-0.5 0.1875 -0.34375 \n-0.5 0.15625 -0.34375 \n-0.5 0.15625 -0.3125 \n-0.5 0.3125 0.34375 \n-0.5 0.34375 0.34375 \n-0.5 0.34375 0.3125 \n-0.5 0.3125 -0.15625 \n-0.5 0.34375 -0.15625 \n-0.5 0.34375 -0.1875 \n-0.5 -0.1875 0.34375 \n-0.5 -0.15625 0.34375 \n-0.5 -0.15625 0.3125 \n0.09375 0.3125 0.5 \n0.09375 0.34375 0.5 \n0.0625 0.34375 0.5 \n0.09375 0.0625 0.5 \n0.09375 0.09375 0.5 \n0.0625 0.09375 0.5 \n0.34375 0.0625 0.5 \n0.34375 0.09375 0.5 \n0.3125 0.09375 0.5 \n-0.09375 -0.3125 0.5 \n-0.09375 -0.34375 0.5 \n-0.0625 -0.34375 0.5 \n-0.09375 -0.0625 0.5 \n-0.09375 -0.09375 0.5 \n-0.0625 -0.09375 0.5 \n-0.34375 -0.0625 0.5 \n-0.34375 -0.09375 0.5 \n-0.3125 -0.09375 0.5 \n0.5 0.09375 0.3125 \n0.5 0.09375 0.34375 \n0.5 0.0625 0.34375 \n0.5 0.09375 0.0625 \n0.5 0.09375 0.09375 \n0.5 0.0625 0.09375 \n0.5 0.34375 0.0625 \n0.5 0.34375 0.09375 \n0.5 0.3125 0.09375 \n0.5 -0.09375 -0.3125 \n0.5 -0.09375 -0.34375 \n0.5 -0.0625 -0.34375 \n0.5 -0.09375 -0.0625 \n0.5 -0.09375 -0.09375 \n0.5 -0.0625 -0.09375 \n0.5 -0.34375 -0.0625 \n0.5 -0.34375 -0.09375 \n0.5 -0.3125 -0.09375 \n0.3125 0.5 0.09375 \n0.34375 0.5 0.09375 \n0.34375 0.5 0.0625 \n0.0625 0.5 0.09375 \n0.09375 0.5 0.09375 \n0.09375 0.5 0.0625 \n0.0625 0.5 0.34375 \n0.09375 0.5 0.34375 \n0.09375 0.5 0.3125 \n-0.3125 0.5 -0.09375 \n-0.34375 0.5 -0.09375 \n-0.34375 0.5 -0.0625 \n-0.0625 0.5 -0.09375 \n-0.09375 0.5 -0.09375 \n-0.09375 0.5 -0.0625 \n-0.0625 0.5 -0.34375 \n-0.09375 0.5 -0.34375 \n-0.09375 0.5 -0.3125 \n-0.3125 -0.09375 -0.5 \n-0.34375 -0.09375 -0.5 \n-0.34375 -0.0625 -0.5 \n-0.0625 -0.09375 -0.5 \n-0.09375 -0.09375 -0.5 \n-0.09375 -0.0625 -0.5 \n-0.0625 -0.34375 -0.5 \n-0.09375 -0.34375 -0.5 \n-0.09375 -0.3125 -0.5 \n0.3125 0.09375 -0.5 \n0.34375 0.09375 -0.5 \n0.34375 0.0625 -0.5 \n0.0625 0.09375 -0.5 \n0.09375 0.09375 -0.5 \n0.09375 0.0625 -0.5 \n0.0625 0.34375 -0.5 \n0.09375 0.34375 -0.5 \n0.09375 0.3125 -0.5 \n-0.09375 -0.5 -0.3125 \n-0.09375 -0.5 -0.34375 \n-0.0625 -0.5 -0.34375 \n-0.09375 -0.5 -0.0625 \n-0.09375 -0.5 -0.09375 \n-0.0625 -0.5 -0.09375 \n-0.34375 -0.5 -0.0625 \n-0.34375 -0.5 -0.09375 \n-0.3125 -0.5 -0.09375 \n0.09375 -0.5 0.3125 \n0.09375 -0.5 0.34375 \n0.0625 -0.5 0.34375 \n0.09375 -0.5 0.0625 \n0.09375 -0.5 0.09375 \n0.0625 -0.5 0.09375 \n0.34375 -0.5 0.0625 \n0.34375 -0.5 0.09375 \n0.3125 -0.5 0.09375 \n-0.5 -0.3125 -0.09375 \n-0.5 -0.34375 -0.09375 \n-0.5 -0.34375 -0.0625 \n-0.5 -0.0625 -0.09375 \n-0.5 -0.09375 -0.09375 \n-0.5 -0.09375 -0.0625 \n-0.5 -0.0625 -0.34375 \n-0.5 -0.09375 -0.34375 \n-0.5 -0.09375 -0.3125 \n-0.5 0.3125 0.09375 \n-0.5 0.34375 0.09375 \n-0.5 0.34375 0.0625 \n-0.5 0.0625 0.09375 \n-0.5 0.09375 0.09375 \n-0.5 0.09375 0.0625 \n-0.5 0.0625 0.34375 \n-0.5 0.09375 0.34375 \n-0.5 0.09375 0.3125 \n0.40625 0.40625 0.5 \n0.4375 0.40625 0.5 \n0.40625 0.4375 0.5 \n0.15625 0.40625 0.5 \n0.1875 0.40625 0.5 \n0.15625 0.4375 0.5 \n0.40625 0.15625 0.5 \n0.4375 0.15625 0.5 \n0.40625 0.1875 0.5 \n-0.09375 0.40625 0.5 \n-0.0625 0.40625 0.5 \n-0.09375 0.4375 0.5 \n-0.34375 0.40625 0.5 \n-0.3125 0.40625 0.5 \n-0.34375 0.4375 0.5 \n-0.09375 0.15625 0.5 \n-0.0625 0.15625 0.5 \n-0.09375 0.1875 0.5 \n0.40625 -0.09375 0.5 \n0.4375 -0.09375 0.5 \n0.40625 -0.0625 0.5 \n0.15625 -0.09375 0.5 \n0.1875 -0.09375 0.5 \n0.15625 -0.0625 0.5 \n0.40625 -0.34375 0.5 \n0.4375 -0.34375 0.5 \n0.40625 -0.3125 0.5 \n-0.40625 -0.40625 0.5 \n-0.4375 -0.40625 0.5 \n-0.40625 -0.4375 0.5 \n-0.15625 -0.40625 0.5 \n-0.1875 -0.40625 0.5 \n-0.15625 -0.4375 0.5 \n-0.40625 -0.15625 0.5 \n-0.4375 -0.15625 0.5 \n-0.40625 -0.1875 0.5 \n0.09375 -0.40625 0.5 \n0.0625 -0.40625 0.5 \n0.09375 -0.4375 0.5 \n0.34375 -0.40625 0.5 \n0.3125 -0.40625 0.5 \n0.34375 -0.4375 0.5 \n0.09375 -0.15625 0.5 \n0.0625 -0.15625 0.5 \n0.09375 -0.1875 0.5 \n-0.40625 0.09375 0.5 \n-0.4375 0.09375 0.5 \n-0.40625 0.0625 0.5 \n-0.15625 0.09375 0.5 \n-0.1875 0.09375 0.5 \n-0.15625 0.0625 0.5 \n-0.40625 0.34375 0.5 \n-0.4375 0.34375 0.5 \n-0.40625 0.3125 0.5 \n0.5 0.40625 0.40625 \n0.5 0.4375 0.40625 \n0.5 0.40625 0.4375 \n0.5 0.15625 0.40625 \n0.5 0.1875 0.40625 \n0.5 0.15625 0.4375 \n0.5 0.40625 0.15625 \n0.5 0.4375 0.15625 \n0.5 0.40625 0.1875 \n0.5 -0.09375 0.40625 \n0.5 -0.0625 0.40625 \n0.5 -0.09375 0.4375 \n0.5 -0.34375 0.40625 \n0.5 -0.3125 0.40625 \n0.5 -0.34375 0.4375 \n0.5 -0.09375 0.15625 \n0.5 -0.0625 0.15625 \n0.5 -0.09375 0.1875 \n0.5 0.40625 -0.09375 \n0.5 0.4375 -0.09375 \n0.5 0.40625 -0.0625 \n0.5 0.15625 -0.09375 \n0.5 0.1875 -0.09375 \n0.5 0.15625 -0.0625 \n0.5 0.40625 -0.34375 \n0.5 0.4375 -0.34375 \n0.5 0.40625 -0.3125 \n0.5 -0.40625 -0.40625 \n0.5 -0.4375 -0.40625 \n0.5 -0.40625 -0.4375 \n0.5 -0.15625 -0.40625 \n0.5 -0.1875 -0.40625 \n0.5 -0.15625 -0.4375 \n0.5 -0.40625 -0.15625 \n0.5 -0.4375 -0.15625 \n0.5 -0.40625 -0.1875 \n0.5 0.09375 -0.40625 \n0.5 0.0625 -0.40625 \n0.5 0.09375 -0.4375 \n0.5 0.34375 -0.40625 \n0.5 0.3125 -0.40625 \n0.5 0.34375 -0.4375 \n0.5 0.09375 -0.15625 \n0.5 0.0625 -0.15625 \n0.5 0.09375 -0.1875 \n0.5 -0.40625 0.09375 \n0.5 -0.4375 0.09375 \n0.5 -0.40625 0.0625 \n0.5 -0.15625 0.09375 \n0.5 -0.1875 0.09375 \n0.5 -0.15625 0.0625 \n0.5 -0.40625 0.34375 \n0.5 -0.4375 0.34375 \n0.5 -0.40625 0.3125 \n0.40625 0.5 0.40625 \n0.40625 0.5 0.4375 \n0.4375 0.5 0.40625 \n0.40625 0.5 0.15625 \n0.40625 0.5 0.1875 \n0.4375 0.5 0.15625 \n0.15625 0.5 0.40625 \n0.15625 0.5 0.4375 \n0.1875 0.5 0.40625 \n0.40625 0.5 -0.09375 \n0.40625 0.5 -0.0625 \n0.4375 0.5 -0.09375 \n0.40625 0.5 -0.34375 \n0.40625 0.5 -0.3125 \n0.4375 0.5 -0.34375 \n0.15625 0.5 -0.09375 \n0.15625 0.5 -0.0625 \n0.1875 0.5 -0.09375 \n-0.09375 0.5 0.40625 \n-0.09375 0.5 0.4375 \n-0.0625 0.5 0.40625 \n-0.09375 0.5 0.15625 \n-0.09375 0.5 0.1875 \n-0.0625 0.5 0.15625 \n-0.34375 0.5 0.40625 \n-0.34375 0.5 0.4375 \n-0.3125 0.5 0.40625 \n-0.40625 0.5 -0.40625 \n-0.40625 0.5 -0.4375 \n-0.4375 0.5 -0.40625 \n-0.40625 0.5 -0.15625 \n-0.40625 0.5 -0.1875 \n-0.4375 0.5 -0.15625 \n-0.15625 0.5 -0.40625 \n-0.15625 0.5 -0.4375 \n-0.1875 0.5 -0.40625 \n-0.40625 0.5 0.09375 \n-0.40625 0.5 0.0625 \n-0.4375 0.5 0.09375 \n-0.40625 0.5 0.34375 \n-0.40625 0.5 0.3125 \n-0.4375 0.5 0.34375 \n-0.15625 0.5 0.09375 \n-0.15625 0.5 0.0625 \n-0.1875 0.5 0.09375 \n0.09375 0.5 -0.40625 \n0.09375 0.5 -0.4375 \n0.0625 0.5 -0.40625 \n0.09375 0.5 -0.15625 \n0.09375 0.5 -0.1875 \n0.0625 0.5 -0.15625 \n0.34375 0.5 -0.40625 \n0.34375 0.5 -0.4375 \n0.3125 0.5 -0.40625 \n-0.40625 -0.40625 -0.5 \n-0.40625 -0.4375 -0.5 \n-0.4375 -0.40625 -0.5 \n-0.40625 -0.15625 -0.5 \n-0.40625 -0.1875 -0.5 \n-0.4375 -0.15625 -0.5 \n-0.15625 -0.40625 -0.5 \n-0.15625 -0.4375 -0.5 \n-0.1875 -0.40625 -0.5 \n-0.40625 0.09375 -0.5 \n-0.40625 0.0625 -0.5 \n-0.4375 0.09375 -0.5 \n-0.40625 0.34375 -0.5 \n-0.40625 0.3125 -0.5 \n-0.4375 0.34375 -0.5 \n-0.15625 0.09375 -0.5 \n-0.15625 0.0625 -0.5 \n-0.1875 0.09375 -0.5 \n0.09375 -0.40625 -0.5 \n0.09375 -0.4375 -0.5 \n0.0625 -0.40625 -0.5 \n0.09375 -0.15625 -0.5 \n0.09375 -0.1875 -0.5 \n0.0625 -0.15625 -0.5 \n0.34375 -0.40625 -0.5 \n0.34375 -0.4375 -0.5 \n0.3125 -0.40625 -0.5 \n0.40625 0.40625 -0.5 \n0.40625 0.4375 -0.5 \n0.4375 0.40625 -0.5 \n0.40625 0.15625 -0.5 \n0.40625 0.1875 -0.5 \n0.4375 0.15625 -0.5 \n0.15625 0.40625 -0.5 \n0.15625 0.4375 -0.5 \n0.1875 0.40625 -0.5 \n0.40625 -0.09375 -0.5 \n0.40625 -0.0625 -0.5 \n0.4375 -0.09375 -0.5 \n0.40625 -0.34375 -0.5 \n0.40625 -0.3125 -0.5 \n0.4375 -0.34375 -0.5 \n0.15625 -0.09375 -0.5 \n0.15625 -0.0625 -0.5 \n0.1875 -0.09375 -0.5 \n-0.09375 0.40625 -0.5 \n-0.09375 0.4375 -0.5 \n-0.0625 0.40625 -0.5 \n-0.09375 0.15625 -0.5 \n-0.09375 0.1875 -0.5 \n-0.0625 0.15625 -0.5 \n-0.34375 0.40625 -0.5 \n-0.34375 0.4375 -0.5 \n-0.3125 0.40625 -0.5 \n-0.40625 -0.5 -0.40625 \n-0.4375 -0.5 -0.40625 \n-0.40625 -0.5 -0.4375 \n-0.15625 -0.5 -0.40625 \n-0.1875 -0.5 -0.40625 \n-0.15625 -0.5 -0.4375 \n-0.40625 -0.5 -0.15625 \n-0.4375 -0.5 -0.15625 \n-0.40625 -0.5 -0.1875 \n0.09375 -0.5 -0.40625 \n0.0625 -0.5 -0.40625 \n0.09375 -0.5 -0.4375 \n0.34375 -0.5 -0.40625 \n0.3125 -0.5 -0.40625 \n0.34375 -0.5 -0.4375 \n0.09375 -0.5 -0.15625 \n0.0625 -0.5 -0.15625 \n0.09375 -0.5 -0.1875 \n-0.40625 -0.5 0.09375 \n-0.4375 -0.5 0.09375 \n-0.40625 -0.5 0.0625 \n-0.15625 -0.5 0.09375 \n-0.1875 -0.5 0.09375 \n-0.15625 -0.5 0.0625 \n-0.40625 -0.5 0.34375 \n-0.4375 -0.5 0.34375 \n-0.40625 -0.5 0.3125 \n0.40625 -0.5 0.40625 \n0.4375 -0.5 0.40625 \n0.40625 -0.5 0.4375 \n0.15625 -0.5 0.40625 \n0.1875 -0.5 0.40625 \n0.15625 -0.5 0.4375 \n0.40625 -0.5 0.15625 \n0.4375 -0.5 0.15625 \n0.40625 -0.5 0.1875 \n-0.09375 -0.5 0.40625 \n-0.0625 -0.5 0.40625 \n-0.09375 -0.5 0.4375 \n-0.34375 -0.5 0.40625 \n-0.3125 -0.5 0.40625 \n-0.34375 -0.5 0.4375 \n-0.09375 -0.5 0.15625 \n-0.0625 -0.5 0.15625 \n-0.09375 -0.5 0.1875 \n0.40625 -0.5 -0.09375 \n0.4375 -0.5 -0.09375 \n0.40625 -0.5 -0.0625 \n0.15625 -0.5 -0.09375 \n0.1875 -0.5 -0.09375 \n0.15625 -0.5 -0.0625 \n0.40625 -0.5 -0.34375 \n0.4375 -0.5 -0.34375 \n0.40625 -0.5 -0.3125 \n-0.5 -0.40625 -0.40625 \n-0.5 -0.40625 -0.4375 \n-0.5 -0.4375 -0.40625 \n-0.5 -0.40625 -0.15625 \n-0.5 -0.40625 -0.1875 \n-0.5 -0.4375 -0.15625 \n-0.5 -0.15625 -0.40625 \n-0.5 -0.15625 -0.4375 \n-0.5 -0.1875 -0.40625 \n-0.5 -0.40625 0.09375 \n-0.5 -0.40625 0.0625 \n-0.5 -0.4375 0.09375 \n-0.5 -0.40625 0.34375 \n-0.5 -0.40625 0.3125 \n-0.5 -0.4375 0.34375 \n-0.5 -0.15625 0.09375 \n-0.5 -0.15625 0.0625 \n-0.5 -0.1875 0.09375 \n-0.5 0.09375 -0.40625 \n-0.5 0.09375 -0.4375 \n-0.5 0.0625 -0.40625 \n-0.5 0.09375 -0.15625 \n-0.5 0.09375 -0.1875 \n-0.5 0.0625 -0.15625 \n-0.5 0.34375 -0.40625 \n-0.5 0.34375 -0.4375 \n-0.5 0.3125 -0.40625 \n-0.5 0.40625 0.40625 \n-0.5 0.40625 0.4375 \n-0.5 0.4375 0.40625 \n-0.5 0.40625 0.15625 \n-0.5 0.40625 0.1875 \n-0.5 0.4375 0.15625 \n-0.5 0.15625 0.40625 \n-0.5 0.15625 0.4375 \n-0.5 0.1875 0.40625 \n-0.5 0.40625 -0.09375 \n-0.5 0.40625 -0.0625 \n-0.5 0.4375 -0.09375 \n-0.5 0.40625 -0.34375 \n-0.5 0.40625 -0.3125 \n-0.5 0.4375 -0.34375 \n-0.5 0.15625 -0.09375 \n-0.5 0.15625 -0.0625 \n-0.5 0.1875 -0.09375 \n-0.5 -0.09375 0.40625 \n-0.5 -0.09375 0.4375 \n-0.5 -0.0625 0.40625 \n-0.5 -0.09375 0.15625 \n-0.5 -0.09375 0.1875 \n-0.5 -0.0625 0.15625 \n-0.5 -0.34375 0.40625 \n-0.5 -0.34375 0.4375 \n-0.5 -0.3125 0.40625 \n0.09375 0.1875 0.5 \n0.09375 0.21875 0.5 \n0.0625 0.21875 0.5 \n0.21875 0.0625 0.5 \n0.21875 0.09375 0.5 \n0.1875 0.09375 0.5 \n0.21875 0.1875 0.5 \n0.21875 0.21875 0.5 \n0.1875 0.21875 0.5 \n-0.09375 -0.1875 0.5 \n-0.09375 -0.21875 0.5 \n-0.0625 -0.21875 0.5 \n-0.21875 -0.0625 0.5 \n-0.21875 -0.09375 0.5 \n-0.1875 -0.09375 0.5 \n-0.21875 -0.1875 0.5 \n-0.21875 -0.21875 0.5 \n-0.1875 -0.21875 0.5 \n0.5 0.09375 0.1875 \n0.5 0.09375 0.21875 \n0.5 0.0625 0.21875 \n0.5 0.21875 0.0625 \n0.5 0.21875 0.09375 \n0.5 0.1875 0.09375 \n0.5 0.21875 0.1875 \n0.5 0.21875 0.21875 \n0.5 0.1875 0.21875 \n0.5 -0.09375 -0.1875 \n0.5 -0.09375 -0.21875 \n0.5 -0.0625 -0.21875 \n0.5 -0.21875 -0.0625 \n0.5 -0.21875 -0.09375 \n0.5 -0.1875 -0.09375 \n0.5 -0.21875 -0.1875 \n0.5 -0.21875 -0.21875 \n0.5 -0.1875 -0.21875 \n0.1875 0.5 0.09375 \n0.21875 0.5 0.09375 \n0.21875 0.5 0.0625 \n0.0625 0.5 0.21875 \n0.09375 0.5 0.21875 \n0.09375 0.5 0.1875 \n0.1875 0.5 0.21875 \n0.21875 0.5 0.21875 \n0.21875 0.5 0.1875 \n-0.1875 0.5 -0.09375 \n-0.21875 0.5 -0.09375 \n-0.21875 0.5 -0.0625 \n-0.0625 0.5 -0.21875 \n-0.09375 0.5 -0.21875 \n-0.09375 0.5 -0.1875 \n-0.1875 0.5 -0.21875 \n-0.21875 0.5 -0.21875 \n-0.21875 0.5 -0.1875 \n-0.1875 -0.09375 -0.5 \n-0.21875 -0.09375 -0.5 \n-0.21875 -0.0625 -0.5 \n-0.0625 -0.21875 -0.5 \n-0.09375 -0.21875 -0.5 \n-0.09375 -0.1875 -0.5 \n-0.1875 -0.21875 -0.5 \n-0.21875 -0.21875 -0.5 \n-0.21875 -0.1875 -0.5 \n0.1875 0.09375 -0.5 \n0.21875 0.09375 -0.5 \n0.21875 0.0625 -0.5 \n0.0625 0.21875 -0.5 \n0.09375 0.21875 -0.5 \n0.09375 0.1875 -0.5 \n0.1875 0.21875 -0.5 \n0.21875 0.21875 -0.5 \n0.21875 0.1875 -0.5 \n-0.09375 -0.5 -0.1875 \n-0.09375 -0.5 -0.21875 \n-0.0625 -0.5 -0.21875 \n-0.21875 -0.5 -0.0625 \n-0.21875 -0.5 -0.09375 \n-0.1875 -0.5 -0.09375 \n-0.21875 -0.5 -0.1875 \n-0.21875 -0.5 -0.21875 \n-0.1875 -0.5 -0.21875 \n0.09375 -0.5 0.1875 \n0.09375 -0.5 0.21875 \n0.0625 -0.5 0.21875 \n0.21875 -0.5 0.0625 \n0.21875 -0.5 0.09375 \n0.1875 -0.5 0.09375 \n0.21875 -0.5 0.1875 \n0.21875 -0.5 0.21875 \n0.1875 -0.5 0.21875 \n-0.5 -0.1875 -0.09375 \n-0.5 -0.21875 -0.09375 \n-0.5 -0.21875 -0.0625 \n-0.5 -0.0625 -0.21875 \n-0.5 -0.09375 -0.21875 \n-0.5 -0.09375 -0.1875 \n-0.5 -0.1875 -0.21875 \n-0.5 -0.21875 -0.21875 \n-0.5 -0.21875 -0.1875 \n-0.5 0.1875 0.09375 \n-0.5 0.21875 0.09375 \n-0.5 0.21875 0.0625 \n-0.5 0.0625 0.21875 \n-0.5 0.09375 0.21875 \n-0.5 0.09375 0.1875 \n-0.5 0.1875 0.21875 \n-0.5 0.21875 0.21875 \n-0.5 0.21875 0.1875 \n0.28125 0.40625 0.5 \n0.3125 0.40625 0.5 \n0.28125 0.4375 0.5 \n0.28125 0.28125 0.5 \n0.3125 0.28125 0.5 \n0.28125 0.3125 0.5 \n0.40625 0.28125 0.5 \n0.4375 0.28125 0.5 \n0.40625 0.3125 0.5 \n-0.21875 0.40625 0.5 \n-0.1875 0.40625 0.5 \n-0.21875 0.4375 0.5 \n-0.21875 0.28125 0.5 \n-0.1875 0.28125 0.5 \n-0.21875 0.3125 0.5 \n-0.09375 0.28125 0.5 \n-0.0625 0.28125 0.5 \n-0.09375 0.3125 0.5 \n0.28125 -0.09375 0.5 \n0.3125 -0.09375 0.5 \n0.28125 -0.0625 0.5 \n0.28125 -0.21875 0.5 \n0.3125 -0.21875 0.5 \n0.28125 -0.1875 0.5 \n0.40625 -0.21875 0.5 \n0.4375 -0.21875 0.5 \n0.40625 -0.1875 0.5 \n-0.28125 -0.40625 0.5 \n-0.3125 -0.40625 0.5 \n-0.28125 -0.4375 0.5 \n-0.28125 -0.28125 0.5 \n-0.3125 -0.28125 0.5 \n-0.28125 -0.3125 0.5 \n-0.40625 -0.28125 0.5 \n-0.4375 -0.28125 0.5 \n-0.40625 -0.3125 0.5 \n0.21875 -0.40625 0.5 \n0.1875 -0.40625 0.5 \n0.21875 -0.4375 0.5 \n0.21875 -0.28125 0.5 \n0.1875 -0.28125 0.5 \n0.21875 -0.3125 0.5 \n0.09375 -0.28125 0.5 \n0.0625 -0.28125 0.5 \n0.09375 -0.3125 0.5 \n-0.28125 0.09375 0.5 \n-0.3125 0.09375 0.5 \n-0.28125 0.0625 0.5 \n-0.28125 0.21875 0.5 \n-0.3125 0.21875 0.5 \n-0.28125 0.1875 0.5 \n-0.40625 0.21875 0.5 \n-0.4375 0.21875 0.5 \n-0.40625 0.1875 0.5 \n0.5 0.28125 0.40625 \n0.5 0.3125 0.40625 \n0.5 0.28125 0.4375 \n0.5 0.28125 0.28125 \n0.5 0.3125 0.28125 \n0.5 0.28125 0.3125 \n0.5 0.40625 0.28125 \n0.5 0.4375 0.28125 \n0.5 0.40625 0.3125 \n0.5 -0.21875 0.40625 \n0.5 -0.1875 0.40625 \n0.5 -0.21875 0.4375 \n0.5 -0.21875 0.28125 \n0.5 -0.1875 0.28125 \n0.5 -0.21875 0.3125 \n0.5 -0.09375 0.28125 \n0.5 -0.0625 0.28125 \n0.5 -0.09375 0.3125 \n0.5 0.28125 -0.09375 \n0.5 0.3125 -0.09375 \n0.5 0.28125 -0.0625 \n0.5 0.28125 -0.21875 \n0.5 0.3125 -0.21875 \n0.5 0.28125 -0.1875 \n0.5 0.40625 -0.21875 \n0.5 0.4375 -0.21875 \n0.5 0.40625 -0.1875 \n0.5 -0.28125 -0.40625 \n0.5 -0.3125 -0.40625 \n0.5 -0.28125 -0.4375 \n0.5 -0.28125 -0.28125 \n0.5 -0.3125 -0.28125 \n0.5 -0.28125 -0.3125 \n0.5 -0.40625 -0.28125 \n0.5 -0.4375 -0.28125 \n0.5 -0.40625 -0.3125 \n0.5 0.21875 -0.40625 \n0.5 0.1875 -0.40625 \n0.5 0.21875 -0.4375 \n0.5 0.21875 -0.28125 \n0.5 0.1875 -0.28125 \n0.5 0.21875 -0.3125 \n0.5 0.09375 -0.28125 \n0.5 0.0625 -0.28125 \n0.5 0.09375 -0.3125 \n0.5 -0.28125 0.09375 \n0.5 -0.3125 0.09375 \n0.5 -0.28125 0.0625 \n0.5 -0.28125 0.21875 \n0.5 -0.3125 0.21875 \n0.5 -0.28125 0.1875 \n0.5 -0.40625 0.21875 \n0.5 -0.4375 0.21875 \n0.5 -0.40625 0.1875 \n0.40625 0.5 0.28125 \n0.40625 0.5 0.3125 \n0.4375 0.5 0.28125 \n0.28125 0.5 0.28125 \n0.28125 0.5 0.3125 \n0.3125 0.5 0.28125 \n0.28125 0.5 0.40625 \n0.28125 0.5 0.4375 \n0.3125 0.5 0.40625 \n0.40625 0.5 -0.21875 \n0.40625 0.5 -0.1875 \n0.4375 0.5 -0.21875 \n0.28125 0.5 -0.21875 \n0.28125 0.5 -0.1875 \n0.3125 0.5 -0.21875 \n0.28125 0.5 -0.09375 \n0.28125 0.5 -0.0625 \n0.3125 0.5 -0.09375 \n-0.09375 0.5 0.28125 \n-0.09375 0.5 0.3125 \n-0.0625 0.5 0.28125 \n-0.21875 0.5 0.28125 \n-0.21875 0.5 0.3125 \n-0.1875 0.5 0.28125 \n-0.21875 0.5 0.40625 \n-0.21875 0.5 0.4375 \n-0.1875 0.5 0.40625 \n-0.40625 0.5 -0.28125 \n-0.40625 0.5 -0.3125 \n-0.4375 0.5 -0.28125 \n-0.28125 0.5 -0.28125 \n-0.28125 0.5 -0.3125 \n-0.3125 0.5 -0.28125 \n-0.28125 0.5 -0.40625 \n-0.28125 0.5 -0.4375 \n-0.3125 0.5 -0.40625 \n-0.40625 0.5 0.21875 \n-0.40625 0.5 0.1875 \n-0.4375 0.5 0.21875 \n-0.28125 0.5 0.21875 \n-0.28125 0.5 0.1875 \n-0.3125 0.5 0.21875 \n-0.28125 0.5 0.09375 \n-0.28125 0.5 0.0625 \n-0.3125 0.5 0.09375 \n0.09375 0.5 -0.28125 \n0.09375 0.5 -0.3125 \n0.0625 0.5 -0.28125 \n0.21875 0.5 -0.28125 \n0.21875 0.5 -0.3125 \n0.1875 0.5 -0.28125 \n0.21875 0.5 -0.40625 \n0.21875 0.5 -0.4375 \n0.1875 0.5 -0.40625 \n-0.40625 -0.28125 -0.5 \n-0.40625 -0.3125 -0.5 \n-0.4375 -0.28125 -0.5 \n-0.28125 -0.28125 -0.5 \n-0.28125 -0.3125 -0.5 \n-0.3125 -0.28125 -0.5 \n-0.28125 -0.40625 -0.5 \n-0.28125 -0.4375 -0.5 \n-0.3125 -0.40625 -0.5 \n-0.40625 0.21875 -0.5 \n-0.40625 0.1875 -0.5 \n-0.4375 0.21875 -0.5 \n-0.28125 0.21875 -0.5 \n-0.28125 0.1875 -0.5 \n-0.3125 0.21875 -0.5 \n-0.28125 0.09375 -0.5 \n-0.28125 0.0625 -0.5 \n-0.3125 0.09375 -0.5 \n0.09375 -0.28125 -0.5 \n0.09375 -0.3125 -0.5 \n0.0625 -0.28125 -0.5 \n0.21875 -0.28125 -0.5 \n0.21875 -0.3125 -0.5 \n0.1875 -0.28125 -0.5 \n0.21875 -0.40625 -0.5 \n0.21875 -0.4375 -0.5 \n0.1875 -0.40625 -0.5 \n0.40625 0.28125 -0.5 \n0.40625 0.3125 -0.5 \n0.4375 0.28125 -0.5 \n0.28125 0.28125 -0.5 \n0.28125 0.3125 -0.5 \n0.3125 0.28125 -0.5 \n0.28125 0.40625 -0.5 \n0.28125 0.4375 -0.5 \n0.3125 0.40625 -0.5 \n0.40625 -0.21875 -0.5 \n0.40625 -0.1875 -0.5 \n0.4375 -0.21875 -0.5 \n0.28125 -0.21875 -0.5 \n0.28125 -0.1875 -0.5 \n0.3125 -0.21875 -0.5 \n0.28125 -0.09375 -0.5 \n0.28125 -0.0625 -0.5 \n0.3125 -0.09375 -0.5 \n-0.09375 0.28125 -0.5 \n-0.09375 0.3125 -0.5 \n-0.0625 0.28125 -0.5 \n-0.21875 0.28125 -0.5 \n-0.21875 0.3125 -0.5 \n-0.1875 0.28125 -0.5 \n-0.21875 0.40625 -0.5 \n-0.21875 0.4375 -0.5 \n-0.1875 0.40625 -0.5 \n-0.28125 -0.5 -0.40625 \n-0.3125 -0.5 -0.40625 \n-0.28125 -0.5 -0.4375 \n-0.28125 -0.5 -0.28125 \n-0.3125 -0.5 -0.28125 \n-0.28125 -0.5 -0.3125 \n-0.40625 -0.5 -0.28125 \n-0.4375 -0.5 -0.28125 \n-0.40625 -0.5 -0.3125 \n0.21875 -0.5 -0.40625 \n0.1875 -0.5 -0.40625 \n0.21875 -0.5 -0.4375 \n0.21875 -0.5 -0.28125 \n0.1875 -0.5 -0.28125 \n0.21875 -0.5 -0.3125 \n0.09375 -0.5 -0.28125 \n0.0625 -0.5 -0.28125 \n0.09375 -0.5 -0.3125 \n-0.28125 -0.5 0.09375 \n-0.3125 -0.5 0.09375 \n-0.28125 -0.5 0.0625 \n-0.28125 -0.5 0.21875 \n-0.3125 -0.5 0.21875 \n-0.28125 -0.5 0.1875 \n-0.40625 -0.5 0.21875 \n-0.4375 -0.5 0.21875 \n-0.40625 -0.5 0.1875 \n0.28125 -0.5 0.40625 \n0.3125 -0.5 0.40625 \n0.28125 -0.5 0.4375 \n0.28125 -0.5 0.28125 \n0.3125 -0.5 0.28125 \n0.28125 -0.5 0.3125 \n0.40625 -0.5 0.28125 \n0.4375 -0.5 0.28125 \n0.40625 -0.5 0.3125 \n-0.21875 -0.5 0.40625 \n-0.1875 -0.5 0.40625 \n-0.21875 -0.5 0.4375 \n-0.21875 -0.5 0.28125 \n-0.1875 -0.5 0.28125 \n-0.21875 -0.5 0.3125 \n-0.09375 -0.5 0.28125 \n-0.0625 -0.5 0.28125 \n-0.09375 -0.5 0.3125 \n0.28125 -0.5 -0.09375 \n0.3125 -0.5 -0.09375 \n0.28125 -0.5 -0.0625 \n0.28125 -0.5 -0.21875 \n0.3125 -0.5 -0.21875 \n0.28125 -0.5 -0.1875 \n0.40625 -0.5 -0.21875 \n0.4375 -0.5 -0.21875 \n0.40625 -0.5 -0.1875 \n-0.5 -0.40625 -0.28125 \n-0.5 -0.40625 -0.3125 \n-0.5 -0.4375 -0.28125 \n-0.5 -0.28125 -0.28125 \n-0.5 -0.28125 -0.3125 \n-0.5 -0.3125 -0.28125 \n-0.5 -0.28125 -0.40625 \n-0.5 -0.28125 -0.4375 \n-0.5 -0.3125 -0.40625 \n-0.5 -0.40625 0.21875 \n-0.5 -0.40625 0.1875 \n-0.5 -0.4375 0.21875 \n-0.5 -0.28125 0.21875 \n-0.5 -0.28125 0.1875 \n-0.5 -0.3125 0.21875 \n-0.5 -0.28125 0.09375 \n-0.5 -0.28125 0.0625 \n-0.5 -0.3125 0.09375 \n-0.5 0.09375 -0.28125 \n-0.5 0.09375 -0.3125 \n-0.5 0.0625 -0.28125 \n-0.5 0.21875 -0.28125 \n-0.5 0.21875 -0.3125 \n-0.5 0.1875 -0.28125 \n-0.5 0.21875 -0.40625 \n-0.5 0.21875 -0.4375 \n-0.5 0.1875 -0.40625 \n-0.5 0.40625 0.28125 \n-0.5 0.40625 0.3125 \n-0.5 0.4375 0.28125 \n-0.5 0.28125 0.28125 \n-0.5 0.28125 0.3125 \n-0.5 0.3125 0.28125 \n-0.5 0.28125 0.40625 \n-0.5 0.28125 0.4375 \n-0.5 0.3125 0.40625 \n-0.5 0.40625 -0.21875 \n-0.5 0.40625 -0.1875 \n-0.5 0.4375 -0.21875 \n-0.5 0.28125 -0.21875 \n-0.5 0.28125 -0.1875 \n-0.5 0.3125 -0.21875 \n-0.5 0.28125 -0.09375 \n-0.5 0.28125 -0.0625 \n-0.5 0.3125 -0.09375 \n-0.5 -0.09375 0.28125 \n-0.5 -0.09375 0.3125 \n-0.5 -0.0625 0.28125 \n-0.5 -0.21875 0.28125 \n-0.5 -0.21875 0.3125 \n-0.5 -0.1875 0.28125 \n-0.5 -0.21875 0.40625 \n-0.5 -0.21875 0.4375 \n-0.5 -0.1875 0.40625 \n0.03125 0.40625 0.5 \n0.0625 0.40625 0.5 \n0.03125 0.4375 0.5 \n0.03125 0.28125 0.5 \n0.0625 0.28125 0.5 \n0.03125 0.3125 0.5 \n0.15625 0.28125 0.5 \n0.1875 0.28125 0.5 \n0.15625 0.3125 0.5 \n0.03125 0.15625 0.5 \n0.0625 0.15625 0.5 \n0.03125 0.1875 0.5 \n0.03125 0.03125 0.5 \n0.0625 0.03125 0.5 \n0.03125 0.0625 0.5 \n0.15625 0.03125 0.5 \n0.1875 0.03125 0.5 \n0.15625 0.0625 0.5 \n0.28125 0.15625 0.5 \n0.3125 0.15625 0.5 \n0.28125 0.1875 0.5 \n0.28125 0.03125 0.5 \n0.3125 0.03125 0.5 \n0.28125 0.0625 0.5 \n0.40625 0.03125 0.5 \n0.4375 0.03125 0.5 \n0.40625 0.0625 0.5 \n-0.03125 -0.40625 0.5 \n-0.0625 -0.40625 0.5 \n-0.03125 -0.4375 0.5 \n-0.03125 -0.28125 0.5 \n-0.0625 -0.28125 0.5 \n-0.03125 -0.3125 0.5 \n-0.15625 -0.28125 0.5 \n-0.1875 -0.28125 0.5 \n-0.15625 -0.3125 0.5 \n-0.03125 -0.15625 0.5 \n-0.0625 -0.15625 0.5 \n-0.03125 -0.1875 0.5 \n-0.03125 -0.03125 0.5 \n-0.0625 -0.03125 0.5 \n-0.03125 -0.0625 0.5 \n-0.15625 -0.03125 0.5 \n-0.1875 -0.03125 0.5 \n-0.15625 -0.0625 0.5 \n-0.28125 -0.15625 0.5 \n-0.3125 -0.15625 0.5 \n-0.28125 -0.1875 0.5 \n-0.28125 -0.03125 0.5 \n-0.3125 -0.03125 0.5 \n-0.28125 -0.0625 0.5 \n-0.40625 -0.03125 0.5 \n-0.4375 -0.03125 0.5 \n-0.40625 -0.0625 0.5 \n0.5 0.03125 0.40625 \n0.5 0.0625 0.40625 \n0.5 0.03125 0.4375 \n0.5 0.03125 0.28125 \n0.5 0.0625 0.28125 \n0.5 0.03125 0.3125 \n0.5 0.15625 0.28125 \n0.5 0.1875 0.28125 \n0.5 0.15625 0.3125 \n0.5 0.03125 0.15625 \n0.5 0.0625 0.15625 \n0.5 0.03125 0.1875 \n0.5 0.03125 0.03125 \n0.5 0.0625 0.03125 \n0.5 0.03125 0.0625 \n0.5 0.15625 0.03125 \n0.5 0.1875 0.03125 \n0.5 0.15625 0.0625 \n0.5 0.28125 0.15625 \n0.5 0.3125 0.15625 \n0.5 0.28125 0.1875 \n0.5 0.28125 0.03125 \n0.5 0.3125 0.03125 \n0.5 0.28125 0.0625 \n0.5 0.40625 0.03125 \n0.5 0.4375 0.03125 \n0.5 0.40625 0.0625 \n0.5 -0.03125 -0.40625 \n0.5 -0.0625 -0.40625 \n0.5 -0.03125 -0.4375 \n0.5 -0.03125 -0.28125 \n0.5 -0.0625 -0.28125 \n0.5 -0.03125 -0.3125 \n0.5 -0.15625 -0.28125 \n0.5 -0.1875 -0.28125 \n0.5 -0.15625 -0.3125 \n0.5 -0.03125 -0.15625 \n0.5 -0.0625 -0.15625 \n0.5 -0.03125 -0.1875 \n0.5 -0.03125 -0.03125 \n0.5 -0.0625 -0.03125 \n0.5 -0.03125 -0.0625 \n0.5 -0.15625 -0.03125 \n0.5 -0.1875 -0.03125 \n0.5 -0.15625 -0.0625 \n0.5 -0.28125 -0.15625 \n0.5 -0.3125 -0.15625 \n0.5 -0.28125 -0.1875 \n0.5 -0.28125 -0.03125 \n0.5 -0.3125 -0.03125 \n0.5 -0.28125 -0.0625 \n0.5 -0.40625 -0.03125 \n0.5 -0.4375 -0.03125 \n0.5 -0.40625 -0.0625 \n0.40625 0.5 0.03125 \n0.40625 0.5 0.0625 \n0.4375 0.5 0.03125 \n0.28125 0.5 0.03125 \n0.28125 0.5 0.0625 \n0.3125 0.5 0.03125 \n0.28125 0.5 0.15625 \n0.28125 0.5 0.1875 \n0.3125 0.5 0.15625 \n0.15625 0.5 0.03125 \n0.15625 0.5 0.0625 \n0.1875 0.5 0.03125 \n0.03125 0.5 0.03125 \n0.03125 0.5 0.0625 \n0.0625 0.5 0.03125 \n0.03125 0.5 0.15625 \n0.03125 0.5 0.1875 \n0.0625 0.5 0.15625 \n0.15625 0.5 0.28125 \n0.15625 0.5 0.3125 \n0.1875 0.5 0.28125 \n0.03125 0.5 0.28125 \n0.03125 0.5 0.3125 \n0.0625 0.5 0.28125 \n0.03125 0.5 0.40625 \n0.03125 0.5 0.4375 \n0.0625 0.5 0.40625 \n-0.40625 0.5 -0.03125 \n-0.40625 0.5 -0.0625 \n-0.4375 0.5 -0.03125 \n-0.28125 0.5 -0.03125 \n-0.28125 0.5 -0.0625 \n-0.3125 0.5 -0.03125 \n-0.28125 0.5 -0.15625 \n-0.28125 0.5 -0.1875 \n-0.3125 0.5 -0.15625 \n-0.15625 0.5 -0.03125 \n-0.15625 0.5 -0.0625 \n-0.1875 0.5 -0.03125 \n-0.03125 0.5 -0.03125 \n-0.03125 0.5 -0.0625 \n-0.0625 0.5 -0.03125 \n-0.03125 0.5 -0.15625 \n-0.03125 0.5 -0.1875 \n-0.0625 0.5 -0.15625 \n-0.15625 0.5 -0.28125 \n-0.15625 0.5 -0.3125 \n-0.1875 0.5 -0.28125 \n-0.03125 0.5 -0.28125 \n-0.03125 0.5 -0.3125 \n-0.0625 0.5 -0.28125 \n-0.03125 0.5 -0.40625 \n-0.03125 0.5 -0.4375 \n-0.0625 0.5 -0.40625 \n-0.40625 -0.03125 -0.5 \n-0.40625 -0.0625 -0.5 \n-0.4375 -0.03125 -0.5 \n-0.28125 -0.03125 -0.5 \n-0.28125 -0.0625 -0.5 \n-0.3125 -0.03125 -0.5 \n-0.28125 -0.15625 -0.5 \n-0.28125 -0.1875 -0.5 \n-0.3125 -0.15625 -0.5 \n-0.15625 -0.03125 -0.5 \n-0.15625 -0.0625 -0.5 \n-0.1875 -0.03125 -0.5 \n-0.03125 -0.03125 -0.5 \n-0.03125 -0.0625 -0.5 \n-0.0625 -0.03125 -0.5 \n-0.03125 -0.15625 -0.5 \n-0.03125 -0.1875 -0.5 \n-0.0625 -0.15625 -0.5 \n-0.15625 -0.28125 -0.5 \n-0.15625 -0.3125 -0.5 \n-0.1875 -0.28125 -0.5 \n-0.03125 -0.28125 -0.5 \n-0.03125 -0.3125 -0.5 \n-0.0625 -0.28125 -0.5 \n-0.03125 -0.40625 -0.5 \n-0.03125 -0.4375 -0.5 \n-0.0625 -0.40625 -0.5 \n0.40625 0.03125 -0.5 \n0.40625 0.0625 -0.5 \n0.4375 0.03125 -0.5 \n0.28125 0.03125 -0.5 \n0.28125 0.0625 -0.5 \n0.3125 0.03125 -0.5 \n0.28125 0.15625 -0.5 \n0.28125 0.1875 -0.5 \n0.3125 0.15625 -0.5 \n0.15625 0.03125 -0.5 \n0.15625 0.0625 -0.5 \n0.1875 0.03125 -0.5 \n0.03125 0.03125 -0.5 \n0.03125 0.0625 -0.5 \n0.0625 0.03125 -0.5 \n0.03125 0.15625 -0.5 \n0.03125 0.1875 -0.5 \n0.0625 0.15625 -0.5 \n0.15625 0.28125 -0.5 \n0.15625 0.3125 -0.5 \n0.1875 0.28125 -0.5 \n0.03125 0.28125 -0.5 \n0.03125 0.3125 -0.5 \n0.0625 0.28125 -0.5 \n0.03125 0.40625 -0.5 \n0.03125 0.4375 -0.5 \n0.0625 0.40625 -0.5 \n-0.03125 -0.5 -0.40625 \n-0.0625 -0.5 -0.40625 \n-0.03125 -0.5 -0.4375 \n-0.03125 -0.5 -0.28125 \n-0.0625 -0.5 -0.28125 \n-0.03125 -0.5 -0.3125 \n-0.15625 -0.5 -0.28125 \n-0.1875 -0.5 -0.28125 \n-0.15625 -0.5 -0.3125 \n-0.03125 -0.5 -0.15625 \n-0.0625 -0.5 -0.15625 \n-0.03125 -0.5 -0.1875 \n-0.03125 -0.5 -0.03125 \n-0.0625 -0.5 -0.03125 \n-0.03125 -0.5 -0.0625 \n-0.15625 -0.5 -0.03125 \n-0.1875 -0.5 -0.03125 \n-0.15625 -0.5 -0.0625 \n-0.28125 -0.5 -0.15625 \n-0.3125 -0.5 -0.15625 \n-0.28125 -0.5 -0.1875 \n-0.28125 -0.5 -0.03125 \n-0.3125 -0.5 -0.03125 \n-0.28125 -0.5 -0.0625 \n-0.40625 -0.5 -0.03125 \n-0.4375 -0.5 -0.03125 \n-0.40625 -0.5 -0.0625 \n0.03125 -0.5 0.40625 \n0.0625 -0.5 0.40625 \n0.03125 -0.5 0.4375 \n0.03125 -0.5 0.28125 \n0.0625 -0.5 0.28125 \n0.03125 -0.5 0.3125 \n0.15625 -0.5 0.28125 \n0.1875 -0.5 0.28125 \n0.15625 -0.5 0.3125 \n0.03125 -0.5 0.15625 \n0.0625 -0.5 0.15625 \n0.03125 -0.5 0.1875 \n0.03125 -0.5 0.03125 \n0.0625 -0.5 0.03125 \n0.03125 -0.5 0.0625 \n0.15625 -0.5 0.03125 \n0.1875 -0.5 0.03125 \n0.15625 -0.5 0.0625 \n0.28125 -0.5 0.15625 \n0.3125 -0.5 0.15625 \n0.28125 -0.5 0.1875 \n0.28125 -0.5 0.03125 \n0.3125 -0.5 0.03125 \n0.28125 -0.5 0.0625 \n0.40625 -0.5 0.03125 \n0.4375 -0.5 0.03125 \n0.40625 -0.5 0.0625 \n-0.5 -0.40625 -0.03125 \n-0.5 -0.40625 -0.0625 \n-0.5 -0.4375 -0.03125 \n-0.5 -0.28125 -0.03125 \n-0.5 -0.28125 -0.0625 \n-0.5 -0.3125 -0.03125 \n-0.5 -0.28125 -0.15625 \n-0.5 -0.28125 -0.1875 \n-0.5 -0.3125 -0.15625 \n-0.5 -0.15625 -0.03125 \n-0.5 -0.15625 -0.0625 \n-0.5 -0.1875 -0.03125 \n-0.5 -0.03125 -0.03125 \n-0.5 -0.03125 -0.0625 \n-0.5 -0.0625 -0.03125 \n-0.5 -0.03125 -0.15625 \n-0.5 -0.03125 -0.1875 \n-0.5 -0.0625 -0.15625 \n-0.5 -0.15625 -0.28125 \n-0.5 -0.15625 -0.3125 \n-0.5 -0.1875 -0.28125 \n-0.5 -0.03125 -0.28125 \n-0.5 -0.03125 -0.3125 \n-0.5 -0.0625 -0.28125 \n-0.5 -0.03125 -0.40625 \n-0.5 -0.03125 -0.4375 \n-0.5 -0.0625 -0.40625 \n-0.5 0.40625 0.03125 \n-0.5 0.40625 0.0625 \n-0.5 0.4375 0.03125 \n-0.5 0.28125 0.03125 \n-0.5 0.28125 0.0625 \n-0.5 0.3125 0.03125 \n-0.5 0.28125 0.15625 \n-0.5 0.28125 0.1875 \n-0.5 0.3125 0.15625 \n-0.5 0.15625 0.03125 \n-0.5 0.15625 0.0625 \n-0.5 0.1875 0.03125 \n-0.5 0.03125 0.03125 \n-0.5 0.03125 0.0625 \n-0.5 0.0625 0.03125 \n-0.5 0.03125 0.15625 \n-0.5 0.03125 0.1875 \n-0.5 0.0625 0.15625 \n-0.5 0.15625 0.28125 \n-0.5 0.15625 0.3125 \n-0.5 0.1875 0.28125 \n-0.5 0.03125 0.28125 \n-0.5 0.03125 0.3125 \n-0.5 0.0625 0.28125 \n-0.5 0.03125 0.40625 \n-0.5 0.03125 0.4375 \n-0.5 0.0625 0.40625 \n0.4375 0.46875 0.5 \n0.46875 0.4375 0.5 \n0.46875 0.46875 0.5 \n0.3125 0.46875 0.5 \n0.34375 0.4375 0.5 \n0.34375 0.46875 0.5 \n0.4375 0.34375 0.5 \n0.46875 0.3125 0.5 \n0.46875 0.34375 0.5 \n0.1875 0.46875 0.5 \n0.21875 0.4375 0.5 \n0.21875 0.46875 0.5 \n0.0625 0.46875 0.5 \n0.09375 0.4375 0.5 \n0.09375 0.46875 0.5 \n0.1875 0.34375 0.5 \n0.21875 0.3125 0.5 \n0.21875 0.34375 0.5 \n0.4375 0.21875 0.5 \n0.46875 0.1875 0.5 \n0.46875 0.21875 0.5 \n0.3125 0.21875 0.5 \n0.34375 0.1875 0.5 \n0.34375 0.21875 0.5 \n0.4375 0.09375 0.5 \n0.46875 0.0625 0.5 \n0.46875 0.09375 0.5 \n-0.0625 0.46875 0.5 \n-0.03125 0.4375 0.5 \n-0.03125 0.46875 0.5 \n-0.1875 0.46875 0.5 \n-0.15625 0.4375 0.5 \n-0.15625 0.46875 0.5 \n-0.0625 0.34375 0.5 \n-0.03125 0.3125 0.5 \n-0.03125 0.34375 0.5 \n-0.3125 0.46875 0.5 \n-0.28125 0.4375 0.5 \n-0.28125 0.46875 0.5 \n-0.4375 0.46875 0.5 \n-0.40625 0.4375 0.5 \n-0.40625 0.46875 0.5 \n-0.3125 0.34375 0.5 \n-0.28125 0.3125 0.5 \n-0.28125 0.34375 0.5 \n-0.0625 0.21875 0.5 \n-0.03125 0.1875 0.5 \n-0.03125 0.21875 0.5 \n-0.1875 0.21875 0.5 \n-0.15625 0.1875 0.5 \n-0.15625 0.21875 0.5 \n-0.0625 0.09375 0.5 \n-0.03125 0.0625 0.5 \n-0.03125 0.09375 0.5 \n0.4375 -0.03125 0.5 \n0.46875 -0.0625 0.5 \n0.46875 -0.03125 0.5 \n0.3125 -0.03125 0.5 \n0.34375 -0.0625 0.5 \n0.34375 -0.03125 0.5 \n0.4375 -0.15625 0.5 \n0.46875 -0.1875 0.5 \n0.46875 -0.15625 0.5 \n0.1875 -0.03125 0.5 \n0.21875 -0.0625 0.5 \n0.21875 -0.03125 0.5 \n0.0625 -0.03125 0.5 \n0.09375 -0.0625 0.5 \n0.09375 -0.03125 0.5 \n0.1875 -0.15625 0.5 \n0.21875 -0.1875 0.5 \n0.21875 -0.15625 0.5 \n0.4375 -0.28125 0.5 \n0.46875 -0.3125 0.5 \n0.46875 -0.28125 0.5 \n0.3125 -0.28125 0.5 \n0.34375 -0.3125 0.5 \n0.34375 -0.28125 0.5 \n0.4375 -0.40625 0.5 \n0.46875 -0.4375 0.5 \n0.46875 -0.40625 0.5 \n-0.4375 -0.46875 0.5 \n-0.46875 -0.4375 0.5 \n-0.46875 -0.46875 0.5 \n-0.3125 -0.46875 0.5 \n-0.34375 -0.4375 0.5 \n-0.34375 -0.46875 0.5 \n-0.4375 -0.34375 0.5 \n-0.46875 -0.3125 0.5 \n-0.46875 -0.34375 0.5 \n-0.1875 -0.46875 0.5 \n-0.21875 -0.4375 0.5 \n-0.21875 -0.46875 0.5 \n-0.0625 -0.46875 0.5 \n-0.09375 -0.4375 0.5 \n-0.09375 -0.46875 0.5 \n-0.1875 -0.34375 0.5 \n-0.21875 -0.3125 0.5 \n-0.21875 -0.34375 0.5 \n-0.4375 -0.21875 0.5 \n-0.46875 -0.1875 0.5 \n-0.46875 -0.21875 0.5 \n-0.3125 -0.21875 0.5 \n-0.34375 -0.1875 0.5 \n-0.34375 -0.21875 0.5 \n-0.4375 -0.09375 0.5 \n-0.46875 -0.0625 0.5 \n-0.46875 -0.09375 0.5 \n0.0625 -0.46875 0.5 \n0.03125 -0.4375 0.5 \n0.03125 -0.46875 0.5 \n0.1875 -0.46875 0.5 \n0.15625 -0.4375 0.5 \n0.15625 -0.46875 0.5 \n0.0625 -0.34375 0.5 \n0.03125 -0.3125 0.5 \n0.03125 -0.34375 0.5 \n0.3125 -0.46875 0.5 \n0.28125 -0.4375 0.5 \n0.28125 -0.46875 0.5 \n0.4375 -0.46875 0.5 \n0.40625 -0.4375 0.5 \n0.40625 -0.46875 0.5 \n0.3125 -0.34375 0.5 \n0.28125 -0.3125 0.5 \n0.28125 -0.34375 0.5 \n0.0625 -0.21875 0.5 \n0.03125 -0.1875 0.5 \n0.03125 -0.21875 0.5 \n0.1875 -0.21875 0.5 \n0.15625 -0.1875 0.5 \n0.15625 -0.21875 0.5 \n0.0625 -0.09375 0.5 \n0.03125 -0.0625 0.5 \n0.03125 -0.09375 0.5 \n-0.4375 0.03125 0.5 \n-0.46875 0.0625 0.5 \n-0.46875 0.03125 0.5 \n-0.3125 0.03125 0.5 \n-0.34375 0.0625 0.5 \n-0.34375 0.03125 0.5 \n-0.4375 0.15625 0.5 \n-0.46875 0.1875 0.5 \n-0.46875 0.15625 0.5 \n-0.1875 0.03125 0.5 \n-0.21875 0.0625 0.5 \n-0.21875 0.03125 0.5 \n-0.0625 0.03125 0.5 \n-0.09375 0.0625 0.5 \n-0.09375 0.03125 0.5 \n-0.1875 0.15625 0.5 \n-0.21875 0.1875 0.5 \n-0.21875 0.15625 0.5 \n-0.4375 0.28125 0.5 \n-0.46875 0.3125 0.5 \n-0.46875 0.28125 0.5 \n-0.3125 0.28125 0.5 \n-0.34375 0.3125 0.5 \n-0.34375 0.28125 0.5 \n-0.4375 0.40625 0.5 \n-0.46875 0.4375 0.5 \n-0.46875 0.40625 0.5 \n0.5 0.4375 0.46875 \n0.5 0.46875 0.4375 \n0.5 0.46875 0.46875 \n0.5 0.3125 0.46875 \n0.5 0.34375 0.4375 \n0.5 0.34375 0.46875 \n0.5 0.4375 0.34375 \n0.5 0.46875 0.3125 \n0.5 0.46875 0.34375 \n0.5 0.1875 0.46875 \n0.5 0.21875 0.4375 \n0.5 0.21875 0.46875 \n0.5 0.0625 0.46875 \n0.5 0.09375 0.4375 \n0.5 0.09375 0.46875 \n0.5 0.1875 0.34375 \n0.5 0.21875 0.3125 \n0.5 0.21875 0.34375 \n0.5 0.4375 0.21875 \n0.5 0.46875 0.1875 \n0.5 0.46875 0.21875 \n0.5 0.3125 0.21875 \n0.5 0.34375 0.1875 \n0.5 0.34375 0.21875 \n0.5 0.4375 0.09375 \n0.5 0.46875 0.0625 \n0.5 0.46875 0.09375 \n0.5 -0.0625 0.46875 \n0.5 -0.03125 0.4375 \n0.5 -0.03125 0.46875 \n0.5 -0.1875 0.46875 \n0.5 -0.15625 0.4375 \n0.5 -0.15625 0.46875 \n0.5 -0.0625 0.34375 \n0.5 -0.03125 0.3125 \n0.5 -0.03125 0.34375 \n0.5 -0.3125 0.46875 \n0.5 -0.28125 0.4375 \n0.5 -0.28125 0.46875 \n0.5 -0.4375 0.46875 \n0.5 -0.40625 0.4375 \n0.5 -0.40625 0.46875 \n0.5 -0.3125 0.34375 \n0.5 -0.28125 0.3125 \n0.5 -0.28125 0.34375 \n0.5 -0.0625 0.21875 \n0.5 -0.03125 0.1875 \n0.5 -0.03125 0.21875 \n0.5 -0.1875 0.21875 \n0.5 -0.15625 0.1875 \n0.5 -0.15625 0.21875 \n0.5 -0.0625 0.09375 \n0.5 -0.03125 0.0625 \n0.5 -0.03125 0.09375 \n0.5 0.4375 -0.03125 \n0.5 0.46875 -0.0625 \n0.5 0.46875 -0.03125 \n0.5 0.3125 -0.03125 \n0.5 0.34375 -0.0625 \n0.5 0.34375 -0.03125 \n0.5 0.4375 -0.15625 \n0.5 0.46875 -0.1875 \n0.5 0.46875 -0.15625 \n0.5 0.1875 -0.03125 \n0.5 0.21875 -0.0625 \n0.5 0.21875 -0.03125 \n0.5 0.0625 -0.03125 \n0.5 0.09375 -0.0625 \n0.5 0.09375 -0.03125 \n0.5 0.1875 -0.15625 \n0.5 0.21875 -0.1875 \n0.5 0.21875 -0.15625 \n0.5 0.4375 -0.28125 \n0.5 0.46875 -0.3125 \n0.5 0.46875 -0.28125 \n0.5 0.3125 -0.28125 \n0.5 0.34375 -0.3125 \n0.5 0.34375 -0.28125 \n0.5 0.4375 -0.40625 \n0.5 0.46875 -0.4375 \n0.5 0.46875 -0.40625 \n0.5 -0.4375 -0.46875 \n0.5 -0.46875 -0.4375 \n0.5 -0.46875 -0.46875 \n0.5 -0.3125 -0.46875 \n0.5 -0.34375 -0.4375 \n0.5 -0.34375 -0.46875 \n0.5 -0.4375 -0.34375 \n0.5 -0.46875 -0.3125 \n0.5 -0.46875 -0.34375 \n0.5 -0.1875 -0.46875 \n0.5 -0.21875 -0.4375 \n0.5 -0.21875 -0.46875 \n0.5 -0.0625 -0.46875 \n0.5 -0.09375 -0.4375 \n0.5 -0.09375 -0.46875 \n0.5 -0.1875 -0.34375 \n0.5 -0.21875 -0.3125 \n0.5 -0.21875 -0.34375 \n0.5 -0.4375 -0.21875 \n0.5 -0.46875 -0.1875 \n0.5 -0.46875 -0.21875 \n0.5 -0.3125 -0.21875 \n0.5 -0.34375 -0.1875 \n0.5 -0.34375 -0.21875 \n0.5 -0.4375 -0.09375 \n0.5 -0.46875 -0.0625 \n0.5 -0.46875 -0.09375 \n0.5 0.0625 -0.46875 \n0.5 0.03125 -0.4375 \n0.5 0.03125 -0.46875 \n0.5 0.1875 -0.46875 \n0.5 0.15625 -0.4375 \n0.5 0.15625 -0.46875 \n0.5 0.0625 -0.34375 \n0.5 0.03125 -0.3125 \n0.5 0.03125 -0.34375 \n0.5 0.3125 -0.46875 \n0.5 0.28125 -0.4375 \n0.5 0.28125 -0.46875 \n0.5 0.4375 -0.46875 \n0.5 0.40625 -0.4375 \n0.5 0.40625 -0.46875 \n0.5 0.3125 -0.34375 \n0.5 0.28125 -0.3125 \n0.5 0.28125 -0.34375 \n0.5 0.0625 -0.21875 \n0.5 0.03125 -0.1875 \n0.5 0.03125 -0.21875 \n0.5 0.1875 -0.21875 \n0.5 0.15625 -0.1875 \n0.5 0.15625 -0.21875 \n0.5 0.0625 -0.09375 \n0.5 0.03125 -0.0625 \n0.5 0.03125 -0.09375 \n0.5 -0.4375 0.03125 \n0.5 -0.46875 0.0625 \n0.5 -0.46875 0.03125 \n0.5 -0.3125 0.03125 \n0.5 -0.34375 0.0625 \n0.5 -0.34375 0.03125 \n0.5 -0.4375 0.15625 \n0.5 -0.46875 0.1875 \n0.5 -0.46875 0.15625 \n0.5 -0.1875 0.03125 \n0.5 -0.21875 0.0625 \n0.5 -0.21875 0.03125 \n0.5 -0.0625 0.03125 \n0.5 -0.09375 0.0625 \n0.5 -0.09375 0.03125 \n0.5 -0.1875 0.15625 \n0.5 -0.21875 0.1875 \n0.5 -0.21875 0.15625 \n0.5 -0.4375 0.28125 \n0.5 -0.46875 0.3125 \n0.5 -0.46875 0.28125 \n0.5 -0.3125 0.28125 \n0.5 -0.34375 0.3125 \n0.5 -0.34375 0.28125 \n0.5 -0.4375 0.40625 \n0.5 -0.46875 0.4375 \n0.5 -0.46875 0.40625 \n0.46875 0.5 0.4375 \n0.4375 0.5 0.46875 \n0.46875 0.5 0.46875 \n0.46875 0.5 0.3125 \n0.4375 0.5 0.34375 \n0.46875 0.5 0.34375 \n0.34375 0.5 0.4375 \n0.3125 0.5 0.46875 \n0.34375 0.5 0.46875 \n0.46875 0.5 0.1875 \n0.4375 0.5 0.21875 \n0.46875 0.5 0.21875 \n0.46875 0.5 0.0625 \n0.4375 0.5 0.09375 \n0.46875 0.5 0.09375 \n0.34375 0.5 0.1875 \n0.3125 0.5 0.21875 \n0.34375 0.5 0.21875 \n0.21875 0.5 0.4375 \n0.1875 0.5 0.46875 \n0.21875 0.5 0.46875 \n0.21875 0.5 0.3125 \n0.1875 0.5 0.34375 \n0.21875 0.5 0.34375 \n0.09375 0.5 0.4375 \n0.0625 0.5 0.46875 \n0.09375 0.5 0.46875 \n0.46875 0.5 -0.0625 \n0.4375 0.5 -0.03125 \n0.46875 0.5 -0.03125 \n0.46875 0.5 -0.1875 \n0.4375 0.5 -0.15625 \n0.46875 0.5 -0.15625 \n0.34375 0.5 -0.0625 \n0.3125 0.5 -0.03125 \n0.34375 0.5 -0.03125 \n0.46875 0.5 -0.3125 \n0.4375 0.5 -0.28125 \n0.46875 0.5 -0.28125 \n0.46875 0.5 -0.4375 \n0.4375 0.5 -0.40625 \n0.46875 0.5 -0.40625 \n0.34375 0.5 -0.3125 \n0.3125 0.5 -0.28125 \n0.34375 0.5 -0.28125 \n0.21875 0.5 -0.0625 \n0.1875 0.5 -0.03125 \n0.21875 0.5 -0.03125 \n0.21875 0.5 -0.1875 \n0.1875 0.5 -0.15625 \n0.21875 0.5 -0.15625 \n0.09375 0.5 -0.0625 \n0.0625 0.5 -0.03125 \n0.09375 0.5 -0.03125 \n-0.03125 0.5 0.4375 \n-0.0625 0.5 0.46875 \n-0.03125 0.5 0.46875 \n-0.03125 0.5 0.3125 \n-0.0625 0.5 0.34375 \n-0.03125 0.5 0.34375 \n-0.15625 0.5 0.4375 \n-0.1875 0.5 0.46875 \n-0.15625 0.5 0.46875 \n-0.03125 0.5 0.1875 \n-0.0625 0.5 0.21875 \n-0.03125 0.5 0.21875 \n-0.03125 0.5 0.0625 \n-0.0625 0.5 0.09375 \n-0.03125 0.5 0.09375 \n-0.15625 0.5 0.1875 \n-0.1875 0.5 0.21875 \n-0.15625 0.5 0.21875 \n-0.28125 0.5 0.4375 \n-0.3125 0.5 0.46875 \n-0.28125 0.5 0.46875 \n-0.28125 0.5 0.3125 \n-0.3125 0.5 0.34375 \n-0.28125 0.5 0.34375 \n-0.40625 0.5 0.4375 \n-0.4375 0.5 0.46875 \n-0.40625 0.5 0.46875 \n-0.46875 0.5 -0.4375 \n-0.4375 0.5 -0.46875 \n-0.46875 0.5 -0.46875 \n-0.46875 0.5 -0.3125 \n-0.4375 0.5 -0.34375 \n-0.46875 0.5 -0.34375 \n-0.34375 0.5 -0.4375 \n-0.3125 0.5 -0.46875 \n-0.34375 0.5 -0.46875 \n-0.46875 0.5 -0.1875 \n-0.4375 0.5 -0.21875 \n-0.46875 0.5 -0.21875 \n-0.46875 0.5 -0.0625 \n-0.4375 0.5 -0.09375 \n-0.46875 0.5 -0.09375 \n-0.34375 0.5 -0.1875 \n-0.3125 0.5 -0.21875 \n-0.34375 0.5 -0.21875 \n-0.21875 0.5 -0.4375 \n-0.1875 0.5 -0.46875 \n-0.21875 0.5 -0.46875 \n-0.21875 0.5 -0.3125 \n-0.1875 0.5 -0.34375 \n-0.21875 0.5 -0.34375 \n-0.09375 0.5 -0.4375 \n-0.0625 0.5 -0.46875 \n-0.09375 0.5 -0.46875 \n-0.46875 0.5 0.0625 \n-0.4375 0.5 0.03125 \n-0.46875 0.5 0.03125 \n-0.46875 0.5 0.1875 \n-0.4375 0.5 0.15625 \n-0.46875 0.5 0.15625 \n-0.34375 0.5 0.0625 \n-0.3125 0.5 0.03125 \n-0.34375 0.5 0.03125 \n-0.46875 0.5 0.3125 \n-0.4375 0.5 0.28125 \n-0.46875 0.5 0.28125 \n-0.46875 0.5 0.4375 \n-0.4375 0.5 0.40625 \n-0.46875 0.5 0.40625 \n-0.34375 0.5 0.3125 \n-0.3125 0.5 0.28125 \n-0.34375 0.5 0.28125 \n-0.21875 0.5 0.0625 \n-0.1875 0.5 0.03125 \n-0.21875 0.5 0.03125 \n-0.21875 0.5 0.1875 \n-0.1875 0.5 0.15625 \n-0.21875 0.5 0.15625 \n-0.09375 0.5 0.0625 \n-0.0625 0.5 0.03125 \n-0.09375 0.5 0.03125 \n0.03125 0.5 -0.4375 \n0.0625 0.5 -0.46875 \n0.03125 0.5 -0.46875 \n0.03125 0.5 -0.3125 \n0.0625 0.5 -0.34375 \n0.03125 0.5 -0.34375 \n0.15625 0.5 -0.4375 \n0.1875 0.5 -0.46875 \n0.15625 0.5 -0.46875 \n0.03125 0.5 -0.1875 \n0.0625 0.5 -0.21875 \n0.03125 0.5 -0.21875 \n0.03125 0.5 -0.0625 \n0.0625 0.5 -0.09375 \n0.03125 0.5 -0.09375 \n0.15625 0.5 -0.1875 \n0.1875 0.5 -0.21875 \n0.15625 0.5 -0.21875 \n0.28125 0.5 -0.4375 \n0.3125 0.5 -0.46875 \n0.28125 0.5 -0.46875 \n0.28125 0.5 -0.3125 \n0.3125 0.5 -0.34375 \n0.28125 0.5 -0.34375 \n0.40625 0.5 -0.4375 \n0.4375 0.5 -0.46875 \n0.40625 0.5 -0.46875 \n-0.46875 -0.4375 -0.5 \n-0.4375 -0.46875 -0.5 \n-0.46875 -0.46875 -0.5 \n-0.46875 -0.3125 -0.5 \n-0.4375 -0.34375 -0.5 \n-0.46875 -0.34375 -0.5 \n-0.34375 -0.4375 -0.5 \n-0.3125 -0.46875 -0.5 \n-0.34375 -0.46875 -0.5 \n-0.46875 -0.1875 -0.5 \n-0.4375 -0.21875 -0.5 \n-0.46875 -0.21875 -0.5 \n-0.46875 -0.0625 -0.5 \n-0.4375 -0.09375 -0.5 \n-0.46875 -0.09375 -0.5 \n-0.34375 -0.1875 -0.5 \n-0.3125 -0.21875 -0.5 \n-0.34375 -0.21875 -0.5 \n-0.21875 -0.4375 -0.5 \n-0.1875 -0.46875 -0.5 \n-0.21875 -0.46875 -0.5 \n-0.21875 -0.3125 -0.5 \n-0.1875 -0.34375 -0.5 \n-0.21875 -0.34375 -0.5 \n-0.09375 -0.4375 -0.5 \n-0.0625 -0.46875 -0.5 \n-0.09375 -0.46875 -0.5 \n-0.46875 0.0625 -0.5 \n-0.4375 0.03125 -0.5 \n-0.46875 0.03125 -0.5 \n-0.46875 0.1875 -0.5 \n-0.4375 0.15625 -0.5 \n-0.46875 0.15625 -0.5 \n-0.34375 0.0625 -0.5 \n-0.3125 0.03125 -0.5 \n-0.34375 0.03125 -0.5 \n-0.46875 0.3125 -0.5 \n-0.4375 0.28125 -0.5 \n-0.46875 0.28125 -0.5 \n-0.46875 0.4375 -0.5 \n-0.4375 0.40625 -0.5 \n-0.46875 0.40625 -0.5 \n-0.34375 0.3125 -0.5 \n-0.3125 0.28125 -0.5 \n-0.34375 0.28125 -0.5 \n-0.21875 0.0625 -0.5 \n-0.1875 0.03125 -0.5 \n-0.21875 0.03125 -0.5 \n-0.21875 0.1875 -0.5 \n-0.1875 0.15625 -0.5 \n-0.21875 0.15625 -0.5 \n-0.09375 0.0625 -0.5 \n-0.0625 0.03125 -0.5 \n-0.09375 0.03125 -0.5 \n0.03125 -0.4375 -0.5 \n0.0625 -0.46875 -0.5 \n0.03125 -0.46875 -0.5 \n0.03125 -0.3125 -0.5 \n0.0625 -0.34375 -0.5 \n0.03125 -0.34375 -0.5 \n0.15625 -0.4375 -0.5 \n0.1875 -0.46875 -0.5 \n0.15625 -0.46875 -0.5 \n0.03125 -0.1875 -0.5 \n0.0625 -0.21875 -0.5 \n0.03125 -0.21875 -0.5 \n0.03125 -0.0625 -0.5 \n0.0625 -0.09375 -0.5 \n0.03125 -0.09375 -0.5 \n0.15625 -0.1875 -0.5 \n0.1875 -0.21875 -0.5 \n0.15625 -0.21875 -0.5 \n0.28125 -0.4375 -0.5 \n0.3125 -0.46875 -0.5 \n0.28125 -0.46875 -0.5 \n0.28125 -0.3125 -0.5 \n0.3125 -0.34375 -0.5 \n0.28125 -0.34375 -0.5 \n0.40625 -0.4375 -0.5 \n0.4375 -0.46875 -0.5 \n0.40625 -0.46875 -0.5 \n0.46875 0.4375 -0.5 \n0.4375 0.46875 -0.5 \n0.46875 0.46875 -0.5 \n0.46875 0.3125 -0.5 \n0.4375 0.34375 -0.5 \n0.46875 0.34375 -0.5 \n0.34375 0.4375 -0.5 \n0.3125 0.46875 -0.5 \n0.34375 0.46875 -0.5 \n0.46875 0.1875 -0.5 \n0.4375 0.21875 -0.5 \n0.46875 0.21875 -0.5 \n0.46875 0.0625 -0.5 \n0.4375 0.09375 -0.5 \n0.46875 0.09375 -0.5 \n0.34375 0.1875 -0.5 \n0.3125 0.21875 -0.5 \n0.34375 0.21875 -0.5 \n0.21875 0.4375 -0.5 \n0.1875 0.46875 -0.5 \n0.21875 0.46875 -0.5 \n0.21875 0.3125 -0.5 \n0.1875 0.34375 -0.5 \n0.21875 0.34375 -0.5 \n0.09375 0.4375 -0.5 \n0.0625 0.46875 -0.5 \n0.09375 0.46875 -0.5 \n0.46875 -0.0625 -0.5 \n0.4375 -0.03125 -0.5 \n0.46875 -0.03125 -0.5 \n0.46875 -0.1875 -0.5 \n0.4375 -0.15625 -0.5 \n0.46875 -0.15625 -0.5 \n0.34375 -0.0625 -0.5 \n0.3125 -0.03125 -0.5 \n0.34375 -0.03125 -0.5 \n0.46875 -0.3125 -0.5 \n0.4375 -0.28125 -0.5 \n0.46875 -0.28125 -0.5 \n0.46875 -0.4375 -0.5 \n0.4375 -0.40625 -0.5 \n0.46875 -0.40625 -0.5 \n0.34375 -0.3125 -0.5 \n0.3125 -0.28125 -0.5 \n0.34375 -0.28125 -0.5 \n0.21875 -0.0625 -0.5 \n0.1875 -0.03125 -0.5 \n0.21875 -0.03125 -0.5 \n0.21875 -0.1875 -0.5 \n0.1875 -0.15625 -0.5 \n0.21875 -0.15625 -0.5 \n0.09375 -0.0625 -0.5 \n0.0625 -0.03125 -0.5 \n0.09375 -0.03125 -0.5 \n-0.03125 0.4375 -0.5 \n-0.0625 0.46875 -0.5 \n-0.03125 0.46875 -0.5 \n-0.03125 0.3125 -0.5 \n-0.0625 0.34375 -0.5 \n-0.03125 0.34375 -0.5 \n-0.15625 0.4375 -0.5 \n-0.1875 0.46875 -0.5 \n-0.15625 0.46875 -0.5 \n-0.03125 0.1875 -0.5 \n-0.0625 0.21875 -0.5 \n-0.03125 0.21875 -0.5 \n-0.03125 0.0625 -0.5 \n-0.0625 0.09375 -0.5 \n-0.03125 0.09375 -0.5 \n-0.15625 0.1875 -0.5 \n-0.1875 0.21875 -0.5 \n-0.15625 0.21875 -0.5 \n-0.28125 0.4375 -0.5 \n-0.3125 0.46875 -0.5 \n-0.28125 0.46875 -0.5 \n-0.28125 0.3125 -0.5 \n-0.3125 0.34375 -0.5 \n-0.28125 0.34375 -0.5 \n-0.40625 0.4375 -0.5 \n-0.4375 0.46875 -0.5 \n-0.40625 0.46875 -0.5 \n-0.4375 -0.5 -0.46875 \n-0.46875 -0.5 -0.4375 \n-0.46875 -0.5 -0.46875 \n-0.3125 -0.5 -0.46875 \n-0.34375 -0.5 -0.4375 \n-0.34375 -0.5 -0.46875 \n-0.4375 -0.5 -0.34375 \n-0.46875 -0.5 -0.3125 \n-0.46875 -0.5 -0.34375 \n-0.1875 -0.5 -0.46875 \n-0.21875 -0.5 -0.4375 \n-0.21875 -0.5 -0.46875 \n-0.0625 -0.5 -0.46875 \n-0.09375 -0.5 -0.4375 \n-0.09375 -0.5 -0.46875 \n-0.1875 -0.5 -0.34375 \n-0.21875 -0.5 -0.3125 \n-0.21875 -0.5 -0.34375 \n-0.4375 -0.5 -0.21875 \n-0.46875 -0.5 -0.1875 \n-0.46875 -0.5 -0.21875 \n-0.3125 -0.5 -0.21875 \n-0.34375 -0.5 -0.1875 \n-0.34375 -0.5 -0.21875 \n-0.4375 -0.5 -0.09375 \n-0.46875 -0.5 -0.0625 \n-0.46875 -0.5 -0.09375 \n0.0625 -0.5 -0.46875 \n0.03125 -0.5 -0.4375 \n0.03125 -0.5 -0.46875 \n0.1875 -0.5 -0.46875 \n0.15625 -0.5 -0.4375 \n0.15625 -0.5 -0.46875 \n0.0625 -0.5 -0.34375 \n0.03125 -0.5 -0.3125 \n0.03125 -0.5 -0.34375 \n0.3125 -0.5 -0.46875 \n0.28125 -0.5 -0.4375 \n0.28125 -0.5 -0.46875 \n0.4375 -0.5 -0.46875 \n0.40625 -0.5 -0.4375 \n0.40625 -0.5 -0.46875 \n0.3125 -0.5 -0.34375 \n0.28125 -0.5 -0.3125 \n0.28125 -0.5 -0.34375 \n0.0625 -0.5 -0.21875 \n0.03125 -0.5 -0.1875 \n0.03125 -0.5 -0.21875 \n0.1875 -0.5 -0.21875 \n0.15625 -0.5 -0.1875 \n0.15625 -0.5 -0.21875 \n0.0625 -0.5 -0.09375 \n0.03125 -0.5 -0.0625 \n0.03125 -0.5 -0.09375 \n-0.4375 -0.5 0.03125 \n-0.46875 -0.5 0.0625 \n-0.46875 -0.5 0.03125 \n-0.3125 -0.5 0.03125 \n-0.34375 -0.5 0.0625 \n-0.34375 -0.5 0.03125 \n-0.4375 -0.5 0.15625 \n-0.46875 -0.5 0.1875 \n-0.46875 -0.5 0.15625 \n-0.1875 -0.5 0.03125 \n-0.21875 -0.5 0.0625 \n-0.21875 -0.5 0.03125 \n-0.0625 -0.5 0.03125 \n-0.09375 -0.5 0.0625 \n-0.09375 -0.5 0.03125 \n-0.1875 -0.5 0.15625 \n-0.21875 -0.5 0.1875 \n-0.21875 -0.5 0.15625 \n-0.4375 -0.5 0.28125 \n-0.46875 -0.5 0.3125 \n-0.46875 -0.5 0.28125 \n-0.3125 -0.5 0.28125 \n-0.34375 -0.5 0.3125 \n-0.34375 -0.5 0.28125 \n-0.4375 -0.5 0.40625 \n-0.46875 -0.5 0.4375 \n-0.46875 -0.5 0.40625 \n0.4375 -0.5 0.46875 \n0.46875 -0.5 0.4375 \n0.46875 -0.5 0.46875 \n0.3125 -0.5 0.46875 \n0.34375 -0.5 0.4375 \n0.34375 -0.5 0.46875 \n0.4375 -0.5 0.34375 \n0.46875 -0.5 0.3125 \n0.46875 -0.5 0.34375 \n0.1875 -0.5 0.46875 \n0.21875 -0.5 0.4375 \n0.21875 -0.5 0.46875 \n0.0625 -0.5 0.46875 \n0.09375 -0.5 0.4375 \n0.09375 -0.5 0.46875 \n0.1875 -0.5 0.34375 \n0.21875 -0.5 0.3125 \n0.21875 -0.5 0.34375 \n0.4375 -0.5 0.21875 \n0.46875 -0.5 0.1875 \n0.46875 -0.5 0.21875 \n0.3125 -0.5 0.21875 \n0.34375 -0.5 0.1875 \n0.34375 -0.5 0.21875 \n0.4375 -0.5 0.09375 \n0.46875 -0.5 0.0625 \n0.46875 -0.5 0.09375 \n-0.0625 -0.5 0.46875 \n-0.03125 -0.5 0.4375 \n-0.03125 -0.5 0.46875 \n-0.1875 -0.5 0.46875 \n-0.15625 -0.5 0.4375 \n-0.15625 -0.5 0.46875 \n-0.0625 -0.5 0.34375 \n-0.03125 -0.5 0.3125 \n-0.03125 -0.5 0.34375 \n-0.3125 -0.5 0.46875 \n-0.28125 -0.5 0.4375 \n-0.28125 -0.5 0.46875 \n-0.4375 -0.5 0.46875 \n-0.40625 -0.5 0.4375 \n-0.40625 -0.5 0.46875 \n-0.3125 -0.5 0.34375 \n-0.28125 -0.5 0.3125 \n-0.28125 -0.5 0.34375 \n-0.0625 -0.5 0.21875 \n-0.03125 -0.5 0.1875 \n-0.03125 -0.5 0.21875 \n-0.1875 -0.5 0.21875 \n-0.15625 -0.5 0.1875 \n-0.15625 -0.5 0.21875 \n-0.0625 -0.5 0.09375 \n-0.03125 -0.5 0.0625 \n-0.03125 -0.5 0.09375 \n0.4375 -0.5 -0.03125 \n0.46875 -0.5 -0.0625 \n0.46875 -0.5 -0.03125 \n0.3125 -0.5 -0.03125 \n0.34375 -0.5 -0.0625 \n0.34375 -0.5 -0.03125 \n0.4375 -0.5 -0.15625 \n0.46875 -0.5 -0.1875 \n0.46875 -0.5 -0.15625 \n0.1875 -0.5 -0.03125 \n0.21875 -0.5 -0.0625 \n0.21875 -0.5 -0.03125 \n0.0625 -0.5 -0.03125 \n0.09375 -0.5 -0.0625 \n0.09375 -0.5 -0.03125 \n0.1875 -0.5 -0.15625 \n0.21875 -0.5 -0.1875 \n0.21875 -0.5 -0.15625 \n0.4375 -0.5 -0.28125 \n0.46875 -0.5 -0.3125 \n0.46875 -0.5 -0.28125 \n0.3125 -0.5 -0.28125 \n0.34375 -0.5 -0.3125 \n0.34375 -0.5 -0.28125 \n0.4375 -0.5 -0.40625 \n0.46875 -0.5 -0.4375 \n0.46875 -0.5 -0.40625 \n-0.5 -0.46875 -0.4375 \n-0.5 -0.4375 -0.46875 \n-0.5 -0.46875 -0.46875 \n-0.5 -0.46875 -0.3125 \n-0.5 -0.4375 -0.34375 \n-0.5 -0.46875 -0.34375 \n-0.5 -0.34375 -0.4375 \n-0.5 -0.3125 -0.46875 \n-0.5 -0.34375 -0.46875 \n-0.5 -0.46875 -0.1875 \n-0.5 -0.4375 -0.21875 \n-0.5 -0.46875 -0.21875 \n-0.5 -0.46875 -0.0625 \n-0.5 -0.4375 -0.09375 \n-0.5 -0.46875 -0.09375 \n-0.5 -0.34375 -0.1875 \n-0.5 -0.3125 -0.21875 \n-0.5 -0.34375 -0.21875 \n-0.5 -0.21875 -0.4375 \n-0.5 -0.1875 -0.46875 \n-0.5 -0.21875 -0.46875 \n-0.5 -0.21875 -0.3125 \n-0.5 -0.1875 -0.34375 \n-0.5 -0.21875 -0.34375 \n-0.5 -0.09375 -0.4375 \n-0.5 -0.0625 -0.46875 \n-0.5 -0.09375 -0.46875 \n-0.5 -0.46875 0.0625 \n-0.5 -0.4375 0.03125 \n-0.5 -0.46875 0.03125 \n-0.5 -0.46875 0.1875 \n-0.5 -0.4375 0.15625 \n-0.5 -0.46875 0.15625 \n-0.5 -0.34375 0.0625 \n-0.5 -0.3125 0.03125 \n-0.5 -0.34375 0.03125 \n-0.5 -0.46875 0.3125 \n-0.5 -0.4375 0.28125 \n-0.5 -0.46875 0.28125 \n-0.5 -0.46875 0.4375 \n-0.5 -0.4375 0.40625 \n-0.5 -0.46875 0.40625 \n-0.5 -0.34375 0.3125 \n-0.5 -0.3125 0.28125 \n-0.5 -0.34375 0.28125 \n-0.5 -0.21875 0.0625 \n-0.5 -0.1875 0.03125 \n-0.5 -0.21875 0.03125 \n-0.5 -0.21875 0.1875 \n-0.5 -0.1875 0.15625 \n-0.5 -0.21875 0.15625 \n-0.5 -0.09375 0.0625 \n-0.5 -0.0625 0.03125 \n-0.5 -0.09375 0.03125 \n-0.5 0.03125 -0.4375 \n-0.5 0.0625 -0.46875 \n-0.5 0.03125 -0.46875 \n-0.5 0.03125 -0.3125 \n-0.5 0.0625 -0.34375 \n-0.5 0.03125 -0.34375 \n-0.5 0.15625 -0.4375 \n-0.5 0.1875 -0.46875 \n-0.5 0.15625 -0.46875 \n-0.5 0.03125 -0.1875 \n-0.5 0.0625 -0.21875 \n-0.5 0.03125 -0.21875 \n-0.5 0.03125 -0.0625 \n-0.5 0.0625 -0.09375 \n-0.5 0.03125 -0.09375 \n-0.5 0.15625 -0.1875 \n-0.5 0.1875 -0.21875 \n-0.5 0.15625 -0.21875 \n-0.5 0.28125 -0.4375 \n-0.5 0.3125 -0.46875 \n-0.5 0.28125 -0.46875 \n-0.5 0.28125 -0.3125 \n-0.5 0.3125 -0.34375 \n-0.5 0.28125 -0.34375 \n-0.5 0.40625 -0.4375 \n-0.5 0.4375 -0.46875 \n-0.5 0.40625 -0.46875 \n-0.5 0.46875 0.4375 \n-0.5 0.4375 0.46875 \n-0.5 0.46875 0.46875 \n-0.5 0.46875 0.3125 \n-0.5 0.4375 0.34375 \n-0.5 0.46875 0.34375 \n-0.5 0.34375 0.4375 \n-0.5 0.3125 0.46875 \n-0.5 0.34375 0.46875 \n-0.5 0.46875 0.1875 \n-0.5 0.4375 0.21875 \n-0.5 0.46875 0.21875 \n-0.5 0.46875 0.0625 \n-0.5 0.4375 0.09375 \n-0.5 0.46875 0.09375 \n-0.5 0.34375 0.1875 \n-0.5 0.3125 0.21875 \n-0.5 0.34375 0.21875 \n-0.5 0.21875 0.4375 \n-0.5 0.1875 0.46875 \n-0.5 0.21875 0.46875 \n-0.5 0.21875 0.3125 \n-0.5 0.1875 0.34375 \n-0.5 0.21875 0.34375 \n-0.5 0.09375 0.4375 \n-0.5 0.0625 0.46875 \n-0.5 0.09375 0.46875 \n-0.5 0.46875 -0.0625 \n-0.5 0.4375 -0.03125 \n-0.5 0.46875 -0.03125 \n-0.5 0.46875 -0.1875 \n-0.5 0.4375 -0.15625 \n-0.5 0.46875 -0.15625 \n-0.5 0.34375 -0.0625 \n-0.5 0.3125 -0.03125 \n-0.5 0.34375 -0.03125 \n-0.5 0.46875 -0.3125 \n-0.5 0.4375 -0.28125 \n-0.5 0.46875 -0.28125 \n-0.5 0.46875 -0.4375 \n-0.5 0.4375 -0.40625 \n-0.5 0.46875 -0.40625 \n-0.5 0.34375 -0.3125 \n-0.5 0.3125 -0.28125 \n-0.5 0.34375 -0.28125 \n-0.5 0.21875 -0.0625 \n-0.5 0.1875 -0.03125 \n-0.5 0.21875 -0.03125 \n-0.5 0.21875 -0.1875 \n-0.5 0.1875 -0.15625 \n-0.5 0.21875 -0.15625 \n-0.5 0.09375 -0.0625 \n-0.5 0.0625 -0.03125 \n-0.5 0.09375 -0.03125 \n-0.5 -0.03125 0.4375 \n-0.5 -0.0625 0.46875 \n-0.5 -0.03125 0.46875 \n-0.5 -0.03125 0.3125 \n-0.5 -0.0625 0.34375 \n-0.5 -0.03125 0.34375 \n-0.5 -0.15625 0.4375 \n-0.5 -0.1875 0.46875 \n-0.5 -0.15625 0.46875 \n-0.5 -0.03125 0.1875 \n-0.5 -0.0625 0.21875 \n-0.5 -0.03125 0.21875 \n-0.5 -0.03125 0.0625 \n-0.5 -0.0625 0.09375 \n-0.5 -0.03125 0.09375 \n-0.5 -0.15625 0.1875 \n-0.5 -0.1875 0.21875 \n-0.5 -0.15625 0.21875 \n-0.5 -0.28125 0.4375 \n-0.5 -0.3125 0.46875 \n-0.5 -0.28125 0.46875 \n-0.5 -0.28125 0.3125 \n-0.5 -0.3125 0.34375 \n-0.5 -0.28125 0.34375 \n-0.5 -0.40625 0.4375 \n-0.5 -0.4375 0.46875 \n-0.5 -0.40625 0.46875 \n0.15625 0.125 0.5 \n0.125 0.15625 0.5 \n0.21875 0.125 0.5 \n0.21875 0.15625 0.5 \n0.15625 0.21875 0.5 \n0.125 0.21875 0.5 \n-0.15625 -0.125 0.5 \n-0.125 -0.15625 0.5 \n-0.21875 -0.125 0.5 \n-0.21875 -0.15625 0.5 \n-0.15625 -0.21875 0.5 \n-0.125 -0.21875 0.5 \n0.5 0.15625 0.125 \n0.5 0.125 0.15625 \n0.5 0.21875 0.125 \n0.5 0.21875 0.15625 \n0.5 0.15625 0.21875 \n0.5 0.125 0.21875 \n0.5 -0.15625 -0.125 \n0.5 -0.125 -0.15625 \n0.5 -0.21875 -0.125 \n0.5 -0.21875 -0.15625 \n0.5 -0.15625 -0.21875 \n0.5 -0.125 -0.21875 \n0.125 0.5 0.15625 \n0.15625 0.5 0.125 \n0.125 0.5 0.21875 \n0.15625 0.5 0.21875 \n0.21875 0.5 0.15625 \n0.21875 0.5 0.125 \n-0.125 0.5 -0.15625 \n-0.15625 0.5 -0.125 \n-0.125 0.5 -0.21875 \n-0.15625 0.5 -0.21875 \n-0.21875 0.5 -0.15625 \n-0.21875 0.5 -0.125 \n-0.125 -0.15625 -0.5 \n-0.15625 -0.125 -0.5 \n-0.125 -0.21875 -0.5 \n-0.15625 -0.21875 -0.5 \n-0.21875 -0.15625 -0.5 \n-0.21875 -0.125 -0.5 \n0.125 0.15625 -0.5 \n0.15625 0.125 -0.5 \n0.125 0.21875 -0.5 \n0.15625 0.21875 -0.5 \n0.21875 0.15625 -0.5 \n0.21875 0.125 -0.5 \n-0.15625 -0.5 -0.125 \n-0.125 -0.5 -0.15625 \n-0.21875 -0.5 -0.125 \n-0.21875 -0.5 -0.15625 \n-0.15625 -0.5 -0.21875 \n-0.125 -0.5 -0.21875 \n0.15625 -0.5 0.125 \n0.125 -0.5 0.15625 \n0.21875 -0.5 0.125 \n0.21875 -0.5 0.15625 \n0.15625 -0.5 0.21875 \n0.125 -0.5 0.21875 \n-0.5 -0.125 -0.15625 \n-0.5 -0.15625 -0.125 \n-0.5 -0.125 -0.21875 \n-0.5 -0.15625 -0.21875 \n-0.5 -0.21875 -0.15625 \n-0.5 -0.21875 -0.125 \n-0.5 0.125 0.15625 \n-0.5 0.15625 0.125 \n-0.5 0.125 0.21875 \n-0.5 0.15625 0.21875 \n-0.5 0.21875 0.15625 \n-0.5 0.21875 0.125 \n0.28125 0.34375 0.5 \n0.28125 0.375 0.5 \n0.34375 0.28125 0.5 \n0.375 0.28125 0.5 \n0.375 0.34375 0.5 \n0.34375 0.375 0.5 \n-0.21875 0.34375 0.5 \n-0.21875 0.375 0.5 \n-0.15625 0.28125 0.5 \n-0.125 0.28125 0.5 \n-0.125 0.34375 0.5 \n-0.15625 0.375 0.5 \n0.28125 -0.15625 0.5 \n0.28125 -0.125 0.5 \n0.34375 -0.21875 0.5 \n0.375 -0.21875 0.5 \n0.375 -0.15625 0.5 \n0.34375 -0.125 0.5 \n-0.28125 -0.34375 0.5 \n-0.28125 -0.375 0.5 \n-0.34375 -0.28125 0.5 \n-0.375 -0.28125 0.5 \n-0.375 -0.34375 0.5 \n-0.34375 -0.375 0.5 \n0.21875 -0.34375 0.5 \n0.21875 -0.375 0.5 \n0.15625 -0.28125 0.5 \n0.125 -0.28125 0.5 \n0.125 -0.34375 0.5 \n0.15625 -0.375 0.5 \n-0.28125 0.15625 0.5 \n-0.28125 0.125 0.5 \n-0.34375 0.21875 0.5 \n-0.375 0.21875 0.5 \n-0.375 0.15625 0.5 \n-0.34375 0.125 0.5 \n0.5 0.28125 0.34375 \n0.5 0.28125 0.375 \n0.5 0.34375 0.28125 \n0.5 0.375 0.28125 \n0.5 0.375 0.34375 \n0.5 0.34375 0.375 \n0.5 -0.21875 0.34375 \n0.5 -0.21875 0.375 \n0.5 -0.15625 0.28125 \n0.5 -0.125 0.28125 \n0.5 -0.125 0.34375 \n0.5 -0.15625 0.375 \n0.5 0.28125 -0.15625 \n0.5 0.28125 -0.125 \n0.5 0.34375 -0.21875 \n0.5 0.375 -0.21875 \n0.5 0.375 -0.15625 \n0.5 0.34375 -0.125 \n0.5 -0.28125 -0.34375 \n0.5 -0.28125 -0.375 \n0.5 -0.34375 -0.28125 \n0.5 -0.375 -0.28125 \n0.5 -0.375 -0.34375 \n0.5 -0.34375 -0.375 \n0.5 0.21875 -0.34375 \n0.5 0.21875 -0.375 \n0.5 0.15625 -0.28125 \n0.5 0.125 -0.28125 \n0.5 0.125 -0.34375 \n0.5 0.15625 -0.375 \n0.5 -0.28125 0.15625 \n0.5 -0.28125 0.125 \n0.5 -0.34375 0.21875 \n0.5 -0.375 0.21875 \n0.5 -0.375 0.15625 \n0.5 -0.34375 0.125 \n0.34375 0.5 0.28125 \n0.375 0.5 0.28125 \n0.28125 0.5 0.34375 \n0.28125 0.5 0.375 \n0.34375 0.5 0.375 \n0.375 0.5 0.34375 \n0.34375 0.5 -0.21875 \n0.375 0.5 -0.21875 \n0.28125 0.5 -0.15625 \n0.28125 0.5 -0.125 \n0.34375 0.5 -0.125 \n0.375 0.5 -0.15625 \n-0.15625 0.5 0.28125 \n-0.125 0.5 0.28125 \n-0.21875 0.5 0.34375 \n-0.21875 0.5 0.375 \n-0.15625 0.5 0.375 \n-0.125 0.5 0.34375 \n-0.34375 0.5 -0.28125 \n-0.375 0.5 -0.28125 \n-0.28125 0.5 -0.34375 \n-0.28125 0.5 -0.375 \n-0.34375 0.5 -0.375 \n-0.375 0.5 -0.34375 \n-0.34375 0.5 0.21875 \n-0.375 0.5 0.21875 \n-0.28125 0.5 0.15625 \n-0.28125 0.5 0.125 \n-0.34375 0.5 0.125 \n-0.375 0.5 0.15625 \n0.15625 0.5 -0.28125 \n0.125 0.5 -0.28125 \n0.21875 0.5 -0.34375 \n0.21875 0.5 -0.375 \n0.15625 0.5 -0.375 \n0.125 0.5 -0.34375 \n-0.34375 -0.28125 -0.5 \n-0.375 -0.28125 -0.5 \n-0.28125 -0.34375 -0.5 \n-0.28125 -0.375 -0.5 \n-0.34375 -0.375 -0.5 \n-0.375 -0.34375 -0.5 \n-0.34375 0.21875 -0.5 \n-0.375 0.21875 -0.5 \n-0.28125 0.15625 -0.5 \n-0.28125 0.125 -0.5 \n-0.34375 0.125 -0.5 \n-0.375 0.15625 -0.5 \n0.15625 -0.28125 -0.5 \n0.125 -0.28125 -0.5 \n0.21875 -0.34375 -0.5 \n0.21875 -0.375 -0.5 \n0.15625 -0.375 -0.5 \n0.125 -0.34375 -0.5 \n0.34375 0.28125 -0.5 \n0.375 0.28125 -0.5 \n0.28125 0.34375 -0.5 \n0.28125 0.375 -0.5 \n0.34375 0.375 -0.5 \n0.375 0.34375 -0.5 \n0.34375 -0.21875 -0.5 \n0.375 -0.21875 -0.5 \n0.28125 -0.15625 -0.5 \n0.28125 -0.125 -0.5 \n0.34375 -0.125 -0.5 \n0.375 -0.15625 -0.5 \n-0.15625 0.28125 -0.5 \n-0.125 0.28125 -0.5 \n-0.21875 0.34375 -0.5 \n-0.21875 0.375 -0.5 \n-0.15625 0.375 -0.5 \n-0.125 0.34375 -0.5 \n-0.28125 -0.5 -0.34375 \n-0.28125 -0.5 -0.375 \n-0.34375 -0.5 -0.28125 \n-0.375 -0.5 -0.28125 \n-0.375 -0.5 -0.34375 \n-0.34375 -0.5 -0.375 \n0.21875 -0.5 -0.34375 \n0.21875 -0.5 -0.375 \n0.15625 -0.5 -0.28125 \n0.125 -0.5 -0.28125 \n0.125 -0.5 -0.34375 \n0.15625 -0.5 -0.375 \n-0.28125 -0.5 0.15625 \n-0.28125 -0.5 0.125 \n-0.34375 -0.5 0.21875 \n-0.375 -0.5 0.21875 \n-0.375 -0.5 0.15625 \n-0.34375 -0.5 0.125 \n0.28125 -0.5 0.34375 \n0.28125 -0.5 0.375 \n0.34375 -0.5 0.28125 \n0.375 -0.5 0.28125 \n0.375 -0.5 0.34375 \n0.34375 -0.5 0.375 \n-0.21875 -0.5 0.34375 \n-0.21875 -0.5 0.375 \n-0.15625 -0.5 0.28125 \n-0.125 -0.5 0.28125 \n-0.125 -0.5 0.34375 \n-0.15625 -0.5 0.375 \n0.28125 -0.5 -0.15625 \n0.28125 -0.5 -0.125 \n0.34375 -0.5 -0.21875 \n0.375 -0.5 -0.21875 \n0.375 -0.5 -0.15625 \n0.34375 -0.5 -0.125 \n-0.5 -0.34375 -0.28125 \n-0.5 -0.375 -0.28125 \n-0.5 -0.28125 -0.34375 \n-0.5 -0.28125 -0.375 \n-0.5 -0.34375 -0.375 \n-0.5 -0.375 -0.34375 \n-0.5 -0.34375 0.21875 \n-0.5 -0.375 0.21875 \n-0.5 -0.28125 0.15625 \n-0.5 -0.28125 0.125 \n-0.5 -0.34375 0.125 \n-0.5 -0.375 0.15625 \n-0.5 0.15625 -0.28125 \n-0.5 0.125 -0.28125 \n-0.5 0.21875 -0.34375 \n-0.5 0.21875 -0.375 \n-0.5 0.15625 -0.375 \n-0.5 0.125 -0.34375 \n-0.5 0.34375 0.28125 \n-0.5 0.375 0.28125 \n-0.5 0.28125 0.34375 \n-0.5 0.28125 0.375 \n-0.5 0.34375 0.375 \n-0.5 0.375 0.34375 \n-0.5 0.34375 -0.21875 \n-0.5 0.375 -0.21875 \n-0.5 0.28125 -0.15625 \n-0.5 0.28125 -0.125 \n-0.5 0.34375 -0.125 \n-0.5 0.375 -0.15625 \n-0.5 -0.15625 0.28125 \n-0.5 -0.125 0.28125 \n-0.5 -0.21875 0.34375 \n-0.5 -0.21875 0.375 \n-0.5 -0.15625 0.375 \n-0.5 -0.125 0.34375 \n0.03125 0.34375 0.5 \n0.03125 0.375 0.5 \n0.09375 0.28125 0.5 \n0.125 0.28125 0.5 \n0.125 0.34375 0.5 \n0.09375 0.375 0.5 \n0.03125 0.09375 0.5 \n0.03125 0.125 0.5 \n0.09375 0.03125 0.5 \n0.125 0.03125 0.5 \n0.125 0.09375 0.5 \n0.09375 0.125 0.5 \n0.28125 0.09375 0.5 \n0.28125 0.125 0.5 \n0.34375 0.03125 0.5 \n0.375 0.03125 0.5 \n0.375 0.09375 0.5 \n0.34375 0.125 0.5 \n-0.03125 -0.34375 0.5 \n-0.03125 -0.375 0.5 \n-0.09375 -0.28125 0.5 \n-0.125 -0.28125 0.5 \n-0.125 -0.34375 0.5 \n-0.09375 -0.375 0.5 \n-0.03125 -0.09375 0.5 \n-0.03125 -0.125 0.5 \n-0.09375 -0.03125 0.5 \n-0.125 -0.03125 0.5 \n-0.125 -0.09375 0.5 \n-0.09375 -0.125 0.5 \n-0.28125 -0.09375 0.5 \n-0.28125 -0.125 0.5 \n-0.34375 -0.03125 0.5 \n-0.375 -0.03125 0.5 \n-0.375 -0.09375 0.5 \n-0.34375 -0.125 0.5 \n0.5 0.03125 0.34375 \n0.5 0.03125 0.375 \n0.5 0.09375 0.28125 \n0.5 0.125 0.28125 \n0.5 0.125 0.34375 \n0.5 0.09375 0.375 \n0.5 0.03125 0.09375 \n0.5 0.03125 0.125 \n0.5 0.09375 0.03125 \n0.5 0.125 0.03125 \n0.5 0.125 0.09375 \n0.5 0.09375 0.125 \n0.5 0.28125 0.09375 \n0.5 0.28125 0.125 \n0.5 0.34375 0.03125 \n0.5 0.375 0.03125 \n0.5 0.375 0.09375 \n0.5 0.34375 0.125 \n0.5 -0.03125 -0.34375 \n0.5 -0.03125 -0.375 \n0.5 -0.09375 -0.28125 \n0.5 -0.125 -0.28125 \n0.5 -0.125 -0.34375 \n0.5 -0.09375 -0.375 \n0.5 -0.03125 -0.09375 \n0.5 -0.03125 -0.125 \n0.5 -0.09375 -0.03125 \n0.5 -0.125 -0.03125 \n0.5 -0.125 -0.09375 \n0.5 -0.09375 -0.125 \n0.5 -0.28125 -0.09375 \n0.5 -0.28125 -0.125 \n0.5 -0.34375 -0.03125 \n0.5 -0.375 -0.03125 \n0.5 -0.375 -0.09375 \n0.5 -0.34375 -0.125 \n0.34375 0.5 0.03125 \n0.375 0.5 0.03125 \n0.28125 0.5 0.09375 \n0.28125 0.5 0.125 \n0.34375 0.5 0.125 \n0.375 0.5 0.09375 \n0.09375 0.5 0.03125 \n0.125 0.5 0.03125 \n0.03125 0.5 0.09375 \n0.03125 0.5 0.125 \n0.09375 0.5 0.125 \n0.125 0.5 0.09375 \n0.09375 0.5 0.28125 \n0.125 0.5 0.28125 \n0.03125 0.5 0.34375 \n0.03125 0.5 0.375 \n0.09375 0.5 0.375 \n0.125 0.5 0.34375 \n-0.34375 0.5 -0.03125 \n-0.375 0.5 -0.03125 \n-0.28125 0.5 -0.09375 \n-0.28125 0.5 -0.125 \n-0.34375 0.5 -0.125 \n-0.375 0.5 -0.09375 \n-0.09375 0.5 -0.03125 \n-0.125 0.5 -0.03125 \n-0.03125 0.5 -0.09375 \n-0.03125 0.5 -0.125 \n-0.09375 0.5 -0.125 \n-0.125 0.5 -0.09375 \n-0.09375 0.5 -0.28125 \n-0.125 0.5 -0.28125 \n-0.03125 0.5 -0.34375 \n-0.03125 0.5 -0.375 \n-0.09375 0.5 -0.375 \n-0.125 0.5 -0.34375 \n-0.34375 -0.03125 -0.5 \n-0.375 -0.03125 -0.5 \n-0.28125 -0.09375 -0.5 \n-0.28125 -0.125 -0.5 \n-0.34375 -0.125 -0.5 \n-0.375 -0.09375 -0.5 \n-0.09375 -0.03125 -0.5 \n-0.125 -0.03125 -0.5 \n-0.03125 -0.09375 -0.5 \n-0.03125 -0.125 -0.5 \n-0.09375 -0.125 -0.5 \n-0.125 -0.09375 -0.5 \n-0.09375 -0.28125 -0.5 \n-0.125 -0.28125 -0.5 \n-0.03125 -0.34375 -0.5 \n-0.03125 -0.375 -0.5 \n-0.09375 -0.375 -0.5 \n-0.125 -0.34375 -0.5 \n0.34375 0.03125 -0.5 \n0.375 0.03125 -0.5 \n0.28125 0.09375 -0.5 \n0.28125 0.125 -0.5 \n0.34375 0.125 -0.5 \n0.375 0.09375 -0.5 \n0.09375 0.03125 -0.5 \n0.125 0.03125 -0.5 \n0.03125 0.09375 -0.5 \n0.03125 0.125 -0.5 \n0.09375 0.125 -0.5 \n0.125 0.09375 -0.5 \n0.09375 0.28125 -0.5 \n0.125 0.28125 -0.5 \n0.03125 0.34375 -0.5 \n0.03125 0.375 -0.5 \n0.09375 0.375 -0.5 \n0.125 0.34375 -0.5 \n-0.03125 -0.5 -0.34375 \n-0.03125 -0.5 -0.375 \n-0.09375 -0.5 -0.28125 \n-0.125 -0.5 -0.28125 \n-0.125 -0.5 -0.34375 \n-0.09375 -0.5 -0.375 \n-0.03125 -0.5 -0.09375 \n-0.03125 -0.5 -0.125 \n-0.09375 -0.5 -0.03125 \n-0.125 -0.5 -0.03125 \n-0.125 -0.5 -0.09375 \n-0.09375 -0.5 -0.125 \n-0.28125 -0.5 -0.09375 \n-0.28125 -0.5 -0.125 \n-0.34375 -0.5 -0.03125 \n-0.375 -0.5 -0.03125 \n-0.375 -0.5 -0.09375 \n-0.34375 -0.5 -0.125 \n0.03125 -0.5 0.34375 \n0.03125 -0.5 0.375 \n0.09375 -0.5 0.28125 \n0.125 -0.5 0.28125 \n0.125 -0.5 0.34375 \n0.09375 -0.5 0.375 \n0.03125 -0.5 0.09375 \n0.03125 -0.5 0.125 \n0.09375 -0.5 0.03125 \n0.125 -0.5 0.03125 \n0.125 -0.5 0.09375 \n0.09375 -0.5 0.125 \n0.28125 -0.5 0.09375 \n0.28125 -0.5 0.125 \n0.34375 -0.5 0.03125 \n0.375 -0.5 0.03125 \n0.375 -0.5 0.09375 \n0.34375 -0.5 0.125 \n-0.5 -0.34375 -0.03125 \n-0.5 -0.375 -0.03125 \n-0.5 -0.28125 -0.09375 \n-0.5 -0.28125 -0.125 \n-0.5 -0.34375 -0.125 \n-0.5 -0.375 -0.09375 \n-0.5 -0.09375 -0.03125 \n-0.5 -0.125 -0.03125 \n-0.5 -0.03125 -0.09375 \n-0.5 -0.03125 -0.125 \n-0.5 -0.09375 -0.125 \n-0.5 -0.125 -0.09375 \n-0.5 -0.09375 -0.28125 \n-0.5 -0.125 -0.28125 \n-0.5 -0.03125 -0.34375 \n-0.5 -0.03125 -0.375 \n-0.5 -0.09375 -0.375 \n-0.5 -0.125 -0.34375 \n-0.5 0.34375 0.03125 \n-0.5 0.375 0.03125 \n-0.5 0.28125 0.09375 \n-0.5 0.28125 0.125 \n-0.5 0.34375 0.125 \n-0.5 0.375 0.09375 \n-0.5 0.09375 0.03125 \n-0.5 0.125 0.03125 \n-0.5 0.03125 0.09375 \n-0.5 0.03125 0.125 \n-0.5 0.09375 0.125 \n-0.5 0.125 0.09375 \n-0.5 0.09375 0.28125 \n-0.5 0.125 0.28125 \n-0.5 0.03125 0.34375 \n-0.5 0.03125 0.375 \n-0.5 0.09375 0.375 \n-0.5 0.125 0.34375 \n0.375 0.46875 0.5 \n0.40625 0.46875 0.5 \n0.375 0.40625 0.5 \n0.40625 0.375 0.5 \n0.46875 0.375 0.5 \n0.46875 0.40625 0.5 \n0.125 0.46875 0.5 \n0.15625 0.46875 0.5 \n0.125 0.40625 0.5 \n0.15625 0.375 0.5 \n0.21875 0.375 0.5 \n0.21875 0.40625 0.5 \n0.375 0.21875 0.5 \n0.40625 0.21875 0.5 \n0.375 0.15625 0.5 \n0.40625 0.125 0.5 \n0.46875 0.125 0.5 \n0.46875 0.15625 0.5 \n-0.125 0.46875 0.5 \n-0.09375 0.46875 0.5 \n-0.125 0.40625 0.5 \n-0.09375 0.375 0.5 \n-0.03125 0.375 0.5 \n-0.03125 0.40625 0.5 \n-0.375 0.46875 0.5 \n-0.34375 0.46875 0.5 \n-0.375 0.40625 0.5 \n-0.34375 0.375 0.5 \n-0.28125 0.375 0.5 \n-0.28125 0.40625 0.5 \n-0.125 0.21875 0.5 \n-0.09375 0.21875 0.5 \n-0.125 0.15625 0.5 \n-0.09375 0.125 0.5 \n-0.03125 0.125 0.5 \n-0.03125 0.15625 0.5 \n0.375 -0.03125 0.5 \n0.40625 -0.03125 0.5 \n0.375 -0.09375 0.5 \n0.40625 -0.125 0.5 \n0.46875 -0.125 0.5 \n0.46875 -0.09375 0.5 \n0.125 -0.03125 0.5 \n0.15625 -0.03125 0.5 \n0.125 -0.09375 0.5 \n0.15625 -0.125 0.5 \n0.21875 -0.125 0.5 \n0.21875 -0.09375 0.5 \n0.375 -0.28125 0.5 \n0.40625 -0.28125 0.5 \n0.375 -0.34375 0.5 \n0.40625 -0.375 0.5 \n0.46875 -0.375 0.5 \n0.46875 -0.34375 0.5 \n-0.375 -0.46875 0.5 \n-0.40625 -0.46875 0.5 \n-0.375 -0.40625 0.5 \n-0.40625 -0.375 0.5 \n-0.46875 -0.375 0.5 \n-0.46875 -0.40625 0.5 \n-0.125 -0.46875 0.5 \n-0.15625 -0.46875 0.5 \n-0.125 -0.40625 0.5 \n-0.15625 -0.375 0.5 \n-0.21875 -0.375 0.5 \n-0.21875 -0.40625 0.5 \n-0.375 -0.21875 0.5 \n-0.40625 -0.21875 0.5 \n-0.375 -0.15625 0.5 \n-0.40625 -0.125 0.5 \n-0.46875 -0.125 0.5 \n-0.46875 -0.15625 0.5 \n0.125 -0.46875 0.5 \n0.09375 -0.46875 0.5 \n0.125 -0.40625 0.5 \n0.09375 -0.375 0.5 \n0.03125 -0.375 0.5 \n0.03125 -0.40625 0.5 \n0.375 -0.46875 0.5 \n0.34375 -0.46875 0.5 \n0.375 -0.40625 0.5 \n0.34375 -0.375 0.5 \n0.28125 -0.375 0.5 \n0.28125 -0.40625 0.5 \n0.125 -0.21875 0.5 \n0.09375 -0.21875 0.5 \n0.125 -0.15625 0.5 \n0.09375 -0.125 0.5 \n0.03125 -0.125 0.5 \n0.03125 -0.15625 0.5 \n-0.375 0.03125 0.5 \n-0.40625 0.03125 0.5 \n-0.375 0.09375 0.5 \n-0.40625 0.125 0.5 \n-0.46875 0.125 0.5 \n-0.46875 0.09375 0.5 \n-0.125 0.03125 0.5 \n-0.15625 0.03125 0.5 \n-0.125 0.09375 0.5 \n-0.15625 0.125 0.5 \n-0.21875 0.125 0.5 \n-0.21875 0.09375 0.5 \n-0.375 0.28125 0.5 \n-0.40625 0.28125 0.5 \n-0.375 0.34375 0.5 \n-0.40625 0.375 0.5 \n-0.46875 0.375 0.5 \n-0.46875 0.34375 0.5 \n0.5 0.375 0.46875 \n0.5 0.40625 0.46875 \n0.5 0.375 0.40625 \n0.5 0.40625 0.375 \n0.5 0.46875 0.375 \n0.5 0.46875 0.40625 \n0.5 0.125 0.46875 \n0.5 0.15625 0.46875 \n0.5 0.125 0.40625 \n0.5 0.15625 0.375 \n0.5 0.21875 0.375 \n0.5 0.21875 0.40625 \n0.5 0.375 0.21875 \n0.5 0.40625 0.21875 \n0.5 0.375 0.15625 \n0.5 0.40625 0.125 \n0.5 0.46875 0.125 \n0.5 0.46875 0.15625 \n0.5 -0.125 0.46875 \n0.5 -0.09375 0.46875 \n0.5 -0.125 0.40625 \n0.5 -0.09375 0.375 \n0.5 -0.03125 0.375 \n0.5 -0.03125 0.40625 \n0.5 -0.375 0.46875 \n0.5 -0.34375 0.46875 \n0.5 -0.375 0.40625 \n0.5 -0.34375 0.375 \n0.5 -0.28125 0.375 \n0.5 -0.28125 0.40625 \n0.5 -0.125 0.21875 \n0.5 -0.09375 0.21875 \n0.5 -0.125 0.15625 \n0.5 -0.09375 0.125 \n0.5 -0.03125 0.125 \n0.5 -0.03125 0.15625 \n0.5 0.375 -0.03125 \n0.5 0.40625 -0.03125 \n0.5 0.375 -0.09375 \n0.5 0.40625 -0.125 \n0.5 0.46875 -0.125 \n0.5 0.46875 -0.09375 \n0.5 0.125 -0.03125 \n0.5 0.15625 -0.03125 \n0.5 0.125 -0.09375 \n0.5 0.15625 -0.125 \n0.5 0.21875 -0.125 \n0.5 0.21875 -0.09375 \n0.5 0.375 -0.28125 \n0.5 0.40625 -0.28125 \n0.5 0.375 -0.34375 \n0.5 0.40625 -0.375 \n0.5 0.46875 -0.375 \n0.5 0.46875 -0.34375 \n0.5 -0.375 -0.46875 \n0.5 -0.40625 -0.46875 \n0.5 -0.375 -0.40625 \n0.5 -0.40625 -0.375 \n0.5 -0.46875 -0.375 \n0.5 -0.46875 -0.40625 \n0.5 -0.125 -0.46875 \n0.5 -0.15625 -0.46875 \n0.5 -0.125 -0.40625 \n0.5 -0.15625 -0.375 \n0.5 -0.21875 -0.375 \n0.5 -0.21875 -0.40625 \n0.5 -0.375 -0.21875 \n0.5 -0.40625 -0.21875 \n0.5 -0.375 -0.15625 \n0.5 -0.40625 -0.125 \n0.5 -0.46875 -0.125 \n0.5 -0.46875 -0.15625 \n0.5 0.125 -0.46875 \n0.5 0.09375 -0.46875 \n0.5 0.125 -0.40625 \n0.5 0.09375 -0.375 \n0.5 0.03125 -0.375 \n0.5 0.03125 -0.40625 \n0.5 0.375 -0.46875 \n0.5 0.34375 -0.46875 \n0.5 0.375 -0.40625 \n0.5 0.34375 -0.375 \n0.5 0.28125 -0.375 \n0.5 0.28125 -0.40625 \n0.5 0.125 -0.21875 \n0.5 0.09375 -0.21875 \n0.5 0.125 -0.15625 \n0.5 0.09375 -0.125 \n0.5 0.03125 -0.125 \n0.5 0.03125 -0.15625 \n0.5 -0.375 0.03125 \n0.5 -0.40625 0.03125 \n0.5 -0.375 0.09375 \n0.5 -0.40625 0.125 \n0.5 -0.46875 0.125 \n0.5 -0.46875 0.09375 \n0.5 -0.125 0.03125 \n0.5 -0.15625 0.03125 \n0.5 -0.125 0.09375 \n0.5 -0.15625 0.125 \n0.5 -0.21875 0.125 \n0.5 -0.21875 0.09375 \n0.5 -0.375 0.28125 \n0.5 -0.40625 0.28125 \n0.5 -0.375 0.34375 \n0.5 -0.40625 0.375 \n0.5 -0.46875 0.375 \n0.5 -0.46875 0.34375 \n0.46875 0.5 0.375 \n0.46875 0.5 0.40625 \n0.40625 0.5 0.375 \n0.375 0.5 0.40625 \n0.375 0.5 0.46875 \n0.40625 0.5 0.46875 \n0.46875 0.5 0.125 \n0.46875 0.5 0.15625 \n0.40625 0.5 0.125 \n0.375 0.5 0.15625 \n0.375 0.5 0.21875 \n0.40625 0.5 0.21875 \n0.21875 0.5 0.375 \n0.21875 0.5 0.40625 \n0.15625 0.5 0.375 \n0.125 0.5 0.40625 \n0.125 0.5 0.46875 \n0.15625 0.5 0.46875 \n0.46875 0.5 -0.125 \n0.46875 0.5 -0.09375 \n0.40625 0.5 -0.125 \n0.375 0.5 -0.09375 \n0.375 0.5 -0.03125 \n0.40625 0.5 -0.03125 \n0.46875 0.5 -0.375 \n0.46875 0.5 -0.34375 \n0.40625 0.5 -0.375 \n0.375 0.5 -0.34375 \n0.375 0.5 -0.28125 \n0.40625 0.5 -0.28125 \n0.21875 0.5 -0.125 \n0.21875 0.5 -0.09375 \n0.15625 0.5 -0.125 \n0.125 0.5 -0.09375 \n0.125 0.5 -0.03125 \n0.15625 0.5 -0.03125 \n-0.03125 0.5 0.375 \n-0.03125 0.5 0.40625 \n-0.09375 0.5 0.375 \n-0.125 0.5 0.40625 \n-0.125 0.5 0.46875 \n-0.09375 0.5 0.46875 \n-0.03125 0.5 0.125 \n-0.03125 0.5 0.15625 \n-0.09375 0.5 0.125 \n-0.125 0.5 0.15625 \n-0.125 0.5 0.21875 \n-0.09375 0.5 0.21875 \n-0.28125 0.5 0.375 \n-0.28125 0.5 0.40625 \n-0.34375 0.5 0.375 \n-0.375 0.5 0.40625 \n-0.375 0.5 0.46875 \n-0.34375 0.5 0.46875 \n-0.46875 0.5 -0.375 \n-0.46875 0.5 -0.40625 \n-0.40625 0.5 -0.375 \n-0.375 0.5 -0.40625 \n-0.375 0.5 -0.46875 \n-0.40625 0.5 -0.46875 \n-0.46875 0.5 -0.125 \n-0.46875 0.5 -0.15625 \n-0.40625 0.5 -0.125 \n-0.375 0.5 -0.15625 \n-0.375 0.5 -0.21875 \n-0.40625 0.5 -0.21875 \n-0.21875 0.5 -0.375 \n-0.21875 0.5 -0.40625 \n-0.15625 0.5 -0.375 \n-0.125 0.5 -0.40625 \n-0.125 0.5 -0.46875 \n-0.15625 0.5 -0.46875 \n-0.46875 0.5 0.125 \n-0.46875 0.5 0.09375 \n-0.40625 0.5 0.125 \n-0.375 0.5 0.09375 \n-0.375 0.5 0.03125 \n-0.40625 0.5 0.03125 \n-0.46875 0.5 0.375 \n-0.46875 0.5 0.34375 \n-0.40625 0.5 0.375 \n-0.375 0.5 0.34375 \n-0.375 0.5 0.28125 \n-0.40625 0.5 0.28125 \n-0.21875 0.5 0.125 \n-0.21875 0.5 0.09375 \n-0.15625 0.5 0.125 \n-0.125 0.5 0.09375 \n-0.125 0.5 0.03125 \n-0.15625 0.5 0.03125 \n0.03125 0.5 -0.375 \n0.03125 0.5 -0.40625 \n0.09375 0.5 -0.375 \n0.125 0.5 -0.40625 \n0.125 0.5 -0.46875 \n0.09375 0.5 -0.46875 \n0.03125 0.5 -0.125 \n0.03125 0.5 -0.15625 \n0.09375 0.5 -0.125 \n0.125 0.5 -0.15625 \n0.125 0.5 -0.21875 \n0.09375 0.5 -0.21875 \n0.28125 0.5 -0.375 \n0.28125 0.5 -0.40625 \n0.34375 0.5 -0.375 \n0.375 0.5 -0.40625 \n0.375 0.5 -0.46875 \n0.34375 0.5 -0.46875 \n-0.46875 -0.375 -0.5 \n-0.46875 -0.40625 -0.5 \n-0.40625 -0.375 -0.5 \n-0.375 -0.40625 -0.5 \n-0.375 -0.46875 -0.5 \n-0.40625 -0.46875 -0.5 \n-0.46875 -0.125 -0.5 \n-0.46875 -0.15625 -0.5 \n-0.40625 -0.125 -0.5 \n-0.375 -0.15625 -0.5 \n-0.375 -0.21875 -0.5 \n-0.40625 -0.21875 -0.5 \n-0.21875 -0.375 -0.5 \n-0.21875 -0.40625 -0.5 \n-0.15625 -0.375 -0.5 \n-0.125 -0.40625 -0.5 \n-0.125 -0.46875 -0.5 \n-0.15625 -0.46875 -0.5 \n-0.46875 0.125 -0.5 \n-0.46875 0.09375 -0.5 \n-0.40625 0.125 -0.5 \n-0.375 0.09375 -0.5 \n-0.375 0.03125 -0.5 \n-0.40625 0.03125 -0.5 \n-0.46875 0.375 -0.5 \n-0.46875 0.34375 -0.5 \n-0.40625 0.375 -0.5 \n-0.375 0.34375 -0.5 \n-0.375 0.28125 -0.5 \n-0.40625 0.28125 -0.5 \n-0.21875 0.125 -0.5 \n-0.21875 0.09375 -0.5 \n-0.15625 0.125 -0.5 \n-0.125 0.09375 -0.5 \n-0.125 0.03125 -0.5 \n-0.15625 0.03125 -0.5 \n0.03125 -0.375 -0.5 \n0.03125 -0.40625 -0.5 \n0.09375 -0.375 -0.5 \n0.125 -0.40625 -0.5 \n0.125 -0.46875 -0.5 \n0.09375 -0.46875 -0.5 \n0.03125 -0.125 -0.5 \n0.03125 -0.15625 -0.5 \n0.09375 -0.125 -0.5 \n0.125 -0.15625 -0.5 \n0.125 -0.21875 -0.5 \n0.09375 -0.21875 -0.5 \n0.28125 -0.375 -0.5 \n0.28125 -0.40625 -0.5 \n0.34375 -0.375 -0.5 \n0.375 -0.40625 -0.5 \n0.375 -0.46875 -0.5 \n0.34375 -0.46875 -0.5 \n0.46875 0.375 -0.5 \n0.46875 0.40625 -0.5 \n0.40625 0.375 -0.5 \n0.375 0.40625 -0.5 \n0.375 0.46875 -0.5 \n0.40625 0.46875 -0.5 \n0.46875 0.125 -0.5 \n0.46875 0.15625 -0.5 \n0.40625 0.125 -0.5 \n0.375 0.15625 -0.5 \n0.375 0.21875 -0.5 \n0.40625 0.21875 -0.5 \n0.21875 0.375 -0.5 \n0.21875 0.40625 -0.5 \n0.15625 0.375 -0.5 \n0.125 0.40625 -0.5 \n0.125 0.46875 -0.5 \n0.15625 0.46875 -0.5 \n0.46875 -0.125 -0.5 \n0.46875 -0.09375 -0.5 \n0.40625 -0.125 -0.5 \n0.375 -0.09375 -0.5 \n0.375 -0.03125 -0.5 \n0.40625 -0.03125 -0.5 \n0.46875 -0.375 -0.5 \n0.46875 -0.34375 -0.5 \n0.40625 -0.375 -0.5 \n0.375 -0.34375 -0.5 \n0.375 -0.28125 -0.5 \n0.40625 -0.28125 -0.5 \n0.21875 -0.125 -0.5 \n0.21875 -0.09375 -0.5 \n0.15625 -0.125 -0.5 \n0.125 -0.09375 -0.5 \n0.125 -0.03125 -0.5 \n0.15625 -0.03125 -0.5 \n-0.03125 0.375 -0.5 \n-0.03125 0.40625 -0.5 \n-0.09375 0.375 -0.5 \n-0.125 0.40625 -0.5 \n-0.125 0.46875 -0.5 \n-0.09375 0.46875 -0.5 \n-0.03125 0.125 -0.5 \n-0.03125 0.15625 -0.5 \n-0.09375 0.125 -0.5 \n-0.125 0.15625 -0.5 \n-0.125 0.21875 -0.5 \n-0.09375 0.21875 -0.5 \n-0.28125 0.375 -0.5 \n-0.28125 0.40625 -0.5 \n-0.34375 0.375 -0.5 \n-0.375 0.40625 -0.5 \n-0.375 0.46875 -0.5 \n-0.34375 0.46875 -0.5 \n-0.375 -0.5 -0.46875 \n-0.40625 -0.5 -0.46875 \n-0.375 -0.5 -0.40625 \n-0.40625 -0.5 -0.375 \n-0.46875 -0.5 -0.375 \n-0.46875 -0.5 -0.40625 \n-0.125 -0.5 -0.46875 \n-0.15625 -0.5 -0.46875 \n-0.125 -0.5 -0.40625 \n-0.15625 -0.5 -0.375 \n-0.21875 -0.5 -0.375 \n-0.21875 -0.5 -0.40625 \n-0.375 -0.5 -0.21875 \n-0.40625 -0.5 -0.21875 \n-0.375 -0.5 -0.15625 \n-0.40625 -0.5 -0.125 \n-0.46875 -0.5 -0.125 \n-0.46875 -0.5 -0.15625 \n0.125 -0.5 -0.46875 \n0.09375 -0.5 -0.46875 \n0.125 -0.5 -0.40625 \n0.09375 -0.5 -0.375 \n0.03125 -0.5 -0.375 \n0.03125 -0.5 -0.40625 \n0.375 -0.5 -0.46875 \n0.34375 -0.5 -0.46875 \n0.375 -0.5 -0.40625 \n0.34375 -0.5 -0.375 \n0.28125 -0.5 -0.375 \n0.28125 -0.5 -0.40625 \n0.125 -0.5 -0.21875 \n0.09375 -0.5 -0.21875 \n0.125 -0.5 -0.15625 \n0.09375 -0.5 -0.125 \n0.03125 -0.5 -0.125 \n0.03125 -0.5 -0.15625 \n-0.375 -0.5 0.03125 \n-0.40625 -0.5 0.03125 \n-0.375 -0.5 0.09375 \n-0.40625 -0.5 0.125 \n-0.46875 -0.5 0.125 \n-0.46875 -0.5 0.09375 \n-0.125 -0.5 0.03125 \n-0.15625 -0.5 0.03125 \n-0.125 -0.5 0.09375 \n-0.15625 -0.5 0.125 \n-0.21875 -0.5 0.125 \n-0.21875 -0.5 0.09375 \n-0.375 -0.5 0.28125 \n-0.40625 -0.5 0.28125 \n-0.375 -0.5 0.34375 \n-0.40625 -0.5 0.375 \n-0.46875 -0.5 0.375 \n-0.46875 -0.5 0.34375 \n0.375 -0.5 0.46875 \n0.40625 -0.5 0.46875 \n0.375 -0.5 0.40625 \n0.40625 -0.5 0.375 \n0.46875 -0.5 0.375 \n0.46875 -0.5 0.40625 \n0.125 -0.5 0.46875 \n0.15625 -0.5 0.46875 \n0.125 -0.5 0.40625 \n0.15625 -0.5 0.375 \n0.21875 -0.5 0.375 \n0.21875 -0.5 0.40625 \n0.375 -0.5 0.21875 \n0.40625 -0.5 0.21875 \n0.375 -0.5 0.15625 \n0.40625 -0.5 0.125 \n0.46875 -0.5 0.125 \n0.46875 -0.5 0.15625 \n-0.125 -0.5 0.46875 \n-0.09375 -0.5 0.46875 \n-0.125 -0.5 0.40625 \n-0.09375 -0.5 0.375 \n-0.03125 -0.5 0.375 \n-0.03125 -0.5 0.40625 \n-0.375 -0.5 0.46875 \n-0.34375 -0.5 0.46875 \n-0.375 -0.5 0.40625 \n-0.34375 -0.5 0.375 \n-0.28125 -0.5 0.375 \n-0.28125 -0.5 0.40625 \n-0.125 -0.5 0.21875 \n-0.09375 -0.5 0.21875 \n-0.125 -0.5 0.15625 \n-0.09375 -0.5 0.125 \n-0.03125 -0.5 0.125 \n-0.03125 -0.5 0.15625 \n0.375 -0.5 -0.03125 \n0.40625 -0.5 -0.03125 \n0.375 -0.5 -0.09375 \n0.40625 -0.5 -0.125 \n0.46875 -0.5 -0.125 \n0.46875 -0.5 -0.09375 \n0.125 -0.5 -0.03125 \n0.15625 -0.5 -0.03125 \n0.125 -0.5 -0.09375 \n0.15625 -0.5 -0.125 \n0.21875 -0.5 -0.125 \n0.21875 -0.5 -0.09375 \n0.375 -0.5 -0.28125 \n0.40625 -0.5 -0.28125 \n0.375 -0.5 -0.34375 \n0.40625 -0.5 -0.375 \n0.46875 -0.5 -0.375 \n0.46875 -0.5 -0.34375 \n-0.5 -0.46875 -0.375 \n-0.5 -0.46875 -0.40625 \n-0.5 -0.40625 -0.375 \n-0.5 -0.375 -0.40625 \n-0.5 -0.375 -0.46875 \n-0.5 -0.40625 -0.46875 \n-0.5 -0.46875 -0.125 \n-0.5 -0.46875 -0.15625 \n-0.5 -0.40625 -0.125 \n-0.5 -0.375 -0.15625 \n-0.5 -0.375 -0.21875 \n-0.5 -0.40625 -0.21875 \n-0.5 -0.21875 -0.375 \n-0.5 -0.21875 -0.40625 \n-0.5 -0.15625 -0.375 \n-0.5 -0.125 -0.40625 \n-0.5 -0.125 -0.46875 \n-0.5 -0.15625 -0.46875 \n-0.5 -0.46875 0.125 \n-0.5 -0.46875 0.09375 \n-0.5 -0.40625 0.125 \n-0.5 -0.375 0.09375 \n-0.5 -0.375 0.03125 \n-0.5 -0.40625 0.03125 \n-0.5 -0.46875 0.375 \n-0.5 -0.46875 0.34375 \n-0.5 -0.40625 0.375 \n-0.5 -0.375 0.34375 \n-0.5 -0.375 0.28125 \n-0.5 -0.40625 0.28125 \n-0.5 -0.21875 0.125 \n-0.5 -0.21875 0.09375 \n-0.5 -0.15625 0.125 \n-0.5 -0.125 0.09375 \n-0.5 -0.125 0.03125 \n-0.5 -0.15625 0.03125 \n-0.5 0.03125 -0.375 \n-0.5 0.03125 -0.40625 \n-0.5 0.09375 -0.375 \n-0.5 0.125 -0.40625 \n-0.5 0.125 -0.46875 \n-0.5 0.09375 -0.46875 \n-0.5 0.03125 -0.125 \n-0.5 0.03125 -0.15625 \n-0.5 0.09375 -0.125 \n-0.5 0.125 -0.15625 \n-0.5 0.125 -0.21875 \n-0.5 0.09375 -0.21875 \n-0.5 0.28125 -0.375 \n-0.5 0.28125 -0.40625 \n-0.5 0.34375 -0.375 \n-0.5 0.375 -0.40625 \n-0.5 0.375 -0.46875 \n-0.5 0.34375 -0.46875 \n-0.5 0.46875 0.375 \n-0.5 0.46875 0.40625 \n-0.5 0.40625 0.375 \n-0.5 0.375 0.40625 \n-0.5 0.375 0.46875 \n-0.5 0.40625 0.46875 \n-0.5 0.46875 0.125 \n-0.5 0.46875 0.15625 \n-0.5 0.40625 0.125 \n-0.5 0.375 0.15625 \n-0.5 0.375 0.21875 \n-0.5 0.40625 0.21875 \n-0.5 0.21875 0.375 \n-0.5 0.21875 0.40625 \n-0.5 0.15625 0.375 \n-0.5 0.125 0.40625 \n-0.5 0.125 0.46875 \n-0.5 0.15625 0.46875 \n-0.5 0.46875 -0.125 \n-0.5 0.46875 -0.09375 \n-0.5 0.40625 -0.125 \n-0.5 0.375 -0.09375 \n-0.5 0.375 -0.03125 \n-0.5 0.40625 -0.03125 \n-0.5 0.46875 -0.375 \n-0.5 0.46875 -0.34375 \n-0.5 0.40625 -0.375 \n-0.5 0.375 -0.34375 \n-0.5 0.375 -0.28125 \n-0.5 0.40625 -0.28125 \n-0.5 0.21875 -0.125 \n-0.5 0.21875 -0.09375 \n-0.5 0.15625 -0.125 \n-0.5 0.125 -0.09375 \n-0.5 0.125 -0.03125 \n-0.5 0.15625 -0.03125 \n-0.5 -0.03125 0.375 \n-0.5 -0.03125 0.40625 \n-0.5 -0.09375 0.375 \n-0.5 -0.125 0.40625 \n-0.5 -0.125 0.46875 \n-0.5 -0.09375 0.46875 \n-0.5 -0.03125 0.125 \n-0.5 -0.03125 0.15625 \n-0.5 -0.09375 0.125 \n-0.5 -0.125 0.15625 \n-0.5 -0.125 0.21875 \n-0.5 -0.09375 0.21875 \n-0.5 -0.28125 0.375 \n-0.5 -0.28125 0.40625 \n-0.5 -0.34375 0.375 \n-0.5 -0.375 0.40625 \n-0.5 -0.375 0.46875 \n-0.5 -0.34375 0.46875 \n0.03125 0.21875 0.5 \n0.03125 0.25 0.5 \n0.09375 0.15625 0.5 \n0.09375 0.25 0.5 \n0.15625 0.09375 0.5 \n0.21875 0.03125 0.5 \n0.25 0.03125 0.5 \n0.25 0.09375 0.5 \n0.15625 0.25 0.5 \n0.25 0.15625 0.5 \n0.25 0.21875 0.5 \n0.21875 0.25 0.5 \n-0.03125 -0.21875 0.5 \n-0.03125 -0.25 0.5 \n-0.09375 -0.15625 0.5 \n-0.09375 -0.25 0.5 \n-0.15625 -0.09375 0.5 \n-0.21875 -0.03125 0.5 \n-0.25 -0.03125 0.5 \n-0.25 -0.09375 0.5 \n-0.15625 -0.25 0.5 \n-0.25 -0.15625 0.5 \n-0.25 -0.21875 0.5 \n-0.21875 -0.25 0.5 \n0.5 0.03125 0.21875 \n0.5 0.03125 0.25 \n0.5 0.09375 0.15625 \n0.5 0.09375 0.25 \n0.5 0.15625 0.09375 \n0.5 0.21875 0.03125 \n0.5 0.25 0.03125 \n0.5 0.25 0.09375 \n0.5 0.15625 0.25 \n0.5 0.25 0.15625 \n0.5 0.25 0.21875 \n0.5 0.21875 0.25 \n0.5 -0.03125 -0.21875 \n0.5 -0.03125 -0.25 \n0.5 -0.09375 -0.15625 \n0.5 -0.09375 -0.25 \n0.5 -0.15625 -0.09375 \n0.5 -0.21875 -0.03125 \n0.5 -0.25 -0.03125 \n0.5 -0.25 -0.09375 \n0.5 -0.15625 -0.25 \n0.5 -0.25 -0.15625 \n0.5 -0.25 -0.21875 \n0.5 -0.21875 -0.25 \n0.21875 0.5 0.03125 \n0.25 0.5 0.03125 \n0.15625 0.5 0.09375 \n0.25 0.5 0.09375 \n0.09375 0.5 0.15625 \n0.03125 0.5 0.21875 \n0.03125 0.5 0.25 \n0.09375 0.5 0.25 \n0.25 0.5 0.15625 \n0.15625 0.5 0.25 \n0.21875 0.5 0.25 \n0.25 0.5 0.21875 \n-0.21875 0.5 -0.03125 \n-0.25 0.5 -0.03125 \n-0.15625 0.5 -0.09375 \n-0.25 0.5 -0.09375 \n-0.09375 0.5 -0.15625 \n-0.03125 0.5 -0.21875 \n-0.03125 0.5 -0.25 \n-0.09375 0.5 -0.25 \n-0.25 0.5 -0.15625 \n-0.15625 0.5 -0.25 \n-0.21875 0.5 -0.25 \n-0.25 0.5 -0.21875 \n-0.21875 -0.03125 -0.5 \n-0.25 -0.03125 -0.5 \n-0.15625 -0.09375 -0.5 \n-0.25 -0.09375 -0.5 \n-0.09375 -0.15625 -0.5 \n-0.03125 -0.21875 -0.5 \n-0.03125 -0.25 -0.5 \n-0.09375 -0.25 -0.5 \n-0.25 -0.15625 -0.5 \n-0.15625 -0.25 -0.5 \n-0.21875 -0.25 -0.5 \n-0.25 -0.21875 -0.5 \n0.21875 0.03125 -0.5 \n0.25 0.03125 -0.5 \n0.15625 0.09375 -0.5 \n0.25 0.09375 -0.5 \n0.09375 0.15625 -0.5 \n0.03125 0.21875 -0.5 \n0.03125 0.25 -0.5 \n0.09375 0.25 -0.5 \n0.25 0.15625 -0.5 \n0.15625 0.25 -0.5 \n0.21875 0.25 -0.5 \n0.25 0.21875 -0.5 \n-0.03125 -0.5 -0.21875 \n-0.03125 -0.5 -0.25 \n-0.09375 -0.5 -0.15625 \n-0.09375 -0.5 -0.25 \n-0.15625 -0.5 -0.09375 \n-0.21875 -0.5 -0.03125 \n-0.25 -0.5 -0.03125 \n-0.25 -0.5 -0.09375 \n-0.15625 -0.5 -0.25 \n-0.25 -0.5 -0.15625 \n-0.25 -0.5 -0.21875 \n-0.21875 -0.5 -0.25 \n0.03125 -0.5 0.21875 \n0.03125 -0.5 0.25 \n0.09375 -0.5 0.15625 \n0.09375 -0.5 0.25 \n0.15625 -0.5 0.09375 \n0.21875 -0.5 0.03125 \n0.25 -0.5 0.03125 \n0.25 -0.5 0.09375 \n0.15625 -0.5 0.25 \n0.25 -0.5 0.15625 \n0.25 -0.5 0.21875 \n0.21875 -0.5 0.25 \n-0.5 -0.21875 -0.03125 \n-0.5 -0.25 -0.03125 \n-0.5 -0.15625 -0.09375 \n-0.5 -0.25 -0.09375 \n-0.5 -0.09375 -0.15625 \n-0.5 -0.03125 -0.21875 \n-0.5 -0.03125 -0.25 \n-0.5 -0.09375 -0.25 \n-0.5 -0.25 -0.15625 \n-0.5 -0.15625 -0.25 \n-0.5 -0.21875 -0.25 \n-0.5 -0.25 -0.21875 \n-0.5 0.21875 0.03125 \n-0.5 0.25 0.03125 \n-0.5 0.15625 0.09375 \n-0.5 0.25 0.09375 \n-0.5 0.09375 0.15625 \n-0.5 0.03125 0.21875 \n-0.5 0.03125 0.25 \n-0.5 0.09375 0.25 \n-0.5 0.25 0.15625 \n-0.5 0.15625 0.25 \n-0.5 0.21875 0.25 \n-0.5 0.25 0.21875 \n0.25 0.46875 0.5 \n0.28125 0.46875 0.5 \n0.25 0.40625 0.5 \n0.34375 0.40625 0.5 \n0.25 0.34375 0.5 \n0.25 0.28125 0.5 \n0.28125 0.25 0.5 \n0.34375 0.25 0.5 \n0.40625 0.34375 0.5 \n0.40625 0.25 0.5 \n0.46875 0.25 0.5 \n0.46875 0.28125 0.5 \n-0.25 0.46875 0.5 \n-0.21875 0.46875 0.5 \n-0.25 0.40625 0.5 \n-0.15625 0.40625 0.5 \n-0.25 0.34375 0.5 \n-0.25 0.28125 0.5 \n-0.21875 0.25 0.5 \n-0.15625 0.25 0.5 \n-0.09375 0.34375 0.5 \n-0.09375 0.25 0.5 \n-0.03125 0.25 0.5 \n-0.03125 0.28125 0.5 \n0.25 -0.03125 0.5 \n0.28125 -0.03125 0.5 \n0.25 -0.09375 0.5 \n0.34375 -0.09375 0.5 \n0.25 -0.15625 0.5 \n0.25 -0.21875 0.5 \n0.28125 -0.25 0.5 \n0.34375 -0.25 0.5 \n0.40625 -0.15625 0.5 \n0.40625 -0.25 0.5 \n0.46875 -0.25 0.5 \n0.46875 -0.21875 0.5 \n-0.25 -0.46875 0.5 \n-0.28125 -0.46875 0.5 \n-0.25 -0.40625 0.5 \n-0.34375 -0.40625 0.5 \n-0.25 -0.34375 0.5 \n-0.25 -0.28125 0.5 \n-0.28125 -0.25 0.5 \n-0.34375 -0.25 0.5 \n-0.40625 -0.34375 0.5 \n-0.40625 -0.25 0.5 \n-0.46875 -0.25 0.5 \n-0.46875 -0.28125 0.5 \n0.25 -0.46875 0.5 \n0.21875 -0.46875 0.5 \n0.25 -0.40625 0.5 \n0.15625 -0.40625 0.5 \n0.25 -0.34375 0.5 \n0.25 -0.28125 0.5 \n0.21875 -0.25 0.5 \n0.15625 -0.25 0.5 \n0.09375 -0.34375 0.5 \n0.09375 -0.25 0.5 \n0.03125 -0.25 0.5 \n0.03125 -0.28125 0.5 \n-0.25 0.03125 0.5 \n-0.28125 0.03125 0.5 \n-0.25 0.09375 0.5 \n-0.34375 0.09375 0.5 \n-0.25 0.15625 0.5 \n-0.25 0.21875 0.5 \n-0.28125 0.25 0.5 \n-0.34375 0.25 0.5 \n-0.40625 0.15625 0.5 \n-0.40625 0.25 0.5 \n-0.46875 0.25 0.5 \n-0.46875 0.21875 0.5 \n0.5 0.25 0.46875 \n0.5 0.28125 0.46875 \n0.5 0.25 0.40625 \n0.5 0.34375 0.40625 \n0.5 0.25 0.34375 \n0.5 0.25 0.28125 \n0.5 0.28125 0.25 \n0.5 0.34375 0.25 \n0.5 0.40625 0.34375 \n0.5 0.40625 0.25 \n0.5 0.46875 0.25 \n0.5 0.46875 0.28125 \n0.5 -0.25 0.46875 \n0.5 -0.21875 0.46875 \n0.5 -0.25 0.40625 \n0.5 -0.15625 0.40625 \n0.5 -0.25 0.34375 \n0.5 -0.25 0.28125 \n0.5 -0.21875 0.25 \n0.5 -0.15625 0.25 \n0.5 -0.09375 0.34375 \n0.5 -0.09375 0.25 \n0.5 -0.03125 0.25 \n0.5 -0.03125 0.28125 \n0.5 0.25 -0.03125 \n0.5 0.28125 -0.03125 \n0.5 0.25 -0.09375 \n0.5 0.34375 -0.09375 \n0.5 0.25 -0.15625 \n0.5 0.25 -0.21875 \n0.5 0.28125 -0.25 \n0.5 0.34375 -0.25 \n0.5 0.40625 -0.15625 \n0.5 0.40625 -0.25 \n0.5 0.46875 -0.25 \n0.5 0.46875 -0.21875 \n0.5 -0.25 -0.46875 \n0.5 -0.28125 -0.46875 \n0.5 -0.25 -0.40625 \n0.5 -0.34375 -0.40625 \n0.5 -0.25 -0.34375 \n0.5 -0.25 -0.28125 \n0.5 -0.28125 -0.25 \n0.5 -0.34375 -0.25 \n0.5 -0.40625 -0.34375 \n0.5 -0.40625 -0.25 \n0.5 -0.46875 -0.25 \n0.5 -0.46875 -0.28125 \n0.5 0.25 -0.46875 \n0.5 0.21875 -0.46875 \n0.5 0.25 -0.40625 \n0.5 0.15625 -0.40625 \n0.5 0.25 -0.34375 \n0.5 0.25 -0.28125 \n0.5 0.21875 -0.25 \n0.5 0.15625 -0.25 \n0.5 0.09375 -0.34375 \n0.5 0.09375 -0.25 \n0.5 0.03125 -0.25 \n0.5 0.03125 -0.28125 \n0.5 -0.25 0.03125 \n0.5 -0.28125 0.03125 \n0.5 -0.25 0.09375 \n0.5 -0.34375 0.09375 \n0.5 -0.25 0.15625 \n0.5 -0.25 0.21875 \n0.5 -0.28125 0.25 \n0.5 -0.34375 0.25 \n0.5 -0.40625 0.15625 \n0.5 -0.40625 0.25 \n0.5 -0.46875 0.25 \n0.5 -0.46875 0.21875 \n0.46875 0.5 0.25 \n0.46875 0.5 0.28125 \n0.40625 0.5 0.25 \n0.40625 0.5 0.34375 \n0.34375 0.5 0.25 \n0.28125 0.5 0.25 \n0.25 0.5 0.28125 \n0.25 0.5 0.34375 \n0.34375 0.5 0.40625 \n0.25 0.5 0.40625 \n0.25 0.5 0.46875 \n0.28125 0.5 0.46875 \n0.46875 0.5 -0.25 \n0.46875 0.5 -0.21875 \n0.40625 0.5 -0.25 \n0.40625 0.5 -0.15625 \n0.34375 0.5 -0.25 \n0.28125 0.5 -0.25 \n0.25 0.5 -0.21875 \n0.25 0.5 -0.15625 \n0.34375 0.5 -0.09375 \n0.25 0.5 -0.09375 \n0.25 0.5 -0.03125 \n0.28125 0.5 -0.03125 \n-0.03125 0.5 0.25 \n-0.03125 0.5 0.28125 \n-0.09375 0.5 0.25 \n-0.09375 0.5 0.34375 \n-0.15625 0.5 0.25 \n-0.21875 0.5 0.25 \n-0.25 0.5 0.28125 \n-0.25 0.5 0.34375 \n-0.15625 0.5 0.40625 \n-0.25 0.5 0.40625 \n-0.25 0.5 0.46875 \n-0.21875 0.5 0.46875 \n-0.46875 0.5 -0.25 \n-0.46875 0.5 -0.28125 \n-0.40625 0.5 -0.25 \n-0.40625 0.5 -0.34375 \n-0.34375 0.5 -0.25 \n-0.28125 0.5 -0.25 \n-0.25 0.5 -0.28125 \n-0.25 0.5 -0.34375 \n-0.34375 0.5 -0.40625 \n-0.25 0.5 -0.40625 \n-0.25 0.5 -0.46875 \n-0.28125 0.5 -0.46875 \n-0.46875 0.5 0.25 \n-0.46875 0.5 0.21875 \n-0.40625 0.5 0.25 \n-0.40625 0.5 0.15625 \n-0.34375 0.5 0.25 \n-0.28125 0.5 0.25 \n-0.25 0.5 0.21875 \n-0.25 0.5 0.15625 \n-0.34375 0.5 0.09375 \n-0.25 0.5 0.09375 \n-0.25 0.5 0.03125 \n-0.28125 0.5 0.03125 \n0.03125 0.5 -0.25 \n0.03125 0.5 -0.28125 \n0.09375 0.5 -0.25 \n0.09375 0.5 -0.34375 \n0.15625 0.5 -0.25 \n0.21875 0.5 -0.25 \n0.25 0.5 -0.28125 \n0.25 0.5 -0.34375 \n0.15625 0.5 -0.40625 \n0.25 0.5 -0.40625 \n0.25 0.5 -0.46875 \n0.21875 0.5 -0.46875 \n-0.46875 -0.25 -0.5 \n-0.46875 -0.28125 -0.5 \n-0.40625 -0.25 -0.5 \n-0.40625 -0.34375 -0.5 \n-0.34375 -0.25 -0.5 \n-0.28125 -0.25 -0.5 \n-0.25 -0.28125 -0.5 \n-0.25 -0.34375 -0.5 \n-0.34375 -0.40625 -0.5 \n-0.25 -0.40625 -0.5 \n-0.25 -0.46875 -0.5 \n-0.28125 -0.46875 -0.5 \n-0.46875 0.25 -0.5 \n-0.46875 0.21875 -0.5 \n-0.40625 0.25 -0.5 \n-0.40625 0.15625 -0.5 \n-0.34375 0.25 -0.5 \n-0.28125 0.25 -0.5 \n-0.25 0.21875 -0.5 \n-0.25 0.15625 -0.5 \n-0.34375 0.09375 -0.5 \n-0.25 0.09375 -0.5 \n-0.25 0.03125 -0.5 \n-0.28125 0.03125 -0.5 \n0.03125 -0.25 -0.5 \n0.03125 -0.28125 -0.5 \n0.09375 -0.25 -0.5 \n0.09375 -0.34375 -0.5 \n0.15625 -0.25 -0.5 \n0.21875 -0.25 -0.5 \n0.25 -0.28125 -0.5 \n0.25 -0.34375 -0.5 \n0.15625 -0.40625 -0.5 \n0.25 -0.40625 -0.5 \n0.25 -0.46875 -0.5 \n0.21875 -0.46875 -0.5 \n0.46875 0.25 -0.5 \n0.46875 0.28125 -0.5 \n0.40625 0.25 -0.5 \n0.40625 0.34375 -0.5 \n0.34375 0.25 -0.5 \n0.28125 0.25 -0.5 \n0.25 0.28125 -0.5 \n0.25 0.34375 -0.5 \n0.34375 0.40625 -0.5 \n0.25 0.40625 -0.5 \n0.25 0.46875 -0.5 \n0.28125 0.46875 -0.5 \n0.46875 -0.25 -0.5 \n0.46875 -0.21875 -0.5 \n0.40625 -0.25 -0.5 \n0.40625 -0.15625 -0.5 \n0.34375 -0.25 -0.5 \n0.28125 -0.25 -0.5 \n0.25 -0.21875 -0.5 \n0.25 -0.15625 -0.5 \n0.34375 -0.09375 -0.5 \n0.25 -0.09375 -0.5 \n0.25 -0.03125 -0.5 \n0.28125 -0.03125 -0.5 \n-0.03125 0.25 -0.5 \n-0.03125 0.28125 -0.5 \n-0.09375 0.25 -0.5 \n-0.09375 0.34375 -0.5 \n-0.15625 0.25 -0.5 \n-0.21875 0.25 -0.5 \n-0.25 0.28125 -0.5 \n-0.25 0.34375 -0.5 \n-0.15625 0.40625 -0.5 \n-0.25 0.40625 -0.5 \n-0.25 0.46875 -0.5 \n-0.21875 0.46875 -0.5 \n-0.25 -0.5 -0.46875 \n-0.28125 -0.5 -0.46875 \n-0.25 -0.5 -0.40625 \n-0.34375 -0.5 -0.40625 \n-0.25 -0.5 -0.34375 \n-0.25 -0.5 -0.28125 \n-0.28125 -0.5 -0.25 \n-0.34375 -0.5 -0.25 \n-0.40625 -0.5 -0.34375 \n-0.40625 -0.5 -0.25 \n-0.46875 -0.5 -0.25 \n-0.46875 -0.5 -0.28125 \n0.25 -0.5 -0.46875 \n0.21875 -0.5 -0.46875 \n0.25 -0.5 -0.40625 \n0.15625 -0.5 -0.40625 \n0.25 -0.5 -0.34375 \n0.25 -0.5 -0.28125 \n0.21875 -0.5 -0.25 \n0.15625 -0.5 -0.25 \n0.09375 -0.5 -0.34375 \n0.09375 -0.5 -0.25 \n0.03125 -0.5 -0.25 \n0.03125 -0.5 -0.28125 \n-0.25 -0.5 0.03125 \n-0.28125 -0.5 0.03125 \n-0.25 -0.5 0.09375 \n-0.34375 -0.5 0.09375 \n-0.25 -0.5 0.15625 \n-0.25 -0.5 0.21875 \n-0.28125 -0.5 0.25 \n-0.34375 -0.5 0.25 \n-0.40625 -0.5 0.15625 \n-0.40625 -0.5 0.25 \n-0.46875 -0.5 0.25 \n-0.46875 -0.5 0.21875 \n0.25 -0.5 0.46875 \n0.28125 -0.5 0.46875 \n0.25 -0.5 0.40625 \n0.34375 -0.5 0.40625 \n0.25 -0.5 0.34375 \n0.25 -0.5 0.28125 \n0.28125 -0.5 0.25 \n0.34375 -0.5 0.25 \n0.40625 -0.5 0.34375 \n0.40625 -0.5 0.25 \n0.46875 -0.5 0.25 \n0.46875 -0.5 0.28125 \n-0.25 -0.5 0.46875 \n-0.21875 -0.5 0.46875 \n-0.25 -0.5 0.40625 \n-0.15625 -0.5 0.40625 \n-0.25 -0.5 0.34375 \n-0.25 -0.5 0.28125 \n-0.21875 -0.5 0.25 \n-0.15625 -0.5 0.25 \n-0.09375 -0.5 0.34375 \n-0.09375 -0.5 0.25 \n-0.03125 -0.5 0.25 \n-0.03125 -0.5 0.28125 \n0.25 -0.5 -0.03125 \n0.28125 -0.5 -0.03125 \n0.25 -0.5 -0.09375 \n0.34375 -0.5 -0.09375 \n0.25 -0.5 -0.15625 \n0.25 -0.5 -0.21875 \n0.28125 -0.5 -0.25 \n0.34375 -0.5 -0.25 \n0.40625 -0.5 -0.15625 \n0.40625 -0.5 -0.25 \n0.46875 -0.5 -0.25 \n0.46875 -0.5 -0.21875 \n-0.5 -0.46875 -0.25 \n-0.5 -0.46875 -0.28125 \n-0.5 -0.40625 -0.25 \n-0.5 -0.40625 -0.34375 \n-0.5 -0.34375 -0.25 \n-0.5 -0.28125 -0.25 \n-0.5 -0.25 -0.28125 \n-0.5 -0.25 -0.34375 \n-0.5 -0.34375 -0.40625 \n-0.5 -0.25 -0.40625 \n-0.5 -0.25 -0.46875 \n-0.5 -0.28125 -0.46875 \n-0.5 -0.46875 0.25 \n-0.5 -0.46875 0.21875 \n-0.5 -0.40625 0.25 \n-0.5 -0.40625 0.15625 \n-0.5 -0.34375 0.25 \n-0.5 -0.28125 0.25 \n-0.5 -0.25 0.21875 \n-0.5 -0.25 0.15625 \n-0.5 -0.34375 0.09375 \n-0.5 -0.25 0.09375 \n-0.5 -0.25 0.03125 \n-0.5 -0.28125 0.03125 \n-0.5 0.03125 -0.25 \n-0.5 0.03125 -0.28125 \n-0.5 0.09375 -0.25 \n-0.5 0.09375 -0.34375 \n-0.5 0.15625 -0.25 \n-0.5 0.21875 -0.25 \n-0.5 0.25 -0.28125 \n-0.5 0.25 -0.34375 \n-0.5 0.15625 -0.40625 \n-0.5 0.25 -0.40625 \n-0.5 0.25 -0.46875 \n-0.5 0.21875 -0.46875 \n-0.5 0.46875 0.25 \n-0.5 0.46875 0.28125 \n-0.5 0.40625 0.25 \n-0.5 0.40625 0.34375 \n-0.5 0.34375 0.25 \n-0.5 0.28125 0.25 \n-0.5 0.25 0.28125 \n-0.5 0.25 0.34375 \n-0.5 0.34375 0.40625 \n-0.5 0.25 0.40625 \n-0.5 0.25 0.46875 \n-0.5 0.28125 0.46875 \n-0.5 0.46875 -0.25 \n-0.5 0.46875 -0.21875 \n-0.5 0.40625 -0.25 \n-0.5 0.40625 -0.15625 \n-0.5 0.34375 -0.25 \n-0.5 0.28125 -0.25 \n-0.5 0.25 -0.21875 \n-0.5 0.25 -0.15625 \n-0.5 0.34375 -0.09375 \n-0.5 0.25 -0.09375 \n-0.5 0.25 -0.03125 \n-0.5 0.28125 -0.03125 \n-0.5 -0.03125 0.25 \n-0.5 -0.03125 0.28125 \n-0.5 -0.09375 0.25 \n-0.5 -0.09375 0.34375 \n-0.5 -0.15625 0.25 \n-0.5 -0.21875 0.25 \n-0.5 -0.25 0.28125 \n-0.5 -0.25 0.34375 \n-0.5 -0.15625 0.40625 \n-0.5 -0.25 0.40625 \n-0.5 -0.25 0.46875 \n-0.5 -0.21875 0.46875 \n0 0.46875 0.5 \n0.03125 0.46875 0.5 \n0 0.40625 0.5 \n0.09375 0.40625 0.5 \n0 0.34375 0.5 \n0 0.28125 0.5 \n0.15625 0.34375 0.5 \n0.21875 0.28125 0.5 \n0 0.21875 0.5 \n0 0.15625 0.5 \n0 0.09375 0.5 \n0 0.03125 0.5 \n0.03125 0 0.5 \n0.09375 0 0.5 \n0.15625 0 0.5 \n0.21875 0 0.5 \n0.28125 0.21875 0.5 \n0.34375 0.15625 0.5 \n0.28125 0 0.5 \n0.34375 0 0.5 \n0.40625 0.09375 0.5 \n0.40625 0 0.5 \n0.46875 0 0.5 \n0.46875 0.03125 0.5 \n0 -0.46875 0.5 \n-0.03125 -0.46875 0.5 \n0 -0.40625 0.5 \n-0.09375 -0.40625 0.5 \n0 -0.34375 0.5 \n0 -0.28125 0.5 \n-0.15625 -0.34375 0.5 \n-0.21875 -0.28125 0.5 \n0 -0.21875 0.5 \n0 -0.15625 0.5 \n0 -0.09375 0.5 \n0 -0.03125 0.5 \n-0.03125 0 0.5 \n-0.09375 0 0.5 \n-0.15625 0 0.5 \n-0.21875 0 0.5 \n-0.28125 -0.21875 0.5 \n-0.34375 -0.15625 0.5 \n-0.28125 0 0.5 \n-0.34375 0 0.5 \n-0.40625 -0.09375 0.5 \n-0.40625 0 0.5 \n-0.46875 0 0.5 \n-0.46875 -0.03125 0.5 \n0.5 0 0.46875 \n0.5 0.03125 0.46875 \n0.5 0 0.40625 \n0.5 0.09375 0.40625 \n0.5 0 0.34375 \n0.5 0 0.28125 \n0.5 0.15625 0.34375 \n0.5 0.21875 0.28125 \n0.5 0 0.21875 \n0.5 0 0.15625 \n0.5 0 0.09375 \n0.5 0 0.03125 \n0.5 0.03125 0 \n0.5 0.09375 0 \n0.5 0.15625 0 \n0.5 0.21875 0 \n0.5 0.28125 0.21875 \n0.5 0.34375 0.15625 \n0.5 0.28125 0 \n0.5 0.34375 0 \n0.5 0.40625 0.09375 \n0.5 0.40625 0 \n0.5 0.46875 0 \n0.5 0.46875 0.03125 \n0.5 0 -0.46875 \n0.5 -0.03125 -0.46875 \n0.5 0 -0.40625 \n0.5 -0.09375 -0.40625 \n0.5 0 -0.34375 \n0.5 0 -0.28125 \n0.5 -0.15625 -0.34375 \n0.5 -0.21875 -0.28125 \n0.5 0 -0.21875 \n0.5 0 -0.15625 \n0.5 0 -0.09375 \n0.5 0 -0.03125 \n0.5 -0.03125 0 \n0.5 -0.09375 0 \n0.5 -0.15625 0 \n0.5 -0.21875 0 \n0.5 -0.28125 -0.21875 \n0.5 -0.34375 -0.15625 \n0.5 -0.28125 0 \n0.5 -0.34375 0 \n0.5 -0.40625 -0.09375 \n0.5 -0.40625 0 \n0.5 -0.46875 0 \n0.5 -0.46875 -0.03125 \n0.46875 0.5 0 \n0.46875 0.5 0.03125 \n0.40625 0.5 0 \n0.40625 0.5 0.09375 \n0.34375 0.5 0 \n0.28125 0.5 0 \n0.34375 0.5 0.15625 \n0.28125 0.5 0.21875 \n0.21875 0.5 0 \n0.15625 0.5 0 \n0.09375 0.5 0 \n0.03125 0.5 0 \n0 0.5 0.03125 \n0 0.5 0.09375 \n0 0.5 0.15625 \n0 0.5 0.21875 \n0.21875 0.5 0.28125 \n0.15625 0.5 0.34375 \n0 0.5 0.28125 \n0 0.5 0.34375 \n0.09375 0.5 0.40625 \n0 0.5 0.40625 \n0 0.5 0.46875 \n0.03125 0.5 0.46875 \n-0.46875 0.5 0 \n-0.46875 0.5 -0.03125 \n-0.40625 0.5 0 \n-0.40625 0.5 -0.09375 \n-0.34375 0.5 0 \n-0.28125 0.5 0 \n-0.34375 0.5 -0.15625 \n-0.28125 0.5 -0.21875 \n-0.21875 0.5 0 \n-0.15625 0.5 0 \n-0.09375 0.5 0 \n-0.03125 0.5 0 \n0 0.5 -0.03125 \n0 0.5 -0.09375 \n0 0.5 -0.15625 \n0 0.5 -0.21875 \n-0.21875 0.5 -0.28125 \n-0.15625 0.5 -0.34375 \n0 0.5 -0.28125 \n0 0.5 -0.34375 \n-0.09375 0.5 -0.40625 \n0 0.5 -0.40625 \n0 0.5 -0.46875 \n-0.03125 0.5 -0.46875 \n-0.46875 0 -0.5 \n-0.46875 -0.03125 -0.5 \n-0.40625 0 -0.5 \n-0.40625 -0.09375 -0.5 \n-0.34375 0 -0.5 \n-0.28125 0 -0.5 \n-0.34375 -0.15625 -0.5 \n-0.28125 -0.21875 -0.5 \n-0.21875 0 -0.5 \n-0.15625 0 -0.5 \n-0.09375 0 -0.5 \n-0.03125 0 -0.5 \n0 -0.03125 -0.5 \n0 -0.09375 -0.5 \n0 -0.15625 -0.5 \n0 -0.21875 -0.5 \n-0.21875 -0.28125 -0.5 \n-0.15625 -0.34375 -0.5 \n0 -0.28125 -0.5 \n0 -0.34375 -0.5 \n-0.09375 -0.40625 -0.5 \n0 -0.40625 -0.5 \n0 -0.46875 -0.5 \n-0.03125 -0.46875 -0.5 \n0.46875 0 -0.5 \n0.46875 0.03125 -0.5 \n0.40625 0 -0.5 \n0.40625 0.09375 -0.5 \n0.34375 0 -0.5 \n0.28125 0 -0.5 \n0.34375 0.15625 -0.5 \n0.28125 0.21875 -0.5 \n0.21875 0 -0.5 \n0.15625 0 -0.5 \n0.09375 0 -0.5 \n0.03125 0 -0.5 \n0 0.03125 -0.5 \n0 0.09375 -0.5 \n0 0.15625 -0.5 \n0 0.21875 -0.5 \n0.21875 0.28125 -0.5 \n0.15625 0.34375 -0.5 \n0 0.28125 -0.5 \n0 0.34375 -0.5 \n0.09375 0.40625 -0.5 \n0 0.40625 -0.5 \n0 0.46875 -0.5 \n0.03125 0.46875 -0.5 \n0 -0.5 -0.46875 \n-0.03125 -0.5 -0.46875 \n0 -0.5 -0.40625 \n-0.09375 -0.5 -0.40625 \n0 -0.5 -0.34375 \n0 -0.5 -0.28125 \n-0.15625 -0.5 -0.34375 \n-0.21875 -0.5 -0.28125 \n0 -0.5 -0.21875 \n0 -0.5 -0.15625 \n0 -0.5 -0.09375 \n0 -0.5 -0.03125 \n-0.03125 -0.5 0 \n-0.09375 -0.5 0 \n-0.15625 -0.5 0 \n-0.21875 -0.5 0 \n-0.28125 -0.5 -0.21875 \n-0.34375 -0.5 -0.15625 \n-0.28125 -0.5 0 \n-0.34375 -0.5 0 \n-0.40625 -0.5 -0.09375 \n-0.40625 -0.5 0 \n-0.46875 -0.5 0 \n-0.46875 -0.5 -0.03125 \n0 -0.5 0.46875 \n0.03125 -0.5 0.46875 \n0 -0.5 0.40625 \n0.09375 -0.5 0.40625 \n0 -0.5 0.34375 \n0 -0.5 0.28125 \n0.15625 -0.5 0.34375 \n0.21875 -0.5 0.28125 \n0 -0.5 0.21875 \n0 -0.5 0.15625 \n0 -0.5 0.09375 \n0 -0.5 0.03125 \n0.03125 -0.5 0 \n0.09375 -0.5 0 \n0.15625 -0.5 0 \n0.21875 -0.5 0 \n0.28125 -0.5 0.21875 \n0.34375 -0.5 0.15625 \n0.28125 -0.5 0 \n0.34375 -0.5 0 \n0.40625 -0.5 0.09375 \n0.40625 -0.5 0 \n0.46875 -0.5 0 \n0.46875 -0.5 0.03125 \n-0.5 -0.46875 0 \n-0.5 -0.46875 -0.03125 \n-0.5 -0.40625 0 \n-0.5 -0.40625 -0.09375 \n-0.5 -0.34375 0 \n-0.5 -0.28125 0 \n-0.5 -0.34375 -0.15625 \n-0.5 -0.28125 -0.21875 \n-0.5 -0.21875 0 \n-0.5 -0.15625 0 \n-0.5 -0.09375 0 \n-0.5 -0.03125 0 \n-0.5 0 -0.03125 \n-0.5 0 -0.09375 \n-0.5 0 -0.15625 \n-0.5 0 -0.21875 \n-0.5 -0.21875 -0.28125 \n-0.5 -0.15625 -0.34375 \n-0.5 0 -0.28125 \n-0.5 0 -0.34375 \n-0.5 -0.09375 -0.40625 \n-0.5 0 -0.40625 \n-0.5 0 -0.46875 \n-0.5 -0.03125 -0.46875 \n-0.5 0.46875 0 \n-0.5 0.46875 0.03125 \n-0.5 0.40625 0 \n-0.5 0.40625 0.09375 \n-0.5 0.34375 0 \n-0.5 0.28125 0 \n-0.5 0.34375 0.15625 \n-0.5 0.28125 0.21875 \n-0.5 0.21875 0 \n-0.5 0.15625 0 \n-0.5 0.09375 0 \n-0.5 0.03125 0 \n-0.5 0 0.03125 \n-0.5 0 0.09375 \n-0.5 0 0.15625 \n-0.5 0 0.21875 \n-0.5 0.21875 0.28125 \n-0.5 0.15625 0.34375 \n-0.5 0 0.28125 \n-0.5 0 0.34375 \n-0.5 0.09375 0.40625 \n-0.5 0 0.40625 \n-0.5 0 0.46875 \n-0.5 0.03125 0.46875 \n0.46875 0.5 0.5 \n0.5 0.46875 0.5 \n0.40625 0.5 0.5 \n0.5 0.40625 0.5 \n0.34375 0.5 0.5 \n0.28125 0.5 0.5 \n0.5 0.34375 0.5 \n0.5 0.28125 0.5 \n0.21875 0.5 0.5 \n0.15625 0.5 0.5 \n0.09375 0.5 0.5 \n0.03125 0.5 0.5 \n0.5 0.21875 0.5 \n0.5 0.15625 0.5 \n0.5 0.09375 0.5 \n0.5 0.03125 0.5 \n-0.03125 0.5 0.5 \n-0.09375 0.5 0.5 \n-0.15625 0.5 0.5 \n-0.21875 0.5 0.5 \n-0.28125 0.5 0.5 \n-0.34375 0.5 0.5 \n-0.40625 0.5 0.5 \n-0.46875 0.5 0.5 \n-0.46875 0.46875 0.5 \n-0.40625 0.40625 0.5 \n-0.34375 0.34375 0.5 \n-0.28125 0.28125 0.5 \n-0.21875 0.21875 0.5 \n-0.15625 0.15625 0.5 \n-0.09375 0.09375 0.5 \n-0.03125 0.03125 0.5 \n0.5 -0.03125 0.5 \n0.5 -0.09375 0.5 \n0.5 -0.15625 0.5 \n0.5 -0.21875 0.5 \n0.03125 -0.03125 0.5 \n0.09375 -0.09375 0.5 \n0.15625 -0.15625 0.5 \n0.21875 -0.21875 0.5 \n0.5 -0.28125 0.5 \n0.5 -0.34375 0.5 \n0.28125 -0.28125 0.5 \n0.34375 -0.34375 0.5 \n0.5 -0.40625 0.5 \n0.40625 -0.40625 0.5 \n0.46875 -0.46875 0.5 \n0.5 -0.46875 0.5 \n-0.46875 -0.5 0.5 \n-0.5 -0.46875 0.5 \n-0.40625 -0.5 0.5 \n-0.5 -0.40625 0.5 \n-0.34375 -0.5 0.5 \n-0.28125 -0.5 0.5 \n-0.5 -0.34375 0.5 \n-0.5 -0.28125 0.5 \n-0.21875 -0.5 0.5 \n-0.15625 -0.5 0.5 \n-0.09375 -0.5 0.5 \n-0.03125 -0.5 0.5 \n-0.5 -0.21875 0.5 \n-0.5 -0.15625 0.5 \n-0.5 -0.09375 0.5 \n-0.5 -0.03125 0.5 \n0.03125 -0.5 0.5 \n0.09375 -0.5 0.5 \n0.15625 -0.5 0.5 \n0.21875 -0.5 0.5 \n0.28125 -0.5 0.5 \n0.34375 -0.5 0.5 \n0.40625 -0.5 0.5 \n0.46875 -0.5 0.5 \n-0.5 0.03125 0.5 \n-0.5 0.09375 0.5 \n-0.5 0.15625 0.5 \n-0.5 0.21875 0.5 \n-0.5 0.28125 0.5 \n-0.5 0.34375 0.5 \n-0.5 0.40625 0.5 \n-0.5 0.46875 0.5 \n0.5 0.46875 0.5 \n0.5 0.5 0.46875 \n0.5 0.40625 0.5 \n0.5 0.5 0.40625 \n0.5 0.34375 0.5 \n0.5 0.28125 0.5 \n0.5 0.5 0.34375 \n0.5 0.5 0.28125 \n0.5 0.21875 0.5 \n0.5 0.15625 0.5 \n0.5 0.09375 0.5 \n0.5 0.03125 0.5 \n0.5 0.5 0.21875 \n0.5 0.5 0.15625 \n0.5 0.5 0.09375 \n0.5 0.5 0.03125 \n0.5 -0.03125 0.5 \n0.5 -0.09375 0.5 \n0.5 -0.15625 0.5 \n0.5 -0.21875 0.5 \n0.5 -0.28125 0.5 \n0.5 -0.34375 0.5 \n0.5 -0.40625 0.5 \n0.5 -0.46875 0.5 \n0.5 -0.46875 0.46875 \n0.5 -0.40625 0.40625 \n0.5 -0.34375 0.34375 \n0.5 -0.28125 0.28125 \n0.5 -0.21875 0.21875 \n0.5 -0.15625 0.15625 \n0.5 -0.09375 0.09375 \n0.5 -0.03125 0.03125 \n0.5 0.5 -0.03125 \n0.5 0.5 -0.09375 \n0.5 0.5 -0.15625 \n0.5 0.5 -0.21875 \n0.5 0.03125 -0.03125 \n0.5 0.09375 -0.09375 \n0.5 0.15625 -0.15625 \n0.5 0.21875 -0.21875 \n0.5 0.5 -0.28125 \n0.5 0.5 -0.34375 \n0.5 0.28125 -0.28125 \n0.5 0.34375 -0.34375 \n0.5 0.5 -0.40625 \n0.5 0.40625 -0.40625 \n0.5 0.46875 -0.46875 \n0.5 0.5 -0.46875 \n0.5 -0.46875 -0.5 \n0.5 -0.5 -0.46875 \n0.5 -0.40625 -0.5 \n0.5 -0.5 -0.40625 \n0.5 -0.34375 -0.5 \n0.5 -0.28125 -0.5 \n0.5 -0.5 -0.34375 \n0.5 -0.5 -0.28125 \n0.5 -0.21875 -0.5 \n0.5 -0.15625 -0.5 \n0.5 -0.09375 -0.5 \n0.5 -0.03125 -0.5 \n0.5 -0.5 -0.21875 \n0.5 -0.5 -0.15625 \n0.5 -0.5 -0.09375 \n0.5 -0.5 -0.03125 \n0.5 0.03125 -0.5 \n0.5 0.09375 -0.5 \n0.5 0.15625 -0.5 \n0.5 0.21875 -0.5 \n0.5 0.28125 -0.5 \n0.5 0.34375 -0.5 \n0.5 0.40625 -0.5 \n0.5 0.46875 -0.5 \n0.5 -0.5 0.03125 \n0.5 -0.5 0.09375 \n0.5 -0.5 0.15625 \n0.5 -0.5 0.21875 \n0.5 -0.5 0.28125 \n0.5 -0.5 0.34375 \n0.5 -0.5 0.40625 \n0.5 -0.5 0.46875 \n0.5 0.5 0.46875 \n0.46875 0.5 0.5 \n0.5 0.5 0.40625 \n0.40625 0.5 0.5 \n0.5 0.5 0.34375 \n0.5 0.5 0.28125 \n0.34375 0.5 0.5 \n0.28125 0.5 0.5 \n0.5 0.5 0.21875 \n0.5 0.5 0.15625 \n0.5 0.5 0.09375 \n0.5 0.5 0.03125 \n0.21875 0.5 0.5 \n0.15625 0.5 0.5 \n0.09375 0.5 0.5 \n0.03125 0.5 0.5 \n0.5 0.5 -0.03125 \n0.5 0.5 -0.09375 \n0.5 0.5 -0.15625 \n0.5 0.5 -0.21875 \n0.5 0.5 -0.28125 \n0.5 0.5 -0.34375 \n0.5 0.5 -0.40625 \n0.5 0.5 -0.46875 \n0.46875 0.5 -0.46875 \n0.40625 0.5 -0.40625 \n0.34375 0.5 -0.34375 \n0.28125 0.5 -0.28125 \n0.21875 0.5 -0.21875 \n0.15625 0.5 -0.15625 \n0.09375 0.5 -0.09375 \n0.03125 0.5 -0.03125 \n-0.03125 0.5 0.5 \n-0.09375 0.5 0.5 \n-0.15625 0.5 0.5 \n-0.21875 0.5 0.5 \n-0.03125 0.5 0.03125 \n-0.09375 0.5 0.09375 \n-0.15625 0.5 0.15625 \n-0.21875 0.5 0.21875 \n-0.28125 0.5 0.5 \n-0.34375 0.5 0.5 \n-0.28125 0.5 0.28125 \n-0.34375 0.5 0.34375 \n-0.40625 0.5 0.5 \n-0.40625 0.5 0.40625 \n-0.46875 0.5 0.46875 \n-0.46875 0.5 0.5 \n-0.5 0.5 -0.46875 \n-0.46875 0.5 -0.5 \n-0.5 0.5 -0.40625 \n-0.40625 0.5 -0.5 \n-0.5 0.5 -0.34375 \n-0.5 0.5 -0.28125 \n-0.34375 0.5 -0.5 \n-0.28125 0.5 -0.5 \n-0.5 0.5 -0.21875 \n-0.5 0.5 -0.15625 \n-0.5 0.5 -0.09375 \n-0.5 0.5 -0.03125 \n-0.21875 0.5 -0.5 \n-0.15625 0.5 -0.5 \n-0.09375 0.5 -0.5 \n-0.03125 0.5 -0.5 \n-0.5 0.5 0.03125 \n-0.5 0.5 0.09375 \n-0.5 0.5 0.15625 \n-0.5 0.5 0.21875 \n-0.5 0.5 0.28125 \n-0.5 0.5 0.34375 \n-0.5 0.5 0.40625 \n-0.5 0.5 0.46875 \n0.03125 0.5 -0.5 \n0.09375 0.5 -0.5 \n0.15625 0.5 -0.5 \n0.21875 0.5 -0.5 \n0.28125 0.5 -0.5 \n0.34375 0.5 -0.5 \n0.40625 0.5 -0.5 \n0.46875 0.5 -0.5 \n-0.5 -0.46875 -0.5 \n-0.46875 -0.5 -0.5 \n-0.5 -0.40625 -0.5 \n-0.40625 -0.5 -0.5 \n-0.5 -0.34375 -0.5 \n-0.5 -0.28125 -0.5 \n-0.34375 -0.5 -0.5 \n-0.28125 -0.5 -0.5 \n-0.5 -0.21875 -0.5 \n-0.5 -0.15625 -0.5 \n-0.5 -0.09375 -0.5 \n-0.5 -0.03125 -0.5 \n-0.21875 -0.5 -0.5 \n-0.15625 -0.5 -0.5 \n-0.09375 -0.5 -0.5 \n-0.03125 -0.5 -0.5 \n-0.5 0.03125 -0.5 \n-0.5 0.09375 -0.5 \n-0.5 0.15625 -0.5 \n-0.5 0.21875 -0.5 \n-0.5 0.28125 -0.5 \n-0.5 0.34375 -0.5 \n-0.5 0.40625 -0.5 \n-0.5 0.46875 -0.5 \n-0.46875 0.46875 -0.5 \n-0.40625 0.40625 -0.5 \n-0.34375 0.34375 -0.5 \n-0.28125 0.28125 -0.5 \n-0.21875 0.21875 -0.5 \n-0.15625 0.15625 -0.5 \n-0.09375 0.09375 -0.5 \n-0.03125 0.03125 -0.5 \n0.03125 -0.5 -0.5 \n0.09375 -0.5 -0.5 \n0.15625 -0.5 -0.5 \n0.21875 -0.5 -0.5 \n0.03125 -0.03125 -0.5 \n0.09375 -0.09375 -0.5 \n0.15625 -0.15625 -0.5 \n0.21875 -0.21875 -0.5 \n0.28125 -0.5 -0.5 \n0.34375 -0.5 -0.5 \n0.28125 -0.28125 -0.5 \n0.34375 -0.34375 -0.5 \n0.40625 -0.5 -0.5 \n0.40625 -0.40625 -0.5 \n0.46875 -0.46875 -0.5 \n0.46875 -0.5 -0.5 \n0.5 0.46875 -0.5 \n0.46875 0.5 -0.5 \n0.5 0.40625 -0.5 \n0.40625 0.5 -0.5 \n0.5 0.34375 -0.5 \n0.5 0.28125 -0.5 \n0.34375 0.5 -0.5 \n0.28125 0.5 -0.5 \n0.5 0.21875 -0.5 \n0.5 0.15625 -0.5 \n0.5 0.09375 -0.5 \n0.5 0.03125 -0.5 \n0.21875 0.5 -0.5 \n0.15625 0.5 -0.5 \n0.09375 0.5 -0.5 \n0.03125 0.5 -0.5 \n0.5 -0.03125 -0.5 \n0.5 -0.09375 -0.5 \n0.5 -0.15625 -0.5 \n0.5 -0.21875 -0.5 \n0.5 -0.28125 -0.5 \n0.5 -0.34375 -0.5 \n0.5 -0.40625 -0.5 \n0.5 -0.46875 -0.5 \n-0.03125 0.5 -0.5 \n-0.09375 0.5 -0.5 \n-0.15625 0.5 -0.5 \n-0.21875 0.5 -0.5 \n-0.28125 0.5 -0.5 \n-0.34375 0.5 -0.5 \n-0.40625 0.5 -0.5 \n-0.46875 0.5 -0.5 \n-0.46875 -0.5 -0.5 \n-0.5 -0.5 -0.46875 \n-0.40625 -0.5 -0.5 \n-0.5 -0.5 -0.40625 \n-0.34375 -0.5 -0.5 \n-0.28125 -0.5 -0.5 \n-0.5 -0.5 -0.34375 \n-0.5 -0.5 -0.28125 \n-0.21875 -0.5 -0.5 \n-0.15625 -0.5 -0.5 \n-0.09375 -0.5 -0.5 \n-0.03125 -0.5 -0.5 \n-0.5 -0.5 -0.21875 \n-0.5 -0.5 -0.15625 \n-0.5 -0.5 -0.09375 \n-0.5 -0.5 -0.03125 \n0.03125 -0.5 -0.5 \n0.09375 -0.5 -0.5 \n0.15625 -0.5 -0.5 \n0.21875 -0.5 -0.5 \n0.28125 -0.5 -0.5 \n0.34375 -0.5 -0.5 \n0.40625 -0.5 -0.5 \n0.46875 -0.5 -0.5 \n0.46875 -0.5 -0.46875 \n0.40625 -0.5 -0.40625 \n0.34375 -0.5 -0.34375 \n0.28125 -0.5 -0.28125 \n0.21875 -0.5 -0.21875 \n0.15625 -0.5 -0.15625 \n0.09375 -0.5 -0.09375 \n0.03125 -0.5 -0.03125 \n-0.5 -0.5 0.03125 \n-0.5 -0.5 0.09375 \n-0.5 -0.5 0.15625 \n-0.5 -0.5 0.21875 \n-0.03125 -0.5 0.03125 \n-0.09375 -0.5 0.09375 \n-0.15625 -0.5 0.15625 \n-0.21875 -0.5 0.21875 \n-0.5 -0.5 0.28125 \n-0.5 -0.5 0.34375 \n-0.28125 -0.5 0.28125 \n-0.34375 -0.5 0.34375 \n-0.5 -0.5 0.40625 \n-0.40625 -0.5 0.40625 \n-0.46875 -0.5 0.46875 \n-0.5 -0.5 0.46875 \n0.46875 -0.5 0.5 \n0.5 -0.5 0.46875 \n0.40625 -0.5 0.5 \n0.5 -0.5 0.40625 \n0.34375 -0.5 0.5 \n0.28125 -0.5 0.5 \n0.5 -0.5 0.34375 \n0.5 -0.5 0.28125 \n0.21875 -0.5 0.5 \n0.15625 -0.5 0.5 \n0.09375 -0.5 0.5 \n0.03125 -0.5 0.5 \n0.5 -0.5 0.21875 \n0.5 -0.5 0.15625 \n0.5 -0.5 0.09375 \n0.5 -0.5 0.03125 \n-0.03125 -0.5 0.5 \n-0.09375 -0.5 0.5 \n-0.15625 -0.5 0.5 \n-0.21875 -0.5 0.5 \n-0.28125 -0.5 0.5 \n-0.34375 -0.5 0.5 \n-0.40625 -0.5 0.5 \n-0.46875 -0.5 0.5 \n0.5 -0.5 -0.03125 \n0.5 -0.5 -0.09375 \n0.5 -0.5 -0.15625 \n0.5 -0.5 -0.21875 \n0.5 -0.5 -0.28125 \n0.5 -0.5 -0.34375 \n0.5 -0.5 -0.40625 \n0.5 -0.5 -0.46875 \n-0.5 -0.5 -0.46875 \n-0.5 -0.46875 -0.5 \n-0.5 -0.5 -0.40625 \n-0.5 -0.40625 -0.5 \n-0.5 -0.5 -0.34375 \n-0.5 -0.5 -0.28125 \n-0.5 -0.34375 -0.5 \n-0.5 -0.28125 -0.5 \n-0.5 -0.5 -0.21875 \n-0.5 -0.5 -0.15625 \n-0.5 -0.5 -0.09375 \n-0.5 -0.5 -0.03125 \n-0.5 -0.21875 -0.5 \n-0.5 -0.15625 -0.5 \n-0.5 -0.09375 -0.5 \n-0.5 -0.03125 -0.5 \n-0.5 -0.5 0.03125 \n-0.5 -0.5 0.09375 \n-0.5 -0.5 0.15625 \n-0.5 -0.5 0.21875 \n-0.5 -0.5 0.28125 \n-0.5 -0.5 0.34375 \n-0.5 -0.5 0.40625 \n-0.5 -0.5 0.46875 \n-0.5 -0.46875 0.46875 \n-0.5 -0.40625 0.40625 \n-0.5 -0.34375 0.34375 \n-0.5 -0.28125 0.28125 \n-0.5 -0.21875 0.21875 \n-0.5 -0.15625 0.15625 \n-0.5 -0.09375 0.09375 \n-0.5 -0.03125 0.03125 \n-0.5 0.03125 -0.5 \n-0.5 0.09375 -0.5 \n-0.5 0.15625 -0.5 \n-0.5 0.21875 -0.5 \n-0.5 0.03125 -0.03125 \n-0.5 0.09375 -0.09375 \n-0.5 0.15625 -0.15625 \n-0.5 0.21875 -0.21875 \n-0.5 0.28125 -0.5 \n-0.5 0.34375 -0.5 \n-0.5 0.28125 -0.28125 \n-0.5 0.34375 -0.34375 \n-0.5 0.40625 -0.5 \n-0.5 0.40625 -0.40625 \n-0.5 0.46875 -0.46875 \n-0.5 0.46875 -0.5 \n-0.5 0.5 0.46875 \n-0.5 0.46875 0.5 \n-0.5 0.5 0.40625 \n-0.5 0.40625 0.5 \n-0.5 0.5 0.34375 \n-0.5 0.5 0.28125 \n-0.5 0.34375 0.5 \n-0.5 0.28125 0.5 \n-0.5 0.5 0.21875 \n-0.5 0.5 0.15625 \n-0.5 0.5 0.09375 \n-0.5 0.5 0.03125 \n-0.5 0.21875 0.5 \n-0.5 0.15625 0.5 \n-0.5 0.09375 0.5 \n-0.5 0.03125 0.5 \n-0.5 0.5 -0.03125 \n-0.5 0.5 -0.09375 \n-0.5 0.5 -0.15625 \n-0.5 0.5 -0.21875 \n-0.5 0.5 -0.28125 \n-0.5 0.5 -0.34375 \n-0.5 0.5 -0.40625 \n-0.5 0.5 -0.46875 \n-0.5 -0.03125 0.5 \n-0.5 -0.09375 0.5 \n-0.5 -0.15625 0.5 \n-0.5 -0.21875 0.5 \n-0.5 -0.28125 0.5 \n-0.5 -0.34375 0.5 \n-0.5 -0.40625 0.5 \n-0.5 -0.46875 0.5 \n3 1734 1735 1736 \n3 1737 1738 1739 \n3 1740 1741 1742 \n3 1743 1744 1745 \n3 1746 1747 1748 \n3 1749 1750 1751 \n3 1752 1753 1754 \n3 1755 1756 1757 \n3 1758 1759 1760 \n3 1761 1762 1763 \n3 1764 1765 1766 \n3 1767 1768 1769 \n3 1770 1771 1772 \n3 1773 1774 1775 \n3 1776 1777 1778 \n3 1779 1780 1781 \n3 1782 1783 1784 \n3 1785 1786 1787 \n3 1788 1789 1790 \n3 1791 1792 1793 \n3 1794 1795 1796 \n3 1797 1798 1799 \n3 1800 1801 1802 \n3 1803 1804 1805 \n3 1806 1807 1808 \n3 1809 1810 1811 \n3 1812 1813 1814 \n3 1815 1816 1817 \n3 1818 1819 1820 \n3 1821 1822 1823 \n3 1824 1825 1826 \n3 1827 1828 1829 \n3 1830 1831 1832 \n3 1833 1834 1835 \n3 1836 1837 1838 \n3 1839 1840 1841 \n3 1842 1843 1844 \n3 1845 1846 1847 \n3 1848 1849 1850 \n3 1851 1852 1853 \n3 1854 1855 1856 \n3 1857 1858 1859 \n3 1860 1861 1862 \n3 1863 1864 1865 \n3 1866 1867 1868 \n3 1869 1870 1871 \n3 1872 1873 1874 \n3 1875 1876 1877 \n3 1878 1879 1880 \n3 1881 1882 1883 \n3 1884 1885 1886 \n3 1887 1888 1889 \n3 1890 1891 1892 \n3 1893 1894 1895 \n3 1896 1897 1898 \n3 1899 1900 1901 \n3 1902 1903 1904 \n3 1905 1906 1907 \n3 1908 1909 1910 \n3 1911 1912 1913 \n3 1914 1915 1916 \n3 1917 1918 1919 \n3 1920 1921 1922 \n3 1923 1924 1925 \n3 1926 1927 1928 \n3 1929 1930 1931 \n3 1932 1933 1934 \n3 1935 1936 1937 \n3 1938 1939 1940 \n3 1941 1942 1943 \n3 1944 1945 1946 \n3 1947 1948 1949 \n3 1950 1951 1952 \n3 1953 1954 1955 \n3 1956 1957 1958 \n3 1959 1960 1961 \n3 1962 1963 1964 \n3 1965 1966 1967 \n3 1968 1969 1970 \n3 1971 1972 1973 \n3 1974 1975 1976 \n3 1977 1978 1979 \n3 1980 1981 1982 \n3 1983 1984 1985 \n3 1986 1987 1988 \n3 1989 1990 1991 \n3 1992 1993 1994 \n3 1995 1996 1997 \n3 1998 1999 2000 \n3 2001 2002 2003 \n3 2004 2005 2006 \n3 2007 2008 2009 \n3 2010 2011 2012 \n3 2013 2014 2015 \n3 2016 2017 2018 \n3 2019 2020 2021 \n3 2022 2023 2024 \n3 2025 2026 2027 \n3 2028 2029 2030 \n3 2031 2032 2033 \n3 2034 2035 2036 \n3 2037 2038 2039 \n3 2040 2041 2042 \n3 2043 2044 2045 \n3 2046 2047 2048 \n3 2049 2050 2051 \n3 2052 2053 2054 \n3 2055 2056 2057 \n3 2058 2059 2060 \n3 2061 2062 2063 \n3 2064 2065 2066 \n3 2067 2068 2069 \n3 2070 2071 2072 \n3 2073 2074 2075 \n3 2076 2077 2078 \n3 2079 2080 2081 \n3 2082 2083 2084 \n3 2085 2086 2087 \n3 2088 2089 2090 \n3 2091 2092 2093 \n3 2094 2095 2096 \n3 2097 2098 2099 \n3 2100 2101 2102 \n3 2103 2104 2105 \n3 2106 2107 2108 \n3 2109 2110 2111 \n3 2112 2113 2114 \n3 2115 2116 2117 \n3 2118 2119 2120 \n3 2121 2122 2123 \n3 2124 2125 2126 \n3 2127 2128 2129 \n3 2130 2131 2132 \n3 2133 2134 2135 \n3 2136 2137 2138 \n3 2139 2140 2141 \n3 2142 2143 2144 \n3 2145 2146 2147 \n3 2148 2149 2150 \n3 2151 2152 2153 \n3 2154 2155 2156 \n3 2157 2158 2159 \n3 2160 2161 2162 \n3 2163 2164 2165 \n3 2166 2167 2168 \n3 2169 2170 2171 \n3 2172 2173 2174 \n3 2175 2176 2177 \n3 2178 2179 2180 \n3 2181 2182 2183 \n3 2184 2185 2186 \n3 2187 2188 2189 \n3 2190 2191 2192 \n3 2193 2194 2195 \n3 2196 2197 2198 \n3 2199 2200 2201 \n3 2202 2203 2204 \n3 2205 2206 2207 \n3 2208 2209 2210 \n3 2211 2212 2213 \n3 2214 2215 2216 \n3 2217 2218 2219 \n3 2220 2221 2222 \n3 2223 2224 2225 \n3 2226 2227 2228 \n3 2229 2230 2231 \n3 2232 2233 2234 \n3 2235 2236 2237 \n3 2238 2239 2240 \n3 2241 2242 2243 \n3 2244 2245 2246 \n3 2247 2248 2249 \n3 2250 2251 2252 \n3 2253 2254 2255 \n3 2256 2257 2258 \n3 2259 2260 2261 \n3 2262 2263 2264 \n3 2265 2266 2267 \n3 2268 2269 2270 \n3 2271 2272 2273 \n3 2274 2275 2276 \n3 2277 2278 2279 \n3 2280 2281 2282 \n3 2283 2284 2285 \n3 2286 2287 2288 \n3 2289 2290 2291 \n3 2292 2293 2294 \n3 2295 2296 2297 \n3 2298 2299 2300 \n3 2301 2302 2303 \n3 2304 2305 2306 \n3 2307 2308 2309 \n3 2310 2311 2312 \n3 2313 2314 2315 \n3 2316 2317 2318 \n3 2319 2320 2321 \n3 2322 2323 2324 \n3 2325 2326 2327 \n3 2328 2329 2330 \n3 2331 2332 2333 \n3 2334 2335 2336 \n3 2337 2338 2339 \n3 2340 2341 2342 \n3 2343 2344 2345 \n3 2346 2347 2348 \n3 2349 2350 2351 \n3 2352 2353 2354 \n3 2355 2356 2357 \n3 2358 2359 2360 \n3 2361 2362 2363 \n3 2364 2365 2366 \n3 2367 2368 2369 \n3 2370 2371 2372 \n3 2373 2374 2375 \n3 2376 2377 2378 \n3 2379 2380 2381 \n3 2382 2383 2384 \n3 2385 2386 2387 \n3 2388 2389 2390 \n3 2391 2392 2393 \n3 2394 2395 2396 \n3 2397 2398 2399 \n3 2400 2401 2402 \n3 2403 2404 2405 \n3 2406 2407 2408 \n3 2409 2410 2411 \n3 2412 2413 2414 \n3 2415 2416 2417 \n3 2418 2419 2420 \n3 2421 2422 2423 \n3 2424 2425 2426 \n3 2427 2428 2429 \n3 2430 2431 2432 \n3 2433 2434 2435 \n3 2436 2437 2438 \n3 2439 2440 2441 \n3 2442 2443 2444 \n3 2445 2446 2447 \n3 2448 2449 2450 \n3 2451 2452 2453 \n3 2454 2455 2456 \n3 2457 2458 2459 \n3 2460 2461 2462 \n3 2463 2464 2465 \n3 2466 2467 2468 \n3 2469 2470 2471 \n3 2472 2473 2474 \n3 2475 2476 2477 \n3 2478 2479 2480 \n3 2481 2482 2483 \n3 2484 2485 2486 \n3 2487 2488 2489 \n3 2490 2491 2492 \n3 2493 2494 2495 \n3 2496 2497 2498 \n3 2499 2500 2501 \n3 2502 2503 2504 \n3 2505 2506 2507 \n3 2508 2509 2510 \n3 2511 2512 2513 \n3 2514 2515 2516 \n3 2517 2518 2519 \n3 2520 2521 2522 \n3 2523 2524 2525 \n3 2526 2527 2528 \n3 2529 2530 2531 \n3 2532 2533 2534 \n3 2535 2536 2537 \n3 2538 2539 2540 \n3 2541 2542 2543 \n3 2544 2545 2546 \n3 2547 2548 2549 \n3 2550 2551 2552 \n3 2553 2554 2555 \n3 2556 2557 2558 \n3 2559 2560 2561 \n3 2562 2563 2564 \n3 2565 2566 2567 \n3 2568 2569 2570 \n3 2571 2572 2573 \n3 2574 2575 2576 \n3 2577 2578 2579 \n3 2580 2581 2582 \n3 2583 2584 2585 \n3 2586 2587 2588 \n3 2589 2590 2591 \n3 2592 2593 2594 \n3 2595 2596 2597 \n3 2598 2599 2600 \n3 2601 2602 2603 \n3 2604 2605 2606 \n3 2607 2608 2609 \n3 2610 2611 2612 \n3 2613 2614 2615 \n3 2616 2617 2618 \n3 2619 2620 2621 \n3 2622 2623 2624 \n3 2625 2626 2627 \n3 2628 2629 2630 \n3 2631 2632 2633 \n3 2634 2635 2636 \n3 2637 2638 2639 \n3 2640 2641 2642 \n3 2643 2644 2645 \n3 2646 2647 2648 \n3 2649 2650 2651 \n3 2652 2653 2654 \n3 2655 2656 2657 \n3 2658 2659 2660 \n3 2661 2662 2663 \n3 2664 2665 2666 \n3 2667 2668 2669 \n3 2670 2671 2672 \n3 2673 2674 2675 \n3 2676 2677 2678 \n3 2679 2680 2681 \n3 2682 2683 2684 \n3 2685 2686 2687 \n3 2688 2689 2690 \n3 2691 2692 2693 \n3 2694 2695 2696 \n3 2697 2698 2699 \n3 2700 2701 2702 \n3 2703 2704 2705 \n3 2706 2707 2708 \n3 2709 2710 2711 \n3 2712 2713 2714 \n3 2715 2716 2717 \n3 2718 2719 2720 \n3 2721 2722 2723 \n3 2724 2725 2726 \n3 2727 2728 2729 \n3 2730 2731 2732 \n3 2733 2734 2735 \n3 2736 2737 2738 \n3 2739 2740 2741 \n3 2742 2743 2744 \n3 2745 2746 2747 \n3 2748 2749 2750 \n3 2751 2752 2753 \n3 2754 2755 2756 \n3 2757 2758 2759 \n3 2760 2761 2762 \n3 2763 2764 2765 \n3 2766 2767 2768 \n3 2769 2770 2771 \n3 2772 2773 2774 \n3 2775 2776 2777 \n3 2778 2779 2780 \n3 2781 2782 2783 \n3 2784 2785 2786 \n3 2787 2788 2789 \n3 2790 2791 2792 \n3 2793 2794 2795 \n3 2796 2797 2798 \n3 2799 2800 2801 \n3 2802 2803 2804 \n3 2805 2806 2807 \n3 2808 2809 2810 \n3 2811 2812 2813 \n3 2814 2815 2816 \n3 2817 2818 2819 \n3 2820 2821 2822 \n3 2823 2824 2825 \n3 2826 2827 2828 \n3 2829 2830 2831 \n3 2832 2833 2834 \n3 2835 2836 2837 \n3 2838 2839 2840 \n3 2841 2842 2843 \n3 2844 2845 2846 \n3 2847 2848 2849 \n3 2850 2851 2852 \n3 2853 2854 2855 \n3 2856 2857 2858 \n3 2859 2860 2861 \n3 2862 2863 2864 \n3 2865 2866 2867 \n3 2868 2869 2870 \n3 2871 2872 2873 \n3 2874 2875 2876 \n3 2877 2878 2879 \n3 2880 2881 2882 \n3 2883 2884 2885 \n3 2886 2887 2888 \n3 2889 2890 2891 \n3 2892 2893 2894 \n3 2895 2896 2897 \n3 2898 2899 2900 \n3 2901 2902 2903 \n3 2904 2905 2906 \n3 2907 2908 2909 \n3 2910 2911 2912 \n3 2913 2914 2915 \n3 2916 2917 2918 \n3 2919 2920 2921 \n3 2922 2923 2924 \n3 2925 2926 2927 \n3 2928 2929 2930 \n3 2931 2932 2933 \n3 2934 2935 2936 \n3 2937 2938 2939 \n3 2940 2941 2942 \n3 2943 2944 2945 \n3 2946 2947 2948 \n3 2949 2950 2951 \n3 2952 2953 2954 \n3 2955 2956 2957 \n3 2958 2959 2960 \n3 2961 2962 2963 \n3 2964 2965 2966 \n3 2967 2968 2969 \n3 2970 2971 2972 \n3 2973 2974 2975 \n3 2976 2977 2978 \n3 2979 2980 2981 \n3 2982 2983 2984 \n3 2985 2986 2987 \n3 2988 2989 2990 \n3 2991 2992 2993 \n3 2994 2995 2996 \n3 2997 2998 2999 \n3 3000 3001 3002 \n3 3003 3004 3005 \n3 3006 3007 3008 \n3 3009 3010 3011 \n3 3012 3013 3014 \n3 3015 3016 3017 \n3 3018 3019 3020 \n3 3021 3022 3023 \n3 3024 3025 3026 \n3 3027 3028 3029 \n3 3030 3031 3032 \n3 3033 3034 3035 \n3 3036 3037 3038 \n3 3039 3040 3041 \n3 3042 3043 3044 \n3 3045 3046 3047 \n3 3048 3049 3050 \n3 3051 3052 3053 \n3 3054 3055 3056 \n3 3057 3058 3059 \n3 3060 3061 3062 \n3 3063 3064 3065 \n3 3066 3067 3068 \n3 3069 3070 3071 \n3 3072 3073 3074 \n3 3075 3076 3077 \n3 3078 3079 3080 \n3 3081 3082 3083 \n3 3084 3085 3086 \n3 3087 3088 3089 \n3 3090 3091 3092 \n3 3093 3094 3095 \n3 3096 3097 3098 \n3 3099 3100 3101 \n3 3102 3103 3104 \n3 3105 3106 3107 \n3 3108 3109 3110 \n3 3111 3112 3113 \n3 3114 3115 3116 \n3 3117 3118 3119 \n3 3120 3121 3122 \n3 3123 3124 3125 \n3 3126 3127 3128 \n3 3129 3130 3131 \n3 3132 3133 3134 \n3 3135 3136 3137 \n3 3138 3139 3140 \n3 3141 3142 3143 \n3 3144 3145 3146 \n3 3147 3148 3149 \n3 3150 3151 3152 \n3 3153 3154 3155 \n3 3156 3157 3158 \n3 3159 3160 3161 \n3 3162 3163 3164 \n3 3165 3166 3167 \n3 3168 3169 3170 \n3 3171 3172 3173 \n3 3174 3175 3176 \n3 3177 3178 3179 \n3 3180 3181 3182 \n3 3183 3184 3185 \n3 3186 3187 3188 \n3 3189 3190 3191 \n3 3192 3193 3194 \n3 3195 3196 3197 \n3 3198 3199 3200 \n3 3201 3202 3203 \n3 3204 3205 3206 \n3 3207 3208 3209 \n3 3210 3211 3212 \n3 3213 3214 3215 \n3 3216 3217 3218 \n3 3219 3220 3221 \n3 3222 3223 3224 \n3 3225 3226 3227 \n3 3228 3229 3230 \n3 3231 3232 3233 \n3 3234 3235 3236 \n3 3237 3238 3239 \n3 3240 3241 3242 \n3 3243 3244 3245 \n3 3246 3247 3248 \n3 3249 3250 3251 \n3 3252 3253 3254 \n3 3255 3256 3257 \n3 3258 3259 3260 \n3 3261 3262 3263 \n3 3264 3265 3266 \n3 3267 3268 3269 \n3 3270 3271 3272 \n3 3273 3274 3275 \n3 3276 3277 3278 \n3 3279 3280 3281 \n3 3282 3283 3284 \n3 3285 3286 3287 \n3 3288 3289 3290 \n3 3291 3292 3293 \n3 3294 3295 3296 \n3 3297 3298 3299 \n3 3300 3301 3302 \n3 3303 3304 3305 \n3 3306 3307 3308 \n3 3309 3310 3311 \n3 3312 3313 3314 \n3 3315 3316 3317 \n3 3318 3319 3320 \n3 3321 3322 3323 \n3 3324 3325 3326 \n3 3327 3328 3329 \n3 3330 3331 3332 \n3 3333 3334 3335 \n3 3336 3337 3338 \n3 3339 3340 3341 \n3 3342 3343 3344 \n3 3345 3346 3347 \n3 3348 3349 3350 \n3 3351 3352 3353 \n3 3354 3355 3356 \n3 3357 3358 3359 \n3 3360 3361 3362 \n3 3363 3364 3365 \n3 3366 3367 3368 \n3 3369 3370 3371 \n3 3372 3373 3374 \n3 3375 3376 3377 \n3 3378 3379 3380 \n3 3381 3382 3383 \n3 3384 3385 3386 \n3 3387 3388 3389 \n3 3390 3391 3392 \n3 3393 3394 3395 \n3 3396 3397 3398 \n3 3399 3400 3401 \n3 3402 3403 3404 \n3 3405 3406 3407 \n3 3408 3409 3410 \n3 3411 3412 3413 \n3 3414 3415 3416 \n3 3417 3418 3419 \n3 3420 3421 3422 \n3 3423 3424 3425 \n3 3426 3427 3428 \n3 3429 3430 3431 \n3 3432 3433 3434 \n3 3435 3436 3437 \n3 3438 3439 3440 \n3 3441 3442 3443 \n3 3444 3445 3446 \n3 3447 3448 3449 \n3 3450 3451 3452 \n3 3453 3454 3455 \n3 3456 3457 3458 \n3 3459 3460 3461 \n3 3462 3463 3464 \n3 3465 3466 3467 \n3 3468 3469 3470 \n3 3471 3472 3473 \n3 3474 3475 3476 \n3 3477 3478 3479 \n3 3480 3481 3482 \n3 3483 3484 3485 \n3 3486 3487 3488 \n3 3489 3490 3491 \n3 3492 3493 3494 \n3 3495 3496 3497 \n3 3498 3499 3500 \n3 3501 3502 3503 \n3 3504 3505 3506 \n3 3507 3508 3509 \n3 3510 3511 3512 \n3 3513 3514 3515 \n3 3516 3517 3518 \n3 3519 3520 3521 \n3 3522 3523 3524 \n3 3525 3526 3527 \n3 3528 3529 3530 \n3 3531 3532 3533 \n3 3534 3535 3536 \n3 3537 3538 3539 \n3 3540 3541 3542 \n3 3543 3544 3545 \n3 3546 3547 3548 \n3 3549 3550 3551 \n3 3552 3553 3554 \n3 3555 3556 3557 \n3 3558 3559 3560 \n3 3561 3562 3563 \n3 3564 3565 3566 \n3 3567 3568 3569 \n3 3570 3571 3572 \n3 3573 3574 3575 \n3 3576 3577 3578 \n3 3579 3580 3581 \n3 3582 3583 3584 \n3 3585 3586 3587 \n3 3588 3589 3590 \n3 3591 3592 3593 \n3 3594 3595 3596 \n3 3597 3598 3599 \n3 3600 3601 3602 \n3 3603 3604 3605 \n3 3606 3607 3608 \n3 3609 3610 3611 \n3 3612 3613 3614 \n3 3615 3616 3617 \n3 3618 3619 3620 \n3 3621 3622 3623 \n3 3624 3625 3626 \n3 3627 3628 3629 \n3 3630 3631 3632 \n3 3633 3634 3635 \n3 3636 3637 3638 \n3 3639 3640 3641 \n3 3642 3643 3644 \n3 3645 3646 3647 \n3 3648 3649 3650 \n3 3651 3652 3653 \n3 3654 3655 3656 \n3 3657 3658 3659 \n3 3660 3661 3662 \n3 3663 3664 3665 \n3 3666 3667 3668 \n3 3669 3670 3671 \n3 3672 3673 3674 \n3 3675 3676 3677 \n3 3678 3679 3680 \n3 3681 3682 3683 \n3 3684 3685 3686 \n3 3687 3688 3689 \n3 3690 3691 3692 \n3 3693 3694 3695 \n3 3696 3697 3698 \n3 3699 3700 3701 \n3 3702 3703 3704 \n3 3705 3706 3707 \n3 3708 3709 3710 \n3 3711 3712 3713 \n3 3714 3715 3716 \n3 3717 3718 3719 \n3 3720 3721 3722 \n3 3723 3724 3725 \n3 3726 3727 3728 \n3 3729 3730 3731 \n3 3732 3733 3734 \n3 3735 3736 3737 \n3 3738 3739 3740 \n3 3741 3742 3743 \n3 3744 3745 3746 \n3 3747 3748 3749 \n3 3750 3751 3752 \n3 3753 3754 3755 \n3 3756 3757 3758 \n3 3759 3760 3761 \n3 3762 3763 3764 \n3 3765 3766 3767 \n3 3768 3769 3770 \n3 3771 3772 3773 \n3 3774 3775 3776 \n3 3777 3778 3779 \n3 3780 3781 3782 \n3 3783 3784 3785 \n3 3786 3787 3788 \n3 3789 3790 3791 \n3 3792 3793 3794 \n3 3795 3796 3797 \n3 3798 3799 3800 \n3 3801 3802 3803 \n3 3804 3805 3806 \n3 3807 3808 3809 \n3 3810 3811 3812 \n3 3813 3814 3815 \n3 3816 3817 3818 \n3 3819 3820 3821 \n3 3822 3823 3824 \n3 3825 3826 3827 \n3 3828 3829 3830 \n3 3831 3832 3833 \n3 3834 3835 3836 \n3 3837 3838 3839 \n3 3840 3841 3842 \n3 3843 3844 3845 \n3 3846 3847 3848 \n3 3849 3850 3851 \n3 3852 3853 3854 \n3 3855 3856 3857 \n3 3858 3859 3860 \n3 3861 3862 3863 \n3 3864 3865 3866 \n3 3867 3868 3869 \n3 3870 3871 3872 \n3 3873 3874 3875 \n3 3876 3877 3878 \n3 3879 3880 3881 \n3 3882 3883 3884 \n3 3885 3886 3887 \n3 3888 3889 3890 \n3 3891 3892 3893 \n3 3894 3895 3896 \n3 3897 3898 3899 \n3 3900 3901 3902 \n3 3903 3904 3905 \n3 3906 3907 3908 \n3 3909 3910 3911 \n3 3912 3913 3914 \n3 3915 3916 3917 \n3 3918 3919 3920 \n3 3921 3922 3923 \n3 3924 3925 3926 \n3 3927 3928 3929 \n3 3930 3931 3932 \n3 3933 3934 3935 \n3 3936 3937 3938 \n3 3939 3940 3941 \n3 3942 3943 3944 \n3 3945 3946 3947 \n3 3948 3949 3950 \n3 3951 3952 3953 \n3 3954 3955 3956 \n3 3957 3958 3959 \n3 3960 3961 3962 \n3 3963 3964 3965 \n3 3966 3967 3968 \n3 3969 3970 3971 \n3 3972 3973 3974 \n3 3975 3976 3977 \n3 3978 3979 3980 \n3 3981 3982 3983 \n3 3984 3985 3986 \n3 3987 3988 3989 \n3 3990 3991 3992 \n3 3993 3994 3995 \n3 3996 3997 3998 \n3 3999 4000 4001 \n3 4002 4003 4004 \n3 4005 4006 4007 \n3 4008 4009 4010 \n3 4011 4012 4013 \n3 4014 4015 4016 \n3 4017 4018 4019 \n3 4020 4021 4022 \n3 4023 4024 4025 \n3 4026 4027 4028 \n3 4029 4030 4031 \n3 4032 4033 4034 \n3 4035 4036 4037 \n3 4038 1736 4039 \n3 4040 4041 1734 \n3 1735 4042 4043 \n3 4044 1739 4045 \n3 4046 4047 1737 \n3 1738 4048 4049 \n3 4050 1742 4051 \n3 4052 4053 1740 \n3 1741 4054 4055 \n3 4056 1745 4057 \n3 4058 4059 1743 \n3 1744 4060 4061 \n3 4062 1748 4063 \n3 4064 4065 1746 \n3 1747 4066 4067 \n3 4068 1751 4069 \n3 4070 4071 1749 \n3 1750 4072 4073 \n3 4074 1754 4075 \n3 4076 4077 1752 \n3 1753 4078 4079 \n3 4080 1757 4081 \n3 4082 4083 1755 \n3 1756 4084 4085 \n3 4086 1760 4087 \n3 4088 4089 1758 \n3 1759 4090 4091 \n3 4092 1763 4093 \n3 4094 4095 1761 \n3 1762 4096 4097 \n3 4098 1766 4099 \n3 4100 4101 1764 \n3 1765 4102 4103 \n3 4104 1769 4105 \n3 4106 4107 1767 \n3 1768 4108 4109 \n3 4110 1772 4111 \n3 4112 4113 1770 \n3 1771 4114 4115 \n3 4116 1775 4117 \n3 4118 4119 1773 \n3 1774 4120 4121 \n3 4122 1778 4123 \n3 4124 4125 1776 \n3 1777 4126 4127 \n3 4128 1781 4129 \n3 4130 4131 1779 \n3 1780 4132 4133 \n3 4134 1784 4135 \n3 4136 4137 1782 \n3 1783 4138 4139 \n3 4140 1787 4141 \n3 4142 4143 1785 \n3 1786 4144 4145 \n3 4146 1790 4147 \n3 4148 4149 1788 \n3 1789 4150 4151 \n3 4152 1793 4153 \n3 4154 4155 1791 \n3 1792 4156 4157 \n3 4158 1796 4159 \n3 4160 4161 1794 \n3 1795 4162 4163 \n3 4164 1799 4165 \n3 4166 4167 1797 \n3 1798 4168 4169 \n3 4170 1802 4171 \n3 4172 4173 1800 \n3 1801 4174 4175 \n3 4176 1805 4177 \n3 4178 4179 1803 \n3 1804 4180 4181 \n3 4182 1808 4183 \n3 4184 4185 1806 \n3 1807 4186 4187 \n3 4188 1811 4189 \n3 4190 4191 1809 \n3 1810 4192 4193 \n3 4194 1814 4195 \n3 4196 4197 1812 \n3 1813 4198 4199 \n3 4200 1817 4201 \n3 4202 4203 1815 \n3 1816 4204 4205 \n3 4206 1820 4207 \n3 4208 4209 1818 \n3 1819 4210 4211 \n3 4212 1823 4213 \n3 4214 4215 1821 \n3 1822 4216 4217 \n3 4218 1826 4219 \n3 4220 4221 1824 \n3 1825 4222 4223 \n3 4224 1829 4225 \n3 4226 4227 1827 \n3 1828 4228 4229 \n3 4230 1832 4231 \n3 4232 4233 1830 \n3 1831 4234 4235 \n3 4236 1835 4237 \n3 4238 4239 1833 \n3 1834 4240 4241 \n3 4242 1838 4243 \n3 4244 4245 1836 \n3 1837 4246 4247 \n3 4248 1841 4249 \n3 4250 4251 1839 \n3 1840 4252 4253 \n3 4254 1844 4255 \n3 4256 4257 1842 \n3 1843 4258 4259 \n3 4260 1847 4261 \n3 4262 4263 1845 \n3 1846 4264 4265 \n3 4266 1850 4267 \n3 4268 4269 1848 \n3 1849 4270 4271 \n3 4272 1853 4273 \n3 4274 4275 1851 \n3 1852 4276 4277 \n3 4278 1856 4279 \n3 4280 4281 1854 \n3 1855 4282 4283 \n3 4284 1859 4285 \n3 4286 4287 1857 \n3 1858 4288 4289 \n3 4290 1862 4291 \n3 4292 4293 1860 \n3 1861 4294 4295 \n3 4296 1865 4297 \n3 4298 4299 1863 \n3 1864 4300 4301 \n3 4302 1868 4303 \n3 4304 4305 1866 \n3 1867 4306 4307 \n3 4308 1871 4309 \n3 4310 4311 1869 \n3 1870 4312 4313 \n3 4314 1874 4315 \n3 4316 4317 1872 \n3 1873 4318 4319 \n3 4320 1877 4321 \n3 4322 4323 1875 \n3 1876 4324 4325 \n3 4326 1880 4327 \n3 4328 4329 1878 \n3 1879 4330 4331 \n3 4332 1883 4333 \n3 4334 4335 1881 \n3 1882 4336 4337 \n3 4338 1886 4339 \n3 4340 4341 1884 \n3 1885 4342 4343 \n3 4344 1889 4345 \n3 4346 4347 1887 \n3 1888 4348 4349 \n3 4350 1892 4351 \n3 4352 4353 1890 \n3 1891 4354 4355 \n3 4356 1895 4357 \n3 4358 4359 1893 \n3 1894 4360 4361 \n3 4362 1898 4363 \n3 4364 4365 1896 \n3 1897 4366 4367 \n3 4368 1901 4369 \n3 4370 4371 1899 \n3 1900 4372 4373 \n3 4374 1904 4375 \n3 4376 4377 1902 \n3 1903 4378 4379 \n3 4380 1907 4381 \n3 4382 4383 1905 \n3 1906 4384 4385 \n3 4386 1910 4387 \n3 4388 4389 1908 \n3 1909 4390 4391 \n3 4392 1913 4393 \n3 4394 4395 1911 \n3 1912 4396 4397 \n3 4398 1916 4399 \n3 4400 4401 1914 \n3 1915 4402 4403 \n3 4404 1919 4405 \n3 4406 4407 1917 \n3 1918 4408 4409 \n3 4410 1922 4411 \n3 4412 4413 1920 \n3 1921 4414 4415 \n3 4416 1925 4417 \n3 4418 4419 1923 \n3 1924 4420 4421 \n3 4422 1928 4423 \n3 4424 4425 1926 \n3 1927 4426 4427 \n3 4428 1931 4429 \n3 4430 4431 1929 \n3 1930 4432 4433 \n3 4434 1934 4435 \n3 4436 4437 1932 \n3 1933 4438 4439 \n3 4440 1937 4441 \n3 4442 4443 1935 \n3 1936 4444 4445 \n3 4446 1940 4447 \n3 4448 4449 1938 \n3 1939 4450 4451 \n3 4452 1943 4453 \n3 4454 4455 1941 \n3 1942 4456 4457 \n3 4458 1946 4459 \n3 4460 4461 1944 \n3 1945 4462 4463 \n3 4464 1949 4465 \n3 4466 4467 1947 \n3 1948 4468 4469 \n3 4470 1952 4471 \n3 4472 4473 1950 \n3 1951 4474 4475 \n3 4476 1955 4477 \n3 4478 4479 1953 \n3 1954 4480 4481 \n3 4482 1958 4483 \n3 4484 4485 1956 \n3 1957 4486 4487 \n3 4488 1961 4489 \n3 4490 4491 1959 \n3 1960 4492 4493 \n3 4494 1964 4495 \n3 4496 4497 1962 \n3 1963 4498 4499 \n3 4500 1967 4501 \n3 4502 4503 1965 \n3 1966 4504 4505 \n3 4506 1970 4507 \n3 4508 4509 1968 \n3 1969 4510 4511 \n3 4512 1973 4513 \n3 4514 4515 1971 \n3 1972 4516 4517 \n3 4518 1976 4519 \n3 4520 4521 1974 \n3 1975 4522 4523 \n3 4524 1979 4525 \n3 4526 4527 1977 \n3 1978 4528 4529 \n3 4530 1982 4531 \n3 4532 4533 1980 \n3 1981 4534 4535 \n3 4536 1985 4537 \n3 4538 4539 1983 \n3 1984 4540 4541 \n3 4542 1988 4543 \n3 4544 4545 1986 \n3 1987 4546 4547 \n3 4548 1991 4549 \n3 4550 4551 1989 \n3 1990 4552 4553 \n3 4554 1994 4555 \n3 4556 4557 1992 \n3 1993 4558 4559 \n3 4560 1997 4561 \n3 4562 4563 1995 \n3 1996 4564 4565 \n3 4566 2000 4567 \n3 4568 4569 1998 \n3 1999 4570 4571 \n3 4572 2003 4573 \n3 4574 4575 2001 \n3 2002 4576 4577 \n3 4578 2006 4579 \n3 4580 4581 2004 \n3 2005 4582 4583 \n3 4584 2009 4585 \n3 4586 4587 2007 \n3 2008 4588 4589 \n3 4590 2012 4591 \n3 4592 4593 2010 \n3 2011 4594 4595 \n3 4596 2015 4597 \n3 4598 4599 2013 \n3 2014 4600 4601 \n3 4602 2018 4603 \n3 4604 4605 2016 \n3 2017 4606 4607 \n3 4608 2021 4609 \n3 4610 4611 2019 \n3 2020 4612 4613 \n3 4614 2024 4615 \n3 4616 4617 2022 \n3 2023 4618 4619 \n3 4620 2027 4621 \n3 4622 4623 2025 \n3 2026 4624 4625 \n3 4626 2030 4627 \n3 4628 4629 2028 \n3 2029 4630 4631 \n3 4632 2033 4633 \n3 4634 4635 2031 \n3 2032 4636 4637 \n3 4638 2036 4639 \n3 4640 4641 2034 \n3 2035 4642 4643 \n3 4644 2039 4645 \n3 4646 4647 2037 \n3 2038 4648 4649 \n3 4650 2042 4651 \n3 4652 4653 2040 \n3 2041 4654 4655 \n3 4656 2045 4657 \n3 4658 4659 2043 \n3 2044 4660 4661 \n3 4662 2048 4663 \n3 4664 4665 2046 \n3 2047 4666 4667 \n3 4668 2051 4669 \n3 4670 4671 2049 \n3 2050 4672 4673 \n3 4674 2054 4675 \n3 4676 4677 2052 \n3 2053 4678 4679 \n3 4680 2057 4681 \n3 4682 4683 2055 \n3 2056 4684 4685 \n3 4686 2060 4687 \n3 4688 4689 2058 \n3 2059 4690 4691 \n3 4692 2063 4693 \n3 4694 4695 2061 \n3 2062 4696 4697 \n3 4698 2066 4699 \n3 4700 4701 2064 \n3 2065 4702 4703 \n3 4704 2069 4705 \n3 4706 4707 2067 \n3 2068 4708 4709 \n3 4710 2072 4711 \n3 4712 4713 2070 \n3 2071 4714 4715 \n3 4716 2075 4717 \n3 4718 4719 2073 \n3 2074 4720 4721 \n3 4722 2078 4723 \n3 4724 4725 2076 \n3 2077 4726 4727 \n3 4728 2081 4729 \n3 4730 4731 2079 \n3 2080 4732 4733 \n3 4734 2084 4735 \n3 4736 4737 2082 \n3 2083 4738 4739 \n3 4740 2087 4741 \n3 4742 4743 2085 \n3 2086 4744 4745 \n3 4746 2090 4747 \n3 4748 4749 2088 \n3 2089 4750 4751 \n3 4752 2093 4753 \n3 4754 4755 2091 \n3 2092 4756 4757 \n3 4758 2096 4759 \n3 4760 4761 2094 \n3 2095 4762 4763 \n3 4764 2099 4765 \n3 4766 4767 2097 \n3 2098 4768 4769 \n3 4770 2102 4771 \n3 4772 4773 2100 \n3 2101 4774 4775 \n3 4776 2105 4777 \n3 4778 4779 2103 \n3 2104 4780 4781 \n3 4782 2108 4783 \n3 4784 4785 2106 \n3 2107 4786 4787 \n3 4788 2111 4789 \n3 4790 4791 2109 \n3 2110 4792 4793 \n3 4794 2114 4795 \n3 4796 4797 2112 \n3 2113 4798 4799 \n3 4800 2117 4801 \n3 4802 4803 2115 \n3 2116 4804 4805 \n3 4806 2120 4807 \n3 4808 4809 2118 \n3 2119 4810 4811 \n3 4812 2123 4813 \n3 4814 4815 2121 \n3 2122 4816 4817 \n3 4818 2126 4819 \n3 4820 4821 2124 \n3 2125 4822 4823 \n3 4824 2129 4825 \n3 4826 4827 2127 \n3 2128 4828 4829 \n3 4830 2132 4831 \n3 4832 4833 2130 \n3 2131 4834 4835 \n3 4836 2135 4837 \n3 4838 4839 2133 \n3 2134 4840 4841 \n3 4842 2138 4843 \n3 4844 4845 2136 \n3 2137 4846 4847 \n3 4848 2141 4849 \n3 4850 4851 2139 \n3 2140 4852 4853 \n3 4854 2144 4855 \n3 4856 4857 2142 \n3 2143 4858 4859 \n3 4860 2147 4861 \n3 4862 4863 2145 \n3 2146 4864 4865 \n3 4866 2150 4867 \n3 4868 4869 2148 \n3 2149 4870 4871 \n3 4872 2153 4873 \n3 4874 4875 2151 \n3 2152 4876 4877 \n3 4878 2156 4879 \n3 4880 4881 2154 \n3 2155 4882 4883 \n3 4884 2159 4885 \n3 4886 4887 2157 \n3 2158 4888 4889 \n3 4890 2162 4891 \n3 4892 4893 2160 \n3 2161 4894 4895 \n3 4896 2165 4897 \n3 4898 4899 2163 \n3 2164 4900 4901 \n3 4902 2168 4903 \n3 4904 4905 2166 \n3 2167 4906 4907 \n3 4908 2171 4909 \n3 4910 4911 2169 \n3 2170 4912 4913 \n3 4914 2174 4915 \n3 4916 4917 2172 \n3 2173 4918 4919 \n3 4920 2177 4921 \n3 4922 4923 2175 \n3 2176 4924 4925 \n3 4926 2180 4927 \n3 4928 4929 2178 \n3 2179 4930 4931 \n3 4932 2183 4933 \n3 4934 4935 2181 \n3 2182 4936 4937 \n3 4938 2186 4939 \n3 4940 4941 2184 \n3 2185 4942 4943 \n3 4944 2189 4945 \n3 4946 4947 2187 \n3 2188 4948 4949 \n3 4950 2192 4951 \n3 4952 4953 2190 \n3 2191 4954 4955 \n3 4956 2195 4957 \n3 4958 4959 2193 \n3 2194 4960 4961 \n3 4962 2198 4963 \n3 4964 4965 2196 \n3 2197 4966 4967 \n3 4968 2201 4969 \n3 4970 4971 2199 \n3 2200 4972 4973 \n3 4974 2204 4975 \n3 4976 4977 2202 \n3 2203 4978 4979 \n3 4980 2207 4981 \n3 4982 4983 2205 \n3 2206 4984 4985 \n3 4986 2210 4987 \n3 4988 4989 2208 \n3 2209 4990 4991 \n3 4992 2213 4993 \n3 4994 4995 2211 \n3 2212 4996 4997 \n3 4998 2216 4999 \n3 5000 5001 2214 \n3 2215 5002 5003 \n3 5004 2219 5005 \n3 5006 5007 2217 \n3 2218 5008 5009 \n3 5010 2222 5011 \n3 5012 5013 2220 \n3 2221 5014 5015 \n3 5016 2225 5017 \n3 5018 5019 2223 \n3 2224 5020 5021 \n3 5022 2228 5023 \n3 5024 5025 2226 \n3 2227 5026 5027 \n3 5028 2231 5029 \n3 5030 5031 2229 \n3 2230 5032 5033 \n3 5034 2234 5035 \n3 5036 5037 2232 \n3 2233 5038 5039 \n3 5040 2237 5041 \n3 5042 5043 2235 \n3 2236 5044 5045 \n3 5046 2240 5047 \n3 5048 5049 2238 \n3 2239 5050 5051 \n3 5052 2243 5053 \n3 5054 5055 2241 \n3 2242 5056 5057 \n3 5058 2246 5059 \n3 5060 5061 2244 \n3 2245 5062 5063 \n3 5064 2249 5065 \n3 5066 5067 2247 \n3 2248 5068 5069 \n3 5070 2252 5071 \n3 5072 5073 2250 \n3 2251 5074 5075 \n3 5076 2255 5077 \n3 5078 5079 2253 \n3 2254 5080 5081 \n3 5082 2258 5083 \n3 5084 5085 2256 \n3 2257 5086 5087 \n3 5088 2261 5089 \n3 5090 5091 2259 \n3 2260 5092 5093 \n3 5094 2264 5095 \n3 5096 5097 2262 \n3 2263 5098 5099 \n3 5100 2267 5101 \n3 5102 5103 2265 \n3 2266 5104 5105 \n3 5106 2270 5107 \n3 5108 5109 2268 \n3 2269 5110 5111 \n3 5112 2273 5113 \n3 5114 5115 2271 \n3 2272 5116 5117 \n3 5118 2276 5119 \n3 5120 5121 2274 \n3 2275 5122 5123 \n3 5124 2279 5125 \n3 5126 5127 2277 \n3 2278 5128 5129 \n3 5130 2282 5131 \n3 5132 5133 2280 \n3 2281 5134 5135 \n3 5136 2285 5137 \n3 5138 5139 2283 \n3 2284 5140 5141 \n3 5142 2288 5143 \n3 5144 5145 2286 \n3 2287 5146 5147 \n3 5148 2291 5149 \n3 5150 5151 2289 \n3 2290 5152 5153 \n3 5154 2294 5155 \n3 5156 5157 2292 \n3 2293 5158 5159 \n3 5160 2297 5161 \n3 5162 5163 2295 \n3 2296 5164 5165 \n3 5166 2300 5167 \n3 5168 5169 2298 \n3 2299 5170 5171 \n3 5172 2303 5173 \n3 5174 5175 2301 \n3 2302 5176 5177 \n3 5178 2306 5179 \n3 5180 5181 2304 \n3 2305 5182 5183 \n3 5184 2309 5185 \n3 5186 5187 2307 \n3 2308 5188 5189 \n3 5190 2312 5191 \n3 5192 4039 2310 \n3 2311 4043 5193 \n3 5194 2315 4038 \n3 5195 5196 2313 \n3 2314 5197 4040 \n3 4042 2318 5198 \n3 4041 5199 2316 \n3 2317 5200 5201 \n3 5202 2321 5203 \n3 5204 4045 2319 \n3 2320 4049 5205 \n3 5206 2324 4044 \n3 5207 5208 2322 \n3 2323 5209 4046 \n3 4048 2327 5210 \n3 4047 5211 2325 \n3 2326 5212 5213 \n3 5214 2330 5215 \n3 5216 4051 2328 \n3 2329 4055 5217 \n3 5218 2333 4050 \n3 5219 5220 2331 \n3 2332 5221 4052 \n3 4054 2336 5222 \n3 4053 5223 2334 \n3 2335 5224 5225 \n3 5226 2339 5227 \n3 5228 4057 2337 \n3 2338 4061 5229 \n3 5230 2342 4056 \n3 5231 5232 2340 \n3 2341 5233 4058 \n3 4060 2345 5234 \n3 4059 5235 2343 \n3 2344 5236 5237 \n3 5238 2348 5239 \n3 5240 4063 2346 \n3 2347 4067 5241 \n3 5242 2351 4062 \n3 5243 5244 2349 \n3 2350 5245 4064 \n3 4066 2354 5246 \n3 4065 5247 2352 \n3 2353 5248 5249 \n3 5250 2357 5251 \n3 5252 4069 2355 \n3 2356 4073 5253 \n3 5254 2360 4068 \n3 5255 5256 2358 \n3 2359 5257 4070 \n3 4072 2363 5258 \n3 4071 5259 2361 \n3 2362 5260 5261 \n3 5262 2366 5263 \n3 5264 4075 2364 \n3 2365 4079 5265 \n3 5266 2369 4074 \n3 5267 5268 2367 \n3 2368 5269 4076 \n3 4078 2372 5270 \n3 4077 5271 2370 \n3 2371 5272 5273 \n3 5274 2375 5275 \n3 5276 4081 2373 \n3 2374 4085 5277 \n3 5278 2378 4080 \n3 5279 5280 2376 \n3 2377 5281 4082 \n3 4084 2381 5282 \n3 4083 5283 2379 \n3 2380 5284 5285 \n3 5286 2384 5287 \n3 5288 4087 2382 \n3 2383 4091 5289 \n3 5290 2387 4086 \n3 5291 5292 2385 \n3 2386 5293 4088 \n3 4090 2390 5294 \n3 4089 5295 2388 \n3 2389 5296 5297 \n3 5298 2393 5299 \n3 5300 4093 2391 \n3 2392 4097 5301 \n3 5302 2396 4092 \n3 5303 5304 2394 \n3 2395 5305 4094 \n3 4096 2399 5306 \n3 4095 5307 2397 \n3 2398 5308 5309 \n3 5310 2402 5311 \n3 5312 4099 2400 \n3 2401 4103 5313 \n3 5314 2405 4098 \n3 5315 5316 2403 \n3 2404 5317 4100 \n3 4102 2408 5318 \n3 4101 5319 2406 \n3 2407 5320 5321 \n3 5322 2411 5323 \n3 5324 4105 2409 \n3 2410 4109 5325 \n3 5326 2414 4104 \n3 5327 5328 2412 \n3 2413 5329 4106 \n3 4108 2417 5330 \n3 4107 5331 2415 \n3 2416 5332 5333 \n3 5334 2420 5335 \n3 5336 4111 2418 \n3 2419 4115 5337 \n3 5338 2423 4110 \n3 5339 5340 2421 \n3 2422 5341 4112 \n3 4114 2426 5342 \n3 4113 5343 2424 \n3 2425 5344 5345 \n3 5346 2429 5347 \n3 5348 4117 2427 \n3 2428 4121 5349 \n3 5350 2432 4116 \n3 5351 5352 2430 \n3 2431 5353 4118 \n3 4120 2435 5354 \n3 4119 5355 2433 \n3 2434 5356 5357 \n3 5358 2438 5359 \n3 5360 4123 2436 \n3 2437 4127 5361 \n3 5362 2441 4122 \n3 5363 5364 2439 \n3 2440 5365 4124 \n3 4126 2444 5366 \n3 4125 5367 2442 \n3 2443 5368 5369 \n3 5370 2447 5371 \n3 5372 4129 2445 \n3 2446 4133 5373 \n3 5374 2450 4128 \n3 5375 5376 2448 \n3 2449 5377 4130 \n3 4132 2453 5378 \n3 4131 5379 2451 \n3 2452 5380 5381 \n3 5382 2456 5383 \n3 5384 4135 2454 \n3 2455 4139 5385 \n3 5386 2459 4134 \n3 5387 5388 2457 \n3 2458 5389 4136 \n3 4138 2462 5390 \n3 4137 5391 2460 \n3 2461 5392 5393 \n3 5394 2465 5395 \n3 5396 4141 2463 \n3 2464 4145 5397 \n3 5398 2468 4140 \n3 5399 5400 2466 \n3 2467 5401 4142 \n3 4144 2471 5402 \n3 4143 5403 2469 \n3 2470 5404 5405 \n3 5406 2474 5407 \n3 5408 4147 2472 \n3 2473 4151 5409 \n3 5410 2477 4146 \n3 5411 5412 2475 \n3 2476 5413 4148 \n3 4150 2480 5414 \n3 4149 5415 2478 \n3 2479 5416 5417 \n3 5418 2483 5419 \n3 5420 4153 2481 \n3 2482 4157 5421 \n3 5422 2486 4152 \n3 5423 5424 2484 \n3 2485 5425 4154 \n3 4156 2489 5426 \n3 4155 5427 2487 \n3 2488 5428 5429 \n3 5430 2492 5431 \n3 5432 4159 2490 \n3 2491 4163 5433 \n3 5434 2495 4158 \n3 5435 5436 2493 \n3 2494 5437 4160 \n3 4162 2498 5438 \n3 4161 5439 2496 \n3 2497 5440 5441 \n3 5442 2501 5443 \n3 5444 4165 2499 \n3 2500 4169 5445 \n3 5446 2504 4164 \n3 5447 5448 2502 \n3 2503 5449 4166 \n3 4168 2507 5450 \n3 4167 5451 2505 \n3 2506 5452 5453 \n3 5454 2510 5455 \n3 5456 4171 2508 \n3 2509 4175 5457 \n3 5458 2513 4170 \n3 5459 5460 2511 \n3 2512 5461 4172 \n3 4174 2516 5462 \n3 4173 5463 2514 \n3 2515 5464 5465 \n3 5466 2519 5467 \n3 5468 4177 2517 \n3 2518 4181 5469 \n3 5470 2522 4176 \n3 5471 5472 2520 \n3 2521 5473 4178 \n3 4180 2525 5474 \n3 4179 5475 2523 \n3 2524 5476 5477 \n3 5478 2528 5479 \n3 5480 4183 2526 \n3 2527 4187 5481 \n3 5482 2531 4182 \n3 5483 5484 2529 \n3 2530 5485 4184 \n3 4186 2534 5486 \n3 4185 5487 2532 \n3 2533 5488 5489 \n3 5490 2537 5491 \n3 5492 4189 2535 \n3 2536 4193 5493 \n3 5494 2540 4188 \n3 5495 5496 2538 \n3 2539 5497 4190 \n3 4192 2543 5498 \n3 4191 5499 2541 \n3 2542 5500 5501 \n3 5502 2546 5503 \n3 5504 4195 2544 \n3 2545 4199 5505 \n3 5506 2549 4194 \n3 5507 5508 2547 \n3 2548 5509 4196 \n3 4198 2552 5510 \n3 4197 5511 2550 \n3 2551 5512 5513 \n3 5514 2555 5515 \n3 5516 4201 2553 \n3 2554 4205 5517 \n3 5518 2558 4200 \n3 5519 5520 2556 \n3 2557 5521 4202 \n3 4204 2561 5522 \n3 4203 5523 2559 \n3 2560 5524 5525 \n3 5526 2564 5527 \n3 5528 4207 2562 \n3 2563 4211 5529 \n3 5530 2567 4206 \n3 5531 5532 2565 \n3 2566 5533 4208 \n3 4210 2570 5534 \n3 4209 5535 2568 \n3 2569 5536 5537 \n3 5538 2573 5539 \n3 5540 4213 2571 \n3 2572 4217 5541 \n3 5542 2576 4212 \n3 5543 5544 2574 \n3 2575 5545 4214 \n3 4216 2579 5546 \n3 4215 5547 2577 \n3 2578 5548 5549 \n3 5550 2582 5551 \n3 5552 4219 2580 \n3 2581 4223 5553 \n3 5554 2585 4218 \n3 5555 5556 2583 \n3 2584 5557 4220 \n3 4222 2588 5558 \n3 4221 5559 2586 \n3 2587 5560 5561 \n3 5562 2591 5563 \n3 5564 4225 2589 \n3 2590 4229 5565 \n3 5566 2594 4224 \n3 5567 5568 2592 \n3 2593 5569 4226 \n3 4228 2597 5570 \n3 4227 5571 2595 \n3 2596 5572 5573 \n3 5574 2600 5575 \n3 5576 4231 2598 \n3 2599 4235 5577 \n3 5578 2603 4230 \n3 5579 5580 2601 \n3 2602 5581 4232 \n3 4234 2606 5582 \n3 4233 5583 2604 \n3 2605 5584 5585 \n3 5586 2609 5587 \n3 5588 4237 2607 \n3 2608 4241 5589 \n3 5590 2612 4236 \n3 5591 5592 2610 \n3 2611 5593 4238 \n3 4240 2615 5594 \n3 4239 5595 2613 \n3 2614 5596 5597 \n3 5598 2618 5599 \n3 5600 4243 2616 \n3 2617 4247 5601 \n3 5602 2621 4242 \n3 5603 5604 2619 \n3 2620 5605 4244 \n3 4246 2624 5606 \n3 4245 5607 2622 \n3 2623 5608 5609 \n3 5610 2627 5611 \n3 5612 4249 2625 \n3 2626 4253 5613 \n3 5614 2630 4248 \n3 5615 5616 2628 \n3 2629 5617 4250 \n3 4252 2633 5618 \n3 4251 5619 2631 \n3 2632 5620 5621 \n3 5622 2636 5623 \n3 5624 4255 2634 \n3 2635 4259 5625 \n3 5626 2639 4254 \n3 5627 5628 2637 \n3 2638 5629 4256 \n3 4258 2642 5630 \n3 4257 5631 2640 \n3 2641 5632 5633 \n3 5634 2645 5635 \n3 5636 4261 2643 \n3 2644 4265 5637 \n3 5638 2648 4260 \n3 5639 5640 2646 \n3 2647 5641 4262 \n3 4264 2651 5642 \n3 4263 5643 2649 \n3 2650 5644 5645 \n3 5646 2654 5647 \n3 5648 4267 2652 \n3 2653 4271 5649 \n3 5650 2657 4266 \n3 5651 5652 2655 \n3 2656 5653 4268 \n3 4270 2660 5654 \n3 4269 5655 2658 \n3 2659 5656 5657 \n3 5658 2663 5659 \n3 5660 4273 2661 \n3 2662 4277 5661 \n3 5662 2666 4272 \n3 5663 5664 2664 \n3 2665 5665 4274 \n3 4276 2669 5666 \n3 4275 5667 2667 \n3 2668 5668 5669 \n3 5670 2672 5671 \n3 5672 4279 2670 \n3 2671 4283 5673 \n3 5674 2675 4278 \n3 5675 5676 2673 \n3 2674 5677 4280 \n3 4282 2678 5678 \n3 4281 5679 2676 \n3 2677 5680 5681 \n3 5682 2681 5683 \n3 5684 4285 2679 \n3 2680 4289 5685 \n3 5686 2684 4284 \n3 5687 5688 2682 \n3 2683 5689 4286 \n3 4288 2687 5690 \n3 4287 5691 2685 \n3 2686 5692 5693 \n3 5694 2690 5695 \n3 5696 4291 2688 \n3 2689 4295 5697 \n3 5698 2693 4290 \n3 5699 5700 2691 \n3 2692 5701 4292 \n3 4294 2696 5702 \n3 4293 5703 2694 \n3 2695 5704 5705 \n3 5706 2699 5707 \n3 5708 4297 2697 \n3 2698 4301 5709 \n3 5710 2702 4296 \n3 5711 5712 2700 \n3 2701 5713 4298 \n3 4300 2705 5714 \n3 4299 5715 2703 \n3 2704 5716 5717 \n3 5718 2708 5719 \n3 5720 4303 2706 \n3 2707 4307 5721 \n3 5722 2711 4302 \n3 5723 5724 2709 \n3 2710 5725 4304 \n3 4306 2714 5726 \n3 4305 5727 2712 \n3 2713 5728 5729 \n3 5730 2717 5731 \n3 5732 4309 2715 \n3 2716 4313 5733 \n3 5734 2720 4308 \n3 5735 5736 2718 \n3 2719 5737 4310 \n3 4312 2723 5738 \n3 4311 5739 2721 \n3 2722 5740 5741 \n3 5742 2726 5743 \n3 5744 4315 2724 \n3 2725 4319 5745 \n3 5746 2729 4314 \n3 5747 5748 2727 \n3 2728 5749 4316 \n3 4318 2732 5750 \n3 4317 5751 2730 \n3 2731 5752 5753 \n3 5754 2735 5755 \n3 5756 4321 2733 \n3 2734 4325 5757 \n3 5758 2738 4320 \n3 5759 5760 2736 \n3 2737 5761 4322 \n3 4324 2741 5762 \n3 4323 5763 2739 \n3 2740 5764 5765 \n3 5766 2744 5767 \n3 5768 4327 2742 \n3 2743 4331 5769 \n3 5770 2747 4326 \n3 5771 5191 2745 \n3 2746 5193 4328 \n3 4330 2750 5772 \n3 4329 5198 2748 \n3 2749 5201 5773 \n3 5774 2753 5190 \n3 5775 4333 2751 \n3 2752 4337 5192 \n3 5776 2756 4332 \n3 5777 5778 2754 \n3 2755 5779 4334 \n3 4336 2759 5194 \n3 4335 5780 2757 \n3 2758 5781 5195 \n3 5200 2762 5782 \n3 5199 4339 2760 \n3 2761 4343 5783 \n3 5197 2765 4338 \n3 5196 5784 2763 \n3 2764 5785 4340 \n3 4342 2768 5786 \n3 4341 5787 2766 \n3 2767 5788 5789 \n3 5790 2771 5791 \n3 5792 4345 2769 \n3 2770 4349 5793 \n3 5794 2774 4344 \n3 5795 5203 2772 \n3 2773 5205 4346 \n3 4348 2777 5796 \n3 4347 5210 2775 \n3 2776 5213 5797 \n3 5798 2780 5202 \n3 5799 4351 2778 \n3 2779 4355 5204 \n3 5800 2783 4350 \n3 5801 5802 2781 \n3 2782 5803 4352 \n3 4354 2786 5206 \n3 4353 5804 2784 \n3 2785 5805 5207 \n3 5212 2789 5806 \n3 5211 4357 2787 \n3 2788 4361 5807 \n3 5209 2792 4356 \n3 5208 5808 2790 \n3 2791 5809 4358 \n3 4360 2795 5810 \n3 4359 5811 2793 \n3 2794 5812 5813 \n3 5814 2798 5815 \n3 5816 4363 2796 \n3 2797 4367 5817 \n3 5818 2801 4362 \n3 5819 5215 2799 \n3 2800 5217 4364 \n3 4366 2804 5820 \n3 4365 5222 2802 \n3 2803 5225 5821 \n3 5822 2807 5214 \n3 5823 4369 2805 \n3 2806 4373 5216 \n3 5824 2810 4368 \n3 5825 5826 2808 \n3 2809 5827 4370 \n3 4372 2813 5218 \n3 4371 5828 2811 \n3 2812 5829 5219 \n3 5224 2816 5830 \n3 5223 4375 2814 \n3 2815 4379 5831 \n3 5221 2819 4374 \n3 5220 5832 2817 \n3 2818 5833 4376 \n3 4378 2822 5834 \n3 4377 5835 2820 \n3 2821 5836 5837 \n3 5838 2825 5839 \n3 5840 4381 2823 \n3 2824 4385 5841 \n3 5842 2828 4380 \n3 5843 5227 2826 \n3 2827 5229 4382 \n3 4384 2831 5844 \n3 4383 5234 2829 \n3 2830 5237 5845 \n3 5846 2834 5226 \n3 5847 4387 2832 \n3 2833 4391 5228 \n3 5848 2837 4386 \n3 5849 5850 2835 \n3 2836 5851 4388 \n3 4390 2840 5230 \n3 4389 5852 2838 \n3 2839 5853 5231 \n3 5236 2843 5854 \n3 5235 4393 2841 \n3 2842 4397 5855 \n3 5233 2846 4392 \n3 5232 5856 2844 \n3 2845 5857 4394 \n3 4396 2849 5858 \n3 4395 5859 2847 \n3 2848 5860 5861 \n3 5862 2852 5863 \n3 5864 4399 2850 \n3 2851 4403 5865 \n3 5866 2855 4398 \n3 5867 5239 2853 \n3 2854 5241 4400 \n3 4402 2858 5868 \n3 4401 5246 2856 \n3 2857 5249 5869 \n3 5870 2861 5238 \n3 5871 4405 2859 \n3 2860 4409 5240 \n3 5872 2864 4404 \n3 5873 5874 2862 \n3 2863 5875 4406 \n3 4408 2867 5242 \n3 4407 5876 2865 \n3 2866 5877 5243 \n3 5248 2870 5878 \n3 5247 4411 2868 \n3 2869 4415 5879 \n3 5245 2873 4410 \n3 5244 5880 2871 \n3 2872 5881 4412 \n3 4414 2876 5882 \n3 4413 5883 2874 \n3 2875 5884 5885 \n3 5886 2879 5887 \n3 5888 4417 2877 \n3 2878 4421 5889 \n3 5890 2882 4416 \n3 5891 5251 2880 \n3 2881 5253 4418 \n3 4420 2885 5892 \n3 4419 5258 2883 \n3 2884 5261 5893 \n3 5894 2888 5250 \n3 5895 4423 2886 \n3 2887 4427 5252 \n3 5896 2891 4422 \n3 5897 5898 2889 \n3 2890 5899 4424 \n3 4426 2894 5254 \n3 4425 5900 2892 \n3 2893 5901 5255 \n3 5260 2897 5902 \n3 5259 4429 2895 \n3 2896 4433 5903 \n3 5257 2900 4428 \n3 5256 5904 2898 \n3 2899 5905 4430 \n3 4432 2903 5906 \n3 4431 5907 2901 \n3 2902 5908 5909 \n3 5910 2906 5911 \n3 5912 4435 2904 \n3 2905 4439 5913 \n3 5914 2909 4434 \n3 5915 5263 2907 \n3 2908 5265 4436 \n3 4438 2912 5916 \n3 4437 5270 2910 \n3 2911 5273 5917 \n3 5918 2915 5262 \n3 5919 4441 2913 \n3 2914 4445 5264 \n3 5920 2918 4440 \n3 5921 5922 2916 \n3 2917 5923 4442 \n3 4444 2921 5266 \n3 4443 5924 2919 \n3 2920 5925 5267 \n3 5272 2924 5926 \n3 5271 4447 2922 \n3 2923 4451 5927 \n3 5269 2927 4446 \n3 5268 5928 2925 \n3 2926 5929 4448 \n3 4450 2930 5930 \n3 4449 5931 2928 \n3 2929 5932 5933 \n3 5934 2933 5935 \n3 5936 4453 2931 \n3 2932 4457 5937 \n3 5938 2936 4452 \n3 5939 5275 2934 \n3 2935 5277 4454 \n3 4456 2939 5940 \n3 4455 5282 2937 \n3 2938 5285 5941 \n3 5942 2942 5274 \n3 5943 4459 2940 \n3 2941 4463 5276 \n3 5944 2945 4458 \n3 5945 5946 2943 \n3 2944 5947 4460 \n3 4462 2948 5278 \n3 4461 5948 2946 \n3 2947 5949 5279 \n3 5284 2951 5950 \n3 5283 4465 2949 \n3 2950 4469 5951 \n3 5281 2954 4464 \n3 5280 5952 2952 \n3 2953 5953 4466 \n3 4468 2957 5954 \n3 4467 5955 2955 \n3 2956 5956 5957 \n3 5958 2960 5959 \n3 5960 4471 2958 \n3 2959 4475 5961 \n3 5962 2963 4470 \n3 5963 5287 2961 \n3 2962 5289 4472 \n3 4474 2966 5964 \n3 4473 5294 2964 \n3 2965 5297 5965 \n3 5966 2969 5286 \n3 5967 4477 2967 \n3 2968 4481 5288 \n3 5968 2972 4476 \n3 5969 5970 2970 \n3 2971 5971 4478 \n3 4480 2975 5290 \n3 4479 5972 2973 \n3 2974 5973 5291 \n3 5296 2978 5974 \n3 5295 4483 2976 \n3 2977 4487 5975 \n3 5293 2981 4482 \n3 5292 5976 2979 \n3 2980 5977 4484 \n3 4486 2984 5978 \n3 4485 5979 2982 \n3 2983 5980 5981 \n3 5982 2987 5983 \n3 5984 4489 2985 \n3 2986 4493 5985 \n3 5986 2990 4488 \n3 5987 5299 2988 \n3 2989 5301 4490 \n3 4492 2993 5988 \n3 4491 5306 2991 \n3 2992 5309 5989 \n3 5990 2996 5298 \n3 5991 4495 2994 \n3 2995 4499 5300 \n3 5992 2999 4494 \n3 5993 5994 2997 \n3 2998 5995 4496 \n3 4498 3002 5302 \n3 4497 5996 3000 \n3 3001 5997 5303 \n3 5308 3005 5998 \n3 5307 4501 3003 \n3 3004 4505 5999 \n3 5305 3008 4500 \n3 5304 6000 3006 \n3 3007 6001 4502 \n3 4504 3011 6002 \n3 4503 6003 3009 \n3 3010 6004 6005 \n3 6006 3014 6007 \n3 6008 4507 3012 \n3 3013 4511 6009 \n3 6010 3017 4506 \n3 6011 5311 3015 \n3 3016 5313 4508 \n3 4510 3020 6012 \n3 4509 5318 3018 \n3 3019 5321 6013 \n3 6014 3023 5310 \n3 6015 4513 3021 \n3 3022 4517 5312 \n3 6016 3026 4512 \n3 6017 6018 3024 \n3 3025 6019 4514 \n3 4516 3029 5314 \n3 4515 6020 3027 \n3 3028 6021 5315 \n3 5320 3032 6022 \n3 5319 4519 3030 \n3 3031 4523 6023 \n3 5317 3035 4518 \n3 5316 6024 3033 \n3 3034 6025 4520 \n3 4522 3038 6026 \n3 4521 6027 3036 \n3 3037 6028 6029 \n3 6030 3041 6031 \n3 6032 4525 3039 \n3 3040 4529 6033 \n3 6034 3044 4524 \n3 6035 5323 3042 \n3 3043 5325 4526 \n3 4528 3047 6036 \n3 4527 5330 3045 \n3 3046 5333 6037 \n3 6038 3050 5322 \n3 6039 4531 3048 \n3 3049 4535 5324 \n3 6040 3053 4530 \n3 6041 6042 3051 \n3 3052 6043 4532 \n3 4534 3056 5326 \n3 4533 6044 3054 \n3 3055 6045 5327 \n3 5332 3059 6046 \n3 5331 4537 3057 \n3 3058 4541 6047 \n3 5329 3062 4536 \n3 5328 6048 3060 \n3 3061 6049 4538 \n3 4540 3065 6050 \n3 4539 6051 3063 \n3 3064 6052 6053 \n3 6054 3068 6055 \n3 6056 4543 3066 \n3 3067 4547 6057 \n3 6058 3071 4542 \n3 6059 5335 3069 \n3 3070 5337 4544 \n3 4546 3074 6060 \n3 4545 5342 3072 \n3 3073 5345 6061 \n3 6062 3077 5334 \n3 6063 4549 3075 \n3 3076 4553 5336 \n3 6064 3080 4548 \n3 6065 5767 3078 \n3 3079 5769 4550 \n3 4552 3083 5338 \n3 4551 5772 3081 \n3 3082 5773 5339 \n3 5344 3086 6066 \n3 5343 4555 3084 \n3 3085 4559 6067 \n3 5341 3089 4554 \n3 5340 5782 3087 \n3 3088 5783 4556 \n3 4558 3092 6068 \n3 4557 5786 3090 \n3 3091 5789 6069 \n3 6070 3095 5766 \n3 6071 4561 3093 \n3 3094 4565 5768 \n3 6072 3098 4560 \n3 6073 5347 3096 \n3 3097 5349 4562 \n3 4564 3101 5770 \n3 4563 5354 3099 \n3 3100 5357 5771 \n3 6074 3104 5346 \n3 6075 4567 3102 \n3 3103 4571 5348 \n3 6076 3107 4566 \n3 6077 6078 3105 \n3 3106 6079 4568 \n3 4570 3110 5350 \n3 4569 6080 3108 \n3 3109 6081 5351 \n3 5356 3113 5774 \n3 5355 4573 3111 \n3 3112 4577 5775 \n3 5353 3116 4572 \n3 5352 6082 3114 \n3 3115 6083 4574 \n3 4576 3119 5776 \n3 4575 6084 3117 \n3 3118 6085 5777 \n3 5788 3122 6086 \n3 5787 4579 3120 \n3 3121 4583 6087 \n3 5785 3125 4578 \n3 5784 5359 3123 \n3 3124 5361 4580 \n3 4582 3128 6088 \n3 4581 5366 3126 \n3 3127 5369 6089 \n3 5781 3131 5358 \n3 5780 4585 3129 \n3 3130 4589 5360 \n3 5779 3134 4584 \n3 5778 6090 3132 \n3 3133 6091 4586 \n3 4588 3137 5362 \n3 4587 6092 3135 \n3 3136 6093 5363 \n3 5368 3140 6094 \n3 5367 4591 3138 \n3 3139 4595 6095 \n3 5365 3143 4590 \n3 5364 6096 3141 \n3 3142 6097 4592 \n3 4594 3146 6098 \n3 4593 6099 3144 \n3 3145 6100 6101 \n3 6102 3149 6103 \n3 6104 4597 3147 \n3 3148 4601 6105 \n3 6106 3152 4596 \n3 6107 5371 3150 \n3 3151 5373 4598 \n3 4600 3155 6108 \n3 4599 5378 3153 \n3 3154 5381 6109 \n3 6110 3158 5370 \n3 6111 4603 3156 \n3 3157 4607 5372 \n3 6112 3161 4602 \n3 6113 5791 3159 \n3 3160 5793 4604 \n3 4606 3164 5374 \n3 4605 5796 3162 \n3 3163 5797 5375 \n3 5380 3167 6114 \n3 5379 4609 3165 \n3 3166 4613 6115 \n3 5377 3170 4608 \n3 5376 5806 3168 \n3 3169 5807 4610 \n3 4612 3173 6116 \n3 4611 5810 3171 \n3 3172 5813 6117 \n3 6118 3176 5790 \n3 6119 4615 3174 \n3 3175 4619 5792 \n3 6120 3179 4614 \n3 6121 5383 3177 \n3 3178 5385 4616 \n3 4618 3182 5794 \n3 4617 5390 3180 \n3 3181 5393 5795 \n3 6122 3185 5382 \n3 6123 4621 3183 \n3 3184 4625 5384 \n3 6124 3188 4620 \n3 6125 6100 3186 \n3 3187 6099 4622 \n3 4624 3191 5386 \n3 4623 6097 3189 \n3 3190 6096 5387 \n3 5392 3194 5798 \n3 5391 4627 3192 \n3 3193 4631 5799 \n3 5389 3197 4626 \n3 5388 6093 3195 \n3 3196 6092 4628 \n3 4630 3200 5800 \n3 4629 6091 3198 \n3 3199 6090 5801 \n3 5812 3203 6126 \n3 5811 4633 3201 \n3 3202 4637 6127 \n3 5809 3206 4632 \n3 5808 5395 3204 \n3 3205 5397 4634 \n3 4636 3209 6128 \n3 4635 5402 3207 \n3 3208 5405 6129 \n3 5805 3212 5394 \n3 5804 4639 3210 \n3 3211 4643 5396 \n3 5803 3215 4638 \n3 5802 6085 3213 \n3 3214 6084 4640 \n3 4642 3218 5398 \n3 4641 6083 3216 \n3 3217 6082 5399 \n3 5404 3221 6130 \n3 5403 4645 3219 \n3 3220 4649 6131 \n3 5401 3224 4644 \n3 5400 6081 3222 \n3 3223 6080 4646 \n3 4648 3227 6132 \n3 4647 6079 3225 \n3 3226 6078 6133 \n3 6134 3230 6135 \n3 6136 4651 3228 \n3 3229 4655 6137 \n3 6138 3233 4650 \n3 6139 5407 3231 \n3 3232 5409 4652 \n3 4654 3236 6140 \n3 4653 5414 3234 \n3 3235 5417 6141 \n3 6142 3239 5406 \n3 6143 4657 3237 \n3 3238 4661 5408 \n3 6144 3242 4656 \n3 6145 5815 3240 \n3 3241 5817 4658 \n3 4660 3245 5410 \n3 4659 5820 3243 \n3 3244 5821 5411 \n3 5416 3248 6146 \n3 5415 4663 3246 \n3 3247 4667 6147 \n3 5413 3251 4662 \n3 5412 5830 3249 \n3 3250 5831 4664 \n3 4666 3254 6148 \n3 4665 5834 3252 \n3 3253 5837 6149 \n3 6150 3257 5814 \n3 6151 4669 3255 \n3 3256 4673 5816 \n3 6152 3260 4668 \n3 6153 5419 3258 \n3 3259 5421 4670 \n3 4672 3263 5818 \n3 4671 5426 3261 \n3 3262 5429 5819 \n3 6154 3266 5418 \n3 6155 4675 3264 \n3 3265 4679 5420 \n3 6156 3269 4674 \n3 6157 6158 3267 \n3 3268 6159 4676 \n3 4678 3272 5422 \n3 4677 6160 3270 \n3 3271 6161 5423 \n3 5428 3275 5822 \n3 5427 4681 3273 \n3 3274 4685 5823 \n3 5425 3278 4680 \n3 5424 6162 3276 \n3 3277 6163 4682 \n3 4684 3281 5824 \n3 4683 6164 3279 \n3 3280 6165 5825 \n3 5836 3284 6166 \n3 5835 4687 3282 \n3 3283 4691 6167 \n3 5833 3287 4686 \n3 5832 5431 3285 \n3 3286 5433 4688 \n3 4690 3290 6168 \n3 4689 5438 3288 \n3 3289 5441 6169 \n3 5829 3293 5430 \n3 5828 4693 3291 \n3 3292 4697 5432 \n3 5827 3296 4692 \n3 5826 6170 3294 \n3 3295 6171 4694 \n3 4696 3299 5434 \n3 4695 6172 3297 \n3 3298 6173 5435 \n3 5440 3302 6174 \n3 5439 4699 3300 \n3 3301 4703 6175 \n3 5437 3305 4698 \n3 5436 6176 3303 \n3 3304 6177 4700 \n3 4702 3308 6178 \n3 4701 6179 3306 \n3 3307 6180 6181 \n3 6182 3311 6183 \n3 6184 4705 3309 \n3 3310 4709 6185 \n3 6186 3314 4704 \n3 6187 5443 3312 \n3 3313 5445 4706 \n3 4708 3317 6188 \n3 4707 5450 3315 \n3 3316 5453 6189 \n3 6190 3320 5442 \n3 6191 4711 3318 \n3 3319 4715 5444 \n3 6192 3323 4710 \n3 6193 5839 3321 \n3 3322 5841 4712 \n3 4714 3326 5446 \n3 4713 5844 3324 \n3 3325 5845 5447 \n3 5452 3329 6194 \n3 5451 4717 3327 \n3 3328 4721 6195 \n3 5449 3332 4716 \n3 5448 5854 3330 \n3 3331 5855 4718 \n3 4720 3335 6196 \n3 4719 5858 3333 \n3 3334 5861 6197 \n3 6198 3338 5838 \n3 6199 4723 3336 \n3 3337 4727 5840 \n3 6200 3341 4722 \n3 6201 5455 3339 \n3 3340 5457 4724 \n3 4726 3344 5842 \n3 4725 5462 3342 \n3 3343 5465 5843 \n3 6202 3347 5454 \n3 6203 4729 3345 \n3 3346 4733 5456 \n3 6204 3350 4728 \n3 6205 6180 3348 \n3 3349 6179 4730 \n3 4732 3353 5458 \n3 4731 6177 3351 \n3 3352 6176 5459 \n3 5464 3356 5846 \n3 5463 4735 3354 \n3 3355 4739 5847 \n3 5461 3359 4734 \n3 5460 6173 3357 \n3 3358 6172 4736 \n3 4738 3362 5848 \n3 4737 6171 3360 \n3 3361 6170 5849 \n3 5860 3365 6206 \n3 5859 4741 3363 \n3 3364 4745 6207 \n3 5857 3368 4740 \n3 5856 5467 3366 \n3 3367 5469 4742 \n3 4744 3371 6208 \n3 4743 5474 3369 \n3 3370 5477 6209 \n3 5853 3374 5466 \n3 5852 4747 3372 \n3 3373 4751 5468 \n3 5851 3377 4746 \n3 5850 6165 3375 \n3 3376 6164 4748 \n3 4750 3380 5470 \n3 4749 6163 3378 \n3 3379 6162 5471 \n3 5476 3383 6210 \n3 5475 4753 3381 \n3 3382 4757 6211 \n3 5473 3386 4752 \n3 5472 6161 3384 \n3 3385 6160 4754 \n3 4756 3389 6212 \n3 4755 6159 3387 \n3 3388 6158 6213 \n3 6214 3392 6215 \n3 6216 4759 3390 \n3 3391 4763 6217 \n3 6218 3395 4758 \n3 6219 5479 3393 \n3 3394 5481 4760 \n3 4762 3398 6220 \n3 4761 5486 3396 \n3 3397 5489 6221 \n3 6222 3401 5478 \n3 6223 4765 3399 \n3 3400 4769 5480 \n3 6224 3404 4764 \n3 6225 5863 3402 \n3 3403 5865 4766 \n3 4768 3407 5482 \n3 4767 5868 3405 \n3 3406 5869 5483 \n3 5488 3410 6226 \n3 5487 4771 3408 \n3 3409 4775 6227 \n3 5485 3413 4770 \n3 5484 5878 3411 \n3 3412 5879 4772 \n3 4774 3416 6228 \n3 4773 5882 3414 \n3 3415 5885 6229 \n3 6230 3419 5862 \n3 6231 4777 3417 \n3 3418 4781 5864 \n3 6232 3422 4776 \n3 6233 5491 3420 \n3 3421 5493 4778 \n3 4780 3425 5866 \n3 4779 5498 3423 \n3 3424 5501 5867 \n3 6234 3428 5490 \n3 6235 4783 3426 \n3 3427 4787 5492 \n3 6236 3431 4782 \n3 6237 6238 3429 \n3 3430 6239 4784 \n3 4786 3434 5494 \n3 4785 6240 3432 \n3 3433 6241 5495 \n3 5500 3437 5870 \n3 5499 4789 3435 \n3 3436 4793 5871 \n3 5497 3440 4788 \n3 5496 6242 3438 \n3 3439 6243 4790 \n3 4792 3443 5872 \n3 4791 6244 3441 \n3 3442 6245 5873 \n3 5884 3446 6246 \n3 5883 4795 3444 \n3 3445 4799 6247 \n3 5881 3449 4794 \n3 5880 5503 3447 \n3 3448 5505 4796 \n3 4798 3452 6248 \n3 4797 5510 3450 \n3 3451 5513 6249 \n3 5877 3455 5502 \n3 5876 4801 3453 \n3 3454 4805 5504 \n3 5875 3458 4800 \n3 5874 6250 3456 \n3 3457 6251 4802 \n3 4804 3461 5506 \n3 4803 6252 3459 \n3 3460 6253 5507 \n3 5512 3464 6254 \n3 5511 4807 3462 \n3 3463 4811 6255 \n3 5509 3467 4806 \n3 5508 6256 3465 \n3 3466 6257 4808 \n3 4810 3470 6258 \n3 4809 6259 3468 \n3 3469 6260 6261 \n3 6262 3473 6263 \n3 6264 4813 3471 \n3 3472 4817 6265 \n3 6266 3476 4812 \n3 6267 5515 3474 \n3 3475 5517 4814 \n3 4816 3479 6268 \n3 4815 5522 3477 \n3 3478 5525 6269 \n3 6270 3482 5514 \n3 6271 4819 3480 \n3 3481 4823 5516 \n3 6272 3485 4818 \n3 6273 5887 3483 \n3 3484 5889 4820 \n3 4822 3488 5518 \n3 4821 5892 3486 \n3 3487 5893 5519 \n3 5524 3491 6274 \n3 5523 4825 3489 \n3 3490 4829 6275 \n3 5521 3494 4824 \n3 5520 5902 3492 \n3 3493 5903 4826 \n3 4828 3497 6276 \n3 4827 5906 3495 \n3 3496 5909 6277 \n3 6278 3500 5886 \n3 6279 4831 3498 \n3 3499 4835 5888 \n3 6280 3503 4830 \n3 6281 5527 3501 \n3 3502 5529 4832 \n3 4834 3506 5890 \n3 4833 5534 3504 \n3 3505 5537 5891 \n3 6282 3509 5526 \n3 6283 4837 3507 \n3 3508 4841 5528 \n3 6284 3512 4836 \n3 6285 6260 3510 \n3 3511 6259 4838 \n3 4840 3515 5530 \n3 4839 6257 3513 \n3 3514 6256 5531 \n3 5536 3518 5894 \n3 5535 4843 3516 \n3 3517 4847 5895 \n3 5533 3521 4842 \n3 5532 6253 3519 \n3 3520 6252 4844 \n3 4846 3524 5896 \n3 4845 6251 3522 \n3 3523 6250 5897 \n3 5908 3527 6286 \n3 5907 4849 3525 \n3 3526 4853 6287 \n3 5905 3530 4848 \n3 5904 5539 3528 \n3 3529 5541 4850 \n3 4852 3533 6288 \n3 4851 5546 3531 \n3 3532 5549 6289 \n3 5901 3536 5538 \n3 5900 4855 3534 \n3 3535 4859 5540 \n3 5899 3539 4854 \n3 5898 6245 3537 \n3 3538 6244 4856 \n3 4858 3542 5542 \n3 4857 6243 3540 \n3 3541 6242 5543 \n3 5548 3545 6290 \n3 5547 4861 3543 \n3 3544 4865 6291 \n3 5545 3548 4860 \n3 5544 6241 3546 \n3 3547 6240 4862 \n3 4864 3551 6292 \n3 4863 6239 3549 \n3 3550 6238 6293 \n3 6294 3554 6295 \n3 6296 4867 3552 \n3 3553 4871 6297 \n3 6298 3557 4866 \n3 6299 5551 3555 \n3 3556 5553 4868 \n3 4870 3560 6300 \n3 4869 5558 3558 \n3 3559 5561 6301 \n3 6302 3563 5550 \n3 6303 4873 3561 \n3 3562 4877 5552 \n3 6304 3566 4872 \n3 6305 5911 3564 \n3 3565 5913 4874 \n3 4876 3569 5554 \n3 4875 5916 3567 \n3 3568 5917 5555 \n3 5560 3572 6306 \n3 5559 4879 3570 \n3 3571 4883 6307 \n3 5557 3575 4878 \n3 5556 5926 3573 \n3 3574 5927 4880 \n3 4882 3578 6308 \n3 4881 5930 3576 \n3 3577 5933 6309 \n3 6310 3581 5910 \n3 6311 4885 3579 \n3 3580 4889 5912 \n3 6312 3584 4884 \n3 6313 5563 3582 \n3 3583 5565 4886 \n3 4888 3587 5914 \n3 4887 5570 3585 \n3 3586 5573 5915 \n3 6314 3590 5562 \n3 6315 4891 3588 \n3 3589 4895 5564 \n3 6316 3593 4890 \n3 6317 6318 3591 \n3 3592 6319 4892 \n3 4894 3596 5566 \n3 4893 6320 3594 \n3 3595 6321 5567 \n3 5572 3599 5918 \n3 5571 4897 3597 \n3 3598 4901 5919 \n3 5569 3602 4896 \n3 5568 6322 3600 \n3 3601 6323 4898 \n3 4900 3605 5920 \n3 4899 6324 3603 \n3 3604 6325 5921 \n3 5932 3608 6326 \n3 5931 4903 3606 \n3 3607 4907 6327 \n3 5929 3611 4902 \n3 5928 5575 3609 \n3 3610 5577 4904 \n3 4906 3614 6328 \n3 4905 5582 3612 \n3 3613 5585 6329 \n3 5925 3617 5574 \n3 5924 4909 3615 \n3 3616 4913 5576 \n3 5923 3620 4908 \n3 5922 6330 3618 \n3 3619 6331 4910 \n3 4912 3623 5578 \n3 4911 6332 3621 \n3 3622 6333 5579 \n3 5584 3626 6334 \n3 5583 4915 3624 \n3 3625 4919 6335 \n3 5581 3629 4914 \n3 5580 6336 3627 \n3 3628 6337 4916 \n3 4918 3632 6338 \n3 4917 6339 3630 \n3 3631 6340 6341 \n3 6342 3635 6343 \n3 6344 4921 3633 \n3 3634 4925 6345 \n3 6346 3638 4920 \n3 6347 5587 3636 \n3 3637 5589 4922 \n3 4924 3641 6348 \n3 4923 5594 3639 \n3 3640 5597 6349 \n3 6350 3644 5586 \n3 6351 4927 3642 \n3 3643 4931 5588 \n3 6352 3647 4926 \n3 6353 5935 3645 \n3 3646 5937 4928 \n3 4930 3650 5590 \n3 4929 5940 3648 \n3 3649 5941 5591 \n3 5596 3653 6354 \n3 5595 4933 3651 \n3 3652 4937 6355 \n3 5593 3656 4932 \n3 5592 5950 3654 \n3 3655 5951 4934 \n3 4936 3659 6356 \n3 4935 5954 3657 \n3 3658 5957 6357 \n3 6358 3662 5934 \n3 6359 4939 3660 \n3 3661 4943 5936 \n3 6360 3665 4938 \n3 6361 5599 3663 \n3 3664 5601 4940 \n3 4942 3668 5938 \n3 4941 5606 3666 \n3 3667 5609 5939 \n3 6362 3671 5598 \n3 6363 4945 3669 \n3 3670 4949 5600 \n3 6364 3674 4944 \n3 6365 6340 3672 \n3 3673 6339 4946 \n3 4948 3677 5602 \n3 4947 6337 3675 \n3 3676 6336 5603 \n3 5608 3680 5942 \n3 5607 4951 3678 \n3 3679 4955 5943 \n3 5605 3683 4950 \n3 5604 6333 3681 \n3 3682 6332 4952 \n3 4954 3686 5944 \n3 4953 6331 3684 \n3 3685 6330 5945 \n3 5956 3689 6366 \n3 5955 4957 3687 \n3 3688 4961 6367 \n3 5953 3692 4956 \n3 5952 5611 3690 \n3 3691 5613 4958 \n3 4960 3695 6368 \n3 4959 5618 3693 \n3 3694 5621 6369 \n3 5949 3698 5610 \n3 5948 4963 3696 \n3 3697 4967 5612 \n3 5947 3701 4962 \n3 5946 6325 3699 \n3 3700 6324 4964 \n3 4966 3704 5614 \n3 4965 6323 3702 \n3 3703 6322 5615 \n3 5620 3707 6370 \n3 5619 4969 3705 \n3 3706 4973 6371 \n3 5617 3710 4968 \n3 5616 6321 3708 \n3 3709 6320 4970 \n3 4972 3713 6372 \n3 4971 6319 3711 \n3 3712 6318 6373 \n3 6374 3716 6375 \n3 6376 4975 3714 \n3 3715 4979 6377 \n3 6378 3719 4974 \n3 6379 5623 3717 \n3 3718 5625 4976 \n3 4978 3722 6380 \n3 4977 5630 3720 \n3 3721 5633 6381 \n3 6382 3725 5622 \n3 6383 4981 3723 \n3 3724 4985 5624 \n3 6384 3728 4980 \n3 6385 5959 3726 \n3 3727 5961 4982 \n3 4984 3731 5626 \n3 4983 5964 3729 \n3 3730 5965 5627 \n3 5632 3734 6386 \n3 5631 4987 3732 \n3 3733 4991 6387 \n3 5629 3737 4986 \n3 5628 5974 3735 \n3 3736 5975 4988 \n3 4990 3740 6388 \n3 4989 5978 3738 \n3 3739 5981 6389 \n3 6390 3743 5958 \n3 6391 4993 3741 \n3 3742 4997 5960 \n3 6392 3746 4992 \n3 6393 5635 3744 \n3 3745 5637 4994 \n3 4996 3749 5962 \n3 4995 5642 3747 \n3 3748 5645 5963 \n3 6394 3752 5634 \n3 6395 4999 3750 \n3 3751 5003 5636 \n3 6396 3755 4998 \n3 6397 6398 3753 \n3 3754 6399 5000 \n3 5002 3758 5638 \n3 5001 6400 3756 \n3 3757 6401 5639 \n3 5644 3761 5966 \n3 5643 5005 3759 \n3 3760 5009 5967 \n3 5641 3764 5004 \n3 5640 6402 3762 \n3 3763 6403 5006 \n3 5008 3767 5968 \n3 5007 6404 3765 \n3 3766 6405 5969 \n3 5980 3770 6406 \n3 5979 5011 3768 \n3 3769 5015 6407 \n3 5977 3773 5010 \n3 5976 5647 3771 \n3 3772 5649 5012 \n3 5014 3776 6408 \n3 5013 5654 3774 \n3 3775 5657 6409 \n3 5973 3779 5646 \n3 5972 5017 3777 \n3 3778 5021 5648 \n3 5971 3782 5016 \n3 5970 6410 3780 \n3 3781 6411 5018 \n3 5020 3785 5650 \n3 5019 6412 3783 \n3 3784 6413 5651 \n3 5656 3788 6414 \n3 5655 5023 3786 \n3 3787 5027 6415 \n3 5653 3791 5022 \n3 5652 6416 3789 \n3 3790 6417 5024 \n3 5026 3794 6418 \n3 5025 6419 3792 \n3 3793 6420 6421 \n3 6422 3797 6423 \n3 6424 5029 3795 \n3 3796 5033 6425 \n3 6426 3800 5028 \n3 6427 5659 3798 \n3 3799 5661 5030 \n3 5032 3803 6428 \n3 5031 5666 3801 \n3 3802 5669 6429 \n3 6430 3806 5658 \n3 6431 5035 3804 \n3 3805 5039 5660 \n3 6432 3809 5034 \n3 6433 5983 3807 \n3 3808 5985 5036 \n3 5038 3812 5662 \n3 5037 5988 3810 \n3 3811 5989 5663 \n3 5668 3815 6434 \n3 5667 5041 3813 \n3 3814 5045 6435 \n3 5665 3818 5040 \n3 5664 5998 3816 \n3 3817 5999 5042 \n3 5044 3821 6436 \n3 5043 6002 3819 \n3 3820 6005 6437 \n3 6438 3824 5982 \n3 6439 5047 3822 \n3 3823 5051 5984 \n3 6440 3827 5046 \n3 6441 5671 3825 \n3 3826 5673 5048 \n3 5050 3830 5986 \n3 5049 5678 3828 \n3 3829 5681 5987 \n3 6442 3833 5670 \n3 6443 5053 3831 \n3 3832 5057 5672 \n3 6444 3836 5052 \n3 6445 6420 3834 \n3 3835 6419 5054 \n3 5056 3839 5674 \n3 5055 6417 3837 \n3 3838 6416 5675 \n3 5680 3842 5990 \n3 5679 5059 3840 \n3 3841 5063 5991 \n3 5677 3845 5058 \n3 5676 6413 3843 \n3 3844 6412 5060 \n3 5062 3848 5992 \n3 5061 6411 3846 \n3 3847 6410 5993 \n3 6004 3851 6446 \n3 6003 5065 3849 \n3 3850 5069 6447 \n3 6001 3854 5064 \n3 6000 5683 3852 \n3 3853 5685 5066 \n3 5068 3857 6448 \n3 5067 5690 3855 \n3 3856 5693 6449 \n3 5997 3860 5682 \n3 5996 5071 3858 \n3 3859 5075 5684 \n3 5995 3863 5070 \n3 5994 6405 3861 \n3 3862 6404 5072 \n3 5074 3866 5686 \n3 5073 6403 3864 \n3 3865 6402 5687 \n3 5692 3869 6450 \n3 5691 5077 3867 \n3 3868 5081 6451 \n3 5689 3872 5076 \n3 5688 6401 3870 \n3 3871 6400 5078 \n3 5080 3875 6452 \n3 5079 6399 3873 \n3 3874 6398 6453 \n3 6454 3878 6455 \n3 6456 5083 3876 \n3 3877 5087 6457 \n3 6458 3881 5082 \n3 6459 5695 3879 \n3 3880 5697 5084 \n3 5086 3884 6460 \n3 5085 5702 3882 \n3 3883 5705 6461 \n3 6462 3887 5694 \n3 6463 5089 3885 \n3 3886 5093 5696 \n3 6464 3890 5088 \n3 6465 6007 3888 \n3 3889 6009 5090 \n3 5092 3893 5698 \n3 5091 6012 3891 \n3 3892 6013 5699 \n3 5704 3896 6466 \n3 5703 5095 3894 \n3 3895 5099 6467 \n3 5701 3899 5094 \n3 5700 6022 3897 \n3 3898 6023 5096 \n3 5098 3902 6468 \n3 5097 6026 3900 \n3 3901 6029 6469 \n3 6470 3905 6006 \n3 6471 5101 3903 \n3 3904 5105 6008 \n3 6472 3908 5100 \n3 6473 5707 3906 \n3 3907 5709 5102 \n3 5104 3911 6010 \n3 5103 5714 3909 \n3 3910 5717 6011 \n3 6474 3914 5706 \n3 6475 5107 3912 \n3 3913 5111 5708 \n3 6476 3917 5106 \n3 6477 6478 3915 \n3 3916 6479 5108 \n3 5110 3920 5710 \n3 5109 6480 3918 \n3 3919 6481 5711 \n3 5716 3923 6014 \n3 5715 5113 3921 \n3 3922 5117 6015 \n3 5713 3926 5112 \n3 5712 6482 3924 \n3 3925 6483 5114 \n3 5116 3929 6016 \n3 5115 6484 3927 \n3 3928 6485 6017 \n3 6028 3932 6486 \n3 6027 5119 3930 \n3 3931 5123 6487 \n3 6025 3935 5118 \n3 6024 5719 3933 \n3 3934 5721 5120 \n3 5122 3938 6488 \n3 5121 5726 3936 \n3 3937 5729 6489 \n3 6021 3941 5718 \n3 6020 5125 3939 \n3 3940 5129 5720 \n3 6019 3944 5124 \n3 6018 6490 3942 \n3 3943 6491 5126 \n3 5128 3947 5722 \n3 5127 6492 3945 \n3 3946 6493 5723 \n3 5728 3950 6494 \n3 5727 5131 3948 \n3 3949 5135 6495 \n3 5725 3953 5130 \n3 5724 6496 3951 \n3 3952 6497 5132 \n3 5134 3956 6498 \n3 5133 6499 3954 \n3 3955 6500 6501 \n3 6502 3959 6503 \n3 6504 5137 3957 \n3 3958 5141 6505 \n3 6506 3962 5136 \n3 6507 5731 3960 \n3 3961 5733 5138 \n3 5140 3965 6508 \n3 5139 5738 3963 \n3 3964 5741 6509 \n3 6510 3968 5730 \n3 6511 5143 3966 \n3 3967 5147 5732 \n3 6512 3971 5142 \n3 6513 6031 3969 \n3 3970 6033 5144 \n3 5146 3974 5734 \n3 5145 6036 3972 \n3 3973 6037 5735 \n3 5740 3977 6514 \n3 5739 5149 3975 \n3 3976 5153 6515 \n3 5737 3980 5148 \n3 5736 6046 3978 \n3 3979 6047 5150 \n3 5152 3983 6516 \n3 5151 6050 3981 \n3 3982 6053 6517 \n3 6518 3986 6030 \n3 6519 5155 3984 \n3 3985 5159 6032 \n3 6520 3989 5154 \n3 6521 5743 3987 \n3 3988 5745 5156 \n3 5158 3992 6034 \n3 5157 5750 3990 \n3 3991 5753 6035 \n3 6522 3995 5742 \n3 6523 5161 3993 \n3 3994 5165 5744 \n3 6524 3998 5160 \n3 6525 6500 3996 \n3 3997 6499 5162 \n3 5164 4001 5746 \n3 5163 6497 3999 \n3 4000 6496 5747 \n3 5752 4004 6038 \n3 5751 5167 4002 \n3 4003 5171 6039 \n3 5749 4007 5166 \n3 5748 6493 4005 \n3 4006 6492 5168 \n3 5170 4010 6040 \n3 5169 6491 4008 \n3 4009 6490 6041 \n3 6052 4013 6526 \n3 6051 5173 4011 \n3 4012 5177 6527 \n3 6049 4016 5172 \n3 6048 5755 4014 \n3 4015 5757 5174 \n3 5176 4019 6528 \n3 5175 5762 4017 \n3 4018 5765 6529 \n3 6045 4022 5754 \n3 6044 5179 4020 \n3 4021 5183 5756 \n3 6043 4025 5178 \n3 6042 6485 4023 \n3 4024 6484 5180 \n3 5182 4028 5758 \n3 5181 6483 4026 \n3 4027 6482 5759 \n3 5764 4031 6530 \n3 5763 5185 4029 \n3 4030 5189 6531 \n3 5761 4034 5184 \n3 5760 6481 4032 \n3 4033 6480 5186 \n3 5188 4037 6532 \n3 5187 6479 4035 \n3 4036 6478 6533 \n3 386 1734 1736 \n3 1734 387 1735 \n3 1736 1735 388 \n3 389 1737 1739 \n3 1737 390 1738 \n3 1739 1738 391 \n3 392 1740 1742 \n3 1740 393 1741 \n3 1742 1741 394 \n3 395 1743 1745 \n3 1743 396 1744 \n3 1745 1744 397 \n3 398 1746 1748 \n3 1746 399 1747 \n3 1748 1747 400 \n3 401 1749 1751 \n3 1749 402 1750 \n3 1751 1750 403 \n3 404 1752 1754 \n3 1752 405 1753 \n3 1754 1753 406 \n3 407 1755 1757 \n3 1755 408 1756 \n3 1757 1756 409 \n3 410 1758 1760 \n3 1758 411 1759 \n3 1760 1759 412 \n3 413 1761 1763 \n3 1761 414 1762 \n3 1763 1762 415 \n3 416 1764 1766 \n3 1764 417 1765 \n3 1766 1765 418 \n3 419 1767 1769 \n3 1767 420 1768 \n3 1769 1768 421 \n3 422 1770 1772 \n3 1770 423 1771 \n3 1772 1771 424 \n3 425 1773 1775 \n3 1773 426 1774 \n3 1775 1774 427 \n3 428 1776 1778 \n3 1776 429 1777 \n3 1778 1777 430 \n3 431 1779 1781 \n3 1779 432 1780 \n3 1781 1780 433 \n3 434 1782 1784 \n3 1782 435 1783 \n3 1784 1783 436 \n3 437 1785 1787 \n3 1785 438 1786 \n3 1787 1786 439 \n3 440 1788 1790 \n3 1788 441 1789 \n3 1790 1789 442 \n3 443 1791 1793 \n3 1791 444 1792 \n3 1793 1792 445 \n3 446 1794 1796 \n3 1794 447 1795 \n3 1796 1795 448 \n3 449 1797 1799 \n3 1797 450 1798 \n3 1799 1798 451 \n3 452 1800 1802 \n3 1800 453 1801 \n3 1802 1801 454 \n3 455 1803 1805 \n3 1803 456 1804 \n3 1805 1804 457 \n3 458 1806 1808 \n3 1806 459 1807 \n3 1808 1807 460 \n3 461 1809 1811 \n3 1809 462 1810 \n3 1811 1810 463 \n3 464 1812 1814 \n3 1812 465 1813 \n3 1814 1813 466 \n3 467 1815 1817 \n3 1815 468 1816 \n3 1817 1816 469 \n3 470 1818 1820 \n3 1818 471 1819 \n3 1820 1819 472 \n3 473 1821 1823 \n3 1821 474 1822 \n3 1823 1822 475 \n3 476 1824 1826 \n3 1824 477 1825 \n3 1826 1825 478 \n3 479 1827 1829 \n3 1827 480 1828 \n3 1829 1828 481 \n3 482 1830 1832 \n3 1830 483 1831 \n3 1832 1831 484 \n3 485 1833 1835 \n3 1833 486 1834 \n3 1835 1834 487 \n3 488 1836 1838 \n3 1836 489 1837 \n3 1838 1837 490 \n3 491 1839 1841 \n3 1839 492 1840 \n3 1841 1840 493 \n3 494 1842 1844 \n3 1842 495 1843 \n3 1844 1843 496 \n3 497 1845 1847 \n3 1845 498 1846 \n3 1847 1846 499 \n3 500 1848 1850 \n3 1848 501 1849 \n3 1850 1849 502 \n3 503 1851 1853 \n3 1851 504 1852 \n3 1853 1852 505 \n3 506 1854 1856 \n3 1854 507 1855 \n3 1856 1855 508 \n3 509 1857 1859 \n3 1857 510 1858 \n3 1859 1858 511 \n3 512 1860 1862 \n3 1860 513 1861 \n3 1862 1861 514 \n3 515 1863 1865 \n3 1863 516 1864 \n3 1865 1864 517 \n3 518 1866 1868 \n3 1866 519 1867 \n3 1868 1867 520 \n3 521 1869 1871 \n3 1869 522 1870 \n3 1871 1870 523 \n3 524 1872 1874 \n3 1872 525 1873 \n3 1874 1873 526 \n3 527 1875 1877 \n3 1875 528 1876 \n3 1877 1876 529 \n3 530 1878 1880 \n3 1878 531 1879 \n3 1880 1879 532 \n3 533 1881 1883 \n3 1881 534 1882 \n3 1883 1882 535 \n3 536 1884 1886 \n3 1884 537 1885 \n3 1886 1885 538 \n3 539 1887 1889 \n3 1887 540 1888 \n3 1889 1888 541 \n3 542 1890 1892 \n3 1890 543 1891 \n3 1892 1891 544 \n3 545 1893 1895 \n3 1893 546 1894 \n3 1895 1894 547 \n3 548 1896 1898 \n3 1896 549 1897 \n3 1898 1897 550 \n3 551 1899 1901 \n3 1899 552 1900 \n3 1901 1900 553 \n3 554 1902 1904 \n3 1902 555 1903 \n3 1904 1903 556 \n3 557 1905 1907 \n3 1905 558 1906 \n3 1907 1906 559 \n3 560 1908 1910 \n3 1908 561 1909 \n3 1910 1909 562 \n3 563 1911 1913 \n3 1911 564 1912 \n3 1913 1912 565 \n3 566 1914 1916 \n3 1914 567 1915 \n3 1916 1915 568 \n3 569 1917 1919 \n3 1917 570 1918 \n3 1919 1918 571 \n3 572 1920 1922 \n3 1920 573 1921 \n3 1922 1921 574 \n3 575 1923 1925 \n3 1923 576 1924 \n3 1925 1924 577 \n3 578 1926 1928 \n3 1926 579 1927 \n3 1928 1927 580 \n3 581 1929 1931 \n3 1929 582 1930 \n3 1931 1930 583 \n3 584 1932 1934 \n3 1932 585 1933 \n3 1934 1933 586 \n3 587 1935 1937 \n3 1935 588 1936 \n3 1937 1936 589 \n3 590 1938 1940 \n3 1938 591 1939 \n3 1940 1939 592 \n3 593 1941 1943 \n3 1941 594 1942 \n3 1943 1942 595 \n3 596 1944 1946 \n3 1944 597 1945 \n3 1946 1945 598 \n3 599 1947 1949 \n3 1947 600 1948 \n3 1949 1948 601 \n3 602 1950 1952 \n3 1950 603 1951 \n3 1952 1951 604 \n3 605 1953 1955 \n3 1953 606 1954 \n3 1955 1954 607 \n3 608 1956 1958 \n3 1956 609 1957 \n3 1958 1957 610 \n3 611 1959 1961 \n3 1959 612 1960 \n3 1961 1960 613 \n3 614 1962 1964 \n3 1962 615 1963 \n3 1964 1963 616 \n3 617 1965 1967 \n3 1965 618 1966 \n3 1967 1966 619 \n3 620 1968 1970 \n3 1968 621 1969 \n3 1970 1969 622 \n3 623 1971 1973 \n3 1971 624 1972 \n3 1973 1972 625 \n3 626 1974 1976 \n3 1974 627 1975 \n3 1976 1975 628 \n3 629 1977 1979 \n3 1977 630 1978 \n3 1979 1978 631 \n3 632 1980 1982 \n3 1980 633 1981 \n3 1982 1981 634 \n3 635 1983 1985 \n3 1983 636 1984 \n3 1985 1984 637 \n3 638 1986 1988 \n3 1986 639 1987 \n3 1988 1987 640 \n3 641 1989 1991 \n3 1989 642 1990 \n3 1991 1990 643 \n3 644 1992 1994 \n3 1992 645 1993 \n3 1994 1993 646 \n3 647 1995 1997 \n3 1995 648 1996 \n3 1997 1996 649 \n3 650 1998 2000 \n3 1998 651 1999 \n3 2000 1999 652 \n3 653 2001 2003 \n3 2001 654 2002 \n3 2003 2002 655 \n3 656 2004 2006 \n3 2004 657 2005 \n3 2006 2005 658 \n3 659 2007 2009 \n3 2007 660 2008 \n3 2009 2008 661 \n3 662 2010 2012 \n3 2010 663 2011 \n3 2012 2011 664 \n3 665 2013 2015 \n3 2013 666 2014 \n3 2015 2014 667 \n3 668 2016 2018 \n3 2016 669 2017 \n3 2018 2017 670 \n3 671 2019 2021 \n3 2019 672 2020 \n3 2021 2020 673 \n3 674 2022 2024 \n3 2022 675 2023 \n3 2024 2023 676 \n3 677 2025 2027 \n3 2025 678 2026 \n3 2027 2026 679 \n3 680 2028 2030 \n3 2028 681 2029 \n3 2030 2029 682 \n3 683 2031 2033 \n3 2031 684 2032 \n3 2033 2032 685 \n3 686 2034 2036 \n3 2034 687 2035 \n3 2036 2035 688 \n3 689 2037 2039 \n3 2037 690 2038 \n3 2039 2038 691 \n3 692 2040 2042 \n3 2040 693 2041 \n3 2042 2041 694 \n3 695 2043 2045 \n3 2043 696 2044 \n3 2045 2044 697 \n3 698 2046 2048 \n3 2046 699 2047 \n3 2048 2047 700 \n3 701 2049 2051 \n3 2049 702 2050 \n3 2051 2050 703 \n3 704 2052 2054 \n3 2052 705 2053 \n3 2054 2053 706 \n3 707 2055 2057 \n3 2055 708 2056 \n3 2057 2056 709 \n3 710 2058 2060 \n3 2058 711 2059 \n3 2060 2059 712 \n3 713 2061 2063 \n3 2061 714 2062 \n3 2063 2062 715 \n3 716 2064 2066 \n3 2064 717 2065 \n3 2066 2065 718 \n3 719 2067 2069 \n3 2067 720 2068 \n3 2069 2068 721 \n3 722 2070 2072 \n3 2070 723 2071 \n3 2072 2071 724 \n3 725 2073 2075 \n3 2073 726 2074 \n3 2075 2074 727 \n3 728 2076 2078 \n3 2076 729 2077 \n3 2078 2077 730 \n3 731 2079 2081 \n3 2079 732 2080 \n3 2081 2080 733 \n3 734 2082 2084 \n3 2082 735 2083 \n3 2084 2083 736 \n3 737 2085 2087 \n3 2085 738 2086 \n3 2087 2086 739 \n3 740 2088 2090 \n3 2088 741 2089 \n3 2090 2089 742 \n3 743 2091 2093 \n3 2091 744 2092 \n3 2093 2092 745 \n3 746 2094 2096 \n3 2094 747 2095 \n3 2096 2095 748 \n3 749 2097 2099 \n3 2097 750 2098 \n3 2099 2098 751 \n3 752 2100 2102 \n3 2100 753 2101 \n3 2102 2101 754 \n3 755 2103 2105 \n3 2103 756 2104 \n3 2105 2104 757 \n3 758 2106 2108 \n3 2106 759 2107 \n3 2108 2107 760 \n3 761 2109 2111 \n3 2109 762 2110 \n3 2111 2110 763 \n3 764 2112 2114 \n3 2112 765 2113 \n3 2114 2113 766 \n3 767 2115 2117 \n3 2115 768 2116 \n3 2117 2116 769 \n3 770 2118 2120 \n3 2118 771 2119 \n3 2120 2119 772 \n3 773 2121 2123 \n3 2121 774 2122 \n3 2123 2122 775 \n3 776 2124 2126 \n3 2124 777 2125 \n3 2126 2125 778 \n3 779 2127 2129 \n3 2127 780 2128 \n3 2129 2128 781 \n3 782 2130 2132 \n3 2130 783 2131 \n3 2132 2131 784 \n3 785 2133 2135 \n3 2133 786 2134 \n3 2135 2134 787 \n3 788 2136 2138 \n3 2136 789 2137 \n3 2138 2137 790 \n3 791 2139 2141 \n3 2139 792 2140 \n3 2141 2140 793 \n3 794 2142 2144 \n3 2142 795 2143 \n3 2144 2143 796 \n3 797 2145 2147 \n3 2145 798 2146 \n3 2147 2146 799 \n3 800 2148 2150 \n3 2148 801 2149 \n3 2150 2149 802 \n3 803 2151 2153 \n3 2151 804 2152 \n3 2153 2152 805 \n3 806 2154 2156 \n3 2154 807 2155 \n3 2156 2155 808 \n3 809 2157 2159 \n3 2157 810 2158 \n3 2159 2158 811 \n3 812 2160 2162 \n3 2160 813 2161 \n3 2162 2161 814 \n3 815 2163 2165 \n3 2163 816 2164 \n3 2165 2164 817 \n3 818 2166 2168 \n3 2166 819 2167 \n3 2168 2167 820 \n3 821 2169 2171 \n3 2169 822 2170 \n3 2171 2170 823 \n3 824 2172 2174 \n3 2172 825 2173 \n3 2174 2173 826 \n3 827 2175 2177 \n3 2175 828 2176 \n3 2177 2176 829 \n3 830 2178 2180 \n3 2178 831 2179 \n3 2180 2179 832 \n3 833 2181 2183 \n3 2181 834 2182 \n3 2183 2182 835 \n3 836 2184 2186 \n3 2184 837 2185 \n3 2186 2185 838 \n3 839 2187 2189 \n3 2187 840 2188 \n3 2189 2188 841 \n3 842 2190 2192 \n3 2190 843 2191 \n3 2192 2191 844 \n3 845 2193 2195 \n3 2193 846 2194 \n3 2195 2194 847 \n3 848 2196 2198 \n3 2196 849 2197 \n3 2198 2197 850 \n3 851 2199 2201 \n3 2199 852 2200 \n3 2201 2200 853 \n3 854 2202 2204 \n3 2202 855 2203 \n3 2204 2203 856 \n3 857 2205 2207 \n3 2205 858 2206 \n3 2207 2206 859 \n3 860 2208 2210 \n3 2208 861 2209 \n3 2210 2209 862 \n3 863 2211 2213 \n3 2211 864 2212 \n3 2213 2212 865 \n3 866 2214 2216 \n3 2214 867 2215 \n3 2216 2215 868 \n3 869 2217 2219 \n3 2217 870 2218 \n3 2219 2218 871 \n3 872 2220 2222 \n3 2220 873 2221 \n3 2222 2221 874 \n3 875 2223 2225 \n3 2223 876 2224 \n3 2225 2224 877 \n3 878 2226 2228 \n3 2226 879 2227 \n3 2228 2227 880 \n3 881 2229 2231 \n3 2229 882 2230 \n3 2231 2230 883 \n3 884 2232 2234 \n3 2232 885 2233 \n3 2234 2233 886 \n3 887 2235 2237 \n3 2235 888 2236 \n3 2237 2236 889 \n3 890 2238 2240 \n3 2238 891 2239 \n3 2240 2239 892 \n3 893 2241 2243 \n3 2241 894 2242 \n3 2243 2242 895 \n3 896 2244 2246 \n3 2244 897 2245 \n3 2246 2245 898 \n3 899 2247 2249 \n3 2247 900 2248 \n3 2249 2248 901 \n3 902 2250 2252 \n3 2250 903 2251 \n3 2252 2251 904 \n3 905 2253 2255 \n3 2253 906 2254 \n3 2255 2254 907 \n3 908 2256 2258 \n3 2256 909 2257 \n3 2258 2257 910 \n3 911 2259 2261 \n3 2259 912 2260 \n3 2261 2260 913 \n3 914 2262 2264 \n3 2262 915 2263 \n3 2264 2263 916 \n3 917 2265 2267 \n3 2265 918 2266 \n3 2267 2266 919 \n3 920 2268 2270 \n3 2268 921 2269 \n3 2270 2269 922 \n3 923 2271 2273 \n3 2271 924 2272 \n3 2273 2272 925 \n3 926 2274 2276 \n3 2274 927 2275 \n3 2276 2275 928 \n3 929 2277 2279 \n3 2277 930 2278 \n3 2279 2278 931 \n3 932 2280 2282 \n3 2280 933 2281 \n3 2282 2281 934 \n3 935 2283 2285 \n3 2283 936 2284 \n3 2285 2284 937 \n3 938 2286 2288 \n3 2286 939 2287 \n3 2288 2287 940 \n3 941 2289 2291 \n3 2289 942 2290 \n3 2291 2290 943 \n3 944 2292 2294 \n3 2292 945 2293 \n3 2294 2293 946 \n3 947 2295 2297 \n3 2295 948 2296 \n3 2297 2296 949 \n3 950 2298 2300 \n3 2298 951 2299 \n3 2300 2299 952 \n3 953 2301 2303 \n3 2301 954 2302 \n3 2303 2302 955 \n3 956 2304 2306 \n3 2304 957 2305 \n3 2306 2305 958 \n3 959 2307 2309 \n3 2307 960 2308 \n3 2309 2308 961 \n3 962 2310 2312 \n3 2310 388 2311 \n3 2312 2311 963 \n3 964 2313 2315 \n3 2313 965 2314 \n3 2315 2314 386 \n3 387 2316 2318 \n3 2316 966 2317 \n3 2318 2317 967 \n3 968 2319 2321 \n3 2319 391 2320 \n3 2321 2320 969 \n3 970 2322 2324 \n3 2322 971 2323 \n3 2324 2323 389 \n3 390 2325 2327 \n3 2325 972 2326 \n3 2327 2326 973 \n3 974 2328 2330 \n3 2328 394 2329 \n3 2330 2329 975 \n3 976 2331 2333 \n3 2331 977 2332 \n3 2333 2332 392 \n3 393 2334 2336 \n3 2334 978 2335 \n3 2336 2335 979 \n3 980 2337 2339 \n3 2337 397 2338 \n3 2339 2338 981 \n3 982 2340 2342 \n3 2340 983 2341 \n3 2342 2341 395 \n3 396 2343 2345 \n3 2343 984 2344 \n3 2345 2344 985 \n3 986 2346 2348 \n3 2346 400 2347 \n3 2348 2347 987 \n3 988 2349 2351 \n3 2349 989 2350 \n3 2351 2350 398 \n3 399 2352 2354 \n3 2352 990 2353 \n3 2354 2353 991 \n3 992 2355 2357 \n3 2355 403 2356 \n3 2357 2356 993 \n3 994 2358 2360 \n3 2358 995 2359 \n3 2360 2359 401 \n3 402 2361 2363 \n3 2361 996 2362 \n3 2363 2362 997 \n3 998 2364 2366 \n3 2364 406 2365 \n3 2366 2365 999 \n3 1000 2367 2369 \n3 2367 1001 2368 \n3 2369 2368 404 \n3 405 2370 2372 \n3 2370 1002 2371 \n3 2372 2371 1003 \n3 1004 2373 2375 \n3 2373 409 2374 \n3 2375 2374 1005 \n3 1006 2376 2378 \n3 2376 1007 2377 \n3 2378 2377 407 \n3 408 2379 2381 \n3 2379 1008 2380 \n3 2381 2380 1009 \n3 1010 2382 2384 \n3 2382 412 2383 \n3 2384 2383 1011 \n3 1012 2385 2387 \n3 2385 1013 2386 \n3 2387 2386 410 \n3 411 2388 2390 \n3 2388 1014 2389 \n3 2390 2389 1015 \n3 1016 2391 2393 \n3 2391 415 2392 \n3 2393 2392 1017 \n3 1018 2394 2396 \n3 2394 1019 2395 \n3 2396 2395 413 \n3 414 2397 2399 \n3 2397 1020 2398 \n3 2399 2398 1021 \n3 1022 2400 2402 \n3 2400 418 2401 \n3 2402 2401 1023 \n3 1024 2403 2405 \n3 2403 1025 2404 \n3 2405 2404 416 \n3 417 2406 2408 \n3 2406 1026 2407 \n3 2408 2407 1027 \n3 1028 2409 2411 \n3 2409 421 2410 \n3 2411 2410 1029 \n3 1030 2412 2414 \n3 2412 1031 2413 \n3 2414 2413 419 \n3 420 2415 2417 \n3 2415 1032 2416 \n3 2417 2416 1033 \n3 1034 2418 2420 \n3 2418 424 2419 \n3 2420 2419 1035 \n3 1036 2421 2423 \n3 2421 1037 2422 \n3 2423 2422 422 \n3 423 2424 2426 \n3 2424 1038 2425 \n3 2426 2425 1039 \n3 1040 2427 2429 \n3 2427 427 2428 \n3 2429 2428 1041 \n3 1042 2430 2432 \n3 2430 1043 2431 \n3 2432 2431 425 \n3 426 2433 2435 \n3 2433 1044 2434 \n3 2435 2434 1045 \n3 1046 2436 2438 \n3 2436 430 2437 \n3 2438 2437 1047 \n3 1048 2439 2441 \n3 2439 1049 2440 \n3 2441 2440 428 \n3 429 2442 2444 \n3 2442 1050 2443 \n3 2444 2443 1051 \n3 1052 2445 2447 \n3 2445 433 2446 \n3 2447 2446 1053 \n3 1054 2448 2450 \n3 2448 1055 2449 \n3 2450 2449 431 \n3 432 2451 2453 \n3 2451 1056 2452 \n3 2453 2452 1057 \n3 1058 2454 2456 \n3 2454 436 2455 \n3 2456 2455 1059 \n3 1060 2457 2459 \n3 2457 1061 2458 \n3 2459 2458 434 \n3 435 2460 2462 \n3 2460 1062 2461 \n3 2462 2461 1063 \n3 1064 2463 2465 \n3 2463 439 2464 \n3 2465 2464 1065 \n3 1066 2466 2468 \n3 2466 1067 2467 \n3 2468 2467 437 \n3 438 2469 2471 \n3 2469 1068 2470 \n3 2471 2470 1069 \n3 1070 2472 2474 \n3 2472 442 2473 \n3 2474 2473 1071 \n3 1072 2475 2477 \n3 2475 1073 2476 \n3 2477 2476 440 \n3 441 2478 2480 \n3 2478 1074 2479 \n3 2480 2479 1075 \n3 1076 2481 2483 \n3 2481 445 2482 \n3 2483 2482 1077 \n3 1078 2484 2486 \n3 2484 1079 2485 \n3 2486 2485 443 \n3 444 2487 2489 \n3 2487 1080 2488 \n3 2489 2488 1081 \n3 1082 2490 2492 \n3 2490 448 2491 \n3 2492 2491 1083 \n3 1084 2493 2495 \n3 2493 1085 2494 \n3 2495 2494 446 \n3 447 2496 2498 \n3 2496 1086 2497 \n3 2498 2497 1087 \n3 1088 2499 2501 \n3 2499 451 2500 \n3 2501 2500 1089 \n3 1090 2502 2504 \n3 2502 1091 2503 \n3 2504 2503 449 \n3 450 2505 2507 \n3 2505 1092 2506 \n3 2507 2506 1093 \n3 1094 2508 2510 \n3 2508 454 2509 \n3 2510 2509 1095 \n3 1096 2511 2513 \n3 2511 1097 2512 \n3 2513 2512 452 \n3 453 2514 2516 \n3 2514 1098 2515 \n3 2516 2515 1099 \n3 1100 2517 2519 \n3 2517 457 2518 \n3 2519 2518 1101 \n3 1102 2520 2522 \n3 2520 1103 2521 \n3 2522 2521 455 \n3 456 2523 2525 \n3 2523 1104 2524 \n3 2525 2524 1105 \n3 1106 2526 2528 \n3 2526 460 2527 \n3 2528 2527 1107 \n3 1108 2529 2531 \n3 2529 1109 2530 \n3 2531 2530 458 \n3 459 2532 2534 \n3 2532 1110 2533 \n3 2534 2533 1111 \n3 1112 2535 2537 \n3 2535 463 2536 \n3 2537 2536 1113 \n3 1114 2538 2540 \n3 2538 1115 2539 \n3 2540 2539 461 \n3 462 2541 2543 \n3 2541 1116 2542 \n3 2543 2542 1117 \n3 1118 2544 2546 \n3 2544 466 2545 \n3 2546 2545 1119 \n3 1120 2547 2549 \n3 2547 1121 2548 \n3 2549 2548 464 \n3 465 2550 2552 \n3 2550 1122 2551 \n3 2552 2551 1123 \n3 1124 2553 2555 \n3 2553 469 2554 \n3 2555 2554 1125 \n3 1126 2556 2558 \n3 2556 1127 2557 \n3 2558 2557 467 \n3 468 2559 2561 \n3 2559 1128 2560 \n3 2561 2560 1129 \n3 1130 2562 2564 \n3 2562 472 2563 \n3 2564 2563 1131 \n3 1132 2565 2567 \n3 2565 1133 2566 \n3 2567 2566 470 \n3 471 2568 2570 \n3 2568 1134 2569 \n3 2570 2569 1135 \n3 1136 2571 2573 \n3 2571 475 2572 \n3 2573 2572 1137 \n3 1138 2574 2576 \n3 2574 1139 2575 \n3 2576 2575 473 \n3 474 2577 2579 \n3 2577 1140 2578 \n3 2579 2578 1141 \n3 1142 2580 2582 \n3 2580 478 2581 \n3 2582 2581 1143 \n3 1144 2583 2585 \n3 2583 1145 2584 \n3 2585 2584 476 \n3 477 2586 2588 \n3 2586 1146 2587 \n3 2588 2587 1147 \n3 1148 2589 2591 \n3 2589 481 2590 \n3 2591 2590 1149 \n3 1150 2592 2594 \n3 2592 1151 2593 \n3 2594 2593 479 \n3 480 2595 2597 \n3 2595 1152 2596 \n3 2597 2596 1153 \n3 1154 2598 2600 \n3 2598 484 2599 \n3 2600 2599 1155 \n3 1156 2601 2603 \n3 2601 1157 2602 \n3 2603 2602 482 \n3 483 2604 2606 \n3 2604 1158 2605 \n3 2606 2605 1159 \n3 1160 2607 2609 \n3 2607 487 2608 \n3 2609 2608 1161 \n3 1162 2610 2612 \n3 2610 1163 2611 \n3 2612 2611 485 \n3 486 2613 2615 \n3 2613 1164 2614 \n3 2615 2614 1165 \n3 1166 2616 2618 \n3 2616 490 2617 \n3 2618 2617 1167 \n3 1168 2619 2621 \n3 2619 1169 2620 \n3 2621 2620 488 \n3 489 2622 2624 \n3 2622 1170 2623 \n3 2624 2623 1171 \n3 1172 2625 2627 \n3 2625 493 2626 \n3 2627 2626 1173 \n3 1174 2628 2630 \n3 2628 1175 2629 \n3 2630 2629 491 \n3 492 2631 2633 \n3 2631 1176 2632 \n3 2633 2632 1177 \n3 1178 2634 2636 \n3 2634 496 2635 \n3 2636 2635 1179 \n3 1180 2637 2639 \n3 2637 1181 2638 \n3 2639 2638 494 \n3 495 2640 2642 \n3 2640 1182 2641 \n3 2642 2641 1183 \n3 1184 2643 2645 \n3 2643 499 2644 \n3 2645 2644 1185 \n3 1186 2646 2648 \n3 2646 1187 2647 \n3 2648 2647 497 \n3 498 2649 2651 \n3 2649 1188 2650 \n3 2651 2650 1189 \n3 1190 2652 2654 \n3 2652 502 2653 \n3 2654 2653 1191 \n3 1192 2655 2657 \n3 2655 1193 2656 \n3 2657 2656 500 \n3 501 2658 2660 \n3 2658 1194 2659 \n3 2660 2659 1195 \n3 1196 2661 2663 \n3 2661 505 2662 \n3 2663 2662 1197 \n3 1198 2664 2666 \n3 2664 1199 2665 \n3 2666 2665 503 \n3 504 2667 2669 \n3 2667 1200 2668 \n3 2669 2668 1201 \n3 1202 2670 2672 \n3 2670 508 2671 \n3 2672 2671 1203 \n3 1204 2673 2675 \n3 2673 1205 2674 \n3 2675 2674 506 \n3 507 2676 2678 \n3 2676 1206 2677 \n3 2678 2677 1207 \n3 1208 2679 2681 \n3 2679 511 2680 \n3 2681 2680 1209 \n3 1210 2682 2684 \n3 2682 1211 2683 \n3 2684 2683 509 \n3 510 2685 2687 \n3 2685 1212 2686 \n3 2687 2686 1213 \n3 1214 2688 2690 \n3 2688 514 2689 \n3 2690 2689 1215 \n3 1216 2691 2693 \n3 2691 1217 2692 \n3 2693 2692 512 \n3 513 2694 2696 \n3 2694 1218 2695 \n3 2696 2695 1219 \n3 1220 2697 2699 \n3 2697 517 2698 \n3 2699 2698 1221 \n3 1222 2700 2702 \n3 2700 1223 2701 \n3 2702 2701 515 \n3 516 2703 2705 \n3 2703 1224 2704 \n3 2705 2704 1225 \n3 1226 2706 2708 \n3 2706 520 2707 \n3 2708 2707 1227 \n3 1228 2709 2711 \n3 2709 1229 2710 \n3 2711 2710 518 \n3 519 2712 2714 \n3 2712 1230 2713 \n3 2714 2713 1231 \n3 1232 2715 2717 \n3 2715 523 2716 \n3 2717 2716 1233 \n3 1234 2718 2720 \n3 2718 1235 2719 \n3 2720 2719 521 \n3 522 2721 2723 \n3 2721 1236 2722 \n3 2723 2722 1237 \n3 1238 2724 2726 \n3 2724 526 2725 \n3 2726 2725 1239 \n3 1240 2727 2729 \n3 2727 1241 2728 \n3 2729 2728 524 \n3 525 2730 2732 \n3 2730 1242 2731 \n3 2732 2731 1243 \n3 1244 2733 2735 \n3 2733 529 2734 \n3 2735 2734 1245 \n3 1246 2736 2738 \n3 2736 1247 2737 \n3 2738 2737 527 \n3 528 2739 2741 \n3 2739 1248 2740 \n3 2741 2740 1249 \n3 1250 2742 2744 \n3 2742 532 2743 \n3 2744 2743 1251 \n3 1252 2745 2747 \n3 2745 963 2746 \n3 2747 2746 530 \n3 531 2748 2750 \n3 2748 967 2749 \n3 2750 2749 1253 \n3 1254 2751 2753 \n3 2751 535 2752 \n3 2753 2752 962 \n3 1255 2754 2756 \n3 2754 1256 2755 \n3 2756 2755 533 \n3 534 2757 2759 \n3 2757 1257 2758 \n3 2759 2758 964 \n3 966 2760 2762 \n3 2760 538 2761 \n3 2762 2761 1258 \n3 965 2763 2765 \n3 2763 1259 2764 \n3 2765 2764 536 \n3 537 2766 2768 \n3 2766 1260 2767 \n3 2768 2767 1261 \n3 1262 2769 2771 \n3 2769 541 2770 \n3 2771 2770 1263 \n3 1264 2772 2774 \n3 2772 969 2773 \n3 2774 2773 539 \n3 540 2775 2777 \n3 2775 973 2776 \n3 2777 2776 1265 \n3 1266 2778 2780 \n3 2778 544 2779 \n3 2780 2779 968 \n3 1267 2781 2783 \n3 2781 1268 2782 \n3 2783 2782 542 \n3 543 2784 2786 \n3 2784 1269 2785 \n3 2786 2785 970 \n3 972 2787 2789 \n3 2787 547 2788 \n3 2789 2788 1270 \n3 971 2790 2792 \n3 2790 1271 2791 \n3 2792 2791 545 \n3 546 2793 2795 \n3 2793 1272 2794 \n3 2795 2794 1273 \n3 1274 2796 2798 \n3 2796 550 2797 \n3 2798 2797 1275 \n3 1276 2799 2801 \n3 2799 975 2800 \n3 2801 2800 548 \n3 549 2802 2804 \n3 2802 979 2803 \n3 2804 2803 1277 \n3 1278 2805 2807 \n3 2805 553 2806 \n3 2807 2806 974 \n3 1279 2808 2810 \n3 2808 1280 2809 \n3 2810 2809 551 \n3 552 2811 2813 \n3 2811 1281 2812 \n3 2813 2812 976 \n3 978 2814 2816 \n3 2814 556 2815 \n3 2816 2815 1282 \n3 977 2817 2819 \n3 2817 1283 2818 \n3 2819 2818 554 \n3 555 2820 2822 \n3 2820 1284 2821 \n3 2822 2821 1285 \n3 1286 2823 2825 \n3 2823 559 2824 \n3 2825 2824 1287 \n3 1288 2826 2828 \n3 2826 981 2827 \n3 2828 2827 557 \n3 558 2829 2831 \n3 2829 985 2830 \n3 2831 2830 1289 \n3 1290 2832 2834 \n3 2832 562 2833 \n3 2834 2833 980 \n3 1291 2835 2837 \n3 2835 1292 2836 \n3 2837 2836 560 \n3 561 2838 2840 \n3 2838 1293 2839 \n3 2840 2839 982 \n3 984 2841 2843 \n3 2841 565 2842 \n3 2843 2842 1294 \n3 983 2844 2846 \n3 2844 1295 2845 \n3 2846 2845 563 \n3 564 2847 2849 \n3 2847 1296 2848 \n3 2849 2848 1297 \n3 1298 2850 2852 \n3 2850 568 2851 \n3 2852 2851 1299 \n3 1300 2853 2855 \n3 2853 987 2854 \n3 2855 2854 566 \n3 567 2856 2858 \n3 2856 991 2857 \n3 2858 2857 1301 \n3 1302 2859 2861 \n3 2859 571 2860 \n3 2861 2860 986 \n3 1303 2862 2864 \n3 2862 1304 2863 \n3 2864 2863 569 \n3 570 2865 2867 \n3 2865 1305 2866 \n3 2867 2866 988 \n3 990 2868 2870 \n3 2868 574 2869 \n3 2870 2869 1306 \n3 989 2871 2873 \n3 2871 1307 2872 \n3 2873 2872 572 \n3 573 2874 2876 \n3 2874 1308 2875 \n3 2876 2875 1309 \n3 1310 2877 2879 \n3 2877 577 2878 \n3 2879 2878 1311 \n3 1312 2880 2882 \n3 2880 993 2881 \n3 2882 2881 575 \n3 576 2883 2885 \n3 2883 997 2884 \n3 2885 2884 1313 \n3 1314 2886 2888 \n3 2886 580 2887 \n3 2888 2887 992 \n3 1315 2889 2891 \n3 2889 1316 2890 \n3 2891 2890 578 \n3 579 2892 2894 \n3 2892 1317 2893 \n3 2894 2893 994 \n3 996 2895 2897 \n3 2895 583 2896 \n3 2897 2896 1318 \n3 995 2898 2900 \n3 2898 1319 2899 \n3 2900 2899 581 \n3 582 2901 2903 \n3 2901 1320 2902 \n3 2903 2902 1321 \n3 1322 2904 2906 \n3 2904 586 2905 \n3 2906 2905 1323 \n3 1324 2907 2909 \n3 2907 999 2908 \n3 2909 2908 584 \n3 585 2910 2912 \n3 2910 1003 2911 \n3 2912 2911 1325 \n3 1326 2913 2915 \n3 2913 589 2914 \n3 2915 2914 998 \n3 1327 2916 2918 \n3 2916 1328 2917 \n3 2918 2917 587 \n3 588 2919 2921 \n3 2919 1329 2920 \n3 2921 2920 1000 \n3 1002 2922 2924 \n3 2922 592 2923 \n3 2924 2923 1330 \n3 1001 2925 2927 \n3 2925 1331 2926 \n3 2927 2926 590 \n3 591 2928 2930 \n3 2928 1332 2929 \n3 2930 2929 1333 \n3 1334 2931 2933 \n3 2931 595 2932 \n3 2933 2932 1335 \n3 1336 2934 2936 \n3 2934 1005 2935 \n3 2936 2935 593 \n3 594 2937 2939 \n3 2937 1009 2938 \n3 2939 2938 1337 \n3 1338 2940 2942 \n3 2940 598 2941 \n3 2942 2941 1004 \n3 1339 2943 2945 \n3 2943 1340 2944 \n3 2945 2944 596 \n3 597 2946 2948 \n3 2946 1341 2947 \n3 2948 2947 1006 \n3 1008 2949 2951 \n3 2949 601 2950 \n3 2951 2950 1342 \n3 1007 2952 2954 \n3 2952 1343 2953 \n3 2954 2953 599 \n3 600 2955 2957 \n3 2955 1344 2956 \n3 2957 2956 1345 \n3 1346 2958 2960 \n3 2958 604 2959 \n3 2960 2959 1347 \n3 1348 2961 2963 \n3 2961 1011 2962 \n3 2963 2962 602 \n3 603 2964 2966 \n3 2964 1015 2965 \n3 2966 2965 1349 \n3 1350 2967 2969 \n3 2967 607 2968 \n3 2969 2968 1010 \n3 1351 2970 2972 \n3 2970 1352 2971 \n3 2972 2971 605 \n3 606 2973 2975 \n3 2973 1353 2974 \n3 2975 2974 1012 \n3 1014 2976 2978 \n3 2976 610 2977 \n3 2978 2977 1354 \n3 1013 2979 2981 \n3 2979 1355 2980 \n3 2981 2980 608 \n3 609 2982 2984 \n3 2982 1356 2983 \n3 2984 2983 1357 \n3 1358 2985 2987 \n3 2985 613 2986 \n3 2987 2986 1359 \n3 1360 2988 2990 \n3 2988 1017 2989 \n3 2990 2989 611 \n3 612 2991 2993 \n3 2991 1021 2992 \n3 2993 2992 1361 \n3 1362 2994 2996 \n3 2994 616 2995 \n3 2996 2995 1016 \n3 1363 2997 2999 \n3 2997 1364 2998 \n3 2999 2998 614 \n3 615 3000 3002 \n3 3000 1365 3001 \n3 3002 3001 1018 \n3 1020 3003 3005 \n3 3003 619 3004 \n3 3005 3004 1366 \n3 1019 3006 3008 \n3 3006 1367 3007 \n3 3008 3007 617 \n3 618 3009 3011 \n3 3009 1368 3010 \n3 3011 3010 1369 \n3 1370 3012 3014 \n3 3012 622 3013 \n3 3014 3013 1371 \n3 1372 3015 3017 \n3 3015 1023 3016 \n3 3017 3016 620 \n3 621 3018 3020 \n3 3018 1027 3019 \n3 3020 3019 1373 \n3 1374 3021 3023 \n3 3021 625 3022 \n3 3023 3022 1022 \n3 1375 3024 3026 \n3 3024 1376 3025 \n3 3026 3025 623 \n3 624 3027 3029 \n3 3027 1377 3028 \n3 3029 3028 1024 \n3 1026 3030 3032 \n3 3030 628 3031 \n3 3032 3031 1378 \n3 1025 3033 3035 \n3 3033 1379 3034 \n3 3035 3034 626 \n3 627 3036 3038 \n3 3036 1380 3037 \n3 3038 3037 1381 \n3 1382 3039 3041 \n3 3039 631 3040 \n3 3041 3040 1383 \n3 1384 3042 3044 \n3 3042 1029 3043 \n3 3044 3043 629 \n3 630 3045 3047 \n3 3045 1033 3046 \n3 3047 3046 1385 \n3 1386 3048 3050 \n3 3048 634 3049 \n3 3050 3049 1028 \n3 1387 3051 3053 \n3 3051 1388 3052 \n3 3053 3052 632 \n3 633 3054 3056 \n3 3054 1389 3055 \n3 3056 3055 1030 \n3 1032 3057 3059 \n3 3057 637 3058 \n3 3059 3058 1390 \n3 1031 3060 3062 \n3 3060 1391 3061 \n3 3062 3061 635 \n3 636 3063 3065 \n3 3063 1392 3064 \n3 3065 3064 1393 \n3 1394 3066 3068 \n3 3066 640 3067 \n3 3068 3067 1395 \n3 1396 3069 3071 \n3 3069 1035 3070 \n3 3071 3070 638 \n3 639 3072 3074 \n3 3072 1039 3073 \n3 3074 3073 1397 \n3 1398 3075 3077 \n3 3075 643 3076 \n3 3077 3076 1034 \n3 1399 3078 3080 \n3 3078 1251 3079 \n3 3080 3079 641 \n3 642 3081 3083 \n3 3081 1253 3082 \n3 3083 3082 1036 \n3 1038 3084 3086 \n3 3084 646 3085 \n3 3086 3085 1400 \n3 1037 3087 3089 \n3 3087 1258 3088 \n3 3089 3088 644 \n3 645 3090 3092 \n3 3090 1261 3091 \n3 3092 3091 1401 \n3 1402 3093 3095 \n3 3093 649 3094 \n3 3095 3094 1250 \n3 1403 3096 3098 \n3 3096 1041 3097 \n3 3098 3097 647 \n3 648 3099 3101 \n3 3099 1045 3100 \n3 3101 3100 1252 \n3 1404 3102 3104 \n3 3102 652 3103 \n3 3104 3103 1040 \n3 1405 3105 3107 \n3 3105 1406 3106 \n3 3107 3106 650 \n3 651 3108 3110 \n3 3108 1407 3109 \n3 3110 3109 1042 \n3 1044 3111 3113 \n3 3111 655 3112 \n3 3113 3112 1254 \n3 1043 3114 3116 \n3 3114 1408 3115 \n3 3116 3115 653 \n3 654 3117 3119 \n3 3117 1409 3118 \n3 3119 3118 1255 \n3 1260 3120 3122 \n3 3120 658 3121 \n3 3122 3121 1410 \n3 1259 3123 3125 \n3 3123 1047 3124 \n3 3125 3124 656 \n3 657 3126 3128 \n3 3126 1051 3127 \n3 3128 3127 1411 \n3 1257 3129 3131 \n3 3129 661 3130 \n3 3131 3130 1046 \n3 1256 3132 3134 \n3 3132 1412 3133 \n3 3134 3133 659 \n3 660 3135 3137 \n3 3135 1413 3136 \n3 3137 3136 1048 \n3 1050 3138 3140 \n3 3138 664 3139 \n3 3140 3139 1414 \n3 1049 3141 3143 \n3 3141 1415 3142 \n3 3143 3142 662 \n3 663 3144 3146 \n3 3144 1416 3145 \n3 3146 3145 1417 \n3 1418 3147 3149 \n3 3147 667 3148 \n3 3149 3148 1419 \n3 1420 3150 3152 \n3 3150 1053 3151 \n3 3152 3151 665 \n3 666 3153 3155 \n3 3153 1057 3154 \n3 3155 3154 1421 \n3 1422 3156 3158 \n3 3156 670 3157 \n3 3158 3157 1052 \n3 1423 3159 3161 \n3 3159 1263 3160 \n3 3161 3160 668 \n3 669 3162 3164 \n3 3162 1265 3163 \n3 3164 3163 1054 \n3 1056 3165 3167 \n3 3165 673 3166 \n3 3167 3166 1424 \n3 1055 3168 3170 \n3 3168 1270 3169 \n3 3170 3169 671 \n3 672 3171 3173 \n3 3171 1273 3172 \n3 3173 3172 1425 \n3 1426 3174 3176 \n3 3174 676 3175 \n3 3176 3175 1262 \n3 1427 3177 3179 \n3 3177 1059 3178 \n3 3179 3178 674 \n3 675 3180 3182 \n3 3180 1063 3181 \n3 3182 3181 1264 \n3 1428 3183 3185 \n3 3183 679 3184 \n3 3185 3184 1058 \n3 1429 3186 3188 \n3 3186 1416 3187 \n3 3188 3187 677 \n3 678 3189 3191 \n3 3189 1415 3190 \n3 3191 3190 1060 \n3 1062 3192 3194 \n3 3192 682 3193 \n3 3194 3193 1266 \n3 1061 3195 3197 \n3 3195 1413 3196 \n3 3197 3196 680 \n3 681 3198 3200 \n3 3198 1412 3199 \n3 3200 3199 1267 \n3 1272 3201 3203 \n3 3201 685 3202 \n3 3203 3202 1430 \n3 1271 3204 3206 \n3 3204 1065 3205 \n3 3206 3205 683 \n3 684 3207 3209 \n3 3207 1069 3208 \n3 3209 3208 1431 \n3 1269 3210 3212 \n3 3210 688 3211 \n3 3212 3211 1064 \n3 1268 3213 3215 \n3 3213 1409 3214 \n3 3215 3214 686 \n3 687 3216 3218 \n3 3216 1408 3217 \n3 3218 3217 1066 \n3 1068 3219 3221 \n3 3219 691 3220 \n3 3221 3220 1432 \n3 1067 3222 3224 \n3 3222 1407 3223 \n3 3224 3223 689 \n3 690 3225 3227 \n3 3225 1406 3226 \n3 3227 3226 1433 \n3 1538 3228 3230 \n3 3228 694 3229 \n3 3230 3229 1434 \n3 1539 3231 3233 \n3 3231 1071 3232 \n3 3233 3232 692 \n3 693 3234 3236 \n3 3234 1075 3235 \n3 3236 3235 1435 \n3 1540 3237 3239 \n3 3237 697 3238 \n3 3239 3238 1070 \n3 1541 3240 3242 \n3 3240 1275 3241 \n3 3242 3241 695 \n3 696 3243 3245 \n3 3243 1277 3244 \n3 3245 3244 1072 \n3 1074 3246 3248 \n3 3246 700 3247 \n3 3248 3247 1436 \n3 1073 3249 3251 \n3 3249 1282 3250 \n3 3251 3250 698 \n3 699 3252 3254 \n3 3252 1285 3253 \n3 3254 3253 1437 \n3 1542 3255 3257 \n3 3255 703 3256 \n3 3257 3256 1274 \n3 1543 3258 3260 \n3 3258 1077 3259 \n3 3260 3259 701 \n3 702 3261 3263 \n3 3261 1081 3262 \n3 3263 3262 1276 \n3 1544 3264 3266 \n3 3264 706 3265 \n3 3266 3265 1076 \n3 1545 3267 3269 \n3 3267 1438 3268 \n3 3269 3268 704 \n3 705 3270 3272 \n3 3270 1439 3271 \n3 3272 3271 1078 \n3 1080 3273 3275 \n3 3273 709 3274 \n3 3275 3274 1278 \n3 1079 3276 3278 \n3 3276 1440 3277 \n3 3278 3277 707 \n3 708 3279 3281 \n3 3279 1441 3280 \n3 3281 3280 1279 \n3 1284 3282 3284 \n3 3282 712 3283 \n3 3284 3283 1442 \n3 1283 3285 3287 \n3 3285 1083 3286 \n3 3287 3286 710 \n3 711 3288 3290 \n3 3288 1087 3289 \n3 3290 3289 1443 \n3 1281 3291 3293 \n3 3291 715 3292 \n3 3293 3292 1082 \n3 1280 3294 3296 \n3 3294 1444 3295 \n3 3296 3295 713 \n3 714 3297 3299 \n3 3297 1445 3298 \n3 3299 3298 1084 \n3 1086 3300 3302 \n3 3300 718 3301 \n3 3302 3301 1446 \n3 1085 3303 3305 \n3 3303 1447 3304 \n3 3305 3304 716 \n3 717 3306 3308 \n3 3306 1448 3307 \n3 3308 3307 1449 \n3 1450 3309 3311 \n3 3309 721 3310 \n3 3311 3310 1451 \n3 1452 3312 3314 \n3 3312 1089 3313 \n3 3314 3313 719 \n3 720 3315 3317 \n3 3315 1093 3316 \n3 3317 3316 1453 \n3 1454 3318 3320 \n3 3318 724 3319 \n3 3320 3319 1088 \n3 1455 3321 3323 \n3 3321 1287 3322 \n3 3323 3322 722 \n3 723 3324 3326 \n3 3324 1289 3325 \n3 3326 3325 1090 \n3 1092 3327 3329 \n3 3327 727 3328 \n3 3329 3328 1456 \n3 1091 3330 3332 \n3 3330 1294 3331 \n3 3332 3331 725 \n3 726 3333 3335 \n3 3333 1297 3334 \n3 3335 3334 1457 \n3 1458 3336 3338 \n3 3336 730 3337 \n3 3338 3337 1286 \n3 1459 3339 3341 \n3 3339 1095 3340 \n3 3341 3340 728 \n3 729 3342 3344 \n3 3342 1099 3343 \n3 3344 3343 1288 \n3 1460 3345 3347 \n3 3345 733 3346 \n3 3347 3346 1094 \n3 1461 3348 3350 \n3 3348 1448 3349 \n3 3350 3349 731 \n3 732 3351 3353 \n3 3351 1447 3352 \n3 3353 3352 1096 \n3 1098 3354 3356 \n3 3354 736 3355 \n3 3356 3355 1290 \n3 1097 3357 3359 \n3 3357 1445 3358 \n3 3359 3358 734 \n3 735 3360 3362 \n3 3360 1444 3361 \n3 3362 3361 1291 \n3 1296 3363 3365 \n3 3363 739 3364 \n3 3365 3364 1462 \n3 1295 3366 3368 \n3 3366 1101 3367 \n3 3368 3367 737 \n3 738 3369 3371 \n3 3369 1105 3370 \n3 3371 3370 1463 \n3 1293 3372 3374 \n3 3372 742 3373 \n3 3374 3373 1100 \n3 1292 3375 3377 \n3 3375 1441 3376 \n3 3377 3376 740 \n3 741 3378 3380 \n3 3378 1440 3379 \n3 3380 3379 1102 \n3 1104 3381 3383 \n3 3381 745 3382 \n3 3383 3382 1464 \n3 1103 3384 3386 \n3 3384 1439 3385 \n3 3386 3385 743 \n3 744 3387 3389 \n3 3387 1438 3388 \n3 3389 3388 1465 \n3 1546 3390 3392 \n3 3390 748 3391 \n3 3392 3391 1547 \n3 1548 3393 3395 \n3 3393 1107 3394 \n3 3395 3394 746 \n3 747 3396 3398 \n3 3396 1111 3397 \n3 3398 3397 1549 \n3 1550 3399 3401 \n3 3399 751 3400 \n3 3401 3400 1106 \n3 1551 3402 3404 \n3 3402 1299 3403 \n3 3404 3403 749 \n3 750 3405 3407 \n3 3405 1301 3406 \n3 3407 3406 1108 \n3 1110 3408 3410 \n3 3408 754 3409 \n3 3410 3409 1552 \n3 1109 3411 3413 \n3 3411 1306 3412 \n3 3413 3412 752 \n3 753 3414 3416 \n3 3414 1309 3415 \n3 3416 3415 1553 \n3 1554 3417 3419 \n3 3417 757 3418 \n3 3419 3418 1298 \n3 1555 3420 3422 \n3 3420 1113 3421 \n3 3422 3421 755 \n3 756 3423 3425 \n3 3423 1117 3424 \n3 3425 3424 1300 \n3 1556 3426 3428 \n3 3426 760 3427 \n3 3428 3427 1112 \n3 1557 3429 3431 \n3 3429 1466 3430 \n3 3431 3430 758 \n3 759 3432 3434 \n3 3432 1467 3433 \n3 3434 3433 1114 \n3 1116 3435 3437 \n3 3435 763 3436 \n3 3437 3436 1302 \n3 1115 3438 3440 \n3 3438 1468 3439 \n3 3440 3439 761 \n3 762 3441 3443 \n3 3441 1469 3442 \n3 3443 3442 1303 \n3 1308 3444 3446 \n3 3444 766 3445 \n3 3446 3445 1558 \n3 1307 3447 3449 \n3 3447 1119 3448 \n3 3449 3448 764 \n3 765 3450 3452 \n3 3450 1123 3451 \n3 3452 3451 1559 \n3 1305 3453 3455 \n3 3453 769 3454 \n3 3455 3454 1118 \n3 1304 3456 3458 \n3 3456 1470 3457 \n3 3458 3457 767 \n3 768 3459 3461 \n3 3459 1471 3460 \n3 3461 3460 1120 \n3 1122 3462 3464 \n3 3462 772 3463 \n3 3464 3463 1560 \n3 1121 3465 3467 \n3 3465 1472 3466 \n3 3467 3466 770 \n3 771 3468 3470 \n3 3468 1473 3469 \n3 3470 3469 1561 \n3 1474 3471 3473 \n3 3471 775 3472 \n3 3473 3472 1475 \n3 1476 3474 3476 \n3 3474 1125 3475 \n3 3476 3475 773 \n3 774 3477 3479 \n3 3477 1129 3478 \n3 3479 3478 1477 \n3 1478 3480 3482 \n3 3480 778 3481 \n3 3482 3481 1124 \n3 1479 3483 3485 \n3 3483 1311 3484 \n3 3485 3484 776 \n3 777 3486 3488 \n3 3486 1313 3487 \n3 3488 3487 1126 \n3 1128 3489 3491 \n3 3489 781 3490 \n3 3491 3490 1480 \n3 1127 3492 3494 \n3 3492 1318 3493 \n3 3494 3493 779 \n3 780 3495 3497 \n3 3495 1321 3496 \n3 3497 3496 1481 \n3 1482 3498 3500 \n3 3498 784 3499 \n3 3500 3499 1310 \n3 1483 3501 3503 \n3 3501 1131 3502 \n3 3503 3502 782 \n3 783 3504 3506 \n3 3504 1135 3505 \n3 3506 3505 1312 \n3 1484 3507 3509 \n3 3507 787 3508 \n3 3509 3508 1130 \n3 1485 3510 3512 \n3 3510 1473 3511 \n3 3512 3511 785 \n3 786 3513 3515 \n3 3513 1472 3514 \n3 3515 3514 1132 \n3 1134 3516 3518 \n3 3516 790 3517 \n3 3518 3517 1314 \n3 1133 3519 3521 \n3 3519 1471 3520 \n3 3521 3520 788 \n3 789 3522 3524 \n3 3522 1470 3523 \n3 3524 3523 1315 \n3 1320 3525 3527 \n3 3525 793 3526 \n3 3527 3526 1486 \n3 1319 3528 3530 \n3 3528 1137 3529 \n3 3530 3529 791 \n3 792 3531 3533 \n3 3531 1141 3532 \n3 3533 3532 1487 \n3 1317 3534 3536 \n3 3534 796 3535 \n3 3536 3535 1136 \n3 1316 3537 3539 \n3 3537 1469 3538 \n3 3539 3538 794 \n3 795 3540 3542 \n3 3540 1468 3541 \n3 3542 3541 1138 \n3 1140 3543 3545 \n3 3543 799 3544 \n3 3545 3544 1488 \n3 1139 3546 3548 \n3 3546 1467 3547 \n3 3548 3547 797 \n3 798 3549 3551 \n3 3549 1466 3550 \n3 3551 3550 1489 \n3 1490 3552 3554 \n3 3552 802 3553 \n3 3554 3553 1491 \n3 1492 3555 3557 \n3 3555 1143 3556 \n3 3557 3556 800 \n3 801 3558 3560 \n3 3558 1147 3559 \n3 3560 3559 1493 \n3 1494 3561 3563 \n3 3561 805 3562 \n3 3563 3562 1142 \n3 1495 3564 3566 \n3 3564 1323 3565 \n3 3566 3565 803 \n3 804 3567 3569 \n3 3567 1325 3568 \n3 3569 3568 1144 \n3 1146 3570 3572 \n3 3570 808 3571 \n3 3572 3571 1496 \n3 1145 3573 3575 \n3 3573 1330 3574 \n3 3575 3574 806 \n3 807 3576 3578 \n3 3576 1333 3577 \n3 3578 3577 1497 \n3 1498 3579 3581 \n3 3579 811 3580 \n3 3581 3580 1322 \n3 1499 3582 3584 \n3 3582 1149 3583 \n3 3584 3583 809 \n3 810 3585 3587 \n3 3585 1153 3586 \n3 3587 3586 1324 \n3 1500 3588 3590 \n3 3588 814 3589 \n3 3590 3589 1148 \n3 1501 3591 3593 \n3 3591 1502 3592 \n3 3593 3592 812 \n3 813 3594 3596 \n3 3594 1503 3595 \n3 3596 3595 1150 \n3 1152 3597 3599 \n3 3597 817 3598 \n3 3599 3598 1326 \n3 1151 3600 3602 \n3 3600 1504 3601 \n3 3602 3601 815 \n3 816 3603 3605 \n3 3603 1505 3604 \n3 3605 3604 1327 \n3 1332 3606 3608 \n3 3606 820 3607 \n3 3608 3607 1506 \n3 1331 3609 3611 \n3 3609 1155 3610 \n3 3611 3610 818 \n3 819 3612 3614 \n3 3612 1159 3613 \n3 3614 3613 1507 \n3 1329 3615 3617 \n3 3615 823 3616 \n3 3617 3616 1154 \n3 1328 3618 3620 \n3 3618 1508 3619 \n3 3620 3619 821 \n3 822 3621 3623 \n3 3621 1509 3622 \n3 3623 3622 1156 \n3 1158 3624 3626 \n3 3624 826 3625 \n3 3626 3625 1510 \n3 1157 3627 3629 \n3 3627 1511 3628 \n3 3629 3628 824 \n3 825 3630 3632 \n3 3630 1512 3631 \n3 3632 3631 1513 \n3 1562 3633 3635 \n3 3633 829 3634 \n3 3635 3634 1563 \n3 1564 3636 3638 \n3 3636 1161 3637 \n3 3638 3637 827 \n3 828 3639 3641 \n3 3639 1165 3640 \n3 3641 3640 1565 \n3 1566 3642 3644 \n3 3642 832 3643 \n3 3644 3643 1160 \n3 1567 3645 3647 \n3 3645 1335 3646 \n3 3647 3646 830 \n3 831 3648 3650 \n3 3648 1337 3649 \n3 3650 3649 1162 \n3 1164 3651 3653 \n3 3651 835 3652 \n3 3653 3652 1568 \n3 1163 3654 3656 \n3 3654 1342 3655 \n3 3656 3655 833 \n3 834 3657 3659 \n3 3657 1345 3658 \n3 3659 3658 1569 \n3 1570 3660 3662 \n3 3660 838 3661 \n3 3662 3661 1334 \n3 1571 3663 3665 \n3 3663 1167 3664 \n3 3665 3664 836 \n3 837 3666 3668 \n3 3666 1171 3667 \n3 3668 3667 1336 \n3 1572 3669 3671 \n3 3669 841 3670 \n3 3671 3670 1166 \n3 1573 3672 3674 \n3 3672 1512 3673 \n3 3674 3673 839 \n3 840 3675 3677 \n3 3675 1511 3676 \n3 3677 3676 1168 \n3 1170 3678 3680 \n3 3678 844 3679 \n3 3680 3679 1338 \n3 1169 3681 3683 \n3 3681 1509 3682 \n3 3683 3682 842 \n3 843 3684 3686 \n3 3684 1508 3685 \n3 3686 3685 1339 \n3 1344 3687 3689 \n3 3687 847 3688 \n3 3689 3688 1574 \n3 1343 3690 3692 \n3 3690 1173 3691 \n3 3692 3691 845 \n3 846 3693 3695 \n3 3693 1177 3694 \n3 3695 3694 1575 \n3 1341 3696 3698 \n3 3696 850 3697 \n3 3698 3697 1172 \n3 1340 3699 3701 \n3 3699 1505 3700 \n3 3701 3700 848 \n3 849 3702 3704 \n3 3702 1504 3703 \n3 3704 3703 1174 \n3 1176 3705 3707 \n3 3705 853 3706 \n3 3707 3706 1576 \n3 1175 3708 3710 \n3 3708 1503 3709 \n3 3710 3709 851 \n3 852 3711 3713 \n3 3711 1502 3712 \n3 3713 3712 1577 \n3 1578 3714 3716 \n3 3714 856 3715 \n3 3716 3715 1514 \n3 1579 3717 3719 \n3 3717 1179 3718 \n3 3719 3718 854 \n3 855 3720 3722 \n3 3720 1183 3721 \n3 3722 3721 1515 \n3 1580 3723 3725 \n3 3723 859 3724 \n3 3725 3724 1178 \n3 1581 3726 3728 \n3 3726 1347 3727 \n3 3728 3727 857 \n3 858 3729 3731 \n3 3729 1349 3730 \n3 3731 3730 1180 \n3 1182 3732 3734 \n3 3732 862 3733 \n3 3734 3733 1516 \n3 1181 3735 3737 \n3 3735 1354 3736 \n3 3737 3736 860 \n3 861 3738 3740 \n3 3738 1357 3739 \n3 3740 3739 1517 \n3 1582 3741 3743 \n3 3741 865 3742 \n3 3743 3742 1346 \n3 1583 3744 3746 \n3 3744 1185 3745 \n3 3746 3745 863 \n3 864 3747 3749 \n3 3747 1189 3748 \n3 3749 3748 1348 \n3 1584 3750 3752 \n3 3750 868 3751 \n3 3752 3751 1184 \n3 1585 3753 3755 \n3 3753 1518 3754 \n3 3755 3754 866 \n3 867 3756 3758 \n3 3756 1519 3757 \n3 3758 3757 1186 \n3 1188 3759 3761 \n3 3759 871 3760 \n3 3761 3760 1350 \n3 1187 3762 3764 \n3 3762 1520 3763 \n3 3764 3763 869 \n3 870 3765 3767 \n3 3765 1521 3766 \n3 3767 3766 1351 \n3 1356 3768 3770 \n3 3768 874 3769 \n3 3770 3769 1522 \n3 1355 3771 3773 \n3 3771 1191 3772 \n3 3773 3772 872 \n3 873 3774 3776 \n3 3774 1195 3775 \n3 3776 3775 1523 \n3 1353 3777 3779 \n3 3777 877 3778 \n3 3779 3778 1190 \n3 1352 3780 3782 \n3 3780 1524 3781 \n3 3782 3781 875 \n3 876 3783 3785 \n3 3783 1525 3784 \n3 3785 3784 1192 \n3 1194 3786 3788 \n3 3786 880 3787 \n3 3788 3787 1526 \n3 1193 3789 3791 \n3 3789 1527 3790 \n3 3791 3790 878 \n3 879 3792 3794 \n3 3792 1528 3793 \n3 3794 3793 1529 \n3 1586 3795 3797 \n3 3795 883 3796 \n3 3797 3796 1587 \n3 1588 3798 3800 \n3 3798 1197 3799 \n3 3800 3799 881 \n3 882 3801 3803 \n3 3801 1201 3802 \n3 3803 3802 1589 \n3 1590 3804 3806 \n3 3804 886 3805 \n3 3806 3805 1196 \n3 1591 3807 3809 \n3 3807 1359 3808 \n3 3809 3808 884 \n3 885 3810 3812 \n3 3810 1361 3811 \n3 3812 3811 1198 \n3 1200 3813 3815 \n3 3813 889 3814 \n3 3815 3814 1592 \n3 1199 3816 3818 \n3 3816 1366 3817 \n3 3818 3817 887 \n3 888 3819 3821 \n3 3819 1369 3820 \n3 3821 3820 1593 \n3 1594 3822 3824 \n3 3822 892 3823 \n3 3824 3823 1358 \n3 1595 3825 3827 \n3 3825 1203 3826 \n3 3827 3826 890 \n3 891 3828 3830 \n3 3828 1207 3829 \n3 3830 3829 1360 \n3 1596 3831 3833 \n3 3831 895 3832 \n3 3833 3832 1202 \n3 1597 3834 3836 \n3 3834 1528 3835 \n3 3836 3835 893 \n3 894 3837 3839 \n3 3837 1527 3838 \n3 3839 3838 1204 \n3 1206 3840 3842 \n3 3840 898 3841 \n3 3842 3841 1362 \n3 1205 3843 3845 \n3 3843 1525 3844 \n3 3845 3844 896 \n3 897 3846 3848 \n3 3846 1524 3847 \n3 3848 3847 1363 \n3 1368 3849 3851 \n3 3849 901 3850 \n3 3851 3850 1598 \n3 1367 3852 3854 \n3 3852 1209 3853 \n3 3854 3853 899 \n3 900 3855 3857 \n3 3855 1213 3856 \n3 3857 3856 1599 \n3 1365 3858 3860 \n3 3858 904 3859 \n3 3860 3859 1208 \n3 1364 3861 3863 \n3 3861 1521 3862 \n3 3863 3862 902 \n3 903 3864 3866 \n3 3864 1520 3865 \n3 3866 3865 1210 \n3 1212 3867 3869 \n3 3867 907 3868 \n3 3869 3868 1600 \n3 1211 3870 3872 \n3 3870 1519 3871 \n3 3872 3871 905 \n3 906 3873 3875 \n3 3873 1518 3874 \n3 3875 3874 1601 \n3 1602 3876 3878 \n3 3876 910 3877 \n3 3878 3877 1603 \n3 1604 3879 3881 \n3 3879 1215 3880 \n3 3881 3880 908 \n3 909 3882 3884 \n3 3882 1219 3883 \n3 3884 3883 1605 \n3 1606 3885 3887 \n3 3885 913 3886 \n3 3887 3886 1214 \n3 1607 3888 3890 \n3 3888 1371 3889 \n3 3890 3889 911 \n3 912 3891 3893 \n3 3891 1373 3892 \n3 3893 3892 1216 \n3 1218 3894 3896 \n3 3894 916 3895 \n3 3896 3895 1608 \n3 1217 3897 3899 \n3 3897 1378 3898 \n3 3899 3898 914 \n3 915 3900 3902 \n3 3900 1381 3901 \n3 3902 3901 1609 \n3 1610 3903 3905 \n3 3903 919 3904 \n3 3905 3904 1370 \n3 1611 3906 3908 \n3 3906 1221 3907 \n3 3908 3907 917 \n3 918 3909 3911 \n3 3909 1225 3910 \n3 3911 3910 1372 \n3 1612 3912 3914 \n3 3912 922 3913 \n3 3914 3913 1220 \n3 1613 3915 3917 \n3 3915 1530 3916 \n3 3917 3916 920 \n3 921 3918 3920 \n3 3918 1531 3919 \n3 3920 3919 1222 \n3 1224 3921 3923 \n3 3921 925 3922 \n3 3923 3922 1374 \n3 1223 3924 3926 \n3 3924 1532 3925 \n3 3926 3925 923 \n3 924 3927 3929 \n3 3927 1533 3928 \n3 3929 3928 1375 \n3 1380 3930 3932 \n3 3930 928 3931 \n3 3932 3931 1614 \n3 1379 3933 3935 \n3 3933 1227 3934 \n3 3935 3934 926 \n3 927 3936 3938 \n3 3936 1231 3937 \n3 3938 3937 1615 \n3 1377 3939 3941 \n3 3939 931 3940 \n3 3941 3940 1226 \n3 1376 3942 3944 \n3 3942 1534 3943 \n3 3944 3943 929 \n3 930 3945 3947 \n3 3945 1535 3946 \n3 3947 3946 1228 \n3 1230 3948 3950 \n3 3948 934 3949 \n3 3950 3949 1616 \n3 1229 3951 3953 \n3 3951 1536 3952 \n3 3953 3952 932 \n3 933 3954 3956 \n3 3954 1537 3955 \n3 3956 3955 1617 \n3 1618 3957 3959 \n3 3957 937 3958 \n3 3959 3958 1619 \n3 1620 3960 3962 \n3 3960 1233 3961 \n3 3962 3961 935 \n3 936 3963 3965 \n3 3963 1237 3964 \n3 3965 3964 1621 \n3 1622 3966 3968 \n3 3966 940 3967 \n3 3968 3967 1232 \n3 1623 3969 3971 \n3 3969 1383 3970 \n3 3971 3970 938 \n3 939 3972 3974 \n3 3972 1385 3973 \n3 3974 3973 1234 \n3 1236 3975 3977 \n3 3975 943 3976 \n3 3977 3976 1624 \n3 1235 3978 3980 \n3 3978 1390 3979 \n3 3980 3979 941 \n3 942 3981 3983 \n3 3981 1393 3982 \n3 3983 3982 1625 \n3 1626 3984 3986 \n3 3984 946 3985 \n3 3986 3985 1382 \n3 1627 3987 3989 \n3 3987 1239 3988 \n3 3989 3988 944 \n3 945 3990 3992 \n3 3990 1243 3991 \n3 3992 3991 1384 \n3 1628 3993 3995 \n3 3993 949 3994 \n3 3995 3994 1238 \n3 1629 3996 3998 \n3 3996 1537 3997 \n3 3998 3997 947 \n3 948 3999 4001 \n3 3999 1536 4000 \n3 4001 4000 1240 \n3 1242 4002 4004 \n3 4002 952 4003 \n3 4004 4003 1386 \n3 1241 4005 4007 \n3 4005 1535 4006 \n3 4007 4006 950 \n3 951 4008 4010 \n3 4008 1534 4009 \n3 4010 4009 1387 \n3 1392 4011 4013 \n3 4011 955 4012 \n3 4013 4012 1630 \n3 1391 4014 4016 \n3 4014 1245 4015 \n3 4016 4015 953 \n3 954 4017 4019 \n3 4017 1249 4018 \n3 4019 4018 1631 \n3 1389 4020 4022 \n3 4020 958 4021 \n3 4022 4021 1244 \n3 1388 4023 4025 \n3 4023 1533 4024 \n3 4025 4024 956 \n3 957 4026 4028 \n3 4026 1532 4027 \n3 4028 4027 1246 \n3 1248 4029 4031 \n3 4029 961 4030 \n3 4031 4030 1632 \n3 1247 4032 4034 \n3 4032 1531 4033 \n3 4034 4033 959 \n3 960 4035 4037 \n3 4035 1530 4036 \n3 4037 4036 1633 \n3 98 4038 4039 \n3 4038 386 1736 \n3 4039 1736 388 \n3 386 4040 1734 \n3 4040 99 4041 \n3 1734 4041 387 \n3 388 1735 4043 \n3 1735 387 4042 \n3 4043 4042 100 \n3 101 4044 4045 \n3 4044 389 1739 \n3 4045 1739 391 \n3 389 4046 1737 \n3 4046 102 4047 \n3 1737 4047 390 \n3 391 1738 4049 \n3 1738 390 4048 \n3 4049 4048 103 \n3 104 4050 4051 \n3 4050 392 1742 \n3 4051 1742 394 \n3 392 4052 1740 \n3 4052 105 4053 \n3 1740 4053 393 \n3 394 1741 4055 \n3 1741 393 4054 \n3 4055 4054 106 \n3 107 4056 4057 \n3 4056 395 1745 \n3 4057 1745 397 \n3 395 4058 1743 \n3 4058 108 4059 \n3 1743 4059 396 \n3 397 1744 4061 \n3 1744 396 4060 \n3 4061 4060 109 \n3 110 4062 4063 \n3 4062 398 1748 \n3 4063 1748 400 \n3 398 4064 1746 \n3 4064 111 4065 \n3 1746 4065 399 \n3 400 1747 4067 \n3 1747 399 4066 \n3 4067 4066 112 \n3 113 4068 4069 \n3 4068 401 1751 \n3 4069 1751 403 \n3 401 4070 1749 \n3 4070 114 4071 \n3 1749 4071 402 \n3 403 1750 4073 \n3 1750 402 4072 \n3 4073 4072 115 \n3 116 4074 4075 \n3 4074 404 1754 \n3 4075 1754 406 \n3 404 4076 1752 \n3 4076 117 4077 \n3 1752 4077 405 \n3 406 1753 4079 \n3 1753 405 4078 \n3 4079 4078 118 \n3 119 4080 4081 \n3 4080 407 1757 \n3 4081 1757 409 \n3 407 4082 1755 \n3 4082 120 4083 \n3 1755 4083 408 \n3 409 1756 4085 \n3 1756 408 4084 \n3 4085 4084 121 \n3 122 4086 4087 \n3 4086 410 1760 \n3 4087 1760 412 \n3 410 4088 1758 \n3 4088 123 4089 \n3 1758 4089 411 \n3 412 1759 4091 \n3 1759 411 4090 \n3 4091 4090 124 \n3 125 4092 4093 \n3 4092 413 1763 \n3 4093 1763 415 \n3 413 4094 1761 \n3 4094 126 4095 \n3 1761 4095 414 \n3 415 1762 4097 \n3 1762 414 4096 \n3 4097 4096 127 \n3 128 4098 4099 \n3 4098 416 1766 \n3 4099 1766 418 \n3 416 4100 1764 \n3 4100 129 4101 \n3 1764 4101 417 \n3 418 1765 4103 \n3 1765 417 4102 \n3 4103 4102 130 \n3 131 4104 4105 \n3 4104 419 1769 \n3 4105 1769 421 \n3 419 4106 1767 \n3 4106 132 4107 \n3 1767 4107 420 \n3 421 1768 4109 \n3 1768 420 4108 \n3 4109 4108 133 \n3 134 4110 4111 \n3 4110 422 1772 \n3 4111 1772 424 \n3 422 4112 1770 \n3 4112 135 4113 \n3 1770 4113 423 \n3 424 1771 4115 \n3 1771 423 4114 \n3 4115 4114 136 \n3 137 4116 4117 \n3 4116 425 1775 \n3 4117 1775 427 \n3 425 4118 1773 \n3 4118 138 4119 \n3 1773 4119 426 \n3 427 1774 4121 \n3 1774 426 4120 \n3 4121 4120 139 \n3 140 4122 4123 \n3 4122 428 1778 \n3 4123 1778 430 \n3 428 4124 1776 \n3 4124 141 4125 \n3 1776 4125 429 \n3 430 1777 4127 \n3 1777 429 4126 \n3 4127 4126 142 \n3 143 4128 4129 \n3 4128 431 1781 \n3 4129 1781 433 \n3 431 4130 1779 \n3 4130 144 4131 \n3 1779 4131 432 \n3 433 1780 4133 \n3 1780 432 4132 \n3 4133 4132 145 \n3 146 4134 4135 \n3 4134 434 1784 \n3 4135 1784 436 \n3 434 4136 1782 \n3 4136 147 4137 \n3 1782 4137 435 \n3 436 1783 4139 \n3 1783 435 4138 \n3 4139 4138 148 \n3 149 4140 4141 \n3 4140 437 1787 \n3 4141 1787 439 \n3 437 4142 1785 \n3 4142 150 4143 \n3 1785 4143 438 \n3 439 1786 4145 \n3 1786 438 4144 \n3 4145 4144 151 \n3 152 4146 4147 \n3 4146 440 1790 \n3 4147 1790 442 \n3 440 4148 1788 \n3 4148 153 4149 \n3 1788 4149 441 \n3 442 1789 4151 \n3 1789 441 4150 \n3 4151 4150 154 \n3 155 4152 4153 \n3 4152 443 1793 \n3 4153 1793 445 \n3 443 4154 1791 \n3 4154 156 4155 \n3 1791 4155 444 \n3 445 1792 4157 \n3 1792 444 4156 \n3 4157 4156 157 \n3 158 4158 4159 \n3 4158 446 1796 \n3 4159 1796 448 \n3 446 4160 1794 \n3 4160 159 4161 \n3 1794 4161 447 \n3 448 1795 4163 \n3 1795 447 4162 \n3 4163 4162 160 \n3 161 4164 4165 \n3 4164 449 1799 \n3 4165 1799 451 \n3 449 4166 1797 \n3 4166 162 4167 \n3 1797 4167 450 \n3 451 1798 4169 \n3 1798 450 4168 \n3 4169 4168 163 \n3 164 4170 4171 \n3 4170 452 1802 \n3 4171 1802 454 \n3 452 4172 1800 \n3 4172 165 4173 \n3 1800 4173 453 \n3 454 1801 4175 \n3 1801 453 4174 \n3 4175 4174 166 \n3 167 4176 4177 \n3 4176 455 1805 \n3 4177 1805 457 \n3 455 4178 1803 \n3 4178 168 4179 \n3 1803 4179 456 \n3 457 1804 4181 \n3 1804 456 4180 \n3 4181 4180 169 \n3 170 4182 4183 \n3 4182 458 1808 \n3 4183 1808 460 \n3 458 4184 1806 \n3 4184 171 4185 \n3 1806 4185 459 \n3 460 1807 4187 \n3 1807 459 4186 \n3 4187 4186 172 \n3 173 4188 4189 \n3 4188 461 1811 \n3 4189 1811 463 \n3 461 4190 1809 \n3 4190 174 4191 \n3 1809 4191 462 \n3 463 1810 4193 \n3 1810 462 4192 \n3 4193 4192 175 \n3 176 4194 4195 \n3 4194 464 1814 \n3 4195 1814 466 \n3 464 4196 1812 \n3 4196 177 4197 \n3 1812 4197 465 \n3 466 1813 4199 \n3 1813 465 4198 \n3 4199 4198 178 \n3 179 4200 4201 \n3 4200 467 1817 \n3 4201 1817 469 \n3 467 4202 1815 \n3 4202 180 4203 \n3 1815 4203 468 \n3 469 1816 4205 \n3 1816 468 4204 \n3 4205 4204 181 \n3 182 4206 4207 \n3 4206 470 1820 \n3 4207 1820 472 \n3 470 4208 1818 \n3 4208 183 4209 \n3 1818 4209 471 \n3 472 1819 4211 \n3 1819 471 4210 \n3 4211 4210 184 \n3 185 4212 4213 \n3 4212 473 1823 \n3 4213 1823 475 \n3 473 4214 1821 \n3 4214 186 4215 \n3 1821 4215 474 \n3 475 1822 4217 \n3 1822 474 4216 \n3 4217 4216 187 \n3 188 4218 4219 \n3 4218 476 1826 \n3 4219 1826 478 \n3 476 4220 1824 \n3 4220 189 4221 \n3 1824 4221 477 \n3 478 1825 4223 \n3 1825 477 4222 \n3 4223 4222 190 \n3 191 4224 4225 \n3 4224 479 1829 \n3 4225 1829 481 \n3 479 4226 1827 \n3 4226 192 4227 \n3 1827 4227 480 \n3 481 1828 4229 \n3 1828 480 4228 \n3 4229 4228 193 \n3 194 4230 4231 \n3 4230 482 1832 \n3 4231 1832 484 \n3 482 4232 1830 \n3 4232 195 4233 \n3 1830 4233 483 \n3 484 1831 4235 \n3 1831 483 4234 \n3 4235 4234 196 \n3 197 4236 4237 \n3 4236 485 1835 \n3 4237 1835 487 \n3 485 4238 1833 \n3 4238 198 4239 \n3 1833 4239 486 \n3 487 1834 4241 \n3 1834 486 4240 \n3 4241 4240 199 \n3 200 4242 4243 \n3 4242 488 1838 \n3 4243 1838 490 \n3 488 4244 1836 \n3 4244 201 4245 \n3 1836 4245 489 \n3 490 1837 4247 \n3 1837 489 4246 \n3 4247 4246 202 \n3 203 4248 4249 \n3 4248 491 1841 \n3 4249 1841 493 \n3 491 4250 1839 \n3 4250 204 4251 \n3 1839 4251 492 \n3 493 1840 4253 \n3 1840 492 4252 \n3 4253 4252 205 \n3 206 4254 4255 \n3 4254 494 1844 \n3 4255 1844 496 \n3 494 4256 1842 \n3 4256 207 4257 \n3 1842 4257 495 \n3 496 1843 4259 \n3 1843 495 4258 \n3 4259 4258 208 \n3 209 4260 4261 \n3 4260 497 1847 \n3 4261 1847 499 \n3 497 4262 1845 \n3 4262 210 4263 \n3 1845 4263 498 \n3 499 1846 4265 \n3 1846 498 4264 \n3 4265 4264 211 \n3 212 4266 4267 \n3 4266 500 1850 \n3 4267 1850 502 \n3 500 4268 1848 \n3 4268 213 4269 \n3 1848 4269 501 \n3 502 1849 4271 \n3 1849 501 4270 \n3 4271 4270 214 \n3 215 4272 4273 \n3 4272 503 1853 \n3 4273 1853 505 \n3 503 4274 1851 \n3 4274 216 4275 \n3 1851 4275 504 \n3 505 1852 4277 \n3 1852 504 4276 \n3 4277 4276 217 \n3 218 4278 4279 \n3 4278 506 1856 \n3 4279 1856 508 \n3 506 4280 1854 \n3 4280 219 4281 \n3 1854 4281 507 \n3 508 1855 4283 \n3 1855 507 4282 \n3 4283 4282 220 \n3 221 4284 4285 \n3 4284 509 1859 \n3 4285 1859 511 \n3 509 4286 1857 \n3 4286 222 4287 \n3 1857 4287 510 \n3 511 1858 4289 \n3 1858 510 4288 \n3 4289 4288 223 \n3 224 4290 4291 \n3 4290 512 1862 \n3 4291 1862 514 \n3 512 4292 1860 \n3 4292 225 4293 \n3 1860 4293 513 \n3 514 1861 4295 \n3 1861 513 4294 \n3 4295 4294 226 \n3 227 4296 4297 \n3 4296 515 1865 \n3 4297 1865 517 \n3 515 4298 1863 \n3 4298 228 4299 \n3 1863 4299 516 \n3 517 1864 4301 \n3 1864 516 4300 \n3 4301 4300 229 \n3 230 4302 4303 \n3 4302 518 1868 \n3 4303 1868 520 \n3 518 4304 1866 \n3 4304 231 4305 \n3 1866 4305 519 \n3 520 1867 4307 \n3 1867 519 4306 \n3 4307 4306 232 \n3 233 4308 4309 \n3 4308 521 1871 \n3 4309 1871 523 \n3 521 4310 1869 \n3 4310 234 4311 \n3 1869 4311 522 \n3 523 1870 4313 \n3 1870 522 4312 \n3 4313 4312 235 \n3 236 4314 4315 \n3 4314 524 1874 \n3 4315 1874 526 \n3 524 4316 1872 \n3 4316 237 4317 \n3 1872 4317 525 \n3 526 1873 4319 \n3 1873 525 4318 \n3 4319 4318 238 \n3 239 4320 4321 \n3 4320 527 1877 \n3 4321 1877 529 \n3 527 4322 1875 \n3 4322 240 4323 \n3 1875 4323 528 \n3 529 1876 4325 \n3 1876 528 4324 \n3 4325 4324 241 \n3 242 4326 4327 \n3 4326 530 1880 \n3 4327 1880 532 \n3 530 4328 1878 \n3 4328 100 4329 \n3 1878 4329 531 \n3 532 1879 4331 \n3 1879 531 4330 \n3 4331 4330 243 \n3 244 4332 4333 \n3 4332 533 1883 \n3 4333 1883 535 \n3 533 4334 1881 \n3 4334 245 4335 \n3 1881 4335 534 \n3 535 1882 4337 \n3 1882 534 4336 \n3 4337 4336 98 \n3 99 4338 4339 \n3 4338 536 1886 \n3 4339 1886 538 \n3 536 4340 1884 \n3 4340 246 4341 \n3 1884 4341 537 \n3 538 1885 4343 \n3 1885 537 4342 \n3 4343 4342 247 \n3 248 4344 4345 \n3 4344 539 1889 \n3 4345 1889 541 \n3 539 4346 1887 \n3 4346 103 4347 \n3 1887 4347 540 \n3 541 1888 4349 \n3 1888 540 4348 \n3 4349 4348 249 \n3 250 4350 4351 \n3 4350 542 1892 \n3 4351 1892 544 \n3 542 4352 1890 \n3 4352 251 4353 \n3 1890 4353 543 \n3 544 1891 4355 \n3 1891 543 4354 \n3 4355 4354 101 \n3 102 4356 4357 \n3 4356 545 1895 \n3 4357 1895 547 \n3 545 4358 1893 \n3 4358 252 4359 \n3 1893 4359 546 \n3 547 1894 4361 \n3 1894 546 4360 \n3 4361 4360 253 \n3 254 4362 4363 \n3 4362 548 1898 \n3 4363 1898 550 \n3 548 4364 1896 \n3 4364 106 4365 \n3 1896 4365 549 \n3 550 1897 4367 \n3 1897 549 4366 \n3 4367 4366 255 \n3 256 4368 4369 \n3 4368 551 1901 \n3 4369 1901 553 \n3 551 4370 1899 \n3 4370 257 4371 \n3 1899 4371 552 \n3 553 1900 4373 \n3 1900 552 4372 \n3 4373 4372 104 \n3 105 4374 4375 \n3 4374 554 1904 \n3 4375 1904 556 \n3 554 4376 1902 \n3 4376 258 4377 \n3 1902 4377 555 \n3 556 1903 4379 \n3 1903 555 4378 \n3 4379 4378 259 \n3 260 4380 4381 \n3 4380 557 1907 \n3 4381 1907 559 \n3 557 4382 1905 \n3 4382 109 4383 \n3 1905 4383 558 \n3 559 1906 4385 \n3 1906 558 4384 \n3 4385 4384 261 \n3 262 4386 4387 \n3 4386 560 1910 \n3 4387 1910 562 \n3 560 4388 1908 \n3 4388 263 4389 \n3 1908 4389 561 \n3 562 1909 4391 \n3 1909 561 4390 \n3 4391 4390 107 \n3 108 4392 4393 \n3 4392 563 1913 \n3 4393 1913 565 \n3 563 4394 1911 \n3 4394 264 4395 \n3 1911 4395 564 \n3 565 1912 4397 \n3 1912 564 4396 \n3 4397 4396 265 \n3 266 4398 4399 \n3 4398 566 1916 \n3 4399 1916 568 \n3 566 4400 1914 \n3 4400 112 4401 \n3 1914 4401 567 \n3 568 1915 4403 \n3 1915 567 4402 \n3 4403 4402 267 \n3 268 4404 4405 \n3 4404 569 1919 \n3 4405 1919 571 \n3 569 4406 1917 \n3 4406 269 4407 \n3 1917 4407 570 \n3 571 1918 4409 \n3 1918 570 4408 \n3 4409 4408 110 \n3 111 4410 4411 \n3 4410 572 1922 \n3 4411 1922 574 \n3 572 4412 1920 \n3 4412 270 4413 \n3 1920 4413 573 \n3 574 1921 4415 \n3 1921 573 4414 \n3 4415 4414 271 \n3 272 4416 4417 \n3 4416 575 1925 \n3 4417 1925 577 \n3 575 4418 1923 \n3 4418 115 4419 \n3 1923 4419 576 \n3 577 1924 4421 \n3 1924 576 4420 \n3 4421 4420 273 \n3 274 4422 4423 \n3 4422 578 1928 \n3 4423 1928 580 \n3 578 4424 1926 \n3 4424 275 4425 \n3 1926 4425 579 \n3 580 1927 4427 \n3 1927 579 4426 \n3 4427 4426 113 \n3 114 4428 4429 \n3 4428 581 1931 \n3 4429 1931 583 \n3 581 4430 1929 \n3 4430 276 4431 \n3 1929 4431 582 \n3 583 1930 4433 \n3 1930 582 4432 \n3 4433 4432 277 \n3 278 4434 4435 \n3 4434 584 1934 \n3 4435 1934 586 \n3 584 4436 1932 \n3 4436 118 4437 \n3 1932 4437 585 \n3 586 1933 4439 \n3 1933 585 4438 \n3 4439 4438 279 \n3 280 4440 4441 \n3 4440 587 1937 \n3 4441 1937 589 \n3 587 4442 1935 \n3 4442 281 4443 \n3 1935 4443 588 \n3 589 1936 4445 \n3 1936 588 4444 \n3 4445 4444 116 \n3 117 4446 4447 \n3 4446 590 1940 \n3 4447 1940 592 \n3 590 4448 1938 \n3 4448 282 4449 \n3 1938 4449 591 \n3 592 1939 4451 \n3 1939 591 4450 \n3 4451 4450 283 \n3 284 4452 4453 \n3 4452 593 1943 \n3 4453 1943 595 \n3 593 4454 1941 \n3 4454 121 4455 \n3 1941 4455 594 \n3 595 1942 4457 \n3 1942 594 4456 \n3 4457 4456 285 \n3 286 4458 4459 \n3 4458 596 1946 \n3 4459 1946 598 \n3 596 4460 1944 \n3 4460 287 4461 \n3 1944 4461 597 \n3 598 1945 4463 \n3 1945 597 4462 \n3 4463 4462 119 \n3 120 4464 4465 \n3 4464 599 1949 \n3 4465 1949 601 \n3 599 4466 1947 \n3 4466 288 4467 \n3 1947 4467 600 \n3 601 1948 4469 \n3 1948 600 4468 \n3 4469 4468 289 \n3 290 4470 4471 \n3 4470 602 1952 \n3 4471 1952 604 \n3 602 4472 1950 \n3 4472 124 4473 \n3 1950 4473 603 \n3 604 1951 4475 \n3 1951 603 4474 \n3 4475 4474 291 \n3 292 4476 4477 \n3 4476 605 1955 \n3 4477 1955 607 \n3 605 4478 1953 \n3 4478 293 4479 \n3 1953 4479 606 \n3 607 1954 4481 \n3 1954 606 4480 \n3 4481 4480 122 \n3 123 4482 4483 \n3 4482 608 1958 \n3 4483 1958 610 \n3 608 4484 1956 \n3 4484 294 4485 \n3 1956 4485 609 \n3 610 1957 4487 \n3 1957 609 4486 \n3 4487 4486 295 \n3 296 4488 4489 \n3 4488 611 1961 \n3 4489 1961 613 \n3 611 4490 1959 \n3 4490 127 4491 \n3 1959 4491 612 \n3 613 1960 4493 \n3 1960 612 4492 \n3 4493 4492 297 \n3 298 4494 4495 \n3 4494 614 1964 \n3 4495 1964 616 \n3 614 4496 1962 \n3 4496 299 4497 \n3 1962 4497 615 \n3 616 1963 4499 \n3 1963 615 4498 \n3 4499 4498 125 \n3 126 4500 4501 \n3 4500 617 1967 \n3 4501 1967 619 \n3 617 4502 1965 \n3 4502 300 4503 \n3 1965 4503 618 \n3 619 1966 4505 \n3 1966 618 4504 \n3 4505 4504 301 \n3 302 4506 4507 \n3 4506 620 1970 \n3 4507 1970 622 \n3 620 4508 1968 \n3 4508 130 4509 \n3 1968 4509 621 \n3 622 1969 4511 \n3 1969 621 4510 \n3 4511 4510 303 \n3 304 4512 4513 \n3 4512 623 1973 \n3 4513 1973 625 \n3 623 4514 1971 \n3 4514 305 4515 \n3 1971 4515 624 \n3 625 1972 4517 \n3 1972 624 4516 \n3 4517 4516 128 \n3 129 4518 4519 \n3 4518 626 1976 \n3 4519 1976 628 \n3 626 4520 1974 \n3 4520 306 4521 \n3 1974 4521 627 \n3 628 1975 4523 \n3 1975 627 4522 \n3 4523 4522 307 \n3 308 4524 4525 \n3 4524 629 1979 \n3 4525 1979 631 \n3 629 4526 1977 \n3 4526 133 4527 \n3 1977 4527 630 \n3 631 1978 4529 \n3 1978 630 4528 \n3 4529 4528 309 \n3 310 4530 4531 \n3 4530 632 1982 \n3 4531 1982 634 \n3 632 4532 1980 \n3 4532 311 4533 \n3 1980 4533 633 \n3 634 1981 4535 \n3 1981 633 4534 \n3 4535 4534 131 \n3 132 4536 4537 \n3 4536 635 1985 \n3 4537 1985 637 \n3 635 4538 1983 \n3 4538 312 4539 \n3 1983 4539 636 \n3 637 1984 4541 \n3 1984 636 4540 \n3 4541 4540 313 \n3 314 4542 4543 \n3 4542 638 1988 \n3 4543 1988 640 \n3 638 4544 1986 \n3 4544 136 4545 \n3 1986 4545 639 \n3 640 1987 4547 \n3 1987 639 4546 \n3 4547 4546 315 \n3 316 4548 4549 \n3 4548 641 1991 \n3 4549 1991 643 \n3 641 4550 1989 \n3 4550 243 4551 \n3 1989 4551 642 \n3 643 1990 4553 \n3 1990 642 4552 \n3 4553 4552 134 \n3 135 4554 4555 \n3 4554 644 1994 \n3 4555 1994 646 \n3 644 4556 1992 \n3 4556 247 4557 \n3 1992 4557 645 \n3 646 1993 4559 \n3 1993 645 4558 \n3 4559 4558 317 \n3 318 4560 4561 \n3 4560 647 1997 \n3 4561 1997 649 \n3 647 4562 1995 \n3 4562 139 4563 \n3 1995 4563 648 \n3 649 1996 4565 \n3 1996 648 4564 \n3 4565 4564 242 \n3 319 4566 4567 \n3 4566 650 2000 \n3 4567 2000 652 \n3 650 4568 1998 \n3 4568 320 4569 \n3 1998 4569 651 \n3 652 1999 4571 \n3 1999 651 4570 \n3 4571 4570 137 \n3 138 4572 4573 \n3 4572 653 2003 \n3 4573 2003 655 \n3 653 4574 2001 \n3 4574 321 4575 \n3 2001 4575 654 \n3 655 2002 4577 \n3 2002 654 4576 \n3 4577 4576 244 \n3 246 4578 4579 \n3 4578 656 2006 \n3 4579 2006 658 \n3 656 4580 2004 \n3 4580 142 4581 \n3 2004 4581 657 \n3 658 2005 4583 \n3 2005 657 4582 \n3 4583 4582 322 \n3 245 4584 4585 \n3 4584 659 2009 \n3 4585 2009 661 \n3 659 4586 2007 \n3 4586 323 4587 \n3 2007 4587 660 \n3 661 2008 4589 \n3 2008 660 4588 \n3 4589 4588 140 \n3 141 4590 4591 \n3 4590 662 2012 \n3 4591 2012 664 \n3 662 4592 2010 \n3 4592 324 4593 \n3 2010 4593 663 \n3 664 2011 4595 \n3 2011 663 4594 \n3 4595 4594 325 \n3 326 4596 4597 \n3 4596 665 2015 \n3 4597 2015 667 \n3 665 4598 2013 \n3 4598 145 4599 \n3 2013 4599 666 \n3 667 2014 4601 \n3 2014 666 4600 \n3 4601 4600 327 \n3 328 4602 4603 \n3 4602 668 2018 \n3 4603 2018 670 \n3 668 4604 2016 \n3 4604 249 4605 \n3 2016 4605 669 \n3 670 2017 4607 \n3 2017 669 4606 \n3 4607 4606 143 \n3 144 4608 4609 \n3 4608 671 2021 \n3 4609 2021 673 \n3 671 4610 2019 \n3 4610 253 4611 \n3 2019 4611 672 \n3 673 2020 4613 \n3 2020 672 4612 \n3 4613 4612 329 \n3 330 4614 4615 \n3 4614 674 2024 \n3 4615 2024 676 \n3 674 4616 2022 \n3 4616 148 4617 \n3 2022 4617 675 \n3 676 2023 4619 \n3 2023 675 4618 \n3 4619 4618 248 \n3 331 4620 4621 \n3 4620 677 2027 \n3 4621 2027 679 \n3 677 4622 2025 \n3 4622 324 4623 \n3 2025 4623 678 \n3 679 2026 4625 \n3 2026 678 4624 \n3 4625 4624 146 \n3 147 4626 4627 \n3 4626 680 2030 \n3 4627 2030 682 \n3 680 4628 2028 \n3 4628 323 4629 \n3 2028 4629 681 \n3 682 2029 4631 \n3 2029 681 4630 \n3 4631 4630 250 \n3 252 4632 4633 \n3 4632 683 2033 \n3 4633 2033 685 \n3 683 4634 2031 \n3 4634 151 4635 \n3 2031 4635 684 \n3 685 2032 4637 \n3 2032 684 4636 \n3 4637 4636 332 \n3 251 4638 4639 \n3 4638 686 2036 \n3 4639 2036 688 \n3 686 4640 2034 \n3 4640 321 4641 \n3 2034 4641 687 \n3 688 2035 4643 \n3 2035 687 4642 \n3 4643 4642 149 \n3 150 4644 4645 \n3 4644 689 2039 \n3 4645 2039 691 \n3 689 4646 2037 \n3 4646 320 4647 \n3 2037 4647 690 \n3 691 2038 4649 \n3 2038 690 4648 \n3 4649 4648 333 \n3 1634 4650 4651 \n3 4650 692 2042 \n3 4651 2042 694 \n3 692 4652 2040 \n3 4652 154 4653 \n3 2040 4653 693 \n3 694 2041 4655 \n3 2041 693 4654 \n3 4655 4654 334 \n3 1635 4656 4657 \n3 4656 695 2045 \n3 4657 2045 697 \n3 695 4658 2043 \n3 4658 255 4659 \n3 2043 4659 696 \n3 697 2044 4661 \n3 2044 696 4660 \n3 4661 4660 152 \n3 153 4662 4663 \n3 4662 698 2048 \n3 4663 2048 700 \n3 698 4664 2046 \n3 4664 259 4665 \n3 2046 4665 699 \n3 700 2047 4667 \n3 2047 699 4666 \n3 4667 4666 335 \n3 1636 4668 4669 \n3 4668 701 2051 \n3 4669 2051 703 \n3 701 4670 2049 \n3 4670 157 4671 \n3 2049 4671 702 \n3 703 2050 4673 \n3 2050 702 4672 \n3 4673 4672 254 \n3 1637 4674 4675 \n3 4674 704 2054 \n3 4675 2054 706 \n3 704 4676 2052 \n3 4676 336 4677 \n3 2052 4677 705 \n3 706 2053 4679 \n3 2053 705 4678 \n3 4679 4678 155 \n3 156 4680 4681 \n3 4680 707 2057 \n3 4681 2057 709 \n3 707 4682 2055 \n3 4682 337 4683 \n3 2055 4683 708 \n3 709 2056 4685 \n3 2056 708 4684 \n3 4685 4684 256 \n3 258 4686 4687 \n3 4686 710 2060 \n3 4687 2060 712 \n3 710 4688 2058 \n3 4688 160 4689 \n3 2058 4689 711 \n3 712 2059 4691 \n3 2059 711 4690 \n3 4691 4690 338 \n3 257 4692 4693 \n3 4692 713 2063 \n3 4693 2063 715 \n3 713 4694 2061 \n3 4694 339 4695 \n3 2061 4695 714 \n3 715 2062 4697 \n3 2062 714 4696 \n3 4697 4696 158 \n3 159 4698 4699 \n3 4698 716 2066 \n3 4699 2066 718 \n3 716 4700 2064 \n3 4700 340 4701 \n3 2064 4701 717 \n3 718 2065 4703 \n3 2065 717 4702 \n3 4703 4702 341 \n3 342 4704 4705 \n3 4704 719 2069 \n3 4705 2069 721 \n3 719 4706 2067 \n3 4706 163 4707 \n3 2067 4707 720 \n3 721 2068 4709 \n3 2068 720 4708 \n3 4709 4708 343 \n3 344 4710 4711 \n3 4710 722 2072 \n3 4711 2072 724 \n3 722 4712 2070 \n3 4712 261 4713 \n3 2070 4713 723 \n3 724 2071 4715 \n3 2071 723 4714 \n3 4715 4714 161 \n3 162 4716 4717 \n3 4716 725 2075 \n3 4717 2075 727 \n3 725 4718 2073 \n3 4718 265 4719 \n3 2073 4719 726 \n3 727 2074 4721 \n3 2074 726 4720 \n3 4721 4720 345 \n3 346 4722 4723 \n3 4722 728 2078 \n3 4723 2078 730 \n3 728 4724 2076 \n3 4724 166 4725 \n3 2076 4725 729 \n3 730 2077 4727 \n3 2077 729 4726 \n3 4727 4726 260 \n3 347 4728 4729 \n3 4728 731 2081 \n3 4729 2081 733 \n3 731 4730 2079 \n3 4730 340 4731 \n3 2079 4731 732 \n3 733 2080 4733 \n3 2080 732 4732 \n3 4733 4732 164 \n3 165 4734 4735 \n3 4734 734 2084 \n3 4735 2084 736 \n3 734 4736 2082 \n3 4736 339 4737 \n3 2082 4737 735 \n3 736 2083 4739 \n3 2083 735 4738 \n3 4739 4738 262 \n3 264 4740 4741 \n3 4740 737 2087 \n3 4741 2087 739 \n3 737 4742 2085 \n3 4742 169 4743 \n3 2085 4743 738 \n3 739 2086 4745 \n3 2086 738 4744 \n3 4745 4744 348 \n3 263 4746 4747 \n3 4746 740 2090 \n3 4747 2090 742 \n3 740 4748 2088 \n3 4748 337 4749 \n3 2088 4749 741 \n3 742 2089 4751 \n3 2089 741 4750 \n3 4751 4750 167 \n3 168 4752 4753 \n3 4752 743 2093 \n3 4753 2093 745 \n3 743 4754 2091 \n3 4754 336 4755 \n3 2091 4755 744 \n3 745 2092 4757 \n3 2092 744 4756 \n3 4757 4756 349 \n3 1638 4758 4759 \n3 4758 746 2096 \n3 4759 2096 748 \n3 746 4760 2094 \n3 4760 172 4761 \n3 2094 4761 747 \n3 748 2095 4763 \n3 2095 747 4762 \n3 4763 4762 1639 \n3 1640 4764 4765 \n3 4764 749 2099 \n3 4765 2099 751 \n3 749 4766 2097 \n3 4766 267 4767 \n3 2097 4767 750 \n3 751 2098 4769 \n3 2098 750 4768 \n3 4769 4768 170 \n3 171 4770 4771 \n3 4770 752 2102 \n3 4771 2102 754 \n3 752 4772 2100 \n3 4772 271 4773 \n3 2100 4773 753 \n3 754 2101 4775 \n3 2101 753 4774 \n3 4775 4774 1641 \n3 1642 4776 4777 \n3 4776 755 2105 \n3 4777 2105 757 \n3 755 4778 2103 \n3 4778 175 4779 \n3 2103 4779 756 \n3 757 2104 4781 \n3 2104 756 4780 \n3 4781 4780 266 \n3 1643 4782 4783 \n3 4782 758 2108 \n3 4783 2108 760 \n3 758 4784 2106 \n3 4784 350 4785 \n3 2106 4785 759 \n3 760 2107 4787 \n3 2107 759 4786 \n3 4787 4786 173 \n3 174 4788 4789 \n3 4788 761 2111 \n3 4789 2111 763 \n3 761 4790 2109 \n3 4790 351 4791 \n3 2109 4791 762 \n3 763 2110 4793 \n3 2110 762 4792 \n3 4793 4792 268 \n3 270 4794 4795 \n3 4794 764 2114 \n3 4795 2114 766 \n3 764 4796 2112 \n3 4796 178 4797 \n3 2112 4797 765 \n3 766 2113 4799 \n3 2113 765 4798 \n3 4799 4798 1644 \n3 269 4800 4801 \n3 4800 767 2117 \n3 4801 2117 769 \n3 767 4802 2115 \n3 4802 352 4803 \n3 2115 4803 768 \n3 769 2116 4805 \n3 2116 768 4804 \n3 4805 4804 176 \n3 177 4806 4807 \n3 4806 770 2120 \n3 4807 2120 772 \n3 770 4808 2118 \n3 4808 353 4809 \n3 2118 4809 771 \n3 772 2119 4811 \n3 2119 771 4810 \n3 4811 4810 1645 \n3 354 4812 4813 \n3 4812 773 2123 \n3 4813 2123 775 \n3 773 4814 2121 \n3 4814 181 4815 \n3 2121 4815 774 \n3 775 2122 4817 \n3 2122 774 4816 \n3 4817 4816 355 \n3 356 4818 4819 \n3 4818 776 2126 \n3 4819 2126 778 \n3 776 4820 2124 \n3 4820 273 4821 \n3 2124 4821 777 \n3 778 2125 4823 \n3 2125 777 4822 \n3 4823 4822 179 \n3 180 4824 4825 \n3 4824 779 2129 \n3 4825 2129 781 \n3 779 4826 2127 \n3 4826 277 4827 \n3 2127 4827 780 \n3 781 2128 4829 \n3 2128 780 4828 \n3 4829 4828 357 \n3 358 4830 4831 \n3 4830 782 2132 \n3 4831 2132 784 \n3 782 4832 2130 \n3 4832 184 4833 \n3 2130 4833 783 \n3 784 2131 4835 \n3 2131 783 4834 \n3 4835 4834 272 \n3 359 4836 4837 \n3 4836 785 2135 \n3 4837 2135 787 \n3 785 4838 2133 \n3 4838 353 4839 \n3 2133 4839 786 \n3 787 2134 4841 \n3 2134 786 4840 \n3 4841 4840 182 \n3 183 4842 4843 \n3 4842 788 2138 \n3 4843 2138 790 \n3 788 4844 2136 \n3 4844 352 4845 \n3 2136 4845 789 \n3 790 2137 4847 \n3 2137 789 4846 \n3 4847 4846 274 \n3 276 4848 4849 \n3 4848 791 2141 \n3 4849 2141 793 \n3 791 4850 2139 \n3 4850 187 4851 \n3 2139 4851 792 \n3 793 2140 4853 \n3 2140 792 4852 \n3 4853 4852 360 \n3 275 4854 4855 \n3 4854 794 2144 \n3 4855 2144 796 \n3 794 4856 2142 \n3 4856 351 4857 \n3 2142 4857 795 \n3 796 2143 4859 \n3 2143 795 4858 \n3 4859 4858 185 \n3 186 4860 4861 \n3 4860 797 2147 \n3 4861 2147 799 \n3 797 4862 2145 \n3 4862 350 4863 \n3 2145 4863 798 \n3 799 2146 4865 \n3 2146 798 4864 \n3 4865 4864 361 \n3 362 4866 4867 \n3 4866 800 2150 \n3 4867 2150 802 \n3 800 4868 2148 \n3 4868 190 4869 \n3 2148 4869 801 \n3 802 2149 4871 \n3 2149 801 4870 \n3 4871 4870 363 \n3 364 4872 4873 \n3 4872 803 2153 \n3 4873 2153 805 \n3 803 4874 2151 \n3 4874 279 4875 \n3 2151 4875 804 \n3 805 2152 4877 \n3 2152 804 4876 \n3 4877 4876 188 \n3 189 4878 4879 \n3 4878 806 2156 \n3 4879 2156 808 \n3 806 4880 2154 \n3 4880 283 4881 \n3 2154 4881 807 \n3 808 2155 4883 \n3 2155 807 4882 \n3 4883 4882 365 \n3 366 4884 4885 \n3 4884 809 2159 \n3 4885 2159 811 \n3 809 4886 2157 \n3 4886 193 4887 \n3 2157 4887 810 \n3 811 2158 4889 \n3 2158 810 4888 \n3 4889 4888 278 \n3 367 4890 4891 \n3 4890 812 2162 \n3 4891 2162 814 \n3 812 4892 2160 \n3 4892 368 4893 \n3 2160 4893 813 \n3 814 2161 4895 \n3 2161 813 4894 \n3 4895 4894 191 \n3 192 4896 4897 \n3 4896 815 2165 \n3 4897 2165 817 \n3 815 4898 2163 \n3 4898 369 4899 \n3 2163 4899 816 \n3 817 2164 4901 \n3 2164 816 4900 \n3 4901 4900 280 \n3 282 4902 4903 \n3 4902 818 2168 \n3 4903 2168 820 \n3 818 4904 2166 \n3 4904 196 4905 \n3 2166 4905 819 \n3 820 2167 4907 \n3 2167 819 4906 \n3 4907 4906 370 \n3 281 4908 4909 \n3 4908 821 2171 \n3 4909 2171 823 \n3 821 4910 2169 \n3 4910 371 4911 \n3 2169 4911 822 \n3 823 2170 4913 \n3 2170 822 4912 \n3 4913 4912 194 \n3 195 4914 4915 \n3 4914 824 2174 \n3 4915 2174 826 \n3 824 4916 2172 \n3 4916 372 4917 \n3 2172 4917 825 \n3 826 2173 4919 \n3 2173 825 4918 \n3 4919 4918 373 \n3 1646 4920 4921 \n3 4920 827 2177 \n3 4921 2177 829 \n3 827 4922 2175 \n3 4922 199 4923 \n3 2175 4923 828 \n3 829 2176 4925 \n3 2176 828 4924 \n3 4925 4924 1647 \n3 1648 4926 4927 \n3 4926 830 2180 \n3 4927 2180 832 \n3 830 4928 2178 \n3 4928 285 4929 \n3 2178 4929 831 \n3 832 2179 4931 \n3 2179 831 4930 \n3 4931 4930 197 \n3 198 4932 4933 \n3 4932 833 2183 \n3 4933 2183 835 \n3 833 4934 2181 \n3 4934 289 4935 \n3 2181 4935 834 \n3 835 2182 4937 \n3 2182 834 4936 \n3 4937 4936 1649 \n3 1650 4938 4939 \n3 4938 836 2186 \n3 4939 2186 838 \n3 836 4940 2184 \n3 4940 202 4941 \n3 2184 4941 837 \n3 838 2185 4943 \n3 2185 837 4942 \n3 4943 4942 284 \n3 1651 4944 4945 \n3 4944 839 2189 \n3 4945 2189 841 \n3 839 4946 2187 \n3 4946 372 4947 \n3 2187 4947 840 \n3 841 2188 4949 \n3 2188 840 4948 \n3 4949 4948 200 \n3 201 4950 4951 \n3 4950 842 2192 \n3 4951 2192 844 \n3 842 4952 2190 \n3 4952 371 4953 \n3 2190 4953 843 \n3 844 2191 4955 \n3 2191 843 4954 \n3 4955 4954 286 \n3 288 4956 4957 \n3 4956 845 2195 \n3 4957 2195 847 \n3 845 4958 2193 \n3 4958 205 4959 \n3 2193 4959 846 \n3 847 2194 4961 \n3 2194 846 4960 \n3 4961 4960 1652 \n3 287 4962 4963 \n3 4962 848 2198 \n3 4963 2198 850 \n3 848 4964 2196 \n3 4964 369 4965 \n3 2196 4965 849 \n3 850 2197 4967 \n3 2197 849 4966 \n3 4967 4966 203 \n3 204 4968 4969 \n3 4968 851 2201 \n3 4969 2201 853 \n3 851 4970 2199 \n3 4970 368 4971 \n3 2199 4971 852 \n3 853 2200 4973 \n3 2200 852 4972 \n3 4973 4972 1653 \n3 1654 4974 4975 \n3 4974 854 2204 \n3 4975 2204 856 \n3 854 4976 2202 \n3 4976 208 4977 \n3 2202 4977 855 \n3 856 2203 4979 \n3 2203 855 4978 \n3 4979 4978 374 \n3 1655 4980 4981 \n3 4980 857 2207 \n3 4981 2207 859 \n3 857 4982 2205 \n3 4982 291 4983 \n3 2205 4983 858 \n3 859 2206 4985 \n3 2206 858 4984 \n3 4985 4984 206 \n3 207 4986 4987 \n3 4986 860 2210 \n3 4987 2210 862 \n3 860 4988 2208 \n3 4988 295 4989 \n3 2208 4989 861 \n3 862 2209 4991 \n3 2209 861 4990 \n3 4991 4990 375 \n3 1656 4992 4993 \n3 4992 863 2213 \n3 4993 2213 865 \n3 863 4994 2211 \n3 4994 211 4995 \n3 2211 4995 864 \n3 865 2212 4997 \n3 2212 864 4996 \n3 4997 4996 290 \n3 1657 4998 4999 \n3 4998 866 2216 \n3 4999 2216 868 \n3 866 5000 2214 \n3 5000 376 5001 \n3 2214 5001 867 \n3 868 2215 5003 \n3 2215 867 5002 \n3 5003 5002 209 \n3 210 5004 5005 \n3 5004 869 2219 \n3 5005 2219 871 \n3 869 5006 2217 \n3 5006 377 5007 \n3 2217 5007 870 \n3 871 2218 5009 \n3 2218 870 5008 \n3 5009 5008 292 \n3 294 5010 5011 \n3 5010 872 2222 \n3 5011 2222 874 \n3 872 5012 2220 \n3 5012 214 5013 \n3 2220 5013 873 \n3 874 2221 5015 \n3 2221 873 5014 \n3 5015 5014 378 \n3 293 5016 5017 \n3 5016 875 2225 \n3 5017 2225 877 \n3 875 5018 2223 \n3 5018 379 5019 \n3 2223 5019 876 \n3 877 2224 5021 \n3 2224 876 5020 \n3 5021 5020 212 \n3 213 5022 5023 \n3 5022 878 2228 \n3 5023 2228 880 \n3 878 5024 2226 \n3 5024 380 5025 \n3 2226 5025 879 \n3 880 2227 5027 \n3 2227 879 5026 \n3 5027 5026 381 \n3 1658 5028 5029 \n3 5028 881 2231 \n3 5029 2231 883 \n3 881 5030 2229 \n3 5030 217 5031 \n3 2229 5031 882 \n3 883 2230 5033 \n3 2230 882 5032 \n3 5033 5032 1659 \n3 1660 5034 5035 \n3 5034 884 2234 \n3 5035 2234 886 \n3 884 5036 2232 \n3 5036 297 5037 \n3 2232 5037 885 \n3 886 2233 5039 \n3 2233 885 5038 \n3 5039 5038 215 \n3 216 5040 5041 \n3 5040 887 2237 \n3 5041 2237 889 \n3 887 5042 2235 \n3 5042 301 5043 \n3 2235 5043 888 \n3 889 2236 5045 \n3 2236 888 5044 \n3 5045 5044 1661 \n3 1662 5046 5047 \n3 5046 890 2240 \n3 5047 2240 892 \n3 890 5048 2238 \n3 5048 220 5049 \n3 2238 5049 891 \n3 892 2239 5051 \n3 2239 891 5050 \n3 5051 5050 296 \n3 1663 5052 5053 \n3 5052 893 2243 \n3 5053 2243 895 \n3 893 5054 2241 \n3 5054 380 5055 \n3 2241 5055 894 \n3 895 2242 5057 \n3 2242 894 5056 \n3 5057 5056 218 \n3 219 5058 5059 \n3 5058 896 2246 \n3 5059 2246 898 \n3 896 5060 2244 \n3 5060 379 5061 \n3 2244 5061 897 \n3 898 2245 5063 \n3 2245 897 5062 \n3 5063 5062 298 \n3 300 5064 5065 \n3 5064 899 2249 \n3 5065 2249 901 \n3 899 5066 2247 \n3 5066 223 5067 \n3 2247 5067 900 \n3 901 2248 5069 \n3 2248 900 5068 \n3 5069 5068 1664 \n3 299 5070 5071 \n3 5070 902 2252 \n3 5071 2252 904 \n3 902 5072 2250 \n3 5072 377 5073 \n3 2250 5073 903 \n3 904 2251 5075 \n3 2251 903 5074 \n3 5075 5074 221 \n3 222 5076 5077 \n3 5076 905 2255 \n3 5077 2255 907 \n3 905 5078 2253 \n3 5078 376 5079 \n3 2253 5079 906 \n3 907 2254 5081 \n3 2254 906 5080 \n3 5081 5080 1665 \n3 1666 5082 5083 \n3 5082 908 2258 \n3 5083 2258 910 \n3 908 5084 2256 \n3 5084 226 5085 \n3 2256 5085 909 \n3 910 2257 5087 \n3 2257 909 5086 \n3 5087 5086 1667 \n3 1668 5088 5089 \n3 5088 911 2261 \n3 5089 2261 913 \n3 911 5090 2259 \n3 5090 303 5091 \n3 2259 5091 912 \n3 913 2260 5093 \n3 2260 912 5092 \n3 5093 5092 224 \n3 225 5094 5095 \n3 5094 914 2264 \n3 5095 2264 916 \n3 914 5096 2262 \n3 5096 307 5097 \n3 2262 5097 915 \n3 916 2263 5099 \n3 2263 915 5098 \n3 5099 5098 1669 \n3 1670 5100 5101 \n3 5100 917 2267 \n3 5101 2267 919 \n3 917 5102 2265 \n3 5102 229 5103 \n3 2265 5103 918 \n3 919 2266 5105 \n3 2266 918 5104 \n3 5105 5104 302 \n3 1671 5106 5107 \n3 5106 920 2270 \n3 5107 2270 922 \n3 920 5108 2268 \n3 5108 382 5109 \n3 2268 5109 921 \n3 922 2269 5111 \n3 2269 921 5110 \n3 5111 5110 227 \n3 228 5112 5113 \n3 5112 923 2273 \n3 5113 2273 925 \n3 923 5114 2271 \n3 5114 383 5115 \n3 2271 5115 924 \n3 925 2272 5117 \n3 2272 924 5116 \n3 5117 5116 304 \n3 306 5118 5119 \n3 5118 926 2276 \n3 5119 2276 928 \n3 926 5120 2274 \n3 5120 232 5121 \n3 2274 5121 927 \n3 928 2275 5123 \n3 2275 927 5122 \n3 5123 5122 1672 \n3 305 5124 5125 \n3 5124 929 2279 \n3 5125 2279 931 \n3 929 5126 2277 \n3 5126 384 5127 \n3 2277 5127 930 \n3 931 2278 5129 \n3 2278 930 5128 \n3 5129 5128 230 \n3 231 5130 5131 \n3 5130 932 2282 \n3 5131 2282 934 \n3 932 5132 2280 \n3 5132 385 5133 \n3 2280 5133 933 \n3 934 2281 5135 \n3 2281 933 5134 \n3 5135 5134 1673 \n3 1674 5136 5137 \n3 5136 935 2285 \n3 5137 2285 937 \n3 935 5138 2283 \n3 5138 235 5139 \n3 2283 5139 936 \n3 937 2284 5141 \n3 2284 936 5140 \n3 5141 5140 1675 \n3 1676 5142 5143 \n3 5142 938 2288 \n3 5143 2288 940 \n3 938 5144 2286 \n3 5144 309 5145 \n3 2286 5145 939 \n3 940 2287 5147 \n3 2287 939 5146 \n3 5147 5146 233 \n3 234 5148 5149 \n3 5148 941 2291 \n3 5149 2291 943 \n3 941 5150 2289 \n3 5150 313 5151 \n3 2289 5151 942 \n3 943 2290 5153 \n3 2290 942 5152 \n3 5153 5152 1677 \n3 1678 5154 5155 \n3 5154 944 2294 \n3 5155 2294 946 \n3 944 5156 2292 \n3 5156 238 5157 \n3 2292 5157 945 \n3 946 2293 5159 \n3 2293 945 5158 \n3 5159 5158 308 \n3 1679 5160 5161 \n3 5160 947 2297 \n3 5161 2297 949 \n3 947 5162 2295 \n3 5162 385 5163 \n3 2295 5163 948 \n3 949 2296 5165 \n3 2296 948 5164 \n3 5165 5164 236 \n3 237 5166 5167 \n3 5166 950 2300 \n3 5167 2300 952 \n3 950 5168 2298 \n3 5168 384 5169 \n3 2298 5169 951 \n3 952 2299 5171 \n3 2299 951 5170 \n3 5171 5170 310 \n3 312 5172 5173 \n3 5172 953 2303 \n3 5173 2303 955 \n3 953 5174 2301 \n3 5174 241 5175 \n3 2301 5175 954 \n3 955 2302 5177 \n3 2302 954 5176 \n3 5177 5176 1680 \n3 311 5178 5179 \n3 5178 956 2306 \n3 5179 2306 958 \n3 956 5180 2304 \n3 5180 383 5181 \n3 2304 5181 957 \n3 958 2305 5183 \n3 2305 957 5182 \n3 5183 5182 239 \n3 240 5184 5185 \n3 5184 959 2309 \n3 5185 2309 961 \n3 959 5186 2307 \n3 5186 382 5187 \n3 2307 5187 960 \n3 961 2308 5189 \n3 2308 960 5188 \n3 5189 5188 1681 \n3 26 5190 5191 \n3 5190 962 2312 \n3 5191 2312 963 \n3 962 5192 2310 \n3 5192 98 4039 \n3 2310 4039 388 \n3 963 2311 5193 \n3 2311 388 4043 \n3 5193 4043 100 \n3 98 5194 4038 \n3 5194 964 2315 \n3 4038 2315 386 \n3 964 5195 2313 \n3 5195 27 5196 \n3 2313 5196 965 \n3 386 2314 4040 \n3 2314 965 5197 \n3 4040 5197 99 \n3 100 4042 5198 \n3 4042 387 2318 \n3 5198 2318 967 \n3 387 4041 2316 \n3 4041 99 5199 \n3 2316 5199 966 \n3 967 2317 5201 \n3 2317 966 5200 \n3 5201 5200 28 \n3 29 5202 5203 \n3 5202 968 2321 \n3 5203 2321 969 \n3 968 5204 2319 \n3 5204 101 4045 \n3 2319 4045 391 \n3 969 2320 5205 \n3 2320 391 4049 \n3 5205 4049 103 \n3 101 5206 4044 \n3 5206 970 2324 \n3 4044 2324 389 \n3 970 5207 2322 \n3 5207 30 5208 \n3 2322 5208 971 \n3 389 2323 4046 \n3 2323 971 5209 \n3 4046 5209 102 \n3 103 4048 5210 \n3 4048 390 2327 \n3 5210 2327 973 \n3 390 4047 2325 \n3 4047 102 5211 \n3 2325 5211 972 \n3 973 2326 5213 \n3 2326 972 5212 \n3 5213 5212 31 \n3 32 5214 5215 \n3 5214 974 2330 \n3 5215 2330 975 \n3 974 5216 2328 \n3 5216 104 4051 \n3 2328 4051 394 \n3 975 2329 5217 \n3 2329 394 4055 \n3 5217 4055 106 \n3 104 5218 4050 \n3 5218 976 2333 \n3 4050 2333 392 \n3 976 5219 2331 \n3 5219 33 5220 \n3 2331 5220 977 \n3 392 2332 4052 \n3 2332 977 5221 \n3 4052 5221 105 \n3 106 4054 5222 \n3 4054 393 2336 \n3 5222 2336 979 \n3 393 4053 2334 \n3 4053 105 5223 \n3 2334 5223 978 \n3 979 2335 5225 \n3 2335 978 5224 \n3 5225 5224 34 \n3 35 5226 5227 \n3 5226 980 2339 \n3 5227 2339 981 \n3 980 5228 2337 \n3 5228 107 4057 \n3 2337 4057 397 \n3 981 2338 5229 \n3 2338 397 4061 \n3 5229 4061 109 \n3 107 5230 4056 \n3 5230 982 2342 \n3 4056 2342 395 \n3 982 5231 2340 \n3 5231 36 5232 \n3 2340 5232 983 \n3 395 2341 4058 \n3 2341 983 5233 \n3 4058 5233 108 \n3 109 4060 5234 \n3 4060 396 2345 \n3 5234 2345 985 \n3 396 4059 2343 \n3 4059 108 5235 \n3 2343 5235 984 \n3 985 2344 5237 \n3 2344 984 5236 \n3 5237 5236 37 \n3 38 5238 5239 \n3 5238 986 2348 \n3 5239 2348 987 \n3 986 5240 2346 \n3 5240 110 4063 \n3 2346 4063 400 \n3 987 2347 5241 \n3 2347 400 4067 \n3 5241 4067 112 \n3 110 5242 4062 \n3 5242 988 2351 \n3 4062 2351 398 \n3 988 5243 2349 \n3 5243 39 5244 \n3 2349 5244 989 \n3 398 2350 4064 \n3 2350 989 5245 \n3 4064 5245 111 \n3 112 4066 5246 \n3 4066 399 2354 \n3 5246 2354 991 \n3 399 4065 2352 \n3 4065 111 5247 \n3 2352 5247 990 \n3 991 2353 5249 \n3 2353 990 5248 \n3 5249 5248 40 \n3 41 5250 5251 \n3 5250 992 2357 \n3 5251 2357 993 \n3 992 5252 2355 \n3 5252 113 4069 \n3 2355 4069 403 \n3 993 2356 5253 \n3 2356 403 4073 \n3 5253 4073 115 \n3 113 5254 4068 \n3 5254 994 2360 \n3 4068 2360 401 \n3 994 5255 2358 \n3 5255 42 5256 \n3 2358 5256 995 \n3 401 2359 4070 \n3 2359 995 5257 \n3 4070 5257 114 \n3 115 4072 5258 \n3 4072 402 2363 \n3 5258 2363 997 \n3 402 4071 2361 \n3 4071 114 5259 \n3 2361 5259 996 \n3 997 2362 5261 \n3 2362 996 5260 \n3 5261 5260 43 \n3 44 5262 5263 \n3 5262 998 2366 \n3 5263 2366 999 \n3 998 5264 2364 \n3 5264 116 4075 \n3 2364 4075 406 \n3 999 2365 5265 \n3 2365 406 4079 \n3 5265 4079 118 \n3 116 5266 4074 \n3 5266 1000 2369 \n3 4074 2369 404 \n3 1000 5267 2367 \n3 5267 45 5268 \n3 2367 5268 1001 \n3 404 2368 4076 \n3 2368 1001 5269 \n3 4076 5269 117 \n3 118 4078 5270 \n3 4078 405 2372 \n3 5270 2372 1003 \n3 405 4077 2370 \n3 4077 117 5271 \n3 2370 5271 1002 \n3 1003 2371 5273 \n3 2371 1002 5272 \n3 5273 5272 46 \n3 47 5274 5275 \n3 5274 1004 2375 \n3 5275 2375 1005 \n3 1004 5276 2373 \n3 5276 119 4081 \n3 2373 4081 409 \n3 1005 2374 5277 \n3 2374 409 4085 \n3 5277 4085 121 \n3 119 5278 4080 \n3 5278 1006 2378 \n3 4080 2378 407 \n3 1006 5279 2376 \n3 5279 48 5280 \n3 2376 5280 1007 \n3 407 2377 4082 \n3 2377 1007 5281 \n3 4082 5281 120 \n3 121 4084 5282 \n3 4084 408 2381 \n3 5282 2381 1009 \n3 408 4083 2379 \n3 4083 120 5283 \n3 2379 5283 1008 \n3 1009 2380 5285 \n3 2380 1008 5284 \n3 5285 5284 49 \n3 50 5286 5287 \n3 5286 1010 2384 \n3 5287 2384 1011 \n3 1010 5288 2382 \n3 5288 122 4087 \n3 2382 4087 412 \n3 1011 2383 5289 \n3 2383 412 4091 \n3 5289 4091 124 \n3 122 5290 4086 \n3 5290 1012 2387 \n3 4086 2387 410 \n3 1012 5291 2385 \n3 5291 51 5292 \n3 2385 5292 1013 \n3 410 2386 4088 \n3 2386 1013 5293 \n3 4088 5293 123 \n3 124 4090 5294 \n3 4090 411 2390 \n3 5294 2390 1015 \n3 411 4089 2388 \n3 4089 123 5295 \n3 2388 5295 1014 \n3 1015 2389 5297 \n3 2389 1014 5296 \n3 5297 5296 52 \n3 53 5298 5299 \n3 5298 1016 2393 \n3 5299 2393 1017 \n3 1016 5300 2391 \n3 5300 125 4093 \n3 2391 4093 415 \n3 1017 2392 5301 \n3 2392 415 4097 \n3 5301 4097 127 \n3 125 5302 4092 \n3 5302 1018 2396 \n3 4092 2396 413 \n3 1018 5303 2394 \n3 5303 54 5304 \n3 2394 5304 1019 \n3 413 2395 4094 \n3 2395 1019 5305 \n3 4094 5305 126 \n3 127 4096 5306 \n3 4096 414 2399 \n3 5306 2399 1021 \n3 414 4095 2397 \n3 4095 126 5307 \n3 2397 5307 1020 \n3 1021 2398 5309 \n3 2398 1020 5308 \n3 5309 5308 55 \n3 56 5310 5311 \n3 5310 1022 2402 \n3 5311 2402 1023 \n3 1022 5312 2400 \n3 5312 128 4099 \n3 2400 4099 418 \n3 1023 2401 5313 \n3 2401 418 4103 \n3 5313 4103 130 \n3 128 5314 4098 \n3 5314 1024 2405 \n3 4098 2405 416 \n3 1024 5315 2403 \n3 5315 57 5316 \n3 2403 5316 1025 \n3 416 2404 4100 \n3 2404 1025 5317 \n3 4100 5317 129 \n3 130 4102 5318 \n3 4102 417 2408 \n3 5318 2408 1027 \n3 417 4101 2406 \n3 4101 129 5319 \n3 2406 5319 1026 \n3 1027 2407 5321 \n3 2407 1026 5320 \n3 5321 5320 58 \n3 59 5322 5323 \n3 5322 1028 2411 \n3 5323 2411 1029 \n3 1028 5324 2409 \n3 5324 131 4105 \n3 2409 4105 421 \n3 1029 2410 5325 \n3 2410 421 4109 \n3 5325 4109 133 \n3 131 5326 4104 \n3 5326 1030 2414 \n3 4104 2414 419 \n3 1030 5327 2412 \n3 5327 60 5328 \n3 2412 5328 1031 \n3 419 2413 4106 \n3 2413 1031 5329 \n3 4106 5329 132 \n3 133 4108 5330 \n3 4108 420 2417 \n3 5330 2417 1033 \n3 420 4107 2415 \n3 4107 132 5331 \n3 2415 5331 1032 \n3 1033 2416 5333 \n3 2416 1032 5332 \n3 5333 5332 61 \n3 62 5334 5335 \n3 5334 1034 2420 \n3 5335 2420 1035 \n3 1034 5336 2418 \n3 5336 134 4111 \n3 2418 4111 424 \n3 1035 2419 5337 \n3 2419 424 4115 \n3 5337 4115 136 \n3 134 5338 4110 \n3 5338 1036 2423 \n3 4110 2423 422 \n3 1036 5339 2421 \n3 5339 28 5340 \n3 2421 5340 1037 \n3 422 2422 4112 \n3 2422 1037 5341 \n3 4112 5341 135 \n3 136 4114 5342 \n3 4114 423 2426 \n3 5342 2426 1039 \n3 423 4113 2424 \n3 4113 135 5343 \n3 2424 5343 1038 \n3 1039 2425 5345 \n3 2425 1038 5344 \n3 5345 5344 63 \n3 64 5346 5347 \n3 5346 1040 2429 \n3 5347 2429 1041 \n3 1040 5348 2427 \n3 5348 137 4117 \n3 2427 4117 427 \n3 1041 2428 5349 \n3 2428 427 4121 \n3 5349 4121 139 \n3 137 5350 4116 \n3 5350 1042 2432 \n3 4116 2432 425 \n3 1042 5351 2430 \n3 5351 65 5352 \n3 2430 5352 1043 \n3 425 2431 4118 \n3 2431 1043 5353 \n3 4118 5353 138 \n3 139 4120 5354 \n3 4120 426 2435 \n3 5354 2435 1045 \n3 426 4119 2433 \n3 4119 138 5355 \n3 2433 5355 1044 \n3 1045 2434 5357 \n3 2434 1044 5356 \n3 5357 5356 26 \n3 27 5358 5359 \n3 5358 1046 2438 \n3 5359 2438 1047 \n3 1046 5360 2436 \n3 5360 140 4123 \n3 2436 4123 430 \n3 1047 2437 5361 \n3 2437 430 4127 \n3 5361 4127 142 \n3 140 5362 4122 \n3 5362 1048 2441 \n3 4122 2441 428 \n3 1048 5363 2439 \n3 5363 66 5364 \n3 2439 5364 1049 \n3 428 2440 4124 \n3 2440 1049 5365 \n3 4124 5365 141 \n3 142 4126 5366 \n3 4126 429 2444 \n3 5366 2444 1051 \n3 429 4125 2442 \n3 4125 141 5367 \n3 2442 5367 1050 \n3 1051 2443 5369 \n3 2443 1050 5368 \n3 5369 5368 67 \n3 68 5370 5371 \n3 5370 1052 2447 \n3 5371 2447 1053 \n3 1052 5372 2445 \n3 5372 143 4129 \n3 2445 4129 433 \n3 1053 2446 5373 \n3 2446 433 4133 \n3 5373 4133 145 \n3 143 5374 4128 \n3 5374 1054 2450 \n3 4128 2450 431 \n3 1054 5375 2448 \n3 5375 31 5376 \n3 2448 5376 1055 \n3 431 2449 4130 \n3 2449 1055 5377 \n3 4130 5377 144 \n3 145 4132 5378 \n3 4132 432 2453 \n3 5378 2453 1057 \n3 432 4131 2451 \n3 4131 144 5379 \n3 2451 5379 1056 \n3 1057 2452 5381 \n3 2452 1056 5380 \n3 5381 5380 69 \n3 70 5382 5383 \n3 5382 1058 2456 \n3 5383 2456 1059 \n3 1058 5384 2454 \n3 5384 146 4135 \n3 2454 4135 436 \n3 1059 2455 5385 \n3 2455 436 4139 \n3 5385 4139 148 \n3 146 5386 4134 \n3 5386 1060 2459 \n3 4134 2459 434 \n3 1060 5387 2457 \n3 5387 66 5388 \n3 2457 5388 1061 \n3 434 2458 4136 \n3 2458 1061 5389 \n3 4136 5389 147 \n3 148 4138 5390 \n3 4138 435 2462 \n3 5390 2462 1063 \n3 435 4137 2460 \n3 4137 147 5391 \n3 2460 5391 1062 \n3 1063 2461 5393 \n3 2461 1062 5392 \n3 5393 5392 29 \n3 30 5394 5395 \n3 5394 1064 2465 \n3 5395 2465 1065 \n3 1064 5396 2463 \n3 5396 149 4141 \n3 2463 4141 439 \n3 1065 2464 5397 \n3 2464 439 4145 \n3 5397 4145 151 \n3 149 5398 4140 \n3 5398 1066 2468 \n3 4140 2468 437 \n3 1066 5399 2466 \n3 5399 65 5400 \n3 2466 5400 1067 \n3 437 2467 4142 \n3 2467 1067 5401 \n3 4142 5401 150 \n3 151 4144 5402 \n3 4144 438 2471 \n3 5402 2471 1069 \n3 438 4143 2469 \n3 4143 150 5403 \n3 2469 5403 1068 \n3 1069 2470 5405 \n3 2470 1068 5404 \n3 5405 5404 71 \n3 1682 5406 5407 \n3 5406 1070 2474 \n3 5407 2474 1071 \n3 1070 5408 2472 \n3 5408 152 4147 \n3 2472 4147 442 \n3 1071 2473 5409 \n3 2473 442 4151 \n3 5409 4151 154 \n3 152 5410 4146 \n3 5410 1072 2477 \n3 4146 2477 440 \n3 1072 5411 2475 \n3 5411 34 5412 \n3 2475 5412 1073 \n3 440 2476 4148 \n3 2476 1073 5413 \n3 4148 5413 153 \n3 154 4150 5414 \n3 4150 441 2480 \n3 5414 2480 1075 \n3 441 4149 2478 \n3 4149 153 5415 \n3 2478 5415 1074 \n3 1075 2479 5417 \n3 2479 1074 5416 \n3 5417 5416 72 \n3 1683 5418 5419 \n3 5418 1076 2483 \n3 5419 2483 1077 \n3 1076 5420 2481 \n3 5420 155 4153 \n3 2481 4153 445 \n3 1077 2482 5421 \n3 2482 445 4157 \n3 5421 4157 157 \n3 155 5422 4152 \n3 5422 1078 2486 \n3 4152 2486 443 \n3 1078 5423 2484 \n3 5423 73 5424 \n3 2484 5424 1079 \n3 443 2485 4154 \n3 2485 1079 5425 \n3 4154 5425 156 \n3 157 4156 5426 \n3 4156 444 2489 \n3 5426 2489 1081 \n3 444 4155 2487 \n3 4155 156 5427 \n3 2487 5427 1080 \n3 1081 2488 5429 \n3 2488 1080 5428 \n3 5429 5428 32 \n3 33 5430 5431 \n3 5430 1082 2492 \n3 5431 2492 1083 \n3 1082 5432 2490 \n3 5432 158 4159 \n3 2490 4159 448 \n3 1083 2491 5433 \n3 2491 448 4163 \n3 5433 4163 160 \n3 158 5434 4158 \n3 5434 1084 2495 \n3 4158 2495 446 \n3 1084 5435 2493 \n3 5435 74 5436 \n3 2493 5436 1085 \n3 446 2494 4160 \n3 2494 1085 5437 \n3 4160 5437 159 \n3 160 4162 5438 \n3 4162 447 2498 \n3 5438 2498 1087 \n3 447 4161 2496 \n3 4161 159 5439 \n3 2496 5439 1086 \n3 1087 2497 5441 \n3 2497 1086 5440 \n3 5441 5440 75 \n3 76 5442 5443 \n3 5442 1088 2501 \n3 5443 2501 1089 \n3 1088 5444 2499 \n3 5444 161 4165 \n3 2499 4165 451 \n3 1089 2500 5445 \n3 2500 451 4169 \n3 5445 4169 163 \n3 161 5446 4164 \n3 5446 1090 2504 \n3 4164 2504 449 \n3 1090 5447 2502 \n3 5447 37 5448 \n3 2502 5448 1091 \n3 449 2503 4166 \n3 2503 1091 5449 \n3 4166 5449 162 \n3 163 4168 5450 \n3 4168 450 2507 \n3 5450 2507 1093 \n3 450 4167 2505 \n3 4167 162 5451 \n3 2505 5451 1092 \n3 1093 2506 5453 \n3 2506 1092 5452 \n3 5453 5452 77 \n3 78 5454 5455 \n3 5454 1094 2510 \n3 5455 2510 1095 \n3 1094 5456 2508 \n3 5456 164 4171 \n3 2508 4171 454 \n3 1095 2509 5457 \n3 2509 454 4175 \n3 5457 4175 166 \n3 164 5458 4170 \n3 5458 1096 2513 \n3 4170 2513 452 \n3 1096 5459 2511 \n3 5459 74 5460 \n3 2511 5460 1097 \n3 452 2512 4172 \n3 2512 1097 5461 \n3 4172 5461 165 \n3 166 4174 5462 \n3 4174 453 2516 \n3 5462 2516 1099 \n3 453 4173 2514 \n3 4173 165 5463 \n3 2514 5463 1098 \n3 1099 2515 5465 \n3 2515 1098 5464 \n3 5465 5464 35 \n3 36 5466 5467 \n3 5466 1100 2519 \n3 5467 2519 1101 \n3 1100 5468 2517 \n3 5468 167 4177 \n3 2517 4177 457 \n3 1101 2518 5469 \n3 2518 457 4181 \n3 5469 4181 169 \n3 167 5470 4176 \n3 5470 1102 2522 \n3 4176 2522 455 \n3 1102 5471 2520 \n3 5471 73 5472 \n3 2520 5472 1103 \n3 455 2521 4178 \n3 2521 1103 5473 \n3 4178 5473 168 \n3 169 4180 5474 \n3 4180 456 2525 \n3 5474 2525 1105 \n3 456 4179 2523 \n3 4179 168 5475 \n3 2523 5475 1104 \n3 1105 2524 5477 \n3 2524 1104 5476 \n3 5477 5476 79 \n3 1684 5478 5479 \n3 5478 1106 2528 \n3 5479 2528 1107 \n3 1106 5480 2526 \n3 5480 170 4183 \n3 2526 4183 460 \n3 1107 2527 5481 \n3 2527 460 4187 \n3 5481 4187 172 \n3 170 5482 4182 \n3 5482 1108 2531 \n3 4182 2531 458 \n3 1108 5483 2529 \n3 5483 40 5484 \n3 2529 5484 1109 \n3 458 2530 4184 \n3 2530 1109 5485 \n3 4184 5485 171 \n3 172 4186 5486 \n3 4186 459 2534 \n3 5486 2534 1111 \n3 459 4185 2532 \n3 4185 171 5487 \n3 2532 5487 1110 \n3 1111 2533 5489 \n3 2533 1110 5488 \n3 5489 5488 1685 \n3 1686 5490 5491 \n3 5490 1112 2537 \n3 5491 2537 1113 \n3 1112 5492 2535 \n3 5492 173 4189 \n3 2535 4189 463 \n3 1113 2536 5493 \n3 2536 463 4193 \n3 5493 4193 175 \n3 173 5494 4188 \n3 5494 1114 2540 \n3 4188 2540 461 \n3 1114 5495 2538 \n3 5495 80 5496 \n3 2538 5496 1115 \n3 461 2539 4190 \n3 2539 1115 5497 \n3 4190 5497 174 \n3 175 4192 5498 \n3 4192 462 2543 \n3 5498 2543 1117 \n3 462 4191 2541 \n3 4191 174 5499 \n3 2541 5499 1116 \n3 1117 2542 5501 \n3 2542 1116 5500 \n3 5501 5500 38 \n3 39 5502 5503 \n3 5502 1118 2546 \n3 5503 2546 1119 \n3 1118 5504 2544 \n3 5504 176 4195 \n3 2544 4195 466 \n3 1119 2545 5505 \n3 2545 466 4199 \n3 5505 4199 178 \n3 176 5506 4194 \n3 5506 1120 2549 \n3 4194 2549 464 \n3 1120 5507 2547 \n3 5507 81 5508 \n3 2547 5508 1121 \n3 464 2548 4196 \n3 2548 1121 5509 \n3 4196 5509 177 \n3 178 4198 5510 \n3 4198 465 2552 \n3 5510 2552 1123 \n3 465 4197 2550 \n3 4197 177 5511 \n3 2550 5511 1122 \n3 1123 2551 5513 \n3 2551 1122 5512 \n3 5513 5512 1687 \n3 82 5514 5515 \n3 5514 1124 2555 \n3 5515 2555 1125 \n3 1124 5516 2553 \n3 5516 179 4201 \n3 2553 4201 469 \n3 1125 2554 5517 \n3 2554 469 4205 \n3 5517 4205 181 \n3 179 5518 4200 \n3 5518 1126 2558 \n3 4200 2558 467 \n3 1126 5519 2556 \n3 5519 43 5520 \n3 2556 5520 1127 \n3 467 2557 4202 \n3 2557 1127 5521 \n3 4202 5521 180 \n3 181 4204 5522 \n3 4204 468 2561 \n3 5522 2561 1129 \n3 468 4203 2559 \n3 4203 180 5523 \n3 2559 5523 1128 \n3 1129 2560 5525 \n3 2560 1128 5524 \n3 5525 5524 83 \n3 84 5526 5527 \n3 5526 1130 2564 \n3 5527 2564 1131 \n3 1130 5528 2562 \n3 5528 182 4207 \n3 2562 4207 472 \n3 1131 2563 5529 \n3 2563 472 4211 \n3 5529 4211 184 \n3 182 5530 4206 \n3 5530 1132 2567 \n3 4206 2567 470 \n3 1132 5531 2565 \n3 5531 81 5532 \n3 2565 5532 1133 \n3 470 2566 4208 \n3 2566 1133 5533 \n3 4208 5533 183 \n3 184 4210 5534 \n3 4210 471 2570 \n3 5534 2570 1135 \n3 471 4209 2568 \n3 4209 183 5535 \n3 2568 5535 1134 \n3 1135 2569 5537 \n3 2569 1134 5536 \n3 5537 5536 41 \n3 42 5538 5539 \n3 5538 1136 2573 \n3 5539 2573 1137 \n3 1136 5540 2571 \n3 5540 185 4213 \n3 2571 4213 475 \n3 1137 2572 5541 \n3 2572 475 4217 \n3 5541 4217 187 \n3 185 5542 4212 \n3 5542 1138 2576 \n3 4212 2576 473 \n3 1138 5543 2574 \n3 5543 80 5544 \n3 2574 5544 1139 \n3 473 2575 4214 \n3 2575 1139 5545 \n3 4214 5545 186 \n3 187 4216 5546 \n3 4216 474 2579 \n3 5546 2579 1141 \n3 474 4215 2577 \n3 4215 186 5547 \n3 2577 5547 1140 \n3 1141 2578 5549 \n3 2578 1140 5548 \n3 5549 5548 85 \n3 86 5550 5551 \n3 5550 1142 2582 \n3 5551 2582 1143 \n3 1142 5552 2580 \n3 5552 188 4219 \n3 2580 4219 478 \n3 1143 2581 5553 \n3 2581 478 4223 \n3 5553 4223 190 \n3 188 5554 4218 \n3 5554 1144 2585 \n3 4218 2585 476 \n3 1144 5555 2583 \n3 5555 46 5556 \n3 2583 5556 1145 \n3 476 2584 4220 \n3 2584 1145 5557 \n3 4220 5557 189 \n3 190 4222 5558 \n3 4222 477 2588 \n3 5558 2588 1147 \n3 477 4221 2586 \n3 4221 189 5559 \n3 2586 5559 1146 \n3 1147 2587 5561 \n3 2587 1146 5560 \n3 5561 5560 87 \n3 88 5562 5563 \n3 5562 1148 2591 \n3 5563 2591 1149 \n3 1148 5564 2589 \n3 5564 191 4225 \n3 2589 4225 481 \n3 1149 2590 5565 \n3 2590 481 4229 \n3 5565 4229 193 \n3 191 5566 4224 \n3 5566 1150 2594 \n3 4224 2594 479 \n3 1150 5567 2592 \n3 5567 89 5568 \n3 2592 5568 1151 \n3 479 2593 4226 \n3 2593 1151 5569 \n3 4226 5569 192 \n3 193 4228 5570 \n3 4228 480 2597 \n3 5570 2597 1153 \n3 480 4227 2595 \n3 4227 192 5571 \n3 2595 5571 1152 \n3 1153 2596 5573 \n3 2596 1152 5572 \n3 5573 5572 44 \n3 45 5574 5575 \n3 5574 1154 2600 \n3 5575 2600 1155 \n3 1154 5576 2598 \n3 5576 194 4231 \n3 2598 4231 484 \n3 1155 2599 5577 \n3 2599 484 4235 \n3 5577 4235 196 \n3 194 5578 4230 \n3 5578 1156 2603 \n3 4230 2603 482 \n3 1156 5579 2601 \n3 5579 90 5580 \n3 2601 5580 1157 \n3 482 2602 4232 \n3 2602 1157 5581 \n3 4232 5581 195 \n3 196 4234 5582 \n3 4234 483 2606 \n3 5582 2606 1159 \n3 483 4233 2604 \n3 4233 195 5583 \n3 2604 5583 1158 \n3 1159 2605 5585 \n3 2605 1158 5584 \n3 5585 5584 91 \n3 1688 5586 5587 \n3 5586 1160 2609 \n3 5587 2609 1161 \n3 1160 5588 2607 \n3 5588 197 4237 \n3 2607 4237 487 \n3 1161 2608 5589 \n3 2608 487 4241 \n3 5589 4241 199 \n3 197 5590 4236 \n3 5590 1162 2612 \n3 4236 2612 485 \n3 1162 5591 2610 \n3 5591 49 5592 \n3 2610 5592 1163 \n3 485 2611 4238 \n3 2611 1163 5593 \n3 4238 5593 198 \n3 199 4240 5594 \n3 4240 486 2615 \n3 5594 2615 1165 \n3 486 4239 2613 \n3 4239 198 5595 \n3 2613 5595 1164 \n3 1165 2614 5597 \n3 2614 1164 5596 \n3 5597 5596 1689 \n3 1690 5598 5599 \n3 5598 1166 2618 \n3 5599 2618 1167 \n3 1166 5600 2616 \n3 5600 200 4243 \n3 2616 4243 490 \n3 1167 2617 5601 \n3 2617 490 4247 \n3 5601 4247 202 \n3 200 5602 4242 \n3 5602 1168 2621 \n3 4242 2621 488 \n3 1168 5603 2619 \n3 5603 90 5604 \n3 2619 5604 1169 \n3 488 2620 4244 \n3 2620 1169 5605 \n3 4244 5605 201 \n3 202 4246 5606 \n3 4246 489 2624 \n3 5606 2624 1171 \n3 489 4245 2622 \n3 4245 201 5607 \n3 2622 5607 1170 \n3 1171 2623 5609 \n3 2623 1170 5608 \n3 5609 5608 47 \n3 48 5610 5611 \n3 5610 1172 2627 \n3 5611 2627 1173 \n3 1172 5612 2625 \n3 5612 203 4249 \n3 2625 4249 493 \n3 1173 2626 5613 \n3 2626 493 4253 \n3 5613 4253 205 \n3 203 5614 4248 \n3 5614 1174 2630 \n3 4248 2630 491 \n3 1174 5615 2628 \n3 5615 89 5616 \n3 2628 5616 1175 \n3 491 2629 4250 \n3 2629 1175 5617 \n3 4250 5617 204 \n3 205 4252 5618 \n3 4252 492 2633 \n3 5618 2633 1177 \n3 492 4251 2631 \n3 4251 204 5619 \n3 2631 5619 1176 \n3 1177 2632 5621 \n3 2632 1176 5620 \n3 5621 5620 1691 \n3 1692 5622 5623 \n3 5622 1178 2636 \n3 5623 2636 1179 \n3 1178 5624 2634 \n3 5624 206 4255 \n3 2634 4255 496 \n3 1179 2635 5625 \n3 2635 496 4259 \n3 5625 4259 208 \n3 206 5626 4254 \n3 5626 1180 2639 \n3 4254 2639 494 \n3 1180 5627 2637 \n3 5627 52 5628 \n3 2637 5628 1181 \n3 494 2638 4256 \n3 2638 1181 5629 \n3 4256 5629 207 \n3 208 4258 5630 \n3 4258 495 2642 \n3 5630 2642 1183 \n3 495 4257 2640 \n3 4257 207 5631 \n3 2640 5631 1182 \n3 1183 2641 5633 \n3 2641 1182 5632 \n3 5633 5632 92 \n3 1693 5634 5635 \n3 5634 1184 2645 \n3 5635 2645 1185 \n3 1184 5636 2643 \n3 5636 209 4261 \n3 2643 4261 499 \n3 1185 2644 5637 \n3 2644 499 4265 \n3 5637 4265 211 \n3 209 5638 4260 \n3 5638 1186 2648 \n3 4260 2648 497 \n3 1186 5639 2646 \n3 5639 93 5640 \n3 2646 5640 1187 \n3 497 2647 4262 \n3 2647 1187 5641 \n3 4262 5641 210 \n3 211 4264 5642 \n3 4264 498 2651 \n3 5642 2651 1189 \n3 498 4263 2649 \n3 4263 210 5643 \n3 2649 5643 1188 \n3 1189 2650 5645 \n3 2650 1188 5644 \n3 5645 5644 50 \n3 51 5646 5647 \n3 5646 1190 2654 \n3 5647 2654 1191 \n3 1190 5648 2652 \n3 5648 212 4267 \n3 2652 4267 502 \n3 1191 2653 5649 \n3 2653 502 4271 \n3 5649 4271 214 \n3 212 5650 4266 \n3 5650 1192 2657 \n3 4266 2657 500 \n3 1192 5651 2655 \n3 5651 94 5652 \n3 2655 5652 1193 \n3 500 2656 4268 \n3 2656 1193 5653 \n3 4268 5653 213 \n3 214 4270 5654 \n3 4270 501 2660 \n3 5654 2660 1195 \n3 501 4269 2658 \n3 4269 213 5655 \n3 2658 5655 1194 \n3 1195 2659 5657 \n3 2659 1194 5656 \n3 5657 5656 95 \n3 1694 5658 5659 \n3 5658 1196 2663 \n3 5659 2663 1197 \n3 1196 5660 2661 \n3 5660 215 4273 \n3 2661 4273 505 \n3 1197 2662 5661 \n3 2662 505 4277 \n3 5661 4277 217 \n3 215 5662 4272 \n3 5662 1198 2666 \n3 4272 2666 503 \n3 1198 5663 2664 \n3 5663 55 5664 \n3 2664 5664 1199 \n3 503 2665 4274 \n3 2665 1199 5665 \n3 4274 5665 216 \n3 217 4276 5666 \n3 4276 504 2669 \n3 5666 2669 1201 \n3 504 4275 2667 \n3 4275 216 5667 \n3 2667 5667 1200 \n3 1201 2668 5669 \n3 2668 1200 5668 \n3 5669 5668 1695 \n3 1696 5670 5671 \n3 5670 1202 2672 \n3 5671 2672 1203 \n3 1202 5672 2670 \n3 5672 218 4279 \n3 2670 4279 508 \n3 1203 2671 5673 \n3 2671 508 4283 \n3 5673 4283 220 \n3 218 5674 4278 \n3 5674 1204 2675 \n3 4278 2675 506 \n3 1204 5675 2673 \n3 5675 94 5676 \n3 2673 5676 1205 \n3 506 2674 4280 \n3 2674 1205 5677 \n3 4280 5677 219 \n3 220 4282 5678 \n3 4282 507 2678 \n3 5678 2678 1207 \n3 507 4281 2676 \n3 4281 219 5679 \n3 2676 5679 1206 \n3 1207 2677 5681 \n3 2677 1206 5680 \n3 5681 5680 53 \n3 54 5682 5683 \n3 5682 1208 2681 \n3 5683 2681 1209 \n3 1208 5684 2679 \n3 5684 221 4285 \n3 2679 4285 511 \n3 1209 2680 5685 \n3 2680 511 4289 \n3 5685 4289 223 \n3 221 5686 4284 \n3 5686 1210 2684 \n3 4284 2684 509 \n3 1210 5687 2682 \n3 5687 93 5688 \n3 2682 5688 1211 \n3 509 2683 4286 \n3 2683 1211 5689 \n3 4286 5689 222 \n3 223 4288 5690 \n3 4288 510 2687 \n3 5690 2687 1213 \n3 510 4287 2685 \n3 4287 222 5691 \n3 2685 5691 1212 \n3 1213 2686 5693 \n3 2686 1212 5692 \n3 5693 5692 1697 \n3 1698 5694 5695 \n3 5694 1214 2690 \n3 5695 2690 1215 \n3 1214 5696 2688 \n3 5696 224 4291 \n3 2688 4291 514 \n3 1215 2689 5697 \n3 2689 514 4295 \n3 5697 4295 226 \n3 224 5698 4290 \n3 5698 1216 2693 \n3 4290 2693 512 \n3 1216 5699 2691 \n3 5699 58 5700 \n3 2691 5700 1217 \n3 512 2692 4292 \n3 2692 1217 5701 \n3 4292 5701 225 \n3 226 4294 5702 \n3 4294 513 2696 \n3 5702 2696 1219 \n3 513 4293 2694 \n3 4293 225 5703 \n3 2694 5703 1218 \n3 1219 2695 5705 \n3 2695 1218 5704 \n3 5705 5704 1699 \n3 1700 5706 5707 \n3 5706 1220 2699 \n3 5707 2699 1221 \n3 1220 5708 2697 \n3 5708 227 4297 \n3 2697 4297 517 \n3 1221 2698 5709 \n3 2698 517 4301 \n3 5709 4301 229 \n3 227 5710 4296 \n3 5710 1222 2702 \n3 4296 2702 515 \n3 1222 5711 2700 \n3 5711 96 5712 \n3 2700 5712 1223 \n3 515 2701 4298 \n3 2701 1223 5713 \n3 4298 5713 228 \n3 229 4300 5714 \n3 4300 516 2705 \n3 5714 2705 1225 \n3 516 4299 2703 \n3 4299 228 5715 \n3 2703 5715 1224 \n3 1225 2704 5717 \n3 2704 1224 5716 \n3 5717 5716 56 \n3 57 5718 5719 \n3 5718 1226 2708 \n3 5719 2708 1227 \n3 1226 5720 2706 \n3 5720 230 4303 \n3 2706 4303 520 \n3 1227 2707 5721 \n3 2707 520 4307 \n3 5721 4307 232 \n3 230 5722 4302 \n3 5722 1228 2711 \n3 4302 2711 518 \n3 1228 5723 2709 \n3 5723 97 5724 \n3 2709 5724 1229 \n3 518 2710 4304 \n3 2710 1229 5725 \n3 4304 5725 231 \n3 232 4306 5726 \n3 4306 519 2714 \n3 5726 2714 1231 \n3 519 4305 2712 \n3 4305 231 5727 \n3 2712 5727 1230 \n3 1231 2713 5729 \n3 2713 1230 5728 \n3 5729 5728 1701 \n3 1702 5730 5731 \n3 5730 1232 2717 \n3 5731 2717 1233 \n3 1232 5732 2715 \n3 5732 233 4309 \n3 2715 4309 523 \n3 1233 2716 5733 \n3 2716 523 4313 \n3 5733 4313 235 \n3 233 5734 4308 \n3 5734 1234 2720 \n3 4308 2720 521 \n3 1234 5735 2718 \n3 5735 61 5736 \n3 2718 5736 1235 \n3 521 2719 4310 \n3 2719 1235 5737 \n3 4310 5737 234 \n3 235 4312 5738 \n3 4312 522 2723 \n3 5738 2723 1237 \n3 522 4311 2721 \n3 4311 234 5739 \n3 2721 5739 1236 \n3 1237 2722 5741 \n3 2722 1236 5740 \n3 5741 5740 1703 \n3 1704 5742 5743 \n3 5742 1238 2726 \n3 5743 2726 1239 \n3 1238 5744 2724 \n3 5744 236 4315 \n3 2724 4315 526 \n3 1239 2725 5745 \n3 2725 526 4319 \n3 5745 4319 238 \n3 236 5746 4314 \n3 5746 1240 2729 \n3 4314 2729 524 \n3 1240 5747 2727 \n3 5747 97 5748 \n3 2727 5748 1241 \n3 524 2728 4316 \n3 2728 1241 5749 \n3 4316 5749 237 \n3 238 4318 5750 \n3 4318 525 2732 \n3 5750 2732 1243 \n3 525 4317 2730 \n3 4317 237 5751 \n3 2730 5751 1242 \n3 1243 2731 5753 \n3 2731 1242 5752 \n3 5753 5752 59 \n3 60 5754 5755 \n3 5754 1244 2735 \n3 5755 2735 1245 \n3 1244 5756 2733 \n3 5756 239 4321 \n3 2733 4321 529 \n3 1245 2734 5757 \n3 2734 529 4325 \n3 5757 4325 241 \n3 239 5758 4320 \n3 5758 1246 2738 \n3 4320 2738 527 \n3 1246 5759 2736 \n3 5759 96 5760 \n3 2736 5760 1247 \n3 527 2737 4322 \n3 2737 1247 5761 \n3 4322 5761 240 \n3 241 4324 5762 \n3 4324 528 2741 \n3 5762 2741 1249 \n3 528 4323 2739 \n3 4323 240 5763 \n3 2739 5763 1248 \n3 1249 2740 5765 \n3 2740 1248 5764 \n3 5765 5764 1705 \n3 8 5766 5767 \n3 5766 1250 2744 \n3 5767 2744 1251 \n3 1250 5768 2742 \n3 5768 242 4327 \n3 2742 4327 532 \n3 1251 2743 5769 \n3 2743 532 4331 \n3 5769 4331 243 \n3 242 5770 4326 \n3 5770 1252 2747 \n3 4326 2747 530 \n3 1252 5771 2745 \n3 5771 26 5191 \n3 2745 5191 963 \n3 530 2746 4328 \n3 2746 963 5193 \n3 4328 5193 100 \n3 243 4330 5772 \n3 4330 531 2750 \n3 5772 2750 1253 \n3 531 4329 2748 \n3 4329 100 5198 \n3 2748 5198 967 \n3 1253 2749 5773 \n3 2749 967 5201 \n3 5773 5201 28 \n3 26 5774 5190 \n3 5774 1254 2753 \n3 5190 2753 962 \n3 1254 5775 2751 \n3 5775 244 4333 \n3 2751 4333 535 \n3 962 2752 5192 \n3 2752 535 4337 \n3 5192 4337 98 \n3 244 5776 4332 \n3 5776 1255 2756 \n3 4332 2756 533 \n3 1255 5777 2754 \n3 5777 9 5778 \n3 2754 5778 1256 \n3 533 2755 4334 \n3 2755 1256 5779 \n3 4334 5779 245 \n3 98 4336 5194 \n3 4336 534 2759 \n3 5194 2759 964 \n3 534 4335 2757 \n3 4335 245 5780 \n3 2757 5780 1257 \n3 964 2758 5195 \n3 2758 1257 5781 \n3 5195 5781 27 \n3 28 5200 5782 \n3 5200 966 2762 \n3 5782 2762 1258 \n3 966 5199 2760 \n3 5199 99 4339 \n3 2760 4339 538 \n3 1258 2761 5783 \n3 2761 538 4343 \n3 5783 4343 247 \n3 99 5197 4338 \n3 5197 965 2765 \n3 4338 2765 536 \n3 965 5196 2763 \n3 5196 27 5784 \n3 2763 5784 1259 \n3 536 2764 4340 \n3 2764 1259 5785 \n3 4340 5785 246 \n3 247 4342 5786 \n3 4342 537 2768 \n3 5786 2768 1261 \n3 537 4341 2766 \n3 4341 246 5787 \n3 2766 5787 1260 \n3 1261 2767 5789 \n3 2767 1260 5788 \n3 5789 5788 10 \n3 11 5790 5791 \n3 5790 1262 2771 \n3 5791 2771 1263 \n3 1262 5792 2769 \n3 5792 248 4345 \n3 2769 4345 541 \n3 1263 2770 5793 \n3 2770 541 4349 \n3 5793 4349 249 \n3 248 5794 4344 \n3 5794 1264 2774 \n3 4344 2774 539 \n3 1264 5795 2772 \n3 5795 29 5203 \n3 2772 5203 969 \n3 539 2773 4346 \n3 2773 969 5205 \n3 4346 5205 103 \n3 249 4348 5796 \n3 4348 540 2777 \n3 5796 2777 1265 \n3 540 4347 2775 \n3 4347 103 5210 \n3 2775 5210 973 \n3 1265 2776 5797 \n3 2776 973 5213 \n3 5797 5213 31 \n3 29 5798 5202 \n3 5798 1266 2780 \n3 5202 2780 968 \n3 1266 5799 2778 \n3 5799 250 4351 \n3 2778 4351 544 \n3 968 2779 5204 \n3 2779 544 4355 \n3 5204 4355 101 \n3 250 5800 4350 \n3 5800 1267 2783 \n3 4350 2783 542 \n3 1267 5801 2781 \n3 5801 9 5802 \n3 2781 5802 1268 \n3 542 2782 4352 \n3 2782 1268 5803 \n3 4352 5803 251 \n3 101 4354 5206 \n3 4354 543 2786 \n3 5206 2786 970 \n3 543 4353 2784 \n3 4353 251 5804 \n3 2784 5804 1269 \n3 970 2785 5207 \n3 2785 1269 5805 \n3 5207 5805 30 \n3 31 5212 5806 \n3 5212 972 2789 \n3 5806 2789 1270 \n3 972 5211 2787 \n3 5211 102 4357 \n3 2787 4357 547 \n3 1270 2788 5807 \n3 2788 547 4361 \n3 5807 4361 253 \n3 102 5209 4356 \n3 5209 971 2792 \n3 4356 2792 545 \n3 971 5208 2790 \n3 5208 30 5808 \n3 2790 5808 1271 \n3 545 2791 4358 \n3 2791 1271 5809 \n3 4358 5809 252 \n3 253 4360 5810 \n3 4360 546 2795 \n3 5810 2795 1273 \n3 546 4359 2793 \n3 4359 252 5811 \n3 2793 5811 1272 \n3 1273 2794 5813 \n3 2794 1272 5812 \n3 5813 5812 12 \n3 1706 5814 5815 \n3 5814 1274 2798 \n3 5815 2798 1275 \n3 1274 5816 2796 \n3 5816 254 4363 \n3 2796 4363 550 \n3 1275 2797 5817 \n3 2797 550 4367 \n3 5817 4367 255 \n3 254 5818 4362 \n3 5818 1276 2801 \n3 4362 2801 548 \n3 1276 5819 2799 \n3 5819 32 5215 \n3 2799 5215 975 \n3 548 2800 4364 \n3 2800 975 5217 \n3 4364 5217 106 \n3 255 4366 5820 \n3 4366 549 2804 \n3 5820 2804 1277 \n3 549 4365 2802 \n3 4365 106 5222 \n3 2802 5222 979 \n3 1277 2803 5821 \n3 2803 979 5225 \n3 5821 5225 34 \n3 32 5822 5214 \n3 5822 1278 2807 \n3 5214 2807 974 \n3 1278 5823 2805 \n3 5823 256 4369 \n3 2805 4369 553 \n3 974 2806 5216 \n3 2806 553 4373 \n3 5216 4373 104 \n3 256 5824 4368 \n3 5824 1279 2810 \n3 4368 2810 551 \n3 1279 5825 2808 \n3 5825 13 5826 \n3 2808 5826 1280 \n3 551 2809 4370 \n3 2809 1280 5827 \n3 4370 5827 257 \n3 104 4372 5218 \n3 4372 552 2813 \n3 5218 2813 976 \n3 552 4371 2811 \n3 4371 257 5828 \n3 2811 5828 1281 \n3 976 2812 5219 \n3 2812 1281 5829 \n3 5219 5829 33 \n3 34 5224 5830 \n3 5224 978 2816 \n3 5830 2816 1282 \n3 978 5223 2814 \n3 5223 105 4375 \n3 2814 4375 556 \n3 1282 2815 5831 \n3 2815 556 4379 \n3 5831 4379 259 \n3 105 5221 4374 \n3 5221 977 2819 \n3 4374 2819 554 \n3 977 5220 2817 \n3 5220 33 5832 \n3 2817 5832 1283 \n3 554 2818 4376 \n3 2818 1283 5833 \n3 4376 5833 258 \n3 259 4378 5834 \n3 4378 555 2822 \n3 5834 2822 1285 \n3 555 4377 2820 \n3 4377 258 5835 \n3 2820 5835 1284 \n3 1285 2821 5837 \n3 2821 1284 5836 \n3 5837 5836 14 \n3 15 5838 5839 \n3 5838 1286 2825 \n3 5839 2825 1287 \n3 1286 5840 2823 \n3 5840 260 4381 \n3 2823 4381 559 \n3 1287 2824 5841 \n3 2824 559 4385 \n3 5841 4385 261 \n3 260 5842 4380 \n3 5842 1288 2828 \n3 4380 2828 557 \n3 1288 5843 2826 \n3 5843 35 5227 \n3 2826 5227 981 \n3 557 2827 4382 \n3 2827 981 5229 \n3 4382 5229 109 \n3 261 4384 5844 \n3 4384 558 2831 \n3 5844 2831 1289 \n3 558 4383 2829 \n3 4383 109 5234 \n3 2829 5234 985 \n3 1289 2830 5845 \n3 2830 985 5237 \n3 5845 5237 37 \n3 35 5846 5226 \n3 5846 1290 2834 \n3 5226 2834 980 \n3 1290 5847 2832 \n3 5847 262 4387 \n3 2832 4387 562 \n3 980 2833 5228 \n3 2833 562 4391 \n3 5228 4391 107 \n3 262 5848 4386 \n3 5848 1291 2837 \n3 4386 2837 560 \n3 1291 5849 2835 \n3 5849 13 5850 \n3 2835 5850 1292 \n3 560 2836 4388 \n3 2836 1292 5851 \n3 4388 5851 263 \n3 107 4390 5230 \n3 4390 561 2840 \n3 5230 2840 982 \n3 561 4389 2838 \n3 4389 263 5852 \n3 2838 5852 1293 \n3 982 2839 5231 \n3 2839 1293 5853 \n3 5231 5853 36 \n3 37 5236 5854 \n3 5236 984 2843 \n3 5854 2843 1294 \n3 984 5235 2841 \n3 5235 108 4393 \n3 2841 4393 565 \n3 1294 2842 5855 \n3 2842 565 4397 \n3 5855 4397 265 \n3 108 5233 4392 \n3 5233 983 2846 \n3 4392 2846 563 \n3 983 5232 2844 \n3 5232 36 5856 \n3 2844 5856 1295 \n3 563 2845 4394 \n3 2845 1295 5857 \n3 4394 5857 264 \n3 265 4396 5858 \n3 4396 564 2849 \n3 5858 2849 1297 \n3 564 4395 2847 \n3 4395 264 5859 \n3 2847 5859 1296 \n3 1297 2848 5861 \n3 2848 1296 5860 \n3 5861 5860 16 \n3 1707 5862 5863 \n3 5862 1298 2852 \n3 5863 2852 1299 \n3 1298 5864 2850 \n3 5864 266 4399 \n3 2850 4399 568 \n3 1299 2851 5865 \n3 2851 568 4403 \n3 5865 4403 267 \n3 266 5866 4398 \n3 5866 1300 2855 \n3 4398 2855 566 \n3 1300 5867 2853 \n3 5867 38 5239 \n3 2853 5239 987 \n3 566 2854 4400 \n3 2854 987 5241 \n3 4400 5241 112 \n3 267 4402 5868 \n3 4402 567 2858 \n3 5868 2858 1301 \n3 567 4401 2856 \n3 4401 112 5246 \n3 2856 5246 991 \n3 1301 2857 5869 \n3 2857 991 5249 \n3 5869 5249 40 \n3 38 5870 5238 \n3 5870 1302 2861 \n3 5238 2861 986 \n3 1302 5871 2859 \n3 5871 268 4405 \n3 2859 4405 571 \n3 986 2860 5240 \n3 2860 571 4409 \n3 5240 4409 110 \n3 268 5872 4404 \n3 5872 1303 2864 \n3 4404 2864 569 \n3 1303 5873 2862 \n3 5873 17 5874 \n3 2862 5874 1304 \n3 569 2863 4406 \n3 2863 1304 5875 \n3 4406 5875 269 \n3 110 4408 5242 \n3 4408 570 2867 \n3 5242 2867 988 \n3 570 4407 2865 \n3 4407 269 5876 \n3 2865 5876 1305 \n3 988 2866 5243 \n3 2866 1305 5877 \n3 5243 5877 39 \n3 40 5248 5878 \n3 5248 990 2870 \n3 5878 2870 1306 \n3 990 5247 2868 \n3 5247 111 4411 \n3 2868 4411 574 \n3 1306 2869 5879 \n3 2869 574 4415 \n3 5879 4415 271 \n3 111 5245 4410 \n3 5245 989 2873 \n3 4410 2873 572 \n3 989 5244 2871 \n3 5244 39 5880 \n3 2871 5880 1307 \n3 572 2872 4412 \n3 2872 1307 5881 \n3 4412 5881 270 \n3 271 4414 5882 \n3 4414 573 2876 \n3 5882 2876 1309 \n3 573 4413 2874 \n3 4413 270 5883 \n3 2874 5883 1308 \n3 1309 2875 5885 \n3 2875 1308 5884 \n3 5885 5884 1708 \n3 18 5886 5887 \n3 5886 1310 2879 \n3 5887 2879 1311 \n3 1310 5888 2877 \n3 5888 272 4417 \n3 2877 4417 577 \n3 1311 2878 5889 \n3 2878 577 4421 \n3 5889 4421 273 \n3 272 5890 4416 \n3 5890 1312 2882 \n3 4416 2882 575 \n3 1312 5891 2880 \n3 5891 41 5251 \n3 2880 5251 993 \n3 575 2881 4418 \n3 2881 993 5253 \n3 4418 5253 115 \n3 273 4420 5892 \n3 4420 576 2885 \n3 5892 2885 1313 \n3 576 4419 2883 \n3 4419 115 5258 \n3 2883 5258 997 \n3 1313 2884 5893 \n3 2884 997 5261 \n3 5893 5261 43 \n3 41 5894 5250 \n3 5894 1314 2888 \n3 5250 2888 992 \n3 1314 5895 2886 \n3 5895 274 4423 \n3 2886 4423 580 \n3 992 2887 5252 \n3 2887 580 4427 \n3 5252 4427 113 \n3 274 5896 4422 \n3 5896 1315 2891 \n3 4422 2891 578 \n3 1315 5897 2889 \n3 5897 17 5898 \n3 2889 5898 1316 \n3 578 2890 4424 \n3 2890 1316 5899 \n3 4424 5899 275 \n3 113 4426 5254 \n3 4426 579 2894 \n3 5254 2894 994 \n3 579 4425 2892 \n3 4425 275 5900 \n3 2892 5900 1317 \n3 994 2893 5255 \n3 2893 1317 5901 \n3 5255 5901 42 \n3 43 5260 5902 \n3 5260 996 2897 \n3 5902 2897 1318 \n3 996 5259 2895 \n3 5259 114 4429 \n3 2895 4429 583 \n3 1318 2896 5903 \n3 2896 583 4433 \n3 5903 4433 277 \n3 114 5257 4428 \n3 5257 995 2900 \n3 4428 2900 581 \n3 995 5256 2898 \n3 5256 42 5904 \n3 2898 5904 1319 \n3 581 2899 4430 \n3 2899 1319 5905 \n3 4430 5905 276 \n3 277 4432 5906 \n3 4432 582 2903 \n3 5906 2903 1321 \n3 582 4431 2901 \n3 4431 276 5907 \n3 2901 5907 1320 \n3 1321 2902 5909 \n3 2902 1320 5908 \n3 5909 5908 19 \n3 20 5910 5911 \n3 5910 1322 2906 \n3 5911 2906 1323 \n3 1322 5912 2904 \n3 5912 278 4435 \n3 2904 4435 586 \n3 1323 2905 5913 \n3 2905 586 4439 \n3 5913 4439 279 \n3 278 5914 4434 \n3 5914 1324 2909 \n3 4434 2909 584 \n3 1324 5915 2907 \n3 5915 44 5263 \n3 2907 5263 999 \n3 584 2908 4436 \n3 2908 999 5265 \n3 4436 5265 118 \n3 279 4438 5916 \n3 4438 585 2912 \n3 5916 2912 1325 \n3 585 4437 2910 \n3 4437 118 5270 \n3 2910 5270 1003 \n3 1325 2911 5917 \n3 2911 1003 5273 \n3 5917 5273 46 \n3 44 5918 5262 \n3 5918 1326 2915 \n3 5262 2915 998 \n3 1326 5919 2913 \n3 5919 280 4441 \n3 2913 4441 589 \n3 998 2914 5264 \n3 2914 589 4445 \n3 5264 4445 116 \n3 280 5920 4440 \n3 5920 1327 2918 \n3 4440 2918 587 \n3 1327 5921 2916 \n3 5921 21 5922 \n3 2916 5922 1328 \n3 587 2917 4442 \n3 2917 1328 5923 \n3 4442 5923 281 \n3 116 4444 5266 \n3 4444 588 2921 \n3 5266 2921 1000 \n3 588 4443 2919 \n3 4443 281 5924 \n3 2919 5924 1329 \n3 1000 2920 5267 \n3 2920 1329 5925 \n3 5267 5925 45 \n3 46 5272 5926 \n3 5272 1002 2924 \n3 5926 2924 1330 \n3 1002 5271 2922 \n3 5271 117 4447 \n3 2922 4447 592 \n3 1330 2923 5927 \n3 2923 592 4451 \n3 5927 4451 283 \n3 117 5269 4446 \n3 5269 1001 2927 \n3 4446 2927 590 \n3 1001 5268 2925 \n3 5268 45 5928 \n3 2925 5928 1331 \n3 590 2926 4448 \n3 2926 1331 5929 \n3 4448 5929 282 \n3 283 4450 5930 \n3 4450 591 2930 \n3 5930 2930 1333 \n3 591 4449 2928 \n3 4449 282 5931 \n3 2928 5931 1332 \n3 1333 2929 5933 \n3 2929 1332 5932 \n3 5933 5932 22 \n3 1709 5934 5935 \n3 5934 1334 2933 \n3 5935 2933 1335 \n3 1334 5936 2931 \n3 5936 284 4453 \n3 2931 4453 595 \n3 1335 2932 5937 \n3 2932 595 4457 \n3 5937 4457 285 \n3 284 5938 4452 \n3 5938 1336 2936 \n3 4452 2936 593 \n3 1336 5939 2934 \n3 5939 47 5275 \n3 2934 5275 1005 \n3 593 2935 4454 \n3 2935 1005 5277 \n3 4454 5277 121 \n3 285 4456 5940 \n3 4456 594 2939 \n3 5940 2939 1337 \n3 594 4455 2937 \n3 4455 121 5282 \n3 2937 5282 1009 \n3 1337 2938 5941 \n3 2938 1009 5285 \n3 5941 5285 49 \n3 47 5942 5274 \n3 5942 1338 2942 \n3 5274 2942 1004 \n3 1338 5943 2940 \n3 5943 286 4459 \n3 2940 4459 598 \n3 1004 2941 5276 \n3 2941 598 4463 \n3 5276 4463 119 \n3 286 5944 4458 \n3 5944 1339 2945 \n3 4458 2945 596 \n3 1339 5945 2943 \n3 5945 21 5946 \n3 2943 5946 1340 \n3 596 2944 4460 \n3 2944 1340 5947 \n3 4460 5947 287 \n3 119 4462 5278 \n3 4462 597 2948 \n3 5278 2948 1006 \n3 597 4461 2946 \n3 4461 287 5948 \n3 2946 5948 1341 \n3 1006 2947 5279 \n3 2947 1341 5949 \n3 5279 5949 48 \n3 49 5284 5950 \n3 5284 1008 2951 \n3 5950 2951 1342 \n3 1008 5283 2949 \n3 5283 120 4465 \n3 2949 4465 601 \n3 1342 2950 5951 \n3 2950 601 4469 \n3 5951 4469 289 \n3 120 5281 4464 \n3 5281 1007 2954 \n3 4464 2954 599 \n3 1007 5280 2952 \n3 5280 48 5952 \n3 2952 5952 1343 \n3 599 2953 4466 \n3 2953 1343 5953 \n3 4466 5953 288 \n3 289 4468 5954 \n3 4468 600 2957 \n3 5954 2957 1345 \n3 600 4467 2955 \n3 4467 288 5955 \n3 2955 5955 1344 \n3 1345 2956 5957 \n3 2956 1344 5956 \n3 5957 5956 1710 \n3 1711 5958 5959 \n3 5958 1346 2960 \n3 5959 2960 1347 \n3 1346 5960 2958 \n3 5960 290 4471 \n3 2958 4471 604 \n3 1347 2959 5961 \n3 2959 604 4475 \n3 5961 4475 291 \n3 290 5962 4470 \n3 5962 1348 2963 \n3 4470 2963 602 \n3 1348 5963 2961 \n3 5963 50 5287 \n3 2961 5287 1011 \n3 602 2962 4472 \n3 2962 1011 5289 \n3 4472 5289 124 \n3 291 4474 5964 \n3 4474 603 2966 \n3 5964 2966 1349 \n3 603 4473 2964 \n3 4473 124 5294 \n3 2964 5294 1015 \n3 1349 2965 5965 \n3 2965 1015 5297 \n3 5965 5297 52 \n3 50 5966 5286 \n3 5966 1350 2969 \n3 5286 2969 1010 \n3 1350 5967 2967 \n3 5967 292 4477 \n3 2967 4477 607 \n3 1010 2968 5288 \n3 2968 607 4481 \n3 5288 4481 122 \n3 292 5968 4476 \n3 5968 1351 2972 \n3 4476 2972 605 \n3 1351 5969 2970 \n3 5969 23 5970 \n3 2970 5970 1352 \n3 605 2971 4478 \n3 2971 1352 5971 \n3 4478 5971 293 \n3 122 4480 5290 \n3 4480 606 2975 \n3 5290 2975 1012 \n3 606 4479 2973 \n3 4479 293 5972 \n3 2973 5972 1353 \n3 1012 2974 5291 \n3 2974 1353 5973 \n3 5291 5973 51 \n3 52 5296 5974 \n3 5296 1014 2978 \n3 5974 2978 1354 \n3 1014 5295 2976 \n3 5295 123 4483 \n3 2976 4483 610 \n3 1354 2977 5975 \n3 2977 610 4487 \n3 5975 4487 295 \n3 123 5293 4482 \n3 5293 1013 2981 \n3 4482 2981 608 \n3 1013 5292 2979 \n3 5292 51 5976 \n3 2979 5976 1355 \n3 608 2980 4484 \n3 2980 1355 5977 \n3 4484 5977 294 \n3 295 4486 5978 \n3 4486 609 2984 \n3 5978 2984 1357 \n3 609 4485 2982 \n3 4485 294 5979 \n3 2982 5979 1356 \n3 1357 2983 5981 \n3 2983 1356 5980 \n3 5981 5980 24 \n3 1712 5982 5983 \n3 5982 1358 2987 \n3 5983 2987 1359 \n3 1358 5984 2985 \n3 5984 296 4489 \n3 2985 4489 613 \n3 1359 2986 5985 \n3 2986 613 4493 \n3 5985 4493 297 \n3 296 5986 4488 \n3 5986 1360 2990 \n3 4488 2990 611 \n3 1360 5987 2988 \n3 5987 53 5299 \n3 2988 5299 1017 \n3 611 2989 4490 \n3 2989 1017 5301 \n3 4490 5301 127 \n3 297 4492 5988 \n3 4492 612 2993 \n3 5988 2993 1361 \n3 612 4491 2991 \n3 4491 127 5306 \n3 2991 5306 1021 \n3 1361 2992 5989 \n3 2992 1021 5309 \n3 5989 5309 55 \n3 53 5990 5298 \n3 5990 1362 2996 \n3 5298 2996 1016 \n3 1362 5991 2994 \n3 5991 298 4495 \n3 2994 4495 616 \n3 1016 2995 5300 \n3 2995 616 4499 \n3 5300 4499 125 \n3 298 5992 4494 \n3 5992 1363 2999 \n3 4494 2999 614 \n3 1363 5993 2997 \n3 5993 23 5994 \n3 2997 5994 1364 \n3 614 2998 4496 \n3 2998 1364 5995 \n3 4496 5995 299 \n3 125 4498 5302 \n3 4498 615 3002 \n3 5302 3002 1018 \n3 615 4497 3000 \n3 4497 299 5996 \n3 3000 5996 1365 \n3 1018 3001 5303 \n3 3001 1365 5997 \n3 5303 5997 54 \n3 55 5308 5998 \n3 5308 1020 3005 \n3 5998 3005 1366 \n3 1020 5307 3003 \n3 5307 126 4501 \n3 3003 4501 619 \n3 1366 3004 5999 \n3 3004 619 4505 \n3 5999 4505 301 \n3 126 5305 4500 \n3 5305 1019 3008 \n3 4500 3008 617 \n3 1019 5304 3006 \n3 5304 54 6000 \n3 3006 6000 1367 \n3 617 3007 4502 \n3 3007 1367 6001 \n3 4502 6001 300 \n3 301 4504 6002 \n3 4504 618 3011 \n3 6002 3011 1369 \n3 618 4503 3009 \n3 4503 300 6003 \n3 3009 6003 1368 \n3 1369 3010 6005 \n3 3010 1368 6004 \n3 6005 6004 1713 \n3 1714 6006 6007 \n3 6006 1370 3014 \n3 6007 3014 1371 \n3 1370 6008 3012 \n3 6008 302 4507 \n3 3012 4507 622 \n3 1371 3013 6009 \n3 3013 622 4511 \n3 6009 4511 303 \n3 302 6010 4506 \n3 6010 1372 3017 \n3 4506 3017 620 \n3 1372 6011 3015 \n3 6011 56 5311 \n3 3015 5311 1023 \n3 620 3016 4508 \n3 3016 1023 5313 \n3 4508 5313 130 \n3 303 4510 6012 \n3 4510 621 3020 \n3 6012 3020 1373 \n3 621 4509 3018 \n3 4509 130 5318 \n3 3018 5318 1027 \n3 1373 3019 6013 \n3 3019 1027 5321 \n3 6013 5321 58 \n3 56 6014 5310 \n3 6014 1374 3023 \n3 5310 3023 1022 \n3 1374 6015 3021 \n3 6015 304 4513 \n3 3021 4513 625 \n3 1022 3022 5312 \n3 3022 625 4517 \n3 5312 4517 128 \n3 304 6016 4512 \n3 6016 1375 3026 \n3 4512 3026 623 \n3 1375 6017 3024 \n3 6017 25 6018 \n3 3024 6018 1376 \n3 623 3025 4514 \n3 3025 1376 6019 \n3 4514 6019 305 \n3 128 4516 5314 \n3 4516 624 3029 \n3 5314 3029 1024 \n3 624 4515 3027 \n3 4515 305 6020 \n3 3027 6020 1377 \n3 1024 3028 5315 \n3 3028 1377 6021 \n3 5315 6021 57 \n3 58 5320 6022 \n3 5320 1026 3032 \n3 6022 3032 1378 \n3 1026 5319 3030 \n3 5319 129 4519 \n3 3030 4519 628 \n3 1378 3031 6023 \n3 3031 628 4523 \n3 6023 4523 307 \n3 129 5317 4518 \n3 5317 1025 3035 \n3 4518 3035 626 \n3 1025 5316 3033 \n3 5316 57 6024 \n3 3033 6024 1379 \n3 626 3034 4520 \n3 3034 1379 6025 \n3 4520 6025 306 \n3 307 4522 6026 \n3 4522 627 3038 \n3 6026 3038 1381 \n3 627 4521 3036 \n3 4521 306 6027 \n3 3036 6027 1380 \n3 1381 3037 6029 \n3 3037 1380 6028 \n3 6029 6028 1715 \n3 1716 6030 6031 \n3 6030 1382 3041 \n3 6031 3041 1383 \n3 1382 6032 3039 \n3 6032 308 4525 \n3 3039 4525 631 \n3 1383 3040 6033 \n3 3040 631 4529 \n3 6033 4529 309 \n3 308 6034 4524 \n3 6034 1384 3044 \n3 4524 3044 629 \n3 1384 6035 3042 \n3 6035 59 5323 \n3 3042 5323 1029 \n3 629 3043 4526 \n3 3043 1029 5325 \n3 4526 5325 133 \n3 309 4528 6036 \n3 4528 630 3047 \n3 6036 3047 1385 \n3 630 4527 3045 \n3 4527 133 5330 \n3 3045 5330 1033 \n3 1385 3046 6037 \n3 3046 1033 5333 \n3 6037 5333 61 \n3 59 6038 5322 \n3 6038 1386 3050 \n3 5322 3050 1028 \n3 1386 6039 3048 \n3 6039 310 4531 \n3 3048 4531 634 \n3 1028 3049 5324 \n3 3049 634 4535 \n3 5324 4535 131 \n3 310 6040 4530 \n3 6040 1387 3053 \n3 4530 3053 632 \n3 1387 6041 3051 \n3 6041 25 6042 \n3 3051 6042 1388 \n3 632 3052 4532 \n3 3052 1388 6043 \n3 4532 6043 311 \n3 131 4534 5326 \n3 4534 633 3056 \n3 5326 3056 1030 \n3 633 4533 3054 \n3 4533 311 6044 \n3 3054 6044 1389 \n3 1030 3055 5327 \n3 3055 1389 6045 \n3 5327 6045 60 \n3 61 5332 6046 \n3 5332 1032 3059 \n3 6046 3059 1390 \n3 1032 5331 3057 \n3 5331 132 4537 \n3 3057 4537 637 \n3 1390 3058 6047 \n3 3058 637 4541 \n3 6047 4541 313 \n3 132 5329 4536 \n3 5329 1031 3062 \n3 4536 3062 635 \n3 1031 5328 3060 \n3 5328 60 6048 \n3 3060 6048 1391 \n3 635 3061 4538 \n3 3061 1391 6049 \n3 4538 6049 312 \n3 313 4540 6050 \n3 4540 636 3065 \n3 6050 3065 1393 \n3 636 4539 3063 \n3 4539 312 6051 \n3 3063 6051 1392 \n3 1393 3064 6053 \n3 3064 1392 6052 \n3 6053 6052 1717 \n3 0 6054 6055 \n3 6054 1394 3068 \n3 6055 3068 1395 \n3 1394 6056 3066 \n3 6056 314 4543 \n3 3066 4543 640 \n3 1395 3067 6057 \n3 3067 640 4547 \n3 6057 4547 315 \n3 314 6058 4542 \n3 6058 1396 3071 \n3 4542 3071 638 \n3 1396 6059 3069 \n3 6059 62 5335 \n3 3069 5335 1035 \n3 638 3070 4544 \n3 3070 1035 5337 \n3 4544 5337 136 \n3 315 4546 6060 \n3 4546 639 3074 \n3 6060 3074 1397 \n3 639 4545 3072 \n3 4545 136 5342 \n3 3072 5342 1039 \n3 1397 3073 6061 \n3 3073 1039 5345 \n3 6061 5345 63 \n3 62 6062 5334 \n3 6062 1398 3077 \n3 5334 3077 1034 \n3 1398 6063 3075 \n3 6063 316 4549 \n3 3075 4549 643 \n3 1034 3076 5336 \n3 3076 643 4553 \n3 5336 4553 134 \n3 316 6064 4548 \n3 6064 1399 3080 \n3 4548 3080 641 \n3 1399 6065 3078 \n3 6065 8 5767 \n3 3078 5767 1251 \n3 641 3079 4550 \n3 3079 1251 5769 \n3 4550 5769 243 \n3 134 4552 5338 \n3 4552 642 3083 \n3 5338 3083 1036 \n3 642 4551 3081 \n3 4551 243 5772 \n3 3081 5772 1253 \n3 1036 3082 5339 \n3 3082 1253 5773 \n3 5339 5773 28 \n3 63 5344 6066 \n3 5344 1038 3086 \n3 6066 3086 1400 \n3 1038 5343 3084 \n3 5343 135 4555 \n3 3084 4555 646 \n3 1400 3085 6067 \n3 3085 646 4559 \n3 6067 4559 317 \n3 135 5341 4554 \n3 5341 1037 3089 \n3 4554 3089 644 \n3 1037 5340 3087 \n3 5340 28 5782 \n3 3087 5782 1258 \n3 644 3088 4556 \n3 3088 1258 5783 \n3 4556 5783 247 \n3 317 4558 6068 \n3 4558 645 3092 \n3 6068 3092 1401 \n3 645 4557 3090 \n3 4557 247 5786 \n3 3090 5786 1261 \n3 1401 3091 6069 \n3 3091 1261 5789 \n3 6069 5789 10 \n3 8 6070 5766 \n3 6070 1402 3095 \n3 5766 3095 1250 \n3 1402 6071 3093 \n3 6071 318 4561 \n3 3093 4561 649 \n3 1250 3094 5768 \n3 3094 649 4565 \n3 5768 4565 242 \n3 318 6072 4560 \n3 6072 1403 3098 \n3 4560 3098 647 \n3 1403 6073 3096 \n3 6073 64 5347 \n3 3096 5347 1041 \n3 647 3097 4562 \n3 3097 1041 5349 \n3 4562 5349 139 \n3 242 4564 5770 \n3 4564 648 3101 \n3 5770 3101 1252 \n3 648 4563 3099 \n3 4563 139 5354 \n3 3099 5354 1045 \n3 1252 3100 5771 \n3 3100 1045 5357 \n3 5771 5357 26 \n3 64 6074 5346 \n3 6074 1404 3104 \n3 5346 3104 1040 \n3 1404 6075 3102 \n3 6075 319 4567 \n3 3102 4567 652 \n3 1040 3103 5348 \n3 3103 652 4571 \n3 5348 4571 137 \n3 319 6076 4566 \n3 6076 1405 3107 \n3 4566 3107 650 \n3 1405 6077 3105 \n3 6077 1 6078 \n3 3105 6078 1406 \n3 650 3106 4568 \n3 3106 1406 6079 \n3 4568 6079 320 \n3 137 4570 5350 \n3 4570 651 3110 \n3 5350 3110 1042 \n3 651 4569 3108 \n3 4569 320 6080 \n3 3108 6080 1407 \n3 1042 3109 5351 \n3 3109 1407 6081 \n3 5351 6081 65 \n3 26 5356 5774 \n3 5356 1044 3113 \n3 5774 3113 1254 \n3 1044 5355 3111 \n3 5355 138 4573 \n3 3111 4573 655 \n3 1254 3112 5775 \n3 3112 655 4577 \n3 5775 4577 244 \n3 138 5353 4572 \n3 5353 1043 3116 \n3 4572 3116 653 \n3 1043 5352 3114 \n3 5352 65 6082 \n3 3114 6082 1408 \n3 653 3115 4574 \n3 3115 1408 6083 \n3 4574 6083 321 \n3 244 4576 5776 \n3 4576 654 3119 \n3 5776 3119 1255 \n3 654 4575 3117 \n3 4575 321 6084 \n3 3117 6084 1409 \n3 1255 3118 5777 \n3 3118 1409 6085 \n3 5777 6085 9 \n3 10 5788 6086 \n3 5788 1260 3122 \n3 6086 3122 1410 \n3 1260 5787 3120 \n3 5787 246 4579 \n3 3120 4579 658 \n3 1410 3121 6087 \n3 3121 658 4583 \n3 6087 4583 322 \n3 246 5785 4578 \n3 5785 1259 3125 \n3 4578 3125 656 \n3 1259 5784 3123 \n3 5784 27 5359 \n3 3123 5359 1047 \n3 656 3124 4580 \n3 3124 1047 5361 \n3 4580 5361 142 \n3 322 4582 6088 \n3 4582 657 3128 \n3 6088 3128 1411 \n3 657 4581 3126 \n3 4581 142 5366 \n3 3126 5366 1051 \n3 1411 3127 6089 \n3 3127 1051 5369 \n3 6089 5369 67 \n3 27 5781 5358 \n3 5781 1257 3131 \n3 5358 3131 1046 \n3 1257 5780 3129 \n3 5780 245 4585 \n3 3129 4585 661 \n3 1046 3130 5360 \n3 3130 661 4589 \n3 5360 4589 140 \n3 245 5779 4584 \n3 5779 1256 3134 \n3 4584 3134 659 \n3 1256 5778 3132 \n3 5778 9 6090 \n3 3132 6090 1412 \n3 659 3133 4586 \n3 3133 1412 6091 \n3 4586 6091 323 \n3 140 4588 5362 \n3 4588 660 3137 \n3 5362 3137 1048 \n3 660 4587 3135 \n3 4587 323 6092 \n3 3135 6092 1413 \n3 1048 3136 5363 \n3 3136 1413 6093 \n3 5363 6093 66 \n3 67 5368 6094 \n3 5368 1050 3140 \n3 6094 3140 1414 \n3 1050 5367 3138 \n3 5367 141 4591 \n3 3138 4591 664 \n3 1414 3139 6095 \n3 3139 664 4595 \n3 6095 4595 325 \n3 141 5365 4590 \n3 5365 1049 3143 \n3 4590 3143 662 \n3 1049 5364 3141 \n3 5364 66 6096 \n3 3141 6096 1415 \n3 662 3142 4592 \n3 3142 1415 6097 \n3 4592 6097 324 \n3 325 4594 6098 \n3 4594 663 3146 \n3 6098 3146 1417 \n3 663 4593 3144 \n3 4593 324 6099 \n3 3144 6099 1416 \n3 1417 3145 6101 \n3 3145 1416 6100 \n3 6101 6100 2 \n3 3 6102 6103 \n3 6102 1418 3149 \n3 6103 3149 1419 \n3 1418 6104 3147 \n3 6104 326 4597 \n3 3147 4597 667 \n3 1419 3148 6105 \n3 3148 667 4601 \n3 6105 4601 327 \n3 326 6106 4596 \n3 6106 1420 3152 \n3 4596 3152 665 \n3 1420 6107 3150 \n3 6107 68 5371 \n3 3150 5371 1053 \n3 665 3151 4598 \n3 3151 1053 5373 \n3 4598 5373 145 \n3 327 4600 6108 \n3 4600 666 3155 \n3 6108 3155 1421 \n3 666 4599 3153 \n3 4599 145 5378 \n3 3153 5378 1057 \n3 1421 3154 6109 \n3 3154 1057 5381 \n3 6109 5381 69 \n3 68 6110 5370 \n3 6110 1422 3158 \n3 5370 3158 1052 \n3 1422 6111 3156 \n3 6111 328 4603 \n3 3156 4603 670 \n3 1052 3157 5372 \n3 3157 670 4607 \n3 5372 4607 143 \n3 328 6112 4602 \n3 6112 1423 3161 \n3 4602 3161 668 \n3 1423 6113 3159 \n3 6113 11 5791 \n3 3159 5791 1263 \n3 668 3160 4604 \n3 3160 1263 5793 \n3 4604 5793 249 \n3 143 4606 5374 \n3 4606 669 3164 \n3 5374 3164 1054 \n3 669 4605 3162 \n3 4605 249 5796 \n3 3162 5796 1265 \n3 1054 3163 5375 \n3 3163 1265 5797 \n3 5375 5797 31 \n3 69 5380 6114 \n3 5380 1056 3167 \n3 6114 3167 1424 \n3 1056 5379 3165 \n3 5379 144 4609 \n3 3165 4609 673 \n3 1424 3166 6115 \n3 3166 673 4613 \n3 6115 4613 329 \n3 144 5377 4608 \n3 5377 1055 3170 \n3 4608 3170 671 \n3 1055 5376 3168 \n3 5376 31 5806 \n3 3168 5806 1270 \n3 671 3169 4610 \n3 3169 1270 5807 \n3 4610 5807 253 \n3 329 4612 6116 \n3 4612 672 3173 \n3 6116 3173 1425 \n3 672 4611 3171 \n3 4611 253 5810 \n3 3171 5810 1273 \n3 1425 3172 6117 \n3 3172 1273 5813 \n3 6117 5813 12 \n3 11 6118 5790 \n3 6118 1426 3176 \n3 5790 3176 1262 \n3 1426 6119 3174 \n3 6119 330 4615 \n3 3174 4615 676 \n3 1262 3175 5792 \n3 3175 676 4619 \n3 5792 4619 248 \n3 330 6120 4614 \n3 6120 1427 3179 \n3 4614 3179 674 \n3 1427 6121 3177 \n3 6121 70 5383 \n3 3177 5383 1059 \n3 674 3178 4616 \n3 3178 1059 5385 \n3 4616 5385 148 \n3 248 4618 5794 \n3 4618 675 3182 \n3 5794 3182 1264 \n3 675 4617 3180 \n3 4617 148 5390 \n3 3180 5390 1063 \n3 1264 3181 5795 \n3 3181 1063 5393 \n3 5795 5393 29 \n3 70 6122 5382 \n3 6122 1428 3185 \n3 5382 3185 1058 \n3 1428 6123 3183 \n3 6123 331 4621 \n3 3183 4621 679 \n3 1058 3184 5384 \n3 3184 679 4625 \n3 5384 4625 146 \n3 331 6124 4620 \n3 6124 1429 3188 \n3 4620 3188 677 \n3 1429 6125 3186 \n3 6125 2 6100 \n3 3186 6100 1416 \n3 677 3187 4622 \n3 3187 1416 6099 \n3 4622 6099 324 \n3 146 4624 5386 \n3 4624 678 3191 \n3 5386 3191 1060 \n3 678 4623 3189 \n3 4623 324 6097 \n3 3189 6097 1415 \n3 1060 3190 5387 \n3 3190 1415 6096 \n3 5387 6096 66 \n3 29 5392 5798 \n3 5392 1062 3194 \n3 5798 3194 1266 \n3 1062 5391 3192 \n3 5391 147 4627 \n3 3192 4627 682 \n3 1266 3193 5799 \n3 3193 682 4631 \n3 5799 4631 250 \n3 147 5389 4626 \n3 5389 1061 3197 \n3 4626 3197 680 \n3 1061 5388 3195 \n3 5388 66 6093 \n3 3195 6093 1413 \n3 680 3196 4628 \n3 3196 1413 6092 \n3 4628 6092 323 \n3 250 4630 5800 \n3 4630 681 3200 \n3 5800 3200 1267 \n3 681 4629 3198 \n3 4629 323 6091 \n3 3198 6091 1412 \n3 1267 3199 5801 \n3 3199 1412 6090 \n3 5801 6090 9 \n3 12 5812 6126 \n3 5812 1272 3203 \n3 6126 3203 1430 \n3 1272 5811 3201 \n3 5811 252 4633 \n3 3201 4633 685 \n3 1430 3202 6127 \n3 3202 685 4637 \n3 6127 4637 332 \n3 252 5809 4632 \n3 5809 1271 3206 \n3 4632 3206 683 \n3 1271 5808 3204 \n3 5808 30 5395 \n3 3204 5395 1065 \n3 683 3205 4634 \n3 3205 1065 5397 \n3 4634 5397 151 \n3 332 4636 6128 \n3 4636 684 3209 \n3 6128 3209 1431 \n3 684 4635 3207 \n3 4635 151 5402 \n3 3207 5402 1069 \n3 1431 3208 6129 \n3 3208 1069 5405 \n3 6129 5405 71 \n3 30 5805 5394 \n3 5805 1269 3212 \n3 5394 3212 1064 \n3 1269 5804 3210 \n3 5804 251 4639 \n3 3210 4639 688 \n3 1064 3211 5396 \n3 3211 688 4643 \n3 5396 4643 149 \n3 251 5803 4638 \n3 5803 1268 3215 \n3 4638 3215 686 \n3 1268 5802 3213 \n3 5802 9 6085 \n3 3213 6085 1409 \n3 686 3214 4640 \n3 3214 1409 6084 \n3 4640 6084 321 \n3 149 4642 5398 \n3 4642 687 3218 \n3 5398 3218 1066 \n3 687 4641 3216 \n3 4641 321 6083 \n3 3216 6083 1408 \n3 1066 3217 5399 \n3 3217 1408 6082 \n3 5399 6082 65 \n3 71 5404 6130 \n3 5404 1068 3221 \n3 6130 3221 1432 \n3 1068 5403 3219 \n3 5403 150 4645 \n3 3219 4645 691 \n3 1432 3220 6131 \n3 3220 691 4649 \n3 6131 4649 333 \n3 150 5401 4644 \n3 5401 1067 3224 \n3 4644 3224 689 \n3 1067 5400 3222 \n3 5400 65 6081 \n3 3222 6081 1407 \n3 689 3223 4646 \n3 3223 1407 6080 \n3 4646 6080 320 \n3 333 4648 6132 \n3 4648 690 3227 \n3 6132 3227 1433 \n3 690 4647 3225 \n3 4647 320 6079 \n3 3225 6079 1406 \n3 1433 3226 6133 \n3 3226 1406 6078 \n3 6133 6078 1 \n3 1718 6134 6135 \n3 6134 1538 3230 \n3 6135 3230 1434 \n3 1538 6136 3228 \n3 6136 1634 4651 \n3 3228 4651 694 \n3 1434 3229 6137 \n3 3229 694 4655 \n3 6137 4655 334 \n3 1634 6138 4650 \n3 6138 1539 3233 \n3 4650 3233 692 \n3 1539 6139 3231 \n3 6139 1682 5407 \n3 3231 5407 1071 \n3 692 3232 4652 \n3 3232 1071 5409 \n3 4652 5409 154 \n3 334 4654 6140 \n3 4654 693 3236 \n3 6140 3236 1435 \n3 693 4653 3234 \n3 4653 154 5414 \n3 3234 5414 1075 \n3 1435 3235 6141 \n3 3235 1075 5417 \n3 6141 5417 72 \n3 1682 6142 5406 \n3 6142 1540 3239 \n3 5406 3239 1070 \n3 1540 6143 3237 \n3 6143 1635 4657 \n3 3237 4657 697 \n3 1070 3238 5408 \n3 3238 697 4661 \n3 5408 4661 152 \n3 1635 6144 4656 \n3 6144 1541 3242 \n3 4656 3242 695 \n3 1541 6145 3240 \n3 6145 1706 5815 \n3 3240 5815 1275 \n3 695 3241 4658 \n3 3241 1275 5817 \n3 4658 5817 255 \n3 152 4660 5410 \n3 4660 696 3245 \n3 5410 3245 1072 \n3 696 4659 3243 \n3 4659 255 5820 \n3 3243 5820 1277 \n3 1072 3244 5411 \n3 3244 1277 5821 \n3 5411 5821 34 \n3 72 5416 6146 \n3 5416 1074 3248 \n3 6146 3248 1436 \n3 1074 5415 3246 \n3 5415 153 4663 \n3 3246 4663 700 \n3 1436 3247 6147 \n3 3247 700 4667 \n3 6147 4667 335 \n3 153 5413 4662 \n3 5413 1073 3251 \n3 4662 3251 698 \n3 1073 5412 3249 \n3 5412 34 5830 \n3 3249 5830 1282 \n3 698 3250 4664 \n3 3250 1282 5831 \n3 4664 5831 259 \n3 335 4666 6148 \n3 4666 699 3254 \n3 6148 3254 1437 \n3 699 4665 3252 \n3 4665 259 5834 \n3 3252 5834 1285 \n3 1437 3253 6149 \n3 3253 1285 5837 \n3 6149 5837 14 \n3 1706 6150 5814 \n3 6150 1542 3257 \n3 5814 3257 1274 \n3 1542 6151 3255 \n3 6151 1636 4669 \n3 3255 4669 703 \n3 1274 3256 5816 \n3 3256 703 4673 \n3 5816 4673 254 \n3 1636 6152 4668 \n3 6152 1543 3260 \n3 4668 3260 701 \n3 1543 6153 3258 \n3 6153 1683 5419 \n3 3258 5419 1077 \n3 701 3259 4670 \n3 3259 1077 5421 \n3 4670 5421 157 \n3 254 4672 5818 \n3 4672 702 3263 \n3 5818 3263 1276 \n3 702 4671 3261 \n3 4671 157 5426 \n3 3261 5426 1081 \n3 1276 3262 5819 \n3 3262 1081 5429 \n3 5819 5429 32 \n3 1683 6154 5418 \n3 6154 1544 3266 \n3 5418 3266 1076 \n3 1544 6155 3264 \n3 6155 1637 4675 \n3 3264 4675 706 \n3 1076 3265 5420 \n3 3265 706 4679 \n3 5420 4679 155 \n3 1637 6156 4674 \n3 6156 1545 3269 \n3 4674 3269 704 \n3 1545 6157 3267 \n3 6157 1719 6158 \n3 3267 6158 1438 \n3 704 3268 4676 \n3 3268 1438 6159 \n3 4676 6159 336 \n3 155 4678 5422 \n3 4678 705 3272 \n3 5422 3272 1078 \n3 705 4677 3270 \n3 4677 336 6160 \n3 3270 6160 1439 \n3 1078 3271 5423 \n3 3271 1439 6161 \n3 5423 6161 73 \n3 32 5428 5822 \n3 5428 1080 3275 \n3 5822 3275 1278 \n3 1080 5427 3273 \n3 5427 156 4681 \n3 3273 4681 709 \n3 1278 3274 5823 \n3 3274 709 4685 \n3 5823 4685 256 \n3 156 5425 4680 \n3 5425 1079 3278 \n3 4680 3278 707 \n3 1079 5424 3276 \n3 5424 73 6162 \n3 3276 6162 1440 \n3 707 3277 4682 \n3 3277 1440 6163 \n3 4682 6163 337 \n3 256 4684 5824 \n3 4684 708 3281 \n3 5824 3281 1279 \n3 708 4683 3279 \n3 4683 337 6164 \n3 3279 6164 1441 \n3 1279 3280 5825 \n3 3280 1441 6165 \n3 5825 6165 13 \n3 14 5836 6166 \n3 5836 1284 3284 \n3 6166 3284 1442 \n3 1284 5835 3282 \n3 5835 258 4687 \n3 3282 4687 712 \n3 1442 3283 6167 \n3 3283 712 4691 \n3 6167 4691 338 \n3 258 5833 4686 \n3 5833 1283 3287 \n3 4686 3287 710 \n3 1283 5832 3285 \n3 5832 33 5431 \n3 3285 5431 1083 \n3 710 3286 4688 \n3 3286 1083 5433 \n3 4688 5433 160 \n3 338 4690 6168 \n3 4690 711 3290 \n3 6168 3290 1443 \n3 711 4689 3288 \n3 4689 160 5438 \n3 3288 5438 1087 \n3 1443 3289 6169 \n3 3289 1087 5441 \n3 6169 5441 75 \n3 33 5829 5430 \n3 5829 1281 3293 \n3 5430 3293 1082 \n3 1281 5828 3291 \n3 5828 257 4693 \n3 3291 4693 715 \n3 1082 3292 5432 \n3 3292 715 4697 \n3 5432 4697 158 \n3 257 5827 4692 \n3 5827 1280 3296 \n3 4692 3296 713 \n3 1280 5826 3294 \n3 5826 13 6170 \n3 3294 6170 1444 \n3 713 3295 4694 \n3 3295 1444 6171 \n3 4694 6171 339 \n3 158 4696 5434 \n3 4696 714 3299 \n3 5434 3299 1084 \n3 714 4695 3297 \n3 4695 339 6172 \n3 3297 6172 1445 \n3 1084 3298 5435 \n3 3298 1445 6173 \n3 5435 6173 74 \n3 75 5440 6174 \n3 5440 1086 3302 \n3 6174 3302 1446 \n3 1086 5439 3300 \n3 5439 159 4699 \n3 3300 4699 718 \n3 1446 3301 6175 \n3 3301 718 4703 \n3 6175 4703 341 \n3 159 5437 4698 \n3 5437 1085 3305 \n3 4698 3305 716 \n3 1085 5436 3303 \n3 5436 74 6176 \n3 3303 6176 1447 \n3 716 3304 4700 \n3 3304 1447 6177 \n3 4700 6177 340 \n3 341 4702 6178 \n3 4702 717 3308 \n3 6178 3308 1449 \n3 717 4701 3306 \n3 4701 340 6179 \n3 3306 6179 1448 \n3 1449 3307 6181 \n3 3307 1448 6180 \n3 6181 6180 4 \n3 6 6182 6183 \n3 6182 1450 3311 \n3 6183 3311 1451 \n3 1450 6184 3309 \n3 6184 342 4705 \n3 3309 4705 721 \n3 1451 3310 6185 \n3 3310 721 4709 \n3 6185 4709 343 \n3 342 6186 4704 \n3 6186 1452 3314 \n3 4704 3314 719 \n3 1452 6187 3312 \n3 6187 76 5443 \n3 3312 5443 1089 \n3 719 3313 4706 \n3 3313 1089 5445 \n3 4706 5445 163 \n3 343 4708 6188 \n3 4708 720 3317 \n3 6188 3317 1453 \n3 720 4707 3315 \n3 4707 163 5450 \n3 3315 5450 1093 \n3 1453 3316 6189 \n3 3316 1093 5453 \n3 6189 5453 77 \n3 76 6190 5442 \n3 6190 1454 3320 \n3 5442 3320 1088 \n3 1454 6191 3318 \n3 6191 344 4711 \n3 3318 4711 724 \n3 1088 3319 5444 \n3 3319 724 4715 \n3 5444 4715 161 \n3 344 6192 4710 \n3 6192 1455 3323 \n3 4710 3323 722 \n3 1455 6193 3321 \n3 6193 15 5839 \n3 3321 5839 1287 \n3 722 3322 4712 \n3 3322 1287 5841 \n3 4712 5841 261 \n3 161 4714 5446 \n3 4714 723 3326 \n3 5446 3326 1090 \n3 723 4713 3324 \n3 4713 261 5844 \n3 3324 5844 1289 \n3 1090 3325 5447 \n3 3325 1289 5845 \n3 5447 5845 37 \n3 77 5452 6194 \n3 5452 1092 3329 \n3 6194 3329 1456 \n3 1092 5451 3327 \n3 5451 162 4717 \n3 3327 4717 727 \n3 1456 3328 6195 \n3 3328 727 4721 \n3 6195 4721 345 \n3 162 5449 4716 \n3 5449 1091 3332 \n3 4716 3332 725 \n3 1091 5448 3330 \n3 5448 37 5854 \n3 3330 5854 1294 \n3 725 3331 4718 \n3 3331 1294 5855 \n3 4718 5855 265 \n3 345 4720 6196 \n3 4720 726 3335 \n3 6196 3335 1457 \n3 726 4719 3333 \n3 4719 265 5858 \n3 3333 5858 1297 \n3 1457 3334 6197 \n3 3334 1297 5861 \n3 6197 5861 16 \n3 15 6198 5838 \n3 6198 1458 3338 \n3 5838 3338 1286 \n3 1458 6199 3336 \n3 6199 346 4723 \n3 3336 4723 730 \n3 1286 3337 5840 \n3 3337 730 4727 \n3 5840 4727 260 \n3 346 6200 4722 \n3 6200 1459 3341 \n3 4722 3341 728 \n3 1459 6201 3339 \n3 6201 78 5455 \n3 3339 5455 1095 \n3 728 3340 4724 \n3 3340 1095 5457 \n3 4724 5457 166 \n3 260 4726 5842 \n3 4726 729 3344 \n3 5842 3344 1288 \n3 729 4725 3342 \n3 4725 166 5462 \n3 3342 5462 1099 \n3 1288 3343 5843 \n3 3343 1099 5465 \n3 5843 5465 35 \n3 78 6202 5454 \n3 6202 1460 3347 \n3 5454 3347 1094 \n3 1460 6203 3345 \n3 6203 347 4729 \n3 3345 4729 733 \n3 1094 3346 5456 \n3 3346 733 4733 \n3 5456 4733 164 \n3 347 6204 4728 \n3 6204 1461 3350 \n3 4728 3350 731 \n3 1461 6205 3348 \n3 6205 4 6180 \n3 3348 6180 1448 \n3 731 3349 4730 \n3 3349 1448 6179 \n3 4730 6179 340 \n3 164 4732 5458 \n3 4732 732 3353 \n3 5458 3353 1096 \n3 732 4731 3351 \n3 4731 340 6177 \n3 3351 6177 1447 \n3 1096 3352 5459 \n3 3352 1447 6176 \n3 5459 6176 74 \n3 35 5464 5846 \n3 5464 1098 3356 \n3 5846 3356 1290 \n3 1098 5463 3354 \n3 5463 165 4735 \n3 3354 4735 736 \n3 1290 3355 5847 \n3 3355 736 4739 \n3 5847 4739 262 \n3 165 5461 4734 \n3 5461 1097 3359 \n3 4734 3359 734 \n3 1097 5460 3357 \n3 5460 74 6173 \n3 3357 6173 1445 \n3 734 3358 4736 \n3 3358 1445 6172 \n3 4736 6172 339 \n3 262 4738 5848 \n3 4738 735 3362 \n3 5848 3362 1291 \n3 735 4737 3360 \n3 4737 339 6171 \n3 3360 6171 1444 \n3 1291 3361 5849 \n3 3361 1444 6170 \n3 5849 6170 13 \n3 16 5860 6206 \n3 5860 1296 3365 \n3 6206 3365 1462 \n3 1296 5859 3363 \n3 5859 264 4741 \n3 3363 4741 739 \n3 1462 3364 6207 \n3 3364 739 4745 \n3 6207 4745 348 \n3 264 5857 4740 \n3 5857 1295 3368 \n3 4740 3368 737 \n3 1295 5856 3366 \n3 5856 36 5467 \n3 3366 5467 1101 \n3 737 3367 4742 \n3 3367 1101 5469 \n3 4742 5469 169 \n3 348 4744 6208 \n3 4744 738 3371 \n3 6208 3371 1463 \n3 738 4743 3369 \n3 4743 169 5474 \n3 3369 5474 1105 \n3 1463 3370 6209 \n3 3370 1105 5477 \n3 6209 5477 79 \n3 36 5853 5466 \n3 5853 1293 3374 \n3 5466 3374 1100 \n3 1293 5852 3372 \n3 5852 263 4747 \n3 3372 4747 742 \n3 1100 3373 5468 \n3 3373 742 4751 \n3 5468 4751 167 \n3 263 5851 4746 \n3 5851 1292 3377 \n3 4746 3377 740 \n3 1292 5850 3375 \n3 5850 13 6165 \n3 3375 6165 1441 \n3 740 3376 4748 \n3 3376 1441 6164 \n3 4748 6164 337 \n3 167 4750 5470 \n3 4750 741 3380 \n3 5470 3380 1102 \n3 741 4749 3378 \n3 4749 337 6163 \n3 3378 6163 1440 \n3 1102 3379 5471 \n3 3379 1440 6162 \n3 5471 6162 73 \n3 79 5476 6210 \n3 5476 1104 3383 \n3 6210 3383 1464 \n3 1104 5475 3381 \n3 5475 168 4753 \n3 3381 4753 745 \n3 1464 3382 6211 \n3 3382 745 4757 \n3 6211 4757 349 \n3 168 5473 4752 \n3 5473 1103 3386 \n3 4752 3386 743 \n3 1103 5472 3384 \n3 5472 73 6161 \n3 3384 6161 1439 \n3 743 3385 4754 \n3 3385 1439 6160 \n3 4754 6160 336 \n3 349 4756 6212 \n3 4756 744 3389 \n3 6212 3389 1465 \n3 744 4755 3387 \n3 4755 336 6159 \n3 3387 6159 1438 \n3 1465 3388 6213 \n3 3388 1438 6158 \n3 6213 6158 1719 \n3 1720 6214 6215 \n3 6214 1546 3392 \n3 6215 3392 1547 \n3 1546 6216 3390 \n3 6216 1638 4759 \n3 3390 4759 748 \n3 1547 3391 6217 \n3 3391 748 4763 \n3 6217 4763 1639 \n3 1638 6218 4758 \n3 6218 1548 3395 \n3 4758 3395 746 \n3 1548 6219 3393 \n3 6219 1684 5479 \n3 3393 5479 1107 \n3 746 3394 4760 \n3 3394 1107 5481 \n3 4760 5481 172 \n3 1639 4762 6220 \n3 4762 747 3398 \n3 6220 3398 1549 \n3 747 4761 3396 \n3 4761 172 5486 \n3 3396 5486 1111 \n3 1549 3397 6221 \n3 3397 1111 5489 \n3 6221 5489 1685 \n3 1684 6222 5478 \n3 6222 1550 3401 \n3 5478 3401 1106 \n3 1550 6223 3399 \n3 6223 1640 4765 \n3 3399 4765 751 \n3 1106 3400 5480 \n3 3400 751 4769 \n3 5480 4769 170 \n3 1640 6224 4764 \n3 6224 1551 3404 \n3 4764 3404 749 \n3 1551 6225 3402 \n3 6225 1707 5863 \n3 3402 5863 1299 \n3 749 3403 4766 \n3 3403 1299 5865 \n3 4766 5865 267 \n3 170 4768 5482 \n3 4768 750 3407 \n3 5482 3407 1108 \n3 750 4767 3405 \n3 4767 267 5868 \n3 3405 5868 1301 \n3 1108 3406 5483 \n3 3406 1301 5869 \n3 5483 5869 40 \n3 1685 5488 6226 \n3 5488 1110 3410 \n3 6226 3410 1552 \n3 1110 5487 3408 \n3 5487 171 4771 \n3 3408 4771 754 \n3 1552 3409 6227 \n3 3409 754 4775 \n3 6227 4775 1641 \n3 171 5485 4770 \n3 5485 1109 3413 \n3 4770 3413 752 \n3 1109 5484 3411 \n3 5484 40 5878 \n3 3411 5878 1306 \n3 752 3412 4772 \n3 3412 1306 5879 \n3 4772 5879 271 \n3 1641 4774 6228 \n3 4774 753 3416 \n3 6228 3416 1553 \n3 753 4773 3414 \n3 4773 271 5882 \n3 3414 5882 1309 \n3 1553 3415 6229 \n3 3415 1309 5885 \n3 6229 5885 1708 \n3 1707 6230 5862 \n3 6230 1554 3419 \n3 5862 3419 1298 \n3 1554 6231 3417 \n3 6231 1642 4777 \n3 3417 4777 757 \n3 1298 3418 5864 \n3 3418 757 4781 \n3 5864 4781 266 \n3 1642 6232 4776 \n3 6232 1555 3422 \n3 4776 3422 755 \n3 1555 6233 3420 \n3 6233 1686 5491 \n3 3420 5491 1113 \n3 755 3421 4778 \n3 3421 1113 5493 \n3 4778 5493 175 \n3 266 4780 5866 \n3 4780 756 3425 \n3 5866 3425 1300 \n3 756 4779 3423 \n3 4779 175 5498 \n3 3423 5498 1117 \n3 1300 3424 5867 \n3 3424 1117 5501 \n3 5867 5501 38 \n3 1686 6234 5490 \n3 6234 1556 3428 \n3 5490 3428 1112 \n3 1556 6235 3426 \n3 6235 1643 4783 \n3 3426 4783 760 \n3 1112 3427 5492 \n3 3427 760 4787 \n3 5492 4787 173 \n3 1643 6236 4782 \n3 6236 1557 3431 \n3 4782 3431 758 \n3 1557 6237 3429 \n3 6237 1721 6238 \n3 3429 6238 1466 \n3 758 3430 4784 \n3 3430 1466 6239 \n3 4784 6239 350 \n3 173 4786 5494 \n3 4786 759 3434 \n3 5494 3434 1114 \n3 759 4785 3432 \n3 4785 350 6240 \n3 3432 6240 1467 \n3 1114 3433 5495 \n3 3433 1467 6241 \n3 5495 6241 80 \n3 38 5500 5870 \n3 5500 1116 3437 \n3 5870 3437 1302 \n3 1116 5499 3435 \n3 5499 174 4789 \n3 3435 4789 763 \n3 1302 3436 5871 \n3 3436 763 4793 \n3 5871 4793 268 \n3 174 5497 4788 \n3 5497 1115 3440 \n3 4788 3440 761 \n3 1115 5496 3438 \n3 5496 80 6242 \n3 3438 6242 1468 \n3 761 3439 4790 \n3 3439 1468 6243 \n3 4790 6243 351 \n3 268 4792 5872 \n3 4792 762 3443 \n3 5872 3443 1303 \n3 762 4791 3441 \n3 4791 351 6244 \n3 3441 6244 1469 \n3 1303 3442 5873 \n3 3442 1469 6245 \n3 5873 6245 17 \n3 1708 5884 6246 \n3 5884 1308 3446 \n3 6246 3446 1558 \n3 1308 5883 3444 \n3 5883 270 4795 \n3 3444 4795 766 \n3 1558 3445 6247 \n3 3445 766 4799 \n3 6247 4799 1644 \n3 270 5881 4794 \n3 5881 1307 3449 \n3 4794 3449 764 \n3 1307 5880 3447 \n3 5880 39 5503 \n3 3447 5503 1119 \n3 764 3448 4796 \n3 3448 1119 5505 \n3 4796 5505 178 \n3 1644 4798 6248 \n3 4798 765 3452 \n3 6248 3452 1559 \n3 765 4797 3450 \n3 4797 178 5510 \n3 3450 5510 1123 \n3 1559 3451 6249 \n3 3451 1123 5513 \n3 6249 5513 1687 \n3 39 5877 5502 \n3 5877 1305 3455 \n3 5502 3455 1118 \n3 1305 5876 3453 \n3 5876 269 4801 \n3 3453 4801 769 \n3 1118 3454 5504 \n3 3454 769 4805 \n3 5504 4805 176 \n3 269 5875 4800 \n3 5875 1304 3458 \n3 4800 3458 767 \n3 1304 5874 3456 \n3 5874 17 6250 \n3 3456 6250 1470 \n3 767 3457 4802 \n3 3457 1470 6251 \n3 4802 6251 352 \n3 176 4804 5506 \n3 4804 768 3461 \n3 5506 3461 1120 \n3 768 4803 3459 \n3 4803 352 6252 \n3 3459 6252 1471 \n3 1120 3460 5507 \n3 3460 1471 6253 \n3 5507 6253 81 \n3 1687 5512 6254 \n3 5512 1122 3464 \n3 6254 3464 1560 \n3 1122 5511 3462 \n3 5511 177 4807 \n3 3462 4807 772 \n3 1560 3463 6255 \n3 3463 772 4811 \n3 6255 4811 1645 \n3 177 5509 4806 \n3 5509 1121 3467 \n3 4806 3467 770 \n3 1121 5508 3465 \n3 5508 81 6256 \n3 3465 6256 1472 \n3 770 3466 4808 \n3 3466 1472 6257 \n3 4808 6257 353 \n3 1645 4810 6258 \n3 4810 771 3470 \n3 6258 3470 1561 \n3 771 4809 3468 \n3 4809 353 6259 \n3 3468 6259 1473 \n3 1561 3469 6261 \n3 3469 1473 6260 \n3 6261 6260 1722 \n3 5 6262 6263 \n3 6262 1474 3473 \n3 6263 3473 1475 \n3 1474 6264 3471 \n3 6264 354 4813 \n3 3471 4813 775 \n3 1475 3472 6265 \n3 3472 775 4817 \n3 6265 4817 355 \n3 354 6266 4812 \n3 6266 1476 3476 \n3 4812 3476 773 \n3 1476 6267 3474 \n3 6267 82 5515 \n3 3474 5515 1125 \n3 773 3475 4814 \n3 3475 1125 5517 \n3 4814 5517 181 \n3 355 4816 6268 \n3 4816 774 3479 \n3 6268 3479 1477 \n3 774 4815 3477 \n3 4815 181 5522 \n3 3477 5522 1129 \n3 1477 3478 6269 \n3 3478 1129 5525 \n3 6269 5525 83 \n3 82 6270 5514 \n3 6270 1478 3482 \n3 5514 3482 1124 \n3 1478 6271 3480 \n3 6271 356 4819 \n3 3480 4819 778 \n3 1124 3481 5516 \n3 3481 778 4823 \n3 5516 4823 179 \n3 356 6272 4818 \n3 6272 1479 3485 \n3 4818 3485 776 \n3 1479 6273 3483 \n3 6273 18 5887 \n3 3483 5887 1311 \n3 776 3484 4820 \n3 3484 1311 5889 \n3 4820 5889 273 \n3 179 4822 5518 \n3 4822 777 3488 \n3 5518 3488 1126 \n3 777 4821 3486 \n3 4821 273 5892 \n3 3486 5892 1313 \n3 1126 3487 5519 \n3 3487 1313 5893 \n3 5519 5893 43 \n3 83 5524 6274 \n3 5524 1128 3491 \n3 6274 3491 1480 \n3 1128 5523 3489 \n3 5523 180 4825 \n3 3489 4825 781 \n3 1480 3490 6275 \n3 3490 781 4829 \n3 6275 4829 357 \n3 180 5521 4824 \n3 5521 1127 3494 \n3 4824 3494 779 \n3 1127 5520 3492 \n3 5520 43 5902 \n3 3492 5902 1318 \n3 779 3493 4826 \n3 3493 1318 5903 \n3 4826 5903 277 \n3 357 4828 6276 \n3 4828 780 3497 \n3 6276 3497 1481 \n3 780 4827 3495 \n3 4827 277 5906 \n3 3495 5906 1321 \n3 1481 3496 6277 \n3 3496 1321 5909 \n3 6277 5909 19 \n3 18 6278 5886 \n3 6278 1482 3500 \n3 5886 3500 1310 \n3 1482 6279 3498 \n3 6279 358 4831 \n3 3498 4831 784 \n3 1310 3499 5888 \n3 3499 784 4835 \n3 5888 4835 272 \n3 358 6280 4830 \n3 6280 1483 3503 \n3 4830 3503 782 \n3 1483 6281 3501 \n3 6281 84 5527 \n3 3501 5527 1131 \n3 782 3502 4832 \n3 3502 1131 5529 \n3 4832 5529 184 \n3 272 4834 5890 \n3 4834 783 3506 \n3 5890 3506 1312 \n3 783 4833 3504 \n3 4833 184 5534 \n3 3504 5534 1135 \n3 1312 3505 5891 \n3 3505 1135 5537 \n3 5891 5537 41 \n3 84 6282 5526 \n3 6282 1484 3509 \n3 5526 3509 1130 \n3 1484 6283 3507 \n3 6283 359 4837 \n3 3507 4837 787 \n3 1130 3508 5528 \n3 3508 787 4841 \n3 5528 4841 182 \n3 359 6284 4836 \n3 6284 1485 3512 \n3 4836 3512 785 \n3 1485 6285 3510 \n3 6285 1722 6260 \n3 3510 6260 1473 \n3 785 3511 4838 \n3 3511 1473 6259 \n3 4838 6259 353 \n3 182 4840 5530 \n3 4840 786 3515 \n3 5530 3515 1132 \n3 786 4839 3513 \n3 4839 353 6257 \n3 3513 6257 1472 \n3 1132 3514 5531 \n3 3514 1472 6256 \n3 5531 6256 81 \n3 41 5536 5894 \n3 5536 1134 3518 \n3 5894 3518 1314 \n3 1134 5535 3516 \n3 5535 183 4843 \n3 3516 4843 790 \n3 1314 3517 5895 \n3 3517 790 4847 \n3 5895 4847 274 \n3 183 5533 4842 \n3 5533 1133 3521 \n3 4842 3521 788 \n3 1133 5532 3519 \n3 5532 81 6253 \n3 3519 6253 1471 \n3 788 3520 4844 \n3 3520 1471 6252 \n3 4844 6252 352 \n3 274 4846 5896 \n3 4846 789 3524 \n3 5896 3524 1315 \n3 789 4845 3522 \n3 4845 352 6251 \n3 3522 6251 1470 \n3 1315 3523 5897 \n3 3523 1470 6250 \n3 5897 6250 17 \n3 19 5908 6286 \n3 5908 1320 3527 \n3 6286 3527 1486 \n3 1320 5907 3525 \n3 5907 276 4849 \n3 3525 4849 793 \n3 1486 3526 6287 \n3 3526 793 4853 \n3 6287 4853 360 \n3 276 5905 4848 \n3 5905 1319 3530 \n3 4848 3530 791 \n3 1319 5904 3528 \n3 5904 42 5539 \n3 3528 5539 1137 \n3 791 3529 4850 \n3 3529 1137 5541 \n3 4850 5541 187 \n3 360 4852 6288 \n3 4852 792 3533 \n3 6288 3533 1487 \n3 792 4851 3531 \n3 4851 187 5546 \n3 3531 5546 1141 \n3 1487 3532 6289 \n3 3532 1141 5549 \n3 6289 5549 85 \n3 42 5901 5538 \n3 5901 1317 3536 \n3 5538 3536 1136 \n3 1317 5900 3534 \n3 5900 275 4855 \n3 3534 4855 796 \n3 1136 3535 5540 \n3 3535 796 4859 \n3 5540 4859 185 \n3 275 5899 4854 \n3 5899 1316 3539 \n3 4854 3539 794 \n3 1316 5898 3537 \n3 5898 17 6245 \n3 3537 6245 1469 \n3 794 3538 4856 \n3 3538 1469 6244 \n3 4856 6244 351 \n3 185 4858 5542 \n3 4858 795 3542 \n3 5542 3542 1138 \n3 795 4857 3540 \n3 4857 351 6243 \n3 3540 6243 1468 \n3 1138 3541 5543 \n3 3541 1468 6242 \n3 5543 6242 80 \n3 85 5548 6290 \n3 5548 1140 3545 \n3 6290 3545 1488 \n3 1140 5547 3543 \n3 5547 186 4861 \n3 3543 4861 799 \n3 1488 3544 6291 \n3 3544 799 4865 \n3 6291 4865 361 \n3 186 5545 4860 \n3 5545 1139 3548 \n3 4860 3548 797 \n3 1139 5544 3546 \n3 5544 80 6241 \n3 3546 6241 1467 \n3 797 3547 4862 \n3 3547 1467 6240 \n3 4862 6240 350 \n3 361 4864 6292 \n3 4864 798 3551 \n3 6292 3551 1489 \n3 798 4863 3549 \n3 4863 350 6239 \n3 3549 6239 1466 \n3 1489 3550 6293 \n3 3550 1466 6238 \n3 6293 6238 1721 \n3 7 6294 6295 \n3 6294 1490 3554 \n3 6295 3554 1491 \n3 1490 6296 3552 \n3 6296 362 4867 \n3 3552 4867 802 \n3 1491 3553 6297 \n3 3553 802 4871 \n3 6297 4871 363 \n3 362 6298 4866 \n3 6298 1492 3557 \n3 4866 3557 800 \n3 1492 6299 3555 \n3 6299 86 5551 \n3 3555 5551 1143 \n3 800 3556 4868 \n3 3556 1143 5553 \n3 4868 5553 190 \n3 363 4870 6300 \n3 4870 801 3560 \n3 6300 3560 1493 \n3 801 4869 3558 \n3 4869 190 5558 \n3 3558 5558 1147 \n3 1493 3559 6301 \n3 3559 1147 5561 \n3 6301 5561 87 \n3 86 6302 5550 \n3 6302 1494 3563 \n3 5550 3563 1142 \n3 1494 6303 3561 \n3 6303 364 4873 \n3 3561 4873 805 \n3 1142 3562 5552 \n3 3562 805 4877 \n3 5552 4877 188 \n3 364 6304 4872 \n3 6304 1495 3566 \n3 4872 3566 803 \n3 1495 6305 3564 \n3 6305 20 5911 \n3 3564 5911 1323 \n3 803 3565 4874 \n3 3565 1323 5913 \n3 4874 5913 279 \n3 188 4876 5554 \n3 4876 804 3569 \n3 5554 3569 1144 \n3 804 4875 3567 \n3 4875 279 5916 \n3 3567 5916 1325 \n3 1144 3568 5555 \n3 3568 1325 5917 \n3 5555 5917 46 \n3 87 5560 6306 \n3 5560 1146 3572 \n3 6306 3572 1496 \n3 1146 5559 3570 \n3 5559 189 4879 \n3 3570 4879 808 \n3 1496 3571 6307 \n3 3571 808 4883 \n3 6307 4883 365 \n3 189 5557 4878 \n3 5557 1145 3575 \n3 4878 3575 806 \n3 1145 5556 3573 \n3 5556 46 5926 \n3 3573 5926 1330 \n3 806 3574 4880 \n3 3574 1330 5927 \n3 4880 5927 283 \n3 365 4882 6308 \n3 4882 807 3578 \n3 6308 3578 1497 \n3 807 4881 3576 \n3 4881 283 5930 \n3 3576 5930 1333 \n3 1497 3577 6309 \n3 3577 1333 5933 \n3 6309 5933 22 \n3 20 6310 5910 \n3 6310 1498 3581 \n3 5910 3581 1322 \n3 1498 6311 3579 \n3 6311 366 4885 \n3 3579 4885 811 \n3 1322 3580 5912 \n3 3580 811 4889 \n3 5912 4889 278 \n3 366 6312 4884 \n3 6312 1499 3584 \n3 4884 3584 809 \n3 1499 6313 3582 \n3 6313 88 5563 \n3 3582 5563 1149 \n3 809 3583 4886 \n3 3583 1149 5565 \n3 4886 5565 193 \n3 278 4888 5914 \n3 4888 810 3587 \n3 5914 3587 1324 \n3 810 4887 3585 \n3 4887 193 5570 \n3 3585 5570 1153 \n3 1324 3586 5915 \n3 3586 1153 5573 \n3 5915 5573 44 \n3 88 6314 5562 \n3 6314 1500 3590 \n3 5562 3590 1148 \n3 1500 6315 3588 \n3 6315 367 4891 \n3 3588 4891 814 \n3 1148 3589 5564 \n3 3589 814 4895 \n3 5564 4895 191 \n3 367 6316 4890 \n3 6316 1501 3593 \n3 4890 3593 812 \n3 1501 6317 3591 \n3 6317 1723 6318 \n3 3591 6318 1502 \n3 812 3592 4892 \n3 3592 1502 6319 \n3 4892 6319 368 \n3 191 4894 5566 \n3 4894 813 3596 \n3 5566 3596 1150 \n3 813 4893 3594 \n3 4893 368 6320 \n3 3594 6320 1503 \n3 1150 3595 5567 \n3 3595 1503 6321 \n3 5567 6321 89 \n3 44 5572 5918 \n3 5572 1152 3599 \n3 5918 3599 1326 \n3 1152 5571 3597 \n3 5571 192 4897 \n3 3597 4897 817 \n3 1326 3598 5919 \n3 3598 817 4901 \n3 5919 4901 280 \n3 192 5569 4896 \n3 5569 1151 3602 \n3 4896 3602 815 \n3 1151 5568 3600 \n3 5568 89 6322 \n3 3600 6322 1504 \n3 815 3601 4898 \n3 3601 1504 6323 \n3 4898 6323 369 \n3 280 4900 5920 \n3 4900 816 3605 \n3 5920 3605 1327 \n3 816 4899 3603 \n3 4899 369 6324 \n3 3603 6324 1505 \n3 1327 3604 5921 \n3 3604 1505 6325 \n3 5921 6325 21 \n3 22 5932 6326 \n3 5932 1332 3608 \n3 6326 3608 1506 \n3 1332 5931 3606 \n3 5931 282 4903 \n3 3606 4903 820 \n3 1506 3607 6327 \n3 3607 820 4907 \n3 6327 4907 370 \n3 282 5929 4902 \n3 5929 1331 3611 \n3 4902 3611 818 \n3 1331 5928 3609 \n3 5928 45 5575 \n3 3609 5575 1155 \n3 818 3610 4904 \n3 3610 1155 5577 \n3 4904 5577 196 \n3 370 4906 6328 \n3 4906 819 3614 \n3 6328 3614 1507 \n3 819 4905 3612 \n3 4905 196 5582 \n3 3612 5582 1159 \n3 1507 3613 6329 \n3 3613 1159 5585 \n3 6329 5585 91 \n3 45 5925 5574 \n3 5925 1329 3617 \n3 5574 3617 1154 \n3 1329 5924 3615 \n3 5924 281 4909 \n3 3615 4909 823 \n3 1154 3616 5576 \n3 3616 823 4913 \n3 5576 4913 194 \n3 281 5923 4908 \n3 5923 1328 3620 \n3 4908 3620 821 \n3 1328 5922 3618 \n3 5922 21 6330 \n3 3618 6330 1508 \n3 821 3619 4910 \n3 3619 1508 6331 \n3 4910 6331 371 \n3 194 4912 5578 \n3 4912 822 3623 \n3 5578 3623 1156 \n3 822 4911 3621 \n3 4911 371 6332 \n3 3621 6332 1509 \n3 1156 3622 5579 \n3 3622 1509 6333 \n3 5579 6333 90 \n3 91 5584 6334 \n3 5584 1158 3626 \n3 6334 3626 1510 \n3 1158 5583 3624 \n3 5583 195 4915 \n3 3624 4915 826 \n3 1510 3625 6335 \n3 3625 826 4919 \n3 6335 4919 373 \n3 195 5581 4914 \n3 5581 1157 3629 \n3 4914 3629 824 \n3 1157 5580 3627 \n3 5580 90 6336 \n3 3627 6336 1511 \n3 824 3628 4916 \n3 3628 1511 6337 \n3 4916 6337 372 \n3 373 4918 6338 \n3 4918 825 3632 \n3 6338 3632 1513 \n3 825 4917 3630 \n3 4917 372 6339 \n3 3630 6339 1512 \n3 1513 3631 6341 \n3 3631 1512 6340 \n3 6341 6340 1724 \n3 1725 6342 6343 \n3 6342 1562 3635 \n3 6343 3635 1563 \n3 1562 6344 3633 \n3 6344 1646 4921 \n3 3633 4921 829 \n3 1563 3634 6345 \n3 3634 829 4925 \n3 6345 4925 1647 \n3 1646 6346 4920 \n3 6346 1564 3638 \n3 4920 3638 827 \n3 1564 6347 3636 \n3 6347 1688 5587 \n3 3636 5587 1161 \n3 827 3637 4922 \n3 3637 1161 5589 \n3 4922 5589 199 \n3 1647 4924 6348 \n3 4924 828 3641 \n3 6348 3641 1565 \n3 828 4923 3639 \n3 4923 199 5594 \n3 3639 5594 1165 \n3 1565 3640 6349 \n3 3640 1165 5597 \n3 6349 5597 1689 \n3 1688 6350 5586 \n3 6350 1566 3644 \n3 5586 3644 1160 \n3 1566 6351 3642 \n3 6351 1648 4927 \n3 3642 4927 832 \n3 1160 3643 5588 \n3 3643 832 4931 \n3 5588 4931 197 \n3 1648 6352 4926 \n3 6352 1567 3647 \n3 4926 3647 830 \n3 1567 6353 3645 \n3 6353 1709 5935 \n3 3645 5935 1335 \n3 830 3646 4928 \n3 3646 1335 5937 \n3 4928 5937 285 \n3 197 4930 5590 \n3 4930 831 3650 \n3 5590 3650 1162 \n3 831 4929 3648 \n3 4929 285 5940 \n3 3648 5940 1337 \n3 1162 3649 5591 \n3 3649 1337 5941 \n3 5591 5941 49 \n3 1689 5596 6354 \n3 5596 1164 3653 \n3 6354 3653 1568 \n3 1164 5595 3651 \n3 5595 198 4933 \n3 3651 4933 835 \n3 1568 3652 6355 \n3 3652 835 4937 \n3 6355 4937 1649 \n3 198 5593 4932 \n3 5593 1163 3656 \n3 4932 3656 833 \n3 1163 5592 3654 \n3 5592 49 5950 \n3 3654 5950 1342 \n3 833 3655 4934 \n3 3655 1342 5951 \n3 4934 5951 289 \n3 1649 4936 6356 \n3 4936 834 3659 \n3 6356 3659 1569 \n3 834 4935 3657 \n3 4935 289 5954 \n3 3657 5954 1345 \n3 1569 3658 6357 \n3 3658 1345 5957 \n3 6357 5957 1710 \n3 1709 6358 5934 \n3 6358 1570 3662 \n3 5934 3662 1334 \n3 1570 6359 3660 \n3 6359 1650 4939 \n3 3660 4939 838 \n3 1334 3661 5936 \n3 3661 838 4943 \n3 5936 4943 284 \n3 1650 6360 4938 \n3 6360 1571 3665 \n3 4938 3665 836 \n3 1571 6361 3663 \n3 6361 1690 5599 \n3 3663 5599 1167 \n3 836 3664 4940 \n3 3664 1167 5601 \n3 4940 5601 202 \n3 284 4942 5938 \n3 4942 837 3668 \n3 5938 3668 1336 \n3 837 4941 3666 \n3 4941 202 5606 \n3 3666 5606 1171 \n3 1336 3667 5939 \n3 3667 1171 5609 \n3 5939 5609 47 \n3 1690 6362 5598 \n3 6362 1572 3671 \n3 5598 3671 1166 \n3 1572 6363 3669 \n3 6363 1651 4945 \n3 3669 4945 841 \n3 1166 3670 5600 \n3 3670 841 4949 \n3 5600 4949 200 \n3 1651 6364 4944 \n3 6364 1573 3674 \n3 4944 3674 839 \n3 1573 6365 3672 \n3 6365 1724 6340 \n3 3672 6340 1512 \n3 839 3673 4946 \n3 3673 1512 6339 \n3 4946 6339 372 \n3 200 4948 5602 \n3 4948 840 3677 \n3 5602 3677 1168 \n3 840 4947 3675 \n3 4947 372 6337 \n3 3675 6337 1511 \n3 1168 3676 5603 \n3 3676 1511 6336 \n3 5603 6336 90 \n3 47 5608 5942 \n3 5608 1170 3680 \n3 5942 3680 1338 \n3 1170 5607 3678 \n3 5607 201 4951 \n3 3678 4951 844 \n3 1338 3679 5943 \n3 3679 844 4955 \n3 5943 4955 286 \n3 201 5605 4950 \n3 5605 1169 3683 \n3 4950 3683 842 \n3 1169 5604 3681 \n3 5604 90 6333 \n3 3681 6333 1509 \n3 842 3682 4952 \n3 3682 1509 6332 \n3 4952 6332 371 \n3 286 4954 5944 \n3 4954 843 3686 \n3 5944 3686 1339 \n3 843 4953 3684 \n3 4953 371 6331 \n3 3684 6331 1508 \n3 1339 3685 5945 \n3 3685 1508 6330 \n3 5945 6330 21 \n3 1710 5956 6366 \n3 5956 1344 3689 \n3 6366 3689 1574 \n3 1344 5955 3687 \n3 5955 288 4957 \n3 3687 4957 847 \n3 1574 3688 6367 \n3 3688 847 4961 \n3 6367 4961 1652 \n3 288 5953 4956 \n3 5953 1343 3692 \n3 4956 3692 845 \n3 1343 5952 3690 \n3 5952 48 5611 \n3 3690 5611 1173 \n3 845 3691 4958 \n3 3691 1173 5613 \n3 4958 5613 205 \n3 1652 4960 6368 \n3 4960 846 3695 \n3 6368 3695 1575 \n3 846 4959 3693 \n3 4959 205 5618 \n3 3693 5618 1177 \n3 1575 3694 6369 \n3 3694 1177 5621 \n3 6369 5621 1691 \n3 48 5949 5610 \n3 5949 1341 3698 \n3 5610 3698 1172 \n3 1341 5948 3696 \n3 5948 287 4963 \n3 3696 4963 850 \n3 1172 3697 5612 \n3 3697 850 4967 \n3 5612 4967 203 \n3 287 5947 4962 \n3 5947 1340 3701 \n3 4962 3701 848 \n3 1340 5946 3699 \n3 5946 21 6325 \n3 3699 6325 1505 \n3 848 3700 4964 \n3 3700 1505 6324 \n3 4964 6324 369 \n3 203 4966 5614 \n3 4966 849 3704 \n3 5614 3704 1174 \n3 849 4965 3702 \n3 4965 369 6323 \n3 3702 6323 1504 \n3 1174 3703 5615 \n3 3703 1504 6322 \n3 5615 6322 89 \n3 1691 5620 6370 \n3 5620 1176 3707 \n3 6370 3707 1576 \n3 1176 5619 3705 \n3 5619 204 4969 \n3 3705 4969 853 \n3 1576 3706 6371 \n3 3706 853 4973 \n3 6371 4973 1653 \n3 204 5617 4968 \n3 5617 1175 3710 \n3 4968 3710 851 \n3 1175 5616 3708 \n3 5616 89 6321 \n3 3708 6321 1503 \n3 851 3709 4970 \n3 3709 1503 6320 \n3 4970 6320 368 \n3 1653 4972 6372 \n3 4972 852 3713 \n3 6372 3713 1577 \n3 852 4971 3711 \n3 4971 368 6319 \n3 3711 6319 1502 \n3 1577 3712 6373 \n3 3712 1502 6318 \n3 6373 6318 1723 \n3 1726 6374 6375 \n3 6374 1578 3716 \n3 6375 3716 1514 \n3 1578 6376 3714 \n3 6376 1654 4975 \n3 3714 4975 856 \n3 1514 3715 6377 \n3 3715 856 4979 \n3 6377 4979 374 \n3 1654 6378 4974 \n3 6378 1579 3719 \n3 4974 3719 854 \n3 1579 6379 3717 \n3 6379 1692 5623 \n3 3717 5623 1179 \n3 854 3718 4976 \n3 3718 1179 5625 \n3 4976 5625 208 \n3 374 4978 6380 \n3 4978 855 3722 \n3 6380 3722 1515 \n3 855 4977 3720 \n3 4977 208 5630 \n3 3720 5630 1183 \n3 1515 3721 6381 \n3 3721 1183 5633 \n3 6381 5633 92 \n3 1692 6382 5622 \n3 6382 1580 3725 \n3 5622 3725 1178 \n3 1580 6383 3723 \n3 6383 1655 4981 \n3 3723 4981 859 \n3 1178 3724 5624 \n3 3724 859 4985 \n3 5624 4985 206 \n3 1655 6384 4980 \n3 6384 1581 3728 \n3 4980 3728 857 \n3 1581 6385 3726 \n3 6385 1711 5959 \n3 3726 5959 1347 \n3 857 3727 4982 \n3 3727 1347 5961 \n3 4982 5961 291 \n3 206 4984 5626 \n3 4984 858 3731 \n3 5626 3731 1180 \n3 858 4983 3729 \n3 4983 291 5964 \n3 3729 5964 1349 \n3 1180 3730 5627 \n3 3730 1349 5965 \n3 5627 5965 52 \n3 92 5632 6386 \n3 5632 1182 3734 \n3 6386 3734 1516 \n3 1182 5631 3732 \n3 5631 207 4987 \n3 3732 4987 862 \n3 1516 3733 6387 \n3 3733 862 4991 \n3 6387 4991 375 \n3 207 5629 4986 \n3 5629 1181 3737 \n3 4986 3737 860 \n3 1181 5628 3735 \n3 5628 52 5974 \n3 3735 5974 1354 \n3 860 3736 4988 \n3 3736 1354 5975 \n3 4988 5975 295 \n3 375 4990 6388 \n3 4990 861 3740 \n3 6388 3740 1517 \n3 861 4989 3738 \n3 4989 295 5978 \n3 3738 5978 1357 \n3 1517 3739 6389 \n3 3739 1357 5981 \n3 6389 5981 24 \n3 1711 6390 5958 \n3 6390 1582 3743 \n3 5958 3743 1346 \n3 1582 6391 3741 \n3 6391 1656 4993 \n3 3741 4993 865 \n3 1346 3742 5960 \n3 3742 865 4997 \n3 5960 4997 290 \n3 1656 6392 4992 \n3 6392 1583 3746 \n3 4992 3746 863 \n3 1583 6393 3744 \n3 6393 1693 5635 \n3 3744 5635 1185 \n3 863 3745 4994 \n3 3745 1185 5637 \n3 4994 5637 211 \n3 290 4996 5962 \n3 4996 864 3749 \n3 5962 3749 1348 \n3 864 4995 3747 \n3 4995 211 5642 \n3 3747 5642 1189 \n3 1348 3748 5963 \n3 3748 1189 5645 \n3 5963 5645 50 \n3 1693 6394 5634 \n3 6394 1584 3752 \n3 5634 3752 1184 \n3 1584 6395 3750 \n3 6395 1657 4999 \n3 3750 4999 868 \n3 1184 3751 5636 \n3 3751 868 5003 \n3 5636 5003 209 \n3 1657 6396 4998 \n3 6396 1585 3755 \n3 4998 3755 866 \n3 1585 6397 3753 \n3 6397 1727 6398 \n3 3753 6398 1518 \n3 866 3754 5000 \n3 3754 1518 6399 \n3 5000 6399 376 \n3 209 5002 5638 \n3 5002 867 3758 \n3 5638 3758 1186 \n3 867 5001 3756 \n3 5001 376 6400 \n3 3756 6400 1519 \n3 1186 3757 5639 \n3 3757 1519 6401 \n3 5639 6401 93 \n3 50 5644 5966 \n3 5644 1188 3761 \n3 5966 3761 1350 \n3 1188 5643 3759 \n3 5643 210 5005 \n3 3759 5005 871 \n3 1350 3760 5967 \n3 3760 871 5009 \n3 5967 5009 292 \n3 210 5641 5004 \n3 5641 1187 3764 \n3 5004 3764 869 \n3 1187 5640 3762 \n3 5640 93 6402 \n3 3762 6402 1520 \n3 869 3763 5006 \n3 3763 1520 6403 \n3 5006 6403 377 \n3 292 5008 5968 \n3 5008 870 3767 \n3 5968 3767 1351 \n3 870 5007 3765 \n3 5007 377 6404 \n3 3765 6404 1521 \n3 1351 3766 5969 \n3 3766 1521 6405 \n3 5969 6405 23 \n3 24 5980 6406 \n3 5980 1356 3770 \n3 6406 3770 1522 \n3 1356 5979 3768 \n3 5979 294 5011 \n3 3768 5011 874 \n3 1522 3769 6407 \n3 3769 874 5015 \n3 6407 5015 378 \n3 294 5977 5010 \n3 5977 1355 3773 \n3 5010 3773 872 \n3 1355 5976 3771 \n3 5976 51 5647 \n3 3771 5647 1191 \n3 872 3772 5012 \n3 3772 1191 5649 \n3 5012 5649 214 \n3 378 5014 6408 \n3 5014 873 3776 \n3 6408 3776 1523 \n3 873 5013 3774 \n3 5013 214 5654 \n3 3774 5654 1195 \n3 1523 3775 6409 \n3 3775 1195 5657 \n3 6409 5657 95 \n3 51 5973 5646 \n3 5973 1353 3779 \n3 5646 3779 1190 \n3 1353 5972 3777 \n3 5972 293 5017 \n3 3777 5017 877 \n3 1190 3778 5648 \n3 3778 877 5021 \n3 5648 5021 212 \n3 293 5971 5016 \n3 5971 1352 3782 \n3 5016 3782 875 \n3 1352 5970 3780 \n3 5970 23 6410 \n3 3780 6410 1524 \n3 875 3781 5018 \n3 3781 1524 6411 \n3 5018 6411 379 \n3 212 5020 5650 \n3 5020 876 3785 \n3 5650 3785 1192 \n3 876 5019 3783 \n3 5019 379 6412 \n3 3783 6412 1525 \n3 1192 3784 5651 \n3 3784 1525 6413 \n3 5651 6413 94 \n3 95 5656 6414 \n3 5656 1194 3788 \n3 6414 3788 1526 \n3 1194 5655 3786 \n3 5655 213 5023 \n3 3786 5023 880 \n3 1526 3787 6415 \n3 3787 880 5027 \n3 6415 5027 381 \n3 213 5653 5022 \n3 5653 1193 3791 \n3 5022 3791 878 \n3 1193 5652 3789 \n3 5652 94 6416 \n3 3789 6416 1527 \n3 878 3790 5024 \n3 3790 1527 6417 \n3 5024 6417 380 \n3 381 5026 6418 \n3 5026 879 3794 \n3 6418 3794 1529 \n3 879 5025 3792 \n3 5025 380 6419 \n3 3792 6419 1528 \n3 1529 3793 6421 \n3 3793 1528 6420 \n3 6421 6420 1728 \n3 1729 6422 6423 \n3 6422 1586 3797 \n3 6423 3797 1587 \n3 1586 6424 3795 \n3 6424 1658 5029 \n3 3795 5029 883 \n3 1587 3796 6425 \n3 3796 883 5033 \n3 6425 5033 1659 \n3 1658 6426 5028 \n3 6426 1588 3800 \n3 5028 3800 881 \n3 1588 6427 3798 \n3 6427 1694 5659 \n3 3798 5659 1197 \n3 881 3799 5030 \n3 3799 1197 5661 \n3 5030 5661 217 \n3 1659 5032 6428 \n3 5032 882 3803 \n3 6428 3803 1589 \n3 882 5031 3801 \n3 5031 217 5666 \n3 3801 5666 1201 \n3 1589 3802 6429 \n3 3802 1201 5669 \n3 6429 5669 1695 \n3 1694 6430 5658 \n3 6430 1590 3806 \n3 5658 3806 1196 \n3 1590 6431 3804 \n3 6431 1660 5035 \n3 3804 5035 886 \n3 1196 3805 5660 \n3 3805 886 5039 \n3 5660 5039 215 \n3 1660 6432 5034 \n3 6432 1591 3809 \n3 5034 3809 884 \n3 1591 6433 3807 \n3 6433 1712 5983 \n3 3807 5983 1359 \n3 884 3808 5036 \n3 3808 1359 5985 \n3 5036 5985 297 \n3 215 5038 5662 \n3 5038 885 3812 \n3 5662 3812 1198 \n3 885 5037 3810 \n3 5037 297 5988 \n3 3810 5988 1361 \n3 1198 3811 5663 \n3 3811 1361 5989 \n3 5663 5989 55 \n3 1695 5668 6434 \n3 5668 1200 3815 \n3 6434 3815 1592 \n3 1200 5667 3813 \n3 5667 216 5041 \n3 3813 5041 889 \n3 1592 3814 6435 \n3 3814 889 5045 \n3 6435 5045 1661 \n3 216 5665 5040 \n3 5665 1199 3818 \n3 5040 3818 887 \n3 1199 5664 3816 \n3 5664 55 5998 \n3 3816 5998 1366 \n3 887 3817 5042 \n3 3817 1366 5999 \n3 5042 5999 301 \n3 1661 5044 6436 \n3 5044 888 3821 \n3 6436 3821 1593 \n3 888 5043 3819 \n3 5043 301 6002 \n3 3819 6002 1369 \n3 1593 3820 6437 \n3 3820 1369 6005 \n3 6437 6005 1713 \n3 1712 6438 5982 \n3 6438 1594 3824 \n3 5982 3824 1358 \n3 1594 6439 3822 \n3 6439 1662 5047 \n3 3822 5047 892 \n3 1358 3823 5984 \n3 3823 892 5051 \n3 5984 5051 296 \n3 1662 6440 5046 \n3 6440 1595 3827 \n3 5046 3827 890 \n3 1595 6441 3825 \n3 6441 1696 5671 \n3 3825 5671 1203 \n3 890 3826 5048 \n3 3826 1203 5673 \n3 5048 5673 220 \n3 296 5050 5986 \n3 5050 891 3830 \n3 5986 3830 1360 \n3 891 5049 3828 \n3 5049 220 5678 \n3 3828 5678 1207 \n3 1360 3829 5987 \n3 3829 1207 5681 \n3 5987 5681 53 \n3 1696 6442 5670 \n3 6442 1596 3833 \n3 5670 3833 1202 \n3 1596 6443 3831 \n3 6443 1663 5053 \n3 3831 5053 895 \n3 1202 3832 5672 \n3 3832 895 5057 \n3 5672 5057 218 \n3 1663 6444 5052 \n3 6444 1597 3836 \n3 5052 3836 893 \n3 1597 6445 3834 \n3 6445 1728 6420 \n3 3834 6420 1528 \n3 893 3835 5054 \n3 3835 1528 6419 \n3 5054 6419 380 \n3 218 5056 5674 \n3 5056 894 3839 \n3 5674 3839 1204 \n3 894 5055 3837 \n3 5055 380 6417 \n3 3837 6417 1527 \n3 1204 3838 5675 \n3 3838 1527 6416 \n3 5675 6416 94 \n3 53 5680 5990 \n3 5680 1206 3842 \n3 5990 3842 1362 \n3 1206 5679 3840 \n3 5679 219 5059 \n3 3840 5059 898 \n3 1362 3841 5991 \n3 3841 898 5063 \n3 5991 5063 298 \n3 219 5677 5058 \n3 5677 1205 3845 \n3 5058 3845 896 \n3 1205 5676 3843 \n3 5676 94 6413 \n3 3843 6413 1525 \n3 896 3844 5060 \n3 3844 1525 6412 \n3 5060 6412 379 \n3 298 5062 5992 \n3 5062 897 3848 \n3 5992 3848 1363 \n3 897 5061 3846 \n3 5061 379 6411 \n3 3846 6411 1524 \n3 1363 3847 5993 \n3 3847 1524 6410 \n3 5993 6410 23 \n3 1713 6004 6446 \n3 6004 1368 3851 \n3 6446 3851 1598 \n3 1368 6003 3849 \n3 6003 300 5065 \n3 3849 5065 901 \n3 1598 3850 6447 \n3 3850 901 5069 \n3 6447 5069 1664 \n3 300 6001 5064 \n3 6001 1367 3854 \n3 5064 3854 899 \n3 1367 6000 3852 \n3 6000 54 5683 \n3 3852 5683 1209 \n3 899 3853 5066 \n3 3853 1209 5685 \n3 5066 5685 223 \n3 1664 5068 6448 \n3 5068 900 3857 \n3 6448 3857 1599 \n3 900 5067 3855 \n3 5067 223 5690 \n3 3855 5690 1213 \n3 1599 3856 6449 \n3 3856 1213 5693 \n3 6449 5693 1697 \n3 54 5997 5682 \n3 5997 1365 3860 \n3 5682 3860 1208 \n3 1365 5996 3858 \n3 5996 299 5071 \n3 3858 5071 904 \n3 1208 3859 5684 \n3 3859 904 5075 \n3 5684 5075 221 \n3 299 5995 5070 \n3 5995 1364 3863 \n3 5070 3863 902 \n3 1364 5994 3861 \n3 5994 23 6405 \n3 3861 6405 1521 \n3 902 3862 5072 \n3 3862 1521 6404 \n3 5072 6404 377 \n3 221 5074 5686 \n3 5074 903 3866 \n3 5686 3866 1210 \n3 903 5073 3864 \n3 5073 377 6403 \n3 3864 6403 1520 \n3 1210 3865 5687 \n3 3865 1520 6402 \n3 5687 6402 93 \n3 1697 5692 6450 \n3 5692 1212 3869 \n3 6450 3869 1600 \n3 1212 5691 3867 \n3 5691 222 5077 \n3 3867 5077 907 \n3 1600 3868 6451 \n3 3868 907 5081 \n3 6451 5081 1665 \n3 222 5689 5076 \n3 5689 1211 3872 \n3 5076 3872 905 \n3 1211 5688 3870 \n3 5688 93 6401 \n3 3870 6401 1519 \n3 905 3871 5078 \n3 3871 1519 6400 \n3 5078 6400 376 \n3 1665 5080 6452 \n3 5080 906 3875 \n3 6452 3875 1601 \n3 906 5079 3873 \n3 5079 376 6399 \n3 3873 6399 1518 \n3 1601 3874 6453 \n3 3874 1518 6398 \n3 6453 6398 1727 \n3 1730 6454 6455 \n3 6454 1602 3878 \n3 6455 3878 1603 \n3 1602 6456 3876 \n3 6456 1666 5083 \n3 3876 5083 910 \n3 1603 3877 6457 \n3 3877 910 5087 \n3 6457 5087 1667 \n3 1666 6458 5082 \n3 6458 1604 3881 \n3 5082 3881 908 \n3 1604 6459 3879 \n3 6459 1698 5695 \n3 3879 5695 1215 \n3 908 3880 5084 \n3 3880 1215 5697 \n3 5084 5697 226 \n3 1667 5086 6460 \n3 5086 909 3884 \n3 6460 3884 1605 \n3 909 5085 3882 \n3 5085 226 5702 \n3 3882 5702 1219 \n3 1605 3883 6461 \n3 3883 1219 5705 \n3 6461 5705 1699 \n3 1698 6462 5694 \n3 6462 1606 3887 \n3 5694 3887 1214 \n3 1606 6463 3885 \n3 6463 1668 5089 \n3 3885 5089 913 \n3 1214 3886 5696 \n3 3886 913 5093 \n3 5696 5093 224 \n3 1668 6464 5088 \n3 6464 1607 3890 \n3 5088 3890 911 \n3 1607 6465 3888 \n3 6465 1714 6007 \n3 3888 6007 1371 \n3 911 3889 5090 \n3 3889 1371 6009 \n3 5090 6009 303 \n3 224 5092 5698 \n3 5092 912 3893 \n3 5698 3893 1216 \n3 912 5091 3891 \n3 5091 303 6012 \n3 3891 6012 1373 \n3 1216 3892 5699 \n3 3892 1373 6013 \n3 5699 6013 58 \n3 1699 5704 6466 \n3 5704 1218 3896 \n3 6466 3896 1608 \n3 1218 5703 3894 \n3 5703 225 5095 \n3 3894 5095 916 \n3 1608 3895 6467 \n3 3895 916 5099 \n3 6467 5099 1669 \n3 225 5701 5094 \n3 5701 1217 3899 \n3 5094 3899 914 \n3 1217 5700 3897 \n3 5700 58 6022 \n3 3897 6022 1378 \n3 914 3898 5096 \n3 3898 1378 6023 \n3 5096 6023 307 \n3 1669 5098 6468 \n3 5098 915 3902 \n3 6468 3902 1609 \n3 915 5097 3900 \n3 5097 307 6026 \n3 3900 6026 1381 \n3 1609 3901 6469 \n3 3901 1381 6029 \n3 6469 6029 1715 \n3 1714 6470 6006 \n3 6470 1610 3905 \n3 6006 3905 1370 \n3 1610 6471 3903 \n3 6471 1670 5101 \n3 3903 5101 919 \n3 1370 3904 6008 \n3 3904 919 5105 \n3 6008 5105 302 \n3 1670 6472 5100 \n3 6472 1611 3908 \n3 5100 3908 917 \n3 1611 6473 3906 \n3 6473 1700 5707 \n3 3906 5707 1221 \n3 917 3907 5102 \n3 3907 1221 5709 \n3 5102 5709 229 \n3 302 5104 6010 \n3 5104 918 3911 \n3 6010 3911 1372 \n3 918 5103 3909 \n3 5103 229 5714 \n3 3909 5714 1225 \n3 1372 3910 6011 \n3 3910 1225 5717 \n3 6011 5717 56 \n3 1700 6474 5706 \n3 6474 1612 3914 \n3 5706 3914 1220 \n3 1612 6475 3912 \n3 6475 1671 5107 \n3 3912 5107 922 \n3 1220 3913 5708 \n3 3913 922 5111 \n3 5708 5111 227 \n3 1671 6476 5106 \n3 6476 1613 3917 \n3 5106 3917 920 \n3 1613 6477 3915 \n3 6477 1731 6478 \n3 3915 6478 1530 \n3 920 3916 5108 \n3 3916 1530 6479 \n3 5108 6479 382 \n3 227 5110 5710 \n3 5110 921 3920 \n3 5710 3920 1222 \n3 921 5109 3918 \n3 5109 382 6480 \n3 3918 6480 1531 \n3 1222 3919 5711 \n3 3919 1531 6481 \n3 5711 6481 96 \n3 56 5716 6014 \n3 5716 1224 3923 \n3 6014 3923 1374 \n3 1224 5715 3921 \n3 5715 228 5113 \n3 3921 5113 925 \n3 1374 3922 6015 \n3 3922 925 5117 \n3 6015 5117 304 \n3 228 5713 5112 \n3 5713 1223 3926 \n3 5112 3926 923 \n3 1223 5712 3924 \n3 5712 96 6482 \n3 3924 6482 1532 \n3 923 3925 5114 \n3 3925 1532 6483 \n3 5114 6483 383 \n3 304 5116 6016 \n3 5116 924 3929 \n3 6016 3929 1375 \n3 924 5115 3927 \n3 5115 383 6484 \n3 3927 6484 1533 \n3 1375 3928 6017 \n3 3928 1533 6485 \n3 6017 6485 25 \n3 1715 6028 6486 \n3 6028 1380 3932 \n3 6486 3932 1614 \n3 1380 6027 3930 \n3 6027 306 5119 \n3 3930 5119 928 \n3 1614 3931 6487 \n3 3931 928 5123 \n3 6487 5123 1672 \n3 306 6025 5118 \n3 6025 1379 3935 \n3 5118 3935 926 \n3 1379 6024 3933 \n3 6024 57 5719 \n3 3933 5719 1227 \n3 926 3934 5120 \n3 3934 1227 5721 \n3 5120 5721 232 \n3 1672 5122 6488 \n3 5122 927 3938 \n3 6488 3938 1615 \n3 927 5121 3936 \n3 5121 232 5726 \n3 3936 5726 1231 \n3 1615 3937 6489 \n3 3937 1231 5729 \n3 6489 5729 1701 \n3 57 6021 5718 \n3 6021 1377 3941 \n3 5718 3941 1226 \n3 1377 6020 3939 \n3 6020 305 5125 \n3 3939 5125 931 \n3 1226 3940 5720 \n3 3940 931 5129 \n3 5720 5129 230 \n3 305 6019 5124 \n3 6019 1376 3944 \n3 5124 3944 929 \n3 1376 6018 3942 \n3 6018 25 6490 \n3 3942 6490 1534 \n3 929 3943 5126 \n3 3943 1534 6491 \n3 5126 6491 384 \n3 230 5128 5722 \n3 5128 930 3947 \n3 5722 3947 1228 \n3 930 5127 3945 \n3 5127 384 6492 \n3 3945 6492 1535 \n3 1228 3946 5723 \n3 3946 1535 6493 \n3 5723 6493 97 \n3 1701 5728 6494 \n3 5728 1230 3950 \n3 6494 3950 1616 \n3 1230 5727 3948 \n3 5727 231 5131 \n3 3948 5131 934 \n3 1616 3949 6495 \n3 3949 934 5135 \n3 6495 5135 1673 \n3 231 5725 5130 \n3 5725 1229 3953 \n3 5130 3953 932 \n3 1229 5724 3951 \n3 5724 97 6496 \n3 3951 6496 1536 \n3 932 3952 5132 \n3 3952 1536 6497 \n3 5132 6497 385 \n3 1673 5134 6498 \n3 5134 933 3956 \n3 6498 3956 1617 \n3 933 5133 3954 \n3 5133 385 6499 \n3 3954 6499 1537 \n3 1617 3955 6501 \n3 3955 1537 6500 \n3 6501 6500 1732 \n3 1733 6502 6503 \n3 6502 1618 3959 \n3 6503 3959 1619 \n3 1618 6504 3957 \n3 6504 1674 5137 \n3 3957 5137 937 \n3 1619 3958 6505 \n3 3958 937 5141 \n3 6505 5141 1675 \n3 1674 6506 5136 \n3 6506 1620 3962 \n3 5136 3962 935 \n3 1620 6507 3960 \n3 6507 1702 5731 \n3 3960 5731 1233 \n3 935 3961 5138 \n3 3961 1233 5733 \n3 5138 5733 235 \n3 1675 5140 6508 \n3 5140 936 3965 \n3 6508 3965 1621 \n3 936 5139 3963 \n3 5139 235 5738 \n3 3963 5738 1237 \n3 1621 3964 6509 \n3 3964 1237 5741 \n3 6509 5741 1703 \n3 1702 6510 5730 \n3 6510 1622 3968 \n3 5730 3968 1232 \n3 1622 6511 3966 \n3 6511 1676 5143 \n3 3966 5143 940 \n3 1232 3967 5732 \n3 3967 940 5147 \n3 5732 5147 233 \n3 1676 6512 5142 \n3 6512 1623 3971 \n3 5142 3971 938 \n3 1623 6513 3969 \n3 6513 1716 6031 \n3 3969 6031 1383 \n3 938 3970 5144 \n3 3970 1383 6033 \n3 5144 6033 309 \n3 233 5146 5734 \n3 5146 939 3974 \n3 5734 3974 1234 \n3 939 5145 3972 \n3 5145 309 6036 \n3 3972 6036 1385 \n3 1234 3973 5735 \n3 3973 1385 6037 \n3 5735 6037 61 \n3 1703 5740 6514 \n3 5740 1236 3977 \n3 6514 3977 1624 \n3 1236 5739 3975 \n3 5739 234 5149 \n3 3975 5149 943 \n3 1624 3976 6515 \n3 3976 943 5153 \n3 6515 5153 1677 \n3 234 5737 5148 \n3 5737 1235 3980 \n3 5148 3980 941 \n3 1235 5736 3978 \n3 5736 61 6046 \n3 3978 6046 1390 \n3 941 3979 5150 \n3 3979 1390 6047 \n3 5150 6047 313 \n3 1677 5152 6516 \n3 5152 942 3983 \n3 6516 3983 1625 \n3 942 5151 3981 \n3 5151 313 6050 \n3 3981 6050 1393 \n3 1625 3982 6517 \n3 3982 1393 6053 \n3 6517 6053 1717 \n3 1716 6518 6030 \n3 6518 1626 3986 \n3 6030 3986 1382 \n3 1626 6519 3984 \n3 6519 1678 5155 \n3 3984 5155 946 \n3 1382 3985 6032 \n3 3985 946 5159 \n3 6032 5159 308 \n3 1678 6520 5154 \n3 6520 1627 3989 \n3 5154 3989 944 \n3 1627 6521 3987 \n3 6521 1704 5743 \n3 3987 5743 1239 \n3 944 3988 5156 \n3 3988 1239 5745 \n3 5156 5745 238 \n3 308 5158 6034 \n3 5158 945 3992 \n3 6034 3992 1384 \n3 945 5157 3990 \n3 5157 238 5750 \n3 3990 5750 1243 \n3 1384 3991 6035 \n3 3991 1243 5753 \n3 6035 5753 59 \n3 1704 6522 5742 \n3 6522 1628 3995 \n3 5742 3995 1238 \n3 1628 6523 3993 \n3 6523 1679 5161 \n3 3993 5161 949 \n3 1238 3994 5744 \n3 3994 949 5165 \n3 5744 5165 236 \n3 1679 6524 5160 \n3 6524 1629 3998 \n3 5160 3998 947 \n3 1629 6525 3996 \n3 6525 1732 6500 \n3 3996 6500 1537 \n3 947 3997 5162 \n3 3997 1537 6499 \n3 5162 6499 385 \n3 236 5164 5746 \n3 5164 948 4001 \n3 5746 4001 1240 \n3 948 5163 3999 \n3 5163 385 6497 \n3 3999 6497 1536 \n3 1240 4000 5747 \n3 4000 1536 6496 \n3 5747 6496 97 \n3 59 5752 6038 \n3 5752 1242 4004 \n3 6038 4004 1386 \n3 1242 5751 4002 \n3 5751 237 5167 \n3 4002 5167 952 \n3 1386 4003 6039 \n3 4003 952 5171 \n3 6039 5171 310 \n3 237 5749 5166 \n3 5749 1241 4007 \n3 5166 4007 950 \n3 1241 5748 4005 \n3 5748 97 6493 \n3 4005 6493 1535 \n3 950 4006 5168 \n3 4006 1535 6492 \n3 5168 6492 384 \n3 310 5170 6040 \n3 5170 951 4010 \n3 6040 4010 1387 \n3 951 5169 4008 \n3 5169 384 6491 \n3 4008 6491 1534 \n3 1387 4009 6041 \n3 4009 1534 6490 \n3 6041 6490 25 \n3 1717 6052 6526 \n3 6052 1392 4013 \n3 6526 4013 1630 \n3 1392 6051 4011 \n3 6051 312 5173 \n3 4011 5173 955 \n3 1630 4012 6527 \n3 4012 955 5177 \n3 6527 5177 1680 \n3 312 6049 5172 \n3 6049 1391 4016 \n3 5172 4016 953 \n3 1391 6048 4014 \n3 6048 60 5755 \n3 4014 5755 1245 \n3 953 4015 5174 \n3 4015 1245 5757 \n3 5174 5757 241 \n3 1680 5176 6528 \n3 5176 954 4019 \n3 6528 4019 1631 \n3 954 5175 4017 \n3 5175 241 5762 \n3 4017 5762 1249 \n3 1631 4018 6529 \n3 4018 1249 5765 \n3 6529 5765 1705 \n3 60 6045 5754 \n3 6045 1389 4022 \n3 5754 4022 1244 \n3 1389 6044 4020 \n3 6044 311 5179 \n3 4020 5179 958 \n3 1244 4021 5756 \n3 4021 958 5183 \n3 5756 5183 239 \n3 311 6043 5178 \n3 6043 1388 4025 \n3 5178 4025 956 \n3 1388 6042 4023 \n3 6042 25 6485 \n3 4023 6485 1533 \n3 956 4024 5180 \n3 4024 1533 6484 \n3 5180 6484 383 \n3 239 5182 5758 \n3 5182 957 4028 \n3 5758 4028 1246 \n3 957 5181 4026 \n3 5181 383 6483 \n3 4026 6483 1532 \n3 1246 4027 5759 \n3 4027 1532 6482 \n3 5759 6482 96 \n3 1705 5764 6530 \n3 5764 1248 4031 \n3 6530 4031 1632 \n3 1248 5763 4029 \n3 5763 240 5185 \n3 4029 5185 961 \n3 1632 4030 6531 \n3 4030 961 5189 \n3 6531 5189 1681 \n3 240 5761 5184 \n3 5761 1247 4034 \n3 5184 4034 959 \n3 1247 5760 4032 \n3 5760 96 6481 \n3 4032 6481 1531 \n3 959 4033 5186 \n3 4033 1531 6480 \n3 5186 6480 382 \n3 1681 5188 6532 \n3 5188 960 4037 \n3 6532 4037 1633 \n3 960 5187 4035 \n3 5187 382 6479 \n3 4035 6479 1530 \n3 1633 4036 6533 \n3 4036 1530 6478 \n3 6533 6478 1731 \n"
  },
  {
    "path": "data/bunny.ply",
    "content": "ply\nformat ascii 1.0\ncomment VCGLIB generated\nelement vertex 2503\nproperty float x\nproperty float y\nproperty float z\nproperty float nx\nproperty float ny\nproperty float nz\nelement face 5001\nproperty list uchar int vertex_indices\nend_header\n-0.00341018 0.13032 0.0217544 -0.0891049 0.979276 0.181875 \n-0.0817192 0.152501 0.0296561 -0.376317 0.852913 0.361836 \n-0.0305435 0.124779 0.00109834 0.169682 0.959499 -0.224875 \n-0.0249016 0.112111 0.0375602 -0.242574 0.56513 0.788534 \n-0.0184057 0.178431 -0.0242196 -0.605981 -0.0774263 -0.791702 \n0.0190679 0.121449 0.0319684 0.233682 0.715192 0.658705 \n0.0060412 0.124944 0.0326529 0.0550787 0.743628 0.666321 \n-0.013469 0.162994 -0.012 0.816144 -0.0479042 0.575859 \n-0.0343932 0.172367 -0.00098213 0.687788 -0.0919676 0.720062 \n-0.0843142 0.109573 0.00370973 -0.843725 -0.140261 -0.518126 \n-0.0422335 0.172116 -0.00417998 -0.589011 0.80724 0.0378032 \n-0.0633084 0.156606 -0.0138388 0.834076 0.466204 0.294908 \n-0.0769039 0.16708 -0.0269314 -0.761841 0.575054 0.298182 \n-0.0722539 0.115396 0.0516703 0.0949894 -0.576628 0.811466 \n0.0129813 0.113664 0.038303 0.0890611 0.401533 0.911504 \n-0.0378573 0.170101 0.0014236 0.13814 0.484148 0.864013 \n0.00486894 0.0379624 0.0458676 0.181402 -0.00020284 0.983409 \n-0.0571805 0.0409188 0.0463013 -0.243991 0.386366 0.889489 \n-0.0452091 0.0388391 0.0445038 0.28655 0.213632 0.933944 \n-0.0337615 0.126179 0.00171323 0.332448 0.934439 -0.127684 \n-0.0502423 0.157737 0.00939445 0.20519 0.510641 0.834951 \n-0.0212169 0.158879 -0.00469237 0.607893 -0.513728 0.605433 \n-0.0564729 0.157784 0.00817865 -0.39731 0.806774 0.437332 \n-0.0528021 0.0413199 0.0461698 0.0699278 0.370623 0.926147 \n-0.0499603 0.043102 0.0444627 0.25391 0.439297 0.861712 \n-0.0297488 0.0365399 0.0524933 -0.547256 -0.37806 0.746714 \n-0.00354389 0.0426598 0.0475415 0.274416 0.195472 0.941534 \n0.00493049 0.0419827 0.0457234 0.168065 0.0319971 0.985256 \n-0.0390882 0.16872 -0.0119247 -0.583558 0.230962 -0.778535 \n-0.056901 0.045437 0.043237 -0.159166 0.726369 0.668621 \n-0.0412449 0.0430989 0.0421296 0.257523 0.29545 0.919995 \n-0.026472 0.0450345 0.0512195 -0.385849 0.49875 0.776124 \n-0.021867 0.0440229 0.0532438 0.169824 0.32372 0.930788 \n-0.0369962 0.168993 0.00132563 0.615997 0.0250652 0.787349 \n-0.0672166 0.161713 -0.0137337 0.615601 0.690457 0.379874 \n0.0497601 0.0702352 0.023732 -0.0517538 0.772198 0.633271 \n-0.0491866 0.0464112 0.04117 0.0851984 0.749978 0.655953 \n-0.0445904 0.043798 0.0426855 0.170294 0.508627 0.843978 \n-0.0436865 0.0471545 0.0402863 0.0218054 0.438487 0.898473 \n-0.022492 0.0465136 0.0518853 -0.00531991 0.616777 0.78712 \n-0.00651742 0.0450362 0.0475028 0.251006 0.308525 0.917501 \n0.00037699 0.0449358 0.0465199 0.044961 -0.551637 0.832871 \n0.0340239 0.113539 0.0245953 0.781701 0.564372 0.265384 \n-0.0264679 0.181043 -0.00808117 0.385187 0.393011 0.834969 \n-0.0175335 0.0479642 0.0488296 0.15646 0.733994 0.660888 \n-0.00700126 0.0464165 0.0474855 -0.0741361 -0.620068 0.781037 \n0.00598623 0.0466891 0.0490736 0.119239 -0.704399 0.699717 \n0.00910072 0.0484745 0.0493532 0.438091 -0.547203 0.713194 \n-0.0354537 0.112448 0.0350554 0.0128764 0.546642 0.837267 \n-0.0759832 0.138208 0.0492166 0.0209445 0.514759 0.857079 \n0.0348384 0.0431534 0.0289543 0.0761842 -0.548517 0.832661 \n-0.0526556 0.0484942 0.0387312 -0.0475539 0.88221 0.468449 \n-0.0473789 0.0484567 0.0391268 -0.112669 0.577813 0.808355 \n-0.0389338 0.0463643 0.0403648 0.00978752 0.308762 0.951089 \n-0.0264689 0.0478164 0.0493226 -0.309016 0.755252 0.578017 \n-0.0223658 0.0480736 0.0501265 0.015702 0.843152 0.537446 \n-0.0133734 0.0478924 0.0478838 0.0247655 0.155246 0.987565 \n-0.0121935 0.0494703 0.0494845 -0.266379 -0.508111 0.819064 \n-0.00063364 0.0471931 0.0491369 -0.0788404 -0.729038 0.679917 \n0.00206568 0.0501047 0.0522902 0.0780681 -0.575069 0.814371 \n-0.0227493 0.0498839 0.0466055 -0.114831 0.84554 0.521418 \n-0.0180021 0.0499179 0.046948 -0.186713 0.275853 0.942891 \n-0.00780368 0.0501693 0.0509887 -0.180086 -0.587298 0.789082 \n-0.00268438 0.0512474 0.0531868 -0.116447 -0.571455 0.81233 \n-0.0638757 0.161401 -0.0200642 0.787336 0.554334 0.269844 \n0.032434 0.045334 0.0303168 0.283301 -0.463083 0.839818 \n-0.0880646 0.124968 0.00057412 -0.864851 0.0297501 -0.501146 \n-0.0415037 0.167485 0.00327659 0.139669 0.428313 0.892771 \n-0.064457 0.153429 -0.00511804 0.845597 0.48088 0.231776 \n-0.0343032 0.0505202 0.038286 0.0866327 0.3893 0.917028 \n-0.0229494 0.0510206 0.0439265 -0.290985 0.821326 0.490664 \n-0.0143547 0.0544282 0.0507103 -0.322578 -0.349402 0.879694 \n0.00137731 0.0523027 0.053149 0.210888 -0.250452 0.944881 \n0.0036285 0.0531986 0.0534227 0.152686 -0.239521 0.95881 \n0.00807238 0.0515741 0.0517736 0.328819 -0.417807 0.846945 \n-0.0726659 0.130056 0.0516682 0.35335 0.270722 0.895463 \n0.0379928 0.0497932 0.031902 -0.134752 0.00496357 0.990867 \n0.0384973 0.0480624 0.0317375 -0.00481038 -0.345142 0.938538 \n0.0215035 0.12564 0.0212526 0.48343 0.856646 0.180148 \n-0.0764813 0.148274 -0.00893762 -0.921798 -0.294345 -0.252287 \n-0.0872404 0.119672 -0.00017813 -0.719444 -0.257314 -0.645128 \n-0.04372 0.168227 0.0023425 -0.227457 0.709778 0.666692 \n-0.0406522 0.122665 0.0262903 -0.0987229 0.792543 0.601772 \n-0.0466862 0.0545707 0.0375874 -0.668356 0.0762018 0.739928 \n-0.0440717 0.0510583 0.0389778 -0.226456 0.109595 0.967836 \n-0.0381441 0.0505996 0.0393022 0.0941977 0.0607445 0.993699 \n-0.0198758 0.0516077 0.046142 -0.644991 0.0808481 0.759901 \n-0.0169112 0.0518436 0.0484593 -0.547587 -0.34285 0.763284 \n-0.0162492 0.0542921 0.0503069 -0.438011 -0.308934 0.844219 \n-0.0104465 0.053686 0.0519586 -0.236385 -0.356702 0.903817 \n-0.00430909 0.0544675 0.0539083 -0.240761 -0.223827 0.944423 \n0.00781527 0.0550507 0.0527502 0.240019 -0.14761 0.95948 \n0.0379551 0.104887 -0.00320318 0.799415 0.487924 -0.350524 \n-0.0790038 0.128505 0.0531493 -0.14612 -0.0115303 0.9892 \n-0.079779 0.134489 0.0509903 -0.291409 0.453418 0.842314 \n-0.0591297 0.150397 0.0344895 0.631723 0.297847 0.715691 \n-0.0656918 0.149618 0.038161 0.284823 0.605911 0.742797 \n-0.0319517 0.125184 0.0194006 0.275921 0.89619 0.347436 \n-0.0693726 0.160618 -0.0091905 0.426572 0.780664 0.456728 \n-0.0452255 0.129355 0.0203775 0.871994 0.373649 0.316248 \n-0.0418791 0.0561644 0.0397967 -0.169384 -0.13643 0.976062 \n-0.0306148 0.0544127 0.0366943 0.174505 -0.0115532 0.984588 \n-0.0247876 0.0526062 0.0408398 -0.684614 0.324327 0.652776 \n-0.0215889 0.0568369 0.045467 -0.784438 -0.11643 0.609181 \n-0.00024264 0.054536 0.0546412 0.120817 -0.22956 0.965767 \n-0.0809005 0.125587 0.0521554 -0.389441 -0.19637 0.899875 \n-0.0299962 0.178111 -0.00523582 0.0920857 0.662255 0.743599 \n0.0355154 0.0504496 0.0314398 0.0181087 -0.100244 0.994798 \n0.0433155 0.0521455 0.0324921 0.09219 -0.105024 0.990187 \n-0.0639385 0.152627 0.0344811 0.0845823 0.85412 0.513152 \n-0.0444894 0.0610777 0.0395453 -0.47802 -0.109605 0.871483 \n-0.0389799 0.0579963 0.0401514 0.20616 -0.162561 0.964921 \n-0.0790877 0.170445 -0.0413732 -0.886911 -0.373902 -0.271267 \n-0.00462473 0.0577597 0.0539907 -0.0751332 -0.312992 0.946779 \n-0.00149855 0.0559255 0.0546308 -0.177811 0.0315331 0.983559 \n0.00519817 0.057018 0.0534235 0.209459 -0.252053 0.944773 \n3.092e-005 0.123157 0.0347497 0.0253727 0.709115 0.704637 \n0.0335683 0.115237 0.0217984 0.782572 0.606127 0.142093 \n0.0386863 0.0564506 0.0311889 0.293793 -0.017027 0.955718 \n-0.0343858 0.054096 0.0380603 0.338422 -0.116738 0.933725 \n-0.00853083 0.0601594 0.0553089 -0.155608 -0.282198 0.946652 \n-0.00044024 0.0583434 0.0544834 -0.0137438 -0.263196 0.964644 \n-0.0910787 0.11506 0.0401418 -0.791007 -0.576817 0.203937 \n0.0407755 0.0545575 0.0320147 -0.149739 0.164803 0.974894 \n0.0456369 0.0574026 0.0319922 0.0755438 0.209303 0.974928 \n0.0203588 0.124487 0.0259063 0.389851 0.841359 0.374341 \n-0.0141697 0.127679 0.00130805 -0.224336 0.933221 -0.280665 \n-0.0119876 0.0574932 0.0527524 -0.370149 -0.348895 0.860966 \n0.00325145 0.0598286 0.0554643 0.0941013 -0.454438 0.885794 \n-0.0123952 0.122647 0.0335883 -0.228727 0.776362 0.587321 \n0.0138138 0.123222 0.0325026 0.319005 0.697282 0.641898 \n-0.0770043 0.155213 0.0245348 -0.177283 0.972339 0.152078 \n-0.0280014 0.0610754 0.0374712 -0.403872 -0.157107 0.901224 \n-0.0008548 0.0605935 0.0558248 -0.0550532 -0.391293 0.918618 \n-0.0380502 0.115271 0.0331785 0.077439 0.583165 0.808654 \n-0.0162313 0.123829 0.029577 -0.324654 0.822058 0.467782 \n-0.0253736 0.1584 -0.00148013 0.504935 -0.573778 0.64484 \n-0.0678186 0.154544 0.0302337 -0.00465993 0.957245 0.289241 \n-0.00430826 0.0614186 0.0556885 -0.0599358 -0.275035 0.959564 \n-0.00319589 0.119125 0.0383496 -0.0139787 0.568596 0.822498 \n-0.00642924 0.122011 0.0357409 -0.105634 0.660048 0.743759 \n0.042313 0.0590991 0.0308484 -0.135363 0.419553 0.897581 \n0.04851 0.0617808 0.0303473 0.166465 0.330668 0.92895 \n0.0504123 0.0603126 0.0302451 0.362572 0.146641 0.920347 \n-0.0391856 0.0630745 0.0413829 0.0768531 -0.166525 0.983038 \n-0.0344487 0.0607805 0.039544 0.329327 -0.195734 0.923706 \n-0.014746 0.0655839 0.0537309 -0.279044 -0.137386 0.9504 \n0.00266452 0.0627 0.0565252 0.0551199 -0.143445 0.988122 \n-0.0139916 0.119626 0.0362515 -0.244512 0.647448 0.72182 \n0.0196592 0.112362 0.0375453 0.287134 0.465899 0.836954 \n-0.0325972 0.174987 -0.00259531 0.267095 0.456833 0.848507 \n-0.00215139 0.0994374 0.0498497 0.0319684 0.873906 0.485043 \n-0.0560014 0.0618307 0.0279312 -0.284729 -0.862545 0.418265 \n-0.0547073 0.0634616 0.0316706 -0.238739 -0.828645 0.506312 \n-0.0513079 0.0605217 0.0314349 -0.891742 -0.145932 0.42837 \n-0.0419793 0.06963 0.0418249 -0.145391 -0.147259 0.978354 \n-0.0302725 0.0624747 0.0379822 0.312667 -0.188084 0.931055 \n-0.0113879 0.0647425 0.054918 -0.251874 -0.0332483 0.967189 \n0.00695449 0.0647001 0.0555991 0.271976 -0.0334792 0.961722 \n0.0430151 0.097691 0.00102583 0.911819 0.297635 -0.282843 \n0.0406359 0.0615749 0.0298412 0.699506 -0.0149574 0.71447 \n0.0461836 0.0619101 0.0302234 -0.136358 0.515416 0.846022 \n0.037553 0.106853 0.0263035 0.811898 0.419196 0.406321 \n-0.0786407 0.163872 -0.0283878 -0.981235 0.146978 0.124799 \n-0.0619962 0.147615 -0.00432568 0.912516 0.323271 -0.250621 \n-0.00574998 0.065489 0.0561734 -0.12168 -0.0924129 0.988258 \n0.00025369 0.0657412 0.0565693 0.0682555 0.020787 0.997451 \n-0.0205426 0.119795 0.0330037 -0.319027 0.711413 0.62619 \n0.00431559 0.127826 0.0286469 0.0463709 0.850617 0.523737 \n-0.0465496 0.0676521 0.0396358 -0.463983 -0.325748 0.823776 \n-0.0174206 0.0696595 0.0540895 -0.499634 -0.280362 0.819612 \n-0.0152422 0.0709099 0.0550048 -0.122391 -0.245735 0.961579 \n-0.0102829 0.0689264 0.0552896 -0.276239 -0.193642 0.941379 \n-0.00011289 0.0692882 0.0565798 0.117689 -0.161021 0.979909 \n-0.0363093 0.118769 0.030674 -0.0227481 0.648022 0.761282 \n-0.0703258 0.0633678 0.0198092 -0.557498 -0.771017 0.307782 \n0.0430231 0.0637958 0.0280392 0.0969551 0.443591 0.89097 \n0.0428311 0.085556 0.0278738 0.895867 0.0725661 0.438356 \n0.0169816 0.12715 0.0229315 0.396754 0.877235 0.270267 \n-0.0421215 0.128251 0.00107515 0.169696 0.971814 -0.163648 \n0.0163292 0.122519 0.0313754 0.302355 0.701838 0.644984 \n-0.0812642 0.153812 0.0258978 -0.31014 0.92613 0.214698 \n-0.0322579 0.0881926 -0.025131 -0.523486 0.259189 -0.811655 \n-0.013775 0.070888 0.0546956 -0.169522 -0.247801 0.953864 \n0.00529296 0.068006 0.0556705 0.178421 -0.0533862 0.982505 \n0.00769625 0.0723756 0.0560622 0.240394 -0.0906467 0.966433 \n0.00348306 0.120026 0.0369119 0.0861006 0.612405 0.785842 \n0.00665325 0.116736 0.0387163 0.197648 0.467433 0.861651 \n0.0460866 0.0664739 0.026809 -0.122983 0.621759 0.773493 \n0.0523273 0.0643271 0.0282819 0.296072 0.417696 0.858994 \n-0.0618976 0.122971 -0.00877255 0.127811 0.176645 -0.975941 \n-0.00639347 0.105245 -0.0228419 0.0227652 0.236391 -0.971391 \n-0.0352183 0.0685598 0.0413815 0.270592 -0.120717 0.955095 \n-0.0326899 0.0677297 0.0401244 0.357433 -0.155967 0.920824 \n-0.0292454 0.0695515 0.039369 0.0202275 -0.229031 0.973209 \n-0.00500245 0.069655 0.0568925 -0.103626 -0.303495 0.947181 \n0.016574 0.118902 0.0350423 0.247548 0.548387 0.798744 \n-0.0893851 0.099024 0.0175218 -0.986207 0.122004 0.111853 \n0.0457192 0.0694894 0.0235493 0.165362 0.763401 0.624399 \n0.0545372 0.0687967 0.0245177 0.339495 0.618484 0.708675 \n-0.0449895 0.0715773 0.0419292 -0.139135 -0.210623 0.967615 \n-0.00424394 0.129149 0.0258292 -0.122844 0.918004 0.377066 \n-0.0738801 0.120916 0.0533958 -0.227473 -0.105865 0.968013 \n-0.0740339 0.144069 0.044995 0.0784412 0.627872 0.774353 \n0.0504 0.0672925 0.0268515 0.0443034 0.638303 0.768509 \n-0.0540569 0.156716 -0.00248659 -0.613166 0.160029 -0.773575 \n0.0261481 0.120147 0.027308 0.571403 0.715124 0.402612 \n-0.0107365 0.129903 0.0109938 -0.214593 0.976084 -0.0347924 \n-0.0450788 0.0872611 -0.0218655 -0.00371851 -0.151457 -0.988457 \n-0.0383409 0.0688438 0.0418465 0.0553225 -0.063403 0.996453 \n-0.0292556 0.0751692 0.0411864 -0.412401 -0.289901 0.863645 \n-0.0473112 0.16296 0.00607403 0.0296069 0.5191 0.8542 \n-0.011866 0.0731838 0.0562501 -0.310112 -0.264269 0.913232 \n-0.00637346 0.0721843 0.057973 -0.213737 -0.301933 0.92906 \n-0.00299353 0.0721864 0.0581672 0.0829352 -0.294399 0.952077 \n-0.0257811 0.0937782 -0.0283882 -0.522231 0.74583 -0.413536 \n-0.0166926 0.115686 0.0378532 -0.271043 0.560384 0.782627 \n-0.0841234 0.10832 0.024731 -0.873727 0.0627465 0.482353 \n-0.0742941 0.163568 -0.0155342 -0.458568 0.784647 0.417187 \n-0.0942971 0.126177 0.0192246 -0.9809 0.170826 -0.0930215 \n-0.0352071 0.125052 0.0216357 0.193681 0.89645 0.39858 \n-0.0494959 0.0734363 0.0416736 -0.00897309 -0.574779 0.818259 \n-0.0330642 0.0766548 0.0412779 0.201753 -0.135046 0.970082 \n-0.00731573 0.0739196 0.0579717 -0.252057 -0.0808928 0.964326 \n2.185e-005 0.073496 0.0576967 0.303305 -0.133039 0.943561 \n0.00419344 0.0729152 0.0562987 0.178741 -0.087942 0.979958 \n-0.0772561 0.145659 0.0431229 -0.257061 0.681751 0.684934 \n0.0410733 0.0887243 -0.00978794 0.863057 0.124294 -0.489575 \n0.0374187 0.108508 0.00033973 0.809021 0.494468 -0.317785 \n-0.0551114 0.0746878 0.0419397 -0.0588144 -0.499534 0.864296 \n-0.0427402 0.0769953 0.0428041 -0.0829017 -0.0554599 0.995013 \n-0.0685312 0.1563 0.0209977 0.014817 0.999252 0.0357048 \n-0.00994402 0.0763431 0.0573886 -0.19078 -0.0841875 0.978016 \n-0.00324792 0.0757107 0.0587146 -0.0346683 -0.000271256 0.999399 \n0.0134144 0.0930737 0.0514678 0.312808 0.499161 0.808078 \n-0.0735044 0.0938833 -0.0147517 -0.475442 0.137729 -0.868899 \n-0.0744718 0.135075 0.0506889 0.278445 0.384918 0.879947 \n-0.0258513 0.121829 0.0260797 -0.270752 0.862897 0.426734 \n-0.0340229 0.175971 -0.00372716 -0.202622 0.779121 0.593224 \n-0.0754059 0.168391 -0.026793 -0.508029 0.783103 0.358687 \n-0.0366584 0.0750873 0.0420069 0.146551 -0.112371 0.9828 \n-0.0177955 0.0774862 0.0560872 -0.264799 -0.252593 0.930633 \n-0.0113787 0.0798772 0.0576989 -0.131745 -0.0294187 0.990847 \n-0.00010415 0.076882 0.0581907 0.199591 0.124893 0.971887 \n0.00273814 0.0791057 0.0567192 0.248429 -0.0184827 0.968474 \n0.00556812 0.0763971 0.0563272 0.179146 0.037789 0.983096 \n-0.0618959 0.154242 -0.0190186 0.998248 -0.0507383 0.0304298 \n-0.072647 0.140989 0.0469766 0.239702 0.514462 0.82333 \n0.0157997 0.129014 0.0132369 0.373274 0.927503 0.0200887 \n-0.0117034 0.0973557 0.0515921 -0.166951 0.820863 0.546179 \n-0.0589222 0.0775455 0.0429614 -0.156822 -0.33848 0.927813 \n-0.0531213 0.0779124 0.0433349 -0.0124327 -0.322603 0.946453 \n-0.0507457 0.0761484 0.0431376 -0.0213244 -0.333824 0.942394 \n-0.0474018 0.0755503 0.0426301 0.0165802 -0.285613 0.958202 \n-0.0450556 0.0787963 0.0423413 0.0590743 -0.0879425 0.994372 \n-0.0395176 0.0781278 0.0429186 0.0169668 -0.118589 0.992798 \n-0.0152456 0.0829408 0.0569346 -0.0844507 -0.0516628 0.995087 \n-0.0145578 0.0765822 0.0564932 -0.18861 -0.185128 0.964445 \n-0.0059406 0.0790382 0.0579698 -0.0171161 0.098245 0.995015 \n0.0371765 0.110644 0.0188113 0.829681 0.550273 0.0939611 \n0.00239297 0.131627 0.0119551 -0.0541876 0.998442 -0.013315 \n-0.0936442 0.117894 0.0186621 -0.959813 -0.28063 -0.00246753 \n-0.0639398 0.0786218 0.0420835 -0.300931 -0.385987 0.872041 \n-0.0453765 0.0823836 0.0432821 0.277347 -0.171701 0.945303 \n-0.0365055 0.0811523 0.0431623 0.207403 -0.136786 0.968645 \n-0.0332443 0.0822666 0.0418522 0.208775 -0.134707 0.968642 \n-0.0308006 0.0800684 0.0417981 -0.645567 -0.231436 0.727791 \n-0.00205785 0.0809983 0.0575538 0.0860735 0.0996926 0.991288 \n0.00818481 0.0807562 0.0553745 0.330336 -0.0075796 0.943833 \n-0.0129534 0.115936 0.0389202 -0.186484 0.482191 0.855988 \n-0.0780815 0.123519 0.052137 -0.394671 -0.252972 0.883312 \n-0.0265809 0.155677 -0.00419634 0.448398 -0.853136 0.266641 \n-0.0824716 0.116241 -0.00232363 -0.540256 -0.350756 -0.764914 \n-0.0275385 0.0799648 0.0476972 -0.864885 -0.212447 0.454797 \n0.00125564 0.0838456 0.0574464 0.0981424 -0.00741466 0.995145 \n0.00615083 0.0834062 0.0564635 0.272684 -0.0825719 0.958554 \n-0.0624332 0.0840353 0.0442031 -0.054456 -0.254769 0.965467 \n-0.0598672 0.0805405 0.0432771 -0.181092 -0.215579 0.959548 \n-0.0552383 0.0819995 0.0449848 -0.138438 -0.147971 0.979255 \n-0.0540004 0.0805684 0.0446015 0.00292324 -0.369623 0.929177 \n-0.050027 0.0813113 0.0442642 0.142621 -0.222749 0.964387 \n-0.0419961 0.0810837 0.0424562 -0.0697552 -0.0290741 0.99714 \n-0.0393579 0.0836314 0.0435023 -0.165904 -0.0318726 0.985627 \n-0.0861615 0.108386 0.0182449 -0.976705 -0.0136489 0.214151 \n-0.086723 0.0999172 0.00355371 -0.91556 0.210687 -0.342581 \n-0.0224137 0.0832835 0.0555907 -0.540498 0.0352156 0.840608 \n-0.0169932 0.0825558 0.0575239 0.0622562 -0.07363 0.995341 \n-0.012406 0.0852226 0.0572678 -0.071344 0.0890142 0.993472 \n-0.00744421 0.116934 0.0392838 -0.102064 0.522476 0.846523 \n-0.0021452 0.111433 0.0424366 0.00907637 0.367771 0.929872 \n-0.0757182 0.125227 0.0530873 0.0355324 0.0862587 0.995639 \n-0.0770567 0.131935 0.0524624 0.0679531 0.291807 0.95406 \n-0.061121 0.155697 0.022517 0.130181 0.986647 0.0978804 \n-0.0375385 0.127441 0.0153209 0.175113 0.961416 0.212165 \n-0.00205167 0.100935 0.0456259 0.00997589 0.944749 0.327641 \n-0.0649922 0.0845509 0.0441201 -0.272508 -0.208301 0.939335 \n-0.057862 0.0839444 0.044186 -0.115037 -0.125854 0.985357 \n-0.0456811 0.084988 0.0441595 0.335669 -0.161614 0.928012 \n-0.0350226 0.0828882 0.0429128 0.33842 -0.120145 0.933294 \n-0.029982 0.0854023 0.0437451 -0.74527 -0.0644021 0.663645 \n-0.0888923 0.0992091 0.00957032 -0.964038 0.166947 -0.206785 \n-0.0191353 0.0834748 0.0572174 -0.296581 0.0294667 0.954553 \n-0.0834897 0.107247 0.0007579 -0.857386 0.293873 -0.422526 \n-0.0701128 0.117904 0.0527142 0.260346 -0.246516 0.933515 \n-0.0355263 0.175956 -0.00486762 -0.437871 0.851664 0.28799 \n-0.0708314 0.122544 0.0532749 0.235854 0.139519 0.961721 \n0.0451338 0.0936307 0.00623368 0.978254 0.201934 -0.0473463 \n-0.0536167 0.0853468 0.0453325 -0.0667848 -0.0220595 0.997523 \n-0.0490008 0.0862217 0.045352 0.197534 -0.0355241 0.979652 \n-0.0367449 0.0860837 0.0436129 0.108801 0.00262418 0.99406 \n-0.0108726 0.0888268 0.0566655 -0.0446635 0.152591 0.98728 \n-0.00384502 0.0847878 0.057198 0.00861592 0.116259 0.993182 \n-0.0490201 0.117713 0.0315814 0.496746 0.330186 0.802633 \n-0.0429144 0.11836 0.030645 -0.0663928 0.721829 0.68888 \n-0.0576845 0.155617 0.0129831 0.0694921 0.986667 0.14717 \n-0.0254117 0.124725 0.00012886 -0.155013 0.945387 -0.286731 \n0.0190122 0.127362 0.0177866 0.430764 0.897917 0.090482 \n-0.0594986 0.0888455 0.0451093 -0.000598467 -0.130345 0.991468 \n-0.056931 0.0881015 0.0446929 -0.0166318 -0.0400186 0.99906 \n0.00357656 0.13139 0.0072086 0.00844148 0.992943 -0.11829 \n-0.0166833 0.0872667 0.0567412 -0.125838 0.177903 0.975969 \n-0.00849808 0.0839905 0.0576052 -0.00795769 0.106217 0.994311 \n0.00350782 0.0863395 0.0570483 0.123366 0.240896 0.962679 \n-0.0283987 0.180707 -0.00784695 -0.348406 0.857552 0.37844 \n-0.0765658 0.11674 0.0514893 -0.421573 -0.33453 0.842832 \n0.0178694 0.0908986 0.0487129 0.377749 0.269238 0.885898 \n-0.0403421 0.116696 0.0324602 0.00837598 0.640536 0.767882 \n0.00591057 0.131409 0.0168237 0.0480732 0.994375 0.0943768 \n-0.0857776 0.0917014 -4.697e-005 -0.946201 0.0148841 -0.323237 \n-0.0503722 0.0888447 0.045188 -0.0084034 0.157778 0.987439 \n-0.0444341 0.0876545 0.0434776 0.356562 0.13273 0.924795 \n-0.0420564 0.0867115 0.0425346 0.0766518 0.0245178 0.996756 \n-0.0330585 0.0861855 0.0425604 -0.0557875 -0.212157 0.975642 \n-0.0292419 0.0904534 0.0442366 -0.456774 0.0550176 0.88788 \n-0.00689641 0.0844329 0.0571686 0.06986 0.0992839 0.992604 \n-0.00662106 0.0904152 0.0568798 0.017787 0.156766 0.987476 \n-0.00124391 0.0890932 0.0565521 0.0979888 0.231002 0.968006 \n0.0094076 0.0903281 0.0542141 0.236211 0.425315 0.873677 \n0.0401948 0.102316 -0.00200486 0.843741 0.403068 -0.354454 \n-0.0862271 0.114668 0.0022102 -0.659483 -0.430047 -0.616557 \n-0.0894955 0.0956324 0.0142348 -0.999402 0.013721 -0.0317365 \n-0.0671322 0.157094 -0.0062032 0.655542 0.664741 0.358307 \n-0.0529356 0.0909135 0.0445689 0.0166618 0.150843 0.988417 \n-0.0367449 0.0888869 0.0433121 -0.0275436 -0.143305 0.989295 \n-0.0136261 0.0897879 0.0566744 -0.0529664 0.185264 0.98126 \n0.0233371 0.123534 0.0248741 0.529844 0.785 0.321 \n-0.0370538 0.127151 0.00035474 0.247299 0.945228 -0.213044 \n-0.0736967 0.15613 0.0143598 -0.0780341 0.996203 -0.0385935 \n-0.0655924 0.0910424 0.0440921 -0.317185 0.184237 0.930296 \n-0.0589974 0.0920307 0.0453353 -0.0154513 0.135267 0.990689 \n-0.0332389 0.0885736 0.043697 -0.142557 -0.226992 0.963407 \n-0.031835 0.090723 0.0441735 -0.0527968 -0.157006 0.986185 \n-0.0200222 0.0880321 0.0555894 -0.423671 0.328015 0.84434 \n-0.0112138 0.0923664 0.0561053 -0.0787643 0.396242 0.914761 \n0.0391084 0.108291 0.0131423 0.872804 0.485469 0.050329 \n0.0286757 0.119596 0.0245459 0.656422 0.697006 0.288606 \n-0.0689402 0.156528 -0.0019716 0.475465 0.806559 0.351276 \n-0.0626151 0.0911269 0.0450907 -0.186447 0.0577751 0.980765 \n0.0304446 0.118864 0.0208218 0.698382 0.706455 0.11482 \n-0.0152411 0.0918217 0.0558172 -0.256581 0.417251 0.871819 \n-0.00562217 0.093235 0.0558936 0.0434105 0.411126 0.910544 \n0.00479899 0.0916548 0.0547152 0.223577 0.390653 0.892974 \n-0.0682824 0.0923768 0.0423887 -0.315688 0.139054 0.938619 \n-0.0556237 0.0921874 0.045055 0.130295 0.13377 0.98241 \n-0.051901 0.0954576 0.0439376 -0.0334187 0.174855 0.984027 \n-0.048809 0.0910839 0.0444567 0.193265 0.112622 0.974661 \n-0.0454116 0.0910021 0.0432528 0.314686 0.0698699 0.946621 \n-0.0445146 0.0948604 0.0429725 0.276958 0.0868774 0.956946 \n-0.0394303 0.0895976 0.0431779 -0.251587 0.0568165 0.966165 \n-0.0356422 0.0926174 0.0442385 -0.14367 -0.0457894 0.988566 \n-0.00012246 0.0932012 0.0553984 0.162934 0.368161 0.915374 \n0.00951046 0.0954839 0.0509106 0.255843 0.583805 0.770529 \n0.0214417 0.091355 0.0480434 0.289635 0.208561 0.934138 \n-0.00898303 0.169264 -0.0226835 0.976974 -0.212609 -0.0178416 \n-0.0730191 0.156021 0.0224193 -0.0854946 0.989549 0.116118 \n-0.0647604 0.153116 -0.00203712 0.689455 0.724198 -0.0137767 \n-0.0693685 0.0952428 0.042129 -0.312993 0.202147 0.927994 \n-0.0601171 0.0955529 0.0441838 -0.117903 0.303786 0.945417 \n-0.0292417 0.0942904 0.0448212 -0.0612492 0.0227979 0.997862 \n-0.0265614 0.0932895 0.0449754 -0.481835 0.402664 0.778265 \n-0.014394 0.0945876 0.0539935 -0.248644 0.67565 0.694027 \n-0.00886916 0.0954003 0.054446 -0.0794306 0.635559 0.767956 \n-0.00121887 0.0962017 0.0538159 0.0796353 0.66034 0.746733 \n0.0040479 0.0958174 0.0529368 0.255166 0.555269 0.79156 \n-0.00460194 0.124285 0.033472 -0.0779101 0.776273 0.625564 \n-0.0784365 0.13928 0.0483294 -0.181558 0.598504 0.780275 \n0.0107746 0.130792 0.0143417 0.262195 0.964298 0.0371862 \n-0.0566237 0.0963222 0.0436679 0.0512638 0.248062 0.967387 \n-0.0362989 0.0956956 0.0435803 -0.22856 0.188656 0.955076 \n-0.0243799 0.0958664 0.0444345 -0.355256 0.325072 0.876425 \n0.0109155 0.126336 0.029857 0.205008 0.805491 0.556018 \n-0.00586227 0.0973502 0.0527437 -0.061591 0.80898 0.5846 \n0.0169735 0.0971066 0.0474409 0.275744 0.268272 0.923036 \n-0.067232 0.0991739 0.0415939 -0.226226 0.246342 0.94241 \n-0.0549942 0.0996408 0.0429552 0.0196651 0.276526 0.960805 \n-0.048618 0.0964527 0.0441831 0.115345 0.210337 0.970801 \n-0.055369 0.154425 0.0161607 0.479281 0.865412 0.146124 \n-0.0942435 0.122074 0.0235685 -0.980237 -0.132315 0.147065 \n0.013243 0.0967382 0.0487502 0.20711 0.472337 0.85674 \n0.0206393 0.0966025 0.046971 0.229892 0.25441 0.939375 \n0.00734297 0.120982 0.0359734 0.0673864 0.596077 0.800095 \n-0.0134939 0.128824 0.00596907 -0.213749 0.966412 -0.142687 \n-0.0201106 0.125045 0.0235883 -0.328515 0.87699 0.350666 \n-0.0694385 0.164799 -0.0172187 0.276494 0.867988 0.41249 \n-0.064028 0.0978387 0.0425653 -0.234238 0.264725 0.935443 \n-0.0519964 0.0997078 0.0427166 0.0138327 0.36231 0.931955 \n-0.0439909 0.0994255 0.0423834 0.151361 0.163932 0.97479 \n-0.0397382 0.102154 0.0405744 -0.0149537 0.386257 0.92227 \n-0.0359315 0.09981 0.0423358 -0.18962 0.411657 0.891394 \n-0.0308676 0.0969147 0.0446514 -0.106935 0.281328 0.953635 \n-0.0283421 0.0977827 0.0437613 0.00511336 0.221792 0.975081 \n-0.0256226 0.0987134 0.0442109 -0.176265 0.226644 0.957895 \n-0.0852366 0.110774 0.0245377 -0.710947 -0.644201 0.282063 \n0.0071936 0.0988595 0.0484195 0.122143 0.645419 0.753999 \n0.00965092 0.101088 0.0473731 -0.104448 0.537616 0.836695 \n0.0134871 0.100764 0.0474543 0.16608 0.375648 0.91176 \n0.00773898 0.131475 0.011683 0.138354 0.98989 -0.0312462 \n0.00080905 0.116333 0.0401676 0.0814735 0.500445 0.861926 \n-0.0726526 0.165679 -0.0182125 -0.158361 0.887934 0.431851 \n-0.00560094 0.130767 0.0105161 -0.13025 0.991255 -0.021182 \n-0.0263037 0.125189 0.017393 -0.125539 0.965585 0.227784 \n-0.0475904 0.100812 0.0423491 0.0348241 0.332403 0.942494 \n-0.0414608 0.0985448 0.0417786 0.0275156 0.166308 0.98569 \n-0.0335821 0.103839 0.040738 -0.19049 0.475544 0.85882 \n-0.0228702 0.102847 0.0435448 -0.112267 0.35141 0.929466 \n-0.022362 0.0982076 0.0447659 -0.159188 0.343782 0.925458 \n-0.0188705 0.0989732 0.0444893 -0.122639 0.49711 0.858977 \n-0.0714337 0.0775735 0.0380608 -0.48033 -0.416254 0.772021 \n-0.0730011 0.118267 0.0530346 -0.0738008 -0.288951 0.954495 \n-0.0684664 0.134981 -0.00833598 -0.00273827 0.0978444 -0.995198 \n-0.0746838 0.107861 -0.00904771 -0.546973 0.364446 -0.753657 \n-0.064959 0.15852 -0.0125953 0.747127 0.564501 0.350915 \n-0.0789317 0.150931 0.0351519 -0.317481 0.830469 0.457741 \n-0.0741135 0.0994425 0.0383377 -0.568015 0.226597 0.79121 \n-0.0704569 0.100988 0.0397941 -0.359565 0.325281 0.874589 \n-0.0590588 0.100413 0.0427251 -0.0846887 0.312325 0.946193 \n-0.0491873 0.10452 0.0403014 -0.0973938 0.399476 0.911555 \n-0.0291512 0.101974 0.0426331 -0.153662 0.44304 0.883235 \n-0.0115997 0.101078 0.0441917 -0.135608 0.707699 0.693378 \n0.00514504 0.101639 0.045423 -0.132004 0.696206 0.705601 \n-0.0514957 0.104967 0.0403472 0.080755 0.425445 0.901374 \n-0.0202182 0.102144 0.0437012 0.0252814 0.261348 0.964913 \n0.00425159 0.105237 0.0425636 0.0450936 0.406824 0.912393 \n0.0168328 0.103375 0.0452873 0.208428 0.599461 0.77279 \n-0.0256611 0.125627 0.00455375 -0.221088 0.963108 -0.153435 \n-0.072142 0.105367 0.0375232 -0.289647 0.0604552 0.955223 \n-0.0649846 0.103716 0.0406478 -0.217281 0.363531 0.905889 \n-0.0606525 0.104672 0.0409064 -0.052054 0.454634 0.889156 \n-0.055309 0.103654 0.0415167 0.0226901 0.426537 0.904186 \n-0.0442432 0.104317 0.04134 0.132945 0.342648 0.93001 \n-0.0155133 0.104361 0.0429194 -0.0712478 0.242998 0.967407 \n-0.00763232 0.103045 0.0437106 -0.0275811 0.11115 0.993421 \n-0.00780469 0.105166 0.0438255 -0.101723 0.0172358 0.994663 \n0.00971632 0.105235 0.0436038 -0.152865 0.696461 0.701123 \n0.0303004 0.115536 0.028685 0.648015 0.599808 0.469368 \n-0.0474969 0.106357 0.0401656 -0.135834 0.403684 0.904759 \n-0.0389789 0.10683 0.0382477 0.187235 0.402484 0.896075 \n-0.0258693 0.104267 0.0422075 -0.233749 0.448215 0.862824 \n-0.0180579 0.105039 0.0428028 -0.0528809 0.315381 0.947491 \n-0.01518 0.108077 0.0423504 -0.171745 0.35509 0.91892 \n-0.00389815 0.105662 0.0440472 0.00795086 0.18817 0.982104 \n2.682e-005 0.104467 0.0437759 0.109604 0.138756 0.984243 \n0.0119783 0.104036 0.0453963 0.00494648 0.660186 0.751085 \n0.015005 0.107269 0.041812 0.0893227 0.601344 0.793982 \n0.0264881 0.122303 0.0203981 0.611345 0.779464 0.136722 \n-0.0362256 0.106342 0.0386449 -0.146229 0.492144 0.858144 \n-0.0211268 0.109323 0.0407153 -0.201693 0.461056 0.864145 \n-0.0128198 0.104571 0.0434657 -0.110371 0.162382 0.980536 \n0.00528479 0.109437 0.041675 0.266317 0.192968 0.944372 \n0.00894037 0.107106 0.0412434 0.00616096 0.497913 0.867205 \n-0.0518397 0.16062 0.00714213 -0.22177 0.715228 0.662773 \n-0.0542014 0.114517 0.034844 0.169619 0.414788 0.893969 \n0.0132263 0.129581 0.0196896 0.34566 0.927781 0.140505 \n-0.0693824 0.108658 0.0375078 0.145132 -0.307867 0.940295 \n-0.067691 0.107341 0.0380184 -0.253247 0.361238 0.897426 \n-0.0637824 0.110373 0.0375798 -0.00595523 0.289112 0.957277 \n-0.0507494 0.109287 0.0382976 -0.00770458 0.527188 0.849714 \n-0.00939362 0.107428 0.0434546 -0.0681423 0.207733 0.975809 \n0.00117601 0.109325 0.0426628 0.173803 0.192285 0.965826 \n0.00980203 0.11004 0.0399454 0.275825 0.240227 0.930705 \n0.0201313 0.107328 0.0403238 0.306523 0.515733 0.800039 \n-0.00278728 0.105775 -0.022459 0.158272 0.221165 -0.962308 \n-0.0549969 0.107742 0.0394246 0.0174503 0.485416 0.874109 \n-0.0459667 0.109051 0.0387541 0.0165863 0.57993 0.814497 \n-0.0423245 0.107373 0.0394564 0.217546 0.42875 0.876839 \n-0.0321612 0.108965 0.0381027 -0.169911 0.5425 0.822693 \n-0.0307702 0.115973 0.0328588 -0.0558007 0.678743 0.732253 \n-0.0116086 0.109837 0.0424753 -0.165233 0.372162 0.913342 \n-0.0294283 0.0931666 -0.0249319 -0.424375 0.409035 -0.807834 \n-0.0800436 0.0920802 -0.00941982 -0.740695 -0.0391645 -0.670699 \n-0.0497974 0.113421 0.0351179 0.0233857 0.651973 0.757881 \n-0.0437239 0.161914 0.00577134 0.339539 0.262535 0.90321 \n-0.0579817 0.109432 0.0379976 0.000864316 0.509114 0.860699 \n-0.0414912 0.112248 0.0358735 0.059348 0.60676 0.792667 \n-0.0249298 0.115928 0.0340947 -0.25477 0.654781 0.711586 \n-0.0208817 0.114095 0.037873 -0.279576 0.57938 0.765608 \n-0.00755197 0.111838 0.0420397 -0.0737092 0.399077 0.91395 \n0.00376672 0.112405 0.0414947 0.182083 0.339468 0.922826 \n-0.0628296 0.151895 -0.00923734 0.960215 0.235451 0.150163 \n-0.059196 0.113208 0.0362347 0.278261 -0.0637671 0.958387 \n-0.0510791 0.0938928 -0.0217617 -0.0524515 -0.0134324 -0.998533 \n-0.0739454 0.0843749 -0.0151545 -0.565289 -0.14147 -0.812671 \n-0.0721462 0.134864 -0.00775922 -0.23383 0.139836 -0.962169 \n-0.0194089 0.170411 -0.0209948 -0.343978 -0.432094 -0.833651 \n-0.0555305 0.149055 -0.00196021 -0.282885 -0.119342 -0.9517 \n0.0166885 0.0369766 0.0430006 0.445573 -0.49986 0.742701 \n-0.0522773 0.117751 0.0337695 0.621469 -0.215949 0.753089 \n-0.0692014 0.0930392 -0.0164861 -0.348194 0.144816 -0.926169 \n0.0265792 0.117024 0.0308679 0.536531 0.603466 0.589884 \n-0.0235743 0.0370369 0.0541448 0.169781 -0.215572 0.961615 \n-0.00737751 0.0389884 0.0489294 0.288693 -0.00981878 0.957371 \n0.0132347 0.0384531 0.0445015 0.222384 -0.0658922 0.97273 \n0.0194873 0.0408093 0.0426411 0.426293 -0.131547 0.894969 \n-0.0639539 0.146947 0.0384842 0.62882 0.183702 0.755539 \n-0.0495795 0.0360965 0.0459554 0.196565 -0.443671 0.874367 \n-0.0433237 0.0362864 0.0440424 0.300146 -0.0819307 0.950368 \n-0.0290472 0.125563 0.00776177 -0.0630221 0.997058 -0.043623 \n-0.00173431 0.0394768 0.0472629 0.260457 0.0311324 0.964983 \n-0.0313581 0.153622 -0.00467389 0.397954 -0.912097 -0.0985505 \n0.0025822 0.107476 -0.020606 0.167877 0.298722 -0.939458 \n-0.0568023 0.145147 0.0317403 0.789949 0.00358728 0.613162 \n-0.0564643 0.0376831 0.0468196 -0.153576 -0.030532 0.987665 \n-0.0509648 0.0383123 0.0462861 0.209652 0.109989 0.97157 \n-0.0509804 0.134866 0.027585 0.774587 0.489975 0.399925 \n-0.0256474 0.0388607 0.0541614 -0.142539 0.0411047 0.988935 \n-0.0225421 0.0406158 0.053986 0.186709 0.0957849 0.977735 \n-0.017618 0.0389112 0.0524034 0.312187 -0.0206748 0.949796 \n-0.0197117 0.168291 -0.013021 0.389366 0.513273 0.764817 \n0.0237801 0.0952229 0.0463473 0.442645 0.254222 0.859905 \n0.0147443 0.042717 0.0445103 0.187948 0.0325845 0.981638 \n0.0216914 0.0401615 0.0408464 0.685402 -0.399875 0.608542 \n-0.0640672 0.0901722 -0.0188555 -0.281228 0.0713649 -0.956984 \n0.0203192 0.10042 0.0457605 0.339891 0.413192 0.844836 \n-0.036425 0.0936307 -0.0235346 -0.119698 0.138375 -0.98312 \n-0.0149812 0.0425714 0.0514045 0.311542 0.141732 0.939603 \n-0.0573353 0.123401 0.0402315 0.576487 -0.0315924 0.816496 \n-0.0541726 0.123379 0.0375764 0.715586 0.0787548 0.694071 \n0.0226252 0.0436217 0.0409046 0.634473 -0.0896472 0.767728 \n0.0288105 0.0433523 0.0321577 0.672972 -0.570223 0.471121 \n-0.0427642 0.157275 0.00520162 0.213263 0.642029 0.736423 \n0.00922319 0.0441251 0.0450574 0.186204 -0.4051 0.89511 \n0.0150482 0.0457558 0.0437939 0.354254 -0.0564502 0.933444 \n-0.0637573 0.102511 -0.0174844 -0.372394 0.223942 -0.900651 \n-0.0340704 0.16149 -0.013787 -0.170628 -0.408228 -0.896792 \n-0.0821915 0.0756102 0.0165426 -0.811603 -0.565924 0.145017 \n-0.0662994 0.123371 0.0506159 0.713853 0.239708 0.657993 \n-0.0155101 0.0452831 0.050653 0.27304 0.504306 0.819222 \n0.018928 0.0442496 0.0430098 0.406766 0.0930533 0.908781 \n0.0258218 0.0463266 0.0382772 0.545332 -0.123022 0.829143 \n0.0272687 0.0445478 0.0361525 0.724719 -0.403862 0.558281 \n-0.0453013 0.156951 0.00720369 0.576362 0.153802 0.80259 \n0.0238558 0.106166 0.0393781 0.402385 0.440798 0.802361 \n0.0216327 0.0481273 0.0406944 0.472121 -0.108432 0.87484 \n0.0437854 0.0488037 0.0313434 0.384994 -0.511867 0.767966 \n0.0480748 0.04897 0.0281655 0.547691 -0.569215 0.613212 \n0.0526631 0.0476736 0.0212013 0.638949 -0.688478 0.343136 \n-0.0527225 0.0447229 0.0441432 0.0921509 0.663597 0.742393 \n-0.0300716 0.172583 -0.00635977 0.76348 -0.264184 0.589326 \n-0.034508 0.154475 0.00165046 0.515175 -0.44576 0.732046 \n0.0106297 0.0467118 0.046472 0.447166 -0.542102 0.711455 \n0.0167434 0.048439 0.0436786 0.463521 -0.493329 0.736054 \n0.0288271 0.0921334 0.0439201 0.530906 0.192875 0.825189 \n-0.0599371 0.127262 0.0407713 0.50766 0.357486 0.783891 \n-0.0367521 0.158021 0.0041862 0.2914 0.299468 0.908518 \n-0.0378854 0.161997 0.00024686 0.607631 0.197761 0.769205 \n-0.0220478 0.183486 -0.012095 0.660042 0.250366 0.708281 \n-0.0243646 0.180968 -0.0098312 0.740968 -0.116298 0.661394 \n-0.0448823 0.15053 0.00764517 0.607683 -0.293737 0.737862 \n0.0269968 0.0513178 0.038752 0.483737 -0.35948 0.797981 \n0.0477358 0.052751 0.0307973 0.51262 -0.337143 0.789655 \n0.0517038 0.0488574 0.024148 0.606079 -0.613933 0.505722 \n-0.0675044 0.114241 0.0480361 0.602743 -0.676759 0.422728 \n-0.0162575 0.160313 -0.0096926 0.675553 -0.671239 0.305067 \n-0.0639263 0.167924 -0.0407304 0.840168 0.510834 0.182117 \n-0.0416653 0.149961 0.0045405 0.588744 -0.550855 0.591556 \n-0.0352032 0.164936 -0.002681 0.674812 0.077335 0.733926 \n0.0413188 0.0994967 0.0242757 0.911583 0.325608 0.250992 \n0.0140552 0.0525239 0.0485939 0.455273 -0.474975 0.753077 \n0.0194212 0.0513213 0.0447989 0.447004 -0.593866 0.668962 \n0.023678 0.0514744 0.0410533 0.52942 -0.512288 0.676221 \n0.0342581 0.0519308 0.0327579 0.66324 -0.417077 0.621417 \n0.0559573 0.0531474 0.0231977 0.761767 -0.414012 0.498302 \n-0.039938 0.149228 0.00160172 0.525972 -0.79907 0.291274 \n-0.0469888 0.126008 0.0269855 0.847611 0.256287 0.46462 \n-0.0277084 0.0900813 -0.0319115 -0.689231 0.577039 -0.438163 \n0.0192046 0.0551665 0.0477221 0.446175 -0.34082 0.827508 \n0.021886 0.0539276 0.0451025 0.600906 -0.431259 0.672999 \n0.0312863 0.0528638 0.0369136 0.626776 -0.385123 0.677372 \n0.0466612 0.0547192 0.0319768 0.361397 -0.075666 0.929337 \n0.0518237 0.0532767 0.027927 0.639325 -0.39091 0.662158 \n-0.0292649 0.161404 -0.00210395 0.182767 0.792186 0.58227 \n-0.0687008 0.144635 0.0430416 0.362291 0.510584 0.779775 \n-0.0560701 0.150007 0.0298676 0.851582 0.12169 0.509902 \n0.0447178 0.0948027 0.0120247 0.976337 0.210647 0.0489341 \n-0.0418041 0.155821 0.00645482 0.416216 0.162072 0.894705 \n-0.0683693 0.122893 0.0524379 0.463083 0.221534 0.858182 \n-0.0641148 0.0955099 -0.0181146 -0.31688 0.155042 -0.935708 \n-0.0183831 0.185437 -0.0171364 0.805794 0.120468 0.579813 \n0.0117454 0.0566783 0.0519141 0.460991 -0.219441 0.859845 \n-0.0593754 0.119982 0.0405482 0.598805 -0.319769 0.734289 \n0.0590921 0.057957 0.0202701 0.91789 -0.188508 0.349203 \n0.0435477 0.0973894 0.0173147 0.939324 0.312111 0.142328 \n-0.0262918 0.159634 -0.00051845 0.410893 0.455136 0.789948 \n0.0149048 0.0563504 0.0495228 0.432578 -0.212734 0.87614 \n0.0242862 0.0549586 0.0430868 0.569081 -0.429099 0.701442 \n0.0289526 0.0561252 0.040389 0.53836 -0.360293 0.761812 \n-0.0495078 0.129495 0.0302593 0.788928 0.315591 0.527253 \n0.0408248 0.0951702 0.0286579 0.877383 0.239253 0.415881 \n0.0177748 0.0582438 0.0488647 0.344656 -0.0889192 0.934508 \n0.0335738 0.0585153 0.038311 0.64768 -0.358938 0.672067 \n0.036385 0.0569965 0.0336015 0.730327 -0.336901 0.594239 \n-0.064205 0.122439 0.0480083 0.845688 0.0423182 0.531998 \n-0.0654245 0.140113 0.041309 0.837676 0.0760638 0.540845 \n0.0508013 0.0573081 0.0300014 0.479437 -0.083267 0.873617 \n0.0566717 0.0569708 0.0242919 0.784932 -0.266358 0.559405 \n-0.0493499 0.149135 0.0112741 0.812046 -0.0599008 0.580511 \n-0.0697606 0.134429 0.0482652 0.6358 0.283136 0.718048 \n0.0195371 0.0600038 0.0485761 0.443703 -0.1051 0.88999 \n0.0270139 0.0599528 0.0434544 0.578775 -0.14411 0.802653 \n0.0576794 0.061393 0.0242018 0.838514 -0.108716 0.533924 \n-0.0569165 0.126235 0.0394266 0.59888 0.26825 0.754576 \n0.0234693 0.116563 0.0335373 0.422219 0.520778 0.741971 \n-0.0582986 0.138855 0.0329375 0.568447 0.231107 0.789593 \n0.00645984 0.0602974 0.05478 0.323013 -0.321559 0.890091 \n0.010406 0.0591624 0.0524844 0.398841 -0.222307 0.889666 \n0.0231839 0.0586544 0.0458711 0.584037 -0.242788 0.774567 \n0.0330404 0.0617738 0.0397814 0.557361 -0.165426 0.813624 \n-0.0643482 0.126281 0.0466502 0.773069 0.343821 0.533059 \n-0.0570314 0.11562 0.0364949 0.459107 -0.416456 0.78472 \n0.0544516 0.0583429 0.027653 0.696684 -0.174575 0.695813 \n-0.0301344 0.170113 -0.00735916 0.702634 -0.0870536 0.706207 \n-0.0370771 0.159864 0.00160965 0.169084 0.733823 0.657962 \n-0.0560328 0.137311 0.0319706 0.579728 0.410536 0.703829 \n-0.0676765 0.141503 0.0438681 0.670133 0.259301 0.695475 \n0.00999117 0.0627353 0.0540092 0.442549 -0.22006 0.869324 \n0.0145215 0.0613829 0.0505009 0.478439 -0.163618 0.862743 \n0.0300517 0.0621696 0.0415458 0.548919 -0.135304 0.824852 \n0.0375192 0.0610627 0.034366 0.805306 -0.240639 0.541826 \n0.053944 0.0613916 0.0282685 0.56267 0.0716497 0.823571 \n0.0591199 0.0631288 0.0215618 0.930919 -0.0104763 0.365076 \n-0.0243664 0.176933 -0.0117196 0.746401 -0.199981 0.634738 \n-0.0132534 0.166272 -0.0141204 0.424914 0.582766 0.692698 \n0.0392187 0.106693 0.0204502 0.879882 0.441724 0.175181 \n-0.017969 0.18078 -0.0181034 0.727502 0.0373504 0.685088 \n0.0219024 0.060876 0.0472824 0.551184 -0.00468012 0.834371 \n0.0353418 0.06163 0.037606 0.730692 -0.188777 0.656089 \n-0.0621456 0.135998 0.036701 0.5569 0.408162 0.723371 \n0.0568206 0.0636911 0.0252861 0.763068 0.113403 0.636291 \n-0.0328 0.159487 0.00219628 0.166753 0.747044 0.643521 \n0.0112121 0.0665841 0.0539822 0.379169 -0.119251 0.917611 \n0.0129196 0.0642036 0.0524411 0.512918 -0.24623 0.822366 \n0.0201269 0.0638513 0.0479197 0.534506 -0.118343 0.836838 \n0.0359718 0.0666696 0.0377814 0.718787 -0.0133422 0.695102 \n0.0399069 0.0643613 0.0316867 0.864454 -0.109377 0.49067 \n-0.0667024 0.132106 0.0454809 0.784673 0.271179 0.557449 \n-0.0416014 0.15978 0.00353747 0.625964 0.106075 0.772604 \n0.0330446 0.107663 0.0319161 0.708147 0.402512 0.580097 \n0.0246721 0.0636945 0.0452046 0.549735 0.00130354 0.835338 \n0.0261087 0.0680076 0.0439027 0.543937 0.0316218 0.83853 \n0.0333639 0.0670548 0.0397295 0.574202 -0.0376693 0.817847 \n0.0429158 0.0667077 0.0269947 0.572331 0.240484 0.783967 \n0.054715 0.0646972 0.0269797 0.537175 0.337982 0.772794 \n-0.0165309 0.16325 -0.00924752 0.451928 0.556431 0.697242 \n-0.0178916 0.161138 -0.00670727 0.597429 0.295714 0.745407 \n0.0411181 0.0974913 -0.00397567 0.861756 0.306679 -0.404135 \n0.0233868 0.070076 0.0470126 0.692772 -0.254054 0.674925 \n0.0381029 0.0656784 0.0351325 0.815362 -0.111725 0.568069 \n0.0101452 0.122217 0.0347189 0.196489 0.584544 0.787211 \n0.0583924 0.0667412 0.0219795 0.846899 0.295652 0.441986 \n0.038302 0.0845491 -0.0144788 0.820867 -0.0402301 -0.569701 \n0.0341264 0.097054 0.0375904 0.678803 0.371369 0.633491 \n-0.0313557 0.158099 0.00191288 0.4445 -0.330979 0.83239 \n-0.0582595 0.140995 0.0324406 0.70969 -0.0325096 0.703763 \n-0.0668172 0.119515 0.0514902 0.677162 -0.116697 0.726522 \n-0.06809 0.116471 0.0511512 0.466103 -0.552702 0.690846 \n0.0165683 0.0662699 0.0510099 0.490011 -0.203434 0.847646 \n0.0293629 0.0665098 0.0422894 0.527511 0.0116118 0.849469 \n0.0370272 0.0939496 -0.011674 0.676575 0.359039 -0.642913 \n0.0564127 0.0676599 0.0239693 0.654631 0.403155 0.639472 \n-0.0612957 0.1452 0.0371378 0.633705 -0.00499809 0.773558 \n0.0083873 0.113362 0.0397926 0.284471 0.284069 0.915631 \n0.011807 0.070921 0.0542405 0.41864 -0.0995561 0.902679 \n0.0297417 0.0706471 0.0416539 0.512573 -0.0976335 0.853075 \n0.0362944 0.0712207 0.0371146 0.749334 -0.031644 0.661436 \n0.0398997 0.0702948 0.03272 0.840201 -0.0337903 0.541222 \n-0.0627631 0.13778 0.0366786 0.775942 0.0364328 0.629751 \n-0.0158154 0.175049 -0.0186542 0.534304 0.309389 0.786637 \n-0.092269 0.114752 0.0170174 -0.808444 -0.58409 0.0725036 \n-0.00094964 0.101411 0.0442901 -0.0448545 0.541047 0.839795 \n-0.0637129 0.112742 0.0380068 0.529069 -0.580771 0.618701 \n-0.061096 0.117017 0.039654 0.582565 -0.517514 0.626735 \n0.0209919 0.0693355 0.0490035 0.539824 -0.221136 0.812212 \n0.0256585 0.0705505 0.0445399 0.622674 -0.179491 0.761617 \n0.0329786 0.0735007 0.0404865 0.619398 -0.110821 0.777216 \n0.0421561 0.0697176 0.0283182 0.877924 -0.0205484 0.47836 \n-0.0555169 0.129561 0.0365985 0.615036 0.362235 0.700369 \n-0.0408023 0.164361 0.00374488 0.636148 -0.0512566 0.769863 \n-0.00625465 0.101217 0.044322 -0.0289875 0.817497 0.575202 \n-0.0109868 0.166212 -0.0160476 0.750517 0.321616 0.57731 \n-0.0303514 0.164482 -0.00532914 0.33203 0.592426 0.734021 \n0.0261109 0.10089 0.0417333 0.479447 0.475915 0.737316 \n-0.0655999 0.113295 0.0423187 0.574974 -0.755216 0.314727 \n0.0288147 0.0967127 0.0422577 0.501007 0.347882 0.792446 \n0.0152633 0.0715719 0.0527174 0.409214 -0.145797 0.900715 \n0.0289824 0.0740885 0.0434472 0.558896 -0.274274 0.782566 \n0.0448725 0.0755167 0.0231552 0.933435 -0.00507924 0.358712 \n-0.0782252 0.149625 -0.00250194 -0.884939 0.16473 -0.4356 \n-0.0460949 0.152968 0.00900297 0.532239 0.104352 0.840138 \n-0.052369 0.146829 0.0189347 0.973572 0.0586266 0.220727 \n-0.0215921 0.157634 -0.00686236 0.438355 -0.8971 0.0552899 \n0.0171768 0.0730662 0.0518266 0.445448 -0.204525 0.871634 \n0.0226875 0.0751492 0.0493125 0.597779 -0.171469 0.783108 \n0.035472 0.0730767 0.0384823 0.710612 -0.0567398 0.701292 \n-0.0894808 0.1384 0.0250615 -0.974453 -0.169728 0.147086 \n-0.0532167 0.13222 0.0329784 0.683438 0.403242 0.60853 \n-0.0377768 0.155519 0.00437008 0.53748 -0.255345 0.803688 \n-0.0905494 0.135119 0.0216806 -0.950721 0.298877 0.0824804 \n-0.0633666 0.130371 0.0416699 0.717257 0.379249 0.584562 \n0.0140743 0.0766517 0.0542214 0.332798 -0.0981628 0.937875 \n0.0181098 0.0758066 0.0524883 0.477228 -0.160641 0.863972 \n0.0422099 0.0788615 0.0291872 0.873779 -0.0146715 0.486102 \n-0.0521159 0.141799 0.0205103 0.924651 0.266374 0.272149 \n0.0290631 0.111496 0.0338058 0.57769 0.492406 0.651007 \n-0.0547315 0.142672 0.0289805 0.82423 0.14266 0.547991 \n0.0259036 0.075536 0.0464167 0.64572 -0.253587 0.720236 \n0.0312988 0.0759074 0.0426991 0.562281 -0.208313 0.800278 \n0.0384462 0.0756494 0.0350506 0.820467 -0.0235016 0.571211 \n0.0463517 0.0740795 0.0183543 0.96039 0.163351 0.225759 \n-0.0476566 0.130775 0.0255236 0.856377 0.349184 0.380381 \n-0.0114474 0.171311 -0.019603 0.59336 0.449075 0.668023 \n-0.0366472 0.166401 -0.00028167 0.765744 -0.21415 0.606446 \n-0.0466535 0.159178 0.0078019 0.389839 0.303255 0.869519 \n-0.0455699 0.146636 0.00565142 0.6535 -0.633517 0.41424 \n0.0414389 0.0923651 -0.0074587 0.82652 0.297982 -0.477568 \n-0.0642874 0.134636 0.0399456 0.809547 0.243785 0.534044 \n-0.0611289 0.131783 0.0389159 0.492633 0.487812 0.720661 \n-0.0478435 0.122151 0.0288332 0.79742 0.122567 0.590846 \n-0.0495368 0.124913 0.0317784 0.836216 0.0953616 0.540045 \n-0.0711354 0.138177 0.047854 0.466342 0.356088 0.809769 \n0.0101139 0.0764681 0.0552568 0.291438 0.0353477 0.955936 \n0.0178974 0.0795166 0.0527595 0.40757 0.13029 0.903831 \n0.0217409 0.0802507 0.0504254 0.506995 0.0775731 0.858451 \n0.0252716 0.0787249 0.0480266 0.624129 -0.0197097 0.781072 \n0.030885 0.0789995 0.0433888 0.655508 -0.0679191 0.752128 \n-0.0624419 0.140848 0.0369658 0.728534 -0.111474 0.675879 \n-0.0621651 0.156668 -0.0178378 0.953178 0.248252 0.17269 \n0.0206573 0.104168 0.0430047 0.385356 0.58635 0.712527 \n-0.0636028 0.115715 0.0425723 0.765078 -0.515634 0.385715 \n0.014424 0.0800855 0.0537556 0.271098 0.208498 0.939699 \n0.0287793 0.0825533 0.0445274 0.639058 0.0858388 0.764354 \n0.0444501 0.0818469 0.0245529 0.943302 0.0387894 0.329663 \n0.045542 0.0833384 0.0197008 0.984997 0.0784805 0.153694 \n-0.0496658 0.120638 0.0321633 0.762945 -0.0525681 0.644323 \n-0.0291773 0.1762 -0.00562411 0.720294 -0.14191 0.678997 \n-0.0582031 0.13271 0.0369187 0.488369 0.459798 0.741675 \n0.0389971 0.0970882 -0.00777993 0.776728 0.273209 -0.567495 \n-0.0547258 0.120713 0.0374514 0.645132 -0.242582 0.72454 \n0.0131891 0.0842112 0.0530658 0.408375 0.11319 0.905769 \n-0.0199263 0.164897 -0.00999002 0.267909 0.698735 0.66332 \n0.0201531 0.118497 0.0342713 0.347022 0.516826 0.782602 \n-0.0558599 0.117743 0.0372535 0.567525 -0.392861 0.723585 \n0.0180453 0.0836232 0.0512858 0.383168 0.267611 0.884063 \n-0.0637571 0.159122 -0.0501557 0.93498 -0.342852 -0.0909098 \n-0.0185276 0.176532 -0.0170435 0.574658 0.138429 0.806601 \n0.0287344 0.103601 0.0380352 0.496334 0.45327 0.740404 \n0.041414 0.102842 0.0165789 0.911728 0.393683 0.117325 \n0.0244117 0.0980169 0.0446874 0.522462 0.41458 0.745089 \n0.0209252 0.0863114 0.0494331 0.338734 0.23945 0.909903 \n0.030445 0.0849596 0.0430111 0.532702 0.0533795 0.844618 \n0.0330301 0.0837816 0.0416369 0.625294 -0.0316843 0.779746 \n0.0369751 0.0798765 0.0371984 0.740154 -0.0342709 0.671564 \n-0.0777215 0.113559 0.048156 -0.367977 -0.626827 0.686791 \n0.02925 0.106519 0.0365903 0.551316 0.395596 0.734544 \n-0.0530782 0.137547 0.0282665 0.841751 0.335877 0.42266 \n-0.0629906 0.119995 0.0452355 0.830808 -0.242114 0.501138 \n-0.0653983 0.11752 0.0487356 0.796659 -0.39915 0.453888 \n0.0333739 0.112279 0.0277881 0.725098 0.475968 0.497681 \n0.0384136 0.0874899 0.0351859 0.838096 0.0485167 0.543361 \n-0.0619459 0.164792 -0.0566477 0.966168 -0.256851 0.0233771 \n-0.0228765 0.173928 -0.0134311 0.637095 0.0454799 0.769442 \n0.0437662 0.08839 -0.00357088 0.948138 0.0804215 -0.307517 \n0.0392915 0.10126 0.0275505 0.828492 0.32872 0.453369 \n0.0109362 0.0860273 0.0547327 0.458994 -0.0414154 0.887474 \n0.0241087 0.0844926 0.0482923 0.541519 0.126625 0.831097 \n0.0367584 0.0991955 0.0328377 0.756608 0.351193 0.551551 \n-0.0519416 0.12566 0.0345879 0.72853 0.204989 0.653623 \n-0.0315821 0.166418 -0.005732 0.534717 0.268245 0.801325 \n0.00764059 0.0864272 0.0561179 0.298953 0.174448 0.938187 \n0.016771 0.0886447 0.050523 0.54034 0.179639 0.822048 \n0.0344046 0.0869329 0.0405743 0.774399 -0.0194143 0.6324 \n0.0361438 0.0844392 0.0379369 0.773569 -0.0212144 0.633358 \n0.0412588 0.103611 0.00267606 0.869 0.449878 -0.206031 \n0.0247661 0.110811 0.0367284 0.366002 0.467042 0.804931 \n-0.0226016 0.162504 -0.0060717 0.240638 0.772353 0.587848 \n-0.0128937 0.17879 -0.0226247 0.693162 0.28949 0.660093 \n-0.0249391 0.170311 -0.0113297 0.492059 0.319126 0.80996 \n-0.0484686 0.145596 0.00836615 0.824096 -0.366836 0.431621 \n0.0125345 0.0895939 0.0533946 0.495106 0.187223 0.848421 \n0.0258729 0.0884823 0.0466553 0.545727 0.124609 0.828646 \n0.0327565 0.0889691 0.0422155 0.584746 0.106701 0.804169 \n-0.0233436 0.161034 -0.00318624 0.37277 0.618135 0.692064 \n-0.092595 0.119438 0.0268029 -0.933392 -0.315348 0.171277 \n-0.0743148 0.137617 -0.00666988 -0.368464 0.0661577 -0.927285 \n-0.0924992 0.121315 0.0292562 -0.985241 -0.0831279 0.14963 \n-0.0773783 0.157643 -0.0141336 -0.977139 0.147033 0.15356 \n-0.0929073 0.12307 0.0365232 -0.985627 0.168928 -0.00189532 \n0.0284233 0.0880111 0.0442342 0.643717 0.0452179 0.763927 \n0.0352517 0.0908368 0.0391839 0.772221 0.212389 0.598804 \n0.0157606 0.0932036 0.0499393 0.527533 0.337233 0.779733 \n0.0387855 0.0949543 0.0325202 0.821759 0.229956 0.521376 \n-0.0615112 0.123736 0.0430627 0.749481 0.148532 0.645148 \n-0.0681451 0.127487 0.050149 0.5835 0.355499 0.73017 \n-0.0206167 0.182376 -0.0142991 0.784664 -0.179664 0.593315 \n0.0151372 0.115715 0.037032 0.213173 0.460154 0.861868 \n-0.0507183 0.152763 0.0118167 0.575668 0.309028 0.757039 \n0.0301687 0.100487 0.0394047 0.574569 0.424934 0.699501 \n-0.0874265 0.0954695 0.00403124 -0.940734 -0.0441514 -0.33626 \n-0.0600104 0.142845 0.0354497 0.755821 -0.16273 0.634234 \n-0.0586033 0.146372 0.0338088 0.796207 -0.0128176 0.604889 \n0.0324116 0.0937361 0.0408902 0.611096 0.306155 0.729953 \n-0.0759178 0.149977 -0.0168421 -0.942018 -0.320731 -0.0986604 \n0.0185966 0.0352939 -0.00867822 0.613819 -0.768763 -0.179527 \n0.0172098 0.0352594 -0.0146852 0.607699 -0.762059 -0.223533 \n0.0443265 0.0908181 0.0220975 0.956895 0.167915 0.236975 \n0.0383359 0.0388308 0.00309381 0.380939 -0.891811 -0.244044 \n0.0221929 0.0367753 -0.00209193 0.355553 -0.82661 -0.436233 \n0.019636 0.038234 -0.0125077 0.824109 -0.523133 -0.217201 \n0.0236821 0.0397625 0.0371488 0.720094 -0.608427 0.33359 \n0.0466933 0.0424653 0.00656495 0.541351 -0.826422 -0.154808 \n0.0216211 0.0376572 -0.00470216 0.704123 -0.609258 -0.364713 \n0.0166386 0.0381961 -0.0198849 0.561341 -0.511213 -0.650813 \n-0.090254 0.113663 0.0377202 -0.682491 -0.729409 0.0465748 \n-0.0905939 0.113731 0.0102768 -0.78328 -0.579887 -0.224064 \n-0.0625417 0.176795 -0.0578218 0.870039 0.402558 0.284568 \n-0.0110919 0.179921 -0.0259964 0.831216 0.351873 0.430425 \n-0.0622631 0.152199 -0.0225789 0.958111 -0.276929 -0.0730292 \n-0.0422768 0.0949826 -0.0225624 -0.110296 0.157211 -0.981387 \n0.0432934 0.0418641 0.00206344 0.471385 -0.792684 -0.386587 \n0.0437796 0.0445307 -0.00126225 0.426213 -0.686176 -0.589496 \n0.021697 0.0404273 -0.00946295 0.762416 -0.581882 -0.283081 \n-0.0111837 0.1645 -0.0161517 0.891257 -0.311747 0.329356 \n-0.0623726 0.15313 -0.0289971 0.948962 -0.301151 -0.0936982 \n-0.00924893 0.177259 -0.0282702 0.959513 0.272602 0.0708736 \n0.0414774 0.0855094 -0.0091575 0.904459 -0.0559742 -0.422872 \n-0.0812687 0.108794 0.0294407 -0.775636 -0.47454 0.416174 \n0.0495757 0.0438159 0.014583 0.559248 -0.828609 0.0254524 \n0.052988 0.0477477 0.005042 0.670249 -0.707396 -0.224404 \n0.0219775 0.0428553 -0.0145362 0.811661 -0.520103 -0.265893 \n0.0185057 0.0382941 -0.0171365 0.767155 -0.547312 -0.334549 \n-0.0351005 0.152034 -0.00013279 0.563337 -0.705099 0.430681 \n0.0487491 0.045265 0.00230235 0.541282 -0.730303 -0.416738 \n0.0319129 0.0998701 -0.014621 0.602027 0.209792 -0.770423 \n-0.0142225 0.161674 -0.0133491 0.410734 -0.881391 -0.233339 \n-0.0486636 0.136385 0.00680639 0.939885 0.290658 -0.179261 \n-0.00958372 0.174261 -0.0283908 0.326637 -0.411307 -0.850961 \n0.0528019 0.0465399 0.0104277 0.653943 -0.753431 -0.0685575 \n0.0514338 0.0484852 0.0010401 0.609572 -0.586715 -0.533093 \n0.0239112 0.0980217 -0.0208073 0.449676 0.318988 -0.834289 \n0.0245671 0.0441301 -0.0108208 0.646563 -0.706246 -0.288399 \n0.0203568 0.0436624 -0.0204563 0.760869 -0.389096 -0.51931 \n-0.0218824 0.110874 -0.0196953 -0.0962598 0.581679 -0.807703 \n-0.0538318 0.149817 0.0250666 0.943756 0.172246 0.282235 \n0.0541142 0.0477731 0.017484 0.661334 -0.741616 0.11244 \n0.0567306 0.0505157 0.0106271 0.811636 -0.577656 -0.0869476 \n0.0459418 0.0481388 -0.00387157 0.473765 -0.578153 -0.664293 \n-0.0838178 0.111091 0.0285245 -0.594575 -0.782766 0.183733 \n0.0292078 0.0474502 -0.00850818 0.693074 -0.615302 -0.375569 \n0.0284549 0.0480674 -0.0128472 0.683271 -0.691156 -0.235463 \n0.0266373 0.0476071 -0.0164277 0.651806 -0.652858 -0.385909 \n0.0220401 0.0449925 -0.0175285 0.640929 -0.621587 -0.450377 \n0.0191201 0.0471677 -0.0221147 0.502473 -0.434364 -0.747562 \n-0.0157822 0.10073 -0.0237241 -0.0334261 0.2983 -0.953887 \n-0.0625142 0.172131 -0.0527881 0.92095 0.295528 0.253998 \n-0.0623456 0.147455 -0.00766002 0.997143 -0.0594818 -0.0465647 \n0.0455982 0.0881517 0.0131241 0.992131 0.107382 0.0643859 \n-0.0494226 0.142835 0.00897283 0.986618 0.134638 0.0919609 \n-0.0827619 0.111623 0.0442215 -0.254943 -0.835265 0.487171 \n-0.0521662 0.150137 0.0174487 0.923161 0.236148 0.303328 \n-0.0636167 0.148014 -0.0201703 0.835723 -0.524679 -0.16211 \n-0.0514927 0.137964 0.0236622 0.831866 0.454875 0.317943 \n-0.0615176 0.175174 -0.0606317 0.96291 0.248544 -0.105029 \n0.0565249 0.0501257 0.0155645 0.761908 -0.646802 0.0338063 \n0.0552579 0.0514163 0.00320626 0.78277 -0.448581 -0.431331 \n0.0503181 0.0527864 -0.00341663 0.5715 -0.362928 -0.735983 \n-0.062682 0.167441 -0.0457139 0.916464 0.344873 0.202871 \n0.0565201 0.0511799 0.0199406 0.784707 -0.543389 0.298269 \n0.056908 0.0515781 0.00725383 0.853787 -0.462545 -0.238957 \n0.0528542 0.0518987 -0.0006207 0.685169 -0.416886 -0.597286 \n-0.0389211 0.0337674 -0.0290426 -0.177225 -0.899467 -0.399437 \n0.0297407 0.0503247 -0.0139909 0.811857 -0.503675 -0.295298 \n-0.0687962 0.0351177 -0.00520674 -0.810337 -0.0127526 -0.585825 \n0.058826 0.0555038 0.0186479 0.929376 -0.309909 0.200538 \n-0.0261606 0.1231 -0.00447355 -0.0215789 0.932641 -0.360159 \n-0.053342 0.144012 0.0242614 0.957857 0.122298 0.25991 \n0.0581774 0.0528213 0.0151824 0.903522 -0.42798 0.0219276 \n0.0597981 0.0568402 0.0133427 0.962697 -0.269605 0.0229542 \n0.0545499 0.0560446 -0.00066158 0.759065 -0.251464 -0.600488 \n0.0267755 0.0514234 -0.0202341 0.680232 -0.347424 -0.645431 \n-0.00869604 0.172916 -0.0267088 0.979294 -0.109416 -0.170325 \n-0.0770396 0.071967 0.0264051 -0.72592 -0.604009 0.328958 \n-0.0630699 0.158975 -0.0429518 0.958727 -0.261239 -0.112234 \n0.0357067 0.056083 -0.00899933 0.722577 -0.39162 -0.569664 \n0.0326004 0.0537075 -0.0110062 0.771169 -0.451595 -0.448732 \n0.02974 0.0525384 -0.016225 0.825157 -0.320707 -0.465041 \n0.0592385 0.0563628 0.00945308 0.926962 -0.336195 -0.166475 \n0.0574218 0.0560122 0.00402456 0.871365 -0.294257 -0.392601 \n0.029063 0.0552106 -0.0180421 0.768227 -0.109341 -0.63077 \n-0.0172244 0.0952141 -0.0320853 -0.16152 0.876889 -0.452745 \n-0.0859114 0.109688 0.00765824 -0.904339 -0.336744 -0.262249 \n0.0605949 0.0616772 0.0155916 0.98323 -0.110884 0.144787 \n0.0595316 0.0605046 0.0058397 0.921848 -0.16753 -0.349472 \n0.0573065 0.0599446 0.00188864 0.811332 -0.0903173 -0.577567 \n0.0388294 0.0598398 -0.00642525 0.840183 -0.301276 -0.450917 \n0.0306628 0.0573004 -0.0165184 0.755296 -0.292841 -0.586321 \n-0.0277621 0.120685 -0.00901529 -0.0177876 0.833372 -0.552426 \n-0.0881946 0.103146 0.017509 -0.935018 0.307083 0.177318 \n0.0607788 0.0616466 0.010464 0.991269 -0.0609348 -0.116926 \n0.0359151 0.0599164 -0.0119665 0.757194 -0.360027 -0.545011 \n0.0242519 0.0564575 -0.0242548 0.699851 -0.242355 -0.671917 \n-0.0619544 0.168653 -0.0526212 0.994831 0.0254804 0.0982974 \n-0.0905579 0.11276 0.016141 -0.68098 -0.73229 -0.0042041 \n-0.0884692 0.111243 0.0126792 -0.679201 -0.731292 -0.0624401 \n0.059558 0.0630993 0.0059471 0.932034 0.114671 -0.343748 \n0.0309404 0.0605181 -0.0181327 0.696886 -0.236954 -0.676907 \n-0.0935758 0.124746 0.0262133 -0.962764 0.0431812 0.266871 \n-0.0931898 0.120199 0.0379137 -0.991083 -0.132693 0.0121648 \n-0.00922961 0.173145 -0.0241977 0.863002 0.304341 0.403242 \n-0.0817395 0.0768613 0.0233136 -0.790445 -0.568244 0.228681 \n-0.0369928 0.150639 -0.00203723 0.47853 -0.878038 -0.00767816 \n0.0600936 0.0656935 0.0185333 0.962527 0.103011 0.250861 \n0.0598372 0.0664232 0.00851394 0.952935 0.173542 -0.248591 \n0.0407062 0.0644753 -0.00559203 0.887297 -0.226975 -0.401481 \n0.0347459 0.0632613 -0.0146467 0.748276 -0.214597 -0.627718 \n-0.0618797 0.160004 -0.0258063 0.95231 0.285799 0.106887 \n-0.0765378 0.153449 -0.0128987 -0.92951 -0.359603 -0.081829 \n0.0381111 0.0648118 -0.011142 0.818985 -0.237724 -0.522256 \n0.0319093 0.064657 -0.0184734 0.653711 -0.120716 -0.747054 \n-0.0831593 0.146743 0.00307579 -0.816078 0.133528 -0.562306 \n-0.0870559 0.105628 0.00976511 -0.955539 0.256714 -0.145061 \n-0.0714483 0.181053 -0.0554786 -0.397265 0.859573 -0.321427 \n-0.0856321 0.124611 -0.00273358 -0.687314 -0.027315 -0.725846 \n0.060729 0.0658066 0.0139748 0.994326 0.100975 0.0334663 \n0.0399096 0.0681717 -0.00956982 0.837902 -0.130681 -0.529947 \n0.0349818 0.0677408 -0.0156832 0.73229 -0.0431245 -0.679626 \n-0.091822 0.127473 0.0364586 -0.966287 0.253253 0.0463866 \n-0.0624254 0.163666 -0.0496673 0.979621 -0.199982 -0.0187146 \n-0.071169 0.147402 -0.0275909 -0.275514 -0.945324 -0.174515 \n-0.0503648 0.137158 0.00195261 0.860826 0.229262 -0.454333 \n-0.0504927 0.141599 0.0162917 0.903784 0.354218 0.240215 \n0.0598867 0.0685131 0.0161716 0.906142 0.391075 0.161141 \n-0.061407 0.172688 -0.0582657 0.97615 0.141342 0.164782 \n0.0249907 0.0658973 -0.0235683 0.678524 -0.160906 -0.716738 \n-0.0748527 0.149931 -0.0277529 -0.897696 -0.410629 -0.159768 \n-0.0622257 0.0602652 0.0204493 -0.269443 -0.907752 0.321538 \n-0.0620019 0.036435 0.0439189 -0.631594 -0.313369 0.709147 \n0.0583746 0.0711864 0.0130727 0.737275 0.67188 -0.0707363 \n-0.036125 0.122867 -0.00829279 0.373293 0.68917 -0.621045 \n0.0292165 0.0678502 -0.0204186 0.651118 -0.114391 -0.750307 \n-0.0416817 0.125751 -0.00701933 0.137734 0.875823 -0.462561 \n-0.0742266 0.16437 -0.0382403 -0.756219 -0.520398 -0.396635 \n-0.00978457 0.169285 -0.0247567 0.124873 -0.691304 -0.711692 \n-0.089578 0.120783 0.00352291 -0.898323 -0.0500116 -0.436481 \n-0.0623119 0.163711 -0.040624 0.994806 0.0983483 0.0262337 \n0.0435148 0.0915199 -0.00264681 0.913902 0.244776 -0.323832 \n-0.0484344 0.13755 0.013245 0.936469 0.347833 0.0451402 \n-0.0893132 0.13653 0.0304588 -0.996611 0.0762792 -0.0307761 \n-0.0742302 0.156527 -0.0251671 -0.907299 -0.341841 -0.244853 \n0.0373786 0.0730934 -0.0126354 0.753105 0.0534629 -0.655725 \n0.0263218 0.0702406 -0.0238787 0.650491 -0.181476 -0.737515 \n-0.0480236 0.144266 0.00424986 0.698448 -0.71401 0.0485915 \n-0.0920196 0.116115 0.0358427 -0.917641 -0.394979 -0.0438831 \n-0.0713055 0.073899 0.0359698 -0.4915 -0.532708 0.688949 \n-0.0620593 0.156978 -0.0337846 0.959528 -0.2396 -0.147978 \n-0.00970153 0.167389 -0.0193602 0.948345 0.0518985 0.312967 \n0.0433421 0.0716761 -0.00223046 0.923194 -0.134681 -0.359964 \n0.0417725 0.069568 -0.0061596 0.914709 -0.128255 -0.383221 \n0.0335054 0.0728099 -0.0170348 0.743107 -0.0634254 -0.66616 \n0.029665 0.0715068 -0.0212823 0.692109 -0.139427 -0.708198 \n-0.0294602 0.155503 -0.00119147 0.503881 -0.729828 0.462012 \n-0.0863964 0.104794 0.00598206 -0.920385 0.231373 -0.315211 \n-0.0549107 0.146623 0.028439 0.908504 0.0834353 0.409461 \n0.0442038 0.0852043 -0.00211705 0.951362 -0.0392665 -0.305562 \n0.0432644 0.0758105 -0.00388439 0.912094 -0.0380369 -0.408214 \n0.013097 0.0911265 -0.0292698 0.451535 0.43885 -0.77687 \n-0.0670692 0.0911446 -0.017426 -0.364009 0.11227 -0.924604 \n-0.0908217 0.122769 0.00609985 -0.893789 0.0145625 -0.448251 \n0.04562 0.0746844 0.00260739 0.94144 0.0726092 -0.32927 \n-0.0930398 0.120264 0.0112168 -0.954336 -0.0476264 -0.294914 \n0.0446356 0.0927943 0.0178321 0.98244 0.154867 0.104053 \n-0.0112434 0.164575 -0.0182408 0.409802 -0.841893 -0.351111 \n0.0455112 0.0869531 0.00388655 0.984439 0.0511647 -0.168112 \n0.0462527 0.0773739 0.00691408 0.994059 0.048216 -0.0975777 \n0.0402816 0.0726371 -0.0092881 0.824527 0.00241881 -0.565818 \n0.0432182 0.0994867 0.00501533 0.93693 0.331767 -0.10997 \n-0.0511083 0.145202 0.0142795 0.949041 0.0587999 0.30962 \n0.044693 0.0926886 0.00224667 0.961916 0.180294 -0.205455 \n0.0434225 0.0918604 0.0245384 0.911276 0.18709 0.366843 \n0.0407514 0.105547 0.00750741 0.867134 0.495947 -0.0459789 \n-0.085613 0.0962771 -0.00066514 -0.919462 0.0907024 -0.382573 \n0.0407215 0.0784755 -0.008213 0.81659 -0.0535894 -0.574725 \n0.0355381 0.076063 -0.0144348 0.786675 -0.111663 -0.607185 \n-0.0927365 0.120731 0.0326927 -0.998325 -0.0163283 -0.0555053 \n-0.0622785 0.151666 -0.0146727 0.999044 -0.00889188 0.0428067 \n0.0449602 0.0809426 0.00061119 0.959017 0.0109363 -0.283137 \n0.0378147 0.0796982 -0.0132896 0.807514 -0.243932 -0.537046 \n0.0338645 0.0786567 -0.0176325 0.707865 -0.13742 -0.692851 \n-0.0910443 0.141999 0.0217296 -0.975124 -0.184806 0.122394 \n-0.0740044 0.178185 -0.0539163 -0.599736 -0.335668 -0.726391 \n-0.0617687 0.16068 -0.0340463 0.995824 0.0849382 -0.0334703 \n-0.0497474 0.141125 0.00529375 0.981822 -0.116541 -0.149816 \n0.0410654 0.0904607 0.0298886 0.872172 0.139457 0.4689 \n-0.0729164 0.0650574 0.0187946 -0.670253 -0.715098 0.198483 \n-0.0909497 0.138954 0.0173711 -0.989043 -0.126302 -0.0764327 \n0.042879 0.100938 0.00947532 0.930234 0.365102 0.0369418 \n-0.0724555 0.176107 -0.0535354 -0.700682 -0.471218 -0.535723 \n-0.0758629 0.150713 -0.0090209 -0.989893 -0.0350893 -0.137409 \n-0.0852698 0.102678 0.00139356 -0.895444 0.226626 -0.383172 \n-0.0770256 0.113968 -0.00461681 -0.533238 -0.157324 -0.831208 \n0.0462809 0.078702 0.0147863 0.994873 0.0944075 0.0362575 \n0.0421069 0.0815332 -0.00666909 0.892425 -0.10207 -0.439498 \n0.0365239 0.0819917 -0.0162296 0.707225 -0.12902 -0.695116 \n-0.0374202 0.0454285 -0.0242268 -0.46605 0.757061 -0.457881 \n-0.0851489 0.139655 0.00248085 -0.733995 0.371393 -0.568611 \n-0.0633133 0.165033 -0.0328951 0.892714 0.438756 0.10274 \n-0.0615914 0.156816 -0.0259456 0.997353 -0.0704588 -0.0179332 \n0.0459185 0.0870362 0.00842363 0.99685 0.0788846 -0.00817709 \n0.0446311 0.0841784 0.00082665 0.974689 0.0312842 -0.221367 \n-0.0448429 0.146294 0.00171148 0.519977 -0.853745 0.0272873 \n-0.0641242 0.179536 -0.0587304 0.678762 0.711862 0.180371 \n-0.0670703 0.180727 -0.0566186 0.391973 0.865921 0.310707 \n-0.0647938 0.178853 -0.0558833 0.655208 0.618731 0.433445 \n-0.064371 0.172962 -0.0492257 0.753385 0.550603 0.35951 \n-0.0703815 0.180712 -0.0531726 0.278826 0.868575 0.409674 \n-0.0752693 0.152329 0.0343741 -0.141901 0.875308 0.462277 \n-0.0162731 0.128445 0.0166836 -0.256141 0.962877 0.0852008 \n-0.0621161 0.156008 0.0180344 0.0841391 0.996392 0.0110919 \n-0.0560108 0.153817 0.0253693 0.433833 0.883787 0.175243 \n-0.0372779 0.172891 -0.00086627 -0.177044 0.74309 0.645347 \n-0.0741587 0.179873 -0.0507948 -0.170253 0.938356 0.300837 \n-0.07904 0.155374 0.0151418 -0.208769 0.977601 -0.0266687 \n-0.0725055 0.154595 0.0295888 -0.0843497 0.955423 0.282934 \n-0.0677382 0.177289 -0.050376 0.508462 0.723202 0.467381 \n-0.00753469 0.100213 0.0474887 -0.111206 0.899963 0.421545 \n-0.0595756 0.154724 0.0263733 0.234584 0.947919 0.215453 \n-0.0773827 0.153466 0.030895 -0.217763 0.921575 0.321369 \n-0.0814967 0.154731 0.0196973 -0.277441 0.959893 0.0404035 \n-0.0722233 0.158967 -0.00542423 -0.193276 0.880633 0.432585 \n-0.0137085 0.184912 -0.0255495 0.7885 0.543845 0.287229 \n-0.0434653 0.124511 0.0225189 0.281665 0.777962 0.56164 \n-0.0691037 0.155595 0.00163708 0.225891 0.967145 0.116637 \n-0.0737481 0.155393 0.00234917 -0.273362 0.956368 0.103117 \n-0.0681924 0.174398 -0.0453659 0.561032 0.739289 0.372418 \n-0.0600528 0.152803 0.0328876 0.321741 0.792303 0.5184 \n-0.0234595 0.126154 0.0166138 -0.303351 0.935147 0.18297 \n-0.0727772 0.178545 -0.0482088 0.175554 0.868951 0.462714 \n-0.0765956 0.177532 -0.0471181 -0.446411 0.818057 0.36263 \n0.0139064 0.127908 0.0251102 0.316107 0.882035 0.349415 \n-0.0863675 0.109065 0.0119806 -0.97682 -0.211237 -0.0346648 \n-0.0313588 0.12141 0.0259711 0.130727 0.856675 0.499018 \n-0.0491046 0.136669 0.019314 0.843407 0.480265 0.240852 \n-0.0429306 0.129284 0.00927007 0.29194 0.956326 0.0145833 \n-0.0653204 0.153903 0.00091386 0.254845 0.947971 -0.1908 \n-0.0376065 0.124226 0.0243135 0.0101481 0.88489 0.465689 \n0.00950784 0.130419 0.020715 0.176623 0.962939 0.203847 \n-0.00179768 0.131173 0.0163607 -0.0831958 0.993608 0.0763025 \n0.00362317 0.130768 0.0211686 0.0115242 0.97987 0.199305 \n-0.0926747 0.117019 0.0118895 -0.937259 -0.252625 -0.240265 \n-0.0657397 0.155653 0.0260176 0.0427639 0.980745 0.190553 \n-0.0865619 0.142492 0.00843268 -0.860753 0.126921 -0.492945 \n-0.0707315 0.1557 0.00690582 -0.0224832 0.998246 -0.0547699 \n-0.00808407 0.130305 0.0168723 -0.174038 0.98251 0.066216 \n-0.0442863 0.126066 0.0207952 0.794709 0.462588 0.393002 \n-0.0702223 0.151435 0.0367189 0.0101671 0.812536 0.582823 \n-0.0152107 0.184636 -0.0220572 0.805515 0.27076 0.5271 \n-0.0172707 0.186996 -0.0199776 0.491472 0.842558 0.220343 \n-0.083561 0.152559 0.00768067 -0.505165 0.793108 -0.340277 \n-0.0881303 0.0975405 0.0056788 -0.942453 0.095847 -0.320306 \n-0.0883992 0.13899 0.0106407 -0.910738 0.295952 -0.288041 \n-0.0677805 0.156145 0.0142763 0.0230524 0.998249 -0.0544823 \n-0.00658646 0.126417 0.0302264 -0.156126 0.831847 0.532593 \n-0.0887462 0.136256 0.00714778 -0.878176 0.400599 -0.261396 \n-0.0772067 0.1564 -0.0189725 -0.791556 -0.551362 -0.263513 \n-0.0931765 0.11821 0.0233624 -0.883302 -0.427712 0.191938 \n-0.0235069 0.12672 0.0109969 -0.243229 0.969751 -0.0205429 \n-0.0665466 0.171711 -0.0421278 0.668443 0.697072 0.259373 \n-0.069136 0.172478 -0.0390133 0.501087 0.822714 0.26843 \n0.0571803 0.0711077 0.00803076 0.619564 0.72898 -0.291081 \n-0.0753909 0.179528 -0.052402 -0.689152 0.68988 -0.221666 \n-0.0318288 0.126391 0.0100134 0.257174 0.965617 -0.0380153 \n-0.00898888 0.129523 0.0220268 -0.214335 0.950061 0.226815 \n0.0343259 0.111933 -0.00224065 0.766686 0.565129 -0.304667 \n-0.081415 0.0971003 -0.00687458 -0.724561 0.221309 -0.652713 \n-0.0232988 0.183243 -0.017923 -0.670421 0.569809 -0.475241 \n-0.0616417 0.15582 0.0110998 -0.0408425 0.996647 -0.0708997 \n-0.0888264 0.0904833 0.0212047 -0.9482 -0.18767 0.256314 \n0.0583731 0.0680676 0.00572476 0.842607 0.400283 -0.360259 \n-0.0430456 0.127851 0.0168423 0.531839 0.803328 0.267976 \n0.0308357 0.115542 -0.00317855 0.665876 0.647941 -0.369838 \n-0.0886313 0.0948812 0.00793376 -0.977494 -0.0295112 -0.208889 \n-0.0917151 0.1171 0.0308094 -0.894916 -0.442666 -0.056322 \n-0.0720838 0.174998 -0.0419303 0.361652 0.848092 0.38723 \n-0.0695406 0.153085 0.0338657 -0.0321929 0.907278 0.419297 \n0.0600787 0.0681293 0.0114545 0.930853 0.337132 -0.140907 \n-0.0400811 0.126284 0.0196072 0.0235302 0.910965 0.411812 \n0.0328199 0.116556 0.00444586 0.760309 0.636295 -0.130611 \n-0.0728232 0.145106 -0.0156547 -0.678671 -0.717283 -0.157831 \n-0.0852702 0.105518 0.0232909 -0.880405 0.318636 0.351224 \n-0.0760513 0.111038 -0.00627221 -0.60077 0.31056 -0.736633 \n-0.0865377 0.151548 0.0258754 -0.465293 0.834579 0.294925 \n0.0558885 0.0725792 0.0106696 0.310681 0.938387 -0.151352 \n-0.0546424 0.15523 0.0126124 0.156397 0.790799 0.591758 \n0.03673 0.111168 0.00386706 0.804265 0.572043 -0.161008 \n0.0315019 0.117252 0.00168551 0.63846 0.726866 -0.253052 \n-0.0787515 0.0952403 -0.0106007 -0.670629 0.174781 -0.720908 \n-0.0894082 0.143528 0.0309248 -0.959412 0.162755 0.230304 \n-0.0208911 0.185953 -0.0150374 -0.325635 0.938863 0.111795 \n-0.0708636 0.161365 -0.00973246 0.204118 0.865821 0.456826 \n-0.0709198 0.171367 -0.0327637 0.256271 0.916254 0.307901 \n-0.0307713 0.125641 0.0165948 0.181331 0.955218 0.233832 \n-0.0544542 0.152977 0.0225052 0.782917 0.596226 0.177636 \n-0.00155395 0.127547 0.0292329 -0.0189683 0.832384 0.553875 \n0.0291306 0.120274 0.00611175 0.634172 0.761367 -0.134706 \n0.0257259 0.121227 -3.615e-005 0.578836 0.758503 -0.29937 \n-0.089319 0.099547 0.0134181 -0.972995 0.223154 -0.0590246 \n-0.0754295 0.170956 -0.0328799 -0.508913 0.802517 0.311407 \n-0.028596 0.119012 0.0298882 -0.223857 0.766323 0.602193 \n0.0210698 0.124978 0.00109981 0.50086 0.82099 -0.274072 \n-0.0922408 0.118168 0.0412017 -0.880112 -0.306296 0.362749 \n0.00240946 0.100168 0.0469381 -0.000309831 0.898851 0.438255 \n-0.0566276 0.152706 0.029629 0.688992 0.606939 0.396125 \n-0.0572648 0.155062 0.0193224 0.312508 0.945668 0.0897211 \n-0.0364521 0.121999 0.0276706 0.156043 0.784874 0.599687 \n-0.0741082 0.173557 -0.0379868 -0.209723 0.889273 0.406461 \n0.0515371 0.0734967 0.0126987 0.0585991 0.997922 -0.0268015 \n-0.066096 0.155325 0.00715618 0.101379 0.986742 -0.126742 \n0.036102 0.112661 0.0104918 0.814947 0.579367 -0.013963 \n0.0167152 0.126899 0.00022331 0.388948 0.841294 -0.375426 \n-0.0807679 0.143014 -0.00153128 -0.782658 0.175872 -0.597089 \n-0.0917576 0.143346 0.0177907 -0.999276 -0.0289769 -0.0246622 \n-0.0868249 0.152808 0.0155214 -0.40576 0.912892 -0.0445741 \n-0.0658081 0.167643 -0.0305587 0.696907 0.683502 0.217131 \n-0.0782173 0.16874 -0.0335643 -0.784818 0.547709 0.289958 \n-0.0725671 0.147532 0.0417141 0.0388048 0.733979 0.678063 \n0.05844 0.0702008 0.0177796 0.741181 0.601393 0.298291 \n0.0568476 0.0720172 0.0171394 0.549007 0.803913 0.228725 \n0.0549194 0.0731616 0.0152236 0.271759 0.962034 0.0252412 \n0.0474469 0.0736914 0.01243 0.580248 0.813992 -0.0270086 \n0.0123194 0.129038 0.00133362 0.274535 0.921047 -0.27623 \n-0.0797906 0.103517 -0.00662754 -0.680725 0.288528 -0.673324 \n-0.0766552 0.155098 0.00796863 -0.232153 0.965234 -0.120118 \n0.0217473 0.121185 0.0308788 0.45931 0.710079 0.533687 \n-0.0752605 0.149386 0.039176 -0.124849 0.80475 0.580336 \n-0.0259196 0.182728 -0.0135411 -0.570992 0.817597 -0.0741888 \n-0.0679838 0.169748 -0.0316275 0.491413 0.830654 0.261778 \n0.0168311 0.124871 0.0284256 0.352651 0.80351 0.479593 \n0.0540165 0.0728839 0.018678 0.155712 0.950188 0.269993 \n0.0505227 0.0733979 0.0161669 -0.0526365 0.988362 0.142721 \n-0.0595824 0.156233 0.00792099 -0.402723 0.900084 0.166324 \n0.0253435 0.123747 0.00998188 0.564659 0.823182 -0.059435 \n0.0192627 0.126894 0.00555521 0.45429 0.879829 -0.139716 \n-0.0907585 0.142234 0.0260081 -0.975051 -0.151212 0.16251 \n-0.0465485 0.133208 0.0168896 0.857655 0.505213 0.0958515 \n-0.0241069 0.183809 -0.0115448 -0.175955 0.878426 0.444306 \n0.00867844 0.128946 0.0261569 0.13321 0.917783 0.374072 \n0.00249192 0.129836 0.0248471 -0.00379735 0.934012 0.357221 \n0.0573451 0.0694827 0.0211535 0.628858 0.617213 0.472848 \n-0.0853298 0.153399 0.0203783 -0.377789 0.916655 0.130458 \n0.0328773 0.116915 0.00929575 0.755295 0.655334 -0.0081384 \n0.0242466 0.123778 0.00487645 0.564464 0.808173 -0.168038 \n-0.0477656 0.13302 0.022874 0.829263 0.492705 0.26375 \n-0.0635418 0.163321 -0.025913 0.820655 0.53939 0.188636 \n-0.0666052 0.164774 -0.0206708 0.624054 0.716331 0.312132 \n-0.0685042 0.16732 -0.0239596 0.501971 0.806342 0.312791 \n-0.0727592 0.169659 -0.0270134 -0.0912303 0.920346 0.380316 \n0.0482069 0.0726986 0.0169946 0.136242 0.933822 0.33078 \n-0.0273832 0.123243 0.0216589 -0.0321971 0.921521 0.386991 \n-0.0450775 0.131244 0.0111458 0.755648 0.653156 -0.0488243 \n0.0292531 0.120577 0.0122993 0.675727 0.737025 0.0137066 \n0.0136776 0.129673 0.00693274 0.333962 0.938312 -0.0896682 \n0.00842109 0.13091 0.00627544 0.164968 0.974726 -0.150647 \n0.00096836 0.130643 0.00258659 -0.0312047 0.964761 -0.261269 \n0.0030802 0.0983074 0.0505356 0.153518 0.782258 0.603742 \n-0.0524202 0.153101 0.0129274 0.564022 0.571352 0.596185 \n-0.0703597 0.16907 -0.0261443 0.27508 0.89782 0.343875 \n0.0543594 0.0714673 0.0213812 0.291181 0.788684 0.541471 \n0.0451614 0.0710304 0.0225307 0.859038 0.225889 0.459378 \n0.0193204 0.127383 0.0112963 0.465442 0.8845 -0.0320096 \n-0.0932812 0.126911 0.013505 -0.971998 0.148841 -0.18184 \n-0.0874051 0.10594 0.0136459 -0.95051 0.310543 -0.00968471 \n-0.0228516 0.090635 0.0522805 -0.618189 0.47578 0.62568 \n-0.0620994 0.154067 0.0308374 0.112679 0.945696 0.304897 \n-0.0458516 0.12073 0.027665 0.232017 0.646335 0.726925 \n0.0507817 0.0721552 0.0206802 -0.130352 0.912548 0.387639 \n-0.0896073 0.139711 0.0293086 -0.992323 -0.10207 0.0698304 \n-0.053323 0.152735 0.0162139 0.744428 0.639408 0.192314 \n-0.0152271 0.127849 0.0215452 -0.320563 0.895858 0.307699 \n0.0336635 0.115742 0.0171813 0.769011 0.63791 0.0411472 \n0.0240003 0.124688 0.0155179 0.558363 0.828562 0.0414134 \n-0.0841668 0.0977568 -0.00327619 -0.835944 0.15575 -0.526251 \n-0.0362236 0.127775 0.00985015 0.263765 0.964517 0.0116711 \n-0.0391896 0.128282 0.00503463 0.237943 0.966999 -0.0910835 \n-0.0336741 0.177744 -0.00817995 -0.553859 0.832226 -0.025317 \n-0.0744886 0.156494 -0.00259546 -0.636276 0.703796 0.315951 \n-0.0467556 0.132843 0.00812128 0.852641 0.505144 -0.133538 \n-0.0849704 0.153223 0.0126545 -0.37288 0.913166 -0.164586 \n-0.0108662 0.126917 0.0275754 -0.261489 0.8674 0.423368 \n-0.0031074 0.130729 0.00564285 -0.145764 0.9787 -0.144563 \n-0.0887605 0.0970374 0.021079 -0.958897 0.117001 0.25851 \n-0.0648113 0.0345306 0.0155084 -0.354671 -0.870068 0.34233 \n-0.0643003 0.0350864 0.0242721 -0.867072 0.0215201 -0.497719 \n-0.066727 0.0358958 0.0338494 -0.968829 -0.201853 0.143614 \n0.0198385 0.0965189 -0.0227859 0.268447 0.307278 -0.912971 \n-0.0386705 0.160702 -0.0123578 -0.357477 -0.250279 -0.899761 \n-0.0768901 0.130419 -0.00695701 -0.399297 0.14447 -0.905367 \n-0.0725397 0.0353993 0.00702988 -0.884058 -0.420675 0.20365 \n-0.069209 0.0354548 0.0120421 -0.760321 -0.166719 0.627787 \n-0.0641608 0.0359008 0.0176876 -0.821975 -0.00471501 0.569505 \n-0.0668041 0.0373777 0.0332963 -0.96319 0.256184 0.081451 \n-0.0629283 0.0390617 0.0427077 -0.768134 0.218477 0.601862 \n-0.0717522 0.0367894 0.00869667 -0.880546 0.212826 0.42349 \n-0.0651714 0.0372895 0.0259538 -0.838195 0.216783 -0.500435 \n-0.066392 0.0377124 0.0296219 -0.959957 0.199282 -0.196901 \n-0.0645587 0.0396399 0.0394115 -0.877337 0.301047 0.373698 \n-0.0601458 0.041202 0.0442938 -0.5057 0.404337 0.762089 \n-0.0603184 0.038443 0.0452459 -0.523363 0.104963 0.84562 \n-0.0367563 0.0886634 -0.0238688 -0.258902 -0.0297432 -0.965446 \n-0.0394947 0.0375516 0.0428709 -0.30301 0.0941693 0.948323 \n-0.072016 0.0375727 0.00397894 -0.966583 0.250647 -0.0537972 \n-0.0716936 0.039461 0.0060145 -0.922526 0.385642 -0.0150386 \n-0.0711659 0.0393663 0.00811421 -0.722245 0.443167 0.531004 \n-0.0690003 0.0384677 0.0107689 -0.703064 0.370953 0.606708 \n-0.0672534 0.0381422 0.013534 -0.654828 0.43173 0.62033 \n-0.0611257 0.03779 0.0197109 -0.729472 0.645024 0.227628 \n-0.0391797 0.0424067 0.0414761 -0.284319 0.353387 0.891224 \n-0.035146 0.0385859 0.0477327 -0.75328 0.0685863 0.654114 \n-0.0289509 0.0392859 0.0533091 -0.409274 0.0882017 0.908138 \n-0.0182239 0.0974946 0.0468479 -0.388733 0.805225 0.447771 \n-0.0669163 0.122789 -0.00890774 -0.0596971 0.0214331 -0.997986 \n-0.0637546 0.0382501 0.0165935 -0.603308 0.493317 0.626624 \n-0.0644158 0.0412838 0.0282435 -0.773398 0.492786 -0.398771 \n-0.0858563 0.0970254 0.027415 -0.816646 0.1368 0.560691 \n-0.0375011 0.0402219 0.0442966 -0.718708 0.288255 0.632746 \n-0.034334 0.0409236 0.0484258 -0.724641 0.299356 0.620711 \n-0.0311729 0.0402943 0.0513125 -0.584359 0.224056 0.779951 \n-0.0699973 0.0420731 0.00668978 -0.715229 0.678518 0.167514 \n-0.0803793 0.0978007 0.0336457 -0.695978 0.177603 0.695753 \n-0.0262732 0.0776312 0.0483562 -0.79641 -0.383235 0.467827 \n-0.0375015 0.0427367 0.0429884 -0.682806 0.465396 0.56319 \n-0.0261775 0.0424989 0.0533152 -0.286313 0.39535 0.872768 \n-0.0696372 0.0418813 0.00318258 -0.779448 0.614389 -0.122424 \n-0.0671565 0.0419729 0.0102409 -0.6072 0.544412 0.578726 \n-0.0874055 0.102052 0.0220204 -0.907062 0.294987 0.300368 \n-0.0239444 0.0788001 0.0535347 -0.706635 -0.338834 0.621175 \n-0.0609024 0.0434295 0.0426785 -0.662346 0.497863 0.559849 \n-0.0312179 0.0438475 0.0497809 -0.522051 0.497714 0.692635 \n-0.0757294 0.10354 0.036071 -0.637142 0.13025 0.759661 \n-0.0624253 0.0418857 0.0146468 -0.508758 0.627057 0.589886 \n-0.0610517 0.0443922 0.0124219 -0.38605 0.788459 0.47885 \n0.0258551 0.0896107 -0.0227018 0.474239 0.223095 -0.851661 \n-0.077645 0.0822149 0.0357977 -0.608141 -0.356682 0.709185 \n-0.0603813 0.0459214 0.0400887 -0.547239 0.767995 0.332735 \n-0.024982 0.0817776 0.0534211 -0.826064 -0.0457399 0.561717 \n-0.0344539 0.044564 0.045423 -0.665354 0.51746 0.538089 \n-0.0298429 0.0467823 0.0477469 -0.511592 0.714595 0.477104 \n-0.0151196 0.09993 0.0445003 -0.171656 0.633055 0.754835 \n-0.0673065 0.0441768 0.00759583 -0.473536 0.775847 0.416922 \n-0.057853 0.0464445 0.0110626 -0.450728 0.758424 0.470784 \n-0.0518153 0.163926 0.00174888 -0.589943 0.779737 0.20971 \n-0.0551741 0.0483839 0.0385178 -0.204184 0.922568 0.327379 \n-0.0788492 0.118674 0.0506229 -0.601443 -0.208158 0.771321 \n-0.0272291 0.0879915 0.0479097 -0.808992 0.238793 0.537131 \n-0.0755369 0.159771 -0.0104386 -0.724125 0.596061 0.346922 \n-0.0361513 0.0465051 0.0407409 -0.413279 0.575768 0.705473 \n-0.0254392 0.0906779 0.0488523 -0.71875 0.442802 0.536027 \n-0.0800504 0.116704 0.0487625 -0.414853 -0.358876 0.836125 \n-0.0525136 0.0475779 0.0148584 -0.613194 0.5835 0.532467 \n-0.0320436 0.0504618 0.0393415 -0.399155 0.794456 0.457728 \n-0.0314878 0.0469302 0.0452532 -0.484889 0.722616 0.492654 \n-0.0203215 0.0939996 0.0515885 -0.447791 0.719415 0.530966 \n-0.072145 0.0915565 0.0414948 -0.398838 0.0278858 0.916597 \n-0.0536442 0.0493582 0.0122019 -0.700262 0.451401 0.553055 \n-0.0824039 0.121866 0.049365 -0.295447 -0.279187 0.913655 \n-0.0497544 0.0497383 0.0370371 -0.419867 0.603294 0.678047 \n-0.0323321 0.0486728 0.042524 -0.501059 0.71977 0.48049 \n-0.0231229 0.0945159 0.0473589 -0.519586 0.656793 0.546493 \n-0.0863471 0.0917221 0.0268111 -0.828435 -0.0788927 0.554501 \n-0.0577131 0.0487178 0.00727651 -0.656577 0.699294 0.282655 \n-0.0869704 0.0889121 0.0248799 -0.874249 -0.245424 0.418873 \n-0.0922377 0.124885 0.0407865 -0.934567 0.271568 0.22986 \n-0.0158628 0.0970216 0.0501394 -0.274861 0.840066 0.467697 \n-0.02772 0.0505021 0.0433407 -0.323838 0.841065 0.433289 \n-0.0859188 0.142634 0.0398498 -0.635165 0.55244 0.539791 \n-0.0750974 0.0900736 0.039581 -0.628528 -0.00368151 0.777779 \n-0.0894308 0.147306 0.027695 -0.853782 0.391689 0.342981 \n-0.0532884 0.0519258 0.0117303 -0.789414 0.142382 0.597121 \n-0.0501687 0.0534623 0.0162554 -0.968979 -0.244515 -0.0359473 \n-0.085986 0.146709 0.034827 -0.635779 0.622411 0.456497 \n-0.0699373 0.0860769 0.0421757 -0.474605 -0.138118 0.869295 \n-0.0503993 0.0518313 0.0340374 -0.803354 0.392555 0.447797 \n-0.083299 0.149608 0.0337409 -0.490538 0.74059 0.459237 \n-0.0291748 0.0522645 0.0376373 -0.301602 0.745325 0.594581 \n-0.0887637 0.119449 0.0465601 -0.696316 -0.109849 0.709279 \n-0.0776935 0.17368 -0.0414787 -0.507019 0.749546 0.425573 \n-0.0834181 0.0941274 0.0308984 -0.76072 0.032129 0.648284 \n-0.0560675 0.0534706 0.00737182 -0.912421 0.119154 0.391523 \n-0.0789356 0.148172 0.0394631 -0.338034 0.76122 0.553423 \n-0.0679028 0.0878172 0.043527 -0.424294 0.021885 0.90526 \n-0.0441112 0.092884 -0.0223732 -0.118201 -0.0142739 -0.992887 \n-0.0866051 0.132268 0.046783 -0.777131 0.272059 0.567496 \n-0.0926543 0.12084 0.0416296 -0.934406 -0.0140232 0.355935 \n-0.0508873 0.0527279 0.0144558 -0.834615 0.0338657 0.549792 \n-0.0497634 0.0562412 0.0336243 -0.860858 0.0486596 0.506513 \n-0.0897713 0.129049 0.043023 -0.873995 0.273314 0.401786 \n-0.0280542 0.054551 0.0367869 -0.52718 0.110348 0.842558 \n-0.0258671 0.0566892 0.0391822 -0.788765 -0.0390468 0.613453 \n-0.0837022 0.122264 -0.00373014 -0.505968 -0.182234 -0.843082 \n-0.0814555 0.130122 0.0521177 -0.416856 0.193365 0.888167 \n-0.0514585 0.0558782 0.0159003 -0.623874 -0.741983 0.245445 \n-0.0785977 0.174416 -0.0466076 -0.97823 -0.0139815 -0.207051 \n-0.0529098 0.0570431 0.0209884 -0.69263 -0.708308 0.136246 \n-0.0529785 0.0595538 0.0262119 -0.652288 -0.636967 0.410845 \n-0.0521306 0.056303 0.0266725 -0.989977 -0.127493 0.0607587 \n-0.0477145 0.0619445 0.0367058 -0.73228 -0.143171 0.665783 \n-0.0835398 0.0811696 0.0270141 -0.853421 -0.4024 0.331281 \n-0.01834 0.05749 0.049763 -0.703662 -0.194457 0.683408 \n-0.0800698 0.0905861 0.0345931 -0.755208 -0.0277452 0.654898 \n-0.0838123 0.0863377 0.0292233 -0.834168 -0.15693 0.528712 \n-0.0554366 0.0594203 0.023019 -0.35877 -0.835431 0.416341 \n-0.0822277 0.145138 0.0406001 -0.474965 0.649651 0.5936 \n-0.0241876 0.0722691 0.0476811 -0.804748 -0.323028 0.49803 \n-0.0253532 0.0625672 0.0406422 -0.810618 -0.145338 0.567253 \n-0.0911321 0.122821 0.0441152 -0.798513 0.144814 0.5843 \n-0.0460763 0.168197 0.00073744 -0.449981 0.802799 0.39119 \n-0.0878293 0.143515 0.0357077 -0.821811 0.418831 0.386272 \n-0.0869906 0.138123 0.0423165 -0.781601 0.374223 0.499056 \n-0.0157159 0.060823 0.0523654 -0.533385 -0.236387 0.812171 \n-0.0838036 0.125611 0.0504405 -0.47717 -0.210663 0.853188 \n-0.0627867 0.112742 -0.0136054 -0.391795 0.428346 -0.814258 \n-0.0810338 0.0846982 0.0331064 -0.773367 -0.134571 0.619511 \n-0.0885635 0.116245 0.0453928 -0.618897 -0.468065 0.630778 \n-0.0202684 0.0622668 0.0482121 -0.760992 -0.211755 0.613231 \n-0.0126196 0.061635 0.0544241 -0.382704 -0.222931 0.896571 \n-0.0704912 0.0818182 0.0406099 -0.464468 -0.325923 0.823434 \n-0.0838825 0.133315 0.0491135 -0.607049 0.396871 0.688466 \n-0.0565603 0.0483555 0.036607 -0.337168 0.937082 0.0905235 \n0.00994449 0.109197 -0.0194728 0.206988 0.226803 -0.951691 \n-0.0559282 0.0359173 0.0463761 -0.00723273 -0.488613 0.872471 \n-0.0760033 0.163613 -0.0180211 -0.708429 0.621645 0.334194 \n-0.0837988 0.102907 0.0280383 -0.775023 0.255423 0.578012 \n-0.0882521 0.126927 0.0461413 -0.742229 0.13666 0.656064 \n-0.0791267 0.106199 0.0320507 -0.759124 0.156547 0.631842 \n-0.0882062 0.0944857 0.023744 -0.912346 0.0263567 0.408572 \n-0.0891103 0.138514 0.0376588 -0.921223 0.259667 0.289693 \n-0.0193214 0.0921239 0.0538207 -0.409779 0.515456 0.752586 \n-0.0582656 0.0909264 -0.0209487 -0.427823 0.0210113 -0.903618 \n-0.0270463 0.0670144 0.0396721 -0.735314 -0.251772 0.629225 \n-0.0214163 0.179777 -0.0217325 -0.6527 0.186 -0.734429 \n-0.007824 0.109241 -0.0221857 -0.0470156 0.373562 -0.926413 \n-0.0239883 0.0859956 0.0537164 -0.733441 0.256192 0.629627 \n-0.0604836 0.15568 0.00433438 -0.564815 0.791774 -0.232545 \n-0.0863891 0.121685 0.0484124 -0.5352 -0.072535 0.841605 \n-0.0740844 0.149877 -0.0326101 -0.916191 -0.368671 -0.157084 \n-0.0205806 0.0795725 0.0560139 -0.419197 -0.289382 0.860542 \n-0.0838375 0.139279 0.0448938 -0.576298 0.5222 0.628639 \n-0.022934 0.0356329 0.0528655 0.0482401 -0.906426 0.419601 \n-0.0861536 0.127356 0.048564 -0.71814 0.0976849 0.689009 \n-0.0657286 0.107098 -0.0143177 -0.448183 0.341719 -0.826051 \n-0.0214811 0.0741945 0.0528577 -0.649058 -0.348138 0.676405 \n-0.0764239 0.157363 -0.00903546 -0.925585 0.33913 0.168174 \n-0.077216 0.0855949 0.0374208 -0.623115 -0.159345 0.765727 \n-0.0841508 0.12955 0.0504837 -0.643863 0.12347 0.755113 \n-0.0812214 0.0810032 0.0312558 -0.751825 -0.392912 0.529508 \n-0.081704 0.101672 0.0309397 -0.695217 0.232852 0.68004 \n-0.0862527 0.101068 0.0254138 -0.861805 0.241869 0.445861 \n-0.080945 0.139036 0.0473591 -0.437668 0.57479 0.691421 \n-0.0789083 0.0948309 0.0354355 -0.676432 0.116917 0.727166 \n-0.0734402 0.0954126 0.0402106 -0.55495 0.196831 0.808262 \n-0.0526758 0.0882207 -0.0218863 -0.0383783 -0.0854162 -0.995606 \n-0.0764407 0.0775111 0.0337483 -0.631707 -0.481321 0.607681 \n-0.0217911 0.10658 -0.022327 -0.0148256 0.414824 -0.909781 \n-0.0883609 0.149967 0.0260442 -0.664318 0.652816 0.364023 \n-0.0240789 0.0679067 0.0451784 -0.820856 -0.272797 0.501774 \n-0.0200181 0.0675693 0.0515653 -0.739065 -0.312907 0.596551 \n-0.0835778 0.120526 0.0491775 -0.208072 -0.127516 0.969766 \n-0.0146559 0.174565 -0.0259727 -0.504025 -0.358892 -0.785592 \n-0.0273959 0.0841083 0.0487457 -0.87489 0.0569969 0.480956 \n-0.0419336 0.0884634 -0.0221264 -0.182887 -0.240528 -0.953257 \n-0.0316939 0.102613 -0.0223523 -0.187099 0.24466 -0.951386 \n-0.0278902 0.104407 -0.0228309 -0.153955 0.319119 -0.935126 \n-0.0737904 0.120167 -0.00788512 -0.259324 -0.0961247 -0.960995 \n-0.0461242 0.105064 -0.0204576 -0.0693732 0.365375 -0.928272 \n-0.0274126 0.0732694 0.0426414 -0.816971 -0.32646 0.475377 \n-0.0455329 0.0347365 -0.0213632 -0.90155 -0.233286 -0.364398 \n-0.044993 0.039017 -0.0210978 -0.845996 0.369298 -0.38459 \n-0.0464626 0.0368003 -0.0177787 -0.911346 0.30628 -0.275028 \n-0.0883665 0.113619 0.00582278 -0.737343 -0.530129 -0.418675 \n0.0517462 0.0728972 0.00906474 0.0484175 0.968994 -0.242293 \n-0.0703852 0.0374503 -0.0009319 -0.808577 0.34462 -0.476907 \n-0.0609232 0.0386218 0.0224689 -0.768259 0.421396 -0.481875 \n-0.0776967 0.170279 -0.0431179 -0.520607 -0.675435 -0.522261 \n-0.0437932 0.169555 -0.00730264 -0.668475 0.490461 -0.559097 \n-0.0775872 0.177179 -0.0502211 -0.899436 0.0449654 -0.434734 \n-0.0405419 0.038886 -0.027365 -0.574152 0.411692 -0.707714 \n-0.0442159 0.0361315 -0.0242522 -0.810829 0.311705 -0.495376 \n-0.0666349 0.0404303 -0.00501807 -0.567407 0.545831 -0.616537 \n-0.0692421 0.0414741 0.00019289 -0.72275 0.532346 -0.440727 \n-0.0756407 0.159304 -0.0269085 -0.674937 -0.651234 -0.346921 \n-0.063087 0.0396142 0.0251816 -0.685198 0.408753 -0.602848 \n-0.072303 0.151867 -0.0415443 -0.974805 -0.0074214 -0.222936 \n-0.0410515 0.0415286 -0.024061 -0.685935 0.483654 -0.543665 \n-0.0469906 0.0388924 -0.0140169 -0.901674 0.311543 -0.299875 \n-0.0895597 0.128517 0.00454575 -0.877456 0.0937467 -0.470407 \n-0.0769873 0.153694 -0.00229708 -0.809338 0.585376 -0.0480409 \n-0.0701217 0.168826 -0.0511736 -0.848655 -0.30641 -0.431158 \n-0.0647926 0.0417245 0.0316169 -0.858021 0.499489 -0.11963 \n-0.0421481 0.124096 -0.00956025 0.0752041 0.779586 -0.621763 \n-0.0480697 0.12493 -0.00840764 -0.0978273 0.765527 -0.635923 \n-0.0421505 0.043344 -0.0215087 -0.695659 0.590568 -0.409008 \n-0.0673152 0.044034 0.00157418 -0.548534 0.787389 -0.281298 \n-0.0733866 0.154634 -0.0299438 -0.980089 0.14558 -0.135025 \n-0.0553528 0.0429362 0.0191355 -0.556586 0.797913 0.231401 \n-0.0600678 0.0414195 0.0229533 -0.598103 0.645318 -0.475225 \n-0.0654885 0.0409378 0.0353155 -0.907918 0.404245 0.110774 \n-0.0800664 0.150396 0.00060518 -0.765534 0.374913 -0.522875 \n-0.0440313 0.0419491 -0.017994 -0.832574 0.499572 -0.239267 \n-0.0451865 0.0424534 -0.0141936 -0.807485 0.503134 -0.307935 \n-0.0831094 0.102654 -0.00329334 -0.805 0.276209 -0.525055 \n-0.0654728 0.0456276 0.00455754 -0.460122 0.885771 -0.0608009 \n-0.0754277 0.152012 -0.0143937 -0.973001 -0.179963 -0.144508 \n-0.0544734 0.0459375 0.0236126 -0.673296 0.641114 -0.3683 \n-0.0624641 0.043722 0.0284933 -0.579869 0.734959 -0.351549 \n-0.0628326 0.0451827 0.0346229 -0.664769 0.743432 -0.073419 \n-0.0635381 0.043524 0.037974 -0.796695 0.517633 0.311982 \n-0.0602553 0.0447496 -0.00413162 -0.503263 0.75058 -0.428201 \n-0.063242 0.0455497 0.00048428 -0.414174 0.836867 -0.357929 \n-0.0622494 0.0465401 0.00719035 -0.38144 0.846639 0.371086 \n-0.0910036 0.148857 0.021507 -0.8746 0.448015 0.185358 \n-0.0570941 0.0459965 0.0268653 -0.504708 0.74572 -0.434939 \n-0.0572765 0.0472996 0.02989 -0.483806 0.856234 -0.181093 \n-0.0395199 0.173859 -0.00757526 -0.620747 0.736642 -0.268386 \n-0.0896411 0.138419 0.0341418 -0.997318 0.0699949 0.0213805 \n-0.0926014 0.130187 0.0251836 -0.927112 0.329998 0.177662 \n-0.0922809 0.127621 0.0297517 -0.968172 0.204656 0.144082 \n-0.0339573 0.0410251 -0.0296602 -0.164428 0.326721 -0.930708 \n-0.0901995 0.116575 0.00567549 -0.831267 -0.31298 -0.459389 \n-0.0585159 0.0477313 0.00021246 -0.566246 0.807095 -0.167222 \n-0.0717236 0.146174 -0.0215678 -0.367033 -0.903648 -0.220698 \n-0.0523898 0.0454491 0.0176863 -0.6855 0.660823 0.305617 \n-0.0594143 0.047278 0.0341724 -0.411349 0.910528 -0.0416147 \n-0.0575206 0.158776 0.00416212 -0.663208 0.745358 0.0678008 \n-0.0809591 0.109267 -0.00201899 -0.744418 0.316051 -0.588178 \n-0.051904 0.0461001 0.0194213 -0.788894 0.542503 -0.28868 \n-0.05183 0.0485687 0.021647 -0.838307 0.353189 -0.41533 \n-0.0776504 0.15658 -0.0165992 -0.979908 -0.19878 0.0163331 \n-0.0374165 0.0476821 -0.0171473 -0.329951 0.907667 -0.259372 \n-0.0788761 0.15347 0.00398758 -0.454667 0.857037 -0.242413 \n-0.0576354 0.0504255 0.00461084 -0.965908 0.257641 0.0253675 \n-0.0526254 0.0504346 0.0290467 -0.812194 0.583367 0.00493273 \n-0.0529987 0.049169 0.0339676 -0.409767 0.906439 0.102277 \n-0.0735026 0.168719 -0.0447918 -0.648994 -0.578101 -0.494577 \n-0.0544207 0.0478365 -0.00591869 -0.55452 0.380196 -0.740242 \n-0.0523127 0.0510853 0.0244857 -0.964977 0.191829 -0.178945 \n-0.0791299 0.167366 -0.0355062 -0.999061 -0.0405276 0.0152976 \n0.00941157 0.123503 -0.0098291 0.163316 0.801319 -0.575514 \n-0.0327157 0.108966 -0.0189414 0.0303171 0.41105 -0.911109 \n-0.0311334 0.0496073 -0.0194069 -0.530492 0.815044 -0.232983 \n0.0459973 0.0698145 0.00301433 0.511214 0.428336 -0.74511 \n0.0335255 0.109662 -0.00698948 0.743395 0.511426 -0.431053 \n-0.0550472 0.0527676 -0.00394613 -0.788234 -0.03131 -0.614578 \n-0.0568979 0.0496556 -0.0015319 -0.853344 0.355781 -0.381083 \n-0.0502905 0.0490989 0.0171648 -0.923483 0.305089 0.232596 \n-0.0505952 0.0499233 0.0191741 -0.959675 0.0872918 -0.267215 \n-0.0518874 0.0533247 0.0287056 -0.972195 0.0511082 0.228529 \n-0.0676845 0.165336 -0.0554664 -0.917921 -0.0923643 -0.385863 \n-0.0302714 0.0521061 -0.0176761 -0.96195 0.0876547 -0.258784 \n-0.00910873 0.111417 -0.0205432 -0.184 0.63606 -0.74938 \n-0.0570694 0.0544244 0.00233955 -0.993896 0.0905974 -0.0629545 \n-0.0327484 0.177599 -0.0116275 -0.637082 0.678215 -0.366265 \n-0.0290096 0.0512653 -0.0221758 -0.823896 0.258897 -0.50415 \n-0.0313831 0.0517913 -0.0138868 -0.819905 0.439127 -0.367319 \n-0.055674 0.0569839 -0.00335104 -0.920165 -0.131771 -0.368691 \n-0.050916 0.0538136 0.0197531 -0.97166 -0.1633 -0.170907 \n-0.0888754 0.151694 0.0200866 -0.590936 0.794775 0.1383 \n-0.077153 0.173787 -0.0478676 -0.47974 -0.62245 -0.618389 \n-0.0785778 0.164206 -0.0318259 -0.856364 -0.474459 -0.203786 \n-0.0275459 0.0540216 -0.0251474 -0.867695 -0.137428 -0.477723 \n-0.0544637 0.0553574 0.0103268 -0.75588 -0.528058 0.38704 \n-0.0870414 0.130589 0.00091161 -0.795522 0.2059 -0.569869 \n-0.0900093 0.132781 0.00592206 -0.887517 0.20455 -0.412884 \n-0.0922326 0.131954 0.0154306 -0.920802 0.383002 -0.0737064 \n-0.04864 0.164725 -0.00505915 -0.691768 0.342946 -0.635488 \n-0.0540665 0.0599593 -0.00759922 -0.725488 -0.356225 -0.588872 \n-0.0574341 0.0576835 0.00872597 -0.445124 -0.892469 0.0732367 \n-0.0867947 0.138507 0.00455759 -0.865073 0.358549 -0.350844 \n-0.0929895 0.130923 0.0199193 -0.935082 0.354427 -0.00171599 \n-0.091282 0.133119 0.0246886 -0.893753 0.416747 0.165913 \n0.021815 0.117705 -0.0100153 0.460344 0.66188 -0.591606 \n-0.0296471 0.0581043 -0.0213113 -0.919556 -0.170719 -0.353938 \n-0.0312895 0.0552086 -0.0143878 -0.948604 -0.153893 -0.276527 \n-0.0590022 0.0592346 0.00261408 -0.421238 -0.879264 -0.222383 \n-0.0902417 0.13576 0.0141492 -0.948596 0.280414 -0.146745 \n-0.0615694 0.170849 -0.0616792 0.236058 -0.11203 -0.96526 \n-0.0660702 0.165578 -0.0586441 -0.722482 -0.125816 -0.679846 \n-0.0245399 0.180059 -0.018727 -0.595019 0.279388 -0.753588 \n-0.0161317 0.182988 -0.0260372 -0.632179 0.180144 -0.75359 \n-0.0308094 0.056998 -0.017835 -0.949148 -0.135761 -0.284056 \n0.0104643 0.0961804 -0.025899 0.29545 0.742492 -0.601178 \n-0.0574916 0.0595302 -0.00107861 -0.615392 -0.717554 -0.326205 \n-0.0891465 0.136505 0.0259528 -0.964514 0.24584 0.0963067 \n0.00437145 0.103919 -0.0215151 0.162327 0.230158 -0.959519 \n-0.090377 0.132525 0.0310827 -0.93194 0.350738 0.0920387 \n-0.0907954 0.138552 0.0205626 -0.980647 -0.0718412 0.182128 \n-0.0942377 0.126154 0.0222015 -0.979259 0.164471 0.118326 \n-0.0903369 0.131198 0.0381388 -0.966454 0.236145 0.101004 \n-0.0450826 0.122184 -0.0115694 -0.000455132 0.656801 -0.754064 \n0.011348 0.0982438 -0.0230242 0.12268 0.591044 -0.797256 \n-0.0392279 0.0991846 -0.0219127 -0.107824 0.242326 -0.964185 \n-0.0655095 0.158573 -0.0556003 0.105491 -0.731549 -0.673578 \n-0.0774095 0.162605 -0.0207546 -0.915956 0.329892 0.228463 \n-0.04858 0.166892 -0.00252561 -0.680591 0.720375 -0.133625 \n-0.0769229 0.153514 -0.00907856 -0.994504 -0.103063 -0.0184089 \n-0.0677506 0.157348 -0.0539821 -0.509588 -0.531034 -0.676996 \n0.0529064 0.0652305 -0.00051112 0.252321 0.514153 -0.819744 \n-0.0290548 0.0610841 -0.0249182 -0.900454 -0.23804 -0.364032 \n-0.0310669 0.0650589 -0.0227511 -0.907674 -0.278199 -0.314217 \n0.0242497 0.102662 -0.0183138 0.374857 0.463272 -0.803032 \n-0.0554737 0.160502 0.00137635 -0.746068 0.629659 -0.216592 \n-0.0666429 0.160409 -0.0568427 -0.603614 -0.287459 -0.743652 \n-0.0782003 0.160732 -0.0239997 -0.950264 -0.294334 -0.101813 \n-0.0183207 0.119686 -0.0111107 -0.126705 0.774314 -0.619987 \n0.021713 0.109563 -0.0150811 0.357387 0.423987 -0.832171 \n-0.0683826 0.159802 -0.0542088 -0.914555 -0.0405753 -0.402422 \n-0.0254456 0.0602086 -0.0308647 -0.627403 -0.313071 -0.712988 \n-0.0265403 0.065084 -0.0316649 -0.696184 -0.324333 -0.640419 \n-0.0284257 0.0621996 -0.0279385 -0.844727 -0.275626 -0.458766 \n-0.0326057 0.0612646 -0.015453 -0.88505 -0.284669 -0.368306 \n-0.0708723 0.116116 -0.00795637 -0.368143 -0.00866625 -0.929729 \n-0.0697805 0.159386 -0.0494182 -0.962256 0.012352 -0.271864 \n-0.0303249 0.0676947 -0.0276549 -0.862178 -0.297335 -0.410172 \n-0.0329774 0.0663652 -0.0183855 -0.847345 -0.314514 -0.427886 \n0.0135335 0.102554 -0.0215793 0.0109404 0.510967 -0.85953 \n0.0444085 0.0697589 0.00094765 0.781438 0.115638 -0.613174 \n-0.0021999 0.112159 -0.0196587 0.00932812 0.499125 -0.86648 \n-0.0720285 0.0670466 -0.00072256 -0.574765 -0.701306 -0.421681 \n-0.0786996 0.173139 -0.0427205 -0.882277 0.42591 0.20047 \n-0.083212 0.150721 0.00421285 -0.6927 0.456952 -0.557998 \n-0.0874391 0.133749 0.00239747 -0.7761 0.29071 -0.559604 \n0.026348 0.0845622 -0.0231517 0.553604 0.098187 -0.826971 \n-0.0749015 0.0704193 -0.00228543 -0.632026 -0.69751 -0.337674 \n-0.0545763 0.0915629 -0.0220987 -0.131785 0.0247609 -0.990969 \n-0.0732425 0.152313 -0.0357035 -0.969751 0.194931 -0.146917 \n-0.074551 0.172187 -0.047551 -0.456996 -0.646314 -0.611091 \n-0.0286807 0.0682835 -0.0306102 -0.783981 -0.363179 -0.503463 \n0.0173729 0.10246 -0.0214877 0.234092 0.570781 -0.787026 \n-0.0812574 0.0730252 0.00710204 -0.756497 -0.643387 -0.117331 \n-0.0749823 0.154078 -0.0189745 -0.911035 -0.326919 -0.251274 \n-0.0915565 0.131963 0.0106382 -0.930573 0.302413 -0.20635 \n-0.00082448 0.0951651 -0.0320563 0.177942 0.683164 -0.708254 \n-0.0776188 0.0739991 -0.00532635 -0.652381 -0.582026 -0.485433 \n-0.0798588 0.072755 0.00304202 -0.711946 -0.659768 -0.240496 \n-0.0816275 0.0734706 0.0111617 -0.839039 -0.542846 0.0364934 \n-0.0736793 0.14786 -0.0202363 -0.759072 -0.633279 -0.150886 \n-0.0913098 0.148486 0.0162701 -0.982902 0.168045 -0.0752635 \n-0.0908501 0.146256 0.014809 -0.958965 -0.00100862 -0.283522 \n-0.0685439 0.17513 -0.0571879 -0.769152 -0.221873 -0.599315 \n-0.027254 0.107475 -0.0212797 -0.16917 0.553999 -0.815148 \n0.0214436 0.122738 -0.00293167 0.440784 0.781199 -0.442084 \n-0.0790612 0.0737243 -0.00084521 -0.679117 -0.678721 -0.279534 \n-0.0820635 0.0759937 0.00176155 -0.824786 -0.473532 -0.309023 \n-0.0837366 0.0767718 0.0089586 -0.836037 -0.548659 0.00401596 \n-0.0902057 0.149478 0.0130351 -0.868296 0.242348 -0.432817 \n0.00084818 0.1167 -0.0173371 -0.0588109 0.633481 -0.77152 \n-0.0745775 0.15164 -0.028648 -0.986235 0.0889377 -0.139395 \n-0.0290875 0.0729246 -0.0333545 -0.739223 -0.301658 -0.602123 \n-0.031184 0.0739895 -0.0303399 -0.871967 -0.292354 -0.392686 \n-0.0326066 0.0719556 -0.0248666 -0.909134 -0.279439 -0.308853 \n-0.080576 0.0766078 -0.00298794 -0.828945 -0.399252 -0.391725 \n-0.089491 0.143926 0.0124885 -0.852591 -0.133405 -0.505264 \n-0.0773884 0.146564 -0.0043543 -0.797216 -0.0228021 -0.603263 \n-0.0728962 0.15835 -0.0341094 -0.969815 -0.142053 -0.19819 \n0.00713465 0.114682 -0.0183456 0.134858 0.517022 -0.845282 \n-0.0345026 0.07613 -0.0223731 -0.929832 -0.235628 -0.282651 \n-0.0838907 0.0807895 0.00229514 -0.873147 -0.371413 -0.3157 \n-0.0837405 0.0772403 0.00466733 -0.866934 -0.456622 -0.199805 \n-0.0862046 0.0809307 0.0105354 -0.92231 -0.380239 -0.0690046 \n-0.0860615 0.0799311 0.0144408 -0.926399 -0.366299 0.0872391 \n-0.0815428 0.0779507 0.0267273 -0.760618 -0.575651 0.300143 \n0.0266662 0.112686 -0.0105095 0.461192 0.515531 -0.722171 \n-0.0760414 0.156631 -0.0214205 -0.71307 -0.605812 -0.352878 \n-0.0900121 0.150833 0.0157527 -0.680452 0.721271 -0.129433 \n-0.0711565 0.163351 -0.0453605 -0.940351 -0.169614 -0.294909 \n-0.033211 0.0768732 -0.0277084 -0.92583 -0.151261 -0.34635 \n-0.0732631 0.0799838 -0.0137499 -0.621386 -0.373043 -0.688998 \n-0.0792859 0.0800488 -0.00701255 -0.739769 -0.337273 -0.582227 \n-0.0860345 0.0826457 0.0195427 -0.935539 -0.313513 0.162717 \n-0.0843354 0.0807299 0.0221805 -0.867656 -0.430005 0.249537 \n-0.0713515 0.157271 -0.0421831 -0.983157 0.0489834 -0.176077 \n-0.0735485 0.161208 -0.0352884 -0.8572 -0.428544 -0.285586 \n0.0167326 0.109912 -0.01702 0.3218 0.329916 -0.887468 \n-0.0309788 0.0770209 -0.0328165 -0.831433 -0.147274 -0.535751 \n-0.0623592 0.175448 -0.061486 0.0176602 0.17739 -0.983982 \n-0.0175879 0.114913 -0.017205 -0.0734024 0.632849 -0.770788 \n-0.082354 0.0808763 -0.00240389 -0.834091 -0.395081 -0.384972 \n-0.0785789 0.140501 -0.0046031 -0.579503 0.0979263 -0.809066 \n-0.0289311 0.0792476 -0.0350498 -0.696104 -0.0489156 -0.716273 \n-0.0312257 0.0804131 -0.0321823 -0.856633 0.109942 -0.504077 \n-0.0332587 0.0796217 -0.0271461 -0.919768 -0.00561387 -0.392422 \n-0.0446974 0.117915 -0.0147259 0.0493445 0.486539 -0.872264 \n-0.0797237 0.0842267 -0.00876086 -0.805123 -0.182446 -0.56435 \n-0.0850422 0.0838178 -7.764e-005 -0.866586 -0.364158 -0.3412 \n-0.0867764 0.0843449 0.012419 -0.935341 -0.35244 0.0303826 \n-0.0866747 0.082665 0.0151743 -0.989189 -0.139496 0.0452418 \n-0.0851063 0.0851766 0.0256794 -0.884831 -0.32734 0.331547 \n-0.0769758 0.0829359 -0.0114506 -0.713301 -0.2753 -0.644525 \n-0.0827764 0.0834309 -0.0043687 -0.792813 -0.256112 -0.553041 \n-0.0861804 0.0825721 0.0063639 -0.910697 -0.376095 -0.170831 \n-0.0911608 0.141444 0.0156739 -0.916333 -0.109495 -0.385154 \n-0.0746388 0.143985 -0.00715046 -0.73104 -0.498068 -0.466379 \n-0.0834485 0.133933 -0.00168732 -0.647739 0.281012 -0.708143 \n-0.0758047 0.151345 -0.0198812 -0.94862 0.308788 -0.0690643 \n-0.0749241 0.15273 -0.0193974 -0.948212 0.309299 -0.0723075 \n-0.0523144 0.121596 -0.0107981 -0.208819 0.65642 -0.724919 \n-0.030734 0.0854276 -0.0305067 -0.858011 0.303476 -0.41439 \n-0.0325906 0.0819427 -0.0291002 -0.871243 0.217706 -0.439932 \n-0.0864548 0.0869405 0.00091667 -0.924769 -0.0357352 -0.378847 \n-0.0125018 0.106344 -0.0223602 -0.0845055 0.369751 -0.92528 \n-0.0885859 0.146059 0.009878 -0.823434 -0.00423562 -0.567397 \n-0.0856097 0.147125 0.00659811 -0.789722 0.0733865 -0.609059 \n-0.0875112 0.150615 0.0101525 -0.706956 0.52605 -0.472741 \n-0.0601135 0.0355504 0.0449076 -0.272998 -0.732828 0.623246 \n-0.0882842 0.0868691 0.00810292 -0.909633 -0.413751 -0.0371266 \n-0.0888126 0.0877655 0.0142265 -0.917558 -0.390693 0.0737927 \n-0.0880011 0.0866264 0.0154667 -0.831917 -0.546383 0.096851 \n-0.0869911 0.0864447 0.022421 -0.901102 -0.390609 0.188258 \n-0.07461 0.147278 -0.0141724 -0.774347 -0.606626 -0.179976 \n-0.0347079 0.0840359 -0.0243023 -0.780676 0.0264529 -0.624376 \n-0.0849649 0.0899625 -0.0030068 -0.893616 -0.0558104 -0.445349 \n-0.0880914 0.0877416 0.00484899 -0.956204 -0.142422 -0.255713 \n-0.0914905 0.145432 0.0222772 -0.987623 0.0857646 0.13132 \n-0.0943804 0.121839 0.0179043 -0.993189 -0.0535406 -0.103481 \n-0.0291645 0.0853934 -0.0336668 -0.781699 0.298264 -0.54771 \n-0.0305578 0.0886259 -0.0275507 -0.777379 0.46463 -0.424029 \n-0.0777706 0.0878448 -0.0116948 -0.746356 -0.0913117 -0.659253 \n-0.0807283 0.0882042 -0.00780031 -0.763528 -0.158596 -0.625997 \n-0.0832725 0.0894767 -0.00565029 -0.765139 -0.129285 -0.630752 \n-0.0893987 0.089539 0.0116455 -0.990035 -0.116276 -0.0794389 \n-0.0896984 0.139713 0.0137748 -0.892459 -0.0200269 -0.450683 \n-0.0771349 0.151512 -0.0055823 -0.983446 0.0962988 -0.153494 \n-0.0511214 0.163741 -0.00266405 -0.725874 0.409856 -0.552381 \n-0.086443 0.127674 -0.00148641 -0.746338 0.216582 -0.629343 \n-0.0696056 0.154908 -0.0501887 -0.810698 -0.346207 -0.472132 \n-0.0872652 0.09211 0.0042059 -0.947256 0.0346895 -0.318595 \n-0.0890862 0.0923771 0.0105699 -0.984268 0.0314814 -0.173856 \n-0.0896123 0.0915999 0.0178123 -0.997588 -0.0393034 0.0572128 \n-0.0827325 0.141969 0.00125291 -0.772651 0.247855 -0.584447 \n-0.0726184 0.143681 -0.0109871 -0.614422 -0.724898 -0.31146 \n-0.0776772 0.16611 -0.0367773 -0.574559 -0.698525 -0.426551 \n-0.0150781 0.0938634 -0.0343173 -0.0587579 0.709896 -0.701851 \n-0.0710573 0.154769 -0.0457785 -0.966778 0.0433111 -0.251921 \n-0.0923319 0.125239 0.00915895 -0.930246 0.0874141 -0.356373 \n-0.0760467 0.0910373 -0.0136432 -0.580807 0.0480991 -0.812619 \n-0.0829428 0.0932917 -0.00618563 -0.796916 0.087237 -0.597758 \n-0.0104112 0.0945923 -0.0337849 0.0378373 0.696781 -0.716285 \n-0.0293311 0.114762 -0.0158446 -0.00919766 0.5854 -0.810693 \n-0.0372183 0.115942 -0.015173 0.0763303 0.607037 -0.790999 \n-0.0124299 0.10286 -0.0238225 -0.0273382 0.268735 -0.962826 \n0.00665096 0.0881445 -0.0329458 0.313148 0.16278 -0.93565 \n-0.00641199 0.0928762 -0.0348176 0.125635 0.477934 -0.869364 \n0.0158002 0.119966 -0.0114156 0.349352 0.678491 -0.646222 \n0.0291027 0.102475 -0.0157684 0.491848 0.375274 -0.785656 \n0.0420807 0.0634806 -0.00254053 0.733653 0.0245807 -0.679079 \n0.0287231 0.0979432 -0.0174973 0.581277 0.312859 -0.751157 \n-0.0199876 0.102783 -0.0233929 0.0330771 0.277429 -0.960176 \n0.0337484 0.0836441 -0.0186305 0.544787 -0.0299867 -0.838038 \n-0.0186857 0.186896 -0.0202487 -0.571248 0.783269 -0.245287 \n0.00641549 0.117902 -0.0162827 0.121776 0.610621 -0.782504 \n0.0563052 0.0677699 0.0026525 0.527697 0.445909 -0.722981 \n-0.00536083 0.112894 -0.0196133 0.0362167 0.640017 -0.767507 \n0.0457694 0.0646288 -0.00121661 0.0863952 0.555153 -0.827249 \n-0.0100909 0.0982296 -0.0277314 -0.112116 0.90704 -0.405844 \n-0.0604585 0.117556 -0.0113546 -0.312547 0.566848 -0.762232 \n0.0129339 0.118873 -0.0139794 0.303764 0.56676 -0.76584 \n0.0152357 0.0949779 -0.0244371 0.272323 0.505248 -0.81888 \n-0.0308929 0.047409 -0.024954 -0.287301 0.751753 -0.59357 \n-0.0177662 0.185723 -0.0230493 -0.662287 0.446421 -0.601734 \n-0.0130349 0.110029 -0.0201612 -0.121969 0.55093 -0.825591 \n-0.0712065 0.0386086 0.00077218 -0.856515 0.449151 -0.254255 \n0.0179048 0.106277 -0.0177293 0.264523 0.41065 -0.872579 \n-0.0336235 0.118404 -0.0119275 0.0786064 0.725979 -0.68321 \n-0.0499068 0.117883 -0.0144025 -0.144455 0.535917 -0.831821 \n-0.00668781 0.117472 -0.0153593 -0.0343326 0.631997 -0.77421 \n-0.0154515 0.185976 -0.0247959 0.0112464 0.90548 -0.42424 \n-0.0306039 0.0380385 -0.0301238 0.0452059 0.121851 -0.991518 \n-0.0132203 0.183972 -0.0275195 -0.167838 0.594063 -0.786715 \n-0.0478594 0.111627 -0.0174821 0.0461934 0.431794 -0.900789 \n-0.013099 0.090776 -0.0366593 0.0611785 0.471639 -0.879667 \n-0.0631173 0.154254 0.00297304 0.0488432 0.946392 -0.319308 \n-0.0551398 0.110516 -0.0176727 -0.191848 0.377808 -0.90579 \n-0.0110968 0.182023 -0.0280425 0.859877 0.508398 -0.046292 \n-0.0265689 0.0346958 -0.0291138 0.212619 -0.627115 -0.749346 \n-0.00663966 0.102222 -0.0235193 0.106585 0.208013 -0.972301 \n-0.0569964 0.157417 0.00060244 -0.683853 0.435079 -0.585706 \n0.0190766 0.0918706 -0.0248902 0.381657 0.365072 -0.849153 \n0.0134731 0.124299 -0.00683614 0.324501 0.793357 -0.515058 \n-0.0217305 0.098411 -0.0243069 -0.0628815 0.25372 -0.965232 \n-0.0171422 0.0980575 -0.0249243 -0.130813 0.705443 -0.696591 \n-0.0586981 0.151373 -0.00065801 -0.426949 0.237161 -0.872622 \n0.00356411 0.127649 -0.00446724 0.00666706 0.842061 -0.539341 \n-0.00853698 0.0999212 -0.0243511 -0.00467969 0.685641 -0.727925 \n-0.012172 0.181251 -0.0290612 -0.351024 0.165918 -0.921549 \n-0.061114 0.153052 0.00099983 -0.315261 0.586047 -0.746431 \n-0.0295706 0.117139 -0.0136755 -0.0495448 0.746707 -0.663305 \n0.0305301 0.112212 -0.00818606 0.563154 0.586259 -0.582372 \n-0.0317141 0.0351115 -0.030659 0.111544 -0.0436448 -0.992801 \n-0.0136911 0.179147 -0.0281264 -0.588182 -0.114401 -0.800596 \n0.0116208 0.11549 -0.0163857 0.270262 0.468668 -0.841017 \n-0.0619936 0.150281 -0.00162971 0.526722 0.625457 -0.575646 \n0.036684 0.100996 -0.00984859 0.777159 0.264607 -0.570971 \n0.0485127 0.0717982 0.0060005 0.334419 0.816497 -0.470634 \n-0.00046583 0.119837 -0.0136106 -0.116339 0.724225 -0.679679 \n0.0167472 0.090114 -0.0271272 0.490752 0.419434 -0.7637 \n0.00698324 0.0977301 -0.0248003 0.197153 0.817502 -0.541129 \n-0.0432268 0.0462636 -0.0117717 -0.538419 0.571588 -0.619186 \n-0.00835625 0.113736 -0.0182398 -0.0849313 0.651826 -0.753598 \n-0.0123544 0.115568 -0.0164869 -0.018944 0.587961 -0.808668 \n0.0468345 0.0743541 0.0101395 0.936365 0.337058 -0.0980413 \n0.0253192 0.109317 -0.0135797 0.371841 0.51279 -0.77381 \n-0.0424595 0.113925 -0.016188 -0.00791712 0.464359 -0.885612 \n0.0577446 0.0641584 0.00262776 0.817097 0.140098 -0.559219 \n-0.0597105 0.0365358 -0.0094949 -0.329043 0.214632 -0.9196 \n-0.00320784 0.109621 -0.0215239 0.18566 0.404024 -0.895709 \n0.0270207 0.0613457 -0.0222921 0.698224 -0.0863551 -0.710652 \n0.00710302 0.101912 -0.021231 0.044255 0.385771 -0.921533 \n-0.0382257 0.124655 -0.00732574 0.299702 0.805012 -0.51199 \n0.0259415 0.115764 -0.00821939 0.531134 0.618214 -0.579404 \n-0.061298 0.0339002 -0.00932166 -0.106709 -0.967527 -0.229139 \n-0.0594667 0.14744 -0.00188854 0.26686 0.283222 -0.921179 \n0.0105066 0.100877 -0.0221095 -0.0450034 0.375112 -0.925886 \n0.0330813 0.102734 -0.0127872 0.591818 0.359592 -0.721418 \n0.0125178 0.104754 -0.019916 0.161667 0.365162 -0.916799 \n0.023088 0.0939987 -0.0222107 0.413094 0.294925 -0.86161 \n0.0315554 0.0924847 -0.0182043 0.546605 0.321423 -0.773247 \n0.00627231 0.0999104 -0.0222969 0.128932 0.541394 -0.830824 \n-0.0409172 0.0461218 -0.0179426 -0.55466 0.781068 -0.286854 \n0.0354074 0.0981888 -0.012009 0.68511 0.185864 -0.704329 \n0.00941359 0.121219 -0.0129378 0.178153 0.715945 -0.675044 \n0.0537352 0.0720273 0.006801 0.175728 0.889741 -0.421285 \n0.0256203 0.118807 -0.00503308 0.521494 0.712671 -0.469196 \n-0.0381503 0.0424666 -0.026894 -0.514225 0.525961 -0.67745 \n-0.0282124 0.111169 -0.0180019 -0.10613 0.568173 -0.816037 \n-0.0602536 0.143391 -0.00379063 0.617141 0.303658 -0.725898 \n0.0190169 0.104015 -0.0193331 0.19123 0.66325 -0.723554 \n0.00754467 0.0916822 -0.0316431 0.306459 0.401051 -0.863273 \n-0.00707608 0.122401 -0.0113644 -0.0685127 0.703684 -0.707202 \n-0.0190475 0.0965621 -0.0275799 -0.244106 0.897923 -0.366261 \n-0.0169534 0.106693 -0.022003 0.00831401 0.390054 -0.920754 \n-0.00067307 0.101199 -0.0228578 0.13666 0.33238 -0.933192 \n-0.00901793 0.12528 -0.0077912 -0.201702 0.813268 -0.545813 \n-0.0681362 0.180061 -0.058816 -0.596049 0.00755947 -0.802912 \n-0.0236002 0.115138 -0.0155774 -0.10269 0.687403 -0.71898 \n-0.0598312 0.0428423 -0.00664691 -0.402089 0.595077 -0.69585 \n0.0531241 0.0590124 -0.00288538 0.604295 0.0409331 -0.795708 \n-0.0369318 0.0371074 -0.0297142 -0.292163 0.200775 -0.935056 \n-0.0562151 0.141392 -0.00280273 0.51451 0.280325 -0.810369 \n0.0366959 0.103728 -0.00796215 0.811637 0.410884 -0.415234 \n-0.0358851 0.1204 -0.0106405 0.312155 0.657778 -0.685483 \n-0.00935695 0.0854237 -0.0381125 0.155038 0.237293 -0.958986 \n-0.0601273 0.120414 -0.00937911 -0.148222 0.420683 -0.895017 \n-0.0398428 0.121561 -0.0115703 0.222528 0.63078 -0.743369 \n0.0283222 0.10848 -0.0126234 0.461586 0.485963 -0.742145 \n-0.00187335 0.115939 -0.0171694 -0.119325 0.636208 -0.762234 \n0.0386482 0.0901533 -0.0125497 0.735673 0.290225 -0.612008 \n-0.00173592 0.0922442 -0.0343105 0.252179 0.396425 -0.882753 \n0.0500008 0.0616121 -0.00346499 0.157685 0.475412 -0.865517 \n0.055859 0.0629102 0.00069037 0.628176 0.21165 -0.748731 \n0.0204615 0.115154 -0.0131038 0.431879 0.505591 -0.746899 \n-0.0151658 0.117981 -0.0144655 -0.126012 0.724431 -0.677732 \n-0.0708595 0.0715102 0.0338951 -0.46557 -0.679522 0.567004 \n0.022674 0.086606 -0.0249255 0.4718 0.240794 -0.848188 \n0.0353588 0.0874389 -0.017109 0.627027 0.175437 -0.758986 \n0.0184009 0.121455 -0.00768042 0.412739 0.753243 -0.512125 \n-0.0254259 0.041421 -0.0292048 0.124506 0.143421 -0.981799 \n-0.00820851 0.0967774 -0.0308098 -0.00145488 0.846673 -0.532111 \n-0.0568107 0.0338739 -0.0111663 -0.279334 -0.26819 -0.92198 \n-0.0345886 0.044745 -0.0271229 -0.324816 0.665957 -0.671563 \n-0.0402517 0.118275 -0.0136741 0.142323 0.565157 -0.812614 \n0.016387 0.114023 -0.0154969 0.34686 0.452432 -0.821579 \n0.0426353 0.0607975 -0.00345837 0.0108096 0.429173 -0.903158 \n-0.0506872 0.0359359 -0.0123808 -0.308108 0.256162 -0.916215 \n0.00734468 0.0945096 -0.0296832 0.308264 0.695356 -0.649194 \n-0.0197067 0.0929173 -0.0346369 -0.221293 0.692789 -0.686347 \n-0.012083 0.122192 -0.00971209 -0.227743 0.766665 -0.600299 \n0.0488059 0.0684578 0.00169529 0.0226596 0.678594 -0.734164 \n-0.00308697 0.0984025 -0.0274032 0.0739251 0.8849 -0.459876 \n-0.0531988 0.136729 -0.00165805 0.671053 0.282673 -0.685408 \n-0.0472901 0.130554 0.00169091 0.808191 0.472623 -0.351362 \n0.00446517 0.12044 -0.0139314 -0.0510399 0.731686 -0.679728 \n-0.00238501 0.122905 -0.0103825 0.000183464 0.723204 -0.690635 \n-0.0248333 0.095858 -0.0251621 -0.253222 0.656039 -0.710979 \n-0.0422969 0.0362919 -0.0272536 -0.603367 0.230216 -0.76351 \n-0.0543883 0.134049 -0.00399204 0.5912 0.302715 -0.74756 \n-0.0505394 0.133367 -0.00108722 0.69592 0.37581 -0.611933 \n0.00260403 0.0969427 -0.0284071 0.196617 0.841122 -0.503841 \n-0.00781631 0.128212 -0.00194304 -0.18171 0.938894 -0.292334 \n0.00651117 0.130025 0.00092881 0.0753778 0.945047 -0.318125 \n0.0347429 0.0922741 -0.0156546 0.649598 0.382187 -0.657233 \n-0.0677877 0.180889 -0.058191 -0.0266281 0.960219 -0.277975 \n-0.0337154 0.111516 -0.0180784 0.0317239 0.561203 -0.82707 \n0.00446304 0.124273 -0.00942914 -0.0273048 0.78219 -0.622441 \n-0.0233702 0.0933928 -0.0320318 -0.382601 0.786855 -0.484227 \n-0.0489821 0.129806 -0.00132294 0.510726 0.602746 -0.613071 \n-0.00078164 0.128229 -0.003249 -0.00204617 0.91469 -0.404151 \n0.00249604 0.0898576 -0.0336284 0.296805 0.272712 -0.915169 \n0.00745533 0.111968 -0.0195543 0.237661 0.308441 -0.921076 \n0.0287911 0.0911573 -0.0203702 0.507255 0.273046 -0.817397 \n-0.0535901 0.124375 -0.00734704 -0.150453 0.688035 -0.70991 \n-0.0477436 0.120644 -0.012813 -0.0993301 0.622651 -0.77617 \n-0.0196162 0.121092 -0.00954877 -0.0456104 0.810146 -0.584451 \n-0.0650474 0.179991 -0.0597586 0.0521825 0.680942 -0.730476 \n-0.0517042 0.0376204 -0.0117634 -0.243907 0.261329 -0.933926 \n-0.0521243 0.129298 -0.0041187 0.483284 0.300973 -0.822102 \n-0.0453345 0.128915 0.00158191 0.433079 0.867283 -0.245484 \n-0.00304712 0.129195 -0.0010688 -0.100539 0.94251 -0.318695 \n0.00721296 0.12722 -0.00520737 0.141912 0.859615 -0.490838 \n0.0116693 0.127202 -0.00318509 0.285913 0.845881 -0.450264 \n0.0530564 0.0697088 0.00312914 0.122255 0.735905 -0.665956 \n-0.0630212 0.17811 -0.0603936 0.570118 0.570181 -0.591489 \n0.0282048 0.0643913 -0.020698 0.623835 -0.0278193 -0.781061 \n0.0344002 0.10503 -0.0102249 0.663589 0.449139 -0.598267 \n0.0309752 0.107902 -0.0110584 0.571402 0.488791 -0.65923 \n-0.0489844 0.114805 -0.0159667 -0.0532383 0.444443 -0.894224 \n-0.0328217 0.123005 -0.00590883 0.197349 0.857515 -0.475101 \n-0.0507929 0.127165 -0.00481832 0.101887 0.65338 -0.750143 \n-0.0353017 0.125478 -0.00315428 0.334852 0.882493 -0.330273 \n0.0564553 0.0699515 0.00491917 0.449074 0.722089 -0.526233 \n-0.0162404 0.125122 -0.00364997 -0.189851 0.878715 -0.437969 \n-0.0169704 0.111198 -0.0195864 0.00915839 0.516198 -0.85642 \n-0.0540881 0.0397812 -0.0105447 -0.290848 0.324682 -0.899994 \n-0.0341905 0.047514 -0.0223015 -0.411357 0.857554 -0.308848 \n0.0136991 0.0939142 -0.0264277 0.436908 0.61346 -0.657859 \n0.00088 0.0992349 -0.0243557 0.128456 0.833262 -0.537749 \n-0.0464595 0.12724 -0.00488433 0.107054 0.887838 -0.44753 \n-0.0417355 0.126876 -0.0041742 0.18817 0.936002 -0.297476 \n-0.0210005 0.123136 -0.00611901 -0.115914 0.875917 -0.468331 \n-0.0121305 0.125726 -0.00520079 -0.261261 0.843409 -0.469472 \n-0.00438224 0.126408 -0.00694952 -0.0179024 0.832762 -0.553342 \n0.00140857 0.034782 -0.0232652 0.118564 -0.736082 -0.666428 \n-0.0148462 0.0350709 -0.0260719 0.203606 -0.498428 -0.842683 \n-0.0213995 0.0347951 -0.0279588 0.217977 -0.506462 -0.834256 \n0.0120092 0.0359619 -0.0217358 0.30951 -0.621524 -0.719661 \n0.00382492 0.0361292 -0.0238781 0.171587 -0.400964 -0.899881 \n-0.0511396 0.0966176 -0.0220951 -0.0485797 0.0491217 -0.997611 \n-0.0548133 0.0981025 -0.0214254 -0.234155 0.166102 -0.957905 \n-0.027597 0.169798 -0.0181704 -0.36109 -0.19405 -0.912118 \n0.0133599 0.0393774 -0.0224963 0.25367 -0.311696 -0.915695 \n0.00439193 0.0386744 -0.0241703 0.156651 -0.0554956 -0.986094 \n-0.00684782 0.0364445 -0.0251771 0.123557 -0.420673 -0.898759 \n-0.0132803 0.0376996 -0.0263918 0.156509 -0.163136 -0.974111 \n-0.0476728 0.0361166 -0.0133012 -0.747915 0.381666 -0.543098 \n-0.0455901 0.108538 -0.0187967 -0.0573178 0.417226 -0.906993 \n-0.0500957 0.109909 -0.0185045 -0.0402457 0.362961 -0.930935 \n-0.0657666 0.0364695 -0.0072073 -0.444616 0.17948 -0.877556 \n-0.0234558 0.168247 -0.0188229 -0.187846 -0.4272 -0.884429 \n-0.0045918 0.0384046 -0.0254129 0.126767 -0.120481 -0.984588 \n-0.0249541 0.0374411 -0.0291527 0.206501 -0.0476738 -0.977284 \n0.0290078 0.0373582 -0.00027474 0.21631 -0.812398 -0.541498 \n-0.00794688 0.0414899 -0.0259113 0.152758 -0.063017 -0.986252 \n-0.0168038 0.0397538 -0.0275654 0.212555 -0.0875362 -0.97322 \n-0.0651561 0.140345 -0.00768486 0.240601 -0.081061 -0.967233 \n-0.0470801 0.0407007 -0.0118698 -0.477924 0.353698 -0.804044 \n-0.0684706 0.0374777 -0.00495574 -0.738008 0.321315 -0.593381 \n0.0373268 0.0402095 -0.0008585 0.341054 -0.786663 -0.514629 \n0.0353499 0.041257 -0.00280751 0.207273 -0.644097 -0.736327 \n0.00518207 0.0415363 -0.0240657 0.107518 -0.203199 -0.973216 \n0.0186607 0.100308 -0.0221273 0.260761 0.351787 -0.899027 \n-0.0605108 0.107484 -0.0170423 -0.345084 0.363497 -0.865325 \n-0.0623743 0.0401461 -0.00740402 -0.34371 0.400115 -0.849571 \n0.025457 0.0394839 -0.00402514 0.315678 -0.653197 -0.688245 \n-0.00022828 0.0433949 -0.0251244 0.114664 -0.473477 -0.873311 \n-0.00810884 0.0434391 -0.0261401 0.105525 -0.537818 -0.83643 \n-0.0173624 0.0432374 -0.0276652 0.133544 0.00962391 -0.990996 \n-0.0264167 0.044674 -0.0282097 0.0128727 0.341078 -0.939947 \n0.00380645 0.109443 -0.0202038 0.0508501 0.128354 -0.990424 \n-0.0582324 0.0956904 -0.020616 -0.402506 0.128614 -0.906337 \n-0.0661224 0.0423413 -0.00275388 -0.529296 0.694824 -0.486894 \n-0.0609599 0.094173 -0.0190157 -0.363659 0.0994284 -0.926211 \n0.0313523 0.0426493 -0.0046745 0.192177 -0.566053 -0.801656 \n-0.0335409 0.0363426 0.04909 -0.624702 -0.401919 0.669484 \n0.0172528 0.0443356 -0.0230672 0.467537 -0.331375 -0.819512 \n0.0106377 0.0441616 -0.0249262 0.0947062 -0.353254 -0.930722 \n0.00438431 0.0458067 -0.026789 0.228387 -0.621126 -0.749694 \n-0.00825064 0.0451487 -0.0284411 0.0505371 -0.71565 -0.696629 \n-0.0157484 0.0450439 -0.0278778 -0.0390793 -0.530273 -0.846926 \n0.0289903 0.0446979 -0.0061863 0.301894 -0.455214 -0.83764 \n0.00816864 0.045053 -0.0251787 0.123395 -0.485204 -0.865651 \n-0.00096291 0.0453782 -0.0273083 0.12221 -0.720704 -0.682386 \n-0.00170334 0.0478192 -0.0299289 0.10483 -0.511761 -0.852708 \n-0.0315358 0.0447404 -0.0280794 -0.126213 0.610283 -0.782065 \n-0.0336196 0.156915 -0.0110249 -0.0212154 -0.610873 -0.791445 \n-0.0507512 0.0431096 -0.0100187 -0.324021 0.377812 -0.867334 \n0.0368909 0.0473532 -0.00610571 0.129651 -0.325815 -0.936501 \n0.0249756 0.0426446 -0.00701699 0.578423 -0.640109 -0.505655 \n0.0245624 0.0483696 -0.0196728 0.491229 -0.604817 -0.626809 \n0.013964 0.0455792 -0.0247065 0.33787 -0.343136 -0.876414 \n0.0133761 0.0486303 -0.0265515 0.237086 -0.461493 -0.854877 \n0.00373089 0.048128 -0.029026 0.241759 -0.534793 -0.80966 \n-0.0087947 0.0470569 -0.0298816 -0.0163566 -0.485138 -0.874285 \n-0.0137538 0.0518651 -0.0322435 -0.109736 -0.42771 -0.89723 \n-0.0212008 0.0466571 -0.0279513 -0.263785 -0.163615 -0.950604 \n0.0396935 0.0456586 -0.00452741 0.284803 -0.566984 -0.772927 \n0.0336274 0.0487177 -0.00639046 0.096605 -0.203779 -0.974239 \n-0.0653521 0.0992946 -0.0168201 -0.352724 0.117162 -0.928363 \n0.00128681 0.0503837 -0.0303574 0.203961 -0.198078 -0.958731 \n-0.00817975 0.0498458 -0.0310714 0.0690795 -0.457775 -0.88638 \n-0.0171844 0.0482105 -0.0297419 -0.218391 -0.452467 -0.864626 \n-0.0260495 0.0476925 -0.0261495 -0.339724 0.445151 -0.82851 \n-0.084747 0.110784 0.0394884 -0.29421 -0.945093 0.142267 \n-0.0513169 0.0482707 -0.00793105 -0.438385 0.169157 -0.882726 \n-0.0825065 0.127655 -0.00467964 -0.514651 0.155587 -0.843165 \n0.0386637 0.0516967 -0.00669102 0.0650076 -0.045752 -0.996835 \n-0.0756432 0.0994404 -0.0119276 -0.578908 0.280224 -0.765729 \n0.0202845 0.0513492 -0.0248954 0.459152 -0.470428 -0.753576 \n0.0059436 0.0509767 -0.0291194 0.192629 -0.351709 -0.916076 \n-0.0255283 0.0514727 -0.0268847 -0.702803 -0.246898 -0.667165 \n-0.0355627 0.0493999 -0.012865 -0.401834 0.865371 -0.299437 \n-0.042819 0.162202 -0.0103375 -0.531547 0.00434893 -0.847018 \n-0.0655936 0.176657 -0.0605047 -0.562178 -0.0192352 -0.826792 \n-0.0341511 0.174428 -0.0133126 -0.62069 0.423731 -0.659694 \n0.0436732 0.0501622 -0.00598435 0.266106 -0.334552 -0.904026 \n-0.0503424 0.155462 -0.00519277 -0.500845 -0.0884347 -0.861007 \n0.0254642 0.0540297 -0.021691 0.684506 -0.21734 -0.695855 \n0.0101498 0.0492585 -0.0277506 0.206664 -0.426675 -0.880476 \n-0.0220432 0.053612 -0.0301356 -0.46755 -0.362227 -0.806343 \n-0.0328755 0.0516776 -0.0108887 -0.60335 0.335869 -0.723299 \n-0.0376138 0.0495348 -0.0116261 -0.268643 0.735488 -0.622003 \n-0.0407506 0.0492851 -0.0112862 -0.157773 0.0640978 -0.985393 \n-0.0463852 0.0474909 -0.010086 -0.325747 0.229797 -0.917105 \n0.0444732 0.053293 -0.00633279 0.200787 -0.0273053 -0.979254 \n0.0332056 0.0510206 -0.00723825 0.500551 -0.421836 -0.755978 \n0.0156783 0.0511693 -0.0263978 0.353719 -0.421795 -0.834849 \n0.00683417 0.0550102 -0.0305611 0.0816686 -0.183784 -0.979568 \n0.00214247 0.0555028 -0.0313344 0.237316 -0.287905 -0.927789 \n0.00059285 0.0528679 -0.0305138 0.210525 -0.252051 -0.944537 \n-0.00364814 0.051869 -0.0314579 0.156905 -0.313734 -0.936457 \n-0.00942456 0.0553992 -0.033654 0.208436 -0.231428 -0.950261 \n-0.0193022 0.0582248 -0.0339197 -0.324797 -0.399222 -0.857397 \n-0.0610843 0.133862 -0.00722489 0.301736 0.110306 -0.946989 \n-0.0433098 0.0556568 -0.0114021 -0.0767681 -0.19481 -0.977832 \n-0.0610805 0.168338 -0.0591921 0.993226 -0.0678426 0.0943382 \n0.0475747 0.0529436 -0.00513003 0.449704 -0.180633 -0.874722 \n-0.037403 0.111508 -0.0182433 -0.0585306 0.487427 -0.8712 \n0.0199725 0.0544097 -0.0271082 0.485178 -0.269882 -0.831725 \n0.00539748 0.0583826 -0.0309038 0.217542 -0.198305 -0.955694 \n-0.0106036 0.0536029 -0.0334033 0.0486601 -0.396589 -0.916706 \n-0.0349983 0.0523316 -0.0103474 0.0156127 0.108292 -0.993997 \n-0.0464712 0.0513043 -0.00982998 -0.33362 -0.0877868 -0.938611 \n-0.0679454 0.114936 -0.00951073 -0.412351 0.395335 -0.820778 \n-0.0710482 0.151611 -0.0446793 -0.73419 -0.519941 -0.436608 \n-0.00589038 0.0347906 -0.0242245 0.0270104 -0.693642 -0.719813 \n0.0168421 0.0555557 -0.0282846 0.29185 -0.20173 -0.934948 \n0.010711 0.0546876 -0.0297675 0.24771 -0.261514 -0.932872 \n-0.00118268 0.0594924 -0.0333609 0.224935 -0.268782 -0.936568 \n-0.00523259 0.055689 -0.0328402 0.156687 -0.291113 -0.94377 \n-0.0517058 0.0524708 -0.00740472 -0.582502 -0.105735 -0.805922 \n-0.0526264 0.0600438 -0.00895669 -0.647814 -0.220709 -0.729126 \n-0.0725986 0.0977627 -0.0144345 -0.408526 0.219759 -0.885897 \n0.0443313 0.055818 -0.00603627 0.0102814 0.291149 -0.956623 \n0.0384634 0.0549348 -0.00618225 0.223108 0.128895 -0.966234 \n0.0388386 0.0578083 -0.00525848 0.635413 0.0256114 -0.771747 \n-0.00920154 0.0595101 -0.0344371 0.146278 -0.279302 -0.948996 \n-0.0352626 0.0552849 -0.0105451 0.0572935 -0.156482 -0.986018 \n-0.0383364 0.0545035 -0.0109053 0.0977623 0.00422615 -0.995201 \n-0.0177275 0.0362895 0.0522222 0.246689 -0.509879 0.824116 \n0.0500065 0.0580958 -0.00462118 0.296624 0.117494 -0.947739 \n0.046134 0.0592788 -0.00477696 -0.0175279 0.449125 -0.893297 \n0.0151103 0.0598198 -0.0286458 0.302259 -0.0751865 -0.950256 \n0.0103124 0.0575865 -0.0299952 0.231759 -0.070998 -0.970179 \n-0.00613534 0.0602568 -0.0346958 0.148434 -0.268432 -0.951794 \n-0.0123182 0.0593964 -0.0352685 0.0701019 -0.328012 -0.942069 \n-0.0144669 0.063136 -0.0368659 0.125269 -0.226905 -0.965827 \n-0.0466503 0.059841 -0.0121358 -0.245946 -0.302454 -0.920886 \n-0.0565721 0.124803 -0.00718857 0.199185 0.301165 -0.932537 \n-0.0792375 0.120554 -0.00567448 -0.439846 -0.179206 -0.880012 \n-0.0793348 0.125607 -0.00611759 -0.421531 -0.0109101 -0.906748 \n0.02234 0.0584922 -0.0260141 0.476928 0.00200509 -0.87894 \n0.00762704 0.0620983 -0.0311358 0.27826 -0.206155 -0.938121 \n0.00331017 0.0604568 -0.0324811 0.307983 -0.243489 -0.919706 \n-0.0168119 0.0612752 -0.0359293 -0.171293 -0.378236 -0.909723 \n-0.0324919 0.0571963 -0.0121047 -0.837861 -0.203965 -0.506346 \n-0.0341082 0.0614666 -0.0130531 -0.327959 -0.428662 -0.841838 \n-0.033897 0.0570253 -0.0110476 -0.225879 -0.280927 -0.932769 \n-0.0386236 0.0583033 -0.0115058 0.0299296 -0.301884 -0.952875 \n-0.0450084 0.0627239 -0.0133904 -0.10866 -0.31624 -0.942436 \n-0.056896 0.133987 -0.00562707 0.421523 0.183703 -0.888016 \n-0.0448539 0.15746 -0.00867316 -0.41822 -0.233375 -0.877854 \n-0.0786095 0.0696569 0.0118107 -0.697914 -0.715634 -0.0279894 \n-0.02373 0.101862 -0.0238364 -0.0441369 0.206889 -0.977368 \n-0.0281229 0.0993224 -0.0235801 -0.15382 0.209313 -0.965675 \n-0.0500767 0.149977 -0.00364197 -0.266044 -0.381041 -0.885454 \n-0.0330484 0.0959586 -0.0234265 -0.173157 0.189881 -0.966417 \n0.0195204 0.0620648 -0.0272925 0.431623 -0.135043 -0.891889 \n-0.0388647 0.10334 -0.0206414 -0.0277734 0.230322 -0.972718 \n-0.0489529 0.0562811 -0.0102209 -0.401999 -0.259705 -0.878038 \n-0.053993 0.144987 -0.00110934 0.252904 -0.141158 -0.957138 \n-0.0455306 0.0985108 -0.0217295 -0.0143121 0.143669 -0.989522 \n-0.050911 0.100746 -0.0216194 -0.0852452 0.244234 -0.965962 \n0.0232458 0.0627925 -0.025048 0.611846 -0.000714065 -0.790976 \n0.00974128 0.0631814 -0.0311414 0.293243 -0.165296 -0.94164 \n-0.00086614 0.0645596 -0.0344909 0.223911 -0.0875807 -0.970666 \n-0.0085264 0.0640017 -0.0358505 0.187431 -0.16055 -0.969068 \n-0.0484515 0.0647941 -0.0130299 -0.432142 -0.295426 -0.852043 \n-0.0523252 0.106148 -0.0192712 -0.14574 0.312191 -0.938774 \n-0.0552653 0.102167 -0.0198971 -0.291028 0.29133 -0.911279 \n-0.059042 0.0990322 -0.019223 -0.355794 0.159199 -0.920905 \n-0.0578468 0.104335 -0.0185257 -0.238374 0.226099 -0.944488 \n-0.0271135 0.173322 -0.0185389 -0.531307 0.0889207 -0.8425 \n0.022832 0.0670826 -0.0262975 0.5914 -0.119636 -0.797454 \n0.0145191 0.0645955 -0.0298557 0.313502 -0.180309 -0.932312 \n0.0114713 0.0675814 -0.0309012 0.262695 -0.126502 -0.95655 \n-0.0177394 0.0662608 -0.0376573 -0.191108 -0.277356 -0.941568 \n-0.0650598 0.134521 -0.00808999 0.138529 0.0886993 -0.986378 \n-0.0758293 0.142446 -0.005809 -0.490106 -0.0140493 -0.87155 \n-0.0413623 0.0616373 -0.0128138 0.0138914 -0.364029 -0.931284 \n-0.0561479 0.0619216 -0.00575411 -0.494605 -0.612035 -0.617073 \n-0.0621261 0.0628454 -0.00452026 -0.279506 -0.793599 -0.540441 \n-0.0372925 0.164491 -0.0136271 -0.434834 -0.0519679 -0.89901 \n-0.0198189 0.165095 -0.017609 -0.159015 -0.5776 -0.800682 \n0.00628811 0.0654164 -0.032563 0.283926 -0.136301 -0.949109 \n-0.00592505 0.0695156 -0.0359335 0.222032 -0.172317 -0.959692 \n-0.0105386 0.0679992 -0.0365171 0.245111 -0.168885 -0.954672 \n-0.0353857 0.0668174 -0.0154349 -0.495094 -0.420956 -0.760051 \n-0.0539945 0.0646387 -0.00932549 -0.458219 -0.466306 -0.756699 \n-0.0638523 0.0655723 -0.00693933 -0.322369 -0.737223 -0.593785 \n-0.0639209 0.127742 -0.00854946 0.139598 0.0873963 -0.986344 \n-0.0269407 0.0361841 0.0533518 -0.19529 -0.567995 0.799527 \n0.0196187 0.0670074 -0.0283561 0.449592 -0.109609 -0.886483 \n0.0122752 0.0699339 -0.0315532 0.319179 -0.0873535 -0.94366 \n0.00542651 0.068248 -0.0327305 0.238548 -0.139014 -0.96113 \n-0.00440842 0.0666192 -0.0348702 0.23352 -0.0800956 -0.969047 \n-0.0219113 0.0671448 -0.0365358 -0.457 -0.339725 -0.822033 \n-0.0456432 0.154669 -0.00729694 -0.32123 -0.382277 -0.866416 \n-0.0516735 0.0668507 -0.0121204 -0.191006 -0.610561 -0.768591 \n-0.0581052 0.066466 -0.0100443 -0.200118 -0.749845 -0.630623 \n-0.0569923 0.143119 -0.0022403 0.309073 0.302483 -0.901653 \n-0.0806511 0.131199 -0.00443978 -0.505441 0.18711 -0.84233 \n-0.0565443 0.128509 -0.00620147 0.319276 0.174763 -0.931408 \n0.0177581 0.0701385 -0.0294047 0.396135 -0.00693409 -0.918166 \n0.00649805 0.0707919 -0.0335253 0.299538 -0.19821 -0.933268 \n0.00075831 0.0704345 -0.0344626 0.211394 -0.236801 -0.948282 \n-0.0132359 0.0692928 -0.0379175 0.179811 -0.174159 -0.968161 \n-0.0673908 0.118897 -0.00873014 -0.154655 0.0465765 -0.98687 \n-0.0381195 0.0641623 -0.0138291 -0.0102826 -0.396846 -0.917828 \n0.00185274 0.113034 -0.0197943 -0.0145252 0.401651 -0.915678 \n-0.0759508 0.0681706 0.018118 -0.674308 -0.715524 0.182576 \n-0.010002 0.0726715 -0.0376614 0.229847 -0.08972 -0.969082 \n-0.0179761 0.0706138 -0.0384439 -0.0776307 -0.173657 -0.981742 \n-0.023036 0.0727785 -0.0380726 -0.36701 -0.22639 -0.902248 \n-0.0261201 0.0711775 -0.0354515 -0.605158 -0.297205 -0.738548 \n-0.0685354 0.139294 -0.00780466 -0.0659418 0.0113184 -0.997759 \n-0.035263 0.0710677 -0.0180119 -0.610025 -0.322272 -0.723885 \n-0.0415582 0.069774 -0.0167741 0.00100309 -0.375009 -0.927021 \n-0.0528317 0.0702989 -0.014865 0.0457003 -0.554078 -0.83121 \n-0.0669788 0.067639 -0.00680944 -0.495065 -0.691938 -0.525483 \n-0.0102445 0.178958 -0.0295389 0.780232 0.256929 -0.570285 \n-0.0752726 0.126801 -0.00802417 -0.291321 0.000646203 -0.956625 \n-0.0873599 0.112483 0.0420495 -0.493691 -0.791615 0.360022 \n0.0087503 0.0743016 -0.0333982 0.421448 -0.0529321 -0.905306 \n-0.0642495 0.16045 -0.0570415 0.462484 -0.623819 -0.630047 \n-0.044354 0.0733722 -0.0178744 -0.228653 -0.305757 -0.924246 \n-0.0457626 0.0694453 -0.0159288 -0.201251 -0.376978 -0.904094 \n-0.0479574 0.072543 -0.016107 -0.177676 -0.423497 -0.888303 \n-0.0578226 0.069538 -0.0144165 -0.168629 -0.702599 -0.691317 \n-0.0720716 0.0715382 -0.00747144 -0.510424 -0.708499 -0.487336 \n0.0254729 0.0740945 -0.0249385 0.580423 0.00902692 -0.814265 \n0.0157197 0.0737564 -0.0297478 0.398859 0.0929312 -0.912291 \n0.0048214 0.073764 -0.0345525 0.218878 -0.101493 -0.970459 \n-0.00225286 0.0739213 -0.0358872 0.224478 -0.152846 -0.962418 \n-0.00738349 0.0747996 -0.0372238 0.187283 -0.144867 -0.971565 \n-0.0202253 0.0770952 -0.0390443 -0.0527364 -0.0245724 -0.998306 \n-0.0340162 0.0721013 -0.0208232 -0.896513 -0.269509 -0.351609 \n-0.0384934 0.0728399 -0.0175022 -0.0528816 -0.351035 -0.934868 \n-0.0643926 0.0731163 -0.0153353 -0.323584 -0.611229 -0.722283 \n-0.0644807 0.0701874 -0.0122618 -0.36595 -0.710144 -0.601478 \n-0.0238543 0.161645 -0.0145042 0.030601 -0.725201 -0.687857 \n0.0221044 0.0726926 -0.0269001 0.466414 0.0506958 -0.883112 \n0.0155324 0.076587 -0.0296069 0.421267 0.0106095 -0.906874 \n0.0115741 0.0748606 -0.0313839 0.436705 5.79329e-005 -0.899605 \n-0.0147316 0.0776407 -0.0384907 0.122736 -0.0496594 -0.991196 \n-0.0160188 0.0742888 -0.0388644 0.108415 -0.0508486 -0.992804 \n-0.0511036 0.0730719 -0.0162431 0.0281271 -0.530133 -0.847448 \n-0.0579895 0.0740179 -0.0175223 -0.113818 -0.483649 -0.86783 \n-0.0696084 0.0723229 -0.0109344 -0.471328 -0.669829 -0.573742 \n-0.0759961 0.117141 -0.00655772 -0.412884 -0.275416 -0.868143 \n-0.0379877 0.107515 -0.0199758 -0.019746 0.346665 -0.937781 \n0.0106962 0.0798892 -0.0320096 0.461382 0.0606897 -0.885123 \n-0.00534334 0.0782646 -0.0374769 0.238561 -0.106269 -0.965295 \n-0.026082 0.0761913 -0.0367802 -0.56629 -0.152351 -0.810003 \n-0.039161 0.157189 -0.0105805 -0.167841 -0.508676 -0.84444 \n-0.0656099 0.07586 -0.0167501 -0.302161 -0.385812 -0.871693 \n-0.0701776 0.0756633 -0.0138392 -0.514795 -0.482081 -0.708932 \n-0.0742914 0.0748084 -0.00935379 -0.622401 -0.487283 -0.612512 \n-0.0634289 0.171854 -0.0614122 -0.433772 -0.0937364 -0.896134 \n0.0306849 0.0757269 -0.0207781 0.676261 -0.00752954 -0.736624 \n0.019305 0.0790179 -0.027744 0.4325 0.0539635 -0.900018 \n-0.00859921 0.0793387 -0.0379052 0.1238 -0.081953 -0.988917 \n-0.0232001 0.0765685 -0.0383865 -0.300086 -0.0673452 -0.951532 \n-0.0381178 0.0763901 -0.0186444 -0.169605 -0.293852 -0.940683 \n-0.0442311 0.0776641 -0.0190266 -0.0448078 -0.331179 -0.942503 \n-0.0510255 0.0757051 -0.0181869 0.0729242 -0.499981 -0.862961 \n-0.0705951 0.129948 -0.00876292 -0.106338 0.0651546 -0.992193 \n0.0281477 0.0787854 -0.0224325 0.597433 0.0875291 -0.797128 \n0.0076016 0.0794359 -0.0337146 0.348915 0.0945137 -0.932376 \n0.00495024 0.0780272 -0.0344098 0.258642 0.0357195 -0.965313 \n-0.0158584 0.0811656 -0.0391856 0.0728123 0.018642 -0.997171 \n-0.0185021 0.0833439 -0.0390107 -0.0678528 0.0842762 -0.99413 \n-0.0797393 0.136069 -0.00414821 -0.609538 0.171165 -0.774058 \n-0.0309802 0.166347 -0.0162412 -0.273158 -0.266407 -0.924344 \n-0.0357498 0.0772483 -0.019374 -0.666588 -0.339557 -0.663598 \n-0.0489447 0.0790864 -0.0195757 0.0602486 -0.430009 -0.900812 \n-0.0550659 0.0780892 -0.0197555 -0.00787445 -0.450393 -0.892796 \n0.023706 0.0802404 -0.0254501 0.506607 0.0970151 -0.856702 \n0.0122541 0.0834567 -0.0307716 0.416667 0.0613399 -0.906987 \n0.00185499 0.0846928 -0.0348385 0.334861 0.126561 -0.933729 \n-0.00020857 0.0789414 -0.0357821 0.290441 -0.0414314 -0.955996 \n-0.0004271 0.0829474 -0.0363807 0.368095 0.0691354 -0.927214 \n-0.00441016 0.0827945 -0.0374672 0.216277 0.018799 -0.976151 \n-0.0332023 0.105783 -0.0206476 -0.164191 0.414324 -0.895196 \n-0.039207 0.0815364 -0.020571 -0.132061 -0.330547 -0.934505 \n-0.0603554 0.0797666 -0.0193755 -0.252478 -0.245485 -0.935944 \n-0.0417718 0.103967 -0.0208329 0.0132488 0.205126 -0.978646 \n-0.011204 0.0827133 -0.0384896 0.129154 -0.00104368 -0.991624 \n-0.0231815 0.081687 -0.0383292 -0.281553 0.100698 -0.954247 \n-0.0272332 0.080571 -0.0366207 -0.491654 -0.00392302 -0.870782 \n-0.0354702 0.0801961 -0.0223259 -0.789212 -0.213533 -0.575802 \n-0.0448642 0.0819979 -0.0204735 0.0363376 -0.306676 -0.95112 \n-0.0506479 0.0823094 -0.0213659 0.0791099 -0.311141 -0.947066 \n-0.0555226 0.0819276 -0.0213538 -0.143172 -0.201087 -0.969054 \n-0.0880896 0.111355 0.0185161 -0.695843 -0.6978 0.169936 \n-0.0720361 0.111079 0.0453614 0.187188 -0.926302 0.326995 \n-0.0333598 0.169864 -0.015449 -0.512753 0.134232 -0.847977 \n-0.066839 0.0621705 0.0215768 -0.366136 -0.856941 0.362764 \n0.0307306 0.081969 -0.0200405 0.583527 0.0277561 -0.81162 \n0.0162243 0.0864804 -0.028952 0.470236 0.139881 -0.871385 \n-0.0698556 0.100279 -0.0148478 -0.426286 0.270415 -0.863224 \n-0.0638362 0.0817046 -0.0189089 -0.277477 -0.0759035 -0.957729 \n-0.0679148 0.0801363 -0.0171282 -0.409605 -0.252482 -0.876628 \n-0.0457521 0.163408 -0.00817805 -0.618366 0.168912 -0.767524 \n0.0117275 0.0880108 -0.0308601 0.40209 0.142159 -0.904497 \n0.00733348 0.08527 -0.0328294 0.362518 0.116277 -0.924695 \n-0.00343565 0.0870179 -0.036461 0.251885 0.261313 -0.93181 \n-0.0269641 0.0845128 -0.0363617 -0.497315 0.232099 -0.835947 \n-0.0365534 0.0853162 -0.0225762 -0.463285 -0.267034 -0.845021 \n-0.0387911 0.0852327 -0.0219176 -0.339583 -0.243556 -0.908495 \n-0.0576769 0.0862583 -0.0210983 -0.290431 -0.0388556 -0.956107 \n-0.0625818 0.0863945 -0.0191693 -0.283842 0.00537073 -0.958856 \n-0.0713953 0.124688 -0.00859442 -0.0766191 -0.0204986 -0.99685 \n0.0148016 0.0990409 -0.0228429 0.0645604 0.329409 -0.941977 \n-0.0211629 0.174919 -0.0219771 -0.478666 -0.166543 -0.862057 \n-0.0148242 0.0872888 -0.0383171 0.0263653 0.250739 -0.967696 \n-0.0232858 0.089468 -0.0360272 -0.329945 0.496355 -0.802974 \n-0.0515957 0.0844221 -0.021601 -0.0333461 -0.0531283 -0.998031 \n-0.069481 0.0856565 -0.0171984 -0.365641 0.0216423 -0.930504 \n-0.0709172 0.107548 -0.0114966 -0.459336 0.351142 -0.815911 \n0.0301453 0.086284 -0.0204081 0.528081 0.119678 -0.840718 \n-0.0555781 0.115677 -0.014646 -0.249509 0.516065 -0.819404 \n-0.00809811 0.0890701 -0.0365522 0.154272 0.347891 -0.924755 \n-0.0812063 0.112051 -0.00088299 -0.68426 -0.185211 -0.705326 \n-0.0187722 0.089838 -0.0369917 -0.106342 0.489601 -0.865438 \n-0.0211004 0.0865877 -0.0378491 -0.22104 0.27769 -0.934896 \n-0.0258099 0.0888896 -0.0350823 -0.554454 0.514366 -0.654223 \n-0.0489848 0.0907318 -0.0218172 -0.0177542 -0.0332269 -0.99929 \n-0.0358749 0.034776 -0.0308452 -0.158931 -0.599212 -0.784656 \n-0.0331644 0.0336065 -0.0297219 0.0401889 -0.931078 -0.362601 \n-0.025964 0.033487 -0.0263211 0.0589701 -0.979229 -0.193993 \n-0.0167175 0.0336116 -0.0246254 0.0647885 -0.974545 -0.214626 \n-0.00534863 0.033829 -0.0226004 0.0697768 -0.953016 -0.294774 \n0.00648435 0.034293 -0.0208549 0.106153 -0.964119 -0.243325 \n0.0139503 0.03488 -0.0186129 0.374089 -0.861764 -0.342666 \n-0.042466 0.0341891 -0.0272606 -0.528782 -0.64595 -0.55058 \n-0.0332411 0.0335788 -0.0267194 -0.0138994 -0.999838 -0.0114523 \n0.00628135 0.0341658 -0.0187642 -2.33947e-006 -0.999231 0.0392089 \n-0.0442658 0.0336637 -0.0219144 -0.165504 -0.982402 -0.0865691 \n-0.0236715 0.033631 -0.0232178 -0.00157566 -0.995423 0.0955558 \n-0.0115586 0.0338954 -0.0210543 -0.0020787 -0.992868 0.119205 \n-0.00204064 0.0340539 -0.0193311 0.00290984 -0.994993 0.0998977 \n0.00173239 0.0344597 -0.0166079 -0.094279 -0.901008 0.423433 \n-0.0273161 0.0339101 -0.0213537 -0.00545366 -0.845893 0.533324 \n-0.0133711 0.0343616 -0.0190237 -0.0633996 -0.870203 0.488598 \n0.00958873 0.0342072 -0.0154241 -0.0618538 -0.992218 0.108066 \n-0.0149815 0.0358782 -0.0179924 -0.119023 -0.591567 0.797422 \n-0.00234743 0.0359031 -0.0159297 -0.124906 -0.614263 0.779153 \n0.00225443 0.0364115 -0.014784 -0.229049 -0.610802 0.75793 \n-0.0351991 0.0338352 -0.0205083 0.112997 -0.975273 0.189933 \n-0.0260755 0.0359186 -0.0194052 -0.0518266 -0.640433 0.766263 \n0.00827406 0.0356452 -0.0126487 -0.336439 -0.779746 0.528019 \n0.0104736 0.0347426 -0.0112629 -0.555205 -0.831086 -0.0323018 \n0.0140554 0.0344834 -0.0144957 0.125716 -0.990898 -0.0481304 \n-0.0369705 0.0356804 -0.0150078 0.543194 -0.74663 0.384036 \n-0.00247195 0.0384088 -0.014159 -0.118191 -0.849422 0.514309 \n-0.0394819 0.0336182 -0.0236125 0.0058617 -0.999974 0.00427471 \n-0.0410915 0.034006 -0.0119975 0.243986 -0.966431 0.0805095 \n-0.0315898 0.0355923 -0.0192042 0.213574 -0.736976 0.64129 \n-0.0200863 0.0380645 -0.0172208 -0.069401 -0.788131 0.611583 \n-0.0111132 0.0382903 -0.0156464 -0.0851186 -0.7955 0.599946 \n0.00445226 0.0377052 -0.0129577 -0.217488 -0.882999 0.415947 \n0.0158705 0.0344162 -0.00296665 0.0710123 -0.997362 -0.0150268 \n-0.047872 0.0341363 -0.0154183 -0.823137 -0.0984251 -0.559247 \n-0.0475216 0.0336227 -0.0128046 -0.0629614 -0.997088 -0.0430302 \n-0.0334073 0.037577 -0.0161582 0.352999 -0.845216 0.401251 \n-0.0278515 0.0384043 -0.0172104 0.0474542 -0.936654 0.347026 \n-0.00850653 0.039029 -0.0130008 0.0134138 -0.99885 0.046032 \n0.00645525 0.0381652 -0.0101649 -0.497301 -0.859281 0.119698 \n0.00741471 0.0346592 -0.00301168 -0.360389 -0.90515 -0.225441 \n0.0119662 0.0343354 -0.00595713 -0.0229024 -0.999673 -0.0113447 \n0.0204148 0.0355676 -0.00378069 0.712644 -0.658851 -0.240941 \n-0.0192888 0.0387626 -0.0142026 0.0166582 -0.998817 0.0456831 \n-0.00113901 0.0391768 -0.0103814 -0.0431392 -0.995391 0.0856496 \n0.00381492 0.0390245 -0.00808273 -0.161102 -0.986671 -0.0229564 \n0.00752082 0.0367334 -0.00676143 -0.633923 -0.734672 -0.24166 \n0.0199681 0.034844 -0.00189849 0.233583 -0.966514 -0.106257 \n-0.0450584 0.0336005 -0.0125275 0.0433638 -0.998991 0.0116732 \n-0.0307548 0.0386398 -0.0140508 0.0364007 -0.998993 0.0262308 \n-0.0514998 0.0337291 -0.0120825 -0.0976211 -0.967362 -0.233838 \n-0.0237569 0.0385857 -0.0110933 0.00816547 -0.999856 -0.0148838 \n0.00397347 0.0382086 -0.00379635 -0.540204 -0.764777 -0.351134 \n0.00954854 0.0342326 0.0017162 0.0188742 -0.988517 0.149927 \n0.0290866 0.0358 0.00356309 0.239515 -0.925886 -0.292178 \n-0.0559652 0.0335299 -0.00912462 -0.0187322 -0.999206 -0.035162 \n-0.0195235 0.0385052 -0.00454345 0.0233521 -0.999451 -0.0235214 \n0.0163635 0.0343948 0.00229486 0.00756543 -0.993916 0.109877 \n0.0213247 0.034624 0.0056444 -0.236875 -0.938145 0.252536 \n-0.0396703 0.036174 -0.00733977 0.740855 -0.654301 0.151737 \n-0.0142517 0.038648 -0.00430304 0.0270894 -0.999363 -0.0232365 \n0.00232623 0.0353482 0.0023246 -0.561949 -0.751645 -0.345316 \n0.0140143 0.0357038 0.00388789 0.0262047 -0.994774 0.098683 \n0.0153228 0.0362397 0.00366285 0.0773318 -0.996378 0.0353504 \n0.0237531 0.0346707 0.00398853 0.156644 -0.970777 -0.181807 \n0.0323692 0.035816 0.00702463 0.281458 -0.941762 -0.184028 \n-0.0637159 0.0337769 -0.00800656 -0.388741 -0.366099 -0.84549 \n-0.0642669 0.0335625 -0.00512532 -0.0181934 -0.999306 -0.0324915 \n-0.0380666 0.0385186 -0.00730796 0.371318 -0.928506 -0.000264262 \n-0.00943088 0.0388877 -0.00748487 0.0301697 -0.99923 -0.0250709 \n0.00396778 0.0342002 0.00497545 -0.0894759 -0.995898 -0.0134954 \n0.00942926 0.0360304 0.00452751 0.0440879 -0.998914 0.0150849 \n0.029859 0.0349801 0.00983493 0.188195 -0.981972 -0.0177052 \n-0.0527301 0.0334979 -0.00181175 0.0097577 -0.999952 -0.000808278 \n-0.041271 0.0338554 -0.00188008 0.416694 -0.887976 -0.194587 \n-0.0031105 0.0389462 -0.00277939 0.00999136 -0.999375 -0.0339082 \n0.00621941 0.0351341 0.00654928 0.353245 -0.933238 -0.0654632 \n0.0208979 0.0359371 0.0087849 -0.344229 -0.904716 0.25099 \n0.035606 0.0365266 0.00981553 0.358397 -0.932856 -0.0364997 \n-0.0670783 0.0338401 -0.00616883 -0.372402 -0.838641 -0.39749 \n-0.0008114 0.0374242 0.00477215 -0.68056 -0.664792 -0.308041 \n0.00314923 0.0341253 0.0117622 -0.277739 -0.960654 -0.00222776 \n0.0049172 0.0339971 0.00916661 0.149358 -0.988783 -0.0002288 \n0.0251308 0.0345469 0.0110126 -0.132361 -0.989651 0.0554265 \n0.0282486 0.0350464 0.0160167 0.170888 -0.978199 0.117999 \n-0.067033 0.065146 0.0272929 -0.437172 -0.79754 0.415704 \n-0.0463802 0.0336052 -0.00089435 0.0345676 -0.999318 -0.012972 \n-0.0331634 0.0381954 -0.0005252 0.33595 -0.908805 -0.24741 \n-0.0320742 0.0383234 -0.00042109 0.0133895 -0.999565 -0.0262904 \n-0.0216927 0.038266 0.00451008 0.0206598 -0.999586 -0.0200292 \n0.0239308 0.0348167 0.0177392 -0.0267421 -0.99957 0.0120474 \n0.0427191 0.0399771 0.00893216 0.456658 -0.888563 -0.0438096 \n-0.0586041 0.0334622 -0.00021667 -0.0053857 -0.999976 -0.00444072 \n-0.0373144 0.033633 0.00457247 0.299006 -0.938151 -0.17455 \n-0.010424 0.0384886 0.00622927 0.0188927 -0.99949 -0.0257503 \n-0.00138969 0.0386514 0.00239665 -0.104801 -0.991355 -0.0789445 \n-0.00030845 0.0354625 0.00826072 -0.539894 -0.833579 -0.116875 \n-0.0014089 0.0361931 0.0129446 -0.53661 -0.843066 0.035917 \n0.0222529 0.0365833 0.0139797 -0.00633378 -0.998021 -0.0625638 \n-0.0709618 0.0343457 -0.00078374 -0.772521 -0.542744 -0.329606 \n-0.0690662 0.0337176 -0.00019761 -0.130266 -0.991476 -0.00262029 \n-0.0648256 0.0335059 0.00282225 -0.0315299 -0.999284 0.0209084 \n-0.0470597 0.0335019 0.00356464 0.00333188 -0.999908 0.0131145 \n-0.00369538 0.0381728 0.0130468 -0.301217 -0.953491 -0.0110875 \n0.0334758 0.0364473 0.016267 0.299242 -0.938481 0.17236 \n0.0372496 0.0375099 0.0148158 0.402201 -0.909454 0.105489 \n-0.0456759 0.0337036 0.00643003 -0.0290965 -0.957825 0.285876 \n-0.0386393 0.0339373 0.00855065 -0.178033 -0.921702 0.34463 \n-0.00950641 0.0383526 0.0155707 0.00582842 -0.999982 -0.00121116 \n0.0214998 0.0358071 0.0181694 -0.203235 -0.917961 -0.340651 \n0.0448765 0.041231 0.0160083 0.454464 -0.88346 0.113847 \n-0.072474 0.0362559 0.00155326 -0.972809 -0.036605 -0.228698 \n-0.0714981 0.034453 0.00420265 -0.509966 -0.859543 0.0334723 \n-0.0277909 0.0380629 0.00793761 0.337145 -0.925018 -0.175144 \n-0.0165564 0.0382865 0.0102158 0.0191074 -0.999705 -0.0149798 \n0.00810435 0.0348429 0.0181346 0.126348 -0.989539 -0.0696335 \n0.0235895 0.0358906 0.0253377 0.307644 -0.92627 0.217668 \n0.0412613 0.0405851 0.0207519 0.396299 -0.878695 0.266162 \n-0.0513509 0.0336457 0.00803294 0.139945 -0.982346 0.124147 \n-0.0471043 0.0355495 0.00808039 0.177701 -0.970663 0.161973 \n-0.00141035 0.0369999 0.016982 -0.631094 -0.738076 0.238672 \n0.00091714 0.0348034 0.0156347 -0.475932 -0.86888 0.13615 \n0.00288879 0.0346363 0.0188498 -0.161516 -0.976304 0.144026 \n0.0132792 0.0343795 0.0214237 -0.0116833 -0.998752 -0.0485639 \n0.0143227 0.0344255 0.0215932 0.114455 -0.992332 -0.0466524 \n0.0174901 0.0346463 0.0220409 0.0387362 -0.995547 -0.0859433 \n0.0298685 0.0362488 0.0198722 0.296798 -0.905434 0.30348 \n-0.039222 0.0363262 0.0107899 0.0588756 -0.998192 -0.0121186 \n-0.0303071 0.0339954 0.0147064 0.0732358 -0.996824 0.0312738 \n0.0200812 0.0351727 0.0280188 0.196355 -0.977503 0.0770201 \n0.024989 0.0381046 0.0294296 0.549332 -0.760098 0.34711 \n0.0335841 0.0383039 0.0229287 0.292511 -0.895739 0.334796 \n0.0490157 0.0445736 0.0206595 0.518616 -0.806857 0.282875 \n-0.058226 0.0666073 0.0350503 -0.239768 -0.757981 0.60661 \n-0.0673308 0.0338464 0.00872663 -0.12828 -0.988894 0.0750483 \n-0.0346923 0.0338287 0.0124386 -0.326769 -0.93871 0.109754 \n-0.0298032 0.034287 0.0163531 0.577459 -0.804279 -0.140269 \n0.00170238 0.0363109 0.0211796 -0.525319 -0.753564 0.395197 \n0.045137 0.0446254 0.0255165 0.479609 -0.746889 0.460577 \n-0.0688765 0.110222 0.0390046 0.361178 -0.832437 0.420237 \n-0.0576806 0.0336227 0.0140403 -0.0383464 -0.998429 0.0408654 \n-0.0532105 0.0335853 0.013987 0.0889763 -0.995605 -0.0292222 \n-0.0357116 0.0358916 0.0155029 -0.101909 -0.992884 -0.0616035 \n-0.0288615 0.0353967 0.01735 0.725865 -0.654109 0.212748 \n-0.0265805 0.0377426 0.0157053 0.616012 -0.785554 0.0586001 \n-0.00109744 0.0381478 0.020427 -0.363177 -0.892177 0.268556 \n0.0350477 0.0409739 0.0269704 0.246768 -0.780595 0.574261 \n-0.0696855 0.0344788 0.00979843 -0.35267 -0.909265 0.221047 \n-0.054019 0.0333099 0.015848 0.126195 -0.986548 -0.103915 \n0.00448168 0.0371178 0.0247553 -0.497766 -0.690261 0.525136 \n0.00666055 0.0352047 0.0243159 -0.389347 -0.807209 0.443647 \n0.0083833 0.0347487 0.0240573 -0.129072 -0.984118 0.121865 \n0.0388831 0.041033 0.0249766 0.359446 -0.822269 0.441217 \n-0.00264419 0.0387271 0.0251313 0.0106025 -0.998472 0.0542406 \n0.00322223 0.0387084 0.0258988 -0.181898 -0.949373 0.256131 \n0.00900165 0.0368909 0.0284822 -0.472863 -0.734608 0.486572 \n0.013197 0.0348358 0.031631 -0.190552 -0.981287 0.0276654 \n0.0222916 0.0370533 0.033101 0.554144 -0.80895 0.196274 \n0.0289484 0.03916 0.0272348 0.346801 -0.75117 0.561669 \n-0.0877735 0.111814 0.0371443 -0.480501 -0.876971 -0.0064484 \n-0.0178705 0.0382039 0.0202432 0.0279858 -0.999498 0.0148339 \n0.0100874 0.0370477 0.0308225 -0.662769 -0.748399 0.0252265 \n0.0422966 0.0454358 0.0290409 0.412175 -0.718769 0.559895 \n-0.0843413 0.11388 0.0465135 -0.343241 -0.655164 0.673012 \n-0.0737957 0.108956 0.0392172 0.0980291 -0.873597 0.476675 \n-0.0512433 0.0642392 0.034258 -0.444931 -0.608558 0.657033 \n-0.0617774 0.0340179 0.0169006 -0.114012 -0.991928 0.0555076 \n-0.0366651 0.0353042 0.023032 -0.296307 -0.954082 -0.0439224 \n-0.0149302 0.0386435 0.0293783 0.0238292 -0.997793 0.0619864 \n-0.0808945 0.109672 0.0379102 -0.293602 -0.952248 0.0837952 \n-0.0898226 0.113872 0.0328453 -0.647071 -0.742635 -0.172606 \n-0.0696555 0.0687284 0.0311279 -0.460312 -0.753956 0.468682 \n-0.0784498 0.109888 0.0425179 -0.139092 -0.94131 0.307554 \n-0.0758241 0.107949 0.0371288 -0.378706 -0.785321 0.489748 \n-0.0557406 0.0341281 0.0266744 -0.0210162 -0.998579 0.0489777 \n-0.0382796 0.035429 0.0243806 -0.474361 -0.380162 -0.794014 \n-0.0352833 0.0341798 0.0227449 -0.0369252 -0.999144 -0.0186253 \n-0.0257981 0.037865 0.0199815 0.0438912 -0.998726 0.0249069 \n0.00690643 0.0390043 0.0295485 -0.384934 -0.907245 0.169507 \n0.015449 0.0348524 0.0369849 0.077376 -0.995831 0.0482975 \n0.0191282 0.0356406 0.0366423 0.377207 -0.916562 0.132775 \n-0.063665 0.0660478 0.0318281 -0.323137 -0.795226 0.513029 \n0.0396048 0.0449395 0.0299924 0.207222 -0.653752 0.727783 \n-0.0802943 0.0717024 0.0159953 -0.776366 -0.614654 0.13949 \n-0.0541854 0.0673227 0.0369356 -0.12046 -0.647202 0.752741 \n-0.0731102 0.148472 -0.0287485 -0.667633 -0.734996 -0.118518 \n-0.059 0.0737515 0.0411971 -0.196292 -0.520581 0.830942 \n-0.0595207 0.0610403 -0.00237538 -0.300082 -0.878252 -0.372323 \n-0.0627918 0.0345968 0.0235056 -0.550463 -0.834717 -0.0154262 \n-0.0418955 0.0336683 0.02694 0.0576749 -0.998116 -0.0209104 \n0.00898082 0.0376394 0.0339008 -0.55573 -0.761892 -0.332694 \n0.00852878 0.034888 0.0362651 -0.0759002 -0.885494 -0.458409 \n-0.0898039 0.114981 0.0427716 -0.706505 -0.53798 0.459813 \n-0.0655454 0.0744304 0.0391681 -0.343839 -0.51422 0.785718 \n-0.0646442 0.0617232 0.00022552 -0.329254 -0.901243 -0.281695 \n0.00524969 0.0395071 0.0332712 -0.0947435 -0.977301 -0.189489 \n0.0202503 0.0370332 0.0393272 0.616526 -0.701157 0.358155 \n-0.0670064 0.0632929 -0.00174939 -0.492629 -0.745121 -0.449568 \n-0.0644798 0.0606515 0.00423432 -0.341551 -0.916768 -0.207071 \n-0.0572196 0.0570005 0.00491758 -0.862922 -0.504733 -0.0246937 \n-0.0743628 0.072437 0.03143 -0.621063 -0.60736 0.495373 \n-0.062019 0.0343432 0.0318833 -0.0716712 -0.99711 0.0252049 \n-0.0468708 0.0344441 0.0305131 -0.0104801 -0.997504 0.0698298 \n-0.0208143 0.038401 0.0278684 0.019755 -0.997913 0.06148 \n0.0164394 0.0356351 0.041281 0.302271 -0.912218 0.276569 \n-0.0690872 0.11205 0.0453201 0.422064 -0.846003 0.325793 \n-0.0718116 0.148613 -0.0346395 -0.220739 -0.95686 -0.188928 \n-0.0695388 0.0630748 0.00357582 -0.510016 -0.822568 -0.251528 \n-0.0848639 0.0783921 0.016462 -0.816686 -0.561991 0.13111 \n-0.0911888 0.115889 0.0247055 -0.740428 -0.651817 0.164015 \n-0.0888278 0.113592 0.0238736 -0.63814 -0.748455 0.180532 \n-0.0713028 0.113254 0.0494445 0.191585 -0.802115 0.565603 \n-0.0548769 0.0702823 0.0388282 -0.0567087 -0.585785 0.80848 \n-0.0772089 0.107159 0.0347383 -0.772579 -0.368205 0.517249 \n-0.0612418 0.0590074 0.00809166 -0.338165 -0.934619 -0.110146 \n-0.0658856 0.0350251 0.0294165 -0.768008 -0.618245 -0.167146 \n-0.0578894 0.0344196 0.0362658 -0.00310474 -0.999566 0.0292915 \n-0.0518477 0.0344703 0.0346352 0.016172 -0.999593 0.0235091 \n-0.0348346 0.0347214 0.0345782 0.314857 -0.944888 0.0897261 \n-0.0309847 0.0381919 0.0323901 0.425695 -0.904718 0.0164009 \n-0.00496131 0.0393649 0.0367022 -0.0447098 -0.989449 -0.137811 \n0.0122242 0.0351775 0.0426206 0.0425395 -0.995848 0.0804827 \n-0.0748982 0.114589 0.0507765 -0.191614 -0.666012 0.72091 \n-0.0804691 0.11358 0.0466434 -0.191868 -0.585419 0.7877 \n-0.0741076 0.069586 0.0272644 -0.582985 -0.736073 0.343984 \n-0.0790026 0.0763393 0.0292481 -0.719421 -0.554148 0.418752 \n-0.0652971 0.034779 0.0337443 -0.289236 -0.956463 0.0390041 \n-0.0336564 0.0343441 0.0369141 0.0564023 -0.916138 -0.396875 \n0.00493185 0.0348148 0.0434621 0.0533336 -0.984966 0.164306 \n0.0113474 0.036213 0.0446523 0.198896 -0.654664 0.729284 \n-0.0605693 0.0711545 0.0386538 -0.234053 -0.631178 0.739482 \n-0.0889795 0.114509 0.028446 -0.597981 -0.801498 0.0044623 \n-0.0685435 0.0610905 0.0105578 -0.423813 -0.901393 -0.0887369 \n-0.082711 0.11649 0.0485185 -0.104422 -0.37174 0.922445 \n-0.0419132 0.0344677 0.0332 -0.00919561 -0.998961 0.0446363 \n-0.0112898 0.0395292 0.0388441 -0.0415727 -0.995058 -0.0901754 \n-0.00282619 0.0348853 0.0456114 0.0462388 -0.975267 0.216138 \n-0.0645612 0.0594841 0.0130617 -0.312549 -0.949747 0.0171258 \n-0.0585814 0.0578015 0.0134295 -0.249888 -0.968271 0.00264021 \n-0.02332 0.0391695 0.0384733 0.136349 -0.985018 -0.105586 \n-0.0181599 0.0393223 0.0394029 0.0198354 -0.333635 -0.942494 \n-0.0164714 0.0348128 0.0436847 0.0122092 -0.999681 0.0220903 \n0.00329066 0.0358335 0.0460246 0.189765 -0.453618 0.870758 \n-0.0852296 0.112007 0.0304169 -0.453571 -0.884396 -0.110077 \n-0.0856447 0.111317 0.0342348 -0.383763 -0.91494 -0.124943 \n-0.0745304 0.0666807 0.00469533 -0.677597 -0.696974 -0.234709 \n-0.071113 0.0627515 0.00879955 -0.619382 -0.779326 -0.0949578 \n-0.0611494 0.0588344 0.0165394 -0.269898 -0.939868 0.209292 \n-0.0469123 0.0346272 0.0397397 0.0125482 -0.998839 0.0465104 \n-0.0407603 0.0346682 0.0404925 0.0101599 -0.994007 0.10884 \n-0.0263231 0.034658 0.0434735 -0.0116515 -0.998802 0.0475209 \n-0.00318366 0.0362299 0.0478731 0.244615 -0.372384 0.895262 \n-0.0799405 0.109167 0.0341198 -0.476127 -0.875134 0.0862747 \n-0.0597122 0.0631653 0.0287892 -0.240418 -0.857296 0.45524 \n-0.0511766 0.0680619 0.0373983 -0.208455 -0.566016 0.797604 \n-0.0501266 0.0709331 0.039481 -0.17619 -0.52988 0.829569 \n-0.0727901 0.0643999 0.0152059 -0.650277 -0.756426 0.0704245 \n-0.0685112 0.0612146 0.0153541 -0.493346 -0.863409 0.105526 \n-0.0393432 0.0354402 0.0424926 -0.0589876 -0.932188 0.357135 \n-0.00813059 0.0350083 0.0475024 0.0584685 -0.979432 0.19312 \n-0.0660807 0.0702027 0.0355529 -0.336112 -0.673867 0.657976 \n-0.0686026 0.149923 -0.0400513 0.399392 -0.884441 -0.241351 \n-0.0717221 0.067023 0.0249598 -0.577654 -0.749963 0.322291 \n-0.075115 0.066557 0.0102441 -0.70723 -0.706456 -0.0273112 \n-0.0651466 0.0359457 0.0397751 -0.895971 -0.188125 0.4023 \n-0.0368986 0.0359246 0.0447942 -0.681079 -0.333759 0.651718 \n-0.00947804 0.0359776 0.0494342 0.256988 -0.457044 0.85151 \n-0.085176 0.117068 0.0481394 -0.412945 -0.30761 0.857235 \n-0.0633664 0.0627903 0.0256476 -0.292808 -0.866548 0.404175 \n-0.0666333 0.0610017 0.0181012 -0.347123 -0.911901 0.218957 \n-0.0581676 0.0599852 0.0226061 -0.273727 -0.898951 0.341995 \n-0.0642122 0.0349926 0.0394019 -0.285538 -0.94316 0.170048 \n-0.0534258 0.03456 0.0427824 0.013834 -0.997525 0.0689408 \n-0.0180315 0.03486 0.0492648 0.0179468 -0.994016 0.107752 \n-0.0114404 0.0376408 0.0502757 0.32028 -0.0302121 0.946841 \n-0.0751653 0.111543 0.0467072 -0.080059 -0.873214 0.480717 \n-0.0771684 0.0698264 0.00506056 -0.688722 -0.694632 -0.207722 \n-0.0728014 0.0643826 0.0120891 -0.687808 -0.725862 0.00670491 \n-0.078022 0.0709952 0.0213221 -0.724559 -0.649004 0.231968 \n-0.0612634 0.0346904 0.0419949 -0.101191 -0.98654 0.12845 \n-0.0544037 0.0350073 0.0448746 0.00451939 -0.934896 0.354894 \n-0.0457543 0.035207 0.0435181 0.0774501 -0.946018 0.314723 \n-0.0338324 0.0351688 0.0469579 -0.112601 -0.984897 0.131521 \n-0.0286576 0.0350834 0.0505494 -0.0774857 -0.981178 0.176875 \n-0.0153064 0.0352464 0.0501338 0.106405 -0.883504 0.456179 \n-0.0652836 0.155924 -0.0498659 0.854349 -0.493134 -0.164032 \n-0.0664679 0.148715 -0.0315793 0.561115 -0.791446 -0.242409 \n-0.062096 0.163883 -0.0583859 0.905711 -0.3858 -0.175629 \n-0.0632749 0.152457 -0.0322217 0.838317 -0.496036 -0.226216 \n-0.0437557 0.147734 -0.00214332 0.252298 -0.843277 -0.474583 \n-0.0656969 0.145616 -0.0189747 0.466684 -0.845074 -0.260875 \n-0.0667137 0.153588 -0.0490971 0.416424 -0.816983 -0.398911 \n-0.0104828 0.166683 -0.0217461 0.168014 -0.800353 -0.575506 \n-0.0627445 0.163975 -0.0593983 0.349537 -0.446742 -0.823557 \n-0.0704132 0.141292 -0.00845908 -0.234871 -0.660872 -0.7128 \n-0.0615304 0.140376 -0.00627347 0.455343 0.212477 -0.86459 \n-0.0114525 0.172206 -0.026845 -0.378988 -0.523114 -0.763361 \n-0.0637311 0.16577 -0.0601036 -0.219256 -0.318472 -0.922227 \n-0.0282188 0.157581 -0.0109995 0.1362 -0.763637 -0.631117 \n-0.0184713 0.159677 -0.0111695 0.178337 -0.864217 -0.470452 \n-0.0667007 0.152368 -0.0452664 0.683274 -0.709303 -0.173281 \n-0.0498964 0.146709 -0.00186142 -0.0113931 -0.591191 -0.806451 \n-0.0314496 0.154605 -0.00768023 0.25949 -0.854018 -0.450907 \n-0.0674477 0.155077 -0.0515942 0.114421 -0.830898 -0.544534 \n-0.0109066 0.176493 -0.0292463 -0.407945 -0.268423 -0.872657 \n-0.0720836 0.149656 -0.0392659 -0.437376 -0.851405 -0.289502 \n-0.0642308 0.148778 -0.0258997 0.736656 -0.647628 -0.194723 \n-0.0630566 0.143416 -0.00749077 0.860745 -0.198784 -0.468617 \n-0.0530434 0.140925 -0.00047408 0.641386 0.0573751 -0.76507 \n-0.0392694 0.152052 -0.00662038 0.0563081 -0.719034 -0.69269 \n-0.0647969 0.152106 -0.0361855 0.702142 -0.66142 -0.263667 \n-0.0644003 0.158344 -0.0542564 0.865777 -0.476443 -0.153072 \n-0.0661781 0.142183 -0.00937663 0.322964 -0.794778 -0.513831 \n-0.0677514 0.146052 -0.0233333 0.189614 -0.953031 -0.236175 \n-0.0647316 0.154101 -0.0404648 0.857862 -0.48195 -0.178317 \n-0.0242656 0.156877 -0.00785093 0.280025 -0.907332 -0.313584 \n-0.0157232 0.163123 -0.0163966 -0.0311796 -0.78803 -0.614847 \n-0.0708877 0.144046 -0.0149085 -0.193966 -0.950788 -0.24162 \n-0.0443418 0.151138 -0.00568598 -0.0965884 -0.591393 -0.800578 \n-0.0628968 0.146948 -0.0130986 0.94231 -0.312675 -0.119522 \n-0.0637554 0.144289 -0.0113957 0.665244 -0.687878 -0.290301 \n-0.0682146 0.143909 -0.0149842 -0.0385248 -0.935524 -0.351155 \n-0.0502714 0.143366 0.0015153 0.584298 -0.572357 -0.575329 \n-0.0285356 0.162085 -0.014786 -0.0802292 -0.527846 -0.845542 \n-0.0658107 0.143591 -0.0125854 0.252604 -0.914464 -0.316142 \n-0.0561792 0.137744 -0.00406743 0.545348 0.272 -0.79285 \n-0.0688669 0.147233 -0.0287399 0.0468743 -0.97532 -0.215763 \n-0.0609654 0.170021 -0.0608394 0.893162 -0.155567 -0.421972 \n-0.0138955 0.167872 -0.0218972 -0.316292 -0.599499 -0.735228 \n-0.069413 0.151218 -0.0445385 -0.00836999 -0.913036 -0.407794 \n-0.0550398 0.0573097 0.0169909 -0.35207 -0.918795 0.178502 \n3 1068 1646 1577 \n3 1057 908 938 \n3 420 1175 237 \n3 1054 1100 1041 \n3 237 1058 1125 \n3 1253 29 1260 \n3 1064 1070 0 \n3 1036 1129 1119 \n3 1569 2380 1584 \n3 2433 2501 2472 \n3 1631 1653 1645 \n3 1143 1165 668 \n3 1201 1439 304 \n3 1070 1089 0 \n3 1554 1569 1583 \n3 1183 1173 403 \n3 64 431 11 \n3 1031 1084 573 \n3 1788 2206 2222 \n3 1153 1117 1183 \n3 1140 1085 1153 \n3 98 1116 341 \n3 403 1173 418 \n3 488 1999 1997 \n3 1117 1173 1183 \n3 1195 402 135 \n3 1494 716 1489 \n3 1803 401 1206 \n3 2271 1397 890 \n3 1099 1001 803 \n3 1595 1594 2380 \n3 207 419 1206 \n3 401 207 1206 \n3 1454 1934 1924 \n3 1175 1058 237 \n3 1149 1039 347 \n3 1956 1536 2050 \n3 1123 1188 938 \n3 1803 1206 1822 \n3 1380 1299 1108 \n3 382 383 1181 \n3 1084 1085 1140 \n3 1039 1045 131 \n3 219 1494 1187 \n3 419 260 1206 \n3 260 419 1064 \n3 1054 1132 1100 \n3 1053 420 402 \n3 181 1108 1 \n3 1180 1206 319 \n3 544 1569 1560 \n3 34 341 431 \n3 1023 573 1140 \n3 431 341 11 \n3 1488 1080 1546 \n3 1180 319 1804 \n3 1515 1682 1506 \n3 356 1116 1046 \n3 1560 1569 1554 \n3 1089 1195 1205 \n3 1046 1202 1050 \n3 1164 201 1120 \n3 1098 340 300 \n3 1173 239 418 \n3 921 920 832 \n3 1120 1079 384 \n3 814 20 1182 \n3 34 98 341 \n3 1082 397 261 \n3 105 93 1316 \n3 93 291 1316 \n3 291 94 1316 \n3 939 1038 1032 \n3 1299 1305 432 \n3 20 211 470 \n3 1119 1130 1036 \n3 832 920 687 \n3 1116 356 341 \n3 105 270 93 \n3 385 226 1374 \n3 1129 1043 1052 \n3 418 239 218 \n3 1254 1243 31 \n3 1556 1080 1488 \n3 2061 2119 2108 \n3 2033 2109 429 \n3 22 314 1110 \n3 290 93 270 \n3 290 291 93 \n3 49 385 94 \n3 963 733 664 \n3 1615 1584 1610 \n3 444 1083 401 \n3 573 1084 1140 \n3 1653 340 1652 \n3 219 1187 1639 \n3 341 68 11 \n3 416 260 327 \n3 291 49 94 \n3 203 226 385 \n3 49 203 385 \n3 1275 1470 1310 \n3 1205 1195 135 \n3 1032 1054 1041 \n3 1036 1043 1129 \n3 1179 319 416 \n3 1120 201 1079 \n3 324 202 270 \n3 290 75 291 \n3 291 236 49 \n3 2158 1695 1766 \n3 582 928 849 \n3 1583 1584 1615 \n3 1494 1489 1187 \n3 1556 1488 1659 \n3 1077 1068 1493 \n3 1971 1991 1970 \n3 182 1225 1999 \n3 324 428 202 \n3 291 75 236 \n3 1151 226 1142 \n3 1487 1411 1488 \n3 1637 1645 1652 \n3 1946 1868 2467 \n3 202 305 290 \n3 305 75 290 \n3 236 247 49 \n3 203 1142 226 \n3 2394 13 428 \n3 1501 880 2499 \n3 0 1089 201 \n3 1651 1652 1098 \n3 2116 1862 2495 \n3 49 247 203 \n3 159 791 993 \n3 883 887 856 \n3 543 2116 2495 \n3 1089 1205 201 \n3 2462 878 2491 \n3 428 305 202 \n3 497 187 417 \n3 864 883 856 \n3 993 997 1013 \n3 883 896 887 \n3 1794 947 1801 \n3 207 1034 1070 \n3 1064 0 1065 \n3 376 434 1376 \n3 303 428 13 \n3 303 305 428 \n3 72 59 73 \n3 247 591 203 \n3 845 2263 828 \n3 896 911 905 \n3 1003 990 991 \n3 1421 1420 1232 \n3 979 9 302 \n3 1057 921 908 \n3 2435 2448 2417 \n3 393 434 376 \n3 434 474 445 \n3 474 473 445 \n3 335 336 360 \n3 337 234 371 \n3 623 147 128 \n3 811 305 595 \n3 1725 991 1018 \n3 944 1513 1510 \n3 1068 1626 1627 \n3 1811 1822 1180 \n3 1164 1120 168 \n3 446 474 434 \n3 2486 2457 900 \n3 41 58 45 \n3 400 6 186 \n3 1009 969 796 \n3 1512 219 1639 \n3 2473 2490 2461 \n3 593 306 1013 \n3 397 1512 1639 \n3 306 593 1025 \n3 544 2380 1569 \n3 402 420 237 \n3 444 401 126 \n3 1610 1630 1615 \n3 1804 1179 1147 \n3 393 446 434 \n3 2340 2412 2375 \n3 74 73 59 \n3 540 46 41 \n3 46 58 41 \n3 540 41 27 \n3 916 930 1102 \n3 896 905 882 \n3 2483 2067 778 \n3 887 882 856 \n3 260 1064 327 \n3 362 1306 348 \n3 376 362 393 \n3 443 746 463 \n3 322 337 361 \n3 91 115 73 \n3 591 633 96 \n3 981 1026 1003 \n3 1019 981 1003 \n3 1083 1053 1034 \n3 207 401 1083 \n3 420 1118 1175 \n3 1206 1180 1822 \n3 1178 1186 1159 \n3 262 295 1342 \n3 1297 295 1306 \n3 1306 295 348 \n3 404 362 348 \n3 404 393 362 \n3 404 446 393 \n3 361 371 383 \n3 337 371 361 \n3 982 1003 986 \n3 121 133 138 \n3 414 439 413 \n3 74 91 73 \n3 225 185 245 \n3 795 786 699 \n3 1118 1058 1175 \n3 121 113 90 \n3 623 128 115 \n3 640 557 630 \n3 1310 1317 1486 \n3 99 1161 1169 \n3 1652 340 1098 \n3 1315 1982 272 \n3 262 276 295 \n3 295 357 348 \n3 435 446 404 \n3 108 553 569 \n3 503 1384 2500 \n3 114 121 90 \n3 2067 2459 778 \n3 42 776 162 \n3 377 404 348 \n3 357 377 348 \n3 447 446 435 \n3 447 475 446 \n3 77 76 107 \n3 74 59 46 \n3 1763 2480 1794 \n3 716 713 1511 \n3 1489 716 1500 \n3 237 1125 167 \n3 1877 1865 825 \n3 2024 2359 2366 \n3 250 277 262 \n3 277 276 262 \n3 276 317 295 \n3 295 317 357 \n3 317 349 357 \n3 377 435 404 \n3 383 371 1181 \n3 453 439 414 \n3 986 1003 991 \n3 492 475 447 \n3 322 787 337 \n3 402 237 135 \n3 1564 1502 1473 \n3 296 276 277 \n3 296 317 276 \n3 357 349 377 \n3 377 387 435 \n3 475 492 499 \n3 72 104 59 \n3 322 336 311 \n3 952 1572 2357 \n3 141 160 118 \n3 453 442 439 \n3 1861 1870 1404 \n3 296 318 317 \n3 559 46 540 \n3 169 1322 110 \n3 356 1046 1049 \n3 1118 97 1058 \n3 1837 1876 1899 \n3 2358 229 250 \n3 349 363 377 \n3 448 447 435 \n3 448 492 447 \n3 184 185 225 \n3 442 468 478 \n3 873 164 2479 \n3 462 443 463 \n3 63 104 90 \n3 1181 439 1128 \n3 1957 1650 2501 \n3 1237 2033 190 \n3 250 278 277 \n3 277 278 296 \n3 363 387 377 \n3 482 492 448 \n3 133 147 138 \n3 243 267 258 \n3 909 941 929 \n3 104 114 90 \n3 23 29 17 \n3 1131 486 1058 \n3 1868 1946 2020 \n3 2496 2493 2462 \n3 2358 2384 229 \n3 229 279 250 \n3 250 279 278 \n3 278 307 296 \n3 296 307 318 \n3 318 363 317 \n3 363 349 317 \n3 387 394 435 \n3 435 394 448 \n3 492 471 499 \n3 121 128 133 \n3 124 141 123 \n3 372 399 392 \n3 23 556 29 \n3 2263 2277 2250 \n3 1260 29 1268 \n3 1729 1861 1876 \n3 251 279 229 \n3 342 363 318 \n3 363 342 387 \n3 62 63 90 \n3 398 392 415 \n3 415 443 462 \n3 161 188 141 \n3 767 372 325 \n3 188 660 176 \n3 188 198 660 \n3 846 886 863 \n3 532 746 443 \n3 1743 1021 1417 \n3 1169 523 728 \n3 120 1341 127 \n3 1235 1243 25 \n3 279 280 278 \n3 280 307 278 \n3 342 318 307 \n3 342 364 387 \n3 387 364 394 \n3 364 405 394 \n3 405 448 394 \n3 482 476 492 \n3 476 490 471 \n3 492 476 471 \n3 77 108 76 \n3 165 173 195 \n3 480 149 813 \n3 62 58 63 \n3 325 372 392 \n3 642 259 42 \n3 229 252 251 \n3 448 440 482 \n3 440 476 482 \n3 414 415 462 \n3 225 245 244 \n3 463 469 453 \n3 322 361 336 \n3 51 36 1282 \n3 252 280 251 \n3 280 279 251 \n3 308 307 280 \n3 329 342 307 \n3 365 364 342 \n3 440 448 405 \n3 463 813 14 \n3 882 905 886 \n3 336 361 370 \n3 478 497 289 \n3 246 745 1002 \n3 24 36 556 \n3 639 929 668 \n3 2485 2498 2458 \n3 308 329 307 \n3 342 329 365 \n3 440 436 476 \n3 289 497 417 \n3 123 118 107 \n3 76 123 107 \n3 588 124 108 \n3 569 588 108 \n3 124 161 141 \n3 1044 432 1033 \n3 1206 260 319 \n3 2003 2473 2494 \n3 1214 1227 2284 \n3 364 395 405 \n3 395 421 405 \n3 421 436 440 \n3 405 421 440 \n3 58 46 59 \n3 50 77 65 \n3 360 370 382 \n3 195 214 213 \n3 462 453 414 \n3 26 40 534 \n3 52 1282 36 \n3 83 1298 1282 \n3 1804 319 1179 \n3 253 252 221 \n3 253 280 252 \n3 308 365 329 \n3 395 364 365 \n3 455 476 436 \n3 483 490 476 \n3 2479 2484 2492 \n3 417 187 186 \n3 52 84 1282 \n3 84 83 1282 \n3 419 1070 1064 \n3 263 280 253 \n3 297 308 280 \n3 367 365 366 \n3 367 395 365 \n3 1638 1563 1138 \n3 559 47 46 \n3 81 470 211 \n3 24 37 36 \n3 201 1205 1079 \n3 263 297 280 \n3 297 330 308 \n3 308 330 365 \n3 330 366 365 \n3 395 367 421 \n3 421 455 436 \n3 490 1191 312 \n3 1698 2063 1709 \n3 461 442 478 \n3 370 361 383 \n3 2501 2475 2463 \n3 370 383 382 \n3 20 731 211 \n3 1570 1628 1626 \n3 37 38 52 \n3 36 37 52 \n3 38 84 52 \n3 1172 1183 403 \n3 1005 2141 1673 \n3 200 254 253 \n3 254 263 253 \n3 367 406 421 \n3 449 455 421 \n3 449 483 455 \n3 455 483 476 \n3 313 1191 490 \n3 2026 2500 2488 \n3 2474 2470 2487 \n3 550 491 731 \n3 463 480 813 \n3 1080 1493 1546 \n3 200 230 254 \n3 406 449 421 \n3 483 493 490 \n3 493 326 490 \n3 326 313 490 \n3 875 796 994 \n3 846 855 828 \n3 124 142 161 \n3 133 128 147 \n3 1563 1570 1626 \n3 416 319 260 \n3 327 1064 1065 \n3 169 155 200 \n3 155 230 200 \n3 230 281 254 \n3 281 263 254 \n3 449 484 483 \n3 483 484 493 \n3 2462 2485 2478 \n3 158 184 166 \n3 491 67 211 \n3 731 491 211 \n3 67 81 211 \n3 1310 1470 1295 \n3 100 155 110 \n3 331 263 281 \n3 331 297 263 \n3 331 330 297 \n3 330 331 366 \n3 406 422 449 \n3 449 422 484 \n3 803 1001 1442 \n3 2483 778 945 \n3 688 442 461 \n3 439 688 1128 \n3 165 166 173 \n3 37 30 38 \n3 111 144 100 \n3 100 144 155 \n3 155 255 230 \n3 331 422 367 \n3 366 331 367 \n3 367 422 406 \n3 945 778 919 \n3 1431 1260 1448 \n3 460 477 452 \n3 463 14 469 \n3 30 53 38 \n3 38 53 84 \n3 85 100 84 \n3 144 209 155 \n3 281 282 331 \n3 282 368 331 \n3 368 422 331 \n3 422 407 484 \n3 853 875 964 \n3 77 107 65 \n3 439 442 688 \n3 373 2464 960 \n3 928 518 978 \n3 53 85 84 \n3 155 240 255 \n3 255 281 230 \n3 255 282 281 \n3 388 422 368 \n3 388 407 422 \n3 407 456 484 \n3 456 48 484 \n3 484 48 493 \n3 493 134 326 \n3 174 82 313 \n3 1166 1139 1482 \n3 195 173 214 \n3 696 15 67 \n3 1037 81 15 \n3 139 116 140 \n3 1653 1652 1645 \n3 1233 53 30 \n3 85 111 100 \n3 209 240 155 \n3 922 916 910 \n3 696 33 15 \n3 144 192 209 \n3 255 264 282 \n3 264 309 282 \n3 282 309 368 \n3 309 343 368 \n3 343 369 368 \n3 369 388 368 \n3 408 407 388 \n3 408 465 407 \n3 465 456 407 \n3 465 48 456 \n3 48 134 493 \n3 173 224 214 \n3 1013 765 601 \n3 825 2219 2214 \n3 1077 1493 1080 \n3 1272 69 85 \n3 119 111 85 \n3 145 144 111 \n3 145 192 144 \n3 264 255 240 \n3 222 264 240 \n3 485 48 465 \n3 174 326 134 \n3 104 121 114 \n3 479 14 680 \n3 224 233 214 \n3 730 33 696 \n3 85 53 1272 \n3 69 119 85 \n3 192 240 209 \n3 298 309 264 \n3 309 332 343 \n3 343 350 369 \n3 423 465 408 \n3 134 48 174 \n3 213 214 233 \n3 47 74 46 \n3 33 8 1037 \n3 15 33 1037 \n3 202 290 270 \n3 8 557 753 \n3 1194 396 1119 \n3 119 145 111 \n3 145 193 192 \n3 265 264 222 \n3 265 298 264 \n3 298 332 309 \n3 332 350 343 \n3 381 382 391 \n3 398 415 414 \n3 265 332 298 \n3 350 351 369 \n3 423 485 465 \n3 486 174 48 \n3 6 116 186 \n3 1181 413 439 \n3 40 41 45 \n3 289 288 496 \n3 2501 2463 2472 \n3 371 398 413 \n3 1569 1584 1583 \n3 1065 0 1164 \n3 0 201 1164 \n3 119 69 101 \n3 156 145 119 \n3 193 222 192 \n3 222 240 192 \n3 351 378 369 \n3 369 378 388 \n3 409 408 388 \n3 2477 1408 1957 \n3 805 944 1001 \n3 156 193 145 \n3 266 265 222 \n3 266 332 265 \n3 378 409 388 \n3 409 437 408 \n3 437 423 408 \n3 189 204 142 \n3 336 370 360 \n3 2214 829 825 \n3 1630 1645 1637 \n3 101 156 119 \n3 156 194 193 \n3 194 222 193 \n3 194 210 222 \n3 222 210 266 \n3 266 299 332 \n3 299 333 350 \n3 332 299 350 \n3 350 333 351 \n3 409 410 437 \n3 437 485 423 \n3 486 48 485 \n3 874 593 988 \n3 107 580 65 \n3 224 244 243 \n3 311 335 334 \n3 150 753 106 \n3 273 1385 299 \n3 351 333 378 \n3 922 1728 1095 \n3 243 244 267 \n3 462 463 453 \n3 413 398 414 \n3 14 479 469 \n3 1646 1068 1077 \n3 908 921 832 \n3 386 416 327 \n3 132 156 101 \n3 1313 132 101 \n3 132 194 156 \n3 1147 1178 1159 \n3 1045 1166 181 \n3 378 410 409 \n3 791 338 228 \n3 390 6 667 \n3 184 225 173 \n3 460 289 496 \n3 2026 503 2500 \n3 1195 1053 402 \n3 727 1018 751 \n3 2458 2482 2460 \n3 1290 1263 54 \n3 132 1355 194 \n3 194 1355 210 \n3 411 437 410 \n3 3 485 437 \n3 457 3 437 \n3 3 486 485 \n3 1719 1571 1770 \n3 244 274 267 \n3 1868 2020 2058 \n3 234 398 371 \n3 63 59 104 \n3 835 2491 878 \n3 1314 132 1313 \n3 1330 1381 1355 \n3 1309 925 1127 \n3 6 1120 116 \n3 118 160 610 \n3 379 378 333 \n3 378 379 410 \n3 466 3 457 \n3 494 486 3 \n3 494 1125 486 \n3 415 399 532 \n3 478 468 497 \n3 73 115 72 \n3 477 460 496 \n3 392 399 415 \n3 60 1290 54 \n3 504 1998 2473 \n3 1998 2490 2473 \n3 198 188 35 \n3 1163 1164 168 \n3 1178 386 248 \n3 389 410 379 \n3 410 389 411 \n3 457 437 411 \n3 494 167 1125 \n3 479 468 469 \n3 115 121 104 \n3 417 186 139 \n3 184 173 166 \n3 165 147 166 \n3 469 468 442 \n3 39 54 31 \n3 60 70 1290 \n3 70 102 1290 \n3 1183 1172 1153 \n3 633 513 96 \n3 424 457 411 \n3 916 922 930 \n3 2471 2488 852 \n3 753 640 566 \n3 43 566 1162 \n3 453 469 442 \n3 39 31 1248 \n3 32 39 1248 \n3 55 54 39 \n3 55 60 54 \n3 450 1264 438 \n3 1179 416 1178 \n3 1098 300 1076 \n3 1188 1057 938 \n3 1058 220 1131 \n3 597 1073 1074 \n3 411 425 424 \n3 649 185 184 \n3 233 243 258 \n3 225 244 224 \n3 1032 1041 1029 \n3 2491 835 246 \n3 6 168 1120 \n3 1461 1321 1481 \n3 424 466 457 \n3 495 3 466 \n3 1750 2467 2479 \n3 289 417 139 \n3 325 788 761 \n3 141 176 160 \n3 164 1750 2479 \n3 86 102 70 \n3 102 86 103 \n3 1179 1178 1147 \n3 416 386 1178 \n3 2080 2059 2030 \n3 1153 1172 1140 \n3 180 130 196 \n3 441 424 425 \n3 613 143 142 \n3 875 1009 796 \n3 39 44 55 \n3 55 44 60 \n3 86 70 60 \n3 1562 1436 1589 \n3 1120 384 116 \n3 1147 1159 1136 \n3 1448 1458 1438 \n3 1027 2461 928 \n3 441 458 424 \n3 458 466 424 \n3 167 494 3 \n3 495 167 3 \n3 1762 1402 1443 \n3 139 186 116 \n3 243 233 224 \n3 245 739 268 \n3 371 413 1181 \n3 39 546 44 \n3 44 61 60 \n3 61 86 60 \n3 86 87 103 \n3 1083 516 1053 \n3 386 327 1063 \n3 2466 2496 2484 \n3 285 1362 301 \n3 204 188 161 \n3 289 139 288 \n3 213 233 223 \n3 392 398 808 \n3 314 1130 396 \n3 301 320 352 \n3 1163 168 390 \n3 426 458 441 \n3 216 495 466 \n3 216 167 495 \n3 977 968 2073 \n3 360 382 381 \n3 268 275 244 \n3 1439 10 304 \n3 61 87 86 \n3 327 1065 1063 \n3 1065 1164 1163 \n3 241 286 301 \n3 1362 241 301 \n3 286 320 301 \n3 1178 248 1186 \n3 982 1019 1003 \n3 463 746 480 \n3 787 322 275 \n3 268 244 245 \n3 87 88 1324 \n3 170 171 241 \n3 359 352 320 \n3 359 1353 352 \n3 1056 1063 1163 \n3 2183 2187 2182 \n3 459 458 450 \n3 459 466 458 \n3 148 167 216 \n3 148 135 167 \n3 115 128 121 \n3 108 123 76 \n3 158 166 147 \n3 27 41 40 \n3 56 87 61 \n3 44 56 61 \n3 1335 1324 88 \n3 88 71 1335 \n3 146 171 170 \n3 171 257 241 \n3 257 256 241 \n3 256 286 241 \n3 256 320 286 \n3 344 359 320 \n3 359 380 1353 \n3 1068 937 1654 \n3 386 472 248 \n3 269 216 466 \n3 129 135 148 \n3 850 846 828 \n3 982 986 974 \n3 188 176 141 \n3 87 71 88 \n3 183 257 171 \n3 256 287 320 \n3 1264 450 458 \n3 269 148 216 \n3 225 224 173 \n3 26 27 40 \n3 108 124 123 \n3 546 56 44 \n3 56 57 87 \n3 87 57 71 \n3 2475 2483 2457 \n3 146 183 171 \n3 183 212 257 \n3 257 242 256 \n3 242 287 256 \n3 344 320 287 \n3 390 168 6 \n3 467 459 450 \n3 467 487 459 \n3 269 466 459 \n3 487 269 459 \n3 1205 135 129 \n3 480 792 149 \n3 142 204 161 \n3 141 118 123 \n3 57 89 71 \n3 89 127 71 \n3 146 172 183 \n3 172 212 183 \n3 212 232 257 \n3 257 232 242 \n3 353 359 344 \n3 353 380 359 \n3 1025 990 306 \n3 267 311 258 \n3 1205 129 1079 \n3 115 104 72 \n3 138 147 165 \n3 274 311 267 \n3 187 400 186 \n3 2478 2458 2460 \n3 57 62 89 \n3 1063 1065 1163 \n3 1063 472 386 \n3 287 310 344 \n3 310 353 344 \n3 995 993 306 \n3 451 467 438 \n3 451 477 467 \n3 477 487 467 \n3 140 129 148 \n3 1563 1638 1562 \n3 546 40 56 \n3 2080 2106 2059 \n3 381 380 353 \n3 496 269 487 \n3 288 148 269 \n3 288 140 148 \n3 113 121 138 \n3 58 59 63 \n3 274 322 311 \n3 400 667 6 \n3 40 45 56 \n3 56 45 57 \n3 1458 1344 1268 \n3 1341 120 157 \n3 165 172 157 \n3 212 223 232 \n3 232 258 242 \n3 242 321 287 \n3 321 310 287 \n3 452 477 451 \n3 496 288 269 \n3 911 910 905 \n3 275 322 274 \n3 275 274 244 \n3 45 62 57 \n3 89 120 127 \n3 172 213 212 \n3 212 213 223 \n3 258 321 242 \n3 335 310 321 \n3 335 353 310 \n3 360 381 353 \n3 1042 438 1289 \n3 496 487 477 \n3 384 129 140 \n3 384 1079 129 \n3 143 189 142 \n3 534 40 546 \n3 120 165 157 \n3 334 335 321 \n3 353 335 360 \n3 2003 2480 1763 \n3 697 438 1042 \n3 288 139 140 \n3 922 1095 930 \n3 649 184 158 \n3 45 58 62 \n3 62 90 89 \n3 89 113 120 \n3 120 138 165 \n3 172 195 213 \n3 258 334 321 \n3 2477 2501 2433 \n3 311 336 335 \n3 89 90 113 \n3 113 138 120 \n3 165 195 172 \n3 223 233 232 \n3 233 258 232 \n3 258 311 334 \n3 1123 915 1188 \n3 541 540 529 \n3 461 478 289 \n3 268 782 275 \n3 812 566 640 \n3 275 782 787 \n3 81 1037 1332 \n3 815 700 702 \n3 671 136 602 \n3 624 634 623 \n3 2456 2438 1972 \n3 766 532 528 \n3 2467 1868 2479 \n3 661 189 638 \n3 710 719 718 \n3 629 638 613 \n3 160 653 637 \n3 780 990 981 \n3 1226 30 515 \n3 647 638 629 \n3 629 613 589 \n3 2097 543 1898 \n3 577 578 585 \n3 696 491 550 \n3 528 532 399 \n3 868 858 869 \n3 1731 923 913 \n3 1003 1026 990 \n3 800 590 602 \n3 635 675 650 \n3 875 948 964 \n3 2206 1788 1858 \n3 75 738 236 \n3 187 680 14 \n3 577 603 598 \n3 796 615 994 \n3 509 2034 1364 \n3 75 811 616 \n3 616 738 75 \n3 1467 92 1764 \n3 595 545 811 \n3 1456 1304 1476 \n3 759 196 149 \n3 670 772 764 \n3 585 608 603 \n3 590 699 631 \n3 475 2311 473 \n3 2083 2026 2488 \n3 581 589 570 \n3 1554 2448 1995 \n3 673 545 595 \n3 811 654 616 \n3 160 176 660 \n3 598 603 635 \n3 699 786 575 \n3 775 674 571 \n3 775 673 674 \n3 616 633 738 \n3 590 631 648 \n3 611 545 673 \n3 616 654 633 \n3 727 751 705 \n3 570 2310 2304 \n3 774 673 775 \n3 774 611 673 \n3 611 627 545 \n3 545 627 811 \n3 811 627 654 \n3 619 629 614 \n3 619 647 629 \n3 666 652 645 \n3 809 781 784 \n3 149 196 813 \n3 533 1516 1999 \n3 701 571 2377 \n3 747 775 571 \n3 654 612 633 \n3 910 916 904 \n3 647 678 661 \n3 726 770 712 \n3 749 806 798 \n3 638 189 143 \n3 661 678 199 \n3 701 747 571 \n3 774 775 747 \n3 627 717 654 \n3 625 657 644 \n3 790 777 789 \n3 611 810 627 \n3 612 513 633 \n3 1379 1755 1672 \n3 569 589 613 \n3 719 740 718 \n3 1073 794 834 \n3 613 638 143 \n3 611 774 810 \n3 717 734 654 \n3 654 734 612 \n3 797 337 787 \n3 635 651 675 \n3 570 589 554 \n3 527 729 686 \n3 689 701 2311 \n3 475 689 2311 \n3 810 717 627 \n3 720 777 726 \n3 747 701 689 \n3 734 685 612 \n3 1516 2001 2126 \n3 653 684 666 \n3 568 587 605 \n3 512 530 537 \n3 537 548 547 \n3 548 552 547 \n3 549 587 548 \n3 1902 868 869 \n3 690 774 747 \n3 690 599 774 \n3 599 810 774 \n3 810 562 717 \n3 562 735 717 \n3 717 735 734 \n3 735 646 734 \n3 734 646 685 \n3 685 744 612 \n3 744 513 612 \n3 568 605 604 \n3 653 666 637 \n3 850 856 846 \n3 587 568 548 \n3 689 690 747 \n3 679 513 744 \n3 2126 2001 2093 \n3 746 700 480 \n3 399 372 528 \n3 599 535 810 \n3 535 562 810 \n3 1305 226 1151 \n3 521 23 17 \n3 522 23 521 \n3 864 856 850 \n3 2030 2059 1539 \n3 766 700 746 \n3 617 651 608 \n3 651 635 608 \n3 572 21 709 \n3 641 698 729 \n3 1521 1517 2475 \n3 499 628 690 \n3 689 499 690 \n3 690 628 599 \n3 779 643 640 \n3 578 577 560 \n3 130 667 196 \n3 196 667 813 \n3 788 808 797 \n3 621 759 149 \n3 620 562 535 \n3 672 744 685 \n3 672 817 744 \n3 817 679 744 \n3 679 95 513 \n3 2494 2461 1027 \n3 1027 582 574 \n3 662 793 663 \n3 628 760 599 \n3 760 756 599 \n3 599 756 535 \n3 620 695 562 \n3 754 735 562 \n3 695 754 562 \n3 632 735 754 \n3 632 646 735 \n3 622 685 646 \n3 632 622 646 \n3 685 622 672 \n3 818 679 817 \n3 679 818 95 \n3 1728 1676 1095 \n3 2481 1898 2470 \n3 536 535 756 \n3 535 536 620 \n3 672 818 817 \n3 2427 221 229 \n3 24 23 522 \n3 24 556 23 \n3 37 24 18 \n3 709 21 271 \n3 662 758 793 \n3 1119 877 1194 \n3 536 695 620 \n3 695 632 754 \n3 821 2214 2219 \n3 96 95 1052 \n3 749 783 742 \n3 886 904 863 \n3 767 783 372 \n3 511 512 547 \n3 572 663 21 \n3 695 714 632 \n3 672 520 818 \n3 2453 2452 2444 \n3 882 886 846 \n3 305 811 75 \n3 641 527 758 \n3 797 808 234 \n3 993 791 997 \n3 586 625 585 \n3 1899 1917 1936 \n3 644 651 617 \n3 536 785 695 \n3 520 592 818 \n3 514 18 522 \n3 740 748 718 \n3 788 325 808 \n3 538 580 549 \n3 656 776 722 \n3 683 712 659 \n3 691 711 719 \n3 651 665 691 \n3 506 760 628 \n3 471 506 628 \n3 506 756 760 \n3 622 632 672 \n3 723 520 672 \n3 514 515 18 \n3 303 674 673 \n3 177 777 720 \n3 946 1446 2357 \n3 625 644 617 \n3 585 625 617 \n3 783 767 741 \n3 752 536 756 \n3 536 752 785 \n3 723 980 520 \n3 520 980 592 \n3 978 558 849 \n3 636 659 676 \n3 786 630 575 \n3 140 116 384 \n3 808 398 234 \n3 640 753 557 \n3 541 552 560 \n3 741 767 761 \n3 443 415 532 \n3 527 686 795 \n3 812 597 565 \n3 1489 1500 1556 \n3 752 756 506 \n3 785 714 695 \n3 632 723 672 \n3 2089 2061 2108 \n3 645 652 659 \n3 659 693 682 \n3 676 659 682 \n3 1871 838 837 \n3 1223 17 29 \n3 325 392 808 \n3 798 528 372 \n3 312 506 471 \n3 714 773 632 \n3 973 698 840 \n3 702 819 815 \n3 691 710 675 \n3 1013 354 765 \n3 874 751 1018 \n3 626 645 659 \n3 710 691 719 \n3 651 691 675 \n3 798 372 783 \n3 812 565 566 \n3 2461 2481 2474 \n3 763 643 779 \n3 1478 1923 1915 \n3 752 737 785 \n3 737 606 785 \n3 785 606 714 \n3 714 523 773 \n3 632 773 723 \n3 558 978 671 \n3 757 797 782 \n3 682 693 704 \n3 819 702 561 \n3 763 686 643 \n3 743 742 724 \n3 312 752 506 \n3 606 523 714 \n3 663 800 21 \n3 645 626 609 \n3 799 819 561 \n3 749 768 806 \n3 766 746 532 \n3 577 585 603 \n3 861 592 980 \n3 687 2381 1082 \n3 305 303 673 \n3 737 583 606 \n3 167 135 237 \n3 772 551 764 \n3 2472 2463 2457 \n3 772 792 551 \n3 625 618 657 \n3 1006 1138 1012 \n3 561 528 798 \n3 743 749 742 \n3 658 682 692 \n3 676 682 658 \n3 312 736 752 \n3 752 736 737 \n3 606 728 523 \n3 26 517 27 \n3 552 568 579 \n3 656 162 776 \n3 579 568 604 \n3 788 797 757 \n3 768 561 806 \n3 819 670 815 \n3 637 645 610 \n3 1073 597 643 \n3 749 798 783 \n3 1930 906 897 \n3 2482 2486 2460 \n3 736 583 737 \n3 1438 1437 1430 \n3 2097 1212 543 \n3 47 577 74 \n3 795 630 786 \n3 814 731 20 \n3 580 587 549 \n3 624 635 650 \n3 777 1010 809 \n3 692 704 724 \n3 692 682 704 \n3 235 1920 1965 \n3 583 728 606 \n3 2236 1865 2226 \n3 529 540 27 \n3 236 738 247 \n3 511 529 27 \n3 726 777 770 \n3 683 726 712 \n3 2236 2219 825 \n3 541 560 559 \n3 527 795 699 \n3 807 784 670 \n3 738 591 247 \n3 894 904 895 \n3 739 245 185 \n3 271 136 978 \n3 769 768 743 \n3 711 741 719 \n3 1212 2025 543 \n3 1887 1234 2437 \n3 554 553 2310 \n3 736 312 1191 \n3 1584 1611 1610 \n3 694 720 684 \n3 517 16 27 \n3 768 769 561 \n3 718 748 739 \n3 647 668 678 \n3 772 656 722 \n3 605 636 618 \n3 2071 2061 2041 \n3 605 618 625 \n3 548 568 552 \n3 160 637 610 \n3 909 916 941 \n3 916 1102 941 \n3 990 1025 991 \n3 978 136 671 \n3 784 162 656 \n3 709 2487 2471 \n3 610 580 118 \n3 807 670 819 \n3 1819 1899 1869 \n3 758 699 590 \n3 636 676 618 \n3 2493 2489 2462 \n3 670 764 815 \n3 686 763 779 \n3 1018 991 1025 \n3 1725 1718 986 \n3 712 770 693 \n3 50 2354 77 \n3 509 525 524 \n3 524 525 1248 \n3 525 32 1248 \n3 2310 553 2334 \n3 826 847 839 \n3 602 590 648 \n3 757 268 739 \n3 1594 1611 1585 \n3 1693 1047 1698 \n3 681 739 185 \n3 21 800 602 \n3 554 569 553 \n3 1052 109 96 \n3 614 581 600 \n3 813 667 187 \n3 724 704 743 \n3 527 699 758 \n3 639 647 619 \n3 702 700 561 \n3 885 891 581 \n3 630 730 575 \n3 1086 1834 1746 \n3 881 863 894 \n3 955 949 1102 \n3 1501 2499 2469 \n3 204 189 199 \n3 814 877 615 \n3 615 877 994 \n3 1182 877 814 \n3 1600 1826 880 \n3 526 534 525 \n3 2183 2182 2174 \n3 1141 1124 1132 \n3 234 337 797 \n3 159 338 791 \n3 598 91 74 \n3 597 1115 565 \n3 630 557 730 \n3 770 769 743 \n3 729 527 641 \n3 840 698 641 \n3 667 400 187 \n3 509 526 525 \n3 748 757 739 \n3 705 720 694 \n3 693 725 704 \n3 693 743 725 \n3 905 910 904 \n3 660 694 160 \n3 707 814 615 \n3 534 546 32 \n3 793 758 590 \n3 777 807 789 \n3 268 757 782 \n3 770 743 693 \n3 799 807 819 \n3 570 885 581 \n3 853 947 1009 \n3 905 904 886 \n3 624 650 634 \n3 1999 1225 533 \n3 2139 1503 2015 \n3 600 619 614 \n3 619 600 639 \n3 647 639 668 \n3 697 451 438 \n3 670 784 656 \n3 1560 2355 544 \n3 684 652 666 \n3 684 726 683 \n3 567 615 796 \n3 707 731 814 \n3 92 228 338 \n3 864 850 838 \n3 941 1102 949 \n3 588 613 124 \n3 605 609 626 \n3 950 833 872 \n3 91 598 624 \n3 1877 829 1901 \n3 2481 2097 1898 \n3 567 707 615 \n3 707 550 731 \n3 2433 2486 2482 \n3 159 963 664 \n3 2315 2390 2308 \n3 761 757 748 \n3 569 613 588 \n3 887 896 882 \n3 1999 1516 1387 \n3 684 720 726 \n3 587 609 605 \n3 652 684 683 \n3 650 649 634 \n3 759 1150 5 \n3 792 621 149 \n3 650 675 649 \n3 743 768 749 \n3 540 541 559 \n3 475 499 689 \n3 472 1063 1056 \n3 560 577 559 \n3 635 624 598 \n3 875 994 948 \n3 828 855 845 \n3 681 703 739 \n3 790 789 769 \n3 2465 2499 2459 \n3 578 586 585 \n3 1351 1207 1094 \n3 1683 1478 1915 \n3 603 608 635 \n3 750 720 705 \n3 809 607 781 \n3 671 602 648 \n3 474 446 475 \n3 793 590 800 \n3 681 185 649 \n3 807 799 789 \n3 643 597 812 \n3 703 718 739 \n3 1010 607 809 \n3 1191 583 736 \n3 686 779 795 \n3 2336 473 2311 \n3 637 666 645 \n3 705 1185 727 \n3 732 574 567 \n3 594 550 707 \n3 594 539 550 \n3 1307 500 1851 \n3 664 338 159 \n3 526 2446 534 \n3 557 8 730 \n3 722 792 772 \n3 659 712 693 \n3 692 724 665 \n3 561 766 528 \n3 549 537 530 \n3 2266 2286 2232 \n3 995 963 159 \n3 2067 2469 2465 \n3 703 710 718 \n3 740 761 748 \n3 604 605 625 \n3 547 541 529 \n3 994 877 708 \n3 1897 1683 1915 \n3 777 790 770 \n3 781 162 784 \n3 788 757 761 \n3 856 882 846 \n3 732 969 1027 \n3 837 828 824 \n3 2446 510 534 \n3 21 602 136 \n3 704 725 743 \n3 604 586 579 \n3 511 547 529 \n3 742 783 741 \n3 789 799 769 \n3 777 809 807 \n3 1013 997 354 \n3 707 567 594 \n3 655 696 550 \n3 539 655 550 \n3 142 124 613 \n3 999 1019 982 \n3 777 177 1010 \n3 675 703 681 \n3 636 626 659 \n3 605 626 636 \n3 700 551 480 \n3 807 809 784 \n3 589 569 554 \n3 715 594 567 \n3 2354 2334 553 \n3 911 1728 910 \n3 1075 1455 1545 \n3 696 67 491 \n3 675 710 703 \n3 838 850 837 \n3 1027 574 732 \n3 1019 843 981 \n3 715 567 574 \n3 843 780 981 \n3 1237 2155 2033 \n3 552 579 560 \n3 579 578 560 \n3 451 460 452 \n3 559 577 47 \n3 563 539 594 \n3 631 655 539 \n3 563 631 539 \n3 74 577 598 \n3 517 26 534 \n3 510 517 534 \n3 782 797 787 \n3 641 758 662 \n3 719 741 740 \n3 604 625 586 \n3 579 586 578 \n3 724 711 665 \n3 561 700 766 \n3 1728 922 910 \n3 711 742 741 \n3 618 676 657 \n3 160 694 653 \n3 769 799 561 \n3 2083 2488 2471 \n3 574 558 715 \n3 715 563 594 \n3 653 694 684 \n3 842 854 2063 \n3 33 730 8 \n3 526 509 1972 \n3 722 621 792 \n3 991 1725 986 \n3 692 665 651 \n3 2471 852 572 \n3 623 158 147 \n3 670 656 772 \n3 680 187 497 \n3 796 969 732 \n3 564 655 631 \n3 564 696 655 \n3 564 730 696 \n3 1948 950 919 \n3 84 110 83 \n3 661 199 189 \n3 43 323 753 \n3 32 546 39 \n3 657 692 651 \n3 657 651 644 \n3 663 793 800 \n3 665 711 691 \n3 638 647 661 \n3 610 645 609 \n3 849 558 574 \n3 1446 2489 1105 \n3 1971 1954 1934 \n3 581 614 589 \n3 65 580 538 \n3 779 640 630 \n3 795 779 630 \n3 1048 1191 82 \n3 1347 12 1518 \n3 798 806 561 \n3 580 610 587 \n3 686 794 643 \n3 662 7 641 \n3 1935 1971 1934 \n3 649 675 681 \n3 614 629 589 \n3 729 794 686 \n3 741 761 740 \n3 547 552 541 \n3 1047 1691 1073 \n3 657 658 692 \n3 36 51 29 \n3 610 609 587 \n3 648 631 563 \n3 564 575 730 \n3 2137 921 1057 \n3 1203 853 964 \n3 724 742 711 \n3 643 812 640 \n3 659 652 683 \n3 770 790 769 \n3 643 794 1073 \n3 468 479 680 \n3 558 671 563 \n3 715 558 563 \n3 671 648 563 \n3 2160 1377 2170 \n3 473 474 475 \n3 815 764 700 \n3 764 551 700 \n3 512 537 547 \n3 753 323 106 \n3 608 585 617 \n3 24 522 18 \n3 676 658 657 \n3 688 451 697 \n3 1333 1114 1352 \n3 699 564 631 \n3 699 575 564 \n3 480 551 792 \n3 762 900 2457 \n3 549 548 537 \n3 780 963 995 \n3 1595 1633 1594 \n3 197 915 1123 \n3 197 1123 340 \n3 841 972 1024 \n3 841 1024 835 \n3 1008 1023 933 \n3 572 709 2471 \n3 1099 970 1001 \n3 1500 1080 1556 \n3 1224 1218 954 \n3 412 2137 283 \n3 954 1629 521 \n3 340 1123 300 \n3 2332 2375 2349 \n3 1106 217 283 \n3 397 924 1512 \n3 1512 1441 1494 \n3 1934 1454 1743 \n3 1722 1934 1743 \n3 824 1871 837 \n3 1494 1441 1495 \n3 962 1023 1008 \n3 1510 1513 965 \n3 1774 1728 911 \n3 687 261 1066 \n3 713 1006 1511 \n3 918 1731 913 \n3 2318 2330 2303 \n3 2399 2406 2390 \n3 1673 2163 1779 \n3 842 926 898 \n3 1659 987 1187 \n3 1066 261 1639 \n3 1380 1108 1482 \n3 1436 1380 1482 \n3 2494 1009 947 \n3 1513 1288 1312 \n3 898 373 960 \n3 1437 1429 1421 \n3 1633 1094 1631 \n3 2486 972 2460 \n3 1002 498 873 \n3 848 847 826 \n3 1429 1461 1452 \n3 2495 2083 2470 \n3 908 9 979 \n3 729 926 834 \n3 2030 1539 1535 \n3 830 848 2177 \n3 880 833 950 \n3 1840 1721 1802 \n3 1004 669 1019 \n3 1020 669 1004 \n3 1868 2058 2466 \n3 902 901 1938 \n3 2475 2501 1650 \n3 852 7 572 \n3 1849 830 2177 \n3 933 745 246 \n3 933 64 745 \n3 300 284 1076 \n3 967 943 976 \n3 969 2494 1027 \n3 973 2464 373 \n3 898 926 373 \n3 1881 1897 1915 \n3 1612 1633 1595 \n3 908 832 1395 \n3 2491 246 1002 \n3 918 913 1930 \n3 1458 1298 1457 \n3 1633 1631 1632 \n3 843 669 227 \n3 2493 2496 2466 \n3 900 972 2486 \n3 227 1771 733 \n3 1700 1708 1665 \n3 962 573 1023 \n3 846 863 855 \n3 1729 1735 2238 \n3 869 858 847 \n3 2073 2110 2102 \n3 1139 1589 1482 \n3 926 729 973 \n3 2102 977 2073 \n3 755 1744 1717 \n3 847 858 839 \n3 1295 1481 1319 \n3 2330 50 65 \n3 1066 987 961 \n3 1395 832 1444 \n3 1000 1004 999 \n3 900 1008 972 \n3 1098 1076 816 \n3 932 943 935 \n3 951 957 1827 \n3 987 1659 985 \n3 832 1066 1444 \n3 1066 1639 987 \n3 217 412 283 \n3 1842 179 346 \n3 1845 1707 1797 \n3 2468 2476 854 \n3 1005 1020 1004 \n3 380 381 249 \n3 2368 827 530 \n3 967 976 1000 \n3 2459 1948 778 \n3 1193 1440 1114 \n3 1000 999 967 \n3 755 677 1744 \n3 962 1008 900 \n3 2470 2083 2471 \n3 840 641 7 \n3 981 990 1026 \n3 669 843 1019 \n3 1288 1513 944 \n3 868 903 889 \n3 1160 1114 1638 \n3 822 2177 848 \n3 745 11 498 \n3 262 427 2365 \n3 1684 1074 1691 \n3 1001 925 805 \n3 1798 1754 215 \n3 943 967 992 \n3 942 943 992 \n3 30 37 18 \n3 530 827 549 \n3 1500 1077 1080 \n3 1920 1148 430 \n3 935 942 931 \n3 1659 1488 1411 \n3 300 979 284 \n3 902 917 901 \n3 868 889 867 \n3 889 902 866 \n3 1002 745 498 \n3 950 1948 2499 \n3 989 840 852 \n3 1594 1633 1610 \n3 373 926 973 \n3 835 1024 246 \n3 1652 1651 1637 \n3 1302 1544 1141 \n3 1615 1630 1637 \n3 1628 1545 1627 \n3 935 931 912 \n3 512 505 530 \n3 867 889 866 \n3 2329 2368 2352 \n3 923 917 913 \n3 906 913 903 \n3 1257 1420 1266 \n3 300 938 979 \n3 1471 1481 1295 \n3 867 866 858 \n3 471 490 312 \n3 271 518 2487 \n3 1470 1471 1295 \n3 1024 933 246 \n3 1633 1632 1610 \n3 2175 1846 2176 \n3 1309 1288 805 \n3 923 932 917 \n3 1968 1967 901 \n3 2106 2127 2117 \n3 1427 1435 1286 \n3 1138 1563 1616 \n3 2377 571 2383 \n3 852 840 7 \n3 2500 960 2464 \n3 1220 1239 1407 \n3 1068 1577 1626 \n3 1005 1004 1000 \n3 1616 1563 1577 \n3 827 538 549 \n3 1790 2167 2159 \n3 1828 1717 1738 \n3 1967 1938 901 \n3 755 1717 664 \n3 1997 1999 1387 \n3 2450 544 2355 \n3 177 996 1010 \n3 1274 324 1269 \n3 1708 871 1665 \n3 2175 1958 1846 \n3 943 942 935 \n3 2423 517 510 \n3 1444 1066 961 \n3 2006 951 1827 \n3 2051 2060 2080 \n3 827 2302 538 \n3 834 1698 1047 \n3 1708 1705 871 \n3 884 573 962 \n3 1317 1295 1319 \n3 858 866 1901 \n3 1451 1447 1420 \n3 942 992 975 \n3 992 999 982 \n3 853 1009 875 \n3 987 985 961 \n3 2030 2051 2080 \n3 923 1731 1827 \n3 964 948 1059 \n3 780 227 733 \n3 1717 1764 664 \n3 942 975 931 \n3 1679 1793 1782 \n3 1447 1470 1275 \n3 1275 1266 1420 \n3 1930 913 906 \n3 990 780 995 \n3 1275 1420 1447 \n3 9 908 1395 \n3 830 859 848 \n3 1522 1761 1773 \n3 923 1827 936 \n3 306 993 1013 \n3 945 962 900 \n3 977 2102 976 \n3 976 1005 1000 \n3 1006 1160 1638 \n3 1638 1293 1436 \n3 884 1031 573 \n3 1293 1380 1436 \n3 732 567 796 \n3 791 228 1111 \n3 118 580 107 \n3 842 834 926 \n3 1888 859 830 \n3 2210 2215 2203 \n3 2399 2430 2421 \n3 2102 1005 976 \n3 839 1901 829 \n3 826 839 829 \n3 826 829 821 \n3 1002 873 2491 \n3 1431 1438 1430 \n3 780 733 963 \n3 1936 1935 1722 \n3 917 912 901 \n3 957 976 943 \n3 1849 2177 2176 \n3 1004 1019 999 \n3 990 995 306 \n3 1395 1444 339 \n3 2178 1762 888 \n3 938 908 979 \n3 1827 957 936 \n3 977 976 957 \n3 1589 1570 1562 \n3 778 1948 919 \n3 1550 1361 1572 \n3 2102 2141 1005 \n3 919 884 962 \n3 945 919 962 \n3 1583 1615 1582 \n3 1452 1471 1451 \n3 1646 1616 1577 \n3 1577 1563 1626 \n3 1627 937 1068 \n3 868 867 858 \n3 992 982 975 \n3 911 1761 1774 \n3 751 750 705 \n3 1627 1545 937 \n3 843 227 780 \n3 839 858 1901 \n3 897 906 903 \n3 1024 972 1008 \n3 662 663 572 \n3 762 945 900 \n3 897 903 868 \n3 2171 888 1762 \n3 1127 925 970 \n3 859 847 848 \n3 903 902 889 \n3 2485 2458 2478 \n3 576 781 607 \n3 932 935 917 \n3 2176 1846 1850 \n3 664 1764 338 \n3 936 957 943 \n3 893 980 723 \n3 967 999 992 \n3 2191 2194 2204 \n3 1651 1098 816 \n3 996 607 1010 \n3 996 576 607 \n3 576 162 781 \n3 1111 997 791 \n3 2176 1850 1849 \n3 1256 1420 1257 \n3 950 872 919 \n3 821 829 2214 \n3 1898 2495 2470 \n3 1772 1667 1557 \n3 903 913 902 \n3 931 1670 912 \n3 872 884 919 \n3 1012 1616 1646 \n3 872 1031 884 \n3 893 861 980 \n3 2468 854 960 \n3 912 1670 1968 \n3 2476 2063 854 \n3 917 935 912 \n3 859 869 847 \n3 936 943 932 \n3 1500 1012 1646 \n3 823 177 750 \n3 823 996 177 \n3 823 576 996 \n3 642 162 576 \n3 862 855 881 \n3 2127 2152 2133 \n3 721 773 879 \n3 721 893 773 \n3 863 904 894 \n3 849 574 582 \n3 913 917 902 \n3 923 936 932 \n3 1500 716 1012 \n3 1586 1323 927 \n3 716 1511 1012 \n3 601 576 823 \n3 765 642 576 \n3 893 708 861 \n3 708 877 861 \n3 975 974 931 \n3 1323 1595 927 \n3 879 523 1059 \n3 2433 2458 2498 \n3 1323 1612 1595 \n3 751 823 750 \n3 601 765 576 \n3 1013 601 593 \n3 1386 1225 2151 \n3 2152 1386 2151 \n3 668 929 949 \n3 1709 1693 1698 \n3 767 325 761 \n3 581 891 600 \n3 973 989 2464 \n3 623 115 624 \n3 834 794 729 \n3 2457 2483 762 \n3 988 601 823 \n3 2063 2476 1709 \n3 975 982 974 \n3 948 721 879 \n3 995 159 993 \n3 2304 862 555 \n3 555 862 885 \n3 600 909 639 \n3 2263 824 828 \n3 988 823 751 \n3 855 863 881 \n3 1594 1585 2380 \n3 1626 1628 1627 \n3 2173 2179 2172 \n3 2127 2133 2117 \n3 136 271 21 \n3 948 879 1059 \n3 994 893 721 \n3 893 994 708 \n3 893 723 773 \n3 885 894 891 \n3 639 909 929 \n3 870 869 859 \n3 845 855 862 \n3 1025 874 1018 \n3 837 850 828 \n3 1023 1170 933 \n3 35 188 204 \n3 862 881 885 \n3 885 881 894 \n3 874 1025 593 \n3 51 1458 1268 \n3 895 916 909 \n3 1024 1008 933 \n3 948 994 721 \n3 2151 1225 1635 \n3 894 895 891 \n3 891 909 600 \n3 941 949 929 \n3 874 988 751 \n3 593 601 988 \n3 765 354 642 \n3 354 259 642 \n3 904 916 895 \n3 964 1059 1161 \n3 891 895 909 \n3 1100 1051 1041 \n3 1028 1030 833 \n3 1100 1132 1117 \n3 341 356 375 \n3 515 514 2453 \n3 1655 2493 2466 \n3 1055 1302 1132 \n3 1119 1129 861 \n3 68 341 375 \n3 1054 1055 1132 \n3 498 68 164 \n3 84 100 110 \n3 1030 1031 833 \n3 199 678 1165 \n3 1030 1041 1031 \n3 1170 64 933 \n3 1821 1203 1176 \n3 1095 955 1102 \n3 513 95 96 \n3 955 1144 1143 \n3 1184 1165 1143 \n3 1144 1184 1143 \n3 1184 199 1165 \n3 374 131 1040 \n3 1152 1201 304 \n3 31 1243 1248 \n3 1095 1086 955 \n3 553 77 2354 \n3 1190 137 109 \n3 64 34 431 \n3 1086 1109 955 \n3 1109 1145 955 \n3 955 1145 1144 \n3 1145 1155 1144 \n3 1144 1155 1184 \n3 949 955 1143 \n3 2480 2494 947 \n3 1155 1192 1184 \n3 1049 1046 1050 \n3 238 150 106 \n3 1184 1192 35 \n3 1746 1109 1086 \n3 1133 1145 1109 \n3 1145 1156 1155 \n3 1155 1156 1192 \n3 1040 1044 1033 \n3 1396 1133 1109 \n3 1156 1145 1133 \n3 1156 1174 1192 \n3 1192 198 35 \n3 1089 1034 1195 \n3 1455 1149 1050 \n3 1174 198 1192 \n3 1185 694 198 \n3 1185 198 1174 \n3 1174 1156 1133 \n3 727 1185 1174 \n3 196 759 5 \n3 1129 592 861 \n3 1166 1108 181 \n3 1193 1114 1160 \n3 2139 1927 1503 \n3 920 921 2137 \n3 1146 1133 1396 \n3 1718 1146 1396 \n3 1146 1174 1133 \n3 1174 1146 727 \n3 340 1653 1207 \n3 753 150 8 \n3 283 2137 1057 \n3 1187 1556 1659 \n3 1190 109 1052 \n3 915 283 1188 \n3 283 1057 1188 \n3 2093 1464 2126 \n3 1725 1018 1146 \n3 1146 1018 727 \n3 592 1129 95 \n3 238 304 1037 \n3 1035 1130 314 \n3 396 1130 1119 \n3 1052 95 1129 \n3 2466 2484 1868 \n3 516 1088 420 \n3 833 1826 1028 \n3 418 1046 1116 \n3 1033 432 1305 \n3 2238 1861 1729 \n3 1452 1461 1471 \n3 1407 1421 1398 \n3 470 22 1110 \n3 1204 1149 1455 \n3 1204 1039 1149 \n3 1130 1035 292 \n3 292 1067 1043 \n3 374 1040 137 \n3 1204 1139 1045 \n3 1039 1204 1045 \n3 1139 1166 1045 \n3 1103 1048 82 \n3 1051 1084 1031 \n3 1043 1067 1190 \n3 1166 1482 1108 \n3 207 1083 1034 \n3 1039 131 374 \n3 1833 19 2 \n3 1049 1050 1069 \n3 1132 1124 1173 \n3 10 1439 1400 \n3 419 207 1070 \n3 1134 1078 1093 \n3 1085 1100 1117 \n3 1028 1029 1030 \n3 1199 1060 293 \n3 1190 1067 137 \n3 1170 1140 64 \n3 1140 1171 64 \n3 1171 34 64 \n3 1171 403 34 \n3 403 98 34 \n3 220 1103 1062 \n3 801 397 1082 \n3 19 1088 2 \n3 2063 1698 834 \n3 1041 1051 1031 \n3 1432 1260 1431 \n3 1322 2337 154 \n3 1075 1204 1455 \n3 1087 1401 1055 \n3 1149 347 1069 \n3 1199 1088 19 \n3 1096 1161 99 \n3 1031 872 833 \n3 20 470 1110 \n3 293 1096 1103 \n3 1071 99 583 \n3 1150 759 621 \n3 131 1044 1040 \n3 1049 1069 1134 \n3 1087 1038 939 \n3 649 158 634 \n3 99 1169 728 \n3 728 583 99 \n3 1102 930 1095 \n3 924 1442 1512 \n3 137 1101 109 \n3 1033 1305 1151 \n3 1070 1034 1089 \n3 99 1071 1096 \n3 22 1157 314 \n3 1067 374 137 \n3 1585 1611 1584 \n3 1818 1029 1028 \n3 1040 1033 1101 \n3 231 374 1067 \n3 347 1078 1069 \n3 1060 1096 293 \n3 1512 1442 1441 \n3 1199 293 1118 \n3 375 1049 1061 \n3 1093 1035 314 \n3 1199 1118 1088 \n3 1110 1182 20 \n3 1043 1190 1052 \n3 697 294 688 \n3 1078 231 1035 \n3 403 1116 98 \n3 1494 1495 716 \n3 1118 293 97 \n3 2 1088 516 \n3 1131 1062 82 \n3 1131 82 174 \n3 131 1045 181 \n3 1110 1194 1182 \n3 1130 1043 1036 \n3 126 401 1803 \n3 218 1271 1046 \n3 1696 1134 1093 \n3 2139 1853 2116 \n3 1110 396 1194 \n3 1176 1161 1096 \n3 1060 1176 1096 \n3 716 1508 713 \n3 1 1299 432 \n3 461 289 460 \n3 97 293 220 \n3 293 1103 220 \n3 713 1160 1006 \n3 1072 1151 1142 \n3 1696 1093 1359 \n3 1222 1422 1217 \n3 835 2478 841 \n3 1096 1071 1048 \n3 347 1039 374 \n3 2 516 315 \n3 179 1060 1200 \n3 347 374 231 \n3 1431 1430 1414 \n3 219 1512 1494 \n3 1103 1096 1048 \n3 305 673 595 \n3 776 454 722 \n3 2169 2150 1640 \n3 1046 418 218 \n3 1101 1033 1072 \n3 1072 1033 1151 \n3 1034 1053 1195 \n3 1176 1203 1161 \n3 745 64 11 \n3 750 177 720 \n3 1053 516 420 \n3 1050 1149 1069 \n3 1101 1072 109 \n3 997 1135 354 \n3 566 565 1162 \n3 1110 314 396 \n3 1047 1073 834 \n3 1157 1093 314 \n3 1373 1106 1251 \n3 1111 1135 997 \n3 471 628 499 \n3 354 1135 259 \n3 259 117 42 \n3 1103 82 1062 \n3 375 356 1049 \n3 1462 1141 1544 \n3 1035 231 292 \n3 1029 1041 1030 \n3 1078 347 231 \n3 220 1062 1131 \n3 1093 1078 1035 \n3 1075 1628 1204 \n3 1135 1196 259 \n3 259 1196 117 \n3 1203 964 1161 \n3 292 231 1067 \n3 1589 1204 1628 \n3 1204 1589 1139 \n3 249 381 391 \n3 1295 1317 1310 \n3 346 1200 19 \n3 1200 1199 19 \n3 131 181 1044 \n3 1100 1085 1051 \n3 1032 1038 1054 \n3 137 1040 1101 \n3 969 1009 2494 \n3 454 776 42 \n3 1991 1947 2022 \n3 19 1833 346 \n3 1071 583 1048 \n3 583 1191 1048 \n3 181 1 1044 \n3 1162 323 43 \n3 1359 1093 1157 \n3 1449 1359 1157 \n3 1090 1111 228 \n3 508 722 454 \n3 206 508 454 \n3 1250 1256 1265 \n3 1487 1488 1546 \n3 2156 1540 1874 \n3 304 106 323 \n3 1044 1 432 \n3 1069 1078 1134 \n3 1135 1167 1196 \n3 1196 358 117 \n3 117 358 42 \n3 358 355 42 \n3 355 454 42 \n3 355 206 454 \n3 1239 1421 1407 \n3 1162 1152 323 \n3 1200 1060 1199 \n3 1051 1085 1084 \n3 1023 1140 1170 \n3 1111 1104 1135 \n3 1049 1134 1061 \n3 1104 1167 1135 \n3 1167 1177 1196 \n3 1196 1177 358 \n3 1172 403 1171 \n3 464 355 358 \n3 1173 1124 239 \n3 1239 1430 1421 \n3 1097 1112 1104 \n3 1111 1097 1104 \n3 1104 1177 1167 \n3 1177 464 358 \n3 1090 1097 1111 \n3 1132 1173 1117 \n3 97 220 1058 \n3 486 1131 174 \n3 979 1016 284 \n3 464 206 355 \n3 179 1200 346 \n3 1059 523 1169 \n3 444 126 315 \n3 1430 1437 1421 \n3 497 468 680 \n3 939 1806 1758 \n3 380 249 1289 \n3 1112 1121 1104 \n3 1104 1121 1177 \n3 1150 508 206 \n3 1235 2034 524 \n3 1130 292 1043 \n3 345 206 464 \n3 345 1150 206 \n3 1821 1795 1203 \n3 1142 203 96 \n3 122 1127 970 \n3 2152 2151 2133 \n3 125 1150 345 \n3 516 444 315 \n3 1449 1157 22 \n3 1457 1461 1429 \n3 1128 151 1181 \n3 1121 1158 1177 \n3 1177 1197 464 \n3 78 345 464 \n3 125 1154 1150 \n3 1150 1154 5 \n3 294 1128 688 \n3 1072 1142 96 \n3 1097 1122 1112 \n3 1112 1122 1121 \n3 1122 1168 1121 \n3 1177 1158 1197 \n3 1197 78 464 \n3 391 382 151 \n3 1821 1060 179 \n3 115 91 624 \n3 420 1088 1118 \n3 1128 294 151 \n3 109 1072 96 \n3 1172 1171 1140 \n3 1121 1168 1158 \n3 78 125 345 \n3 1154 180 5 \n3 970 925 1001 \n3 294 1042 151 \n3 1038 1087 1055 \n3 1427 1265 1435 \n3 403 418 1116 \n3 835 878 2478 \n3 2463 2475 2457 \n3 1197 316 78 \n3 1123 938 300 \n3 43 753 566 \n3 1038 1055 1054 \n3 1438 1458 1457 \n3 1659 1411 985 \n3 1168 1159 1158 \n3 178 1154 125 \n3 1154 130 180 \n3 1060 1821 1176 \n3 1152 304 323 \n3 174 313 326 \n3 1159 1186 1158 \n3 1158 1186 1197 \n3 1197 1186 316 \n3 78 178 125 \n3 1042 249 391 \n3 151 1042 391 \n3 95 818 592 \n3 1122 1126 1168 \n3 316 178 78 \n3 1056 1154 178 \n3 1154 390 130 \n3 130 390 667 \n3 2380 1585 1584 \n3 11 68 498 \n3 261 397 1639 \n3 2106 2117 2059 \n3 2129 2093 2001 \n3 1186 248 316 \n3 1154 1056 390 \n3 1289 438 1264 \n3 304 238 106 \n3 1126 1159 1168 \n3 316 472 178 \n3 472 1056 178 \n3 82 1191 313 \n3 1042 1289 249 \n3 1806 939 1029 \n3 516 1083 444 \n3 1056 1163 390 \n3 2491 2479 2492 \n3 162 642 42 \n3 1055 1544 1302 \n3 1068 1654 1022 \n3 248 472 316 \n3 1161 1059 1169 \n3 1085 1117 1153 \n3 81 67 15 \n3 1988 1989 1535 \n3 1632 1631 1610 \n3 1486 2371 1304 \n3 1493 1068 1022 \n3 1136 1159 1126 \n3 668 1165 678 \n3 389 1284 425 \n3 1954 1971 1970 \n3 1218 1222 2436 \n3 1253 1260 1222 \n3 1318 1544 1055 \n3 1319 1327 2442 \n3 1260 1432 1222 \n3 1218 1253 1222 \n3 253 221 2427 \n3 1236 1289 1264 \n3 1283 1272 1262 \n3 1276 1290 1300 \n3 1313 101 1300 \n3 1279 362 376 \n3 1312 1352 1513 \n3 467 450 438 \n3 1917 1963 1955 \n3 2025 28 2139 \n3 1353 380 1278 \n3 1223 29 1253 \n3 146 157 172 \n3 1246 1252 273 \n3 1270 379 333 \n3 2042 2071 2041 \n3 273 299 266 \n3 1355 1391 210 \n3 12 239 1141 \n3 1381 1329 1391 \n3 1311 1322 154 \n3 239 1124 1141 \n3 2357 1572 1361 \n3 1235 1248 1243 \n3 1271 218 1347 \n3 1270 1273 379 \n3 190 2033 1981 \n3 1991 2051 1989 \n3 461 451 688 \n3 2261 2285 2260 \n3 182 488 1641 \n3 2484 2479 1868 \n3 83 110 1322 \n3 1189 352 1353 \n3 445 433 434 \n3 1335 170 1340 \n3 2020 429 2058 \n3 861 877 1119 \n3 1262 1272 1247 \n3 1965 1920 2143 \n3 1311 83 1322 \n3 239 12 1347 \n3 1358 1273 1270 \n3 1391 1329 1246 \n3 1519 1332 10 \n3 1367 1252 1246 \n3 1278 1284 1189 \n3 2464 989 2488 \n3 1271 1518 804 \n3 1368 1271 804 \n3 1316 94 1343 \n3 1241 1247 1233 \n3 1367 241 1362 \n3 273 1261 1385 \n3 531 596 1885 \n3 2116 2025 2139 \n3 1391 1246 273 \n3 2161 507 984 \n3 1963 1468 1964 \n3 1314 103 1330 \n3 1391 1355 1381 \n3 127 1341 1335 \n3 1284 426 425 \n3 1218 1223 1253 \n3 1319 1321 1320 \n3 1319 1320 1327 \n3 152 2442 1327 \n3 1320 152 1327 \n3 1234 1243 1242 \n3 1224 1223 1218 \n3 1358 352 1189 \n3 1311 1472 1457 \n3 1335 1341 146 \n3 304 1332 1037 \n3 1335 146 170 \n3 515 30 18 \n3 2478 2460 841 \n3 1236 1264 426 \n3 1262 1277 1283 \n3 880 1826 833 \n3 1236 426 1284 \n3 1298 1311 1457 \n3 1189 1284 1273 \n3 1362 285 1252 \n3 2329 2302 827 \n3 426 441 425 \n3 2492 2462 2491 \n3 1284 379 1273 \n3 521 17 1224 \n3 2470 2471 2487 \n3 2337 153 1320 \n3 1422 1414 1217 \n3 1224 17 1223 \n3 1252 285 1261 \n3 285 352 1358 \n3 170 1367 1382 \n3 1272 53 1233 \n3 1972 2446 526 \n3 1321 154 1320 \n3 1202 1368 1412 \n3 1306 362 1297 \n3 1363 1374 1328 \n3 1328 226 1305 \n3 295 1297 1342 \n3 946 2498 1446 \n3 1202 1046 1271 \n3 1097 1747 1122 \n3 1518 1271 1347 \n3 1276 69 1272 \n3 1281 1336 1360 \n3 285 301 352 \n3 102 103 1314 \n3 1376 434 433 \n3 1448 1260 1344 \n3 925 1309 805 \n3 1262 1247 1241 \n3 984 507 596 \n3 1414 1221 1217 \n3 87 1324 103 \n3 169 110 155 \n3 1383 1281 1360 \n3 273 1252 1261 \n3 1370 1316 1343 \n3 1370 1365 1336 \n3 1344 1458 1448 \n3 170 1382 1340 \n3 2437 1234 1226 \n3 2133 1581 2117 \n3 427 1259 1378 \n3 1335 1340 1324 \n3 1234 1241 1226 \n3 1227 1686 2283 \n3 1853 2139 2015 \n3 1865 1886 1872 \n3 1342 1297 1369 \n3 1383 1360 2439 \n3 170 241 1367 \n3 1343 1308 1365 \n3 1370 1343 1365 \n3 1279 1376 1292 \n3 199 1184 204 \n3 1329 1382 1367 \n3 1254 1263 1262 \n3 542 1366 1875 \n3 1342 1369 1259 \n3 1292 1325 1369 \n3 2439 1360 1301 \n3 1281 1383 2405 \n3 270 1336 1281 \n3 169 2337 1322 \n3 1527 1502 2469 \n3 514 1346 2452 \n3 1996 1704 1997 \n3 2284 1227 2283 \n3 1228 1249 1227 \n3 1329 1367 1246 \n3 1918 1618 2044 \n3 1343 1363 1334 \n3 1221 1239 1220 \n3 1211 857 1740 \n3 2387 1221 1220 \n3 1527 2469 2067 \n3 500 1307 2170 \n3 1294 1310 1486 \n3 2115 1618 1654 \n3 1219 1228 1227 \n3 7 662 572 \n3 1342 1259 427 \n3 1336 1365 1360 \n3 1297 1279 1292 \n3 1268 1344 1260 \n3 1278 380 1289 \n3 1229 1228 1219 \n3 1229 1244 1228 \n3 1244 1249 1228 \n3 1226 1233 30 \n3 1301 1360 1349 \n3 1244 1265 1427 \n3 1991 2022 2051 \n3 2481 2470 2474 \n3 451 461 460 \n3 270 1281 1274 \n3 1990 1988 1933 \n3 1365 1308 1349 \n3 1343 1334 1308 \n3 729 698 973 \n3 1373 1251 1207 \n3 596 507 1911 \n3 1362 1252 1367 \n3 1385 1270 299 \n3 1210 1217 1221 \n3 1375 1376 433 \n3 2398 2436 1210 \n3 1283 1290 1276 \n3 1229 1250 1244 \n3 1250 1265 1244 \n3 1316 1370 1336 \n3 1287 1285 1094 \n3 1094 1285 1351 \n3 1240 1207 1351 \n3 1240 1373 1207 \n3 1283 1277 1290 \n3 210 1391 266 \n3 1343 1374 1363 \n3 928 582 1027 \n3 1360 1365 1349 \n3 1114 1293 1638 \n3 1290 102 1300 \n3 1219 1230 1229 \n3 1230 1250 1229 \n3 1233 1247 1272 \n3 1254 54 1263 \n3 1359 1449 1701 \n3 362 1279 1297 \n3 1368 1202 1271 \n3 1414 1239 1221 \n3 1215 1230 1219 \n3 1242 1262 1234 \n3 1374 226 1328 \n3 1263 1277 1262 \n3 854 898 960 \n3 1285 1240 1351 \n3 2080 2127 2106 \n3 1222 1432 1422 \n3 1472 1311 154 \n3 153 152 1320 \n3 1376 1375 1292 \n3 1391 273 266 \n3 333 299 1270 \n3 1954 1990 1933 \n3 1612 1326 1287 \n3 1326 1285 1287 \n3 1348 1373 1240 \n3 2369 2024 2366 \n3 1314 1330 132 \n3 433 445 1255 \n3 1231 1250 1230 \n3 1242 1243 1254 \n3 1285 1303 1240 \n3 1348 1106 1373 \n3 1358 1270 1385 \n3 1226 515 2430 \n3 218 239 1347 \n3 1269 270 1274 \n3 1254 1262 1242 \n3 2025 1925 28 \n3 1682 2156 1211 \n3 1325 1292 1375 \n3 1254 31 54 \n3 103 1324 1340 \n3 518 2461 2474 \n3 2153 2160 2136 \n3 1375 433 1245 \n3 1245 433 1255 \n3 1256 1250 1231 \n3 1261 1358 1385 \n3 2194 2191 2185 \n3 1307 533 1225 \n3 2025 2116 543 \n3 1326 1612 1323 \n3 1326 1325 1285 \n3 1285 1325 1303 \n3 103 1340 1330 \n3 773 523 879 \n3 836 1516 533 \n3 1126 1122 1566 \n3 1278 1236 1284 \n3 1296 1380 1293 \n3 1216 1231 1215 \n3 1141 1518 12 \n3 1435 1266 1286 \n3 1323 1371 1326 \n3 1303 1245 1240 \n3 1245 1348 1240 \n3 1245 1372 1348 \n3 285 1358 1261 \n3 1381 1382 1329 \n3 1283 1276 1272 \n3 488 1997 1798 \n3 1674 1115 1074 \n3 105 1316 1336 \n3 1310 1294 1280 \n3 1291 1363 1328 \n3 1334 1363 1291 \n3 1333 1293 1114 \n3 1333 1296 1293 \n3 1299 1380 1296 \n3 972 841 2460 \n3 1216 1238 1231 \n3 1231 1238 1256 \n3 1257 1266 1435 \n3 1358 1189 1273 \n3 1861 1404 1876 \n3 1371 1338 1326 \n3 1338 1325 1326 \n3 1372 1350 1348 \n3 1275 1310 1280 \n3 1255 2385 1350 \n3 1 1108 1299 \n3 481 1730 519 \n3 802 1603 2021 \n3 1222 1217 1210 \n3 1340 1382 1381 \n3 1297 1292 1369 \n3 1189 1353 1278 \n3 1323 2397 1371 \n3 1713 1699 2172 \n3 182 1999 488 \n3 1700 1665 191 \n3 1226 1241 1233 \n3 1331 1288 1309 \n3 1516 2004 2129 \n3 1330 1340 1381 \n3 524 1248 1235 \n3 22 1267 1449 \n3 1263 1290 1277 \n3 1280 1286 1266 \n3 1294 1304 1286 \n3 1280 1294 1286 \n3 1486 1304 1294 \n3 1604 2096 2057 \n3 1325 1375 1303 \n3 1303 1375 1245 \n3 1315 1918 1983 \n3 2499 1948 2459 \n3 1331 1312 1288 \n3 2188 2180 2176 \n3 1334 1333 1352 \n3 1291 1296 1333 \n3 1427 1249 1244 \n3 968 957 951 \n3 1216 1232 1238 \n3 1232 1256 1238 \n3 1875 1366 1337 \n3 1378 1259 1371 \n3 1371 1259 1338 \n3 1127 1301 1309 \n3 1309 1301 1331 \n3 1334 1352 1312 \n3 1291 1333 1334 \n3 1296 1328 1299 \n3 1278 1289 1236 \n3 1300 102 1313 \n3 69 1300 101 \n3 22 1332 1267 \n3 379 1284 389 \n3 771 324 1274 \n3 1313 102 1314 \n3 2472 2457 2486 \n3 1275 1280 1266 \n3 1343 94 1374 \n3 2052 1770 1571 \n3 1245 1255 1372 \n3 1372 1255 1350 \n3 1339 1301 1127 \n3 1349 1312 1331 \n3 1328 1296 1291 \n3 2433 2472 2486 \n3 105 1336 270 \n3 22 470 1332 \n3 621 722 508 \n3 1387 1516 2126 \n3 1990 1989 1988 \n3 182 1635 1225 \n3 2132 1604 2150 \n3 1259 1369 1338 \n3 1338 1369 1325 \n3 866 1893 1901 \n3 389 425 411 \n3 1234 1262 1241 \n3 1398 1421 1232 \n3 304 10 1332 \n3 1299 1328 1305 \n3 1301 1349 1331 \n3 1349 1308 1312 \n3 1308 1334 1312 \n3 2469 2101 1501 \n3 1786 1530 1598 \n3 1723 1724 1690 \n3 1826 1600 1926 \n3 1677 1357 1475 \n3 1822 1811 1845 \n3 1804 1823 1707 \n3 1745 1675 1796 \n3 324 2394 428 \n3 1834 1676 1825 \n3 1506 1789 1721 \n3 1525 1671 857 \n3 157 146 1341 \n3 1461 1472 1321 \n3 1473 1413 1564 \n3 1760 1899 1876 \n3 939 1758 1007 \n3 1564 1014 1007 \n3 1923 1532 1932 \n3 1877 825 829 \n3 1564 1413 1014 \n3 1401 1087 1007 \n3 1537 1531 1650 \n3 1014 1551 1007 \n3 1537 1590 1473 \n3 1531 1537 1473 \n3 1473 1590 1413 \n3 1483 1401 1007 \n3 1551 1483 1007 \n3 1413 1459 1014 \n3 1014 1459 1551 \n3 805 1288 944 \n3 1596 1537 1658 \n3 1483 1318 1401 \n3 1055 1401 1318 \n3 1537 1596 1590 \n3 1590 959 1413 \n3 1413 959 1459 \n3 1924 1465 1454 \n3 1551 1399 1483 \n3 1483 1399 1318 \n3 1399 112 1318 \n3 1596 1579 1590 \n3 1459 1399 1551 \n3 1513 1440 965 \n3 1596 1658 1408 \n3 1656 112 1399 \n3 1459 1656 1399 \n3 1287 1094 1633 \n3 1550 1596 1408 \n3 1579 1597 1590 \n3 1590 1597 959 \n3 1535 1989 2030 \n3 959 1656 1459 \n3 1808 1745 1796 \n3 1422 1432 1431 \n3 2477 1361 1408 \n3 1462 1544 112 \n3 1656 1462 112 \n3 1456 1286 1304 \n3 1681 1715 1745 \n3 1433 1760 1884 \n3 1012 1138 1616 \n3 2378 1361 2477 \n3 1419 1596 1550 \n3 1419 1579 1596 \n3 1663 1807 1711 \n3 2255 2249 2230 \n3 1361 1550 1408 \n3 2195 2213 2212 \n3 1690 1724 1776 \n3 1625 191 1665 \n3 1533 1573 2057 \n3 1573 1599 1604 \n3 1599 1605 1604 \n3 1605 1640 1604 \n3 1572 1419 1550 \n3 1656 1484 1462 \n3 677 1805 1741 \n3 1533 1552 1573 \n3 1573 1574 1599 \n3 1809 2169 584 \n3 1622 1640 1605 \n3 1406 1656 959 \n3 1597 1406 959 \n3 1484 1141 1462 \n3 1715 1580 1675 \n3 1737 1742 1732 \n3 842 2063 834 \n3 1538 1574 1573 \n3 1552 1538 1573 \n3 1574 1591 1599 \n3 1591 1623 1605 \n3 1599 1591 1605 \n3 1641 584 1640 \n3 1622 1641 1640 \n3 1484 163 1141 \n3 1737 1515 1742 \n3 1808 1719 1797 \n3 1532 1534 1533 \n3 1591 1606 1623 \n3 1623 1622 1605 \n3 1162 565 1115 \n3 1406 1484 1656 \n3 1431 1448 1438 \n3 1099 801 2381 \n3 1742 1515 1721 \n3 1745 1715 1675 \n3 1534 1538 1533 \n3 1533 1538 1552 \n3 1641 1622 1623 \n3 1094 1207 1653 \n3 966 1406 1597 \n3 1579 966 1597 \n3 1808 1796 1719 \n3 1923 1523 1534 \n3 1532 1923 1534 \n3 1538 1575 1574 \n3 1641 215 584 \n3 1406 1528 1484 \n3 1484 1528 163 \n3 1471 1461 1481 \n3 1414 1430 1239 \n3 965 1193 713 \n3 382 1181 151 \n3 473 2336 445 \n3 1742 1840 1756 \n3 1485 1523 1923 \n3 1534 1524 1538 \n3 1574 1575 1591 \n3 1419 966 1579 \n3 1287 1633 1612 \n3 458 426 1264 \n3 1403 2178 1392 \n3 1403 1402 1799 \n3 1403 1409 1402 \n3 1409 1748 1402 \n3 1348 1350 217 \n3 1485 1497 1523 \n3 1534 1523 1524 \n3 1606 1635 1623 \n3 182 1641 1623 \n3 1635 182 1623 \n3 1106 1348 217 \n3 1350 844 217 \n3 163 1518 1141 \n3 844 412 217 \n3 1524 1575 1538 \n3 1575 1581 1591 \n3 1591 2133 1606 \n3 2133 1635 1606 \n3 2146 1490 1400 \n3 1406 1588 1528 \n3 1528 1518 163 \n3 1692 1762 1443 \n3 1923 1478 1485 \n3 1591 1581 2133 \n3 498 164 873 \n3 2175 1856 1958 \n3 2326 2367 2325 \n3 2357 820 952 \n3 952 820 1572 \n3 1823 1703 1463 \n3 1730 1357 1677 \n3 1393 1409 1403 \n3 1393 1417 1409 \n3 1465 1478 1838 \n3 1485 1478 1497 \n3 1497 1524 1523 \n3 1575 2079 1581 \n3 1784 1683 1897 \n3 803 397 801 \n3 803 924 397 \n3 1446 1561 2357 \n3 2357 1561 820 \n3 820 1619 1572 \n3 1619 1419 1572 \n3 1419 1555 966 \n3 1392 1393 1403 \n3 1524 2079 1575 \n3 1620 1419 1619 \n3 1620 1555 1419 \n3 966 1588 1406 \n3 1504 4 1356 \n3 1265 1257 1435 \n3 1392 1394 1393 \n3 2175 2174 1847 \n3 1454 1465 1838 \n3 1524 1539 2079 \n3 1581 2079 2117 \n3 1099 803 801 \n3 1555 1588 966 \n3 1588 1081 1528 \n3 1092 1684 1356 \n3 1503 1092 1356 \n3 1424 1417 1393 \n3 1474 1478 1465 \n3 1478 1505 1497 \n3 1788 1783 1729 \n3 2500 2464 2488 \n3 1437 1457 1429 \n3 1461 1457 1472 \n3 1453 804 1528 \n3 1081 1453 1528 \n3 1528 804 1518 \n3 1424 1393 1394 \n3 1424 1743 1417 \n3 1478 1474 1505 \n3 1539 2059 2079 \n3 1555 1081 1588 \n3 1442 944 1510 \n3 1505 1535 1497 \n3 1497 1535 1524 \n3 1524 1535 1539 \n3 1669 851 1671 \n3 1997 1387 1388 \n3 1510 965 1508 \n3 1508 965 713 \n3 1441 1442 1495 \n3 1561 1634 820 \n3 154 1321 1472 \n3 1438 1457 1437 \n3 1425 1424 1394 \n3 1474 1498 1505 \n3 1734 1587 1775 \n3 2421 2453 2420 \n3 1422 1431 1414 \n3 1558 2100 2072 \n3 844 865 412 \n3 1428 1619 820 \n3 1619 1428 1620 \n3 1227 1249 1686 \n3 1001 944 1442 \n3 2381 801 1082 \n3 1858 1410 1394 \n3 1410 1425 1394 \n3 1425 1743 1424 \n3 1589 1436 1482 \n3 1479 1474 1465 \n3 1479 1498 1474 \n3 1509 1732 1742 \n3 1662 1695 1657 \n3 1429 1452 1451 \n3 1451 1471 1470 \n3 1451 1470 1447 \n3 1429 1451 1420 \n3 1429 1420 1421 \n3 1428 1081 1555 \n3 1620 1428 1555 \n3 1350 2385 844 \n3 1125 1058 486 \n3 1638 1436 1562 \n3 1503 1927 1092 \n3 1498 1535 1505 \n3 1587 1769 1726 \n3 1109 1746 1396 \n3 1775 1587 1530 \n3 1321 1319 1481 \n3 1589 1628 1570 \n3 1729 1876 1837 \n3 1428 934 1081 \n3 1081 934 1453 \n3 803 1442 924 \n3 1138 1006 1638 \n3 1924 1479 1465 \n3 1933 1988 1479 \n3 1498 1988 1535 \n3 1726 1525 1530 \n3 1592 1613 501 \n3 2454 2430 2399 \n3 1754 1679 907 \n3 1562 1570 1563 \n3 1646 1077 1500 \n3 2489 1634 1105 \n3 1495 1510 716 \n3 2453 2430 515 \n3 1477 1152 1092 \n3 1869 1425 1410 \n3 1425 1722 1743 \n3 961 985 1411 \n3 716 1510 1508 \n3 1824 1703 1823 \n3 2224 2233 2252 \n3 1489 1556 1187 \n3 1634 79 820 \n3 804 1453 934 \n3 1185 705 694 \n3 1193 1160 713 \n3 1511 1006 1012 \n3 591 96 203 \n3 1257 1265 1256 \n3 81 1332 470 \n3 1693 1709 1504 \n3 1642 489 1660 \n3 1660 489 1113 \n3 1517 2067 2483 \n3 1749 1807 1663 \n3 1655 1634 2489 \n3 934 1520 804 \n3 1545 1628 1075 \n3 1300 69 1276 \n3 965 1440 1193 \n3 1147 1824 1823 \n3 1613 1608 1642 \n3 1113 1091 1920 \n3 1769 1738 1669 \n3 1630 1631 1645 \n3 820 1015 1428 \n3 1428 1015 934 \n3 1631 1094 1653 \n3 1082 261 687 \n3 1723 1685 1724 \n3 1643 489 1642 \n3 1091 1148 1920 \n3 2 892 1831 \n3 987 1639 1187 \n3 915 1106 283 \n3 1655 79 1634 \n3 1015 820 79 \n3 1015 1520 934 \n3 1477 1201 1152 \n3 1400 1927 28 \n3 1439 1477 1927 \n3 1848 1699 1864 \n3 1594 1610 1611 \n3 1207 197 340 \n3 1463 1703 1745 \n3 2142 983 1720 \n3 1847 1848 1867 \n3 1661 1113 489 \n3 1668 1786 1681 \n3 1655 1617 79 \n3 197 1207 915 \n3 1439 1927 1400 \n3 1520 1368 804 \n3 1251 1106 915 \n3 1744 677 1671 \n3 1702 1778 1720 \n3 1749 1464 1807 \n3 1608 1643 1642 \n3 1091 1113 1661 \n3 1825 1522 1792 \n3 2261 2260 2223 \n3 1695 2165 1766 \n3 1015 1647 1520 \n3 1207 1251 915 \n3 832 687 1066 \n3 1793 1802 1557 \n3 27 16 511 \n3 1749 860 1565 \n3 1593 1643 1608 \n3 1643 1644 489 \n3 489 1644 1661 \n3 2228 2261 2223 \n3 1601 860 1759 \n3 1529 1776 1759 \n3 871 1705 1672 \n3 1695 1667 2165 \n3 1707 1808 1797 \n3 1580 1715 1813 \n3 1708 1793 1679 \n3 1232 1420 1256 \n3 1723 1475 1685 \n3 1468 1480 1964 \n3 1964 1480 1491 \n3 2072 1548 1558 \n3 1593 1614 1643 \n3 1798 1705 1754 \n3 1724 1685 1836 \n3 1719 1796 1571 \n3 1617 2466 2021 \n3 1617 1578 79 \n3 1647 1015 79 \n3 2133 2151 1635 \n3 1610 1631 1630 \n3 1760 1433 1469 \n3 1558 1576 1593 \n3 1602 1614 1593 \n3 1614 1644 1643 \n3 1636 1661 1644 \n3 1661 1198 1091 \n3 1198 1148 1091 \n3 1450 1107 1148 \n3 664 733 755 \n3 1864 1699 1713 \n3 1708 1840 1793 \n3 1617 2021 1578 \n3 1647 1412 1368 \n3 1520 1647 1368 \n3 1519 10 1400 \n3 1445 1469 1433 \n3 1797 1690 1753 \n3 2062 1543 2072 \n3 2072 1543 1548 \n3 1593 1576 1602 \n3 1614 1636 1644 \n3 1636 1198 1661 \n3 1426 1148 1198 \n3 2166 1107 1450 \n3 1996 1672 1704 \n3 1705 1798 1704 \n3 1840 1708 1756 \n3 1603 1578 2021 \n3 1578 706 79 \n3 79 706 1647 \n3 1519 1400 1490 \n3 1648 1519 1490 \n3 1434 1433 1884 \n3 1469 1468 1460 \n3 1480 1507 2023 \n3 2369 1543 2062 \n3 1548 1567 1558 \n3 1558 1567 1576 \n3 1602 1609 1614 \n3 1614 1609 1636 \n3 998 1198 1636 \n3 1450 1148 1426 \n3 1136 1824 1147 \n3 1705 1704 1672 \n3 1137 1603 2115 \n3 1137 1578 1603 \n3 1412 1647 706 \n3 2359 2023 1507 \n3 597 1074 1115 \n3 228 92 1467 \n3 1838 1478 1683 \n3 2215 2228 2223 \n3 1609 1624 1636 \n3 328 998 1636 \n3 1198 1016 1426 \n3 1016 302 1426 \n3 302 1450 1426 \n3 1791 1753 1776 \n3 2308 2390 2300 \n3 1654 1137 2115 \n3 1137 706 1578 \n3 1648 1490 205 \n3 1405 1884 1397 \n3 1405 1418 1884 \n3 1418 1434 1884 \n3 1433 1434 1445 \n3 1469 1480 1468 \n3 1576 1582 1602 \n3 998 1016 1198 \n3 80 66 940 \n3 66 1649 940 \n3 1258 1814 2163 \n3 1618 2115 2044 \n3 1423 706 1137 \n3 1701 1648 205 \n3 1686 1405 1397 \n3 1476 1480 1469 \n3 1567 1568 1576 \n3 1576 1568 1582 \n3 1602 1582 1609 \n3 1624 328 1636 \n3 2166 339 272 \n3 80 272 339 \n3 80 961 66 \n3 1546 1618 1487 \n3 1829 1738 1769 \n3 937 1423 1137 \n3 1423 1412 706 \n3 1526 1648 1701 \n3 1526 1519 1648 \n3 1526 1267 1519 \n3 1249 1405 1686 \n3 1440 1352 1114 \n3 1202 1412 1050 \n3 1249 1418 1405 \n3 1476 2371 1480 \n3 1480 2371 1507 \n3 2448 1559 1567 \n3 1548 2448 1567 \n3 1567 1559 1568 \n3 1568 1583 1582 \n3 1651 328 1624 \n3 328 816 998 \n3 284 1016 998 \n3 302 9 1450 \n3 9 2166 1450 \n3 1411 1649 66 \n3 1411 1487 1649 \n3 1546 1022 1618 \n3 1022 1654 1618 \n3 1654 937 1137 \n3 1455 1412 1423 \n3 1456 1469 1445 \n3 1456 1476 1469 \n3 328 1651 816 \n3 9 339 2166 \n3 937 1545 1423 \n3 1545 1455 1423 \n3 1258 1547 1778 \n3 2051 2030 1989 \n3 1439 1201 1477 \n3 1427 1418 1249 \n3 1427 1434 1418 \n3 1427 1445 1434 \n3 1933 1934 1954 \n3 1559 1583 1568 \n3 1609 1637 1624 \n3 1637 1651 1624 \n3 816 1076 998 \n3 1076 284 998 \n3 979 302 1016 \n3 961 1411 66 \n3 1493 1022 1546 \n3 324 270 1269 \n3 1442 1510 1495 \n3 1449 1267 1526 \n3 1513 1352 1440 \n3 1286 1445 1427 \n3 1445 1286 1456 \n3 1304 2371 1476 \n3 1991 1989 1990 \n3 1991 1990 1970 \n3 1970 1990 1954 \n3 2448 1548 2417 \n3 1582 1615 1609 \n3 1609 1615 1637 \n3 9 1395 339 \n3 339 1444 80 \n3 1444 961 80 \n3 1789 983 1752 \n3 983 2147 1752 \n3 1587 1712 1769 \n3 968 977 957 \n3 1740 1778 1702 \n3 1757 1845 1753 \n3 1826 1818 1028 \n3 1817 1529 1711 \n3 1749 1565 2126 \n3 2458 2433 2482 \n3 1797 1719 1770 \n3 1793 1840 1802 \n3 215 1754 1809 \n3 1097 1734 1747 \n3 1734 1496 1747 \n3 1501 2101 1600 \n3 880 1501 1600 \n3 1454 1838 1743 \n3 1705 1708 1679 \n3 1211 1740 1702 \n3 1787 1968 1670 \n3 1074 1073 1691 \n3 950 2499 880 \n3 2489 2485 2462 \n3 1747 1496 1780 \n3 1720 983 1839 \n3 1814 1258 1740 \n3 1625 1755 1836 \n3 974 986 1541 \n3 2229 2235 2234 \n3 1771 677 733 \n3 1541 1670 974 \n3 1805 1771 1779 \n3 677 1771 1805 \n3 2217 2224 2267 \n3 1827 1731 2006 \n3 1525 1687 1530 \n3 1751 1525 1553 \n3 1843 1817 1711 \n3 1822 1845 1803 \n3 1780 1668 1703 \n3 1720 1778 2142 \n3 1769 1669 1525 \n3 1496 1668 1780 \n3 1097 1712 1734 \n3 1741 1814 1740 \n3 1525 857 1874 \n3 1598 1530 1687 \n3 1802 1789 1557 \n3 1702 1720 1682 \n3 1831 1765 956 \n3 1541 1678 1670 \n3 1678 1787 1670 \n3 1926 1818 1826 \n3 1717 1744 1738 \n3 1683 1021 1838 \n3 1458 1282 1298 \n3 1021 1409 1417 \n3 2367 2392 2325 \n3 1668 1496 1775 \n3 1874 857 1211 \n3 1738 1744 851 \n3 1963 1917 1460 \n3 1355 132 1330 \n3 1764 1828 1467 \n3 857 1741 1740 \n3 1005 1673 1020 \n3 1722 1935 1934 \n3 1467 1712 1097 \n3 1723 1677 1475 \n3 1679 1782 907 \n3 1730 1542 519 \n3 1682 1720 1839 \n3 1466 1678 1541 \n3 1811 1707 1845 \n3 1678 1974 1787 \n3 1712 1829 1769 \n3 1802 1721 1789 \n3 2300 2390 2348 \n3 1712 1587 1734 \n3 1835 1529 1817 \n3 1836 1755 860 \n3 885 570 555 \n3 1180 1804 1811 \n3 1705 1679 1754 \n3 1676 1728 1774 \n3 1775 1786 1668 \n3 1525 1669 1671 \n3 1726 1769 1525 \n3 986 1466 1541 \n3 1566 1703 1136 \n3 1692 1864 1713 \n3 896 1761 911 \n3 1134 1696 1061 \n3 1696 375 1061 \n3 1542 1730 1677 \n3 1792 1678 1466 \n3 1776 1601 1759 \n3 1845 1797 1753 \n3 1834 1095 1676 \n3 1032 1029 939 \n3 1449 1526 1701 \n3 1716 375 1696 \n3 1710 1716 1696 \n3 1716 164 375 \n3 1839 983 1789 \n3 1668 1745 1703 \n3 1668 1681 1745 \n3 2300 2348 2307 \n3 1881 1443 1897 \n3 1819 1788 1729 \n3 860 1379 1565 \n3 2300 2307 2265 \n3 1770 1542 1690 \n3 1957 1658 1650 \n3 1696 1359 1710 \n3 1710 1736 1716 \n3 1716 1736 164 \n3 1789 1752 1557 \n3 1667 1695 1662 \n3 1359 1701 1710 \n3 1701 1706 1710 \n3 1706 1736 1710 \n3 1736 1750 164 \n3 1443 1781 1692 \n3 1715 1786 1598 \n3 1743 1838 1021 \n3 1897 1443 1784 \n3 205 1706 1701 \n3 1763 2467 1750 \n3 315 1843 892 \n3 892 1843 914 \n3 1844 1803 1757 \n3 1379 860 1755 \n3 1779 669 1020 \n3 1713 2171 1762 \n3 1782 1557 1662 \n3 1749 2126 1464 \n3 1797 1770 1690 \n3 1690 1542 1723 \n3 1871 1909 838 \n3 1736 2043 1750 \n3 1750 2043 1763 \n3 1756 1700 481 \n3 1724 1601 1776 \n3 1835 1844 1529 \n3 2101 2469 1502 \n3 2495 1898 543 \n3 762 2483 945 \n3 986 1718 1466 \n3 1844 1757 1791 \n3 1724 1836 1601 \n3 1871 1865 1872 \n3 1711 1529 1759 \n3 488 1798 215 \n3 1759 860 1749 \n3 2067 2465 2459 \n3 1695 2158 2167 \n3 376 1376 1279 \n3 1796 1675 1571 \n3 1580 2052 1571 \n3 1675 1580 1571 \n3 1763 2497 2467 \n3 2467 2497 1993 \n3 1860 1694 1859 \n3 2480 2003 2494 \n3 1825 1676 1522 \n3 1669 1738 851 \n3 2233 2268 2252 \n3 1723 1542 1677 \n3 1657 2167 1790 \n3 1396 1746 1718 \n3 1695 2167 1657 \n3 978 518 271 \n3 1773 1974 1678 \n3 974 1670 931 \n3 1786 1715 1681 \n3 1834 1825 1746 \n3 2500 2468 960 \n3 1809 907 1790 \n3 1981 1767 190 \n3 1136 1703 1824 \n3 1803 1845 1757 \n3 2003 2043 1736 \n3 912 1968 901 \n3 2497 1794 1800 \n3 914 1843 1711 \n3 1688 914 1711 \n3 1739 1751 1540 \n3 694 660 198 \n3 1864 1692 1781 \n3 1823 1463 1808 \n3 1828 1764 1717 \n3 1815 1767 1981 \n3 1815 1621 1767 \n3 1621 2164 1680 \n3 1767 1621 1680 \n3 669 1771 227 \n3 1282 1458 51 \n3 1784 1443 1748 \n3 1674 1074 1684 \n3 1566 1780 1703 \n3 1857 1856 1847 \n3 1525 1751 1687 \n3 1790 2159 1809 \n3 907 1657 1790 \n3 1812 1772 1557 \n3 1844 1791 1529 \n3 68 375 164 \n3 2 1831 1833 \n3 1721 1515 1506 \n3 1800 1820 1993 \n3 1832 1981 2045 \n3 1820 1832 2045 \n3 1832 1815 1981 \n3 1021 1784 1748 \n3 2159 2169 1809 \n3 1146 1718 1725 \n3 1682 1839 1506 \n3 1466 1718 1792 \n3 1794 1801 1800 \n3 1801 1810 1800 \n3 1800 1810 1820 \n3 1689 2164 1621 \n3 1933 1479 1924 \n3 228 1467 1090 \n3 1779 2163 1741 \n3 1671 1741 857 \n3 1832 1416 1815 \n3 1416 1621 1815 \n3 1830 2164 1689 \n3 1667 1662 1557 \n3 1718 1746 1825 \n3 1759 1749 1663 \n3 1816 1689 1621 \n3 1529 1791 1776 \n3 947 1795 1801 \n3 1795 1810 1801 \n3 1514 1816 1621 \n3 1694 1860 1830 \n3 1782 1662 1657 \n3 1748 1409 1021 \n3 853 1795 947 \n3 1810 1841 1832 \n3 1820 1810 1832 \n3 1832 1841 1416 \n3 1621 1416 1514 \n3 126 1803 1844 \n3 1685 1625 1836 \n3 1607 1689 1816 \n3 1522 1774 1761 \n3 126 1844 1835 \n3 1811 1804 1707 \n3 1522 1676 1774 \n3 1779 1771 669 \n3 1757 1753 1791 \n3 1203 1795 853 \n3 1821 1841 1810 \n3 1607 1830 1689 \n3 1821 1810 1795 \n3 1841 1415 1416 \n3 1416 1415 1514 \n3 1514 1607 1816 \n3 1727 1830 1607 \n3 907 1782 1657 \n3 126 1835 315 \n3 1804 1147 1823 \n3 851 1744 1671 \n3 1477 1092 1927 \n3 1821 1842 1841 \n3 1842 958 1841 \n3 1841 958 1415 \n3 1727 1694 1830 \n3 1727 1859 1694 \n3 2345 445 2336 \n3 1601 1836 860 \n3 1086 1095 1834 \n3 1707 1823 1808 \n3 2003 1736 504 \n3 1566 1747 1780 \n3 519 1542 1882 \n3 1759 1663 1711 \n3 127 1335 71 \n3 2052 1882 1542 \n3 1821 179 1842 \n3 1785 1607 1514 \n3 928 2461 518 \n3 511 2401 505 \n3 1211 1702 1682 \n3 1829 1828 1738 \n3 2052 1542 1770 \n3 1415 1768 1514 \n3 1768 1785 1514 \n3 1785 1727 1607 \n3 1711 1807 1688 \n3 1793 1557 1782 \n3 1496 1734 1775 \n3 1126 1566 1136 \n3 1122 1747 1566 \n3 35 204 1184 \n3 958 1733 1415 \n3 1737 1732 1540 \n3 1773 1761 1973 \n3 1751 1553 1540 \n3 1751 1739 1687 \n3 1525 1874 1553 \n3 1467 1828 1829 \n3 1754 907 1809 \n3 1715 1598 1813 \n3 1805 1779 1741 \n3 2307 2348 2339 \n3 1831 914 1688 \n3 1712 1467 1829 \n3 1813 1598 1345 \n3 1831 1688 1765 \n3 1021 1683 1784 \n3 1092 1152 1115 \n3 1671 677 1741 \n3 1674 1684 1092 \n3 1840 1742 1721 \n3 1813 2052 1580 \n3 1463 1745 1808 \n3 2484 2496 2492 \n3 1415 1733 1768 \n3 1664 1727 1785 \n3 1664 1950 1727 \n3 1950 1859 1727 \n3 1950 2093 1859 \n3 1843 1835 1817 \n3 315 1835 1843 \n3 1775 1530 1786 \n3 1718 1825 1792 \n3 2146 1400 28 \n3 2110 2120 1547 \n3 1740 1258 1778 \n3 1842 346 1833 \n3 1842 1733 958 \n3 1765 1768 1733 \n3 956 1765 1733 \n3 1765 1785 1768 \n3 1765 1688 1785 \n3 1688 1664 1785 \n3 1753 1690 1776 \n3 1506 1839 1789 \n3 1760 1469 1460 \n3 1522 1678 1792 \n3 1090 1467 1097 \n3 1819 1729 1837 \n3 1842 1833 1733 \n3 1807 1950 1664 \n3 1587 1726 1530 \n3 892 914 1831 \n3 1522 1773 1678 \n3 271 2487 709 \n3 1092 1115 1674 \n3 2339 2348 2347 \n3 1831 1733 1833 \n3 1831 956 1733 \n3 1950 1807 2093 \n3 1684 1691 1504 \n3 1042 294 697 \n3 2142 1778 2120 \n3 1688 1807 1664 \n3 1692 1713 1762 \n3 1737 2156 1515 \n3 1113 1920 235 \n3 1267 1332 1519 \n3 1148 1107 430 \n3 507 2143 1911 \n3 1956 1107 1536 \n3 430 1107 1956 \n3 1017 1107 2166 \n3 1337 1956 1680 \n3 2162 1956 1337 \n3 1982 1389 2092 \n3 29 556 36 \n3 1713 2172 2171 \n3 1982 1983 1389 \n3 1983 2064 1389 \n3 883 1761 896 \n3 2064 1983 1213 \n3 1949 1973 1761 \n3 883 1949 1761 \n3 2011 1697 1860 \n3 1213 2115 802 \n3 1949 1937 1973 \n3 1937 1966 1973 \n3 1899 1760 1460 \n3 864 1928 883 \n3 883 1928 1949 \n3 2061 2070 2041 \n3 918 1984 1731 \n3 1592 501 2145 \n3 1994 1212 2097 \n3 1521 2475 1650 \n3 2173 1848 2174 \n3 1479 1988 1498 \n3 1928 1937 1949 \n3 1604 2057 1573 \n3 2096 1604 2132 \n3 1911 2013 1885 \n3 2091 2081 2082 \n3 205 1929 504 \n3 2100 2099 2091 \n3 2072 2100 2091 \n3 838 1909 864 \n3 1909 1900 1928 \n3 864 1909 1928 \n3 1966 1787 1974 \n3 2072 2091 2062 \n3 2100 1592 2099 \n3 2014 1875 1697 \n3 1852 1883 2013 \n3 1830 1697 2164 \n3 1315 272 80 \n3 1900 1919 1928 \n3 1928 1919 1937 \n3 1919 1967 1966 \n3 1937 1919 1966 \n3 1848 2173 1699 \n3 2172 1699 2173 \n3 2061 2071 2090 \n3 802 2466 2058 \n3 2238 1735 2239 \n3 1504 1356 1684 \n3 1357 1685 1475 \n3 1966 1967 1787 \n3 1967 1968 1787 \n3 2064 2109 2155 \n3 2064 1213 2109 \n3 2109 1213 502 \n3 272 2092 1017 \n3 272 1982 2092 \n3 531 1885 2154 \n3 2033 2020 1946 \n3 215 1809 584 \n3 1911 542 2013 \n3 1389 2050 1536 \n3 1871 1872 1909 \n3 1983 2044 1213 \n3 596 1911 1885 \n3 1592 2145 2099 \n3 2070 2061 2089 \n3 2033 2045 1981 \n3 2033 1946 2045 \n3 1213 2044 2115 \n3 1872 1886 1909 \n3 1886 1900 1909 \n3 1561 1446 1105 \n3 2162 430 1956 \n3 1947 1971 1935 \n3 1971 1947 1991 \n3 2013 2014 2012 \n3 1852 2013 2012 \n3 1549 1883 1852 \n3 1946 2467 1993 \n3 1354 1549 2153 \n3 1354 1883 1549 \n3 2080 2107 2127 \n3 2023 1964 1491 \n3 2023 2031 1964 \n3 2115 1603 802 \n3 1900 1910 1919 \n3 1938 1967 1919 \n3 1910 1938 1919 \n3 871 1625 1665 \n3 2061 2090 2119 \n3 1818 1926 1758 \n3 1020 1673 1779 \n3 871 1672 1755 \n3 1549 500 2170 \n3 1377 1549 2170 \n3 2145 2161 2144 \n3 1357 481 191 \n3 2108 2119 2118 \n3 1865 1871 2226 \n3 1390 2011 1859 \n3 2135 2136 2160 \n3 2161 1660 235 \n3 1886 1893 1900 \n3 1900 1893 1910 \n3 504 1706 205 \n3 2119 2136 2135 \n3 2141 2163 1673 \n3 1859 2011 1860 \n3 1893 1938 1910 \n3 2079 2059 2117 \n3 2161 235 507 \n3 2163 1814 1741 \n3 1017 2092 1536 \n3 2153 1377 2160 \n3 2040 2097 2490 \n3 2042 2041 2031 \n3 1107 1017 1536 \n3 1464 2093 1807 \n3 501 1642 1660 \n3 2466 1617 1655 \n3 2118 2135 2134 \n3 2118 2107 2070 \n3 877 1182 1194 \n3 2100 1593 1592 \n3 2032 2369 2062 \n3 2481 2490 2097 \n3 1281 2405 1274 \n3 2002 1947 1955 \n3 2042 2031 2023 \n3 2024 2042 2023 \n3 2153 1549 1377 \n3 1794 2497 1763 \n3 2141 1547 2163 \n3 2430 2453 2421 \n3 1980 2010 1992 \n3 2348 2390 2361 \n3 501 2161 2145 \n3 2024 2023 2359 \n3 2128 2119 2090 \n3 1731 1984 2006 \n3 2170 1307 208 \n3 1929 1994 2040 \n3 1389 1237 2050 \n3 1865 1877 1886 \n3 1877 1893 1886 \n3 1964 2031 2010 \n3 873 2479 2491 \n3 2070 2107 2068 \n3 1357 1730 481 \n3 429 2020 2033 \n3 1964 2002 1963 \n3 1854 1888 830 \n3 1667 1772 2149 \n3 1389 2155 1237 \n3 897 868 1902 \n3 2390 2406 2361 \n3 2120 2110 2073 \n3 1547 1258 2163 \n3 2098 2128 2090 \n3 1549 1852 500 \n3 1852 1851 500 \n3 951 2016 968 \n3 2084 2120 2073 \n3 2129 2005 1390 \n3 2143 1366 542 \n3 2099 2145 2098 \n3 1544 1318 112 \n3 1902 1921 897 \n3 1921 1930 897 \n3 584 2169 1640 \n3 2006 2016 951 \n3 2016 2073 968 \n3 1557 1752 1812 \n3 836 2004 1516 \n3 2004 2005 2129 \n3 1531 1473 1527 \n3 2002 1980 1947 \n3 2069 2070 2068 \n3 1921 918 1930 \n3 2016 2084 2073 \n3 2084 2103 2120 \n3 2099 2098 2081 \n3 2155 2109 2033 \n3 504 2473 2003 \n3 1902 870 1921 \n3 1921 1951 918 \n3 918 1951 1984 \n3 1984 2000 2006 \n3 2000 2035 2016 \n3 2006 2000 2016 \n3 2016 2035 2084 \n3 2035 2046 2084 \n3 2046 2074 2084 \n3 2074 2103 2084 \n3 1947 1992 2022 \n3 2399 2421 2406 \n3 2010 2069 1992 \n3 2032 2042 2024 \n3 2011 2014 1697 \n3 1875 1337 2164 \n3 870 1939 1921 \n3 1984 1975 2000 \n3 2120 2103 2142 \n3 1050 1412 1455 \n3 2357 1361 2378 \n3 1858 1788 1869 \n3 2089 2108 2070 \n3 1404 1397 1884 \n3 1885 1883 1354 \n3 1921 1959 1951 \n3 1951 1959 1984 \n3 1959 1975 1984 \n3 1955 1947 1935 \n3 2134 208 2127 \n3 2156 1874 1211 \n3 2159 2167 2168 \n3 1899 1460 1917 \n3 2000 2017 2035 \n3 2074 2085 2103 \n3 2110 2141 2102 \n3 1936 1955 1935 \n3 2022 2069 2060 \n3 2134 2127 2107 \n3 2041 2070 2010 \n3 2137 412 2382 \n3 2032 2071 2042 \n3 1921 1939 1959 \n3 2069 2068 2060 \n3 2068 2107 2060 \n3 2107 2118 2134 \n3 1854 1903 1888 \n3 1888 1903 870 \n3 870 1903 1939 \n3 1975 2017 2000 \n3 2035 2017 2046 \n3 2121 2142 2103 \n3 215 1641 488 \n3 2147 983 2142 \n3 1974 1973 1966 \n3 2156 1682 1515 \n3 1613 1592 1593 \n3 2268 2269 2275 \n3 1925 2146 28 \n3 2081 2090 2071 \n3 429 502 2058 \n3 1903 1904 1939 \n3 1939 1960 1959 \n3 1960 1975 1959 \n3 2086 2085 2074 \n3 2064 2155 1389 \n3 1819 1837 1899 \n3 533 1307 836 \n3 2166 272 1017 \n3 830 1849 1854 \n3 2018 2036 2017 \n3 2017 2036 2046 \n3 2036 2074 2046 \n3 2085 2094 2103 \n3 2094 2121 2103 \n3 2121 2147 2142 \n3 1925 1212 1994 \n3 1404 1884 1760 \n3 2005 2012 2011 \n3 2210 2232 2215 \n3 1854 1889 1903 \n3 1903 1894 1904 \n3 1904 1931 1939 \n3 1960 1976 1975 \n3 1975 1985 2017 \n3 2483 2475 1517 \n3 1869 1410 1858 \n3 1547 2141 2110 \n3 1903 1889 1894 \n3 1894 1931 1904 \n3 1939 1931 1960 \n3 1975 1976 1985 \n3 1985 2007 2017 \n3 2017 2007 2018 \n3 2086 2074 2036 \n3 2086 2094 2085 \n3 2093 1390 1859 \n3 1851 1852 2005 \n3 1852 2012 2005 \n3 928 978 849 \n3 1854 1873 1889 \n3 2007 2027 2018 \n3 1992 2069 2022 \n3 1704 1798 1997 \n3 1490 2146 205 \n3 1850 1855 1854 \n3 1894 1889 1873 \n3 2037 2018 2027 \n3 2037 2047 2036 \n3 2018 2037 2036 \n3 2047 2066 2086 \n3 2036 2047 2086 \n3 2086 2066 2094 \n3 2094 2148 2121 \n3 2148 2147 2121 \n3 1307 2004 836 \n3 208 1307 1386 \n3 1600 2101 1926 \n3 253 169 200 \n3 1799 1402 1762 \n3 1509 1345 1739 \n3 869 870 1902 \n3 1918 1649 1618 \n3 2147 1666 1752 \n3 1931 1922 1960 \n3 1976 1952 1985 \n3 2066 2111 2094 \n3 2111 2148 2094 \n3 2147 2148 1666 \n3 2421 2420 2406 \n3 1925 2025 1212 \n3 1911 2143 542 \n3 2127 1386 2152 \n3 1732 1509 1739 \n3 989 852 2488 \n3 502 1213 802 \n3 1920 430 2162 \n3 2145 2144 2128 \n3 2143 1920 2162 \n3 1854 1855 1873 \n3 1894 1922 1931 \n3 1922 1940 1960 \n3 1960 1940 1976 \n3 2047 2075 2066 \n3 2075 2112 2066 \n3 2066 2112 2111 \n3 1722 1899 1936 \n3 1869 1899 1722 \n3 1366 2162 1337 \n3 519 1345 1509 \n3 1697 1830 1860 \n3 1983 1918 2044 \n3 1894 1890 1922 \n3 2007 1985 2027 \n3 1947 1980 1992 \n3 1882 1345 519 \n3 1882 1813 1345 \n3 1929 205 2146 \n3 2498 2485 1446 \n3 1890 1905 1922 \n3 1922 1952 1940 \n3 1952 1976 1940 \n3 1952 1986 1985 \n3 2112 2122 2111 \n3 2122 2148 2111 \n3 1386 1307 1225 \n3 1598 1687 1345 \n3 2092 1389 1536 \n3 2002 2010 1980 \n3 1986 2027 1985 \n3 2037 2048 2047 \n3 2047 2048 2075 \n3 1812 1666 2148 \n3 2122 1812 2148 \n3 1460 1468 1963 \n3 1756 1509 1742 \n3 504 1929 1998 \n3 2222 1783 1788 \n3 1531 1521 1650 \n3 1905 1912 1922 \n3 1912 1942 1922 \n3 1942 1941 1922 \n3 1922 1941 1952 \n3 1941 1986 1952 \n3 1307 1851 2004 \n3 2052 1813 1882 \n3 1732 1739 1540 \n3 2153 1885 1354 \n3 1502 1527 1473 \n3 1873 1878 1894 \n3 1894 1878 1890 \n3 2075 2123 2112 \n3 2112 2123 2122 \n3 1895 1890 1878 \n3 1890 1895 1905 \n3 1941 1961 1986 \n3 1961 2008 2027 \n3 1986 1961 2027 \n3 2008 2037 2027 \n3 2108 2118 2070 \n3 1917 1955 1936 \n3 1850 1863 1855 \n3 1895 1896 1905 \n3 1905 1896 1912 \n3 1942 1961 1941 \n3 2048 2076 2075 \n3 2123 2124 2122 \n3 1929 2146 1925 \n3 1901 1893 1877 \n3 481 1509 1756 \n3 2128 2136 2119 \n3 502 802 2058 \n3 1846 1856 1850 \n3 1850 1856 1863 \n3 2038 2037 2008 \n3 2037 2038 2048 \n3 2075 2076 2123 \n3 2149 1812 2122 \n3 481 519 1509 \n3 1993 1820 2045 \n3 2043 2003 1763 \n3 1863 1866 1855 \n3 1866 1873 1855 \n3 1896 1943 1912 \n3 1942 1943 1961 \n3 2123 2125 2124 \n3 2149 2122 2124 \n3 2098 2145 2128 \n3 2040 1994 2097 \n3 1604 1640 2150 \n3 1846 1958 1856 \n3 1873 1866 1878 \n3 1912 1943 1942 \n3 1943 1962 1961 \n3 2076 2095 2123 \n3 2095 2125 2123 \n3 2125 2149 2124 \n3 940 1649 1918 \n3 2134 2135 208 \n3 1883 1885 2013 \n3 2048 2028 2076 \n3 1387 2126 1388 \n3 1388 2126 1565 \n3 1929 1925 1994 \n3 940 1918 1315 \n3 2109 502 429 \n3 1866 1879 1878 \n3 1878 1879 1895 \n3 1896 1906 1943 \n3 1962 1977 1961 \n3 1961 1977 2008 \n3 2038 2028 2048 \n3 2076 2077 2095 \n3 821 822 826 \n3 2165 1667 2149 \n3 80 940 1315 \n3 2203 2215 2202 \n3 2010 2070 2069 \n3 1879 1891 1895 \n3 1891 1906 1896 \n3 1895 1891 1896 \n3 1906 1913 1943 \n3 1977 2009 2008 \n3 2009 2038 2008 \n3 1687 1739 1345 \n3 1788 1819 1869 \n3 2129 1390 2093 \n3 1943 1944 1962 \n3 2028 2077 2076 \n3 1766 2149 2125 \n3 1766 2165 2149 \n3 802 2021 2466 \n3 1502 1926 2101 \n3 1913 1953 1943 \n3 1943 1953 1944 \n3 1962 1969 1977 \n3 2077 2104 2095 \n3 2104 2125 2095 \n3 1964 2010 2002 \n3 191 1625 1357 \n3 2100 1558 1593 \n3 1929 2040 1998 \n3 1697 1875 2164 \n3 1397 1870 890 \n3 2164 1337 1680 \n3 1969 2009 1977 \n3 2009 2029 2028 \n3 2038 2009 2028 \n3 2029 2054 2077 \n3 2028 2029 2077 \n3 1848 1847 2174 \n3 1870 1861 890 \n3 542 2014 2013 \n3 1856 1857 1863 \n3 1863 1857 1866 \n3 1962 1944 1969 \n3 2054 2087 2077 \n3 2077 2087 2104 \n3 2104 2130 2125 \n3 2125 2130 1766 \n3 2062 2082 2032 \n3 2160 2170 208 \n3 2031 2041 2010 \n3 1812 2149 1772 \n3 1913 1907 1953 \n3 1969 1978 2009 \n3 2087 2130 2104 \n3 2014 542 1875 \n3 1693 1691 1047 \n3 1394 2206 1858 \n3 1394 1392 2206 \n3 1729 1783 1735 \n3 2499 2465 2469 \n3 1708 1700 1756 \n3 1944 1978 1969 \n3 2029 2049 2054 \n3 2349 2316 2285 \n3 2153 2154 1885 \n3 870 859 1888 \n3 2160 208 2135 \n3 2496 2462 2492 \n3 2189 2203 2202 \n3 1799 2178 1403 \n3 2476 2468 1384 \n3 1384 1714 2476 \n3 2127 208 1386 \n3 1857 1867 1866 \n3 1866 1880 1879 \n3 1892 1891 1879 \n3 1880 1892 1879 \n3 1892 1906 1891 \n3 1906 1907 1913 \n3 1953 1978 1944 \n3 1978 1979 2009 \n3 2130 2158 1766 \n3 1764 92 338 \n3 1760 1876 1404 \n3 522 1346 514 \n3 1540 2156 1737 \n3 2143 2162 1366 \n3 1379 1388 1565 \n3 2316 2391 2315 \n3 1993 2497 1800 \n3 1866 1867 1880 \n3 1979 2049 2029 \n3 2009 1979 2029 \n3 2049 2088 2054 \n3 2054 2088 2087 \n3 2087 2113 2130 \n3 1537 1650 1658 \n3 2144 2154 2128 \n3 2139 28 1927 \n3 2369 2032 2024 \n3 2251 2238 2239 \n3 2238 2251 1861 \n3 2391 2390 2315 \n3 2468 2500 1384 \n3 2476 1714 1709 \n3 501 1613 1642 \n3 2437 1226 2430 \n3 1914 1906 1892 \n3 1914 1907 1906 \n3 1953 1907 1978 \n3 1907 1987 1978 \n3 1978 1987 1979 \n3 2113 2158 2130 \n3 2154 2153 2128 \n3 507 1965 2143 \n3 871 1755 1625 \n3 1709 1714 1504 \n3 235 1965 507 \n3 2271 2283 1397 \n3 2324 2354 2318 \n3 1547 2120 1778 \n3 1531 1527 1521 \n3 1979 2055 2049 \n3 2049 2055 2088 \n3 2012 2014 2011 \n3 1963 2002 1955 \n3 2005 2011 1390 \n3 1564 1926 1502 \n3 2243 2242 2225 \n3 4 1714 1384 \n3 1857 1847 1867 \n3 1914 1945 1907 \n3 1945 1987 1907 \n3 1979 2019 2055 \n3 2114 2158 2113 \n3 2091 2082 2062 \n3 1397 2283 1686 \n3 2161 2154 2144 \n3 518 2474 2487 \n3 2157 4 1384 \n3 4 1504 1714 \n3 1691 1693 1504 \n3 1987 2019 1979 \n3 2114 2168 2158 \n3 2168 2167 2158 \n3 2082 2081 2071 \n3 1315 1983 1982 \n3 1487 1618 1649 \n3 2082 2071 2032 \n3 2360 1209 1232 \n3 1932 1945 1914 \n3 2055 2078 2088 \n3 2087 2114 2113 \n3 2098 2090 2081 \n3 2161 531 2154 \n3 1851 2005 2004 \n3 2022 2060 2051 \n3 2175 2183 2174 \n3 2161 984 531 \n3 1908 1892 1880 \n3 1908 1914 1892 \n3 1987 2039 2019 \n3 2039 2055 2019 \n3 2088 2078 2087 \n3 2087 2078 2114 \n3 1781 1443 1881 \n3 1215 1214 2319 \n3 866 1938 1893 \n3 866 902 1938 \n3 1371 2397 1378 \n3 1862 503 2026 \n3 2157 1384 503 \n3 1867 1781 1880 \n3 1908 1932 1914 \n3 2039 1987 1945 \n3 1480 2023 1491 \n3 2119 2135 2118 \n3 1521 1527 1517 \n3 1870 1397 1404 \n3 1220 1407 1398 \n3 1356 4 2157 \n3 2178 1799 1762 \n3 1867 1864 1781 \n3 1881 1880 1781 \n3 1881 1908 1880 \n3 2039 2056 2055 \n3 2105 2078 2055 \n3 2056 2105 2055 \n3 2105 2131 2078 \n3 2131 2114 2078 \n3 2114 2131 2168 \n3 531 984 596 \n3 2091 2099 2081 \n3 1209 1220 1398 \n3 1398 1232 1209 \n3 2129 2001 1516 \n3 1848 1864 1867 \n3 1932 2039 1945 \n3 51 1268 29 \n3 1666 1812 1752 \n3 1996 1379 1672 \n3 939 1007 1087 \n3 1946 1993 2045 \n3 1881 1915 1908 \n3 1923 1932 1908 \n3 1532 2039 1932 \n3 1532 1533 2039 \n3 2057 2039 1533 \n3 2057 2056 2039 \n3 1237 190 1767 \n3 1996 1388 1379 \n3 1874 1540 1553 \n3 1853 503 1862 \n3 1853 2157 503 \n3 2395 1274 2405 \n3 2425 2442 152 \n3 1915 1923 1908 \n3 1924 1934 1933 \n3 1869 1722 1425 \n3 2057 2096 2056 \n3 2096 2105 2056 \n3 2131 2150 2168 \n3 2150 2159 2168 \n3 1105 1634 1561 \n3 1956 1767 1680 \n3 1956 2050 1767 \n3 525 534 32 \n3 1613 1593 1608 \n3 2232 2228 2215 \n3 2495 2026 2083 \n3 2495 1862 2026 \n3 2116 1853 1862 \n3 2015 2157 1853 \n3 2015 1503 1356 \n3 2157 2015 1356 \n3 1113 235 1660 \n3 2128 2153 2136 \n3 2132 2105 2096 \n3 2490 1998 2040 \n3 2050 1237 1767 \n3 2060 2107 2080 \n3 2188 2194 2185 \n3 2347 2348 2361 \n3 1700 191 481 \n3 504 1736 1706 \n3 2132 2131 2105 \n3 2131 2132 2150 \n3 2150 2169 2159 \n3 501 1660 2161 \n3 1997 1388 1996 \n3 2296 2351 2328 \n3 2351 2363 2328 \n3 2393 2413 2363 \n3 2351 2393 2363 \n3 2401 511 2414 \n3 2254 2253 2242 \n3 2445 1364 2455 \n3 2270 2281 2297 \n3 845 2282 2263 \n3 2292 2309 2317 \n3 2253 2294 2293 \n3 2282 2289 2277 \n3 2269 2293 2292 \n3 2422 2454 2399 \n3 2280 2286 2266 \n3 2189 2190 2203 \n3 2270 2262 2281 \n3 2333 2328 2363 \n3 2423 2431 2408 \n3 2281 2262 2297 \n3 1408 1658 1957 \n3 2262 2301 2297 \n3 2296 2328 2295 \n3 1255 445 2345 \n3 1957 2501 2477 \n3 2436 2398 2443 \n3 262 2365 2358 \n3 848 826 822 \n3 2310 2324 2289 \n3 2498 2378 2433 \n3 2445 2455 2422 \n3 946 2357 2378 \n3 2498 946 2378 \n3 2204 2194 2211 \n3 2244 2236 2226 \n3 2244 2255 2236 \n3 2255 2262 2270 \n3 555 570 2304 \n3 1527 2067 1517 \n3 2423 2438 2431 \n3 2301 2351 2296 \n3 1865 2236 825 \n3 2247 2241 2210 \n3 2333 2363 2362 \n3 2234 2243 2225 \n3 2254 2294 2253 \n3 2328 2323 2295 \n3 2438 2446 1972 \n3 2328 2333 2323 \n3 2408 2431 2413 \n3 2292 2317 2275 \n3 865 2424 2415 \n3 1486 1492 2371 \n3 2236 2230 2229 \n3 2414 511 16 \n3 2034 1235 25 \n3 920 2137 687 \n3 2490 2481 2461 \n3 5 180 196 \n3 2480 947 1794 \n3 2137 2382 2381 \n3 2376 2393 2351 \n3 2376 505 2393 \n3 2393 505 2401 \n3 2400 2401 2414 \n3 2393 2401 2400 \n3 2317 2325 2275 \n3 2438 2456 2431 \n3 2297 2301 2296 \n3 2243 2248 2242 \n3 2403 1099 2381 \n3 2237 2244 2226 \n3 2244 2256 2255 \n3 2256 2262 2255 \n3 2323 2333 2327 \n3 2256 2288 2262 \n3 2288 2301 2262 \n3 2235 2230 2249 \n3 2137 2381 687 \n3 2382 2403 2381 \n3 1099 2403 2342 \n3 2352 2351 2301 \n3 2352 2376 2351 \n3 2236 2229 2219 \n3 2334 2354 2324 \n3 2307 2339 2314 \n3 2252 2268 2275 \n3 2310 2334 2324 \n3 2438 2423 510 \n3 2267 2266 2247 \n3 2382 412 2403 \n3 122 970 831 \n3 2233 2242 2268 \n3 2224 2212 2233 \n3 2218 2212 2224 \n3 2194 2195 2211 \n3 1543 2417 1548 \n3 412 865 2403 \n3 2403 865 2415 \n3 2415 2416 2403 \n3 2403 2416 2342 \n3 2414 2408 2400 \n3 2195 2218 2211 \n3 2267 2247 2217 \n3 2205 2213 2196 \n3 2416 2331 2342 \n3 2342 2331 831 \n3 2329 2301 2288 \n3 2329 2352 2301 \n3 2452 2453 514 \n3 2217 2247 2216 \n3 2217 2216 2204 \n3 2275 2280 2267 \n3 2177 2196 2176 \n3 2196 2188 2176 \n3 2331 2065 831 \n3 831 2065 122 \n3 2230 2235 2229 \n3 668 949 1143 \n3 2216 2210 2198 \n3 1215 1208 1216 \n3 2065 2364 122 \n3 2229 2225 2213 \n3 2289 2324 2303 \n3 2324 2318 2303 \n3 2216 2247 2210 \n3 2190 2191 2198 \n3 509 524 2034 \n3 2416 1916 2331 \n3 2331 1916 2065 \n3 2407 2412 2340 \n3 2247 2266 2241 \n3 2325 2332 2280 \n3 1339 2364 2065 \n3 2439 1301 1339 \n3 2225 2229 2234 \n3 1152 1162 1115 \n3 2430 2454 2437 \n3 2415 2424 2416 \n3 2494 2473 2461 \n3 2289 2303 2276 \n3 824 2226 1871 \n3 150 238 1037 \n3 8 150 1037 \n3 544 927 2380 \n3 2439 2405 1383 \n3 927 1595 2380 \n3 2185 2187 2184 \n3 2455 25 1887 \n3 2286 2332 2261 \n3 2424 2341 2416 \n3 2341 1916 2416 \n3 1916 876 2065 \n3 2335 1339 2065 \n3 2335 2439 1339 \n3 2327 2350 2326 \n3 824 2237 2226 \n3 2350 2367 2326 \n3 1221 2387 1210 \n3 677 755 733 \n3 427 262 1342 \n3 2187 2190 2189 \n3 2340 2375 2332 \n3 2065 876 2335 \n3 2289 2276 2277 \n3 738 633 591 \n3 674 303 13 \n3 2383 674 13 \n3 2198 2210 2203 \n3 2190 2198 2203 \n3 2321 2317 2309 \n3 2286 2261 2232 \n3 2184 2187 2183 \n3 2385 2424 844 \n3 2383 571 674 \n3 1127 122 2364 \n3 831 970 2342 \n3 2187 2185 2190 \n3 2184 2183 2175 \n3 2344 1916 2341 \n3 2344 876 1916 \n3 2335 2405 2439 \n3 970 1099 2342 \n3 2298 2288 2256 \n3 2298 2302 2288 \n3 2248 2254 2242 \n3 505 512 511 \n3 2436 954 1218 \n3 1586 2397 1323 \n3 876 2395 2335 \n3 2335 2395 2405 \n3 2462 2478 878 \n3 2375 2411 2349 \n3 2280 2266 2267 \n3 2302 2329 2288 \n3 623 634 158 \n3 1995 2355 1560 \n3 2448 2435 1995 \n3 2355 2053 2450 \n3 927 2397 1586 \n3 2332 2349 2261 \n3 2034 25 2455 \n3 2345 2341 2424 \n3 2345 2344 2341 \n3 1543 2379 2417 \n3 2411 2391 2349 \n3 621 508 1150 \n3 2435 2053 1995 \n3 544 2450 927 \n3 2325 2340 2332 \n3 2345 2424 2385 \n3 1364 2034 2455 \n3 2368 2376 2352 \n3 2368 505 2376 \n3 2450 899 927 \n3 899 2397 927 \n3 1234 1887 1243 \n3 2336 2344 2345 \n3 876 771 2395 \n3 771 1274 2395 \n3 2431 2445 2413 \n3 2293 2294 2309 \n3 2368 2329 827 \n3 2417 2418 2435 \n3 2449 2428 2435 \n3 2435 2428 2053 \n3 2489 2493 1655 \n3 1320 154 2337 \n3 1255 2345 2385 \n3 2447 876 2344 \n3 876 2447 771 \n3 2445 2422 2413 \n3 2350 2333 2362 \n3 2242 2253 2268 \n3 2379 2418 2417 \n3 2418 2449 2435 \n3 2282 2277 2263 \n3 821 2196 822 \n3 1007 1758 1564 \n3 2447 2344 2336 \n3 2269 2292 2275 \n3 2322 2323 2327 \n3 2428 1011 2053 \n3 2225 2242 2212 \n3 2394 324 771 \n3 2369 2366 2379 \n3 2053 2434 2450 \n3 2434 2396 2450 \n3 2450 2396 899 \n3 1773 1973 1974 \n3 2304 2289 2282 \n3 845 2304 2282 \n3 2319 1214 2284 \n3 2138 2447 2336 \n3 2447 2394 771 \n3 1231 1230 1215 \n3 2271 2284 2283 \n3 2366 2370 2379 \n3 2370 2404 2379 \n3 2379 2404 2418 \n3 2418 2428 2449 \n3 2428 175 1011 \n3 2396 2372 899 \n3 2372 2397 899 \n3 2372 1378 2397 \n3 2371 1499 1507 \n3 1132 1302 1141 \n3 2251 2272 2271 \n3 890 2251 2271 \n3 2418 2404 2428 \n3 2404 2429 2428 \n3 2428 2429 175 \n3 2188 2185 2180 \n3 2211 2218 2217 \n3 2311 2138 2336 \n3 2138 2383 2447 \n3 2447 2383 2394 \n3 898 854 842 \n3 2271 2272 2284 \n3 2330 2302 2298 \n3 175 2434 2053 \n3 1011 175 2053 \n3 2176 2184 2175 \n3 2217 2218 2224 \n3 1215 1219 1214 \n3 2377 2138 2311 \n3 2383 13 2394 \n3 2323 2294 2254 \n3 2239 2272 2251 \n3 2370 2386 2404 \n3 2409 2429 2404 \n3 2429 2441 175 \n3 2434 2343 2396 \n3 2396 2343 2372 \n3 2455 1887 2454 \n3 2241 2266 2232 \n3 2232 2261 2228 \n3 2377 2383 2138 \n3 2322 2309 2294 \n3 2322 2321 2309 \n3 2239 2273 2272 \n3 973 840 989 \n3 2489 1446 2485 \n3 2386 2409 2404 \n3 2441 2140 175 \n3 2343 1777 2372 \n3 971 1378 2372 \n3 1777 971 2372 \n3 1378 971 427 \n3 1210 2436 1222 \n3 1227 1214 1219 \n3 701 2377 2311 \n3 16 517 2414 \n3 1887 25 1243 \n3 2323 2322 2294 \n3 2304 2310 2289 \n3 2306 2284 2272 \n3 2273 2306 2272 \n3 2306 2319 2284 \n3 2368 530 505 \n3 2434 2257 2343 \n3 2295 2323 2287 \n3 1232 1216 2360 \n3 2359 2370 2366 \n3 2409 2441 2429 \n3 175 2140 2257 \n3 175 2257 2434 \n3 538 2330 65 \n3 2349 2391 2316 \n3 2267 2224 2252 \n3 1507 1499 2370 \n3 2359 1507 2370 \n3 2370 1499 2386 \n3 971 2365 427 \n3 1625 1685 1357 \n3 1758 1806 1818 \n3 2276 2256 2244 \n3 2276 2298 2256 \n3 1783 2227 1735 \n3 2264 2239 1735 \n3 2227 2264 1735 \n3 2264 2273 2239 \n3 1208 2319 2306 \n3 2319 1208 1215 \n3 1554 1583 1559 \n3 2386 1499 2371 \n3 2409 2419 2441 \n3 2432 971 1777 \n3 2432 2365 971 \n3 954 521 1224 \n3 2338 2306 2273 \n3 2371 1492 2386 \n3 2410 2419 2409 \n3 2419 953 2441 \n3 2441 953 2140 \n3 2343 2432 1777 \n3 2204 2211 2217 \n3 2327 2333 2350 \n3 2393 2400 2413 \n3 2249 2255 2270 \n3 2338 1208 2306 \n3 2327 2321 2322 \n3 865 844 2424 \n3 2 315 892 \n3 2386 2410 2409 \n3 2440 2140 953 \n3 2140 2440 2257 \n3 2353 2432 2343 \n3 2253 2293 2269 \n3 2268 2253 2269 \n3 862 2304 845 \n3 2440 2353 2257 \n3 2257 2353 2343 \n3 2318 2354 50 \n3 2222 2227 1783 \n3 1492 2410 2386 \n3 1559 2448 1554 \n3 2287 2323 2254 \n3 824 2250 2237 \n3 2250 2244 2237 \n3 1298 83 1311 \n3 2245 2264 2227 \n3 2312 2273 2264 \n3 2312 2338 2273 \n3 2250 2276 2244 \n3 2318 50 2330 \n3 890 1861 2251 \n3 2442 953 2419 \n3 2442 2440 953 \n3 510 2446 2438 \n3 2241 2232 2210 \n3 187 14 813 \n3 2442 2425 2440 \n3 2425 2353 2440 \n3 2305 2402 2432 \n3 2432 2402 2365 \n3 538 2302 2330 \n3 2245 2227 2222 \n3 1029 1818 1806 \n3 2353 2305 2432 \n3 2412 2411 2375 \n3 2437 2454 1887 \n3 1847 1856 2175 \n3 2206 2207 2222 \n3 2207 2245 2222 \n3 1208 2338 1216 \n3 2338 2360 1216 \n3 1220 1209 2387 \n3 553 108 77 \n3 385 1374 94 \n3 2326 2325 2317 \n3 2178 2181 1392 \n3 2181 2207 1392 \n3 1392 2207 2206 \n3 2360 2398 2387 \n3 2387 2398 1210 \n3 2305 2353 2425 \n3 2402 2358 2365 \n3 2213 2225 2212 \n3 2267 2252 2275 \n3 888 2199 2178 \n3 2199 2181 2178 \n3 2199 2220 2181 \n3 2220 2207 2181 \n3 2313 2264 2245 \n3 2313 2312 2264 \n3 2338 2373 2360 \n3 2477 2433 2378 \n3 2204 2216 2198 \n3 2207 2258 2245 \n3 2258 2274 2245 \n3 2313 2320 2312 \n3 2312 2346 2338 \n3 2346 2373 2338 \n3 2373 2398 2360 \n3 152 153 2425 \n3 153 2305 2425 \n3 2384 2358 2402 \n3 2220 2258 2207 \n3 2305 2356 2402 \n3 2356 2384 2402 \n3 2236 2255 2230 \n3 2171 2179 888 \n3 2179 2199 888 \n3 2199 2200 2220 \n3 2245 2290 2313 \n3 2373 2443 2398 \n3 570 554 2310 \n3 2191 2204 2198 \n3 2172 2179 2171 \n3 2278 2245 2274 \n3 2278 2290 2245 \n3 2291 2313 2290 \n3 2320 2361 2312 \n3 2361 2346 2312 \n3 2346 2388 2373 \n3 2443 954 2436 \n3 2291 2290 2278 \n3 2451 2443 2373 \n3 2053 2355 1995 \n3 2337 2305 153 \n3 2185 2191 2190 \n3 2192 2200 2199 \n3 2258 2220 2200 \n3 2246 2258 2200 \n3 2451 954 2443 \n3 2277 2276 2250 \n3 2337 2356 2305 \n3 2180 2185 2184 \n3 2275 2325 2280 \n3 2431 2456 2445 \n3 2197 2200 2192 \n3 2197 2231 2200 \n3 2231 2246 2200 \n3 2388 2451 2373 \n3 2451 1629 954 \n3 1402 1748 1443 \n3 1554 1995 1560 \n3 2356 2426 2384 \n3 2384 2427 229 \n3 2408 2414 2423 \n3 2303 2330 2298 \n3 2192 2199 2179 \n3 2444 2451 2388 \n3 1564 1758 1926 \n3 2379 1543 2369 \n3 2337 2426 2356 \n3 2426 2427 2384 \n3 229 221 252 \n3 2201 2197 2192 \n3 2201 2208 2197 \n3 2208 2240 2197 \n3 2240 2231 2197 \n3 2265 2274 2258 \n3 2364 1339 1127 \n3 2414 517 2423 \n3 2337 169 2426 \n3 169 2427 2426 \n3 2180 2184 2176 \n3 2195 2194 2188 \n3 2182 2192 2179 \n3 2452 1629 2451 \n3 2196 2213 2188 \n3 2400 2408 2413 \n3 821 2219 2196 \n3 1209 2360 2387 \n3 2186 2192 2182 \n3 2186 2201 2192 \n3 2265 2278 2274 \n3 2278 2299 2291 \n3 2374 2346 2361 \n3 2374 2389 2346 \n3 2389 2388 2346 \n3 2452 2451 2444 \n3 1346 1629 2452 \n3 1629 1346 521 \n3 2219 2205 2196 \n3 2261 2349 2285 \n3 169 253 2427 \n3 2456 1972 2445 \n3 1972 1364 2445 \n3 2173 2182 2179 \n3 2193 2201 2186 \n3 2221 2240 2208 \n3 2221 2259 2240 \n3 2265 2258 2246 \n3 2389 2444 2388 \n3 2263 2250 824 \n3 2362 2367 2350 \n3 2325 2392 2340 \n3 1854 1849 1850 \n3 2209 2208 2201 \n3 2209 2221 2208 \n3 2260 2259 2221 \n3 2279 2278 2265 \n3 2279 2299 2278 \n3 250 262 2358 \n3 2276 2303 2298 \n3 2219 2229 2205 \n3 2201 2193 2209 \n3 2212 2242 2233 \n3 2327 2326 2321 \n3 2293 2309 2292 \n3 2213 2195 2188 \n3 2195 2212 2218 \n3 2223 2221 2209 \n3 2420 2389 2374 \n3 2205 2229 2213 \n3 2193 2202 2209 \n3 2223 2260 2221 \n3 2420 2444 2389 \n3 2321 2326 2317 \n3 2392 2407 2340 \n3 1364 1972 509 \n3 2215 2209 2202 \n3 2215 2223 2209 \n3 2265 2307 2279 \n3 2279 2307 2299 \n3 2406 2420 2374 \n3 2174 2182 2173 \n3 2193 2189 2202 \n3 2453 2444 2420 \n3 521 1346 522 \n3 2455 2454 2422 \n3 822 2196 2177 \n3 2280 2332 2286 \n3 2187 2186 2182 \n3 2187 2189 2193 \n3 2186 2187 2193 \n3 2307 2314 2299 \n3 2406 2374 2361 \n3 2442 2419 2502 \n3 2419 2410 2502 \n3 2410 1492 2502 \n3 1492 1486 2502 \n3 1486 1317 2502 \n3 1317 1319 2502 \n3 1319 2442 2502 \n3 2316 2315 2308 \n3 2285 2316 2308 \n3 2246 2231 2240 \n3 2246 2240 2259 \n3 2265 2246 2259 \n3 2259 2260 2285 \n3 2265 2259 2285 \n3 2265 2285 2308 \n3 2265 2308 2300 \n3 2413 2422 2399 \n3 2363 2413 2399 \n3 2399 2390 2391 \n3 2399 2391 2411 \n3 2367 2362 2363 \n3 2392 2367 2363 \n3 2407 2392 2363 \n3 2399 2411 2412 \n3 2363 2399 2412 \n3 2270 2297 2296 \n3 2287 2254 2248 \n3 2235 2249 2270 \n3 2235 2270 2296 \n3 2287 2248 2243 \n3 2295 2287 2243 \n3 2235 2296 2295 \n3 2295 2243 2234 \n3 2235 2295 2234 \n3 2313 2291 2299 \n3 2320 2313 2299 \n3 2361 2320 2299 \n3 2361 2299 2314 \n3 2361 2314 2339 \n3 2347 2361 2339 \n"
  },
  {
    "path": "data/dragon.obj",
    "content": "####\n#\n# OBJ File Generated by Meshlab\n#\n####\n# Object dragon.obj\n#\n# Vertices: 22998\n# Faces: 47794\n#\n####\nvn 2.101906 -2.989210 -4.804546\nv 0.032643 0.056148 -0.049958\nvn -1.801074 2.136433 -5.677387\nv 0.032517 0.058013 -0.050051\nvn -2.614028 -1.004888 -3.789356\nv 0.030805 0.055978 -0.049912\nvn -2.586704 1.488756 -1.998417\nv 0.031290 0.057484 -0.049748\nvn 1.610129 -1.279496 -6.811263\nv 0.034336 0.058069 -0.049925\nvn -1.754259 2.091989 -5.951969\nv 0.034601 0.059915 -0.049824\nvn 1.350311 -1.310066 -5.467505\nv 0.035996 0.058852 -0.049794\nvn -0.261689 0.718273 -5.537116\nv 0.036198 0.060419 -0.049935\nvn -1.371548 -2.467659 0.142733\nv 0.030858 0.055077 -0.048515\nvn 0.154810 -2.828210 -1.883994\nv 0.031677 0.055256 -0.049638\nvn 1.224310 -5.223241 1.121294\nv 0.032927 0.055628 -0.048176\nvn -4.337313 -1.495509 2.643059\nv 0.030362 0.056058 -0.048183\nvn 1.829331 -2.338608 -2.182640\nv 0.033879 0.056719 -0.049657\nvn -5.303954 2.955353 -2.014398\nv 0.030847 0.058105 -0.048290\nvn 2.755120 -3.710535 -5.119326\nv 0.036710 0.057814 -0.048868\nvn -1.533311 2.343066 -3.804198\nv 0.032965 0.059418 -0.049404\nvn 2.789515 -1.651656 -3.642456\nv 0.037500 0.059411 -0.049333\nvn 3.120906 -0.396243 -4.778825\nv 0.037669 0.060659 -0.049550\nvn -5.359301 4.405652 -6.897028\nv 0.034517 0.062071 -0.048458\nvn -0.785080 2.670862 -4.505475\nv 0.036151 0.062023 -0.049586\nvn 1.060994 1.246011 -2.844656\nv 0.037625 0.062064 -0.049514\nvn 1.168249 -3.116513 1.082662\nv 0.032334 0.055147 -0.048401\nvn 2.249193 -4.350879 -2.237367\nv 0.034488 0.056123 -0.048287\nvn -2.305331 2.128716 -2.338829\nv 0.032202 0.059188 -0.049061\nvn -5.293402 5.181604 -4.776944\nv 0.032702 0.060141 -0.048405\nvn 4.017857 -0.668407 -2.651099\nv 0.038577 0.060371 -0.048517\nvn 6.196012 3.216528 -5.440022\nv 0.038477 0.062400 -0.048412\nvn -1.404888 1.906933 -3.079434\nv 0.035835 0.062758 -0.049067\nvn 0.344600 3.858150 -3.908383\nv 0.036576 0.063839 -0.048400\nvn -1.466279 1.329223 -2.218030\nv 0.033952 0.060724 -0.049027\nvn 1.007762 -4.134719 -1.874718\nv 0.036057 0.056719 -0.048138\nvn 5.414309 -2.547783 -3.309879\nv 0.038206 0.058287 -0.047870\nvn -2.524779 3.703851 -3.386769\nv 0.035140 0.063593 -0.048101\nvn 1.522303 2.752755 -1.931064\nv 0.037788 0.063583 -0.048110\nvn 2.136466 -3.327912 -2.238927\nv 0.037588 0.056740 -0.047545\nvn -4.143909 2.033443 -0.427821\nv 0.031219 0.059259 -0.047450\nvn -2.738679 1.946394 -2.097156\nv 0.033224 0.061327 -0.047740\nvn -6.422942 1.272559 -0.090427\nv 0.031837 0.060389 -0.046444\nvn 6.999748 -1.591903 -2.547413\nv 0.039283 0.060139 -0.046685\nvn -5.652297 0.983610 -6.452305\nv 0.032480 0.062029 -0.046370\nvn -2.649788 1.878573 -2.321545\nv 0.034014 0.063018 -0.047126\nvn 2.280520 1.331539 -1.145957\nv 0.039148 0.062809 -0.047046\nvn 3.738510 4.662103 -2.956676\nv 0.038377 0.064095 -0.046371\nvn 0.390026 7.399676 -2.497048\nv 0.036422 0.064474 -0.046640\nvn -2.006844 -0.281826 -7.169509\nv 0.028961 0.067941 -0.047648\nvn 0.566673 -0.130118 -4.846488\nv 0.030217 0.067925 -0.047685\nvn 3.474151 0.438201 -5.606835\nv 0.031263 0.067925 -0.047315\nvn -0.574834 2.039442 -3.589246\nv 0.029357 0.069763 -0.047511\nvn 1.287101 1.252586 -3.130784\nv 0.030289 0.069375 -0.047575\nvn 2.815856 4.617756 -3.340044\nv 0.030688 0.070148 -0.046518\nvn -1.457762 -2.896280 3.614820\nv 0.032739 0.056803 -0.046696\nvn -0.780648 -6.673904 2.466093\nv 0.034653 0.056358 -0.046471\nvn 3.222694 -3.059625 -0.390355\nv 0.038058 0.056703 -0.046435\nvn -4.271384 -0.511881 2.848250\nv 0.031020 0.057945 -0.047007\nvn -0.787585 -2.442464 -6.093525\nv 0.028700 0.065948 -0.047087\nvn 1.004460 -2.580869 -6.104059\nv 0.030819 0.065974 -0.047052\nvn -0.120469 -1.390451 -3.649813\nv 0.029577 0.066550 -0.047448\nvn 0.802144 -1.176512 -4.655749\nv 0.030347 0.066585 -0.047424\nvn -0.354421 -1.168049 -5.497931\nv 0.027183 0.066305 -0.047010\nvn -4.201182 3.716829 -6.576313\nv 0.026648 0.068134 -0.046581\nvn -1.084003 0.705904 -2.430086\nv 0.027763 0.068388 -0.047204\nvn -2.646825 5.525178 -3.630185\nv 0.028593 0.070120 -0.046475\nvn 0.664939 -5.625293 0.158433\nv 0.036460 0.056157 -0.046173\nvn -2.934633 -2.772146 4.673825\nv 0.032298 0.057876 -0.046237\nvn 5.292278 -2.427574 -0.157070\nv 0.038782 0.058306 -0.046214\nvn -2.270346 0.427345 2.085080\nv 0.031430 0.059385 -0.046290\nvn 3.423219 -0.672648 -1.388578\nv 0.039678 0.060994 -0.046225\nvn 5.745894 1.241810 -3.202608\nv 0.039847 0.062220 -0.045910\nvn 0.296314 4.702570 -5.073394\nv 0.034368 0.064438 -0.046367\nvn -3.111452 2.565552 -5.577879\nv 0.024649 0.066347 -0.046542\nvn 4.974240 1.776367 -6.135844\nv 0.032664 0.066028 -0.046371\nvn 3.604425 1.566069 -2.967274\nv 0.032260 0.068008 -0.046324\nvn -0.053722 -0.545248 -4.742964\nv 0.032627 0.064162 -0.046287\nvn 0.195563 -3.496778 -5.380488\nv 0.024586 0.063986 -0.046248\nvn -3.540588 1.821651 -4.219056\nv 0.022699 0.064271 -0.046150\nvn 0.404525 -2.527807 -2.884244\nv 0.026619 0.064032 -0.045961\nvn -0.365183 -4.342385 -5.272088\nv 0.028993 0.064473 -0.046058\nvn -1.834559 1.286512 -1.251552\nv 0.022957 0.065753 -0.045862\nvn -1.840113 -2.473604 -5.082060\nv 0.030857 0.064474 -0.046069\nvn -1.652792 1.720472 -1.190921\nv 0.025063 0.067537 -0.046140\nvn -1.553869 -4.458679 -3.058030\nv 0.022671 0.063155 -0.045783\nvn -3.023468 3.645760 -1.211478\nv 0.027253 0.069402 -0.045757\nvn 3.324662 2.935920 -1.988655\nv 0.031809 0.069550 -0.045768\nvn -1.265867 -0.256759 -0.988651\nv 0.021529 0.063861 -0.045568\nvn 1.716336 1.912527 -1.401079\nv 0.033754 0.065362 -0.045554\nvn -2.175022 -4.627680 2.922307\nv 0.034553 0.057153 -0.044877\nvn -2.000656 -1.687258 -2.834548\nv 0.031283 0.062943 -0.045513\nvn -3.582333 3.013237 -0.420340\nv 0.021445 0.064035 -0.044696\nvn -1.156178 -0.521466 -0.925532\nv 0.030544 0.063229 -0.045418\nvn -0.433933 -4.216227 2.386957\nv 0.036075 0.056646 -0.044907\nvn 2.618183 -4.199257 2.250299\nv 0.037666 0.056837 -0.044933\nvn -1.650621 -3.550361 2.926711\nv 0.034262 0.057843 -0.044024\nvn 3.723237 -3.698126 2.053214\nv 0.038365 0.058079 -0.044236\nvn -4.525176 -3.740034 3.102112\nv 0.033094 0.058391 -0.044524\nvn 6.016778 -3.343883 0.085370\nv 0.039242 0.059563 -0.044154\nvn -3.854082 -2.437037 1.529591\nv 0.032059 0.059971 -0.044446\nvn -4.271694 -2.609549 0.080538\nv 0.031442 0.061195 -0.044296\nvn 3.611168 -1.649074 -0.401544\nv 0.039715 0.060583 -0.044912\nvn 7.220031 -1.539251 -2.045841\nv 0.040494 0.062154 -0.044190\nvn -3.541889 -3.799614 -2.678692\nv 0.030650 0.062183 -0.044562\nvn 1.054092 -4.401423 1.592065\nv 0.022628 0.063034 -0.044338\nvn 0.302301 -5.314645 0.268176\nv 0.024468 0.062978 -0.044650\nvn -2.677866 -1.342413 -0.621228\nv 0.021141 0.063129 -0.044102\nvn -0.411435 -6.664033 -0.938521\nv 0.026725 0.063129 -0.044571\nvn -1.454293 -5.197412 -1.000948\nv 0.028884 0.062698 -0.044252\nvn 4.436852 3.331552 -3.509905\nv 0.040161 0.064265 -0.044257\nvn 0.901110 4.278660 -1.948963\nv 0.038439 0.064931 -0.044837\nvn -2.924984 1.118602 1.762631\nv 0.022349 0.064306 -0.044063\nvn 1.122028 2.816665 -1.616333\nv 0.034796 0.064938 -0.044606\nvn 1.385171 4.682015 -2.382766\nv 0.036153 0.064840 -0.044264\nvn -4.936192 3.793902 -0.020737\nv 0.022926 0.066280 -0.044316\nvn 6.160224 4.449309 -5.788936\nv 0.034273 0.066103 -0.044233\nvn 2.993602 1.183152 -2.328878\nv 0.033427 0.066982 -0.045088\nvn 4.571805 2.456525 -2.772679\nv 0.033177 0.068399 -0.044519\nvn -4.488818 4.591163 -0.460643\nv 0.024561 0.067589 -0.044214\nvn -4.489162 5.073385 -1.101421\nv 0.025948 0.068559 -0.044597\nvn -2.686713 4.100908 -0.734547\nv 0.027063 0.069417 -0.044295\nvn 4.342717 4.756632 -2.204419\nv 0.032258 0.069871 -0.044084\nvn -1.973744 5.410138 -0.614293\nv 0.028638 0.070551 -0.044325\nvn 1.536782 5.314234 -1.231006\nv 0.030954 0.070709 -0.044296\nvn 0.327836 5.139264 -2.491331\nv 0.038496 0.065375 -0.043971\nvn 3.736606 1.923857 -2.568522\nv 0.033896 0.067694 -0.043980\nvn 0.098214 -0.212835 -3.565967\nv -0.022605 0.163011 -0.044335\nvn 0.503646 -5.225091 4.278058\nv 0.036598 0.057478 -0.043877\nvn -0.564670 -3.109741 3.552416\nv 0.024484 0.063431 -0.043890\nvn -0.260821 -3.965575 2.789983\nv 0.025702 0.063381 -0.043794\nvn -3.110594 0.871516 -7.975537\nv -0.024612 0.162836 -0.043810\nvn -0.124931 -2.757794 -3.328095\nv -0.024779 0.161809 -0.043667\nvn 0.688396 -3.654807 -3.708154\nv -0.022719 0.161928 -0.043827\nvn 3.824776 -0.698000 -3.772859\nv -0.021101 0.162758 -0.043838\nvn 0.469402 3.333904 -6.360022\nv -0.022911 0.164888 -0.043702\nvn -0.822716 0.853996 -2.739790\nv -0.023780 0.164258 -0.043669\nvn 1.380750 1.277837 -1.788474\nv -0.021552 0.164200 -0.043667\nvn 0.749387 -1.545326 -2.940858\nv -0.024799 0.173615 -0.043575\nvn 0.223838 1.392790 -4.443970\nv -0.024624 0.174587 -0.043672\nvn 1.028355 0.233041 -0.772857\nv -0.023281 0.174642 -0.043589\nvn -0.593770 -5.317950 4.194006\nv 0.036385 0.058562 -0.042505\nvn -2.145116 -3.031202 3.266391\nv 0.034442 0.058886 -0.042945\nvn 1.826925 -3.919491 2.352822\nv 0.038088 0.058816 -0.042801\nvn 3.257658 -3.379919 1.395199\nv 0.039000 0.059679 -0.042342\nvn -2.982048 -2.627900 2.995459\nv 0.032985 0.060279 -0.042963\nvn 4.462615 -3.630511 0.231779\nv 0.040049 0.060661 -0.042581\nvn -4.116681 -5.213213 4.060283\nv 0.032449 0.061580 -0.042374\nvn -2.397869 -5.050029 1.415197\nv 0.030791 0.062197 -0.042608\nvn 6.505760 -2.934018 -2.374742\nv 0.040995 0.062379 -0.042623\nvn -0.635309 -1.040203 1.664424\nv 0.021169 0.063082 -0.043310\nvn -2.614741 -5.653270 2.729960\nv 0.029117 0.062789 -0.042492\nvn -4.006711 -6.416251 5.922369\nv 0.026947 0.064170 -0.042527\nvn -1.560427 -3.254598 1.264720\nv 0.027589 0.063184 -0.043162\nvn -0.484980 0.782066 2.928698\nv 0.022635 0.064324 -0.043230\nvn 5.548018 1.136675 -3.751380\nv 0.041004 0.064609 -0.042798\nvn -1.258020 -3.585417 5.010828\nv 0.024831 0.064448 -0.043067\nvn -2.356607 1.814448 1.340749\nv 0.021539 0.063818 -0.043327\nvn 0.574172 2.324086 -1.309712\nv 0.036183 0.065087 -0.043345\nvn -2.781650 0.884979 2.683901\nv 0.022932 0.065770 -0.043208\nvn 2.943638 3.332033 -3.881535\nv 0.036391 0.066123 -0.042364\nvn -0.040113 5.169717 -2.838783\nv 0.038481 0.065941 -0.042545\nvn 2.274915 4.086416 -3.245518\nv 0.040597 0.065863 -0.042303\nvn 2.306553 1.509851 -2.797581\nv 0.035284 0.066493 -0.042931\nvn -4.951816 -0.212641 5.208942\nv 0.024482 0.066369 -0.042358\nvn 4.874124 3.646472 -4.906074\nv 0.034582 0.068208 -0.042880\nvn -4.623286 3.032668 1.260618\nv 0.024952 0.067689 -0.042333\nvn -3.705177 2.884328 -0.258655\nv 0.025816 0.068570 -0.042535\nvn -3.602484 3.558264 -3.480483\nv 0.027201 0.070212 -0.041997\nvn 3.057188 4.530528 -2.097180\nv 0.032713 0.070090 -0.042675\nvn -1.436830 4.315763 -2.511144\nv 0.028543 0.070561 -0.042700\nvn 0.992095 6.182150 -2.021278\nv 0.030965 0.070918 -0.042649\nvn -0.732380 -3.177644 -5.838698\nv -0.026714 0.160926 -0.042739\nvn 1.101009 -4.263022 -2.165881\nv -0.024682 0.161066 -0.042566\nvn 1.518523 -5.436082 -1.333941\nv -0.022879 0.161479 -0.042452\nvn -3.469342 0.972581 -6.944733\nv -0.026594 0.163091 -0.042447\nvn 3.364233 -3.772731 0.451771\nv -0.021352 0.161883 -0.042193\nvn 3.554579 -0.353147 0.722845\nv -0.020857 0.163025 -0.042352\nvn -1.601986 0.765392 -2.408287\nv -0.025131 0.163260 -0.043302\nvn -2.882571 2.904259 -7.677402\nv -0.024871 0.164885 -0.043048\nvn 5.230340 2.743490 -0.826317\nv -0.021120 0.164565 -0.042467\nvn 2.324308 4.706590 -2.140867\nv -0.022548 0.165711 -0.042875\nvn 1.493555 -3.933949 -1.877406\nv -0.024563 0.172763 -0.042609\nvn -0.971520 -2.846514 -6.353356\nv -0.026650 0.172671 -0.042668\nvn 3.859485 -2.365543 -0.678078\nv -0.023199 0.173210 -0.042022\nvn 2.555817 2.531095 0.483721\nv -0.023170 0.174669 -0.042241\nvn -1.363031 2.549441 -2.512909\nv -0.026965 0.174949 -0.042702\nvn 0.720963 4.055354 -0.348860\nv -0.024642 0.175558 -0.042551\nvn 1.969008 3.733083 -2.361654\nv 0.034036 0.069441 -0.042222\nvn 0.008620 3.719000 -2.504164\nv -0.024400 0.166215 -0.042491\nvn -2.633004 0.587870 -3.798626\nv -0.028442 0.161015 -0.042237\nvn -1.339493 0.496388 -3.710653\nv -0.026653 0.164871 -0.042396\nvn -1.995366 -1.000655 -6.376012\nv -0.028672 0.172862 -0.042305\nvn -1.898449 3.578164 -3.949121\nv -0.028641 0.174433 -0.042197\nvn -2.721763 -3.750868 3.709270\nv 0.034734 0.059661 -0.042028\nvn -1.423333 -2.147922 1.514854\nv 0.027924 0.063750 -0.042139\nvn 2.430014 -0.098910 -1.730398\nv 0.041521 0.063925 -0.042129\nvn 3.472873 2.853612 -5.271751\nv 0.036090 0.067959 -0.041839\nvn 0.392777 1.521813 -5.163926\nv 0.028885 0.072128 -0.041972\nvn 0.562958 2.671259 -2.601566\nv 0.030281 0.071369 -0.041826\nvn -1.046795 -1.489322 -4.017219\nv -0.026661 0.149747 -0.041980\nvn 2.232203 -1.755930 -2.862963\nv -0.024683 0.149499 -0.042015\nvn 0.095275 1.475444 -4.352133\nv -0.026496 0.151033 -0.041919\nvn 1.153057 0.947459 -1.467393\nv -0.024590 0.150734 -0.041912\nvn -1.181736 -1.577317 -4.861249\nv -0.028608 0.159562 -0.041901\nvn -1.100840 2.970051 -4.357904\nv -0.026699 0.166217 -0.042037\nvn 2.414672 3.784274 -0.249273\nv -0.022995 0.166135 -0.042005\nvn 0.120137 -2.537431 -2.637081\nv -0.027586 0.171760 -0.042008\nvn -1.429017 -1.749306 1.973902\nv 0.026227 0.065639 -0.041763\nvn -2.370912 -0.375854 -6.301211\nv 0.026933 0.072572 -0.041695\nvn -1.022805 -0.139225 -3.739225\nv 0.026940 0.073964 -0.041898\nvn 1.952141 0.530831 -7.173123\nv 0.028822 0.074484 -0.041999\nvn -2.027971 1.638680 -6.115107\nv 0.027005 0.075895 -0.041785\nvn 0.618275 1.566640 -3.195321\nv 0.028415 0.075991 -0.041913\nvn -2.616969 0.145863 -7.173363\nv -0.028583 0.164772 -0.041724\nvn -0.401512 -3.750165 -4.115351\nv -0.028741 0.171529 -0.041694\nvn -2.550766 -5.848390 4.447216\nv 0.036192 0.060093 -0.040494\nvn 2.347528 -6.586253 3.062439\nv 0.038585 0.060119 -0.040553\nvn -2.539446 -3.115928 2.947496\nv 0.034902 0.060657 -0.040862\nvn 3.174880 -4.704555 0.481460\nv 0.040124 0.060962 -0.040268\nvn -3.267298 -6.082744 3.874265\nv 0.032793 0.062544 -0.040686\nvn 3.254686 -3.568675 -0.731021\nv 0.040966 0.061652 -0.040568\nvn 3.280219 -1.959179 -1.096119\nv 0.041760 0.062858 -0.040888\nvn -2.027820 -4.823020 2.886642\nv 0.030844 0.062968 -0.041081\nvn -3.884850 -5.416173 4.326606\nv 0.028916 0.064388 -0.040497\nvn 6.367413 -1.661685 -3.825480\nv 0.042557 0.064325 -0.040555\nvn 4.812667 3.442895 -6.858120\nv 0.042338 0.066176 -0.040447\nvn -4.577319 -4.352710 4.654651\nv 0.026750 0.066369 -0.040723\nvn 0.958237 3.124159 -3.261254\nv 0.038686 0.066672 -0.040960\nvn 1.133689 4.484837 -3.484751\nv 0.040741 0.066819 -0.040820\nvn -5.557817 -0.506453 1.597736\nv 0.025942 0.067996 -0.040354\nvn 1.416409 1.537851 -2.111124\nv 0.036956 0.068288 -0.041098\nvn -5.464603 -0.553214 -4.180776\nv 0.026254 0.070096 -0.041015\nvn 3.244886 6.860669 -5.856185\nv 0.036206 0.069778 -0.040286\nvn 0.970527 3.569652 -1.507974\nv 0.034551 0.070061 -0.040648\nvn 3.176785 5.443524 -2.212850\nv 0.032692 0.070629 -0.040535\nvn 3.747942 3.994655 -4.714710\nv 0.031039 0.071935 -0.040848\nvn 3.638977 3.691001 -3.701344\nv 0.029289 0.076440 -0.041087\nvn -1.326317 1.385549 -2.089703\nv 0.026314 0.076512 -0.041189\nvn -1.260162 5.831328 -3.963075\nv 0.026949 0.077450 -0.040668\nvn -0.128557 -5.224891 -1.399735\nv -0.026283 0.148826 -0.040812\nvn 3.849552 -2.846551 1.778924\nv -0.024535 0.149480 -0.040495\nvn -1.486159 -1.920040 -2.744997\nv -0.027724 0.149762 -0.041547\nvn 0.000000 -0.000000 -0.000000\nv -0.023352 0.149981 -0.041456\nvn 5.178393 2.889113 -0.652872\nv -0.024374 0.151213 -0.040510\nvn -0.335055 0.350080 -1.121468\nv -0.027823 0.151127 -0.041607\nvn 0.392925 4.336720 -5.086047\nv -0.026742 0.151770 -0.041313\nvn -0.918854 -0.615727 -2.604346\nv -0.030089 0.159217 -0.041686\nvn 0.879171 -3.703534 -3.130651\nv -0.028650 0.158568 -0.040806\nvn -4.096111 2.943922 -6.681921\nv -0.030609 0.160714 -0.040250\nvn 1.281990 -3.292082 -1.701190\nv -0.025810 0.160075 -0.041157\nvn -3.489680 0.558098 -4.568904\nv -0.029183 0.161358 -0.041044\nvn 2.709162 -5.146278 -0.707443\nv -0.024745 0.160499 -0.040723\nvn 4.198901 -4.308614 2.242224\nv -0.023017 0.161499 -0.040636\nvn -2.710030 0.275619 -3.930839\nv -0.028000 0.163136 -0.041627\nvn 4.690469 -0.745258 3.275231\nv -0.021429 0.163139 -0.041370\nvn 3.379640 1.864134 2.056065\nv -0.021478 0.164769 -0.041442\nvn 0.145234 1.953934 -4.513276\nv -0.028945 0.166819 -0.040896\nvn 5.173862 3.243912 4.028932\nv -0.022595 0.165073 -0.040494\nvn -0.087301 0.812638 -0.603794\nv -0.027808 0.166467 -0.041580\nvn 2.682545 5.921858 1.213337\nv -0.024278 0.166586 -0.040402\nvn 1.683872 1.731075 0.965353\nv -0.023064 0.166082 -0.040736\nvn 0.367411 0.689290 -6.028484\nv -0.032623 0.167135 -0.041540\nvn 1.892323 6.631131 -2.651911\nv -0.026836 0.167124 -0.040503\nvn -1.087829 -2.253337 -5.916996\nv -0.030654 0.170850 -0.040769\nvn 3.728732 -6.548014 -1.083039\nv -0.026579 0.171291 -0.040512\nvn -1.615283 -0.862228 -3.383553\nv -0.030280 0.172513 -0.041634\nvn 3.466146 -2.325992 2.785400\nv -0.024748 0.172638 -0.040651\nvn -3.872988 0.846546 -6.507473\nv -0.030983 0.173114 -0.041213\nvn -1.903660 1.079941 -3.063234\nv -0.029923 0.173825 -0.041779\nvn -2.533690 5.765619 -1.891259\nv -0.030637 0.174291 -0.040710\nvn -0.616268 4.741650 0.217902\nv -0.029017 0.174813 -0.040406\nvn 0.842679 6.345963 2.543208\nv -0.026759 0.174991 -0.040398\nvn 2.914653 2.464042 3.780668\nv -0.024698 0.174699 -0.040808\nvn -0.183564 -5.126184 -5.715114\nv -0.034576 0.053971 -0.040363\nvn 0.986677 -3.481693 -4.647585\nv -0.032412 0.054371 -0.040434\nvn -0.118098 -0.996902 -5.736657\nv -0.034385 0.056342 -0.041433\nvn 0.411774 -1.122352 -5.704958\nv -0.032505 0.056517 -0.041400\nvn -0.727142 -0.828914 -5.760610\nv -0.036614 0.056433 -0.041236\nvn 1.141665 -1.664051 -4.364823\nv -0.030663 0.056037 -0.041039\nvn 0.000000 0.000000 -0.000000\nv -0.033190 0.056575 -0.041502\nvn 0.000000 0.000000 0.000000\nv -0.034123 0.056575 -0.041508\nvn 0.832583 0.176212 -6.864290\nv -0.030814 0.058057 -0.041183\nvn -0.375230 0.899681 -6.901721\nv -0.034590 0.058513 -0.041309\nvn -1.244869 0.964858 -5.759758\nv -0.036821 0.058325 -0.041062\nvn 0.195592 0.509780 -4.966344\nv -0.032676 0.058366 -0.041253\nvn 0.188740 1.480906 -6.805112\nv -0.032758 0.060235 -0.040987\nvn -2.398407 -0.660057 -4.322344\nv 0.025973 0.072326 -0.041185\nvn -3.472395 0.091899 -6.006292\nv 0.025770 0.074284 -0.041282\nvn 4.803226 2.144937 -4.325037\nv 0.030592 0.074313 -0.040680\nvn 0.901828 3.346083 -0.800843\nv 0.028461 0.077422 -0.040373\nvn -1.825054 -4.561307 -3.458150\nv -0.028633 0.149361 -0.040574\nvn -2.328036 0.134634 -5.527513\nv -0.028963 0.151308 -0.041086\nvn 0.848097 -3.556784 -4.226235\nv -0.030741 0.157327 -0.040225\nvn -0.971335 -1.863468 -4.390010\nv -0.030672 0.158765 -0.041135\nvn 4.113216 -6.500237 -4.656756\nv -0.026812 0.159096 -0.040290\nvn -2.056552 -0.602017 -4.440876\nv -0.029054 0.162932 -0.041001\nvn -1.657648 -0.924275 -4.603739\nv -0.030965 0.164963 -0.040805\nvn -0.024995 0.391084 -5.495999\nv -0.030724 0.166899 -0.041069\nvn -1.553709 0.295521 -5.184636\nv -0.034457 0.166851 -0.041180\nvn 0.015081 -1.739879 -3.340030\nv -0.033073 0.166076 -0.041225\nvn -0.330901 -2.484714 -6.116035\nv -0.032619 0.164954 -0.040299\nvn -1.723045 3.115498 -4.757311\nv -0.034245 0.168530 -0.040314\nvn -0.859973 1.805197 -4.367801\nv -0.032697 0.169026 -0.040388\nvn 0.700770 1.565472 -6.387194\nv -0.030944 0.168696 -0.040464\nvn 0.659958 -2.824306 -2.493072\nv -0.028676 0.170705 -0.040465\nvn -0.395847 -2.831920 -3.806617\nv -0.036302 0.054070 -0.040344\nvn -0.815867 -4.741602 -6.861142\nv -0.038412 0.054302 -0.040230\nvn -1.265259 -0.180220 -4.682716\nv -0.038789 0.056443 -0.040854\nvn 3.322297 -4.122884 -6.614555\nv -0.028866 0.056527 -0.040583\nvn -1.563443 0.936639 -4.650281\nv -0.038756 0.058089 -0.040542\nvn 1.221719 -0.472660 -5.691424\nv -0.028822 0.058057 -0.040960\nvn 2.725857 -1.675272 -4.433678\nv -0.026949 0.058244 -0.040381\nvn -0.965312 1.582712 -5.661160\nv -0.036448 0.060097 -0.040759\nvn 0.318827 0.470195 -5.878844\nv -0.028972 0.060224 -0.040804\nvn 1.608726 -0.597553 -5.160886\nv -0.026781 0.060260 -0.040837\nvn 0.299004 0.757947 -4.925935\nv -0.030893 0.060340 -0.040846\nvn -0.305395 1.520126 -4.709464\nv -0.034375 0.060657 -0.040909\nvn -2.011314 -2.635651 2.202399\nv 0.034220 0.061815 -0.040251\nvn -2.861330 -0.351681 2.274704\nv 0.025528 0.067494 -0.041021\nvn 2.992508 4.005403 -5.882740\nv 0.038453 0.067894 -0.040266\nvn -4.796960 4.135167 -5.498633\nv 0.024917 0.075883 -0.040348\nvn 2.737265 2.351562 -1.274084\nv 0.029982 0.076116 -0.040298\nvn 0.000000 -0.000000 -0.000000\nv -0.023508 0.150375 -0.040888\nvn -0.648201 3.641024 -4.391665\nv -0.028694 0.152497 -0.040527\nvn 1.275627 5.013752 -2.215255\nv -0.026843 0.152489 -0.040411\nvn 0.530230 -2.628108 -5.854081\nv -0.032581 0.156918 -0.040275\nvn -1.349962 0.782613 -5.124643\nv -0.032696 0.158932 -0.040563\nvn 5.020208 -0.518839 4.566715\nv -0.022449 0.163106 -0.040312\nvn -3.085451 -1.646994 -6.767269\nv -0.030759 0.163023 -0.040356\nvn -1.578716 -3.649605 -6.608680\nv -0.034313 0.165040 -0.040286\nvn -1.915766 0.706166 -5.038524\nv -0.036399 0.166900 -0.040485\nvn 2.597429 -5.410336 -5.058259\nv -0.030815 0.054558 -0.039973\nvn -2.690395 -0.806143 -7.269798\nv -0.040895 0.056132 -0.040078\nvn -2.262462 1.519977 -7.420928\nv -0.038638 0.060339 -0.040051\nvn 3.601810 -1.616751 -3.875481\nv -0.025530 0.060185 -0.040109\nvn -0.489696 2.466960 -5.235395\nv -0.036311 0.062346 -0.040074\nvn -0.235561 0.784375 -4.921411\nv -0.028720 0.062168 -0.040478\nvn -0.377489 2.186749 -7.617810\nv -0.030800 0.062120 -0.040489\nvn -0.619844 3.537726 -5.898508\nv -0.034750 0.062545 -0.040022\nvn -0.545512 3.773810 -6.889195\nv -0.032772 0.062317 -0.040243\nvn 2.903079 -0.691905 -3.313030\nv -0.025187 0.062233 -0.040468\nvn 0.567892 0.588948 -6.729054\nv -0.026569 0.062365 -0.040693\nvn -1.791032 -3.964544 2.423743\nv 0.030437 0.063714 -0.040135\nvn 3.770917 -0.014270 -4.930472\nv -0.024662 0.064174 -0.040113\nvn -0.130227 0.595459 -4.923468\nv -0.026916 0.064551 -0.040264\nvn 1.620152 0.552599 -5.147755\nv -0.024780 0.065921 -0.040181\nvn 1.435029 3.747095 -4.333158\nv 0.040495 0.067706 -0.039786\nvn -2.569258 -2.243117 -4.467211\nv 0.024848 0.070597 -0.040115\nvn -2.105227 -0.598225 -4.455242\nv 0.024481 0.072516 -0.040410\nvn -2.314692 0.524465 -5.378769\nv 0.024484 0.074114 -0.040486\nvn -1.581609 -2.475965 -1.995794\nv -0.030183 0.149603 -0.040044\nvn -2.818178 -0.529050 -5.578214\nv -0.030535 0.151257 -0.040519\nvn 0.642699 1.335099 -0.477225\nv -0.025368 0.152127 -0.040542\nvn -0.485098 -1.755779 -4.353436\nv -0.034526 0.156473 -0.040012\nvn -1.804458 1.816378 -8.320601\nv -0.034525 0.159046 -0.039979\nvn 1.780435 -4.393049 -3.449360\nv -0.028903 0.157923 -0.040109\nvn -0.922183 -2.708889 -4.844257\nv -0.036520 0.164982 -0.040121\nvn -2.153294 3.514432 -4.202685\nv -0.036142 0.168196 -0.039859\nvn -2.603929 -0.016753 -6.325468\nv -0.032798 0.170976 -0.040086\nvn -2.576534 1.085978 -4.047202\nv -0.032689 0.172880 -0.040203\nvn -0.706710 1.273182 -1.353855\nv -0.032087 0.173827 -0.040189\nvn -1.314614 -1.520086 -3.358439\nv -0.040518 0.054527 -0.039813\nvn 1.846261 -1.805153 -2.723151\nv -0.027652 0.056925 -0.040166\nvn -1.734572 1.243266 -7.540076\nv -0.040663 0.058112 -0.039875\nvn -1.005723 1.248506 -4.590450\nv -0.038443 0.062188 -0.039950\nvn -1.294288 1.849744 -7.594663\nv -0.028758 0.064311 -0.040068\nvn -0.948689 0.876233 -5.824236\nv -0.026946 0.066292 -0.040039\nvn -0.644693 0.894831 -5.813796\nv -0.026401 0.067984 -0.039961\nvn 2.913729 1.752853 -4.395445\nv -0.025066 0.067828 -0.039894\nvn 1.319276 1.415894 -2.162340\nv 0.037992 0.069385 -0.039823\nvn -1.017915 3.188019 -5.648956\nv -0.030832 0.152840 -0.039941\nvn -2.142049 0.831752 -5.053514\nv -0.038021 0.166521 -0.039850\nvn 3.571674 1.590208 -5.260592\nv -0.029103 0.168641 -0.039857\nvn -0.366684 -6.339121 -2.353792\nv -0.036388 0.053050 -0.038665\nvn -0.340577 -4.613614 -1.392289\nv -0.034450 0.052987 -0.038843\nvn -0.039266 -3.438161 -1.728473\nv -0.033913 0.053201 -0.039514\nvn 0.636352 -4.007056 -2.661950\nv -0.033230 0.053277 -0.039512\nvn 1.329831 -1.911635 -1.791898\nv -0.029573 0.055175 -0.039908\nvn 3.425974 -2.138038 -2.656829\nv -0.026201 0.057766 -0.039129\nvn 5.188987 -1.884372 -2.266402\nv -0.024878 0.060235 -0.038799\nvn -0.369438 -3.297533 2.130078\nv 0.036850 0.060807 -0.039175\nvn 0.529999 -6.186550 2.676638\nv 0.038790 0.060986 -0.038747\nvn 6.140062 -1.474069 -2.978505\nv -0.024483 0.062116 -0.039129\nvn 0.575967 0.931482 -6.653952\nv -0.079680 0.062330 -0.039791\nvn -3.720469 -6.016320 3.677327\nv 0.034428 0.062673 -0.038736\nvn 2.343444 -6.247097 1.018991\nv 0.040857 0.061633 -0.038363\nvn 5.836952 -6.077706 -2.138783\nv 0.042486 0.062609 -0.038657\nvn -0.790446 1.805524 -3.441736\nv -0.032347 0.063218 -0.039833\nvn -1.408094 2.517348 -5.207042\nv -0.030587 0.064186 -0.039780\nvn -3.705523 -5.888113 3.824183\nv 0.030956 0.064463 -0.038623\nvn -1.526132 0.955986 -4.648973\nv -0.028800 0.065869 -0.039695\nvn 6.333576 1.155022 -4.434216\nv -0.023998 0.066165 -0.039077\nvn -4.211965 -5.798750 3.368876\nv 0.028677 0.066288 -0.038658\nvn 0.367708 2.198383 -3.308992\nv 0.042192 0.067467 -0.039664\nvn -5.060974 -5.728193 1.811674\nv 0.026822 0.067825 -0.038303\nvn 3.944502 1.547510 -2.573173\nv -0.024393 0.068077 -0.038915\nvn 0.743270 2.218965 -5.098330\nv -0.026199 0.069298 -0.039646\nvn -2.977347 -1.862122 -0.736334\nv 0.025391 0.069068 -0.039050\nvn -4.641383 -6.782978 -1.495939\nv 0.024504 0.069783 -0.038475\nvn 2.125657 6.029644 -7.192735\nv 0.038502 0.070385 -0.038593\nvn 2.184737 5.140520 -4.727069\nv 0.034386 0.070777 -0.038797\nvn 3.994296 1.959891 -3.719180\nv 0.032158 0.071972 -0.039648\nvn 1.939260 1.952498 -2.180527\nv 0.032918 0.070881 -0.039381\nvn -2.352860 -1.787444 -7.217346\nv 0.022726 0.072175 -0.039761\nvn -1.527971 -2.199420 -2.654036\nv 0.023627 0.070997 -0.039806\nvn -1.884500 1.145257 -4.945892\nv 0.022521 0.074353 -0.039915\nvn -1.846649 1.978276 -3.515303\nv 0.021233 0.074376 -0.039641\nvn 0.668224 0.462163 -0.584302\nv 0.031611 0.073958 -0.039762\nvn 2.553021 2.091775 -2.208289\nv 0.031317 0.074775 -0.039497\nvn -2.767828 5.459988 -1.458888\nv 0.022686 0.075958 -0.038551\nvn -2.020992 2.696717 -2.888813\nv 0.023034 0.075772 -0.039516\nvn 4.346141 4.710424 -2.183536\nv 0.030663 0.076091 -0.038695\nvn -1.833476 3.151801 -0.766723\nv 0.025659 0.077215 -0.039543\nvn 2.724883 6.033462 -0.181556\nv 0.028767 0.077387 -0.038505\nvn -2.349189 9.087274 1.187320\nv 0.026554 0.077407 -0.038212\nvn 3.038971 -5.377570 2.967022\nv -0.026707 0.149203 -0.038615\nvn -1.929822 -6.179458 -2.731853\nv -0.030798 0.149118 -0.038585\nvn 0.092958 -5.600974 -0.154156\nv -0.028957 0.148773 -0.038472\nvn 4.367523 -0.752694 3.657887\nv -0.025134 0.151276 -0.038986\nvn -2.053123 -1.535718 -4.965024\nv -0.032057 0.151260 -0.039756\nvn -1.506641 0.432982 -3.491734\nv -0.032161 0.152540 -0.039753\nvn 3.797259 2.566147 0.868567\nv -0.025391 0.152558 -0.038993\nvn 0.607095 3.141313 -4.841090\nv -0.030820 0.153671 -0.039125\nvn 0.474078 4.548782 -3.799052\nv -0.028898 0.153656 -0.038855\nvn -1.771930 -1.544554 -6.198388\nv -0.036095 0.156737 -0.039737\nvn 3.299594 -4.161048 -3.871320\nv -0.028962 0.156941 -0.038546\nvn -0.829992 0.260161 -2.836830\nv -0.035727 0.158172 -0.039804\nvn 2.382187 -1.515471 -1.564102\nv -0.025507 0.159522 -0.039520\nvn -1.206131 2.402330 -4.136369\nv -0.032347 0.160115 -0.039779\nvn 7.748338 -2.796516 3.084841\nv -0.024565 0.160801 -0.038442\nvn 3.083773 -1.162365 2.120023\nv -0.023681 0.161404 -0.039437\nvn -1.629194 -1.851379 -5.398303\nv -0.032445 0.163091 -0.039749\nvn -1.262901 -2.920708 -4.808117\nv -0.038040 0.164820 -0.039573\nvn -0.540804 -2.961402 -3.862065\nv -0.036303 0.164313 -0.039408\nvn -0.630705 -2.215163 -3.014742\nv -0.034860 0.164321 -0.039455\nvn 1.894252 2.486813 1.268972\nv -0.025048 0.166549 -0.038827\nvn 4.689404 4.567080 2.510940\nv -0.026408 0.167204 -0.038396\nvn 3.052194 3.450555 -1.317524\nv -0.027691 0.167873 -0.039324\nvn -2.053686 2.298564 -3.704907\nv -0.034825 0.169347 -0.039313\nvn 3.446507 -1.722587 1.521553\nv -0.028064 0.170342 -0.038534\nvn 3.758195 -1.278721 3.034206\nv -0.027175 0.171294 -0.038438\nvn 5.126249 1.612854 5.699584\nv -0.026722 0.173089 -0.038748\nvn -1.926526 2.517212 -2.012818\nv -0.033149 0.173591 -0.039489\nvn 1.962683 1.206090 2.887435\nv -0.025829 0.173563 -0.039555\nvn -1.536308 7.622273 -1.214045\nv -0.032659 0.174117 -0.038539\nvn -0.221202 4.840029 0.499773\nv -0.030754 0.174496 -0.038532\nvn 1.203758 5.245667 2.557238\nv -0.028916 0.174529 -0.038646\nvn 1.039929 2.595069 1.928604\nv -0.027279 0.174384 -0.038986\nvn 0.078309 -3.165568 -1.973570\nv -0.038883 0.053390 -0.039378\nvn 0.344389 -5.452677 -1.618839\nv -0.038539 0.053065 -0.038515\nvn 1.242537 -4.037224 -2.403644\nv -0.031942 0.053386 -0.039237\nvn -1.421597 -3.405790 -3.070669\nv -0.040885 0.053590 -0.039030\nvn -4.005231 -5.750151 -6.648250\nv -0.042481 0.054273 -0.038619\nvn 3.938355 -5.769494 -3.613957\nv -0.028707 0.054739 -0.038461\nvn -1.979318 -1.136599 -5.463112\nv -0.042748 0.056011 -0.039315\nvn 1.515885 -1.798475 -1.644274\nv -0.028166 0.055703 -0.039386\nvn -1.245284 -0.066619 -3.755610\nv -0.042307 0.056501 -0.039541\nvn 5.897517 -5.368412 -3.742558\nv -0.026924 0.056320 -0.038441\nvn -1.092088 -0.003204 -4.825577\nv -0.042173 0.057873 -0.039661\nvn -1.020009 -0.273328 -5.828163\nv -0.043093 0.058266 -0.039478\nvn -0.658014 1.238286 -6.835404\nv -0.042494 0.060330 -0.039341\nvn -0.718812 0.608485 -2.744788\nv -0.040190 0.059258 -0.039640\nvn -0.874528 -1.915566 -7.476846\nv -0.079546 0.060810 -0.039651\nvn -1.212966 1.020361 -6.741400\nv -0.040645 0.060686 -0.039394\nvn 2.484836 -2.797252 -5.369712\nv -0.077765 0.060078 -0.039061\nvn 1.208604 -0.587238 -3.469833\nv -0.078363 0.061055 -0.039690\nvn -2.634583 -0.601798 -5.239868\nv -0.081862 0.061984 -0.039226\nvn -1.064277 -0.234247 -3.750738\nv -0.081137 0.062509 -0.039610\nvn 0.647720 0.319249 -3.760863\nv -0.078456 0.062058 -0.039720\nvn 2.686298 1.328525 -6.013831\nv -0.077845 0.062605 -0.039364\nvn -1.327191 2.352111 -5.167118\nv -0.040699 0.062482 -0.039146\nvn -0.659141 2.991911 -3.879412\nv -0.038579 0.063048 -0.039427\nvn -0.087568 1.846555 -2.322012\nv -0.034123 0.063225 -0.039611\nvn -1.437792 -3.277195 1.764723\nv 0.032377 0.063225 -0.039732\nvn 2.069945 -1.670847 -1.342135\nv 0.043103 0.063551 -0.039015\nvn -1.164147 1.051801 -4.398542\nv -0.080998 0.063925 -0.039560\nvn 0.251374 1.826880 -3.205173\nv -0.080110 0.064059 -0.039542\nvn 1.036158 3.331998 -5.724323\nv -0.079623 0.064542 -0.039139\nvn -1.583557 3.030558 -7.094032\nv -0.032514 0.064480 -0.038971\nvn -2.424882 2.632767 -5.434066\nv -0.082183 0.064289 -0.038973\nvn 4.486825 -2.150699 -2.760778\nv 0.044154 0.064439 -0.038312\nvn -2.297603 2.209398 -8.291177\nv -0.030668 0.066052 -0.038893\nvn 4.795532 -0.922127 -4.403568\nv 0.044517 0.065835 -0.038618\nvn -1.481312 0.699603 -3.646475\nv -0.029356 0.066540 -0.039364\nvn -2.165040 0.933070 -6.565711\nv -0.029077 0.067970 -0.039176\nvn 0.817995 2.610401 -5.262568\nv 0.042587 0.068472 -0.039022\nvn 0.586841 2.405679 -4.266063\nv 0.040882 0.068474 -0.039091\nvn -0.885115 0.565196 -3.838062\nv -0.027769 0.068749 -0.039509\nvn 4.045248 3.412442 -4.269122\nv -0.024924 0.069745 -0.038295\nvn -1.516907 1.810435 -7.433528\nv -0.028733 0.069937 -0.039141\nvn 2.071292 3.872516 -5.028568\nv -0.026610 0.070595 -0.038888\nvn -1.803481 -4.357004 -2.509197\nv 0.022602 0.070578 -0.038701\nvn -1.923951 -2.012432 -4.807267\nv 0.020897 0.071855 -0.039262\nvn -1.869174 -0.422985 -4.452505\nv 0.021352 0.072675 -0.039548\nvn -3.504031 2.585395 -3.789046\nv 0.020286 0.074508 -0.038756\nvn 4.364499 3.894392 -4.809942\nv 0.032361 0.074184 -0.038756\nvn -2.259976 3.997437 -0.579612\nv 0.021181 0.075335 -0.038274\nvn -2.264642 5.205192 -0.684872\nv 0.024450 0.076610 -0.038511\nvn -3.052690 -1.708889 -5.719768\nv -0.033130 0.150957 -0.039070\nvn -1.581992 1.569850 -5.225235\nv -0.032915 0.153389 -0.039123\nvn 2.529469 4.344021 -1.961031\nv -0.026767 0.153496 -0.038624\nvn -2.144783 -3.660462 -6.585291\nv -0.036521 0.155027 -0.038488\nvn -0.982437 -2.305900 -5.180609\nv -0.034379 0.154934 -0.038871\nvn 1.551178 -2.612130 -3.705350\nv -0.030522 0.156424 -0.038826\nvn -2.563954 1.182385 -6.351181\nv -0.036813 0.159125 -0.039255\nvn 2.995940 -3.727219 -0.621107\nv -0.026332 0.158434 -0.038375\nvn -1.853330 0.141142 -7.078739\nv -0.032799 0.161292 -0.039118\nvn -1.187525 0.034662 -2.063321\nv -0.031115 0.161525 -0.039421\nvn -0.973096 -0.771181 -2.730584\nv -0.033193 0.162536 -0.039316\nvn -1.760244 -1.302801 -4.101771\nv -0.039069 0.164698 -0.039211\nvn -2.428496 2.273514 -4.550380\nv -0.039010 0.167193 -0.039040\nvn -2.910513 5.297984 -5.089633\nv -0.038397 0.168187 -0.038305\nvn -3.333323 3.420210 -4.731266\nv -0.036453 0.169072 -0.038454\nvn 3.776265 1.168590 -0.274711\nv -0.028114 0.169169 -0.038509\nvn -2.069304 1.426762 -4.164508\nv -0.034016 0.169887 -0.039516\nvn -3.381717 4.712797 -4.422449\nv -0.034496 0.173076 -0.038823\nvn 1.022027 -2.310118 -1.435225\nv -0.030475 0.053727 -0.038712\nvn -1.807610 -2.092416 -5.179304\nv -0.044430 0.056090 -0.038762\nvn -1.233565 -0.853879 -5.708387\nv -0.044387 0.057847 -0.039264\nvn -1.397092 -0.927955 -4.666236\nv -0.046237 0.058369 -0.038858\nvn -1.164598 0.644853 -6.805259\nv -0.046097 0.060253 -0.039010\nvn -0.549484 0.634662 -4.899271\nv -0.044448 0.060360 -0.039189\nvn -0.443974 -3.364678 -4.584673\nv -0.080108 0.059767 -0.039214\nvn -2.408745 -2.009412 -6.094102\nv -0.082193 0.060211 -0.038558\nvn 3.492700 -0.115085 -5.675762\nv -0.076159 0.062106 -0.038592\nvn -0.690965 1.810802 -5.608409\nv -0.042128 0.062135 -0.038895\nvn 5.207413 -0.731230 -2.862415\nv -0.023970 0.064051 -0.038781\nvn 2.368906 3.215476 -5.672774\nv -0.077726 0.064118 -0.038589\nvn -1.642592 4.607077 -7.242512\nv -0.036337 0.064461 -0.038233\nvn -0.715161 2.835226 -5.015777\nv -0.034408 0.064109 -0.038819\nvn -0.884904 1.226540 -2.564806\nv -0.031323 0.064742 -0.039181\nvn 0.000000 0.000000 0.000000\nv 0.027445 0.067052 -0.039138\nvn 3.724497 1.529326 -5.340280\nv 0.044434 0.068041 -0.038560\nvn 0.375420 2.833656 -5.197847\nv 0.040707 0.070059 -0.038514\nvn -3.219651 -2.375239 -4.218832\nv 0.018876 0.072253 -0.038528\nvn 2.359631 1.280414 -4.185316\nv 0.033062 0.072193 -0.038913\nvn -2.585623 2.858261 -1.645256\nv 0.019193 0.074004 -0.038333\nvn -2.064272 3.116278 -0.520297\nv 0.025343 0.077055 -0.039141\nvn -1.522730 -3.474929 -2.951946\nv -0.032471 0.149581 -0.038380\nvn 1.853812 -1.092117 2.045001\nv -0.025569 0.149850 -0.039183\nvn 0.123093 -1.004360 -6.157768\nv -0.032744 0.154968 -0.038837\nvn -2.180600 -1.276715 -5.131202\nv -0.037456 0.156522 -0.039163\nvn -1.300784 1.340229 -5.609880\nv -0.036593 0.161015 -0.038698\nvn -0.904956 1.417102 -5.596984\nv -0.034361 0.161190 -0.038970\nvn -2.125591 -2.379921 -7.050609\nv -0.034433 0.162976 -0.039010\nvn 4.255509 -0.066459 4.160291\nv -0.023629 0.163150 -0.039105\nvn 2.793298 0.517735 2.806332\nv -0.023653 0.164375 -0.039242\nvn -3.937065 1.009983 -6.828901\nv -0.034703 0.170778 -0.039035\nvn 0.730886 -7.775625 -1.409761\nv -0.032561 0.052948 -0.038119\nvn -1.220650 -6.371168 -2.002176\nv -0.040702 0.053084 -0.038000\nvn 2.588902 -5.868203 -3.245629\nv -0.030841 0.053231 -0.038009\nvn -3.005927 -4.348284 -7.023118\nv -0.046162 0.056139 -0.038077\nvn 4.913613 -2.742117 -1.966270\nv -0.025428 0.058294 -0.038137\nvn -0.789828 -5.427704 -3.654054\nv -0.081744 0.058999 -0.037919\nvn 0.067188 -4.444608 -1.566655\nv -0.079817 0.058813 -0.038155\nvn 1.840077 -4.759316 -2.372558\nv -0.078163 0.058931 -0.037940\nvn -1.415481 -0.217157 -5.776727\nv -0.048189 0.060277 -0.038479\nvn 3.030334 -2.984996 -2.469914\nv -0.076253 0.060413 -0.038022\nvn -3.282449 0.035675 -4.932358\nv -0.083500 0.062484 -0.038214\nvn -0.564711 1.678090 -5.710998\nv -0.046162 0.062321 -0.038585\nvn -0.516202 2.020438 -6.664605\nv -0.044269 0.062324 -0.038702\nvn -1.967850 -4.650695 2.930043\nv 0.036355 0.061669 -0.038266\nvn -0.328945 3.010739 -5.117229\nv -0.040410 0.064405 -0.038110\nvn -0.415061 3.034724 -3.894327\nv -0.038629 0.064280 -0.038245\nvn -1.954586 4.636492 -4.311152\nv -0.082066 0.065818 -0.038014\nvn 0.743913 3.380496 -3.391854\nv -0.079827 0.065734 -0.038265\nvn -1.546347 0.514845 -5.658553\nv -0.030767 0.067937 -0.038468\nvn -1.006538 0.458449 -4.803630\nv -0.030799 0.069765 -0.038614\nvn 0.906431 2.387650 -5.371611\nv 0.042549 0.069755 -0.038504\nvn 2.489820 1.408535 -3.773867\nv 0.044587 0.069794 -0.038036\nvn 0.519725 3.516824 -3.303784\nv 0.036245 0.070758 -0.038326\nvn -1.488004 3.983547 -4.843394\nv -0.030821 0.071682 -0.038080\nvn 0.067714 4.231461 -3.699587\nv -0.029025 0.071802 -0.038285\nvn 0.883245 4.179648 -2.321974\nv -0.027171 0.071559 -0.038100\nvn -1.444126 -4.885843 -1.019750\nv 0.020918 0.070810 -0.038115\nvn -2.800909 -2.027050 -4.610024\nv -0.034596 0.150958 -0.038249\nvn 4.413017 -1.409351 3.583030\nv -0.026205 0.150974 -0.037984\nvn -1.989243 -0.185740 -5.514172\nv -0.034146 0.153133 -0.038743\nvn 1.464312 -0.406238 -4.187058\nv -0.030740 0.155082 -0.038363\nvn -2.117455 -3.162958 -4.569596\nv -0.038431 0.155285 -0.037999\nvn -1.712217 -0.713020 -3.374757\nv -0.038807 0.156596 -0.038533\nvn 3.392444 -4.260747 -1.667020\nv -0.027191 0.157702 -0.038107\nvn -3.235247 0.867380 -6.135061\nv -0.038641 0.158741 -0.038407\nvn 3.036938 -2.200632 0.266151\nv -0.025229 0.159430 -0.037952\nvn -3.100753 0.782210 -6.141340\nv -0.038521 0.160867 -0.038063\nvn 2.758503 0.073732 2.868870\nv -0.024604 0.163042 -0.038155\nvn -1.077666 -1.515180 -5.239020\nv -0.036393 0.162969 -0.038401\nvn -3.034387 -1.594054 -6.705945\nv -0.040620 0.164526 -0.038520\nvn -1.849348 -2.919175 -6.562053\nv -0.038557 0.163263 -0.038092\nvn 5.873277 2.272166 6.105892\nv -0.024810 0.164833 -0.038248\nvn -2.181468 1.275092 -3.980245\nv -0.040522 0.167031 -0.038254\nvn 3.762571 2.898747 0.396669\nv -0.027504 0.168078 -0.038018\nvn -1.982732 -3.272707 -3.117783\nv -0.044310 0.054827 -0.037934\nvn -2.334757 -2.289215 -6.071387\nv -0.048383 0.058038 -0.038029\nvn -0.841484 0.944835 -4.818493\nv -0.048444 0.062471 -0.038194\nvn -4.132999 2.071843 -3.387216\nv -0.083589 0.064304 -0.037874\nvn 1.825397 2.048966 -6.253098\nv -0.075868 0.064030 -0.037923\nvn -2.463764 -4.865629 2.498041\nv 0.032610 0.063884 -0.038138\nvn -0.360657 3.170069 -6.187372\nv -0.042560 0.064444 -0.038028\nvn -1.426400 1.270869 -6.625783\nv -0.034431 0.066093 -0.038411\nvn -0.486743 0.710789 -3.901079\nv -0.032653 0.066069 -0.038592\nvn -1.693069 -2.102974 1.295951\nv 0.030123 0.065674 -0.037872\nvn -1.451842 0.775519 -4.586076\nv -0.034632 0.068136 -0.038190\nvn -0.914611 0.928126 -7.845982\nv -0.032756 0.067956 -0.038319\nvn -2.475753 2.681494 -5.417546\nv -0.032710 0.070278 -0.038083\nvn 3.489359 3.098039 -6.267653\nv 0.034611 0.072513 -0.038072\nvn -1.742281 -3.416021 -2.853041\nv -0.033916 0.149824 -0.037846\nvn 3.681723 1.955667 -6.257739\nv -0.028936 0.154847 -0.037763\nvn -1.081282 -2.924927 -3.760509\nv -0.040667 0.163497 -0.038003\nvn -2.926844 -0.110080 -4.831933\nv -0.036219 0.170936 -0.038023\nvn -1.696285 2.054576 -5.432150\nv -0.036243 0.172984 -0.037941\nvn -1.676645 -1.009320 -5.619955\nv -0.050304 0.060005 -0.037949\nvn -3.012568 -0.763168 -4.776733\nv -0.084039 0.060405 -0.037891\nvn -1.763869 1.336828 -8.638968\nv -0.050535 0.062007 -0.037963\nvn -0.340201 2.545349 -5.402309\nv -0.044513 0.064172 -0.037954\nvn 0.996848 3.495418 -3.296031\nv -0.078348 0.065684 -0.037756\nvn 0.000000 0.000000 0.000000\nv -0.023534 0.066375 -0.038087\nvn -1.710179 1.829787 -3.971504\nv -0.034194 0.069631 -0.037882\nvn -2.651229 -0.293533 -1.394062\nv 0.017725 0.072473 -0.037607\nvn 2.155544 2.268477 -2.363657\nv 0.033999 0.073691 -0.037880\nvn -2.257754 -1.221524 -5.329009\nv -0.035880 0.153236 -0.037873\nvn -1.411039 1.899603 -6.368937\nv -0.040380 0.172843 -0.037900\nvn 0.745324 0.523533 -4.084114\nv -0.038471 0.172945 -0.037787\nvn 1.448636 -6.630198 -0.996734\nv -0.030837 0.052969 -0.036652\nvn -1.145405 -3.356366 -1.469063\nv -0.042176 0.053232 -0.037546\nvn 4.878835 -5.948080 -3.077929\nv -0.028617 0.053931 -0.036645\nvn -2.756187 -5.865598 -2.176476\nv -0.044404 0.053966 -0.036580\nvn -1.363897 -2.837947 -2.362659\nv -0.046793 0.055561 -0.037282\nvn 6.031812 -4.843949 -1.635770\nv -0.026410 0.056068 -0.036598\nvn -1.262814 -1.389807 -2.298896\nv -0.047706 0.056871 -0.037800\nvn -3.935704 -6.838926 -5.544361\nv -0.048522 0.056105 -0.036713\nvn 0.198390 -3.866317 -0.780405\nv -0.082128 0.058686 -0.037125\nvn -1.523609 -1.704451 -2.842961\nv -0.083887 0.059228 -0.037661\nvn 5.199376 -2.196032 -1.874758\nv -0.024235 0.059995 -0.036986\nvn -3.903695 1.544611 -3.942405\nv -0.084702 0.062282 -0.037268\nvn -1.191918 -0.283022 -3.773198\nv -0.051853 0.061586 -0.037666\nvn -0.887640 -3.397970 1.672165\nv 0.037627 0.061451 -0.037680\nvn -0.899795 -6.898272 3.535093\nv 0.038594 0.061995 -0.036500\nvn 4.616782 -3.760179 -4.905522\nv -0.073968 0.062225 -0.036729\nvn 2.654923 -7.020493 1.288653\nv 0.042425 0.062438 -0.036347\nvn 2.376539 -0.252419 -4.170700\nv -0.074700 0.062826 -0.037636\nvn 4.353036 -1.058743 -2.210033\nv -0.023652 0.063050 -0.037761\nvn 0.877813 0.172183 -2.855509\nv -0.074698 0.063875 -0.037616\nvn -0.701137 1.298773 -3.688169\nv -0.050198 0.063963 -0.037537\nvn -0.837488 2.970867 -7.305507\nv -0.048135 0.063942 -0.037826\nvn 5.605753 -6.551712 -2.697709\nv 0.044435 0.063751 -0.036539\nvn -0.292502 1.615998 -3.626426\nv -0.047073 0.063925 -0.037962\nvn -2.345083 0.982072 -4.229696\nv -0.035937 0.066084 -0.037723\nvn -1.398668 4.438109 -0.891596\nv -0.082025 0.066639 -0.036562\nvn 0.179453 5.323083 -2.246755\nv -0.079897 0.066866 -0.036497\nvn 2.056023 0.207446 -2.037647\nv 0.045579 0.066550 -0.037605\nvn 2.891398 1.290200 -2.300379\nv -0.023623 0.067474 -0.037815\nvn 3.962700 1.230915 -5.314269\nv -0.022888 0.067893 -0.036930\nvn 4.317720 0.936398 -3.951319\nv 0.046288 0.067927 -0.036546\nvn -4.345214 2.244910 -4.689416\nv -0.035778 0.067967 -0.037605\nvn 3.534697 1.263176 -3.147405\nv -0.023779 0.068547 -0.037486\nvn -3.971986 -5.441419 1.874990\nv 0.026766 0.068450 -0.036366\nvn -5.207920 6.007071 -3.713901\nv -0.034748 0.070336 -0.036693\nvn 0.000000 0.000000 -0.000000\nv 0.038473 0.071069 -0.037520\nvn 1.611059 4.798061 -4.508274\nv 0.038722 0.072194 -0.036675\nvn 0.173875 3.417316 -3.624255\nv 0.040676 0.071134 -0.037637\nvn 1.554339 3.524877 -4.276209\nv 0.043922 0.071159 -0.037619\nvn -1.303477 1.753800 -1.656593\nv -0.032227 0.071465 -0.037709\nvn -3.626120 -3.921417 2.186727\nv 0.018685 0.071898 -0.036492\nvn -1.379541 -2.991202 0.129028\nv 0.019427 0.071104 -0.037563\nvn 1.110991 1.663459 -3.354527\nv 0.035779 0.071623 -0.037792\nvn 0.094314 3.802397 -4.576023\nv 0.042702 0.071193 -0.037648\nvn 2.801342 5.305919 -3.121646\nv 0.034800 0.074228 -0.036479\nvn -2.784352 4.082173 1.972919\nv 0.018752 0.073689 -0.036647\nvn 1.634563 3.126665 -1.811442\nv 0.033219 0.074691 -0.037220\nvn 2.654089 6.284959 -0.398269\nv 0.030711 0.076334 -0.036757\nvn -2.282613 6.473499 1.277951\nv 0.024788 0.076427 -0.036610\nvn 3.757969 -4.870253 2.032899\nv -0.028504 0.149268 -0.036447\nvn 2.628457 -2.957097 2.290467\nv -0.027440 0.149468 -0.037395\nvn -0.931619 -3.036293 -4.481466\nv -0.034513 0.149202 -0.036577\nvn -1.866420 -1.885209 -5.111106\nv -0.035871 0.151127 -0.037639\nvn 6.386162 0.333858 3.216397\nv -0.026596 0.153072 -0.036647\nvn 6.543081 1.793218 -2.116362\nv -0.027261 0.154698 -0.036569\nvn -2.808928 -0.922207 -4.969445\nv -0.040234 0.156683 -0.037784\nvn 5.047402 -2.205198 -1.032463\nv -0.027181 0.157039 -0.036564\nvn -1.980437 0.547910 -3.430160\nv -0.039842 0.158400 -0.037774\nvn -4.819220 -4.412903 -8.514695\nv -0.042589 0.162983 -0.036683\nvn -1.558380 -0.702505 -2.304670\nv -0.042243 0.164186 -0.037588\nvn -1.674990 0.626334 -2.086892\nv -0.042267 0.166212 -0.037554\nvn 4.432694 2.301170 2.954432\nv -0.026966 0.166803 -0.036938\nvn -0.713883 1.388440 -1.255874\nv -0.040569 0.167737 -0.037446\nvn -1.756023 2.012413 -3.738222\nv -0.038567 0.169068 -0.037006\nvn 0.225074 -1.639721 -3.461122\nv -0.040698 0.171496 -0.037681\nvn -3.654154 4.481611 -5.015362\nv -0.042610 0.172655 -0.036725\nvn -1.145268 -2.482000 -9.015098\nv -0.038684 0.170880 -0.036970\nvn 2.618030 0.688401 2.741478\nv -0.027765 0.172796 -0.037673\nvn 0.164115 2.228926 -2.233752\nv -0.039053 0.174026 -0.037660\nvn 3.333083 2.620556 4.019315\nv -0.028920 0.172850 -0.036802\nvn -1.104106 2.515560 -0.886515\nv -0.033948 0.174073 -0.037563\nvn 1.753955 3.566300 2.334639\nv -0.029398 0.173998 -0.037236\nvn 0.111117 -0.503002 -2.109396\nv -0.045656 0.181560 -0.037669\nvn 1.347532 -4.069253 -6.318950\nv -0.044448 0.180684 -0.036531\nvn -1.193259 1.172740 -2.499374\nv -0.045476 0.182384 -0.037549\nvn -2.448053 1.875585 -3.329771\nv -0.044287 0.182904 -0.037736\nvn 1.190074 -2.453844 -7.107228\nv -0.042771 0.183200 -0.037712\nvn -2.586998 2.828651 -0.130030\nv -0.044541 0.183062 -0.036504\nvn -1.786687 2.308559 -2.173448\nv -0.043737 0.184138 -0.037605\nvn -0.276186 1.802428 -2.387119\nv -0.042653 0.184409 -0.037787\nvn 1.555834 1.612499 -2.436582\nv -0.041136 0.184327 -0.037666\nvn -0.540416 6.025354 1.413080\nv -0.042583 0.184655 -0.036657\nvn 2.028687 2.183620 0.551849\nv -0.040858 0.184465 -0.036624\nvn -0.119091 -7.987776 -0.046590\nv -0.034240 0.052868 -0.036688\nvn -1.616333 -3.241783 -1.352181\nv -0.043050 0.053419 -0.037071\nvn 1.158724 -1.702049 -1.048032\nv -0.029787 0.053425 -0.037388\nvn -2.096920 -4.781038 -2.670162\nv -0.046003 0.054607 -0.036396\nvn -2.118483 -2.698423 -4.836993\nv -0.050469 0.057850 -0.037169\nvn 5.961742 -3.263601 -1.424387\nv -0.025026 0.058090 -0.036506\nvn -4.405088 1.166014 -3.855251\nv -0.086066 0.060493 -0.036899\nvn -0.290803 -3.088899 -2.670833\nv -0.086008 0.058132 -0.036608\nvn -1.043649 -6.455594 -3.169886\nv -0.084266 0.058502 -0.036652\nvn -2.141910 -1.577649 -5.326278\nv -0.052430 0.059794 -0.037113\nvn 3.353348 -5.788143 -1.352387\nv -0.075804 0.059921 -0.036405\nvn -1.679491 -0.069993 -6.667432\nv -0.052744 0.062266 -0.037391\nvn 0.792278 -0.859286 -0.210222\nv -0.075075 0.061478 -0.037385\nvn 4.335015 -1.357540 -2.074582\nv -0.023737 0.062000 -0.037388\nvn -3.124806 -6.175919 3.940935\nv 0.036596 0.062519 -0.036820\nvn -5.818398 2.973665 -0.232872\nv -0.084176 0.064157 -0.036399\nvn 2.379162 0.636448 -6.217941\nv -0.073868 0.064498 -0.037292\nvn -3.279857 -6.323533 3.618807\nv 0.034541 0.063821 -0.036422\nvn -0.679753 1.956846 -5.565917\nv -0.052412 0.064318 -0.037085\nvn -0.806014 1.911304 -4.503502\nv -0.050710 0.064494 -0.037216\nvn -0.427804 2.336525 -4.376364\nv -0.048790 0.064778 -0.037370\nvn -0.385189 3.080960 -5.125327\nv -0.046285 0.065056 -0.037399\nvn -4.062722 3.784637 -0.983790\nv -0.083406 0.065722 -0.036531\nvn 0.301731 5.336421 -5.367033\nv -0.076146 0.066241 -0.036628\nvn -0.539398 2.989771 -6.244187\nv -0.044481 0.066172 -0.036801\nvn -0.207733 2.011803 -4.530499\nv -0.042640 0.066065 -0.036996\nvn -0.564637 4.098427 -6.722317\nv -0.038169 0.066043 -0.036930\nvn -2.313761 1.628323 -3.868579\nv -0.036624 0.066266 -0.037205\nvn 4.428133 -0.388845 -3.826570\nv -0.022601 0.066110 -0.036811\nvn -4.220529 -7.028552 3.564710\nv 0.030695 0.065950 -0.036583\nvn 0.154968 2.828272 -5.253200\nv -0.040434 0.066112 -0.036989\nvn -1.850655 -3.324476 1.228487\nv 0.029110 0.066802 -0.036766\nvn -2.514040 -2.989744 0.801271\nv 0.025552 0.069037 -0.037425\nvn 1.828683 2.285920 -3.660319\nv -0.024420 0.070565 -0.036896\nvn -4.589269 -5.911238 2.426272\nv 0.024831 0.070025 -0.036310\nvn 2.562182 1.910019 -2.131058\nv 0.045143 0.070687 -0.037047\nvn -1.729604 -5.204306 1.872505\nv 0.022897 0.070670 -0.037099\nvn 1.302592 3.221022 -4.723156\nv 0.036836 0.072327 -0.037185\nvn 3.258909 5.674634 -2.194622\nv 0.032473 0.075335 -0.036463\nvn -0.811830 -1.234759 -4.671410\nv -0.036983 0.150813 -0.037173\nvn 4.414050 -2.074035 3.435004\nv -0.027065 0.151373 -0.036762\nvn -1.566882 -1.081517 -5.508918\nv -0.037044 0.153141 -0.037357\nvn -1.336265 -1.497509 -3.201150\nv -0.038782 0.154437 -0.037041\nvn 1.845216 0.213756 -2.118235\nv -0.028496 0.155251 -0.037196\nvn -3.359227 -2.260802 -7.689606\nv -0.040682 0.154893 -0.036607\nvn 3.217819 -0.876889 -3.399224\nv -0.028148 0.156230 -0.037014\nvn -2.926509 -0.196926 -5.021531\nv -0.041102 0.156850 -0.037280\nvn -3.455853 0.956498 -6.007788\nv -0.040768 0.159144 -0.037085\nvn -0.000000 -0.000000 -0.000000\nv -0.025373 0.159391 -0.037388\nvn -2.381038 -0.364584 -5.329421\nv -0.040550 0.161137 -0.036968\nvn -1.571592 -1.453493 -4.053152\nv -0.039421 0.162661 -0.037427\nvn 4.978117 0.517030 4.835678\nv -0.025373 0.162976 -0.037422\nvn -0.911430 -1.682818 -3.251186\nv -0.040706 0.162706 -0.037136\nvn 2.581861 1.096212 2.756561\nv -0.025548 0.164725 -0.037496\nvn -4.503912 -0.193551 -6.170021\nv -0.042941 0.164783 -0.037112\nvn -2.966127 1.895977 -6.360917\nv -0.042428 0.167160 -0.036725\nvn 6.999834 2.564434 4.115008\nv -0.028376 0.168961 -0.036642\nvn -2.152446 0.760509 -4.218027\nv -0.037390 0.169791 -0.037311\nvn -1.034760 -0.879983 -5.143225\nv -0.042743 0.170585 -0.037284\nvn 0.378365 -2.718393 -5.221238\nv -0.040707 0.170496 -0.036849\nvn -1.124459 -0.525538 -4.070330\nv -0.042173 0.171550 -0.037607\nvn 0.000000 0.000000 0.000000\nv -0.038498 0.171867 -0.037313\nvn -1.661993 4.096790 -1.913944\nv -0.040487 0.173994 -0.036535\nvn 0.759684 5.845017 -2.291817\nv -0.038514 0.174290 -0.036602\nvn -0.720240 7.578940 -0.531913\nv -0.034451 0.174137 -0.036435\nvn -3.106635 0.630138 -4.149722\nv -0.046605 0.180744 -0.037004\nvn -1.945618 1.541837 -2.031173\nv -0.047883 0.180218 -0.036466\nvn 1.018466 -1.628039 -3.425737\nv -0.042409 0.182452 -0.037148\nvn 4.863018 -0.361561 -2.255794\nv -0.040478 0.183014 -0.036528\nvn -1.651560 -6.703746 -0.617318\nv -0.042534 0.053110 -0.036191\nvn -0.282549 -6.976913 -0.205265\nv -0.040306 0.052923 -0.036513\nvn 2.787307 -2.695448 -0.706527\nv -0.027336 0.054887 -0.036180\nvn -1.938898 -3.678550 -2.502852\nv -0.050342 0.056501 -0.036121\nvn -1.182446 -0.720199 -0.890549\nv -0.087511 0.058139 -0.036310\nvn 1.171975 -4.789490 -0.100376\nv -0.078110 0.058866 -0.036519\nvn -2.898054 -4.743896 -5.383297\nv -0.052431 0.058116 -0.036301\nvn -3.563175 2.064914 -1.344124\nv -0.087197 0.059770 -0.036206\nvn 3.414655 -2.959145 -2.045753\nv -0.074683 0.060782 -0.036112\nvn -1.049881 -0.358899 -3.776331\nv -0.054219 0.062214 -0.037086\nvn 4.319677 -1.932615 -1.413751\nv -0.023531 0.060827 -0.036097\nvn -3.574505 2.476785 -0.449961\nv -0.085550 0.062333 -0.036265\nvn 5.209535 -1.799158 -2.241363\nv -0.023183 0.062120 -0.036385\nvn 0.431556 -3.741445 1.165321\nv 0.040699 0.062026 -0.036246\nvn -1.305394 -2.383462 1.262138\nv 0.035527 0.062875 -0.037303\nvn 1.619040 -2.252202 0.295092\nv 0.043788 0.063181 -0.036645\nvn 2.069206 -0.866929 -4.188601\nv -0.072242 0.064127 -0.036646\nvn -1.190104 1.490225 -6.582251\nv -0.054392 0.064417 -0.036867\nvn 7.154983 -2.155895 -4.791575\nv -0.022511 0.064385 -0.036322\nvn -3.139269 -5.310342 3.265448\nv 0.032676 0.064656 -0.036671\nvn 2.030921 -2.237957 -2.480461\nv 0.045959 0.064594 -0.035919\nvn 0.495053 2.657862 -4.106775\nv -0.074267 0.066116 -0.036690\nvn 1.984240 4.147626 -7.225666\nv -0.072280 0.066225 -0.036285\nvn -0.754347 4.079721 -6.745443\nv -0.048341 0.066088 -0.036579\nvn 5.540055 -1.587278 -5.160532\nv 0.046688 0.066089 -0.036203\nvn -0.246401 1.725556 -3.552944\nv -0.046309 0.066251 -0.036587\nvn 0.161515 5.394628 -2.098220\nv -0.077885 0.066766 -0.036208\nvn -3.708209 4.308098 -4.737085\nv -0.036614 0.068061 -0.036319\nvn -2.601243 -4.012051 1.413635\nv 0.028133 0.067529 -0.036206\nvn -2.903072 2.177069 -1.499520\nv -0.035815 0.069532 -0.036100\nvn 2.601273 1.427894 -5.924355\nv -0.022770 0.070113 -0.036385\nvn 6.710927 3.528227 -4.268478\nv 0.046035 0.069946 -0.036134\nvn -1.702107 -3.869006 2.503384\nv 0.023041 0.071454 -0.035988\nvn 2.530889 3.567710 -1.937679\nv 0.044433 0.071874 -0.036326\nvn -2.883646 5.507398 -2.539691\nv -0.032725 0.071838 -0.036419\nvn 0.334990 3.323994 -6.025850\nv -0.024634 0.072052 -0.036230\nvn -1.291697 -6.582946 4.235938\nv 0.020794 0.071609 -0.036316\nvn 0.273455 4.199209 -2.417378\nv -0.026662 0.072144 -0.036085\nvn -0.988154 -0.151290 0.644497\nv 0.017381 0.072301 -0.036518\nvn 0.295232 5.643394 -3.964422\nv 0.040586 0.072285 -0.036454\nvn 0.812734 4.979229 -2.954232\nv 0.042719 0.072294 -0.036497\nvn -0.937783 5.596044 -1.613878\nv -0.030474 0.072483 -0.036539\nvn 0.465656 6.543994 -2.080349\nv -0.028732 0.072547 -0.036318\nvn 2.095105 5.094162 -4.021922\nv 0.036593 0.073697 -0.036221\nvn -3.229980 5.754752 1.741179\nv 0.020645 0.074569 -0.036327\nvn -2.342211 5.284709 1.487383\nv 0.022863 0.075675 -0.036657\nvn -1.414841 5.152920 1.443315\nv 0.026489 0.076802 -0.036243\nvn 0.631522 5.654679 1.526585\nv 0.028418 0.077078 -0.036808\nvn 0.651510 5.798870 0.456813\nv 0.029053 0.076823 -0.036154\nvn 0.304081 -3.320758 -3.421964\nv -0.036332 0.145319 -0.036434\nvn 0.207076 -0.616176 -5.604586\nv -0.036544 0.147187 -0.037003\nvn 1.163492 -1.156820 -1.241515\nv -0.035018 0.145427 -0.036284\nvn -1.612099 -2.989259 -2.814161\nv -0.037979 0.145702 -0.036165\nvn 4.273762 -2.471107 -5.739170\nv -0.034550 0.147083 -0.036089\nvn -2.946908 -2.758621 -6.090524\nv -0.038550 0.147110 -0.036635\nvn 0.041668 -5.604881 -2.555715\nv -0.032634 0.148816 -0.036149\nvn 0.761075 -5.816878 -0.434400\nv -0.030770 0.148680 -0.036233\nvn 0.105873 -1.296780 -5.521456\nv -0.036242 0.149449 -0.036651\nvn -1.565745 -0.786667 -6.679454\nv -0.038683 0.151325 -0.037080\nvn -1.505567 -0.515866 -5.612731\nv -0.038562 0.152897 -0.036983\nvn -3.680874 -1.716733 -6.514759\nv -0.042811 0.156807 -0.036332\nvn -2.977619 1.291022 -6.122279\nv -0.042398 0.159208 -0.036151\nvn 5.845279 -2.489105 3.281418\nv -0.026281 0.158962 -0.036180\nvn 3.637382 0.172113 3.337789\nv -0.025418 0.161077 -0.037118\nvn 3.995041 0.342517 4.455681\nv -0.026627 0.161348 -0.036136\nvn 4.073360 0.408822 4.374758\nv -0.026708 0.162870 -0.036116\nvn -0.960250 1.049198 -5.024847\nv -0.040417 0.168855 -0.036336\nvn -1.213943 -0.823814 -5.594059\nv -0.044441 0.168864 -0.036467\nvn 0.295230 -0.812161 -4.682575\nv -0.042599 0.168875 -0.036391\nvn -3.566485 2.639955 -5.984972\nv -0.044510 0.171053 -0.036577\nvn -1.025977 -0.639915 -2.533761\nv -0.037506 0.170675 -0.037257\nvn 4.700191 0.360664 4.436327\nv -0.028942 0.170923 -0.036246\nvn -2.036126 3.908440 -2.227672\nv -0.041383 0.173664 -0.036205\nvn -0.062466 5.474995 -1.671907\nv -0.036474 0.174057 -0.036390\nvn 0.519644 4.338831 1.632519\nv -0.030821 0.174184 -0.036775\nvn 0.520603 4.538925 1.211840\nv -0.032416 0.174179 -0.036197\nvn -0.730574 -0.100374 -5.100101\nv -0.048314 0.178675 -0.036553\nvn 1.231930 -2.834672 -4.571681\nv -0.046405 0.178883 -0.036137\nvn 0.138637 -2.998862 -6.076952\nv -0.042765 0.180871 -0.036251\nvn -3.539756 4.491080 0.008388\nv -0.045660 0.182409 -0.036250\nvn -3.346370 4.023247 1.038095\nv -0.043909 0.183962 -0.036352\nvn -3.422079 -3.443861 -7.244467\nv -0.054546 0.060120 -0.036428\nvn -1.327349 0.702657 -5.645135\nv -0.056417 0.064326 -0.036440\nvn -0.339720 3.627311 -5.930563\nv -0.052531 0.066014 -0.036272\nvn -0.596469 3.869462 -5.753207\nv -0.050310 0.066243 -0.036303\nvn -0.867680 2.322936 0.768110\nv 0.026573 0.077119 -0.036876\nvn -0.911178 -0.635201 -5.745329\nv -0.038419 0.149280 -0.036570\nvn -2.529210 -1.360266 -5.185885\nv -0.040710 0.151038 -0.036294\nvn -1.978870 -0.363441 -5.586432\nv -0.040767 0.153024 -0.036569\nvn 6.325220 1.706567 5.993822\nv -0.026897 0.164636 -0.036229\nvn -3.378740 -0.248062 -4.796690\nv -0.044250 0.164922 -0.036137\nvn -1.616390 1.790521 -1.705979\nv -0.044010 0.172270 -0.036022\nvn 4.079760 4.764904 5.947031\nv -0.030554 0.173322 -0.035964\nvn 2.440260 -1.232035 -3.843662\nv -0.040509 0.180995 -0.036149\nvn -0.042622 -5.988845 -0.066156\nv -0.037973 0.052914 -0.036337\nvn -2.099314 -4.147657 -1.649085\nv -0.047423 0.055069 -0.035988\nvn 0.526250 -6.883466 -0.476760\nv -0.080120 0.058590 -0.035909\nvn -2.375771 -2.628965 -4.725898\nv -0.055997 0.060468 -0.035935\nvn -1.953351 -0.835744 -5.541665\nv -0.056161 0.062146 -0.036391\nvn 2.957479 -1.867953 -5.617348\nv -0.070624 0.064333 -0.035901\nvn -1.414918 3.299483 -6.840252\nv -0.055961 0.065865 -0.036046\nvn -0.594492 2.846771 -5.167310\nv -0.054493 0.066141 -0.036089\nvn -1.470980 -2.205621 1.379488\nv 0.032307 0.065386 -0.035976\nvn -0.226368 1.351805 -5.779178\nv -0.044348 0.067967 -0.036252\nvn 0.409672 2.057838 -5.556331\nv -0.042606 0.068086 -0.036309\nvn 1.334061 4.298226 -6.495340\nv -0.040330 0.067912 -0.036104\nvn 0.185752 -0.245434 -6.913135\nv -0.022655 0.074184 -0.036171\nvn 0.418259 -0.094917 -4.893442\nv -0.022757 0.075941 -0.036309\nvn 0.795168 -0.027398 -6.816061\nv -0.022600 0.078125 -0.036327\nvn 1.275536 0.287233 -5.724475\nv -0.022770 0.080310 -0.036303\nvn -1.555206 -0.825683 -2.210253\nv -0.040104 0.147561 -0.036052\nvn -3.473937 -1.458135 -6.828286\nv -0.040556 0.149131 -0.035936\nvn -1.925841 -0.713546 -3.337007\nv -0.042256 0.155130 -0.035911\nvn -2.172036 -1.296563 -2.952089\nv -0.043950 0.163209 -0.035993\nvn -2.633440 -0.975593 -6.308465\nv -0.044291 0.166815 -0.036027\nvn -2.519214 -1.209866 -3.849665\nv -0.050077 0.176928 -0.036009\nvn 0.639558 -1.758837 -1.648940\nv -0.048979 0.176862 -0.035954\nvn -0.024565 -3.995394 0.181204\nv -0.035873 0.052925 -0.035988\nvn 1.879143 -4.400126 -0.817917\nv -0.029398 0.053133 -0.035778\nvn 3.294442 -2.195361 -0.323112\nv -0.025382 0.057275 -0.035813\nvn -1.456447 -1.699454 -1.812414\nv -0.053943 0.058448 -0.035783\nvn 2.345556 -2.725231 -3.402993\nv -0.072611 0.062506 -0.035836\nvn -2.174402 -1.563575 -5.255301\nv -0.057880 0.062244 -0.035726\nvn -1.497932 0.122538 -5.669930\nv -0.058009 0.064378 -0.036035\nvn -1.193072 -2.310540 1.492636\nv 0.035709 0.063581 -0.035819\nvn 1.299275 0.185471 -2.564756\nv -0.070553 0.066152 -0.035845\nvn -0.998193 1.316263 -4.668556\nv -0.057897 0.065548 -0.035858\nvn 2.889259 -0.818414 -2.623420\nv -0.021419 0.066160 -0.035698\nvn -0.932105 1.396989 -7.618332\nv -0.046233 0.068013 -0.036031\nvn 4.516871 -1.023394 -5.126257\nv -0.021014 0.068013 -0.035807\nvn -0.282456 2.258693 -3.152766\nv -0.038418 0.067723 -0.035880\nvn 0.081566 0.347252 -5.887009\nv -0.046188 0.070262 -0.036079\nvn 0.288246 0.724002 -4.867334\nv -0.044349 0.070092 -0.036066\nvn 2.009655 2.749953 -7.045781\nv -0.042764 0.069967 -0.035790\nvn 3.075608 0.160416 -4.959853\nv -0.020827 0.069745 -0.035855\nvn -1.174101 -2.375105 -7.477582\nv -0.050228 0.070544 -0.035751\nvn -1.389683 -0.972533 -6.627326\nv -0.048058 0.070227 -0.035832\nvn 3.019985 -0.049516 -5.982430\nv -0.020989 0.072033 -0.035962\nvn -0.281045 -0.554633 -3.922983\nv -0.050355 0.072106 -0.036111\nvn -1.999805 3.276339 -0.893826\nv -0.033813 0.071464 -0.035759\nvn 0.528065 0.121387 -7.804017\nv -0.048422 0.072410 -0.036144\nvn 1.129598 1.603245 -5.604111\nv -0.046452 0.072346 -0.035846\nvn 0.710841 0.554198 -5.820983\nv -0.022681 0.072448 -0.036079\nvn -1.739659 -1.916113 -7.655469\nv -0.052472 0.072321 -0.035829\nvn -0.108614 -0.172822 -4.922029\nv -0.052603 0.074124 -0.036199\nvn 0.344468 0.415963 -6.858499\nv -0.050547 0.074183 -0.036199\nvn 1.556141 1.467927 -5.546402\nv -0.048743 0.074111 -0.035941\nvn -3.279846 0.248653 -5.882248\nv -0.024676 0.074332 -0.035916\nvn 2.197256 -0.025210 -5.339204\nv -0.020807 0.074232 -0.035908\nvn 1.278099 2.160331 -1.439312\nv 0.038179 0.073360 -0.035813\nvn -0.701909 -0.856472 -6.848510\nv -0.054171 0.074365 -0.036034\nvn 1.609189 1.805859 -7.516477\nv -0.050753 0.075881 -0.035928\nvn 1.669700 0.126433 -4.574921\nv -0.021080 0.075920 -0.035991\nvn 0.157775 -0.129879 -5.974040\nv -0.054413 0.076272 -0.036061\nvn -2.258573 -1.069247 -7.257080\nv -0.024791 0.075902 -0.036049\nvn -0.481493 -0.607519 -4.909009\nv -0.056173 0.076044 -0.036066\nvn 0.120309 0.316447 -4.959103\nv -0.052330 0.076190 -0.036113\nvn -2.492060 -0.835741 -2.779599\nv -0.025749 0.076525 -0.035740\nvn -1.424219 -1.424917 -6.675715\nv -0.057882 0.076169 -0.035760\nvn -0.921644 -0.655319 -5.818691\nv -0.058055 0.077816 -0.036102\nvn -0.318032 -0.236287 -6.919509\nv -0.056383 0.078030 -0.036281\nvn 1.970383 1.972216 -8.402057\nv -0.052517 0.077833 -0.035913\nvn -3.371517 -0.416495 -4.622966\nv -0.025839 0.077811 -0.035836\nvn -0.984713 -0.222475 -4.847340\nv -0.024586 0.078188 -0.036266\nvn 3.917997 0.636600 -6.753031\nv -0.021120 0.077644 -0.035849\nvn 0.599295 0.434393 -4.892033\nv -0.054530 0.078324 -0.036187\nvn -0.332925 0.663990 -6.944939\nv -0.057936 0.080251 -0.035950\nvn 0.602459 1.222313 -5.768758\nv -0.055928 0.079841 -0.036108\nvn 0.848806 1.287134 -4.741827\nv -0.054204 0.079640 -0.035805\nvn 1.224291 1.567343 -4.531840\nv -0.053195 0.079394 -0.035728\nvn -3.765731 0.000010 -5.358692\nv -0.026071 0.079928 -0.035827\nvn 3.051334 0.611812 -5.002587\nv -0.021418 0.079649 -0.035811\nvn -0.620058 0.002389 -4.907659\nv -0.024517 0.080103 -0.036314\nvn -0.779243 0.314888 -5.848371\nv -0.024712 0.081804 -0.036260\nvn -3.043386 0.628742 -3.471619\nv -0.025928 0.081920 -0.035880\nvn 1.786136 0.626984 -5.415987\nv -0.022413 0.082043 -0.036114\nvn -2.343758 1.125343 -5.913056\nv -0.024853 0.084049 -0.036020\nvn 1.809358 0.479129 -5.361780\nv -0.022698 0.084031 -0.036006\nvn -2.105346 1.384545 -4.806649\nv -0.024414 0.086022 -0.035790\nvn 0.926292 0.392588 -4.697082\nv -0.022655 0.086052 -0.035792\nvn 2.253520 -1.317891 1.478037\nv -0.028147 0.150559 -0.035831\nvn -2.286550 -1.192878 -4.211527\nv -0.042040 0.151267 -0.035669\nvn -2.772137 -0.276989 -5.277635\nv -0.042421 0.153233 -0.035824\nvn -2.837968 -0.813892 -3.611002\nv -0.043951 0.157382 -0.035838\nvn -1.855583 0.453864 -3.243056\nv -0.043959 0.158454 -0.035848\nvn -2.457997 -0.429335 -4.133186\nv -0.042031 0.161146 -0.036084\nvn 2.050771 0.848541 1.996494\nv -0.027931 0.166532 -0.035777\nvn -3.895196 -0.262309 -7.593310\nv -0.046236 0.168864 -0.035892\nvn -1.768592 0.981297 -1.823891\nv -0.045968 0.170715 -0.035852\nvn -1.610192 1.331912 -1.019876\nv -0.049819 0.178404 -0.035854\nvn 2.899971 -0.897673 -2.461040\nv -0.040723 0.178991 -0.035785\nvn -0.271531 -1.590001 -5.570755\nv -0.042174 0.178819 -0.035724\nvn 0.058683 -4.994002 -0.085141\nv -0.032373 0.052860 -0.035638\nvn -4.814347 -7.535288 -3.441943\nv -0.054389 0.057931 -0.034656\nvn -3.096700 1.641912 1.122661\nv -0.085560 0.062013 -0.035300\nvn 5.749487 -3.097046 -1.985201\nv -0.022348 0.062401 -0.034701\nvn -6.204354 3.044135 2.051121\nv -0.084399 0.062544 -0.034542\nvn -2.070525 -1.839930 -5.240993\nv -0.058984 0.062345 -0.035309\nvn -1.401831 0.059182 -4.716964\nv -0.059386 0.064441 -0.035641\nvn 2.751938 -1.280257 -4.813968\nv -0.069517 0.064268 -0.035220\nvn -1.823541 1.729979 -6.405711\nv -0.060330 0.066023 -0.035109\nvn -0.553606 2.407223 -1.325918\nv -0.075563 0.067210 -0.035655\nvn 0.040685 5.569700 -3.921810\nv -0.074303 0.067222 -0.035620\nvn -0.382989 2.597408 -4.179494\nv -0.050678 0.067107 -0.035524\nvn -0.573099 2.446253 -4.225517\nv -0.049450 0.067162 -0.035593\nvn -1.655037 1.295896 -5.307244\nv -0.047965 0.067711 -0.035658\nvn 0.057228 5.059669 -2.969691\nv -0.072629 0.067816 -0.034678\nvn 4.678718 1.247794 -3.423101\nv 0.047184 0.067999 -0.035408\nvn -0.085533 3.517505 -3.400601\nv -0.038537 0.068602 -0.035138\nvn 1.080422 1.745353 -3.379908\nv -0.041399 0.069247 -0.035579\nvn 1.736092 2.334528 -6.231619\nv -0.044324 0.071503 -0.035637\nvn -0.838665 -1.434062 -3.627910\nv -0.051856 0.071099 -0.035569\nvn -3.757818 -3.655817 3.109130\nv 0.022791 0.072431 -0.034419\nvn -0.977825 -1.587696 -4.624743\nv -0.054143 0.072735 -0.035618\nvn -1.674056 1.782120 -3.851754\nv -0.025461 0.072754 -0.035554\nvn -1.110582 -1.676033 -6.675220\nv -0.055865 0.074507 -0.035829\nvn -1.281039 -1.083795 -4.693944\nv -0.057506 0.074863 -0.035596\nvn 1.355691 1.493880 -4.505462\nv -0.048913 0.075588 -0.035605\nvn -2.009793 -1.992869 -6.376428\nv -0.060254 0.076154 -0.035135\nvn -1.066581 -0.701809 -3.762946\nv -0.060021 0.077886 -0.035699\nvn 1.316833 1.068768 -3.618090\nv -0.051203 0.077225 -0.035638\nvn 0.322774 0.455907 -0.887373\nv -0.051385 0.078042 -0.035497\nvn -1.257839 -0.245706 -5.809921\nv -0.060234 0.079763 -0.035804\nvn 1.538719 1.322919 -3.399901\nv -0.052017 0.079943 -0.035116\nvn -0.744593 0.758265 -8.747000\nv -0.060558 0.081911 -0.035745\nvn 0.680817 1.074997 -4.779027\nv -0.056501 0.081531 -0.035759\nvn -6.319074 0.901019 -2.787275\nv -0.026643 0.081873 -0.034538\nvn 3.560205 0.717371 -4.656416\nv -0.021490 0.081504 -0.035622\nvn -0.569939 -0.148944 -2.894538\nv -0.062019 0.081985 -0.035559\nvn 0.481228 1.567948 -5.680444\nv -0.058357 0.082495 -0.035712\nvn -1.293056 0.408337 -5.723385\nv -0.062817 0.082598 -0.035366\nvn 0.114650 0.514127 -2.853598\nv -0.059877 0.083247 -0.035625\nvn 4.856954 0.944273 -4.863494\nv -0.021011 0.083886 -0.034588\nvn -1.542029 1.973614 -3.684456\nv -0.023839 0.087399 -0.035637\nvn 0.890548 1.028922 -3.131762\nv -0.022743 0.087783 -0.035722\nvn 1.931416 2.553840 -5.573949\nv -0.022607 0.088202 -0.035367\nvn -2.741593 3.765826 -4.994712\nv -0.022721 0.089682 -0.034859\nvn 3.563436 -5.033262 -0.756970\nv -0.034892 0.145185 -0.034554\nvn -3.200791 -3.184914 -3.574381\nv -0.040830 0.146874 -0.034947\nvn -4.407547 -2.741462 -4.555452\nv -0.044724 0.156938 -0.034799\nvn -2.250505 -0.051569 -4.174881\nv -0.043111 0.160832 -0.035380\nvn 3.513347 0.174179 3.543918\nv -0.027327 0.162538 -0.035523\nvn -3.872956 -2.121282 -5.290247\nv -0.044668 0.162972 -0.035254\nvn -1.185343 -0.997773 -3.684990\nv -0.045658 0.167186 -0.035638\nvn -1.908867 -1.642746 -5.426847\nv -0.046510 0.166586 -0.035241\nvn 2.089801 1.054119 1.869064\nv -0.029476 0.168898 -0.035366\nvn -1.683146 3.246751 -3.982679\nv -0.042715 0.173452 -0.035307\nvn -4.083288 2.270995 -2.283748\nv -0.051092 0.176920 -0.034669\nvn 3.493931 -6.743514 -5.794235\nv -0.048012 0.176684 -0.034748\nvn 3.526479 -0.306731 0.622059\nv -0.040373 0.178786 -0.034441\nvn 0.819580 -1.995826 -3.177826\nv -0.044798 0.179602 -0.035639\nvn -1.059766 -6.883274 0.236857\nv -0.042542 0.053099 -0.034683\nvn 0.735593 -6.922389 -0.050191\nv -0.030499 0.052860 -0.034766\nvn 2.248479 -4.261024 0.270409\nv -0.029150 0.053135 -0.034239\nvn 3.836435 -4.472049 -0.074448\nv -0.028210 0.053782 -0.034602\nvn -2.152345 -6.603208 0.120370\nv -0.044267 0.053556 -0.034376\nvn -2.497340 -6.438762 -0.535511\nv -0.046316 0.054270 -0.034426\nvn 3.757727 -3.204630 0.307567\nv -0.027277 0.054817 -0.034466\nvn -1.982598 -4.407941 -0.841296\nv -0.048047 0.055034 -0.034578\nvn -1.415492 -3.538147 -0.836148\nv -0.049068 0.055473 -0.034953\nvn -2.202576 -5.369504 -1.035561\nv -0.050556 0.055988 -0.034350\nvn 4.659779 -3.633169 0.622764\nv -0.026256 0.056081 -0.034389\nvn -3.230990 -7.856252 -1.908959\nv -0.052389 0.056776 -0.034343\nvn -0.988497 -2.258014 -1.404455\nv -0.053087 0.057320 -0.035111\nvn -2.697423 -1.492154 2.105537\nv -0.087356 0.058067 -0.035200\nvn -0.750487 -3.589992 2.455472\nv -0.086047 0.058365 -0.034642\nvn 5.750490 -3.846063 0.579126\nv -0.024910 0.057999 -0.034474\nvn -0.559105 -4.222062 1.562539\nv -0.084279 0.058498 -0.034418\nvn 0.002641 -6.882125 0.547084\nv -0.082205 0.058539 -0.034456\nvn 0.468051 -4.951409 0.160132\nv -0.079696 0.058661 -0.034352\nvn -1.958923 1.152582 1.098677\nv -0.087085 0.059707 -0.035259\nvn 1.970938 -7.713535 -0.106473\nv -0.077947 0.059016 -0.034339\nvn -2.566431 -4.155015 -3.129774\nv -0.055866 0.058679 -0.034466\nvn 1.733733 -4.640941 -0.528624\nv -0.075829 0.059678 -0.034558\nvn -1.263689 -1.723076 -2.030876\nv -0.056726 0.059774 -0.035077\nvn 5.886117 -3.629693 -0.383317\nv -0.023999 0.059406 -0.034412\nvn 5.165234 -2.803938 -0.723436\nv -0.023314 0.060559 -0.034540\nvn -5.442676 3.533440 4.630572\nv -0.085862 0.060289 -0.034615\nvn 3.606300 -5.420475 -2.039955\nv -0.074244 0.060432 -0.034543\nvn 3.322201 -5.107778 -3.283320\nv -0.072126 0.061733 -0.034548\nvn -4.539056 -6.260983 -5.776724\nv -0.058050 0.060240 -0.034459\nvn -3.103877 -3.332016 -5.060926\nv -0.060370 0.062160 -0.034548\nvn -0.939602 -3.216495 2.160670\nv 0.038602 0.062893 -0.035042\nvn -0.533869 -7.062689 3.339964\nv 0.040705 0.062717 -0.034663\nvn 0.009208 -5.762486 1.093050\nv 0.042660 0.062864 -0.034431\nvn 1.867902 -2.316202 -2.613986\nv -0.071223 0.063225 -0.035553\nvn 1.487203 -6.484306 -1.100471\nv 0.044215 0.063132 -0.034256\nvn -4.407942 1.772653 -0.587716\nv -0.083534 0.064557 -0.034385\nvn -1.749271 -0.563318 -4.522418\nv -0.060605 0.064366 -0.035249\nvn 2.316025 -0.963808 -1.522843\nv -0.021901 0.063781 -0.035242\nvn -3.297843 -7.839998 5.218594\nv 0.036399 0.064111 -0.034492\nvn 0.842917 -2.801014 -0.653086\nv 0.044743 0.063419 -0.034882\nvn 1.943213 -5.716492 -2.995157\nv 0.046425 0.063885 -0.034514\nvn 4.217760 -1.776202 -1.655246\nv -0.021203 0.064245 -0.034219\nvn -2.471948 -4.566445 2.970926\nv 0.034656 0.064777 -0.034789\nvn 4.133321 -3.775930 -5.131415\nv 0.047979 0.064342 -0.034112\nvn -4.305045 3.516090 0.153740\nv -0.083191 0.065635 -0.034637\nvn 0.779967 0.147164 -1.713742\nv -0.070056 0.066433 -0.035414\nvn 1.826707 0.581806 -5.438978\nv -0.068257 0.066299 -0.034861\nvn 8.144936 -3.457277 -4.172081\nv -0.020500 0.065994 -0.034459\nvn -2.861277 -5.589982 2.943450\nv 0.032593 0.066046 -0.034495\nvn 3.767645 -0.059584 -3.150374\nv 0.048138 0.066108 -0.034573\nvn -2.271322 5.312170 0.595342\nv -0.081946 0.066611 -0.034409\nvn -0.765429 3.015120 -5.088698\nv -0.058418 0.066547 -0.035295\nvn -2.053669 -5.377554 1.466914\nv 0.030716 0.066825 -0.034433\nvn -0.714854 1.582856 -2.261103\nv -0.055940 0.066965 -0.035361\nvn -0.458514 5.917553 0.089152\nv -0.079611 0.066976 -0.034506\nvn -0.716066 4.884664 -0.085621\nv -0.077973 0.067070 -0.034477\nvn 0.584664 3.438824 -3.442255\nv -0.070038 0.067803 -0.034331\nvn -0.000000 -0.000000 0.000000\nv -0.054336 0.067075 -0.035479\nvn -0.215773 2.344127 -3.231613\nv -0.053023 0.067075 -0.035515\nvn -1.475005 7.326871 -1.737072\nv -0.076034 0.067494 -0.034438\nvn -0.916465 2.911949 -6.930635\nv -0.054195 0.068220 -0.034537\nvn -1.020030 0.852625 -6.719292\nv -0.050119 0.068135 -0.035190\nvn -4.632468 -8.423717 1.445607\nv 0.028535 0.067909 -0.034469\nvn 4.178982 1.483307 -3.765287\nv 0.047924 0.068123 -0.034319\nvn -0.996253 5.629731 -1.432598\nv -0.074319 0.067856 -0.034314\nvn 3.874933 -1.131065 -2.913017\nv -0.020049 0.068155 -0.034830\nvn -1.111005 -0.267364 -3.703290\nv -0.048298 0.068650 -0.035482\nvn -0.653961 2.787332 -2.569448\nv -0.036985 0.068846 -0.034884\nvn -1.611401 -2.390548 0.823327\nv 0.026866 0.068944 -0.034848\nvn -0.755677 -1.074935 -4.783033\nv -0.049290 0.069292 -0.035432\nvn -0.948717 -0.993044 -4.743969\nv -0.050570 0.069500 -0.035225\nvn 2.813886 3.967671 -4.891530\nv -0.040404 0.070055 -0.034623\nvn 1.584456 6.450470 -5.432890\nv -0.038779 0.069562 -0.034204\nvn -3.582959 4.707286 -2.660514\nv -0.036176 0.069695 -0.034483\nvn 2.856087 -0.391859 -2.664742\nv -0.019922 0.069293 -0.035080\nvn -4.630123 -6.121744 0.132057\nv 0.026189 0.069565 -0.034320\nvn 4.831513 3.310306 -3.109638\nv 0.046785 0.070332 -0.034287\nvn -2.593831 -2.782981 -0.072034\nv 0.025093 0.070515 -0.034531\nvn -2.024009 -1.729959 -6.529463\nv -0.052553 0.070185 -0.034957\nvn 1.637632 2.101569 -2.896414\nv -0.042072 0.070856 -0.035047\nvn -3.530410 4.663416 -0.983579\nv -0.034923 0.070891 -0.034761\nvn 6.305018 -0.796238 -4.604502\nv -0.019182 0.070244 -0.034216\nvn 3.767027 -0.356509 -3.166731\nv -0.019151 0.072061 -0.034476\nvn 3.872930 4.217941 -1.437738\nv 0.045826 0.071411 -0.034340\nvn -0.720448 -0.355300 -0.945879\nv -0.052673 0.071275 -0.035462\nvn 4.830165 5.584702 -6.508953\nv -0.042726 0.072134 -0.034465\nvn -3.597909 -4.317094 0.358175\nv 0.024091 0.071528 -0.034671\nvn 1.981922 2.326053 -3.928603\nv -0.044166 0.072367 -0.035117\nvn -2.667637 4.108334 -0.707784\nv -0.034065 0.071460 -0.034954\nvn 3.352284 5.593426 -1.761471\nv 0.044634 0.072433 -0.034530\nvn -2.523016 6.449501 -0.740907\nv -0.032584 0.072214 -0.034582\nvn -1.078535 -1.864898 -4.511884\nv -0.054603 0.072162 -0.035268\nvn 0.980499 1.597888 -3.503555\nv -0.045848 0.072850 -0.035536\nvn -1.439536 4.640506 -3.932659\nv -0.026806 0.072817 -0.035071\nvn -2.157294 -3.598547 -7.925165\nv -0.056099 0.072140 -0.034897\nvn 2.864458 3.345687 -6.584177\nv -0.045918 0.074234 -0.034882\nvn -0.640613 5.771140 -1.374766\nv -0.028709 0.072984 -0.034269\nvn 1.150913 5.229559 -2.540621\nv 0.040888 0.073325 -0.034410\nvn 0.799014 5.541932 -1.932289\nv 0.042752 0.073030 -0.034616\nvn -0.778243 -1.240106 -3.690277\nv -0.056829 0.073900 -0.035525\nvn -2.075079 0.919290 -3.167587\nv -0.025373 0.073725 -0.035494\nvn -4.761333 1.776276 -4.212709\nv -0.026579 0.074001 -0.034364\nvn 4.192831 0.028323 -4.225212\nv -0.019129 0.074358 -0.034543\nvn -0.916630 0.209114 0.487810\nv 0.019084 0.073221 -0.035364\nvn -0.991592 -0.747170 2.949272\nv 0.019201 0.072862 -0.035141\nvn 2.137848 6.371499 -3.966866\nv 0.038579 0.073726 -0.034569\nvn -2.095660 -2.510458 -6.142001\nv -0.058066 0.073737 -0.035097\nvn 1.385184 1.473815 -4.537446\nv -0.047073 0.073725 -0.035563\nvn -1.998682 1.976538 4.407750\nv 0.020927 0.073670 -0.034638\nvn 1.240590 1.416299 -3.525300\nv -0.047423 0.074075 -0.035545\nvn 2.002298 4.503397 -5.221103\nv 0.036452 0.074530 -0.034411\nvn 1.584620 3.796082 -2.470401\nv 0.034552 0.074853 -0.034879\nvn -5.332868 -1.067458 -3.971599\nv -0.026433 0.076050 -0.034755\nvn 3.121128 0.365737 -3.873706\nv -0.020083 0.075865 -0.035287\nvn 1.369409 3.658897 -5.325321\nv 0.032768 0.075998 -0.034469\nvn -1.425565 -1.280718 -4.610332\nv -0.058740 0.075552 -0.035333\nvn -3.916341 5.665001 -2.827715\nv 0.024571 0.075891 -0.034615\nvn 1.064525 4.464966 -2.661701\nv 0.030754 0.076455 -0.034713\nvn -0.936323 4.769496 -1.363315\nv 0.026499 0.076605 -0.034560\nvn 1.570385 1.944200 -4.311776\nv -0.049636 0.076761 -0.035272\nvn 0.166397 3.616871 -2.527682\nv 0.028971 0.076864 -0.034688\nvn 1.725314 1.984061 -4.311226\nv -0.050269 0.077856 -0.035089\nvn -4.205729 -0.396545 -2.587146\nv -0.026596 0.078052 -0.034899\nvn 3.183208 0.764277 -3.772582\nv -0.020271 0.078581 -0.035040\nvn -2.381226 -1.115219 -7.516113\nv -0.062562 0.080221 -0.035149\nvn 4.319054 3.873480 -6.742931\nv -0.050531 0.079834 -0.034304\nvn -7.110274 -0.044834 -3.513775\nv -0.026667 0.079515 -0.034902\nvn 4.019135 0.921803 -4.346851\nv -0.020738 0.079954 -0.035104\nvn 2.267659 2.892325 -7.036050\nv -0.054221 0.082053 -0.034947\nvn 3.503461 0.780462 -3.472373\nv -0.020672 0.082006 -0.034641\nvn 0.279989 -0.520450 -4.933491\nv 0.037627 0.080463 -0.035264\nvn 0.510849 0.029514 -4.931406\nv 0.038690 0.081973 -0.035290\nvn -0.779733 0.240125 -6.901676\nv 0.036238 0.082332 -0.035266\nvn 0.876167 1.388713 -3.598974\nv -0.055867 0.082469 -0.035371\nvn -5.886149 1.860515 -3.068361\nv -0.026152 0.083981 -0.034620\nvn 0.018515 1.058258 -5.735889\nv 0.038517 0.084097 -0.035278\nvn 1.953753 3.194138 -5.849921\nv -0.056240 0.084211 -0.034562\nvn -0.795148 0.736286 -4.794903\nv -0.062363 0.083983 -0.035258\nvn 0.027326 2.149602 -7.587589\nv -0.060431 0.084154 -0.035317\nvn 0.842822 1.839491 -5.502394\nv -0.058124 0.083979 -0.035198\nvn -1.133228 1.291073 -4.618604\nv 0.036432 0.084138 -0.035059\nvn -4.617353 2.097879 -2.961232\nv -0.025326 0.085939 -0.034883\nvn 4.075622 0.814690 -4.108720\nv -0.021813 0.086075 -0.035287\nvn -5.434809 3.764545 -3.958088\nv -0.024479 0.087821 -0.034426\nvn 0.184509 -0.602921 -6.937335\nv 0.014803 0.135363 -0.035323\nvn -0.030914 -0.411758 -5.956860\nv 0.012690 0.135316 -0.035252\nvn -0.379373 0.376251 -5.940417\nv 0.012677 0.136997 -0.035332\nvn 0.395610 -0.349407 -7.963365\nv 0.016895 0.137257 -0.035144\nvn -0.328895 0.476951 -4.941551\nv 0.010888 0.137021 -0.035173\nvn -0.011921 0.178922 -4.972113\nv 0.014472 0.137415 -0.035337\nvn -0.107707 -0.030915 -5.974580\nv 0.014976 0.139304 -0.035320\nvn 0.313047 -0.913496 -6.907453\nv 0.020949 0.139035 -0.035342\nvn -0.127911 -0.233961 -4.983511\nv 0.016867 0.139337 -0.035232\nvn -0.099953 -0.472867 -4.968431\nv 0.018953 0.139199 -0.035362\nvn 0.372963 -0.732749 -6.917111\nv 0.022498 0.139164 -0.035260\nvn -0.500365 0.483161 -4.915160\nv 0.014483 0.141273 -0.035268\nvn -0.387059 0.619906 -6.912521\nv 0.016799 0.141383 -0.035312\nvn -0.198622 -0.015279 -6.970372\nv 0.019019 0.141217 -0.035508\nvn 0.342907 -0.045123 -4.985850\nv 0.021060 0.141275 -0.035409\nvn 0.159357 -0.109418 -4.986958\nv 0.022486 0.141544 -0.035272\nvn 0.258306 -0.890860 -6.911183\nv 0.026543 0.141124 -0.035383\nvn -0.164303 -0.489174 -5.963824\nv 0.024198 0.141283 -0.035301\nvn 0.451986 -0.565535 -6.948491\nv 0.028585 0.141434 -0.035217\nvn -0.657641 1.002086 -4.841206\nv 0.016824 0.143137 -0.034989\nvn -0.532964 0.715907 -4.911202\nv 0.018567 0.142917 -0.035311\nvn -0.089069 0.505198 -7.945709\nv 0.020757 0.143340 -0.035406\nvn -0.260688 -0.080960 -5.970392\nv 0.022839 0.142955 -0.035355\nvn -0.533791 -0.262067 -5.938216\nv 0.024385 0.142967 -0.035524\nvn 0.405678 0.407139 -5.867910\nv 0.026038 0.142947 -0.035587\nvn 0.272455 -0.024380 -4.980206\nv 0.028751 0.143404 -0.035312\nvn 0.430485 0.284849 -5.949185\nv 0.032499 0.143130 -0.035254\nvn 0.462453 0.047356 -4.955873\nv 0.027564 0.143025 -0.035401\nvn -0.028382 0.370399 -2.895314\nv 0.024852 0.143725 -0.035567\nvn -0.294918 1.458748 -5.768904\nv 0.020932 0.145256 -0.035198\nvn -0.100094 1.031679 -5.865991\nv 0.022606 0.144819 -0.035277\nvn -0.119497 1.189195 -6.802453\nv 0.024259 0.144562 -0.035393\nvn 0.110112 1.030733 -6.890597\nv 0.026595 0.144714 -0.035275\nvn 0.073194 0.471638 -5.943103\nv 0.028702 0.145055 -0.035324\nvn -0.175444 -5.743671 -1.085263\nv -0.036602 0.144808 -0.034343\nvn 0.438470 0.629911 -5.918322\nv 0.030563 0.144994 -0.035195\nvn -2.151597 -4.796659 -2.251297\nv -0.038518 0.145210 -0.034469\nvn -1.688389 -2.910809 -2.082565\nv -0.039919 0.145917 -0.034524\nvn 4.869500 -3.177984 -0.976606\nv -0.033856 0.146934 -0.034608\nvn -3.740528 -3.587061 -4.404433\nv -0.042435 0.147633 -0.034210\nvn -3.125319 -1.743433 -4.745329\nv -0.042634 0.149327 -0.034797\nvn 3.818194 -6.132426 -1.028539\nv -0.032763 0.148484 -0.034438\nvn 2.403659 -1.469149 1.074522\nv -0.028626 0.149431 -0.034333\nvn 1.305610 -4.632064 0.728017\nv -0.030757 0.148716 -0.034377\nvn 0.066103 -0.973626 0.218342\nv -0.027294 0.149511 -0.034352\nvn 7.207031 -2.196134 4.048224\nv -0.028849 0.150859 -0.034500\nvn -3.783762 -1.800116 -5.543442\nv -0.042879 0.151045 -0.035028\nvn -3.248768 -0.567673 -4.942516\nv -0.043143 0.152781 -0.035384\nvn 5.040849 -1.224638 2.945966\nv -0.028142 0.153101 -0.034230\nvn 4.336746 -0.236037 2.111228\nv -0.027617 0.153544 -0.034864\nvn -3.342168 -0.882685 -4.784399\nv -0.043085 0.155178 -0.035348\nvn 3.715678 -0.201366 1.222329\nv -0.027448 0.154776 -0.034973\nvn 6.193311 0.097653 2.774411\nv -0.027440 0.157122 -0.034989\nvn 5.206584 -0.078083 4.258848\nv -0.027328 0.158930 -0.035176\nvn -4.614999 -1.249427 -7.665060\nv -0.046332 0.158979 -0.034539\nvn -2.770433 1.400879 -4.885073\nv -0.044259 0.159369 -0.035346\nvn 2.865271 0.235647 2.764860\nv -0.027534 0.161017 -0.035274\nvn -3.145978 -0.208551 -5.875498\nv -0.044504 0.161037 -0.034628\nvn 5.812056 0.805547 5.410677\nv -0.028590 0.163153 -0.034351\nvn -2.696435 -0.620519 -4.118890\nv -0.045287 0.164900 -0.035358\nvn -3.132969 -1.873315 -5.895457\nv -0.046427 0.164825 -0.034577\nvn -1.845862 -1.070134 -4.459882\nv -0.045410 0.166212 -0.035446\nvn 6.192100 2.610617 5.947682\nv -0.029094 0.166731 -0.034716\nvn -1.876567 -0.386236 -3.425722\nv -0.047399 0.168050 -0.035264\nvn -4.737417 2.277367 -5.444014\nv -0.048472 0.169043 -0.034449\nvn 5.737745 2.674418 6.266425\nv -0.030587 0.171039 -0.034884\nvn -5.027187 4.490654 -5.207303\nv -0.046539 0.171258 -0.034539\nvn -3.615769 3.814597 -4.248991\nv -0.044711 0.172691 -0.034711\nvn 1.698743 1.055520 2.227396\nv -0.031133 0.172630 -0.035142\nvn 1.040646 4.261449 1.877280\nv -0.032583 0.173920 -0.035308\nvn 4.966548 5.642243 6.066263\nv -0.032592 0.173070 -0.034314\nvn 2.213050 6.038938 -3.380959\nv -0.040618 0.174595 -0.034486\nvn 0.907177 4.541943 1.348139\nv -0.034554 0.174047 -0.034675\nvn 0.513512 4.957414 0.114691\nv -0.038615 0.174357 -0.034442\nvn 1.130528 7.662021 0.952109\nv -0.036512 0.174182 -0.034403\nvn 0.120476 -4.249810 -6.174785\nv -0.050505 0.175194 -0.034827\nvn -0.865941 -1.180645 -7.412856\nv -0.042491 0.176566 -0.035207\nvn 4.411232 -0.886394 -2.114504\nv -0.040830 0.176580 -0.034583\nvn -5.181142 5.255202 -0.938043\nv -0.049954 0.178424 -0.034539\nvn -1.270184 -0.948212 -3.655763\nv -0.042977 0.178563 -0.035363\nvn 1.015611 -3.656274 -4.303521\nv -0.045935 0.178222 -0.034946\nvn -0.295721 -3.447424 -6.573516\nv -0.044399 0.178472 -0.034872\nvn 6.325504 1.178660 2.833477\nv -0.040438 0.180774 -0.034530\nvn -4.481566 4.859321 0.204618\nv -0.047830 0.180328 -0.034663\nvn -2.550905 2.764302 0.558261\nv -0.045735 0.182113 -0.034923\nvn 2.850767 2.903925 3.476462\nv -0.040941 0.182897 -0.034995\nvn -2.861645 6.040586 3.446869\nv -0.044560 0.182587 -0.034461\nvn 0.264498 4.220350 3.985735\nv -0.042651 0.182926 -0.034511\nvn 0.012660 -5.995863 0.205591\nv -0.037623 0.052964 -0.034938\nvn 3.678801 -6.188211 -5.103094\nv -0.070343 0.062555 -0.034213\nvn 3.443333 -4.001375 -6.835394\nv -0.067961 0.064343 -0.034325\nvn -2.421146 -1.387476 -6.216003\nv -0.062310 0.064177 -0.034543\nvn -1.427800 1.291798 -6.539752\nv -0.062357 0.066349 -0.034527\nvn -0.259119 2.411848 -3.177584\nv -0.058253 0.067677 -0.034508\nvn -1.646345 3.129291 -6.694883\nv -0.056232 0.068250 -0.034249\nvn -0.746150 1.894431 -6.298031\nv -0.052348 0.068085 -0.034825\nvn -1.365582 -1.018081 -5.583951\nv -0.054425 0.070138 -0.034475\nvn -0.832568 -1.636001 3.185000\nv 0.020830 0.072915 -0.034707\nvn -1.825565 -2.686906 -5.017477\nv -0.058162 0.072374 -0.034330\nvn -1.103313 5.813815 -0.702466\nv -0.030949 0.072674 -0.034527\nvn -4.092240 3.915586 1.090076\nv 0.022457 0.074451 -0.034281\nvn -2.304332 -2.529538 -6.012822\nv -0.060176 0.074169 -0.034516\nvn 3.212567 3.312058 -6.427159\nv -0.047725 0.076162 -0.034812\nvn 4.354566 0.395630 -4.049884\nv -0.019017 0.076121 -0.034282\nvn -2.606580 -1.672116 -6.219535\nv -0.062401 0.077655 -0.034804\nvn 2.768617 2.661747 -4.535652\nv -0.048389 0.077812 -0.034235\nvn -0.068722 -1.559463 -5.728170\nv 0.036380 0.078120 -0.034740\nvn 0.318381 -2.311344 -7.568264\nv 0.038502 0.077998 -0.034740\nvn -0.254363 -0.757035 -4.907846\nv 0.036519 0.079897 -0.035182\nvn 0.844652 -1.443666 -5.608294\nv 0.040589 0.078019 -0.034630\nvn -1.006460 -0.493809 -5.831728\nv 0.034485 0.080054 -0.034979\nvn 1.346939 -0.372100 -4.661798\nv 0.040888 0.079994 -0.034890\nvn 2.384067 3.980093 -4.848802\nv -0.052488 0.082000 -0.034248\nvn 1.490660 -0.127313 -7.674690\nv 0.040424 0.082102 -0.035041\nvn -2.401905 -0.397345 -6.479408\nv -0.064125 0.081950 -0.034889\nvn -1.711878 0.863428 -5.661565\nv 0.034307 0.082124 -0.034784\nvn 1.549657 0.851900 -5.682244\nv 0.040612 0.084201 -0.034735\nvn -1.120198 0.483049 -4.763950\nv -0.064220 0.084164 -0.034972\nvn -1.436186 1.786865 -6.506687\nv -0.064462 0.086095 -0.034568\nvn -0.232776 1.745619 -5.707204\nv -0.062293 0.086031 -0.034753\nvn 0.710978 1.973098 -4.490754\nv -0.060054 0.086267 -0.034558\nvn 5.395299 0.943475 -4.246559\nv -0.021121 0.085922 -0.034241\nvn -0.852750 2.015944 -7.403440\nv 0.036231 0.086025 -0.034172\nvn 0.017871 1.693300 -4.512396\nv 0.038370 0.086155 -0.034741\nvn 2.852818 -0.050898 -2.737674\nv -0.021383 0.087846 -0.034398\nvn 3.765841 0.557953 -4.142870\nv -0.021122 0.089774 -0.034317\nvn -0.018667 -0.078699 -6.961978\nv 0.032738 0.091777 -0.034894\nvn 0.564834 -0.609152 -5.907445\nv 0.006202 0.125090 -0.034943\nvn -0.369668 -0.260233 -6.951273\nv 0.004994 0.125625 -0.034980\nvn -0.317599 -0.078935 -4.971145\nv 0.004888 0.127514 -0.034952\nvn 0.319706 -0.172624 -4.975971\nv 0.006903 0.127450 -0.034912\nvn 0.071802 -0.470160 -6.962244\nv 0.006967 0.129305 -0.035063\nvn 0.243698 -0.758627 -4.929846\nv 0.009074 0.128981 -0.034938\nvn -0.944663 0.019415 -6.916233\nv 0.004785 0.129486 -0.034961\nvn 0.530322 -0.849402 -5.897958\nv 0.010765 0.129550 -0.034973\nvn -0.799392 0.760880 -5.861297\nv 0.004610 0.131331 -0.034926\nvn -0.267734 0.328210 -4.961861\nv 0.007037 0.131190 -0.035096\nvn -0.125601 -0.037746 -6.948673\nv 0.008927 0.131183 -0.035184\nvn 0.277601 -0.104279 -4.970798\nv 0.010745 0.131154 -0.035129\nvn 0.745964 -0.496477 -6.926643\nv 0.012574 0.131152 -0.034893\nvn -0.696428 0.831191 -6.898707\nv 0.006770 0.133070 -0.034750\nvn 0.218812 -0.298854 -5.963389\nv 0.010782 0.133260 -0.035105\nvn -0.687017 0.095383 -6.936135\nv 0.008770 0.133701 -0.035025\nvn 0.177737 -0.544232 -4.947433\nv 0.012766 0.133330 -0.034927\nvn 0.672814 -0.978281 -4.842426\nv 0.016662 0.133176 -0.034739\nvn 0.609565 -0.867761 -5.875798\nv 0.016833 0.135165 -0.035121\nvn 0.812730 -1.067761 -6.835311\nv 0.018811 0.135121 -0.034912\nvn -0.668774 0.104957 -3.930532\nv 0.008641 0.135500 -0.035038\nvn -0.342271 0.058406 -5.969034\nv 0.010852 0.135675 -0.035275\nvn -1.314740 1.119872 -7.772635\nv 0.008944 0.137200 -0.034969\nvn 0.508341 -0.882095 -4.885460\nv 0.020456 0.136800 -0.034912\nvn 0.188950 -0.668382 -4.944671\nv 0.019077 0.137542 -0.035119\nvn -0.157192 -0.906859 -5.839031\nv 0.036169 0.137286 -0.034943\nvn 0.557614 -1.665338 -6.758008\nv 0.024709 0.137143 -0.034750\nvn -0.676141 0.934809 -5.881976\nv 0.010808 0.139294 -0.034734\nvn 0.247160 -1.399054 -5.806022\nv 0.030809 0.137340 -0.034653\nvn -0.634560 -0.763526 -3.868239\nv 0.034470 0.137338 -0.034693\nvn -0.963361 0.505356 -6.894232\nv 0.012645 0.139088 -0.035018\nvn 0.358405 -0.970971 -5.891728\nv 0.024762 0.139276 -0.035105\nvn -0.083422 -1.106151 -6.884957\nv 0.029042 0.139267 -0.035019\nvn 0.199420 -1.000635 -4.879406\nv 0.026833 0.139455 -0.035016\nvn 0.163419 -0.429522 -3.959849\nv 0.030802 0.139448 -0.035037\nvn -0.307786 -0.408024 -6.869242\nv 0.034360 0.139274 -0.034946\nvn 0.467980 0.305319 -4.897715\nv 0.036247 0.139467 -0.035025\nvn 0.271808 -1.039078 -6.875714\nv 0.032482 0.139240 -0.034878\nvn 0.063015 -0.391362 -5.971318\nv 0.030685 0.141294 -0.035108\nvn 0.052600 -0.387315 -4.958108\nv 0.032587 0.141467 -0.035239\nvn 0.964276 0.012105 -6.875557\nv 0.034688 0.141400 -0.035017\nvn 0.658677 0.681950 -5.869072\nv 0.036772 0.141279 -0.034613\nvn -0.922617 0.703372 -4.840733\nv 0.013022 0.141335 -0.035018\nvn -0.706151 1.647357 -6.753383\nv 0.014469 0.142945 -0.034888\nvn 0.146311 -0.172245 -6.983283\nv 0.030306 0.143083 -0.035178\nvn 1.099693 0.528858 -5.858413\nv 0.034627 0.143305 -0.034907\nvn -1.593548 1.466537 -5.692253\nv 0.012663 0.143273 -0.034523\nvn -1.153234 1.416229 -6.737368\nv 0.018551 0.145068 -0.034932\nvn 0.811243 1.124001 -5.819775\nv 0.032621 0.144974 -0.035013\nvn -0.306494 1.914288 -6.711429\nv 0.024589 0.146944 -0.034754\nvn 0.296491 1.589674 -5.718172\nv 0.029157 0.147028 -0.035016\nvn 0.723987 1.325884 -4.752977\nv 0.030765 0.147143 -0.034737\nvn -0.181645 1.646956 -4.711215\nv 0.022402 0.147302 -0.034520\nvn -0.304526 1.968542 -6.671306\nv 0.026756 0.147167 -0.034801\nvn -3.639958 -1.020194 -4.560679\nv -0.044691 0.152966 -0.034292\nvn -4.267309 -0.283911 -5.433869\nv -0.044517 0.154946 -0.034341\nvn 4.287363 1.071443 4.046100\nv -0.028883 0.164689 -0.034327\nvn -3.593233 -1.130516 -5.609434\nv -0.048250 0.166684 -0.034525\nvn 5.655159 2.345815 5.123098\nv -0.030375 0.168969 -0.034409\nvn -2.127124 2.226599 -2.161935\nv -0.047489 0.170553 -0.034393\nvn -0.185506 0.259120 -3.750892\nv -0.042592 0.174761 -0.034901\nvn -3.601147 -0.399288 -3.615781\nv -0.052292 0.174664 -0.034072\nvn -2.502885 0.878352 -2.164153\nv -0.051824 0.176251 -0.034251\nvn -0.129135 -2.517404 -3.951794\nv -0.046135 0.177012 -0.034131\nvn -3.358625 5.435997 1.441014\nv -0.046525 0.181254 -0.034251\nvn 0.000000 0.000000 0.000000\nv -0.025373 0.057206 -0.034587\nvn -1.529904 -3.180233 1.783176\nv 0.034169 0.065467 -0.034245\nvn 0.540183 3.584847 -4.602195\nv -0.068038 0.067737 -0.034111\nvn -1.346260 4.236870 -7.460506\nv -0.060219 0.067944 -0.034155\nvn 2.639196 1.587958 -2.106923\nv 0.047532 0.069265 -0.034237\nvn 3.574354 3.959449 -4.443781\nv -0.044439 0.073899 -0.034156\nvn 3.678692 3.518504 -4.717248\nv -0.046388 0.075841 -0.034228\nvn 0.869798 0.840998 -5.341144\nv 0.034353 0.075765 -0.034237\nvn -2.881056 -2.114593 -5.998385\nv -0.062423 0.076067 -0.034151\nvn 4.213225 0.628621 -4.170613\nv -0.019160 0.077952 -0.034238\nvn -0.697378 -0.080660 -3.920399\nv 0.032530 0.077943 -0.034289\nvn -3.453705 -2.237231 -6.795303\nv -0.064163 0.077968 -0.034039\nvn -0.532253 -0.669083 -5.880774\nv 0.034185 0.077886 -0.034540\nvn -2.361736 -1.141116 -5.383393\nv -0.064449 0.079990 -0.034431\nvn -1.471439 -0.223578 -6.792975\nv 0.032569 0.079700 -0.034492\nvn 2.632702 -0.739471 -5.021650\nv 0.042506 0.080292 -0.034219\nvn -0.709571 0.426174 -5.844916\nv 0.032734 0.081858 -0.034325\nvn 2.893394 0.361380 -5.191075\nv 0.042469 0.081927 -0.034205\nvn -3.237630 0.043620 -7.274656\nv -0.065895 0.083988 -0.034286\nvn 2.830225 3.948017 -4.958380\nv -0.054491 0.083725 -0.034125\nvn -0.095617 -0.404204 -6.961270\nv 0.028455 0.084077 -0.034580\nvn -1.141472 1.138305 -5.668608\nv 0.034311 0.083975 -0.034287\nvn 2.093829 3.783095 -6.658592\nv -0.058462 0.085830 -0.034296\nvn -1.094026 -0.297736 -6.885325\nv 0.026805 0.086272 -0.034533\nvn 0.007624 -0.373667 -4.973411\nv 0.029048 0.086106 -0.034700\nvn 1.580040 1.693969 -5.410870\nv 0.040714 0.086186 -0.034351\nvn 0.327340 -0.433828 -4.969981\nv 0.030845 0.086136 -0.034577\nvn 0.649316 -0.548672 -5.931121\nv 0.032660 0.086079 -0.034460\nvn -0.278522 -0.038820 -4.969503\nv 0.028724 0.087637 -0.034813\nvn -0.908913 0.191903 -4.890204\nv 0.026789 0.087705 -0.034585\nvn 0.342973 -0.209157 -7.966544\nv 0.030277 0.087812 -0.034785\nvn 0.719564 -0.277967 -4.931273\nv 0.032851 0.087725 -0.034568\nvn -1.241566 0.657062 -4.774642\nv 0.026717 0.089491 -0.034394\nvn -0.773775 0.554594 -7.914326\nv 0.028611 0.089961 -0.034624\nvn -0.077889 -0.099133 -4.984039\nv 0.031152 0.089942 -0.034693\nvn 0.654289 -0.519221 -6.923300\nv 0.032647 0.089737 -0.034637\nvn 1.020974 -0.596028 -4.838491\nv 0.034440 0.089763 -0.034415\nvn 1.456848 2.924706 -3.146684\nv -0.021179 0.091168 -0.034037\nvn -0.380350 0.100242 -4.979197\nv 0.030539 0.091925 -0.034712\nvn 1.033870 -0.827665 -6.823391\nv 0.034701 0.091678 -0.034736\nvn -0.785943 0.411558 -4.909868\nv 0.029056 0.091921 -0.034571\nvn 1.163848 -0.962252 -4.750765\nv 0.036429 0.091701 -0.034357\nvn -0.729295 0.616850 -6.921681\nv 0.031010 0.093607 -0.034664\nvn 0.255862 0.175653 -4.987048\nv 0.034594 0.093792 -0.034719\nvn 1.140867 -0.386771 -7.871880\nv 0.036551 0.093904 -0.034576\nvn -0.063007 0.301979 -4.988188\nv 0.033135 0.094200 -0.034719\nvn -0.709419 0.315575 -6.922776\nv 0.032489 0.095845 -0.034614\nvn 0.133019 -0.153547 -6.977353\nv 0.034687 0.095775 -0.034632\nvn 0.606226 -0.343908 -4.932589\nv 0.036883 0.096125 -0.034576\nvn -0.276533 0.114939 -4.961630\nv 0.034472 0.097637 -0.034794\nvn -1.121629 0.901204 -5.790876\nv 0.032666 0.097907 -0.034563\nvn 0.268177 -0.101405 -6.938247\nv 0.036178 0.097875 -0.034820\nvn 1.544814 -0.828419 -6.753118\nv 0.038589 0.097894 -0.034446\nvn -1.008281 1.145098 -6.801628\nv 0.034407 0.099590 -0.034537\nvn -0.240572 0.739370 -5.920124\nv 0.036026 0.099712 -0.034696\nvn 0.585382 0.052587 -4.945776\nv 0.038483 0.099401 -0.034582\nvn -0.022814 -0.362106 -6.957108\nv 0.000710 0.117329 -0.034546\nvn 0.890571 -0.673352 -5.874749\nv 0.002919 0.117617 -0.034418\nvn -0.003811 -0.103513 -5.964699\nv 0.001227 0.119439 -0.034709\nvn 0.632754 -0.504729 -5.920517\nv 0.003152 0.119444 -0.034571\nvn -0.688617 0.138336 -6.950107\nv -0.000946 0.119171 -0.034462\nvn -0.667270 0.230362 -6.939261\nv 0.000982 0.121710 -0.034540\nvn 0.160569 0.002094 -5.990455\nv 0.002977 0.120818 -0.034587\nvn -0.436687 -0.119848 -3.959059\nv 0.000922 0.123066 -0.034552\nvn -0.232972 -0.322399 -6.977768\nv 0.002847 0.123427 -0.034608\nvn 0.300682 -0.738856 -6.921496\nv 0.004771 0.122947 -0.034588\nvn 0.813937 -0.941491 -4.822750\nv 0.007265 0.123556 -0.034531\nvn -0.740537 0.055347 -5.916138\nv 0.000793 0.125185 -0.034638\nvn -0.469334 0.133741 -4.960344\nv 0.002569 0.125809 -0.034722\nvn 0.830920 -0.795045 -6.888830\nv 0.008857 0.127102 -0.034646\nvn -1.078614 0.297549 -6.902633\nv 0.003014 0.127605 -0.034660\nvn 1.159262 -1.472496 -6.712653\nv 0.011226 0.127344 -0.034451\nvn 1.166483 -1.579048 -6.690084\nv 0.013008 0.129173 -0.034558\nvn -0.777410 0.093267 -3.921429\nv 0.002627 0.129360 -0.034506\nvn 0.749224 -1.067614 -3.767467\nv 0.014472 0.129404 -0.034382\nvn 1.087581 -1.172529 -6.792295\nv 0.015080 0.131200 -0.034633\nvn -1.352228 0.459754 -5.800169\nv 0.002698 0.131416 -0.034513\nvn 0.353151 -0.793233 -5.919732\nv 0.014439 0.132919 -0.034866\nvn -2.010570 1.466488 -7.585234\nv 0.003112 0.133219 -0.034255\nvn -0.532384 0.586905 -3.910570\nv 0.004690 0.133308 -0.034535\nvn 0.901749 -1.577872 -5.707312\nv 0.018806 0.133029 -0.034365\nvn -1.065199 0.339338 -5.882291\nv 0.006710 0.134888 -0.034608\nvn 1.110195 -1.840383 -6.644044\nv 0.020689 0.133511 -0.034238\nvn 0.762179 -1.014633 -4.831676\nv 0.020852 0.135471 -0.034595\nvn -0.501451 -1.494731 -6.715318\nv 0.036173 0.135178 -0.034454\nvn -1.237036 1.069738 -5.731894\nv 0.006865 0.137480 -0.034458\nvn -1.013385 -2.210406 -7.590005\nv 0.034235 0.135491 -0.034182\nvn 0.451672 -1.379511 -5.813831\nv 0.022365 0.137075 -0.034784\nvn 0.619875 -0.415442 -7.907740\nv 0.038406 0.137317 -0.034547\nvn 0.111621 -0.555766 -6.950643\nv 0.040544 0.135310 -0.034448\nvn -0.239839 -1.557269 -5.786037\nv 0.028519 0.137123 -0.034490\nvn 0.207747 -1.401239 -5.805894\nv 0.027032 0.137517 -0.034503\nvn -0.198521 -1.499169 -6.778159\nv 0.032708 0.137140 -0.034346\nvn 0.641136 0.235949 -4.933433\nv 0.038405 0.139467 -0.034585\nvn -0.898065 0.845397 -4.833312\nv 0.009102 0.139689 -0.034471\nvn -1.314808 1.090446 -6.763891\nv 0.010835 0.141290 -0.034519\nvn 1.228392 1.048566 -7.743839\nv 0.036763 0.143075 -0.034350\nvn -1.503922 2.503211 -7.416541\nv 0.014463 0.145016 -0.034266\nvn -0.723830 1.258473 -4.771733\nv 0.016759 0.145144 -0.034488\nvn 0.589336 0.915347 -4.869096\nv 0.034668 0.145270 -0.034621\nvn 1.498154 0.890936 -6.738224\nv 0.036330 0.145086 -0.034451\nvn -0.727847 2.038553 -5.551477\nv 0.018918 0.147135 -0.034480\nvn 0.830781 1.962035 -6.651337\nv 0.032806 0.147243 -0.034330\nvn -0.281757 2.400155 -5.468549\nv 0.020895 0.147523 -0.034342\nvn 0.031611 2.929242 -5.164555\nv 0.028523 0.148808 -0.034291\nvn -4.483797 -1.661230 -5.082467\nv -0.044307 0.151429 -0.034071\nvn 5.362906 0.613230 4.424306\nv -0.028442 0.161107 -0.034220\nvn -3.515709 -1.691840 -5.757779\nv -0.046148 0.162977 -0.034213\nvn -3.472309 0.781923 -6.971300\nv -0.044191 0.174566 -0.034404\nvn -1.553405 -1.553412 -5.338983\nv -0.044544 0.176861 -0.034348\nvn -2.544595 3.032958 0.392115\nv -0.048759 0.179520 -0.034268\nvn -0.117058 -4.990719 0.145725\nv -0.040423 0.052945 -0.034238\nvn -0.121596 -5.993656 0.229407\nv -0.035173 0.052986 -0.034238\nvn -1.602811 -1.906193 -1.543300\nv -0.059830 0.060990 -0.033949\nvn -3.131455 1.207326 1.644939\nv -0.084689 0.060721 -0.033793\nvn 1.830292 -3.364532 -1.063997\nv -0.072907 0.060921 -0.033832\nvn -2.416488 -3.564852 -4.033078\nv -0.062134 0.062652 -0.033894\nvn -1.545963 -4.776860 3.265389\nv 0.038732 0.063686 -0.033901\nvn -1.255520 -1.675073 -5.463144\nv -0.064142 0.064476 -0.033942\nvn 1.046056 -0.106912 -5.689858\nv -0.066350 0.066115 -0.034101\nvn -0.545167 -0.079947 -4.850578\nv -0.064300 0.065986 -0.034132\nvn 4.293094 -1.239933 -2.138919\nv -0.019472 0.067873 -0.033859\nvn -0.591270 2.482506 -4.261280\nv -0.062105 0.067856 -0.033929\nvn -1.779128 -0.707280 -5.438453\nv -0.056003 0.070295 -0.034036\nvn 2.091359 2.518377 -2.280768\nv -0.041090 0.071139 -0.033978\nvn -2.143332 -2.885491 -4.793419\nv -0.060149 0.072963 -0.033867\nvn -1.937920 3.628507 -2.281570\nv -0.027673 0.073139 -0.034081\nvn 0.340676 2.822554 -0.871378\nv 0.042089 0.073256 -0.033888\nvn -1.177253 -1.102993 -2.459442\nv -0.061681 0.074421 -0.034027\nvn -0.723192 1.481284 -7.366194\nv 0.026774 0.077950 -0.033910\nvn 0.437213 -0.559962 -4.611909\nv 0.036134 0.076078 -0.033926\nvn 0.804549 -3.275148 -6.086731\nv 0.040316 0.076547 -0.034027\nvn 0.145805 1.516362 -4.451292\nv 0.029009 0.077747 -0.034018\nvn 2.782574 -1.184866 -6.276629\nv 0.042341 0.077981 -0.033967\nvn 4.203629 1.027967 -4.120736\nv -0.019194 0.079577 -0.033885\nvn -0.263760 -0.444500 -5.931831\nv 0.031093 0.080197 -0.034221\nvn -0.045293 -0.780330 -6.951189\nv 0.029171 0.079908 -0.034208\nvn -0.438028 -0.517137 -4.940795\nv 0.026757 0.080132 -0.034210\nvn 4.136611 1.055903 -4.198112\nv -0.019547 0.081491 -0.033738\nvn -2.236606 -0.272720 -8.641034\nv 0.024550 0.081811 -0.034007\nvn -3.226194 -1.048331 -6.103221\nv -0.065909 0.082123 -0.034096\nvn -0.427371 -0.326206 -4.953724\nv 0.026660 0.081471 -0.034327\nvn -0.140653 -0.474045 -5.961936\nv 0.028877 0.081915 -0.034473\nvn 0.332593 -0.263610 -5.974547\nv 0.030219 0.081950 -0.034425\nvn 3.318397 1.009516 -6.023208\nv 0.042327 0.083738 -0.034067\nvn -1.080671 -0.235751 -6.897295\nv 0.026394 0.083834 -0.034303\nvn 0.359389 -0.053520 -5.949138\nv 0.032526 0.083798 -0.034236\nvn 0.398957 -0.332427 -4.969721\nv 0.031327 0.084575 -0.034426\nvn -2.620745 1.568714 -6.245171\nv -0.066145 0.086022 -0.034010\nvn -2.623648 1.050424 -0.983731\nv -0.025808 0.085700 -0.033941\nvn -1.792950 0.068756 -5.674032\nv 0.024656 0.085950 -0.034061\nvn -0.712575 2.189940 -4.395578\nv -0.064116 0.087572 -0.034064\nvn 0.396709 3.911365 -6.857022\nv -0.062413 0.087616 -0.034120\nvn 1.587175 4.114898 -5.356496\nv -0.060227 0.087432 -0.033925\nvn 0.013889 3.322888 -6.005343\nv 0.038719 0.087327 -0.034041\nvn 1.575679 3.176689 -4.581272\nv 0.040674 0.087396 -0.033871\nvn -2.951251 0.667701 -7.270059\nv 0.024765 0.087777 -0.034022\nvn 0.974366 -0.109383 -5.844889\nv 0.034407 0.087655 -0.034267\nvn -2.829952 2.357277 -1.329522\nv -0.023812 0.089206 -0.033941\nvn 1.646500 -0.941250 -5.671412\nv 0.036363 0.089938 -0.033924\nvn -1.704180 2.771436 -1.614008\nv -0.022179 0.091069 -0.033940\nvn -2.783509 1.283563 -8.407377\nv 0.026907 0.091977 -0.034074\nvn 2.312279 -1.389714 -6.390125\nv 0.038498 0.092370 -0.033988\nvn -1.309341 0.963819 -5.760567\nv 0.028674 0.093795 -0.034275\nvn 1.445675 -0.587117 -4.706954\nv 0.038570 0.093540 -0.034167\nvn -1.284834 0.838751 -5.782211\nv 0.030609 0.095696 -0.034323\nvn 1.468756 -0.345581 -5.790935\nv 0.038293 0.096227 -0.034308\nvn -1.981561 1.342028 -6.508542\nv 0.030910 0.097646 -0.034197\nvn -1.192029 1.133936 -4.718712\nv 0.032859 0.099618 -0.034197\nvn 1.542945 -0.999994 -7.721642\nv 0.040639 0.099669 -0.034231\nvn 0.184992 0.286881 -5.961997\nv 0.038502 0.101317 -0.034450\nvn 0.395146 0.000875 -4.959871\nv 0.040427 0.101783 -0.034425\nvn 1.695200 -0.488466 -6.689679\nv 0.042507 0.101622 -0.034072\nvn -0.857076 0.880521 -4.836362\nv 0.034244 0.101426 -0.034136\nvn -0.582105 0.641336 -5.915961\nv 0.036453 0.102141 -0.034308\nvn 0.590957 0.055576 -5.934803\nv 0.040689 0.103631 -0.034287\nvn -0.155938 0.201281 -5.985930\nv 0.038257 0.103790 -0.034342\nvn -0.761671 0.465373 -4.897139\nv 0.036341 0.103906 -0.034191\nvn -0.802037 0.755857 -7.858656\nv 0.038646 0.105633 -0.034364\nvn 0.431125 -0.003542 -4.935199\nv 0.040585 0.105783 -0.034423\nvn 0.663830 -0.396770 -5.918426\nv 0.042552 0.106010 -0.034133\nvn -0.214191 0.658715 -5.909800\nv 0.040547 0.107496 -0.034236\nvn -0.000392 0.162282 -4.966068\nv 0.042507 0.107646 -0.034256\nvn -0.318621 -0.506342 -5.947285\nv -0.003022 0.111625 -0.034353\nvn -0.883050 -0.276209 -5.925221\nv -0.004924 0.111734 -0.034123\nvn 0.402757 -1.217382 -7.880708\nv -0.000918 0.111600 -0.034249\nvn 0.816321 -0.908361 -4.819577\nv 0.001116 0.111680 -0.034162\nvn 0.536826 -0.412391 -4.917457\nv 0.000702 0.113411 -0.034474\nvn -0.351550 0.015558 -6.950857\nv -0.003216 0.113664 -0.034514\nvn 1.769454 -0.842557 -6.696030\nv 0.002883 0.113466 -0.033970\nvn -1.027712 0.003933 -5.883484\nv -0.005137 0.113975 -0.034263\nvn 0.043129 -0.099308 -4.980710\nv -0.001004 0.113975 -0.034534\nvn 0.554881 -0.140197 -5.942086\nv 0.001122 0.115235 -0.034424\nvn -1.105357 0.608689 -5.839009\nv -0.004723 0.115598 -0.034214\nvn -0.266045 0.163839 -6.981510\nv -0.000960 0.115813 -0.034422\nvn 0.868159 -0.451218 -4.887665\nv 0.002707 0.115613 -0.034216\nvn -0.488319 0.315911 -4.950941\nv -0.003165 0.116287 -0.034282\nvn -0.627959 -0.005098 -5.955193\nv -0.003027 0.117720 -0.034306\nvn -0.279401 -0.037233 -3.988331\nv -0.000698 0.117300 -0.034421\nvn -0.957752 0.634552 -6.875137\nv -0.003012 0.119319 -0.034289\nvn 0.737160 -0.783671 -4.872086\nv 0.004977 0.119261 -0.034328\nvn -0.413507 -0.202255 -6.957001\nv 0.044390 0.119510 -0.034235\nvn 0.571687 -0.138826 -6.932377\nv 0.046310 0.119453 -0.034250\nvn 1.897218 -1.052740 -6.601977\nv 0.006795 0.119704 -0.034085\nvn -0.766396 0.451952 -4.906954\nv -0.000875 0.121341 -0.034273\nvn 0.688110 -0.324464 -5.941168\nv 0.005194 0.121558 -0.034499\nvn -0.122482 -0.089126 -6.985798\nv 0.044405 0.121452 -0.034115\nvn 0.159632 -0.003738 -3.979867\nv 0.046257 0.121577 -0.034206\nvn 1.336467 -0.003261 -5.816763\nv 0.048035 0.121376 -0.033975\nvn 1.556005 -0.983690 -6.700198\nv 0.006977 0.121675 -0.034220\nvn -1.516087 0.069912 -6.813999\nv -0.000940 0.123221 -0.034189\nvn -0.681886 -0.411837 -6.911805\nv 0.042680 0.123467 -0.034264\nvn 0.403624 -0.182464 -5.955329\nv 0.046205 0.123231 -0.034247\nvn 1.681313 -1.706661 -6.557732\nv 0.008998 0.123343 -0.034028\nvn 0.032223 -0.334977 -4.987427\nv 0.044471 0.123387 -0.034238\nvn 0.637143 0.020717 -6.935259\nv 0.046425 0.125117 -0.034324\nvn 1.134978 -1.004431 -5.791984\nv 0.008979 0.124913 -0.034409\nvn -1.188039 0.075595 -6.849022\nv 0.042691 0.125646 -0.034355\nvn -1.566213 0.353917 -5.754360\nv -0.000720 0.125365 -0.034315\nvn 0.170846 -0.044471 -5.972156\nv 0.044335 0.125408 -0.034411\nvn 2.141123 -1.844479 -7.413431\nv 0.010835 0.125224 -0.034120\nvn 1.100085 0.068901 -4.857243\nv 0.048454 0.125455 -0.034007\nvn 0.216419 0.258558 -5.961196\nv 0.044253 0.127267 -0.034355\nvn 0.644501 0.345873 -5.947053\nv 0.045808 0.127545 -0.034116\nvn -1.832653 0.696544 -5.652444\nv -0.000826 0.127522 -0.033982\nvn -1.193658 0.708789 -6.851403\nv 0.000860 0.127672 -0.034349\nvn -0.690975 -0.098393 -5.908436\nv 0.042539 0.127872 -0.034193\nvn 1.924953 -2.141875 -6.343777\nv 0.012854 0.127480 -0.034073\nvn -1.160232 0.395945 -5.864808\nv 0.001240 0.129362 -0.034250\nvn -0.081566 -0.206132 -4.965106\nv 0.042741 0.129330 -0.034295\nvn 0.216373 0.056194 -4.979281\nv 0.044190 0.129528 -0.034228\nvn 1.922521 -2.231177 -6.296217\nv 0.016558 0.129517 -0.033927\nvn -0.296424 -0.070224 -5.948396\nv 0.042571 0.131388 -0.034389\nvn 0.728830 0.251813 -6.947849\nv 0.044453 0.131279 -0.034191\nvn -1.910743 1.334243 -7.617321\nv 0.001015 0.131307 -0.034038\nvn 1.406036 -1.612035 -5.582080\nv 0.017195 0.131115 -0.034120\nvn -0.426791 -0.462528 -5.941537\nv 0.040405 0.131148 -0.034068\nvn -0.346504 -0.746674 -6.903905\nv 0.038535 0.133156 -0.034231\nvn -0.254260 -0.393985 -5.951102\nv 0.040732 0.133348 -0.034151\nvn 0.313945 0.072292 -5.942020\nv 0.042505 0.133203 -0.034299\nvn 0.856426 0.409638 -6.922390\nv 0.044527 0.133015 -0.034021\nvn -2.193094 1.202078 -6.523387\nv 0.002929 0.134849 -0.033900\nvn 0.063638 -0.447946 -4.975099\nv 0.038363 0.135100 -0.034378\nvn 0.692143 -0.048750 -4.937634\nv 0.042581 0.135092 -0.034252\nvn -1.457218 0.878061 -7.793190\nv 0.005020 0.135255 -0.034390\nvn 0.724657 -1.733041 -6.723838\nv 0.022480 0.135383 -0.034317\nvn 0.330147 -1.225415 -3.790051\nv 0.024793 0.135281 -0.034171\nvn 0.612104 -2.606536 -7.487891\nv 0.026748 0.135408 -0.033967\nvn -0.166692 -2.374729 -5.476971\nv 0.029108 0.135501 -0.034023\nvn -0.134853 -2.250039 -6.587041\nv 0.030873 0.135167 -0.033985\nvn 1.389580 0.053406 -7.801682\nv 0.042645 0.137424 -0.034435\nvn -1.124028 1.199400 -4.692913\nv 0.004898 0.137105 -0.034132\nvn 0.120553 0.074112 -3.983693\nv 0.040777 0.137425 -0.034560\nvn 0.379316 0.342667 -6.973225\nv 0.040602 0.139117 -0.034406\nvn 0.885934 0.577691 -4.837675\nv 0.042708 0.139459 -0.034289\nvn -2.210769 1.767083 -7.467737\nv 0.007362 0.139415 -0.034081\nvn -1.381815 1.295386 -5.677569\nv 0.008949 0.141625 -0.034105\nvn 0.391178 0.492429 -5.961084\nv 0.038444 0.141450 -0.034474\nvn 0.739806 0.678625 -5.885398\nv 0.040513 0.141384 -0.034354\nvn -1.237228 2.034030 -5.469108\nv 0.010815 0.143162 -0.034055\nvn 2.115707 2.581022 -9.315316\nv 0.040547 0.143358 -0.034019\nvn 0.304937 0.749699 -3.887053\nv 0.039452 0.142896 -0.034268\nvn -1.068581 1.434687 -3.574496\nv 0.012819 0.144804 -0.033921\nvn 1.561156 1.607412 -6.506062\nv 0.038363 0.145164 -0.033830\nvn 2.057577 2.280980 -6.197368\nv 0.036683 0.147168 -0.033957\nvn 0.597304 1.521548 -5.752242\nv 0.034900 0.147005 -0.034281\nvn -1.483499 2.706498 -7.309196\nv 0.016697 0.147197 -0.033934\nvn -0.383876 3.088404 -6.180268\nv 0.024467 0.149202 -0.034079\nvn 0.110543 3.106663 -5.081235\nv 0.026414 0.149261 -0.033919\nvn 0.645297 2.846860 -6.307379\nv 0.030890 0.148584 -0.034202\nvn -2.359323 -1.070700 -2.972902\nv -0.043809 0.149418 -0.033998\nvn 5.976717 -0.123403 3.559493\nv -0.028051 0.154846 -0.033902\nvn 4.168797 0.420441 2.717060\nv -0.028134 0.156803 -0.033992\nvn -2.050568 -1.442480 -1.642651\nv -0.045783 0.157376 -0.033903\nvn 3.951813 0.370384 3.014925\nv -0.028155 0.158513 -0.034238\nvn -2.797936 -0.954640 -3.467009\nv -0.047796 0.159508 -0.033886\nvn -2.596175 1.092543 -6.110033\nv -0.046193 0.161178 -0.033900\nvn -3.272203 -2.301337 -5.698516\nv -0.048271 0.165162 -0.033819\nvn 2.073419 0.920603 1.962997\nv -0.029938 0.167179 -0.034036\nvn -2.818910 1.681530 -3.482119\nv -0.045713 0.172523 -0.033923\nvn 1.386859 4.298218 1.919218\nv -0.034425 0.173717 -0.033793\nvn -0.165182 -6.993768 0.158194\nv -0.033073 0.052918 -0.033888\nvn -1.383076 -2.566552 -0.361009\nv -0.053373 0.057106 -0.033888\nvn 1.466975 -1.814049 -1.754924\nv -0.068378 0.063166 -0.033684\nvn 0.394669 -1.536490 -4.541322\nv -0.066133 0.064732 -0.033756\nvn 0.805454 1.679725 -4.520165\nv -0.066100 0.067442 -0.033844\nvn -0.538530 2.910592 -7.319486\nv -0.064310 0.067442 -0.033796\nvn -1.081544 -1.607300 -3.488342\nv -0.057298 0.071012 -0.033892\nvn -1.314865 1.546673 -1.575946\nv 0.023538 0.075231 -0.033781\nvn 0.930419 -1.381772 -5.421404\nv 0.038174 0.076000 -0.033781\nvn -1.682076 -1.334874 -3.373649\nv -0.063544 0.076700 -0.033824\nvn -0.326175 0.615665 -6.642289\nv 0.030847 0.077821 -0.033943\nvn 1.466091 -1.843346 -4.376871\nv 0.042087 0.076735 -0.033680\nvn -1.386747 -0.946355 -6.772137\nv 0.024515 0.079650 -0.033874\nvn -2.618954 -1.054842 -4.096312\nv -0.065390 0.079790 -0.033918\nvn -1.643095 0.125272 -5.740185\nv 0.024616 0.084164 -0.033936\nvn 2.282101 3.383888 -4.363922\nv -0.056124 0.085425 -0.033636\nvn 0.390254 -0.140566 -5.914246\nv 0.034613 0.085839 -0.034082\nvn 2.442962 1.634328 -3.953983\nv 0.042012 0.085993 -0.033797\nvn 1.032263 0.660131 -5.666478\nv 0.036063 0.087647 -0.033816\nvn -1.418354 1.936898 -4.360257\nv -0.065474 0.087409 -0.033777\nvn -2.708107 1.335889 -6.304628\nv 0.025153 0.089804 -0.033763\nvn -1.230304 0.609192 -2.665005\nv 0.025644 0.091122 -0.033712\nvn -2.403416 1.604346 -6.353876\nv 0.027126 0.093690 -0.033849\nvn -1.409639 1.044297 -4.674919\nv 0.029158 0.096058 -0.033875\nvn 1.926436 -0.563918 -5.623552\nv 0.040053 0.096220 -0.033757\nvn -1.666666 1.086491 -4.554558\nv 0.029436 0.097318 -0.033732\nvn 1.879325 -1.160061 -6.633320\nv 0.040492 0.097868 -0.033855\nvn -1.751354 1.551014 -5.512213\nv 0.031326 0.099392 -0.033851\nvn 1.949044 -1.209294 -5.511800\nv 0.042508 0.099761 -0.033777\nvn -1.615113 1.271217 -5.626079\nv 0.033079 0.101356 -0.033852\nvn -1.821151 1.347935 -6.569486\nv 0.034457 0.103452 -0.033850\nvn 1.316795 -0.232235 -6.846212\nv 0.042668 0.103868 -0.033884\nvn -2.002087 1.521322 -6.502385\nv 0.036250 0.105636 -0.033859\nvn 0.576410 -1.106854 -5.827416\nv -0.003047 0.104110 -0.033674\nvn 0.817672 -1.090835 -5.789227\nv -0.002866 0.105692 -0.033986\nvn -0.062086 -0.834816 -5.930490\nv -0.004459 0.105247 -0.033902\nvn -0.302931 -0.366633 -6.975386\nv -0.006877 0.105868 -0.033867\nvn 0.984435 -0.770766 -5.871373\nv 0.044580 0.105855 -0.033797\nvn -0.568222 -0.171183 -5.938356\nv -0.008702 0.105944 -0.033839\nvn 0.332803 -0.354896 -7.933372\nv -0.002955 0.107780 -0.034167\nvn -0.913152 0.932844 -3.761003\nv 0.037452 0.106975 -0.033908\nvn -1.090372 0.366285 -6.861918\nv -0.009002 0.107806 -0.033773\nvn -0.398006 0.187105 -4.972370\nv -0.006986 0.107743 -0.033917\nvn -0.394576 0.031835 -4.972211\nv -0.005015 0.107850 -0.034097\nvn 0.797822 -0.287798 -5.928350\nv -0.000946 0.107777 -0.033839\nvn 0.840687 -0.213281 -6.907858\nv 0.044321 0.107850 -0.034138\nvn 2.163113 -0.841195 -7.614822\nv 0.046012 0.107957 -0.033810\nvn -1.277142 1.457352 -6.704713\nv 0.038901 0.108136 -0.033881\nvn -0.861863 0.336303 -6.916854\nv -0.006920 0.109590 -0.033772\nvn -0.505685 -0.090125 -5.960962\nv -0.005051 0.109491 -0.034041\nvn -0.041846 0.406359 -6.965656\nv 0.042702 0.109731 -0.034101\nvn 0.344590 0.289619 -3.969713\nv 0.044504 0.109652 -0.034030\nvn 1.032248 -0.023364 -6.892129\nv 0.046187 0.109585 -0.033814\nvn 0.402646 -0.400487 -5.932853\nv -0.002926 0.109705 -0.034122\nvn 0.395884 -0.415551 -3.938254\nv -0.000974 0.109662 -0.033859\nvn -1.045574 0.797050 -6.834322\nv 0.040558 0.109770 -0.033873\nvn 1.719939 -1.371207 -8.637680\nv 0.000838 0.109853 -0.033754\nvn -1.433333 0.196585 -7.824074\nv 0.040762 0.111590 -0.033885\nvn 0.046170 0.080763 -3.985653\nv 0.042746 0.111437 -0.034014\nvn 0.469474 0.016486 -7.961442\nv 0.044400 0.111436 -0.033870\nvn 2.077839 -1.190132 -5.447437\nv 0.002507 0.111389 -0.033740\nvn -1.338632 0.261198 -6.831935\nv -0.007107 0.113311 -0.033863\nvn -1.042641 -0.314887 -6.891166\nv -0.006893 0.111618 -0.033800\nvn -0.859940 0.443203 -3.866080\nv 0.040851 0.113482 -0.033787\nvn -0.609932 0.271178 -7.910739\nv 0.042476 0.113443 -0.034037\nvn 0.125362 -0.322750 -4.983577\nv 0.044347 0.113450 -0.034041\nvn 0.535326 -0.404552 -5.954062\nv 0.046312 0.113566 -0.033930\nvn 1.041032 -0.298696 -4.867889\nv 0.047706 0.113713 -0.033729\nvn -1.243521 0.594020 -4.803795\nv -0.006468 0.115456 -0.033799\nvn 0.553894 -0.267657 -5.948047\nv 0.046246 0.114981 -0.034073\nvn 1.501692 -0.854624 -5.737008\nv 0.004027 0.115505 -0.033856\nvn -1.053324 0.125951 -5.889514\nv 0.042715 0.115687 -0.033885\nvn -0.191574 0.011507 -5.982433\nv 0.044365 0.115200 -0.034091\nvn 1.383656 -0.322075 -5.801411\nv 0.048232 0.115680 -0.033766\nvn -0.353890 -0.136605 -4.969159\nv 0.044277 0.117431 -0.034103\nvn 0.436167 -0.272836 -6.961276\nv 0.046144 0.117436 -0.034061\nvn -1.906360 0.372552 -7.728498\nv -0.005267 0.117464 -0.033877\nvn 1.826845 -1.611566 -7.570567\nv 0.005118 0.117323 -0.033895\nvn 1.172793 -0.513775 -6.851555\nv 0.048602 0.117591 -0.033769\nvn 0.961702 -0.970763 -3.738337\nv 0.006469 0.118084 -0.033810\nvn -1.400221 -0.252024 -6.840064\nv 0.042321 0.117397 -0.033834\nvn -0.930641 -0.303368 -4.897325\nv 0.042504 0.119564 -0.033980\nvn 1.292324 0.145435 -6.845929\nv 0.048456 0.119496 -0.033831\nvn -0.987689 0.352871 -3.838734\nv -0.004803 0.119698 -0.033943\nvn -1.141591 1.050141 -5.761931\nv -0.004333 0.121146 -0.033831\nvn -0.532424 -0.198356 -4.943928\nv 0.042593 0.121347 -0.034097\nvn -1.046237 0.916058 -5.807062\nv -0.002749 0.121577 -0.033878\nvn 1.793087 -0.322462 -7.766700\nv 0.048369 0.123114 -0.033867\nvn -2.449392 -0.137428 -6.523241\nv 0.041174 0.123619 -0.033906\nvn -1.942380 0.450681 -6.688950\nv -0.002436 0.123316 -0.033742\nvn 0.932410 -1.108262 -3.705160\nv 0.010327 0.123775 -0.033890\nvn -2.162262 0.719780 -5.527327\nv -0.002081 0.126008 -0.033790\nvn -1.663746 -0.075870 -4.701631\nv 0.041001 0.125844 -0.033844\nvn 1.192832 -0.998113 -3.677967\nv 0.012175 0.125878 -0.033849\nvn 1.285802 0.972604 -6.692484\nv 0.048032 0.127436 -0.033942\nvn 1.477216 -2.224771 -5.346394\nv 0.014883 0.128111 -0.033822\nvn -1.429346 -0.464945 -5.772087\nv 0.040730 0.127804 -0.033759\nvn -1.474944 0.479664 -5.771996\nv -0.000565 0.129492 -0.033885\nvn -1.144522 -0.709293 -6.855494\nv 0.040773 0.129406 -0.034015\nvn 0.723091 0.158514 -5.952087\nv 0.046071 0.129448 -0.034050\nvn 1.233114 0.108702 -6.848696\nv 0.048054 0.129431 -0.033790\nvn -0.861976 -0.819676 -4.823966\nv 0.039002 0.129935 -0.033798\nvn 1.077051 0.059272 -5.840748\nv 0.048139 0.131043 -0.033853\nvn -0.902438 -1.267000 -5.730690\nv 0.038493 0.131352 -0.034056\nvn 0.613594 0.302710 -5.951141\nv 0.046166 0.131525 -0.033971\nvn -0.864593 -0.753707 -3.785651\nv 0.037187 0.131789 -0.033909\nvn 1.405605 -2.508606 -6.369282\nv 0.018863 0.131325 -0.033780\nvn -1.384273 -1.385156 -5.636258\nv 0.036312 0.133290 -0.033909\nvn 1.005484 -2.240842 -6.503408\nv 0.022580 0.133305 -0.033853\nvn 0.769770 -1.896690 -5.625892\nv 0.024458 0.133868 -0.033721\nvn -0.845881 -1.262653 -3.697949\nv 0.034897 0.133879 -0.033739\nvn 0.763196 0.105981 -4.898380\nv 0.044322 0.134863 -0.033923\nvn -0.192375 -1.599407 -5.703801\nv 0.032609 0.134924 -0.033946\nvn 0.574194 0.336583 -6.955560\nv 0.046036 0.135168 -0.033860\nvn -1.682379 1.421711 -5.538785\nv 0.003547 0.137192 -0.033743\nvn 1.081877 0.359134 -5.837903\nv 0.044285 0.137028 -0.033865\nvn 2.453346 1.272004 -8.508467\nv 0.044126 0.139270 -0.033880\nvn 2.504348 2.130991 -8.356490\nv 0.042396 0.141231 -0.033976\nvn -1.672720 1.257926 -4.533290\nv 0.007775 0.141275 -0.033813\nvn -1.382030 1.541917 -4.534668\nv 0.009035 0.142659 -0.033833\nvn 0.608596 0.959723 -2.730917\nv 0.039933 0.144447 -0.033857\nvn -1.303739 2.345673 -5.313197\nv 0.014714 0.146817 -0.033760\nvn 1.410460 0.951246 -3.593955\nv 0.037714 0.146285 -0.033816\nvn -0.290421 2.716863 -5.319524\nv 0.019310 0.148604 -0.033829\nvn -0.711524 2.349473 -5.447843\nv 0.022521 0.148915 -0.033909\nvn 0.642038 2.295513 -5.474695\nv 0.032676 0.148975 -0.033828\nvn -2.618145 -0.245534 -2.926087\nv -0.045574 0.153467 -0.033662\nvn -1.220415 1.082738 -3.598952\nv -0.047528 0.160631 -0.033795\nvn 1.857585 1.316916 1.950895\nv -0.031900 0.171375 -0.033888\nvn 1.617764 -2.861825 -2.271725\nv -0.049325 0.175133 -0.033797\nvn 1.973732 2.329356 3.861851\nv -0.042173 0.181624 -0.033677\nvn -2.787475 -7.462042 0.468645\nv -0.048088 0.055062 -0.032845\nvn 5.187738 -4.196522 2.006512\nv -0.026559 0.056301 -0.032775\nvn -1.035002 -6.329397 0.958576\nv -0.081902 0.058738 -0.032686\nvn -6.191957 -2.933376 3.001720\nv -0.084308 0.060122 -0.032657\nvn -1.097650 -2.964948 1.847272\nv -0.083736 0.059039 -0.033129\nvn -3.579646 -6.942024 -0.896740\nv -0.056239 0.058444 -0.032779\nvn -2.355352 -4.212895 -1.003888\nv -0.058428 0.059634 -0.032782\nvn 0.454140 -3.151500 -2.228881\nv 0.046579 0.063254 -0.033536\nvn -1.450375 -2.697758 -3.812382\nv -0.064315 0.063630 -0.033452\nvn -2.098546 -6.134434 2.355836\nv 0.040419 0.063973 -0.032626\nvn 0.425336 -4.994597 -5.891039\nv -0.066051 0.063738 -0.033162\nvn -1.121895 -3.198132 2.114710\nv 0.037189 0.064860 -0.033061\nvn -3.478380 3.275871 -2.706033\nv -0.083813 0.065633 -0.032502\nvn -2.179479 -5.999913 1.502047\nv 0.034638 0.066036 -0.032762\nvn 4.975482 0.653077 -4.605372\nv 0.049146 0.066393 -0.033412\nvn -1.656553 5.203603 -1.278061\nv -0.082320 0.066145 -0.032506\nvn -1.063213 7.774741 0.165887\nv -0.079825 0.066648 -0.032791\nvn -2.172334 5.970063 -0.702482\nv -0.078110 0.066962 -0.032691\nvn -0.909397 -3.549750 -0.747755\nv 0.031125 0.067040 -0.032488\nvn 0.221420 4.024028 -5.642079\nv -0.066171 0.068481 -0.033281\nvn -0.534063 1.720085 -4.378373\nv -0.058202 0.068876 -0.033538\nvn 5.189159 3.197825 -3.195362\nv 0.048809 0.068393 -0.032816\nvn 5.559931 -1.235299 -1.721667\nv -0.018476 0.069921 -0.032598\nvn 1.730754 4.923593 -2.687840\nv -0.038290 0.070427 -0.032587\nvn -2.515757 7.787917 -2.503522\nv -0.036222 0.070334 -0.032665\nvn -1.664686 -2.247155 -0.804892\nv 0.025968 0.069520 -0.033240\nvn -1.499834 -0.462091 -6.251153\nv -0.058046 0.070127 -0.033328\nvn 5.772066 7.553480 -5.450694\nv -0.040730 0.071922 -0.032623\nvn -3.708699 6.949429 -1.061398\nv -0.034299 0.071457 -0.032706\nvn -2.072408 5.574830 -0.612425\nv -0.032512 0.072337 -0.032598\nvn -4.263698 -2.775363 -3.785609\nv 0.022664 0.072156 -0.032716\nvn 1.663736 1.894551 -1.609307\nv -0.043223 0.073375 -0.033627\nvn 5.106788 -0.202761 -3.065339\nv -0.018106 0.074075 -0.033117\nvn 2.278582 4.459062 -4.259773\nv 0.042589 0.073649 -0.032688\nvn -3.413294 -3.474431 -6.281217\nv -0.062799 0.074018 -0.033186\nvn 2.347384 2.265294 -2.314367\nv -0.044100 0.074518 -0.033187\nvn 1.345823 0.902623 -5.005918\nv 0.038519 0.074690 -0.033411\nvn 0.599706 -1.599880 -4.573668\nv 0.040623 0.075727 -0.033458\nvn 1.789191 1.506369 -1.824483\nv -0.045761 0.076392 -0.033310\nvn -3.222871 -2.382075 -5.720157\nv -0.064453 0.075970 -0.033107\nvn -4.620313 -0.369684 -1.869697\nv -0.027108 0.077490 -0.033537\nvn -1.803525 0.445233 -5.232920\nv 0.024914 0.077754 -0.033623\nvn 1.914706 -1.406171 -4.356096\nv 0.043063 0.077283 -0.033503\nvn -1.974572 -1.086231 -3.257164\nv -0.065273 0.078625 -0.033685\nvn -0.738885 -0.517002 -2.860809\nv 0.024079 0.078100 -0.033464\nvn 5.199055 4.831819 -5.453021\nv -0.048326 0.079686 -0.032770\nvn 3.569184 -0.605050 -5.632172\nv 0.044353 0.079967 -0.033116\nvn 1.341902 -0.402810 -2.333430\nv 0.043632 0.080142 -0.033596\nvn -2.604364 -1.248021 -4.072243\nv -0.066542 0.080202 -0.033235\nvn -4.645426 0.402258 -1.788211\nv -0.027156 0.080375 -0.033537\nvn 4.808893 1.395941 -6.070303\nv 0.044454 0.081974 -0.032754\nvn 2.118420 2.052093 -2.696471\nv -0.049993 0.080655 -0.033229\nvn -1.927498 0.136491 -4.583936\nv 0.022457 0.081999 -0.033349\nvn 0.617478 1.603556 -0.844843\nv -0.051473 0.082125 -0.033537\nvn 4.838266 1.299770 -4.853053\nv -0.019864 0.083802 -0.033363\nvn -4.089828 -0.498509 -6.823482\nv -0.067976 0.083593 -0.033183\nvn 4.170149 5.494072 -5.680847\nv -0.052506 0.083870 -0.032654\nvn -1.043113 0.039157 -2.767881\nv 0.023277 0.083525 -0.033606\nvn -1.939629 0.016622 -3.491163\nv -0.067269 0.084342 -0.033600\nvn -1.784003 0.312664 -3.552264\nv -0.067207 0.085487 -0.033598\nvn 1.803632 2.880952 -3.646526\nv -0.057467 0.086575 -0.033372\nvn -2.124235 0.300535 -4.455187\nv 0.022654 0.086216 -0.033279\nvn 1.348000 2.297192 -2.947610\nv -0.058534 0.087025 -0.033589\nvn 5.733426 4.924058 -6.230041\nv 0.042343 0.087723 -0.032437\nvn 1.284984 3.350165 -3.457431\nv -0.060370 0.088255 -0.033195\nvn 0.829389 1.020484 -4.530586\nv 0.036881 0.088162 -0.033569\nvn 0.535185 2.232908 -4.193615\nv 0.038738 0.088183 -0.033343\nvn 1.449291 2.316635 -3.961846\nv 0.040737 0.088246 -0.032968\nvn -1.890887 0.600700 -3.399437\nv 0.024062 0.088775 -0.033537\nvn 3.926218 0.522557 -3.939626\nv -0.020493 0.089605 -0.033174\nvn -4.728661 2.190996 -8.499858\nv 0.024672 0.091849 -0.033062\nvn 0.051323 2.643710 -3.928775\nv -0.020840 0.091996 -0.032635\nvn 1.764800 -0.904319 -3.463999\nv 0.039189 0.091272 -0.033391\nvn -1.670819 0.696140 -3.551895\nv 0.025853 0.092625 -0.033537\nvn 3.401379 -1.474605 -7.016514\nv 0.040703 0.093735 -0.033278\nvn -2.798352 1.580753 -5.051173\nv 0.026082 0.093779 -0.033353\nvn 1.489553 -0.291212 -3.668396\nv 0.039902 0.094287 -0.033762\nvn -1.827168 1.267689 -4.469165\nv 0.028200 0.096157 -0.033515\nvn 1.505340 -0.674274 -4.711800\nv 0.041059 0.096200 -0.033469\nvn -2.857032 2.107911 -6.019098\nv 0.028595 0.097804 -0.033185\nvn 1.176934 -0.627688 -3.763160\nv 0.041348 0.097175 -0.033537\nvn 0.991881 -0.912745 -3.765571\nv 0.042002 0.098553 -0.033599\nvn 0.647115 -0.775687 -4.872653\nv -0.006346 0.099370 -0.033510\nvn -0.528506 -0.607553 -4.928215\nv -0.009356 0.099338 -0.033526\nvn -1.909281 1.410720 -4.388620\nv 0.030322 0.099522 -0.033448\nvn -0.176283 -0.827734 -5.915722\nv -0.008573 0.099800 -0.033672\nvn 0.301866 -0.374997 -4.952870\nv -0.007173 0.100150 -0.033705\nvn 3.213578 -1.859924 -7.059192\nv 0.044043 0.099925 -0.033114\nvn -0.592734 -0.105230 -4.953741\nv -0.010895 0.101315 -0.033524\nvn -0.454887 -0.073620 -10.934530\nv -0.008767 0.101647 -0.033764\nvn 0.299266 0.159585 -3.974652\nv -0.007406 0.101200 -0.033737\nvn 1.718881 -0.622082 -5.604002\nv 0.043921 0.101537 -0.033666\nvn 0.956152 -0.473291 -8.900246\nv -0.005194 0.101267 -0.033481\nvn -2.008287 1.618693 -5.389982\nv 0.032104 0.101502 -0.033516\nvn -0.341014 0.093140 -2.968893\nv -0.009973 0.102075 -0.033660\nvn 0.438437 0.174161 -4.969576\nv -0.006473 0.102075 -0.033570\nvn 2.036709 -1.048019 -4.416543\nv 0.044642 0.101687 -0.033339\nvn -2.324020 1.765830 -5.212493\nv 0.032582 0.103760 -0.033040\nvn 1.094715 -0.039852 -3.912938\nv 0.044908 0.103713 -0.033517\nvn -1.051058 0.260658 -7.910729\nv -0.010575 0.103813 -0.033461\nvn 0.167669 -0.992204 -8.850133\nv -0.007231 0.103621 -0.033662\nvn 0.479233 0.272766 -3.077298\nv 0.043985 0.103514 -0.033646\nvn -0.226130 -0.061546 -3.977320\nv -0.008818 0.103755 -0.033692\nvn 0.071521 -1.010718 -5.851066\nv -0.004774 0.103106 -0.033552\nvn 0.109746 -0.468674 -3.891250\nv -0.006035 0.103213 -0.033533\nvn 1.105731 -0.980796 -5.765140\nv -0.002722 0.103194 -0.033443\nvn 0.059436 -0.655109 -3.943613\nv -0.004723 0.104175 -0.033696\nvn 1.629216 -1.359262 -5.601548\nv -0.000830 0.103965 -0.033064\nvn 1.200249 -0.975106 -5.775192\nv -0.001050 0.105966 -0.033664\nvn 1.251796 -1.315171 -4.651880\nv -0.000795 0.105335 -0.033437\nvn -1.074050 0.744127 -2.700249\nv 0.035787 0.106276 -0.033505\nvn 0.950403 -0.514588 -3.845373\nv 0.045677 0.105925 -0.033592\nvn 2.609386 -1.126836 -7.466573\nv 0.046411 0.106210 -0.033413\nvn 2.885124 -1.900529 -7.154192\nv 0.001124 0.105970 -0.033080\nvn 1.090223 -0.678897 -4.815325\nv 0.000429 0.107741 -0.033637\nvn -3.219193 2.344422 -8.015966\nv 0.036359 0.107881 -0.033279\nvn 1.094509 -0.324439 -2.768340\nv 0.046817 0.107480 -0.033457\nvn -1.202731 0.454128 -4.824741\nv -0.010715 0.107619 -0.033372\nvn -1.414304 0.642773 -6.797583\nv -0.009139 0.109974 -0.033457\nvn -0.505091 0.486305 -3.921329\nv -0.008748 0.109075 -0.033678\nvn -0.702496 0.704331 -3.869801\nv 0.039377 0.109075 -0.033766\nvn 0.893202 -0.298067 -2.848309\nv 0.001402 0.109032 -0.033494\nvn -1.230438 0.886876 -4.740164\nv 0.038281 0.109644 -0.033493\nvn 2.430324 -1.234118 -7.488055\nv 0.048172 0.109624 -0.033340\nvn 2.862467 -1.511981 -6.124832\nv 0.002762 0.109890 -0.033150\nvn -2.478954 0.082166 -7.511140\nv -0.009049 0.111386 -0.033422\nvn -3.314093 1.367023 -9.218704\nv 0.038460 0.111615 -0.033234\nvn 0.231417 -0.109657 -3.988792\nv 0.046260 0.111331 -0.033808\nvn 1.264238 -0.339423 -6.849072\nv 0.047602 0.111437 -0.033698\nvn 2.123093 -1.347577 -4.270084\nv 0.003480 0.111392 -0.033267\nvn -0.585071 -0.232658 -2.900242\nv -0.008484 0.111945 -0.033635\nvn -0.826287 0.140894 -2.864039\nv 0.039552 0.112003 -0.033575\nvn -1.211280 0.065401 -4.797024\nv -0.008601 0.113147 -0.033615\nvn -1.922025 0.771432 -5.608766\nv 0.040052 0.113597 -0.033538\nvn -2.230510 0.777502 -6.522633\nv -0.008930 0.114082 -0.033441\nvn 1.673108 -0.265069 -5.747332\nv 0.048717 0.113841 -0.033436\nvn -1.446847 0.896462 -5.747374\nv -0.007393 0.115616 -0.033517\nvn 1.223161 -0.704963 -3.726571\nv 0.005282 0.115144 -0.033489\nvn -2.749755 0.778880 -8.459778\nv 0.040392 0.115447 -0.033358\nvn 1.641008 -0.603882 -5.723483\nv 0.049102 0.115674 -0.033464\nvn -0.952998 -0.023244 -3.884073\nv 0.041477 0.116775 -0.033609\nvn -1.395157 0.575339 -4.758658\nv -0.005948 0.117125 -0.033676\nvn 2.553260 -1.988864 -6.156932\nv 0.007156 0.117441 -0.033377\nvn 1.575823 -0.761829 -5.700906\nv 0.050684 0.117744 -0.033429\nvn 0.607439 -0.205562 -3.932471\nv 0.049410 0.118175 -0.033726\nvn -2.622627 0.944890 -7.467745\nv -0.006637 0.119506 -0.033342\nvn 1.096040 -0.646603 -2.702480\nv 0.007848 0.119050 -0.033574\nvn -1.786491 -0.350348 -5.702910\nv 0.041061 0.119488 -0.033624\nvn 1.504629 0.039210 -5.762201\nv 0.050728 0.119276 -0.033490\nvn 3.519614 -2.145626 -7.917836\nv 0.008873 0.119482 -0.033213\nvn -1.656550 -0.354348 -5.724436\nv 0.041127 0.121383 -0.033816\nvn 1.283560 -0.094127 -4.801999\nv 0.049177 0.121413 -0.033540\nvn -1.195619 0.680706 -3.738768\nv -0.005365 0.121511 -0.033516\nvn -3.108200 -0.266807 -6.241334\nv 0.040184 0.121523 -0.033406\nvn 1.058758 -0.839034 -3.764342\nv 0.008577 0.121792 -0.033778\nvn 1.545710 -1.208179 -4.578364\nv 0.009582 0.121560 -0.033455\nvn -2.710934 1.708709 -9.397923\nv -0.005048 0.123309 -0.033178\nvn 2.531259 -2.226525 -6.073916\nv 0.011079 0.123033 -0.033375\nvn -2.149860 -0.218006 -4.489514\nv 0.040219 0.123806 -0.033441\nvn -0.689942 0.249113 -2.903892\nv -0.002973 0.123775 -0.033560\nvn -1.760988 0.641163 -5.670431\nv -0.003248 0.125198 -0.033411\nvn 1.113241 0.158836 -4.859610\nv 0.050546 0.125671 -0.033442\nvn 2.212326 -1.918916 -5.218890\nv 0.013053 0.125300 -0.033341\nvn 1.357254 0.101970 -4.794675\nv 0.049527 0.125437 -0.033695\nvn -1.900216 -0.202939 -4.611407\nv 0.040137 0.125700 -0.033456\nvn 1.953840 1.055034 -7.577440\nv 0.050379 0.127584 -0.033263\nvn 1.599450 -2.098836 -4.224757\nv 0.014955 0.126972 -0.033255\nvn 1.053548 0.715276 -3.697536\nv 0.049457 0.127416 -0.033599\nvn -1.954058 0.609235 -4.554502\nv -0.001806 0.127872 -0.033546\nvn -1.626441 -0.750135 -5.687914\nv 0.039921 0.127603 -0.033525\nvn -1.346206 -1.098187 -5.732698\nv 0.038510 0.128991 -0.033529\nvn 0.944255 -1.272901 -2.537259\nv 0.017327 0.128983 -0.033416\nvn -3.734455 -2.953296 -8.653849\nv 0.036633 0.129501 -0.033053\nvn 2.567102 -3.297870 -6.745717\nv 0.018874 0.129395 -0.032981\nvn -1.109532 0.466458 -3.781324\nv -0.000406 0.130775 -0.033844\nvn -2.277133 1.271048 -6.446511\nv -0.001208 0.131503 -0.033454\nvn 1.041346 -1.645269 -3.473828\nv 0.019426 0.130635 -0.033377\nvn 1.302273 0.278101 -3.741343\nv 0.049181 0.131455 -0.033551\nvn 0.964707 -2.018154 -4.460499\nv 0.021002 0.132087 -0.033656\nvn 0.958509 -3.046233 -5.028001\nv 0.022554 0.131358 -0.032906\nvn 0.544918 0.250268 -5.960916\nv 0.046309 0.133196 -0.033799\nvn 1.460888 0.405954 -5.738731\nv 0.048127 0.133006 -0.033689\nvn -1.930141 1.452763 -6.562990\nv 0.001071 0.133691 -0.033489\nvn -0.858325 0.659439 -2.797109\nv 0.001227 0.132875 -0.033725\nvn -1.160197 -1.815916 -5.556350\nv 0.034634 0.133061 -0.033390\nvn 2.792190 0.455910 -4.658956\nv 0.048761 0.133807 -0.033411\nvn 1.064247 -2.361955 -5.384750\nv 0.024793 0.132871 -0.033299\nvn -0.146436 -1.049291 -2.719441\nv 0.032176 0.133715 -0.033602\nvn -0.816616 -3.481751 -7.084036\nv 0.030830 0.133278 -0.033179\nvn -0.360276 -2.831059 -6.309673\nv 0.032697 0.133153 -0.033300\nvn 1.537783 0.346953 -6.737930\nv 0.047821 0.134888 -0.033688\nvn 0.266257 -2.074324 -4.521176\nv 0.027345 0.134628 -0.033555\nvn -0.040156 -1.310492 -2.690731\nv 0.028127 0.134625 -0.033537\nvn 0.785048 0.561645 -3.812234\nv 0.047703 0.136512 -0.033584\nvn -1.425222 1.014833 -3.567620\nv 0.002738 0.137532 -0.033366\nvn 0.603785 0.856470 -4.874450\nv 0.046202 0.137075 -0.033638\nvn 0.817064 0.576180 -4.884522\nv 0.046161 0.137513 -0.033565\nvn 3.682863 1.789806 -8.337524\nv 0.048122 0.137255 -0.033292\nvn -1.006246 1.121163 -3.698706\nv 0.005777 0.138825 -0.033739\nvn 0.864899 0.808891 -3.809490\nv 0.044889 0.139875 -0.033508\nvn 0.903555 0.635440 -2.785504\nv 0.043956 0.140750 -0.033630\nvn 1.069814 1.096508 -3.692720\nv 0.043052 0.141856 -0.033570\nvn -3.520171 4.169050 -8.265271\nv 0.007008 0.143279 -0.032857\nvn 1.001710 0.875763 -2.684749\nv 0.041827 0.143025 -0.033669\nvn -0.264532 0.439682 -0.858356\nv 0.010671 0.144078 -0.033539\nvn -1.247291 0.858225 -2.744060\nv 0.011377 0.144399 -0.033597\nvn -0.252441 -5.210755 -2.125108\nv -0.038511 0.144740 -0.032759\nvn -1.431351 1.780260 -4.440146\nv 0.012606 0.145632 -0.033544\nvn 1.670590 2.678216 -6.218668\nv 0.040570 0.145309 -0.033278\nvn 3.385872 -3.305764 -0.581595\nv -0.034621 0.145669 -0.032579\nvn -2.443880 -5.551208 -6.420921\nv -0.040583 0.145259 -0.032541\nvn 3.236782 -2.319219 -0.316455\nv -0.033458 0.147455 -0.033690\nvn -0.503006 1.395668 -2.582171\nv 0.016136 0.147874 -0.033544\nvn -4.654407 -2.744908 -5.720336\nv -0.044626 0.148856 -0.032982\nvn 3.435683 -3.300917 -1.238643\nv -0.033099 0.147711 -0.032548\nvn -1.080035 2.280364 -4.283330\nv 0.017560 0.148342 -0.033675\nvn 0.754181 1.721778 -3.438901\nv 0.035702 0.148479 -0.033699\nvn 3.000762 -4.769206 -0.626589\nv -0.032208 0.148522 -0.032774\nvn -2.375370 5.840898 -8.931418\nv 0.016914 0.149173 -0.032929\nvn -0.287089 2.768282 -5.247619\nv 0.021046 0.148935 -0.033607\nvn 0.744844 2.555827 -5.294374\nv 0.034575 0.148768 -0.033683\nvn 1.614235 3.249422 -4.723013\nv 0.036547 0.149155 -0.032930\nvn -0.757867 3.167325 -5.014452\nv 0.019061 0.149425 -0.033337\nvn 4.405428 -3.721901 2.138632\nv -0.030540 0.149479 -0.032783\nvn 0.013105 2.228205 -3.300813\nv 0.029344 0.149700 -0.033577\nvn -0.069237 2.958424 -5.183084\nv 0.030542 0.149907 -0.033519\nvn 0.453081 2.353506 -4.354517\nv 0.032623 0.149896 -0.033452\nvn -0.675931 2.472710 -4.276300\nv 0.022529 0.149835 -0.033447\nvn 5.055981 -2.627479 1.407586\nv -0.029585 0.151159 -0.032574\nvn 5.550607 -1.123023 1.583474\nv -0.028936 0.153124 -0.032607\nvn -5.915947 -2.994792 -5.458642\nv -0.046448 0.157104 -0.032797\nvn -2.220939 -2.276758 -2.346950\nv -0.047167 0.158425 -0.033537\nvn -5.187207 -3.878400 -3.848474\nv -0.048191 0.159010 -0.032851\nvn 4.044620 0.684561 2.821587\nv -0.029191 0.161068 -0.033230\nvn -2.813755 1.124283 -5.768671\nv -0.048524 0.161082 -0.033242\nvn -1.357121 -1.112222 -2.415188\nv -0.048693 0.164594 -0.033283\nvn 6.681855 2.687452 5.271051\nv -0.030883 0.166636 -0.032780\nvn -3.674032 -1.105716 -5.178504\nv -0.050721 0.166744 -0.032851\nvn -4.122913 2.059462 -6.196940\nv -0.050328 0.168870 -0.032403\nvn 2.912712 1.143137 2.489659\nv -0.031310 0.168632 -0.033212\nvn -3.456107 2.666653 -4.900898\nv -0.048504 0.170785 -0.032694\nvn 5.815839 3.726855 5.705516\nv -0.032686 0.171056 -0.032902\nvn -0.344001 -2.526262 -2.613976\nv -0.052043 0.173730 -0.033619\nvn 1.387795 -3.049371 -3.401170\nv -0.049991 0.174194 -0.033048\nvn -2.304184 -0.270793 -5.260754\nv -0.046347 0.174868 -0.033166\nvn -2.028298 -1.037483 -4.305202\nv -0.045568 0.175374 -0.033593\nvn 0.851747 -3.262885 -6.453211\nv -0.048507 0.174822 -0.032912\nvn -0.512161 -2.696223 -4.788015\nv -0.046446 0.176112 -0.033438\nvn -2.951577 4.892027 1.579659\nv -0.047786 0.179997 -0.032999\nvn 0.810163 3.058191 3.694093\nv -0.042961 0.181905 -0.033537\nvn -0.000258 -6.992733 0.260324\nv -0.036541 0.053071 -0.032605\nvn 1.003740 -5.525049 1.111755\nv -0.030703 0.052923 -0.032608\nvn 1.355656 -3.365043 0.874180\nv -0.029433 0.053120 -0.032991\nvn -1.624514 -5.735236 0.650841\nv -0.043017 0.053422 -0.032399\nvn -0.647057 -3.910760 0.364619\nv -0.041998 0.053122 -0.032774\nvn 6.189404 -6.864386 3.125372\nv -0.028587 0.054103 -0.032329\nvn -1.234273 -3.768905 0.508420\nv -0.044281 0.053769 -0.032633\nvn -2.280439 -6.553886 0.910274\nv -0.046065 0.054412 -0.032571\nvn -2.517015 -6.471562 0.620991\nv -0.050673 0.056047 -0.032578\nvn -1.806810 -4.631256 0.360403\nv -0.052591 0.056811 -0.032477\nvn -2.087122 -4.476341 -0.104892\nv -0.053373 0.057086 -0.032837\nvn -2.430812 -5.409197 0.211348\nv -0.054365 0.057524 -0.032562\nvn 4.599449 -3.429648 1.683110\nv -0.025005 0.058535 -0.032311\nvn 0.654105 -5.932944 -0.119437\nv -0.079681 0.058691 -0.032662\nvn 1.100051 -4.870019 -0.182433\nv -0.077727 0.059046 -0.032488\nvn 4.614362 -3.496935 1.402680\nv -0.023998 0.059824 -0.032374\nvn 1.400915 -4.789393 -0.267234\nv -0.076052 0.059479 -0.032488\nvn 2.459938 -6.449258 -0.992896\nv -0.074120 0.060108 -0.032625\nvn -4.163795 -7.112500 -2.846577\nv -0.060288 0.060621 -0.032725\nvn 4.847073 -3.346235 0.941445\nv -0.023311 0.060668 -0.032667\nvn 2.856023 -6.074400 -1.790717\nv -0.072400 0.060803 -0.032543\nvn -4.794560 0.132155 -0.166180\nv -0.084243 0.062170 -0.032541\nvn 2.211832 -5.290005 -1.585058\nv -0.070313 0.061758 -0.032661\nvn -2.076612 -4.005399 -1.893733\nv -0.062477 0.061911 -0.032798\nvn 4.147658 -2.643565 0.422614\nv -0.022264 0.062237 -0.032428\nvn 3.027819 -7.962574 -4.441456\nv -0.068110 0.062565 -0.032628\nvn -2.150930 -6.432682 -3.820268\nv -0.064285 0.062655 -0.032369\nvn -1.533949 -6.516213 1.242583\nv 0.042385 0.063398 -0.032559\nvn -0.627272 -2.846985 0.663738\nv 0.043017 0.063190 -0.032995\nvn -1.124657 -6.654120 -0.500948\nv 0.044372 0.062942 -0.032529\nvn -0.358082 -6.157690 -2.939149\nv 0.046328 0.062683 -0.032510\nvn 1.844061 -5.283751 -5.351769\nv 0.048356 0.062646 -0.032313\nvn -5.874643 0.851833 -2.743465\nv -0.084368 0.064398 -0.032723\nvn 0.634686 -2.050865 -2.093979\nv -0.067198 0.063575 -0.033371\nvn 5.890127 -3.533313 -0.003678\nv -0.021104 0.064013 -0.032649\nvn 2.737180 -1.344527 -3.691390\nv 0.049001 0.064212 -0.033264\nvn -1.530253 -4.202422 2.159119\nv 0.038734 0.064534 -0.032644\nvn 3.990396 -1.333957 -5.078385\nv 0.050393 0.064245 -0.032373\nvn -2.123383 -7.170202 2.129212\nv 0.036368 0.065532 -0.032410\nvn 4.728802 1.398175 -4.618698\nv 0.050203 0.066014 -0.032438\nvn 4.331610 -2.277608 -0.430121\nv -0.019646 0.066528 -0.032680\nvn -1.669048 -6.227486 0.011534\nv 0.032610 0.066762 -0.032575\nvn 6.356131 -2.467497 -1.132071\nv -0.019008 0.067969 -0.032631\nvn -1.505398 -4.414065 -0.819437\nv 0.030216 0.067336 -0.032537\nvn -1.266614 4.743579 -0.728123\nv -0.075788 0.067602 -0.032679\nvn -1.505635 -4.120079 -2.245656\nv 0.028506 0.067800 -0.032447\nvn -1.200356 4.740225 -0.967204\nv -0.074448 0.068024 -0.032517\nvn -1.236457 6.634681 -1.701586\nv -0.072089 0.068603 -0.032389\nvn -0.495341 6.019286 -3.277155\nv -0.069973 0.068716 -0.032940\nvn -0.355937 4.532218 -3.815026\nv -0.068036 0.068837 -0.033032\nvn -0.182850 2.120709 -3.358305\nv -0.064135 0.068496 -0.033277\nvn -0.694470 3.894437 -5.728106\nv -0.062552 0.068755 -0.033281\nvn -0.831997 2.101526 -3.148303\nv -0.060373 0.068959 -0.033312\nvn -3.239323 -5.165002 -4.250954\nv 0.026721 0.068461 -0.032528\nvn -1.888652 1.672304 -5.942781\nv -0.060102 0.070176 -0.032706\nvn 4.342323 3.741214 -1.610075\nv 0.047921 0.069634 -0.032690\nvn 0.000000 0.000000 0.000000\nv -0.056873 0.069525 -0.033502\nvn -4.198988 -5.409690 -4.897059\nv 0.024657 0.070045 -0.032646\nvn 4.175949 4.079310 -1.265700\nv 0.046811 0.070875 -0.032780\nvn -1.501004 2.570382 -0.331411\nv -0.035342 0.070804 -0.032883\nvn -1.768810 -1.856763 -4.213230\nv -0.060520 0.071848 -0.032933\nvn 6.345035 -0.889739 -2.712836\nv -0.018214 0.072158 -0.032948\nvn 2.282547 3.156662 -0.842242\nv 0.045698 0.071835 -0.032574\nvn 1.694271 1.888133 -1.599783\nv -0.041966 0.072785 -0.032941\nvn 4.902639 4.771191 -2.434885\nv 0.044532 0.072646 -0.032329\nvn -3.387968 -2.382497 -6.433160\nv -0.062215 0.072200 -0.032340\nvn -1.471132 5.734588 -0.841424\nv -0.030818 0.072895 -0.032619\nvn 5.956660 6.251573 -4.983079\nv -0.042723 0.073886 -0.032417\nvn -2.079563 4.848725 -2.242808\nv -0.028781 0.073436 -0.032458\nvn -4.081885 0.037477 -1.864817\nv 0.022322 0.074455 -0.033143\nvn -4.205142 2.487120 -2.975549\nv -0.027336 0.074470 -0.032859\nvn 1.238329 1.708416 -4.541807\nv 0.040487 0.074304 -0.033105\nvn -4.100438 1.825098 -6.648709\nv 0.022893 0.076044 -0.033077\nvn 0.427206 -1.279194 -3.619123\nv 0.038852 0.075475 -0.033444\nvn 4.484121 3.817718 -3.693142\nv -0.044505 0.075715 -0.032450\nvn -6.164041 -0.185298 -3.181184\nv -0.027323 0.076199 -0.032702\nvn 2.296165 -2.689674 -7.032035\nv 0.042506 0.075789 -0.033031\nvn -1.694821 1.165460 -2.970732\nv 0.024043 0.076417 -0.033448\nvn 2.384423 -0.734300 -4.678953\nv 0.044459 0.076215 -0.032510\nvn -2.084436 -1.187553 -3.182375\nv -0.064923 0.077225 -0.033354\nvn -2.317832 -0.837810 -7.574538\nv 0.022700 0.077840 -0.033069\nvn 3.659157 -0.761375 -5.871970\nv 0.044665 0.077818 -0.032782\nvn -5.652766 -3.075773 -7.609870\nv -0.066349 0.077854 -0.032550\nvn 5.336668 4.763244 -5.350721\nv -0.046700 0.077984 -0.032664\nvn 5.536967 0.589280 -4.169438\nv -0.018117 0.077890 -0.032975\nvn -1.534481 -0.429032 -4.719258\nv 0.022737 0.079606 -0.033400\nvn 3.645725 0.755274 -3.328093\nv -0.018498 0.079989 -0.032919\nvn 4.026440 4.977981 -4.401913\nv -0.050394 0.082067 -0.032543\nvn -2.562704 -1.074184 -4.142124\nv -0.067892 0.081698 -0.032899\nvn 3.587932 0.682971 -4.627276\nv -0.018662 0.081911 -0.032718\nvn -4.963380 0.691783 -3.047767\nv -0.027275 0.082147 -0.032587\nvn -3.440095 0.303991 -7.129563\nv 0.022523 0.084023 -0.033275\nvn 3.015689 0.791105 -3.892763\nv 0.043227 0.083875 -0.033411\nvn -5.624882 1.980153 -3.340018\nv -0.026921 0.084088 -0.032402\nvn 2.743377 0.751935 -6.182105\nv -0.018736 0.084166 -0.032355\nvn 1.247885 1.832352 -1.996793\nv -0.053651 0.084463 -0.032750\nvn -2.932417 0.719410 -5.145677\nv -0.067985 0.085975 -0.033114\nvn 2.110917 3.011250 -3.355751\nv -0.055902 0.086293 -0.032818\nvn 4.213069 5.485770 -5.708437\nv -0.054416 0.085526 -0.032332\nvn -7.266623 3.467681 -3.717326\nv -0.026150 0.086171 -0.032416\nvn 3.685076 0.675435 -4.512212\nv -0.020208 0.086066 -0.032980\nvn 3.646434 1.789944 -4.301947\nv 0.042851 0.086278 -0.033056\nvn -3.608303 2.440460 -6.653236\nv -0.068276 0.087814 -0.032457\nvn -5.547601 3.309188 -2.591135\nv -0.025169 0.087801 -0.032659\nvn 3.632317 6.900235 -6.184939\nv -0.058294 0.087967 -0.032545\nvn -3.295164 1.107445 -6.031097\nv 0.022611 0.088025 -0.032936\nvn -2.043729 2.845370 -6.018977\nv -0.066527 0.088372 -0.032930\nvn 4.621164 0.036911 -4.908569\nv -0.020216 0.087927 -0.032782\nvn -0.893186 1.979364 -3.353797\nv -0.064748 0.088587 -0.033333\nvn 0.653756 2.510760 -3.038935\nv -0.061248 0.088438 -0.033258\nvn -0.474698 4.076245 -6.766509\nv -0.064218 0.089747 -0.032735\nvn 1.921518 4.923189 -5.899242\nv -0.062382 0.089840 -0.032416\nvn -3.530240 2.861564 -1.860420\nv -0.024164 0.089425 -0.032350\nvn -3.413308 1.379476 -5.876520\nv 0.022746 0.089708 -0.032533\nvn 2.271804 -0.469515 -7.367872\nv 0.038533 0.089613 -0.033189\nvn -1.785763 0.903169 -3.460559\nv 0.024158 0.090066 -0.033217\nvn -4.173356 3.076234 -2.708248\nv -0.023304 0.090259 -0.032869\nvn -2.444998 4.499392 -2.661971\nv -0.022380 0.091360 -0.032464\nvn 3.658072 -1.677775 -5.698928\nv 0.040568 0.091747 -0.032715\nvn -3.643245 2.542903 -6.619816\nv 0.026664 0.095926 -0.032915\nvn -0.318261 -0.114027 -5.930792\nv -0.013104 0.095627 -0.033178\nvn 2.919035 -1.570992 -6.122272\nv 0.042581 0.095847 -0.032818\nvn -0.294088 -0.977162 -5.907289\nv -0.009077 0.097759 -0.033279\nvn 0.772265 -1.476981 -6.755455\nv -0.007109 0.097928 -0.033333\nvn 2.321975 -1.397222 -6.422747\nv 0.042656 0.097746 -0.033232\nvn -0.193012 -0.204242 -4.955740\nv -0.012526 0.097616 -0.033116\nvn -0.344300 -0.735788 -5.935673\nv -0.010901 0.097732 -0.033122\nvn -0.849096 -0.369935 -5.882136\nv -0.012671 0.099479 -0.033266\nvn 1.263588 -1.370206 -6.730697\nv -0.005036 0.099408 -0.033233\nvn -3.394289 2.345513 -5.637597\nv 0.028763 0.099776 -0.032542\nvn 1.641602 -0.860334 -3.544314\nv 0.043169 0.099248 -0.033340\nvn -0.569901 -0.524268 -5.944654\nv -0.010410 0.100063 -0.033486\nvn -1.259545 -0.052022 -6.841607\nv -0.013104 0.101443 -0.033301\nvn -3.518173 2.748911 -6.581573\nv 0.030543 0.101748 -0.032779\nvn 1.427542 -0.897529 -5.724185\nv -0.002973 0.101550 -0.033233\nvn -2.466734 0.163484 -6.516550\nv -0.014763 0.101871 -0.032801\nvn -1.617608 0.520725 -6.751508\nv -0.012800 0.103592 -0.033196\nvn 1.938989 -0.788037 -4.562274\nv 0.046347 0.103617 -0.033080\nvn -2.709476 2.090313 -6.090730\nv 0.034235 0.105766 -0.033016\nvn -1.376623 0.275033 -6.848786\nv -0.011078 0.105901 -0.033333\nvn 2.111433 -0.931221 -5.493388\nv 0.001402 0.107763 -0.033358\nvn -2.692776 1.513862 -5.088736\nv 0.036339 0.109786 -0.032744\nvn -1.944348 1.101089 -6.614619\nv -0.010881 0.109645 -0.033041\nvn 1.379022 -0.298342 -4.777294\nv 0.048827 0.111408 -0.033421\nvn 3.425738 -2.305620 -5.534959\nv 0.005217 0.111535 -0.032428\nvn -3.915530 1.467271 -6.758846\nv 0.038265 0.113537 -0.032750\nvn 2.201407 -0.437391 -6.604834\nv 0.050133 0.113579 -0.033016\nvn 3.026584 -1.974175 -7.082134\nv 0.005167 0.113463 -0.033162\nvn -1.543025 0.933233 -4.647717\nv -0.008901 0.115232 -0.033221\nvn 3.650965 -2.165949 -6.663902\nv 0.007292 0.115475 -0.032701\nvn 1.773913 -0.749526 -5.670322\nv 0.050661 0.115894 -0.033045\nvn -2.035739 0.765980 -6.635253\nv -0.007296 0.117416 -0.033239\nvn -2.434105 -0.097245 -6.521824\nv 0.040388 0.117781 -0.033328\nvn 2.832127 -0.765715 -6.314794\nv 0.052278 0.117563 -0.032760\nvn 2.275788 -0.055742 -5.476079\nv 0.052406 0.119499 -0.032956\nvn -2.124267 -0.173987 -4.497187\nv 0.040427 0.119925 -0.033426\nvn -1.917743 1.025603 -4.492015\nv -0.006972 0.121334 -0.032920\nvn -3.222428 -0.194107 -5.051054\nv 0.038421 0.121416 -0.032319\nvn 3.426045 -2.544325 -5.446602\nv 0.010855 0.121379 -0.032833\nvn 1.500751 0.141922 -6.804990\nv 0.050290 0.121583 -0.033331\nvn 1.339202 -0.313442 -5.833062\nv 0.050477 0.123350 -0.033449\nvn 2.672971 -0.337638 -6.384554\nv 0.052698 0.123322 -0.032848\nvn -3.730232 -0.560885 -5.869765\nv 0.038564 0.123211 -0.032495\nvn 2.535706 -2.377773 -4.820791\nv 0.012744 0.123466 -0.032736\nvn -1.948001 1.090139 -5.557814\nv -0.004904 0.125556 -0.032880\nvn 2.202677 0.271384 -6.580407\nv 0.052590 0.125636 -0.032970\nvn -3.875869 -1.808630 -7.468581\nv 0.038467 0.125613 -0.032875\nvn 3.006163 -2.836801 -5.558133\nv 0.014616 0.125221 -0.032588\nvn -2.152110 0.930144 -5.499887\nv -0.003033 0.127496 -0.033039\nvn -2.046311 -1.278644 -5.430867\nv 0.038397 0.127764 -0.033234\nvn 3.390398 -4.405348 -7.003156\nv 0.016782 0.127498 -0.032789\nvn -3.197196 0.842343 -7.271337\nv -0.002700 0.129500 -0.032997\nvn -2.273761 0.515817 -5.527266\nv -0.001573 0.129375 -0.033504\nvn 1.254892 0.198966 -4.832964\nv 0.050251 0.129511 -0.033185\nvn -1.775440 -1.605028 -5.481551\nv 0.036262 0.131160 -0.033416\nvn 2.283845 0.421528 -7.599344\nv 0.050114 0.131154 -0.033206\nvn 1.427694 -2.856161 -5.046599\nv 0.021074 0.131206 -0.033179\nvn -2.135595 0.999998 -4.377301\nv -0.002742 0.131385 -0.032804\nvn 1.084020 -4.113385 -5.488697\nv 0.024657 0.131528 -0.032573\nvn -2.062813 1.508966 -5.408431\nv -0.000909 0.133257 -0.033048\nvn 0.552696 -1.719079 -3.525532\nv 0.023277 0.132525 -0.033490\nvn 2.096419 0.676064 -5.564436\nv 0.050292 0.133437 -0.032775\nvn 0.803052 -2.320870 -5.460304\nv 0.026769 0.133476 -0.033185\nvn -0.056998 -3.356036 -7.227457\nv 0.028469 0.133458 -0.033030\nvn -1.533487 1.108130 -4.622411\nv 0.000656 0.135391 -0.033032\nvn 1.460014 0.320763 -1.947433\nv 0.048477 0.135325 -0.033495\nvn -3.646158 3.124599 -7.499105\nv 0.000965 0.137417 -0.032598\nvn 1.499712 1.064068 -5.674776\nv 0.046461 0.139202 -0.033313\nvn -1.886225 2.016595 -6.423344\nv 0.005024 0.139350 -0.033382\nvn 2.452675 1.337351 -5.289509\nv 0.048230 0.139350 -0.032607\nvn -3.493329 3.246660 -7.525270\nv 0.002992 0.139316 -0.032740\nvn -1.577150 1.296282 -4.557087\nv 0.006310 0.141298 -0.033206\nvn 1.775288 1.642345 -6.545171\nv 0.044433 0.141435 -0.033300\nvn 2.229568 1.661613 -7.434333\nv 0.046428 0.141239 -0.033012\nvn 2.062208 1.880220 -6.405220\nv 0.042661 0.143146 -0.033304\nvn -1.054026 1.659926 -3.466551\nv 0.008752 0.143375 -0.033459\nvn -1.546653 1.309314 -3.578568\nv 0.010788 0.144983 -0.033113\nvn 1.483667 1.850039 -5.493146\nv 0.042613 0.145172 -0.032810\nvn -2.846299 4.228496 -7.362591\nv 0.008958 0.145117 -0.032546\nvn 1.560108 -5.518124 -0.806131\nv -0.036131 0.144843 -0.032624\nvn -2.999069 3.846207 -7.376637\nv 0.012626 0.147134 -0.032939\nvn 2.073944 2.121697 -5.182804\nv 0.038585 0.147215 -0.033056\nvn -1.563293 -2.260734 -3.820417\nv -0.042766 0.146737 -0.032685\nvn 5.391858 -4.051325 -1.433113\nv -0.033793 0.146749 -0.032251\nvn -0.971304 1.972257 -3.302000\nv 0.014439 0.147847 -0.033214\nvn -2.867162 -2.568504 -4.194044\nv -0.044186 0.147692 -0.032410\nvn 0.127851 1.970940 -3.454738\nv 0.020594 0.149675 -0.033264\nvn 1.461776 3.627603 -5.757028\nv 0.034731 0.149642 -0.033163\nvn 0.000000 0.000000 0.000000\nv 0.026894 0.150114 -0.033317\nvn -0.226673 4.890152 -6.286909\nv 0.029036 0.150821 -0.032724\nvn -0.520556 3.791958 -4.586708\nv 0.022579 0.151169 -0.032537\nvn -0.136680 3.766985 -4.617429\nv 0.024272 0.151137 -0.032756\nvn 0.165056 3.597492 -4.605455\nv 0.026778 0.151124 -0.032584\nvn -1.150575 2.976229 -4.120890\nv 0.030826 0.151299 -0.032657\nvn 1.269475 3.530109 -4.940896\nv 0.032420 0.151280 -0.032589\nvn -2.529128 -0.949640 -2.935240\nv -0.045133 0.151250 -0.033252\nvn -3.849620 -1.200934 -4.421533\nv -0.046037 0.151304 -0.032477\nvn -4.826154 -1.190211 -4.875812\nv -0.046658 0.152933 -0.032367\nvn -4.899980 -0.172223 -4.961266\nv -0.046534 0.154711 -0.032697\nvn 5.625160 -0.049493 1.693214\nv -0.028830 0.155131 -0.032408\nvn 5.556942 0.654113 1.815262\nv -0.028985 0.156878 -0.032548\nvn 7.994371 1.230245 3.564552\nv -0.029119 0.159091 -0.032839\nvn -1.486730 0.569719 -3.549952\nv -0.047073 0.161750 -0.033394\nvn -3.739598 -0.899879 -7.727170\nv -0.048568 0.162886 -0.032665\nvn -2.091181 -0.528242 -3.333457\nv -0.047073 0.162450 -0.033433\nvn 3.182962 0.612587 2.303292\nv -0.029500 0.162574 -0.033211\nvn 5.704655 1.419991 3.631187\nv -0.030091 0.163303 -0.032598\nvn 4.049901 1.079998 2.650133\nv -0.030482 0.164663 -0.032564\nvn -3.792996 -2.032619 -6.631529\nv -0.050254 0.164757 -0.032597\nvn -1.865772 1.533974 -1.688332\nv -0.049153 0.169555 -0.032890\nvn 4.369829 1.751588 3.692650\nv -0.032096 0.169156 -0.032532\nvn -2.540689 2.133026 -3.018316\nv -0.047175 0.171521 -0.032916\nvn -2.849528 0.770814 -4.528011\nv -0.046388 0.172925 -0.033141\nvn 1.721088 1.393341 1.977967\nv -0.033248 0.172600 -0.033289\nvn 4.498608 5.493377 5.250516\nv -0.034387 0.172909 -0.032640\nvn -1.184454 -3.875144 -4.574106\nv -0.052512 0.172928 -0.032585\nvn 0.168316 -4.637730 -5.117430\nv -0.050692 0.173226 -0.032324\nvn 1.936094 5.081913 2.248228\nv -0.036141 0.173605 -0.032527\nvn -4.128368 1.485840 -2.708010\nv -0.053116 0.174948 -0.032837\nvn 1.169315 7.711720 1.559407\nv -0.038603 0.174154 -0.032679\nvn 1.088251 3.634235 0.960569\nv -0.036515 0.173965 -0.033129\nvn 2.928872 3.867356 1.852310\nv -0.040731 0.174559 -0.032670\nvn -5.047313 4.346639 -1.084049\nv -0.052145 0.176375 -0.032406\nvn 0.600125 -1.855712 -2.006718\nv -0.047540 0.175875 -0.033320\nvn 4.949758 0.776337 2.543167\nv -0.041086 0.176495 -0.032966\nvn 5.186352 0.916799 4.140434\nv -0.041276 0.178878 -0.033156\nvn -3.869787 4.501960 0.198780\nv -0.050033 0.178281 -0.032769\nvn -3.423833 4.790505 0.946863\nv -0.048887 0.179059 -0.032333\nvn 2.671024 2.469430 4.667493\nv -0.042623 0.180728 -0.032939\nvn -1.687394 4.908909 2.457021\nv -0.046201 0.180695 -0.032521\nvn 0.890727 5.152312 5.288312\nv -0.044225 0.180896 -0.032443\nvn -0.402845 -7.950946 0.428958\nv -0.040423 0.053020 -0.032598\nvn 4.223071 -2.487687 -0.207102\nv -0.020012 0.065822 -0.032638\nvn -0.556049 4.516622 -5.279184\nv -0.064083 0.069807 -0.032255\nvn -1.476950 2.417860 -4.819126\nv -0.062717 0.069930 -0.032252\nvn 1.852549 2.974174 -1.919658\nv -0.039548 0.071003 -0.032794\nvn -3.588976 -2.944374 -5.209435\nv -0.064145 0.074174 -0.032465\nvn 5.049280 0.099061 -3.150990\nv -0.017936 0.076087 -0.032892\nvn -4.596457 -2.720505 -5.927413\nv -0.065782 0.076329 -0.032343\nvn -2.533313 -0.240969 -5.383564\nv 0.020981 0.079816 -0.032730\nvn -3.512200 0.611743 -6.019025\nv 0.020662 0.081971 -0.032350\nvn 4.172112 1.262516 -4.101146\nv 0.044325 0.084110 -0.032380\nvn 5.065455 2.571385 -3.892097\nv 0.043931 0.085741 -0.032207\nvn 0.396369 -0.916025 -5.860610\nv -0.012323 0.093818 -0.033007\nvn -0.794273 -0.792955 -5.875215\nv -0.014360 0.093772 -0.032805\nvn 0.315010 -1.171789 -5.840320\nv -0.012676 0.091702 -0.032534\nvn 0.340207 -0.879593 -5.893094\nv -0.011000 0.093884 -0.032788\nvn -3.141486 1.676201 -4.818281\nv 0.024542 0.094049 -0.032295\nvn -0.974650 -0.092061 -4.882116\nv -0.014573 0.095804 -0.032962\nvn 0.583138 -0.898790 -5.891493\nv -0.008841 0.094324 -0.032797\nvn 0.255899 -0.586808 -6.936546\nv -0.010819 0.096052 -0.032941\nvn 0.172969 -0.898573 -5.908172\nv -0.008748 0.096067 -0.032991\nvn 1.460337 -1.391980 -6.665938\nv -0.006837 0.095817 -0.032734\nvn -1.544092 0.437435 -6.775224\nv -0.014775 0.097715 -0.032772\nvn 1.065475 -1.331420 -4.694036\nv -0.005267 0.097424 -0.032765\nvn 4.222038 -2.380039 -7.526004\nv 0.044327 0.097737 -0.032451\nvn 2.011312 -2.048009 -6.249471\nv -0.003110 0.097739 -0.032461\nvn -1.902790 0.074233 -5.662755\nv -0.014647 0.099522 -0.032700\nvn 1.438449 -1.092619 -4.620899\nv -0.002705 0.099316 -0.032815\nvn 2.738357 -1.684823 -5.045457\nv 0.046225 0.101606 -0.032502\nvn -1.893136 0.743750 -4.516157\nv -0.014819 0.103928 -0.032605\nvn 2.446554 -1.482131 -6.374182\nv -0.000604 0.102083 -0.032504\nvn -2.878647 2.135237 -4.782161\nv 0.031048 0.103531 -0.032269\nvn 3.737920 -2.104369 -6.653532\nv 0.048440 0.103906 -0.032230\nvn -2.697668 0.732232 -5.246270\nv -0.014720 0.105805 -0.032314\nvn -1.543293 0.408013 -4.704077\nv -0.013351 0.105823 -0.032916\nvn 3.263223 -2.550276 -6.701171\nv 0.000940 0.103678 -0.032368\nvn -1.682606 0.779991 -5.678253\nv -0.013127 0.107708 -0.032766\nvn 3.850781 -1.487377 -5.622005\nv 0.003041 0.107727 -0.032415\nvn -2.926085 2.038569 -4.797288\nv 0.034432 0.107696 -0.032359\nvn 2.622415 -0.940074 -6.406885\nv 0.048344 0.107498 -0.032821\nvn -1.698923 0.994326 -4.589197\nv -0.012951 0.109267 -0.032494\nvn 2.165365 -1.255680 -4.281753\nv 0.050279 0.109577 -0.032508\nvn -1.299241 0.447810 -3.734369\nv -0.010961 0.111343 -0.032647\nvn -2.610212 1.241606 -4.054393\nv 0.036368 0.111307 -0.032286\nvn 2.417193 -0.831797 -5.381578\nv 0.050473 0.111309 -0.032835\nvn -2.268302 0.492192 -5.511363\nv -0.010820 0.113462 -0.032640\nvn 2.754959 -1.480453 -3.850460\nv 0.006805 0.113753 -0.032431\nvn -4.599754 2.308278 -8.505386\nv -0.010688 0.115597 -0.032374\nvn -3.086476 0.699001 -5.048379\nv 0.038489 0.115692 -0.032499\nvn -2.375694 0.925459 -5.397037\nv -0.009245 0.117312 -0.032635\nvn -2.450327 0.140606 -4.332254\nv 0.038697 0.117663 -0.032504\nvn 3.812727 -2.331226 -5.335702\nv 0.009010 0.117580 -0.032332\nvn -1.855051 0.755596 -4.546721\nv -0.008844 0.119599 -0.032554\nvn -3.126571 -0.025080 -5.104529\nv 0.038695 0.119505 -0.032470\nvn 3.422410 -1.686545 -4.390998\nv 0.010587 0.119434 -0.032215\nvn 1.275458 -0.002066 -3.760964\nv 0.052363 0.121548 -0.032874\nvn -2.659453 1.345626 -5.156649\nv -0.007142 0.123172 -0.032310\nvn 1.129848 0.299689 -3.816457\nv 0.052327 0.128033 -0.032755\nvn 2.095934 0.347090 -6.640886\nv 0.052367 0.129350 -0.032697\nvn 2.638519 -4.357998 -6.128446\nv 0.020686 0.129615 -0.032332\nvn 1.705309 0.526766 -4.634665\nv 0.052448 0.131365 -0.032571\nvn -1.630856 -2.181771 -5.278397\nv 0.034277 0.131238 -0.032673\nvn 2.657304 0.950920 -6.386379\nv 0.050313 0.135204 -0.032575\nvn -3.546801 2.408204 -6.702679\nv -0.000901 0.135616 -0.032396\nvn 2.430059 1.395705 -5.285235\nv 0.049893 0.137103 -0.032460\nvn -1.893391 1.840237 -5.373737\nv 0.004995 0.141541 -0.032737\nvn 1.255547 1.537459 -5.656973\nv 0.044592 0.143075 -0.032825\nvn -2.472415 4.050224 -6.379459\nv 0.011013 0.146962 -0.032282\nvn 1.193575 1.955172 -4.422549\nv 0.040583 0.147041 -0.032408\nvn -2.210516 4.417713 -6.211737\nv 0.014811 0.149288 -0.032271\nvn 2.328050 3.772302 -6.601384\nv 0.038498 0.149139 -0.032221\nvn -0.061751 0.975051 -0.213269\nv -0.027616 0.149685 -0.033492\nvn -3.935741 -1.276280 -4.301111\nv -0.045861 0.149612 -0.032238\nvn 0.061641 -0.972780 0.223446\nv -0.028233 0.149644 -0.033488\nvn -0.364378 3.993906 -5.644516\nv 0.020715 0.150972 -0.032465\nvn 1.619440 3.376051 -4.664931\nv 0.034285 0.151021 -0.032310\nvn -3.728275 -3.019738 -6.199268\nv -0.050433 0.160905 -0.032418\nvn -3.762954 -1.085207 -4.506858\nv -0.053976 0.172817 -0.032018\nvn -3.809740 2.409897 -1.552183\nv -0.053563 0.174713 -0.032139\nvn 0.036038 -3.996491 0.106527\nv -0.038148 0.053072 -0.032313\nvn -0.199571 -6.991180 0.219455\nv -0.034648 0.053045 -0.032137\nvn -1.761306 -4.587793 0.874868\nv -0.048944 0.055473 -0.031941\nvn 3.626529 -2.928646 1.774143\nv -0.025814 0.057549 -0.032152\nvn -2.218642 -4.452131 -0.011788\nv -0.057573 0.059062 -0.032137\nvn 0.172620 -3.307295 -1.986792\nv -0.066117 0.062818 -0.032150\nvn 3.014474 1.418142 -2.130279\nv 0.049774 0.067463 -0.032214\nvn -0.985314 4.318134 -2.249887\nv -0.069322 0.069210 -0.032113\nvn -0.529737 3.337998 -2.112944\nv -0.067800 0.069536 -0.032129\nvn -0.515227 4.475629 -3.856250\nv -0.065991 0.069594 -0.032314\nvn 1.873638 3.030751 -1.810386\nv -0.039298 0.071219 -0.032189\nvn -1.688776 3.992372 -2.018715\nv -0.030330 0.073102 -0.032009\nvn -3.665525 -0.670774 -5.807509\nv 0.021073 0.074383 -0.032181\nvn 5.517496 -0.514056 -2.279430\nv -0.017695 0.074092 -0.032137\nvn -2.801207 -0.654887 -5.248318\nv 0.020637 0.076241 -0.032148\nvn -5.550207 -0.137641 -3.929814\nv -0.027774 0.077768 -0.031874\nvn -2.932641 -0.628069 -6.295262\nv 0.020623 0.077901 -0.032325\nvn 3.031380 -0.009890 -2.567312\nv -0.017436 0.077892 -0.031981\nvn -5.114396 -2.751271 -6.830199\nv -0.068245 0.080038 -0.032099\nvn 4.221874 -0.000346 -5.354240\nv -0.017648 0.080129 -0.032042\nvn -4.952275 0.076313 -3.150787\nv -0.027749 0.079821 -0.032032\nvn -3.300883 0.173053 -2.106688\nv -0.027686 0.081045 -0.032041\nvn -3.666503 -1.132568 -4.560553\nv -0.069503 0.081974 -0.031878\nvn 1.610084 1.775296 -1.716879\nv -0.051114 0.083329 -0.032144\nvn -2.563096 0.360781 -4.276446\nv 0.020912 0.083947 -0.032331\nvn -3.034645 -0.247734 -3.934549\nv -0.069602 0.084283 -0.032161\nvn -3.830969 0.893311 -5.743660\nv -0.069598 0.086161 -0.032104\nvn 1.208184 0.086599 -4.638055\nv -0.018791 0.086155 -0.032049\nvn -4.844788 0.983052 -7.507612\nv 0.020831 0.086016 -0.032070\nvn 2.215141 3.406780 -2.870392\nv -0.056104 0.087135 -0.032104\nvn -2.716273 0.682970 -4.141401\nv 0.021104 0.087764 -0.031994\nvn 0.161357 -0.870538 -6.897552\nv -0.015020 0.088217 -0.032423\nvn -1.930565 1.867239 -4.186422\nv -0.068074 0.089269 -0.031966\nvn 1.651236 3.460250 -3.194268\nv -0.060214 0.089184 -0.032103\nvn -0.476036 -0.220306 -7.943511\nv -0.016771 0.089686 -0.032467\nvn 0.284576 -0.128204 -3.954519\nv -0.014799 0.089706 -0.032548\nvn 3.362939 0.433577 -5.616161\nv 0.040537 0.089852 -0.032267\nvn 1.299232 -0.160395 -4.614242\nv -0.019056 0.089901 -0.032334\nvn -2.073489 3.652160 -6.738023\nv -0.066358 0.089964 -0.032230\nvn 0.792356 0.628928 -5.754781\nv -0.018852 0.091824 -0.032179\nvn -0.457907 0.246048 -4.964812\nv -0.016686 0.091980 -0.032305\nvn -0.281059 -0.313152 -6.912451\nv -0.014686 0.091681 -0.032481\nvn -3.327304 1.013455 -5.623381\nv 0.022906 0.091708 -0.032006\nvn 0.392149 -1.119626 -4.838644\nv -0.010889 0.091878 -0.032326\nvn 0.190032 -1.296464 -5.844994\nv -0.009190 0.091813 -0.032352\nvn 1.728178 -1.755611 -7.547523\nv -0.007095 0.091923 -0.032162\nvn 1.218212 -0.730595 -4.779343\nv -0.006743 0.093693 -0.032358\nvn 4.264328 -2.417116 -6.299006\nv 0.042386 0.093936 -0.032267\nvn -2.612988 1.558698 -3.957632\nv 0.025230 0.095550 -0.032191\nvn -1.568350 0.408239 -6.776706\nv -0.017157 0.096128 -0.032332\nvn -2.944401 2.052045 -4.793875\nv 0.026494 0.097481 -0.032181\nvn -1.345934 0.727368 -4.738340\nv -0.016559 0.097927 -0.032173\nvn 3.105751 -1.832486 -5.875926\nv -0.001121 0.099978 -0.032297\nvn -2.042717 1.536406 -3.063749\nv 0.029175 0.101669 -0.032003\nvn 1.539067 -0.573882 -3.633730\nv 0.048322 0.105531 -0.032625\nvn -3.385768 2.632510 -5.515830\nv 0.032552 0.105800 -0.032139\nvn 2.821835 -1.329914 -3.856186\nv 0.002823 0.105737 -0.032093\nvn -3.184785 1.149056 -6.073903\nv -0.014472 0.107814 -0.032207\nvn 3.025151 -1.211522 -6.171079\nv 0.050340 0.107881 -0.032101\nvn -2.643221 1.517360 -3.934545\nv 0.034945 0.109590 -0.031962\nvn 3.435690 -1.376488 -5.860720\nv 0.052193 0.111929 -0.032006\nvn 2.640706 -1.944577 -3.719689\nv 0.006588 0.112368 -0.031966\nvn -2.566922 1.316128 -4.057878\nv 0.036989 0.113067 -0.032117\nvn 2.355764 -0.886820 -5.389556\nv 0.052338 0.113871 -0.032348\nvn 1.921561 -0.419510 -4.572031\nv 0.052416 0.115725 -0.032507\nvn 3.140157 -0.321508 -5.087586\nv 0.053867 0.119583 -0.032085\nvn -3.962305 2.629102 -8.656679\nv -0.008942 0.121403 -0.032004\nvn 3.071649 -0.039031 -5.127683\nv 0.053646 0.121286 -0.032272\nvn 2.840099 -0.185376 -4.095187\nv 0.053681 0.123277 -0.032224\nvn 2.347524 -2.233817 -3.750179\nv 0.014476 0.123944 -0.032032\nvn 3.927086 -0.333245 -5.737579\nv 0.054339 0.125286 -0.032054\nvn -3.273887 1.071068 -6.047080\nv -0.007043 0.125297 -0.032035\nvn -1.913556 -1.458933 -2.919270\nv 0.037233 0.125729 -0.032165\nvn 1.784602 -1.938125 -2.976444\nv 0.016370 0.126010 -0.032044\nvn 3.400180 0.542182 -5.994587\nv 0.054123 0.127422 -0.032176\nvn -2.750729 1.609103 -6.154439\nv -0.005089 0.127578 -0.032313\nvn -3.280163 -1.779642 -4.634637\nv 0.036528 0.127679 -0.032291\nvn -2.406671 0.976368 -4.248990\nv -0.004932 0.129478 -0.032020\nvn -2.490892 -2.742519 -4.644247\nv 0.034500 0.129548 -0.031962\nvn -3.480979 1.819582 -5.715168\nv -0.004415 0.131358 -0.031896\nvn -1.078104 -3.651787 -5.745814\nv 0.032644 0.131480 -0.032369\nvn 0.851186 -3.841833 -5.715792\nv 0.026744 0.131399 -0.032128\nvn -0.570099 -3.576883 -4.756491\nv 0.030840 0.131360 -0.032044\nvn -3.469609 2.212428 -5.618279\nv -0.002856 0.132875 -0.032252\nvn -0.023851 -3.396278 -4.883267\nv 0.028842 0.131613 -0.032044\nvn 3.283620 2.118376 -7.964010\nv 0.052539 0.133126 -0.032146\nvn -3.042303 2.253001 -5.816039\nv 0.003309 0.141295 -0.032191\nvn 3.030185 1.506298 -4.895370\nv 0.048059 0.141353 -0.032260\nvn -1.933343 2.784656 -4.896418\nv 0.005211 0.143124 -0.032141\nvn 1.491909 1.557496 -4.451477\nv 0.046596 0.143298 -0.032393\nvn 2.968307 1.968317 -4.739997\nv 0.047778 0.142890 -0.031960\nvn 2.449558 2.752188 -6.985083\nv 0.044262 0.145204 -0.032339\nvn -0.741822 -0.588745 -4.793341\nv -0.042582 0.145100 -0.032075\nvn 1.482539 3.337876 -5.849539\nv 0.042425 0.147122 -0.032068\nvn -1.056571 1.568868 -2.183563\nv 0.013101 0.148338 -0.032461\nvn 3.372630 -1.945335 0.372009\nv -0.030085 0.150721 -0.031978\nvn -2.312564 -2.874117 -1.273311\nv -0.049510 0.159550 -0.031996\nvn 5.337516 1.317539 2.182446\nv -0.029787 0.161360 -0.032244\nvn -1.196948 -0.982742 -6.407997\nv -0.048509 0.172951 -0.032294\nvn 2.747261 0.969603 2.421222\nv -0.041715 0.175150 -0.032190\nvn 4.367279 0.826749 3.945653\nv -0.041733 0.176805 -0.032290\nvn 3.970197 2.312874 5.055074\nv -0.042375 0.179084 -0.032225\nvn 0.137829 -4.955100 0.368039\nv -0.032023 0.052899 -0.032137\nvn 1.302944 -1.244398 -2.242552\nv 0.050244 0.062913 -0.031848\nvn -1.375061 -2.353463 -4.179426\nv 0.024433 0.068767 -0.031822\nvn -2.636050 -1.248626 -4.029936\nv 0.021166 0.072564 -0.031891\nvn -2.340317 -2.352540 -3.733661\nv -0.063590 0.072958 -0.032029\nvn 3.283440 -1.117453 -5.404875\nv 0.044318 0.074511 -0.031814\nvn 5.756773 -0.600388 -3.771794\nv -0.017336 0.076253 -0.031712\nvn 2.508044 2.293558 -2.087128\nv -0.047005 0.079162 -0.031895\nvn 3.194109 0.108727 -3.818963\nv 0.045777 0.079842 -0.032050\nvn 3.243721 1.128317 -3.482592\nv 0.045534 0.081485 -0.032043\nvn 2.379311 -0.489916 -7.516579\nv -0.016699 0.082192 -0.031792\nvn 0.207489 -0.399055 -5.909442\nv -0.016616 0.085788 -0.031898\nvn 0.470742 -1.317779 -6.828111\nv -0.014523 0.086208 -0.032043\nvn -1.571527 0.858914 -2.373799\nv -0.069538 0.087498 -0.031808\nvn 1.215494 -0.300449 -5.634531\nv -0.018656 0.087814 -0.032101\nvn 0.722339 -0.598453 -4.894889\nv -0.013073 0.087551 -0.032133\nvn -2.776632 1.811849 -2.083978\nv -0.025685 0.087328 -0.032050\nvn -0.194236 -0.582111 -4.950189\nv -0.017257 0.087577 -0.032128\nvn 1.018487 -0.566380 -6.865969\nv -0.012660 0.089592 -0.032143\nvn -2.986599 1.416126 -4.984904\nv 0.021343 0.089573 -0.031829\nvn -1.092319 -0.320221 -5.877098\nv -0.016829 0.094008 -0.032288\nvn -1.483431 0.816386 -7.532795\nv -0.018923 0.094164 -0.031937\nvn 2.026001 -1.033956 -5.524615\nv -0.005239 0.093995 -0.031906\nvn -1.689220 0.308549 -4.658322\nv -0.018897 0.096026 -0.031932\nvn 1.464551 -1.594328 -5.571956\nv -0.004660 0.095632 -0.032039\nvn 3.268107 -1.921180 -4.624772\nv 0.044294 0.095952 -0.031867\nvn 1.904239 -1.426160 -4.281279\nv -0.002693 0.096511 -0.031927\nvn 2.324434 -1.620264 -4.038443\nv -0.001459 0.097868 -0.031839\nvn 1.922473 -1.219288 -3.272897\nv 0.045634 0.098465 -0.031943\nvn -2.251816 0.725393 -6.510126\nv -0.016804 0.099343 -0.031844\nvn 3.436100 -1.512127 -5.880992\nv 0.046320 0.099669 -0.031909\nvn -2.259183 0.184706 -4.443944\nv -0.016565 0.101375 -0.031938\nvn 1.815028 -1.357909 -3.279353\nv 0.047648 0.102335 -0.032025\nvn -2.313516 0.651724 -4.341434\nv -0.016352 0.103321 -0.031992\nvn 1.970170 -1.513664 -3.047610\nv 0.002178 0.104118 -0.031914\nvn 3.249487 -1.608258 -5.924305\nv 0.049812 0.106163 -0.031984\nvn -2.283935 1.178471 -4.270643\nv -0.014195 0.109739 -0.031857\nvn 3.191618 -1.857309 -4.699311\nv 0.004467 0.109529 -0.031908\nvn -3.144303 1.331130 -7.159252\nv -0.012936 0.111303 -0.032079\nvn -3.113787 1.337533 -6.060999\nv -0.012720 0.113314 -0.031826\nvn -1.728135 0.505124 -2.394354\nv 0.037439 0.115199 -0.031878\nvn 2.352743 -1.407661 -2.890857\nv 0.008532 0.115842 -0.032006\nvn -2.094610 0.655195 -3.315542\nv -0.010228 0.117672 -0.032039\nvn 3.497910 -0.532848 -6.017917\nv 0.053732 0.117489 -0.031932\nvn 2.468497 -2.212617 -3.711795\nv 0.012584 0.121885 -0.031966\nvn -2.140440 1.358583 -4.251926\nv -0.006612 0.126952 -0.031910\nvn 1.940846 -2.821267 -3.635852\nv 0.018605 0.127793 -0.031996\nvn 2.408271 0.353127 -4.326501\nv 0.053886 0.129393 -0.032003\nvn 1.491554 -3.673378 -4.473667\nv 0.022548 0.130106 -0.031937\nvn -2.172755 1.252961 -3.107956\nv -0.002380 0.134735 -0.031827\nvn 1.654460 0.722888 -3.555461\nv 0.052077 0.134765 -0.031889\nvn -1.420758 1.400440 -2.221376\nv 0.001277 0.139180 -0.031834\nvn -1.573612 -3.221004 -4.115557\nv -0.042444 0.141583 -0.031948\nvn 0.847359 -1.251024 -4.538436\nv -0.040771 0.141440 -0.031881\nvn -0.208591 -0.550282 -5.800790\nv -0.042721 0.143034 -0.032217\nvn 1.205723 -0.827348 -4.714235\nv -0.040582 0.143245 -0.031837\nvn -2.882924 -2.535620 -6.093928\nv -0.044561 0.143312 -0.031884\nvn -1.575482 -0.319534 -6.484944\nv -0.044336 0.145250 -0.031961\nvn -1.618182 2.089860 -2.996476\nv 0.007527 0.145027 -0.031929\nvn -1.003928 1.447682 -2.419178\nv 0.009617 0.146233 -0.032194\nvn 1.364921 2.226343 -4.224174\nv 0.040535 0.148620 -0.031815\nvn -1.261956 5.145355 -5.906827\nv 0.019106 0.151262 -0.032100\nvn -0.817214 1.757969 -2.286982\nv 0.017251 0.150820 -0.031827\nvn -2.183902 -0.236748 -3.714518\nv -0.052187 0.161355 -0.031843\nvn -2.225520 0.411971 -6.405871\nv -0.050824 0.163157 -0.031841\nvn 3.818473 1.726473 2.681925\nv -0.031948 0.167453 -0.031859\nvn -2.957705 1.050018 -5.365585\nv -0.050490 0.171145 -0.031863\nvn 1.879484 1.476466 1.808407\nv -0.033960 0.171529 -0.031899\nvn 1.156769 4.461661 1.843588\nv -0.037684 0.173774 -0.031871\nvn 0.000000 0.000000 -0.000000\nv -0.050923 0.177497 -0.032137\nvn -0.285398 5.612073 -3.679941\nv -0.081818 0.066799 -0.031227\nvn -3.079775 -2.316927 -5.813369\nv 0.022744 0.070033 -0.031749\nvn 4.680922 -0.853729 -1.506099\nv -0.017716 0.072982 -0.031787\nvn -1.741187 -1.152009 -2.123707\nv -0.065600 0.074950 -0.031859\nvn 1.746936 -0.220963 -2.854537\nv 0.045762 0.075942 -0.031774\nvn -1.735852 -1.053539 -2.208357\nv -0.067459 0.078141 -0.031815\nvn 3.146232 -0.126095 -3.867682\nv 0.046030 0.078463 -0.031783\nvn -2.907625 0.226186 -5.217526\nv 0.019375 0.080219 -0.031820\nvn -2.065003 0.500060 -3.388664\nv 0.019609 0.081117 -0.031839\nvn 2.240589 2.191206 -2.447169\nv -0.049009 0.081413 -0.031916\nvn 0.635259 -0.383772 -4.899529\nv -0.016465 0.084278 -0.031813\nvn 1.109053 -1.807075 -7.680521\nv -0.012839 0.085932 -0.031794\nvn 0.548964 -0.473580 -2.880136\nv -0.011285 0.086472 -0.031697\nvn 2.063342 1.444052 -1.417921\nv 0.043579 0.087028 -0.031791\nvn 1.492716 -0.892078 -8.780437\nv -0.010877 0.088005 -0.031752\nvn 0.489595 -0.966871 -5.858352\nv -0.010944 0.089773 -0.031847\nvn 0.740820 -1.730975 -6.663197\nv -0.009063 0.089720 -0.031821\nvn 0.610225 -0.985455 -2.715591\nv -0.007404 0.090180 -0.031783\nvn -0.658009 2.214526 -3.142998\nv -0.066018 0.090979 -0.031803\nvn 0.040928 3.574872 -4.650524\nv -0.064442 0.091064 -0.031935\nvn 0.710429 2.404538 -3.000134\nv -0.063173 0.090875 -0.031957\nvn 1.633280 -0.906352 -2.338758\nv 0.042201 0.092320 -0.031700\nvn -2.058009 1.016567 -3.273229\nv 0.023396 0.093378 -0.031740\nvn -1.472758 1.036262 -5.702902\nv -0.018565 0.097846 -0.031809\nvn 1.896488 -1.190857 -3.237154\nv 0.000116 0.100325 -0.031787\nvn 2.525174 -1.369058 -4.041083\nv 0.000629 0.101515 -0.031819\nvn -0.000000 0.000000 0.000000\nv 0.033507 0.107675 -0.031787\nvn 2.586993 -1.254067 -4.047682\nv 0.051673 0.109706 -0.031744\nvn 2.605115 -0.598290 -4.172806\nv 0.053917 0.115146 -0.031740\nvn -1.529673 0.854850 -2.413866\nv -0.011982 0.115200 -0.031774\nvn -4.084085 1.020684 -6.701410\nv -0.010291 0.119532 -0.031814\nvn -1.288953 0.726784 -2.503090\nv -0.009973 0.120828 -0.031787\nvn -1.326641 0.889451 -2.501471\nv -0.008289 0.122712 -0.031758\nvn -1.699259 -0.448026 -2.431380\nv 0.037353 0.123542 -0.031707\nvn 3.693771 0.813345 -5.758280\nv 0.053902 0.131265 -0.031946\nvn 1.455348 0.870803 -2.329088\nv 0.053762 0.132709 -0.031771\nvn 2.473292 1.093601 -5.321411\nv 0.051919 0.136725 -0.031728\nvn -1.894648 1.507594 -3.154415\nv -0.000788 0.137128 -0.031870\nvn 2.629908 1.519704 -5.149902\nv 0.049657 0.139675 -0.031737\nvn -1.569270 1.811464 -3.141209\nv 0.003639 0.142850 -0.031705\nvn -1.643398 -0.623913 -4.320601\nv -0.045677 0.145215 -0.031810\nvn 1.984564 2.237952 -3.974746\nv 0.046032 0.144819 -0.031904\nvn 1.154221 1.772522 -3.236478\nv 0.043752 0.146947 -0.031889\nvn 5.991810 -3.284746 -4.143836\nv -0.030624 0.149345 -0.030658\nvn -0.936028 2.379534 -3.030095\nv 0.015519 0.150375 -0.031804\nvn 1.522133 3.576544 -4.555430\nv 0.036576 0.150498 -0.031799\nvn 0.073795 1.733905 -2.215054\nv 0.026165 0.152452 -0.031743\nvn -0.771594 2.123920 -2.256879\nv 0.030802 0.152401 -0.031775\nvn 0.755640 1.522341 -1.463332\nv 0.032727 0.152148 -0.031787\nvn -2.924757 0.031944 -2.724585\nv -0.047423 0.155122 -0.031787\nvn -0.925379 0.654788 -2.726208\nv -0.051867 0.162365 -0.031780\nvn -2.290313 -0.263951 -3.214968\nv -0.051867 0.165308 -0.031764\nvn -2.113822 -1.085201 -2.812178\nv -0.051733 0.166607 -0.031869\nvn -0.502566 -0.689475 -3.475456\nv -0.008645 0.190167 -0.031703\nvn 0.312989 -1.632116 -5.893996\nv -0.006955 0.190733 -0.031905\nvn 0.979750 -1.109980 -2.840416\nv -0.005165 0.191111 -0.031915\nvn 0.203395 0.901908 -5.350771\nv -0.004669 0.192718 -0.031938\nvn -1.380040 1.709856 -5.195744\nv -0.006864 0.192146 -0.031831\nvn 2.901387 -1.067064 -2.994370\nv -0.002958 0.193126 -0.031879\nvn -1.034891 2.515056 -2.881971\nv -0.003959 0.194107 -0.031798\nvn 0.913264 0.937369 -1.221673\nv -0.002876 0.194171 -0.031816\nvn -0.030244 -5.996447 0.142905\nv -0.038974 0.053076 -0.031086\nvn 0.004928 -7.995734 0.116477\nv -0.036123 0.053084 -0.030774\nvn -0.030581 -2.998532 0.053826\nv -0.035173 0.053067 -0.031438\nvn 2.021143 -6.784363 1.951410\nv -0.030962 0.053203 -0.031003\nvn -1.963945 -7.638603 1.041310\nv -0.042552 0.053503 -0.030523\nvn -0.465914 -4.949269 0.251729\nv -0.040744 0.053117 -0.030689\nvn 2.935471 -3.297138 2.098260\nv -0.029040 0.054551 -0.030893\nvn -2.220512 -6.519237 1.201377\nv -0.044500 0.054150 -0.030576\nvn -1.299787 -3.723672 0.658764\nv -0.046074 0.054700 -0.030772\nvn -1.980692 -5.557370 1.048680\nv -0.047598 0.055166 -0.030954\nvn -2.203763 -5.413257 1.355551\nv -0.048376 0.055641 -0.030321\nvn 3.321910 -2.860771 2.328380\nv -0.028229 0.055876 -0.030426\nvn -2.770881 -7.246771 1.919378\nv -0.050281 0.056272 -0.030839\nvn 4.025733 -3.393083 2.795168\nv -0.027151 0.056707 -0.030918\nvn -2.096496 -5.496311 1.133658\nv -0.052186 0.056857 -0.031147\nvn -3.000234 -7.188405 1.693458\nv -0.054317 0.057799 -0.030704\nvn 3.394543 -2.786880 2.364792\nv -0.026311 0.058000 -0.030661\nvn 2.877306 -2.265815 1.577356\nv -0.025589 0.058395 -0.031239\nvn -1.658016 -6.399083 -1.069261\nv -0.081931 0.058683 -0.030641\nvn 0.127755 -4.966419 -0.277214\nv -0.080192 0.058572 -0.030676\nvn -2.589765 -6.340659 1.243197\nv -0.056248 0.058583 -0.030744\nvn 1.123367 -5.877472 -0.337873\nv -0.078229 0.058830 -0.030403\nvn 6.792973 -5.773942 4.433604\nv -0.024790 0.060017 -0.030526\nvn -4.077935 -3.341983 -2.923640\nv -0.084385 0.060089 -0.031101\nvn 1.995995 -7.723301 -0.542804\nv -0.075708 0.059468 -0.030912\nvn -2.943513 -6.257949 0.464677\nv -0.058630 0.059656 -0.030639\nvn -1.917922 -4.577219 0.163412\nv -0.060382 0.060415 -0.030578\nvn 2.119146 -6.593154 -0.887299\nv -0.073593 0.060036 -0.030934\nvn 1.922226 -4.542267 -0.801387\nv -0.072041 0.060624 -0.030881\nvn 2.956380 -2.324739 1.301881\nv -0.023649 0.060810 -0.031290\nvn -2.201160 -5.435685 -0.767418\nv -0.062910 0.061533 -0.030825\nvn 6.739434 -5.140525 2.882269\nv -0.022861 0.062151 -0.030786\nvn -5.117747 -0.722603 -2.608979\nv -0.084688 0.062413 -0.031308\nvn 2.116302 -5.510177 -1.011577\nv -0.069881 0.061604 -0.030971\nvn 1.390585 -5.736292 -0.875082\nv -0.068336 0.062042 -0.030781\nvn -0.977551 -3.726794 -0.726983\nv -0.064358 0.062096 -0.030856\nvn -1.675030 -5.420801 -1.792903\nv 0.046232 0.061951 -0.030730\nvn -0.642716 -5.038501 -2.925692\nv 0.047900 0.061619 -0.030956\nvn 2.352030 -4.209232 -5.702574\nv 0.050408 0.061947 -0.031109\nvn -0.037120 -6.705826 -1.409795\nv -0.066206 0.062393 -0.030989\nvn -2.232540 -5.437120 -0.766543\nv 0.044565 0.062592 -0.030748\nvn 6.173136 -4.758391 1.492221\nv -0.021206 0.064422 -0.030628\nvn -2.712976 -6.347262 -0.078467\nv 0.042721 0.063490 -0.030978\nvn 3.569137 0.106355 -4.503488\nv 0.052064 0.064322 -0.030947\nvn -4.047736 -0.498851 -2.824716\nv -0.085573 0.064117 -0.030758\nvn -2.015312 -5.405503 0.412458\nv 0.039192 0.064931 -0.031008\nvn -6.090087 2.772457 -5.127831\nv -0.085703 0.066102 -0.030518\nvn -1.073532 -3.687352 -0.458023\nv 0.037953 0.065372 -0.030572\nvn 5.595046 2.891059 -4.565101\nv 0.051922 0.065969 -0.030529\nvn -1.434366 3.488824 -3.002400\nv -0.084368 0.066629 -0.031186\nvn 4.144874 -2.726319 0.514288\nv -0.020247 0.065818 -0.030504\nvn -0.528068 -4.395011 -1.521975\nv 0.036363 0.065675 -0.030456\nvn 5.029080 -3.163185 0.097159\nv -0.019622 0.066662 -0.030850\nvn -0.462132 -5.770167 -2.785805\nv 0.034550 0.065993 -0.030705\nvn 1.991731 1.355879 -1.625477\nv 0.051020 0.066833 -0.031195\nvn -0.194028 3.484431 -1.391249\nv -0.079725 0.066706 -0.031317\nvn -1.563210 3.613279 -1.480968\nv -0.078212 0.066924 -0.031300\nvn -0.562890 -2.544551 -3.290255\nv 0.028539 0.066069 -0.030937\nvn -0.551649 -5.944349 -5.018061\nv 0.030922 0.066054 -0.030883\nvn -0.114462 -6.117290 -4.440830\nv 0.032704 0.066074 -0.030774\nvn -2.180440 4.710879 -3.743376\nv -0.077965 0.068161 -0.030268\nvn -1.052825 -5.023389 -7.288351\nv 0.026752 0.066372 -0.031077\nvn -0.523335 -0.762811 -0.863238\nv 0.028702 0.067075 -0.031656\nvn 5.518412 4.521410 -3.230679\nv 0.050166 0.068220 -0.030746\nvn -1.201142 4.890370 -2.791916\nv -0.075970 0.068097 -0.030896\nvn 4.558646 -1.942477 -0.501602\nv -0.018943 0.067938 -0.030872\nvn -1.015756 -2.021646 -3.286455\nv 0.025768 0.067402 -0.031447\nvn -1.175626 -2.254996 -4.294826\nv 0.024295 0.067774 -0.031290\nvn -1.110647 5.819923 -3.240864\nv -0.074081 0.068491 -0.030959\nvn -0.862900 3.601782 -1.374621\nv -0.072267 0.068832 -0.031087\nvn -2.697767 -3.291080 -6.743133\nv 0.022560 0.068072 -0.030849\nvn -1.660006 6.335417 -2.352087\nv -0.070132 0.069536 -0.030728\nvn 4.366547 4.338044 -2.157765\nv 0.048125 0.069955 -0.030667\nvn 3.856725 4.126827 -1.896106\nv 0.049218 0.069076 -0.030881\nvn -2.154496 6.842239 -3.340320\nv -0.068032 0.070306 -0.030646\nvn 6.331593 -2.074502 -1.531835\nv -0.018143 0.070202 -0.030772\nvn -1.708915 -1.245641 -3.382772\nv 0.022125 0.069738 -0.031352\nvn -2.335622 4.512262 -4.367544\nv -0.065969 0.070701 -0.031041\nvn -1.581640 2.454069 -4.997205\nv -0.064464 0.070878 -0.031342\nvn -0.615694 3.532556 -1.425374\nv -0.036438 0.070742 -0.031301\nvn -1.682102 0.353433 -3.341971\nv -0.063086 0.071424 -0.031538\nvn 0.821190 4.337069 -2.147528\nv -0.037653 0.070896 -0.031231\nvn 5.348353 3.910129 -4.439066\nv 0.046307 0.072062 -0.030684\nvn 2.834005 5.832209 -4.420874\nv -0.038542 0.071673 -0.030604\nvn -3.042578 5.025304 -5.610238\nv -0.034582 0.072029 -0.030317\nvn -3.569632 -1.789727 -5.730175\nv 0.020470 0.072097 -0.031258\nvn 4.744371 -1.003994 -1.171049\nv -0.017804 0.071975 -0.031438\nvn -3.319623 -1.704323 -5.543636\nv -0.064455 0.072271 -0.031086\nvn -2.189432 4.583996 -3.876152\nv -0.032524 0.072604 -0.030879\nvn 1.966199 1.228977 -1.593925\nv 0.044862 0.072891 -0.031360\nvn 1.981667 2.742837 -2.109011\nv -0.040232 0.072732 -0.030810\nvn -1.799524 3.978987 -1.744950\nv -0.031245 0.072970 -0.031227\nvn -2.451240 2.660474 -5.605484\nv -0.030578 0.074027 -0.030786\nvn -2.887827 3.000697 -5.059047\nv -0.028968 0.074328 -0.031211\nvn -2.156640 -0.756343 -3.279814\nv 0.020226 0.073725 -0.031509\nvn 3.100271 0.358573 -3.243147\nv 0.044603 0.073638 -0.031337\nvn 4.345593 4.525324 -3.008096\nv -0.042278 0.074424 -0.030996\nvn -6.096941 -4.258460 -6.549813\nv -0.066280 0.074197 -0.030778\nvn 5.627734 -1.504339 -3.608925\nv -0.017056 0.074080 -0.030550\nvn -4.830650 -1.447090 -7.443668\nv 0.018799 0.074219 -0.030727\nvn -2.797296 0.558260 -2.423579\nv -0.027823 0.075125 -0.031696\nvn 4.217357 -1.569232 -6.433962\nv 0.046327 0.074123 -0.030686\nvn 4.841786 4.149550 -2.850444\nv -0.044069 0.076344 -0.030941\nvn -3.313056 0.103496 -4.713018\nv -0.028424 0.076247 -0.031195\nvn 5.298828 -0.484119 -6.513933\nv 0.046574 0.075848 -0.031159\nvn -2.341045 -1.507773 -2.863174\nv -0.066836 0.075806 -0.031258\nvn -2.141046 -0.543389 -3.331989\nv 0.019039 0.076018 -0.031157\nvn 3.365970 -1.120018 -3.461794\nv -0.016588 0.075815 -0.030615\nvn -5.181370 -2.455672 -5.196322\nv -0.067950 0.076055 -0.030436\nvn -4.834849 -2.983588 -5.573759\nv -0.068259 0.077677 -0.030964\nvn 4.921087 3.806478 -3.167587\nv -0.044922 0.077712 -0.030613\nvn -4.445399 -0.875846 -6.567049\nv 0.018604 0.077884 -0.031201\nvn -2.362629 -0.000418 -5.405581\nv -0.028963 0.078087 -0.030949\nvn 4.029391 -1.078134 -5.456996\nv -0.016320 0.077935 -0.030908\nvn 2.730031 2.118408 -1.989840\nv -0.045748 0.078270 -0.031222\nvn -1.770859 -0.981108 -2.176931\nv -0.068739 0.079264 -0.031439\nvn -2.961272 0.133052 -5.032254\nv -0.028695 0.079874 -0.031055\nvn 1.977916 -0.933245 -4.469200\nv -0.016415 0.079923 -0.031401\nvn -1.983556 -0.243774 -3.438387\nv 0.019077 0.078975 -0.031668\nvn 4.702981 3.940420 -3.324844\nv -0.046613 0.079756 -0.030627\nvn 1.985472 1.577896 -1.578536\nv -0.047588 0.080538 -0.031181\nvn -4.133986 0.378242 -5.559526\nv 0.018340 0.080039 -0.031219\nvn 4.963219 0.855075 -4.784504\nv 0.046778 0.080216 -0.031048\nvn -3.625386 0.266210 -4.576889\nv -0.028654 0.081908 -0.031023\nvn 1.706335 -1.397454 -5.556314\nv -0.014754 0.080005 -0.030822\nvn 6.798769 2.873290 -4.988932\nv 0.046477 0.081842 -0.030677\nvn 6.296607 5.780610 -5.070555\nv -0.048378 0.081940 -0.030643\nvn -3.462362 0.545688 -4.825914\nv 0.018511 0.082314 -0.030966\nvn -5.613194 -2.090330 -5.217055\nv -0.070442 0.081664 -0.030870\nvn -3.691788 1.669266 -5.460513\nv -0.028673 0.084021 -0.030690\nvn 1.200086 -0.708199 -4.788696\nv -0.015573 0.082650 -0.031613\nvn 1.088353 -1.157897 -5.757414\nv -0.014414 0.083831 -0.031438\nvn 3.901257 1.534974 -2.681940\nv 0.045232 0.084180 -0.031267\nvn -3.459405 -0.527615 -3.564524\nv -0.070424 0.084137 -0.031392\nvn 0.765665 -0.640380 -4.873372\nv -0.015340 0.084342 -0.031692\nvn 6.457707 7.021765 -5.357188\nv -0.050507 0.084048 -0.030498\nvn -2.503250 1.260440 -2.709603\nv -0.027376 0.084715 -0.031362\nvn -5.229940 1.213840 -5.716887\nv 0.018535 0.084190 -0.030903\nvn 1.613729 1.864720 -1.704201\nv -0.052263 0.084834 -0.031399\nvn 1.263226 -1.809758 -6.622129\nv -0.012804 0.084065 -0.031212\nvn 0.611043 -1.165600 -3.774610\nv -0.012336 0.084960 -0.031437\nvn -3.902982 0.190214 -4.484737\nv -0.070764 0.086055 -0.031228\nvn -4.013652 1.017970 -4.260203\nv 0.018868 0.085952 -0.030742\nvn -3.907923 1.619376 -4.082337\nv -0.027162 0.086089 -0.031080\nvn 2.045942 -2.058613 -8.478232\nv -0.010581 0.085954 -0.031408\nvn 1.411982 1.948650 -1.788778\nv -0.053840 0.086517 -0.030856\nvn -2.359899 0.537963 -3.164651\nv 0.019980 0.086675 -0.031438\nvn 5.644670 3.124796 -2.578027\nv 0.044575 0.086241 -0.030754\nvn 3.397165 4.971425 -3.446042\nv -0.054612 0.087573 -0.030289\nvn -3.365114 2.317751 -4.278221\nv -0.026546 0.088019 -0.030781\nvn 4.414961 3.155078 -2.375376\nv 0.043899 0.087458 -0.030489\nvn -4.062710 1.774183 -5.366172\nv -0.070364 0.087701 -0.031136\nvn 0.591381 -0.339705 -2.913007\nv -0.010148 0.087550 -0.031580\nvn -2.941419 0.693679 -3.960625\nv 0.019952 0.087709 -0.031245\nvn -3.129322 2.124229 -3.067978\nv -0.025674 0.088262 -0.031265\nvn 1.972881 -1.712537 -7.517348\nv -0.008999 0.087793 -0.031337\nvn 3.747268 1.804973 -2.524335\nv 0.043018 0.088204 -0.031032\nvn -4.230731 2.658395 -6.197828\nv -0.070139 0.089554 -0.030612\nvn 3.489033 5.666078 -4.365087\nv -0.058448 0.089510 -0.030674\nvn 2.113410 -2.278412 -6.203718\nv -0.006633 0.089600 -0.031298\nvn -3.536289 1.231173 -4.636122\nv 0.020359 0.089854 -0.031132\nvn 3.906580 0.430810 -3.984082\nv 0.042439 0.089764 -0.030809\nvn -4.477907 2.692209 -4.411623\nv -0.024824 0.089743 -0.031096\nvn 0.000000 0.000000 0.000000\nv 0.041477 0.089475 -0.031540\nvn 1.969274 3.393249 -3.041455\nv -0.060073 0.090363 -0.030862\nvn 2.859186 6.431595 -5.459465\nv -0.062440 0.091777 -0.030678\nvn -4.254714 2.999834 -5.821094\nv -0.024643 0.091683 -0.030511\nvn -2.345442 2.947453 -4.488778\nv -0.022765 0.092112 -0.031327\nvn 2.487318 -1.784408 -5.131372\nv -0.005003 0.091496 -0.031307\nvn -5.252160 1.865893 -6.414937\nv 0.020712 0.091592 -0.030671\nvn -2.612967 3.901073 -5.122693\nv -0.068052 0.091795 -0.030514\nvn -1.072786 3.707543 -4.420320\nv -0.066373 0.092110 -0.030882\nvn -1.384714 -0.086206 -2.306104\nv 0.022052 0.091692 -0.031514\nvn 5.097096 -2.442832 -6.973502\nv 0.042723 0.091727 -0.031139\nvn 0.511317 5.056062 -4.710166\nv -0.064233 0.092291 -0.030749\nvn 1.786327 -0.876771 -4.552936\nv -0.004898 0.092800 -0.031654\nvn -0.988271 0.730019 -1.608697\nv -0.020298 0.093675 -0.031650\nvn 5.027726 -2.973760 -7.972010\nv -0.002926 0.093626 -0.030823\nvn -1.175044 0.588568 -2.708241\nv -0.020998 0.094314 -0.031117\nvn 1.733931 -0.861134 -2.283953\nv 0.043280 0.093411 -0.031438\nvn 1.605676 -1.530295 -4.453497\nv -0.003996 0.094232 -0.031483\nvn -4.340753 2.584561 -6.136847\nv 0.022376 0.094019 -0.030926\nvn -4.134745 2.453396 -5.046898\nv 0.023177 0.095784 -0.030623\nvn 2.370938 -1.758736 -3.994527\nv -0.002446 0.095678 -0.031447\nvn -2.132205 1.380598 -3.080432\nv 0.024187 0.096109 -0.031244\nvn 5.064538 -3.139174 -6.646760\nv -0.001004 0.095935 -0.030536\nvn 4.856770 -2.987213 -5.561588\nv 0.046096 0.096114 -0.030476\nvn -2.149729 0.807390 -4.394997\nv -0.019606 0.097867 -0.031439\nvn -5.928953 3.840736 -6.965669\nv 0.024571 0.097905 -0.030667\nvn 3.924222 -2.749958 -5.067847\nv 0.046703 0.097633 -0.030856\nvn 2.949879 -1.651514 -3.671943\nv -0.000580 0.097634 -0.030999\nvn -1.544668 1.126972 -2.301665\nv 0.025867 0.098359 -0.031391\nvn -2.303489 1.362476 -5.302565\nv -0.018891 0.099777 -0.031230\nvn 2.118520 -1.061927 -3.174654\nv 0.046815 0.099100 -0.031496\nvn -4.886772 3.825683 -6.450073\nv 0.026411 0.099734 -0.031012\nvn 5.380068 -3.308579 -6.333843\nv 0.001145 0.099454 -0.030550\nvn 5.017210 -2.219236 -5.695974\nv 0.048225 0.099534 -0.030549\nvn 4.333589 -2.710023 -6.100604\nv 0.048471 0.101252 -0.030962\nvn -3.884574 2.899127 -5.016602\nv 0.028140 0.101838 -0.031149\nvn -4.488393 1.591084 -7.474144\nv -0.018750 0.101677 -0.030905\nvn -2.415313 0.814738 -4.273881\nv -0.017409 0.103651 -0.031282\nvn 2.253912 -1.344170 -3.000238\nv 0.049039 0.102878 -0.031394\nvn 5.684978 -3.460579 -5.938820\nv 0.003048 0.103681 -0.030900\nvn -5.703019 4.308850 -6.907735\nv 0.028916 0.103807 -0.030600\nvn 4.203231 -2.130632 -5.147878\nv 0.050552 0.103884 -0.030532\nvn -2.151465 1.530606 -3.004078\nv 0.030192 0.104091 -0.031378\nvn -5.318743 2.417789 -7.908117\nv -0.016838 0.105844 -0.030955\nvn 3.273265 -1.391436 -3.481948\nv 0.003620 0.105861 -0.031452\nvn -4.131569 3.583477 -5.605176\nv 0.030559 0.105504 -0.030892\nvn -2.088900 1.586248 -3.019076\nv 0.031822 0.106459 -0.031299\nvn 2.811618 -1.771671 -3.709502\nv 0.050862 0.105761 -0.031177\nvn -4.798125 1.766957 -6.096090\nv -0.016666 0.107825 -0.030621\nvn 5.195118 -2.529271 -5.455207\nv 0.005063 0.107552 -0.030707\nvn -3.727174 2.917860 -5.135855\nv 0.032506 0.108001 -0.030926\nvn 2.584183 -1.345809 -4.008786\nv 0.051238 0.107050 -0.031474\nvn -2.822945 1.157940 -3.947538\nv -0.015275 0.109554 -0.031242\nvn -2.887065 1.692196 -3.704739\nv 0.034089 0.109806 -0.031159\nvn 3.618480 -1.476153 -5.756284\nv 0.052606 0.109568 -0.031103\nvn 2.931492 -1.784289 -3.621060\nv 0.005500 0.109611 -0.031203\nvn 5.856836 -3.934612 -5.511013\nv 0.007162 0.111337 -0.030730\nvn -5.874815 2.823532 -7.555001\nv 0.034481 0.111509 -0.030773\nvn 2.153552 -0.864932 -3.234729\nv 0.052826 0.111124 -0.031248\nvn -5.705264 2.154323 -6.488618\nv -0.014989 0.111691 -0.030716\nvn -2.328424 1.063993 -3.070788\nv 0.035597 0.111875 -0.031528\nvn -3.471516 1.150204 -4.691297\nv -0.014409 0.113628 -0.030790\nvn -3.336294 1.526711 -4.727701\nv 0.036019 0.113827 -0.031123\nvn -1.865323 1.098046 -3.296709\nv -0.013436 0.114152 -0.031307\nvn 4.109491 -1.479697 -5.433347\nv 0.054271 0.113567 -0.031047\nvn 6.694695 -3.969385 -6.150739\nv 0.008830 0.113871 -0.030639\nvn -4.010653 2.798870 -6.258574\nv -0.012963 0.115878 -0.030815\nvn 4.739316 -2.597649 -4.411483\nv 0.009356 0.115546 -0.031082\nvn -4.505522 1.093253 -6.498415\nv 0.036007 0.115433 -0.030761\nvn 3.087992 -0.732877 -3.798379\nv 0.054977 0.115044 -0.030891\nvn -2.172409 1.238066 -3.113702\nv -0.011661 0.116479 -0.031437\nvn 2.838453 -0.545523 -4.041119\nv 0.054985 0.117336 -0.031237\nvn -3.504736 1.100008 -4.704983\nv -0.011236 0.117688 -0.031295\nvn -3.454099 0.187955 -4.898442\nv 0.036628 0.117728 -0.031014\nvn 5.705569 -4.035865 -5.581098\nv 0.010825 0.117692 -0.030853\nvn 1.912454 -0.727107 -1.972022\nv 0.011552 0.119319 -0.031333\nvn 3.577013 -0.359382 -5.980241\nv 0.054813 0.119400 -0.031504\nvn -3.174907 0.692164 -3.791008\nv -0.011339 0.119402 -0.031004\nvn 5.580810 -3.336329 -5.905456\nv 0.012545 0.119512 -0.030339\nvn -6.024581 2.745766 -7.265095\nv -0.011086 0.121465 -0.030766\nvn -3.350417 -0.162006 -4.974253\nv 0.036562 0.121469 -0.031056\nvn 2.741830 -2.549275 -3.294665\nv 0.013040 0.121248 -0.031139\nvn 3.664994 0.151336 -5.936525\nv 0.054715 0.121475 -0.031494\nvn -1.877828 1.146925 -3.308355\nv -0.009623 0.121892 -0.031538\nvn -3.221523 1.765141 -5.903593\nv -0.009045 0.123492 -0.031194\nvn -3.877728 -0.633732 -5.778200\nv 0.036376 0.123318 -0.030985\nvn 2.740201 -0.292277 -4.143088\nv 0.054719 0.123163 -0.031447\nvn 2.663017 -0.261297 -4.187925\nv 0.055050 0.124968 -0.031462\nvn 4.065389 -4.227628 -5.415819\nv 0.017036 0.125101 -0.030852\nvn -4.860484 2.264553 -5.852363\nv -0.008835 0.125918 -0.030629\nvn -2.880960 1.225541 -3.843935\nv -0.007821 0.126230 -0.031374\nvn 3.983563 0.454720 -5.700827\nv 0.055058 0.127315 -0.031399\nvn 2.554353 -3.545557 -4.094224\nv 0.018541 0.126891 -0.031278\nvn -2.631922 1.668533 -3.859642\nv -0.007370 0.127753 -0.031069\nvn -2.132989 -1.359193 -3.052945\nv 0.035565 0.127285 -0.031274\nvn 3.391231 -5.551329 -6.207932\nv 0.020490 0.127449 -0.030659\nvn -2.106157 -1.499801 -3.032905\nv 0.035527 0.127975 -0.031643\nvn -4.194942 1.921273 -5.180056\nv -0.006969 0.129530 -0.030700\nvn 1.015311 -1.783211 -2.186167\nv 0.021176 0.128698 -0.031389\nvn 4.083675 0.554557 -5.638134\nv 0.054874 0.129517 -0.031256\nvn 1.921119 -3.763710 -4.242927\nv 0.022680 0.129259 -0.031108\nvn 1.813315 -7.081426 -6.757389\nv 0.024741 0.129415 -0.030521\nvn -2.988447 -5.527924 -7.459927\nv 0.032459 0.129625 -0.030857\nvn 0.389087 -2.747266 -2.869132\nv 0.025345 0.130425 -0.031496\nvn -0.275657 -2.528318 -3.061173\nv 0.032417 0.130424 -0.031524\nvn 0.670844 -4.971441 -4.847497\nv 0.027220 0.130535 -0.031253\nvn -0.632647 -3.434072 -3.551235\nv 0.030586 0.130544 -0.031294\nvn -2.159129 1.510062 -2.995437\nv -0.005252 0.131715 -0.031173\nvn 2.297848 0.543847 -3.205449\nv 0.054963 0.131557 -0.031021\nvn -4.417191 3.155076 -5.821584\nv -0.004885 0.133104 -0.030640\nvn 4.481624 2.137457 -6.147943\nv 0.054440 0.133214 -0.030966\nvn -2.251355 1.246677 -3.053873\nv -0.003556 0.133591 -0.031370\nvn -4.066707 2.404712 -5.111319\nv -0.003118 0.135463 -0.031030\nvn 3.505388 1.292517 -5.898133\nv 0.052943 0.134878 -0.031438\nvn -4.748466 3.258308 -5.469776\nv -0.002748 0.137090 -0.030501\nvn 2.435624 1.293318 -4.132486\nv 0.052669 0.137504 -0.031122\nvn -2.334261 2.301922 -3.752466\nv -0.001267 0.137653 -0.031276\nvn 2.888310 1.966840 -6.053490\nv 0.050818 0.139184 -0.031384\nvn -3.323361 3.073517 -5.293415\nv 0.000636 0.139646 -0.031082\nvn -0.067422 -3.374216 -3.217055\nv -0.040620 0.140489 -0.031239\nvn 1.846150 1.194534 -3.311321\nv 0.049059 0.141404 -0.031529\nvn 2.883404 2.221993 -5.934331\nv 0.050537 0.141491 -0.030876\nvn -2.825290 -4.359763 -2.597522\nv -0.042591 0.140966 -0.030622\nvn 2.113880 -2.510216 -7.000329\nv -0.038554 0.141289 -0.030993\nvn -5.217516 3.336560 -6.395857\nv 0.001228 0.141243 -0.030792\nvn -3.272388 -4.404958 -2.335175\nv -0.043717 0.141799 -0.030845\nvn -2.778573 -3.551614 -2.105196\nv -0.044638 0.142471 -0.030666\nvn 1.179621 -2.586255 -4.914072\nv -0.038376 0.143374 -0.031325\nvn -5.251583 4.904138 -6.835741\nv 0.002709 0.143131 -0.030927\nvn 3.525597 2.427051 -5.472102\nv 0.048687 0.143245 -0.030984\nvn -3.205051 -3.451328 -3.511791\nv -0.046073 0.143572 -0.030552\nvn -1.716821 2.847576 -3.717759\nv 0.004237 0.143849 -0.031248\nvn -2.177910 -1.043590 -4.099975\nv -0.046698 0.145126 -0.031322\nvn 0.000000 0.000000 0.000000\nv -0.039198 0.144075 -0.031654\nvn 3.601505 3.629114 -6.088157\nv 0.048254 0.144940 -0.030471\nvn 1.545002 -4.015790 -3.675001\nv -0.036292 0.144430 -0.031329\nvn -2.714424 4.460033 -6.042416\nv 0.005154 0.145105 -0.030602\nvn 3.503915 -3.936493 -3.608843\nv -0.034471 0.144952 -0.030869\nvn -1.646018 2.081463 -2.988511\nv 0.006688 0.145364 -0.031182\nvn 2.104656 2.492585 -3.748900\nv 0.046483 0.145535 -0.031220\nvn 2.285300 -1.922055 -2.155061\nv -0.033858 0.146258 -0.031245\nvn -3.787350 5.060074 -6.358308\nv 0.007150 0.147069 -0.030285\nvn -2.737516 3.808222 -5.159044\nv 0.008828 0.147273 -0.031157\nvn 2.650465 3.686792 -5.178732\nv 0.044507 0.147423 -0.031127\nvn -3.419204 -1.088073 -7.598465\nv -0.046157 0.147451 -0.031332\nvn -1.214478 -0.562442 -2.354320\nv -0.044856 0.147108 -0.031599\nvn 3.960609 -3.654385 -3.910804\nv -0.032505 0.147260 -0.030925\nvn -1.190801 2.379444 -2.970912\nv 0.010327 0.148125 -0.031190\nvn 3.386286 5.995741 -7.165426\nv 0.042567 0.149097 -0.030674\nvn -2.088643 4.375735 -5.010462\nv 0.010847 0.149002 -0.030631\nvn -2.699171 -0.701028 -3.940983\nv -0.046532 0.149160 -0.031292\nvn 1.538306 2.639922 -3.952466\nv 0.040680 0.149605 -0.031151\nvn -2.768152 4.057000 -4.906037\nv 0.012762 0.149465 -0.031194\nvn -1.430568 2.344544 -2.887255\nv 0.013944 0.150039 -0.031370\nvn -3.077190 -0.960653 -3.757985\nv -0.047060 0.150647 -0.031480\nvn -3.113388 5.977077 -5.869382\nv 0.014353 0.151245 -0.030537\nvn 2.411388 5.743756 -6.387200\nv 0.038596 0.151088 -0.030884\nvn 4.961653 -2.280787 -1.351054\nv -0.029901 0.151041 -0.030850\nvn -1.913944 6.182503 -6.165998\nv 0.016554 0.151486 -0.031041\nvn 1.954499 4.304308 -5.096002\nv 0.036180 0.151422 -0.031170\nvn 1.281478 2.427892 -2.859637\nv 0.034922 0.151958 -0.031429\nvn -5.390633 -0.400595 -7.100998\nv -0.048210 0.151102 -0.030547\nvn 5.446169 -1.295161 -1.010635\nv -0.029155 0.153137 -0.030679\nvn -0.748037 2.991216 -2.511640\nv 0.018727 0.151996 -0.031261\nvn -0.887399 5.949434 -5.234294\nv 0.020897 0.152820 -0.030700\nvn -0.103366 0.721736 -0.741572\nv 0.027827 0.152125 -0.031681\nvn 0.842281 3.316552 -3.584041\nv 0.033952 0.152125 -0.031615\nvn -4.695475 -0.445531 -5.146508\nv -0.048319 0.153200 -0.030653\nvn -0.615294 4.130876 -4.129848\nv 0.024649 0.153144 -0.030892\nvn 0.315583 5.803407 -5.233852\nv 0.026237 0.153316 -0.030876\nvn 0.041857 3.690405 -3.388960\nv 0.028631 0.153247 -0.030771\nvn 1.114533 4.856805 -3.670240\nv 0.032765 0.153032 -0.030723\nvn 1.799813 5.064401 -4.388398\nv 0.034665 0.152886 -0.030574\nvn -0.713088 5.357517 -4.584033\nv 0.030739 0.153325 -0.030638\nvn -4.072527 -0.275985 -4.331695\nv -0.048391 0.154743 -0.030753\nvn 6.661895 0.096357 -1.130736\nv -0.029050 0.154954 -0.030714\nvn -4.921742 -0.597201 -4.221188\nv -0.048469 0.157343 -0.030503\nvn 5.761063 0.630837 -0.724561\nv -0.029124 0.156643 -0.030562\nvn 6.618261 1.372262 -0.480200\nv -0.029518 0.158865 -0.030780\nvn -3.756893 -3.580696 -2.201789\nv -0.048746 0.158855 -0.030900\nvn 2.856533 0.539254 0.569985\nv -0.029703 0.159825 -0.031262\nvn -2.390568 -3.784437 -1.973459\nv -0.050140 0.159679 -0.030845\nvn -1.877760 -3.994500 -2.305221\nv -0.051034 0.160084 -0.030869\nvn -2.925272 -3.438866 -4.069406\nv -0.052513 0.160785 -0.030924\nvn 7.349637 2.323099 -0.128442\nv -0.029980 0.161061 -0.030647\nvn -2.724558 0.539583 -4.898231\nv -0.052421 0.163063 -0.031309\nvn 4.562580 1.577125 0.641989\nv -0.030737 0.163219 -0.030935\nvn -3.434561 -0.018481 -5.917941\nv -0.052622 0.164680 -0.031105\nvn 5.262391 2.086267 0.869151\nv -0.031301 0.164655 -0.030968\nvn -4.317112 -0.917044 -6.158883\nv -0.052602 0.166539 -0.031115\nvn 5.102245 2.275031 0.989085\nv -0.031772 0.165468 -0.030428\nvn 5.037776 2.503211 1.334054\nv -0.032359 0.166795 -0.030547\nvn -2.609172 0.539917 -4.174363\nv -0.052534 0.169024 -0.031170\nvn 6.260230 3.514460 2.899209\nv -0.033005 0.168675 -0.031006\nvn -2.142653 -1.210315 -7.163791\nv -0.052482 0.171151 -0.030853\nvn 6.650675 5.374688 4.618097\nv -0.034473 0.170861 -0.030859\nvn -1.197384 0.426507 -3.271322\nv -0.051183 0.171248 -0.031378\nvn -3.199367 0.271068 -3.234204\nv -0.054871 0.173169 -0.031011\nvn -2.477405 -2.224901 -4.338809\nv -0.054296 0.171129 -0.030577\nvn 0.291735 -2.493770 -3.931470\nv -0.051868 0.172151 -0.031469\nvn -1.475064 -0.806064 -2.845590\nv -0.050777 0.172277 -0.031505\nvn 1.577801 1.604737 1.935822\nv -0.035039 0.172210 -0.031347\nvn 4.638132 7.520560 4.008321\nv -0.036459 0.172761 -0.030825\nvn 1.463767 5.564891 1.498414\nv -0.038362 0.173498 -0.030753\nvn -4.990690 3.946430 -1.914094\nv -0.054263 0.174462 -0.030665\nvn 2.500553 7.418083 1.138941\nv -0.040789 0.174011 -0.030613\nvn 0.000000 0.000000 0.000000\nv -0.039068 0.173873 -0.031238\nvn 5.302695 4.784161 3.905039\nv -0.042529 0.174920 -0.030711\nvn 3.972261 1.419115 4.204437\nv -0.042983 0.176762 -0.031043\nvn -3.445476 3.683439 0.042275\nv -0.052375 0.176231 -0.030959\nvn -3.106587 4.988856 1.114311\nv -0.049823 0.178153 -0.030927\nvn 1.733458 0.799857 2.234617\nv -0.043017 0.178442 -0.031373\nvn -2.401933 6.714587 3.083541\nv -0.048176 0.179012 -0.030790\nvn 4.299712 4.851042 7.173420\nv -0.044390 0.178642 -0.030583\nvn -0.635971 4.438344 3.466960\nv -0.046143 0.179913 -0.031211\nvn 0.467485 2.661995 2.699974\nv -0.044794 0.179854 -0.031246\nvn 1.110776 -3.025278 -4.908793\nv -0.008967 0.188319 -0.031111\nvn 2.761458 -5.548196 -3.217121\nv -0.007072 0.188876 -0.030800\nvn -0.753940 -0.515275 -4.635260\nv -0.010860 0.188364 -0.031169\nvn -3.114928 4.666713 -4.669132\nv -0.010942 0.190446 -0.030671\nvn -2.711030 2.009255 -6.694475\nv -0.009253 0.190818 -0.031351\nvn 1.654560 -2.153807 -2.365234\nv -0.005973 0.189701 -0.031226\nvn 5.884036 -5.629972 -2.686635\nv -0.004692 0.190650 -0.030692\nvn -2.600205 4.407823 -1.865670\nv -0.007172 0.192880 -0.030979\nvn 3.567012 -0.471387 1.756578\nv -0.002907 0.192797 -0.030493\nvn -0.927750 2.635994 -2.297287\nv -0.005909 0.193455 -0.031369\nvn -1.163977 5.663477 0.934603\nv -0.004869 0.194013 -0.030565\nvn 1.832723 2.091035 0.604720\nv -0.002907 0.194431 -0.030929\nvn 0.935068 -7.577534 1.219520\nv -0.032470 0.053016 -0.030611\nvn 2.062281 -2.752146 1.794086\nv -0.030106 0.053865 -0.030553\nvn -1.599810 -3.599996 0.585484\nv -0.057516 0.059125 -0.030706\nvn 1.991604 -4.517461 -0.783389\nv -0.070992 0.061085 -0.030807\nvn 3.311841 -1.722552 -5.349987\nv 0.052364 0.062313 -0.030492\nvn -1.614201 -4.583758 -0.200190\nv 0.040654 0.064369 -0.030557\nvn -3.419389 -2.113141 -5.713695\nv 0.020516 0.069989 -0.030561\nvn 4.330325 -1.089767 -1.986137\nv -0.017355 0.072585 -0.030218\nvn -2.138285 -1.741344 -2.890781\nv -0.064923 0.073375 -0.031376\nvn 3.478374 4.468869 -3.817337\nv -0.040867 0.073466 -0.030445\nvn 2.560135 2.583921 -1.652386\nv -0.043040 0.075606 -0.030362\nvn 1.482083 -1.169612 -5.686129\nv -0.014257 0.081847 -0.031078\nvn 1.065844 -1.518149 -4.633851\nv -0.010650 0.084170 -0.030874\nvn 4.661881 6.021760 -4.699588\nv -0.052493 0.085643 -0.030711\nvn 1.269902 -0.979734 -3.658981\nv -0.008943 0.086014 -0.030916\nvn -5.649181 1.360136 -5.448302\nv 0.018932 0.087714 -0.030311\nvn 2.781473 5.277016 -3.613603\nv -0.056336 0.088118 -0.030861\nvn 1.756586 -1.600870 -4.375958\nv -0.007157 0.087843 -0.030845\nvn 1.237899 2.112320 -1.714707\nv -0.057573 0.088603 -0.031082\nvn -2.028090 2.156764 -3.991788\nv -0.068686 0.090088 -0.031281\nvn 0.363969 0.687048 -0.629336\nv -0.061280 0.090841 -0.031054\nvn 5.519197 -2.885165 -6.444742\nv 0.044384 0.093822 -0.030709\nvn -2.652057 2.367524 -5.973820\nv -0.022726 0.094041 -0.030537\nvn 2.434085 -1.542912 -2.760432\nv 0.044869 0.095234 -0.031067\nvn -3.745953 1.090881 -6.901277\nv -0.020835 0.095903 -0.030951\nvn -3.332769 1.167548 -4.824660\nv -0.020779 0.097667 -0.030746\nvn 3.599659 -1.892193 -4.390313\nv 0.001679 0.101745 -0.031138\nvn 4.243941 -2.651735 -4.886464\nv 0.052034 0.106206 -0.030433\nvn 3.921487 -1.925595 -5.310857\nv 0.052492 0.107597 -0.030803\nvn -4.178713 2.391078 -5.069839\nv 0.032903 0.109610 -0.030323\nvn 4.505775 -1.840011 -6.324525\nv 0.054196 0.111732 -0.030596\nvn 2.577220 -1.484160 -2.625322\nv 0.007877 0.113023 -0.031213\nvn 4.410624 -1.092167 -5.285293\nv 0.056233 0.117703 -0.030335\nvn -3.361254 -0.141871 -4.966323\nv 0.036562 0.119536 -0.030984\nvn 3.673343 -0.616602 -4.635451\nv 0.056505 0.119336 -0.030478\nvn 2.490791 0.047769 -4.324323\nv 0.056097 0.121503 -0.030807\nvn 3.672591 -3.700965 -4.634267\nv 0.015006 0.123060 -0.030936\nvn -3.570083 1.889748 -4.374705\nv -0.010488 0.123375 -0.030325\nvn 5.096717 -0.133455 -7.276988\nv 0.056485 0.123353 -0.030499\nvn 2.706551 -2.408045 -3.426334\nv 0.016028 0.123977 -0.030844\nvn 2.587024 0.006745 -4.259221\nv 0.056000 0.125330 -0.030971\nvn -3.957759 -2.209842 -6.215596\nv 0.035951 0.125602 -0.030999\nvn 3.766391 1.342252 -5.410120\nv 0.056419 0.127428 -0.030533\nvn -4.405570 -3.219034 -8.251111\nv 0.034532 0.127449 -0.030768\nvn -1.347010 -1.289380 -2.304153\nv 0.034073 0.128675 -0.031087\nvn -4.234851 2.183241 -5.063659\nv -0.006543 0.131076 -0.030482\nvn -0.243115 -4.203998 -4.229524\nv 0.029140 0.130688 -0.031294\nvn 3.565275 1.210884 -4.651289\nv 0.054169 0.135021 -0.030602\nvn -3.117620 2.825054 -4.253867\nv -0.001142 0.139154 -0.030361\nvn -1.625534 1.027927 -2.249307\nv 0.002102 0.141800 -0.031265\nvn -4.151804 -0.337022 -7.835149\nv -0.048387 0.147282 -0.030552\nvn -0.761453 3.884027 -3.022698\nv 0.019369 0.152694 -0.030539\nvn -1.663619 -3.519499 -3.622680\nv -0.054270 0.161275 -0.030552\nvn -2.941426 1.002156 -7.069176\nv -0.054193 0.163015 -0.030662\nvn -3.531748 4.789824 0.518935\nv -0.050981 0.177325 -0.030810\nvn -2.040431 3.768592 -1.407501\nv -0.008808 0.192161 -0.030593\nvn -1.399188 -3.323480 -1.262319\nv -0.083691 0.059078 -0.030268\nvn -2.071260 -1.925963 -4.461767\nv -0.085887 0.060436 -0.030227\nvn -2.061964 -4.479747 -0.406432\nv -0.061948 0.061090 -0.030562\nvn -0.852800 -3.950250 -2.692221\nv 0.048463 0.060969 -0.030091\nvn 0.138423 -3.909236 -4.217571\nv 0.050414 0.060815 -0.030191\nvn -4.269331 0.127289 -5.283072\nv -0.085626 0.062264 -0.030275\nvn 2.911170 -2.399160 1.312740\nv -0.022312 0.063332 -0.030040\nvn -1.424185 -2.885924 -5.044269\nv 0.024746 0.066111 -0.030555\nvn -1.623539 5.272223 -5.320137\nv -0.083919 0.067645 -0.030339\nvn -0.396656 4.362350 -4.041036\nv -0.079833 0.067488 -0.030422\nvn -0.853295 5.274437 -2.553017\nv -0.072311 0.069213 -0.030406\nvn -0.137349 3.697449 -2.967000\nv -0.036299 0.071229 -0.030345\nvn -2.848292 0.368062 -3.411850\nv -0.065776 0.072175 -0.030098\nvn -3.954812 -1.790724 -5.436968\nv 0.018942 0.072573 -0.030433\nvn -2.545024 -1.857526 -2.387449\nv -0.067374 0.074857 -0.030258\nvn -2.082158 0.417757 -6.658126\nv -0.030450 0.076000 -0.030552\nvn 2.712769 -0.565482 -2.865756\nv 0.047570 0.076094 -0.030307\nvn 2.636077 -0.050320 -2.982381\nv 0.047077 0.077925 -0.030963\nvn -4.768029 -2.210521 -4.577762\nv -0.070120 0.079769 -0.030356\nvn -4.298945 0.255852 -4.062746\nv 0.017324 0.079647 -0.030354\nvn 1.628444 -1.798444 -5.458290\nv -0.013110 0.079931 -0.030308\nvn 1.249034 -1.124932 -4.708585\nv -0.012623 0.082029 -0.030703\nvn -5.268466 0.652684 -4.484050\nv 0.017366 0.082032 -0.029905\nvn 2.459866 2.617515 -1.759933\nv -0.049380 0.083023 -0.030439\nvn 4.955110 2.286308 -2.429020\nv 0.045971 0.083691 -0.030364\nvn 2.135611 -2.011049 -6.311921\nv -0.010744 0.082188 -0.030225\nvn -5.811924 -1.094982 -5.362259\nv -0.071537 0.083967 -0.030240\nvn 2.715686 -2.638012 -7.016727\nv -0.009068 0.084199 -0.030396\nvn -4.067781 0.431311 -4.315854\nv -0.071738 0.086201 -0.030353\nvn -3.559070 1.886349 -6.805950\nv -0.028773 0.085995 -0.030050\nvn 3.645613 -2.894368 -7.619699\nv -0.006942 0.086046 -0.030155\nvn -3.462275 2.510396 -5.531457\nv -0.026475 0.089460 -0.030186\nvn 3.438067 -2.500372 -5.525062\nv -0.004711 0.089712 -0.030400\nvn -2.492444 2.351117 -3.611550\nv -0.069621 0.090907 -0.030238\nvn 1.613836 2.898923 -2.205760\nv -0.060658 0.091031 -0.030465\nvn 1.881609 -1.610153 -3.444094\nv -0.003167 0.091763 -0.030309\nvn 3.127529 -1.557980 -3.543044\nv 0.044091 0.092103 -0.030326\nvn -3.937680 2.388721 -3.797613\nv 0.021256 0.093790 -0.030131\nvn 3.735088 -2.069236 -4.181353\nv 0.000647 0.097880 -0.030107\nvn 2.624986 -1.600384 -2.526615\nv 0.047808 0.097992 -0.030124\nvn -4.750144 2.242449 -5.977479\nv -0.020954 0.099567 -0.030072\nvn -1.736836 1.391552 -1.995328\nv 0.026848 0.101651 -0.030226\nvn 4.182341 -2.041064 -3.774381\nv 0.002749 0.101813 -0.030130\nvn 2.836898 -1.870614 -3.654087\nv 0.050018 0.101936 -0.030135\nvn -3.280951 1.416235 -4.787984\nv -0.018758 0.103681 -0.030504\nvn 5.789981 -2.736821 -4.783118\nv 0.004789 0.105740 -0.030101\nvn -4.070575 3.018133 -4.787627\nv 0.030765 0.107487 -0.030011\nvn -3.265597 1.402904 -3.489768\nv -0.016572 0.109428 -0.030227\nvn 3.364999 -1.809388 -3.199168\nv 0.006519 0.109739 -0.030349\nvn -3.589398 1.169763 -4.640380\nv 0.034582 0.113414 -0.030267\nvn -3.634468 2.064369 -4.264858\nv -0.014427 0.115253 -0.030124\nvn 2.104579 -1.230479 -1.743138\nv 0.010226 0.116160 -0.030424\nvn 4.715270 -1.110977 -5.022630\nv 0.055770 0.115420 -0.030188\nvn -4.879888 1.948082 -5.968382\nv -0.012658 0.117497 -0.030229\nvn 3.972086 -3.572793 -4.497584\nv 0.014324 0.121646 -0.030227\nvn 1.855967 -2.363622 -2.628206\nv 0.018360 0.125868 -0.030466\nvn -3.909505 1.967307 -4.096024\nv -0.008416 0.127432 -0.030290\nvn 2.952352 0.447478 -3.985430\nv 0.056231 0.129081 -0.030416\nvn 0.760426 -5.174991 -4.640140\nv 0.026915 0.129775 -0.030430\nvn -0.729538 -3.701308 -3.263968\nv 0.030871 0.129733 -0.030431\nvn -3.606383 2.390838 -4.141091\nv -0.004597 0.134638 -0.030121\nvn 3.263945 1.596299 -4.807907\nv 0.054079 0.137114 -0.030271\nvn 3.331394 1.931848 -4.545162\nv 0.052325 0.139399 -0.030521\nvn -0.806185 -3.848220 -4.139111\nv -0.040190 0.139649 -0.030165\nvn -0.100568 -2.749195 -7.308476\nv -0.038510 0.139303 -0.030059\nvn 3.304648 2.946226 -5.349432\nv 0.050381 0.143021 -0.030120\nvn 1.664294 -1.697204 -5.380407\nv -0.036577 0.143188 -0.030590\nvn -2.046290 2.795265 -3.571771\nv 0.003455 0.144808 -0.030113\nvn -2.653025 -2.676749 -4.337204\nv -0.048219 0.145288 -0.030289\nvn 3.131126 -2.606005 -7.958233\nv -0.032569 0.144994 -0.030071\nvn 2.643841 3.179148 -4.381866\nv 0.046063 0.147101 -0.030266\nvn 2.549252 -1.554758 -5.164821\nv -0.030776 0.147493 -0.030009\nvn -1.855681 3.053467 -3.482660\nv 0.009313 0.148746 -0.030174\nvn 1.952358 2.906424 -3.525145\nv 0.044330 0.148784 -0.030212\nvn -2.447305 -0.205240 -4.276066\nv -0.048056 0.149265 -0.030499\nvn -2.295699 3.852392 -3.974482\nv 0.012925 0.150548 -0.030303\nvn 1.352840 2.455913 -2.825504\nv 0.040339 0.150575 -0.030592\nvn 3.947970 -0.973934 -2.787629\nv -0.029354 0.151315 -0.029996\nvn -1.071117 3.906085 -2.927738\nv 0.017337 0.152400 -0.030136\nvn 1.298193 3.532359 -3.247008\nv 0.036128 0.152522 -0.030250\nvn -0.445519 4.471058 -3.944496\nv 0.022796 0.153202 -0.030507\nvn -4.320409 0.301322 -6.296529\nv -0.054075 0.168783 -0.030295\nvn 3.107023 2.289775 0.852650\nv -0.033831 0.169546 -0.030475\nvn -3.715731 -1.667057 -5.772928\nv -0.055655 0.171036 -0.030007\nvn -3.194374 0.921595 -1.895477\nv -0.055649 0.172779 -0.030111\nvn -0.729425 0.787447 0.030602\nv -0.053260 0.175469 -0.030738\nvn 0.130133 2.956203 2.512197\nv -0.046313 0.179168 -0.030356\nvn 0.460592 -2.975310 -5.397824\nv -0.012566 0.186367 -0.030318\nvn 1.028204 -4.365379 -4.388330\nv -0.010863 0.186982 -0.030519\nvn -1.522250 0.161351 -5.403067\nv -0.012709 0.188462 -0.030782\nvn 1.362494 -2.126530 -1.057625\nv -0.009301 0.187368 -0.030297\nvn -2.031075 3.054249 -3.110976\nv -0.012656 0.189920 -0.030111\nvn 2.286075 -3.085879 -0.443269\nv -0.005785 0.189511 -0.030437\nvn 2.498637 -1.612870 1.476884\nv -0.003870 0.191407 -0.030251\nvn 1.338529 -2.466060 -5.040625\nv 0.052336 0.060801 -0.029872\nvn -2.259319 -3.077656 -5.807619\nv 0.022816 0.066116 -0.029949\nvn -1.284875 1.506181 -1.721646\nv -0.085393 0.067262 -0.030209\nvn -3.199720 -2.606070 -5.635276\nv 0.020942 0.068129 -0.030069\nvn -0.261427 4.357657 -2.228686\nv -0.074140 0.069309 -0.030010\nvn -0.937328 1.067677 -3.615696\nv -0.032743 0.074159 -0.029949\nvn -4.501510 -0.777215 -5.238294\nv 0.017420 0.075898 -0.030021\nvn -1.469701 -0.009878 -4.777083\nv -0.030840 0.077886 -0.030427\nvn -4.282563 -0.402857 -4.111785\nv 0.017332 0.077937 -0.030263\nvn 5.163277 0.071171 -4.652617\nv 0.047620 0.077881 -0.030419\nvn -3.419015 -1.999288 -3.023390\nv -0.069721 0.078129 -0.029865\nvn 2.751749 -2.323750 -7.107535\nv -0.014482 0.077900 -0.029957\nvn -1.399040 0.194497 -4.789605\nv -0.030704 0.080009 -0.030456\nvn 4.800915 1.263704 -3.252415\nv 0.047667 0.079942 -0.030109\nvn -2.368895 1.001508 -7.546585\nv -0.030689 0.082034 -0.030249\nvn -2.226239 -0.766491 -1.819481\nv -0.071142 0.081920 -0.030154\nvn -3.092377 1.036753 -3.758194\nv -0.071678 0.087697 -0.030084\nvn -2.858201 1.829745 -4.929193\nv -0.027883 0.087765 -0.030101\nvn 2.418465 -1.628686 -4.035801\nv -0.005270 0.088070 -0.030001\nvn -2.418333 1.117190 -2.936688\nv -0.071125 0.089087 -0.030117\nvn -3.498408 1.349457 -3.250206\nv 0.019330 0.089531 -0.030309\nvn -1.732080 1.363516 -3.298028\nv -0.024221 0.093496 -0.030167\nvn 2.299091 -1.558953 -2.873487\nv -0.001504 0.094633 -0.030223\nvn -3.402776 2.037783 -5.724466\nv -0.022595 0.095805 -0.029843\nvn -1.821908 1.368611 -1.873852\nv 0.024885 0.099273 -0.030166\nvn 2.672742 -1.373264 -2.620520\nv 0.002008 0.100325 -0.030212\nvn -1.799948 1.020730 -2.171644\nv -0.020180 0.100856 -0.030121\nvn -1.510719 1.671401 -1.784172\nv 0.029391 0.105661 -0.029893\nvn 2.837334 -1.508345 -2.361201\nv 0.006154 0.108151 -0.029900\nvn 3.654410 -1.271833 -4.531250\nv 0.053960 0.110009 -0.030253\nvn -3.871401 0.891581 -4.432837\nv 0.034929 0.115456 -0.030050\nvn -3.372826 0.759855 -3.602843\nv -0.012392 0.119349 -0.030044\nvn -2.763462 1.047936 -2.597941\nv -0.012052 0.120924 -0.030078\nvn -4.792273 -1.237443 -6.133191\nv 0.034605 0.123536 -0.029941\nvn -2.433313 -1.209569 -4.109611\nv 0.034221 0.125469 -0.030233\nvn -2.571295 -1.672566 -3.865957\nv 0.032890 0.127705 -0.030021\nvn -0.111043 -4.494049 -3.938291\nv 0.029052 0.129735 -0.030140\nvn 4.775433 1.242576 -6.207052\nv 0.056296 0.131398 -0.030218\nvn 2.959007 1.397610 -3.777109\nv 0.055644 0.133305 -0.029977\nvn 1.222472 -1.078691 -5.702267\nv -0.036759 0.140848 -0.030313\nvn 4.048092 2.116498 -5.206741\nv 0.052065 0.141493 -0.030001\nvn -1.880260 1.347029 -1.845261\nv 0.001386 0.142845 -0.030013\nvn 1.782555 -2.079232 -6.330244\nv -0.034687 0.143324 -0.030163\nvn -1.735498 -1.698543 -3.786135\nv -0.055902 0.161522 -0.029940\nvn -2.054431 1.131378 -4.105068\nv -0.055999 0.162923 -0.029926\nvn -2.914853 0.564410 -5.089371\nv -0.054345 0.164827 -0.029933\nvn -2.902446 -0.119102 -5.194986\nv -0.054099 0.166700 -0.030330\nvn 2.008900 2.077006 0.792869\nv -0.035565 0.171725 -0.030240\nvn 1.057479 3.824872 0.376025\nv -0.040224 0.173816 -0.030189\nvn 4.091255 1.862708 3.751012\nv -0.043912 0.176648 -0.030025\nvn -0.791550 -0.038977 -4.792702\nv -0.014656 0.186715 -0.030296\nvn -2.297690 2.357382 -5.571197\nv -0.014386 0.188449 -0.030118\nvn -1.622130 -4.529384 1.352408\nv -0.052673 0.057348 -0.030037\nvn -0.540002 -2.266645 -3.217912\nv 0.025319 0.064968 -0.029995\nvn -0.164952 -3.699170 -4.709626\nv 0.026741 0.064741 -0.029911\nvn 0.151242 -3.863526 -4.584046\nv 0.028715 0.064750 -0.029845\nvn 0.237590 -3.891758 -4.553985\nv 0.030685 0.064811 -0.029879\nvn 0.121646 3.596962 -3.459612\nv -0.082458 0.067920 -0.030122\nvn -1.068980 5.597009 -3.549071\nv -0.076053 0.069172 -0.030048\nvn 1.517008 1.403616 -1.578393\nv 0.047322 0.070925 -0.030037\nvn -2.509256 -0.609664 -3.029948\nv 0.017517 0.074277 -0.029858\nvn 3.217634 -1.101677 -3.654465\nv 0.047631 0.074814 -0.029854\nvn -1.576759 0.390761 -6.776728\nv -0.032506 0.076131 -0.029895\nvn -1.521231 -0.061884 -5.788805\nv -0.032521 0.078027 -0.029855\nvn -1.686628 0.212721 -6.770761\nv -0.032378 0.080119 -0.029955\nvn 1.240254 -1.191941 -3.574743\nv -0.011347 0.080394 -0.029954\nvn -2.074399 1.661179 -6.389063\nv -0.030528 0.084035 -0.029893\nvn 1.222447 -1.107656 -2.493288\nv -0.007667 0.084575 -0.029942\nvn 2.389587 2.659696 -1.733446\nv -0.051273 0.085165 -0.030037\nvn 2.550148 -1.230547 -2.799991\nv 0.043577 0.090525 -0.030037\nvn 2.530555 -1.618067 -2.636284\nv 0.045502 0.094725 -0.030112\nvn -2.311774 0.704441 -3.180070\nv -0.021873 0.097035 -0.030037\nvn -1.602312 1.119395 -2.215122\nv -0.018671 0.105708 -0.029854\nvn -2.393612 1.251647 -2.949829\nv 0.033409 0.111306 -0.029985\nvn 2.114884 -1.343419 -1.634826\nv 0.008227 0.112225 -0.030175\nvn 3.158840 -0.855197 -3.769630\nv 0.055659 0.113189 -0.029874\nvn -4.551480 0.132766 -5.206554\nv 0.035051 0.117883 -0.029915\nvn -3.983857 -0.176620 -4.380252\nv 0.035098 0.119488 -0.030037\nvn -3.154655 -0.262421 -3.792969\nv 0.035045 0.121500 -0.030037\nvn 3.311548 -0.063555 -3.655162\nv 0.057288 0.121325 -0.030037\nvn 4.595148 -0.150233 -5.150759\nv 0.057650 0.125481 -0.029854\nvn -2.145357 -1.002669 -3.136045\nv 0.033443 0.126342 -0.030046\nvn 2.429745 -3.802194 -3.948592\nv 0.020043 0.126355 -0.029879\nvn 1.592321 0.848715 -2.082728\nv 0.057311 0.127351 -0.030018\nvn 1.699712 -3.275283 -3.358209\nv 0.022456 0.127949 -0.029996\nvn -2.308856 1.752831 -2.726490\nv -0.006152 0.132792 -0.029874\nvn 0.366718 -1.057894 -4.860312\nv -0.036340 0.139541 -0.030027\nvn -2.565597 2.268973 -3.620500\nv -0.000406 0.140771 -0.029829\nvn 0.996158 2.794950 -2.629715\nv 0.037802 0.152155 -0.030112\nvn 2.025026 1.095438 1.492938\nv -0.043610 0.175506 -0.030074\nvn -1.597005 -0.093618 -4.602332\nv -0.016344 0.186513 -0.029909\nvn 0.170246 -2.893653 -4.775365\nv -0.014873 0.185339 -0.029904\nvn 0.743573 -5.572964 1.452919\nv -0.034366 0.053159 -0.028865\nvn -2.081727 -6.294365 1.960891\nv -0.042366 0.053712 -0.028965\nvn -0.793937 -4.869771 0.619906\nv -0.040248 0.053195 -0.028929\nvn 0.188506 -6.892270 0.908176\nv -0.036147 0.053079 -0.028928\nvn 0.903513 -2.476853 1.164942\nv -0.032989 0.053240 -0.029260\nvn 2.981866 -6.944286 5.215839\nv -0.032369 0.054063 -0.028476\nvn 0.142115 -1.391018 0.554813\nv -0.031673 0.053425 -0.029713\nvn 2.922861 -3.753574 3.518760\nv -0.030857 0.054532 -0.029061\nvn -1.978591 -5.416556 1.592278\nv -0.044583 0.054631 -0.028803\nvn -2.512371 -7.293617 1.848269\nv -0.046153 0.055097 -0.028883\nvn -2.947530 -6.915926 2.495541\nv -0.048317 0.056096 -0.028391\nvn -1.887674 -4.422979 1.348342\nv -0.049833 0.056634 -0.028790\nvn 5.833293 -5.678436 5.668741\nv -0.029184 0.056453 -0.028895\nvn -1.462521 -3.521273 1.202869\nv -0.054573 0.058540 -0.028635\nvn 4.606052 -4.663177 3.890153\nv -0.027318 0.058381 -0.029036\nvn -0.614523 -5.886385 -0.680709\nv -0.081993 0.058433 -0.028873\nvn -2.199510 -5.271291 1.824240\nv -0.055587 0.058878 -0.028914\nvn 1.520034 -6.824826 -0.275232\nv -0.077879 0.058805 -0.028571\nvn -1.364700 -1.191001 -4.300764\nv -0.087783 0.060225 -0.029377\nvn -0.345827 -4.722088 -2.308263\nv -0.086029 0.059037 -0.028903\nvn -1.806225 -6.106186 -1.636608\nv -0.084027 0.058779 -0.028674\nvn 1.270208 -5.844978 -0.420920\nv -0.075424 0.059383 -0.028694\nvn -2.615698 -7.211549 2.209809\nv -0.058004 0.059903 -0.028587\nvn 1.300719 -4.795854 -0.469386\nv -0.073720 0.059748 -0.028813\nvn 2.160684 -5.544093 -0.734931\nv -0.072144 0.060284 -0.028836\nvn 3.033655 -3.486588 0.686919\nv -0.025284 0.060704 -0.029045\nvn -2.021561 -5.522283 1.130832\nv -0.060080 0.060598 -0.028692\nvn -2.329293 -5.815386 -2.866090\nv 0.048684 0.060148 -0.028644\nvn -0.824790 -4.329447 -3.850540\nv 0.050651 0.059755 -0.029061\nvn 2.705444 -6.380220 -0.972097\nv -0.070611 0.060867 -0.028438\nvn 0.416526 -2.237986 -3.169978\nv 0.052728 0.059757 -0.029263\nvn -2.842547 -7.322289 1.247487\nv -0.062460 0.061462 -0.028787\nvn -2.674954 -6.070361 -2.101573\nv 0.046731 0.061122 -0.028842\nvn -1.603835 -7.712480 0.598833\nv -0.064340 0.062056 -0.028997\nvn -2.097959 -4.387848 -1.116790\nv 0.045857 0.061602 -0.029081\nvn 4.107415 0.233857 -5.370638\nv 0.054415 0.062098 -0.029137\nvn 1.818236 -5.673492 -0.444168\nv -0.068159 0.061836 -0.028387\nvn 0.360701 -4.913516 -0.075818\nv -0.066235 0.062276 -0.028935\nvn -2.217893 0.998441 -3.092060\nv -0.086510 0.062875 -0.029571\nvn -3.579801 -6.974141 -1.362949\nv 0.044539 0.062175 -0.028479\nvn -4.571241 0.463518 -3.688752\nv -0.086662 0.064561 -0.029142\nvn -2.016721 -4.437177 -0.812606\nv 0.042281 0.063419 -0.028734\nvn 2.867246 0.016760 -2.489839\nv 0.053377 0.063750 -0.029831\nvn 4.250890 -3.888144 -0.017938\nv -0.022166 0.064029 -0.028910\nvn -1.539096 -5.355665 -1.827916\nv 0.040638 0.063999 -0.028575\nvn -1.450047 -4.730562 -7.434735\nv 0.024602 0.064048 -0.029134\nvn 0.175621 -1.975058 -2.251212\nv 0.033077 0.064800 -0.029632\nvn 0.119277 -3.352253 -3.698938\nv 0.034062 0.064905 -0.029642\nvn -0.952432 -6.613772 -3.770437\nv 0.038603 0.064379 -0.028612\nvn 4.290630 1.936310 -3.673669\nv 0.053323 0.064913 -0.029446\nvn -4.245137 1.527932 -1.283278\nv -0.086546 0.066022 -0.028914\nvn 0.421861 -4.003450 -4.430300\nv 0.034625 0.063976 -0.028805\nvn 5.922208 -4.625463 -1.142279\nv -0.020393 0.066022 -0.028930\nvn 4.098020 3.266211 -2.763308\nv 0.052839 0.066541 -0.028878\nvn -1.160899 -1.251414 -2.430222\nv 0.022084 0.065761 -0.029481\nvn -4.852932 3.748985 -1.647849\nv -0.085796 0.067732 -0.028895\nvn 3.795521 4.004140 -2.216293\nv 0.051799 0.067723 -0.028686\nvn 5.981033 -5.009504 -3.314493\nv -0.018585 0.067977 -0.028470\nvn -2.363392 4.651838 -1.878338\nv -0.084383 0.068770 -0.028954\nvn -0.104727 8.557926 -2.311331\nv -0.079810 0.068821 -0.028863\nvn -0.098141 4.720674 -3.629126\nv -0.082336 0.068820 -0.029191\nvn 4.590229 4.564968 -2.432990\nv 0.050545 0.068644 -0.028887\nvn -3.979635 -2.552894 -5.127902\nv 0.018789 0.067973 -0.028570\nvn -1.279172 6.457598 -0.907438\nv -0.077866 0.069237 -0.028761\nvn 3.993024 -2.072033 -1.756700\nv -0.018065 0.069644 -0.029245\nvn -4.860661 -2.579326 -5.722206\nv 0.018407 0.069806 -0.029087\nvn 3.880165 2.456097 -3.099507\nv 0.048828 0.070392 -0.028850\nvn -0.181875 5.326398 0.613301\nv -0.075893 0.069553 -0.028688\nvn -0.281699 4.849050 -0.624486\nv -0.074292 0.069702 -0.028734\nvn -0.505188 6.729247 -0.220527\nv -0.072269 0.069720 -0.028922\nvn -1.628755 5.494327 -0.823130\nv -0.070284 0.070092 -0.028803\nvn -2.120399 -1.155310 -3.181174\nv 0.019252 0.070575 -0.029993\nvn -2.906783 4.670352 -0.518720\nv -0.068624 0.070840 -0.028658\nvn 4.325642 -2.645041 -4.479937\nv -0.016450 0.071878 -0.028873\nvn 3.995287 1.006647 -5.157437\nv 0.048282 0.072072 -0.029003\nvn -2.308013 3.740919 -2.137650\nv -0.067493 0.071270 -0.028896\nvn -4.282850 0.321279 -2.723611\nv -0.066767 0.072158 -0.028715\nvn -0.431180 2.193840 -4.028252\nv -0.036360 0.072397 -0.029401\nvn 1.316410 2.864426 -4.560303\nv -0.038288 0.072711 -0.029309\nvn -3.053448 -1.264084 -3.686681\nv 0.017698 0.072851 -0.029647\nvn 1.958564 3.480065 -5.000504\nv -0.040631 0.074421 -0.029079\nvn -1.109276 1.232074 -5.636926\nv -0.033773 0.074162 -0.029789\nvn 3.379874 -2.053564 -5.632044\nv -0.015922 0.074152 -0.029419\nvn 1.639784 1.943802 -1.459489\nv -0.041901 0.074942 -0.029507\nvn -6.321551 -5.009838 -3.634468\nv -0.068186 0.074201 -0.028442\nvn 3.905285 4.022976 -5.224932\nv -0.042565 0.076105 -0.028990\nvn -0.841004 0.226636 -4.920057\nv -0.034065 0.075999 -0.029687\nvn 2.224305 -1.299006 -4.235945\nv -0.015261 0.076271 -0.029800\nvn 1.795367 -1.317960 -4.472693\nv -0.014436 0.076055 -0.029441\nvn 4.319063 -0.391122 -4.044265\nv 0.048790 0.075764 -0.029031\nvn 2.623466 2.369079 -1.799987\nv -0.043586 0.076684 -0.029492\nvn -4.794497 -0.505197 -3.549360\nv 0.016362 0.076233 -0.028815\nvn 4.136063 3.290765 -5.314663\nv -0.044322 0.078134 -0.028935\nvn 6.521272 1.734452 -3.978425\nv 0.048848 0.077949 -0.028609\nvn -5.233284 -3.044595 -3.467668\nv -0.070331 0.077800 -0.028818\nvn 0.722161 -0.638794 -1.750938\nv -0.012990 0.078448 -0.029718\nvn 1.418907 -1.428473 -3.435943\nv -0.012479 0.077797 -0.029305\nvn 5.363106 4.115318 -5.357311\nv -0.045991 0.080290 -0.029087\nvn 4.410948 1.549042 -1.534422\nv 0.048403 0.080091 -0.028644\nvn -1.112788 -0.048911 -4.868941\nv -0.033804 0.079675 -0.029670\nvn 2.739227 -2.474745 -5.905929\nv -0.010393 0.079557 -0.029183\nvn -2.980058 -1.453598 -2.222443\nv -0.070856 0.079258 -0.029167\nvn -5.768331 0.530308 -3.848627\nv 0.016283 0.079700 -0.028968\nvn -5.041041 0.693047 -3.150465\nv 0.016604 0.081878 -0.028836\nvn 5.028708 2.469203 -1.836055\nv 0.047792 0.081477 -0.028817\nvn -1.664670 1.215839 -7.689109\nv -0.032604 0.082017 -0.029767\nvn 2.041239 1.632175 -1.382585\nv -0.047201 0.081425 -0.029687\nvn 4.319865 4.106771 -3.498371\nv -0.047828 0.082495 -0.029069\nvn 0.000000 0.000000 0.000000\nv -0.009642 0.082213 -0.029841\nvn -7.078489 -2.355421 -4.936289\nv -0.072220 0.081994 -0.028808\nvn -0.801443 0.843663 -3.793305\nv -0.033011 0.082646 -0.029603\nvn 4.236605 1.989514 -1.555756\nv 0.047107 0.082630 -0.028935\nvn -0.947506 0.738247 -3.815265\nv -0.031673 0.083175 -0.029772\nvn 3.413663 3.998295 -2.828507\nv -0.048719 0.083658 -0.028564\nvn -2.298606 0.553042 -1.736615\nv 0.017327 0.083743 -0.029687\nvn 4.310849 2.199641 -1.021968\nv 0.046646 0.083890 -0.028607\nvn -1.241690 0.997264 -4.736440\nv -0.031206 0.084575 -0.029622\nvn 3.852442 -3.102291 -6.260053\nv -0.006810 0.083796 -0.029102\nvn -7.483077 1.473797 -4.621100\nv 0.016669 0.084143 -0.028511\nvn 3.583617 4.270968 -2.149991\nv -0.050767 0.085652 -0.028244\nvn -4.780672 1.230853 -3.383317\nv 0.017265 0.085752 -0.028834\nvn -3.782771 -0.144955 -3.202421\nv -0.072838 0.086082 -0.029188\nvn 5.101624 -3.319402 -6.595777\nv -0.004935 0.086079 -0.028852\nvn 5.873466 3.506422 -1.116530\nv 0.045716 0.085560 -0.028453\nvn 3.931084 5.252363 -2.327164\nv -0.051937 0.086426 -0.028749\nvn 2.083514 -1.473949 -3.047557\nv -0.005751 0.086500 -0.029687\nvn -3.916528 0.947513 -2.943228\nv 0.017825 0.086484 -0.029306\nvn 3.385624 1.980877 -0.658401\nv 0.045081 0.086470 -0.028686\nvn 4.875780 7.025758 -2.696707\nv -0.054178 0.087987 -0.028673\nvn 6.886463 2.025441 -2.507418\nv 0.044337 0.087794 -0.028936\nvn 3.507459 -2.110683 -4.383167\nv -0.004326 0.087632 -0.029078\nvn -5.860381 0.928370 -5.102828\nv -0.072610 0.087765 -0.029154\nvn -2.252552 2.017190 -5.148866\nv -0.029257 0.088025 -0.029271\nvn 1.805509 3.163568 -1.585398\nv -0.055649 0.088705 -0.029346\nvn 3.420717 5.533391 -2.403382\nv -0.056425 0.089509 -0.028522\nvn 5.239548 -1.078076 -4.035837\nv 0.044447 0.089768 -0.028716\nvn -4.668110 1.641320 -3.331976\nv 0.018392 0.090032 -0.028911\nvn -6.600403 3.707737 -6.404642\nv -0.072215 0.089910 -0.028755\nvn 3.152413 4.519900 -2.230875\nv -0.057891 0.090364 -0.028892\nvn -2.531039 1.799223 -3.900514\nv -0.027227 0.090225 -0.029334\nvn 4.027574 -2.866359 -5.233152\nv -0.002675 0.089628 -0.028742\nvn -2.633494 1.558303 -3.952603\nv -0.026073 0.090875 -0.029870\nvn 0.341140 -0.679397 -1.047492\nv -0.002973 0.090802 -0.029687\nvn -5.261707 2.574756 -3.778701\nv 0.019073 0.091780 -0.028685\nvn 4.089499 6.763017 -4.260000\nv -0.060095 0.091640 -0.029019\nvn -3.882817 2.204132 -5.384055\nv -0.026765 0.091997 -0.028958\nvn 5.140774 -2.777434 -5.441592\nv -0.002156 0.091575 -0.029305\nvn 4.305280 -2.091220 -3.554615\nv 0.045106 0.091579 -0.029050\nvn -3.379369 3.810416 -4.739243\nv -0.070250 0.091972 -0.028969\nvn -2.219642 5.890019 -4.706427\nv -0.068038 0.093811 -0.028552\nvn 2.414990 5.468906 -3.588103\nv -0.062638 0.093471 -0.028471\nvn 1.697742 2.979841 -2.056219\nv -0.061650 0.092597 -0.028936\nvn -0.938875 2.766070 -2.609252\nv -0.067460 0.093099 -0.029699\nvn -2.875379 1.362089 -2.409136\nv 0.019993 0.092712 -0.029345\nvn 0.933804 3.110190 -2.290742\nv -0.063523 0.093005 -0.029687\nvn -3.422904 2.515853 -5.512650\nv -0.024798 0.094436 -0.029377\nvn -4.461762 2.544899 -3.050009\nv 0.020300 0.094042 -0.028851\nvn -0.171870 4.820609 -3.494015\nv -0.066084 0.094038 -0.028707\nvn 5.543982 -3.282345 -6.257865\nv -0.000807 0.093822 -0.029147\nvn -4.015072 2.547757 -3.626057\nv 0.022009 0.096255 -0.029149\nvn 1.963261 -1.133141 -1.952126\nv 0.047053 0.095744 -0.029359\nvn 5.105524 -3.072196 -5.324892\nv 0.001010 0.096031 -0.028786\nvn -2.614300 1.687997 -2.497877\nv 0.022927 0.096825 -0.029790\nvn 5.385071 -3.282573 -4.913343\nv 0.047954 0.096080 -0.028599\nvn -5.640119 3.704493 -4.245803\nv 0.022641 0.097766 -0.028715\nvn -4.015132 1.788898 -5.414698\nv -0.022735 0.097882 -0.029147\nvn 4.899128 -3.014574 -3.932664\nv 0.048380 0.097573 -0.029130\nvn -5.332582 3.858933 -4.444805\nv 0.024514 0.100047 -0.029074\nvn -1.963836 0.940575 -2.060830\nv -0.021397 0.099942 -0.029496\nvn 4.957079 -2.400315 -4.309919\nv 0.002784 0.099594 -0.028867\nvn 1.952421 -0.963926 -1.997144\nv 0.049294 0.099450 -0.029513\nvn 7.062304 -4.562643 -6.860600\nv 0.050300 0.099625 -0.028569\nvn 3.072239 -1.716136 -3.509450\nv 0.050945 0.101568 -0.029273\nvn -5.997084 2.443618 -6.151989\nv -0.020917 0.101781 -0.029054\nvn -4.430336 3.268894 -4.262902\nv 0.026142 0.102028 -0.029299\nvn 8.705931 -4.191301 -7.057933\nv 0.004935 0.103286 -0.028414\nvn -2.391473 1.903822 -2.534653\nv 0.027477 0.103125 -0.029874\nvn -3.237945 1.056920 -3.613080\nv -0.019845 0.103650 -0.029702\nvn 2.107283 -1.158700 -1.782125\nv 0.004181 0.103869 -0.029747\nvn -6.698669 5.100054 -5.300493\nv 0.026577 0.103607 -0.028419\nvn -5.625391 3.388611 -5.802209\nv -0.019281 0.105989 -0.029210\nvn 6.496462 -3.580552 -6.631886\nv 0.052487 0.103720 -0.028592\nvn -6.436194 4.889904 -5.533167\nv 0.028555 0.106012 -0.028733\nvn 2.243399 -1.040839 -1.697731\nv 0.005589 0.105147 -0.028706\nvn 1.846257 -1.180730 -2.048709\nv 0.052949 0.105570 -0.029243\nvn -6.899457 3.028686 -6.349399\nv -0.018820 0.107864 -0.028789\nvn 5.434837 -2.766899 -5.023385\nv 0.054652 0.107698 -0.028807\nvn -1.936425 0.541032 -2.138851\nv -0.018023 0.107464 -0.029687\nvn 5.754955 -2.998249 -4.660629\nv 0.007005 0.107673 -0.028466\nvn 1.944393 -0.889880 -1.991841\nv 0.053901 0.108027 -0.029844\nvn -3.994771 1.940164 -4.008870\nv -0.017337 0.109635 -0.029383\nvn 4.327953 -2.257858 -3.481265\nv 0.007443 0.109375 -0.028962\nvn -5.764861 3.818707 -5.643590\nv 0.030638 0.109323 -0.028524\nvn 3.184307 -1.435030 -3.534503\nv 0.054871 0.109398 -0.029348\nvn -2.535667 1.290671 -2.807441\nv 0.031896 0.110193 -0.029208\nvn -2.693655 1.407558 -2.597670\nv -0.016273 0.110825 -0.029778\nvn 4.836937 -1.854120 -4.610711\nv 0.056394 0.111707 -0.028888\nvn -4.980737 2.164382 -4.375679\nv -0.016975 0.111620 -0.028615\nvn -3.164245 1.543733 -3.542361\nv 0.032321 0.111683 -0.028947\nvn 6.392170 -3.762255 -5.071401\nv 0.008819 0.111622 -0.028789\nvn -6.200012 2.603125 -5.886817\nv 0.032738 0.113412 -0.028582\nvn -3.604136 1.250227 -3.184283\nv -0.015740 0.114072 -0.029324\nvn -3.447694 1.114824 -3.419075\nv 0.033880 0.114424 -0.029412\nvn 4.682162 -3.081109 -4.158971\nv 0.010567 0.113921 -0.028565\nvn -2.873888 0.742690 -2.664784\nv 0.034142 0.115917 -0.029153\nvn -4.343790 2.163176 -3.466026\nv -0.015201 0.115848 -0.029005\nvn 5.948353 -3.752068 -5.575354\nv 0.011268 0.115589 -0.028839\nvn 4.037981 -1.036669 -4.286159\nv 0.056818 0.115227 -0.029072\nvn 1.823532 -1.460142 -1.835519\nv 0.011587 0.117174 -0.029552\nvn -4.671206 0.565855 -3.666586\nv 0.034079 0.117568 -0.028761\nvn -1.810551 0.702492 -2.285875\nv -0.013181 0.118320 -0.029571\nvn 5.429569 -4.261835 -5.723896\nv 0.012792 0.117463 -0.028729\nvn -4.764925 1.697759 -4.783162\nv -0.013313 0.119850 -0.028983\nvn 2.364597 -1.804484 -2.663845\nv 0.013097 0.118929 -0.029384\nvn -5.728473 -0.090417 -3.957132\nv 0.034267 0.119492 -0.028979\nvn 4.891670 -3.812087 -5.003034\nv 0.014666 0.119549 -0.028495\nvn 4.492537 -0.563967 -3.930862\nv 0.058131 0.119759 -0.028841\nvn -4.512182 -0.627973 -3.843990\nv 0.034247 0.121369 -0.029067\nvn 5.997115 0.007086 -5.222279\nv 0.058295 0.121558 -0.028852\nvn -7.401256 3.697678 -5.545914\nv -0.012891 0.121343 -0.028727\nvn -3.610081 1.592611 -3.058200\nv -0.011598 0.123431 -0.029086\nvn 4.525673 -0.430646 -3.861239\nv 0.058102 0.123513 -0.028974\nvn -2.836042 -0.644279 -2.688935\nv 0.034036 0.123165 -0.029382\nvn 3.933102 -4.772119 -5.034394\nv 0.018931 0.124882 -0.029204\nvn -5.032446 2.229269 -4.278646\nv -0.011175 0.125207 -0.028820\nvn -6.578284 -3.557325 -6.481011\nv 0.032405 0.125666 -0.028712\nvn 1.884069 -3.266170 -3.279680\nv 0.022837 0.127111 -0.028987\nvn -2.458023 -2.208096 -3.725955\nv 0.032011 0.127688 -0.029417\nvn 4.891494 1.531336 -4.298644\nv 0.058270 0.127597 -0.028990\nvn -3.303350 1.855500 -3.246949\nv -0.009425 0.127832 -0.029038\nvn 2.362474 -5.787231 -4.921008\nv 0.024432 0.127503 -0.028510\nvn -1.422079 -3.839879 -4.234135\nv 0.030722 0.128914 -0.029497\nvn 5.957402 0.817956 -5.151603\nv 0.058099 0.129547 -0.028659\nvn -4.951314 2.444029 -4.269080\nv -0.009043 0.129549 -0.028529\nvn 0.456516 -2.227899 -1.956170\nv 0.026236 0.128828 -0.029522\nvn -0.117388 -3.430806 -3.588311\nv 0.029003 0.129075 -0.029413\nvn 4.408816 0.616829 -3.883424\nv 0.058036 0.131467 -0.028571\nvn -4.986165 2.566454 -4.139154\nv -0.007551 0.131577 -0.029175\nvn -5.302710 3.146205 -5.007301\nv -0.006857 0.133295 -0.028848\nvn 3.852643 1.769181 -4.212893\nv 0.056926 0.133382 -0.028990\nvn 3.962632 1.603480 -4.144001\nv 0.056325 0.134906 -0.028837\nvn -2.369739 1.902966 -2.587406\nv -0.005299 0.135745 -0.028835\nvn -5.048013 3.759566 -4.897681\nv -0.004579 0.136888 -0.028626\nvn 5.471614 2.005032 -5.387768\nv 0.056178 0.136889 -0.028539\nvn 3.083777 1.876938 -3.439385\nv 0.054938 0.137701 -0.029309\nvn -2.727126 1.795726 -2.305836\nv -0.003501 0.138033 -0.028916\nvn 0.126228 -1.236505 -4.840126\nv -0.037684 0.138175 -0.029698\nvn 0.502771 -1.192876 -4.805873\nv -0.035733 0.138195 -0.029697\nvn 0.357690 0.569735 -0.886329\nv 0.054149 0.138300 -0.029642\nvn -5.936000 3.847049 -5.498947\nv -0.002934 0.139266 -0.028705\nvn 1.449621 -1.013613 -6.741524\nv -0.034590 0.139525 -0.029770\nvn -1.287742 -1.801232 -4.306781\nv -0.040695 0.139019 -0.029491\nvn 2.573622 1.117919 -2.845269\nv 0.053145 0.139996 -0.029520\nvn -3.493759 -2.683062 -6.176805\nv -0.042657 0.139612 -0.028922\nvn -4.449050 4.160673 -5.089735\nv -0.001305 0.141450 -0.028703\nvn 3.664125 1.933514 -4.313486\nv 0.052999 0.141541 -0.029081\nvn -2.376374 -2.335159 -1.777340\nv -0.043143 0.140750 -0.029104\nvn -4.523954 -4.144252 -5.627146\nv -0.044518 0.141473 -0.028582\nvn 1.336511 -0.667775 -5.793416\nv -0.034648 0.141683 -0.029848\nvn -2.115697 1.968019 -2.763720\nv 0.000177 0.141755 -0.029559\nvn 1.926554 1.723961 -2.957208\nv 0.051627 0.142325 -0.029962\nvn 5.692639 4.839358 -6.492308\nv 0.052247 0.143293 -0.028702\nvn -2.545719 -4.944045 -3.854072\nv -0.046405 0.142728 -0.028822\nvn 1.033581 -0.704858 -3.783491\nv -0.032933 0.143556 -0.029774\nvn 1.555045 1.196818 -2.257559\nv 0.051254 0.143575 -0.029283\nvn -1.084895 -3.573640 -4.572737\nv -0.048314 0.143161 -0.028656\nvn -0.000000 0.000000 0.000000\nv -0.047773 0.144075 -0.029855\nvn 5.082053 4.193941 -6.009912\nv 0.050507 0.145051 -0.028914\nvn -3.066095 -1.631213 -6.973670\nv -0.050454 0.144961 -0.029078\nvn 2.443454 2.071315 -3.788068\nv 0.049500 0.145031 -0.029783\nvn 0.000000 0.000000 -0.000000\nv -0.049713 0.145125 -0.029687\nvn 0.986302 -0.641715 -2.759588\nv -0.031195 0.145580 -0.029718\nvn -4.470784 4.369822 -4.963888\nv 0.002606 0.145703 -0.028716\nvn -2.235310 3.531879 -4.251634\nv 0.004074 0.146047 -0.029515\nvn 2.122785 2.589382 -3.649134\nv 0.048659 0.146140 -0.029575\nvn -1.496375 -0.395285 -2.525582\nv -0.049543 0.146817 -0.029713\nvn 2.444710 -1.152969 -5.330182\nv -0.030245 0.145293 -0.029310\nvn -1.869162 2.980684 -3.527911\nv 0.005370 0.146408 -0.029741\nvn 1.898606 2.555952 -3.841195\nv 0.047677 0.146561 -0.029683\nvn 2.747161 3.048721 -4.350220\nv 0.046981 0.147788 -0.029260\nvn -1.640901 2.526959 -2.627923\nv 0.006416 0.147605 -0.029316\nvn -2.523660 0.249575 -4.287742\nv -0.049602 0.149092 -0.029733\nvn 0.374148 0.556181 -0.781917\nv 0.045928 0.148263 -0.029723\nvn -2.943843 0.459808 -5.180151\nv -0.050792 0.149128 -0.028911\nvn -2.665708 3.693272 -3.896904\nv 0.008878 0.149629 -0.029079\nvn 3.000652 4.536976 -4.412374\nv 0.046581 0.149155 -0.028510\nvn 1.620049 3.430938 -3.238706\nv 0.044621 0.149667 -0.029190\nvn 3.489650 -0.838349 -3.333459\nv -0.029573 0.149850 -0.029743\nvn -1.607901 3.256199 -3.400018\nv 0.010094 0.149910 -0.029556\nvn 0.000000 0.000000 0.000000\nv 0.011377 0.150220 -0.029687\nvn -2.501191 5.763572 -4.902463\nv 0.010772 0.151168 -0.028488\nvn 1.830457 3.380487 -3.186919\nv 0.040947 0.151416 -0.029373\nvn -1.457371 2.814505 -2.431100\nv 0.012602 0.151570 -0.029006\nvn -2.645760 -0.260393 -4.187424\nv -0.049388 0.151775 -0.029688\nvn -2.229798 -0.227411 -4.381080\nv -0.049541 0.153083 -0.029693\nvn 5.652944 -0.012339 -3.898886\nv -0.028197 0.153146 -0.028880\nvn -0.961141 2.979260 -2.423879\nv 0.015052 0.152331 -0.029687\nvn 2.131520 6.104294 -4.687714\nv 0.038210 0.153101 -0.028662\nvn -1.841290 4.863064 -3.817351\nv 0.016789 0.153191 -0.028963\nvn 1.402811 3.794147 -2.934056\nv 0.036445 0.153496 -0.028893\nvn -2.410075 -0.160118 -4.165822\nv -0.049526 0.154859 -0.029689\nvn 5.359264 0.305875 -4.108595\nv -0.028282 0.154826 -0.028675\nvn -0.386139 6.673989 -4.371395\nv 0.024700 0.154598 -0.028746\nvn -0.302453 3.380967 -2.112509\nv 0.026777 0.154678 -0.028910\nvn -0.044531 4.856489 -3.460927\nv 0.028605 0.154910 -0.028805\nvn 5.176678 0.542348 -2.838550\nv -0.028529 0.156864 -0.028852\nvn 5.068158 1.144268 -2.836860\nv -0.028796 0.159060 -0.028803\nvn -2.170772 -0.435065 -2.786228\nv -0.049341 0.158094 -0.029504\nvn -2.427101 -3.242270 -4.744821\nv -0.050634 0.158913 -0.029098\nvn -1.820650 -4.239892 -3.297621\nv -0.052711 0.160224 -0.029327\nvn 5.600332 2.434469 -3.101062\nv -0.029239 0.160948 -0.028484\nvn -0.991241 -2.828116 -3.573509\nv -0.054417 0.160614 -0.029070\nvn -1.754573 -4.219587 -4.878928\nv -0.056175 0.160859 -0.028809\nvn 2.504826 1.350935 -0.792563\nv -0.029886 0.161426 -0.029335\nvn -3.481815 -3.252528 -6.590548\nv -0.058058 0.161167 -0.028662\nvn 6.700926 3.151741 -2.356620\nv -0.030376 0.163022 -0.028784\nvn -1.851430 1.909550 -4.102341\nv -0.056679 0.163519 -0.029124\nvn 5.741574 2.835850 -2.402270\nv -0.031151 0.165038 -0.028542\nvn 4.820004 2.893248 -1.693536\nv -0.032244 0.166918 -0.028587\nvn -2.022810 0.161984 -3.381710\nv -0.056451 0.166981 -0.029077\nvn -4.522141 -0.010927 -7.378656\nv -0.056267 0.168944 -0.028726\nvn 4.110502 2.510980 -0.596567\nv -0.033103 0.168289 -0.028594\nvn -1.316194 -0.252639 -3.228232\nv -0.054834 0.169415 -0.029448\nvn 4.434261 3.788298 -0.559415\nv -0.033897 0.169345 -0.028655\nvn 4.994628 4.499281 -0.465097\nv -0.034931 0.170524 -0.028740\nvn -1.625424 -1.052790 -2.760686\nv -0.054685 0.170334 -0.029617\nvn -3.332963 0.405931 -3.492355\nv -0.056691 0.171002 -0.028934\nvn 4.550031 4.939386 0.477799\nv -0.036082 0.171615 -0.028794\nvn -6.221486 3.812866 -4.436748\nv -0.056261 0.172971 -0.028675\nvn 2.045162 3.176081 -0.002672\nv -0.037077 0.172347 -0.028810\nvn 3.498320 7.781297 -0.878963\nv -0.038629 0.173216 -0.028656\nvn 1.623141 4.591503 -0.623851\nv -0.040302 0.173804 -0.028986\nvn 2.418059 6.312366 -0.911316\nv -0.042604 0.174650 -0.028783\nvn 1.270219 3.644000 -0.715127\nv -0.041219 0.174153 -0.028788\nvn -3.479078 5.309687 -2.100522\nv -0.053984 0.175127 -0.028539\nvn 4.230625 4.699732 1.019096\nv -0.044255 0.175424 -0.028517\nvn -3.713141 5.811239 0.173346\nv -0.052134 0.176319 -0.029022\nvn 3.960775 4.160438 3.084861\nv -0.044879 0.176487 -0.028892\nvn -2.631849 5.155572 1.331787\nv -0.050320 0.177385 -0.029007\nvn -1.845848 4.306395 1.643553\nv -0.049420 0.177979 -0.029442\nvn -0.313623 4.272108 2.351286\nv -0.047964 0.178287 -0.029079\nvn 1.961435 4.897108 3.880915\nv -0.046411 0.178200 -0.029171\nvn -0.557158 -1.855637 -5.211468\nv -0.016492 0.185141 -0.029729\nvn 2.552899 -6.323667 -3.045558\nv -0.014661 0.184216 -0.028523\nvn 2.143743 -4.890796 -2.171755\nv -0.012782 0.185079 -0.028781\nvn -1.002634 0.171510 -2.755949\nv -0.017606 0.186796 -0.029376\nvn 3.246614 -5.667937 -1.062582\nv -0.010563 0.186268 -0.028741\nvn 4.291543 -6.187456 -0.522493\nv -0.008980 0.187230 -0.028817\nvn -1.837433 1.965373 -3.950981\nv -0.016030 0.187990 -0.029643\nvn 4.159934 -3.759082 3.069098\nv -0.007194 0.188833 -0.028663\nvn -2.523397 5.624292 -2.638438\nv -0.015283 0.189343 -0.028658\nvn -2.181423 3.875849 -1.821725\nv -0.014235 0.189811 -0.028847\nvn 3.602501 -3.762072 1.942243\nv -0.005881 0.189573 -0.029342\nvn 3.265806 -1.413196 3.896982\nv -0.005136 0.191015 -0.029057\nvn -2.347109 6.157830 -0.764587\nv -0.012784 0.190549 -0.028757\nvn -1.913821 4.238672 -0.234840\nv -0.011138 0.191299 -0.028622\nvn -1.071202 6.184758 1.628833\nv -0.009039 0.192146 -0.028641\nvn 1.881150 1.228763 3.697163\nv -0.005011 0.192879 -0.029083\nvn -0.029955 4.703705 4.360256\nv -0.007032 0.192596 -0.028636\nvn 0.463785 -5.929891 -0.453011\nv -0.079798 0.058451 -0.028988\nvn 0.914708 -3.888700 -0.189227\nv -0.076823 0.059081 -0.028812\nvn -1.341560 -3.559999 1.224932\nv -0.056897 0.059312 -0.029163\nvn 2.119459 -2.088315 -4.956935\nv 0.054478 0.060122 -0.028876\nvn 1.752809 -4.623993 -0.691903\nv -0.069582 0.061383 -0.028788\nvn 4.524021 -4.645799 0.244167\nv -0.024363 0.061931 -0.028466\nvn -3.729180 2.641794 -5.018424\nv -0.087982 0.062368 -0.028940\nvn 3.312315 -3.277550 0.378861\nv -0.023281 0.062873 -0.028850\nvn 5.672999 1.943867 -4.659448\nv 0.054260 0.064357 -0.028595\nvn 0.178362 -3.499970 -4.828428\nv 0.028552 0.063810 -0.029005\nvn 0.376284 -2.971551 -3.972290\nv 0.030910 0.063748 -0.028947\nvn 3.307323 -3.374307 -0.757230\nv -0.021404 0.064721 -0.028505\nvn 0.571893 -5.190063 -6.056853\nv 0.032653 0.063881 -0.028855\nvn -1.932063 -2.955810 -4.815243\nv 0.022527 0.064223 -0.028713\nvn 0.516531 -4.186477 -4.228223\nv 0.036415 0.064158 -0.028630\nvn -3.708966 -3.393449 -6.169413\nv 0.020922 0.066080 -0.029000\nvn -2.040958 -1.583760 -3.049608\nv 0.020026 0.067487 -0.029177\nvn -2.566721 -0.971336 -2.896947\nv 0.017884 0.071266 -0.029194\nvn -4.558612 -0.931269 -4.485858\nv 0.016784 0.071973 -0.028367\nvn 0.282917 1.413859 -5.293639\nv -0.038698 0.074134 -0.028863\nvn -1.142536 0.557699 -5.792947\nv -0.034619 0.074294 -0.029612\nvn 4.911641 -0.137532 -5.965602\nv 0.048471 0.074063 -0.028966\nvn -6.136110 -1.076153 -4.930527\nv 0.016506 0.074103 -0.028816\nvn 1.944852 -1.600390 -4.311325\nv -0.014538 0.074162 -0.028875\nvn -1.277281 -0.109548 -6.862913\nv -0.036740 0.076099 -0.029270\nvn -2.037755 -0.874200 -1.614039\nv -0.068907 0.075825 -0.029337\nvn -5.846381 -3.070720 -3.932064\nv -0.069499 0.076008 -0.028522\nvn -0.719554 0.156043 -4.940811\nv -0.034998 0.076525 -0.029487\nvn 2.384568 -1.880913 -5.153140\nv -0.012785 0.075997 -0.028688\nvn -0.756142 0.218086 -4.926154\nv -0.036520 0.077775 -0.029300\nvn -1.332646 0.253883 -7.864322\nv -0.034162 0.077867 -0.029530\nvn -3.215063 -0.181420 -2.349962\nv 0.016300 0.077932 -0.029019\nvn -1.360415 0.943290 -6.774171\nv -0.036689 0.080094 -0.029063\nvn -1.494331 0.435176 -5.764687\nv -0.034950 0.080173 -0.029352\nvn -5.380603 -2.326696 -3.793200\nv -0.071421 0.079944 -0.028812\nvn -1.173611 0.389266 -4.829865\nv -0.033773 0.081075 -0.029646\nvn 2.604353 -2.184804 -4.922783\nv -0.008742 0.081916 -0.029274\nvn -2.037961 1.284575 -6.539098\nv -0.034776 0.082448 -0.029163\nvn -1.904782 2.063717 -6.323417\nv -0.032827 0.084492 -0.029152\nvn -5.652381 -1.208952 -3.912724\nv -0.072785 0.084088 -0.028807\nvn 2.340060 2.725618 -1.743487\nv -0.050098 0.084781 -0.028851\nvn -2.322281 1.979115 -7.308876\nv -0.030977 0.086231 -0.029306\nvn -0.937611 0.625767 -2.688308\nv -0.029923 0.085275 -0.029667\nvn -4.006337 0.915554 -2.825056\nv 0.018099 0.087928 -0.029256\nvn -2.983981 3.009999 -5.528918\nv -0.028666 0.089765 -0.028767\nvn 1.820600 -0.981409 -2.159264\nv -0.001923 0.092625 -0.029636\nvn 0.952685 5.794995 -3.757913\nv -0.064550 0.093996 -0.028540\nvn -3.459029 2.232361 -4.385594\nv -0.026588 0.093791 -0.028364\nvn 6.120660 -3.506544 -5.531343\nv 0.046504 0.093985 -0.028748\nvn -3.183113 2.208870 -4.514195\nv -0.024588 0.095934 -0.028720\nvn -4.318915 2.849166 -3.010141\nv 0.021432 0.096203 -0.028422\nvn -1.960012 1.105845 -3.300504\nv -0.023023 0.096540 -0.029379\nvn 1.960118 -0.946459 -2.035158\nv 0.001227 0.097525 -0.029437\nvn -5.691497 3.285791 -6.069046\nv -0.022508 0.099627 -0.028547\nvn 3.619629 -1.694599 -3.001298\nv 0.003549 0.101284 -0.028906\nvn -5.789810 2.357893 -4.930216\nv -0.020841 0.103788 -0.028550\nvn -1.913809 1.287054 -1.912349\nv 0.027710 0.104234 -0.029175\nvn 4.680830 -2.509107 -4.511298\nv 0.054076 0.105909 -0.028422\nvn -4.158046 2.754209 -3.296876\nv 0.029397 0.107739 -0.028437\nvn -1.888556 1.401636 -1.849351\nv 0.030257 0.108366 -0.028914\nvn 4.465481 -2.066516 -3.422397\nv 0.055897 0.109742 -0.028332\nvn 5.181484 -1.096050 -4.506503\nv 0.056824 0.113049 -0.028762\nvn -4.532608 1.420464 -3.629807\nv -0.016606 0.113402 -0.028433\nvn 1.808585 -1.852375 -1.857691\nv 0.009595 0.113114 -0.028993\nvn -6.743154 3.140538 -6.540106\nv -0.014457 0.117613 -0.028751\nvn 2.615709 -0.709528 -2.935281\nv 0.057227 0.117475 -0.029373\nvn 1.710062 -1.398808 -2.029527\nv 0.015299 0.121152 -0.029063\nvn 4.374550 -4.442394 -5.003091\nv 0.017094 0.122922 -0.029065\nvn 2.310363 -2.284525 -2.330940\nv 0.018288 0.123904 -0.028884\nvn 3.906623 -0.069170 -3.098041\nv 0.058449 0.125374 -0.028830\nvn 4.024733 -6.125523 -5.159107\nv 0.020550 0.125374 -0.028537\nvn -3.366024 1.927822 -3.120906\nv -0.010449 0.127377 -0.028372\nvn 1.930785 -3.295766 -3.222771\nv 0.021352 0.126575 -0.029338\nvn -2.624674 -4.664545 -5.570706\nv 0.030741 0.127641 -0.028482\nvn -3.972452 2.479299 -3.695978\nv -0.006451 0.134795 -0.028444\nvn 0.288239 -1.210976 -4.824569\nv -0.036297 0.137265 -0.029474\nvn -1.080120 -1.148424 -5.758019\nv -0.040459 0.137023 -0.029099\nvn 1.538340 -1.852913 -7.613739\nv -0.034503 0.137291 -0.029204\nvn 4.173218 2.647810 -4.973767\nv 0.054472 0.139328 -0.028666\nvn 0.701187 -0.624896 -2.845567\nv -0.033948 0.139175 -0.029546\nvn 1.979566 -1.360705 -7.602421\nv -0.032447 0.139152 -0.029148\nvn 1.644680 -0.775186 -6.747976\nv -0.032368 0.141460 -0.029412\nvn -5.391327 4.630982 -5.424073\nv 0.000859 0.143487 -0.028874\nvn 2.527859 -1.013313 -6.394265\nv -0.030648 0.143318 -0.029045\nvn 0.000000 0.000000 0.000000\nv -0.032023 0.143025 -0.029455\nvn -2.767215 -0.234118 -5.225730\nv -0.050794 0.147200 -0.029145\nvn 3.177076 -0.966091 -4.955329\nv -0.028629 0.147315 -0.028766\nvn -2.268449 3.990909 -3.834468\nv 0.005124 0.147482 -0.028619\nvn 3.016723 3.874345 -4.892595\nv 0.048125 0.147438 -0.028890\nvn 3.734220 -0.509144 -4.690033\nv -0.028379 0.149332 -0.028778\nvn -4.048506 5.834273 -5.505840\nv 0.007137 0.149051 -0.028291\nvn 1.305824 2.706964 -2.619208\nv 0.042994 0.150080 -0.029409\nvn -2.764368 -0.173316 -5.268618\nv -0.050596 0.151248 -0.028938\nvn 4.766454 -0.244794 -5.053066\nv -0.028284 0.151323 -0.028929\nvn 2.661700 4.685818 -4.448100\nv 0.042746 0.151114 -0.028556\nvn 2.116409 5.050009 -4.322164\nv 0.040347 0.152631 -0.028364\nvn -2.053592 -0.881552 -5.519745\nv -0.050751 0.153024 -0.029168\nvn 0.436363 3.240962 -2.300646\nv 0.032027 0.153875 -0.029611\nvn 1.108246 4.753006 -3.439882\nv 0.035235 0.153924 -0.028945\nvn -1.474062 -0.166702 -5.768323\nv -0.050646 0.154881 -0.029444\nvn -0.685882 4.113527 -2.726315\nv 0.020996 0.154639 -0.028465\nvn -0.287651 4.038269 -2.896971\nv 0.022227 0.154470 -0.028932\nvn 1.033491 7.198107 -5.212260\nv 0.030911 0.154919 -0.028437\nvn -1.838201 -0.465515 -5.579724\nv -0.052578 0.154852 -0.028998\nvn -0.819451 0.255870 -3.817222\nv -0.052554 0.157065 -0.029157\nvn -2.697756 0.719842 -8.174389\nv -0.050534 0.156900 -0.029266\nvn -2.334361 1.457886 -5.117482\nv -0.057976 0.163216 -0.028771\nvn -3.121806 0.405782 -6.093787\nv -0.056070 0.164997 -0.029034\nvn 0.029333 -2.494103 -2.857225\nv -0.016941 0.184113 -0.029186\nvn -1.536044 -1.611000 -7.019145\nv -0.018743 0.184867 -0.029262\nvn -1.524204 1.418728 -3.099415\nv -0.018688 0.186836 -0.029060\nvn -2.051811 3.146111 -2.775774\nv -0.016764 0.188528 -0.028826\nvn -0.723241 -7.605786 1.527938\nv -0.038410 0.053167 -0.028331\nvn 2.867239 -3.571171 3.827115\nv -0.030509 0.055878 -0.028309\nvn -1.249072 -3.641167 1.081413\nv -0.051623 0.057275 -0.029172\nvn -2.568835 -7.130754 2.510475\nv -0.052481 0.057761 -0.028443\nvn 2.644814 -2.254756 1.897092\nv -0.028283 0.058033 -0.028412\nvn -0.661087 -1.935690 -0.837242\nv -0.089819 0.058292 -0.028564\nvn 0.177437 -3.827195 -2.451469\nv -0.087853 0.058582 -0.028583\nvn -4.142636 0.454669 -3.866463\nv -0.089654 0.060116 -0.028683\nvn 2.759631 -2.460130 1.073321\nv -0.026455 0.059808 -0.028616\nvn -6.027423 2.695510 -1.249585\nv -0.087520 0.064012 -0.028287\nvn 0.114580 -3.356369 -4.919849\nv 0.026702 0.063750 -0.029118\nvn 2.991355 1.697394 -2.014256\nv 0.053680 0.065675 -0.028453\nvn -1.257472 3.438176 1.179076\nv -0.078312 0.069106 -0.028330\nvn 0.000000 -0.000000 -0.000000\nv -0.067023 0.073317 -0.028988\nvn -1.191981 0.564868 -5.725626\nv -0.036600 0.074337 -0.029127\nvn -1.347420 0.504555 -6.831470\nv -0.038475 0.078172 -0.028845\nvn 3.579763 -3.220743 -6.323442\nv -0.010861 0.077981 -0.028700\nvn 4.109493 -3.159910 -6.084307\nv -0.008910 0.079981 -0.028470\nvn -1.520261 1.397076 -5.608445\nv -0.036393 0.082239 -0.028651\nvn 1.678108 2.015151 -2.861686\nv -0.046673 0.081845 -0.028399\nvn 3.625231 -2.909703 -5.224684\nv -0.007309 0.082088 -0.028472\nvn -1.875585 2.237971 -5.177457\nv -0.034402 0.084302 -0.028748\nvn -2.524438 2.385255 -4.844968\nv -0.032454 0.086187 -0.028662\nvn -2.906757 2.878226 -5.645139\nv -0.030679 0.087908 -0.028761\nvn -3.585679 2.539390 -2.357760\nv 0.023457 0.099464 -0.028291\nvn 3.477681 -1.900355 -2.989490\nv 0.051936 0.101664 -0.028344\nvn 3.697097 -1.780006 -2.854455\nv 0.006329 0.106176 -0.028349\nvn -3.470948 1.902336 -3.050883\nv -0.018444 0.109518 -0.028250\nvn 4.262142 -0.772748 -4.134967\nv 0.058015 0.117781 -0.028697\nvn 5.381406 -5.041431 -5.037425\nv 0.016542 0.121620 -0.028340\nvn -3.822831 1.560822 -2.809604\nv -0.012144 0.123399 -0.028401\nvn -4.532618 -1.421701 -3.537223\nv 0.033133 0.123455 -0.028474\nvn 0.711902 -5.276218 -4.495087\nv 0.026428 0.127897 -0.028408\nvn -2.234670 1.149771 -1.618270\nv -0.008487 0.130916 -0.028439\nvn 0.394233 -1.882625 -7.735983\nv -0.036624 0.135120 -0.029025\nvn -0.300959 -1.077349 -4.862772\nv -0.038610 0.135165 -0.028962\nvn -0.765774 -0.864167 -6.845378\nv -0.040432 0.135220 -0.028879\nvn -0.239206 -1.398265 -5.809825\nv -0.038148 0.136550 -0.029305\nvn 2.019477 -0.940519 -5.537734\nv -0.030930 0.139510 -0.028802\nvn 1.831812 -0.370786 -4.610652\nv -0.030565 0.141166 -0.028887\nvn -1.728943 -0.841658 -5.598035\nv -0.052546 0.153163 -0.028794\nvn -0.925696 3.870044 -3.040978\nv 0.018929 0.153766 -0.028873\nvn -0.215725 0.744366 -0.651136\nv 0.019777 0.153975 -0.028988\nvn 0.755675 5.783633 -3.845355\nv 0.032619 0.154741 -0.028284\nvn -3.832971 -1.045196 -6.386834\nv -0.054136 0.156831 -0.028552\nvn -1.189259 -0.385346 -5.607166\nv -0.020592 0.184582 -0.028797\nvn 2.660956 -4.101606 -0.033792\nv -0.011647 0.185549 -0.028365\nvn -0.896118 -4.496099 1.706883\nv -0.040870 0.053407 -0.028261\nvn -2.107808 -5.306248 1.792452\nv -0.051273 0.057287 -0.028684\nvn -0.401067 -4.935707 -4.597111\nv 0.052849 0.058716 -0.028306\nvn 1.248357 -2.661619 -3.782488\nv 0.054256 0.058588 -0.028151\nvn -1.030412 -2.712929 0.700884\nv -0.061248 0.061056 -0.028462\nvn -2.986462 2.668212 -0.509844\nv -0.089074 0.062404 -0.028130\nvn 0.138265 -2.995085 -6.304582\nv 0.026961 0.062344 -0.028353\nvn -1.185416 -2.884947 -5.053906\nv 0.024665 0.062290 -0.028247\nvn 0.313220 -2.200310 -4.466487\nv 0.028656 0.062442 -0.028222\nvn 0.796814 -3.861360 -6.913718\nv 0.030676 0.062400 -0.028137\nvn -1.321640 -2.574800 -0.594037\nv 0.043052 0.063001 -0.028504\nvn -3.284523 -3.451026 -5.085551\nv 0.021025 0.064459 -0.028117\nvn -1.359049 4.292134 -1.147852\nv -0.083823 0.069148 -0.028462\nvn 0.149916 4.681843 -1.161695\nv -0.081944 0.069182 -0.028595\nvn 3.435196 -2.535359 -4.166955\nv -0.016972 0.069974 -0.028286\nvn 3.226764 1.322366 -3.090594\nv 0.049675 0.069890 -0.028225\nvn -2.713149 -1.331443 -2.577667\nv 0.017560 0.070225 -0.028477\nvn 3.494615 -3.171752 -6.414035\nv -0.014672 0.072557 -0.028268\nvn 3.485499 -2.633348 -5.432803\nv -0.013046 0.074393 -0.028204\nvn 0.222976 1.065358 -4.718803\nv -0.040848 0.075747 -0.028602\nvn -0.694931 0.416969 -5.866745\nv -0.038892 0.076160 -0.028780\nvn 5.486020 0.823666 -3.995475\nv 0.049817 0.076322 -0.027934\nvn 0.740674 1.117593 -5.675375\nv -0.042699 0.077791 -0.028400\nvn 2.889922 -2.427520 -4.624715\nv -0.011295 0.076218 -0.027971\nvn 1.226658 1.000342 -3.561254\nv -0.044558 0.080014 -0.028295\nvn -1.038919 0.858003 -4.808305\nv -0.038757 0.080033 -0.028552\nvn -1.330443 1.465522 -5.657792\nv -0.038305 0.081693 -0.028303\nvn -1.898584 2.805619 -6.053455\nv -0.036461 0.084028 -0.028044\nvn 2.843826 -1.924592 -3.625798\nv -0.005331 0.084189 -0.028257\nvn -4.113101 0.011133 -2.752669\nv -0.073470 0.086150 -0.028351\nvn 1.653137 2.368651 -0.763401\nv -0.052699 0.087099 -0.028425\nvn -2.465066 2.197669 -3.735360\nv -0.032567 0.087412 -0.027980\nvn -5.049202 1.218591 -2.982123\nv 0.017444 0.087745 -0.028229\nvn -3.101717 0.393755 -2.225877\nv -0.073438 0.088039 -0.028121\nvn 3.656987 -2.106577 -4.259242\nv -0.003025 0.087870 -0.028093\nvn -5.076961 1.353654 -2.848702\nv 0.017591 0.089409 -0.027947\nvn -3.557875 2.751176 -5.317149\nv -0.028325 0.091478 -0.028039\nvn 3.165787 -1.763659 -3.433420\nv -0.001690 0.090480 -0.028197\nvn 2.076821 3.083298 -1.406478\nv -0.058747 0.091198 -0.028407\nvn 4.600975 -2.500755 -2.882749\nv 0.045972 0.092044 -0.028181\nvn 3.029558 -1.802683 -3.531033\nv -0.000782 0.091994 -0.028157\nvn -1.656066 2.574812 -2.511627\nv -0.069749 0.093347 -0.028154\nvn 3.209774 -1.724235 -3.411759\nv 0.000451 0.094282 -0.028258\nvn -4.828035 2.651399 -5.700096\nv -0.024221 0.097858 -0.028141\nvn 6.193835 -2.904054 -5.818552\nv 0.002650 0.097921 -0.028118\nvn -3.570346 2.419342 -2.515334\nv 0.024967 0.101476 -0.028266\nvn 2.950422 -1.344498 -2.338441\nv 0.004358 0.101588 -0.028061\nvn -2.011280 1.397999 -1.531726\nv -0.020047 0.105822 -0.028469\nvn 4.243859 -2.286008 -3.568679\nv 0.008478 0.109813 -0.028015\nvn -4.176224 2.112411 -3.723732\nv 0.031307 0.111370 -0.028072\nvn -5.464548 1.700909 -3.967494\nv 0.033186 0.115343 -0.028187\nvn 4.979931 -1.481616 -4.606557\nv 0.058015 0.115933 -0.028308\nvn -3.019805 1.380168 -2.171483\nv -0.016208 0.115171 -0.028170\nvn -2.903804 1.230424 -2.445629\nv -0.014221 0.119485 -0.028188\nvn 1.961929 -3.517853 -2.946061\nv 0.022406 0.126113 -0.028173\nvn -0.036497 -3.546915 -3.483061\nv 0.028119 0.128150 -0.028575\nvn 3.668971 1.432433 -3.041170\nv 0.057884 0.133104 -0.028151\nvn -0.047989 -0.597506 -3.944919\nv -0.040478 0.133397 -0.028593\nvn -1.466612 -0.913319 -7.762946\nv -0.042524 0.133517 -0.028441\nvn 0.050746 -1.440805 -7.835531\nv -0.038402 0.133270 -0.028452\nvn 1.250040 -1.342925 -5.694654\nv -0.034438 0.135150 -0.028774\nvn 2.399285 -2.164417 -6.097891\nv -0.032612 0.135170 -0.028256\nvn 1.305745 -1.070094 -4.704145\nv -0.032615 0.137322 -0.028743\nvn -2.042774 -0.661075 -6.621731\nv -0.042634 0.137218 -0.028511\nvn 3.929733 -2.796769 -8.653502\nv -0.030795 0.137232 -0.028169\nvn -1.868538 1.468004 -1.755410\nv -0.002421 0.140921 -0.028151\nvn 4.001605 1.855216 -4.030063\nv 0.054143 0.141316 -0.028242\nvn -2.390330 2.284282 -2.243350\nv -0.000880 0.142534 -0.027947\nvn 2.856741 -0.401293 -5.234887\nv -0.028729 0.143309 -0.028087\nvn -0.313790 -3.088020 -5.711360\nv -0.050375 0.143167 -0.028457\nvn 3.697987 -1.168098 -5.809861\nv -0.028784 0.145028 -0.028419\nvn -2.424430 2.086212 -2.400235\nv 0.001341 0.144850 -0.028162\nvn -2.849628 0.105413 -6.347582\nv -0.052462 0.146985 -0.028423\nvn 2.161633 2.060665 -2.539669\nv 0.049862 0.146820 -0.028337\nvn -2.517617 3.900829 -3.744779\nv 0.003510 0.146840 -0.028447\nvn 2.369574 3.035609 -3.148271\nv 0.047984 0.148276 -0.028261\nvn -2.180273 0.389972 -4.513089\nv -0.052325 0.149388 -0.028165\nvn -2.457466 4.062380 -3.616464\nv 0.009187 0.150710 -0.028235\nvn 2.114307 4.210527 -3.691077\nv 0.044541 0.150706 -0.028076\nvn -2.425541 -1.585703 -7.368542\nv -0.052354 0.151058 -0.028204\nvn -2.025241 5.309279 -4.013060\nv 0.014847 0.153289 -0.028273\nvn -1.375756 6.573602 -4.276373\nv 0.018828 0.154312 -0.028080\nvn 0.598914 3.303521 -2.144094\nv 0.034699 0.154389 -0.028448\nvn -1.097327 -1.096463 -4.651446\nv -0.054423 0.159018 -0.028522\nvn -1.239356 -0.709288 -6.564644\nv -0.052477 0.158972 -0.028779\nvn -1.809898 -2.249374 -5.394022\nv -0.060067 0.161313 -0.028070\nvn -2.653911 1.346660 -5.003635\nv -0.059805 0.162896 -0.028072\nvn -3.962415 0.157436 -6.890093\nv -0.057901 0.166675 -0.028113\nvn -2.739957 1.366119 -6.802141\nv -0.057753 0.170705 -0.028092\nvn -1.585996 1.755100 -1.692741\nv -0.055427 0.174133 -0.028422\nvn 1.910639 1.862719 1.339777\nv -0.046035 0.177177 -0.028392\nvn -0.548543 5.270818 2.324888\nv -0.048664 0.177629 -0.028067\nvn 0.548337 -3.736658 -4.042614\nv -0.018766 0.182947 -0.028319\nvn 1.031862 -4.722589 -2.692226\nv -0.016713 0.183331 -0.028161\nvn -0.208590 -2.666914 -5.017724\nv -0.020860 0.182861 -0.028244\nvn -1.735197 3.248170 -5.315712\nv -0.020729 0.186610 -0.028358\nvn -2.095201 4.104475 -3.238307\nv -0.019033 0.187937 -0.028129\nvn 2.504358 -2.326993 1.716406\nv -0.008379 0.187925 -0.028035\nvn 2.483114 -0.575526 3.904956\nv -0.006466 0.190673 -0.028221\nvn -1.484623 3.439592 0.864036\nv -0.010183 0.191732 -0.028451\nvn 1.051969 -4.181322 2.107800\nv -0.034385 0.053387 -0.028113\nvn -0.944277 -2.627232 0.872801\nv -0.046898 0.055457 -0.028320\nvn 3.405555 -0.964894 -4.680285\nv 0.055623 0.060253 -0.028106\nvn -2.077037 -3.038703 -4.678518\nv 0.022829 0.062856 -0.027987\nvn 0.666159 -2.764971 -4.092379\nv 0.032230 0.062771 -0.028018\nvn 2.009623 -1.564005 -1.400847\nv -0.019393 0.066906 -0.028107\nvn -2.147612 -1.752182 -2.875803\nv 0.019243 0.066506 -0.028075\nvn -0.530047 0.353396 -4.944932\nv -0.040729 0.077757 -0.028562\nvn -3.901641 -2.106173 -2.269511\nv -0.071240 0.078422 -0.028014\nvn 1.549934 -1.275301 -2.223498\nv -0.009485 0.078348 -0.028007\nvn 0.480193 1.359967 -6.773082\nv -0.042691 0.079941 -0.028097\nvn -0.716508 1.012381 -5.857587\nv -0.040525 0.079751 -0.028271\nvn 2.161142 -1.616346 -2.951670\nv -0.007730 0.080605 -0.027974\nvn -1.774985 2.478924 -3.907423\nv -0.034323 0.085605 -0.028030\nvn -1.596583 1.837163 -3.131751\nv -0.030167 0.089646 -0.028113\nvn -2.422070 1.918627 -2.491667\nv -0.072137 0.091254 -0.027946\nvn 2.728547 -1.967567 -2.137952\nv 0.049401 0.098050 -0.028090\nvn -1.958254 1.004267 -1.978061\nv -0.022101 0.100981 -0.028071\nvn 2.982979 -0.868182 -2.444288\nv 0.057631 0.113825 -0.027974\nvn 2.523583 -1.860224 -2.475836\nv 0.012116 0.115514 -0.028000\nvn 3.135830 -2.343334 -3.065029\nv 0.014137 0.118154 -0.028041\nvn 0.195483 -0.583944 -4.953028\nv -0.038642 0.131019 -0.028286\nvn -0.301194 -0.772132 -5.924712\nv -0.040563 0.131428 -0.028304\nvn -1.400435 -1.079147 -6.757937\nv -0.042536 0.131183 -0.028008\nvn 1.545834 -2.020292 -8.517551\nv -0.036497 0.131265 -0.028115\nvn 0.214352 -0.895404 -3.876310\nv -0.036334 0.132992 -0.028449\nvn 2.001754 -2.369851 -7.288641\nv -0.034387 0.132981 -0.028172\nvn -1.392669 -0.589557 -5.753554\nv -0.044278 0.133224 -0.027994\nvn -0.949838 -0.103338 -3.878147\nv -0.042746 0.135200 -0.028442\nvn 3.283603 2.102839 -3.114455\nv 0.055694 0.138414 -0.028141\nvn -2.077311 -0.637147 -4.467791\nv -0.044464 0.139291 -0.028024\nvn 3.254257 -0.510873 -6.158840\nv -0.028938 0.141674 -0.028157\nvn -1.436174 -2.585177 -5.815073\nv -0.052523 0.142906 -0.028157\nvn -2.150855 -0.257538 -6.509192\nv -0.052714 0.145005 -0.028096\nvn -1.793196 -0.309921 -5.548992\nv -0.054359 0.152970 -0.028205\nvn -2.538340 5.141834 -4.010435\nv 0.012757 0.152471 -0.027980\nvn -4.574168 0.700002 -5.972951\nv -0.054226 0.154931 -0.028064\nvn -2.186403 -1.666146 -4.029766\nv -0.055693 0.158947 -0.028042\nvn -2.720076 1.128785 -5.062329\nv -0.057937 0.164839 -0.028061\nvn -1.329391 -2.328108 -6.158302\nv -0.022657 0.183009 -0.028071\nvn -1.179933 -0.016487 -4.733472\nv -0.022649 0.184682 -0.028278\nvn -1.899035 2.489207 -4.871457\nv -0.022493 0.186155 -0.027942\nvn -0.400736 -3.309155 1.805314\nv -0.038119 0.053308 -0.027601\nvn 0.141786 -4.452632 1.887392\nv -0.036806 0.053322 -0.027633\nvn 0.633478 -4.086632 2.423156\nv -0.035683 0.053360 -0.027675\nvn -0.854974 -4.907897 2.822801\nv -0.042459 0.054665 -0.026934\nvn -1.450485 -4.843168 3.126515\nv -0.040845 0.054282 -0.026716\nvn 2.514762 -5.201368 5.464324\nv -0.034614 0.054491 -0.026905\nvn -1.505712 -4.275959 2.020443\nv -0.044380 0.055040 -0.027300\nvn -3.383840 -9.665704 3.310845\nv -0.046220 0.056048 -0.026674\nvn -1.373051 -3.363556 1.672318\nv -0.048070 0.056729 -0.026885\nvn -1.501588 -3.411617 1.434761\nv -0.050123 0.057265 -0.027437\nvn -2.029685 -1.431512 1.613775\nv -0.089948 0.058408 -0.027270\nvn 0.697848 -4.130723 2.008909\nv -0.088095 0.058748 -0.027356\nvn -0.652050 -4.928491 -0.004001\nv -0.082035 0.058331 -0.026883\nvn 0.643553 -7.919307 -0.173536\nv -0.080234 0.058304 -0.026975\nvn -2.060200 -5.155150 2.242969\nv -0.053979 0.058938 -0.026911\nvn -1.648526 -5.029789 -2.698328\nv 0.052316 0.057783 -0.026736\nvn -0.555678 -6.095735 2.217160\nv -0.085861 0.059063 -0.027354\nvn 1.804781 -2.878410 1.356177\nv -0.027654 0.059270 -0.027700\nvn -2.415287 -5.883391 -2.784752\nv 0.050379 0.058614 -0.026907\nvn 1.418503 -6.842152 -0.324777\nv -0.076559 0.059066 -0.026800\nvn -2.556749 -7.215536 2.042770\nv -0.056165 0.059961 -0.026768\nvn 3.301460 -6.027390 -1.440679\nv -0.026526 0.059822 -0.026875\nvn -2.816765 -5.018698 -1.653339\nv 0.048184 0.059768 -0.026942\nvn -3.630857 0.834461 1.645727\nv -0.089786 0.060294 -0.027152\nvn 2.517563 -7.539930 -0.794300\nv -0.072115 0.060053 -0.026739\nvn -2.428302 -7.170518 2.528109\nv -0.060016 0.060983 -0.027240\nvn -2.484007 -6.268197 1.595233\nv -0.058308 0.060680 -0.026725\nvn -3.166845 -5.984354 -1.740103\nv 0.046297 0.060822 -0.026929\nvn 1.912872 -4.571375 -0.636767\nv -0.069240 0.061321 -0.027587\nvn 3.692788 -4.362387 -3.424244\nv -0.024864 0.060461 -0.026419\nvn -2.374169 -5.508056 -6.612401\nv 0.024668 0.060153 -0.026829\nvn -0.348402 -2.625175 -4.145803\nv 0.025666 0.060992 -0.027748\nvn 0.166653 -2.041043 -3.411230\nv 0.027181 0.061067 -0.027747\nvn -2.298849 -4.304078 -1.084162\nv 0.045589 0.061375 -0.027516\nvn 3.292721 0.886199 -3.591058\nv 0.055741 0.062428 -0.027821\nvn -2.250629 1.353919 2.238731\nv -0.089279 0.061771 -0.027233\nvn 2.274071 -5.523912 -0.506772\nv -0.068008 0.061740 -0.026520\nvn -0.503676 -4.850627 0.923653\nv -0.064204 0.062470 -0.026541\nvn -1.968730 -6.412186 1.936059\nv -0.062512 0.062005 -0.026794\nvn 1.970387 -2.648843 -1.933747\nv -0.024013 0.061703 -0.026979\nvn 1.024884 -6.789194 0.294949\nv -0.066122 0.062436 -0.026715\nvn -2.549705 -6.109713 -1.929183\nv 0.044367 0.061783 -0.026497\nvn -4.371577 2.947513 3.916232\nv -0.087735 0.062496 -0.026591\nvn 4.614156 -5.677744 -4.628094\nv -0.022740 0.062364 -0.026842\nvn 0.672364 -3.564175 -4.749713\nv 0.034524 0.062818 -0.027761\nvn -1.808329 -7.467141 -4.000408\nv 0.042625 0.062539 -0.026695\nvn 3.109176 -3.027658 -2.152424\nv -0.022025 0.063741 -0.027598\nvn 1.295482 -4.697031 -6.305492\nv 0.036198 0.062168 -0.026954\nvn 2.647049 1.618667 -2.357150\nv 0.054933 0.064835 -0.027574\nvn -6.311588 2.212595 3.582288\nv -0.086158 0.066262 -0.026841\nvn -4.127542 -3.027649 -4.747808\nv 0.018643 0.065842 -0.027161\nvn 4.853525 -4.804151 -5.686318\nv -0.018861 0.066132 -0.026926\nvn 6.568694 5.221174 -4.759684\nv 0.052349 0.068068 -0.026771\nvn -3.502102 2.815331 1.204320\nv -0.085491 0.068017 -0.027045\nvn 2.652677 2.299970 -1.647937\nv 0.051036 0.068859 -0.027468\nvn -2.459860 5.921478 3.010672\nv -0.084395 0.068784 -0.026400\nvn 0.588797 5.575888 1.474321\nv -0.082122 0.069233 -0.027366\nvn 3.980400 1.809570 -3.680907\nv 0.050691 0.069849 -0.027159\nvn -0.613746 3.590175 0.406301\nv -0.083830 0.069221 -0.027133\nvn -0.982073 3.394068 1.345400\nv -0.077496 0.069158 -0.027512\nvn 0.187519 4.013917 2.017812\nv -0.076372 0.069245 -0.027310\nvn -0.406685 5.170212 2.326135\nv -0.074274 0.069550 -0.027436\nvn -0.378701 4.334638 2.107246\nv -0.072437 0.069413 -0.027491\nvn -2.756409 7.179699 1.683741\nv -0.070060 0.069739 -0.026856\nvn -6.022399 -2.291970 -4.663651\nv 0.016412 0.070223 -0.027139\nvn 4.360223 -4.490602 -6.527589\nv -0.014814 0.069883 -0.026745\nvn -3.144979 4.138111 1.596792\nv -0.068064 0.070732 -0.026586\nvn 0.166094 -0.778560 -0.858309\nv -0.015687 0.070925 -0.027876\nvn -6.106946 -0.929499 -0.386164\nv -0.067354 0.072497 -0.026941\nvn -2.597598 1.058055 0.809472\nv -0.066855 0.071705 -0.026512\nvn 1.969117 -1.761980 -2.978598\nv -0.014081 0.071645 -0.027442\nvn -1.257846 0.439852 -1.031710\nv 0.016091 0.072137 -0.027549\nvn 4.332281 0.161788 -5.446088\nv 0.049955 0.072520 -0.027909\nvn 5.726470 -4.336192 -6.925919\nv -0.012731 0.072192 -0.026738\nvn -5.441984 -0.487051 -3.603607\nv 0.015368 0.072289 -0.026487\nvn 1.774599 0.578737 -2.164106\nv 0.049527 0.073900 -0.028266\nvn 7.280751 1.946697 -6.003058\nv 0.050779 0.074232 -0.026953\nvn -3.601186 -3.313156 -0.917397\nv -0.068634 0.073915 -0.026516\nvn -4.253958 -3.867561 -1.502408\nv -0.069565 0.074787 -0.026559\nvn 3.159330 -2.701988 -4.324672\nv -0.010191 0.076064 -0.027044\nvn 2.436501 0.959542 -1.371376\nv 0.049567 0.077487 -0.027822\nvn -5.152207 -0.168460 -3.042969\nv 0.015564 0.077867 -0.027864\nvn -6.567709 -2.980467 -3.401430\nv -0.072188 0.079599 -0.027307\nvn 6.081130 2.960533 -1.092782\nv 0.048946 0.080082 -0.026675\nvn -4.395374 0.479660 -2.282429\nv 0.015577 0.079597 -0.027815\nvn 1.213074 2.293493 -6.290130\nv -0.044289 0.081614 -0.027914\nvn 0.167759 1.712324 -5.713891\nv -0.042838 0.081343 -0.027873\nvn -0.665574 1.414453 -5.757164\nv -0.040654 0.081319 -0.027901\nvn -7.088662 1.141279 -3.488693\nv 0.015428 0.081442 -0.026751\nvn 2.178661 -1.604838 -2.945299\nv -0.006437 0.081308 -0.027383\nvn 2.029284 4.473620 -5.859241\nv -0.046302 0.082821 -0.027498\nvn 2.139996 -1.715478 -2.908353\nv -0.005796 0.082677 -0.027754\nvn 6.091293 3.327521 -0.246914\nv 0.047393 0.082749 -0.026712\nvn -1.480562 2.165148 -5.370904\nv -0.038540 0.083059 -0.027836\nvn -3.352854 -0.879191 -1.989209\nv -0.073257 0.083525 -0.027833\nvn 3.634347 6.688182 -5.994417\nv -0.048169 0.084247 -0.026994\nvn 4.090571 -2.650553 -5.017409\nv -0.004174 0.083889 -0.027101\nvn 3.397657 5.918976 -3.724513\nv -0.050274 0.085955 -0.026451\nvn 1.749219 -1.131521 -2.157317\nv -0.003935 0.085538 -0.027736\nvn -7.907100 0.473130 -3.896724\nv -0.074282 0.087838 -0.026728\nvn 7.203317 2.863904 -0.419563\nv 0.045237 0.086489 -0.026679\nvn 4.599474 -0.385327 -1.423609\nv 0.044964 0.087803 -0.026774\nvn -4.110263 1.407712 -2.404818\nv -0.073857 0.089856 -0.026614\nvn 5.041457 -1.632963 -2.593065\nv 0.045186 0.089408 -0.027157\nvn 0.000000 0.000000 0.000000\nv -0.073325 0.089217 -0.027897\nvn -3.260140 3.546135 -5.032482\nv -0.031051 0.090155 -0.027218\nvn 3.604394 4.587705 -1.349355\nv -0.058412 0.091575 -0.026610\nvn 3.951751 5.327014 -2.133856\nv -0.059711 0.092473 -0.026872\nvn 2.910448 4.515983 -2.633990\nv -0.061073 0.092977 -0.027849\nvn -2.853314 1.873479 -3.630084\nv -0.027659 0.092939 -0.027821\nvn 7.144372 -3.925758 -7.264087\nv 0.000904 0.091861 -0.026817\nvn -2.688824 5.397032 -3.471829\nv -0.070175 0.094089 -0.026904\nvn 3.145253 6.395368 -3.492299\nv -0.062374 0.094359 -0.026811\nvn 0.970570 3.318377 -1.989751\nv -0.063865 0.094454 -0.027576\nvn -2.516880 1.792257 -2.516819\nv -0.027180 0.094541 -0.027397\nvn 3.316924 -1.836877 -3.251240\nv 0.001778 0.095103 -0.027411\nvn 0.657907 -0.502447 -0.592346\nv 0.047776 0.094639 -0.027862\nvn -0.486264 0.532102 -0.735992\nv -0.026253 0.095075 -0.027937\nvn -5.348181 3.449564 -2.864094\nv 0.020235 0.096013 -0.026697\nvn -5.220257 3.808611 -4.646677\nv -0.026656 0.095899 -0.026753\nvn 3.357832 -1.872055 -3.192947\nv 0.002410 0.096617 -0.027684\nvn 4.318508 -2.517975 -3.294209\nv 0.049325 0.097351 -0.027622\nvn -2.083810 0.969805 -1.877586\nv -0.025176 0.098182 -0.027045\nvn -3.047474 1.945254 -1.696482\nv 0.022058 0.098404 -0.027120\nvn 6.063423 -4.660641 -4.638372\nv 0.050405 0.097591 -0.026593\nvn -5.443225 3.472649 -4.626530\nv -0.024756 0.099464 -0.026647\nvn 5.208351 -2.150084 -4.146416\nv 0.004796 0.099710 -0.026552\nvn -6.365558 4.161262 -2.854893\nv 0.024324 0.101906 -0.026766\nvn -4.842883 2.195504 -4.461096\nv -0.022935 0.101708 -0.027055\nvn -2.893023 1.967961 -1.915534\nv 0.025377 0.102775 -0.027659\nvn 4.540467 -2.395346 -3.023099\nv 0.053013 0.102181 -0.027230\nvn 2.186837 -0.942965 -1.786624\nv 0.005729 0.103215 -0.027456\nvn -5.013962 3.963272 -2.826477\nv 0.026080 0.104386 -0.026769\nvn -2.199267 1.085828 -1.701115\nv -0.021416 0.104337 -0.027558\nvn 2.652483 -1.724565 -2.412911\nv 0.053936 0.104455 -0.027726\nvn -3.615612 2.583633 -2.276933\nv 0.027358 0.105144 -0.027810\nvn 3.729190 -1.806085 -2.753116\nv 0.054899 0.105484 -0.027249\nvn 7.605600 -3.703264 -5.281786\nv 0.007378 0.105639 -0.026723\nvn -8.187815 4.124082 -5.774350\nv -0.021029 0.105899 -0.026904\nvn -3.011445 1.341560 -2.235806\nv -0.019869 0.107325 -0.027831\nvn -6.195175 3.725765 -3.390374\nv 0.028275 0.107641 -0.026779\nvn 5.388784 -2.301357 -3.812140\nv 0.056141 0.107825 -0.026724\nvn -2.950160 1.447609 -2.253103\nv -0.019340 0.109654 -0.027130\nvn 4.023077 -1.223220 -2.638857\nv 0.057303 0.111932 -0.027834\nvn 5.419600 -4.057398 -4.462376\nv 0.010821 0.111756 -0.026524\nvn 0.440164 -0.903996 -0.754042\nv 0.009977 0.112575 -0.028229\nvn 2.678089 -1.808051 -2.316603\nv 0.011404 0.113134 -0.027139\nvn -6.111888 2.475787 -4.474909\nv -0.017340 0.113863 -0.027251\nvn 3.203925 -1.092025 -2.077850\nv 0.058824 0.115415 -0.027099\nvn 4.851727 -3.392029 -3.666494\nv 0.013221 0.115713 -0.026909\nvn -7.612694 3.965371 -5.049539\nv -0.016590 0.116070 -0.026720\nvn -5.202764 0.868618 -2.803621\nv 0.032840 0.117623 -0.026746\nvn -3.992204 1.478737 -2.596684\nv -0.015506 0.117877 -0.027261\nvn 6.443495 -4.720348 -4.042942\nv 0.014691 0.117648 -0.026839\nvn -6.198901 2.819874 -4.146562\nv -0.015050 0.119663 -0.026980\nvn 4.848357 -3.723304 -3.328371\nv 0.016287 0.119463 -0.026539\nvn 1.998435 -1.559446 -1.596550\nv 0.017019 0.120935 -0.026985\nvn -4.893221 -0.991292 -3.254812\nv 0.033480 0.121500 -0.028072\nvn 2.240433 -0.294534 -1.971558\nv 0.059280 0.120947 -0.027660\nvn -6.873296 -1.903450 -3.488994\nv 0.032610 0.121610 -0.026544\nvn -6.311134 2.534085 -4.174922\nv -0.013211 0.123364 -0.026904\nvn 2.309926 -2.388918 -2.209149\nv 0.017937 0.122432 -0.027778\nvn -5.134243 1.503670 -3.765382\nv -0.012603 0.125210 -0.026823\nvn -3.921885 -1.821136 -2.451190\nv 0.032139 0.123671 -0.027092\nvn 6.363675 -0.018756 -4.718379\nv 0.060166 0.125568 -0.026743\nvn 1.817158 -2.967574 -1.929207\nv 0.021283 0.124803 -0.027141\nvn -4.040820 -3.680472 -4.046587\nv 0.030911 0.125271 -0.026655\nvn -5.245435 2.889494 -3.430234\nv -0.011498 0.127423 -0.026927\nvn -2.228923 -2.068959 -2.487023\nv 0.031261 0.126268 -0.027735\nvn 7.119666 1.108707 -5.298131\nv 0.059994 0.127488 -0.026698\nvn -0.590704 -4.439791 -3.943309\nv 0.028639 0.127100 -0.027451\nvn -0.366337 -1.291979 -7.849284\nv -0.040404 0.129431 -0.028083\nvn -6.467404 3.627379 -5.040225\nv -0.010684 0.129420 -0.026688\nvn 1.034956 -2.222538 -7.535370\nv -0.038550 0.129294 -0.028002\nvn 0.668922 -0.871495 -2.735307\nv -0.036995 0.129789 -0.027928\nvn -6.603236 3.739423 -4.815942\nv -0.009217 0.131532 -0.026834\nvn 0.858770 -1.069885 -2.655521\nv -0.034771 0.131855 -0.027891\nvn -0.878367 -0.745920 -3.828201\nv -0.043853 0.131895 -0.027797\nvn -3.786200 1.895517 -2.652827\nv -0.008011 0.132525 -0.027798\nvn 1.715102 -1.621144 -4.365185\nv -0.033159 0.133714 -0.028043\nvn -2.483128 0.095343 -7.597039\nv -0.044361 0.135271 -0.027955\nvn 3.533063 1.775453 -3.052243\nv 0.057508 0.134511 -0.027743\nvn -4.444676 2.446115 -3.162995\nv -0.007310 0.135416 -0.026917\nvn 6.646761 2.295980 -5.564963\nv 0.058280 0.135100 -0.026491\nvn -5.201650 3.894339 -4.634754\nv -0.006362 0.137243 -0.026479\nvn -1.797694 -0.285754 -4.634611\nv -0.044044 0.137338 -0.027982\nvn -2.491596 1.964766 -2.428132\nv -0.005370 0.137499 -0.027246\nvn -3.356672 2.253448 -2.931225\nv -0.004174 0.138322 -0.027870\nvn 3.703692 -0.740159 -6.646799\nv -0.029134 0.139367 -0.027978\nvn 5.506149 2.884581 -4.967686\nv 0.056080 0.139549 -0.026840\nvn -1.035586 -1.613515 -1.974413\nv -0.045728 0.141717 -0.027802\nvn -0.020317 -2.679973 -2.470062\nv -0.051164 0.141821 -0.027734\nvn 0.182097 -4.186188 -2.128484\nv -0.050488 0.141347 -0.026661\nvn -2.787993 -4.515277 -6.343035\nv -0.048583 0.141298 -0.026793\nvn 2.442010 1.603441 -2.698526\nv 0.053727 0.142325 -0.028120\nvn -1.975224 -1.510156 -3.897492\nv -0.053870 0.143090 -0.027824\nvn 2.227169 2.368379 -2.323093\nv 0.053010 0.143842 -0.027376\nvn -1.376572 0.104589 -3.594828\nv -0.053853 0.144298 -0.027936\nvn -3.606971 3.156090 -3.604414\nv 0.000695 0.145351 -0.027029\nvn 3.157829 2.562357 -2.877579\nv 0.051669 0.144814 -0.027782\nvn 3.973034 2.715421 -3.575166\nv 0.051113 0.146080 -0.027511\nvn 3.801527 -0.474283 -4.559554\nv -0.027235 0.147377 -0.027837\nvn -2.559168 0.186604 -4.326438\nv -0.053602 0.147572 -0.027847\nvn 3.212955 3.643387 -3.436889\nv 0.050458 0.147505 -0.027013\nvn -3.211937 3.787596 -3.333157\nv 0.002689 0.147327 -0.027247\nvn -1.979954 3.419183 -3.046996\nv 0.005427 0.148311 -0.027821\nvn -0.605116 0.208718 -0.852188\nv -0.053373 0.148396 -0.027937\nvn 0.686170 -0.301005 -0.744657\nv -0.027408 0.149150 -0.027997\nvn 4.073184 5.443126 -4.194949\nv 0.048294 0.149361 -0.026631\nvn 4.055222 6.351249 -4.886137\nv 0.046169 0.151131 -0.026431\nvn 3.360748 -0.126219 -3.672618\nv -0.027473 0.151075 -0.028196\nvn -3.061255 5.964606 -4.330599\nv 0.008845 0.151546 -0.026878\nvn -1.361795 -1.610852 -4.512699\nv -0.054306 0.151367 -0.027794\nvn 3.499816 0.323926 -3.530593\nv -0.027294 0.152811 -0.027874\nvn 0.000000 0.000000 0.000000\nv 0.042177 0.152125 -0.028067\nvn 3.675560 6.545779 -4.883622\nv 0.042698 0.152973 -0.026659\nvn -2.946419 1.115744 -4.777053\nv -0.056360 0.153341 -0.027287\nvn -1.456382 2.975873 -2.236183\nv 0.014063 0.153459 -0.027586\nvn -1.773816 5.254270 -3.221488\nv 0.016710 0.154984 -0.026557\nvn -0.924893 1.002449 -0.767114\nv 0.016627 0.154229 -0.027766\nvn 1.578789 5.499919 -3.980970\nv 0.036097 0.154469 -0.027748\nvn 3.395172 0.048598 -3.514128\nv -0.027590 0.154458 -0.027869\nvn -0.538456 4.210066 -2.586047\nv 0.018768 0.155110 -0.026630\nvn -0.544819 6.031799 -3.479494\nv 0.022503 0.155563 -0.027076\nvn -0.566972 6.822045 -4.121814\nv 0.026493 0.155791 -0.026958\nvn 2.888486 0.433323 -2.702194\nv -0.027624 0.156591 -0.027718\nvn -2.711522 -0.671528 -2.600782\nv -0.054857 0.156166 -0.027225\nvn -4.132666 -2.788246 -5.271267\nv -0.056051 0.156946 -0.026681\nvn 0.000000 0.000000 0.000000\nv -0.055959 0.157725 -0.027937\nvn 4.496190 1.015380 -3.802340\nv -0.027813 0.159020 -0.027501\nvn -1.012462 -1.799492 -1.823380\nv -0.058401 0.160406 -0.027416\nvn 4.308219 1.618713 -3.819021\nv -0.028121 0.161113 -0.027064\nvn 6.141084 3.901596 -6.545134\nv -0.028681 0.162976 -0.026678\nvn -3.468767 2.152931 -5.458198\nv -0.060773 0.163128 -0.027236\nvn 2.838294 1.605971 -2.105222\nv -0.030068 0.163516 -0.027633\nvn 3.451880 1.628094 -3.167629\nv -0.030088 0.164864 -0.027073\nvn 4.601951 3.163005 -5.055431\nv -0.030732 0.166661 -0.026694\nvn -1.454684 -0.227676 -4.676337\nv -0.058011 0.169035 -0.027898\nvn 5.352396 4.553981 -4.609457\nv -0.032621 0.168846 -0.026796\nvn 2.847183 2.485445 -1.257991\nv -0.033790 0.169647 -0.027587\nvn -1.838559 -0.212818 -5.432305\nv -0.059327 0.169397 -0.027831\nvn -1.518107 1.075275 -3.323171\nv -0.059298 0.170662 -0.027749\nvn 2.618809 2.785045 -1.068727\nv -0.035869 0.171701 -0.027634\nvn -3.189871 1.857299 -3.277972\nv -0.057444 0.172142 -0.027687\nvn 5.180769 7.119484 -4.171692\nv -0.036689 0.173007 -0.026579\nvn -2.401893 2.147538 -2.279102\nv -0.056834 0.173378 -0.027341\nvn -3.807372 5.478297 -5.382243\nv -0.056122 0.174646 -0.026697\nvn 2.913474 8.393367 -4.448795\nv -0.040638 0.174779 -0.026822\nvn -1.417079 4.068807 -2.169361\nv -0.054567 0.175317 -0.026904\nvn 1.491354 4.398067 -1.634999\nv -0.043989 0.175589 -0.027055\nvn 0.954653 3.518837 -1.609485\nv -0.042443 0.175291 -0.026879\nvn -2.245643 7.214090 -1.762793\nv -0.052565 0.176190 -0.026680\nvn 2.209346 4.910411 -1.398562\nv -0.044555 0.175997 -0.026548\nvn 2.518305 7.485338 1.615145\nv -0.046299 0.176425 -0.026820\nvn -1.544282 6.594377 0.672675\nv -0.050512 0.176826 -0.026641\nvn 2.613899 -6.610174 -2.512137\nv -0.019149 0.182019 -0.027021\nvn 2.642392 -6.107964 -0.235160\nv -0.016930 0.182893 -0.026787\nvn -1.202378 -1.025125 -4.492819\nv -0.024282 0.183106 -0.027772\nvn -1.882001 1.091116 -5.372963\nv -0.024014 0.184758 -0.027835\nvn 4.774779 -7.461859 2.970643\nv -0.012829 0.184966 -0.026761\nvn 5.983002 -5.480753 6.139983\nv -0.010925 0.186448 -0.026752\nvn 2.843210 -3.256622 2.013145\nv -0.009407 0.187347 -0.027427\nvn -2.223106 6.597539 -2.655389\nv -0.020800 0.187927 -0.026502\nvn -1.788408 5.620346 -0.224150\nv -0.017011 0.189092 -0.026633\nvn -1.692058 5.543508 1.288474\nv -0.014456 0.189902 -0.026667\nvn -1.020333 4.876475 2.378570\nv -0.012840 0.190379 -0.026700\nvn 0.451790 5.646925 6.064704\nv -0.010748 0.190527 -0.026583\nvn 0.183566 2.787259 2.056812\nv -0.009440 0.191665 -0.027578\nvn 1.142209 -1.791959 2.110121\nv -0.033117 0.054941 -0.027260\nvn 3.126402 -6.669369 2.876955\nv -0.032625 0.056172 -0.026540\nvn 1.756167 -2.896256 0.258468\nv -0.031276 0.056980 -0.026465\nvn 2.705750 -4.320379 0.350556\nv -0.030201 0.057625 -0.026674\nvn -3.001363 -7.930020 2.419734\nv -0.050574 0.057908 -0.026494\nvn 3.853187 -5.598650 -0.976972\nv -0.028818 0.058454 -0.026679\nvn -2.053721 -5.326591 1.568581\nv -0.052487 0.058543 -0.026690\nvn 2.917235 -2.828716 -5.363579\nv 0.056214 0.058132 -0.026979\nvn -1.716828 -6.657943 0.812911\nv -0.084076 0.058805 -0.026769\nvn 1.243583 -5.847590 -0.441938\nv -0.074210 0.059498 -0.026871\nvn 3.113827 -0.188492 -3.803517\nv 0.056478 0.060236 -0.027462\nvn 0.529876 -3.524265 -5.959747\nv 0.028965 0.061153 -0.027677\nvn 0.810184 -3.978681 -5.651467\nv 0.030808 0.060446 -0.026946\nvn 0.491565 -1.555904 -2.476779\nv 0.031283 0.061258 -0.027438\nvn -2.378470 -3.263816 -4.388002\nv 0.022709 0.061784 -0.027191\nvn 1.186181 -3.525748 -5.897055\nv 0.032527 0.061714 -0.027356\nvn 0.876201 -4.688179 -5.111818\nv 0.038464 0.062355 -0.026730\nvn -4.067210 -4.362308 -5.307214\nv 0.020746 0.062797 -0.026561\nvn -0.097329 -3.824890 -3.128915\nv 0.040413 0.063230 -0.027299\nvn -1.504947 -1.596678 -2.033768\nv 0.020589 0.064038 -0.027497\nvn 6.161610 3.689336 -5.039112\nv 0.056061 0.064199 -0.026526\nvn 3.953752 -4.045975 -3.981825\nv -0.020790 0.064249 -0.026911\nvn -4.013885 -3.449144 -4.549774\nv 0.018997 0.064548 -0.026606\nvn 6.429268 5.723736 -4.448429\nv 0.054354 0.066217 -0.026724\nvn 1.423951 -1.912288 -1.712753\nv -0.017952 0.067704 -0.027493\nvn -4.955969 -2.246667 -4.346027\nv 0.016848 0.068273 -0.026852\nvn 0.781859 4.343390 1.955316\nv -0.080145 0.068618 -0.026603\nvn 1.505711 -1.356677 -2.208454\nv -0.016208 0.069462 -0.027478\nvn 1.706577 -1.191694 -2.156569\nv -0.012191 0.073581 -0.027126\nvn -4.289315 -0.546992 -2.466828\nv 0.015208 0.074215 -0.026916\nvn -7.001739 -0.271251 -3.817839\nv 0.015104 0.075825 -0.026822\nvn -6.065198 -4.327885 -2.763988\nv -0.070378 0.075974 -0.026698\nvn -3.034408 -1.967246 -1.690156\nv -0.070829 0.077316 -0.027528\nvn 6.894751 2.988943 -2.398410\nv 0.050035 0.077759 -0.026585\nvn 4.806712 -4.069071 -6.415842\nv -0.008767 0.077649 -0.027059\nvn -6.348832 0.144996 -2.927776\nv 0.015077 0.077706 -0.026899\nvn -6.503465 -3.719935 -2.770150\nv -0.071675 0.077858 -0.026435\nvn -2.476503 -0.834899 -1.415090\nv -0.072898 0.081525 -0.027542\nvn -0.813235 2.737032 -6.324701\nv -0.040943 0.082494 -0.027477\nvn 4.316735 2.401876 -0.385099\nv 0.047998 0.081794 -0.026543\nvn 6.431561 -4.671909 -7.568593\nv -0.004909 0.081889 -0.026589\nvn -3.512621 0.374168 -1.874566\nv 0.015927 0.081985 -0.027587\nvn 0.366653 2.669031 -5.316163\nv -0.044218 0.082766 -0.027474\nvn -7.818779 -2.454612 -3.603211\nv -0.073583 0.082104 -0.026525\nvn -2.626211 0.509761 -1.316446\nv 0.016046 0.084647 -0.027265\nvn 5.161924 2.974728 0.234719\nv 0.046659 0.084218 -0.026449\nvn -1.356284 2.422950 -4.140200\nv -0.038646 0.084326 -0.027197\nvn -0.921722 2.121006 -3.248572\nv -0.036779 0.084642 -0.027602\nvn -4.443902 -0.430588 -2.138793\nv -0.074311 0.085778 -0.026850\nvn -3.151991 5.937163 -7.273535\nv -0.036432 0.086200 -0.026642\nvn -7.701515 2.317693 -3.911152\nv 0.016221 0.085976 -0.026927\nvn -2.426371 3.201418 -4.394366\nv -0.034460 0.086533 -0.027173\nvn 4.075774 -2.391880 -5.150550\nv -0.002822 0.085978 -0.027086\nvn 2.418325 -1.215119 -2.934404\nv -0.002332 0.087402 -0.027249\nvn -4.386582 1.032436 -2.150314\nv 0.016669 0.087758 -0.026758\nvn 4.078046 6.521028 -1.912671\nv -0.052571 0.087445 -0.026665\nvn 2.164057 3.254670 -0.781589\nv -0.054832 0.088965 -0.026997\nvn -2.522453 2.362073 -3.597847\nv -0.032798 0.088353 -0.027237\nvn 4.295232 -2.674452 -4.776795\nv -0.000826 0.089573 -0.026988\nvn 2.324315 -1.442176 -2.916592\nv -0.000488 0.091037 -0.027486\nvn -6.494968 3.089654 -3.440486\nv 0.018000 0.091486 -0.027189\nvn -2.780466 2.107109 -3.549213\nv -0.029088 0.092436 -0.027096\nvn 3.236243 3.406919 -0.844737\nv -0.060737 0.093461 -0.026464\nvn 4.034758 -1.824144 -4.042610\nv 0.001387 0.093517 -0.027034\nvn 5.203000 -3.526972 -3.004481\nv 0.048209 0.094007 -0.026569\nvn -4.775546 2.626743 -2.494563\nv 0.018857 0.093581 -0.026648\nvn 4.528471 -2.473172 -3.042727\nv 0.048800 0.095604 -0.027158\nvn -5.366169 3.543185 -2.731649\nv 0.021245 0.097614 -0.026488\nvn 2.805780 -1.422178 -2.454432\nv 0.003356 0.097097 -0.026963\nvn 2.035696 -1.453177 -1.628817\nv 0.051136 0.099097 -0.027203\nvn 0.000000 -0.000000 0.000000\nv -0.023623 0.099625 -0.027621\nvn -4.836843 3.447847 -1.699549\nv 0.022575 0.099596 -0.026543\nvn -5.954401 2.887115 -4.460842\nv -0.022454 0.103555 -0.026564\nvn 5.948530 -3.539417 -3.912015\nv 0.054099 0.103592 -0.026767\nvn 2.912721 -1.480270 -2.306817\nv 0.007649 0.107381 -0.027493\nvn -5.440832 2.996029 -3.162043\nv 0.029178 0.109412 -0.026478\nvn 3.733352 -1.867366 -2.747837\nv 0.056806 0.109562 -0.026967\nvn -6.044969 2.734234 -4.393104\nv -0.018836 0.111265 -0.026581\nvn -5.439849 2.772467 -3.371319\nv 0.030448 0.111403 -0.026945\nvn 2.113819 -1.145510 -1.791096\nv 0.009590 0.111088 -0.027499\nvn 4.663023 -1.991959 -3.172604\nv 0.057236 0.110971 -0.027303\nvn -5.460447 2.686197 -3.398803\nv 0.031291 0.113468 -0.026594\nvn 9.067766 -3.034402 -5.307132\nv 0.058383 0.113607 -0.026666\nvn 5.699116 -3.851102 -3.959746\nv 0.012423 0.114008 -0.026521\nvn -3.092486 1.352315 -2.141641\nv 0.031911 0.114303 -0.026918\nvn 2.534487 -2.031259 -2.319614\nv 0.013716 0.117125 -0.027587\nvn 5.706013 -1.166935 -3.756747\nv 0.059614 0.117373 -0.026719\nvn -5.351047 -0.049651 -2.585558\nv 0.033075 0.119380 -0.026783\nvn 6.427852 -1.071613 -4.530543\nv 0.059959 0.119454 -0.026636\nvn -2.290021 1.039417 -1.602040\nv -0.013519 0.122026 -0.027193\nvn 3.700438 0.016753 -3.299021\nv 0.059163 0.123224 -0.027503\nvn 6.192992 -7.325400 -5.236607\nv 0.019229 0.122992 -0.026978\nvn 1.394360 -1.951871 -1.798435\nv 0.019777 0.124125 -0.027791\nvn 2.614936 -5.463429 -3.465393\nv 0.022873 0.125307 -0.026680\nvn -0.292688 -0.637562 -4.913817\nv -0.042791 0.127425 -0.027587\nvn 0.274313 -0.863451 -0.449731\nv 0.025173 0.126648 -0.027125\nvn 0.658188 -2.504629 -7.523298\nv -0.040466 0.126966 -0.027409\nvn 0.147750 -4.020765 -2.881397\nv 0.026576 0.126818 -0.026909\nvn -0.669069 -0.974803 -5.822848\nv -0.042056 0.128208 -0.027734\nvn 0.007701 -1.062694 -3.842089\nv -0.040627 0.128121 -0.027798\nvn 0.447183 -1.496054 -4.733876\nv -0.039373 0.128150 -0.027724\nvn 1.113483 -2.190396 -5.466257\nv -0.038472 0.127217 -0.027219\nvn 1.972439 -2.190320 -5.174449\nv -0.036743 0.127712 -0.026988\nvn -1.373106 -0.517309 -6.809741\nv -0.043095 0.129588 -0.027594\nvn 3.139034 0.792891 -2.318225\nv 0.059210 0.128208 -0.027372\nvn -0.832681 -0.484167 -3.871362\nv -0.042261 0.129579 -0.027835\nvn 1.976495 -2.162099 -5.162812\nv -0.036126 0.129152 -0.027384\nvn -1.043668 -0.926128 -5.819995\nv -0.044414 0.131080 -0.027520\nvn 2.635701 -2.636893 -5.882419\nv -0.034301 0.131046 -0.027362\nvn -1.324611 -0.459457 -6.812910\nv -0.046263 0.131350 -0.027356\nvn -2.410009 0.309203 -6.541143\nv -0.046229 0.133475 -0.027336\nvn -3.817071 1.747992 -2.709682\nv -0.007786 0.133353 -0.027587\nvn 5.159028 2.216316 -4.105621\nv 0.058646 0.133479 -0.026911\nvn 2.389042 -1.842693 -3.955838\nv -0.032219 0.133077 -0.027288\nvn 2.917454 -2.399335 -4.575391\nv -0.030581 0.134841 -0.027091\nvn 1.212854 -1.203829 -2.397091\nv -0.031323 0.135238 -0.027753\nvn -1.417011 0.118401 -3.737123\nv -0.045418 0.135468 -0.027578\nvn 2.818519 1.574705 -2.356132\nv 0.056947 0.137534 -0.027266\nvn 3.842218 -2.310641 -5.329538\nv -0.028633 0.137411 -0.026998\nvn 1.417196 -0.826881 -2.463345\nv -0.029398 0.138125 -0.027824\nvn -2.549103 -0.754905 -5.270981\nv -0.046274 0.139489 -0.027098\nvn 1.520126 0.026315 -2.235372\nv -0.028117 0.139328 -0.027352\nvn -2.042790 1.334163 -1.736945\nv -0.003864 0.139635 -0.027375\nvn 2.123574 -0.550408 -3.326045\nv -0.028106 0.140575 -0.027587\nvn -7.142897 5.779140 -5.964838\nv -0.003125 0.141462 -0.026703\nvn -1.752559 -2.470695 -4.691356\nv -0.046395 0.141238 -0.027276\nvn -1.341672 -6.220648 -1.959096\nv -0.052575 0.141606 -0.026716\nvn 5.405879 4.517767 -5.492463\nv 0.054311 0.143185 -0.026900\nvn -1.907446 -1.516100 -3.977944\nv -0.054841 0.142851 -0.027239\nvn -3.585783 3.155169 -3.625542\nv -0.001075 0.143500 -0.026872\nvn -3.494290 0.445287 -7.035864\nv -0.054318 0.145293 -0.027553\nvn 2.187979 -0.340083 -3.315837\nv -0.027823 0.144425 -0.027612\nvn 3.218469 -0.264182 -3.787362\nv -0.026260 0.147021 -0.026770\nvn 3.914944 -0.431714 -4.532946\nv -0.026409 0.149582 -0.027034\nvn -2.743779 -0.430204 -6.340947\nv -0.054473 0.149459 -0.027245\nvn -1.309305 1.958022 -1.850475\nv 0.006565 0.149625 -0.027224\nvn -3.644697 5.349150 -4.679076\nv 0.007070 0.150612 -0.026597\nvn 2.389651 4.362278 -3.322960\nv 0.044545 0.151734 -0.026777\nvn -3.290626 -1.723555 -6.988676\nv -0.056285 0.151212 -0.026988\nvn -1.511327 -0.440587 -3.490816\nv -0.055473 0.152650 -0.027865\nvn -2.076056 4.505339 -3.371529\nv 0.010996 0.152610 -0.026659\nvn 2.916364 0.236367 -4.030627\nv -0.026332 0.152942 -0.027021\nvn 1.294793 3.768591 -2.985366\nv 0.040846 0.153607 -0.026977\nvn -5.024784 2.825874 -4.559858\nv -0.055929 0.154703 -0.026615\nvn 2.028159 6.113428 -4.723951\nv 0.038429 0.154644 -0.026488\nvn -2.298409 0.305582 -3.061299\nv -0.054932 0.155369 -0.027132\nvn -0.147342 5.067973 -3.075125\nv 0.028877 0.155864 -0.027413\nvn 0.227935 2.468202 -1.558181\nv 0.029927 0.155891 -0.027413\nvn -2.222217 -2.708026 -4.729395\nv -0.056875 0.158982 -0.027412\nvn -1.150881 -3.514090 -3.341101\nv -0.060541 0.160405 -0.027027\nvn -1.428540 -0.552656 -2.894410\nv -0.061275 0.161488 -0.027750\nvn -2.586312 -2.885303 -6.773109\nv -0.062262 0.160805 -0.026882\nvn -1.739179 -0.045071 -3.563598\nv -0.058851 0.166746 -0.027499\nvn -1.910414 -0.703496 -5.539521\nv -0.058868 0.168019 -0.027581\nvn -2.745507 -0.069447 -6.254070\nv -0.060592 0.168879 -0.027302\nvn -3.146837 2.687916 -5.418303\nv -0.060079 0.171236 -0.026934\nvn -0.989707 2.061558 -3.197188\nv -0.058513 0.171602 -0.027495\nvn 1.439536 2.320609 -0.988425\nv -0.038175 0.173307 -0.027434\nvn 0.547157 4.743900 0.422073\nv -0.048097 0.176933 -0.026569\nvn -0.140036 -2.575096 -2.713840\nv -0.022232 0.181731 -0.027464\nvn 0.457168 -3.342601 -3.376402\nv -0.020783 0.181834 -0.027472\nvn -1.310498 -1.474536 -6.370758\nv -0.025021 0.182434 -0.027397\nvn -1.861685 1.048988 -4.317708\nv -0.025069 0.184890 -0.027399\nvn -2.730289 5.389314 -4.685425\nv -0.024593 0.186341 -0.026634\nvn -2.384006 5.577659 -2.809937\nv -0.022641 0.187200 -0.026722\nvn -0.581724 2.203087 -1.550627\nv -0.021360 0.187478 -0.027361\nvn -1.376681 4.671253 -0.711335\nv -0.019014 0.188477 -0.026748\nvn 4.166190 -1.644866 6.181798\nv -0.009092 0.188576 -0.026945\nvn 2.063227 0.910659 4.806306\nv -0.007691 0.190665 -0.027562\nvn 1.723472 1.774774 3.913869\nv -0.008891 0.190524 -0.027034\nvn -0.196162 -6.348157 3.759809\nv -0.038543 0.054046 -0.026589\nvn 0.722328 -5.359596 4.398712\nv -0.036396 0.054204 -0.026639\nvn 0.080916 -4.579308 -3.706395\nv 0.054241 0.057583 -0.027021\nvn 0.842316 -3.908425 -0.100174\nv -0.077687 0.058808 -0.026975\nvn 0.080724 -4.455286 -5.368797\nv 0.026981 0.060133 -0.027061\nvn 0.369743 -3.656377 -4.726100\nv 0.028749 0.059832 -0.026642\nvn 0.794753 -2.567313 -4.211511\nv 0.034600 0.061972 -0.027183\nvn 3.426178 1.191887 -3.379788\nv 0.056726 0.062183 -0.026935\nvn -3.956134 2.186113 4.563639\nv -0.086206 0.064489 -0.026315\nvn 4.149625 0.084886 -4.323940\nv 0.050932 0.071784 -0.027013\nvn 5.581285 -4.442672 -6.986709\nv -0.011065 0.074112 -0.026488\nvn 3.794575 -2.861588 -5.137954\nv -0.006647 0.080051 -0.026873\nvn -3.632619 0.452007 -1.590312\nv 0.015054 0.079968 -0.026560\nvn 0.101402 1.744787 -3.570415\nv -0.042309 0.082492 -0.027429\nvn -5.322844 -1.162792 -2.432340\nv -0.074133 0.084061 -0.026533\nvn -1.330037 3.230605 -4.792171\nv -0.040688 0.084018 -0.026699\nvn -4.826124 4.265727 -5.784819\nv -0.034309 0.087722 -0.026440\nvn -5.240797 1.494056 -2.466180\nv 0.016979 0.089521 -0.026660\nvn 4.383772 6.524282 -1.268902\nv -0.056191 0.089897 -0.026538\nvn -4.086141 3.713783 -4.170440\nv -0.030492 0.091580 -0.026432\nvn -4.762113 3.481938 -3.635330\nv -0.072598 0.092254 -0.026633\nvn 5.486827 -3.462886 -2.582489\nv 0.046878 0.091969 -0.026510\nvn -3.227524 3.715212 -3.339737\nv -0.071559 0.093484 -0.026508\nvn 3.731431 -2.267444 -2.392159\nv 0.047136 0.092975 -0.027237\nvn -4.352429 3.413074 -4.222102\nv -0.028477 0.094039 -0.026450\nvn 2.877455 -1.245464 -2.482634\nv 0.003943 0.099179 -0.027303\nvn 5.120843 -3.189306 -3.483471\nv 0.051989 0.099657 -0.026537\nvn -3.659544 2.682248 -2.054336\nv 0.025116 0.103338 -0.026592\nvn -4.560539 3.039670 -2.406078\nv 0.026883 0.105629 -0.026455\nvn -2.994256 1.869764 -1.876058\nv 0.027934 0.106625 -0.027237\nvn -3.875881 1.746542 -2.609464\nv -0.020505 0.107769 -0.026582\nvn 5.821628 -3.291433 -4.337775\nv 0.009400 0.109435 -0.026726\nvn -5.023404 1.757398 -2.691623\nv 0.032163 0.115645 -0.026370\nvn -0.460489 -1.086630 -4.831748\nv -0.044293 0.125548 -0.027157\nvn 0.084529 -1.765356 -6.710056\nv -0.042586 0.125624 -0.027243\nvn -0.881185 -1.460890 -6.737598\nv -0.046133 0.125498 -0.026898\nvn -1.565228 -3.144406 -3.503714\nv 0.030133 0.126517 -0.027278\nvn -1.183224 -0.468414 -6.847539\nv -0.046430 0.127582 -0.027176\nvn -0.675389 -0.406510 -5.914422\nv -0.044382 0.127713 -0.027460\nvn -0.721852 -0.195045 -5.937603\nv -0.044448 0.129550 -0.027366\nvn 4.668311 0.603954 -3.671443\nv 0.058979 0.129591 -0.027301\nvn -0.567147 -0.172004 -3.943745\nv -0.046047 0.129598 -0.027249\nvn 3.188397 -0.076131 -2.373744\nv 0.058977 0.131003 -0.027241\nvn 3.768636 -3.218805 -6.230356\nv -0.032522 0.131468 -0.026639\nvn -4.636537 2.169294 -3.123300\nv -0.008458 0.133192 -0.026650\nvn -2.549298 0.228525 -5.415084\nv -0.046738 0.135185 -0.027049\nvn -3.158339 0.181106 -7.322626\nv -0.046096 0.137513 -0.027262\nvn 3.764755 -0.758575 -5.828215\nv -0.027026 0.141225 -0.026951\nvn 5.090199 2.403105 -4.064311\nv 0.055860 0.141252 -0.026449\nvn -1.468190 -5.218778 -3.683009\nv -0.054207 0.141821 -0.026430\nvn 3.145617 -0.224337 -5.098814\nv -0.027823 0.142675 -0.027566\nvn -2.063382 0.101996 -4.517287\nv -0.056000 0.145023 -0.026909\nvn 4.772752 4.218389 -4.757862\nv 0.052545 0.144993 -0.026681\nvn 5.138914 -0.554699 -7.312625\nv -0.026303 0.145053 -0.026649\nvn -2.354544 0.290163 -4.385084\nv -0.054725 0.147015 -0.027158\nvn -3.226977 5.371129 -4.949414\nv 0.005096 0.149268 -0.026637\nvn -1.161367 -1.057219 -3.642720\nv -0.054847 0.150696 -0.027322\nvn 4.450834 0.060171 -5.351315\nv -0.026352 0.151147 -0.027106\nvn -2.923432 5.977671 -4.425416\nv 0.012776 0.153408 -0.026745\nvn 3.747561 0.129531 -5.754284\nv -0.026315 0.154903 -0.026946\nvn -2.251993 6.417259 -4.126579\nv 0.014719 0.154665 -0.026325\nvn 0.866751 6.646824 -4.335484\nv 0.034518 0.155355 -0.026813\nvn 0.742019 3.102437 -2.367210\nv 0.036412 0.155152 -0.026829\nvn 3.987135 1.162201 -5.526366\nv -0.026552 0.156769 -0.026735\nvn -2.957624 -3.861650 -5.785939\nv -0.058324 0.159514 -0.026765\nvn -3.233753 2.427622 -5.591159\nv -0.062311 0.162832 -0.026461\nvn -2.813981 1.026574 -4.968156\nv -0.060242 0.164635 -0.026790\nvn -2.278157 -0.059423 -4.426161\nv -0.058973 0.165250 -0.027508\nvn -2.625607 -0.725013 -6.405136\nv -0.060237 0.166755 -0.027019\nvn -3.079300 3.783528 -6.111968\nv -0.058299 0.172788 -0.026700\nvn -0.104361 -4.620642 -4.536258\nv -0.022737 0.180939 -0.026625\nvn 1.743384 -6.248131 -2.120521\nv -0.021022 0.181217 -0.026348\nvn -1.128493 -0.303568 -4.728598\nv -0.026864 0.182836 -0.027014\nvn -2.940807 3.480061 -7.359940\nv -0.026759 0.184887 -0.026630\nvn 3.009651 -1.488263 -4.693409\nv 0.057955 0.058289 -0.026091\nvn -1.789910 -1.762764 6.681643\nv -0.087797 0.060142 -0.026342\nvn 3.859315 0.248171 -4.391280\nv 0.057748 0.060367 -0.026415\nvn -2.667176 -2.917038 3.724535\nv -0.086199 0.059917 -0.026064\nvn -1.368961 -3.525208 1.113939\nv -0.054423 0.059486 -0.026187\nvn -2.347891 -4.212021 -1.266025\nv 0.049190 0.058926 -0.026185\nvn 2.325358 -5.485823 -0.677612\nv -0.070118 0.060743 -0.026203\nvn -1.669010 -2.323229 -2.775281\nv 0.023052 0.060703 -0.026511\nvn 1.335941 -4.937101 -7.366562\nv 0.032667 0.060245 -0.026531\nvn -1.089966 -3.587027 1.386272\nv -0.060621 0.061533 -0.026358\nvn 1.167757 -3.394939 -4.785438\nv 0.034363 0.060549 -0.026393\nvn 0.530172 -4.309106 -4.091389\nv 0.040613 0.062389 -0.026372\nvn -1.933527 1.435416 0.887218\nv -0.087444 0.063973 -0.026985\nvn 0.000000 -0.000000 0.000000\nv -0.020123 0.065325 -0.027157\nvn 5.469872 -5.730658 -7.463068\nv -0.016604 0.067805 -0.026671\nvn -1.418040 8.121770 4.885623\nv -0.077761 0.068191 -0.026470\nvn -0.408548 5.583631 3.225399\nv -0.075905 0.068165 -0.026309\nvn 0.285707 3.872909 2.999273\nv -0.082156 0.068677 -0.026199\nvn -0.739735 5.128972 2.473643\nv -0.074273 0.068604 -0.026488\nvn -1.021973 4.554553 1.402741\nv -0.072380 0.068791 -0.026419\nvn 2.171471 -1.973160 -2.707076\nv -0.013617 0.070655 -0.026439\nvn 3.547503 0.934485 -1.510783\nv 0.050607 0.076173 -0.026573\nvn 2.695709 -2.205489 -3.577725\nv -0.009115 0.076297 -0.026412\nvn 2.216712 -1.792113 -2.798936\nv -0.007235 0.078469 -0.026412\nvn 4.389274 2.311190 -0.363235\nv 0.049472 0.079165 -0.026261\nvn -0.108658 4.124006 -5.562137\nv -0.042440 0.083827 -0.026619\nvn 0.843645 4.494310 -5.166571\nv -0.046271 0.084272 -0.026447\nvn 0.297878 3.759580 -4.629340\nv -0.044484 0.084169 -0.026554\nvn -7.177600 0.981920 -3.354141\nv 0.015441 0.083606 -0.026267\nvn 3.677119 -2.345153 -4.072541\nv -0.002961 0.084319 -0.026406\nvn 0.951872 1.883193 -2.129164\nv -0.048626 0.085224 -0.026306\nvn -1.785087 3.676695 -4.362072\nv -0.038539 0.085499 -0.026391\nvn 3.363298 2.123077 0.236798\nv 0.045816 0.085504 -0.026228\nvn 5.188677 -2.500233 -5.523244\nv -0.001120 0.087795 -0.026421\nvn 3.476631 4.787608 -0.850312\nv -0.053983 0.088444 -0.026573\nvn -3.642945 3.996968 -4.358369\nv -0.032666 0.089708 -0.026350\nvn 5.971571 -2.590189 -2.371105\nv 0.045834 0.090068 -0.026442\nvn 1.923495 -1.309761 -1.829726\nv 0.000565 0.090259 -0.026254\nvn -3.906416 1.925881 -2.369784\nv -0.073384 0.091418 -0.026281\nvn -3.396005 1.407293 -1.521469\nv 0.017343 0.091011 -0.026361\nvn -1.175458 5.081485 -2.913826\nv -0.067927 0.095074 -0.026570\nvn 6.566657 -3.320955 -5.119186\nv 0.002924 0.095740 -0.026559\nvn -3.197398 1.819818 -1.528028\nv 0.019424 0.095153 -0.026188\nvn -0.140563 6.971356 -3.832612\nv -0.066265 0.095328 -0.026480\nvn 1.299226 6.050252 -3.114012\nv -0.064404 0.095254 -0.026392\nvn 5.298844 -3.266296 -3.052767\nv 0.049715 0.096137 -0.026175\nvn -4.364232 2.209973 -3.404154\nv -0.025979 0.097741 -0.026282\nvn 5.220726 -2.365292 -3.979869\nv 0.004379 0.097996 -0.026217\nvn -3.553571 1.980765 -2.846490\nv -0.023953 0.101261 -0.026123\nvn 5.290729 -2.449581 -3.831591\nv 0.005547 0.101546 -0.026538\nvn -1.032552 0.773156 0.121079\nv 0.023685 0.100929 -0.026734\nvn 4.662415 -2.015515 -3.108504\nv 0.006682 0.103576 -0.026415\nvn 4.728170 -2.782729 -2.404794\nv 0.053606 0.102150 -0.026141\nvn 4.777545 -2.348447 -2.706757\nv 0.055781 0.105839 -0.026135\nvn 4.510275 -2.388393 -3.123115\nv 0.008579 0.107587 -0.026416\nvn -5.481608 2.539693 -3.500800\nv -0.020010 0.109731 -0.026081\nvn 4.736903 -2.060002 -2.999351\nv 0.057484 0.109765 -0.026231\nvn 5.116518 -1.506974 -2.737906\nv 0.058010 0.111803 -0.026395\nvn -3.133162 1.239620 -2.133839\nv -0.018293 0.113230 -0.026362\nvn -3.231078 1.263476 -1.976169\nv -0.016119 0.117601 -0.026353\nvn 5.407835 0.281418 -4.238999\nv 0.060292 0.121573 -0.026568\nvn -4.525578 2.395537 -3.092785\nv -0.014470 0.121239 -0.026486\nvn 3.967684 -3.606810 -2.580579\nv 0.018258 0.121782 -0.026338\nvn 2.704094 -3.500348 -2.302183\nv 0.020536 0.123753 -0.026468\nvn 4.481398 -0.542913 -3.764542\nv 0.060221 0.123641 -0.026537\nvn -0.565936 -1.620142 -5.734349\nv -0.044365 0.123453 -0.026422\nvn 0.286592 -1.549186 -5.742464\nv -0.042464 0.123420 -0.026596\nvn 1.044847 -1.806864 -5.615855\nv -0.040391 0.125353 -0.026766\nvn 1.598322 -4.027237 -2.470121\nv 0.024519 0.125961 -0.026543\nvn -1.689722 -5.165165 -4.246604\nv 0.028800 0.125995 -0.026233\nvn 2.611698 -2.817697 -5.775620\nv -0.036629 0.125924 -0.026197\nvn -1.308095 -0.337555 -4.795157\nv -0.048330 0.127392 -0.026667\nvn -2.311086 -0.277636 -7.635173\nv -0.048466 0.129337 -0.026719\nvn 3.833570 0.582354 -3.131462\nv 0.059773 0.129225 -0.026405\nvn 3.092725 -2.897411 -5.560058\nv -0.034467 0.129524 -0.026632\nvn -1.963845 0.521767 -5.602691\nv -0.048277 0.131448 -0.026827\nvn 6.143693 0.591287 -4.970230\nv 0.059682 0.131232 -0.026418\nvn -2.016387 0.626284 -4.517493\nv -0.048070 0.133416 -0.026522\nvn 4.431933 -3.358558 -5.744938\nv -0.030758 0.133559 -0.026458\nvn -2.753011 0.493841 -5.272146\nv -0.048194 0.134975 -0.026262\nvn 4.821486 -3.428600 -6.746006\nv -0.029037 0.135480 -0.026294\nvn 5.038618 2.017272 -4.344584\nv 0.057930 0.137033 -0.026398\nvn -6.608142 4.697799 -5.802471\nv -0.004788 0.139408 -0.026424\nvn 4.932764 -1.267097 -6.670988\nv -0.027017 0.139445 -0.026529\nvn -3.741483 3.089116 -3.518176\nv -0.002236 0.143012 -0.026136\nvn -2.306050 -1.794232 -4.943944\nv -0.056412 0.143157 -0.026563\nvn -4.194216 3.625317 -4.267913\nv -0.000708 0.144795 -0.026202\nvn -3.523757 0.860905 -7.116824\nv -0.056430 0.146811 -0.026419\nvn -4.681002 4.735925 -4.401977\nv 0.001326 0.146877 -0.026289\nvn 3.900641 3.071143 -3.324402\nv 0.051854 0.146578 -0.026326\nvn -2.573311 4.061158 -3.558021\nv 0.003525 0.148581 -0.026415\nvn 1.178861 1.237928 -1.033558\nv 0.050307 0.148273 -0.026203\nvn -2.584324 -0.626552 -5.285025\nv -0.056139 0.148929 -0.026375\nvn 1.363567 2.179265 -1.535190\nv 0.043818 0.152517 -0.026241\nvn -3.934012 2.776758 -5.486500\nv -0.057986 0.153081 -0.026332\nvn 0.886359 3.063458 -2.406158\nv 0.039377 0.153875 -0.027091\nvn -1.021645 5.262067 -2.683295\nv 0.020640 0.155592 -0.026507\nvn -0.142553 4.209289 -2.694143\nv 0.024808 0.155884 -0.026718\nvn 0.728981 4.214285 -2.581657\nv 0.032374 0.155659 -0.026763\nvn 0.970087 6.801809 -3.970392\nv 0.030676 0.156293 -0.026380\nvn -2.227578 -3.609499 -4.599210\nv -0.057771 0.157559 -0.026506\nvn 3.939414 1.954232 -5.171838\nv -0.026730 0.159063 -0.026241\nvn 3.198738 1.711723 -3.438066\nv -0.028981 0.164537 -0.026226\nvn 0.662693 0.507624 -1.516907\nv -0.031673 0.167829 -0.026841\nvn -3.195606 0.354339 -4.932809\nv -0.062543 0.169059 -0.026197\nvn -2.969744 2.472127 -5.726432\nv -0.061650 0.170710 -0.026370\nvn 4.938600 5.069413 -3.581002\nv -0.034230 0.170989 -0.026355\nvn 2.523005 4.460003 -2.923945\nv -0.038562 0.174321 -0.026252\nvn -0.399636 -3.513786 -5.790936\nv -0.026608 0.180549 -0.026376\nvn 0.653518 -4.171757 -3.812013\nv -0.024591 0.180722 -0.026558\nvn 1.749633 -3.504562 -0.242039\nv -0.015142 0.183690 -0.026654\nvn 2.255626 -4.203216 0.870633\nv -0.014552 0.184071 -0.026116\nvn 1.592206 -2.030917 0.921767\nv -0.011723 0.185607 -0.026888\nvn -0.325871 1.033029 0.141698\nv -0.015771 0.189533 -0.026560\nvn -1.204191 -4.393447 1.893817\nv -0.044415 0.055682 -0.026312\nvn 1.221775 -3.111534 1.538395\nv -0.034189 0.055683 -0.026153\nvn 1.857845 1.422034 -1.558589\nv 0.055328 0.065325 -0.026538\nvn -4.106933 -2.491534 -3.574634\nv 0.017158 0.066479 -0.026067\nvn 4.507164 -2.457625 -4.657973\nv -0.001415 0.086081 -0.026088\nvn 3.082275 -2.056557 -1.491094\nv 0.047602 0.092814 -0.026207\nvn 3.062098 -1.717143 -1.905660\nv 0.010177 0.109999 -0.026070\nvn 1.749856 -2.076389 -6.389630\nv -0.040435 0.123301 -0.026227\nvn -1.237763 -0.426994 -5.822608\nv -0.048500 0.125408 -0.026539\nvn -0.572237 -1.180377 -5.827277\nv -0.048230 0.123506 -0.026265\nvn 1.621270 -2.608205 -6.254378\nv -0.038487 0.125216 -0.026381\nvn -2.360136 0.521461 -5.442792\nv -0.049953 0.131281 -0.026222\nvn -3.976451 0.336156 -6.893897\nv -0.048196 0.137081 -0.026280\nvn -2.367872 -0.525606 -4.225336\nv -0.047956 0.139195 -0.026208\nvn 2.624132 -0.198175 -4.247967\nv -0.026423 0.143200 -0.026652\nvn -2.506726 -0.969398 -5.323048\nv -0.057835 0.151300 -0.026225\nvn 3.202769 -0.599732 -8.169057\nv -0.024737 0.153107 -0.026062\nvn 1.779954 4.700987 -3.244342\nv 0.040596 0.154309 -0.026119\nvn -0.136535 5.244229 -2.880921\nv 0.028847 0.156395 -0.026379\nvn -2.584757 0.925041 -5.050360\nv -0.064159 0.161163 -0.026173\nvn -2.257437 -1.622007 -6.491427\nv -0.028491 0.180981 -0.026262\nvn -1.490618 0.410340 -4.684567\nv -0.029003 0.182912 -0.026338\nvn 1.962196 -0.374140 3.189727\nv -0.010436 0.188166 -0.026120\nvn -0.202530 -3.207943 1.865263\nv -0.042176 0.055519 -0.025824\nvn -2.038978 -5.326751 0.680814\nv -0.048775 0.057505 -0.025921\nvn -0.676878 -4.303715 -2.346871\nv 0.054367 0.056705 -0.025693\nvn 0.863015 -4.941774 -4.519283\nv 0.056274 0.056890 -0.025965\nvn 0.947283 -1.997592 -1.899880\nv -0.027269 0.059025 -0.026187\nvn -2.019813 -4.024122 1.968928\nv -0.084756 0.059337 -0.025721\nvn -0.302836 -2.702361 -2.885584\nv 0.025552 0.059096 -0.026137\nvn -2.916013 -5.076133 -1.281682\nv 0.047909 0.059363 -0.024825\nvn 0.886934 -2.284264 -3.153299\nv 0.036162 0.060886 -0.026144\nvn 1.488579 -2.328469 -2.889973\nv -0.023080 0.061078 -0.025960\nvn 1.244963 -3.747167 -4.495347\nv 0.038107 0.061139 -0.025767\nvn 4.316359 2.096375 -3.537613\nv 0.057531 0.062390 -0.025887\nvn 2.558035 -2.635797 -3.379874\nv -0.021126 0.062944 -0.026208\nvn -2.725553 0.445884 5.106771\nv -0.086490 0.062408 -0.025910\nvn 6.034125 5.486071 -3.700099\nv 0.055864 0.065757 -0.024631\nvn 1.884204 -2.137846 -2.796446\nv -0.017295 0.066234 -0.026050\nvn 2.628337 2.481783 -1.629588\nv 0.054724 0.066647 -0.024985\nvn 2.682483 2.502728 -1.548965\nv 0.053757 0.067192 -0.025860\nvn 1.630691 -1.455232 -2.040878\nv -0.015178 0.068544 -0.026165\nvn 2.235256 0.726662 -1.632866\nv 0.053015 0.068459 -0.025312\nvn -1.420776 3.671269 0.376428\nv -0.071013 0.069118 -0.025927\nvn 3.137294 0.777998 -3.681762\nv 0.051949 0.069980 -0.026053\nvn -3.191450 -0.951776 -2.211288\nv 0.015637 0.070400 -0.026148\nvn 5.041807 0.669511 -4.690176\nv 0.051943 0.072123 -0.026025\nvn 1.825011 -1.309778 -1.987596\nv -0.011541 0.072575 -0.025881\nvn 2.326475 0.677515 -1.637397\nv 0.051674 0.073719 -0.026113\nvn 6.827421 3.442327 -1.425746\nv 0.051081 0.076144 -0.025074\nvn -3.157211 -2.104855 -1.219304\nv -0.071172 0.076704 -0.026030\nvn 3.603808 -2.654074 -3.976314\nv -0.005587 0.079857 -0.025946\nvn -3.421715 -1.472549 -1.445019\nv -0.073177 0.080463 -0.025982\nvn 3.026801 -2.205904 -3.299328\nv -0.003614 0.082683 -0.025946\nvn -3.488636 0.943178 -1.584549\nv 0.015586 0.085742 -0.025837\nvn 0.000000 -0.000000 -0.000000\nv -0.051623 0.086867 -0.026187\nvn -1.459160 2.407482 -2.819964\nv -0.035842 0.087462 -0.025864\nvn -2.706470 2.735003 -3.177738\nv -0.033962 0.088978 -0.025807\nvn -1.973052 2.598451 -2.261605\nv -0.033028 0.090486 -0.025203\nvn 2.883186 -1.318294 -2.377578\nv 0.002098 0.092697 -0.025992\nvn -0.608547 0.494040 -0.622993\nv -0.029651 0.092975 -0.026187\nvn 4.545602 -1.889423 -3.388765\nv 0.002534 0.094068 -0.026083\nvn 0.889106 2.553145 -1.163650\nv -0.063094 0.095072 -0.026109\nvn 0.000000 0.000000 0.000000\nv -0.027837 0.095075 -0.026205\nvn -6.373965 4.133477 -2.466714\nv 0.023300 0.101673 -0.024706\nvn -2.257810 1.005996 -1.666570\nv -0.021955 0.105559 -0.025751\nvn 3.140575 -1.624992 -1.869648\nv 0.008188 0.106385 -0.026013\nvn -4.013679 2.412517 -1.743778\nv 0.027631 0.107290 -0.025839\nvn -2.425488 1.251059 -1.240389\nv 0.029577 0.110661 -0.026061\nvn -3.039904 1.462514 -2.133168\nv -0.017958 0.114677 -0.025927\nvn 4.310932 -1.334009 -2.141482\nv 0.059501 0.115375 -0.025721\nvn 3.109948 -1.978696 -1.524090\nv 0.014227 0.116262 -0.025837\nvn 8.947212 -1.804403 -3.985848\nv 0.060556 0.117436 -0.024651\nvn 3.702528 -2.929259 -1.584010\nv 0.016262 0.118133 -0.024643\nvn -4.082379 1.509107 -2.451944\nv -0.015907 0.119207 -0.025837\nvn 0.017447 -1.465406 -6.740708\nv -0.044451 0.121710 -0.026078\nvn -0.282304 -1.117956 -5.847555\nv -0.046134 0.123115 -0.026129\nvn -3.171278 -1.585887 -1.782711\nv 0.031437 0.123722 -0.025750\nvn -1.609660 -1.020329 -6.708717\nv -0.050433 0.123688 -0.025946\nvn 0.986264 -1.290811 -3.642062\nv -0.038908 0.123869 -0.026004\nvn -2.628815 0.077682 -7.535599\nv -0.050037 0.127268 -0.026059\nvn 0.450186 -5.844872 -3.569474\nv 0.026336 0.126110 -0.025857\nvn -3.036251 1.816558 -1.690420\nv -0.012160 0.127383 -0.025835\nvn 1.790719 -1.469304 -3.259258\nv -0.034820 0.127751 -0.026006\nvn -1.943257 -0.075321 -4.600220\nv -0.050227 0.129496 -0.026052\nvn 2.344605 -2.154350 -3.835162\nv -0.032898 0.129962 -0.026055\nvn -2.326701 1.143770 -1.489289\nv -0.011434 0.129761 -0.025370\nvn -2.117997 1.313185 -1.664811\nv -0.010099 0.131100 -0.026013\nvn 2.292212 -1.584817 -2.865852\nv -0.031182 0.131673 -0.025749\nvn 3.955393 0.765860 -2.888612\nv 0.060649 0.131701 -0.025203\nvn -2.740068 1.407392 -6.264498\nv -0.049434 0.133155 -0.026028\nvn 2.143999 1.135858 -1.730391\nv 0.059269 0.133556 -0.026058\nvn -3.883524 1.922353 -2.480392\nv -0.008206 0.134925 -0.025915\nvn 2.662153 -1.852549 -3.766412\nv -0.027268 0.137711 -0.025972\nvn 2.708048 1.599102 -2.467001\nv 0.057726 0.138276 -0.025889\nvn -2.442245 -4.401823 -1.317900\nv -0.050551 0.140896 -0.024805\nvn -2.098804 1.491376 -1.539742\nv -0.004095 0.141020 -0.025810\nvn -0.922124 -4.316599 -3.059534\nv -0.055938 0.141774 -0.025976\nvn 3.196748 -0.639223 -6.143896\nv -0.025276 0.141516 -0.025888\nvn 2.890334 1.686523 -2.104264\nv 0.055591 0.142785 -0.025844\nvn -2.357334 -1.530120 -5.029022\nv -0.057824 0.143248 -0.025898\nvn 2.852006 -0.103896 -5.266701\nv -0.025223 0.143171 -0.025968\nvn -2.850808 0.274624 -5.244524\nv -0.057597 0.144932 -0.026067\nvn 2.173810 2.426892 -2.313217\nv 0.053634 0.144684 -0.026047\nvn 3.375575 -0.531961 -7.127297\nv -0.025147 0.146918 -0.025943\nvn 1.542051 2.029128 -1.580433\nv 0.047622 0.150488 -0.025881\nvn 2.754547 -0.130240 -5.229344\nv -0.024863 0.151147 -0.025978\nvn -1.116729 2.254380 -1.620285\nv 0.013333 0.154310 -0.025963\nvn 1.197044 0.269894 -4.738485\nv -0.024638 0.154971 -0.026043\nvn 1.524824 0.813202 -4.589008\nv -0.024765 0.156325 -0.025928\nvn -0.725472 4.020555 -2.776235\nv 0.020132 0.155926 -0.025570\nvn -0.772242 5.008951 -3.118220\nv 0.021527 0.156068 -0.025837\nvn 0.637333 4.043058 -2.850419\nv 0.032552 0.156101 -0.026013\nvn -0.394474 4.262541 -2.557759\nv 0.023277 0.156185 -0.026187\nvn -0.197946 5.178302 -3.015844\nv 0.024869 0.156387 -0.025927\nvn -0.965046 -6.455585 -1.929934\nv -0.058469 0.156926 -0.024670\nvn -1.264947 -2.882116 -3.678940\nv -0.060272 0.159464 -0.025941\nvn -1.943678 -3.570510 -5.238355\nv -0.064330 0.159921 -0.025780\nvn -0.246984 -2.067556 -2.128174\nv -0.062998 0.159860 -0.025996\nvn -1.528291 -4.524106 -6.149432\nv -0.062329 0.158903 -0.025009\nvn 3.308077 1.168625 -4.755047\nv -0.027068 0.161233 -0.025997\nvn -3.221187 0.808662 -5.909944\nv -0.061755 0.164714 -0.025997\nvn -3.385387 -0.614190 -6.015162\nv -0.062476 0.166970 -0.026047\nvn 3.220989 2.562295 -2.819484\nv -0.031184 0.168079 -0.025954\nvn 0.594930 0.561987 -0.576078\nv -0.033103 0.170013 -0.026079\nvn 5.164578 5.950475 -6.025250\nv -0.032495 0.170795 -0.024754\nvn -2.374177 2.339644 -5.986219\nv -0.059885 0.172653 -0.026007\nvn 6.074723 5.273113 -4.965750\nv -0.034549 0.172770 -0.024603\nvn -1.206055 2.225441 -5.279260\nv -0.057909 0.174630 -0.026071\nvn -0.597690 3.322032 -2.015928\nv -0.054279 0.176037 -0.025745\nvn 1.346647 5.903693 -3.488448\nv -0.042717 0.175992 -0.025771\nvn -1.707456 1.835469 -4.266243\nv -0.028766 0.184269 -0.026085\nvn -1.647987 3.756911 -2.561159\nv -0.026360 0.186019 -0.026005\nvn 1.439227 -1.711997 1.736666\nv -0.012095 0.185961 -0.025896\nvn -1.002805 -5.232119 0.962951\nv -0.040500 0.055537 -0.024869\nvn 0.933539 -5.782850 0.505192\nv -0.036389 0.055519 -0.024887\nvn -0.598802 -7.176692 -0.258058\nv -0.042702 0.055801 -0.024795\nvn -1.763081 -6.193629 -0.970891\nv -0.044530 0.056078 -0.024677\nvn 1.981081 -4.757840 -5.401373\nv 0.058203 0.056243 -0.024898\nvn -1.683714 -4.362671 -1.701475\nv 0.052472 0.056878 -0.024814\nvn -3.549979 -6.860009 -1.980376\nv 0.050683 0.057708 -0.024662\nvn -1.160089 -6.815148 0.434741\nv -0.081898 0.058426 -0.024546\nvn -2.654090 -4.990165 0.733892\nv -0.083596 0.059018 -0.024885\nvn -0.143956 -3.740273 -4.612998\nv 0.027127 0.059025 -0.026037\nvn 0.453727 -3.375861 -4.925879\nv 0.030835 0.059135 -0.025896\nvn 0.340665 -2.222211 -3.299924\nv 0.032202 0.059200 -0.025878\nvn 0.451249 -0.559510 -0.741924\nv -0.024589 0.059485 -0.025553\nvn -1.706610 -2.437009 -2.647456\nv 0.022418 0.059750 -0.025296\nvn 1.071791 -2.943918 -3.890913\nv 0.034428 0.059608 -0.025597\nvn -3.216040 -0.219098 3.645166\nv -0.085750 0.060507 -0.025358\nvn -2.047647 -5.789504 -1.593799\nv -0.054629 0.059736 -0.024919\nvn 1.433894 -3.661499 -4.524843\nv 0.036711 0.059978 -0.025239\nvn -1.731234 -3.916595 -1.165395\nv -0.056256 0.060170 -0.024588\nvn -2.236049 -4.301325 -1.194909\nv 0.046284 0.060252 -0.024646\nvn 4.797853 1.260764 -4.807678\nv 0.058891 0.060512 -0.025232\nvn -1.698860 -4.433113 1.341865\nv -0.059253 0.061417 -0.025705\nvn 3.824023 -5.086679 -6.335029\nv -0.022503 0.060137 -0.024936\nvn 1.124707 -4.106674 -4.218709\nv 0.039180 0.061342 -0.025660\nvn -2.478333 -6.857247 -0.387692\nv -0.060155 0.061963 -0.024805\nvn -1.677288 -1.599715 -1.904465\nv 0.020358 0.061549 -0.025157\nvn 2.532475 -2.573463 -3.453181\nv -0.019374 0.064357 -0.025874\nvn 2.812124 -3.261254 -4.171770\nv -0.018435 0.064344 -0.025226\nvn -3.288440 -2.357348 -2.902769\nv 0.018080 0.064218 -0.025475\nvn -1.043591 3.149294 1.064652\nv -0.077907 0.067276 -0.024876\nvn 0.347422 4.971679 3.042585\nv -0.079935 0.067434 -0.025257\nvn -1.728137 5.566901 0.343238\nv -0.074235 0.068101 -0.024594\nvn 1.779256 -1.423114 -1.950845\nv -0.012277 0.071231 -0.025643\nvn -3.085675 -0.546418 -0.968341\nv -0.067011 0.071855 -0.025163\nvn 6.407640 3.147852 -3.075784\nv 0.052296 0.074197 -0.024728\nvn 2.623310 -2.261205 -3.605841\nv -0.009564 0.074777 -0.025791\nvn 2.975694 -2.352611 -3.246329\nv -0.006365 0.077797 -0.025195\nvn -9.248723 1.182218 -3.526829\nv 0.014283 0.079842 -0.024772\nvn 2.698239 -1.644494 -2.428910\nv -0.002249 0.083684 -0.025285\nvn 0.093087 2.895826 -2.731982\nv -0.044525 0.084935 -0.025837\nvn 0.766937 1.893942 -2.180162\nv -0.046373 0.085033 -0.025837\nvn -1.542418 3.643631 -3.038061\nv -0.038857 0.086638 -0.025069\nvn 2.537971 5.675560 -3.034431\nv -0.052531 0.088021 -0.024619\nvn 2.108533 3.241500 -0.786319\nv -0.053908 0.088547 -0.025103\nvn 6.700186 -1.063833 -0.974111\nv 0.045308 0.087445 -0.024804\nvn 6.611057 -3.613091 -4.763966\nv 0.001164 0.089629 -0.024983\nvn -3.284818 2.779568 -2.524758\nv -0.031109 0.092318 -0.024884\nvn 6.263942 -3.066321 -3.845945\nv 0.002647 0.091964 -0.024616\nvn -5.956357 2.988533 -2.121118\nv 0.017042 0.091830 -0.024626\nvn -0.822228 0.519013 -0.289500\nv 0.017983 0.092802 -0.025627\nvn -5.630568 6.708259 -3.963840\nv -0.072232 0.093993 -0.024902\nvn 1.374237 1.220325 0.031075\nv -0.061428 0.094374 -0.025666\nvn -0.900715 2.462136 -1.407917\nv -0.069382 0.095074 -0.025887\nvn 3.932295 -2.438721 -1.776912\nv 0.049312 0.094900 -0.025645\nvn 3.448621 6.064192 -2.452763\nv -0.062497 0.095352 -0.024629\nvn -4.699311 3.220433 -1.871280\nv 0.020531 0.097746 -0.024691\nvn -5.806444 3.437255 -4.278144\nv -0.027077 0.097806 -0.024683\nvn 2.960392 -2.092571 -1.655627\nv 0.051184 0.097181 -0.024970\nvn 2.942851 -2.055511 -1.650611\nv 0.051804 0.098468 -0.025700\nvn -2.136781 1.418430 -1.498675\nv -0.025494 0.099901 -0.025346\nvn 4.787876 -2.882340 -2.134745\nv 0.054749 0.102947 -0.024930\nvn -3.904689 1.734918 -2.584191\nv -0.021373 0.107970 -0.025062\nvn 5.119936 -1.771380 -2.494030\nv 0.058397 0.109741 -0.024672\nvn 4.757124 -2.738614 -2.332247\nv 0.011472 0.111217 -0.024931\nvn -3.293796 1.095657 -1.986764\nv -0.019351 0.112060 -0.025300\nvn -5.795804 2.972253 -2.541787\nv 0.030366 0.113456 -0.024787\nvn -6.499759 2.590423 -3.837715\nv -0.019105 0.113833 -0.024716\nvn 5.654104 -3.629277 -1.853369\nv 0.014526 0.115974 -0.024684\nvn -5.475310 2.423843 -3.603296\nv -0.017074 0.117584 -0.024929\nvn -6.348699 1.365559 -2.570415\nv 0.032009 0.117529 -0.024885\nvn 0.062320 -1.168929 -4.841402\nv -0.046422 0.119656 -0.025789\nvn -0.438455 -0.922551 -4.868636\nv -0.047513 0.120073 -0.025826\nvn 0.643146 -1.130004 -4.775072\nv -0.044403 0.119925 -0.025768\nvn -0.710763 -0.853462 -5.862060\nv -0.048318 0.121499 -0.025878\nvn -0.125884 -0.680494 -5.948684\nv -0.046110 0.120975 -0.025992\nvn 0.643262 -2.120446 -5.520364\nv -0.042601 0.121363 -0.026011\nvn 2.258019 -2.928046 -5.869720\nv -0.040354 0.121105 -0.025382\nvn 3.376010 -0.202974 -1.889185\nv 0.061023 0.121149 -0.025529\nvn 0.841674 -1.028979 -2.635847\nv -0.040656 0.121841 -0.025831\nvn -4.707588 2.318810 -2.892209\nv -0.015075 0.121728 -0.025161\nvn -0.159884 -0.185154 -0.969683\nv -0.049523 0.122375 -0.025851\nvn -3.137083 1.434730 -2.013029\nv -0.014153 0.122637 -0.025860\nvn 3.304127 -4.556540 -2.035418\nv 0.020924 0.123136 -0.024813\nvn 2.336117 -0.363872 -1.658957\nv 0.060986 0.123655 -0.025639\nvn -1.394948 0.058232 -4.780346\nv -0.050674 0.125330 -0.026023\nvn 3.147982 -3.373246 -6.422345\nv -0.038294 0.122853 -0.025383\nvn -1.172114 -0.234446 -1.291125\nv -0.013630 0.124300 -0.025663\nvn 3.891865 -7.317612 -3.334628\nv 0.022449 0.124057 -0.024596\nvn 0.000000 -0.000000 -0.000000\nv 0.030587 0.124684 -0.025634\nvn 3.601572 -2.955963 -5.186213\nv -0.034180 0.127296 -0.025421\nvn 3.121554 -2.651531 -4.350366\nv -0.032259 0.129241 -0.025223\nvn 5.027710 -3.684197 -6.416398\nv -0.030677 0.131124 -0.025053\nvn -7.378118 3.995028 -5.380542\nv -0.010810 0.131426 -0.024892\nvn -4.336110 2.358104 -3.368783\nv -0.009350 0.133419 -0.025197\nvn 2.852590 -2.048815 -3.548991\nv -0.030343 0.132735 -0.025614\nvn -2.862305 1.227947 -5.113234\nv -0.050750 0.133356 -0.025369\nvn -1.302979 0.530973 -2.621805\nv -0.049380 0.134538 -0.025662\nvn -2.382535 0.260474 -3.165997\nv -0.049201 0.137628 -0.025624\nvn 4.390952 1.750013 -3.616646\nv 0.058828 0.137393 -0.025230\nvn -5.260863 3.817784 -4.603760\nv -0.006598 0.139234 -0.024580\nvn 3.014015 -2.401461 -7.864991\nv -0.024755 0.139266 -0.025045\nvn 1.553519 -0.533839 -3.604326\nv -0.024271 0.141183 -0.025423\nvn 2.899149 1.629640 -2.213453\nv 0.056764 0.141485 -0.024954\nvn -0.253286 -5.178217 -2.877220\nv -0.057898 0.141483 -0.024687\nvn -3.860813 2.899937 -3.535766\nv -0.003284 0.143193 -0.024753\nvn 3.244052 2.755216 -2.554418\nv 0.055127 0.143617 -0.025663\nvn 1.916439 -0.006046 -3.498817\nv -0.025036 0.144801 -0.025833\nvn -2.903088 0.445742 -5.214846\nv -0.058447 0.145112 -0.025550\nvn 3.230165 2.566762 -2.801219\nv 0.053106 0.146018 -0.025263\nvn -1.925594 0.503591 -3.469331\nv -0.057732 0.146328 -0.025784\nvn -3.333999 3.615655 -3.377447\nv 0.000789 0.147541 -0.024838\nvn -3.313511 -0.810856 -5.981381\nv -0.057414 0.149104 -0.025740\nvn -2.854671 3.203119 -2.566797\nv 0.002086 0.148109 -0.025593\nvn 2.730490 -0.226918 -6.302444\nv -0.024841 0.149329 -0.025915\nvn 3.659914 5.324548 -4.669442\nv 0.050386 0.149293 -0.024745\nvn -2.171618 3.456664 -2.836341\nv 0.004148 0.149970 -0.025349\nvn -1.361784 2.010455 -1.760396\nv 0.005899 0.150605 -0.025685\nvn -0.399240 -0.467149 -0.789777\nv -0.058723 0.150988 -0.025570\nvn -1.696238 -0.994299 -3.311413\nv -0.059292 0.151688 -0.025725\nvn -1.731316 2.861642 -2.192049\nv 0.006993 0.151609 -0.025242\nvn -2.974669 1.498519 -4.431981\nv -0.059314 0.152642 -0.025721\nvn -2.696490 5.214225 -5.159062\nv 0.008743 0.153050 -0.024602\nvn 3.777934 7.334795 -5.521582\nv 0.044465 0.153139 -0.024890\nvn -1.416288 3.030844 -2.188700\nv 0.009497 0.152638 -0.025705\nvn -2.229660 2.764385 -1.709287\nv -0.057396 0.154242 -0.025719\nvn 1.358256 -0.008080 -7.566574\nv -0.022506 0.155098 -0.025844\nvn 3.546891 5.210032 -4.505581\nv 0.042378 0.154588 -0.024421\nvn 0.856576 0.290636 -3.554097\nv -0.021384 0.154791 -0.025788\nvn -4.923015 3.186461 -1.939623\nv -0.056770 0.155056 -0.024738\nvn 1.557477 4.831505 -3.178610\nv 0.038599 0.155545 -0.025160\nvn 0.633571 0.944615 -4.831413\nv -0.023103 0.156043 -0.025829\nvn 1.285494 4.857526 -3.210969\nv 0.036971 0.155902 -0.025575\nvn 0.478494 4.874134 -4.640809\nv 0.030606 0.157287 -0.024649\nvn -1.440213 1.212487 -2.331795\nv -0.063694 0.162517 -0.025807\nvn 1.773359 1.729338 -3.025915\nv -0.027676 0.163345 -0.025624\nvn 3.027866 1.733830 -4.736459\nv -0.028145 0.164835 -0.025266\nvn 3.061242 2.863872 -5.381981\nv -0.028857 0.166854 -0.024943\nvn -1.738548 1.366655 -3.288518\nv -0.062788 0.171259 -0.025470\nvn -1.992920 1.311786 -4.318604\nv -0.060835 0.172850 -0.025566\nvn 2.286646 2.441844 -2.178175\nv -0.035680 0.173325 -0.025258\nvn -1.210792 1.521513 -4.535445\nv -0.059301 0.174742 -0.025794\nvn -0.312488 5.560754 -4.003624\nv -0.056186 0.176570 -0.025020\nvn -1.109969 -0.936753 -1.642613\nv -0.028623 0.179720 -0.025711\nvn 0.566152 -5.896986 -4.208364\nv -0.028729 0.178628 -0.024743\nvn 2.864753 -8.186447 -0.741763\nv -0.022835 0.180281 -0.024649\nvn -1.005222 -0.795238 -4.780312\nv -0.030471 0.181303 -0.025847\nvn 2.062716 -4.498172 -0.314870\nv -0.019385 0.181706 -0.025763\nvn -2.068499 1.074386 -7.451933\nv -0.030516 0.182900 -0.025874\nvn -1.269348 2.554563 -2.700046\nv -0.029022 0.185257 -0.025341\nvn -1.462645 5.599521 -1.024342\nv -0.024633 0.187052 -0.024782\nvn -1.400232 4.662546 -0.578099\nv -0.023065 0.187481 -0.024876\nvn -0.915817 4.738839 0.964793\nv -0.018884 0.188467 -0.024492\nvn 0.018345 2.074999 2.829478\nv -0.012248 0.189821 -0.025601\nvn 0.264292 -5.827326 -1.610861\nv -0.038660 0.055192 -0.024176\nvn 0.935865 -3.051101 1.079692\nv -0.038268 0.055449 -0.024743\nvn 0.920288 -6.011025 -2.408318\nv -0.034260 0.055763 -0.024747\nvn 2.890538 -0.550567 -3.848710\nv 0.058745 0.058087 -0.025490\nvn 1.352704 -3.623747 -2.963288\nv -0.028564 0.057674 -0.025230\nvn 2.581681 -6.426087 -7.033262\nv -0.026468 0.057821 -0.024900\nvn -2.256409 -5.348495 -5.274829\nv 0.024772 0.058024 -0.024867\nvn -0.720885 -3.468921 -4.779218\nv 0.026929 0.057755 -0.025213\nvn 0.288338 -3.816388 -5.848329\nv 0.029123 0.057914 -0.025327\nvn 0.522990 -3.167837 -5.062743\nv 0.030873 0.058006 -0.025200\nvn 0.806342 -2.731451 -4.097269\nv 0.032628 0.058276 -0.025143\nvn -2.148927 -5.564505 -2.454614\nv -0.052529 0.058806 -0.024692\nvn 1.076042 -4.845108 -0.537723\nv -0.074023 0.059365 -0.024962\nvn -4.717044 -5.165462 -5.633596\nv 0.021075 0.060389 -0.024822\nvn 0.565596 -2.145908 -2.018705\nv 0.040304 0.061475 -0.025487\nvn -2.946305 0.705348 3.872551\nv -0.085527 0.062321 -0.025444\nvn -0.620245 -3.388093 -1.769220\nv 0.043956 0.061516 -0.025190\nvn 4.879438 3.161481 -3.815737\nv 0.058427 0.062390 -0.024769\nvn -0.934283 -4.657800 0.058847\nv -0.062178 0.062616 -0.024634\nvn 3.464507 2.608512 -2.445152\nv 0.056959 0.064328 -0.024962\nvn -5.323076 -2.846991 -3.510987\nv 0.016508 0.066033 -0.024852\nvn -2.211391 1.966860 3.523787\nv -0.084402 0.067395 -0.025247\nvn -0.537932 4.988326 4.416759\nv -0.082021 0.067501 -0.025165\nvn 4.461813 -4.098381 -5.212611\nv -0.014461 0.067815 -0.024981\nvn -7.317046 -2.672693 -4.440134\nv 0.015265 0.068317 -0.024622\nvn 4.876337 0.830806 -4.782893\nv 0.052880 0.070019 -0.025304\nvn 4.583534 -3.926790 -5.241598\nv -0.012671 0.069904 -0.025017\nvn -5.967658 -1.278178 -3.390126\nv 0.014943 0.069898 -0.024880\nvn 5.140281 -4.201871 -6.058421\nv -0.010734 0.072188 -0.024900\nvn 2.211022 -1.734434 -2.836134\nv -0.008431 0.075683 -0.025551\nvn -4.319878 -3.688583 -1.866618\nv -0.070756 0.075550 -0.024744\nvn 6.212394 -4.589735 -6.287467\nv -0.007073 0.076156 -0.024683\nvn -4.189633 -2.153489 -1.661864\nv -0.072798 0.079277 -0.025547\nvn 4.008171 -2.792357 -3.452702\nv -0.004543 0.079727 -0.024794\nvn -4.585489 0.603730 -1.893765\nv 0.014565 0.082019 -0.024604\nvn 7.574728 4.671855 1.133148\nv 0.047914 0.081709 -0.024769\nvn 5.479501 -3.697696 -4.461352\nv -0.002737 0.082014 -0.024549\nvn -5.493411 -1.156966 -2.101462\nv -0.074750 0.083713 -0.024494\nvn -5.534716 0.802972 -2.165040\nv 0.014748 0.084069 -0.024465\nvn 5.878852 -3.406285 -4.152907\nv -0.001236 0.084279 -0.024424\nvn 1.506919 5.699924 -5.319634\nv -0.046291 0.086042 -0.024913\nvn 0.259026 3.774441 -3.223970\nv -0.044429 0.085798 -0.024807\nvn -1.708290 5.745660 -5.207522\nv -0.040602 0.086059 -0.024826\nvn 4.275323 2.521147 0.459198\nv 0.045770 0.085303 -0.025206\nvn 1.540908 5.023564 -4.545226\nv -0.048011 0.086126 -0.025274\nvn -6.229009 1.812710 -2.489899\nv 0.015157 0.085850 -0.024729\nvn 0.678693 2.391050 -1.666790\nv -0.049737 0.086556 -0.025264\nvn 2.207150 6.384991 -4.091431\nv -0.050440 0.087203 -0.024679\nvn -4.023174 6.008956 -5.237102\nv -0.036668 0.087934 -0.024908\nvn -5.340760 1.445202 -2.308116\nv 0.015996 0.087790 -0.025247\nvn 5.392369 -2.462856 -3.621771\nv 0.000521 0.088079 -0.024857\nvn -2.014702 1.152519 -1.559224\nv -0.034473 0.088869 -0.025487\nvn -6.162508 1.720208 -2.794074\nv -0.074659 0.089818 -0.024836\nvn -7.156271 2.307359 -2.689090\nv 0.016286 0.089826 -0.024702\nvn 5.024362 -2.789229 -1.692313\nv 0.046314 0.089742 -0.024631\nvn -4.304949 5.254806 -4.151033\nv -0.032302 0.091500 -0.024429\nvn -6.375798 3.450246 -2.598651\nv -0.074055 0.091863 -0.024569\nvn 4.294523 4.590446 -2.582263\nv -0.060485 0.093831 -0.024528\nvn -3.357403 2.709743 -2.502984\nv -0.030056 0.094014 -0.024651\nvn 4.825395 -2.021329 -2.925873\nv 0.003453 0.093738 -0.024529\nvn 0.000000 0.000000 0.000000\nv -0.029155 0.094375 -0.025487\nvn -5.010493 2.663618 -1.932078\nv 0.018419 0.094212 -0.024950\nvn -2.714351 6.379419 -3.856568\nv -0.069614 0.095694 -0.024491\nvn -1.372427 5.608247 -3.663527\nv -0.067715 0.096151 -0.024540\nvn 4.596311 -3.413227 -1.707151\nv 0.050392 0.095945 -0.024613\nvn -2.052724 1.393088 -1.654198\nv -0.027512 0.096315 -0.025201\nvn -4.696574 3.248154 -1.830459\nv 0.021440 0.099100 -0.024655\nvn 6.449165 -2.679386 -3.854794\nv 0.005632 0.099438 -0.025245\nvn 7.282015 -3.900177 -3.435795\nv 0.052836 0.099711 -0.024910\nvn -5.995011 3.607143 -3.778472\nv -0.024885 0.101266 -0.024646\nvn 6.668448 -2.664465 -3.480963\nv 0.006754 0.101637 -0.024564\nvn -6.231041 2.954844 -4.008563\nv -0.024094 0.103401 -0.024450\nvn -7.040252 4.796131 -2.836998\nv 0.024481 0.103790 -0.024458\nvn -2.228298 1.122707 -1.650209\nv -0.023126 0.104308 -0.025254\nvn 4.153643 -2.095131 -1.813646\nv 0.056529 0.105880 -0.024573\nvn -6.125080 2.868429 -4.198180\nv -0.022706 0.105958 -0.024582\nvn -5.333619 3.877583 -2.310485\nv 0.026329 0.105992 -0.024733\nvn 7.181873 -3.884796 -3.709255\nv 0.009606 0.107757 -0.024820\nvn -3.279244 1.815652 -1.391556\nv 0.027802 0.108063 -0.025225\nvn 4.751707 -2.240223 -2.857523\nv 0.057163 0.107937 -0.025289\nvn -6.664399 3.464988 -2.726111\nv 0.028420 0.109602 -0.024692\nvn 7.248895 -4.429635 -2.647381\nv 0.012934 0.113374 -0.024576\nvn 3.308831 -1.258638 -1.815511\nv 0.059021 0.113249 -0.025179\nvn 3.933674 -2.462620 -1.750401\nv 0.013756 0.114850 -0.025109\nvn -2.966185 1.615562 -2.106227\nv -0.017463 0.116178 -0.025279\nvn 3.679908 -3.051542 -1.386981\nv 0.015471 0.117305 -0.024807\nvn -0.941183 -1.622812 -7.729053\nv -0.048467 0.119115 -0.025479\nvn 0.700766 -1.680126 -4.631615\nv -0.044531 0.118875 -0.025425\nvn -5.564086 0.055485 -2.107825\nv 0.032296 0.119470 -0.024893\nvn 2.129541 -3.657138 -7.816908\nv -0.042468 0.119340 -0.025058\nvn -6.345886 2.982137 -3.829337\nv -0.016635 0.119266 -0.024529\nvn 5.402795 -3.943274 -1.964977\nv 0.017152 0.119415 -0.024715\nvn -1.224702 -0.996977 -5.777569\nv -0.050579 0.121443 -0.025403\nvn 4.002543 -4.058658 -1.709897\nv 0.018636 0.121357 -0.024802\nvn -1.403327 -0.806542 -5.750666\nv -0.052402 0.123255 -0.025385\nvn -0.895202 -0.863980 -3.801516\nv -0.051273 0.122725 -0.025524\nvn -1.877979 0.106646 -5.675987\nv -0.052642 0.125174 -0.025376\nvn 2.133439 -2.286688 -3.829959\nv -0.036442 0.124513 -0.025313\nvn 1.379542 -3.320913 -1.748815\nv 0.023300 0.124764 -0.025331\nvn 1.837391 -6.064948 -2.879273\nv 0.024961 0.125153 -0.024738\nvn -2.222303 -5.912058 -2.657238\nv 0.028486 0.125049 -0.024628\nvn -4.810957 2.143687 -2.853901\nv -0.013444 0.125820 -0.024696\nvn -2.430028 0.576530 -6.527040\nv -0.052382 0.127310 -0.025278\nvn -0.971341 0.119344 -2.832713\nv -0.051260 0.128092 -0.025587\nvn -5.377105 2.710044 -3.354326\nv -0.012839 0.127386 -0.024617\nvn 4.099579 0.589149 -2.754251\nv 0.061006 0.128274 -0.025138\nvn -3.280634 0.507400 -7.234070\nv -0.052179 0.129444 -0.025236\nvn -5.543848 2.472745 -3.462425\nv -0.012290 0.129065 -0.024471\nvn 4.899274 0.376437 -3.396861\nv 0.060863 0.129740 -0.025028\nvn -2.915936 0.746993 -5.145938\nv -0.051173 0.131325 -0.025594\nvn 7.056690 2.489008 -4.840770\nv 0.060352 0.133404 -0.024857\nvn 2.129717 -1.723699 -2.912722\nv -0.029573 0.133925 -0.025771\nvn 2.578087 -2.297899 -3.609680\nv -0.028213 0.134516 -0.025169\nvn -3.255222 1.017002 -6.055682\nv -0.050279 0.135125 -0.025168\nvn 3.010954 0.695376 -2.539016\nv 0.059011 0.135500 -0.025504\nvn -4.826809 1.414739 -6.104815\nv -0.050490 0.137222 -0.024662\nvn 2.234715 -1.633011 -4.101774\nv -0.026642 0.136882 -0.025125\nvn -2.888751 -0.406933 -3.887273\nv -0.049088 0.139417 -0.025487\nvn 1.556179 -0.631999 -2.160639\nv -0.026018 0.138914 -0.025487\nvn 6.415658 3.407781 -5.275379\nv 0.058195 0.139225 -0.024663\nvn 0.778052 -4.835742 1.907660\nv -0.056088 0.141379 -0.024658\nvn -2.509574 -6.380093 2.454055\nv -0.052184 0.141547 -0.024497\nvn -1.885289 -0.926503 -4.198340\nv -0.058794 0.142991 -0.025495\nvn 2.211847 -0.093207 -4.480816\nv -0.024282 0.143550 -0.025500\nvn 7.058301 4.783931 -4.913952\nv 0.056126 0.143147 -0.024501\nvn 2.739964 -0.271498 -6.403542\nv -0.024223 0.144863 -0.025460\nvn -1.858388 1.524808 -1.794804\nv -0.001923 0.144075 -0.025559\nvn 6.016588 5.729156 -5.395261\nv 0.054311 0.145234 -0.024776\nvn -2.643990 2.848159 -3.031009\nv -0.001171 0.145681 -0.024926\nvn 0.916292 -0.353487 -2.820783\nv -0.024061 0.146729 -0.025525\nvn -3.496773 0.662852 -6.021278\nv -0.058423 0.147181 -0.025283\nvn 3.149109 -1.216216 -8.287637\nv -0.022778 0.147229 -0.025215\nvn 4.959956 4.486767 -4.331001\nv 0.052381 0.147606 -0.024647\nvn 1.009551 -0.277399 -3.855075\nv -0.023973 0.148625 -0.025651\nvn 1.913369 -0.176780 -5.623568\nv -0.022534 0.149359 -0.025406\nvn -3.760884 5.056754 -4.738378\nv 0.002586 0.149372 -0.024555\nvn -2.022229 0.065040 -3.442993\nv -0.058488 0.149086 -0.025112\nvn 1.472362 2.033133 -1.609097\nv 0.049085 0.149815 -0.025144\nvn 1.945214 -0.164575 -6.627559\nv -0.022636 0.151024 -0.025319\nvn -4.706258 7.239100 -6.551856\nv 0.005039 0.151003 -0.024578\nvn 5.609020 7.261928 -5.816086\nv 0.048340 0.150957 -0.024536\nvn 0.763238 -0.215790 -2.824938\nv -0.023973 0.151775 -0.025632\nvn -3.493677 -0.383066 -5.689394\nv -0.060450 0.151249 -0.024879\nvn 1.315427 -0.809149 -4.710876\nv -0.022676 0.152823 -0.025449\nvn -2.642619 4.638439 -2.544475\nv -0.058978 0.153698 -0.024750\nvn 3.277774 -2.308180 -4.948770\nv -0.020373 0.153101 -0.025072\nvn 2.240047 0.746700 -2.805954\nv -0.020216 0.155555 -0.025137\nvn 1.644976 -1.041972 -0.119701\nv -0.019565 0.153226 -0.024309\nvn -1.793818 3.776808 -2.732060\nv 0.010751 0.153732 -0.025088\nvn 5.020412 2.475073 -4.162786\nv -0.020775 0.156642 -0.024853\nvn 1.653308 1.591106 -6.490255\nv -0.024288 0.157492 -0.025501\nvn 1.293461 1.013362 -4.652573\nv -0.022048 0.157118 -0.025355\nvn -0.438372 5.838378 -5.105600\nv 0.026618 0.157062 -0.024912\nvn -0.083557 3.659673 -3.257211\nv 0.028773 0.157174 -0.024937\nvn -1.394018 -4.038860 -3.467686\nv -0.060330 0.157030 -0.024779\nvn -2.321147 -1.825642 -5.103625\nv -0.060743 0.158459 -0.025384\nvn -1.165947 -2.190495 -2.592775\nv -0.059673 0.157725 -0.025775\nvn 1.564162 0.862769 -3.332870\nv -0.025877 0.159393 -0.025493\nvn -1.979144 -3.564957 -5.083226\nv -0.065891 0.159372 -0.024726\nvn -2.774182 0.497898 -4.976115\nv -0.066242 0.161224 -0.025011\nvn 1.317791 0.641246 -5.688754\nv -0.025873 0.161117 -0.025478\nvn 2.309540 2.398556 -5.933127\nv -0.026667 0.163118 -0.025257\nvn -2.145326 1.275106 -4.180593\nv -0.062902 0.163500 -0.025598\nvn -2.007195 -0.037275 -4.526796\nv -0.063053 0.164570 -0.025384\nvn -2.503267 0.120868 -4.271302\nv -0.064227 0.166807 -0.025014\nvn 2.218482 2.115127 -2.510150\nv -0.030132 0.167400 -0.025367\nvn -4.121620 -0.279376 -5.361348\nv -0.064227 0.168752 -0.024682\nvn 2.289149 2.296670 -2.341276\nv -0.032248 0.169800 -0.025460\nvn -2.548037 1.364215 -4.944726\nv -0.064169 0.170721 -0.025050\nvn 4.746771 4.884681 -6.679457\nv -0.036493 0.174546 -0.024611\nvn -2.117459 1.822566 -5.189688\nv -0.060551 0.174917 -0.025386\nvn 1.688280 4.139762 -3.843669\nv -0.038368 0.175279 -0.024841\nvn -0.571511 1.938168 -3.305382\nv -0.058973 0.175776 -0.025487\nvn -0.759885 5.786646 -5.123937\nv -0.058328 0.176619 -0.024817\nvn -0.180076 4.839458 -1.378390\nv -0.046781 0.176917 -0.024822\nvn 1.182287 -5.121675 -1.862724\nv -0.026671 0.178869 -0.024592\nvn -0.308767 -3.030001 -6.191294\nv -0.030781 0.179028 -0.025107\nvn 2.156978 -5.205509 -0.552731\nv -0.024757 0.179399 -0.024566\nvn -0.626018 -0.985355 -3.802500\nv -0.031235 0.180212 -0.025459\nvn 2.356839 -5.317862 0.547991\nv -0.020845 0.181121 -0.024359\nvn -1.829286 -0.581492 -7.712951\nv -0.032669 0.180838 -0.025220\nvn -1.673834 1.606387 -5.362629\nv -0.032500 0.183124 -0.025269\nvn 3.393165 -5.167414 2.217412\nv -0.016802 0.183085 -0.024627\nvn -0.954593 1.623224 -3.452938\nv -0.031429 0.183534 -0.025495\nvn -2.558864 5.913601 -5.587386\nv -0.030771 0.184768 -0.024911\nvn -2.160056 5.651114 -3.119382\nv -0.028521 0.185881 -0.024732\nvn 3.923787 -2.066520 5.965281\nv -0.012915 0.186488 -0.025004\nvn 2.034712 0.086517 4.195509\nv -0.011608 0.188600 -0.025391\nvn -0.450454 5.264909 2.452874\nv -0.016714 0.188763 -0.024472\nvn 0.557140 -4.015853 -2.302436\nv -0.032759 0.056016 -0.024656\nvn -0.235412 -4.306736 -2.411996\nv 0.056183 0.055916 -0.024668\nvn -1.431874 -6.171204 -2.751140\nv 0.054471 0.056126 -0.024552\nvn -0.877977 -3.593919 -0.591772\nv -0.046225 0.056477 -0.024612\nvn 2.730297 -6.522967 -4.860959\nv -0.030501 0.056339 -0.024647\nvn 2.742524 -2.658620 -5.198802\nv 0.059930 0.056222 -0.024148\nvn -2.533993 -6.492994 -2.956907\nv -0.048286 0.056986 -0.024611\nvn 0.980165 -4.555903 -5.135369\nv -0.028717 0.056452 -0.024305\nvn -0.961372 -2.606781 -0.545869\nv -0.049348 0.057692 -0.024962\nvn 2.895217 -0.513015 -3.827741\nv 0.060186 0.058079 -0.024466\nvn 0.186377 -3.959050 0.102698\nv -0.080230 0.058289 -0.024543\nvn -2.317699 -6.470266 -3.002284\nv -0.050840 0.057932 -0.024360\nvn 2.158621 -3.718478 -4.200123\nv -0.024438 0.058338 -0.024556\nvn 1.343830 -3.136602 -4.926188\nv 0.034579 0.058295 -0.024636\nvn -2.507800 -4.223638 -0.930192\nv 0.048752 0.058774 -0.024439\nvn -2.556989 -3.928167 -3.700167\nv 0.022751 0.058710 -0.024497\nvn 5.665701 1.880440 -5.194224\nv 0.060050 0.060139 -0.024163\nvn 0.907100 -5.901124 -0.568597\nv -0.075808 0.059007 -0.024252\nvn -5.830294 -2.851997 1.943262\nv -0.084568 0.060186 -0.024392\nvn 1.832485 -5.672499 -0.619650\nv -0.072160 0.059786 -0.024337\nvn 1.925239 -4.388097 -6.339554\nv 0.036306 0.058344 -0.024149\nvn 2.572864 -6.459374 -0.742221\nv -0.070096 0.060577 -0.024576\nvn 1.808516 -4.476009 -5.043971\nv 0.038663 0.060073 -0.024589\nvn -2.225390 -4.286062 -2.445385\nv -0.057793 0.060888 -0.024303\nvn 2.940425 -3.148814 -4.169486\nv -0.020672 0.061782 -0.025022\nvn 1.659095 -6.609902 -5.790851\nv 0.040783 0.060631 -0.024455\nvn -1.711032 -6.792219 -3.224655\nv 0.044719 0.060883 -0.024411\nvn 2.230577 -5.464231 -0.907158\nv -0.067793 0.061617 -0.024468\nvn -1.816640 -4.134973 -0.810555\nv -0.058837 0.061381 -0.024420\nvn -0.007415 -4.147857 -2.447320\nv 0.042641 0.061555 -0.025017\nvn -4.048614 0.505377 1.965456\nv -0.084619 0.062445 -0.024493\nvn 1.502426 -4.643111 -0.774569\nv -0.065965 0.062392 -0.024454\nvn 0.352991 -6.658326 -1.181997\nv -0.064285 0.062760 -0.024562\nvn 4.547556 -4.638721 -6.224789\nv -0.018901 0.062692 -0.024371\nvn -6.681260 -6.110910 -6.151900\nv 0.018749 0.062348 -0.024425\nvn 2.616102 -2.474950 -3.467794\nv -0.019773 0.063225 -0.025378\nvn -6.461484 1.803077 3.089012\nv -0.084214 0.064235 -0.024508\nvn 3.118362 -3.209047 -3.983698\nv -0.016420 0.065922 -0.025148\nvn -3.154768 2.496711 3.403612\nv -0.083862 0.066144 -0.024609\nvn 3.352029 -3.086326 -3.900411\nv -0.015013 0.066580 -0.024440\nvn -1.179343 2.173499 0.684687\nv -0.077814 0.067125 -0.024514\nvn -3.071756 -1.435066 -2.078962\nv 0.015931 0.067602 -0.025262\nvn 6.238505 4.422180 -5.344240\nv 0.054168 0.067930 -0.024315\nvn -1.293236 5.591804 0.067993\nv -0.075865 0.067476 -0.024436\nvn -1.950704 6.627877 -0.083819\nv -0.072255 0.068704 -0.024671\nvn -2.899630 6.240627 -0.510378\nv -0.069954 0.069593 -0.024450\nvn -4.340237 4.314399 -1.603145\nv -0.067967 0.070552 -0.024466\nvn 4.337698 1.372254 -3.712698\nv 0.053003 0.072099 -0.024883\nvn -5.282563 -0.901001 -2.692250\nv 0.014390 0.072316 -0.024715\nvn -5.367496 -2.085603 -2.308814\nv -0.067683 0.072321 -0.024258\nvn 1.546489 -1.458368 -2.115546\nv -0.009972 0.073374 -0.025138\nvn -3.991811 -4.065189 -1.648808\nv -0.068717 0.073634 -0.024592\nvn 5.696250 -4.925906 -6.517512\nv -0.008922 0.073987 -0.024811\nvn -3.348522 -3.368275 -1.425005\nv -0.070114 0.074800 -0.024468\nvn -3.991773 -2.579654 -1.520365\nv -0.071521 0.076488 -0.024580\nvn -5.546940 -3.443249 -2.215718\nv -0.072405 0.077956 -0.024585\nvn 6.082420 3.345693 0.215231\nv 0.050116 0.078062 -0.024637\nvn -4.625505 0.204923 -1.877271\nv 0.014213 0.078255 -0.024904\nvn -6.868565 -2.893965 -2.831155\nv -0.073556 0.080045 -0.024555\nvn 2.584309 1.514689 0.040044\nv 0.049445 0.079266 -0.024875\nvn 5.088905 3.083833 0.479136\nv 0.049016 0.079960 -0.024561\nvn 3.352568 -2.391300 -2.801173\nv -0.003424 0.080910 -0.024480\nvn -4.480073 -1.370108 -1.708769\nv -0.074411 0.082148 -0.024481\nvn 6.734076 3.998543 1.308952\nv 0.046507 0.083942 -0.024511\nvn -0.012480 5.172870 -4.646260\nv -0.042654 0.085910 -0.024577\nvn 5.298141 -3.080983 -3.304748\nv -0.000323 0.085977 -0.024612\nvn -5.584715 -0.531933 -2.066128\nv -0.075007 0.085742 -0.024806\nvn 5.576362 1.579244 0.394674\nv 0.045280 0.086212 -0.024203\nvn 2.895149 -1.285364 -2.400214\nv -0.000165 0.087007 -0.025149\nvn -3.725362 -0.026740 -1.444047\nv -0.075028 0.087349 -0.024904\nvn 4.459430 -1.909110 -1.140535\nv 0.045629 0.088210 -0.024480\nvn -5.346426 6.053379 -5.249473\nv -0.034679 0.089807 -0.024431\nvn 3.301970 5.432674 -2.370044\nv -0.054634 0.089317 -0.024235\nvn 2.884904 4.400228 -2.292562\nv -0.055908 0.089922 -0.024594\nvn 4.716314 5.643251 -2.477057\nv -0.057884 0.091575 -0.024417\nvn 2.253969 -1.169019 -1.562125\nv 0.001927 0.091050 -0.025044\nvn 3.217219 -2.048818 -1.187942\nv 0.047198 0.091239 -0.024612\nvn 5.610638 -3.654872 -1.997664\nv 0.047974 0.092245 -0.024389\nvn 3.151899 3.747980 -0.979942\nv -0.059323 0.092757 -0.024962\nvn -2.051185 1.684492 -0.714830\nv -0.073157 0.093055 -0.025054\nvn 3.948528 -2.737436 -1.344038\nv 0.048851 0.093655 -0.024445\nvn 4.860792 -3.122507 -1.499413\nv 0.049425 0.094549 -0.024640\nvn 3.173859 -1.268200 -2.075925\nv 0.003528 0.094900 -0.025138\nvn 1.720179 5.578685 -3.525549\nv -0.064286 0.096197 -0.024355\nvn -6.498667 3.960158 -2.425103\nv 0.019129 0.095846 -0.024435\nvn 3.979755 -1.955212 -2.288313\nv 0.004845 0.097350 -0.024990\nvn 6.123077 -4.417650 -2.439521\nv 0.052220 0.098141 -0.024261\nvn -5.149813 3.147910 -3.493482\nv -0.026394 0.099419 -0.024357\nvn -4.669697 3.338148 -1.742767\nv 0.022232 0.100326 -0.024423\nvn 2.347837 -1.253462 -1.311994\nv 0.053334 0.100677 -0.024873\nvn 4.727056 -2.795510 -2.291404\nv 0.054102 0.101626 -0.024508\nvn 4.847461 -2.426492 -2.544738\nv 0.007400 0.103095 -0.024653\nvn -2.421912 1.468599 -0.973216\nv 0.023950 0.102662 -0.024910\nvn -2.973841 2.317471 -1.321610\nv 0.025266 0.104787 -0.024555\nvn -4.590619 2.231476 -3.144500\nv -0.022312 0.107415 -0.024174\nvn 5.794703 -2.889326 -2.615800\nv 0.057718 0.107929 -0.024223\nvn 6.469747 -3.486829 -3.060969\nv 0.010873 0.109636 -0.024551\nvn -6.216490 3.195041 -3.870754\nv -0.020940 0.109639 -0.024542\nvn -5.641788 2.402606 -3.332692\nv -0.020035 0.111412 -0.024492\nvn 5.232008 -1.414535 -2.567622\nv 0.058800 0.111852 -0.024857\nvn 5.825463 -2.215588 -3.137493\nv 0.059724 0.113640 -0.024343\nvn 4.289544 -1.216231 -2.253209\nv 0.060038 0.115517 -0.024766\nvn -5.419052 2.808201 -3.356846\nv -0.018702 0.115608 -0.024081\nvn -6.092477 2.274617 -2.512498\nv 0.031280 0.115452 -0.024519\nvn -0.578950 -1.305561 -6.814352\nv -0.050108 0.117689 -0.025049\nvn 1.523427 -2.590064 -6.274471\nv -0.044627 0.117493 -0.024858\nvn -0.123643 -1.432897 -4.780116\nv -0.048881 0.117708 -0.025132\nvn 0.075598 -1.871212 -5.663680\nv -0.046373 0.118525 -0.025467\nvn -0.828068 -0.478909 -4.903314\nv -0.050764 0.119531 -0.025169\nvn 5.318100 -1.225756 -2.477990\nv 0.060954 0.119274 -0.024693\nvn 2.664189 -3.380488 -5.458567\nv -0.040465 0.119484 -0.024457\nvn -5.411039 -1.414183 -1.964386\nv 0.032060 0.120742 -0.024605\nvn 3.454727 -3.397160 -4.998781\nv -0.038579 0.121324 -0.024604\nvn -1.340752 -0.872541 -6.789016\nv -0.052250 0.121514 -0.025026\nvn 6.989120 -0.590968 -3.515217\nv 0.061555 0.121333 -0.024388\nvn 2.866302 -3.786222 -1.520109\nv 0.019952 0.122302 -0.024613\nvn -7.521723 2.549050 -5.247841\nv -0.014795 0.123316 -0.024495\nvn 6.003822 -0.385372 -3.277044\nv 0.061624 0.123147 -0.024487\nvn -6.558899 -5.769492 -3.851499\nv 0.030747 0.123604 -0.024547\nvn 3.786749 -3.703409 -4.563708\nv -0.036674 0.123453 -0.024672\nvn -2.101408 -0.001049 -6.647744\nv -0.054228 0.123503 -0.024904\nvn -2.233823 0.742117 -5.507967\nv -0.054305 0.125626 -0.024680\nvn 6.099047 0.143308 -3.389765\nv 0.061593 0.125633 -0.024423\nvn 4.503800 -3.922327 -5.264083\nv -0.034539 0.125625 -0.024671\nvn 0.107971 -5.396916 -2.347614\nv 0.026668 0.125372 -0.024483\nvn 5.128455 0.496588 -3.051898\nv 0.061571 0.127803 -0.024277\nvn 3.567636 -2.980797 -3.772147\nv -0.032654 0.127742 -0.024470\nvn 3.017675 -2.364111 -3.184931\nv -0.031041 0.129598 -0.024446\nvn -2.502680 0.956193 -4.211759\nv -0.052624 0.131250 -0.024652\nvn -3.282061 1.279104 -4.843842\nv -0.052262 0.133034 -0.024446\nvn -2.777221 1.637339 -2.345079\nv -0.010432 0.132912 -0.024414\nvn 4.138169 -3.427727 -5.903526\nv -0.028574 0.133273 -0.024648\nvn 5.390755 1.575491 -4.157259\nv 0.060188 0.135213 -0.024206\nvn 2.723092 -3.055738 -6.685211\nv -0.026615 0.135172 -0.024510\nvn -5.830162 3.227502 -4.340601\nv -0.007427 0.137550 -0.024756\nvn -5.761112 -0.248432 -5.053914\nv -0.050127 0.139365 -0.024529\nvn 3.307011 -2.330433 -7.578557\nv -0.024527 0.137334 -0.024278\nvn -6.350334 4.963785 -5.802639\nv -0.004649 0.141375 -0.024710\nvn 0.108541 -5.835558 1.819365\nv -0.054387 0.141652 -0.024582\nvn 1.068674 -3.196006 -4.663328\nv -0.060016 0.141189 -0.024302\nvn -2.342384 -0.534385 -6.202553\nv -0.060392 0.143066 -0.024726\nvn -3.329415 0.912925 -6.076870\nv -0.060026 0.145075 -0.024625\nvn -4.357711 3.305225 -4.345708\nv -0.002626 0.144681 -0.024314\nvn 3.189867 0.009154 -3.139778\nv -0.020659 0.149163 -0.024494\nvn -2.038713 2.409983 -2.410279\nv 0.001366 0.148457 -0.024372\nvn 1.525466 2.188838 -1.292894\nv 0.046969 0.151901 -0.024680\nvn -2.524215 2.786680 -2.751798\nv -0.060111 0.153186 -0.024508\nvn -1.953559 3.411588 -3.036274\nv 0.007344 0.152529 -0.024311\nvn 2.522188 4.320594 -3.157583\nv 0.046045 0.152646 -0.024418\nvn 4.516228 0.871653 -0.232615\nv -0.019522 0.154825 -0.024473\nvn 1.261214 2.260000 -1.505854\nv 0.043009 0.153844 -0.024962\nvn -2.612898 3.781194 -1.749004\nv -0.058017 0.154345 -0.024537\nvn -1.777470 4.369285 -3.611993\nv 0.011207 0.154527 -0.024191\nvn -3.133718 6.290038 -5.334319\nv 0.012671 0.154817 -0.024707\nvn 1.333513 4.132609 -3.968900\nv 0.040790 0.155370 -0.024434\nvn -1.073826 4.008682 -2.732239\nv 0.014253 0.155409 -0.024727\nvn -1.040702 4.235023 -2.418789\nv 0.016653 0.155791 -0.024907\nvn -3.543713 -2.586761 -1.818205\nv -0.056643 0.156523 -0.024579\nvn -1.583684 5.895094 -6.235725\nv 0.018981 0.156760 -0.024449\nvn -0.599827 3.694561 -5.634819\nv 0.020935 0.157097 -0.024515\nvn 0.878762 4.914576 -4.724419\nv 0.034682 0.156998 -0.024557\nvn 1.692043 5.068463 -4.365127\nv 0.036322 0.156706 -0.024454\nvn 0.359064 4.961877 -4.771419\nv 0.032687 0.157270 -0.024462\nvn 1.205280 0.631103 -5.735647\nv -0.022571 0.158906 -0.025111\nvn 1.256437 0.902357 -6.469871\nv -0.024678 0.159078 -0.025215\nvn -1.395395 -3.830677 -4.232597\nv -0.064141 0.158861 -0.024492\nvn 4.812660 0.131671 -2.134663\nv -0.020789 0.158939 -0.024577\nvn 0.284602 0.381037 -3.901613\nv -0.024329 0.161265 -0.025381\nvn 1.843678 1.536590 -7.251047\nv -0.022693 0.161240 -0.025232\nvn 2.457678 1.040940 -1.364592\nv -0.020844 0.161185 -0.024615\nvn -3.024267 2.393069 -5.708911\nv -0.064415 0.162965 -0.025103\nvn 1.032386 1.971319 -5.512608\nv -0.024545 0.163099 -0.024862\nvn -2.764529 0.516201 -6.358863\nv -0.064314 0.164813 -0.024920\nvn 1.816393 1.327022 -5.472653\nv -0.026919 0.164939 -0.024654\nvn 4.053027 3.990203 -5.473826\nv -0.030631 0.168995 -0.024651\nvn 1.687893 1.876078 -1.614097\nv -0.033773 0.171550 -0.025145\nvn -3.226928 2.589998 -5.506109\nv -0.062394 0.172768 -0.024813\nvn -3.496816 1.652137 -4.296017\nv -0.062249 0.174797 -0.024536\nvn 0.919475 2.344028 -1.628162\nv -0.040073 0.175575 -0.025315\nvn -1.798988 4.589251 -4.611602\nv -0.060479 0.176353 -0.024556\nvn 1.154990 4.660883 -5.735045\nv -0.040482 0.176329 -0.024490\nvn 0.346025 3.315937 -3.545183\nv -0.042540 0.176877 -0.024331\nvn -0.314757 4.383580 -2.211995\nv -0.054173 0.176700 -0.024733\nvn -0.098927 4.642710 -1.786643\nv -0.052413 0.176750 -0.024621\nvn 0.283277 6.444250 -4.288027\nv -0.044266 0.177041 -0.024416\nvn -0.627626 7.377336 -2.521975\nv -0.050451 0.176884 -0.024658\nvn -0.114693 4.740339 -1.123044\nv -0.048357 0.177111 -0.024252\nvn -0.593982 -1.589733 -4.653464\nv -0.032547 0.178771 -0.024839\nvn 2.924328 -4.835003 1.231522\nv -0.018461 0.182201 -0.024278\nvn -1.643536 4.687551 -4.687912\nv -0.032709 0.184596 -0.024345\nvn 4.797338 -5.329903 4.634536\nv -0.014761 0.184672 -0.024699\nvn 1.808393 -1.554147 1.659223\nv -0.013531 0.185375 -0.025138\nvn -1.498494 5.625833 -1.090405\nv -0.026687 0.186546 -0.024533\nvn 1.171009 0.980673 4.767148\nv -0.012818 0.188423 -0.024907\nvn -1.304067 4.774889 -0.161745\nv -0.022069 0.187751 -0.024379\nvn -1.347951 6.716281 0.809068\nv -0.020807 0.188061 -0.024291\nvn 1.453922 3.951233 5.794015\nv -0.014579 0.188846 -0.024632\nvn -1.052226 -3.476541 -3.324694\nv 0.026993 0.056646 -0.024401\nvn 0.315433 -5.185503 -5.650898\nv 0.028784 0.056208 -0.024180\nvn 0.479287 -3.541002 -4.791854\nv 0.030744 0.056213 -0.024121\nvn 1.258341 -7.880986 -0.283153\nv -0.077698 0.058739 -0.024525\nvn -3.472569 -2.333337 -2.703539\nv 0.017063 0.064355 -0.024327\nvn 3.020226 -3.154207 -4.102928\nv -0.017222 0.064359 -0.024416\nvn 5.204991 0.999528 -4.428176\nv 0.054099 0.070153 -0.024107\nvn 2.290803 0.763369 -1.587228\nv 0.053721 0.071539 -0.024313\nvn -5.467758 -0.326147 -2.401623\nv 0.014013 0.074206 -0.024504\nvn 1.911808 -1.499631 -1.733462\nv -0.007522 0.074863 -0.024179\nvn -5.518722 0.084096 -2.339370\nv 0.014058 0.076350 -0.024612\nvn 3.951262 -2.868964 -3.477078\nv -0.005141 0.078346 -0.024326\nvn -5.504672 -0.564745 -2.252636\nv -0.075206 0.085857 -0.024331\nvn -1.767952 3.712708 -2.776327\nv -0.038194 0.087453 -0.024340\nvn -1.518267 2.036636 -1.564444\nv -0.035724 0.089191 -0.024310\nvn -5.381781 4.260561 -4.044602\nv -0.028761 0.095820 -0.024199\nvn 4.050866 -1.986164 -2.118022\nv 0.008215 0.104175 -0.024287\nvn 4.048503 -1.928270 -2.192842\nv 0.008974 0.106028 -0.024401\nvn 3.181337 -1.951453 -1.416987\nv 0.010053 0.108071 -0.024341\nvn -5.817521 2.904911 -2.570168\nv 0.029177 0.111402 -0.024449\nvn 3.347214 -1.884861 -1.066704\nv 0.012057 0.111900 -0.024349\nvn 0.000000 0.000000 0.000000\nv 0.029872 0.112575 -0.024788\nvn 0.072518 -1.190095 -5.862065\nv -0.050389 0.115417 -0.024532\nvn 1.170138 -3.030450 -7.216989\nv -0.046042 0.115597 -0.024415\nvn 0.174201 -1.694272 -5.739797\nv -0.048305 0.115822 -0.024513\nvn 0.188239 -1.571054 -4.712955\nv -0.046081 0.117417 -0.025063\nvn -0.776612 -0.355042 -4.922999\nv -0.051973 0.119575 -0.024989\nvn -1.118608 -0.524322 -4.831705\nv -0.054489 0.121498 -0.024626\nvn -2.126476 0.532082 -4.490521\nv -0.054167 0.127687 -0.024422\nvn 2.761399 -1.937417 -3.676256\nv -0.029305 0.131635 -0.024168\nvn 3.815550 1.548246 -2.795982\nv 0.059639 0.137241 -0.024212\nvn 1.543533 -0.518691 -4.624717\nv -0.022452 0.139235 -0.024613\nvn -1.891721 1.635188 -1.634011\nv -0.005423 0.140225 -0.025052\nvn 3.128797 -0.146226 -6.146126\nv -0.022289 0.141188 -0.024535\nvn 3.222598 -0.149518 -6.186853\nv -0.022500 0.143084 -0.024617\nvn 2.160520 -0.351351 -4.476518\nv -0.022470 0.144936 -0.024625\nvn 4.579780 -0.782830 -2.581455\nv -0.020402 0.147409 -0.024244\nvn 5.349751 -0.142050 -3.679824\nv -0.020817 0.151229 -0.024509\nvn 0.666107 5.349432 -5.204175\nv 0.022450 0.157152 -0.024352\nvn -0.685561 4.502168 -3.652557\nv 0.024765 0.157265 -0.024275\nvn -3.799602 1.576673 -6.429939\nv -0.067771 0.160917 -0.024132\nvn -2.810011 1.250411 -5.030676\nv -0.066085 0.163110 -0.024250\nvn 3.649809 3.670283 -3.535968\nv -0.022609 0.162901 -0.024337\nvn 1.402544 1.432571 -5.589978\nv -0.026992 0.166827 -0.024405\nvn -2.406655 -0.897627 -5.589021\nv -0.065999 0.170893 -0.024304\nvn -0.656252 -1.526206 -5.688272\nv -0.034571 0.178715 -0.024619\nvn -1.096463 0.108300 -5.868931\nv -0.034785 0.181015 -0.024788\nvn 1.548975 -3.423724 0.957959\nv -0.019465 0.181684 -0.024257\nvn -1.231707 1.105537 -4.592869\nv -0.034497 0.183150 -0.024664\nvn 0.697853 -1.971169 -2.132984\nv -0.026910 0.056817 -0.024189\nvn 1.111616 -3.889700 -5.676130\nv 0.032386 0.056744 -0.024276\nvn -1.343139 -2.668256 -2.546269\nv 0.025028 0.057155 -0.024087\nvn 1.702283 -2.368036 -2.715884\nv -0.022925 0.058650 -0.024015\nvn 0.184022 -3.819156 -3.148776\nv 0.042500 0.060770 -0.024081\nvn 2.912020 -3.263882 -4.098400\nv -0.020932 0.060335 -0.024075\nvn 2.806202 1.513476 -2.357367\nv 0.059351 0.061927 -0.024078\nvn 2.779479 2.169516 -1.849455\nv 0.057796 0.064073 -0.024096\nvn -1.847125 5.203926 0.839956\nv -0.081770 0.066848 -0.023975\nvn -0.168308 6.675189 0.893982\nv -0.079694 0.067115 -0.024087\nvn -1.490631 3.592032 -0.852675\nv -0.071130 0.069207 -0.023987\nvn 4.084105 2.800120 -0.388053\nv 0.051604 0.075592 -0.024256\nvn 2.518162 1.514117 0.593987\nv 0.047215 0.082650 -0.024087\nvn 2.363828 -1.294376 -1.254512\nv 0.000206 0.086243 -0.023979\nvn 0.831484 4.007875 -2.853017\nv -0.048491 0.087142 -0.024151\nvn -4.506367 1.311782 -1.716367\nv 0.015487 0.087802 -0.024021\nvn -7.322051 0.692521 -3.079355\nv -0.075265 0.088119 -0.024198\nvn -2.682375 0.522721 -1.232160\nv -0.075063 0.089410 -0.024161\nvn 1.425271 1.869621 -1.625487\nv -0.056804 0.090879 -0.023911\nvn 3.530156 3.840776 -2.597905\nv -0.059247 0.092891 -0.024111\nvn -2.564743 1.314125 -0.820880\nv 0.017332 0.092845 -0.023972\nvn 4.860507 -2.062401 -2.821634\nv 0.004484 0.095618 -0.024050\nvn 0.095772 4.484428 -3.825633\nv -0.066009 0.096663 -0.023901\nvn 4.198231 -1.688999 -2.106948\nv 0.006307 0.099623 -0.024148\nvn 4.899987 -2.734983 -2.076429\nv 0.055881 0.104238 -0.024072\nvn -5.732193 3.345821 -2.207499\nv 0.027181 0.107576 -0.024298\nvn 3.370483 -1.187616 -1.779144\nv 0.059270 0.112137 -0.024067\nvn -0.768989 -0.711761 -5.890185\nv -0.052381 0.117281 -0.024749\nvn -3.004137 1.566704 -2.115177\nv -0.018074 0.116843 -0.024061\nvn -1.129520 -0.555304 -5.856275\nv -0.054187 0.117415 -0.024439\nvn 1.982838 -2.644947 -4.994263\nv -0.042704 0.117849 -0.024264\nvn -1.765112 -0.441551 -7.779134\nv -0.054204 0.119531 -0.024574\nvn 1.377081 -1.569787 -2.140043\nv -0.038974 0.119973 -0.023956\nvn -3.228499 1.470194 -1.842087\nv -0.015912 0.121372 -0.023942\nvn -1.694568 -0.400902 -5.737746\nv -0.055937 0.121606 -0.024254\nvn 2.199771 -2.048086 -2.624037\nv -0.037235 0.122110 -0.024090\nvn -2.211708 0.835968 -5.497539\nv -0.055834 0.125089 -0.024212\nvn -1.480235 -2.406110 -0.869919\nv 0.029429 0.124402 -0.024164\nvn -3.863373 1.828017 -2.578635\nv -0.014314 0.124936 -0.023946\nvn 3.094362 -2.409179 -3.074681\nv -0.033319 0.126139 -0.023918\nvn 5.221511 0.563922 -2.883679\nv 0.061468 0.129399 -0.024000\nvn -3.404757 1.262640 -5.954464\nv -0.054377 0.129603 -0.024113\nvn 4.339703 0.633513 -2.324885\nv 0.061319 0.131408 -0.024141\nvn -3.967344 1.448664 -5.564828\nv -0.052288 0.134723 -0.024041\nvn -6.132349 4.001288 -4.906519\nv -0.009106 0.135107 -0.024278\nvn 2.155778 -1.226319 -5.432364\nv -0.025191 0.135352 -0.024088\nvn -2.114218 1.006192 -1.828902\nv -0.008212 0.136923 -0.024088\nvn 1.289215 -2.689985 -6.005111\nv -0.022797 0.137508 -0.024212\nvn 4.184062 2.436477 -3.532138\nv 0.057801 0.141138 -0.023953\nvn 1.909247 1.402712 -1.825083\nv 0.055458 0.144542 -0.024017\nvn -2.245927 3.330875 -2.827279\nv -0.000897 0.146634 -0.024029\nvn -3.482719 0.525596 -6.021014\nv -0.060129 0.147157 -0.024234\nvn 2.526983 2.161684 -2.209286\nv 0.053510 0.146701 -0.024089\nvn 2.794834 2.728056 -3.056107\nv 0.051810 0.148676 -0.024168\nvn -2.757825 -1.180488 -5.061026\nv -0.060176 0.149364 -0.024151\nvn -3.010433 0.010434 -4.386379\nv -0.062352 0.151152 -0.023914\nvn -2.528116 2.405147 -2.990019\nv -0.061539 0.152398 -0.024130\nvn -0.887011 3.587955 -3.286531\nv 0.016864 0.156382 -0.024108\nvn 0.947604 3.663855 -3.199079\nv 0.038366 0.156379 -0.024017\nvn -1.189944 -3.984532 -3.801808\nv -0.062337 0.157277 -0.024261\nvn -1.438527 -2.116157 -3.881724\nv -0.067861 0.159396 -0.024051\nvn 3.649331 3.415257 -1.390897\nv -0.021502 0.162278 -0.024000\nvn -3.176060 0.872922 -4.884938\nv -0.066083 0.164766 -0.024215\nvn 2.683222 2.176682 -6.355570\nv -0.024829 0.164726 -0.024210\nvn -3.634727 0.960064 -4.552628\nv -0.065630 0.166656 -0.024040\nvn 1.927672 3.931329 -6.553157\nv -0.028775 0.168601 -0.024126\nvn 2.041848 2.548555 -3.747647\nv -0.030923 0.170203 -0.023991\nvn -2.126440 2.771624 -4.589996\nv -0.063944 0.172582 -0.024064\nvn 2.220622 2.397408 -2.286467\nv -0.035368 0.173995 -0.024087\nvn 0.781942 1.478524 -4.541913\nv -0.038486 0.176661 -0.023977\nvn 0.273271 -4.347168 -5.077908\nv -0.032615 0.177449 -0.024168\nvn 0.795779 -3.762812 -2.880557\nv -0.030772 0.177535 -0.024061\nvn -1.098594 -1.034089 -6.759712\nv -0.036450 0.178734 -0.024373\nvn -1.041146 0.348832 -4.854971\nv -0.036602 0.181583 -0.024433\nvn -1.586558 2.164580 -6.354961\nv -0.036145 0.182794 -0.024320\nvn -1.418805 3.286144 -4.723357\nv -0.034150 0.184304 -0.024132\nvn 1.852699 -2.237174 2.591488\nv -0.016129 0.184084 -0.023898\nvn 2.991382 -0.221097 4.906498\nv -0.014491 0.186534 -0.024017\nvn 1.212732 -2.741203 -3.972056\nv 0.034466 0.056808 -0.023836\nvn -0.858820 -2.703224 -2.790161\nv -0.054391 0.058812 -0.023945\nvn -2.662693 -2.203615 -1.952618\nv 0.017715 0.062942 -0.023864\nvn 2.865238 -2.517287 -3.232533\nv -0.012796 0.068207 -0.023837\nvn 4.086495 -3.322462 -4.598486\nv -0.011007 0.070425 -0.023928\nvn 3.044069 -2.450842 -3.097806\nv -0.009255 0.072588 -0.023972\nvn -5.497220 -0.443568 -2.324378\nv 0.013794 0.073873 -0.023947\nvn -3.693455 -0.019646 -1.515378\nv 0.013823 0.075588 -0.024087\nvn -1.183730 2.208174 -1.649452\nv -0.071223 0.095292 -0.023855\nvn -2.922892 1.841891 -2.008104\nv -0.027931 0.097349 -0.023912\nvn 0.229839 -1.358951 -6.844234\nv -0.050802 0.113384 -0.024186\nvn -0.600590 -0.714731 -4.891983\nv -0.052961 0.113589 -0.024133\nvn 1.047555 -2.002437 -6.567998\nv -0.048271 0.113735 -0.023965\nvn -0.848590 -1.042545 -6.846375\nv -0.052542 0.114937 -0.024393\nvn 0.526965 -1.502872 -3.627998\nv -0.046828 0.114121 -0.023912\nvn 2.105835 -2.910161 -5.949614\nv -0.044310 0.115692 -0.024045\nvn -0.793043 -0.801162 -4.868878\nv -0.054642 0.115877 -0.024158\nvn -2.721691 0.772381 -0.997696\nv 0.031553 0.117242 -0.023854\nvn -1.588617 0.018083 -6.805469\nv -0.056764 0.117814 -0.023829\nvn 1.527848 -2.581140 -3.995986\nv -0.040840 0.118396 -0.023925\nvn -1.812351 -0.232761 -5.684154\nv -0.056312 0.119575 -0.023958\nvn 2.680427 -0.611556 -1.195040\nv 0.061427 0.120188 -0.024040\nvn -3.453321 -1.551822 -1.210858\nv 0.031424 0.121854 -0.023860\nvn -2.088539 0.319742 -5.583914\nv -0.056350 0.123511 -0.024187\nvn -2.924101 1.303729 -6.195469\nv -0.055434 0.127377 -0.023860\nvn -2.562080 1.333293 -4.067921\nv -0.053989 0.131328 -0.023837\nvn 1.918398 -1.710943 -3.025429\nv -0.027538 0.133881 -0.024221\nvn 2.665025 -1.096656 -3.303148\nv -0.021214 0.137688 -0.023894\nvn 4.165767 0.203274 -3.968648\nv -0.021284 0.139444 -0.023971\nvn -1.087763 -2.775392 -4.450248\nv -0.062570 0.139923 -0.023815\nvn 1.005759 -2.741286 -1.704195\nv -0.060699 0.139872 -0.023821\nvn -2.385973 0.250204 -7.318643\nv -0.062528 0.141312 -0.024031\nvn 3.825109 0.311906 -2.902283\nv -0.021383 0.141369 -0.023928\nvn -2.287883 0.806512 -4.368667\nv -0.061943 0.143416 -0.023933\nvn -0.029425 -3.367507 3.649211\nv -0.054367 0.142514 -0.023891\nvn -0.860735 -2.967608 2.459219\nv -0.052980 0.142382 -0.023825\nvn 3.459219 -0.159482 -3.309672\nv -0.021556 0.143010 -0.023986\nvn -2.314573 1.801668 -2.701386\nv -0.004361 0.142975 -0.023824\nvn -1.812790 0.648003 -3.502072\nv -0.061553 0.144688 -0.023913\nvn 4.562580 -1.079901 -4.399337\nv -0.021098 0.145305 -0.024002\nvn -0.825673 3.580343 -4.598172\nv 0.014421 0.156130 -0.023913\nvn -0.823813 1.625881 -3.541370\nv 0.019581 0.158120 -0.023891\nvn -0.074262 2.661312 -4.123766\nv 0.027157 0.158101 -0.024005\nvn -0.180236 1.961129 -3.418579\nv 0.028835 0.158350 -0.024012\nvn 1.011233 0.781617 -5.839073\nv -0.024681 0.166580 -0.024073\nvn 1.022634 2.842118 -4.742989\nv -0.026237 0.168371 -0.023873\nvn -2.258296 -0.196219 -3.728738\nv -0.067586 0.171341 -0.023886\nvn -0.961104 2.987788 -4.652568\nv -0.066024 0.172106 -0.023994\nvn 1.593902 1.808584 -1.734917\nv -0.033209 0.172132 -0.023811\nvn -1.878389 2.062251 -2.476695\nv -0.061981 0.176213 -0.023988\nvn 0.267153 -3.179063 -4.777455\nv -0.034251 0.177173 -0.024047\nvn 0.888195 -0.820866 -6.219805\nv -0.036427 0.176719 -0.023846\nvn -0.902731 0.291371 -6.675039\nv -0.038648 0.178594 -0.023912\nvn 1.227569 -2.667430 0.185808\nv -0.023928 0.179981 -0.023836\nvn -1.541213 0.169546 -5.783300\nv -0.038727 0.180818 -0.023928\nvn -1.208762 1.392432 -5.633183\nv -0.038207 0.182676 -0.023885\nvn -1.364359 3.444485 -1.207029\nv -0.030075 0.185740 -0.023890\nvn 0.310012 -3.647387 -3.387277\nv -0.032600 0.055168 -0.023759\nvn 0.787145 -3.416571 -3.280158\nv -0.030871 0.055149 -0.023755\nvn -0.000000 0.000000 0.000000\nv 0.058452 0.055193 -0.023711\nvn -0.956467 -5.793231 -3.743080\nv -0.046154 0.055756 -0.023412\nvn -1.672908 -5.545804 -3.842821\nv 0.026729 0.055668 -0.023039\nvn -1.238516 -2.903224 -2.447016\nv -0.049640 0.056829 -0.023797\nvn 2.204473 -5.528895 -5.292923\nv -0.026409 0.056062 -0.023251\nvn -1.143206 -4.076256 -4.208791\nv -0.052454 0.057653 -0.023369\nvn -2.726495 -5.790907 -6.229529\nv -0.056281 0.058224 -0.022979\nvn 4.271170 -2.877254 -3.072115\nv -0.004550 0.077907 -0.023183\nvn -2.820523 0.311420 -0.916445\nv 0.013786 0.078625 -0.023737\nvn 2.224649 -1.371160 -1.460209\nv -0.001621 0.082825 -0.023737\nvn -0.000000 0.000000 -0.000000\nv -0.046386 0.087085 -0.023737\nvn -1.380683 3.892843 -2.784807\nv -0.039898 0.087056 -0.023871\nvn 2.312708 6.224500 -4.430167\nv -0.050443 0.088519 -0.022767\nvn 1.972709 2.384694 -2.392063\nv -0.058137 0.092337 -0.023506\nvn -3.105744 1.604266 -1.943436\nv -0.021873 0.108725 -0.023826\nvn -0.494007 -0.729591 -5.909223\nv -0.053999 0.112069 -0.023767\nvn 0.525840 -1.804777 -5.659905\nv -0.050885 0.111525 -0.023744\nvn -0.167830 -1.039331 -4.879292\nv -0.052323 0.112225 -0.023943\nvn 0.638724 -1.198739 -3.729483\nv -0.049348 0.112050 -0.023728\nvn -1.083944 -0.657965 -6.861506\nv -0.054330 0.113806 -0.023850\nvn -0.480499 -0.567051 -3.919580\nv -0.055592 0.114325 -0.023721\nvn -1.215417 -0.835852 -7.835920\nv -0.056107 0.115791 -0.023939\nvn -0.843848 -0.550603 -6.908190\nv -0.056567 0.113916 -0.023591\nvn 1.706306 -1.537908 -3.269743\nv -0.043164 0.116171 -0.023734\nvn -2.582674 -0.413026 -7.492313\nv -0.057555 0.121529 -0.023752\nvn -1.606089 0.320956 -3.614325\nv -0.057689 0.122942 -0.023718\nvn 2.166492 -2.131276 -2.598140\nv -0.035881 0.122802 -0.023414\nvn -3.056856 1.362130 -6.126990\nv -0.057989 0.125363 -0.023115\nvn -2.178819 1.104199 -4.342818\nv -0.056614 0.126179 -0.023674\nvn 1.954003 -3.304615 -6.849427\nv -0.026842 0.132919 -0.023411\nvn 0.324047 -1.319766 -2.668263\nv -0.025606 0.133719 -0.023720\nvn 2.155116 -2.566545 -7.135980\nv -0.024589 0.133336 -0.023381\nvn -2.453130 1.103882 -2.953736\nv -0.051994 0.136375 -0.023759\nvn 1.132396 -1.112112 -2.332449\nv -0.022106 0.136492 -0.023677\nvn 5.510796 -2.116849 -2.619535\nv -0.020733 0.137179 -0.022948\nvn -4.676947 2.565821 -4.411439\nv -0.052335 0.137526 -0.022951\nvn 0.249678 -4.684595 -0.294083\nv -0.062206 0.139419 -0.022705\nvn 3.446767 -5.346057 2.229833\nv -0.060235 0.139905 -0.022602\nvn 2.708797 -3.204694 0.951657\nv -0.058625 0.141290 -0.022912\nvn -3.567309 -0.696206 -6.888530\nv -0.064328 0.141318 -0.023319\nvn -2.337138 2.028842 -2.533555\nv -0.006123 0.140750 -0.023829\nvn -5.452823 -1.791159 -1.180894\nv -0.051588 0.141532 -0.022416\nvn 0.743227 -3.461540 3.494186\nv -0.055567 0.142507 -0.023707\nvn -4.181056 -5.560306 3.253929\nv -0.052673 0.143156 -0.022461\nvn -3.375640 2.508706 -5.355294\nv -0.003133 0.145138 -0.023525\nvn 3.630242 -0.506312 0.754846\nv -0.020242 0.147082 -0.022814\nvn -2.041800 0.285403 -3.392087\nv -0.061073 0.147225 -0.023662\nvn -1.541460 2.540890 -2.531828\nv 0.003156 0.150464 -0.023748\nvn 1.360025 1.950265 -1.796134\nv 0.049877 0.150408 -0.023776\nvn -2.367664 0.445876 -3.743683\nv -0.062971 0.151429 -0.023458\nvn -0.586304 2.956797 -4.976944\nv 0.009217 0.155074 -0.023098\nvn 1.333732 2.766153 -2.447167\nv 0.043752 0.154225 -0.023748\nvn -2.524545 3.097944 -6.705011\nv 0.012661 0.156804 -0.023207\nvn 0.630395 3.938132 -5.666601\nv 0.040640 0.156995 -0.023128\nvn -2.098604 -3.839298 -1.734232\nv -0.058093 0.156717 -0.022638\nvn -0.821730 2.805059 -5.153104\nv 0.016539 0.157059 -0.023505\nvn 0.912605 2.323622 -3.112619\nv 0.034827 0.158025 -0.023803\nvn 1.449975 2.786954 -4.953556\nv 0.036342 0.157685 -0.023556\nvn 0.386945 1.705170 -3.538716\nv 0.020956 0.158994 -0.023801\nvn 0.208338 2.616039 -5.211744\nv 0.028898 0.159366 -0.023618\nvn -0.517760 2.642746 -5.190729\nv 0.020521 0.159448 -0.023581\nvn -1.970426 -0.223866 -3.063188\nv -0.069196 0.159892 -0.023711\nvn -4.210002 1.691258 -5.075235\nv -0.068172 0.162853 -0.022900\nvn 1.654300 1.947046 -1.403682\nv -0.023320 0.164120 -0.023744\nvn 2.859909 0.352377 -2.501133\nv -0.023219 0.166681 -0.023745\nvn 1.952816 2.458459 -2.542690\nv -0.024413 0.168073 -0.023817\nvn 4.485831 4.999683 0.915518\nv -0.024735 0.168639 -0.022738\nvn -0.952346 1.900530 -2.883145\nv -0.067502 0.172100 -0.023785\nvn 2.384578 -5.354826 -0.071948\nv -0.026795 0.178744 -0.022744\nvn 2.131599 -5.562711 0.509752\nv -0.025212 0.179496 -0.022718\nvn -0.739563 2.255347 -3.122781\nv -0.035588 0.184233 -0.023786\nvn 2.715419 -1.570566 3.814476\nv -0.015571 0.185110 -0.023695\nvn 0.590602 2.255748 3.056284\nv -0.016859 0.187893 -0.023391\nvn -0.181478 -6.038141 -3.455127\nv -0.036339 0.054205 -0.022656\nvn -0.013650 -4.866112 -3.428058\nv -0.034298 0.054293 -0.022978\nvn 0.152839 -4.740679 -3.631389\nv -0.032661 0.054187 -0.022725\nvn 1.452529 -5.307836 -4.041364\nv -0.030823 0.054329 -0.022739\nvn -0.744402 -5.395932 -2.481551\nv -0.041024 0.054611 -0.022621\nvn 1.363655 -6.007230 -4.964795\nv -0.028852 0.054637 -0.022481\nvn -0.268275 -5.177794 -2.586364\nv 0.058190 0.054770 -0.022816\nvn 0.628360 -5.663526 -3.573282\nv 0.060231 0.054498 -0.022462\nvn -0.930424 -3.272723 -1.758920\nv -0.044508 0.055420 -0.023175\nvn 0.000000 0.000000 0.000000\nv -0.042173 0.055404 -0.023387\nvn 0.368712 -2.082503 -2.019920\nv -0.028381 0.055474 -0.023411\nvn 0.281334 -2.046705 -1.779259\nv 0.028789 0.055388 -0.023322\nvn 0.179189 -3.553135 -3.479621\nv 0.030977 0.055503 -0.023475\nvn 0.833983 -4.055602 -4.319464\nv 0.032483 0.055642 -0.023353\nvn -2.100204 -6.454368 -1.626605\nv 0.054239 0.055574 -0.022651\nvn -0.771211 -3.666794 -1.348109\nv 0.055477 0.055449 -0.023387\nvn -1.273995 -7.341613 -2.539353\nv 0.056290 0.055093 -0.022824\nvn 1.649295 -1.589088 -3.015317\nv 0.060900 0.055750 -0.023402\nvn -1.582051 -5.446967 -4.055365\nv -0.048673 0.055728 -0.022838\nvn -3.330533 -6.868431 -4.645092\nv 0.024791 0.056099 -0.022521\nvn 1.838962 -5.385414 -5.582678\nv 0.034583 0.055898 -0.023034\nvn -2.378542 -5.313196 -1.326891\nv 0.052593 0.056186 -0.022670\nvn 4.729562 -0.635393 -4.783588\nv 0.062208 0.056242 -0.022516\nvn -1.463592 -5.725853 -5.233294\nv -0.050510 0.056281 -0.022649\nvn 3.395035 -7.024416 -6.199098\nv -0.024625 0.056245 -0.022541\nvn 2.562330 -5.571547 -6.482641\nv 0.036621 0.056234 -0.022568\nvn 1.407667 -2.644497 -2.623774\nv -0.024044 0.057318 -0.023420\nvn -2.054271 -3.593859 -2.779959\nv 0.022797 0.057656 -0.023261\nvn 0.678510 -1.646716 -2.353805\nv 0.036683 0.057408 -0.023450\nvn -2.919918 -5.147933 -0.979780\nv 0.050920 0.057142 -0.022677\nvn 4.225773 0.482259 -4.088297\nv 0.061812 0.058070 -0.022806\nvn 3.042996 -5.183746 -6.672101\nv 0.038661 0.058068 -0.023020\nvn 3.093869 -4.511402 -4.331196\nv -0.022516 0.057789 -0.022927\nvn -2.489712 -4.249102 -0.855932\nv 0.049760 0.057816 -0.022782\nvn 0.156940 -5.950509 0.308362\nv -0.080054 0.058400 -0.022787\nvn -1.210522 -3.909814 -4.362199\nv -0.054300 0.057884 -0.023204\nvn -1.088334 -6.840960 0.288082\nv -0.082135 0.058557 -0.022624\nvn -3.101835 -4.562640 -1.157371\nv -0.084033 0.059008 -0.022423\nvn 0.604312 -5.951134 -0.366269\nv -0.076648 0.058735 -0.022770\nvn 4.464046 -5.691724 -5.285581\nv -0.020930 0.058516 -0.022526\nvn -4.360139 -5.330815 -3.991173\nv 0.020967 0.058286 -0.022439\nvn -3.052789 -6.075417 -1.350464\nv 0.048248 0.058713 -0.022627\nvn 1.321023 -6.824441 -0.599841\nv -0.074198 0.059026 -0.022688\nvn -1.546788 -2.269432 -2.919844\nv -0.058267 0.059771 -0.023159\nvn 1.319205 -3.223768 -3.561988\nv 0.040717 0.059587 -0.023348\nvn 5.155329 2.209721 -4.160096\nv 0.061622 0.060019 -0.022262\nvn -2.837666 -1.126509 -1.730906\nv -0.084805 0.060308 -0.023270\nvn -0.436318 -0.502109 -0.764846\nv -0.057223 0.059725 -0.023634\nvn 1.520927 -1.684559 -1.949558\nv -0.020087 0.059709 -0.022975\nvn -2.384971 -2.381191 -2.130108\nv 0.020127 0.059842 -0.023374\nvn -1.885952 -5.218702 -1.989920\nv 0.046046 0.059721 -0.022534\nvn 1.551372 -5.883305 -5.028933\nv 0.042698 0.059749 -0.022867\nvn 2.201858 1.037917 -1.748374\nv 0.060955 0.060235 -0.022989\nvn 0.646479 -4.877668 -3.228376\nv 0.044423 0.059872 -0.022486\nvn 1.781469 -4.644974 -0.498713\nv -0.070024 0.060405 -0.022578\nvn -2.803276 -5.400218 -6.369342\nv -0.060264 0.060282 -0.022568\nvn -4.659701 -4.039375 -3.290689\nv 0.018974 0.060397 -0.022516\nvn -3.504718 -2.783301 -2.204790\nv 0.018219 0.061612 -0.022867\nvn 6.248328 4.251903 -4.764079\nv 0.060102 0.062274 -0.022740\nvn -5.852871 1.088108 -2.526433\nv -0.084731 0.062351 -0.023196\nvn 1.126834 -5.363598 -2.208356\nv -0.066178 0.061707 -0.022593\nvn -0.962918 -2.056381 -1.361772\nv -0.061225 0.061997 -0.023313\nvn 1.523921 -1.589521 -2.037277\nv -0.018198 0.061825 -0.023179\nvn -0.871300 -4.938694 -4.413810\nv -0.064266 0.061953 -0.022688\nvn -1.052832 -5.221996 -3.660050\nv -0.062520 0.062106 -0.023068\nvn 5.598877 -5.642270 -5.984177\nv -0.017133 0.062237 -0.022696\nvn -4.216203 -3.492748 -2.401177\nv 0.017164 0.062665 -0.022595\nvn -6.120033 4.057045 -1.877473\nv -0.084284 0.064044 -0.022584\nvn 1.611660 -1.541721 -1.997332\nv -0.016300 0.063762 -0.023290\nvn -5.273702 -3.314494 -3.113141\nv 0.016298 0.063964 -0.022810\nvn 6.045782 5.257901 -4.016370\nv 0.058467 0.064352 -0.022633\nvn 5.221907 -4.765726 -5.532378\nv -0.014897 0.064503 -0.022659\nvn -4.358645 3.485104 0.036842\nv -0.083348 0.065770 -0.022729\nvn 1.722089 -1.557190 -1.897923\nv -0.014339 0.065491 -0.022985\nvn 4.767451 3.338210 -3.686615\nv 0.056679 0.066203 -0.022698\nvn -2.623518 5.015105 -1.160215\nv -0.082034 0.066918 -0.022720\nvn -5.740139 -2.473765 -3.118899\nv 0.015026 0.066370 -0.022676\nvn 5.375226 -4.861732 -5.296798\nv -0.013272 0.066235 -0.022599\nvn -0.687688 5.885056 -0.853385\nv -0.079988 0.067337 -0.022523\nvn 2.264888 -2.109797 -2.532621\nv -0.012617 0.067650 -0.023230\nvn -1.544281 6.340393 -0.986743\nv -0.078011 0.067420 -0.022682\nvn -1.666706 5.624753 -1.189002\nv -0.075988 0.067852 -0.022636\nvn 2.350139 1.313531 -2.190989\nv 0.055028 0.068026 -0.023335\nvn -1.534328 4.644271 -1.009510\nv -0.074058 0.068533 -0.022599\nvn -6.189588 -1.936740 -2.588503\nv 0.014297 0.068246 -0.022706\nvn -2.211100 6.936285 -2.219972\nv -0.072569 0.068896 -0.022841\nvn 4.289102 -3.749154 -3.994458\nv -0.011118 0.068259 -0.022371\nvn -4.219589 4.733050 -4.288145\nv -0.070233 0.070122 -0.022544\nvn 3.210637 -2.551148 -2.797925\nv -0.010401 0.069843 -0.022989\nvn -3.493847 -0.857617 -1.690396\nv 0.014003 0.069809 -0.023134\nvn 3.732986 1.155426 -3.063325\nv 0.054919 0.070186 -0.023031\nvn -2.946663 1.351051 -2.971932\nv -0.068603 0.070723 -0.023013\nvn 3.298649 -2.416688 -2.833945\nv -0.009316 0.070491 -0.022333\nvn 7.630057 4.764615 -3.780640\nv 0.054369 0.072009 -0.022638\nvn -3.101823 -1.466692 -2.986721\nv -0.068250 0.072227 -0.023188\nvn 4.813688 -3.529160 -3.621687\nv -0.008580 0.072138 -0.022801\nvn -4.169287 -3.811740 -4.984283\nv -0.070337 0.074057 -0.022806\nvn 6.138515 -4.791781 -4.444235\nv -0.006839 0.074164 -0.022657\nvn 3.919689 3.036722 -0.383197\nv 0.052437 0.074539 -0.022601\nvn -5.949852 -3.629612 -6.183416\nv -0.072058 0.076010 -0.022616\nvn 2.744987 -2.032954 -2.053619\nv -0.006097 0.075392 -0.022946\nvn 4.828826 3.507341 0.260136\nv 0.051121 0.076296 -0.022476\nvn 4.919168 -3.469413 -3.545011\nv -0.005112 0.076353 -0.022519\nvn -2.055442 -1.533579 -1.221620\nv -0.072491 0.077357 -0.023061\nvn -7.521067 0.596687 -2.590928\nv 0.013356 0.077758 -0.022648\nvn 4.887221 3.321441 0.728116\nv 0.049924 0.078087 -0.022568\nvn -4.707239 -3.397919 -6.173515\nv -0.073746 0.078002 -0.022407\nvn 7.311879 4.839735 1.920490\nv 0.048505 0.080035 -0.022710\nvn -4.200120 -1.245851 -3.716428\nv -0.074265 0.079736 -0.022621\nvn 6.657493 -4.544253 -3.866689\nv -0.002846 0.079818 -0.022515\nvn -2.817113 0.337729 -0.965689\nv 0.013827 0.080302 -0.023387\nvn -4.300294 -1.417124 -2.043798\nv -0.074866 0.081717 -0.022732\nvn -6.547141 0.893036 -2.299190\nv 0.013909 0.081962 -0.022933\nvn 3.638943 -2.443885 -2.388467\nv -0.002321 0.081005 -0.023060\nvn 2.478185 1.584642 0.587158\nv 0.047770 0.081344 -0.023084\nvn 5.443640 -3.153381 -3.034322\nv -0.001377 0.082224 -0.022733\nvn 6.320443 4.350321 2.133803\nv 0.047026 0.082283 -0.022528\nvn 5.799353 3.153665 1.955698\nv 0.045920 0.083778 -0.022682\nvn 6.514242 -3.439573 -3.081499\nv -0.000437 0.083811 -0.022506\nvn -6.791826 -2.192996 -4.937582\nv -0.075627 0.083940 -0.022508\nvn -6.579262 1.087772 -2.112388\nv 0.014096 0.084211 -0.022585\nvn -4.984620 -0.366742 -4.497788\nv -0.076027 0.085997 -0.022591\nvn -4.602221 1.186661 -1.526238\nv 0.014481 0.086045 -0.022700\nvn 7.554311 -0.501518 0.308588\nv 0.045285 0.085832 -0.022884\nvn 6.478339 -3.586600 -2.947838\nv 0.000833 0.086136 -0.022538\nvn 0.490010 5.828193 -3.735238\nv -0.044423 0.087354 -0.022733\nvn -0.694406 5.834279 -3.733163\nv -0.042505 0.087557 -0.022585\nvn 0.742903 4.206281 -2.557171\nv -0.046201 0.087627 -0.022800\nvn -0.806072 4.033027 -2.811845\nv -0.041013 0.087655 -0.022740\nvn -7.341617 2.163637 -2.313664\nv 0.015156 0.088053 -0.022881\nvn 7.273808 -2.994580 -0.866432\nv 0.045961 0.087875 -0.022303\nvn 1.286700 5.925838 -3.472738\nv -0.048545 0.088050 -0.022666\nvn -2.820117 7.059405 -4.549304\nv -0.038771 0.088107 -0.022797\nvn 5.730386 -2.836567 -2.810156\nv 0.001717 0.087830 -0.022553\nvn 3.716181 5.881848 -5.177974\nv -0.052443 0.089526 -0.022530\nvn 0.975226 2.278271 -1.672441\nv -0.051973 0.088624 -0.023387\nvn -6.381943 1.716533 -4.123333\nv -0.075722 0.089726 -0.022521\nvn 5.820131 -2.677337 -2.736145\nv 0.002318 0.089559 -0.022899\nvn 2.149150 3.210157 -3.128089\nv -0.053923 0.089976 -0.022888\nvn -5.660224 7.903409 -4.899769\nv -0.036495 0.089837 -0.022458\nvn -3.622178 1.229043 -1.134891\nv 0.015835 0.090175 -0.023139\nvn 5.089693 -2.957413 -1.059847\nv 0.046905 0.089803 -0.022671\nvn -1.515825 2.149373 -1.428445\nv -0.034968 0.090633 -0.023008\nvn -6.986902 3.162211 -2.201502\nv 0.016355 0.091946 -0.022532\nvn 6.599220 -4.191178 -1.631103\nv 0.048165 0.091749 -0.022664\nvn 4.258212 5.289757 -7.110728\nv -0.056010 0.091904 -0.022597\nvn 5.660686 -2.898600 -2.891582\nv 0.003445 0.091728 -0.022928\nvn -3.051381 1.310017 -2.075417\nv -0.074746 0.092111 -0.022615\nvn -2.947326 3.219783 -2.418528\nv -0.032950 0.092457 -0.022617\nvn -5.417873 3.297461 -5.945377\nv -0.073953 0.093766 -0.022620\nvn 2.599202 2.422141 -4.698950\nv -0.058113 0.093450 -0.022772\nvn -3.677785 3.706067 -2.939114\nv -0.032125 0.093383 -0.022423\nvn 2.410094 2.163834 -3.500865\nv -0.059724 0.094203 -0.023154\nvn -5.946582 3.139137 -1.928762\nv 0.017377 0.093661 -0.022721\nvn 5.770678 -3.678287 -1.457989\nv 0.049118 0.093353 -0.022601\nvn -4.774188 4.112922 -2.995198\nv -0.031020 0.094156 -0.022963\nvn -2.245674 2.041929 -2.416743\nv -0.072950 0.094569 -0.022917\nvn 5.048140 -2.039706 -2.495143\nv 0.004601 0.094064 -0.022744\nvn -2.966873 3.932522 -4.614284\nv -0.072065 0.095649 -0.022788\nvn 2.179858 2.516721 -4.521574\nv -0.060388 0.095871 -0.022808\nvn 1.534321 4.043738 -5.033871\nv -0.062372 0.096161 -0.023199\nvn 6.751459 -2.845762 -3.179269\nv 0.005351 0.095995 -0.022650\nvn -4.932538 3.025705 -1.564341\nv 0.018579 0.095909 -0.022698\nvn 4.694321 -3.557414 -1.114933\nv 0.050932 0.096008 -0.022804\nvn -4.422300 3.060096 -2.575210\nv -0.029184 0.096371 -0.022907\nvn -1.529391 3.619884 -4.213347\nv -0.070356 0.096380 -0.023028\nvn -1.141778 2.324827 -2.864595\nv -0.068540 0.096692 -0.023318\nvn 1.152339 1.943842 -1.850831\nv -0.063729 0.096576 -0.023370\nvn -1.165528 2.959378 -6.866948\nv -0.067977 0.097796 -0.022788\nvn 1.428023 3.312301 -6.653569\nv -0.064322 0.097602 -0.022886\nvn 0.000711 1.600165 -3.501754\nv -0.066103 0.097784 -0.022980\nvn -6.088249 3.402337 -3.855479\nv -0.028616 0.097850 -0.022544\nvn -3.978820 2.716098 -1.336815\nv 0.019380 0.097187 -0.022522\nvn 5.569442 -4.086077 -1.052140\nv 0.052489 0.097930 -0.022698\nvn -4.765211 3.281923 -1.585489\nv 0.020273 0.098400 -0.022688\nvn -4.965558 3.432141 -3.481117\nv -0.027327 0.099598 -0.022857\nvn 6.068799 -2.248014 -2.643926\nv 0.006965 0.099634 -0.022753\nvn 3.307898 -1.982480 -0.982034\nv 0.053086 0.098960 -0.023208\nvn -4.728187 3.330712 -1.593208\nv 0.021071 0.099654 -0.022497\nvn 5.829159 -3.480092 -1.615293\nv 0.053676 0.099676 -0.022512\nvn -2.344522 1.677347 -0.830028\nv 0.021877 0.100325 -0.023435\nvn -3.561159 2.501888 -2.457408\nv -0.026286 0.101429 -0.022385\nvn -6.398411 4.303776 -2.100261\nv 0.022485 0.101528 -0.022690\nvn 3.436118 -1.301102 -1.569418\nv 0.007542 0.101534 -0.022850\nvn 5.794099 -3.477812 -1.798928\nv 0.054682 0.101484 -0.022699\nvn -3.811075 2.156007 -2.386243\nv -0.025472 0.102263 -0.022786\nvn -4.852056 2.391066 -2.568905\nv -0.024896 0.103779 -0.022606\nvn 5.016639 -2.331567 -2.310086\nv 0.007926 0.102270 -0.022711\nvn 5.866598 -2.826919 -2.521458\nv 0.008764 0.103675 -0.022504\nvn 5.858082 -3.401728 -1.728364\nv 0.056248 0.103961 -0.022484\nvn -3.909816 2.779525 -1.382112\nv 0.024139 0.104210 -0.022754\nvn -4.521055 3.560964 -1.691523\nv 0.024928 0.105294 -0.022632\nvn -4.938798 2.325087 -2.465514\nv -0.023943 0.105826 -0.022489\nvn 6.871883 -3.047862 -2.685641\nv 0.009490 0.105642 -0.022871\nvn -4.695537 3.285037 -1.752688\nv 0.025763 0.106207 -0.022891\nvn 5.095249 -2.686860 -1.659441\nv 0.057143 0.105822 -0.022814\nvn -6.607320 2.833526 -3.450630\nv -0.023085 0.107748 -0.022669\nvn 2.523729 -1.161572 -1.121095\nv 0.009836 0.106975 -0.023387\nvn 6.743727 -3.532649 -2.308776\nv 0.010515 0.107701 -0.022706\nvn -3.282379 1.947879 -1.187832\nv 0.026611 0.107678 -0.022624\nvn 4.265027 -2.239253 -1.316975\nv 0.058136 0.107501 -0.022528\nvn -6.312250 3.324159 -3.588069\nv -0.022281 0.109539 -0.022459\nvn 6.108164 -2.928426 -1.606093\nv 0.011412 0.109398 -0.022814\nvn -5.041449 2.704944 -1.805903\nv 0.027319 0.109013 -0.022565\nvn 6.086068 -2.695297 -2.081753\nv 0.058912 0.109281 -0.022887\nvn -0.288436 -1.033244 -4.874165\nv -0.056125 0.109500 -0.023296\nvn 0.377347 -1.719081 -5.696573\nv -0.054035 0.109882 -0.023416\nvn -2.321592 1.232253 -1.437773\nv -0.021501 0.109993 -0.023272\nvn -4.280108 2.104209 -1.495062\nv 0.027824 0.109970 -0.022575\nvn 0.735132 -2.219658 -5.505960\nv -0.052454 0.109329 -0.022882\nvn -0.845859 -1.020214 -7.813686\nv -0.058375 0.109558 -0.023084\nvn -0.701236 -0.573033 -6.926405\nv -0.056348 0.111455 -0.023582\nvn -0.128277 -0.748570 -4.931061\nv -0.054248 0.111088 -0.023675\nvn 0.219775 -1.948872 -6.656794\nv -0.052440 0.111073 -0.023658\nvn 0.553486 -1.865902 -4.586476\nv -0.050532 0.111001 -0.023520\nvn -7.092798 3.300339 -4.395141\nv -0.021102 0.111668 -0.022598\nvn -5.172444 2.480524 -1.748756\nv 0.028579 0.111666 -0.022508\nvn 2.076777 -3.057021 -7.021763\nv -0.048372 0.111488 -0.023254\nvn -0.966302 -0.262841 -4.887938\nv -0.058224 0.111535 -0.023303\nvn 6.848098 -3.692440 -1.676268\nv 0.012438 0.111709 -0.022659\nvn 7.947183 -2.667965 -3.184096\nv 0.059731 0.111615 -0.022740\nvn -4.964699 2.069335 -2.643249\nv -0.020170 0.113776 -0.022721\nvn -5.074514 2.658847 -1.766217\nv 0.029295 0.113192 -0.022415\nvn 1.711168 -2.677328 -5.038496\nv -0.046092 0.113276 -0.023280\nvn 4.961292 -3.183132 -1.059324\nv 0.013394 0.113228 -0.022812\nvn -3.365975 1.786698 -1.208900\nv 0.029945 0.113975 -0.022999\nvn 4.397952 -1.603698 -1.720690\nv 0.060516 0.113526 -0.022637\nvn 3.467675 -5.437651 -7.479728\nv -0.044495 0.113439 -0.022710\nvn 2.442378 -1.297501 -0.930181\nv 0.014080 0.114500 -0.023411\nvn -0.608117 -0.478442 -3.921131\nv -0.057223 0.114675 -0.023622\nvn 1.117447 -1.506006 -2.245777\nv -0.043797 0.114623 -0.023296\nvn 5.836328 -3.311342 -1.574468\nv 0.014796 0.115546 -0.022828\nvn -5.225707 2.256041 -1.838558\nv 0.030534 0.115334 -0.022720\nvn -1.281660 -0.337132 -5.844724\nv -0.058393 0.115492 -0.023484\nvn 3.012534 -3.309374 -5.315980\nv -0.042622 0.115542 -0.023146\nvn -5.851704 2.594089 -2.809133\nv -0.019291 0.115887 -0.022635\nvn -1.040651 -0.063791 -4.883326\nv -0.057573 0.116425 -0.023708\nvn 0.394497 -0.391079 -0.838551\nv -0.042523 0.116775 -0.023646\nvn -8.145774 3.429537 -4.592346\nv -0.018568 0.117539 -0.022692\nvn 4.736288 -3.500847 -1.008397\nv 0.015544 0.116623 -0.022485\nvn -1.161366 0.232808 -4.852760\nv -0.058786 0.117781 -0.023415\nvn 3.050424 -3.697033 -4.995706\nv -0.040620 0.117156 -0.022963\nvn -7.364643 1.744638 -2.516437\nv 0.031209 0.117526 -0.022704\nvn 6.175008 -4.798763 -1.089895\nv 0.016593 0.117864 -0.022794\nvn 2.196781 -2.481140 -3.674176\nv -0.039723 0.118525 -0.023549\nvn -1.676359 -0.024606 -6.767382\nv -0.058193 0.119654 -0.023411\nvn -3.751532 2.157930 -2.424161\nv -0.017460 0.119673 -0.022971\nvn 3.253817 -2.182903 -0.728283\nv 0.017381 0.119076 -0.023246\nvn -5.633808 -0.033099 -1.884286\nv 0.031410 0.119347 -0.022542\nvn 6.258438 -1.448558 -2.774586\nv 0.061882 0.119586 -0.022785\nvn 5.153142 -4.388947 -5.838136\nv -0.038161 0.119197 -0.022779\nvn -0.858649 -0.180182 -2.832580\nv -0.057223 0.120100 -0.023642\nvn 4.589394 -3.665270 -1.022428\nv 0.018158 0.120099 -0.022531\nvn -1.503642 0.093553 -4.742891\nv -0.058665 0.121329 -0.023425\nvn 5.719242 -5.217519 -6.294939\nv -0.036520 0.121473 -0.022843\nvn -5.486929 2.575160 -3.469655\nv -0.016685 0.121411 -0.022596\nvn 3.716220 -4.549050 -1.090140\nv 0.019100 0.121036 -0.022513\nvn -5.393117 -1.615555 -1.930436\nv 0.031109 0.121348 -0.022622\nvn 6.285737 -0.927052 -2.838135\nv 0.062428 0.121369 -0.022507\nvn -2.807626 0.974435 -6.284280\nv -0.058647 0.123772 -0.023165\nvn 2.832727 -3.959196 -1.077412\nv 0.020602 0.122206 -0.022894\nvn 2.632618 -4.062829 -1.193853\nv 0.021443 0.122758 -0.022820\nvn -5.093187 -3.954746 -2.238189\nv 0.030450 0.122954 -0.022917\nvn -4.795412 1.618892 -3.215543\nv -0.016299 0.122924 -0.022316\nvn 5.276310 -4.554892 -5.650906\nv -0.034364 0.123580 -0.022769\nvn 3.118586 -6.027108 -1.558740\nv 0.022659 0.123452 -0.022638\nvn -3.801578 1.708181 -2.720762\nv -0.015495 0.123866 -0.023115\nvn 1.903812 -6.338676 -2.142546\nv 0.024163 0.124053 -0.022506\nvn -3.447082 -6.489769 -2.988887\nv 0.028926 0.123980 -0.022713\nvn -3.680506 1.909768 -2.755306\nv -0.014906 0.125448 -0.022724\nvn 0.817088 -3.649580 -1.407994\nv 0.024849 0.124447 -0.023121\nvn 5.390304 -0.163410 -2.603802\nv 0.062391 0.123574 -0.022571\nvn -1.084000 -4.500692 -1.767781\nv 0.027672 0.124647 -0.023037\nvn 1.869747 -1.509393 -1.796044\nv -0.033773 0.125175 -0.023494\nvn 0.447030 -5.554596 -2.001295\nv 0.026240 0.124632 -0.022638\nvn 5.107648 -0.423622 -3.085943\nv 0.062676 0.125395 -0.022325\nvn 5.994980 -5.216105 -7.285195\nv -0.032516 0.125525 -0.022480\nvn -7.608212 3.006516 -5.695917\nv -0.014362 0.127223 -0.022510\nvn -2.342869 1.290372 -4.213607\nv -0.056541 0.127731 -0.023243\nvn 3.122037 -2.455188 -3.022733\nv -0.032053 0.126794 -0.022974\nvn 4.276318 -4.604414 -6.225860\nv -0.030953 0.127583 -0.022588\nvn -2.316296 1.023567 -1.607733\nv -0.013580 0.128184 -0.023008\nvn -3.147952 1.427547 -4.886541\nv -0.056009 0.129486 -0.023037\nvn 5.648130 0.811216 -3.995666\nv 0.062359 0.129351 -0.022462\nvn 1.996920 -2.030599 -2.725671\nv -0.030327 0.129064 -0.023289\nvn -5.760599 2.259741 -4.923972\nv -0.013149 0.129758 -0.022645\nvn 2.637630 -3.089413 -6.642752\nv -0.028791 0.129287 -0.022708\nvn -2.702352 1.419201 -3.948523\nv -0.054655 0.131327 -0.023423\nvn 2.417053 -2.203928 -4.962216\nv -0.028396 0.131136 -0.023280\nvn -5.015247 2.703348 -5.399420\nv -0.012479 0.131130 -0.022661\nvn -5.993153 3.254927 -7.090759\nv -0.054250 0.133106 -0.022923\nvn -5.521180 2.377731 -5.104996\nv -0.011250 0.133369 -0.022930\nvn 4.788932 0.949800 -3.437553\nv 0.061748 0.133102 -0.022685\nvn 4.820707 1.321298 -3.308636\nv 0.060864 0.135064 -0.023314\nvn -3.835109 1.620484 -4.310208\nv -0.053068 0.135425 -0.023200\nvn -3.435333 2.574047 -4.091722\nv -0.010704 0.135344 -0.022450\nvn -1.761332 1.449554 -1.709342\nv -0.009718 0.135332 -0.023322\nvn 1.112214 -0.483856 -2.727576\nv -0.024148 0.135500 -0.023661\nvn 3.056983 -2.871079 -7.656474\nv -0.022719 0.135207 -0.023061\nvn -4.972069 2.405375 -5.661114\nv -0.009091 0.137409 -0.022985\nvn 5.600680 1.708814 -5.147004\nv 0.060600 0.137250 -0.022810\nvn 5.629930 2.748907 -4.942369\nv 0.060014 0.139122 -0.022542\nvn 5.491564 0.178496 -0.563540\nv -0.020588 0.139379 -0.022727\nvn -5.291447 1.754866 -3.959719\nv -0.051996 0.139133 -0.022496\nvn -2.997268 1.946025 -3.402977\nv -0.007610 0.139790 -0.022993\nvn -3.043600 0.425088 -2.512604\nv -0.051183 0.139994 -0.023100\nvn -1.288501 -4.514322 -1.781332\nv -0.064194 0.139602 -0.022709\nvn 2.853429 1.461524 -2.391984\nv 0.058751 0.140225 -0.023387\nvn -3.312594 -2.092516 -1.225012\nv -0.051114 0.141236 -0.023147\nvn -5.145124 4.057522 -7.372569\nv -0.006928 0.141382 -0.022598\nvn 4.621736 2.428024 -4.571288\nv 0.058728 0.141500 -0.022637\nvn -1.003599 0.451082 -2.638312\nv -0.063523 0.141625 -0.023708\nvn -2.970102 2.039200 -3.413997\nv -0.005632 0.141931 -0.023316\nvn -1.726915 0.717630 -3.528999\nv -0.062973 0.142939 -0.023455\nvn 1.753216 -4.271235 3.764057\nv -0.056300 0.143288 -0.022586\nvn 6.545018 0.100658 -0.555346\nv -0.020936 0.142899 -0.022603\nvn -3.261548 2.036832 -4.519725\nv -0.005217 0.143186 -0.023074\nvn -3.005700 1.947776 -7.085404\nv -0.064312 0.143106 -0.022850\nvn 5.314098 4.248693 -5.518082\nv 0.058093 0.142784 -0.022314\nvn -0.141006 -5.112829 4.551790\nv -0.054253 0.143423 -0.022935\nvn 1.944306 1.412786 -1.568454\nv 0.056950 0.143248 -0.023032\nvn -4.166271 1.635942 -7.798705\nv -0.062683 0.145382 -0.023141\nvn 5.523604 -0.967932 0.591570\nv -0.020861 0.144841 -0.022684\nvn 6.512716 4.395825 -7.115444\nv 0.056439 0.145283 -0.022547\nvn -3.583422 1.653792 -5.696269\nv -0.004952 0.145038 -0.022720\nvn 1.650220 1.853991 -1.622421\nv 0.055182 0.145537 -0.023387\nvn -2.240314 3.772406 -7.308607\nv -0.002712 0.147179 -0.022679\nvn 5.480708 4.878859 -6.583635\nv 0.054415 0.147353 -0.022477\nvn -2.129426 2.672674 -3.405365\nv -0.001164 0.147444 -0.022897\nvn -2.443917 0.473420 -4.287909\nv -0.062482 0.147450 -0.022792\nvn 3.073631 2.280809 -3.125973\nv 0.053225 0.148090 -0.023046\nvn -3.203365 3.150551 -5.137155\nv 0.000841 0.149467 -0.023196\nvn 7.306259 0.773845 1.495719\nv -0.020244 0.149085 -0.022622\nvn 2.718766 2.367416 -3.409754\nv 0.052708 0.149463 -0.022770\nvn -3.806558 -1.438100 -6.713985\nv -0.062029 0.149321 -0.023196\nvn 2.211675 3.012312 -3.280514\nv 0.051267 0.149872 -0.023433\nvn -1.868529 3.582737 -5.440529\nv 0.002931 0.151246 -0.023074\nvn 3.136755 5.662391 -6.104433\nv 0.050573 0.151210 -0.022511\nvn -4.050838 3.431195 -6.156925\nv -0.064276 0.151261 -0.022561\nvn 3.722372 0.464921 0.914412\nv -0.020836 0.151269 -0.022568\nvn 1.989941 2.432938 -2.348074\nv 0.049176 0.151586 -0.022921\nvn -1.327342 2.105284 -2.808681\nv 0.004592 0.151868 -0.023094\nvn -3.507329 5.689334 -3.474738\nv -0.062040 0.152995 -0.022632\nvn 6.215889 -1.181396 2.983580\nv -0.020809 0.153049 -0.022604\nvn -2.001302 2.528550 -3.733521\nv 0.006710 0.153196 -0.023429\nvn 3.661349 3.076895 -5.955145\nv 0.048213 0.153214 -0.022562\nvn 1.873990 3.508461 -4.294403\nv 0.046527 0.153364 -0.023256\nvn -3.005250 6.007611 -1.655582\nv -0.060261 0.153783 -0.022809\nvn -5.189591 5.374857 -2.124360\nv -0.058224 0.154764 -0.022567\nvn -2.279240 2.490990 -5.961625\nv 0.006910 0.154965 -0.022821\nvn 2.469911 3.935530 -6.254306\nv 0.044516 0.155119 -0.022634\nvn 4.755455 0.756548 3.025726\nv -0.020753 0.154757 -0.022424\nvn -1.178275 2.932462 -3.686508\nv 0.010618 0.155333 -0.023069\nvn 2.006368 1.791667 -2.743339\nv 0.042907 0.155228 -0.023325\nvn -2.325450 0.507772 -2.179670\nv -0.056928 0.155599 -0.023098\nvn -1.615401 1.922283 -2.966114\nv 0.012077 0.155625 -0.023470\nvn -2.894828 -1.996174 -1.426052\nv -0.057086 0.156310 -0.023041\nvn 5.724943 1.098728 3.138081\nv -0.021006 0.156613 -0.022777\nvn 2.476048 2.804176 -5.585620\nv 0.042578 0.156968 -0.022932\nvn -0.019236 -4.623948 -1.039862\nv -0.062566 0.156564 -0.023085\nvn -0.061855 -5.739030 -0.788488\nv -0.060426 0.156552 -0.022871\nvn -0.255134 1.641721 -4.656170\nv 0.014591 0.157105 -0.023466\nvn 0.953331 2.848549 -3.857949\nv 0.038275 0.157208 -0.023169\nvn -1.208781 -6.095343 -4.055175\nv -0.064339 0.156796 -0.022912\nvn 3.898009 0.103695 2.712942\nv -0.021163 0.159327 -0.022982\nvn 0.685298 2.648926 -3.759686\nv 0.023102 0.157725 -0.023584\nvn -0.375034 1.783152 -2.237779\nv 0.023977 0.157725 -0.023594\nvn -1.469145 -3.672980 -4.397745\nv -0.065958 0.158288 -0.023301\nvn -1.785870 3.264064 -5.895365\nv 0.018615 0.159091 -0.023086\nvn 1.723165 2.778923 -7.040907\nv 0.022542 0.159124 -0.023342\nvn -0.625935 3.121447 -6.015872\nv 0.024406 0.158672 -0.023146\nvn 1.032777 2.914118 -4.957826\nv 0.030850 0.159111 -0.022990\nvn 0.778993 2.304274 -5.335473\nv 0.036514 0.159124 -0.023079\nvn -0.179315 4.031210 -5.143839\nv 0.032536 0.159112 -0.022838\nvn -1.814617 -4.716589 -4.768586\nv -0.067983 0.158472 -0.022863\nvn -0.748089 3.327715 -5.988670\nv 0.026698 0.159198 -0.023377\nvn 0.299356 3.765111 -5.745988\nv 0.034425 0.159253 -0.023077\nvn -2.961512 -4.005511 -6.536876\nv -0.069908 0.158922 -0.022643\nvn -2.389680 5.753751 -5.103500\nv 0.020787 0.160955 -0.022725\nvn -4.365404 3.694605 -6.160256\nv -0.070031 0.161088 -0.022585\nvn 6.466973 1.497161 3.281684\nv -0.021132 0.161049 -0.022864\nvn 0.480249 1.484039 -3.422500\nv 0.022647 0.161065 -0.022970\nvn -0.863061 4.550519 -5.361486\nv 0.028528 0.161160 -0.022819\nvn -1.610443 1.023842 -2.217243\nv -0.068278 0.161821 -0.023170\nvn 2.200818 1.588297 0.622158\nv -0.021521 0.162278 -0.023383\nvn 6.740743 4.803043 4.241143\nv -0.022704 0.163091 -0.022636\nvn 6.778103 2.019072 1.201196\nv -0.023439 0.164804 -0.022665\nvn -5.877808 2.359649 -4.551284\nv -0.068035 0.164876 -0.022702\nvn 0.000000 0.000000 0.000000\nv -0.067023 0.165425 -0.023548\nvn -4.916933 2.068169 -4.328775\nv -0.066462 0.167093 -0.022976\nvn 3.980006 1.703089 1.105913\nv -0.023303 0.166873 -0.022833\nvn -4.554276 -0.601924 -4.180684\nv -0.066198 0.169014 -0.022700\nvn 1.840230 3.455651 -2.037972\nv -0.026553 0.169497 -0.022986\nvn 3.505009 4.903784 -4.484862\nv -0.028748 0.170687 -0.022709\nvn -4.118762 -4.101079 -4.456363\nv -0.068097 0.170713 -0.022886\nvn 2.223602 3.485009 -4.291636\nv -0.030446 0.171210 -0.023040\nvn 1.219365 1.966120 -1.902172\nv -0.032094 0.171796 -0.023396\nvn -3.124328 2.773716 -5.442243\nv -0.068255 0.172842 -0.022842\nvn 5.739856 6.986369 -7.529862\nv -0.032637 0.172932 -0.022620\nvn -1.386385 5.171442 -5.457007\nv -0.065969 0.173023 -0.022718\nvn -1.343966 2.130636 -2.759235\nv -0.064592 0.173359 -0.022911\nvn 1.910382 0.970282 -1.287966\nv -0.034404 0.173719 -0.023185\nvn -5.814995 4.671721 -7.050236\nv -0.064113 0.174657 -0.022698\nvn 4.582620 1.664474 -5.085365\nv -0.034262 0.174576 -0.022624\nvn 1.979137 0.141859 -3.205350\nv -0.035571 0.175314 -0.023400\nvn -3.248969 4.510180 -3.406080\nv -0.062365 0.176692 -0.022842\nvn 1.906347 0.092197 -3.287663\nv -0.035873 0.176100 -0.023554\nvn 2.139048 -2.771630 -5.694037\nv -0.034079 0.176258 -0.023086\nvn 2.355475 -5.113578 -3.361425\nv -0.032633 0.176466 -0.022752\nvn 1.550935 -5.393641 -1.533841\nv -0.030717 0.176912 -0.022705\nvn -1.595432 7.112018 -3.147455\nv -0.060164 0.177482 -0.022741\nvn 2.415523 -5.194977 -1.073547\nv -0.029308 0.177441 -0.022764\nvn 0.327614 6.396102 -2.765147\nv -0.054511 0.177479 -0.023212\nvn -0.305351 6.035954 -3.504047\nv -0.048473 0.177627 -0.023290\nvn -0.532710 1.023179 -0.454987\nv -0.046188 0.177675 -0.023387\nvn -0.941295 3.926514 -3.141529\nv -0.045988 0.178422 -0.022287\nvn -2.223204 2.994854 -5.537417\nv -0.044406 0.178764 -0.022432\nvn -1.021659 2.167664 -5.113255\nv -0.042693 0.178924 -0.022799\nvn -0.829664 1.565340 -4.476756\nv -0.040472 0.178371 -0.023451\nvn 1.781900 -3.432250 -0.458328\nv -0.028227 0.177955 -0.022403\nvn 1.908156 -4.138968 1.705343\nv -0.022820 0.180494 -0.022427\nvn 2.908170 -5.938393 1.153903\nv -0.024016 0.179912 -0.022704\nvn 3.046551 -5.269126 2.696660\nv -0.021030 0.181191 -0.022825\nvn 4.309706 -5.373302 5.113364\nv -0.018980 0.182747 -0.022806\nvn -1.707674 0.808914 -5.657461\nv -0.040705 0.182657 -0.023221\nvn 2.593459 -2.671721 3.099920\nv -0.017723 0.183419 -0.023165\nvn 0.000000 -0.000000 0.000000\nv -0.038323 0.183625 -0.023647\nvn -0.316123 1.819996 -5.560888\nv -0.038426 0.184667 -0.023234\nvn -0.538228 2.946033 -5.090328\nv -0.036382 0.184807 -0.023229\nvn 3.444175 -2.099735 6.463724\nv -0.016939 0.184830 -0.022964\nvn -0.078979 6.115484 -4.651304\nv -0.034843 0.185258 -0.022862\nvn -0.786710 4.547832 -1.714438\nv -0.032582 0.185365 -0.023176\nvn -0.754110 4.473875 -1.930280\nv -0.031498 0.185509 -0.023387\nvn -1.464436 7.501089 -1.426514\nv -0.030577 0.185885 -0.022536\nvn -1.392037 6.743866 -0.323686\nv -0.028328 0.186326 -0.022903\nvn 1.771048 -0.236588 3.523444\nv -0.015799 0.186215 -0.023332\nvn -0.858500 4.787108 0.707101\nv -0.026360 0.186747 -0.022466\nvn 2.271661 1.592847 6.208558\nv -0.016979 0.186589 -0.022845\nvn -0.880117 4.789317 0.595413\nv -0.024542 0.187109 -0.022706\nvn -1.325658 8.937108 3.171738\nv -0.022616 0.187395 -0.022628\nvn -0.313747 3.664910 1.420339\nv -0.020950 0.187785 -0.023066\nvn 0.366324 5.962216 4.584463\nv -0.018956 0.187853 -0.023042\nvn -0.394533 -4.458831 -2.203256\nv -0.038510 0.054262 -0.022592\nvn -0.614921 -5.337224 -2.618128\nv -0.042585 0.054854 -0.022460\nvn -0.146689 -5.352537 -3.948811\nv 0.028924 0.054743 -0.022483\nvn -0.002133 -4.644106 -3.715577\nv 0.030840 0.054498 -0.022365\nvn 0.782088 -4.440706 -3.927483\nv 0.032486 0.054720 -0.022407\nvn -2.283368 -3.767323 -2.342123\nv 0.022715 0.057068 -0.022351\nvn -4.311074 -2.096100 -4.656643\nv -0.085874 0.060306 -0.022479\nvn 1.827011 -5.688810 -0.448983\nv -0.072064 0.059627 -0.022571\nvn 4.850842 -5.072579 -5.587593\nv -0.018911 0.060385 -0.022579\nvn 1.347737 -5.458049 -1.542142\nv -0.067338 0.061417 -0.022490\nvn 4.390055 2.564839 -4.050692\nv 0.055955 0.068098 -0.022429\nvn -5.411862 -0.990564 -2.325600\nv 0.013638 0.070422 -0.022553\nvn -4.459513 -0.706023 -2.142738\nv 0.013827 0.071625 -0.023334\nvn -2.240077 -0.751834 -5.335380\nv -0.069904 0.072437 -0.022336\nvn 0.791685 0.609758 -0.144283\nv 0.053377 0.073323 -0.022792\nvn -6.548018 0.094868 -2.456066\nv 0.013446 0.076700 -0.023038\nvn -3.581508 0.445446 -3.184312\nv -0.076002 0.087754 -0.022512\nvn -1.287167 2.033441 -1.723294\nv -0.037500 0.088790 -0.022829\nvn -3.168379 4.261153 -2.752383\nv -0.034224 0.091472 -0.022465\nvn -3.388010 1.812717 -1.106373\nv 0.017826 0.094586 -0.022640\nvn 4.836143 -3.335959 -1.206214\nv 0.049857 0.094490 -0.022610\nvn 4.123995 -1.958127 -2.027025\nv 0.005777 0.097525 -0.023285\nvn 4.218444 -1.911073 -1.881302\nv 0.006382 0.098297 -0.022749\nvn 1.071461 -2.712345 -6.337562\nv -0.050170 0.109624 -0.022842\nvn -1.200382 -0.004093 -5.851004\nv -0.060473 0.111391 -0.022689\nvn -1.518309 -0.481968 -6.796283\nv -0.058796 0.113511 -0.023246\nvn 6.294671 -1.555362 -2.557857\nv 0.060945 0.114908 -0.022675\nvn -1.613061 -0.128192 -5.749563\nv -0.060461 0.115631 -0.022966\nvn -1.749101 0.110375 -5.722759\nv -0.060249 0.117588 -0.023033\nvn 2.710467 -2.861630 -3.041716\nv -0.038905 0.117815 -0.022326\nvn 5.353467 -1.342758 -2.343380\nv 0.061665 0.117907 -0.022374\nvn -2.730118 0.381923 -7.469867\nv -0.060231 0.119353 -0.022912\nvn -2.410038 0.577263 -5.452753\nv -0.060362 0.121688 -0.022750\nvn -2.741417 1.552704 -5.052777\nv -0.060319 0.123038 -0.022571\nvn 5.012159 0.179846 -3.231399\nv 0.062534 0.127521 -0.022607\nvn -4.094109 2.311680 -6.455086\nv -0.058273 0.127403 -0.022308\nvn -4.746152 2.710646 -5.794042\nv -0.056228 0.131082 -0.022337\nvn 6.646696 0.936602 -4.261751\nv 0.062066 0.131298 -0.022595\nvn 0.772706 -1.292921 -3.652157\nv -0.026456 0.131371 -0.022650\nvn 4.876259 -2.108144 -3.184536\nv -0.022789 0.133162 -0.022409\nvn -3.631676 1.501246 -3.039263\nv -0.054070 0.135186 -0.022328\nvn 3.546970 -1.607387 -1.218589\nv -0.021150 0.135313 -0.022324\nvn -2.527170 1.699828 -5.113648\nv -0.008948 0.139360 -0.022400\nvn 2.398036 -2.147412 2.370813\nv -0.059661 0.141119 -0.022004\nvn 5.523785 0.519076 -0.401313\nv -0.020759 0.141517 -0.022541\nvn 3.856762 -5.478629 5.237585\nv -0.058224 0.142608 -0.022193\nvn -2.382888 1.873888 -5.672441\nv -0.004859 0.147052 -0.022405\nvn -2.969672 -1.880305 -5.932543\nv -0.064250 0.149539 -0.022361\nvn -1.793235 1.327249 -5.394929\nv 0.000736 0.151160 -0.022684\nvn -3.124604 3.850045 -5.860033\nv 0.004930 0.153110 -0.022468\nvn 0.739554 2.021440 -3.359741\nv 0.046142 0.154542 -0.022545\nvn -1.092593 4.137662 -7.027354\nv 0.010646 0.156881 -0.022391\nvn -1.155859 -4.102502 -3.813325\nv -0.066140 0.156715 -0.022301\nvn -3.247791 4.118971 -3.964192\nv 0.012814 0.158969 -0.022440\nvn -0.668126 1.555577 -4.553079\nv 0.014302 0.159129 -0.023007\nvn -0.039453 2.352881 -6.506498\nv 0.016771 0.159069 -0.022741\nvn -0.804178 3.821163 -2.432819\nv 0.026585 0.160799 -0.022454\nvn 3.181968 4.034601 -4.871945\nv 0.030588 0.161155 -0.022458\nvn 2.829494 3.971986 -1.997041\nv -0.027176 0.170249 -0.022396\nvn -2.266807 -1.900545 -3.046037\nv -0.069775 0.171346 -0.022402\nvn -2.443870 1.351893 -3.924456\nv -0.070166 0.172849 -0.022334\nvn -0.232299 5.405722 -2.543607\nv -0.052586 0.177462 -0.023019\nvn -0.351312 4.567652 -1.900634\nv -0.058136 0.177685 -0.023022\nvn -0.128466 3.460410 -1.969619\nv -0.050044 0.177697 -0.022979\nvn 0.072547 4.504837 -2.066128\nv -0.056523 0.177727 -0.023038\nvn -2.162089 0.359681 -6.636987\nv -0.041202 0.180667 -0.023155\nvn -1.545514 1.044509 -5.639265\nv -0.040940 0.184826 -0.022776\nvn -1.369642 1.149081 -5.577571\nv -0.036558 0.194775 -0.022804\nvn 1.084366 -0.505384 -5.588916\nv -0.034316 0.194507 -0.022993\nvn 4.361019 -1.774963 -1.468980\nv -0.033138 0.194567 -0.022440\nvn -0.367071 4.579179 -2.573160\nv -0.034431 0.196644 -0.022678\nvn 1.696362 1.031496 -1.661059\nv -0.033056 0.196420 -0.022534\nvn -1.127372 -5.941768 -3.108330\nv -0.044372 0.054965 -0.022420\nvn 1.104887 -3.003780 -2.388584\nv -0.026788 0.055104 -0.022281\nvn 2.031416 -1.751627 -2.364714\nv 0.062172 0.054976 -0.022247\nvn -0.906602 -3.257121 -3.666489\nv -0.052466 0.056392 -0.022361\nvn 0.356613 -4.975283 -0.068282\nv -0.077348 0.058675 -0.022735\nvn 2.318062 -4.250034 -4.971732\nv 0.040676 0.058240 -0.022273\nvn 1.666540 -4.644407 -0.716268\nv -0.068546 0.060973 -0.022474\nvn -3.724808 1.531789 -2.785517\nv -0.085680 0.062258 -0.022285\nvn 3.870782 1.678525 -2.575321\nv 0.055680 0.069868 -0.022193\nvn -5.545396 -0.630749 -2.184698\nv 0.013354 0.072093 -0.022423\nvn 2.057236 -1.667885 -1.403911\nv -0.007680 0.073046 -0.022537\nvn 3.985938 3.002630 0.179601\nv 0.051627 0.075552 -0.022425\nvn -6.616585 0.695984 -2.167982\nv 0.013393 0.079221 -0.022396\nvn -3.071169 1.163569 -3.737854\nv -0.075541 0.091456 -0.022111\nvn 2.083018 2.773417 -3.582022\nv -0.054622 0.091163 -0.022300\nvn -2.798884 2.427307 -1.484055\nv -0.030034 0.095587 -0.022422\nvn -1.167278 1.680917 -5.529435\nv -0.069920 0.097586 -0.022537\nvn 0.610972 0.990252 -4.760369\nv -0.062510 0.097806 -0.022456\nvn -0.292818 0.722709 -6.929039\nv -0.066407 0.099476 -0.022687\nvn 0.585096 0.089423 -6.924750\nv -0.064204 0.099469 -0.022659\nvn 0.015698 0.207215 -3.972860\nv -0.064310 0.101069 -0.022725\nvn 0.223751 -0.079232 -5.945393\nv -0.062733 0.101571 -0.022625\nvn -0.333184 0.541742 -5.937065\nv -0.065993 0.101364 -0.022645\nvn -4.935525 2.993201 -1.633070\nv 0.023354 0.103214 -0.022238\nvn -0.054454 -0.735035 -3.891473\nv -0.056058 0.106217 -0.022600\nvn 0.000000 0.000000 0.000000\nv -0.023546 0.106625 -0.022688\nvn -0.227899 -1.813501 -7.746692\nv -0.056295 0.107813 -0.022838\nvn -0.140019 -0.717334 -6.913251\nv -0.060165 0.107650 -0.022774\nvn 0.058978 -1.080891 -4.864168\nv -0.058203 0.107663 -0.022634\nvn 0.664883 -1.395171 -4.729389\nv -0.054481 0.107850 -0.022784\nvn 0.936986 -1.661829 -5.657290\nv -0.052557 0.107828 -0.022369\nvn -0.580152 0.178420 -4.950030\nv -0.060636 0.109630 -0.022820\nvn -0.740532 0.269944 -5.932348\nv -0.062429 0.109748 -0.022620\nvn 2.727196 -2.789816 -5.748815\nv -0.048300 0.109617 -0.022329\nvn 3.827882 -4.422642 -6.773724\nv -0.046234 0.111723 -0.022315\nvn -1.131901 -0.288033 -5.860197\nv -0.060736 0.113451 -0.022672\nvn -0.713847 -0.076738 -4.937524\nv -0.062408 0.113905 -0.022525\nvn -1.279129 0.274380 -5.823094\nv -0.062285 0.115469 -0.022523\nvn 2.707446 -0.491716 -1.122309\nv 0.061138 0.116775 -0.022819\nvn 2.105856 -1.989354 -6.252147\nv -0.026765 0.129639 -0.022240\nvn 0.795750 -3.281771 -7.056313\nv -0.024546 0.131333 -0.022516\nvn 3.727766 -1.765958 -3.196002\nv -0.022951 0.131524 -0.022140\nvn -2.942560 1.332131 -2.326569\nv -0.011723 0.132175 -0.022951\nvn -3.510494 -0.652874 -4.207357\nv -0.065852 0.141394 -0.022353\nvn -2.630539 1.057147 -5.236128\nv -0.065916 0.142923 -0.022252\nvn -3.891531 1.828698 -5.490608\nv -0.006432 0.142982 -0.022278\nvn -2.636799 1.251071 -5.240892\nv -0.064236 0.145175 -0.022392\nvn -2.583579 2.586102 -6.744389\nv -0.000800 0.149109 -0.022255\nvn 2.466150 3.430291 -5.415996\nv 0.052076 0.150821 -0.022236\nvn -1.459221 1.956937 -5.261657\nv 0.000879 0.153175 -0.022433\nvn 0.266276 3.048584 -6.475554\nv 0.002879 0.152654 -0.022438\nvn -2.982341 3.130879 -5.096792\nv 0.007076 0.156858 -0.022243\nvn -0.275336 1.569351 -4.698089\nv 0.008900 0.156776 -0.022593\nvn 2.818464 3.123711 -6.075824\nv 0.038485 0.158940 -0.022375\nvn -1.796245 1.260662 -4.114188\nv -0.071878 0.160323 -0.022204\nvn -1.351616 3.614125 -3.477838\nv 0.014798 0.160679 -0.022378\nvn -0.000000 0.000000 0.000000\nv -0.067023 0.170058 -0.022688\nvn 1.996047 4.388526 -3.191505\nv -0.031016 0.172399 -0.022371\nvn -2.405568 2.262573 -1.597917\nv -0.063616 0.176002 -0.022475\nvn -0.526556 5.979457 -3.557729\nv -0.050665 0.178175 -0.022133\nvn -0.457611 4.854965 -3.460463\nv -0.048434 0.178217 -0.022419\nvn -2.807950 0.956835 -6.323207\nv -0.042565 0.183042 -0.022433\nvn 0.589224 0.790347 -5.765527\nv -0.038589 0.186555 -0.022719\nvn -1.497963 0.766397 -5.658366\nv -0.040754 0.186540 -0.022572\nvn 0.278044 0.117148 -4.890395\nv -0.038520 0.188536 -0.022597\nvn -0.032075 0.050051 -5.819229\nv -0.038460 0.190649 -0.022708\nvn 4.482917 -2.616187 -5.683251\nv -0.036489 0.190829 -0.022390\nvn -3.671048 2.502136 -7.818799\nv -0.038511 0.192812 -0.022492\nvn 0.128396 -0.834723 -4.770116\nv -0.036276 0.192670 -0.022839\nvn 2.404947 -2.324519 -2.939508\nv -0.034679 0.192977 -0.022480\nvn -2.136036 3.234120 -2.044643\nv -0.036335 0.196143 -0.022287\nvn -0.543268 -3.273178 -2.173901\nv -0.047860 0.055005 -0.022158\nvn -0.334504 -5.143136 -3.057038\nv -0.046198 0.054919 -0.022185\nvn -1.074770 -3.342836 -1.903268\nv 0.027360 0.054832 -0.021933\nvn 0.931024 -2.899756 -2.574785\nv 0.034291 0.054982 -0.022172\nvn -0.725228 -2.837959 -0.587697\nv 0.054952 0.055240 -0.022163\nvn 1.177194 -1.764940 -2.117395\nv 0.038498 0.056882 -0.022145\nvn -1.265826 -4.083418 -4.166338\nv -0.054421 0.056831 -0.022283\nvn 1.234719 -2.079051 -1.772485\nv -0.022838 0.056842 -0.022069\nvn -1.059895 -2.735991 -2.675941\nv -0.055648 0.057073 -0.022114\nvn -1.758663 -3.030252 -3.554289\nv -0.058144 0.058386 -0.022053\nvn 0.955800 -2.090034 -1.896368\nv 0.042078 0.058871 -0.022116\nvn 0.000000 -0.000000 0.000000\nv -0.087167 0.060094 -0.022030\nvn -1.220754 -3.324932 -4.830903\nv -0.062232 0.060545 -0.022205\nvn -1.074628 -2.397280 -2.996671\nv -0.063728 0.060838 -0.022037\nvn -0.000000 0.000000 0.000000\nv 0.059681 0.063229 -0.022342\nvn 1.921368 1.773097 -1.442048\nv 0.057640 0.065577 -0.022067\nvn -0.577929 2.140829 -1.467438\nv -0.071975 0.069286 -0.022137\nvn -1.935008 -1.251225 -4.434620\nv -0.072160 0.074396 -0.022083\nvn 2.989611 -1.883678 -1.862567\nv -0.003631 0.078313 -0.022243\nvn 3.060432 2.396960 0.927553\nv 0.049147 0.078973 -0.022257\nvn -5.674692 0.764995 -1.788896\nv 0.013629 0.081984 -0.022067\nvn 3.060785 -2.090406 -1.420554\nv -0.001923 0.080828 -0.022167\nvn -3.476858 -0.980756 -3.356804\nv -0.075330 0.081902 -0.022104\nvn 2.477704 -1.362322 -1.001210\nv 0.000168 0.084623 -0.022090\nvn 3.646157 0.755950 0.659331\nv 0.045284 0.084598 -0.022134\nvn 2.815206 -0.872504 -0.081031\nv 0.045498 0.086675 -0.022338\nvn 2.590085 -1.064738 -1.024709\nv 0.002219 0.088548 -0.022215\nvn -4.600632 1.499380 -1.242892\nv 0.015389 0.089608 -0.022151\nvn -2.543309 1.956921 -5.033419\nv -0.073428 0.095588 -0.022123\nvn 2.862497 1.364895 -8.342993\nv -0.058276 0.095746 -0.022235\nvn 0.906927 1.035393 -6.775718\nv -0.060315 0.097726 -0.022384\nvn -2.104763 1.772770 -6.358355\nv -0.071923 0.097468 -0.022120\nvn -0.993822 0.691792 -5.863217\nv -0.069826 0.099602 -0.022350\nvn -0.376149 0.406321 -3.958122\nv -0.068160 0.099450 -0.022533\nvn -2.957679 1.912420 -1.816333\nv -0.028077 0.099193 -0.022256\nvn 0.520904 -0.210449 -5.948458\nv -0.062652 0.099748 -0.022416\nvn 0.767885 -0.093272 -5.917674\nv -0.060236 0.099521 -0.022271\nvn -0.850492 0.858229 -6.874996\nv -0.067682 0.101774 -0.022435\nvn 0.469953 -0.436122 -5.945388\nv -0.060268 0.101497 -0.022489\nvn -2.116678 1.342907 -7.577308\nv -0.070021 0.101362 -0.022044\nvn -0.535500 0.826132 -5.909028\nv -0.066196 0.103826 -0.022156\nvn 0.362777 -0.008735 -3.956829\nv -0.060635 0.103125 -0.022602\nvn 2.069124 -1.171043 -8.566416\nv -0.058049 0.101843 -0.022129\nvn -0.772394 0.682048 -7.901285\nv -0.064223 0.103787 -0.022329\nvn -0.094850 0.110286 -6.956653\nv -0.062298 0.103825 -0.022612\nvn 3.341157 -2.019376 -0.860061\nv 0.055477 0.102605 -0.022338\nvn 0.642991 -0.001413 -5.949790\nv -0.058454 0.104203 -0.022302\nvn -0.718013 -0.210665 -6.906121\nv -0.062660 0.105727 -0.022551\nvn 0.418351 -0.574015 -5.925982\nv -0.060132 0.106158 -0.022490\nvn 1.347761 -1.801035 -8.577292\nv -0.056256 0.103707 -0.022026\nvn 1.566984 -2.173286 -8.546026\nv -0.054039 0.105902 -0.022293\nvn -0.791989 -0.015724 -4.927359\nv -0.064358 0.106158 -0.022197\nvn -0.068880 -0.831580 -5.872997\nv -0.057993 0.106025 -0.022268\nvn -1.146257 -0.068037 -5.880555\nv -0.064078 0.107706 -0.022332\nvn -0.642945 -0.030366 -4.947402\nv -0.062298 0.107937 -0.022663\nvn -1.279554 0.198623 -5.850555\nv -0.064355 0.109833 -0.022280\nvn 1.237865 -2.002110 -4.368267\nv -0.049180 0.107969 -0.021957\nvn 2.692585 -0.975700 -0.831995\nv 0.059327 0.109829 -0.022338\nvn -0.735079 0.174250 -5.934010\nv -0.062331 0.111787 -0.022404\nvn 2.425149 -2.731180 -3.357561\nv -0.042551 0.114002 -0.022094\nvn 2.727249 -2.589259 -3.261243\nv -0.040781 0.116018 -0.022264\nvn 5.467319 -0.972405 -2.189878\nv 0.061292 0.116425 -0.022338\nvn -2.716052 1.035049 -7.416323\nv -0.062142 0.117530 -0.022275\nvn -2.299221 1.229273 -1.385669\nv -0.018201 0.119343 -0.022171\nvn -2.032240 0.458976 -4.538478\nv -0.061947 0.119649 -0.022093\nvn 1.891983 -1.421301 -1.842505\nv -0.036996 0.120110 -0.022254\nvn -2.646894 0.473737 -5.355435\nv -0.061723 0.121190 -0.022134\nvn -3.431797 2.002860 -5.735219\nv -0.059879 0.125197 -0.022129\nvn -0.909430 -3.553782 -1.425475\nv 0.027477 0.124396 -0.022207\nvn 1.766547 -1.345603 -1.997350\nv -0.033288 0.124091 -0.022074\nvn 2.125103 -1.757489 -2.852716\nv -0.031438 0.126323 -0.022058\nvn 0.551619 -2.527471 -4.165093\nv -0.028806 0.128000 -0.022118\nvn -2.705072 1.449293 -3.940700\nv -0.057682 0.129156 -0.022048\nvn -2.368152 1.838005 -2.546644\nv -0.055572 0.132925 -0.021998\nvn -2.441765 1.008187 -2.902518\nv -0.012348 0.132854 -0.021981\nvn 3.010385 0.775084 -2.484289\nv 0.061652 0.134942 -0.022177\nvn -2.528407 0.970260 -4.162172\nv -0.010378 0.137240 -0.022166\nvn 3.520523 0.396874 -3.372504\nv 0.061257 0.136846 -0.022115\nvn -2.770205 1.501628 -2.364789\nv -0.053468 0.136900 -0.022191\nvn -2.084953 -2.388674 -2.182815\nv -0.065908 0.140037 -0.021993\nvn 1.987971 0.920798 -2.030357\nv 0.059471 0.140925 -0.022112\nvn 1.527857 1.937681 -3.125075\nv 0.055896 0.146855 -0.022034\nvn -2.106874 1.473342 -4.976047\nv -0.004458 0.149435 -0.022075\nvn 0.916275 1.502831 -5.007341\nv -0.002699 0.149414 -0.022077\nvn 3.203603 1.916344 -4.548664\nv 0.053711 0.149407 -0.022012\nvn -1.934240 2.907910 -1.535048\nv -0.063425 0.152459 -0.022210\nvn -2.719785 2.960549 -4.545281\nv 0.000991 0.154785 -0.022119\nvn 2.052352 1.443411 -3.370131\nv 0.002493 0.154700 -0.022019\nvn -2.855100 2.027467 -3.476718\nv 0.005404 0.154638 -0.022076\nvn 1.454153 2.931199 -6.040098\nv 0.048337 0.154859 -0.021983\nvn 1.943173 2.139148 -5.828715\nv 0.044421 0.156595 -0.022147\nvn 3.373056 0.662168 3.565429\nv -0.022014 0.157585 -0.022124\nvn -1.211512 -2.241128 -3.069414\nv -0.067558 0.157200 -0.022045\nvn -0.080510 3.089109 -3.230834\nv 0.008970 0.158120 -0.022081\nvn -1.876919 2.041509 -2.574641\nv 0.011513 0.158464 -0.022024\nvn 0.868334 3.872972 -5.267414\nv 0.042636 0.158493 -0.022181\nvn 1.310190 2.490885 -3.576605\nv 0.044179 0.158286 -0.022042\nvn 3.908154 -0.177179 4.538029\nv -0.022165 0.159380 -0.022066\nvn -1.290655 -1.288955 -3.201098\nv -0.071573 0.159300 -0.022331\nvn -0.455945 3.237807 -2.825470\nv 0.018801 0.160448 -0.022253\nvn 1.888907 4.446073 -4.711479\nv 0.024528 0.160724 -0.022258\nvn -0.824433 2.043327 -1.966005\nv 0.033007 0.160161 -0.022125\nvn -0.960663 5.737650 -5.023852\nv 0.034358 0.160370 -0.022281\nvn 0.275186 4.426105 -2.388561\nv 0.016632 0.160991 -0.022231\nvn -0.061867 2.708752 -2.650100\nv 0.036115 0.160716 -0.022236\nvn 1.556519 2.553050 -2.974501\nv 0.038389 0.160654 -0.022011\nvn 2.536301 0.732043 2.825519\nv -0.022010 0.161189 -0.022045\nvn 0.362790 3.706100 -2.182511\nv 0.022913 0.162126 -0.022144\nvn -0.398264 2.646962 -2.127833\nv 0.029490 0.162109 -0.022200\nvn 3.489389 0.978881 3.196352\nv -0.023780 0.166690 -0.022163\nvn -2.257730 1.257787 -1.352575\nv -0.067898 0.166124 -0.022073\nvn -0.526564 3.737679 -1.251658\nv -0.059440 0.177815 -0.022216\nvn 0.194972 5.717772 -1.782940\nv -0.056348 0.177924 -0.022338\nvn 0.049624 5.531368 -2.267929\nv -0.054773 0.177915 -0.022029\nvn -1.756107 0.658237 -4.605524\nv -0.043034 0.181307 -0.022443\nvn 1.283914 -1.768042 1.965994\nv -0.020342 0.182103 -0.022268\nvn -3.981177 1.254129 -6.651601\nv -0.042488 0.184589 -0.022138\nvn 3.197190 -0.918329 5.955965\nv -0.018676 0.184637 -0.022084\nvn 3.234535 4.242294 -5.904394\nv -0.036931 0.186410 -0.022198\nvn -0.726583 3.833588 -0.874682\nv -0.032023 0.185673 -0.022338\nvn 2.231601 2.248329 5.914326\nv -0.018811 0.186756 -0.022275\nvn -2.721787 0.910447 -6.146323\nv -0.040554 0.188535 -0.022370\nvn 2.760907 -0.365073 -4.718629\nv -0.037233 0.188839 -0.022217\nvn 0.151465 3.577079 3.301826\nv -0.020774 0.187277 -0.022179\nvn -3.605740 1.417211 -5.502379\nv -0.040277 0.190344 -0.022231\nvn -2.334630 1.605959 -2.400856\nv -0.038023 0.194503 -0.022235\nvn 0.984736 -2.833861 -2.637744\nv 0.035612 0.055175 -0.021919\nvn -2.809669 2.301794 -1.316702\nv -0.085223 0.063513 -0.021891\nvn -3.211002 -1.703502 -1.605950\nv 0.015404 0.064736 -0.022058\nvn -5.670221 -0.158813 -1.935641\nv 0.013072 0.074250 -0.022029\nvn -1.139914 -0.849900 -2.558234\nv -0.073535 0.076875 -0.021987\nvn 1.313574 2.963906 -2.340071\nv -0.051135 0.089449 -0.021951\nvn 4.226579 -1.989304 -1.735216\nv 0.004200 0.092112 -0.021838\nvn 1.631367 1.202274 -3.419617\nv -0.056746 0.094146 -0.021864\nvn 1.135608 0.360655 -4.829486\nv -0.058040 0.097700 -0.022068\nvn -1.617158 0.913056 -5.693292\nv -0.071530 0.099563 -0.021940\nvn 1.858175 0.163568 -5.639661\nv -0.058051 0.099421 -0.021893\nvn -1.357632 1.106442 -6.748882\nv -0.068598 0.103703 -0.021953\nvn 0.605912 -0.912747 -2.781832\nv -0.054530 0.104401 -0.021965\nvn 1.343580 -1.587487 -5.596120\nv -0.052447 0.105810 -0.021922\nvn -0.515086 0.193543 -4.965949\nv -0.066111 0.105925 -0.022003\nvn 3.535246 -1.561914 -1.019679\nv 0.010111 0.106450 -0.021987\nvn -1.286897 0.453424 -7.852547\nv -0.066070 0.107711 -0.022015\nvn 0.951236 -2.131379 -5.497975\nv -0.050589 0.107746 -0.022062\nvn -1.876784 0.649795 -6.673056\nv -0.065589 0.109741 -0.021956\nvn 1.393809 -1.346624 -2.286700\nv -0.047073 0.110300 -0.021951\nvn -1.378255 0.280311 -6.836007\nv -0.064305 0.111544 -0.022169\nvn -3.235888 1.562621 -1.744669\nv -0.021873 0.110825 -0.022052\nvn -1.486822 0.310479 -4.751900\nv -0.065361 0.111378 -0.021918\nvn -1.547474 0.272624 -5.783019\nv -0.064223 0.113878 -0.022141\nvn -2.091564 1.026225 -6.583269\nv -0.064378 0.115652 -0.021940\nvn -3.307168 1.477974 -1.691802\nv -0.019966 0.115025 -0.021987\nvn 2.788065 -2.676718 -3.151247\nv -0.035031 0.121882 -0.022023\nvn -2.372969 1.051986 -4.228303\nv -0.061715 0.122725 -0.021916\nvn 0.758442 -1.964020 -4.312456\nv -0.027230 0.127746 -0.022036\nvn -2.043401 0.852134 -2.021174\nv -0.013945 0.129025 -0.022120\nvn -0.124319 -1.587774 -2.473571\nv -0.024445 0.130211 -0.021864\nvn 1.905519 -2.510674 -2.856457\nv -0.023291 0.130343 -0.021824\nvn 4.786531 -1.729245 1.200926\nv -0.022665 0.131304 -0.020830\nvn -2.595243 1.136326 -5.209842\nv -0.010090 0.139283 -0.022007\nvn -1.618982 1.814730 -5.375215\nv -0.009075 0.140687 -0.021882\nvn -1.999465 1.180343 -4.425955\nv -0.065361 0.144800 -0.021948\nvn -0.510866 -3.103224 2.219131\nv -0.054390 0.144349 -0.021954\nvn 1.893439 1.036587 -1.902271\nv 0.057315 0.144285 -0.021980\nvn -2.770397 -0.179852 -5.157802\nv -0.063935 0.147661 -0.021952\nvn -2.657700 -0.356141 -3.922031\nv -0.065562 0.149908 -0.021942\nvn -1.781173 0.561150 -2.101654\nv -0.065487 0.150655 -0.022002\nvn -1.781374 1.915103 -3.527835\nv -0.003973 0.150753 -0.021918\nvn 0.255589 2.093033 -1.786422\nv -0.003031 0.151273 -0.021845\nvn -3.543189 1.112361 -4.573600\nv -0.000622 0.151250 -0.021925\nvn -1.289544 1.292248 -1.276929\nv -0.000260 0.153051 -0.021860\nvn 0.400765 2.598388 -2.937210\nv 0.040602 0.158647 -0.022001\nvn 0.747934 2.983168 -1.273621\nv 0.030044 0.162249 -0.021973\nvn 2.763700 1.299781 2.550196\nv -0.023768 0.164305 -0.021948\nvn 3.544064 -0.624130 -3.844147\nv -0.033370 0.174855 -0.021922\nvn -0.356746 5.660132 -1.873392\nv -0.058144 0.178022 -0.022020\nvn -0.552543 5.214436 -2.891501\nv -0.052638 0.177993 -0.022010\nvn -2.332477 0.894845 -4.320665\nv -0.044078 0.181056 -0.021976\nvn -3.253200 1.355337 -4.801491\nv -0.043660 0.183073 -0.021857\nvn 0.937891 3.485880 -1.640112\nv -0.034517 0.185735 -0.021922\nvn -2.643088 1.072834 -4.064270\nv -0.042073 0.186488 -0.021948\nvn -0.277245 -6.448038 -2.422520\nv -0.034570 0.053387 -0.021426\nvn 0.142543 -4.412792 -2.190535\nv -0.032548 0.053403 -0.021576\nvn -0.182255 -7.827215 -1.184748\nv -0.032412 0.053127 -0.020528\nvn -0.598868 -7.641224 -1.896627\nv -0.038647 0.053501 -0.020778\nvn -0.355471 -4.575431 -1.853171\nv -0.036477 0.053465 -0.021198\nvn 0.493722 -4.451100 -2.084770\nv -0.030506 0.053459 -0.021373\nvn -0.784303 -6.488663 -2.360229\nv -0.040720 0.053723 -0.020831\nvn 1.379955 -6.044721 -3.118726\nv -0.028539 0.053629 -0.020882\nvn 0.647661 -4.004647 -2.860713\nv 0.032595 0.053794 -0.021287\nvn -0.223826 -4.861709 -0.664182\nv 0.060479 0.054020 -0.021112\nvn -0.331180 -5.474818 -2.296396\nv -0.044308 0.054095 -0.020994\nvn -0.282998 -3.672971 -1.474093\nv -0.042807 0.054013 -0.020889\nvn 2.180288 -7.607637 -4.086531\nv -0.026680 0.054068 -0.020844\nvn -1.402861 -6.000462 -3.211509\nv 0.028658 0.053793 -0.020830\nvn 1.789600 -7.351658 -4.630949\nv 0.034535 0.053988 -0.020919\nvn -0.746087 -5.837989 -0.857989\nv 0.058302 0.054232 -0.020737\nvn 3.000444 -6.596293 -4.291205\nv 0.062671 0.054073 -0.020631\nvn -0.889934 -6.190807 -2.988132\nv -0.048251 0.054300 -0.020785\nvn -0.399348 -6.439522 -2.594017\nv -0.046194 0.054263 -0.020975\nvn -1.091141 -4.761610 -0.915485\nv 0.056128 0.054615 -0.020900\nvn -0.682085 -4.907373 -3.245633\nv -0.050467 0.054823 -0.020880\nvn -2.821681 -7.749451 -3.546287\nv 0.026662 0.054373 -0.020574\nvn 1.632524 -5.913682 -4.866452\nv 0.036527 0.054297 -0.020586\nvn -2.084865 -6.568471 -1.088391\nv 0.054435 0.055161 -0.020850\nvn -0.783426 -3.644000 -3.273152\nv -0.052622 0.055549 -0.021571\nvn -0.112093 -3.109794 -2.491498\nv -0.050660 0.055435 -0.021652\nvn 1.196440 -2.084742 -1.766247\nv -0.023882 0.055595 -0.021412\nvn -1.409877 -3.331967 -1.671414\nv 0.024668 0.055479 -0.021374\nvn 0.000000 0.000000 0.000000\nv 0.036927 0.055398 -0.021637\nvn -1.530127 -4.422361 -3.711558\nv -0.054584 0.055864 -0.021165\nvn 3.368373 -0.466109 -3.336560\nv 0.063172 0.056167 -0.021601\nvn 4.634009 -6.971368 -5.360484\nv -0.022469 0.056171 -0.020996\nvn 1.999390 -3.729514 -4.230888\nv 0.038845 0.056008 -0.021202\nvn -2.945456 -6.249361 -0.991931\nv 0.052380 0.055970 -0.020845\nvn -2.574667 -6.601009 -5.456910\nv -0.056190 0.056334 -0.020932\nvn -3.781545 -7.283949 -3.579596\nv 0.022914 0.056083 -0.020846\nvn -1.540917 -3.217881 -3.485752\nv -0.058349 0.057659 -0.021283\nvn 3.684950 -6.917895 -7.629596\nv 0.040739 0.056308 -0.020689\nvn -3.856682 -5.129440 -2.764266\nv 0.020716 0.057654 -0.021020\nvn 1.120910 -1.698609 -2.162966\nv 0.041206 0.057447 -0.021475\nvn -3.386198 -6.033890 -0.989963\nv 0.049877 0.057431 -0.021015\nvn 5.240167 1.351190 -4.387066\nv 0.063063 0.058035 -0.021375\nvn 2.151436 -2.813462 -1.842898\nv -0.020202 0.057772 -0.020797\nvn 3.932760 -6.879884 -7.424818\nv 0.042722 0.057777 -0.020760\nvn -0.820822 -5.061844 2.614986\nv -0.081949 0.058812 -0.020639\nvn -0.487682 -7.659994 1.725170\nv -0.079848 0.058630 -0.020416\nvn 3.277887 -4.073226 -2.894105\nv -0.018965 0.058663 -0.020730\nvn -1.397769 -3.605523 -0.764596\nv 0.047917 0.058573 -0.020961\nvn -3.026455 1.088260 -0.916979\nv -0.087875 0.060180 -0.020736\nvn 0.593574 -5.128677 -0.670020\nv -0.085987 0.058768 -0.020844\nvn -0.882007 -5.039207 0.450264\nv -0.084171 0.058862 -0.020953\nvn 0.503029 -4.950887 0.130936\nv -0.076113 0.058688 -0.020795\nvn -2.916910 -5.982609 -7.342872\nv -0.060233 0.058254 -0.021080\nvn -5.247185 -5.231996 -2.884910\nv 0.019174 0.058752 -0.020659\nvn 1.297053 -3.701213 -3.065511\nv 0.044357 0.058433 -0.020747\nvn 1.396946 -4.782127 0.149023\nv -0.072126 0.059514 -0.020929\nvn -0.476134 -6.086446 -2.873985\nv 0.046170 0.058907 -0.020811\nvn 4.469388 2.043227 -3.420629\nv 0.062486 0.060164 -0.021130\nvn -1.310173 -3.115293 -3.673036\nv -0.062738 0.059690 -0.021415\nvn 2.016450 -7.508978 -1.191995\nv -0.070003 0.060234 -0.020995\nvn 2.370051 -2.439484 -2.063912\nv -0.018031 0.059759 -0.021119\nvn -2.108841 -1.758563 -1.132435\nv 0.018407 0.059690 -0.020825\nvn -2.000388 -3.895558 -4.082006\nv -0.064328 0.060078 -0.021092\nvn -4.423173 -3.321864 -2.241486\nv 0.017543 0.060556 -0.020415\nvn 0.630565 -4.491675 -1.739783\nv -0.067884 0.060750 -0.020643\nvn -1.234709 -6.233187 -4.508411\nv -0.066041 0.060501 -0.020657\nvn -5.052669 2.775849 0.139729\nv -0.086378 0.062412 -0.020788\nvn 5.527134 3.763065 -4.316699\nv 0.061819 0.062057 -0.020630\nvn 2.575670 -2.319431 -1.991157\nv -0.016236 0.061736 -0.021074\nvn -4.570013 -3.217754 -2.150775\nv 0.016651 0.062112 -0.020671\nvn 3.155140 -3.111803 -2.287976\nv -0.015209 0.062517 -0.020694\nvn 1.957988 1.728482 -1.452515\nv 0.060603 0.062910 -0.021430\nvn -3.163793 3.383959 0.551142\nv -0.085336 0.063644 -0.020792\nvn 3.080889 -3.062239 -2.411339\nv -0.014375 0.063656 -0.021310\nvn -4.881444 3.221560 2.106709\nv -0.084411 0.064413 -0.020714\nvn 5.809188 5.135121 -4.504728\nv 0.060049 0.064267 -0.020415\nvn -5.570117 -3.580482 -2.211111\nv 0.015240 0.064170 -0.020841\nvn 2.027839 1.718674 -1.364249\nv 0.058863 0.064825 -0.021318\nvn 4.439447 -4.211684 -3.331109\nv -0.013252 0.064208 -0.020452\nvn -4.749078 4.410340 0.006672\nv -0.083449 0.066294 -0.020647\nvn 3.352377 -2.780947 -2.412945\nv -0.012328 0.065808 -0.021142\nvn -6.941097 -2.860407 -2.634116\nv 0.014307 0.065996 -0.020889\nvn 7.003961 4.431364 -5.389103\nv 0.058284 0.066119 -0.020711\nvn -2.442674 3.915158 0.466335\nv -0.082597 0.067111 -0.020889\nvn 5.522897 -4.561628 -3.523168\nv -0.010389 0.067952 -0.020920\nvn 3.577708 1.646838 -3.058436\nv 0.057011 0.068170 -0.021342\nvn -0.929685 5.845488 -0.241042\nv -0.081568 0.067404 -0.020850\nvn -3.534824 -1.170344 -1.440341\nv 0.013914 0.067478 -0.021167\nvn -0.662306 5.885777 -0.425508\nv -0.079497 0.067552 -0.021006\nvn -1.315063 5.685450 -1.084728\nv -0.077906 0.067698 -0.020715\nvn -2.466937 4.302590 -2.519354\nv -0.076065 0.068231 -0.020795\nvn -2.165368 4.589753 -2.622431\nv -0.074329 0.068817 -0.021065\nvn -2.258120 2.795178 -5.204538\nv -0.072208 0.070117 -0.021347\nvn -6.534345 -1.294594 -2.082723\nv 0.013015 0.070298 -0.020803\nvn 5.945638 3.829182 -3.127257\nv 0.056539 0.070074 -0.020753\nvn 5.581421 -4.252607 -3.810374\nv -0.008718 0.070001 -0.020974\nvn -1.242439 -0.456772 -1.417057\nv -0.071022 0.071042 -0.021665\nvn 3.788627 2.836191 -1.279804\nv 0.055576 0.071375 -0.020780\nvn 6.494701 -4.588618 -4.188798\nv -0.007189 0.071978 -0.020676\nvn 3.479930 3.478901 -0.624416\nv 0.054560 0.072480 -0.020889\nvn -3.497154 -1.894621 -6.868985\nv -0.072393 0.072089 -0.021351\nvn -1.440743 -1.128405 -3.545354\nv -0.071836 0.072938 -0.021849\nvn 2.163445 -1.570453 -1.352883\nv -0.006532 0.073474 -0.021277\nvn -2.717271 -1.675627 -6.217964\nv -0.074008 0.074138 -0.021268\nvn 5.096856 4.732643 -0.130951\nv 0.052649 0.074418 -0.020838\nvn 6.421722 -4.869134 -3.998473\nv -0.005408 0.074315 -0.020549\nvn -4.836768 -0.075025 -1.262432\nv 0.012772 0.073977 -0.020944\nvn -2.082872 -1.399976 -5.393961\nv -0.074333 0.076016 -0.021500\nvn -6.693105 0.111098 -2.003368\nv 0.012915 0.076350 -0.021637\nvn 4.365435 4.026708 0.534564\nv 0.051566 0.075516 -0.020640\nvn 3.572378 -2.664913 -2.252956\nv -0.004402 0.076077 -0.021123\nvn 3.860018 3.067581 0.695352\nv 0.050856 0.076392 -0.020767\nvn -1.543679 -0.984850 -3.549792\nv -0.074898 0.077225 -0.021665\nvn 6.019746 4.916960 1.775091\nv 0.049851 0.077638 -0.020788\nvn 6.048207 -3.750108 -3.633024\nv -0.003197 0.077729 -0.020971\nvn -3.724333 -1.232878 -6.930300\nv -0.076043 0.077895 -0.021280\nvn -5.751827 0.429031 -1.623632\nv 0.012835 0.077974 -0.021054\nvn -5.743641 0.642584 -1.596897\nv 0.012988 0.079898 -0.020850\nvn 3.926885 -2.222060 -2.150708\nv -0.002246 0.079299 -0.020812\nvn 6.001712 4.624965 2.472088\nv 0.048093 0.079745 -0.020837\nvn -2.696211 -0.370280 -4.154830\nv -0.075423 0.080375 -0.021791\nvn 6.482862 -3.800110 -2.637774\nv -0.000764 0.081869 -0.020952\nvn 3.818987 2.741432 1.640184\nv 0.047446 0.081056 -0.021339\nvn -4.152149 -0.978728 -6.673506\nv -0.076150 0.081960 -0.021458\nvn -5.736659 0.826772 -1.534840\nv 0.013264 0.082074 -0.020880\nvn 5.317446 3.468554 3.099463\nv 0.046402 0.082007 -0.020906\nvn -6.663336 1.132190 -1.790023\nv 0.013601 0.084076 -0.020918\nvn -1.618650 -0.899352 -2.251608\nv -0.076521 0.083613 -0.021549\nvn 2.509132 -1.223177 -1.078784\nv -0.000130 0.083521 -0.021554\nvn 6.495413 0.954000 0.565041\nv 0.045250 0.084125 -0.020638\nvn 7.616390 -3.868529 -2.786579\nv 0.000578 0.084196 -0.020547\nvn -4.151363 -1.420904 -6.543539\nv -0.077924 0.084171 -0.020957\nvn 5.062522 -2.679855 -1.768252\nv 0.001500 0.086125 -0.020862\nvn -7.483496 1.911409 -2.021446\nv 0.013973 0.086277 -0.020777\nvn 4.890293 -0.755005 -0.346730\nv 0.045321 0.085450 -0.021317\nvn -2.953551 -0.222625 -4.011025\nv -0.078026 0.086011 -0.021186\nvn 6.651160 -2.000242 -0.743460\nv 0.045702 0.086507 -0.020631\nvn -3.349059 0.408172 -4.947430\nv -0.078070 0.087877 -0.021108\nvn 6.031925 -2.817721 -2.090539\nv 0.002362 0.087856 -0.020981\nvn -4.617465 1.486356 -1.198956\nv 0.014487 0.088013 -0.020727\nvn 4.547956 -2.005251 -0.359560\nv 0.046234 0.088128 -0.020888\nvn -0.042480 5.410764 -2.523616\nv -0.044215 0.088355 -0.020695\nvn -0.475314 3.592745 -1.679057\nv -0.042686 0.088386 -0.020957\nvn 0.600915 2.544903 -1.470436\nv -0.047881 0.088541 -0.021550\nvn 1.311894 7.070494 -3.477489\nv -0.046211 0.088598 -0.020761\nvn -1.320248 7.095672 -3.367776\nv -0.040919 0.088597 -0.021130\nvn -3.811524 1.039177 -5.738885\nv -0.076813 0.089527 -0.021637\nvn -0.815947 3.425662 -1.866724\nv -0.039154 0.088738 -0.021397\nvn -5.558178 1.770847 -1.389668\nv 0.015039 0.089605 -0.020830\nvn 2.213376 6.577907 -3.909869\nv -0.048469 0.089193 -0.020655\nvn -2.551884 5.778399 -2.815337\nv -0.038564 0.089284 -0.020804\nvn 3.171170 5.358797 -4.897821\nv -0.050617 0.089979 -0.020936\nvn 6.781444 -4.175725 -0.516869\nv 0.047038 0.089602 -0.020856\nvn 1.950554 2.251528 -2.233719\nv -0.052376 0.090397 -0.021474\nvn -2.461759 4.011541 -1.668393\nv -0.036840 0.090348 -0.020878\nvn 6.713057 -3.514555 -2.515826\nv 0.003339 0.089826 -0.020779\nvn 3.297685 -2.200246 -0.529197\nv 0.047490 0.090397 -0.021463\nvn 4.097471 3.636111 -5.442787\nv -0.052496 0.091597 -0.020724\nvn 2.700318 2.401290 -4.762832\nv -0.054053 0.092043 -0.021381\nvn -4.383140 4.733259 -2.613717\nv -0.034512 0.091972 -0.021167\nvn 4.913321 -3.382035 -0.542850\nv 0.048494 0.091734 -0.020798\nvn -3.063086 1.200094 -5.006535\nv -0.076208 0.092380 -0.021458\nvn -2.609626 1.321313 -0.405991\nv 0.015994 0.092270 -0.020762\nvn 3.010319 1.549139 -6.028301\nv -0.055964 0.093946 -0.021558\nvn -5.026730 5.229251 -3.322544\nv -0.032800 0.093971 -0.020799\nvn 8.800606 -3.572562 -3.090412\nv 0.005212 0.093787 -0.020939\nvn -8.542448 4.636571 -2.083647\nv 0.016870 0.093855 -0.020776\nvn -2.512477 1.170753 -4.154514\nv -0.076346 0.093997 -0.020930\nvn -3.173638 3.187430 -2.170136\nv -0.031323 0.094760 -0.021579\nvn -2.355585 1.283329 -4.204890\nv -0.074616 0.095972 -0.021394\nvn -6.398327 5.121277 -3.549831\nv -0.030609 0.095989 -0.020772\nvn -5.791725 3.581352 -1.577837\nv 0.018266 0.096348 -0.020808\nvn 6.524158 -4.439805 -1.218753\nv 0.050857 0.095289 -0.020860\nvn 3.186932 -2.341521 -0.568298\nv 0.051697 0.096704 -0.021463\nvn -3.296376 1.388311 -7.130619\nv -0.073887 0.097683 -0.021358\nvn -4.803843 3.300727 -1.414476\nv 0.019170 0.097602 -0.020968\nvn 4.807030 -3.518980 -0.678213\nv 0.052520 0.097658 -0.020708\nvn 2.203737 0.467058 -5.554432\nv -0.056541 0.097817 -0.021511\nvn -1.725935 0.821410 -4.614720\nv -0.072720 0.099536 -0.021544\nvn -7.170846 5.033668 -2.049288\nv 0.020652 0.099776 -0.020860\nvn -6.205004 4.174024 -2.751399\nv -0.028514 0.099637 -0.020843\nvn 4.862850 -3.398283 -0.838876\nv 0.054092 0.099794 -0.020950\nvn 1.449577 -0.352877 -3.692484\nv -0.057311 0.100045 -0.021579\nvn -2.709657 1.574316 -7.355846\nv -0.072406 0.101779 -0.021158\nvn -6.097441 3.983485 -3.210635\nv -0.026995 0.101761 -0.021044\nvn 1.985524 -1.662342 -6.453114\nv -0.056165 0.101663 -0.021449\nvn 4.348986 -1.609894 -1.859480\nv 0.007848 0.101004 -0.021676\nvn 4.979424 -3.136358 -1.128366\nv 0.054898 0.101015 -0.020762\nvn -1.265025 0.760961 -3.715497\nv -0.071048 0.101858 -0.021615\nvn 0.913173 -0.833914 -2.708270\nv -0.056873 0.102075 -0.021869\nvn -0.851067 0.600029 -2.805809\nv -0.069823 0.102775 -0.021838\nvn 6.088583 -2.619153 -2.125964\nv 0.008600 0.101912 -0.020751\nvn -4.959116 3.122016 -1.229565\nv 0.023159 0.103638 -0.020740\nvn -2.201700 1.135073 -6.530726\nv -0.070391 0.103664 -0.021437\nvn -5.482053 3.196677 -2.896596\nv -0.026133 0.103556 -0.020559\nvn 6.742779 -3.920156 -1.759186\nv 0.056477 0.103637 -0.020638\nvn 1.412460 -1.839243 -5.525276\nv -0.054018 0.103563 -0.021530\nvn -3.167443 1.774426 -1.654630\nv -0.025378 0.104210 -0.021154\nvn 1.981941 -2.389357 -6.243737\nv -0.052594 0.103678 -0.021173\nvn -3.209644 2.185327 -0.892330\nv 0.023886 0.104577 -0.021267\nvn -1.425202 0.321291 -7.804147\nv -0.067898 0.105575 -0.021832\nvn -0.937782 0.083683 -3.856204\nv -0.068866 0.105871 -0.021631\nvn 1.228857 -1.326348 -3.527421\nv -0.051799 0.105401 -0.021637\nvn -7.090610 5.138810 -1.981174\nv 0.024719 0.105853 -0.020738\nvn 2.210587 -2.683804 -5.993051\nv -0.050223 0.105778 -0.021181\nvn 8.170631 -2.827576 -2.145346\nv 0.010179 0.105720 -0.020828\nvn -6.563322 3.209592 -3.210254\nv -0.024549 0.106019 -0.020873\nvn 0.941353 -1.685894 -3.468961\nv -0.049740 0.107044 -0.021645\nvn 5.377074 -2.411778 -1.019053\nv 0.010914 0.107625 -0.020964\nvn -5.789636 3.445889 -1.844458\nv 0.026094 0.107848 -0.020847\nvn -1.597242 0.891566 -6.741231\nv -0.067989 0.107822 -0.021644\nvn -0.658875 0.266289 -2.903168\nv -0.067723 0.107325 -0.021769\nvn -5.123764 2.105369 -2.257058\nv -0.024062 0.107616 -0.020513\nvn 2.957848 -3.030896 -5.527703\nv -0.047891 0.107620 -0.021199\nvn -3.386979 1.520037 -1.431201\nv -0.023567 0.108189 -0.021277\nvn 5.204672 -2.650708 -1.363030\nv 0.058686 0.107751 -0.020949\nvn -1.698354 1.130469 -6.677823\nv -0.067861 0.109510 -0.021379\nvn 4.353377 -3.670853 -6.884578\nv -0.046280 0.109445 -0.021011\nvn 5.414865 -2.409421 -0.826561\nv 0.011694 0.109167 -0.020736\nvn 6.240124 -2.647274 -1.671076\nv 0.059597 0.109609 -0.020915\nvn -0.790383 0.464051 -2.841525\nv -0.066470 0.109994 -0.021631\nvn -7.529008 3.428021 -3.273033\nv -0.023139 0.109489 -0.020656\nvn 5.486783 -2.311743 -0.689241\nv 0.012039 0.110109 -0.020752\nvn -6.833432 3.593586 -2.074879\nv 0.026834 0.109472 -0.020459\nvn 3.614887 -1.611657 -0.564567\nv 0.012077 0.110475 -0.021762\nvn -6.061162 3.043200 -1.710376\nv 0.028034 0.111609 -0.020869\nvn -2.543019 0.579072 -7.543189\nv -0.066313 0.111521 -0.021522\nvn -6.683662 2.658056 -3.410696\nv -0.022215 0.111472 -0.020845\nvn 5.285607 -2.733585 -0.574391\nv 0.012745 0.111670 -0.020754\nvn -2.401453 1.021904 -1.426817\nv -0.021563 0.112138 -0.021638\nvn 1.045183 -1.652210 -2.246846\nv -0.044798 0.112225 -0.021862\nvn 3.668551 -4.612432 -6.663684\nv -0.044339 0.111519 -0.021196\nvn 5.026131 -3.220544 -0.461747\nv 0.013526 0.112888 -0.020708\nvn -6.920609 3.509291 -1.906975\nv 0.028952 0.113498 -0.020719\nvn -1.524722 0.196758 -4.750885\nv -0.065273 0.112925 -0.021858\nvn 3.681570 -3.799872 -4.509947\nv -0.042222 0.113193 -0.021084\nvn -7.191646 3.418262 -4.149728\nv -0.021070 0.113806 -0.021016\nvn 5.082545 -3.118849 -0.560526\nv 0.014203 0.113983 -0.020885\nvn -4.259470 2.177739 -1.440430\nv 0.029639 0.114420 -0.021351\nvn -1.959938 0.448501 -5.642775\nv -0.066216 0.114150 -0.021500\nvn -2.348463 1.087993 -5.395083\nv -0.066471 0.115319 -0.021227\nvn 4.608951 -4.421704 -4.810605\nv -0.040258 0.115169 -0.020936\nvn -5.577908 2.467401 -3.347462\nv -0.020444 0.115503 -0.020677\nvn -7.200324 2.795655 -1.971789\nv 0.030180 0.115951 -0.020851\nvn 6.364617 -1.701898 -2.322120\nv 0.061588 0.115542 -0.021102\nvn 4.942827 -3.280436 -0.797368\nv 0.015154 0.115694 -0.021139\nvn -1.603492 1.069419 -4.601049\nv -0.064960 0.116418 -0.021617\nvn -4.095354 1.805433 -2.177432\nv -0.019685 0.116277 -0.021309\nvn 3.377039 -3.420601 -3.565843\nv -0.038875 0.116044 -0.020422\nvn -1.219626 0.910162 -3.695225\nv -0.063523 0.117125 -0.021863\nvn 4.099787 -3.883480 -4.121316\nv -0.038198 0.117186 -0.020923\nvn -3.338120 1.176409 -1.844391\nv -0.019272 0.117835 -0.020983\nvn 5.404602 -1.334842 -2.233792\nv 0.062329 0.117400 -0.020520\nvn -4.749408 0.889173 -1.190379\nv 0.030768 0.117854 -0.020934\nvn -2.416321 1.314515 -6.418551\nv -0.063958 0.118262 -0.021432\nvn 5.229695 -4.628474 -5.660581\nv -0.036348 0.119215 -0.020934\nvn -8.450615 3.625909 -7.004202\nv -0.018880 0.119494 -0.020719\nvn -2.554345 0.762482 -5.355700\nv -0.063084 0.119692 -0.021577\nvn 5.042351 -4.714195 -0.395006\nv 0.018144 0.119664 -0.020664\nvn -5.750991 -0.250041 -1.382940\nv 0.030927 0.119590 -0.020835\nvn 1.681427 -1.529777 -1.957221\nv -0.035649 0.120751 -0.021512\nvn -3.854330 1.545779 -2.776098\nv -0.017376 0.121667 -0.021424\nvn 4.259860 -4.106516 -0.446656\nv 0.018983 0.120659 -0.020823\nvn -2.510382 0.893619 -4.205461\nv -0.062767 0.121796 -0.021493\nvn 4.338518 -1.203522 -2.122550\nv 0.063104 0.120855 -0.020776\nvn 4.784538 -4.385479 -6.130255\nv -0.034282 0.121257 -0.020750\nvn 4.987517 -7.372284 -0.629331\nv 0.020434 0.121777 -0.020998\nvn -6.608745 -3.310736 -2.168110\nv 0.030497 0.121468 -0.020816\nvn 2.822969 -2.645704 -3.155413\nv -0.033922 0.122686 -0.021572\nvn -4.263696 1.424005 -3.918763\nv -0.017198 0.123451 -0.020818\nvn -2.010975 -1.672905 -1.245379\nv 0.030129 0.122559 -0.021334\nvn -3.030657 -4.507171 -1.944773\nv 0.028923 0.123331 -0.020896\nvn 3.643238 -3.951425 -5.779623\nv -0.032504 0.123342 -0.020986\nvn 2.908086 -6.237466 -0.113131\nv 0.022575 0.123013 -0.020581\nvn 3.392430 -0.349556 -2.074091\nv 0.063000 0.123775 -0.021463\nvn -3.176384 2.021574 -4.648813\nv -0.062789 0.123586 -0.020863\nvn 1.348896 -4.711394 -0.699341\nv 0.024356 0.123676 -0.020769\nvn -5.820050 3.977633 -6.925725\nv -0.062254 0.125200 -0.020469\nvn 0.938280 -1.580785 -2.261063\nv -0.032210 0.124475 -0.021504\nvn -5.106981 1.854063 -5.574678\nv -0.016639 0.125606 -0.020621\nvn -0.857528 -8.346663 -2.234953\nv 0.026639 0.124044 -0.020908\nvn -1.559542 1.007843 -2.340801\nv -0.060598 0.126018 -0.021358\nvn -0.000000 0.000000 0.000000\nv 0.063205 0.125734 -0.021547\nvn 3.051927 -3.027328 -6.548574\nv -0.030539 0.125692 -0.021195\nvn -3.274314 1.370457 -3.345195\nv -0.015498 0.126259 -0.021374\nvn 3.871157 -0.436450 -3.106271\nv 0.063818 0.126027 -0.020741\nvn -4.801589 2.874603 -5.777273\nv -0.060481 0.127453 -0.020740\nvn 0.975428 -1.928771 -3.174627\nv -0.030187 0.126997 -0.021637\nvn 0.498433 -3.164457 -4.989428\nv -0.028664 0.127059 -0.021567\nvn 2.178021 -2.973510 -5.581573\nv -0.026467 0.127168 -0.021446\nvn 1.435612 -3.786010 -3.045563\nv -0.026581 0.125624 -0.020631\nvn -3.034498 0.987384 -3.711700\nv -0.015322 0.127731 -0.021023\nvn 4.662551 -0.224807 -5.025670\nv 0.064024 0.127584 -0.020684\nvn -2.247989 1.394358 -2.971371\nv -0.059006 0.128214 -0.021535\nvn -3.471715 2.304494 -4.265952\nv -0.058548 0.129515 -0.021240\nvn 4.005974 -4.062303 -4.045499\nv -0.024686 0.129283 -0.021202\nvn -4.468480 1.204943 -5.155460\nv -0.014669 0.129442 -0.021249\nvn 4.191454 -2.799329 0.832647\nv -0.023379 0.129943 -0.020711\nvn 3.033072 0.447504 -2.554893\nv 0.063091 0.129958 -0.021445\nvn 4.092515 0.325203 -4.286459\nv 0.063022 0.131285 -0.021351\nvn -4.664373 3.378018 -3.883747\nv -0.058251 0.131130 -0.020311\nvn -3.998244 0.966109 -5.608288\nv -0.014599 0.131405 -0.021064\nvn -2.655352 1.588017 -2.522805\nv -0.056986 0.131843 -0.021197\nvn -1.885743 0.907086 -3.363387\nv -0.013446 0.132093 -0.021625\nvn -3.121781 1.638561 -5.879292\nv -0.012837 0.133420 -0.021511\nvn 3.950596 0.671558 -4.310552\nv 0.062650 0.133181 -0.021426\nvn 5.347025 -1.047466 3.039596\nv -0.022489 0.132934 -0.020597\nvn -6.275197 4.421193 -4.461290\nv -0.056490 0.133382 -0.020603\nvn 3.856695 -1.525822 1.573495\nv -0.021455 0.134925 -0.021521\nvn -5.324477 2.836704 -3.375110\nv -0.054952 0.135588 -0.020992\nvn 3.893669 0.683768 -4.431146\nv 0.062661 0.135042 -0.021152\nvn -0.596533 0.466219 -0.783049\nv -0.011722 0.134841 -0.021671\nvn -2.165378 1.530724 -4.217277\nv -0.012936 0.135143 -0.020930\nvn -3.952116 1.133669 -5.647243\nv -0.011239 0.137256 -0.021572\nvn 5.181227 -0.903836 3.857707\nv -0.021057 0.137372 -0.021184\nvn 3.424745 0.308059 -4.800914\nv 0.062596 0.137228 -0.021079\nvn -6.087938 3.548499 -3.623715\nv -0.054108 0.137328 -0.020833\nvn -5.591346 2.613006 -3.215201\nv -0.052903 0.139247 -0.021000\nvn 5.533764 4.102293 -6.697739\nv 0.062216 0.139293 -0.020740\nvn -3.564507 0.890957 -4.728740\nv -0.011032 0.139426 -0.021360\nvn 2.353430 1.291725 -2.913663\nv 0.060847 0.139691 -0.021395\nvn 2.310949 -6.292593 3.653839\nv -0.064438 0.139663 -0.020743\nvn 0.952971 -3.731322 2.236906\nv -0.062755 0.139720 -0.021590\nvn 4.910480 0.092286 2.922816\nv -0.021067 0.139460 -0.021023\nvn -1.200968 -4.607931 -1.532136\nv -0.066052 0.139446 -0.020741\nvn 2.086425 -3.061403 4.598596\nv -0.062537 0.141327 -0.020861\nvn 2.363493 -2.934879 4.426628\nv -0.060190 0.141044 -0.021545\nvn -6.158846 1.276675 -2.344497\nv -0.052002 0.141256 -0.020797\nvn 5.130292 0.450683 2.832323\nv -0.021206 0.141032 -0.021172\nvn -3.636176 1.909071 -4.945271\nv -0.010955 0.141404 -0.021078\nvn 5.717580 2.264349 -6.343366\nv 0.060484 0.141249 -0.021071\nvn -0.908524 1.639740 -4.449007\nv -0.008772 0.141389 -0.021673\nvn -1.039256 1.010438 -2.464709\nv -0.007879 0.141982 -0.021640\nvn -2.537233 0.553906 -4.237108\nv -0.066908 0.143113 -0.021657\nvn -4.268814 -2.055071 -0.112314\nv -0.052273 0.143235 -0.020914\nvn 5.403406 0.277028 2.427182\nv -0.021268 0.143084 -0.021446\nvn -2.002414 1.499795 -5.261329\nv -0.007623 0.143081 -0.021471\nvn 4.800814 3.613715 -6.493516\nv 0.060345 0.143121 -0.020616\nvn 1.538063 1.238412 -2.206050\nv 0.058787 0.143361 -0.021395\nvn -2.627404 1.365127 -5.208479\nv -0.066271 0.144891 -0.021513\nvn 1.839479 -7.675699 3.473603\nv -0.055993 0.144753 -0.020855\nvn 5.472733 -0.292268 2.368793\nv -0.021439 0.145138 -0.021106\nvn -5.044421 4.448627 -3.935401\nv -0.007407 0.145250 -0.020889\nvn 4.748228 1.836476 -5.936688\nv 0.058417 0.145111 -0.020902\nvn 0.871948 -3.904741 2.851664\nv -0.055524 0.144342 -0.021750\nvn -1.023922 -5.251216 1.809263\nv -0.054292 0.144895 -0.020899\nvn -3.100298 -3.586016 0.298768\nv -0.053157 0.144337 -0.020817\nvn -1.677406 0.827051 -2.290729\nv -0.006473 0.144775 -0.021845\nvn 5.924453 -0.005940 3.411008\nv -0.021121 0.147427 -0.021292\nvn -3.737871 0.919782 -8.002459\nv -0.066040 0.146994 -0.021063\nvn -5.057908 1.708355 -1.747797\nv -0.006796 0.147216 -0.020780\nvn 3.789572 3.783324 -5.837392\nv 0.058333 0.147178 -0.020672\nvn 2.056118 2.678663 -3.654328\nv 0.056235 0.147575 -0.021314\nvn 0.000000 -0.000000 -0.000000\nv -0.064587 0.147614 -0.021625\nvn -1.158254 1.095056 -2.002858\nv -0.005840 0.148124 -0.021510\nvn 3.846298 1.885375 -5.370406\nv 0.054641 0.149221 -0.021291\nvn -1.665473 -0.821426 -3.427749\nv -0.064748 0.148625 -0.021625\nvn -3.120007 2.575576 -1.598164\nv -0.006210 0.149029 -0.020593\nvn 5.177933 -0.553677 3.277612\nv -0.021235 0.149032 -0.021058\nvn -2.801658 -0.747765 -4.941867\nv -0.066504 0.149128 -0.021117\nvn -3.348385 2.461511 -1.026296\nv -0.005576 0.149623 -0.020855\nvn -6.137605 5.618218 -5.841431\nv -0.066293 0.151115 -0.020838\nvn 5.923055 0.985008 3.538604\nv -0.021427 0.151204 -0.021400\nvn -0.434419 4.281854 0.020014\nv -0.002789 0.151528 -0.020723\nvn 1.883682 0.929671 -3.283137\nv 0.053727 0.150375 -0.021830\nvn 3.663888 3.750086 -4.772698\nv 0.054259 0.151263 -0.021146\nvn -1.954160 1.693911 -3.549694\nv -0.001540 0.151391 -0.021003\nvn -3.029163 4.208766 0.328657\nv -0.004683 0.150985 -0.020658\nvn 1.734597 3.562806 -4.488538\nv 0.052375 0.151642 -0.021514\nvn -1.092918 2.199132 -1.379434\nv -0.064745 0.151931 -0.021545\nvn 2.800557 2.060629 -5.741860\nv 0.050532 0.153041 -0.021247\nvn -3.052993 6.805896 -1.802130\nv -0.064146 0.152566 -0.020573\nvn 4.608291 0.286389 3.755093\nv -0.021594 0.153141 -0.021634\nvn -5.048191 3.997482 -0.881552\nv -0.001075 0.152846 -0.020751\nvn 1.668021 1.794052 -2.975920\nv 0.049527 0.152475 -0.021897\nvn -1.747810 4.606509 -0.588730\nv -0.062501 0.153176 -0.020986\nvn -0.554410 2.451229 -3.111558\nv 0.003852 0.153911 -0.021647\nvn -1.694291 3.604891 -0.364435\nv -0.059952 0.154105 -0.020930\nvn 3.532949 0.634493 3.420058\nv -0.021556 0.155230 -0.021621\nvn -2.842527 2.167827 0.039642\nv -0.000183 0.154287 -0.020818\nvn 1.578712 5.815491 1.587636\nv 0.002827 0.154992 -0.020611\nvn -2.221327 3.720641 -2.357454\nv 0.004403 0.155030 -0.020844\nvn 2.476867 1.751847 -4.924861\nv 0.050660 0.155245 -0.021099\nvn -4.191084 3.260665 -0.332515\nv -0.058337 0.154885 -0.020791\nvn -2.639831 3.745316 1.574790\nv 0.000809 0.155339 -0.020684\nvn 0.719003 1.987868 -3.282181\nv 0.048808 0.155509 -0.021629\nvn -0.824312 2.057847 0.544537\nv 0.001397 0.156056 -0.021300\nvn 0.935202 1.809212 -1.105152\nv 0.002238 0.156100 -0.021242\nvn -4.338821 2.944814 -1.173213\nv 0.005369 0.156180 -0.020733\nvn 4.035410 4.689855 -4.884480\nv 0.046439 0.156991 -0.021187\nvn 0.718380 3.673465 -2.410521\nv 0.048120 0.156669 -0.020831\nvn -0.490518 -4.467630 -1.836871\nv -0.066718 0.156275 -0.021576\nvn 0.310291 -2.721255 -0.709320\nv -0.063795 0.156051 -0.021177\nvn 1.349063 -6.386043 0.694431\nv -0.062324 0.156377 -0.020685\nvn -0.674617 -7.580545 2.330057\nv -0.060204 0.156931 -0.020643\nvn 5.925712 2.027779 4.857952\nv -0.022923 0.156900 -0.020796\nvn -2.295874 -6.128073 -4.040165\nv -0.068335 0.156528 -0.021147\nvn -3.119663 -1.417983 0.110714\nv -0.057895 0.156675 -0.020823\nvn -3.062827 3.066110 -0.425222\nv 0.006328 0.157393 -0.021148\nvn 0.473648 1.314521 -2.304345\nv 0.045218 0.157375 -0.021637\nvn -1.824415 -4.931768 -4.302855\nv -0.069885 0.157110 -0.020876\nvn -1.211848 -2.746863 -2.631428\nv -0.071090 0.158181 -0.021288\nvn -2.741794 5.346120 -0.518052\nv 0.007561 0.158543 -0.020657\nvn 1.089298 4.691046 1.049091\nv 0.009221 0.158730 -0.020618\nvn -1.945456 4.534278 0.505003\nv 0.010724 0.158586 -0.020788\nvn 1.294142 4.217915 -0.592206\nv 0.044817 0.159206 -0.020739\nvn -1.884721 -4.148613 -3.882841\nv -0.072449 0.158456 -0.021053\nvn 3.930573 0.378513 4.449367\nv -0.023240 0.159247 -0.021185\nvn -3.554300 4.387396 2.377928\nv 0.012334 0.159369 -0.020646\nvn 1.973181 5.403333 -1.990302\nv 0.040505 0.159599 -0.020937\nvn 0.540733 6.326372 -0.683705\nv 0.042560 0.159374 -0.020829\nvn -3.516323 -2.404529 -6.580153\nv -0.074162 0.159399 -0.020979\nvn -2.240403 2.978491 -0.596091\nv 0.013319 0.160264 -0.021064\nvn -2.252376 4.872849 -5.372155\nv -0.072158 0.161321 -0.021046\nvn 4.407825 1.161925 5.094251\nv -0.022945 0.161297 -0.021301\nvn 0.627600 5.703871 -1.664346\nv 0.032204 0.160876 -0.020833\nvn 2.259358 4.887849 -1.816948\nv 0.038587 0.161216 -0.020947\nvn -1.976852 6.513119 2.585725\nv 0.014645 0.160964 -0.020476\nvn 0.610751 3.389045 2.379590\nv 0.016569 0.161099 -0.020828\nvn -0.894475 6.129327 2.513270\nv 0.018996 0.160651 -0.020679\nvn -0.792979 5.620145 0.266598\nv 0.034654 0.161053 -0.020745\nvn 0.212645 6.528969 4.788390\nv 0.024580 0.160941 -0.020757\nvn -1.367013 5.055675 0.853768\nv 0.026677 0.161392 -0.020606\nvn 2.469115 3.736885 2.028104\nv 0.031185 0.161338 -0.020335\nvn -0.290880 5.539272 -1.498923\nv 0.036446 0.161234 -0.021244\nvn -1.089154 1.791968 -1.919288\nv -0.070642 0.161881 -0.021000\nvn -2.110140 5.848172 3.298833\nv 0.020436 0.161340 -0.020364\nvn -5.729442 4.903641 -5.696892\nv -0.070205 0.162843 -0.020578\nvn 1.989421 1.157857 1.877005\nv -0.023278 0.162538 -0.021550\nvn -1.289600 3.257623 -0.089699\nv 0.021430 0.162058 -0.020962\nvn 1.313816 4.405201 1.833968\nv 0.022845 0.162307 -0.021010\nvn -1.497990 5.117385 0.502587\nv 0.028902 0.162173 -0.020741\nvn 1.982038 3.984033 1.518991\nv 0.030508 0.162294 -0.020659\nvn -3.281694 1.504089 -1.712896\nv -0.069473 0.164303 -0.020677\nvn 4.820807 1.511897 4.646463\nv -0.024834 0.164593 -0.021038\nvn -4.018809 2.053833 -2.129560\nv -0.068904 0.165348 -0.020865\nvn 4.090401 1.228350 3.996947\nv -0.024563 0.166668 -0.021433\nvn -4.848225 2.020195 -2.589091\nv -0.068161 0.166712 -0.020780\nvn -6.331719 -1.586635 -4.624952\nv -0.067942 0.168841 -0.020601\nvn 2.718570 1.560341 2.266698\nv -0.025205 0.168213 -0.021326\nvn -1.688348 -0.946937 -1.464855\nv -0.066958 0.169107 -0.021631\nvn 6.695352 5.111454 3.952531\nv -0.026592 0.169355 -0.020884\nvn -3.262135 -4.091349 -2.581528\nv -0.068668 0.170126 -0.020935\nvn 1.948080 1.852401 0.166676\nv -0.027049 0.170325 -0.021548\nvn 5.422716 6.243412 1.730945\nv -0.028492 0.171088 -0.020649\nvn -3.778864 -4.485624 -3.022293\nv -0.070281 0.170892 -0.020875\nvn -5.014053 -1.643704 -4.386605\nv -0.072093 0.172583 -0.020824\nvn 1.377042 2.161770 -1.162747\nv -0.029573 0.172075 -0.021918\nvn 2.839538 3.652223 -0.759695\nv -0.029398 0.172147 -0.021288\nvn 3.696559 4.910679 -1.337416\nv -0.030559 0.172942 -0.020801\nvn -1.508568 3.743220 -4.045113\nv -0.070227 0.173753 -0.021375\nvn 1.701411 1.538205 -1.908890\nv -0.032146 0.173767 -0.021385\nvn -1.163351 2.505351 -2.492252\nv -0.068358 0.173785 -0.021587\nvn -2.952693 6.580007 -6.250104\nv -0.068120 0.174953 -0.020799\nvn -1.232714 1.380405 -2.023262\nv -0.065273 0.174175 -0.021874\nvn 5.977569 2.138376 -2.407111\nv -0.032510 0.174781 -0.020973\nvn -1.678137 4.159976 -5.001978\nv -0.066066 0.175061 -0.021161\nvn -0.889836 2.212616 -1.784178\nv -0.064629 0.175499 -0.021194\nvn 3.442667 -2.614393 -1.227699\nv -0.032264 0.176009 -0.021106\nvn -3.097287 4.999834 -2.852553\nv -0.063947 0.176319 -0.020613\nvn 2.441221 -5.329205 0.011395\nv -0.031060 0.176656 -0.020732\nvn -3.479929 6.852244 -1.878715\nv -0.062219 0.177441 -0.020965\nvn -1.466968 6.598656 -1.745021\nv -0.060086 0.178099 -0.020806\nvn 3.631070 -5.471611 1.707757\nv -0.028177 0.178176 -0.020743\nvn -0.411753 4.794304 -1.333901\nv -0.058383 0.178319 -0.020780\nvn -0.723734 5.096869 -3.074050\nv -0.050660 0.178906 -0.021018\nvn 3.765637 -5.696095 3.407062\nv -0.026694 0.179067 -0.020878\nvn -1.348640 6.292156 -4.413747\nv -0.048446 0.179157 -0.021015\nvn -1.574927 3.434756 -4.336961\nv -0.046239 0.179344 -0.021344\nvn 2.313900 -3.604979 1.928060\nv -0.024915 0.179715 -0.021486\nvn -3.274223 1.611748 -4.698939\nv -0.045071 0.180868 -0.021429\nvn 3.560211 -4.440013 5.280909\nv -0.024597 0.180743 -0.020776\nvn 2.099206 -2.938211 3.341002\nv -0.023057 0.181242 -0.021232\nvn 3.337667 -2.858892 6.435717\nv -0.021124 0.182913 -0.021275\nvn -5.262333 2.588802 -3.307890\nv -0.044733 0.183007 -0.020955\nvn -5.956680 1.999203 -4.196540\nv -0.044160 0.184593 -0.020818\nvn 1.817672 -0.906768 3.373474\nv -0.019695 0.184296 -0.021608\nvn -1.775426 0.282947 -2.277676\nv -0.043283 0.184821 -0.021583\nvn -3.855178 1.596278 -4.247512\nv -0.042857 0.186838 -0.021216\nvn 1.478660 0.641626 3.595060\nv -0.019604 0.185725 -0.021642\nvn 1.521400 5.491274 -1.229850\nv -0.034447 0.186099 -0.020799\nvn -0.014520 8.645226 -1.279506\nv -0.032621 0.185888 -0.020748\nvn -0.278491 3.968677 0.139522\nv -0.030751 0.185963 -0.020936\nvn 4.032775 3.162552 -1.594410\nv -0.036147 0.186824 -0.021008\nvn -0.458523 5.873645 0.741036\nv -0.028951 0.186149 -0.020890\nvn 0.591668 6.688210 3.298239\nv -0.026817 0.186168 -0.020502\nvn -0.145430 4.819101 3.125076\nv -0.024521 0.186490 -0.021048\nvn 0.903827 2.848632 4.855040\nv -0.021009 0.186424 -0.021446\nvn 1.067446 3.143765 4.629861\nv -0.022664 0.186346 -0.021046\nvn -6.088212 2.683163 -3.393913\nv -0.042575 0.188682 -0.020776\nvn 6.289469 -0.183609 -1.964023\nv -0.036407 0.188601 -0.020531\nvn 0.000000 0.000000 0.000000\nv -0.041823 0.188175 -0.021777\nvn -3.609086 1.498870 -2.510161\nv -0.041840 0.190089 -0.021035\nvn 3.490725 -1.371991 -0.545267\nv -0.036080 0.190238 -0.021082\nvn -3.684288 2.240364 -1.490442\nv -0.041290 0.191186 -0.021063\nvn 4.074567 -2.485619 -0.457256\nv -0.035440 0.191323 -0.020812\nvn -4.135480 2.849607 -2.142337\nv -0.040480 0.192535 -0.020958\nvn 6.353276 -3.481388 1.156238\nv -0.034726 0.192530 -0.020642\nvn -1.772622 1.130135 -1.804408\nv -0.040073 0.192200 -0.021888\nvn -3.178627 3.026470 -0.713589\nv -0.039649 0.193652 -0.020945\nvn 3.188118 -0.949716 1.702922\nv -0.033355 0.194561 -0.021139\nvn -3.834631 4.639891 -0.148751\nv -0.038484 0.194754 -0.020818\nvn -1.302126 4.348334 2.344165\nv -0.036450 0.196085 -0.020665\nvn 3.372200 2.089752 2.056826\nv -0.033222 0.196287 -0.021111\nvn 0.226596 2.520722 1.988993\nv -0.034630 0.196478 -0.020583\nvn 0.319766 -5.684876 -1.535032\nv -0.030777 0.053088 -0.020472\nvn -0.107845 -4.994988 -3.228326\nv 0.030758 0.053665 -0.021239\nvn 1.680378 -1.704122 -2.598609\nv 0.064266 0.054678 -0.020422\nvn -0.969719 -5.842306 -3.634947\nv -0.052429 0.054869 -0.020690\nvn 5.246292 0.477139 -5.422299\nv 0.064262 0.056023 -0.020523\nvn -1.456755 -3.983000 -4.214703\nv -0.058292 0.056703 -0.020495\nvn -2.507833 -4.285162 -0.561487\nv 0.050829 0.056828 -0.020540\nvn -1.921695 -0.841146 -0.673024\nv -0.088020 0.058568 -0.020713\nvn 0.204937 -5.922706 0.532252\nv -0.077735 0.058605 -0.020434\nvn 1.164171 -5.846027 0.226843\nv -0.074351 0.058922 -0.020740\nvn 3.797211 -3.495494 -3.029507\nv -0.017120 0.060555 -0.020877\nvn 0.000000 -0.000000 0.000000\nv -0.087215 0.061633 -0.020623\nvn 3.360683 -2.822133 -2.361142\nv -0.011383 0.066609 -0.020681\nvn 3.909979 1.870623 -2.421412\nv 0.057808 0.067895 -0.020442\nvn -4.761233 -0.349433 -1.438693\nv 0.012769 0.072131 -0.020849\nvn 3.459909 3.526552 -0.461317\nv 0.053758 0.073312 -0.020414\nvn -2.473403 -1.366821 -5.272807\nv -0.076067 0.076085 -0.020869\nvn -3.378639 0.587994 -4.893959\nv -0.078201 0.089722 -0.020838\nvn -3.676448 1.258683 -5.787133\nv -0.077993 0.091840 -0.020604\nvn -6.271961 2.665276 -1.274706\nv 0.015509 0.091326 -0.020445\nvn 3.287960 -1.840394 -1.308431\nv 0.003845 0.091060 -0.021305\nvn 5.149296 -2.530902 -1.738767\nv 0.004557 0.091988 -0.020556\nvn 4.131387 -2.703367 -0.736055\nv 0.049283 0.092895 -0.020762\nvn 4.105289 -2.718110 -0.815692\nv 0.050089 0.094083 -0.020703\nvn -3.254549 1.322083 -6.049002\nv -0.075784 0.095989 -0.020735\nvn 2.597311 -1.013884 -1.101916\nv 0.005818 0.095553 -0.021226\nvn 2.055747 0.222138 -4.530684\nv -0.056173 0.096300 -0.021454\nvn 6.938674 -2.997542 -2.570699\nv 0.006289 0.096153 -0.020626\nvn -3.265119 1.744780 -1.487444\nv -0.029797 0.097341 -0.020710\nvn -2.415894 1.041898 -5.385351\nv -0.074202 0.099518 -0.020937\nvn 2.295986 -0.250912 -6.549268\nv -0.056058 0.099574 -0.021097\nvn -4.877677 3.211756 -1.349493\nv 0.022181 0.102017 -0.020635\nvn 5.033305 -3.026483 -1.224182\nv 0.055421 0.101796 -0.020497\nvn -2.384681 1.106262 -6.475435\nv -0.071997 0.103748 -0.020852\nvn 2.025326 -1.663451 -6.459323\nv -0.054369 0.101615 -0.020962\nvn 6.027385 -2.870870 -1.830751\nv 0.009513 0.103649 -0.020726\nvn -2.040205 0.473817 -6.629947\nv -0.070199 0.105855 -0.021272\nvn 3.949718 -3.802246 -7.095655\nv -0.050726 0.103778 -0.020366\nvn 5.962087 -3.302881 -1.587142\nv 0.057784 0.106039 -0.020800\nvn -1.463031 0.617060 -4.730829\nv -0.069962 0.107536 -0.021178\nvn -2.138108 1.255957 -6.529713\nv -0.069986 0.109530 -0.020828\nvn -1.802140 0.799618 -5.647281\nv -0.068030 0.111406 -0.020985\nvn 1.223973 -1.357175 -2.310756\nv -0.045673 0.110979 -0.021410\nvn 6.245173 -2.456177 -1.985884\nv 0.060515 0.111945 -0.020728\nvn 5.435039 -1.791756 -1.780625\nv 0.061103 0.113454 -0.020790\nvn -3.395225 2.177543 -6.826110\nv -0.066019 0.117424 -0.020917\nvn -2.403573 1.274022 -5.326128\nv -0.064451 0.119450 -0.021054\nvn 6.303034 -1.547379 -2.608900\nv 0.062649 0.119264 -0.020721\nvn -3.612434 1.994522 -5.556858\nv -0.064344 0.121549 -0.020590\nvn 1.538978 -2.529200 -0.473784\nv 0.021601 0.122528 -0.021304\nvn 3.327966 -1.222054 -2.224626\nv -0.024757 0.127972 -0.020509\nvn -3.764734 1.326263 -5.520835\nv -0.014641 0.133444 -0.020859\nvn -2.356164 1.431518 -1.176720\nv -0.055555 0.134773 -0.020765\nvn 4.705765 -0.444587 5.078096\nv -0.022349 0.135143 -0.020723\nvn -2.586575 1.150913 -5.181851\nv -0.012461 0.137447 -0.020648\nvn -2.579117 -1.203338 -5.037754\nv -0.067957 0.141245 -0.021039\nvn 2.173278 -3.419491 4.265147\nv -0.060191 0.143224 -0.020629\nvn -3.367080 1.945589 -2.892375\nv -0.010653 0.143467 -0.020616\nvn -1.499867 2.269336 -6.278640\nv -0.009045 0.143513 -0.021148\nvn -3.866228 1.017832 -6.895757\nv -0.068167 0.143209 -0.020867\nvn 1.619483 -4.541591 3.348044\nv -0.058366 0.143818 -0.020858\nvn -2.802723 1.370963 -5.110017\nv -0.067846 0.145089 -0.020696\nvn 3.355999 2.681891 -3.687304\nv 0.056194 0.148768 -0.020393\nvn 5.225677 0.931689 2.761673\nv -0.022147 0.152848 -0.020716\nvn -0.349092 0.209043 -0.971486\nv -0.002710 0.152286 -0.020850\nvn -3.007043 7.297445 -0.008090\nv -0.060714 0.153790 -0.020542\nvn 4.844438 0.871011 3.262740\nv -0.022515 0.154992 -0.020679\nvn 2.479086 5.258974 -2.650074\nv 0.050100 0.156396 -0.020510\nvn 2.422964 2.991569 -2.546826\nv 0.046081 0.158614 -0.020593\nvn -1.578353 2.895823 -5.874283\nv -0.074323 0.161129 -0.020569\nvn 0.000000 0.000000 -0.000000\nv 0.027759 0.161876 -0.021171\nvn 6.164326 2.510625 5.892592\nv -0.024634 0.163038 -0.020602\nvn 2.735952 -5.164257 0.764837\nv -0.029362 0.177389 -0.020637\nvn -0.385785 7.433925 -2.812016\nv -0.056115 0.178396 -0.020749\nvn -0.570081 5.265224 -2.794304\nv -0.054108 0.178645 -0.020533\nvn -0.548725 3.410532 -2.015195\nv -0.052224 0.178604 -0.021060\nvn -3.888936 3.869672 -3.652334\nv -0.046298 0.180699 -0.020458\nvn 2.368922 0.415059 6.423080\nv -0.020775 0.184607 -0.021103\nvn 2.131052 -4.695661 -2.942198\nv -0.024597 0.054648 -0.020652\nvn 2.736350 -3.424239 -2.395214\nv -0.021034 0.056837 -0.020360\nvn 4.671891 1.330109 -3.484944\nv 0.063678 0.057866 -0.020614\nvn -2.064054 -3.745666 -4.175797\nv -0.062159 0.058383 -0.020453\nvn 0.000000 0.000000 0.000000\nv 0.015932 0.063231 -0.020924\nvn -6.446943 -1.807443 -2.007930\nv 0.013494 0.067865 -0.020302\nvn 2.736967 -2.348169 -1.715149\nv -0.009598 0.068665 -0.020666\nvn -1.990645 -0.986479 -4.463454\nv -0.073853 0.071921 -0.020668\nvn -2.376149 -0.323792 -4.377789\nv -0.076473 0.079325 -0.021221\nvn 4.871339 -2.708618 -2.189057\nv -0.001504 0.080105 -0.020263\nvn -2.885720 -0.730066 -5.186559\nv -0.078116 0.081946 -0.020532\nvn -2.876860 3.769874 -1.540291\nv -0.035854 0.091058 -0.020674\nvn 2.415289 1.072834 -4.201090\nv -0.054236 0.094464 -0.020526\nvn -2.547965 1.426262 -0.673266\nv 0.017581 0.095324 -0.020468\nvn 5.215878 -2.310614 -1.826586\nv 0.007116 0.097867 -0.020549\nvn -4.936867 2.539901 -2.244999\nv -0.029368 0.098227 -0.020772\nvn 0.000000 0.000000 -0.000000\nv 0.053377 0.098750 -0.020938\nvn 6.225195 -2.412526 -2.008741\nv 0.007726 0.099510 -0.020756\nvn -2.000864 0.998008 -4.468735\nv -0.074281 0.101720 -0.020425\nvn -2.127178 0.734955 -5.555854\nv -0.071927 0.105753 -0.020661\nvn 3.756186 -3.739846 -5.932240\nv -0.048570 0.105695 -0.020299\nvn 2.718565 -2.232788 -3.522819\nv -0.046515 0.108049 -0.020508\nvn 3.781085 -3.829404 -4.406064\nv -0.042882 0.111621 -0.020420\nvn -2.223345 0.731228 -5.485830\nv -0.068142 0.113449 -0.020842\nvn 6.726286 -4.151666 -0.513942\nv 0.016843 0.117865 -0.020247\nvn 3.189974 -2.232940 -0.093283\nv 0.017274 0.118887 -0.020273\nvn -3.413568 1.338677 -3.350255\nv -0.018270 0.121297 -0.020445\nvn 5.964840 -0.736207 -3.525079\nv 0.063413 0.121796 -0.020526\nvn 1.702027 -2.907394 -5.876128\nv -0.030647 0.123540 -0.020490\nvn 1.135643 -3.239783 -4.397548\nv -0.028904 0.125681 -0.020606\nvn 2.370918 -1.553103 -0.966957\nv -0.025370 0.125895 -0.020394\nvn 5.308193 0.716104 -5.875724\nv 0.064062 0.129505 -0.020484\nvn 3.284982 -0.458151 -4.923612\nv 0.064155 0.131163 -0.020395\nvn -3.417571 1.524043 -5.268754\nv -0.014648 0.135086 -0.020535\nvn 3.083922 -0.561242 3.842570\nv -0.022485 0.136748 -0.020432\nvn -1.413075 -2.979897 -2.791718\nv -0.067819 0.139647 -0.020431\nvn 1.011668 -2.527870 1.171923\nv -0.057487 0.144438 -0.020476\nvn 3.397544 3.770138 -3.210621\nv 0.052232 0.152703 -0.020620\nvn 0.472240 -7.510181 -0.613193\nv -0.064490 0.155969 -0.020486\nvn 2.156371 1.875126 0.898781\nv 0.039867 0.160606 -0.020582\nvn -2.147750 3.456033 -3.419291\nv -0.072093 0.174326 -0.020370\nvn -0.728713 3.281528 -2.095623\nv -0.070108 0.174383 -0.020454\nvn 2.273518 -2.681851 3.521250\nv -0.025945 0.180366 -0.020184\nvn 1.931241 -1.497024 4.263552\nv -0.022723 0.182757 -0.020546\nvn -3.303724 1.291697 -1.617565\nv -0.043609 0.186298 -0.020562\nvn -0.314975 -5.919646 -0.711214\nv -0.036223 0.053277 -0.020412\nvn -0.209577 -4.957426 -0.313904\nv -0.034561 0.053173 -0.020325\nvn 0.457109 -2.750406 -0.998332\nv -0.029488 0.053150 -0.020279\nvn -0.411605 -4.613806 -1.768485\nv 0.030627 0.053233 -0.020394\nvn 0.522558 -5.496015 -2.159652\nv 0.032441 0.053167 -0.020179\nvn 1.425937 -3.391755 -3.348513\nv 0.038599 0.054836 -0.020293\nvn -1.873680 -5.738841 -3.483371\nv -0.054343 0.055059 -0.020155\nvn -1.476493 -3.471380 -1.309485\nv 0.024852 0.054902 -0.020194\nvn -2.085359 -3.018615 -1.591583\nv 0.021223 0.056900 -0.020261\nvn 1.255864 -1.776768 -1.977565\nv 0.042305 0.056455 -0.020081\nvn 3.122775 1.118018 -2.226280\nv 0.063337 0.059375 -0.020412\nvn -3.534891 1.032479 -6.443308\nv -0.074139 0.069988 -0.020308\nvn -3.708188 -2.003919 -6.782826\nv -0.075926 0.074313 -0.020393\nvn -3.129951 -1.375428 -4.912742\nv -0.077374 0.075988 -0.020104\nvn 2.217399 -1.529485 -1.299841\nv -0.003498 0.076457 -0.020139\nvn -3.318518 -0.867057 -4.896979\nv -0.077979 0.077973 -0.020179\nvn -3.209330 -0.536724 -5.015186\nv -0.078095 0.079803 -0.020291\nvn 3.461353 2.844444 2.152663\nv 0.047273 0.080463 -0.020134\nvn -4.586923 -0.160431 -5.221998\nv -0.079262 0.085874 -0.020224\nvn -2.848086 0.589269 -0.693671\nv 0.013755 0.085780 -0.020412\nvn -3.905746 0.197807 -4.510879\nv -0.079240 0.088102 -0.020238\nvn -0.885085 3.534760 -1.572438\nv -0.040278 0.089087 -0.020354\nvn -4.179132 1.660025 -6.595327\nv -0.077901 0.093891 -0.020089\nvn -2.807868 2.502685 -1.319607\nv -0.034207 0.092964 -0.020114\nvn 2.601902 0.184416 -4.248135\nv -0.054088 0.095775 -0.020295\nvn 3.247733 -0.036822 -6.148576\nv -0.054197 0.097794 -0.020453\nvn -2.282469 0.764300 -4.379871\nv -0.075989 0.097965 -0.020282\nvn 1.838019 -0.659826 -4.554225\nv -0.054210 0.099523 -0.020511\nvn -3.323510 1.167366 -6.037259\nv -0.075892 0.099359 -0.020118\nvn -2.369925 1.612015 -0.885599\nv -0.027857 0.100850 -0.020412\nvn 2.901538 -2.087212 -5.963154\nv -0.052384 0.101615 -0.020250\nvn -2.390908 1.699467 -0.627707\nv 0.021553 0.101287 -0.020248\nvn -1.947579 0.878061 -4.505827\nv -0.073945 0.103239 -0.020237\nvn 2.656046 -1.010939 -0.619360\nv 0.009967 0.104240 -0.020257\nvn -4.090891 2.631514 -1.113161\nv 0.025445 0.107058 -0.020237\nvn -3.316675 1.433429 -7.089726\nv -0.071939 0.107634 -0.020405\nvn 2.210483 -1.938117 -2.685695\nv -0.044738 0.109752 -0.020199\nvn -2.605905 1.337125 -0.648054\nv 0.027563 0.110825 -0.020588\nvn -3.208664 2.017133 -6.865951\nv -0.070341 0.111494 -0.020277\nvn -2.423022 1.065759 -1.393132\nv -0.021946 0.112692 -0.020464\nvn -2.419360 1.206957 -5.311919\nv -0.069873 0.113390 -0.020116\nvn 1.761716 -1.637730 -1.788575\nv -0.040849 0.114004 -0.020411\nvn 2.750823 -0.779349 -0.907548\nv 0.061402 0.114057 -0.020423\nvn -4.321587 2.675140 -7.374378\nv -0.068324 0.115542 -0.020178\nvn -3.843466 1.474176 -2.808259\nv -0.019872 0.117607 -0.020178\nvn 1.712249 -1.583867 -1.883088\nv -0.036824 0.117999 -0.020302\nvn -3.191926 1.727531 -4.740942\nv -0.066129 0.119366 -0.020246\nvn 1.945491 -1.859038 -2.890747\nv -0.033132 0.121637 -0.020088\nvn -3.030822 1.948740 -3.454861\nv -0.063891 0.123294 -0.020117\nvn 4.702136 -0.806273 -3.604230\nv 0.063822 0.123797 -0.020276\nvn -2.622522 0.822945 -6.312986\nv -0.016927 0.127588 -0.020189\nvn -3.973972 2.825597 -3.392009\nv -0.059663 0.129509 -0.020198\nvn 4.183160 0.811798 -6.617824\nv 0.064141 0.133279 -0.020536\nvn 3.872159 0.507734 -5.776987\nv 0.064062 0.135338 -0.020188\nvn 2.714096 0.579774 -4.094887\nv 0.064047 0.137319 -0.020228\nvn -4.806165 2.548924 -2.913140\nv -0.012733 0.139095 -0.020113\nvn 1.886911 -2.053457 2.864485\nv -0.064031 0.141059 -0.020003\nvn -3.605626 1.878999 -2.154147\nv -0.011998 0.141249 -0.020127\nvn -3.452505 -0.792995 -5.880198\nv -0.069765 0.141511 -0.020132\nvn 4.441856 -0.011125 3.972936\nv -0.022162 0.141170 -0.020144\nvn 2.534045 -3.772802 5.187078\nv -0.061970 0.142833 -0.020112\nvn 5.015314 -0.233154 3.173779\nv -0.022106 0.142885 -0.020186\nvn -1.224412 1.498576 -0.985196\nv -0.010340 0.144366 -0.020393\nvn -1.279563 4.146219 -2.158963\nv -0.009194 0.144758 -0.020252\nvn -2.401227 0.694977 -4.272997\nv -0.067809 0.146536 -0.020265\nvn -4.697758 1.165239 -7.093173\nv -0.067969 0.149021 -0.020225\nvn -1.859220 1.250925 -1.610971\nv -0.067253 0.150723 -0.020356\nvn 4.377380 0.724721 2.290785\nv -0.021896 0.151033 -0.020485\nvn 3.034898 1.315397 -2.938084\nv 0.055843 0.151013 -0.020367\nvn 1.743177 2.281876 -1.746236\nv 0.054219 0.152227 -0.020403\nvn 3.026137 1.730973 -2.875965\nv 0.051717 0.155040 -0.020396\nvn -0.622445 -3.834091 -0.866910\nv -0.067315 0.156031 -0.020284\nvn -1.964396 -4.136682 -3.864809\nv -0.071906 0.157426 -0.020156\nvn 3.862232 0.900337 2.845953\nv -0.024085 0.158966 -0.020393\nvn -2.245232 -1.392102 -4.819947\nv -0.076008 0.159593 -0.020177\nvn 0.054140 3.010621 4.836765\nv 0.016958 0.159344 -0.020102\nvn -1.436447 1.775394 -4.291265\nv -0.075746 0.161099 -0.020127\nvn 4.321142 0.721845 3.908999\nv -0.024241 0.161322 -0.020331\nvn 1.272328 2.644655 3.446487\nv 0.022893 0.161129 -0.020097\nvn 3.689970 0.940100 3.013081\nv -0.025987 0.164848 -0.020039\nvn -1.817915 -1.832934 -1.140913\nv -0.071502 0.171530 -0.020510\nvn -0.876931 5.706709 -3.532976\nv -0.066166 0.175893 -0.020309\nvn 2.027668 0.353414 5.484148\nv -0.022850 0.184655 -0.020315\nvn 3.771547 0.999496 5.974870\nv -0.034353 0.194794 -0.020108\nvn -1.052937 -1.831100 -2.027638\nv -0.059909 0.056925 -0.020201\nvn 2.827994 2.490831 1.325661\nv 0.049046 0.078363 -0.020283\nvn -2.760328 -0.288994 -4.137904\nv -0.079397 0.083992 -0.020011\nvn 1.937535 2.081425 -2.760462\nv -0.051114 0.091311 -0.019967\nvn 5.310325 -2.388088 -1.362020\nv 0.005059 0.091822 -0.018939\nvn 3.071992 1.820695 -4.793954\nv -0.052908 0.093587 -0.020062\nvn 3.655621 -1.392367 -0.788361\nv 0.008101 0.100018 -0.020125\nvn 1.922305 -1.039674 -4.486088\nv -0.053023 0.100176 -0.020205\nvn -2.312158 0.938623 -4.325885\nv -0.075489 0.101340 -0.019935\nvn -2.407852 1.000073 -5.379691\nv -0.073644 0.105651 -0.020024\nvn 2.532319 -1.421206 -0.749675\nv 0.057277 0.104875 -0.020237\nvn -2.852654 1.228103 -5.095587\nv -0.071692 0.109572 -0.020096\nvn 3.215688 -2.331230 -0.362426\nv 0.015855 0.116399 -0.020216\nvn -1.536194 1.086102 -2.302955\nv -0.067548 0.117382 -0.020036\nvn 2.328572 -2.438183 -3.641876\nv -0.034783 0.119683 -0.019934\nvn 5.002400 -4.351121 0.036806\nv 0.018507 0.119789 -0.018826\nvn -2.581242 1.720227 -3.855435\nv -0.065596 0.121047 -0.020001\nvn 3.008989 -2.272533 -5.841349\nv -0.029119 0.123699 -0.019953\nvn -1.051171 -0.727080 -9.462338\nv 0.071941 0.125520 -0.020086\nvn -1.373755 -0.466180 -3.632331\nv 0.070814 0.127794 -0.020178\nvn -0.307925 -0.324900 -5.913025\nv 0.072452 0.127745 -0.020466\nvn 1.635840 -0.750437 -6.366027\nv 0.074226 0.127351 -0.020243\nvn -2.132600 0.854689 -5.426339\nv -0.016594 0.129341 -0.020007\nvn -2.688514 0.151246 -6.312935\nv 0.070694 0.129011 -0.020176\nvn -0.377850 0.196165 -3.942621\nv 0.071616 0.129635 -0.020366\nvn 0.601979 0.064509 -6.946125\nv 0.074307 0.129550 -0.020304\nvn 1.771900 -0.722561 -6.573513\nv 0.076057 0.129410 -0.020066\nvn 0.343432 0.510842 -6.952200\nv 0.074349 0.131060 -0.020258\nvn -1.622278 0.761153 -7.604724\nv 0.071484 0.131373 -0.020209\nvn -2.797727 1.113254 -3.755239\nv -0.015826 0.132835 -0.020065\nvn -2.291229 1.204797 -2.348362\nv -0.014580 0.137053 -0.020057\nvn 3.830912 -0.601692 4.523767\nv -0.022247 0.139238 -0.020049\nvn -2.388723 1.279870 -1.217132\nv -0.053436 0.138825 -0.020237\nvn 2.380234 1.620487 -2.331887\nv 0.063840 0.138645 -0.020058\nvn -1.551503 0.294226 -2.535387\nv -0.069842 0.142675 -0.020016\nvn 0.678723 -3.138915 2.189523\nv -0.059281 0.144194 -0.020111\nvn 5.340281 -0.386424 2.672909\nv -0.021892 0.145293 -0.020237\nvn 4.191463 0.540450 2.457665\nv -0.021838 0.147487 -0.020223\nvn 1.855366 -0.938703 1.100919\nv -0.021867 0.148988 -0.020242\nvn -0.201132 -4.930982 -0.665143\nv -0.066207 0.155920 -0.020142\nvn 4.100310 1.351719 3.997759\nv -0.026063 0.167281 -0.020247\nvn -0.750721 2.176478 -1.622651\nv -0.067665 0.175867 -0.020152\nvn 2.246691 -1.144114 5.307704\nv -0.024301 0.182618 -0.019940\nvn 1.562778 2.143358 6.118013\nv -0.024260 0.184945 -0.019946\nvn -0.335841 -5.955645 0.112946\nv -0.031080 0.052982 -0.018760\nvn 0.847979 -6.725818 -1.236726\nv -0.028795 0.053001 -0.019239\nvn -0.163805 -5.902032 -0.803522\nv 0.030780 0.052890 -0.019100\nvn 0.389617 -4.801113 -0.958557\nv 0.032756 0.052869 -0.018865\nvn -0.165982 -4.940157 -0.253236\nv -0.040614 0.053376 -0.019187\nvn -0.043148 -4.929741 0.356046\nv -0.039195 0.053379 -0.018427\nvn -0.153818 -6.818424 1.111819\nv -0.036544 0.053300 -0.018808\nvn -0.170589 -6.719359 1.126825\nv -0.034298 0.053209 -0.019012\nvn -0.411605 -5.788495 0.945896\nv -0.032773 0.053103 -0.018989\nvn 1.199394 -4.671830 -1.183188\nv -0.026174 0.053452 -0.018994\nvn -1.349605 -7.557706 -1.802762\nv 0.028585 0.053040 -0.018802\nvn 0.282784 -5.781775 -1.137723\nv 0.034377 0.052918 -0.018651\nvn 0.684367 -6.315680 -2.533688\nv 0.036410 0.053137 -0.018704\nvn 0.255801 -2.479729 -1.459937\nv 0.036729 0.053531 -0.019484\nvn -0.284708 -7.776990 -1.732163\nv -0.048414 0.053610 -0.018467\nvn 1.557357 -4.483588 -1.483323\nv -0.024562 0.053958 -0.019019\nvn -1.345681 -3.536993 -1.260685\nv 0.026484 0.053711 -0.018825\nvn 1.427683 -5.350775 -1.640000\nv 0.064387 0.053919 -0.019013\nvn -0.925686 -6.430763 -2.496365\nv -0.052690 0.054063 -0.018952\nvn -0.535891 -5.559308 -2.116196\nv -0.050451 0.053931 -0.019037\nvn -2.909901 -7.007076 -2.490793\nv 0.024625 0.054526 -0.018774\nvn 3.564175 -7.475576 -3.216890\nv -0.022850 0.054525 -0.018633\nvn 1.990778 -6.534801 -4.025143\nv 0.038820 0.053831 -0.018866\nvn -2.144224 -6.593346 -0.745111\nv 0.054182 0.054969 -0.018942\nvn -1.187679 -5.841578 -0.347915\nv 0.056080 0.054475 -0.019188\nvn 1.306907 -2.776837 -2.524315\nv 0.040077 0.055175 -0.019991\nvn 1.434083 -2.214997 -1.310781\nv -0.021920 0.055468 -0.019555\nvn -1.845680 -3.203099 -1.449570\nv 0.022376 0.055580 -0.019256\nvn -1.107828 -4.576749 -3.693519\nv -0.057942 0.055809 -0.019631\nvn -0.954035 -3.151044 -2.229544\nv -0.056194 0.055461 -0.019577\nvn 2.194504 -3.095178 -3.185130\nv 0.042816 0.055937 -0.019147\nvn -3.102608 -7.228729 -5.922787\nv -0.060142 0.055983 -0.019091\nvn -2.831386 -5.241268 -0.582383\nv 0.052230 0.055820 -0.019074\nvn -1.276832 -2.563520 -2.736932\nv -0.061447 0.057275 -0.019900\nvn -4.576775 -5.938327 -2.724012\nv 0.020815 0.056344 -0.018605\nvn 5.435754 1.941060 -3.946644\nv 0.064532 0.058236 -0.019210\nvn 4.580072 -5.696590 -3.220963\nv -0.018733 0.057924 -0.019048\nvn -2.479629 -2.833417 -1.346590\nv 0.020001 0.057485 -0.019448\nvn 1.234639 -2.776374 -2.598381\nv 0.044424 0.057459 -0.019696\nvn -3.335564 -6.112807 -0.582066\nv 0.050349 0.056951 -0.018663\nvn -4.787041 -4.644942 -2.071719\nv 0.018919 0.058129 -0.018725\nvn -1.501406 -6.320943 -1.867207\nv 0.048344 0.057878 -0.018976\nvn -0.755929 -2.194452 2.128200\nv -0.087796 0.058496 -0.019688\nvn 1.632510 -5.406677 -3.913988\nv 0.046285 0.057903 -0.019197\nvn 1.038579 -1.473231 1.359044\nv -0.086484 0.058713 -0.019651\nvn -3.924407 -7.262782 -7.214857\nv -0.064365 0.058127 -0.018858\nvn -1.978963 -3.234328 -3.228858\nv -0.062763 0.057658 -0.019465\nvn -2.314897 0.874552 1.835777\nv -0.087683 0.059645 -0.019539\nvn -0.341810 -3.119476 4.625257\nv -0.084286 0.060208 -0.019300\nvn -1.145579 -3.727846 2.927854\nv -0.081023 0.059193 -0.019607\nvn 0.474152 -5.652517 1.624888\nv -0.075948 0.058886 -0.019450\nvn 0.861086 -5.610307 1.562113\nv -0.074334 0.059076 -0.019451\nvn -1.754794 -3.039313 5.712539\nv -0.082039 0.060360 -0.018958\nvn 0.571693 -7.647389 0.486570\nv -0.072371 0.059600 -0.018892\nvn 6.201504 2.417021 -4.423268\nv 0.064126 0.060268 -0.018729\nvn -1.375386 -3.588682 -3.180001\nv -0.066358 0.059576 -0.019395\nvn -0.511393 -5.308928 -2.143729\nv -0.070127 0.059816 -0.018879\nvn -0.310412 -4.919662 -3.060570\nv -0.068260 0.059901 -0.019138\nvn 4.639235 -4.169242 -3.167761\nv -0.016388 0.060170 -0.019315\nvn -3.714009 -2.894250 -1.637338\nv 0.017131 0.060210 -0.019024\nvn 3.670879 1.906580 -2.797571\nv 0.063103 0.061122 -0.019623\nvn 5.146303 3.846262 -4.646492\nv 0.062623 0.062641 -0.019119\nvn 5.233983 -5.076981 -3.252168\nv -0.014566 0.062102 -0.019026\nvn -0.815958 -0.514160 -0.271822\nv 0.016138 0.061736 -0.019027\nvn -2.489242 2.131385 3.383909\nv -0.085496 0.062428 -0.019617\nvn -4.042649 -2.556003 -1.449609\nv 0.015499 0.062584 -0.018634\nvn 2.505851 2.291910 -2.097574\nv 0.061467 0.063264 -0.019887\nvn -5.942606 -3.289756 -1.625836\nv 0.014676 0.064173 -0.019044\nvn 3.121711 2.734892 -2.736578\nv 0.060742 0.064585 -0.019149\nvn -3.210662 0.918997 3.433661\nv -0.083686 0.064320 -0.019217\nvn -2.395855 1.825634 1.705681\nv -0.083234 0.066097 -0.019344\nvn 7.107830 -5.512215 -4.234236\nv -0.010573 0.066239 -0.018810\nvn -2.605731 -1.191793 -0.761373\nv 0.013911 0.065720 -0.019480\nvn 5.452253 3.822816 -4.326993\nv 0.060077 0.066143 -0.018601\nvn -2.722791 3.613081 4.458169\nv -0.082140 0.066245 -0.018825\nvn -1.187467 3.871935 2.112789\nv -0.081479 0.067290 -0.019449\nvn 5.034322 3.651145 -2.794073\nv 0.058592 0.068305 -0.018737\nvn -0.971914 4.300725 1.499833\nv -0.079669 0.067418 -0.019478\nvn -3.242854 4.567645 -1.249539\nv -0.077862 0.068045 -0.018776\nvn 2.127858 -1.729711 -1.209474\nv -0.010093 0.067447 -0.019612\nvn -2.436814 2.614219 -2.558378\nv -0.076620 0.068570 -0.019212\nvn 6.364951 -5.434110 -3.282671\nv -0.009011 0.068083 -0.018712\nvn -5.735241 -1.431323 -0.958681\nv 0.012960 0.068153 -0.018501\nvn 2.827937 -2.330603 -1.593837\nv -0.008397 0.069242 -0.019452\nvn -4.789425 -1.008052 -0.968767\nv 0.012710 0.069673 -0.019050\nvn 3.768855 2.891606 -1.284418\nv 0.057624 0.069547 -0.018939\nvn 6.688337 -4.949438 -3.377606\nv -0.007129 0.070332 -0.018726\nvn 4.052973 4.324780 -0.502522\nv 0.056755 0.070419 -0.019054\nvn -1.532527 -0.646864 -2.459387\nv -0.075073 0.070925 -0.019887\nvn 0.000000 0.000000 0.000000\nv -0.007368 0.070925 -0.019887\nvn -2.741457 -1.325619 -5.118762\nv -0.075540 0.072092 -0.019976\nvn -6.807076 -0.683939 -1.354690\nv 0.012309 0.071944 -0.018945\nvn 4.899313 4.914977 -0.218550\nv 0.055657 0.071477 -0.019046\nvn 2.271641 -1.497510 -1.246536\nv -0.006273 0.071688 -0.018875\nvn 4.685290 5.133172 0.510244\nv 0.054557 0.072526 -0.018939\nvn 5.337987 -3.662565 -2.617803\nv -0.005559 0.072518 -0.018519\nvn 2.712470 2.925363 0.193241\nv 0.053657 0.073407 -0.019586\nvn 5.130909 -3.940042 -2.562319\nv -0.004590 0.073935 -0.018700\nvn 7.605865 -5.135594 -3.821131\nv -0.003126 0.076149 -0.019071\nvn 5.936153 6.153803 2.647437\nv 0.050533 0.075994 -0.018714\nvn -3.034056 -1.071383 -3.824463\nv -0.078480 0.076243 -0.019347\nvn 5.754487 -3.087850 -2.459225\nv -0.002252 0.077686 -0.019181\nvn -5.870616 0.419224 -1.123761\nv 0.012267 0.077565 -0.018756\nvn 2.757574 2.573851 1.317225\nv 0.049439 0.077438 -0.019387\nvn 4.565015 4.492389 2.793165\nv 0.048442 0.077972 -0.018507\nvn 3.305443 3.017412 2.174858\nv 0.047723 0.079202 -0.019216\nvn 5.150826 -2.594641 -1.629327\nv -0.000879 0.080124 -0.018629\nvn -4.936132 -1.565392 -6.019314\nv -0.080118 0.080130 -0.018902\nvn 5.943154 -3.133516 -1.935176\nv -0.000339 0.081351 -0.019032\nvn -5.849617 0.673899 -1.092149\nv 0.012537 0.079937 -0.019021\nvn 5.891298 2.917914 1.262691\nv 0.045666 0.081395 -0.019206\nvn 1.144407 0.020643 0.464470\nv 0.045319 0.082459 -0.019887\nvn 4.161543 0.322285 0.104405\nv 0.045247 0.082329 -0.018571\nvn 5.891560 -0.792960 -0.519398\nv 0.045284 0.083948 -0.018634\nvn 4.362582 -2.111377 -1.198365\nv 0.000894 0.083797 -0.018861\nvn 6.734346 -1.693580 -0.760097\nv 0.045782 0.086072 -0.018591\nvn 4.278810 -2.281463 -1.214138\nv 0.002312 0.086596 -0.018986\nvn -6.589398 2.068227 -1.026979\nv 0.014042 0.087929 -0.018935\nvn 5.582248 -2.073902 -0.613835\nv 0.046238 0.087772 -0.018902\nvn 1.760230 3.707690 -2.800339\nv -0.047926 0.089885 -0.019122\nvn 1.080901 4.204682 -2.421470\nv -0.046277 0.089506 -0.018792\nvn -0.516636 6.378228 -2.781823\nv -0.042547 0.089220 -0.018977\nvn 5.302515 -2.750404 -0.416381\nv 0.046827 0.089136 -0.019085\nvn -1.458568 6.356371 -2.423914\nv -0.040293 0.089534 -0.018984\nvn -5.583528 1.979967 -0.817816\nv 0.014634 0.089802 -0.018723\nvn 2.225697 3.331996 -2.896907\nv -0.049449 0.090306 -0.019631\nvn -2.704974 5.985967 -2.316967\nv -0.038445 0.090253 -0.018846\nvn 3.345509 -2.177821 -0.180510\nv 0.047666 0.090478 -0.018488\nvn -3.105537 0.435357 -3.859573\nv -0.079374 0.090525 -0.019887\nvn -1.799267 0.468118 -2.321719\nv -0.079291 0.091092 -0.019885\nvn 3.780056 3.388573 -4.739886\nv -0.050117 0.091853 -0.018849\nvn -3.832740 5.336979 -2.234197\nv -0.036381 0.091346 -0.018814\nvn -4.590171 1.791857 -0.705103\nv 0.015255 0.091334 -0.019286\nvn 5.653727 -4.106646 -0.282419\nv 0.048289 0.091386 -0.018754\nvn -5.185227 1.348719 -5.896713\nv -0.080077 0.091850 -0.019000\nvn -3.399785 3.253001 -1.621796\nv -0.034883 0.092403 -0.019512\nvn 3.281303 2.180076 -4.515390\nv -0.051954 0.092820 -0.019733\nvn 7.334196 -5.145692 -0.730787\nv 0.050096 0.093760 -0.018659\nvn -2.470224 0.880051 -4.251381\nv -0.077591 0.095684 -0.019826\nvn -2.768438 2.655405 -1.115166\nv -0.033079 0.094753 -0.018662\nvn 4.423182 0.679963 -6.547918\nv -0.052604 0.095838 -0.019265\nvn -3.959189 4.042732 -1.960203\nv -0.032364 0.095399 -0.018883\nvn -6.026664 3.398703 -0.844021\nv 0.017292 0.095425 -0.018947\nvn -2.781363 2.401968 -1.523813\nv -0.031060 0.096438 -0.019242\nvn 5.738363 -3.916177 -0.745163\nv 0.051646 0.096103 -0.018721\nvn -4.058291 1.194402 -6.776648\nv -0.077921 0.097784 -0.019299\nvn -6.505672 4.510626 -0.768542\nv 0.018739 0.097714 -0.018907\nvn -7.142119 4.412236 -3.161803\nv -0.030324 0.097838 -0.018803\nvn -3.291984 1.917415 -1.204752\nv -0.029617 0.098541 -0.019713\nvn 4.095821 -3.059121 -1.404902\nv 0.052669 0.097541 -0.019026\nvn -4.934715 3.316905 -0.513328\nv 0.020377 0.100082 -0.019058\nvn 5.834476 -3.989935 -1.850980\nv 0.054289 0.099488 -0.018494\nvn -5.689341 3.342862 -2.250695\nv -0.029056 0.099827 -0.019005\nvn -4.729214 2.980628 -2.114029\nv -0.028103 0.101192 -0.019111\nvn 7.294548 -3.040837 -0.629272\nv 0.008861 0.101678 -0.019038\nvn -4.856718 3.346456 -1.021109\nv 0.021376 0.101465 -0.019049\nvn 3.271498 -2.175901 -0.712669\nv 0.055083 0.100858 -0.019537\nvn -5.415798 3.272563 -2.838112\nv -0.027316 0.102480 -0.019269\nvn 3.576634 -1.694482 -0.202290\nv 0.009599 0.103030 -0.018815\nvn 5.744142 -3.567953 -1.784241\nv 0.056720 0.103280 -0.019024\nvn 2.567238 -1.944582 -3.815985\nv -0.049968 0.102860 -0.019386\nvn 7.427274 -2.690627 -0.318358\nv 0.010025 0.104078 -0.018970\nvn -5.774638 3.780560 -1.000114\nv 0.022752 0.103660 -0.018955\nvn -2.103410 0.660680 -4.471374\nv -0.074723 0.104447 -0.019709\nvn 1.404973 -1.498989 -2.184426\nv -0.049310 0.104408 -0.019861\nvn -4.078750 2.221686 -1.840172\nv -0.026757 0.103848 -0.018754\nvn 8.422521 -4.667749 -2.673188\nv 0.058178 0.105700 -0.018841\nvn 3.784049 -1.208242 -0.216794\nv 0.010549 0.105943 -0.018971\nvn -5.765298 3.808365 -0.956335\nv 0.024397 0.106111 -0.018931\nvn -1.715105 0.812617 -3.503769\nv -0.073251 0.107161 -0.019865\nvn 3.585701 -2.793077 -3.871347\nv -0.045624 0.107850 -0.019605\nvn 5.568427 -2.122146 -0.104312\nv 0.011160 0.107623 -0.018816\nvn 4.322006 -2.160234 -1.262332\nv 0.058940 0.107585 -0.019544\nvn -4.697105 1.848125 -3.149995\nv -0.024862 0.107825 -0.018692\nvn -5.100052 2.855157 -1.278979\nv 0.025871 0.108296 -0.019352\nvn 5.439683 -2.465658 0.018754\nv 0.011704 0.108844 -0.019013\nvn 5.852556 -2.782805 -2.487952\nv 0.060181 0.109740 -0.018972\nvn 4.652876 -4.284987 -4.842066\nv -0.044178 0.109294 -0.019267\nvn -4.631424 2.388448 -4.417126\nv -0.024435 0.109607 -0.018366\nvn 5.532670 -2.222860 0.045352\nv 0.012084 0.109700 -0.018994\nvn -4.315604 2.361457 -0.758089\nv 0.026507 0.109708 -0.018919\nvn -2.689457 1.245239 -4.013454\nv -0.072529 0.109873 -0.019434\nvn -2.346967 1.193304 -1.190243\nv -0.023192 0.110375 -0.019310\nvn -5.098125 2.621746 -6.725070\nv -0.072200 0.111719 -0.019120\nvn 6.313224 -2.823149 0.427780\nv 0.012822 0.111521 -0.018990\nvn -1.311817 1.074381 -2.357520\nv -0.071276 0.111419 -0.019879\nvn -4.747536 1.794643 -2.856513\nv -0.023063 0.111455 -0.018752\nvn 4.168670 -1.722759 -2.073540\nv 0.060806 0.111371 -0.019067\nvn 3.460629 -3.234527 -3.674663\nv -0.040373 0.113017 -0.019097\nvn -7.538707 1.528118 -5.675144\nv -0.022526 0.113600 -0.018566\nvn 4.217876 -2.563921 0.377409\nv 0.013575 0.112940 -0.018897\nvn 6.941864 -2.465282 -2.995549\nv 0.061650 0.113413 -0.019083\nvn 4.959833 -3.180926 0.735198\nv 0.014258 0.113979 -0.018824\nvn -2.493778 1.460427 -4.042043\nv -0.070545 0.114049 -0.019558\nvn -1.810700 1.323709 -3.302885\nv -0.069476 0.114678 -0.019889\nvn 6.551325 -4.308781 0.750687\nv 0.015219 0.115438 -0.018926\nvn -3.674886 1.299073 -2.963376\nv -0.021216 0.115652 -0.019284\nvn -6.191296 3.096360 -0.546159\nv 0.029427 0.115287 -0.018822\nvn 3.338144 -2.180034 0.122503\nv 0.015850 0.116347 -0.019506\nvn -3.663646 1.444855 -0.327809\nv 0.029819 0.116104 -0.019135\nvn 6.101415 -2.248187 -4.344480\nv 0.062582 0.115528 -0.018678\nvn 3.274845 -3.315099 -3.762500\nv -0.038147 0.115618 -0.019313\nvn -4.789573 1.241521 -4.814349\nv -0.020925 0.117549 -0.018979\nvn 4.828898 -1.350649 -3.087428\nv 0.062777 0.117401 -0.019391\nvn -7.666608 1.822449 -0.438235\nv 0.030276 0.117551 -0.018661\nvn -4.444372 2.866230 -5.954404\nv -0.068163 0.117968 -0.019272\nvn 6.906925 -5.105988 0.995585\nv 0.016551 0.117654 -0.018678\nvn 3.695942 -4.091042 -5.655515\nv -0.036215 0.117344 -0.019240\nvn 3.546155 -3.065169 -0.658122\nv 0.017582 0.119214 -0.019180\nvn 3.991586 -1.190058 -2.571225\nv 0.063162 0.119467 -0.019554\nvn 1.887078 -1.929732 -4.189559\nv -0.034219 0.118903 -0.019229\nvn -4.839826 -0.376767 -0.343981\nv 0.030592 0.119541 -0.018976\nvn -4.342004 -1.996216 0.032403\nv 0.030110 0.121568 -0.018985\nvn 4.361174 -3.826045 0.997873\nv 0.019340 0.121139 -0.018628\nvn 4.713063 -1.396630 -4.709430\nv 0.064266 0.121502 -0.019061\nvn 0.843567 -2.252882 -4.194336\nv -0.030665 0.121929 -0.019920\nvn 0.876842 -2.993358 -3.853557\nv -0.030894 0.121023 -0.019207\nvn -1.792389 1.252296 -3.239818\nv -0.019221 0.121515 -0.019559\nvn -3.528344 1.267191 -5.739456\nv -0.019293 0.123303 -0.018992\nvn 3.817854 -5.563714 1.571322\nv 0.020424 0.122006 -0.018985\nvn -3.851669 -5.527609 -0.387715\nv 0.028791 0.122962 -0.018991\nvn 3.797401 -1.160625 -4.296157\nv 0.064539 0.123158 -0.019210\nvn -3.898076 3.008172 -3.384470\nv -0.064441 0.123960 -0.019145\nvn 0.876868 -5.794063 0.351934\nv 0.024635 0.123703 -0.019124\nvn -3.018074 0.548222 -3.904751\nv -0.018064 0.124074 -0.019881\nvn -1.141247 -5.745981 0.235568\nv 0.026909 0.123643 -0.018945\nvn 5.082115 -4.119686 -0.147008\nv -0.026464 0.125143 -0.018794\nvn 3.236163 -3.063184 1.922879\nv -0.025269 0.125934 -0.019212\nvn 3.022784 -0.918769 -3.751114\nv 0.064799 0.124914 -0.019530\nvn -0.826766 0.185086 -2.774775\nv 0.070930 0.125292 -0.019866\nvn -3.143211 0.134003 -5.005805\nv -0.017991 0.125962 -0.019861\nvn -1.813946 1.480559 -1.800914\nv -0.062612 0.126111 -0.019485\nvn 6.529176 -0.689992 3.010743\nv -0.024896 0.127863 -0.018962\nvn -4.956079 3.548096 -3.401631\nv -0.062266 0.127434 -0.018584\nvn -1.841754 0.106160 -3.417369\nv -0.018027 0.127669 -0.019897\nvn 2.028222 -0.986433 -5.408684\nv 0.075862 0.127779 -0.019954\nvn -0.914997 0.097294 -0.772707\nv -0.061507 0.127275 -0.019887\nvn -2.569433 2.074162 -2.169825\nv -0.061171 0.128120 -0.019601\nvn -3.464276 -0.229225 -5.973422\nv 0.069831 0.127511 -0.019521\nvn -2.889222 1.037433 -6.037887\nv -0.017870 0.129458 -0.019812\nvn -6.400903 4.921645 -3.771982\nv -0.060542 0.129437 -0.018876\nvn -3.520083 0.276646 -4.841849\nv 0.069691 0.129504 -0.019436\nvn 4.320541 -1.252426 2.846235\nv -0.024787 0.129403 -0.018920\nvn -2.362256 0.444348 -4.330946\nv -0.016310 0.131020 -0.019895\nvn -1.989326 0.496593 -3.406697\nv 0.070527 0.130425 -0.019933\nvn -3.782392 0.549828 -5.826518\nv 0.069888 0.131416 -0.019349\nvn 0.571734 0.160287 -3.946323\nv 0.076127 0.131300 -0.020074\nvn -4.971520 3.914745 -2.974900\nv -0.058845 0.131461 -0.019025\nvn 1.589160 -0.072997 -5.736816\nv 0.077363 0.131314 -0.019836\nvn 2.590898 -0.186005 -4.189318\nv 0.065277 0.132000 -0.019963\nvn 3.079753 -0.496160 -5.036056\nv 0.066335 0.131296 -0.019236\nvn -5.210907 3.695513 -2.835678\nv -0.058061 0.132810 -0.018594\nvn 1.667546 0.352062 -2.350089\nv 0.065277 0.132700 -0.019989\nvn 4.308532 1.069793 -6.494121\nv 0.066445 0.133050 -0.018886\nvn -1.770726 0.883686 -5.493293\nv 0.070923 0.133035 -0.019927\nvn -0.142845 0.923454 -4.895547\nv 0.072310 0.133098 -0.020020\nvn 0.033577 1.088838 -4.867059\nv 0.073926 0.133386 -0.019950\nvn 0.638798 1.306043 -7.809625\nv 0.075806 0.133364 -0.019932\nvn -2.236726 1.498320 -1.323363\nv -0.057226 0.133267 -0.019482\nvn -6.997396 4.253961 -3.701356\nv -0.056358 0.135141 -0.018858\nvn 2.890217 0.558976 -4.031085\nv 0.064806 0.134949 -0.019728\nvn -5.122032 2.155615 -0.916024\nv -0.016212 0.135098 -0.018924\nvn -4.843781 2.741467 -2.208212\nv -0.054708 0.137532 -0.019212\nvn -4.992424 4.583787 1.711702\nv -0.014816 0.137356 -0.018834\nvn 4.697282 1.424343 -4.654305\nv 0.064771 0.137244 -0.019621\nvn 3.608464 -0.633025 3.348254\nv -0.023491 0.137374 -0.019417\nvn -7.458285 3.684563 -3.282328\nv -0.053955 0.139322 -0.018917\nvn -4.660912 2.700428 3.443927\nv -0.012550 0.139467 -0.018809\nvn 6.312912 4.579059 -3.162196\nv 0.064226 0.139008 -0.018721\nvn 1.639116 -7.114617 2.699686\nv -0.068280 0.139547 -0.018812\nvn -1.697021 -3.017138 -2.755900\nv -0.069338 0.139875 -0.019757\nvn 1.174572 -2.844506 2.246111\nv -0.066572 0.139915 -0.019259\nvn 1.881237 1.120376 -1.917344\nv 0.063007 0.139972 -0.019126\nvn -3.251305 1.698156 -1.542790\nv -0.053290 0.140108 -0.019600\nvn -2.658065 -1.197556 -3.841121\nv -0.070685 0.141227 -0.019484\nvn 3.226447 -3.618078 5.047882\nv -0.064554 0.141562 -0.019339\nvn -6.842850 2.881472 -2.266080\nv -0.052713 0.141472 -0.019006\nvn 1.807443 1.297736 -1.907328\nv 0.061777 0.140575 -0.020007\nvn -4.241323 1.796373 1.024704\nv -0.012094 0.141245 -0.019166\nvn 5.307199 -0.904805 2.471432\nv -0.022878 0.141449 -0.019117\nvn -5.033233 4.044461 3.061173\nv -0.011037 0.142919 -0.018850\nvn 6.695648 1.731920 -6.467428\nv 0.062561 0.141211 -0.019031\nvn 2.641307 0.803717 -2.705731\nv 0.061777 0.142325 -0.019930\nvn 5.809746 4.590102 -3.081024\nv 0.062267 0.143227 -0.018840\nvn -4.888523 1.210070 -7.413773\nv -0.070711 0.143415 -0.019339\nvn 6.536166 -0.828529 2.307080\nv -0.022798 0.143100 -0.018576\nvn 1.669958 1.429247 -1.902642\nv 0.061211 0.143731 -0.019639\nvn -2.034965 0.828651 -3.331890\nv -0.069411 0.144829 -0.019848\nvn 1.182875 -6.548949 3.555794\nv -0.060343 0.144791 -0.018818\nvn 5.760753 2.727308 -2.345320\nv 0.060536 0.145129 -0.018797\nvn -2.429047 3.530890 1.875130\nv -0.010309 0.144409 -0.019183\nvn 1.124279 -7.462804 1.844708\nv -0.058055 0.144711 -0.019046\nvn -0.829104 3.944814 2.191712\nv -0.008996 0.144623 -0.019439\nvn 0.000000 0.000000 0.000000\nv 0.059677 0.144745 -0.019863\nvn -2.872038 -5.833642 -0.627020\nv -0.054267 0.144904 -0.018971\nvn -4.125826 3.632372 4.857609\nv -0.007127 0.144890 -0.018698\nvn 7.259407 0.293272 2.861856\nv -0.022360 0.147028 -0.018949\nvn 2.800595 0.568704 -2.663645\nv 0.059677 0.146265 -0.019801\nvn -4.868840 2.704407 3.648804\nv -0.006364 0.147014 -0.019080\nvn 3.718663 2.228135 -1.614156\nv 0.060018 0.146929 -0.019045\nvn 3.359256 4.226148 -0.217674\nv 0.058968 0.147941 -0.018824\nvn -4.005077 4.401762 6.675781\nv -0.004892 0.149251 -0.019105\nvn 0.322846 0.978087 -0.651390\nv 0.057927 0.148347 -0.019887\nvn 6.670428 -0.505824 2.411428\nv -0.022501 0.148983 -0.018868\nvn -1.441665 1.320335 -1.892693\nv -0.068858 0.149786 -0.019501\nvn 4.566926 1.571245 0.238047\nv 0.056871 0.149771 -0.018592\nvn -4.859519 7.112897 -3.570658\nv -0.067759 0.151138 -0.018816\nvn 5.585219 0.885569 1.862143\nv -0.022587 0.151352 -0.019114\nvn 3.407737 3.082694 -1.134038\nv 0.056671 0.151244 -0.018876\nvn -0.501979 3.569220 4.032684\nv -0.002633 0.150761 -0.019699\nvn -3.851490 2.703670 5.342090\nv -0.001012 0.151246 -0.019085\nvn -2.434473 6.352005 -0.740723\nv -0.065613 0.152190 -0.019216\nvn 2.502850 5.635203 0.224850\nv 0.054308 0.152560 -0.018649\nvn -3.662781 2.687631 3.519093\nv -0.000319 0.152842 -0.019305\nvn 2.918748 3.366054 3.477303\nv 0.052597 0.153055 -0.018697\nvn -1.795193 6.664030 0.753263\nv -0.062464 0.153155 -0.019120\nvn 5.493083 1.245054 1.960557\nv -0.023033 0.153046 -0.018765\nvn -5.210630 3.486905 0.977579\nv -0.058248 0.154843 -0.018909\nvn 6.343050 1.495468 2.259282\nv -0.023476 0.154886 -0.018748\nvn 4.124728 2.870269 0.558583\nv 0.051989 0.155227 -0.019200\nvn -0.375993 2.733668 3.434067\nv 0.001091 0.154664 -0.019470\nvn -4.245816 4.655890 5.276501\nv 0.005132 0.154795 -0.018925\nvn 1.878219 -5.460675 3.724167\nv -0.064131 0.156581 -0.019140\nvn 0.571156 -5.557867 1.463709\nv -0.066121 0.155889 -0.019457\nvn -5.768041 -3.249768 2.862609\nv -0.058067 0.157143 -0.018995\nvn -0.696668 -3.199707 -1.788909\nv -0.070664 0.156202 -0.019560\nvn -0.572622 -6.491663 -0.333704\nv -0.069548 0.156004 -0.018788\nvn -2.676592 2.293189 1.363534\nv 0.005626 0.156246 -0.019537\nvn 1.633217 3.727439 1.785541\nv 0.050361 0.156475 -0.019155\nvn 5.310361 1.805715 1.659852\nv -0.024119 0.156958 -0.018988\nvn -2.635691 3.365676 4.338103\nv 0.006854 0.156806 -0.019035\nvn 0.724484 5.515003 1.209587\nv 0.048377 0.156652 -0.018782\nvn 1.123232 1.749115 3.022674\nv 0.009522 0.157165 -0.019875\nvn -0.216252 2.992229 3.886095\nv 0.010193 0.157220 -0.019881\nvn -1.631299 -1.777535 1.437337\nv -0.060181 0.157756 -0.019545\nvn 1.374607 4.026958 4.142673\nv 0.046241 0.156815 -0.018777\nvn 3.349667 2.743098 2.414634\nv 0.046024 0.158364 -0.019461\nvn -3.138335 -7.715993 -4.774113\nv -0.074123 0.157092 -0.018635\nvn -1.145524 -1.982571 -1.936136\nv -0.074653 0.158279 -0.019506\nvn -0.704756 1.832685 2.438687\nv 0.007643 0.158157 -0.019357\nvn -1.412078 3.717643 5.588971\nv 0.011135 0.156870 -0.019370\nvn -2.634884 -4.866926 -4.270246\nv -0.076260 0.158603 -0.018937\nvn 4.486537 1.012031 1.460976\nv -0.024856 0.159066 -0.018840\nvn 1.084429 2.715390 2.891591\nv 0.008559 0.158424 -0.019598\nvn 0.199063 3.325495 5.871429\nv 0.016545 0.158322 -0.019476\nvn -1.545377 1.927058 2.891430\nv 0.013102 0.158942 -0.019448\nvn -0.488187 1.916760 2.215790\nv 0.018637 0.159739 -0.019874\nvn 1.662909 1.835603 4.170712\nv 0.023067 0.159871 -0.019841\nvn 0.056896 2.421221 3.141589\nv 0.023907 0.159665 -0.019817\nvn -0.762129 4.615123 2.868457\nv 0.040753 0.158910 -0.018920\nvn 1.047608 3.227304 2.531621\nv 0.044471 0.158828 -0.018800\nvn -2.451049 -3.668115 -3.824995\nv -0.077961 0.159233 -0.018645\nvn 2.026779 2.693536 4.405912\nv 0.015761 0.159942 -0.019835\nvn -2.022749 4.448035 6.212617\nv 0.019020 0.159029 -0.019253\nvn -1.105573 4.547359 5.082197\nv 0.025027 0.158873 -0.018983\nvn 1.690339 4.137177 6.867985\nv 0.038578 0.158936 -0.018919\nvn 6.731190 2.609942 2.529507\nv -0.025244 0.161027 -0.018869\nvn 1.145896 2.398652 1.957671\nv 0.038352 0.161051 -0.019436\nvn 0.065609 1.287746 1.416723\nv 0.014877 0.160673 -0.019729\nvn -0.496122 2.350332 4.095700\nv 0.021020 0.160618 -0.019413\nvn -0.988463 2.530298 2.810729\nv 0.026655 0.160485 -0.019408\nvn -0.338712 4.345539 3.291545\nv 0.032742 0.160297 -0.019418\nvn 1.241892 1.931059 3.137162\nv 0.030314 0.161152 -0.019641\nvn -0.933384 3.457353 3.006901\nv 0.034389 0.160553 -0.019098\nvn 1.067296 2.481021 3.435808\nv 0.022209 0.161080 -0.019655\nvn -0.215605 4.550571 6.194703\nv 0.028726 0.160842 -0.019197\nvn 0.066419 5.461816 4.206796\nv 0.036350 0.160974 -0.019103\nvn -1.339556 5.586107 -6.502234\nv -0.072228 0.163073 -0.019171\nvn -0.936341 1.861137 -1.868300\nv -0.071573 0.162275 -0.019964\nvn -1.075608 1.781962 -1.940086\nv -0.070794 0.163491 -0.019234\nvn 3.173359 0.990813 2.083644\nv -0.025558 0.162676 -0.019445\nvn 6.731430 2.195954 3.104415\nv -0.026058 0.163249 -0.018840\nvn -6.030876 4.220500 -5.653090\nv -0.070148 0.164800 -0.018721\nvn 6.209427 1.819139 2.091635\nv -0.026603 0.164708 -0.018748\nvn -5.175131 0.970991 -4.051845\nv -0.068764 0.167123 -0.019213\nvn 5.540808 2.202006 3.269668\nv -0.027060 0.166807 -0.019009\nvn -1.899174 -0.832732 -1.823139\nv -0.068745 0.168691 -0.019352\nvn 2.817473 1.500468 2.380080\nv -0.027458 0.168558 -0.019387\nvn 0.760324 0.308093 0.614272\nv -0.027744 0.169625 -0.019887\nvn -4.532169 -3.100768 -5.398183\nv -0.070008 0.169183 -0.018610\nvn -2.247725 -2.693495 -1.718918\nv -0.070458 0.170431 -0.019295\nvn 3.569601 2.753364 2.057810\nv -0.029158 0.170494 -0.018864\nvn -6.228261 -4.886142 -3.114594\nv -0.071538 0.170995 -0.018615\nvn -3.096539 -2.292196 -0.651554\nv -0.072916 0.172594 -0.019060\nvn -5.233438 -0.783266 -2.292624\nv -0.073400 0.173387 -0.018962\nvn 5.724705 5.126055 1.785932\nv -0.030914 0.172685 -0.019045\nvn -2.578376 4.292466 -3.194786\nv -0.072346 0.175107 -0.018836\nvn 5.892189 1.705013 1.592995\nv -0.032411 0.174693 -0.018944\nvn -1.892640 6.790411 -3.469303\nv -0.070297 0.175280 -0.018947\nvn -2.279912 6.837811 -2.918419\nv -0.068166 0.176302 -0.018935\nvn 4.867413 -3.390108 1.942123\nv -0.032079 0.176461 -0.018667\nvn -2.000284 6.192979 -2.038720\nv -0.064312 0.176591 -0.018947\nvn 2.483134 -4.316900 2.745316\nv -0.030535 0.177209 -0.019216\nvn -2.278299 4.192311 -1.376952\nv -0.062754 0.177475 -0.018904\nvn 2.782502 -3.233141 2.430077\nv -0.029459 0.177731 -0.019630\nvn -1.729592 4.454908 -1.305326\nv -0.061744 0.178139 -0.018489\nvn -1.215209 4.603597 -1.470620\nv -0.060195 0.178531 -0.018748\nvn 3.732189 -3.512647 4.607246\nv -0.028839 0.178996 -0.019099\nvn -1.269623 7.365723 -2.749322\nv -0.058068 0.178960 -0.018808\nvn -0.801876 5.427681 -2.426496\nv -0.056383 0.179165 -0.018930\nvn -0.929657 8.123083 -3.439038\nv -0.050538 0.180115 -0.018919\nvn -0.316163 2.531575 -1.473113\nv -0.049348 0.179767 -0.019883\nvn -1.863298 6.196738 -1.956210\nv -0.048220 0.180231 -0.018924\nvn -2.526363 2.773048 -0.802011\nv -0.046877 0.180951 -0.019046\nvn 2.846038 -2.393558 4.581995\nv -0.026986 0.180613 -0.019344\nvn -4.793495 3.279875 -0.789443\nv -0.045766 0.182740 -0.018630\nvn 1.854454 -0.320606 4.584498\nv -0.024892 0.182931 -0.019644\nvn -4.227905 2.463082 -0.271452\nv -0.045288 0.183468 -0.018535\nvn -5.290424 2.514245 -0.355149\nv -0.044723 0.184617 -0.018718\nvn -6.971922 3.443114 0.174645\nv -0.043836 0.186558 -0.019094\nvn 0.832209 1.431032 0.980198\nv -0.026073 0.185662 -0.019887\nvn 0.936264 5.685555 1.099762\nv -0.032639 0.185824 -0.019080\nvn 0.086569 5.677007 1.538911\nv -0.030817 0.185773 -0.019482\nvn 0.631745 4.815751 3.171996\nv -0.028878 0.185772 -0.019613\nvn 2.906919 6.558398 1.961541\nv -0.034571 0.186267 -0.018870\nvn 4.314238 3.186149 1.233195\nv -0.035883 0.187201 -0.018612\nvn 4.719452 0.817403 0.383026\nv -0.036211 0.188337 -0.018996\nvn -5.173525 2.588571 1.122240\nv -0.042882 0.188407 -0.018680\nvn -6.418216 3.958469 1.217455\nv -0.041975 0.190307 -0.019068\nvn 7.028732 -0.124421 4.595560\nv -0.036340 0.190632 -0.018540\nvn 3.745743 -1.338803 2.190009\nv -0.035523 0.191452 -0.019464\nvn -5.121880 4.832698 2.706732\nv -0.040321 0.192398 -0.018915\nvn 3.790483 -0.319938 4.263229\nv -0.035281 0.192875 -0.019430\nvn -1.779066 3.783417 3.275711\nv -0.038216 0.194356 -0.019231\nvn 1.351672 0.380274 2.552092\nv -0.034937 0.194300 -0.019637\nvn 0.834476 3.214435 5.140729\nv -0.036284 0.194628 -0.019189\nvn -0.201442 -4.933891 0.186499\nv -0.038323 0.053301 -0.019188\nvn 0.732347 -4.794072 -0.870617\nv -0.027402 0.053108 -0.018702\nvn 0.000000 0.000000 0.000000\nv 0.027827 0.053347 -0.019389\nvn -0.178042 -3.905743 -0.722954\nv -0.046080 0.053499 -0.018457\nvn -0.212776 -5.878421 -0.889690\nv -0.044599 0.053435 -0.018468\nvn -0.236283 -8.753628 -0.961667\nv -0.042360 0.053390 -0.018723\nvn 1.936539 -4.363098 -3.596769\nv 0.040605 0.054359 -0.018738\nvn 4.217796 -2.334079 -4.037986\nv 0.065987 0.054596 -0.018628\nvn -0.980917 -4.425199 -2.081469\nv -0.054580 0.054457 -0.018805\nvn -1.145071 -4.893468 -3.193491\nv -0.056024 0.054899 -0.018919\nvn -2.402688 -5.135305 -1.844879\nv 0.022633 0.055126 -0.018401\nvn 5.170794 -6.068540 -4.001150\nv -0.020800 0.055993 -0.018907\nvn 2.241134 0.802395 -1.825658\nv 0.064927 0.056420 -0.019537\nvn 3.253774 -5.208655 -5.039984\nv 0.044104 0.056363 -0.018652\nvn -0.433717 -5.782453 3.500338\nv -0.078048 0.058875 -0.019337\nvn -1.214141 0.233643 6.738414\nv -0.086014 0.060232 -0.019406\nvn -0.566792 -3.086247 2.276619\nv -0.079755 0.059057 -0.019348\nvn 4.787680 -5.420488 -3.372436\nv -0.017199 0.058833 -0.018622\nvn -2.832642 0.504529 6.837661\nv -0.083974 0.062268 -0.019124\nvn 4.625378 -4.166672 -3.094413\nv -0.012438 0.064094 -0.019047\nvn 2.707365 1.681873 -2.409829\nv 0.059048 0.066634 -0.019500\nvn -6.358918 -2.401831 -1.446738\nv 0.013560 0.066170 -0.018758\nvn -3.610347 0.438738 -5.340851\nv -0.076066 0.069943 -0.019181\nvn -2.473726 -1.076958 -4.206928\nv -0.076357 0.071961 -0.019497\nvn -5.879853 -0.097855 -1.150745\nv 0.012204 0.074210 -0.018692\nvn 4.499630 5.179616 1.207806\nv 0.052359 0.074449 -0.018860\nvn -5.881764 0.101176 -1.139799\nv 0.012184 0.076224 -0.018628\nvn -5.279815 -1.226195 -5.845589\nv -0.079665 0.077989 -0.018838\nvn 4.727889 4.067113 2.994577\nv 0.046545 0.079811 -0.018527\nvn -5.855043 0.883638 -0.878755\nv 0.012737 0.081890 -0.018803\nvn -2.505382 -0.504114 -3.050125\nv -0.080306 0.081527 -0.019121\nvn -2.768082 -0.543861 -4.078625\nv -0.079623 0.082475 -0.019799\nvn -5.170690 0.017096 -6.069510\nv -0.080316 0.084021 -0.019279\nvn -4.836701 0.853730 -0.877721\nv 0.013099 0.083668 -0.019099\nvn 5.162631 -2.723213 -1.375097\nv 0.001711 0.085416 -0.018877\nvn -6.735394 1.484900 -1.064023\nv 0.013453 0.086015 -0.018632\nvn 0.547307 5.245816 -2.753755\nv -0.044506 0.089181 -0.018838\nvn -5.329553 0.269981 -5.925739\nv -0.080291 0.089300 -0.019152\nvn 4.236386 -2.297229 -1.294597\nv 0.003691 0.089519 -0.019283\nvn 2.283082 1.038986 -3.104572\nv -0.051794 0.093972 -0.019135\nvn -5.430285 5.341635 -2.381687\nv -0.034282 0.093560 -0.018631\nvn -4.528709 1.149968 -5.183735\nv -0.079870 0.094128 -0.018608\nvn -2.768371 0.854069 -4.068579\nv -0.078486 0.094489 -0.019556\nvn 3.572441 -1.426979 -1.091358\nv 0.005944 0.094746 -0.019769\nvn 2.480198 -1.638257 -0.307821\nv 0.050949 0.095075 -0.019537\nvn -2.150791 0.637685 -3.306913\nv -0.078537 0.095891 -0.019226\nvn 3.589865 -0.961221 -5.879459\nv -0.052215 0.097701 -0.019178\nvn 6.450395 -2.299262 -1.048121\nv 0.007488 0.097666 -0.018921\nvn 1.759066 -1.219277 -1.009584\nv 0.053507 0.098430 -0.018883\nvn -3.102198 1.285664 -4.943259\nv -0.078071 0.099725 -0.018810\nvn 3.091369 -1.354220 -4.940200\nv -0.052010 0.099447 -0.019505\nvn 4.632405 -1.727511 -0.620694\nv 0.008146 0.099681 -0.019106\nvn -2.644367 0.962369 -4.130484\nv -0.076471 0.102039 -0.019183\nvn 3.841181 -2.239172 -5.356601\nv -0.050259 0.101507 -0.018979\nvn 4.917396 -3.175439 -1.276635\nv 0.055908 0.101909 -0.018833\nvn 1.932142 -1.523628 -3.150984\nv -0.050923 0.102425 -0.019792\nvn -3.957281 1.323189 -6.803720\nv -0.075930 0.103853 -0.019119\nvn -2.809040 1.279067 -5.126297\nv -0.074846 0.106026 -0.019365\nvn 1.579005 -1.259068 -2.181042\nv -0.047598 0.105488 -0.019555\nvn 5.996778 -4.653433 -6.415745\nv -0.046409 0.105999 -0.018897\nvn -3.330520 1.957278 -5.816960\nv -0.074002 0.107720 -0.019275\nvn 2.677999 -3.085775 -2.876849\nv -0.042924 0.109953 -0.018721\nvn -6.074980 3.249629 -1.019123\nv 0.027306 0.111206 -0.018838\nvn 2.320056 -2.218511 -2.364351\nv -0.042071 0.111157 -0.019214\nvn -4.366901 2.288673 -0.700016\nv 0.027835 0.112174 -0.018937\nvn 3.664542 -3.152775 -3.534858\nv -0.041022 0.111882 -0.018701\nvn -5.267353 2.785259 -0.380900\nv 0.028477 0.113444 -0.018760\nvn -4.039858 3.099517 -6.149495\nv -0.069718 0.115799 -0.019210\nvn -3.712767 2.215553 -4.132191\nv -0.068043 0.119465 -0.018712\nvn -4.353726 0.478893 -5.375422\nv -0.020817 0.119526 -0.018978\nvn -3.638702 2.597676 -3.901706\nv -0.066428 0.121442 -0.019124\nvn 1.639305 -3.179811 -5.716497\nv -0.032332 0.121010 -0.019324\nvn 3.624490 -3.363547 -3.833839\nv -0.028998 0.121363 -0.018966\nvn -4.250874 3.361449 -4.344198\nv -0.065821 0.122836 -0.018644\nvn 4.295262 -2.781468 -2.314046\nv -0.028198 0.123148 -0.019046\nvn -1.835668 -1.556084 -8.580484\nv 0.070429 0.123283 -0.019495\nvn 0.430853 -1.365036 -4.736077\nv 0.072230 0.123235 -0.019618\nvn 1.972020 -5.344694 1.517781\nv 0.022616 0.123300 -0.018891\nvn -0.041952 -0.828978 -3.884492\nv 0.071927 0.124125 -0.019860\nvn 1.913210 -1.922187 -5.317360\nv 0.073955 0.123425 -0.019239\nvn -4.538541 0.457708 -4.881374\nv -0.018995 0.125631 -0.019041\nvn 0.909497 -0.840910 -4.725439\nv 0.073589 0.124825 -0.019845\nvn 2.124290 -1.667898 -6.232775\nv 0.074740 0.124941 -0.019549\nvn 5.627174 -3.088921 -7.037216\nv 0.076022 0.125527 -0.019056\nvn -2.288466 0.257327 -6.492942\nv 0.069450 0.125486 -0.019301\nvn 1.330781 -0.211942 -2.380860\nv 0.075077 0.126225 -0.019832\nvn 2.146849 -1.164792 -3.086192\nv 0.076505 0.127244 -0.019478\nvn 2.565008 0.422943 -6.281688\nv 0.066239 0.127400 -0.019079\nvn -5.910285 1.113091 -4.343153\nv -0.018986 0.127659 -0.019039\nvn 5.142677 -3.206221 -6.399513\nv 0.077922 0.127728 -0.018596\nvn 2.124555 -1.227341 -4.265563\nv 0.078047 0.129384 -0.019312\nvn -4.072932 0.711709 -1.643027\nv -0.018953 0.129535 -0.019033\nvn 2.212516 -0.165661 -3.245055\nv 0.064927 0.129900 -0.019718\nvn -4.273060 2.690633 -1.103380\nv -0.018701 0.131437 -0.018525\nvn -2.540168 1.550607 -4.917176\nv -0.017375 0.131500 -0.019483\nvn 4.743787 -1.472620 4.698396\nv -0.024658 0.131357 -0.018942\nvn 2.271632 -0.561224 -4.346629\nv 0.078540 0.131105 -0.019396\nvn 2.559489 -0.860651 2.734388\nv -0.023381 0.131759 -0.019711\nvn -5.631275 3.059120 -0.919422\nv -0.016847 0.133108 -0.018746\nvn 2.343379 0.559069 -7.530343\nv 0.078398 0.133611 -0.019416\nvn -2.250583 0.396582 -3.249606\nv 0.069842 0.133506 -0.019257\nvn 2.712812 -0.354200 2.845594\nv -0.023306 0.133575 -0.019604\nvn 4.128491 1.757861 -4.832124\nv 0.066302 0.134988 -0.018614\nvn -2.917926 1.492098 -6.016188\nv 0.070175 0.135114 -0.019136\nvn -0.580959 2.576578 -7.523521\nv 0.072054 0.135347 -0.019383\nvn -0.060163 1.846624 -5.702590\nv 0.074079 0.135625 -0.019310\nvn 0.516526 0.878272 -3.838189\nv 0.076477 0.134275 -0.019704\nvn 1.177551 1.698592 -5.614708\nv 0.078097 0.135083 -0.019182\nvn 5.666495 -1.259263 3.682808\nv -0.023300 0.139680 -0.018941\nvn 3.419190 -4.381730 5.722920\nv -0.065915 0.141300 -0.018650\nvn 2.189558 -3.070577 3.229953\nv -0.064219 0.143057 -0.018448\nvn 2.943307 -4.429985 4.262787\nv -0.062583 0.143694 -0.019067\nvn -5.076508 -1.881720 -1.288262\nv -0.052538 0.143071 -0.018994\nvn -3.164711 1.395782 -4.893276\nv -0.070125 0.145489 -0.019180\nvn 4.713166 -0.399793 1.579388\nv -0.022507 0.144992 -0.018854\nvn -0.229384 -4.765666 -0.109845\nv -0.055912 0.145244 -0.018562\nvn -3.912683 0.757004 -5.715500\nv -0.070068 0.147175 -0.018805\nvn 0.000000 -0.000000 0.000000\nv -0.068549 0.147108 -0.019698\nvn 2.839056 4.286548 0.961215\nv 0.057829 0.148815 -0.018618\nvn -4.755842 2.540033 -5.430643\nv -0.070110 0.148898 -0.018668\nvn -1.270766 1.975348 4.292228\nv -0.002730 0.149309 -0.019102\nvn -0.785779 2.551461 2.508009\nv -0.003984 0.150699 -0.019604\nvn -1.795858 3.394151 -0.770941\nv -0.066666 0.151740 -0.019077\nvn -1.297205 4.776830 0.253743\nv -0.064138 0.152702 -0.018942\nvn 1.358570 2.587344 0.935356\nv 0.055675 0.152222 -0.018466\nvn -0.552699 2.809759 4.846390\nv 0.002899 0.153199 -0.019243\nvn -0.857236 2.310384 5.216121\nv 0.000962 0.153101 -0.018854\nvn -0.499395 -5.827968 -0.289006\nv -0.067867 0.155976 -0.019507\nvn 1.063820 3.166638 6.869976\nv 0.008655 0.156449 -0.019198\nvn -1.222308 -5.272640 -0.909761\nv -0.072156 0.156420 -0.018879\nvn 1.282797 -3.787751 2.894962\nv -0.062490 0.156891 -0.019585\nvn 1.845082 5.214301 7.516817\nv 0.022473 0.158818 -0.019074\nvn -0.621752 2.497723 5.785816\nv 0.014521 0.159028 -0.019228\nvn 0.867191 3.929063 4.799500\nv 0.042557 0.158802 -0.018482\nvn -1.201072 4.329487 6.452493\nv 0.026681 0.159232 -0.018658\nvn 0.743148 4.710443 7.269946\nv 0.030796 0.159008 -0.018925\nvn -2.959017 1.431012 -7.449089\nv -0.078229 0.160989 -0.019274\nvn -0.886590 1.630030 -2.351909\nv -0.076683 0.161726 -0.019392\nvn -0.417031 2.349352 -3.181326\nv -0.074119 0.163104 -0.019154\nvn -2.624107 0.841149 -1.091365\nv -0.073527 0.174535 -0.018709\nvn -0.399886 4.696842 -1.630738\nv -0.065816 0.176531 -0.018892\nvn -0.811963 5.335101 -2.606394\nv -0.054105 0.179376 -0.019174\nvn -0.873435 5.209047 -2.832821\nv -0.052410 0.179575 -0.019414\nvn 2.028792 -1.897839 2.807427\nv -0.027638 0.179624 -0.019468\nvn 2.551615 -1.951087 4.998132\nv -0.025665 0.181628 -0.019635\nvn 1.961836 1.598801 3.909838\nv -0.025351 0.184625 -0.019578\nvn 1.421659 3.131413 5.774225\nv -0.027015 0.184776 -0.019205\nvn 2.323020 -3.996610 -3.800756\nv 0.042418 0.054920 -0.018426\nvn 5.499559 2.285592 -5.163316\nv 0.065986 0.056065 -0.018386\nvn -2.587226 -5.805553 -4.733553\nv -0.062211 0.056443 -0.018562\nvn 3.549210 3.359435 -3.447721\nv 0.061987 0.064061 -0.018440\nvn 2.034270 -1.642236 -1.385685\nv -0.011564 0.064863 -0.018771\nvn -3.792240 -1.501009 -5.672154\nv -0.077845 0.072282 -0.018661\nvn -4.486915 -1.745192 -6.371963\nv -0.078330 0.074288 -0.018868\nvn 3.508045 -1.671826 -0.912671\nv 0.000202 0.082055 -0.018461\nvn -2.771647 0.144803 -2.865615\nv -0.080245 0.086195 -0.019130\nvn -4.210316 -0.024388 -4.259153\nv -0.080303 0.087795 -0.019073\nvn 5.189252 -2.607191 -1.485679\nv 0.003163 0.088026 -0.018703\nvn 4.200982 -2.330856 -1.347574\nv 0.004379 0.090251 -0.018571\nvn 0.000000 0.000000 -0.000000\nv -0.037273 0.090715 -0.019188\nvn 7.260657 -2.969298 -1.294047\nv 0.006803 0.095993 -0.018621\nvn 3.812722 -1.316818 -4.412182\nv -0.050517 0.099643 -0.018475\nvn 5.291736 -4.793473 -6.943079\nv -0.048062 0.103642 -0.018573\nvn -4.861951 2.073730 -2.777305\nv -0.026046 0.105773 -0.018234\nvn -3.437296 1.333966 -4.695848\nv -0.076160 0.106082 -0.018571\nvn -4.027400 1.746531 -2.353037\nv -0.025533 0.106214 -0.018783\nvn 3.786654 -2.949586 -3.591506\nv -0.044802 0.107695 -0.018552\nvn -4.682964 2.301642 -5.986722\nv -0.072137 0.113366 -0.018706\nvn 2.131804 -3.487513 -5.330256\nv -0.034387 0.117413 -0.018625\nvn 3.898856 -4.228997 -6.410542\nv -0.032388 0.119397 -0.018483\nvn 3.907299 -1.221494 -5.564045\nv 0.064192 0.119610 -0.018615\nvn -3.498939 2.160153 -5.911281\nv -0.020707 0.121720 -0.019018\nvn 0.599769 -2.116324 -6.523964\nv 0.072129 0.121326 -0.019104\nvn -0.741500 -1.084209 -3.728394\nv 0.069981 0.121546 -0.019041\nvn 1.957120 -1.204283 -6.297140\nv 0.066049 0.125368 -0.019053\nvn -4.143981 3.036367 -3.044725\nv -0.063718 0.125578 -0.018528\nvn 2.854548 0.050816 -5.141631\nv 0.066033 0.129435 -0.018988\nvn 3.712695 -1.375456 -5.607138\nv 0.079900 0.131254 -0.018584\nvn 5.386687 -0.740489 5.521268\nv -0.024493 0.133083 -0.018765\nvn 2.135662 -0.334383 -4.447707\nv 0.079881 0.133100 -0.018880\nvn 5.367724 -0.748267 4.161230\nv -0.024550 0.134998 -0.018470\nvn 3.649644 -0.366263 3.382531\nv -0.023623 0.135325 -0.019374\nvn 0.385115 1.871307 -5.660420\nv 0.075865 0.135803 -0.019282\nvn 3.192252 1.561402 -1.490234\nv 0.065727 0.136975 -0.018583\nvn -1.376983 -5.139607 -2.606965\nv -0.070120 0.139446 -0.018645\nvn -1.884140 4.412734 1.197922\nv -0.060168 0.153635 -0.018819\nvn -0.291883 3.455638 4.518441\nv 0.009064 0.155125 -0.018732\nvn -1.595106 4.006189 3.764517\nv 0.010663 0.155398 -0.018679\nvn -2.873503 3.832354 6.056319\nv 0.012688 0.157012 -0.018770\nvn -0.838389 4.688818 3.312266\nv 0.016689 0.157131 -0.018603\nvn -2.982611 5.374611 -7.699080\nv -0.075928 0.162958 -0.018776\nvn 4.781874 2.635539 2.250487\nv -0.028330 0.169153 -0.018702\nvn 3.793269 2.857088 1.372701\nv -0.030048 0.171366 -0.018393\nvn 2.627900 -0.351974 6.336242\nv -0.026635 0.182720 -0.018945\nvn 1.313116 2.630304 3.924845\nv -0.028885 0.184832 -0.018674\nvn 1.311858 5.246592 4.170949\nv -0.030610 0.185171 -0.018431\nvn -0.426436 -5.969350 -0.124872\nv 0.060727 0.053989 -0.018838\nvn -0.103036 -4.968836 -0.320203\nv 0.062827 0.053824 -0.018838\nvn -0.682823 -6.965462 -0.051746\nv 0.058539 0.054231 -0.018313\nvn -1.395599 -5.862148 -3.438173\nv -0.057968 0.054715 -0.018267\nvn 1.858038 -2.052772 -1.139117\nv -0.019696 0.056773 -0.018418\nvn 1.701694 -3.562263 -3.066628\nv 0.046134 0.057108 -0.018369\nvn -1.189428 -2.571951 -2.810291\nv -0.066131 0.058363 -0.018241\nvn -1.635405 -4.063552 6.528111\nv -0.079871 0.060182 -0.018441\nvn -1.254818 -3.493823 4.581475\nv -0.078111 0.060016 -0.018166\nvn -0.466254 -5.725995 3.723658\nv -0.076064 0.059575 -0.018246\nvn 0.270778 -3.704551 1.460048\nv -0.074265 0.059592 -0.018223\nvn -1.734704 -4.953014 -4.513364\nv -0.067660 0.058864 -0.018122\nvn 3.513574 -2.859541 -2.110085\nv -0.015417 0.060729 -0.018564\nvn 3.566727 1.516996 -3.121444\nv 0.063665 0.062094 -0.018300\nvn 3.093865 -3.403825 -1.951890\nv -0.013001 0.063173 -0.018423\nvn -2.052545 0.881209 5.432140\nv -0.081998 0.064433 -0.018219\nvn -3.283654 3.197816 5.777833\nv -0.080043 0.066273 -0.018403\nvn 3.512898 2.617289 -2.212521\nv 0.059440 0.067439 -0.018487\nvn 2.200683 -1.663763 -1.090953\nv -0.003855 0.074758 -0.018607\nvn -3.792397 -1.068375 -4.512792\nv -0.079951 0.076374 -0.018155\nvn 3.480224 -1.649849 -1.073831\nv -0.001534 0.078441 -0.018157\nvn -4.810261 -0.824896 -4.966565\nv -0.081270 0.082163 -0.018387\nvn -4.686116 0.415060 -5.172445\nv -0.081130 0.085607 -0.018405\nvn 0.000000 0.000000 0.000000\nv 0.013804 0.087290 -0.018826\nvn 2.311683 3.027190 -3.204704\nv -0.048875 0.091370 -0.018186\nvn 5.484845 -2.182360 -0.909310\nv 0.005756 0.093087 -0.018209\nvn -5.276580 2.707509 -0.643781\nv 0.016191 0.093584 -0.018545\nvn 4.126900 1.808829 -5.313266\nv -0.050694 0.093802 -0.018361\nvn 4.539348 -1.749003 -1.045334\nv 0.006060 0.094114 -0.018673\nvn -4.981118 0.900109 -6.148236\nv -0.079851 0.096053 -0.018260\nvn -3.349074 2.105271 -0.395012\nv 0.017861 0.096471 -0.018771\nvn -3.890023 2.409074 -1.972914\nv -0.029822 0.099075 -0.018195\nvn -3.888890 1.419046 -5.619232\nv -0.077858 0.101598 -0.018401\nvn 2.916961 -2.019017 -3.497951\nv -0.048847 0.102056 -0.018153\nvn 2.487355 -1.432131 -0.871910\nv 0.057495 0.104417 -0.018662\nvn -4.300071 2.638649 -6.159745\nv -0.076009 0.107660 -0.018123\nvn -3.317249 2.108601 -0.663951\nv 0.024989 0.107139 -0.018469\nvn 4.864727 -2.676352 -2.218936\nv 0.059473 0.107822 -0.018399\nvn -4.390074 2.690061 -6.063570\nv -0.073896 0.109499 -0.018587\nvn 4.802575 -5.037287 -7.034643\nv -0.038864 0.113633 -0.018328\nvn -2.902607 1.945651 -3.525924\nv -0.071634 0.115224 -0.018281\nvn -3.236117 0.893207 -4.916257\nv -0.022640 0.115884 -0.018098\nvn 3.509377 -4.338758 -5.626256\nv -0.036596 0.115874 -0.018368\nvn -2.158143 1.514306 -2.996423\nv -0.069880 0.117431 -0.018276\nvn 3.394015 -2.589087 -4.718673\nv 0.063819 0.117575 -0.018311\nvn -2.602281 1.911374 -2.312238\nv -0.067588 0.121141 -0.018147\nvn 3.708054 -2.324813 -6.506559\nv 0.074270 0.121502 -0.018431\nvn -3.706390 2.941885 -4.589732\nv -0.020914 0.123449 -0.018365\nvn 1.842092 -3.289650 1.334594\nv 0.021268 0.122670 -0.018542\nvn -1.345945 -1.035494 -6.689470\nv 0.068081 0.123344 -0.018749\nvn 3.151131 -1.988431 0.036920\nv -0.027084 0.124070 -0.018415\nvn 3.509398 -2.040414 -4.251496\nv 0.075423 0.123572 -0.018536\nvn -0.149392 0.016603 -4.876890\nv 0.067874 0.125285 -0.018840\nvn -0.884111 0.541287 -4.641201\nv 0.068286 0.127617 -0.018684\nvn -0.855907 0.558534 -5.304259\nv 0.068134 0.129500 -0.018249\nvn 3.660580 -1.976133 -4.228601\nv 0.079647 0.129691 -0.018254\nvn -2.127634 1.673045 -1.287228\nv -0.059748 0.130837 -0.018278\nvn 2.221885 1.089826 -6.465244\nv 0.079987 0.135111 -0.018681\nvn -3.924841 2.598754 -1.607638\nv -0.055689 0.136763 -0.018235\nvn -1.416054 3.142629 -6.919121\nv 0.070234 0.137106 -0.018464\nvn 5.059889 -0.978798 2.850109\nv -0.024286 0.137205 -0.018369\nvn -0.348942 2.302799 -4.414077\nv 0.072300 0.137497 -0.018468\nvn -0.419582 2.765875 -6.376517\nv 0.073747 0.137325 -0.018670\nvn 0.215248 1.826860 -4.629793\nv 0.075705 0.137233 -0.018758\nvn -1.291233 1.365092 2.313927\nv -0.013027 0.137640 -0.018150\nvn 4.531339 -1.355598 1.588945\nv -0.023838 0.139097 -0.018137\nvn -1.188411 -2.477187 -1.928006\nv -0.071959 0.139715 -0.018212\nvn -3.280894 -1.317101 -5.783677\nv -0.072192 0.141167 -0.018541\nvn -3.266658 1.961501 -1.037847\nv -0.053626 0.140626 -0.018200\nvn -3.283099 1.621385 3.331396\nv -0.011271 0.141351 -0.018144\nvn -3.707256 1.129116 -5.777986\nv -0.072081 0.143106 -0.018505\nvn -1.406648 3.369449 5.784495\nv -0.008973 0.143094 -0.018436\nvn -3.976135 1.504035 -5.550536\nv -0.071604 0.144982 -0.018269\nvn 1.013642 -3.191816 1.442639\nv -0.062041 0.144767 -0.018331\nvn -1.511992 2.623343 4.951115\nv -0.004858 0.147592 -0.018283\nvn -3.135019 2.468948 5.671836\nv -0.000959 0.149731 -0.018418\nvn -2.613494 2.973149 4.425612\nv 0.004746 0.153124 -0.018358\nvn 0.000000 0.000000 0.000000\nv -0.059179 0.153990 -0.018751\nvn 0.601968 -5.167003 2.601951\nv -0.067974 0.156247 -0.018190\nvn 1.547126 -4.998863 4.550572\nv -0.066034 0.156633 -0.018257\nvn 1.291101 2.262847 6.265394\nv 0.044326 0.156778 -0.018331\nvn -1.254291 -1.871941 1.547614\nv -0.058386 0.158389 -0.018211\nvn -0.553622 4.646460 4.627251\nv 0.014601 0.156812 -0.018296\nvn -1.287318 3.803281 4.285741\nv 0.018738 0.157708 -0.018474\nvn -1.333532 -6.150049 5.260711\nv -0.060200 0.158514 -0.018673\nvn -1.632809 -2.952686 -2.131305\nv -0.075854 0.157771 -0.018233\nvn 0.612924 1.969351 1.531442\nv 0.022860 0.157696 -0.018312\nvn -0.705264 4.489144 3.597488\nv 0.024485 0.157846 -0.018246\nvn -1.178756 2.847252 4.358779\nv 0.020783 0.158928 -0.018689\nvn -0.950551 3.412387 4.814808\nv 0.032733 0.158874 -0.018460\nvn -1.801809 -2.015815 -2.713189\nv -0.079354 0.159636 -0.018205\nvn 0.402085 1.911862 3.419790\nv 0.029076 0.159142 -0.018536\nvn -2.234231 -1.475681 -4.688416\nv -0.079899 0.160932 -0.018620\nvn 3.504436 1.433807 1.013268\nv -0.025688 0.161600 -0.018344\nvn -3.613849 -0.393502 -5.715343\nv -0.069938 0.166923 -0.018206\nvn 3.055254 2.313176 0.872620\nv -0.031828 0.173448 -0.018470\nvn -1.231461 2.558310 -0.928735\nv -0.069455 0.175909 -0.018488\nvn 1.730799 -2.114537 2.768563\nv -0.030466 0.178390 -0.018187\nvn 4.123574 -1.965975 7.636779\nv -0.028681 0.180900 -0.018266\nvn -0.889947 5.513806 -2.147724\nv -0.052766 0.180105 -0.018165\nvn -1.970758 1.476699 1.469013\nv -0.041065 0.191216 -0.018319\nvn 2.076900 1.063436 5.111633\nv -0.036576 0.192826 -0.018581\nvn -0.052215 2.511181 4.909281\nv -0.038527 0.192807 -0.018191\nvn -0.917409 -2.478791 -1.394219\nv -0.059322 0.055164 -0.018288\nvn 1.895020 -3.059742 -1.670157\nv -0.021461 0.055139 -0.018350\nvn -1.600818 -0.669343 4.638966\nv -0.081950 0.062320 -0.018295\nvn -5.304482 -0.670063 -6.805341\nv -0.077942 0.070276 -0.018102\nvn -2.642314 0.088997 -2.978241\nv -0.081023 0.083875 -0.018722\nvn -4.024134 -0.081006 -4.443070\nv -0.081268 0.087618 -0.018181\nvn -3.359853 0.676233 -3.625231\nv -0.081150 0.090026 -0.018355\nvn 4.179700 0.075676 -5.550672\nv -0.050950 0.096070 -0.018124\nvn -2.971622 0.608195 -3.955631\nv -0.079604 0.097662 -0.018248\nvn 2.943781 -0.835129 -3.939699\nv -0.050894 0.098049 -0.018328\nvn -3.504827 1.316257 -4.659098\nv -0.079281 0.099357 -0.018114\nvn -2.754395 0.998512 -4.060728\nv -0.077549 0.103566 -0.018059\nvn 1.804262 -1.493938 -1.854147\nv -0.046855 0.104650 -0.018325\nvn -1.872246 0.876944 -2.126459\nv -0.073101 0.110942 -0.018559\nvn 2.515338 -2.095320 -3.581363\nv -0.032704 0.117817 -0.018116\nvn -1.164015 -2.205357 -6.497863\nv 0.069977 0.119634 -0.018321\nvn 1.132490 -2.579756 -7.327307\nv 0.072194 0.119261 -0.018327\nvn 1.562898 -3.757989 -2.725485\nv -0.030522 0.120062 -0.018236\nvn -2.289204 -2.456402 -7.083983\nv 0.068016 0.121178 -0.018269\nvn 1.101385 -1.063493 -4.403708\nv 0.066098 0.123052 -0.018242\nvn 2.573381 -1.721219 -2.498436\nv 0.077203 0.126057 -0.018208\nvn 1.624356 -0.388267 2.203689\nv -0.025800 0.127398 -0.018091\nvn 0.030672 0.207245 -5.980292\nv 0.068079 0.131216 -0.018147\nvn -1.115299 0.795928 -5.852839\nv 0.068390 0.133254 -0.018087\nvn 3.145419 -0.687577 -4.974741\nv 0.081287 0.133247 -0.018113\nvn 2.627997 0.238326 -5.253466\nv 0.081592 0.135056 -0.018089\nvn 0.968787 2.199798 -5.494549\nv 0.077853 0.137325 -0.018393\nvn 1.231401 -1.847471 2.017493\nv -0.067328 0.140743 -0.018293\nvn 3.459428 -4.033267 4.282395\nv -0.065540 0.142478 -0.018039\nvn -1.495033 1.919280 2.925059\nv -0.007682 0.142944 -0.018133\nvn -1.507369 3.260060 5.663924\nv -0.002988 0.147624 -0.018304\nvn -2.078033 2.558823 -1.943321\nv -0.069324 0.150412 -0.018289\nvn -1.213250 3.332323 4.510630\nv 0.003087 0.151779 -0.018360\nvn 1.888521 1.127859 4.435142\nv 0.050799 0.153359 -0.018020\nvn 2.408344 2.279021 4.801798\nv 0.050575 0.155153 -0.018172\nvn -0.299604 3.968215 5.224579\nv 0.006990 0.154779 -0.018097\nvn 1.250009 -3.381378 3.449224\nv -0.062291 0.158167 -0.018466\nvn 0.167971 2.043923 4.958719\nv 0.036153 0.159020 -0.018235\nvn -0.050146 2.696664 5.205573\nv 0.034697 0.159129 -0.018185\nvn -1.184226 3.118637 -3.654463\nv -0.078057 0.162739 -0.018061\nvn -0.153700 4.522552 -5.217082\nv -0.074240 0.164494 -0.018099\nvn 2.555378 1.064721 6.321750\nv -0.028542 0.183094 -0.018152\nvn 0.707691 3.303779 1.957825\nv -0.032455 0.185488 -0.018207\nvn 0.211440 -3.666992 1.357999\nv -0.034823 0.053369 -0.018137\nvn -1.221539 -1.909221 -1.964527\nv -0.063523 0.056925 -0.018234\nvn 3.070979 1.214594 -2.249027\nv 0.065431 0.057776 -0.018136\nvn -5.876888 3.613616 0.731596\nv 0.026408 0.109727 -0.017009\nvn -6.174160 3.125660 0.773427\nv 0.028731 0.113864 -0.017216\nvn 5.101192 -2.812589 1.377841\nv 0.013308 0.113473 -0.016802\nvn -2.484661 0.574524 -4.211801\nv -0.022135 0.117733 -0.018007\nvn -0.677106 -1.431119 -4.717809\nv 0.070567 0.118245 -0.017989\nvn 5.202880 -4.174662 2.080666\nv 0.017143 0.119177 -0.016413\nvn -1.799354 0.315160 -2.303888\nv -0.021861 0.119575 -0.018137\nvn 0.974482 -1.077095 -2.560817\nv 0.073725 0.119696 -0.018100\nvn -0.831010 -0.882836 -2.734918\nv 0.068420 0.119889 -0.018013\nvn 2.636476 -2.732780 0.502868\nv -0.029148 0.120101 -0.017265\nvn 5.350986 -3.024920 3.441191\nv -0.028687 0.121536 -0.016826\nvn 1.458645 -1.925689 -7.003532\nv 0.066035 0.121631 -0.018019\nvn -2.900470 0.997567 -3.078953\nv -0.022102 0.121368 -0.018024\nvn -6.038860 3.392788 -1.532806\nv -0.023092 0.121166 -0.016774\nvn 3.940567 -1.795713 1.331998\nv -0.028065 0.122836 -0.016843\nvn -2.538635 1.008068 -2.598572\nv -0.021829 0.122660 -0.018172\nvn -4.692455 3.641679 -0.052164\nv -0.022304 0.123370 -0.016865\nvn 3.093039 -4.708556 1.974196\nv 0.020885 0.123096 -0.017007\nvn 4.966482 -0.957664 2.992250\nv -0.027378 0.123963 -0.017688\nvn -3.375749 0.364368 -1.761164\nv -0.019851 0.126475 -0.018094\nvn -3.440317 1.506815 -0.267997\nv -0.019955 0.126896 -0.017299\nvn -5.743006 2.653510 3.031860\nv -0.019300 0.127839 -0.016671\nvn -3.723911 1.508394 2.761323\nv -0.018926 0.129184 -0.016891\nvn -2.058613 1.244095 -3.178218\nv 0.068797 0.135762 -0.018137\nvn 1.385068 2.527738 -6.378238\nv 0.079770 0.137193 -0.018065\nvn 0.758748 3.579830 -8.192989\nv 0.076231 0.138844 -0.018034\nvn -0.401507 1.852624 -4.528008\nv 0.074202 0.138927 -0.018066\nvn -4.581792 1.538049 -0.788494\nv -0.053135 0.141886 -0.016701\nvn 2.427375 -0.248675 -1.138998\nv 0.063469 0.141800 -0.018137\nvn 3.965000 1.050897 -1.694759\nv 0.063416 0.142325 -0.018137\nvn -2.709744 -5.030216 -0.956771\nv -0.054414 0.144519 -0.017279\nvn 1.350532 -4.326913 0.729908\nv -0.062428 0.145019 -0.017075\nvn 0.267784 -6.906219 0.208109\nv -0.060375 0.145122 -0.016669\nvn -1.723207 1.932053 2.772702\nv -0.001452 0.148049 -0.018057\nvn -1.774420 3.157065 5.737098\nv 0.000823 0.151307 -0.018081\nvn -1.042751 5.754674 0.992409\nv -0.064309 0.152418 -0.016850\nvn -1.451625 4.651988 0.589980\nv -0.060088 0.153083 -0.016740\nvn -5.139999 2.597323 -0.900176\nv -0.058076 0.155003 -0.016714\nvn -1.258754 1.914949 1.694336\nv 0.012118 0.155625 -0.018162\nvn 1.224838 -7.047103 4.802160\nv -0.070501 0.156744 -0.016819\nvn 0.416874 2.212179 3.073151\nv 0.038064 0.157516 -0.018137\nvn -5.553557 -4.753572 3.982257\nv -0.058191 0.158920 -0.017026\nvn -2.622018 0.055232 -4.849276\nv -0.081501 0.161358 -0.018039\nvn -1.173155 2.980425 -4.751961\nv -0.080057 0.162238 -0.018182\nvn -0.833454 1.515857 -2.252125\nv -0.075790 0.164309 -0.018078\nvn 0.000000 0.000000 0.000000\nv -0.071923 0.164045 -0.018137\nvn -0.860243 5.529015 -2.134052\nv -0.054422 0.179916 -0.017912\nvn -1.379692 -5.529466 1.651288\nv -0.030800 0.053174 -0.017187\nvn 0.913314 -5.882178 -0.468789\nv -0.026365 0.053083 -0.016713\nvn -1.701028 -6.541613 -1.466914\nv 0.026728 0.053069 -0.016979\nvn 0.221442 -5.943935 -0.247462\nv 0.036402 0.052811 -0.016956\nvn 0.644022 -5.689576 -1.406839\nv 0.038579 0.052971 -0.016920\nvn 0.056594 -6.704467 -0.543726\nv -0.046080 0.053376 -0.016782\nvn 0.044288 -2.886254 -0.008884\nv -0.042873 0.053323 -0.017787\nvn 0.510666 -6.552109 1.910659\nv -0.040686 0.053605 -0.016851\nvn -0.304365 -3.668900 1.369116\nv -0.033388 0.053410 -0.017787\nvn -0.961938 -6.302356 2.700375\nv -0.032613 0.053928 -0.016666\nvn 1.895687 -6.634943 -1.067129\nv -0.024641 0.053501 -0.016833\nvn 0.000000 0.000000 0.000000\nv 0.026134 0.053425 -0.017721\nvn -0.681110 -5.720519 -1.533245\nv -0.054201 0.053595 -0.016859\nvn 0.506756 -6.442884 2.436109\nv -0.038635 0.053698 -0.017055\nvn 0.103456 -6.307096 2.969631\nv -0.036398 0.054146 -0.016630\nvn -0.162725 -5.354707 2.433219\nv -0.034337 0.054175 -0.016624\nvn -0.824783 -5.482243 -2.163264\nv -0.056008 0.053863 -0.017068\nvn 1.082580 -4.250537 -2.313718\nv 0.040913 0.053501 -0.017399\nvn 1.860461 -4.672287 -3.194845\nv 0.042655 0.053891 -0.017041\nvn 0.117504 -5.979109 -0.239269\nv 0.064381 0.053780 -0.017204\nvn 1.791556 -5.329985 -1.404634\nv 0.066353 0.053944 -0.017036\nvn 1.596148 -4.620215 -0.930999\nv -0.022428 0.054220 -0.017094\nvn -2.228002 -5.279643 -1.754271\nv 0.024476 0.053741 -0.016517\nvn -0.579312 -6.973851 -0.078162\nv 0.059780 0.054089 -0.016628\nvn -2.163616 -7.043015 -2.925589\nv -0.060119 0.054775 -0.016888\nvn 3.677023 -6.725637 -1.963989\nv -0.020796 0.054811 -0.016566\nvn -2.889614 -6.057328 -1.846322\nv 0.022912 0.054552 -0.016729\nvn -1.306830 -4.798266 -0.200040\nv 0.054359 0.054694 -0.016730\nvn -1.138279 -7.893285 -0.271342\nv 0.056002 0.054423 -0.016825\nvn 3.138966 -2.409248 -2.527744\nv 0.067744 0.054572 -0.016592\nvn 3.221997 -5.285294 -4.963651\nv 0.044330 0.054590 -0.016784\nvn 2.345368 -2.822355 -1.437707\nv -0.020073 0.055613 -0.017437\nvn 1.582410 -2.560300 -2.556931\nv 0.044636 0.055655 -0.017459\nvn -2.017471 -4.534926 -0.279335\nv 0.053105 0.055112 -0.016759\nvn 4.295610 1.405937 -4.995537\nv 0.068105 0.056232 -0.016641\nvn -0.811811 -2.387340 -1.608731\nv -0.062900 0.055860 -0.017427\nvn -3.706972 -5.612555 -1.706862\nv 0.020594 0.055772 -0.016886\nvn -3.020426 -5.171580 -0.241551\nv 0.052259 0.055598 -0.016677\nvn 5.505808 -6.290088 -3.170849\nv -0.018799 0.056482 -0.016617\nvn 2.517075 -4.697152 -4.509081\nv 0.046457 0.056024 -0.016963\nvn 1.637943 1.317207 -2.138578\nv 0.066617 0.056758 -0.017500\nvn -3.072601 -6.871509 -4.743670\nv -0.064354 0.055997 -0.016785\nvn -1.865933 -5.321557 -1.279074\nv 0.050673 0.056564 -0.016749\nvn -1.061985 -4.399924 -1.614754\nv 0.049406 0.057306 -0.017647\nvn 3.532229 2.146986 -4.231076\nv 0.066298 0.058218 -0.016810\nvn -1.543361 -3.260864 -3.437753\nv -0.066101 0.057448 -0.017514\nvn 0.974576 -4.842802 -3.059066\nv 0.048039 0.057375 -0.017608\nvn 2.235696 -2.900307 -1.608449\nv -0.017848 0.057798 -0.017613\nvn -5.338095 -4.303689 -1.314542\nv 0.018262 0.057962 -0.016626\nvn 4.714482 -5.829772 -2.729381\nv -0.017024 0.058008 -0.016831\nvn -2.802507 -5.078285 -3.818788\nv -0.068374 0.058014 -0.016850\nvn -2.578788 -5.492734 -3.429323\nv -0.069801 0.058461 -0.016481\nvn 6.612611 3.015434 -5.856000\nv 0.065738 0.060078 -0.016596\nvn -1.151322 -4.425126 -1.464845\nv -0.070711 0.059417 -0.017358\nvn -2.003906 -5.302798 -1.355361\nv -0.072531 0.059661 -0.016760\nvn 3.969910 -3.707710 -2.497006\nv -0.015867 0.059462 -0.017627\nvn -7.777534 -5.779344 -2.138657\nv 0.016729 0.059969 -0.017077\nvn -1.118375 -5.384387 1.004196\nv -0.074211 0.060221 -0.016545\nvn 3.639377 1.081160 -3.215688\nv 0.064888 0.060859 -0.017425\nvn -3.343528 -5.273314 3.664783\nv -0.075904 0.060739 -0.016904\nvn 5.883184 -4.739542 -2.545122\nv -0.014789 0.060133 -0.016597\nvn -1.337107 -1.017838 4.629289\nv -0.080518 0.062023 -0.017871\nvn -2.182467 -0.953309 5.305119\nv -0.079685 0.062429 -0.017581\nvn 3.511726 -3.044398 -1.796042\nv -0.014036 0.061522 -0.017258\nvn 3.869326 2.304956 -3.801915\nv 0.064414 0.062513 -0.017418\nvn 4.517543 -4.827852 -2.247900\nv -0.012892 0.062479 -0.016867\nvn -6.822948 -3.721315 -1.506643\nv 0.015089 0.062350 -0.016829\nvn -2.119620 0.733129 6.517115\nv -0.080393 0.064300 -0.017804\nvn 2.609924 -2.663122 -1.414647\nv -0.012236 0.063411 -0.017613\nvn -5.329088 -2.641477 -0.662958\nv 0.014175 0.064220 -0.016906\nvn 2.415831 2.542947 -1.862644\nv 0.062660 0.064692 -0.016994\nvn -2.882344 0.405392 3.594273\nv -0.079573 0.064248 -0.017554\nvn 7.143487 -6.151647 -3.229308\nv -0.011036 0.064268 -0.016779\nvn -3.050226 1.473811 3.021658\nv -0.079169 0.065657 -0.017647\nvn 3.529409 3.527203 -1.488177\nv 0.061688 0.066047 -0.016659\nvn 2.265696 -1.623594 -1.062401\nv -0.010304 0.065572 -0.017437\nvn -1.225463 -0.262660 0.875340\nv -0.078913 0.066358 -0.017799\nvn 1.078165 1.107698 0.593659\nv 0.060917 0.066774 -0.016758\nvn -7.452120 -1.663443 -0.142953\nv -0.078710 0.066222 -0.016570\nvn -5.629499 -1.927062 -0.372345\nv 0.013283 0.066055 -0.016684\nvn -4.616438 0.650250 -1.965534\nv -0.078646 0.067941 -0.017077\nvn 5.419130 -3.889003 -2.064890\nv -0.009481 0.066325 -0.016606\nvn 3.134351 2.844193 -0.611683\nv 0.060112 0.067677 -0.016823\nvn 4.465607 -3.676197 -1.553602\nv -0.008621 0.067534 -0.016779\nvn 3.810226 4.407668 -0.983988\nv 0.058914 0.068748 -0.016831\nvn 3.619707 -3.116059 -1.438521\nv -0.007561 0.068732 -0.016858\nvn -2.819116 -0.628121 -2.733901\nv -0.078741 0.069533 -0.017253\nvn 4.484226 5.234518 -0.274574\nv 0.057816 0.069672 -0.016991\nvn -7.813411 -1.538871 -0.454284\nv 0.012356 0.070031 -0.016887\nvn -2.429800 -0.964071 -2.996737\nv -0.078884 0.071158 -0.017691\nvn -4.378622 -1.735552 -5.150301\nv -0.079942 0.071908 -0.017005\nvn -4.943564 -0.413319 -0.437448\nv 0.012044 0.072072 -0.017140\nvn 2.622941 2.999863 0.224477\nv 0.055628 0.071431 -0.017306\nvn 4.261500 5.437839 0.765453\nv 0.054448 0.072325 -0.016945\nvn -2.850788 -1.204456 -3.917530\nv -0.079273 0.072675 -0.017800\nvn 4.891100 -3.128104 -1.438174\nv -0.005021 0.072202 -0.016665\nvn -1.714733 -0.588610 -2.387298\nv -0.079273 0.073550 -0.018039\nvn 4.901917 7.170506 1.878560\nv 0.052473 0.073743 -0.016782\nvn 3.951741 -2.845622 -1.077711\nv -0.004155 0.073519 -0.016686\nvn -6.963312 -0.151573 -0.468321\nv 0.011966 0.074215 -0.017041\nvn 5.464105 -4.022990 -1.630007\nv -0.003466 0.074459 -0.016893\nvn 4.117004 4.994515 2.526393\nv 0.050822 0.074881 -0.016762\nvn 4.770817 -2.891273 -1.812912\nv -0.002528 0.075976 -0.017262\nvn 3.574046 4.214346 2.287660\nv 0.048461 0.076616 -0.016499\nvn 6.778181 -3.272325 -2.299999\nv -0.001587 0.077516 -0.016923\nvn -3.442137 -0.580619 -3.571100\nv -0.080793 0.077467 -0.017602\nvn 3.012705 3.261584 2.295194\nv 0.047752 0.077749 -0.017282\nvn -5.780558 -1.518828 -5.282655\nv -0.081992 0.080002 -0.016861\nvn 5.248846 3.983628 1.596420\nv 0.046865 0.078090 -0.016602\nvn 6.221189 -2.892786 -1.327731\nv -0.000523 0.079891 -0.016909\nvn 5.462786 2.035663 0.382741\nv 0.045825 0.080044 -0.016725\nvn -2.871664 -0.918055 -2.612979\nv -0.081451 0.080725 -0.017787\nvn 4.904611 0.554673 -0.291841\nv 0.045481 0.081775 -0.016621\nvn -3.848167 -0.550615 -3.158198\nv -0.082371 0.081779 -0.017016\nvn 5.279376 -2.596760 -1.102695\nv 0.000451 0.081769 -0.016841\nvn 4.806557 0.584043 -0.503058\nv 0.045344 0.082477 -0.017380\nvn 7.145000 -3.360735 -1.168944\nv 0.001318 0.083832 -0.016873\nvn -7.828314 1.419679 0.021535\nv 0.012891 0.083918 -0.016569\nvn 6.616325 -1.824785 -1.295058\nv 0.045984 0.085772 -0.016480\nvn -6.146489 -0.835354 -5.510647\nv -0.082398 0.086127 -0.017139\nvn 6.013724 -3.361396 -1.159104\nv 0.002612 0.086229 -0.017020\nvn -2.734254 -0.129665 -2.911445\nv -0.082332 0.087680 -0.017268\nvn 6.175764 -3.064128 -0.977195\nv 0.003607 0.087900 -0.016681\nvn 5.272354 -2.643515 -0.822423\nv 0.004456 0.089745 -0.017152\nvn -4.799909 0.295252 -5.033172\nv -0.082381 0.089560 -0.017308\nvn 0.802570 5.197932 -2.801157\nv -0.044336 0.090077 -0.017231\nvn -0.749444 5.883569 -2.870387\nv -0.042630 0.090126 -0.016796\nvn -0.374926 6.346921 -3.111609\nv -0.040578 0.090175 -0.017052\nvn 5.079902 -3.013731 -0.830911\nv 0.047542 0.090126 -0.017208\nvn 2.570822 6.007999 -4.464231\nv -0.046140 0.090554 -0.017274\nvn -2.990561 6.382957 -3.570652\nv -0.038376 0.091126 -0.016586\nvn -2.787962 0.696722 -2.782232\nv -0.081260 0.091898 -0.017787\nvn 5.063708 4.383892 -5.805763\nv -0.048075 0.092182 -0.016878\nvn -3.778050 4.299297 -2.187187\nv -0.036624 0.092055 -0.016738\nvn 5.275667 -4.032061 -1.744027\nv 0.048748 0.091857 -0.016422\nvn -6.334551 2.821238 0.424469\nv 0.015292 0.091754 -0.016672\nvn 5.265071 -4.256488 -1.376471\nv 0.050227 0.093674 -0.016744\nvn -6.275377 1.784480 -6.169972\nv -0.082144 0.091866 -0.016920\nvn -3.483712 0.715509 -3.509556\nv -0.080851 0.094031 -0.017656\nvn 3.252871 1.048862 -3.588425\nv -0.049762 0.094101 -0.017492\nvn -4.143783 3.878039 -2.141271\nv -0.034685 0.093824 -0.016898\nvn 3.246656 -2.287264 -0.462500\nv 0.050990 0.094833 -0.017247\nvn -6.061854 4.914333 -4.209595\nv -0.032742 0.095989 -0.016913\nvn -5.920545 3.575426 0.619054\nv 0.017434 0.095794 -0.017080\nvn 5.328379 -4.020633 -1.854443\nv 0.051825 0.095875 -0.016790\nvn -4.096294 2.735340 -3.240679\nv -0.030878 0.098136 -0.017300\nvn 4.433909 -3.628339 -1.637593\nv 0.053083 0.097422 -0.016810\nvn -3.358593 0.756763 -3.596813\nv -0.080519 0.097787 -0.017485\nvn 4.676315 -0.762609 -5.113820\nv -0.050057 0.097685 -0.017572\nvn 4.663641 -3.373979 -1.542227\nv 0.053705 0.098191 -0.016810\nvn -4.511069 3.091943 -4.236876\nv -0.030596 0.099441 -0.016600\nvn -4.043077 2.786505 0.588773\nv 0.019620 0.098926 -0.016724\nvn -3.475800 1.169521 -3.382454\nv -0.080473 0.099703 -0.016947\nvn 5.417198 -1.918300 -5.455106\nv -0.048761 0.099641 -0.016735\nvn -3.104392 1.713817 -1.729596\nv -0.029417 0.100348 -0.017379\nvn 7.651615 -2.145389 -0.258418\nv 0.008172 0.099449 -0.016830\nvn -5.323993 2.690157 -3.541799\nv -0.028937 0.101876 -0.017017\nvn 7.404146 -5.320750 -3.736861\nv 0.056373 0.101725 -0.016939\nvn 3.746485 -1.360416 0.096587\nv 0.008741 0.101514 -0.016741\nvn -6.843568 2.256961 -6.760530\nv -0.080023 0.101436 -0.016722\nvn 4.514534 -2.955117 -4.437917\nv -0.047921 0.101625 -0.016967\nvn -5.746583 3.781434 0.579511\nv 0.021107 0.101343 -0.017186\nvn -3.606119 1.318736 -4.604105\nv -0.078407 0.103714 -0.017384\nvn 7.263475 -3.274898 0.571508\nv 0.009521 0.103226 -0.016756\nvn -6.557812 3.502766 -6.410385\nv -0.028439 0.103620 -0.016614\nvn -3.651538 2.176030 -2.435395\nv -0.027208 0.103964 -0.017559\nvn 5.475730 -4.383858 -5.614504\nv -0.046376 0.103787 -0.017040\nvn 3.743580 -1.340952 0.231077\nv 0.010028 0.104259 -0.017175\nvn -0.521529 0.233099 -0.834972\nv -0.077545 0.104793 -0.017788\nvn -4.968337 3.208982 0.543802\nv 0.022719 0.103737 -0.016918\nvn 6.831155 -4.337356 -3.663218\nv 0.058007 0.103992 -0.016575\nvn -3.992551 1.587017 -4.147100\nv -0.077934 0.105746 -0.017194\nvn 2.473767 -1.929160 -2.477902\nv -0.045795 0.105142 -0.017543\nvn 7.671575 -2.160821 0.587058\nv 0.010467 0.106005 -0.016751\nvn 4.573572 -2.835661 -2.555705\nv 0.058653 0.105572 -0.017264\nvn 2.468271 -1.933330 -2.477488\nv -0.045323 0.106275 -0.017931\nvn 5.226056 -4.163459 -6.008931\nv -0.044519 0.105572 -0.016681\nvn -5.210242 1.336871 -4.380734\nv -0.026245 0.107128 -0.017272\nvn -7.605288 4.617484 0.272609\nv 0.025069 0.107519 -0.017028\nvn 5.194921 -3.144258 -3.459692\nv 0.060214 0.107418 -0.016645\nvn 3.544501 -2.889363 -3.865531\nv -0.043901 0.107466 -0.017414\nvn 5.555604 -2.115029 0.715006\nv 0.010976 0.107716 -0.016872\nvn -3.346185 0.718400 -3.592292\nv -0.025594 0.108200 -0.017728\nvn -6.227320 4.149811 -6.456026\nv -0.076023 0.109639 -0.017018\nvn -2.744034 0.954741 -3.954732\nv -0.025615 0.109669 -0.017559\nvn 4.592639 -1.856094 0.623985\nv 0.011647 0.109192 -0.016936\nvn -2.126899 1.518814 -3.024175\nv -0.075073 0.109354 -0.017891\nvn 2.729526 -2.732355 -3.134315\nv -0.042275 0.109309 -0.017391\nvn -2.162750 1.381679 -3.064621\nv -0.074756 0.110115 -0.017749\nvn 5.567929 -2.067594 0.813662\nv 0.012008 0.110121 -0.017240\nvn -4.754753 2.490770 -5.890673\nv -0.074503 0.111606 -0.017299\nvn -3.989678 2.716422 -5.878157\nv -0.024508 0.111493 -0.017344\nvn 6.423969 -2.067097 1.424192\nv 0.012422 0.111482 -0.016879\nvn -6.047421 3.367424 0.589011\nv 0.027303 0.111271 -0.017408\nvn 5.361692 -2.224528 -3.885345\nv 0.062355 0.111643 -0.016790\nvn 0.000000 -0.000000 0.000000\nv 0.061427 0.111700 -0.017961\nvn 4.193482 -2.208007 -3.564192\nv 0.062723 0.113366 -0.017215\nvn -2.574136 1.191550 -2.804230\nv -0.073323 0.112870 -0.017787\nvn 1.693129 -1.658971 -3.180449\nv -0.038117 0.112838 -0.017535\nvn -1.456596 -0.926525 -1.633863\nv -0.023382 0.113538 -0.017527\nvn -6.214296 3.547193 -5.378605\nv -0.073898 0.113511 -0.016875\nvn -2.671624 1.475593 -2.546044\nv -0.072740 0.114558 -0.017635\nvn 1.408217 -1.465796 -2.200566\nv -0.037448 0.114500 -0.018043\nvn 6.603568 -3.969053 2.147865\nv 0.014601 0.115712 -0.016660\nvn 5.302338 -3.886038 -5.659039\nv -0.036456 0.113767 -0.016842\nvn -2.625605 1.418703 0.112645\nv 0.029264 0.115013 -0.017655\nvn -0.000000 0.000000 -0.000000\nv 0.062821 0.114602 -0.017723\nvn -6.992725 4.477620 -5.537366\nv -0.072451 0.116028 -0.016855\nvn 1.301012 -1.582055 -2.123108\nv -0.035828 0.115307 -0.017337\nvn 3.060684 -5.345729 -3.814831\nv -0.034644 0.115362 -0.016786\nvn 1.718927 -0.792598 -2.287486\nv 0.063873 0.116379 -0.017784\nvn -2.305485 1.753330 -2.716088\nv -0.071223 0.116600 -0.017786\nvn 0.793793 -1.692455 -1.973277\nv -0.033951 0.116350 -0.017822\nvn -7.230175 3.188135 0.864713\nv 0.029952 0.116034 -0.016600\nvn 3.510444 -4.519591 -2.620885\nv -0.032664 0.116034 -0.016517\nvn 3.232328 -2.047376 1.161779\nv 0.015583 0.116615 -0.017934\nvn -4.752204 3.620273 -5.247228\nv -0.070671 0.117747 -0.017477\nvn -2.176140 0.585851 -4.423108\nv -0.023005 0.117766 -0.017698\nvn -4.758777 1.320992 0.665896\nv 0.030431 0.117607 -0.016970\nvn 5.199549 -3.254725 -1.956950\nv -0.032050 0.117297 -0.016988\nvn -1.011141 -2.523846 -6.374412\nv 0.070162 0.117163 -0.017551\nvn 1.338609 -2.591466 -6.246501\nv 0.072531 0.117209 -0.017507\nvn 0.044942 -1.429953 -3.683413\nv 0.071489 0.117913 -0.017967\nvn -3.074767 2.167993 -3.254196\nv -0.069385 0.118788 -0.017882\nvn 1.700320 -2.262721 -4.022922\nv 0.066022 0.117347 -0.017072\nvn -4.377998 1.288455 -6.381051\nv -0.022783 0.119536 -0.017439\nvn 1.728468 -1.444906 -7.413601\nv 0.066359 0.119378 -0.017525\nvn 3.357481 -2.343154 -5.528801\nv 0.074474 0.119072 -0.017418\nvn 5.817728 -4.088954 0.776835\nv -0.030502 0.119441 -0.016774\nvn -7.744316 0.066412 1.289948\nv 0.030812 0.119503 -0.016809\nvn -1.862211 -2.220717 -7.395766\nv 0.068219 0.119056 -0.017656\nvn -3.331448 2.316208 -2.904154\nv -0.068902 0.120051 -0.017439\nvn 1.230172 -0.347944 -2.699457\nv 0.065860 0.119925 -0.017790\nvn -4.825156 -2.886725 1.199193\nv 0.030489 0.121478 -0.016651\nvn -6.786499 5.301104 -5.027420\nv -0.068345 0.121646 -0.016654\nvn 4.139369 -3.837386 1.891010\nv 0.018982 0.121701 -0.016560\nvn 0.000000 0.000000 0.000000\nv 0.075077 0.121675 -0.017981\nvn 3.936991 -1.247952 -2.585133\nv 0.075904 0.121314 -0.016824\nvn -3.327220 -5.560090 1.917774\nv 0.028592 0.123290 -0.016826\nvn 6.435984 -2.922958 -3.290456\nv 0.076437 0.123225 -0.016914\nvn -5.251525 4.685904 -3.748863\nv -0.066292 0.123782 -0.016977\nvn 2.376805 -6.055328 2.341151\nv 0.022543 0.124042 -0.016858\nvn 0.293201 -6.503747 2.266912\nv 0.024489 0.124121 -0.017263\nvn -0.896263 -4.373636 1.883203\nv 0.026529 0.123989 -0.016913\nvn -2.395080 2.410417 0.167311\nv -0.021221 0.124333 -0.016841\nvn 2.021794 -1.307217 -1.770280\nv 0.076749 0.124522 -0.017609\nvn -4.862855 3.910157 -3.132002\nv -0.064625 0.125853 -0.016889\nvn -6.804483 2.939862 1.080164\nv -0.020350 0.125304 -0.016919\nvn 3.743309 -0.656610 3.169830\nv -0.027304 0.126074 -0.017548\nvn 5.382179 -5.226188 -5.260783\nv 0.077823 0.125435 -0.016921\nvn 2.417547 -1.811303 -2.613763\nv 0.078601 0.126868 -0.017274\nvn -5.313492 5.047028 -3.065319\nv -0.062782 0.127977 -0.016931\nvn 4.547535 -1.584004 6.071611\nv -0.026740 0.127688 -0.017525\nvn -3.575573 2.956330 -1.832876\nv -0.061430 0.128867 -0.017787\nvn 3.248074 -0.724169 3.719638\nv -0.026573 0.129527 -0.017196\nvn 3.698005 -2.416766 -4.010278\nv 0.080325 0.129214 -0.017231\nvn -3.033020 2.050494 -1.572602\nv -0.061003 0.129882 -0.017121\nvn -5.877329 4.447973 -2.969310\nv -0.060205 0.131333 -0.016954\nvn 7.037294 -2.219021 4.778458\nv -0.026765 0.131220 -0.016714\nvn -1.583766 1.644731 2.264741\nv -0.018771 0.130866 -0.017438\nvn -3.485212 2.959233 4.668282\nv -0.016934 0.131193 -0.017225\nvn 2.183350 -0.761060 -3.253138\nv 0.081027 0.132175 -0.018021\nvn -5.176215 4.225127 -1.841703\nv -0.058389 0.133340 -0.017096\nvn 5.771092 -1.341365 3.133355\nv -0.026201 0.133135 -0.016649\nvn -3.448444 1.337087 3.059625\nv -0.016393 0.132922 -0.017473\nvn 0.000000 0.000000 -0.000000\nv 0.068276 0.133138 -0.017754\nvn 3.050190 -0.607640 2.119521\nv -0.025610 0.133630 -0.017659\nvn 2.865120 -0.919988 -3.966737\nv 0.082169 0.132852 -0.017315\nvn -6.444343 4.251688 -1.789804\nv -0.057570 0.134814 -0.016626\nvn 4.930906 -1.698375 2.583734\nv -0.025353 0.135299 -0.017019\nvn -0.539998 1.861380 -4.880987\nv 0.067770 0.135127 -0.017676\nvn -2.810646 1.495552 1.832421\nv -0.015990 0.134672 -0.017617\nvn -3.176253 2.033404 -1.200719\nv -0.056830 0.135588 -0.017456\nvn -3.181020 3.090131 5.847223\nv -0.014822 0.135284 -0.017139\nvn 7.341237 -2.059423 2.239800\nv -0.024759 0.137376 -0.016741\nvn -1.637431 0.988823 1.280200\nv -0.015652 0.136205 -0.017920\nvn 3.690925 3.779321 1.558486\nv 0.065920 0.137156 -0.017141\nvn -5.254969 4.407634 -3.531661\nv 0.067905 0.137215 -0.016785\nvn -3.330927 3.045497 5.181995\nv -0.012564 0.137126 -0.017531\nvn 1.151881 1.097311 -3.647426\nv 0.081027 0.136725 -0.017932\nvn -4.917392 3.218894 -1.064787\nv -0.055918 0.137080 -0.016580\nvn -4.151587 2.363924 -1.431918\nv -0.054943 0.138207 -0.017686\nvn -1.773508 2.017179 -2.513942\nv 0.069288 0.138142 -0.017643\nvn 0.182685 0.407553 -0.903627\nv 0.080073 0.137779 -0.017771\nvn 0.419054 1.264946 -1.658872\nv 0.070234 0.138358 -0.017831\nvn -0.632730 2.156206 -3.275692\nv 0.072005 0.138420 -0.017911\nvn 0.872433 1.930868 -4.528586\nv 0.077864 0.138482 -0.017883\nvn 4.201369 2.685957 4.027618\nv 0.064071 0.139112 -0.017009\nvn -3.411157 6.642272 -5.370039\nv 0.070358 0.139383 -0.016659\nvn -1.952641 3.599401 -6.753374\nv 0.072351 0.139520 -0.017278\nvn 1.306323 -3.710968 2.288412\nv -0.070441 0.139539 -0.017308\nvn 1.332044 -6.620323 1.796764\nv -0.072176 0.139545 -0.016532\nvn -6.031323 3.236606 -1.324221\nv -0.054640 0.139386 -0.016672\nvn -3.506713 2.306350 5.341515\nv -0.010800 0.139182 -0.016933\nvn -0.547285 1.099730 -2.648342\nv 0.073737 0.139757 -0.017704\nvn 0.541440 1.689962 -3.579791\nv 0.076533 0.139868 -0.017535\nvn -3.112310 -5.239152 -3.961285\nv -0.073862 0.139847 -0.016745\nvn 5.525644 -1.512883 1.742654\nv -0.023658 0.140151 -0.017713\nvn -2.260144 -0.658302 -4.159146\nv -0.073235 0.141363 -0.018010\nvn 3.394924 -4.682438 5.521204\nv -0.068115 0.141312 -0.017297\nvn 5.647248 1.003559 0.749823\nv 0.063482 0.141148 -0.017571\nvn -2.426290 -0.514910 -3.971062\nv -0.074351 0.141288 -0.017458\nvn 1.825278 -2.223143 2.775164\nv -0.066611 0.141864 -0.017765\nvn 6.643102 -1.412628 1.619657\nv -0.023548 0.141466 -0.016854\nvn -1.238311 1.570814 3.263012\nv -0.010347 0.141161 -0.017387\nvn -1.633118 2.931364 4.796563\nv -0.008959 0.141292 -0.017333\nvn -2.038242 0.573626 -3.387008\nv -0.073228 0.142656 -0.017825\nvn 3.310339 1.848502 1.378455\nv 0.063381 0.142593 -0.017651\nvn -5.845783 -2.330072 -0.785295\nv -0.052960 0.143001 -0.017025\nvn -4.344973 3.561249 4.035775\nv -0.006465 0.142855 -0.016910\nvn 2.674208 2.738520 3.516027\nv 0.062302 0.143129 -0.017026\nvn -3.515277 1.414926 -4.623171\nv -0.072675 0.145204 -0.017355\nvn 5.797710 -0.604797 1.393516\nv -0.023083 0.144990 -0.016874\nvn 4.500941 3.590960 5.778769\nv 0.059914 0.145028 -0.017171\nvn 3.207155 -8.058855 3.230086\nv -0.064052 0.144600 -0.016682\nvn -0.413548 -5.893403 0.374072\nv -0.058376 0.144968 -0.017023\nvn -2.696724 2.030350 3.648024\nv -0.006028 0.144442 -0.017553\nvn -2.669865 1.749162 3.815251\nv -0.005754 0.145647 -0.017857\nvn -0.587927 -5.732090 -0.813929\nv -0.056319 0.144971 -0.016709\nvn 3.206921 2.058515 1.752017\nv 0.059994 0.146940 -0.017567\nvn -4.148756 1.166273 -5.470958\nv -0.072087 0.147235 -0.017393\nvn -1.657027 0.492608 -2.438505\nv -0.071376 0.146875 -0.017915\nvn -1.865090 1.555941 3.155182\nv -0.005160 0.146175 -0.017747\nvn -1.625213 2.766360 3.464222\nv -0.002600 0.146611 -0.017594\nvn -3.871419 4.306143 3.604434\nv -0.001066 0.147305 -0.016776\nvn 3.247197 3.900192 5.646547\nv 0.058066 0.147212 -0.016902\nvn -3.627325 2.743575 -3.505784\nv -0.072062 0.148915 -0.016831\nvn -2.300884 1.767349 2.670386\nv -0.000444 0.148875 -0.017690\nvn 1.411750 1.995466 1.666831\nv 0.057532 0.148299 -0.017576\nvn 3.481264 3.357399 5.844193\nv 0.056039 0.148864 -0.017253\nvn -3.341485 4.229162 -2.059006\nv -0.070706 0.149883 -0.017299\nvn 5.870377 0.303974 1.191436\nv -0.022862 0.149137 -0.017100\nvn 2.956220 1.645494 3.078248\nv 0.056010 0.151126 -0.017554\nvn -2.389159 4.267991 -0.817987\nv -0.069770 0.150573 -0.017011\nvn -1.595730 4.603938 0.230798\nv -0.068215 0.151299 -0.016810\nvn -0.520756 1.435002 2.569512\nv 0.001477 0.150669 -0.017634\nvn -2.340993 4.622779 4.279938\nv 0.003035 0.150670 -0.017245\nvn -3.881798 5.613582 3.971400\nv 0.004930 0.151544 -0.016717\nvn 4.851040 0.622766 0.969663\nv -0.023025 0.151314 -0.017050\nvn -2.641865 7.308151 1.054945\nv -0.066404 0.151879 -0.016778\nvn -1.313236 1.817497 1.970382\nv 0.005508 0.152686 -0.017521\nvn 1.635794 3.098202 4.780670\nv 0.050318 0.152499 -0.017427\nvn -3.015083 3.496999 0.066172\nv -0.058770 0.153732 -0.016760\nvn -3.373916 5.142167 4.700169\nv 0.007007 0.153103 -0.016796\nvn 7.299729 1.871238 2.026130\nv -0.023477 0.152909 -0.016577\nvn 3.790129 0.821642 0.866168\nv -0.023678 0.154314 -0.017739\nvn -0.352548 3.203543 2.070573\nv 0.009012 0.154181 -0.017723\nvn -2.307829 5.915872 2.675545\nv 0.011036 0.154666 -0.017202\nvn -2.852089 6.430881 3.227439\nv 0.012778 0.155503 -0.017311\nvn 0.660361 1.678526 3.316530\nv 0.043892 0.155371 -0.017786\nvn 2.953251 5.202853 6.194933\nv 0.042530 0.154810 -0.016856\nvn 0.445285 4.104032 5.407239\nv 0.044397 0.154571 -0.017202\nvn 0.148902 2.908758 5.129299\nv 0.046220 0.154880 -0.017318\nvn 1.544012 1.377429 4.451032\nv 0.049639 0.154970 -0.017706\nvn -5.633119 0.429238 0.964898\nv -0.057607 0.156615 -0.017161\nvn 1.784020 1.623712 4.367760\nv 0.042995 0.156561 -0.017802\nvn 0.993586 4.109795 5.355717\nv 0.048428 0.155935 -0.017884\nvn 0.197667 -5.302976 1.482348\nv -0.072349 0.156532 -0.016657\nvn 5.805471 1.335348 0.524082\nv -0.024346 0.156859 -0.016562\nvn -0.924843 5.500826 2.117355\nv 0.015326 0.156198 -0.016994\nvn -0.389030 -3.716648 0.261633\nv -0.074148 0.156533 -0.016651\nvn 1.574555 -5.493320 5.555738\nv -0.068345 0.157390 -0.016851\nvn -0.866933 5.571331 2.030655\nv 0.017018 0.156475 -0.016829\nvn -1.754603 -6.022120 -1.128570\nv -0.075885 0.156891 -0.016777\nvn -0.985074 5.289649 2.589031\nv 0.018995 0.156815 -0.016920\nvn 0.730894 6.460107 4.840103\nv 0.036639 0.156649 -0.016878\nvn 0.166810 3.996087 4.254793\nv 0.038925 0.156519 -0.017091\nvn 5.762832 1.604038 0.216555\nv -0.024848 0.158939 -0.016832\nvn -1.420387 2.573710 2.065102\nv 0.020477 0.157725 -0.018022\nvn -1.304542 6.424239 3.323312\nv 0.020508 0.156980 -0.016735\nvn 0.524272 6.007166 2.474025\nv 0.022662 0.157202 -0.017095\nvn -0.206184 2.748856 1.097351\nv 0.024758 0.157342 -0.017234\nvn -0.626383 8.659571 4.407795\nv 0.026442 0.157362 -0.016831\nvn 0.045830 3.136639 2.290576\nv 0.030787 0.157708 -0.017793\nvn 0.568770 5.984254 4.866167\nv 0.028968 0.157675 -0.017454\nvn -0.293449 1.567409 2.998112\nv 0.036151 0.157856 -0.017952\nvn -0.054240 3.455405 5.540401\nv 0.040616 0.156686 -0.017219\nvn -0.575542 1.957726 3.005823\nv 0.040894 0.157828 -0.017789\nvn -0.434804 2.788714 2.732868\nv 0.026806 0.158031 -0.017750\nvn -0.290662 4.675383 3.488190\nv 0.032638 0.157537 -0.017342\nvn 0.684711 4.988933 4.472970\nv 0.034672 0.157288 -0.017009\nvn -2.736955 -5.006833 -4.018184\nv -0.078235 0.158381 -0.017276\nvn 1.695591 -3.879045 4.242739\nv -0.064264 0.158822 -0.016978\nvn 0.005371 2.793080 2.809987\nv 0.027671 0.158056 -0.017688\nvn 0.840410 -5.303910 4.373950\nv -0.062094 0.159470 -0.017159\nvn -4.073292 -6.188108 -4.558050\nv -0.079935 0.159028 -0.016813\nvn -0.634391 -3.232467 2.098847\nv -0.059807 0.159480 -0.017287\nvn -1.992332 -3.146092 -3.098751\nv -0.080966 0.160070 -0.017568\nvn -4.123622 -4.377713 -5.470223\nv -0.082378 0.160696 -0.017081\nvn 6.378121 2.626830 0.063867\nv -0.025926 0.161712 -0.016722\nvn -1.485143 4.912745 -6.412549\nv -0.082170 0.163045 -0.016997\nvn -0.785581 2.210288 -2.950105\nv -0.081123 0.162480 -0.017802\nvn -1.190269 5.021494 -4.587709\nv -0.080085 0.163287 -0.016785\nvn 5.669783 1.822298 0.089280\nv -0.026304 0.162920 -0.016565\nvn -2.026610 3.298792 -4.540626\nv -0.078350 0.163418 -0.017391\nvn -1.691450 4.324739 -4.853953\nv -0.076063 0.165324 -0.017145\nvn -0.879832 3.362704 -5.333926\nv -0.072276 0.164950 -0.017305\nvn -0.622604 3.762215 -4.242973\nv -0.074270 0.165453 -0.016987\nvn 4.612250 1.719521 0.675490\nv -0.027419 0.166368 -0.017177\nvn 6.171082 3.055162 0.891204\nv -0.027862 0.167300 -0.016763\nvn -2.817482 0.282529 -5.896377\nv -0.072169 0.166852 -0.017025\nvn -1.875680 -0.481870 -3.439491\nv -0.071120 0.167883 -0.017899\nvn 5.925799 3.556403 0.865221\nv -0.028753 0.168830 -0.016731\nvn -4.777243 0.244774 -4.856203\nv -0.072379 0.168934 -0.017117\nvn -3.296574 -0.819488 -4.580361\nv -0.071281 0.169304 -0.017913\nvn 4.015448 2.724231 1.115223\nv -0.029594 0.170461 -0.017671\nvn -4.961657 -0.002821 -2.563926\nv -0.072312 0.170912 -0.016778\nvn 7.216018 5.268036 0.636374\nv -0.030217 0.171207 -0.016604\nvn -6.111054 -2.625490 -0.467700\nv -0.072712 0.172384 -0.016730\nvn 2.969838 2.613345 0.549696\nv -0.031280 0.172577 -0.017117\nvn -5.558483 -1.832530 0.318646\nv -0.073391 0.173405 -0.016919\nvn 4.679281 3.646836 0.527574\nv -0.032197 0.173629 -0.016764\nvn -5.692472 1.850083 -0.163888\nv -0.073567 0.174799 -0.016785\nvn 4.938548 3.482279 1.662724\nv -0.033132 0.174717 -0.016751\nvn -1.686051 1.595989 -0.769708\nv -0.073046 0.175490 -0.017673\nvn -1.860001 6.390659 -1.869695\nv -0.069893 0.176221 -0.016741\nvn 4.601659 -1.401940 4.481021\nv -0.032684 0.176951 -0.017460\nvn -1.047831 4.735133 -1.050668\nv -0.068161 0.176751 -0.017189\nvn -2.056630 4.901035 -2.577358\nv -0.064387 0.177341 -0.017173\nvn 4.717508 -3.456086 7.739864\nv -0.031026 0.179165 -0.017431\nvn -2.329760 5.903251 -2.837633\nv -0.062146 0.178633 -0.016963\nvn -1.734442 6.250216 -2.606450\nv -0.060177 0.179273 -0.016790\nvn -0.583849 3.637388 -1.544348\nv -0.057573 0.179594 -0.017613\nvn -0.632739 4.631289 -1.763003\nv -0.055648 0.179767 -0.017787\nvn -0.487655 4.830758 -1.123033\nv -0.052361 0.180496 -0.017095\nvn -1.032344 5.743922 -0.761939\nv -0.047858 0.180673 -0.017004\nvn 1.336406 -0.504586 2.630713\nv -0.029740 0.180475 -0.017787\nvn -3.641891 4.471042 0.146040\nv -0.046795 0.181133 -0.016771\nvn 1.588982 -0.007691 3.646813\nv -0.029421 0.182575 -0.017744\nvn 1.842917 2.347290 5.103246\nv -0.030763 0.184179 -0.017618\nvn 1.363048 3.595804 4.401332\nv -0.032569 0.184693 -0.017321\nvn -2.374744 1.578393 0.834921\nv -0.043663 0.186069 -0.017132\nvn 2.236883 2.792183 1.744355\nv -0.035211 0.186061 -0.017447\nvn 4.477086 4.160800 6.137539\nv -0.036483 0.186540 -0.016838\nvn -5.640623 4.462680 4.619642\nv -0.042760 0.186887 -0.016443\nvn 4.324978 1.338009 3.486997\nv -0.036884 0.188412 -0.017394\nvn -3.184255 2.299703 2.815780\nv -0.042320 0.188372 -0.017198\nvn -2.782985 2.091596 1.727970\nv -0.041846 0.189651 -0.017719\nvn 2.037817 1.135379 3.161282\nv -0.037105 0.189774 -0.017531\nvn -3.209097 4.354268 6.487195\nv -0.040527 0.190501 -0.017302\nvn 1.193690 1.882214 4.275748\nv -0.038524 0.190664 -0.017233\nvn -0.580151 -7.807545 0.587198\nv -0.029067 0.052969 -0.016679\nvn -0.048154 -2.958493 -0.484331\nv -0.049243 0.053426 -0.017408\nvn -0.269329 -7.827230 -1.456704\nv -0.050485 0.053438 -0.017266\nvn -1.039670 -4.659690 -1.380470\nv -0.058088 0.054131 -0.016827\nvn -1.972290 -4.423320 -3.467070\nv -0.066080 0.056543 -0.016559\nvn -3.933153 -4.578008 5.275100\nv -0.077979 0.062200 -0.016964\nvn -0.985417 -1.319290 2.506032\nv -0.077524 0.061003 -0.017437\nvn 4.578794 4.965808 -4.162739\nv 0.064011 0.063949 -0.016537\nvn 4.582060 -3.535536 -1.516031\nv -0.006619 0.069847 -0.016797\nvn 4.168889 5.508961 0.879722\nv 0.056319 0.070717 -0.016379\nvn -4.306270 -1.337253 -5.340521\nv -0.080290 0.074029 -0.017393\nvn -3.267262 -0.704328 -3.716414\nv -0.080500 0.075755 -0.017579\nvn 2.335854 2.946906 1.352654\nv 0.049894 0.075689 -0.016799\nvn -3.555577 -0.553295 -3.465229\nv -0.081452 0.078268 -0.017013\nvn -4.949363 0.454352 -0.358272\nv 0.012086 0.078267 -0.017145\nvn -4.410559 0.020581 -4.028925\nv -0.082248 0.084225 -0.017494\nvn -5.164931 1.629255 -0.667746\nv 0.013266 0.085920 -0.016731\nvn 5.475343 -2.060802 -1.199951\nv 0.046540 0.087747 -0.016738\nvn 4.428636 -2.084543 -0.921437\nv 0.047174 0.089277 -0.016877\nvn -0.929822 2.572712 -1.137230\nv -0.039023 0.090621 -0.017053\nvn 5.494426 -2.349337 -0.295245\nv 0.005276 0.091510 -0.016629\nvn -0.000000 0.000000 -0.000000\nv -0.035538 0.092625 -0.017474\nvn -6.228204 3.049632 0.273662\nv 0.016361 0.093856 -0.016724\nvn -3.416129 0.366570 -3.614303\nv -0.080739 0.096300 -0.017438\nvn 3.357414 0.215382 -3.664543\nv -0.049759 0.095950 -0.017217\nvn 4.677933 -1.751627 -0.123912\nv 0.006871 0.095885 -0.016691\nvn -5.530069 3.947542 1.352987\nv 0.018692 0.097650 -0.016636\nvn 2.828326 -0.811896 -0.189729\nv 0.007926 0.098512 -0.017457\nvn 2.786570 -0.657612 -2.793156\nv -0.049557 0.099148 -0.017403\nvn -3.263056 2.126904 0.613822\nv 0.020399 0.100154 -0.016753\nvn -2.450565 0.794237 -3.043194\nv -0.078923 0.102004 -0.017525\nvn 2.396224 -1.611866 -0.800554\nv 0.057098 0.103125 -0.017438\nvn -5.801354 1.956581 -4.973717\nv -0.026895 0.105772 -0.016929\nvn -4.188642 2.568240 0.529425\nv 0.023960 0.105731 -0.016715\nvn -5.451901 2.768148 -5.060019\nv -0.077720 0.107455 -0.016679\nvn -1.870079 1.146521 -1.992261\nv -0.076695 0.108355 -0.017263\nvn 3.495463 -3.314956 -5.063790\nv -0.042544 0.107955 -0.016678\nvn 3.786123 -1.865851 -2.643124\nv 0.061748 0.109979 -0.016663\nvn 5.071734 -5.381060 -6.559967\nv -0.040870 0.109733 -0.016642\nvn 1.873108 -2.095264 -2.731518\nv -0.040447 0.111208 -0.017425\nvn 2.406661 -3.890420 -5.265306\nv -0.038573 0.111617 -0.016949\nvn -3.477396 1.885217 0.451713\nv 0.027948 0.112431 -0.017360\nvn 3.855515 -2.856032 -6.275851\nv 0.064337 0.115593 -0.017221\nvn -4.864038 1.292771 -5.255890\nv -0.024612 0.115800 -0.016819\nvn -5.341726 0.980194 -3.252435\nv -0.024583 0.117769 -0.016800\nvn 0.432437 -1.280582 -1.005315\nv 0.064927 0.117475 -0.017674\nvn -0.502041 -1.897319 -5.610143\nv 0.067979 0.117517 -0.017123\nvn 2.246611 -1.675703 -4.100366\nv 0.074214 0.117769 -0.016993\nvn -5.972050 4.721629 -4.769335\nv -0.069825 0.119625 -0.016695\nvn 3.900415 -2.731575 1.510312\nv 0.018101 0.120155 -0.016947\nvn -0.384598 -1.271204 -3.471843\nv 0.066677 0.121150 -0.017731\nvn 4.190166 -2.870105 -4.761510\nv 0.079739 0.127726 -0.016745\nvn 4.566337 -2.305876 -6.074556\nv 0.081890 0.131133 -0.017078\nvn 2.887688 -0.445193 -5.100198\nv 0.082708 0.134858 -0.017481\nvn 2.190564 1.933179 -6.290424\nv 0.082020 0.137309 -0.017409\nvn 0.838066 2.016401 -4.495806\nv 0.078046 0.139621 -0.017375\nvn -4.959638 3.221005 -0.894703\nv -0.053741 0.140807 -0.016993\nvn -3.471116 4.083011 4.102649\nv -0.007371 0.141402 -0.016559\nvn -3.566826 1.562552 -5.741711\nv -0.074228 0.143388 -0.017054\nvn 1.540892 -1.966764 1.421453\nv -0.064801 0.143454 -0.017661\nvn -2.498653 -2.976720 -0.353452\nv -0.053764 0.143969 -0.016516\nvn -4.559527 5.348755 6.527854\nv -0.004565 0.144993 -0.016947\nvn 6.806366 -0.261441 1.553456\nv -0.022912 0.147099 -0.016675\nvn -4.964367 6.805000 6.319984\nv 0.000888 0.149230 -0.016849\nvn 1.200308 3.947771 5.431358\nv 0.052460 0.151185 -0.016776\nvn 0.000000 0.000000 0.000000\nv 0.052459 0.152125 -0.017438\nvn 1.236129 2.840527 4.718694\nv 0.054340 0.151366 -0.017113\nvn -0.941240 3.810956 0.399505\nv -0.065391 0.152293 -0.017360\nvn -1.425840 6.633471 1.362764\nv -0.062564 0.152615 -0.016515\nvn 1.879965 2.397769 6.157988\nv 0.048186 0.153106 -0.016890\nvn -1.797825 5.914499 2.668431\nv 0.008979 0.153707 -0.016605\nvn 0.473372 1.301535 3.709579\nv 0.048296 0.154698 -0.017293\nvn 1.174641 1.850711 4.457694\nv 0.042067 0.156596 -0.017424\nvn 0.157471 4.618224 1.894809\nv 0.031083 0.157340 -0.016958\nvn -2.428421 3.924681 -5.113465\nv -0.077800 0.165002 -0.016717\nvn -1.142933 1.005296 -1.983998\nv -0.071068 0.165147 -0.017470\nvn 4.665010 1.738243 0.123587\nv -0.026888 0.164945 -0.016448\nvn -2.295490 0.270794 -4.114545\nv -0.071051 0.166125 -0.017413\nvn -2.844261 6.647701 -1.406477\nv -0.072341 0.176037 -0.016520\nvn -1.040777 5.584641 -1.795562\nv -0.066092 0.177181 -0.016718\nvn -0.803028 6.752390 -1.591859\nv -0.054052 0.180397 -0.016519\nvn 2.524289 -0.481011 5.396768\nv -0.030674 0.180940 -0.017269\nvn -0.156652 5.904210 -0.951563\nv -0.050272 0.180727 -0.016589\nvn 2.194717 0.725814 5.507852\nv -0.030785 0.182766 -0.017256\nvn -6.094331 4.044512 2.732438\nv -0.044187 0.184914 -0.016744\nvn 3.409059 4.521386 6.568210\nv -0.034280 0.184685 -0.016647\nvn -0.215415 -4.969781 -0.253682\nv 0.028294 0.052844 -0.016621\nvn -0.074084 -5.921956 0.633657\nv 0.034769 0.052806 -0.016387\nvn -0.328926 -5.875502 -1.006938\nv -0.052468 0.053433 -0.016911\nvn 0.093133 -6.719003 -0.937274\nv -0.048444 0.053330 -0.016796\nvn -0.034338 -6.759892 0.822852\nv -0.044331 0.053427 -0.016387\nvn 0.748008 -5.621850 1.564948\nv -0.042466 0.053540 -0.016405\nvn 0.649597 -5.576531 -1.617217\nv 0.040720 0.052987 -0.016349\nvn -1.265835 -3.509714 1.397462\nv -0.031342 0.053765 -0.016248\nvn -0.322356 -4.988549 0.029162\nv 0.062827 0.053848 -0.017088\nvn -1.601639 -6.154144 -2.671835\nv -0.062417 0.055068 -0.016390\nvn -3.934238 -4.229243 -1.475431\nv 0.019277 0.056739 -0.016564\nvn 1.660302 -6.215230 -4.209692\nv 0.048388 0.056653 -0.016510\nvn 2.678278 -2.612603 -1.319375\nv -0.015683 0.059111 -0.016778\nvn -2.403578 -1.563444 -0.660908\nv 0.015694 0.061202 -0.016649\nvn -4.505452 -1.323687 2.449633\nv -0.078348 0.064146 -0.016379\nvn -4.853886 -1.138359 -0.094985\nv 0.012802 0.067978 -0.016696\nvn -5.401478 -2.226875 -5.427906\nv -0.080109 0.070349 -0.016190\nvn 3.997045 -2.642529 -1.359052\nv -0.005701 0.070886 -0.016300\nvn 1.731957 2.369525 0.391818\nv 0.053377 0.073097 -0.016829\nvn -5.491427 -1.577126 -5.575900\nv -0.081522 0.074428 -0.016389\nvn -4.185597 -0.642686 -4.243738\nv -0.081753 0.075715 -0.016424\nvn -5.958970 0.222210 -0.382624\nv 0.011924 0.075912 -0.016913\nvn 2.404146 -1.238909 -0.992108\nv -0.001957 0.076749 -0.016991\nvn -0.000000 -0.000000 -0.000000\nv 0.001936 0.085007 -0.016738\nvn 5.861998 -0.722890 -0.901500\nv 0.045597 0.083965 -0.016311\nvn -4.521153 0.612121 -3.832122\nv -0.083431 0.089661 -0.016195\nvn -4.602148 1.830904 0.073718\nv 0.014476 0.089801 -0.016675\nvn 2.036158 3.470357 -2.930667\nv -0.046590 0.091431 -0.016462\nvn -4.298797 0.770332 -4.100637\nv -0.082158 0.093927 -0.016347\nvn 4.238535 1.192694 -3.980414\nv -0.048657 0.094058 -0.016334\nvn 6.568214 -2.377100 -0.259082\nv 0.006242 0.093994 -0.016453\nvn -3.473699 0.707479 -3.569808\nv -0.081736 0.095977 -0.016493\nvn 6.535321 -2.475654 -0.094831\nv 0.007599 0.097716 -0.016544\nvn -5.907254 1.478819 -5.146823\nv -0.081545 0.097823 -0.016351\nvn -2.526902 1.522085 -2.675268\nv -0.032049 0.097662 -0.016383\nvn 4.971220 -1.014283 -4.771870\nv -0.048872 0.097830 -0.016408\nvn 3.711280 -2.911767 -1.518940\nv 0.054715 0.099520 -0.016556\nvn -4.088067 2.545855 1.322753\nv 0.021950 0.102361 -0.016453\nvn -4.819757 1.866137 -4.674576\nv -0.079731 0.103512 -0.016331\nvn 2.194432 -1.338221 -1.541621\nv 0.059796 0.106185 -0.016234\nvn 4.415251 -2.654305 -3.040330\nv 0.060917 0.108952 -0.016942\nvn -5.124803 0.758970 -4.608731\nv -0.026683 0.109618 -0.016594\nvn -4.111912 2.358246 -3.636485\nv -0.075631 0.111321 -0.016443\nvn -3.056586 1.142982 -3.426418\nv -0.026483 0.111611 -0.016547\nvn 4.055327 -3.046631 -4.288308\nv -0.036829 0.111720 -0.016235\nvn -2.397295 -0.571996 -4.487225\nv -0.024590 0.113566 -0.016730\nvn -2.400450 0.933689 -2.540210\nv -0.023623 0.112575 -0.017342\nvn 0.000000 0.000000 0.000000\nv 0.013845 0.114326 -0.016797\nvn 3.454257 -3.974390 -5.830829\nv 0.064109 0.113811 -0.016226\nvn -0.464944 -1.856460 -4.565638\nv 0.070100 0.115883 -0.017050\nvn 1.311087 -2.585034 -6.264819\nv 0.072462 0.115352 -0.016788\nvn 2.515647 -2.102905 -4.440756\nv 0.065964 0.115448 -0.016437\nvn -1.327922 -2.743407 -6.242259\nv 0.067987 0.115956 -0.016461\nvn -4.903559 3.276325 -2.929473\nv -0.071588 0.117664 -0.016509\nvn 4.596392 -3.443494 1.665819\nv 0.015465 0.117243 -0.016429\nvn 2.943946 -2.475777 0.127940\nv -0.031489 0.117764 -0.016412\nvn -2.770148 1.191589 -1.751030\nv -0.024383 0.119510 -0.016498\nvn 4.683033 -1.157826 -3.321770\nv 0.075861 0.119519 -0.016291\nvn -2.014446 1.687321 -1.403220\nv -0.067758 0.122994 -0.016069\nvn -3.509150 2.907117 -2.049377\nv -0.065596 0.125012 -0.016359\nvn 4.746101 -0.462939 3.622746\nv -0.028140 0.125680 -0.016398\nvn 3.657071 -0.684500 3.241326\nv -0.027741 0.127354 -0.016832\nvn -1.970042 1.880232 -1.168266\nv -0.063623 0.127545 -0.016339\nvn -4.413881 3.397571 -2.125778\nv -0.061763 0.129274 -0.016579\nvn -3.548868 3.098167 6.190173\nv -0.016731 0.129404 -0.016469\nvn -2.800712 2.718495 -0.795323\nv -0.059474 0.132454 -0.016300\nvn -3.630945 2.397218 5.320899\nv -0.014913 0.133258 -0.016380\nvn 3.730877 -1.546593 -5.696676\nv 0.083722 0.133541 -0.016336\nvn 3.598773 -1.218176 1.178120\nv -0.025733 0.134405 -0.016836\nvn 3.131424 -1.381734 -6.029037\nv 0.084134 0.135031 -0.016603\nvn -3.455509 3.266311 4.820114\nv -0.012627 0.135197 -0.016576\nvn -2.481457 2.753337 4.704965\nv 0.066256 0.135416 -0.016252\nvn 2.666810 1.517373 -7.245427\nv 0.083947 0.137339 -0.016774\nvn 5.553527 -1.702865 1.486040\nv -0.024288 0.139256 -0.016373\nvn 2.052095 3.136241 -7.071213\nv 0.081984 0.139267 -0.016618\nvn 1.118623 2.346549 -5.401895\nv 0.079853 0.139798 -0.016947\nvn 2.554724 1.974799 5.004530\nv 0.062620 0.139521 -0.016334\nvn 2.526714 -3.619151 4.033824\nv -0.070076 0.141139 -0.016283\nvn 3.755350 -1.059600 0.868338\nv -0.023842 0.140850 -0.016306\nvn 2.989524 1.260670 4.973112\nv 0.062247 0.141419 -0.016663\nvn -0.930781 3.629331 -6.875645\nv 0.073761 0.140969 -0.017092\nvn 0.390379 2.275833 -4.419490\nv 0.076179 0.141234 -0.016919\nvn 1.119803 3.633016 -7.029750\nv 0.077906 0.141330 -0.016566\nvn -3.731905 -2.084055 -4.924914\nv -0.075834 0.141464 -0.016362\nvn 3.963783 -6.184082 4.593925\nv -0.066418 0.143419 -0.016606\nvn 2.580780 -3.971899 3.616874\nv -0.067922 0.142615 -0.016344\nvn 3.861797 -0.509162 0.876817\nv -0.023291 0.143134 -0.016842\nvn -3.856090 2.125847 -5.374363\nv -0.073900 0.145309 -0.016377\nvn -2.363667 2.138380 2.344188\nv -0.005433 0.143639 -0.016550\nvn 2.146738 2.101584 5.134257\nv 0.060502 0.143535 -0.016518\nvn -3.264977 4.377391 2.378404\nv -0.002720 0.145694 -0.016398\nvn 2.437604 2.717470 5.868926\nv 0.054165 0.149281 -0.016529\nvn -1.355719 2.368102 1.245158\nv 0.002196 0.149746 -0.016438\nvn 1.560076 3.834428 4.197780\nv 0.050701 0.151002 -0.016401\nvn 2.143962 3.796371 3.887511\nv 0.048407 0.151867 -0.016288\nvn 4.509668 1.027930 1.161105\nv -0.023829 0.153630 -0.016374\nvn 6.516257 1.074268 1.503260\nv -0.024030 0.155061 -0.016423\nvn -1.301028 4.490129 1.634676\nv 0.014321 0.155729 -0.016254\nvn -1.285907 -4.272339 -1.283929\nv -0.077921 0.157478 -0.016471\nvn 0.653095 -1.987314 2.143960\nv -0.066576 0.157990 -0.016909\nvn 1.814387 -4.838654 4.654311\nv -0.066050 0.158764 -0.016321\nvn -2.445595 -3.614578 -2.401409\nv -0.081154 0.159460 -0.016237\nvn 4.651707 1.688518 -0.027608\nv -0.025430 0.160698 -0.016304\nvn -2.271623 -2.639618 -3.155849\nv -0.084060 0.161214 -0.016359\nvn -1.239508 0.928066 -5.300982\nv -0.084118 0.162925 -0.016802\nvn 2.716860 1.033949 2.026353\nv -0.033733 0.175458 -0.016687\nvn 4.278277 0.009756 3.414092\nv -0.034059 0.176485 -0.016370\nvn -2.210847 4.657470 -3.014875\nv -0.064103 0.178187 -0.016309\nvn 3.541916 -1.451253 5.755045\nv -0.032736 0.178749 -0.016486\nvn -1.171294 6.442100 -2.410613\nv -0.058252 0.179885 -0.016570\nvn -4.599046 3.528872 1.227058\nv -0.045735 0.182376 -0.016417\nvn 2.052126 1.566941 5.355865\nv -0.032664 0.182914 -0.016525\nvn -4.054820 2.532189 1.196796\nv -0.045213 0.183211 -0.016504\nvn 2.426334 2.808141 6.850252\nv -0.038511 0.188369 -0.016424\nvn 0.032855 -5.955299 0.222376\nv 0.030744 0.052811 -0.016387\nvn 0.226403 -3.712901 -0.118362\nv -0.046723 0.053324 -0.016738\nvn -1.381564 -2.533828 -0.635253\nv 0.021265 0.055176 -0.016335\nvn 1.543308 -2.702197 -2.511453\nv 0.045646 0.054794 -0.016196\nvn 4.053415 2.597554 -5.017067\nv 0.067712 0.057738 -0.016157\nvn 2.756029 1.012710 -2.570602\nv 0.065613 0.062255 -0.016370\nvn -6.917869 0.885670 -0.119412\nv 0.012271 0.080071 -0.016549\nvn -3.935461 0.619947 -0.072044\nv 0.012496 0.081724 -0.016736\nvn -4.039801 -0.020982 -2.901431\nv -0.083168 0.084264 -0.016353\nvn -4.636698 1.692438 0.166736\nv 0.013876 0.088350 -0.016567\nvn 5.592306 -2.156799 -0.063002\nv 0.005860 0.092989 -0.016218\nvn 3.623330 0.023737 -3.426110\nv -0.048913 0.096446 -0.016335\nvn 2.408796 -2.430686 -2.013952\nv 0.055562 0.100189 -0.016137\nvn -4.453762 1.830053 -4.300570\nv -0.026061 0.113112 -0.016188\nvn 3.720620 -2.278362 -4.489569\nv 0.074194 0.115684 -0.016220\nvn 2.897516 -2.515828 1.107141\nv 0.016399 0.118253 -0.016494\nvn 4.370317 -1.373777 3.662363\nv -0.027819 0.129396 -0.016191\nvn 4.181762 -3.306641 -5.885110\nv 0.081936 0.129563 -0.016039\nvn -5.054542 3.405293 5.025790\nv -0.011110 0.137173 -0.016336\nvn 2.337396 0.978728 4.256100\nv 0.064269 0.137197 -0.016312\nvn -2.293964 2.557922 -1.160131\nv 0.068584 0.138819 -0.016115\nvn -3.278239 2.857738 -4.970115\nv 0.072094 0.141099 -0.016197\nvn 1.281774 2.502291 -5.285841\nv 0.080079 0.141312 -0.016250\nvn -3.745725 1.389149 -5.522317\nv -0.076022 0.143021 -0.016223\nvn 1.226222 -2.330080 1.017219\nv -0.065510 0.144308 -0.016241\nvn 2.242366 1.486458 4.166512\nv 0.058086 0.145525 -0.016437\nvn 3.032241 3.668862 6.300125\nv 0.056330 0.147090 -0.016221\nvn 1.683097 4.625270 4.647079\nv 0.046256 0.153130 -0.016237\nvn 1.575391 4.356478 3.497077\nv 0.040730 0.155179 -0.016251\nvn 0.342255 -4.483664 1.954049\nv -0.062194 0.160256 -0.016076\nvn -0.668259 5.711294 -1.693598\nv -0.056213 0.180159 -0.016420\nvn -0.934103 2.629779 4.964088\nv -0.040654 0.188543 -0.016201\nvn 0.059276 -6.933113 0.493608\nv 0.032727 0.052819 -0.016387\nvn -0.023837 -4.975555 -0.352443\nv -0.051098 0.053312 -0.016387\nvn -0.350254 -3.984041 -0.066327\nv 0.057577 0.054275 -0.016387\nvn -2.195357 -2.988297 0.646178\nv -0.076440 0.061755 -0.016104\nvn -5.374740 -0.243658 -4.444475\nv -0.083377 0.088007 -0.016212\nvn -6.770161 3.207163 2.487902\nv 0.014716 0.089572 -0.014918\nvn 2.202619 -1.854259 -2.769962\nv -0.045135 0.104254 -0.016271\nvn -2.763555 1.851260 -2.129539\nv -0.077246 0.109105 -0.016180\nvn -1.066156 -3.595590 -8.087010\nv 0.070114 0.113855 -0.016163\nvn 0.909060 -2.197880 -3.492153\nv 0.072153 0.113924 -0.016148\nvn 4.187342 -1.688457 -3.803262\nv 0.075407 0.117887 -0.016143\nvn -3.481361 2.045980 1.216628\nv -0.024481 0.119381 -0.015445\nvn 2.868152 -1.699747 3.644266\nv -0.030342 0.120931 -0.016032\nvn -1.731611 -5.785063 3.165554\nv 0.026733 0.124642 -0.015952\nvn 2.237861 1.984544 6.011168\nv 0.064438 0.135139 -0.016205\nvn 1.413741 1.895175 -4.398600\nv 0.084043 0.138867 -0.016140\nvn -3.220293 3.013545 3.901623\nv -0.009095 0.139680 -0.016180\nvn -0.909220 2.957472 -4.830984\nv 0.073852 0.142428 -0.016299\nvn 0.475316 3.616568 -5.953474\nv 0.075765 0.142505 -0.016227\nvn -2.273052 -6.063854 -1.649284\nv -0.054493 0.143964 -0.014869\nvn 0.593155 -6.918098 -0.458276\nv -0.062303 0.144742 -0.015260\nvn -4.987019 2.694810 -4.649889\nv -0.073671 0.147487 -0.016054\nvn -2.575542 7.128397 0.619987\nv -0.070044 0.150512 -0.015345\nvn -5.284203 6.830754 -2.656909\nv -0.060150 0.153165 -0.014974\nvn 1.840707 5.655655 3.488015\nv 0.044399 0.153635 -0.016182\nvn 1.384028 -4.679335 2.986745\nv -0.063996 0.160137 -0.015984\nvn -2.700183 -1.663480 -5.641607\nv -0.085924 0.163037 -0.016180\nvn -1.607493 2.292919 -2.817101\nv -0.079377 0.164308 -0.016143\nvn 2.966735 -0.003575 6.282681\nv -0.032800 0.180737 -0.016231\nvn 0.997397 1.425925 2.434159\nv -0.035858 0.185242 -0.016260\nvn 1.445309 -6.061500 -2.700602\nv 0.042618 0.053118 -0.015910\nvn 0.741205 -6.673289 1.693646\nv -0.048257 0.053534 -0.014814\nvn -0.912126 -3.769190 -0.775553\nv 0.025610 0.053087 -0.015804\nvn 1.039624 -6.045939 3.290643\nv -0.044540 0.054047 -0.014724\nvn -1.204659 -5.712129 -1.283263\nv -0.058226 0.053790 -0.015048\nvn 3.442062 -5.893533 -2.502229\nv 0.068233 0.054254 -0.015157\nvn 3.134564 -5.829958 -4.336718\nv 0.046541 0.054164 -0.014969\nvn -1.097537 -3.578123 -1.237473\nv -0.063640 0.055182 -0.015804\nvn 4.227131 -0.213961 -3.544820\nv 0.069046 0.056048 -0.015775\nvn -1.747132 -3.091093 -1.793729\nv -0.067256 0.056679 -0.015892\nvn -2.527200 -4.996731 -2.107327\nv -0.070505 0.057892 -0.014812\nvn 4.553894 -4.911799 -1.888327\nv -0.016212 0.057911 -0.015020\nvn -0.287665 -0.769532 -0.628415\nv -0.071223 0.058922 -0.016037\nvn -2.325805 -1.864723 -0.333696\nv 0.017327 0.059025 -0.016095\nvn -4.767421 -3.580867 -0.539287\nv 0.016528 0.059854 -0.015102\nvn 6.762666 -5.396030 -2.328333\nv -0.014307 0.059913 -0.014931\nvn -5.770808 -3.893883 -0.416829\nv 0.015588 0.061050 -0.014895\nvn 6.204214 -6.019027 -2.320946\nv -0.012729 0.061949 -0.014999\nvn 5.337248 2.545407 -5.011816\nv 0.066515 0.062273 -0.015346\nvn 2.651109 -2.766501 -1.114594\nv -0.011660 0.063152 -0.015804\nvn -7.358610 -2.961617 0.442361\nv 0.014103 0.064161 -0.014656\nvn 3.153794 4.508037 -2.341419\nv 0.064465 0.064514 -0.014972\nvn 5.349352 -4.077108 -1.840287\nv -0.010359 0.064285 -0.015015\nvn -4.665735 -1.320970 -3.458958\nv -0.079455 0.067926 -0.015936\nvn 5.088590 7.165811 -0.536893\nv 0.060345 0.067859 -0.014626\nvn -3.441594 -1.363469 -3.341829\nv -0.081282 0.072388 -0.015971\nvn 6.884477 6.494807 2.233596\nv 0.048497 0.075846 -0.014875\nvn -1.519610 -0.089155 -1.324039\nv -0.083109 0.081995 -0.016103\nvn 5.675874 -1.363255 -1.274595\nv 0.045884 0.084076 -0.014907\nvn 4.316041 -2.485053 -0.249928\nv 0.002831 0.086115 -0.014844\nvn 6.856685 -2.747458 -2.821496\nv 0.046961 0.087511 -0.014913\nvn 6.455487 -2.683748 -0.015056\nv 0.004467 0.089789 -0.014915\nvn -2.153657 0.689025 -1.941181\nv -0.083152 0.091358 -0.016082\nvn 1.455903 3.818426 -2.825678\nv -0.044973 0.090875 -0.016145\nvn 1.089647 4.816536 -3.311406\nv -0.043924 0.090852 -0.015714\nvn 0.264914 1.787849 -1.176198\nv -0.040453 0.090791 -0.015665\nvn -5.387389 2.000129 1.261511\nv 0.015538 0.091501 -0.015056\nvn -1.905516 2.408264 -2.438116\nv -0.036598 0.092700 -0.015780\nvn -1.048090 0.512332 -0.409639\nv -0.036085 0.093053 -0.015900\nvn -1.925474 0.585832 -0.129294\nv 0.015866 0.092771 -0.015903\nvn -3.637012 3.454397 -4.916391\nv -0.036329 0.093866 -0.015193\nvn 3.958782 -3.439782 -2.779169\nv 0.050686 0.093228 -0.014805\nvn -2.196455 2.323625 -2.288966\nv -0.034589 0.094623 -0.015801\nvn -1.010481 0.449252 -0.352053\nv -0.034076 0.094958 -0.016049\nvn -4.822235 3.538734 -5.279101\nv -0.034417 0.095929 -0.015044\nvn -4.103078 2.489718 1.338693\nv 0.017877 0.096112 -0.015907\nvn 5.623000 -2.027959 0.317933\nv 0.006872 0.095876 -0.014822\nvn 3.543602 -2.674776 -2.266091\nv 0.052732 0.095881 -0.015218\nvn -3.344790 1.855842 -3.188528\nv -0.033087 0.097806 -0.015396\nvn 6.495141 -2.458439 0.614335\nv 0.007581 0.097596 -0.014725\nvn -3.046731 1.033292 -2.357960\nv -0.081330 0.099582 -0.016001\nvn 3.240295 -2.835140 -2.372827\nv 0.054888 0.099017 -0.015465\nvn -2.210892 1.637840 -2.870487\nv -0.031092 0.100296 -0.015620\nvn -3.322186 1.754721 -3.281684\nv -0.030233 0.101277 -0.015867\nvn 2.787627 -2.309834 -3.400125\nv -0.046764 0.102146 -0.016132\nvn 4.271195 -3.658800 -3.855194\nv 0.058363 0.103037 -0.015318\nvn 2.670871 -2.211975 -3.587449\nv -0.045565 0.103007 -0.015795\nvn -2.717693 1.203525 -2.505108\nv -0.029478 0.104257 -0.015536\nvn 4.662226 -1.657980 0.566747\nv 0.010010 0.104556 -0.015787\nvn 7.431311 -4.724544 -4.346921\nv 0.060338 0.105685 -0.014974\nvn -6.178726 3.005832 -3.968468\nv -0.079823 0.105970 -0.014829\nvn -4.447170 2.918312 -3.189876\nv -0.028742 0.106080 -0.015002\nvn -1.973707 0.872000 -2.030699\nv -0.027830 0.105670 -0.015986\nvn -2.968469 1.328374 -2.283530\nv -0.078895 0.106535 -0.015773\nvn 2.180662 -1.842208 -2.795809\nv -0.042990 0.106508 -0.016008\nvn 2.747244 -2.112072 -3.591487\nv -0.041178 0.108132 -0.015893\nvn 3.421465 -2.370003 -2.756131\nv 0.061247 0.108159 -0.015882\nvn -4.125957 2.645948 0.965429\nv 0.025907 0.108500 -0.015809\nvn 2.367308 -2.519884 -3.541631\nv -0.040056 0.109099 -0.015531\nvn 9.092335 -3.228606 2.105554\nv 0.011491 0.109709 -0.014876\nvn 6.837733 -3.617871 -4.345899\nv 0.062734 0.109377 -0.015084\nvn 1.575362 -2.467951 -2.723607\nv -0.038938 0.110224 -0.015907\nvn 4.673138 -6.580931 -4.514734\nv -0.038410 0.109335 -0.014836\nvn 2.683799 -1.544058 -2.501143\nv 0.063373 0.112575 -0.016037\nvn 0.000000 0.000000 0.000000\nv -0.075065 0.112914 -0.016028\nvn -4.865395 2.165870 2.675348\nv -0.026410 0.113500 -0.014752\nvn -2.936881 1.774640 -2.054027\nv -0.073998 0.114563 -0.015876\nvn 0.000000 0.000000 0.000000\nv -0.035531 0.114289 -0.016160\nvn -3.161019 1.680838 -0.668505\nv -0.025867 0.115295 -0.015219\nvn 2.089919 -3.794894 -6.801207\nv 0.066039 0.113522 -0.015263\nvn 1.096871 -1.374474 -2.378127\nv 0.065676 0.114421 -0.016062\nvn -0.780917 -1.188142 -2.626581\nv 0.068733 0.114325 -0.016037\nvn 0.695755 -0.889521 -0.796713\nv 0.073152 0.114500 -0.016228\nvn 3.642845 -3.984478 2.672945\nv -0.034460 0.115334 -0.014717\nvn -5.006927 2.121573 2.056691\nv -0.025442 0.115729 -0.014505\nvn -3.488420 2.133957 4.102146\nv -0.024879 0.117705 -0.014807\nvn 4.847316 -1.056854 -3.191569\nv 0.076134 0.117436 -0.014967\nvn 3.224216 -1.344211 1.483036\nv -0.031395 0.118171 -0.015514\nvn 3.631791 -3.063698 1.549425\nv 0.016128 0.118325 -0.015768\nvn -2.235925 1.261859 -0.739211\nv -0.071294 0.118525 -0.016037\nvn -2.111294 1.577219 -1.433304\nv -0.069447 0.120864 -0.015878\nvn -3.941359 1.915273 3.277920\nv -0.022480 0.121318 -0.015051\nvn -4.090649 -3.757236 2.058932\nv 0.030132 0.122995 -0.014795\nvn 3.058557 -3.565218 1.620060\nv 0.019659 0.122690 -0.015924\nvn -1.386803 1.447550 1.530681\nv -0.022081 0.122887 -0.015413\nvn 4.492135 -7.267629 2.770005\nv 0.020639 0.123719 -0.014909\nvn 3.005155 -2.688307 -0.937128\nv 0.077388 0.123892 -0.014781\nvn 4.396894 -1.322672 4.984548\nv -0.029197 0.123413 -0.015382\nvn 0.428302 -1.220874 -0.759235\nv 0.077600 0.124424 -0.015881\nvn 0.872409 -4.562951 1.774558\nv 0.022991 0.124503 -0.016024\nvn -0.041231 -4.464499 2.124920\nv 0.024948 0.124793 -0.015928\nvn 3.527245 -5.396762 -1.119057\nv 0.078340 0.124840 -0.015000\nvn -2.905342 0.967375 2.544525\nv -0.019387 0.125967 -0.015892\nvn 3.339910 -3.353065 -4.934561\nv 0.079592 0.126099 -0.015930\nvn -5.833982 6.149498 -2.788508\nv -0.064439 0.127412 -0.014949\nvn 6.494971 -2.002760 3.912095\nv -0.028940 0.127755 -0.015030\nvn -2.336838 2.046893 3.718020\nv -0.018711 0.126891 -0.015601\nvn -1.734010 2.381820 3.945776\nv -0.017150 0.128168 -0.015916\nvn 2.642615 -1.708498 -3.814777\nv 0.081027 0.128150 -0.015900\nvn -4.405797 4.110515 4.788567\nv -0.016721 0.127402 -0.015109\nvn -5.816586 5.127152 -1.656019\nv -0.062469 0.129256 -0.014728\nvn 2.057132 -1.239112 -3.147192\nv 0.083477 0.131125 -0.015973\nvn -5.185526 4.426957 -1.358053\nv -0.060701 0.131550 -0.015067\nvn 4.343669 -1.863446 1.563958\nv -0.026811 0.132988 -0.015244\nvn -5.850000 4.428724 4.756888\nv -0.012789 0.133264 -0.014814\nvn 7.197214 -2.771821 2.016117\nv -0.025984 0.134846 -0.014915\nvn 0.000000 0.000000 0.000000\nv -0.012773 0.134243 -0.016074\nvn -3.765283 0.447731 2.934819\nv 0.066889 0.135044 -0.015293\nvn -5.079195 3.579931 3.067286\nv -0.011283 0.135141 -0.014837\nvn 1.366588 -0.618425 -2.582823\nv 0.085743 0.135267 -0.015868\nvn 2.502926 -0.319456 -5.388787\nv 0.085802 0.136796 -0.016094\nvn -3.626049 2.467621 2.347816\nv -0.010348 0.136817 -0.015125\nvn 1.177113 1.527065 -3.489887\nv 0.085460 0.138358 -0.015940\nvn -4.798261 3.204670 0.418680\nv 0.068601 0.138943 -0.014745\nvn 2.045126 1.811555 4.138318\nv 0.062013 0.138833 -0.015624\nvn 1.799070 1.398048 3.226152\nv 0.061147 0.139945 -0.015831\nvn 0.813760 1.238466 -2.607444\nv 0.081512 0.140983 -0.015979\nvn 2.828038 1.724176 6.120891\nv 0.060840 0.141438 -0.016065\nvn -0.888887 1.285842 -2.190569\nv 0.072744 0.142442 -0.016141\nvn 0.511073 2.542536 -4.270910\nv 0.077907 0.142490 -0.015913\nvn 1.837336 -5.293396 1.066966\nv -0.068031 0.143609 -0.014771\nvn 1.902560 2.229133 4.036962\nv 0.058830 0.143803 -0.016022\nvn -5.366976 -2.304949 -0.570873\nv -0.053138 0.143069 -0.014726\nvn -2.419280 2.103412 -3.834046\nv -0.075540 0.144283 -0.015865\nvn -1.895645 -5.066328 -1.156516\nv -0.056436 0.144582 -0.014904\nvn -4.183599 4.787894 2.834022\nv -0.002773 0.144816 -0.014675\nvn 3.009981 2.393839 4.509492\nv 0.057526 0.144553 -0.015774\nvn -2.131884 1.294325 -3.096684\nv -0.074635 0.145589 -0.015735\nvn -0.555318 -6.814092 -0.437376\nv -0.058230 0.145158 -0.014752\nvn -3.645368 4.240673 2.153276\nv -0.000783 0.146630 -0.014899\nvn 2.199799 2.424392 4.280411\nv 0.054221 0.147964 -0.015945\nvn -2.040935 1.384691 -0.808307\nv -0.073323 0.148298 -0.016059\nvn -3.812739 5.194790 2.635764\nv 0.000647 0.147762 -0.014627\nvn -4.571395 6.888920 -0.904299\nv -0.072448 0.149457 -0.014898\nvn -4.986547 7.027878 4.228379\nv 0.002956 0.149399 -0.014907\nvn 2.409956 2.349479 4.285367\nv 0.052374 0.148797 -0.015306\nvn 1.684519 2.649920 3.807989\nv 0.052365 0.149794 -0.015973\nvn -2.690768 3.858176 1.689853\nv 0.004945 0.150721 -0.014916\nvn -1.147207 6.264314 2.620604\nv -0.067810 0.150733 -0.014646\nvn 2.582523 4.666107 2.625946\nv 0.048507 0.150959 -0.014986\nvn -1.141519 4.606027 1.486796\nv -0.064952 0.152060 -0.015923\nvn 1.115529 2.359575 1.249921\nv 0.042964 0.153917 -0.015950\nvn -2.404578 5.215602 1.704226\nv 0.011558 0.154310 -0.014934\nvn -4.103168 3.642817 -2.007614\nv -0.058542 0.155240 -0.014821\nvn -2.453073 6.239134 1.925870\nv 0.012876 0.154849 -0.014808\nvn 1.466029 5.081674 2.715449\nv 0.038470 0.155689 -0.015879\nvn -6.506030 3.943678 0.192397\nv -0.057622 0.156588 -0.015095\nvn 1.437846 4.341503 1.984464\nv 0.038671 0.155228 -0.014932\nvn 0.498677 -5.796649 2.778857\nv -0.076042 0.157292 -0.014732\nvn 0.901390 8.178824 3.553514\nv 0.032558 0.156567 -0.015159\nvn -2.165628 -3.828199 -1.721696\nv -0.079349 0.157843 -0.015907\nvn 0.901399 -2.729660 2.778131\nv -0.069147 0.158075 -0.015980\nvn -4.506227 0.230055 1.414178\nv -0.057236 0.157981 -0.015843\nvn 0.636997 -2.810409 2.747140\nv -0.068493 0.158360 -0.015902\nvn -0.919777 -0.609748 0.292850\nv -0.057727 0.159763 -0.015752\nvn -1.291105 -3.048297 1.918376\nv -0.058231 0.160044 -0.015903\nvn -1.494436 -2.207145 -1.375128\nv -0.082613 0.160034 -0.015737\nvn -0.640015 -6.985615 3.468106\nv -0.060336 0.160295 -0.015996\nvn -0.344192 -5.598753 2.068893\nv -0.060392 0.160757 -0.014595\nvn -3.800379 -5.798606 -3.616814\nv -0.085785 0.161382 -0.014679\nvn -0.260514 2.920303 -4.947978\nv -0.086005 0.164340 -0.015897\nvn 0.318029 4.162453 -4.238843\nv -0.084144 0.164111 -0.015922\nvn -2.669374 5.199055 -5.136487\nv -0.080299 0.164781 -0.015184\nvn -1.958339 3.344349 -3.039715\nv -0.078367 0.165834 -0.015760\nvn -0.811162 3.872078 -2.779044\nv -0.077419 0.166168 -0.015864\nvn -0.788263 4.643899 -3.446599\nv -0.076129 0.166213 -0.016001\nvn -3.179860 3.535730 -3.710109\nv -0.073688 0.166699 -0.016032\nvn -2.136889 2.370708 -0.958380\nv -0.074241 0.166988 -0.014713\nvn -8.140454 2.461317 -1.762888\nv -0.073747 0.168896 -0.014846\nvn 0.000000 0.000000 0.000000\nv -0.073323 0.168925 -0.016226\nvn -4.180807 1.382458 -1.959439\nv -0.073113 0.169914 -0.015950\nvn 5.193400 4.282825 0.906874\nv -0.034055 0.175408 -0.014939\nvn -6.193879 1.515366 0.668896\nv -0.073314 0.174782 -0.014926\nvn -1.258720 5.573034 -1.885304\nv -0.068043 0.177074 -0.015116\nvn -2.066504 4.845925 -2.735277\nv -0.066365 0.177684 -0.015163\nvn 2.505701 -0.596049 2.915877\nv -0.034022 0.177967 -0.015979\nvn -2.396814 6.997743 -2.825181\nv -0.062544 0.179353 -0.015159\nvn -0.871631 3.644428 -1.346210\nv -0.059497 0.179858 -0.015939\nvn -0.326883 4.937583 -0.409647\nv -0.048211 0.180840 -0.015085\nvn -5.247013 4.701918 5.104060\nv -0.044513 0.182765 -0.014762\nvn 1.736313 1.160868 4.490453\nv -0.033948 0.183013 -0.016031\nvn -1.818929 1.712090 1.477122\nv -0.043986 0.184314 -0.015496\nvn 2.086718 2.450787 6.113336\nv -0.038472 0.186389 -0.015603\nvn 1.380647 1.004943 2.430643\nv -0.037885 0.187094 -0.016132\nvn -0.387371 -5.954574 -0.268654\nv 0.026952 0.052809 -0.014673\nvn 0.765806 -6.841660 0.822546\nv 0.028913 0.052893 -0.014616\nvn 0.780417 -6.602394 1.965812\nv 0.030846 0.053102 -0.014756\nvn 0.055332 -6.551754 2.327143\nv 0.032902 0.053105 -0.015120\nvn -0.310687 -6.625353 1.972173\nv 0.036186 0.053002 -0.014916\nvn -0.530209 -7.680575 1.299494\nv 0.038305 0.052906 -0.014763\nvn -0.021752 -7.928939 -0.221037\nv -0.054161 0.053293 -0.014813\nvn 0.183498 -4.975908 0.315201\nv -0.051098 0.053301 -0.015162\nvn 0.259613 -5.956062 0.207694\nv -0.049348 0.053321 -0.015687\nvn 0.741437 -6.492454 2.320076\nv -0.046284 0.053792 -0.014755\nvn -2.891473 -7.199324 1.755108\nv -0.030596 0.053957 -0.014726\nvn 1.467068 -5.786120 -0.541602\nv -0.024166 0.053445 -0.015087\nvn -0.000000 0.000000 0.000000\nv 0.024400 0.053425 -0.015687\nvn 1.714639 -3.765339 -2.755974\nv 0.044532 0.053773 -0.015729\nvn -0.727539 -5.857253 -1.008904\nv -0.056298 0.053466 -0.015106\nvn 1.433892 -4.724733 -0.674923\nv -0.022792 0.053748 -0.014725\nvn -0.320564 -7.990753 -0.019224\nv 0.063845 0.053771 -0.014687\nvn -1.425000 -5.534985 1.602486\nv -0.032361 0.054675 -0.014797\nvn 1.755185 -4.588697 -0.744382\nv -0.021110 0.054311 -0.015009\nvn 1.384348 -2.881265 -2.278197\nv 0.048928 0.055859 -0.015006\nvn -2.544624 -5.959105 -2.537068\nv -0.066534 0.055931 -0.015144\nvn 1.759323 1.291500 -2.055153\nv 0.068304 0.058428 -0.015243\nvn 1.503338 1.093970 -1.571913\nv 0.066720 0.060161 -0.015315\nvn 3.456200 3.916274 -2.776255\nv 0.066036 0.063714 -0.014586\nvn 4.129008 5.118602 -2.199552\nv 0.062452 0.066293 -0.014657\nvn -2.383660 -1.413925 -1.118652\nv -0.078839 0.065683 -0.015507\nvn -6.638876 -1.974438 0.806525\nv 0.013273 0.066331 -0.014765\nvn -5.333964 -2.552353 -3.653769\nv -0.080422 0.067942 -0.014730\nvn 3.166829 4.971087 1.047330\nv 0.057546 0.069601 -0.014854\nvn 0.000000 0.000000 0.000000\nv -0.080675 0.070483 -0.015649\nvn 4.878922 7.116523 2.483685\nv 0.054220 0.071821 -0.014750\nvn 6.673891 -4.248170 -1.105347\nv -0.004556 0.072302 -0.014759\nvn 1.389597 2.468954 0.881222\nv 0.051668 0.073815 -0.015454\nvn 4.737958 7.003607 2.873867\nv 0.050395 0.074176 -0.014709\nvn 1.814007 2.029532 1.176067\nv 0.049654 0.075125 -0.015569\nvn 4.133592 -2.717841 -0.688725\nv -0.002272 0.075594 -0.014871\nvn 6.056141 -3.358471 -0.893684\nv -0.001742 0.076517 -0.015141\nvn -4.979695 0.195314 0.208246\nv 0.011962 0.076416 -0.015088\nvn -5.112494 -0.815314 -4.694377\nv -0.082761 0.077762 -0.015617\nvn -6.930686 0.679170 0.523116\nv 0.012130 0.078285 -0.015131\nvn 5.402368 -2.497145 -0.695982\nv -0.000915 0.078171 -0.014921\nvn -5.783688 0.026043 -3.994166\nv -0.083834 0.082107 -0.015148\nvn -6.767460 1.268307 1.071486\nv 0.012685 0.082225 -0.015111\nvn 3.642108 -1.617266 -0.182258\nv 0.001538 0.083817 -0.014827\nvn -2.635481 -1.107147 -1.980891\nv -0.083473 0.086150 -0.015923\nvn -2.197001 1.104490 -0.495404\nv 0.013510 0.087142 -0.015818\nvn 5.407594 -2.543217 -0.115496\nv 0.003642 0.087580 -0.014783\nvn -5.297705 2.758256 1.430771\nv 0.014094 0.088271 -0.014612\nvn 8.383235 -5.129790 -4.430944\nv 0.048139 0.089774 -0.014678\nvn -0.495648 2.155373 -1.396714\nv -0.042785 0.090664 -0.015687\nvn 5.497593 -2.394362 0.022556\nv 0.005257 0.091582 -0.014612\nvn -5.461674 1.309393 -4.101444\nv -0.084077 0.091860 -0.014748\nvn 2.295055 2.687127 -3.438442\nv -0.046090 0.092283 -0.015188\nvn -2.236032 3.685741 -3.977401\nv -0.038448 0.092115 -0.015143\nvn 1.993690 -1.725146 -1.262964\nv 0.048997 0.091492 -0.015154\nvn 3.725484 1.765454 -4.258558\nv -0.047651 0.094034 -0.015298\nvn -5.669160 3.326568 2.327016\nv 0.016992 0.094045 -0.015165\nvn -1.471871 0.408020 -1.357726\nv -0.082598 0.096181 -0.015649\nvn 5.603498 -5.045379 -4.635801\nv 0.054354 0.097770 -0.014832\nvn -7.159419 4.092635 -6.435583\nv -0.032592 0.099766 -0.014971\nvn -7.149890 4.705456 2.751936\nv 0.020830 0.099643 -0.014811\nvn 2.620867 -1.180768 -2.680988\nv -0.047527 0.099986 -0.015497\nvn 2.733545 -2.127888 -3.552897\nv -0.046307 0.101300 -0.015199\nvn -3.099065 0.727416 -2.375856\nv -0.080711 0.101900 -0.015801\nvn 2.874071 -1.933202 -1.995184\nv 0.057248 0.101460 -0.015317\nvn -5.737013 2.125934 -3.279393\nv -0.080673 0.103985 -0.014935\nvn 6.614357 -2.092263 0.599452\nv 0.008888 0.102054 -0.014821\nvn -4.108002 3.032597 -4.298493\nv -0.030860 0.101911 -0.015009\nvn 3.179030 -2.567732 -4.387108\nv -0.044361 0.103514 -0.015250\nvn 5.512467 -2.065279 1.091111\nv 0.009498 0.103768 -0.014671\nvn 2.981298 -2.694924 -4.426954\nv -0.042428 0.105637 -0.015041\nvn -6.114169 1.490243 -1.557983\nv -0.028288 0.107594 -0.014620\nvn -3.897610 0.402156 -3.062216\nv -0.027557 0.108269 -0.015726\nvn -4.223783 0.832812 -2.352974\nv -0.027506 0.109671 -0.015602\nvn -4.496419 2.701322 -2.815764\nv -0.077788 0.109626 -0.014759\nvn 2.743007 -0.702857 0.684081\nv 0.011872 0.110300 -0.015687\nvn -6.501533 4.251992 1.813281\nv 0.026814 0.109448 -0.014902\nvn 2.361271 -2.526145 -1.178786\nv -0.036849 0.109949 -0.014573\nvn -6.442245 2.251752 -0.378694\nv -0.027352 0.111754 -0.014853\nvn -4.197001 2.486892 1.066711\nv 0.027578 0.110924 -0.015640\nvn -8.785647 4.412905 1.763196\nv 0.029014 0.113355 -0.014992\nvn 4.954622 -4.430975 -6.466947\nv 0.064034 0.111671 -0.014761\nvn -6.392227 4.320333 -4.606174\nv -0.075876 0.113050 -0.014744\nvn 0.437516 -2.105957 -4.467825\nv 0.071750 0.112808 -0.015683\nvn -1.494976 -3.112054 -5.987046\nv 0.067799 0.113419 -0.015260\nvn 3.143378 -2.627016 -6.708837\nv 0.074153 0.113359 -0.015293\nvn -2.831897 1.859138 -2.122355\nv -0.074630 0.114181 -0.015314\nvn 7.842510 -3.629629 2.333062\nv 0.012796 0.113678 -0.014591\nvn 0.000000 0.000000 0.000000\nv 0.074544 0.114675 -0.015676\nvn -5.918317 3.588860 -3.961640\nv -0.074216 0.115490 -0.014709\nvn -4.777895 3.819609 -3.316941\nv -0.072820 0.117669 -0.014901\nvn -3.608903 2.387133 -1.668941\nv -0.070821 0.119753 -0.015201\nvn 6.392738 -0.669737 -2.519984\nv 0.076469 0.119311 -0.014960\nvn 6.619622 -5.210242 3.129329\nv 0.016830 0.119591 -0.014971\nvn 3.056981 -0.801391 2.356979\nv -0.031302 0.119997 -0.015413\nvn 3.979406 -1.417180 4.091767\nv -0.031003 0.121448 -0.015373\nvn 5.950680 -4.636792 2.609004\nv 0.018386 0.121749 -0.015041\nvn 7.642698 -0.851585 -1.738288\nv 0.076670 0.121512 -0.014755\nvn -2.703884 -3.705626 1.918488\nv 0.029114 0.123834 -0.014785\nvn -3.568380 4.324332 5.212926\nv -0.020808 0.123250 -0.015284\nvn 3.491360 -0.664576 3.472031\nv -0.029138 0.125709 -0.015256\nvn -3.905921 2.494101 4.972235\nv -0.018875 0.125202 -0.015117\nvn 2.030100 -1.278684 -3.173679\nv 0.080905 0.127285 -0.015729\nvn 4.315171 -1.722115 1.823896\nv -0.028387 0.129522 -0.014891\nvn -4.399908 2.592507 2.933402\nv -0.014839 0.129730 -0.014864\nvn 3.107563 -2.127806 -5.791526\nv 0.084303 0.130943 -0.015397\nvn -4.402337 2.278332 4.863684\nv -0.014412 0.131393 -0.015317\nvn -1.708989 0.859326 2.310375\nv -0.013985 0.132633 -0.015480\nvn 2.181262 -1.203425 -4.327465\nv 0.084633 0.133078 -0.015707\nvn 2.068932 2.336067 7.133882\nv 0.064231 0.133460 -0.015308\nvn -1.419724 1.347254 5.248887\nv 0.066074 0.133290 -0.015409\nvn -4.651520 3.648479 -0.622731\nv -0.058615 0.133639 -0.014764\nvn 1.411914 1.097447 2.398574\nv 0.063991 0.134467 -0.015672\nvn 3.434736 -1.827855 -6.965007\nv 0.086250 0.135076 -0.015534\nvn 0.918272 -0.325631 0.237535\nv -0.025386 0.136025 -0.015762\nvn 3.782729 1.629923 6.807009\nv 0.062240 0.136979 -0.015241\nvn -7.303466 5.040686 -0.321932\nv -0.056056 0.137196 -0.014671\nvn 2.280982 1.520870 4.120923\nv 0.063089 0.138038 -0.015831\nvn 2.274055 1.527313 -5.252119\nv 0.086448 0.138125 -0.015674\nvn -2.678114 2.071809 2.100586\nv -0.008888 0.138917 -0.015347\nvn 2.614603 3.018945 -6.911846\nv 0.086003 0.139264 -0.015265\nvn 1.214097 -6.677052 2.170751\nv -0.074074 0.139554 -0.014839\nvn 1.935314 -2.697568 2.020857\nv -0.072637 0.139861 -0.015338\nvn 1.412195 1.853691 -4.417781\nv 0.084503 0.140045 -0.015499\nvn -3.102189 -6.595828 -2.231128\nv -0.075867 0.139952 -0.014654\nvn -4.066284 3.493712 2.605931\nv -0.007631 0.139784 -0.014527\nvn 3.607998 -4.475832 3.897628\nv -0.071746 0.141227 -0.014949\nvn 2.393212 1.444789 4.106324\nv 0.059873 0.141479 -0.015649\nvn -4.893974 2.295125 -1.684481\nv 0.071416 0.141363 -0.014933\nvn 1.789080 2.687577 -6.194899\nv 0.084143 0.141288 -0.015109\nvn 1.766408 2.864606 -6.131555\nv 0.082185 0.141508 -0.015507\nvn 1.827214 -2.619678 2.401529\nv -0.069871 0.142105 -0.015472\nvn 7.681463 -0.885508 1.902767\nv -0.023583 0.142807 -0.015364\nvn -4.852137 4.288542 2.610539\nv -0.006544 0.141248 -0.014868\nvn 2.262841 1.756347 4.048051\nv 0.059333 0.142654 -0.015658\nvn -4.679475 3.161295 -4.799295\nv 0.071964 0.143251 -0.014866\nvn 1.130406 3.872322 -6.860547\nv 0.079913 0.142935 -0.015457\nvn -1.921045 -3.785979 -0.793425\nv -0.055973 0.143836 -0.014293\nvn -0.707319 3.156770 -4.931284\nv 0.074085 0.143422 -0.015669\nvn 0.579091 3.967711 -5.725952\nv 0.076023 0.143603 -0.015444\nvn 4.048382 3.278127 4.447077\nv 0.057902 0.143138 -0.015107\nvn -2.651549 1.962175 -3.730831\nv -0.076473 0.143919 -0.015512\nvn 6.730217 -0.676958 1.762395\nv -0.023412 0.145501 -0.015006\nvn -3.992484 2.798311 -4.753727\nv -0.074668 0.147404 -0.015200\nvn 1.367114 1.344379 2.293773\nv 0.055739 0.146464 -0.015550\nvn 4.937609 5.325165 5.062119\nv 0.054167 0.146898 -0.014762\nvn 5.837609 -0.281651 1.249530\nv -0.023274 0.147835 -0.014861\nvn 1.101730 1.022837 1.898843\nv 0.053384 0.148281 -0.015683\nvn 3.722195 5.734127 3.834272\nv 0.050493 0.149642 -0.014758\nvn 0.000000 0.000000 0.000000\nv 0.003677 0.150166 -0.015687\nvn -2.519700 7.102914 2.251947\nv -0.066131 0.151175 -0.014732\nvn 7.753213 1.377013 0.978174\nv -0.023448 0.151285 -0.014754\nvn -2.146149 5.313931 1.746759\nv 0.010259 0.153728 -0.014943\nvn 4.931160 0.732889 0.070101\nv -0.024069 0.154621 -0.015020\nvn -1.048973 6.516075 2.327498\nv 0.019094 0.156220 -0.015308\nvn 0.467926 2.732632 1.146175\nv 0.035625 0.156325 -0.015687\nvn 0.385179 -4.879711 3.044031\nv -0.074109 0.157190 -0.015160\nvn -0.731071 4.667041 1.630859\nv 0.020958 0.156453 -0.015028\nvn 1.037674 6.296874 2.813687\nv 0.034597 0.156369 -0.015375\nvn -0.546948 7.599638 2.408481\nv 0.022669 0.156609 -0.014900\nvn 0.225714 7.527074 2.651528\nv 0.028921 0.156826 -0.015162\nvn -0.678001 -5.598875 0.886715\nv -0.078294 0.157369 -0.014708\nvn 0.887827 -2.743885 2.767492\nv -0.070990 0.157752 -0.015695\nvn 1.085671 -5.274029 4.419693\nv -0.067939 0.159371 -0.014919\nvn -4.199615 -8.088151 -2.457326\nv -0.081974 0.158907 -0.014654\nvn -3.328078 -5.275130 -3.158697\nv -0.083954 0.160466 -0.015018\nvn -2.520309 -4.807622 1.874351\nv -0.058272 0.160376 -0.015024\nvn -5.711922 -5.646907 -5.253283\nv -0.087721 0.162884 -0.014792\nvn -1.747730 1.181942 -5.007569\nv -0.087842 0.164861 -0.015405\nvn 0.203616 2.321473 -1.888307\nv -0.082423 0.164025 -0.015806\nvn 0.889794 5.168306 -4.300135\nv -0.082025 0.164933 -0.014660\nvn 5.248870 2.527861 -0.550945\nv -0.027493 0.166300 -0.015372\nvn 6.662051 4.035851 -1.052804\nv -0.028865 0.168789 -0.014712\nvn 5.838879 3.761308 -0.356295\nv -0.030116 0.171006 -0.014743\nvn 5.509100 2.887734 3.691535\nv -0.034889 0.176588 -0.015018\nvn -1.175843 5.529266 -1.893086\nv -0.070150 0.176775 -0.014931\nvn 2.646072 -0.171404 4.160527\nv -0.034598 0.178741 -0.015433\nvn -1.279420 3.417055 -1.582737\nv -0.064322 0.178846 -0.015041\nvn 2.850586 0.405359 6.322240\nv -0.034283 0.180744 -0.015525\nvn -0.436243 4.890267 -0.904828\nv -0.055932 0.180447 -0.015357\nvn -0.455697 6.937346 -0.704179\nv -0.052298 0.180817 -0.014889\nvn -3.214753 7.276444 2.056942\nv -0.046198 0.181283 -0.014780\nvn 1.871230 1.500151 5.471762\nv -0.035056 0.182740 -0.015591\nvn 2.612862 2.717963 6.989794\nv -0.036734 0.184671 -0.015621\nvn -3.190476 3.818571 5.814665\nv -0.042714 0.184704 -0.014815\nvn -1.015709 1.650995 2.100796\nv -0.042225 0.186281 -0.015452\nvn -1.233173 -5.734865 0.570422\nv -0.028403 0.053073 -0.014521\nvn 0.294282 -4.977264 0.020164\nv -0.026423 0.053029 -0.015162\nvn -1.992564 -7.489981 -1.346895\nv 0.024674 0.053071 -0.014574\nvn -0.191497 -3.774270 1.233592\nv 0.034475 0.053128 -0.014918\nvn -0.212401 -6.883167 0.175335\nv 0.040884 0.052774 -0.014540\nvn 0.165444 -4.916720 -0.368248\nv 0.042599 0.052785 -0.014462\nvn -0.100486 -5.956172 0.294086\nv -0.052556 0.053286 -0.014638\nvn 1.366910 -6.300724 -2.209110\nv 0.044357 0.052992 -0.014422\nvn -2.873806 -5.020440 -1.506871\nv 0.022719 0.053988 -0.014593\nvn -1.586434 -6.525537 -1.930656\nv -0.060191 0.054154 -0.014513\nvn 1.141684 -4.755425 3.352882\nv -0.042226 0.054428 -0.014828\nvn -0.989482 -4.757916 -1.147542\nv -0.062138 0.054644 -0.014571\nvn 0.224187 -5.156652 2.943417\nv -0.038936 0.054794 -0.015156\nvn -0.123360 -4.604091 1.885167\nv -0.036830 0.055016 -0.014878\nvn -0.626781 -7.532893 2.450291\nv -0.034410 0.054979 -0.014720\nvn 2.214958 -3.599717 -2.609918\nv 0.047926 0.054726 -0.014575\nvn -1.588836 -5.597559 0.599496\nv 0.054264 0.054708 -0.014690\nvn 2.335752 -2.373663 -1.694738\nv 0.069442 0.054659 -0.014357\nvn -1.758990 -6.384978 -2.115389\nv -0.064317 0.055105 -0.014837\nvn 3.273139 -4.812551 -1.193378\nv -0.019379 0.055100 -0.014404\nvn -3.109897 -4.994732 -1.031883\nv 0.021085 0.055020 -0.014492\nvn -1.888481 -4.441663 0.534290\nv 0.053081 0.055145 -0.014629\nvn 3.806414 -4.426939 -1.333818\nv -0.018451 0.056046 -0.014753\nvn -4.246062 -5.472985 -0.739606\nv 0.020104 0.055666 -0.014527\nvn -2.493853 -8.243768 -0.261363\nv 0.052395 0.055499 -0.014443\nvn 4.467249 -1.186828 -3.303534\nv 0.069879 0.056063 -0.014632\nvn 0.816811 -5.931479 -2.847511\nv 0.050627 0.055990 -0.014659\nvn -2.621510 -4.916182 -2.152934\nv -0.067831 0.056356 -0.014511\nvn -3.461007 -3.518266 -0.823630\nv 0.018776 0.056736 -0.014743\nvn -2.521398 -4.901557 -2.322001\nv -0.069167 0.057074 -0.014574\nvn 3.604581 -4.603795 -1.309301\nv -0.017202 0.056954 -0.014239\nvn 6.087826 2.981036 -5.795551\nv 0.069567 0.058149 -0.014292\nvn -2.630484 -5.127710 -1.780764\nv -0.072101 0.058504 -0.014497\nvn -4.215325 -2.657222 -0.753003\nv 0.017240 0.058654 -0.014221\nvn 4.428085 3.071442 -5.123735\nv 0.067904 0.060153 -0.014445\nvn -1.975803 -3.158082 -1.438696\nv -0.073033 0.059305 -0.015137\nvn -4.077025 -6.605103 -1.483258\nv -0.074266 0.059887 -0.014562\nvn 2.234138 -1.773561 -0.907247\nv -0.013765 0.060863 -0.015337\nvn -3.291990 -3.547658 -0.342384\nv -0.075419 0.060824 -0.014532\nvn -4.452382 -2.227925 -0.124056\nv 0.014960 0.062100 -0.014638\nvn -4.208784 -5.123240 -1.137989\nv -0.076545 0.061734 -0.014310\nvn -3.914916 -2.691886 -0.180860\nv -0.077458 0.062666 -0.014307\nvn 4.135877 -4.091218 -1.414901\nv -0.011360 0.063009 -0.014619\nvn -7.278609 -4.294251 -2.537827\nv -0.078471 0.064233 -0.014614\nvn -3.649385 -1.550482 0.170820\nv 0.013779 0.064822 -0.014988\nvn -5.529124 -2.855944 -3.082140\nv -0.079575 0.066295 -0.014876\nvn 6.394707 -4.385570 -1.871902\nv -0.008867 0.066217 -0.014336\nvn 3.036860 -2.453593 -0.844925\nv -0.008212 0.067425 -0.015162\nvn 5.934896 -4.992352 -0.976296\nv -0.007234 0.068336 -0.014527\nvn -5.797776 -1.401966 0.535593\nv 0.012863 0.068142 -0.014584\nvn 3.181666 4.984956 0.787741\nv 0.058624 0.068893 -0.014551\nvn 2.266772 -1.735670 -0.000846\nv -0.006345 0.069429 -0.014649\nvn 2.640520 4.080944 1.142956\nv 0.056191 0.070366 -0.014475\nvn 6.461409 -4.330908 -0.810528\nv -0.005637 0.070413 -0.014601\nvn -3.882608 -0.849475 0.309962\nv 0.012345 0.070124 -0.014702\nvn -7.140819 -2.486712 -4.785321\nv -0.082329 0.072270 -0.014702\nvn -6.900585 -0.812750 0.397790\nv 0.012024 0.072008 -0.014447\nvn 3.004925 4.722971 2.136998\nv 0.052431 0.072878 -0.014521\nvn -3.826585 -1.056248 -3.014657\nv -0.082617 0.074070 -0.015100\nvn 4.851916 -3.435038 -0.767228\nv -0.003058 0.074357 -0.014427\nvn -3.718086 -0.667999 -3.253003\nv -0.082681 0.075474 -0.015438\nvn 4.190386 2.628489 -0.186487\nv 0.046886 0.077843 -0.014737\nvn -3.909765 -0.815789 -2.984250\nv -0.083716 0.077956 -0.014544\nvn 6.345517 -2.850706 -0.673557\nv -0.000291 0.079523 -0.014696\nvn 5.577202 2.017766 -0.320427\nv 0.045981 0.079867 -0.014660\nvn 7.320730 -3.107761 -0.680156\nv 0.000858 0.082032 -0.014506\nvn 6.877513 0.267076 -0.797641\nv 0.045648 0.081965 -0.014521\nvn -5.020302 -0.042334 -3.255393\nv -0.084175 0.084381 -0.014710\nvn 5.239744 -2.884088 -0.210437\nv 0.001992 0.084699 -0.014507\nvn -5.266457 -1.183514 -3.434443\nv -0.084392 0.086107 -0.014574\nvn 4.506763 -1.536349 -1.483265\nv 0.046510 0.085887 -0.014596\nvn -7.530221 1.344066 1.778047\nv 0.013412 0.085855 -0.014681\nvn -2.630762 0.801127 0.710252\nv 0.013619 0.087349 -0.014898\nvn -5.178463 0.279933 -2.911896\nv -0.084497 0.089638 -0.014675\nvn -0.545068 5.054247 -5.366267\nv -0.042712 0.091556 -0.014595\nvn -0.445361 4.017488 -4.395473\nv -0.040472 0.091617 -0.014756\nvn 2.037947 4.954487 -6.840751\nv -0.044454 0.092100 -0.014530\nvn 3.939736 -3.133765 -3.119955\nv 0.050001 0.091992 -0.014566\nvn 4.678565 -1.756813 0.003673\nv 0.005808 0.092909 -0.014427\nvn -4.695694 2.875711 2.299650\nv 0.016140 0.092442 -0.014783\nvn -5.731291 0.908910 -3.799588\nv -0.083758 0.094072 -0.014570\nvn 5.669306 -1.948855 0.142738\nv 0.006245 0.094157 -0.014397\nvn 5.432291 -4.355981 -3.831933\nv 0.052057 0.094377 -0.014535\nvn 4.962487 0.149952 -4.876964\nv -0.047849 0.095667 -0.015141\nvn -4.991093 1.359318 -3.063816\nv -0.083462 0.095890 -0.014678\nvn -4.546875 3.306371 2.030427\nv 0.018946 0.097250 -0.015085\nvn -3.065116 1.036644 -2.338770\nv -0.082583 0.097944 -0.015065\nvn -3.816154 2.786159 1.592554\nv 0.019985 0.098205 -0.014604\nvn 2.822106 -0.668596 -2.708445\nv -0.047540 0.098391 -0.015078\nvn -7.238426 2.711669 -4.506678\nv -0.082329 0.099606 -0.014543\nvn 5.719179 -1.700210 0.349783\nv 0.008234 0.099485 -0.014747\nvn 5.584511 -4.734092 -5.081740\nv 0.056449 0.099757 -0.014905\nvn -5.749723 1.699974 -3.504315\nv -0.081620 0.101393 -0.014598\nvn 3.932970 -2.914962 -3.377925\nv 0.058010 0.101865 -0.014663\nvn -3.461812 1.198097 -1.576060\nv -0.081207 0.103117 -0.014434\nvn -5.588762 2.346454 -2.472463\nv -0.030503 0.103613 -0.014422\nvn -5.815885 3.375030 1.920905\nv 0.023258 0.103621 -0.014814\nvn 4.624249 -2.164757 -2.867154\nv 0.059832 0.104044 -0.014559\nvn 5.627991 -1.684401 1.112159\nv 0.010204 0.105757 -0.014634\nvn -5.787861 3.435871 1.874952\nv 0.024426 0.105630 -0.014740\nvn -5.377609 3.035490 -3.272495\nv -0.078682 0.107583 -0.015217\nvn 6.560019 -1.982361 1.302900\nv 0.010722 0.107821 -0.014639\nvn 2.705173 -1.853999 -2.251428\nv 0.061151 0.107276 -0.015155\nvn 3.466568 -3.095522 -3.437450\nv -0.040236 0.107786 -0.014910\nvn -5.003176 2.956564 1.450111\nv 0.025392 0.107218 -0.014680\nvn 3.571863 -2.370419 -2.311411\nv 0.062207 0.107836 -0.014517\nvn -4.274953 1.271526 0.827180\nv -0.027930 0.109380 -0.014421\nvn 5.248239 -1.909617 -0.010800\nv -0.036039 0.111287 -0.014519\nvn 4.674554 -1.527023 0.870334\nv 0.012173 0.111748 -0.014701\nvn -4.304598 2.372765 0.881827\nv 0.027971 0.111341 -0.014951\nvn -2.174623 1.290536 -1.597150\nv -0.076491 0.111875 -0.014958\nvn -0.683237 -3.143507 -6.173148\nv 0.070373 0.111989 -0.015236\nvn 0.574643 -2.012079 -4.498650\nv 0.071946 0.111562 -0.015090\nvn -1.784902 -3.296536 -5.896680\nv 0.068300 0.111578 -0.014421\nvn -0.943153 -1.762886 -3.421653\nv 0.069302 0.112925 -0.015594\nvn 0.526594 -1.197951 -2.405838\nv 0.064839 0.112734 -0.014975\nvn 4.857266 -2.366486 0.464811\nv -0.035318 0.113835 -0.014699\nvn -3.565337 1.667135 0.682974\nv 0.029625 0.114816 -0.015478\nvn 3.515417 -0.986956 -3.279242\nv 0.076065 0.116177 -0.014728\nvn 2.468050 -2.042197 0.942641\nv -0.032683 0.115959 -0.015037\nvn 4.122850 -2.381639 1.512711\nv 0.014166 0.115936 -0.014848\nvn -3.665312 2.292590 -2.493714\nv -0.073461 0.117006 -0.014630\nvn 6.264682 -4.235101 2.517250\nv 0.014980 0.117389 -0.014762\nvn 4.779750 -3.570279 4.063435\nv -0.032316 0.117461 -0.014506\nvn -6.424273 2.529743 1.105562\nv 0.030361 0.116188 -0.014548\nvn -4.917165 4.037227 -2.793895\nv -0.071710 0.119314 -0.014485\nvn -3.547763 2.390188 5.048009\nv -0.022922 0.119679 -0.014883\nvn -5.552629 4.315118 -3.784607\nv -0.069871 0.121360 -0.014716\nvn -6.319917 -1.931961 1.960956\nv 0.031065 0.121488 -0.014623\nvn -5.969622 5.675713 -3.393919\nv -0.068110 0.123557 -0.014699\nvn 3.501356 -2.057328 4.238296\nv -0.030843 0.123227 -0.014689\nvn 4.647474 -1.565771 -0.516550\nv 0.076931 0.122795 -0.014667\nvn 3.167307 -3.507577 1.552104\nv 0.019009 0.122811 -0.014312\nvn -4.584927 3.342687 5.317696\nv -0.019100 0.123463 -0.014512\nvn -4.264161 3.646515 -2.030839\nv -0.066317 0.125465 -0.014500\nvn 2.541791 -7.047328 2.614824\nv 0.022545 0.124834 -0.014605\nvn -2.399087 -3.849408 2.006451\nv 0.028146 0.124713 -0.014539\nvn 0.449773 -6.515187 2.421152\nv 0.024730 0.125227 -0.014671\nvn -1.106245 -4.385274 1.906152\nv 0.026845 0.125234 -0.014680\nvn 1.341101 -4.888374 -2.611915\nv 0.080194 0.125295 -0.014610\nvn 4.161378 -2.434354 -7.510911\nv 0.081964 0.127422 -0.015171\nvn 1.867482 -3.479980 -4.272238\nv 0.082117 0.125673 -0.014450\nvn -3.510824 2.544215 2.171600\nv -0.015523 0.128184 -0.014549\nvn 1.577115 -0.899980 -2.326047\nv 0.082492 0.128752 -0.015180\nvn 4.788810 -3.878030 -7.537691\nv 0.084109 0.129447 -0.014552\nvn 4.332271 -1.877486 1.604737\nv -0.028029 0.130790 -0.014419\nvn 4.361473 -1.855347 1.527977\nv -0.027476 0.131981 -0.014581\nvn 2.283831 -1.867302 -5.129372\nv 0.086113 0.131265 -0.014721\nvn -4.136835 4.283934 -0.687941\nv -0.059573 0.132703 -0.014331\nvn 2.004364 -1.041267 -4.454970\nv 0.085923 0.133470 -0.015216\nvn -2.034756 1.638382 1.336691\nv -0.012017 0.134315 -0.015104\nvn -4.937854 3.325750 -0.544080\nv -0.057954 0.134814 -0.014400\nvn 3.019896 1.431356 4.933894\nv 0.062568 0.134967 -0.014975\nvn 2.155443 -1.186887 -4.311511\nv 0.087814 0.135202 -0.014854\nvn 4.598503 -1.346342 1.415246\nv -0.025244 0.137200 -0.014835\nvn -5.901088 1.939608 2.117684\nv 0.067572 0.137042 -0.014600\nvn 3.705196 -0.306803 -6.905107\nv 0.087802 0.136998 -0.015135\nvn -4.242967 3.247208 2.672644\nv -0.009233 0.137737 -0.014387\nvn 3.470613 2.859258 -6.407404\nv 0.087977 0.139047 -0.014566\nvn 5.482711 3.765239 7.071231\nv 0.060239 0.139265 -0.014905\nvn -5.203547 2.922864 -0.205309\nv -0.054911 0.139453 -0.014486\nvn 6.375793 -1.979583 2.055582\nv -0.024718 0.139459 -0.014631\nvn -3.239713 4.847946 -0.171321\nv 0.069753 0.139861 -0.014472\nvn -1.481041 -1.944367 -1.578387\nv -0.076657 0.140692 -0.015076\nvn 6.507419 -1.827468 1.729395\nv -0.024047 0.141215 -0.014728\nvn -4.431315 3.731006 -0.478050\nv 0.070781 0.140546 -0.014474\nvn 4.558876 2.616594 4.412598\nv 0.058401 0.141349 -0.014471\nvn -4.312803 -3.359473 -4.910597\nv -0.077874 0.141355 -0.014457\nvn 2.613082 -5.676683 2.508026\nv -0.070095 0.142851 -0.014399\nvn -5.056476 5.185918 3.313353\nv -0.004776 0.143012 -0.014866\nvn -4.145481 1.878656 -6.349477\nv -0.078065 0.143246 -0.014520\nvn 0.456076 2.784348 -4.118820\nv 0.078086 0.143671 -0.015200\nvn 1.616811 -4.509708 -0.191271\nv -0.066412 0.144064 -0.014445\nvn -2.471428 2.555297 1.809821\nv -0.003769 0.143796 -0.014611\nvn -3.125406 2.146097 -4.609755\nv -0.076051 0.145516 -0.014826\nvn 1.863442 -4.393480 0.319542\nv -0.065668 0.144446 -0.015067\nvn 1.273893 -6.767262 -0.676755\nv -0.064362 0.144639 -0.014489\nvn 5.756330 5.066954 6.066674\nv 0.056044 0.145129 -0.014866\nvn 0.460987 -3.948291 -0.445206\nv -0.060022 0.144913 -0.014490\nvn 3.703232 4.898799 3.274507\nv 0.052710 0.147891 -0.014463\nvn -3.029681 5.577341 -2.000924\nv -0.074013 0.148708 -0.014351\nvn -1.394278 2.290790 1.321417\nv 0.001227 0.148475 -0.015337\nvn -1.086382 2.585787 0.199587\nv -0.071143 0.150117 -0.014966\nvn -3.617273 5.467429 2.392167\nv 0.006474 0.151712 -0.014616\nvn 2.401217 4.815230 2.573283\nv 0.046349 0.151889 -0.014273\nvn 3.807389 0.999797 0.599441\nv -0.023641 0.152345 -0.014861\nvn -1.637221 3.339576 1.423253\nv 0.007498 0.152568 -0.015162\nvn 1.228808 3.332758 1.800041\nv 0.045816 0.152436 -0.014914\nvn 6.878156 1.049435 0.154875\nv -0.023891 0.153215 -0.014370\nvn 2.216513 5.117401 2.195018\nv 0.044448 0.152931 -0.014654\nvn -2.482983 5.151958 1.749118\nv 0.008846 0.153057 -0.014593\nvn 3.134889 7.637000 3.361689\nv 0.042535 0.153658 -0.014699\nvn 1.502587 4.238295 2.159056\nv 0.040286 0.154654 -0.014842\nvn -1.161003 4.649176 1.400524\nv 0.014778 0.155373 -0.014566\nvn 5.879441 1.029892 -0.182157\nv -0.024435 0.156749 -0.014627\nvn -0.935803 6.590616 2.141388\nv 0.016528 0.155694 -0.014573\nvn 1.760051 7.237120 2.876798\nv 0.036781 0.155641 -0.014535\nvn -2.513015 -6.527838 1.028878\nv -0.079648 0.157705 -0.014569\nvn 1.352450 -4.166639 4.082686\nv -0.072289 0.157848 -0.015135\nvn -4.605405 1.301512 1.189011\nv -0.057006 0.157692 -0.014633\nvn 7.563419 1.454061 -1.368450\nv -0.024898 0.159174 -0.014632\nvn 1.523274 -4.798132 4.861683\nv -0.071990 0.158409 -0.014689\nvn -1.717170 -3.057848 -1.567896\nv -0.080811 0.158317 -0.015174\nvn 1.753979 -6.455873 6.003467\nv -0.070147 0.159121 -0.014535\nvn -5.020329 -1.498733 2.286115\nv -0.056842 0.159072 -0.014484\nvn 1.350119 -4.883473 3.016667\nv -0.066267 0.159574 -0.015126\nvn 1.169875 -7.043310 3.274203\nv -0.063995 0.160377 -0.014669\nvn 0.425446 -4.634409 1.759102\nv -0.062587 0.160703 -0.014537\nvn 4.427767 1.476282 -1.438451\nv -0.025331 0.161087 -0.014574\nvn -1.270476 -1.734310 -1.731170\nv -0.086664 0.162244 -0.015337\nvn 5.907638 2.262682 -2.513331\nv -0.026119 0.163108 -0.014600\nvn 5.379563 2.028409 -1.359075\nv -0.026733 0.164796 -0.014507\nvn 0.938748 4.978824 -4.810256\nv -0.084300 0.165079 -0.014942\nvn 0.460752 3.203521 -3.732382\nv -0.086273 0.165234 -0.015211\nvn -1.903024 3.882511 -2.284333\nv -0.079227 0.166424 -0.014322\nvn -0.955607 4.343611 -2.081494\nv -0.077992 0.166719 -0.014637\nvn -0.493454 7.553783 -2.432654\nv -0.076123 0.166730 -0.014624\nvn 4.036566 2.534956 -0.994587\nv -0.027849 0.167136 -0.014401\nvn 2.609209 1.468755 0.122929\nv -0.029489 0.169884 -0.014988\nvn -2.617275 1.177545 -0.592059\nv -0.073305 0.169975 -0.015337\nvn -7.387974 1.922005 -0.583749\nv -0.072814 0.171104 -0.014507\nvn -4.661911 -0.991705 0.364466\nv -0.072641 0.172403 -0.014579\nvn 4.500875 3.954272 -0.148067\nv -0.031867 0.173325 -0.014461\nvn -4.770099 -1.127347 0.804075\nv -0.073157 0.173545 -0.015049\nvn 3.379787 3.674962 0.054127\nv -0.033034 0.174514 -0.014421\nvn -4.008500 5.093699 -0.246649\nv -0.072076 0.176484 -0.014411\nvn -2.558534 5.745842 -2.994234\nv -0.065931 0.178455 -0.014378\nvn -1.277981 5.548322 -1.808214\nv -0.059829 0.180191 -0.014752\nvn -0.765226 7.717403 -1.841358\nv -0.058331 0.180381 -0.014871\nvn -0.391599 4.935978 -0.660909\nv -0.054860 0.180637 -0.014813\nvn 1.116748 0.939186 3.722854\nv -0.036518 0.182571 -0.015097\nvn -0.337064 3.050327 5.962466\nv -0.040585 0.186542 -0.015249\nvn 0.446390 -4.835518 1.058934\nv -0.050265 0.053469 -0.014220\nvn 1.091249 -5.878193 -0.259030\nv -0.025023 0.053223 -0.014988\nvn 0.658126 -4.824913 3.439526\nv -0.040754 0.054897 -0.014570\nvn -0.824530 -0.573181 -0.354368\nv 0.018027 0.057578 -0.014835\nvn 4.570807 2.872415 -4.168143\nv 0.067598 0.062013 -0.014300\nvn 2.375721 -1.623330 -0.776318\nv -0.009781 0.064800 -0.014462\nvn -4.452570 -1.969140 -3.470028\nv -0.081544 0.070045 -0.014538\nvn -5.961113 -0.071473 0.476063\nv 0.011917 0.074061 -0.014984\nvn -6.583632 -1.237349 -4.299398\nv -0.083545 0.076161 -0.014442\nvn -4.522870 -0.747250 -3.847381\nv -0.083830 0.079817 -0.014936\nvn -5.174596 -0.085091 -2.970444\nv -0.084508 0.087925 -0.014554\nvn 3.064053 2.100620 -5.778045\nv -0.046495 0.094114 -0.014376\nvn -2.896679 3.859887 -6.347949\nv -0.038248 0.093615 -0.014374\nvn -3.935651 2.385283 1.937723\nv 0.018396 0.095937 -0.014446\nvn -2.806208 1.411449 -2.465525\nv -0.034007 0.097655 -0.014376\nvn 5.751874 -2.750963 -7.433284\nv -0.046496 0.099577 -0.014459\nvn -1.911908 1.340565 -0.853273\nv -0.032493 0.101362 -0.014169\nvn 3.859963 -3.234433 -6.186755\nv -0.044568 0.101786 -0.014491\nvn 4.541178 -3.225319 -5.599021\nv -0.042841 0.103917 -0.014364\nvn 4.813710 -3.488371 -5.093491\nv -0.040765 0.106060 -0.014417\nvn -2.347193 1.380989 -1.257473\nv -0.079219 0.107378 -0.014450\nvn -3.181621 2.169197 1.019371\nv 0.026179 0.108419 -0.014439\nvn -5.290809 2.720930 -3.653836\nv -0.077366 0.111255 -0.014190\nvn 2.785669 -2.801706 -6.854908\nv 0.074091 0.111317 -0.014502\nvn 4.377926 -1.317559 -0.595045\nv -0.035626 0.112884 -0.014489\nvn 3.373507 -1.001470 -3.426208\nv 0.075779 0.113780 -0.014347\nvn 3.078147 -2.163641 1.355518\nv 0.017599 0.121031 -0.014354\nvn -4.061158 2.843225 3.256807\nv -0.017292 0.125900 -0.014249\nvn -2.814358 2.444960 -1.364200\nv -0.065358 0.126739 -0.014470\nvn -1.469054 1.379807 5.459361\nv 0.066089 0.131289 -0.015032\nvn 0.875178 1.558540 5.664855\nv 0.064328 0.131293 -0.014910\nvn -4.233159 1.268040 3.431766\nv 0.067691 0.131304 -0.014372\nvn -3.912560 0.006752 4.015739\nv 0.067674 0.133135 -0.014555\nvn 3.997744 1.203580 5.422245\nv 0.062164 0.133389 -0.014451\nvn -4.291063 -0.325096 2.404753\nv 0.067398 0.134734 -0.014310\nvn 1.326413 1.310431 -3.530653\nv 0.086018 0.141368 -0.014505\nvn -6.205410 2.876108 -0.104823\nv -0.053706 0.141402 -0.014282\nvn 1.428929 2.758850 -5.123954\nv 0.081865 0.143347 -0.014737\nvn -2.729058 1.819814 -3.757981\nv -0.077464 0.144661 -0.014295\nvn 2.548609 2.114450 2.184371\nv 0.056740 0.143843 -0.014510\nvn -0.285967 3.652914 -4.592858\nv 0.074505 0.145141 -0.014536\nvn 0.839918 3.370558 -3.432111\nv 0.075807 0.144894 -0.014493\nvn -1.828373 3.202061 -4.409037\nv 0.072476 0.145157 -0.014225\nvn -2.401489 2.838894 1.453258\nv -0.001604 0.145824 -0.014547\nvn 5.931527 0.156388 0.770871\nv -0.023370 0.149612 -0.014619\nvn -1.099897 5.591813 1.785591\nv -0.064402 0.151837 -0.015046\nvn -0.454473 3.767889 1.252630\nv 0.018185 0.155959 -0.014973\nvn -4.773216 -1.326025 -5.147203\nv -0.089634 0.164843 -0.014396\nvn 0.054116 4.523360 -6.078834\nv -0.087966 0.166424 -0.014467\nvn 3.844873 3.149609 -0.320568\nv -0.031081 0.172371 -0.014462\nvn 3.841027 1.458326 5.186687\nv -0.036199 0.178748 -0.014552\nvn 2.333767 1.491859 6.368618\nv -0.036488 0.180799 -0.014709\nvn 1.911356 1.630760 6.530603\nv -0.038567 0.182889 -0.014581\nvn 1.480060 1.673190 5.552265\nv -0.038530 0.184761 -0.015036\nvn 0.486753 -4.939398 -0.135925\nv 0.065977 0.053718 -0.014638\nvn -0.325136 -4.986995 -0.092693\nv 0.062477 0.053833 -0.014287\nvn -0.844700 -4.907049 -0.028769\nv 0.055827 0.054364 -0.014638\nvn -0.665324 -7.966175 -0.251333\nv 0.058627 0.054157 -0.014375\nvn 2.168364 -1.896687 -0.742232\nv -0.014872 0.058936 -0.014292\nvn 2.183850 3.109132 -1.148679\nv 0.063665 0.065505 -0.014289\nvn -5.833731 0.905473 0.912661\nv 0.012371 0.079763 -0.014192\nvn 3.635339 -1.636342 -0.229791\nv 0.000175 0.080421 -0.014288\nvn -3.843584 0.657420 0.826697\nv 0.013259 0.084307 -0.014390\nvn 2.433738 -1.046107 -1.283928\nv 0.047523 0.088306 -0.014286\nvn -1.871903 2.526054 -3.852196\nv -0.036142 0.095609 -0.014321\nvn 3.456171 -2.573952 -2.525814\nv 0.053683 0.096168 -0.014274\nvn 3.165711 -0.558437 -3.790144\nv -0.046820 0.098017 -0.014315\nvn 1.617639 -1.760017 -1.763648\nv 0.055852 0.098343 -0.014238\nvn -4.046312 2.506140 1.523189\nv 0.022385 0.101652 -0.014171\nvn 0.661769 -3.795190 -8.039167\nv 0.071966 0.109960 -0.014347\nvn -5.676838 1.498887 1.176502\nv 0.030978 0.117818 -0.014263\nvn -2.478131 1.450946 5.113073\nv -0.022819 0.117807 -0.014309\nvn 6.223817 -0.953868 4.862986\nv -0.032001 0.119449 -0.014408\nvn -5.756017 0.387882 1.421907\nv 0.031333 0.119529 -0.014345\nvn 4.476220 -1.240577 3.721827\nv -0.031998 0.121553 -0.014186\nvn -2.846091 2.820466 5.608475\nv -0.021204 0.121667 -0.014347\nvn 4.016302 -1.577942 3.929027\nv -0.030456 0.124934 -0.014326\nvn -2.136656 2.988590 6.393754\nv 0.066295 0.129444 -0.014354\nvn 2.088305 2.039031 6.146579\nv 0.064256 0.129628 -0.014303\nvn -3.103678 2.452579 -0.513890\nv -0.061577 0.130658 -0.014229\nvn 2.628170 1.533707 5.048432\nv 0.062793 0.131379 -0.014416\nvn -4.604298 2.701366 2.666420\nv -0.013467 0.131505 -0.014194\nvn 3.576633 -1.552343 -6.954167\nv 0.087894 0.133189 -0.014235\nvn 1.148625 2.336454 -4.263646\nv 0.083774 0.142892 -0.014382\nvn 0.115634 3.676866 -4.564313\nv 0.077916 0.144845 -0.014356\nvn 0.582993 2.572374 -4.203393\nv 0.079793 0.144985 -0.014293\nvn 1.856267 1.893496 1.375176\nv 0.054900 0.145718 -0.014270\nvn -3.278202 2.639158 -4.137232\nv -0.076096 0.147010 -0.014232\nvn -1.863342 5.439888 0.689147\nv -0.062495 0.151898 -0.014348\nvn -2.573245 3.155020 -1.952574\nv -0.061565 0.152313 -0.014268\nvn -0.144759 5.726747 1.766103\nv 0.026855 0.156563 -0.014394\nvn -0.648165 0.216462 -1.398395\nv -0.089703 0.166518 -0.014317\nvn -0.074760 5.979607 -0.339990\nv -0.050223 0.180948 -0.014638\nvn 0.192967 1.733689 4.603221\nv -0.040684 0.184641 -0.014497\nvn -0.796023 -4.621585 1.600545\nv 0.039407 0.053144 -0.013436\nvn -0.403519 -6.923464 -0.673101\nv -0.056144 0.053308 -0.013938\nvn 0.179961 -3.980883 0.110407\nv -0.054860 0.053277 -0.013354\nvn 0.330597 -4.854170 0.973162\nv -0.051970 0.053382 -0.013862\nvn 0.000000 0.000000 0.000000\nv -0.029223 0.053355 -0.014112\nvn 0.359879 -3.647390 1.591751\nv 0.032290 0.053526 -0.014146\nvn -0.488269 -6.317372 2.956001\nv 0.034788 0.053449 -0.014167\nvn -0.201311 -2.713022 1.239590\nv 0.035884 0.053381 -0.014027\nvn 0.945207 -2.451426 -1.237943\nv 0.045721 0.053151 -0.014095\nvn 4.613371 -5.243730 -2.455787\nv 0.070158 0.054503 -0.012773\nvn -1.600309 -3.473361 -1.161476\nv -0.066538 0.055534 -0.013826\nvn -0.781141 -5.536480 2.083265\nv -0.038491 0.055929 -0.012710\nvn 5.833250 -6.415163 -2.026279\nv -0.015156 0.058184 -0.012891\nvn -0.560807 -0.884241 -0.166571\nv -0.073323 0.059062 -0.014287\nvn 5.039086 -4.626721 -1.345224\nv -0.012519 0.061527 -0.012906\nvn -3.094872 -2.081614 -1.386305\nv -0.079287 0.064879 -0.013868\nvn -5.651866 -3.353689 -2.300353\nv -0.080482 0.066110 -0.012880\nvn 6.049107 -4.753762 -0.613473\nv -0.007290 0.067846 -0.012840\nvn -3.124151 -1.629109 -1.871328\nv -0.081277 0.068608 -0.013941\nvn -4.954112 -2.273898 -2.387769\nv -0.082340 0.069789 -0.013116\nvn 4.206119 6.418178 1.710319\nv 0.052509 0.072021 -0.012798\nvn -3.357661 -0.916687 -1.931659\nv -0.083275 0.074228 -0.014207\nvn 3.540658 3.287394 0.670128\nv 0.049300 0.074637 -0.013865\nvn 4.150844 2.715792 -0.366368\nv 0.048288 0.076137 -0.012839\nvn 3.747746 -1.392812 0.058424\nv 0.003956 0.088385 -0.013868\nvn -6.356571 0.978985 -2.666651\nv -0.084744 0.092229 -0.013480\nvn 3.423700 0.419122 -4.833696\nv -0.046796 0.096073 -0.014168\nvn -5.479379 1.050945 -2.100342\nv -0.084333 0.095722 -0.012996\nvn 5.931783 -5.217643 -3.150169\nv 0.054166 0.095683 -0.013003\nvn -3.358915 1.109709 -1.771486\nv -0.083385 0.097843 -0.013952\nvn 5.707184 -1.416504 1.137327\nv 0.008474 0.101387 -0.013013\nvn 7.212721 -4.543578 -3.103648\nv 0.059800 0.101920 -0.012701\nvn 2.597737 -1.838200 -1.901344\nv 0.059482 0.102692 -0.014189\nvn -3.196001 2.917247 -0.716601\nv -0.029871 0.105538 -0.014035\nvn 1.785802 -2.141523 -1.052150\nv -0.039219 0.108113 -0.014041\nvn -1.004210 -2.677589 -5.197511\nv 0.070567 0.109514 -0.014101\nvn 2.369409 -1.189226 -1.341488\nv 0.063621 0.110142 -0.013896\nvn 0.643713 -1.192146 -2.661422\nv 0.073763 0.110301 -0.014177\nvn 3.645408 -1.296147 0.936882\nv 0.011792 0.110938 -0.013993\nvn 0.169268 -3.392886 -4.711119\nv 0.066291 0.112174 -0.014224\nvn 2.831386 -1.402997 -3.825293\nv 0.075296 0.112261 -0.014185\nvn 3.285821 -1.880046 1.286947\nv 0.013635 0.115374 -0.014351\nvn 6.700816 -0.533570 -4.196016\nv 0.076734 0.115710 -0.013438\nvn 4.100794 -2.376276 1.591264\nv 0.014059 0.116436 -0.013811\nvn 7.271552 -4.385131 2.943139\nv 0.014470 0.117748 -0.012982\nvn 2.970895 -2.232041 1.459195\nv 0.015529 0.118529 -0.014207\nvn 3.663078 -3.015227 1.508460\nv 0.017888 0.122041 -0.013452\nvn -1.950084 1.792708 2.763328\nv -0.019459 0.121925 -0.013913\nvn -3.460345 2.978192 -1.934856\nv -0.069339 0.122651 -0.014114\nvn 0.000000 -0.000000 0.000000\nv -0.031649 0.122871 -0.014253\nvn 6.598083 -7.682977 3.982658\nv 0.018864 0.123380 -0.012672\nvn 1.295203 -2.502207 1.026639\nv 0.021460 0.124483 -0.014142\nvn -2.975939 -5.544624 2.913413\nv 0.028432 0.125286 -0.012856\nvn 0.798406 -6.367695 2.745294\nv 0.024550 0.125852 -0.012936\nvn 3.865799 -1.612704 2.528490\nv -0.029914 0.126845 -0.014121\nvn 2.490521 -1.481357 -3.929332\nv 0.083525 0.126260 -0.014140\nvn 2.145690 -0.806990 -3.257952\nv 0.083873 0.127812 -0.014199\nvn -2.171824 1.683023 2.529927\nv 0.067283 0.130030 -0.014078\nvn 1.539203 -2.838163 -3.677167\nv 0.085918 0.129875 -0.014035\nvn 1.919779 -1.580347 -4.270965\nv 0.087222 0.131359 -0.014257\nvn 6.944811 -3.181365 2.331205\nv -0.027247 0.133315 -0.013112\nvn 4.630047 1.653479 4.854007\nv 0.061053 0.134924 -0.013936\nvn 2.037241 -0.613517 -3.289572\nv 0.089128 0.135672 -0.014352\nvn -5.222783 3.584274 2.967258\nv -0.010407 0.135026 -0.012933\nvn -2.261238 1.891989 -0.008163\nv -0.057133 0.136025 -0.013938\nvn 7.242332 -1.896452 2.782361\nv -0.025930 0.137309 -0.012736\nvn 2.536912 1.117553 2.810565\nv 0.060465 0.137329 -0.014219\nvn 2.002748 0.218882 -3.310153\nv 0.089220 0.137425 -0.014287\nvn -4.991729 0.642016 2.922678\nv 0.068355 0.137158 -0.012771\nvn 1.907519 1.566619 1.508101\nv 0.059019 0.139702 -0.014103\nvn 2.393355 -3.019440 3.128495\nv -0.073262 0.140637 -0.014102\nvn 2.609928 1.839139 -5.025963\nv 0.087319 0.141292 -0.013950\nvn 5.317600 -1.548773 2.244055\nv -0.024711 0.141265 -0.012850\nvn -3.312037 3.287831 1.768571\nv -0.005560 0.141862 -0.013974\nvn 3.721113 -0.532327 1.269004\nv -0.024007 0.142459 -0.013938\nvn 1.853283 2.880970 -6.056513\nv 0.086052 0.142622 -0.014011\nvn 0.000000 -0.000000 0.000000\nv 0.081667 0.144501 -0.014244\nvn 0.117517 6.732786 -3.459777\nv 0.076129 0.145812 -0.012980\nvn -1.574051 1.603729 1.419029\nv 0.004159 0.149807 -0.014126\nvn -1.297277 5.490375 1.803259\nv -0.070583 0.150039 -0.014127\nvn -0.816655 4.586020 1.772234\nv -0.069031 0.150105 -0.013927\nvn -3.202806 3.923260 2.406107\nv 0.005118 0.150261 -0.013502\nvn 1.918232 5.151914 2.357495\nv 0.041260 0.153872 -0.014113\nvn -1.929509 1.655623 -1.574079\nv -0.059741 0.154574 -0.014147\nvn -0.624767 3.741007 1.267203\nv 0.020124 0.155973 -0.014112\nvn 0.642186 5.547148 2.166831\nv 0.034304 0.156005 -0.014279\nvn 0.352451 3.677107 1.522799\nv 0.033197 0.155954 -0.013965\nvn 0.243793 2.754728 1.098769\nv 0.030958 0.156367 -0.013995\nvn 1.140525 -4.085787 4.232856\nv -0.074460 0.158072 -0.014235\nvn 0.811975 -2.823535 2.712991\nv -0.072478 0.159543 -0.013418\nvn -1.956063 -3.100732 -1.535239\nv -0.083584 0.159654 -0.014182\nvn 0.676493 -3.927362 3.012909\nv -0.067460 0.160033 -0.014158\nvn 0.651740 -3.173156 2.342710\nv -0.065991 0.160169 -0.014346\nvn -0.000000 0.000000 0.000000\nv -0.057143 0.160033 -0.014485\nvn 0.826361 -5.956206 3.434337\nv -0.066126 0.161155 -0.013056\nvn 4.052788 0.824956 -3.842893\nv -0.024515 0.161201 -0.013246\nvn -2.177320 -2.940326 -1.605707\nv -0.087125 0.161912 -0.013937\nvn -2.019156 -1.628437 -1.438535\nv -0.089192 0.163611 -0.013850\nvn 0.871165 3.648520 -3.274719\nv -0.084196 0.166080 -0.013898\nvn -1.690077 6.511057 -4.019106\nv -0.080109 0.166840 -0.012842\nvn 1.000710 4.239838 -4.110398\nv -0.086122 0.166185 -0.014112\nvn -2.388007 1.426486 0.437029\nv -0.073061 0.175294 -0.013858\nvn 2.838998 1.969232 1.573936\nv -0.036034 0.177316 -0.014105\nvn -2.045199 3.944245 -2.247908\nv -0.067412 0.178014 -0.013916\nvn -1.219267 3.597324 -1.027647\nv -0.062298 0.179747 -0.014308\nvn 1.343413 1.603518 4.520833\nv -0.038128 0.180626 -0.014133\nvn -1.818243 2.422052 2.584336\nv -0.044846 0.181648 -0.013953\nvn -0.901084 1.951977 4.370001\nv -0.042616 0.183510 -0.014141\nvn 0.346129 -7.948994 0.247547\nv -0.026452 0.053061 -0.013106\nvn -0.546124 -3.748065 1.150172\nv 0.040485 0.053015 -0.013296\nvn -0.795769 -5.768032 -1.288087\nv -0.058492 0.053411 -0.013500\nvn -3.426316 -5.872478 -1.386750\nv 0.022596 0.053564 -0.013042\nvn 1.978794 -9.009808 -2.261820\nv 0.046277 0.052946 -0.012866\nvn -2.530674 -5.353926 0.904664\nv -0.029229 0.053653 -0.012827\nvn -0.227381 -5.599098 2.084415\nv 0.034773 0.054116 -0.012797\nvn 1.254296 -4.591278 -0.637956\nv 0.068569 0.053796 -0.013106\nvn 2.604656 -5.250279 -3.711578\nv 0.048605 0.054097 -0.013229\nvn -1.848087 -6.727308 0.069275\nv 0.054302 0.054809 -0.012860\nvn -0.422312 -4.974759 -0.254244\nv 0.058191 0.054127 -0.013259\nvn -1.375364 -6.511538 -2.122511\nv -0.062477 0.054238 -0.012979\nvn 2.309297 -5.469625 -0.675579\nv -0.020725 0.054196 -0.012976\nvn -2.570866 -7.097474 -2.534415\nv -0.065991 0.055000 -0.012979\nvn -1.075424 -4.607748 -1.593354\nv -0.064448 0.054523 -0.012783\nvn -0.489064 -3.898212 0.699743\nv -0.033840 0.055189 -0.013498\nvn -0.225717 -5.335403 2.107354\nv -0.040534 0.056320 -0.012855\nvn -3.860653 -3.119350 -0.124023\nv 0.017853 0.057634 -0.013704\nvn 4.021791 1.979576 -3.925496\nv 0.068802 0.060724 -0.013470\nvn 3.522960 2.211931 -2.706627\nv 0.068479 0.062232 -0.013075\nvn 4.442543 -3.868687 -1.079038\nv -0.010390 0.063561 -0.013141\nvn 2.016016 4.563308 0.246616\nv 0.060222 0.067779 -0.012827\nvn 4.323390 -2.448350 -0.542745\nv -0.004578 0.071804 -0.012912\nvn 4.076575 -2.864278 -0.418286\nv -0.003263 0.073857 -0.013101\nvn -4.098729 -0.651744 -2.713616\nv -0.084727 0.079606 -0.013763\nvn 5.712082 1.112646 -0.991111\nv 0.046084 0.080088 -0.012815\nvn 5.636989 -0.909715 -1.480972\nv 0.045919 0.082450 -0.012875\nvn -3.349926 0.043895 -2.181074\nv -0.084815 0.083648 -0.013675\nvn -7.058980 1.641509 3.140509\nv 0.013514 0.084000 -0.013356\nvn 5.948565 -2.589355 -2.488948\nv 0.046582 0.084264 -0.012753\nvn 6.931993 -3.954144 0.479267\nv 0.002668 0.085975 -0.012824\nvn -4.200991 1.166202 2.233579\nv 0.013706 0.086134 -0.013789\nvn 6.451081 -2.580577 0.477361\nv 0.004433 0.089829 -0.012790\nvn 5.230041 -4.020483 -4.349096\nv 0.049964 0.089856 -0.012928\nvn 0.563290 0.970003 -2.607420\nv -0.044854 0.093502 -0.013860\nvn -0.877693 1.816278 -3.377234\nv -0.039013 0.094278 -0.013588\nvn 5.520268 -4.202818 -3.410869\nv 0.052529 0.093326 -0.013030\nvn 2.104551 0.800225 -5.501546\nv -0.045717 0.095628 -0.013647\nvn -2.012997 2.841711 -3.509964\nv -0.036952 0.096153 -0.013600\nvn -5.413087 3.274899 2.977632\nv 0.019017 0.095687 -0.013036\nvn -3.022995 2.226004 -3.183361\nv -0.034814 0.098131 -0.013247\nvn -5.311863 1.624329 -2.198042\nv -0.083870 0.097700 -0.012804\nvn 5.600246 -1.730141 1.216146\nv 0.008029 0.099657 -0.012996\nvn 1.271856 -0.827987 -2.489110\nv -0.045603 0.099197 -0.013727\nvn 5.013789 -3.852401 -2.615414\nv 0.057984 0.099817 -0.012717\nvn 3.150767 -2.047870 -6.924979\nv -0.044492 0.099556 -0.013417\nvn 1.867713 -1.574516 -1.618028\nv 0.058765 0.101124 -0.013408\nvn -4.863717 3.800865 1.228840\nv -0.032407 0.101622 -0.013000\nvn -5.678090 3.337762 2.337878\nv 0.022921 0.101732 -0.012887\nvn 5.519768 -1.750349 -0.725181\nv 0.060311 0.103631 -0.012978\nvn -4.492298 3.306466 4.633690\nv -0.030517 0.103702 -0.012762\nvn 2.028607 -0.803241 -2.059013\nv -0.042024 0.103435 -0.013373\nvn 3.602444 -2.532888 -1.269700\nv -0.040221 0.105278 -0.012929\nvn 5.500833 -1.822288 1.549385\nv 0.009579 0.105235 -0.013014\nvn 4.303379 -2.079650 -0.614312\nv 0.060854 0.105335 -0.012855\nvn -8.031505 4.259940 -4.142014\nv -0.079937 0.107636 -0.012808\nvn 7.496824 -3.168729 0.214287\nv -0.038851 0.107882 -0.012775\nvn 0.697179 -1.573628 -3.593928\nv 0.072977 0.108861 -0.013721\nvn -3.960527 1.824102 -2.433533\nv -0.078523 0.109635 -0.013449\nvn 1.855894 -2.238667 -5.196958\nv 0.074301 0.109351 -0.013562\nvn -2.043153 1.387023 2.914842\nv -0.026554 0.111350 -0.013607\nvn 3.563465 -0.795597 -3.380515\nv 0.076521 0.113477 -0.013420\nvn -5.189262 3.998385 -2.320305\nv -0.076420 0.113892 -0.012932\nvn -1.736188 1.581077 4.312749\nv -0.024268 0.115365 -0.013619\nvn 6.639709 -3.694762 2.485098\nv 0.013115 0.115460 -0.012808\nvn -3.114094 1.698346 -1.798663\nv -0.074555 0.116512 -0.013444\nvn -1.128872 1.991896 4.435541\nv -0.023186 0.116378 -0.013864\nvn -6.826405 4.814578 -2.762120\nv -0.074262 0.117564 -0.012750\nvn -5.375034 5.326280 -2.120348\nv -0.072293 0.119580 -0.012813\nvn 4.360051 -3.445455 2.238496\nv 0.015420 0.119276 -0.012738\nvn -4.646195 3.277210 -1.827778\nv -0.070378 0.121803 -0.013218\nvn 5.833227 -4.647164 2.826152\nv 0.016999 0.121242 -0.012720\nvn -1.839181 1.854679 2.874680\nv -0.020120 0.120980 -0.013652\nvn 4.551557 -2.025257 3.082018\nv -0.032891 0.121414 -0.013077\nvn -6.995454 -4.063369 3.374572\nv 0.030875 0.123313 -0.012814\nvn -3.152888 1.167190 3.037662\nv 0.065443 0.123316 -0.012647\nvn -0.021201 1.302580 6.256829\nv 0.064169 0.123397 -0.013264\nvn -2.937891 1.784823 2.031974\nv -0.017833 0.124596 -0.013763\nvn 5.026087 -2.425189 2.085292\nv -0.031014 0.125784 -0.012783\nvn -0.463196 -6.415245 0.564825\nv 0.079821 0.124887 -0.012902\nvn 0.429592 -4.120275 -2.393735\nv 0.081666 0.124714 -0.013499\nvn 5.099139 -5.681541 -4.092183\nv 0.084343 0.125351 -0.012972\nvn -1.021739 0.517826 3.440968\nv 0.064752 0.126382 -0.013945\nvn 0.659841 1.262877 7.167998\nv 0.064290 0.127459 -0.013895\nvn 5.901672 -2.978015 2.258853\nv -0.030269 0.127210 -0.012824\nvn -0.910376 1.494362 2.308072\nv 0.065586 0.128099 -0.013974\nvn 4.639965 -1.578093 -4.853405\nv 0.084685 0.127480 -0.013482\nvn 5.991049 -2.796343 2.253739\nv -0.029150 0.129352 -0.012908\nvn 1.946663 1.538992 3.059832\nv 0.062914 0.129924 -0.013859\nvn 4.923513 1.868686 4.450262\nv 0.061674 0.131214 -0.013368\nvn -5.942812 4.060729 3.420937\nv -0.012930 0.131331 -0.012850\nvn -4.292065 1.227398 2.131593\nv 0.068360 0.131246 -0.012877\nvn 2.362005 -1.339383 -5.252265\nv 0.088499 0.131246 -0.013623\nvn -6.490198 0.115356 4.342016\nv 0.068611 0.133434 -0.012780\nvn -5.787331 4.143568 3.594606\nv -0.011327 0.133443 -0.012651\nvn 4.418972 -1.632798 1.617140\nv -0.026465 0.135160 -0.012900\nvn 3.200494 -1.343298 -4.827562\nv 0.090127 0.134925 -0.013383\nvn 4.483018 0.108105 -6.355071\nv 0.090187 0.137542 -0.013626\nvn -4.029626 2.903074 0.295319\nv -0.055997 0.137221 -0.012905\nvn 3.669338 -0.926198 1.294275\nv -0.025379 0.138121 -0.013736\nvn 5.473898 2.018029 3.833220\nv 0.059674 0.136950 -0.013056\nvn 1.979587 1.394394 -2.978277\nv 0.089275 0.139055 -0.013894\nvn 5.203439 3.105959 3.238129\nv 0.058400 0.139566 -0.012896\nvn 3.890601 -6.496868 4.358602\nv -0.073936 0.141400 -0.012867\nvn -3.246416 -3.992858 -5.410396\nv -0.079769 0.141335 -0.012917\nvn -2.138657 -0.444571 -3.145515\nv -0.079254 0.142675 -0.014015\nvn 2.206119 -5.096654 1.560068\nv -0.072080 0.142549 -0.012898\nvn 2.909692 2.947576 -6.661560\nv 0.087789 0.143295 -0.013110\nvn 7.008154 5.412634 4.540462\nv 0.056187 0.143160 -0.012807\nvn -3.021091 0.906504 -4.732723\nv -0.080057 0.143294 -0.013377\nvn 1.294734 3.306906 -4.760215\nv 0.084401 0.143938 -0.013646\nvn -4.372344 4.773947 2.642986\nv -0.002915 0.143496 -0.012694\nvn -5.593878 1.830235 -3.221124\nv 0.071423 0.145315 -0.013107\nvn 2.095211 4.345047 -6.313448\nv 0.082083 0.145330 -0.013480\nvn 5.594559 -0.847583 1.927725\nv -0.024255 0.144792 -0.012745\nvn 0.262684 -5.954096 -0.385835\nv -0.060431 0.144722 -0.013195\nvn -6.536873 7.538559 4.572340\nv -0.001029 0.145345 -0.012891\nvn -3.120043 2.368404 -4.525868\nv -0.078146 0.145463 -0.013436\nvn 0.571921 2.784720 -2.393818\nv 0.074735 0.146055 -0.013803\nvn -0.685692 4.161735 -5.496618\nv 0.077849 0.145887 -0.013597\nvn 0.340735 2.289178 -3.215448\nv 0.079800 0.145943 -0.013668\nvn -3.483374 6.310543 -2.603240\nv -0.076284 0.147788 -0.013174\nvn -3.979807 6.314278 2.751009\nv 0.003031 0.148728 -0.013134\nvn -0.529161 2.547100 0.936951\nv -0.067552 0.150238 -0.013751\nvn -2.748301 5.803539 2.692606\nv 0.008917 0.152508 -0.012949\nvn -2.135661 2.275849 -2.421722\nv -0.061161 0.153689 -0.013696\nvn -2.278835 5.070412 2.214126\nv 0.011015 0.153175 -0.012764\nvn -4.451022 6.597749 -3.501138\nv -0.060503 0.154690 -0.013006\nvn 2.442253 6.991614 3.002174\nv 0.038582 0.154521 -0.013123\nvn 6.985048 0.562213 -2.877270\nv -0.024025 0.155156 -0.013328\nvn 0.992150 4.466101 1.945265\nv 0.036446 0.155057 -0.012671\nvn 4.633298 0.477010 -3.017334\nv -0.024309 0.157159 -0.013295\nvn 0.252500 5.688315 1.870691\nv 0.028559 0.156268 -0.013433\nvn -0.302386 -3.195453 2.115505\nv -0.077896 0.157716 -0.013771\nvn 0.862315 -3.728077 2.878211\nv -0.076422 0.157872 -0.013788\nvn 1.221380 -4.158128 4.145627\nv -0.074272 0.159226 -0.013215\nvn 0.948198 -3.570706 3.364632\nv -0.070951 0.159618 -0.013800\nvn -2.454105 -3.890549 -1.909876\nv -0.084620 0.160121 -0.013759\nvn -1.746611 0.603129 -3.390562\nv -0.090049 0.167248 -0.013656\nvn 1.471403 2.119173 -1.733251\nv -0.082025 0.165783 -0.013618\nvn 2.989887 1.606790 -3.230599\nv -0.026246 0.165070 -0.013294\nvn 4.444354 3.384821 -5.986830\nv -0.026762 0.166798 -0.012821\nvn 0.692831 3.477596 -3.457329\nv -0.087881 0.167484 -0.013271\nvn -8.761135 -0.589485 1.002480\nv -0.072575 0.172960 -0.013009\nvn 4.346566 5.369719 0.413898\nv -0.034167 0.175372 -0.012818\nvn 3.507087 4.689019 1.146518\nv -0.035252 0.176248 -0.013033\nvn 3.413925 3.979727 2.175705\nv -0.036491 0.177089 -0.012782\nvn -0.282467 0.899099 -0.479108\nv -0.068248 0.177572 -0.013763\nvn -2.076273 6.384079 -1.888028\nv -0.066152 0.179039 -0.012852\nvn 4.592143 6.703407 6.309658\nv -0.038512 0.178738 -0.013134\nvn -1.680908 5.481570 -1.715430\nv -0.064152 0.179488 -0.013369\nvn -1.285749 7.747795 -1.442680\nv -0.060396 0.180503 -0.012946\nvn 1.104244 1.448364 3.549794\nv -0.039076 0.180247 -0.013702\nvn 0.613784 5.697576 1.522360\nv -0.046072 0.180834 -0.012792\nvn 1.391452 1.358567 4.602402\nv -0.039783 0.181598 -0.013923\nvn 1.722553 2.468580 8.350926\nv -0.040750 0.182965 -0.014019\nvn -0.542775 2.318699 4.217724\nv -0.042746 0.182439 -0.013688\nvn 0.680451 -3.927211 -0.014743\nv -0.024673 0.053248 -0.013587\nvn 0.700351 -6.592894 1.896184\nv -0.052350 0.053575 -0.012924\nvn 0.953067 -5.482991 2.199821\nv -0.050440 0.053889 -0.012985\nvn 1.209755 -5.515839 1.945948\nv 0.030690 0.053747 -0.013074\nvn -0.722916 -7.279142 3.196246\nv 0.036665 0.053813 -0.013063\nvn 0.331617 -6.491589 2.505684\nv 0.032921 0.053999 -0.013183\nvn -0.371874 -5.983879 -0.122257\nv 0.060552 0.053944 -0.013063\nvn 1.313567 -3.560613 3.187852\nv -0.043223 0.055122 -0.013587\nvn 0.964037 -6.654018 3.147927\nv -0.042529 0.056412 -0.012729\nvn -0.632270 -4.772836 1.297472\nv -0.036271 0.055546 -0.013000\nvn 4.594534 -0.139376 -3.393737\nv 0.070830 0.056221 -0.013304\nvn 4.510741 1.814261 -3.476837\nv 0.070349 0.058693 -0.013072\nvn 3.939657 -2.907089 -0.989592\nv -0.013419 0.060472 -0.013150\nvn -7.270766 -5.992607 -2.986660\nv -0.077861 0.062333 -0.012742\nvn -4.583496 -1.876991 0.507283\nv 0.014831 0.062542 -0.012756\nvn 4.050035 5.562210 -3.774343\nv 0.066484 0.064427 -0.012740\nvn -5.608243 -1.713853 1.198687\nv 0.013664 0.066005 -0.013106\nvn -5.800308 -3.068458 -2.351835\nv -0.081548 0.068027 -0.012805\nvn 3.434348 7.024002 1.435421\nv 0.058283 0.068580 -0.012553\nvn 6.503051 -4.173441 -0.332871\nv -0.005461 0.070221 -0.012841\nvn -5.751528 -0.516467 1.432377\nv 0.012259 0.072033 -0.012825\nvn 3.501373 4.533813 0.660316\nv 0.051140 0.072935 -0.012987\nvn -6.252984 -1.709046 -2.528107\nv -0.083883 0.074145 -0.012866\nvn 3.167752 3.657176 0.024493\nv 0.050075 0.073759 -0.012793\nvn -4.742265 -0.033178 1.449815\nv 0.012224 0.074384 -0.012810\nvn -6.673173 0.343303 1.757041\nv 0.012168 0.076056 -0.012909\nvn -7.016735 -1.634903 -3.344276\nv -0.084633 0.077814 -0.013107\nvn -5.373890 1.032351 2.286841\nv 0.012758 0.080182 -0.012717\nvn -4.216217 -0.075927 -2.658862\nv -0.084883 0.081892 -0.013683\nvn -5.423314 1.482882 1.951679\nv 0.013209 0.082101 -0.012901\nvn 5.566477 -2.211337 0.145703\nv 0.000875 0.081964 -0.012769\nvn -4.100545 1.209178 2.529061\nv 0.014538 0.085994 -0.012720\nvn 3.265892 -1.512158 -1.706228\nv 0.047064 0.085982 -0.013365\nvn 4.799117 -3.765468 -3.246906\nv 0.050977 0.091816 -0.013139\nvn 0.737923 2.275664 -6.536707\nv -0.042561 0.093660 -0.013555\nvn -0.780570 2.655485 -5.205610\nv -0.040522 0.093776 -0.013427\nvn -3.098447 1.850182 1.718623\nv 0.017117 0.093034 -0.013756\nvn 0.932164 1.533269 -5.596160\nv -0.044370 0.094414 -0.013583\nvn -6.389737 1.277192 -2.477593\nv -0.084677 0.094062 -0.012706\nvn 6.573644 -2.117686 0.847017\nv 0.006265 0.094245 -0.012767\nvn 2.433711 -2.174221 -2.244244\nv 0.054777 0.096951 -0.013513\nvn 3.151374 -0.626024 -6.133564\nv -0.045818 0.097904 -0.013623\nvn -3.313602 6.096994 -3.571167\nv -0.036430 0.097437 -0.012702\nvn 6.504229 -5.961323 -4.100219\nv 0.056481 0.097670 -0.012791\nvn -4.755928 2.883886 2.219434\nv 0.021480 0.099401 -0.012751\nvn -3.340874 1.304403 -1.763230\nv -0.082423 0.100675 -0.013682\nvn 6.814344 -2.820002 -6.387238\nv -0.042399 0.101536 -0.012999\nvn -5.900687 2.358546 -2.908845\nv -0.082371 0.101856 -0.012791\nvn -3.295712 1.871239 1.275543\nv 0.023666 0.103447 -0.013411\nvn -6.383640 3.749327 3.000061\nv 0.024249 0.103825 -0.012533\nvn 6.386799 -2.551488 -2.953960\nv -0.040827 0.103883 -0.012367\nvn -2.726142 1.899091 1.027115\nv -0.029993 0.105250 -0.013275\nvn -4.939370 2.315928 -2.424841\nv -0.080706 0.105969 -0.012997\nvn -4.079532 4.004849 3.989164\nv -0.028674 0.105812 -0.012923\nvn 5.535037 -4.835497 -1.690124\nv 0.062517 0.107499 -0.012765\nvn 0.063450 -3.363275 -6.072898\nv 0.072114 0.107992 -0.013394\nvn -3.902733 1.666327 3.539217\nv -0.027948 0.107874 -0.013337\nvn 6.273826 -2.275051 2.074325\nv 0.010846 0.109571 -0.012838\nvn -1.151072 -1.899639 -3.285547\nv 0.069535 0.109017 -0.013592\nvn -1.816173 -2.805198 -4.950330\nv 0.068058 0.109874 -0.013425\nvn 4.660620 -2.671080 -7.162763\nv 0.075812 0.109746 -0.012911\nvn -6.352755 3.213105 -3.560298\nv -0.078163 0.111483 -0.012857\nvn 4.010445 -1.686857 3.631451\nv -0.036425 0.111570 -0.012859\nvn -6.069192 3.007257 1.647043\nv 0.028358 0.111446 -0.012950\nvn 0.857213 -2.334402 -2.980167\nv 0.064927 0.111000 -0.013502\nvn -0.578615 -3.059380 -5.024841\nv 0.066010 0.111017 -0.013465\nvn 4.373112 -1.585744 -5.150385\nv 0.076209 0.111132 -0.013141\nvn -3.307877 1.969778 5.580822\nv -0.024822 0.111457 -0.013124\nvn -5.166483 2.672093 1.385061\nv 0.029273 0.113261 -0.012963\nvn -3.514523 1.547460 5.747727\nv -0.024548 0.113450 -0.013259\nvn 3.989924 -1.372138 2.554793\nv -0.035483 0.115549 -0.013361\nvn -3.988790 2.362285 -1.760381\nv -0.075471 0.115186 -0.012890\nvn -3.217809 2.691940 5.290373\nv -0.022540 0.115299 -0.013121\nvn -1.857947 1.284929 3.027635\nv -0.022126 0.116639 -0.013691\nvn 3.878497 -2.750955 4.808935\nv -0.034691 0.117551 -0.013197\nvn -4.231673 1.633691 3.710935\nv -0.021076 0.117761 -0.012987\nvn 2.582767 -1.511574 3.754789\nv -0.033166 0.118010 -0.013523\nvn -8.255424 2.706115 2.219431\nv 0.031228 0.117571 -0.012678\nvn 3.931581 -1.044164 4.297060\nv -0.033044 0.119368 -0.013322\nvn -5.603072 3.239188 5.873885\nv -0.020565 0.119486 -0.013087\nvn 3.911463 0.036550 -0.728668\nv 0.076853 0.119925 -0.013601\nvn -3.091673 3.648994 -1.410081\nv -0.068412 0.123954 -0.013225\nvn 5.613236 -2.562282 3.134356\nv -0.032116 0.123433 -0.012953\nvn 0.132910 1.498997 6.158808\nv 0.064275 0.125050 -0.013603\nvn -4.193103 1.654218 3.348052\nv 0.065873 0.125637 -0.012939\nvn 1.717151 0.390788 3.427429\nv 0.063208 0.126485 -0.013588\nvn 4.408463 0.543698 5.155870\nv 0.062391 0.127819 -0.012998\nvn -5.705834 2.916705 5.459414\nv 0.066612 0.127655 -0.012984\nvn -5.450209 3.707024 2.210637\nv -0.015314 0.127595 -0.012657\nvn -3.591981 4.589849 -1.310694\nv -0.064554 0.127998 -0.013049\nvn -2.959201 3.888041 -0.997122\nv -0.063690 0.128623 -0.012872\nvn 4.732036 1.838846 4.429495\nv 0.062093 0.129344 -0.012994\nvn 2.997759 -4.763980 -3.439918\nv 0.086057 0.128905 -0.012779\nvn 1.264695 -4.444431 -4.632939\nv 0.087789 0.129363 -0.012991\nvn -4.584913 3.199279 2.138242\nv -0.013660 0.130026 -0.012710\nvn -4.984668 4.867352 -0.572197\nv -0.060720 0.131832 -0.012922\nvn 2.162762 0.459584 1.914763\nv 0.061414 0.132595 -0.013641\nvn -2.958863 1.962312 1.795094\nv -0.012239 0.132647 -0.013087\nvn 3.272955 -1.057594 -4.814373\nv 0.089766 0.133329 -0.013111\nvn 4.089731 1.344779 2.506597\nv 0.060311 0.134932 -0.012980\nvn -5.883477 4.336287 3.276560\nv -0.008991 0.137101 -0.013101\nvn 5.118249 4.454844 -5.279510\nv 0.089866 0.139437 -0.013136\nvn 5.332115 -1.594002 2.204988\nv -0.025312 0.139629 -0.012911\nvn -4.221205 2.617294 0.349687\nv -0.054018 0.140923 -0.012804\nvn 3.449414 1.736998 -4.423775\nv 0.088323 0.141112 -0.013271\nvn -1.203533 -6.939204 -1.536725\nv -0.078111 0.140568 -0.012685\nvn 0.563869 -0.524826 0.638336\nv -0.072679 0.141759 -0.013647\nvn 1.116235 -4.803086 -0.028537\nv -0.070137 0.143150 -0.012590\nvn 0.910201 2.036991 -3.318656\nv 0.086074 0.143469 -0.013506\nvn -1.152890 -2.266824 0.678924\nv -0.056194 0.143999 -0.013120\nvn -3.336289 -7.679842 1.189765\nv -0.054292 0.143825 -0.012721\nvn 1.713913 -7.670673 -0.933299\nv -0.065940 0.143887 -0.013071\nvn -2.840829 -5.681336 0.545853\nv -0.056528 0.144451 -0.012709\nvn 0.715974 -6.872407 -0.404824\nv -0.062348 0.144811 -0.012804\nvn -0.266325 -5.887202 -0.502304\nv -0.058251 0.144811 -0.012704\nvn 0.436151 4.682470 -2.944189\nv 0.074250 0.146732 -0.012875\nvn -2.853840 3.787794 -3.424142\nv -0.077708 0.146935 -0.012890\nvn 2.886707 -0.218830 0.782690\nv -0.023611 0.146999 -0.013772\nvn 4.902760 5.281975 3.444965\nv 0.052224 0.147434 -0.012979\nvn 5.606224 -0.611315 -0.703037\nv -0.023535 0.149345 -0.012802\nvn -1.656909 6.576838 1.153349\nv -0.072388 0.149222 -0.012796\nvn -0.948509 5.710796 1.203727\nv -0.070191 0.149427 -0.012527\nvn -2.826770 7.740441 0.263394\nv -0.068152 0.149846 -0.012633\nvn 5.979058 0.312395 -2.269166\nv -0.023491 0.151282 -0.012454\nvn 2.329815 4.141618 1.547355\nv 0.048093 0.150405 -0.012988\nvn -1.415937 3.440233 -0.502737\nv -0.066050 0.150712 -0.012578\nvn -3.533204 6.577484 -2.631090\nv -0.064364 0.151338 -0.013073\nvn 3.692336 7.473504 3.320499\nv 0.046286 0.151248 -0.012738\nvn -1.919187 3.229492 1.309667\nv 0.007671 0.152125 -0.013587\nvn -4.561598 5.337909 -5.146118\nv -0.062363 0.153406 -0.012806\nvn -1.458463 6.381752 2.394924\nv 0.014596 0.154726 -0.012658\nvn -1.007413 7.496592 2.590183\nv 0.018732 0.155381 -0.012918\nvn -3.063953 4.950600 -0.478240\nv -0.058645 0.155813 -0.012625\nvn 0.776279 6.355190 2.804883\nv 0.032554 0.155585 -0.012984\nvn -3.179656 4.899626 0.417334\nv -0.057669 0.156267 -0.012751\nvn -0.118656 3.827892 1.135265\nv 0.026648 0.156290 -0.013413\nvn -5.080644 2.816939 1.088444\nv -0.056863 0.157205 -0.012906\nvn -5.511425 -0.161347 1.591761\nv -0.056154 0.159065 -0.012701\nvn -2.773830 -6.096087 -0.057342\nv -0.084020 0.159432 -0.012813\nvn 0.827743 -6.557191 4.381773\nv -0.067981 0.160953 -0.012936\nvn -3.333746 -2.761695 1.698851\nv -0.056526 0.160396 -0.012659\nvn -0.537024 -4.698189 1.582132\nv -0.060263 0.161457 -0.012742\nvn -1.626328 -6.378248 2.190176\nv -0.058070 0.161087 -0.012766\nvn 2.739990 1.106667 -5.958856\nv -0.024939 0.162979 -0.013216\nvn -2.798807 -1.182650 -2.283305\nv -0.090571 0.164628 -0.012998\nvn -2.795651 -0.278281 -3.607735\nv -0.091495 0.166709 -0.012947\nvn 1.092394 4.690375 -5.045952\nv -0.086234 0.167294 -0.013113\nvn 3.043674 2.313935 -1.045960\nv -0.029991 0.171301 -0.013094\nvn 4.271551 3.836644 -1.542621\nv -0.030946 0.172565 -0.012723\nvn 0.000000 0.000000 0.000000\nv -0.037396 0.178200 -0.013587\nvn -0.081764 7.936093 -0.718110\nv -0.056409 0.180760 -0.012625\nvn -0.199470 4.986658 -0.215523\nv -0.054111 0.180820 -0.013303\nvn 2.118073 3.286557 6.868466\nv -0.040539 0.180516 -0.013333\nvn -0.475504 0.608082 0.651958\nv -0.043961 0.181854 -0.013655\nvn 0.830253 0.700164 2.751932\nv -0.041382 0.181820 -0.013587\nvn -1.259500 -4.742996 0.551363\nv -0.028113 0.053212 -0.012690\nvn -1.206632 -3.741795 -0.510997\nv 0.023434 0.053115 -0.012705\nvn 0.451052 -6.895317 0.399432\nv 0.026806 0.052834 -0.012924\nvn 1.277843 -4.676479 1.060386\nv 0.027990 0.053036 -0.012663\nvn -1.311351 -8.428119 2.465275\nv 0.042514 0.052962 -0.012603\nvn 0.105538 -4.923493 0.260249\nv 0.044343 0.052793 -0.012625\nvn -0.047500 -6.961885 -0.110276\nv -0.057884 0.053251 -0.012479\nvn 0.772641 -5.715844 1.315381\nv -0.054166 0.053417 -0.012487\nvn 1.314932 -4.600428 1.376635\nv 0.029044 0.053467 -0.012392\nvn -1.022105 -5.404195 2.378693\nv 0.038613 0.053640 -0.012761\nvn -1.267854 -6.667590 -1.439206\nv -0.060434 0.053537 -0.012701\nvn 1.932619 -8.748877 -0.412838\nv -0.022851 0.053573 -0.012730\nvn 0.127711 -6.947845 -0.199556\nv 0.066185 0.053750 -0.012571\nvn 1.248599 -6.191350 3.001707\nv -0.048336 0.054559 -0.012523\nvn -1.827674 -4.558925 0.749574\nv -0.030649 0.054455 -0.012718\nvn -4.446159 -5.226395 -0.924500\nv 0.021070 0.054630 -0.012765\nvn 2.415338 -5.358912 -3.560960\nv 0.050113 0.054538 -0.012462\nvn -1.030397 -5.882181 -0.014217\nv 0.056072 0.054310 -0.012590\nvn 1.333180 -4.946780 2.905535\nv -0.046509 0.054768 -0.012876\nvn 0.879488 -2.954737 2.498477\nv -0.044388 0.055085 -0.013183\nvn 2.851531 -3.995933 -0.710710\nv -0.019147 0.054929 -0.012530\nvn -1.617862 -6.712785 0.873398\nv -0.032723 0.055104 -0.012845\nvn -2.870386 -5.878663 -2.450992\nv -0.068020 0.055809 -0.012836\nvn 2.290585 -5.281038 3.657405\nv -0.044029 0.056143 -0.012331\nvn 3.754619 -4.575730 -0.966748\nv -0.018233 0.055737 -0.012682\nvn -3.380799 -3.667920 0.032912\nv 0.020064 0.055636 -0.012469\nvn 0.434875 -3.369655 -1.437858\nv 0.050839 0.055415 -0.013226\nvn 0.127445 -3.474534 -1.363958\nv 0.051837 0.055471 -0.013177\nvn 0.260674 -6.358071 -1.874114\nv 0.052513 0.055225 -0.012500\nvn -4.749892 -5.094925 0.193902\nv 0.019065 0.056439 -0.012628\nvn 4.791401 -1.063444 -2.919740\nv 0.071474 0.056219 -0.012390\nvn -3.415442 -6.542017 -3.041879\nv -0.070033 0.056800 -0.012593\nvn 2.980764 -3.906848 -0.909420\nv -0.017103 0.056621 -0.012638\nvn -3.621067 -6.525728 -2.810322\nv -0.072263 0.058026 -0.012814\nvn -5.747168 -3.926410 0.149995\nv 0.017188 0.058576 -0.012721\nvn -2.556309 -4.003077 -1.551464\nv -0.073920 0.058945 -0.012597\nvn 3.077177 -2.390889 -0.850643\nv -0.014101 0.059453 -0.013121\nvn -4.886230 -5.690547 -2.500379\nv -0.075883 0.060329 -0.012508\nvn 4.967841 2.677148 -4.119166\nv 0.069931 0.060439 -0.012479\nvn -4.977940 -3.319767 0.085322\nv 0.016230 0.060171 -0.012537\nvn -5.138729 -3.014349 0.471492\nv 0.015593 0.061076 -0.012575\nvn 3.338949 -3.600766 -0.902262\nv -0.011122 0.062669 -0.012605\nvn -6.569291 -1.934896 1.374075\nv 0.014341 0.064213 -0.012498\nvn 2.291392 2.382087 -2.137067\nv 0.067749 0.063690 -0.012615\nvn 4.811494 -3.386171 -1.115592\nv -0.009556 0.064448 -0.012523\nvn -7.070051 -4.832160 -2.667425\nv -0.079549 0.064539 -0.012412\nvn 2.307002 3.965883 -1.977484\nv 0.064927 0.065131 -0.013237\nvn 4.087970 -2.737303 -0.860699\nv -0.008541 0.066139 -0.012669\nvn 3.143005 6.528640 -2.801599\nv 0.064222 0.065849 -0.012496\nvn 2.877831 5.159148 -0.578956\nv 0.062484 0.066679 -0.012552\nvn -5.657868 -1.548904 1.216590\nv 0.013244 0.067777 -0.012683\nvn -6.681793 -1.490616 1.386198\nv 0.012733 0.069828 -0.012641\nvn 1.987246 3.364316 0.855558\nv 0.057549 0.069158 -0.013124\nvn 2.988791 -2.274627 0.087398\nv -0.006123 0.069232 -0.012947\nvn 3.943435 6.626786 2.087280\nv 0.056188 0.069852 -0.012666\nvn -5.271044 -2.053477 -1.835692\nv -0.083045 0.070809 -0.012482\nvn 3.001173 4.881992 1.734930\nv 0.054675 0.070717 -0.012638\nvn 1.459113 2.420504 0.984514\nv 0.054201 0.071275 -0.013237\nvn -3.549271 -1.068081 -1.409140\nv -0.083466 0.072281 -0.012678\nvn 4.147122 -2.750232 -0.428700\nv -0.003906 0.072892 -0.012677\nvn 3.840975 3.025550 -0.722771\nv 0.049273 0.074652 -0.012669\nvn 5.904611 -3.712684 -0.513544\nv -0.002151 0.075387 -0.012559\nvn 5.329906 -2.729967 -0.295281\nv -0.001610 0.076343 -0.012479\nvn 6.390260 -2.825502 -0.142614\nv -0.000909 0.077807 -0.012510\nvn -5.596325 0.668317 1.869027\nv 0.012497 0.078014 -0.012689\nvn 4.858793 3.431643 -0.646226\nv 0.047534 0.077317 -0.012717\nvn 6.092059 3.270447 -0.877918\nv 0.047002 0.078102 -0.012685\nvn -7.142504 -0.988989 -3.248849\nv -0.085283 0.079860 -0.012789\nvn 3.663369 -1.585328 0.036865\nv -0.000241 0.079347 -0.012568\nvn 6.403149 -2.791745 0.175918\nv 0.000147 0.080244 -0.012612\nvn 6.358356 -2.865323 0.256581\nv 0.001736 0.084309 -0.012582\nvn -7.072721 -0.295075 -3.596328\nv -0.085525 0.084093 -0.012534\nvn -5.388408 -0.005662 -2.552037\nv -0.085661 0.086026 -0.012563\nvn 4.803176 -2.435969 -2.622952\nv 0.047711 0.086204 -0.012541\nvn -4.473841 0.293907 -2.159133\nv -0.085487 0.087752 -0.012683\nvn 5.470141 -2.383717 0.328886\nv 0.003661 0.087703 -0.012616\nvn -7.203375 3.210275 4.222359\nv 0.015085 0.087872 -0.012772\nvn 6.377595 -3.936596 -4.637119\nv 0.048442 0.088020 -0.012745\nvn -7.459730 0.701423 -2.728750\nv -0.085268 0.089567 -0.012664\nvn 1.791766 -1.520769 -1.781801\nv 0.048653 0.088949 -0.013200\nvn -2.455060 1.134009 1.296869\nv 0.015579 0.089196 -0.013024\nvn 6.332524 -2.660008 0.892652\nv 0.005395 0.091763 -0.012741\nvn -5.592688 2.675453 3.235557\nv 0.016238 0.090099 -0.012544\nvn -3.758787 0.453282 -1.282642\nv -0.085110 0.091498 -0.012583\nvn -7.083925 3.661355 4.149385\nv 0.017029 0.091750 -0.012630\nvn -5.539338 3.130646 2.914423\nv 0.018174 0.093967 -0.012742\nvn 2.991103 -2.051242 -1.379782\nv 0.053592 0.094359 -0.012597\nvn -1.473211 4.133732 -4.979551\nv -0.038533 0.095885 -0.012807\nvn 0.921526 1.191167 -4.736254\nv -0.042511 0.096114 -0.012882\nvn 5.667579 -1.700515 0.813770\nv 0.006783 0.096060 -0.012745\nvn 0.956756 0.827769 -4.816420\nv -0.044506 0.096096 -0.013260\nvn 1.848669 0.190307 -5.614464\nv -0.044704 0.097580 -0.013173\nvn 5.575389 -1.862060 1.110559\nv 0.007281 0.097758 -0.012650\nvn -5.328824 3.523350 2.798560\nv 0.020529 0.097869 -0.012722\nvn -4.343735 3.607686 -0.019411\nv -0.034160 0.099602 -0.012642\nvn 4.601975 -1.584563 1.117552\nv 0.007766 0.099165 -0.012615\nvn -5.966105 1.996393 -3.023303\nv -0.083350 0.099665 -0.012580\nvn 2.375290 -0.603968 -3.007443\nv -0.042689 0.099632 -0.012575\nvn -3.951729 2.498705 1.738819\nv 0.021961 0.100151 -0.012642\nvn 5.587155 -1.648496 1.380050\nv 0.008997 0.103586 -0.012833\nvn -6.879604 2.520415 -3.144522\nv -0.081642 0.103745 -0.012668\nvn 4.641139 -1.319102 1.296534\nv 0.009952 0.106316 -0.013069\nvn -5.674849 3.219164 2.510196\nv 0.025148 0.105635 -0.012829\nvn 3.124413 -1.656258 -0.403507\nv -0.039363 0.106362 -0.012601\nvn 3.592752 -3.253479 -0.537391\nv 0.061669 0.106411 -0.012664\nvn 5.544509 -1.523063 1.691123\nv 0.010146 0.107580 -0.012608\nvn -6.383393 3.900117 2.754097\nv 0.026278 0.107618 -0.012821\nvn 1.787817 -2.393450 -5.130573\nv 0.074094 0.107783 -0.012978\nvn -1.373082 -3.682033 -5.716143\nv 0.070214 0.107777 -0.012967\nvn -3.250157 1.484598 -1.774279\nv -0.079260 0.109352 -0.012497\nvn 4.171407 -2.734303 3.554906\nv -0.038075 0.109449 -0.012599\nvn -3.565446 2.118244 5.321620\nv -0.026691 0.109586 -0.013040\nvn 3.936130 -4.893288 -5.583113\nv 0.064011 0.109394 -0.012714\nvn 2.905042 -3.024535 1.060525\nv -0.037038 0.109750 -0.013116\nvn -4.246800 2.284486 1.253445\nv 0.027744 0.110086 -0.012679\nvn 5.334041 -2.039236 1.808089\nv 0.011363 0.111169 -0.012425\nvn 5.520631 -1.721684 1.584075\nv 0.011977 0.112225 -0.013277\nvn -3.677437 2.765497 -1.845861\nv -0.077421 0.112930 -0.012579\nvn 7.532886 -2.387194 4.871547\nv -0.036189 0.113560 -0.012576\nvn 6.186038 -2.440926 2.108652\nv 0.012369 0.114131 -0.012621\nvn -5.328862 2.371050 1.325453\nv 0.030284 0.115359 -0.013028\nvn -4.504202 2.230402 3.135339\nv -0.021466 0.116075 -0.012550\nvn 4.691447 -0.141799 -1.605413\nv 0.076989 0.118175 -0.013237\nvn -1.967160 1.900656 -0.790466\nv -0.073319 0.118590 -0.013055\nvn -3.797006 0.903198 0.854588\nv 0.031589 0.119108 -0.013004\nvn 2.134213 -1.761976 1.149649\nv 0.016020 0.119750 -0.013091\nvn -2.997337 2.385704 -1.066522\nv -0.071200 0.120782 -0.012636\nvn -5.731751 3.663411 4.127800\nv -0.018925 0.121379 -0.012684\nvn -6.538804 -0.932913 1.974346\nv 0.031739 0.121093 -0.012596\nvn -3.322389 1.687997 4.747211\nv 0.064359 0.121252 -0.012695\nvn -2.736476 -0.969183 0.672346\nv 0.031361 0.121906 -0.013231\nvn -4.638527 2.524141 2.796570\nv -0.018033 0.123036 -0.012823\nvn 4.744655 -0.810485 0.534472\nv 0.076919 0.122781 -0.012538\nvn 4.978304 -2.961977 0.627397\nv 0.077309 0.123648 -0.012887\nvn 2.962535 0.389495 3.821319\nv 0.062550 0.123317 -0.012639\nvn -4.752604 2.633845 2.489774\nv -0.017445 0.124042 -0.012676\nvn 1.614144 -2.343901 0.938182\nv 0.020342 0.124191 -0.013060\nvn -3.404835 -4.221029 2.482274\nv 0.029391 0.124417 -0.013131\nvn 2.548963 -4.243075 1.881808\nv 0.078102 0.124801 -0.012431\nvn 0.064380 -5.359674 -0.588284\nv 0.082322 0.124313 -0.012640\nvn -3.266740 3.584071 -1.134313\nv -0.067538 0.124923 -0.012403\nvn 3.645783 -6.455888 2.911964\nv 0.020960 0.124869 -0.012497\nvn -3.899709 2.426029 1.933055\nv -0.016634 0.125420 -0.012658\nvn 1.313560 -4.389421 1.900139\nv 0.022697 0.125613 -0.012718\nvn 5.175849 0.915936 5.704544\nv 0.062388 0.125664 -0.012751\nvn -3.671353 3.210064 -1.047123\nv -0.066688 0.125677 -0.012929\nvn -0.970219 -5.330214 2.303096\nv 0.026761 0.126029 -0.012713\nvn -5.098265 4.501015 -1.515573\nv -0.065725 0.127038 -0.012627\nvn -5.350728 2.953746 3.184684\nv 0.067719 0.129530 -0.012601\nvn 1.800068 -0.679493 -2.196091\nv 0.084877 0.128675 -0.013480\nvn -4.751280 3.144464 1.842458\nv -0.014464 0.128986 -0.012751\nvn -4.121208 4.195784 -0.694775\nv -0.062620 0.129538 -0.012580\nvn 3.187192 -3.335581 -5.690741\nv 0.089634 0.129526 -0.012620\nvn 2.471183 -0.393169 -4.219683\nv 0.089788 0.131172 -0.013015\nvn -3.896834 3.082578 -0.455571\nv -0.061615 0.130873 -0.012702\nvn 6.937868 -3.152725 2.397249\nv -0.028302 0.131377 -0.012535\nvn -4.027372 4.428535 -0.330835\nv -0.059751 0.132743 -0.012634\nvn 6.507052 1.748688 4.154499\nv 0.060584 0.133354 -0.012605\nvn -5.291455 4.433798 0.053221\nv -0.058726 0.133635 -0.012771\nvn -4.695398 -0.072984 3.558107\nv 0.068360 0.135027 -0.012744\nvn -4.698173 3.625071 0.425737\nv -0.057924 0.134913 -0.012453\nvn 4.974259 -3.026135 -6.186916\nv 0.091653 0.135053 -0.012409\nvn 3.185447 1.186117 -4.468231\nv 0.091609 0.137260 -0.012822\nvn 0.794710 0.357807 0.495393\nv 0.059152 0.138125 -0.013088\nvn -0.767339 0.610934 0.290553\nv -0.007923 0.138475 -0.012974\nvn -6.899946 3.736571 1.067091\nv -0.054920 0.139109 -0.012583\nvn -5.691304 4.817482 2.940765\nv -0.006895 0.139510 -0.012603\nvn -3.588262 2.821455 1.403959\nv 0.068897 0.138956 -0.013146\nvn 0.278656 -4.886362 2.340580\nv -0.075978 0.139992 -0.013074\nvn 1.017429 -1.968185 1.752546\nv -0.074791 0.140070 -0.013363\nvn -5.296994 4.642722 2.624695\nv 0.070054 0.139576 -0.012457\nvn -0.891877 -3.554123 0.811938\nv -0.077262 0.140236 -0.013038\nvn -2.780629 2.448836 1.502326\nv -0.006246 0.140589 -0.013130\nvn -2.589122 1.501702 -0.193251\nv 0.070906 0.140919 -0.013087\nvn 4.644421 2.661174 2.639716\nv 0.057539 0.141127 -0.012858\nvn -3.953727 3.856294 2.333990\nv -0.005087 0.141411 -0.012425\nvn -7.165573 1.683168 0.436334\nv 0.071188 0.141493 -0.012495\nvn -5.382928 2.085352 0.571560\nv -0.053275 0.141900 -0.012581\nvn -4.217929 -0.911661 0.387605\nv -0.053138 0.142821 -0.012399\nvn -3.095758 3.474959 1.822084\nv -0.004192 0.142478 -0.012814\nvn -4.734000 0.381596 -1.217240\nv 0.071157 0.143177 -0.013164\nvn 6.377645 -0.778242 2.702933\nv -0.024526 0.143364 -0.012422\nvn 1.572014 -6.746537 -0.304532\nv -0.068010 0.143620 -0.012574\nvn -1.860905 2.005459 1.226525\nv -0.002418 0.144300 -0.013218\nvn 1.515018 3.377914 -2.979662\nv 0.083850 0.145018 -0.012788\nvn 0.963503 5.985508 -6.291545\nv 0.086123 0.145167 -0.012407\nvn -3.737956 3.580300 -6.013967\nv -0.079863 0.145225 -0.012518\nvn 1.538109 -4.625480 -0.858052\nv -0.064093 0.144461 -0.012856\nvn 1.992486 1.674427 1.489868\nv 0.055406 0.144412 -0.013140\nvn 5.781853 5.497347 4.088064\nv 0.054481 0.145188 -0.012799\nvn -1.475440 3.906543 -3.105582\nv 0.072262 0.147095 -0.012523\nvn -2.336300 3.785389 -3.459404\nv 0.077886 0.147023 -0.012635\nvn 0.437836 5.052934 -6.065986\nv 0.079963 0.147297 -0.012600\nvn 3.223660 3.988081 -4.161559\nv 0.082380 0.146800 -0.012369\nvn 2.433065 2.573905 1.850567\nv 0.053377 0.146525 -0.013318\nvn 6.563087 -1.359145 1.100659\nv -0.023950 0.147387 -0.012459\nvn -3.531014 4.188744 2.375167\nv 0.001041 0.147093 -0.012615\nvn -1.923952 4.509869 -0.129018\nv -0.075396 0.148344 -0.012845\nvn 4.496985 5.862496 3.028413\nv 0.050690 0.148588 -0.012690\nvn -1.281234 4.692526 0.479742\nv -0.074299 0.148814 -0.012668\nvn 2.538722 3.959365 1.677692\nv 0.049002 0.149690 -0.012479\nvn -3.138785 4.560710 2.299540\nv 0.004808 0.149581 -0.012413\nvn -4.168992 6.139174 2.958686\nv 0.006829 0.151125 -0.012734\nvn -1.667264 2.660328 -1.941241\nv -0.063083 0.151884 -0.013260\nvn 4.712836 0.664282 -0.801129\nv -0.023709 0.151828 -0.013038\nvn 2.421334 6.054540 2.505052\nv 0.044141 0.152408 -0.012942\nvn 3.768462 0.250430 -1.066828\nv -0.023780 0.153175 -0.013063\nvn 1.556836 4.378276 1.840863\nv 0.042523 0.152848 -0.012666\nvn 1.672502 4.358246 1.786989\nv 0.040586 0.153577 -0.012704\nvn -1.860994 4.227671 1.825120\nv 0.012939 0.154248 -0.012849\nvn -0.675734 4.607833 1.808816\nv 0.016876 0.155023 -0.012572\nvn 0.468880 4.481149 2.154445\nv 0.034375 0.155339 -0.012724\nvn -0.856710 5.590432 1.991168\nv 0.021085 0.155724 -0.012863\nvn 0.941542 7.299137 3.074861\nv 0.030763 0.155824 -0.012795\nvn -0.345893 -4.743830 2.965083\nv -0.079859 0.158683 -0.012629\nvn 0.359915 -5.622386 5.494772\nv -0.077903 0.158965 -0.012565\nvn 1.605313 -4.770649 4.747919\nv -0.076174 0.159059 -0.012824\nvn 3.175451 0.068532 -3.328173\nv -0.024415 0.159162 -0.013179\nvn -0.643840 -5.107557 2.172458\nv -0.082028 0.158813 -0.012671\nvn -3.148001 -5.791475 -1.343259\nv -0.086018 0.160567 -0.012802\nvn 0.904387 -4.658094 3.645742\nv -0.070153 0.160744 -0.012740\nvn 0.253245 -3.592858 1.691154\nv -0.064415 0.161436 -0.012848\nvn -4.160296 -6.244675 -2.391495\nv -0.087600 0.161483 -0.012417\nvn 0.195903 -7.402577 2.896399\nv -0.062600 0.161627 -0.012574\nvn -1.722565 -2.150455 -1.186634\nv -0.088402 0.162356 -0.012830\nvn -6.136016 -6.346726 -4.418499\nv -0.089584 0.163180 -0.012613\nvn -3.631638 -2.207324 -3.950397\nv -0.091291 0.164977 -0.012393\nvn 1.295842 3.634958 -2.869718\nv -0.082047 0.166437 -0.012659\nvn 1.769857 4.853790 -4.647593\nv -0.083825 0.167199 -0.012603\nvn -0.518533 6.536368 -2.210028\nv -0.077822 0.167437 -0.012648\nvn 0.109175 3.807687 -1.197351\nv -0.076067 0.167279 -0.012685\nvn -3.643351 5.481429 -1.303401\nv -0.074368 0.167340 -0.012631\nvn -2.531938 2.643396 -4.049210\nv -0.091417 0.168569 -0.012427\nvn 0.327311 3.662147 -4.287303\nv -0.089849 0.168649 -0.012760\nvn 4.047553 2.485729 -4.514595\nv -0.028179 0.168972 -0.012656\nvn -5.460014 2.278509 0.248303\nv -0.073713 0.168929 -0.012635\nvn 4.017320 4.419018 -4.572300\nv -0.029195 0.170708 -0.012519\nvn -5.608122 1.869938 0.189658\nv -0.072736 0.171081 -0.012615\nvn 4.593200 5.071321 -0.932128\nv -0.031916 0.173506 -0.012674\nvn -5.284259 1.248878 1.097618\nv -0.072926 0.174755 -0.012637\nvn 3.207198 3.819724 -0.120320\nv -0.032927 0.174380 -0.012673\nvn -4.313354 3.784282 0.215174\nv -0.072072 0.176470 -0.012587\nvn -2.254640 5.383883 -1.076475\nv -0.070141 0.177519 -0.012837\nvn -2.555293 7.124887 -2.552467\nv -0.068050 0.178359 -0.012672\nvn -1.980192 6.470694 -1.509858\nv -0.062288 0.180092 -0.012968\nvn -0.180339 3.929566 -0.618224\nv -0.058273 0.180820 -0.012713\nvn -0.211554 6.990670 0.048731\nv -0.052470 0.180864 -0.012872\nvn -0.706432 4.374693 3.344454\nv -0.044283 0.180767 -0.012723\nvn 1.935086 4.147077 5.969223\nv -0.042674 0.180643 -0.012820\nvn -0.572594 -5.918136 -0.258621\nv 0.024713 0.052827 -0.012319\nvn 0.420243 -5.865232 0.690854\nv -0.056071 0.053272 -0.012508\nvn -1.278015 -2.493587 -1.053557\nv -0.070873 0.057374 -0.012888\nvn -2.685188 -3.853106 -1.688074\nv -0.074600 0.059413 -0.012612\nvn -2.022598 -2.040527 -0.650704\nv -0.077026 0.061475 -0.012888\nvn -2.356561 -1.640085 -0.817478\nv -0.078923 0.063814 -0.012888\nvn -4.499701 -1.131011 -1.780846\nv -0.084478 0.076004 -0.012650\nvn -4.654893 -0.164564 -1.709312\nv -0.085586 0.081892 -0.012388\nvn 0.746673 3.382055 -6.930197\nv -0.040717 0.095993 -0.012688\nvn -2.835717 -4.487978 -5.961667\nv 0.068383 0.107973 -0.012355\nvn -4.156324 2.278851 1.542805\nv 0.027290 0.109219 -0.012664\nvn -3.715209 2.256979 5.205935\nv -0.024482 0.109603 -0.012330\nvn -0.996561 -4.148771 -5.340427\nv 0.066251 0.109645 -0.012567\nvn 5.437186 -0.544779 -4.296080\nv 0.077347 0.113645 -0.012552\nvn 5.251409 0.483763 -2.769940\nv 0.077371 0.115730 -0.012476\nvn 4.637802 0.221736 -1.726382\nv 0.077178 0.117411 -0.012591\nvn 4.216205 -2.501269 4.626527\nv -0.034270 0.119458 -0.012546\nvn -4.744943 0.662588 1.283112\nv 0.031798 0.119450 -0.012405\nvn 2.131998 1.057436 5.220223\nv 0.062645 0.121576 -0.012472\nvn -5.280902 4.962459 -2.740393\nv -0.069650 0.123194 -0.012412\nvn 5.943107 -1.812826 -1.476950\nv 0.085365 0.127478 -0.012593\nvn 3.727569 0.923990 -2.652935\nv 0.089249 0.140844 -0.012434\nvn 2.309861 1.482882 1.165455\nv 0.056987 0.141857 -0.012627\nvn -3.027341 0.769677 -5.988122\nv -0.081837 0.143164 -0.012381\nvn -2.517159 4.972565 2.165651\nv 0.012369 0.153796 -0.012533\nvn -1.686486 2.034739 -1.159251\nv -0.061915 0.154128 -0.012483\nvn -0.492563 5.550662 2.186198\nv 0.022629 0.155815 -0.012473\nvn -0.344442 6.607394 2.262984\nv 0.024860 0.155897 -0.012546\nvn 1.132669 -4.465024 3.832572\nv -0.072096 0.160410 -0.012590\nvn 1.044113 1.192345 -4.713245\nv -0.024407 0.165192 -0.012661\nvn -0.072164 3.990160 0.125867\nv -0.050223 0.180980 -0.012888\nvn -0.018623 6.935019 0.387634\nv -0.048123 0.180948 -0.012888\nvn 1.151599 -3.464119 -1.445056\nv 0.047930 0.053126 -0.012206\nvn -0.434094 -3.940694 -0.408851\nv -0.059440 0.053317 -0.012304\nvn -0.850871 -4.440598 2.134036\nv 0.040649 0.053517 -0.012166\nvn -0.247608 -5.993422 0.079871\nv 0.062477 0.053836 -0.012362\nvn -1.426719 -3.458202 -1.344067\nv -0.067236 0.055154 -0.012276\nvn -0.978322 -5.802506 0.990140\nv -0.034925 0.055467 -0.012275\nvn 3.190457 0.798805 -2.225750\nv 0.071363 0.057758 -0.012205\nvn 3.561375 2.031082 -2.834747\nv 0.069311 0.062025 -0.012163\nvn 1.650833 2.927034 -2.044244\nv 0.065487 0.065371 -0.012048\nvn -2.795454 -0.768719 0.769429\nv 0.013860 0.065850 -0.012537\nvn -2.711551 -0.733443 -1.014565\nv -0.085066 0.078450 -0.012537\nvn -3.401548 1.132981 1.759790\nv 0.013868 0.082861 -0.012131\nvn -5.185297 1.614096 2.527661\nv 0.014346 0.084344 -0.012140\nvn 1.946022 -1.997147 -1.067253\nv 0.051806 0.092125 -0.012350\nvn -4.666853 0.695914 -1.644428\nv -0.084992 0.092960 -0.012304\nvn 2.725008 -1.003942 0.694781\nv 0.005696 0.092848 -0.012193\nvn -3.160368 1.613265 1.829209\nv 0.017817 0.092749 -0.012121\nvn -2.280765 1.386011 1.351311\nv 0.019928 0.096497 -0.012204\nvn -1.866590 2.685109 -2.293659\nv -0.037639 0.096787 -0.012405\nvn 1.905984 -2.054423 -0.993341\nv 0.055750 0.096576 -0.012205\nvn 4.027425 1.830124 -7.198800\nv -0.042555 0.097795 -0.012354\nvn -2.839918 1.930198 4.689703\nv -0.031033 0.101860 -0.012425\nvn -1.676743 2.363455 4.050789\nv -0.028551 0.104581 -0.012216\nvn -3.183459 2.243556 5.671503\nv -0.027018 0.105550 -0.012216\nvn -2.468088 1.023617 -1.298281\nv -0.081352 0.105563 -0.012187\nvn 0.020034 -2.518253 -4.294769\nv 0.072321 0.106138 -0.012246\nvn 1.523583 -2.973559 -6.064559\nv 0.074291 0.106493 -0.012259\nvn -0.897698 -2.738261 -4.050511\nv 0.070836 0.106237 -0.012126\nvn -4.719992 2.151076 4.415867\nv -0.022670 0.113624 -0.012278\nvn 4.662065 -1.252218 3.473379\nv -0.036167 0.115652 -0.012201\nvn 3.655933 -1.645339 2.846242\nv -0.035642 0.117848 -0.012183\nvn -1.655246 1.619912 4.849123\nv 0.064172 0.119594 -0.012164\nvn -2.081007 1.543809 1.475588\nv -0.019622 0.119993 -0.012404\nvn 2.316208 0.808570 5.174192\nv 0.062599 0.119499 -0.012092\nvn 2.777343 -1.372316 2.272229\nv -0.033951 0.120912 -0.012066\nvn 5.902120 0.502867 0.129284\nv 0.076925 0.121242 -0.012101\nvn -3.584606 1.482770 2.503313\nv 0.065233 0.122190 -0.012314\nvn 3.410293 -1.766811 1.110689\nv -0.031752 0.124652 -0.012254\nvn -2.824179 -3.138594 2.640602\nv 0.030209 0.124583 -0.012131\nvn 0.990275 -1.823218 0.112828\nv 0.083814 0.124394 -0.012180\nvn 2.034904 -1.132670 -0.410984\nv 0.085306 0.125906 -0.012194\nvn -3.154918 1.323435 2.028634\nv 0.067268 0.128091 -0.012134\nvn 3.364565 1.098501 1.852140\nv 0.060898 0.131233 -0.012079\nvn 4.361321 0.218757 -4.865561\nv 0.091329 0.131391 -0.012150\nvn 2.587826 -1.094038 1.042243\nv -0.027879 0.132618 -0.012187\nvn -2.178575 1.589669 1.310275\nv -0.009406 0.135810 -0.012162\nvn -3.651322 2.684644 2.108706\nv -0.007674 0.138083 -0.012041\nvn -3.896171 2.052599 3.776745\nv 0.069155 0.138257 -0.012033\nvn 2.270165 2.313297 -1.770880\nv 0.091365 0.139207 -0.012123\nvn 0.938904 -5.092230 2.265043\nv -0.076157 0.140544 -0.012231\nvn -1.431799 -2.059166 -3.930133\nv -0.081803 0.141453 -0.012307\nvn -6.746820 -0.660618 -0.621980\nv 0.071002 0.143115 -0.012167\nvn 3.155905 0.674369 -3.726149\nv 0.089250 0.143105 -0.012308\nvn 1.003895 -2.736519 -0.442316\nv -0.064622 0.144072 -0.012234\nvn -1.842792 1.562109 -3.187587\nv -0.081023 0.144575 -0.012187\nvn -4.750949 0.127584 -1.004645\nv 0.070894 0.144843 -0.012153\nvn 1.404400 2.678874 -3.971444\nv 0.087752 0.144822 -0.012151\nvn -2.070319 2.021700 -2.687168\nv -0.079275 0.146572 -0.012094\nvn 3.677288 3.938650 2.637377\nv 0.053001 0.146061 -0.012085\nvn 1.738819 2.095960 1.246817\nv 0.051013 0.148021 -0.012143\nvn -1.975482 2.995006 1.657243\nv 0.002536 0.148029 -0.012194\nvn 1.965721 4.097558 2.061395\nv 0.044860 0.151747 -0.012187\nvn 4.562889 -0.053080 -3.593447\nv -0.023391 0.153101 -0.012301\nvn 3.216549 -0.706771 -5.902463\nv -0.023070 0.154830 -0.012209\nvn 2.571986 -0.115167 -4.114274\nv -0.023103 0.156673 -0.012319\nvn 0.046379 5.612604 2.087853\nv 0.026883 0.155975 -0.012424\nvn 0.402754 4.605824 1.885263\nv 0.028896 0.155799 -0.012187\nvn 2.636328 -0.440970 -6.383774\nv -0.022761 0.158676 -0.012309\nvn 1.097451 -4.450063 3.859283\nv -0.074172 0.160191 -0.012242\nvn 2.096232 -0.404997 -6.611971\nv -0.022727 0.161059 -0.012558\nvn 0.933498 -0.109119 -4.889256\nv -0.022690 0.162975 -0.012644\nvn 0.808497 1.028738 -6.837765\nv -0.022826 0.164867 -0.012558\nvn 1.047553 5.096041 -4.582404\nv -0.087978 0.168409 -0.012246\nvn 0.748185 4.353053 -3.994559\nv -0.085929 0.168377 -0.012154\nvn 0.952842 2.727305 -2.694832\nv -0.084700 0.168076 -0.012143\nvn 0.878479 1.541273 -4.507829\nv -0.026778 0.168321 -0.012183\nvn 1.668882 1.599482 -0.007469\nv -0.037762 0.177684 -0.012390\nvn -1.508208 3.647494 -0.636936\nv -0.069262 0.177975 -0.012146\nvn 1.588737 3.621540 2.837414\nv -0.040505 0.178993 -0.012263\nvn -1.049698 3.770612 -0.824112\nv -0.064048 0.179745 -0.012362\nvn 1.378773 2.590585 2.552588\nv -0.042034 0.179686 -0.012315\nvn -0.109418 -4.998251 0.071814\nv 0.064927 0.053779 -0.012076\nvn 1.499939 -4.226395 2.064479\nv -0.045548 0.055500 -0.011924\nvn 2.465040 -2.439267 -1.952091\nv 0.049387 0.088318 -0.012053\nvn 1.127244 1.526459 -2.279904\nv -0.041276 0.097322 -0.011902\nvn -1.400722 2.945302 4.640716\nv -0.032584 0.100106 -0.012051\nvn -1.090209 1.520869 3.386503\nv -0.031285 0.100327 -0.012005\nvn -3.307579 1.390332 -1.761735\nv -0.083131 0.100938 -0.012093\nvn -2.390368 1.360644 1.196206\nv 0.025908 0.106484 -0.012241\nvn -2.759676 1.874399 4.906188\nv -0.026055 0.107631 -0.012178\nvn 2.496833 -1.866048 -5.098494\nv 0.075942 0.107788 -0.012062\nvn 1.997070 -1.432369 3.137607\nv -0.038031 0.111028 -0.012064\nvn -3.081543 1.460510 3.510810\nv -0.023362 0.111602 -0.012134\nvn 2.897004 -0.611638 -2.687522\nv 0.077336 0.111480 -0.012065\nvn 4.512567 -1.419480 1.610722\nv 0.011717 0.112780 -0.011904\nvn -3.451154 1.639670 1.181438\nv 0.029918 0.114106 -0.012306\nvn 2.466103 -1.396423 0.971248\nv 0.013658 0.116775 -0.012187\nvn 7.750861 0.869745 -1.327714\nv 0.077170 0.119144 -0.012141\nvn 1.520319 -0.891946 -2.105087\nv 0.091224 0.129698 -0.012014\nvn 3.504677 -0.408247 -3.008055\nv 0.090929 0.133175 -0.012029\nvn 2.440222 1.118127 -4.706430\nv 0.093213 0.137022 -0.012098\nvn 2.490311 1.554536 -3.781798\nv 0.089194 0.144192 -0.012051\nvn -1.591879 1.866487 -1.652872\nv -0.063803 0.153096 -0.011995\nvn 0.757879 -0.914884 -5.859011\nv -0.020886 0.161225 -0.012181\nvn 0.362388 -0.930522 -5.911721\nv -0.018723 0.161342 -0.012050\nvn 0.661136 -0.232725 -6.938165\nv -0.020954 0.163179 -0.012443\nvn 0.297793 -0.078366 -4.965888\nv -0.018801 0.162858 -0.012257\nvn 0.270751 -0.201667 -4.960557\nv -0.016896 0.163236 -0.012186\nvn 1.028618 1.928903 -7.323727\nv -0.018822 0.165108 -0.012152\nvn 0.435442 0.634796 -4.922975\nv -0.020867 0.164856 -0.012387\nvn 0.673685 2.813131 -7.923192\nv -0.016714 0.164658 -0.012053\nvn 0.747592 1.409483 -5.766322\nv -0.024217 0.166708 -0.012243\nvn 0.494175 1.467930 -6.822604\nv -0.022249 0.166931 -0.012074\nvn 0.527252 1.125646 -4.836693\nv -0.020650 0.166436 -0.012069\nvn -2.701503 1.094467 0.348806\nv -0.073302 0.169922 -0.012187\nvn 0.436692 -4.964593 -0.022817\nv -0.025373 0.053154 -0.011487\nvn -2.848628 -7.200011 0.142295\nv 0.022694 0.053209 -0.011035\nvn 1.547722 -6.422303 2.200195\nv -0.054066 0.054056 -0.010854\nvn 1.527441 -7.268774 2.865155\nv -0.050535 0.054773 -0.011127\nvn 0.492603 -6.785370 1.554974\nv 0.032528 0.054637 -0.010953\nvn -0.398227 -5.709039 1.766090\nv 0.036533 0.054552 -0.011170\nvn 0.922392 -5.562633 0.876424\nv -0.044490 0.056487 -0.011185\nvn -0.389702 -5.744685 1.349067\nv -0.038409 0.056522 -0.010962\nvn 5.101648 -7.148090 -1.451047\nv -0.016723 0.056527 -0.011057\nvn -0.126082 -4.926455 -0.587296\nv -0.042745 0.056448 -0.010676\nvn -3.736405 -3.239594 0.403630\nv 0.017914 0.057645 -0.011176\nvn -2.543117 -3.904858 -1.806846\nv -0.072762 0.057604 -0.011237\nvn -5.052251 -3.102389 0.758946\nv 0.017207 0.058722 -0.010915\nvn 6.355484 -6.106691 -1.258793\nv -0.014607 0.058118 -0.010931\nvn 6.022205 -4.838948 -1.668229\nv -0.013002 0.060258 -0.011006\nvn -6.031167 -4.358854 -2.888080\nv -0.078475 0.062011 -0.011022\nvn 5.606928 -5.376638 -1.405015\nv -0.010916 0.062562 -0.011107\nvn 0.701029 0.487139 -0.521723\nv 0.069110 0.062700 -0.011838\nvn -2.283777 -1.587341 -1.124379\nv -0.078921 0.063228 -0.011832\nvn 4.798504 -3.470530 -0.829701\nv -0.009266 0.064437 -0.011033\nvn 5.051521 -3.171355 -0.451191\nv -0.005328 0.069971 -0.010910\nvn -4.576182 -0.754244 1.809713\nv 0.013147 0.070004 -0.011108\nvn -6.451272 -1.912127 -1.869781\nv -0.083864 0.072188 -0.010982\nvn -5.418591 -0.158723 2.531376\nv 0.012951 0.072278 -0.011018\nvn -4.520230 0.065138 2.130377\nv 0.012927 0.073946 -0.011198\nvn -7.071025 0.669902 3.596053\nv 0.013260 0.075627 -0.010522\nvn -7.345072 -1.815921 -2.499419\nv -0.085409 0.077865 -0.010937\nvn 4.593791 1.140478 -1.236989\nv 0.046451 0.079989 -0.011105\nvn 5.108532 -2.247817 -1.966366\nv 0.046926 0.083594 -0.011133\nvn 3.604892 -2.923407 -1.494266\nv 0.050053 0.088263 -0.011019\nvn -5.226058 2.594854 3.842613\nv 0.016960 0.089643 -0.011098\nvn -5.369864 1.170858 -2.307228\nv -0.084335 0.097732 -0.011468\nvn -0.705296 2.430072 4.214270\nv -0.032290 0.099362 -0.011714\nvn -6.053191 1.972168 -2.809440\nv -0.084157 0.099883 -0.010992\nvn 3.728164 -0.964132 1.066556\nv 0.008008 0.100675 -0.011838\nvn -3.360738 1.912193 4.532701\nv -0.030191 0.101753 -0.011546\nvn 2.348284 -1.116450 -1.466596\nv -0.041453 0.102194 -0.011855\nvn -4.546106 2.568169 2.838398\nv 0.023410 0.101473 -0.011313\nvn 3.748439 -0.612304 0.683038\nv -0.040724 0.103806 -0.011014\nvn -5.115795 4.196865 5.473736\nv -0.026757 0.103705 -0.011107\nvn -7.683175 3.221982 -3.217674\nv -0.081983 0.105544 -0.010871\nvn 0.731726 -2.192538 -4.394744\nv 0.074424 0.105498 -0.011729\nvn 5.477093 -1.585892 1.847847\nv 0.009234 0.105983 -0.011054\nvn 1.029779 -0.992308 -2.592499\nv 0.075489 0.106413 -0.011865\nvn -3.091105 -5.103891 -6.672735\nv 0.069794 0.105539 -0.011194\nvn 2.134573 0.024076 1.162435\nv -0.039370 0.107556 -0.011179\nvn -2.090991 1.686179 2.925104\nv -0.025252 0.107879 -0.011880\nvn 2.552533 -1.379652 -4.050894\nv 0.076548 0.107674 -0.011702\nvn -1.050335 -1.830234 -2.132246\nv 0.067826 0.107375 -0.011563\nvn 0.409215 -5.786273 -3.909306\nv 0.064065 0.107597 -0.010851\nvn -0.397388 -2.355335 -3.201608\nv 0.065977 0.108692 -0.011781\nvn -6.008668 2.795066 -2.143697\nv -0.079825 0.109570 -0.011048\nvn 3.326174 -0.919689 -3.573439\nv 0.077199 0.109982 -0.011876\nvn -6.192820 2.865763 3.741744\nv -0.023277 0.109769 -0.010891\nvn 2.637410 -1.449810 3.914693\nv -0.037447 0.112061 -0.011850\nvn -3.155816 2.111227 -1.156144\nv -0.078438 0.112152 -0.011452\nvn -3.375270 1.722789 1.233212\nv 0.029344 0.112721 -0.011723\nvn -3.363535 1.004984 1.847175\nv -0.022088 0.113312 -0.011284\nvn 4.784969 -1.996660 4.359726\nv -0.036871 0.115615 -0.011381\nvn 4.411551 0.239559 -2.297897\nv 0.078425 0.113544 -0.010830\nvn -7.008771 2.836216 2.580147\nv 0.030967 0.115537 -0.011135\nvn -0.066479 1.579947 3.400862\nv 0.062850 0.118152 -0.011868\nvn -4.307198 2.590293 5.354602\nv 0.064402 0.117453 -0.010859\nvn 1.803051 1.455087 4.886602\nv 0.062185 0.117735 -0.011528\nvn -6.450452 0.985397 2.420923\nv 0.032265 0.119472 -0.011033\nvn -4.753840 4.783265 -1.793856\nv -0.073889 0.118769 -0.011142\nvn 5.484603 -3.266868 2.756947\nv -0.035293 0.119563 -0.011117\nvn -6.864349 2.022464 3.312220\nv 0.064776 0.119232 -0.011141\nvn 5.431821 -3.348289 2.718354\nv -0.034133 0.121465 -0.011094\nvn -7.111955 1.728702 2.764279\nv 0.065433 0.121376 -0.010782\nvn -5.518247 3.050822 3.015845\nv -0.018064 0.121425 -0.011220\nvn -6.350814 1.782989 2.207075\nv 0.065907 0.123628 -0.010844\nvn -5.625404 5.362364 -0.804077\nv -0.069991 0.123402 -0.010926\nvn 7.326010 -0.392343 3.739312\nv 0.076410 0.123447 -0.010839\nvn -2.959080 -1.983224 1.696494\nv 0.031149 0.124097 -0.011502\nvn 3.708279 -6.678209 4.561502\nv 0.020692 0.125626 -0.010888\nvn 1.556076 -2.051780 4.808223\nv 0.077818 0.125596 -0.011409\nvn -0.633255 -3.069401 4.425685\nv 0.080073 0.125768 -0.011222\nvn -6.404131 3.530740 3.171421\nv -0.016300 0.125102 -0.011262\nvn 1.666057 -5.141633 2.520041\nv 0.022502 0.126096 -0.011539\nvn 0.699246 -3.577872 1.645602\nv 0.023802 0.126221 -0.011838\nvn -1.677767 -4.085782 2.306967\nv 0.028918 0.125912 -0.011136\nvn 5.722459 0.763379 3.942698\nv 0.061411 0.127396 -0.011621\nvn 5.850248 -2.871780 2.527044\nv -0.029972 0.129346 -0.010852\nvn -1.039210 -5.219343 0.106525\nv 0.087581 0.128604 -0.010978\nvn 0.700645 -3.615659 -1.934596\nv 0.089515 0.128494 -0.011838\nvn -4.620132 2.229103 4.434073\nv 0.068373 0.129272 -0.011381\nvn -3.050176 3.830301 -0.322528\nv -0.062687 0.129659 -0.010980\nvn -5.312667 4.532056 -0.163357\nv -0.061589 0.131042 -0.011138\nvn -3.687620 2.715234 2.002391\nv -0.012353 0.130859 -0.011270\nvn -2.963841 0.963049 2.325260\nv 0.068907 0.131172 -0.011684\nvn -4.865820 5.005307 -0.001410\nv -0.060814 0.131888 -0.011138\nvn -2.227975 1.552356 1.254771\nv -0.011723 0.132175 -0.011921\nvn 2.517160 0.899765 1.366015\nv 0.059512 0.134905 -0.011444\nvn -3.974020 0.105329 5.705330\nv 0.070362 0.135085 -0.010973\nvn 3.195021 -4.415050 -3.991602\nv 0.093938 0.135235 -0.011025\nvn 5.985657 -1.866638 3.067187\nv -0.027124 0.135605 -0.011016\nvn 2.361104 1.730163 -2.888514\nv 0.094260 0.137509 -0.011401\nvn -0.733834 -0.304289 0.925812\nv 0.069131 0.137250 -0.011846\nvn 6.944999 -1.803390 3.484089\nv -0.026272 0.139194 -0.010980\nvn 3.587223 5.952453 -1.963249\nv 0.091976 0.139188 -0.010932\nvn -0.567101 -5.910523 -2.631432\nv -0.079993 0.140047 -0.011141\nvn -0.347729 -3.389863 -1.491494\nv -0.079273 0.140212 -0.011863\nvn 6.042150 0.334370 -1.359439\nv 0.089750 0.141194 -0.011154\nvn -0.947684 -2.679986 -2.702444\nv -0.082431 0.140830 -0.011617\nvn -2.487843 -2.256701 -5.748854\nv -0.084122 0.141308 -0.011104\nvn -2.581483 1.175767 -5.135780\nv -0.083936 0.143279 -0.011262\nvn 2.021591 -5.427982 0.137508\nv -0.073574 0.142308 -0.011071\nvn 6.738187 -1.499523 -4.765465\nv 0.090244 0.143138 -0.011156\nvn 7.096342 5.597459 6.177524\nv 0.054500 0.143397 -0.010651\nvn 2.091954 -8.638572 -0.488302\nv -0.064461 0.144028 -0.010924\nvn -2.786680 -5.018739 1.173504\nv -0.054052 0.143974 -0.010919\nvn -2.585217 2.568587 -4.753541\nv -0.082109 0.145062 -0.011324\nvn -2.891118 3.480103 2.112947\nv -0.000468 0.144716 -0.011294\nvn 1.101502 3.591023 -4.526258\nv 0.087836 0.145462 -0.011703\nvn 1.384667 5.559745 -2.227414\nv 0.084101 0.145828 -0.011062\nvn 4.229788 4.610361 3.101765\nv 0.050855 0.147398 -0.010941\nvn -1.602079 5.473329 -0.781293\nv -0.077853 0.147791 -0.011089\nvn 4.131218 7.103636 0.190098\nv 0.074147 0.147193 -0.010999\nvn -3.850860 2.671067 -1.122277\nv 0.077486 0.147861 -0.011255\nvn 1.994410 1.451391 -1.269747\nv 0.082476 0.147738 -0.011510\nvn 5.294662 -3.590690 -3.262437\nv -0.022992 0.149157 -0.010778\nvn 4.269127 6.875900 3.679389\nv 0.048338 0.149362 -0.010860\nvn -2.648956 4.098299 -3.275889\nv -0.066437 0.151224 -0.011372\nvn 1.698804 3.276105 1.467779\nv 0.047777 0.150165 -0.011838\nvn -2.616487 4.633615 2.670260\nv 0.007231 0.150599 -0.011187\nvn -2.810101 5.525802 3.174989\nv 0.009037 0.151388 -0.010857\nvn 1.653289 4.162339 2.194422\nv 0.043671 0.152097 -0.011833\nvn 2.564908 6.748603 3.404516\nv 0.042352 0.152323 -0.011388\nvn -4.275934 7.499415 -4.503383\nv -0.064253 0.153363 -0.011145\nvn 2.417649 5.843002 2.799599\nv 0.040462 0.152918 -0.010956\nvn 1.265040 4.239042 2.311428\nv 0.038441 0.153619 -0.011111\nvn -2.933802 5.970915 -1.468572\nv -0.062132 0.154494 -0.010915\nvn -0.921080 5.219182 2.778817\nv 0.016863 0.154460 -0.011303\nvn -0.705571 5.437931 2.414278\nv 0.020877 0.154932 -0.010979\nvn -0.332537 5.489422 2.389496\nv 0.024582 0.155283 -0.011005\nvn 0.651436 6.271191 2.994166\nv 0.030693 0.154949 -0.010796\nvn -2.120748 5.584561 0.066184\nv -0.058654 0.155891 -0.010832\nvn -1.731398 3.547429 0.205236\nv -0.057554 0.156238 -0.010958\nvn 2.390367 -0.160208 -7.550869\nv -0.020988 0.157103 -0.011720\nvn 1.143987 -0.789814 -4.742404\nv -0.020555 0.158863 -0.011676\nvn -0.513094 -3.463707 1.729091\nv -0.083426 0.159660 -0.011564\nvn 0.079205 -2.833229 2.804900\nv -0.080158 0.159727 -0.011657\nvn 0.912679 -0.821972 -4.820070\nv -0.020835 0.159883 -0.011897\nvn -6.137123 0.581940 1.908400\nv -0.055595 0.158964 -0.010895\nvn 0.791077 -2.003956 -6.605074\nv -0.018983 0.160182 -0.011819\nvn 0.593482 -4.020951 2.868206\nv -0.074273 0.161146 -0.011046\nvn 0.239594 -1.671379 -6.705021\nv -0.016832 0.161167 -0.011929\nvn -0.066204 -1.409297 -3.715358\nv -0.016514 0.160758 -0.011784\nvn -4.009606 -4.570825 1.814824\nv -0.056454 0.161122 -0.010995\nvn 0.526237 -2.146549 -7.531067\nv -0.014465 0.161429 -0.011887\nvn 0.630449 -1.164380 -4.703933\nv -0.013075 0.161458 -0.011862\nvn 1.475300 -3.783411 -3.510879\nv -0.012315 0.160692 -0.011386\nvn -0.243117 -3.843739 0.998540\nv -0.061356 0.161890 -0.011733\nvn 1.274641 0.257252 -6.295658\nv -0.014896 0.163045 -0.012045\nvn 0.430947 0.928534 -5.769558\nv -0.013123 0.163106 -0.011933\nvn 2.135255 1.191271 -7.119357\nv -0.011204 0.163001 -0.011719\nvn -3.769473 -5.402153 -2.580577\nv -0.091330 0.163249 -0.010973\nvn 2.222307 4.560961 -4.496493\nv -0.014558 0.165371 -0.011133\nvn 1.614072 5.011840 -3.002530\nv -0.012886 0.164835 -0.011224\nvn 1.025520 0.865913 -2.040010\nv -0.014873 0.164725 -0.011899\nvn 0.140365 1.724880 -2.110260\nv -0.016243 0.165633 -0.011560\nvn 1.397089 1.497761 -3.250434\nv -0.019463 0.166202 -0.011947\nvn 0.612505 2.224495 -3.042821\nv -0.017881 0.165775 -0.011838\nvn 1.347131 1.352606 -4.426126\nv -0.020486 0.167382 -0.011811\nvn -0.355367 4.480696 -2.169158\nv -0.079872 0.167714 -0.011344\nvn 0.280007 0.959300 -4.894547\nv -0.023292 0.168050 -0.011869\nvn 0.627570 1.666226 -6.735520\nv -0.024774 0.168571 -0.011858\nvn 0.123809 0.788920 -3.919369\nv -0.024799 0.168756 -0.011822\nvn -3.911993 2.911709 -4.594059\nv -0.092283 0.169165 -0.010963\nvn 1.164446 2.909290 -2.480542\nv -0.089350 0.169500 -0.011605\nvn 0.676102 0.685340 -2.681286\nv -0.026773 0.169452 -0.011838\nvn 0.707597 1.863790 -2.241774\nv -0.028600 0.171577 -0.011610\nvn -7.986500 2.509578 -0.917538\nv -0.072581 0.171100 -0.011048\nvn 3.262960 5.199584 -2.948729\nv -0.030514 0.173109 -0.011108\nvn 3.987919 6.738918 -0.855604\nv -0.032649 0.174357 -0.011084\nvn 4.002545 6.021605 0.589807\nv -0.036340 0.176639 -0.010949\nvn -0.973515 4.853315 -0.624274\nv -0.062340 0.180445 -0.011081\nvn -0.704059 5.935001 -0.274303\nv -0.060096 0.180812 -0.010957\nvn -0.039373 7.974324 0.383197\nv -0.054530 0.180822 -0.011121\nvn 0.776910 6.768676 1.420952\nv -0.047958 0.180775 -0.011157\nvn -0.351569 -5.921181 0.030202\nv 0.024393 0.052811 -0.010853\nvn 1.021888 -5.831885 0.473286\nv 0.026289 0.052921 -0.010840\nvn 1.494260 -4.650819 0.892707\nv 0.027711 0.053281 -0.011254\nvn -1.159550 -7.415753 2.308860\nv 0.044485 0.053142 -0.010871\nvn -0.735209 -5.769994 0.798017\nv 0.046239 0.052890 -0.010882\nvn 0.921798 -5.807651 -0.646890\nv 0.048290 0.052916 -0.010834\nvn -0.447811 -5.962841 -0.215770\nv -0.059717 0.053279 -0.010875\nvn 0.324813 -5.968234 0.325924\nv -0.058273 0.053263 -0.010904\nvn 0.921029 -5.783116 0.976443\nv -0.055969 0.053507 -0.010977\nvn -2.420690 -5.418522 0.795735\nv -0.028768 0.053757 -0.011010\nvn -0.972216 -6.826754 0.382219\nv -0.027189 0.053176 -0.010919\nvn -1.454546 -2.370908 0.200477\nv 0.022052 0.053505 -0.011126\nvn 2.354527 -6.369554 1.609107\nv 0.028648 0.053783 -0.010929\nvn -1.740468 -6.181921 2.766552\nv 0.042327 0.053743 -0.010889\nvn -0.755159 -2.666333 1.123114\nv 0.043052 0.053229 -0.011487\nvn 2.268996 -4.868619 -2.467318\nv 0.049294 0.053383 -0.011544\nvn -0.759636 -5.817260 -1.000316\nv -0.062517 0.053551 -0.010773\nvn -0.394275 -3.967997 -0.266641\nv -0.060956 0.053406 -0.011021\nvn -1.252450 -7.264699 3.061194\nv 0.040515 0.054246 -0.010713\nvn 2.407131 -4.727775 -2.708202\nv 0.050554 0.053780 -0.010993\nvn -0.154932 -5.996846 0.099334\nv 0.065827 0.053781 -0.010847\nvn 0.593855 -5.858074 -0.029861\nv 0.067727 0.053730 -0.011487\nvn 1.883448 -6.354131 -1.186637\nv 0.070188 0.053995 -0.010863\nvn -1.113781 -5.687877 -1.361085\nv -0.064476 0.053898 -0.011138\nvn 1.138559 -5.472482 2.156447\nv -0.052165 0.054384 -0.011210\nvn 1.583513 -4.704396 -0.327226\nv -0.020506 0.054048 -0.010634\nvn -4.414143 -5.074366 0.119093\nv 0.021020 0.054322 -0.010815\nvn -0.583637 -4.647561 1.728317\nv 0.038520 0.054400 -0.011042\nvn -0.902614 -7.916780 0.241136\nv 0.058036 0.054016 -0.010510\nvn -1.695376 -5.551427 -1.287258\nv -0.066033 0.054303 -0.011059\nvn -2.525848 -6.437313 0.748897\nv -0.030376 0.054590 -0.010885\nvn 1.190607 -5.689222 1.363139\nv 0.030712 0.054416 -0.010900\nvn -1.130246 -4.862545 0.213912\nv 0.056293 0.054356 -0.010825\nvn 4.130521 -6.663281 -1.103077\nv -0.018952 0.054804 -0.010833\nvn -0.393202 -5.803751 -0.707329\nv 0.054278 0.054821 -0.010918\nvn -2.416487 -7.234848 -2.190192\nv -0.067670 0.054829 -0.010637\nvn 1.278726 -5.501152 1.908646\nv -0.048661 0.055190 -0.010988\nvn 1.851093 -5.136519 -2.187980\nv 0.052360 0.054568 -0.010685\nvn -1.973557 -4.224465 -1.762621\nv -0.068423 0.055380 -0.011371\nvn -1.385751 -5.596069 1.387295\nv -0.034381 0.055530 -0.010864\nvn -4.513153 -3.918098 -0.042564\nv 0.019963 0.055724 -0.010860\nvn 3.427209 -3.117633 -1.535979\nv 0.071563 0.054904 -0.010768\nvn 5.725557 -1.936913 -2.744489\nv 0.072336 0.056126 -0.010825\nvn 1.959373 -5.152061 2.201693\nv -0.046104 0.055938 -0.010792\nvn -1.288337 -5.565163 1.741769\nv -0.036274 0.056188 -0.010788\nvn 2.350008 -3.105906 -0.823839\nv -0.017857 0.055766 -0.011188\nvn -2.651591 -5.772730 -2.875693\nv -0.069988 0.055806 -0.010849\nvn -4.857205 -4.955878 0.687248\nv 0.018856 0.056826 -0.010837\nvn -2.884672 -4.685555 -2.336820\nv -0.071792 0.056763 -0.010813\nvn 0.326979 -6.931278 -0.021267\nv -0.040578 0.056414 -0.010646\nvn 1.697960 -2.326545 -0.511890\nv -0.015663 0.057275 -0.011487\nvn 6.528036 1.855497 -4.147897\nv 0.072049 0.058341 -0.010821\nvn -3.873594 -6.249639 -3.097616\nv -0.074197 0.058379 -0.010885\nvn -6.006957 -3.292567 1.171455\nv 0.016261 0.060396 -0.010897\nvn 0.000000 0.000000 -0.000000\nv -0.013794 0.059199 -0.011371\nvn 3.845719 1.703216 -2.695381\nv 0.071429 0.060245 -0.010612\nvn -3.923391 -5.035525 -2.791023\nv -0.076415 0.059706 -0.010732\nvn 3.729153 1.917969 -2.707596\nv 0.070967 0.060740 -0.010943\nvn -3.309241 -3.226878 -1.835904\nv -0.077593 0.060729 -0.010737\nvn 4.809705 3.236883 -3.880290\nv 0.070220 0.062114 -0.010834\nvn 2.048786 -1.893718 -0.941215\nv -0.012133 0.061480 -0.011321\nvn -6.233471 -2.539620 1.708411\nv 0.015225 0.062416 -0.010814\nvn -6.274932 -3.743480 -3.168678\nv -0.080013 0.064253 -0.010801\nvn 5.598524 5.412318 -5.926466\nv 0.068374 0.064369 -0.010864\nvn -5.579772 -1.410274 1.677940\nv 0.014814 0.064124 -0.010696\nvn 1.684064 1.890685 -1.499837\nv 0.066732 0.064975 -0.011534\nvn -3.993597 -2.541747 -1.570745\nv -0.080672 0.065592 -0.011103\nvn 6.597303 -4.398715 -0.851871\nv -0.008338 0.066007 -0.011196\nvn 3.179309 4.383244 -6.341691\nv 0.066307 0.065962 -0.010976\nvn -7.387819 -2.132816 2.177107\nv 0.014252 0.066118 -0.010877\nvn -0.764736 4.618830 -4.145347\nv 0.064370 0.066463 -0.010842\nvn -4.123600 -2.343924 -1.534299\nv -0.081426 0.066665 -0.010976\nvn 2.200619 7.450511 -0.955134\nv 0.062280 0.066818 -0.010851\nvn -6.414965 -1.506433 2.255978\nv 0.013571 0.068175 -0.011020\nvn 1.723323 4.664585 0.269768\nv 0.060270 0.067625 -0.010925\nvn -4.262542 -2.049074 -1.604215\nv -0.082203 0.068176 -0.010912\nvn 4.724048 -3.633210 -0.561535\nv -0.006789 0.067979 -0.010893\nvn 1.585693 4.697886 0.405186\nv 0.058394 0.068209 -0.010887\nvn -6.011889 -2.837537 -2.122173\nv -0.082791 0.069362 -0.010826\nvn 3.281436 4.825162 0.188572\nv 0.055693 0.069445 -0.010873\nvn 3.346829 4.750251 0.468536\nv 0.054246 0.070385 -0.010788\nvn -4.409717 -1.672740 -1.578850\nv -0.083359 0.070480 -0.010567\nvn 5.252245 -2.856965 -0.413940\nv -0.004343 0.071780 -0.010963\nvn 4.647445 4.779966 -1.666213\nv 0.052487 0.071969 -0.010825\nvn 5.087272 -3.143695 -0.259849\nv -0.003682 0.072967 -0.010605\nvn 2.652958 2.854076 -0.411110\nv 0.051213 0.072959 -0.011487\nvn -7.374174 -2.153782 -2.169872\nv -0.084476 0.074143 -0.010787\nvn 5.842772 -3.826687 -0.167396\nv -0.002774 0.074264 -0.010873\nvn 6.236207 5.807889 -2.650719\nv 0.050375 0.074162 -0.010909\nvn 3.474138 -1.971564 -0.062540\nv -0.001980 0.075578 -0.011487\nvn 6.839389 5.410003 -2.093523\nv 0.048824 0.076026 -0.010901\nvn -4.682833 -1.137737 -1.263776\nv -0.084849 0.075775 -0.011295\nvn 7.104724 -3.653811 0.074197\nv -0.001635 0.076238 -0.010762\nvn 4.657493 -1.740084 0.209367\nv -0.000882 0.077834 -0.010827\nvn 4.016850 2.858451 -0.802097\nv 0.047693 0.077481 -0.011005\nvn 4.332815 2.128236 -1.095602\nv 0.047170 0.078291 -0.010880\nvn 6.453785 -2.602869 0.619512\nv -0.000236 0.079668 -0.010908\nvn -6.688417 -0.599132 -1.894281\nv -0.085907 0.080201 -0.010737\nvn 2.756489 -1.160172 0.233575\nv 0.000116 0.080397 -0.011371\nvn -4.216768 0.950529 2.456073\nv 0.013474 0.080128 -0.011510\nvn 7.344542 -2.929131 1.099878\nv 0.000727 0.081959 -0.010938\nvn 5.529572 -0.471451 -2.040664\nv 0.046450 0.081925 -0.011011\nvn -6.714917 1.839964 3.820636\nv 0.014232 0.082062 -0.010719\nvn -5.699394 -0.545419 -1.691801\nv -0.086006 0.082348 -0.010718\nvn -5.279536 -1.118985 -2.253329\nv -0.086179 0.084222 -0.010940\nvn 6.361185 -2.690325 0.807498\nv 0.001521 0.084082 -0.010845\nvn -5.614267 1.718491 3.722007\nv 0.014837 0.084001 -0.010741\nvn 4.067415 -2.377208 -1.522089\nv 0.047746 0.084430 -0.010559\nvn 3.542350 -1.819383 0.192341\nv 0.001921 0.084937 -0.011347\nvn -6.578799 2.204360 3.870671\nv 0.015327 0.085962 -0.010972\nvn 5.112046 -2.488167 -1.730806\nv 0.048326 0.085890 -0.010920\nvn 5.966727 -3.403795 1.064111\nv 0.002543 0.086088 -0.010924\nvn 4.414532 -2.160135 0.712268\nv 0.003534 0.087784 -0.010884\nvn -2.333708 1.065210 1.500624\nv 0.015672 0.087376 -0.011249\nvn 4.284295 -3.543953 -1.828649\nv 0.049090 0.087399 -0.011052\nvn -6.503397 0.923957 -2.384020\nv -0.086173 0.087763 -0.010877\nvn -5.244296 2.636503 3.754134\nv 0.016405 0.088064 -0.010737\nvn 7.459857 -2.454913 1.378749\nv 0.004168 0.089582 -0.010873\nvn 5.713488 -2.521542 -0.169492\nv 0.050879 0.089584 -0.010931\nvn -4.616926 0.432417 -1.772483\nv -0.085844 0.089613 -0.010687\nvn -6.445787 0.752845 -2.567184\nv -0.085725 0.092040 -0.010736\nvn 5.441182 -2.032435 1.416117\nv 0.004805 0.091720 -0.010675\nvn -3.037868 1.481288 2.121162\nv 0.017514 0.091048 -0.011249\nvn 6.044596 -5.003104 0.920032\nv 0.052204 0.091794 -0.010828\nvn -5.340408 2.506125 3.750968\nv 0.018328 0.091905 -0.010714\nvn -5.209841 3.034415 3.496797\nv 0.018912 0.093650 -0.011069\nvn 7.262102 -2.529767 2.168683\nv 0.005607 0.093629 -0.010968\nvn -5.501537 1.138473 -2.068175\nv -0.085373 0.094006 -0.010932\nvn 2.397958 -1.228678 -0.703236\nv 0.053314 0.093325 -0.011487\nvn 3.711710 -1.122923 0.971436\nv 0.006085 0.094801 -0.011320\nvn 5.836774 -2.687718 1.609569\nv 0.053737 0.094092 -0.010704\nvn -4.567718 0.913052 -1.744733\nv -0.085054 0.095698 -0.010622\nvn -4.559795 0.826515 -1.767905\nv -0.084716 0.095988 -0.011221\nvn 6.486037 -1.896144 1.816135\nv 0.006256 0.095900 -0.010770\nvn 1.378014 -2.889313 3.876687\nv 0.054339 0.095639 -0.010471\nvn -6.460160 4.005783 4.755834\nv 0.020436 0.095748 -0.010724\nvn 3.659063 -5.081630 0.412180\nv 0.055981 0.096241 -0.010745\nvn 2.817909 4.548500 -4.514112\nv -0.040429 0.097974 -0.011167\nvn 0.847227 6.200048 -0.435122\nv -0.038419 0.097529 -0.010764\nvn -3.767554 2.228539 2.389489\nv 0.021135 0.097439 -0.011219\nvn 4.972591 -2.746624 2.510086\nv 0.056826 0.097603 -0.010622\nvn 0.019855 4.681535 2.835523\nv -0.036415 0.097462 -0.010823\nvn 3.125478 -2.306233 -0.418705\nv 0.057395 0.098225 -0.011337\nvn 2.201221 0.926268 -2.956584\nv -0.041824 0.098494 -0.011500\nvn -1.905883 3.259769 3.036484\nv -0.034348 0.097864 -0.010825\nvn 4.556656 -0.536814 -3.789504\nv -0.041855 0.099639 -0.011540\nvn -1.380160 2.364642 2.977482\nv -0.034226 0.099082 -0.011525\nvn -4.504823 3.839656 6.386661\nv -0.030557 0.099530 -0.011106\nvn -6.568484 3.980540 4.516380\nv 0.022693 0.099743 -0.010814\nvn 4.571686 -3.860682 3.410271\nv 0.058304 0.099725 -0.010934\nvn 7.350120 -2.227384 2.224088\nv 0.007355 0.099451 -0.010872\nvn -5.935083 2.803010 -2.319806\nv -0.083418 0.101531 -0.010979\nvn 3.094277 -0.587447 -2.412025\nv -0.041729 0.100774 -0.011624\nvn 1.912873 -1.415983 0.010757\nv 0.059664 0.100702 -0.011283\nvn 6.900054 -1.216464 -1.365085\nv -0.040950 0.101945 -0.010948\nvn 5.603597 -1.386670 1.626146\nv 0.008120 0.101822 -0.011319\nvn 3.266438 -1.326194 2.339059\nv 0.059796 0.101486 -0.010712\nvn -2.969403 1.793770 1.964832\nv 0.024104 0.102068 -0.010803\nvn 3.871133 -0.825765 2.987415\nv 0.060072 0.103620 -0.010555\nvn -2.195074 2.677280 4.845260\nv -0.028749 0.103116 -0.011344\nvn -4.580669 2.567005 2.853742\nv 0.024953 0.103551 -0.010903\nvn 7.314937 -2.071560 2.446148\nv 0.008384 0.103691 -0.010682\nvn -5.381105 1.800903 -1.729114\nv -0.082460 0.103550 -0.010993\nvn 4.750001 -3.034716 4.506107\nv 0.060617 0.105587 -0.010614\nvn -3.988070 2.252327 2.004341\nv 0.025467 0.104875 -0.011358\nvn -1.305977 -3.315613 -4.750717\nv 0.072222 0.103515 -0.010660\nvn -0.530345 -3.057397 -5.064679\nv 0.072452 0.104962 -0.011560\nvn 0.548907 -3.209796 -6.026220\nv 0.074352 0.103680 -0.010914\nvn 7.830570 -2.684544 4.189135\nv -0.040303 0.105948 -0.010832\nvn -1.883862 0.973616 2.047058\nv -0.026077 0.105182 -0.011378\nvn -6.959682 3.951392 4.055439\nv 0.026303 0.105898 -0.010825\nvn 3.016309 -2.957177 -6.716529\nv 0.075946 0.105796 -0.011379\nvn 2.799044 -2.659402 0.234844\nv 0.061667 0.106269 -0.011392\nvn -5.426989 3.057800 4.689759\nv -0.025025 0.106190 -0.010733\nvn -3.131663 -4.875695 -5.499622\nv 0.068119 0.105963 -0.010504\nvn -6.802641 3.697317 4.230686\nv -0.024508 0.107725 -0.011100\nvn -4.824817 2.499352 2.504448\nv 0.026987 0.107375 -0.011158\nvn 0.525945 -3.881340 4.305077\nv 0.062357 0.107418 -0.010638\nvn -4.123732 2.271355 -1.611058\nv -0.080577 0.108011 -0.011048\nvn 6.357107 -1.637747 2.401910\nv 0.009595 0.107569 -0.010930\nvn -2.275548 -5.672778 -6.472635\nv 0.066325 0.107620 -0.011043\nvn 3.655684 -1.042726 1.236886\nv 0.009977 0.108373 -0.011486\nvn 5.383476 -1.513687 -5.641389\nv 0.077843 0.107756 -0.010748\nvn 0.209145 -2.645314 -2.906806\nv 0.064927 0.108725 -0.011701\nvn 3.501185 -0.786975 -3.392662\nv 0.078309 0.109633 -0.010850\nvn 4.653422 -0.929158 3.551138\nv -0.039160 0.109823 -0.011158\nvn -2.176418 1.131011 1.544009\nv -0.023900 0.108939 -0.011400\nvn 7.034607 -2.407161 2.904469\nv 0.010123 0.109674 -0.010777\nvn -7.425284 3.636764 3.490767\nv 0.028160 0.109483 -0.010860\nvn 3.686160 -1.461083 4.309845\nv -0.038881 0.111641 -0.011268\nvn -4.043667 1.602971 2.395440\nv -0.022552 0.111505 -0.010987\nvn 5.246890 -1.924809 2.160032\nv 0.010856 0.111506 -0.010750\nvn 6.420137 -0.252178 -4.619152\nv 0.078354 0.111557 -0.010927\nvn -5.872275 2.842250 2.519551\nv 0.029049 0.111253 -0.010856\nvn 6.858917 -4.012463 6.699481\nv -0.038368 0.113492 -0.010913\nvn -5.988807 4.894662 -1.903328\nv -0.077730 0.113226 -0.010936\nvn 6.153123 -2.154860 2.470395\nv 0.011467 0.113394 -0.010792\nvn -5.892908 2.922606 2.355872\nv 0.030194 0.113602 -0.010858\nvn 1.460947 -1.206033 1.756795\nv -0.036923 0.113625 -0.011688\nvn 2.641855 -1.144897 0.824284\nv 0.011992 0.114266 -0.011374\nvn -5.013016 1.935546 2.559569\nv -0.021552 0.113683 -0.010481\nvn -2.238126 1.740243 -0.910978\nv -0.076478 0.114498 -0.011254\nvn -6.512897 3.940663 -2.210677\nv -0.076053 0.115358 -0.010799\nvn 6.680325 -3.329168 2.788514\nv 0.012459 0.115612 -0.010842\nvn 5.487416 1.224731 -1.934672\nv 0.078072 0.115969 -0.010876\nvn -5.059641 2.225028 2.321813\nv -0.020786 0.115570 -0.010665\nvn 0.700925 0.953194 6.275898\nv 0.062031 0.115960 -0.011203\nvn -4.809938 3.124556 -1.614281\nv -0.074841 0.117710 -0.011008\nvn 5.604117 -2.561846 3.189686\nv -0.036480 0.117457 -0.010951\nvn -6.661518 2.900192 3.262008\nv -0.020136 0.117478 -0.011193\nvn 8.022519 -4.380282 3.961738\nv 0.013412 0.117486 -0.010674\nvn -2.655252 1.036023 0.925684\nv 0.031571 0.117294 -0.011250\nvn 6.579671 1.468390 -1.342593\nv 0.077709 0.117667 -0.010859\nvn 2.455546 -1.419899 0.975405\nv 0.013951 0.118003 -0.011258\nvn -4.461883 1.464978 1.675697\nv 0.031983 0.117892 -0.010786\nvn -6.162396 3.700381 3.406142\nv -0.018982 0.119546 -0.010839\nvn 6.714401 -4.704473 3.617292\nv 0.014703 0.119573 -0.010916\nvn 3.516337 0.187196 3.431015\nv 0.061602 0.119429 -0.011318\nvn 5.592138 1.851779 0.292855\nv 0.077286 0.119476 -0.010816\nvn -3.391801 3.492127 -1.088600\nv -0.072615 0.119913 -0.011001\nvn 6.024757 0.455346 5.161996\nv 0.061555 0.121092 -0.011324\nvn -2.548332 0.423377 1.255078\nv 0.065142 0.120761 -0.011475\nvn 4.794529 0.951187 0.626894\nv 0.076794 0.121312 -0.010964\nvn -6.145096 4.434503 -1.538249\nv -0.071468 0.121265 -0.010771\nvn 4.977875 -3.676831 3.214951\nv 0.016346 0.121511 -0.011088\nvn -6.091966 -0.809717 3.083445\nv 0.032478 0.121492 -0.010682\nvn 6.528605 -3.805290 2.504171\nv -0.032759 0.123737 -0.010720\nvn -4.043220 -1.781108 2.226225\nv 0.031876 0.123277 -0.010703\nvn -5.737883 2.732087 2.912280\nv -0.016966 0.123275 -0.010760\nvn 3.714296 -3.700851 2.799030\nv 0.017204 0.122923 -0.010877\nvn 1.809179 -2.121686 1.094812\nv 0.018283 0.123712 -0.011212\nvn 4.791770 0.130171 3.588635\nv 0.061469 0.123308 -0.011296\nvn -1.578004 2.248170 -0.873848\nv -0.069028 0.124125 -0.011487\nvn 2.739548 -3.531600 2.177968\nv 0.019063 0.124596 -0.010709\nvn 0.162105 -1.698468 0.847317\nv 0.082912 0.124273 -0.011257\nvn -4.667878 6.105481 -1.542559\nv -0.067990 0.124977 -0.010878\nvn 3.345305 0.224759 2.174737\nv 0.061517 0.125437 -0.011458\nvn -1.366413 -3.096617 3.993344\nv 0.081931 0.125201 -0.010863\nvn 2.960312 -3.236575 5.311434\nv 0.084128 0.125533 -0.010847\nvn -5.530073 -5.390317 5.643133\nv 0.030712 0.125437 -0.010611\nvn 6.859491 -3.404182 2.266297\nv -0.031380 0.126017 -0.011056\nvn -4.688756 2.341322 2.716758\nv 0.066565 0.125374 -0.010833\nvn 3.277376 -1.892760 1.378366\nv 0.085244 0.126074 -0.011366\nvn -4.437524 3.906802 -0.733986\nv -0.066785 0.126075 -0.010880\nvn -3.163731 1.822754 1.591470\nv -0.015551 0.125893 -0.010655\nvn 0.832257 -5.170896 2.855193\nv 0.024397 0.126765 -0.010931\nvn -0.997632 -6.537727 4.204822\nv 0.026714 0.126908 -0.010912\nvn 2.988353 -1.053201 2.852531\nv 0.085265 0.127646 -0.011245\nvn -5.036845 4.697958 -0.776958\nv -0.065736 0.127542 -0.010709\nvn -6.123442 4.008296 3.150066\nv -0.014628 0.127573 -0.010807\nvn -4.363904 3.285867 5.440436\nv 0.068032 0.127537 -0.010782\nvn 4.350497 -1.853055 1.609811\nv -0.030764 0.127665 -0.010740\nvn -1.818671 2.319690 -0.481434\nv -0.064775 0.128248 -0.011400\nvn 1.288627 -4.473148 0.742098\nv 0.089666 0.128339 -0.010890\nvn -4.617761 6.419421 -0.989530\nv -0.064291 0.128729 -0.010641\nvn -2.924688 2.275703 1.478659\nv -0.013939 0.128854 -0.011288\nvn 6.529959 1.190635 4.451942\nv 0.060662 0.129240 -0.011025\nvn 1.147408 -4.541923 4.107567\nv 0.086004 0.129221 -0.010620\nvn -0.530587 -3.409249 0.581616\nv 0.088447 0.128341 -0.010952\nvn 3.858788 -5.743472 -3.240954\nv 0.091803 0.129033 -0.010997\nvn -5.809231 4.436268 3.218450\nv -0.013121 0.129451 -0.010750\nvn 3.018812 1.448176 -1.698088\nv 0.092350 0.131470 -0.011158\nvn 5.852678 1.495054 3.478343\nv 0.060234 0.131419 -0.010887\nvn -3.091265 1.063033 4.889142\nv 0.069794 0.131350 -0.011038\nvn -5.257744 3.726892 2.686349\nv -0.011335 0.131725 -0.010556\nvn 6.774445 -2.781178 3.170436\nv -0.028309 0.133227 -0.010595\nvn -4.496589 3.196373 2.302317\nv -0.010441 0.133256 -0.011062\nvn 5.871900 1.764697 3.360581\nv 0.059818 0.133267 -0.011029\nvn 6.378413 -0.570045 -0.713101\nv 0.091404 0.133137 -0.010830\nvn -3.186760 3.846948 0.032370\nv -0.059855 0.132719 -0.010910\nvn -3.454371 0.110980 4.734267\nv 0.070070 0.133193 -0.011061\nvn -3.995835 4.360023 0.485799\nv -0.058611 0.133673 -0.010848\nvn -6.395485 4.574416 1.110896\nv -0.057770 0.134806 -0.010941\nvn -6.678435 4.748430 3.699478\nv -0.008895 0.135460 -0.010933\nvn 2.545643 -3.666276 -0.494877\nv 0.092192 0.134503 -0.010964\nvn 1.647866 0.625509 0.950182\nv 0.059032 0.135208 -0.010788\nvn -4.554683 3.727072 0.810919\nv -0.056023 0.136936 -0.010858\nvn 2.680384 1.314187 -2.306567\nv 0.095693 0.137081 -0.010628\nvn 4.302580 -1.145974 2.254207\nv -0.026771 0.137136 -0.010957\nvn -2.207185 1.576148 1.279692\nv -0.008152 0.136769 -0.011312\nvn 5.633733 2.397125 3.363897\nv 0.058320 0.137190 -0.010818\nvn -2.197984 0.055409 3.520133\nv 0.069792 0.137600 -0.011398\nvn -6.601292 4.789505 3.795392\nv -0.007334 0.137453 -0.010713\nvn -4.724156 3.148541 1.513761\nv -0.054891 0.138180 -0.010870\nvn -4.903664 3.974501 2.998924\nv -0.006454 0.139064 -0.011158\nvn -2.764936 1.672393 3.705000\nv 0.070577 0.138671 -0.011236\nvn 2.031968 3.669995 -1.751604\nv 0.093442 0.138593 -0.010817\nvn 4.705546 2.108003 2.975432\nv 0.057746 0.138913 -0.011023\nvn -3.550076 1.489858 1.011677\nv -0.054403 0.139589 -0.010948\nvn -4.704070 1.108032 3.009275\nv 0.071496 0.139453 -0.010783\nvn 2.953657 3.553040 -0.526625\nv 0.090454 0.140036 -0.011015\nvn 1.347427 -5.763888 -0.092706\nv -0.078461 0.140203 -0.010894\nvn 1.383588 -4.631736 0.508883\nv -0.077624 0.140483 -0.010994\nvn 2.470264 -6.282859 1.035377\nv -0.075940 0.141257 -0.010830\nvn -6.796555 3.780700 1.556292\nv -0.053654 0.140989 -0.010665\nvn 5.231330 -1.348573 2.570915\nv -0.025399 0.141558 -0.011278\nvn -5.356129 4.933839 3.254041\nv -0.004526 0.141129 -0.010998\nvn 8.471196 5.662997 6.212288\nv 0.056359 0.141231 -0.010942\nvn -6.700558 -0.917373 1.547097\nv 0.071456 0.141311 -0.010895\nvn 1.594950 -3.502738 0.178894\nv -0.074509 0.141894 -0.010670\nvn -3.580849 1.334500 0.615645\nv -0.053180 0.141742 -0.010883\nvn -5.871166 -1.663664 1.176006\nv -0.053031 0.143081 -0.010886\nvn -5.527417 6.218784 3.341934\nv -0.002854 0.142739 -0.011003\nvn 1.103568 -5.858214 -0.432085\nv -0.071856 0.142636 -0.010950\nvn 1.131289 -5.800408 -0.903611\nv -0.069629 0.142939 -0.010994\nvn 5.148931 -1.071681 2.847651\nv -0.025302 0.143152 -0.010910\nvn 2.031928 1.548577 1.545639\nv 0.055477 0.142563 -0.011030\nvn 1.107222 -3.769278 -0.731304\nv -0.067909 0.143381 -0.010759\nvn -3.923656 -0.476877 0.180071\nv 0.070917 0.143572 -0.011400\nvn 5.255680 -1.491361 2.279711\nv -0.025179 0.144670 -0.010611\nvn 2.525477 2.379127 1.924261\nv 0.054006 0.144559 -0.011197\nvn 2.627639 2.139390 -4.667462\nv 0.090170 0.144792 -0.011158\nvn 0.694748 -3.885199 -0.256134\nv -0.062680 0.144618 -0.010840\nvn 0.047138 -6.957165 -0.071071\nv -0.060342 0.144687 -0.010781\nvn 0.023240 -5.936408 0.179124\nv -0.058229 0.144547 -0.010941\nvn -1.156703 -6.740177 0.696354\nv -0.056308 0.144694 -0.010716\nvn -5.850837 -0.403695 0.907658\nv 0.070859 0.144866 -0.010933\nvn -4.122529 4.635832 3.216509\nv 0.000882 0.145439 -0.010577\nvn 4.286191 4.321844 3.401708\nv 0.052594 0.145567 -0.010771\nvn -6.652043 2.603548 -0.995488\nv 0.070901 0.146738 -0.010896\nvn -0.345982 2.427422 -1.648520\nv 0.085476 0.145971 -0.011338\nvn -0.407270 4.763983 -3.029905\nv 0.087770 0.146608 -0.010770\nvn -2.183848 3.806478 -3.887088\nv -0.081678 0.146564 -0.010583\nvn -2.555408 6.209626 -3.462573\nv -0.079862 0.147175 -0.010935\nvn 5.899530 -3.038630 0.367787\nv -0.024373 0.146906 -0.010903\nvn -2.320293 2.642715 1.893281\nv 0.001492 0.146652 -0.011386\nvn 2.530222 2.575972 1.714459\nv 0.051884 0.146578 -0.011297\nvn -0.080991 2.913238 0.513166\nv 0.075694 0.145859 -0.010599\nvn -4.283895 3.700529 -0.372125\nv 0.076680 0.146839 -0.010780\nvn -0.880466 6.011614 -2.659606\nv 0.086138 0.146338 -0.010793\nvn 4.643365 3.415050 -1.016548\nv 0.083192 0.146736 -0.010798\nvn -4.016833 5.717208 3.787511\nv 0.002825 0.147344 -0.010795\nvn -0.783083 3.575223 -0.299843\nv 0.072011 0.148362 -0.010714\nvn -0.534521 2.657639 -1.869660\nv 0.072232 0.148007 -0.011335\nvn -0.770633 3.861064 0.088212\nv -0.076521 0.148095 -0.010863\nvn -1.320358 5.731269 0.371470\nv -0.075610 0.148248 -0.010949\nvn -1.877960 3.467239 -2.262074\nv 0.078153 0.148931 -0.010802\nvn 4.824194 5.072502 -5.323682\nv 0.081874 0.148903 -0.010740\nvn -1.362400 5.692616 0.625762\nv -0.074343 0.148444 -0.011031\nvn 2.710920 3.436980 2.358473\nv 0.049587 0.148593 -0.011028\nvn -1.717865 6.450710 -0.175609\nv -0.072433 0.148577 -0.010749\nvn -2.448065 5.577353 -1.708742\nv -0.070169 0.149308 -0.010760\nvn -0.800357 3.770445 -3.706547\nv 0.079930 0.149365 -0.010778\nvn -3.618385 5.046443 3.166802\nv 0.005230 0.149062 -0.010877\nvn -1.590740 3.272211 -0.761925\nv -0.068672 0.149734 -0.011291\nvn -2.820362 4.914451 -4.414102\nv -0.067979 0.150767 -0.010594\nvn 3.104461 -1.156656 -4.302425\nv -0.022536 0.150938 -0.011164\nvn 2.574006 5.705575 3.040812\nv 0.046004 0.150501 -0.010929\nvn 2.507786 5.581182 3.396437\nv 0.044308 0.151225 -0.010854\nvn 2.712840 -0.842984 -6.110096\nv -0.022406 0.153022 -0.011644\nvn 1.260918 3.258846 1.943924\nv 0.042909 0.151863 -0.010937\nvn -1.924851 4.980379 2.510307\nv 0.011053 0.152480 -0.011161\nvn 0.836933 -0.931513 -5.786060\nv -0.020981 0.153044 -0.011397\nvn 0.520246 -0.328927 -6.771926\nv -0.018570 0.153270 -0.011372\nvn 0.762779 -0.569345 -2.812440\nv -0.022223 0.154225 -0.011758\nvn 1.268004 -0.733428 -5.776955\nv -0.021068 0.155074 -0.011716\nvn 2.489380 1.251688 -5.719655\nv -0.018633 0.155250 -0.011130\nvn -1.268486 4.213289 2.293953\nv 0.014395 0.154147 -0.011457\nvn 1.211529 5.101505 2.856181\nv 0.036586 0.154341 -0.011367\nvn -1.278836 7.019706 3.499684\nv 0.018840 0.154633 -0.010830\nvn 0.837330 5.497704 2.245961\nv 0.032674 0.154762 -0.011030\nvn 1.274646 6.977806 3.637340\nv 0.034665 0.154336 -0.010824\nvn 0.043740 5.464637 2.417502\nv 0.026606 0.155386 -0.010898\nvn 0.394460 4.482235 2.156852\nv 0.028967 0.155086 -0.010605\nvn 2.641136 0.156454 -2.477276\nv -0.018912 0.156909 -0.010780\nvn -4.104201 4.035027 0.857448\nv -0.056593 0.156890 -0.010702\nvn 2.701557 -2.610793 -4.973135\nv -0.018834 0.158821 -0.011194\nvn 0.396407 -4.565887 3.827702\nv -0.081907 0.159832 -0.011395\nvn 0.865322 -5.015591 -5.070273\nv -0.016722 0.159139 -0.010988\nvn 1.081894 -4.129097 -3.204191\nv -0.014635 0.159389 -0.010898\nvn 2.071435 -4.281811 -0.659353\nv -0.013346 0.159709 -0.010620\nvn -0.001679 -7.042328 1.405403\nv -0.084049 0.160117 -0.010724\nvn 0.726130 -6.540200 6.089329\nv -0.079898 0.160783 -0.010689\nvn 0.221174 -2.867264 2.766910\nv -0.077985 0.160539 -0.011128\nvn -2.735907 -6.885231 -1.794981\nv -0.085870 0.160369 -0.010863\nvn 0.930960 -5.973320 5.197098\nv -0.076017 0.160907 -0.010869\nvn 0.364804 -1.649053 -3.576537\nv -0.015371 0.160523 -0.011686\nvn -2.206094 -4.437233 -0.343882\nv -0.087723 0.161233 -0.010758\nvn 2.024877 -4.549647 -2.811805\nv -0.010958 0.160966 -0.011164\nvn 1.035508 -6.709802 4.148715\nv -0.072384 0.161433 -0.011128\nvn 0.615714 -5.309773 2.669514\nv -0.070189 0.161551 -0.011487\nvn 0.151185 -3.612932 1.681956\nv -0.068301 0.161715 -0.011506\nvn -1.117280 -6.719955 1.421335\nv -0.058286 0.161792 -0.010645\nvn 2.875984 -1.415807 -1.651040\nv -0.009386 0.161414 -0.010783\nvn -2.147752 -3.085490 -0.812056\nv -0.089145 0.161947 -0.011245\nvn -0.701672 -5.790032 1.364979\nv -0.060041 0.161831 -0.011220\nvn -3.245945 -4.758510 -0.347749\nv -0.089649 0.162294 -0.010790\nvn -0.336095 -6.839956 1.388024\nv -0.061939 0.162098 -0.010773\nvn 3.034256 1.170112 -0.838844\nv -0.009218 0.162959 -0.010960\nvn 1.234102 2.822571 -1.600136\nv -0.010998 0.164436 -0.010841\nvn -3.138144 -1.423917 -3.445350\nv -0.092156 0.165142 -0.011517\nvn 1.373820 5.603774 -2.550378\nv -0.016773 0.166190 -0.010851\nvn -3.833409 0.248916 -4.316441\nv -0.092726 0.166666 -0.011264\nvn 3.617551 4.464336 -4.416247\nv -0.018725 0.166771 -0.010917\nvn 0.659620 5.601088 -3.778732\nv -0.081909 0.167575 -0.011201\nvn -0.785026 2.978472 -1.796954\nv -0.074583 0.167593 -0.011339\nvn -0.232664 4.552771 -1.952760\nv -0.078051 0.167848 -0.011275\nvn 0.235536 6.334621 -2.722284\nv -0.076079 0.167779 -0.011238\nvn -4.456067 4.320858 -3.619538\nv -0.073813 0.168797 -0.010661\nvn 1.346709 0.803915 -6.692032\nv -0.020590 0.168575 -0.011626\nvn 3.472305 -2.699608 -4.760156\nv -0.018891 0.168889 -0.011074\nvn 2.589530 7.036013 -4.848254\nv -0.084330 0.168857 -0.010934\nvn 0.125859 3.066890 -2.558892\nv -0.087673 0.169198 -0.011330\nvn 0.940526 4.886558 -3.263373\nv -0.086009 0.169395 -0.010927\nvn 0.163562 1.078303 -6.907746\nv -0.022223 0.169625 -0.011583\nvn 0.203556 0.876065 -6.793434\nv -0.020509 0.170588 -0.011452\nvn 1.072244 -3.452793 -2.261257\nv -0.016861 0.169401 -0.010868\nvn 2.208656 -4.051844 -3.017138\nv -0.014669 0.170574 -0.011039\nvn -1.420913 3.582773 -2.637335\nv -0.091217 0.170394 -0.010837\nvn 1.122770 5.227840 -4.292628\nv -0.089761 0.170361 -0.010793\nvn 1.368639 3.953099 -9.792172\nv -0.026465 0.170964 -0.011442\nvn -0.075884 1.814778 -5.654792\nv -0.024269 0.171146 -0.011325\nvn -0.268094 0.184313 -4.852034\nv -0.019052 0.170663 -0.011501\nvn 0.405645 -0.945143 -5.697868\nv -0.016643 0.171023 -0.011558\nvn 1.335931 -2.641503 -2.309498\nv -0.012760 0.171273 -0.010943\nvn -4.865878 0.332542 -0.589619\nv -0.072499 0.172852 -0.010794\nvn 1.686710 6.221003 -6.046738\nv -0.028598 0.172612 -0.010748\nvn 0.057810 0.137345 -5.675730\nv -0.014689 0.172801 -0.011506\nvn 0.534344 0.457388 -4.462305\nv -0.012675 0.172892 -0.011615\nvn 4.399751 -2.866311 -1.987563\nv -0.010877 0.172778 -0.010915\nvn -6.554503 1.280308 0.251349\nv -0.072526 0.174969 -0.010879\nvn 0.206209 4.810634 -2.796367\nv -0.012754 0.174712 -0.010767\nvn 0.780748 1.894065 -1.886348\nv -0.010575 0.174561 -0.010901\nvn 2.167698 3.343192 0.312551\nv -0.034314 0.175360 -0.010871\nvn -3.892669 2.784318 -0.670926\nv -0.071718 0.176618 -0.010811\nvn 3.227403 4.999337 0.654822\nv -0.035059 0.175879 -0.010967\nvn -2.978230 4.921844 -1.118112\nv -0.070705 0.177562 -0.010912\nvn -2.442692 5.225326 -1.571518\nv -0.069640 0.178080 -0.010782\nvn 1.632433 4.481266 1.348747\nv -0.039370 0.177931 -0.010875\nvn 1.799045 5.333564 1.968877\nv -0.040442 0.178419 -0.011123\nvn -2.274134 5.321497 -1.503517\nv -0.068361 0.178792 -0.010807\nvn 2.990300 7.574588 3.548316\nv -0.042630 0.179152 -0.010936\nvn -2.026588 6.524855 -1.283946\nv -0.066349 0.179421 -0.011033\nvn 1.834983 7.006565 3.164123\nv -0.044675 0.179946 -0.011154\nvn -1.800849 7.637310 -1.381142\nv -0.064313 0.180034 -0.010640\nvn 1.283725 4.602241 1.438745\nv -0.046253 0.180326 -0.010823\nvn 0.425383 5.966385 0.129344\nv -0.056086 0.180797 -0.010731\nvn -0.005483 2.999292 0.060668\nv -0.052377 0.180829 -0.011487\nvn -0.126551 5.943822 -0.325036\nv -0.058308 0.181016 -0.010963\nvn 0.061973 7.938427 0.813874\nv -0.050544 0.180828 -0.011094\nvn -0.192581 -3.991664 -0.054261\nv 0.059327 0.053956 -0.011138\nvn -0.137711 -4.996500 0.120704\nv 0.064227 0.053812 -0.011138\nvn -2.003481 -6.512147 0.487764\nv -0.032373 0.055155 -0.010926\nvn 2.572449 5.283227 0.857834\nv 0.056593 0.068907 -0.010676\nvn 5.521549 -1.677571 1.629360\nv 0.006810 0.097831 -0.010816\nvn -0.965916 4.603847 6.314971\nv -0.032749 0.097561 -0.010622\nvn -1.998488 2.962208 3.142598\nv -0.031048 0.097984 -0.010536\nvn -3.471544 2.042350 2.951606\nv 0.022096 0.098059 -0.010425\nvn 6.266977 1.059280 -2.413075\nv -0.041012 0.099481 -0.010689\nvn -2.314069 2.185739 3.660160\nv -0.028821 0.101447 -0.010601\nvn -1.001407 -1.778046 -2.188058\nv 0.070719 0.104150 -0.010559\nvn 3.304952 -1.704842 -4.665141\nv 0.077702 0.105819 -0.010321\nvn -5.867333 3.277464 -1.657637\nv -0.079240 0.111320 -0.010591\nvn -2.285109 1.474873 -0.481048\nv -0.070819 0.122375 -0.011138\nvn 3.433442 0.591868 6.693995\nv 0.076041 0.125442 -0.010616\nvn -0.764251 0.505735 0.411654\nv 0.067070 0.126575 -0.011209\nvn 0.854626 -0.640083 5.747536\nv 0.084196 0.127839 -0.010789\nvn 3.346315 -1.707811 1.362954\nv -0.029453 0.130075 -0.011138\nvn -2.008341 1.300855 6.428563\nv 0.069861 0.129445 -0.010688\nvn 5.863146 -2.701655 2.673999\nv -0.029092 0.131164 -0.010712\nvn 4.233777 -1.829329 1.910036\nv -0.027473 0.134275 -0.011371\nvn -0.160237 -4.809994 -2.640874\nv -0.082000 0.139975 -0.010735\nvn -4.799687 -0.922773 0.887675\nv 0.071213 0.142550 -0.010753\nvn -2.689283 3.679542 2.024549\nv -0.001302 0.143638 -0.010603\nvn 1.287940 -5.775479 -0.419460\nv -0.066090 0.143872 -0.010437\nvn 0.760211 -2.202543 -6.452882\nv -0.021058 0.151117 -0.010865\nvn 0.378937 -1.532375 -7.721765\nv -0.016684 0.151107 -0.010930\nvn -2.317723 3.179841 -2.955796\nv -0.066079 0.152632 -0.010558\nvn -0.052013 -1.013814 -3.866901\nv -0.019023 0.151333 -0.010893\nvn 0.792919 0.342998 -3.776419\nv -0.016616 0.152943 -0.011187\nvn -2.486182 5.628788 3.325024\nv 0.012784 0.153046 -0.010808\nvn -1.302469 4.798799 3.305981\nv 0.014601 0.153654 -0.010613\nvn 2.787283 3.569341 -4.403348\nv -0.016911 0.154706 -0.010655\nvn -2.421148 5.454769 -0.288858\nv -0.059806 0.155339 -0.010687\nvn -0.581848 5.357937 2.626799\nv 0.022768 0.154955 -0.010578\nvn 1.103143 -3.864483 2.566269\nv -0.081861 0.160639 -0.010537\nvn -4.158301 -2.908099 -5.393883\nv -0.093608 0.164954 -0.010606\nvn -0.038387 1.299889 -4.805278\nv -0.022301 0.171219 -0.011330\nvn -0.357389 3.664975 -4.365723\nv -0.022775 0.172621 -0.010794\nvn -0.511921 4.340941 -4.848162\nv -0.020986 0.172867 -0.010780\nvn -1.742994 2.998624 -4.873370\nv -0.018704 0.173147 -0.010893\nvn -0.716907 2.154109 -5.395275\nv -0.016916 0.173069 -0.011230\nvn -0.788789 4.717975 -4.056268\nv -0.014477 0.174397 -0.010848\nvn 1.470765 3.513568 1.072033\nv -0.038286 0.177432 -0.010566\nvn 0.613595 -3.857933 0.677191\nv -0.057690 0.053347 -0.010437\nvn 2.271774 -5.472095 0.824560\nv 0.027602 0.053400 -0.010430\nvn -0.729411 -2.655602 1.185967\nv 0.043919 0.053466 -0.010467\nvn 1.541706 -5.350229 -1.655558\nv 0.050273 0.053325 -0.010522\nvn 1.111908 -5.887809 -0.193608\nv -0.022770 0.053511 -0.010496\nvn -0.247918 -7.993531 0.108491\nv 0.062127 0.053891 -0.010788\nvn -0.018954 -4.848385 1.186812\nv 0.034796 0.054793 -0.010562\nvn 1.082159 -3.706490 1.007266\nv -0.048084 0.055434 -0.010547\nvn -1.445418 -2.257510 -1.314555\nv -0.075609 0.058859 -0.010303\nvn 2.565220 1.978902 -2.322783\nv 0.069552 0.063564 -0.010404\nvn 2.590998 1.342318 -3.934896\nv 0.067700 0.065926 -0.010369\nvn 3.147349 -2.452757 -0.177842\nv -0.007719 0.066817 -0.010350\nvn -3.614520 -0.969409 1.375402\nv 0.013928 0.067449 -0.010541\nvn -3.686918 -0.976458 -1.119732\nv -0.085116 0.076166 -0.010402\nvn -5.477462 0.134623 -2.342089\nv -0.086459 0.085975 -0.010624\nvn -2.866113 1.949004 3.504783\nv -0.028964 0.100037 -0.010118\nvn 5.551591 -1.323564 1.822976\nv 0.007712 0.101476 -0.010163\nvn -1.729168 2.156396 2.617592\nv -0.027401 0.102150 -0.010409\nvn 2.428781 -2.465166 -5.994689\nv 0.075959 0.103663 -0.010367\nvn -3.041813 1.692877 1.913997\nv 0.025748 0.104584 -0.010439\nvn -4.112682 2.486531 -1.305601\nv -0.081287 0.107382 -0.010212\nvn 4.234376 -0.401408 4.643840\nv -0.040123 0.107701 -0.010272\nvn -2.389669 1.122570 1.408600\nv 0.027780 0.108198 -0.010368\nvn 3.684831 -0.738386 3.236095\nv -0.039757 0.111466 -0.010282\nvn 3.314611 0.085453 6.633844\nv 0.060345 0.113501 -0.010439\nvn -1.456760 1.594132 5.384329\nv 0.062123 0.114177 -0.010760\nvn 2.146302 -1.303075 1.444010\nv -0.038028 0.115131 -0.010470\nvn 3.351931 -0.459682 3.488856\nv 0.060592 0.115865 -0.010456\nvn -3.213418 1.488479 4.648324\nv 0.064062 0.115657 -0.010373\nvn -3.485505 1.704081 -0.878064\nv -0.075354 0.117114 -0.010466\nvn 5.048820 -0.221553 4.595037\nv 0.060903 0.117763 -0.010516\nvn 3.251476 -1.879718 1.365463\nv -0.035945 0.118955 -0.010340\nvn 4.167804 0.024191 2.733749\nv 0.060936 0.119750 -0.010256\nvn 2.106400 -1.568389 1.425478\nv 0.015619 0.121090 -0.010397\nvn 4.102293 0.371972 2.832402\nv 0.060869 0.121652 -0.010440\nvn -2.424794 1.160648 1.316210\nv -0.017456 0.121828 -0.010522\nvn 4.786528 0.153961 3.596211\nv 0.060832 0.122862 -0.010512\nvn 3.342710 -1.803400 1.224080\nv -0.031993 0.125218 -0.010432\nvn 4.872564 0.110789 3.459631\nv 0.060859 0.125350 -0.010380\nvn -1.337282 -3.490442 3.249339\nv 0.028514 0.126678 -0.010294\nvn -2.712918 1.780959 2.275591\nv 0.067373 0.126307 -0.010466\nvn 1.170214 -4.039219 2.638388\nv 0.022577 0.126757 -0.010265\nvn -0.267645 -1.348232 5.801656\nv 0.079986 0.127553 -0.010823\nvn 0.734029 -1.228898 4.707293\nv 0.078136 0.127482 -0.010811\nvn 0.170312 -1.559605 6.737897\nv 0.079977 0.129291 -0.010533\nvn -0.066027 -2.495542 6.069474\nv 0.084316 0.129261 -0.010703\nvn 2.764503 -0.887938 -0.816520\nv 0.093258 0.129585 -0.010354\nvn 2.694934 1.641736 -1.279639\nv 0.093179 0.131099 -0.010483\nvn -2.983871 2.231621 1.429632\nv -0.009622 0.134027 -0.010384\nvn 3.292622 -1.315651 1.843650\nv -0.027849 0.134527 -0.010437\nvn 2.706061 -1.296241 -1.354384\nv 0.095607 0.135937 -0.010534\nvn -5.113310 0.237751 5.825184\nv 0.071476 0.137450 -0.010363\nvn -2.650103 2.352392 1.842842\nv -0.005379 0.139954 -0.010654\nvn -0.519642 -3.880362 -3.461319\nv -0.083993 0.139561 -0.010221\nvn 4.164942 -0.984353 2.552332\nv -0.025918 0.141222 -0.010452\nvn -3.574369 -1.907527 -8.479173\nv -0.085942 0.141227 -0.010390\nvn -1.922383 1.942889 1.191162\nv -0.003783 0.141681 -0.010592\nvn -2.948434 1.769279 -6.020530\nv -0.085809 0.142933 -0.010341\nvn 2.279250 -0.974125 -1.281000\nv 0.090929 0.143522 -0.010499\nvn -2.981273 3.488365 -6.472906\nv -0.084228 0.145049 -0.010242\nvn 4.335619 0.543301 -4.765509\nv 0.091332 0.145257 -0.010277\nvn 1.540979 3.490118 -4.509683\nv 0.089600 0.146651 -0.010272\nvn 3.643658 -2.588857 -1.855984\nv -0.023645 0.147894 -0.010341\nvn -2.461352 3.590670 2.433064\nv 0.004052 0.147968 -0.010463\nvn -0.475439 -3.527624 -5.670641\nv -0.018613 0.149394 -0.010355\nvn 1.459671 3.225311 1.767840\nv 0.047031 0.149871 -0.010446\nvn 4.953195 0.615020 -4.041223\nv -0.013030 0.151009 -0.010389\nvn -1.303792 2.196961 1.476321\nv 0.006710 0.149847 -0.010356\nvn 0.635603 -0.273932 -3.808305\nv -0.014528 0.151186 -0.010856\nvn -1.238836 3.133742 1.936192\nv 0.010619 0.151920 -0.010226\nvn 3.685365 3.633958 -5.816830\nv -0.014888 0.153060 -0.010631\nvn 1.164440 5.019075 3.063704\nv 0.036654 0.153708 -0.010454\nvn 1.797661 2.029351 -0.870110\nv -0.009846 0.164025 -0.010437\nvn -2.029355 0.525593 -4.458210\nv -0.094021 0.166916 -0.010566\nvn -1.847852 1.817981 -5.257159\nv -0.093884 0.168186 -0.010286\nvn -0.063854 5.820056 -3.736584\nv -0.080157 0.168110 -0.010322\nvn 0.899609 3.029745 -2.355813\nv -0.082360 0.168215 -0.010464\nvn -0.428694 5.781356 -3.781590\nv -0.077781 0.168313 -0.010306\nvn -0.488420 3.573831 -3.375226\nv -0.076057 0.168439 -0.010333\nvn 1.598441 -3.256460 -0.142232\nv -0.015781 0.169623 -0.010568\nvn 1.095560 4.632647 -3.528955\nv -0.088179 0.170063 -0.010280\nvn 0.154647 2.430108 -3.061832\nv -0.026751 0.172331 -0.010762\nvn -0.172670 3.783907 -4.420012\nv -0.024672 0.172717 -0.010491\nvn -0.997083 4.809455 -2.900756\nv -0.016820 0.174111 -0.010436\nvn 1.414119 3.491280 -1.170667\nv -0.031498 0.173966 -0.010350\nvn 1.344205 0.337026 -0.239554\nv -0.009860 0.174315 -0.010507\nvn 0.932464 2.664618 1.010200\nv -0.043923 0.179497 -0.010705\nvn -1.051618 3.770686 -0.519392\nv -0.065602 0.179833 -0.010367\nvn -2.332521 -1.467863 -1.165976\nv -0.079512 0.063021 -0.010361\nvn -0.734209 3.344761 -7.424052\nv 0.066404 0.068205 -0.010375\nvn 1.768658 0.980626 -3.327030\nv 0.067402 0.067325 -0.010338\nvn 2.799537 2.545743 -1.278526\nv 0.049826 0.075158 -0.010262\nvn -6.748353 0.959774 4.087720\nv 0.013534 0.078316 -0.010734\nvn -2.986787 1.312728 2.278778\nv 0.015979 0.086597 -0.010338\nvn 0.000000 -0.000000 0.000000\nv 0.019812 0.094550 -0.010437\nvn -6.337608 0.980600 -2.699629\nv -0.084977 0.097813 -0.010292\nvn 3.545536 -0.969286 1.576404\nv 0.009648 0.108958 -0.010192\nvn 1.514380 -0.049627 5.395634\nv 0.060187 0.111457 -0.010315\nvn -2.829605 1.508249 6.932133\nv 0.062268 0.111909 -0.010215\nvn -3.630434 0.994736 1.314935\nv 0.065306 0.119962 -0.010348\nvn 0.760569 -0.689241 4.876706\nv 0.075879 0.127669 -0.010442\nvn -0.314730 -0.696723 6.871889\nv 0.081989 0.127071 -0.010572\nvn -0.798147 2.088247 4.358510\nv 0.069927 0.127876 -0.010142\nvn 3.327152 0.505487 2.149454\nv 0.060428 0.127975 -0.010228\nvn 0.651011 -1.511980 6.793583\nv 0.077801 0.129072 -0.010354\nvn 0.158705 -1.321362 5.700740\nv 0.082147 0.129534 -0.010600\nvn -2.535563 -0.339593 7.477933\nv 0.071965 0.131135 -0.010182\nvn 2.217114 1.101957 1.618465\nv 0.056966 0.139466 -0.010189\nvn -1.027830 -2.269912 -2.286762\nv -0.085509 0.140008 -0.010245\nvn 0.392999 -3.247097 -2.173725\nv -0.016355 0.148790 -0.010208\nvn 1.447296 -4.650769 -4.376706\nv -0.014825 0.149514 -0.010395\nvn 1.289097 -1.164312 -1.288359\nv -0.013135 0.149889 -0.010290\nvn 0.602137 -2.845703 -3.757054\nv -0.021060 0.149652 -0.010079\nvn -1.082964 4.841659 3.357664\nv 0.016768 0.153751 -0.010200\nvn -2.238452 6.593708 -0.314997\nv -0.059717 0.155393 -0.009101\nvn 0.224227 -3.724931 1.433299\nv -0.068450 0.162097 -0.010521\nvn 0.173552 -5.726546 1.705850\nv -0.064612 0.162216 -0.010622\nvn -2.213892 -3.811329 -0.696214\nv -0.092842 0.163668 -0.010195\nvn -1.211645 -3.519857 -1.335225\nv -0.069395 0.055145 -0.010093\nvn -0.712069 -5.803678 -0.559493\nv -0.044333 0.056204 -0.009048\nvn 0.178498 -5.902199 -0.688185\nv -0.042423 0.056155 -0.009574\nvn 1.595686 -6.426246 1.358417\nv -0.046588 0.056402 -0.009102\nvn 0.463371 -4.949819 0.329919\nv -0.037920 0.056773 -0.009473\nvn -1.025051 -7.559287 1.669937\nv -0.036301 0.056897 -0.008987\nvn -1.023482 1.787702 -2.173512\nv 0.064759 0.067751 -0.010040\nvn 1.870621 5.546141 -0.790552\nv 0.057904 0.068307 -0.009088\nvn -0.031140 0.692941 -1.537687\nv 0.066200 0.069339 -0.010115\nvn -2.416503 0.453986 1.592473\nv 0.013961 0.079322 -0.010172\nvn -3.692750 1.723215 2.896350\nv 0.018049 0.090145 -0.010043\nvn 0.000000 0.000000 0.000000\nv -0.036806 0.096656 -0.010150\nvn -0.270093 3.200084 3.784969\nv -0.034356 0.096732 -0.010097\nvn 2.132031 -0.117361 4.389066\nv 0.056485 0.099405 -0.010026\nvn 0.711149 -0.179322 7.758122\nv 0.056309 0.101768 -0.010081\nvn 0.990589 -0.963651 4.644117\nv 0.058397 0.101754 -0.010058\nvn 0.162206 -2.966762 -5.011996\nv 0.074333 0.102050 -0.010084\nvn 1.256631 -0.732674 6.625691\nv 0.056226 0.103775 -0.010072\nvn 0.964355 -0.169938 5.843167\nv 0.058174 0.106067 -0.010017\nvn -1.089036 -1.887498 -2.061242\nv 0.066327 0.106625 -0.010130\nvn 1.470647 -0.399425 4.577101\nv 0.058115 0.107669 -0.010051\nvn 0.840999 -0.307832 5.903732\nv 0.060125 0.107671 -0.010183\nvn -3.681688 -2.316584 -0.241207\nv 0.062620 0.107578 -0.009299\nvn 0.982435 -0.966008 3.345134\nv 0.058472 0.109475 -0.009994\nvn 1.226571 -1.084459 6.330463\nv 0.059980 0.109610 -0.010182\nvn -1.317843 -0.243281 4.476311\nv 0.061615 0.109688 -0.010094\nvn -6.355973 2.040077 5.508166\nv 0.064585 0.113534 -0.009223\nvn -4.229778 0.851357 2.348375\nv 0.064918 0.115700 -0.009408\nvn -2.532057 1.198872 1.062700\nv -0.019460 0.118000 -0.010088\nvn 1.496243 0.908557 2.430284\nv 0.074692 0.125945 -0.010024\nvn 2.044160 1.442649 8.244831\nv 0.074098 0.127333 -0.010125\nvn -0.233727 1.088349 5.769157\nv 0.072406 0.128120 -0.010100\nvn -0.806484 -0.178363 4.902905\nv 0.072374 0.129462 -0.010175\nvn -0.050794 -0.667812 5.917034\nv 0.074108 0.129336 -0.010024\nvn 0.500749 -0.839329 4.883934\nv 0.075427 0.129025 -0.010159\nvn 0.365465 -1.248087 4.816301\nv 0.077999 0.130481 -0.010080\nvn 0.040729 -1.102894 3.838690\nv 0.079889 0.130425 -0.010141\nvn -0.181721 -2.311836 6.578763\nv 0.081955 0.130950 -0.009984\nvn 0.405545 -1.656412 3.457412\nv 0.084251 0.130474 -0.010044\nvn -2.927426 -0.168486 5.209612\nv 0.071810 0.133517 -0.010159\nvn -2.210391 -0.011397 3.319459\nv 0.071793 0.134853 -0.010170\nvn -3.090525 2.359461 0.719806\nv -0.057047 0.135675 -0.010088\nvn -1.123814 -0.025449 -2.569753\nv -0.086969 0.141479 -0.010061\nvn 1.920491 1.401404 1.829457\nv 0.055014 0.141975 -0.010088\nvn -1.168952 0.996653 -2.566977\nv -0.085204 0.144288 -0.010132\nvn 2.933921 -3.682686 -0.828918\nv -0.024219 0.146625 -0.009196\nvn 2.363804 -4.946187 -3.303502\nv -0.022845 0.147245 -0.008873\nvn 2.148301 -2.707094 -3.084220\nv -0.022821 0.148586 -0.009639\nvn 1.002435 -6.340409 1.889112\nv -0.016645 0.148955 -0.008751\nvn 0.976931 -5.865083 -0.628854\nv -0.019064 0.148597 -0.009149\nvn 0.835887 -3.501694 0.391584\nv -0.014512 0.149082 -0.008833\nvn 4.223266 -3.085216 1.256446\nv -0.012953 0.149734 -0.008992\nvn 3.823853 1.214541 1.645283\nv -0.012855 0.151179 -0.008788\nvn -1.881275 5.180506 -3.042392\nv -0.068133 0.152558 -0.008923\nvn 1.837291 1.512029 -0.900942\nv -0.013480 0.152469 -0.010074\nvn 0.785169 3.409002 1.937846\nv 0.034918 0.153860 -0.010087\nvn -2.531377 6.408903 0.267401\nv -0.057516 0.156127 -0.009055\nvn 6.415277 0.455299 -1.028477\nv -0.018272 0.156909 -0.009119\nvn 2.532607 -4.853218 -0.857268\nv -0.016852 0.158498 -0.009194\nvn 0.000000 -0.000000 0.000000\nv -0.055202 0.159427 -0.010138\nvn 3.264052 -5.735784 4.011823\nv -0.082268 0.161549 -0.009122\nvn 0.275188 -4.536886 2.063148\nv -0.071909 0.162083 -0.009985\nvn 0.220050 -8.502882 2.798353\nv -0.066074 0.162271 -0.010251\nvn -3.335030 -0.618949 -5.697724\nv -0.095467 0.167058 -0.010083\nvn -1.340304 1.721152 -0.936519\nv -0.018723 0.173904 -0.010088\nvn -1.831417 -5.621679 0.302345\nv 0.023219 0.053031 -0.009300\nvn 1.406323 -5.759137 0.263441\nv 0.026456 0.053065 -0.009341\nvn -0.969110 -3.673416 1.144708\nv 0.046484 0.053158 -0.009333\nvn -1.070993 -8.475778 1.444287\nv 0.048190 0.052972 -0.009017\nvn 0.548090 -6.783626 -0.886746\nv 0.050242 0.052925 -0.008914\nvn -0.494208 -4.939809 -0.413976\nv -0.062872 0.053427 -0.009670\nvn -0.053879 -7.963469 -0.027108\nv -0.060373 0.053299 -0.009081\nvn -1.208838 -3.270193 1.128136\nv -0.027561 0.053409 -0.009209\nvn -0.724882 -5.388361 1.013489\nv -0.026365 0.053161 -0.009074\nvn 0.472344 -5.966624 -0.063198\nv -0.024673 0.053197 -0.009125\nvn -2.589844 -4.193054 0.363417\nv 0.022141 0.053516 -0.008971\nvn -2.603128 -8.852608 3.763710\nv 0.044326 0.054087 -0.008903\nvn 2.211860 -4.986493 -2.299644\nv 0.051202 0.053373 -0.009750\nvn -1.482025 -7.824070 -0.400346\nv -0.063896 0.053534 -0.008953\nvn 2.127677 -7.410835 2.054260\nv -0.056308 0.054047 -0.009121\nvn -2.970769 -6.858673 1.542073\nv -0.028795 0.054058 -0.009127\nvn 2.139892 -5.517571 0.714846\nv 0.028683 0.054166 -0.009052\nvn 2.195496 -3.993222 -2.008026\nv 0.052434 0.053729 -0.009123\nvn -0.149038 -5.961233 -0.092111\nv 0.066269 0.053786 -0.009220\nvn 1.638314 -4.547454 -0.528631\nv 0.070547 0.053761 -0.008920\nvn -1.311877 -5.772917 -0.768127\nv -0.066265 0.054180 -0.009072\nvn 2.266771 -6.579576 -0.234313\nv -0.020373 0.053995 -0.008938\nvn -5.876195 -5.272797 0.731874\nv 0.020954 0.054457 -0.009269\nvn -1.610070 -6.138865 2.906698\nv 0.042399 0.054627 -0.008870\nvn -0.615558 -5.892337 0.395186\nv 0.058254 0.054124 -0.009128\nvn 3.871617 -4.281298 -1.214973\nv 0.071693 0.054527 -0.009210\nvn 1.440917 -5.617868 1.444901\nv -0.054284 0.054767 -0.008829\nvn 1.406429 -6.784251 0.784311\nv 0.030725 0.054731 -0.008971\nvn -0.589927 -5.850080 -0.355217\nv 0.056082 0.054511 -0.008695\nvn -1.046886 -4.752932 -1.135227\nv -0.068003 0.054520 -0.008996\nvn 0.961810 -4.661763 1.461847\nv -0.052809 0.054991 -0.009322\nvn -1.423778 -4.757789 0.309474\nv -0.030448 0.054780 -0.009022\nvn 3.355055 -4.901523 -0.333940\nv -0.018609 0.054802 -0.009059\nvn -0.269298 -6.064722 3.034152\nv 0.038496 0.054996 -0.009111\nvn -1.446378 -4.509305 2.942865\nv 0.040690 0.054967 -0.008845\nvn 1.950757 -7.080401 -2.786065\nv 0.054167 0.054336 -0.008774\nvn -2.844606 -7.122551 -1.833898\nv -0.069887 0.054896 -0.008873\nvn 0.413330 -3.934315 0.554949\nv 0.032669 0.055016 -0.008901\nvn 0.548928 -2.790990 0.863837\nv -0.050573 0.055269 -0.009737\nvn 1.582731 -7.615004 1.596281\nv -0.048650 0.055684 -0.009007\nvn -2.687268 -4.934223 1.078946\nv -0.034601 0.056362 -0.008921\nvn -3.092315 -2.489414 0.342842\nv 0.019952 0.055806 -0.009506\nvn -1.845701 -3.247490 -1.204197\nv -0.071048 0.055631 -0.009562\nvn 2.347902 -3.220553 -0.152240\nv -0.017003 0.056141 -0.009197\nvn 3.918688 -2.827520 -1.087003\nv 0.072767 0.055737 -0.009152\nvn -4.262447 -6.464588 -1.415879\nv -0.072143 0.056273 -0.009078\nvn -5.442640 -4.183448 1.125460\nv 0.019322 0.056789 -0.008890\nvn 3.585505 -1.099826 -1.039438\nv 0.073277 0.056556 -0.008931\nvn 2.922013 -4.018746 -0.269709\nv -0.015661 0.056996 -0.009213\nvn 4.061999 -4.364346 -0.120338\nv -0.014561 0.057882 -0.009128\nvn 6.958909 0.555859 -3.336487\nv 0.073419 0.057884 -0.008875\nvn -3.460066 -5.580191 -1.903342\nv -0.074384 0.057642 -0.009156\nvn -5.219815 -4.255151 1.623053\nv 0.018167 0.057884 -0.009002\nvn -3.297518 -1.940083 1.019166\nv 0.017443 0.058857 -0.009094\nvn 2.445700 0.845127 -1.508726\nv 0.072796 0.058487 -0.009595\nvn -3.932525 -5.288192 -2.081737\nv -0.076075 0.058599 -0.009199\nvn 4.746316 -3.600771 -0.514731\nv -0.013394 0.059195 -0.009134\nvn -5.287702 -2.271370 1.583452\nv 0.016804 0.060263 -0.008965\nvn 6.315149 2.656162 -4.117910\nv 0.072426 0.060245 -0.009087\nvn -4.856213 -4.649107 -1.803648\nv -0.077863 0.060259 -0.009113\nvn 3.946968 -3.028461 -0.330761\nv -0.012489 0.060540 -0.009099\nvn -6.052767 -2.346471 2.523709\nv 0.016117 0.062251 -0.008834\nvn 4.380589 -4.069644 -0.337491\nv -0.011118 0.062128 -0.009116\nvn 6.578936 3.633517 -4.908540\nv 0.071757 0.062163 -0.008799\nvn 2.780406 1.886550 -2.170092\nv 0.070697 0.062922 -0.009514\nvn -5.313032 -3.892585 -2.272504\nv -0.079820 0.062451 -0.008866\nvn 6.025978 4.103508 -5.198020\nv 0.070171 0.064302 -0.008995\nvn -2.299173 -1.439798 -1.208130\nv -0.080570 0.063925 -0.009559\nvn 5.555918 -4.168731 -0.547231\nv -0.009094 0.064327 -0.009186\nvn -6.173678 -1.693567 2.735569\nv 0.015294 0.064380 -0.008941\nvn -6.599854 -3.579796 -2.656155\nv -0.082007 0.066251 -0.009203\nvn 3.958180 1.776568 -4.060731\nv 0.068868 0.066107 -0.009382\nvn -7.123927 -1.958880 2.949672\nv 0.014890 0.066450 -0.008865\nvn 4.110003 -2.802882 -0.262876\nv -0.007664 0.066742 -0.009081\nvn -0.188767 3.850731 -2.349969\nv 0.062344 0.066996 -0.009574\nvn 1.521915 6.439867 -1.417193\nv 0.060181 0.067706 -0.009050\nvn -0.557973 2.800164 -2.020303\nv 0.063527 0.066982 -0.009737\nvn -2.778036 3.578021 -5.107967\nv 0.063879 0.068174 -0.009231\nvn 4.214985 2.573300 -4.577157\nv 0.068344 0.068116 -0.009283\nvn 6.369772 -4.806598 -0.060946\nv -0.006517 0.068154 -0.009229\nvn -4.504756 -0.813842 2.003102\nv 0.014448 0.068238 -0.008981\nvn -4.958848 -2.569424 -2.140868\nv -0.082845 0.067952 -0.009104\nvn 3.058947 4.693185 -1.420363\nv 0.056650 0.068853 -0.009056\nvn -6.026826 -2.320861 -2.621821\nv -0.083980 0.070079 -0.008977\nvn 2.937199 3.436096 -1.847887\nv 0.055849 0.069700 -0.008701\nvn -4.454690 4.344577 -6.338161\nv 0.064265 0.069798 -0.008680\nvn -1.107682 1.851171 -2.995181\nv 0.066010 0.070287 -0.009449\nvn 5.086741 3.581158 -6.028386\nv 0.067730 0.069875 -0.008829\nvn 3.395440 -2.081481 0.014817\nv -0.005212 0.069966 -0.008945\nvn 4.424621 4.748648 -2.315525\nv 0.054683 0.070471 -0.009183\nvn -6.412905 -1.354575 -2.213112\nv -0.084420 0.071961 -0.009286\nvn 2.718433 2.464417 -1.587569\nv 0.052680 0.072628 -0.009417\nvn 7.901641 -4.221294 0.161520\nv -0.004104 0.072118 -0.009071\nvn 3.447721 -1.998316 -0.217802\nv -0.003643 0.072994 -0.009387\nvn -3.711942 -0.901335 -1.173781\nv -0.084811 0.073698 -0.009189\nvn 5.926679 -3.650765 0.172832\nv -0.002768 0.074351 -0.009014\nvn 4.564135 4.792978 -2.242789\nv 0.050890 0.074557 -0.009309\nvn -6.957823 -0.006885 3.883976\nv 0.013809 0.073949 -0.009467\nvn -2.542726 0.170371 1.489077\nv 0.013640 0.075334 -0.009660\nvn -6.166184 -2.099589 -2.490416\nv -0.085622 0.076056 -0.009156\nvn 3.408144 3.389560 -1.362178\nv 0.049952 0.075545 -0.009098\nvn 6.154954 -3.177465 0.710258\nv -0.001731 0.076063 -0.009058\nvn -5.877126 0.886943 3.629598\nv 0.014298 0.076227 -0.008878\nvn -6.401270 -0.971160 -2.452342\nv -0.086164 0.077909 -0.009176\nvn 4.646215 -1.689374 0.442343\nv -0.000938 0.077889 -0.008884\nvn -3.364302 0.606882 2.072704\nv 0.013847 0.077299 -0.009958\nvn 6.618487 3.443497 -2.456565\nv 0.047982 0.077767 -0.009075\nvn 7.512753 -2.293237 1.355982\nv -0.000396 0.080140 -0.008946\nvn -7.107973 1.511449 5.197664\nv 0.014934 0.079848 -0.009052\nvn 6.266363 0.941698 -2.758482\nv 0.047156 0.079617 -0.009556\nvn -3.873261 -0.170545 -0.971273\nv -0.086314 0.079752 -0.009165\nvn -7.504474 -1.093608 -2.260633\nv -0.086345 0.081913 -0.009116\nvn -4.674252 1.375696 3.496517\nv 0.015316 0.081991 -0.009318\nvn 5.453889 -2.096399 1.359802\nv 0.000438 0.082241 -0.009240\nvn 4.459827 -0.767744 -2.026087\nv 0.047159 0.082155 -0.009570\nvn 4.537473 -1.794476 1.086939\nv 0.001122 0.083998 -0.009153\nvn -3.399728 -1.226760 -1.438068\nv -0.086690 0.084021 -0.009598\nvn 7.150517 -2.462160 -0.745111\nv 0.047939 0.084237 -0.009115\nvn -3.131034 0.896803 2.314435\nv 0.015700 0.083812 -0.009575\nvn -4.541114 1.491012 3.602364\nv 0.016363 0.084289 -0.008840\nvn 5.229021 -2.520303 1.432938\nv 0.001799 0.085663 -0.009230\nvn -5.761313 2.266046 5.025410\nv 0.016856 0.085904 -0.008921\nvn -4.618222 0.369147 -1.702357\nv -0.087089 0.086042 -0.009314\nvn 4.813900 -2.084403 1.122142\nv 0.048811 0.086233 -0.009122\nvn 4.966381 -3.015117 1.481875\nv 0.002285 0.086497 -0.009112\nvn -5.566396 1.082709 -1.790820\nv -0.086662 0.088040 -0.009337\nvn 6.072721 -2.944125 1.746334\nv 0.003058 0.087826 -0.008969\nvn 4.442259 -2.339350 2.521984\nv 0.050003 0.087972 -0.009256\nvn -5.639826 2.790668 4.931706\nv 0.017415 0.087592 -0.009295\nvn -8.400998 0.125286 -2.901490\nv -0.086477 0.089676 -0.009147\nvn 5.549479 -1.605831 1.492841\nv 0.003668 0.089357 -0.008873\nvn -5.464200 2.984911 4.937423\nv 0.018715 0.089661 -0.008901\nvn 2.459657 -0.014383 3.369227\nv 0.050506 0.090010 -0.009144\nvn 2.836257 -0.755221 0.620506\nv 0.003993 0.090071 -0.009501\nvn -6.455085 0.891251 -2.230118\nv -0.086611 0.091715 -0.009030\nvn 6.384314 -1.976571 2.014260\nv 0.004412 0.091899 -0.009172\nvn 2.653280 -1.046649 6.307512\nv 0.050557 0.091798 -0.009423\nvn -3.578677 1.608112 3.078130\nv 0.019066 0.091595 -0.009565\nvn 1.376453 -1.179293 1.874744\nv 0.051817 0.092335 -0.009589\nvn -5.560766 1.410350 -1.534869\nv -0.086056 0.093991 -0.009195\nvn -3.466341 1.789558 3.064605\nv 0.019639 0.092900 -0.009524\nvn 2.401732 -0.685156 4.791736\nv 0.052535 0.093952 -0.009639\nvn 5.348965 -1.872592 1.946901\nv 0.005118 0.093945 -0.009044\nvn -5.549156 3.319237 6.158414\nv 0.020672 0.093526 -0.008902\nvn 7.232274 -2.012802 2.698316\nv 0.005615 0.095665 -0.008839\nvn -6.639482 0.993359 -1.715721\nv -0.085476 0.095930 -0.009111\nvn 2.185303 -0.136508 7.453650\nv 0.052496 0.096063 -0.009766\nvn -1.987904 1.324177 1.807073\nv 0.021410 0.095441 -0.009370\nvn 0.512293 5.461911 4.145250\nv -0.036537 0.095532 -0.008934\nvn 3.701116 -0.995955 1.143234\nv 0.006083 0.096475 -0.009654\nvn -0.364542 -1.981160 2.421246\nv 0.054736 0.096444 -0.009700\nvn 1.540599 -1.627253 3.256949\nv 0.055670 0.096467 -0.009687\nvn -0.421103 4.735081 3.525799\nv -0.034363 0.095650 -0.008993\nvn -2.182058 5.515709 3.424543\nv -0.032590 0.096054 -0.009039\nvn 2.681487 4.431497 4.259773\nv -0.038322 0.095949 -0.008717\nvn -1.983485 3.009026 1.594665\nv -0.031175 0.096605 -0.008692\nvn -4.286997 2.791511 4.717725\nv 0.022585 0.095912 -0.008472\nvn 1.675496 1.867333 1.313448\nv -0.038735 0.097232 -0.009463\nvn -3.677343 3.672196 2.798634\nv -0.030503 0.097580 -0.009425\nvn -4.376730 2.556504 4.762356\nv 0.023174 0.097731 -0.009043\nvn 1.009537 -0.221710 3.752405\nv 0.051936 0.097773 -0.009808\nvn 3.753122 -1.964587 6.493467\nv 0.050409 0.097829 -0.009114\nvn 0.730825 -0.544574 5.648363\nv 0.052998 0.097729 -0.009919\nvn -1.102180 -0.417240 6.518943\nv 0.054337 0.097766 -0.009662\nvn 1.744174 -0.013347 5.361549\nv 0.055970 0.097758 -0.009743\nvn -3.812441 0.492575 -0.993920\nv -0.085409 0.097802 -0.009084\nvn 7.197629 -1.946240 2.766002\nv 0.006270 0.097836 -0.009135\nvn 6.129074 6.248492 5.159400\nv -0.040481 0.097845 -0.008879\nvn 3.231235 1.086503 1.462636\nv -0.041093 0.099370 -0.009677\nvn -5.516256 4.424608 3.449905\nv -0.028377 0.099638 -0.009153\nvn -1.988146 1.248884 1.820158\nv 0.023355 0.099347 -0.009717\nvn 3.983747 -2.350488 8.109213\nv 0.052084 0.100101 -0.009300\nvn 0.308588 -0.402475 3.692926\nv 0.053027 0.099100 -0.009914\nvn 0.228859 0.505774 7.632826\nv 0.054481 0.099468 -0.009808\nvn -4.369168 2.103866 -1.047123\nv -0.084712 0.099968 -0.009375\nvn 0.488617 0.276701 3.916385\nv 0.055594 0.099434 -0.009786\nvn 0.928870 0.081674 3.549429\nv 0.053902 0.099975 -0.009918\nvn 5.385897 -1.493877 2.120725\nv 0.006768 0.099394 -0.009018\nvn 5.527546 0.162270 3.663400\nv -0.041366 0.101833 -0.009504\nvn 4.449688 -0.959497 2.033275\nv 0.007301 0.101555 -0.008961\nvn -5.545681 2.808353 4.967598\nv 0.025011 0.101608 -0.009281\nvn 3.669653 -1.978724 5.347829\nv 0.052437 0.101642 -0.008813\nvn 1.627665 -0.428395 6.526632\nv 0.054615 0.101720 -0.009961\nvn -5.247178 2.743912 -0.873017\nv -0.083713 0.101794 -0.009047\nvn -6.412021 4.610889 3.841584\nv -0.026944 0.101677 -0.009156\nvn 1.944204 -0.932851 3.191132\nv 0.053609 0.102135 -0.009503\nvn -2.412933 -4.687298 -7.186552\nv 0.071971 0.101613 -0.009242\nvn -0.138950 -2.108533 -3.335404\nv 0.074256 0.101363 -0.009599\nvn 1.937016 -3.451772 -6.711485\nv 0.076088 0.101726 -0.009577\nvn 0.535659 -1.285104 -2.544067\nv 0.075427 0.102075 -0.009990\nvn 4.156177 -2.502821 6.134789\nv 0.054332 0.103672 -0.009270\nvn 0.000000 -0.000000 0.000000\nv 0.058452 0.103344 -0.009818\nvn 4.455760 -1.044569 1.961029\nv 0.007506 0.103328 -0.008678\nvn 0.643312 -0.065929 6.878484\nv 0.057927 0.104023 -0.009921\nvn -2.358033 -3.367712 -4.348349\nv 0.070032 0.103276 -0.009442\nvn -3.768293 0.821702 -0.988534\nv -0.082788 0.104058 -0.009621\nvn -3.196274 1.934644 1.400032\nv -0.026062 0.103118 -0.009146\nvn 4.352763 -1.225712 2.076900\nv 0.008051 0.104140 -0.009342\nvn 3.805869 -1.784881 -5.516575\nv 0.078113 0.103632 -0.009165\nvn -5.537518 2.927044 4.903562\nv 0.026366 0.103728 -0.009063\nvn 1.093867 -0.613703 2.620368\nv 0.055544 0.104637 -0.009762\nvn 5.503495 -0.095700 4.009431\nv -0.041417 0.104103 -0.009457\nvn -3.961719 2.435745 1.803583\nv -0.025348 0.104173 -0.008963\nvn -3.858008 -5.137983 -6.271866\nv 0.068166 0.103749 -0.008620\nvn -7.179763 2.862926 -1.694209\nv -0.082457 0.105806 -0.009062\nvn 2.842962 0.017401 2.799224\nv -0.041349 0.106042 -0.009727\nvn -7.485182 3.932260 2.975242\nv -0.024476 0.105667 -0.009108\nvn 6.143797 -1.618620 2.876194\nv 0.008416 0.105970 -0.008987\nvn 2.855493 -1.876728 4.760108\nv 0.056014 0.106060 -0.009460\nvn 1.487811 -0.878885 5.425645\nv 0.057008 0.106056 -0.009982\nvn -1.178655 -1.823398 -2.059387\nv 0.067645 0.105356 -0.009649\nvn -4.354623 2.010963 3.553869\nv 0.027333 0.105577 -0.009008\nvn 3.435043 -1.015123 -3.471096\nv 0.078505 0.105917 -0.009643\nvn -2.222708 -4.396562 -4.942797\nv 0.066106 0.105588 -0.009068\nvn -2.993399 -5.229460 -4.600872\nv 0.064249 0.105953 -0.008852\nvn 3.482815 -0.682721 4.717379\nv -0.041191 0.107799 -0.009727\nvn -8.237008 3.999458 6.001762\nv 0.028552 0.107683 -0.008785\nvn 5.640580 -3.032964 6.252446\nv 0.056170 0.107785 -0.008772\nvn 1.970130 -0.871328 4.303612\nv 0.057362 0.107901 -0.009739\nvn 5.253680 -1.273887 2.583034\nv 0.008788 0.107609 -0.009005\nvn -4.164903 2.546912 -1.046377\nv -0.081458 0.107603 -0.008982\nvn 2.859898 -0.689990 -2.703655\nv 0.078765 0.107675 -0.009737\nvn -4.300522 1.862709 1.703835\nv -0.023404 0.107939 -0.008971\nvn -4.142732 2.526944 -1.145527\nv -0.080848 0.108200 -0.009693\nvn 3.050797 -0.900547 5.063806\nv -0.040859 0.109535 -0.009632\nvn 3.205495 -0.505989 3.670650\nv -0.040073 0.109600 -0.010033\nvn -4.727284 1.924660 3.101631\nv 0.029138 0.109593 -0.009092\nvn 4.856840 -3.028796 6.413452\nv 0.057787 0.109879 -0.009316\nvn -5.162771 0.603980 4.043792\nv 0.062690 0.109638 -0.009279\nvn 5.980146 -0.098971 -3.407396\nv 0.079717 0.109639 -0.008873\nvn -6.065279 3.162614 -1.169814\nv -0.080303 0.109494 -0.008965\nvn -5.882689 2.911874 2.410700\nv -0.022670 0.109565 -0.008966\nvn 6.779993 -2.248085 3.539285\nv 0.009300 0.109568 -0.009037\nvn 2.581212 -0.998496 1.157540\nv 0.009974 0.110475 -0.009744\nvn 6.844700 -3.457261 5.898417\nv -0.040786 0.111552 -0.009192\nvn -6.892008 2.693778 2.986575\nv -0.021930 0.111437 -0.009414\nvn 7.577334 -2.491709 4.088773\nv 0.010261 0.111623 -0.009402\nvn -3.285097 1.571855 1.636080\nv 0.029384 0.110865 -0.009641\nvn 3.637469 -1.328245 4.321288\nv 0.058387 0.111494 -0.009248\nvn -2.533542 0.977233 2.888669\nv 0.062805 0.111190 -0.009639\nvn 4.507154 0.527000 -2.010959\nv 0.079401 0.111561 -0.009241\nvn -5.176008 2.701663 -1.011740\nv -0.079596 0.111255 -0.009182\nvn -5.612051 2.487509 3.311527\nv 0.030010 0.111541 -0.009077\nvn -4.614684 3.612506 -1.222113\nv -0.077880 0.113564 -0.009139\nvn -5.772815 2.643335 2.904985\nv 0.030953 0.113436 -0.008871\nvn 7.293945 -2.061514 6.339412\nv 0.058759 0.113322 -0.008894\nvn -3.940525 1.592835 4.078432\nv 0.064177 0.111693 -0.008699\nvn 6.401802 1.115778 -2.380074\nv 0.079204 0.113632 -0.009102\nvn 3.030010 -1.825836 1.822152\nv -0.039890 0.113176 -0.009158\nvn -5.935333 2.462709 2.765109\nv -0.021281 0.113019 -0.009254\nvn 5.580763 -2.256242 3.518458\nv 0.010636 0.113554 -0.008999\nvn 2.029162 -0.540425 2.097954\nv 0.059625 0.114395 -0.009641\nvn -1.482324 0.933933 2.372593\nv 0.064160 0.114449 -0.009918\nvn -5.784350 3.661977 -0.980165\nv -0.076174 0.115682 -0.009282\nvn -4.284023 1.831181 1.803949\nv 0.031394 0.114987 -0.009558\nvn 7.027550 -4.026042 3.673061\nv -0.038579 0.115559 -0.008863\nvn -5.837195 2.497401 2.922537\nv -0.020135 0.115417 -0.009141\nvn 4.527515 -1.117437 3.689461\nv 0.059676 0.115617 -0.009276\nvn 4.539469 1.730884 -0.762505\nv 0.078689 0.115773 -0.009085\nvn 3.176757 -1.653299 1.755467\nv 0.012359 0.116425 -0.009666\nvn -4.218196 1.793435 1.967896\nv -0.019797 0.116702 -0.009407\nvn -6.999920 2.244271 3.107958\nv 0.032503 0.117550 -0.009194\nvn -6.430304 3.276491 3.387748\nv -0.019045 0.117678 -0.008806\nvn 5.412564 -2.359008 3.717716\nv 0.012428 0.117692 -0.008843\nvn 5.547050 -1.212269 3.995848\nv 0.059936 0.117736 -0.009010\nvn 5.421463 2.300028 -0.188592\nv 0.077920 0.117733 -0.009107\nvn -7.555161 4.509211 -0.795313\nv -0.075400 0.117606 -0.009028\nvn 4.785222 -2.872234 2.178116\nv -0.037127 0.117883 -0.009104\nvn -3.032052 2.432650 -0.418139\nv -0.074867 0.118350 -0.009223\nvn -3.499331 3.403480 -0.427676\nv -0.074048 0.119301 -0.009056\nvn 4.314329 -2.485847 3.292547\nv 0.013148 0.119312 -0.008736\nvn 6.562035 -0.027493 4.525744\nv 0.060032 0.119495 -0.008861\nvn 5.265066 2.492889 0.855925\nv 0.077201 0.119237 -0.008927\nvn -5.341267 3.248555 3.141096\nv -0.018263 0.119158 -0.009098\nvn 2.964683 -1.907057 1.877447\nv 0.014139 0.119769 -0.009768\nvn -6.242564 1.652843 2.595607\nv 0.065667 0.119607 -0.008802\nvn -3.222021 3.687543 -0.976450\nv -0.072944 0.120185 -0.009148\nvn 5.634454 -3.589562 2.080454\nv -0.036039 0.119672 -0.008964\nvn -5.312316 1.043311 2.526650\nv 0.033174 0.119468 -0.008865\nvn -5.939108 5.164782 -0.733436\nv -0.071775 0.121351 -0.008883\nvn 5.728658 -3.355010 2.185683\nv -0.034942 0.121426 -0.008959\nvn -7.132279 3.754554 3.968618\nv -0.016919 0.121360 -0.009003\nvn -4.933293 1.904957 2.519601\nv 0.066160 0.121407 -0.008863\nvn 6.197841 3.354967 2.975171\nv 0.076159 0.121468 -0.008977\nvn 6.120799 -4.453726 4.917849\nv 0.014930 0.121445 -0.009111\nvn 4.097772 0.431147 2.830816\nv 0.060135 0.121715 -0.009359\nvn -5.041597 0.165735 3.087751\nv 0.033257 0.121471 -0.009287\nvn 4.730669 -2.992799 2.132633\nv -0.034024 0.123056 -0.008748\nvn 4.856755 -4.071619 4.775683\nv 0.016522 0.123703 -0.009210\nvn -5.944399 2.749393 4.251381\nv 0.066470 0.122851 -0.009202\nvn -3.455610 3.498444 -0.160541\nv -0.070208 0.123617 -0.008830\nvn -3.131112 1.634093 1.869981\nv -0.016332 0.123201 -0.009538\nvn -5.802683 -2.140925 4.962327\nv 0.032818 0.123485 -0.009346\nvn 3.196345 -1.942070 1.396451\nv -0.033101 0.123982 -0.009435\nvn 4.862307 0.125379 3.482411\nv 0.059768 0.123315 -0.009115\nvn 3.909479 2.192053 3.785866\nv 0.075439 0.123307 -0.009262\nvn 7.300199 0.312904 5.219815\nv 0.059939 0.125430 -0.009145\nvn -5.151021 2.968673 3.641589\nv -0.015394 0.123828 -0.008621\nvn -2.899504 1.521464 2.133708\nv 0.066677 0.124475 -0.009867\nvn 0.000000 0.000000 0.000000\nv 0.075172 0.124475 -0.009737\nvn 3.485742 -4.384630 4.150264\nv 0.018641 0.125383 -0.009322\nvn -2.048738 -0.945057 1.959285\nv 0.031677 0.124825 -0.009942\nvn -3.463567 4.856000 -0.339920\nv -0.068157 0.125111 -0.009229\nvn -3.803139 -2.323240 3.972382\nv 0.031418 0.125932 -0.009594\nvn -5.139662 4.786008 6.852526\nv 0.068153 0.125395 -0.009176\nvn 3.038566 2.796001 5.571406\nv 0.073914 0.125069 -0.009163\nvn 7.317611 -3.859413 3.505505\nv -0.032454 0.125623 -0.008837\nvn -5.129082 4.600661 0.039184\nv -0.066828 0.126073 -0.009169\nvn -5.992743 3.155315 4.203302\nv -0.014725 0.125437 -0.008908\nvn 1.846404 -2.574812 2.411119\nv 0.020337 0.126408 -0.009568\nvn 4.307971 -1.843158 1.727561\nv -0.031318 0.127579 -0.009327\nvn 2.282970 -4.378648 4.845556\nv 0.020960 0.127438 -0.008898\nvn -2.919569 -4.462095 5.724391\nv 0.030779 0.127386 -0.009105\nvn -5.089556 4.541721 0.028587\nv -0.065901 0.127498 -0.009158\nvn 1.120566 -4.010303 4.249389\nv 0.022599 0.127673 -0.009121\nvn -0.865549 -3.251353 3.607038\nv 0.028725 0.127636 -0.009283\nvn -0.973108 3.271957 4.791306\nv 0.069689 0.126826 -0.009493\nvn 0.244924 2.273347 4.404581\nv 0.071985 0.127079 -0.009677\nvn -3.780886 3.062908 2.935626\nv -0.014077 0.126822 -0.009099\nvn 0.574309 -4.990016 4.712808\nv 0.024598 0.127955 -0.009327\nvn -0.346589 -3.369747 3.553069\nv 0.027100 0.127963 -0.009271\nvn -2.925853 2.100319 1.720253\nv -0.013823 0.127975 -0.009879\nvn 4.059377 0.860038 2.790271\nv 0.059781 0.127768 -0.009181\nvn -4.408448 2.840347 2.829319\nv -0.013180 0.127833 -0.008664\nvn -3.661207 5.850176 -0.461528\nv -0.064187 0.128975 -0.009184\nvn 6.736350 -2.671786 3.349201\nv -0.030793 0.129471 -0.008902\nvn 3.251901 0.592916 2.245468\nv 0.059705 0.129337 -0.009592\nvn -1.424470 -4.797859 5.761728\nv 0.087918 0.129511 -0.009545\nvn -0.152942 -3.277635 4.110533\nv 0.089752 0.129311 -0.009324\nvn 0.243953 -2.100547 3.345699\nv 0.091472 0.129373 -0.009120\nvn -5.835758 4.200226 3.388791\nv -0.012429 0.129284 -0.009215\nvn 1.673390 -1.763136 2.243218\nv 0.093215 0.129591 -0.009239\nvn -3.161663 3.748847 0.138632\nv -0.062624 0.129771 -0.009138\nvn -0.846575 -2.132073 3.159856\nv 0.086103 0.130037 -0.009770\nvn 5.670098 -2.635027 3.125747\nv -0.030158 0.130958 -0.008847\nvn -6.434589 4.623227 4.186412\nv -0.010913 0.131266 -0.009030\nvn 4.833564 0.869144 3.429014\nv 0.059391 0.131244 -0.009516\nvn -0.933969 -1.261946 6.766090\nv 0.074335 0.131296 -0.009626\nvn 0.441035 -2.306064 8.663960\nv 0.076012 0.131460 -0.009600\nvn -0.223332 -2.188013 6.383692\nv 0.084344 0.131481 -0.009604\nvn -1.226503 -1.866145 5.533237\nv 0.085911 0.131005 -0.009424\nvn 2.520327 1.061135 1.314702\nv 0.093160 0.130771 -0.009321\nvn -4.963111 4.750329 0.907196\nv -0.061571 0.130899 -0.008923\nvn -0.657845 -0.505776 2.866918\nv 0.072967 0.131759 -0.009783\nvn 0.208222 -2.242849 7.657547\nv 0.079627 0.131877 -0.009803\nvn -0.327231 -1.342592 4.803422\nv 0.082124 0.131767 -0.009730\nvn 3.221426 3.060867 5.783398\nv 0.091660 0.131403 -0.009175\nvn 2.473182 -1.104097 1.275604\nv -0.029398 0.131650 -0.009615\nvn -3.694498 4.688617 0.467865\nv -0.059839 0.132656 -0.009241\nvn -3.678915 2.679671 1.954126\nv -0.010132 0.132792 -0.009367\nvn -1.922796 -0.684477 5.595221\nv 0.072917 0.133162 -0.009628\nvn 2.399915 -1.082778 3.109655\nv 0.091021 0.133505 -0.009595\nvn 5.823462 -2.452413 3.053815\nv -0.029124 0.133096 -0.009008\nvn -2.912690 3.987829 0.698163\nv -0.058567 0.133510 -0.008848\nvn -4.926924 3.657241 3.306486\nv -0.009264 0.133492 -0.008964\nvn -4.273349 3.870594 1.312630\nv -0.057500 0.134412 -0.009086\nvn 6.596614 -1.945797 4.030342\nv -0.028560 0.135277 -0.008788\nvn 5.441843 1.942453 3.916824\nv 0.058062 0.134943 -0.009075\nvn -4.005892 -0.960679 6.689801\nv 0.072558 0.134921 -0.009571\nvn 2.263482 -4.778595 3.667274\nv 0.091827 0.134802 -0.008739\nvn 1.322069 -5.091210 2.153811\nv 0.093700 0.135230 -0.008731\nvn -3.925323 2.652766 1.520758\nv -0.056787 0.135463 -0.008934\nvn -4.368506 3.113331 2.660681\nv -0.008310 0.134931 -0.009072\nvn 2.666142 -3.131029 0.796358\nv 0.095617 0.135588 -0.008989\nvn -4.170955 3.937361 1.621182\nv -0.055856 0.136729 -0.009195\nvn 5.602829 -1.569966 3.854053\nv -0.028088 0.137183 -0.008707\nvn -2.834224 2.177934 1.784124\nv -0.007722 0.135747 -0.009081\nvn 4.272542 1.420162 1.476977\nv 0.095982 0.137096 -0.008780\nvn 3.080467 1.343766 2.155356\nv 0.057618 0.136912 -0.009535\nvn -2.902069 -0.880711 3.849137\nv 0.072454 0.137299 -0.009201\nvn 3.366174 -0.983155 1.914443\nv -0.027442 0.137656 -0.009508\nvn -4.058473 3.312904 2.906862\nv -0.006624 0.137089 -0.009068\nvn 4.332670 2.109314 3.533533\nv 0.056628 0.137708 -0.008701\nvn -3.668596 2.959889 1.477859\nv -0.054655 0.137730 -0.009005\nvn 2.749460 4.680219 0.676214\nv 0.094687 0.138003 -0.008758\nvn -3.387987 2.752508 2.414130\nv -0.005933 0.138359 -0.009486\nvn 1.875301 5.050911 1.822704\nv 0.093423 0.138584 -0.009060\nvn -4.513926 4.000753 3.542924\nv -0.005093 0.139128 -0.009301\nvn -5.684455 -0.970327 4.886730\nv 0.072366 0.139338 -0.008815\nvn 0.055636 -6.700607 -0.362750\nv -0.084152 0.139217 -0.008747\nvn -8.435988 3.881716 3.405738\nv -0.053868 0.139217 -0.009152\nvn 5.992767 3.539998 5.596817\nv 0.056028 0.139240 -0.008931\nvn -1.232048 -3.725856 -1.783525\nv -0.086072 0.139418 -0.009166\nvn 0.901305 -4.783957 -0.542042\nv -0.082018 0.139531 -0.009268\nvn 4.815579 -1.471267 3.097241\nv -0.027089 0.139706 -0.009097\nvn 2.234962 4.492480 2.110723\nv 0.091406 0.139408 -0.009088\nvn 1.718786 -7.710133 0.174054\nv -0.079911 0.140065 -0.008772\nvn 4.822858 2.484961 2.638035\nv 0.089751 0.139978 -0.008599\nvn 2.191791 -6.596982 0.495427\nv -0.077973 0.140656 -0.009167\nvn -2.545803 1.136372 0.982693\nv -0.053541 0.140575 -0.009562\nvn 5.490576 -0.951129 4.134030\nv -0.027004 0.141318 -0.008818\nvn -3.256564 2.876970 2.468081\nv -0.004256 0.140245 -0.009536\nvn 3.688391 -1.222990 0.274431\nv 0.089992 0.141173 -0.008977\nvn -8.644165 3.188262 3.362817\nv -0.052804 0.141474 -0.009019\nvn -2.050478 -1.129742 -4.207578\nv -0.088147 0.141157 -0.009345\nvn 1.032789 -3.853971 -0.044859\nv -0.075978 0.141306 -0.009162\nvn 2.286121 -8.474210 -1.527745\nv -0.073978 0.141728 -0.009042\nvn -6.351339 5.885751 4.901411\nv -0.003034 0.141341 -0.009097\nvn -3.440010 -0.631378 1.735880\nv 0.071898 0.141501 -0.009001\nvn 6.799766 5.327454 6.765627\nv 0.054286 0.141465 -0.008943\nvn -3.268543 1.690025 -7.013067\nv -0.087823 0.143022 -0.009321\nvn 1.963599 -6.490961 -1.352317\nv -0.072200 0.142392 -0.009266\nvn -4.935805 -4.398050 1.939747\nv -0.052525 0.143316 -0.009127\nvn 5.239362 -2.149069 3.767222\nv -0.026632 0.143089 -0.008906\nvn -2.224268 2.762398 1.729011\nv -0.002232 0.142563 -0.009604\nvn 4.943997 -2.934085 -0.555774\nv 0.090715 0.142565 -0.009348\nvn 0.705557 -4.932475 -0.391362\nv -0.070480 0.142656 -0.008995\nvn -6.575562 -1.176652 3.821123\nv 0.071629 0.143214 -0.008875\nvn 1.720656 -6.637183 -0.903856\nv -0.068034 0.142976 -0.009237\nvn 1.902479 1.407971 1.842428\nv 0.053739 0.142821 -0.009445\nvn -1.611568 1.301948 -3.420192\nv -0.086448 0.143375 -0.009870\nvn 4.708299 -2.835974 -1.661690\nv 0.091417 0.143497 -0.009149\nvn 1.993392 -6.560671 -0.633484\nv -0.066136 0.143819 -0.009052\nvn 4.932762 3.854444 4.968932\nv 0.052637 0.143161 -0.008547\nvn 0.975765 -4.897055 0.037179\nv -0.064173 0.144099 -0.009165\nvn -1.418417 -2.495010 0.192343\nv -0.053603 0.144097 -0.009544\nvn 4.856761 -2.491032 2.190735\nv -0.026046 0.144736 -0.008836\nvn -4.883582 6.130081 4.284678\nv -0.001038 0.143078 -0.009125\nvn -3.303491 3.601151 -7.428169\nv -0.085935 0.145251 -0.009347\nvn 1.409946 -6.790421 0.095648\nv -0.062222 0.144600 -0.009277\nvn -2.091295 -5.437527 0.730889\nv -0.054473 0.144461 -0.009025\nvn -3.795192 4.863014 3.268091\nv 0.001384 0.144940 -0.009018\nvn 5.212481 -1.889123 -2.850770\nv 0.092302 0.145223 -0.009244\nvn 0.085770 -4.936034 0.663180\nv -0.060118 0.144882 -0.009073\nvn -0.005666 -5.942716 0.754264\nv -0.058073 0.144796 -0.008981\nvn -0.497320 -5.844861 0.862046\nv -0.055998 0.144881 -0.009090\nvn 3.038829 2.743605 2.844779\nv 0.051866 0.144967 -0.009197\nvn 4.031399 -3.847377 0.977169\nv -0.025288 0.145746 -0.008967\nvn -1.001360 1.671881 -2.215740\nv -0.084718 0.145813 -0.009606\nvn -1.997275 3.649154 2.034016\nv 0.075981 0.145244 -0.008983\nvn -1.542430 5.650873 -4.743815\nv -0.083853 0.146762 -0.009156\nvn -3.477847 4.879708 3.574256\nv 0.002545 0.145727 -0.008892\nvn 3.376649 3.728704 3.246774\nv 0.050429 0.146475 -0.009274\nvn 2.442932 3.530861 3.875579\nv 0.074300 0.145517 -0.008648\nvn 1.782345 4.546924 -5.329667\nv 0.091659 0.147210 -0.009209\nvn 1.289098 6.420776 0.895590\nv 0.084126 0.145886 -0.008757\nvn -2.068422 5.482512 -0.377011\nv 0.086143 0.146588 -0.009193\nvn -2.629621 2.159080 3.093443\nv 0.071920 0.147171 -0.008681\nvn -1.422409 5.479244 -1.665191\nv -0.081799 0.147363 -0.009040\nvn 0.000000 -0.000000 -0.000000\nv 0.071095 0.147225 -0.009562\nvn 3.019184 3.511288 2.917804\nv 0.073664 0.146726 -0.009125\nvn -5.805699 3.215425 1.569607\nv 0.076864 0.146939 -0.009200\nvn 5.478977 2.581729 0.598727\nv 0.083187 0.146977 -0.008899\nvn -0.236771 5.195894 -2.322399\nv 0.089699 0.147636 -0.009145\nvn -1.917335 2.784428 2.135871\nv 0.003451 0.146824 -0.009498\nvn -1.824440 5.546156 -0.842007\nv 0.088078 0.147383 -0.008974\nvn -0.364020 3.815386 -0.777404\nv -0.079933 0.147773 -0.009302\nvn -0.657149 7.773200 -0.921342\nv -0.077924 0.147792 -0.008672\nvn -1.499169 6.480163 -0.132003\nv -0.076009 0.147865 -0.009186\nvn -4.085991 6.096363 5.178902\nv 0.004992 0.147265 -0.008758\nvn 0.124465 1.410807 0.750265\nv 0.072137 0.148428 -0.009628\nvn -1.218477 4.609250 -0.373563\nv -0.074724 0.148081 -0.009073\nvn -2.095765 4.953573 -1.858178\nv -0.073842 0.148554 -0.008682\nvn -5.686118 4.378255 -0.120826\nv 0.078090 0.149205 -0.009013\nvn 2.376723 0.509064 -0.935634\nv 0.082961 0.148158 -0.009504\nvn -3.111973 4.509263 -3.940869\nv -0.072398 0.149162 -0.008924\nvn 0.501614 -3.800601 -4.456581\nv -0.020834 0.148660 -0.009385\nvn 1.890710 2.721869 2.117610\nv 0.047964 0.148850 -0.009603\nvn 5.004649 2.210634 0.555441\nv 0.082508 0.149353 -0.008962\nvn -3.499611 6.248959 5.333526\nv 0.007019 0.149122 -0.009215\nvn -1.778783 2.714124 -1.940784\nv -0.070813 0.149708 -0.009376\nvn 2.937791 5.541321 4.862274\nv 0.046474 0.148947 -0.008776\nvn -3.999417 5.460834 -5.586960\nv -0.070092 0.151339 -0.008785\nvn -1.997269 3.481524 2.952050\nv 0.008921 0.150378 -0.009552\nvn 1.083400 2.368667 1.487167\nv 0.044306 0.150505 -0.009695\nvn -1.449795 1.491908 -1.186459\nv 0.078927 0.150229 -0.009737\nvn -1.626017 6.112364 -1.512213\nv 0.079956 0.151006 -0.009021\nvn 2.722038 3.041946 -0.735289\nv 0.081530 0.150725 -0.009118\nvn 2.807266 6.942751 4.879576\nv 0.042552 0.150906 -0.009111\nvn -0.310953 1.710604 -1.802727\nv -0.068204 0.151878 -0.009718\nvn -3.431775 7.562573 6.913884\nv 0.010960 0.151146 -0.009012\nvn 2.816704 6.007291 4.243274\nv 0.040948 0.151519 -0.008902\nvn 3.495084 2.908307 0.031298\nv -0.013532 0.152573 -0.009359\nvn -1.607415 4.640475 3.400574\nv 0.012660 0.152283 -0.009632\nvn 1.078190 2.323225 1.372534\nv 0.040488 0.152275 -0.009621\nvn -2.209875 5.216504 -1.720863\nv -0.066483 0.153151 -0.009281\nvn -0.969527 3.774428 3.124007\nv 0.014514 0.152674 -0.009421\nvn 1.633202 6.564158 4.167804\nv 0.038374 0.152492 -0.009073\nvn 5.148670 4.745088 2.068819\nv -0.014521 0.153391 -0.008934\nvn -1.426464 5.182421 4.463929\nv 0.016708 0.152810 -0.008952\nvn 1.619712 6.402410 4.429497\nv 0.036312 0.152864 -0.008899\nvn -1.582921 3.505592 -0.989881\nv -0.064862 0.153718 -0.009611\nvn -1.308601 5.457483 4.129840\nv 0.018742 0.153535 -0.009132\nvn 1.346696 5.032817 2.961185\nv 0.034573 0.153354 -0.009020\nvn 2.323766 2.817831 -0.826404\nv -0.015281 0.154180 -0.009737\nvn -0.489890 2.447156 1.584985\nv 0.019357 0.154163 -0.009737\nvn 0.909945 5.261327 2.673005\nv 0.032441 0.154228 -0.009562\nvn -1.464868 5.654502 -0.831856\nv -0.062344 0.154827 -0.008846\nvn 4.315411 4.735549 1.453836\nv -0.016683 0.154995 -0.008965\nvn -0.697630 5.858625 3.687143\nv 0.020739 0.154165 -0.009533\nvn -0.598871 4.137202 2.716403\nv 0.022870 0.154331 -0.009380\nvn 0.548386 5.856389 3.712292\nv 0.028568 0.154421 -0.009346\nvn 0.264267 3.579464 1.716532\nv 0.031327 0.154323 -0.009512\nvn -1.846785 5.479208 -0.940380\nv -0.063602 0.154573 -0.008889\nvn -0.547829 6.793107 4.049850\nv 0.024400 0.154478 -0.009209\nvn 0.197332 5.132897 3.012031\nv 0.026810 0.154666 -0.009401\nvn -1.672505 4.686403 -0.035228\nv -0.058609 0.155863 -0.009266\nvn -4.066535 3.867330 1.361720\nv -0.056094 0.156974 -0.009267\nvn -4.770524 0.648914 2.611889\nv -0.054887 0.158966 -0.009017\nvn 2.648109 -7.271825 0.745349\nv -0.014388 0.159404 -0.009157\nvn 1.258152 -2.693577 0.222331\nv -0.013027 0.159891 -0.009616\nvn -1.080885 -6.054400 -1.984377\nv -0.085973 0.159417 -0.008882\nvn -2.255420 -2.642140 -1.860116\nv -0.086501 0.160302 -0.009557\nvn 2.240474 -4.716336 -0.463149\nv -0.084735 0.159559 -0.008877\nvn 2.592165 -3.812757 1.336739\nv -0.083656 0.160372 -0.009044\nvn 2.897978 -6.052913 0.741575\nv -0.012384 0.160276 -0.009035\nvn -3.494410 -3.599786 1.677249\nv -0.056036 0.161462 -0.009170\nvn -3.405192 -2.199623 1.746573\nv -0.054949 0.160653 -0.008655\nvn -5.771427 -6.045230 -1.811306\nv -0.088082 0.161266 -0.008905\nvn 2.884893 -3.876505 2.429245\nv -0.010908 0.161013 -0.008793\nvn 2.730845 -2.293818 1.691519\nv -0.009378 0.161570 -0.009498\nvn 0.514148 -4.636404 3.732872\nv -0.079754 0.161809 -0.009490\nvn 0.320643 -5.585257 4.181124\nv -0.077960 0.161766 -0.009680\nvn 0.338773 -4.160524 2.706230\nv -0.076035 0.161905 -0.009650\nvn 0.323593 -3.313260 2.163607\nv -0.074898 0.161940 -0.009803\nvn -1.346407 -5.747452 0.402836\nv -0.057420 0.161925 -0.009005\nvn -3.382530 -4.857571 0.314193\nv -0.089972 0.162857 -0.009220\nvn 0.375345 -6.512216 2.494446\nv -0.069232 0.162275 -0.009916\nvn -0.435840 -4.905547 0.850039\nv -0.061006 0.162194 -0.009876\nvn 3.857270 1.110697 1.550887\nv -0.009386 0.162917 -0.009318\nvn -2.719674 -5.979293 1.432600\nv -0.091326 0.163583 -0.009003\nvn -1.332185 -3.330698 1.199499\nv -0.092875 0.163712 -0.009654\nvn -2.890677 -4.418025 1.136420\nv -0.093798 0.164478 -0.009059\nvn 4.178305 5.725546 3.372115\nv -0.011192 0.164458 -0.009037\nvn -3.163154 -3.762763 -0.246649\nv -0.095517 0.165440 -0.009070\nvn 1.592113 4.295622 1.234367\nv -0.012627 0.165026 -0.008778\nvn 1.892395 6.527002 0.725664\nv -0.014777 0.165664 -0.009181\nvn -3.589908 -2.976391 -2.575653\nv -0.096434 0.166510 -0.008933\nvn 1.802378 5.593943 0.837501\nv -0.017024 0.166202 -0.009198\nvn 3.673024 1.750810 0.192030\nv -0.018922 0.166897 -0.009037\nvn -2.608119 1.457026 -6.894207\nv -0.096248 0.168873 -0.009531\nvn -0.954539 0.482762 -2.708511\nv -0.095723 0.168225 -0.009898\nvn 4.314217 -2.669865 0.532665\nv -0.018762 0.168609 -0.008927\nvn -1.321039 3.074295 -4.748911\nv -0.094056 0.169397 -0.009561\nvn 1.345367 5.785999 -5.171124\nv -0.081980 0.169344 -0.009029\nvn -0.465806 4.884671 -4.813615\nv -0.079890 0.168916 -0.009115\nvn -0.806977 4.397573 -3.948565\nv -0.077953 0.169140 -0.009244\nvn 0.810602 3.308646 -2.078131\nv -0.083492 0.169413 -0.009527\nvn -0.928623 4.163692 -4.192779\nv -0.076044 0.169338 -0.009454\nvn -1.126837 2.421015 -2.901619\nv -0.074399 0.169636 -0.009582\nvn 2.781485 -6.008927 1.430541\nv -0.017059 0.169521 -0.009104\nvn -1.839733 5.432107 -3.476228\nv -0.091752 0.170862 -0.009227\nvn 1.465410 5.752779 -3.665766\nv -0.086070 0.170431 -0.008918\nvn 1.466328 4.812155 -3.212452\nv -0.087795 0.170730 -0.009118\nvn -4.081734 3.765339 -5.232365\nv -0.074056 0.170863 -0.008892\nvn 3.574897 -4.850309 2.804016\nv -0.014639 0.170929 -0.008619\nvn 0.101514 6.009837 -3.097667\nv -0.089636 0.171424 -0.009204\nvn -2.940210 1.175732 -2.043851\nv -0.073068 0.171492 -0.009425\nvn 2.784526 -4.366516 2.387804\nv -0.012905 0.171636 -0.009312\nvn -4.373747 0.751253 -2.125296\nv -0.072931 0.173179 -0.009327\nvn 3.025161 -2.357986 3.612266\nv -0.012483 0.172493 -0.008641\nvn 2.087421 -0.830082 2.281019\nv -0.011079 0.173191 -0.009118\nvn 0.234200 4.687549 -3.713695\nv -0.027126 0.173310 -0.009614\nvn 0.481457 2.337342 -1.800658\nv -0.029025 0.173657 -0.009587\nvn -0.009131 5.692766 -4.055223\nv -0.024722 0.173533 -0.009248\nvn -0.327615 4.200186 -2.682882\nv -0.022631 0.173617 -0.009213\nvn -0.308693 4.435961 -2.156519\nv -0.021061 0.173709 -0.009314\nvn -1.990448 8.612703 -1.533016\nv -0.018775 0.174097 -0.009120\nvn -5.562163 1.163410 -1.645759\nv -0.072595 0.174885 -0.009071\nvn 1.269978 6.025561 -3.109434\nv -0.030625 0.174158 -0.009231\nvn 2.218296 2.363571 1.761765\nv -0.010961 0.174640 -0.009205\nvn 1.375902 5.595807 -1.441337\nv -0.032499 0.174649 -0.008697\nvn -0.701336 4.849886 -0.288563\nv -0.016352 0.174500 -0.009181\nvn 4.007964 7.294784 -1.183314\nv -0.034686 0.175333 -0.008839\nvn -6.198524 2.767908 -1.332362\nv -0.072095 0.176946 -0.008938\nvn 2.257482 4.246251 -0.287787\nv -0.036490 0.176317 -0.008851\nvn 2.593862 5.814605 -1.040114\nv -0.038314 0.177196 -0.008908\nvn -3.361779 4.372486 -1.725061\nv -0.071385 0.178033 -0.008938\nvn 1.335214 5.147366 -0.961830\nv -0.039812 0.177677 -0.008846\nvn -2.475067 6.263858 -1.711488\nv -0.069834 0.178660 -0.008883\nvn 1.383564 4.542710 0.172527\nv -0.040843 0.178000 -0.009254\nvn -1.415145 4.717318 -0.702231\nv -0.068168 0.179266 -0.009106\nvn 1.983732 6.299655 2.287104\nv -0.044623 0.179095 -0.008883\nvn 0.836256 5.629631 0.584480\nv -0.042541 0.178436 -0.008898\nvn -1.088863 4.853714 -0.254223\nv -0.066469 0.179639 -0.008775\nvn -1.457670 4.752973 -0.103323\nv -0.065842 0.179813 -0.009096\nvn -1.407989 6.835722 0.048949\nv -0.064230 0.180197 -0.009073\nvn 0.953996 3.672396 1.229466\nv -0.046898 0.180125 -0.009619\nvn 1.660173 6.210424 2.287600\nv -0.048441 0.180263 -0.008979\nvn -1.084396 6.885025 0.082253\nv -0.062204 0.180601 -0.009039\nvn 0.585780 4.936282 0.429165\nv -0.055978 0.180754 -0.008921\nvn 0.009601 7.934577 0.634637\nv -0.058209 0.180940 -0.008814\nvn 0.960871 -5.826025 0.789855\nv -0.058312 0.053486 -0.008997\nvn 2.153302 -4.489740 0.348982\nv 0.027259 0.053425 -0.009038\nvn -0.015484 -5.949502 -0.442315\nv 0.068427 0.053613 -0.008863\nvn -0.181529 -5.995722 0.094040\nv 0.064927 0.053844 -0.009387\nvn -1.630614 -3.518558 -0.012734\nv -0.033388 0.055438 -0.008994\nvn -2.207765 -4.299623 -0.794662\nv -0.073514 0.057155 -0.008927\nvn -3.521791 -1.216942 1.395992\nv 0.015554 0.062879 -0.009452\nvn -0.000000 0.000000 0.000000\nv -0.009935 0.063225 -0.009125\nvn -5.782185 -3.250946 -2.041302\nv -0.081391 0.064591 -0.008572\nvn 5.190146 -2.980844 -0.312492\nv -0.008168 0.065829 -0.008921\nvn -7.132562 -0.632529 3.522065\nv 0.014203 0.070240 -0.008936\nvn 4.009515 3.881499 -2.196585\nv 0.051983 0.073789 -0.008717\nvn 3.596599 3.157191 -1.399678\nv 0.049035 0.076478 -0.009007\nvn -5.670050 1.423471 3.821229\nv 0.014835 0.078006 -0.008659\nvn -7.129143 -1.629539 -2.713869\nv -0.087098 0.084032 -0.008837\nvn -4.719245 1.161924 -0.974205\nv -0.086975 0.087369 -0.008944\nvn 1.551931 0.045312 6.633530\nv 0.048389 0.092008 -0.009146\nvn 2.792021 -0.940281 6.057352\nv 0.048487 0.094126 -0.009053\nvn 0.697195 0.125566 4.939112\nv 0.050708 0.094167 -0.009518\nvn 1.941739 -0.870559 5.474358\nv 0.050219 0.096049 -0.009434\nvn -2.590426 2.624613 1.410751\nv -0.029238 0.098128 -0.008517\nvn -6.435536 2.117238 -1.431449\nv -0.085185 0.099116 -0.008829\nvn 1.740902 -1.124605 2.160338\nv 0.050651 0.099408 -0.008574\nvn -5.033779 2.802366 5.426960\nv 0.024475 0.099631 -0.008820\nvn 4.864028 0.048825 4.970627\nv -0.042524 0.105831 -0.008578\nvn -2.539459 1.125659 1.085014\nv -0.023953 0.106975 -0.009387\nvn 4.213763 -0.685282 3.978120\nv -0.042589 0.107798 -0.008656\nvn 5.643301 -0.516109 -3.890667\nv 0.079680 0.107853 -0.008833\nvn 3.811748 -2.385494 2.132266\nv -0.039191 0.114365 -0.009052\nvn 3.469546 1.679312 0.938169\nv 0.076763 0.119951 -0.008647\nvn -4.060580 -1.923989 3.963120\nv 0.032581 0.125567 -0.008688\nvn 0.856873 3.034454 5.031793\nv 0.072143 0.125668 -0.008826\nvn 4.148988 -1.817766 2.093557\nv -0.031866 0.127175 -0.008467\nvn -3.424686 3.554652 0.595048\nv -0.060718 0.131886 -0.008910\nvn 0.495305 -2.262030 6.599781\nv 0.078329 0.133412 -0.009163\nvn -0.288947 -2.012429 5.627897\nv 0.082078 0.133375 -0.009291\nvn -0.458738 -1.597493 4.694370\nv 0.084142 0.133399 -0.009133\nvn 0.192944 -1.724876 4.680061\nv 0.079404 0.133382 -0.009291\nvn 1.084530 -0.313673 4.605125\nv 0.089666 0.133122 -0.009099\nvn -1.479990 -4.612041 -3.580693\nv -0.087712 0.139618 -0.008743\nvn 1.887701 1.460745 1.786904\nv 0.055652 0.140575 -0.009495\nvn 4.349469 5.387480 5.633371\nv 0.048655 0.147506 -0.008869\nvn 2.750195 6.021338 4.426049\nv 0.044640 0.149692 -0.008654\nvn 0.883968 4.101669 2.676680\nv 0.032968 0.153537 -0.008516\nvn 0.420189 -8.912443 4.437677\nv -0.074076 0.162355 -0.009072\nvn 0.012624 -6.619484 2.213950\nv -0.070136 0.162615 -0.008856\nvn -3.257603 -1.020065 -3.876046\nv -0.097552 0.168902 -0.008930\nvn -0.311004 5.786543 0.674210\nv -0.014504 0.174704 -0.008854\nvn 1.803086 3.696067 3.690124\nv -0.012773 0.174570 -0.008638\nvn 1.843677 6.219097 2.594752\nv -0.046288 0.179516 -0.008559\nvn -0.343309 3.978070 0.181782\nv -0.059924 0.180811 -0.008934\nvn 0.255599 5.830834 1.305366\nv -0.052389 0.180485 -0.008704\nvn -0.150014 -5.922626 0.039692\nv 0.024687 0.052844 -0.008522\nvn 0.601143 -4.918785 0.382924\nv -0.059411 0.053379 -0.008440\nvn -0.947241 -3.543051 1.565088\nv 0.046402 0.053524 -0.008503\nvn 1.448851 -3.424879 -1.283428\nv 0.052117 0.053313 -0.008699\nvn -0.309477 -4.966290 0.322734\nv 0.060260 0.053935 -0.008571\nvn 0.479592 -6.769885 1.572497\nv 0.034169 0.055193 -0.008374\nvn -0.018591 -4.775431 1.408206\nv 0.036138 0.055140 -0.008817\nvn 1.175035 -6.660211 1.546015\nv -0.051156 0.055385 -0.008804\nvn -1.432940 -5.815060 0.268217\nv -0.032198 0.055182 -0.008863\nvn 3.863314 1.429548 -2.763230\nv 0.069582 0.066038 -0.008582\nvn 2.860324 1.336778 -2.122265\nv 0.069237 0.067794 -0.008507\nvn -1.721691 4.006668 -3.534810\nv 0.062489 0.067990 -0.008342\nvn -3.292693 -1.780024 -1.356087\nv -0.083347 0.068389 -0.008595\nvn -0.510287 4.569835 -4.446640\nv 0.065981 0.071455 -0.008487\nvn 3.291218 3.136624 -2.052428\nv 0.053675 0.072062 -0.008617\nvn 0.000000 0.000000 0.000000\nv 0.013853 0.073806 -0.009427\nvn -5.511082 -1.634763 -1.675926\nv -0.085156 0.074204 -0.008472\nvn 4.590405 0.687729 -1.688002\nv 0.047677 0.079955 -0.008422\nvn -3.166188 0.959426 2.247357\nv 0.016040 0.082426 -0.008471\nvn 5.664853 -0.279366 -1.440393\nv 0.047636 0.081747 -0.008427\nvn 2.505156 1.034719 4.668007\nv 0.048466 0.087666 -0.008405\nvn 2.954349 -1.361620 4.849315\nv 0.046590 0.091735 -0.008653\nvn 2.979800 -1.300665 3.744039\nv 0.048643 0.095909 -0.008578\nvn 5.039517 2.245399 5.548798\nv -0.042267 0.099794 -0.008610\nvn -1.053633 -3.712578 -6.893032\nv 0.074123 0.099764 -0.008688\nvn 1.878322 -3.683828 -7.869737\nv 0.076152 0.099765 -0.008670\nvn 3.215650 0.211953 3.793442\nv -0.042382 0.101599 -0.008676\nvn -3.050427 -3.775725 -5.001253\nv 0.070189 0.101637 -0.008390\nvn 2.898747 -1.678039 -4.896066\nv 0.078077 0.101706 -0.008661\nvn 4.488769 -0.096678 5.345325\nv -0.042549 0.103469 -0.008407\nvn 3.053914 -2.067865 3.371461\nv 0.053001 0.103193 -0.008390\nvn -5.615741 1.629411 -1.100631\nv -0.083110 0.103220 -0.008738\nvn 3.275858 -1.815938 3.307590\nv 0.054763 0.105747 -0.008468\nvn 5.046601 -1.039542 -4.671669\nv 0.079475 0.105919 -0.008615\nvn -3.600179 -2.010792 -0.569404\nv 0.063023 0.106463 -0.008575\nvn 4.378788 -1.537820 3.443451\nv -0.042039 0.109596 -0.008839\nvn 2.425478 -0.816094 1.541648\nv 0.009534 0.111045 -0.008460\nvn -2.583650 0.895053 1.220317\nv -0.021277 0.111872 -0.008279\nvn -3.174952 2.280438 -0.685849\nv -0.078910 0.112541 -0.008555\nvn 4.671670 -2.270396 2.966777\nv 0.011115 0.115443 -0.008451\nvn -4.134367 1.723048 2.192918\nv 0.032014 0.115474 -0.008578\nvn 3.888800 -0.887058 2.998168\nv 0.058993 0.115497 -0.008337\nvn -3.299615 1.328690 1.824587\nv -0.019334 0.116389 -0.008310\nvn 3.197217 -1.916819 1.431515\nv -0.037775 0.117057 -0.008785\nvn -2.280872 1.330532 1.423612\nv -0.017301 0.120009 -0.008338\nvn -1.911796 1.257501 1.850201\nv 0.067445 0.124049 -0.008852\nvn 2.058725 2.637516 3.642206\nv 0.074215 0.123464 -0.008358\nvn 3.004891 -3.353857 3.958287\nv 0.017113 0.125202 -0.008353\nvn 2.715252 -3.415879 4.086211\nv 0.019167 0.126719 -0.008556\nvn -0.581826 3.365456 4.749763\nv 0.069734 0.125862 -0.008788\nvn -2.337699 -1.778114 2.677378\nv 0.032019 0.126975 -0.008464\nvn -1.965478 2.078877 0.007120\nv -0.065180 0.128325 -0.008687\nvn -0.071243 -3.705785 4.698366\nv 0.026469 0.129183 -0.008416\nvn 4.684422 0.906442 3.630687\nv 0.058888 0.129528 -0.008516\nvn -2.148403 1.521427 1.427363\nv -0.011656 0.130020 -0.008879\nvn -0.601978 -1.168263 5.831773\nv 0.087781 0.131285 -0.009054\nvn 3.869979 0.704611 3.084882\nv 0.058626 0.131084 -0.008516\nvn 0.249064 -0.217611 5.899244\nv 0.089813 0.131471 -0.008917\nvn 7.012903 1.456477 5.303194\nv 0.058421 0.133108 -0.008798\nvn -1.293911 -1.572363 6.611744\nv 0.074499 0.133489 -0.009106\nvn -0.018099 -1.165090 3.815434\nv 0.076066 0.133084 -0.009102\nvn -0.758605 -2.016054 6.601656\nv 0.085849 0.133455 -0.008896\nvn -1.171960 -0.854294 3.693670\nv 0.074025 0.134925 -0.008893\nvn 0.475954 -4.085543 7.636502\nv 0.089753 0.134824 -0.008309\nvn -3.869081 3.338757 3.138966\nv -0.005481 0.138043 -0.008629\nvn -3.506751 -0.705984 -7.955817\nv -0.089988 0.141450 -0.008593\nvn 0.968555 -2.691782 -0.816077\nv -0.072624 0.141957 -0.008557\nvn -2.216858 2.437296 -5.268817\nv -0.087752 0.144927 -0.008668\nvn -2.123343 2.673270 2.071870\nv 0.000373 0.143861 -0.008590\nvn -4.018871 0.036227 2.414697\nv 0.071422 0.144899 -0.008609\nvn 3.663054 3.903799 4.442193\nv 0.050597 0.145490 -0.008429\nvn 2.490220 0.044572 -2.335781\nv 0.093210 0.147198 -0.008469\nvn -0.356599 2.145242 -4.145201\nv -0.086011 0.147473 -0.008364\nvn 2.570208 -4.263970 -1.411492\nv -0.020905 0.147723 -0.008537\nvn -3.401116 1.466784 1.371925\nv 0.077375 0.147751 -0.008759\nvn -2.345599 4.358166 4.922338\nv 0.008955 0.149239 -0.008409\nvn -0.945499 2.896212 2.560706\nv 0.012674 0.151511 -0.008605\nvn -1.338547 4.888003 4.785658\nv 0.014567 0.151721 -0.008343\nvn -0.683649 4.601974 3.778404\nv 0.020985 0.153716 -0.008908\nvn -1.181576 5.344680 4.310089\nv 0.022805 0.153572 -0.008363\nvn 2.818483 2.357425 1.261043\nv -0.018027 0.155864 -0.008381\nvn 0.769785 -3.136770 2.289561\nv -0.081370 0.162290 -0.008605\nvn 0.136275 -5.185894 2.999105\nv -0.075986 0.162545 -0.008582\nvn -0.633393 -5.931805 0.247308\nv -0.059895 0.162262 -0.008627\nvn -0.927658 -5.888985 -0.071699\nv -0.058718 0.162121 -0.008571\nvn -0.001300 -4.839652 1.224330\nv -0.067787 0.162587 -0.009047\nvn -0.178908 -5.917126 0.816952\nv -0.064194 0.162594 -0.008769\nvn -0.509918 -5.931643 0.328866\nv -0.062168 0.162503 -0.008464\nvn -2.673275 -1.246745 -1.345964\nv -0.097206 0.167244 -0.008898\nvn 0.143514 2.777192 -5.249760\nv -0.095736 0.170756 -0.008789\nvn 0.616433 4.244087 -4.073886\nv -0.084239 0.170430 -0.008380\nvn -1.474758 4.204163 -5.369156\nv -0.076056 0.170379 -0.008556\nvn 0.232160 3.739576 -4.488652\nv -0.093962 0.171008 -0.008487\nvn -4.459904 1.821178 -3.347799\nv -0.073710 0.172705 -0.008448\nvn 0.051579 5.719240 -3.963305\nv -0.026813 0.174266 -0.008446\nvn 0.016936 3.868496 -0.764215\nv -0.020913 0.173902 -0.008703\nvn 0.654054 5.891992 -3.577857\nv -0.028512 0.174265 -0.008581\nvn 0.329761 4.817400 1.256737\nv -0.050151 0.180347 -0.008687\nvn 0.463165 5.897127 0.831833\nv -0.054423 0.180510 -0.008512\nvn 1.085062 -5.896847 -0.051545\nv -0.022573 0.053489 -0.008337\nvn -0.230103 -6.980889 0.115436\nv 0.063177 0.053876 -0.008687\nvn 0.726616 -5.042078 2.920179\nv 0.036269 0.055329 -0.008360\nvn 0.339625 -4.788560 5.109460\nv 0.038798 0.056006 -0.008193\nvn 0.000000 0.000000 0.000001\nv -0.078923 0.061475 -0.008935\nvn -2.851704 1.271994 2.498823\nv 0.018480 0.088004 -0.008281\nvn 2.065000 -0.176838 6.188669\nv 0.046200 0.089692 -0.008668\nvn 1.011099 0.795230 5.744214\nv 0.048495 0.089647 -0.008708\nvn -3.699785 1.984781 4.268093\nv 0.020276 0.091515 -0.008346\nvn 2.167773 -1.180956 3.095844\nv 0.049355 0.097277 -0.008637\nvn 2.272095 -1.581705 -4.066544\nv 0.077894 0.099996 -0.008163\nvn -3.721813 2.122531 4.154033\nv 0.026366 0.102192 -0.008219\nvn 3.222015 -0.955346 -3.665435\nv 0.079400 0.103606 -0.008236\nvn -2.152965 1.049602 1.805272\nv 0.028002 0.106363 -0.008655\nvn 2.038883 -1.024810 1.942985\nv 0.056853 0.109440 -0.008540\nvn -3.867639 1.829104 4.139688\nv 0.063543 0.109922 -0.008306\nvn 2.328973 -1.203854 1.312244\nv -0.041783 0.110849 -0.008443\nvn -5.506257 0.871310 2.182465\nv 0.065310 0.117550 -0.008957\nvn -3.398955 0.454988 2.023304\nv 0.033818 0.121690 -0.008367\nvn 1.918546 -1.259828 1.930995\nv 0.015227 0.122750 -0.008573\nvn -5.540751 -0.769139 4.047451\nv 0.033952 0.123211 -0.008207\nvn 0.478090 -4.495908 5.301084\nv 0.024591 0.129396 -0.008238\nvn 0.134178 -1.705858 6.616191\nv 0.087928 0.133407 -0.008807\nvn -0.585722 -2.055390 7.656701\nv 0.076041 0.135171 -0.008467\nvn 0.134599 -1.369751 3.755335\nv 0.077671 0.134966 -0.008578\nvn -0.281952 -2.184169 5.569419\nv 0.081838 0.135185 -0.008582\nvn 0.178814 -2.593291 6.491927\nv 0.079748 0.135010 -0.008666\nvn 3.591717 1.471567 3.124614\nv 0.057201 0.135631 -0.008279\nvn -1.931795 -1.692128 7.463368\nv 0.074198 0.137007 -0.008401\nvn -2.583532 2.228139 2.086069\nv -0.003713 0.139692 -0.008240\nvn -0.953399 -3.451308 -2.471882\nv -0.089601 0.139815 -0.008237\nvn -2.537335 1.100340 1.118009\nv -0.053293 0.140051 -0.008508\nvn 1.774023 1.412912 1.952257\nv 0.054911 0.140050 -0.008420\nvn -3.271160 2.088799 -6.978572\nv -0.089524 0.143253 -0.008405\nvn -1.211743 1.905880 1.959313\nv 0.006717 0.147998 -0.008247\nvn 0.638786 2.320336 1.714942\nv 0.038971 0.151991 -0.008486\nvn 0.066703 2.352229 1.846069\nv 0.029140 0.153866 -0.008712\nvn 0.315703 7.425197 4.996432\nv 0.030846 0.153812 -0.008591\nvn -2.096868 -2.627879 -1.960819\nv -0.087404 0.159710 -0.008172\nvn 0.034734 -4.165585 2.755397\nv -0.078030 0.162552 -0.008484\nvn 0.359279 -4.945969 3.312614\nv -0.079699 0.162804 -0.008191\nvn -0.287680 -5.904368 0.903907\nv -0.065668 0.162669 -0.008403\nvn 3.778298 0.552263 5.222601\nv -0.010643 0.162972 -0.008226\nvn -1.854418 -3.943974 2.342470\nv -0.092294 0.164513 -0.008205\nvn -0.596309 2.647354 -2.932070\nv -0.077827 0.170111 -0.008343\nvn -2.591212 1.331638 -5.707457\nv -0.097822 0.171137 -0.008498\nvn 0.107912 3.132651 -2.484010\nv -0.024396 0.174316 -0.008226\nvn 0.659446 6.768317 -3.834784\nv -0.022798 0.174253 -0.008271\nvn -1.121409 -2.087969 1.286305\nv 0.040447 0.055690 -0.008233\nvn 0.766883 -4.868327 0.740820\nv -0.052148 0.055328 -0.008337\nvn -1.389776 -5.575329 -0.157326\nv -0.044635 0.055952 -0.007038\nvn 0.368777 -5.429557 0.375839\nv -0.046606 0.056868 -0.007195\nvn 2.378548 4.588650 -2.720146\nv 0.058102 0.068769 -0.007391\nvn 1.094408 1.573288 -1.845955\nv 0.067560 0.071450 -0.008173\nvn 0.052687 2.639038 8.136678\nv 0.046097 0.087946 -0.008199\nvn 1.470668 -0.415273 3.265518\nv 0.044923 0.089350 -0.008187\nvn -4.735456 0.200898 -1.276376\nv -0.086963 0.090992 -0.008242\nvn 3.304120 -1.769192 4.547791\nv 0.046947 0.093643 -0.008129\nvn -2.692947 1.609061 3.868142\nv 0.024368 0.097922 -0.008257\nvn -1.732619 -2.417123 -3.954216\nv 0.072449 0.099636 -0.008204\nvn -3.047854 1.145108 2.304333\nv 0.029927 0.110300 -0.008391\nvn -1.155830 -4.776224 6.271122\nv 0.029029 0.129187 -0.008230\nvn -1.563205 -2.234530 2.843352\nv 0.030817 0.128580 -0.008166\nvn -0.606529 -2.227986 5.481811\nv 0.085970 0.134919 -0.008232\nvn -0.236198 -2.282175 5.460127\nv 0.087852 0.134865 -0.008195\nvn -0.602793 -2.510894 6.489744\nv 0.084283 0.135365 -0.008208\nvn -0.674274 -1.982359 4.274605\nv 0.075806 0.137207 -0.008110\nvn -1.873123 1.632772 -5.420938\nv -0.087179 0.147198 -0.008101\nvn 1.625575 -5.244003 0.649727\nv -0.022398 0.146742 -0.007189\nvn 3.146476 -3.024677 1.609075\nv -0.020972 0.147619 -0.007054\nvn -0.980809 1.772504 2.202676\nv 0.010454 0.149993 -0.008259\nvn 0.796809 2.168257 1.854949\nv 0.043227 0.150072 -0.008276\nvn -2.012209 2.236901 -2.602944\nv -0.071797 0.150801 -0.008132\nvn -0.320223 2.354638 1.724132\nv 0.024080 0.153875 -0.008267\nvn 0.111539 3.177274 2.407055\nv 0.026551 0.153932 -0.008337\nvn 1.958952 -4.827652 2.493756\nv -0.085796 0.159125 -0.006729\nvn 0.174556 -3.711708 1.478180\nv -0.072571 0.162689 -0.008465\nvn 0.608338 3.228394 -4.964343\nv -0.082060 0.170598 -0.008109\nvn -1.309216 1.654091 -4.919345\nv -0.097724 0.172341 -0.008206\nvn -2.200247 -5.438273 0.505245\nv 0.023307 0.053143 -0.007093\nvn -0.157295 -4.921726 -0.003220\nv 0.024677 0.052812 -0.007069\nvn 2.512610 -7.444277 -0.419524\nv 0.026303 0.053038 -0.007149\nvn -0.774800 -3.665320 0.885057\nv 0.048937 0.053091 -0.007264\nvn -1.102645 -6.600565 1.192580\nv 0.050449 0.052937 -0.006996\nvn 1.554605 -7.352540 -1.696806\nv 0.052642 0.052942 -0.006971\nvn -1.417323 -5.725475 0.132761\nv -0.026263 0.053225 -0.007250\nvn 1.977925 -6.609489 1.019098\nv -0.058374 0.053816 -0.007157\nvn -2.355716 -5.477004 0.375499\nv -0.028546 0.054182 -0.007229\nvn -3.275024 -4.901278 0.891668\nv 0.022369 0.053749 -0.007036\nvn -1.668908 -5.321432 2.169143\nv 0.046549 0.054146 -0.007097\nvn -0.479033 -7.981189 0.032744\nv 0.065964 0.053830 -0.007215\nvn 4.890802 -6.119829 -0.120281\nv 0.071983 0.054449 -0.007298\nvn -1.090845 -6.883788 -0.243878\nv -0.066184 0.054016 -0.007178\nvn 3.645873 -8.115926 -0.347821\nv 0.028457 0.054158 -0.006955\nvn -0.581332 -6.918417 0.271254\nv 0.060112 0.054129 -0.006994\nvn -1.002493 -5.835624 -0.783500\nv -0.068073 0.054167 -0.007294\nvn 1.729248 -5.636017 0.945333\nv -0.056261 0.054662 -0.006937\nvn 3.403462 -5.999605 0.140073\nv -0.018570 0.054738 -0.006807\nvn -4.161433 -4.099417 1.130395\nv 0.021125 0.054727 -0.006956\nvn -0.051472 -3.931331 -0.053924\nv 0.058196 0.054393 -0.006961\nvn -2.026518 -5.581552 -0.474537\nv -0.069929 0.054558 -0.006943\nvn -1.912455 -6.689651 0.290028\nv -0.030215 0.054818 -0.007204\nvn 1.207460 -4.829963 0.156833\nv 0.030571 0.054849 -0.007200\nvn -1.413893 -4.244482 2.200695\nv 0.043094 0.055097 -0.007380\nvn 1.338269 -7.427685 -1.792042\nv 0.056256 0.054174 -0.006824\nvn 1.241286 -5.776382 0.831746\nv -0.054372 0.055124 -0.007012\nvn -1.219720 -4.840882 0.023190\nv -0.032198 0.055232 -0.006869\nvn 1.167476 -6.841776 0.692131\nv 0.032527 0.055158 -0.007385\nvn -3.184836 -5.929827 0.323456\nv -0.033147 0.055526 -0.006785\nvn 5.534806 -7.056348 0.309477\nv -0.016738 0.056342 -0.007043\nvn -5.740657 -3.705460 1.339851\nv 0.020118 0.056097 -0.006712\nvn 1.373446 -5.488286 1.648896\nv 0.034538 0.055645 -0.006974\nvn 2.820662 -4.602819 4.014532\nv 0.036471 0.056224 -0.007250\nvn -2.861578 -5.245854 -0.531275\nv 0.040615 0.056143 -0.006740\nvn 6.021989 -3.108126 -0.608235\nv 0.073424 0.056174 -0.007237\nvn -3.148842 -5.009321 -0.741736\nv -0.072325 0.056011 -0.007034\nvn -3.046608 -5.868485 0.358029\nv -0.034188 0.056697 -0.006872\nvn 1.616467 -4.638024 0.514399\nv -0.048137 0.056054 -0.007143\nvn 0.915042 -5.928483 -0.025128\nv -0.039775 0.056509 -0.008068\nvn -2.536230 -5.337113 -0.856172\nv -0.074079 0.056818 -0.006844\nvn -2.537309 -1.538457 0.440551\nv 0.019526 0.056802 -0.007703\nvn -6.472916 -3.958660 2.295913\nv 0.018903 0.058038 -0.006900\nvn 5.540281 -1.039480 -0.968565\nv 0.074197 0.057989 -0.006946\nvn -4.777331 -6.154646 -1.135792\nv -0.076037 0.057932 -0.006897\nvn -1.853505 -3.302041 -1.022602\nv -0.074898 0.057358 -0.007813\nvn 4.741737 -5.068712 0.540229\nv -0.014502 0.058000 -0.007174\nvn 3.032649 -2.578859 0.122097\nv -0.013303 0.059247 -0.007665\nvn -7.426659 -3.512344 3.542590\nv 0.017435 0.060511 -0.006972\nvn 5.087835 1.523149 -2.663646\nv 0.073805 0.060125 -0.007126\nvn -3.497179 -3.517203 -0.561041\nv -0.077964 0.059961 -0.007069\nvn 5.537791 -4.237916 0.210524\nv -0.012443 0.060430 -0.006804\nvn -5.231237 -5.007527 -2.230380\nv -0.080118 0.062066 -0.007008\nvn 5.158900 -4.646035 0.482021\nv -0.011130 0.062128 -0.007193\nvn 3.872885 1.767507 -2.621911\nv 0.072963 0.061212 -0.007656\nvn -5.320303 -1.640649 2.217051\nv 0.016851 0.062310 -0.006961\nvn 5.415857 2.516486 -3.646793\nv 0.072635 0.062504 -0.007242\nvn 2.882593 -2.711074 0.128485\nv -0.009911 0.063225 -0.007637\nvn 5.562644 -4.118139 0.490877\nv -0.008985 0.064378 -0.007096\nvn 1.948688 1.429694 -1.746036\nv 0.071268 0.064158 -0.007976\nvn -7.052928 -1.957051 3.166822\nv 0.016385 0.064400 -0.006808\nvn -2.603277 -0.598732 1.328034\nv 0.015715 0.064809 -0.007805\nvn 5.513588 3.368317 -4.631173\nv 0.071779 0.064427 -0.007132\nvn -4.359898 -1.152269 2.048927\nv 0.015660 0.066042 -0.007533\nvn -4.340761 -2.296547 -0.833795\nv -0.082460 0.066128 -0.007089\nvn 3.436093 1.869476 -3.056793\nv 0.070452 0.066187 -0.007235\nvn 5.970058 -3.598886 0.232612\nv -0.007651 0.066721 -0.006942\nvn -5.856284 -3.430542 -1.541213\nv -0.083776 0.068122 -0.006932\nvn 8.577439 4.153866 -6.936010\nv 0.070061 0.067906 -0.006847\nvn 4.145964 -2.725126 0.494028\nv -0.006774 0.068075 -0.006916\nvn -0.100406 5.887432 -3.223942\nv 0.060323 0.068306 -0.007143\nvn -2.256536 2.971849 -3.150344\nv 0.061676 0.068732 -0.007170\nvn 7.505109 -4.800173 0.963890\nv -0.005361 0.069938 -0.007046\nvn 3.366221 3.793818 -3.187145\nv 0.056386 0.070434 -0.007296\nvn 2.958716 1.335350 -2.331871\nv 0.068754 0.069550 -0.007666\nvn -7.346673 -2.395480 -1.639400\nv -0.084624 0.070050 -0.007274\nvn -4.049200 4.027721 -4.009615\nv 0.062507 0.069944 -0.006962\nvn -1.510148 1.822449 -1.799574\nv 0.063865 0.070582 -0.007673\nvn 5.690354 6.546231 -4.855901\nv 0.054599 0.072266 -0.007045\nvn 4.669009 7.005251 -5.462933\nv 0.068084 0.072022 -0.006953\nvn -3.723773 5.707029 -4.013176\nv 0.064366 0.071656 -0.006875\nvn -0.347681 4.261919 -1.955922\nv 0.066114 0.072514 -0.007032\nvn -3.745479 -0.537928 -1.071802\nv -0.084877 0.071911 -0.007871\nvn 6.903575 -3.837600 1.007161\nv -0.003174 0.074211 -0.007236\nvn 6.021153 7.046713 -3.599357\nv 0.052420 0.074248 -0.006918\nvn -5.289305 -2.265738 -1.556991\nv -0.085681 0.074269 -0.007004\nvn 1.846544 2.186780 -0.898891\nv 0.051310 0.074825 -0.007781\nvn 6.850539 -3.396913 2.056379\nv -0.002307 0.075726 -0.006650\nvn 6.760221 6.530802 -3.229475\nv 0.050351 0.076045 -0.006802\nvn 2.616070 -1.119131 0.735664\nv -0.001773 0.076577 -0.007007\nvn -7.023642 2.016127 2.049113\nv 0.015445 0.075935 -0.006887\nvn -8.165682 -2.636316 -2.307854\nv -0.086646 0.076083 -0.006973\nvn 6.378173 -2.044470 1.751331\nv -0.001246 0.078087 -0.006946\nvn 4.752254 2.775639 -2.223050\nv 0.048863 0.077784 -0.007088\nvn -3.756342 -0.224666 -1.117608\nv -0.086801 0.077872 -0.007725\nvn -3.176920 0.835848 2.256460\nv 0.015567 0.078503 -0.007889\nvn -7.798590 0.208467 -1.495028\nv -0.086748 0.079838 -0.007297\nvn -5.858166 1.580467 3.247723\nv 0.016438 0.079813 -0.007007\nvn 6.141129 2.292138 -1.144282\nv 0.048267 0.079768 -0.006870\nvn 5.494538 -1.895447 1.445705\nv -0.000323 0.081753 -0.006992\nvn -5.995619 1.980827 4.879179\nv 0.016787 0.082049 -0.007281\nvn -3.791970 -0.620542 -0.861908\nv -0.086738 0.081319 -0.007427\nvn 5.476313 2.220106 2.441886\nv 0.047836 0.081819 -0.007055\nvn -5.604529 -1.577220 -1.299684\nv -0.087286 0.082362 -0.006765\nvn 2.720578 -1.058802 0.690856\nv 0.000215 0.082650 -0.007725\nvn -5.848734 -0.427320 -0.789928\nv -0.087604 0.084037 -0.007050\nvn 3.243991 0.153523 3.012842\nv 0.047775 0.084326 -0.007425\nvn -3.358267 1.430977 3.407141\nv 0.017442 0.083810 -0.007451\nvn 8.930911 -3.503451 2.743762\nv 0.000590 0.084160 -0.006900\nvn -5.831264 0.625050 -0.889077\nv -0.087445 0.086033 -0.007770\nvn 6.695439 -3.526430 2.459435\nv 0.001276 0.085931 -0.006930\nvn 3.203099 0.347771 4.738558\nv 0.047957 0.086005 -0.007486\nvn 0.493634 0.932819 4.624884\nv 0.044756 0.086480 -0.008019\nvn 2.505868 -1.441423 0.786818\nv 0.001998 0.086675 -0.007747\nvn -0.801027 1.563489 6.605918\nv 0.046358 0.085974 -0.007496\nvn 7.556348 -3.742606 3.004736\nv 0.002544 0.088079 -0.007088\nvn 2.608274 -0.311410 4.128423\nv 0.043920 0.087822 -0.007702\nvn 1.836628 1.216725 6.082889\nv 0.044172 0.085861 -0.007788\nvn 1.690031 -0.079632 4.435314\nv 0.044806 0.087849 -0.008150\nvn -5.275172 2.482902 5.444388\nv 0.019169 0.087729 -0.007376\nvn 0.714539 1.952016 3.273607\nv 0.047560 0.087288 -0.007820\nvn -4.827659 0.789937 -0.821277\nv -0.086872 0.088192 -0.007871\nvn 5.310413 -1.521483 2.180508\nv 0.003269 0.089781 -0.007134\nvn -2.522486 1.564659 2.607464\nv 0.019478 0.089204 -0.007769\nvn -3.867969 -0.009411 -0.981584\nv -0.086880 0.089125 -0.007637\nvn -7.811649 -0.456780 -1.363084\nv -0.087106 0.089632 -0.006969\nvn 4.881004 -2.041984 5.730942\nv 0.044130 0.089731 -0.007316\nvn -2.824333 -0.255661 -0.815368\nv -0.086973 0.090525 -0.008192\nvn -5.342974 4.035747 7.343412\nv 0.020831 0.089538 -0.006897\nvn -5.829509 0.842447 -0.803767\nv -0.087098 0.091511 -0.006936\nvn 6.168752 -1.571188 2.809222\nv 0.003491 0.091570 -0.007003\nvn -2.634601 1.817181 3.836070\nv 0.021213 0.091440 -0.007618\nvn 2.351669 -0.906373 3.007919\nv 0.045327 0.090923 -0.008013\nvn 2.597242 -1.211768 2.761350\nv 0.045647 0.092086 -0.007716\nvn 5.976405 -1.949264 3.032456\nv 0.004307 0.094034 -0.007026\nvn -3.196834 1.734318 4.760822\nv 0.022965 0.093727 -0.007248\nvn 4.427835 -2.341132 4.860420\nv 0.046167 0.093927 -0.007194\nvn -5.698768 1.709636 -0.681781\nv -0.086497 0.093562 -0.006979\nvn 0.000000 0.000000 0.000000\nv 0.022373 0.094686 -0.007979\nvn -6.783598 1.285009 -0.625476\nv -0.085851 0.095586 -0.006996\nvn 2.121850 5.464390 3.625723\nv -0.038892 0.095090 -0.007426\nvn 0.302718 4.567466 1.834330\nv -0.036704 0.094490 -0.007045\nvn -0.877912 7.384106 2.499321\nv -0.034712 0.094500 -0.006768\nvn -0.759312 3.509073 1.471911\nv -0.033969 0.094851 -0.007575\nvn -2.870927 6.052370 1.660417\nv -0.032720 0.095283 -0.007433\nvn 4.336159 -1.209930 2.131841\nv 0.004903 0.095732 -0.007120\nvn 3.864537 -1.836176 4.182500\nv 0.047568 0.096133 -0.007396\nvn 1.789057 2.420524 2.622882\nv -0.039994 0.096335 -0.007967\nvn -4.963145 7.135446 1.810358\nv -0.030746 0.096207 -0.006794\nvn -4.582140 3.091014 7.045114\nv 0.024641 0.095788 -0.006950\nvn -6.786435 1.234965 -0.725754\nv -0.085725 0.097787 -0.007236\nvn 4.990039 -2.702854 5.603751\nv 0.048222 0.097847 -0.007356\nvn -4.243060 3.986709 1.173744\nv -0.029079 0.097654 -0.006990\nvn 2.662565 -0.484167 1.258404\nv 0.005703 0.097525 -0.007988\nvn 6.003888 4.871735 6.156840\nv -0.042603 0.097820 -0.007099\nvn -0.164654 -2.456170 -4.285138\nv 0.074656 0.098391 -0.008108\nvn 0.292453 -1.449223 -2.589775\nv 0.075602 0.098400 -0.008069\nvn 1.727544 1.283226 2.083372\nv -0.041823 0.098575 -0.008280\nvn -0.951958 -2.643178 -4.042872\nv 0.073829 0.097553 -0.007424\nvn 4.326776 -1.214419 2.151855\nv 0.006186 0.099568 -0.007586\nvn 4.060930 -2.836831 4.934927\nv 0.049710 0.099800 -0.007557\nvn -3.007199 1.119410 3.825506\nv 0.025611 0.099147 -0.007755\nvn 1.646414 -1.601401 -3.248464\nv 0.078313 0.099186 -0.007525\nvn -4.198403 1.762217 5.287715\nv 0.026782 0.099998 -0.006983\nvn -1.390297 -1.418915 -2.224095\nv 0.071420 0.099115 -0.007335\nvn -4.592021 -5.149605 -7.185292\nv 0.070056 0.099714 -0.006775\nvn 6.361596 0.470383 4.420043\nv -0.044537 0.101656 -0.006897\nvn 6.796155 -1.243765 3.962879\nv 0.006261 0.101581 -0.006960\nvn -5.434298 2.363113 -0.463410\nv -0.083906 0.101815 -0.007069\nvn -4.812672 3.275956 1.359265\nv -0.026446 0.101315 -0.007209\nvn 4.028988 -2.925454 4.904249\nv 0.050391 0.101662 -0.006925\nvn -2.385886 1.262220 2.922069\nv 0.026897 0.101583 -0.007480\nvn 2.961164 -0.177352 2.502390\nv -0.044432 0.103596 -0.007030\nvn 4.745048 -3.210880 5.551729\nv 0.052179 0.103775 -0.007210\nvn -6.425553 4.044476 2.483227\nv -0.024999 0.103659 -0.007041\nvn 6.684091 -1.455686 4.116203\nv 0.006844 0.103801 -0.007274\nvn -6.673974 1.290594 -1.032884\nv -0.083279 0.104097 -0.006927\nvn 5.573668 -0.298643 -4.048753\nv 0.080398 0.103662 -0.007158\nvn 4.438644 -2.745890 4.650682\nv 0.053724 0.105913 -0.007281\nvn -2.124961 -4.298279 -6.284785\nv 0.065857 0.103556 -0.007268\nvn -3.292162 1.867718 1.264633\nv -0.024035 0.105322 -0.007280\nvn -5.302447 2.226885 -1.167452\nv -0.082697 0.106155 -0.007409\nvn -5.496619 1.990474 5.349618\nv 0.029063 0.106168 -0.007313\nvn -6.921611 -1.213724 2.245485\nv 0.063623 0.105622 -0.006885\nvn 6.440240 -1.595428 4.433304\nv 0.007077 0.105996 -0.006752\nvn -2.655806 -0.369009 0.637803\nv 0.063046 0.106476 -0.007804\nvn 4.306737 -0.292581 -2.472355\nv 0.080392 0.105988 -0.007367\nvn -4.263414 2.127106 1.514089\nv -0.023476 0.106228 -0.006965\nvn -5.956174 2.858419 2.302673\nv -0.022741 0.107853 -0.007144\nvn 4.169083 -1.004749 2.561040\nv 0.008086 0.107935 -0.007600\nvn 4.588788 -2.317755 4.713065\nv 0.054479 0.107761 -0.007085\nvn -6.434009 1.158477 3.927655\nv 0.063164 0.107668 -0.007776\nvn 5.541675 0.383256 -2.168059\nv 0.080616 0.107732 -0.007021\nvn -6.550460 4.417816 -1.049226\nv -0.081813 0.107750 -0.006832\nvn 0.000000 0.000000 0.000000\nv 0.055296 0.107675 -0.007988\nvn 6.485373 -2.893138 3.408736\nv -0.042991 0.109796 -0.006894\nvn 5.763299 -1.553975 3.643756\nv 0.008324 0.109777 -0.007227\nvn 5.625538 0.598071 -1.895462\nv 0.080554 0.109491 -0.006681\nvn -4.377334 2.267045 -0.324375\nv -0.080470 0.109440 -0.007049\nvn -3.221808 1.730513 1.556947\nv -0.022112 0.109180 -0.007110\nvn -5.722103 1.961379 5.205332\nv 0.030780 0.109320 -0.006994\nvn -4.196409 1.846314 3.705441\nv 0.064610 0.109634 -0.007370\nvn 3.972926 -2.300309 3.848578\nv 0.055857 0.109669 -0.007411\nvn -2.849274 1.012212 2.408036\nv 0.064839 0.110746 -0.007708\nvn -6.117664 3.116874 -0.611185\nv -0.079740 0.111449 -0.007229\nvn 6.415088 -3.640747 2.959200\nv -0.042050 0.111527 -0.006970\nvn -6.656227 2.714652 3.437377\nv -0.020583 0.111638 -0.006706\nvn -4.553943 1.527388 3.572418\nv 0.031010 0.111052 -0.007344\nvn 3.537913 -1.839835 2.996857\nv 0.057232 0.110942 -0.008021\nvn 3.685493 -1.497626 3.008455\nv 0.057299 0.111807 -0.007600\nvn 6.445800 -1.805512 4.354892\nv 0.008634 0.111561 -0.006903\nvn 2.263511 -1.500238 1.239245\nv -0.041321 0.112183 -0.007656\nvn 4.706667 -1.575369 3.357754\nv 0.009148 0.113510 -0.006938\nvn -3.894108 1.543460 2.703401\nv 0.031482 0.112745 -0.007473\nvn -6.825515 5.628336 -1.263427\nv -0.078226 0.113696 -0.007206\nvn 6.941633 -4.602175 3.372688\nv -0.040661 0.113576 -0.006971\nvn 5.590541 1.602087 -0.799240\nv 0.079787 0.113631 -0.007134\nvn -4.639141 1.936403 3.249917\nv 0.032200 0.113864 -0.007160\nvn 2.996811 -1.336453 2.281454\nv 0.010043 0.114446 -0.007666\nvn 4.484632 -0.942990 3.849975\nv 0.058170 0.115650 -0.007287\nvn 5.224724 2.577259 0.007836\nv 0.079177 0.115133 -0.007387\nvn 4.006425 -2.426366 1.744185\nv -0.039189 0.115474 -0.007522\nvn 5.160495 -2.526713 3.991542\nv 0.010628 0.116122 -0.007342\nvn -5.575300 1.957422 3.690323\nv 0.032975 0.115506 -0.006989\nvn -5.789930 3.671201 -0.280619\nv -0.076111 0.116045 -0.006797\nvn 5.052322 2.963693 0.947155\nv 0.078486 0.116182 -0.006845\nvn 7.881897 -4.907326 3.673092\nv -0.038335 0.117443 -0.006869\nvn 3.042659 -1.261469 2.249543\nv 0.011643 0.117337 -0.007919\nvn -4.278671 1.193331 2.275133\nv 0.033267 0.117478 -0.007485\nvn -3.627600 1.611645 0.093860\nv -0.075535 0.117641 -0.007226\nvn 3.967786 -2.604450 1.567859\nv -0.037467 0.118137 -0.007864\nvn 3.003238 -0.697493 2.450687\nv 0.059241 0.118092 -0.007926\nvn 4.770037 3.153498 1.636334\nv 0.077577 0.117697 -0.007098\nvn -4.322370 2.582955 3.214670\nv -0.018103 0.117511 -0.007153\nvn -5.968860 1.601112 3.063094\nv 0.066136 0.117753 -0.006822\nvn -4.034228 2.802528 0.047795\nv -0.075066 0.118526 -0.007145\nvn -5.366530 5.830550 -0.546152\nv -0.073967 0.119644 -0.007350\nvn 5.507813 -3.694987 2.227465\nv -0.036747 0.119559 -0.007184\nvn 3.610485 -1.701618 3.003265\nv 0.012364 0.119793 -0.007516\nvn -4.490684 1.832404 3.420413\nv 0.066604 0.119499 -0.006906\nvn -6.602973 1.616037 4.166015\nv 0.034197 0.119586 -0.006871\nvn -6.697114 3.668603 4.700518\nv -0.016786 0.119645 -0.007185\nvn 5.994305 4.861658 4.176957\nv 0.076104 0.119605 -0.006668\nvn -4.666757 5.028366 0.557901\nv -0.071749 0.121338 -0.007229\nvn 4.099891 -2.401817 1.529716\nv -0.035564 0.120954 -0.007918\nvn -3.784648 2.180819 2.380233\nv -0.016307 0.121287 -0.007721\nvn 6.480776 -4.295615 6.338862\nv 0.012724 0.121466 -0.006921\nvn 7.662140 0.135527 6.240391\nv 0.058505 0.121461 -0.006960\nvn 0.598017 -0.657596 0.612793\nv 0.013770 0.121239 -0.007989\nvn -5.733872 0.999759 3.822210\nv 0.034744 0.121323 -0.006760\nvn -2.959116 1.548281 2.043802\nv 0.066670 0.121063 -0.007775\nvn 1.616988 1.926381 1.469568\nv 0.075448 0.121130 -0.007421\nvn 2.581199 -1.565011 2.619717\nv 0.013954 0.121839 -0.007827\nvn -5.245707 4.068494 4.257353\nv -0.014632 0.123065 -0.007140\nvn 5.146427 -3.410709 5.082932\nv 0.014417 0.123745 -0.007091\nvn -2.710863 2.700919 4.514359\nv 0.068399 0.122933 -0.007502\nvn -5.852848 5.179677 1.099800\nv -0.070037 0.123613 -0.006958\nvn 0.920106 1.798064 2.216008\nv 0.073843 0.122706 -0.007607\nvn 6.349579 -3.433180 3.405256\nv -0.034669 0.123489 -0.006907\nvn 2.082315 5.508521 7.954529\nv 0.071944 0.123421 -0.007341\nvn 4.532516 -3.889799 5.276409\nv 0.015074 0.125085 -0.006801\nvn -1.455773 2.505410 4.054863\nv 0.069330 0.124358 -0.007938\nvn -2.837260 4.077486 0.296713\nv -0.068190 0.125118 -0.006932\nvn -2.849292 1.613764 2.274032\nv -0.014035 0.124524 -0.007567\nvn -0.126791 2.158590 3.269656\nv 0.070277 0.124478 -0.007769\nvn -5.995805 -1.825686 4.873306\nv 0.034410 0.125023 -0.006935\nvn 4.663562 -2.282484 2.975927\nv -0.033098 0.125999 -0.007282\nvn -4.326089 5.257800 0.861738\nv -0.066661 0.125991 -0.006907\nvn -1.490514 1.633726 1.610875\nv -0.013607 0.126225 -0.007988\nvn -7.326736 4.381433 6.294438\nv -0.012893 0.125552 -0.006724\nvn -4.695976 -3.389493 5.404203\nv 0.032901 0.127385 -0.007361\nvn 4.755995 -2.017180 3.018273\nv -0.032555 0.127676 -0.006865\nvn 0.799403 0.112379 0.595651\nv 0.058985 0.127755 -0.008041\nvn -5.457823 4.076672 0.940532\nv -0.065658 0.127413 -0.007072\nvn 3.290944 -3.708149 4.883495\nv 0.018631 0.127683 -0.007509\nvn 4.999827 0.628373 4.792056\nv 0.058325 0.127034 -0.007099\nvn -5.195285 6.916595 1.030892\nv -0.064206 0.128941 -0.007194\nvn -5.237977 2.785594 3.537569\nv -0.012322 0.127347 -0.006924\nvn 1.106691 -3.580413 4.673903\nv 0.022564 0.129059 -0.008118\nvn -2.186806 1.473372 1.322674\nv -0.012047 0.128762 -0.007725\nvn 2.095149 -4.162519 5.199966\nv 0.020701 0.129573 -0.007123\nvn -2.302637 -3.876929 5.239504\nv 0.030821 0.129581 -0.007361\nvn -7.449439 5.843551 5.464474\nv -0.010861 0.129437 -0.006880\nvn -4.434035 6.358781 1.020752\nv -0.062374 0.129785 -0.007143\nvn 0.391108 -2.680201 2.920804\nv 0.024187 0.129975 -0.007671\nvn -0.324688 -3.323048 3.689515\nv 0.027612 0.129900 -0.007838\nvn 5.245416 0.975118 4.519531\nv 0.057861 0.129494 -0.007251\nvn 4.020661 -1.677423 2.444923\nv -0.031259 0.130035 -0.007679\nvn -2.052333 1.646476 1.440484\nv -0.010187 0.130658 -0.007335\nvn -4.092346 4.089561 1.170329\nv -0.060518 0.131568 -0.007045\nvn 4.639807 -2.065595 3.172841\nv -0.030906 0.131789 -0.007008\nvn -6.706791 5.214379 5.188260\nv -0.009041 0.131624 -0.006786\nvn -4.091570 5.366095 1.706254\nv -0.059405 0.132640 -0.007352\nvn 0.786510 -0.485242 0.471482\nv -0.029747 0.132875 -0.007988\nvn -3.388213 4.599195 1.680001\nv -0.058038 0.133412 -0.006974\nvn 4.128185 -1.245160 2.510275\nv -0.029543 0.133750 -0.007813\nvn 4.775168 -0.948433 3.481272\nv -0.029469 0.135021 -0.007456\nvn -6.739055 6.187879 3.685914\nv -0.056019 0.135224 -0.007013\nvn -6.131204 5.689443 5.988515\nv -0.006696 0.135196 -0.007001\nvn -0.179496 -1.298075 3.681878\nv 0.088342 0.135749 -0.007733\nvn -0.337279 -1.231377 3.717955\nv 0.086365 0.135558 -0.007884\nvn 0.227471 -2.065810 4.317972\nv 0.091333 0.135868 -0.007672\nvn -0.268485 -2.198856 5.564805\nv 0.084308 0.137406 -0.007551\nvn 1.767844 -1.196436 3.387064\nv 0.095236 0.136440 -0.007739\nvn -0.201217 -1.981655 5.625288\nv 0.077790 0.136488 -0.008022\nvn -0.087497 -2.002507 4.579940\nv 0.082165 0.136507 -0.008011\nvn -5.589320 4.883800 2.840077\nv -0.054235 0.137302 -0.007092\nvn 3.825746 -0.839600 3.090361\nv -0.029247 0.137297 -0.007204\nvn -0.247795 -1.215498 1.413320\nv 0.076330 0.137249 -0.007884\nvn 4.360999 2.341839 4.936090\nv 0.055737 0.136915 -0.007449\nvn 1.488418 2.768767 4.491229\nv 0.093793 0.137410 -0.007601\nvn -1.416242 -0.787599 3.551366\nv 0.073969 0.138645 -0.008024\nvn 1.560298 2.154509 7.412047\nv 0.091698 0.137819 -0.007439\nvn 5.499215 -1.331764 5.470832\nv -0.028791 0.139463 -0.007166\nvn -6.795333 5.988890 6.151863\nv -0.002899 0.139537 -0.007096\nvn -0.108669 -5.707808 0.548114\nv -0.087694 0.139382 -0.006919\nvn 0.002045 -6.849079 0.890030\nv -0.086209 0.139515 -0.006887\nvn -3.071250 1.866126 1.637892\nv -0.053353 0.138720 -0.007654\nvn 4.894195 3.169584 5.432856\nv 0.054464 0.139070 -0.007386\nvn 0.971354 2.593921 5.816873\nv 0.089502 0.138775 -0.007620\nvn 0.935642 1.752680 1.653144\nv 0.091265 0.138814 -0.007801\nvn -0.149712 -6.457545 1.342292\nv -0.090032 0.139415 -0.006842\nvn 0.350169 -4.902423 0.880644\nv -0.084115 0.139581 -0.007078\nvn -5.729411 2.539801 3.060259\nv -0.052705 0.139649 -0.007026\nvn 2.872003 -0.765037 2.516662\nv -0.027822 0.139871 -0.007991\nvn 1.145145 -6.848496 0.772002\nv -0.081898 0.139794 -0.007287\nvn 1.261147 -4.829535 -0.018141\nv -0.078067 0.140682 -0.007061\nvn -5.601602 1.829759 3.635945\nv -0.052010 0.141315 -0.007201\nvn 1.908013 1.372169 1.847059\nv 0.053849 0.140749 -0.007872\nvn 5.433847 -4.842375 4.106075\nv 0.089567 0.141538 -0.006970\nvn -2.323743 2.176646 2.381322\nv -0.002151 0.141147 -0.007775\nvn -3.049774 -1.004130 5.740556\nv 0.072883 0.141376 -0.007827\nvn 2.107537 -6.477107 -1.397805\nv -0.072170 0.141780 -0.007133\nvn -2.135346 2.506122 2.196600\nv -0.001916 0.141618 -0.007995\nvn 4.583366 3.559719 5.453337\nv 0.052464 0.141300 -0.006977\nvn -4.409953 5.284435 5.734576\nv -0.000941 0.141351 -0.007029\nvn -1.903706 0.497840 -3.455285\nv -0.091173 0.142173 -0.007988\nvn -1.641467 0.847017 -3.528681\nv -0.091113 0.142325 -0.007988\nvn 1.959471 -7.558971 -0.904174\nv -0.070221 0.142580 -0.006987\nvn -4.776849 -2.450613 2.773599\nv -0.051766 0.143483 -0.007357\nvn 6.129913 -4.663289 1.065769\nv 0.091301 0.143169 -0.007141\nvn -2.703462 3.025283 2.888428\nv -0.000437 0.142481 -0.007734\nvn 1.610452 -5.647527 -0.538085\nv -0.067286 0.142882 -0.007322\nvn 1.604947 -3.606382 -0.607172\nv -0.066246 0.143350 -0.007208\nvn 4.714239 -2.767128 5.392250\nv -0.028632 0.143166 -0.006749\nvn 2.271408 1.812027 2.716355\nv 0.051970 0.142494 -0.007340\nvn 1.795764 -1.727002 1.660126\nv -0.027454 0.143963 -0.007255\nvn 0.282362 0.192948 5.790557\nv 0.074289 0.143147 -0.007499\nvn -2.370420 0.906529 7.128633\nv 0.076169 0.143164 -0.007420\nvn 1.996678 -6.631852 -0.383304\nv -0.064444 0.144097 -0.007130\nvn 5.739626 -5.579593 2.565298\nv -0.026513 0.145111 -0.007016\nvn 1.115622 0.258555 0.628002\nv 0.074640 0.144163 -0.007964\nvn -1.495896 0.097527 0.355881\nv 0.075777 0.144075 -0.008078\nvn 3.127297 -2.156977 0.420650\nv 0.092290 0.144520 -0.007156\nvn -2.366056 2.370739 -5.215555\nv -0.090039 0.145427 -0.007517\nvn 1.603977 -5.770004 -0.039709\nv -0.062185 0.144556 -0.006765\nvn -1.946544 -4.258904 1.378464\nv -0.052988 0.144511 -0.007171\nvn -2.797747 4.528886 4.360826\nv 0.003149 0.144606 -0.006834\nvn -0.969826 1.721985 6.592697\nv 0.072613 0.145139 -0.007706\nvn 1.304093 1.407419 3.256458\nv 0.073949 0.144459 -0.007625\nvn -4.179736 2.056325 3.558662\nv 0.076753 0.145100 -0.007491\nvn 0.601390 -5.843808 0.394003\nv -0.060354 0.145199 -0.007052\nvn -0.055817 -5.946982 0.580280\nv -0.056090 0.145154 -0.006856\nvn -1.491278 -5.543995 1.383657\nv -0.054350 0.144911 -0.007128\nvn 1.826056 2.233190 2.727740\nv 0.049844 0.144804 -0.007236\nvn 4.818867 -2.997382 -0.081993\nv 0.093019 0.145622 -0.007241\nvn -2.420914 3.905277 3.795610\nv 0.004494 0.145538 -0.007107\nvn -1.603888 4.306757 4.938898\nv 0.084183 0.145163 -0.006753\nvn 2.417803 -2.892395 0.597206\nv -0.025494 0.145995 -0.007661\nvn 3.193062 -6.750566 1.058242\nv -0.024554 0.146511 -0.006879\nvn 2.690586 2.780799 2.580287\nv 0.083027 0.146224 -0.007537\nvn 5.332731 -0.873966 -0.776758\nv 0.093949 0.147325 -0.007001\nvn -1.579951 2.709549 2.471442\nv 0.005480 0.146299 -0.007245\nvn 3.260594 4.376288 5.840053\nv 0.048299 0.145260 -0.006789\nvn -4.213182 1.734077 5.848144\nv 0.078058 0.147086 -0.007122\nvn -2.911429 4.630939 1.872578\nv 0.085413 0.145948 -0.006851\nvn 3.528611 1.549869 5.929715\nv 0.081949 0.147461 -0.006999\nvn -2.673627 5.250336 0.792511\nv 0.086415 0.146651 -0.007354\nvn -2.271343 4.597630 4.716904\nv 0.007086 0.147169 -0.007267\nvn 2.109194 3.641395 -4.632300\nv -0.083784 0.147842 -0.007463\nvn 0.034645 6.609566 -1.670423\nv -0.081971 0.147647 -0.007365\nvn -0.392499 2.844876 -0.588905\nv -0.078291 0.147886 -0.007309\nvn -1.602531 3.571865 0.513278\nv 0.088062 0.147425 -0.007117\nvn -0.593024 6.861355 -0.849693\nv -0.079904 0.147874 -0.007299\nvn -1.107621 3.424316 -1.047267\nv -0.076446 0.147964 -0.007721\nvn -4.040840 6.489856 -5.727463\nv -0.076028 0.148745 -0.006816\nvn -1.822421 5.439351 0.792649\nv 0.089206 0.147853 -0.006850\nvn 0.098313 1.511371 -4.560218\nv -0.085933 0.148636 -0.008021\nvn -1.734598 5.122079 -0.326959\nv 0.090366 0.148307 -0.007007\nvn 0.679191 2.151220 -5.414084\nv -0.085798 0.149661 -0.007568\nvn -2.489044 3.303612 -4.257891\nv -0.074199 0.149455 -0.007417\nvn 3.773280 -3.606235 3.646628\nv -0.020297 0.149107 -0.006575\nvn 1.120821 -3.764240 2.729154\nv -0.018938 0.149384 -0.007216\nvn -4.145058 2.707640 2.658639\nv 0.078533 0.149019 -0.007372\nvn 2.995027 1.587627 3.679811\nv 0.081770 0.149402 -0.007221\nvn -0.755093 3.448002 -1.048717\nv 0.091430 0.148654 -0.007317\nvn 2.110698 3.646204 -1.076853\nv 0.093697 0.148859 -0.006913\nvn 0.864221 0.195737 -0.471149\nv 0.093277 0.148512 -0.007988\nvn -2.102858 4.047658 5.295817\nv 0.010980 0.148877 -0.007197\nvn 2.225931 4.465147 4.870443\nv 0.044338 0.148640 -0.007300\nvn 3.417082 2.266976 -3.041497\nv -0.083845 0.149352 -0.007052\nvn 1.346629 -2.867510 3.171969\nv -0.014620 0.149844 -0.007497\nvn 1.985375 5.750173 6.502381\nv 0.042656 0.148906 -0.006893\nvn -3.177259 5.743215 -3.856519\nv -0.072256 0.151666 -0.006886\nvn 1.432349 3.311514 3.422918\nv 0.040222 0.150708 -0.007645\nvn 1.265631 2.406357 1.117604\nv 0.081343 0.150757 -0.007390\nvn -1.128528 3.086743 3.717695\nv 0.012682 0.150731 -0.007846\nvn -0.966909 2.487236 2.765291\nv 0.080068 0.150944 -0.007414\nvn -1.424258 2.926813 -2.142541\nv -0.070967 0.151801 -0.007801\nvn 2.308900 6.245488 5.945805\nv 0.038375 0.150912 -0.007095\nvn -1.266347 3.693300 4.504623\nv 0.016652 0.151075 -0.007064\nvn 3.561913 -0.019356 5.182480\nv -0.014679 0.151354 -0.007166\nvn -2.307274 7.229284 -1.936983\nv -0.069931 0.152452 -0.007078\nvn 2.023779 1.205139 2.644616\nv -0.014864 0.152646 -0.007390\nvn -0.758129 3.609262 3.345678\nv 0.018913 0.152514 -0.007842\nvn -1.681122 5.684378 -0.582584\nv -0.068225 0.152949 -0.007136\nvn 1.182987 3.735239 3.064177\nv 0.034479 0.152383 -0.007544\nvn -0.659354 2.895023 2.678491\nv 0.023014 0.152720 -0.007351\nvn -0.520966 6.596873 5.974282\nv 0.024814 0.152969 -0.007138\nvn 0.536950 7.684533 6.338626\nv 0.028676 0.152822 -0.007246\nvn 3.175122 2.472566 4.836307\nv -0.016525 0.153416 -0.006857\nvn -1.382522 5.833012 0.159804\nv -0.062477 0.154816 -0.007178\nvn 3.758714 2.977468 2.944899\nv -0.017011 0.154574 -0.007280\nvn -1.757740 5.707204 -0.016481\nv -0.057940 0.156166 -0.007192\nvn -2.739216 6.244075 0.814125\nv -0.056003 0.156629 -0.006864\nvn 5.224670 -0.002844 4.031031\nv -0.019028 0.156820 -0.006862\nvn 2.903374 -4.181946 2.148168\nv -0.016782 0.158823 -0.007129\nvn -5.960095 1.273196 2.536841\nv -0.054001 0.158954 -0.007034\nvn -4.014931 -4.129968 -0.014301\nv -0.087892 0.159438 -0.006997\nvn 1.902254 -2.793795 0.448963\nv -0.084674 0.159555 -0.007423\nvn 2.587342 -4.597903 2.311306\nv -0.014891 0.159604 -0.007285\nvn 5.655832 -4.992168 5.402964\nv -0.084016 0.161170 -0.006806\nvn 3.121406 -3.778650 5.205752\nv -0.012873 0.160904 -0.007396\nvn -3.784364 -2.878425 1.362690\nv -0.088488 0.161164 -0.006778\nvn -3.965465 -4.592296 1.202338\nv -0.054330 0.160751 -0.006824\nvn 2.133491 -1.015745 2.922626\nv -0.011411 0.161594 -0.007801\nvn -3.517843 -3.494152 -0.253189\nv -0.088960 0.161817 -0.007198\nvn -2.057136 -5.512320 -0.060915\nv -0.056125 0.161529 -0.007406\nvn -3.614346 -5.278358 -0.896987\nv -0.090020 0.162776 -0.007169\nvn 3.425918 -7.042723 6.848593\nv -0.081933 0.163190 -0.006822\nvn -0.538347 -4.962151 -0.225670\nv -0.062201 0.162375 -0.006835\nvn 1.521670 0.084680 3.619966\nv -0.011265 0.162363 -0.007825\nvn -0.245144 -5.254226 2.862188\nv -0.076022 0.163339 -0.007017\nvn -0.402244 -8.371191 3.141572\nv -0.072486 0.163243 -0.007014\nvn -0.764140 -7.823258 1.025110\nv -0.067980 0.163048 -0.006786\nvn -0.835149 -7.933563 0.106620\nv -0.063999 0.162619 -0.006959\nvn -4.163871 -4.729543 0.323187\nv -0.091877 0.164759 -0.007003\nvn 1.906599 2.010746 3.735251\nv -0.012963 0.164280 -0.007506\nvn -2.368134 -4.486835 3.125769\nv -0.093691 0.165505 -0.007663\nvn 1.369951 2.903982 3.165997\nv -0.014726 0.164822 -0.007133\nvn -3.455734 -5.578117 4.311835\nv -0.096033 0.167024 -0.007133\nvn 3.254467 4.778313 5.408964\nv -0.016812 0.165357 -0.006664\nvn 4.528129 4.189312 3.513668\nv -0.018879 0.166434 -0.007377\nvn -2.426519 -2.499654 0.847576\nv -0.097516 0.167547 -0.007527\nvn -5.491357 -4.877162 2.811618\nv -0.097910 0.168507 -0.006846\nvn 2.681511 -1.896666 2.877727\nv -0.019102 0.169221 -0.007056\nvn -2.820942 -1.178638 -1.029785\nv -0.098845 0.169457 -0.007342\nvn 2.298678 -3.476552 2.438854\nv -0.017648 0.169712 -0.007577\nvn 0.136619 2.389183 -3.086828\nv -0.080128 0.170139 -0.008013\nvn 2.747947 -3.353008 4.843582\nv -0.016633 0.170829 -0.007159\nvn -5.223713 -1.510882 -1.230881\nv -0.099353 0.170884 -0.006932\nvn -0.809853 4.142259 -5.514025\nv -0.078025 0.171098 -0.007465\nvn 0.487986 3.125052 -4.762619\nv -0.085800 0.171361 -0.007529\nvn 0.417347 3.931289 -2.860629\nv -0.093201 0.171584 -0.007786\nvn -0.533544 4.472888 -2.072569\nv -0.091485 0.171620 -0.007573\nvn 0.749129 4.940444 -4.463182\nv -0.087803 0.171745 -0.007763\nvn -1.533984 3.540918 -4.568096\nv -0.076028 0.171572 -0.007765\nvn 1.462279 -1.261673 2.019855\nv -0.015209 0.171462 -0.007445\nvn 0.440257 1.738150 -3.498163\nv -0.096579 0.172264 -0.008071\nvn -1.883812 5.849292 -5.467819\nv -0.089622 0.172325 -0.006879\nvn -0.000000 -0.000000 0.000000\nv -0.089423 0.172004 -0.007988\nvn -3.168165 3.479109 -2.923053\nv -0.074466 0.173019 -0.007188\nvn 2.963806 -1.015186 7.299715\nv -0.014588 0.172918 -0.007350\nvn -0.851320 2.090308 -3.985677\nv -0.097767 0.173616 -0.007730\nvn -4.577967 3.360012 -0.654943\nv -0.073690 0.174427 -0.006651\nvn 1.106201 6.810796 1.588965\nv -0.020736 0.174017 -0.007346\nvn 0.119335 4.248144 2.015663\nv -0.019102 0.174009 -0.007667\nvn -0.899154 0.396061 -0.325091\nv -0.073288 0.174476 -0.007988\nvn 2.475537 4.088617 0.260414\nv -0.022529 0.175076 -0.006855\nvn -0.108025 5.407996 3.243637\nv -0.016755 0.174166 -0.007604\nvn 0.485019 3.076598 3.389857\nv -0.014409 0.174297 -0.007835\nvn -5.132356 2.619766 -0.699527\nv -0.073050 0.175203 -0.007178\nvn 1.849575 2.451199 -1.612495\nv -0.034345 0.175396 -0.007253\nvn 2.504530 3.422221 -4.636929\nv -0.036056 0.176640 -0.007666\nvn -4.512936 1.921254 0.225695\nv -0.072606 0.176562 -0.007056\nvn -5.264863 5.284740 -0.427243\nv -0.071591 0.178460 -0.007021\nvn 0.000000 0.000000 0.000000\nv -0.038487 0.177830 -0.007930\nvn 0.124203 3.848834 -5.306114\nv -0.038748 0.178808 -0.007456\nvn -1.685530 7.394035 -3.374791\nv -0.040725 0.178766 -0.007080\nvn -0.823637 4.833474 -0.255507\nv -0.042444 0.178438 -0.006810\nvn 0.611278 4.804865 0.868429\nv -0.044480 0.178396 -0.006914\nvn -1.180339 3.693357 -0.500572\nv -0.070304 0.179066 -0.007110\nvn -1.493229 7.784937 -0.351115\nv -0.068215 0.179416 -0.007197\nvn 0.941283 5.492560 1.996512\nv -0.046284 0.178727 -0.006832\nvn -1.312825 7.812186 0.491648\nv -0.065549 0.179785 -0.007175\nvn 1.974541 6.849568 3.263313\nv -0.048295 0.179050 -0.006607\nvn -1.065959 5.807871 0.931303\nv -0.064295 0.180056 -0.006872\nvn 0.802559 6.334998 2.754370\nv -0.050247 0.179955 -0.007490\nvn 0.957706 2.416234 1.191801\nv -0.048543 0.179769 -0.007637\nvn -0.759309 4.895626 0.620983\nv -0.062531 0.180372 -0.007405\nvn -0.546245 6.847876 1.175794\nv -0.060513 0.180587 -0.006885\nvn 0.592769 6.775383 1.528730\nv -0.056448 0.180572 -0.006974\nvn -0.291794 -4.968571 -0.052790\nv -0.063173 0.053418 -0.007200\nvn -0.155569 -6.981644 0.120983\nv -0.061773 0.053322 -0.007637\nvn 0.664171 -7.938168 0.074428\nv -0.024323 0.053208 -0.006996\nvn 1.532600 -5.779275 0.203227\nv -0.021087 0.053803 -0.006806\nvn 1.177430 -4.741561 0.064015\nv 0.070488 0.053659 -0.007074\nvn -1.960500 -6.139034 2.648921\nv 0.044656 0.054704 -0.007199\nvn -1.308755 -5.406748 1.496163\nv 0.042535 0.055666 -0.006762\nvn -2.529068 -4.224423 -0.646638\nv -0.071201 0.055202 -0.007264\nvn 0.744070 -4.898176 0.533078\nv -0.052673 0.055337 -0.007637\nvn 1.045561 -7.897254 0.426042\nv -0.051147 0.055532 -0.006950\nvn 1.214986 -7.893092 -0.050534\nv -0.038073 0.056799 -0.007054\nvn -2.395057 0.470092 2.851178\nv 0.040737 0.058109 -0.006859\nvn 0.401929 -2.028108 0.185876\nv 0.038739 0.056606 -0.007008\nvn 3.059665 -3.022141 4.932367\nv 0.038307 0.058310 -0.006806\nvn 3.473820 -1.951741 0.130772\nv -0.008160 0.065707 -0.006862\nvn -4.613402 0.006743 1.801827\nv 0.015140 0.072040 -0.007061\nvn 2.673163 -1.340060 0.096820\nv -0.003870 0.072889 -0.007404\nvn -5.695478 -1.048529 -1.174407\nv -0.085071 0.072436 -0.007029\nvn -5.547232 0.294586 2.007330\nv 0.015239 0.074153 -0.006932\nvn 5.574927 -1.418078 1.638603\nv -0.000945 0.079649 -0.006779\nvn 0.992909 1.959323 5.384931\nv 0.044245 0.083856 -0.007037\nvn 0.826770 2.227354 6.297876\nv 0.046266 0.084025 -0.007161\nvn -2.727176 1.214130 2.651998\nv 0.018027 0.086325 -0.007927\nvn -0.279128 1.317704 3.590416\nv 0.046650 0.087274 -0.007725\nvn 5.609250 -2.790477 6.374458\nv 0.044522 0.091704 -0.006769\nvn -3.657656 2.246206 5.513547\nv 0.022608 0.091841 -0.006873\nvn 0.000000 0.000000 -0.000000\nv -0.029848 0.096876 -0.007282\nvn 6.878455 -1.638174 3.657166\nv 0.005148 0.097609 -0.006840\nvn -2.195915 1.315942 3.029988\nv 0.025286 0.097560 -0.007535\nvn 0.636755 -3.534634 -5.895104\nv 0.076188 0.097637 -0.007513\nvn -3.853813 -5.236712 -7.502754\nv 0.072284 0.097754 -0.006878\nvn 2.861612 -3.068752 -6.751766\nv 0.078146 0.097719 -0.006942\nvn 1.918932 1.191237 1.941242\nv -0.043046 0.099015 -0.007512\nvn -4.004272 2.821890 0.813259\nv -0.027916 0.099198 -0.007033\nvn -4.697207 3.473139 1.188943\nv -0.027340 0.100072 -0.007257\nvn -7.040982 3.737253 -0.506082\nv -0.084850 0.100291 -0.006791\nvn 4.944022 1.902103 4.407234\nv -0.044187 0.099871 -0.006761\nvn 5.256924 -1.451989 -5.801527\nv 0.079978 0.101805 -0.007097\nvn -1.371835 -1.659717 -2.060034\nv 0.069477 0.101375 -0.007735\nvn -1.142688 -1.691577 -2.168973\nv 0.067433 0.102817 -0.007367\nvn -1.933156 1.085845 2.006596\nv 0.027652 0.103475 -0.007762\nvn -6.290133 2.536403 7.278116\nv 0.028794 0.103926 -0.006868\nvn 0.000000 0.000000 0.000000\nv 0.066327 0.104175 -0.007921\nvn -3.309219 -1.994963 -2.206536\nv 0.064381 0.103842 -0.006919\nvn 5.560178 -0.900083 3.822487\nv -0.044356 0.105847 -0.006794\nvn 5.586333 -1.617409 3.530853\nv -0.043906 0.107759 -0.006810\nvn -2.032372 1.033753 1.915932\nv 0.029520 0.107164 -0.007279\nvn -4.586934 2.132252 4.786158\nv 0.030254 0.107691 -0.006849\nvn -4.379770 1.569239 3.680959\nv 0.064180 0.108041 -0.006840\nvn -0.731909 0.361633 0.586941\nv -0.021516 0.110258 -0.007061\nvn 5.230141 -2.878103 5.280459\nv 0.056193 0.111072 -0.006791\nvn 5.659640 1.049074 -1.412769\nv 0.080134 0.111737 -0.007158\nvn -8.888460 1.326779 3.981921\nv 0.065454 0.111483 -0.006810\nvn -4.178202 1.801080 2.068062\nv -0.020033 0.113128 -0.006766\nvn -2.716922 0.301529 1.220502\nv 0.065222 0.112758 -0.007713\nvn 2.985963 -0.898474 2.477861\nv 0.057560 0.113625 -0.007137\nvn -4.657506 2.329454 2.927343\nv -0.018741 0.115723 -0.006796\nvn 5.067546 -1.235149 4.593949\nv 0.058282 0.117808 -0.007013\nvn 5.256238 -2.140431 4.074596\nv 0.010853 0.117637 -0.006764\nvn 3.748205 -0.276149 3.271432\nv 0.058719 0.119365 -0.007167\nvn -5.327439 4.804654 6.682097\nv 0.067849 0.121459 -0.006819\nvn 4.489300 6.589672 7.239891\nv 0.074160 0.121383 -0.006640\nvn 4.064842 0.144247 2.893360\nv 0.058320 0.123432 -0.006985\nvn -1.012964 3.039305 4.927778\nv 0.070155 0.123324 -0.007096\nvn 4.356436 0.363811 4.045067\nv 0.058133 0.125249 -0.006783\nvn 2.541350 -2.748479 3.302581\nv 0.017028 0.126947 -0.006770\nvn -3.503969 -2.808708 5.296792\nv 0.032507 0.129334 -0.006611\nvn 1.073253 -3.950292 4.352462\nv 0.022413 0.129873 -0.007457\nvn -0.798011 -3.301774 3.660508\nv 0.028917 0.129813 -0.007686\nvn -1.937937 2.152032 0.362341\nv -0.061602 0.130425 -0.007637\nvn 3.076138 0.583103 2.486261\nv 0.057677 0.131300 -0.007364\nvn 5.410212 -2.801630 4.338951\nv -0.030489 0.133215 -0.006660\nvn -3.491630 2.478127 2.578753\nv -0.008340 0.133167 -0.007392\nvn 2.899791 0.656449 2.534292\nv 0.057402 0.133575 -0.007568\nvn 4.554368 2.090287 4.840823\nv 0.056232 0.134956 -0.006960\nvn -0.243029 -0.962703 6.783112\nv 0.087724 0.137396 -0.007442\nvn 0.529186 -2.242544 5.047692\nv 0.093353 0.136238 -0.007558\nvn -0.253342 -2.203949 7.550530\nv 0.085886 0.137315 -0.007523\nvn -0.286578 -2.398842 4.214147\nv 0.078138 0.137641 -0.007548\nvn -0.075051 -2.617318 6.487702\nv 0.080465 0.137392 -0.007648\nvn -4.240451 4.177714 3.900034\nv -0.004812 0.137404 -0.007115\nvn -1.899310 1.682047 1.593376\nv -0.004303 0.138308 -0.007420\nvn -1.475515 -1.292157 6.659498\nv 0.076324 0.139280 -0.007483\nvn 2.102221 -1.871928 6.754200\nv 0.087666 0.139430 -0.007280\nvn -1.451002 -4.119552 -3.585111\nv -0.091753 0.139597 -0.007020\nvn -1.449020 -1.174880 6.616331\nv 0.074202 0.140095 -0.007691\nvn -2.044091 -0.386504 -4.374780\nv -0.091911 0.141277 -0.007624\nvn -0.600225 -0.243942 4.936409\nv 0.074350 0.141333 -0.007521\nvn -1.250289 -0.370931 5.789129\nv 0.076162 0.141458 -0.007379\nvn 3.857653 -0.329009 4.522589\nv -0.028709 0.141294 -0.007037\nvn 1.579816 -7.801622 -0.465325\nv -0.075977 0.141179 -0.006996\nvn 0.685195 -4.908310 -0.542319\nv -0.074023 0.141412 -0.007112\nvn -3.665644 2.029580 -7.910368\nv -0.091882 0.143155 -0.007321\nvn -1.424821 -0.228440 3.360543\nv 0.072969 0.143146 -0.007492\nvn -4.166792 4.708164 4.874404\nv 0.000951 0.142898 -0.006911\nvn -1.619546 1.025417 -3.504175\nv -0.090298 0.143725 -0.007859\nvn -2.564919 1.989213 -6.183605\nv -0.091637 0.145064 -0.006949\nvn -0.310295 0.818114 -0.940372\nv -0.089248 0.145300 -0.007931\nvn -0.004315 -5.917252 0.678203\nv -0.057756 0.145061 -0.006693\nvn -2.594178 1.524581 -5.132835\nv -0.088462 0.147443 -0.007518\nvn 1.371331 1.680188 2.061748\nv 0.047614 0.146603 -0.007526\nvn 3.292073 4.560320 5.650544\nv 0.046359 0.146895 -0.006860\nvn -1.726552 4.218408 5.274240\nv 0.009026 0.147398 -0.006862\nvn 1.146127 1.846660 2.053847\nv 0.045723 0.148183 -0.007574\nvn -2.027857 1.466829 -5.240849\nv -0.088131 0.149391 -0.007400\nvn 0.999736 -3.362160 4.483948\nv -0.016825 0.149835 -0.007138\nvn 2.120231 4.203074 5.142461\nv 0.040495 0.149409 -0.006726\nvn -2.467360 2.870457 -3.888740\nv -0.088090 0.151028 -0.006877\nvn 1.899004 4.144831 -3.265873\nv -0.086044 0.151247 -0.006859\nvn 2.409140 2.186411 -0.453708\nv -0.084218 0.150603 -0.006515\nvn -1.186626 3.397658 4.769489\nv 0.014664 0.150638 -0.007436\nvn -0.977163 3.872640 4.423779\nv 0.018775 0.151298 -0.006713\nvn 0.881171 3.488823 3.376848\nv 0.036403 0.151290 -0.006673\nvn -0.874180 5.012189 4.799062\nv 0.020732 0.152387 -0.007503\nvn 0.716328 4.258078 4.076988\nv 0.032411 0.152742 -0.007297\nvn 0.280076 3.551064 3.462060\nv 0.030796 0.152640 -0.007084\nvn -1.555168 5.785471 -0.009682\nv -0.060541 0.155256 -0.006911\nvn -3.623598 2.939600 1.367319\nv -0.054785 0.157559 -0.007135\nvn 1.922177 -2.001658 1.130895\nv -0.082867 0.161784 -0.007593\nvn -1.314683 -6.828305 -0.769826\nv -0.057768 0.161767 -0.007052\nvn -0.816655 -5.920797 -0.396429\nv -0.059831 0.162180 -0.006899\nvn -0.201961 -5.990706 3.604482\nv -0.077937 0.163259 -0.007332\nvn -0.226750 -4.462042 2.227153\nv -0.074176 0.163442 -0.006654\nvn -0.408069 -3.958871 0.188657\nv -0.066136 0.162894 -0.007049\nvn 0.328765 -3.343497 2.109263\nv -0.079976 0.163475 -0.007139\nvn -0.245096 -3.853951 1.001601\nv -0.069881 0.163236 -0.006870\nvn 2.620800 1.181794 6.175193\nv -0.012736 0.163014 -0.007384\nvn -4.250316 -4.495545 1.594378\nv -0.093998 0.166478 -0.006662\nvn 2.047586 1.990374 3.441580\nv -0.020718 0.167115 -0.006575\nvn 3.457562 -1.803628 6.747437\nv -0.020481 0.168643 -0.006551\nvn 0.189275 3.186598 -4.919922\nv -0.079830 0.171116 -0.007344\nvn -0.038951 2.702247 -5.253603\nv -0.084311 0.171556 -0.007464\nvn 0.630798 2.301230 -4.329005\nv -0.081762 0.171631 -0.007559\nvn -5.307982 0.885971 -3.486532\nv -0.099496 0.172972 -0.006837\nvn 2.190586 4.631727 -7.232822\nv -0.095773 0.173108 -0.007312\nvn 1.550856 3.893484 -4.288828\nv -0.094070 0.172871 -0.006895\nvn 1.674452 0.638230 3.044857\nv -0.013173 0.173617 -0.007766\nvn 1.797556 6.149855 -2.156483\nv -0.032743 0.175188 -0.006915\nvn 0.396499 6.697051 -1.750766\nv -0.030483 0.174934 -0.007211\nvn -0.311161 5.624707 -1.751760\nv -0.028628 0.174995 -0.006957\nvn -0.234876 4.666820 -1.385699\nv -0.026380 0.175196 -0.006967\nvn 0.228793 5.231760 -2.290841\nv -0.024314 0.175359 -0.006934\nvn 3.634536 1.383810 -4.951723\nv -0.034628 0.176588 -0.006824\nvn 0.474253 1.302755 -5.707547\nv -0.036506 0.178789 -0.007354\nvn 1.207790 6.650955 1.608180\nv -0.054388 0.180234 -0.006786\nvn 0.698418 5.628631 1.833479\nv -0.052454 0.180046 -0.007147\nvn 0.562385 -3.927744 0.215807\nv -0.060053 0.053399 -0.007054\nvn 1.160614 -3.502433 -1.393505\nv 0.053785 0.053245 -0.007094\nvn -1.447901 -3.696729 0.141060\nv -0.027094 0.053501 -0.006712\nvn -0.353595 -4.965129 0.220004\nv 0.061777 0.053923 -0.006938\nvn 0.690569 -6.936002 -0.244803\nv -0.042413 0.056058 -0.006538\nvn -0.101078 -3.910027 0.110502\nv -0.036130 0.057113 -0.007136\nvn -5.205777 -2.711711 -1.009533\nv -0.081692 0.064232 -0.006516\nvn -5.354277 -1.486471 2.170990\nv 0.016064 0.066039 -0.006550\nvn -6.295837 -1.007016 2.864995\nv 0.015446 0.068284 -0.006766\nvn 2.428851 3.306824 -2.755515\nv 0.057879 0.069632 -0.006552\nvn 4.449637 -2.222746 0.333156\nv -0.004336 0.071922 -0.006899\nvn 3.124187 0.748137 4.780910\nv 0.042480 0.084063 -0.006691\nvn 3.292379 0.023952 4.786583\nv 0.042588 0.086010 -0.006786\nvn -5.352030 2.320399 5.447305\nv 0.018997 0.085863 -0.006815\nvn 4.966887 -1.169766 6.058694\nv 0.042683 0.087709 -0.006551\nvn -6.814814 0.874253 -0.834419\nv -0.087021 0.087916 -0.007045\nvn 3.304959 4.551184 3.992403\nv -0.040776 0.095694 -0.006824\nvn 4.737874 -2.601049 5.845738\nv 0.046378 0.095407 -0.006645\nvn 3.236048 -1.612828 -4.730415\nv 0.079737 0.099701 -0.006868\nvn -3.803006 1.992217 5.493028\nv 0.028164 0.101704 -0.006658\nvn 2.253011 -1.619626 2.874784\nv 0.052851 0.105541 -0.006739\nvn 3.885552 -2.241518 3.975626\nv 0.054918 0.109386 -0.006646\nvn -4.090748 1.148069 2.339996\nv 0.065413 0.109584 -0.006396\nvn -4.022806 2.076355 2.114536\nv -0.019410 0.114329 -0.006627\nvn -7.444177 0.974766 2.720029\nv 0.065812 0.115696 -0.006833\nvn 4.381480 -1.788696 3.656187\nv 0.011412 0.119390 -0.006626\nvn 4.142364 -2.050016 1.872102\nv -0.035306 0.122025 -0.007190\nvn -4.872023 -0.529449 3.341477\nv 0.034925 0.123313 -0.006641\nvn 2.567643 -2.776357 3.259802\nv 0.015955 0.125840 -0.006958\nvn 5.593562 -1.903435 3.724470\nv -0.032117 0.129370 -0.006632\nvn 2.268703 -2.582254 3.590207\nv 0.019071 0.129242 -0.006597\nvn -0.587804 -4.055652 4.363986\nv 0.028607 0.130707 -0.006890\nvn -0.229200 -6.095551 6.554018\nv 0.026801 0.131183 -0.006565\nvn -0.422770 -1.020349 3.662966\nv 0.090127 0.136258 -0.007524\nvn -0.378295 -0.640282 5.676638\nv 0.089733 0.137294 -0.007383\nvn -0.174292 -2.206852 5.568851\nv 0.082203 0.137959 -0.007351\nvn 1.228163 -1.763389 -3.274742\nv -0.095765 0.138927 -0.007000\nvn 0.465134 -1.700352 4.611272\nv 0.085991 0.139351 -0.006827\nvn 1.251068 -2.806514 3.833595\nv 0.088049 0.140708 -0.006621\nvn -1.912479 -0.006854 -6.532125\nv -0.093795 0.141357 -0.006983\nvn -1.681251 1.300082 -3.387801\nv -0.089633 0.147412 -0.006926\nvn -1.327629 3.274078 4.793145\nv 0.012715 0.149500 -0.006961\nvn -1.908335 3.236700 -3.034979\nv -0.074000 0.150923 -0.006675\nvn 0.946458 5.183147 5.907167\nv 0.034591 0.151392 -0.006615\nvn -2.601999 6.437175 -0.330178\nv -0.066003 0.153620 -0.006984\nvn -1.544567 4.743954 0.102188\nv -0.064108 0.154379 -0.006677\nvn -1.875722 5.659471 0.311071\nv -0.058869 0.155813 -0.006704\nvn -0.797171 2.455553 -5.237241\nv -0.087889 0.172725 -0.006835\nvn 0.048863 1.471321 -4.773435\nv -0.084119 0.172792 -0.007120\nvn 1.778679 2.170852 -5.156036\nv -0.081929 0.172697 -0.007036\nvn -0.920533 4.471556 -3.614126\nv -0.075964 0.172660 -0.006772\nvn -0.412914 3.857702 -4.103251\nv -0.097766 0.174759 -0.006884\nvn 1.428400 3.463189 -4.304255\nv -0.096013 0.174679 -0.006658\nvn -1.058972 2.644085 -4.915651\nv -0.036394 0.180773 -0.006816\nvn 0.880210 -0.750903 -1.263199\nv -0.029507 0.181585 -0.006686\nvn 3.468851 -0.555425 -2.671831\nv -0.028939 0.182715 -0.006591\nvn 1.370368 -2.609769 -0.439074\nv 0.027248 0.053425 -0.006762\nvn 0.712412 -3.934171 0.108509\nv -0.022923 0.053450 -0.006938\nvn -1.865221 -5.249043 2.096815\nv 0.047929 0.053938 -0.006287\nvn 1.464434 -3.447751 -1.336652\nv 0.054690 0.053511 -0.006745\nvn -0.154196 -4.992038 0.175012\nv 0.063877 0.053912 -0.006938\nvn 0.664392 -3.942905 -0.078591\nv -0.040125 0.056448 -0.006996\nvn 1.778538 -2.385286 0.337159\nv -0.015512 0.057275 -0.006650\nvn 0.000000 0.000000 0.000000\nv 0.041694 0.058676 -0.006732\nvn -3.225684 -1.658675 1.660809\nv 0.018194 0.059696 -0.006336\nvn -4.086569 1.523268 0.953063\nv 0.042344 0.060366 -0.006276\nvn 0.641766 -1.719927 3.983256\nv 0.040384 0.059970 -0.006688\nvn 4.099178 1.528163 -2.343894\nv 0.073644 0.061608 -0.006389\nvn 2.584894 1.503443 -2.643246\nv 0.071389 0.066006 -0.006494\nvn 3.445541 1.447744 -3.294153\nv 0.069525 0.069892 -0.006541\nvn -5.545594 -0.544755 2.122586\nv 0.015288 0.070346 -0.006655\nvn 2.844009 3.117643 -2.671232\nv 0.056024 0.071405 -0.006615\nvn 1.777420 2.008417 -1.274583\nv 0.053777 0.073239 -0.006764\nvn -4.910322 -0.179194 -0.709568\nv -0.086956 0.077837 -0.006785\nvn 1.230947 1.909833 3.067758\nv 0.046544 0.082682 -0.006497\nvn -3.402574 1.603154 3.267167\nv 0.018610 0.084269 -0.006587\nvn 3.143387 -1.288259 3.647741\nv 0.043047 0.089466 -0.006311\nvn 2.492954 -0.804659 1.461465\nv 0.003739 0.093330 -0.006431\nvn 1.102598 5.634580 1.488238\nv -0.038475 0.094524 -0.006441\nvn -1.250352 3.636762 0.857382\nv -0.033277 0.094805 -0.006671\nvn -1.826739 -3.948661 -6.612144\nv 0.074283 0.096033 -0.006436\nvn 0.631217 -3.161410 -6.111360\nv 0.076183 0.095702 -0.006553\nvn 1.732262 1.717275 1.590540\nv -0.042064 0.096310 -0.006426\nvn -4.416882 2.328688 6.170994\nv 0.026587 0.097838 -0.006579\nvn 4.799429 -2.940834 5.665996\nv 0.048375 0.099745 -0.006482\nvn -3.700559 1.467611 -0.225182\nv -0.085174 0.099625 -0.006762\nvn 5.696510 -1.464671 3.745016\nv 0.005439 0.099531 -0.006318\nvn 2.205648 -1.650374 2.896276\nv 0.049294 0.100766 -0.006619\nvn -3.569286 -4.596474 -6.745862\nv 0.067861 0.101493 -0.006665\nvn 3.358545 -2.282288 4.382901\nv 0.050900 0.103377 -0.006289\nvn -2.746061 0.711730 -0.560571\nv -0.083134 0.105400 -0.006822\nvn 4.754385 -1.276283 3.419470\nv 0.007322 0.107824 -0.006525\nvn 2.386631 -1.026752 1.315132\nv -0.043500 0.108900 -0.006762\nvn 4.015894 -1.109703 2.763868\nv 0.007641 0.109531 -0.006326\nvn -5.077832 1.628505 4.506195\nv 0.032015 0.112015 -0.006473\nvn 4.890471 -1.711245 4.652007\nv 0.056752 0.113058 -0.006429\nvn -3.353898 1.929893 -0.487546\nv -0.079074 0.112750 -0.006816\nvn -3.577114 3.462181 -0.343728\nv -0.077242 0.114907 -0.006482\nvn 3.918271 -2.422718 1.930064\nv -0.039884 0.115000 -0.006606\nvn 3.749006 -1.676426 2.839552\nv 0.009423 0.115288 -0.006388\nvn -3.922744 1.102418 2.882225\nv 0.033898 0.117532 -0.006507\nvn -3.407367 2.130656 2.968850\nv -0.017159 0.117910 -0.006427\nvn 4.708575 -2.512892 2.596033\nv -0.036233 0.120904 -0.006360\nvn -3.538429 2.205226 2.708831\nv -0.015237 0.121640 -0.006435\nvn -3.149698 2.293823 0.864859\nv -0.070780 0.122220 -0.006314\nvn 0.606966 3.134246 3.772835\nv 0.072099 0.121969 -0.006297\nvn 1.940992 -1.292162 1.887088\nv 0.013419 0.123136 -0.006470\nvn 3.876461 -1.959124 2.450826\nv -0.033935 0.125236 -0.006565\nvn -3.188430 -1.595498 3.495001\nv 0.033878 0.127304 -0.006462\nvn -2.008843 2.000175 0.346900\nv -0.064940 0.128327 -0.006669\nvn 3.080942 -1.204579 2.232498\nv -0.031627 0.130830 -0.006609\nvn 0.368333 -4.247835 4.210444\nv 0.024557 0.130724 -0.006924\nvn -1.039926 -3.054821 3.800720\nv 0.030846 0.130863 -0.006339\nvn 0.698255 -3.427670 3.556580\nv 0.022487 0.130749 -0.006616\nvn 5.062006 1.698539 5.721513\nv 0.056391 0.133429 -0.006518\nvn -3.303753 2.467823 2.811864\nv -0.007639 0.133342 -0.006634\nvn -2.786477 2.383907 1.509677\nv -0.054947 0.136268 -0.006431\nvn 3.496147 1.929351 4.473315\nv 0.054109 0.137566 -0.006443\nvn 1.093321 -2.122373 -0.579567\nv -0.095891 0.138151 -0.006590\nvn -3.726467 2.475710 2.124735\nv -0.053059 0.138107 -0.006372\nvn -0.114818 -1.969937 5.651824\nv 0.084056 0.139045 -0.006856\nvn -1.892893 -2.907083 -4.757808\nv -0.097719 0.139024 -0.006837\nvn -0.968421 -1.356373 5.656214\nv 0.078085 0.139189 -0.007012\nvn -0.258920 -1.694782 6.751753\nv 0.079608 0.139472 -0.006881\nvn -0.289459 -1.286147 4.807888\nv 0.081922 0.139489 -0.006856\nvn 0.070625 -3.094921 -2.403373\nv -0.093708 0.139454 -0.006577\nvn 1.065175 -4.874024 0.128487\nv -0.079623 0.140278 -0.006762\nvn -1.540376 -0.501059 6.722796\nv 0.077702 0.141158 -0.006801\nvn -1.921535 1.611670 -5.421229\nv -0.093799 0.143118 -0.006586\nvn -3.808126 -0.567297 2.686964\nv -0.051108 0.143088 -0.006492\nvn 2.212344 -2.556682 1.893781\nv 0.090578 0.142693 -0.006429\nvn 3.420589 2.894354 5.331998\nv 0.050386 0.143179 -0.006499\nvn -1.759999 0.701626 4.435994\nv 0.077690 0.145286 -0.006823\nvn 0.676307 1.252618 4.461536\nv 0.081935 0.145199 -0.006445\nvn -1.424890 2.819989 3.866648\nv 0.010546 0.147687 -0.006424\nvn -1.590319 5.781923 -2.746988\nv -0.077779 0.148284 -0.006270\nvn 1.815500 3.102305 4.779218\nv 0.044307 0.147484 -0.006408\nvn -4.504708 4.327638 -3.829156\nv -0.089522 0.149119 -0.006352\nvn -0.771048 1.272076 5.419932\nv 0.079684 0.149467 -0.006823\nvn -1.224816 3.790598 5.728119\nv 0.014455 0.149087 -0.006498\nvn -1.071128 3.578354 4.589337\nv 0.020879 0.151297 -0.006361\nvn -1.125104 5.324651 5.836680\nv 0.022719 0.151738 -0.006403\nvn 0.648429 3.932199 5.656850\nv 0.032570 0.151462 -0.006351\nvn -0.884338 2.323068 0.719244\nv -0.087190 0.152279 -0.006384\nvn 0.897451 2.179095 -1.158453\nv -0.086822 0.152218 -0.006465\nvn 0.092986 3.359391 3.664864\nv 0.026667 0.152341 -0.006556\nvn 3.275700 1.331426 5.641119\nv -0.018506 0.154960 -0.006337\nvn 2.513424 -2.897006 2.732895\nv -0.018318 0.158266 -0.006730\nvn 2.422178 -0.317911 5.949735\nv -0.014613 0.160799 -0.006483\nvn -0.798681 -3.897060 -0.411167\nv -0.059010 0.162033 -0.006989\nvn -2.751301 -2.143118 -1.617231\nv -0.091001 0.163189 -0.006658\nvn 1.662581 0.977928 6.717572\nv -0.014819 0.162985 -0.006771\nvn 3.569858 -2.212503 7.462390\nv -0.018456 0.170838 -0.006303\nvn 0.533452 4.424112 -3.723611\nv -0.091509 0.172152 -0.006560\nvn -0.132924 2.176613 -5.467116\nv -0.086046 0.172906 -0.007026\nvn -0.432964 3.972800 -4.376943\nv -0.078092 0.172447 -0.006435\nvn 1.172514 1.723871 4.922063\nv -0.016697 0.173010 -0.006704\nvn 0.475103 2.941096 2.485733\nv -0.021010 0.173547 -0.006415\nvn 1.398156 3.732077 5.053658\nv -0.018690 0.173078 -0.006383\nvn -2.627704 2.680406 -3.096464\nv -0.098935 0.174286 -0.006633\nvn 1.786975 -0.009344 -5.646450\nv -0.034525 0.178531 -0.006804\nvn -0.979510 2.891929 -3.536121\nv -0.038273 0.180498 -0.006621\nvn -0.399808 3.922548 0.329913\nv -0.066586 0.179715 -0.006456\nvn 1.085299 5.435207 2.232239\nv -0.050245 0.179284 -0.006272\nvn 0.463300 0.847885 -4.815904\nv -0.034557 0.180921 -0.006835\nvn 0.011524 4.864667 1.126881\nv -0.058623 0.180620 -0.006938\nvn 0.839736 -0.197277 -6.779553\nv -0.032935 0.180719 -0.006646\nvn 2.051105 -2.620789 -6.036815\nv -0.030378 0.180667 -0.006391\nvn -0.750170 1.999309 -4.964500\nv -0.032529 0.182820 -0.006486\nvn -0.904810 0.726854 -5.314549\nv -0.030864 0.182688 -0.006840\nvn 0.880826 1.404850 -2.916560\nv -0.029015 0.184771 -0.006771\nvn -0.738576 -4.939022 0.011771\nv -0.063523 0.053466 -0.006588\nvn 0.044840 -5.966033 0.076888\nv 0.069127 0.053553 -0.006588\nvn 0.629813 -6.420489 -1.283776\nv 0.040431 0.055178 -0.005012\nvn -1.212265 -3.428633 1.581084\nv 0.043708 0.055383 -0.006580\nvn 1.417631 -4.654882 0.914758\nv 0.033391 0.055403 -0.006520\nvn 3.760923 -6.604602 -0.169139\nv -0.047925 0.056194 -0.005089\nvn 1.865203 -1.283313 1.091202\nv 0.036558 0.057523 -0.006382\nvn 1.149090 -1.699944 2.747962\nv 0.039030 0.059818 -0.006406\nvn -5.232052 1.534958 2.181419\nv 0.016360 0.077948 -0.006393\nvn 2.329726 3.106883 5.337544\nv 0.042684 0.082528 -0.006276\nvn 2.409734 -1.353453 1.140922\nv 0.001775 0.087025 -0.006588\nvn -2.326393 1.411807 2.914662\nv 0.020458 0.087941 -0.006308\nvn -2.024973 1.529289 3.090460\nv 0.022201 0.090165 -0.006354\nvn -2.708627 1.623220 5.085373\nv 0.024538 0.093592 -0.006262\nvn 2.132877 -2.450028 -4.927568\nv 0.077795 0.096023 -0.006341\nvn 2.779976 1.712971 2.185083\nv -0.043741 0.098214 -0.006313\nvn 2.697019 -1.675102 -3.809730\nv 0.079780 0.098095 -0.006263\nvn -1.774766 -2.248173 -2.769725\nv 0.069127 0.100675 -0.006859\nvn -2.599862 -1.850576 -2.818496\nv 0.064745 0.102177 -0.006402\nvn -1.495471 -3.286790 -4.658346\nv 0.066120 0.101532 -0.006258\nvn -2.443743 3.157197 0.107394\nv -0.072973 0.120445 -0.006588\nvn -2.738944 1.747515 2.230756\nv -0.011465 0.128170 -0.006317\nvn 4.294620 0.942833 4.052428\nv 0.056933 0.131327 -0.006471\nvn 3.735723 -0.546969 3.244478\nv -0.030336 0.135271 -0.006237\nvn 4.866905 -0.642680 4.938919\nv -0.030107 0.137286 -0.006268\nvn 2.942788 1.665647 3.682209\nv 0.055091 0.135918 -0.006511\nvn -2.253444 1.947484 2.654088\nv -0.005019 0.136188 -0.006242\nvn -1.739147 -0.350302 -2.808651\nv -0.099114 0.139789 -0.006332\nvn 2.835163 1.724258 3.715356\nv 0.052991 0.139540 -0.006349\nvn -1.444227 2.987586 -8.161819\nv -0.097955 0.141178 -0.006313\nvn -0.922982 1.107476 -5.608716\nv -0.096087 0.141307 -0.006384\nvn -0.373969 -0.780571 5.912344\nv 0.082002 0.141329 -0.006488\nvn -0.252548 -0.410264 3.951935\nv 0.080050 0.141497 -0.006483\nvn -1.986444 2.201457 2.676318\nv 0.000484 0.141842 -0.006457\nvn 2.783496 2.361668 4.737090\nv 0.051073 0.141651 -0.006247\nvn -1.121500 0.078643 4.818426\nv 0.077819 0.143317 -0.006721\nvn -0.502074 -0.060092 5.963304\nv 0.080099 0.142935 -0.006443\nvn -1.452874 2.390104 2.739976\nv 0.002664 0.143747 -0.006231\nvn -0.667027 0.674263 7.869419\nv 0.079738 0.144899 -0.006593\nvn -1.461061 0.955066 -3.598621\nv -0.093428 0.144645 -0.006312\nvn -0.265930 0.195201 3.884769\nv 0.079701 0.147227 -0.006635\nvn -2.244370 1.985342 -5.191946\nv -0.091442 0.146853 -0.006276\nvn 2.778677 4.461064 -1.573137\nv -0.082889 0.148249 -0.005931\nvn -1.439896 3.071040 4.938634\nv 0.016763 0.149973 -0.006281\nvn 1.262620 -0.435964 4.597311\nv -0.017085 0.151087 -0.006452\nvn 2.662021 4.769269 0.945880\nv -0.084804 0.150724 -0.005039\nvn 1.367067 -1.408114 3.472408\nv -0.083677 0.162574 -0.006278\nvn 1.770534 4.351058 -6.287618\nv -0.080035 0.172813 -0.006333\nvn -0.113062 1.668956 -5.728559\nv -0.086111 0.174964 -0.006433\nvn 1.018482 3.643094 -8.081015\nv -0.084106 0.174839 -0.006431\nvn -0.618864 2.695327 -4.957559\nv -0.034555 0.182464 -0.006342\nvn -1.669293 2.957944 -3.263415\nv -0.030457 0.184718 -0.006356\nvn -1.896077 -6.419087 0.610898\nv 0.024567 0.052922 -0.004694\nvn -1.160886 -3.609657 1.090759\nv 0.050940 0.053076 -0.005312\nvn -1.139115 -6.607634 1.179262\nv 0.052327 0.052911 -0.004902\nvn 1.293902 -9.487862 -1.461071\nv 0.054363 0.052916 -0.004996\nvn 1.212983 -7.817453 0.074406\nv -0.060238 0.053429 -0.005104\nvn -1.192305 -6.812396 0.323000\nv -0.025775 0.053220 -0.005009\nvn -3.821859 -4.967418 2.396426\nv 0.022681 0.053986 -0.005063\nvn 1.472697 -5.696202 -0.041504\nv 0.026479 0.052977 -0.005127\nvn 2.245351 -4.443529 -0.216324\nv 0.027426 0.053406 -0.005450\nvn -0.944653 -4.910383 -0.024107\nv -0.063935 0.053521 -0.004772\nvn 2.433371 -7.283953 1.547971\nv 0.070281 0.053832 -0.004818\nvn -1.275837 -6.835723 -0.103283\nv -0.068198 0.054046 -0.004882\nvn -0.789943 -5.913728 0.072905\nv -0.065601 0.053906 -0.004837\nvn 2.510509 -6.507001 0.316549\nv -0.058201 0.054147 -0.005144\nvn 1.525286 -4.734781 0.410871\nv -0.020774 0.054020 -0.005068\nvn 1.331062 -4.395508 -1.965533\nv 0.056298 0.053601 -0.005440\nvn -0.173879 -6.939514 0.337628\nv 0.062509 0.054068 -0.004889\nvn 3.119021 -3.504532 1.086825\nv 0.071852 0.054546 -0.005215\nvn -2.530143 -5.402660 0.056950\nv -0.070505 0.054752 -0.004849\nvn -2.048690 -5.607624 0.188667\nv -0.028640 0.054437 -0.005000\nvn 1.643853 -8.366854 -2.138987\nv 0.058393 0.054083 -0.004944\nvn -0.162215 -4.945279 -0.068179\nv 0.060603 0.054245 -0.005003\nvn 2.929423 -5.099864 0.635959\nv -0.018600 0.054851 -0.004790\nvn -0.808218 -4.174013 -2.891988\nv 0.038408 0.054954 -0.005069\nvn -2.535584 -4.287177 -0.163174\nv -0.071135 0.055093 -0.005888\nvn -0.954494 -4.896260 -0.172576\nv -0.030331 0.054858 -0.005013\nvn 2.577146 -6.217818 0.609276\nv 0.031932 0.055155 -0.005079\nvn -1.379970 0.452634 -3.612570\nv 0.038167 0.055925 -0.005653\nvn -0.764263 -2.698726 1.023680\nv 0.044964 0.055160 -0.005909\nvn -1.639863 -6.766909 -0.378693\nv -0.032111 0.055148 -0.005221\nvn -0.289253 -6.225067 -1.886049\nv 0.034511 0.056109 -0.005175\nvn -1.593501 -8.390057 1.947399\nv 0.044517 0.055644 -0.004833\nvn 3.731282 -3.011746 1.005603\nv 0.072887 0.055630 -0.005107\nvn -4.296038 -2.769991 2.771398\nv 0.020654 0.056180 -0.004784\nvn -2.257128 -6.143747 1.847405\nv -0.045931 0.056948 -0.004988\nvn 3.940721 -4.394319 0.706428\nv -0.017008 0.056130 -0.004942\nvn 4.986817 -2.839280 1.309843\nv 0.073616 0.056800 -0.005048\nvn -2.386464 -5.965369 -1.015625\nv -0.034473 0.056716 -0.004812\nvn 5.071727 -5.949441 1.421432\nv -0.014754 0.058139 -0.005051\nvn 2.527888 -1.569070 -2.469415\nv 0.036684 0.058318 -0.005174\nvn 5.247097 -4.506725 0.903664\nv -0.012787 0.060152 -0.004821\nvn -5.530120 -6.424083 -0.749452\nv -0.078053 0.059904 -0.004976\nvn 7.496807 -0.131857 -0.667991\nv 0.074601 0.060258 -0.004959\nvn -1.247348 -2.227414 -1.029991\nv -0.079171 0.061021 -0.006077\nvn 2.071995 -2.093653 5.474937\nv 0.040884 0.061462 -0.006249\nvn -4.398528 2.801834 -4.692068\nv 0.042438 0.062241 -0.005021\nvn 5.428554 -4.257835 0.969426\nv -0.011164 0.062339 -0.005191\nvn -3.385908 -1.190374 1.757609\nv 0.017459 0.062559 -0.005493\nvn -1.592374 -0.685963 3.525353\nv 0.042666 0.062487 -0.006057\nvn -4.128097 -2.617082 -0.715869\nv -0.081136 0.063011 -0.006042\nvn 2.364306 0.995563 -1.554476\nv 0.073093 0.063221 -0.006066\nvn 5.372695 2.272714 -3.861689\nv 0.072886 0.064496 -0.005586\nvn 5.998855 -4.999224 1.522693\nv -0.009270 0.064472 -0.004732\nvn -5.475068 -1.432739 1.886960\nv 0.016563 0.066292 -0.005010\nvn 4.297416 2.079844 -3.613402\nv 0.072310 0.066288 -0.005332\nvn -6.947865 -3.812617 -0.115536\nv -0.082519 0.065711 -0.004741\nvn 0.000000 -0.000000 -0.000000\nv -0.083195 0.067075 -0.006237\nvn -6.578690 -1.193470 1.802237\nv 0.016325 0.068025 -0.004880\nvn -5.975462 -3.476037 -0.244410\nv -0.084168 0.068174 -0.004885\nvn 6.597017 -4.081550 1.808635\nv -0.007099 0.068188 -0.004671\nvn 0.350370 6.006041 -4.381512\nv 0.060173 0.069873 -0.004937\nvn -2.134040 3.335210 -2.920414\nv 0.061058 0.069409 -0.006002\nvn -6.626777 -2.021106 -0.400493\nv -0.084855 0.069741 -0.005087\nvn 2.770307 4.018734 -3.376080\nv 0.058470 0.070418 -0.005092\nvn 4.319145 1.894183 -3.633436\nv 0.070495 0.070170 -0.005431\nvn -2.684638 3.473596 -2.324988\nv 0.062922 0.071110 -0.006109\nvn 6.181972 -2.912432 1.427642\nv -0.004537 0.072052 -0.005215\nvn 2.707026 1.548540 -2.363151\nv 0.069502 0.071275 -0.006076\nvn 4.382245 5.492889 -3.848122\nv 0.056319 0.072334 -0.005053\nvn 5.033454 5.231010 -2.628293\nv 0.069897 0.071882 -0.004808\nvn -6.774099 -0.442351 0.288338\nv 0.015588 0.072416 -0.004950\nvn -2.858657 6.040548 -1.519045\nv 0.064208 0.072552 -0.004919\nvn -1.056279 3.581952 -1.034473\nv 0.065612 0.072962 -0.005376\nvn 1.729247 4.369645 -0.926605\nv 0.068532 0.072837 -0.005023\nvn -8.474215 -2.493290 -0.868263\nv -0.085314 0.072473 -0.004984\nvn 5.984686 -2.874879 2.035654\nv -0.003566 0.074392 -0.005128\nvn 4.763772 6.750081 -3.467335\nv 0.054049 0.073911 -0.004888\nvn 3.381923 4.476022 -2.104460\nv 0.053049 0.074514 -0.005216\nvn -5.321574 -2.595760 -0.816813\nv -0.086278 0.074261 -0.004724\nvn -5.812032 0.332626 -0.470261\nv 0.015601 0.074395 -0.004791\nvn -4.709697 -1.445005 -0.460804\nv -0.086820 0.075533 -0.005013\nvn -3.433069 1.811145 0.177848\nv 0.015960 0.076584 -0.005936\nvn -3.897201 -0.525928 -0.477121\nv -0.086981 0.076628 -0.005962\nvn 2.185701 1.608103 -1.217534\nv 0.049579 0.077400 -0.006105\nvn -6.426990 2.245343 -0.459740\nv 0.016621 0.078153 -0.005153\nvn 6.331918 5.020521 -1.996656\nv 0.049909 0.078029 -0.004867\nvn 6.268043 -1.709305 2.493148\nv -0.001776 0.078208 -0.005225\nvn -7.975442 0.110172 -0.308716\nv -0.087064 0.077929 -0.005257\nvn 3.350694 5.402403 2.673951\nv 0.048192 0.079687 -0.005005\nvn -6.814867 -0.647395 -0.643039\nv -0.086860 0.080521 -0.005888\nvn 6.908115 -2.509360 3.048368\nv -0.000905 0.081946 -0.004910\nvn 2.404063 1.896519 1.588597\nv 0.047689 0.081111 -0.005722\nvn -0.730963 0.278085 0.640180\nv 0.017900 0.082231 -0.006158\nvn 0.016765 2.949275 5.202243\nv 0.044348 0.082381 -0.006214\nvn 1.144880 4.389137 6.203336\nv 0.046204 0.081653 -0.005679\nvn -6.807447 -1.465867 -0.155434\nv -0.087355 0.081929 -0.004841\nvn -6.439035 4.422503 3.362378\nv 0.018819 0.082060 -0.004972\nvn -2.808125 1.349852 2.496370\nv 0.019277 0.083808 -0.005565\nvn 6.797764 -2.441401 3.343560\nv 0.000520 0.086039 -0.004924\nvn 0.000000 0.000000 0.000000\nv 0.019778 0.086323 -0.006239\nvn -6.893194 1.105144 -0.199160\nv -0.087559 0.085969 -0.004997\nvn -3.798874 2.384714 5.315293\nv 0.020806 0.085897 -0.005184\nvn 6.402874 -2.985534 3.659718\nv 0.001322 0.087849 -0.004894\nvn 2.488507 -1.045873 1.251764\nv 0.002166 0.088425 -0.005888\nvn 6.647825 -1.873650 3.941391\nv 0.002329 0.089655 -0.005411\nvn 5.080035 -0.976927 3.003180\nv 0.002555 0.091717 -0.005125\nvn -2.022151 1.079736 3.277669\nv 0.023757 0.092334 -0.006312\nvn -6.789963 1.303548 -0.405196\nv -0.087258 0.091719 -0.005026\nvn 1.678123 -0.877998 2.301521\nv 0.044769 0.093100 -0.006329\nvn 8.036147 -2.040810 5.522979\nv 0.002969 0.093805 -0.004881\nvn -7.478800 2.758745 -0.251862\nv -0.086447 0.094031 -0.004947\nvn -1.273952 5.773570 0.696011\nv -0.034652 0.094179 -0.005094\nvn -2.580260 5.333168 0.684065\nv -0.033058 0.094726 -0.005460\nvn 2.194823 5.197580 1.776803\nv -0.040776 0.094960 -0.005530\nvn -0.340339 -1.982909 -3.420095\nv 0.075544 0.094719 -0.006012\nvn -2.965949 1.712369 4.885947\nv 0.026204 0.096077 -0.006109\nvn 5.281363 7.393480 3.267061\nv -0.042619 0.095770 -0.004828\nvn 4.914650 -1.259429 3.183312\nv 0.004149 0.095972 -0.005763\nvn -4.898584 0.662176 0.194448\nv -0.085915 0.095820 -0.004912\nvn -1.294241 -2.106682 -3.137779\nv 0.072996 0.096242 -0.006044\nvn -6.323730 5.935041 1.508549\nv -0.028611 0.097790 -0.004926\nvn 2.560647 -1.295729 2.782564\nv 0.046939 0.097871 -0.006094\nvn 3.817066 -2.056171 5.443233\nv 0.046133 0.097712 -0.005464\nvn -0.000000 0.000000 0.000000\nv 0.070818 0.098225 -0.006237\nvn -4.879802 0.720584 0.057849\nv -0.085880 0.097708 -0.004903\nvn -3.416431 -3.419608 -5.058270\nv 0.070111 0.097662 -0.005334\nvn -7.440919 2.857419 0.101026\nv -0.085317 0.099392 -0.005009\nvn -3.194652 2.303449 0.507479\nv -0.027765 0.099312 -0.005725\nvn -2.555100 1.151394 4.124681\nv 0.027862 0.099974 -0.006220\nvn -1.858968 -3.301129 -4.593125\nv 0.067990 0.099569 -0.005395\nvn 2.421008 -0.447733 1.669279\nv 0.005717 0.100850 -0.006237\nvn 4.487787 -3.092662 7.066499\nv 0.048231 0.101820 -0.005308\nvn 3.861513 -0.534579 -3.070262\nv 0.081042 0.101410 -0.006042\nvn -5.266371 2.819595 0.101979\nv -0.084202 0.101556 -0.004674\nvn -3.985303 -1.843297 -1.930335\nv 0.064244 0.101393 -0.005021\nvn -3.849672 2.769383 1.521908\nv -0.025404 0.102468 -0.006121\nvn -7.787020 0.609450 2.284653\nv 0.064176 0.103623 -0.005020\nvn 3.991942 -0.137881 -2.860368\nv 0.081218 0.103135 -0.006079\nvn -5.663572 1.588911 0.499239\nv -0.083291 0.103627 -0.004958\nvn -5.493159 3.411633 2.573788\nv -0.024305 0.103518 -0.005480\nvn 3.238100 -0.579346 2.274623\nv 0.005838 0.102950 -0.006063\nvn 5.650753 -1.170306 3.957980\nv 0.005204 0.103863 -0.004879\nvn 4.488209 0.505597 -2.021503\nv 0.081685 0.103883 -0.005060\nvn -6.697771 1.446285 0.309856\nv -0.083159 0.105591 -0.004996\nvn 6.480211 0.495695 -2.446783\nv 0.081422 0.105844 -0.005139\nvn -4.826941 1.398031 6.141403\nv 0.030946 0.105827 -0.005572\nvn 3.070327 -2.362044 4.579280\nv 0.051845 0.105997 -0.005784\nvn 6.432317 -1.232544 2.368493\nv -0.045141 0.105921 -0.004967\nvn -7.386886 4.669258 4.221798\nv -0.022875 0.105835 -0.004849\nvn -1.910320 0.600134 2.167232\nv 0.029927 0.106275 -0.006501\nvn -5.333689 2.632682 -0.089427\nv -0.082796 0.106555 -0.004963\nvn 2.948821 -1.689353 3.615180\nv 0.053082 0.107309 -0.005928\nvn -3.822125 2.318413 2.179251\nv -0.022283 0.107268 -0.005322\nvn 7.766046 -3.498666 2.885225\nv -0.043960 0.109409 -0.004750\nvn -6.770651 3.827557 4.483428\nv -0.020670 0.109604 -0.005347\nvn -5.763879 3.785032 -0.116435\nv -0.080449 0.109679 -0.005127\nvn -2.839770 0.764685 2.701640\nv 0.031677 0.110035 -0.006237\nvn 5.896463 -2.856033 2.435145\nv -0.043077 0.111245 -0.004857\nvn 3.192829 -0.926607 2.223974\nv 0.007806 0.110880 -0.006005\nvn -6.300243 2.868728 0.637674\nv -0.079642 0.111427 -0.005175\nvn 5.631009 1.699835 -0.554378\nv 0.080631 0.111471 -0.005019\nvn -4.193630 2.558545 0.039522\nv -0.079152 0.112788 -0.005556\nvn 8.247544 4.330914 1.852017\nv 0.079868 0.113313 -0.005140\nvn 3.822379 -2.443539 2.093515\nv -0.041366 0.113945 -0.005067\nvn -6.158442 3.053871 3.963224\nv -0.018943 0.113606 -0.005028\nvn -4.862493 1.670275 4.694199\nv 0.033204 0.113475 -0.005682\nvn 4.722086 -1.492631 3.369004\nv 0.008256 0.113747 -0.005625\nvn 3.518798 -0.746658 3.463044\nv 0.057168 0.115428 -0.006237\nvn 3.357403 1.985977 0.593196\nv 0.079288 0.114583 -0.005844\nvn -4.326146 4.080314 0.137164\nv -0.076407 0.115774 -0.004831\nvn -4.184936 1.362172 4.040808\nv 0.034338 0.115030 -0.005107\nvn -5.826527 1.549958 3.345897\nv 0.066465 0.115755 -0.005156\nvn 3.597079 2.780404 1.959403\nv 0.077546 0.116851 -0.005444\nvn -6.798899 3.920461 0.595309\nv -0.075419 0.117231 -0.005008\nvn 3.738134 -1.552095 2.923052\nv 0.010188 0.117924 -0.005676\nvn 5.979559 -3.762727 3.706236\nv -0.039019 0.117778 -0.005162\nvn 3.722016 -2.649249 2.009745\nv -0.037609 0.119040 -0.006069\nvn -6.455237 5.882860 0.867869\nv -0.074155 0.119365 -0.005026\nvn 3.510691 -0.328986 3.510029\nv 0.057488 0.119429 -0.005825\nvn 2.981562 -1.873767 1.769349\nv -0.037116 0.119905 -0.005794\nvn -4.661232 1.080771 3.606641\nv 0.035157 0.119686 -0.005572\nvn -4.712560 3.420713 5.249218\nv 0.068030 0.119407 -0.005361\nvn -1.973765 1.134685 1.921035\nv 0.067468 0.119986 -0.006187\nvn -5.967041 3.681839 5.494600\nv -0.015003 0.119534 -0.004800\nvn 2.825610 -1.299741 2.477341\nv 0.011638 0.120779 -0.006247\nvn 3.115329 5.115362 5.224802\nv 0.074264 0.119476 -0.005021\nvn -3.514227 4.802009 0.662230\nv -0.072306 0.120818 -0.004857\nvn -3.635709 2.646642 3.902819\nv -0.014340 0.121275 -0.005125\nvn 0.542210 3.272727 3.663565\nv 0.072089 0.120928 -0.005348\nvn -0.666489 2.855738 3.893156\nv 0.069638 0.121832 -0.006153\nvn 4.358114 0.519044 4.026759\nv 0.057591 0.122623 -0.005898\nvn -4.922784 3.754312 2.208886\nv -0.069737 0.123264 -0.004943\nvn -1.889490 1.477816 1.613922\nv -0.013514 0.123322 -0.006189\nvn -3.970787 6.028953 2.039768\nv -0.067917 0.124998 -0.004992\nvn 1.941994 -2.222061 2.685982\nv 0.015741 0.126550 -0.006158\nvn -3.711019 2.979691 1.365502\nv -0.065435 0.126802 -0.005296\nvn -4.445026 4.459670 2.468752\nv -0.064562 0.127878 -0.004766\nvn 3.052803 -1.162680 2.285619\nv -0.033041 0.128111 -0.005893\nvn 4.094729 -3.631489 5.780230\nv 0.016997 0.129343 -0.004893\nvn -1.468576 2.263555 0.980550\nv -0.063878 0.128760 -0.005325\nvn -3.634510 6.340299 2.758961\nv -0.062278 0.129415 -0.005115\nvn -5.742377 6.968008 4.082743\nv -0.059871 0.131147 -0.005095\nvn 6.416487 -2.152640 5.862851\nv -0.032726 0.131356 -0.005008\nvn 1.394694 -3.887974 4.341572\nv 0.020946 0.130643 -0.006241\nvn -1.602960 -2.701134 3.868517\nv 0.031976 0.130775 -0.005998\nvn 0.419892 -3.930455 4.497574\nv 0.024450 0.131871 -0.005756\nvn -3.535776 5.303592 2.801478\nv -0.058118 0.132691 -0.005338\nvn -4.363286 5.616631 3.474117\nv -0.056244 0.133641 -0.004928\nvn -3.300785 2.855906 4.023453\nv -0.006364 0.133079 -0.005091\nvn 3.353457 1.729524 4.644313\nv 0.054277 0.135230 -0.005525\nvn 2.754792 1.618281 3.834268\nv 0.053731 0.136573 -0.005693\nvn -0.534738 0.784787 0.609402\nv -0.003761 0.137557 -0.006062\nvn -0.774522 -2.991306 -0.195014\nv -0.097758 0.138118 -0.005838\nvn 0.572221 -3.788727 0.808795\nv -0.096424 0.138203 -0.005856\nvn -4.898723 -5.412537 -1.370773\nv -0.099656 0.139267 -0.005038\nvn 1.167164 -5.039194 2.528227\nv -0.093838 0.139640 -0.005394\nvn 2.492719 -0.210597 3.114593\nv -0.030142 0.139396 -0.006004\nvn -4.444802 2.539840 3.071947\nv -0.052017 0.139070 -0.005599\nvn -0.363614 -5.539852 2.207780\nv -0.087740 0.140060 -0.005405\nvn -1.986926 2.372941 2.508860\nv -0.001698 0.139862 -0.006253\nvn 0.825985 -4.921573 0.157169\nv -0.080478 0.140132 -0.006150\nvn -1.903588 0.443183 -2.782538\nv -0.099048 0.140763 -0.006297\nvn -1.106508 -2.011005 8.634703\nv 0.083703 0.141253 -0.006243\nvn 0.064428 -2.694264 6.277653\nv 0.085778 0.141013 -0.006080\nvn 1.647396 -7.810687 -0.389494\nv -0.077872 0.140604 -0.005187\nvn 0.997844 -4.877378 -0.337237\nv -0.075775 0.141104 -0.005105\nvn -3.500878 4.117407 5.859137\nv 0.001077 0.141059 -0.005432\nvn 0.592894 -5.963337 -0.191181\nv -0.074146 0.141320 -0.004841\nvn 0.851713 -4.881691 -0.446199\nv -0.072191 0.141499 -0.005456\nvn -3.254200 0.732056 2.199085\nv -0.051069 0.141717 -0.006037\nvn 0.949492 -2.622785 5.019714\nv 0.087849 0.141659 -0.005827\nvn 2.166680 -5.463655 -0.777558\nv -0.070748 0.141812 -0.004834\nvn -1.217725 1.122289 -3.600590\nv -0.095436 0.142617 -0.006292\nvn -0.915114 0.207357 7.764585\nv 0.082291 0.143182 -0.006291\nvn 1.807936 -3.408786 6.643014\nv 0.089733 0.143136 -0.005481\nvn 2.368404 -5.380304 -0.524456\nv -0.069574 0.142551 -0.004842\nvn 0.808608 -4.925956 0.079893\nv -0.068137 0.142831 -0.004937\nvn 2.480246 -7.524374 -0.050481\nv -0.066134 0.143157 -0.005011\nvn 2.255345 -2.081313 2.221836\nv 0.091090 0.143827 -0.005657\nvn -2.458739 -5.965874 2.210050\nv -0.052476 0.144801 -0.004955\nvn -2.170003 -2.755671 1.416757\nv -0.051433 0.144091 -0.005888\nvn 0.304009 0.434528 0.912147\nv 0.049177 0.144075 -0.006302\nvn 3.961815 -3.538317 5.878618\nv 0.091743 0.145135 -0.005313\nvn 2.384957 -5.418900 0.112844\nv -0.064472 0.143954 -0.004935\nvn 1.614609 -6.742117 0.469453\nv -0.062428 0.144491 -0.004759\nvn 3.108499 -4.704393 2.052966\nv -0.026676 0.145005 -0.004911\nvn -1.733441 2.703645 3.816418\nv 0.005329 0.144312 -0.005720\nvn 1.420483 -6.753172 0.319858\nv -0.060252 0.145185 -0.004850\nvn -0.791152 -6.753199 1.176507\nv -0.054149 0.145229 -0.005052\nvn -0.081344 -4.882343 0.878891\nv -0.058145 0.145465 -0.004812\nvn -1.927614 3.620582 4.317854\nv 0.006399 0.145713 -0.006131\nvn 4.234346 -3.338493 3.486403\nv -0.025847 0.146805 -0.004623\nvn 2.214180 3.530689 5.561653\nv 0.046360 0.145813 -0.006031\nvn -2.478207 2.297245 5.484450\nv 0.085946 0.145051 -0.005368\nvn 3.202005 -2.457628 2.175605\nv 0.093044 0.146064 -0.005792\nvn -1.930678 2.674210 1.816005\nv 0.086479 0.146267 -0.005794\nvn -2.266415 4.342826 3.931832\nv 0.087925 0.146809 -0.005426\nvn 3.272481 -0.347261 3.138182\nv 0.093649 0.147660 -0.005057\nvn 1.449071 -4.291530 3.527303\nv -0.024564 0.147445 -0.005047\nvn 2.378405 -3.599039 3.771239\nv -0.022567 0.147637 -0.005376\nvn -1.141568 5.023716 -2.272363\nv -0.079874 0.148012 -0.005556\nvn 0.915081 2.214375 3.140934\nv 0.043132 0.147922 -0.006217\nvn 3.606228 -1.597206 4.320320\nv -0.021371 0.149008 -0.005511\nvn -1.222701 3.325047 4.820713\nv 0.012689 0.148073 -0.006056\nvn -1.574603 2.712369 5.910810\nv 0.089817 0.147156 -0.004984\nvn 1.174267 5.982894 -2.106978\nv -0.089677 0.149418 -0.004690\nvn 4.453254 4.392605 -0.880852\nv -0.083955 0.149315 -0.004841\nvn -1.162287 4.365499 3.335123\nv 0.091584 0.148527 -0.005136\nvn -0.956156 2.105433 3.255873\nv 0.015771 0.148737 -0.005883\nvn 0.843752 1.098368 1.084870\nv 0.093588 0.148801 -0.005116\nvn 0.992053 1.894876 2.103003\nv 0.038764 0.149762 -0.006256\nvn -2.009226 2.031929 -2.734446\nv -0.075423 0.150279 -0.006237\nvn 2.686634 -2.254393 7.886283\nv -0.018925 0.150920 -0.006117\nvn 2.053421 4.169442 5.200306\nv 0.038426 0.148957 -0.005360\nvn -2.673375 2.957080 2.412174\nv -0.087708 0.150824 -0.005362\nvn 0.727296 5.364729 3.035973\nv -0.086121 0.151058 -0.005161\nvn -1.221683 3.626108 -0.908876\nv -0.074130 0.151684 -0.005005\nvn 0.566949 3.810206 4.546705\nv 0.030705 0.151633 -0.006109\nvn -0.214122 1.022407 0.137234\nv -0.073006 0.151922 -0.005144\nvn -0.197943 3.045906 3.918664\nv 0.024863 0.151758 -0.006014\nvn 0.050076 2.792056 4.137630\nv 0.026788 0.151590 -0.006007\nvn -0.024789 3.826017 4.556141\nv 0.028503 0.151748 -0.006013\nvn -1.050300 4.872163 -0.328347\nv -0.068008 0.153093 -0.004865\nvn -2.359973 7.526057 0.355408\nv -0.066175 0.153422 -0.004958\nvn 1.869572 0.774948 4.372660\nv -0.018092 0.153717 -0.006161\nvn -1.548506 3.659674 0.258400\nv -0.065106 0.153999 -0.005378\nvn -1.447843 5.793711 0.417763\nv -0.060283 0.155311 -0.005064\nvn -5.006172 5.270521 2.528633\nv -0.054306 0.157208 -0.004826\nvn 2.709238 -2.080863 2.013776\nv -0.019277 0.157878 -0.005807\nvn 2.836774 -1.033867 4.658385\nv -0.018889 0.158826 -0.005031\nvn -0.902615 -2.055577 3.095633\nv -0.087371 0.159595 -0.005624\nvn 2.159959 -2.405676 4.722597\nv -0.016946 0.159522 -0.005593\nvn 1.070766 1.025719 5.593143\nv -0.016654 0.161549 -0.006270\nvn -0.565471 -4.361033 4.345828\nv -0.089688 0.162696 -0.004759\nvn 1.748221 0.119641 4.487947\nv -0.017050 0.162865 -0.006254\nvn -1.432652 -2.937665 0.982108\nv -0.091520 0.162742 -0.004928\nvn -0.433476 -3.959345 -0.064150\nv -0.064429 0.162753 -0.004807\nvn -1.132443 -5.871547 0.314058\nv -0.067948 0.163063 -0.004777\nvn 0.080837 -4.798011 3.513849\nv -0.080097 0.164165 -0.005966\nvn -0.466757 -5.162798 2.952860\nv -0.077933 0.164808 -0.004900\nvn -4.971684 -3.886810 0.475746\nv -0.092338 0.164732 -0.005150\nvn 1.268171 2.642748 2.316616\nv -0.018321 0.165799 -0.006141\nvn 1.820678 3.873385 3.883189\nv -0.019455 0.166027 -0.005921\nvn -3.597687 -1.708292 0.100561\nv -0.093983 0.166848 -0.004975\nvn 1.235945 2.374056 2.926566\nv -0.020990 0.166228 -0.005505\nvn -1.822055 -2.533090 2.479337\nv -0.096014 0.168091 -0.006121\nvn -4.726110 -3.986028 2.061077\nv -0.094605 0.168012 -0.004979\nvn -4.637839 -2.747298 0.969973\nv -0.099522 0.171173 -0.005188\nvn -5.424850 -0.939139 0.592884\nv -0.100067 0.172847 -0.004806\nvn 0.237183 3.129676 -3.675719\nv -0.091349 0.173258 -0.005477\nvn -1.335696 1.621401 -2.924674\nv -0.090271 0.173186 -0.005641\nvn 1.263607 3.072567 -3.713482\nv -0.092858 0.173550 -0.005808\nvn 0.065587 4.216763 -3.988911\nv -0.077928 0.173542 -0.005409\nvn -2.205337 6.576620 -1.305956\nv -0.074329 0.173718 -0.005016\nvn 0.111921 4.172499 -2.666815\nv -0.075948 0.173671 -0.005491\nvn 2.847109 2.643204 5.906913\nv -0.022631 0.172986 -0.005457\nvn 3.249070 5.173076 -6.317875\nv -0.093647 0.174710 -0.005052\nvn -1.538752 1.864383 -5.363493\nv -0.087875 0.174824 -0.006335\nvn 1.359512 0.754855 -1.496376\nv -0.081794 0.174334 -0.006167\nvn 2.112420 1.059611 2.380115\nv -0.022928 0.174735 -0.005226\nvn -1.882355 3.651881 -2.698096\nv -0.098401 0.175474 -0.005587\nvn -5.699670 3.436964 1.686551\nv -0.072616 0.175311 -0.004801\nvn 1.683026 5.515711 -0.423733\nv -0.030888 0.175230 -0.004939\nvn -0.239641 6.788126 0.825893\nv -0.028856 0.175213 -0.004746\nvn -0.263566 4.840956 0.163377\nv -0.027141 0.175456 -0.005415\nvn -0.471160 1.994132 -4.339756\nv -0.087273 0.176055 -0.006157\nvn -4.376853 1.884105 1.327873\nv -0.072037 0.176762 -0.004933\nvn -2.077562 9.350714 1.167637\nv -0.044250 0.178115 -0.004848\nvn 2.348714 -1.635009 -6.191263\nv -0.032692 0.178828 -0.006237\nvn -1.946292 5.373911 1.016807\nv -0.070290 0.178992 -0.004972\nvn -3.114164 6.022476 -1.171463\nv -0.042461 0.178838 -0.004927\nvn -0.730180 5.695316 1.489646\nv -0.068062 0.179265 -0.004891\nvn 1.307942 5.695134 1.146334\nv -0.050626 0.178938 -0.004908\nvn -0.544159 6.674584 1.824325\nv -0.066203 0.179449 -0.004916\nvn 1.007148 5.606750 1.878138\nv -0.052270 0.179611 -0.006007\nvn -0.602994 3.875578 0.717776\nv -0.064731 0.179762 -0.005920\nvn 0.691586 3.700202 1.234313\nv -0.054664 0.180062 -0.005895\nvn -2.038243 3.426131 -2.616590\nv -0.039723 0.180076 -0.006237\nvn -0.629349 6.577206 2.135812\nv -0.062529 0.180010 -0.005408\nvn 0.169328 4.641370 1.766324\nv -0.058109 0.180230 -0.005487\nvn -3.531991 6.259953 -2.823249\nv -0.038694 0.181104 -0.005206\nvn 4.468698 -2.314515 0.718304\nv -0.029381 0.181114 -0.005440\nvn -0.187210 5.524146 2.238412\nv -0.060157 0.180171 -0.005401\nvn -1.825162 3.311752 -2.957990\nv -0.036248 0.182060 -0.006141\nvn 3.943022 -1.007129 2.346242\nv -0.029108 0.182718 -0.005328\nvn -3.555253 7.230978 -3.207325\nv -0.034568 0.183365 -0.005208\nvn -2.960166 6.889019 -3.099322\nv -0.032601 0.184547 -0.004841\nvn 5.447576 0.714468 2.548113\nv -0.028948 0.184737 -0.005008\nvn -1.738225 3.973453 -1.143248\nv -0.030926 0.185336 -0.005148\nvn -0.231417 3.329400 -0.726879\nv -0.029258 0.185782 -0.005096\nvn 1.077626 0.639479 -0.038481\nv -0.028853 0.185738 -0.005933\nvn -0.012428 -4.983850 -0.212667\nv -0.061773 0.053317 -0.005187\nvn -1.973044 -4.567444 0.381220\nv -0.026968 0.053639 -0.005015\nvn 1.575225 -6.798656 0.325692\nv -0.022427 0.053614 -0.004973\nvn 2.433158 -5.428900 -0.446089\nv 0.028484 0.053972 -0.004734\nvn -0.363329 -4.966895 0.288014\nv 0.064431 0.053924 -0.005071\nvn -0.588798 -5.950972 0.259912\nv 0.065925 0.053783 -0.005001\nvn -2.688822 -8.131413 2.694908\nv 0.046384 0.054806 -0.005515\nvn 2.339586 -6.553850 -0.505437\nv 0.030681 0.054812 -0.004753\nvn 0.585927 -5.964684 0.097798\nv -0.052410 0.055450 -0.005712\nvn 1.327807 -4.622811 0.928518\nv 0.033103 0.055869 -0.004707\nvn -1.257729 -4.584393 0.007620\nv -0.044616 0.055971 -0.004619\nvn -2.771108 -5.286587 -0.196524\nv -0.072384 0.055864 -0.004826\nvn -3.819238 -6.968199 -0.166659\nv -0.074109 0.056580 -0.004840\nvn 0.005664 -4.831704 -0.629875\nv -0.036412 0.057015 -0.005476\nvn -1.815353 2.153459 -3.541901\nv 0.040194 0.058729 -0.005327\nvn -5.803865 -2.544546 2.944913\nv 0.018755 0.060416 -0.004787\nvn 2.981609 -0.091545 -1.177472\nv 0.038480 0.060323 -0.004888\nvn -5.702623 -5.384895 0.053606\nv -0.080326 0.061836 -0.004870\nvn 0.303748 -0.139250 0.891836\nv 0.040509 0.062345 -0.005130\nvn -1.397207 1.032454 0.160083\nv 0.043755 0.063066 -0.005458\nvn -1.788057 0.487258 1.113677\nv 0.044049 0.064428 -0.005118\nvn -7.074425 -2.170337 2.998915\nv 0.017209 0.064238 -0.004872\nvn 0.162886 0.084318 2.885815\nv 0.042563 0.064093 -0.005347\nvn 2.792619 1.162364 -2.602756\nv 0.070831 0.068648 -0.005624\nvn -3.679550 -0.569264 1.432400\nv 0.015748 0.069671 -0.005776\nvn 4.973478 -2.963875 1.409397\nv -0.005467 0.070332 -0.004870\nvn -3.736159 5.000299 -2.799040\nv 0.061683 0.070764 -0.005049\nvn 3.025181 3.561850 -1.751696\nv 0.051683 0.075695 -0.004924\nvn -5.235586 3.484930 0.987931\nv 0.017372 0.079606 -0.004798\nvn 5.265627 -1.357513 2.471014\nv -0.001433 0.080363 -0.004957\nvn -4.047714 2.212741 3.605537\nv 0.017743 0.081286 -0.005760\nvn 0.444921 3.345269 4.851441\nv 0.044513 0.081440 -0.005729\nvn 1.789007 2.215191 2.506806\nv 0.042265 0.081637 -0.005316\nvn 5.128093 2.048586 5.292465\nv 0.040646 0.084236 -0.004880\nvn 4.050137 0.229404 5.536400\nv 0.040559 0.085934 -0.004804\nvn -5.933168 0.055008 -0.275305\nv -0.087170 0.087929 -0.005027\nvn -1.930962 1.511385 3.144915\nv 0.021288 0.087937 -0.005727\nvn -4.968911 -0.142941 -0.314506\nv -0.087343 0.089429 -0.004895\nvn 2.532487 -1.116335 4.135610\nv 0.042253 0.090067 -0.005530\nvn -2.966805 2.230019 4.711366\nv 0.022901 0.089442 -0.005528\nvn 3.400235 -1.523408 5.860162\nv 0.042701 0.091824 -0.005269\nvn -3.098904 2.320124 5.802231\nv 0.024536 0.091831 -0.005659\nvn 4.012840 -2.079291 6.527245\nv 0.044239 0.093960 -0.005689\nvn 0.082583 6.880668 0.968009\nv -0.036658 0.094036 -0.005003\nvn -1.779249 -3.186143 -5.903399\nv 0.074281 0.093855 -0.005245\nvn -3.591210 1.719231 6.908370\nv 0.026617 0.094047 -0.005355\nvn 1.705952 -3.216429 -5.915794\nv 0.077894 0.093866 -0.005135\nvn 1.792900 -1.469251 -3.197916\nv 0.078353 0.095194 -0.005707\nvn -1.763891 -2.303415 -4.069739\nv 0.073611 0.095246 -0.005701\nvn 1.973118 -1.328022 3.177723\nv 0.045711 0.096343 -0.005673\nvn -2.429849 -2.925925 -4.607737\nv 0.071931 0.095523 -0.005121\nvn 2.488075 -2.141034 -3.734606\nv 0.079160 0.096708 -0.005938\nvn -1.916196 1.236762 3.259292\nv 0.027365 0.097343 -0.005823\nvn 6.035651 3.739719 3.226889\nv -0.044356 0.097575 -0.004799\nvn 3.189124 -1.846766 -3.350000\nv 0.080529 0.097666 -0.005387\nvn 5.431858 -1.411214 4.144322\nv 0.004375 0.098025 -0.005401\nvn 5.164179 1.464787 2.520782\nv -0.045079 0.099628 -0.005152\nvn 4.912854 -1.457506 -4.685882\nv 0.080912 0.099444 -0.005792\nvn 1.776649 -1.101536 2.145390\nv 0.047690 0.100273 -0.005592\nvn -5.196581 4.198184 1.888325\nv -0.027081 0.099975 -0.005208\nvn -2.767957 1.207708 5.158209\nv 0.029031 0.099662 -0.005494\nvn 7.809745 -1.588816 6.000512\nv 0.004976 0.101879 -0.005103\nvn -3.720589 2.930974 1.498984\nv -0.025977 0.101422 -0.005485\nvn -2.713845 0.946375 4.067817\nv 0.029259 0.101423 -0.005779\nvn 3.966149 -0.883945 2.906277\nv 0.005966 0.104419 -0.005771\nvn -2.686057 0.845058 4.109549\nv 0.030842 0.103792 -0.005190\nvn 4.478541 -2.781287 7.203601\nv 0.050393 0.106001 -0.004807\nvn 3.884859 -1.102370 2.935729\nv 0.006425 0.107889 -0.005366\nvn -3.230020 1.162489 3.619728\nv 0.031075 0.107186 -0.005873\nvn -3.975981 0.980198 2.832833\nv 0.065018 0.107175 -0.005597\nvn -4.045700 2.886246 -0.205809\nv -0.082133 0.107667 -0.005011\nvn 3.272967 -2.010907 4.557456\nv 0.052352 0.107881 -0.005160\nvn -6.201278 1.104914 2.644548\nv 0.065660 0.107830 -0.004800\nvn 5.558438 -1.751955 3.867103\nv 0.006776 0.109467 -0.005088\nvn 3.006344 -1.761071 3.561715\nv 0.053818 0.109512 -0.005472\nvn -5.637730 1.620995 6.777085\nv 0.032525 0.109392 -0.005269\nvn 4.398849 -2.373910 6.163432\nv 0.054303 0.111357 -0.005030\nvn 2.403715 -1.127766 2.949324\nv 0.055505 0.112089 -0.005621\nvn 4.706656 -2.834027 2.386857\nv -0.042020 0.113127 -0.004847\nvn 3.726874 -1.336414 4.464031\nv 0.055777 0.113567 -0.005366\nvn -3.798431 3.211590 0.022336\nv -0.078273 0.113921 -0.004806\nvn -5.647749 0.753927 1.824759\nv 0.066110 0.113487 -0.004961\nvn 6.926294 -4.129536 3.982142\nv -0.040494 0.115697 -0.004726\nvn 6.029202 -2.684726 4.504316\nv 0.008650 0.115612 -0.005136\nvn 4.570350 -1.418597 6.221274\nv 0.055985 0.115935 -0.005038\nvn -4.718354 3.229838 4.015913\nv -0.017111 0.115892 -0.004821\nvn -5.679268 3.247478 4.591986\nv -0.016303 0.117342 -0.004992\nvn 5.283830 -0.758487 5.894990\nv 0.056513 0.117603 -0.005236\nvn -5.691257 1.304430 5.402287\nv 0.034926 0.117483 -0.005236\nvn 4.433424 4.839929 4.326886\nv 0.076256 0.117861 -0.004781\nvn -2.893090 1.560868 2.276613\nv -0.016078 0.118772 -0.005707\nvn 5.216086 -1.768608 4.266881\nv 0.010372 0.119621 -0.005123\nvn 1.389610 1.977205 1.727972\nv 0.075558 0.119040 -0.005395\nvn -1.239064 3.552967 4.490190\nv 0.069940 0.120967 -0.005404\nvn 6.040725 -3.010696 4.209804\nv -0.036814 0.121628 -0.004800\nvn -6.568085 4.189555 5.973576\nv -0.012491 0.123354 -0.004882\nvn -3.157824 -0.730181 2.306152\nv 0.035451 0.123600 -0.005749\nvn 3.085733 -1.530289 2.023129\nv -0.035247 0.123845 -0.005635\nvn -0.000000 0.000000 0.000000\nv -0.012640 0.124475 -0.005888\nvn 5.959646 -2.575794 4.653907\nv -0.034905 0.125524 -0.005048\nvn -3.766213 -0.662915 3.186537\nv 0.035288 0.125000 -0.005692\nvn 2.427408 -1.760621 2.621084\nv 0.013994 0.126020 -0.005291\nvn -4.092808 -1.403135 4.118718\nv 0.034926 0.127607 -0.005360\nvn 5.824697 -1.509231 5.091232\nv -0.034115 0.127508 -0.004886\nvn 3.394302 -3.742201 4.804108\nv 0.016547 0.128008 -0.005441\nvn 2.733553 0.350826 2.864282\nv 0.057227 0.127625 -0.006097\nvn -3.913609 2.020200 4.032462\nv -0.010859 0.127261 -0.005223\nvn 4.466732 -1.427521 3.735002\nv -0.033057 0.129422 -0.005350\nvn -2.963994 2.279577 3.261575\nv -0.010197 0.128768 -0.005482\nvn 5.052642 0.960115 6.066687\nv 0.056107 0.129410 -0.005324\nvn -5.284733 -2.352556 6.843174\nv 0.034637 0.129422 -0.004904\nvn 1.606019 -1.447481 2.066233\nv 0.018293 0.129836 -0.005643\nvn -1.871399 1.462864 1.811286\nv -0.009623 0.130075 -0.005988\nvn -2.822898 -3.876703 6.321257\nv 0.032681 0.131645 -0.005136\nvn -1.961341 1.420823 1.683573\nv -0.008436 0.131103 -0.005376\nvn 0.734321 -3.655619 4.665340\nv 0.022461 0.131960 -0.005486\nvn -0.277359 -3.158010 3.847105\nv 0.028819 0.132000 -0.005644\nvn -1.144033 -4.162009 5.461134\nv 0.030732 0.131879 -0.005610\nvn -4.620872 3.772704 5.200333\nv -0.007402 0.131631 -0.004814\nvn 1.645582 0.927971 2.265841\nv 0.055695 0.133205 -0.005865\nvn 1.567249 -1.233055 1.518476\nv -0.031109 0.133342 -0.005758\nvn -1.869556 1.928184 1.209261\nv -0.055750 0.134423 -0.005627\nvn -0.726614 1.728115 1.629873\nv -0.006126 0.134542 -0.005825\nvn -6.520927 5.600970 4.932244\nv -0.054574 0.135318 -0.004750\nvn -3.656224 2.825465 5.218944\nv -0.004653 0.135066 -0.005267\nvn -2.919073 2.270952 3.342318\nv -0.004242 0.136479 -0.005825\nvn -4.589610 3.951710 3.362256\nv -0.052754 0.137532 -0.005003\nvn -4.573601 3.974306 6.610126\nv -0.002787 0.137174 -0.005041\nvn 3.809373 2.298083 6.601385\nv 0.052536 0.137421 -0.005237\nvn 2.793821 -5.511179 5.160148\nv -0.095795 0.139572 -0.004791\nvn -2.167658 2.067837 2.541376\nv -0.002390 0.138767 -0.005740\nvn 0.348718 -6.064950 2.855392\nv -0.091679 0.139773 -0.005600\nvn 2.385054 1.781660 3.988731\nv 0.052079 0.139130 -0.005541\nvn -0.203715 -3.591735 1.735496\nv -0.089193 0.139940 -0.005771\nvn -0.088647 -5.910152 0.861483\nv -0.084051 0.139947 -0.005094\nvn 0.527568 -5.940137 0.458205\nv -0.082279 0.139931 -0.005527\nvn -3.034611 3.729135 5.064653\nv -0.001025 0.139080 -0.005162\nvn -2.443392 0.767876 -3.780719\nv -0.099974 0.141374 -0.005542\nvn -5.561197 2.137304 5.172181\nv -0.050567 0.141191 -0.005084\nvn 2.971694 0.061136 3.997504\nv -0.030176 0.140838 -0.005942\nvn 2.035162 1.835775 4.175991\nv 0.049945 0.141275 -0.005538\nvn 3.690872 0.100371 5.904202\nv -0.030915 0.141188 -0.005485\nvn 0.081957 -1.712529 3.454993\nv 0.086627 0.141330 -0.005888\nvn -0.516319 -0.827416 3.867805\nv 0.084877 0.141975 -0.005898\nvn -2.082689 2.413546 -6.155631\nv -0.096242 0.143431 -0.005604\nvn -3.878844 -2.195323 4.501018\nv -0.050187 0.143391 -0.005142\nvn 2.740990 -2.453583 5.419418\nv -0.030686 0.143256 -0.005500\nvn -0.599012 -0.433594 2.899670\nv 0.083915 0.142662 -0.005953\nvn -1.906151 -0.001125 6.299881\nv 0.084348 0.143201 -0.005799\nvn -1.845890 2.492993 3.830069\nv 0.002727 0.142832 -0.005521\nvn 2.801162 2.695683 5.790891\nv 0.048423 0.142981 -0.005470\nvn -2.560391 2.099333 -6.155734\nv -0.094324 0.145394 -0.005742\nvn 1.891206 -3.705089 2.285856\nv -0.028954 0.144127 -0.005648\nvn -2.142987 4.454249 7.457415\nv 0.004596 0.143206 -0.005300\nvn 2.046946 2.226013 3.959428\nv 0.047590 0.144429 -0.005793\nvn -1.676414 0.702330 3.132681\nv 0.084715 0.144478 -0.005702\nvn -1.326453 2.976017 4.958906\nv 0.007103 0.144966 -0.005365\nvn -2.113485 1.933163 -5.265811\nv -0.093636 0.147211 -0.005302\nvn 1.023051 1.806111 3.415711\nv 0.044427 0.146253 -0.005760\nvn -1.349024 3.632158 6.905219\nv 0.009202 0.145148 -0.005217\nvn -1.120370 2.396280 4.204944\nv 0.011006 0.146515 -0.005460\nvn -1.452890 2.153457 -4.691243\nv -0.092072 0.147796 -0.005693\nvn 0.275192 4.423269 -1.777130\nv -0.081695 0.148027 -0.005210\nvn -1.055165 3.046349 5.030290\nv 0.014504 0.147060 -0.005014\nvn 2.017081 3.545775 5.630694\nv 0.040668 0.147154 -0.005041\nvn -2.894887 4.092438 -4.736838\nv -0.077878 0.149337 -0.005356\nvn 1.437066 2.234396 2.979085\nv 0.040310 0.148230 -0.005671\nvn -3.372380 7.605728 -4.450322\nv -0.075971 0.151077 -0.004963\nvn 2.441351 -1.075004 5.192709\nv -0.021021 0.151069 -0.005485\nvn -1.042199 3.362934 6.012603\nv 0.018712 0.149276 -0.005403\nvn 0.367055 2.099494 3.304495\nv 0.032260 0.150492 -0.005787\nvn -1.092385 2.666563 4.003009\nv 0.021387 0.150704 -0.005732\nvn -0.440329 2.265026 3.233202\nv 0.022602 0.150709 -0.005511\nvn 0.871297 3.039203 5.080083\nv 0.030768 0.150689 -0.005514\nvn -1.247803 4.829329 -0.431233\nv -0.071245 0.152332 -0.005256\nvn -1.345402 5.827037 -0.458756\nv -0.070152 0.152645 -0.004819\nvn 2.220654 0.071609 5.441292\nv -0.019265 0.153090 -0.005825\nvn 1.481411 0.398375 3.563824\nv -0.019132 0.154509 -0.005867\nvn -2.501668 7.541474 0.526378\nv -0.064301 0.154230 -0.004695\nvn -1.332297 4.737670 0.754562\nv -0.057550 0.156159 -0.005800\nvn -1.375066 7.060955 2.033346\nv -0.056062 0.156307 -0.004983\nvn -2.415851 1.480301 0.809969\nv -0.053342 0.158668 -0.005243\nvn -7.668577 0.791080 4.698454\nv -0.052817 0.159348 -0.004627\nvn -2.266710 -1.137344 4.413842\nv -0.087555 0.161085 -0.005477\nvn -2.087798 -3.595261 1.127569\nv -0.053658 0.160726 -0.004915\nvn 0.602307 1.528946 4.588303\nv -0.016775 0.160663 -0.005752\nvn 1.841820 -1.018328 5.213905\nv -0.086113 0.161104 -0.005551\nvn 0.497090 1.580333 4.669649\nv -0.019041 0.160723 -0.005797\nvn 0.713443 0.734247 4.594065\nv -0.019029 0.161461 -0.006068\nvn 0.124280 -1.994710 5.019014\nv -0.088047 0.162915 -0.005147\nvn 1.882105 -1.010137 7.648582\nv -0.018788 0.163080 -0.005744\nvn -0.713165 -6.947817 0.018320\nv -0.066179 0.162821 -0.004910\nvn 1.390465 -1.638139 4.464139\nv -0.084235 0.163542 -0.005734\nvn -1.465819 -7.691650 1.143027\nv -0.070099 0.163613 -0.005054\nvn 0.060490 -3.547632 3.504301\nv -0.082429 0.164826 -0.005227\nvn -0.743338 -5.394447 2.430512\nv -0.076195 0.164621 -0.004869\nvn 1.584218 0.195624 3.363933\nv -0.017475 0.164463 -0.005832\nvn 1.713404 1.557183 5.234052\nv -0.019121 0.164980 -0.005408\nvn 2.564054 1.912889 5.879307\nv -0.022681 0.166844 -0.005212\nvn 2.329850 -0.618861 6.422297\nv -0.022690 0.168891 -0.005356\nvn -2.636423 -3.398860 2.037980\nv -0.097665 0.169426 -0.005287\nvn -3.509648 -5.498220 4.094648\nv -0.095697 0.169071 -0.004791\nvn 1.435486 -1.111995 3.499028\nv -0.021399 0.169349 -0.005715\nvn 1.267069 0.013289 3.644114\nv -0.019211 0.171512 -0.005829\nvn 1.484291 0.736909 3.451616\nv -0.019353 0.172355 -0.005842\nvn 1.033988 2.060756 5.341822\nv -0.020899 0.172437 -0.005601\nvn 0.551725 2.410452 -3.017855\nv -0.079380 0.173449 -0.005502\nvn -5.497293 2.813691 -2.192906\nv -0.099665 0.174892 -0.005009\nvn -1.040307 1.488696 -3.502282\nv -0.089248 0.174350 -0.006074\nvn 2.530679 2.237940 -3.815912\nv -0.081756 0.174938 -0.005797\nvn -3.282786 2.858065 -5.131964\nv -0.090088 0.175027 -0.005340\nvn 1.480276 2.348716 -2.744150\nv -0.094892 0.175201 -0.005651\nvn 1.898039 1.891694 -2.587861\nv -0.031986 0.175553 -0.005430\nvn 2.322752 2.201240 -3.474038\nv -0.033048 0.176024 -0.005946\nvn -0.685845 5.765542 -3.802913\nv -0.097565 0.176159 -0.004805\nvn 0.445159 3.919776 -2.942477\nv -0.096077 0.176254 -0.004880\nvn -2.414726 3.519397 -5.210743\nv -0.088347 0.176950 -0.005141\nvn 0.489108 2.078934 -4.508142\nv -0.086024 0.176177 -0.005962\nvn 1.199797 3.577849 -5.874792\nv -0.084066 0.177098 -0.005193\nvn 2.825441 5.579362 2.890500\nv -0.024618 0.175366 -0.004763\nvn 0.079858 2.586726 -4.198542\nv -0.085915 0.177025 -0.005522\nvn 5.511652 -0.932665 -5.025272\nv -0.032074 0.176528 -0.005269\nvn -4.303642 3.085601 2.149403\nv -0.071524 0.178104 -0.004924\nvn 1.227453 -0.722455 -2.603398\nv -0.032177 0.178062 -0.005833\nvn 0.406863 5.611402 1.900843\nv -0.046248 0.178057 -0.005236\nvn 5.132440 -2.842203 -3.222789\nv -0.030627 0.178651 -0.005069\nvn 1.068673 -1.604606 -3.347389\nv -0.031243 0.179553 -0.006140\nvn -3.659713 5.689685 -1.434451\nv -0.040182 0.180347 -0.004655\nvn 4.233282 -1.545864 2.202049\nv -0.029973 0.180541 -0.004745\nvn 0.486048 5.483228 2.354919\nv -0.056544 0.180064 -0.005435\nvn -2.747281 5.108811 -1.267151\nv -0.036592 0.182530 -0.004692\nvn -0.114603 -0.995117 -0.077677\nv -0.063173 0.053396 -0.005538\nvn 0.794307 -5.888607 -0.030720\nv -0.024489 0.053195 -0.004759\nvn 0.077518 -4.931660 0.542710\nv 0.068343 0.053587 -0.004823\nvn -0.360649 -5.323695 -3.005014\nv 0.036150 0.054700 -0.004534\nvn -0.701539 -1.300390 -4.577688\nv 0.036396 0.056127 -0.005180\nvn 0.619243 -2.525987 -0.981563\nv 0.041405 0.055320 -0.005237\nvn 0.778793 -6.567732 -0.274472\nv 0.042380 0.055535 -0.004765\nvn -3.124144 -4.899040 -0.576453\nv -0.033252 0.055486 -0.004553\nvn 1.123428 -6.882703 -0.537999\nv -0.040783 0.056256 -0.004893\nvn 1.080701 -2.217773 1.217554\nv -0.047468 0.057421 -0.004538\nvn -1.554648 1.485790 -5.008222\nv 0.038666 0.057944 -0.005072\nvn -2.504977 -3.070458 0.043382\nv -0.076015 0.057782 -0.004827\nvn 0.784007 0.011646 0.391154\nv 0.037209 0.060083 -0.004553\nvn -1.884866 1.111483 -1.499175\nv 0.042321 0.061026 -0.005358\nvn 4.063670 -2.563133 4.999207\nv 0.038630 0.062223 -0.004847\nvn 6.809804 2.090471 -3.291618\nv 0.074270 0.062476 -0.004788\nvn 3.124717 -3.882550 7.093185\nv 0.040760 0.064100 -0.005046\nvn 5.903819 -3.489245 1.192321\nv -0.008238 0.065968 -0.004868\nvn 5.148886 2.035037 -4.156468\nv 0.071963 0.067928 -0.004862\nvn -5.669950 -1.242380 0.698359\nv 0.016070 0.070191 -0.004484\nvn -2.199663 3.082902 -1.051300\nv 0.062583 0.071680 -0.004670\nvn 4.158298 -1.947389 1.882503\nv -0.002767 0.076019 -0.004756\nvn 4.246454 3.575137 -2.148825\nv 0.050899 0.076430 -0.004939\nvn -1.902695 1.372901 1.367082\nv 0.017880 0.080446 -0.005140\nvn 2.717079 1.322680 2.498016\nv 0.041547 0.083000 -0.005523\nvn -5.927658 -0.178568 -0.128626\nv -0.087754 0.084342 -0.004954\nvn -3.637913 2.903280 6.491762\nv 0.022768 0.088044 -0.004986\nvn -1.646700 1.087592 3.467323\nv 0.025564 0.092858 -0.005599\nvn 0.058090 -2.962759 -5.163351\nv 0.075980 0.093700 -0.005340\nvn -3.183633 5.013295 0.719136\nv -0.032014 0.095272 -0.004930\nvn -1.807959 0.933492 3.395140\nv 0.027049 0.095581 -0.005401\nvn -1.946725 -1.943819 -2.903449\nv 0.071225 0.096823 -0.005539\nvn -2.652677 1.494730 5.122774\nv 0.028833 0.097735 -0.005165\nvn 3.064202 -1.808904 4.778340\nv 0.046534 0.099580 -0.005040\nvn -1.771754 -2.121574 -2.875379\nv 0.069133 0.099018 -0.005594\nvn -1.763861 -2.998180 -4.835154\nv 0.066099 0.099636 -0.004968\nvn 6.372517 -0.088379 -2.738008\nv 0.081899 0.101916 -0.004754\nvn -4.918173 3.945255 2.934474\nv -0.025035 0.102161 -0.004801\nvn 2.125714 -1.414220 3.058623\nv 0.050184 0.104052 -0.005414\nvn -3.149872 1.104263 2.202796\nv 0.064746 0.105808 -0.005300\nvn 3.917750 -0.876635 2.976328\nv 0.006071 0.105884 -0.005538\nvn -5.795609 0.603559 1.390535\nv 0.065930 0.109439 -0.004532\nvn -2.610043 0.730928 2.924714\nv 0.032964 0.111488 -0.005341\nvn -4.061341 1.559875 2.455740\nv -0.019836 0.111255 -0.005187\nvn -3.853531 0.276248 1.035273\nv 0.065952 0.112185 -0.005213\nvn 7.788510 -1.962958 5.893048\nv 0.007149 0.111597 -0.004781\nvn -0.797390 0.427634 0.426575\nv -0.018373 0.115200 -0.005646\nvn 6.501432 5.248127 2.938943\nv 0.078267 0.115538 -0.004929\nvn 5.707771 -2.408005 5.029088\nv 0.009094 0.117420 -0.004660\nvn -3.018260 1.326167 2.157320\nv 0.066971 0.117378 -0.005044\nvn 5.050022 -3.163520 3.605211\nv -0.038259 0.119281 -0.004774\nvn 4.042233 -2.133968 3.849494\nv 0.010863 0.121465 -0.004902\nvn 2.118374 -0.163984 2.001015\nv 0.057577 0.121850 -0.005775\nvn -6.498367 0.705426 5.985518\nv 0.036218 0.121574 -0.004780\nvn 4.446481 -2.872334 4.571101\nv 0.012575 0.123475 -0.005385\nvn 3.713061 0.444548 4.676742\nv 0.056281 0.125273 -0.005194\nvn 4.237791 -4.275148 6.580019\nv 0.014686 0.127363 -0.004857\nvn 3.118364 0.140216 3.891088\nv 0.056378 0.127485 -0.005372\nvn -5.338612 3.789730 6.033165\nv -0.008983 0.129477 -0.004938\nvn -2.136494 -1.489968 3.009948\nv 0.033521 0.130075 -0.005538\nvn 3.654663 -5.492312 8.514794\nv 0.018717 0.131248 -0.004879\nvn 3.513321 1.092484 4.717909\nv 0.055700 0.131309 -0.005395\nvn 1.345200 -3.371521 4.756618\nv 0.021107 0.131893 -0.005253\nvn -0.385938 -2.421774 3.134662\nv 0.027127 0.132303 -0.005538\nvn 3.646193 1.845786 5.618058\nv 0.054300 0.133343 -0.005009\nvn 4.159938 -0.602098 4.220617\nv -0.031168 0.134878 -0.005388\nvn -3.208125 3.066831 2.264546\nv -0.053759 0.136626 -0.005121\nvn 0.868546 -5.931808 -0.066951\nv -0.079535 0.140275 -0.004750\nvn -2.728142 3.450349 -6.475603\nv -0.099894 0.143144 -0.004801\nvn -1.359085 2.123135 -4.282039\nv -0.097697 0.143349 -0.005152\nvn -0.037459 -1.004820 3.842232\nv 0.088029 0.142890 -0.005401\nvn -1.128660 -1.497766 8.749004\nv 0.086044 0.143317 -0.005498\nvn -2.208897 1.989016 -5.193593\nv -0.096068 0.144997 -0.005125\nvn 1.113570 1.778537 3.376666\nv 0.046264 0.144713 -0.005341\nvn 1.948321 3.601187 6.796816\nv 0.042624 0.146751 -0.005411\nvn -1.242548 3.364775 5.966784\nv 0.012772 0.146979 -0.005272\nvn 0.878501 3.984050 -2.284679\nv -0.082142 0.148397 -0.004422\nvn -1.059703 2.875343 5.126688\nv 0.016932 0.148496 -0.005388\nvn 0.536942 2.028084 -4.039856\nv -0.091298 0.149328 -0.005309\nvn -0.000000 0.000000 -0.000000\nv 0.090827 0.148412 -0.005538\nvn -2.063604 5.216044 3.034898\nv -0.088040 0.149655 -0.004324\nvn -1.211191 1.766993 -1.959642\nv -0.076823 0.150025 -0.005597\nvn -1.361175 2.736737 6.215971\nv 0.020883 0.149257 -0.005164\nvn 0.077841 4.216269 6.697651\nv 0.032524 0.149272 -0.004916\nvn 0.247309 3.294038 4.977657\nv 0.034315 0.149315 -0.004941\nvn 0.706970 3.248459 4.937757\nv 0.036364 0.149188 -0.004973\nvn -0.168600 4.103495 6.807940\nv 0.024790 0.150800 -0.005382\nvn -0.247309 3.054705 5.130466\nv 0.026848 0.150608 -0.005388\nvn 0.092863 2.698121 4.164332\nv 0.028660 0.150903 -0.005360\nvn 1.319339 -0.332934 3.688685\nv -0.019373 0.151725 -0.005783\nvn 2.271278 -0.057406 6.564617\nv -0.020750 0.152741 -0.005404\nvn 1.881422 0.062463 5.513086\nv -0.020939 0.155097 -0.005416\nvn -1.362062 5.712922 1.097055\nv -0.058130 0.155739 -0.004786\nvn 4.233849 -3.686969 7.842177\nv -0.020739 0.156830 -0.004978\nvn 0.896977 -1.078056 2.160210\nv -0.086480 0.159778 -0.005600\nvn 2.772139 2.062606 7.800617\nv -0.021001 0.160802 -0.005405\nvn -1.303518 -5.806654 -0.400517\nv -0.056065 0.161335 -0.005410\nvn 1.656994 -1.589284 6.486689\nv -0.085766 0.163104 -0.005361\nvn -1.492811 -8.845463 -0.464371\nv -0.062283 0.162362 -0.004778\nvn -1.348477 -6.827330 -0.693486\nv -0.060128 0.162018 -0.004907\nvn 0.955980 -0.380085 3.864384\nv -0.020932 0.162830 -0.005263\nvn 0.412227 -3.755523 5.739350\nv -0.084278 0.164748 -0.005153\nvn -0.946173 -6.498902 2.290893\nv -0.073988 0.164243 -0.005046\nvn 1.848007 -0.611608 6.446669\nv -0.020831 0.171249 -0.005404\nvn 4.428103 5.702298 -6.342917\nv -0.079986 0.174816 -0.004846\nvn -2.666894 2.805530 0.834753\nv -0.073403 0.174370 -0.004784\nvn -3.632632 4.433832 -3.368579\nv -0.089526 0.176192 -0.004631\nvn 2.518411 3.583022 -5.356576\nv -0.082065 0.176587 -0.004949\nvn 0.121776 2.309471 1.080095\nv -0.030153 0.185773 -0.004861\nvn -2.335166 -6.222649 2.135189\nv 0.048512 0.054238 -0.005003\nvn -1.658602 -4.360612 1.750441\nv 0.050302 0.053726 -0.004351\nvn 1.154706 -3.797812 0.215118\nv -0.056523 0.054844 -0.004851\nvn -0.986525 -1.055827 1.304395\nv 0.021483 0.055053 -0.004824\nvn -1.195885 -2.106119 -1.388015\nv 0.035002 0.054904 -0.004345\nvn 1.154820 -6.881910 0.199569\nv -0.054928 0.055191 -0.004575\nvn 0.658326 -5.928140 -0.334547\nv -0.050749 0.055531 -0.004581\nvn 0.029473 -4.934670 -0.334923\nv -0.042938 0.055890 -0.004675\nvn -0.506536 -2.456062 0.776342\nv -0.046641 0.057452 -0.004543\nvn -4.204029 -1.988229 1.778156\nv 0.019920 0.057859 -0.004525\nvn 3.626908 -1.217855 0.755509\nv 0.074125 0.058020 -0.004526\nvn -5.025055 -2.203449 2.398772\nv 0.019460 0.058884 -0.004662\nvn -0.000000 0.000000 -0.000000\nv -0.013782 0.059011 -0.004848\nvn -2.817124 2.969756 -6.469267\nv 0.040433 0.060197 -0.004721\nvn -5.082852 -2.027293 2.415777\nv 0.018112 0.062137 -0.004630\nvn -2.432401 -1.581031 0.242110\nv -0.081285 0.063095 -0.004901\nvn 4.146790 1.511603 -2.285417\nv 0.073817 0.064026 -0.004593\nvn -6.030944 -3.319156 0.289929\nv -0.081787 0.064073 -0.004461\nvn -2.601089 1.353674 1.563317\nv 0.044707 0.066175 -0.004562\nvn 1.038943 -2.656773 5.905277\nv 0.042658 0.066054 -0.004847\nvn -2.487165 -1.627937 0.248475\nv -0.083002 0.066503 -0.004618\nvn 3.410232 -1.949501 0.591547\nv -0.007812 0.066683 -0.004954\nvn 3.124115 -2.303066 0.915484\nv -0.006213 0.069521 -0.004366\nvn 5.129903 2.911016 -3.517406\nv 0.071539 0.069884 -0.004390\nvn 2.439132 3.339276 -2.781545\nv 0.057978 0.071486 -0.004417\nvn 1.484363 2.268668 -1.275727\nv 0.055156 0.073040 -0.005187\nvn -0.563012 6.681987 -1.169392\nv 0.066279 0.073180 -0.004414\nvn 0.334615 4.763921 -0.938807\nv 0.067342 0.073179 -0.004546\nvn -4.855688 -0.930310 -0.326529\nv -0.086973 0.076024 -0.004771\nvn -4.369621 1.976863 -0.604964\nv 0.015858 0.076607 -0.005070\nvn 3.461730 -1.220452 1.484502\nv -0.002263 0.077342 -0.004633\nvn -3.987899 0.303821 -0.041747\nv -0.086975 0.079337 -0.004736\nvn 2.645018 3.799963 3.370009\nv 0.042771 0.080520 -0.004574\nvn 0.757294 4.158819 3.960800\nv 0.044305 0.080218 -0.004816\nvn 0.500721 3.515780 3.299956\nv 0.046263 0.080028 -0.004719\nvn 4.213495 2.674779 3.203142\nv 0.041175 0.082482 -0.004593\nvn 5.875375 -2.196288 3.008075\nv -0.000334 0.084077 -0.004477\nvn 2.613249 -1.032567 1.001912\nv 0.000115 0.084400 -0.005214\nvn 2.868021 -0.222213 4.014119\nv 0.040413 0.087772 -0.004562\nvn 2.884603 -0.437077 5.160514\nv 0.040543 0.089433 -0.004687\nvn -3.430892 2.746273 6.646088\nv 0.024471 0.089652 -0.004690\nvn -2.945492 2.749581 6.862170\nv 0.026517 0.091653 -0.004699\nvn 2.003325 -0.820095 4.496986\nv 0.042491 0.094024 -0.004747\nvn 1.591941 4.674370 0.524184\nv -0.040331 0.094615 -0.004496\nvn 0.883971 3.835601 0.585131\nv -0.039490 0.094432 -0.004853\nvn -4.533234 -4.261201 -7.780963\nv 0.072236 0.094160 -0.004523\nvn 2.213289 -2.188604 -4.049055\nv 0.079520 0.094149 -0.004464\nvn -2.182904 1.019398 5.481485\nv 0.028413 0.094128 -0.004516\nvn 2.095192 -1.606622 4.202913\nv 0.044322 0.095989 -0.005069\nvn -3.950407 5.577948 0.808482\nv -0.030744 0.096169 -0.004590\nvn 4.526020 -1.031906 3.793349\nv 0.003363 0.095919 -0.004733\nvn 5.455805 -3.060523 -6.320086\nv 0.080093 0.095998 -0.004750\nvn -2.467811 -2.361759 -3.647688\nv 0.070359 0.096279 -0.004599\nvn 2.719648 2.480664 1.269700\nv -0.043825 0.096582 -0.004428\nvn -2.454610 3.113034 0.017774\nv -0.029767 0.096815 -0.005116\nvn -3.509276 1.481786 7.933934\nv 0.028904 0.095873 -0.004610\nvn 3.097987 -2.137966 8.117370\nv 0.044382 0.097474 -0.004599\nvn 3.738703 -0.890386 3.195937\nv 0.003471 0.097743 -0.004430\nvn 4.691288 -1.499507 -3.237929\nv 0.081467 0.097946 -0.004500\nvn 3.760097 -0.881816 3.155752\nv 0.004513 0.099538 -0.005039\nvn 4.288163 -0.650181 -2.442461\nv 0.081614 0.099610 -0.004822\nvn -4.703504 -1.225576 -2.962283\nv 0.064594 0.099742 -0.004343\nvn -4.442505 2.275658 0.113576\nv -0.084880 0.100336 -0.004507\nvn -3.618172 1.008290 5.869935\nv 0.030621 0.101705 -0.004887\nvn 2.450977 -2.279984 4.936794\nv 0.048641 0.103586 -0.004696\nvn 5.534709 -0.366707 2.209588\nv -0.045336 0.104132 -0.005156\nvn -3.010816 1.801172 1.859991\nv -0.023424 0.103970 -0.004382\nvn 4.840703 -1.047180 3.380726\nv 0.005410 0.105888 -0.004635\nvn -3.373920 0.754596 6.070625\nv 0.032468 0.106170 -0.004686\nvn -5.961893 1.387213 3.217827\nv 0.065473 0.106116 -0.004456\nvn 4.792805 -1.376226 3.327775\nv 0.005659 0.107490 -0.004435\nvn 4.438330 -1.492015 1.705688\nv -0.044704 0.107704 -0.004795\nvn 3.357201 -2.120389 5.747342\nv 0.052539 0.109619 -0.004541\nvn 5.747631 1.012179 -1.228369\nv 0.081128 0.109492 -0.004618\nvn 2.571630 -1.187666 0.981018\nv -0.043443 0.110125 -0.005187\nvn -3.946220 1.431380 2.701603\nv -0.019256 0.111546 -0.004373\nvn 3.296669 -1.554455 5.951105\nv 0.054371 0.113418 -0.004461\nvn -4.156135 0.566880 5.368293\nv 0.034669 0.113632 -0.004387\nvn -3.548796 3.479194 0.180330\nv -0.077215 0.115071 -0.004663\nvn 2.351964 -1.413947 1.211911\nv -0.039611 0.116775 -0.005187\nvn -4.146533 2.860267 4.643233\nv 0.067703 0.117633 -0.004350\nvn -2.443887 1.461794 0.321974\nv -0.074943 0.118256 -0.004563\nvn 4.161058 -0.316274 5.545942\nv 0.056148 0.119508 -0.004606\nvn -4.651322 1.045429 5.090682\nv 0.036086 0.119680 -0.004511\nvn 0.933457 3.859610 4.365141\nv 0.072461 0.119989 -0.004554\nvn -2.374824 0.635272 1.713948\nv 0.035527 0.120975 -0.005483\nvn -4.008291 4.242681 0.921471\nv -0.070580 0.121936 -0.004481\nvn 4.216139 -0.058131 5.422648\nv 0.056404 0.121519 -0.004728\nvn 6.024590 -2.801691 4.407848\nv -0.036165 0.123134 -0.004757\nvn 3.805501 -2.127674 4.083013\nv 0.011576 0.123390 -0.004481\nvn -4.993546 -0.376974 4.742813\nv 0.036318 0.123266 -0.004775\nvn 3.560018 0.649129 4.763061\nv 0.056069 0.123436 -0.004712\nvn -4.468353 -0.882118 5.281729\nv 0.036291 0.125661 -0.004589\nvn -5.006318 3.326722 5.108960\nv -0.011160 0.125546 -0.004657\nvn -2.963459 3.852139 1.019776\nv -0.066145 0.125924 -0.004552\nvn -1.831885 3.062613 1.625983\nv -0.060980 0.129798 -0.004537\nvn -2.875212 -2.253856 4.731755\nv 0.034323 0.131140 -0.004425\nvn 3.517810 1.384820 5.868084\nv 0.054333 0.131469 -0.004560\nvn 0.597017 -3.093029 6.149026\nv 0.022282 0.133509 -0.004454\nvn 0.314890 -3.188476 5.055371\nv 0.024679 0.133296 -0.004693\nvn -0.088638 -3.992456 5.688544\nv 0.026719 0.133400 -0.004764\nvn -0.508013 -4.474473 7.725353\nv 0.028753 0.133319 -0.004757\nvn -1.195395 -3.643075 5.825769\nv 0.030686 0.133144 -0.004668\nvn 3.819300 -1.783115 4.789917\nv -0.032390 0.133456 -0.004599\nvn -2.959449 4.600639 5.557123\nv -0.004896 0.133544 -0.004563\nvn 4.405000 -0.139912 5.405594\nv -0.031213 0.137067 -0.005247\nvn 3.776188 2.376093 7.763587\nv 0.052641 0.135128 -0.004480\nvn 0.034067 -3.599367 3.174548\nv -0.097798 0.138802 -0.004742\nvn 3.472775 -0.034810 4.868082\nv -0.031291 0.139525 -0.005144\nvn -0.380513 -4.754721 1.273959\nv -0.088154 0.140389 -0.004597\nvn -0.494033 -6.753680 1.499903\nv -0.086040 0.140167 -0.004651\nvn -2.624620 1.617964 2.503253\nv -0.050904 0.139496 -0.004516\nvn 3.224646 2.753701 6.761892\nv 0.050423 0.139510 -0.004872\nvn -0.464634 -6.307730 2.569592\nv -0.089858 0.140483 -0.004799\nvn 2.459502 2.533747 6.015602\nv 0.048619 0.141119 -0.004809\nvn -5.680216 -1.271822 -3.972247\nv -0.101286 0.141257 -0.004481\nvn 2.254005 3.042161 7.010088\nv 0.046319 0.143206 -0.004665\nvn 1.271436 -5.038697 5.419566\nv -0.030796 0.144874 -0.004588\nvn -0.717529 -0.315508 6.804066\nv 0.087825 0.144876 -0.005041\nvn 0.686356 -3.838733 2.828147\nv -0.028993 0.144723 -0.004676\nvn 1.638024 3.465508 7.003169\nv 0.044087 0.145088 -0.005076\nvn -0.208665 -5.915558 0.770160\nv -0.056064 0.145243 -0.004502\nvn -1.055091 1.835057 4.519699\nv 0.010902 0.144801 -0.004776\nvn -2.675055 2.401508 -5.985260\nv -0.095620 0.146973 -0.004514\nvn 0.615574 -0.500147 4.431706\nv 0.091758 0.147030 -0.004651\nvn -0.599292 3.337784 7.128014\nv 0.016756 0.147051 -0.004597\nvn 1.643941 3.275946 5.912990\nv 0.038733 0.147518 -0.004520\nvn -2.589077 3.463820 -6.367157\nv -0.093737 0.149150 -0.004657\nvn -2.137816 4.746834 -4.487338\nv -0.079742 0.148852 -0.004609\nvn -0.776447 2.467929 5.376048\nv 0.022697 0.149258 -0.004708\nvn 0.840551 2.947034 6.155998\nv 0.030838 0.149135 -0.004536\nvn 0.227330 3.189451 -1.344390\nv -0.092044 0.150970 -0.004504\nvn 0.000000 0.000000 0.000000\nv -0.092848 0.150623 -0.004908\nvn -1.682071 3.414046 -2.906413\nv -0.077765 0.150750 -0.004448\nvn -0.079489 2.777717 6.378741\nv 0.026484 0.149233 -0.004687\nvn 4.393466 -0.189078 6.605459\nv -0.022631 0.151212 -0.004496\nvn 1.842784 -0.742395 4.422016\nv -0.022843 0.154986 -0.004828\nvn -1.245530 4.837016 0.198843\nv -0.062605 0.154665 -0.004927\nvn -1.853000 -2.404624 1.320369\nv -0.053094 0.160570 -0.004507\nvn 2.604606 1.807695 4.918095\nv -0.022623 0.160986 -0.004704\nvn 1.905146 -0.228797 6.693689\nv -0.022952 0.162969 -0.004726\nvn 0.985462 -2.321271 6.477304\nv -0.086093 0.165123 -0.004818\nvn -1.019428 -5.728593 1.318899\nv -0.072040 0.164016 -0.004753\nvn -0.447034 -2.809227 0.899350\nv -0.071177 0.163793 -0.005135\nvn 2.021317 1.395703 7.216285\nv -0.020566 0.165253 -0.005066\nvn -0.692898 -4.870020 3.314057\nv -0.080127 0.165183 -0.004685\nvn -3.924154 -3.691280 0.118768\nv -0.093436 0.165571 -0.004378\nvn 1.563615 -0.136844 5.666720\nv -0.022647 0.171109 -0.005013\nvn -0.900206 4.567648 -5.900590\nv -0.091701 0.174580 -0.004760\nvn 0.674415 4.345462 -2.116554\nv -0.078119 0.174222 -0.004405\nvn 0.702739 5.645141 -1.685300\nv -0.076046 0.174114 -0.004586\nvn 1.689846 3.480607 -2.912791\nv -0.094363 0.176142 -0.004486\nvn 2.949560 -1.813291 0.319707\nv -0.031202 0.177222 -0.004780\nvn -1.369436 2.452057 -2.469110\nv -0.087590 0.178350 -0.004547\nvn -0.052853 4.752036 -6.083628\nv -0.086120 0.178434 -0.004663\nvn 1.636172 6.533339 1.688797\nv -0.048567 0.178356 -0.004738\nvn -1.450826 2.377978 -1.004150\nv -0.041271 0.179582 -0.005065\nvn -0.689062 7.422245 2.743705\nv -0.064156 0.179515 -0.004519\nvn 1.089892 6.483949 2.271333\nv -0.054200 0.179445 -0.004611\nvn -2.127206 3.315675 -0.576681\nv -0.037762 0.181864 -0.004616\nvn -1.421884 2.528129 -0.552637\nv -0.033829 0.184067 -0.004488\nvn 0.999564 -4.646369 -1.303892\nv 0.056030 0.053033 -0.004403\nvn 0.829329 -6.810975 -0.899851\nv -0.038411 0.056603 -0.004691\nvn 3.407487 -3.427545 1.107549\nv -0.015920 0.057402 -0.004438\nvn -2.584753 -3.040401 -0.131630\nv -0.079273 0.060959 -0.004837\nvn 1.432431 -2.187167 6.417612\nv 0.044510 0.068014 -0.004472\nvn -3.610154 1.746874 0.792146\nv 0.045858 0.067884 -0.004239\nvn -2.930799 -0.566870 -0.155965\nv -0.085022 0.070400 -0.004663\nvn -4.752368 0.761817 -0.701150\nv 0.015668 0.075845 -0.004324\nvn -4.494987 3.606441 5.340307\nv 0.020482 0.084265 -0.004503\nvn -2.764568 2.389211 4.722537\nv 0.022374 0.086153 -0.004412\nvn 2.612116 -0.923325 6.399125\nv 0.040534 0.091731 -0.004337\nvn -1.375205 -2.726908 -5.091643\nv 0.074184 0.092254 -0.004408\nvn 0.053391 -3.428094 -7.157925\nv 0.075966 0.091981 -0.004486\nvn 2.376122 -1.573532 6.366012\nv 0.042776 0.095984 -0.004497\nvn -3.392439 1.525018 8.132158\nv 0.030641 0.097634 -0.004396\nvn -2.381638 -4.469303 -7.213790\nv 0.068245 0.098054 -0.004441\nvn -2.385836 0.602006 4.340623\nv 0.030747 0.099639 -0.004627\nvn 2.051785 -1.067627 4.425699\nv 0.046590 0.101575 -0.004525\nvn -3.302538 0.873171 4.911133\nv 0.032867 0.107605 -0.004598\nvn 4.784948 0.614570 -1.307850\nv 0.081403 0.107513 -0.004488\nvn -2.855176 1.938726 2.021033\nv -0.021213 0.107929 -0.004447\nvn 3.867307 -1.267102 2.888338\nv 0.007325 0.113530 -0.004377\nvn -1.575983 4.116405 5.227241\nv 0.069976 0.119826 -0.004468\nvn -1.679294 1.250246 2.144305\nv -0.013082 0.121853 -0.004522\nvn -0.924294 0.932850 1.071975\nv -0.069054 0.124125 -0.004837\nvn 4.009498 -2.606384 5.048878\nv 0.012785 0.125323 -0.004562\nvn -2.689111 1.817037 3.795983\nv -0.009331 0.127975 -0.004413\nvn 3.422054 -1.155565 3.439048\nv -0.033939 0.129202 -0.004429\nvn 1.442616 -2.628441 5.157123\nv 0.020982 0.132914 -0.004549\nvn -1.047691 -1.995367 3.284668\nv 0.032509 0.132857 -0.004462\nvn 2.223710 0.044552 3.321398\nv -0.032060 0.137163 -0.004637\nvn -2.357487 2.932218 5.814080\nv 0.000754 0.139595 -0.004587\nvn -0.389417 -4.306725 2.264461\nv -0.091243 0.140855 -0.004346\nvn 2.352812 0.079267 4.393324\nv -0.032678 0.141341 -0.004520\nvn -1.639989 3.132400 5.987300\nv 0.002965 0.141347 -0.004649\nvn 3.631112 -2.196985 5.176229\nv -0.032451 0.143104 -0.004542\nvn -1.172362 2.508393 5.310126\nv 0.006730 0.142984 -0.004608\nvn -2.277093 2.271062 -4.962183\nv -0.097569 0.144747 -0.004490\nvn 0.266987 -0.552745 3.870339\nv 0.089646 0.144871 -0.004935\nvn 1.786979 2.411311 5.170661\nv 0.042528 0.145017 -0.004696\nvn -0.476332 2.514412 6.490463\nv 0.019024 0.147427 -0.004628\nvn 2.885489 -1.226153 4.993188\nv -0.022685 0.149246 -0.004512\nvn -0.089870 1.925367 4.600820\nv 0.024378 0.149296 -0.004639\nvn -0.175544 3.302850 7.199747\nv 0.028604 0.149078 -0.004368\nvn 2.799032 0.808734 5.095077\nv -0.022757 0.153164 -0.004605\nvn 1.760061 -2.185945 3.994978\nv -0.022396 0.156445 -0.004405\nvn -0.742716 -3.909475 -0.320089\nv -0.058665 0.161671 -0.004898\nvn 1.455788 -1.757013 5.540157\nv -0.087843 0.164835 -0.004571\nvn 2.466487 1.366168 9.518516\nv -0.024694 0.166756 -0.004520\nvn 1.434622 -0.044129 4.776859\nv -0.024720 0.169049 -0.004682\nvn -2.183479 -3.469653 2.731196\nv -0.097927 0.170262 -0.004408\nvn 1.654651 -0.505185 5.727415\nv -0.024452 0.171214 -0.004624\nvn 2.999941 -0.172917 5.994599\nv -0.024353 0.172851 -0.004579\nvn -2.205131 3.661091 -2.286780\nv -0.099022 0.175994 -0.004448\nvn 0.741947 5.798092 1.146613\nv -0.052360 0.179151 -0.004541\nvn 0.175746 4.545057 2.013824\nv -0.056040 0.179558 -0.004438\nvn 0.659689 1.663672 -3.235908\nv 0.038402 0.062412 -0.003251\nvn 2.889914 -2.617845 0.881352\nv -0.010495 0.063421 -0.004076\nvn 1.464074 -1.763574 1.464053\nv 0.039414 0.063902 -0.004479\nvn 1.334898 -1.603778 1.933869\nv 0.041222 0.065661 -0.004521\nvn 4.784698 1.953555 -2.997746\nv 0.073219 0.066178 -0.004193\nvn 2.104912 -1.391744 5.246937\nv 0.044316 0.072216 -0.003361\nvn 1.525261 2.236104 -1.277329\nv 0.055822 0.073100 -0.004377\nvn 3.532245 -1.315488 1.295666\nv -0.004202 0.073633 -0.004052\nvn 3.528489 -2.562756 3.876437\nv 0.044889 0.074195 -0.003084\nvn -5.348291 1.706326 -1.860546\nv 0.015792 0.077341 -0.004038\nvn 1.927921 1.894196 0.434851\nv 0.049199 0.078983 -0.004184\nvn -1.777118 1.432230 3.278081\nv 0.024230 0.087828 -0.004137\nvn 3.988838 -1.101205 2.779116\nv 0.001620 0.089870 -0.004242\nvn -1.799244 1.130702 4.518203\nv 0.028314 0.092252 -0.004185\nvn 1.776755 -2.415189 -5.125694\nv 0.078017 0.092269 -0.004303\nvn -1.499762 -1.753268 -3.242460\nv 0.073000 0.092832 -0.004272\nvn -2.081835 5.570572 0.667235\nv -0.032813 0.094620 -0.002931\nvn 2.331071 -1.385764 5.333261\nv 0.045101 0.099534 -0.004333\nvn 3.684789 -0.935974 3.240801\nv 0.003890 0.099497 -0.004400\nvn 3.669859 0.915975 1.156116\nv -0.045549 0.099975 -0.004105\nvn 6.601125 0.459647 2.193044\nv -0.045659 0.101382 -0.004199\nvn 3.786124 -0.881807 3.132376\nv 0.003846 0.101041 -0.003960\nvn 3.776128 0.013071 1.293095\nv -0.045640 0.102784 -0.004277\nvn 2.732122 -2.424599 7.084240\nv 0.046663 0.103222 -0.004174\nvn -2.638917 0.978357 5.293951\nv 0.032374 0.103465 -0.004318\nvn 1.854281 -1.131818 3.326633\nv 0.049314 0.105179 -0.004375\nvn 2.811432 -0.300434 0.956162\nv -0.045529 0.105479 -0.004068\nvn 2.805323 -1.988224 4.901478\nv 0.050794 0.107558 -0.004352\nvn -3.026088 2.588293 0.129604\nv -0.081024 0.109089 -0.004138\nvn -2.216151 0.654774 3.261034\nv 0.033833 0.109464 -0.004382\nvn -3.909652 1.721156 2.577368\nv -0.019645 0.110265 -0.004253\nvn -4.122508 0.979666 5.558768\nv 0.033952 0.111787 -0.004655\nvn 1.942651 -0.868556 3.373139\nv 0.053055 0.111538 -0.004193\nvn 2.193501 1.196677 1.261069\nv 0.078957 0.114365 -0.004274\nvn -3.113736 2.329419 3.102019\nv -0.017586 0.114449 -0.004097\nvn 2.109938 -0.666045 3.307421\nv 0.054681 0.114941 -0.004244\nvn 3.699813 -1.423498 3.033738\nv 0.007756 0.115342 -0.004050\nvn -4.105035 1.211918 5.506092\nv 0.035654 0.115527 -0.004120\nvn 1.582816 2.628494 2.544088\nv 0.074766 0.118194 -0.004002\nvn 2.851783 -0.892906 2.603564\nv 0.009534 0.119371 -0.004136\nvn 2.840652 -1.520810 2.326922\nv -0.037685 0.120972 -0.004085\nvn 2.195348 -0.913577 1.827814\nv -0.035787 0.125052 -0.004204\nvn -2.491505 -0.842155 3.002935\nv 0.036116 0.127532 -0.004293\nvn 3.840083 0.342807 5.829687\nv 0.054782 0.127713 -0.004253\nvn 2.628022 0.560441 4.175918\nv 0.054733 0.129550 -0.004299\nvn 1.850325 -1.456453 3.225401\nv 0.017135 0.130839 -0.004262\nvn -1.551924 2.111365 1.391650\nv -0.058485 0.131788 -0.004188\nvn 4.022291 -0.238986 5.707945\nv -0.032499 0.135133 -0.004329\nvn -2.653700 2.470535 3.848223\nv -0.002876 0.135041 -0.004162\nvn 1.705253 1.250050 4.515942\nv 0.051173 0.135790 -0.004147\nvn -3.479008 3.246217 3.574475\nv -0.052159 0.137052 -0.003658\nvn 2.264408 1.242822 5.389601\nv 0.050693 0.137345 -0.004288\nvn -2.034612 2.424453 4.996361\nv -0.001318 0.137625 -0.004344\nvn 4.018950 0.434306 6.880560\nv -0.032600 0.139443 -0.004320\nvn 1.661290 1.551575 4.423768\nv 0.049055 0.139531 -0.004263\nvn -2.210813 -2.606365 0.199365\nv -0.100803 0.140076 -0.004141\nvn 0.474632 -3.929266 2.846330\nv -0.093424 0.141039 -0.004046\nvn -1.058574 2.216195 4.346532\nv 0.004572 0.141509 -0.004433\nvn 1.696319 1.538707 4.436187\nv 0.046798 0.141431 -0.004164\nvn -1.588531 0.678106 -2.294049\nv -0.101387 0.142911 -0.004184\nvn -3.167250 -1.899882 5.008415\nv -0.048949 0.143367 -0.004239\nvn -0.467623 2.095984 4.494115\nv 0.009017 0.143193 -0.004242\nvn -0.909077 2.566605 6.398775\nv 0.010792 0.143132 -0.004200\nvn 1.224513 2.451461 5.294320\nv 0.044531 0.143292 -0.004219\nvn 0.013253 -1.416081 1.133580\nv -0.050223 0.144388 -0.004098\nvn 2.247465 -1.733121 2.455389\nv -0.031954 0.144554 -0.004273\nvn 0.834189 1.868224 3.408989\nv 0.043109 0.143804 -0.004283\nvn 1.206103 -3.736243 0.410143\nv -0.063841 0.144324 -0.004099\nvn -1.107901 2.092320 5.482596\nv 0.012821 0.145113 -0.004338\nvn -2.143870 1.683228 -4.146523\nv -0.097294 0.146206 -0.004197\nvn -0.625698 1.886427 4.574148\nv 0.014698 0.145381 -0.004204\nvn -0.894617 1.800304 5.629887\nv 0.020969 0.147379 -0.004476\nvn 1.015705 2.993486 7.253378\nv 0.036341 0.147718 -0.004266\nvn 0.952392 -1.853343 3.225782\nv -0.023944 0.148597 -0.004130\nvn 1.683550 3.937728 -1.472904\nv -0.090769 0.150142 -0.004213\nvn -0.635410 4.295229 2.223540\nv -0.085539 0.150314 -0.003368\nvn 0.958376 5.066555 2.372039\nv -0.091869 0.150402 -0.003368\nvn 3.097349 0.120969 4.756685\nv -0.024095 0.154822 -0.004205\nvn 3.181092 1.820073 5.112557\nv -0.020638 0.159053 -0.004224\nvn 1.883634 2.634122 3.797823\nv -0.022224 0.159792 -0.004104\nvn 2.315031 0.945282 5.353919\nv -0.024343 0.163243 -0.004305\nvn 1.014718 0.653197 4.730656\nv -0.023077 0.165249 -0.004471\nvn 0.778467 -1.858898 4.547032\nv -0.087735 0.166179 -0.004183\nvn -0.443930 -2.580352 2.988469\nv -0.084241 0.166257 -0.004124\nvn -0.871996 -5.162513 4.471116\nv -0.082405 0.166037 -0.004062\nvn -0.278247 -3.863202 5.692246\nv -0.085981 0.166556 -0.004144\nvn 2.068105 -0.261186 6.656238\nv -0.026354 0.168794 -0.004232\nvn 0.380710 6.432673 0.403492\nv -0.074141 0.173990 -0.002924\nvn 1.405393 1.588872 -2.203494\nv -0.080661 0.176434 -0.004198\nvn 1.532405 2.954868 -3.642123\nv -0.082647 0.178056 -0.004166\nvn 0.704533 2.403119 -3.113030\nv -0.084318 0.178472 -0.004275\nvn -0.252591 2.895934 0.640139\nv -0.045670 0.177722 -0.003973\nvn -0.129903 4.430777 2.289690\nv -0.062520 0.179522 -0.004283\nvn -0.125745 4.387857 2.380056\nv -0.060704 0.179529 -0.004278\nvn 0.133760 6.826379 4.082889\nv -0.058400 0.179609 -0.004289\nvn 3.577871 -1.312863 4.484836\nv -0.030279 0.183094 -0.004191\nvn 1.254043 -3.534987 -1.358121\nv 0.057402 0.053310 -0.003963\nvn -2.683422 -5.069338 -0.592047\nv 0.034536 0.054577 -0.002869\nvn -0.221688 -6.826553 1.150688\nv 0.064339 0.054239 -0.002788\nvn 2.290721 -2.670904 1.502526\nv 0.071686 0.055023 -0.003683\nvn 3.331095 -6.438704 1.076519\nv 0.032560 0.056040 -0.002989\nvn -2.543099 -7.192146 -0.994087\nv -0.032873 0.055089 -0.002731\nvn -2.016865 -6.536676 1.365058\nv 0.045994 0.055561 -0.002892\nvn 7.115480 -5.901844 5.549847\nv 0.072031 0.056126 -0.002951\nvn 0.860149 -6.739005 1.568784\nv 0.042791 0.055782 -0.003087\nvn -3.825160 -4.595191 0.417520\nv -0.079142 0.060895 -0.003444\nvn -0.031426 -0.079814 0.092077\nv 0.036389 0.060430 -0.002803\nvn 3.982940 -0.963042 -0.981095\nv 0.038881 0.064198 -0.002930\nvn 6.617239 1.206477 -0.423979\nv 0.074392 0.064379 -0.002953\nvn 3.150912 -2.273185 1.234477\nv 0.040263 0.066124 -0.003055\nvn 5.493221 1.521662 -1.492175\nv 0.073951 0.065935 -0.002817\nvn 1.858404 -2.179370 4.891657\nv 0.042632 0.067548 -0.004214\nvn 4.431798 -2.947012 1.336549\nv 0.040912 0.067820 -0.002953\nvn 3.250053 1.251389 -1.748193\nv 0.072823 0.068380 -0.003503\nvn -0.218497 -2.186941 3.652916\nv 0.045768 0.069623 -0.004083\nvn -3.404337 2.189348 0.518733\nv 0.046594 0.070278 -0.003349\nvn 1.295701 -1.328579 1.568789\nv 0.044699 0.069312 -0.004089\nvn 4.247342 -2.797900 3.777849\nv 0.042453 0.070183 -0.002962\nvn 3.406153 6.093391 -3.780866\nv 0.056050 0.073753 -0.002841\nvn 6.073476 5.768910 -5.117067\nv 0.052500 0.076074 -0.003024\nvn 3.812210 5.360767 -3.550605\nv 0.050635 0.078252 -0.002924\nvn 3.460492 -0.744437 1.843618\nv -0.002051 0.079325 -0.004080\nvn 0.782997 4.340029 2.179438\nv 0.044496 0.079267 -0.003432\nvn 3.805664 7.235292 3.329010\nv 0.042607 0.079702 -0.002913\nvn 5.903229 5.474833 5.617350\nv 0.040371 0.081922 -0.003167\nvn 3.286571 -1.224037 1.884930\nv -0.001554 0.082270 -0.003376\nvn 0.000000 0.000000 0.000000\nv 0.019777 0.082825 -0.004413\nvn -3.440938 5.237297 1.867926\nv 0.020568 0.082550 -0.002804\nvn 2.477295 -0.779029 1.490040\nv -0.000252 0.085204 -0.003963\nvn 2.590228 0.916499 4.102431\nv 0.039384 0.085587 -0.003971\nvn -7.939590 -0.284484 0.534024\nv -0.087342 0.089614 -0.002900\nvn -1.084699 1.054265 2.554444\nv 0.025905 0.090175 -0.004189\nvn 8.575031 -2.186539 6.388371\nv 0.001055 0.091670 -0.002955\nvn 2.425860 -0.465725 1.684285\nv 0.001881 0.091225 -0.004202\nvn -1.043358 -1.747744 -3.383167\nv 0.074280 0.090921 -0.003754\nvn -3.781219 1.256632 -0.183794\nv -0.086927 0.092975 -0.004138\nvn 1.768697 -1.500418 -3.203630\nv 0.079365 0.092781 -0.004023\nvn 2.167585 -0.918531 6.570970\nv 0.041004 0.093895 -0.004163\nvn -2.381729 4.276590 0.855909\nv -0.032015 0.095015 -0.003110\nvn -2.950410 4.930606 1.556283\nv -0.030685 0.095810 -0.002873\nvn -0.986912 0.142040 2.695205\nv 0.030277 0.095753 -0.004019\nvn 1.521550 -0.746115 4.693615\nv 0.041275 0.095725 -0.004007\nvn 1.364547 -0.929316 4.704379\nv 0.042779 0.097478 -0.004074\nvn -3.102684 3.625674 1.453404\nv -0.028562 0.097221 -0.003010\nvn -1.507152 -2.514136 -4.959182\nv 0.066055 0.098214 -0.004102\nvn -1.195708 -1.238057 -1.926875\nv 0.064661 0.098382 -0.003954\nvn 7.853547 -1.928148 5.848277\nv 0.002922 0.099604 -0.003188\nvn -5.110704 4.916158 3.628288\nv -0.024728 0.101381 -0.003209\nvn -2.387958 0.658155 1.649842\nv 0.064757 0.102805 -0.003674\nvn -6.779018 1.916399 3.639480\nv 0.065682 0.103831 -0.002944\nvn -2.663096 0.827660 4.140108\nv 0.033848 0.108302 -0.004081\nvn 3.924204 -1.316130 2.799335\nv 0.005907 0.109075 -0.004036\nvn 3.894210 -1.079720 2.915356\nv 0.006121 0.110068 -0.003821\nvn -3.527877 0.836725 5.959264\nv 0.034825 0.109295 -0.003683\nvn -6.650887 0.938448 1.899958\nv 0.066483 0.111675 -0.003004\nvn 4.152865 -1.917790 1.985250\nv -0.043188 0.112211 -0.003559\nvn -6.755291 3.907044 1.206765\nv -0.078502 0.113308 -0.003019\nvn -3.310971 1.866672 3.152867\nv -0.018212 0.113311 -0.003850\nvn 2.988623 -1.229578 6.189104\nv 0.052574 0.113673 -0.003522\nvn 6.219191 -3.446220 3.640705\nv -0.042591 0.113822 -0.003141\nvn -5.809228 2.080491 3.104752\nv 0.066809 0.113460 -0.003114\nvn 4.247945 3.992079 3.302621\nv 0.077728 0.115005 -0.003091\nvn 3.248179 -0.861177 5.953857\nv 0.054355 0.117658 -0.003648\nvn 3.177467 3.627608 3.444110\nv 0.075792 0.116969 -0.003372\nvn -4.309280 2.714942 4.712712\nv -0.014511 0.117524 -0.002837\nvn 1.423049 -0.469325 2.427077\nv 0.054894 0.117290 -0.003993\nvn -2.812500 1.593980 2.345891\nv -0.015335 0.118028 -0.004188\nvn -1.952362 0.290312 2.243718\nv 0.035877 0.118350 -0.004443\nvn 1.236791 2.757893 2.615924\nv 0.073895 0.118547 -0.003937\nvn -3.730541 2.957124 1.200863\nv -0.073947 0.119148 -0.003084\nvn 0.976703 4.596547 4.973893\nv 0.072239 0.118933 -0.003608\nvn -4.775675 2.884215 5.678743\nv -0.012492 0.121283 -0.003689\nvn 3.656805 -1.673458 4.396166\nv 0.010460 0.123367 -0.003420\nvn 2.204968 -0.948732 1.766653\nv -0.036909 0.123804 -0.003341\nvn 3.456002 0.393824 7.158759\nv 0.054230 0.123300 -0.003590\nvn -2.796332 1.332831 2.503528\nv -0.011544 0.124033 -0.004093\nvn 2.750376 0.383967 4.150174\nv 0.054713 0.125525 -0.004081\nvn -2.943452 2.101475 3.339144\nv -0.010290 0.125091 -0.003373\nvn 6.325326 -2.006194 5.975629\nv -0.036418 0.125317 -0.003330\nvn 1.497314 -1.064185 2.371644\nv 0.013285 0.127165 -0.004067\nvn 1.968787 -2.348540 3.926101\nv 0.015227 0.129119 -0.003963\nvn -3.347057 6.549032 2.772845\nv -0.061917 0.128859 -0.002974\nvn 2.454162 -2.086638 5.002233\nv 0.015924 0.129834 -0.003926\nvn -2.749631 4.665306 2.470661\nv -0.060151 0.129569 -0.002903\nvn 2.737826 -0.781103 2.781242\nv -0.033851 0.130857 -0.003963\nvn -2.062800 1.961470 3.993787\nv -0.006524 0.130749 -0.003562\nvn -2.091096 -1.689932 4.188634\nv 0.034958 0.131798 -0.003731\nvn -1.986381 2.472194 3.833811\nv -0.005874 0.131939 -0.004014\nvn 2.822376 1.152799 7.364886\nv 0.052518 0.131227 -0.003609\nvn 0.707207 -1.951278 3.347401\nv 0.018969 0.132574 -0.004085\nvn -2.401270 -2.482637 4.871983\nv 0.033896 0.132653 -0.003982\nvn 2.343348 0.944487 4.302958\nv 0.053080 0.133172 -0.004199\nvn -1.591613 -2.896101 6.110386\nv 0.032667 0.133980 -0.003722\nvn 1.028642 -1.343446 3.608281\nv 0.020259 0.133832 -0.003887\nvn -1.863300 1.744007 1.541188\nv -0.055024 0.133961 -0.003963\nvn -0.841072 0.940790 0.633240\nv -0.003673 0.134275 -0.004354\nvn -0.026283 -1.674196 4.653778\nv 0.023160 0.134336 -0.004055\nvn 0.042623 -2.360412 5.453587\nv 0.024784 0.134454 -0.004067\nvn 0.093078 -2.263973 4.433756\nv 0.027010 0.134445 -0.004086\nvn -0.537900 -1.550771 3.641150\nv 0.029577 0.134450 -0.004167\nvn -0.877574 -1.996230 4.480553\nv 0.030102 0.134450 -0.004066\nvn 1.978856 0.053671 3.456253\nv -0.033075 0.135355 -0.003934\nvn 3.334885 0.174946 6.132206\nv -0.033262 0.137273 -0.003893\nvn -0.624467 1.024521 2.744987\nv 0.000452 0.138148 -0.004075\nvn -3.833111 2.990360 4.914460\nv -0.050016 0.139002 -0.003479\nvn 0.876434 -4.806704 4.724527\nv -0.097868 0.139946 -0.003740\nvn -1.563137 2.141557 4.190397\nv 0.002310 0.139875 -0.004045\nvn 0.119303 -1.856017 2.226033\nv -0.095444 0.140614 -0.004064\nvn -0.547492 -8.147219 4.386929\nv -0.093842 0.141697 -0.002958\nvn -0.501153 -4.877008 0.807389\nv -0.086623 0.140325 -0.004138\nvn 1.306202 -5.836736 -0.359088\nv -0.076035 0.140826 -0.003144\nvn -0.896825 1.718021 3.489656\nv 0.005494 0.140902 -0.003845\nvn -2.434318 0.620598 3.110358\nv -0.049200 0.141864 -0.004093\nvn -1.104223 2.249827 4.324471\nv 0.006314 0.141739 -0.004107\nvn 3.495992 -2.504502 1.877518\nv -0.032981 0.143696 -0.003277\nvn -2.838461 3.390722 -5.255336\nv -0.099782 0.145259 -0.003090\nvn -0.821353 -5.617733 3.640000\nv -0.050273 0.145074 -0.003059\nvn 1.497378 2.252737 5.297120\nv 0.040432 0.144778 -0.003701\nvn -0.324446 -7.403349 2.613037\nv -0.052393 0.145620 -0.002904\nvn 4.295411 -2.523712 3.587456\nv -0.032622 0.145086 -0.002999\nvn 1.411990 2.148674 4.271248\nv 0.040777 0.145358 -0.004132\nvn -2.391623 1.577699 -4.087135\nv -0.098267 0.145348 -0.003892\nvn -0.209376 1.164630 2.655009\nv 0.016694 0.146087 -0.004094\nvn -0.029018 2.301151 5.536744\nv 0.019077 0.146029 -0.004110\nvn -0.269352 1.331774 3.732464\nv 0.020477 0.146045 -0.004145\nvn -1.110049 2.337259 7.529658\nv 0.022711 0.147760 -0.004188\nvn 0.033507 1.236030 3.786406\nv 0.024765 0.147881 -0.004094\nvn -0.007155 2.226198 4.426532\nv 0.033165 0.148100 -0.004159\nvn 0.264872 1.598960 3.597988\nv 0.034477 0.147967 -0.004098\nvn -0.261086 4.172326 -3.687433\nv -0.081941 0.149293 -0.003327\nvn -0.559601 2.557293 -2.827013\nv -0.094570 0.149763 -0.003858\nvn 4.801641 0.563070 7.033969\nv -0.024565 0.153149 -0.002893\nvn -2.420510 5.474436 0.406349\nv -0.064817 0.153867 -0.002879\nvn 2.159307 -1.891335 3.764465\nv -0.024058 0.156236 -0.003957\nvn 0.246853 2.511894 0.930813\nv -0.056299 0.156051 -0.003866\nvn -2.770959 0.190746 2.500565\nv -0.051779 0.158992 -0.003178\nvn 2.660176 2.445276 4.730020\nv -0.023362 0.160354 -0.003829\nvn 2.576310 1.569547 3.972721\nv -0.023864 0.161580 -0.004085\nvn -1.109207 -6.893958 -0.419139\nv -0.058450 0.161559 -0.003069\nvn -0.953232 -4.879816 -0.060023\nv -0.067776 0.163203 -0.003162\nvn 1.048952 -1.170800 3.673868\nv -0.089213 0.164773 -0.004154\nvn 1.405772 0.365287 5.779795\nv -0.024682 0.164706 -0.004232\nvn -2.176845 -7.603927 0.732922\nv -0.072317 0.164367 -0.003153\nvn 0.094241 -3.379067 3.691952\nv -0.091690 0.165242 -0.003495\nvn 0.994029 0.439097 3.802851\nv -0.026726 0.167152 -0.004175\nvn 1.553152 -0.488406 4.718785\nv -0.026102 0.170800 -0.004174\nvn -2.215689 -3.854896 3.932550\nv -0.097558 0.171151 -0.003216\nvn -3.104935 -2.615799 2.573998\nv -0.098977 0.171605 -0.003695\nvn 2.864799 -1.362536 6.125439\nv -0.027141 0.171337 -0.003712\nvn 2.392612 -1.706829 5.078679\nv -0.025704 0.172288 -0.004075\nvn 3.086226 -1.206823 3.183987\nv -0.025074 0.173335 -0.003804\nvn 0.546503 2.859978 -2.664752\nv -0.091853 0.175462 -0.003717\nvn 3.415697 3.963011 5.491366\nv -0.032528 0.174873 -0.002794\nvn 0.624436 3.587476 3.525526\nv -0.026845 0.174727 -0.003138\nvn 3.345861 -1.037455 3.493111\nv -0.032327 0.176549 -0.003336\nvn 3.226654 4.703671 -4.014964\nv -0.081830 0.178762 -0.002890\nvn 3.879913 -0.897782 3.901775\nv -0.031229 0.178681 -0.003688\nvn -3.872544 4.491955 -4.438313\nv -0.088409 0.178844 -0.003296\nvn -0.500720 4.648737 1.753497\nv -0.066056 0.178567 -0.002781\nvn 0.031868 6.737481 1.659125\nv -0.054432 0.179009 -0.002974\nvn 2.869080 2.218503 4.655478\nv -0.030683 0.184740 -0.002935\nvn -0.569695 -6.961398 0.081012\nv -0.062123 0.053304 -0.003088\nvn -0.326697 -5.617959 1.727057\nv 0.066141 0.053948 -0.003003\nvn 2.375760 -6.522050 0.765492\nv -0.020901 0.054239 -0.002865\nvn -0.741660 -2.817868 0.701256\nv 0.046850 0.055125 -0.003878\nvn -1.895426 -6.521216 1.655346\nv 0.048512 0.054858 -0.003015\nvn 0.456417 -5.979395 -0.124741\nv -0.052673 0.055398 -0.003788\nvn 0.000000 0.000000 -0.000000\nv 0.040515 0.055276 -0.003752\nvn 1.078482 -5.782984 1.094071\nv 0.040698 0.055473 -0.003024\nvn -0.911269 -4.639332 1.039269\nv 0.044773 0.056076 -0.002870\nvn 1.708357 -6.585494 -0.867645\nv -0.048460 0.055628 -0.002730\nvn 0.130554 -4.902076 -0.104974\nv -0.042675 0.055708 -0.003100\nvn 0.685386 -4.885720 -0.686899\nv -0.038453 0.056412 -0.003159\nvn -1.751172 -4.063902 0.279972\nv 0.034026 0.056092 -0.002743\nvn 3.886597 -4.512650 0.521182\nv -0.015245 0.058429 -0.002787\nvn -5.241125 -5.924973 0.770430\nv -0.076169 0.058078 -0.002983\nvn -3.315315 -1.565962 1.588351\nv 0.019351 0.060669 -0.003330\nvn 0.098379 1.587541 -2.317724\nv 0.039141 0.061138 -0.003932\nvn 2.065857 -1.106099 1.027250\nv 0.037228 0.061796 -0.002629\nvn -1.905680 2.404865 -3.726304\nv 0.040512 0.062588 -0.003706\nvn -2.989395 2.633968 -4.164964\nv 0.042644 0.064452 -0.003673\nvn -7.048807 -2.904679 1.687136\nv 0.017323 0.066436 -0.002933\nvn -2.771263 1.094774 1.358534\nv 0.047922 0.072386 -0.002795\nvn -4.896696 -0.967194 -0.013702\nv -0.085140 0.070925 -0.003788\nvn 2.512475 4.144032 -3.584946\nv 0.058150 0.072435 -0.003065\nvn 2.421406 4.273078 -0.206556\nv 0.070197 0.072131 -0.002745\nvn 5.967406 -2.439003 2.616490\nv -0.005169 0.072231 -0.003009\nvn 0.685964 0.507807 -0.677689\nv 0.057227 0.072492 -0.003788\nvn -0.926598 -1.222122 5.759022\nv 0.046227 0.074386 -0.002964\nvn -6.572473 1.028966 -1.982382\nv 0.015189 0.076011 -0.003072\nvn 0.544778 -3.110972 2.804944\nv 0.046116 0.075535 -0.002660\nvn 7.351170 -2.222555 4.629427\nv -0.003101 0.077919 -0.002870\nvn -1.129027 0.027752 -0.546164\nv 0.016059 0.078020 -0.003840\nvn -4.932386 -0.133074 0.055889\nv -0.086931 0.079938 -0.003437\nvn -3.337511 4.807463 -0.149886\nv 0.018986 0.081561 -0.002858\nvn -1.291940 1.874301 1.894741\nv 0.021304 0.083455 -0.003358\nvn -1.328094 1.334089 2.303184\nv 0.023290 0.085887 -0.003777\nvn -4.589101 4.352475 7.581060\nv 0.024648 0.086077 -0.003039\nvn -2.004301 1.817770 4.192872\nv 0.025067 0.087729 -0.003618\nvn 4.695613 -1.683349 3.307888\nv 0.000516 0.088209 -0.003438\nvn -2.162986 2.364038 6.188739\nv 0.026961 0.089640 -0.003621\nvn 1.578179 -0.124432 3.655144\nv 0.039064 0.089493 -0.004018\nvn -1.619568 -2.848679 -6.099790\nv 0.074387 0.089917 -0.003264\nvn 0.209003 -2.630418 -5.336002\nv 0.076072 0.089702 -0.003425\nvn -2.096609 2.144789 7.369678\nv 0.029116 0.091431 -0.003637\nvn 1.224136 -1.963722 -4.361623\nv 0.077908 0.091009 -0.003814\nvn 4.666368 -3.209372 -6.874317\nv 0.080044 0.091834 -0.003077\nvn 2.064280 -0.176379 6.626716\nv 0.038238 0.092047 -0.003594\nvn -1.279996 0.878555 3.682993\nv 0.029402 0.092975 -0.003946\nvn -1.605790 1.049333 6.681858\nv 0.030667 0.093581 -0.003689\nvn -0.023248 3.947650 0.430048\nv -0.036311 0.093864 -0.003044\nvn -1.513336 -1.231750 -2.272024\nv 0.071170 0.093636 -0.003556\nvn 1.245708 7.853374 0.766819\nv -0.038569 0.094117 -0.003024\nvn -1.412880 6.774924 0.718418\nv -0.034377 0.094089 -0.002908\nvn -1.540195 0.233686 5.639366\nv 0.031137 0.095453 -0.003740\nvn 1.810715 -1.271914 -2.191867\nv 0.080327 0.093850 -0.003790\nvn 4.607959 -1.265727 -3.489339\nv 0.081914 0.095692 -0.002930\nvn 3.046531 -0.637104 2.505502\nv 0.002419 0.096192 -0.003611\nvn -2.951470 -3.273458 -5.389162\nv 0.069670 0.095531 -0.003602\nvn 1.318553 -0.847776 4.735143\nv 0.040618 0.096459 -0.003681\nvn -1.434141 -2.422853 -4.968843\nv 0.065870 0.097180 -0.003771\nvn -6.028475 -1.710869 -2.609643\nv 0.064331 0.097717 -0.002941\nvn 5.862750 -1.066659 -3.362762\nv 0.082260 0.097455 -0.003080\nvn -0.227530 -2.026895 -3.349272\nv 0.067435 0.097299 -0.003755\nvn 1.048175 -0.634761 3.802903\nv 0.042177 0.098225 -0.003796\nvn -4.685272 4.290247 2.802813\nv -0.026360 0.099424 -0.003104\nvn -3.166755 0.706789 7.277373\nv 0.032620 0.099705 -0.003626\nvn -5.651864 1.146687 0.780820\nv 0.064381 0.099434 -0.002947\nvn 1.353404 -1.070420 4.683611\nv 0.044050 0.100334 -0.003788\nvn 2.000392 -1.250822 5.507675\nv 0.044595 0.101805 -0.003686\nvn -6.263298 1.221578 2.241060\nv 0.064749 0.101348 -0.003250\nvn -1.731667 0.555250 3.552716\nv 0.032027 0.101725 -0.004123\nvn -1.910579 0.619422 4.571424\nv 0.033069 0.101810 -0.003687\nvn 3.083062 -0.758451 2.424469\nv 0.004096 0.103808 -0.003359\nvn 8.563214 -0.353799 2.669716\nv -0.045947 0.103869 -0.003107\nvn 2.135542 -1.694541 5.299965\nv 0.047846 0.105679 -0.003545\nvn 6.768264 1.087256 -1.115786\nv 0.082043 0.106135 -0.002757\nvn -6.694097 4.049042 1.060349\nv -0.082097 0.107532 -0.002728\nvn 5.359421 -1.853347 1.899254\nv -0.045106 0.107808 -0.003552\nvn 1.585784 -1.235925 3.441204\nv 0.049808 0.108032 -0.003656\nvn -3.069546 0.508063 6.230306\nv 0.034625 0.107816 -0.003562\nvn 2.845409 -1.871395 7.197333\nv 0.050439 0.109759 -0.003461\nvn -4.830810 0.437777 1.150967\nv 0.066214 0.109575 -0.002952\nvn 2.473214 -1.279374 5.300702\nv 0.052041 0.111582 -0.003653\nvn -3.162603 0.662816 5.049418\nv 0.035135 0.111473 -0.003776\nvn 3.518193 -1.278481 3.294628\nv 0.006590 0.113942 -0.003311\nvn -3.260630 2.132024 3.111076\nv -0.016369 0.115209 -0.003484\nvn 2.706040 -0.858856 5.253205\nv 0.053941 0.115952 -0.003663\nvn -5.999437 3.594254 5.475486\nv 0.067973 0.115627 -0.003124\nvn -2.978286 0.697241 5.139572\nv 0.036884 0.115909 -0.003300\nvn 5.440703 -2.158007 6.592555\nv 0.006882 0.115897 -0.002873\nvn 5.314182 -2.837771 3.556094\nv -0.040707 0.117512 -0.002747\nvn -4.047171 0.702707 5.614708\nv 0.036765 0.117853 -0.003687\nvn -2.110484 1.798132 2.812085\nv 0.068583 0.117126 -0.003302\nvn -2.608661 5.326262 6.574054\nv 0.070017 0.117619 -0.002828\nvn -0.252500 2.481072 3.106281\nv 0.070567 0.119096 -0.003796\nvn 3.478183 -2.124136 2.867039\nv -0.038954 0.119732 -0.003467\nvn -2.858495 2.497966 3.183790\nv -0.014042 0.119113 -0.003516\nvn -3.730410 3.722164 5.889980\nv -0.012724 0.119618 -0.002991\nvn 4.935432 -1.839332 5.910941\nv 0.008864 0.121268 -0.003101\nvn -3.294282 4.771595 1.464572\nv -0.071674 0.120915 -0.003134\nvn -2.534631 0.022216 3.021197\nv 0.037277 0.121814 -0.003762\nvn -2.029859 1.082213 1.917767\nv -0.012009 0.122469 -0.003797\nvn -4.921269 2.118594 5.845315\nv -0.010837 0.123218 -0.003047\nvn -3.507259 0.251156 4.825220\nv 0.037452 0.123250 -0.003849\nvn -2.698590 -0.401997 4.162169\nv 0.037312 0.125437 -0.003852\nvn -2.542036 4.023693 1.413029\nv -0.067555 0.124775 -0.003046\nvn 3.259716 -1.489134 4.768988\nv 0.010854 0.125428 -0.003138\nvn 3.205140 -2.349115 5.719469\nv 0.012591 0.127432 -0.003506\nvn -3.450047 2.676975 5.409760\nv -0.008593 0.127123 -0.003556\nvn 2.142663 0.177036 2.161928\nv -0.035173 0.127484 -0.003788\nvn -4.094761 -1.294983 6.697208\nv 0.036911 0.127740 -0.003645\nvn -1.926772 -0.666279 3.407414\nv 0.036539 0.129484 -0.003487\nvn 3.753930 -1.279077 4.475702\nv -0.034882 0.129181 -0.003508\nvn -3.369134 2.090977 5.681393\nv -0.006974 0.129492 -0.003401\nvn 2.276202 0.704282 5.454890\nv 0.053669 0.129667 -0.003736\nvn -2.087334 2.819624 1.910917\nv -0.059498 0.130461 -0.003612\nvn 1.958741 -1.641882 4.274442\nv 0.016462 0.131627 -0.003552\nvn -2.996522 -1.697832 7.084503\nv 0.036551 0.131386 -0.003138\nvn 4.311845 -0.936612 5.368784\nv -0.034651 0.131572 -0.003108\nvn -2.253178 2.917999 5.893878\nv -0.004869 0.131503 -0.003401\nvn -2.488989 3.619348 2.377961\nv -0.055996 0.132711 -0.003049\nvn 2.421890 -0.450173 3.106115\nv -0.033563 0.132875 -0.003788\nvn 1.524837 0.731381 3.610589\nv 0.052046 0.132991 -0.003656\nvn 1.373759 -2.437145 6.280084\nv 0.018734 0.133421 -0.003626\nvn -1.951753 -1.955904 5.295151\nv 0.034304 0.133502 -0.003404\nvn -3.180546 2.864393 6.690020\nv -0.002927 0.133322 -0.003336\nvn 1.396954 -2.101752 6.500784\nv 0.020933 0.135143 -0.003608\nvn -0.793568 -1.665761 3.529121\nv 0.031152 0.134275 -0.003885\nvn 0.264936 -1.323530 4.766098\nv 0.022426 0.135660 -0.003758\nvn -0.086198 -1.375450 5.830016\nv 0.024296 0.135679 -0.003783\nvn -0.192401 -1.945579 6.692905\nv 0.026450 0.135589 -0.003609\nvn -0.139083 -2.205858 5.546393\nv 0.028971 0.135537 -0.003725\nvn -1.136839 -2.793044 8.441700\nv 0.030520 0.135468 -0.003581\nvn 1.206008 1.103435 3.649541\nv 0.050226 0.135052 -0.003614\nvn -1.316973 1.332604 3.463578\nv -0.000951 0.136768 -0.003820\nvn -1.870050 2.601508 7.278193\nv 0.001134 0.137277 -0.003626\nvn 1.355187 0.959827 3.609771\nv 0.049410 0.138008 -0.003900\nvn -1.623244 1.434469 4.480867\nv 0.001577 0.138825 -0.003904\nvn 1.401703 1.445420 4.542532\nv 0.047790 0.139025 -0.003618\nvn -0.481759 -4.221708 2.299818\nv -0.099602 0.139903 -0.003537\nvn 2.503486 0.325756 5.434754\nv -0.034636 0.139764 -0.003317\nvn -1.175411 1.901567 5.527279\nv 0.003066 0.139087 -0.003528\nvn -1.179363 2.455564 6.413255\nv 0.004910 0.139614 -0.003443\nvn 1.237230 -4.917267 4.726304\nv -0.096079 0.141509 -0.003032\nvn -3.880837 2.007897 6.612331\nv -0.048473 0.141308 -0.003396\nvn 1.702334 2.160774 7.466414\nv 0.046305 0.139488 -0.003429\nvn 2.832618 -0.501946 5.054607\nv -0.034406 0.141475 -0.003635\nvn -1.082478 2.629731 6.361490\nv 0.007193 0.141153 -0.003593\nvn -0.865351 -5.648242 1.292104\nv -0.091993 0.141406 -0.003193\nvn 0.941725 -5.894475 -0.125158\nv -0.074092 0.141303 -0.002758\nvn 0.833673 -5.912619 0.008099\nv -0.072142 0.141399 -0.003219\nvn -3.283703 -4.813822 -0.426628\nv -0.101874 0.141193 -0.002788\nvn -0.355190 2.064415 5.610239\nv 0.009111 0.141526 -0.003555\nvn 0.994683 1.222356 3.663319\nv 0.045677 0.141479 -0.003806\nvn -3.788620 1.878272 -4.683703\nv -0.101721 0.143436 -0.003693\nvn 3.264985 -5.312587 3.973316\nv -0.034341 0.142992 -0.002892\nvn -1.569895 -0.484531 3.306676\nv -0.047884 0.143282 -0.003699\nvn -0.869218 1.832595 5.630878\nv 0.012644 0.142933 -0.003686\nvn 2.062676 3.063930 7.035517\nv 0.042447 0.143022 -0.003588\nvn 0.697517 0.976555 2.748934\nv 0.043927 0.142675 -0.003856\nvn -1.015561 2.340159 7.532007\nv 0.014805 0.144367 -0.003863\nvn -0.069837 -4.850003 4.286022\nv -0.028836 0.145539 -0.003196\nvn -0.147219 1.928228 5.596160\nv 0.017195 0.145156 -0.003760\nvn -0.165906 1.708653 5.712835\nv 0.018579 0.144621 -0.003495\nvn -0.395959 2.119928 6.610246\nv 0.020912 0.144819 -0.003611\nvn 1.218291 2.516499 6.329963\nv 0.038793 0.144970 -0.003383\nvn -2.726404 2.274016 -4.806721\nv -0.097821 0.147224 -0.003349\nvn -0.575352 1.646278 7.749335\nv 0.022692 0.145190 -0.003562\nvn 0.633701 2.364233 7.553908\nv 0.036267 0.145096 -0.003387\nvn 0.323963 0.923525 2.776605\nv 0.036424 0.146350 -0.003858\nvn 0.313645 1.788273 4.621926\nv 0.038080 0.146209 -0.003769\nvn -0.308149 0.698524 2.882321\nv 0.023102 0.146473 -0.003773\nvn 0.559890 2.057195 6.652482\nv 0.034553 0.146951 -0.003822\nvn -0.340838 1.905413 7.709832\nv 0.024766 0.146624 -0.003750\nvn 0.055400 1.828126 6.677024\nv 0.029044 0.146766 -0.003692\nvn -0.168862 1.779034 5.690557\nv 0.027171 0.147094 -0.003669\nvn -0.019728 2.009951 5.599220\nv 0.030799 0.146809 -0.003580\nvn 0.047786 1.906198 4.566248\nv 0.032489 0.147033 -0.003624\nvn 0.000000 -0.000000 0.000000\nv -0.096248 0.147925 -0.003755\nvn 0.172375 0.789182 2.817871\nv 0.029402 0.148100 -0.003979\nvn 2.080681 -2.510112 5.988403\nv -0.024785 0.149279 -0.003657\nvn -2.560488 2.444972 -4.790580\nv -0.096018 0.149366 -0.003476\nvn 0.685551 5.595926 0.402001\nv -0.087796 0.148951 -0.002811\nvn -2.470261 5.015331 1.251476\nv -0.085699 0.148929 -0.002716\nvn 1.217589 3.227820 0.064997\nv -0.090241 0.150256 -0.003276\nvn 0.854076 6.620134 -1.199744\nv -0.094034 0.150466 -0.002918\nvn -1.618286 5.542649 -3.203804\nv -0.079831 0.150925 -0.002865\nvn 1.922776 -0.474886 3.409073\nv -0.023677 0.150654 -0.003754\nvn -0.914539 4.739007 -1.171192\nv -0.077889 0.151302 -0.002926\nvn -0.917567 5.901475 -0.140632\nv -0.068091 0.153236 -0.002728\nvn -1.388330 6.674452 1.165553\nv -0.062223 0.154662 -0.002623\nvn 3.192471 0.093425 3.618949\nv -0.025061 0.155064 -0.003357\nvn -1.287057 7.240529 2.829553\nv -0.058063 0.155321 -0.002894\nvn -2.209962 2.458558 2.093812\nv -0.053749 0.156713 -0.003562\nvn 2.004825 -2.248749 4.781657\nv -0.023015 0.157364 -0.003269\nvn 0.528007 -0.411433 1.130565\nv -0.021173 0.157900 -0.003731\nvn -0.062507 -0.213585 2.193397\nv -0.021387 0.158647 -0.003598\nvn 2.171625 1.324330 5.690741\nv -0.022500 0.158937 -0.003402\nvn -3.479508 -6.022857 2.538594\nv -0.052298 0.160611 -0.003017\nvn 2.425299 1.610241 4.053200\nv -0.025198 0.162824 -0.003694\nvn -0.902691 -0.274774 0.375822\nv -0.091173 0.163675 -0.003868\nvn 1.025852 -2.228944 5.375191\nv -0.090160 0.165090 -0.003814\nvn 3.463684 2.441098 8.909509\nv -0.026837 0.164665 -0.003594\nvn -1.169286 -5.738011 0.811890\nv -0.076049 0.165196 -0.002941\nvn -0.862704 -4.822121 0.719025\nv -0.074280 0.164953 -0.002871\nvn 0.856153 0.392336 2.847379\nv -0.025898 0.165250 -0.003963\nvn 2.076568 -3.165256 6.925954\nv -0.089806 0.166948 -0.003369\nvn 0.000000 0.000000 -0.000000\nv -0.080093 0.165799 -0.003849\nvn 0.998283 0.863470 3.771883\nv -0.026773 0.166212 -0.003919\nvn 3.987267 0.598225 8.871740\nv -0.028676 0.166914 -0.003505\nvn 0.400427 -2.682612 4.131639\nv -0.087935 0.167231 -0.003647\nvn -0.925616 -3.950829 4.368997\nv -0.085927 0.167399 -0.003420\nvn 1.632156 -0.403526 3.613082\nv -0.027547 0.169416 -0.003756\nvn -3.120209 -3.401421 3.382362\nv -0.096005 0.170872 -0.002870\nvn 2.834994 -1.623544 6.976816\nv -0.026826 0.172799 -0.003105\nvn -4.626543 -3.065279 3.901605\nv -0.099367 0.172971 -0.003033\nvn 1.904808 0.319891 2.689403\nv -0.024983 0.174350 -0.003549\nvn -4.502372 2.726868 0.034012\nv -0.099443 0.176350 -0.002931\nvn 2.097111 5.721385 -4.984585\nv -0.093545 0.176747 -0.003103\nvn -2.524633 5.557766 -2.620818\nv -0.097914 0.177236 -0.003053\nvn 0.348243 5.780464 -3.812330\nv -0.095792 0.177026 -0.003480\nvn -3.806808 2.156258 2.304244\nv -0.071391 0.176459 -0.003400\nvn 0.048736 8.477479 2.302581\nv -0.046255 0.177486 -0.002940\nvn 1.967419 5.294314 -5.593337\nv -0.083660 0.179171 -0.003536\nvn 0.090781 5.373127 2.211813\nv -0.058461 0.178490 -0.002918\nvn -3.078789 5.056549 0.552880\nv -0.042475 0.178979 -0.002840\nvn -0.324110 2.579974 -2.827733\nv -0.086098 0.179470 -0.003876\nvn -0.262574 5.625199 2.000643\nv -0.064370 0.178764 -0.002838\nvn 0.040942 4.604478 1.809929\nv -0.062474 0.178706 -0.002838\nvn -0.620803 5.374939 2.372399\nv -0.056223 0.178866 -0.003081\nvn -3.829232 5.786012 0.418324\nv -0.040339 0.180408 -0.002888\nvn 2.730164 -0.164193 5.260268\nv -0.031373 0.181087 -0.003769\nvn -3.713889 5.853627 0.111067\nv -0.038643 0.181470 -0.002768\nvn 2.648665 -1.465226 3.851526\nv -0.031186 0.183137 -0.003575\nvn -2.768955 5.235250 -0.160216\nv -0.034238 0.184004 -0.002889\nvn -2.665079 -6.104489 0.834140\nv 0.024627 0.053071 -0.002789\nvn 1.126572 -7.573132 -0.731717\nv 0.026515 0.052912 -0.002730\nvn -1.228724 -4.573466 1.135002\nv 0.052769 0.053201 -0.002961\nvn -1.321579 -5.636416 0.970785\nv 0.054288 0.052932 -0.002701\nvn 0.073043 -5.950963 0.023785\nv 0.056031 0.052845 -0.002628\nvn 1.522088 -7.580501 -1.440307\nv 0.057878 0.053028 -0.002524\nvn 0.328341 -5.966390 -0.009740\nv -0.060898 0.053305 -0.002738\nvn 1.476769 -5.754250 -0.234829\nv -0.059833 0.053481 -0.002758\nvn 0.199999 -8.768892 0.049978\nv -0.024556 0.053244 -0.002504\nvn 1.585747 -5.730080 0.314081\nv -0.022778 0.053587 -0.002491\nvn -1.202797 -5.863739 0.194259\nv -0.064223 0.053608 -0.002871\nvn -2.393640 -7.474859 -0.598187\nv -0.026834 0.053702 -0.002592\nvn -6.256515 -5.858753 1.831248\nv 0.022891 0.054447 -0.002662\nvn 3.122072 -6.995055 -1.958057\nv 0.028952 0.053793 -0.002743\nvn -1.903604 -4.325237 1.581690\nv 0.052133 0.053693 -0.002442\nvn 0.605723 -4.473818 1.833586\nv 0.068144 0.054015 -0.002630\nvn 3.131381 -5.899973 4.011253\nv 0.070151 0.054606 -0.002772\nvn -0.908227 -6.857597 0.404052\nv -0.068022 0.054037 -0.002585\nvn -2.014297 -5.317105 1.862799\nv 0.050621 0.054326 -0.002565\nvn 1.231245 -6.634683 -1.297835\nv 0.060301 0.053908 -0.002792\nvn -1.864815 -4.598790 0.226123\nv -0.070394 0.054755 -0.002732\nvn 2.212409 -5.523717 -0.613256\nv -0.058183 0.054151 -0.002467\nvn -1.670813 -6.689787 -0.906257\nv -0.028654 0.054396 -0.002806\nvn 0.551162 -4.872469 0.487480\nv 0.036150 0.054576 -0.002871\nvn 0.771594 -5.871717 -0.107828\nv 0.062550 0.054251 -0.002645\nvn 2.364232 -4.084889 -0.046000\nv 0.030646 0.054553 -0.002595\nvn -2.385544 -6.298310 0.665458\nv -0.044496 0.056026 -0.002726\nvn -0.812281 -4.892634 -0.586814\nv -0.031323 0.054851 -0.003088\nvn 2.018130 -3.075934 0.491593\nv 0.031876 0.055145 -0.003221\nvn 0.970408 -5.851315 0.481711\nv 0.038353 0.054931 -0.003256\nvn -3.111756 -5.634279 -1.469258\nv -0.034377 0.056247 -0.002686\nvn 5.712987 -5.536757 0.075277\nv -0.016882 0.056656 -0.002718\nvn 0.868209 -6.902834 -0.432213\nv -0.040482 0.056058 -0.002661\nvn -6.437551 -3.714927 2.554740\nv 0.021404 0.056604 -0.002686\nvn -2.303645 -4.384525 0.480731\nv -0.074035 0.056593 -0.002705\nvn -3.564169 -7.112016 0.552006\nv -0.072460 0.055941 -0.002663\nvn 2.576257 -2.549704 -1.113042\nv -0.047027 0.056358 -0.002511\nvn 0.019931 -4.843215 -0.795320\nv -0.036584 0.056656 -0.002593\nvn -1.602214 1.084439 0.331343\nv 0.034953 0.058304 -0.002635\nvn 4.769188 -2.348275 2.400829\nv 0.073615 0.058319 -0.002981\nvn 0.891497 -5.273902 -1.424233\nv -0.046591 0.057444 -0.002747\nvn 1.546440 -1.438627 -0.596193\nv -0.016197 0.057593 -0.002773\nvn -5.838241 -2.607013 2.836966\nv 0.020418 0.058701 -0.002842\nvn -2.151651 -2.058750 0.221958\nv -0.077297 0.059151 -0.003221\nvn 3.264278 -3.563741 1.189816\nv -0.014031 0.059388 -0.002710\nvn -5.074067 -2.179082 2.343524\nv 0.019894 0.060032 -0.002725\nvn 5.118700 -1.831950 2.125389\nv 0.074255 0.060256 -0.002532\nvn 3.573619 -3.211809 1.328887\nv -0.013372 0.060143 -0.002527\nvn -4.763906 -5.023886 0.866491\nv -0.078058 0.060136 -0.002385\nvn 4.727078 -3.299782 1.526121\nv -0.012193 0.061568 -0.002554\nvn 4.792956 0.067881 0.406950\nv 0.074676 0.062257 -0.002704\nvn -4.556517 -3.758245 0.288637\nv -0.080319 0.061951 -0.002789\nvn -5.035284 -2.278417 2.312582\nv 0.018760 0.062241 -0.002850\nvn 4.644658 -3.404520 1.548168\nv -0.011473 0.062670 -0.002861\nvn -6.199222 -2.069602 2.457400\nv 0.018112 0.063877 -0.002791\nvn -3.026337 2.148965 -4.434801\nv 0.040620 0.064332 -0.002956\nvn -5.260904 -2.800319 0.240081\nv -0.081717 0.064152 -0.002576\nvn 3.577894 -3.187071 1.392343\nv -0.010318 0.064173 -0.002517\nvn 3.737081 -2.882000 1.589659\nv -0.009640 0.064728 -0.002952\nvn -2.722677 -0.773187 0.982670\nv 0.017739 0.064800 -0.003149\nvn 6.488879 -3.858369 2.497007\nv -0.008765 0.066125 -0.002770\nvn -5.971146 -3.546395 0.473406\nv -0.082588 0.065909 -0.002638\nvn -2.165753 2.066466 -2.421916\nv 0.044567 0.066779 -0.003517\nvn -6.071862 -3.294996 0.562352\nv -0.084172 0.068143 -0.002553\nvn 4.878913 -2.638372 2.120122\nv -0.007567 0.068241 -0.002902\nvn -5.453446 -2.026884 0.187968\nv 0.016742 0.068085 -0.002537\nvn 5.972521 2.335359 -2.481115\nv 0.073462 0.067781 -0.002522\nvn 0.482404 -1.081511 1.717946\nv 0.041867 0.068344 -0.003169\nvn -1.881284 1.201260 -2.724853\nv 0.045746 0.068402 -0.003355\nvn 5.371266 -3.539670 2.618545\nv -0.006556 0.069981 -0.002626\nvn -7.261683 -2.740441 -1.145075\nv 0.016179 0.069596 -0.002952\nvn 4.000089 2.548789 -1.527236\nv 0.072164 0.070093 -0.002700\nvn -4.755922 -1.386298 0.338531\nv -0.084867 0.069760 -0.002715\nvn -0.229855 -1.092824 1.158142\nv 0.044641 0.069916 -0.002959\nvn -0.566428 3.060585 -1.925099\nv 0.060697 0.070869 -0.003274\nvn 4.389635 4.526125 -1.985892\nv 0.071261 0.071273 -0.002673\nvn -6.527910 -1.701507 -1.580189\nv 0.015235 0.072000 -0.002727\nvn 2.422870 6.436954 -5.454515\nv 0.060116 0.071686 -0.002573\nvn -2.658088 6.667903 -2.171088\nv 0.062307 0.071751 -0.002663\nvn 2.045974 -1.642834 0.849408\nv 0.042985 0.071694 -0.002418\nvn -0.666382 -0.568187 4.860934\nv 0.046184 0.072431 -0.003339\nvn 1.858634 4.554854 -0.030578\nv 0.068367 0.072991 -0.002722\nvn -5.401725 -2.508885 0.185097\nv -0.086294 0.074045 -0.002601\nvn -6.766229 -0.143302 -1.742764\nv 0.015074 0.074130 -0.002813\nvn -1.679674 4.659608 -0.169077\nv 0.064281 0.072807 -0.002609\nvn -0.509879 6.891373 0.137398\nv 0.066095 0.073248 -0.002703\nvn 0.782408 4.899861 0.111498\nv 0.067432 0.073206 -0.002835\nvn 6.655056 -2.425703 3.637801\nv -0.004599 0.074088 -0.002794\nvn 3.315551 5.269972 -3.040755\nv 0.054649 0.074508 -0.002857\nvn 2.087993 2.788985 -1.828396\nv 0.053753 0.075197 -0.002546\nvn -3.755331 -1.219871 -0.008620\nv -0.086899 0.075475 -0.003437\nvn 4.072433 -1.743974 2.246008\nv -0.003568 0.076047 -0.003173\nvn -9.760898 -1.569535 0.362915\nv -0.086994 0.076088 -0.002794\nvn 1.949264 1.728904 -1.370861\nv 0.051281 0.076883 -0.003444\nvn -4.609007 1.592253 -1.304960\nv 0.015436 0.077817 -0.002705\nvn -6.969467 0.319958 0.292325\nv -0.087067 0.078158 -0.002854\nvn 1.585474 7.004563 0.722478\nv 0.048508 0.078844 -0.002679\nvn 0.457515 6.542213 2.041250\nv 0.045985 0.078920 -0.002871\nvn 5.716370 -1.530659 3.697617\nv -0.002807 0.079977 -0.002578\nvn -5.553234 5.277668 -1.832049\nv 0.016886 0.079886 -0.002668\nvn -5.859314 -0.555998 0.595119\nv -0.086874 0.080433 -0.002621\nvn 5.661859 -2.054284 3.517100\nv -0.002264 0.081893 -0.002454\nvn -2.789762 2.728847 -0.073887\nv 0.017956 0.080733 -0.003105\nvn -5.718891 -1.569504 0.486601\nv -0.087346 0.081985 -0.002670\nvn 5.719983 -1.778583 3.595763\nv -0.001211 0.084389 -0.002825\nvn 1.420399 1.590736 2.018871\nv 0.039524 0.083847 -0.003656\nvn 4.194530 4.013570 6.425547\nv 0.038310 0.083872 -0.002926\nvn -3.859614 5.824945 5.022505\nv 0.022657 0.084015 -0.002809\nvn -6.893526 1.059518 0.438170\nv -0.087559 0.085740 -0.002386\nvn 6.400238 -2.084765 4.296226\nv -0.000822 0.086165 -0.002597\nvn 3.412408 0.220473 7.202274\nv 0.038592 0.087687 -0.003695\nvn -4.918427 0.465004 0.283306\nv -0.087210 0.087612 -0.002664\nvn -2.026782 2.859944 6.005507\nv 0.026636 0.087655 -0.002931\nvn 4.639659 -1.222451 3.598631\nv 0.000523 0.089859 -0.002827\nvn 1.639829 0.217652 5.608544\nv 0.036924 0.089773 -0.002920\nvn 2.068661 -0.031770 4.519642\nv 0.038125 0.089897 -0.003621\nvn 1.505435 -2.052362 -4.240478\nv 0.078116 0.089633 -0.003085\nvn -6.732168 1.577741 0.335688\nv -0.087287 0.091773 -0.002586\nvn -0.582066 1.188079 5.828968\nv 0.031034 0.091838 -0.003377\nvn -0.337402 0.776151 4.908522\nv 0.032730 0.091733 -0.003252\nvn -1.031508 0.389493 6.879156\nv 0.032668 0.093547 -0.003487\nvn -3.725566 1.404939 0.077516\nv -0.086948 0.092975 -0.003263\nvn 0.911296 -0.375515 3.874320\nv 0.038448 0.093723 -0.003531\nvn -2.456225 -2.092661 -3.814982\nv 0.070609 0.092397 -0.002458\nvn 3.142570 -0.605443 2.399101\nv 0.001324 0.094003 -0.002675\nvn 4.486568 -1.884296 -3.557078\nv 0.081515 0.094038 -0.002664\nvn -3.170299 -3.010969 -5.419063\nv 0.069811 0.093880 -0.002734\nvn -4.596536 1.913457 0.277763\nv -0.086405 0.094225 -0.002694\nvn 1.643687 5.683280 0.755065\nv -0.040306 0.094436 -0.002650\nvn -6.582034 1.797102 0.858907\nv -0.085731 0.095694 -0.002573\nvn -1.514270 0.130192 5.749188\nv 0.032460 0.095687 -0.003433\nvn 2.454590 5.304787 1.077846\nv -0.042465 0.095147 -0.002619\nvn 5.540527 -1.097097 4.127076\nv 0.001651 0.095783 -0.002687\nvn 1.778035 -1.091685 8.732649\nv 0.038447 0.095868 -0.003258\nvn 3.826828 4.441375 1.082691\nv -0.043820 0.096076 -0.002580\nvn -1.030427 -2.272803 -4.282081\nv 0.068157 0.095660 -0.003089\nvn -1.036410 -3.645004 -5.769968\nv 0.066224 0.095779 -0.003028\nvn -4.088940 -2.904513 -3.881318\nv 0.064811 0.096075 -0.002638\nvn 6.393229 4.195508 1.984179\nv -0.044967 0.097469 -0.002720\nvn -2.793545 3.756270 1.623603\nv -0.029083 0.096576 -0.002567\nvn 4.658495 -1.081504 3.599815\nv 0.002424 0.097544 -0.003272\nvn -1.816998 0.241202 5.670602\nv 0.032637 0.097678 -0.003411\nvn 0.906442 -0.609248 4.866828\nv 0.038785 0.097677 -0.003067\nvn 1.554983 -0.982808 6.749594\nv 0.040869 0.097786 -0.003563\nvn -6.773993 1.036688 1.009838\nv -0.085614 0.097860 -0.002668\nvn -3.266476 3.443051 1.539821\nv -0.027358 0.098191 -0.002590\nvn 1.026264 -0.728284 4.831662\nv 0.040463 0.099427 -0.003287\nvn 1.410693 -1.399566 6.698083\nv 0.042405 0.099689 -0.003581\nvn 7.337708 1.921459 2.338434\nv -0.045867 0.099699 -0.002659\nvn -4.479779 2.146380 0.469248\nv -0.084860 0.100141 -0.002620\nvn 6.513368 -0.207514 -2.411544\nv 0.082650 0.099800 -0.002504\nvn 3.888579 -0.954009 2.992255\nv 0.002992 0.101749 -0.002578\nvn -6.892079 3.783046 0.359493\nv -0.084038 0.101641 -0.002486\nvn 5.781207 0.460065 -1.499790\nv 0.082532 0.101544 -0.002758\nvn 1.843632 -1.491055 5.497856\nv 0.044329 0.103761 -0.003048\nvn -3.294599 2.696664 2.536816\nv -0.023339 0.102152 -0.002600\nvn 5.846931 -1.372079 5.249388\nv 0.003492 0.103889 -0.002628\nvn -5.813579 3.299676 4.317025\nv -0.022429 0.103775 -0.002763\nvn 1.220921 -1.178368 3.608632\nv 0.045613 0.104119 -0.003427\nvn -6.373662 1.914483 0.668712\nv -0.082804 0.103938 -0.002733\nvn 1.731469 -1.893028 6.481022\nv 0.046335 0.105724 -0.003073\nvn -4.714020 0.422255 1.499670\nv 0.066149 0.106045 -0.002796\nvn -5.625074 1.317044 1.168995\nv -0.082722 0.106102 -0.002678\nvn 4.692247 -1.129607 3.549790\nv 0.004448 0.106166 -0.003101\nvn -2.541227 2.005057 1.887125\nv -0.021885 0.105926 -0.003319\nvn 7.437315 -1.363799 2.562650\nv -0.045848 0.106103 -0.002661\nvn -3.568171 3.019035 3.335327\nv -0.021006 0.106113 -0.002534\nvn 4.443397 -1.426638 1.744678\nv -0.045543 0.107511 -0.002616\nvn -4.263276 2.717998 3.205246\nv -0.020452 0.107620 -0.003066\nvn -6.720940 0.440784 1.834726\nv 0.066255 0.107746 -0.002662\nvn 5.353968 -1.448471 4.223682\nv 0.004520 0.107904 -0.002556\nvn 2.259289 -1.613298 6.378919\nv 0.048076 0.107925 -0.003008\nvn 4.824188 0.970742 -0.442546\nv 0.081826 0.107746 -0.002640\nvn 5.950397 -2.671155 2.495182\nv -0.044601 0.109623 -0.002736\nvn 6.481217 2.433463 0.446275\nv 0.081351 0.109318 -0.002696\nvn -6.262941 4.791344 0.897136\nv -0.080145 0.109894 -0.002839\nvn -4.371601 2.417085 3.289784\nv -0.018841 0.109740 -0.002566\nvn 5.566864 -1.477273 5.257354\nv 0.005117 0.109680 -0.002719\nvn -5.319415 2.878024 5.123152\nv -0.018210 0.111419 -0.002962\nvn 3.501279 -0.554106 3.475276\nv 0.005490 0.111294 -0.002778\nvn -4.410389 2.051174 0.957155\nv -0.079239 0.111249 -0.002867\nvn 5.099897 2.795910 1.232281\nv 0.080345 0.111608 -0.002649\nvn -3.770627 0.287913 6.850420\nv 0.036483 0.113392 -0.003223\nvn -5.120261 3.409439 6.525506\nv -0.016628 0.113574 -0.002810\nvn 3.729327 2.979237 1.419324\nv 0.079328 0.113073 -0.002665\nvn -1.549937 -0.068767 2.396554\nv 0.035527 0.113625 -0.003772\nvn 2.161638 -0.812054 5.506382\nv 0.052347 0.115530 -0.003046\nvn -2.247094 1.226232 1.555353\nv 0.067674 0.114268 -0.002415\nvn -3.515278 3.445941 0.671870\nv -0.077240 0.114850 -0.002912\nvn -5.063157 4.617814 1.251690\nv -0.076141 0.115794 -0.002613\nvn 2.279861 -1.328767 1.421433\nv -0.041364 0.115907 -0.003090\nvn -3.872481 2.076858 4.025245\nv -0.015248 0.115922 -0.002676\nvn 2.965335 3.909578 3.348193\nv 0.076224 0.115699 -0.002436\nvn 4.105223 -1.028749 5.423592\nv 0.007184 0.117600 -0.002650\nvn -3.350476 0.591536 7.188589\nv 0.038441 0.117395 -0.002755\nvn 3.121288 6.090129 5.790601\nv 0.074051 0.117464 -0.002795\nvn -4.798065 3.186735 1.378780\nv -0.074825 0.117292 -0.002566\nvn 5.083158 -2.452909 4.083326\nv -0.039963 0.119097 -0.002678\nvn 3.143427 -1.148552 3.675631\nv 0.008628 0.119092 -0.003382\nvn 2.160238 -0.132827 4.494124\nv 0.054215 0.119400 -0.003482\nvn -2.222617 0.292285 3.280082\nv 0.037407 0.119137 -0.003333\nvn -3.502709 4.609078 1.462303\nv -0.072588 0.120105 -0.002551\nvn -3.057645 0.488879 5.050343\nv 0.038206 0.119925 -0.002886\nvn 2.502799 0.154818 5.414394\nv 0.054419 0.121371 -0.003564\nvn 4.698923 -2.388889 4.586553\nv -0.038739 0.121629 -0.002653\nvn -4.053381 4.069131 1.500837\nv -0.070424 0.121643 -0.002728\nvn -3.503630 0.298989 5.898899\nv 0.038526 0.121378 -0.002817\nvn -2.966186 2.435709 1.102661\nv -0.069349 0.122781 -0.002603\nvn -2.890237 0.327067 5.216296\nv 0.038624 0.123260 -0.003085\nvn -3.400786 3.369725 1.275140\nv -0.068593 0.123817 -0.002638\nvn 2.340125 0.320437 4.393421\nv 0.053981 0.125394 -0.003611\nvn -2.908754 4.719142 1.971924\nv -0.066031 0.125426 -0.002664\nvn -2.929562 -0.480741 5.191701\nv 0.038670 0.125850 -0.003064\nvn -2.950406 3.169329 5.359402\nv -0.009156 0.125365 -0.002749\nvn -6.116326 6.709539 3.586671\nv -0.064092 0.127267 -0.003055\nvn 2.389242 -1.272830 5.312694\nv 0.011031 0.127512 -0.002745\nvn 3.697494 -0.162956 4.777242\nv -0.036425 0.127495 -0.002788\nvn 2.428270 0.401075 5.442616\nv 0.053727 0.127567 -0.003660\nvn -2.230455 -0.477473 4.433364\nv 0.038524 0.127852 -0.002817\nvn 1.877740 0.414791 5.674589\nv 0.052263 0.127870 -0.003231\nvn 2.455875 -2.294017 6.058864\nv 0.014276 0.129427 -0.003431\nvn 1.220935 0.319893 3.787384\nv 0.052439 0.129463 -0.003318\nvn 1.701800 -1.568159 5.526680\nv 0.014678 0.131113 -0.003116\nvn -4.515875 6.169224 4.666616\nv -0.058013 0.131159 -0.002870\nvn -1.317145 1.327094 2.341039\nv -0.004198 0.132700 -0.003742\nvn 1.995786 -1.681224 6.391707\nv 0.016797 0.133212 -0.003089\nvn -5.259056 6.199916 5.655107\nv -0.054460 0.133567 -0.002724\nvn 4.700064 0.032783 7.640678\nv -0.034623 0.133484 -0.003073\nvn 2.241884 1.368393 7.510847\nv 0.050375 0.133237 -0.003106\nvn -1.126167 1.132053 2.511644\nv -0.002104 0.134456 -0.003431\nvn 1.103501 -1.531972 6.694196\nv 0.019008 0.135091 -0.003221\nvn -1.626615 1.843254 1.709460\nv -0.053596 0.134753 -0.003098\nvn -1.048264 -1.237611 4.705390\nv 0.032524 0.135068 -0.003388\nvn -2.522836 2.802558 6.969635\nv -0.001121 0.135180 -0.003357\nvn 2.550351 1.873950 8.410229\nv 0.048468 0.135087 -0.003077\nvn -3.864102 4.160457 5.540349\nv -0.052497 0.135205 -0.002594\nvn 2.674872 0.254824 5.361994\nv -0.034535 0.135361 -0.003241\nvn -0.278553 -1.503830 7.810976\nv 0.028346 0.137229 -0.003239\nvn 1.835338 1.112156 5.585986\nv 0.048223 0.137189 -0.003384\nvn -1.190618 2.043372 5.508779\nv 0.001049 0.135132 -0.002846\nvn 0.660790 -1.601305 7.758511\nv 0.022575 0.137307 -0.003341\nvn -0.229393 -1.024782 4.875002\nv 0.024413 0.137312 -0.003409\nvn -1.326968 1.659992 5.598462\nv 0.002910 0.137042 -0.003083\nvn -3.287399 3.517222 6.348092\nv -0.050594 0.137278 -0.002723\nvn -2.137055 -3.337884 1.493048\nv -0.100740 0.140237 -0.003321\nvn 0.304501 -6.972421 0.119783\nv -0.081723 0.140020 -0.003263\nvn 0.893738 -5.925428 0.057392\nv -0.079755 0.140207 -0.002512\nvn 0.950736 1.079494 4.774126\nv 0.044333 0.139458 -0.003158\nvn -0.891615 -6.883030 0.533081\nv -0.087884 0.140524 -0.002677\nvn 1.683165 2.272310 7.454140\nv 0.044341 0.141526 -0.003540\nvn -1.289073 -5.748463 0.838374\nv -0.090025 0.141052 -0.002757\nvn -0.507276 1.931160 5.623829\nv 0.010821 0.141504 -0.003496\nvn 3.033344 -7.208743 -0.373920\nv -0.070231 0.141810 -0.002633\nvn -5.266163 -0.399395 -4.628689\nv -0.103232 0.143144 -0.002726\nvn 1.392133 -2.580600 -0.516428\nv -0.069290 0.142495 -0.003096\nvn -0.394434 1.360864 4.793522\nv 0.014508 0.143160 -0.003577\nvn 2.047620 -6.561071 -0.160305\nv -0.068046 0.142966 -0.002530\nvn -2.215967 -0.887212 4.982225\nv -0.046192 0.143421 -0.002947\nvn -0.667771 1.825496 7.748478\nv 0.016475 0.143054 -0.003395\nvn 1.280412 -4.779091 0.559268\nv -0.066119 0.143335 -0.002629\nvn 2.666200 -6.373935 0.383303\nv -0.064761 0.143755 -0.002650\nvn 0.944139 1.520892 4.654015\nv 0.040807 0.143380 -0.003256\nvn -2.271899 3.414220 -4.297644\nv -0.101667 0.144880 -0.002597\nvn -1.638328 -3.927150 3.976517\nv -0.048147 0.144808 -0.002846\nvn 2.165065 -4.464741 -0.031389\nv -0.063856 0.144330 -0.002683\nvn -0.301468 0.527892 3.945555\nv 0.024926 0.145073 -0.003515\nvn 1.646408 -6.687530 0.682844\nv -0.062293 0.144819 -0.002775\nvn 1.386833 -5.801186 0.334507\nv -0.060301 0.145131 -0.002579\nvn 0.809117 -1.483339 1.482336\nv -0.027237 0.145336 -0.003288\nvn -0.481437 0.985258 5.881348\nv 0.026822 0.145421 -0.003298\nvn 0.565813 -4.883973 0.272745\nv -0.058195 0.145760 -0.002681\nvn -0.294250 -6.866293 1.135693\nv -0.056154 0.145627 -0.002595\nvn 0.096441 -4.908651 0.888604\nv -0.054148 0.145541 -0.002636\nvn 0.293259 1.531977 5.778384\nv 0.034294 0.145190 -0.003290\nvn 1.953727 -1.439194 3.538776\nv -0.032677 0.146697 -0.002460\nvn 0.288006 -5.079569 5.893812\nv -0.030838 0.146638 -0.002433\nvn -0.393629 -2.792351 2.758006\nv -0.030467 0.145862 -0.003363\nvn 3.203970 -1.510101 4.042896\nv -0.026996 0.146980 -0.002831\nvn -0.042537 1.135858 5.875832\nv 0.028452 0.145216 -0.003267\nvn -3.466161 2.703223 -5.322843\nv -0.099470 0.146993 -0.002578\nvn 0.200907 1.427854 6.816029\nv 0.032755 0.145146 -0.003132\nvn 2.986719 -1.235917 6.937842\nv -0.026750 0.149406 -0.003058\nvn 1.543532 5.407823 -2.216422\nv -0.083816 0.149670 -0.002822\nvn 1.578723 5.109463 0.860247\nv -0.089319 0.149513 -0.002596\nvn -1.521356 4.523178 -4.270427\nv -0.095815 0.151009 -0.002616\nvn 2.280893 -1.009327 5.334855\nv -0.024859 0.151298 -0.002991\nvn -0.873111 5.854785 -0.926443\nv -0.075829 0.151643 -0.002608\nvn -1.676201 7.757741 -0.858345\nv -0.074002 0.151900 -0.002935\nvn -1.051485 4.877509 -0.263662\nv -0.069767 0.152853 -0.002636\nvn -1.211782 5.773680 -0.139248\nv -0.066063 0.153320 -0.002691\nvn -1.367015 4.712836 0.478518\nv -0.064007 0.154244 -0.002924\nvn -0.739427 4.727176 1.264603\nv -0.060335 0.155033 -0.002797\nvn -0.185323 5.295197 1.919606\nv -0.056185 0.155553 -0.002944\nvn -2.176900 5.023591 2.025340\nv -0.054420 0.155756 -0.002640\nvn 2.566707 -1.385378 4.913396\nv -0.024865 0.156742 -0.003046\nvn -4.588392 4.957851 3.528293\nv -0.052415 0.157063 -0.002677\nvn 2.167393 0.580161 6.421749\nv -0.024611 0.159049 -0.002742\nvn 2.987196 1.863445 5.991055\nv -0.024865 0.161069 -0.003220\nvn -1.077695 -5.872722 -0.211397\nv -0.054178 0.160881 -0.002557\nvn -1.316101 -6.843785 -0.264913\nv -0.056008 0.161226 -0.003168\nvn 2.272212 1.552316 5.235100\nv -0.026736 0.163091 -0.002852\nvn -0.991450 -5.877707 -0.203769\nv -0.066366 0.162960 -0.002817\nvn -0.939172 -5.883533 -0.477512\nv -0.064283 0.162614 -0.003105\nvn -1.043052 -3.836170 0.303455\nv -0.071097 0.164004 -0.003282\nvn -0.722730 -1.429555 0.744980\nv -0.093520 0.165415 -0.002810\nvn -1.720113 -6.368550 1.699184\nv -0.077735 0.165704 -0.002662\nvn 1.470109 -3.090879 4.758950\nv -0.091665 0.166901 -0.002561\nvn 1.800575 1.646921 4.356317\nv -0.028530 0.164778 -0.002809\nvn -4.899800 -3.945623 4.086092\nv -0.094014 0.166642 -0.002512\nvn -1.753595 -6.178471 2.551648\nv -0.080038 0.166333 -0.002647\nvn -2.002897 -5.824136 3.262711\nv -0.082084 0.166837 -0.002669\nvn -1.669480 -5.150283 4.317035\nv -0.084157 0.167388 -0.002877\nvn -5.740809 -2.860210 2.134757\nv -0.094932 0.168952 -0.002804\nvn 0.090945 -3.879142 4.449234\nv -0.087683 0.168473 -0.002755\nvn 2.644113 -0.522205 4.184482\nv -0.028965 0.169012 -0.003029\nvn 2.554330 -1.098728 5.174872\nv -0.028691 0.171116 -0.002977\nvn -4.497905 0.059226 1.334831\nv -0.099716 0.174784 -0.002531\nvn -4.855316 5.730354 3.902667\nv -0.072149 0.174676 -0.002673\nvn 3.821459 6.944171 -2.668696\nv -0.078007 0.174811 -0.002645\nvn 0.811442 3.873115 -0.176274\nv -0.076032 0.174469 -0.002646\nvn 0.444626 4.366311 4.493234\nv -0.030829 0.174582 -0.002801\nvn 1.902751 1.563023 -1.713250\nv -0.079040 0.175352 -0.003287\nvn 0.458282 2.321411 3.459194\nv -0.028918 0.174623 -0.002763\nvn -0.045191 5.317891 -4.043448\nv -0.091562 0.176566 -0.002498\nvn -3.462763 3.948668 -3.155236\nv -0.089713 0.176690 -0.002679\nvn 6.018405 5.097742 -4.203135\nv -0.079875 0.176807 -0.002906\nvn -3.962942 3.331264 5.621518\nv -0.070408 0.176639 -0.002423\nvn 1.047533 1.216141 -1.279330\nv -0.081373 0.177675 -0.003718\nvn -1.595767 3.262794 2.610122\nv -0.069988 0.178219 -0.002881\nvn -1.697941 4.499585 0.943738\nv -0.044710 0.177656 -0.002722\nvn -2.406718 4.306943 0.742705\nv -0.044004 0.177995 -0.002741\nvn 1.642797 4.642438 0.742116\nv -0.048830 0.178209 -0.002619\nvn -1.297791 5.436913 3.527421\nv -0.067813 0.178352 -0.002712\nvn 0.152109 6.316128 2.597449\nv -0.060486 0.178590 -0.002696\nvn 0.258605 3.941324 0.548100\nv -0.052235 0.178994 -0.002912\nvn 1.457276 6.708460 1.122083\nv -0.050422 0.178703 -0.002493\nvn 1.403666 3.923034 -2.620779\nv -0.084058 0.180247 -0.002564\nvn 2.021509 0.093802 6.639616\nv -0.032420 0.178725 -0.003207\nvn -2.148770 2.935759 -2.967792\nv -0.087877 0.180296 -0.002609\nvn 0.001305 5.971488 -4.894508\nv -0.085910 0.180442 -0.002840\nvn 2.062004 -0.575538 4.370169\nv -0.032706 0.180722 -0.003293\nvn -2.564797 4.235672 0.125929\nv -0.037856 0.181990 -0.002864\nvn 3.970872 -2.520554 3.256198\nv -0.032365 0.182817 -0.002672\nvn -2.641595 5.228986 0.419394\nv -0.036421 0.182792 -0.002523\nvn -0.915666 4.528453 0.857515\nv -0.032646 0.184791 -0.002651\nvn 0.617913 -2.884545 0.163871\nv -0.023623 0.053322 -0.002912\nvn 1.172310 -3.626473 -1.202273\nv 0.058830 0.053386 -0.002726\nvn -0.672591 -4.906868 0.340893\nv -0.066031 0.054060 -0.002446\nvn 3.226878 -5.993830 0.824765\nv -0.018859 0.055038 -0.002664\nvn 1.921023 -6.662457 -0.504507\nv -0.056329 0.054878 -0.002373\nvn 0.371775 -5.978842 -0.320308\nv -0.050660 0.055463 -0.002753\nvn -2.307317 -3.087018 -0.061732\nv -0.033423 0.055344 -0.003088\nvn -2.325354 -1.537609 0.877358\nv 0.021959 0.055800 -0.002400\nvn -2.260926 -3.244066 0.329701\nv -0.075073 0.057212 -0.002560\nvn -1.897887 2.262306 -5.124455\nv 0.042604 0.066190 -0.002854\nvn -3.084717 3.027457 -6.067560\nv 0.044276 0.068016 -0.002708\nvn 2.278891 -1.801355 1.191445\nv -0.005773 0.070945 -0.002912\nvn -6.488933 -2.240961 0.441045\nv -0.085398 0.072503 -0.002603\nvn -3.204848 -0.187443 1.490320\nv 0.048482 0.074209 -0.002602\nvn -4.900852 -0.421992 0.293125\nv -0.087755 0.083992 -0.002446\nvn 1.756499 0.882080 3.480705\nv 0.037865 0.085483 -0.003128\nvn 3.517662 2.394871 7.600254\nv 0.036428 0.086139 -0.002542\nvn 3.848699 -1.222237 2.947200\nv -0.000404 0.087536 -0.002534\nvn 1.395994 0.722309 5.703903\nv 0.036661 0.087831 -0.002912\nvn -1.029377 1.566578 4.631896\nv 0.028856 0.089754 -0.003175\nvn -0.687368 1.656037 5.705168\nv 0.030661 0.089764 -0.002829\nvn -2.985135 -2.065232 -5.923771\nv 0.072592 0.089965 -0.002505\nvn 2.649854 -1.923229 -4.914260\nv 0.079617 0.089770 -0.002409\nvn -4.017568 -3.726850 -7.102345\nv 0.071964 0.091427 -0.002828\nvn 0.530328 0.310804 4.915873\nv 0.036367 0.091708 -0.003068\nvn -0.495913 0.313791 5.943710\nv 0.034338 0.092054 -0.003074\nvn -0.676652 -0.085591 4.932121\nv 0.034419 0.094156 -0.003105\nvn 0.749254 -0.271431 7.895350\nv 0.036218 0.093637 -0.003056\nvn -0.727933 -0.280841 6.922333\nv 0.034410 0.095959 -0.003033\nvn 0.252960 -0.254137 3.970910\nv 0.036688 0.096125 -0.003000\nvn -0.659716 -0.045221 4.934768\nv 0.034730 0.097627 -0.002922\nvn -4.635924 1.735747 0.509907\nv -0.085234 0.099326 -0.002706\nvn -1.233373 0.144035 5.846699\nv 0.034710 0.099392 -0.002991\nvn 1.133544 -1.529082 6.728025\nv 0.040617 0.101502 -0.002890\nvn 1.299113 -1.397618 5.672768\nv 0.042684 0.101635 -0.003146\nvn -1.693273 0.283367 5.735773\nv 0.034827 0.101637 -0.003008\nvn -2.472037 0.688582 6.482028\nv 0.035029 0.103526 -0.003066\nvn -3.488191 1.713966 -0.057651\nv -0.083157 0.103125 -0.002817\nvn 5.784771 0.591312 -1.450773\nv 0.082317 0.103825 -0.002799\nvn -1.505848 0.285328 3.673446\nv 0.035240 0.105545 -0.003192\nvn -1.680862 0.253862 5.731143\nv 0.036280 0.105805 -0.002899\nvn -2.016249 0.031743 5.603811\nv 0.036333 0.107655 -0.002813\nvn -2.789338 0.398604 6.356387\nv 0.036225 0.109637 -0.002917\nvn 5.170478 -2.078327 2.200446\nv -0.043833 0.111548 -0.002592\nvn -1.696494 0.407647 3.584700\nv 0.036304 0.111575 -0.003113\nvn 1.505310 -1.005113 4.646313\nv 0.050474 0.111790 -0.002951\nvn 4.417390 -0.843509 5.866319\nv 0.005457 0.113320 -0.002513\nvn 3.280518 3.290747 1.740583\nv 0.078260 0.114142 -0.002574\nvn 3.723241 -2.218059 2.481858\nv -0.041926 0.115693 -0.002409\nvn 2.324609 -0.509245 6.556257\nv 0.052449 0.117664 -0.002807\nvn 0.187649 2.769689 2.740860\nv 0.072295 0.117768 -0.002409\nvn 1.616727 0.119056 4.719038\nv 0.052522 0.119575 -0.002795\nvn 2.269849 0.232525 6.609839\nv 0.052242 0.121463 -0.002864\nvn -4.216076 2.481273 6.295389\nv -0.010991 0.121307 -0.002616\nvn 4.783586 -2.243759 4.529412\nv -0.037787 0.123610 -0.002440\nvn 1.316952 0.009193 3.776367\nv 0.052226 0.123324 -0.002854\nvn 2.646181 0.538929 7.512001\nv 0.052420 0.125467 -0.002937\nvn -2.703079 2.436344 5.938923\nv -0.007016 0.127288 -0.002728\nvn -1.501614 2.223474 1.005969\nv -0.062740 0.128246 -0.002469\nvn 3.283970 -0.933891 4.920932\nv -0.036159 0.129363 -0.002501\nvn 1.730519 -1.191764 4.509326\nv 0.012594 0.129440 -0.002735\nvn -2.519644 -0.473976 7.503838\nv 0.038570 0.129389 -0.002661\nvn 1.732460 0.594766 5.701744\nv 0.050700 0.129550 -0.002772\nvn -1.762509 1.560548 5.472035\nv -0.003079 0.131023 -0.002708\nvn -1.647483 -1.353763 5.570977\nv 0.036352 0.133158 -0.002743\nvn 1.020979 -0.574161 4.839325\nv 0.016767 0.135126 -0.002842\nvn -1.492567 -1.100255 5.681810\nv 0.034564 0.134923 -0.002879\nvn 0.889800 -0.727605 4.831377\nv 0.020578 0.137362 -0.002972\nvn -0.292152 -1.036551 4.873478\nv 0.031064 0.136988 -0.003118\nvn -0.926145 -1.134294 6.807540\nv 0.032745 0.137266 -0.002982\nvn 2.140126 0.231365 4.505251\nv -0.034706 0.137250 -0.003233\nvn -0.163662 -0.742484 4.916668\nv 0.026278 0.137682 -0.003126\nvn 1.354558 1.224782 5.695971\nv 0.046287 0.137355 -0.002825\nvn -0.733680 1.751729 6.712853\nv 0.004686 0.137288 -0.002816\nvn 0.102909 -0.595967 5.927919\nv 0.024584 0.139433 -0.003022\nvn -0.069013 -0.319261 5.983109\nv 0.026913 0.139272 -0.003048\nvn -0.683295 1.591626 6.759358\nv 0.006953 0.139150 -0.003039\nvn -3.082942 2.755696 6.797165\nv -0.048390 0.139196 -0.002639\nvn 0.437196 -0.102594 6.899548\nv 0.020711 0.139328 -0.002984\nvn -0.598591 -6.950477 0.508072\nv -0.083998 0.140144 -0.002877\nvn -0.166176 1.038518 4.869493\nv 0.010750 0.139438 -0.002931\nvn 1.482442 -4.086111 4.106664\nv -0.097607 0.141400 -0.002612\nvn -0.565913 -5.951747 0.358522\nv -0.085923 0.140370 -0.002563\nvn 0.024388 0.493885 5.925187\nv 0.020940 0.141209 -0.003120\nvn 1.562150 1.553700 6.628971\nv 0.042270 0.141217 -0.002957\nvn -0.658919 1.694424 6.743361\nv 0.012631 0.141294 -0.003160\nvn 3.102410 -2.455824 6.047588\nv -0.036549 0.141368 -0.002596\nvn -0.300559 1.278077 5.835048\nv 0.014899 0.141303 -0.003008\nvn 0.166805 0.238169 5.963820\nv 0.024645 0.141275 -0.003053\nvn -0.138529 0.683495 3.920584\nv 0.016770 0.141008 -0.002836\nvn 0.129164 0.889820 6.908228\nv 0.018611 0.141152 -0.002849\nvn -0.313958 0.090566 5.971584\nv 0.026341 0.141571 -0.002959\nvn 2.131681 -2.253889 2.032822\nv -0.035970 0.142512 -0.002448\nvn -0.152324 0.747011 3.908106\nv 0.018814 0.143102 -0.003117\nvn 0.103758 0.962145 5.888892\nv 0.020856 0.143276 -0.003241\nvn -0.219216 1.044773 7.877305\nv 0.024596 0.143198 -0.003308\nvn -0.154438 0.980663 5.879390\nv 0.022658 0.143090 -0.003099\nvn -0.087061 0.391322 4.976515\nv 0.029002 0.143566 -0.003033\nvn -0.184997 1.047479 5.877450\nv 0.030713 0.144949 -0.003095\nvn -1.056196 -5.864669 -0.570928\nv -0.060167 0.161787 -0.002453\nvn -1.757407 -6.758960 0.036714\nv -0.069810 0.163615 -0.002641\nvn 3.662311 -0.914021 5.551890\nv -0.030529 0.166896 -0.002523\nvn 1.538319 -3.807732 4.229316\nv -0.089639 0.168540 -0.002374\nvn -1.393155 -4.479025 3.680057\nv -0.085936 0.168417 -0.002408\nvn 3.197865 3.146257 -2.116713\nv -0.080637 0.178059 -0.002442\nvn 1.705710 4.437054 1.322967\nv -0.047652 0.177688 -0.002533\nvn 3.959126 -3.127567 5.090025\nv -0.034315 0.180483 -0.002645\nvn -2.438822 4.141448 0.517793\nv -0.034956 0.183642 -0.002738\nvn 0.649033 -4.939767 -0.258552\nv -0.054779 0.055181 -0.002568\nvn 0.396440 -4.969331 -0.314393\nv -0.053373 0.055324 -0.002738\nvn 1.992062 -1.426700 -0.034312\nv 0.039439 0.065700 -0.002327\nvn 3.167528 -1.533464 -0.241651\nv 0.041457 0.069190 -0.002305\nvn -1.427685 -2.667549 2.496680\nv 0.048228 0.075466 -0.002276\nvn 1.679693 1.470356 -1.970536\nv 0.052155 0.077514 -0.002369\nvn 1.735167 1.639947 1.796372\nv 0.038961 0.082383 -0.002341\nvn 2.320384 1.877925 3.773851\nv 0.036913 0.083861 -0.002303\nvn -1.002141 2.885513 6.225148\nv 0.028899 0.088021 -0.002576\nvn 1.291501 1.228940 4.474956\nv 0.034540 0.087662 -0.002444\nvn -1.625778 -2.682069 -6.160618\nv 0.074189 0.087884 -0.002355\nvn -0.048736 -1.901473 -4.577632\nv 0.076017 0.087873 -0.002493\nvn 0.270023 1.125249 7.858190\nv 0.034350 0.089857 -0.002897\nvn 0.017864 1.437941 5.820558\nv 0.032661 0.089663 -0.002775\nvn 0.238491 -0.582294 6.950386\nv 0.036402 0.097408 -0.002861\nvn 0.727387 -0.764816 5.871093\nv 0.038405 0.099749 -0.002751\nvn -0.356887 -0.317477 5.965630\nv 0.036728 0.099683 -0.002758\nvn 3.804052 0.346237 1.137070\nv -0.046023 0.100767 -0.002763\nvn -0.735036 -0.114431 4.931618\nv 0.035922 0.101025 -0.002750\nvn 1.151299 -1.300615 6.754479\nv 0.042524 0.103794 -0.002557\nvn 1.317185 -1.156140 5.713431\nv 0.044455 0.105898 -0.002597\nvn 1.051391 -0.818645 4.796798\nv 0.046506 0.107715 -0.002595\nvn 1.462960 -0.874687 5.743525\nv 0.048140 0.109767 -0.002787\nvn 1.134037 -1.037516 4.752849\nv 0.048736 0.111321 -0.002603\nvn 1.849193 -0.779377 5.622515\nv 0.050396 0.113995 -0.002521\nvn 2.739328 -0.761903 4.109568\nv 0.007374 0.119250 -0.002449\nvn 2.914412 -1.451579 4.979062\nv 0.009143 0.123273 -0.002449\nvn -2.645938 3.504760 2.194022\nv -0.064680 0.126034 -0.002310\nvn 2.035276 0.665519 6.654790\nv 0.050556 0.127195 -0.002554\nvn -1.483792 1.799023 5.475546\nv -0.004938 0.129551 -0.002565\nvn 1.919316 -1.076782 7.641652\nv 0.012955 0.131285 -0.002584\nvn 1.252141 0.632935 4.792032\nv 0.050023 0.131163 -0.002831\nvn -0.907971 -0.336219 3.866732\nv 0.038064 0.131440 -0.002655\nvn -2.265030 3.361780 2.897837\nv -0.056577 0.131791 -0.002363\nvn 1.028276 -0.822649 5.811272\nv 0.014913 0.133539 -0.002565\nvn -1.845140 2.059057 6.360808\nv -0.001265 0.133200 -0.002516\nvn 0.472384 -0.503167 4.905607\nv 0.019316 0.137233 -0.002766\nvn 0.537220 -0.349399 6.922416\nv 0.016971 0.137389 -0.002793\nvn -0.967141 -0.406749 4.885287\nv 0.034597 0.137166 -0.002607\nvn -0.225652 1.036593 4.873802\nv 0.006652 0.137119 -0.002747\nvn 0.046495 1.135399 6.899164\nv 0.010789 0.137248 -0.002556\nvn 0.045110 0.412750 6.958556\nv 0.016709 0.139274 -0.002695\nvn 0.032430 0.684153 4.945632\nv 0.012660 0.137509 -0.002627\nvn -0.554448 -0.271206 5.936622\nv 0.030460 0.139219 -0.002812\nvn -0.434745 -0.536480 5.937289\nv 0.032299 0.139185 -0.002656\nvn 1.015589 1.434126 7.759537\nv 0.044430 0.137222 -0.002512\nvn 1.030097 1.035147 4.773643\nv 0.042653 0.139304 -0.002722\nvn 2.792519 0.840327 7.409005\nv -0.036672 0.139174 -0.002463\nvn -0.172025 1.357846 5.808390\nv 0.009022 0.139430 -0.002854\nvn -0.271516 0.735463 5.937152\nv 0.013003 0.139233 -0.002775\nvn 0.161349 -0.433838 4.937826\nv 0.022752 0.139394 -0.002876\nvn -0.267084 -0.197776 5.974938\nv 0.028784 0.139548 -0.002947\nvn 0.408193 0.137845 5.949506\nv 0.018861 0.139252 -0.002665\nvn 0.100201 -4.290357 4.006221\nv -0.099536 0.140778 -0.002560\nvn -0.050771 0.472358 5.931195\nv 0.022730 0.141341 -0.002864\nvn -0.038746 0.097037 5.997426\nv 0.028649 0.141188 -0.002961\nvn -0.510441 0.293782 5.956952\nv 0.030846 0.141443 -0.002922\nvn -0.039151 0.928775 5.915761\nv 0.038373 0.141381 -0.002733\nvn -2.569382 1.963005 7.295725\nv -0.046258 0.141428 -0.002488\nvn -0.623378 0.421660 5.941155\nv 0.032684 0.141623 -0.002641\nvn 0.250399 0.524257 4.965199\nv 0.036467 0.141275 -0.002644\nvn 0.458573 1.018342 4.834829\nv 0.040693 0.141345 -0.002659\nvn -0.258575 0.490833 5.948977\nv 0.026889 0.142976 -0.002956\nvn -0.230061 0.377516 5.973029\nv 0.030771 0.143025 -0.002958\nvn -0.356291 0.816352 5.898437\nv 0.032696 0.143023 -0.002794\nvn 0.545382 1.636737 7.754727\nv 0.038429 0.143195 -0.002904\nvn 0.310796 1.123825 5.857878\nv 0.036177 0.143130 -0.002800\nvn -0.080341 0.859416 4.900092\nv 0.034433 0.143055 -0.002691\nvn -4.244331 3.506171 -5.661968\nv -0.097671 0.149194 -0.002427\nvn 0.977304 5.404277 1.403546\nv -0.091922 0.149721 -0.002266\nvn -0.989191 4.708111 -3.228615\nv -0.081943 0.150837 -0.002162\nvn 1.403660 -1.609172 5.556554\nv -0.026722 0.151439 -0.002478\nvn -1.495110 6.817448 -0.474300\nv -0.071670 0.152399 -0.002850\nvn 3.510749 1.020272 6.828530\nv -0.026278 0.155016 -0.002349\nvn -3.813028 0.462274 4.050004\nv -0.050770 0.159137 -0.002281\nvn -0.553433 -2.917541 -0.324556\nv -0.060879 0.161970 -0.002727\nvn -1.582018 -3.559203 0.419557\nv -0.078201 0.165948 -0.002233\nvn 1.438469 0.171507 5.517429\nv -0.028753 0.172766 -0.002413\nvn -2.044523 -3.055800 3.312734\nv -0.097858 0.172332 -0.002253\nvn 1.296189 1.047022 5.678002\nv -0.034368 0.176475 -0.002694\nvn 1.815408 2.736280 6.784389\nv -0.036248 0.176652 -0.002494\nvn 3.986714 -3.258726 5.308925\nv -0.036328 0.178496 -0.002370\nvn 1.042643 -0.214273 4.825677\nv -0.034864 0.178692 -0.002838\nvn 0.857961 -2.626806 -0.844197\nv 0.027781 0.053057 -0.002310\nvn -0.559444 -2.829693 -0.502790\nv -0.025840 0.053314 -0.002154\nvn -1.673138 -2.290693 0.642826\nv 0.023957 0.053572 -0.002213\nvn 2.392571 -3.034361 0.464114\nv -0.018072 0.055565 -0.002310\nvn 3.385478 -2.269255 2.856805\nv 0.072564 0.057719 -0.002207\nvn -3.283295 -2.148324 0.411912\nv -0.081090 0.063050 -0.002256\nvn -3.474308 -1.558439 0.909878\nv 0.017859 0.065639 -0.002177\nvn 2.407190 -1.208027 1.237788\nv -0.008145 0.067600 -0.002207\nvn -2.665424 -1.073084 -0.784961\nv 0.015740 0.070188 -0.002421\nvn 1.105251 2.135913 -1.787803\nv 0.057749 0.073260 -0.002290\nvn 3.142095 -1.190660 2.169222\nv -0.004206 0.075854 -0.002344\nvn 0.907097 4.745503 1.073788\nv 0.044365 0.078920 -0.002271\nvn 1.825133 1.973246 1.302052\nv 0.041011 0.080628 -0.002287\nvn -1.455166 1.784576 1.680420\nv 0.024261 0.084309 -0.002142\nvn 1.283092 1.364186 3.247068\nv 0.034792 0.085991 -0.002091\nvn -1.810936 3.199193 4.703149\nv 0.026196 0.086136 -0.002229\nvn -0.099647 2.504579 6.481616\nv 0.030765 0.087690 -0.002273\nvn 0.372469 2.173003 6.605600\nv 0.032893 0.087973 -0.002370\nvn 1.087584 -2.091187 -6.456857\nv 0.077944 0.088003 -0.002297\nvn 1.936485 -0.917985 -2.052533\nv 0.081238 0.092323 -0.002342\nvn -1.774804 -3.720679 -5.598235\nv 0.068162 0.094280 -0.002312\nvn -1.399507 -2.374121 -2.818319\nv 0.065646 0.094798 -0.002118\nvn 3.967233 -0.967102 2.876020\nv 0.001763 0.097698 -0.002193\nvn 3.488959 1.492147 1.150953\nv -0.045471 0.098099 -0.002242\nvn -1.938269 1.680365 1.520122\nv -0.025261 0.100044 -0.002216\nvn 0.028679 -0.728027 6.894631\nv 0.038462 0.101636 -0.002482\nvn -0.870212 0.559842 0.331280\nv 0.065324 0.101484 -0.002167\nvn -1.318662 0.173374 6.850742\nv 0.036674 0.103572 -0.002622\nvn -0.400942 -0.207476 4.960498\nv 0.038619 0.103571 -0.002366\nvn 0.428018 -0.797371 4.889910\nv 0.040794 0.103533 -0.002384\nvn -1.224124 -0.101267 6.869851\nv 0.038410 0.105658 -0.002420\nvn 3.490434 -1.008483 3.416178\nv 0.003646 0.105884 -0.002223\nvn 0.570120 -0.508913 4.933931\nv 0.042808 0.106017 -0.002331\nvn -1.659376 -0.789901 7.706134\nv 0.038356 0.107569 -0.002270\nvn 0.901020 -0.991455 6.848183\nv 0.044430 0.107761 -0.002293\nvn -3.974610 2.245350 3.870174\nv -0.019585 0.107788 -0.002199\nvn -1.138661 0.055275 3.810389\nv 0.037979 0.109448 -0.002254\nvn 1.077442 -0.711621 5.854814\nv 0.046109 0.109918 -0.002287\nvn -2.237479 0.447920 6.596145\nv 0.038224 0.111680 -0.002401\nvn 1.343217 -1.350160 7.754502\nv 0.046384 0.111311 -0.002159\nvn -1.733558 1.093431 2.174317\nv -0.017129 0.111827 -0.002215\nvn -3.663918 1.329411 0.875949\nv -0.078920 0.111764 -0.002171\nvn 4.196116 -1.668324 2.121196\nv -0.043554 0.112956 -0.002150\nvn -2.107840 0.219279 5.577106\nv 0.038479 0.113750 -0.002312\nvn 1.766464 -1.368643 8.681141\nv 0.048444 0.113253 -0.002137\nvn 1.506355 -0.440794 4.715276\nv 0.050913 0.115463 -0.002516\nvn -1.747008 0.467198 4.615357\nv 0.038466 0.115728 -0.002418\nvn 1.732934 -0.626767 2.337424\nv 0.005671 0.114994 -0.002081\nvn 1.416294 -0.322481 6.815765\nv 0.050393 0.117292 -0.002336\nvn -2.179115 1.635657 2.876646\nv 0.069241 0.115980 -0.002167\nvn 1.675890 2.580813 2.553546\nv 0.074896 0.116439 -0.002304\nvn -1.920301 1.848225 2.949476\nv -0.013239 0.118222 -0.002291\nvn -2.188761 0.439152 9.607270\nv 0.040149 0.119607 -0.002145\nvn 1.783578 -0.290850 7.751790\nv 0.050510 0.119433 -0.002205\nvn -2.123860 1.375799 3.092983\nv -0.011280 0.119786 -0.002162\nvn 2.978942 -1.078230 5.062806\nv 0.007526 0.121351 -0.002207\nvn 2.025651 -0.080021 7.828091\nv 0.050475 0.123394 -0.002275\nvn -2.356971 -0.136634 7.455875\nv 0.040165 0.123191 -0.002285\nvn -1.994141 1.175096 3.190468\nv -0.009580 0.124068 -0.002345\nvn -2.597821 -0.328490 6.426961\nv 0.039982 0.125315 -0.002293\nvn 3.388063 -0.893121 7.059392\nv 0.009186 0.124938 -0.002179\nvn -1.493877 1.608018 3.329496\nv -0.007431 0.125870 -0.002272\nvn 2.031299 -0.601319 5.584750\nv 0.009497 0.127587 -0.002109\nvn -1.493927 1.813529 5.467468\nv -0.004987 0.128121 -0.002167\nvn 1.683516 -0.726150 6.692781\nv 0.010827 0.129479 -0.002164\nvn -2.851772 4.310464 2.985351\nv -0.058835 0.129943 -0.002185\nvn -1.518089 1.649936 6.580311\nv -0.002703 0.129421 -0.002258\nvn -1.317898 0.574413 5.796035\nv 0.040417 0.129717 -0.002243\nvn 3.651159 -0.532457 5.909681\nv -0.035847 0.131380 -0.002331\nvn -1.026243 -0.287113 5.888021\nv 0.040347 0.131322 -0.002310\nvn 0.971988 0.537524 4.863813\nv 0.048458 0.131284 -0.002506\nvn 1.774541 1.358090 9.706228\nv 0.048438 0.129473 -0.002184\nvn 1.049528 0.372025 6.880785\nv 0.046374 0.131309 -0.002189\nvn -1.269353 -1.009662 7.809025\nv 0.038684 0.133163 -0.002313\nvn 1.306051 0.575840 5.797296\nv 0.048411 0.133006 -0.002588\nvn 0.606910 -0.274320 4.944376\nv 0.012759 0.133180 -0.002318\nvn 1.959961 0.206256 3.470019\nv -0.035936 0.133312 -0.002263\nvn 1.149783 1.199793 6.770510\nv 0.046543 0.133687 -0.002243\nvn -0.782098 1.675674 6.714346\nv 0.000900 0.133291 -0.002228\nvn -1.135111 -0.657749 6.856440\nv 0.036285 0.135033 -0.002460\nvn 0.877441 -0.195180 5.888304\nv 0.014470 0.135094 -0.002348\nvn 3.500718 0.537615 7.145931\nv -0.036489 0.135210 -0.002195\nvn -0.971035 1.825522 6.664592\nv 0.003106 0.135124 -0.002388\nvn 0.876727 0.762171 4.838058\nv 0.046412 0.135143 -0.002470\nvn -0.114835 1.287018 5.840270\nv 0.004969 0.134997 -0.002172\nvn 2.097565 1.277286 4.099508\nv -0.036293 0.137226 -0.002395\nvn -0.169004 0.963192 5.898314\nv 0.007422 0.135203 -0.002250\nvn -0.358306 1.033165 5.890082\nv 0.008832 0.137204 -0.002538\nvn 0.317314 0.210066 5.946915\nv 0.013004 0.135316 -0.002275\nvn 0.167545 0.487714 6.956592\nv 0.014746 0.137350 -0.002551\nvn 0.722788 0.576513 4.891053\nv 0.042717 0.137418 -0.002313\nvn -1.179707 1.157135 2.501093\nv -0.048370 0.138124 -0.002144\nvn -0.630540 -0.308313 5.933863\nv 0.034302 0.139035 -0.002554\nvn -0.188635 0.666151 4.936344\nv 0.014527 0.139665 -0.002698\nvn -0.215040 0.590600 6.944274\nv 0.036361 0.139442 -0.002409\nvn -0.165984 0.621240 4.945012\nv 0.038618 0.139152 -0.002250\nvn 0.699565 1.151142 6.818556\nv 0.040596 0.139363 -0.002258\nvn 0.921807 -5.921523 0.001802\nv -0.077873 0.140499 -0.002387\nvn 1.802601 -0.415672 3.121049\nv -0.038111 0.140799 -0.002186\nvn -0.091406 0.367770 6.959696\nv 0.034244 0.141119 -0.002485\nvn -2.019616 -2.699091 -0.577459\nv -0.102734 0.141613 -0.002214\nvn -3.268233 -2.823816 6.866892\nv -0.044548 0.143006 -0.002266\nvn -2.020367 1.932073 -2.668955\nv -0.103170 0.144346 -0.002225\nvn -1.899140 -3.504542 2.724934\nv -0.046319 0.144696 -0.002085\nvn 2.162380 -2.577561 6.410071\nv -0.028470 0.146930 -0.002229\nvn 2.071221 0.060086 3.393787\nv -0.028168 0.149450 -0.002383\nvn -0.815339 2.629915 -0.154672\nv -0.084677 0.150248 -0.002372\nvn -1.573925 1.387442 -1.984716\nv -0.097162 0.150519 -0.002183\nvn 2.369453 -0.484074 6.296602\nv -0.028477 0.151012 -0.002274\nvn 2.139139 -0.433965 5.540603\nv -0.026640 0.157012 -0.002257\nvn 3.212549 0.882025 7.996808\nv -0.026614 0.159291 -0.002165\nvn -2.308323 -2.094046 1.844606\nv -0.051290 0.160492 -0.002215\nvn 1.194978 0.716103 3.741784\nv -0.026870 0.161100 -0.002450\nvn -1.143428 -6.846333 -0.829954\nv -0.062756 0.162229 -0.002460\nvn 2.039826 1.429515 6.427637\nv -0.028682 0.163251 -0.002149\nvn 1.629941 0.964154 3.483904\nv -0.030245 0.165421 -0.002430\nvn -3.243242 -1.474010 1.689759\nv -0.094324 0.168328 -0.002215\nvn -1.167697 -2.984380 2.322133\nv -0.084680 0.168118 -0.002252\nvn 3.527523 -0.321612 5.842294\nv -0.030030 0.168747 -0.002207\nvn 2.532398 -0.384296 5.999708\nv -0.030718 0.171143 -0.002156\nvn -0.788547 3.981909 1.862755\nv -0.072909 0.173776 -0.002218\nvn 2.684978 2.653573 5.667374\nv -0.034302 0.174923 -0.002168\nvn 3.710082 2.962679 -1.535332\nv -0.078844 0.176073 -0.002136\nvn 1.772181 0.427796 2.851150\nv -0.037995 0.176490 -0.002115\nvn 0.116141 4.954144 -3.093013\nv -0.096015 0.177986 -0.002266\nvn 0.526173 3.150004 -2.358613\nv -0.094675 0.177786 -0.002253\nvn -3.677836 1.883070 -2.778407\nv -0.089127 0.178845 -0.002203\nvn -0.643287 3.330011 -1.797064\nv -0.097336 0.177978 -0.002154\nvn 1.657595 2.918561 -2.006670\nv -0.082688 0.179844 -0.002304\nvn -0.665207 -3.925461 0.200624\nv -0.063173 0.053425 -0.002143\nvn 1.586264 -7.140541 2.461186\nv 0.066098 0.054856 -0.000961\nvn 1.258748 -5.696134 1.394471\nv 0.038135 0.055205 -0.001930\nvn -2.119657 -6.573827 0.955477\nv 0.046552 0.055705 -0.000738\nvn 1.548514 -1.693081 1.841457\nv 0.070710 0.055632 -0.002052\nvn -2.611524 -2.756199 0.393105\nv 0.034337 0.056474 -0.000998\nvn -4.956042 -2.228963 2.523201\nv 0.021107 0.058658 -0.001480\nvn 2.169789 -0.410094 -0.725947\nv 0.036629 0.060276 -0.000996\nvn 5.222859 -3.047463 3.391009\nv 0.073581 0.060410 -0.001220\nvn -5.181209 -2.389961 1.349572\nv 0.018853 0.064200 -0.000976\nvn -2.706939 1.184163 -2.473957\nv 0.041629 0.067075 -0.001968\nvn 1.056781 1.152997 -2.458198\nv 0.042197 0.068400 -0.001646\nvn 1.575152 -0.414604 -3.702306\nv 0.042420 0.069915 -0.001520\nvn 0.706966 -0.675931 0.620893\nv -0.006060 0.071275 -0.002038\nvn 1.788002 3.394289 -3.194645\nv 0.059126 0.072850 -0.001934\nvn 3.198493 -1.011004 2.173023\nv -0.001997 0.083525 -0.002038\nvn 0.261565 -0.615277 -2.677312\nv 0.077604 0.084475 -0.002054\nvn 2.269886 2.114175 3.791656\nv 0.035924 0.083978 -0.001496\nvn 2.745415 -1.516657 -5.810916\nv 0.078276 0.083745 -0.001585\nvn 1.218026 -1.733360 -7.934974\nv 0.078010 0.086099 -0.002040\nvn -1.165064 2.537203 4.143517\nv 0.027930 0.086700 -0.002032\nvn -0.370059 -1.590730 -5.718567\nv 0.076112 0.086482 -0.002051\nvn 1.987511 2.924210 5.746469\nv 0.034591 0.085710 -0.001763\nvn 2.420625 -1.197435 -5.079157\nv 0.079125 0.087690 -0.002038\nvn -1.052508 -1.139179 -2.525249\nv 0.072977 0.088192 -0.002076\nvn 3.098905 -0.849363 2.378923\nv -0.000167 0.089610 -0.002011\nvn -1.866681 -2.400135 -2.595122\nv 0.065190 0.094942 -0.001911\nvn -7.000759 2.814589 1.984922\nv -0.082490 0.103783 -0.000996\nvn -3.299269 1.921844 3.194025\nv -0.021445 0.104622 -0.002011\nvn 0.155875 -0.445854 6.927670\nv 0.040631 0.106027 -0.002079\nvn 0.561689 -0.681955 6.935499\nv 0.042546 0.107743 -0.002207\nvn -0.066497 -0.631104 5.910867\nv 0.040888 0.107593 -0.002031\nvn -3.032664 2.496769 0.612558\nv -0.081106 0.108725 -0.002038\nvn 0.306601 -0.875582 4.909663\nv 0.042585 0.108981 -0.002039\nvn 0.635569 -0.866923 5.891162\nv 0.044296 0.109496 -0.002048\nvn 0.436419 -0.413847 3.915191\nv 0.045677 0.111866 -0.001921\nvn 0.369162 -0.444109 2.941404\nv 0.046869 0.112594 -0.002004\nvn 1.552689 -0.106519 7.830930\nv 0.048725 0.115777 -0.002032\nvn 0.971825 -0.218096 5.898322\nv 0.048703 0.117615 -0.002116\nvn -1.587055 0.288253 4.706835\nv 0.039917 0.117897 -0.002094\nvn 0.580840 -0.408281 3.931887\nv 0.049049 0.119164 -0.002031\nvn -1.516356 0.302784 4.695617\nv 0.040346 0.121500 -0.002073\nvn 1.347975 -0.005257 4.791708\nv 0.050477 0.121354 -0.002180\nvn 1.030291 0.267136 3.852048\nv 0.050285 0.125408 -0.002298\nvn 1.506375 0.198567 7.833147\nv 0.049069 0.125470 -0.002013\nvn 3.538226 -0.230837 4.763080\nv -0.038380 0.127788 -0.001234\nvn -1.766060 0.055947 5.695303\nv 0.040339 0.127625 -0.002048\nvn 0.941632 0.354756 3.854636\nv 0.048614 0.127888 -0.002001\nvn -0.864549 0.405245 2.832510\nv -0.001439 0.129900 -0.001999\nvn 0.368800 0.678485 3.918049\nv 0.046341 0.129904 -0.002018\nvn 0.661514 0.041444 5.927061\nv 0.010823 0.131256 -0.002094\nvn 3.305855 -0.352695 6.121402\nv -0.036915 0.131180 -0.001752\nvn -1.751316 0.926381 5.639380\nv -0.001326 0.131368 -0.002102\nvn 0.329481 0.360073 3.960950\nv 0.008998 0.131679 -0.002038\nvn -0.828460 0.963621 4.821070\nv -0.000581 0.131153 -0.001885\nvn 0.157108 0.366733 6.969858\nv 0.008575 0.133400 -0.002062\nvn 0.501625 -0.070840 5.945456\nv 0.010940 0.133363 -0.002057\nvn -0.145598 -0.100238 6.921190\nv 0.040782 0.133142 -0.002083\nvn 0.788821 0.161012 4.910276\nv 0.045651 0.132665 -0.001974\nvn -0.500661 0.846550 4.890292\nv 0.002663 0.133307 -0.002035\nvn 0.375085 0.915434 5.901360\nv 0.007047 0.133575 -0.002027\nvn -1.078295 0.660709 4.856069\nv 0.042784 0.133791 -0.002108\nvn -1.679100 2.269135 2.801802\nv -0.053020 0.133923 -0.002049\nvn 2.555106 0.341457 5.399490\nv -0.036891 0.133458 -0.001772\nvn 0.300578 0.595189 5.931783\nv 0.010918 0.134997 -0.002116\nvn -0.657212 0.213204 4.837293\nv 0.038580 0.134644 -0.002165\nvn 0.533476 0.304272 6.956651\nv 0.042588 0.135273 -0.002237\nvn 0.275560 0.616657 2.921679\nv 0.044627 0.134275 -0.002155\nvn -0.115245 0.687892 5.938182\nv 0.009216 0.135001 -0.002104\nvn 0.069563 0.407420 5.839012\nv 0.040563 0.135341 -0.002020\nvn 0.366946 1.071754 6.890276\nv 0.044267 0.134985 -0.002279\nvn -0.546795 -0.068923 4.955579\nv 0.036212 0.137498 -0.002312\nvn -0.484996 0.117957 6.973767\nv 0.038560 0.137542 -0.002158\nvn 0.257597 0.269621 5.966300\nv 0.040766 0.136730 -0.002028\nvn 2.041163 0.179417 3.174334\nv -0.038170 0.139484 -0.002025\nvn -1.237006 1.078606 3.644013\nv -0.046752 0.139496 -0.002099\nvn 0.733877 -7.012897 3.671935\nv -0.038720 0.141613 -0.001164\nvn 1.344596 -5.348689 3.872762\nv -0.099779 0.141664 -0.001386\nvn -0.915309 0.989956 3.738896\nv -0.044378 0.141873 -0.002044\nvn 1.200282 -8.166456 5.165725\nv -0.097645 0.142873 -0.000944\nvn -0.402299 -4.365368 2.118361\nv -0.095604 0.142310 -0.002038\nvn 0.728385 -1.443094 3.331203\nv -0.029101 0.147429 -0.001776\nvn 2.980762 -0.140017 6.156840\nv -0.029118 0.149022 -0.001649\nvn 1.559074 4.978510 0.070850\nv -0.091946 0.149443 -0.001265\nvn -2.225047 7.044478 -3.503011\nv -0.084024 0.150960 -0.001010\nvn 1.157443 -0.617895 2.447439\nv -0.029398 0.151600 -0.001954\nvn 1.660654 -0.674078 5.479805\nv -0.026903 0.153069 -0.001813\nvn 1.143140 0.206935 2.549787\nv -0.025810 0.153633 -0.002107\nvn -0.593512 5.647767 0.960256\nv -0.066072 0.153624 -0.000914\nvn -1.388244 7.051563 2.534364\nv -0.064352 0.153923 -0.000904\nvn -2.057461 5.982722 1.972518\nv -0.057777 0.154485 -0.001396\nvn -1.282832 4.535126 1.139750\nv -0.056278 0.154788 -0.000982\nvn -0.390747 6.045531 3.359678\nv -0.060072 0.154519 -0.001582\nvn 1.923474 0.041823 6.619262\nv -0.028424 0.156638 -0.001733\nvn -4.154720 1.065736 4.501119\nv -0.049768 0.158925 -0.001296\nvn 1.346506 0.708014 4.751825\nv -0.028267 0.161181 -0.002110\nvn 2.381079 1.091439 7.305068\nv -0.030913 0.164634 -0.001865\nvn -0.341987 -4.503565 3.834174\nv -0.087567 0.169476 -0.001638\nvn 0.600564 0.722925 3.714295\nv -0.030459 0.172976 -0.002034\nvn 1.198198 1.739075 2.124415\nv -0.035619 0.175571 -0.002007\nvn -1.585780 -7.264154 1.348023\nv 0.026519 0.052929 -0.000803\nvn 2.229905 -7.394223 -1.280779\nv 0.028549 0.053101 -0.000993\nvn -0.844264 -3.754338 0.785061\nv 0.054647 0.053089 -0.001384\nvn -0.775327 -6.788327 0.759666\nv 0.056091 0.052931 -0.000815\nvn 0.201888 -3.967056 -0.141172\nv 0.058073 0.052863 -0.000900\nvn 0.998003 -3.809103 -0.263770\nv -0.059672 0.053410 -0.001480\nvn -0.796044 -4.861681 0.024012\nv -0.025985 0.053309 -0.001338\nvn 0.547256 -7.820986 0.152438\nv -0.024658 0.053265 -0.000827\nvn 2.540365 -7.430588 0.757768\nv -0.022740 0.053688 -0.001031\nvn -1.218525 -2.441099 0.940182\nv 0.024999 0.053207 -0.001338\nvn -2.088826 -5.312111 1.725549\nv 0.054162 0.053437 -0.000889\nvn 1.855452 -7.553800 -1.371369\nv 0.059568 0.053065 -0.000764\nvn -1.540506 -6.783882 0.765969\nv -0.064346 0.053804 -0.001029\nvn 1.861969 -6.600609 -0.848478\nv -0.058488 0.053721 -0.000824\nvn -1.476224 -7.678396 -0.983896\nv -0.027102 0.053537 -0.000977\nvn -4.398803 -5.540941 3.285076\nv 0.024435 0.053939 -0.000675\nvn 1.322761 -2.598272 -0.685168\nv 0.029373 0.053588 -0.001367\nvn -2.649801 -7.085980 2.502089\nv 0.052550 0.054181 -0.000862\nvn 1.012146 -3.747979 -0.873438\nv 0.060794 0.053713 -0.001496\nvn -0.569908 -3.900843 0.412218\nv -0.068059 0.054210 -0.000824\nvn -0.470191 -5.916271 0.610230\nv -0.065908 0.054164 -0.001054\nvn 4.476186 -6.859632 -3.097595\nv 0.030905 0.054255 -0.000765\nvn -3.472164 -2.870693 0.702130\nv 0.034529 0.054718 -0.000888\nvn -3.070051 -7.274974 0.886107\nv -0.070045 0.054750 -0.001107\nvn -0.998244 -4.706984 -1.330102\nv -0.029088 0.054020 -0.000809\nvn -2.835695 -2.104636 1.711888\nv 0.023132 0.054958 -0.001094\nvn 2.042986 -6.578223 -0.966718\nv 0.062255 0.053991 -0.000882\nvn 0.855708 -4.876830 0.263255\nv 0.064263 0.054495 -0.001083\nvn 0.785625 -4.816234 3.288739\nv 0.067982 0.054853 -0.001344\nvn 1.547426 -4.604429 -1.087783\nv -0.056417 0.054568 -0.000832\nvn -1.002584 -5.733713 -1.404967\nv -0.030685 0.054361 -0.000948\nvn 3.317705 -6.918230 2.046525\nv -0.020755 0.054659 -0.000865\nvn 1.222296 -2.599284 0.783658\nv -0.019453 0.055049 -0.001355\nvn -1.812566 -7.612298 1.517472\nv 0.050425 0.054896 -0.000707\nvn 1.285182 -2.745644 2.413102\nv 0.069211 0.054914 -0.001664\nvn -2.535522 -5.589803 -3.016015\nv -0.034248 0.054998 -0.000777\nvn -1.019904 -5.627264 -1.758364\nv -0.032509 0.054590 -0.000695\nvn 1.546368 -3.900765 -1.188034\nv 0.032508 0.056204 -0.000840\nvn -2.805631 -5.222518 0.855174\nv -0.072098 0.055994 -0.000765\nvn 0.881663 -5.686579 -1.060141\nv -0.048411 0.055465 -0.001234\nvn -1.265575 -2.242980 -1.473459\nv -0.034899 0.055764 -0.001232\nvn 2.965025 -4.781708 1.930468\nv -0.018570 0.055673 -0.000932\nvn -7.685402 -4.383572 4.521359\nv 0.022483 0.056359 -0.000879\nvn -1.097286 -4.819788 0.721254\nv 0.048302 0.055241 -0.001338\nvn 2.138134 -6.284488 -3.220676\nv -0.046063 0.056463 -0.001052\nvn -1.094624 -5.477239 -0.472556\nv -0.044481 0.056504 -0.001121\nvn -0.598673 -5.837774 0.487678\nv -0.042626 0.055948 -0.001012\nvn -1.384519 -6.548117 2.771779\nv 0.044464 0.056575 -0.000942\nvn 5.546846 -6.629541 6.540743\nv 0.069839 0.056291 -0.000922\nvn 4.153311 -3.810044 1.873648\nv -0.017262 0.056700 -0.001121\nvn 1.579205 -1.714006 1.839981\nv 0.071110 0.056482 -0.001717\nvn -1.902785 -6.525730 -2.784953\nv -0.036376 0.056233 -0.000893\nvn -2.441600 -1.134174 1.299719\nv 0.021641 0.057100 -0.001688\nvn 4.036603 -3.583224 2.253012\nv -0.016452 0.057987 -0.000895\nvn 2.512037 -1.286669 -0.781095\nv 0.034986 0.057988 -0.001078\nvn -3.482762 -4.755059 1.012993\nv -0.074776 0.057348 -0.000952\nvn 6.202419 -5.331625 5.656642\nv 0.071490 0.057978 -0.000903\nvn -4.002526 -4.341301 1.023838\nv -0.076124 0.058477 -0.000986\nvn -2.498256 1.839619 0.122390\nv 0.035757 0.058701 -0.000749\nvn 4.283506 -4.625935 2.738734\nv -0.014548 0.059755 -0.000835\nvn -4.012792 -4.302613 1.127274\nv -0.077926 0.060304 -0.000920\nvn -7.435619 -3.308439 3.808365\nv 0.020620 0.060291 -0.000859\nvn 4.291978 -3.471462 2.298238\nv -0.013479 0.060814 -0.000981\nvn -5.503613 -5.531576 1.413504\nv -0.079928 0.061949 -0.000994\nvn -7.263103 -3.528770 3.423233\nv 0.019586 0.062280 -0.001171\nvn 5.266186 -3.464283 2.937773\nv -0.012609 0.062031 -0.000934\nvn 2.192100 -1.377993 -0.474668\nv 0.037017 0.061719 -0.001446\nvn 6.416494 -1.042788 1.967352\nv 0.074088 0.062239 -0.000930\nvn 0.904500 -1.495967 -0.667347\nv 0.038031 0.062544 -0.001002\nvn 7.127185 -5.516035 4.146696\nv -0.011046 0.064155 -0.001048\nvn -5.988734 -3.368681 1.211085\nv -0.081574 0.064351 -0.000964\nvn 4.909394 0.002710 -0.083823\nv 0.074159 0.064565 -0.000988\nvn -0.464570 0.428833 -0.770987\nv 0.039059 0.064213 -0.000984\nvn 6.033489 -3.347980 3.842519\nv -0.009466 0.066339 -0.001007\nvn -4.758505 -3.523103 -0.253238\nv 0.018030 0.065527 -0.000925\nvn 0.423573 -0.899577 -2.834568\nv 0.040222 0.066138 -0.001275\nvn 5.515067 0.438354 -1.271878\nv 0.073987 0.066104 -0.000835\nvn -5.839672 -3.552537 1.292706\nv -0.082389 0.066135 -0.000864\nvn -4.176101 -2.522055 -0.738816\nv 0.017152 0.066604 -0.000909\nvn 5.353367 -2.659389 3.542064\nv -0.008748 0.068093 -0.000841\nvn -7.054818 -3.360416 -1.630526\nv 0.016343 0.068027 -0.000885\nvn -0.539836 -0.510469 -1.399035\nv 0.041103 0.067754 -0.001394\nvn -4.134586 -2.569320 0.835167\nv -0.083879 0.068060 -0.000885\nvn 4.661923 1.061320 -2.814931\nv 0.073851 0.068091 -0.000695\nvn -7.551857 -2.236335 1.219910\nv -0.084705 0.070064 -0.001130\nvn 5.653278 -3.176896 4.597745\nv -0.007476 0.070239 -0.000981\nvn -2.675403 -1.180614 -0.665412\nv 0.015897 0.069286 -0.001382\nvn 4.058423 1.961027 -3.996279\nv 0.072523 0.070340 -0.001186\nvn -1.988755 2.807488 -5.122890\nv 0.044298 0.070577 -0.001590\nvn -6.331995 -2.617888 -1.340421\nv 0.015407 0.070273 -0.001114\nvn 5.887688 -3.065754 4.643041\nv -0.006397 0.072055 -0.001082\nvn -1.411053 1.969093 -2.985294\nv 0.045816 0.071103 -0.001923\nvn -6.677611 -0.992088 -0.990599\nv 0.014639 0.072157 -0.000801\nvn 3.621016 -2.121728 -1.838564\nv 0.043079 0.072004 -0.001312\nvn 0.368929 2.358324 -4.275667\nv 0.071994 0.072178 -0.000656\nvn 1.375695 4.285833 -1.438359\nv 0.069978 0.072227 -0.000858\nvn -6.477813 -2.019151 1.296948\nv -0.085174 0.072481 -0.000943\nvn -2.426664 3.661835 -6.025719\nv 0.046057 0.072503 -0.001124\nvn 1.128098 2.666322 -2.739525\nv 0.060536 0.072544 -0.001502\nvn 0.835816 5.946195 -4.995526\nv 0.062290 0.072577 -0.000931\nvn -1.228422 5.384034 -1.401945\nv 0.064196 0.072709 -0.000979\nvn 1.778555 7.286225 -1.163592\nv 0.067968 0.072929 -0.000865\nvn -7.033202 -3.397624 1.358849\nv -0.086217 0.074198 -0.000918\nvn -3.504714 1.575810 -2.606751\nv 0.048185 0.074180 -0.001445\nvn 2.782786 6.300698 -5.727850\nv 0.058237 0.074225 -0.000890\nvn -0.188743 5.298024 -2.062116\nv 0.066111 0.073165 -0.000779\nvn 3.197260 -1.105450 2.123758\nv -0.005451 0.074206 -0.001294\nvn -3.923147 -0.090066 -0.282656\nv 0.014551 0.074057 -0.000774\nvn 1.685983 3.705798 -2.815507\nv 0.056368 0.074519 -0.001396\nvn 3.809294 -3.633439 0.223094\nv 0.044677 0.075448 -0.000982\nvn -2.645545 -1.211390 -1.661460\nv 0.048189 0.075850 -0.001148\nvn 1.759871 2.687303 -2.249774\nv 0.054977 0.075052 -0.001584\nvn -6.633931 1.087828 -0.004889\nv 0.014556 0.076130 -0.000868\nvn 3.516987 4.027267 -4.318777\nv 0.054351 0.076130 -0.000998\nvn -0.927599 -5.503089 -2.156676\nv 0.046385 0.075950 -0.000959\nvn 6.245050 -1.986644 4.567102\nv -0.005079 0.076267 -0.000869\nvn 2.527697 1.814917 -2.433349\nv 0.053211 0.076651 -0.001586\nvn 4.637671 -1.263199 3.587560\nv -0.004595 0.077747 -0.000968\nvn -4.480881 1.885448 -0.192926\nv 0.015256 0.077979 -0.000971\nvn 4.093838 5.386829 -4.904183\nv 0.052716 0.078415 -0.001082\nvn -6.905646 0.149098 0.968087\nv -0.086955 0.077750 -0.001338\nvn 0.000000 0.000000 -0.000000\nv -0.003673 0.078275 -0.001904\nvn -4.807646 3.414827 -0.175090\nv 0.016552 0.080057 -0.000917\nvn 0.524268 5.936100 0.631918\nv 0.044233 0.078793 -0.000987\nvn -0.014731 5.964782 0.535047\nv 0.046552 0.078741 -0.001688\nvn -0.294092 3.982099 0.184421\nv 0.048419 0.078783 -0.001046\nvn -0.167390 8.425045 -1.499374\nv 0.050100 0.078971 -0.001155\nvn 2.058267 4.370014 1.165291\nv 0.041896 0.079447 -0.000884\nvn 1.498138 5.677262 0.970964\nv 0.043077 0.078964 -0.000877\nvn 3.087223 -0.981477 2.340011\nv -0.003666 0.080076 -0.001316\nvn 3.565935 5.290318 2.720253\nv 0.040432 0.080351 -0.000888\nvn -5.907041 0.245658 0.921634\nv -0.086680 0.080083 -0.000754\nvn -0.020477 -0.281258 -5.783540\nv 0.075862 0.081963 -0.001738\nvn 0.880684 -0.422957 -4.793281\nv 0.076283 0.080049 -0.001592\nvn -5.667451 -1.234191 1.096581\nv -0.086705 0.081397 -0.000621\nvn -3.340875 3.526360 -0.464998\nv 0.017585 0.081185 -0.000949\nvn 4.098441 -1.266443 -5.014837\nv 0.078350 0.081969 -0.001032\nvn -5.527983 -1.959209 1.012747\nv -0.087181 0.082266 -0.000946\nvn -3.671919 5.736125 -1.157076\nv 0.018853 0.082064 -0.000877\nvn 3.603406 5.558779 4.273981\nv 0.038321 0.081874 -0.001162\nvn 4.678618 -1.585501 3.401665\nv -0.003288 0.081868 -0.000980\nvn -2.295908 5.382406 -1.166660\nv 0.020672 0.082839 -0.001109\nvn 7.097188 -2.179842 5.076808\nv -0.002731 0.083759 -0.000923\nvn -2.404173 7.367247 -0.742205\nv 0.022578 0.083468 -0.000903\nvn 2.487675 3.800556 3.847601\nv 0.036397 0.082643 -0.000740\nvn -1.185583 -0.561831 -6.639005\nv 0.076129 0.084145 -0.001782\nvn -5.836228 -0.245840 0.857237\nv -0.087624 0.084112 -0.000926\nvn -2.199093 6.348338 2.548702\nv 0.024832 0.084113 -0.001202\nvn -0.692134 3.620067 2.555262\nv 0.026585 0.084235 -0.000797\nvn -1.087986 2.596832 4.120603\nv 0.026965 0.085340 -0.001427\nvn -0.876742 -0.792662 -4.811078\nv 0.075992 0.085607 -0.001828\nvn 5.760670 -3.154994 -5.449144\nv 0.079731 0.086033 -0.000906\nvn 1.112215 -1.200306 -1.965566\nv 0.078927 0.086237 -0.001897\nvn -0.706664 2.965696 5.132784\nv 0.028724 0.085777 -0.001251\nvn -1.459910 -1.712877 -5.523225\nv 0.074321 0.086079 -0.001583\nvn 0.152587 2.948775 5.211671\nv 0.030728 0.086025 -0.001359\nvn 0.666702 3.095206 6.206872\nv 0.032576 0.086047 -0.001537\nvn -0.035865 1.200560 2.748819\nv 0.032249 0.086990 -0.001959\nvn 4.483522 -2.278705 -4.798262\nv 0.080207 0.087426 -0.001107\nvn 6.871149 -1.946794 5.460912\nv -0.001264 0.088246 -0.001098\nvn -3.825924 -2.701330 -7.568150\nv 0.071834 0.087807 -0.001325\nvn -5.817095 0.418590 1.054600\nv -0.087002 0.087987 -0.001425\nvn -7.635945 -0.895519 1.908397\nv -0.087052 0.089727 -0.001061\nvn -2.113240 -0.983193 -3.231311\nv 0.071479 0.089446 -0.001696\nvn 3.630177 -1.762761 -4.425514\nv 0.080665 0.089630 -0.001607\nvn -4.599626 -2.632588 -7.174062\nv 0.070259 0.089646 -0.000912\nvn 5.316224 -1.332831 4.347759\nv -0.001099 0.089743 -0.000780\nvn 3.622697 -1.370768 -3.089867\nv 0.081859 0.090033 -0.000729\nvn -5.738977 0.856418 0.917442\nv -0.087184 0.091587 -0.000994\nvn -2.995599 -2.364232 -4.625038\nv 0.069919 0.091295 -0.001472\nvn 6.015053 -1.884062 -4.750228\nv 0.081849 0.091425 -0.001211\nvn 2.956909 -1.012700 2.401123\nv 0.000131 0.091805 -0.001688\nvn -2.360586 -3.687676 -6.571201\nv 0.068180 0.092142 -0.000817\nvn -7.258004 3.014866 1.297601\nv -0.086331 0.093969 -0.000812\nvn 4.667353 -0.904426 3.657667\nv 0.000256 0.093793 -0.001330\nvn -0.848975 -2.049870 -3.297915\nv 0.067668 0.093282 -0.001406\nvn -0.120680 6.884120 0.927733\nv -0.036130 0.093600 -0.000994\nvn -2.049396 -3.925742 -5.273550\nv 0.065952 0.093632 -0.001185\nvn 1.476551 5.745648 0.840874\nv -0.040591 0.094305 -0.001055\nvn 1.153663 6.849438 0.835345\nv -0.038511 0.093907 -0.001045\nvn -2.151614 6.566611 1.076774\nv -0.032748 0.094383 -0.000714\nvn 1.434339 3.658330 0.645237\nv -0.042266 0.094760 -0.000915\nvn -5.302900 -1.771817 -3.641529\nv 0.064859 0.093977 -0.000808\nvn -2.835814 7.071614 2.202832\nv -0.030606 0.095136 -0.001074\nvn 3.438184 -0.801984 -1.837880\nv 0.082734 0.095269 -0.001283\nvn 3.202810 4.955960 0.962948\nv -0.043082 0.095152 -0.000797\nvn -5.891395 -0.427744 0.224739\nv 0.064662 0.095930 -0.000905\nvn -6.058926 2.073964 2.264208\nv -0.085355 0.095944 -0.000920\nvn -3.119397 4.478780 2.337435\nv -0.028822 0.095844 -0.000815\nvn 5.087031 -1.141059 4.627822\nv 0.000566 0.096181 -0.001168\nvn 7.273456 -1.018350 -3.004099\nv 0.083069 0.095620 -0.000689\nvn 3.814412 3.056156 0.978417\nv -0.045133 0.097109 -0.001092\nvn -3.788342 4.053964 2.251202\nv -0.027890 0.097104 -0.001376\nvn -6.255455 0.579792 2.747420\nv -0.085159 0.097787 -0.001083\nvn 4.868074 -1.346245 4.773057\nv 0.000807 0.097749 -0.000949\nvn 3.734377 -0.167675 -1.289204\nv 0.083016 0.097350 -0.001512\nvn 4.270759 2.320456 1.080854\nv -0.045685 0.097827 -0.000805\nvn -5.688234 0.864812 1.316182\nv 0.064569 0.098090 -0.001034\nvn -4.943666 6.138575 4.215497\nv -0.026400 0.098062 -0.000708\nvn -3.517552 0.863838 1.244303\nv -0.085108 0.099095 -0.001250\nvn -4.475688 1.667232 1.435246\nv 0.064915 0.099269 -0.001057\nvn -4.527726 5.480637 5.255412\nv -0.024670 0.099516 -0.001007\nvn 4.367525 -1.055165 3.921936\nv 0.001235 0.099452 -0.000867\nvn -6.949374 2.594545 2.299788\nv -0.084653 0.099952 -0.000934\nvn 2.337748 -0.468946 1.779278\nv 0.001989 0.100325 -0.001512\nvn 6.005203 -0.821771 5.161937\nv 0.002208 0.101856 -0.001541\nvn -5.107772 2.798479 1.360722\nv -0.083725 0.101744 -0.000950\nvn -6.065989 4.775057 6.157190\nv -0.022346 0.101861 -0.001023\nvn -4.607043 1.664528 1.201243\nv 0.065969 0.101897 -0.000935\nvn -3.376275 2.007028 0.738473\nv -0.083119 0.102847 -0.001191\nvn -2.728714 1.918887 2.194370\nv -0.022048 0.103300 -0.001830\nvn 3.375515 -0.510516 3.636755\nv 0.002257 0.104091 -0.001362\nvn -5.718651 0.687036 1.437685\nv 0.066473 0.103811 -0.000959\nvn -5.161873 4.079978 5.973921\nv -0.020963 0.103735 -0.000983\nvn 5.615757 -0.364875 2.052405\nv -0.046577 0.104492 -0.001163\nvn 7.753133 1.359971 -1.006788\nv 0.082681 0.103700 -0.000940\nvn -3.471289 2.249454 4.305327\nv -0.020082 0.106029 -0.001724\nvn 3.179859 -0.931617 3.734406\nv 0.002566 0.106118 -0.001206\nvn -5.521298 1.392448 1.759001\nv -0.082279 0.105826 -0.001110\nvn -4.904026 0.244135 0.920112\nv 0.066496 0.105993 -0.000982\nvn 3.856817 0.915419 -0.009818\nv 0.082347 0.105784 -0.000895\nvn -3.734732 2.320024 5.390633\nv -0.018814 0.105612 -0.000690\nvn -5.845137 3.130400 1.803580\nv -0.081597 0.107605 -0.000821\nvn -4.129081 1.960815 5.237385\nv -0.018519 0.107601 -0.001059\nvn 7.311126 2.675666 1.117224\nv 0.081716 0.107775 -0.000905\nvn 4.518934 -1.142662 1.787745\nv -0.046101 0.107814 -0.000916\nvn 4.355191 -1.142574 5.321997\nv 0.003025 0.107695 -0.001144\nvn -0.298906 -0.699880 4.907472\nv 0.040077 0.108200 -0.001929\nvn -5.663994 0.804891 1.612629\nv 0.066684 0.107758 -0.000824\nvn -0.433422 -0.276748 2.924106\nv 0.039377 0.108375 -0.001961\nvn -5.137013 4.326973 1.825576\nv -0.080128 0.109498 -0.001032\nvn 5.893652 -2.280562 2.915275\nv -0.045676 0.109437 -0.000699\nvn -3.630303 2.285569 4.123417\nv -0.018026 0.109229 -0.001311\nvn -1.234481 -0.040244 6.853530\nv 0.039412 0.109478 -0.001934\nvn 0.119217 -0.677048 6.934257\nv 0.040719 0.109530 -0.001804\nvn -6.298052 1.089030 2.569666\nv 0.066862 0.109549 -0.000706\nvn 3.797910 -0.854656 5.582738\nv 0.003128 0.109528 -0.000930\nvn 3.454363 1.634558 1.054261\nv 0.081185 0.109067 -0.000928\nvn 2.472801 -1.181662 1.197362\nv -0.045057 0.109775 -0.001571\nvn 1.919111 -0.417406 2.020410\nv 0.004377 0.109775 -0.001900\nvn 4.914178 2.852725 1.788916\nv 0.080613 0.110149 -0.000942\nvn 0.204741 -0.640296 5.948186\nv 0.042644 0.110242 -0.001795\nvn 0.317917 -0.612274 3.929614\nv 0.043577 0.110125 -0.001854\nvn -5.932348 3.013821 1.881803\nv -0.078683 0.111366 -0.000754\nvn -3.196285 2.459951 4.416266\nv -0.016746 0.111331 -0.001703\nvn -0.932670 0.009149 7.875396\nv 0.040476 0.111364 -0.001740\nvn 0.081863 0.030130 4.986081\nv 0.042673 0.111722 -0.001688\nvn -4.169400 1.345884 2.263077\nv 0.066864 0.111570 -0.001780\nvn 4.770771 3.987943 2.953085\nv 0.079738 0.111430 -0.000852\nvn 0.865281 -0.678836 7.880875\nv 0.044365 0.111778 -0.001768\nvn 7.434207 -2.867237 4.137071\nv -0.044753 0.111371 -0.000843\nvn -4.840497 2.682002 4.151796\nv 0.067830 0.111834 -0.000613\nvn -7.092799 4.674216 2.445184\nv -0.077962 0.113424 -0.001045\nvn -3.879194 2.807614 6.366903\nv -0.015075 0.111825 -0.000862\nvn 0.655248 0.465479 1.458194\nv 0.004377 0.112575 -0.001854\nvn 0.125387 -0.131625 5.973094\nv 0.044452 0.113275 -0.001844\nvn 0.588362 -0.958356 7.877086\nv 0.046097 0.113811 -0.001755\nvn 2.524942 2.423872 1.788653\nv 0.079057 0.112651 -0.001292\nvn -3.710282 2.196527 5.477921\nv -0.014492 0.113527 -0.001220\nvn 3.397363 -0.904889 4.834936\nv 0.004030 0.113631 -0.001336\nvn -0.853923 -0.018285 5.882522\nv 0.040463 0.113745 -0.001801\nvn -4.842012 2.770431 4.152536\nv 0.068155 0.113507 -0.001190\nvn 5.656532 -2.157301 3.465976\nv -0.044185 0.113106 -0.000867\nvn 0.005017 -0.204307 5.972741\nv 0.042658 0.113800 -0.001820\nvn 4.119260 5.265808 4.288639\nv 0.077852 0.113354 -0.000913\nvn 0.493051 -0.446691 3.915710\nv 0.047427 0.113975 -0.001832\nvn 5.950696 -3.076101 4.341005\nv -0.042793 0.115547 -0.001330\nvn 3.172679 -0.884420 4.973305\nv 0.004722 0.115608 -0.001321\nvn -1.526497 0.211885 6.765120\nv 0.040767 0.115708 -0.001751\nvn -0.171470 -0.294244 4.974084\nv 0.042511 0.115662 -0.001581\nvn 0.101347 -0.570037 7.967360\nv 0.044563 0.115623 -0.001596\nvn 0.767234 -0.162473 3.911100\nv 0.047777 0.114675 -0.001851\nvn 2.242909 3.354709 2.931961\nv 0.076036 0.114858 -0.001394\nvn 0.803273 -0.133877 6.936540\nv 0.046565 0.115856 -0.001680\nvn -3.218725 1.826974 4.694418\nv -0.014045 0.115512 -0.001530\nvn -3.477220 5.701025 7.162426\nv 0.070463 0.115550 -0.000952\nvn 3.177326 6.106148 5.720273\nv 0.074372 0.115441 -0.000885\nvn -4.521661 4.582557 2.481889\nv -0.075971 0.115407 -0.000871\nvn -6.392582 5.028746 3.456934\nv -0.074070 0.117591 -0.000885\nvn 3.315785 -0.697890 7.000978\nv 0.005062 0.117541 -0.001369\nvn 0.995559 0.011275 4.896877\nv 0.047660 0.117242 -0.001891\nvn -2.533929 2.521946 4.758373\nv -0.012592 0.117713 -0.001640\nvn 1.335356 -0.525795 2.415823\nv 0.006127 0.117125 -0.001901\nvn 0.162910 3.903529 4.346570\nv 0.072290 0.116880 -0.001530\nvn 3.707962 -1.757418 2.839575\nv -0.041352 0.117804 -0.001627\nvn -0.738177 0.339251 3.892049\nv 0.041360 0.117767 -0.001682\nvn -2.835566 2.693837 6.855062\nv -0.010967 0.117430 -0.000861\nvn -0.796037 0.688830 4.870330\nv 0.040952 0.118817 -0.001918\nvn -0.587287 0.507365 7.919684\nv 0.042644 0.117708 -0.001544\nvn -2.541805 2.529298 1.594271\nv -0.073377 0.118992 -0.001458\nvn 5.009869 -1.565559 4.578637\nv -0.040930 0.119620 -0.001277\nvn -3.347361 2.247869 5.675491\nv -0.010442 0.119226 -0.001282\nvn -0.950616 0.754230 6.853680\nv 0.042702 0.119269 -0.001801\nvn 0.772499 -0.093147 7.922661\nv 0.046753 0.119619 -0.001644\nvn 2.803681 -0.761565 5.222844\nv 0.006196 0.119483 -0.001676\nvn 0.731601 -0.437831 4.917546\nv 0.048127 0.119750 -0.001793\nvn -4.573847 5.631505 3.191994\nv -0.072073 0.119737 -0.000928\nvn -0.250617 0.330070 5.967628\nv 0.044432 0.119614 -0.001675\nvn -0.756224 0.262712 3.889438\nv 0.042247 0.120065 -0.001993\nvn -1.479729 1.127167 2.352773\nv -0.010013 0.120800 -0.001740\nvn -0.386227 0.033084 4.947032\nv 0.041137 0.121455 -0.001952\nvn -0.351585 -0.163814 3.953779\nv 0.042264 0.120800 -0.002006\nvn -1.180402 -0.054851 7.842369\nv 0.042790 0.121777 -0.001893\nvn -0.319683 0.113836 5.972842\nv 0.044525 0.121447 -0.001655\nvn 1.033750 0.191175 7.898120\nv 0.048199 0.121521 -0.001750\nvn -4.726080 5.578153 3.104167\nv -0.069882 0.121358 -0.000989\nvn 4.526890 -1.889493 4.948731\nv -0.040521 0.121404 -0.001041\nvn -2.736138 2.090729 6.010638\nv -0.008704 0.121372 -0.001209\nvn 2.450561 -0.614483 5.412277\nv 0.006530 0.121606 -0.001567\nvn 0.526403 0.139901 2.925414\nv 0.049527 0.122025 -0.001952\nvn -5.653739 6.004732 3.302590\nv -0.068156 0.123405 -0.000939\nvn -2.778951 1.793038 6.074538\nv -0.008627 0.123403 -0.001679\nvn 0.155920 0.240930 5.979922\nv 0.046378 0.121654 -0.001621\nvn 2.194349 -0.632349 6.502355\nv 0.007001 0.123288 -0.001550\nvn -0.727899 -0.372793 6.892963\nv 0.042667 0.123495 -0.001731\nvn -0.111221 -0.025981 4.978688\nv 0.044397 0.123075 -0.001664\nvn 0.268333 0.252563 5.981587\nv 0.046200 0.123463 -0.001780\nvn 0.483109 -0.253136 6.109851\nv 0.048302 0.123600 -0.001935\nvn 3.502599 -1.687988 4.531530\nv -0.039183 0.123639 -0.001196\nvn 0.109311 -0.495391 1.133460\nv 0.049177 0.123425 -0.002017\nvn -0.917385 -0.287547 3.835312\nv 0.041127 0.123775 -0.001930\nvn 1.329984 -0.324675 3.671533\nv 0.008227 0.124125 -0.001777\nvn -0.049163 0.074644 7.990507\nv 0.044331 0.125262 -0.001737\nvn 0.270228 -0.075157 4.989393\nv 0.046358 0.125058 -0.001811\nvn 3.778294 -0.803361 4.531888\nv -0.038435 0.125262 -0.001287\nvn -2.242990 2.454781 7.209433\nv -0.006811 0.125012 -0.001668\nvn -0.870612 0.002526 4.898437\nv 0.041171 0.125131 -0.001937\nvn -0.311757 0.020609 4.987142\nv 0.042676 0.125630 -0.001812\nvn -3.075316 5.664852 2.629019\nv -0.065993 0.124846 -0.001140\nvn 1.527312 -0.243833 7.805808\nv 0.006893 0.125532 -0.001542\nvn 0.462227 -0.130068 4.973484\nv 0.048477 0.125642 -0.001931\nvn 1.142766 -0.409491 3.794108\nv 0.008338 0.125992 -0.001795\nvn -3.327963 5.058703 3.379611\nv -0.064211 0.125639 -0.000876\nvn 0.372983 0.163293 7.957020\nv 0.046124 0.127289 -0.001691\nvn -1.211522 1.351247 3.525573\nv -0.005948 0.126575 -0.001898\nvn 1.382537 -0.303648 4.772514\nv 0.008511 0.127480 -0.001712\nvn -0.912969 -0.056453 5.897948\nv 0.041127 0.127363 -0.001877\nvn -0.088061 0.071619 4.996664\nv 0.044532 0.127508 -0.001750\nvn -3.066601 3.047460 2.460906\nv -0.063381 0.126752 -0.001336\nvn -1.304466 1.943244 5.460770\nv -0.004537 0.127016 -0.001629\nvn -0.322837 0.013523 5.987463\nv 0.042483 0.127377 -0.001798\nvn 0.606384 0.244977 4.936042\nv 0.047777 0.127275 -0.001808\nvn -4.490574 5.913618 4.871404\nv -0.062618 0.127456 -0.001226\nvn -0.962455 1.983997 6.595700\nv -0.002674 0.127588 -0.001605\nvn -2.139479 4.495490 3.271117\nv -0.060674 0.128103 -0.000560\nvn -1.901997 4.034528 2.241056\nv -0.060216 0.128812 -0.001419\nvn 1.319540 0.040892 5.822885\nv 0.008898 0.129553 -0.001784\nvn 0.384757 0.560567 3.921707\nv 0.046552 0.129025 -0.001838\nvn 4.149009 -0.576111 6.771252\nv -0.038599 0.129295 -0.000927\nvn -1.950324 1.699708 8.574656\nv -0.000768 0.129495 -0.001701\nvn -0.840688 0.458448 4.864508\nv 0.041127 0.129142 -0.001953\nvn -0.438349 0.370876 5.919201\nv 0.042760 0.129492 -0.001769\nvn 0.376369 0.538215 7.942710\nv 0.044408 0.129550 -0.001817\nvn -2.803329 5.720512 4.725630\nv -0.058135 0.129395 -0.000851\nvn 1.625296 -0.355958 2.495549\nv -0.037362 0.129942 -0.001654\nvn 0.680695 0.744050 6.904482\nv 0.006987 0.129360 -0.001447\nvn -0.019576 1.323210 6.851436\nv 0.002936 0.129539 -0.001414\nvn -0.342625 0.981295 6.887850\nv 0.002848 0.131281 -0.001822\nvn 0.634327 0.831518 7.908281\nv 0.007157 0.131269 -0.001782\nvn 0.750561 0.549070 5.906746\nv 0.009190 0.130775 -0.001920\nvn -1.544676 0.180018 7.844517\nv 0.042819 0.131207 -0.001827\nvn 0.437242 0.015913 4.964226\nv 0.044405 0.131358 -0.001844\nvn -2.236972 3.281874 2.999451\nv -0.057316 0.130572 -0.001540\nvn -0.015736 0.926001 5.907646\nv 0.004849 0.131148 -0.001679\nvn -2.070980 3.226722 3.170016\nv -0.056046 0.131025 -0.001143\nvn -0.339611 1.180855 5.846709\nv 0.000768 0.131180 -0.001727\nvn -1.658174 2.433111 2.662010\nv -0.054023 0.132820 -0.001576\nvn -0.199691 1.266346 8.859462\nv 0.005019 0.133079 -0.001805\nvn 0.230279 0.384648 2.944944\nv 0.006302 0.132875 -0.001812\nvn -1.028768 0.205881 1.890885\nv 0.042790 0.132612 -0.001863\nvn 0.281777 1.025793 7.889086\nv 0.044365 0.133032 -0.001885\nvn -0.250647 0.371283 2.953178\nv 0.003677 0.132875 -0.001854\nvn -2.395239 3.752135 5.378843\nv -0.052182 0.133283 -0.001131\nvn -0.222492 0.224978 3.834105\nv 0.040252 0.135063 -0.001959\nvn -1.754343 2.335124 4.048450\nv -0.050607 0.135147 -0.001599\nvn 1.998673 1.625446 6.247608\nv -0.038513 0.137194 -0.001449\nvn -2.258511 2.744130 6.008398\nv -0.048072 0.137140 -0.001538\nvn 0.636316 0.944835 1.485430\nv -0.037273 0.137250 -0.001874\nvn -1.471863 1.741331 4.435888\nv -0.046393 0.138806 -0.001768\nvn 1.509030 0.265471 5.559315\nv -0.038866 0.138993 -0.001657\nvn -1.578096 1.916889 6.508563\nv -0.044570 0.139463 -0.001442\nvn -0.113403 -5.974014 0.273552\nv -0.081723 0.140033 -0.001198\nvn 0.647541 -4.952279 0.248683\nv -0.080204 0.140147 -0.000987\nvn -1.121303 -5.864431 0.428143\nv -0.087967 0.140600 -0.000913\nvn 0.574473 -3.955173 0.362698\nv -0.078319 0.140523 -0.001041\nvn -1.032769 1.312173 4.681966\nv -0.044271 0.141100 -0.001728\nvn -0.466908 -1.361520 5.479506\nv -0.040339 0.141439 -0.001459\nvn -1.269474 -5.848423 0.347759\nv -0.090123 0.141092 -0.000977\nvn 0.120937 -5.290062 1.999537\nv -0.101410 0.141462 -0.001008\nvn 1.117589 -4.868632 -0.144638\nv -0.074095 0.141232 -0.001110\nvn -3.258559 -5.192143 0.193022\nv -0.103124 0.141773 -0.000876\nvn -1.345912 -5.812473 0.532786\nv -0.091662 0.141424 -0.000987\nvn -0.971498 0.648153 6.669971\nv -0.042597 0.141373 -0.001564\nvn 0.841523 -2.133295 1.914562\nv -0.098510 0.141969 -0.001682\nvn 1.887769 -6.585471 0.587759\nv -0.070191 0.141916 -0.000874\nvn 3.560270 -3.578524 0.973321\nv -0.037216 0.141976 -0.000882\nvn -3.970102 -1.786175 -1.252457\nv -0.104188 0.143091 -0.000851\nvn -1.942574 -5.511426 1.257008\nv -0.094599 0.142353 -0.000892\nvn -1.224004 -3.761609 0.548811\nv -0.093479 0.141931 -0.000834\nvn 2.766862 -6.312759 0.188463\nv -0.068151 0.142986 -0.001049\nvn -2.668440 -4.162045 3.439029\nv -0.042524 0.143068 -0.001186\nvn -0.988303 -4.645728 1.370708\nv -0.096097 0.142852 -0.000833\nvn 2.448305 -4.237132 3.063884\nv -0.036156 0.143079 -0.000881\nvn -1.179073 -2.105453 1.294646\nv -0.043775 0.143939 -0.001066\nvn 2.226924 -3.270823 3.679845\nv -0.034447 0.143541 -0.001019\nvn 1.736823 -5.603919 0.977239\nv -0.066226 0.143639 -0.001014\nvn 1.255664 -4.717546 0.828184\nv -0.064671 0.143945 -0.000810\nvn 3.038655 -2.179609 1.906518\nv -0.033328 0.143741 -0.001512\nvn -6.385438 3.052592 -4.746854\nv -0.104060 0.144942 -0.000745\nvn 3.325284 -7.159684 0.857309\nv -0.063852 0.144290 -0.000875\nvn -2.549819 -4.792054 1.236015\nv -0.044552 0.144460 -0.000828\nvn -2.350595 -4.986526 1.315349\nv -0.046214 0.145217 -0.000947\nvn 4.458193 -0.239293 3.557338\nv -0.033346 0.145217 -0.001363\nvn 1.418754 -4.646993 0.658087\nv -0.062469 0.145091 -0.000789\nvn -2.198421 3.125628 -3.202231\nv -0.102347 0.145836 -0.001287\nvn 0.787857 -4.860601 0.769445\nv -0.060408 0.145270 -0.000933\nvn 1.700898 -9.578040 1.579298\nv -0.058380 0.145753 -0.000867\nvn -1.885843 -7.262919 2.010103\nv -0.048283 0.145818 -0.000961\nvn -4.705146 4.792019 -5.558294\nv -0.101534 0.146847 -0.000783\nvn -0.021935 -4.770892 1.249480\nv -0.055929 0.145888 -0.001398\nvn 0.686835 -8.655993 2.089796\nv -0.054405 0.145868 -0.001156\nvn 0.415862 -2.802969 0.913269\nv -0.052848 0.146099 -0.001512\nvn 0.224125 -6.646973 1.732057\nv -0.052365 0.146342 -0.000820\nvn -0.792817 -5.381305 2.430941\nv -0.050219 0.146059 -0.001295\nvn 3.840954 0.092417 3.997089\nv -0.034275 0.147434 -0.000941\nvn 0.320647 -2.340492 5.278336\nv -0.030827 0.147768 -0.001477\nvn -2.264619 1.839872 -2.571794\nv -0.100296 0.147879 -0.001558\nvn 0.472471 -2.722985 4.996395\nv -0.032368 0.147912 -0.001575\nvn -0.392225 6.102282 -4.151361\nv -0.087906 0.149278 -0.001046\nvn -0.953038 2.637203 -2.217346\nv -0.086083 0.149189 -0.001331\nvn -5.585955 5.888815 -5.495328\nv -0.099677 0.149084 -0.000891\nvn -1.619966 1.542326 -1.987711\nv -0.098395 0.149430 -0.001612\nvn -0.507589 7.112922 -1.368906\nv -0.089877 0.149747 -0.001008\nvn -6.304455 6.440314 -6.465764\nv -0.097729 0.151233 -0.000896\nvn 2.143715 4.281150 -0.610675\nv -0.094067 0.150541 -0.000914\nvn 2.646570 0.013270 6.204245\nv -0.030621 0.151018 -0.001230\nvn 2.312910 4.769398 -2.961364\nv -0.095890 0.151564 -0.001025\nvn -0.569899 4.741851 -1.310299\nv -0.082004 0.151312 -0.001089\nvn -0.407668 6.782808 -1.511896\nv -0.080010 0.151448 -0.000972\nvn -0.718200 5.863983 -0.940450\nv -0.077988 0.151533 -0.000989\nvn -0.903542 6.891046 -0.780451\nv -0.076236 0.151804 -0.000949\nvn -0.588279 3.923604 -0.494250\nv -0.074723 0.151947 -0.001338\nvn -0.951819 5.892987 -0.534137\nv -0.074007 0.152128 -0.000837\nvn 1.792604 -1.667654 7.334966\nv -0.028689 0.152918 -0.001600\nvn 1.479874 -0.298693 6.797050\nv -0.030818 0.153062 -0.001204\nvn -1.178745 5.867110 -0.119732\nv -0.069845 0.152984 -0.000711\nvn -0.970008 6.889374 0.020543\nv -0.068362 0.153190 -0.001050\nvn -0.948165 3.704800 0.652615\nv -0.063851 0.154167 -0.001273\nvn 1.524817 0.364379 4.676332\nv -0.027362 0.154753 -0.001778\nvn -0.419794 6.249337 2.700911\nv -0.062271 0.154214 -0.001026\nvn -3.488136 6.887732 0.132145\nv -0.054149 0.155587 -0.000959\nvn 1.384097 0.046108 5.786651\nv -0.028761 0.154883 -0.001378\nvn -2.562369 5.258020 -0.116361\nv -0.052474 0.156640 -0.001014\nvn -2.965777 3.235840 1.674006\nv -0.050647 0.157595 -0.001036\nvn 1.903699 -0.771606 4.325737\nv -0.027625 0.157979 -0.001675\nvn 1.257308 -0.136127 2.472789\nv -0.027332 0.158496 -0.001733\nvn 1.790261 0.359440 6.628493\nv -0.028976 0.159009 -0.001343\nvn 1.954693 1.328834 6.557465\nv -0.029252 0.161034 -0.001824\nvn -1.611596 -5.849928 1.344353\nv -0.050770 0.160566 -0.000850\nvn -1.009172 -5.858477 -0.736393\nv -0.057721 0.161315 -0.000973\nvn 1.606312 1.299232 4.531923\nv -0.030809 0.161199 -0.001304\nvn -1.218975 -7.854923 -0.855366\nv -0.060194 0.161679 -0.000907\nvn -0.636719 -4.916136 -0.623419\nv -0.062648 0.162055 -0.000987\nvn 1.105702 0.698312 4.806192\nv -0.030511 0.163013 -0.001805\nvn -2.071987 -6.668876 -0.230841\nv -0.069974 0.163607 -0.001031\nvn -1.172860 -4.842483 -0.383216\nv -0.067980 0.163089 -0.000748\nvn 2.036482 1.980969 7.406890\nv -0.032588 0.162963 -0.001331\nvn 0.888548 -0.480457 4.768796\nv -0.032557 0.164816 -0.001644\nvn -1.692646 -4.702055 0.040399\nv -0.072061 0.164327 -0.001087\nvn -0.966287 -5.882650 0.344349\nv -0.076127 0.165207 -0.000811\nvn -1.475585 -5.756090 0.101677\nv -0.073830 0.165026 -0.000969\nvn 2.320115 -1.201280 6.221719\nv -0.032607 0.166918 -0.001118\nvn -3.598823 -5.648095 1.034657\nv -0.078327 0.166157 -0.000897\nvn -2.217193 -6.273794 -0.159736\nv -0.077531 0.165532 -0.000987\nvn -1.728028 -4.387850 1.556458\nv -0.080013 0.166972 -0.000943\nvn 1.813689 -1.021548 3.247524\nv -0.031450 0.167305 -0.001549\nvn -2.242939 -5.130797 2.082894\nv -0.081947 0.167662 -0.001018\nvn 1.846256 -5.573371 4.982128\nv -0.091778 0.168606 -0.000895\nvn -3.552024 -3.866174 3.396752\nv -0.093906 0.168883 -0.000845\nvn -1.473727 -3.384627 1.518638\nv -0.082725 0.168074 -0.000865\nvn 3.398330 -0.061725 4.403183\nv -0.031053 0.168692 -0.001502\nvn -2.867510 -6.458901 3.647858\nv -0.084364 0.168655 -0.001147\nvn -2.341644 -5.423058 3.643764\nv -0.085951 0.169430 -0.001058\nvn 1.743425 -4.243297 3.532861\nv -0.089714 0.169595 -0.001219\nvn -4.132723 -1.748971 1.896684\nv -0.094825 0.169775 -0.001338\nvn -0.586666 -6.501305 4.295546\nv -0.087790 0.170232 -0.000745\nvn 1.621931 0.063301 1.096327\nv -0.030973 0.169975 -0.001953\nvn -4.150098 -1.727973 1.882801\nv -0.095129 0.171199 -0.001433\nvn 1.346312 0.859579 5.642116\nv -0.032566 0.171056 -0.001771\nvn 1.475503 1.770137 7.318924\nv -0.034365 0.170651 -0.001338\nvn 0.823186 0.118247 4.918256\nv -0.032513 0.172825 -0.001724\nvn 1.616196 1.272119 5.896122\nv -0.031352 0.172833 -0.001937\nvn -2.397069 -2.563619 3.508971\nv -0.097634 0.173112 -0.001459\nvn -4.844165 -4.583428 5.628641\nv -0.095831 0.172852 -0.000787\nvn 0.252560 4.134830 2.165762\nv -0.072283 0.173316 -0.000784\nvn 1.715469 6.464237 1.593741\nv -0.074135 0.173979 -0.000897\nvn -1.678165 3.218348 3.116455\nv -0.071698 0.174175 -0.001597\nvn 2.278718 1.538625 7.096198\nv -0.034462 0.172951 -0.001515\nvn 0.992825 1.276485 2.901171\nv -0.032023 0.173825 -0.001848\nvn -5.149647 -1.133406 3.954975\nv -0.099041 0.174863 -0.001408\nvn 1.612772 0.745093 2.368976\nv -0.034645 0.174405 -0.001705\nvn 1.502401 5.708972 0.426852\nv -0.076012 0.174301 -0.000874\nvn 3.638092 4.410372 -0.687445\nv -0.077549 0.174928 -0.001051\nvn -3.037831 3.126399 5.257038\nv -0.070034 0.174899 -0.001293\nvn 2.842090 3.247055 6.241476\nv -0.036313 0.174782 -0.000901\nvn 1.937016 3.480404 5.103782\nv -0.038367 0.175037 -0.000748\nvn -3.787806 2.021694 0.968762\nv -0.098963 0.176715 -0.001294\nvn -1.484795 1.116934 2.238957\nv -0.069342 0.176173 -0.001712\nvn 4.307712 -2.594560 3.461506\nv -0.038782 0.176946 -0.001034\nvn 3.926421 2.963483 -0.714029\nv -0.078624 0.176451 -0.000699\nvn 5.300181 4.266574 -1.213341\nv -0.079454 0.177475 -0.001047\nvn -5.183477 4.353877 4.527483\nv -0.068207 0.176912 -0.001145\nvn -1.243625 2.083491 -2.590706\nv -0.090093 0.177278 -0.001676\nvn 0.227951 3.665123 -3.288082\nv -0.091465 0.177281 -0.001653\nvn 2.031960 4.842190 2.674425\nv -0.047947 0.177027 -0.000817\nvn -0.072513 4.224291 2.335883\nv -0.046106 0.176644 -0.000817\nvn -2.787906 6.247658 3.678408\nv -0.044323 0.177247 -0.000711\nvn 0.993299 7.345774 -4.720973\nv -0.093809 0.178560 -0.000992\nvn -4.989749 3.768715 -4.065056\nv -0.089952 0.178772 -0.001175\nvn -2.473497 4.073792 1.384199\nv -0.043909 0.177771 -0.001331\nvn -4.650145 6.146126 0.202820\nv -0.097706 0.178276 -0.000842\nvn 3.534954 3.251254 -1.075413\nv -0.080291 0.178574 -0.000672\nvn 0.529592 4.707654 1.166703\nv -0.058455 0.177987 -0.001064\nvn -1.372480 6.295424 2.531039\nv -0.056017 0.178186 -0.001009\nvn 2.266547 5.176619 1.866935\nv -0.048993 0.177945 -0.001342\nvn 3.415497 -3.013734 1.861729\nv -0.037747 0.178184 -0.000981\nvn -0.234346 4.483565 -1.888289\nv -0.095955 0.178660 -0.001051\nvn -1.608930 7.288623 2.181021\nv -0.066174 0.178019 -0.001044\nvn -0.604661 5.793377 1.263078\nv -0.063613 0.178057 -0.000784\nvn -0.263440 6.846545 1.249499\nv -0.061958 0.178323 -0.001127\nvn 0.559157 5.865642 0.854380\nv -0.060266 0.178359 -0.000842\nvn 3.727170 4.343731 -1.453544\nv -0.081369 0.179468 -0.001110\nvn -0.873420 6.516799 2.194323\nv -0.054362 0.178548 -0.000679\nvn 1.912629 5.916898 2.780036\nv -0.050618 0.178341 -0.000860\nvn 3.733997 -3.818266 1.808519\nv -0.036863 0.178960 -0.000957\nvn 0.427868 5.723343 1.579110\nv -0.052237 0.178583 -0.000723\nvn -3.370358 2.606779 -1.966392\nv -0.089499 0.180304 -0.000881\nvn -3.041559 4.705669 1.933995\nv -0.042481 0.178543 -0.000979\nvn -3.125016 4.532164 2.089470\nv -0.041210 0.179348 -0.000761\nvn 3.454187 -4.120337 2.346441\nv -0.035829 0.179932 -0.000960\nvn 3.427148 5.612275 -2.096737\nv -0.082398 0.180333 -0.000842\nvn -2.645433 3.750375 1.750753\nv -0.040233 0.180147 -0.001024\nvn 3.154431 -2.435081 2.050205\nv -0.034820 0.180910 -0.001019\nvn -2.508177 6.862569 -2.620881\nv -0.087936 0.181228 -0.001079\nvn 1.371215 4.344552 -1.804372\nv -0.084194 0.181161 -0.001019\nvn -2.713841 4.817196 1.940553\nv -0.038686 0.181064 -0.000725\nvn 0.551383 5.478379 -2.015363\nv -0.085804 0.181435 -0.001169\nvn -3.345206 5.496392 2.065702\nv -0.036486 0.182400 -0.000889\nvn 2.696431 -1.415845 2.742624\nv -0.032743 0.183041 -0.000978\nvn 0.175816 4.266835 4.069403\nv -0.034386 0.183057 -0.000653\nvn -1.701202 4.055826 1.857189\nv -0.033841 0.183962 -0.001512\nvn 1.632927 2.024375 3.314042\nv -0.032183 0.184238 -0.001569\nvn -0.884329 -6.893283 0.520344\nv -0.062535 0.053423 -0.000938\nvn 1.491249 -7.690401 1.334920\nv 0.036337 0.055022 -0.000842\nvn 1.223374 -6.742207 -1.256947\nv -0.054405 0.055027 -0.000769\nvn 1.988556 -1.449759 -1.737614\nv 0.031795 0.055122 -0.000859\nvn 0.287678 -5.919649 -0.626502\nv -0.038741 0.056150 -0.000722\nvn -2.812676 -5.195496 0.932493\nv -0.074070 0.056879 -0.001015\nvn -2.199429 2.130873 -1.662176\nv 0.039900 0.065095 -0.001364\nvn 0.979625 0.520596 -3.961078\nv 0.044371 0.072401 -0.001001\nvn 2.908343 0.984916 -1.538742\nv 0.044196 0.074191 -0.000809\nvn -0.241067 -0.749785 -4.796111\nv 0.074305 0.074236 -0.001262\nvn -2.555644 -0.181740 -5.229139\nv 0.072232 0.076077 -0.001044\nvn -0.145657 -0.452887 -5.807258\nv 0.074156 0.075942 -0.001476\nvn -4.801727 -0.775228 0.756607\nv -0.086843 0.076000 -0.000725\nvn 1.717794 -0.804810 -5.624456\nv 0.076063 0.076179 -0.001148\nvn -2.974340 -0.098748 0.259368\nv -0.086971 0.076700 -0.001421\nvn -2.671296 0.518824 -5.194773\nv 0.072250 0.077853 -0.000945\nvn -0.694035 0.009508 -5.749156\nv 0.074246 0.077816 -0.001587\nvn 1.238387 -0.529985 -5.721591\nv 0.075871 0.078036 -0.001455\nvn -2.959569 0.998170 -5.035926\nv 0.072466 0.079703 -0.000681\nvn -1.721993 0.358316 -6.574358\nv 0.074030 0.079878 -0.001435\nvn 3.638985 -0.806156 -4.306642\nv 0.078060 0.080029 -0.000879\nvn -2.195673 0.211349 -5.521138\nv 0.074188 0.082087 -0.001221\nvn -1.740560 -0.650793 -5.644305\nv 0.074067 0.084180 -0.001058\nvn 3.881003 -1.186959 -2.865004\nv 0.079210 0.084285 -0.000799\nvn 2.261127 4.520517 6.064078\nv 0.034635 0.083898 -0.000796\nvn 3.962313 -1.190011 2.807046\nv -0.001767 0.086134 -0.001250\nvn 5.178266 -1.485003 4.360278\nv -0.000735 0.091733 -0.000694\nvn 5.154964 -1.156801 -2.821132\nv 0.082490 0.093616 -0.000912\nvn -0.924493 3.831686 0.558919\nv -0.034434 0.093846 -0.001024\nvn 3.392683 3.528326 0.924651\nv -0.044164 0.096029 -0.000925\nvn 6.432844 1.897919 1.863972\nv -0.046322 0.099433 -0.000870\nvn -5.380156 1.943686 1.700982\nv 0.065415 0.100107 -0.000747\nvn 4.832932 0.424258 -1.189742\nv 0.083073 0.101258 -0.000617\nvn 6.603163 0.553411 2.182245\nv -0.046642 0.101497 -0.000962\nvn 3.864621 0.479059 -0.905156\nv 0.082827 0.102075 -0.001338\nvn 4.598346 -0.742948 1.803441\nv -0.046589 0.105719 -0.000754\nvn -3.643521 3.137115 6.291142\nv -0.016707 0.109624 -0.000628\nvn 4.863488 0.390895 8.129937\nv 0.003086 0.111697 -0.000914\nvn -2.188774 2.140780 2.524062\nv 0.069065 0.114637 -0.001104\nvn -2.233474 1.842204 5.207603\nv -0.012887 0.115706 -0.000887\nvn 0.061407 0.067238 4.978019\nv 0.044487 0.117510 -0.001467\nvn 0.049820 3.232788 3.682698\nv 0.072495 0.115895 -0.000750\nvn 5.012807 -2.141650 4.348820\nv -0.042337 0.117355 -0.000638\nvn 0.622222 -0.131330 4.944951\nv 0.046396 0.117806 -0.001607\nvn 2.137032 -0.567176 6.612531\nv 0.004828 0.119586 -0.001125\nvn -1.107645 1.507399 5.677274\nv -0.007013 0.123130 -0.001144\nvn -0.737869 1.069836 4.816040\nv -0.005288 0.123590 -0.001087\nvn 1.430279 0.472852 6.824603\nv 0.004825 0.125334 -0.001157\nvn -1.170494 1.217208 5.743495\nv -0.004594 0.125466 -0.001243\nvn -0.777050 0.797877 4.867482\nv -0.000840 0.127362 -0.001253\nvn 0.731697 -0.056161 4.925184\nv 0.007090 0.127905 -0.001379\nvn -0.335645 1.020616 4.863221\nv 0.000921 0.129452 -0.001391\nvn 2.369045 0.484263 5.456416\nv -0.038708 0.131310 -0.000902\nvn -3.145763 5.214530 6.515711\nv -0.054578 0.131470 -0.000771\nvn 1.705453 0.336139 4.667406\nv -0.038431 0.133137 -0.001110\nvn 2.159729 0.675767 6.602077\nv -0.038445 0.134817 -0.001305\nvn -1.209333 2.109453 5.458107\nv -0.046213 0.137272 -0.001034\nvn 0.799617 0.820014 5.845407\nv -0.040658 0.139371 -0.001266\nvn -0.514390 -4.960341 0.358176\nv -0.083301 0.140225 -0.000727\nvn -0.577203 -5.949546 0.277427\nv -0.086273 0.140398 -0.000812\nvn -0.180186 1.389686 6.814096\nv -0.042611 0.139215 -0.001094\nvn 1.164537 -6.882973 0.141972\nv -0.075773 0.140805 -0.001104\nvn 1.276623 -6.830278 0.474042\nv -0.072245 0.141583 -0.000877\nvn -1.646522 -3.862896 1.655133\nv -0.040819 0.142484 -0.000842\nvn -0.305305 -3.779768 0.854907\nv -0.050843 0.146399 -0.000706\nvn 2.667580 0.156394 6.669940\nv -0.034661 0.149327 -0.000836\nvn 0.215775 -1.650844 5.686092\nv -0.032629 0.149333 -0.000865\nvn -0.901958 4.906896 -0.204387\nv -0.072217 0.152403 -0.000776\nvn 1.310513 -0.150232 6.801088\nv -0.030739 0.156775 -0.001156\nvn -0.598248 -5.894837 -0.770670\nv -0.054309 0.160686 -0.000773\nvn -0.982486 -5.845622 -0.878945\nv -0.056756 0.161159 -0.001137\nvn 1.552172 1.818026 4.808305\nv -0.032443 0.161050 -0.000564\nvn -1.401769 -7.806705 -1.012793\nv -0.063962 0.162185 -0.000617\nvn 3.871874 2.303588 4.288776\nv -0.034529 0.163264 -0.000702\nvn 1.736460 -0.136688 5.435662\nv -0.034642 0.164914 -0.001245\nvn 1.466740 -1.246958 5.643350\nv -0.034403 0.166747 -0.000619\nvn 1.728259 0.894855 5.430804\nv -0.032647 0.169043 -0.000894\nvn 1.154085 0.648744 3.316091\nv -0.036669 0.171032 -0.001146\nvn 2.795277 -0.291390 6.193504\nv -0.036483 0.172833 -0.000738\nvn -0.497275 3.267831 -3.360748\nv -0.091382 0.178335 -0.000729\nvn 0.387254 -6.920004 0.135074\nv -0.060490 0.053306 -0.000521\nvn 1.842628 -4.486017 3.237184\nv 0.068442 0.055768 -0.000583\nvn 0.211485 -5.979177 -0.133389\nv -0.040726 0.055939 -0.000851\nvn 1.429201 -6.583358 1.883941\nv 0.040976 0.056106 -0.000890\nvn 0.548971 -3.763100 1.211357\nv 0.042514 0.056546 -0.000568\nvn 0.000000 0.000000 0.000000\nv 0.032995 0.058012 -0.000292\nvn -0.938461 0.137499 0.316379\nv 0.033306 0.060205 -0.000329\nvn 2.969075 -3.210569 2.236061\nv -0.015608 0.058957 -0.000743\nvn 0.944826 -0.185667 -0.272154\nv 0.033530 0.061985 -0.000420\nvn -0.943467 0.085490 0.328482\nv 0.033630 0.062130 -0.000188\nvn 0.000000 0.000000 0.000000\nv 0.033914 0.064328 -0.000334\nvn 2.141041 -1.425490 1.460379\nv -0.010103 0.065792 -0.000474\nvn 0.000000 0.000000 0.000000\nv -0.083123 0.067044 -0.000987\nvn 1.006135 -0.967403 -7.580873\nv 0.074305 0.072091 -0.000874\nvn -2.161537 0.588359 -3.980553\nv 0.046831 0.074059 -0.000522\nvn 1.390646 3.262392 -3.513054\nv 0.059733 0.073674 -0.000807\nvn -2.654560 -0.171251 -6.280293\nv 0.071992 0.074267 -0.000674\nvn 3.521292 -2.106234 -7.450965\nv 0.076049 0.074253 -0.000834\nvn 3.056691 4.232058 -5.903514\nv 0.055931 0.075652 -0.000528\nvn 4.506800 -1.279647 -4.779534\nv 0.077734 0.077949 -0.000662\nvn 0.658252 3.335468 4.899939\nv 0.032592 0.084397 -0.000608\nvn -1.630475 -1.223694 -4.555142\nv 0.072257 0.086002 -0.000957\nvn -6.752468 1.242689 1.270261\nv -0.087341 0.086002 -0.000814\nvn 2.721918 -1.345688 -2.557877\nv 0.081329 0.088546 -0.000599\nvn 5.031036 -0.784858 4.755115\nv -0.000316 0.093769 -0.000649\nvn 5.715820 0.289904 -1.688475\nv 0.083151 0.099859 -0.000876\nvn -1.461498 1.458734 2.106468\nv -0.023186 0.100284 -0.000696\nvn 3.061362 -1.219456 2.259419\nv -0.043670 0.114819 -0.000629\nvn -1.921520 1.635512 5.399115\nv -0.009007 0.119575 -0.000644\nvn 1.368452 -0.224419 4.770154\nv 0.004774 0.121406 -0.000861\nvn 3.686008 -1.258749 5.746311\nv -0.040426 0.123387 -0.000489\nvn 1.372065 0.120397 4.780341\nv 0.005135 0.122929 -0.000978\nvn -0.386369 1.342025 5.807137\nv -0.002621 0.125443 -0.000937\nvn -0.346889 1.104766 5.859792\nv -0.000960 0.125494 -0.000993\nvn 0.432758 0.942312 6.876166\nv 0.002824 0.127379 -0.000929\nvn 0.566281 0.330307 6.929347\nv 0.004727 0.127858 -0.001219\nvn -0.527652 0.816350 4.876820\nv 0.000941 0.127669 -0.000986\nvn 0.041981 0.477255 3.950585\nv 0.004844 0.129142 -0.001271\nvn -2.050280 3.601541 4.310115\nv -0.056352 0.130093 -0.000543\nvn -1.775046 2.534740 5.128242\nv -0.048414 0.135114 -0.000732\nvn 1.016874 0.709942 5.848980\nv -0.040434 0.137285 -0.000988\nvn -0.305710 1.618787 5.727524\nv -0.044390 0.137396 -0.000804\nvn -0.407720 -5.970759 0.321544\nv -0.084523 0.140345 -0.000987\nvn 0.198893 -0.986259 0.149058\nv -0.079623 0.140261 -0.000987\nvn 1.810730 -4.463384 3.543980\nv -0.099741 0.142401 -0.000609\nvn 1.129644 -0.497016 4.750622\nv -0.030937 0.149460 -0.000992\nvn -1.166720 3.929299 -4.133469\nv -0.085798 0.150670 -0.000617\nvn 1.107650 0.218096 4.857056\nv -0.032376 0.153141 -0.000808\nvn -0.068095 5.048145 3.101260\nv -0.060217 0.153657 -0.000480\nvn -1.240945 4.210265 1.635074\nv -0.058320 0.153901 -0.000558\nvn 0.787167 0.049515 4.894200\nv -0.030898 0.154918 -0.000923\nvn 0.552431 0.124242 5.923943\nv -0.032562 0.156956 -0.000932\nvn -0.863789 -0.676067 6.018451\nv -0.034327 0.158977 -0.000776\nvn 0.508339 -0.933893 5.799375\nv -0.032598 0.158848 -0.000690\nvn 1.488734 0.412969 5.640555\nv -0.030570 0.159174 -0.000836\nvn 0.439136 -0.122983 5.558955\nv -0.036402 0.158999 -0.000771\nvn -1.710415 -2.175538 2.447581\nv -0.049259 0.160240 -0.000504\nvn -1.227514 -5.831630 -0.645478\nv -0.066166 0.162645 -0.000782\nvn 3.344304 1.201060 5.537744\nv -0.036224 0.165108 -0.000525\nvn 0.701283 -2.272693 1.454524\nv -0.089405 0.170321 -0.000545\nvn 0.304637 4.425087 6.881477\nv -0.070312 0.173060 -0.000640\nvn -3.818842 -2.640846 5.060028\nv -0.097853 0.174645 -0.000597\nvn -2.498213 0.904277 3.782216\nv -0.068753 0.174888 -0.000695\nvn -3.546944 0.530591 3.033275\nv -0.098499 0.176777 -0.000562\nvn 0.655781 -2.831877 0.167377\nv -0.023856 0.053345 -0.000404\nvn 0.577933 -5.892920 -0.842209\nv -0.052681 0.055175 -0.000366\nvn 0.337413 -5.943612 -0.691207\nv -0.050923 0.055310 -0.000637\nvn -0.826349 -3.890213 0.423786\nv 0.048127 0.055358 -0.000637\nvn -3.255701 -1.555812 1.723380\nv 0.022123 0.057712 -0.000344\nvn 1.804877 -1.812807 1.541093\nv 0.070640 0.057512 -0.000541\nvn 2.080089 -1.610721 1.439542\nv 0.072545 0.059757 -0.000491\nvn -2.472470 -0.756517 1.456661\nv 0.020003 0.062230 -0.000466\nvn 2.092415 -1.503180 1.516654\nv -0.011978 0.063649 -0.000362\nvn 2.633981 -1.000049 -5.023213\nv 0.073864 0.069971 -0.000496\nvn 2.795943 -1.359102 2.510182\nv -0.008398 0.069616 -0.000323\nvn -2.891705 -0.602234 0.524738\nv -0.084872 0.071284 -0.000646\nvn 2.319624 -1.149618 -4.162654\nv 0.075794 0.072473 -0.000527\nvn 3.764294 -1.366010 2.988196\nv -0.006202 0.073933 -0.000405\nvn 3.008414 -0.895433 -3.677866\nv 0.077428 0.076199 -0.000483\nvn 3.124653 3.237191 -5.199285\nv 0.053932 0.077638 -0.000372\nvn 4.639855 -1.489007 3.488549\nv -0.004490 0.079691 -0.000452\nvn 0.758957 3.357161 -1.483235\nv 0.052152 0.079083 -0.000602\nvn -0.306319 3.931017 -0.406334\nv 0.050927 0.079122 -0.000462\nvn -3.030618 0.154660 -5.092093\nv 0.072563 0.082002 -0.000287\nvn -0.911827 2.774954 -0.639607\nv 0.021096 0.083160 -0.000462\nvn -3.228967 -1.304141 -7.139325\nv 0.072215 0.084230 -0.000472\nvn 0.124410 4.685534 4.360997\nv 0.028727 0.084158 -0.000384\nvn 0.044736 3.072159 5.132551\nv 0.030794 0.084261 -0.000354\nvn 4.614488 -1.236466 3.617919\nv -0.002405 0.086062 -0.000404\nvn 2.237277 -0.552387 1.919631\nv -0.001993 0.087451 -0.000462\nvn -2.634593 -1.173341 -4.067564\nv 0.070544 0.088250 -0.000601\nvn -4.763156 0.222131 1.258508\nv -0.086689 0.088425 -0.000370\nvn -3.788019 -0.132502 1.180214\nv -0.086733 0.089409 -0.000310\nvn -0.901152 -2.739604 -6.263682\nv 0.066219 0.091849 -0.000405\nvn -0.975462 3.737204 1.000970\nv -0.031438 0.094732 -0.000444\nvn -2.623501 0.512618 1.180766\nv -0.084866 0.096708 -0.000404\nvn -4.438929 0.317378 2.091777\nv -0.084822 0.097350 -0.000426\nvn 3.438359 -0.355577 3.574011\nv 0.001096 0.101725 -0.000276\nvn -2.409878 1.807811 2.606822\nv -0.021437 0.102340 -0.000380\nvn -1.897967 1.901906 2.910881\nv -0.019452 0.104154 -0.000398\nvn 4.359322 -0.722473 5.400854\nv 0.001314 0.105688 -0.000349\nvn 1.880542 -0.420536 3.484632\nv 0.002645 0.113158 -0.000476\nvn 2.433035 4.191959 3.530840\nv 0.076012 0.114017 -0.000433\nvn -2.124755 1.402484 4.262527\nv -0.012948 0.114267 -0.000510\nvn 2.953414 -0.269861 6.292447\nv 0.003127 0.115484 -0.000507\nvn -2.599271 2.294478 3.539585\nv 0.069620 0.114161 -0.000319\nvn -2.739537 2.192880 1.785808\nv -0.074584 0.116463 -0.000484\nvn 2.240802 0.330243 6.605295\nv 0.002953 0.117655 -0.000605\nvn 1.160640 -0.028366 4.839585\nv 0.002925 0.119404 -0.000663\nvn 2.085109 -0.580050 2.047256\nv -0.041772 0.119283 -0.000448\nvn 0.889708 -0.278023 4.895153\nv 0.003214 0.121266 -0.000542\nvn -1.061859 1.705288 5.619417\nv -0.006896 0.121289 -0.000667\nvn -0.901496 1.718039 6.720488\nv -0.004817 0.121465 -0.000487\nvn -0.781601 1.492789 6.770783\nv -0.002849 0.123059 -0.000583\nvn 1.006318 0.486995 6.880252\nv 0.003091 0.123224 -0.000561\nvn -0.166501 1.333278 5.839040\nv -0.001140 0.123425 -0.000572\nvn -0.019071 1.067321 6.897585\nv 0.001055 0.123461 -0.000537\nvn -1.820968 3.042552 1.754362\nv -0.066848 0.124125 -0.000554\nvn -0.411753 0.637766 5.938876\nv 0.000746 0.125612 -0.000827\nvn 0.442786 0.506127 4.923847\nv 0.003133 0.125379 -0.000779\nvn 2.411364 -0.802150 4.256785\nv -0.039953 0.125086 -0.000264\nvn -2.198126 2.391131 2.323688\nv -0.063123 0.126055 -0.000381\nvn -1.434551 2.592928 4.025165\nv -0.052710 0.131766 -0.000296\nvn 2.696047 1.099458 8.446301\nv -0.040386 0.133122 -0.000592\nvn -2.283574 3.832967 6.627595\nv -0.050613 0.133490 -0.000646\nvn 1.143084 0.650401 4.804932\nv -0.040723 0.135222 -0.000744\nvn -1.489589 3.356509 8.162367\nv -0.046570 0.135333 -0.000320\nvn 0.434481 0.922026 4.862792\nv -0.042687 0.137088 -0.000713\nvn 1.661700 -3.534148 0.231536\nv -0.069210 0.142287 -0.000390\nvn 3.710684 -0.936661 3.932182\nv -0.034120 0.145050 -0.000389\nvn 0.218317 -2.810076 0.702221\nv -0.056780 0.146176 -0.000589\nvn -1.141527 -4.738587 0.541525\nv -0.049343 0.146186 -0.000431\nvn -3.412777 2.765409 -2.258397\nv -0.101022 0.148169 -0.000416\nvn 1.553257 0.870273 2.239287\nv -0.035794 0.149886 -0.000459\nvn 3.040805 1.009686 7.886863\nv -0.036489 0.151287 -0.000270\nvn 0.436935 -0.826005 5.911811\nv -0.034393 0.151217 -0.000417\nvn 1.433400 -0.067521 6.786802\nv -0.032450 0.151303 -0.000624\nvn -0.889375 1.668877 -1.084622\nv -0.097192 0.152961 -0.000320\nvn 0.521835 2.988550 -2.348644\nv -0.096026 0.152950 -0.000318\nvn 0.841091 0.145760 5.901737\nv -0.032565 0.155118 -0.000715\nvn 0.735702 0.532228 5.925337\nv -0.034346 0.156671 -0.000700\nvn 2.180190 0.436748 6.403720\nv -0.036703 0.156932 -0.000421\nvn -2.100219 0.360687 4.136614\nv -0.048130 0.159003 -0.000289\nvn 1.426383 0.342801 3.166722\nv -0.037667 0.159355 -0.000398\nvn -0.115819 -4.960124 -0.473257\nv -0.052696 0.160612 -0.000624\nvn -0.522356 -3.919433 -0.578158\nv -0.062193 0.161939 -0.000497\nvn 1.429145 -1.056631 4.647414\nv -0.035815 0.166615 -0.000290\nvn 1.447454 0.959169 5.510565\nv -0.034298 0.168906 -0.000417\nvn -0.885716 -2.417277 1.433951\nv -0.086419 0.170168 -0.000316\nvn 1.174463 2.240556 4.250047\nv -0.036179 0.169607 -0.000298\nvn -5.466236 -2.072766 3.515671\nv -0.094706 0.171076 -0.000378\nvn 2.944485 0.646605 5.861965\nv -0.037895 0.170831 -0.000335\nvn -3.000710 0.798992 5.160467\nv -0.067990 0.172951 -0.000337\nvn 2.095809 1.254528 3.217926\nv -0.040202 0.174864 -0.000155\nvn 2.191193 -0.339158 2.728570\nv -0.039858 0.176101 -0.000480\nvn -1.921313 3.264564 0.953157\nv -0.067023 0.177579 -0.000462\nvn 0.621791 4.611588 1.357790\nv -0.057573 0.177684 -0.000375\nvn 1.773128 3.694936 2.697845\nv -0.049447 0.177730 -0.000422\nvn -2.378040 3.373894 2.658312\nv -0.043150 0.177761 -0.000360\nvn 3.507369 -4.571348 -1.774120\nv 0.032898 0.056165 0.000882\nvn -2.656977 -3.939177 -0.280666\nv 0.034363 0.056162 0.000586\nvn 1.377339 -5.658725 1.434429\nv 0.038898 0.055865 -0.000091\nvn -1.288567 -5.385495 3.177499\nv 0.044316 0.058049 0.001052\nvn 0.936605 -0.182342 -0.298553\nv 0.033863 0.062175 0.000534\nvn 0.000000 0.000000 0.000000\nv 0.034222 0.064348 0.000611\nvn 0.000000 0.000000 0.000000\nv 0.034079 0.065282 -0.000258\nvn 1.586741 -1.240545 -3.285769\nv 0.075515 0.070637 -0.000205\nvn 0.624109 2.493191 -3.049363\nv 0.062153 0.073484 -0.000148\nvn 2.554995 -1.458435 -2.237187\nv 0.077177 0.074521 -0.000256\nvn -2.201992 -1.142915 -4.330172\nv 0.070817 0.085984 -0.000313\nvn -1.798622 -1.333004 -3.251366\nv 0.068894 0.090467 -0.000316\nvn -2.834742 -1.047367 -2.600950\nv 0.064481 0.091960 -0.000284\nvn 2.592869 -0.499609 2.998328\nv -0.000395 0.095921 -0.000325\nvn -2.954390 3.327252 2.262030\nv -0.027582 0.096650 -0.000287\nvn 3.168914 -0.764694 3.783741\nv -0.000173 0.096997 -0.000287\nvn -1.363080 2.027939 1.735844\nv -0.025023 0.098689 -0.000287\nvn 4.085977 -0.145640 4.374674\nv 0.001227 0.103300 -0.000445\nvn 0.000000 0.000000 0.000000\nv 0.001799 0.107675 -0.000287\nvn -1.902444 1.786071 4.240510\nv -0.014961 0.110300 -0.000159\nvn -1.102200 1.500422 4.633076\nv -0.010585 0.115834 -0.000235\nvn -2.173063 1.365049 6.481140\nv -0.009025 0.117694 -0.000217\nvn 1.586680 0.383129 4.722719\nv 0.001548 0.119108 -0.000236\nvn -0.785053 1.407188 4.701046\nv -0.007246 0.119867 -0.000228\nvn -2.097019 2.941612 1.715637\nv -0.070975 0.120186 -0.000305\nvn -0.448286 1.606854 5.751550\nv -0.005471 0.120003 -0.000167\nvn 1.231496 0.762177 7.794175\nv 0.001003 0.121404 -0.000272\nvn -0.614735 0.936557 3.826497\nv -0.002973 0.121769 -0.000233\nvn 0.084101 1.129071 4.850594\nv -0.000931 0.122079 -0.000200\nvn 2.514273 -0.001173 4.276485\nv -0.039657 0.126925 -0.000307\nvn 1.953956 0.913260 4.481037\nv -0.040397 0.131537 -0.000216\nvn -1.050791 1.697445 3.465560\nv -0.048476 0.133985 -0.000215\nvn 1.491026 1.736224 7.599885\nv -0.042445 0.134975 -0.000221\nvn 0.369436 -2.422040 3.888932\nv -0.036154 0.144206 -0.000126\nvn -1.917919 2.529925 -2.388353\nv -0.103073 0.146350 -0.000302\nvn -2.022370 1.817109 -1.249199\nv -0.098804 0.150375 -0.000287\nvn 0.742548 0.140262 4.908064\nv -0.034548 0.152992 -0.000258\nvn 2.057184 4.267605 -1.632385\nv -0.095658 0.153270 0.000721\nvn -0.041270 3.256966 2.280285\nv -0.062416 0.153770 -0.000317\nvn 0.843518 0.456527 5.906715\nv -0.034429 0.154750 -0.000471\nvn 0.963466 0.489971 4.865950\nv -0.036500 0.154997 -0.000196\nvn 1.573291 -1.375862 3.887599\nv -0.037975 0.160700 -0.000128\nvn -0.527096 -1.234699 3.040800\nv -0.036397 0.160622 -0.000330\nvn 0.789239 -0.169437 3.597929\nv -0.034415 0.161225 -0.000116\nvn -1.727685 -4.670060 0.079430\nv -0.071104 0.164010 -0.000185\nvn -0.299196 3.793421 -0.931798\nv -0.086623 0.181767 -0.000287\nvn -2.079575 -5.274943 1.037887\nv 0.026760 0.053102 0.000832\nvn 0.261090 -4.924524 -0.030750\nv 0.028701 0.052902 0.000775\nvn -2.115176 -6.337933 1.842845\nv 0.056483 0.053167 0.000925\nvn -0.159845 -5.931234 0.394362\nv 0.057809 0.052910 0.000755\nvn 1.056139 -6.779089 -0.583540\nv 0.060199 0.053009 0.000783\nvn -0.065437 -7.934589 0.068760\nv -0.026693 0.053282 0.000763\nvn 0.397665 -2.919159 0.268430\nv -0.024848 0.053282 0.000238\nvn 1.862010 -7.507156 1.496355\nv -0.024575 0.053454 0.001121\nvn 1.686414 -5.462731 -1.182123\nv 0.030301 0.053211 0.000941\nvn -1.135485 -4.818786 0.686182\nv -0.064252 0.054032 0.000811\nvn -1.585744 -8.466213 -1.108271\nv -0.028841 0.053447 0.000921\nvn 2.582736 -5.057440 1.782837\nv -0.022619 0.054162 0.000955\nvn -4.405072 -4.339044 2.881950\nv 0.025062 0.054537 0.000913\nvn 2.547025 -3.927006 -1.622145\nv 0.031096 0.053670 0.000803\nvn 2.316309 -5.367841 -1.154710\nv 0.062435 0.053728 0.000991\nvn 0.863231 -5.779130 -1.058787\nv -0.057935 0.053514 0.001018\nvn 2.112795 -7.376514 -2.188822\nv -0.056382 0.054003 0.000991\nvn -0.934603 -5.677625 -1.671771\nv -0.030728 0.053697 0.001045\nvn -1.559888 -4.796596 0.667186\nv 0.034955 0.055052 0.000913\nvn -0.855499 -5.836085 0.730605\nv -0.067980 0.054374 0.000682\nvn -0.821145 -6.873993 0.728420\nv -0.065772 0.054375 0.000815\nvn -0.685777 -4.722056 -1.468189\nv -0.032688 0.054086 0.000826\nvn 2.915162 -4.826819 1.912771\nv -0.021120 0.054952 0.000617\nvn -1.509735 -5.646289 1.285850\nv 0.052508 0.054692 0.000782\nvn -2.416168 -6.193469 2.133094\nv 0.054302 0.054161 0.000974\nvn 2.535637 -6.408578 -0.012867\nv 0.064274 0.054565 0.000958\nvn -2.308838 -5.408550 0.979190\nv -0.069644 0.054926 0.001167\nvn 1.189543 -5.601702 -1.708709\nv -0.054209 0.054615 0.001075\nvn -1.223811 -6.348310 -2.613169\nv -0.034781 0.054373 0.000967\nvn 0.659912 -5.765783 -1.438868\nv -0.052517 0.054955 0.000857\nvn -2.708045 -5.468002 -4.477408\nv -0.036579 0.054838 0.001129\nvn 3.505190 -2.934220 -1.830389\nv 0.031970 0.054407 0.000879\nvn -0.956642 -5.868430 0.709339\nv 0.050426 0.055195 0.001068\nvn 1.521900 -3.630162 0.618994\nv 0.065715 0.055046 0.000380\nvn -2.480921 -4.244025 0.874606\nv -0.070760 0.055454 0.000850\nvn 0.476772 -2.389103 -1.035187\nv -0.045674 0.055395 0.000321\nvn 1.067596 -5.037964 -2.273785\nv -0.044071 0.056076 0.000554\nvn -1.272774 -2.890976 -1.448769\nv -0.036807 0.055845 0.000540\nvn 5.035189 -6.353017 3.558772\nv -0.018823 0.056495 0.000966\nvn -4.868005 -3.426596 3.659881\nv 0.024268 0.055876 0.001072\nvn 1.316235 -4.742595 0.543316\nv 0.035926 0.055145 0.000773\nvn 2.426548 -5.293119 1.201566\nv 0.066587 0.055440 0.000453\nvn -2.097861 -1.473983 1.556915\nv 0.023390 0.056371 0.000371\nvn -4.377068 -5.630480 0.668564\nv 0.046027 0.056149 0.000813\nvn 4.112585 -6.193899 2.323494\nv 0.067909 0.056250 0.000884\nvn -2.410248 -4.275469 0.913567\nv -0.071896 0.056215 0.000984\nvn 0.471589 -8.443000 -3.533500\nv -0.042820 0.056026 0.000822\nvn -2.783053 -5.169104 1.197352\nv -0.073731 0.057051 0.000660\nvn 2.098709 -5.792761 2.936501\nv 0.042508 0.057019 0.000891\nvn -1.949885 -1.812598 1.176202\nv 0.045209 0.056931 0.000334\nvn 1.599189 -1.919824 1.658217\nv 0.069385 0.057051 0.000349\nvn -3.429700 -4.742956 1.230680\nv -0.074482 0.057641 0.001207\nvn 5.300649 -4.817855 3.446229\nv -0.016956 0.058397 0.000711\nvn -8.104794 -5.044759 5.254497\nv 0.022731 0.057968 0.000957\nvn 0.000000 0.000000 0.000000\nv 0.033118 0.058138 0.000127\nvn 5.851393 -5.648034 3.314244\nv 0.070309 0.058195 0.000813\nvn -4.719369 -4.924994 1.512482\nv -0.075820 0.058688 0.000911\nvn 0.854362 -0.479393 -0.213291\nv 0.035967 0.058868 0.000118\nvn 0.000000 0.000000 0.000000\nv 0.033348 0.059580 0.000184\nvn 1.970654 -1.673998 1.508093\nv 0.071255 0.059104 0.000520\nvn 7.513520 -5.469007 2.944139\nv 0.072136 0.060492 0.000975\nvn 5.235110 -4.868611 3.486897\nv -0.014795 0.060429 0.000698\nvn -4.128531 -1.565235 2.251528\nv 0.021215 0.060603 0.000589\nvn -3.406954 -3.452914 1.190201\nv -0.077578 0.060528 0.000949\nvn -4.332587 -5.256939 1.590049\nv -0.078490 0.061408 0.001138\nvn -4.474680 -3.725230 1.120887\nv -0.079965 0.062451 0.000683\nvn 3.673170 -2.455894 2.329552\nv -0.013387 0.062693 0.000997\nvn -6.433642 -4.153392 3.537315\nv 0.020894 0.062358 0.001064\nvn 5.792801 -3.228459 1.428452\nv 0.073391 0.062506 0.000874\nvn -2.938787 -3.595011 0.526996\nv 0.020056 0.063345 0.001054\nvn -5.219848 -5.086002 -1.331964\nv 0.018820 0.064369 0.000796\nvn 6.390732 -2.156404 -0.331630\nv 0.074157 0.064452 0.001060\nvn 6.193057 -4.446898 4.675258\nv -0.012609 0.064228 0.001222\nvn -6.076176 -3.055867 1.515723\nv -0.081343 0.064591 0.000652\nvn 2.817528 -1.981691 1.963559\nv -0.011465 0.065007 0.000678\nvn 5.841822 -2.865301 4.547059\nv -0.011002 0.066105 0.000874\nvn 6.222893 -1.600205 -2.113228\nv 0.074436 0.066051 0.000542\nvn -4.126696 -2.508707 1.169800\nv -0.081968 0.066257 0.001053\nvn -6.040501 -4.290610 -2.443842\nv 0.017048 0.066030 0.000853\nvn -4.570198 -3.654822 1.279185\nv -0.082745 0.067282 0.000787\nvn 4.977102 -1.066565 -4.436543\nv 0.074814 0.067885 0.000241\nvn 4.174863 -1.979028 3.804965\nv -0.009559 0.068126 0.000203\nvn -5.119413 -2.698722 1.222101\nv -0.083805 0.068438 0.000606\nvn -5.308904 -2.412438 -1.331336\nv 0.016027 0.067863 0.000786\nvn 4.802423 -2.522839 4.348443\nv -0.009211 0.070017 0.000719\nvn 7.792427 -3.744792 -5.957758\nv 0.076129 0.069988 0.000635\nvn -8.460745 -2.459265 -0.628171\nv 0.015230 0.070051 0.000832\nvn -3.759846 -0.280101 0.460055\nv 0.014463 0.072441 0.000869\nvn 3.437350 -1.129403 -3.306329\nv 0.076791 0.072337 0.000192\nvn -3.461976 -1.729816 0.814383\nv -0.084953 0.072885 0.000467\nvn -0.339167 2.885414 -4.246318\nv 0.070132 0.072826 0.000159\nvn 0.284217 3.739664 -5.343725\nv 0.067908 0.073726 0.000450\nvn 5.570982 -2.455704 5.175861\nv -0.007216 0.074327 0.000956\nvn -7.685979 0.741269 1.587032\nv 0.014733 0.074009 0.000891\nvn -0.104524 5.120903 -5.827880\nv 0.064460 0.073500 0.000174\nvn -5.073243 -2.661344 1.577260\nv -0.085681 0.074294 0.000971\nvn 0.445093 2.799642 -4.089674\nv 0.062596 0.074263 0.000508\nvn 6.530903 -2.350630 -3.091779\nv 0.077817 0.074220 0.001049\nvn 1.669304 5.076111 -5.926138\nv 0.060466 0.074630 0.000317\nvn -1.380292 0.897096 -4.570817\nv 0.070159 0.074226 0.000463\nvn -1.474386 1.407313 -4.016615\nv 0.045946 0.074411 0.000080\nvn -7.440639 -1.468370 2.097292\nv -0.086436 0.076205 0.001119\nvn 4.492790 -1.481909 3.680497\nv -0.006708 0.075963 0.001082\nvn 2.131721 3.847603 -5.336306\nv 0.058121 0.075962 0.000861\nvn 5.232399 -1.241298 -2.561671\nv 0.078122 0.075957 0.000705\nvn -4.721541 1.013475 1.271063\nv 0.015120 0.076061 0.001185\nvn 1.944278 1.520527 -3.108610\nv 0.056628 0.076393 0.000340\nvn 4.682249 -1.378376 3.481388\nv -0.005574 0.078121 0.000393\nvn -7.128965 3.120731 1.595283\nv 0.015443 0.077648 0.000863\nvn 2.542579 2.804207 -5.670177\nv 0.056224 0.077970 0.000653\nvn 0.834146 1.701437 -2.314257\nv 0.054514 0.078068 0.000189\nvn -3.134681 0.685540 -6.080671\nv 0.070194 0.077950 0.000767\nvn 6.248646 -1.645252 -2.594782\nv 0.078678 0.078021 0.000963\nvn -5.785053 0.321646 1.510105\nv -0.086466 0.078047 0.001012\nvn 1.441023 5.687171 1.087119\nv 0.042738 0.078795 0.001035\nvn 0.556507 4.900252 0.732466\nv 0.044123 0.078647 0.000647\nvn 0.012737 5.898993 0.948985\nv 0.045986 0.078500 0.000935\nvn -0.909830 7.822752 1.103483\nv 0.048466 0.078655 0.001167\nvn -0.650277 3.904076 0.387557\nv 0.049906 0.078950 0.000817\nvn 0.583632 5.587708 -3.968280\nv 0.054138 0.079600 0.001078\nvn -3.400859 0.618452 -5.978129\nv 0.070396 0.079792 0.000851\nvn 3.412914 -0.709517 -1.884158\nv 0.078629 0.079134 0.000179\nvn 2.363797 6.222577 2.019910\nv 0.040815 0.079538 0.000568\nvn -0.780498 4.898283 0.392445\nv 0.050709 0.079084 0.000699\nvn -0.278785 6.506314 -0.727346\nv 0.052667 0.079369 0.000893\nvn 5.431081 -1.645917 4.079924\nv -0.005398 0.079871 0.000970\nvn -5.763371 3.833676 0.773268\nv 0.016692 0.079982 0.000698\nvn -2.140444 0.469655 -3.288359\nv 0.071552 0.080370 0.000240\nvn 2.422015 5.670300 3.157320\nv 0.038725 0.080245 0.001024\nvn 6.782319 -2.367002 5.400182\nv -0.004752 0.081946 0.001026\nvn -3.461714 3.531833 0.134530\nv 0.017569 0.081148 0.000833\nvn 1.250516 3.040136 2.207647\nv 0.037611 0.081374 0.000261\nvn -5.418455 -1.626136 1.698479\nv -0.086429 0.081942 0.001156\nvn 1.995655 4.741968 4.550316\nv 0.036204 0.081524 0.000744\nvn -3.006851 3.961051 0.050136\nv 0.018616 0.082036 0.001015\nvn -3.078524 -0.676516 -6.219994\nv 0.071621 0.082185 0.000216\nvn 0.815576 2.326141 3.132901\nv 0.034443 0.081952 0.000955\nvn -3.634945 -1.168059 0.998317\nv -0.087128 0.082854 0.000413\nvn -3.777898 7.961594 -1.274023\nv 0.020760 0.083345 0.001080\nvn 0.554211 3.968987 4.204252\nv 0.030636 0.083364 0.000151\nvn 3.143347 -0.931296 2.281657\nv -0.003510 0.084192 0.000413\nvn -1.270849 4.667096 -1.180645\nv 0.022434 0.083971 0.001070\nvn 2.112733 4.999397 0.728102\nv 0.028976 0.083421 0.000957\nvn 0.036419 2.361205 3.213776\nv 0.032563 0.083522 0.000094\nvn -1.276251 -0.515483 -2.665220\nv 0.071192 0.083799 0.000092\nvn 0.891758 6.509650 -0.731034\nv 0.026818 0.084139 0.000898\nvn 5.209350 -2.195560 -4.050881\nv 0.080031 0.083955 0.000750\nvn -0.532708 5.695016 -1.450111\nv 0.024589 0.084266 0.000784\nvn -7.438175 -0.598757 2.258277\nv -0.087145 0.084004 0.001230\nvn -4.740668 0.843033 1.288866\nv -0.087080 0.085770 0.000633\nvn 5.397297 -1.099222 4.278641\nv -0.003292 0.086183 0.000779\nvn 2.123506 -1.135672 -1.765440\nv 0.080443 0.085551 0.000376\nvn 5.011903 -2.487042 -4.174481\nv 0.081641 0.086185 0.001289\nvn 6.283410 -2.732109 -3.989225\nv 0.082085 0.087767 0.000941\nvn 5.679409 -1.033033 5.465146\nv -0.003121 0.087863 0.000934\nvn -3.313205 -1.491745 -5.927466\nv 0.069366 0.087864 0.000222\nvn -8.465117 1.424714 2.473883\nv -0.086493 0.087935 0.000824\nvn -5.468510 -0.480332 2.183935\nv -0.086261 0.089563 0.001005\nvn 5.235408 -1.607421 5.690790\nv -0.002749 0.089816 0.001109\nvn -1.306388 -0.859092 -2.482002\nv 0.069181 0.089048 0.000066\nvn -2.449314 -2.991627 -7.912116\nv 0.067897 0.089704 0.000345\nvn 5.055322 -1.435943 -2.818636\nv 0.082641 0.089590 0.000626\nvn 3.746418 -0.917626 3.177330\nv -0.001631 0.090458 0.000063\nvn -3.572757 -0.581241 1.469694\nv -0.086973 0.090527 0.000061\nvn -1.470566 -2.668912 -5.713844\nv 0.066123 0.089780 0.000356\nvn 0.000000 0.000000 0.000000\nv 0.066064 0.090525 -0.000050\nvn -3.746583 0.138847 0.979936\nv -0.087019 0.091312 0.000098\nvn -4.958306 -0.588560 -2.132932\nv 0.064283 0.091560 0.000994\nvn -0.256012 -1.496369 -3.653080\nv 0.067027 0.090875 0.000041\nvn 7.332270 -1.034962 -2.830421\nv 0.083260 0.091959 0.001034\nvn 3.689578 -0.598525 3.304543\nv -0.001645 0.092091 0.000490\nvn -7.230067 0.855930 2.716779\nv -0.086598 0.091891 0.000892\nvn -6.816964 0.989605 -0.684934\nv 0.064389 0.093808 0.000928\nvn -4.430383 1.795441 1.382889\nv -0.086060 0.093719 0.000769\nvn 0.660335 3.894280 0.613651\nv -0.038468 0.093664 0.000921\nvn 0.405835 6.843988 1.169941\nv -0.036481 0.093322 0.001021\nvn -1.196890 5.734972 1.099916\nv -0.034515 0.093471 0.001059\nvn 3.583298 -0.353427 3.436091\nv -0.001031 0.094083 0.000168\nvn 5.598938 -0.629221 -1.912591\nv 0.083377 0.093849 0.000670\nvn 1.438646 6.756291 1.090676\nv -0.040558 0.094025 0.000953\nvn -1.403471 5.591486 1.585438\nv -0.032598 0.094118 0.000826\nvn 2.816550 6.224288 1.143384\nv -0.042528 0.094522 0.001067\nvn -1.639155 7.202195 2.973641\nv -0.030580 0.094423 0.001080\nvn 4.814111 -0.170990 -1.308446\nv 0.083356 0.095483 0.000179\nvn -5.068552 2.748875 1.635663\nv -0.085312 0.095239 0.000603\nvn -2.904282 5.573317 2.884900\nv -0.028528 0.095305 0.000611\nvn 5.279977 -0.566050 5.940913\nv -0.001255 0.095818 0.000354\nvn -4.907997 0.506591 0.028921\nv 0.064743 0.095913 0.000955\nvn 3.792144 4.603425 1.724067\nv -0.044429 0.095732 0.001125\nvn -6.338519 1.929130 1.945872\nv -0.084462 0.096359 0.001214\nvn 5.114277 2.908072 1.968234\nv -0.046110 0.097846 0.000764\nvn -6.594533 1.551587 1.351431\nv 0.064978 0.097652 0.000828\nvn -5.598919 0.595377 1.967991\nv -0.084330 0.097865 0.000880\nvn -1.752831 2.611974 2.397189\nv -0.026127 0.097274 0.000663\nvn 4.054396 -0.944478 5.580820\nv -0.001102 0.097830 0.000566\nvn -3.057283 5.285122 5.106521\nv -0.024645 0.097755 0.001054\nvn 3.617598 -1.013399 4.652207\nv 0.000252 0.099616 0.000073\nvn -6.223080 2.086917 2.193005\nv -0.084126 0.099688 0.000832\nvn -3.304064 3.848486 4.698003\nv -0.022590 0.099339 0.000636\nvn -5.567534 1.734843 1.303500\nv 0.065629 0.099507 0.000864\nvn 7.798379 0.330621 -1.564793\nv 0.083577 0.099590 0.000832\nvn 4.493968 1.525046 1.460547\nv -0.047017 0.099830 0.001030\nvn -4.195292 2.258477 1.478012\nv -0.083484 0.101500 0.000265\nvn -5.707801 1.575712 0.890147\nv 0.066157 0.101387 0.000853\nvn 6.536215 0.787555 2.336204\nv -0.047155 0.101493 0.000523\nvn -3.582537 3.139350 5.063474\nv -0.020779 0.101702 0.000615\nvn 4.027282 -0.311551 5.668982\nv 0.000330 0.101817 0.000359\nvn -4.047891 2.450418 1.595445\nv -0.082632 0.102522 0.000956\nvn 4.659536 0.005332 1.783719\nv -0.047068 0.102775 0.000063\nvn -6.810591 1.066409 0.758450\nv 0.066789 0.103667 0.000836\nvn -2.409441 2.613329 3.497310\nv -0.020379 0.102816 0.000126\nvn -4.404785 1.476070 1.567883\nv -0.081973 0.103585 0.000885\nvn -3.837590 3.529439 6.012932\nv -0.018579 0.103516 0.000721\nvn 5.661757 1.821274 -0.089797\nv 0.082768 0.104012 0.001108\nvn -2.215477 1.721411 4.069853\nv -0.016591 0.105853 0.000838\nvn 2.793747 -0.168034 4.109483\nv 0.000618 0.105934 0.000272\nvn -6.561876 1.140661 1.430063\nv 0.066828 0.106092 0.001048\nvn 7.344580 2.731220 1.180028\nv 0.082129 0.105909 0.000777\nvn 7.250519 -0.849230 3.227906\nv -0.047149 0.106045 0.000750\nvn -3.545233 2.515877 7.730844\nv -0.016506 0.107650 0.000332\nvn -4.622694 1.244727 1.424732\nv 0.066970 0.107342 0.000580\nvn 3.399451 -0.278824 6.038193\nv 0.000864 0.107758 0.000240\nvn 5.018867 2.845803 1.539290\nv 0.081396 0.107632 0.000586\nvn -2.455049 1.056325 1.129107\nv -0.081381 0.107196 0.000487\nvn -6.007999 4.112230 3.055082\nv -0.080684 0.107887 0.000965\nvn -1.403863 0.956035 2.374856\nv -0.016973 0.108375 -0.000121\nvn 7.082045 -1.370459 3.419302\nv -0.046980 0.107754 0.001043\nvn -1.425195 1.415172 3.412857\nv -0.016107 0.108859 0.000089\nvn -6.640134 2.457667 3.478885\nv 0.067863 0.109646 0.001115\nvn 7.118342 5.382037 4.063252\nv 0.079953 0.109696 0.001096\nvn -2.752274 2.557249 1.349546\nv -0.079621 0.109248 0.000747\nvn 4.906974 -1.390370 3.112634\nv -0.046505 0.109736 0.000908\nvn -2.544707 2.148337 7.231201\nv -0.014380 0.109501 0.000353\nvn 2.239313 0.147902 5.537158\nv 0.000865 0.109542 0.000279\nvn -5.191347 3.669213 2.688869\nv -0.078457 0.110200 0.001157\nvn -1.775541 1.196227 3.373019\nv -0.014058 0.110887 0.000095\nvn 1.755658 0.162251 3.581686\nv 0.001577 0.110825 -0.000093\nvn 2.607576 2.344974 1.800377\nv 0.079393 0.110896 0.000476\nvn -4.971762 2.256063 2.414028\nv -0.077900 0.111547 0.001065\nvn -2.966348 2.002532 7.098584\nv -0.012978 0.111464 0.000475\nvn 1.806402 0.045586 4.630754\nv 0.000765 0.111579 0.000199\nvn 3.196908 -1.112004 2.115284\nv -0.045111 0.112225 0.000238\nvn -3.307616 2.528315 2.735921\nv 0.068548 0.111165 0.000784\nvn -3.038126 1.890738 1.647779\nv -0.077490 0.113021 0.000667\nvn -1.858265 1.287919 3.271990\nv -0.013473 0.112575 -0.000107\nvn -4.080528 5.030618 6.074417\nv 0.070446 0.113285 0.000772\nvn 1.709716 2.736436 2.329021\nv 0.077554 0.112635 0.000273\nvn 2.558651 -0.402382 7.520492\nv 0.001011 0.113805 0.000309\nvn 2.720772 4.755007 4.350009\nv 0.075883 0.113122 0.000737\nvn 6.143952 -2.025555 4.678386\nv -0.045017 0.113974 0.000897\nvn -3.329919 3.196822 1.882015\nv -0.076577 0.114062 0.000694\nvn -1.930442 2.457167 7.335122\nv -0.010821 0.113702 0.000436\nvn -0.292737 3.156290 3.830091\nv 0.072434 0.114608 0.000291\nvn 1.627261 4.701255 4.689512\nv 0.074516 0.113787 0.000881\nvn 5.065274 -2.014574 4.346169\nv -0.044459 0.115806 0.000971\nvn 0.000000 0.000000 0.000000\nv -0.010323 0.115025 0.000022\nvn 1.470933 0.255768 4.749199\nv 0.001157 0.115581 0.000270\nvn 0.529880 2.623438 2.853870\nv 0.073852 0.114618 0.000329\nvn -1.578306 1.704635 6.571608\nv -0.008976 0.115387 0.000199\nvn -3.006552 3.402360 2.066161\nv -0.075608 0.114902 0.000811\nvn -4.381353 4.431740 3.071313\nv -0.074281 0.115677 0.001374\nvn -1.063657 0.891402 3.729716\nv -0.009506 0.116308 -0.000159\nvn -3.609924 2.651341 2.167424\nv -0.073528 0.117194 0.000738\nvn 3.363877 -1.091612 3.506288\nv -0.043107 0.117438 0.000263\nvn -0.933973 0.642735 3.835684\nv -0.008398 0.116569 0.000128\nvn -3.930325 3.574096 2.693235\nv -0.072697 0.117957 0.001115\nvn 1.528887 0.639873 6.750021\nv 0.000778 0.117799 0.000159\nvn -2.739334 3.484910 2.281995\nv -0.072000 0.118977 0.000504\nvn 4.556192 -1.159548 5.134044\nv -0.042711 0.119611 0.000520\nvn -0.281710 1.216545 4.827099\nv -0.006343 0.119176 0.000066\nvn -0.150179 0.941934 4.889320\nv -0.004610 0.119196 0.000078\nvn -0.826085 1.205929 7.831677\nv -0.003128 0.119902 0.000122\nvn 1.039226 0.500613 4.828367\nv 0.000477 0.119470 0.000120\nvn -3.798998 4.917664 3.192801\nv -0.070316 0.119741 0.001191\nvn -0.468685 1.321690 5.805834\nv -0.002653 0.120741 0.000062\nvn -1.762762 2.102607 1.208026\nv -0.069526 0.120812 0.000411\nvn 3.676530 -0.994605 4.597354\nv -0.042419 0.121446 0.000677\nvn 0.246410 0.972239 5.882997\nv -0.000975 0.120829 0.000114\nvn -5.111877 5.700434 4.603871\nv -0.068266 0.121483 0.001161\nvn -2.619806 3.193564 2.743516\nv -0.067515 0.122872 0.000579\nvn 2.033161 -0.318430 3.398815\nv -0.041238 0.123755 0.000101\nvn 2.463605 -0.642886 5.401423\nv -0.040687 0.125572 0.000118\nvn -1.624024 3.053401 2.007664\nv -0.064239 0.124863 0.000340\nvn -1.636114 2.488101 2.635863\nv -0.061568 0.126692 0.000427\nvn -2.142305 4.459015 4.867154\nv -0.060103 0.127269 0.000699\nvn -2.163228 5.737977 6.511266\nv -0.058332 0.127625 0.001007\nvn -0.821074 2.166405 1.880148\nv -0.057313 0.128931 0.000135\nvn -1.465069 3.914792 4.245625\nv -0.056174 0.128970 0.000510\nvn -1.925142 4.537920 6.281716\nv -0.054318 0.129321 0.000773\nvn -1.077704 2.121290 3.212285\nv -0.053886 0.130539 0.000065\nvn 1.443567 0.595360 3.646458\nv -0.040802 0.130877 0.000112\nvn -1.813560 3.447234 5.799672\nv -0.052043 0.131179 0.000286\nvn 1.768427 1.430566 6.594284\nv -0.042325 0.131446 0.000479\nvn 1.444914 1.080743 6.682840\nv -0.042772 0.133240 0.000182\nvn -1.130071 2.865622 6.224552\nv -0.048369 0.133081 0.000275\nvn 0.905567 0.203163 2.813512\nv -0.041910 0.133312 -0.000079\nvn -0.198326 1.021996 2.796459\nv -0.045708 0.134508 0.000105\nvn -0.086464 1.559783 4.710142\nv -0.044273 0.135675 -0.000202\nvn -0.422432 -6.939307 0.743234\nv -0.081840 0.140185 0.000591\nvn 0.565569 -5.935987 0.275716\nv -0.080353 0.140187 0.000747\nvn -0.477182 -6.951485 0.544846\nv -0.084173 0.140433 0.000996\nvn 1.388731 -7.857798 0.259152\nv -0.078194 0.140643 0.000754\nvn -0.917714 -4.864961 0.648718\nv -0.087784 0.140796 0.000797\nvn 0.876303 -5.913832 0.371869\nv -0.075740 0.140928 0.000980\nvn -1.510001 -6.726952 1.129899\nv -0.089904 0.141222 0.000908\nvn 1.772757 -6.738446 0.220235\nv -0.074052 0.141222 0.000821\nvn 2.118473 -3.794200 -0.010972\nv -0.036970 0.141336 0.000967\nvn -0.840394 -3.808693 0.382709\nv -0.038559 0.141463 0.000861\nvn -1.595728 -5.626932 1.142091\nv -0.091438 0.141578 0.000966\nvn 2.066606 -6.544243 0.914848\nv -0.072290 0.141870 0.001002\nvn -0.351108 -3.243756 1.600990\nv -0.103145 0.141976 0.000334\nvn 0.772642 -4.176898 2.307575\nv -0.101585 0.142037 0.000063\nvn -1.642294 -4.599780 0.907953\nv -0.093232 0.141973 0.000137\nvn -2.594017 -4.355615 1.630397\nv -0.103934 0.142748 0.001209\nvn -2.966623 -8.231515 1.971131\nv -0.094025 0.142585 0.000961\nvn 5.650305 0.448034 3.450571\nv -0.036951 0.143113 0.001044\nvn 2.812626 -6.248663 1.050239\nv -0.068314 0.143023 0.001093\nvn 1.039079 -5.109753 2.628136\nv -0.099771 0.143508 0.000845\nvn -1.148224 -4.673358 1.136120\nv -0.096029 0.143214 0.000657\nvn -4.865714 -2.018452 -0.087202\nv -0.104824 0.143539 0.000875\nvn -0.608935 -4.631419 1.357784\nv -0.097841 0.143776 0.000975\nvn -3.319467 -8.034692 0.399144\nv -0.042320 0.143260 0.000822\nvn -3.584521 0.414376 -0.958768\nv -0.104957 0.144900 0.000698\nvn 2.301800 -7.363561 1.634137\nv -0.066289 0.144036 0.000661\nvn 1.026782 -3.721802 0.913891\nv -0.064805 0.144148 0.000239\nvn 1.579453 -1.388864 5.589234\nv -0.036286 0.145284 0.000452\nvn 1.972275 -6.517292 1.373783\nv -0.064276 0.144487 0.000988\nvn -2.434888 -5.175682 -1.449217\nv -0.044769 0.144408 0.000969\nvn 1.725507 -4.610530 0.639752\nv -0.062688 0.145116 0.000797\nvn 1.474759 -0.980175 3.238899\nv -0.034627 0.145391 0.000132\nvn -1.567868 -4.503240 -1.008888\nv -0.046499 0.145259 0.000870\nvn 1.268236 -6.771502 1.115595\nv -0.060310 0.145713 0.000944\nvn 1.046858 -4.811601 0.746375\nv -0.058754 0.145898 0.000764\nvn -2.054275 -7.179757 -2.403444\nv -0.048132 0.145689 0.000842\nvn 0.779483 -3.840559 0.599027\nv -0.057617 0.146289 0.000887\nvn -3.747806 4.908229 -2.970927\nv -0.103470 0.146955 0.000802\nvn 0.246474 -7.836087 1.176805\nv -0.056533 0.146325 0.000567\nvn -1.592003 -7.375418 -1.413258\nv -0.050462 0.146399 0.000778\nvn 4.115952 0.568726 5.173656\nv -0.034981 0.147172 0.000265\nvn 0.159550 -5.849501 0.334812\nv -0.052190 0.146670 0.000801\nvn -3.007499 3.202487 -2.120439\nv -0.101839 0.147786 0.000610\nvn -3.999515 3.794703 -2.164055\nv -0.101431 0.148630 0.001204\nvn 4.210247 2.303866 7.265955\nv -0.036587 0.149118 0.000780\nvn -0.600452 4.478674 -3.121495\nv -0.091481 0.149750 0.000464\nvn -2.611810 2.498825 -1.429063\nv -0.100227 0.149883 0.000611\nvn 1.287424 2.339536 -1.604105\nv -0.092845 0.149975 0.000537\nvn -4.482080 4.452215 -2.795959\nv -0.099435 0.150803 0.001194\nvn 3.861224 5.406850 -4.675435\nv -0.093534 0.151173 0.000922\nvn 1.493658 1.030620 2.366966\nv -0.037117 0.150676 0.000320\nvn -0.831034 1.952807 -2.115061\nv -0.087124 0.150690 -0.000124\nvn -3.284912 3.273767 -1.482085\nv -0.098383 0.151482 0.000644\nvn -0.382276 6.497467 -3.980895\nv -0.087806 0.151389 0.000828\nvn -0.200254 4.655644 -1.512386\nv -0.086065 0.151373 0.000677\nvn -0.268257 5.878712 -0.997235\nv -0.084188 0.151311 0.000789\nvn -0.520698 5.910233 -0.864520\nv -0.081918 0.151617 0.000905\nvn 3.416988 1.968037 5.726807\nv -0.038527 0.151345 0.001036\nvn -0.234483 5.938368 -0.812510\nv -0.079693 0.151716 0.000879\nvn -0.459678 5.935235 -0.697327\nv -0.078112 0.151769 0.000701\nvn -0.752129 6.933420 -0.445665\nv -0.076167 0.151935 0.000626\nvn -0.899422 7.931594 -0.297219\nv -0.074567 0.152151 0.000931\nvn -4.018332 5.888315 -1.012567\nv -0.097526 0.152852 0.000797\nvn -0.993632 5.894275 0.247124\nv -0.071951 0.152479 0.000564\nvn 2.379096 0.670346 4.205501\nv -0.038531 0.153049 0.000287\nvn 0.732473 -0.227092 6.900974\nv -0.036354 0.153058 -0.000116\nvn 0.815617 -0.210106 3.829348\nv -0.037623 0.153000 -0.000065\nvn -0.671245 4.904996 0.544780\nv -0.069598 0.152946 0.000841\nvn -1.703184 6.498693 0.408875\nv -0.060309 0.153095 0.000954\nvn 0.229330 7.003905 3.161093\nv -0.067940 0.153021 0.001090\nvn 0.207371 3.456947 1.901323\nv -0.066071 0.152914 0.001055\nvn -0.195158 5.309828 2.524528\nv -0.062512 0.152921 0.000768\nvn -2.422367 5.308886 -0.353296\nv -0.058273 0.153828 0.000938\nvn -0.637005 6.983868 3.596073\nv -0.064148 0.152923 0.000855\nvn 3.332469 -0.520421 7.001996\nv -0.038358 0.154942 0.000347\nvn -2.936076 6.112923 -0.889264\nv -0.056042 0.154909 0.000981\nvn -2.764878 5.100883 -1.000253\nv -0.053965 0.156446 0.001278\nvn -1.192139 3.774113 -0.351406\nv -0.052653 0.156922 0.000810\nvn -2.145438 6.148963 1.007329\nv -0.050510 0.157440 0.000919\nvn -1.227283 7.256393 3.606734\nv -0.048663 0.157743 0.000990\nvn -0.747862 1.855325 1.132645\nv -0.047642 0.158121 0.000415\nvn 5.089014 1.447159 6.931674\nv -0.038835 0.158987 0.000865\nvn -2.290960 1.158198 5.327511\nv -0.046354 0.159059 0.000557\nvn -1.203159 -7.358613 3.226810\nv -0.048321 0.160337 0.000829\nvn 1.909882 -1.530610 4.937661\nv -0.038653 0.161241 0.000364\nvn 1.602930 -0.331446 4.212529\nv -0.034350 0.161142 0.000179\nvn -0.445918 -5.904276 -0.832330\nv -0.054267 0.160344 0.001091\nvn 0.081798 -5.929581 -0.574192\nv -0.052428 0.160352 0.000834\nvn -0.663359 -3.370521 4.438131\nv -0.036174 0.161337 0.000356\nvn -0.000000 0.000000 0.000000\nv -0.033423 0.160875 0.000006\nvn -0.852502 -4.818240 -0.985271\nv -0.058325 0.161141 0.000771\nvn -1.224973 -7.775083 -1.372108\nv -0.062329 0.161728 0.000833\nvn -0.754202 -3.889277 -0.541759\nv -0.064174 0.162069 0.000697\nvn -1.266729 -5.807666 -0.795050\nv -0.065978 0.162454 0.000695\nvn -1.757100 -6.707204 -0.879905\nv -0.068125 0.162944 0.000814\nvn 1.721374 1.147303 2.030084\nv -0.035057 0.162826 0.000200\nvn 3.088387 1.210796 7.299341\nv -0.036288 0.163156 0.000837\nvn -2.432382 -6.474129 -0.727837\nv -0.069783 0.163432 0.001185\nvn 1.621538 1.409528 2.093551\nv -0.036849 0.164425 0.000428\nvn -2.954475 -8.430410 -0.794999\nv -0.072128 0.164325 0.001019\nvn -1.493794 -2.946696 0.603687\nv -0.077486 0.165336 0.000176\nvn -1.659579 -6.297691 0.984389\nv -0.076303 0.165524 0.000966\nvn -1.479698 -5.764301 -0.103121\nv -0.074239 0.165046 0.000794\nvn 4.004836 2.694618 6.981565\nv -0.038566 0.165045 0.001326\nvn 1.592645 -0.068574 4.539169\nv -0.036844 0.166967 0.000085\nvn -2.956624 -4.732500 1.468314\nv -0.077860 0.166281 0.001004\nvn -3.013603 -6.140956 1.348418\nv -0.080045 0.167469 0.001013\nvn -1.698599 -3.461833 1.015950\nv -0.081081 0.167806 0.000498\nvn 1.678022 0.600883 7.616725\nv -0.036213 0.168574 0.000084\nvn -3.001945 -5.999413 1.870464\nv -0.082237 0.168501 0.000863\nvn -2.008831 -2.147759 3.252756\nv -0.093823 0.169495 0.000242\nvn 0.136901 -2.892921 2.382191\nv -0.092386 0.169139 0.000123\nvn 1.318086 0.486715 4.687624\nv -0.038612 0.169215 0.000298\nvn -0.177598 -5.670186 4.199805\nv -0.091685 0.170378 0.000876\nvn -3.126120 -7.739514 2.961940\nv -0.085988 0.170673 0.001048\nvn 2.524147 -0.426262 5.323952\nv -0.038955 0.171133 0.000399\nvn 1.845090 -5.819323 2.731864\nv -0.089744 0.170853 0.000902\nvn 0.050194 -4.558149 1.527718\nv -0.087990 0.171197 0.000892\nvn -3.670451 -2.113092 3.547978\nv -0.093729 0.171185 0.000732\nvn 0.630347 2.741134 3.607109\nv -0.069560 0.171725 -0.000059\nvn 1.864996 5.518671 3.395798\nv -0.069799 0.171099 0.000917\nvn -0.900796 1.238121 1.871896\nv -0.068248 0.171725 -0.000082\nvn -3.058033 5.080133 5.080812\nv -0.068167 0.170920 0.000938\nvn -4.881362 -2.654729 4.046497\nv -0.094205 0.172900 0.000852\nvn 1.367153 2.639046 2.434855\nv -0.071005 0.172004 0.000294\nvn -2.394644 0.193218 2.619982\nv -0.067166 0.172974 0.000259\nvn 2.162331 0.387247 5.273824\nv -0.038606 0.172962 0.000580\nvn 2.711760 6.275026 3.734286\nv -0.072411 0.172670 0.000672\nvn -1.798045 -1.490356 1.880958\nv -0.095649 0.173816 0.000139\nvn 1.979054 5.125585 2.289604\nv -0.074114 0.173083 0.001030\nvn 3.684564 6.543030 1.693269\nv -0.075982 0.173981 0.000516\nvn -6.737689 -1.289465 5.192139\nv -0.067671 0.174812 0.000888\nvn 1.494850 2.855246 4.479335\nv -0.038485 0.174297 0.000195\nvn -5.658440 -4.667582 6.609830\nv -0.095781 0.174985 0.000951\nvn 4.309620 4.058330 0.121184\nv -0.077512 0.175122 0.000749\nvn 1.612754 1.553679 5.848262\nv -0.040876 0.174664 0.000334\nvn -4.689001 -0.386484 4.554361\nv -0.097573 0.176804 0.000435\nvn 2.697840 -2.410005 7.316256\nv -0.040367 0.176577 0.000857\nvn 1.738695 4.656406 4.700820\nv -0.048609 0.176368 0.000406\nvn -0.121071 4.013478 4.046510\nv -0.046161 0.175961 0.000195\nvn -3.380594 2.229202 2.138119\nv -0.067639 0.176449 0.000853\nvn -0.874474 2.034719 4.106808\nv -0.044150 0.176381 0.000417\nvn 2.467199 -2.460821 1.496429\nv -0.038861 0.177300 0.000506\nvn 4.635923 3.709603 0.411657\nv -0.078598 0.176537 0.000840\nvn 1.411700 5.462064 1.909829\nv -0.057910 0.177525 0.001055\nvn -0.228136 7.142371 4.596114\nv -0.056308 0.177145 0.001010\nvn 2.817630 4.367842 5.828050\nv -0.050456 0.176630 0.001134\nvn -1.564979 2.121626 4.920039\nv -0.042643 0.176748 0.000757\nvn -2.511356 1.264695 2.283073\nv -0.097204 0.178163 0.000596\nvn 5.890562 5.252408 0.419331\nv -0.080215 0.178557 0.000879\nvn -1.586016 4.190178 1.888146\nv -0.066238 0.177442 0.000914\nvn -0.984313 6.559475 1.985825\nv -0.064479 0.177724 0.000753\nvn -0.606921 3.880296 0.714566\nv -0.063756 0.177861 0.000413\nvn -0.667646 5.781133 1.267643\nv -0.062454 0.178083 0.000632\nvn 1.140721 4.766189 0.821114\nv -0.058798 0.177943 0.000444\nvn -1.149264 3.431437 1.622687\nv -0.055630 0.177819 0.000297\nvn 1.188524 2.774118 2.383532\nv -0.051139 0.177775 0.000547\nvn 0.418647 6.642161 1.848739\nv -0.060387 0.178112 0.000946\nvn -0.628205 4.121121 2.622172\nv -0.054332 0.178084 0.000435\nvn 0.483024 5.810114 3.643612\nv -0.052491 0.178115 0.000422\nvn -2.250299 3.000186 4.108997\nv -0.042012 0.177967 0.000340\nvn 1.896521 -2.172306 4.424784\nv -0.038521 0.178590 0.001259\nvn -2.212618 2.349106 4.437797\nv -0.040603 0.178574 0.000764\nvn -2.990726 5.776499 0.464908\nv -0.095786 0.179096 0.001018\nvn -0.181138 5.701443 -1.662818\nv -0.093449 0.179314 0.000617\nvn -1.519037 5.665863 -2.924168\nv -0.091400 0.179235 0.000761\nvn -1.336599 2.019860 -1.700022\nv -0.090762 0.179407 0.000540\nvn -4.444355 5.685147 -1.383609\nv -0.089631 0.180577 0.000825\nvn 3.697794 4.624246 -0.165390\nv -0.082036 0.180388 0.000789\nvn 0.688909 0.728444 5.306230\nv -0.036430 0.180851 0.000966\nvn 2.756703 -2.174287 1.263436\nv -0.035100 0.181012 0.000630\nvn -1.443713 2.650832 4.279483\nv -0.038359 0.180332 0.000883\nvn 3.431031 7.757329 -0.999245\nv -0.083593 0.181361 0.000990\nvn 0.950993 0.697878 1.991153\nv -0.034240 0.182441 0.000198\nvn -2.316862 4.240020 0.377663\nv -0.088505 0.181373 0.001223\nvn -1.341497 5.729070 0.041323\nv -0.087240 0.181819 0.000840\nvn -1.041114 2.441904 2.266631\nv -0.035947 0.182080 0.000529\nvn -1.290524 -6.814707 0.708425\nv -0.062157 0.053564 0.001297\nvn -0.122771 -6.867109 -0.334344\nv -0.060490 0.053350 0.000826\nvn -0.256025 -2.962196 -0.340550\nv -0.027648 0.053370 0.000413\nvn 0.251472 -4.889011 -0.948184\nv -0.050250 0.055138 0.000880\nvn 0.774633 -7.140792 -2.472042\nv -0.046361 0.055211 0.000937\nvn 1.445346 -2.378933 0.985937\nv -0.020046 0.055708 0.001054\nvn -1.455840 -6.793899 0.574570\nv 0.048215 0.055533 0.001252\nvn -0.349961 -4.765856 -2.709641\nv -0.040686 0.055962 0.001314\nvn 2.485579 -2.625149 1.685975\nv -0.016066 0.059390 0.000908\nvn -0.855183 0.513042 0.082452\nv 0.036681 0.059916 0.000225\nvn 4.413764 -1.842617 3.579946\nv -0.010598 0.068043 0.001267\nvn 4.098073 -1.723470 -2.062804\nv 0.075663 0.068149 0.001090\nvn -6.602985 -1.603151 1.549032\nv -0.084302 0.069945 0.000949\nvn 4.100742 -2.060010 3.846139\nv -0.008861 0.071699 0.001257\nvn 2.668123 -1.403598 2.617562\nv -0.007638 0.072237 0.000402\nvn 0.000000 0.000000 0.000000\nv 0.045941 0.072994 0.000039\nvn 4.333980 -1.360664 -1.967376\nv 0.077290 0.072488 0.000908\nvn 0.066965 2.456447 -2.923080\nv 0.066177 0.074062 0.000572\nvn 1.650692 0.126685 -2.601452\nv 0.044517 0.074272 0.000120\nvn -0.674068 -1.247428 -3.076655\nv 0.045646 0.075422 0.000046\nvn 1.231541 -2.301144 -1.851138\nv 0.044971 0.075375 0.000046\nvn -2.206721 0.238566 -4.354503\nv 0.069954 0.076231 0.000750\nvn 5.958908 -1.440098 -3.253089\nv 0.079220 0.080269 0.001138\nvn -2.589563 -0.360750 -5.376935\nv 0.069934 0.082034 0.000974\nvn 0.934761 3.397281 1.323186\nv 0.031006 0.082530 0.001030\nvn 4.741443 -1.505321 -3.327825\nv 0.079871 0.082165 0.001282\nvn 2.371393 6.654064 6.064753\nv 0.032750 0.082281 0.001085\nvn -3.200800 -1.264580 -6.078627\nv 0.069886 0.084225 0.000644\nvn -3.621440 -1.212647 -5.863953\nv 0.069591 0.085852 0.000442\nvn -2.670345 -1.032350 -3.450778\nv 0.064458 0.089762 0.001055\nvn -3.584414 5.567989 4.275393\nv -0.027114 0.095841 0.001339\nvn 2.857924 -0.707526 5.194519\nv -0.000974 0.099587 0.000852\nvn 0.000000 -0.000000 -0.000000\nv -0.021873 0.101025 0.000094\nvn 8.731606 1.505971 -1.281719\nv 0.083321 0.101744 0.000765\nvn 3.469815 -0.216927 4.853508\nv 0.000323 0.104000 0.000371\nvn -7.102157 1.927970 2.917036\nv -0.081524 0.105766 0.001047\nvn -3.452782 1.210509 1.542688\nv 0.067390 0.107960 0.001332\nvn 5.321583 -1.923657 4.106130\nv -0.046047 0.111434 0.001088\nvn 2.375509 0.250528 7.595139\nv -0.000990 0.111531 0.000716\nvn 4.399646 5.836309 5.134532\nv 0.078160 0.111381 0.001153\nvn -2.897469 2.733504 3.010384\nv 0.069489 0.111701 0.001309\nvn -1.838069 1.620520 4.296954\nv -0.012403 0.113022 0.000236\nvn -0.658638 4.088682 4.199976\nv 0.072002 0.113558 0.001260\nvn -1.109901 1.743592 5.624248\nv -0.008833 0.113580 0.000851\nvn -1.137493 1.507846 6.703651\nv -0.006988 0.115905 0.000578\nvn -0.020651 1.284375 7.867579\nv -0.002867 0.117410 0.000342\nvn -0.125624 1.138569 5.879315\nv -0.005143 0.117440 0.000451\nvn 0.172937 0.478740 3.950493\nv -0.000847 0.117475 0.000372\nvn -1.258878 1.287633 6.736355\nv -0.007076 0.117942 0.000241\nvn 0.212715 0.470087 5.957323\nv -0.000960 0.119575 0.000266\nvn 2.429364 -0.641258 3.085827\nv -0.041473 0.122375 0.000138\nvn -3.776331 6.463664 4.899680\nv -0.065957 0.123477 0.001055\nvn 2.667485 -0.151373 5.335220\nv -0.042202 0.125231 0.000693\nvn -3.857017 5.888561 5.487225\nv -0.062224 0.125412 0.001133\nvn 3.350533 -0.010983 7.209836\nv -0.040872 0.127411 0.000286\nvn 2.514063 0.346425 5.400115\nv -0.040829 0.129550 0.000270\nvn -0.997331 2.680307 4.095204\nv -0.052468 0.129341 0.001263\nvn -1.151930 2.254432 4.296361\nv -0.050725 0.131016 0.000813\nvn 0.319366 0.870450 3.882951\nv -0.044225 0.133108 0.000425\nvn -0.217857 1.959288 6.680199\nv -0.046233 0.133373 0.000402\nvn 0.258233 1.882471 6.688910\nv -0.044448 0.134508 0.000133\nvn -0.716885 -5.889904 0.598236\nv -0.086186 0.140491 0.001148\nvn 0.812686 -3.796051 0.938791\nv -0.070873 0.141975 0.000127\nvn 1.894695 -7.073550 5.063080\nv -0.101500 0.142997 0.001231\nvn 1.543200 -5.607281 1.355553\nv -0.069675 0.142351 0.000675\nvn -2.343674 -4.158191 0.752596\nv -0.040783 0.142434 0.000890\nvn 2.734390 0.595008 4.719895\nv -0.038206 0.145302 0.000945\nvn -3.906220 2.137052 -1.353066\nv -0.104579 0.146088 0.000946\nvn 0.230473 -4.918365 0.598070\nv -0.054264 0.146392 0.000973\nvn 1.544481 -0.464758 4.605126\nv -0.036309 0.147025 0.000953\nvn -1.237201 2.028463 -1.427882\nv -0.090202 0.150082 0.000345\nvn -0.824180 5.331196 -5.664266\nv -0.089706 0.151014 0.000831\nvn -2.111636 4.338210 -0.424473\nv -0.057387 0.154146 0.000914\nvn -2.240198 3.172260 -0.867829\nv -0.054822 0.155490 0.000510\nvn 3.625330 -1.131446 5.129804\nv -0.038663 0.156919 0.000868\nvn -0.984998 -6.767874 -1.355076\nv -0.056034 0.160547 0.001255\nvn -0.043915 -4.958247 -0.194187\nv -0.050680 0.160342 0.001085\nvn -0.913967 -5.800149 -1.199879\nv -0.060283 0.161416 0.000906\nvn -1.069548 -2.763725 -0.074270\nv -0.070930 0.163987 0.000537\nvn 1.291904 0.987018 5.663748\nv -0.038633 0.167056 0.000453\nvn -3.294524 -5.702306 2.150571\nv -0.084047 0.169544 0.000964\nvn -4.659734 0.086208 3.906355\nv -0.066313 0.172829 0.001252\nvn 1.940750 3.183492 1.041735\nv -0.075796 0.173646 0.000999\nvn 0.266167 0.472303 5.774122\nv -0.042703 0.174842 0.000756\nvn -1.640438 -0.913915 2.279498\nv -0.097298 0.175400 0.000236\nvn 0.997080 3.951878 5.514261\nv -0.048332 0.174900 0.001290\nvn 1.938475 4.219780 7.427264\nv -0.046295 0.174898 0.001264\nvn 3.087378 2.457176 0.337185\nv -0.079274 0.177413 0.000800\nvn 1.432296 -0.988114 2.056710\nv -0.036787 0.179190 0.000885\nvn 0.473144 5.535373 -1.166657\nv -0.086018 0.181927 0.000892\nvn 0.145626 -3.926300 -0.418761\nv -0.059556 0.053292 0.001229\nvn 1.883682 -5.588562 1.027642\nv 0.037073 0.055625 0.000976\nvn -0.620697 -4.420588 -2.642519\nv -0.038484 0.056031 0.001104\nvn 1.163468 3.199925 -4.879487\nv 0.060102 0.076030 0.001425\nvn 0.380565 3.616923 -4.632874\nv 0.056160 0.079969 0.001376\nvn -5.769196 -0.082810 1.547852\nv -0.086288 0.079855 0.001119\nvn -3.077725 -1.864596 -5.893796\nv 0.067934 0.086292 0.001411\nvn -1.439191 -1.115876 -3.543669\nv 0.067886 0.087889 0.000973\nvn 3.845675 -1.201350 4.252351\nv -0.002430 0.091327 0.001252\nvn 0.760619 0.735939 0.849754\nv -0.045403 0.096825 0.000763\nvn -1.326815 2.534329 2.788844\nv -0.022926 0.098426 0.001235\nvn -4.553449 1.558544 1.328312\nv 0.065332 0.098400 0.001025\nvn -2.723444 2.176662 3.560869\nv -0.021330 0.099740 0.001400\nvn 1.758635 -0.190541 3.550363\nv -0.000693 0.101818 0.001011\nvn 2.718485 -0.059212 6.390786\nv -0.001011 0.103830 0.001117\nvn 2.435979 -0.138735 5.433323\nv -0.000854 0.105864 0.001169\nvn -0.993429 1.244452 3.667137\nv -0.014588 0.107658 0.000918\nvn 1.776457 0.441900 4.635631\nv -0.000960 0.109554 0.000890\nvn -1.570369 0.937962 4.652075\nv -0.012797 0.109535 0.000928\nvn -1.474393 1.668586 6.599144\nv -0.010829 0.111669 0.001133\nvn 0.909466 0.171280 4.888547\nv -0.001055 0.113690 0.000840\nvn 0.813714 0.826618 6.849489\nv -0.000866 0.115922 0.000668\nvn -0.003290 1.606957 6.790446\nv -0.004796 0.115403 0.000874\nvn 0.300352 0.870168 4.895626\nv -0.002534 0.115387 0.000835\nvn 4.505604 -0.964797 5.216265\nv -0.044237 0.117440 0.001290\nvn 4.324908 -0.231524 6.702514\nv -0.042680 0.123535 0.001084\nvn 2.230448 0.273598 5.517196\nv -0.042602 0.127382 0.000971\nvn 1.739980 0.475359 5.702896\nv -0.042603 0.129178 0.000896\nvn -0.380502 2.023407 4.532713\nv -0.048296 0.131460 0.001059\nvn 0.934843 1.746331 6.695553\nv -0.044538 0.131183 0.000888\nvn 0.274303 2.060516 5.601237\nv -0.046247 0.131388 0.001047\nvn -2.285877 -4.501132 2.016450\nv -0.040066 0.142069 0.001386\nvn -1.652160 -0.111720 5.322793\nv -0.044565 0.158971 0.001155\nvn 2.912206 0.733212 5.885492\nv -0.040439 0.161005 0.001464\nvn 1.837291 -1.463159 5.166821\nv -0.038591 0.162866 0.001234\nvn 2.535971 2.324676 4.593140\nv -0.040774 0.167032 0.001110\nvn 2.024441 -0.061897 5.556300\nv -0.040707 0.168921 0.000813\nvn -1.441271 1.090074 1.668872\nv -0.066843 0.171578 0.001116\nvn 0.634535 1.762922 5.674761\nv -0.042524 0.173122 0.001189\nvn 1.338008 1.082381 5.535933\nv -0.040443 0.172967 0.001091\nvn 0.461689 2.057741 5.462042\nv -0.044361 0.174688 0.000886\nvn -2.269207 -2.791564 1.603367\nv 0.026313 0.053717 0.001647\nvn 0.106779 -4.855964 -1.119404\nv -0.048356 0.055175 0.000980\nvn 1.902645 -6.415603 1.753622\nv 0.040472 0.056560 0.001249\nvn 1.837422 -0.273844 -3.382441\nv 0.008856 0.057944 0.001723\nvn 1.181010 -2.337126 1.309989\nv 0.043154 0.057875 0.001500\nvn 2.619722 -2.172433 2.039350\nv -0.017890 0.057954 0.001659\nvn 0.000000 0.000000 0.000000\nv 0.014641 0.060745 0.001723\nvn 4.934194 -3.180490 3.770045\nv -0.014133 0.062098 0.001552\nvn 2.488650 -1.615286 0.198963\nv 0.072855 0.061825 0.001342\nvn -0.128699 0.278417 -1.701983\nv 0.013110 0.064455 0.001735\nvn -3.283449 -2.032799 0.917275\nv -0.080848 0.063908 0.001257\nvn -1.770915 -1.819869 -1.586954\nv 0.017770 0.064965 0.001351\nvn 3.172719 -1.479981 -1.702280\nv 0.075077 0.066669 0.001112\nvn -2.738943 -1.038875 -0.621341\nv 0.015689 0.068351 0.001354\nvn 2.811231 -1.413952 2.359251\nv -0.010230 0.069559 0.001459\nvn -5.500030 -1.644321 1.464084\nv -0.084605 0.072383 0.001445\nvn 0.340275 3.427837 -4.875040\nv 0.062260 0.075467 0.001322\nvn -0.479451 3.284929 -6.131111\nv 0.064288 0.075945 0.001525\nvn -0.430659 2.649436 -6.430669\nv 0.065945 0.075938 0.001386\nvn -1.282348 1.444702 -6.659824\nv 0.067989 0.075983 0.001182\nvn 2.516732 1.743063 -5.083015\nv 0.057888 0.077717 0.001660\nvn 4.558497 -1.510040 3.586114\nv -0.006441 0.077663 0.001419\nvn -3.483662 1.774783 0.812699\nv 0.015858 0.078275 0.001288\nvn 1.146060 4.575252 3.581959\nv 0.037014 0.080531 0.001441\nvn 3.720250 -1.131672 3.130960\nv -0.004324 0.084038 0.001404\nvn -1.524206 -2.680260 -6.191986\nv 0.065989 0.087885 0.001555\nvn 4.545801 -1.086175 -1.712276\nv 0.083145 0.089698 0.001662\nvn 5.340795 -0.255070 5.933047\nv -0.002343 0.093714 0.001350\nvn -0.794526 2.552231 1.348276\nv -0.029291 0.094536 0.001520\nvn 3.243082 -0.248232 3.789500\nv -0.002423 0.096242 0.001485\nvn 3.723332 3.151990 1.023120\nv -0.045433 0.096636 0.001444\nvn 3.702743 -0.200538 4.691692\nv -0.002349 0.097720 0.001573\nvn 4.905790 0.010261 -0.947298\nv 0.083626 0.098575 0.001112\nvn 4.578169 0.483359 1.916171\nv -0.047596 0.102317 0.001497\nvn 6.355302 -0.077346 2.899967\nv -0.047658 0.103942 0.001506\nvn -2.307652 2.827451 5.908666\nv -0.018955 0.101887 0.001470\nvn 2.885823 0.734013 -0.205955\nv 0.083112 0.102862 0.001239\nvn -2.427382 2.692652 5.831355\nv -0.016801 0.103968 0.001623\nvn 2.680327 -0.220210 1.322099\nv -0.047460 0.105629 0.001288\nvn 2.376917 0.395167 5.451447\nv -0.001300 0.107675 0.001337\nvn -2.676622 2.728956 9.206864\nv -0.012668 0.107756 0.001336\nvn 2.455115 1.440630 0.914998\nv 0.080831 0.108228 0.001280\nvn 1.202403 2.018467 1.865480\nv 0.076371 0.112117 0.001510\nvn 2.233646 -0.758524 1.851841\nv -0.045740 0.113102 0.001435\nvn 0.965711 0.827220 5.799540\nv -0.002826 0.113663 0.001145\nvn -0.684667 1.448869 6.784820\nv -0.007080 0.113788 0.001156\nvn 3.606549 -0.757513 4.717700\nv -0.044197 0.119417 0.001628\nvn -1.804565 3.572946 2.964369\nv -0.064433 0.123981 0.001469\nvn -1.496095 3.029525 3.655037\nv -0.060317 0.125919 0.001679\nvn -1.402817 4.056907 5.527472\nv -0.056154 0.127725 0.001469\nvn 1.717014 1.360510 6.606764\nv -0.044349 0.129547 0.001264\nvn -0.995586 3.463720 7.065728\nv -0.050363 0.129505 0.001627\nvn 0.565286 -2.933497 0.086307\nv -0.079623 0.140307 0.001462\nvn 1.176297 -4.724590 1.042686\nv -0.071223 0.142242 0.001288\nvn -1.483560 -4.307720 -1.515366\nv -0.044365 0.143998 0.001411\nvn 2.427858 1.323970 2.824313\nv -0.037827 0.143794 0.001599\nvn -0.742322 -2.556448 -1.381841\nv -0.049846 0.145821 0.001486\nvn 2.487802 -0.026066 7.313747\nv -0.038616 0.147302 0.001438\nvn 0.282627 3.325794 -4.833319\nv -0.091803 0.150946 0.001262\nvn -0.431043 3.964000 -0.102164\nv -0.075248 0.152118 0.001332\nvn 4.212419 -0.229566 7.607758\nv -0.040273 0.153109 0.001549\nvn 1.449409 2.883935 -1.689142\nv -0.094154 0.152473 0.001764\nvn 2.501347 -0.519234 3.077011\nv -0.039763 0.154677 0.001437\nvn -0.506277 2.818881 2.646439\nv -0.045986 0.157784 0.001481\nvn -0.967089 -3.024621 3.532184\nv -0.045979 0.160366 0.001363\nvn 1.504626 -1.769106 6.354972\nv -0.040742 0.163151 0.001578\nvn -2.084445 -3.239909 0.922920\nv -0.084559 0.170122 0.001587\nvn 1.778949 -0.291542 4.593869\nv -0.040429 0.171166 0.001171\nvn 2.159920 4.045941 1.952211\nv -0.071458 0.171691 0.001320\nvn 1.648788 2.458953 7.380383\nv -0.044394 0.172703 0.001509\nvn -2.789949 -1.798030 2.081149\nv -0.094673 0.174256 0.001375\nvn -4.053864 -0.505539 3.650243\nv -0.096245 0.176364 0.001479\nvn -0.301473 3.254231 3.690018\nv -0.054235 0.177172 0.001490\nvn 1.090123 4.568632 6.335943\nv -0.052453 0.176993 0.001557\nvn -0.697869 4.696420 1.489410\nv -0.063002 0.177704 0.001641\nvn 3.518982 3.363503 0.868966\nv -0.081201 0.179600 0.001359\nvn 0.734289 3.547200 -0.580065\nv -0.084698 0.181816 0.001112\nvn -1.156859 -2.589931 0.975304\nv 0.055477 0.053807 0.001399\nvn 0.672951 -4.279629 -2.284804\nv -0.044430 0.055187 0.001521\nvn -0.807805 -2.497468 -2.851991\nv -0.038879 0.055134 0.001643\nvn 0.961012 -3.793292 0.796185\nv 0.038839 0.056266 0.001537\nvn -0.973361 -0.564926 -3.092230\nv 0.007803 0.057371 0.001678\nvn 0.265408 -2.301146 -1.807406\nv 0.008132 0.057054 0.001713\nvn -2.312999 -1.049884 1.484900\nv 0.022025 0.059752 0.001525\nvn 2.124363 -4.093524 -4.846820\nv 0.014704 0.060168 0.002795\nvn 0.868520 0.904476 -5.697491\nv 0.014648 0.064365 0.002524\nvn 2.625878 -1.776333 2.388761\nv -0.011878 0.065325 0.001462\nvn -2.086020 1.193868 -6.566111\nv 0.067792 0.078193 0.001644\nvn -2.199771 0.414290 -5.547059\nv 0.068541 0.079537 0.001597\nvn -3.689121 -0.894797 -5.854779\nv 0.068332 0.083793 0.001681\nvn 2.893015 -1.439079 -2.339256\nv 0.081242 0.084570 0.001714\nvn -2.789339 0.618916 0.892885\nv -0.086721 0.086325 0.001462\nvn -2.550152 -1.145641 -5.427436\nv 0.064186 0.087820 0.001816\nvn 3.190553 0.264522 6.109215\nv -0.002536 0.099718 0.001678\nvn 0.948109 0.004500 3.872184\nv -0.002807 0.103698 0.001639\nvn -1.929230 2.657378 7.270188\nv -0.014454 0.105931 0.001544\nvn -0.898489 1.033976 3.732063\nv -0.011199 0.107910 0.001757\nvn -1.358401 1.074484 5.729562\nv -0.010858 0.109600 0.001523\nvn 1.797626 0.844163 6.660386\nv -0.002954 0.109457 0.001653\nvn 1.045649 0.645344 5.812788\nv -0.002969 0.111579 0.001480\nvn -0.461088 1.233488 5.826278\nv -0.009079 0.111467 0.001395\nvn -0.261587 0.618117 4.952878\nv -0.006923 0.111628 0.001455\nvn 0.193297 0.919956 4.880978\nv -0.004317 0.113613 0.001350\nvn 3.716337 -0.556335 5.874711\nv -0.043867 0.121360 0.001657\nvn 3.046217 0.349723 6.274857\nv -0.043921 0.125359 0.001682\nvn 1.928588 0.759025 5.603055\nv -0.044461 0.127567 0.001745\nvn -1.000956 2.837338 3.991974\nv -0.054472 0.128011 0.001705\nvn 0.976438 1.998317 6.624296\nv -0.046066 0.129474 0.001678\nvn -0.213181 -3.967633 0.385227\nv -0.082773 0.140395 0.001462\nvn 0.754048 -3.852597 0.733522\nv -0.065483 0.144391 0.001462\nvn 1.812807 0.179093 4.614625\nv -0.038820 0.149287 0.001711\nvn -0.694628 4.264568 5.220380\nv -0.044562 0.157813 0.001711\nvn 2.083911 2.037311 2.643000\nv -0.041710 0.167143 0.001765\nvn 2.952041 1.265543 8.010073\nv -0.042724 0.168886 0.001726\nvn 0.949614 1.139434 2.598818\nv -0.045660 0.173243 0.001685\nvn -3.032801 -1.289895 2.222019\nv -0.066697 0.174211 0.001696\nvn -1.953471 -4.037975 1.845087\nv 0.027628 0.053128 0.002129\nvn -0.960592 -7.654582 0.927820\nv 0.028955 0.053006 0.002717\nvn 1.355766 -5.457534 -1.189482\nv 0.030835 0.052993 0.002664\nvn -1.700731 -7.535839 1.322412\nv 0.058377 0.053081 0.002746\nvn 0.046515 -3.979057 0.052656\nv 0.060185 0.052941 0.002781\nvn -1.398755 -7.727754 1.260008\nv -0.060748 0.053483 0.002994\nvn 0.577449 -3.852031 -0.659856\nv -0.057450 0.053405 0.002101\nvn -0.190412 -7.706420 -0.888287\nv -0.030915 0.053405 0.002513\nvn 0.129486 -4.965433 0.172420\nv -0.027590 0.053314 0.002163\nvn 0.950550 -5.634198 1.504531\nv -0.026733 0.053493 0.002942\nvn 1.170857 -5.776254 -0.525282\nv 0.061901 0.053116 0.002855\nvn 1.004709 -5.787281 -0.875761\nv -0.056124 0.053495 0.002732\nvn -0.405084 -5.802973 -1.224966\nv -0.032393 0.053473 0.002646\nvn 3.107091 -6.287006 3.525230\nv -0.024330 0.054070 0.002740\nvn -4.342983 -4.069700 3.607870\nv 0.026707 0.054371 0.002867\nvn 5.020382 -4.647568 -3.328398\nv 0.032786 0.054006 0.002684\nvn 2.037710 -4.387747 -0.979976\nv 0.063076 0.053539 0.002730\nvn -3.059416 -8.098842 2.342685\nv 0.055995 0.054143 0.002955\nvn -1.330841 -6.733028 1.051619\nv -0.067899 0.054641 0.002702\nvn -0.307830 -3.963017 0.362074\nv -0.066009 0.054467 0.003051\nvn -1.223154 -7.760135 1.195107\nv -0.064178 0.054369 0.002918\nvn -1.055789 -7.381263 -2.551770\nv -0.036485 0.053787 0.002974\nvn 2.796516 -4.468035 2.830552\nv -0.022663 0.054979 0.002527\nvn -1.428260 -5.705551 1.077253\nv 0.054282 0.054709 0.003057\nvn 3.244065 -4.882736 -1.103995\nv 0.064365 0.054356 0.003011\nvn 0.832341 -4.645132 -1.639291\nv -0.052600 0.054288 0.002756\nvn -1.068423 -4.959820 -3.135698\nv -0.038505 0.054298 0.002676\nvn 0.252318 -3.775915 0.794206\nv 0.035619 0.055171 0.002009\nvn -2.048496 -4.360829 1.205265\nv -0.069531 0.055151 0.002530\nvn -0.460697 -5.891795 -3.608796\nv -0.040813 0.054460 0.003007\nvn 1.768477 -7.533820 1.072310\nv 0.036357 0.055608 0.003040\nvn 2.744514 -5.273237 -0.121111\nv 0.065458 0.055124 0.002688\nvn -2.932595 -5.027263 1.408994\nv -0.070233 0.055639 0.002772\nvn 0.290945 -2.200894 -1.572446\nv -0.043002 0.055237 0.001684\nvn 4.962102 -7.041493 4.936947\nv -0.020745 0.056229 0.002682\nvn 0.724265 -6.510280 -1.847443\nv 0.034315 0.055649 0.002937\nvn -1.406719 -4.733005 -0.402122\nv 0.046127 0.056029 0.002652\nvn -0.838505 -6.919445 0.045172\nv 0.048478 0.055569 0.003014\nvn 3.773079 -5.797465 0.325832\nv 0.066449 0.055632 0.002661\nvn -3.222178 -5.995566 1.582308\nv -0.072147 0.056708 0.002715\nvn -5.644631 -3.938074 4.071691\nv 0.025009 0.056433 0.002606\nvn 2.242232 -3.274544 0.434857\nv 0.068005 0.056561 0.002648\nvn -1.129456 -5.047423 0.744982\nv 0.007426 0.056954 0.002853\nvn 1.920765 -2.849166 0.004103\nv 0.008454 0.057045 0.002433\nvn -5.428165 -6.675400 2.032748\nv -0.074229 0.058012 0.003002\nvn -0.958578 -1.013708 -1.099593\nv 0.007455 0.057195 0.001813\nvn 3.922404 -5.395362 3.077821\nv 0.042689 0.058132 0.002675\nvn -5.227924 -1.619523 -0.605715\nv 0.044804 0.058075 0.002833\nvn 6.046521 -6.542829 0.518214\nv 0.069995 0.058135 0.002826\nvn 3.049090 -3.951269 0.412127\nv 0.009160 0.057834 0.002967\nvn -2.039259 -1.399532 1.570062\nv 0.023417 0.058264 0.002344\nvn 1.657371 -3.831223 -2.946455\nv 0.010823 0.058914 0.002700\nvn 0.000000 0.000000 0.000000\nv 0.010327 0.058675 0.001723\nvn -2.674596 -2.742977 1.104216\nv -0.075781 0.059065 0.002219\nvn 3.073985 -2.782646 2.721714\nv -0.017596 0.059085 0.002249\nvn -0.914422 -3.690320 2.341569\nv 0.044070 0.059683 0.002845\nvn -3.515710 -3.276073 1.356098\nv -0.076573 0.060156 0.002801\nvn 4.567032 -5.070292 4.108714\nv -0.016771 0.060228 0.002868\nvn -7.407392 -3.278682 5.727461\nv 0.022780 0.060333 0.002796\nvn 3.076100 -2.523617 0.332634\nv 0.071000 0.059328 0.001988\nvn 5.540653 -4.243815 -0.029468\nv 0.071979 0.060510 0.002804\nvn 3.226880 -2.591083 2.754654\nv -0.015446 0.061027 0.002301\nvn -3.810509 -4.318636 1.603568\nv -0.077509 0.061131 0.002711\nvn 4.102902 -2.827002 -0.011938\nv 0.072774 0.061693 0.002095\nvn 3.448427 -2.206115 2.847741\nv -0.015123 0.062312 0.002885\nvn -4.225827 -3.874860 1.585044\nv -0.079530 0.062612 0.002386\nvn -2.029089 -5.335190 0.884763\nv 0.021030 0.062944 0.002823\nvn -2.001097 -4.331742 -0.192183\nv 0.020129 0.063261 0.002709\nvn -1.485176 -5.021104 -2.037632\nv 0.018561 0.063729 0.002893\nvn -1.496711 -0.138303 -5.668181\nv 0.012523 0.064081 0.002136\nvn 5.246693 -2.815897 -0.616290\nv 0.074419 0.064154 0.003096\nvn -5.827565 -3.151747 2.189266\nv -0.080462 0.064176 0.002775\nvn 2.746574 -1.674206 2.365185\nv -0.013372 0.064503 0.002443\nvn -1.074537 -3.664344 -5.838286\nv 0.016816 0.064377 0.002971\nvn -4.927154 -2.893270 1.689876\nv -0.081647 0.066480 0.002478\nvn 6.571528 -3.738019 4.595205\nv -0.012807 0.066150 0.002904\nvn -4.397803 0.369762 -3.193597\nv 0.016459 0.065980 0.002661\nvn 3.594314 -1.391832 -0.888574\nv 0.075023 0.065469 0.002653\nvn -1.274983 4.943515 -4.967615\nv 0.012630 0.065723 0.003045\nvn 7.035087 -3.316979 -1.537547\nv 0.075381 0.066129 0.003198\nvn -4.457868 -3.719141 1.484942\nv -0.082340 0.067596 0.003138\nvn 5.371556 -2.678499 3.369748\nv -0.011539 0.068151 0.002450\nvn 6.171469 -2.731646 -1.697431\nv 0.076095 0.067943 0.002617\nvn -4.804166 -3.131625 1.474057\nv -0.083232 0.068348 0.002466\nvn -6.487024 -2.018629 0.256856\nv 0.015484 0.068172 0.002750\nvn -7.296402 -1.882386 2.538378\nv -0.083746 0.070074 0.002987\nvn -5.716141 -0.381365 1.459239\nv 0.015278 0.070100 0.003022\nvn 2.606634 -1.056307 -0.950494\nv 0.076566 0.069198 0.002250\nvn 6.372448 -3.044146 3.488444\nv -0.010962 0.070096 0.002993\nvn 2.859757 -1.308315 2.464359\nv -0.009496 0.072600 0.002464\nvn -7.513591 0.035541 2.386954\nv 0.015210 0.071997 0.002905\nvn 6.564979 -1.851428 -1.556015\nv 0.077905 0.072459 0.003207\nvn -5.892298 -2.643448 2.487149\nv -0.084539 0.073968 0.003003\nvn -3.318175 -1.701618 1.332660\nv -0.085657 0.074969 0.002139\nvn 4.217206 -1.620911 3.942410\nv -0.007661 0.076085 0.002197\nvn 0.479685 1.805159 -3.455966\nv 0.060966 0.076717 0.002081\nvn -3.666446 1.167898 1.050378\nv 0.015713 0.077496 0.002046\nvn -0.786263 1.061683 -3.753886\nv 0.066589 0.077299 0.001789\nvn -7.086531 2.800181 2.355139\nv 0.016173 0.077879 0.003040\nvn 5.464747 -1.856712 5.498027\nv -0.007530 0.077778 0.002746\nvn -0.504382 5.815847 1.312992\nv 0.047975 0.078162 0.002948\nvn 3.017817 -0.946207 2.442315\nv -0.006218 0.079248 0.001813\nvn -5.134713 2.838070 1.177404\nv 0.017055 0.079919 0.002786\nvn 1.114541 5.647308 1.635380\nv 0.042350 0.078431 0.002975\nvn -1.833953 8.603027 1.715215\nv 0.050384 0.078567 0.002995\nvn 1.458931 0.870545 -4.659635\nv 0.057521 0.079603 0.001821\nvn -2.183295 0.604455 -5.544909\nv 0.067335 0.080138 0.002088\nvn -2.231014 6.528934 0.527440\nv 0.052514 0.079296 0.002523\nvn 4.186586 -1.300755 4.056586\nv -0.007018 0.079765 0.002960\nvn -2.021152 5.440452 -0.419395\nv 0.054196 0.079975 0.002792\nvn 1.539732 5.162695 2.197196\nv 0.034469 0.079866 0.002808\nvn 1.228285 4.756541 4.800099\nv 0.034680 0.080567 0.001770\nvn 0.573508 5.932265 3.654159\nv 0.036176 0.079662 0.002936\nvn -7.264129 -1.507432 2.755262\nv -0.085814 0.081778 0.002899\nvn 4.936050 -1.368231 4.730453\nv -0.006697 0.081784 0.003176\nvn -4.504946 3.836580 0.670239\nv 0.017740 0.081149 0.002166\nvn -3.206022 5.810174 -1.072575\nv 0.055874 0.080717 0.003030\nvn 4.773944 -2.116842 -2.882941\nv 0.080675 0.081751 0.002531\nvn 2.531901 2.494870 -0.155543\nv 0.032243 0.081565 0.003104\nvn 3.333619 3.663929 1.261744\nv 0.033065 0.080462 0.002619\nvn -2.717658 0.080650 -5.328794\nv 0.068339 0.081950 0.001773\nvn -5.338118 5.719873 0.815301\nv 0.018852 0.082098 0.003108\nvn 3.946734 5.806267 -2.006923\nv 0.031118 0.082437 0.002620\nvn 4.778993 -1.451644 4.871517\nv -0.005165 0.084116 0.002323\nvn -2.010429 3.391433 -0.265164\nv 0.020777 0.083618 0.002754\nvn 3.364146 6.890994 -4.405342\nv 0.028802 0.084265 0.002581\nvn 6.309706 -2.685204 -3.988014\nv 0.081869 0.084179 0.002769\nvn -2.494615 6.417130 -1.010036\nv 0.022432 0.084303 0.002730\nvn -1.248883 6.595764 -1.869054\nv 0.024385 0.084799 0.002599\nvn 0.410523 5.428954 -2.316051\nv 0.026296 0.084713 0.001993\nvn 2.902746 -0.603877 2.655892\nv -0.004346 0.085625 0.001939\nvn 5.876101 -2.003525 -3.082695\nv 0.082501 0.085958 0.002619\nvn -8.226670 1.685551 3.173962\nv -0.086242 0.086182 0.002927\nvn 4.611959 -0.688091 5.155490\nv -0.004956 0.085980 0.002617\nvn -5.410829 0.882197 -2.879554\nv 0.062872 0.087693 0.003072\nvn -1.281719 -0.160253 -4.400833\nv 0.064264 0.086545 0.001908\nvn 0.000000 -0.000000 0.000000\nv 0.063177 0.087375 0.001803\nvn 3.520357 0.089571 4.821869\nv -0.004977 0.087880 0.002667\nvn 3.429607 -1.379227 -1.495292\nv 0.082817 0.088289 0.002008\nvn -8.267653 -0.172469 3.263320\nv -0.085588 0.089663 0.002905\nvn -6.886411 1.455361 -2.742754\nv 0.063697 0.089765 0.002808\nvn 3.600365 -0.904332 5.805057\nv -0.004721 0.089693 0.002469\nvn -5.475546 0.562158 1.986972\nv -0.085992 0.092072 0.002503\nvn 2.184559 -0.598421 3.128698\nv -0.003207 0.091873 0.002056\nvn -6.738197 1.445387 -0.252584\nv 0.063918 0.091780 0.003029\nvn 0.272786 4.772583 1.336893\nv -0.036639 0.093030 0.002662\nvn -0.728458 7.375661 2.681022\nv -0.034333 0.093116 0.002660\nvn -4.807319 1.224569 0.505443\nv 0.064462 0.093975 0.002760\nvn -6.733708 3.037822 3.002155\nv -0.085279 0.093923 0.002603\nvn -0.767641 5.194255 2.793083\nv -0.032423 0.093350 0.003016\nvn -0.419416 4.219072 2.537675\nv -0.030783 0.093680 0.002649\nvn 2.718156 7.054976 2.092415\nv -0.042669 0.094157 0.003028\nvn -2.383745 7.298537 4.498779\nv -0.028893 0.093943 0.002980\nvn -4.308715 1.791000 1.649789\nv -0.084281 0.095697 0.002668\nvn 5.544477 6.368767 2.609014\nv -0.044825 0.095627 0.002696\nvn -1.060888 2.131932 1.786338\nv -0.026521 0.095392 0.002337\nvn -7.608953 1.952456 1.270412\nv 0.064892 0.095895 0.002572\nvn 3.027949 -0.226509 5.099450\nv -0.003160 0.095999 0.002074\nvn 4.895646 -0.137679 -0.986228\nv 0.083820 0.096154 0.002117\nvn -2.661647 5.909049 7.447435\nv -0.024705 0.095768 0.002755\nvn -7.458002 1.305850 2.519917\nv -0.083638 0.097895 0.003026\nvn 7.068847 4.789199 2.601976\nv -0.046581 0.097662 0.002752\nvn -7.499495 2.239399 1.550821\nv 0.065524 0.097788 0.002688\nvn -1.555475 2.925656 3.698940\nv -0.022373 0.097507 0.002418\nvn -6.760013 1.572588 0.887042\nv 0.065935 0.099426 0.002983\nvn -5.907703 2.619889 2.483488\nv -0.083402 0.099777 0.002633\nvn 5.894256 0.658906 -0.252249\nv 0.083852 0.099534 0.002664\nvn 6.212950 1.927349 2.429507\nv -0.047755 0.099789 0.003053\nvn -4.936908 2.663352 2.120175\nv -0.082960 0.100983 0.002166\nvn 6.684142 1.664075 0.434657\nv 0.083521 0.101434 0.002618\nvn 2.094717 1.087198 6.938844\nv -0.002690 0.101820 0.001746\nvn -4.841786 1.126672 0.472405\nv 0.066344 0.101636 0.002397\nvn -8.269193 3.414756 4.090915\nv -0.081346 0.103463 0.002568\nvn -1.472428 1.283553 3.443411\nv -0.017328 0.102695 0.001840\nvn 1.668563 0.340325 6.755586\nv -0.004080 0.103300 0.001893\nvn 4.735695 1.451841 0.271240\nv 0.083127 0.102817 0.002075\nvn -5.621750 1.210651 1.276941\nv 0.066881 0.103822 0.002870\nvn 1.685153 -0.383382 7.790257\nv -0.002828 0.105416 0.001764\nvn 7.151850 3.073478 1.742220\nv 0.082539 0.103958 0.002790\nvn -2.676057 0.631773 1.178961\nv -0.081111 0.105488 0.002242\nvn 7.047983 -0.771701 3.642737\nv -0.048365 0.105578 0.003203\nvn -3.587978 0.824533 0.911064\nv 0.066929 0.105583 0.002343\nvn 4.882781 2.696531 2.056038\nv 0.081750 0.105673 0.002692\nvn -1.078511 1.209386 3.647718\nv -0.012883 0.106233 0.001797\nvn -6.729594 2.664076 3.108745\nv 0.067505 0.105840 0.003255\nvn 7.882373 -1.039910 4.191620\nv -0.047915 0.107709 0.002956\nvn 1.468751 0.132448 5.788552\nv -0.002911 0.107617 0.001863\nvn -5.777597 3.075104 4.454576\nv 0.068292 0.107696 0.003051\nvn -1.005647 1.460304 4.649572\nv -0.010871 0.107249 0.002086\nvn -4.154000 3.315221 2.722242\nv -0.079883 0.107693 0.002659\nvn 2.677991 -0.362871 1.301247\nv -0.047400 0.108311 0.002091\nvn 5.871328 4.163856 3.328680\nv 0.080367 0.107778 0.002974\nvn -3.296181 3.112345 2.089217\nv -0.079078 0.109066 0.002001\nvn 6.026029 -0.891660 3.418712\nv -0.047290 0.109688 0.002216\nvn -0.155756 1.513300 7.812704\nv -0.006897 0.109461 0.001749\nvn -0.361720 0.977580 4.866102\nv -0.009137 0.109692 0.001795\nvn 0.477959 1.246392 7.788932\nv -0.004746 0.109807 0.001779\nvn -3.897236 3.778354 3.920967\nv -0.077899 0.109552 0.002924\nvn -3.344932 2.180578 2.893205\nv 0.068576 0.109446 0.002430\nvn 3.882439 6.081262 5.304764\nv 0.078032 0.109604 0.003215\nvn -4.759722 2.420707 2.654737\nv -0.077313 0.111234 0.002424\nvn 4.628449 -1.197801 3.582368\nv -0.046962 0.111493 0.002241\nvn -0.102582 0.571812 4.955517\nv -0.005117 0.111525 0.001603\nvn -2.140895 2.831987 3.475116\nv 0.070585 0.111401 0.002507\nvn 3.051243 6.000603 5.914577\nv 0.076149 0.111192 0.002653\nvn -0.683757 3.260715 3.609671\nv 0.072384 0.112781 0.002152\nvn 1.162264 4.126238 4.059271\nv 0.074307 0.112704 0.002134\nvn 4.337858 -1.415982 3.885675\nv -0.046516 0.113523 0.002510\nvn -3.311832 3.950916 3.051514\nv -0.074675 0.114138 0.003086\nvn 4.675918 -1.121121 5.008415\nv -0.046331 0.115641 0.003003\nvn -2.306253 2.528666 2.048973\nv -0.073583 0.115190 0.002825\nvn -4.380723 3.859140 3.808753\nv -0.072625 0.116034 0.003034\nvn -4.649848 4.768661 4.348910\nv -0.071887 0.117445 0.002620\nvn -3.500412 4.580162 3.930937\nv -0.069532 0.119428 0.002480\nvn 2.305043 -0.432939 3.231365\nv -0.044896 0.119549 0.002175\nvn 1.818310 -0.009719 3.548726\nv -0.043928 0.123248 0.001813\nvn -1.636283 2.492239 2.595915\nv -0.065678 0.122778 0.002108\nvn -1.666328 3.288524 3.332535\nv -0.064203 0.123105 0.002579\nvn -2.109127 4.777476 5.981630\nv -0.062144 0.123573 0.002972\nvn -1.087025 2.910959 3.914812\nv -0.058343 0.126399 0.001910\nvn -0.742745 2.340262 3.157756\nv -0.057641 0.126441 0.002046\nvn -0.684859 2.224315 3.247121\nv -0.055692 0.126797 0.002250\nvn -1.153043 -6.778783 1.093412\nv -0.085895 0.140716 0.002969\nvn 0.623708 -6.885536 0.706976\nv -0.079652 0.140391 0.002775\nvn -1.505313 -6.704185 1.323071\nv -0.088070 0.141227 0.002929\nvn -1.531679 -4.568677 1.283252\nv -0.091338 0.141869 0.002107\nvn -1.955573 -6.476974 1.696652\nv -0.090052 0.141702 0.003106\nvn 2.152121 -5.509285 0.448484\nv -0.072494 0.141783 0.002736\nvn -1.731521 -5.579725 1.258366\nv -0.092221 0.142363 0.002557\nvn 2.440385 -5.399521 0.617906\nv -0.071581 0.142325 0.002688\nvn -0.666256 -3.414851 5.328754\nv -0.040419 0.143234 0.002717\nvn 1.957372 -6.587491 1.193079\nv -0.070408 0.142739 0.002900\nvn 2.702464 -6.203474 1.291933\nv -0.068168 0.143295 0.002747\nvn -0.434557 -2.888850 2.027143\nv -0.042422 0.143511 0.002464\nvn 1.351722 -0.132172 5.632442\nv -0.038699 0.142859 0.002508\nvn -1.564137 -4.642784 3.817821\nv -0.103835 0.143643 0.002800\nvn 0.598289 -2.364366 1.728766\nv -0.101822 0.143592 0.002216\nvn -2.134414 -6.575675 1.030790\nv -0.096000 0.143498 0.002772\nvn -7.546309 -0.575638 2.248639\nv -0.104894 0.145032 0.002512\nvn 0.118562 -5.345744 2.380056\nv -0.099706 0.144568 0.002970\nvn -1.550974 -6.479162 1.480788\nv -0.097665 0.144113 0.002685\nvn 2.368996 -6.357015 1.128475\nv -0.066185 0.144429 0.002689\nvn 0.963469 -5.848823 2.931554\nv -0.044478 0.143911 0.002807\nvn 3.057096 1.552991 5.755052\nv -0.039116 0.144697 0.002124\nvn -1.929120 -4.850672 -2.884833\nv -0.046478 0.144571 0.002152\nvn 1.467378 -5.737810 0.664722\nv -0.064042 0.144846 0.002763\nvn 2.075105 -6.601767 0.608480\nv -0.062355 0.145562 0.002728\nvn -2.016610 -5.867091 -3.193950\nv -0.050755 0.145427 0.002732\nvn 1.489190 0.804317 3.520101\nv -0.039667 0.146087 0.001867\nvn -3.102711 1.833397 -0.079191\nv -0.104706 0.146257 0.002119\nvn 1.331182 -7.680570 -0.354116\nv -0.060220 0.146044 0.002786\nvn 0.836111 -6.843214 -0.006860\nv -0.057925 0.146416 0.002714\nvn -1.023562 -4.387561 -1.797825\nv -0.052437 0.146460 0.002324\nvn -5.414865 5.014371 -1.067804\nv -0.103909 0.147352 0.002771\nvn -0.123639 -7.310480 -2.076323\nv -0.054247 0.146430 0.002731\nvn 2.368574 0.339826 4.376200\nv -0.040129 0.147641 0.001891\nvn -4.646865 4.824068 -1.590938\nv -0.101466 0.149189 0.002937\nvn 0.484782 -0.259866 0.934163\nv -0.039723 0.148381 0.001813\nvn -4.691136 4.352642 -1.774873\nv -0.100017 0.151154 0.002707\nvn 1.934487 0.628290 5.586630\nv -0.040058 0.151146 0.001837\nvn -2.924814 3.446284 -1.452354\nv -0.098343 0.151940 0.002633\nvn -0.211697 5.914005 -0.771533\nv -0.084221 0.151619 0.002874\nvn 1.521117 9.546112 -2.141438\nv -0.086153 0.151774 0.002984\nvn -0.378410 5.949411 -0.423655\nv -0.081851 0.151904 0.002823\nvn 1.071513 4.450046 -3.438410\nv -0.091706 0.152879 0.002609\nvn 0.870080 1.559127 -1.587468\nv -0.088883 0.152125 0.001813\nvn 1.896504 5.409425 -2.475186\nv -0.088253 0.152260 0.002654\nvn 0.786650 2.701713 -1.027273\nv -0.087273 0.151953 0.002541\nvn 0.027930 7.835272 0.224840\nv -0.077931 0.151955 0.002474\nvn -0.448604 3.968063 -0.025482\nv -0.075274 0.152109 0.002279\nvn -0.913322 3.632241 0.930711\nv -0.064154 0.151881 0.002712\nvn -0.551416 6.116369 2.662244\nv -0.066124 0.151461 0.002933\nvn -3.862459 4.645060 -4.192251\nv -0.097687 0.152854 0.003158\nvn 0.649478 5.771879 -3.138741\nv -0.089939 0.152779 0.002813\nvn 0.058722 6.843972 3.156086\nv -0.072535 0.152313 0.002861\nvn -1.489004 5.457992 0.228109\nv -0.062232 0.152514 0.002570\nvn -0.056518 5.160415 2.366464\nv -0.070394 0.152550 0.002372\nvn 0.678734 2.948767 2.574584\nv -0.068648 0.152267 0.002378\nvn -0.445697 5.582709 -2.729397\nv -0.096264 0.153279 0.002584\nvn 1.021572 -0.850173 2.681730\nv -0.041052 0.153599 0.002036\nvn -1.714017 4.477314 -1.343387\nv -0.059214 0.153720 0.002158\nvn 3.128837 -0.895809 6.040017\nv -0.040719 0.154869 0.002252\nvn 1.925075 -0.200426 6.804078\nv -0.040946 0.156792 0.002209\nvn 1.709582 -0.831949 2.810186\nv -0.040116 0.156885 0.001900\nvn -2.578103 6.123846 -0.237415\nv -0.054281 0.156530 0.002634\nvn -1.195552 5.715938 0.745002\nv -0.052741 0.156898 0.002445\nvn -2.070230 -0.905737 7.831156\nv -0.042870 0.159075 0.001812\nvn -1.403215 1.228438 3.360773\nv -0.043016 0.157943 0.001941\nvn 2.508104 0.620121 5.304651\nv -0.040242 0.158941 0.001889\nvn -1.115224 -2.732855 3.602144\nv -0.044169 0.160233 0.001745\nvn 0.350370 -4.894143 0.290621\nv -0.052607 0.160196 0.002676\nvn 0.949422 -7.570363 1.844490\nv -0.050218 0.160526 0.002835\nvn 0.012071 -1.809688 4.253486\nv -0.044503 0.161283 0.002562\nvn 1.686179 -5.102935 6.015543\nv -0.046375 0.161221 0.002892\nvn 1.249586 0.922967 3.520075\nv -0.041260 0.160704 0.002049\nvn -1.024447 -5.748822 -1.368501\nv -0.058199 0.160580 0.002748\nvn -0.996939 -4.729913 -1.247103\nv -0.062439 0.161320 0.002993\nvn -1.103540 -6.662183 -1.787440\nv -0.060246 0.160908 0.002948\nvn -1.431793 -6.715089 -1.310112\nv -0.064284 0.161776 0.002674\nvn 1.293229 -0.666755 3.597680\nv -0.042626 0.163005 0.002145\nvn -1.913054 -6.616455 -1.214604\nv -0.068314 0.162624 0.002871\nvn -1.249795 -5.773362 -1.036133\nv -0.066763 0.162272 0.002824\nvn 0.000000 0.000000 0.000000\nv -0.041881 0.163092 0.001736\nvn -2.059272 -5.530398 -1.064254\nv -0.070377 0.163331 0.002804\nvn -2.763032 -6.334393 -0.576705\nv -0.076157 0.165522 0.002782\nvn 0.464070 0.255210 0.848524\nv -0.039845 0.165775 0.001813\nvn -2.329915 -4.390342 0.225278\nv -0.077905 0.166498 0.002131\nvn 1.839363 2.247040 2.615768\nv -0.040677 0.166058 0.002179\nvn -3.379452 -6.095418 0.185466\nv -0.079842 0.167550 0.002545\nvn 3.159638 2.917329 6.309565\nv -0.042747 0.166661 0.002951\nvn -2.719924 -5.283083 0.624929\nv -0.080963 0.168162 0.002471\nvn -0.678538 4.031972 2.010155\nv -0.067780 0.170177 0.002281\nvn -3.466816 -5.746811 2.737163\nv -0.092029 0.171076 0.003017\nvn 0.986398 -5.802658 0.799682\nv -0.089705 0.171184 0.002806\nvn 2.251371 6.281015 1.844828\nv -0.070309 0.170521 0.002924\nvn 0.914277 0.871223 5.804749\nv -0.042822 0.171288 0.001727\nvn -2.403965 -2.407284 1.654647\nv -0.093163 0.171582 0.002031\nvn -1.815798 -4.530414 0.563909\nv -0.086118 0.171258 0.003017\nvn -5.987796 5.150444 3.848187\nv -0.066411 0.170950 0.003045\nvn -0.204708 -6.771013 0.518408\nv -0.087916 0.171610 0.002970\nvn 2.604352 6.022906 2.246949\nv -0.072163 0.171446 0.002708\nvn -6.465449 -2.460411 3.708416\nv -0.093324 0.172827 0.002675\nvn 2.457745 4.949606 2.253108\nv -0.074201 0.172328 0.002619\nvn -4.310918 -0.079672 3.534823\nv -0.065623 0.172775 0.002559\nvn 1.745631 1.615254 5.423975\nv -0.046368 0.172740 0.002209\nvn 3.103776 4.755595 1.708696\nv -0.075834 0.173254 0.002893\nvn 3.375242 3.507185 1.101402\nv -0.076719 0.174113 0.002619\nvn -4.237681 -0.544233 5.079638\nv -0.066021 0.174856 0.002803\nvn -5.165814 -2.779783 3.673131\nv -0.093874 0.174574 0.002764\nvn 4.633995 4.866261 1.720613\nv -0.077639 0.174966 0.002910\nvn 2.098073 3.453257 5.631513\nv -0.050431 0.174544 0.002234\nvn 1.016086 1.411189 2.398973\nv -0.050136 0.174963 0.001814\nvn 4.316292 3.852938 1.442773\nv -0.078676 0.176129 0.002707\nvn 1.063509 3.880865 2.839197\nv -0.056280 0.176049 0.002422\nvn 0.114467 4.328301 5.365853\nv -0.054341 0.176118 0.002136\nvn 5.161605 4.350974 1.799517\nv -0.079653 0.177113 0.002905\nvn 2.959684 7.215824 4.168348\nv -0.058274 0.176697 0.002940\nvn -2.627538 2.537948 3.605175\nv -0.065917 0.176402 0.002814\nvn -3.778591 1.578243 1.701946\nv -0.095642 0.178798 0.002603\nvn 4.410812 3.720651 1.631088\nv -0.080589 0.178377 0.002573\nvn 0.709220 5.296721 2.634107\nv -0.060252 0.177219 0.003001\nvn -0.394818 5.481260 2.352118\nv -0.062420 0.177299 0.002862\nvn -2.701498 5.947104 0.578293\nv -0.094470 0.179634 0.002558\nvn -0.055690 4.909817 -0.716169\nv -0.093366 0.179787 0.002851\nvn -0.541560 9.391391 -0.122130\nv -0.091239 0.179628 0.002761\nvn -2.832942 5.752396 2.361061\nv -0.089472 0.180217 0.002580\nvn 4.080044 5.349037 1.638898\nv -0.082337 0.180235 0.002784\nvn -2.428707 5.761333 2.663482\nv -0.087907 0.181140 0.003010\nvn 1.918168 5.084196 1.960336\nv -0.084012 0.181296 0.003031\nvn 1.195847 4.702602 0.790350\nv -0.084698 0.181747 0.002163\nvn -0.355286 5.839324 0.800679\nv -0.085991 0.181870 0.002135\nvn -0.358903 -3.963827 0.161692\nv -0.060023 0.053303 0.002163\nvn 0.031570 -7.932708 0.058591\nv -0.058312 0.053292 0.003251\nvn -0.750504 -2.653146 -0.013488\nv -0.028698 0.053311 0.002337\nvn 1.119665 -6.612350 -1.736299\nv -0.054399 0.053752 0.003103\nvn -0.280430 -4.759024 -1.352000\nv -0.034667 0.053553 0.002965\nvn 0.501189 -6.604784 -2.222685\nv -0.050577 0.054629 0.002612\nvn -1.037712 -5.861357 0.696377\nv 0.052531 0.055039 0.002842\nvn 0.138473 -5.641805 -2.014536\nv -0.048532 0.054545 0.003041\nvn 0.133994 -5.610791 -2.095007\nv -0.046425 0.054579 0.003058\nvn -0.035031 -6.134650 -3.022600\nv -0.044291 0.054689 0.002829\nvn 0.398678 -5.093594 -2.690266\nv -0.042706 0.054553 0.003057\nvn 1.309111 -2.167922 1.605521\nv -0.022224 0.055671 0.003081\nvn 2.049955 -1.961631 -2.108536\nv 0.033230 0.055564 0.002624\nvn 1.791571 -6.602174 0.538460\nv 0.038263 0.056334 0.002836\nvn -3.741499 -3.110472 -1.748790\nv 0.044824 0.056518 0.003219\nvn 5.394494 -4.983419 4.953356\nv -0.018871 0.058195 0.002919\nvn -5.001633 0.444852 -2.700680\nv 0.006676 0.058137 0.002855\nvn 0.159647 0.819975 -6.887910\nv 0.009090 0.060227 0.002422\nvn 1.078411 -2.618100 -4.868458\nv 0.012741 0.060132 0.002686\nvn 1.310637 -0.689335 -5.480332\nv 0.014685 0.062371 0.002295\nvn -2.649731 -2.129457 1.707317\nv 0.022231 0.062226 0.002958\nvn -0.493151 -0.835194 -4.876326\nv 0.012789 0.062508 0.002423\nvn 6.715549 -4.251524 -0.456801\nv 0.073444 0.062537 0.002921\nvn -0.375634 3.712986 -2.743542\nv 0.014637 0.065784 0.003301\nvn 6.349863 -2.445757 4.053044\nv -0.010297 0.071815 0.003062\nvn 3.506571 -1.414540 -1.120444\nv 0.077177 0.070925 0.001910\nvn -4.701731 0.547914 1.591136\nv 0.015375 0.073702 0.002959\nvn 5.444225 -1.875330 -1.104462\nv 0.078278 0.073987 0.003035\nvn 5.091636 -2.233071 4.203305\nv -0.009108 0.074131 0.002832\nvn -6.096352 -1.873692 2.539632\nv -0.085752 0.075895 0.002872\nvn -0.107984 2.651780 -5.331568\nv 0.062572 0.076821 0.002156\nvn -6.508487 1.223045 2.168231\nv 0.015580 0.076178 0.002856\nvn 1.529716 1.557747 -5.438158\nv 0.058744 0.077721 0.002010\nvn 1.212075 1.586066 -6.524384\nv 0.060386 0.077820 0.002380\nvn -1.061029 2.377109 -6.435490\nv 0.064306 0.077958 0.002500\nvn -1.173226 1.801621 -5.560625\nv 0.065549 0.077888 0.002211\nvn 0.599113 8.732874 1.966678\nv 0.044471 0.078064 0.003117\nvn -0.187304 3.899971 0.832773\nv 0.046727 0.078244 0.002163\nvn 3.483299 -1.159651 -1.542083\nv 0.079468 0.078131 0.003223\nvn 0.800543 0.606065 -5.821050\nv 0.058695 0.079636 0.002061\nvn -2.004534 1.074141 -6.569894\nv 0.065997 0.079751 0.002529\nvn -5.596994 0.231530 2.091478\nv -0.085669 0.079918 0.002965\nvn 1.152638 3.547399 1.409165\nv 0.040252 0.079150 0.002332\nvn 6.582820 -2.680487 -3.529251\nv 0.079965 0.079878 0.002901\nvn 1.270420 6.158925 3.003409\nv 0.038564 0.079312 0.002966\nvn 1.245986 0.254749 -4.793142\nv 0.060375 0.079786 0.002360\nvn -2.207973 4.502452 -4.314291\nv 0.058152 0.081899 0.002686\nvn 2.178178 -0.751575 1.919879\nv -0.005791 0.082224 0.002336\nvn -1.670169 0.225337 -3.619557\nv 0.067612 0.082125 0.002163\nvn -2.330067 -0.313413 -5.433155\nv 0.067297 0.083778 0.002348\nvn -4.519987 -0.637710 1.722373\nv -0.086619 0.083964 0.002792\nvn -0.397095 -1.230966 -7.640697\nv 0.064382 0.083817 0.002448\nvn -0.510247 -0.688669 -3.672720\nv 0.064363 0.085511 0.002023\nvn -1.834026 -1.036951 -4.370215\nv 0.067188 0.085519 0.002175\nvn -4.853747 2.330661 -5.331537\nv 0.062196 0.086042 0.003035\nvn -0.271451 -1.919786 -7.453525\nv 0.066072 0.086111 0.002270\nvn -1.802872 0.091628 -1.715187\nv 0.063222 0.088130 0.002347\nvn -3.656488 0.675982 1.431134\nv -0.085709 0.087989 0.003007\nvn 1.672861 -0.535448 2.349383\nv -0.003801 0.090137 0.002052\nvn 5.805015 -0.743784 -1.239215\nv 0.083495 0.089759 0.002813\nvn 4.040656 -1.038093 7.760290\nv -0.004725 0.091813 0.002831\nvn 2.973634 0.031095 5.164826\nv -0.003399 0.094049 0.002200\nvn 1.701302 7.470525 2.044466\nv -0.038488 0.093298 0.002806\nvn 6.882342 -0.394518 -1.131541\nv 0.083819 0.093880 0.002571\nvn -1.582445 4.103796 3.993056\nv -0.026871 0.094372 0.003204\nvn 2.962160 -0.006908 5.131151\nv -0.003179 0.097665 0.002208\nvn -2.766673 0.880969 0.753682\nv 0.065179 0.097175 0.002163\nvn 5.949250 0.087674 -0.652852\nv 0.083989 0.097420 0.003074\nvn -2.758510 3.974813 6.230971\nv -0.020763 0.097884 0.002808\nvn 1.904644 0.335556 3.452163\nv -0.003268 0.099100 0.002171\nvn -2.158111 2.491812 4.952143\nv -0.020306 0.099567 0.002151\nvn -1.334486 2.273731 5.352669\nv -0.019036 0.099704 0.002507\nvn -0.768316 1.265437 2.601405\nv -0.018428 0.100938 0.002039\nvn -2.409286 2.473134 8.243580\nv -0.016690 0.101515 0.002347\nvn 1.787232 1.657599 5.967429\nv -0.005073 0.101581 0.002433\nvn 0.519319 1.175971 2.225851\nv -0.003848 0.101725 0.002016\nvn 5.402161 0.995296 2.387467\nv -0.048273 0.101861 0.003234\nvn -0.819418 1.117958 2.525719\nv -0.015879 0.103738 0.002119\nvn 1.683687 0.407123 5.738760\nv -0.005250 0.103457 0.002267\nvn -1.159167 2.044281 5.368993\nv -0.014521 0.103837 0.002402\nvn -1.210142 1.945000 7.604240\nv -0.012675 0.104061 0.002555\nvn 0.849669 -0.023038 3.892574\nv -0.004373 0.104875 0.001957\nvn 1.282593 -0.001469 5.839907\nv -0.005395 0.105925 0.002188\nvn -1.053813 1.195284 3.654387\nv -0.012190 0.105692 0.002233\nvn -7.404902 2.552121 4.206069\nv -0.080496 0.106131 0.003188\nvn -1.070179 1.446596 6.708576\nv -0.010846 0.105664 0.002525\nvn 3.263502 1.824823 1.268086\nv 0.081214 0.106979 0.002409\nvn 1.038600 0.627860 8.763374\nv -0.004639 0.107574 0.002142\nvn 0.064966 0.887331 3.896722\nv -0.006818 0.107860 0.002164\nvn 0.526482 0.469534 3.909688\nv -0.003848 0.108200 0.002024\nvn -0.489863 1.869018 7.707199\nv -0.008884 0.108064 0.002104\nvn 0.178655 0.496671 2.850693\nv -0.004985 0.108900 0.002046\nvn -6.149180 4.838352 4.265409\nv -0.075881 0.113291 0.002765\nvn -1.466753 3.597627 4.504607\nv 0.071937 0.111792 0.002811\nvn 3.537628 0.015069 5.983846\nv -0.045042 0.121383 0.002408\nvn -1.798705 2.464108 2.558559\nv -0.067314 0.120902 0.002629\nvn -3.403087 4.635354 5.408934\nv -0.066123 0.121664 0.002820\nvn 2.412993 0.211175 5.464433\nv -0.044824 0.123250 0.002211\nvn -1.355345 3.076403 3.660953\nv -0.061301 0.124630 0.002433\nvn -1.280792 3.551355 4.662122\nv -0.059797 0.124921 0.002586\nvn -1.396610 4.071185 5.518972\nv -0.058087 0.125157 0.002893\nvn 1.779293 0.569100 5.681735\nv -0.045136 0.125525 0.002169\nvn -1.199126 4.993987 7.350751\nv -0.056191 0.125391 0.003162\nvn -1.002225 3.142423 4.993889\nv -0.054106 0.126975 0.002513\nvn 1.079656 0.990010 5.792721\nv -0.046540 0.127701 0.002238\nvn -0.819195 3.018873 5.093853\nv -0.052444 0.127536 0.002497\nvn 0.890018 0.852992 3.787508\nv -0.045556 0.128208 0.001948\nvn 0.034300 2.099893 4.523453\nv -0.050509 0.127625 0.002586\nvn 0.017404 1.661905 4.698114\nv -0.048035 0.129375 0.001885\nvn 0.943627 -5.885450 0.498703\nv -0.077854 0.140732 0.003151\nvn 1.081775 -5.840786 0.741993\nv -0.076123 0.141127 0.003287\nvn 1.003178 -4.824847 0.556692\nv -0.074081 0.141254 0.002688\nvn -0.741134 -3.402804 2.633376\nv -0.038510 0.141799 0.002200\nvn 1.623672 -0.678567 1.943750\nv -0.036885 0.141755 0.002011\nvn -1.411062 -4.732714 0.765432\nv -0.094068 0.142924 0.003102\nvn -1.139806 -6.230073 -1.788287\nv -0.046203 0.143811 0.002959\nvn 0.791267 -5.783405 3.633198\nv -0.101392 0.144508 0.003238\nvn -2.832456 -6.236117 -2.922200\nv -0.048271 0.144772 0.002834\nvn 2.828303 0.990576 6.205050\nv -0.040515 0.145106 0.002733\nvn 0.044908 -4.929183 -0.267452\nv -0.056219 0.146534 0.002862\nvn 2.230346 0.695085 4.404132\nv -0.040983 0.147259 0.002458\nvn 2.392335 0.503434 6.487209\nv -0.040799 0.149294 0.002125\nvn 1.582734 5.060286 -4.250797\nv -0.093807 0.153449 0.002858\nvn -0.068015 3.974648 -0.229498\nv -0.079817 0.151988 0.002717\nvn -0.298937 5.679840 1.178745\nv -0.076170 0.152041 0.003002\nvn 0.168473 5.610981 3.648217\nv -0.067792 0.151370 0.003064\nvn -1.603970 4.416936 0.519670\nv -0.063374 0.152153 0.002626\nvn 1.871650 -0.997108 5.502129\nv -0.042648 0.153247 0.002478\nvn -2.479937 5.142097 -1.724621\nv -0.060258 0.153555 0.002852\nvn -2.672690 6.188617 -1.746189\nv -0.057854 0.154601 0.003183\nvn -3.059607 6.074106 -1.008547\nv -0.056275 0.155419 0.002735\nvn -0.376703 5.576636 2.053362\nv -0.050168 0.156931 0.003243\nvn 0.781803 4.737580 5.456074\nv -0.046197 0.156734 0.003232\nvn 0.698593 2.086349 4.173332\nv -0.044376 0.156811 0.002886\nvn -0.179608 2.056572 5.037616\nv -0.042611 0.156894 0.002607\nvn 0.288265 -0.225473 5.843181\nv -0.041203 0.159395 0.002107\nvn -0.375090 -0.621007 2.908556\nv -0.042134 0.159949 0.002123\nvn 0.357869 -6.866913 0.060659\nv -0.054354 0.160153 0.003208\nvn 0.632080 -3.635876 1.422933\nv -0.048355 0.160836 0.003011\nvn 1.483865 -0.029757 8.426294\nv -0.042644 0.161120 0.002288\nvn 2.270480 0.236676 6.089385\nv -0.040931 0.164994 0.002618\nvn 1.312062 -0.548195 3.255032\nv -0.039388 0.164407 0.002114\nvn -1.786198 -4.577096 -0.902137\nv -0.072327 0.164200 0.002425\nvn -2.017596 -5.557349 -0.966314\nv -0.074299 0.164834 0.002964\nvn 2.327085 1.998656 6.911107\nv -0.044483 0.168744 0.002186\nvn -2.419130 -4.328720 0.482724\nv -0.082335 0.168886 0.002658\nvn 1.896382 2.267805 4.888948\nv -0.046335 0.168886 0.002628\nvn -3.393589 -4.871504 0.658870\nv -0.083288 0.169507 0.003156\nvn 1.057969 0.023917 2.668646\nv -0.044040 0.169858 0.001912\nvn 1.665074 0.717008 5.676934\nv -0.046137 0.171138 0.002304\nvn 1.483757 0.540291 5.560097\nv -0.043865 0.171083 0.001912\nvn 1.062762 0.788389 4.784060\nv -0.044886 0.171375 0.002056\nvn 1.690446 2.948977 6.978471\nv -0.048321 0.173052 0.002721\nvn 0.239869 1.581180 2.374781\nv -0.047540 0.174122 0.002047\nvn -5.268575 -2.212214 3.785801\nv -0.095379 0.176948 0.002742\nvn -2.731387 4.958544 4.170578\nv -0.064291 0.176865 0.003120\nvn 3.536868 3.218731 1.455237\nv -0.081546 0.179261 0.003038\nvn -0.982045 -3.776524 0.836849\nv -0.062211 0.053838 0.003010\nvn 0.000000 0.000000 0.000000\nv -0.073323 0.057207 0.002512\nvn -5.307081 -3.481782 4.664332\nv 0.024399 0.057971 0.003168\nvn -3.723752 1.233358 -2.778141\nv 0.007080 0.060107 0.002920\nvn 0.299184 0.188283 -3.963955\nv 0.010808 0.060536 0.002624\nvn -3.063627 -3.710995 1.317031\nv -0.078573 0.061985 0.002945\nvn 3.762277 -1.422957 -4.219921\nv 0.016220 0.062622 0.003293\nvn -3.658207 2.867128 -5.611425\nv 0.010738 0.064472 0.003289\nvn 3.194072 -1.871537 1.397377\nv -0.012253 0.067692 0.003228\nvn 6.308371 -2.482452 -1.511596\nv 0.077324 0.070563 0.003210\nvn -4.633574 -0.938157 1.592593\nv -0.084127 0.072139 0.002907\nvn 4.795063 -1.513324 4.774544\nv -0.008833 0.075890 0.003280\nvn 0.410096 1.324121 -4.637719\nv 0.062471 0.078015 0.002752\nvn -4.687517 0.056058 1.686570\nv -0.085903 0.077967 0.002870\nvn 1.160103 4.571235 1.640152\nv 0.040685 0.078783 0.002976\nvn 0.419396 0.956826 -7.624077\nv 0.060209 0.081951 0.002378\nvn -1.506077 -0.088823 -6.671219\nv 0.066178 0.082042 0.002737\nvn -0.328974 -0.544592 -4.895286\nv 0.065917 0.083833 0.002633\nvn -0.245046 0.342170 -4.860384\nv 0.062399 0.084129 0.002717\nvn 0.824500 3.810304 0.866265\nv -0.040451 0.093676 0.002878\nvn 1.886588 0.040332 5.658278\nv -0.004885 0.095923 0.002784\nvn 0.000000 0.000000 0.000000\nv -0.047344 0.099100 0.002537\nvn 2.454307 1.007996 7.494592\nv -0.004869 0.099857 0.002715\nvn -1.364579 2.291939 6.449755\nv -0.016690 0.099618 0.002878\nvn 4.495880 0.150709 2.151685\nv -0.048301 0.103576 0.002873\nvn 0.973640 0.441064 5.874210\nv -0.007026 0.103815 0.002757\nvn 0.679989 0.870423 6.851586\nv -0.007090 0.105784 0.002573\nvn -0.186256 1.001020 4.858125\nv -0.008948 0.106101 0.002646\nvn 2.274372 2.617542 1.967193\nv 0.079394 0.109006 0.002682\nvn -4.227550 3.980083 5.386950\nv 0.069883 0.109786 0.003314\nvn -3.042519 1.610160 1.939728\nv -0.076681 0.111734 0.003213\nvn 0.402327 3.732895 4.571266\nv 0.074090 0.111262 0.003413\nvn 3.377474 -0.026665 4.924002\nv -0.046376 0.117619 0.003173\nvn 3.988835 0.064506 6.840862\nv -0.046290 0.119497 0.003103\nvn -2.061576 3.336931 3.035855\nv -0.068311 0.119761 0.003123\nvn 2.733977 1.119657 7.397877\nv -0.046162 0.123513 0.002682\nvn 0.868873 2.320599 7.524293\nv -0.048366 0.127404 0.002524\nvn -0.261838 -5.963596 0.483859\nv -0.083920 0.140496 0.003037\nvn -0.141240 -5.951118 0.696093\nv -0.081832 0.140539 0.003385\nvn 1.908364 -3.368094 0.753198\nv -0.067039 0.144049 0.002898\nvn 1.910084 0.604502 4.570686\nv -0.042357 0.149201 0.002886\nvn 3.099670 0.991719 8.342151\nv -0.042782 0.151265 0.002691\nvn 0.903022 0.058995 2.853285\nv -0.041356 0.150725 0.002214\nvn -0.359432 5.712517 1.024886\nv -0.074271 0.152174 0.002940\nvn 0.273388 4.269249 2.430779\nv -0.048279 0.156945 0.003243\nvn -0.306000 -4.902759 -0.671982\nv -0.056045 0.160175 0.002911\nvn 1.799742 -1.545694 6.487660\nv -0.044507 0.162885 0.002884\nvn 2.056007 -1.898894 6.219068\nv -0.042637 0.164645 0.002920\nvn -2.549325 -4.211050 0.671056\nv -0.084306 0.170196 0.002688\nvn 1.628610 2.406525 5.198781\nv -0.050476 0.172911 0.003099\nvn 2.419449 5.110672 6.612095\nv -0.052414 0.174858 0.002937\nvn 1.003402 4.830527 3.310561\nv -0.054344 0.175399 0.002865\nvn 0.009048 1.623677 2.521464\nv -0.053198 0.175925 0.002272\nvn 0.093206 -8.318268 1.267900\nv -0.028753 0.053398 0.003621\nvn -2.837839 -4.407990 2.704635\nv 0.028175 0.053644 0.003592\nvn 1.128191 -3.452682 -0.976736\nv 0.032250 0.053081 0.003607\nvn -1.110179 -2.672726 0.766945\nv 0.057545 0.053505 0.003096\nvn -2.718900 -2.127126 2.014957\nv 0.026212 0.055591 0.003428\nvn 2.240902 -1.713586 1.607883\nv 0.043092 0.059740 0.003208\nvn 2.408995 -2.457457 1.950310\nv -0.018119 0.059550 0.003303\nvn 3.782735 -3.170580 3.391261\nv -0.016349 0.061546 0.003650\nvn -2.002352 2.718965 -5.754455\nv 0.008911 0.062202 0.003075\nvn -0.966705 0.590638 -6.678638\nv 0.010831 0.062212 0.002864\nvn 1.935585 -0.860837 -1.771049\nv 0.016072 0.060981 0.003389\nvn 4.886600 -3.367876 3.527792\nv -0.014530 0.064163 0.003399\nvn -1.428314 1.250755 -1.474398\nv 0.010934 0.065430 0.003393\nvn -4.165865 -2.181789 1.668049\nv -0.080981 0.065756 0.003319\nvn 6.325808 -1.860041 -2.242266\nv 0.079035 0.076700 0.003212\nvn -1.228715 3.729602 0.741578\nv 0.051819 0.078860 0.003563\nvn 0.844358 0.568264 -6.705501\nv 0.062470 0.079866 0.003191\nvn -0.695357 0.579874 -3.783313\nv 0.064295 0.079819 0.003142\nvn -2.047066 3.240833 -0.626120\nv 0.056925 0.081366 0.003022\nvn 0.400920 -0.732181 -4.851618\nv 0.062482 0.082163 0.002956\nvn -3.847346 2.864838 1.191118\nv 0.017781 0.080935 0.003362\nvn 2.456244 -1.141042 -1.274286\nv 0.081258 0.082286 0.003112\nvn -0.656037 -0.649475 -5.807507\nv 0.064399 0.081847 0.003066\nvn -0.080496 0.205473 -0.996727\nv 0.058969 0.083187 0.003015\nvn -2.216961 2.403236 -2.590906\nv 0.060343 0.083962 0.002932\nvn 1.508504 1.897237 -1.764882\nv 0.030411 0.083917 0.003541\nvn 4.605033 -0.883292 6.440024\nv -0.006591 0.083980 0.003435\nvn -0.603761 4.688509 -1.552163\nv 0.025051 0.085147 0.003344\nvn 0.473131 5.294495 -2.526073\nv 0.027069 0.085169 0.003096\nvn 7.384882 -1.813413 -2.216168\nv 0.083326 0.088122 0.003465\nvn 2.665460 0.188365 4.212566\nv -0.006472 0.089873 0.003434\nvn 4.912021 -0.374065 -0.806214\nv 0.083815 0.092072 0.003416\nvn 0.172046 4.680080 1.722580\nv -0.036223 0.092749 0.003563\nvn 1.727969 0.279558 4.647396\nv -0.004875 0.093944 0.002937\nvn 1.944750 3.142013 1.301303\nv -0.043941 0.094763 0.003126\nvn -1.729879 2.932068 4.935077\nv -0.022899 0.096092 0.003078\nvn 2.148031 1.834119 1.001256\nv -0.045735 0.096420 0.003126\nvn 1.603636 -0.017163 4.704915\nv -0.004488 0.097802 0.002759\nvn -1.411040 3.580984 8.094701\nv -0.018756 0.097867 0.003273\nvn 1.201449 0.969218 6.790564\nv -0.006972 0.101566 0.002914\nvn -3.190338 1.796984 1.600075\nv -0.082099 0.101503 0.003414\nvn -1.028652 1.396653 5.724279\nv -0.014489 0.101725 0.002865\nvn 0.053289 1.254538 5.845864\nv -0.010639 0.101706 0.002951\nvn -0.276251 0.727258 5.940304\nv -0.011285 0.103300 0.002772\nvn -0.284427 1.326674 5.824221\nv -0.012877 0.101764 0.003015\nvn -0.009754 0.548681 5.958436\nv -0.008770 0.103819 0.002886\nvn 4.889620 -0.570509 3.398144\nv -0.047581 0.111475 0.003081\nvn 4.853764 -0.910583 4.877412\nv -0.047662 0.113572 0.003657\nvn -2.025406 2.434255 2.403680\nv -0.070831 0.117728 0.003389\nvn 1.750581 0.307179 3.567196\nv -0.046293 0.121439 0.003092\nvn 1.146850 0.766814 4.791163\nv -0.046762 0.125331 0.002566\nvn -1.809983 4.586946 6.287766\nv -0.060090 0.123578 0.003534\nvn -0.437706 2.777002 5.237115\nv -0.054328 0.125461 0.003369\nvn 1.318388 1.087272 4.687932\nv -0.048225 0.125583 0.002958\nvn -0.216682 2.984903 7.369810\nv -0.052683 0.125513 0.003486\nvn -0.937438 -3.500909 2.780234\nv -0.103414 0.144422 0.003565\nvn 1.812638 -0.997256 4.227133\nv -0.044037 0.145378 0.003594\nvn 1.022912 -1.388163 6.464467\nv -0.042734 0.145102 0.003294\nvn -1.015663 -3.715057 0.814526\nv -0.098290 0.144390 0.003083\nvn -1.825674 -5.563875 -3.662182\nv -0.052369 0.145755 0.003388\nvn 2.055137 0.567578 5.589036\nv -0.042407 0.147395 0.003072\nvn 1.565671 0.735525 4.658198\nv -0.044432 0.151232 0.003431\nvn 0.823674 4.162716 4.182758\nv -0.069969 0.151522 0.003333\nvn 2.009712 0.058889 6.512406\nv -0.044314 0.152967 0.002923\nvn 1.797424 -0.231048 6.594776\nv -0.042595 0.154732 0.002921\nvn -1.731167 4.443427 -1.410812\nv -0.059717 0.154090 0.003530\nvn -0.909532 -3.794243 -0.843979\nv -0.065553 0.161942 0.003353\nvn 1.747214 -1.952282 5.270926\nv -0.043962 0.164624 0.003226\nvn 1.652458 3.010507 3.610073\nv -0.044408 0.167413 0.003276\nvn 1.703739 1.584054 3.011040\nv -0.048030 0.168893 0.003417\nvn -0.638338 4.258894 1.507385\nv -0.067915 0.169710 0.003270\nvn 2.842449 1.948070 7.084636\nv -0.048526 0.170912 0.003415\nvn -3.965899 1.070049 3.818401\nv -0.064824 0.173085 0.003298\nvn 1.071242 3.372861 1.790461\nv -0.056028 0.175500 0.003218\nvn -2.905020 -1.906865 1.974326\nv -0.094542 0.176047 0.003111\nvn -0.714158 2.694868 0.972313\nv -0.090440 0.179683 0.003024\nvn -0.052687 4.361785 1.955861\nv -0.085989 0.181604 0.003321\nvn -0.189535 -2.924213 0.026630\nv -0.030448 0.053320 0.003212\nvn 2.469033 -2.815248 -2.994216\nv 0.033926 0.054372 0.003685\nvn -0.588494 -4.950852 0.333895\nv 0.050577 0.055367 0.003212\nvn -1.554300 1.353192 -1.373428\nv 0.007409 0.061882 0.003436\nvn 1.916063 -0.610421 2.212495\nv -0.008487 0.077645 0.003590\nvn 0.591766 2.481094 -1.408059\nv 0.027827 0.085236 0.003388\nvn 3.311036 -0.281820 4.976250\nv -0.006428 0.085866 0.003651\nvn 2.655972 -0.042166 5.337038\nv -0.006672 0.091338 0.003575\nvn 1.499462 0.514434 5.764869\nv -0.006987 0.095576 0.003292\nvn -3.782104 1.118024 0.643298\nv 0.065275 0.096541 0.003417\nvn -1.429922 3.139437 6.035396\nv -0.021016 0.096254 0.003710\nvn 1.492744 0.123073 6.830467\nv -0.006829 0.097808 0.003295\nvn -0.797637 1.498869 4.684537\nv -0.014656 0.099588 0.003417\nvn 0.050506 0.731985 5.930492\nv -0.009046 0.101608 0.003034\nvn 0.823572 0.528590 4.889791\nv -0.007246 0.099477 0.003298\nvn -3.285944 1.024313 1.949880\nv -0.080618 0.104110 0.003492\nvn 3.419420 -0.371422 2.037126\nv -0.047851 0.109563 0.003212\nvn 1.109983 2.011869 1.928475\nv 0.076487 0.110384 0.003308\nvn -2.196434 4.187382 6.398582\nv -0.064366 0.121769 0.003531\nvn 2.021974 1.399346 6.487799\nv -0.048322 0.123491 0.003490\nvn 0.723603 1.747057 5.657630\nv -0.050398 0.125476 0.003451\nvn 0.000000 -0.000000 -0.000000\nv -0.103073 0.148343 0.003212\nvn -0.417695 4.138549 -3.971676\nv -0.096002 0.154436 0.003621\nvn 0.765845 2.899589 -2.409757\nv -0.094119 0.154184 0.003549\nvn 1.225570 0.079909 5.752454\nv -0.044363 0.154713 0.003337\nvn -1.753290 -4.577070 -0.985006\nv -0.071485 0.163584 0.003650\nvn 1.955011 -2.571808 4.855316\nv -0.046030 0.164487 0.003739\nvn 1.912086 4.311505 1.616256\nv -0.073887 0.171771 0.003677\nvn -2.491200 -0.828564 3.015817\nv -0.064766 0.174407 0.003680\nvn 0.225865 3.949447 -0.437490\nv -0.091873 0.179751 0.003091\nvn 1.849826 -5.349687 -1.856218\nv 0.038457 0.056535 0.005158\nvn 1.764631 -1.834691 1.562630\nv -0.019958 0.057635 0.003618\nvn 3.069944 -4.543942 0.436995\nv 0.040817 0.057173 0.003470\nvn 2.218782 -3.168011 -4.819246\nv 0.042416 0.058282 0.004779\nvn 2.594500 -0.363518 0.794945\nv 0.042572 0.060202 0.004922\nvn -6.604217 -1.221151 3.786401\nv 0.007142 0.060204 0.004908\nvn -3.394803 -0.862254 -0.663969\nv 0.044177 0.060104 0.004827\nvn -6.116763 3.278302 -1.038720\nv 0.007471 0.062304 0.004202\nvn -2.110703 2.071259 -2.560250\nv 0.008931 0.063526 0.003734\nvn -5.367474 0.467150 2.107740\nv 0.016304 0.067699 0.005008\nvn 2.347782 -1.022764 1.525794\nv -0.010032 0.073375 0.003563\nvn -7.217791 3.181118 -0.655644\nv 0.062620 0.087596 0.004658\nvn -3.730989 1.224295 -0.733918\nv 0.063168 0.089024 0.003891\nvn 1.856589 0.473861 5.653132\nv -0.006861 0.093537 0.003618\nvn 1.436002 0.395024 4.744101\nv -0.008356 0.095973 0.003627\nvn 1.780446 1.166197 8.658166\nv -0.009008 0.097742 0.003681\nvn -0.762853 1.624070 4.643110\nv -0.016693 0.097777 0.003691\nvn 0.324160 1.103454 5.871141\nv -0.009107 0.099691 0.003464\nvn -0.094732 1.931784 6.705891\nv -0.012887 0.099502 0.003655\nvn 0.412501 1.411121 5.793051\nv -0.010665 0.099520 0.003571\nvn -0.514166 1.076693 1.525814\nv -0.078573 0.108417 0.003563\nvn -1.000256 -2.518699 -0.774222\nv -0.047613 0.143939 0.003633\nvn -2.221951 -3.782133 0.562539\nv -0.048144 0.144018 0.004563\nvn 1.885081 0.596057 5.651649\nv -0.044378 0.149182 0.003595\nvn -1.715513 5.539939 0.108450\nv -0.066137 0.151190 0.004573\nvn 0.462155 2.782413 2.746631\nv -0.071677 0.151674 0.003629\nvn -0.000000 0.000000 0.000000\nv -0.099223 0.152262 0.003563\nvn 1.493235 0.044905 5.731350\nv -0.046513 0.153302 0.003608\nvn 1.475043 0.081011 5.747605\nv -0.046393 0.154542 0.003704\nvn -1.621418 5.223067 0.975432\nv -0.058023 0.155017 0.005067\nvn -0.915754 4.233327 1.803760\nv -0.056090 0.155528 0.004913\nvn 1.688033 -1.298824 4.496325\nv -0.046459 0.163305 0.003609\nvn 1.097329 1.833087 4.431260\nv -0.050456 0.171569 0.003715\nvn 2.677190 1.807890 6.020311\nv -0.051935 0.172969 0.003701\nvn -1.397714 -3.307670 1.551989\nv 0.029505 0.053146 0.004033\nvn -1.547626 -8.366549 1.335572\nv 0.030831 0.052951 0.004525\nvn -1.011575 -7.764477 0.708247\nv 0.060321 0.053073 0.004949\nvn -0.965297 -7.703069 1.683691\nv -0.058468 0.053549 0.005086\nvn 0.458376 -4.895478 -0.052502\nv -0.056523 0.053308 0.003913\nvn -0.233131 -3.894904 -0.586131\nv -0.034473 0.053301 0.003913\nvn 1.346115 -9.031729 2.968937\nv -0.030702 0.053553 0.005078\nvn 0.852467 -3.365522 1.893552\nv -0.028870 0.053916 0.005056\nvn 2.029162 -6.863125 -2.041416\nv 0.032925 0.053002 0.004949\nvn -2.492933 -6.310067 1.616377\nv 0.058291 0.053806 0.004905\nvn 0.906272 -4.851738 -0.181834\nv 0.062526 0.053107 0.004795\nvn 3.450612 -6.905999 -1.081713\nv 0.064108 0.053553 0.005046\nvn 0.221967 -3.929392 -0.012004\nv -0.054266 0.053413 0.005034\nvn 0.656285 -7.742902 -0.935028\nv -0.052500 0.053594 0.004879\nvn -0.629570 -7.591200 -2.065664\nv -0.038693 0.053450 0.004445\nvn 2.469502 -7.015600 4.871989\nv -0.026824 0.054422 0.004856\nvn -4.786658 -6.043472 4.360387\nv 0.028889 0.054209 0.005034\nvn 0.190672 -5.763595 -1.275666\nv -0.050493 0.053755 0.004776\nvn -0.294016 -5.733004 -1.243151\nv -0.044213 0.053715 0.005103\nvn -0.341556 -4.693243 -1.273700\nv -0.042399 0.053555 0.005122\nvn -0.619364 -5.726827 -1.008770\nv -0.040724 0.053479 0.004979\nvn -1.572373 -5.667152 1.026928\nv 0.056345 0.054538 0.004937\nvn -0.382502 -4.869686 1.007653\nv -0.064165 0.054650 0.004948\nvn -1.424431 -7.537107 2.084252\nv -0.062623 0.054538 0.005031\nvn 0.013160 -6.746487 -1.430764\nv -0.045950 0.053818 0.004848\nvn 1.273072 -2.027288 1.678263\nv -0.024828 0.054799 0.004285\nvn -1.930694 -5.339232 1.806606\nv -0.067873 0.055041 0.004496\nvn -3.059133 -2.896903 2.675499\nv 0.027340 0.054889 0.004130\nvn 3.668930 -4.578631 -0.912996\nv 0.065812 0.054942 0.005203\nvn -4.086316 -8.476181 3.253358\nv -0.070077 0.056313 0.004803\nvn 4.327345 -6.448548 3.972749\nv -0.022646 0.056591 0.004717\nvn -0.444724 -5.977023 -0.016698\nv 0.049470 0.055527 0.004666\nvn 4.002611 -4.348519 -0.748932\nv 0.066506 0.055712 0.004865\nvn -5.470976 -4.080900 4.112389\nv 0.026662 0.056272 0.004822\nvn 1.280849 -2.432096 -1.118803\nv 0.034850 0.055700 0.004064\nvn 1.840891 -3.326766 -3.229455\nv 0.036561 0.055826 0.004779\nvn -0.990491 -5.734150 -0.979133\nv 0.045918 0.055764 0.004350\nvn -1.853579 -4.375418 -3.398960\nv 0.044360 0.055869 0.004958\nvn 4.150868 -5.564969 0.097989\nv 0.067800 0.056707 0.004910\nvn 1.470990 -1.974806 1.669311\nv -0.021168 0.057005 0.004130\nvn -3.419124 -5.676918 2.110416\nv -0.072531 0.057601 0.005246\nvn -1.360440 -2.536201 2.635236\nv 0.007319 0.058243 0.004500\nvn 6.939328 -8.178887 1.728649\nv -0.020669 0.058304 0.005061\nvn 2.370853 -3.174269 0.405764\nv 0.069127 0.057563 0.003913\nvn -3.807984 -1.725630 2.733760\nv 0.025313 0.058481 0.004620\nvn -3.172023 -0.248077 -2.985018\nv 0.044141 0.058045 0.004424\nvn -3.615195 -4.205815 2.249761\nv -0.073823 0.058505 0.005022\nvn 0.629529 -5.312074 2.964160\nv 0.009161 0.058488 0.004687\nvn 1.028620 -4.782320 0.674868\nv 0.010905 0.058988 0.004507\nvn 3.212507 -3.785353 0.394281\nv 0.070148 0.058520 0.004855\nvn 1.628772 -1.781691 1.472077\nv -0.019478 0.059113 0.004142\nvn -5.401099 -3.222805 4.224226\nv 0.024523 0.060224 0.004556\nvn -6.032756 -5.920977 2.653155\nv -0.075867 0.060466 0.004907\nvn -2.792647 -2.549642 0.944214\nv -0.075073 0.059239 0.004199\nvn 1.474404 -3.513026 -0.557304\nv 0.012194 0.059218 0.004029\nvn 1.300188 -7.565393 -0.197998\nv 0.012815 0.059347 0.005074\nvn -1.842940 -1.137695 2.036716\nv 0.024308 0.059344 0.003913\nvn 1.084973 -4.740934 -0.747499\nv 0.014815 0.059686 0.005157\nvn 5.433774 -6.949336 2.348518\nv -0.018629 0.060043 0.004785\nvn 4.542908 -5.019091 -4.722454\nv 0.016794 0.060466 0.005066\nvn -5.223687 -5.313242 2.704070\nv -0.078158 0.062395 0.004888\nvn -2.799287 -5.010500 3.240053\nv 0.022980 0.062522 0.004489\nvn 2.160849 -3.448097 -3.644532\nv 0.017267 0.062610 0.004331\nvn 6.282594 -3.633852 -0.107750\nv -0.016628 0.062430 0.004954\nvn 4.178264 -2.739798 -0.105182\nv 0.073318 0.062193 0.004963\nvn -3.589894 -2.951886 1.716676\nv -0.079239 0.063120 0.004145\nvn -0.080808 -5.430654 -1.757459\nv 0.018984 0.063252 0.004182\nvn 0.389699 -6.283360 -1.153211\nv 0.021018 0.063046 0.004797\nvn 5.161638 -3.044512 -0.243356\nv 0.074320 0.063814 0.004918\nvn -5.149770 3.990658 -2.163207\nv 0.008850 0.064353 0.004881\nvn -5.537721 -3.199679 2.764496\nv -0.079652 0.064400 0.004962\nvn 3.559682 -3.120284 0.413540\nv -0.015154 0.064213 0.004520\nvn 4.485893 -3.374459 0.020768\nv -0.013961 0.065686 0.005012\nvn -3.404605 6.483278 -2.356811\nv 0.010895 0.066085 0.004895\nvn -2.171251 2.204335 -0.931403\nv 0.009608 0.065407 0.004939\nvn -4.594045 -3.172098 2.070966\nv -0.080441 0.066163 0.005100\nvn -3.827292 -2.861290 1.397423\nv -0.081196 0.066785 0.004367\nvn 4.932816 -2.683785 -0.099403\nv -0.013430 0.066541 0.004855\nvn -0.113437 5.733462 -0.953805\nv 0.012729 0.066505 0.004966\nvn -1.083925 4.893863 -0.168581\nv 0.014650 0.066358 0.004899\nvn 6.230474 -3.035734 -0.931135\nv 0.076508 0.068035 0.004626\nvn 5.970962 -3.013515 0.333075\nv -0.012621 0.067970 0.004807\nvn -3.705521 -0.525057 1.346200\nv 0.015794 0.068448 0.004027\nvn -3.436745 -1.391349 1.381815\nv -0.083123 0.069106 0.003983\nvn 3.443143 -1.600735 1.154453\nv -0.011987 0.069212 0.004453\nvn -5.461053 -0.418267 2.433127\nv 0.016147 0.069882 0.005053\nvn 5.466546 -2.252009 -1.003408\nv 0.077502 0.070188 0.004909\nvn 5.227832 -2.446988 -0.003230\nv -0.011559 0.070242 0.004935\nvn -6.997937 -1.774618 3.240930\nv -0.083369 0.072544 0.004868\nvn 5.560993 -1.888569 -1.194536\nv 0.078076 0.071687 0.005085\nvn 6.516970 -1.720998 0.290592\nv -0.010977 0.072096 0.005123\nvn -2.778013 0.104417 1.126220\nv 0.015704 0.072850 0.004087\nvn 7.807053 -1.477097 3.217891\nv -0.010320 0.074405 0.004849\nvn -4.632129 0.425968 1.795715\nv 0.015750 0.073638 0.004109\nvn 6.483809 -1.902263 -1.773782\nv 0.078598 0.073830 0.004622\nvn -5.097862 -2.439790 1.964510\nv -0.083964 0.074236 0.004965\nvn -7.390747 0.788132 2.925086\nv 0.016218 0.074362 0.005029\nvn -3.465559 -0.990370 1.552734\nv -0.085202 0.076175 0.004315\nvn 3.716527 -0.558708 3.228545\nv -0.009606 0.076083 0.004061\nvn -4.515255 1.025129 1.830598\nv 0.016352 0.076047 0.004926\nvn 6.738908 -3.251876 -2.319037\nv 0.079598 0.076140 0.005223\nvn 3.947853 -1.209259 4.336472\nv -0.009145 0.078105 0.004248\nvn 5.834341 -2.433018 -2.944066\nv 0.080180 0.077716 0.004747\nvn -0.966288 6.770628 1.399436\nv 0.048305 0.077651 0.005230\nvn -7.221337 0.040528 3.350683\nv -0.085313 0.077604 0.004331\nvn -5.150716 1.949260 2.356465\nv 0.017027 0.078098 0.004999\nvn 0.717673 6.670859 1.960013\nv 0.042551 0.077813 0.005009\nvn -1.330427 4.724938 0.878810\nv 0.050487 0.078184 0.004766\nvn 0.832780 6.433623 2.549789\nv 0.040369 0.078032 0.005220\nvn -4.232167 2.077023 1.582972\nv 0.017325 0.079622 0.004303\nvn -0.000000 0.000000 0.000000\nv 0.038267 0.078952 0.003874\nvn 0.333062 4.423100 2.289842\nv 0.038429 0.078478 0.004682\nvn -3.407497 8.227627 1.220672\nv 0.052548 0.078854 0.005177\nvn -4.546854 0.088099 2.053391\nv -0.085148 0.079920 0.004204\nvn 0.000000 0.000000 0.000000\nv -0.007936 0.079500 0.003805\nvn 4.306849 4.031944 -0.506852\nv 0.034150 0.079578 0.004914\nvn 1.055487 3.414910 1.522707\nv 0.035667 0.079016 0.004073\nvn 2.410957 2.323007 -0.395613\nv 0.033312 0.080061 0.004214\nvn -1.626840 3.607617 0.578346\nv 0.053144 0.079282 0.004229\nvn -3.244162 6.145641 0.667627\nv 0.054532 0.079798 0.005085\nvn 2.368273 -1.054923 -1.455945\nv 0.080807 0.080025 0.004058\nvn 3.027416 -0.681944 3.867341\nv -0.007679 0.081427 0.004059\nvn 5.594997 3.307928 -4.142079\nv 0.032893 0.081962 0.004542\nvn 7.719211 -2.965827 -3.410234\nv 0.081967 0.081993 0.004892\nvn -5.579185 3.298402 2.404509\nv 0.018048 0.080232 0.005154\nvn -2.311956 3.249899 0.096682\nv 0.056589 0.081093 0.004022\nvn -4.649354 3.403885 1.483767\nv 0.018934 0.081712 0.004910\nvn -4.365399 -1.560648 1.865467\nv -0.085326 0.082388 0.004669\nvn -4.447085 5.323761 -0.335400\nv 0.058079 0.082315 0.004959\nvn -4.192386 5.400962 0.512665\nv 0.020905 0.083694 0.004978\nvn 3.804975 4.859921 -4.882842\nv 0.031049 0.084198 0.004411\nvn -3.414334 3.579546 -0.515619\nv 0.058985 0.083189 0.004612\nvn -5.638170 5.113497 -0.055627\nv 0.060226 0.084366 0.004785\nvn 6.329072 -2.148169 -1.982629\nv 0.082600 0.083753 0.004852\nvn 2.621214 -0.368928 4.229475\nv -0.007749 0.084035 0.004165\nvn -3.305683 6.101687 -0.311789\nv 0.022676 0.084725 0.005077\nvn -7.062220 -0.031937 3.208818\nv -0.085703 0.083954 0.004964\nvn -1.242325 3.710388 -0.738267\nv 0.023627 0.084978 0.004022\nvn 1.691465 7.525994 -4.164557\nv 0.028827 0.085626 0.004832\nvn -2.073482 6.505771 -1.267788\nv 0.024290 0.085384 0.005001\nvn -3.833081 2.629441 0.157449\nv 0.061612 0.086034 0.004934\nvn -0.506799 5.608750 -1.811284\nv 0.026879 0.085902 0.004953\nvn 6.654424 -1.440559 -1.442134\nv 0.083279 0.086128 0.004765\nvn -5.200382 1.301303 2.658763\nv -0.085360 0.085961 0.005041\nvn -4.395906 1.030065 2.109469\nv -0.085189 0.087642 0.004368\nvn 2.779362 0.283528 4.142792\nv -0.006649 0.087987 0.003759\nvn 3.359779 0.563156 6.079167\nv -0.007525 0.089668 0.004189\nvn -4.414829 -0.758542 2.047882\nv -0.085139 0.090209 0.004495\nvn 5.911460 -0.655646 -0.677656\nv 0.083826 0.089874 0.004729\nvn -3.459229 0.320041 1.680679\nv -0.085310 0.091303 0.004513\nvn 5.952329 -0.359107 -0.556743\nv 0.083969 0.091707 0.004808\nvn 2.138901 0.702164 5.533553\nv -0.007766 0.091958 0.004052\nvn 0.333693 3.611187 1.664893\nv -0.036667 0.092309 0.004817\nvn 0.486963 5.203881 2.855055\nv -0.034675 0.092134 0.004832\nvn -5.636171 1.993687 0.502079\nv 0.064094 0.091765 0.005122\nvn 1.160321 3.456081 1.572844\nv -0.038952 0.092988 0.004089\nvn 1.627569 7.899870 3.769606\nv -0.038658 0.092328 0.005210\nvn 0.071225 7.078057 5.424171\nv -0.032688 0.091962 0.004905\nvn -0.028719 3.221209 2.348716\nv -0.031148 0.092795 0.003948\nvn -1.156425 5.970173 5.034777\nv -0.030635 0.091939 0.005028\nvn 1.430288 5.444687 1.984177\nv -0.040676 0.093241 0.004567\nvn -0.796017 3.095381 2.347551\nv -0.028873 0.093184 0.004223\nvn 1.776096 0.828600 5.660666\nv -0.008414 0.094142 0.003910\nvn -6.645878 2.045627 0.771531\nv 0.064674 0.093480 0.005133\nvn -0.780357 4.999013 4.756611\nv -0.026656 0.093643 0.004078\nvn -0.823995 4.712654 6.354883\nv -0.024168 0.093463 0.004366\nvn 3.511350 5.757792 1.605598\nv -0.044054 0.094410 0.004847\nvn -0.506150 2.440627 3.094141\nv -0.025023 0.094375 0.003651\nvn -0.942642 2.053967 3.292086\nv -0.023331 0.094667 0.003769\nvn -6.666456 2.232551 3.610889\nv -0.083523 0.095601 0.004363\nvn 2.377618 3.086034 0.758484\nv -0.045039 0.095133 0.004508\nvn 6.223186 5.774693 2.661094\nv -0.046224 0.095991 0.005142\nvn -0.459533 2.246233 5.523771\nv -0.018570 0.095615 0.004284\nvn -6.669297 1.831664 1.045372\nv 0.065359 0.096046 0.004744\nvn -0.323507 1.137779 2.741232\nv -0.019423 0.096358 0.003930\nvn -0.482717 2.281311 6.582705\nv -0.016798 0.095797 0.004364\nvn 1.771527 0.578527 4.638315\nv -0.009329 0.095906 0.004037\nvn -6.714849 1.683860 1.000281\nv 0.065825 0.097879 0.004843\nvn 2.266380 1.753426 0.888251\nv -0.046904 0.097086 0.004717\nvn 4.890480 0.624837 0.486395\nv 0.084023 0.097744 0.004665\nvn 5.601988 3.286143 2.485054\nv -0.047767 0.097983 0.005147\nvn -1.146799 2.229994 7.500019\nv -0.014508 0.098429 0.003894\nvn 7.380824 2.202802 1.893009\nv 0.083581 0.099537 0.004913\nvn -4.421745 1.168020 1.812244\nv -0.083108 0.099072 0.004198\nvn -3.948812 2.067298 2.199848\nv -0.082321 0.099615 0.005166\nvn 4.382006 1.452839 1.865666\nv -0.048450 0.099695 0.004886\nvn -5.245985 3.372764 3.147160\nv -0.081398 0.101400 0.004797\nvn -8.271628 2.496580 2.209792\nv 0.066743 0.101850 0.004767\nvn 5.256454 1.313363 2.558205\nv -0.048939 0.101303 0.005026\nvn -3.777491 2.208038 2.384477\nv -0.080495 0.102300 0.005198\nvn 6.857623 0.890573 3.891935\nv -0.049101 0.103603 0.004408\nvn 5.607279 3.207275 2.534970\nv 0.082140 0.103554 0.004761\nvn -4.702954 1.802927 3.120128\nv -0.079896 0.103601 0.004986\nvn -5.072272 2.104182 2.289465\nv 0.067684 0.104054 0.005209\nvn 3.180062 1.941398 1.390216\nv 0.081510 0.105082 0.004127\nvn -4.523077 1.867604 3.366505\nv -0.079596 0.105420 0.004837\nvn 4.934215 -0.747848 3.279678\nv -0.048953 0.106095 0.004420\nvn 5.821179 4.986104 4.497418\nv 0.080267 0.106050 0.005112\nvn -2.626524 2.291218 3.280138\nv -0.079191 0.107244 0.004119\nvn 3.339805 -0.326602 2.155312\nv -0.048807 0.107757 0.004569\nvn 2.772942 3.061057 2.733255\nv 0.079644 0.107475 0.004387\nvn -4.592559 3.984274 5.375486\nv 0.070059 0.107780 0.004874\nvn -1.984500 1.255142 1.865336\nv 0.069302 0.108168 0.003832\nvn -1.434631 2.177897 3.003404\nv 0.070787 0.109107 0.004395\nvn 1.369404 2.791259 2.514844\nv 0.077523 0.109036 0.004131\nvn 5.694372 -0.242451 4.028649\nv -0.048816 0.109689 0.004734\nvn 1.769552 4.121356 3.938870\nv 0.076050 0.109435 0.004538\nvn -5.333283 3.376117 4.741282\nv -0.076253 0.109563 0.005080\nvn -1.689706 2.878477 3.715160\nv 0.071467 0.110091 0.003896\nvn -1.635936 4.953114 5.885688\nv 0.072434 0.109322 0.004866\nvn 0.467193 4.717033 5.040545\nv 0.074159 0.109661 0.004741\nvn -3.852580 2.695447 3.648755\nv -0.075809 0.111414 0.004552\nvn 4.414319 -0.021149 4.014329\nv -0.048676 0.111361 0.004504\nvn -5.009282 5.768201 6.330801\nv -0.073622 0.113443 0.004855\nvn 3.283831 -0.169258 4.989039\nv -0.048292 0.115543 0.004361\nvn -3.177532 3.333851 3.785505\nv -0.072089 0.115033 0.004442\nvn -2.646745 2.534254 3.363233\nv -0.071227 0.116570 0.004058\nvn 2.610694 0.425313 5.360647\nv -0.048188 0.117479 0.004244\nvn -2.567840 3.338231 4.222293\nv -0.069931 0.117319 0.004385\nvn -1.862001 3.090002 3.361929\nv -0.067688 0.119252 0.004106\nvn 1.796356 0.380187 3.531312\nv -0.047785 0.119225 0.003913\nvn -1.975611 4.099152 5.206696\nv -0.066109 0.119447 0.004529\nvn 2.427420 0.967656 6.449117\nv -0.047871 0.121306 0.003788\nvn -0.631295 1.480077 2.521610\nv -0.063905 0.120957 0.004091\nvn -0.642289 1.532897 2.490047\nv -0.062991 0.121908 0.003858\nvn -0.637800 1.718193 2.367342\nv -0.059753 0.122782 0.004236\nvn -1.089265 4.254924 6.649999\nv -0.058209 0.123174 0.004288\nvn 0.764737 1.997654 6.635990\nv -0.050736 0.123887 0.003928\nvn 0.000000 0.000000 0.000000\nv -0.057923 0.124125 0.003708\nvn -0.533473 2.164689 3.303817\nv -0.057001 0.124125 0.003913\nvn 0.147110 0.943536 2.843832\nv -0.052195 0.124277 0.003866\nvn 0.804512 3.019574 8.388798\nv -0.052634 0.123066 0.004296\nvn -0.852832 -5.801765 1.061192\nv -0.084160 0.140720 0.004893\nvn 0.043937 -6.893774 1.120733\nv -0.082197 0.140715 0.004984\nvn 0.272925 -5.893078 0.988538\nv -0.080012 0.140715 0.004806\nvn -0.912500 -3.807159 0.809552\nv -0.085979 0.141221 0.004995\nvn 1.122483 -6.780187 1.079118\nv -0.077884 0.140893 0.005091\nvn 0.886904 -3.850364 0.600147\nv -0.076046 0.141352 0.004989\nvn -1.778379 -5.525951 1.405251\nv -0.089244 0.141949 0.004961\nvn 1.861440 -8.552828 1.905022\nv -0.074306 0.141699 0.004953\nvn 1.840678 -4.489377 0.823496\nv -0.072597 0.141938 0.004469\nvn -1.395373 -5.659016 1.327227\nv -0.091660 0.142661 0.004793\nvn 2.256483 -5.447957 0.960792\nv -0.071450 0.142679 0.005011\nvn -1.244471 -4.719637 1.023480\nv -0.093646 0.143104 0.004936\nvn 1.639863 -5.686749 0.923365\nv -0.069920 0.143176 0.004681\nvn 2.477095 -5.800440 -0.173218\nv -0.067919 0.143768 0.004961\nvn 1.026370 -3.361882 2.107723\nv -0.046333 0.143746 0.004573\nvn -2.145683 -7.562154 1.427198\nv -0.095920 0.143850 0.004954\nvn -3.056934 -2.983602 2.569245\nv -0.103931 0.145408 0.004893\nvn -1.166414 -3.778343 0.529091\nv -0.097210 0.144120 0.004648\nvn 2.985075 -1.079971 3.473357\nv -0.045085 0.144919 0.004249\nvn 1.521904 -6.165449 -0.846605\nv -0.066040 0.144634 0.004959\nvn -1.174304 -2.288883 -0.784739\nv -0.048399 0.144490 0.005276\nvn -1.065916 -5.520643 1.721128\nv -0.099706 0.145091 0.004861\nvn -0.738466 -4.958071 -2.853499\nv -0.050828 0.144556 0.004382\nvn -0.323824 -6.238591 3.022110\nv -0.101649 0.145307 0.004757\nvn 1.271562 -5.739849 -0.563407\nv -0.064342 0.144926 0.005015\nvn -0.987728 -3.706685 -3.169518\nv -0.052371 0.144865 0.004525\nvn 0.968425 -4.764798 -0.921891\nv -0.062315 0.145461 0.004893\nvn 0.092396 -5.187145 -2.559973\nv -0.060242 0.145706 0.005096\nvn -0.082012 -2.358205 -1.391139\nv -0.053923 0.145973 0.003928\nvn 1.926021 0.311282 5.633466\nv -0.044269 0.147123 0.003763\nvn 0.464887 -3.681554 -1.168297\nv -0.057971 0.146238 0.004142\nvn -0.522171 -6.180243 -2.809577\nv -0.056169 0.146251 0.004056\nvn -1.372437 -6.462237 -5.659014\nv -0.054355 0.145150 0.004940\nvn -5.812285 2.795924 1.087769\nv -0.103954 0.147348 0.004770\nvn -2.502422 2.924094 -0.032791\nv -0.102977 0.148544 0.004379\nvn 2.146552 0.919484 6.559219\nv -0.045674 0.149366 0.003907\nvn -5.413894 5.654882 -0.302615\nv -0.101737 0.149382 0.005084\nvn 1.866536 1.008570 6.634584\nv -0.045899 0.151564 0.003775\nvn -3.385360 1.933089 0.021688\nv -0.100110 0.151165 0.004818\nvn 0.333352 4.397181 3.769271\nv -0.070137 0.150575 0.004134\nvn -1.725073 5.357278 0.805956\nv -0.067953 0.150511 0.005037\nvn -2.185301 5.493933 -0.367420\nv -0.064364 0.151841 0.003997\nvn 1.497091 8.640465 -0.552209\nv -0.084205 0.151966 0.004978\nvn 0.644922 4.093648 4.214422\nv -0.072642 0.150983 0.004328\nvn 0.434854 2.872756 -0.639475\nv -0.085567 0.151896 0.004110\nvn 0.118217 5.839891 0.659495\nv -0.081919 0.151920 0.004884\nvn 1.584118 5.860170 4.482919\nv -0.075924 0.151190 0.005082\nvn 0.782457 5.038927 4.458420\nv -0.074385 0.151147 0.004675\nvn -6.629157 2.428350 -4.671017\nv -0.099526 0.153061 0.005025\nvn 1.774767 6.634822 -1.273748\nv -0.087935 0.152772 0.005173\nvn 1.644430 5.537022 -1.381629\nv -0.089602 0.153202 0.004952\nvn -1.920946 1.160435 -1.978594\nv -0.098205 0.153370 0.004011\nvn 2.247493 6.029965 -2.421295\nv -0.091225 0.153763 0.004678\nvn 1.112034 -0.203703 3.818027\nv -0.047692 0.153525 0.003912\nvn -1.692086 3.450297 -0.847865\nv -0.060900 0.153825 0.004360\nvn -0.730665 2.383869 -3.036810\nv -0.097267 0.154371 0.003892\nvn 3.229280 8.338936 -3.989098\nv -0.093850 0.154977 0.005050\nvn -2.269355 6.420325 -0.043007\nv -0.059531 0.154427 0.004949\nvn -1.084940 4.364600 1.509067\nv -0.054410 0.156229 0.004113\nvn -0.024297 5.734784 4.605053\nv -0.052334 0.156283 0.004429\nvn 0.263643 3.166797 3.477293\nv -0.050245 0.156432 0.004173\nvn 1.123678 2.063767 5.096896\nv -0.047968 0.156172 0.004087\nvn -0.400245 -6.858046 -0.486250\nv -0.058125 0.160120 0.004908\nvn 0.692979 -6.674319 1.355272\nv -0.056038 0.160138 0.004964\nvn -0.485681 -3.865733 -0.616684\nv -0.060286 0.160278 0.004882\nvn -1.253297 -6.697339 -1.328424\nv -0.062314 0.160617 0.005059\nvn 1.352647 -2.819111 3.393237\nv -0.050597 0.161226 0.004806\nvn -1.727576 -6.572104 -1.645888\nv -0.064332 0.161169 0.004948\nvn 1.662889 -3.287455 4.021458\nv -0.048747 0.161536 0.004356\nvn -1.992936 -7.572122 -1.597944\nv -0.066022 0.161679 0.004933\nvn -1.596741 -5.698268 -0.985150\nv -0.068015 0.162239 0.004671\nvn -2.239844 -6.517595 -1.206169\nv -0.070115 0.162818 0.004917\nvn -1.657820 -4.620217 -0.943624\nv -0.072297 0.163611 0.004978\nvn -2.108074 -5.470924 -1.269400\nv -0.073007 0.164059 0.004134\nvn -2.237112 -5.172260 -1.714093\nv -0.076112 0.165148 0.005165\nvn 2.326594 0.474546 4.966710\nv -0.044508 0.166365 0.004124\nvn 3.207204 2.985337 8.027346\nv -0.046391 0.166810 0.004664\nvn 2.427131 2.623410 4.589213\nv -0.048997 0.168786 0.004131\nvn 0.946296 5.772256 0.238514\nv -0.067970 0.169517 0.004659\nvn -2.008025 5.911103 3.486772\nv -0.066151 0.169600 0.005152\nvn 2.006086 6.587093 -0.017951\nv -0.070277 0.170220 0.005041\nvn -4.544158 -7.598704 -0.719244\nv -0.084373 0.170373 0.004922\nvn -1.672667 -5.619661 -0.710331\nv -0.085959 0.171218 0.004734\nvn 1.561961 6.548512 1.386597\nv -0.072434 0.170813 0.004965\nvn -2.779123 2.652177 3.038654\nv -0.065595 0.171002 0.004341\nvn 1.426324 1.180346 4.375170\nv -0.060324 0.171067 0.004394\nvn -0.467503 3.987605 5.452844\nv -0.058130 0.170315 0.004424\nvn -3.115700 -4.414173 1.059002\nv -0.090993 0.171524 0.004958\nvn 0.067606 -5.791682 0.415125\nv -0.089682 0.171154 0.005015\nvn 0.723204 0.370148 3.514259\nv -0.059323 0.171585 0.003889\nvn -0.672049 -0.657114 5.271997\nv -0.058030 0.171591 0.003840\nvn 0.812496 1.240877 3.552500\nv -0.051886 0.171550 0.003860\nvn 1.658177 2.828354 6.080888\nv -0.050784 0.170435 0.004390\nvn -2.262545 -1.045889 1.348422\nv -0.092569 0.172416 0.003917\nvn -0.153872 -4.873452 -0.482638\nv -0.087646 0.171498 0.004985\nvn 2.441681 4.048418 1.619702\nv -0.074923 0.172192 0.004067\nvn -2.528955 1.206208 4.715490\nv -0.064142 0.172458 0.004193\nvn 0.964231 -2.246402 7.143995\nv -0.060231 0.172892 0.004572\nvn -0.164003 -1.668180 3.591952\nv -0.057903 0.172791 0.004614\nvn 1.316592 0.644390 3.716536\nv -0.053100 0.172973 0.004179\nvn 5.636739 7.411015 3.488115\nv -0.075883 0.172443 0.004964\nvn -7.315043 -3.137679 3.361934\nv -0.091801 0.172606 0.005096\nvn 1.949566 1.540989 4.091035\nv -0.053252 0.174328 0.004003\nvn -3.977076 -2.039601 2.115033\nv -0.093086 0.175058 0.004293\nvn -4.390396 0.288877 6.008839\nv -0.064074 0.174884 0.004400\nvn 1.384629 2.578761 3.492608\nv -0.054376 0.174515 0.004410\nvn 4.549507 4.481966 2.815557\nv -0.078370 0.174707 0.004743\nvn 1.528080 3.351646 4.832538\nv -0.056152 0.174772 0.004820\nvn 5.764606 4.625140 2.981107\nv -0.080059 0.176521 0.004944\nvn 1.546450 1.366703 6.288703\nv -0.057947 0.174876 0.005258\nvn 1.136792 2.116583 1.560591\nv -0.058425 0.175925 0.004466\nvn -1.227412 0.951408 1.955412\nv -0.063829 0.176103 0.004439\nvn 0.728679 4.166186 3.911875\nv -0.060371 0.176246 0.004768\nvn -1.074830 4.444586 5.652476\nv -0.062563 0.176417 0.004550\nvn -3.765948 0.883015 2.136276\nv -0.094971 0.178564 0.004015\nvn 2.930763 2.423260 1.238852\nv -0.080710 0.177771 0.004115\nvn 6.506728 6.161932 3.133926\nv -0.081885 0.178665 0.005149\nvn -4.467072 1.631487 1.804529\nv -0.094237 0.179024 0.005158\nvn -2.167288 7.134698 0.300205\nv -0.093214 0.179850 0.004620\nvn 0.579841 5.519091 0.410190\nv -0.091873 0.179909 0.005075\nvn 0.501539 7.720141 2.225832\nv -0.089558 0.179436 0.004949\nvn -1.296723 3.356014 3.107000\nv -0.087577 0.180215 0.004351\nvn 1.399226 5.072119 3.567285\nv -0.084080 0.180506 0.004821\nvn 2.252905 2.803065 1.509179\nv -0.082895 0.179999 0.004519\nvn -0.866536 4.653158 4.750172\nv -0.086070 0.180613 0.004576\nvn 0.429039 -8.736865 0.872807\nv -0.056011 0.053393 0.005220\nvn 0.333972 -7.887493 0.046823\nv -0.032723 0.053291 0.004583\nvn 0.455659 -3.859792 0.106434\nv -0.031148 0.053321 0.004262\nvn 3.378553 -3.472986 -4.537797\nv 0.034779 0.054316 0.004464\nvn -0.875875 -3.710382 1.182276\nv -0.060227 0.053920 0.005161\nvn 0.085927 -4.754258 -1.356114\nv -0.048193 0.053816 0.004803\nvn -0.711008 -5.777227 1.283341\nv -0.066104 0.054775 0.005050\nvn 2.171568 -4.630975 2.600668\nv -0.024413 0.056005 0.005159\nvn -1.095044 -3.682353 -4.085473\nv 0.042519 0.056270 0.005259\nvn -1.245168 -2.618148 0.755508\nv -0.071618 0.056895 0.004439\nvn -3.651529 -2.078785 2.684930\nv 0.025478 0.057275 0.004106\nvn 3.847238 -4.532374 0.071778\nv 0.068850 0.057610 0.005144\nvn 4.454139 -3.993890 0.043301\nv 0.071948 0.060343 0.005044\nvn 2.650270 -2.230810 0.317604\nv -0.017521 0.061104 0.004529\nvn 0.372483 -1.814364 2.506339\nv 0.043006 0.061807 0.005136\nvn 5.640191 -4.137164 -0.132891\nv 0.072819 0.061475 0.005079\nvn -5.378676 -3.722190 2.272657\nv -0.082107 0.068096 0.005004\nvn -6.026399 -1.542311 2.930563\nv -0.084623 0.075669 0.005236\nvn 4.657827 -1.267089 6.315434\nv -0.008935 0.080077 0.004625\nvn 2.483213 -0.440892 4.302940\nv -0.007638 0.086068 0.004418\nvn -5.664100 1.709070 -0.374286\nv 0.063441 0.090129 0.004277\nvn 2.195739 0.825785 5.499483\nv -0.008886 0.091697 0.004550\nvn 2.231708 0.986970 5.462983\nv -0.009334 0.093551 0.004310\nvn -1.688472 3.405447 5.859950\nv -0.022800 0.093828 0.004477\nvn 2.673659 5.966752 2.318471\nv -0.042532 0.093567 0.005196\nvn -0.555478 2.101622 4.467730\nv -0.020762 0.095194 0.004320\nvn 1.602019 1.620458 6.514787\nv -0.011058 0.095868 0.004668\nvn -0.972122 1.941183 5.446187\nv -0.014311 0.095859 0.004365\nvn 5.923950 0.306331 0.216890\nv 0.084135 0.095810 0.004916\nvn -0.664571 3.646750 6.025699\nv -0.012782 0.095790 0.004938\nvn -0.353672 0.922722 3.861717\nv -0.015223 0.097175 0.004020\nvn 0.230916 1.581566 4.721895\nv -0.012613 0.097817 0.004090\nvn 0.507848 1.438753 5.765296\nv -0.011023 0.097661 0.004057\nvn -4.505807 0.447837 2.029365\nv -0.083158 0.097547 0.004507\nvn 0.432585 0.559460 2.891447\nv -0.010498 0.098050 0.003939\nvn 5.392124 1.883226 1.747468\nv 0.083135 0.101313 0.004595\nvn -4.285028 2.770374 3.097085\nv 0.068506 0.105827 0.004970\nvn 2.721846 4.611351 4.446833\nv 0.078038 0.107901 0.005157\nvn -2.306157 2.225821 2.332329\nv -0.075073 0.112925 0.004124\nvn 3.730401 0.058214 4.661553\nv -0.048712 0.113760 0.004600\nvn -2.170845 3.434091 5.685216\nv -0.068205 0.117651 0.004979\nvn 2.606288 0.765161 6.430203\nv -0.048648 0.119575 0.004243\nvn -2.011967 4.810091 7.302481\nv -0.064079 0.119508 0.004953\nvn -1.961006 4.055511 6.594319\nv -0.062469 0.121137 0.004429\nvn 1.168603 0.712372 3.743108\nv -0.049221 0.120975 0.004285\nvn 1.843060 1.729745 7.499634\nv -0.050471 0.121534 0.004478\nvn 0.448526 0.959887 3.854769\nv -0.050756 0.123008 0.004156\nvn 0.946201 0.813639 3.728385\nv -0.049348 0.122900 0.003971\nvn -0.748014 2.994234 -3.791593\nv 0.036539 0.123440 0.005213\nvn -0.172076 2.797936 5.279800\nv -0.056060 0.123226 0.004519\nvn 0.173248 2.212616 4.446794\nv -0.054410 0.123470 0.004375\nvn -1.282143 -5.744145 1.154169\nv -0.087604 0.141577 0.005017\nvn 2.153309 -4.462917 0.516807\nv -0.067120 0.144148 0.004262\nvn -2.794137 -7.266111 1.532513\nv -0.097981 0.144441 0.005217\nvn 3.708628 1.386914 6.842477\nv -0.046080 0.146947 0.004569\nvn 0.111981 -4.949321 -3.039526\nv -0.058192 0.145678 0.005100\nvn 2.491253 1.318932 5.288417\nv -0.046678 0.148977 0.004448\nvn 1.285004 0.510930 3.719239\nv -0.046723 0.150725 0.004030\nvn 2.086547 1.246167 5.438757\nv -0.048256 0.151122 0.004541\nvn 0.136763 5.856050 0.865954\nv -0.079750 0.151926 0.004597\nvn 0.843013 4.451540 1.692214\nv -0.078000 0.151720 0.005036\nvn -4.029984 8.763705 -0.649914\nv -0.062340 0.153160 0.005055\nvn 2.029041 0.951530 6.545265\nv -0.048473 0.152825 0.004179\nvn 1.294067 0.678835 4.701002\nv -0.050295 0.153043 0.004663\nvn -2.196212 3.848290 -6.012808\nv -0.097854 0.155134 0.004588\nvn 1.612759 3.427336 -1.074194\nv -0.092210 0.154350 0.005019\nvn 1.547078 -0.129099 5.774229\nv -0.048123 0.154820 0.004177\nvn 0.865081 4.557454 -3.300734\nv -0.095838 0.155475 0.004842\nvn 0.676710 -3.713911 1.097688\nv -0.054580 0.160297 0.004908\nvn 2.271200 -6.070858 3.434300\nv -0.052330 0.160905 0.005096\nvn 2.527268 -1.392842 5.246720\nv -0.048520 0.162892 0.004541\nvn -2.615377 -6.355585 -1.302807\nv -0.073962 0.164254 0.004952\nvn 2.957223 -2.761842 6.687409\nv -0.048362 0.164771 0.004978\nvn 1.060422 -1.486174 3.344925\nv -0.046257 0.165173 0.004462\nvn 1.559333 -1.614814 4.207334\nv -0.045061 0.165513 0.004249\nvn -3.611391 -5.600150 -1.514682\nv -0.078339 0.166530 0.005118\nvn -2.990279 -4.924511 -1.445542\nv -0.079758 0.167327 0.005210\nvn -4.835109 -7.449076 -0.834633\nv -0.081766 0.168564 0.005028\nvn -0.764947 2.442230 6.066630\nv -0.056116 0.170759 0.004755\nvn 1.782726 2.053299 6.240659\nv -0.052582 0.170897 0.004363\nvn -0.084964 -0.876900 5.662676\nv -0.056060 0.172793 0.004713\nvn 1.560460 0.668756 7.744385\nv -0.054327 0.172984 0.004545\nvn -0.694473 0.038938 5.465688\nv -0.062519 0.172830 0.004533\nvn -6.507219 -2.983758 3.240222\nv -0.093823 0.176689 0.004939\nvn 0.073937 -2.935188 0.219919\nv -0.056348 0.053322 0.004788\nvn -0.026012 -6.911690 -0.457675\nv -0.036456 0.053263 0.004904\nvn -0.164944 -4.924202 -0.112778\nv -0.034421 0.053252 0.004971\nvn 1.643583 -4.880990 -2.584537\nv 0.034333 0.053148 0.005470\nvn -0.822994 -5.916847 0.457300\nv 0.053245 0.055168 0.005315\nvn -1.496944 -3.283301 1.683338\nv -0.068029 0.055548 0.005520\nvn 0.756656 -5.333113 -5.283840\nv 0.040674 0.056506 0.005619\nvn 1.701518 -1.590968 -0.575523\nv 0.040811 0.057443 0.004930\nvn -2.885646 -1.675763 2.345933\nv 0.024380 0.061899 0.005357\nvn -2.517811 1.388592 0.652360\nv 0.007937 0.062976 0.004925\nvn 3.087760 -4.637342 -4.915913\nv 0.018628 0.062563 0.005344\nvn 6.213320 -3.081931 -0.280885\nv 0.075455 0.065848 0.005081\nvn -2.216325 2.753854 2.021089\nv 0.016225 0.066516 0.005500\nvn -6.802312 -1.782877 3.677659\nv -0.082624 0.069908 0.005532\nvn -7.371632 0.063404 3.089607\nv 0.016111 0.071807 0.005147\nvn 3.513397 -1.502325 -0.679122\nv 0.078927 0.075125 0.004455\nvn 3.604275 -0.153363 1.495804\nv -0.010197 0.075920 0.004903\nvn 0.257175 3.876138 0.940662\nv 0.044452 0.077666 0.004788\nvn -6.210549 0.172415 3.137927\nv -0.084692 0.079531 0.005212\nvn 1.973902 1.683831 0.458352\nv 0.034775 0.078616 0.005170\nvn 1.419781 6.230783 3.650393\nv 0.036378 0.078127 0.005399\nvn 5.035757 -2.183348 -2.298643\nv 0.081345 0.079545 0.005426\nvn -3.393166 4.927967 0.153975\nv 0.056093 0.080711 0.005147\nvn -4.477299 -0.728955 1.933080\nv -0.084818 0.081428 0.004966\nvn 3.908907 -0.726077 5.632699\nv -0.008614 0.082097 0.004678\nvn 3.590111 3.107261 -4.866259\nv 0.032645 0.083779 0.005312\nvn 2.799157 0.074708 4.101190\nv -0.009059 0.084025 0.005037\nvn 3.776331 -1.035960 -0.698084\nv 0.083033 0.084556 0.005455\nvn 1.647617 3.477994 -3.179532\nv 0.030551 0.085411 0.005365\nvn -2.100928 1.667174 0.464488\nv 0.061138 0.085307 0.004978\nvn 3.085417 -0.136749 6.232285\nv -0.008824 0.086000 0.005025\nvn 3.382099 0.261115 6.096220\nv -0.007640 0.087579 0.004447\nvn 4.910917 -0.553815 -0.647670\nv 0.083637 0.088075 0.005137\nvn -6.084171 0.958704 3.170966\nv -0.084583 0.087852 0.005369\nvn -4.471747 -0.403565 2.096318\nv -0.084485 0.089584 0.005547\nvn 2.343851 0.758757 6.526183\nv -0.008867 0.089748 0.004795\nvn -5.899209 0.764029 3.364784\nv -0.084683 0.091929 0.005438\nvn -0.725955 4.730678 5.050555\nv -0.028975 0.092220 0.005246\nvn 1.679173 5.044135 2.762719\nv -0.040275 0.092610 0.005512\nvn 4.619452 2.224415 6.769703\nv -0.010894 0.093890 0.005023\nvn -0.273447 2.373809 5.422056\nv -0.020886 0.093703 0.005007\nvn -4.715065 2.329834 2.864750\nv -0.083928 0.093763 0.005344\nvn -0.251020 2.232519 6.613414\nv -0.018921 0.093935 0.004862\nvn -3.474511 0.292100 1.890405\nv -0.082939 0.096545 0.004979\nvn -6.032302 1.058129 3.198664\nv -0.082665 0.097942 0.005635\nvn -3.840016 0.896433 0.647314\nv 0.066185 0.099609 0.004671\nvn 4.098024 -0.225189 2.802028\nv -0.049654 0.105528 0.005313\nvn -5.052887 4.315971 4.277245\nv -0.078180 0.107413 0.005119\nvn -3.525488 4.689158 6.734214\nv -0.070206 0.115692 0.005247\nvn 2.850290 1.308497 7.332445\nv -0.050588 0.117467 0.005186\nvn -1.952444 3.624275 5.639623\nv -0.062657 0.119451 0.005429\nvn 1.683836 1.048828 5.640924\nv -0.050698 0.119663 0.004966\nvn -2.326341 -1.228982 -5.372914\nv 0.036415 0.121461 0.005213\nvn -1.765449 4.250155 6.500875\nv -0.060146 0.121474 0.005036\nvn 1.011144 1.535607 4.634480\nv -0.052520 0.121404 0.004967\nvn -1.272980 -4.643006 1.216414\nv -0.090438 0.142600 0.005469\nvn 0.619587 -1.251223 -0.544343\nv -0.067213 0.144224 0.005044\nvn 2.006065 -1.800086 4.391025\nv -0.046249 0.145175 0.005341\nvn 0.609663 -3.733967 -2.568081\nv -0.050399 0.143776 0.005351\nvn -0.733823 -4.277087 -4.108040\nv -0.056329 0.145380 0.005198\nvn 0.258754 3.620152 3.074281\nv -0.072290 0.149689 0.005303\nvn -1.220314 5.968790 2.063064\nv -0.070131 0.149800 0.005356\nvn 2.756243 2.822386 8.029776\nv -0.050345 0.151261 0.005351\nvn -1.688080 1.191729 -4.374399\nv -0.099719 0.154949 0.005264\nvn 1.248744 1.287404 6.646850\nv -0.050326 0.155141 0.004626\nvn 0.744021 3.663420 5.406236\nv -0.054287 0.155358 0.005296\nvn 0.910418 1.273574 4.678075\nv -0.052334 0.154993 0.005077\nvn 1.874568 3.080139 4.736656\nv -0.048399 0.167038 0.005369\nvn 1.912690 2.873522 4.835984\nv -0.050445 0.168818 0.004863\nvn 0.298906 4.235663 5.199007\nv -0.060170 0.169177 0.005325\nvn -0.649589 3.635359 3.329636\nv -0.058138 0.169469 0.005506\nvn 0.573842 1.823449 4.445176\nv -0.054344 0.170739 0.004781\nvn 2.806244 5.912059 2.378385\nv -0.074357 0.171287 0.005450\nvn -1.368157 3.010707 5.952410\nv -0.064442 0.170922 0.005088\nvn 0.765543 1.571857 5.568697\nv -0.062200 0.171013 0.005067\nvn -4.316618 -2.037366 1.427927\nv -0.092415 0.174413 0.005283\nvn 2.420932 2.766751 1.565711\nv -0.077485 0.173479 0.005424\nvn -1.352756 -0.037836 4.630800\nv -0.062535 0.174752 0.005064\nvn 1.999544 1.742081 1.390361\nv -0.079343 0.175196 0.005455\nvn 0.419720 4.184983 3.191966\nv -0.087734 0.178859 0.005192\nvn 0.529881 2.523288 0.605310\nv -0.090858 0.179780 0.004964\nvn -0.126489 -5.860512 0.527688\nv -0.037623 0.053275 0.005371\nvn 0.468156 -3.717078 1.156228\nv -0.032477 0.053404 0.005452\nvn 1.861610 -2.758471 -3.614314\nv 0.036484 0.054454 0.005341\nvn -1.055916 -4.818498 0.668992\nv 0.055010 0.054876 0.005034\nvn -0.629485 -5.955930 0.228510\nv 0.051627 0.055350 0.004963\nvn -3.776272 -1.940170 2.628870\nv 0.026115 0.057891 0.005377\nvn -2.663362 -2.655476 1.187947\nv 0.043697 0.061849 0.005526\nvn -2.628670 -0.411528 1.328065\nv -0.083105 0.071065 0.005032\nvn 6.488592 -0.234275 4.010349\nv -0.010444 0.077806 0.005454\nvn 4.444632 1.383276 -3.675385\nv 0.033920 0.081697 0.005616\nvn 1.710511 0.316995 4.662673\nv -0.008991 0.087799 0.005083\nvn 2.848850 -0.461863 4.989185\nv -0.011169 0.091681 0.005265\nvn -0.169937 3.702312 4.693643\nv -0.026879 0.092306 0.005344\nvn -0.622224 3.128103 5.032784\nv -0.022579 0.092388 0.005398\nvn -1.484636 2.640645 5.814872\nv -0.016543 0.093997 0.004982\nvn 5.958018 -0.025372 -0.146758\nv 0.084145 0.094375 0.005371\nvn -1.993854 3.869328 3.886232\nv -0.014600 0.094121 0.005406\nvn 3.322958 1.001973 1.984068\nv -0.049801 0.103494 0.005596\nvn -2.830946 2.143385 3.449047\nv -0.074341 0.111818 0.005682\nvn -2.954172 3.351503 3.960283\nv -0.072122 0.114072 0.005400\nvn 2.879290 0.614169 5.187541\nv -0.049777 0.115649 0.005188\nvn -1.781062 3.588217 5.728848\nv -0.066038 0.117998 0.005447\nvn 3.362471 0.713784 -5.272846\nv 0.038076 0.121442 0.005525\nvn -0.310615 2.397785 4.364448\nv -0.058242 0.121500 0.005294\nvn 0.824371 2.478440 6.466558\nv -0.054197 0.121092 0.005382\nvn 0.154570 2.831308 6.362635\nv -0.056484 0.121224 0.005478\nvn 2.010502 0.607043 3.447323\nv -0.047986 0.147506 0.005478\nvn 3.208210 2.418967 6.861187\nv -0.048469 0.149090 0.005298\nvn 1.823363 1.480508 6.520667\nv -0.052418 0.152871 0.005337\nvn 0.194581 4.141860 -3.525398\nv -0.097839 0.156347 0.005511\nvn 2.109134 -1.447797 5.416488\nv -0.050399 0.163048 0.005319\nvn 1.862430 4.396296 7.581583\nv -0.052379 0.169070 0.005385\nvn -1.102247 4.239209 3.588277\nv -0.086052 0.178831 0.005525\nvn -2.498810 -3.729564 1.971627\nv 0.030020 0.053626 0.005565\nvn 2.528947 -2.967347 -4.387807\nv 0.038078 0.054838 0.005778\nvn -0.205779 -4.979363 -0.241034\nv 0.048127 0.055597 0.005488\nvn -2.581922 -2.583714 1.611756\nv -0.074813 0.059700 0.005504\nvn 1.656374 -1.104998 -2.204682\nv 0.018304 0.061150 0.005679\nvn -3.496964 -0.007160 1.899978\nv -0.084694 0.077837 0.005548\nvn 2.817419 -0.263268 2.643767\nv -0.010300 0.079865 0.005470\nvn 3.380323 -0.686722 3.357976\nv -0.010334 0.081296 0.005675\nvn 0.000000 0.000000 0.000000\nv 0.020014 0.082825 0.005313\nvn 2.515618 0.506729 4.129864\nv -0.011004 0.089697 0.005385\nvn -0.101504 2.948022 4.025519\nv -0.024844 0.092082 0.005518\nvn 0.251951 2.188794 5.520778\nv -0.019002 0.091776 0.005468\nvn -1.873486 3.255863 5.584046\nv -0.017302 0.091998 0.005531\nvn -2.878702 1.461028 2.289230\nv -0.078838 0.106042 0.005487\nvn 1.409521 4.144226 4.048882\nv 0.076287 0.108244 0.005668\nvn 4.220494 0.531640 5.508769\nv -0.049832 0.111403 0.005629\nvn 2.718007 0.455080 4.155392\nv -0.049949 0.113596 0.005571\nvn 0.656611 -1.205914 -4.238926\nv 0.037659 0.117703 0.005766\nvn 2.900611 -0.604702 -5.823693\nv 0.038016 0.119441 0.005668\nvn 1.826776 1.538561 6.547873\nv -0.052257 0.119566 0.005451\nvn -0.324524 -0.812981 -4.717322\nv 0.036998 0.119815 0.005467\nvn -3.070024 -0.741687 -2.685272\nv 0.035524 0.121698 0.005573\nvn 1.903864 2.382573 -1.200782\nv 0.037731 0.123163 0.005783\nvn -1.717205 0.877799 -0.902775\nv 0.035399 0.122978 0.005671\nvn 0.705706 4.328608 3.710901\nv -0.074127 0.149699 0.005537\nvn 1.405287 6.732556 -1.073616\nv -0.085672 0.152322 0.005573\nvn -1.260067 3.395128 1.169146\nv -0.060207 0.154166 0.005928\nvn -1.729663 -4.590068 -0.942881\nv -0.073148 0.163828 0.005313\nvn 1.907399 -2.043088 4.027265\nv -0.050174 0.164397 0.005560\nvn -3.736493 -5.558480 -5.533653\nv -0.077951 0.164850 0.007141\nvn 0.809865 1.615412 2.394194\nv -0.049931 0.167394 0.005632\nvn -0.222713 -0.070486 5.325978\nv -0.060220 0.174625 0.005624\nvn -1.474579 -3.263970 1.576598\nv 0.031306 0.053237 0.006226\nvn -0.403580 -4.899080 0.116783\nv -0.040190 0.053316 0.005779\nvn 0.493083 -6.630604 1.704382\nv -0.034290 0.053365 0.005920\nvn -1.453670 -3.657026 0.605900\nv 0.059677 0.053365 0.005838\nvn -0.675614 -6.569131 2.209950\nv -0.064192 0.054989 0.006497\nvn 0.452537 -4.415585 1.003014\nv -0.026576 0.056267 0.006931\nvn -2.431020 -2.336614 2.106572\nv 0.028028 0.055570 0.005824\nvn 0.032035 -1.033524 0.211958\nv -0.025862 0.055861 0.005873\nvn 2.292828 -2.998737 0.119590\nv -0.022225 0.057521 0.005863\nvn 0.881145 -1.059224 -3.399622\nv 0.039388 0.056180 0.006086\nvn -1.304654 -3.743975 2.591846\nv 0.009014 0.059332 0.005894\nvn 0.395321 -5.537966 1.991070\nv 0.010750 0.059383 0.005822\nvn 1.511780 -1.591015 -0.733776\nv -0.019773 0.059411 0.005662\nvn -2.220368 1.954675 -2.375804\nv 0.043820 0.060626 0.006428\nvn 3.188157 -5.783835 -5.063434\nv 0.018979 0.060259 0.006776\nvn -2.291631 -0.274717 1.816165\nv 0.007781 0.061060 0.005953\nvn -0.000000 0.000000 -0.000000\nv -0.076408 0.061401 0.005877\nvn 5.054818 -4.879392 -5.943317\nv -0.016623 0.060513 0.006972\nvn 3.122836 -1.572441 0.601873\nv 0.042392 0.062427 0.006829\nvn -3.334072 -4.337917 2.412205\nv -0.076131 0.061737 0.007068\nvn 1.883233 -1.305049 -1.242923\nv -0.016581 0.061802 0.006293\nvn -7.041984 1.367304 2.464071\nv 0.008346 0.062436 0.006736\nvn 1.692451 -3.048297 -4.068158\nv 0.020833 0.062454 0.006542\nvn 0.783527 -3.791715 -0.451917\nv 0.022611 0.063284 0.006413\nvn -0.545328 -2.957188 1.116019\nv 0.022820 0.063228 0.005855\nvn 1.192468 -0.715945 -0.848741\nv -0.015923 0.063338 0.005662\nvn 3.594818 -2.324711 -3.709682\nv -0.014538 0.064282 0.006225\nvn -6.158237 4.447304 1.723800\nv 0.008990 0.064510 0.007070\nvn 2.674479 -1.259049 0.102448\nv 0.075065 0.065019 0.005838\nvn -4.520770 -2.823820 2.572261\nv -0.081335 0.068038 0.006509\nvn 4.888252 -0.303052 -0.441002\nv -0.010313 0.074209 0.006952\nvn 3.585951 -1.185037 -1.289628\nv 0.079212 0.074600 0.005838\nvn 7.790779 1.119300 0.734271\nv -0.010586 0.076200 0.006976\nvn -0.045310 5.836250 1.377106\nv 0.045677 0.077425 0.005662\nvn 7.194270 -2.812420 -1.859617\nv 0.081307 0.078241 0.006873\nvn 6.113037 0.195301 4.418406\nv -0.011133 0.081946 0.006857\nvn 2.744008 0.505468 4.059121\nv -0.010387 0.084091 0.005850\nvn -3.284510 3.587297 0.740613\nv 0.021106 0.083595 0.006777\nvn 1.291595 1.585682 -1.991374\nv 0.033004 0.084536 0.005982\nvn 1.763940 2.455841 -2.587177\nv 0.031677 0.085012 0.005583\nvn 4.009060 0.652680 6.569254\nv -0.010591 0.086329 0.005636\nvn -2.274985 5.381495 -0.677453\nv 0.024692 0.085901 0.006798\nvn -5.701768 3.980072 -0.257592\nv 0.061665 0.086193 0.006281\nvn -1.702876 7.291727 -2.198247\nv 0.026556 0.086499 0.006798\nvn -3.355633 1.070259 1.893956\nv -0.084739 0.086675 0.005781\nvn 1.969998 0.572042 4.463895\nv -0.010648 0.087688 0.005542\nvn 5.065629 0.919846 5.467758\nv -0.012454 0.089697 0.006801\nvn 0.534843 3.111374 2.438179\nv -0.034515 0.091035 0.006263\nvn 1.382177 -0.781822 1.299861\nv -0.011930 0.091750 0.005866\nvn 0.284057 1.936904 4.547461\nv -0.020849 0.092288 0.005591\nvn -2.688653 2.316781 3.015692\nv -0.015691 0.092789 0.005765\nvn -1.730603 3.612270 4.582152\nv -0.014464 0.093203 0.006904\nvn 1.439500 2.365922 1.143716\nv -0.043068 0.093299 0.006529\nvn 2.770955 4.760415 2.314311\nv -0.044526 0.093960 0.006897\nvn -1.945570 2.447155 2.448750\nv -0.013823 0.094408 0.005776\nvn 0.323624 2.263360 2.352765\nv -0.012684 0.094987 0.006040\nvn -5.529896 -0.029932 3.456955\nv -0.082216 0.095736 0.006583\nvn 5.834384 2.118623 3.163584\nv -0.049078 0.099671 0.006329\nvn -8.039900 2.785925 2.597452\nv 0.066615 0.099507 0.006782\nvn 5.825410 2.485954 2.903319\nv 0.082137 0.101582 0.006712\nvn 3.398367 1.409388 1.533885\nv 0.082450 0.101878 0.005815\nvn 3.404521 0.857336 1.913243\nv -0.049523 0.102425 0.005616\nvn -3.387197 1.272512 1.642373\nv 0.067380 0.102597 0.005858\nvn 4.769442 4.526670 4.388013\nv 0.080238 0.104293 0.007057\nvn 7.325602 1.438176 6.302927\nv -0.050767 0.103992 0.006891\nvn 0.000000 -0.000000 0.000000\nv 0.069302 0.106275 0.005688\nvn -1.691031 1.711051 1.694064\nv -0.077384 0.107413 0.005999\nvn 5.160250 -0.288800 4.654492\nv -0.049573 0.107937 0.005625\nvn 2.066712 3.235753 3.146407\nv 0.077929 0.107001 0.006168\nvn -4.581071 4.650106 6.002025\nv -0.076013 0.107736 0.006922\nvn -1.277202 2.686824 2.541205\nv 0.071802 0.108181 0.005860\nvn 3.504473 0.207566 3.521053\nv -0.049547 0.109600 0.005630\nvn -1.462254 4.078481 5.669737\nv 0.072129 0.107610 0.006414\nvn -1.877272 2.791170 3.671981\nv -0.070957 0.114396 0.005902\nvn -1.415834 2.660213 3.971827\nv -0.069817 0.114610 0.006250\nvn -0.974211 1.334639 2.502896\nv -0.068669 0.116215 0.005589\nvn 2.847333 -1.107727 -5.703468\nv 0.038417 0.115729 0.006784\nvn -2.582968 4.352614 7.420941\nv -0.067694 0.115477 0.006342\nvn 1.337876 0.764531 3.687245\nv -0.051899 0.117772 0.005657\nvn -1.123409 1.950300 3.302641\nv -0.066179 0.116993 0.006020\nvn -0.659906 1.639662 2.419666\nv -0.064760 0.118144 0.005741\nvn 3.945514 -0.935482 -4.414739\nv 0.038648 0.117650 0.006596\nvn -1.037950 1.967153 3.299491\nv -0.061156 0.119904 0.005755\nvn 0.940943 1.661441 5.663733\nv -0.054043 0.119909 0.005748\nvn -3.884765 -0.777890 -0.778671\nv 0.035188 0.121420 0.006418\nvn -4.378847 2.281356 0.536880\nv 0.035348 0.122879 0.006457\nvn 3.392646 3.934430 0.095218\nv 0.038121 0.123067 0.006956\nvn -1.415796 4.957235 2.264535\nv 0.036277 0.123579 0.006906\nvn -0.694637 -5.799603 1.275723\nv -0.084301 0.141215 0.007009\nvn 0.498163 -5.367063 -0.501127\nv -0.052470 0.142826 0.006764\nvn -1.079980 -4.777928 0.939773\nv -0.091826 0.143047 0.006684\nvn 2.246737 -3.669604 0.413082\nv -0.050392 0.143192 0.006718\nvn 1.540736 -5.716469 0.619346\nv -0.070175 0.143523 0.007004\nvn 1.062744 -6.690573 -0.522281\nv -0.068048 0.143957 0.007029\nvn -0.582625 -4.477454 -3.786071\nv -0.052479 0.143752 0.005627\nvn 2.806304 -0.862777 4.771125\nv -0.048587 0.145380 0.006292\nvn -0.606016 -2.614439 -2.954162\nv -0.055543 0.144399 0.005972\nvn 1.126018 0.992462 2.569757\nv -0.049844 0.149423 0.005679\nvn -1.016860 6.583353 0.765645\nv -0.072004 0.149117 0.006909\nvn 1.101106 1.456045 3.518681\nv -0.052516 0.151601 0.005725\nvn 1.025119 7.563073 2.737806\nv -0.079748 0.151093 0.006775\nvn 1.114343 5.280561 2.210324\nv -0.081948 0.151423 0.006871\nvn -1.436965 6.554755 0.194042\nv -0.064273 0.152461 0.006983\nvn 1.577335 1.306825 5.538411\nv -0.053746 0.153176 0.005594\nvn 0.000000 0.000000 0.000000\nv -0.063721 0.152692 0.005779\nvn 1.928044 5.596344 -0.138289\nv -0.087995 0.153057 0.006977\nvn -0.655458 3.926608 2.230997\nv -0.062554 0.153012 0.007031\nvn -0.566013 4.240807 4.629995\nv -0.060451 0.153361 0.006929\nvn -3.419561 -0.936666 -4.006660\nv -0.100839 0.154844 0.005870\nvn -0.885103 3.380772 -5.335427\nv -0.099661 0.156338 0.005608\nvn 0.824159 3.086435 -1.885297\nv -0.096444 0.156271 0.005789\nvn 1.971739 -4.065988 4.523262\nv -0.054324 0.161185 0.006587\nvn -1.029662 -3.800213 -0.703965\nv -0.067655 0.161931 0.005869\nvn -1.220634 -3.632242 -1.042347\nv -0.074500 0.164189 0.006458\nvn -0.000000 0.000000 -0.000000\nv -0.077523 0.165804 0.005752\nvn 0.847257 4.260689 5.099939\nv -0.062633 0.169379 0.005699\nvn 1.154680 3.063038 5.017166\nv -0.054549 0.168609 0.006200\nvn -2.150928 -3.223974 -0.891722\nv -0.083224 0.169496 0.005753\nvn -3.204010 -4.293030 -2.458630\nv -0.082299 0.168441 0.006858\nvn -0.268723 2.376091 2.945595\nv -0.064294 0.169698 0.005614\nvn 0.718274 3.407845 4.850091\nv -0.054496 0.169618 0.005575\nvn -0.386380 3.281275 3.663920\nv -0.056173 0.169684 0.005687\nvn -2.578650 -6.611976 -3.177539\nv -0.085966 0.170637 0.006998\nvn -1.287481 -6.155648 0.573438\nv -0.089578 0.171314 0.006894\nvn -1.308806 -5.474359 -1.750409\nv -0.087954 0.171090 0.006954\nvn 1.488951 2.323677 1.084648\nv -0.075473 0.171692 0.005805\nvn 4.461791 5.748598 3.141932\nv -0.077960 0.173033 0.006863\nvn 5.462148 5.141746 4.645271\nv -0.079948 0.174835 0.006875\nvn -5.418035 -1.861605 1.638870\nv -0.093331 0.177056 0.006700\nvn 3.528967 2.356748 1.689902\nv -0.080751 0.176469 0.006457\nvn 2.773521 1.916793 1.258069\nv -0.081344 0.177704 0.005838\nvn -1.758522 -7.040494 2.469759\nv 0.032539 0.053084 0.006820\nvn -0.231236 -5.758650 0.964976\nv -0.042661 0.053592 0.007062\nvn -0.005723 -3.928739 0.235095\nv -0.038673 0.053288 0.006012\nvn -0.130906 -3.872615 0.699733\nv -0.036573 0.053290 0.006012\nvn 0.264174 -4.757652 1.192652\nv -0.035523 0.053318 0.006012\nvn -3.352232 -4.815274 3.750124\nv 0.030888 0.053904 0.006776\nvn 1.907055 -4.655400 -3.091683\nv 0.036640 0.053627 0.006277\nvn -0.646749 -5.509988 2.172458\nv -0.057524 0.053935 0.006829\nvn -0.301737 -3.669630 1.495877\nv -0.056010 0.053879 0.006948\nvn -0.238851 -6.542238 2.091330\nv -0.054365 0.053746 0.007006\nvn -0.025260 -7.667712 1.266082\nv -0.048327 0.053629 0.006731\nvn -0.019814 -3.859936 0.583498\nv -0.046221 0.053663 0.007027\nvn 1.255369 -5.754390 3.729402\nv -0.032373 0.054113 0.006722\nvn -3.212586 -8.258821 1.263205\nv 0.058229 0.054309 0.006884\nvn -1.542422 -6.316500 2.572289\nv -0.060321 0.054630 0.006966\nvn 1.256738 -3.770339 3.002355\nv -0.029135 0.054919 0.006437\nvn -0.965627 -4.869365 0.398618\nv 0.056458 0.054811 0.006855\nvn 2.025589 -5.425562 -4.623457\nv 0.038696 0.054108 0.006899\nvn -0.873170 -5.911931 0.336873\nv 0.054278 0.055117 0.006596\nvn -1.554124 -6.258121 2.516443\nv -0.065973 0.055142 0.006187\nvn 0.628353 -5.302922 -0.352379\nv -0.024648 0.056562 0.006988\nvn -0.081328 -0.928205 -0.987448\nv 0.040225 0.056582 0.006077\nvn -0.690046 -0.428006 0.603728\nv 0.027477 0.056509 0.006062\nvn -1.250439 -3.501120 1.466379\nv -0.069823 0.056952 0.006523\nvn -1.919313 -4.172849 1.864681\nv -0.071223 0.057227 0.006145\nvn 2.825950 -6.094430 -2.208556\nv -0.022783 0.056899 0.007011\nvn -5.326243 -3.284344 0.652157\nv 0.026088 0.060070 0.006929\nvn 3.392557 -3.650965 -3.956945\nv -0.018496 0.059676 0.006488\nvn 4.472697 -3.973883 -0.082464\nv 0.071813 0.060194 0.007135\nvn 1.123723 -2.358633 -3.913278\nv 0.020894 0.060397 0.007040\nvn -2.555441 -4.959127 -0.073067\nv 0.024875 0.062548 0.006959\nvn 1.333465 -1.509406 -3.324635\nv 0.019423 0.061921 0.006286\nvn -5.965930 -3.656996 3.778022\nv -0.078446 0.064145 0.006921\nvn -5.788263 -4.021207 3.636045\nv -0.079712 0.066319 0.006695\nvn 3.997815 -2.434237 -3.426588\nv -0.012836 0.066172 0.006490\nvn -1.817889 4.502323 2.232444\nv 0.010902 0.066041 0.007080\nvn 5.465046 -2.020377 -3.542700\nv -0.012182 0.067746 0.006390\nvn 4.353179 -2.393413 -0.538464\nv 0.076706 0.067794 0.006888\nvn -6.291953 0.238630 4.450653\nv 0.017175 0.068107 0.006750\nvn 3.431188 -1.507880 -1.188290\nv -0.011908 0.069175 0.006012\nvn 5.340122 -2.587084 -0.863754\nv 0.077272 0.068878 0.006946\nvn 4.518721 -1.936534 -0.892883\nv 0.077860 0.070322 0.006581\nvn -5.753205 -1.978527 3.330445\nv -0.082194 0.072280 0.006982\nvn -6.255466 0.158646 3.049315\nv 0.016877 0.072484 0.006991\nvn -6.518330 -2.988721 3.465359\nv -0.083243 0.074343 0.006935\nvn 5.204763 -2.403215 -1.707737\nv 0.080293 0.076077 0.006969\nvn -5.999499 0.061277 3.558002\nv -0.083874 0.077801 0.006966\nvn 3.353455 -1.614808 -1.387926\nv 0.080598 0.077225 0.006012\nvn -4.265580 1.695364 1.976131\nv 0.017514 0.077625 0.006361\nvn 2.762742 5.451964 1.988668\nv 0.036302 0.077542 0.006731\nvn -0.078567 7.196611 3.416052\nv 0.038576 0.077435 0.006788\nvn -1.633662 5.707151 0.757942\nv 0.050170 0.077774 0.006886\nvn 5.785120 0.817632 -3.542863\nv 0.034958 0.079912 0.006721\nvn -2.987917 5.161313 0.523307\nv 0.054322 0.079495 0.006781\nvn -6.588691 3.085686 3.220739\nv 0.018687 0.079916 0.007013\nvn 5.558151 -1.856815 -1.173262\nv 0.081927 0.080141 0.006645\nvn -2.839669 4.119333 0.343090\nv 0.055924 0.080560 0.006975\nvn -2.480641 3.150498 0.282929\nv 0.056515 0.081005 0.006888\nvn -8.303299 -2.602543 4.578293\nv -0.084132 0.081773 0.006816\nvn 5.797420 4.292387 -5.838211\nv 0.034492 0.083824 0.006916\nvn -4.968404 4.900847 0.246862\nv 0.060015 0.084123 0.006777\nvn 4.479333 7.170347 -6.785533\nv 0.032627 0.085818 0.007029\nvn 2.771662 0.403428 2.576148\nv -0.011438 0.085633 0.006271\nvn -0.036407 4.343262 -2.362113\nv 0.029117 0.086554 0.006445\nvn 1.287352 4.605763 -3.501153\nv 0.030878 0.086375 0.006695\nvn -6.500249 0.740955 4.298569\nv -0.083753 0.087784 0.006836\nvn 5.129804 0.908491 4.495592\nv -0.012269 0.088010 0.006707\nvn -5.287938 0.802675 2.915731\nv -0.083897 0.089601 0.006806\nvn 4.936632 -0.528544 -0.458727\nv 0.083810 0.088009 0.006711\nvn -4.684336 1.720812 0.261576\nv 0.063161 0.088998 0.005896\nvn -2.517385 4.644195 6.568511\nv -0.018623 0.089757 0.006573\nvn 0.593475 2.410314 5.437797\nv -0.020930 0.090999 0.006039\nvn 4.310595 0.546265 5.742063\nv -0.012653 0.091819 0.007017\nvn -0.679450 2.700955 2.858474\nv -0.030056 0.091108 0.006061\nvn 0.131645 3.207706 5.027957\nv -0.026973 0.091060 0.006187\nvn -0.112038 3.554879 6.016514\nv -0.024486 0.091108 0.006177\nvn -3.213874 3.727276 3.055138\nv -0.016359 0.091462 0.006672\nvn 1.349222 7.250853 5.069359\nv -0.036588 0.091346 0.006564\nvn 0.097187 2.894159 5.210281\nv -0.022722 0.091122 0.006210\nvn 1.874129 0.741641 2.118674\nv -0.011826 0.093675 0.006012\nvn 4.944570 0.215860 0.367031\nv 0.084116 0.093710 0.006794\nvn -5.263159 2.884510 3.640110\nv -0.082462 0.094355 0.007019\nvn 5.405599 5.983914 3.816282\nv -0.046681 0.095371 0.006953\nvn 7.516432 1.187658 1.997640\nv 0.083841 0.096000 0.007095\nvn 7.298068 1.986557 2.281245\nv 0.083553 0.097811 0.006701\nvn 4.469311 2.845235 2.736969\nv -0.048398 0.097703 0.006668\nvn -5.729834 1.509555 1.227475\nv 0.066157 0.097957 0.006971\nvn -4.483087 2.434289 3.092443\nv -0.081433 0.099660 0.006547\nvn -6.497231 3.034146 3.349792\nv 0.067754 0.101826 0.007100\nvn 3.795080 2.329468 2.200386\nv 0.081450 0.103364 0.006344\nvn -5.878585 3.413343 4.147439\nv 0.068280 0.103480 0.006665\nvn -4.368453 2.605879 4.677145\nv -0.077867 0.105862 0.006675\nvn 2.006886 2.436359 2.416475\nv 0.079639 0.105400 0.006542\nvn -3.080447 4.671517 5.303438\nv 0.070156 0.105795 0.006954\nvn 2.421790 0.132205 3.151952\nv -0.050462 0.107829 0.006474\nvn -0.653834 0.330806 1.042371\nv 0.071052 0.107601 0.006007\nvn 1.484005 4.737105 4.851739\nv 0.075995 0.107300 0.006723\nvn 0.079806 3.372932 3.638149\nv 0.073852 0.107822 0.006508\nvn 3.737480 0.668726 5.783744\nv -0.050539 0.109765 0.006428\nvn -3.804895 3.389059 6.065013\nv -0.074119 0.109750 0.006831\nvn -0.110554 -0.333981 -3.593454\nv 0.036869 0.113341 0.006300\nvn 2.579846 0.568845 5.351161\nv -0.050882 0.113071 0.006184\nvn 3.303007 -0.460335 -5.906011\nv 0.038355 0.113628 0.006906\nvn -1.456601 -0.095228 -6.110978\nv 0.036429 0.115574 0.006336\nvn 2.390129 1.014568 5.374125\nv -0.051156 0.115375 0.005987\nvn 2.015813 1.623150 7.539419\nv -0.052513 0.115571 0.006380\nvn 1.449461 1.236594 5.681087\nv -0.052992 0.117650 0.006032\nvn -1.679930 3.961541 6.722993\nv -0.064240 0.117311 0.006414\nvn -1.055498 -0.911103 -4.665943\nv 0.036865 0.118331 0.005791\nvn 0.894528 1.142060 4.776383\nv -0.054043 0.118846 0.006015\nvn -1.127031 1.867677 3.340486\nv -0.062298 0.118700 0.006036\nvn -3.670485 -0.762140 -4.276083\nv 0.035660 0.119533 0.006122\nvn -5.346703 0.115541 -1.007428\nv 0.035287 0.119544 0.006820\nvn -0.966369 3.099788 6.169358\nv -0.060122 0.119258 0.006319\nvn 0.666708 1.824797 5.669267\nv -0.056138 0.119290 0.006182\nvn -1.384419 -6.737977 1.215114\nv -0.085922 0.141551 0.006840\nvn -2.404598 -7.387529 1.701306\nv -0.089578 0.142722 0.007036\nvn -2.424927 -9.388524 2.310785\nv -0.093942 0.143786 0.007053\nvn -0.880280 -4.685979 -2.881512\nv -0.054384 0.143045 0.006839\nvn -0.676987 -4.868312 -4.949640\nv -0.058309 0.144607 0.006267\nvn -2.407866 -7.129261 2.469146\nv -0.099477 0.145755 0.006809\nvn -1.689001 -3.379662 1.306587\nv -0.097861 0.145016 0.007045\nvn 0.281173 -5.457546 -2.051576\nv -0.064149 0.144652 0.006821\nvn -1.144418 -3.829355 2.336734\nv -0.102861 0.145995 0.006385\nvn -0.458735 -4.645685 1.707507\nv -0.101595 0.146062 0.006500\nvn -2.987439 2.289710 0.461872\nv -0.103119 0.148349 0.006427\nvn 2.650537 2.503838 5.934911\nv -0.050718 0.148868 0.006358\nvn 0.067954 3.719725 0.870488\nv -0.074243 0.148964 0.006832\nvn -5.937369 4.954817 0.323269\nv -0.102053 0.149455 0.007019\nvn 1.063929 5.009668 2.078146\nv -0.075953 0.149181 0.006734\nvn -6.523298 3.309349 -0.545355\nv -0.099959 0.151211 0.006898\nvn 1.514168 2.226953 4.187058\nv -0.052605 0.150687 0.006263\nvn 1.110357 2.595633 2.735304\nv -0.078278 0.150691 0.006554\nvn -3.170046 7.523386 0.930188\nv -0.066345 0.151646 0.007011\nvn 2.386714 3.752202 7.777472\nv -0.054495 0.151150 0.006683\nvn 0.750504 2.874810 -0.180038\nv -0.084573 0.152138 0.005710\nvn 1.553205 4.687707 0.106045\nv -0.084623 0.152173 0.006617\nvn 1.400667 1.152205 4.561218\nv -0.055136 0.153011 0.006005\nvn 1.687828 3.512350 -0.808055\nv -0.091173 0.153972 0.006012\nvn 1.415715 0.857965 4.611039\nv -0.054991 0.154400 0.005939\nvn 0.455956 3.512076 5.447361\nv -0.056328 0.154473 0.006178\nvn 2.924314 6.212837 -1.199595\nv -0.091856 0.154613 0.006946\nvn -0.527589 4.153634 3.489499\nv -0.058150 0.154343 0.006392\nvn -2.084433 0.392743 -2.969365\nv -0.101083 0.156150 0.005923\nvn -1.761749 3.221606 -5.011963\nv -0.101437 0.157093 0.006566\nvn 0.874076 5.047751 -2.808110\nv -0.099560 0.157340 0.006822\nvn 1.293460 5.316009 -2.089699\nv -0.097806 0.156966 0.006807\nvn 0.773137 -5.408564 2.123808\nv -0.058020 0.160377 0.006944\nvn -1.514593 -5.722861 -0.534374\nv -0.065940 0.161150 0.007058\nvn 1.447760 -1.101964 2.061171\nv -0.052858 0.161505 0.006160\nvn -1.101424 -3.781514 -0.695809\nv -0.068073 0.162022 0.006012\nvn 3.802890 -2.729803 7.446901\nv -0.052455 0.163118 0.006249\nvn -2.614826 -8.495430 -1.348003\nv -0.070222 0.162491 0.006987\nvn -1.993101 -5.562851 -1.035046\nv -0.071869 0.163100 0.006951\nvn 2.537902 -1.410148 5.874723\nv -0.052410 0.164785 0.007026\nvn -0.968635 -6.004358 -3.028267\nv -0.076092 0.164450 0.006802\nvn 1.987636 -1.528543 5.110486\nv -0.050694 0.165057 0.006385\nvn -2.186861 -2.841164 -1.627903\nv -0.078681 0.166231 0.006315\nvn 1.888282 2.535815 5.998484\nv -0.050849 0.166702 0.006422\nvn 1.340241 1.750163 5.331188\nv -0.052326 0.166696 0.006886\nvn 0.484796 4.633087 3.621801\nv -0.060371 0.168091 0.006632\nvn 0.814967 2.081160 3.303131\nv -0.053256 0.168153 0.006088\nvn 1.275527 6.172501 2.369607\nv -0.064168 0.169004 0.006618\nvn -0.329740 4.073716 4.311631\nv -0.058089 0.168558 0.006531\nvn 0.204844 3.547643 4.757249\nv -0.056119 0.168830 0.006344\nvn 1.842872 7.655889 0.179347\nv -0.065892 0.169370 0.006964\nvn -3.262977 -5.279115 -2.955554\nv -0.083820 0.169331 0.007224\nvn 1.014943 3.815468 -0.638442\nv -0.067942 0.169767 0.006275\nvn 0.872647 5.874496 0.150969\nv -0.069975 0.170390 0.007007\nvn 2.316819 6.501724 2.501969\nv -0.087806 0.178280 0.006765\nvn -0.998454 4.847266 2.903847\nv -0.085772 0.178180 0.006734\nvn -4.112205 1.274529 1.057760\nv -0.093743 0.178857 0.006933\nvn 3.502908 7.015648 0.013125\nv -0.089469 0.179391 0.006900\nvn 0.179463 -4.917020 0.023914\nv 0.034538 0.052922 0.007043\nvn -0.067508 -7.815079 0.443299\nv 0.062069 0.053101 0.006736\nvn -0.276130 -5.520748 1.717531\nv -0.040974 0.053538 0.007019\nvn 0.226763 -6.361348 2.511788\nv -0.038690 0.053500 0.006952\nvn 0.180124 -6.142623 3.051282\nv -0.036595 0.053676 0.007123\nvn 0.880000 -4.991844 3.136366\nv -0.034727 0.053886 0.007103\nvn 0.780606 -5.745701 -0.758373\nv 0.036163 0.053088 0.007285\nvn -1.363656 -4.633676 0.989642\nv 0.060202 0.053310 0.006625\nvn 1.119106 -4.824742 -0.085110\nv 0.063884 0.053291 0.007325\nvn -0.244821 -4.643017 1.481213\nv -0.052545 0.053714 0.007312\nvn 0.135782 -5.669052 1.358034\nv -0.050416 0.053704 0.007220\nvn -0.060459 -6.547976 1.703415\nv -0.044489 0.053689 0.007257\nvn 1.917089 -3.448451 -0.166162\nv 0.064928 0.053707 0.007207\nvn 1.706473 -4.543180 3.450557\nv -0.030900 0.054426 0.006636\nvn -1.594988 -4.607576 0.636813\nv 0.059772 0.053652 0.007351\nvn 5.070627 -5.996440 -1.048972\nv 0.066019 0.054520 0.007210\nvn -2.851869 -3.084475 2.699584\nv 0.029402 0.055101 0.006713\nvn 1.279854 -4.601906 -3.413568\nv 0.040531 0.054612 0.007039\nvn -2.531764 -5.796111 2.947834\nv -0.068094 0.056404 0.006888\nvn 1.412570 -5.600362 3.577685\nv -0.028528 0.055970 0.007306\nvn -4.054168 -4.232008 3.664350\nv 0.028719 0.056150 0.007088\nvn 0.347140 -6.807713 -3.630050\nv 0.042570 0.055079 0.006909\nvn -0.139668 -2.466582 -1.573556\nv 0.043052 0.055312 0.006363\nvn 0.146692 -5.444737 -2.175661\nv 0.043927 0.055372 0.006363\nvn 0.307556 -7.827986 -1.382510\nv 0.046199 0.055472 0.006751\nvn -0.091502 -5.972331 -0.455777\nv 0.047943 0.055530 0.006640\nvn 5.432553 -5.745605 -1.037267\nv 0.067969 0.056473 0.007046\nvn -4.868758 -3.716201 1.117113\nv 0.026951 0.058310 0.006994\nvn -3.729599 -4.919262 3.234949\nv -0.072222 0.058344 0.007019\nvn 1.497575 -3.431139 -1.192906\nv -0.022179 0.057356 0.006707\nvn 1.735825 -4.632640 -3.113754\nv -0.020739 0.057778 0.006909\nvn 4.005990 -4.440874 -0.188560\nv 0.069960 0.058440 0.007133\nvn 2.381359 -4.368511 -4.533113\nv -0.019036 0.058250 0.007217\nvn -4.114839 -4.647668 3.189283\nv -0.074381 0.060311 0.006998\nvn -4.832345 -4.082196 3.127452\nv 0.008900 0.060412 0.006929\nvn -0.731287 -4.496779 1.479330\nv 0.010675 0.059816 0.007018\nvn 0.109805 -6.926304 -0.300201\nv 0.014718 0.059678 0.007198\nvn 0.763569 -5.616296 -1.587796\nv 0.016846 0.059814 0.006793\nvn 0.437954 1.036537 -1.057131\nv 0.042620 0.060364 0.006842\nvn -1.388799 -0.153848 -4.328806\nv 0.024805 0.060866 0.007210\nvn -2.585394 -2.476005 1.660399\nv -0.077339 0.062649 0.006998\nvn 3.393443 -3.350260 -6.075652\nv -0.014863 0.062377 0.006985\nvn 5.795486 -3.923081 -0.054650\nv 0.073314 0.062180 0.007238\nvn -2.430793 0.154018 0.111088\nv 0.043611 0.062295 0.007121\nvn 6.868126 -3.981375 -0.021279\nv 0.074495 0.064016 0.007213\nvn 1.209695 -2.986994 -4.501030\nv 0.022535 0.062534 0.007341\nvn -1.861567 2.545561 1.041226\nv 0.009666 0.065393 0.007015\nvn 0.348034 5.743225 1.280292\nv 0.014723 0.066170 0.007049\nvn -2.026938 4.642613 3.335890\nv 0.016862 0.066021 0.007111\nvn -0.289910 5.560955 1.439350\nv 0.012735 0.066463 0.007111\nvn 4.322927 -2.469862 -0.411037\nv 0.075804 0.066148 0.007062\nvn 7.592761 -1.919459 -3.980644\nv -0.010911 0.069886 0.007304\nvn -5.953281 -0.775911 3.446700\nv 0.017011 0.070176 0.007145\nvn 7.167174 -3.036535 -1.760669\nv 0.078624 0.071750 0.007215\nvn 3.851082 -0.079683 -0.971286\nv -0.010606 0.072151 0.007084\nvn -2.355467 -1.186620 1.417962\nv -0.082580 0.073647 0.007393\nvn 6.196668 -2.346728 -2.216401\nv 0.079549 0.074312 0.006957\nvn -4.212968 -0.731936 2.441968\nv -0.083754 0.075699 0.007033\nvn -6.941058 1.890641 3.393803\nv 0.017288 0.076198 0.007041\nvn 0.249162 5.633552 2.019088\nv 0.040003 0.077413 0.006875\nvn 0.346732 7.684525 2.158770\nv 0.044013 0.077217 0.006729\nvn -1.027382 5.851777 0.752147\nv 0.048257 0.077338 0.007036\nvn 4.828606 0.768626 0.931469\nv -0.010905 0.077969 0.006930\nvn 4.102252 2.542208 -0.714946\nv 0.035230 0.078232 0.007086\nvn -2.212236 5.530203 0.639790\nv 0.052101 0.078428 0.007276\nvn 5.499930 0.148383 2.161417\nv -0.011136 0.079900 0.007001\nvn -1.666462 3.607454 0.376627\nv 0.053361 0.078943 0.007146\nvn -5.778345 -0.015620 3.857062\nv -0.083546 0.079936 0.007207\nvn 2.976257 0.459842 -2.613877\nv 0.034759 0.081712 0.006598\nvn -3.992841 2.273274 1.909437\nv 0.019390 0.081089 0.007228\nvn 5.642223 -1.671435 -1.007580\nv 0.082574 0.081892 0.006984\nvn -2.662845 2.979475 0.445644\nv 0.058111 0.082302 0.007116\nvn -4.568831 3.437502 1.670337\nv 0.020147 0.082222 0.007246\nvn -2.481117 -0.348648 1.354456\nv -0.084945 0.083700 0.006713\nvn 5.260018 1.379691 4.028829\nv -0.011374 0.083889 0.006812\nvn -4.761311 6.309501 0.568218\nv 0.022306 0.084459 0.007434\nvn -5.015939 0.055689 2.930676\nv -0.084588 0.083972 0.007270\nvn -1.918642 3.471474 -0.084183\nv 0.023069 0.085001 0.006677\nvn -7.408741 2.189442 4.556643\nv -0.084229 0.085989 0.007043\nvn -4.764800 3.627911 0.071905\nv 0.061203 0.085494 0.007202\nvn 6.859137 -1.239246 -0.608174\nv 0.083449 0.085738 0.006888\nvn 4.842760 0.757758 3.182255\nv -0.012234 0.086069 0.007331\nvn -6.222064 3.135854 0.145754\nv 0.062869 0.088173 0.007055\nvn 0.506716 2.006165 4.533509\nv -0.020769 0.089840 0.006554\nvn -2.813854 3.151206 2.545315\nv -0.017090 0.090297 0.007350\nvn 0.205706 3.117868 6.232778\nv -0.026627 0.089875 0.006758\nvn 0.436585 2.966319 2.643291\nv -0.032720 0.090023 0.007231\nvn 0.570887 6.281700 7.518570\nv -0.030812 0.089827 0.007073\nvn -0.136550 3.028816 3.936911\nv -0.028903 0.090998 0.006335\nvn -0.040720 2.329858 4.415716\nv -0.024571 0.089973 0.006808\nvn -5.559393 1.331284 3.857254\nv -0.083816 0.091632 0.006978\nvn 5.930212 0.059369 0.357517\nv 0.084145 0.091828 0.007516\nvn 0.574389 4.051484 2.770067\nv -0.039100 0.091445 0.006925\nvn -5.634784 1.980584 0.554537\nv 0.064489 0.092386 0.006888\nvn 2.444296 6.283974 4.241321\nv -0.040437 0.091652 0.007195\nvn -2.313322 2.252679 2.145292\nv -0.015341 0.092292 0.007230\nvn -3.058982 1.534079 2.060774\nv -0.083224 0.093442 0.006679\nvn 0.503371 3.005496 5.029589\nv -0.012929 0.093879 0.006805\nvn -5.688921 1.689927 0.836384\nv 0.065512 0.095625 0.006844\nvn -4.451292 1.482641 3.545923\nv -0.081686 0.097882 0.007241\nvn 2.637614 0.975675 0.970114\nv 0.083310 0.099100 0.006363\nvn -2.474125 1.049550 1.222794\nv 0.067001 0.100941 0.006576\nvn -5.464851 3.913424 4.278830\nv -0.079706 0.101610 0.007006\nvn -5.957776 3.090752 5.853895\nv -0.078215 0.103718 0.007152\nvn 4.892850 0.172973 4.887652\nv -0.050799 0.106042 0.006787\nvn 3.053096 5.144348 5.273304\nv 0.078191 0.105778 0.007152\nvn 0.000000 0.000000 -0.000000\nv -0.075073 0.109425 0.006327\nvn -1.758123 1.801070 3.056418\nv -0.073655 0.111416 0.006394\nvn 2.586614 -0.340525 -4.051618\nv 0.038619 0.111684 0.007167\nvn -0.444975 -1.124848 -7.473228\nv 0.036508 0.111485 0.006672\nvn -3.512976 3.730580 7.291341\nv -0.072110 0.111727 0.006966\nvn -1.670652 1.958866 2.987611\nv -0.071590 0.113319 0.006393\nvn -2.015947 3.191887 5.873963\nv -0.070220 0.113483 0.006802\nvn -1.378938 2.739600 5.145273\nv -0.066107 0.115541 0.006859\nvn -2.181857 -1.369883 -4.913382\nv 0.036112 0.117690 0.006254\nvn 1.130905 1.104209 5.785432\nv -0.054291 0.117369 0.006360\nvn -1.426208 3.374575 7.058735\nv -0.062667 0.117342 0.006692\nvn -8.178452 0.722915 -0.816014\nv 0.035166 0.117650 0.007308\nvn 0.794810 1.145444 4.796280\nv -0.056276 0.117825 0.006632\nvn 0.118767 2.234634 5.547551\nv -0.058216 0.119196 0.006414\nvn 3.420885 -0.036182 -3.561847\nv 0.039272 0.119679 0.006698\nvn 4.006570 2.126650 -2.174612\nv 0.039152 0.121779 0.006962\nvn 0.185684 -4.885304 0.952056\nv -0.081778 0.141091 0.007228\nvn 0.765473 -5.770202 1.320839\nv -0.077599 0.141330 0.007063\nvn 2.187947 -7.513087 1.484200\nv -0.076108 0.141763 0.007224\nvn -2.329636 -7.444941 1.406084\nv -0.087804 0.141990 0.007192\nvn 1.391298 -5.675916 1.187517\nv -0.074285 0.142284 0.007042\nvn 1.981983 -6.508296 1.501148\nv -0.072303 0.142798 0.007084\nvn -0.698482 -5.548162 -3.159072\nv -0.056181 0.143159 0.007094\nvn 0.923507 -5.466904 -1.517957\nv -0.066046 0.144418 0.007145\nvn -0.502706 -3.743014 -3.256959\nv -0.060178 0.144465 0.006631\nvn 4.029680 0.559465 5.168010\nv -0.050288 0.145180 0.007185\nvn 0.218685 -5.209047 -2.645515\nv -0.062510 0.144803 0.006571\nvn -5.206443 -0.385063 2.831170\nv -0.103359 0.147345 0.007034\nvn 0.567020 0.107604 0.852352\nv -0.048648 0.146875 0.006189\nvn 2.023417 1.052989 4.466902\nv -0.050348 0.147291 0.006787\nvn -2.663373 6.344495 -0.720201\nv -0.070164 0.149793 0.007213\nvn 2.548311 2.763293 5.842730\nv -0.052402 0.149397 0.006937\nvn 3.037320 4.758389 2.164840\nv -0.077712 0.149691 0.006983\nvn -2.578065 6.412836 -0.395680\nv -0.068266 0.150689 0.007082\nvn 2.037525 5.815683 2.622042\nv -0.083827 0.151740 0.007386\nvn 1.342168 2.377780 5.315397\nv -0.056008 0.151210 0.007042\nvn -4.868803 -2.538522 -1.075942\nv -0.099981 0.153123 0.006822\nvn 1.448075 1.256228 5.621456\nv -0.056091 0.153283 0.006309\nvn 2.487310 7.198150 1.094745\nv -0.086194 0.152554 0.007180\nvn 2.641942 6.363850 -0.872031\nv -0.090030 0.153797 0.007144\nvn -5.056690 -3.488978 -3.669664\nv -0.101710 0.154970 0.006892\nvn 2.490989 5.349380 -1.013548\nv -0.093584 0.155407 0.007062\nvn 2.970057 8.078787 -2.148487\nv -0.096117 0.156494 0.007167\nvn 1.481374 3.587089 -0.941587\nv -0.094909 0.155950 0.006824\nvn -0.065660 -6.743720 1.067565\nv -0.060013 0.160247 0.006938\nvn -0.431748 -3.899541 0.234874\nv -0.062321 0.160373 0.007127\nvn 2.695462 -4.006227 5.608774\nv -0.056143 0.161052 0.007336\nvn -1.122968 -5.794653 -0.058580\nv -0.064303 0.160719 0.007194\nvn -1.929743 -6.643584 -0.916494\nv -0.067883 0.161726 0.007250\nvn -2.148364 -6.455499 -1.528403\nv -0.073790 0.163714 0.007379\nvn 1.774229 0.044080 4.331598\nv -0.049348 0.166125 0.006136\nvn -4.144730 -4.373692 -4.657421\nv -0.080009 0.166649 0.007075\nvn -2.988503 -4.275043 -2.718439\nv -0.081254 0.167492 0.007245\nvn 2.090857 2.879446 5.653070\nv -0.054166 0.167103 0.007081\nvn 2.009806 5.888958 2.954994\nv -0.062597 0.168302 0.007240\nvn -1.363209 -2.406437 -0.870954\nv -0.084697 0.170245 0.006637\nvn 1.198883 4.814567 -0.455616\nv -0.068131 0.170035 0.007513\nvn 1.660257 5.509091 1.297976\nv -0.074048 0.170617 0.007039\nvn 0.292424 5.763525 1.376365\nv -0.072055 0.170431 0.007465\nvn -1.274126 -1.867924 0.892777\nv -0.091070 0.171620 0.006783\nvn 3.944325 6.541676 2.138315\nv -0.075705 0.171358 0.007063\nvn -5.977996 -3.513619 1.981535\nv -0.091521 0.172587 0.007227\nvn 1.624076 2.296093 1.037396\nv -0.076758 0.172340 0.006455\nvn -6.311107 -2.390479 1.680124\nv -0.092097 0.174835 0.007060\nvn -4.281274 -2.211624 1.302322\nv -0.092689 0.176165 0.007237\nvn 3.713331 3.562354 5.898908\nv -0.081873 0.176634 0.007282\nvn 1.935398 2.218628 2.283372\nv -0.082568 0.178235 0.006910\nvn 0.727894 5.131756 4.717736\nv -0.084077 0.178955 0.006983\nvn 0.823612 7.824854 -0.358064\nv -0.091516 0.180038 0.007216\nvn -0.746806 -4.589090 1.759430\nv -0.061904 0.055058 0.006986\nvn -1.976464 -5.961969 2.988525\nv -0.066125 0.055696 0.007300\nvn -0.272566 -4.987178 -0.141759\nv 0.050227 0.055459 0.006713\nvn -0.532653 -6.972865 -0.082278\nv 0.051627 0.055366 0.006713\nvn 2.043837 -2.095340 -0.655273\nv 0.066876 0.055525 0.006713\nvn -2.548789 -5.637521 3.183877\nv -0.070421 0.057574 0.007511\nvn 3.502133 -3.534063 -0.457256\nv 0.069107 0.057652 0.007196\nvn -0.000000 -0.000000 -0.000000\nv -0.073246 0.059027 0.006797\nvn -0.238487 -5.905637 0.682717\nv 0.012865 0.059650 0.007262\nvn 4.000881 -2.994788 -0.023913\nv 0.072827 0.061475 0.007325\nvn -1.116232 -1.968851 0.642756\nv 0.042787 0.063606 0.007337\nvn 4.263464 -2.338844 -6.254515\nv -0.012788 0.064271 0.007294\nvn 2.964137 -0.667340 -2.597853\nv -0.011313 0.067989 0.007269\nvn -6.520328 -1.982172 4.122123\nv -0.081653 0.069965 0.007219\nvn -5.301053 0.729958 2.644028\nv 0.017123 0.074188 0.007374\nvn -0.498858 6.817667 1.364067\nv 0.046377 0.077116 0.007087\nvn -2.748455 2.883070 0.228546\nv 0.059015 0.083077 0.007354\nvn 4.785181 -1.231744 -0.623636\nv 0.083180 0.084225 0.007062\nvn 0.372396 2.662848 5.340523\nv -0.022822 0.089860 0.006884\nvn 0.972842 5.171231 4.581914\nv -0.034437 0.090263 0.007189\nvn 0.517231 2.802095 5.252344\nv -0.028790 0.089519 0.007244\nvn 2.869466 5.465089 3.233556\nv -0.042322 0.092445 0.007271\nvn -6.579038 2.211163 0.845158\nv 0.064925 0.093577 0.007380\nvn 3.290841 2.965415 2.272207\nv -0.047859 0.096467 0.007379\nvn 5.868038 2.478533 2.829511\nv 0.082580 0.099758 0.007412\nvn 5.766561 1.765352 3.518448\nv -0.050130 0.101849 0.007029\nvn -0.419089 -0.908707 -3.778627\nv 0.036261 0.109719 0.007077\nvn 3.004141 -0.988746 -6.883904\nv 0.038477 0.109587 0.007350\nvn 2.076828 0.622160 4.470302\nv -0.051289 0.111379 0.006546\nvn 1.909219 0.827346 5.618655\nv -0.052554 0.111630 0.006943\nvn -2.523412 -0.293796 -2.568247\nv 0.034872 0.111437 0.007262\nvn -4.641804 0.148645 -4.237010\nv 0.035065 0.113659 0.007158\nvn 1.489755 0.641576 4.719925\nv -0.052224 0.113557 0.006642\nvn -2.003051 3.722078 6.784529\nv -0.068174 0.113553 0.007323\nvn 0.736329 0.804012 3.842739\nv -0.054543 0.115651 0.006690\nvn -4.022326 0.404487 -1.554241\nv 0.035036 0.115906 0.007262\nvn -0.298836 1.691135 4.669164\nv -0.060383 0.117685 0.006967\nvn 0.738164 1.931405 6.663390\nv -0.057834 0.117305 0.007009\nvn 0.707141 -2.824121 0.540471\nv -0.074548 0.142210 0.006888\nvn -0.397231 -4.159402 -2.167547\nv -0.057936 0.143328 0.007283\nvn -2.224176 -6.300323 1.863995\nv -0.096213 0.144367 0.007437\nvn 0.889118 1.794537 5.624411\nv -0.058342 0.152858 0.006925\nvn -3.561662 -0.025970 -4.791594\nv -0.103302 0.156914 0.007228\nvn 2.156063 2.808145 1.673022\nv -0.079153 0.173517 0.007408\nvn -2.466268 3.622271 0.842746\nv -0.093094 0.179865 0.007382\nvn 0.588210 -4.768718 -1.347785\nv 0.044277 0.055146 0.007448\nvn 0.753027 -2.928590 -5.833064\nv 0.022595 0.060446 0.007681\nvn -2.858953 -1.895963 1.952317\nv -0.080534 0.067751 0.007450\nvn 0.232890 3.821230 1.158312\nv 0.042373 0.077225 0.007063\nvn 4.281255 1.166523 2.262243\nv -0.011993 0.084706 0.007473\nvn -0.322246 5.188845 -2.779922\nv 0.029022 0.087111 0.007431\nvn 0.824965 3.910087 -2.827730\nv 0.030592 0.087189 0.007517\nvn 0.312930 2.621674 6.389711\nv -0.020855 0.087770 0.007425\nvn -2.184044 2.392845 3.446291\nv -0.019020 0.088207 0.007492\nvn -5.584905 2.143210 0.443797\nv 0.063774 0.090335 0.007413\nvn -4.109431 2.240930 3.680948\nv -0.080541 0.099878 0.007512\nvn 0.000000 0.000000 0.000000\nv 0.069127 0.104697 0.007052\nvn -1.080541 3.043341 3.795237\nv 0.072259 0.106222 0.007470\nvn 2.817410 1.533354 7.293664\nv -0.052474 0.109549 0.007257\nvn 1.774042 1.482279 6.578094\nv -0.054395 0.113629 0.007179\nvn 1.759961 2.034173 7.507111\nv -0.056204 0.115360 0.007120\nvn -1.027345 2.954327 6.247324\nv -0.064154 0.115576 0.007272\nvn 0.334873 -5.849600 1.264796\nv -0.079856 0.141268 0.007125\nvn -1.165040 -2.684148 0.658891\nv -0.088635 0.142384 0.007302\nvn -0.778483 -5.247924 -4.359113\nv -0.060033 0.143594 0.007462\nvn -0.683506 -2.842013 0.620266\nv -0.095723 0.144146 0.007063\nvn 1.460584 3.253225 7.103775\nv -0.058278 0.151247 0.007410\nvn -1.001604 2.509892 0.390273\nv -0.065273 0.152181 0.007238\nvn 2.830333 -2.361150 5.923527\nv -0.054476 0.163102 0.007231\nvn 0.856885 4.255680 5.443809\nv -0.056188 0.167349 0.007306\nvn -1.529732 -2.983128 2.074748\nv 0.032226 0.053650 0.007616\nvn 1.097812 -4.563762 -1.296561\nv 0.037627 0.053233 0.007778\nvn 0.798458 -3.819363 3.109846\nv -0.032699 0.055132 0.008101\nvn -0.588549 -4.511852 2.026620\nv -0.064427 0.055532 0.007817\nvn -0.530733 -4.581335 1.898231\nv -0.061955 0.055429 0.007879\nvn -5.440684 -8.010077 6.404581\nv 0.030519 0.056274 0.009040\nvn 1.003012 -2.757847 -2.717072\nv -0.021273 0.056908 0.007565\nvn -2.165223 -6.509134 -0.026826\nv 0.028369 0.057627 0.008981\nvn 0.000000 0.000000 -0.000000\nv 0.027777 0.057752 0.007474\nvn -0.000000 0.000000 0.000000\nv -0.018993 0.057896 0.008258\nvn 0.982303 -1.368796 -2.556981\nv -0.017204 0.058469 0.007831\nvn 0.516830 -0.723357 -1.856682\nv -0.016488 0.059518 0.008169\nvn 1.147586 -2.006496 -3.197033\nv -0.014600 0.060844 0.007804\nvn 0.000000 -0.000000 0.000000\nv -0.014523 0.061695 0.007910\nvn -0.953982 -0.395899 -1.623839\nv 0.025796 0.062059 0.007651\nvn 1.711567 -1.051906 -3.440525\nv -0.013014 0.062420 0.007697\nvn -0.964220 -1.181630 2.004995\nv 0.042451 0.064313 0.008667\nvn -2.271775 -1.170834 1.570341\nv -0.078748 0.065864 0.007732\nvn 5.530132 -1.913697 -5.375013\nv -0.011485 0.065960 0.007665\nvn -2.528590 0.612203 2.780387\nv 0.017898 0.066550 0.007510\nvn -3.028176 -0.076430 2.599383\nv 0.017858 0.067496 0.007564\nvn 3.560644 -1.527816 -0.955127\nv 0.079238 0.072733 0.007878\nvn -3.345851 1.256901 1.774655\nv 0.018141 0.077822 0.007585\nvn 0.071747 3.543962 1.784180\nv 0.037592 0.076914 0.007604\nvn -0.188476 5.833155 1.274654\nv 0.045152 0.076993 0.007413\nvn 5.058422 -0.423795 -3.123224\nv 0.035639 0.079776 0.007680\nvn 4.636525 0.617705 -3.687720\nv 0.035713 0.081953 0.007700\nvn 5.113567 1.539735 2.696121\nv -0.012500 0.084045 0.009092\nvn 1.583901 1.732704 -1.795012\nv 0.033968 0.085623 0.007838\nvn -4.682308 7.464664 0.489402\nv 0.024450 0.085894 0.008935\nvn 0.368923 3.441056 6.038561\nv -0.026855 0.088120 0.007610\nvn 0.973960 3.252048 7.199742\nv -0.022594 0.088183 0.007631\nvn 0.586697 1.750674 3.541765\nv -0.028066 0.088481 0.007589\nvn -0.104482 2.790830 5.297044\nv -0.024498 0.088425 0.007645\nvn 6.907027 -0.195040 0.348107\nv 0.084027 0.089666 0.008812\nvn 0.970092 3.542629 3.367522\nv -0.036500 0.090529 0.007568\nvn -4.133870 1.435196 3.987369\nv -0.082209 0.091861 0.008886\nvn -3.682766 1.759310 2.862416\nv -0.082789 0.092805 0.007754\nvn 1.951593 2.922244 1.909322\nv -0.045767 0.094388 0.007552\nvn -2.809331 0.937405 0.441167\nv 0.065277 0.094562 0.007413\nvn 3.662704 1.847985 2.755793\nv -0.049433 0.098275 0.007655\nvn 4.690861 1.473775 3.413193\nv -0.049784 0.099381 0.007680\nvn 3.515184 2.380221 2.599264\nv 0.080951 0.102620 0.007749\nvn -3.388315 2.154312 2.951325\nv 0.069345 0.103688 0.007853\nvn -1.568636 1.171445 2.182898\nv -0.076599 0.106333 0.007530\nvn 0.782634 3.417350 3.484633\nv 0.076041 0.106422 0.007589\nvn 0.284332 -2.461320 -5.099836\nv 0.038025 0.106431 0.007800\nvn 2.978400 0.869816 5.079659\nv -0.052047 0.107976 0.007438\nvn 1.288855 -0.545235 -4.575942\nv 0.038244 0.107830 0.007537\nvn -2.287076 -2.902156 -7.627276\nv 0.036200 0.107761 0.007608\nvn -1.358980 1.314476 2.310617\nv -0.074771 0.108113 0.007517\nvn -1.675697 -1.092968 -1.944135\nv 0.035104 0.108289 0.007886\nvn -4.791077 -1.310483 -5.553704\nv 0.035155 0.109642 0.007467\nvn -2.063353 2.520043 5.021982\nv -0.072646 0.109786 0.007549\nvn 2.576478 1.291842 7.455385\nv -0.054270 0.111659 0.007564\nvn -1.234029 1.559611 3.469870\nv -0.070488 0.111618 0.007583\nvn 1.877888 1.821095 6.472894\nv -0.055895 0.113317 0.007756\nvn -1.271402 2.818709 5.128127\nv -0.066206 0.114176 0.007580\nvn -0.393360 1.563542 3.660074\nv -0.062570 0.115026 0.007704\nvn 0.745721 1.775056 5.659813\nv -0.058109 0.115445 0.007564\nvn -0.156311 2.271235 6.588602\nv -0.060219 0.115866 0.007555\nvn 3.489133 -0.664731 -3.509557\nv 0.039717 0.117747 0.007555\nvn 5.730324 0.142832 -3.318681\nv 0.040068 0.119276 0.007630\nvn -4.631631 1.254082 2.994468\nv 0.035636 0.121386 0.007653\nvn 3.410819 1.961917 -0.997896\nv 0.039930 0.121119 0.007592\nvn -0.692370 -4.686322 -3.639070\nv -0.062570 0.144103 0.007524\nvn -1.135127 -4.604930 1.401271\nv -0.100050 0.146177 0.007627\nvn -2.051015 -4.712571 2.314193\nv -0.101893 0.146404 0.007595\nvn 2.217911 1.433151 4.214318\nv -0.052063 0.147378 0.007492\nvn 1.185364 2.136189 4.337701\nv -0.053995 0.149462 0.007492\nvn -2.558565 3.040763 -0.278471\nv -0.101121 0.150438 0.007828\nvn -1.294623 2.633834 -0.215169\nv -0.069362 0.150351 0.007738\nvn 0.906231 1.831666 4.551963\nv -0.060154 0.151706 0.007642\nvn -2.352729 -2.585504 -1.394414\nv -0.102712 0.155244 0.007747\nvn 1.536098 3.633978 -0.590191\nv -0.094757 0.156077 0.007693\nvn -0.788412 2.734719 -2.493992\nv -0.102723 0.158165 0.007790\nvn 0.732869 6.233418 -2.748330\nv -0.101393 0.158136 0.007811\nvn 1.674293 -1.651098 3.228252\nv -0.053840 0.164206 0.007417\nvn -1.280678 -1.553442 -2.208035\nv -0.079290 0.165547 0.007506\nvn 0.661341 3.378356 2.024034\nv -0.060236 0.167483 0.007573\nvn 0.647167 5.231719 4.469519\nv -0.058038 0.167080 0.007769\nvn 0.169511 2.399581 1.725300\nv -0.086423 0.177697 0.007653\nvn 0.985631 2.756531 -0.253005\nv -0.090123 0.179792 0.007744\nvn -1.185908 -5.284865 1.795148\nv 0.034237 0.053139 0.008375\nvn -3.789147 -6.198628 5.149043\nv 0.032667 0.054353 0.008836\nvn -2.003913 -2.592165 2.290742\nv 0.031460 0.054508 0.007979\nvn 1.473495 -5.316775 -2.228995\nv 0.040850 0.053667 0.008850\nvn 1.166566 -4.343404 -2.170707\nv 0.042537 0.054269 0.008708\nvn -0.571981 -5.963825 -0.084673\nv 0.054093 0.055168 0.008189\nvn -1.190326 -5.310235 2.501415\nv -0.060548 0.055238 0.008134\nvn 1.389588 -7.211639 4.231262\nv -0.030640 0.056399 0.008986\nvn 0.984339 -6.614072 -2.007430\nv 0.046186 0.054967 0.008935\nvn 1.168976 -3.100598 2.171660\nv -0.030273 0.055790 0.007879\nvn -1.432156 -2.199339 1.404554\nv 0.029331 0.056786 0.008470\nvn 4.153016 -4.286939 -0.106588\nv 0.068117 0.056346 0.008842\nvn -2.042774 -4.765839 2.993515\nv -0.067662 0.057024 0.008316\nvn 1.280501 -3.701983 -5.620903\nv -0.020559 0.056369 0.008369\nvn 0.963980 -2.072624 -4.372779\nv -0.018885 0.056229 0.008689\nvn -2.397207 -3.355454 2.781183\nv -0.071377 0.058717 0.008362\nvn 1.192284 -1.889315 -3.198844\nv -0.014622 0.060159 0.008350\nvn -0.190266 -3.260902 -3.558639\nv 0.022677 0.059454 0.008226\nvn -0.885824 -3.619284 -4.453279\nv 0.024439 0.059974 0.008004\nvn -1.726256 -6.467746 -0.869071\nv 0.010973 0.059882 0.009068\nvn -2.356195 -2.920756 -2.644226\nv 0.025994 0.059514 0.007914\nvn 0.001453 -0.730456 -2.567966\nv 0.024494 0.062059 0.007929\nvn -4.684558 -4.836026 4.165124\nv -0.075968 0.062585 0.008652\nvn 3.065411 -1.129259 -3.736415\nv -0.012233 0.062467 0.008161\nvn 1.903147 -0.942817 -2.087975\nv -0.011637 0.065001 0.007879\nvn 0.391248 6.029471 3.433149\nv 0.014268 0.065617 0.008390\nvn -3.510792 4.553027 5.449131\nv 0.018982 0.066061 0.008764\nvn 5.740913 -0.927784 -3.838654\nv -0.010522 0.067985 0.008223\nvn 7.075099 -3.577300 -0.971964\nv 0.078141 0.069978 0.008872\nvn -3.303530 -0.114557 2.187708\nv 0.017372 0.071800 0.007938\nvn -3.376367 0.194877 2.048781\nv 0.017497 0.073725 0.008229\nvn 6.342031 -2.585664 -1.312761\nv 0.080049 0.074258 0.008539\nvn 0.898170 3.555429 1.219664\nv 0.036778 0.076860 0.007897\nvn 5.765854 1.326744 0.871619\nv -0.011024 0.077718 0.008731\nvn 0.217782 4.742428 1.560767\nv 0.042527 0.076995 0.007763\nvn -0.236862 2.953072 0.392171\nv 0.046027 0.076968 0.007763\nvn -2.802789 4.130396 0.193572\nv 0.054826 0.079683 0.008696\nvn -3.254311 -0.640155 2.225003\nv -0.083114 0.080842 0.007982\nvn -3.049510 -0.999804 2.170940\nv -0.083569 0.082444 0.008483\nvn 7.803486 -1.642879 -0.285053\nv 0.083269 0.084075 0.008790\nvn -5.238058 4.611516 -0.065023\nv 0.060131 0.084189 0.008983\nvn -6.030847 0.669091 4.892453\nv -0.083760 0.084266 0.008510\nvn 4.616517 5.046025 -5.664069\nv 0.034489 0.085945 0.008720\nvn -1.087004 1.840558 3.159592\nv -0.020395 0.086535 0.007884\nvn -0.920260 4.571048 -1.692964\nv 0.027594 0.087030 0.007844\nvn -3.158812 1.055058 2.214410\nv -0.083112 0.087246 0.008048\nvn -1.645334 0.725839 1.163317\nv -0.083199 0.089655 0.008021\nvn 0.777095 4.012380 4.357692\nv -0.032685 0.089078 0.008219\nvn 0.986682 3.244180 3.658957\nv -0.036713 0.089575 0.008524\nvn 0.235719 2.267697 1.888192\nv -0.038323 0.090833 0.007705\nvn 1.163777 2.210546 1.653799\nv -0.040746 0.090997 0.008336\nvn -5.578543 2.145837 0.513790\nv 0.064384 0.091657 0.008735\nvn -0.113162 3.232150 6.364497\nv -0.014624 0.091586 0.008232\nvn 4.132649 7.711712 4.615373\nv -0.042696 0.091557 0.008840\nvn 1.270402 2.222687 1.570370\nv -0.044751 0.093350 0.008071\nvn -3.376225 1.694688 3.221616\nv -0.081692 0.093491 0.008620\nvn -2.583819 -0.318117 2.445961\nv -0.081221 0.095784 0.007993\nvn -2.843059 0.550700 2.586255\nv -0.081214 0.097504 0.007942\nvn 2.555598 0.723712 1.218994\nv 0.083181 0.097454 0.008041\nvn -2.610947 1.129237 0.948853\nv 0.067240 0.100150 0.007784\nvn -2.470481 1.964263 2.423700\nv -0.079183 0.101284 0.007911\nvn 3.987643 1.660863 4.077881\nv -0.051023 0.101570 0.008326\nvn -2.655024 1.779001 2.377763\nv 0.069114 0.103038 0.007982\nvn 2.615133 0.164916 2.934911\nv -0.051556 0.104095 0.007754\nvn -0.382315 1.185963 1.418728\nv 0.070193 0.104715 0.007995\nvn -3.833892 2.865085 6.306726\nv -0.075734 0.105790 0.008287\nvn 3.589132 0.858918 4.665452\nv -0.051886 0.106144 0.007730\nvn -1.536188 3.965879 4.170382\nv 0.072590 0.105281 0.008363\nvn 1.115668 4.164850 4.084364\nv 0.076285 0.105487 0.008438\nvn -0.285190 3.900137 4.502320\nv 0.074059 0.106450 0.007657\nvn -0.704814 -1.448085 -2.318153\nv 0.036947 0.106521 0.007851\nvn 1.857409 -0.952005 -3.200626\nv 0.039015 0.107034 0.007943\nvn 1.315029 0.895858 3.641514\nv -0.053866 0.109591 0.007685\nvn -4.609038 -0.023885 -0.466349\nv 0.034294 0.109646 0.008896\nvn -6.474070 0.411022 -0.364040\nv 0.034334 0.111631 0.008661\nvn -1.320187 1.989200 4.383453\nv -0.069415 0.111292 0.008117\nvn -0.716530 1.806212 3.494819\nv -0.064681 0.114325 0.007778\nvn 0.813271 1.248116 3.704132\nv -0.057544 0.114442 0.007813\nvn 4.404154 -0.055013 -1.451998\nv 0.040685 0.117736 0.008639\nvn -3.975173 0.617304 2.418063\nv 0.035481 0.119773 0.007945\nvn 0.062830 2.489311 2.352254\nv 0.037652 0.122763 0.008185\nvn -0.185085 -5.825484 1.280048\nv -0.082087 0.141451 0.009019\nvn 2.421704 -2.464269 2.512889\nv -0.051170 0.143425 0.007906\nvn 2.452363 0.255341 3.915408\nv -0.050976 0.144717 0.008110\nvn 2.776681 2.332721 5.857955\nv -0.052734 0.146500 0.008296\nvn -3.659933 -0.448619 1.680575\nv -0.102884 0.147618 0.008236\nvn 1.407608 2.032074 5.454141\nv -0.054434 0.147320 0.008463\nvn 0.797160 1.817164 3.471124\nv -0.055690 0.149638 0.007746\nvn 1.641276 3.364549 7.045664\nv -0.056309 0.149237 0.008098\nvn 1.088584 3.765453 3.067142\nv -0.082367 0.150526 0.008387\nvn 0.808228 1.857844 3.406194\nv -0.060452 0.150676 0.008116\nvn 3.158262 5.942898 3.881467\nv -0.085880 0.151427 0.008910\nvn -0.279595 2.468096 1.782468\nv -0.064469 0.152109 0.008061\nvn -5.567873 -2.837561 0.240133\nv -0.099944 0.152908 0.008740\nvn -2.762998 -2.843782 -0.489307\nv -0.100822 0.153796 0.008260\nvn -3.335134 -4.269137 -1.516285\nv -0.103570 0.155663 0.008753\nvn -2.430913 -0.480723 -3.335006\nv -0.104548 0.156867 0.008183\nvn 1.838589 5.578923 -0.962175\nv -0.098006 0.157497 0.008833\nvn 1.028097 3.698352 -1.059430\nv -0.099595 0.157897 0.008304\nvn 0.030289 -5.498076 2.055748\nv -0.062252 0.160797 0.008904\nvn 1.818884 -4.860688 5.439511\nv -0.060316 0.161123 0.008923\nvn 1.247491 -0.901269 2.569352\nv -0.055781 0.162857 0.007729\nvn 1.069134 -6.092004 -4.129673\nv -0.078056 0.162945 0.008814\nvn 0.500386 -3.688371 -1.251214\nv -0.076223 0.163312 0.008797\nvn 3.124767 -0.968820 5.653440\nv -0.054609 0.164878 0.008226\nvn 1.692956 2.136389 3.893495\nv -0.054797 0.166152 0.008049\nvn 2.251804 5.261907 3.430127\nv -0.060382 0.166689 0.008990\nvn 2.677343 6.161839 3.380833\nv -0.064360 0.168633 0.008925\nvn 2.874383 8.109571 2.113302\nv -0.074066 0.170216 0.008903\nvn -4.454039 -5.860036 -1.365854\nv -0.089729 0.171027 0.009058\nvn 2.533614 4.371169 4.039218\nv -0.082112 0.174566 0.008709\nvn 4.078722 4.274792 0.297617\nv -0.088079 0.178509 0.008747\nvn -0.295087 2.465096 2.499903\nv -0.084680 0.178166 0.007901\nvn -1.279465 -5.795718 0.178747\nv 0.061019 0.053255 0.008754\nvn 0.394720 -5.940889 0.275225\nv 0.062215 0.053153 0.008944\nvn 0.230225 -5.529013 4.246802\nv -0.040613 0.054703 0.008857\nvn -0.343705 -5.932085 3.633188\nv -0.056081 0.054810 0.008640\nvn 0.682680 -4.477278 3.918575\nv -0.036492 0.054703 0.008429\nvn 1.433751 -6.280619 -2.698459\nv 0.044343 0.054625 0.008954\nvn 0.281011 -4.900120 -0.888407\nv 0.047777 0.055346 0.008113\nvn -0.089841 -6.942360 -0.770399\nv 0.050227 0.055370 0.008113\nvn 0.482156 -4.542317 1.056498\nv -0.029138 0.056750 0.009024\nvn -1.379630 -4.794893 -2.506835\nv -0.024727 0.055890 0.008714\nvn -2.277200 -5.516449 3.602992\nv -0.066033 0.056525 0.008795\nvn 1.702412 -2.500206 -3.925730\nv -0.016767 0.057955 0.008468\nvn -1.924621 -4.434453 -2.876534\nv 0.026324 0.058163 0.008976\nvn 1.863145 -2.070197 -6.333800\nv -0.014542 0.058485 0.008872\nvn -1.008523 -5.214437 -2.689978\nv 0.022872 0.058862 0.009188\nvn -0.909635 -4.313765 -3.884329\nv 0.024543 0.058570 0.009043\nvn -0.024084 -4.826622 -3.139685\nv 0.020740 0.059400 0.008420\nvn -2.763646 -3.233441 2.619669\nv -0.073658 0.060687 0.008287\nvn -0.566411 -6.824803 -1.099729\nv 0.012595 0.059690 0.008875\nvn 3.291753 -2.812723 -6.389332\nv -0.012724 0.060315 0.008544\nvn -2.525160 -2.364497 -0.604103\nv 0.009288 0.060602 0.009264\nvn 0.396779 1.480434 -0.362181\nv 0.042272 0.062296 0.008720\nvn -6.589973 -0.708220 -0.452265\nv 0.008740 0.062130 0.009083\nvn -1.244744 -0.601483 -0.894240\nv 0.043489 0.062941 0.008213\nvn 6.013132 -1.875156 -4.793201\nv -0.010993 0.064282 0.008912\nvn -4.338860 3.263642 -1.578112\nv 0.008873 0.064412 0.009065\nvn -1.452213 4.172606 1.802363\nv 0.010633 0.065308 0.008392\nvn -0.419312 4.194321 2.592642\nv 0.012702 0.065780 0.008333\nvn -5.649142 -1.583453 6.521843\nv 0.018912 0.067828 0.008698\nvn -4.744898 -3.209862 3.882657\nv -0.079862 0.068156 0.008782\nvn -3.276907 -0.687806 2.186387\nv -0.081203 0.070487 0.008088\nvn -4.074871 -1.286482 2.510267\nv -0.081242 0.072317 0.008575\nvn 2.652491 -0.172196 -1.452134\nv -0.009956 0.072306 0.008285\nvn 3.883300 0.945995 -0.634075\nv -0.009579 0.072175 0.009184\nvn 7.577549 1.672821 -0.322703\nv -0.010076 0.074107 0.008881\nvn 0.280041 6.332196 2.755774\nv 0.038542 0.076382 0.008975\nvn 0.063167 5.714659 1.797909\nv 0.042754 0.076645 0.008834\nvn -0.623178 5.774341 1.415943\nv 0.044679 0.076627 0.009015\nvn -0.406997 7.318016 3.112132\nv 0.040498 0.076688 0.008744\nvn -7.298140 2.691705 4.499404\nv 0.018957 0.077907 0.008861\nvn -2.475271 0.171070 1.673539\nv -0.083116 0.078373 0.008114\nvn 5.744223 0.880994 1.338949\nv -0.011437 0.079795 0.008630\nvn -2.410696 1.013332 1.440887\nv 0.019181 0.079432 0.008326\nvn -6.365092 3.567250 3.218394\nv 0.020919 0.082015 0.009032\nvn -3.688599 3.006267 1.377124\nv 0.021375 0.083318 0.008220\nvn 2.235497 1.638020 -1.887758\nv 0.035435 0.084009 0.008084\nvn -0.599824 2.019817 4.186159\nv -0.020948 0.085829 0.008150\nvn 1.326709 2.519928 8.446319\nv -0.022659 0.086240 0.008338\nvn -8.222296 5.644988 0.030294\nv 0.061630 0.086143 0.009041\nvn -4.344496 3.351909 4.174231\nv -0.019325 0.086173 0.009042\nvn 2.597719 6.293007 -5.362934\nv 0.032723 0.087550 0.009009\nvn 0.908565 3.120626 4.996018\nv -0.028960 0.087576 0.008249\nvn -0.116869 2.315270 4.416576\nv -0.026467 0.087116 0.008197\nvn 0.416915 1.031339 2.763328\nv -0.023273 0.087375 0.008102\nvn -4.350489 2.440867 0.112120\nv 0.062740 0.087841 0.008909\nvn 4.063079 1.240669 3.896542\nv -0.013288 0.087734 0.008654\nvn 5.906597 -0.455671 0.385680\nv 0.083936 0.087903 0.008877\nvn -4.456450 3.447134 3.965275\nv -0.018355 0.087819 0.008780\nvn 0.819395 3.427786 3.527822\nv -0.035080 0.089258 0.008324\nvn -4.587768 1.952473 0.299070\nv 0.063693 0.089825 0.008856\nvn 2.124855 7.270944 6.254894\nv -0.038364 0.089818 0.008792\nvn 0.876534 -0.062703 2.017226\nv -0.013674 0.091225 0.008113\nvn 1.865104 1.972538 1.275742\nv -0.047176 0.095075 0.008113\nvn -7.419532 2.538578 1.456717\nv 0.065905 0.095945 0.008933\nvn 3.182363 2.792673 2.574204\nv -0.049173 0.097105 0.008426\nvn -4.334330 1.990329 1.410567\nv 0.066541 0.097743 0.008898\nvn 5.738503 3.785320 5.501874\nv -0.050264 0.097833 0.008867\nvn -5.717035 4.146926 3.650823\nv 0.068571 0.101484 0.008795\nvn -5.812525 4.582992 7.944188\nv -0.078086 0.101546 0.008741\nvn 4.353762 2.635420 3.103231\nv 0.081093 0.101711 0.008411\nvn -1.738687 1.372834 2.022353\nv -0.077435 0.103082 0.008235\nvn 2.869235 2.754503 2.986921\nv 0.079757 0.103293 0.008463\nvn 3.096677 0.755254 4.866381\nv -0.052343 0.103690 0.008454\nvn -3.852372 3.210786 6.113698\nv -0.076317 0.103646 0.008829\nvn 1.411723 -2.690323 -4.693918\nv 0.038518 0.105686 0.008380\nvn 1.372097 2.665538 2.641481\nv 0.077510 0.105017 0.008339\nvn -3.283970 -5.359429 -6.069310\nv 0.036390 0.105791 0.008776\nvn -0.364826 4.091649 4.324122\nv 0.074282 0.105692 0.008364\nvn -2.715032 3.042596 5.659802\nv -0.073876 0.107510 0.008312\nvn 2.187265 1.094235 4.350523\nv -0.052986 0.107320 0.008084\nvn 0.000000 0.000000 0.000000\nv 0.036197 0.106791 0.008057\nvn 5.738735 -0.527235 -6.621698\nv 0.040128 0.107589 0.008767\nvn -5.177138 -2.130983 -3.016666\nv 0.034452 0.107828 0.009073\nvn 1.350225 0.905540 3.635286\nv -0.054855 0.109545 0.008101\nvn -1.138336 1.684666 3.437715\nv -0.071655 0.109192 0.008218\nvn -2.377904 3.240537 8.023904\nv -0.070091 0.109720 0.008541\nvn 1.518162 1.295691 5.627841\nv -0.055938 0.109667 0.008434\nvn 1.549628 1.103299 6.714177\nv -0.056299 0.111480 0.008253\nvn -1.359563 2.261118 5.375583\nv -0.068074 0.111707 0.008281\nvn -0.969998 1.621839 3.508144\nv -0.067373 0.112925 0.007927\nvn -1.185657 2.461902 5.310767\nv -0.065951 0.112998 0.008281\nvn 0.632202 0.647742 2.840431\nv -0.056763 0.112857 0.008123\nvn 0.980014 1.751591 6.675595\nv -0.057803 0.113398 0.008176\nvn -0.757359 2.976973 6.266732\nv -0.064245 0.113344 0.008374\nvn -0.209445 2.298473 5.522374\nv -0.062292 0.113585 0.008342\nvn -6.355331 1.295961 1.682832\nv 0.034757 0.113570 0.009050\nvn 7.273167 0.338705 -4.342844\nv 0.040491 0.115455 0.008770\nvn -5.386771 1.112116 2.023494\nv 0.035188 0.115233 0.009074\nvn -3.256890 1.192393 1.656357\nv 0.035336 0.117181 0.008575\nvn -3.421237 2.521045 5.428864\nv 0.036654 0.121520 0.008375\nvn 0.588200 -6.806910 1.501403\nv -0.080104 0.141599 0.008637\nvn -1.345561 -7.691903 1.393575\nv -0.086261 0.141865 0.008950\nvn 1.356278 -4.660102 2.016372\nv -0.075655 0.142358 0.008920\nvn 1.256247 -6.775367 0.739035\nv -0.074173 0.142721 0.008891\nvn 1.749774 -6.282856 1.608380\nv -0.058320 0.142755 0.009079\nvn 1.112853 -3.883884 3.042333\nv -0.056173 0.143039 0.009183\nvn -0.133640 -3.160746 -2.313503\nv -0.060603 0.142706 0.008577\nvn 1.453505 -2.303425 3.257602\nv -0.052475 0.143237 0.008416\nvn -1.817514 -6.608132 1.324412\nv -0.091887 0.143577 0.008997\nvn -0.623030 -7.080461 -3.049422\nv -0.062495 0.142995 0.008883\nvn -1.293288 -4.717629 0.931183\nv -0.093477 0.144105 0.008773\nvn -0.057182 -3.748975 -1.284128\nv -0.067793 0.143549 0.008970\nvn -0.223890 -5.240976 -2.688185\nv -0.066020 0.143361 0.009167\nvn -1.265134 -5.728100 -3.415119\nv -0.064227 0.143351 0.008960\nvn -2.727007 -7.137518 2.080224\nv -0.097808 0.145788 0.008915\nvn -4.432672 -4.344097 2.524494\nv -0.101989 0.147101 0.009039\nvn 0.000000 -0.000000 0.000000\nv -0.054773 0.148409 0.008113\nvn 3.860192 4.108705 -1.085738\nv -0.077636 0.149620 0.008781\nvn 1.036319 4.754012 -0.111178\nv -0.076234 0.149017 0.009077\nvn -0.340348 6.909739 -0.459543\nv -0.074027 0.149085 0.009058\nvn -1.447154 6.638659 0.201502\nv -0.071877 0.149519 0.008938\nvn -0.084694 6.880083 2.503035\nv -0.081942 0.149872 0.009066\nvn 0.912342 1.861024 3.417986\nv -0.058288 0.149304 0.008512\nvn -2.142885 4.410145 -0.618712\nv -0.079855 0.150969 0.008991\nvn 1.863026 3.664203 2.457230\nv -0.084300 0.150640 0.008780\nvn 1.130223 3.860772 6.819468\nv -0.062316 0.151279 0.008330\nvn 0.000000 0.000000 0.000000\nv -0.062769 0.152125 0.008120\nvn 2.162285 5.537918 -0.524146\nv -0.096117 0.156801 0.008844\nvn -1.327872 -5.768050 0.224050\nv -0.068251 0.161709 0.008933\nvn 2.332783 -2.076325 5.103591\nv -0.056234 0.163372 0.008153\nvn -0.597379 -5.663790 -1.450891\nv -0.074324 0.163429 0.008873\nvn -2.600119 -2.657992 -4.684078\nv -0.080188 0.164737 0.008488\nvn -2.204355 -1.616627 -2.634675\nv -0.080816 0.166332 0.008087\nvn 0.893204 2.999876 3.782475\nv -0.056115 0.166279 0.008306\nvn -3.649924 -4.171267 -5.641495\nv -0.082158 0.166673 0.008701\nvn -2.619002 -3.728614 -3.798090\nv -0.084119 0.168488 0.008616\nvn -1.786820 -4.763165 -2.970923\nv -0.087748 0.170139 0.008488\nvn -0.847292 -2.230583 -1.654124\nv -0.086448 0.170165 0.008113\nvn 0.176322 3.598468 1.617531\nv -0.072282 0.170023 0.008460\nvn -6.172665 -2.694113 1.471187\nv -0.090738 0.172522 0.009043\nvn 3.951922 6.646313 1.902833\nv -0.077776 0.172108 0.009045\nvn -3.633960 -1.073067 1.245471\nv -0.091295 0.173625 0.008404\nvn 2.915143 4.798012 1.643198\nv -0.079830 0.173278 0.008947\nvn 0.000000 0.000000 0.000000\nv -0.080975 0.174586 0.008113\nvn 1.263478 1.400456 2.286923\nv -0.082598 0.175961 0.007970\nvn 2.192116 5.539641 5.373905\nv -0.086029 0.176765 0.008772\nvn -1.169888 -7.317785 1.465556\nv 0.036148 0.053028 0.009117\nvn 0.689876 -5.685119 -1.086590\nv 0.038089 0.053036 0.009036\nvn 0.977536 -4.439313 -1.972509\nv 0.039307 0.053334 0.008577\nvn -2.744144 -6.420758 0.214010\nv 0.060100 0.053641 0.008808\nvn 2.262088 -5.427855 0.290376\nv 0.064417 0.053496 0.008976\nvn -0.118675 -3.519283 1.848342\nv -0.048368 0.054527 0.008997\nvn 0.030536 -6.120511 3.289895\nv -0.046474 0.054360 0.008813\nvn 3.502051 -4.785892 0.128631\nv 0.066027 0.054434 0.009262\nvn -0.719628 -5.682694 3.958246\nv -0.054062 0.054857 0.009091\nvn -0.318506 -4.973697 3.249617\nv -0.052520 0.054566 0.008988\nvn -0.026386 -5.158985 2.999237\nv -0.050515 0.054635 0.009077\nvn 0.172618 -5.650946 4.023315\nv -0.042741 0.054545 0.008857\nvn -1.309139 -3.745399 0.061585\nv 0.058417 0.054441 0.009041\nvn -0.922929 -5.215886 2.751465\nv -0.058146 0.054901 0.008691\nvn 0.500382 -6.120662 5.084782\nv -0.038435 0.054953 0.008906\nvn -1.156167 -5.865002 -0.009565\nv 0.056430 0.054908 0.008988\nvn -0.741314 -6.152678 3.217264\nv -0.062328 0.055975 0.009046\nvn 0.895408 -5.607625 5.565972\nv -0.034586 0.055823 0.009185\nvn 0.593986 -3.058867 2.489233\nv -0.032474 0.055882 0.009005\nvn 0.059643 -5.250981 -5.601764\nv -0.022852 0.055644 0.008318\nvn -0.228374 -5.961140 -0.576895\nv 0.052619 0.055200 0.009160\nvn -0.911509 -4.266702 2.398012\nv -0.064484 0.056140 0.008984\nvn -1.088632 -5.408267 -0.414472\nv -0.026764 0.056543 0.009051\nvn 1.557970 -2.321797 -6.323136\nv -0.016929 0.056211 0.009064\nvn -2.139536 -4.510891 3.296517\nv -0.067878 0.057829 0.009315\nvn 5.671771 -5.611847 -0.182855\nv 0.070149 0.058407 0.008978\nvn -2.513144 -5.019459 4.120637\nv -0.069737 0.058288 0.009021\nvn 1.115579 -3.608642 -1.174273\nv 0.019014 0.059375 0.008466\nvn -0.282963 -5.844710 -1.268561\nv 0.015927 0.059404 0.008637\nvn 4.652061 -3.779668 -0.004668\nv 0.072228 0.060687 0.009162\nvn 3.224303 -2.364648 0.009697\nv 0.072731 0.061336 0.008637\nvn -3.937782 -5.380410 4.361990\nv -0.074177 0.061896 0.009365\nvn 5.382101 -1.519000 -4.116790\nv -0.011309 0.062364 0.009150\nvn 5.839303 -3.854863 -0.186123\nv 0.074350 0.063713 0.008921\nvn -2.849415 -1.798027 2.096171\nv -0.077551 0.064648 0.008679\nvn -6.783680 -4.418606 5.750670\nv -0.078069 0.066284 0.009044\nvn -0.848326 5.582592 0.163686\nv 0.010645 0.065083 0.009258\nvn 5.864502 -1.366096 -3.532663\nv -0.010457 0.066029 0.008994\nvn -0.437215 3.504359 1.739378\nv 0.017076 0.065379 0.008802\nvn 6.773817 -4.214815 -0.513963\nv 0.075986 0.066235 0.008858\nvn 5.210116 -2.906550 -0.594221\nv 0.077408 0.068563 0.009032\nvn -5.316912 -1.806225 4.073746\nv -0.080310 0.069784 0.009179\nvn 3.405559 -0.438416 -2.039659\nv -0.010173 0.070430 0.008498\nvn -5.085120 -1.646605 4.317377\nv 0.018532 0.070019 0.009111\nvn -5.630341 -0.255061 4.088048\nv 0.018273 0.072116 0.009218\nvn 6.322717 -2.840626 -0.906947\nv 0.079437 0.072571 0.009234\nvn -7.580385 -3.584514 5.254188\nv -0.081870 0.074004 0.008996\nvn -4.932281 0.530609 3.326658\nv 0.018347 0.074371 0.009320\nvn -4.162454 0.970788 2.544764\nv 0.018300 0.076094 0.008907\nvn 6.425958 -2.526228 -1.003590\nv 0.080775 0.075902 0.008959\nvn 4.770121 1.315114 0.634178\nv -0.010731 0.076271 0.009328\nvn 3.570196 3.680411 0.444846\nv 0.036712 0.076567 0.009208\nvn -1.208475 8.782380 1.412253\nv 0.046256 0.076875 0.008887\nvn 4.880469 1.208992 -1.594930\nv 0.035989 0.077867 0.009129\nvn -2.025890 6.640475 0.805678\nv 0.050592 0.077687 0.008974\nvn -6.537708 0.296227 4.572969\nv -0.082365 0.077981 0.009211\nvn -2.103993 4.486899 0.493733\nv 0.052599 0.078384 0.009135\nvn 5.067441 -1.040803 -2.965075\nv 0.036575 0.080020 0.009141\nvn -3.361223 6.107258 0.414948\nv 0.053730 0.078987 0.009089\nvn -5.541290 -0.259924 4.145700\nv -0.082137 0.079899 0.009195\nvn 5.682275 -1.813705 -0.637372\nv 0.082252 0.080224 0.009050\nvn -4.739062 2.261108 2.883632\nv 0.020051 0.080247 0.009061\nvn -5.778347 -1.909685 4.949878\nv -0.082403 0.081806 0.009460\nvn -4.131034 5.647034 0.182802\nv 0.055941 0.080508 0.008946\nvn 4.888975 0.514052 -3.345344\nv 0.036655 0.082141 0.009050\nvn 5.741056 -1.639457 -0.540177\nv 0.082651 0.081568 0.008813\nvn -3.080869 3.930874 0.185306\nv 0.057108 0.081348 0.009178\nvn -4.686713 5.183501 0.226375\nv 0.058153 0.082214 0.009106\nvn -5.647770 5.020713 2.145383\nv 0.022379 0.084228 0.009193\nvn 4.234857 2.594888 -3.799954\nv 0.036154 0.084163 0.009113\nvn 0.375192 1.234223 4.740808\nv -0.022681 0.083736 0.008779\nvn -3.305071 2.756429 6.973236\nv -0.020789 0.083877 0.009012\nvn -2.396096 1.782223 -0.137679\nv 0.061227 0.085521 0.008615\nvn 5.147040 2.066601 3.920726\nv -0.013033 0.086067 0.009034\nvn -5.256051 1.536719 4.297254\nv -0.082518 0.086161 0.009357\nvn 1.467177 1.932227 -1.764593\nv 0.033305 0.086641 0.008501\nvn 0.431880 2.339855 4.375240\nv -0.026530 0.085952 0.008882\nvn 0.660469 1.987705 5.540478\nv -0.024419 0.086060 0.008715\nvn -1.688842 3.563752 -0.415057\nv 0.025980 0.086746 0.008912\nvn 1.217564 3.435069 5.950553\nv -0.028979 0.086238 0.009198\nvn 0.307634 2.343935 5.474795\nv -0.024265 0.087317 0.008215\nvn -5.882771 1.501951 5.043219\nv -0.082160 0.087996 0.009040\nvn -1.200937 5.545600 -1.867784\nv 0.028934 0.087756 0.009260\nvn 0.093171 4.527520 -1.985639\nv 0.030897 0.087915 0.009005\nvn 1.094650 2.741782 4.023235\nv -0.030901 0.087708 0.008744\nvn -6.353769 0.750565 6.128493\nv -0.082155 0.089732 0.009157\nvn 1.360939 3.808504 5.689303\nv -0.032619 0.087976 0.009034\nvn 2.313615 1.389479 2.053808\nv -0.013442 0.089598 0.008314\nvn -2.292616 3.823087 5.687913\nv -0.016561 0.089611 0.008998\nvn 1.851071 2.326916 4.438161\nv -0.014596 0.089679 0.008910\nvn 2.026599 4.733305 2.967964\nv -0.040317 0.090111 0.009174\nvn -1.711476 2.389375 2.096533\nv -0.015821 0.090990 0.008484\nvn 4.813253 0.441631 1.215253\nv 0.083818 0.091845 0.009335\nvn 1.879174 3.186537 1.422277\nv -0.044219 0.092221 0.009143\nvn 4.825473 6.529693 3.670478\nv -0.046503 0.093814 0.009122\nvn 7.482785 1.205352 2.380391\nv 0.083706 0.093880 0.008885\nvn -4.175706 1.728066 3.894341\nv -0.080695 0.094044 0.009410\nvn 5.608197 5.443015 4.344139\nv -0.048384 0.095592 0.009111\nvn -4.173893 1.190354 4.694131\nv -0.080109 0.095928 0.009067\nvn 4.398512 1.308333 1.939023\nv 0.083273 0.095754 0.008940\nvn -5.466856 1.781641 6.774369\nv -0.079964 0.097717 0.008912\nvn 6.651589 2.433595 3.522796\nv 0.082483 0.097841 0.009081\nvn -0.963264 0.141667 0.542608\nv 0.066904 0.098925 0.008462\nvn -3.094015 1.690966 3.478890\nv -0.079627 0.099419 0.008710\nvn 2.735784 0.951883 2.735820\nv -0.050618 0.099706 0.008554\nvn 4.553068 2.302154 3.128452\nv 0.081655 0.099493 0.009222\nvn -5.716680 2.920086 2.851955\nv 0.067703 0.099984 0.009205\nvn -3.426448 4.693085 5.015696\nv 0.070302 0.103475 0.008932\nvn 3.404857 4.936920 5.260630\nv 0.078231 0.103745 0.009172\nvn 2.825184 1.043235 5.140643\nv -0.052751 0.105847 0.008348\nvn -2.225395 2.521734 4.956180\nv -0.074020 0.106009 0.008994\nvn 2.888901 2.397874 8.157495\nv -0.054205 0.107704 0.008503\nvn -1.691388 2.681727 5.084610\nv -0.072019 0.107716 0.008884\nvn 0.952709 1.211981 5.775248\nv -0.058585 0.111875 0.008610\nvn 4.455936 0.081032 -3.925505\nv 0.040408 0.113036 0.008918\nvn 5.142732 -0.296520 -4.718422\nv 0.040583 0.111446 0.009171\nvn -1.082385 1.880758 5.581919\nv -0.066184 0.111443 0.008770\nvn 0.475556 2.160439 6.630801\nv -0.060341 0.113423 0.008337\nvn -3.959288 1.266861 4.106462\nv 0.036461 0.119387 0.009047\nvn 4.675441 2.678170 1.637174\nv 0.040497 0.119512 0.009142\nvn 2.656933 1.573613 0.717055\nv 0.039953 0.120923 0.008805\nvn 2.088078 5.269758 5.060943\nv 0.038568 0.121574 0.009041\nvn -0.617444 -4.836625 1.057483\nv -0.084193 0.141699 0.009018\nvn -0.838951 -2.780736 0.554531\nv -0.087148 0.141952 0.008329\nvn 0.756657 -5.755896 2.286861\nv -0.077931 0.141807 0.008958\nvn 0.746005 -2.773778 1.688726\nv -0.076639 0.141984 0.008941\nvn -3.044412 -8.221915 1.889521\nv -0.087924 0.142508 0.009183\nvn 0.674339 -4.098450 3.041085\nv -0.054323 0.143003 0.009067\nvn -1.076590 -3.805823 0.532741\nv -0.089656 0.143083 0.008978\nvn 1.048863 -4.831134 0.019639\nv -0.072387 0.143093 0.008923\nvn 0.482981 -6.703980 -1.511131\nv -0.070169 0.143451 0.008994\nvn 1.547377 0.300839 4.656962\nv -0.052456 0.145102 0.008617\nvn -2.493155 -6.255688 1.710421\nv -0.095870 0.144794 0.009153\nvn -1.558508 -4.666081 0.834565\nv -0.099882 0.146399 0.009068\nvn 1.614656 2.176823 5.334659\nv -0.056279 0.147101 0.008917\nvn -4.095635 1.624133 1.276692\nv -0.102051 0.149263 0.009012\nvn 1.521914 3.985312 6.725683\nv -0.060152 0.148996 0.009253\nvn -1.170295 3.616738 0.498237\nv -0.070318 0.150050 0.009046\nvn -4.313358 4.077322 0.416564\nv -0.101118 0.150472 0.008926\nvn 2.686521 4.594682 -1.119677\nv -0.078321 0.150944 0.009336\nvn -1.861907 5.437480 0.785124\nv -0.069305 0.150338 0.009143\nvn -5.444127 3.353224 0.254392\nv -0.100065 0.151301 0.009098\nvn -0.732316 6.176930 3.616905\nv -0.067959 0.150650 0.009210\nvn 0.062076 3.177335 3.254478\nv -0.066021 0.151106 0.008957\nvn 0.492830 3.923498 4.427939\nv -0.064337 0.151215 0.008740\nvn 1.440063 2.216634 1.139671\nv -0.086573 0.152394 0.008425\nvn 3.923317 6.532702 4.073697\nv -0.087915 0.152673 0.009085\nvn 2.205474 4.224859 1.060082\nv -0.089681 0.153610 0.009157\nvn 3.441006 5.794922 1.079460\nv -0.091476 0.154637 0.009264\nvn -3.929528 -5.624968 -0.081275\nv -0.101848 0.154531 0.009269\nvn 2.592161 5.349813 0.141310\nv -0.093526 0.155631 0.009027\nvn 3.421554 7.160947 -0.301962\nv -0.094673 0.156178 0.008985\nvn -3.622289 -4.471513 -1.917255\nv -0.105385 0.156759 0.009172\nvn -2.821711 1.909011 -3.897235\nv -0.105574 0.158417 0.009122\nvn 1.548470 5.711846 -0.715946\nv -0.100000 0.158194 0.009235\nvn -1.158068 6.202952 -3.755875\nv -0.103603 0.158627 0.008831\nvn 0.979676 5.805787 -0.957679\nv -0.101788 0.158559 0.009155\nvn -0.573812 -5.579887 1.602171\nv -0.064239 0.160893 0.009011\nvn 1.034242 -2.163822 2.912878\nv -0.058490 0.161365 0.008551\nvn -1.037606 -5.702026 0.907865\nv -0.066177 0.161198 0.008993\nvn -1.370333 -5.767252 0.278703\nv -0.069248 0.161955 0.009018\nvn -1.275527 -4.803245 -0.132771\nv -0.070412 0.162243 0.009066\nvn -1.984918 -6.609726 -0.959405\nv -0.072383 0.162877 0.008967\nvn 3.061592 -2.574182 6.852124\nv -0.058190 0.163133 0.008983\nvn -2.373039 -3.915008 -5.051224\nv -0.079558 0.162959 0.009088\nvn 2.182725 0.576728 6.055026\nv -0.056270 0.165133 0.008904\nvn -3.800584 -2.769301 -4.748648\nv -0.081871 0.165068 0.009353\nvn 1.610138 4.142134 5.191073\nv -0.058394 0.166281 0.008918\nvn 2.427385 5.204666 3.514640\nv -0.062153 0.167442 0.008997\nvn 1.401685 2.974043 1.605850\nv -0.063029 0.168019 0.008929\nvn 1.739056 5.005996 2.275549\nv -0.066119 0.169328 0.009033\nvn -2.939460 -5.359760 -4.995838\nv -0.085939 0.168906 0.009171\nvn 1.257047 5.722931 0.824160\nv -0.067868 0.169974 0.008550\nvn -0.007266 6.401399 2.465501\nv -0.070192 0.170214 0.008607\nvn 2.620337 5.287860 1.058476\nv -0.076111 0.171191 0.009269\nvn -5.389308 -2.300365 1.182186\nv -0.091505 0.174706 0.008994\nvn 1.934666 4.765610 3.570564\nv -0.084245 0.174772 0.009109\nvn 2.398774 2.899078 5.728367\nv -0.084016 0.176817 0.008406\nvn -6.446965 1.041533 1.698143\nv -0.093153 0.178753 0.008855\nvn 3.378679 3.345052 0.997044\nv -0.087208 0.177343 0.009148\nvn 2.504812 5.279373 0.586361\nv -0.089537 0.179528 0.009244\nvn -0.803010 7.966063 1.101202\nv -0.091458 0.179986 0.009034\nvn 1.476837 4.650475 0.268767\nv -0.090240 0.179843 0.008696\nvn 0.450383 -4.640451 3.684013\nv -0.044273 0.054903 0.009398\nvn 0.308644 -0.717623 0.663554\nv -0.034473 0.055175 0.008492\nvn -2.333933 -4.466639 -4.766590\nv -0.024436 0.054799 0.009487\nvn -0.617417 -3.392349 -3.576060\nv -0.022590 0.054437 0.009232\nvn 0.497944 -3.633881 -4.527781\nv -0.020925 0.054458 0.009126\nvn 0.598506 -3.350181 -5.864177\nv -0.018914 0.054585 0.009234\nvn 0.385477 -4.831645 -1.157872\nv 0.047842 0.055092 0.009306\nvn -1.145811 -5.759075 3.742548\nv -0.060256 0.055737 0.009164\nvn 4.453703 -3.094079 -6.671602\nv -0.012723 0.058318 0.009388\nvn -0.569016 -5.848881 -1.157311\nv 0.014543 0.059436 0.009144\nvn 4.891533 -3.469806 -0.044249\nv 0.073338 0.062175 0.009162\nvn -3.319143 -2.161885 2.970524\nv -0.076527 0.063818 0.009285\nvn 2.797981 -0.697397 1.723928\nv 0.041398 0.064470 0.009422\nvn 1.278510 -2.237384 2.141858\nv 0.042186 0.065483 0.009435\nvn 7.024930 -0.351260 -3.526875\nv -0.009647 0.070193 0.009370\nvn -4.037292 -0.895030 2.690917\nv -0.082622 0.075825 0.008868\nvn 5.649282 -1.919031 -0.603173\nv 0.081514 0.077863 0.009337\nvn 6.264807 1.535063 2.642725\nv -0.012107 0.082277 0.009198\nvn -2.285972 0.774657 1.747801\nv -0.083179 0.085625 0.008790\nvn -1.745378 2.322922 0.519028\nv 0.023521 0.085275 0.008813\nvn -2.344347 6.421723 -1.228984\nv 0.027121 0.087213 0.009086\nvn 2.126865 5.288668 6.575545\nv -0.034372 0.088138 0.009260\nvn -5.571310 2.096372 0.715906\nv 0.065006 0.093092 0.009512\nvn 4.023466 3.231370 7.198401\nv -0.052354 0.101782 0.009173\nvn 4.050464 3.618150 4.301969\nv 0.080145 0.101865 0.009383\nvn -0.186417 -4.138900 -5.121188\nv 0.038591 0.104276 0.009290\nvn 3.914824 -1.533755 -5.201542\nv 0.040435 0.105760 0.009164\nvn 1.209638 -1.058426 -2.260261\nv 0.040575 0.104373 0.009692\nvn 1.675461 0.784221 4.625311\nv -0.054382 0.105712 0.009064\nvn -3.593375 -2.077533 -1.860062\nv 0.034956 0.106268 0.009418\nvn 1.174426 1.675862 5.622640\nv -0.056200 0.107869 0.009021\nvn 1.400151 1.481377 6.668262\nv -0.058371 0.109616 0.008867\nvn 4.286004 -0.084477 -4.186302\nv 0.040642 0.109767 0.009369\nvn -0.895629 1.788171 5.638029\nv -0.067985 0.109775 0.009027\nvn 0.604750 1.297323 4.783397\nv -0.060321 0.111635 0.008934\nvn -0.694967 1.741159 5.670841\nv -0.064312 0.111657 0.009062\nvn -4.248054 2.108655 3.385871\nv 0.036139 0.117653 0.009420\nvn -0.911268 -3.818187 0.726591\nv -0.094265 0.144332 0.009221\nvn 1.582179 0.985409 6.559872\nv -0.054199 0.145117 0.009106\nvn 2.353704 3.234906 6.865547\nv -0.058049 0.147425 0.009432\nvn 1.024445 3.161830 1.543205\nv -0.083749 0.149934 0.009360\nvn 0.375541 1.912351 3.491337\nv -0.062480 0.149474 0.009311\nvn -5.330344 -2.386297 1.240502\nv -0.092351 0.176418 0.009182\nvn -1.832286 -3.729043 2.698671\nv 0.034319 0.053880 0.009579\nvn 0.740395 -4.787168 -0.831625\nv 0.039879 0.053133 0.009620\nvn 1.288941 -2.395003 -4.010849\nv -0.016990 0.054539 0.009532\nvn 0.802748 -4.069231 4.286210\nv -0.036121 0.055892 0.009645\nvn 2.258346 -3.188663 -5.438191\nv -0.014439 0.056461 0.009432\nvn -2.889643 -3.825861 3.583813\nv -0.071810 0.060013 0.009330\nvn 0.813237 -4.649228 -1.239930\nv 0.018989 0.059052 0.009667\nvn -0.791054 -5.582757 -1.948622\nv 0.020758 0.059015 0.009567\nvn 3.655131 -1.441881 -3.002397\nv -0.011581 0.060277 0.009562\nvn 0.144445 0.783949 -0.729020\nv 0.041470 0.062980 0.009690\nvn -0.000000 0.000000 0.000000\nv 0.007778 0.064334 0.009736\nvn 0.047487 6.194780 2.972986\nv 0.014911 0.064777 0.009505\nvn 0.417400 6.308323 2.289302\nv 0.012806 0.064879 0.009556\nvn 0.049800 0.914585 0.465922\nv 0.017140 0.065066 0.009509\nvn -2.214554 0.281833 5.770048\nv 0.020848 0.066120 0.009527\nvn -1.812544 -1.488333 1.870029\nv -0.078424 0.067364 0.009574\nvn 3.404321 -2.076557 -0.279919\nv 0.076808 0.067452 0.009512\nvn -3.931931 -1.243131 2.758219\nv -0.080661 0.071976 0.009316\nvn 3.572208 -1.707097 -0.515737\nv 0.078918 0.071312 0.009653\nvn -1.184740 5.797798 0.913772\nv 0.048815 0.077172 0.009535\nvn 0.658006 2.841058 6.966484\nv -0.022920 0.081831 0.009422\nvn -1.236950 1.041999 3.240772\nv -0.021325 0.082287 0.009198\nvn 2.098360 2.364689 7.334668\nv -0.024657 0.082554 0.009607\nvn 1.131817 1.064852 4.743793\nv -0.024405 0.084264 0.009045\nvn 1.084720 2.416919 6.542492\nv -0.026456 0.084363 0.009584\nvn 3.098927 1.956364 -3.288318\nv 0.036131 0.085443 0.009647\nvn 1.459828 3.163691 6.048608\nv -0.030559 0.086322 0.009474\nvn 1.127575 3.322905 3.498171\nv -0.036518 0.088170 0.009572\nvn -0.994137 1.851607 2.879027\nv -0.017196 0.088512 0.009514\nvn -4.628812 1.690752 0.810987\nv 0.065434 0.094335 0.009250\nvn 1.788837 1.989260 1.197462\nv -0.047583 0.094339 0.009583\nvn 3.319497 1.255961 1.838156\nv 0.082671 0.096475 0.009614\nvn -2.968652 1.678959 4.869288\nv -0.078388 0.099959 0.009408\nvn 3.488218 1.692308 4.552522\nv -0.051685 0.099835 0.009403\nvn -2.540605 2.374089 1.915505\nv 0.069429 0.102163 0.009338\nvn -1.224710 1.156507 2.426942\nv -0.076366 0.102317 0.009528\nvn 3.167685 2.289765 8.045163\nv -0.054245 0.103609 0.009250\nvn -1.599633 4.050820 4.003749\nv 0.071919 0.104050 0.009406\nvn -2.489589 2.123134 5.008869\nv -0.074413 0.104327 0.009583\nvn -0.373864 4.667792 5.125540\nv 0.074321 0.104557 0.009547\nvn 1.269884 3.903299 4.289878\nv 0.076210 0.104318 0.009636\nvn -1.282351 2.806474 6.261355\nv -0.070174 0.107829 0.009291\nvn 0.958004 1.628999 4.607174\nv -0.058107 0.107793 0.009309\nvn -0.685338 1.413251 5.785193\nv -0.066214 0.109729 0.009233\nvn 1.189632 1.469936 5.662992\nv -0.060372 0.109586 0.009391\nvn -0.007296 2.166303 6.614779\nv -0.062499 0.111700 0.009139\nvn -4.656614 1.586632 3.412888\nv 0.035795 0.115926 0.009688\nvn -0.096416 -3.010499 0.136565\nv -0.060165 0.142081 0.009515\nvn 1.610713 0.346343 3.287794\nv -0.055792 0.145284 0.009581\nvn -1.532037 2.841858 -0.295026\nv -0.080958 0.149841 0.009565\nvn 0.991531 3.667723 7.010734\nv -0.064157 0.149543 0.009404\nvn 1.514576 2.893139 2.107736\nv -0.087318 0.151474 0.009709\nvn 1.337466 0.496669 3.279346\nv -0.057971 0.165152 0.009546\nvn -2.132805 -2.428876 -3.765249\nv -0.083825 0.167316 0.009333\nvn -2.287448 -3.572484 -2.503841\nv -0.087727 0.169515 0.009537\nvn 0.506558 5.263294 2.571001\nv -0.072260 0.169496 0.009559\nvn -0.074083 3.246921 2.331272\nv -0.070367 0.169597 0.009518\nvn 0.703133 4.880797 3.178977\nv -0.067938 0.169678 0.009431\nvn 2.406707 2.545540 1.476003\nv -0.085812 0.175452 0.009654\nvn -1.486013 1.684000 0.215032\nv -0.092776 0.179562 0.009508\nvn 0.230119 -5.864749 -1.157860\nv 0.050269 0.055174 0.009587\nvn -0.338891 -3.894039 3.000327\nv -0.058010 0.055470 0.009681\nvn -0.254915 -5.245667 4.581623\nv -0.056151 0.055662 0.009699\nvn 0.160568 -2.164496 2.040872\nv -0.037973 0.055600 0.009646\nvn -1.367867 -1.810378 1.912971\nv 0.032148 0.055558 0.009775\nvn -1.037074 -2.247087 1.656890\nv -0.066527 0.057294 0.009628\nvn -0.131514 -4.862525 -1.122573\nv 0.017327 0.059044 0.009706\nvn 3.404745 -0.740094 -1.953244\nv -0.009847 0.066681 0.009863\nvn -1.919747 -1.341522 3.190042\nv 0.020573 0.067606 0.009765\nvn 4.236894 -0.673512 -2.555994\nv -0.009682 0.067902 0.009767\nvn 3.748287 -1.348390 -0.311785\nv 0.081094 0.076525 0.009688\nvn -2.076476 -0.146635 1.935179\nv -0.082903 0.083700 0.009641\nvn 4.907538 -0.655066 0.253600\nv 0.083689 0.086062 0.009775\nvn 2.103631 1.682537 2.927862\nv -0.014116 0.086402 0.009776\nvn 3.036402 3.554681 7.375947\nv -0.014917 0.087768 0.009615\nvn 1.245758 1.743652 -2.099313\nv 0.033771 0.087342 0.009465\nvn 2.838025 2.918037 2.883970\nv -0.049523 0.096475 0.009406\nvn 0.998003 1.259375 2.478783\nv -0.053778 0.101688 0.009745\nvn 1.500990 0.818144 3.611658\nv -0.055481 0.104162 0.009600\nvn 2.570441 1.991410 8.361974\nv -0.056056 0.106024 0.009475\nvn -1.813565 3.025153 5.983807\nv -0.072077 0.106054 0.009772\nvn 0.759088 1.339871 3.679402\nv -0.057856 0.106614 0.009756\nvn -0.673912 2.108460 5.559005\nv -0.068113 0.107648 0.009675\nvn 1.354418 1.581753 4.540037\nv -0.059643 0.108020 0.009692\nvn -0.316853 1.787633 5.700171\nv -0.066323 0.108063 0.009649\nvn -0.657336 1.321753 5.810183\nv -0.064174 0.109328 0.009556\nvn 0.203051 1.538153 5.759844\nv -0.062572 0.109507 0.009693\nvn -1.799124 1.552935 3.152378\nv 0.037621 0.119924 0.009677\nvn 1.149315 2.931773 4.792070\nv -0.065950 0.149562 0.009735\nvn 0.153393 -2.817620 -2.382913\nv -0.079305 0.161924 0.009751\nvn 2.031536 -2.524121 5.040960\nv -0.060113 0.163081 0.009727\nvn -2.751691 -2.386748 -3.064002\nv -0.081215 0.163304 0.009708\nvn 0.292774 -3.032425 2.567169\nv -0.045531 0.055167 0.009878\nvn 4.158286 -5.348611 -5.324866\nv -0.014743 0.054269 0.010893\nvn -0.392468 -2.997728 2.617006\nv -0.054336 0.055501 0.009821\nvn 0.285829 -2.932304 2.677433\nv -0.040216 0.055535 0.009863\nvn -2.240936 -3.378079 -2.842424\nv -0.026870 0.055911 0.010220\nvn 1.456078 -1.696630 -1.811009\nv -0.013411 0.056670 0.009867\nvn -0.180951 -4.198080 2.195277\nv 0.030798 0.057599 0.010867\nvn -4.751568 -0.210808 -3.044289\nv 0.008431 0.062489 0.010304\nvn 0.000000 0.000000 0.000000\nv 0.041983 0.063192 0.010141\nvn -0.907204 1.207836 1.407230\nv 0.022140 0.065691 0.009861\nvn -1.897022 -0.137126 5.077718\nv 0.022784 0.066379 0.010241\nvn -4.566501 -2.495956 2.417670\nv 0.042360 0.066220 0.010875\nvn 4.655439 0.614992 -1.016983\nv -0.008879 0.070052 0.010808\nvn 7.440647 2.213572 0.054403\nv -0.009413 0.072035 0.010759\nvn -5.063285 -1.121033 4.571020\nv -0.079745 0.072128 0.010531\nvn 4.632876 3.672182 2.411510\nv 0.036915 0.075860 0.010808\nvn -0.506453 2.885054 0.643900\nv 0.047512 0.076889 0.009864\nvn -0.204814 0.919605 4.733846\nv -0.022552 0.080064 0.010083\nvn -0.969307 1.706032 2.714276\nv -0.021348 0.080900 0.009763\nvn 0.853932 0.987082 3.750066\nv -0.025040 0.081715 0.010022\nvn 0.000000 0.000000 0.000000\nv 0.037218 0.082592 0.009893\nvn -2.883162 1.726850 2.165964\nv -0.019674 0.084575 0.009863\nvn 0.887103 1.878575 4.530393\nv -0.028732 0.084283 0.010132\nvn 0.999433 1.572948 3.539231\nv -0.031275 0.085800 0.009907\nvn 0.870126 1.810374 3.437238\nv -0.032023 0.086544 0.009795\nvn -6.525553 4.591678 0.084228\nv 0.061624 0.086098 0.010890\nvn 1.592546 3.189196 5.990312\nv -0.032563 0.085976 0.010194\nvn 2.628966 4.528666 2.507311\nv -0.038515 0.088194 0.010602\nvn 0.240202 2.804819 -2.615057\nv 0.032465 0.088648 0.010079\nvn -0.156757 4.426461 -3.694864\nv 0.032780 0.089299 0.010871\nvn -1.888538 0.185083 2.185200\nv -0.081210 0.090233 0.010058\nvn 1.861075 3.181176 1.481256\nv -0.041823 0.090461 0.009863\nvn -3.895550 1.744404 6.702592\nv -0.077965 0.097678 0.010177\nvn -1.503233 0.565363 2.516133\nv -0.078573 0.098575 0.009675\nvn -2.389240 1.908859 5.095712\nv -0.075933 0.101424 0.010104\nvn 2.127691 2.601974 4.915246\nv -0.054499 0.101491 0.010162\nvn 2.808131 -3.198723 -5.927298\nv 0.040916 0.103589 0.010375\nvn -6.147755 -1.870202 -0.450888\nv 0.034784 0.105747 0.010821\nvn -2.720582 -3.275812 -2.452863\nv 0.035685 0.104939 0.010380\nvn 0.000001 0.000000 0.000000\nv -0.069886 0.106625 0.009863\nvn -5.682831 -0.316837 0.917414\nv 0.034486 0.107791 0.010786\nvn -0.664041 1.491775 5.765306\nv -0.064492 0.108046 0.009782\nvn 1.150873 2.193900 6.513906\nv -0.060138 0.107500 0.010043\nvn -0.995385 5.235951 -1.571714\nv -0.082193 0.149851 0.010748\nvn 2.947262 7.389649 0.594997\nv -0.076223 0.149295 0.010847\nvn -0.147546 5.672383 1.367309\nv -0.074023 0.149154 0.010777\nvn 0.351543 1.769686 2.015389\nv -0.067258 0.150088 0.009875\nvn 1.886467 6.772566 -0.848126\nv -0.085822 0.150435 0.010945\nvn -0.337137 1.591282 -1.838419\nv -0.079970 0.152939 0.010875\nvn -4.203768 -3.168513 -1.641004\nv -0.107358 0.157489 0.010819\nvn 0.729565 -3.350324 3.273463\nv -0.062687 0.161502 0.010054\nvn -1.491226 -5.223117 -2.453748\nv -0.080133 0.161186 0.010711\nvn 2.270684 -5.172422 -0.717000\nv -0.078500 0.161607 0.011053\nvn 1.331048 -6.369162 0.322179\nv -0.076104 0.163008 0.011029\nvn 1.811289 -0.219420 4.083547\nv -0.058740 0.164592 0.009965\nvn -1.499462 -2.301046 -2.905327\nv -0.085183 0.167525 0.009863\nvn 1.028923 2.236612 1.606705\nv -0.064660 0.168105 0.010049\nvn 0.858300 6.066172 2.906857\nv -0.070178 0.168680 0.010722\nvn 1.752994 6.137201 4.509892\nv -0.067860 0.168593 0.010529\nvn -0.729330 -7.574943 1.636358\nv 0.038676 0.053100 0.010753\nvn 0.531117 -6.818181 -0.726555\nv 0.040629 0.053068 0.010881\nvn -0.911257 -4.873722 -3.156934\nv -0.022756 0.053493 0.010295\nvn 0.000269 -4.111497 -2.542439\nv -0.021406 0.053336 0.010303\nvn 0.107968 -7.113392 -2.707734\nv -0.020687 0.053146 0.010873\nvn 0.375329 -4.756244 -3.262464\nv -0.018444 0.053393 0.010235\nvn -3.292732 -5.670584 4.432273\nv 0.036276 0.053946 0.010925\nvn -1.224601 -3.335490 1.603562\nv 0.036694 0.053289 0.010329\nvn 1.181694 -5.439312 -2.135410\nv 0.042496 0.053469 0.010228\nvn -0.923285 -3.829837 0.283908\nv 0.060960 0.053330 0.010329\nvn -0.015958 -7.892250 0.466629\nv 0.062267 0.053238 0.010679\nvn 2.719531 -7.369286 0.803737\nv 0.064038 0.053561 0.010944\nvn -1.974427 -4.707085 -2.747867\nv -0.024714 0.053694 0.010783\nvn 1.713401 -4.816205 -2.745977\nv -0.016335 0.053558 0.010646\nvn 1.328731 -6.447112 -2.120860\nv 0.044361 0.053644 0.011001\nvn -2.603829 -3.757301 3.871607\nv 0.034538 0.054736 0.010641\nvn -2.264435 -7.555663 -0.897483\nv 0.058323 0.054365 0.010916\nvn 1.026544 -4.473019 -1.969682\nv 0.046225 0.054256 0.010795\nvn 3.582583 -4.702506 0.716239\nv 0.065915 0.054529 0.010786\nvn 1.020817 -6.453600 -2.439506\nv 0.048290 0.054609 0.010978\nvn 0.048580 -6.811124 -1.475325\nv 0.052621 0.054946 0.010944\nvn -0.717321 -6.878036 -0.845879\nv 0.056039 0.054856 0.010806\nvn -0.421409 -5.321575 4.505903\nv -0.050512 0.056109 0.011102\nvn 0.084913 -5.423306 4.370676\nv -0.048310 0.055767 0.010849\nvn 1.020725 -5.243796 5.898109\nv -0.046188 0.056374 0.011185\nvn 0.519328 -3.933504 4.468114\nv -0.044445 0.056355 0.010841\nvn 0.217973 -3.902640 4.489971\nv -0.042633 0.056283 0.010741\nvn 1.559263 -1.500623 -1.925383\nv -0.013897 0.055597 0.010259\nvn -4.682890 -5.666035 6.705411\nv 0.032701 0.056239 0.010689\nvn -0.506566 -5.318607 4.422487\nv -0.058052 0.056439 0.010686\nvn -0.419247 -5.536232 4.157672\nv -0.054360 0.056397 0.010801\nvn -0.706155 -5.264697 4.557368\nv -0.052641 0.056158 0.010791\nvn 0.351536 -4.486178 5.280300\nv -0.040696 0.056222 0.010615\nvn 0.735023 -5.196164 5.981805\nv -0.038755 0.056461 0.010496\nvn -0.257798 -4.048193 2.811512\nv -0.056255 0.056734 0.010877\nvn 0.812945 -3.978153 4.379874\nv -0.036246 0.056974 0.010483\nvn -2.133287 -5.651651 -1.810959\nv -0.028557 0.056460 0.011037\nvn 7.322254 -5.873099 -5.151925\nv -0.012709 0.056454 0.010863\nvn -1.528666 -2.564585 2.595661\nv 0.031459 0.056816 0.010263\nvn -1.238261 -5.538016 3.975855\nv -0.064439 0.057027 0.010457\nvn -0.510866 -4.768621 3.560032\nv -0.062560 0.056805 0.010411\nvn 0.372194 -4.548466 3.833706\nv -0.032408 0.057019 0.010332\nvn 4.700459 -5.133994 0.649580\nv 0.068082 0.056484 0.010673\nvn -2.296945 -5.634813 1.384125\nv -0.030760 0.057430 0.010804\nvn -0.863861 -7.155154 -3.047498\nv 0.026588 0.056879 0.010651\nvn 1.541139 -4.399599 -1.208723\nv 0.028503 0.056891 0.010980\nvn 0.637123 -4.360599 0.646839\nv 0.029502 0.057365 0.010915\nvn -3.137744 -6.269302 5.560879\nv -0.066172 0.058173 0.010902\nvn 2.153210 -1.137936 -1.613855\nv -0.012100 0.057783 0.010368\nvn -2.069166 -5.844824 -3.054821\nv 0.024252 0.057621 0.010619\nvn -1.725898 -3.517674 3.088355\nv -0.068252 0.058773 0.010351\nvn 4.171520 -4.294812 0.244444\nv 0.070100 0.058409 0.011022\nvn 5.611606 -2.670478 -2.993952\nv -0.011532 0.058115 0.011072\nvn -1.729572 -5.386383 -1.891267\nv 0.022777 0.058054 0.010922\nvn -3.307136 -4.982098 5.287857\nv -0.069901 0.060064 0.010774\nvn -0.359529 -6.856845 -1.314977\nv 0.016583 0.058774 0.011285\nvn -1.277358 -6.652026 -1.571501\nv 0.020931 0.058616 0.010927\nvn -0.378518 -3.851575 -0.981824\nv 0.013477 0.059375 0.010027\nvn -0.452514 -4.830252 -1.172495\nv 0.014765 0.058993 0.010769\nvn -3.410176 -4.016178 -4.574781\nv 0.008799 0.060009 0.010641\nvn -0.784350 -4.499809 -1.863909\nv 0.010813 0.059455 0.010373\nvn -1.853850 -2.417349 2.585829\nv -0.071425 0.060881 0.010503\nvn 5.402208 -4.433886 -0.021154\nv 0.072351 0.060797 0.010878\nvn 7.006362 -2.055172 -3.135252\nv -0.010794 0.060162 0.010936\nvn -3.004236 -4.068904 4.800661\nv -0.071986 0.062076 0.011149\nvn -2.379190 -3.104974 3.079054\nv -0.074137 0.062661 0.010335\nvn 5.367795 -1.218056 -2.297143\nv -0.010198 0.062647 0.010834\nvn -4.073248 3.549267 -3.381511\nv 0.042347 0.064217 0.010644\nvn 4.900059 1.144793 0.280385\nv 0.041273 0.064388 0.010844\nvn 4.103915 -2.853053 -0.083156\nv 0.073628 0.062546 0.010869\nvn -2.848187 -2.383613 3.268658\nv -0.075674 0.064340 0.010540\nvn 5.205759 -1.151697 -2.714263\nv -0.010003 0.064096 0.010634\nvn -4.157451 1.321431 -4.248292\nv 0.007340 0.064429 0.010802\nvn -3.143742 0.557415 -3.023942\nv 0.008291 0.063940 0.010424\nvn 4.115510 -2.834494 -0.144444\nv 0.074480 0.063803 0.010869\nvn 1.031374 4.743488 0.461637\nv 0.012705 0.064679 0.010934\nvn 0.582316 4.756814 0.430621\nv 0.014532 0.064295 0.010760\nvn -0.327690 5.619170 1.356815\nv 0.016785 0.064370 0.010736\nvn 1.462835 5.751671 -0.401244\nv 0.011497 0.065041 0.010725\nvn -0.211526 5.474520 2.126135\nv 0.018771 0.064531 0.011065\nvn 4.975484 -3.342622 -0.255666\nv 0.075128 0.064768 0.010679\nvn 3.425427 -0.809217 -1.896398\nv -0.009973 0.065465 0.010148\nvn 7.190739 -1.574994 -3.034181\nv -0.009387 0.066200 0.010957\nvn -1.445372 5.200324 -3.034241\nv 0.009038 0.065480 0.010949\nvn 0.521328 5.645566 -1.344431\nv 0.010436 0.065333 0.010899\nvn -1.045075 5.122402 3.457755\nv 0.020798 0.064814 0.010799\nvn -0.362925 3.808733 3.893572\nv 0.022723 0.064795 0.010866\nvn -0.848967 -0.115179 4.460867\nv 0.024466 0.066189 0.010561\nvn 3.493791 -1.456720 2.852181\nv 0.041154 0.066137 0.010827\nvn 5.035995 -3.248491 -0.284620\nv 0.076162 0.066320 0.010773\nvn -1.889166 -1.449279 1.824872\nv -0.077229 0.066725 0.010271\nvn -5.788471 -4.058145 6.912230\nv -0.077971 0.068128 0.010604\nvn -3.277541 -3.964832 7.297985\nv 0.022618 0.067874 0.010938\nvn -1.812576 -1.642681 3.133889\nv 0.021055 0.068152 0.010370\nvn 5.303013 -0.798232 -2.495354\nv -0.009020 0.068108 0.010697\nvn 6.895396 -4.025021 -0.440619\nv 0.077379 0.068244 0.011050\nvn -3.356441 -1.366383 3.346004\nv -0.079310 0.070179 0.010615\nvn -5.814293 -3.658026 8.379393\nv 0.020426 0.069912 0.010844\nvn 3.506166 -1.900669 -0.283436\nv 0.078185 0.069696 0.010780\nvn -1.801311 -0.942270 2.055766\nv 0.019647 0.070228 0.010433\nvn -4.139780 -0.801092 4.187805\nv 0.019450 0.072177 0.010686\nvn 6.271025 -3.062522 -0.500464\nv 0.078951 0.071177 0.010825\nvn 3.641913 -1.620581 -0.317875\nv 0.079506 0.072442 0.010446\nvn -4.648942 -1.585045 6.011389\nv -0.080067 0.074215 0.010932\nvn 3.752995 1.306277 0.118067\nv -0.009855 0.073375 0.010212\nvn -5.306730 0.029408 4.508358\nv 0.019281 0.074135 0.010664\nvn 1.128017 3.925741 5.280971\nv -0.022768 0.073949 0.010455\nvn -3.424563 3.075808 4.466981\nv -0.020723 0.074183 0.010782\nvn 1.787991 1.712854 2.324060\nv -0.024277 0.074436 0.010872\nvn 5.507752 2.184063 0.874062\nv -0.010275 0.074160 0.010935\nvn -4.481755 -0.656303 3.801741\nv -0.081511 0.075885 0.010391\nvn 3.050627 2.516961 4.621249\nv -0.024869 0.075863 0.010691\nvn 0.437435 0.389101 5.728305\nv -0.022748 0.076080 0.010065\nvn -4.342707 -0.180543 7.419258\nv -0.020663 0.076010 0.010644\nvn 6.525498 2.119570 1.317679\nv -0.010986 0.076178 0.010891\nvn -4.749113 1.082093 3.440836\nv 0.019226 0.075920 0.010367\nvn -0.029585 4.190007 2.443102\nv 0.038758 0.075463 0.010580\nvn -1.842636 5.598658 2.220719\nv 0.040406 0.075735 0.010859\nvn -0.231347 6.560498 2.217311\nv 0.042702 0.075921 0.010783\nvn -0.825204 4.688834 1.487988\nv 0.044279 0.076115 0.010812\nvn 4.687713 -1.703310 -0.312635\nv 0.081108 0.076350 0.010913\nvn -1.298125 6.693935 1.530495\nv 0.047924 0.076713 0.010928\nvn -4.600913 0.090280 3.778332\nv -0.081463 0.077994 0.010448\nvn -0.686883 -0.079801 5.832416\nv -0.022773 0.077948 0.010278\nvn 8.360919 -1.857508 -3.601869\nv 0.036720 0.077744 0.010801\nvn -2.133045 6.578173 0.946645\nv 0.050352 0.077346 0.010988\nvn 5.670728 -1.929130 -0.343940\nv 0.081582 0.077795 0.010796\nvn -2.584903 -0.054594 3.972374\nv -0.020834 0.077907 0.010630\nvn -5.985348 1.726485 4.956851\nv 0.020284 0.077960 0.010882\nvn -3.026025 6.247797 0.524587\nv 0.052250 0.078031 0.010775\nvn -2.026825 3.442064 0.149645\nv 0.053794 0.078975 0.010387\nvn -4.134019 2.020215 6.482838\nv -0.020641 0.080029 0.010759\nvn -5.579920 2.167678 3.572642\nv 0.020841 0.079617 0.010913\nvn 3.313273 -0.902490 -2.010269\nv 0.037186 0.079518 0.010423\nvn -4.452280 6.627124 0.331341\nv 0.054538 0.079424 0.010856\nvn 6.676152 -2.013417 -0.161497\nv 0.082391 0.080068 0.010864\nvn 6.241667 1.926331 2.347538\nv -0.012162 0.080298 0.010887\nvn -2.918269 4.049982 0.241137\nv 0.055759 0.080330 0.010842\nvn -3.394510 -0.527434 3.561785\nv -0.081441 0.082142 0.010459\nvn 1.003888 1.398278 5.688753\nv -0.024263 0.080074 0.010341\nvn -3.647998 1.337617 3.119848\nv -0.020290 0.081670 0.010548\nvn -3.202168 1.428783 1.884193\nv 0.021459 0.081691 0.010498\nvn 6.657918 0.053475 -4.287350\nv 0.037921 0.082065 0.010968\nvn -2.980937 4.005467 0.169893\nv 0.056874 0.081093 0.010841\nvn 0.901118 1.034439 4.878284\nv -0.026601 0.081998 0.010344\nvn 4.924485 2.692380 3.874488\nv -0.012803 0.082109 0.010910\nvn -4.661146 5.207361 0.171599\nv 0.058137 0.082121 0.010913\nvn 4.013094 1.911249 3.706259\nv -0.013183 0.083703 0.010497\nvn -4.714234 2.435196 2.711732\nv 0.022129 0.082558 0.010926\nvn -5.648580 0.016473 6.743040\nv -0.081691 0.083999 0.010666\nvn 0.013256 0.370459 1.041830\nv -0.026686 0.083613 0.009974\nvn 3.818934 1.008059 -3.030475\nv 0.037130 0.084090 0.010277\nvn -4.382205 2.096204 3.484024\nv -0.019219 0.084033 0.010889\nvn -5.418852 3.342905 2.730129\nv 0.022873 0.083819 0.010996\nvn -5.979148 5.276486 0.123665\nv 0.060184 0.084203 0.010621\nvn 1.615969 2.698401 6.234007\nv -0.030666 0.083917 0.010587\nvn -3.502990 0.974167 3.387958\nv -0.081596 0.086127 0.010463\nvn -3.991574 3.870523 5.271818\nv -0.018442 0.085909 0.010532\nvn 3.098929 3.082245 6.634281\nv -0.014760 0.085738 0.010470\nvn 3.088113 1.751932 3.316509\nv -0.013473 0.085275 0.010002\nvn -3.283688 3.548703 1.081447\nv 0.023627 0.085021 0.010387\nvn -2.385763 1.795765 -0.006685\nv 0.061196 0.085448 0.010318\nvn -5.662084 6.630237 1.772760\nv 0.024811 0.085795 0.010908\nvn 4.484638 2.602025 -4.542613\nv 0.036665 0.086147 0.010651\nvn 6.822259 -0.555597 1.127539\nv 0.083563 0.086026 0.010913\nvn 4.005569 5.169036 5.590778\nv -0.034519 0.085981 0.010838\nvn -2.538324 4.243406 0.164179\nv 0.025756 0.086627 0.010212\nvn 1.256244 1.451257 2.103622\nv -0.034473 0.087025 0.010113\nvn -0.444724 3.217794 5.573113\nv -0.016648 0.087601 0.010203\nvn 0.871438 1.209929 2.571430\nv -0.015223 0.087200 0.010042\nvn -2.420053 4.296718 -0.170343\nv 0.027119 0.087518 0.010834\nvn 5.760665 0.145508 1.482129\nv 0.083591 0.087965 0.010888\nvn -2.729662 1.035236 2.719188\nv -0.081324 0.087370 0.010254\nvn 2.283748 4.951204 3.964866\nv -0.036842 0.087374 0.010560\nvn -5.122509 3.109423 0.148102\nv 0.062693 0.087771 0.010877\nvn 4.050644 5.287427 -7.245589\nv 0.034531 0.088084 0.010524\nvn -4.772435 1.692471 6.096184\nv -0.080196 0.087877 0.011214\nvn -2.056764 5.513217 -0.923419\nv 0.028643 0.088130 0.010832\nvn -2.073601 7.656237 -3.512816\nv 0.030357 0.088660 0.010761\nvn -5.179532 0.885799 7.141281\nv -0.079994 0.089594 0.010869\nvn 6.618813 0.268525 2.118954\nv 0.083608 0.090161 0.010621\nvn 0.819587 3.369623 -4.578892\nv 0.034389 0.089677 0.011352\nvn 3.079059 5.734620 2.134737\nv -0.040884 0.089540 0.010885\nvn -6.327078 2.918425 0.514357\nv 0.063858 0.089911 0.010656\nvn 4.038875 6.595410 1.620970\nv -0.042559 0.090570 0.010916\nvn -5.678950 1.636779 7.767654\nv -0.080023 0.091640 0.010731\nvn 1.324076 2.430885 1.000556\nv -0.043006 0.091011 0.010212\nvn -1.782917 0.285945 2.235006\nv -0.081373 0.091225 0.009909\nvn 3.653914 5.735687 1.330575\nv -0.044441 0.091799 0.010790\nvn -4.589251 1.895927 0.574439\nv 0.064746 0.091955 0.011000\nvn 6.299658 1.116687 2.792941\nv 0.083332 0.091747 0.010774\nvn 2.635271 4.070245 1.046403\nv -0.045848 0.092683 0.010913\nvn -3.016815 1.183275 3.734077\nv -0.079703 0.093688 0.010538\nvn 2.716502 4.045937 0.890797\nv -0.046481 0.093127 0.010722\nvn 4.526214 6.152091 2.009101\nv -0.047975 0.094243 0.010651\nvn -5.442382 2.324676 0.964000\nv 0.065563 0.093839 0.011025\nvn 6.706152 2.129691 3.746731\nv 0.082336 0.095459 0.010988\nvn -5.337531 2.321382 1.394434\nv 0.066307 0.095659 0.010971\nvn 4.158420 5.621622 3.631953\nv -0.050292 0.095848 0.010921\nvn -4.073178 2.314734 6.419776\nv -0.078140 0.095801 0.010774\nvn 2.187180 2.358102 2.344923\nv -0.050919 0.097048 0.010056\nvn 6.115811 2.904815 4.195793\nv 0.081635 0.097443 0.010701\nvn -4.930800 2.629970 2.036869\nv 0.066948 0.097182 0.010821\nvn 5.359470 4.856588 6.518280\nv -0.052298 0.097565 0.010899\nvn -3.929041 2.267958 2.062945\nv 0.067583 0.098013 0.011034\nvn 1.989499 1.347824 3.190311\nv -0.052792 0.099428 0.010304\nvn -1.586181 1.229454 3.416386\nv -0.077611 0.099625 0.009936\nvn -5.362625 4.081447 4.123031\nv 0.068350 0.099414 0.010944\nvn 3.351158 3.254974 6.431784\nv -0.054098 0.099717 0.010950\nvn 1.447380 1.595378 2.046482\nv 0.079442 0.101345 0.010428\nvn -2.567839 2.225627 1.994905\nv 0.068952 0.101089 0.010082\nvn -4.515013 5.908082 6.514758\nv 0.070299 0.101683 0.010694\nvn -1.549747 1.290192 4.563488\nv -0.074171 0.101562 0.010789\nvn -2.145017 1.997235 5.195768\nv -0.074042 0.103148 0.010317\nvn 1.811334 2.381941 5.170481\nv -0.056068 0.101584 0.010840\nvn 3.706044 5.592423 7.302875\nv 0.078162 0.101822 0.010831\nvn 1.976698 1.756346 5.363670\nv -0.056598 0.103241 0.010329\nvn -0.785776 -2.612802 -2.715377\nv 0.038461 0.103241 0.010534\nvn -0.889816 3.255716 3.583553\nv 0.072436 0.103282 0.010380\nvn 1.120534 2.350752 2.986028\nv 0.077177 0.103358 0.010120\nvn -0.247833 3.234696 3.763096\nv 0.074085 0.103220 0.010551\nvn 0.767594 4.105865 5.570735\nv 0.075836 0.103356 0.010423\nvn 4.016790 -0.684014 -5.264966\nv 0.042232 0.103846 0.011119\nvn -1.448900 1.484095 3.387536\nv -0.073323 0.104875 0.009933\nvn -1.973074 2.264549 6.243155\nv -0.072246 0.103824 0.010708\nvn 1.375904 0.851169 3.650378\nv -0.056523 0.104875 0.009906\nvn -3.613621 -5.161871 -4.742249\nv 0.036802 0.103700 0.011226\nvn -0.749187 1.575912 3.543295\nv -0.071928 0.105400 0.010151\nvn 1.837292 2.430789 7.371006\nv -0.058315 0.105497 0.010298\nvn -0.627643 2.259973 5.507106\nv -0.069715 0.105459 0.010367\nvn -0.493233 1.749420 4.647396\nv -0.068091 0.105843 0.010443\nvn 2.955637 -0.171330 -2.653755\nv 0.041434 0.106363 0.010107\nvn -0.323363 2.854195 7.452890\nv -0.066192 0.105736 0.010592\nvn -0.341256 2.092675 5.599968\nv -0.064285 0.105966 0.010546\nvn 0.847923 1.541708 5.716764\nv -0.060274 0.105593 0.010713\nvn -0.608449 1.585103 4.698752\nv -0.064237 0.107238 0.010065\nvn -0.249998 1.691234 4.680360\nv -0.065448 0.107325 0.009902\nvn -0.397352 1.626429 5.721370\nv -0.062513 0.107831 0.010156\nvn 3.699106 -0.061436 -3.359975\nv 0.041386 0.108313 0.010196\nvn -7.870959 1.622630 3.881795\nv 0.034844 0.109625 0.010833\nvn 2.201415 -0.053388 -2.034723\nv 0.041464 0.109183 0.010236\nvn 6.441431 0.334866 -4.439806\nv 0.041956 0.109695 0.010775\nvn 5.355844 0.495246 -2.083245\nv 0.041835 0.111636 0.010718\nvn -5.170395 1.112049 2.778666\nv 0.035016 0.111551 0.010440\nvn 3.200737 0.279867 -2.287539\nv 0.041477 0.112869 0.010177\nvn -2.518939 0.693390 1.473253\nv 0.035523 0.113252 0.010543\nvn -7.421281 2.137631 4.603363\nv 0.036035 0.113739 0.011176\nvn 5.389653 0.641610 -1.866305\nv 0.041702 0.113809 0.010868\nvn 4.399957 1.398859 0.158454\nv 0.041520 0.114993 0.010890\nvn -3.905889 1.572592 2.691901\nv 0.036502 0.115749 0.010776\nvn 4.154974 1.717835 0.796626\nv 0.041134 0.116035 0.011147\nvn -5.439217 3.041849 4.897079\nv 0.037071 0.117247 0.010635\nvn 5.499829 2.544282 3.073339\nv 0.040488 0.117667 0.010996\nvn -2.039149 5.041874 6.731634\nv 0.038662 0.119425 0.010554\nvn 1.236843 1.740973 1.429916\nv 0.040166 0.119295 0.010237\nvn -0.343185 -3.808727 1.079696\nv -0.085359 0.142081 0.010613\nvn -0.746827 -7.736717 1.838891\nv -0.083823 0.142019 0.010575\nvn -0.201759 -4.932727 0.884934\nv -0.081808 0.141855 0.010915\nvn 0.515579 -5.882662 1.016780\nv -0.079719 0.142096 0.010923\nvn 0.527147 -3.870707 0.815020\nv -0.077990 0.142052 0.010176\nvn -1.584434 -5.642407 1.140891\nv -0.087945 0.142946 0.010762\nvn -1.456656 -6.536923 1.767634\nv -0.086281 0.142334 0.010967\nvn 1.247389 -6.790987 0.564206\nv -0.076064 0.142592 0.010836\nvn 1.976119 -1.431411 2.690391\nv -0.064123 0.142841 0.011165\nvn 0.178990 -4.947409 0.982280\nv -0.064307 0.141958 0.010847\nvn 1.014056 -2.267597 -0.008975\nv -0.063173 0.142133 0.010387\nvn 1.778117 -3.321739 4.258936\nv -0.062571 0.142797 0.010939\nvn 1.275571 -3.667424 5.438507\nv -0.060304 0.143053 0.010611\nvn -0.108836 -3.995514 -3.246325\nv -0.066190 0.142404 0.010571\nvn 0.288445 -4.904315 -0.503090\nv -0.074300 0.142837 0.010866\nvn 0.434704 -7.756445 -1.482313\nv -0.072248 0.142843 0.010894\nvn 0.031932 -4.793433 -0.644438\nv -0.069780 0.142841 0.010680\nvn -0.764161 -7.070539 -1.138353\nv -0.067962 0.142622 0.010865\nvn 1.378154 -1.434634 1.887074\nv -0.058683 0.143244 0.010085\nvn -1.495891 -5.727954 0.871771\nv -0.089989 0.143337 0.010494\nvn -1.738221 -5.660492 0.944231\nv -0.091640 0.143921 0.011211\nvn 2.188939 -0.336367 5.964372\nv -0.057919 0.145061 0.010261\nvn 1.599764 -0.042132 5.030919\nv -0.056368 0.144665 0.010057\nvn -1.930197 -6.616453 1.102716\nv -0.093611 0.144416 0.010743\nvn -2.502119 -5.329257 1.029123\nv -0.095832 0.145269 0.010837\nvn -1.141386 -4.795305 0.683430\nv -0.098056 0.146329 0.010904\nvn -1.972682 -4.452851 0.933291\nv -0.097375 0.146096 0.010706\nvn 1.064220 1.121789 3.583372\nv -0.058718 0.146437 0.010234\nvn -2.092465 -6.507466 1.233044\nv -0.099860 0.146631 0.010889\nvn -3.321088 -2.474932 1.304313\nv -0.101549 0.147460 0.010931\nvn 0.908261 1.851292 4.473132\nv -0.060496 0.147356 0.010257\nvn 0.701751 2.389169 4.306265\nv -0.064136 0.147319 0.010837\nvn 1.266653 3.268514 7.114523\nv -0.062556 0.147147 0.010627\nvn -7.610027 2.926011 2.397273\nv -0.101523 0.149472 0.010848\nvn 0.833968 2.954023 5.129678\nv -0.066017 0.148538 0.010239\nvn 0.781737 2.804046 5.096637\nv -0.067935 0.149144 0.010369\nvn 1.747699 6.176183 0.030108\nv -0.084257 0.149949 0.010939\nvn 2.006354 1.914793 -1.121350\nv -0.077192 0.150021 0.010466\nvn 0.572631 4.372331 3.170794\nv -0.072017 0.149182 0.010880\nvn -0.308263 5.394177 4.886237\nv -0.069990 0.149360 0.010758\nvn -2.740178 2.763861 0.698364\nv -0.100803 0.150538 0.010375\nvn -3.354601 2.979541 -2.028899\nv -0.081360 0.150688 0.011078\nvn 2.343760 4.819287 0.974212\nv -0.087925 0.151066 0.010831\nvn 6.161850 4.622653 -1.704445\nv -0.077842 0.151072 0.010981\nvn -5.497418 4.036566 3.032175\nv -0.099850 0.151262 0.010937\nvn -3.168613 4.344344 -1.948307\nv -0.080277 0.151822 0.010570\nvn 3.062873 3.287479 0.984996\nv -0.089279 0.151799 0.011067\nvn -4.003887 -2.569044 4.115271\nv -0.099755 0.153234 0.010701\nvn 3.927239 5.095146 1.765544\nv -0.090023 0.152854 0.010803\nvn 1.713440 2.438746 -0.478653\nv -0.078671 0.152643 0.011081\nvn 2.497646 2.992211 0.739989\nv -0.091234 0.153700 0.011094\nvn -3.279673 -5.129487 2.926087\nv -0.101451 0.154702 0.010985\nvn 2.780761 4.789100 1.650343\nv -0.092082 0.154592 0.010679\nvn 2.583589 4.561434 2.213187\nv -0.093798 0.155498 0.010949\nvn -3.185863 -5.879587 1.668178\nv -0.103145 0.155629 0.010798\nvn -1.742212 -4.506352 0.694230\nv -0.105665 0.156722 0.010817\nvn 2.847466 5.558814 2.143620\nv -0.095848 0.156648 0.011019\nvn -2.445972 1.594766 -1.290795\nv -0.107512 0.158535 0.010966\nvn 2.646963 7.186129 1.253361\nv -0.097943 0.157507 0.011001\nvn 2.003675 6.475116 0.668710\nv -0.100273 0.158322 0.010708\nvn -1.058630 5.539716 -0.783946\nv -0.106030 0.159152 0.010799\nvn 0.841277 3.880308 0.078934\nv -0.101804 0.158725 0.010909\nvn 0.700380 6.796929 0.315317\nv -0.103948 0.159089 0.010809\nvn 0.718526 -4.562885 4.601880\nv -0.064500 0.161684 0.010584\nvn -0.252612 -4.005275 2.286697\nv -0.066054 0.161699 0.010766\nvn -5.826585 -3.329113 -1.526689\nv -0.081663 0.162968 0.010690\nvn 2.609944 -3.611325 0.396852\nv -0.077634 0.162168 0.010874\nvn 2.777732 -4.040862 7.500338\nv -0.062515 0.163171 0.010748\nvn -1.130004 -5.696749 0.957651\nv -0.071834 0.162670 0.010970\nvn -0.787015 -6.749831 0.654512\nv -0.073885 0.163075 0.010843\nvn 1.031216 -1.289503 2.497864\nv -0.060842 0.163311 0.010164\nvn -3.078501 -3.935154 -0.978522\nv -0.082466 0.164326 0.010822\nvn -2.853058 -4.592039 -3.607714\nv -0.084017 0.165038 0.010744\nvn 3.447585 0.524807 6.957610\nv -0.060307 0.164964 0.010707\nvn -1.825888 -1.775199 -3.051580\nv -0.084409 0.166122 0.010199\nvn 1.755953 2.363070 2.219540\nv -0.060676 0.166018 0.010418\nvn -4.901420 -5.364595 -5.691864\nv -0.085890 0.167053 0.010639\nvn 2.787477 3.904578 4.607706\nv -0.062601 0.166522 0.010774\nvn 2.701893 5.989187 4.441491\nv -0.064176 0.167148 0.010860\nvn -6.411066 -4.511706 -1.149265\nv -0.087965 0.168942 0.010786\nvn 1.406304 4.498248 3.654700\nv -0.066186 0.168321 0.010382\nvn 1.882075 5.547806 1.122754\nv -0.072459 0.169191 0.010755\nvn -5.430984 -3.604067 1.750079\nv -0.089693 0.170851 0.010716\nvn 2.585372 5.342358 0.859544\nv -0.075669 0.170680 0.010803\nvn 3.278387 6.087120 0.751459\nv -0.077846 0.171663 0.010864\nvn 2.735569 4.093524 0.444177\nv -0.078619 0.172089 0.010913\nvn -4.383852 -2.020144 1.102277\nv -0.090487 0.172897 0.010768\nvn 2.712033 5.160963 0.802087\nv -0.079906 0.173093 0.010895\nvn -5.460412 -2.350853 0.680007\nv -0.091282 0.174852 0.010840\nvn 1.503485 5.418254 1.540853\nv -0.083958 0.174029 0.011151\nvn 1.492178 5.498351 1.390941\nv -0.081953 0.174072 0.010844\nvn 5.060740 5.947231 0.828893\nv -0.085614 0.175087 0.010708\nvn -5.497952 -1.671385 1.103803\nv -0.092205 0.176717 0.010844\nvn 3.559772 3.052782 1.060607\nv -0.086576 0.176124 0.010300\nvn 6.149314 4.954229 0.906181\nv -0.087366 0.177155 0.010936\nvn -4.525296 4.536000 3.362209\nv -0.092235 0.179021 0.010886\nvn 3.591862 4.499156 1.130675\nv -0.088330 0.178485 0.010913\nvn -0.223099 2.486760 1.049584\nv -0.090998 0.179777 0.010387\nvn -1.563530 -5.722809 -0.020439\nv 0.060152 0.053605 0.011083\nvn -3.795554 -5.209356 -4.546957\nv -0.026454 0.054619 0.011143\nvn 0.135793 -0.953282 -3.558184\nv 0.004735 0.056100 0.010795\nvn 1.288882 -1.850054 -2.038433\nv 0.006400 0.056439 0.010963\nvn -0.577457 -3.855716 3.109495\nv -0.060020 0.056764 0.010701\nvn 0.192276 -2.105638 2.094479\nv -0.035173 0.056925 0.010225\nvn -0.880131 -4.846486 3.022041\nv -0.032340 0.057842 0.011223\nvn -3.442981 -3.157875 5.085347\nv -0.074221 0.063808 0.011263\nvn -0.974724 1.439305 0.926418\nv 0.026174 0.065030 0.011016\nvn -0.925419 4.317229 3.618375\nv 0.024481 0.064853 0.010958\nvn -3.411169 -0.300786 4.785311\nv 0.026771 0.066002 0.011111\nvn -5.814979 -3.704435 7.123731\nv -0.076003 0.066368 0.011250\nvn -0.736576 -1.680309 1.621088\nv 0.041932 0.067321 0.011337\nvn 5.521268 -2.294670 -0.485512\nv 0.080205 0.073958 0.011087\nvn -2.519684 -1.223739 2.701318\nv -0.081163 0.074845 0.010478\nvn 5.580681 -2.149611 -0.455195\nv 0.080679 0.075167 0.010913\nvn -1.045782 5.715252 1.449620\nv 0.046167 0.076455 0.010959\nvn 1.131121 0.374220 6.867494\nv -0.024804 0.078308 0.010561\nvn 1.574846 1.074549 6.678844\nv -0.026816 0.079996 0.010609\nvn 6.759644 -1.690854 0.049591\nv 0.082811 0.081483 0.010971\nvn 1.346691 1.645226 5.591258\nv -0.028622 0.082084 0.010793\nvn 3.903785 -0.827780 -0.126606\nv 0.083017 0.082475 0.010562\nvn -0.824476 0.303364 0.490012\nv -0.019795 0.083030 0.010597\nvn 5.900250 -0.890364 0.403883\nv 0.083297 0.084080 0.011117\nvn 3.188416 3.159019 5.266273\nv -0.014383 0.084129 0.011096\nvn 4.043169 5.135597 5.655535\nv -0.032528 0.084150 0.011078\nvn 1.872238 3.177346 1.454834\nv -0.036107 0.086636 0.011065\nvn 0.000000 0.000000 0.000000\nv -0.039629 0.088833 0.010562\nvn 3.517706 0.819116 1.703364\nv 0.083157 0.093190 0.010544\nvn -2.153521 1.222877 3.076173\nv -0.079141 0.094812 0.010580\nvn 0.000000 0.000000 0.000000\nv -0.049075 0.095075 0.010562\nvn -3.124359 2.753117 6.784671\nv -0.076034 0.097705 0.011285\nvn -2.989340 2.265051 7.008701\nv -0.075792 0.099591 0.010691\nvn 5.623969 4.976448 5.943521\nv 0.080307 0.099462 0.011061\nvn 1.629505 1.793646 6.537281\nv -0.058248 0.103592 0.010762\nvn -0.554824 1.774436 5.689970\nv -0.070621 0.103710 0.010958\nvn 5.149269 -0.330946 -4.576401\nv 0.042260 0.106095 0.011132\nvn -0.125748 1.814841 5.682772\nv -0.062360 0.106102 0.010712\nvn 5.529707 0.302295 -4.210849\nv 0.042229 0.107787 0.011123\nvn 1.202773 0.775130 5.753424\nv -0.060327 0.145064 0.010699\nvn 1.596520 4.490430 7.542961\nv -0.067786 0.147371 0.011223\nvn 1.722434 2.945860 1.435643\nv -0.094670 0.156141 0.010821\nvn -0.505318 -4.218225 1.861440\nv -0.067694 0.161823 0.010746\nvn -0.787184 -5.303148 1.976623\nv -0.069937 0.162307 0.011140\nvn 2.138705 4.465090 0.695176\nv -0.074387 0.170047 0.010913\nvn 1.273863 5.154289 1.771175\nv -0.089806 0.179364 0.010953\nvn -0.811434 -3.616386 -1.138912\nv -0.024073 0.053221 0.011262\nvn -0.294804 -6.843748 -1.095122\nv -0.022809 0.053107 0.011452\nvn 0.082563 -4.882187 -0.915391\nv -0.018986 0.053058 0.011204\nvn 0.538405 -3.761120 -1.097905\nv -0.017160 0.053124 0.011281\nvn -0.995444 -3.277849 1.965391\nv 0.037564 0.053398 0.011013\nvn 0.637180 -3.857040 -0.657608\nv 0.042672 0.053207 0.011222\nvn -4.006541 -1.527081 -1.559176\nv 0.003100 0.056488 0.011563\nvn 0.820051 -1.635170 -0.715180\nv 0.004596 0.055208 0.011350\nvn -1.354655 -1.745531 2.018670\nv 0.034184 0.055816 0.011410\nvn -1.173798 -4.299417 3.932225\nv -0.064364 0.057765 0.011375\nvn -0.302141 -3.884933 3.129776\nv -0.062451 0.057661 0.011420\nvn -0.830067 -5.535552 4.144433\nv -0.060641 0.057470 0.011347\nvn 0.432107 -3.987218 5.693385\nv -0.038676 0.057841 0.011454\nvn 0.326159 -3.341801 3.684042\nv -0.036748 0.057688 0.011262\nvn 0.000000 0.000000 0.000000\nv -0.029661 0.057167 0.011029\nvn -2.004126 2.227432 -5.801995\nv 0.004836 0.058113 0.011359\nvn 1.092127 -1.367790 -5.363371\nv 0.006989 0.057980 0.011202\nvn -0.943569 -2.626622 -0.932818\nv 0.024890 0.057036 0.011300\nvn -1.011065 -3.636321 2.589942\nv 0.032060 0.057716 0.011383\nvn 0.216391 -5.749967 5.534536\nv -0.034531 0.057820 0.011192\nvn -2.005385 -3.800469 4.174650\nv -0.068038 0.059676 0.011399\nvn 0.631117 -2.968965 -4.530549\nv 0.008977 0.058415 0.011353\nvn 0.377630 -4.712482 -3.190226\nv 0.010742 0.058901 0.011368\nvn -0.184348 -6.630261 -2.093339\nv 0.012602 0.059156 0.011000\nvn -3.155201 1.334757 -7.079316\nv 0.007097 0.060122 0.011349\nvn -3.342622 -0.193847 -3.549533\nv 0.007587 0.062236 0.011284\nvn 4.606869 -1.010445 -1.652475\nv -0.009672 0.064419 0.011296\nvn -1.358209 1.804909 -1.126163\nv 0.007475 0.065382 0.011461\nvn -2.147285 -1.029715 3.208495\nv -0.076497 0.067879 0.011490\nvn -1.508832 -3.180316 4.836361\nv 0.024497 0.067649 0.011496\nvn 0.768815 -2.959380 3.377337\nv 0.041353 0.067328 0.011398\nvn 0.000000 0.000000 0.000000\nv 0.076895 0.067425 0.010913\nvn -2.939775 -1.854239 4.826274\nv -0.078011 0.070051 0.011567\nvn -3.770809 -0.901864 4.525761\nv 0.020035 0.071966 0.011186\nvn 0.606279 3.260720 1.253821\nv -0.022184 0.073041 0.011214\nvn -1.033223 2.693462 2.053316\nv -0.021419 0.073034 0.011310\nvn -0.021941 4.927496 2.920247\nv 0.038051 0.074951 0.011335\nvn -3.865459 -1.142030 5.582519\nv -0.080281 0.076080 0.011438\nvn 1.711186 1.516067 1.229128\nv -0.026113 0.076210 0.011233\nvn -4.190927 0.754475 4.166091\nv 0.020027 0.076081 0.011282\nvn -3.172694 -0.190863 3.753901\nv -0.080640 0.077789 0.011440\nvn 3.883690 2.989448 5.001704\nv -0.026492 0.077691 0.010911\nvn 5.477049 1.911533 1.335573\nv -0.011490 0.077575 0.011262\nvn 0.000000 -0.000000 0.000000\nv 0.040698 0.078683 0.011517\nvn 2.691101 2.319844 2.627374\nv -0.027953 0.078360 0.011401\nvn -4.217482 0.293499 4.171778\nv -0.080521 0.079816 0.011414\nvn 0.000000 -0.000000 0.000000\nv 0.040950 0.079145 0.011488\nvn 3.307042 2.240088 5.105104\nv -0.028681 0.079920 0.011250\nvn -3.508622 0.045004 4.818055\nv -0.080505 0.081967 0.011194\nvn -3.828510 1.292093 2.931927\nv -0.019582 0.082271 0.011280\nvn 2.577587 2.788770 4.277203\nv -0.030633 0.082179 0.011341\nvn 5.500525 0.865927 -4.132313\nv 0.037971 0.084060 0.011367\nvn -2.643127 2.609245 1.313633\nv 0.023732 0.084777 0.011384\nvn -3.750184 0.584595 5.738785\nv -0.080343 0.086100 0.011543\nvn 0.046527 1.744822 3.380218\nv -0.016791 0.086137 0.010988\nvn -1.281556 3.358284 -1.636924\nv 0.030786 0.089073 0.011307\nvn 4.202400 1.095471 2.461768\nv 0.082619 0.093835 0.011252\nvn -3.213938 1.299142 6.065320\nv -0.078397 0.093615 0.011297\nvn -1.654317 1.632173 1.828162\nv 0.069492 0.100333 0.011350\nvn 0.956926 1.877116 4.514615\nv -0.058150 0.101812 0.011373\nvn -1.548139 -3.464360 -5.650401\nv 0.039010 0.102016 0.011350\nvn -0.992584 2.985496 3.811252\nv 0.072131 0.102113 0.011264\nvn 0.986301 3.680091 4.599862\nv 0.076443 0.101821 0.011428\nvn 1.160408 -2.362336 -5.233047\nv 0.040878 0.101962 0.011333\nvn -0.018063 3.737236 4.671511\nv 0.074207 0.102195 0.011376\nvn -0.664611 2.235801 7.641423\nv -0.068148 0.103676 0.011104\nvn -3.192058 -3.037227 -1.954133\nv 0.035312 0.104512 0.011331\nvn -1.820707 1.269479 1.934783\nv 0.037976 0.117786 0.011300\nvn -0.494653 -3.169329 0.369246\nv -0.065823 0.142026 0.011139\nvn 1.106527 0.285565 4.711097\nv -0.062432 0.145141 0.011344\nvn -1.469651 -3.497293 0.834330\nv -0.104118 0.156220 0.011378\nvn 0.803104 2.638752 0.834751\nv -0.099223 0.157972 0.011013\nvn -1.856687 -1.517865 -0.563361\nv -0.081389 0.161655 0.011329\nvn -0.280556 -4.001015 2.429228\nv -0.068298 0.162153 0.011328\nvn 1.304254 -2.895849 5.065388\nv -0.064319 0.163040 0.011201\nvn -2.707637 -3.103885 -0.959844\nv -0.085357 0.165310 0.011439\nvn -1.822848 -2.690775 -1.205698\nv -0.087304 0.167622 0.011011\nvn 1.422266 4.670662 3.368069\nv -0.066054 0.167503 0.011196\nvn 0.939648 2.339991 1.489340\nv -0.067373 0.167851 0.011181\nvn 1.678022 3.588635 0.545664\nv -0.073848 0.169756 0.011087\nvn 0.549438 -5.636901 -1.899065\nv 0.050664 0.054790 0.011332\nvn 1.933688 -1.808348 -1.241067\nv -0.013463 0.054987 0.011425\nvn -0.129931 -3.872100 -0.901345\nv 0.054428 0.054857 0.011450\nvn -1.943532 1.368320 -2.691976\nv 0.003464 0.057375 0.011452\nvn -0.632377 -3.125999 2.401443\nv -0.059235 0.057293 0.011486\nvn -0.210655 -4.916372 -0.858836\nv 0.018909 0.058716 0.011418\nvn -1.036673 1.466879 -2.850631\nv 0.005338 0.060061 0.011631\nvn -2.883708 0.457731 2.539357\nv -0.019740 0.074863 0.011473\nvn 4.185288 -0.892446 -2.523005\nv 0.037958 0.079967 0.011464\nvn 2.032840 2.692157 1.950893\nv -0.033743 0.084633 0.011395\nvn 1.755108 1.873666 1.349615\nv -0.051915 0.096547 0.011492\nvn 2.151927 1.080532 1.757210\nv 0.080874 0.098227 0.011236\nvn -1.874332 1.832160 6.482038\nv -0.073997 0.099508 0.011332\nvn -1.365576 1.686782 6.631515\nv -0.072249 0.101807 0.011232\nvn 1.482715 2.187527 4.214790\nv -0.055977 0.100053 0.011623\nvn 1.465317 -1.399446 -4.458830\nv 0.042387 0.101934 0.011634\nvn 1.042752 2.704777 8.477903\nv -0.060438 0.101942 0.011547\nvn 0.761274 0.874160 3.827662\nv -0.059936 0.103475 0.011117\nvn -0.619300 1.815316 5.663087\nv -0.066193 0.103756 0.011289\nvn -0.147583 1.992129 5.654227\nv -0.064272 0.103751 0.011379\nvn 0.795698 2.174353 7.518543\nv -0.062502 0.103708 0.011372\nvn -0.318085 -3.793620 1.189777\nv -0.084436 0.142265 0.011262\nvn 0.525721 -5.910273 0.404401\nv -0.077931 0.142329 0.011436\nvn 0.602004 2.305636 4.358607\nv -0.066011 0.146806 0.011426\nvn 0.797001 2.451341 4.236821\nv -0.070003 0.147713 0.011458\nvn -0.645012 -1.814762 2.080110\nv -0.099834 0.154157 0.011568\nvn 1.016588 -3.788086 5.635827\nv -0.065861 0.162769 0.011486\nvn 2.407343 -0.970829 4.787324\nv -0.062405 0.164567 0.011562\nvn -2.697383 -2.472889 1.544201\nv -0.088714 0.170334 0.011377\nvn 0.000000 0.000000 0.000000\nv -0.090584 0.173825 0.011262\nvn -3.151450 -1.705703 2.440101\nv 0.003491 0.056166 0.012480\nvn 0.355041 -2.351627 3.208200\nv -0.043835 0.057500 0.011649\nvn 0.258495 -2.115322 3.365330\nv -0.040696 0.057579 0.011595\nvn 3.419255 -7.387901 0.244266\nv 0.030487 0.057898 0.012618\nvn -5.350555 1.823855 -0.461543\nv 0.003483 0.058187 0.012421\nvn -5.094059 3.720999 1.781527\nv 0.027251 0.066000 0.012592\nvn 6.787144 -0.055612 -0.791610\nv -0.008570 0.068184 0.012571\nvn 5.409621 -1.338033 2.121647\nv 0.040539 0.068147 0.012843\nvn -4.260708 -3.940593 2.104470\nv 0.041955 0.068079 0.012821\nvn -1.333076 -1.315726 2.337324\nv 0.022052 0.069429 0.011562\nvn -2.475641 -0.474005 2.998185\nv -0.078634 0.071800 0.011685\nvn -2.691399 -0.032338 2.910042\nv 0.020128 0.074227 0.011603\nvn 2.508927 3.022097 0.365262\nv 0.036799 0.074070 0.013105\nvn 1.246048 1.943530 1.620346\nv 0.036983 0.075025 0.011624\nvn -3.021034 -0.034417 2.517103\nv -0.019738 0.075708 0.011525\nvn 1.429201 0.086052 -3.805578\nv 0.040450 0.078013 0.012640\nvn 0.103634 0.728266 -4.673784\nv 0.040401 0.080020 0.013264\nvn 5.297190 0.073587 -5.340211\nv 0.038853 0.081859 0.012739\nvn -2.396296 -0.090826 4.367568\nv -0.079861 0.083788 0.011678\nvn 0.576250 1.109516 1.525974\nv -0.016701 0.084892 0.011683\nvn 2.070649 0.726311 -1.996818\nv 0.037614 0.085721 0.011377\nvn 3.210073 1.880607 -4.611292\nv 0.036334 0.087875 0.011602\nvn 1.001993 1.570790 -2.342970\nv 0.035124 0.090058 0.011885\nvn -3.079990 0.782184 5.061198\nv -0.078345 0.091969 0.011556\nvn -1.319333 5.258488 -6.427432\nv 0.034595 0.091559 0.012753\nvn -1.472072 0.913085 2.438100\nv -0.076663 0.096037 0.011638\nvn -1.365298 1.707847 4.486458\nv -0.074345 0.098275 0.011634\nvn -0.775456 1.072252 3.759337\nv -0.072361 0.100150 0.011599\nvn -1.469985 -1.260102 -4.480610\nv 0.038432 0.101040 0.012110\nvn 1.368401 1.518982 2.177049\nv 0.078577 0.100389 0.011658\nvn -0.644294 2.616096 8.533527\nv -0.070044 0.101335 0.011574\nvn -0.797815 1.807417 6.696640\nv -0.067952 0.101580 0.011633\nvn 0.715875 0.834131 2.716715\nv -0.062125 0.102220 0.011647\nvn 1.894603 -1.431491 -5.318637\nv 0.042810 0.101239 0.011990\nvn 3.096319 -0.168641 -3.730368\nv 0.043146 0.102779 0.011905\nvn -5.236973 -1.453784 -0.008550\nv 0.035198 0.104167 0.012772\nvn -3.337147 0.794469 2.054707\nv 0.035772 0.111525 0.011613\nvn 1.969959 1.129900 7.280152\nv -0.064352 0.145321 0.011702\nvn 0.993675 3.850726 -2.703728\nv -0.084463 0.150380 0.011732\nvn -0.989027 6.888617 0.286372\nv -0.082117 0.150550 0.012587\nvn 0.871224 4.036642 -1.655206\nv -0.084183 0.151200 0.012513\nvn 0.460984 4.794949 -0.727098\nv -0.085973 0.151145 0.012722\nvn -3.115382 0.891084 3.478795\nv -0.098419 0.152737 0.011615\nvn -1.625786 -4.789349 2.681694\nv -0.084367 0.164998 0.012815\nvn 1.029202 -2.057003 3.260993\nv -0.063523 0.163944 0.011613\nvn -0.064501 -4.996236 0.071965\nv -0.022456 0.053059 0.013075\nvn -0.090539 -4.992490 -0.041464\nv -0.021453 0.053042 0.013012\nvn 0.986394 -7.727645 -1.064627\nv -0.016762 0.053021 0.012158\nvn -0.848852 -4.583585 1.414920\nv 0.040707 0.053175 0.012329\nvn -0.280050 -8.715714 0.729868\nv 0.042601 0.053114 0.012772\nvn -1.980411 -6.063721 -2.095980\nv -0.026065 0.053239 0.012881\nvn -0.769382 -6.793788 -0.627810\nv -0.024497 0.053083 0.012923\nvn 3.301624 -5.727272 -1.780393\nv -0.014365 0.053599 0.012666\nvn -3.021227 -6.714162 4.991953\nv 0.038527 0.054127 0.012588\nvn 0.294974 -5.852429 -0.866326\nv 0.044437 0.053176 0.012706\nvn -0.403788 -4.887441 0.442258\nv 0.061194 0.053330 0.012312\nvn 0.106812 -2.948082 0.385050\nv 0.062010 0.053314 0.012312\nvn 1.016985 -7.728227 1.237568\nv 0.062737 0.053459 0.012874\nvn -1.209468 -2.252297 -1.215998\nv -0.026787 0.053679 0.012470\nvn 1.470565 -7.370293 -2.358928\nv 0.046243 0.053469 0.012457\nvn -1.092375 -6.749758 -0.384409\nv 0.060104 0.053477 0.012768\nvn 2.517678 -5.211719 1.382246\nv 0.064441 0.054035 0.012904\nvn 0.931445 -5.491004 -2.190917\nv 0.048381 0.053738 0.012908\nvn -3.436846 -4.078665 -2.414436\nv -0.028026 0.054354 0.013010\nvn -1.845645 -2.555900 2.412421\nv 0.036517 0.055006 0.012371\nvn -0.879458 -3.790876 -0.913706\nv 0.058093 0.054031 0.012679\nvn 3.339000 -4.785663 1.244647\nv 0.065715 0.054718 0.012413\nvn 4.908454 -4.513024 -1.834383\nv -0.013315 0.054469 0.012849\nvn 0.598843 -4.540903 -1.987516\nv 0.050393 0.054244 0.012620\nvn -0.804818 -7.546760 -2.368243\nv 0.056362 0.054359 0.012756\nvn -4.940534 -5.261010 -2.990833\nv -0.029166 0.055978 0.012568\nvn 3.111027 -2.225192 -1.081355\nv -0.012419 0.055793 0.012446\nvn -0.658996 -2.523422 0.729046\nv 0.004552 0.055237 0.011963\nvn 1.259358 -4.173971 3.340753\nv 0.004761 0.056197 0.013110\nvn -3.963472 -4.407560 5.303240\nv 0.034983 0.056582 0.012543\nvn 3.771601 -4.489017 1.200540\nv 0.066777 0.055687 0.012737\nvn 1.189753 -6.772542 1.301644\nv 0.006792 0.056569 0.012966\nvn 0.274254 -4.583563 5.212507\nv -0.048460 0.056828 0.011958\nvn -2.385995 -7.387478 -1.559830\nv 0.024720 0.056719 0.012799\nvn -0.265416 -4.819207 -0.930749\nv 0.027092 0.056181 0.012814\nvn 1.716089 -5.117766 -1.955044\nv 0.028701 0.056397 0.012743\nvn -0.201552 -2.747118 2.883847\nv -0.050737 0.056923 0.011980\nvn 0.610165 -2.268188 3.194843\nv -0.047073 0.056925 0.011870\nvn 5.784758 -3.516243 -1.660735\nv -0.011652 0.056740 0.012924\nvn -0.246260 -4.581673 1.794366\nv -0.056097 0.057665 0.012881\nvn 0.502529 -4.534134 1.885318\nv -0.054088 0.057808 0.012950\nvn -0.361771 -3.588884 3.436931\nv -0.051623 0.057007 0.011963\nvn 0.772301 -2.999976 5.105356\nv -0.046255 0.058174 0.012436\nvn -3.261104 -4.560788 -0.347741\nv -0.030982 0.057754 0.012501\nvn -2.706282 -2.771703 -0.663566\nv -0.030264 0.056964 0.012818\nvn 2.547932 -6.653599 -2.556361\nv 0.009233 0.057592 0.012356\nvn -2.522708 -4.201712 4.467162\nv 0.034282 0.058180 0.013137\nvn 3.811742 -4.548493 0.812152\nv 0.068846 0.057478 0.012810\nvn -0.876465 -7.078655 3.249223\nv -0.058519 0.057781 0.012428\nvn 0.950741 -4.304390 6.633212\nv -0.044425 0.058453 0.012491\nvn -0.000000 0.000000 0.000000\nv -0.042873 0.057625 0.011690\nvn 5.287191 -2.342082 -1.494702\nv -0.010941 0.058209 0.012542\nvn -0.696421 -3.885822 2.281817\nv 0.032713 0.058523 0.012679\nvn 3.947031 -4.466613 0.467072\nv 0.070061 0.058508 0.012748\nvn -1.680814 -6.234969 4.508922\nv -0.062264 0.058682 0.012792\nvn -1.334821 -5.343374 2.025101\nv -0.060339 0.058157 0.012613\nvn 0.458633 -3.680720 5.900909\nv -0.042646 0.058254 0.012030\nvn 0.367406 -3.357956 6.109798\nv -0.040843 0.058326 0.012012\nvn -1.225186 -3.127322 3.679801\nv -0.064208 0.058963 0.012464\nvn -0.145095 -2.802571 4.107242\nv -0.038547 0.058819 0.012112\nvn -0.111805 -4.653929 5.166573\nv -0.036561 0.058756 0.012262\nvn -2.491560 -4.980251 0.821899\nv -0.032554 0.058659 0.012769\nvn 1.448312 -4.201941 -2.020863\nv 0.010780 0.058056 0.012801\nvn -2.561166 -7.370393 -1.692961\nv 0.022559 0.057610 0.012758\nvn -1.257545 -2.458498 2.831398\nv -0.065408 0.058715 0.011928\nvn -0.431350 -3.894330 2.969536\nv -0.034232 0.058882 0.012275\nvn -0.590816 -6.847819 -1.222398\nv 0.018785 0.058460 0.013124\nvn -1.182290 -4.712959 -1.118240\nv 0.021052 0.058071 0.013042\nvn -5.655143 3.773265 -1.804607\nv 0.004516 0.060298 0.012725\nvn 0.863617 -5.594968 -1.757563\nv 0.012547 0.058576 0.012733\nvn -0.054766 -7.832586 -1.478549\nv 0.014644 0.058638 0.012721\nvn -3.153362 -5.347622 6.448152\nv -0.066165 0.060192 0.012649\nvn 5.546175 -1.742386 -1.433791\nv -0.010121 0.060166 0.012894\nvn 6.700035 -5.953211 0.462298\nv 0.072133 0.060561 0.012812\nvn -1.191405 -2.288974 3.049920\nv -0.067877 0.060646 0.012262\nvn -1.706131 -2.830868 3.714866\nv -0.069182 0.061212 0.012220\nvn -1.256278 0.860772 -2.568517\nv 0.006259 0.061182 0.012036\nvn -2.788204 -3.548455 5.316548\nv -0.070158 0.062333 0.012486\nvn -4.110646 1.059362 -5.188406\nv 0.006458 0.062272 0.012360\nvn 5.615522 -4.169657 0.062160\nv 0.073563 0.062411 0.012978\nvn -2.835112 -2.987048 5.607435\nv -0.072276 0.064134 0.012422\nvn 4.694856 -1.043913 -1.350303\nv -0.009256 0.064268 0.012659\nvn -4.433610 2.421517 -1.907942\nv 0.006295 0.064254 0.012696\nvn 4.910325 -3.442853 -0.101550\nv 0.074546 0.063773 0.012749\nvn 0.649549 4.918658 -0.259350\nv 0.014481 0.064511 0.012825\nvn 0.581417 6.904070 0.113373\nv 0.016769 0.064246 0.012908\nvn 0.461974 4.878960 0.614511\nv 0.019058 0.064020 0.012689\nvn -0.175680 5.696984 1.678856\nv 0.020896 0.063939 0.012758\nvn -0.970859 6.703573 1.452216\nv 0.022794 0.064086 0.012839\nvn 2.012419 7.695575 -0.485040\nv 0.012681 0.064931 0.012816\nvn -1.406091 4.743100 0.569890\nv 0.024408 0.064471 0.012853\nvn 0.409006 3.074154 -2.764200\nv 0.041137 0.065035 0.012027\nvn -1.425684 -1.046736 2.331205\nv -0.073969 0.064858 0.012028\nvn -2.771536 4.947720 0.306069\nv 0.025993 0.064981 0.012417\nvn -1.061799 1.767298 -1.986572\nv 0.041914 0.065096 0.011883\nvn -3.333598 -2.241453 5.624140\nv -0.074271 0.066269 0.012343\nvn 5.700791 -1.053457 -1.458118\nv -0.008885 0.065941 0.012591\nvn -3.749563 4.988097 -0.790913\nv 0.007296 0.065594 0.012727\nvn 1.282130 4.791120 -0.390251\nv 0.010930 0.065506 0.012663\nvn 3.491507 2.075926 -1.275374\nv 0.040837 0.066100 0.012857\nvn -4.828349 2.856306 -3.782001\nv 0.042054 0.066152 0.012555\nvn 0.066186 6.809574 -0.302230\nv 0.008958 0.065936 0.012775\nvn -1.985931 -1.199690 3.214696\nv -0.075276 0.066725 0.011963\nvn 5.886772 -3.778827 -0.160586\nv 0.076365 0.066477 0.012706\nvn -2.403977 -2.493017 4.357405\nv 0.026803 0.068070 0.012566\nvn -1.003160 -2.287620 3.112209\nv 0.025759 0.067449 0.011718\nvn -2.602425 -1.220728 4.071043\nv -0.075827 0.068217 0.012054\nvn -1.978028 -3.810895 5.500690\nv 0.024819 0.068251 0.012087\nvn 3.440993 -2.033581 -0.104075\nv 0.077499 0.068300 0.012750\nvn -4.294784 -3.475785 8.117159\nv -0.075748 0.070081 0.012590\nvn -2.874348 -2.799235 5.700010\nv 0.022763 0.069983 0.012243\nvn -1.700194 -0.988566 3.450194\nv -0.077623 0.070639 0.011995\nvn 7.035628 -3.789606 -0.282472\nv 0.078534 0.070155 0.012523\nvn 5.675347 1.780542 0.611450\nv -0.009101 0.070401 0.012818\nvn -2.092016 -1.066122 3.223303\nv 0.021527 0.071081 0.011963\nvn -3.730269 -0.901193 5.716865\nv -0.077940 0.072451 0.012230\nvn -2.781673 -0.972472 4.035234\nv 0.021016 0.072640 0.012001\nvn 6.377460 -2.860498 -0.249355\nv 0.079662 0.072426 0.012768\nvn 4.503960 1.948562 0.922880\nv -0.009642 0.071794 0.012732\nvn 1.870233 5.240277 1.288206\nv -0.022656 0.072903 0.012787\nvn -2.022290 6.060097 1.664124\nv -0.020920 0.072885 0.012769\nvn 5.277687 2.413632 1.411688\nv -0.010090 0.072709 0.012968\nvn 4.247421 5.009088 1.571227\nv -0.024689 0.074308 0.012369\nvn -2.143003 2.952393 1.321014\nv -0.019948 0.073363 0.012725\nvn -4.329892 -0.578194 5.390617\nv 0.021056 0.074089 0.012317\nvn -3.512315 -0.669970 5.990630\nv -0.077863 0.074099 0.012459\nvn -5.186038 2.909681 2.890357\nv -0.018939 0.074334 0.012910\nvn 6.519875 -2.500768 0.052329\nv 0.080528 0.074424 0.012975\nvn 4.439397 1.792462 1.374820\nv -0.010745 0.074304 0.012815\nvn -1.586278 5.560171 -0.660275\nv 0.038615 0.074571 0.012962\nvn -1.811612 0.057248 2.342625\nv -0.078923 0.075125 0.011833\nvn -1.188063 5.128337 3.139363\nv 0.040675 0.074665 0.013005\nvn -3.427587 -0.419287 5.942092\nv -0.077987 0.076127 0.012497\nvn 5.536341 5.055430 1.688854\nv -0.026429 0.076059 0.012739\nvn -4.943781 0.771110 4.381338\nv -0.018519 0.075944 0.012854\nvn 4.936275 -1.853153 -2.793748\nv 0.037030 0.076042 0.012867\nvn -0.843167 1.377770 -0.068183\nv 0.040666 0.075608 0.012419\nvn -0.360406 5.018461 2.830951\nv 0.042713 0.075277 0.012298\nvn 5.896488 2.210310 2.710046\nv -0.011366 0.075840 0.012876\nvn -2.085866 7.279495 2.470005\nv 0.044471 0.075461 0.012883\nvn 0.000000 0.000000 0.000000\nv -0.079024 0.076175 0.011996\nvn -0.989113 4.726673 1.272121\nv 0.046126 0.075976 0.012645\nvn 7.551699 -2.562479 0.155749\nv 0.081215 0.076358 0.012727\nvn -1.899589 6.579051 1.261756\nv 0.048268 0.076343 0.012741\nvn -2.416277 -0.371364 5.443894\nv -0.079667 0.077794 0.012017\nvn 2.852452 2.420532 1.240732\nv -0.027512 0.077345 0.012779\nvn -3.796639 -0.109192 4.555416\nv -0.018800 0.078004 0.012895\nvn 2.118079 -1.425313 -1.325467\nv 0.037232 0.077481 0.012234\nvn -1.766668 4.628049 0.624448\nv 0.050588 0.077198 0.012793\nvn -2.523040 5.382268 0.664910\nv 0.052282 0.077937 0.012663\nvn 5.707188 -1.718856 0.295402\nv 0.081781 0.078039 0.012663\nvn 4.141695 3.982752 1.282254\nv -0.028370 0.078391 0.012660\nvn 3.505168 1.402296 1.144285\nv -0.011778 0.077501 0.012529\nvn -2.217133 0.442224 1.970810\nv 0.021455 0.077557 0.012259\nvn -2.974912 0.259442 5.122393\nv -0.079734 0.079965 0.012025\nvn 4.480794 3.519935 1.612037\nv -0.029103 0.079314 0.012597\nvn -4.176951 0.379244 5.152265\nv -0.018782 0.079949 0.012819\nvn 5.482958 3.470714 5.931355\nv -0.013046 0.079865 0.012797\nvn -3.686427 5.913269 0.606712\nv 0.053936 0.078838 0.013014\nvn 4.792794 -1.067797 0.710506\nv 0.082336 0.079996 0.012881\nvn -3.034179 0.815598 2.464852\nv 0.021527 0.079454 0.011887\nvn 2.765924 0.137217 -4.252096\nv 0.041925 0.080103 0.012812\nvn -3.493586 4.845113 0.532682\nv 0.054944 0.079565 0.012608\nvn 4.086384 3.755480 1.991755\nv -0.030061 0.080303 0.012908\nvn 2.854194 -1.184814 -4.710934\nv 0.038867 0.079683 0.013051\nvn -4.852135 6.297776 0.382932\nv 0.056134 0.080446 0.012806\nvn -7.003200 2.247623 5.122790\nv 0.022537 0.080171 0.012915\nvn 3.849517 3.911685 2.143837\nv -0.031045 0.081486 0.012499\nvn -3.626186 1.271767 4.378757\nv -0.018631 0.081730 0.012599\nvn 6.711529 -1.099535 1.348232\nv 0.082749 0.082053 0.012933\nvn -2.864100 0.202794 5.220937\nv -0.079292 0.081939 0.012071\nvn 1.774927 1.489492 1.886009\nv -0.013563 0.081775 0.011963\nvn -4.694637 1.969120 3.152959\nv 0.023043 0.081987 0.012600\nvn 3.337954 3.639622 6.022325\nv -0.014537 0.082095 0.012558\nvn -3.336624 3.704024 0.212280\nv 0.058239 0.082175 0.012558\nvn 2.605905 2.663560 1.330677\nv -0.032108 0.082477 0.012761\nvn 3.903036 -0.590383 0.543810\nv 0.082995 0.082825 0.012196\nvn -4.952782 4.942312 0.194896\nv 0.059124 0.083049 0.012779\nvn -2.866643 -0.083755 5.246237\nv -0.079193 0.084079 0.011981\nvn 3.742739 4.239095 1.771492\nv -0.033088 0.083370 0.012756\nvn -1.882620 1.964169 3.792364\nv -0.018223 0.083711 0.012257\nvn 1.141281 1.904037 3.206534\nv -0.015441 0.083618 0.012162\nvn -2.418789 1.075560 1.395577\nv 0.023310 0.083619 0.011967\nvn 3.966558 0.182218 -3.014116\nv 0.038968 0.084232 0.012866\nvn 5.798504 -0.493613 1.409905\nv 0.083141 0.084115 0.012078\nvn 4.086368 5.194434 2.118361\nv -0.034173 0.084352 0.012670\nvn -0.215203 2.267102 4.378516\nv -0.016603 0.084005 0.012164\nvn -5.376285 4.447832 0.258623\nv 0.060231 0.084176 0.012827\nvn -5.815559 3.741564 3.681430\nv 0.024220 0.084178 0.013024\nvn -2.956984 0.178568 5.162882\nv -0.079478 0.085927 0.011998\nvn 2.439267 2.622034 1.703971\nv -0.034998 0.085212 0.012249\nvn -3.580004 2.842920 1.871097\nv 0.025144 0.085511 0.012802\nvn -2.389480 1.799351 0.067144\nv 0.061125 0.085341 0.012037\nvn 5.687965 0.046721 1.841177\nv 0.083237 0.086135 0.012254\nvn 3.912386 5.339419 1.999307\nv -0.036468 0.086181 0.012909\nvn 5.610523 1.675437 -5.266550\nv 0.038547 0.086129 0.012642\nvn -4.943979 3.382255 0.183700\nv 0.061723 0.086208 0.012779\nvn -3.534538 3.184197 1.427649\nv 0.026098 0.086393 0.013171\nvn -2.084785 0.418737 3.354462\nv -0.079227 0.087305 0.012041\nvn 3.204729 4.840290 1.445413\nv -0.038635 0.087710 0.012777\nvn 4.338826 0.565463 -5.378379\nv 0.038504 0.087844 0.013051\nvn 4.701056 0.387897 1.600752\nv 0.083198 0.087642 0.012152\nvn -3.322331 4.842463 0.457071\nv 0.027094 0.087517 0.012743\nvn -5.028696 3.244598 0.319513\nv 0.062821 0.087884 0.012628\nvn 1.823398 0.635730 -3.437317\nv 0.036738 0.088216 0.011940\nvn -2.759391 5.218986 -0.140880\nv 0.028747 0.088428 0.012945\nvn -2.238729 0.787411 3.218419\nv -0.078923 0.088775 0.011846\nvn 7.095324 1.006523 3.441581\nv 0.082617 0.089418 0.012911\nvn 3.814317 5.724617 1.263189\nv -0.040130 0.088628 0.013313\nvn -2.916526 5.021603 -1.142600\nv 0.030866 0.089574 0.012595\nvn 2.710569 2.830422 -7.832491\nv 0.036236 0.089702 0.012167\nvn -5.255465 2.783354 0.669053\nv 0.064060 0.089884 0.012827\nvn 3.280155 4.952868 0.795070\nv -0.041177 0.089426 0.012492\nvn 3.363642 0.452261 -4.694316\nv 0.038392 0.089842 0.012868\nvn -2.958179 5.969462 -3.867839\nv 0.032478 0.090424 0.012656\nvn 3.550149 0.413832 1.740992\nv 0.082982 0.090175 0.012121\nvn -1.744550 0.544778 2.367365\nv -0.078573 0.090175 0.011701\nvn -4.382160 1.573815 6.484933\nv -0.077827 0.089613 0.012434\nvn 2.811546 4.099620 0.523604\nv -0.042768 0.090457 0.012750\nvn -0.279632 2.072222 -4.375677\nv 0.036392 0.091656 0.012663\nvn 1.899754 0.929873 -5.067172\nv 0.038253 0.091938 0.012980\nvn -6.205932 2.962776 1.174236\nv 0.064804 0.091595 0.012646\nvn -2.805901 1.152326 5.165122\nv -0.077478 0.091896 0.012077\nvn 3.304181 4.967175 0.590949\nv -0.044576 0.091745 0.012828\nvn 5.826053 1.417654 3.578427\nv 0.082228 0.091660 0.012938\nvn 3.224764 5.036075 0.468779\nv -0.045965 0.092620 0.012702\nvn 5.370732 1.846221 4.052893\nv 0.081707 0.094087 0.012506\nvn -2.751048 1.109276 5.206523\nv -0.077079 0.093850 0.011884\nvn 2.430536 4.275416 0.846533\nv -0.048369 0.094110 0.012920\nvn 3.773075 5.838982 0.756927\nv -0.046898 0.093216 0.012750\nvn -5.114772 2.643686 1.610576\nv 0.065835 0.093551 0.012983\nvn 3.143048 5.969882 1.724788\nv -0.050425 0.095329 0.012700\nvn -2.859310 1.632987 6.108413\nv -0.075929 0.095578 0.012216\nvn -5.505118 3.377077 2.570899\nv 0.066833 0.095656 0.012514\nvn 3.644389 1.700899 2.898164\nv 0.081348 0.095897 0.012272\nvn 3.086361 5.472360 2.665863\nv -0.052165 0.096216 0.012592\nvn -1.030128 1.521132 3.545914\nv -0.074199 0.097444 0.012045\nvn 2.678879 4.556973 4.212849\nv -0.054513 0.097233 0.012575\nvn -5.915513 4.845113 4.539352\nv 0.068417 0.097601 0.012770\nvn 1.554054 1.227825 2.247997\nv -0.053898 0.098050 0.011667\nvn -1.554018 2.566171 7.395892\nv -0.072253 0.097592 0.012424\nvn 5.202452 3.881259 6.105031\nv 0.079695 0.097605 0.012828\nvn 1.900316 -2.291181 -4.896663\nv 0.042763 0.099555 0.012406\nvn -3.078627 4.143695 4.590388\nv 0.070030 0.099511 0.012353\nvn -1.163020 1.853267 5.576084\nv -0.071581 0.099583 0.011973\nvn 0.986561 2.138511 4.404613\nv -0.056634 0.099363 0.012111\nvn 1.495499 2.394085 2.452145\nv 0.079105 0.099398 0.012114\nvn -0.376514 1.321190 3.751219\nv -0.070422 0.099259 0.012264\nvn 2.377547 4.057883 4.822248\nv 0.077976 0.099446 0.012611\nvn -0.595999 2.830710 7.424099\nv -0.068209 0.099844 0.012163\nvn 0.541893 2.006242 4.559995\nv -0.058335 0.099641 0.012324\nvn -0.130614 0.980614 2.800913\nv -0.068773 0.100675 0.011793\nvn -0.613107 1.188152 3.750833\nv -0.067373 0.100792 0.011908\nvn -0.004672 0.410947 0.937366\nv -0.058488 0.100762 0.011918\nvn 0.208250 0.378494 0.904597\nv -0.057573 0.100675 0.011805\nvn 1.411788 2.877849 3.820964\nv 0.077389 0.100746 0.011980\nvn 1.013546 2.095385 5.435574\nv -0.062188 0.101254 0.012019\nvn 0.339033 -2.906010 -8.329832\nv 0.040652 0.099849 0.012161\nvn -1.257950 2.961127 3.785217\nv 0.072563 0.100859 0.012256\nvn 4.638100 -0.406602 -5.010740\nv 0.044024 0.101471 0.012774\nvn 0.601019 2.480540 3.062273\nv 0.075953 0.101153 0.012083\nvn -1.063213 2.021045 6.588188\nv -0.066023 0.101358 0.012053\nvn -0.086914 5.038775 6.146635\nv 0.073924 0.101266 0.012188\nvn -2.572449 -2.409005 -3.981776\nv 0.036569 0.101742 0.012840\nvn -0.669552 1.081930 3.781401\nv -0.066323 0.102425 0.011647\nvn -0.240597 1.246138 3.792897\nv -0.064923 0.102425 0.011784\nvn -4.019487 -2.574851 -2.727376\nv 0.036146 0.103159 0.012414\nvn -5.441581 0.572571 2.105957\nv 0.035124 0.105949 0.012886\nvn 3.935076 0.128319 -3.078418\nv 0.043186 0.105677 0.012312\nvn -6.100521 1.028658 2.991502\nv 0.035049 0.107756 0.012079\nvn 4.999077 0.594237 -3.192637\nv 0.043184 0.107935 0.012524\nvn -2.465983 0.757747 1.529431\nv 0.035232 0.108725 0.011874\nvn 7.062368 2.190460 -1.782766\nv 0.042854 0.109765 0.012601\nvn -5.817690 1.507673 3.575418\nv 0.036242 0.109604 0.013118\nvn 5.197382 1.889438 0.186198\nv 0.042358 0.111466 0.012805\nvn -7.302537 2.096074 4.737584\nv 0.036415 0.111496 0.012729\nvn 5.192245 1.780780 1.364185\nv 0.041693 0.113208 0.012497\nvn -5.262329 1.928312 3.955108\nv 0.036843 0.113411 0.012628\nvn 4.538091 3.278046 3.743994\nv 0.040743 0.114125 0.013170\nvn -2.741043 1.378976 2.494707\nv 0.037331 0.115000 0.012432\nvn 2.533792 2.229631 3.460445\nv 0.040459 0.115552 0.012469\nvn -1.890272 4.444145 6.095412\nv 0.038582 0.115570 0.013182\nvn -0.693419 2.748588 4.402783\nv 0.038703 0.117342 0.012114\nvn -0.344768 -1.018393 0.226549\nv -0.082073 0.142107 0.012050\nvn -0.044990 -7.853871 0.313722\nv -0.079896 0.142301 0.013024\nvn 1.859053 -3.913723 1.504633\nv -0.069840 0.142584 0.012924\nvn 0.851570 -2.979150 3.317659\nv -0.068194 0.143106 0.012777\nvn 0.944483 -2.877959 6.121404\nv -0.066318 0.143265 0.012425\nvn 1.865296 -0.963113 2.763487\nv -0.064712 0.143009 0.012030\nvn -1.242122 -5.724283 1.023517\nv -0.086083 0.142718 0.012730\nvn -0.706636 -6.846463 1.032364\nv -0.084217 0.142607 0.012727\nvn -0.106268 -6.795848 -1.360046\nv -0.077972 0.142331 0.012692\nvn 0.347579 -6.798473 -1.378141\nv -0.075867 0.142422 0.012420\nvn -0.540894 -4.060867 -1.000451\nv -0.072425 0.142317 0.012633\nvn -1.718519 -6.692520 0.945674\nv -0.089784 0.143552 0.012684\nvn -1.346717 -5.756999 0.979183\nv -0.087743 0.143171 0.012590\nvn -2.267491 -7.563329 1.104174\nv -0.092235 0.144356 0.012604\nvn 2.245837 0.241117 4.187722\nv -0.064734 0.144425 0.011919\nvn -1.872518 -5.621044 0.731661\nv -0.093975 0.144783 0.012970\nvn -2.243058 -5.508344 0.147083\nv -0.095917 0.145604 0.012541\nvn 1.285549 1.635751 5.483031\nv -0.066165 0.145048 0.012229\nvn 0.000000 -0.000000 -0.000000\nv -0.065973 0.145825 0.011844\nvn -1.832582 -4.584522 0.217214\nv -0.097123 0.146148 0.012137\nvn 1.614896 2.236294 6.127648\nv -0.068066 0.145309 0.012733\nvn 0.545571 1.616300 2.428773\nv -0.068460 0.146175 0.012323\nvn -2.686327 -5.177576 1.090758\nv -0.099671 0.146982 0.012816\nvn 1.072540 3.402466 4.787297\nv -0.070275 0.146541 0.012305\nvn -4.297705 -1.624036 2.419656\nv -0.101118 0.147809 0.012401\nvn 2.047420 4.381448 6.291248\nv -0.072202 0.147169 0.012463\nvn 0.594688 2.736977 2.452631\nv -0.073035 0.148635 0.011958\nvn -2.222512 0.273039 1.487945\nv -0.101108 0.148716 0.012578\nvn 1.845096 3.864041 3.757105\nv -0.076160 0.148555 0.012602\nvn 1.002453 4.697120 4.589458\nv -0.074256 0.148450 0.012285\nvn -4.995573 2.462784 3.323597\nv -0.100367 0.149507 0.013117\nvn 3.567461 4.201858 5.198288\nv -0.078020 0.149321 0.012844\nvn 2.560598 1.257622 2.457615\nv -0.078362 0.151005 0.012232\nvn -3.775756 4.137139 2.070032\nv -0.099531 0.150755 0.012412\nvn 2.529831 5.994421 -2.105858\nv -0.087373 0.151501 0.012885\nvn 2.359054 3.854672 -1.593663\nv -0.089114 0.151784 0.011998\nvn -3.260628 3.002896 2.115475\nv -0.098038 0.151613 0.013063\nvn 0.052848 3.495605 5.333599\nv -0.079978 0.151407 0.012837\nvn 3.663577 5.469091 -1.217899\nv -0.089993 0.152984 0.012765\nvn 2.907918 2.271259 2.554122\nv -0.078603 0.152290 0.011904\nvn -3.644403 2.254320 3.485733\nv -0.097430 0.152818 0.012550\nvn -0.990768 2.588035 1.414583\nv -0.079930 0.152879 0.012113\nvn 3.380117 6.904958 -0.219680\nv -0.091558 0.153826 0.012611\nvn -0.679039 -3.005156 4.683074\nv -0.099641 0.155123 0.012384\nvn -1.232759 -0.086231 7.865860\nv -0.097712 0.155143 0.012577\nvn 0.968501 5.579812 2.928128\nv -0.093787 0.154225 0.012339\nvn -1.091247 -3.560511 4.044096\nv -0.101744 0.155608 0.012268\nvn 2.116284 3.683611 5.267978\nv -0.095788 0.154955 0.012439\nvn -1.694370 -4.332066 5.239923\nv -0.103750 0.156706 0.012656\nvn 1.319342 1.788158 2.847256\nv -0.096571 0.156430 0.012081\nvn -0.873577 -2.935814 3.326308\nv -0.105808 0.157215 0.012720\nvn 1.379201 2.811213 3.211582\nv -0.098127 0.156788 0.012454\nvn -1.187610 -1.236096 0.807574\nv -0.107496 0.157352 0.012505\nvn -2.747578 1.514458 1.968329\nv -0.107673 0.158482 0.012590\nvn 1.482111 3.127122 6.389327\nv -0.099671 0.157154 0.012736\nvn 1.319767 4.637822 2.601999\nv -0.101767 0.158541 0.012218\nvn 0.202101 1.972989 3.334705\nv -0.103836 0.158430 0.012990\nvn -0.203770 2.692754 3.571233\nv -0.105653 0.158852 0.012730\nvn 0.539371 -3.908019 4.036848\nv -0.080139 0.161288 0.012363\nvn -2.623350 -2.232466 1.366677\nv -0.081211 0.161577 0.012331\nvn 2.000942 -2.560685 1.744937\nv -0.078474 0.161883 0.012061\nvn 2.208869 -4.781106 5.295168\nv -0.077954 0.163161 0.012474\nvn 0.187188 -4.262543 3.709404\nv -0.070179 0.163101 0.012606\nvn 1.018236 -4.636633 6.199235\nv -0.068003 0.163124 0.012186\nvn -2.557218 -1.219984 3.136332\nv -0.081417 0.163261 0.012453\nvn 0.233038 -4.408955 2.097677\nv -0.076069 0.163489 0.012443\nvn -0.448271 -4.204413 2.209829\nv -0.072398 0.163168 0.012587\nvn 1.090440 -2.509561 4.147923\nv -0.066060 0.163588 0.011898\nvn -0.394779 -4.815249 3.190787\nv -0.074171 0.163606 0.012983\nvn -2.971438 -4.545481 5.900131\nv -0.082114 0.165072 0.012963\nvn 1.740845 -2.306422 6.097060\nv -0.064419 0.164852 0.012410\nvn -1.439849 -1.604943 0.760378\nv -0.085281 0.165157 0.012462\nvn 1.906130 0.612669 3.137977\nv -0.062991 0.165266 0.011963\nvn -4.332829 -4.521769 4.006181\nv -0.086014 0.167109 0.012734\nvn 1.976156 2.073787 4.697313\nv -0.064514 0.166175 0.012403\nvn 1.469385 2.440493 4.461558\nv -0.066189 0.166569 0.012871\nvn -2.273454 -1.979495 0.599944\nv -0.087647 0.167525 0.012533\nvn 3.486275 5.700389 4.505072\nv -0.068097 0.167252 0.013057\nvn -3.622391 -2.025148 3.189792\nv -0.087898 0.168902 0.013018\nvn 2.090880 7.022393 2.277426\nv -0.070100 0.168078 0.012722\nvn 2.549994 6.345411 1.240772\nv -0.071923 0.168728 0.012661\nvn 2.444695 5.440362 0.580662\nv -0.073639 0.169465 0.012465\nvn -6.096105 -3.463574 3.080738\nv -0.088642 0.171083 0.012935\nvn 2.166471 4.471898 0.499579\nv -0.074672 0.169955 0.012319\nvn -2.865995 -2.189358 1.603913\nv -0.089053 0.171154 0.012312\nvn 3.220660 6.192632 0.429357\nv -0.076049 0.170627 0.012678\nvn 2.773400 4.132331 0.105015\nv -0.077670 0.171517 0.012717\nvn 3.085975 5.070714 0.137432\nv -0.078445 0.172051 0.012816\nvn -6.967589 -4.614679 2.779737\nv -0.089711 0.172866 0.012738\nvn 2.117025 4.322648 0.507388\nv -0.079852 0.173033 0.012961\nvn 1.076871 7.394765 2.350055\nv -0.082193 0.173476 0.012926\nvn 0.977980 3.642790 0.967489\nv -0.083779 0.173568 0.012733\nvn 0.000000 0.000000 0.000000\nv -0.081956 0.173927 0.011963\nvn 3.462042 4.717793 0.996300\nv -0.084719 0.174053 0.012830\nvn -6.903046 -3.431161 1.158506\nv -0.091268 0.175046 0.012802\nvn 3.521348 3.477938 0.619567\nv -0.085720 0.175076 0.012768\nvn -6.511652 -0.800814 1.467593\nv -0.091904 0.176527 0.012744\nvn 4.097629 4.226309 0.884129\nv -0.086573 0.175949 0.012652\nvn 3.676943 4.144402 1.954666\nv -0.087626 0.176920 0.013025\nvn 2.400132 2.721613 1.281426\nv -0.088556 0.178152 0.012460\nvn -1.754434 3.069948 1.684313\nv -0.091509 0.178571 0.012907\nvn 1.815733 5.797016 2.708906\nv -0.089631 0.178552 0.012835\nvn -0.086928 -5.986423 -0.105109\nv -0.019073 0.052971 0.012312\nvn 0.260771 -4.643220 -1.810040\nv 0.052642 0.054359 0.012809\nvn 0.067046 -5.577115 -2.160852\nv 0.054456 0.054385 0.012954\nvn 3.161923 -3.767306 0.874121\nv 0.067929 0.056735 0.012873\nvn 0.726789 -6.295154 4.528866\nv -0.052493 0.058041 0.013025\nvn 0.105978 -4.515895 5.306630\nv -0.050350 0.057804 0.012729\nvn 1.338863 -3.536550 5.796761\nv -0.048365 0.058371 0.012912\nvn 1.110273 -2.635099 -0.287440\nv 0.008421 0.057045 0.012974\nvn -0.989546 -3.876039 5.565426\nv -0.038630 0.060076 0.012913\nvn 7.536957 -1.638444 -2.046981\nv -0.009546 0.062533 0.012972\nvn 4.146102 -2.787965 -0.111623\nv 0.075396 0.064992 0.012750\nvn -4.221009 -2.240444 7.618333\nv -0.073982 0.067958 0.012960\nvn -2.030658 -2.583525 4.994771\nv 0.024592 0.069850 0.012966\nvn -4.910609 0.683366 4.881158\nv 0.021302 0.075772 0.012524\nvn 2.271562 -1.079685 -4.365596\nv 0.038386 0.077829 0.013307\nvn 6.233003 2.879483 3.708176\nv -0.012390 0.078156 0.013178\nvn -3.183177 -0.165908 5.064253\nv -0.077948 0.081976 0.012793\nvn -3.163549 -0.036762 5.085849\nv -0.077958 0.084133 0.012780\nvn -3.694219 0.831502 5.843245\nv -0.077889 0.087853 0.012758\nvn -2.449781 1.272636 5.311433\nv -0.076171 0.091818 0.012758\nvn 0.460945 2.373617 -5.148904\nv 0.038950 0.093651 0.013316\nvn -1.612904 2.073482 6.448239\nv -0.074030 0.095914 0.012729\nvn -0.281119 -2.868572 -7.116086\nv 0.038480 0.097808 0.012702\nvn 1.626338 4.605724 5.979251\nv -0.056069 0.097591 0.012869\nvn 1.372977 -4.147860 -5.309715\nv 0.040453 0.098070 0.012927\nvn -0.756888 -0.707694 -3.826375\nv 0.038582 0.099591 0.012332\nvn 0.581208 2.409728 5.463846\nv -0.060098 0.099683 0.012493\nvn 2.531085 -1.694294 -3.815346\nv 0.044123 0.099673 0.013250\nvn 0.351518 2.477215 6.517740\nv -0.062494 0.099759 0.012710\nvn -1.634662 5.104102 5.872057\nv 0.071832 0.099450 0.013254\nvn 0.734306 -1.461106 -3.619756\nv 0.041155 0.100811 0.011943\nvn -0.079899 2.616165 7.527864\nv -0.064164 0.101258 0.012232\nvn -0.771788 -4.961010 0.526403\nv -0.082074 0.142342 0.012843\nvn 0.186042 -1.094531 -0.338330\nv -0.070151 0.142131 0.012684\nvn 0.477302 -5.613853 -0.906133\nv -0.074470 0.142339 0.012766\nvn -1.797919 -5.662277 0.092145\nv -0.098523 0.146556 0.012750\nvn 1.318162 -1.692757 5.300073\nv -0.066146 0.164789 0.012847\nvn -3.414234 -3.857602 4.592594\nv 0.036224 0.056045 0.013160\nvn 1.083849 -3.598124 7.039162\nv -0.042642 0.060208 0.013040\nvn -0.165032 -3.839063 6.947916\nv -0.040604 0.060346 0.012963\nvn 3.724632 -0.864595 -1.118335\nv -0.009877 0.061300 0.012663\nvn -2.792516 -4.211304 6.176844\nv -0.068290 0.062153 0.013143\nvn -4.760628 1.560389 -1.673824\nv 0.005434 0.062043 0.012980\nvn -3.151587 -2.267441 5.807115\nv -0.072441 0.066045 0.013184\nvn -2.124529 1.060559 0.747743\nv 0.028394 0.066817 0.013490\nvn -3.563508 -0.890071 3.814206\nv 0.028487 0.068193 0.013276\nvn 0.000000 0.000000 0.000000\nv 0.076857 0.067250 0.012663\nvn 0.392923 -1.205896 1.150686\nv 0.040688 0.069260 0.013263\nvn -3.451422 -1.950010 5.703955\nv 0.022643 0.072093 0.013005\nvn -2.476434 -1.114936 5.339910\nv -0.075895 0.072312 0.013101\nvn 0.193363 -1.864312 -3.780814\nv 0.038920 0.076161 0.013638\nvn -2.821890 -0.194013 5.249427\nv -0.077698 0.077645 0.012704\nvn -1.702642 4.642704 0.689883\nv 0.049841 0.076901 0.013158\nvn -5.299449 1.016646 4.447713\nv 0.022071 0.078110 0.012843\nvn -2.539862 -0.137507 5.386825\nv -0.077873 0.079763 0.012665\nvn 0.601241 2.317359 -0.850696\nv 0.041849 0.082201 0.013396\nvn -2.915358 0.149904 5.237241\nv -0.078039 0.086186 0.012716\nvn -1.160466 2.231590 -1.527303\nv 0.033055 0.091439 0.013423\nvn -0.773964 2.535220 -4.063350\nv 0.036540 0.093113 0.013448\nvn -1.959571 0.851687 4.506125\nv -0.075687 0.093673 0.012652\nvn 0.471620 0.326979 -1.327875\nv 0.039941 0.093804 0.013554\nvn -2.174600 0.291570 -4.152661\nv 0.036438 0.097796 0.013126\nvn -0.810546 2.051565 6.622790\nv -0.070123 0.098037 0.012728\nvn 0.344146 3.790777 5.670844\nv -0.058269 0.097768 0.013138\nvn 1.388261 -3.021327 -3.652435\nv 0.042379 0.098473 0.013191\nvn -1.012848 2.472033 7.520808\nv -0.066196 0.099294 0.012714\nvn 1.657469 4.650892 6.225166\nv 0.076146 0.099580 0.013282\nvn 5.226650 0.620955 -2.675230\nv 0.043595 0.105989 0.012854\nvn 1.589575 3.537835 5.699003\nv -0.074095 0.147083 0.013019\nvn -0.340847 -2.024694 5.390840\nv -0.079802 0.162898 0.012898\nvn 1.911581 -1.856029 5.743546\nv -0.067883 0.164733 0.013149\nvn 1.189358 -4.747472 -0.573613\nv -0.015242 0.053144 0.013141\nvn -1.358706 -4.082459 2.275399\nv 0.040477 0.053671 0.013258\nvn 0.583197 -2.828206 -0.458671\nv 0.045852 0.053224 0.013012\nvn 2.852001 -3.184085 -1.598169\nv 0.029940 0.056788 0.013246\nvn -2.857952 -0.173578 4.417106\nv 0.003996 0.057913 0.013264\nvn 0.656806 -2.047902 3.314016\nv -0.047835 0.059797 0.013490\nvn 0.588885 -3.655493 5.907897\nv -0.046145 0.059921 0.013415\nvn 0.522246 -1.868955 3.484644\nv -0.044397 0.060021 0.013356\nvn -1.369135 0.525071 1.137063\nv 0.003812 0.059262 0.013129\nvn -1.664209 -3.544392 3.039723\nv -0.064250 0.059914 0.013344\nvn -1.052395 -4.207578 3.824923\nv -0.036516 0.059931 0.013198\nvn -1.526493 -4.814288 2.335161\nv -0.034660 0.059613 0.013206\nvn -2.038785 -2.012218 4.084263\nv -0.070476 0.064297 0.013484\nvn -1.071974 -0.381111 1.658172\nv -0.074011 0.069303 0.013342\nvn -1.740243 -3.027869 4.872012\nv 0.026594 0.069468 0.013417\nvn -5.110384 -1.830267 6.970219\nv 0.022447 0.074076 0.013544\nvn -1.081755 4.378369 2.085988\nv 0.042649 0.074687 0.013412\nvn -3.653462 0.172888 3.372744\nv 0.022295 0.076131 0.013523\nvn 1.499943 2.062120 4.156655\nv -0.014543 0.080477 0.013543\nvn 1.093499 2.056300 -3.937510\nv 0.040492 0.081943 0.013578\nvn -0.855154 2.952956 6.935031\nv -0.016761 0.081937 0.013243\nvn -2.433643 1.333807 5.288625\nv -0.076067 0.089587 0.013499\nvn -2.176277 1.678735 6.387146\nv -0.074467 0.091811 0.013504\nvn -1.493332 1.241358 5.662095\nv -0.073965 0.093671 0.013247\nvn 3.344333 1.665638 3.285442\nv 0.080489 0.095798 0.013238\nvn -0.637860 1.314781 4.770179\nv -0.072007 0.095510 0.013195\nvn -2.191056 1.534952 1.284180\nv 0.067522 0.096207 0.013210\nvn -1.563910 -3.186374 -5.554949\nv 0.036174 0.096440 0.013555\nvn -0.535789 1.287788 4.792248\nv -0.070212 0.095858 0.013284\nvn 1.275321 3.412704 1.610011\nv -0.053794 0.096549 0.013221\nvn -0.531932 1.681874 5.718433\nv -0.067908 0.097992 0.012934\nvn -1.859592 2.388461 2.506611\nv 0.069538 0.098176 0.013412\nvn -0.471067 1.156009 4.839901\nv -0.065858 0.097797 0.013148\nvn 0.329867 2.084758 4.519098\nv -0.060389 0.097925 0.013316\nvn -0.139459 1.188589 3.800579\nv -0.064322 0.099406 0.012897\nvn -3.244568 -0.445584 -5.968879\nv 0.036513 0.099835 0.012996\nvn 2.249320 3.122522 4.590961\nv 0.077826 0.098310 0.013436\nvn 6.520348 0.913384 -4.461404\nv 0.044012 0.103945 0.013342\nvn 3.711741 0.630855 -1.237197\nv 0.043554 0.107791 0.013268\nvn -0.162590 -3.776803 2.082833\nv -0.071989 0.142151 0.013166\nvn -1.106605 -3.789535 0.492495\nv -0.091173 0.144010 0.013012\nvn 3.050446 2.355955 6.090189\nv -0.070165 0.145284 0.013296\nvn 1.067457 3.042080 4.865834\nv -0.075971 0.147399 0.013454\nvn 1.827315 3.050898 -1.717060\nv -0.088245 0.152254 0.013239\nvn -1.244473 4.163539 4.435041\nv -0.096030 0.153460 0.013343\nvn -0.864030 4.536930 1.888241\nv -0.093888 0.153861 0.013235\nvn -0.378107 4.552159 0.648794\nv -0.092345 0.154127 0.013209\nvn 0.321263 -0.224178 4.427320\nv -0.101584 0.156984 0.013017\nvn -0.808510 -3.229168 4.723464\nv -0.079905 0.165025 0.013443\nvn -0.296767 -3.698286 4.392220\nv -0.077699 0.164507 0.013347\nvn -0.316834 -4.426963 3.914704\nv -0.076027 0.164073 0.013186\nvn 0.833801 -3.109682 5.026260\nv -0.070165 0.164379 0.013257\nvn 6.357024 -4.452502 -0.958789\nv 0.030960 0.058394 0.014585\nvn 1.242558 -5.032670 2.334348\nv 0.032501 0.058940 0.014147\nvn 2.073674 -2.130402 0.206983\nv 0.070989 0.059375 0.013362\nvn 3.804369 -0.936107 -0.795467\nv -0.009849 0.060775 0.013362\nvn 1.376612 0.444627 -1.633949\nv 0.040289 0.068126 0.014836\nvn 0.311530 -1.802943 -0.650669\nv 0.040834 0.069671 0.014626\nvn -2.753953 -1.076303 5.215557\nv -0.074672 0.072033 0.013651\nvn -0.511110 0.665932 -0.565235\nv 0.036921 0.073958 0.014508\nvn -2.686310 -0.889528 5.285150\nv -0.076036 0.074321 0.013444\nvn -3.036224 -0.370874 5.154417\nv -0.076321 0.076175 0.013520\nvn 2.277715 0.801362 1.587112\nv -0.011914 0.076875 0.013362\nvn -2.548504 -0.177612 4.294444\nv -0.076286 0.078158 0.013644\nvn -3.604900 -0.340142 5.973348\nv -0.076497 0.079717 0.013562\nvn 3.937286 2.084692 -0.761189\nv 0.042321 0.081839 0.014473\nvn -1.816672 2.352092 0.009431\nv 0.057227 0.081228 0.013362\nvn 4.566619 0.573587 1.928936\nv 0.082616 0.087835 0.013548\nvn -1.061500 1.704237 6.695526\nv -0.072092 0.093613 0.013601\nvn -0.463244 1.517377 5.783400\nv -0.068002 0.095959 0.013425\nvn -0.442935 1.942613 6.688632\nv -0.065995 0.095992 0.013536\nvn 0.216853 -1.827684 -2.353918\nv 0.037626 0.096746 0.013377\nvn -1.945073 0.400449 -1.939540\nv 0.035401 0.097807 0.013674\nvn -0.499241 1.812418 6.724139\nv -0.064321 0.097919 0.013290\nvn 0.039203 2.443062 3.126856\nv 0.074610 0.099742 0.013406\nvn -4.092576 1.126323 2.634185\nv 0.035810 0.107238 0.013538\nvn -0.064177 -2.873782 -0.851427\nv -0.077348 0.142135 0.013362\nvn 0.146089 -6.774899 -1.605867\nv -0.076210 0.142090 0.013362\nvn 1.340180 -5.323411 -0.101294\nv -0.074373 0.142147 0.013538\nvn 1.900703 3.009423 4.752705\nv -0.079549 0.149565 0.013499\nvn -2.407709 -2.780802 4.729637\nv -0.086076 0.168469 0.013617\nvn 0.634635 2.412311 1.246841\nv -0.069473 0.167780 0.013362\nvn -2.430592 -1.570726 0.507310\nv -0.090823 0.174386 0.013362\nvn 1.041213 -5.836891 0.173764\nv -0.015152 0.053091 0.014887\nvn -2.112241 -4.176189 -1.184847\nv -0.027622 0.053398 0.014157\nvn -0.622842 -6.922770 -0.322462\nv -0.026462 0.053127 0.014301\nvn 2.312695 -4.323442 -0.270776\nv -0.014189 0.053411 0.014528\nvn -1.298419 -4.162368 2.124173\nv 0.042177 0.053378 0.013742\nvn -1.041858 -4.463686 1.753151\nv 0.043052 0.053315 0.014062\nvn -0.324237 -5.618403 1.565980\nv 0.044487 0.053210 0.014431\nvn -0.446304 -8.427451 1.112764\nv 0.046106 0.053175 0.014802\nvn 0.385895 -6.850243 -0.970893\nv 0.048246 0.053213 0.014520\nvn 0.505605 -5.819291 0.824186\nv 0.060077 0.053446 0.014462\nvn 4.070815 -4.332247 -0.469410\nv -0.013195 0.054256 0.014492\nvn -2.571659 -4.684139 4.491793\nv 0.040561 0.054655 0.014349\nvn -2.928978 -5.687350 4.747336\nv 0.042543 0.054105 0.014964\nvn 0.495302 -4.682065 -1.608728\nv 0.050429 0.053482 0.014243\nvn -0.361881 -7.784927 -0.735009\nv 0.058144 0.053497 0.014669\nvn 1.292929 -4.552267 1.440660\nv 0.062413 0.053781 0.014662\nvn 3.172462 -5.674363 2.544906\nv 0.064157 0.054547 0.014660\nvn -5.285707 -5.402239 -2.313701\nv -0.028812 0.054257 0.014559\nvn 0.396705 -6.518233 -2.437361\nv 0.052362 0.053557 0.014510\nvn 2.128065 -3.139224 1.238057\nv 0.065279 0.054922 0.013925\nvn -2.124795 -1.762211 -1.161468\nv -0.029620 0.055584 0.013888\nvn 5.569485 -4.133235 -0.786580\nv -0.012135 0.055525 0.014588\nvn -1.597434 -2.434469 2.698204\nv 0.037627 0.055700 0.013789\nvn 4.376895 -6.153594 2.593049\nv 0.066235 0.056097 0.015008\nvn -8.449972 -7.533664 -3.821233\nv -0.030783 0.056430 0.014857\nvn 1.054886 -6.667189 -1.373103\nv 0.028694 0.055987 0.014590\nvn 2.937968 -3.822114 1.297149\nv 0.067573 0.056896 0.014518\nvn 4.268100 -2.527820 -0.547488\nv -0.011346 0.056734 0.014512\nvn 2.312415 -2.407271 -1.256429\nv 0.030409 0.056411 0.014774\nvn -1.476388 -1.482888 2.065800\nv 0.036577 0.056678 0.013952\nvn -2.575173 -2.815208 -1.031759\nv -0.031153 0.057348 0.013874\nvn -3.452436 -1.562019 4.923434\nv 0.005370 0.058235 0.014170\nvn 1.331944 -5.084898 1.781757\nv 0.008612 0.057228 0.014093\nvn 0.382965 -5.619229 1.065210\nv 0.009141 0.057476 0.014686\nvn -1.511566 -5.716702 -0.904673\nv 0.024513 0.056552 0.014908\nvn 3.492741 -4.642619 1.456461\nv 0.068444 0.057701 0.014968\nvn 1.384357 -5.758061 -0.483552\nv 0.011033 0.057808 0.014415\nvn -4.936544 -4.472866 7.363983\nv 0.036600 0.058114 0.014848\nvn 0.236947 -5.722559 0.197684\nv -0.055930 0.058038 0.014722\nvn 1.521647 -6.276359 -0.443809\nv -0.054235 0.058374 0.014765\nvn -4.288671 -5.187311 -1.110192\nv -0.032675 0.058514 0.014593\nvn 3.623432 -4.621960 1.179188\nv 0.069783 0.058629 0.014675\nvn -0.656808 -5.612746 -0.663864\nv -0.058297 0.058187 0.014587\nvn 4.428973 -2.196207 -0.682702\nv -0.010607 0.058060 0.014632\nvn -1.021207 -6.752659 -1.499198\nv 0.018841 0.058073 0.014896\nvn -1.805367 -6.561538 -1.598892\nv 0.020845 0.057684 0.014856\nvn -1.544956 -4.309122 -1.269379\nv -0.060310 0.058576 0.014905\nvn 2.367759 -4.863989 0.926002\nv -0.052612 0.058933 0.014665\nvn 0.691748 -2.955776 2.418389\nv -0.051054 0.059236 0.014005\nvn 1.891103 -5.371008 2.966295\nv -0.050301 0.059996 0.014758\nvn 5.532053 -2.116768 -0.883121\nv -0.010041 0.059440 0.014440\nvn 0.494885 -4.208258 6.374706\nv 0.034455 0.060163 0.014824\nvn -1.647958 -3.049736 1.954150\nv -0.062998 0.059490 0.013668\nvn 3.105134 -4.967897 5.897255\nv -0.048740 0.060542 0.014279\nvn 4.011395 -4.343361 0.915114\nv 0.070895 0.059490 0.014448\nvn -2.254819 -4.002412 0.637265\nv -0.034420 0.059943 0.014674\nvn -4.875326 -5.789058 3.758923\nv -0.064126 0.060740 0.014377\nvn 4.313234 -4.027613 0.987500\nv 0.071804 0.060547 0.015145\nvn -3.872405 -5.774724 1.923325\nv -0.036148 0.060876 0.014539\nvn -5.090663 0.471878 2.590431\nv 0.005258 0.060456 0.014189\nvn 1.036409 -3.179241 6.133292\nv -0.044479 0.061136 0.013946\nvn -2.046064 -2.938436 3.470874\nv -0.066534 0.061876 0.013754\nvn -0.366732 -1.705699 2.376566\nv -0.038788 0.061353 0.013711\nvn -3.173635 -5.930609 4.521912\nv -0.038455 0.062410 0.014588\nvn 5.678620 -1.599368 -1.046970\nv -0.009647 0.060538 0.014683\nvn 0.305372 -1.840087 3.532378\nv -0.041998 0.061751 0.013732\nvn 0.055563 -1.968643 3.470781\nv -0.041013 0.061954 0.013788\nvn -3.631746 0.688861 0.762628\nv 0.005397 0.062508 0.013986\nvn -0.484550 -3.139262 5.040144\nv -0.040535 0.062530 0.014139\nvn 4.768731 -1.166131 -0.890160\nv -0.009096 0.062433 0.014876\nvn 5.400270 -4.331019 0.922467\nv 0.073530 0.062519 0.014737\nvn -2.146500 -2.815235 3.511506\nv -0.067373 0.062863 0.014126\nvn -1.987460 -2.208666 3.999800\nv -0.069316 0.064428 0.014066\nvn -4.051105 1.952266 0.614602\nv 0.005841 0.063972 0.014081\nvn 0.925009 6.786715 0.807327\nv 0.018641 0.064157 0.014837\nvn 0.385296 5.896092 0.728012\nv 0.020878 0.063743 0.014471\nvn -0.571079 4.834832 0.801546\nv 0.022485 0.063631 0.014869\nvn 7.748866 -1.258289 -1.400873\nv -0.008791 0.064191 0.014736\nvn -3.524473 6.895320 0.072071\nv 0.024674 0.064339 0.014898\nvn 3.989501 -2.955516 0.417396\nv 0.074548 0.063788 0.014529\nvn -4.125273 3.305188 1.835165\nv 0.006506 0.064444 0.014792\nvn 0.735258 5.748608 0.653292\nv 0.014456 0.064636 0.014856\nvn 0.424193 4.726444 0.987699\nv 0.016602 0.064454 0.015048\nvn 5.703749 -3.976022 0.526576\nv 0.075264 0.064842 0.014859\nvn -2.548747 4.163471 -0.262157\nv 0.025919 0.064953 0.014106\nvn -3.338771 -2.586705 6.770772\nv -0.070013 0.066113 0.014483\nvn 1.420527 6.466208 1.480929\nv 0.010633 0.065529 0.014740\nvn 1.389462 6.241450 2.173480\nv 0.012802 0.064889 0.014748\nvn -3.286568 3.730478 -0.043363\nv 0.026936 0.065957 0.014852\nvn 5.875691 -0.054294 -0.213714\nv -0.008552 0.066188 0.014523\nvn -1.915442 4.005057 1.435425\nv 0.007420 0.065521 0.014360\nvn -0.513520 5.010654 2.675183\nv 0.008889 0.065648 0.014995\nvn -3.470098 3.406253 -0.310952\nv 0.027748 0.066758 0.014825\nvn 4.156165 -2.714823 0.420715\nv 0.076282 0.066297 0.014604\nvn -1.351302 -0.938288 2.497965\nv -0.071669 0.066550 0.013832\nvn 0.850432 2.299193 -2.130080\nv 0.041002 0.066869 0.014091\nvn 5.727338 1.268227 0.786485\nv -0.008626 0.068144 0.014870\nvn -2.865172 0.205786 -2.610931\nv 0.041765 0.068339 0.014512\nvn -4.360874 1.346034 0.521380\nv 0.028947 0.068238 0.014752\nvn 6.847018 -4.031317 0.584355\nv 0.077427 0.068148 0.014671\nvn -1.858591 -1.005796 3.394102\nv -0.072973 0.068650 0.013755\nvn -5.161301 -1.153014 3.455121\nv 0.028892 0.070082 0.014714\nvn -2.599045 -1.965832 4.817870\nv -0.073483 0.070188 0.013955\nvn 6.010258 2.961908 1.665663\nv -0.009310 0.070194 0.014570\nvn -2.346759 -2.164531 5.058848\nv 0.024433 0.071538 0.013691\nvn 5.384370 -2.459115 0.698691\nv 0.079669 0.072521 0.014786\nvn 2.536957 4.971478 1.514478\nv -0.022798 0.072603 0.014702\nvn -1.674962 6.636811 2.773886\nv -0.020856 0.072331 0.014812\nvn 4.240657 2.239239 1.370775\nv -0.010317 0.072121 0.014725\nvn -3.324509 4.778592 1.286937\nv -0.019819 0.073144 0.014179\nvn 6.804973 4.502485 3.408306\nv -0.011265 0.073745 0.014559\nvn -1.978038 -0.883071 3.306447\nv 0.023246 0.074316 0.014156\nvn 4.770585 4.910717 1.198344\nv -0.024772 0.074142 0.014671\nvn -5.171556 5.953325 3.404493\nv -0.018535 0.073913 0.014798\nvn 2.695966 3.413401 0.492855\nv 0.040279 0.074002 0.014545\nvn -2.313448 2.559335 -1.318542\nv 0.037665 0.074685 0.014191\nvn 5.537344 -1.874178 1.189106\nv 0.080315 0.074250 0.015019\nvn -1.793705 4.274338 1.843144\nv 0.044137 0.074617 0.014863\nvn 3.551542 3.421432 0.746077\nv -0.026596 0.076046 0.014584\nvn -2.310629 1.286658 2.818975\nv -0.017537 0.076128 0.013759\nvn -0.287064 -0.357437 -2.559841\nv 0.038058 0.075771 0.014587\nvn 4.676370 -1.449378 0.849621\nv 0.080763 0.075544 0.014786\nvn -1.669201 7.460030 2.262266\nv 0.046342 0.075472 0.014659\nvn 4.369404 2.669587 5.774868\nv -0.012690 0.076071 0.014408\nvn 5.350209 -2.007564 -1.734919\nv 0.040856 0.076070 0.014675\nvn -2.049102 5.393210 1.490851\nv 0.048055 0.075880 0.014769\nvn -2.758016 -0.529446 5.291338\nv -0.075536 0.076177 0.013968\nvn 1.373041 -1.211258 -1.658214\nv 0.040340 0.078012 0.014507\nvn -2.713500 6.305179 1.249454\nv 0.050238 0.076748 0.014869\nvn -2.388210 0.757782 6.116414\nv -0.016557 0.077925 0.014345\nvn 0.157513 0.259829 -0.959060\nv 0.039006 0.077543 0.014278\nvn -1.840620 4.589056 0.651656\nv 0.051157 0.077206 0.013954\nvn 1.970250 1.405854 3.021176\nv -0.012910 0.077664 0.013998\nvn -3.343430 6.060808 0.877322\nv 0.052581 0.077800 0.014708\nvn 4.695695 -1.329027 0.918102\nv 0.081531 0.077888 0.014648\nvn 5.825694 5.234305 1.519182\nv -0.028590 0.078125 0.014927\nvn -5.587821 0.486114 5.539907\nv 0.023145 0.077779 0.014371\nvn 3.441422 -2.771401 -1.949769\nv 0.041882 0.077885 0.014569\nvn -2.127359 3.352885 0.465591\nv 0.053942 0.078675 0.014664\nvn 3.663441 3.218653 1.040360\nv -0.029393 0.079186 0.014513\nvn -3.335339 4.935440 0.692729\nv 0.054846 0.079223 0.014821\nvn 1.286464 1.379050 4.378767\nv -0.014352 0.079318 0.013999\nvn -2.979830 0.767473 2.512751\nv 0.023125 0.079708 0.013931\nvn 3.556626 3.333366 1.063922\nv -0.030178 0.080004 0.014613\nvn -3.763042 4.607136 0.700716\nv 0.056191 0.080191 0.014706\nvn 2.997889 4.067036 -1.890792\nv 0.040934 0.081893 0.014397\nvn 6.530632 -0.565860 2.363657\nv 0.082110 0.081661 0.014838\nvn -2.979655 -0.198695 5.172280\nv -0.076607 0.081753 0.013724\nvn 4.127952 4.078786 1.464229\nv -0.031276 0.081192 0.014426\nvn 5.299682 5.610765 2.021245\nv -0.032472 0.082229 0.014856\nvn -5.344497 5.880347 0.300373\nv 0.058122 0.081998 0.014562\nvn 1.920537 2.203121 0.638476\nv -0.033190 0.083127 0.014140\nvn -2.105644 2.135324 0.064322\nv 0.059124 0.082987 0.014160\nvn -5.840375 5.387422 0.652144\nv 0.060284 0.084132 0.014588\nvn 5.072517 0.767514 -4.511638\nv 0.039593 0.084327 0.013670\nvn -2.684950 0.216579 5.334109\nv -0.076590 0.084167 0.013639\nvn 4.290144 5.171780 1.899344\nv -0.034599 0.084010 0.014982\nvn -4.330539 2.339209 3.359916\nv 0.025136 0.083712 0.014550\nvn -2.581029 0.106467 5.387424\nv -0.076534 0.086106 0.013591\nvn 4.788921 5.994847 1.829114\nv -0.036540 0.085763 0.014799\nvn 2.978080 0.122371 -2.658569\nv 0.039553 0.085158 0.013616\nvn -4.796754 3.478822 0.811856\nv 0.061785 0.086025 0.014860\nvn -7.268068 4.870266 4.702494\nv 0.026822 0.086131 0.014835\nvn 4.529336 0.325884 2.057318\nv 0.082678 0.086675 0.013713\nvn -3.133087 3.480299 1.345163\nv 0.027323 0.087381 0.014086\nvn -4.921242 3.315050 0.776761\nv 0.062783 0.087678 0.014141\nvn -2.644739 0.514722 5.292950\nv -0.076491 0.088084 0.013631\nvn 4.443701 6.380699 1.514477\nv -0.038740 0.087345 0.014578\nvn 5.142275 0.937336 2.901065\nv 0.082130 0.087784 0.014567\nvn -4.754643 5.863429 0.832530\nv 0.028495 0.088077 0.014845\nvn -5.838415 3.585375 1.266434\nv 0.064200 0.089682 0.014396\nvn 3.401615 0.412163 -3.615410\nv 0.039372 0.089602 0.013929\nvn 3.447554 4.728545 1.268393\nv -0.041196 0.089005 0.014939\nvn -3.776017 4.436280 -0.624664\nv 0.030662 0.089843 0.014410\nvn 6.180247 1.900471 4.647894\nv 0.081455 0.089764 0.014734\nvn -2.206546 1.343816 6.481035\nv -0.074239 0.089704 0.014122\nvn 3.388513 4.807495 1.069899\nv -0.042517 0.090096 0.014644\nvn -5.582730 5.743047 -2.937052\nv 0.032634 0.091864 0.014569\nvn 3.835788 5.700008 1.206283\nv -0.044261 0.091249 0.014605\nvn -5.016225 2.866201 1.470410\nv 0.064991 0.091281 0.014232\nvn 4.174127 6.649138 1.398926\nv -0.045877 0.092337 0.014547\nvn -4.083797 2.378354 1.576462\nv 0.065834 0.092417 0.014669\nvn -0.863884 0.974812 3.777479\nv -0.072856 0.092742 0.013682\nvn -1.544154 1.723138 -1.879540\nv 0.033901 0.092719 0.014185\nvn 3.954066 -0.562744 -5.267736\nv 0.039323 0.091436 0.014230\nvn -4.699721 5.086008 -5.922192\nv 0.034637 0.093828 0.014696\nvn 1.766499 -1.679120 -4.256254\nv 0.039565 0.092727 0.013726\nvn 3.665334 1.392813 3.064188\nv 0.081123 0.092467 0.014176\nvn 1.548905 2.534678 0.385352\nv -0.046548 0.092848 0.014023\nvn -1.214101 2.067293 -6.058287\nv 0.036393 0.094108 0.014454\nvn 1.782319 0.576160 -6.407666\nv 0.040847 0.093805 0.014038\nvn 2.833387 5.137774 1.171629\nv -0.048263 0.093753 0.014508\nvn -0.973639 1.951011 7.677852\nv -0.070329 0.094025 0.013704\nvn -6.418194 3.715144 3.823560\nv 0.066662 0.093640 0.014824\nvn 0.000000 0.000000 0.000000\nv 0.080677 0.094243 0.013713\nvn -0.210994 1.698652 -3.349549\nv 0.038439 0.094533 0.014201\nvn 5.472374 3.080275 6.370058\nv 0.079858 0.094024 0.014684\nvn -0.515709 1.627759 4.693803\nv -0.067865 0.094762 0.013793\nvn 0.365998 -0.439486 -5.809394\nv 0.040660 0.096139 0.014424\nvn -4.556506 4.279717 4.704779\nv 0.068046 0.095579 0.014571\nvn -1.061473 2.188892 7.606008\nv -0.064436 0.096203 0.013647\nvn 1.098656 2.636885 0.857802\nv -0.050862 0.095060 0.014453\nvn 0.766316 -0.986436 -5.777762\nv 0.042485 0.096216 0.014328\nvn 2.611789 7.585399 3.809828\nv -0.052542 0.095526 0.014842\nvn 1.303535 5.883179 3.424344\nv -0.054359 0.095958 0.014893\nvn -5.094676 -0.693901 -4.956802\nv 0.035111 0.095867 0.014760\nvn 2.649594 2.061306 3.666613\nv 0.079569 0.095611 0.014174\nvn -0.473199 1.141870 3.796065\nv -0.062970 0.096757 0.013721\nvn -0.211098 5.440051 4.296774\nv -0.056316 0.096217 0.014712\nvn -0.330896 2.084376 5.595155\nv -0.062531 0.097554 0.013502\nvn -0.885749 3.421253 3.473049\nv -0.058132 0.095941 0.014824\nvn 2.390196 3.018368 4.584391\nv 0.077727 0.097191 0.014296\nvn -2.508811 3.998455 4.998531\nv 0.070161 0.097570 0.014362\nvn 0.701509 -2.656000 -4.977727\nv 0.042744 0.097563 0.014162\nvn -4.247249 0.310581 -2.316319\nv 0.034798 0.097746 0.014923\nvn 3.548239 -2.543801 -7.414667\nv 0.044512 0.097776 0.014331\nvn -4.622325 -0.341288 -3.623360\nv 0.034851 0.099515 0.014392\nvn 4.349920 -0.613686 -3.916001\nv 0.045148 0.099732 0.014075\nvn -4.173828 0.110099 -2.909237\nv 0.034874 0.101839 0.014634\nvn 4.898064 0.860268 -3.311139\nv 0.045086 0.101268 0.014120\nvn -1.616173 -0.561087 -1.141114\nv 0.035395 0.101418 0.013644\nvn -6.732669 1.699641 -2.226918\nv 0.035249 0.103341 0.014877\nvn -5.388293 1.822063 1.095613\nv 0.035684 0.104611 0.014555\nvn 5.414864 1.505355 -1.611952\nv 0.044427 0.105803 0.014578\nvn -4.318857 1.391531 1.870723\nv 0.036251 0.106052 0.014726\nvn 6.172495 2.532558 -0.416191\nv 0.043850 0.107849 0.014732\nvn 4.002705 2.634899 0.998859\nv 0.042836 0.109776 0.014810\nvn -4.847309 1.228048 3.268977\nv 0.037116 0.109675 0.014597\nvn 5.031852 3.577972 2.667058\nv 0.041975 0.111183 0.014443\nvn 3.856457 3.366355 4.217267\nv 0.040580 0.113047 0.014240\nvn -2.305796 2.906411 6.161654\nv 0.038530 0.113417 0.014522\nvn -1.795827 1.159868 1.792024\nv 0.037960 0.114360 0.013733\nvn 1.072436 2.132634 2.804936\nv 0.039383 0.114616 0.013952\nvn -0.048072 -5.836530 -1.074144\nv -0.077936 0.141789 0.014479\nvn 1.319215 -4.769242 1.801646\nv -0.076150 0.141938 0.014651\nvn -0.383819 -3.920641 -0.411237\nv -0.080915 0.142322 0.013895\nvn -0.751043 -7.754435 -1.628488\nv -0.079740 0.141933 0.014733\nvn 0.965912 -3.453041 0.689976\nv -0.074848 0.142045 0.014028\nvn 0.670420 -4.011592 4.542001\nv -0.072440 0.143022 0.014238\nvn 2.174633 -1.516495 4.324231\nv -0.070605 0.143183 0.014074\nvn -1.759583 -7.410101 -1.274036\nv -0.084182 0.142684 0.014736\nvn -0.947364 -6.744778 -1.092976\nv -0.082343 0.142400 0.014376\nvn -1.449326 -5.709798 -0.037906\nv -0.086028 0.143090 0.014653\nvn -1.932613 -7.641362 0.794435\nv -0.089662 0.143961 0.014730\nvn -1.242627 -4.794843 -0.034182\nv -0.087989 0.143546 0.014625\nvn -1.150751 -3.735415 0.737204\nv -0.090940 0.144101 0.014062\nvn 1.182490 0.576944 2.338876\nv -0.070690 0.144427 0.014114\nvn -1.530520 -5.709509 0.376399\nv -0.091865 0.144629 0.014940\nvn -1.817563 -5.650788 -0.286723\nv -0.096078 0.145722 0.014501\nvn 1.182560 2.326135 6.057852\nv -0.072235 0.145019 0.014248\nvn -0.000000 -0.000000 -0.000000\nv -0.072192 0.145825 0.013713\nvn 0.688132 1.503139 2.389148\nv -0.074845 0.146079 0.013788\nvn -3.007776 -6.179964 -0.045031\nv -0.097930 0.146289 0.014499\nvn -5.196144 -2.130462 2.031938\nv -0.099686 0.147433 0.014795\nvn -5.151511 3.165273 2.885031\nv -0.099501 0.149407 0.014846\nvn 2.740757 5.492215 4.877246\nv -0.082024 0.149168 0.014704\nvn 0.408415 3.009030 3.669604\nv -0.081058 0.149821 0.013763\nvn 1.655764 4.822073 2.007347\nv -0.083984 0.151003 0.014297\nvn 3.126538 5.972965 2.583565\nv -0.086049 0.151283 0.014865\nvn -5.168935 6.208195 3.715641\nv -0.097721 0.151122 0.014774\nvn -2.390229 4.345258 3.216957\nv -0.095713 0.152748 0.014550\nvn 2.758841 5.570740 0.783560\nv -0.087731 0.152539 0.014889\nvn 2.044194 4.947059 1.409183\nv -0.089958 0.153104 0.014773\nvn -1.104307 4.245333 2.377375\nv -0.093771 0.153165 0.014722\nvn -0.630830 6.380489 4.126686\nv -0.091824 0.153604 0.014996\nvn 0.582414 3.172055 0.738106\nv -0.091445 0.154135 0.014385\nvn 0.243116 -3.662873 4.586277\nv -0.074333 0.164761 0.014184\nvn 0.497857 -3.387325 4.826381\nv -0.072226 0.164359 0.013656\nvn -0.404271 -4.278556 5.281151\nv -0.076050 0.164938 0.014376\nvn -0.986280 -3.180410 3.637978\nv -0.077899 0.165370 0.014396\nvn 0.749402 -2.090569 4.345788\nv -0.069851 0.165432 0.014069\nvn -1.994675 -3.401085 5.583184\nv -0.084140 0.166795 0.013609\nvn -0.720158 -5.200676 6.388004\nv -0.080059 0.166563 0.014925\nvn -1.009294 -2.469290 2.881077\nv -0.082365 0.166466 0.013717\nvn 1.786538 0.249436 2.860373\nv -0.068478 0.166615 0.014027\nvn 1.945750 2.278427 5.812347\nv -0.070106 0.166972 0.014523\nvn 1.541191 2.252425 2.224270\nv -0.071096 0.168195 0.014157\nvn -2.582699 -2.913327 2.936224\nv -0.085644 0.169603 0.014483\nvn 1.816296 3.246455 3.290240\nv -0.072390 0.168450 0.014781\nvn -3.935001 -3.860652 3.779067\nv -0.087495 0.171263 0.014360\nvn 2.943908 5.585669 2.430737\nv -0.076071 0.170513 0.015056\nvn 2.848198 5.492047 2.393346\nv -0.077924 0.171555 0.015045\nvn -3.073176 -1.915882 1.330760\nv -0.088723 0.172075 0.013481\nvn -4.223202 -3.388531 2.166345\nv -0.088421 0.172387 0.014967\nvn 1.937097 3.369347 0.340152\nv -0.078424 0.172087 0.014214\nvn -4.105192 -3.937649 1.795846\nv -0.089424 0.173155 0.014370\nvn 1.576121 6.577273 3.346671\nv -0.079954 0.172632 0.014463\nvn 2.989514 6.288468 3.184808\nv -0.083888 0.173068 0.014693\nvn -6.549827 -3.473843 3.795128\nv -0.090331 0.174466 0.014970\nvn 5.000381 5.284848 2.821854\nv -0.085999 0.174813 0.014790\nvn -2.512798 -1.056757 0.738092\nv -0.091195 0.175195 0.014019\nvn -4.354444 0.502516 3.605793\nv -0.091341 0.176738 0.014529\nvn 3.708444 5.763418 3.554024\nv -0.087978 0.176479 0.014885\nvn -1.814519 1.551921 1.829438\nv -0.091379 0.178063 0.013978\nvn 1.112160 5.155600 3.742507\nv -0.089650 0.177882 0.014019\nvn -0.122908 -6.991791 0.310126\nv -0.020594 0.053102 0.014522\nvn 0.000563 -7.971911 0.199256\nv -0.018466 0.053061 0.014900\nvn 0.153368 -3.978442 0.036607\nv -0.016623 0.052971 0.014062\nvn -0.010938 -6.995678 0.219789\nv -0.023273 0.053133 0.014763\nvn 0.042850 -4.813674 -1.123736\nv 0.056075 0.053569 0.014733\nvn 0.036440 -4.677281 -1.707689\nv 0.054324 0.053507 0.014842\nvn -2.837206 -3.824146 5.091815\nv 0.038421 0.056335 0.014667\nvn -0.851573 -5.884106 -0.660282\nv 0.026660 0.056105 0.014879\nvn -3.407179 -5.654440 5.071771\nv 0.006885 0.057967 0.014972\nvn -0.266650 -2.286676 1.717258\nv 0.007282 0.057239 0.014283\nvn -1.254192 -3.698594 -0.849986\nv 0.022402 0.057354 0.014237\nvn 0.711825 -5.869418 -0.656340\nv 0.012451 0.058103 0.014736\nvn -1.920822 -1.923594 2.913649\nv 0.035483 0.058580 0.014329\nvn -0.263233 -5.900668 -1.019497\nv 0.016768 0.058323 0.014571\nvn -3.101898 -5.809236 1.462789\nv -0.062472 0.059800 0.014681\nvn -0.640565 -0.614150 -0.866037\nv -0.061383 0.059042 0.014967\nvn 0.531676 -1.987730 3.427039\nv -0.046179 0.061102 0.014159\nvn -3.090818 -3.813100 3.299350\nv -0.066151 0.062526 0.014651\nvn -3.958852 -3.505021 5.804882\nv -0.067919 0.064233 0.014791\nvn -3.483561 -1.984653 6.902246\nv -0.071699 0.068122 0.014322\nvn -1.840893 -2.565508 5.090285\nv 0.026727 0.070625 0.014124\nvn 4.382517 -2.242572 0.590160\nv 0.078561 0.070112 0.014924\nvn -2.093754 -0.691634 4.477290\nv -0.073675 0.072413 0.014268\nvn -2.780365 -0.913060 6.341160\nv -0.074145 0.074265 0.014330\nvn -2.539534 -1.865692 5.070941\nv 0.024582 0.073840 0.014676\nvn -1.305694 5.158316 2.575948\nv 0.042547 0.073977 0.014814\nvn -1.687712 4.361976 1.681841\nv 0.045052 0.075123 0.014695\nvn -3.052077 -0.298183 3.903875\nv 0.023006 0.076036 0.014242\nvn 4.627205 -1.446379 1.111030\nv 0.081107 0.076700 0.014754\nvn 1.149870 2.023396 6.230524\nv -0.014464 0.077768 0.014473\nvn -1.395065 0.859878 6.178759\nv -0.016644 0.079626 0.014118\nvn 5.676524 -1.072806 1.486181\nv 0.081892 0.079894 0.014904\nvn -1.944128 -0.253488 4.579015\nv -0.075576 0.079763 0.014036\nvn 4.793207 -0.765326 -0.960454\nv 0.042312 0.079636 0.014409\nvn -1.219633 0.340064 2.293046\nv -0.017556 0.080142 0.013817\nvn -2.370354 0.025782 6.553372\nv -0.075543 0.081733 0.014222\nvn -6.561243 2.221495 5.677732\nv 0.024467 0.081839 0.014628\nvn -1.888991 0.297104 5.680576\nv -0.075527 0.084196 0.014033\nvn 7.324241 -0.030425 3.115990\nv 0.082279 0.084100 0.014743\nvn -1.957405 0.224477 6.704923\nv -0.074238 0.085915 0.014323\nvn 6.396561 0.022794 -6.259745\nv 0.040567 0.085879 0.014715\nvn -1.843196 -0.043798 5.697364\nv -0.075365 0.086177 0.014028\nvn -1.562727 0.437671 4.696930\nv -0.075422 0.087881 0.014064\nvn 2.277571 3.154594 0.917043\nv -0.040242 0.088342 0.014797\nvn 3.449671 0.143678 -4.840974\nv 0.040576 0.089825 0.014996\nvn -1.043786 1.044873 3.680309\nv -0.073673 0.091050 0.014045\nvn -1.185585 2.029912 6.567020\nv -0.072153 0.091262 0.014292\nvn -1.016489 1.927002 6.644618\nv -0.070006 0.091807 0.014338\nvn -0.506116 0.655142 2.877834\nv -0.069298 0.093675 0.013950\nvn -0.894581 1.688196 5.664916\nv -0.067930 0.093632 0.014218\nvn 1.566117 -1.233944 -5.406430\nv 0.042371 0.093695 0.014561\nvn -0.679699 2.748315 7.464309\nv -0.066090 0.093714 0.014381\nvn -0.298042 1.366213 3.729957\nv -0.065623 0.094900 0.013914\nvn -1.196063 2.796781 7.390995\nv -0.064300 0.093933 0.014477\nvn 2.948482 6.881417 2.610612\nv -0.050222 0.094539 0.015054\nvn -0.477612 0.966428 2.797054\nv -0.063732 0.095495 0.013993\nvn -0.624547 -1.378520 -3.392571\nv 0.036399 0.095439 0.014350\nvn -1.084351 2.310702 6.513421\nv -0.062564 0.095537 0.014201\nvn -1.381726 4.020731 6.533097\nv -0.060208 0.095760 0.014448\nvn 0.728414 -3.069001 -8.608278\nv 0.038455 0.095682 0.014392\nvn 0.677666 -2.020061 -3.175197\nv 0.040839 0.097153 0.014131\nvn 1.196924 3.284724 4.787489\nv 0.075941 0.097977 0.014547\nvn -0.528588 2.934735 3.985892\nv 0.072213 0.097984 0.014551\nvn 4.554661 0.020348 -3.622808\nv 0.045915 0.099621 0.015066\nvn 0.019139 3.516881 4.817600\nv 0.074260 0.099020 0.013956\nvn -5.611199 1.899939 3.422355\nv 0.036871 0.107755 0.014824\nvn 0.000000 0.000000 0.000000\nv 0.043522 0.108725 0.014500\nvn -2.302284 0.828849 1.685892\nv 0.037142 0.110971 0.014167\nvn 1.684580 3.580334 3.931463\nv 0.040804 0.111871 0.015098\nvn 2.017499 -2.708811 4.134163\nv -0.074214 0.142870 0.014698\nvn -1.397736 -5.766556 0.120971\nv -0.093881 0.145069 0.014753\nvn 0.512671 1.466008 2.348789\nv -0.076247 0.146171 0.014104\nvn 2.172225 4.168373 7.334519\nv -0.076002 0.145307 0.014713\nvn 3.542065 4.707853 7.899832\nv -0.078092 0.147014 0.014532\nvn 0.999453 1.479922 2.300178\nv -0.077523 0.147925 0.013797\nvn 1.076501 2.401725 2.999575\nv -0.080494 0.148788 0.014345\nvn -1.840261 1.944534 1.235707\nv -0.098912 0.150422 0.014383\nvn -2.044858 3.677582 2.638775\nv -0.096236 0.151872 0.015181\nvn 0.903770 -3.251109 6.070798\nv -0.072028 0.165204 0.014046\nvn -0.581455 -2.501448 3.000252\nv -0.079423 0.165781 0.014161\nvn -1.478430 -4.049596 3.823272\nv -0.081898 0.167267 0.014856\nvn -2.751550 -3.634351 3.534899\nv -0.084239 0.168609 0.014605\nvn 2.724967 5.263569 0.649629\nv -0.074723 0.169882 0.014179\nvn -2.970369 -3.985393 2.864991\nv -0.086029 0.170351 0.015028\nvn 0.509133 3.733428 3.146656\nv -0.081871 0.172444 0.014677\nvn 2.539792 2.937208 0.821362\nv -0.086885 0.175925 0.014062\nvn -1.424411 -4.673718 -1.016710\nv 0.023044 0.056991 0.014763\nvn 0.269122 -4.938973 -0.664512\nv 0.014213 0.058321 0.014647\nvn 1.463769 -3.174906 1.936654\nv 0.032936 0.059718 0.015155\nvn 3.038618 -2.525454 0.573589\nv 0.072795 0.061597 0.014675\nvn 2.659402 -4.837314 6.467999\nv -0.046279 0.062462 0.014904\nvn 0.737840 -2.119400 4.458108\nv -0.044154 0.062485 0.014505\nvn 0.814494 -3.351185 6.067058\nv -0.042680 0.062639 0.014302\nvn -1.862997 -1.057132 4.510926\nv -0.070137 0.067975 0.014941\nvn -2.211086 -1.809790 5.034303\nv -0.072058 0.070301 0.014693\nvn 4.479743 -2.092250 0.392252\nv 0.079097 0.071100 0.014412\nvn -2.251800 -2.668501 6.045580\nv 0.026644 0.072430 0.015023\nvn -1.690940 -1.328459 3.366384\nv 0.024637 0.072958 0.014357\nvn 0.044077 0.030355 1.369946\nv 0.040079 0.072945 0.015384\nvn 2.463605 3.221430 2.525097\nv -0.012443 0.074676 0.015134\nvn -1.818447 -0.295799 4.626092\nv -0.074460 0.076117 0.014479\nvn -2.105432 2.325718 4.762391\nv -0.016443 0.075734 0.014626\nvn -2.834975 -0.056877 6.375010\nv -0.075423 0.077750 0.014105\nvn -1.734347 0.236566 5.730561\nv -0.073953 0.077626 0.014633\nvn -1.903376 -0.207045 6.717363\nv -0.073970 0.079905 0.014557\nvn -0.026336 0.380726 -1.244744\nv 0.043023 0.083465 0.015345\nvn -1.711535 0.389098 5.735481\nv -0.074373 0.084137 0.014396\nvn 0.000000 0.000000 0.000000\nv -0.035523 0.085056 0.014412\nvn -1.451709 0.290067 5.794494\nv -0.074111 0.087944 0.014411\nvn 5.399518 0.217919 -5.826948\nv 0.040857 0.087899 0.014999\nvn -3.146288 2.249009 0.984412\nv 0.063464 0.088425 0.014937\nvn -1.311110 1.080649 6.767937\nv -0.072303 0.090035 0.014581\nvn -1.084580 1.764989 6.667174\nv -0.067932 0.091888 0.014748\nvn 1.223726 -1.032854 -3.627024\nv 0.044478 0.095989 0.014777\nvn 3.423975 3.521679 6.276955\nv 0.078127 0.095687 0.015019\nvn 4.178969 -0.471659 -4.111414\nv 0.046026 0.097625 0.015241\nvn -4.249082 3.195359 5.027176\nv 0.038284 0.111883 0.015065\nvn 1.303824 2.298834 6.134863\nv -0.074395 0.144982 0.014591\nvn 3.125489 4.022177 6.006062\nv -0.079749 0.147676 0.015017\nvn 0.000000 0.000000 0.000000\nv -0.083045 0.167790 0.014420\nvn 3.401087 3.815626 3.503693\nv -0.073998 0.169167 0.015103\nvn -2.022227 2.114079 3.441381\nv -0.089923 0.176944 0.015148\nvn -0.790606 -3.317494 1.904292\nv 0.043901 0.053504 0.015011\nvn 0.248525 -5.895711 -0.831076\nv 0.050600 0.053240 0.015322\nvn -3.494510 -4.592018 5.483734\nv 0.040116 0.055942 0.015377\nvn -4.454470 -0.488539 3.747394\nv 0.006105 0.060127 0.015162\nvn -2.648282 -1.954986 4.953838\nv 0.036012 0.059956 0.015442\nvn 1.986207 -3.176359 -0.517125\nv -0.051819 0.059450 0.015220\nvn -2.685739 -2.506248 1.108030\nv -0.064567 0.061752 0.015194\nvn 1.674344 -2.919064 1.753469\nv -0.048174 0.061981 0.015191\nvn -1.597498 -2.294784 0.141307\nv -0.036998 0.061785 0.015126\nvn -5.476300 1.188010 4.078334\nv 0.006087 0.062665 0.015105\nvn -2.910296 -2.724364 2.853461\nv -0.066865 0.063832 0.015246\nvn 0.149009 -3.484121 4.762618\nv -0.042647 0.064142 0.015159\nvn -3.007898 -5.574061 3.872269\nv -0.040469 0.064103 0.015310\nvn -2.460159 -1.143453 5.298626\nv -0.070395 0.069714 0.015243\nvn -1.644267 -1.926243 4.288949\nv 0.028424 0.072032 0.015324\nvn -2.234010 -0.670212 5.517645\nv -0.072584 0.072053 0.014688\nvn 0.000000 -0.000000 0.000000\nv -0.009862 0.071275 0.014763\nvn -3.519549 4.432079 1.841041\nv -0.019496 0.073072 0.015318\nvn -1.863647 3.806753 2.325414\nv -0.016906 0.074718 0.015306\nvn -3.878156 -1.145535 6.858465\nv 0.024339 0.076021 0.015064\nvn -0.209592 4.185882 4.710702\nv -0.014619 0.075754 0.015232\nvn 3.052334 -1.918686 -1.934812\nv 0.041662 0.076893 0.015197\nvn -3.585189 -0.520750 4.644099\nv 0.024439 0.077832 0.015391\nvn -4.056856 0.960477 4.289758\nv 0.024623 0.079981 0.015336\nvn 0.000000 0.000000 0.000000\nv 0.040724 0.079668 0.014822\nvn -1.031182 0.018588 3.850559\nv -0.073954 0.081850 0.014703\nvn 3.565622 -0.357031 -2.699474\nv 0.040805 0.083650 0.014918\nvn -1.677994 0.180386 5.755115\nv -0.072142 0.084236 0.015070\nvn -2.864128 1.499965 2.334528\nv 0.026141 0.084376 0.015364\nvn -1.266981 0.377927 4.807133\nv -0.072191 0.085958 0.015010\nvn 4.301528 0.403307 2.504934\nv 0.081895 0.086237 0.015229\nvn -1.198233 0.538787 5.831746\nv -0.072040 0.087526 0.014880\nvn 1.640544 2.351061 0.528893\nv -0.037623 0.086576 0.014876\nvn -0.767850 1.195413 5.802047\nv -0.070002 0.089857 0.014943\nvn -2.930052 2.715026 0.088113\nv 0.031677 0.090815 0.015200\nvn 2.680866 -1.584031 -4.963549\nv 0.040641 0.091441 0.015057\nvn 3.400687 1.432660 3.358119\nv 0.080490 0.091941 0.015028\nvn 1.878809 -2.833881 -4.904833\nv 0.042492 0.092208 0.015420\nvn -1.237548 2.033980 4.330153\nv -0.062112 0.093718 0.014980\nvn -2.007194 2.243855 2.499552\nv 0.067742 0.094519 0.015355\nvn -1.689438 2.056572 2.960350\nv -0.060752 0.094273 0.015290\nvn -1.540285 2.580339 3.949852\nv 0.069694 0.095968 0.015283\nvn 0.058757 3.244100 5.044444\nv 0.074190 0.097478 0.014929\nvn 4.165927 0.662888 -2.626466\nv 0.045749 0.100860 0.014982\nvn 5.934108 1.755557 -2.909664\nv 0.045034 0.103997 0.015113\nvn -0.516622 -5.437997 -2.191284\nv -0.081758 0.142020 0.015266\nvn 1.525715 2.496559 4.035039\nv -0.078043 0.145545 0.015242\nvn 2.172254 3.994367 3.878838\nv -0.083664 0.149546 0.015334\nvn -0.639629 -3.662433 6.951213\nv -0.077874 0.166729 0.015279\nvn 0.129420 -1.983638 4.575219\nv -0.076021 0.166793 0.015272\nvn 1.402236 -1.896867 7.077872\nv -0.074039 0.166842 0.015316\nvn 1.171592 -0.158989 4.422432\nv -0.072155 0.166885 0.015036\nvn -2.797652 -2.638432 -0.961308\nv -0.029893 0.055175 0.015112\nvn 2.800320 -1.460295 2.182397\nv 0.033695 0.061014 0.015875\nvn 1.336915 -1.280585 3.795840\nv 0.034440 0.062571 0.015353\nvn 5.732192 -2.799882 1.831211\nv 0.033921 0.062237 0.016873\nvn 2.814682 -1.683026 4.216333\nv 0.034692 0.064035 0.015558\nvn 0.508759 -3.999466 5.445997\nv -0.044375 0.064275 0.015329\nvn -2.268774 -1.193938 4.248590\nv -0.068320 0.066132 0.015313\nvn 0.757929 2.457413 1.368931\nv 0.011727 0.065130 0.015112\nvn 0.000000 0.000000 0.000000\nv 0.034762 0.070251 0.015458\nvn 0.000000 0.000000 0.000000\nv 0.035189 0.071341 0.015300\nvn 0.000000 0.000000 0.000000\nv 0.035834 0.072343 0.015285\nvn -2.444014 -0.654175 6.516685\nv -0.072118 0.074456 0.015135\nvn -2.128059 0.080997 6.631052\nv -0.072041 0.076246 0.015279\nvn -0.999672 0.302797 3.860608\nv -0.072448 0.078100 0.015004\nvn -1.458399 0.098190 5.811419\nv -0.071925 0.079574 0.015041\nvn -1.709172 -0.082009 6.774816\nv -0.072344 0.082226 0.015076\nvn -0.712013 0.688820 5.912357\nv -0.070174 0.087549 0.015134\nvn -0.642403 0.604643 4.910113\nv -0.068057 0.089489 0.015189\nvn -0.532684 1.060595 3.808060\nv -0.066253 0.091591 0.015113\nvn -1.557593 2.601029 7.307745\nv -0.064112 0.091736 0.015312\nvn -1.973713 2.615351 4.925462\nv -0.062715 0.092344 0.015394\nvn 3.956352 -2.613273 -5.998237\nv 0.044519 0.093914 0.015442\nvn 3.444457 -1.571926 -4.501598\nv 0.045880 0.095992 0.015469\nvn 1.218062 3.772415 5.657979\nv 0.075944 0.096447 0.015517\nvn 2.995284 -0.054040 6.590645\nv -0.075921 0.143276 0.015487\nvn -0.097415 2.854963 2.784927\nv -0.081382 0.171613 0.015433\nvn -1.899296 -4.449907 -0.181798\nv -0.027706 0.053242 0.015696\nvn -1.214240 -7.760702 0.311851\nv -0.026866 0.053137 0.016851\nvn 3.366120 -5.985820 0.417156\nv -0.014091 0.053521 0.016882\nvn -0.820553 -3.564027 1.330387\nv 0.046797 0.053256 0.015882\nvn -0.258736 -5.806013 1.101123\nv 0.048399 0.053213 0.016104\nvn -0.035037 -4.925383 0.492430\nv 0.050344 0.053214 0.016435\nvn 0.656301 -6.422956 -1.724260\nv 0.054077 0.053310 0.015594\nvn 0.106440 -5.771115 1.059604\nv 0.053972 0.053285 0.016793\nvn 1.137722 -6.976665 1.161758\nv 0.056492 0.053437 0.016936\nvn 0.439974 -3.796565 0.861686\nv 0.058045 0.053529 0.016540\nvn -4.375984 -6.487749 -0.006793\nv -0.028967 0.053994 0.016603\nvn -2.383787 -6.344947 5.565019\nv 0.044456 0.054434 0.016498\nvn 0.970483 -5.546734 1.630016\nv 0.060231 0.053816 0.016693\nvn 3.597175 -8.239494 4.066868\nv 0.062437 0.054574 0.016651\nvn 4.278789 -4.147741 0.104253\nv -0.013025 0.054339 0.016413\nvn -1.552050 -2.570176 2.638734\nv 0.043163 0.054903 0.016183\nvn 1.366465 -2.378888 1.213937\nv 0.063765 0.055098 0.016186\nvn -3.910637 -4.374084 -0.546726\nv -0.030213 0.055040 0.016664\nvn 4.833806 -5.591474 -3.203164\nv 0.030934 0.056059 0.016478\nvn 5.795691 -3.887348 -0.151937\nv -0.011286 0.056545 0.016569\nvn -1.846156 -2.159669 2.799575\nv 0.040947 0.056638 0.016533\nvn -1.990899 -7.500657 -1.864936\nv 0.022575 0.056692 0.016648\nvn 2.504959 -1.048788 -1.271508\nv 0.031289 0.057601 0.015846\nvn -1.682323 -1.990409 3.034282\nv 0.038222 0.057726 0.015479\nvn -4.453867 -4.900115 -1.628155\nv -0.032814 0.057769 0.016716\nvn 4.235917 -6.120045 2.886137\nv 0.068159 0.058236 0.016841\nvn -0.586046 -3.743487 -3.000070\nv -0.058034 0.057490 0.015944\nvn 0.498432 -5.404970 -3.971924\nv -0.056087 0.057609 0.015829\nvn 6.291821 -3.015157 -0.391675\nv -0.010329 0.058313 0.016267\nvn -1.321203 -1.413391 2.089282\nv 0.007685 0.058686 0.016427\nvn -1.744686 -4.557341 2.342045\nv 0.009059 0.058073 0.016588\nvn -0.073351 -7.836659 0.634843\nv 0.010656 0.057916 0.016727\nvn 1.436438 -4.083662 -3.901741\nv -0.054156 0.057740 0.016191\nvn 4.054685 -6.116047 -4.796380\nv -0.052351 0.058145 0.016656\nvn -2.892694 -5.056417 -5.002435\nv -0.060384 0.057755 0.016314\nvn -5.891334 -2.519403 3.259442\nv 0.007037 0.060209 0.016722\nvn 4.279664 -5.014869 2.082301\nv 0.070551 0.059821 0.016724\nvn -4.925220 -5.760795 -1.863066\nv -0.034833 0.059705 0.016431\nvn -2.422217 -2.562029 -1.768301\nv -0.062668 0.059826 0.016230\nvn 5.156448 -3.953876 1.385457\nv 0.032402 0.060377 0.016545\nvn 5.106691 -5.687577 -2.600313\nv -0.050321 0.059972 0.016450\nvn 6.600603 -2.197847 -0.487351\nv -0.009495 0.060245 0.016529\nvn -4.009048 -3.664585 -1.502816\nv -0.063667 0.060472 0.016776\nvn 3.358894 -2.931120 0.597606\nv -0.049415 0.061271 0.015747\nvn -4.455647 -5.205229 -0.642087\nv -0.037135 0.061585 0.016615\nvn -6.569236 -3.578717 -1.703675\nv -0.064639 0.062146 0.016819\nvn -5.775778 2.531202 4.133083\nv 0.007302 0.062131 0.016713\nvn -2.173276 -1.163957 4.334736\nv 0.035744 0.062004 0.015793\nvn -5.284055 -3.638887 0.623700\nv -0.065376 0.063055 0.016783\nvn 4.433676 -4.581108 -0.298278\nv -0.048059 0.062413 0.016726\nvn -4.178490 -1.146827 7.748021\nv 0.036584 0.062411 0.016384\nvn -3.362226 -3.306184 0.534154\nv -0.038123 0.062541 0.016933\nvn 1.783088 -2.122838 2.676714\nv -0.045633 0.063826 0.015449\nvn 0.784443 7.878428 0.755311\nv 0.020698 0.063400 0.016781\nvn -3.169371 -3.427815 0.311502\nv -0.039120 0.063607 0.016510\nvn -2.928364 2.964569 3.947859\nv 0.007515 0.064107 0.016099\nvn 0.204577 4.919519 0.609706\nv 0.018668 0.063698 0.016827\nvn -3.625744 4.609385 0.331220\nv 0.024799 0.064331 0.016785\nvn 1.155151 -2.631284 2.291144\nv -0.044838 0.064873 0.015839\nvn -1.203417 -0.438678 3.293554\nv 0.035632 0.064854 0.015721\nvn 0.397431 4.690257 1.470222\nv 0.012708 0.063962 0.016541\nvn 0.940831 5.903895 3.370342\nv 0.010751 0.064185 0.016731\nvn -5.239913 4.310282 -0.955305\nv 0.026454 0.066200 0.016713\nvn 6.476114 0.982538 1.253330\nv -0.008393 0.066125 0.016719\nvn 0.000000 -0.000000 0.000000\nv 0.035793 0.066566 0.015800\nvn 5.518471 -3.885585 1.749240\nv 0.075802 0.066173 0.016727\nvn -3.189906 -1.430790 4.685855\nv -0.068477 0.067708 0.015505\nvn 5.475394 2.336444 2.611470\nv -0.009030 0.068114 0.016859\nvn 2.113357 -1.320991 5.445683\nv 0.036486 0.067946 0.016443\nvn -4.045039 1.917277 -1.556381\nv 0.028296 0.068505 0.016550\nvn 6.801919 -3.367496 2.371086\nv 0.078095 0.070105 0.016878\nvn 3.237348 1.775677 1.194951\nv -0.009509 0.069762 0.016284\nvn -6.929522 2.979623 -1.253121\nv 0.029213 0.070500 0.016702\nvn 0.914556 -1.829604 4.872398\nv 0.038276 0.070098 0.016479\nvn 2.072450 -1.899883 0.598051\nv 0.036734 0.069960 0.016852\nvn 6.085852 -2.753173 1.944086\nv 0.078868 0.072028 0.016988\nvn -2.377169 -0.306983 5.461412\nv -0.070258 0.072584 0.015583\nvn 5.918184 3.396031 3.797018\nv -0.011087 0.072163 0.016686\nvn 2.518654 5.214396 3.569806\nv -0.022650 0.071614 0.016654\nvn 3.516785 -1.582082 0.964464\nv 0.079359 0.072500 0.016162\nvn 3.509373 -0.736372 2.572619\nv 0.038847 0.072110 0.016791\nvn -0.838221 3.281099 4.936854\nv 0.040721 0.072152 0.016288\nvn 3.059389 3.466485 1.816656\nv -0.024072 0.072685 0.016760\nvn -1.855734 -0.528201 4.602314\nv -0.070326 0.073521 0.015627\nvn -2.256132 2.916115 1.402748\nv -0.018608 0.073359 0.016474\nvn -1.451883 3.558339 3.027661\nv 0.042838 0.073343 0.016076\nvn 4.449300 4.934776 3.982063\nv -0.012727 0.074026 0.016927\nvn -3.533320 6.710737 4.668318\nv 0.044615 0.073991 0.016588\nvn 3.519796 3.330233 1.202788\nv -0.025723 0.074853 0.015733\nvn -3.310028 7.535781 3.017962\nv -0.016708 0.074319 0.017080\nvn -2.239207 -1.672411 5.281214\nv 0.026254 0.074250 0.015599\nvn 5.254389 -2.741946 0.250036\nv 0.040168 0.074265 0.016690\nvn 5.049884 -3.044586 -0.853683\nv 0.040996 0.075826 0.016780\nvn -1.452642 4.332714 1.968094\nv 0.045670 0.074897 0.015779\nvn 5.428153 5.111869 2.644120\nv -0.026994 0.075727 0.016878\nvn -2.679708 4.956179 1.932584\nv 0.048804 0.075547 0.016771\nvn 8.017301 -1.952295 3.377862\nv 0.080235 0.076016 0.016811\nvn -3.685723 6.785386 1.882246\nv 0.052513 0.077361 0.016730\nvn 5.428008 -1.378908 2.105197\nv 0.081202 0.078223 0.015912\nvn -1.758208 0.551708 5.696988\nv -0.070713 0.078188 0.015425\nvn 6.510045 -2.112576 -0.369235\nv 0.042153 0.077822 0.016771\nvn -2.454684 0.388577 7.457581\nv -0.070020 0.079977 0.015534\nvn -4.887721 6.090722 1.582178\nv 0.056040 0.079741 0.016888\nvn 7.277635 7.193757 3.861712\nv -0.030912 0.079908 0.016607\nvn -1.675756 -0.143637 6.789610\nv -0.070644 0.082241 0.015505\nvn 5.105295 5.360959 2.945690\nv -0.032854 0.081607 0.016860\nvn -5.354167 5.666279 1.555743\nv 0.058273 0.081803 0.016510\nvn 4.444881 -0.099435 -3.977048\nv 0.042585 0.082107 0.016188\nvn -3.595731 1.229968 3.223106\nv 0.025868 0.082912 0.015781\nvn 4.093480 4.993628 2.623901\nv -0.034834 0.083420 0.016875\nvn -1.354808 0.623290 6.804694\nv -0.070357 0.084243 0.015564\nvn 2.556983 0.043449 -2.169830\nv 0.041348 0.083666 0.015843\nvn -4.911954 4.559294 1.838266\nv 0.060460 0.083977 0.016787\nvn -4.965556 1.879257 4.436437\nv 0.027058 0.083938 0.016757\nvn -0.751256 0.802398 5.890347\nv -0.070086 0.086106 0.015385\nvn -1.012066 1.436929 6.642802\nv -0.067911 0.086144 0.015559\nvn 2.161093 -0.075911 -2.034319\nv 0.041579 0.086302 0.015639\nvn 1.734079 0.756101 -1.516715\nv 0.044450 0.085799 0.017094\nvn 4.914994 6.571808 3.577567\nv -0.038334 0.086175 0.016909\nvn -1.531889 0.969102 7.741203\nv -0.067790 0.087440 0.015372\nvn -3.902302 2.866283 1.214212\nv 0.063009 0.087312 0.015992\nvn -5.756651 4.166027 3.516734\nv 0.029033 0.087736 0.016701\nvn -5.864732 4.535648 2.866510\nv 0.063942 0.087993 0.016974\nvn 3.910500 0.952907 2.905187\nv 0.081165 0.087880 0.016010\nvn -4.650256 2.830244 2.271341\nv 0.064669 0.089635 0.016267\nvn -1.799945 1.760144 8.599122\nv -0.066203 0.089872 0.015472\nvn -1.795492 2.054975 0.344253\nv 0.029628 0.088969 0.015824\nvn 3.856405 5.136797 2.665453\nv -0.042680 0.089607 0.016440\nvn -6.466877 6.725146 1.978271\nv 0.030745 0.089761 0.016581\nvn 0.000000 0.000000 0.000000\nv 0.080842 0.089789 0.015647\nvn 4.993421 2.262233 5.719790\nv 0.079768 0.089788 0.016745\nvn 3.186985 4.552569 2.098824\nv -0.044174 0.090551 0.016845\nvn -5.749810 3.601746 0.832343\nv 0.032339 0.091608 0.016819\nvn 1.555562 2.397210 0.794592\nv -0.044772 0.091209 0.016294\nvn -5.416866 4.338412 3.792141\nv 0.066170 0.091403 0.016612\nvn 4.190675 6.976215 3.542907\nv -0.046425 0.092031 0.016588\nvn -3.015354 2.298102 -0.668438\nv 0.032972 0.092889 0.015749\nvn 1.545931 -1.759807 -3.138911\nv 0.043932 0.092712 0.015572\nvn 2.504658 4.942825 2.181660\nv -0.048450 0.093312 0.016197\nvn -2.707895 3.496448 3.921361\nv 0.068096 0.093531 0.016432\nvn -5.418839 1.473683 -1.310950\nv 0.033886 0.094654 0.016707\nvn 1.513126 1.199301 2.290418\nv 0.078285 0.094598 0.015509\nvn -3.158535 4.426034 5.754598\nv -0.060073 0.093531 0.016328\nvn 5.672469 -1.689587 -3.580244\nv 0.046814 0.095642 0.016726\nvn -0.716782 3.877506 5.733239\nv 0.071945 0.096451 0.015590\nvn 5.026846 -0.279478 -3.216006\nv 0.046913 0.097761 0.016391\nvn -6.251226 -1.270363 -2.735487\nv 0.033910 0.098047 0.016595\nvn 4.951065 0.964096 -3.040563\nv 0.046863 0.099532 0.016415\nvn -5.348673 -0.157648 -2.610829\nv 0.033777 0.099643 0.016257\nvn 4.276552 1.204969 -2.261992\nv 0.045451 0.102736 0.015341\nvn 6.153248 2.480100 -1.263410\nv 0.045736 0.103701 0.016667\nvn -3.782341 2.806143 -1.102727\nv 0.035681 0.104601 0.015853\nvn -6.758442 6.849875 1.717740\nv 0.036462 0.105673 0.016727\nvn 5.079747 2.601973 -0.500899\nv 0.044834 0.105878 0.017051\nvn 4.593111 3.228604 1.111425\nv 0.043898 0.107486 0.016645\nvn -3.731264 1.159950 3.078073\nv 0.037840 0.109663 0.015627\nvn 3.327945 4.439308 3.871404\nv 0.042338 0.109257 0.016530\nvn 1.607334 -4.180423 3.166257\nv -0.078126 0.141739 0.016063\nvn 0.965718 -4.489301 -1.882501\nv -0.081798 0.141122 0.016892\nvn 2.077820 -4.137331 1.513269\nv -0.080344 0.141623 0.016736\nvn -0.671240 -3.634766 -1.492826\nv -0.083123 0.142202 0.015463\nvn -2.720455 -7.647648 -3.651432\nv -0.086205 0.142705 0.016555\nvn -1.717148 -5.321525 -1.914721\nv -0.087863 0.143201 0.016789\nvn -1.934528 -6.258420 -2.040647\nv -0.089783 0.143861 0.016771\nvn -1.258983 -4.716225 -0.841461\nv -0.091432 0.144424 0.016372\nvn -1.636739 -7.341303 -2.345961\nv -0.093741 0.144831 0.016869\nvn -1.448978 -5.615140 -1.379834\nv -0.096083 0.145354 0.016599\nvn -2.215797 -4.225943 -0.845466\nv -0.097771 0.146014 0.015709\nvn -5.945897 -1.888566 2.137979\nv -0.099069 0.147121 0.016653\nvn 2.030857 2.778174 3.530071\nv -0.081198 0.147971 0.015621\nvn 1.818555 2.451452 2.483793\nv -0.086500 0.150819 0.015938\nvn -1.793977 6.102225 4.686133\nv -0.093777 0.152512 0.015829\nvn -1.064131 -2.660647 2.330041\nv -0.082791 0.168133 0.015743\nvn -0.083178 -2.508027 6.953339\nv -0.081980 0.168988 0.016342\nvn -2.494793 -3.135155 3.908147\nv -0.083818 0.169212 0.016202\nvn 1.739056 2.126553 3.618888\nv -0.075543 0.169843 0.015774\nvn -1.136171 -2.171115 3.710294\nv -0.086112 0.171089 0.016354\nvn 0.786590 2.737202 5.780877\nv -0.077931 0.170652 0.016018\nvn -2.826271 -3.143800 2.252234\nv -0.087175 0.171720 0.016216\nvn 0.376143 3.670020 4.464008\nv -0.079740 0.171671 0.015564\nvn 1.384267 2.207325 2.627524\nv -0.084223 0.172508 0.016177\nvn 1.699812 2.152457 5.282006\nv -0.085806 0.172917 0.016515\nvn -3.281458 -0.662474 3.960079\nv -0.089384 0.174543 0.016286\nvn 1.092961 2.298972 4.624784\nv -0.087821 0.174976 0.016420\nvn 1.080633 -5.835812 0.199852\nv -0.015167 0.053181 0.016794\nvn 0.064250 -4.998703 0.060718\nv -0.024673 0.053144 0.016338\nvn -1.806131 -4.342470 3.463371\nv 0.046170 0.054085 0.016967\nvn -3.513570 -3.389940 -0.488267\nv -0.031061 0.055791 0.016776\nvn 0.084734 -6.876752 -0.972728\nv 0.029169 0.055596 0.017058\nvn 3.665232 -6.232372 3.399063\nv 0.064475 0.055817 0.016792\nvn -0.878962 -5.858740 -0.878780\nv 0.026364 0.055869 0.016762\nvn -1.084964 -4.796358 -0.890245\nv 0.024292 0.056323 0.016617\nvn 0.258731 -4.972819 -0.295067\nv 0.012551 0.057974 0.016462\nvn -0.841630 -3.780108 -0.987073\nv 0.020163 0.057470 0.016374\nvn -0.166280 -6.933793 -0.757963\nv 0.014790 0.058077 0.016425\nvn -4.489437 -2.546893 7.281966\nv 0.038351 0.059968 0.016693\nvn 3.226095 -4.683897 1.878362\nv 0.069464 0.059014 0.016584\nvn -1.877990 -0.886495 3.417500\nv 0.036743 0.060496 0.015986\nvn 5.763942 -1.158673 -0.057869\nv -0.008801 0.062364 0.016883\nvn 7.869810 -6.746250 3.387312\nv 0.072505 0.062027 0.017104\nvn 5.357633 -4.653128 2.319197\nv -0.046429 0.064207 0.016913\nvn -1.244220 5.722920 0.655965\nv 0.022789 0.063386 0.016985\nvn 6.148425 -4.610257 2.103081\nv 0.074263 0.064082 0.016758\nvn -2.659284 0.017673 4.202316\nv 0.036867 0.064216 0.016679\nvn -1.831313 -2.881678 -0.788443\nv -0.040374 0.064532 0.017056\nvn -4.163453 -1.737676 3.751207\nv -0.067391 0.066129 0.015947\nvn -2.425249 4.654485 3.744312\nv 0.009172 0.064223 0.016734\nvn -0.268434 -1.228858 4.919424\nv 0.036315 0.066115 0.016292\nvn -6.062214 -2.138455 1.182697\nv -0.067605 0.068172 0.016795\nvn 5.787261 -3.421540 1.801376\nv 0.076712 0.067623 0.016935\nvn 2.560220 -1.413206 0.613321\nv 0.077427 0.068764 0.016705\nvn -4.931480 -1.199603 3.717936\nv -0.068479 0.070286 0.016576\nvn 0.000000 0.000000 -0.000000\nv -0.069139 0.070028 0.015819\nvn -3.557588 -0.684643 2.427523\nv 0.029518 0.072357 0.016009\nvn -3.708234 -0.500552 4.347191\nv -0.069265 0.072387 0.016020\nvn 4.097397 3.703362 2.203090\nv -0.025259 0.073924 0.016763\nvn -1.316734 -1.030371 3.627137\nv 0.027184 0.074662 0.016050\nvn 0.903411 5.772194 3.116977\nv -0.014273 0.074810 0.016985\nvn -1.133901 3.422663 1.636776\nv -0.014961 0.075118 0.016014\nvn -1.650679 -0.836453 3.530421\nv 0.025695 0.075650 0.015706\nvn -0.804807 3.599715 1.474621\nv 0.046902 0.075100 0.016064\nvn -3.580647 0.288476 5.703210\nv -0.069777 0.076166 0.016055\nvn -3.282540 -2.055150 6.911667\nv 0.026739 0.076070 0.016285\nvn -2.099410 4.340712 1.292403\nv 0.050202 0.076256 0.016895\nvn -2.624073 0.691699 4.074914\nv -0.069463 0.077695 0.015957\nvn 4.772590 4.523728 2.225369\nv -0.028777 0.077680 0.016652\nvn -1.080337 1.047953 4.700084\nv -0.068027 0.079794 0.016157\nvn -1.112695 0.063028 5.875719\nv -0.068541 0.081547 0.015939\nvn -3.316855 0.886216 3.611927\nv 0.025573 0.080991 0.015911\nvn -0.665635 -0.075733 3.935698\nv -0.069207 0.082300 0.015829\nvn 5.252750 -0.122043 2.845843\nv 0.081430 0.081857 0.016392\nvn 2.443267 1.050727 -1.635803\nv 0.043762 0.083944 0.016539\nvn 4.025535 4.928462 2.859487\nv -0.036361 0.084497 0.016932\nvn 2.381207 1.191577 -4.078011\nv 0.042146 0.083894 0.016548\nvn -0.800653 0.624136 6.899981\nv -0.067947 0.084024 0.015963\nvn 1.770279 2.138963 1.095792\nv -0.037124 0.085622 0.016209\nvn -5.131426 4.308705 1.868992\nv 0.062407 0.086163 0.016841\nvn -1.002959 0.861212 3.643924\nv -0.066673 0.086325 0.015754\nvn 4.185615 -0.805608 -4.153013\nv 0.042576 0.087919 0.016790\nvn -1.899802 0.880654 6.657437\nv -0.065885 0.087755 0.015930\nvn -0.920771 0.476467 2.813426\nv -0.066848 0.088250 0.015557\nvn 4.415774 5.901039 2.951729\nv -0.040477 0.087810 0.016888\nvn -2.023129 1.789743 6.412773\nv -0.064138 0.089666 0.015932\nvn -0.556201 0.869799 2.816118\nv -0.064573 0.090098 0.015707\nvn -3.040132 2.619612 5.657032\nv -0.062043 0.091418 0.016311\nvn 2.142246 -1.319680 -4.215951\nv 0.042512 0.091003 0.016065\nvn 5.797604 -3.611531 -7.485311\nv 0.044667 0.091779 0.016704\nvn 2.887213 1.732828 3.680734\nv 0.079506 0.091754 0.016028\nvn -5.877611 3.150572 0.107196\nv 0.033229 0.093394 0.017040\nvn -1.949780 0.708850 1.262222\nv 0.067144 0.093100 0.015977\nvn 1.686518 4.646155 3.263141\nv -0.050263 0.093665 0.017004\nvn 3.978984 -2.591854 -4.077930\nv 0.045921 0.093875 0.016751\nvn -1.131083 3.574201 3.237107\nv -0.057844 0.094958 0.016075\nvn -2.002427 4.060405 5.272597\nv 0.070077 0.094988 0.016043\nvn -0.060720 3.986463 2.945249\nv -0.055581 0.095219 0.016254\nvn 1.116987 2.498003 4.117246\nv 0.076026 0.095407 0.016200\nvn -5.531099 -0.238556 -1.826206\nv 0.034202 0.095976 0.016812\nvn 0.063794 2.342716 3.233377\nv 0.074027 0.096300 0.015689\nvn -4.330438 1.094160 -2.102812\nv 0.033866 0.101700 0.016318\nvn 7.776237 2.664705 -3.230189\nv 0.046662 0.101805 0.017081\nvn -6.897709 4.319785 -1.203162\nv 0.034488 0.103821 0.016917\nvn 2.441401 1.119632 -1.004152\nv 0.045344 0.104430 0.015985\nvn -4.669422 3.320023 5.200379\nv 0.038381 0.107705 0.016846\nvn -2.701867 1.891735 4.766086\nv 0.038722 0.109550 0.016549\nvn 1.330515 3.226501 4.276237\nv 0.040239 0.110999 0.016274\nvn -0.428797 2.287870 2.713373\nv 0.039307 0.111491 0.016051\nvn -1.141210 -2.497765 -1.076998\nv -0.084523 0.142471 0.015812\nvn 1.145338 0.678024 2.455990\nv -0.076702 0.143550 0.015859\nvn 2.061835 2.570383 4.877603\nv -0.077874 0.144460 0.015938\nvn 3.623485 3.647302 7.307070\nv -0.080003 0.145130 0.016387\nvn 1.560267 1.693262 3.235365\nv -0.079273 0.145825 0.015568\nvn 1.786993 1.624934 3.186455\nv -0.080858 0.146705 0.016118\nvn 1.901085 3.116730 3.344149\nv -0.082270 0.148256 0.015969\nvn -3.186478 0.793907 1.909200\nv -0.099017 0.148698 0.016443\nvn 1.842566 3.074773 3.434036\nv -0.084257 0.148804 0.016563\nvn -4.564801 4.564415 4.044483\nv -0.098000 0.149660 0.017003\nvn 3.187333 5.368225 4.833215\nv -0.085957 0.149456 0.016765\nvn -1.782227 2.974796 1.935943\nv -0.097247 0.150591 0.016363\nvn 2.040544 3.806274 4.041800\nv -0.087825 0.151274 0.016342\nvn 1.409752 4.992891 4.567533\nv -0.089988 0.152299 0.016152\nvn -0.214284 -1.244629 3.794055\nv -0.078076 0.168191 0.015783\nvn 0.526604 -1.316281 6.632944\nv -0.075979 0.168487 0.016014\nvn 1.451812 -0.162684 4.318127\nv -0.074662 0.168484 0.015844\nvn 0.907943 -1.012319 8.269608\nv -0.079979 0.169198 0.016021\nvn 1.563066 3.755444 7.294624\nv -0.082100 0.170918 0.016135\nvn 0.116385 0.805329 3.855137\nv -0.079686 0.170663 0.015947\nvn -2.967563 -2.640123 6.760842\nv -0.087911 0.172887 0.016452\nvn -2.539587 -2.181237 1.906979\nv -0.089131 0.173565 0.015950\nvn 1.266965 1.305507 2.830306\nv -0.086416 0.174143 0.016393\nvn -0.579168 1.424769 2.380681\nv -0.089696 0.176139 0.015960\nvn -0.155550 -5.992579 0.250428\nv -0.018898 0.053164 0.016863\nvn -0.004830 -5.928776 0.524959\nv 0.052210 0.053222 0.016571\nvn -3.026967 -4.751370 5.643382\nv 0.042353 0.056244 0.017032\nvn -2.341274 -2.253289 3.775687\nv 0.038914 0.058378 0.016281\nvn -2.355925 -2.875227 -0.929416\nv -0.033935 0.058572 0.016801\nvn 4.114037 -2.135491 -0.414830\nv 0.033218 0.061616 0.017167\nvn -5.433681 -2.876043 1.533971\nv -0.065993 0.064448 0.016863\nvn 4.756667 -1.108232 0.547364\nv 0.034200 0.064316 0.017216\nvn 0.491299 6.546738 2.216208\nv 0.014614 0.063775 0.016665\nvn 0.121185 5.787992 1.351344\nv 0.016700 0.063631 0.017090\nvn 3.837921 -0.373764 0.238110\nv -0.008377 0.064368 0.016954\nvn -4.331934 -1.925436 0.325358\nv -0.066810 0.066095 0.017014\nvn 0.948308 -4.800173 2.642871\nv -0.044433 0.065647 0.016898\nvn -1.259061 -6.397363 1.480670\nv -0.042622 0.065598 0.016795\nvn 5.286150 -2.386436 2.277394\nv 0.034742 0.065923 0.017119\nvn 5.346554 2.957617 4.753600\nv -0.010504 0.070413 0.017105\nvn -2.406131 2.702659 1.693081\nv -0.020240 0.071867 0.016301\nvn -4.133098 -2.944451 8.232335\nv 0.028789 0.074085 0.016389\nvn -2.694274 -0.514103 3.977070\nv -0.069627 0.074432 0.016064\nvn -2.135906 -0.754858 3.216004\nv 0.025491 0.077713 0.016182\nvn -4.158618 3.319836 5.031670\nv -0.068177 0.077935 0.016907\nvn 0.000000 0.000000 0.000000\nv 0.040911 0.080054 0.016196\nvn 0.000000 0.000000 0.000000\nv 0.039914 0.078553 0.016378\nvn -3.631778 0.394662 4.661172\nv 0.025400 0.079612 0.016196\nvn -1.128512 0.767813 7.863024\nv -0.066333 0.081704 0.016204\nvn 5.977233 0.075682 3.538762\nv 0.081425 0.083793 0.016533\nvn -0.724850 0.124371 3.909941\nv -0.069473 0.083525 0.015817\nvn -1.074689 0.357621 5.854562\nv -0.066104 0.084269 0.016083\nvn 4.659432 -0.240290 -5.353202\nv 0.042572 0.085760 0.016816\nvn -1.647632 0.977187 5.539593\nv -0.065885 0.086237 0.016036\nvn -3.052775 1.407351 2.150675\nv 0.027502 0.085488 0.016406\nvn 5.800079 0.959341 3.731875\nv 0.081285 0.085967 0.016307\nvn -2.146624 1.086548 5.447006\nv -0.064186 0.087946 0.016349\nvn 3.785830 -1.635710 -5.429415\nv 0.042720 0.089702 0.016538\nvn -2.682103 1.564769 5.120453\nv -0.062479 0.089691 0.016682\nvn 1.133802 -0.740499 -1.990574\nv 0.045107 0.093207 0.016829\nvn 3.161355 2.694262 5.600111\nv 0.077875 0.093369 0.016392\nvn 0.722661 3.124640 2.301335\nv -0.054273 0.094949 0.016495\nvn -0.797520 2.742959 4.084755\nv 0.071701 0.095289 0.016263\nvn 0.014050 4.017007 5.703848\nv 0.074100 0.095496 0.016342\nvn 3.462497 2.995601 1.722847\nv 0.043082 0.108132 0.017149\nvn -2.229798 -6.637158 -3.679949\nv -0.084058 0.141680 0.016820\nvn 2.095614 0.373063 5.387561\nv -0.078055 0.143254 0.016344\nvn -2.369081 5.314217 3.853804\nv -0.095820 0.151030 0.016714\nvn -0.029362 2.803690 2.788954\nv -0.091698 0.152401 0.016366\nvn 0.733208 -0.946356 2.210809\nv -0.080323 0.167875 0.015975\nvn -0.168243 -0.467284 4.896180\nv -0.077957 0.169349 0.016140\nvn 0.954600 1.607450 4.045700\nv -0.076497 0.169891 0.016138\nvn 0.144026 -4.980077 0.058540\nv -0.016536 0.053074 0.016502\nvn -0.799612 -4.055159 2.639168\nv 0.047867 0.053647 0.017059\nvn 0.536050 -2.514761 -0.539855\nv 0.055827 0.053310 0.016513\nvn -1.050647 -5.315783 -5.719266\nv -0.058301 0.056100 0.016938\nvn 1.002349 -3.886817 -4.327592\nv -0.056066 0.056024 0.017008\nvn 2.477764 -3.832394 2.019230\nv 0.066170 0.056968 0.017065\nvn 1.265247 -3.947609 -4.275012\nv -0.054480 0.056478 0.017035\nvn -3.618917 -3.322638 -0.510796\nv -0.031813 0.056654 0.017117\nvn -1.727532 -4.116249 -3.909896\nv -0.060193 0.056512 0.017207\nvn -1.238040 -4.664041 -1.297427\nv 0.020851 0.057082 0.017120\nvn -3.655703 -3.016532 5.113654\nv 0.040145 0.058082 0.016991\nvn -1.336621 -6.691874 -1.461562\nv 0.018598 0.057598 0.017092\nvn 5.786084 -1.575664 -3.448360\nv 0.032008 0.057976 0.017010\nvn -4.754633 -3.823793 -5.053067\nv -0.062243 0.058346 0.017074\nvn -0.452736 -4.897670 -0.864846\nv 0.016627 0.057959 0.016513\nvn 1.461147 -1.918673 -1.752053\nv -0.050991 0.058502 0.017286\nvn 1.971219 -1.938151 0.971924\nv 0.071527 0.060691 0.016682\nvn -3.834677 -4.575027 -0.564354\nv -0.036244 0.060758 0.017042\nvn 4.298872 -3.196899 -2.593148\nv -0.049103 0.060818 0.017262\nvn -0.586134 -1.257690 -0.226999\nv -0.041462 0.065317 0.017048\nvn -3.904163 1.249894 7.864102\nv 0.038316 0.066200 0.017278\nvn -1.720082 1.274104 4.369070\nv 0.038776 0.067757 0.016859\nvn -4.770930 2.950983 -1.809288\nv 0.027362 0.067762 0.017250\nvn -2.242070 1.917598 5.956186\nv 0.040498 0.070271 0.017110\nvn -1.440018 5.709232 5.627357\nv -0.020912 0.070635 0.017199\nvn -5.629353 -0.445473 1.597063\nv -0.068592 0.072077 0.017047\nvn -6.044749 0.754979 0.946664\nv 0.029840 0.072469 0.016915\nvn -5.496670 5.357537 4.205523\nv -0.019116 0.072430 0.017130\nvn -2.899559 4.032782 4.839803\nv 0.042568 0.072235 0.016978\nvn -6.041492 -0.431582 3.201418\nv -0.068841 0.074156 0.017021\nvn 2.021538 1.652197 1.271331\nv -0.011734 0.073375 0.016483\nvn 6.166757 -2.156194 2.447696\nv 0.079643 0.073854 0.016842\nvn 0.000000 0.000000 0.000000\nv 0.037327 0.074404 0.016661\nvn -2.697735 5.300700 3.454565\nv 0.046276 0.074342 0.017195\nvn 2.671048 2.450591 1.599813\nv -0.026185 0.074675 0.017261\nvn 0.000000 0.000000 0.000000\nv 0.038355 0.076198 0.016520\nvn -1.994473 6.001905 2.808564\nv 0.047820 0.074808 0.017261\nvn -3.914409 0.776956 2.658170\nv -0.068882 0.076052 0.017052\nvn 1.925708 1.895552 1.181965\nv -0.027962 0.076681 0.017155\nvn -2.992332 -1.278038 6.124424\nv 0.026654 0.077819 0.016851\nvn 0.000000 0.000000 0.000000\nv 0.039226 0.077518 0.016492\nvn 0.000000 0.000000 0.000000\nv 0.041651 0.077020 0.016658\nvn -1.566915 3.485529 1.178543\nv 0.051737 0.076857 0.017140\nvn 5.216258 -1.103687 2.736702\nv 0.080499 0.077723 0.017101\nvn -3.263577 4.860538 1.212027\nv 0.054355 0.078519 0.017038\nvn -1.154005 2.563177 5.085039\nv -0.066066 0.079742 0.016610\nvn -2.717282 0.159613 4.111219\nv 0.026665 0.079889 0.017067\nvn 6.567316 -1.531450 -0.723791\nv 0.042756 0.079782 0.017119\nvn 6.246946 -0.887482 2.949885\nv 0.081256 0.079938 0.016655\nvn -1.346169 2.379621 4.991888\nv -0.064282 0.079941 0.016781\nvn 1.869833 1.951018 1.256834\nv -0.031954 0.080700 0.017040\nvn -5.044181 0.637749 6.056720\nv 0.026890 0.081617 0.017119\nvn -2.299130 0.213654 6.522965\nv -0.064103 0.081873 0.016555\nvn 1.848771 2.012406 1.206240\nv -0.033940 0.082464 0.017198\nvn -3.403747 3.363106 1.373163\nv 0.059451 0.082773 0.016942\nvn -0.861515 0.053078 3.888885\nv -0.064884 0.083661 0.016313\nvn -3.603367 0.215209 8.131737\nv -0.064332 0.086172 0.016562\nvn -4.181216 2.059692 3.640882\nv 0.028334 0.085951 0.017267\nvn 0.000000 0.000000 0.000000\nv 0.044742 0.087356 0.016724\nvn 4.271614 1.485679 3.901605\nv 0.080202 0.087864 0.017055\nvn -2.080065 1.374317 1.560300\nv 0.065506 0.090171 0.017132\nvn 3.612990 3.095917 6.389679\nv 0.078244 0.091642 0.016959\nvn -3.400379 3.083467 6.464862\nv -0.060293 0.091906 0.017190\nvn 1.770142 3.835435 2.649336\nv -0.047911 0.092385 0.017228\nvn -3.966397 3.642019 4.731651\nv 0.067765 0.092350 0.017233\nvn -2.159488 4.158000 5.147435\nv -0.058169 0.093951 0.016907\nvn -1.404967 4.134729 5.386497\nv 0.070082 0.093886 0.016981\nvn 1.258305 5.404046 4.137723\nv -0.052451 0.094072 0.017223\nvn 0.609692 4.441077 3.859303\nv -0.054499 0.094380 0.017226\nvn 1.525947 2.045950 4.264657\nv 0.075950 0.094094 0.016901\nvn -1.676944 1.815790 0.089297\nv 0.035490 0.104885 0.016746\nvn -2.294133 2.562171 1.767322\nv 0.037866 0.106472 0.017296\nvn -0.438736 2.323003 3.819175\nv 0.040504 0.109733 0.017191\nvn -3.563276 -3.917222 -0.205810\nv -0.097895 0.145699 0.017180\nvn 3.353444 3.339165 6.381826\nv -0.082058 0.147068 0.016620\nvn 2.146418 4.673373 4.608707\nv -0.087569 0.149684 0.017365\nvn -1.187780 4.291330 3.787972\nv -0.094024 0.151458 0.017229\nvn 1.436341 3.687069 4.487103\nv -0.089664 0.151092 0.016998\nvn 0.662977 5.752120 5.348747\nv -0.091682 0.151514 0.017154\nvn -0.155311 -0.760970 5.986510\nv -0.084159 0.171022 0.016656\nvn -0.064832 -4.996071 0.177261\nv -0.020473 0.053202 0.016863\nvn -0.000000 0.000000 0.000000\nv -0.011910 0.055525 0.016863\nvn -1.362018 -2.424458 2.867079\nv 0.043865 0.055418 0.017037\nvn 3.008970 -1.249393 -2.062118\nv 0.031884 0.056540 0.017218\nvn -2.541927 -0.886226 4.199411\nv 0.038122 0.061883 0.017126\nvn 2.237335 -1.810289 0.774037\nv 0.073172 0.062700 0.016827\nvn -2.057949 1.856284 1.081613\nv 0.008333 0.062844 0.017236\nvn 0.000000 0.000000 0.000000\nv 0.033448 0.064373 0.017322\nvn 2.894339 -2.097877 0.350885\nv 0.035285 0.067383 0.017383\nvn -3.916947 -0.007838 1.937986\nv 0.030097 0.074285 0.017233\nvn -2.945640 -2.337834 5.616378\nv 0.028667 0.076247 0.017088\nvn -1.798193 2.321469 5.876028\nv -0.062739 0.079944 0.017203\nvn 3.698316 1.136747 3.129403\nv 0.080574 0.086144 0.017277\nvn 1.649698 -1.299818 -2.084639\nv 0.044335 0.090207 0.017248\nvn -0.886990 3.923687 5.693055\nv 0.071917 0.094274 0.017042\nvn -0.896975 4.947743 4.801228\nv -0.056101 0.094304 0.017235\nvn 1.222567 3.938661 6.633109\nv 0.074103 0.093955 0.017354\nvn -6.746944 -0.273195 -1.173241\nv 0.033393 0.099570 0.017297\nvn -4.652339 0.807108 -1.101009\nv 0.033418 0.101354 0.017246\nvn 2.830632 0.829774 5.810027\nv -0.079779 0.143313 0.017148\nvn 0.071296 -6.996223 0.166007\nv -0.022398 0.053226 0.017388\nvn -0.844638 -6.877818 3.560942\nv 0.050330 0.053496 0.017449\nvn 0.200255 -4.566099 1.670648\nv 0.054851 0.053379 0.017446\nvn 1.808013 -2.950332 -3.590830\nv -0.052823 0.056896 0.017398\nvn -1.812080 -2.210604 -2.735106\nv -0.061442 0.057258 0.017213\nvn 1.550827 -2.206680 1.309479\nv 0.066907 0.057702 0.017475\nvn 2.644674 -3.648376 0.788100\nv -0.045610 0.065511 0.017562\nvn -1.768233 0.914993 3.377062\nv 0.039961 0.068415 0.017294\nvn 0.649185 2.238336 1.885730\nv -0.022223 0.070875 0.017412\nvn -2.324871 1.694834 2.599935\nv -0.019624 0.071080 0.017603\nvn 1.719812 1.375120 1.887062\nv -0.012234 0.072989 0.017474\nvn -1.288245 1.927478 1.874872\nv 0.043802 0.072977 0.017166\nvn -2.280162 -1.351631 2.585247\nv 0.029943 0.075592 0.017391\nvn 2.440463 2.660888 1.664895\nv -0.029923 0.078625 0.017122\nvn -1.334737 3.796164 2.706283\nv -0.066091 0.078753 0.017460\nvn -0.839812 3.586466 3.160429\nv -0.064783 0.078943 0.017410\nvn 3.395669 -0.062890 2.065399\nv 0.080860 0.080521 0.017504\nvn -3.173985 3.644651 1.246787\nv 0.057687 0.080946 0.017676\nvn -2.485829 -0.342619 5.437969\nv -0.062424 0.081949 0.017402\nvn 3.222505 -1.379821 -1.222548\nv 0.043862 0.082564 0.017406\nvn 3.266156 0.029000 2.279278\nv 0.080825 0.082475 0.017426\nvn 5.572332 -0.332348 -2.536903\nv 0.044298 0.084203 0.018726\nvn -2.271745 -0.228895 4.445483\nv -0.062795 0.084050 0.017336\nvn 3.878417 0.495749 3.043278\nv 0.080766 0.084671 0.017474\nvn -2.687061 1.045411 2.704451\nv 0.028034 0.084820 0.017458\nvn -1.436371 0.160800 2.589359\nv -0.063131 0.086203 0.017250\nvn -3.171461 1.463916 6.047687\nv -0.062517 0.087694 0.017312\nvn 2.003141 2.920725 1.851957\nv -0.042245 0.088574 0.017510\nvn -1.964386 1.745486 1.393691\nv 0.030138 0.088362 0.017726\nvn -2.310597 1.313473 4.219911\nv -0.061187 0.090125 0.017336\nvn 3.534147 -0.568333 -1.743955\nv 0.047450 0.096546 0.017578\nvn 5.479639 -0.237001 -2.343159\nv 0.047585 0.097732 0.017581\nvn -2.746242 -0.548829 -0.777712\nv 0.033442 0.098392 0.017447\nvn 3.477541 0.524711 -1.674744\nv 0.047564 0.099284 0.017566\nvn -1.308382 -3.212963 -1.991078\nv -0.085458 0.141924 0.017334\nvn -0.919680 -3.505980 -1.639900\nv -0.091473 0.144088 0.017355\nvn 3.590401 3.226622 6.336876\nv -0.081852 0.145073 0.017370\nvn 3.500591 3.525093 6.047606\nv -0.083839 0.147336 0.017523\nvn -1.018301 -2.688442 0.187994\nv -0.027706 0.053319 0.017796\nvn -0.013021 -3.620279 1.436996\nv 0.051890 0.053409 0.017594\nvn -0.811846 -3.396886 3.522056\nv 0.050437 0.054409 0.018639\nvn 1.045610 -6.754456 -0.770016\nv 0.030743 0.055488 0.018788\nvn 1.576025 -3.103350 1.963292\nv 0.063177 0.055671 0.017738\nvn -2.313502 -2.197283 3.792483\nv 0.041040 0.058410 0.017853\nvn -3.940144 -4.337060 0.389074\nv -0.034232 0.058579 0.018599\nvn -3.663369 -5.159343 0.255105\nv 0.008813 0.058558 0.018912\nvn -1.579443 -0.832269 2.350587\nv 0.039639 0.059959 0.017628\nvn 4.674104 -5.675679 2.981082\nv 0.070178 0.060492 0.018924\nvn 3.145031 -1.879180 -1.536525\nv -0.047716 0.061793 0.018429\nvn -2.864791 -0.176532 5.239861\nv 0.038502 0.063662 0.017599\nvn 0.284221 5.725553 -0.583518\nv 0.014457 0.063387 0.018626\nvn -3.972673 4.574247 1.609509\nv 0.024751 0.064170 0.018875\nvn 6.443297 -4.940876 3.736190\nv 0.074498 0.065701 0.018925\nvn 2.607764 1.682491 2.186525\nv -0.009433 0.067635 0.017831\nvn -5.310822 2.429695 -0.221464\nv 0.028228 0.070103 0.018934\nvn 2.273597 0.793975 3.082832\nv -0.011420 0.069706 0.018067\nvn -1.580925 1.909677 3.127789\nv 0.042177 0.071034 0.017566\nvn 4.578659 4.580296 5.866680\nv -0.024752 0.071961 0.018664\nvn 5.609265 4.099367 6.953087\nv -0.013001 0.072082 0.018517\nvn -2.302971 2.644250 1.649916\nv -0.018023 0.073166 0.017850\nvn 2.536274 -0.597572 1.354083\nv 0.079517 0.074658 0.017796\nvn -6.187299 2.912127 4.070643\nv -0.068284 0.076111 0.018923\nvn -6.534307 -0.035307 2.256254\nv 0.030438 0.076172 0.018783\nvn -3.710833 6.196132 3.199527\nv 0.050460 0.075766 0.018794\nvn -1.442098 -0.956590 3.595050\nv 0.028231 0.077967 0.017510\nvn -2.121467 5.671013 4.536148\nv -0.066044 0.077960 0.018938\nvn -0.000000 0.000000 0.000000\nv 0.027675 0.079675 0.017562\nvn 4.876829 -2.677121 -1.701709\nv 0.042784 0.079958 0.018800\nvn 6.814967 -2.629086 -2.316753\nv 0.043850 0.082027 0.018741\nvn -3.311535 3.516852 1.269984\nv 0.058667 0.081533 0.018562\nvn -2.183859 -0.192488 3.308693\nv 0.028747 0.082059 0.018462\nvn -2.501977 -0.329901 5.442810\nv -0.061521 0.084505 0.017970\nvn 4.510953 1.477267 5.083948\nv 0.079704 0.085793 0.018352\nvn 2.760310 1.156428 -2.887059\nv 0.043305 0.086660 0.017813\nvn -2.896640 1.478449 6.176175\nv -0.060443 0.087926 0.018272\nvn 3.643140 1.753395 4.402832\nv 0.079184 0.087683 0.018054\nvn 4.527816 -2.170073 -4.743547\nv 0.044778 0.089368 0.018259\nvn -4.615507 4.123305 4.817791\nv 0.066257 0.089609 0.018365\nvn 1.583117 0.856322 2.344273\nv 0.078609 0.090037 0.017540\nvn 1.879281 2.497138 5.091549\nv 0.076200 0.092450 0.017510\nvn -1.036888 2.335705 3.036746\nv 0.069215 0.092571 0.017775\nvn -0.000000 -0.000000 -0.000000\nv -0.050221 0.093020 0.017861\nvn -0.794156 2.745067 4.033933\nv -0.056050 0.093410 0.018024\nvn -0.092497 4.260098 5.437913\nv -0.054212 0.093473 0.018112\nvn 7.302544 1.810790 -1.965372\nv 0.047947 0.099678 0.018855\nvn -2.042308 2.814902 1.782214\nv 0.039203 0.107069 0.018285\nvn 4.717700 2.253516 5.595762\nv -0.082097 0.143084 0.018525\nvn -2.176299 -6.811020 -3.479820\nv -0.091657 0.143220 0.018900\nvn 2.170256 1.733080 2.840670\nv -0.082421 0.144523 0.018073\nvn 1.886194 1.444950 3.162705\nv -0.083060 0.146005 0.017475\nvn 1.197513 2.802814 2.545630\nv -0.089326 0.150063 0.017738\nvn -1.386913 2.963183 2.260841\nv -0.096336 0.150106 0.017711\nvn -1.843588 4.613430 4.630757\nv -0.095900 0.149435 0.018703\nvn 0.328113 -6.925488 0.508439\nv -0.016652 0.053193 0.018904\nvn 0.571761 -3.891891 0.441830\nv -0.015573 0.053194 0.018262\nvn -0.354085 -6.142353 4.847270\nv 0.052374 0.054078 0.018583\nvn 0.293575 -3.831935 3.079952\nv 0.054544 0.054219 0.018761\nvn -1.684402 -4.483012 5.059509\nv 0.048233 0.054773 0.018253\nvn 1.679055 -5.408658 3.979188\nv 0.059992 0.054713 0.018535\nvn 4.369229 -5.334018 1.038286\nv -0.012947 0.054699 0.018813\nvn -0.700787 -4.249129 -2.461478\nv -0.058005 0.054655 0.018784\nvn 0.199027 -3.013439 -2.442773\nv -0.056523 0.055175 0.017750\nvn 0.642081 -5.787312 -3.559483\nv -0.056226 0.054492 0.018819\nvn -3.644137 -4.602464 0.950584\nv -0.030215 0.055132 0.018700\nvn 4.503011 -3.893593 0.551225\nv -0.012073 0.055564 0.018751\nvn 3.424236 -7.278213 5.870052\nv 0.062380 0.056057 0.018879\nvn 1.224516 -2.707988 -2.602466\nv -0.053673 0.055608 0.018086\nvn 4.168255 -5.790961 -5.312608\nv -0.052203 0.056061 0.018536\nvn -0.959148 -6.820086 -0.345821\nv 0.024706 0.055800 0.018886\nvn 4.247105 -4.107661 -2.645478\nv 0.032539 0.056156 0.018890\nvn -2.224268 -3.964040 5.312780\nv 0.044595 0.056741 0.018370\nvn -5.358876 -7.047868 -6.160044\nv -0.062220 0.056184 0.018902\nvn -2.434491 -1.885442 -2.522533\nv -0.062982 0.057745 0.018225\nvn -0.483884 -6.950606 -0.507948\nv 0.014439 0.057921 0.018762\nvn -1.019048 -6.854638 -0.880176\nv 0.016732 0.057619 0.018963\nvn 4.074935 -6.619321 4.462548\nv 0.066350 0.058164 0.018847\nvn 0.059106 -4.993047 -0.093183\nv 0.013127 0.058004 0.017912\nvn 5.807938 -1.285505 -3.644495\nv 0.033095 0.058045 0.018753\nvn -4.919733 -2.219987 8.310495\nv 0.040652 0.060331 0.018382\nvn 2.803927 -1.939694 -2.079886\nv -0.049459 0.059608 0.017826\nvn -6.292759 -1.232788 -0.231384\nv 0.007668 0.060327 0.018950\nvn 6.245228 -3.434536 -3.544535\nv -0.048195 0.060338 0.019005\nvn -2.865568 -0.409925 5.229814\nv 0.039264 0.062449 0.017915\nvn -6.044740 5.050151 -0.424062\nv 0.008626 0.062472 0.018754\nvn -0.876507 6.057662 -0.314354\nv 0.010734 0.063597 0.018764\nvn -0.098492 6.793410 -0.948091\nv 0.016785 0.063471 0.018743\nvn -2.179157 0.227229 4.483043\nv 0.039271 0.064392 0.017964\nvn 3.700534 -2.759698 1.881424\nv 0.073577 0.064273 0.018737\nvn -1.792638 0.270567 3.561469\nv 0.039444 0.065427 0.017934\nvn 0.440766 -5.736508 -0.061049\nv -0.044300 0.065978 0.018680\nvn -3.033489 0.790385 5.063944\nv 0.040732 0.066454 0.018576\nvn -3.775746 2.259503 5.407248\nv 0.040917 0.067976 0.018191\nvn 6.015569 -4.287601 -1.938450\nv 0.036340 0.068148 0.018915\nvn -3.431369 1.839685 -0.797588\nv 0.027884 0.069061 0.017912\nvn -0.263347 1.982418 3.059373\nv -0.020767 0.069384 0.018169\nvn 3.320436 4.736329 6.624136\nv -0.022760 0.069975 0.018625\nvn -4.084721 2.398669 6.033589\nv -0.018856 0.070150 0.018865\nvn -3.855805 3.401825 6.082193\nv 0.042722 0.070096 0.018501\nvn 3.444251 0.837534 3.431477\nv -0.012375 0.070111 0.018951\nvn -4.483035 3.894378 5.489071\nv 0.044666 0.071932 0.018622\nvn -3.849790 2.091333 3.862121\nv -0.018354 0.071815 0.018885\nvn 5.858801 -2.121305 3.139508\nv 0.078045 0.072197 0.018920\nvn -2.738843 0.872247 -0.540487\nv 0.029883 0.073025 0.017912\nvn -2.552434 -0.705667 4.137055\nv 0.029344 0.077721 0.017899\nvn 2.509436 2.441223 1.821218\nv -0.029435 0.077639 0.018037\nvn -1.839152 2.512550 2.061800\nv -0.067583 0.077564 0.018565\nvn -5.036758 7.757679 3.574019\nv 0.054285 0.077738 0.018859\nvn 5.770129 6.172127 6.734131\nv -0.030703 0.077933 0.018924\nvn -0.594400 5.364765 4.176399\nv -0.064057 0.078145 0.018795\nvn -0.757660 4.167212 3.939638\nv -0.062463 0.078188 0.018606\nvn -2.200184 1.614846 5.082744\nv -0.060111 0.079844 0.018321\nvn -4.218019 -1.262780 7.796237\nv 0.028917 0.080175 0.018195\nvn 5.476116 -0.587783 4.185207\nv 0.079871 0.079628 0.018897\nvn -4.267297 5.011714 2.243843\nv 0.056604 0.079784 0.018491\nvn -1.596441 0.075868 3.579834\nv -0.061162 0.080235 0.017741\nvn -2.940824 -0.448241 6.326126\nv -0.060398 0.082018 0.018355\nvn 0.000000 0.000000 0.000000\nv 0.043652 0.080756 0.018437\nvn 0.000000 -0.000000 -0.000000\nv -0.061447 0.082038 0.017912\nvn 4.702901 0.255849 3.659037\nv 0.079893 0.082021 0.018761\nvn -3.304668 3.351054 1.612136\nv 0.060624 0.083403 0.018618\nvn 5.048747 0.632428 4.732083\nv 0.079812 0.083943 0.018548\nvn -2.708939 2.573367 1.407882\nv 0.062623 0.085558 0.018492\nvn -3.108140 0.127568 6.209720\nv -0.062081 0.086062 0.017820\nvn -3.615545 1.464003 3.058069\nv 0.029343 0.086149 0.018263\nvn -4.447556 4.034303 3.442414\nv 0.063899 0.086469 0.019061\nvn -1.678984 0.717155 3.548757\nv -0.061248 0.087725 0.017936\nvn 2.085715 2.815495 1.896978\nv -0.040870 0.087261 0.018222\nvn 2.855190 1.927247 4.837845\nv 0.077764 0.089664 0.018170\nvn 2.755637 4.672064 4.140299\nv -0.044407 0.089528 0.018599\nvn -4.958200 3.638466 3.055577\nv 0.032127 0.089878 0.019092\nvn -2.399069 2.658430 3.413988\nv 0.067027 0.091050 0.017862\nvn 1.590776 2.834040 2.186024\nv -0.046687 0.091209 0.018188\nvn 1.558617 4.059754 4.091049\nv -0.048393 0.091509 0.018575\nvn -1.469210 1.826777 3.195219\nv -0.058448 0.092800 0.017645\nvn -0.569764 3.260438 4.976748\nv 0.069884 0.091488 0.018638\nvn 1.661210 3.520202 6.777474\nv 0.074211 0.091968 0.018461\nvn -1.370561 2.304775 4.171384\nv -0.057661 0.092887 0.017908\nvn 4.634843 -2.185577 -2.940162\nv 0.046767 0.093834 0.018431\nvn -0.348590 3.528128 5.989245\nv 0.071709 0.091550 0.018624\nvn -0.332115 2.460572 4.304573\nv 0.072399 0.092975 0.017955\nvn 3.347880 -1.524125 -1.513473\nv 0.047160 0.095007 0.017926\nvn -8.338713 -0.894958 -0.365046\nv 0.033458 0.097453 0.018657\nvn -5.552829 1.153026 0.812161\nv 0.033442 0.101598 0.018765\nvn -3.253476 3.461099 0.193751\nv 0.035188 0.105215 0.018619\nvn 1.507576 -3.116061 -0.459836\nv -0.081969 0.140069 0.018643\nvn -3.201636 -6.159039 -1.671918\nv -0.084432 0.140590 0.018796\nvn -1.550974 -6.137054 -1.717841\nv -0.086111 0.141296 0.018789\nvn 1.281323 1.299010 2.369368\nv -0.081140 0.143492 0.017739\nvn -5.193306 1.855495 4.033691\nv -0.097894 0.147468 0.018947\nvn -2.803175 2.442960 2.805974\nv -0.097697 0.148837 0.018372\nvn 1.590918 1.969989 2.845820\nv -0.085967 0.148339 0.018290\nvn 1.585366 4.233057 3.897911\nv -0.090473 0.150306 0.018034\nvn -0.657993 3.273321 3.537541\nv -0.093399 0.150797 0.018133\nvn -2.671559 -6.199384 1.194128\nv -0.027490 0.053500 0.019198\nvn -0.888278 -4.854164 0.425637\nv -0.026540 0.053209 0.018956\nvn 2.376155 -6.372272 1.054256\nv -0.014594 0.053594 0.019090\nvn 0.244279 -4.503047 3.833793\nv 0.056165 0.054455 0.018924\nvn -2.735676 -4.071832 0.794249\nv -0.028840 0.054236 0.018961\nvn 0.704418 -4.967886 3.138161\nv 0.058205 0.054607 0.018876\nvn 1.625881 -6.389909 -4.280529\nv -0.054410 0.054689 0.018914\nvn 1.100724 -2.282270 1.578274\nv 0.061777 0.055175 0.018142\nvn -0.857091 -2.276336 -1.708014\nv -0.060302 0.055552 0.018453\nvn -3.383170 -3.574447 0.624473\nv -0.031054 0.055944 0.019035\nvn -0.543852 -4.922355 -0.031486\nv 0.026952 0.055537 0.018947\nvn -1.762518 -3.539744 4.509349\nv 0.046691 0.056197 0.018746\nvn 3.260193 -2.284847 0.270735\nv -0.011300 0.056595 0.019002\nvn -0.740162 -4.837687 -0.400236\nv 0.022686 0.056047 0.018926\nvn -4.539598 -5.165096 0.618373\nv -0.032163 0.056981 0.019030\nvn -2.290819 -8.514242 -1.570265\nv 0.020774 0.056554 0.019120\nvn -2.243778 -2.577159 4.880764\nv 0.042716 0.058268 0.018624\nvn -2.252743 -2.653441 4.841583\nv 0.044338 0.058244 0.019258\nvn 5.546681 -4.932963 -4.930956\nv -0.049846 0.058141 0.018779\nvn 5.225739 -2.876279 0.341762\nv -0.010474 0.057898 0.019016\nvn -0.958734 -3.814276 -0.686568\nv 0.018571 0.057326 0.018690\nvn -3.019724 -3.894034 0.245128\nv -0.033233 0.057884 0.019077\nvn -0.502836 -6.791866 -0.893058\nv 0.010765 0.057983 0.019143\nvn -5.180911 -2.771374 -3.725507\nv -0.064167 0.058135 0.019257\nvn 3.135662 -5.475030 2.949594\nv 0.067825 0.058975 0.018757\nvn -4.086163 -2.286054 -2.138214\nv -0.064639 0.060001 0.018677\nvn -3.311384 -3.621075 0.139391\nv -0.035154 0.059528 0.019054\nvn 6.459797 -2.068534 0.913342\nv -0.009456 0.060196 0.019116\nvn -2.371181 -1.552627 0.858235\nv 0.007923 0.059543 0.018513\nvn -3.157562 -3.768260 0.453723\nv -0.036263 0.060518 0.019029\nvn 5.150761 -1.132651 -2.713523\nv 0.033361 0.060128 0.018646\nvn 4.656472 -0.696832 1.027097\nv -0.008961 0.062187 0.019132\nvn 3.375866 -3.010090 2.087288\nv 0.071773 0.062191 0.018991\nvn -2.567567 -0.904442 -1.218957\nv -0.065154 0.061825 0.018262\nvn -4.571411 -5.145554 -0.079472\nv -0.038495 0.062396 0.019082\nvn 3.588586 -0.707368 -1.442688\nv 0.033488 0.061641 0.018352\nvn -5.352295 -2.439763 -1.886122\nv -0.065807 0.062337 0.019104\nvn 6.412735 -1.706872 -0.940314\nv 0.033942 0.062536 0.019028\nvn 6.909568 -3.233126 -2.050816\nv -0.047076 0.062524 0.019123\nvn 0.804194 4.909540 -0.240677\nv 0.020810 0.063386 0.019029\nvn 0.070243 7.231005 0.850164\nv 0.022465 0.063161 0.019219\nvn -1.439246 3.459956 -0.251282\nv 0.023326 0.063289 0.018764\nvn 2.867750 -2.271231 1.587840\nv 0.072829 0.063503 0.019042\nvn -6.252324 -2.314599 -2.058864\nv -0.066393 0.064065 0.019062\nvn 4.267628 -2.446477 -0.430536\nv -0.046319 0.064488 0.018894\nvn -5.137126 -7.256252 -0.194258\nv -0.040419 0.064114 0.019059\nvn 7.782847 1.810712 4.918859\nv -0.009022 0.064353 0.019035\nvn 0.462904 5.637607 -0.799042\nv 0.012777 0.063612 0.019060\nvn 0.309035 4.925260 -0.337946\nv 0.019106 0.063608 0.018942\nvn 6.490555 -2.155503 -0.798132\nv 0.034302 0.064385 0.019089\nvn -3.724696 0.206610 7.066749\nv 0.040771 0.064030 0.018671\nvn 2.976921 -3.696876 -0.697077\nv -0.045567 0.065479 0.019043\nvn 3.151545 1.663097 3.198246\nv -0.009216 0.066261 0.018422\nvn -4.791733 2.963220 1.325860\nv 0.026349 0.066111 0.019185\nvn 5.076644 -2.718082 -1.425284\nv 0.035052 0.066205 0.018954\nvn -2.544021 -6.337234 -0.244139\nv -0.042607 0.065538 0.019059\nvn 2.222619 -1.638645 1.111361\nv 0.075276 0.066492 0.018677\nvn -7.419274 -2.409873 -0.923150\nv -0.067321 0.066250 0.019182\nvn -7.047432 3.291793 0.836512\nv 0.027222 0.067927 0.019091\nvn 6.206428 -3.678652 3.313082\nv 0.075912 0.067775 0.019112\nvn -3.790149 -1.037331 0.094848\nv -0.067916 0.068059 0.018897\nvn 3.215609 2.999196 5.290807\nv -0.010821 0.067992 0.018461\nvn -7.313334 -0.658783 1.899103\nv -0.068384 0.070170 0.019046\nvn 3.026257 -3.184320 -1.091558\nv 0.037395 0.069874 0.018506\nvn -7.236501 2.857702 -1.376184\nv 0.029127 0.072072 0.018920\nvn 7.196824 -4.589191 -1.805325\nv 0.038832 0.071703 0.019019\nvn -4.334910 -0.051672 2.141365\nv -0.068289 0.072363 0.019061\nvn -3.858948 5.066160 6.097160\nv 0.045978 0.072584 0.019203\nvn -4.539370 -0.047187 1.804833\nv -0.068330 0.074221 0.019081\nvn -0.948139 3.235014 3.099111\nv -0.016503 0.073578 0.018874\nvn 1.733710 2.279745 2.547122\nv -0.013648 0.073725 0.018140\nvn 0.933973 3.819259 3.890640\nv -0.014891 0.073937 0.018540\nvn -8.454408 2.376819 -1.301067\nv 0.029973 0.074254 0.018971\nvn -1.538649 2.871421 2.157842\nv 0.046531 0.073510 0.018693\nvn 5.832636 -1.724199 3.297225\nv 0.078644 0.074034 0.018963\nvn 4.898021 4.254459 5.881005\nv -0.027053 0.074070 0.019014\nvn -4.525282 6.595056 5.558187\nv 0.048421 0.074007 0.019108\nvn 4.192363 -2.444254 -1.160955\nv 0.041180 0.075262 0.018774\nvn 5.181389 4.736264 5.337875\nv -0.028844 0.076077 0.018955\nvn 5.964923 -1.099722 3.380939\nv 0.079293 0.076216 0.018915\nvn 5.443762 -1.814517 -0.906354\nv 0.041912 0.076340 0.019178\nvn -3.401192 6.268685 3.331968\nv 0.052285 0.076418 0.019215\nvn -3.607802 -0.212218 2.738670\nv 0.030583 0.078000 0.018783\nvn 5.586563 -1.419685 -0.598813\nv 0.041942 0.078006 0.018950\nvn -1.447449 2.456305 0.819835\nv 0.053073 0.077292 0.018403\nvn 4.024954 -0.474017 2.854713\nv 0.079545 0.077828 0.018845\nvn 0.000000 0.000000 0.000000\nv 0.041455 0.078183 0.018706\nvn -1.744510 3.104224 3.203908\nv -0.060392 0.078337 0.018999\nvn 1.864758 1.838574 1.421828\nv -0.031411 0.079279 0.018306\nvn 6.177022 6.086087 6.526799\nv -0.032732 0.079932 0.018996\nvn -3.763407 4.099193 2.190305\nv 0.057889 0.080523 0.019097\nvn 4.696865 5.390888 5.227557\nv -0.034573 0.081836 0.018927\nvn -3.228291 3.400307 1.648612\nv 0.059714 0.082343 0.019062\nvn 3.333606 4.252649 4.200609\nv -0.036644 0.083449 0.018905\nvn -5.643115 1.084198 6.841829\nv 0.029060 0.083755 0.018531\nvn -1.950469 -0.236065 4.596334\nv -0.060529 0.084419 0.018406\nvn 3.236161 4.302242 4.255349\nv -0.038258 0.084421 0.019303\nvn -4.078505 4.519032 3.218103\nv 0.061909 0.084361 0.019212\nvn 1.545905 2.040877 1.525050\nv -0.039134 0.085589 0.018782\nvn 5.183169 -0.232553 -3.230200\nv 0.044424 0.086155 0.018953\nvn -2.940707 0.305071 7.387539\nv -0.060215 0.086015 0.018656\nvn 4.465880 5.782816 6.495043\nv -0.040478 0.086229 0.019144\nvn -7.165280 4.047077 5.443509\nv 0.030511 0.087849 0.018764\nvn -3.555639 3.427244 3.328653\nv 0.064653 0.087514 0.018835\nvn 4.195156 5.786671 5.320623\nv -0.042700 0.087986 0.018975\nvn 3.863054 -1.339674 -4.379245\nv 0.044481 0.087840 0.018590\nvn 2.907957 2.025040 4.803459\nv 0.077988 0.087833 0.018851\nvn -2.377079 1.372262 5.323970\nv -0.059790 0.089417 0.018185\nvn -2.020706 1.702639 1.204660\nv 0.031441 0.089588 0.018555\nvn -1.621935 1.109363 4.594709\nv -0.058383 0.089766 0.018658\nvn -2.150157 3.642763 5.527872\nv 0.068156 0.089667 0.019299\nvn 2.837476 3.163697 6.761765\nv 0.075885 0.089766 0.018983\nvn -2.206543 2.212620 6.235019\nv -0.058080 0.091561 0.018299\nvn 2.298451 3.986980 4.993964\nv -0.046163 0.090027 0.019101\nvn -1.520711 1.113427 3.497917\nv -0.059323 0.091225 0.017949\nvn -7.716358 3.149511 3.155135\nv 0.032996 0.091577 0.018854\nvn 0.000000 0.000000 -0.000000\nv 0.045227 0.091634 0.018166\nvn -1.805269 3.187442 4.705230\nv 0.068264 0.091176 0.018442\nvn 5.136205 -1.903215 -4.306440\nv 0.046342 0.091935 0.018937\nvn 1.306074 1.711721 3.354960\nv 0.075646 0.091444 0.018297\nvn -1.433905 2.606807 6.279207\nv -0.056255 0.091861 0.018732\nvn 1.118051 4.197811 5.395306\nv -0.050450 0.091804 0.018954\nvn 0.523417 1.382570 2.441861\nv 0.074027 0.092975 0.018008\nvn 0.406170 2.986292 3.916557\nv -0.052584 0.092994 0.018398\nvn -2.753943 1.012950 0.576750\nv 0.033416 0.093325 0.018262\nvn -8.039773 1.822582 2.664822\nv 0.033884 0.093962 0.019177\nvn -5.714162 -0.596453 0.440482\nv 0.033814 0.096005 0.019035\nvn 7.053545 -1.679817 -3.120856\nv 0.047858 0.095904 0.018875\nvn 5.700580 0.140119 -1.572939\nv 0.048180 0.097750 0.019092\nvn -4.675160 0.234212 1.245567\nv 0.033378 0.099800 0.019105\nvn 4.442731 1.950064 -0.530514\nv 0.047503 0.100973 0.018517\nvn 3.455001 1.900695 -0.292585\nv 0.046965 0.102070 0.018849\nvn 5.603524 3.942694 0.263992\nv 0.045966 0.103777 0.018874\nvn -4.927311 2.506631 1.415786\nv 0.034220 0.103791 0.019010\nvn 5.781239 5.688078 2.938646\nv 0.044436 0.105623 0.019138\nvn -1.877278 4.453078 0.532216\nv 0.036355 0.105885 0.019172\nvn -2.407396 6.823262 2.228840\nv 0.038550 0.106427 0.018943\nvn -1.171296 5.311297 5.178690\nv 0.040587 0.107531 0.018782\nvn 2.455226 4.012914 3.289999\nv 0.042477 0.107420 0.018764\nvn 0.000000 0.000000 0.000000\nv 0.040777 0.108725 0.018151\nvn 5.168742 -0.356701 2.810844\nv -0.081750 0.141330 0.018991\nvn -1.775502 -4.971504 -2.808784\nv -0.087637 0.141687 0.019108\nvn -1.520888 -4.003564 -2.565427\nv -0.088035 0.142356 0.018381\nvn -1.757994 -4.923168 -2.922251\nv -0.089889 0.142722 0.018796\nvn -3.645675 -7.184443 -1.383253\nv -0.096146 0.144445 0.018892\nvn -3.866935 -1.948425 1.052393\nv -0.097594 0.145447 0.019026\nvn 5.124252 5.594824 7.796752\nv -0.084234 0.145083 0.018872\nvn 1.098083 1.276430 2.482789\nv -0.084698 0.147050 0.018050\nvn 2.646469 2.676247 5.845080\nv -0.085815 0.146777 0.018685\nvn 1.796766 3.228202 4.343647\nv -0.087948 0.148864 0.018798\nvn -0.720434 4.043984 5.496277\nv -0.093891 0.149055 0.019156\nvn 1.632481 4.131876 5.016110\nv -0.089692 0.149263 0.019074\nvn 0.534433 2.773154 2.711747\nv -0.091932 0.150523 0.018475\nvn 0.053364 -6.995506 0.132811\nv -0.025023 0.053167 0.019137\nvn -0.100207 -5.996719 0.156551\nv -0.019423 0.053233 0.018613\nvn -1.769858 -6.383445 -4.329231\nv -0.060005 0.054880 0.019258\nvn 1.132814 -2.178244 -1.611213\nv -0.052850 0.054992 0.019269\nvn -1.637321 -3.618478 4.491821\nv 0.048061 0.055985 0.019103\nvn 1.993712 -3.793148 2.546021\nv 0.064098 0.056858 0.018935\nvn -3.826221 -4.504095 0.306334\nv -0.037369 0.061416 0.018963\nvn 6.975112 -0.659181 -3.598689\nv 0.033834 0.060441 0.019242\nvn -1.868379 -0.221782 3.507785\nv 0.040644 0.062128 0.018682\nvn -3.571819 -1.569945 -0.858661\nv -0.066958 0.065650 0.018797\nvn 0.481837 2.544306 6.121628\nv -0.020897 0.067928 0.018948\nvn -2.487915 -0.544596 7.105847\nv -0.018832 0.068068 0.019117\nvn 3.822439 0.741689 6.467765\nv -0.012507 0.067998 0.019166\nvn -3.468358 1.798172 5.733105\nv 0.042375 0.068292 0.019222\nvn -2.013062 3.866116 4.749616\nv -0.016953 0.072848 0.019294\nvn 1.264471 2.845538 4.929624\nv -0.014439 0.072412 0.019237\nvn 5.673318 -3.548872 -1.840044\nv 0.040262 0.073764 0.018895\nvn -5.618982 0.139930 4.877706\nv 0.030653 0.080141 0.019206\nvn -2.374200 2.899084 1.331302\nv 0.055655 0.078694 0.019096\nvn -3.562783 0.936106 3.308264\nv 0.030102 0.086330 0.019084\nvn -2.064989 2.859023 3.490458\nv 0.066129 0.088300 0.019406\nvn -2.421774 1.108892 7.510739\nv -0.058415 0.088012 0.019052\nvn -0.447520 2.993105 6.256058\nv -0.054212 0.091807 0.019143\nvn -1.417632 -5.457623 -1.917484\nv -0.093775 0.143656 0.019192\nvn 0.461720 3.672691 5.706821\nv -0.091600 0.149533 0.019239\nvn -0.031426 -4.998562 0.063646\nv -0.020473 0.053262 0.018963\nvn -2.082244 -0.777542 -0.390661\nv -0.065273 0.061125 0.018923\nvn 3.168849 3.594564 6.091363\nv -0.010897 0.066413 0.019335\nvn 3.989862 -2.043911 2.155372\nv 0.076716 0.069596 0.019345\nvn 4.809146 -2.085299 2.864125\nv 0.077312 0.070603 0.019174\nvn -2.811213 2.348104 4.681398\nv 0.044154 0.070243 0.019357\nvn -3.338971 2.790934 7.215849\nv -0.058167 0.080084 0.019222\nvn -2.102260 -0.026247 6.663184\nv -0.058376 0.083968 0.019257\nvn 3.098472 2.572803 4.866260\nv 0.078244 0.086148 0.019378\nvn -2.187965 1.533062 7.522324\nv -0.056428 0.089645 0.019301\nvn 4.202111 -1.442787 -3.984976\nv 0.046072 0.089692 0.019331\nvn 4.869590 -1.418873 -3.011514\nv 0.047627 0.094054 0.019264\nvn 0.096122 -4.998372 0.019655\nv -0.022573 0.053250 0.019312\nvn -1.306721 -3.550657 4.642559\nv 0.049714 0.055750 0.019524\nvn 0.930532 -2.757135 2.716257\nv 0.060223 0.055722 0.019569\nvn 1.674444 -1.783480 -1.673021\nv -0.050661 0.056519 0.019384\nvn -2.520596 -2.167134 -2.060948\nv -0.063554 0.056780 0.019517\nvn -1.248889 -4.772039 -0.757469\nv 0.018784 0.057132 0.019444\nvn -1.923603 -3.536034 4.436038\nv 0.046073 0.057466 0.019571\nvn 1.820466 -3.500923 3.041688\nv 0.064347 0.057483 0.019574\nvn 2.482147 -0.448436 -1.623159\nv 0.033707 0.058422 0.019566\nvn -2.534141 -1.509376 5.177667\nv 0.042479 0.060330 0.019320\nvn 1.748350 -3.143173 1.704325\nv 0.068653 0.059772 0.019480\nvn -3.406314 -0.388999 6.071405\nv 0.042159 0.062525 0.019459\nvn -1.381752 3.066859 -2.106979\nv 0.009333 0.063454 0.019441\nvn -2.503748 0.335652 4.298391\nv 0.042460 0.066469 0.019610\nvn 0.307783 3.760894 6.749930\nv -0.018772 0.066114 0.019523\nvn 0.762576 2.765809 5.732424\nv -0.012699 0.066536 0.019557\nvn 2.364437 3.174000 5.707824\nv -0.022486 0.068077 0.019477\nvn 4.580394 -3.130954 -2.175686\nv 0.037940 0.069749 0.019505\nvn 1.609307 1.609850 3.272039\nv -0.024384 0.070193 0.019468\nvn 2.088784 1.749674 4.118940\nv -0.026247 0.072464 0.019497\nvn 3.062881 -2.228643 -1.161820\nv 0.040205 0.072999 0.019737\nvn -3.675182 1.434850 -0.447194\nv 0.029568 0.073653 0.019598\nvn -1.522688 1.981381 1.602788\nv 0.049428 0.074601 0.019462\nvn 3.274244 -0.883756 2.044781\nv 0.078900 0.075372 0.019326\nvn 1.308093 1.400187 2.168784\nv -0.030144 0.076764 0.019596\nvn 5.762391 -2.884163 -2.358370\nv 0.043922 0.080025 0.020494\nvn -1.705142 -0.142901 4.689916\nv -0.058187 0.082127 0.019292\nvn 1.480544 1.513519 2.060421\nv -0.033904 0.080625 0.019509\nvn -3.032704 -0.535666 5.105186\nv 0.030284 0.082039 0.019402\nvn 1.516329 2.210417 2.892961\nv -0.036178 0.082566 0.019499\nvn -3.612136 -0.213904 4.706020\nv 0.030370 0.084167 0.019551\nvn 3.095458 0.922678 3.808090\nv 0.078575 0.084342 0.019515\nvn -1.294775 0.223877 4.821469\nv -0.058360 0.085625 0.019229\nvn 3.523593 -1.270731 -3.243522\nv 0.045658 0.087862 0.019529\nvn 2.260355 2.160422 5.113972\nv 0.076316 0.088020 0.019588\nvn -1.519023 0.465653 5.769202\nv -0.056763 0.087900 0.019526\nvn 1.052804 2.419126 2.893327\nv -0.044283 0.088531 0.019540\nvn -0.729088 3.112374 5.038954\nv 0.069756 0.090222 0.019419\nvn 1.135591 2.830383 5.051588\nv 0.074479 0.089831 0.019520\nvn 0.915287 2.552561 4.162724\nv -0.048416 0.090358 0.019501\nvn 0.114553 3.350928 4.962293\nv 0.072015 0.090082 0.019556\nvn 0.150725 2.348333 4.401404\nv -0.052284 0.091603 0.019215\nvn 1.266797 4.342265 3.656099\nv 0.042710 0.106526 0.019631\nvn -0.454125 3.032423 2.404389\nv 0.040654 0.106644 0.019575\nvn -0.917899 -3.408623 0.157469\nv -0.083807 0.140056 0.019513\nvn 2.298350 1.834104 2.662450\nv -0.083283 0.143550 0.019445\nvn -0.883875 -2.724692 -0.776364\nv -0.095548 0.144008 0.019488\nvn 1.736370 2.191655 2.840358\nv -0.085900 0.145574 0.019511\nvn 2.406488 4.001518 7.330919\nv -0.087648 0.147341 0.019225\nvn -1.556861 -2.951942 -1.944157\nv -0.061781 0.055171 0.019657\nvn -0.352978 -4.935857 0.192619\nv 0.028177 0.055414 0.019662\nvn 7.793784 -1.123256 -3.850651\nv 0.034241 0.057871 0.020553\nvn -0.941773 -6.288996 -3.056516\nv 0.008817 0.057882 0.020413\nvn -3.160040 0.078011 5.092805\nv 0.042460 0.064355 0.019605\nvn 1.781422 1.209082 2.009001\nv -0.009974 0.064886 0.019705\nvn -1.630032 -2.512928 0.165483\nv -0.041823 0.065075 0.019662\nvn -0.922378 1.979699 6.881631\nv -0.016625 0.066210 0.019585\nvn 0.562267 0.008136 2.516638\nv -0.014485 0.066321 0.019650\nvn -0.018595 2.049490 4.551805\nv -0.014372 0.065920 0.019953\nvn 1.064049 2.070390 3.214622\nv -0.020803 0.066514 0.019692\nvn -1.309799 -1.242568 3.513856\nv -0.017246 0.067328 0.019639\nvn 2.567716 -0.918963 7.214604\nv -0.014371 0.067938 0.020170\nvn 3.734874 -2.874873 -0.482380\nv 0.037076 0.068023 0.020695\nvn -1.706185 1.294877 3.354765\nv 0.043581 0.068609 0.019719\nvn 4.748424 -3.527796 -0.505775\nv 0.039964 0.072427 0.020664\nvn 1.925599 1.658585 3.070585\nv -0.028620 0.074775 0.019665\nvn -1.857364 2.864876 2.020144\nv 0.053495 0.076875 0.019662\nvn 1.457381 1.398473 2.210685\nv -0.032157 0.078404 0.019657\nvn -2.457530 4.449203 3.003438\nv -0.058134 0.078643 0.020662\nvn -1.520938 0.752555 2.150956\nv -0.056873 0.080288 0.019696\nvn -2.349887 0.403621 6.269879\nv -0.056751 0.081925 0.019704\nvn -1.180918 0.235417 4.850674\nv -0.056961 0.084750 0.019614\nvn -1.160310 0.230529 4.856035\nv -0.056508 0.085991 0.019652\nvn 1.686866 1.851375 3.064095\nv -0.041956 0.086588 0.019690\nvn -0.791083 1.019365 3.734653\nv -0.054860 0.090132 0.019695\nvn -2.590798 0.785066 1.290427\nv 0.033590 0.092275 0.019662\nvn -5.884217 1.928726 4.708054\nv 0.034435 0.101673 0.020474\nvn -1.213908 -3.247574 -1.956485\nv -0.089073 0.141829 0.019662\nvn 1.091929 2.255174 4.280643\nv -0.089627 0.147687 0.019671\nvn -2.554970 -7.248667 1.791896\nv -0.026704 0.053574 0.020940\nvn -0.507384 -4.886410 0.447632\nv -0.025898 0.053199 0.020188\nvn 0.202446 -6.984147 0.163441\nv -0.023623 0.053221 0.020012\nvn 1.206816 -8.775900 0.533258\nv -0.016659 0.053275 0.020644\nvn -4.850591 -7.028501 2.767200\nv -0.028437 0.054455 0.020433\nvn 3.638144 -6.807273 1.500795\nv -0.014753 0.053928 0.020922\nvn -0.641539 -5.539148 -2.152612\nv -0.058117 0.053840 0.020774\nvn 0.123942 -6.629297 -2.068798\nv -0.056037 0.053733 0.020611\nvn 0.649863 -3.680542 -1.297204\nv -0.054325 0.053790 0.020799\nvn -1.264106 -5.409854 -2.094320\nv -0.060264 0.054114 0.020747\nvn 2.891705 -6.396111 -3.383565\nv -0.052377 0.054358 0.020770\nvn 3.103589 -3.693929 1.146049\nv -0.013467 0.054743 0.020800\nvn -4.320755 -6.932894 -3.224024\nv -0.062198 0.054706 0.021135\nvn 1.902699 -2.947963 -1.697127\nv -0.050920 0.055013 0.021054\nvn 6.062112 -6.009638 -4.885044\nv -0.049951 0.056157 0.020663\nvn -5.331052 -6.626387 2.704105\nv -0.030921 0.056520 0.020943\nvn 3.450934 -3.384366 1.166794\nv -0.012422 0.055743 0.021031\nvn -1.427535 -6.432364 3.360891\nv 0.026486 0.055939 0.021068\nvn -0.675137 -5.611425 1.390094\nv 0.028708 0.055494 0.020774\nvn 1.501662 -4.623577 -0.776980\nv 0.032776 0.055723 0.020658\nvn -0.645694 -3.709781 4.663595\nv 0.052035 0.056049 0.020173\nvn -0.389463 -5.723480 6.915532\nv 0.054293 0.056360 0.020607\nvn -1.698799 -1.998461 -1.183417\nv -0.063060 0.055607 0.020377\nvn -0.182257 -6.129892 2.045718\nv 0.022626 0.056048 0.020998\nvn 0.390259 -4.424875 2.616183\nv 0.024330 0.056097 0.020954\nvn -0.010585 -2.644097 2.986847\nv 0.056177 0.056272 0.020683\nvn 1.035810 -6.027576 6.569871\nv 0.058411 0.056528 0.020743\nvn -4.754508 -4.053506 -2.792817\nv -0.064093 0.056493 0.020822\nvn 6.283006 -4.439269 1.664405\nv -0.011421 0.056741 0.020529\nvn -0.828259 -3.726877 0.414481\nv 0.021009 0.056237 0.020750\nvn -0.869279 -3.044729 3.861792\nv 0.050127 0.056888 0.020459\nvn 1.336350 -4.059138 4.185121\nv 0.060524 0.056660 0.020341\nvn 2.891194 -3.104778 -1.494115\nv 0.034068 0.056311 0.020942\nvn -1.138208 -3.059052 3.781803\nv 0.048824 0.056761 0.019989\nvn -1.803845 -2.260311 0.565702\nv -0.031967 0.056971 0.020012\nvn -1.651425 -6.666162 -0.102156\nv 0.018899 0.056890 0.020667\nvn 0.900520 -2.126629 1.886456\nv 0.062127 0.056933 0.020068\nvn -2.126943 -4.322097 6.306305\nv 0.048131 0.058105 0.020937\nvn 2.151513 -5.245601 5.573597\nv 0.062492 0.057931 0.020945\nvn -4.973792 -5.691251 3.261061\nv -0.032816 0.058076 0.020780\nvn -1.487913 -6.800082 -0.476215\nv 0.016797 0.057473 0.020556\nvn -1.889381 -2.263668 3.974570\nv 0.046616 0.058436 0.020589\nvn 2.658943 -5.184263 5.414371\nv 0.064213 0.058335 0.020536\nvn 5.856393 -2.428870 2.415489\nv -0.010552 0.058217 0.020760\nvn 0.172435 -4.908846 -0.774985\nv 0.010963 0.057633 0.020862\nvn 6.278182 -3.564797 -3.282451\nv -0.048280 0.058481 0.020713\nvn -3.249163 -3.523873 -4.722851\nv 0.007024 0.057926 0.021125\nvn 1.814392 -3.676765 2.828919\nv 0.065902 0.058928 0.020217\nvn -4.804506 -2.497370 -2.548822\nv -0.065026 0.058205 0.020613\nvn 3.806699 0.135060 -0.871306\nv 0.034476 0.060053 0.020708\nvn -2.623598 -1.821030 5.054830\nv 0.044456 0.060187 0.020155\nvn -5.886868 -2.253309 -3.004073\nv -0.065767 0.060166 0.020451\nvn -3.633471 -4.409781 2.557756\nv -0.034888 0.059984 0.021062\nvn 3.606328 -0.699021 1.344064\nv -0.009665 0.060336 0.020345\nvn 3.384223 -1.543711 -1.419400\nv -0.047705 0.059853 0.020377\nvn -6.382017 1.670860 -3.839631\nv 0.006925 0.060143 0.020833\nvn -3.058001 -3.647976 1.436069\nv -0.036203 0.060895 0.020656\nvn 5.361581 -1.925230 -1.788823\nv -0.047110 0.060761 0.020973\nvn 6.659153 0.277740 -0.269112\nv 0.034172 0.062045 0.020787\nvn 1.955974 -2.681679 2.100374\nv 0.069317 0.060686 0.020373\nvn 4.420840 -4.579029 4.721619\nv 0.070177 0.061966 0.020841\nvn -2.360268 -0.722356 4.321827\nv 0.043287 0.061912 0.020069\nvn 4.629240 -1.523895 -1.089461\nv -0.046707 0.062211 0.020766\nvn -4.536487 -6.129733 2.156491\nv -0.038312 0.062615 0.020738\nvn -2.983291 -3.705047 1.433067\nv -0.037182 0.061822 0.020843\nvn 6.210153 0.566571 4.472887\nv -0.009508 0.062415 0.020198\nvn -5.374691 -1.563317 -2.130757\nv -0.066486 0.062000 0.020753\nvn -4.962130 2.607271 -2.025890\nv 0.008191 0.062690 0.020464\nvn 1.932862 4.111086 3.219486\nv 0.022646 0.062528 0.020938\nvn 1.047265 5.128949 1.875295\nv 0.020694 0.063457 0.020677\nvn -1.219522 3.921574 4.910278\nv 0.024711 0.062116 0.021170\nvn -2.650408 -0.149525 4.228457\nv 0.042877 0.063225 0.019921\nvn 4.944206 -2.949360 -1.234228\nv -0.045971 0.064285 0.020739\nvn -3.715300 -5.668061 1.158885\nv -0.040448 0.064240 0.020870\nvn 1.877325 0.806517 2.136792\nv -0.009663 0.063663 0.020013\nvn -2.808362 4.365459 -2.009347\nv 0.008909 0.064231 0.020872\nvn -2.242827 1.968488 2.454129\nv 0.025335 0.063734 0.020297\nvn 5.045916 -1.734764 1.659214\nv 0.034423 0.064281 0.020887\nvn 5.889548 -4.770107 4.748084\nv 0.072270 0.064257 0.020765\nvn 1.314432 6.355193 0.182637\nv 0.018717 0.064005 0.020759\nvn 5.338847 4.307311 8.243098\nv -0.010913 0.064282 0.020687\nvn -0.130508 6.310490 -2.396386\nv 0.010776 0.064581 0.020573\nvn 0.489224 4.737603 -1.317099\nv 0.012754 0.064339 0.020713\nvn 0.624041 6.767884 -0.905893\nv 0.014265 0.064216 0.020881\nvn 0.261706 4.844703 -0.143012\nv 0.016851 0.064089 0.020606\nvn -6.636326 -1.355250 -1.443999\nv -0.066991 0.064204 0.020591\nvn -4.291732 2.665078 4.551253\nv 0.026572 0.064473 0.020987\nvn -0.296795 4.694150 3.298972\nv -0.016987 0.064563 0.020810\nvn 2.166675 -5.907709 -0.761965\nv -0.044746 0.065548 0.020794\nvn -2.564088 -4.268920 -0.019120\nv -0.041823 0.065117 0.020363\nvn 0.750305 6.531501 4.006327\nv -0.018987 0.064466 0.021016\nvn 0.429628 1.790150 2.143459\nv -0.019559 0.065361 0.020037\nvn -0.422852 4.450309 3.849047\nv -0.014503 0.064944 0.020874\nvn 4.464180 -3.279789 0.591240\nv 0.035341 0.065570 0.020750\nvn -4.936994 -0.678209 -0.193821\nv -0.067336 0.066264 0.020783\nvn -1.922956 -6.434937 0.603426\nv -0.042542 0.065440 0.020952\nvn 2.794759 4.879104 5.337099\nv -0.021036 0.065802 0.020319\nvn 0.320528 3.794477 4.406602\nv -0.012897 0.065656 0.020358\nvn 3.367529 -2.427425 2.743504\nv 0.073869 0.066203 0.020500\nvn 0.743721 2.203619 3.104917\nv -0.011594 0.065706 0.020220\nvn -6.246018 1.892045 4.126869\nv 0.027090 0.066215 0.020643\nvn -2.965676 0.689191 5.134987\nv 0.043087 0.066468 0.019974\nvn 4.652496 -3.255863 -0.105712\nv 0.036134 0.066618 0.020797\nvn 3.121352 5.176293 4.979715\nv -0.022707 0.066451 0.020641\nvn -7.174190 0.153470 2.054560\nv -0.067560 0.068033 0.020533\nvn -1.237833 -2.042696 2.855745\nv -0.016098 0.067075 0.019846\nvn 4.662421 -2.999293 4.152594\nv 0.074494 0.067662 0.021060\nvn 2.796837 -2.013836 1.938891\nv 0.075077 0.067075 0.019853\nvn -1.421443 -1.694751 5.313897\nv -0.016577 0.068178 0.020322\nvn -2.666861 0.981540 0.939510\nv 0.027408 0.067303 0.020479\nvn 3.002347 -1.552337 2.116692\nv 0.075326 0.068101 0.020338\nvn 1.000210 1.368108 2.411507\nv -0.022923 0.067775 0.019776\nvn -3.449891 1.868780 6.930464\nv 0.044384 0.067922 0.020275\nvn 4.634321 5.343984 7.950182\nv -0.024642 0.068150 0.020477\nvn 1.236994 -0.496327 2.525807\nv -0.013478 0.068571 0.020036\nvn 3.083830 -2.139167 0.043747\nv 0.037882 0.068977 0.020674\nvn 1.269235 1.636549 3.415089\nv -0.025237 0.069755 0.020025\nvn -1.544194 -0.051121 2.348694\nv -0.018023 0.069175 0.019832\nvn -2.231812 0.104398 7.042272\nv -0.016662 0.070001 0.020576\nvn 3.428926 0.890994 5.575505\nv -0.013356 0.070167 0.020024\nvn -6.740180 2.223957 3.271231\nv 0.027944 0.068360 0.020813\nvn -1.433085 0.948957 2.399576\nv 0.044824 0.069788 0.020043\nvn 5.785733 -2.786092 4.714992\nv 0.075820 0.069986 0.020868\nvn -3.549662 0.538071 3.302521\nv -0.067682 0.070048 0.020241\nvn 4.937495 -2.984230 -0.126573\nv 0.038478 0.070041 0.020672\nvn -5.461306 1.540290 1.419689\nv 0.028402 0.070006 0.020805\nvn 2.451482 2.369079 6.046782\nv -0.026468 0.069831 0.020408\nvn -4.637439 2.476600 7.505684\nv 0.046273 0.070194 0.020591\nvn 0.855455 1.229296 5.625690\nv -0.014532 0.070199 0.020337\nvn 0.126573 0.634803 0.762242\nv -0.015135 0.071800 0.019859\nvn 1.305478 1.666941 3.105449\nv -0.013823 0.071275 0.019870\nvn 4.125454 -2.658053 -0.249160\nv 0.039127 0.071173 0.020983\nvn -1.554819 0.406049 1.596779\nv 0.045327 0.071275 0.019757\nvn 3.209505 -1.089299 2.114300\nv 0.077230 0.072134 0.020217\nvn -3.856040 0.293044 4.381064\nv -0.067333 0.072376 0.020227\nvn -0.826412 1.283977 3.332134\nv -0.016728 0.071776 0.020146\nvn -5.635304 1.550063 0.708646\nv 0.029019 0.072131 0.020919\nvn -1.654786 1.760847 3.143805\nv 0.046962 0.071806 0.020278\nvn -4.049923 4.781174 7.601070\nv 0.048595 0.072163 0.020740\nvn -0.955835 1.831649 2.158624\nv 0.047777 0.073025 0.019742\nvn -5.163060 0.124223 5.824352\nv -0.067600 0.074029 0.020097\nvn 1.888990 1.367701 4.400673\nv -0.028852 0.074140 0.020070\nvn 4.895789 -3.181478 -0.667846\nv 0.040890 0.073708 0.020435\nvn 5.385353 -1.682682 4.109616\nv 0.077624 0.074455 0.020638\nvn -1.732673 1.533836 1.826485\nv 0.048827 0.073556 0.020012\nvn -6.538499 2.117532 0.275580\nv 0.029515 0.073759 0.020844\nvn -4.296669 5.491667 6.936622\nv 0.050210 0.074125 0.020574\nvn 5.125700 -2.649521 -0.772256\nv 0.041636 0.074789 0.020855\nvn -3.767807 1.122715 -0.109629\nv 0.029760 0.074658 0.020479\nvn 0.318542 0.449985 0.861762\nv -0.029223 0.075125 0.019835\nvn -5.683762 1.728299 -0.160490\nv 0.030127 0.075767 0.020521\nvn -1.461179 2.745061 2.391728\nv 0.051160 0.075403 0.019992\nvn -2.419574 3.786286 3.827406\nv 0.052707 0.075640 0.020341\nvn 5.787436 -1.103376 5.286093\nv 0.077895 0.076054 0.020880\nvn -1.357825 1.047631 1.689664\nv -0.067432 0.076021 0.020127\nvn 5.528192 -1.798194 -0.485848\nv 0.042114 0.076144 0.020813\nvn 3.217178 2.765801 6.604273\nv -0.030758 0.076100 0.020199\nvn 6.686837 -3.420022 -2.325888\nv 0.042690 0.077966 0.020812\nvn -4.203710 5.269754 4.212527\nv 0.054065 0.076323 0.020995\nvn -0.867129 1.836746 1.902512\nv -0.065738 0.077238 0.020049\nvn 1.442717 1.436047 2.157115\nv -0.031323 0.077225 0.019962\nvn -6.582139 1.632823 0.750252\nv 0.030822 0.077666 0.020719\nvn -1.668049 2.126624 1.281998\nv 0.054771 0.077255 0.020469\nvn -0.287431 4.305887 4.010662\nv -0.064495 0.077318 0.020099\nvn -0.437224 4.528819 3.769629\nv -0.062502 0.077188 0.020165\nvn -2.622383 5.845116 4.531116\nv -0.060026 0.077492 0.020736\nvn -5.707842 7.149033 5.753170\nv 0.056014 0.077926 0.020854\nvn 4.193772 0.659612 3.737270\nv 0.078014 0.077813 0.020905\nvn 3.710166 3.509219 7.237123\nv -0.032790 0.077655 0.020500\nvn -4.544076 1.327447 1.023520\nv 0.031375 0.079354 0.020771\nvn 2.163281 -1.524778 -1.409982\nv 0.043268 0.079458 0.020133\nvn 4.923522 -0.295426 5.984952\nv 0.078036 0.079595 0.020707\nvn -1.050378 2.029730 1.797076\nv -0.057426 0.079177 0.020303\nvn 1.512697 1.376152 2.155500\nv -0.033410 0.079208 0.020091\nvn -1.728628 2.022186 1.277388\nv 0.056769 0.079053 0.020329\nvn -5.453291 6.130810 5.322616\nv 0.058313 0.079875 0.020762\nvn -4.166535 6.982302 6.243733\nv -0.056234 0.079626 0.020713\nvn -4.527432 1.428190 1.105096\nv 0.031670 0.080306 0.021003\nvn -1.232234 1.136094 5.598013\nv -0.055658 0.081600 0.019971\nvn -6.625039 1.049032 3.401358\nv 0.032045 0.081847 0.020656\nvn 3.058236 3.318893 6.459756\nv -0.034604 0.079818 0.020416\nvn -5.893332 6.484028 6.309235\nv 0.060315 0.081789 0.020694\nvn 1.890251 2.453243 5.039028\nv -0.036534 0.081436 0.020346\nvn 0.000000 0.000000 0.000000\nv 0.079013 0.081425 0.020012\nvn -2.816073 -0.453442 4.052307\nv 0.031149 0.082382 0.019878\nvn 4.299544 0.893002 5.336790\nv 0.078023 0.082101 0.020666\nvn -1.529603 0.180676 5.792424\nv -0.056115 0.083875 0.019879\nvn 1.598668 2.138928 4.077994\nv -0.038856 0.083582 0.020292\nvn -3.975865 -0.791266 4.314867\nv 0.031387 0.084199 0.020267\nvn 7.869295 -2.190819 -3.539037\nv 0.045163 0.084247 0.020778\nvn -2.413094 3.847727 3.807720\nv 0.062511 0.083597 0.020633\nvn -3.600816 4.259304 5.611434\nv 0.064070 0.083985 0.021178\nvn -1.488743 0.312222 5.797072\nv -0.055648 0.085450 0.019859\nvn 1.254990 1.703915 3.364154\nv -0.041351 0.085453 0.020034\nvn -4.513318 0.502340 3.655890\nv 0.031315 0.085927 0.020582\nvn -2.659332 2.558679 3.324512\nv 0.064580 0.085825 0.020311\nvn -1.413909 0.363885 5.807940\nv -0.054365 0.085816 0.020239\nvn 2.041210 2.302633 6.190562\nv -0.042692 0.085842 0.020353\nvn 1.251118 1.792794 2.636570\nv 0.077144 0.086062 0.020061\nvn 3.857726 -1.544661 -2.759029\nv 0.045319 0.085821 0.020190\nvn 1.570777 2.646330 4.475243\nv 0.075943 0.085982 0.020585\nvn 1.738198 2.170915 4.027951\nv -0.043013 0.087001 0.020059\nvn -3.134332 1.031394 2.242582\nv 0.031460 0.087213 0.020278\nvn -2.265180 3.189570 4.434972\nv 0.066030 0.087231 0.020247\nvn 7.385281 -2.794186 -4.222037\nv 0.046626 0.087867 0.020903\nvn 1.395483 2.703266 5.017899\nv -0.044279 0.087698 0.020124\nvn -6.500303 2.947376 3.134556\nv 0.032264 0.088123 0.020847\nvn 1.025257 3.419030 6.992816\nv -0.046117 0.087868 0.020285\nvn 2.115367 3.164245 8.068502\nv 0.074313 0.088080 0.020348\nvn -0.758299 1.035593 4.782260\nv -0.054209 0.089611 0.019907\nvn 0.743408 1.989345 4.508378\nv -0.048379 0.089234 0.020033\nvn -0.505728 3.102169 5.049319\nv 0.070053 0.089107 0.020129\nvn 0.091559 2.728209 5.288396\nv 0.072012 0.089309 0.020070\nvn 0.437765 1.825107 3.431954\nv 0.073714 0.089300 0.020039\nvn -0.356984 1.862791 6.684252\nv -0.052606 0.089900 0.019995\nvn 0.347380 2.524432 6.439937\nv -0.050516 0.089862 0.020051\nvn -5.472811 3.259382 2.765302\nv 0.032898 0.089480 0.020592\nvn -3.281388 1.445370 1.762956\nv 0.033425 0.091081 0.020149\nvn 7.004430 -1.607495 -3.239552\nv 0.047891 0.091803 0.020920\nvn -6.625336 2.408355 3.741848\nv 0.033941 0.091667 0.020701\nvn -4.103967 0.397897 2.613235\nv 0.034767 0.094047 0.020774\nvn 4.733867 -0.673492 -1.309445\nv 0.048218 0.094007 0.020676\nvn -6.343721 -1.634705 4.044792\nv 0.034469 0.095851 0.020905\nvn 5.711522 -0.679607 -1.497341\nv 0.048494 0.095791 0.020634\nvn -5.272538 -0.725240 2.182591\nv 0.033770 0.097801 0.020911\nvn 4.876122 0.551619 -0.423109\nv 0.048592 0.097583 0.020857\nvn -2.598243 0.511260 0.224649\nv 0.033489 0.098225 0.020012\nvn -5.727903 1.451013 2.703159\nv 0.034138 0.099541 0.020942\nvn 5.650995 1.738783 0.004872\nv 0.048083 0.099678 0.020804\nvn 5.242630 2.727755 0.570113\nv 0.047429 0.101081 0.020771\nvn 5.774943 3.716287 1.069253\nv 0.046779 0.102147 0.020639\nvn -3.395446 1.502505 3.011292\nv 0.034757 0.103645 0.020288\nvn 3.418355 3.263364 1.440232\nv 0.045765 0.103408 0.020931\nvn 3.170731 3.378565 1.739654\nv 0.044989 0.104199 0.020853\nvn -4.423578 5.017354 3.791927\nv 0.036451 0.105370 0.020717\nvn 1.855250 3.021127 1.805036\nv 0.044090 0.104973 0.020710\nvn -0.781066 4.645469 1.206947\nv 0.038502 0.106184 0.020836\nvn 2.694187 6.262520 3.970778\nv 0.042677 0.105640 0.020722\nvn 0.447849 6.294363 2.670632\nv 0.040668 0.106004 0.020769\nvn -1.548106 -2.654866 1.589889\nv -0.083753 0.140203 0.020059\nvn 2.059211 -2.978301 3.142783\nv -0.082571 0.140200 0.020039\nvn 1.563550 -3.922010 3.237561\nv -0.086002 0.141160 0.021004\nvn -0.386039 -3.057394 4.236014\nv -0.084253 0.141211 0.020717\nvn 2.090562 0.279913 3.024041\nv -0.082623 0.141184 0.020217\nvn -0.727217 -5.635643 -0.394354\nv -0.087947 0.141028 0.020673\nvn -2.717979 -7.968877 -2.464303\nv -0.089619 0.141435 0.020854\nvn 4.263647 2.649113 6.825632\nv -0.084151 0.142972 0.020629\nvn -2.842789 -4.743115 -0.772951\nv -0.091668 0.142337 0.020666\nvn -2.664904 -5.400073 1.284145\nv -0.093730 0.143201 0.020939\nvn -2.272566 -3.482766 0.284735\nv -0.095842 0.143939 0.020336\nvn -3.582685 -1.812317 5.311549\nv -0.095950 0.145153 0.021127\nvn 1.695197 2.159778 2.812660\nv -0.084771 0.144205 0.020215\nvn -2.795703 -1.731928 2.332773\nv -0.097028 0.145020 0.020087\nvn 2.231952 3.428337 4.320037\nv -0.086167 0.144760 0.020443\nvn -2.453048 0.634013 2.305750\nv -0.097129 0.147047 0.020152\nvn 3.739287 6.042492 6.388883\nv -0.087812 0.145235 0.020761\nvn 0.530518 1.517315 2.246266\nv -0.088198 0.146350 0.019770\nvn 2.853218 5.546873 6.190766\nv -0.089820 0.146770 0.020398\nvn 0.555710 2.575351 2.924839\nv -0.091403 0.147174 0.020741\nvn -0.176231 4.191797 5.556603\nv -0.093532 0.147261 0.020560\nvn 0.590128 3.283255 4.833404\nv -0.091406 0.148217 0.019808\nvn -1.120347 2.909376 3.506206\nv -0.096186 0.148210 0.019997\nvn -2.202386 2.547036 5.412941\nv -0.095981 0.147074 0.020738\nvn -0.023784 -4.995229 0.148245\nv -0.018373 0.053238 0.020363\nvn 0.180690 -5.950374 -0.609197\nv 0.012427 0.057760 0.020968\nvn -3.356506 -2.443742 6.747630\nv 0.046141 0.060153 0.021141\nvn 1.550840 -4.136313 4.018756\nv 0.066017 0.059761 0.021084\nvn -1.092176 -1.474148 1.606333\nv -0.033978 0.059173 0.020895\nvn 3.351808 -6.322203 5.279072\nv 0.067925 0.060278 0.020844\nvn -2.488310 1.071443 -1.267036\nv 0.007441 0.061788 0.021074\nvn -3.303281 -1.019513 6.054460\nv 0.044319 0.062385 0.020719\nvn -2.573231 0.996499 5.294362\nv 0.044384 0.066136 0.020776\nvn 1.255354 1.089924 3.623090\nv -0.027178 0.071346 0.020275\nvn 4.469594 -1.609733 3.625904\nv 0.076690 0.071937 0.020880\nvn 2.323332 2.122513 7.288965\nv -0.028743 0.072215 0.020470\nvn 1.726571 1.117734 6.663898\nv -0.030759 0.074326 0.020612\nvn -3.708515 4.313629 5.519618\nv 0.052222 0.074517 0.021057\nvn -2.734697 3.565758 5.628763\nv -0.065970 0.076147 0.020732\nvn 1.648952 1.039972 6.657990\nv -0.032514 0.076021 0.020894\nvn -0.848411 0.735516 3.707040\nv -0.054715 0.081542 0.020179\nvn 1.661143 2.334878 6.158812\nv -0.038530 0.081871 0.020838\nvn -1.851570 0.092636 7.761712\nv -0.054306 0.083690 0.020392\nvn -4.030897 -0.889595 2.386165\nv 0.032405 0.083853 0.021100\nvn 2.580200 1.120647 4.102816\nv 0.077512 0.083897 0.020490\nvn 1.603350 2.592202 5.073681\nv -0.040728 0.084074 0.020507\nvn 0.890837 1.341058 5.714281\nv -0.044292 0.085957 0.020744\nvn -2.212116 3.238152 5.728449\nv 0.065979 0.086129 0.020948\nvn 1.217491 1.351651 3.555059\nv 0.075498 0.087288 0.020219\nvn -0.536991 0.673435 4.905274\nv -0.052634 0.087684 0.020399\nvn -1.083893 0.779474 5.824863\nv -0.054248 0.088250 0.020123\nvn 0.155942 1.471240 5.783480\nv -0.048283 0.087854 0.020510\nvn -1.376914 3.130805 4.887934\nv 0.068224 0.087830 0.020621\nvn -0.207671 1.030280 5.905803\nv -0.050729 0.087769 0.020440\nvn 0.428448 2.205621 4.444805\nv 0.072101 0.087841 0.020743\nvn 3.925352 -1.202407 -2.818272\nv 0.047146 0.089952 0.020522\nvn 0.037648 -7.996252 0.111849\nv -0.020648 0.053257 0.020887\nvn -0.014029 -4.891614 0.297762\nv 0.030817 0.055417 0.021050\nvn -1.015032 -3.674967 4.624085\nv 0.050111 0.057656 0.021105\nvn -0.432529 -4.961850 -0.238505\nv 0.015110 0.057737 0.021063\nvn -3.416146 -1.412730 -1.514831\nv -0.065436 0.058537 0.021146\nvn 3.214633 1.099593 3.635732\nv -0.010575 0.062512 0.021173\nvn -2.555413 0.057200 4.268766\nv 0.044484 0.064303 0.020992\nvn 1.113716 2.205640 1.534092\nv -0.020656 0.064901 0.021114\nvn -2.757569 1.826153 4.854013\nv 0.046028 0.067953 0.020995\nvn 1.544076 2.393022 2.524894\nv -0.026739 0.068662 0.021083\nvn -3.853239 1.507442 3.924837\nv -0.066404 0.070237 0.021032\nvn 2.909181 4.123806 5.554660\nv -0.028575 0.070164 0.020972\nvn -3.008196 0.849384 4.680510\nv -0.066021 0.072364 0.020920\nvn -2.434750 0.497296 5.304889\nv -0.066241 0.074168 0.021014\nvn 2.141389 2.384203 4.519918\nv -0.030584 0.071879 0.020971\nvn -1.005984 3.317114 5.848532\nv -0.064312 0.076180 0.021037\nvn -1.183426 3.900098 4.331349\nv -0.062230 0.076331 0.021079\nvn 1.338388 1.302121 6.697039\nv -0.034522 0.078012 0.020908\nvn -1.237136 4.129535 4.919984\nv -0.054389 0.080098 0.020960\nvn 1.141214 1.305978 5.668223\nv -0.036456 0.079862 0.020998\nvn -0.813281 0.730622 5.767096\nv -0.052534 0.081982 0.020641\nvn -0.614113 0.611474 6.856286\nv -0.050711 0.081954 0.020729\nvn 3.674481 -0.998958 -1.220116\nv 0.044704 0.082066 0.021092\nvn -0.558133 -0.039182 4.948435\nv -0.052360 0.084140 0.020772\nvn 0.967756 1.697653 5.622341\nv -0.042361 0.083918 0.020951\nvn 3.391679 2.912270 8.864847\nv 0.075923 0.084287 0.021171\nvn -0.859247 0.694817 6.882661\nv -0.052600 0.086114 0.020612\nvn -0.301508 0.715107 4.930150\nv -0.050245 0.086053 0.020765\nvn 5.058160 -1.995668 -2.498041\nv 0.045931 0.086091 0.021024\nvn 2.004228 2.484719 7.329434\nv 0.074120 0.085959 0.021077\nvn -0.072265 2.872110 5.180302\nv 0.070201 0.087942 0.020917\nvn -1.255766 -2.639177 -0.408474\nv -0.091204 0.142001 0.021053\nvn -0.240758 -3.910620 0.435485\nv -0.024586 0.053205 0.021238\nvn 0.842634 -2.770000 0.265325\nv -0.016006 0.053416 0.021157\nvn -2.187138 -3.020527 1.437120\nv -0.029456 0.055512 0.021165\nvn 2.222613 -1.507601 -1.232539\nv -0.048750 0.057095 0.021302\nvn 1.005723 -3.759108 4.560499\nv 0.060079 0.057488 0.021173\nvn 0.027188 -2.337700 -1.070018\nv 0.008635 0.057271 0.021235\nvn 3.773285 -0.299366 3.060157\nv -0.010221 0.060214 0.021283\nvn 0.807545 -1.860093 2.207758\nv 0.064753 0.059603 0.021371\nvn -2.536087 1.988989 6.037680\nv 0.026290 0.062642 0.021424\nvn -1.641888 -2.258541 1.063139\nv -0.039226 0.063439 0.021198\nvn 0.768812 2.746165 2.445170\nv 0.021059 0.062997 0.021361\nvn -3.935781 -0.418731 -0.424902\nv -0.067166 0.064800 0.021063\nvn 1.016438 3.336715 3.300826\nv -0.012490 0.064651 0.021361\nvn 3.213932 -2.194160 3.127430\nv 0.072732 0.065816 0.021451\nvn -2.212226 0.592323 1.897474\nv 0.027694 0.066559 0.021320\nvn 2.040586 2.645625 2.027682\nv -0.024084 0.066878 0.021125\nvn -2.972963 0.873117 5.079627\nv 0.045984 0.066386 0.021452\nvn -3.781592 1.732320 2.195267\nv -0.066968 0.068475 0.021217\nvn -2.053077 1.837857 4.148948\nv 0.047849 0.070462 0.021349\nvn 2.101029 2.463277 3.221477\nv -0.030254 0.070752 0.021247\nvn 1.714924 2.996396 5.321297\nv -0.032435 0.072501 0.021188\nvn -1.900201 1.566979 3.140902\nv 0.050256 0.072687 0.021332\nvn 0.678707 0.331785 3.923573\nv -0.032746 0.074402 0.021018\nvn -0.780905 2.067678 2.026751\nv -0.060666 0.076655 0.021320\nvn 0.560694 0.360556 3.943959\nv -0.036302 0.077828 0.021176\nvn -0.277315 2.516945 3.829175\nv -0.052403 0.080340 0.021057\nvn -0.109260 4.106835 4.867066\nv -0.050261 0.080075 0.021315\nvn 0.254750 2.433855 3.917410\nv -0.048298 0.080180 0.021300\nvn 0.568652 0.984513 4.805614\nv -0.038495 0.079752 0.021326\nvn -1.531227 1.675919 1.958327\nv 0.059668 0.080453 0.021374\nvn -0.358330 0.640226 6.925985\nv -0.048055 0.082082 0.021122\nvn 0.893180 1.275430 5.750556\nv -0.040648 0.082102 0.021131\nvn -1.322462 1.652703 2.004626\nv 0.061707 0.082459 0.021322\nvn -0.304431 0.118044 4.977375\nv -0.048561 0.083744 0.021020\nvn -0.392744 0.150626 5.972760\nv -0.050622 0.084186 0.020880\nvn -0.000771 0.573713 6.968007\nv -0.046183 0.083927 0.021035\nvn 0.292508 1.160501 6.848573\nv -0.044299 0.084186 0.021031\nvn 3.496307 -1.330705 -1.412342\nv 0.045567 0.084773 0.021284\nvn -0.108518 1.037366 6.869656\nv -0.048211 0.086150 0.020900\nvn 0.308828 1.140328 4.804930\nv -0.046227 0.086223 0.020882\nvn -4.926622 0.081839 2.872753\nv 0.031698 0.085946 0.021247\nvn -1.282859 3.457841 7.068772\nv 0.068159 0.086226 0.021403\nvn 1.048873 2.370687 5.388607\nv 0.072561 0.086507 0.021276\nvn -4.008200 2.100106 2.025960\nv 0.033749 0.090245 0.021350\nvn 3.464384 -1.087681 -1.626377\nv 0.047600 0.089873 0.021344\nvn -3.707475 1.198541 4.514286\nv 0.035881 0.102114 0.021376\nvn -2.409575 1.090770 2.913454\nv 0.035982 0.104000 0.021204\nvn 4.065619 2.534984 7.003983\nv -0.085889 0.143360 0.021187\nvn 1.309018 2.121402 1.659856\nv -0.089161 0.145774 0.021223\nvn -0.997767 1.675274 4.481247\nv -0.094010 0.145705 0.021515\nvn -1.269493 -4.822827 -0.108443\nv 0.017677 0.057166 0.021376\nvn -0.467637 -3.036716 3.926763\nv 0.052621 0.057465 0.021397\nvn 0.440562 -2.440978 3.125398\nv 0.058350 0.057363 0.021452\nvn -1.750721 -0.590189 3.533303\nv 0.045924 0.062000 0.021496\nvn -1.740991 0.065409 3.576746\nv 0.045558 0.064012 0.021483\nvn -2.299236 1.142730 3.793283\nv -0.064941 0.072500 0.021518\nvn 1.455069 1.285885 1.487523\nv -0.034196 0.072931 0.021489\nvn 2.474932 1.974672 7.420395\nv -0.034408 0.074226 0.021264\nvn 1.576118 2.580061 3.420559\nv -0.036118 0.074505 0.021454\nvn -0.000000 -0.000000 0.000000\nv 0.076828 0.074244 0.021461\nvn -2.061396 1.176089 5.337236\nv -0.064517 0.074441 0.021594\nvn 1.628119 1.521635 8.419141\nv -0.036489 0.075825 0.021372\nvn 0.455638 0.361635 3.940514\nv -0.034488 0.075985 0.021240\nvn 1.255181 2.426388 4.712272\nv -0.038317 0.076242 0.021506\nvn 0.566545 0.502810 6.943446\nv -0.038334 0.078052 0.021447\nvn 1.696686 2.690052 7.669853\nv -0.040540 0.077828 0.021520\nvn -1.792998 2.412991 2.593238\nv 0.057404 0.078551 0.021465\nvn 0.367975 1.401598 5.358361\nv -0.044394 0.079737 0.021289\nvn 0.076493 0.638395 6.935824\nv -0.042682 0.079915 0.021398\nvn 0.354200 0.700149 6.937221\nv -0.040604 0.079978 0.021303\nvn 0.193587 2.146926 5.234150\nv -0.046267 0.079963 0.021268\nvn -0.257146 0.350954 5.972807\nv -0.046137 0.082103 0.021192\nvn 0.292721 0.646184 5.943247\nv -0.042742 0.082038 0.021323\nvn -0.216664 0.246947 4.970940\nv -0.044443 0.081828 0.021349\nvn 1.651578 0.348780 2.448801\nv 0.076695 0.081950 0.021500\nvn -1.463635 1.847578 3.219738\nv 0.065440 0.084667 0.021468\nvn 0.955644 1.254670 3.675412\nv 0.074222 0.084675 0.021468\nvn -1.625432 -6.147216 2.419276\nv -0.024637 0.053463 0.022929\nvn -0.344814 -4.900786 0.585787\nv -0.024586 0.053279 0.022025\nvn 0.442435 -7.432424 1.034023\nv -0.022806 0.053272 0.022521\nvn 0.387597 -2.923494 0.413384\nv -0.017323 0.053293 0.021762\nvn -1.401476 -7.605737 -1.565983\nv -0.060323 0.053565 0.022804\nvn -0.385752 -5.851480 -1.088676\nv -0.058120 0.053470 0.022089\nvn 0.033625 -4.958888 -0.544684\nv -0.056150 0.053463 0.022021\nvn 0.790028 -7.783601 -1.295333\nv -0.054148 0.053439 0.022458\nvn -3.750111 -5.800607 3.810807\nv -0.026679 0.054284 0.022640\nvn 2.700784 -9.082735 2.703233\nv -0.016785 0.053590 0.022749\nvn 3.112656 -4.629039 2.080814\nv -0.014483 0.054649 0.022566\nvn 1.981691 -5.389710 -1.548947\nv -0.052236 0.053772 0.022619\nvn 4.651690 -5.944077 -2.313558\nv -0.050315 0.054660 0.022772\nvn -1.638051 -2.218882 1.137041\nv -0.028177 0.054995 0.022118\nvn -2.843007 -3.727144 -1.584342\nv -0.063960 0.054996 0.022891\nvn -1.965578 -4.369579 -1.242188\nv -0.062679 0.054291 0.022687\nvn 2.414762 -2.896420 1.181694\nv -0.013442 0.055150 0.021970\nvn -4.932455 -3.903897 -2.885550\nv -0.064547 0.055884 0.022359\nvn 2.000465 -1.883364 -1.015014\nv -0.049381 0.055749 0.022054\nvn -4.219841 -5.232069 4.073326\nv -0.028906 0.055964 0.022792\nvn 7.879230 -6.144960 5.658410\nv -0.012760 0.056223 0.022693\nvn -2.823403 -5.239578 3.816232\nv 0.030634 0.055876 0.022779\nvn 0.821709 -5.610467 0.410285\nv 0.032631 0.055457 0.022699\nvn -1.579393 -2.909709 4.450748\nv 0.028850 0.056437 0.022472\nvn 4.204970 -3.754584 -2.442546\nv 0.034789 0.056214 0.022691\nvn -2.748967 -3.280299 2.429039\nv -0.030418 0.056743 0.022211\nvn -1.108823 -1.550940 3.290746\nv 0.026994 0.056543 0.021886\nvn 6.138528 -4.356144 -2.439937\nv -0.048626 0.056387 0.022703\nvn -0.428560 -4.377346 3.178066\nv 0.020885 0.056870 0.022225\nvn 0.781928 -2.422515 3.911166\nv 0.022559 0.056605 0.021858\nvn 2.243474 -1.392997 1.061773\nv -0.011681 0.056938 0.021978\nvn -0.335569 -4.856953 2.266476\nv 0.018655 0.056984 0.022148\nvn 1.160818 -2.227215 3.935020\nv 0.024113 0.057081 0.021775\nvn -3.929937 -4.273947 3.687480\nv -0.030987 0.057674 0.022728\nvn 5.167547 -1.494484 3.892432\nv -0.011406 0.058192 0.022419\nvn -3.301045 0.607753 -4.766244\nv 0.004921 0.058130 0.022419\nvn 0.024610 -3.450004 -2.234191\nv 0.006965 0.056635 0.022507\nvn 1.417502 -8.147989 -1.477762\nv 0.009052 0.056944 0.022635\nvn 0.841692 -5.794543 -0.736598\nv 0.011147 0.057414 0.022463\nvn 0.129673 -1.682315 6.233263\nv 0.024808 0.058177 0.021861\nvn 5.272976 0.950447 -1.480610\nv 0.035282 0.058050 0.022734\nvn 0.708694 -5.883034 -0.012896\nv 0.012744 0.057632 0.022551\nvn -0.917295 -6.388074 1.475126\nv 0.016718 0.057450 0.022810\nvn -0.289743 -2.284942 3.254426\nv 0.054015 0.058386 0.022239\nvn 0.008026 -4.692637 6.446586\nv 0.056352 0.058098 0.022161\nvn -5.936944 -2.709480 -2.425615\nv -0.065801 0.057898 0.022622\nvn -2.312695 0.395159 -3.113384\nv 0.006043 0.058309 0.021844\nvn -0.136288 -5.777367 0.788787\nv 0.014518 0.057684 0.022535\nvn 0.670437 -4.042552 5.656469\nv 0.058272 0.058548 0.022323\nvn 0.782180 -3.041715 3.883619\nv 0.059954 0.058249 0.021828\nvn -2.572548 -3.113836 2.845335\nv -0.032104 0.058612 0.022682\nvn 4.292447 -2.003430 -1.524294\nv -0.047675 0.057976 0.022681\nvn -0.984047 -2.525898 4.170812\nv 0.050194 0.058733 0.021933\nvn 1.380914 -3.440965 4.693528\nv 0.062060 0.058837 0.021813\nvn 4.550737 0.396312 5.023446\nv -0.011033 0.060169 0.022108\nvn -4.366539 1.917014 -2.265968\nv 0.005324 0.060058 0.022648\nvn 5.935575 3.075865 1.352511\nv 0.034569 0.060162 0.022711\nvn -2.520401 -2.541211 7.059326\nv 0.048465 0.060319 0.022218\nvn -3.771395 -4.523411 3.652859\nv -0.034288 0.060298 0.022470\nvn -3.253537 -3.880566 3.113978\nv -0.033281 0.059652 0.022744\nvn -7.280572 -2.243785 -2.362381\nv -0.066624 0.060228 0.022528\nvn 1.627236 -5.893911 6.489244\nv 0.064344 0.060467 0.022277\nvn 7.284009 -2.521367 -1.993599\nv -0.046864 0.060013 0.022704\nvn 1.016651 -3.628600 3.264266\nv 0.066078 0.060593 0.022034\nvn -5.795840 -7.458757 5.419914\nv -0.036495 0.062304 0.022636\nvn -0.163404 0.991177 6.750244\nv 0.024709 0.060351 0.021851\nvn 4.236388 1.026407 3.431161\nv 0.033821 0.062036 0.021958\nvn 1.344597 -2.569147 2.656244\nv 0.067376 0.061152 0.022217\nvn 5.663030 -1.622328 -1.104464\nv -0.046327 0.062337 0.022305\nvn -6.114297 4.028257 -1.654746\nv 0.006962 0.062248 0.022583\nvn 1.738808 1.458307 6.288279\nv 0.022629 0.060352 0.022168\nvn 3.789082 -4.688263 6.582240\nv 0.068010 0.062209 0.022660\nvn 2.648307 1.434536 3.956722\nv -0.011392 0.062381 0.021849\nvn 1.947628 2.054719 3.923555\nv 0.022179 0.061615 0.021943\nvn 1.931485 3.863113 4.606085\nv 0.020864 0.062147 0.022185\nvn 1.510664 -1.611570 2.012684\nv 0.069419 0.062660 0.022066\nvn -1.593740 -2.254252 1.159110\nv -0.037906 0.062966 0.022109\nvn -5.749234 -0.883044 -1.304157\nv -0.067245 0.062509 0.022666\nvn 6.796293 -3.694842 -0.740541\nv -0.045666 0.064340 0.022550\nvn -4.625082 -7.397768 4.675022\nv -0.038767 0.063988 0.022797\nvn -3.831982 4.508932 -1.538055\nv 0.008601 0.064580 0.022556\nvn 1.410603 3.875891 1.934122\nv 0.018936 0.063717 0.021945\nvn 2.435921 -0.924175 2.684977\nv 0.033818 0.064443 0.021878\nvn 1.859382 2.203897 4.025720\nv -0.012748 0.064056 0.021870\nvn -2.106971 0.789822 4.377499\nv 0.027521 0.063976 0.021798\nvn -2.148452 -4.173202 1.633620\nv -0.040547 0.064761 0.022329\nvn 0.182901 3.731620 1.357653\nv -0.019009 0.063916 0.022639\nvn 0.099706 5.144763 2.679560\nv -0.016937 0.064019 0.022743\nvn 1.398595 6.129569 3.910977\nv 0.016811 0.063818 0.022714\nvn 1.426658 4.017612 1.637145\nv 0.014489 0.064126 0.022698\nvn -4.923361 -0.241873 -0.754935\nv -0.067327 0.064399 0.022593\nvn 2.550749 7.100157 4.391796\nv -0.020987 0.064264 0.022591\nvn 1.055645 5.483508 5.112349\nv -0.014860 0.064130 0.022430\nvn 1.437584 6.510887 0.833569\nv 0.012828 0.064518 0.022728\nvn -2.567057 0.460019 5.117834\nv 0.028782 0.064436 0.022370\nvn 0.610515 6.603325 -1.154894\nv 0.010972 0.065073 0.022603\nvn -2.591439 0.000715 5.380836\nv 0.046638 0.064578 0.021973\nvn 2.917944 -2.298907 3.279877\nv 0.071446 0.064881 0.022172\nvn -8.810425 0.529350 -0.460664\nv -0.067310 0.066040 0.022632\nvn -0.973773 -6.022682 2.636901\nv -0.042423 0.065855 0.022900\nvn 4.445515 -4.824985 5.831799\nv 0.034377 0.066158 0.022690\nvn 2.078910 -5.060564 0.741711\nv -0.044257 0.065790 0.022795\nvn -4.073207 -0.118668 5.219866\nv 0.028673 0.066113 0.022477\nvn -2.411071 0.483849 4.325191\nv 0.046689 0.066047 0.021968\nvn 3.447832 -2.204090 4.340137\nv 0.071891 0.066336 0.022551\nvn 1.922256 2.969444 1.843696\nv -0.022958 0.065499 0.022425\nvn 2.632444 -2.402942 1.672435\nv 0.035701 0.066616 0.021886\nvn 4.109737 5.101918 4.291500\nv -0.024735 0.066393 0.022829\nvn 7.349825 -6.310524 4.715844\nv 0.036351 0.068081 0.022737\nvn -7.135294 3.013614 0.084025\nv -0.066894 0.068105 0.022568\nvn -2.010603 1.228860 3.088640\nv 0.047017 0.067803 0.021822\nvn 4.284203 -2.725047 4.760438\nv 0.073486 0.068050 0.022307\nvn 3.439267 4.912233 3.440443\nv -0.026681 0.067815 0.022621\nvn -4.970828 0.047107 4.459920\nv 0.028955 0.067868 0.022712\nvn -4.174979 2.539053 8.530077\nv 0.048170 0.067993 0.022397\nvn -4.930255 3.071366 0.741897\nv -0.065769 0.070161 0.022640\nvn 2.799031 4.550248 2.668341\nv -0.029180 0.069562 0.022345\nvn 2.292549 3.699254 2.459124\nv -0.028216 0.068771 0.022675\nvn -5.244175 0.799271 2.642172\nv 0.029080 0.069894 0.022453\nvn 5.752825 -4.604474 2.577630\nv 0.038279 0.070201 0.022566\nvn 4.328187 -1.860385 5.125445\nv 0.074043 0.070128 0.022627\nvn 2.690229 3.386666 2.194050\nv -0.030965 0.070548 0.022616\nvn -1.544670 1.468335 3.363311\nv 0.048738 0.069908 0.022033\nvn 4.583937 -3.452320 1.320554\nv 0.039265 0.071560 0.022512\nvn -3.135895 2.536721 6.853464\nv 0.050269 0.070089 0.022613\nvn 3.210253 -1.291949 3.563151\nv 0.075501 0.071977 0.022199\nvn -4.535395 3.592533 2.986845\nv -0.064384 0.072107 0.022547\nvn 3.711563 6.100877 3.236180\nv -0.032585 0.071542 0.022625\nvn -4.677571 0.906413 1.377593\nv 0.029472 0.072310 0.022424\nvn -2.594317 2.391107 4.783686\nv 0.050995 0.071833 0.022275\nvn 3.153587 3.995755 2.264880\nv -0.034312 0.072592 0.022454\nvn 4.826419 -3.325227 1.042143\nv 0.040055 0.072689 0.022537\nvn -2.082647 0.780317 3.120472\nv -0.063997 0.073855 0.021843\nvn 2.832291 4.422532 2.430822\nv -0.035416 0.073313 0.022637\nvn -2.629010 2.489749 4.703336\nv 0.052283 0.072246 0.022766\nvn 4.581306 -1.070113 5.128287\nv 0.075871 0.074111 0.022402\nvn 2.456859 4.046410 1.400896\nv -0.036596 0.074072 0.022655\nvn -1.537502 1.526597 2.074849\nv 0.052858 0.073898 0.021989\nvn -8.168394 1.920758 2.677679\nv 0.029950 0.074142 0.022806\nvn 5.018956 -3.010747 0.929265\nv 0.040887 0.074039 0.022781\nvn 1.714992 1.998625 2.404723\nv -0.037537 0.074811 0.022048\nvn -2.890746 3.061712 5.505436\nv 0.054118 0.074193 0.022698\nvn -1.211868 2.485633 4.098399\nv -0.062664 0.075251 0.021747\nvn -4.573350 5.921279 5.213038\nv -0.062555 0.073896 0.022668\nvn 3.801816 5.592821 2.872406\nv -0.038618 0.075438 0.022410\nvn -5.613012 1.528913 1.121496\nv 0.030305 0.075921 0.022748\nvn -2.595149 3.162707 4.303866\nv 0.054621 0.075848 0.021957\nvn 3.421818 -0.463394 4.829351\nv 0.075900 0.076007 0.022487\nvn -4.184800 6.251850 6.280018\nv -0.059881 0.075826 0.022503\nvn 3.556200 5.942145 2.823048\nv -0.040449 0.076615 0.022550\nvn 2.409463 -0.496049 3.088001\nv 0.077102 0.076557 0.021762\nvn 1.274279 1.511137 1.808012\nv -0.040073 0.076875 0.021655\nvn -2.063783 3.101757 4.612936\nv 0.056065 0.075967 0.022489\nvn -1.500364 2.449814 2.694232\nv 0.055477 0.076875 0.021608\nvn 0.818999 1.772312 1.932681\nv -0.041311 0.077254 0.022013\nvn -4.659778 1.539102 0.626575\nv 0.030861 0.077730 0.022798\nvn -2.240028 2.532468 3.605748\nv 0.056808 0.077657 0.021820\nvn 2.421885 0.592698 2.721917\nv 0.077183 0.077685 0.021765\nvn -3.956564 5.222209 4.381115\nv -0.058047 0.077699 0.022457\nvn 2.392748 5.261675 2.984978\nv -0.042456 0.077765 0.022319\nvn 0.515448 1.748390 3.246020\nv -0.042581 0.078421 0.021582\nvn -3.351270 3.292472 4.941231\nv 0.058279 0.077923 0.022410\nvn 1.007113 2.477195 3.681475\nv -0.043748 0.078625 0.021625\nvn 2.643227 7.396721 2.766657\nv -0.044577 0.078597 0.022335\nvn -2.315454 4.557847 3.078849\nv -0.056428 0.078295 0.022946\nvn 1.066146 4.964834 2.283659\nv -0.046245 0.079143 0.021986\nvn -5.500140 1.971219 1.035517\nv 0.031473 0.079574 0.022493\nvn -1.746715 1.498060 1.729048\nv 0.058452 0.079092 0.021762\nvn -0.965847 2.485541 1.347031\nv -0.055643 0.079256 0.021925\nvn -1.345405 5.127340 2.728763\nv -0.054370 0.079311 0.022611\nvn 0.194101 4.740019 1.280041\nv -0.050631 0.079494 0.022471\nvn 0.442320 5.464345 1.770454\nv -0.048736 0.079353 0.022473\nvn -2.983711 3.858699 4.953135\nv 0.060183 0.079692 0.022391\nvn 1.533702 -0.401964 2.387563\nv 0.076769 0.079967 0.021603\nvn 3.003695 0.377008 6.024640\nv 0.075949 0.080161 0.022150\nvn -0.658487 7.229444 2.999986\nv -0.052451 0.079598 0.022448\nvn -5.476894 1.985969 1.229302\nv 0.031753 0.080073 0.022907\nvn 6.424384 -2.324738 -1.081643\nv 0.045079 0.081916 0.022456\nvn -2.145407 2.830261 4.731749\nv 0.062590 0.081785 0.022204\nvn -5.414795 -0.466297 1.951284\nv 0.032830 0.084061 0.022430\nvn -2.550686 3.891519 6.436656\nv 0.064353 0.082155 0.022673\nvn 1.011903 0.587762 2.720211\nv 0.075815 0.082255 0.021925\nvn -1.437466 2.081065 3.085202\nv 0.064553 0.083517 0.021784\nvn 6.355007 -2.414647 -1.401623\nv 0.045846 0.084040 0.022778\nvn -1.581600 3.273983 5.918234\nv 0.065947 0.083902 0.022077\nvn 1.100885 1.511648 4.627378\nv 0.073747 0.084036 0.021820\nvn 1.462917 1.943982 6.544923\nv 0.072192 0.083932 0.022264\nvn -6.359606 -0.457208 2.176838\nv 0.032212 0.085942 0.022760\nvn 5.298102 -2.259840 -1.524046\nv 0.046487 0.085944 0.022453\nvn 0.953823 1.650243 4.604708\nv 0.072226 0.085495 0.021788\nvn -0.338531 1.262033 2.691309\nv 0.068529 0.085442 0.021785\nvn -0.125750 2.520918 6.446867\nv 0.070376 0.085870 0.021911\nvn 0.194733 2.044373 4.483980\nv 0.070615 0.086588 0.021632\nvn 5.305106 -2.152415 -1.587975\nv 0.047189 0.087415 0.022506\nvn -3.552351 1.388226 0.838985\nv 0.032483 0.087757 0.022708\nvn -5.783719 3.625511 1.173582\nv 0.033296 0.089019 0.022579\nvn 4.566355 -1.492428 -1.088295\nv 0.047605 0.088365 0.022603\nvn 5.531277 -1.507921 -1.530656\nv 0.047931 0.089602 0.022484\nvn -3.994609 2.761743 0.969071\nv 0.034151 0.090138 0.022586\nvn -6.548767 3.758477 1.994717\nv 0.034993 0.091546 0.022519\nvn 4.831472 -0.779852 -0.712471\nv 0.048430 0.091797 0.022566\nvn -4.035329 1.492187 2.518597\nv 0.035284 0.092924 0.021974\nvn 6.819078 -0.263723 -0.313697\nv 0.048675 0.093842 0.022707\nvn -6.841678 1.529560 3.128752\nv 0.036165 0.094047 0.022825\nvn -4.710238 -0.597719 4.470716\nv 0.036368 0.096078 0.022677\nvn 5.860422 0.070419 0.161795\nv 0.048716 0.096056 0.022648\nvn -1.866460 -1.027466 1.935878\nv 0.034858 0.096594 0.021923\nvn -4.579257 -0.512890 4.883650\nv 0.034729 0.097661 0.022147\nvn 5.652998 1.410570 1.168323\nv 0.048440 0.097830 0.022649\nvn 5.903395 3.004741 1.852934\nv 0.047862 0.099492 0.022678\nvn -2.918683 0.984173 3.790240\nv 0.035250 0.099335 0.022316\nvn 5.095820 3.891151 2.672737\nv 0.046620 0.101571 0.022524\nvn -4.486270 1.417089 3.651160\nv 0.036943 0.101688 0.022517\nvn 3.325460 3.256705 1.668751\nv 0.045778 0.102906 0.021966\nvn -3.808042 1.857166 4.082424\nv 0.037154 0.103808 0.022208\nvn 4.434264 6.512885 4.396083\nv 0.044482 0.103587 0.022475\nvn 1.831600 4.021905 2.300354\nv 0.042781 0.104320 0.022847\nvn -2.619755 5.637685 3.570558\nv 0.038781 0.105717 0.022269\nvn 1.041453 2.380140 1.459588\nv 0.042193 0.105068 0.021882\nvn 2.612653 7.718775 3.445610\nv 0.040835 0.105227 0.022782\nvn -1.151255 -4.401880 2.769526\nv -0.089641 0.141505 0.022398\nvn 1.450499 -3.447039 4.621639\nv -0.087963 0.141424 0.022319\nvn 1.975439 -0.883882 2.914437\nv -0.086646 0.141471 0.021777\nvn -2.431667 -3.819526 0.805680\nv -0.091257 0.141990 0.021964\nvn -3.349985 -2.672708 6.320308\nv -0.091725 0.143004 0.022603\nvn 2.020118 -0.039171 3.418285\nv -0.086645 0.142591 0.021764\nvn -1.787326 -1.430295 2.971377\nv -0.093492 0.143786 0.021828\nvn 3.697830 2.177829 6.149545\nv -0.087915 0.143314 0.022568\nvn 1.320870 1.806857 1.997637\nv -0.086973 0.143725 0.021574\nvn -1.610405 0.348713 4.668562\nv -0.093447 0.144665 0.021916\nvn 1.593143 1.586903 1.809566\nv -0.088237 0.144553 0.022042\nvn 1.687738 4.056386 5.931045\nv -0.089728 0.145068 0.022493\nvn -0.503717 2.951473 5.783202\nv -0.091582 0.145246 0.022445\nvn 0.599830 -2.825383 -3.905671\nv 0.004758 0.056148 0.022654\nvn -0.456633 -3.503702 1.191400\nv 0.017607 0.057165 0.022323\nvn -1.340930 -0.470160 5.764736\nv 0.026919 0.058199 0.022111\nvn 1.049980 -0.559805 5.838304\nv 0.022814 0.058142 0.022140\nvn -0.843102 -4.311160 6.649743\nv 0.052328 0.058658 0.022219\nvn 1.071139 -3.488628 4.736588\nv 0.062537 0.060392 0.022671\nvn -1.643687 0.876683 6.682128\nv 0.026668 0.060506 0.022044\nvn -1.185155 -0.691021 2.600103\nv 0.047019 0.060775 0.021846\nvn -1.311235 0.567984 3.726564\nv 0.027375 0.062350 0.021901\nvn -2.412188 -0.742420 5.397689\nv 0.046727 0.062467 0.021948\nvn 1.339262 2.189985 4.756173\nv 0.032681 0.062142 0.022796\nvn 3.093238 2.359027 5.716124\nv -0.012768 0.062248 0.022735\nvn -2.211302 0.677069 7.591062\nv 0.028834 0.062409 0.022343\nvn 2.889390 2.714812 6.678017\nv 0.018975 0.062363 0.022955\nvn 2.068182 -1.312441 7.152922\nv 0.032438 0.064256 0.022550\nvn 3.882035 -3.923303 5.713057\nv 0.070143 0.064386 0.022766\nvn 2.547407 3.940134 3.623809\nv -0.022589 0.064795 0.023062\nvn -3.719214 0.855790 0.965920\nv 0.029620 0.073583 0.022200\nvn -1.476588 2.071691 1.400905\nv -0.060740 0.074796 0.022875\nvn 5.099099 -2.908115 0.288047\nv 0.042162 0.076073 0.022720\nvn 4.069920 1.049552 6.415102\nv 0.076100 0.077794 0.022489\nvn 5.859561 -3.606334 -0.225759\nv 0.043178 0.077830 0.022808\nvn 5.316672 -2.601542 -0.676331\nv 0.044259 0.079934 0.022769\nvn -4.603747 1.439603 1.216322\nv 0.032450 0.081709 0.022953\nvn 1.423373 1.581641 5.565622\nv 0.074408 0.082139 0.022338\nvn -0.853007 3.090905 7.273857\nv 0.068078 0.083924 0.022495\nvn -4.510620 1.482463 4.873726\nv 0.036469 0.099982 0.022822\nvn 0.309472 -5.945274 0.477710\nv -0.018723 0.053279 0.022463\nvn -3.238006 -1.859614 -1.314684\nv -0.065351 0.056570 0.023020\nvn 1.281250 -1.743882 6.302261\nv 0.020911 0.057845 0.022615\nvn -2.577122 -0.305595 6.242913\nv 0.028803 0.058164 0.022822\nvn -1.211622 0.437325 3.769735\nv 0.028868 0.060177 0.022577\nvn -1.190882 -2.336781 5.368807\nv 0.050531 0.060166 0.022738\nvn 1.403979 -4.339887 6.547323\nv 0.060424 0.060121 0.023076\nvn -1.027285 0.719863 -1.170917\nv 0.005983 0.061196 0.022474\nvn 2.117371 0.769050 6.542366\nv 0.020899 0.060337 0.022649\nvn -1.656552 -0.151018 3.634241\nv 0.048360 0.064392 0.022672\nvn -0.730930 3.675299 -0.403754\nv 0.009627 0.065235 0.022813\nvn 0.308265 2.418420 0.101918\nv 0.010327 0.065243 0.022788\nvn -2.389006 0.221791 5.479298\nv 0.048268 0.065918 0.022709\nvn -2.533297 2.850638 5.836517\nv 0.057953 0.075988 0.023212\nvn -1.809317 2.732316 4.949149\nv 0.062200 0.080185 0.022883\nvn 1.201224 1.748135 6.659288\nv 0.072361 0.082081 0.022656\nvn 0.364752 1.395715 4.739976\nv 0.069939 0.083866 0.022661\nvn -0.030425 -4.945462 0.556381\nv -0.020473 0.053290 0.022987\nvn 0.354774 -4.852911 0.994796\nv -0.018986 0.053346 0.023338\nvn -1.946423 -1.966852 -0.748494\nv 0.002796 0.055105 0.023126\nvn 1.465902 -2.725703 -1.794381\nv 0.004311 0.055177 0.023134\nvn -3.134419 0.401789 -2.742727\nv 0.002843 0.056034 0.022982\nvn 2.948631 -0.430016 3.807236\nv -0.012381 0.058029 0.023332\nvn -2.737308 1.818760 -2.523042\nv 0.003656 0.057843 0.023073\nvn 1.519809 -3.547666 6.152802\nv 0.018920 0.057818 0.023120\nvn -0.339102 -3.567877 7.089848\nv 0.054362 0.059799 0.023107\nvn -0.378564 -3.272996 6.115708\nv 0.056306 0.059989 0.023339\nvn 0.287738 -2.627316 4.220758\nv 0.058211 0.060092 0.023408\nvn -0.667314 -2.639982 6.331449\nv 0.052452 0.060279 0.023141\nvn 3.329916 1.016214 4.830928\nv -0.012673 0.060441 0.023235\nvn -2.640465 1.945422 0.832239\nv 0.005874 0.061292 0.023114\nvn 1.619961 -4.288032 5.227918\nv 0.066160 0.061802 0.023199\nvn -1.432220 -1.770941 1.929910\nv -0.034917 0.061645 0.023362\nvn -2.861941 2.384102 6.774720\nv 0.030613 0.060466 0.023282\nvn -0.301538 0.599067 4.861027\nv 0.030557 0.062407 0.022712\nvn -2.344313 -0.583815 5.471208\nv 0.048499 0.062370 0.022672\nvn -2.994731 2.135818 0.710841\nv 0.007885 0.063856 0.023035\nvn -0.746443 -0.759699 5.739390\nv 0.030771 0.064304 0.022784\nvn -1.483677 -3.028656 2.104001\nv -0.040732 0.065422 0.023373\nvn 0.773608 -2.215503 4.341688\nv 0.032819 0.066041 0.023236\nvn 2.049309 -1.460040 3.059806\nv 0.070720 0.065681 0.023189\nvn 3.471332 -2.410491 5.527939\nv 0.072176 0.067930 0.023232\nvn -2.883504 0.596120 -0.419200\nv -0.067187 0.067250 0.022987\nvn -1.608481 0.916664 4.631869\nv 0.050423 0.068106 0.023223\nvn 1.930596 -1.622507 1.537194\nv 0.037213 0.069262 0.023107\nvn 3.652642 -1.362841 5.776390\nv 0.074136 0.072131 0.023224\nvn -2.273115 2.919037 5.905626\nv 0.056096 0.074501 0.023365\nvn -1.681377 1.665716 1.807270\nv -0.058491 0.076267 0.023208\nvn -2.516052 3.495383 6.606699\nv 0.059907 0.077888 0.023408\nvn 3.490619 -1.873106 -0.005706\nv 0.043609 0.078485 0.023216\nvn 1.122589 3.827140 0.158190\nv -0.046023 0.078990 0.022987\nvn 1.156351 1.064623 4.683515\nv 0.074197 0.080008 0.022978\nvn 0.863322 1.253612 5.796402\nv 0.072039 0.080154 0.023175\nvn -1.006164 2.598293 5.259296\nv 0.065899 0.081965 0.023217\nvn 0.143095 2.645852 6.410106\nv 0.067750 0.081970 0.023252\nvn -3.441790 1.467770 1.011469\nv 0.035837 0.092668 0.023162\nvn -2.874275 -0.035450 3.943985\nv 0.036580 0.097812 0.023135\nvn -3.677897 1.760158 2.761842\nv 0.038052 0.103832 0.023256\nvn 2.363585 -2.397742 1.980473\nv -0.013881 0.055462 0.023288\nvn 1.377356 0.106496 3.711854\nv 0.018860 0.060052 0.023411\nvn -1.975894 -1.551846 6.490435\nv 0.050040 0.062317 0.023305\nvn 1.708653 2.398080 3.973848\nv -0.014269 0.062328 0.023442\nvn 0.821959 1.472431 2.318457\nv 0.017491 0.062730 0.023493\nvn -1.279367 -2.030972 6.280003\nv 0.030687 0.066289 0.023426\nvn -2.241879 0.873038 6.554252\nv 0.050397 0.066473 0.023481\nvn 2.157467 -1.020281 3.158796\nv 0.072733 0.069387 0.023479\nvn -5.141047 0.698424 2.888506\nv 0.029915 0.072368 0.023440\nvn -1.848016 1.826041 5.381124\nv 0.054220 0.072596 0.023454\nvn 3.243858 -0.220574 4.979535\nv 0.074670 0.074462 0.023398\nvn 2.852290 0.914652 6.197452\nv 0.074319 0.076196 0.023443\nvn 1.910938 1.111492 6.564408\nv 0.074215 0.077836 0.023346\nvn -1.402756 1.956710 4.377908\nv 0.063682 0.080225 0.023274\nvn 0.706505 1.655591 6.717949\nv 0.070221 0.081863 0.023165\nvn 0.554348 0.620176 0.667299\nv 0.045429 0.102600 0.023021\nvn 0.109621 -0.391782 4.509460\nv -0.089735 0.143077 0.023185\nvn 0.490133 -2.371965 0.750443\nv -0.022923 0.053354 0.023512\nvn 0.000000 -0.000000 0.000000\nv 0.035573 0.055847 0.023471\nvn 0.000000 0.000000 0.000000\nv 0.029960 0.058114 0.023517\nvn 0.301386 -1.955411 2.203085\nv 0.064752 0.061732 0.023512\nvn -3.075949 -0.228298 7.343288\nv 0.050140 0.063969 0.023548\nvn 1.537400 -1.719247 3.261570\nv 0.068777 0.064438 0.023528\nvn 3.090051 -2.350897 -0.003104\nv -0.045278 0.064975 0.023512\nvn 1.689914 -2.289023 2.740036\nv 0.034963 0.067489 0.023437\nvn -1.275936 0.719306 3.708580\nv 0.051627 0.068747 0.023512\nvn -2.826128 1.798322 7.230403\nv 0.052446 0.070162 0.023520\nvn -1.210221 1.998620 4.412190\nv 0.062521 0.078807 0.023538\nvn 0.314200 1.552935 4.029006\nv 0.072040 0.078438 0.023584\nvn 0.000000 0.000000 0.000000\nv -0.054773 0.078731 0.023512\nvn 1.247925 1.308775 6.725349\nv 0.070197 0.079938 0.023490\nvn -0.428075 -2.880293 -0.221123\nv -0.060814 0.053397 0.024038\nvn -0.532974 -5.174993 4.823847\nv -0.022637 0.054067 0.024718\nvn -0.369417 -6.022322 3.106022\nv -0.020866 0.053677 0.024642\nvn -1.943452 -7.581176 -0.686078\nv -0.062018 0.053644 0.024722\nvn 1.157408 -5.806718 -0.649609\nv -0.052140 0.053429 0.024584\nvn 2.493100 -5.317641 -0.905455\nv -0.050602 0.053975 0.024591\nvn -1.985360 -3.706288 4.088402\nv -0.024539 0.054447 0.024413\nvn 0.754024 -4.278356 2.237525\nv -0.018987 0.053753 0.024691\nvn 2.544953 -4.076603 4.648993\nv -0.016978 0.054424 0.024712\nvn -1.773906 -2.238322 2.696056\nv -0.026173 0.054965 0.023878\nvn -4.518205 -6.329101 -0.971168\nv -0.064206 0.054728 0.024609\nvn 3.852670 -4.408915 -0.974425\nv -0.049163 0.054908 0.024808\nvn 2.350393 -3.402338 2.571804\nv -0.015048 0.054991 0.023938\nvn -1.094144 -1.230230 1.082907\nv 0.002849 0.055168 0.023854\nvn 0.456954 -3.479996 2.111627\nv 0.004026 0.055150 0.023948\nvn -3.599108 -3.169107 -1.047485\nv -0.064923 0.055459 0.023928\nvn 5.490313 -3.960234 -1.524597\nv -0.048236 0.056093 0.024447\nvn -3.124275 -4.024628 5.986596\nv -0.026725 0.056314 0.024559\nvn -3.259476 -0.141068 3.073404\nv 0.002985 0.056140 0.024230\nvn 1.043203 -3.070717 4.716076\nv 0.004866 0.056038 0.024470\nvn -4.372181 -5.854314 2.720893\nv 0.032472 0.056102 0.024830\nvn 0.067388 -3.599691 -2.231720\nv 0.034477 0.055421 0.023918\nvn 5.683820 -0.638466 -2.051574\nv 0.036081 0.056222 0.024535\nvn 4.083440 -2.606574 6.079426\nv -0.014557 0.056322 0.024530\nvn -1.438746 -1.590732 1.995387\nv -0.028380 0.056812 0.024087\nvn 1.892922 -0.577226 2.038049\nv -0.013585 0.056947 0.024087\nvn -2.307825 -1.197694 2.587735\nv 0.031173 0.056405 0.024168\nvn -5.876493 -3.439506 -1.116508\nv -0.065746 0.056453 0.024657\nvn 0.625286 -5.708157 2.177701\nv 0.007162 0.056724 0.024530\nvn -3.786452 -4.393858 6.669931\nv -0.028745 0.058030 0.024597\nvn 3.733392 -0.168667 5.653097\nv -0.013568 0.058217 0.024139\nvn -3.508316 1.728719 2.744672\nv 0.003597 0.057849 0.024150\nvn -3.603619 0.066758 4.379358\nv 0.030851 0.058212 0.024199\nvn 5.595437 2.312264 -0.426209\nv 0.035770 0.057777 0.024598\nvn 1.143717 -4.727508 0.584206\nv 0.011377 0.057363 0.024475\nvn 1.536587 -5.167589 1.665474\nv 0.012794 0.057738 0.024921\nvn 0.930065 -3.054332 4.094958\nv 0.016495 0.058175 0.023980\nvn -4.535268 -1.742197 -1.095427\nv -0.066554 0.058257 0.024524\nvn 2.000818 -3.889311 3.833113\nv 0.014469 0.058221 0.024672\nvn 2.480976 1.367527 -0.332138\nv 0.035502 0.058399 0.023970\nvn 6.189533 -2.713628 -1.625056\nv -0.047057 0.058130 0.024662\nvn -1.526122 -1.571377 1.935659\nv -0.030560 0.058556 0.024002\nvn -3.368277 -3.594132 6.105805\nv -0.030915 0.060153 0.024766\nvn -3.577741 3.340370 2.201320\nv 0.005217 0.059752 0.024219\nvn 2.042660 0.060534 5.581728\nv 0.017114 0.060267 0.024055\nvn 3.506007 3.724630 1.288849\nv 0.034330 0.059957 0.024473\nvn -2.585633 -3.264392 4.280273\nv -0.032447 0.060482 0.024118\nvn -1.934867 1.359755 3.179024\nv 0.031290 0.059835 0.024014\nvn 3.446042 2.310518 7.896021\nv -0.014841 0.060553 0.024432\nvn -5.042982 3.375087 5.661788\nv 0.007054 0.060551 0.024587\nvn -0.672183 4.122353 4.569410\nv 0.032569 0.060319 0.024377\nvn -0.152849 -0.999389 2.757405\nv 0.053844 0.061125 0.023705\nvn -0.382991 -1.492127 3.667393\nv 0.056391 0.061022 0.023817\nvn 0.003159 -2.390654 5.491292\nv 0.058102 0.060950 0.023852\nvn 0.472651 -1.861898 3.468060\nv 0.059704 0.061045 0.023839\nvn -5.818344 -0.950513 -0.962858\nv -0.067495 0.062038 0.024435\nvn 5.552711 -1.447153 -1.674360\nv -0.046389 0.060219 0.024658\nvn -2.039941 -2.290102 2.547056\nv -0.033706 0.061125 0.023821\nvn 0.538641 -2.960242 6.257306\nv 0.060394 0.062239 0.024284\nvn -0.360191 -1.215096 3.706070\nv 0.052327 0.061475 0.023602\nvn -0.635467 -2.005902 6.606771\nv 0.054101 0.062000 0.023975\nvn 0.567475 -2.221696 3.261531\nv 0.061777 0.061475 0.023667\nvn -3.795824 -5.001625 6.316960\nv -0.034326 0.062484 0.024467\nvn 0.855168 1.286621 2.510051\nv -0.015287 0.062023 0.024046\nvn -3.764403 1.900598 2.512564\nv 0.007489 0.062056 0.024118\nvn 1.647453 1.831955 5.284812\nv 0.016492 0.062117 0.024028\nvn -0.806134 -1.748963 6.626875\nv 0.052529 0.062264 0.023830\nvn 0.454073 -3.364944 6.057830\nv 0.062362 0.062498 0.024323\nvn 0.829208 -3.908348 5.637290\nv 0.064248 0.062524 0.024192\nvn 1.696371 -2.680080 5.043591\nv 0.065989 0.062668 0.023867\nvn -1.374129 -1.908441 1.824159\nv -0.035749 0.062857 0.023934\nvn 1.546558 4.165989 6.503385\nv -0.016785 0.062320 0.024288\nvn -1.168721 -0.813128 4.760817\nv 0.051160 0.063022 0.023782\nvn -2.830092 -4.137705 4.790455\nv -0.036403 0.064052 0.024525\nvn 2.361663 3.220794 5.377203\nv 0.014266 0.062553 0.024480\nvn 1.544668 3.345023 4.585075\nv -0.022595 0.063477 0.024148\nvn 0.411511 4.115615 4.227962\nv -0.021122 0.063322 0.023945\nvn 0.415866 4.571449 3.575335\nv -0.018986 0.063478 0.023764\nvn -3.204546 4.177378 3.702367\nv 0.008960 0.064224 0.024490\nvn 1.535553 2.711745 2.119283\nv 0.014022 0.063664 0.023852\nvn -1.116639 -0.097808 3.805324\nv 0.050988 0.064363 0.023891\nvn 2.067042 -2.403686 5.088826\nv 0.067829 0.064493 0.023944\nvn -1.751460 -3.249214 3.321408\nv -0.038174 0.064770 0.024226\nvn 1.676519 4.147244 3.618917\nv 0.012695 0.063846 0.024263\nvn 3.777997 -1.147676 -0.612206\nv -0.045668 0.063750 0.024038\nvn 6.976694 -2.886645 -2.141086\nv -0.045300 0.064474 0.024797\nvn 3.259995 3.496236 6.180562\nv -0.024608 0.064237 0.024513\nvn 1.345714 5.817057 4.770391\nv 0.010840 0.064172 0.024801\nvn 3.045649 -4.526138 0.356757\nv -0.044316 0.066048 0.024346\nvn -2.337564 -5.994673 6.069839\nv -0.040412 0.066258 0.024522\nvn 1.598531 1.572049 1.851372\nv -0.024976 0.065634 0.023887\nvn -1.421011 0.452624 4.738834\nv 0.051148 0.065596 0.023861\nvn 3.362364 -2.796699 6.624455\nv 0.069739 0.066233 0.023977\nvn -4.931813 0.742330 -0.165311\nv -0.067390 0.066337 0.024394\nvn 1.294746 -4.682449 2.366756\nv -0.042705 0.066770 0.024480\nvn 3.403677 4.012969 5.790798\nv -0.026839 0.066161 0.024559\nvn -2.103368 0.583772 6.597872\nv 0.052399 0.066166 0.024063\nvn 2.438587 2.995471 2.989748\nv -0.027263 0.067335 0.023951\nvn -1.338356 -0.972520 3.497200\nv 0.030652 0.068048 0.023985\nvn -0.378485 -2.254480 5.459229\nv 0.032705 0.067836 0.024139\nvn 1.295800 -3.508650 5.818572\nv 0.034297 0.068218 0.024214\nvn -2.624713 1.119401 7.447732\nv 0.052647 0.067874 0.023919\nvn -4.873506 0.988307 -0.192549\nv -0.067257 0.067250 0.024038\nvn -5.642214 1.845698 -0.045567\nv -0.067021 0.068256 0.024825\nvn 2.821450 3.684828 3.630618\nv -0.029013 0.068120 0.024422\nvn 1.978135 -2.721330 3.592070\nv 0.035587 0.068627 0.024005\nvn 1.760376 -1.083254 3.381595\nv 0.071694 0.068475 0.023771\nvn -4.999740 3.227290 -0.176771\nv -0.066008 0.070111 0.024473\nvn -4.336960 -1.135243 6.061856\nv 0.030691 0.070201 0.024498\nvn -1.020054 0.400987 2.791270\nv 0.052940 0.069350 0.023832\nvn 3.596335 -1.400065 6.910556\nv 0.072085 0.070273 0.024060\nvn 3.192349 -3.314562 3.723149\nv 0.036290 0.069929 0.024585\nvn 2.872205 4.181684 2.987487\nv -0.030848 0.069679 0.024372\nvn 2.268633 -2.352233 2.212253\nv 0.037627 0.070575 0.024029\nvn 3.823169 4.624510 4.907498\nv -0.032413 0.070293 0.024837\nvn -0.000000 0.000000 0.000000\nv 0.053377 0.070925 0.023599\nvn -2.808496 1.945150 8.291877\nv 0.054390 0.070150 0.024218\nvn -5.968757 6.506943 0.680736\nv -0.064298 0.072030 0.024588\nvn 4.592288 -4.559987 4.474335\nv 0.038434 0.072247 0.024800\nvn 1.654509 2.151430 1.074814\nv -0.033139 0.071491 0.024086\nvn -0.827601 0.779426 2.770069\nv 0.054544 0.071975 0.023708\nvn 1.944853 -0.471276 5.596378\nv 0.072056 0.072512 0.024301\nvn 5.340169 6.542704 3.559659\nv -0.034579 0.072117 0.024580\nvn 3.444497 -2.843337 2.120607\nv 0.039515 0.072764 0.024095\nvn -1.681400 2.335856 0.746184\nv -0.063118 0.073025 0.023862\nvn -5.010838 0.087359 4.671404\nv 0.030939 0.072497 0.024879\nvn -2.844570 2.672940 8.082981\nv 0.056116 0.072520 0.024097\nvn 4.992579 6.677990 2.684661\nv -0.036903 0.073880 0.024634\nvn -4.061516 0.348089 2.832716\nv 0.030929 0.073998 0.024686\nvn 6.457039 -4.794037 3.744237\nv 0.040541 0.074420 0.024436\nvn 2.274412 -0.343505 5.475184\nv 0.073735 0.074223 0.023898\nvn -3.612126 5.869290 0.790949\nv -0.062342 0.073450 0.024694\nvn -0.909970 1.025531 2.641902\nv 0.056556 0.073852 0.023834\nvn -3.089556 5.857481 1.810636\nv -0.060440 0.074411 0.024241\nvn -1.900532 2.611307 7.262141\nv 0.058281 0.073970 0.024250\nvn -4.591689 7.416828 4.188100\nv -0.057990 0.075499 0.024517\nvn 3.900028 5.480269 1.407532\nv -0.038870 0.075387 0.024509\nvn -5.694509 2.055663 3.305966\nv 0.030960 0.076136 0.024336\nvn 5.139251 -3.769675 2.462371\nv 0.042122 0.076501 0.024401\nvn 1.576410 0.540768 3.553530\nv 0.073778 0.075761 0.023832\nvn -1.992083 2.193630 7.362329\nv 0.060173 0.076086 0.024164\nvn 3.218313 4.977349 0.830415\nv -0.040843 0.076622 0.024612\nvn 1.504174 1.584289 7.566983\nv 0.072294 0.076005 0.024242\nvn -2.244514 3.200949 3.105563\nv -0.055793 0.077598 0.024175\nvn -5.276421 1.694729 2.211818\nv 0.031358 0.077726 0.024307\nvn 4.598832 -3.014456 2.105867\nv 0.042917 0.077828 0.024736\nvn 0.950370 2.060328 6.889570\nv 0.070186 0.077849 0.023892\nvn 0.937176 1.105199 4.747104\nv 0.072495 0.077342 0.023793\nvn 3.122329 6.226223 0.504483\nv -0.042599 0.077658 0.024833\nvn -0.629807 1.213552 2.579782\nv 0.060766 0.077592 0.023860\nvn -1.348504 2.719512 6.218053\nv 0.062584 0.077879 0.024004\nvn 0.004828 0.799617 1.132511\nv 0.070877 0.077925 0.023687\nvn -3.218309 7.134930 4.114664\nv -0.054263 0.078187 0.024584\nvn 3.269762 -2.051107 0.727050\nv 0.043546 0.078555 0.024320\nvn 1.665339 4.687929 0.316548\nv -0.044448 0.078488 0.024563\nvn 6.696226 -3.621881 1.644554\nv 0.044221 0.079961 0.024439\nvn -1.800952 2.576010 6.240603\nv 0.064422 0.079609 0.023807\nvn 0.787969 0.818286 3.806465\nv 0.069586 0.079235 0.023833\nvn -0.951651 3.592417 1.349203\nv -0.052556 0.079126 0.023981\nvn -0.705439 6.606473 1.953335\nv -0.050393 0.079166 0.024577\nvn 1.607488 7.766738 0.522504\nv -0.046606 0.079091 0.024796\nvn 1.054076 3.843567 0.194412\nv -0.045819 0.078930 0.024340\nvn -6.703357 2.254276 3.594030\nv 0.032400 0.079954 0.024830\nvn 1.022319 1.842209 7.682053\nv 0.067827 0.080031 0.023932\nvn 0.711002 1.308556 4.756928\nv 0.068952 0.080550 0.023570\nvn -5.156598 1.877982 2.303228\nv 0.032918 0.081905 0.024396\nvn -0.073550 1.448802 3.667459\nv 0.066467 0.080987 0.023768\nvn 6.200799 -2.832170 0.852110\nv 0.045033 0.081640 0.024638\nvn -5.223765 0.391533 2.402131\nv 0.033426 0.084183 0.023915\nvn 5.491212 -2.285805 0.280318\nv 0.046075 0.084107 0.024438\nvn -6.356998 -1.787739 4.187324\nv 0.032995 0.086227 0.024535\nvn 6.396675 -2.587922 0.162168\nv 0.046893 0.086080 0.024650\nvn -6.903346 1.994906 2.856521\nv 0.032959 0.087654 0.024559\nvn 3.650464 -1.520023 -0.468466\nv 0.047382 0.087258 0.023979\nvn -2.534978 1.269314 0.641643\nv 0.033394 0.088966 0.024274\nvn 6.739377 -1.329721 0.558256\nv 0.048127 0.089709 0.024685\nvn -6.621601 3.932680 1.512948\nv 0.034126 0.089961 0.024669\nvn -3.270968 2.265037 0.391855\nv 0.035096 0.091429 0.024610\nvn 5.760907 -0.358138 1.162485\nv 0.048483 0.092028 0.024653\nvn -6.073117 3.284186 0.533033\nv 0.035809 0.092447 0.024444\nvn -4.606938 1.769534 0.437173\nv 0.036658 0.094133 0.024666\nvn 3.781447 0.281911 1.048620\nv 0.048455 0.094041 0.024717\nvn 6.387249 1.057606 2.382263\nv 0.048176 0.096056 0.024673\nvn -5.656498 1.307509 0.963230\nv 0.037161 0.095734 0.024710\nvn -7.001238 1.148989 2.675169\nv 0.037600 0.097953 0.024335\nvn -5.108890 1.080782 2.705766\nv 0.037759 0.099579 0.024716\nvn 2.313470 1.323288 1.167034\nv 0.047545 0.099275 0.023862\nvn 5.378425 3.772769 4.334641\nv 0.046579 0.099811 0.024760\nvn -4.958219 1.571613 2.970917\nv 0.038186 0.101519 0.024612\nvn 2.441968 2.371192 1.996213\nv 0.045944 0.101025 0.024429\nvn 4.693521 5.641078 5.124596\nv 0.044604 0.101858 0.024710\nvn -4.042941 3.499051 3.932845\nv 0.038902 0.103561 0.024615\nvn 1.501945 2.078468 1.547042\nv 0.043998 0.102849 0.024036\nvn 3.986171 6.651684 4.493619\nv 0.042425 0.103477 0.024611\nvn 0.784316 4.302779 3.352027\nv 0.040876 0.104325 0.024700\nvn -0.764021 3.522517 2.621285\nv 0.039390 0.105005 0.023986\nvn 0.524385 2.493685 1.327493\nv 0.040339 0.104903 0.024095\nvn -0.029526 -5.987998 -0.235984\nv -0.056873 0.053324 0.024213\nvn 0.033897 -5.994666 -0.125090\nv -0.055473 0.053356 0.024213\nvn 0.117704 -4.981977 -0.207398\nv -0.053723 0.053335 0.024213\nvn 0.571219 -5.269257 2.205494\nv 0.009030 0.057000 0.024690\nvn 3.408233 -1.834340 -0.877733\nv -0.047423 0.057559 0.024103\nvn 2.018117 0.597949 3.374449\nv -0.013648 0.059900 0.023971\nvn -4.723303 -1.271464 -0.977417\nv -0.067028 0.059781 0.024489\nvn -0.628484 -2.011535 5.590158\nv 0.056002 0.062263 0.024244\nvn 0.760593 3.285239 6.003052\nv -0.019017 0.062223 0.024751\nvn -1.248160 -0.786336 5.752694\nv 0.053771 0.064252 0.024499\nvn -1.171826 -0.262340 5.841098\nv 0.052427 0.064416 0.024179\nvn 1.441638 -1.832677 5.482194\nv 0.066115 0.064391 0.024547\nvn -7.915540 0.146276 -0.818875\nv -0.067683 0.064169 0.024639\nvn 2.301694 -1.627248 5.264819\nv 0.070176 0.068038 0.024342\nvn 1.942547 -0.785535 6.604098\nv 0.070060 0.069911 0.024785\nvn 0.902317 -0.021289 3.868209\nv 0.072053 0.074123 0.024445\nvn -0.778491 0.919705 3.811754\nv 0.060034 0.074175 0.024533\nvn 2.643956 -2.019584 2.186666\nv 0.041217 0.075846 0.025071\nvn 0.276830 1.139001 5.862988\nv 0.070190 0.075848 0.024315\nvn 0.438916 0.473771 3.935842\nv 0.068200 0.075848 0.024404\nvn 0.852365 0.817964 5.868481\nv 0.068413 0.077882 0.024214\nvn -0.807205 1.796833 6.653820\nv 0.064466 0.077875 0.024410\nvn -0.071488 6.892277 0.879902\nv -0.048342 0.079204 0.024913\nvn -0.593620 1.711053 5.638453\nv 0.066090 0.079784 0.024143\nvn -5.727327 0.094535 3.609852\nv 0.033941 0.084181 0.024897\nvn 7.342688 -2.598284 0.444540\nv 0.047706 0.087982 0.024757\nvn 6.379014 2.671888 3.638776\nv 0.047754 0.097802 0.024550\nvn -1.863398 -2.311454 6.176067\nv -0.024792 0.056199 0.025284\nvn -1.035336 -4.708781 -0.711446\nv 0.034227 0.055188 0.025030\nvn 1.403597 -2.433573 -1.302370\nv 0.035951 0.055175 0.024860\nvn -1.310642 0.454772 3.651537\nv 0.004777 0.058118 0.024632\nvn 0.658277 -3.711379 0.893794\nv 0.010409 0.057206 0.025032\nvn 2.441009 0.391599 5.396072\nv -0.014776 0.058098 0.024836\nvn 2.496811 0.484141 6.363541\nv 0.014880 0.060355 0.024839\nvn -3.477841 1.033534 5.685726\nv 0.032335 0.058484 0.025140\nvn -4.841828 -1.027632 -0.591957\nv -0.067303 0.060458 0.025081\nvn -2.004494 -3.038682 6.988622\nv -0.032658 0.062376 0.025121\nvn 6.320123 -1.926285 -1.959082\nv -0.045823 0.062489 0.025013\nvn -3.615129 2.632418 4.875772\nv 0.008696 0.062380 0.025072\nvn -0.235369 -2.270097 6.608386\nv 0.057862 0.062636 0.024473\nvn 0.581689 2.596901 5.269215\nv -0.022893 0.062098 0.025025\nvn 0.205839 2.326245 4.287114\nv -0.020755 0.062243 0.024948\nvn 2.804994 2.935508 5.574649\nv 0.013041 0.062148 0.025153\nvn -0.865388 -1.681251 7.753690\nv 0.055967 0.064212 0.024784\nvn 0.913161 -1.909353 5.549688\nv 0.064371 0.064159 0.024916\nvn 1.526796 2.011837 5.398015\nv -0.024266 0.062164 0.025243\nvn -1.702958 -3.194283 4.748272\nv -0.038566 0.065885 0.025030\nvn -1.227036 -0.224553 4.784626\nv 0.054105 0.065978 0.024767\nvn 1.792212 -1.856488 5.395087\nv 0.067810 0.065979 0.024614\nvn 2.780972 2.880611 6.789591\nv -0.028577 0.066335 0.025286\nvn -1.888988 0.700310 5.596321\nv 0.054292 0.068005 0.024685\nvn 2.672121 2.913048 5.670364\nv -0.030663 0.068350 0.025294\nvn 0.971668 -2.903296 5.090183\nv 0.034587 0.070079 0.025233\nvn -1.484012 1.018622 5.669398\nv 0.056102 0.070066 0.024823\nvn 1.140882 0.164120 5.778195\nv 0.070066 0.072020 0.024964\nvn 1.458195 1.925643 1.660771\nv -0.035972 0.072858 0.025262\nvn -1.091295 1.309284 4.672308\nv 0.057768 0.071981 0.024838\nvn 1.601927 2.225240 1.004483\nv -0.038013 0.074699 0.024955\nvn 0.617982 1.290432 7.825063\nv 0.068153 0.074201 0.024672\nvn 0.546753 0.685029 5.857278\nv 0.070187 0.074240 0.024714\nvn -1.549330 3.616111 0.534573\nv -0.059090 0.074848 0.024868\nvn -1.012089 1.600857 5.682579\nv 0.062455 0.076187 0.024585\nvn 0.921601 1.179737 7.822276\nv 0.066322 0.076125 0.024708\nvn -2.523787 3.563350 2.293313\nv -0.056373 0.076372 0.024976\nvn 0.235048 0.771995 4.906671\nv 0.066219 0.077892 0.024526\nvn -3.249287 0.941822 2.118718\nv 0.031825 0.078013 0.024960\nvn -0.905700 3.511564 1.638179\nv -0.052457 0.078630 0.025101\nvn 3.514571 -1.617796 0.842197\nv 0.045535 0.082858 0.024933\nvn -3.353325 1.059401 1.891903\nv 0.033631 0.082942 0.024923\nvn -2.130345 -0.699839 1.909222\nv 0.033814 0.085548 0.025045\nvn -0.190450 -5.957185 -0.137107\nv -0.058623 0.053305 0.024913\nvn 0.209454 -3.976552 -0.083000\nv -0.052673 0.053327 0.025087\nvn 2.652641 -1.063076 6.162634\nv -0.016219 0.056367 0.025440\nvn -2.283406 -1.566828 6.236687\nv -0.028852 0.060052 0.025472\nvn -2.305548 -0.479462 7.085868\nv 0.006911 0.058076 0.025241\nvn 1.388606 1.527987 6.573499\nv -0.016941 0.060116 0.025216\nvn -2.123611 -3.173978 6.942786\nv -0.034703 0.064240 0.025381\nvn -0.228914 -0.926886 3.869977\nv 0.057927 0.064176 0.024969\nvn -0.066105 -1.859735 6.696240\nv 0.060433 0.064036 0.024985\nvn 0.157543 -1.175322 4.791095\nv 0.062611 0.064325 0.025135\nvn 0.726181 -1.231441 5.778989\nv 0.066148 0.066583 0.025190\nvn 0.012589 -2.969894 2.539527\nv -0.042145 0.067263 0.025096\nvn -0.065933 -3.370673 3.539395\nv -0.040919 0.067578 0.025432\nvn 1.478919 -1.004332 5.678195\nv 0.068209 0.067976 0.025084\nvn -0.982303 0.533885 4.830256\nv 0.056057 0.068281 0.025098\nvn -0.949675 -2.932456 6.184248\nv 0.032610 0.069954 0.025124\nvn 0.956631 -1.530430 2.324719\nv 0.036568 0.071201 0.025352\nvn -0.994446 1.562786 6.735487\nv 0.060212 0.072077 0.025148\nvn 2.965087 -2.600254 3.036009\nv 0.039217 0.073709 0.025353\nvn 0.364110 0.461396 4.912226\nv 0.067999 0.072193 0.025146\nvn -1.007357 1.262145 5.771920\nv 0.062312 0.074320 0.024997\nvn -0.116606 0.948823 3.850539\nv 0.064341 0.076154 0.024892\nvn 0.000000 -0.000000 -0.000000\nv -0.051182 0.079000 0.024913\nvn -3.811861 1.069409 0.189669\nv 0.037479 0.097525 0.025350\nvn -1.425522 -1.647669 6.493308\nv -0.026811 0.058115 0.025376\nvn 1.129209 0.811636 4.698070\nv -0.016640 0.058466 0.025448\nvn 1.936129 1.744244 6.358137\nv -0.026507 0.064101 0.025385\nvn -1.552185 -2.915534 4.932619\nv -0.036715 0.065573 0.025482\nvn -0.385569 -0.878048 6.906277\nv 0.058016 0.066022 0.025274\nvn 0.552704 -0.824313 5.887203\nv 0.064295 0.066041 0.025226\nvn -0.839953 -0.257166 5.905037\nv 0.056002 0.066142 0.025101\nvn -0.798081 0.071624 6.931890\nv 0.058219 0.068078 0.025307\nvn 0.309254 0.029326 5.957294\nv 0.064242 0.069903 0.025265\nvn 0.548182 0.179137 5.928902\nv 0.067635 0.069946 0.025287\nvn 0.141355 0.285261 4.970304\nv 0.066040 0.070069 0.025262\nvn -0.879685 0.554632 5.870245\nv 0.058191 0.069942 0.025324\nvn 0.674400 0.131232 6.937024\nv 0.064421 0.072091 0.025387\nvn 0.465552 0.504748 5.922621\nv 0.066116 0.072430 0.025088\nvn -0.380564 0.707125 5.921200\nv 0.062419 0.072104 0.025415\nvn 0.798460 0.399334 4.912605\nv 0.065888 0.074119 0.025070\nvn -0.037175 1.035381 6.845310\nv 0.064213 0.074099 0.025321\nvn 2.003806 2.582878 2.286996\nv 0.043045 0.102420 0.025431\nvn -0.173440 -4.981344 -0.169499\nv -0.059323 0.053304 0.025612\nvn 1.367633 -7.793519 0.030548\nv -0.051947 0.053387 0.026225\nvn 2.270272 -4.381633 -0.176793\nv -0.050522 0.053827 0.026354\nvn -1.526096 -5.724815 -0.290370\nv -0.062094 0.053618 0.026458\nvn -3.354466 -5.411957 -1.563416\nv -0.064262 0.054413 0.026539\nvn -0.742529 -2.083799 5.203084\nv -0.020891 0.054785 0.025785\nvn 0.608266 -2.633129 3.798858\nv -0.018984 0.054773 0.025904\nvn 2.248204 -4.350522 1.415219\nv 0.036103 0.054885 0.026633\nvn -1.973153 -3.391147 1.972939\nv 0.034444 0.055076 0.026342\nvn -5.469362 -3.357353 -1.547348\nv -0.065928 0.056169 0.026644\nvn 5.467766 -4.213767 -0.984034\nv -0.047912 0.056055 0.026049\nvn -0.726524 -1.516400 3.521978\nv -0.023315 0.055738 0.025575\nvn -3.055215 -0.444865 3.336731\nv 0.033223 0.056348 0.026169\nvn 3.334836 1.364293 1.472063\nv 0.036298 0.056438 0.026683\nvn -8.466438 -2.811260 -0.707511\nv -0.066838 0.058263 0.026394\nvn 3.317823 -2.009232 -0.955664\nv -0.047230 0.057275 0.025612\nvn -0.841580 -0.967934 3.680011\nv -0.025596 0.057573 0.025567\nvn -0.303691 -2.503822 2.694764\nv 0.008577 0.057496 0.025649\nvn -1.360082 -2.205760 5.722631\nv 0.009206 0.058128 0.026177\nvn 0.915318 -4.490913 4.380454\nv 0.010940 0.057901 0.026229\nvn -2.380609 0.478411 2.908766\nv 0.033106 0.057893 0.025810\nvn 2.811549 2.370064 1.582690\nv 0.035718 0.057827 0.026190\nvn 0.304936 0.829786 8.849946\nv -0.020957 0.058305 0.025548\nvn -0.027297 1.183414 4.848225\nv -0.018934 0.057472 0.025820\nvn 5.935357 -4.503611 -3.681822\nv -0.046296 0.058167 0.026830\nvn 0.277437 1.025167 6.825061\nv -0.019117 0.058544 0.025481\nvn 1.821347 -1.532945 4.039400\nv 0.012388 0.058699 0.026101\nvn 0.335064 0.226120 2.970887\nv -0.022161 0.058500 0.025647\nvn -0.358408 3.933660 5.211428\nv 0.034393 0.058358 0.026255\nvn 0.388782 1.496835 8.748028\nv -0.022633 0.060402 0.025589\nvn 0.432595 0.630589 3.856719\nv -0.018536 0.060098 0.025453\nvn -2.065560 0.336962 3.341344\nv 0.007999 0.059258 0.025549\nvn 4.250852 -1.322739 -3.648613\nv -0.045842 0.060143 0.026192\nvn 0.547665 1.228261 6.746484\nv -0.020608 0.060386 0.025565\nvn 3.035288 0.758849 6.124155\nv 0.012483 0.060396 0.026070\nvn -3.036242 0.868422 5.823655\nv 0.008926 0.060197 0.026248\nvn 0.831022 1.089109 5.784271\nv -0.024180 0.060791 0.025613\nvn -1.304719 -1.445745 5.629792\nv -0.030908 0.062037 0.025525\nvn 3.379379 -1.034308 -1.679912\nv -0.045688 0.062000 0.025788\nvn 0.786902 0.816193 3.800459\nv -0.025636 0.062043 0.025711\nvn -0.900693 1.202497 2.039961\nv 0.009439 0.061970 0.026152\nvn 5.813237 -1.412446 -4.978521\nv -0.044752 0.062514 0.026788\nvn 1.204992 1.359619 4.607492\nv -0.025723 0.062725 0.025552\nvn -6.948947 -0.548293 -0.058282\nv -0.067703 0.062383 0.026634\nvn 0.835619 3.518105 7.316583\nv 0.011138 0.062217 0.026166\nvn -0.798065 1.713933 3.247601\nv 0.010257 0.063189 0.025647\nvn -0.537194 -0.969346 2.768102\nv -0.033172 0.063866 0.025644\nvn 4.026945 -0.971872 -2.581497\nv -0.044459 0.064375 0.026662\nvn 1.285327 1.618889 4.510196\nv -0.027683 0.064762 0.025529\nvn 0.984201 0.778777 7.737120\nv -0.028935 0.064117 0.025895\nvn 5.337242 -3.640725 -1.261547\nv -0.043917 0.066019 0.026347\nvn 0.141264 -0.871225 7.931744\nv 0.062337 0.066025 0.025304\nvn -6.870085 1.207845 0.132877\nv -0.067551 0.065935 0.026118\nvn -0.169711 -0.399517 3.955223\nv 0.060071 0.066696 0.025448\nvn -1.307160 -3.358515 5.925185\nv -0.038919 0.068075 0.026215\nvn 0.038230 -0.233536 5.974166\nv 0.064347 0.068058 0.025370\nvn 5.239855 -5.703182 3.192127\nv -0.042398 0.068026 0.026417\nvn -0.120874 -0.266537 6.962285\nv 0.060657 0.067949 0.025573\nvn 0.383213 -0.178986 4.968569\nv 0.062914 0.068329 0.025394\nvn 0.255197 -0.127834 5.926212\nv 0.066282 0.068182 0.025454\nvn 0.231556 -2.769877 4.028739\nv -0.040517 0.068416 0.026184\nvn -5.562267 4.102469 0.631135\nv -0.065975 0.070081 0.026538\nvn -0.353250 0.461063 4.949785\nv 0.060348 0.070121 0.025510\nvn 0.388787 -0.032234 5.955284\nv 0.062519 0.070066 0.025563\nvn 1.404798 1.230044 2.254889\nv -0.033128 0.069610 0.025857\nvn -2.059785 -1.166068 4.260656\nv 0.031833 0.071411 0.025484\nvn 1.170211 0.489956 0.619204\nv -0.034123 0.070963 0.025641\nvn 1.800987 2.131493 2.751480\nv -0.034755 0.071171 0.025885\nvn -2.047583 -1.379384 5.291775\nv 0.032635 0.072508 0.026100\nvn 3.515276 3.548586 5.858880\nv -0.036508 0.071958 0.026448\nvn -2.689654 2.913860 0.365741\nv -0.064253 0.071978 0.026266\nvn 1.594660 -2.108619 2.893260\nv 0.037747 0.072711 0.025789\nvn -4.067323 5.630245 0.712079\nv -0.063045 0.072877 0.026682\nvn 2.747010 -2.886660 4.409349\nv 0.038240 0.074134 0.026397\nvn 4.522840 4.473781 4.411203\nv -0.038504 0.073964 0.026592\nvn -2.694189 6.416370 0.587584\nv -0.060627 0.074188 0.026581\nvn 2.860479 -2.443621 3.249169\nv 0.039742 0.074874 0.025796\nvn 0.000000 0.000000 0.000000\nv 0.031679 0.074676 0.025622\nvn -0.958711 2.691315 0.486205\nv -0.057806 0.075100 0.025857\nvn -3.467470 -0.352891 4.687717\nv 0.032468 0.074270 0.026334\nvn 1.834693 2.062140 0.981013\nv -0.039288 0.075315 0.025862\nvn 2.873901 -2.497857 3.203489\nv 0.040461 0.076345 0.026265\nvn -4.211687 7.667278 1.312617\nv -0.056478 0.075657 0.026547\nvn -2.044724 1.111900 1.798384\nv 0.031677 0.076087 0.025426\nvn 5.196252 6.254992 3.194239\nv -0.040584 0.075867 0.026667\nvn -3.521161 0.585124 4.307230\nv 0.032995 0.075925 0.026829\nvn -3.271870 5.809090 1.693165\nv -0.054168 0.077172 0.026601\nvn -4.610639 1.079453 3.646381\nv 0.032866 0.077986 0.026409\nvn 2.514580 -2.157823 2.195598\nv 0.042046 0.077854 0.025998\nvn 3.847154 5.465491 1.196053\nv -0.042732 0.077540 0.026482\nvn 2.806047 7.373490 1.043195\nv -0.044583 0.078407 0.026648\nvn -1.821055 5.296839 2.014480\nv -0.052495 0.078009 0.026409\nvn 5.588447 -4.554845 5.127026\nv 0.042839 0.079845 0.026826\nvn 3.005932 -1.975952 1.582071\nv 0.043865 0.080433 0.026080\nvn -6.905226 1.889700 3.421171\nv 0.034204 0.081915 0.026584\nvn 6.596340 -3.902965 4.468418\nv 0.044450 0.082036 0.026572\nvn 6.270329 -3.115507 3.439910\nv 0.045856 0.084399 0.026363\nvn -3.631336 0.469758 1.424288\nv 0.034743 0.083967 0.026431\nvn -7.395324 -0.629169 4.366340\nv 0.034695 0.085966 0.026446\nvn 5.121624 -1.888577 2.104260\nv 0.046559 0.086044 0.026546\nvn 5.808046 -2.037322 2.864609\nv 0.046955 0.087662 0.026789\nvn 2.620419 -0.900941 0.783090\nv 0.047600 0.088192 0.025846\nvn -5.550501 0.032489 4.017940\nv 0.034393 0.088006 0.026751\nvn -4.903834 1.925133 2.785408\nv 0.034760 0.089871 0.026414\nvn 6.207053 -0.915797 2.785322\nv 0.047697 0.089612 0.026259\nvn -5.827803 2.898402 2.036859\nv 0.035253 0.091312 0.026176\nvn 6.008199 0.073056 3.306624\nv 0.047911 0.091487 0.026182\nvn -5.976566 2.552996 1.892523\nv 0.036481 0.093738 0.026494\nvn -6.376720 1.816365 1.526737\nv 0.037177 0.095803 0.026486\nvn 5.442106 1.534625 4.059853\nv 0.047440 0.095599 0.026087\nvn 2.058517 1.143616 1.698669\nv 0.047254 0.097350 0.025612\nvn -5.296915 1.794809 1.759239\nv 0.037751 0.097843 0.026582\nvn 4.495183 2.639192 4.524551\nv 0.046532 0.097327 0.026357\nvn -5.152245 1.711180 2.206635\nv 0.038380 0.099638 0.026593\nvn -4.584736 2.120444 3.035620\nv 0.039060 0.101537 0.026217\nvn 0.500464 0.494793 0.746353\nv 0.045327 0.100675 0.025362\nvn 4.027686 5.075774 6.137681\nv 0.042615 0.101442 0.026714\nvn -3.178209 2.209587 2.906928\nv 0.039396 0.102833 0.025875\nvn 2.031664 3.199093 3.169777\nv 0.042177 0.102775 0.025796\nvn -0.092691 4.059683 3.619100\nv 0.040506 0.103304 0.026198\nvn 0.132932 -7.998345 0.056090\nv -0.056698 0.053349 0.026313\nvn -0.005144 -5.997724 0.101746\nv -0.054423 0.053379 0.025962\nvn 3.130576 -3.838684 -0.245973\nv -0.048804 0.054993 0.026692\nvn -0.853626 -1.165191 6.669663\nv -0.022544 0.056264 0.025803\nvn -0.195265 0.215703 4.956632\nv -0.020995 0.056386 0.025849\nvn 0.731340 -0.625769 7.523438\nv -0.018715 0.056043 0.026127\nvn 0.742331 0.154941 3.767443\nv -0.017337 0.056772 0.025936\nvn -0.638080 -0.465580 5.908700\nv -0.024226 0.058045 0.025738\nvn 0.252883 0.354068 6.953256\nv -0.022845 0.057722 0.025800\nvn 0.881378 0.969386 4.681683\nv -0.017236 0.057455 0.025821\nvn -0.308659 -0.448292 3.928153\nv -0.026715 0.060168 0.025832\nvn 0.028405 -0.091081 6.941596\nv -0.024826 0.059638 0.025763\nvn 0.155874 0.192679 2.914524\nv -0.021173 0.060075 0.025679\nvn -0.872521 -0.187287 1.692335\nv -0.028698 0.060950 0.025727\nvn 0.497773 0.295727 8.831141\nv -0.026715 0.061845 0.025853\nvn -0.710552 -0.142481 6.578235\nv -0.028385 0.062434 0.025933\nvn 1.272591 1.021725 2.423707\nv 0.012070 0.061904 0.025907\nvn -0.391754 -0.506034 3.918470\nv -0.030273 0.062758 0.025787\nvn -0.362295 -1.040945 6.818353\nv -0.030807 0.064371 0.025945\nvn 0.850819 0.613608 3.775551\nv -0.027561 0.064012 0.025759\nvn -0.665312 -1.701036 5.674900\nv -0.032649 0.064417 0.025892\nvn -3.967899 0.203074 0.089192\nv -0.067773 0.064275 0.026456\nvn -0.632639 -1.143431 3.752323\nv -0.033948 0.064910 0.025831\nvn -0.770787 -1.702498 5.654057\nv -0.034260 0.066200 0.026165\nvn 1.462238 1.102901 6.621661\nv -0.030783 0.066139 0.026009\nvn 0.912369 0.663996 2.747212\nv -0.029223 0.065675 0.025736\nvn -0.855057 -2.295588 5.402744\nv -0.036762 0.066748 0.026048\nvn -0.795443 -1.742877 3.483249\nv -0.037884 0.067076 0.025982\nvn 1.118691 0.789928 3.703066\nv -0.031323 0.067425 0.025892\nvn 2.239319 1.640787 6.216364\nv -0.032650 0.068053 0.026162\nvn -6.455845 2.479985 0.620813\nv -0.066953 0.068213 0.026810\nvn 3.044721 2.086038 6.022343\nv -0.034443 0.070000 0.026263\nvn -0.706518 -1.419917 3.645513\nv 0.032902 0.071100 0.025683\nvn 1.339936 -2.511374 3.951589\nv 0.036523 0.072402 0.026132\nvn -2.199897 6.521878 0.707942\nv -0.058904 0.074783 0.026384\nvn -1.581336 6.568327 1.698952\nv -0.050712 0.078522 0.026655\nvn 5.155627 0.560680 2.921762\nv 0.047897 0.093675 0.025962\nvn 2.279512 1.737329 2.734668\nv 0.045960 0.099069 0.025944\nvn -0.468921 -4.961939 -0.016152\nv -0.060373 0.053335 0.026313\nvn -1.339897 1.150618 5.304945\nv 0.034619 0.056460 0.027257\nvn 3.688991 -3.080226 -1.133091\nv -0.047395 0.056661 0.026843\nvn -4.879718 -0.930729 -0.016839\nv -0.067434 0.060213 0.026993\nvn 0.342898 0.041756 5.672959\nv 0.010789 0.060266 0.026729\nvn 0.429075 -0.612494 7.824629\nv -0.032520 0.066152 0.026243\nvn 0.099502 -2.974235 6.257644\nv 0.034716 0.072358 0.026355\nvn 2.556917 0.256566 7.126647\nv -0.038287 0.072029 0.027251\nvn 1.299295 -2.958546 6.123222\nv 0.036747 0.074223 0.026991\nvn -1.898969 3.489845 0.369843\nv -0.061964 0.073509 0.027047\nvn 2.981397 -3.651084 6.344884\nv 0.038738 0.076011 0.027239\nvn -1.626589 2.487270 0.255182\nv -0.055010 0.076628 0.026687\nvn 4.811590 -4.526994 5.945073\nv 0.041111 0.077685 0.026701\nvn 0.647322 4.865682 0.711761\nv -0.046431 0.078893 0.026827\nvn 2.900441 -1.469707 2.279247\nv 0.044896 0.083365 0.027077\nvn -3.203523 1.270527 1.994732\nv 0.035994 0.092045 0.027042\nvn 4.263547 2.139501 5.049925\nv 0.046508 0.096032 0.026958\nvn 5.153820 4.608430 7.165349\nv 0.044465 0.099585 0.026660\nvn 1.620994 1.564237 1.965830\nv 0.043843 0.100941 0.026190\nvn -1.951156 4.137722 5.439093\nv 0.040388 0.101951 0.027207\nvn -2.677885 -2.232461 -1.197650\nv -0.065301 0.055173 0.026743\nvn 4.073545 -1.001101 -5.514128\nv -0.044552 0.060091 0.027245\nvn 0.539610 -0.622432 6.785857\nv -0.034368 0.067979 0.026495\nvn -0.318629 -1.841600 5.644380\nv -0.036707 0.068026 0.026542\nvn 2.372758 -3.222841 6.521451\nv -0.040719 0.069948 0.027163\nvn 0.025749 -1.660935 5.628882\nv -0.038577 0.070067 0.027128\nvn 1.178241 0.042278 5.741964\nv -0.036495 0.069839 0.026876\nvn 1.626059 2.225575 0.847681\nv -0.041800 0.076841 0.026837\nvn -0.346942 4.848618 0.982942\nv -0.048561 0.078941 0.026860\nvn -4.812796 0.979977 3.336044\nv 0.034157 0.079984 0.027249\nvn 2.635232 1.825585 3.826114\nv 0.045133 0.097788 0.027197\nvn 2.259038 -1.535147 -0.907044\nv -0.043364 0.066725 0.027013\nvn -1.333794 -2.597879 7.148243\nv 0.034698 0.074107 0.027147\nvn 5.152618 1.044268 4.579485\nv 0.046908 0.094109 0.027167\nvn -0.047184 -5.995217 0.129933\nv -0.058273 0.053311 0.027362\nvn 0.660296 -4.857237 0.757205\nv -0.052331 0.053471 0.028510\nvn -1.372676 -5.714014 0.450085\nv -0.062605 0.053606 0.028500\nvn 2.969844 -7.201090 0.278554\nv -0.050417 0.053977 0.028501\nvn -4.783385 -4.776739 0.242097\nv -0.065430 0.054989 0.028586\nvn -4.312218 -2.325029 0.023967\nv -0.066113 0.055969 0.028736\nvn 4.409583 -5.119411 -1.341568\nv -0.047903 0.055641 0.028421\nvn 3.317977 -5.589723 -4.100277\nv -0.046749 0.056559 0.028686\nvn 1.988811 -3.558720 -2.386027\nv -0.046031 0.057565 0.028086\nvn 2.156267 -1.275294 -3.029652\nv -0.044763 0.058359 0.027537\nvn -6.662655 -1.209287 1.259502\nv -0.067382 0.060447 0.028716\nvn -7.802794 0.612148 1.361127\nv -0.067555 0.064329 0.028665\nvn 6.996141 -1.020727 -1.978843\nv -0.042738 0.066132 0.028673\nvn -6.259516 0.814225 1.823879\nv -0.067331 0.066041 0.028489\nvn 5.795698 -0.326563 0.970814\nv -0.042685 0.067946 0.028476\nvn 2.741094 -1.607620 1.855236\nv -0.042124 0.069394 0.027610\nvn 5.369487 -0.862272 3.568576\nv -0.042579 0.070338 0.028739\nvn -4.718701 4.986489 1.253024\nv -0.064232 0.071589 0.028347\nvn 3.497061 2.170190 5.332876\nv -0.039853 0.074322 0.027503\nvn -2.037570 5.571194 0.826174\nv -0.058188 0.074694 0.028748\nvn -2.310559 4.387028 0.235320\nv -0.056326 0.075469 0.028526\nvn 2.314110 1.736899 2.629186\nv -0.041345 0.075527 0.027958\nvn -1.760471 -0.738933 3.390271\nv 0.033861 0.076045 0.027525\nvn -3.409966 7.067339 0.823718\nv -0.054388 0.076664 0.028602\nvn 5.193219 4.130837 5.422964\nv -0.042549 0.076222 0.028622\nvn -4.351257 0.153072 5.232174\nv 0.033915 0.077870 0.027627\nvn 2.271212 2.775042 1.225465\nv -0.043064 0.077356 0.028131\nvn -1.016564 3.651514 1.255212\nv -0.050487 0.078013 0.028612\nvn 1.095201 6.442096 2.206715\nv -0.046146 0.078479 0.028549\nvn 3.231854 -3.496385 6.309949\nv 0.040654 0.080093 0.028526\nvn 1.986269 -1.946095 2.822199\nv 0.041997 0.080317 0.027877\nvn 2.473556 -1.627796 2.659835\nv 0.043027 0.081089 0.027537\nvn -6.239577 0.040697 2.840385\nv 0.035088 0.081951 0.028725\nvn 2.520797 -1.728388 2.543825\nv 0.044101 0.082930 0.027695\nvn -5.695123 0.788469 1.503331\nv 0.035266 0.084190 0.028362\nvn 4.337854 -2.335049 4.903904\nv 0.044004 0.084082 0.028408\nvn 2.834894 -1.302621 2.400820\nv 0.045770 0.086098 0.027781\nvn -3.286892 0.224824 1.756557\nv 0.035531 0.086535 0.027720\nvn 4.560114 -0.578052 3.816338\nv 0.046887 0.090016 0.027501\nvn 3.441114 -0.393123 3.585816\nv 0.046189 0.089829 0.028240\nvn -6.000353 2.300512 4.635538\nv 0.036460 0.090001 0.028764\nvn 3.127532 0.023522 2.424887\nv 0.047094 0.091225 0.027362\nvn 5.624764 0.411259 5.597129\nv 0.046253 0.091978 0.028214\nvn -4.392592 1.579310 3.603530\nv 0.038467 0.095978 0.028749\nvn -5.264724 2.487921 5.231086\nv 0.038842 0.097694 0.028499\nvn 2.508477 1.835660 3.908292\nv 0.044126 0.097538 0.027951\nvn -3.285746 2.002487 3.106461\nv 0.039198 0.099497 0.027907\nvn 1.456381 1.406165 2.208766\nv 0.042962 0.100238 0.027299\nvn -0.532945 -6.899538 0.741380\nv -0.060443 0.053447 0.028739\nvn 0.241219 -6.942911 0.597855\nv -0.054625 0.053385 0.028560\nvn -7.473001 -2.167560 1.106995\nv -0.066846 0.058075 0.028706\nvn 2.119394 -3.543634 -3.752864\nv -0.044292 0.057744 0.028204\nvn 4.021592 0.274884 -2.354582\nv -0.042622 0.064310 0.028620\nvn 1.865651 -0.932192 3.328233\nv -0.041123 0.071063 0.027754\nvn 2.797206 -1.291435 7.165740\nv -0.040669 0.072254 0.028063\nvn 0.977479 0.091496 2.712824\nv -0.039321 0.072457 0.027718\nvn -2.380437 4.251624 0.913239\nv -0.062052 0.073243 0.028513\nvn -2.677994 6.225318 1.464614\nv -0.060326 0.074086 0.028585\nvn -1.111323 -1.513211 5.469937\nv 0.035093 0.076400 0.027979\nvn 0.201816 -2.202382 5.426283\nv 0.036153 0.076214 0.027954\nvn 0.706764 -1.704222 3.507795\nv 0.037728 0.076704 0.027961\nvn -2.301689 7.364851 1.939230\nv -0.052405 0.077450 0.028450\nvn 1.942047 -3.006203 5.875684\nv 0.038553 0.077884 0.028278\nvn 1.196648 -1.527644 2.212937\nv 0.039941 0.078251 0.027942\nvn -0.683404 6.413136 2.518594\nv -0.048416 0.078456 0.028742\nvn -4.466640 -0.562880 5.031880\nv 0.034976 0.079821 0.028382\nvn 4.179769 -3.191196 5.944787\nv 0.042526 0.082220 0.028549\nvn -3.073459 -0.842292 2.416211\nv 0.035518 0.087235 0.027960\nvn -3.122023 0.909633 2.312886\nv 0.035491 0.088988 0.027934\nvn 2.932491 1.367263 3.763762\nv 0.045696 0.095220 0.027990\nvn 2.852988 2.771389 5.688509\nv 0.042174 0.099486 0.028252\nvn -0.185570 -4.935964 0.650877\nv -0.058623 0.053364 0.028704\nvn 0.031095 -5.951974 0.575538\nv -0.056435 0.053383 0.029112\nvn -1.814325 -3.418803 0.225853\nv -0.064411 0.054199 0.028846\nvn 1.479840 0.707443 2.079788\nv 0.035731 0.055758 0.028026\nvn 4.955634 -3.128528 -5.898839\nv -0.042566 0.058226 0.028788\nvn 3.279018 -0.305584 -3.721179\nv -0.042565 0.060172 0.028597\nvn 5.064202 1.189145 -3.753164\nv -0.042216 0.062687 0.028793\nvn 5.023462 0.294797 5.580954\nv -0.042521 0.072092 0.028774\nvn 2.487087 0.731263 4.206382\nv -0.040838 0.074033 0.028160\nvn -1.670561 -0.777925 4.466323\nv 0.034678 0.077862 0.028160\nvn 2.798872 4.082392 2.725446\nv -0.044165 0.077791 0.028719\nvn 4.677513 -2.179875 5.974989\nv 0.044592 0.085926 0.028762\nvn 5.041047 -1.349829 4.595028\nv 0.045749 0.087306 0.028209\nvn 3.132286 0.780733 3.781433\nv 0.045925 0.093325 0.028348\nvn 2.921242 2.855428 5.586669\nv 0.042747 0.097768 0.028684\nvn 0.398735 2.010159 2.835712\nv 0.040689 0.101106 0.028092\nvn 1.622603 -3.441123 -0.782202\nv -0.048734 0.054863 0.029015\nvn -0.337368 -0.713189 1.364132\nv 0.035527 0.055700 0.028085\nvn -2.823380 -0.639797 0.335461\nv -0.067161 0.059200 0.028587\nvn -4.909504 -0.323218 0.683210\nv -0.067546 0.062000 0.028763\nvn -5.245293 2.478318 1.330252\nv -0.066465 0.068512 0.029094\nvn -3.902245 2.924780 0.962169\nv -0.065856 0.069663 0.028844\nvn -3.293835 4.720707 1.524636\nv -0.062778 0.072597 0.029102\nvn 3.494449 0.342796 5.975122\nv -0.042514 0.074247 0.028958\nvn -0.919388 -2.361611 7.272801\nv 0.036229 0.078110 0.028665\nvn -6.705700 1.862311 3.378388\nv 0.035762 0.086114 0.029010\nvn -6.448111 0.761467 4.308461\nv 0.036103 0.088049 0.028972\nvn -5.247426 1.797794 4.196241\nv 0.037039 0.091335 0.028954\nvn -4.696361 1.614263 3.309932\nv 0.038024 0.094142 0.028969\nvn 2.976036 1.321833 5.019341\nv 0.044801 0.094119 0.028927\nvn 3.874818 2.581495 6.476078\nv 0.044441 0.095732 0.028572\nvn -1.672108 2.215504 4.614100\nv 0.040476 0.099683 0.028793\nvn 0.957718 -2.100351 5.497448\nv 0.038769 0.079855 0.029043\nvn -1.701916 -1.115411 3.345311\nv 0.035892 0.079733 0.029087\nvn 3.035238 -2.338507 5.799354\nv 0.042797 0.083975 0.029218\nvn 3.623970 -0.878776 4.674023\nv 0.044995 0.087720 0.028972\nvn 1.513190 -5.049944 -4.258117\nv -0.044623 0.057026 0.029221\nvn 0.898626 -1.772646 -1.723111\nv -0.042876 0.057061 0.029327\nvn -3.323492 0.429844 1.351635\nv -0.066981 0.066803 0.029229\nvn -2.829472 -1.110667 3.613939\nv 0.035626 0.081099 0.029363\nvn 1.947381 -2.392652 6.222407\nv 0.040592 0.081912 0.029375\nvn 2.981109 -0.209918 3.980533\nv 0.045007 0.089885 0.029266\nvn 4.065496 0.472991 6.808923\nv 0.044936 0.091833 0.029288\nvn -2.869073 0.964234 2.607062\nv 0.037718 0.092332 0.029378\nvn 1.712883 1.336600 3.348306\nv 0.042624 0.096505 0.029319\nvn -0.133923 2.140475 3.967313\nv 0.040366 0.097973 0.029397\nvn -0.753738 -4.549875 1.711931\nv -0.062370 0.054041 0.030569\nvn 0.934003 -4.553776 0.948775\nv -0.050339 0.054222 0.030642\nvn 1.603173 -5.875667 -0.062482\nv -0.048283 0.054480 0.030783\nvn 3.104195 -5.444629 -4.097423\nv -0.044509 0.056098 0.030292\nvn 6.170978 0.190060 -2.150779\nv -0.040843 0.060358 0.030478\nvn 3.965928 1.185026 -2.070857\nv -0.041467 0.062027 0.029513\nvn -3.483440 3.306180 1.333498\nv -0.064765 0.070680 0.029573\nvn -3.146641 3.556098 1.523322\nv -0.063715 0.071485 0.030037\nvn -2.789633 5.257562 -0.018927\nv -0.058178 0.074467 0.030611\nvn 4.099691 1.853763 6.350337\nv -0.044410 0.076083 0.030109\nvn 1.474692 2.388866 2.378637\nv -0.044957 0.077501 0.029862\nvn -1.040061 6.326412 2.613213\nv -0.050277 0.077381 0.030352\nvn -2.175711 -0.541351 2.687135\nv 0.035472 0.082405 0.029761\nvn -4.194335 0.436544 3.085393\nv 0.035455 0.084212 0.029748\nvn 1.910596 -0.990861 3.317313\nv 0.043087 0.085513 0.029623\nvn 2.778221 -0.892973 5.189729\nv 0.043853 0.087860 0.029802\nvn -3.281008 0.806289 3.404379\nv 0.036937 0.087766 0.030385\nvn -3.462988 1.564251 4.518996\nv 0.039004 0.093886 0.030139\nvn -0.661219 -6.418172 2.511601\nv -0.060178 0.053850 0.030616\nvn -0.273633 -5.665722 1.799170\nv -0.058397 0.053727 0.030697\nvn 0.168026 -4.788550 1.297730\nv -0.056027 0.053624 0.030513\nvn 0.395562 -5.670630 1.809179\nv -0.054318 0.053821 0.030692\nvn 3.912223 -5.572721 -2.806108\nv -0.042365 0.056482 0.030787\nvn 3.557750 1.489106 -0.155608\nv -0.041144 0.062031 0.030930\nvn 4.749093 3.201393 0.146636\nv -0.041720 0.062884 0.030702\nvn -3.821995 2.655951 1.685768\nv -0.065503 0.069583 0.030133\nvn 5.569039 3.020766 6.042157\nv -0.044199 0.072224 0.030709\nvn 4.460723 1.217376 6.404097\nv -0.044485 0.074046 0.030314\nvn -3.087953 6.164318 0.812907\nv -0.059940 0.073703 0.030676\nvn 1.666291 0.262107 2.471309\nv -0.043573 0.074425 0.029624\nvn -2.763497 5.286434 -0.246645\nv -0.056028 0.075786 0.030489\nvn -1.392055 -1.922913 7.380065\nv 0.036513 0.081955 0.029888\nvn 0.308857 -1.378934 4.764846\nv 0.037969 0.082130 0.029916\nvn 0.000000 -0.000000 0.000000\nv 0.040427 0.082934 0.029812\nvn 1.584717 -1.788680 5.459691\nv 0.040567 0.083744 0.030024\nvn 1.149816 -0.903057 2.585317\nv 0.042335 0.084458 0.029656\nvn 3.108731 -1.731735 7.097724\nv 0.042598 0.085972 0.029948\nvn 2.434121 -0.202671 4.332026\nv 0.044044 0.089475 0.029834\nvn 1.738004 0.434573 3.549105\nv 0.043829 0.092358 0.029838\nvn -3.002500 1.119430 4.843481\nv 0.038646 0.091716 0.030532\nvn 2.611477 1.264305 6.331272\nv 0.042694 0.093661 0.030121\nvn 2.053348 1.491281 5.387496\nv 0.041976 0.095510 0.029985\nvn 0.107672 2.273807 4.779456\nv 0.040430 0.097336 0.029965\nvn -3.830020 -7.552135 4.124622\nv -0.064277 0.054613 0.030675\nvn 0.956358 -6.425278 2.329264\nv -0.052299 0.054059 0.031038\nvn 1.336555 -6.598896 -1.898456\nv -0.046392 0.054667 0.030905\nvn -1.784616 -1.728595 0.952464\nv -0.065348 0.055117 0.030360\nvn -7.622833 -4.174714 3.768981\nv -0.065954 0.056516 0.030775\nvn 0.940277 -2.095572 -1.926059\nv -0.046009 0.055600 0.030042\nvn 2.029195 -1.404818 -1.122462\nv -0.041646 0.057384 0.030314\nvn -3.609940 -0.803545 1.408211\nv -0.066443 0.058428 0.030796\nvn 6.096206 -1.949155 -1.746198\nv -0.040989 0.058328 0.031018\nvn -7.304382 -1.104642 2.917151\nv -0.066821 0.060304 0.030719\nvn -5.705382 -0.254074 1.773638\nv -0.067197 0.062438 0.030163\nvn 6.272625 2.012284 0.727376\nv -0.042368 0.064214 0.030850\nvn -3.767889 0.205337 1.261142\nv -0.067185 0.064100 0.030163\nvn -6.444814 0.786952 2.503922\nv -0.066924 0.064538 0.030794\nvn 6.614648 0.922697 1.603646\nv -0.042694 0.065988 0.030701\nvn -7.077868 2.764312 3.839982\nv -0.065992 0.068115 0.030794\nvn 7.024889 1.158037 2.898873\nv -0.043040 0.068023 0.030759\nvn 5.007768 1.097116 2.901568\nv -0.043292 0.070183 0.030604\nvn 2.168908 0.900800 1.852041\nv -0.043426 0.071625 0.030163\nvn -3.813932 5.555844 1.620576\nv -0.062351 0.072273 0.030745\nvn -1.125582 4.726233 0.427010\nv -0.054207 0.076658 0.030739\nvn -0.777803 7.338973 2.296619\nv -0.052407 0.076925 0.030950\nvn -0.457002 2.898546 0.622641\nv -0.051973 0.077111 0.030425\nvn 1.218825 4.325209 4.811888\nv -0.046477 0.077576 0.030344\nvn -0.028408 3.799396 3.038703\nv -0.048276 0.077531 0.030505\nvn 0.299917 -1.629353 6.725864\nv 0.038600 0.083951 0.030396\nvn -2.101017 -0.192736 4.964009\nv 0.036143 0.084143 0.030304\nvn -2.476558 0.047319 4.911157\nv 0.036696 0.085953 0.030499\nvn 1.824588 -0.744923 5.645380\nv 0.042424 0.087636 0.030363\nvn -3.009712 1.217352 3.527483\nv 0.037486 0.089164 0.030464\nvn -2.754308 1.252908 5.824131\nv 0.038472 0.089784 0.030871\nvn 2.072833 0.263450 5.598783\nv 0.042533 0.091750 0.030420\nvn -1.751497 1.445878 5.051295\nv 0.040405 0.095771 0.030284\nvn -4.462476 1.180928 1.823925\nv -0.066670 0.066051 0.030845\nvn -4.868055 4.231556 2.489022\nv -0.064408 0.070321 0.030987\nvn 1.239720 -1.194892 5.720757\nv 0.040637 0.085665 0.030515\nvn 2.151413 -0.088718 5.575964\nv 0.042787 0.089699 0.030392\nvn -0.198499 1.106629 5.560599\nv 0.040498 0.093884 0.030804\nvn 1.477726 -1.850253 -0.965291\nv -0.044645 0.055171 0.031047\nvn 4.444903 1.461794 3.476801\nv -0.043671 0.070210 0.031286\nvn -2.097330 3.376801 0.390727\nv -0.061073 0.072930 0.031282\nvn 2.523347 1.444107 5.216806\nv -0.046113 0.074151 0.031309\nvn 2.160357 1.553114 5.277032\nv -0.046299 0.075978 0.031051\nvn -0.059804 -0.742443 4.884425\nv 0.038444 0.086204 0.030875\nvn -1.326436 0.154922 6.673038\nv 0.038400 0.087908 0.031025\nvn 0.779776 -0.516509 4.891923\nv 0.040660 0.087779 0.030836\nvn 1.081237 -0.105368 6.834319\nv 0.040790 0.089962 0.030962\nvn 0.356050 0.491766 5.765327\nv 0.040583 0.091906 0.031005\nvn -1.556077 -1.685246 1.572994\nv -0.064836 0.055499 0.031433\nvn -5.450452 -0.103100 2.483689\nv -0.066718 0.062438 0.031329\nvn 1.965199 0.932069 3.337678\nv -0.045552 0.072876 0.031419\nvn 1.422424 3.175166 5.832662\nv -0.048220 0.076281 0.031409\nvn 0.031619 3.876871 3.031256\nv -0.050646 0.076758 0.031359\nvn 2.306343 0.281751 1.682289\nv -0.043480 0.068825 0.031562\nvn 0.078827 -6.067445 3.389993\nv -0.056098 0.054426 0.032415\nvn -1.614785 -6.083302 4.710905\nv -0.061883 0.054933 0.032131\nvn -0.707033 -4.077111 2.774045\nv -0.060327 0.055017 0.032719\nvn -0.598898 -5.030797 3.148880\nv -0.058755 0.054652 0.032566\nvn 0.868782 -4.856371 3.303215\nv -0.052402 0.054770 0.032531\nvn 1.342789 -5.378200 3.943571\nv -0.050895 0.055056 0.032214\nvn -0.079740 -4.314020 4.717063\nv -0.048406 0.055054 0.031921\nvn -0.067825 -2.753247 2.196274\nv -0.046021 0.054956 0.032340\nvn 1.895738 -4.989434 1.491167\nv -0.044466 0.055119 0.032279\nvn -0.893340 -1.925574 1.968472\nv -0.063514 0.055179 0.031909\nvn -5.472225 -6.249200 8.158537\nv -0.064402 0.056328 0.032338\nvn 2.745886 -4.107071 6.062354\nv -0.050070 0.055991 0.032619\nvn -0.079342 -1.428054 3.618323\nv -0.048430 0.056262 0.032349\nvn 2.423226 -4.879364 0.559103\nv -0.042510 0.055996 0.032548\nvn -1.848577 -1.258990 1.782755\nv -0.065302 0.056764 0.031950\nvn 4.353628 -3.345962 0.566025\nv -0.041280 0.056958 0.032358\nvn -5.226111 -1.718844 4.092716\nv -0.065535 0.058092 0.032265\nvn 3.691021 -0.846335 0.498862\nv -0.040828 0.058134 0.032577\nvn -5.496841 -1.348260 4.000474\nv -0.065910 0.060210 0.032508\nvn 6.568671 1.591069 2.300933\nv -0.040714 0.060131 0.032664\nvn 4.000556 2.112342 1.232304\nv -0.041149 0.061629 0.032148\nvn 5.494225 5.206238 5.738889\nv -0.042271 0.062386 0.032733\nvn 3.446256 1.439633 2.853750\nv -0.042895 0.063872 0.032081\nvn 3.270985 0.518049 3.342729\nv -0.043248 0.066120 0.032065\nvn -5.910139 1.536390 3.338734\nv -0.065865 0.066025 0.032473\nvn -3.240763 1.289444 1.914668\nv -0.065386 0.067630 0.032312\nvn 3.518170 1.123317 2.899071\nv -0.043336 0.067337 0.031888\nvn 3.395120 1.271747 5.413123\nv -0.044340 0.067846 0.032495\nvn -4.727802 2.314942 2.801733\nv -0.064724 0.068386 0.032772\nvn 2.463095 1.449369 5.018362\nv -0.044487 0.070038 0.032049\nvn -6.254808 3.629509 1.337389\nv -0.063898 0.069806 0.032631\nvn -4.300438 4.145833 -0.843309\nv -0.062421 0.071943 0.032588\nvn 1.478095 1.516373 3.205338\nv -0.044973 0.071625 0.031725\nvn 2.485791 2.077829 7.082022\nv -0.046470 0.071954 0.032103\nvn -2.502330 4.633594 -1.569588\nv -0.060222 0.073399 0.032732\nvn -2.983321 5.133000 -0.506112\nv -0.058309 0.074470 0.032402\nvn 1.269244 0.965743 3.655955\nv -0.046898 0.073550 0.031822\nvn -2.666771 5.289590 -0.205733\nv -0.056404 0.075849 0.032673\nvn 1.423763 1.225739 3.511920\nv -0.049164 0.075877 0.031867\nvn 2.540652 4.774851 5.051691\nv -0.050634 0.075911 0.032453\nvn -1.090472 5.714935 0.561159\nv -0.054302 0.076557 0.032564\nvn 0.810062 5.564898 1.648859\nv -0.052313 0.076414 0.032694\nvn 0.350064 -5.141582 3.011720\nv -0.054311 0.054652 0.032553\nvn -4.371138 -0.299353 2.387475\nv -0.065983 0.061825 0.032733\nvn 1.650691 0.375765 6.534596\nv -0.044227 0.066113 0.032637\nvn 1.000733 0.887662 5.796263\nv -0.046190 0.070087 0.032465\nvn -1.072183 1.945246 -1.928920\nv -0.061100 0.072892 0.032635\nvn 2.091849 0.817854 6.589905\nv -0.048345 0.071935 0.032585\nvn 2.356368 1.788921 6.302162\nv -0.048254 0.074244 0.032121\nvn -1.256389 -2.752230 2.597422\nv -0.062643 0.056055 0.033062\nvn -2.554660 -4.370575 8.210832\nv -0.046498 0.056099 0.032819\nvn 0.178911 -3.855521 2.874176\nv -0.044369 0.055634 0.033085\nvn -2.630512 -1.220874 2.723236\nv -0.064638 0.058001 0.033107\nvn 0.451243 -2.650522 6.121101\nv -0.048305 0.057976 0.033098\nvn 1.618727 1.653861 6.234901\nv -0.044200 0.064313 0.032660\nvn 0.371160 0.636449 4.882289\nv -0.046234 0.064415 0.032662\nvn -6.106102 0.409405 3.355779\nv -0.065679 0.064548 0.033287\nvn 2.644353 1.315644 6.004147\nv -0.047548 0.064421 0.032903\nvn 2.662060 1.403620 5.641452\nv -0.047938 0.066167 0.032799\nvn 0.391759 0.080329 4.967134\nv -0.046380 0.066076 0.032634\nvn 2.411423 1.286763 7.139092\nv -0.048150 0.068078 0.032707\nvn 0.584582 0.476500 6.919050\nv -0.046258 0.067949 0.032677\nvn 0.906548 0.390500 4.878568\nv -0.047979 0.070050 0.032668\nvn -2.142873 1.452180 -0.965431\nv -0.062972 0.071058 0.032963\nvn 2.679041 1.522436 5.019658\nv -0.049882 0.074247 0.032896\nvn -1.113759 -3.681715 3.169597\nv -0.060723 0.055424 0.033149\nvn 1.144708 -2.795485 2.522243\nv -0.051903 0.055441 0.033263\nvn 0.581409 3.355171 5.754450\nv -0.046395 0.062713 0.033192\nvn 0.253448 2.607329 4.062450\nv -0.044670 0.062834 0.033312\nvn 3.752174 1.006687 7.863369\nv -0.050210 0.070062 0.033172\nvn 2.306741 0.099307 4.379721\nv -0.049894 0.072153 0.033122\nvn -1.451208 -1.082943 3.428378\nv -0.046700 0.057791 0.033276\nvn 1.548169 0.980093 2.310551\nv -0.049879 0.068729 0.033353\nvn -1.496707 -4.800735 4.771510\nv -0.060237 0.056359 0.034405\nvn -0.598576 -4.838934 4.903899\nv -0.058191 0.056339 0.034909\nvn 0.475560 -5.338272 5.487812\nv -0.054236 0.056386 0.034923\nvn 2.150348 -4.298932 4.926130\nv -0.052334 0.056436 0.034421\nvn -1.641261 -3.143927 3.492153\nv -0.062157 0.056684 0.033893\nvn 1.388398 -1.585312 2.106113\nv -0.050853 0.056694 0.033771\nvn -1.100361 -2.961265 4.868013\nv -0.044102 0.056542 0.034017\nvn 2.110263 -4.075364 4.625561\nv -0.042891 0.056625 0.033996\nvn -1.052391 -1.134630 2.530347\nv -0.045531 0.056858 0.033687\nvn -3.086716 -1.745414 3.465797\nv -0.064059 0.058473 0.033873\nvn -3.820452 -4.424081 6.706906\nv -0.062363 0.058107 0.034870\nvn 4.298146 -3.848198 6.853189\nv -0.050482 0.057951 0.034343\nvn -2.725722 -1.661352 4.998671\nv -0.045924 0.058082 0.033945\nvn 4.767289 -1.732787 4.073634\nv -0.041386 0.057875 0.033737\nvn 2.034218 -1.391602 6.070198\nv -0.048365 0.060242 0.034014\nvn -1.930021 -0.726961 6.383229\nv -0.046093 0.060092 0.034263\nvn 1.805617 0.579736 1.745509\nv -0.041308 0.059845 0.033916\nvn -4.569055 -2.022061 4.764015\nv -0.064198 0.060512 0.034757\nvn 0.000000 0.000000 -0.000000\nv -0.065273 0.060425 0.033588\nvn 3.334692 2.227291 6.144058\nv -0.042374 0.060299 0.034413\nvn -4.960622 -0.596511 3.258048\nv -0.065296 0.062153 0.033893\nvn -0.273333 2.402312 6.151920\nv -0.046080 0.061726 0.033907\nvn 4.760052 1.671443 7.598943\nv -0.048531 0.062294 0.034390\nvn 1.070428 1.569362 2.034528\nv -0.042835 0.061676 0.033984\nvn 0.869035 1.442929 2.174742\nv -0.047423 0.062700 0.033417\nvn 0.539861 3.165652 4.760631\nv -0.044024 0.061869 0.034117\nvn 3.883021 1.238420 4.385716\nv -0.048806 0.064395 0.034186\nvn -5.161786 0.272309 2.951281\nv -0.065315 0.064246 0.033933\nvn -3.393958 0.592012 2.025090\nv -0.065288 0.065528 0.033686\nvn -8.133552 1.742047 2.563834\nv -0.064701 0.066115 0.034473\nvn 1.687518 1.227026 1.977728\nv -0.049254 0.066143 0.034005\nvn -5.465664 1.574575 0.566090\nv -0.064119 0.067840 0.034400\nvn 4.846192 2.570222 6.866750\nv -0.050386 0.066244 0.034855\nvn 4.087960 2.871253 6.182819\nv -0.050607 0.067890 0.034376\nvn -5.586508 0.984140 -1.061629\nv -0.063584 0.070231 0.034377\nvn 1.921263 1.355053 3.203178\nv -0.051011 0.069579 0.033757\nvn -6.131843 5.610667 -3.695530\nv -0.062952 0.072399 0.034019\nvn 2.656377 -0.215464 4.222768\nv -0.050932 0.072151 0.033750\nvn -2.107421 4.968536 -2.200695\nv -0.060092 0.074110 0.034261\nvn 4.009399 1.319504 5.360015\nv -0.051158 0.074279 0.033879\nvn -2.035365 5.345057 -0.609417\nv -0.058701 0.074682 0.034364\nvn -2.221212 4.354943 0.286563\nv -0.057643 0.075234 0.034406\nvn 2.497756 3.613229 3.724012\nv -0.052572 0.075861 0.034056\nvn -1.835391 6.965964 2.686436\nv -0.056327 0.075700 0.034800\nvn 1.045210 4.730492 2.611631\nv -0.054292 0.076023 0.034709\nvn -0.275557 -4.288650 4.011219\nv -0.055976 0.056164 0.034782\nvn 1.272944 -0.898085 4.431662\nv -0.042471 0.057867 0.034516\nvn 3.012604 0.673565 4.964024\nv -0.052390 0.070110 0.034463\nvn 4.131801 -0.754640 6.705833\nv -0.052502 0.072224 0.034813\nvn -1.401714 3.121262 -1.502118\nv -0.062066 0.073732 0.034713\nvn 2.752560 0.743274 3.924836\nv -0.052347 0.074216 0.034856\nvn -1.022189 -1.478040 5.529021\nv -0.044548 0.057983 0.034557\nvn -3.688864 0.081383 1.357356\nv -0.064997 0.064392 0.034610\nvn -2.070001 1.096692 -0.820444\nv -0.063606 0.072205 0.034791\nvn 1.552418 -1.014231 2.350885\nv -0.049857 0.060030 0.034946\nvn -0.352385 0.796326 5.731567\nv -0.044393 0.060220 0.034749\nvn -5.705064 -2.169770 4.519310\nv -0.064442 0.062070 0.035107\nvn 2.366579 1.894047 3.963654\nv -0.052451 0.068710 0.035186\nvn 2.905648 0.999190 3.927543\nv -0.050070 0.064494 0.035184\nvn 2.654961 1.204245 5.063951\nv -0.053964 0.069953 0.035351\nvn 1.475090 -0.543628 2.475561\nv -0.053591 0.071707 0.035265\nvn -1.833919 -3.646914 5.601053\nv -0.060006 0.058363 0.036054\nvn 2.044151 -3.016140 4.677426\nv -0.052368 0.057699 0.035348\nvn -3.824603 -2.850268 7.529151\nv -0.062138 0.060487 0.036192\nvn -1.579034 -1.055928 2.268544\nv -0.062986 0.059799 0.035430\nvn 3.451873 -1.706813 5.774743\nv -0.050831 0.060377 0.035711\nvn -1.743092 -1.668216 2.913585\nv -0.064089 0.062661 0.036023\nvn 2.195262 0.281175 3.263916\nv -0.049944 0.062706 0.035481\nvn -5.375634 -1.983620 3.842605\nv -0.064407 0.064410 0.036718\nvn -4.877340 0.111832 0.686473\nv -0.064583 0.066200 0.036362\nvn -4.904913 0.739414 -0.075337\nv -0.064245 0.068079 0.036233\nvn 1.956020 1.043404 3.296174\nv -0.051605 0.066900 0.035473\nvn 2.893236 2.274465 5.925976\nv -0.052641 0.067792 0.035698\nvn -6.880147 0.669478 -0.625628\nv -0.064190 0.070105 0.036670\nvn -5.931879 3.494687 -1.420548\nv -0.063922 0.072147 0.036584\nvn -2.667351 3.751628 -0.862962\nv -0.062377 0.074095 0.036269\nvn -0.560009 7.559392 0.272239\nv -0.060179 0.074576 0.036614\nvn 0.599628 5.537354 3.938814\nv -0.057947 0.074436 0.036608\nvn 0.000000 0.000000 0.000000\nv -0.053373 0.074904 0.035465\nvn 2.601806 2.364388 5.667137\nv -0.054459 0.074328 0.036123\nvn -0.285929 2.467102 2.750546\nv -0.055631 0.075314 0.035836\nvn 0.546063 2.640215 2.317846\nv -0.054773 0.075567 0.035597\nvn -0.546459 -2.777653 5.213412\nv -0.058157 0.058202 0.036372\nvn -0.092184 -3.386284 5.950990\nv -0.056025 0.058329 0.036455\nvn 0.594527 -3.095953 5.904618\nv -0.054181 0.058169 0.036193\nvn 0.068526 -1.549815 2.215002\nv -0.054010 0.057275 0.035717\nvn -1.029671 -1.415576 2.388672\nv -0.061248 0.058500 0.035679\nvn 2.138776 -2.186003 5.109441\nv -0.052634 0.058599 0.035934\nvn 3.323667 -0.292701 6.060987\nv -0.050951 0.062257 0.036084\nvn 2.913413 1.183648 5.093934\nv -0.051005 0.064324 0.035817\nvn 3.444532 -0.098519 5.902632\nv -0.054805 0.070220 0.035811\nvn 3.358734 -0.642067 5.924365\nv -0.054432 0.072407 0.036135\nvn -0.121922 -2.324011 3.122084\nv -0.055648 0.057275 0.035827\nvn 2.073479 -1.252764 5.452154\nv -0.052490 0.060189 0.036441\nvn 2.463848 1.843605 6.224449\nv -0.054532 0.068047 0.036358\nvn 3.573753 -0.011717 5.789465\nv -0.056065 0.069927 0.036570\nvn 0.530066 2.311549 4.889003\nv -0.056288 0.074206 0.036615\nvn -1.220241 -1.703341 4.496015\nv -0.060141 0.059990 0.036804\nvn -1.985920 -1.787388 5.106277\nv -0.062468 0.062374 0.036645\nvn 1.422212 -0.163521 3.694835\nv -0.052374 0.062215 0.036746\nvn 2.719855 0.996113 6.331768\nv -0.052534 0.064352 0.036631\nvn 2.614650 1.388126 5.200581\nv -0.052853 0.066148 0.036287\nvn 1.906612 1.497426 5.465185\nv -0.054161 0.066050 0.036883\nvn 1.278255 0.718255 3.711417\nv -0.056219 0.067947 0.036885\nvn 2.606402 0.349290 4.991204\nv -0.056112 0.071968 0.037020\nvn 0.200223 -1.898823 6.684788\nv -0.056169 0.060225 0.037228\nvn 1.349949 -1.918308 6.548542\nv -0.054360 0.060270 0.037012\nvn -0.480494 -1.405009 4.741578\nv -0.058404 0.060483 0.037283\nvn -1.534235 -1.031984 6.683877\nv -0.060014 0.061963 0.037353\nvn 1.768114 -0.367191 6.715730\nv -0.054103 0.062338 0.037283\nvn -1.066951 -2.425363 5.265215\nv -0.062250 0.064127 0.037142\nvn 1.230528 0.993997 4.857932\nv -0.054284 0.064481 0.037261\nvn -2.524074 -1.411860 3.165610\nv -0.064117 0.066286 0.038050\nvn 1.455569 1.343111 7.679991\nv -0.056152 0.066154 0.037321\nvn -6.400567 -1.685271 3.901263\nv -0.064199 0.067952 0.038514\nvn 2.387882 -0.264777 5.256230\nv -0.057570 0.067976 0.037405\nvn -4.410272 7.297134 1.588935\nv -0.062597 0.074062 0.038403\nvn 1.566227 2.674736 2.034585\nv -0.058836 0.073677 0.038154\nvn 0.437697 -0.586577 3.897571\nv -0.055576 0.061682 0.037510\nvn -0.352462 -1.235157 6.693331\nv -0.060324 0.064273 0.037368\nvn -0.347535 -3.593264 6.813972\nv -0.062624 0.066368 0.038342\nvn 1.282005 -2.002343 5.359197\nv -0.060473 0.066264 0.037826\nvn 0.165064 -0.341830 4.917930\nv -0.059358 0.065674 0.037520\nvn 0.949706 -0.442733 5.774050\nv -0.058159 0.066353 0.037486\nvn 2.681780 -2.149952 4.670275\nv -0.058710 0.067985 0.038027\nvn 5.185316 -0.833224 5.369505\nv -0.058056 0.070190 0.038477\nvn 4.280804 1.845046 4.773473\nv -0.058176 0.072176 0.038580\nvn -0.217709 -0.530912 5.923681\nv -0.057923 0.062214 0.037669\nvn 0.622746 -0.258858 6.914173\nv -0.056173 0.062758 0.037648\nvn -0.455743 0.082113 5.964821\nv -0.058623 0.063925 0.037604\nvn 0.086266 0.810158 5.063974\nv -0.056581 0.064217 0.037618\nvn 0.091599 0.448936 1.076852\nv -0.055648 0.064450 0.037528\nvn -0.734764 -2.059239 3.319169\nv -0.063173 0.064975 0.037534\nvn 0.146938 0.392792 4.974758\nv -0.057573 0.065325 0.037536\nvn -5.235773 1.976939 1.109719\nv -0.063917 0.072237 0.038745\nvn -1.813993 1.665153 -0.249409\nv -0.063490 0.073375 0.037862\nvn 2.098248 -4.878091 5.615664\nv -0.060295 0.067829 0.038892\nvn -4.706481 0.321628 1.120193\nv -0.064265 0.070264 0.038758\nvn 2.025269 4.323288 2.426945\nv -0.060413 0.074167 0.038873\nvn -0.575002 -2.141182 3.025114\nv -0.062648 0.067617 0.039300\nvn 0.482565 -1.909167 1.956677\nv -0.060986 0.068138 0.039525\nvn -3.927298 -0.884568 3.913296\nv -0.063612 0.069982 0.040123\nvn 2.669735 -2.359207 3.327057\nv -0.059311 0.069290 0.039487\nvn -3.912709 1.519881 2.331706\nv -0.063566 0.071830 0.039892\nvn -0.958957 1.724730 1.427403\nv -0.062318 0.073575 0.040123\nvn 0.618046 3.239598 2.832882\nv -0.060745 0.073709 0.040032\nvn -1.025303 -3.795178 5.194310\nv -0.062326 0.068409 0.039874\nvn 1.713764 -0.308108 1.852071\nv -0.058979 0.069886 0.039606\nvn 2.805074 -1.994820 7.395929\nv -0.060328 0.070169 0.040520\nvn 2.821397 1.319686 4.279525\nv -0.060220 0.072281 0.040715\nvn 0.000000 0.000000 0.000000\nv -0.058973 0.072325 0.039783\nvn -2.660984 1.721073 6.008297\nv -0.062672 0.072114 0.040826\nvn -0.760518 -0.993781 3.504268\nv -0.062629 0.070111 0.040747\n# 22998 vertices, 0 vertices normals\n\nf 1//1 3//3 2//2\nf 4//4 2//2 3//3\nf 13//13 1//1 5//5\nf 1//1 2//2 5//5\nf 5//5 2//2 16//16\nf 7//7 5//5 6//6\nf 8//8 7//7 6//6\nf 10//10 9//9 3//3\nf 10//10 3//3 1//1\nf 3//3 12//12 4//4\nf 14//14 2//2 4//4\nf 15//15 7//7 8//8\nf 15//15 8//8 7//7\nf 6//6 5//5 16//16\nf 7//7 18//18 17//17\nf 7//7 8//8 18//18\nf 8//8 6//6 19//19\nf 20//20 8//8 19//19\nf 20//20 21//21 8//8\nf 21//21 18//18 8//8\nf 10//10 1//1 22//22\nf 9//9 10//10 22//22\nf 11//11 1//1 13//13\nf 4//4 12//12 14//14\nf 23//23 13//13 5//5\nf 15//15 5//5 7//7\nf 17//17 15//15 7//7\nf 24//24 16//16 2//2\nf 16//16 25//25 6//6\nf 27//27 26//26 18//18\nf 21//21 27//27 18//18\nf 20//20 27//27 21//21\nf 22//22 1//1 11//11\nf 23//23 11//11 13//13\nf 5//5 15//15 23//23\nf 32//32 17//17 26//26\nf 18//18 26//26 17//17\nf 6//6 25//25 30//30\nf 20//20 19//19 28//28\nf 29//29 20//20 28//28\nf 20//20 29//29 27//27\nf 3//3 9//9 12//12\nf 23//23 15//15 31//31\nf 32//32 15//15 17//17\nf 24//24 2//2 14//14\nf 14//14 25//25 24//24\nf 24//24 25//25 16//16\nf 25//25 19//19 30//30\nf 6//6 30//30 19//19\nf 28//28 19//19 33//33\nf 28//28 33//33 29//29\nf 27//27 29//29 34//34\nf 34//34 27//27 29//29\nf 31//31 15//15 35//35\nf 32//32 35//35 15//15\nf 19//19 25//25 37//37\nf 37//37 40//40 19//19\nf 68//68 27//27 42//42\nf 27//27 34//34 29//29\nf 12//12 22//22 11//11\nf 9//9 22//22 12//12\nf 38//38 25//25 36//36\nf 39//39 32//32 26//26\nf 25//25 14//14 36//36\nf 37//37 25//25 38//38\nf 43//43 27//27 34//34\nf 58//58 45//45 46//46\nf 58//58 57//57 45//45\nf 46//46 48//48 49//49\nf 46//46 45//45 48//48\nf 45//45 62//62 48//48\nf 49//49 48//48 50//50\nf 12//12 11//11 51//51\nf 52//52 23//23 31//31\nf 14//14 12//12 54//54\nf 51//51 54//54 12//12\nf 53//53 35//35 32//32\nf 39//39 26//26 27//27\nf 41//41 19//19 40//40\nf 19//19 41//41 33//33\nf 44//44 29//29 33//33\nf 44//44 34//34 29//29\nf 55//55 45//45 57//57\nf 56//56 55//55 57//57\nf 58//58 56//56 57//57\nf 46//46 47//47 58//58\nf 47//47 56//56 58//58\nf 55//55 60//60 45//45\nf 55//55 59//59 60//60\nf 71//71 56//56 47//47\nf 45//45 60//60 61//61\nf 61//61 62//62 45//45\nf 46//46 49//49 47//47\nf 50//50 47//47 49//49\nf 11//11 52//52 51//51\nf 11//11 23//23 52//52\nf 63//63 23//23 52//52\nf 52//52 23//23 63//63\nf 63//63 52//52 31//31\nf 63//63 35//35 53//53\nf 63//63 31//31 35//35\nf 64//64 54//54 51//51\nf 65//65 53//53 32//32\nf 14//14 54//54 36//36\nf 54//54 66//66 36//36\nf 36//36 66//66 38//38\nf 40//40 37//37 38//38\nf 68//68 67//67 39//39\nf 68//68 39//39 27//27\nf 33//33 41//41 69//69\nf 43//43 42//42 27//27\nf 44//44 43//43 34//34\nf 69//69 44//44 33//33\nf 77//77 55//55 79//79\nf 76//76 74//74 59//59\nf 70//70 60//60 59//59\nf 47//47 72//72 71//71\nf 60//60 62//62 61//61\nf 47//47 50//50 72//72\nf 48//48 62//62 50//50\nf 39//39 65//65 32//32\nf 40//40 73//73 69//69\nf 69//69 41//41 40//40\nf 74//74 70//70 59//59\nf 74//74 75//75 70//70\nf 70//70 75//75 78//78\nf 55//55 77//77 59//59\nf 77//77 76//76 59//59\nf 55//55 56//56 79//79\nf 71//71 73//73 56//56\nf 56//56 73//73 79//79\nf 80//80 60//60 70//70\nf 50//50 83//83 72//72\nf 66//66 54//54 64//64\nf 81//81 75//75 74//74\nf 68//68 42//42 43//43\nf 73//73 71//71 69//69\nf 82//82 62//62 60//60\nf 52//52 64//64 51//51\nf 38//38 66//66 64//64\nf 102//102 81//81 74//74\nf 81//81 84//84 75//75\nf 79//79 73//73 40//40\nf 71//71 85//85 69//69\nf 64//64 52//52 86//86\nf 65//65 93//93 53//53\nf 104//104 74//74 76//76\nf 81//81 88//88 84//84\nf 79//79 87//87 89//89\nf 79//79 40//40 87//87\nf 77//77 105//105 104//104\nf 115//115 80//80 70//70\nf 114//114 72//72 83//83\nf 120//120 118//118 83//83\nf 120//120 50//50 62//62\nf 90//90 52//52 63//63\nf 91//91 63//63 53//53\nf 90//90 63//63 91//91\nf 86//86 52//52 92//92\nf 91//91 53//53 65//65\nf 93//93 91//91 65//65\nf 94//94 64//64 86//86\nf 93//93 65//65 53//53\nf 64//64 94//94 38//38\nf 96//96 38//38 94//94\nf 96//96 97//97 38//38\nf 99//99 67//67 68//68\nf 99//99 98//98 67//67\nf 40//40 97//97 100//100\nf 38//38 97//97 40//40\nf 87//87 40//40 100//100\nf 81//81 103//103 88//88\nf 81//81 101//101 103//103\nf 101//101 81//81 102//102\nf 77//77 100//100 105//105\nf 100//100 89//89 87//87\nf 77//77 104//104 76//76\nf 100//100 77//77 79//79\nf 100//100 79//79 89//89\nf 68//68 43//43 106//106\nf 68//68 106//106 99//99\nf 88//88 75//75 84//84\nf 107//107 106//106 43//43\nf 88//88 108//108 75//75\nf 109//109 44//44 69//69\nf 109//109 110//110 44//44\nf 44//44 107//107 43//43\nf 44//44 110//110 107//107\nf 111//111 75//75 108//108\nf 78//78 75//75 111//111\nf 112//112 69//69 85//85\nf 71//71 112//112 85//85\nf 71//71 114//114 113//113\nf 72//72 114//114 71//71\nf 80//80 115//115 60//60\nf 116//116 117//117 82//82\nf 60//60 116//116 82//82\nf 119//119 62//62 82//82\nf 119//119 82//82 117//117\nf 50//50 120//120 83//83\nf 119//119 120//120 62//62\nf 52//52 86//86 92//92\nf 52//52 90//90 86//86\nf 92//92 94//94 86//86\nf 95//95 93//93 65//65\nf 95//95 65//65 39//39\nf 95//95 39//39 98//98\nf 39//39 67//67 98//98\nf 95//95 98//98 99//99\nf 102//102 74//74 104//104\nf 111//111 108//108 88//88\nf 109//109 69//69 112//112\nf 111//111 70//70 78//78\nf 71//71 113//113 112//112\nf 70//70 111//111 115//115\nf 60//60 115//115 116//116\nf 83//83 118//118 114//114\nf 124//124 91//91 93//93\nf 102//102 125//125 101//101\nf 88//88 108//108 111//111\nf 113//113 114//114 122//122\nf 86//86 90//90 124//124\nf 124//124 90//90 91//91\nf 125//125 102//102 126//126\nf 126//126 102//102 104//104\nf 121//121 107//107 110//110\nf 112//112 113//113 122//122\nf 123//123 129//129 127//127\nf 127//127 129//129 128//128\nf 131//131 130//130 123//123\nf 86//86 124//124 92//92\nf 108//108 101//101 125//125\nf 112//112 110//110 109//109\nf 106//106 107//107 121//121\nf 164//164 117//117 116//116\nf 118//118 122//122 114//114\nf 164//164 116//116 163//163\nf 119//119 167//167 120//120\nf 129//129 123//123 130//130\nf 127//127 174//174 175//175\nf 123//123 127//127 131//131\nf 132//132 131//131 127//127\nf 131//131 133//133 130//130\nf 92//92 124//124 137//137\nf 124//124 93//93 139//139\nf 139//139 137//137 124//124\nf 138//138 94//94 92//92\nf 93//93 95//95 140//140\nf 139//139 93//93 140//140\nf 141//141 96//96 94//94\nf 95//95 142//142 140//140\nf 95//95 99//99 142//142\nf 145//145 142//142 99//99\nf 144//144 100//100 97//97\nf 144//144 97//97 143//143\nf 144//144 105//105 100//100\nf 147//147 105//105 144//144\nf 146//146 103//103 101//101\nf 148//148 104//104 149//149\nf 104//104 105//105 149//149\nf 105//105 147//147 149//149\nf 146//146 101//101 150//150\nf 108//108 150//150 101//101\nf 148//148 126//126 104//104\nf 152//152 125//125 126//126\nf 148//148 152//152 126//126\nf 108//108 152//152 150//150\nf 152//152 108//108 125//125\nf 88//88 153//153 150//150\nf 88//88 150//150 108//108\nf 155//155 111//111 108//108\nf 155//155 108//108 150//150\nf 112//112 156//156 110//110\nf 156//156 154//154 110//110\nf 154//154 157//157 121//121\nf 110//110 154//154 121//121\nf 121//121 158//158 106//106\nf 151//151 106//106 158//158\nf 159//159 156//156 112//112\nf 121//121 157//157 158//158\nf 160//160 111//111 155//155\nf 160//160 115//115 111//111\nf 161//161 112//112 122//122\nf 162//162 115//115 160//160\nf 161//161 159//159 112//112\nf 116//116 115//115 162//162\nf 162//162 163//163 116//116\nf 166//166 117//117 164//164\nf 167//167 118//118 120//120\nf 119//119 166//166 167//167\nf 128//128 169//169 168//168\nf 170//170 128//128 129//129\nf 169//169 128//128 170//170\nf 168//168 171//171 127//127\nf 127//127 128//128 168//168\nf 170//170 129//129 172//172\nf 130//130 172//172 129//129\nf 172//172 130//130 173//173\nf 171//171 174//174 127//127\nf 132//132 127//127 175//175\nf 130//130 133//133 176//176\nf 177//177 176//176 131//131\nf 132//132 175//175 131//131\nf 177//177 131//131 175//175\nf 179//179 134//134 178//178\nf 135//135 180//180 134//134\nf 135//135 136//136 180//180\nf 179//179 135//135 134//134\nf 180//180 178//178 134//134\nf 180//180 136//136 181//181\nf 181//181 136//136 135//135\nf 182//182 183//183 135//135\nf 135//135 183//183 181//181\nf 92//92 137//137 138//138\nf 94//94 138//138 141//141\nf 97//97 96//96 143//143\nf 96//96 141//141 143//143\nf 106//106 151//151 99//99\nf 103//103 153//153 88//88\nf 103//103 146//146 153//153\nf 146//146 150//150 153//153\nf 151//151 145//145 99//99\nf 152//152 155//155 150//150\nf 156//156 157//157 154//154\nf 118//118 161//161 122//122\nf 118//118 165//165 161//161\nf 165//165 184//184 161//161\nf 119//119 117//117 166//166\nf 118//118 167//167 165//165\nf 176//176 173//173 130//130\nf 131//131 176//176 133//133\nf 175//175 185//185 177//177\nf 135//135 179//179 182//182\nf 148//148 149//149 147//147\nf 160//160 155//155 152//152\nf 187//187 175//175 171//171\nf 175//175 174//174 171//171\nf 143//143 190//190 214//214\nf 138//138 190//190 141//141\nf 192//192 145//145 151//151\nf 160//160 152//152 148//148\nf 160//160 148//148 204//204\nf 159//159 193//193 156//156\nf 159//159 161//161 193//193\nf 166//166 195//195 167//167\nf 166//166 194//194 195//195\nf 197//197 198//198 199//199\nf 197//197 196//196 198//198\nf 200//200 186//186 168//168\nf 186//186 171//171 168//168\nf 201//201 175//175 187//187\nf 175//175 201//201 185//185\nf 188//188 179//179 203//203\nf 179//179 188//188 189//189\nf 182//182 179//179 189//189\nf 190//190 138//138 137//137\nf 144//144 219//219 147//147\nf 191//191 148//148 147//147\nf 224//224 157//157 156//156\nf 229//229 184//184 230//230\nf 194//194 205//205 207//207\nf 207//207 205//205 206//206\nf 207//207 208//208 209//209\nf 207//207 206//206 208//208\nf 288//288 198//198 196//196\nf 246//246 168//168 169//169\nf 187//187 171//171 210//210\nf 187//187 210//210 201//201\nf 202//202 177//177 185//185\nf 211//211 188//188 203//203\nf 137//137 139//139 213//213\nf 212//212 190//190 137//137\nf 139//139 140//140 213//213\nf 143//143 141//141 190//190\nf 215//215 213//213 142//142\nf 145//145 215//215 142//142\nf 219//219 143//143 216//216\nf 219//219 144//144 143//143\nf 218//218 217//217 145//145\nf 221//221 218//218 145//145\nf 221//221 145//145 192//192\nf 191//191 147//147 220//220\nf 221//221 192//192 151//151\nf 148//148 223//223 204//204\nf 158//158 222//222 151//151\nf 222//222 221//221 151//151\nf 160//160 223//223 204//204\nf 160//160 204//204 223//223\nf 223//223 160//160 204//204\nf 222//222 158//158 225//225\nf 157//157 225//225 158//158\nf 224//224 225//225 157//157\nf 224//224 156//156 193//193\nf 162//162 226//226 163//163\nf 229//229 227//227 193//193\nf 226//226 228//228 163//163\nf 163//163 228//228 164//164\nf 229//229 161//161 184//184\nf 165//165 231//231 184//184\nf 231//231 230//230 184//184\nf 165//165 167//167 232//232\nf 194//194 166//166 164//164\nf 167//167 195//195 232//232\nf 194//194 164//164 205//205\nf 195//195 194//194 232//232\nf 284//284 206//206 205//205\nf 232//232 194//194 207//207\nf 209//209 233//233 207//207\nf 208//208 206//206 284//284\nf 209//209 208//208 234//234\nf 209//209 234//234 208//208\nf 233//233 235//235 286//286\nf 233//233 209//209 235//235\nf 208//208 234//234 235//235\nf 235//235 209//209 208//208\nf 237//237 236//236 197//197\nf 197//197 236//236 196//196\nf 239//239 237//237 197//197\nf 196//196 236//236 238//238\nf 238//238 288//288 196//196\nf 199//199 240//240 197//197\nf 240//240 237//237 197//197\nf 237//237 239//239 197//197\nf 242//242 198//198 241//241\nf 240//240 198//198 242//242\nf 240//240 199//199 198//198\nf 200//200 244//244 243//243\nf 245//245 200//200 243//243\nf 291//291 168//168 246//246\nf 247//247 200//200 245//245\nf 247//247 186//186 200//200\nf 248//248 246//246 169//169\nf 249//249 248//248 170//170\nf 170//170 248//248 169//169\nf 172//172 249//249 170//170\nf 171//171 186//186 250//250\nf 186//186 247//247 250//250\nf 172//172 173//173 251//251\nf 250//250 171//171 292//292\nf 250//250 210//210 171//171\nf 173//173 176//176 251//251\nf 250//250 292//292 210//210\nf 176//176 252//252 251//251\nf 176//176 177//177 252//252\nf 252//252 177//177 254//254\nf 177//177 202//202 254//254\nf 255//255 201//201 253//253\nf 256//256 202//202 185//185\nf 256//256 257//257 202//202\nf 202//202 257//257 254//254\nf 259//259 201//201 255//255\nf 201//201 256//256 185//185\nf 201//201 259//259 256//256\nf 179//179 261//261 203//203\nf 211//211 262//262 188//188\nf 211//211 260//260 262//262\nf 261//261 179//179 178//178\nf 263//263 261//261 178//178\nf 260//260 264//264 262//262\nf 180//180 263//263 178//178\nf 264//264 265//265 188//188\nf 265//265 264//264 266//266\nf 265//265 189//189 188//188\nf 266//266 189//189 265//265\nf 267//267 189//189 266//266\nf 189//189 268//268 182//182\nf 269//269 181//181 183//183\nf 268//268 183//183 182//182\nf 183//183 268//268 269//269\nf 271//271 270//270 273//273\nf 273//273 270//270 272//272\nf 302//302 272//272 270//270\nf 272//272 276//276 273//273\nf 276//276 272//272 277//277\nf 276//276 273//273 275//275\nf 273//273 276//276 275//275\nf 276//276 277//277 272//272\nf 278//278 275//275 273//273\nf 279//279 272//272 274//274\nf 276//276 272//272 273//273\nf 274//274 280//280 279//279\nf 273//273 272//272 281//281\nf 278//278 273//273 281//281\nf 272//272 279//279 281//281\nf 279//279 282//282 281//281\nf 137//137 213//213 212//212\nf 213//213 140//140 142//142\nf 145//145 217//217 215//215\nf 148//148 191//191 220//220\nf 223//223 148//148 220//220\nf 223//223 315//315 160//160\nf 193//193 316//316 224//224\nf 193//193 161//161 229//229\nf 165//165 232//232 231//231\nf 205//205 164//164 228//228\nf 284//284 205//205 283//283\nf 232//232 207//207 285//285\nf 207//207 233//233 285//285\nf 208//208 317//317 234//234\nf 287//287 238//238 236//236\nf 288//288 238//238 287//287\nf 237//237 240//240 239//239\nf 241//241 198//198 288//288\nf 288//288 242//242 241//241\nf 290//290 243//243 244//244\nf 243//243 290//290 245//245\nf 200//200 168//168 291//291\nf 292//292 250//250 247//247\nf 172//172 251//251 249//249\nf 171//171 250//250 292//292\nf 210//210 292//292 293//293\nf 253//253 210//210 294//294\nf 210//210 293//293 294//294\nf 258//258 297//297 296//296\nf 201//201 210//210 253//253\nf 296//296 295//295 258//258\nf 259//259 255//255 253//253\nf 295//295 298//298 258//258\nf 258//258 298//298 299//299\nf 258//258 300//300 294//294\nf 258//258 299//299 300//300\nf 260//260 211//211 301//301\nf 211//211 261//261 301//301\nf 211//211 203//203 261//261\nf 188//188 262//262 264//264\nf 181//181 269//269 180//180\nf 180//180 269//269 263//263\nf 268//268 189//189 267//267\nf 274//274 302//302 303//303\nf 274//274 272//272 302//302\nf 303//303 304//304 274//274\nf 273//273 275//275 271//271\nf 280//280 304//304 306//306\nf 274//274 304//304 280//280\nf 305//305 278//278 307//307\nf 305//305 275//275 278//278\nf 279//279 280//280 309//309\nf 309//309 280//280 306//306\nf 278//278 281//281 282//282\nf 308//308 310//310 311//311\nf 308//308 307//307 310//310\nf 278//278 312//312 307//307\nf 279//279 309//309 313//313\nf 282//282 279//279 313//313\nf 312//312 278//278 282//282\nf 212//212 214//214 190//190\nf 313//313 309//309 335//335\nf 216//216 143//143 214//214\nf 216//216 214//214 314//314\nf 147//147 219//219 220//220\nf 315//315 162//162 160//160\nf 315//315 223//223 226//226\nf 162//162 315//315 226//226\nf 193//193 227//227 316//316\nf 228//228 283//283 205//205\nf 345//345 346//346 284//284\nf 285//285 233//233 318//318\nf 208//208 284//284 317//317\nf 288//288 287//287 348//348\nf 319//319 239//239 240//240\nf 321//321 242//242 320//320\nf 320//320 242//242 288//288\nf 289//289 323//323 290//290\nf 289//289 322//322 323//323\nf 352//352 290//290 244//244\nf 291//291 244//244 200//200\nf 324//324 249//249 251//251\nf 325//325 293//293 292//292\nf 324//324 252//252 254//254\nf 251//251 252//252 324//324\nf 297//297 326//326 296//296\nf 297//297 258//258 294//294\nf 271//271 275//275 328//328\nf 306//306 280//280 309//309\nf 280//280 330//330 309//309\nf 310//310 307//307 312//312\nf 332//332 309//309 330//330\nf 311//311 310//310 333//333\nf 282//282 334//334 312//312\nf 310//310 312//312 334//334\nf 311//311 333//333 338//338\nf 309//309 332//332 335//335\nf 336//336 282//282 313//313\nf 334//334 282//282 336//336\nf 333//333 310//310 334//334\nf 331//331 338//338 337//337\nf 331//331 311//311 338//338\nf 216//216 339//339 219//219\nf 220//220 219//219 339//339\nf 218//218 221//221 383//383\nf 340//340 341//341 342//342\nf 341//341 340//340 342//342\nf 341//341 342//342 340//340\nf 316//316 227//227 229//229\nf 366//366 316//316 229//229\nf 283//283 344//344 345//345\nf 228//228 344//344 283//283\nf 345//345 284//284 283//283\nf 317//317 284//284 346//346\nf 317//317 235//235 234//234\nf 287//287 347//347 348//348\nf 239//239 240//240 237//237\nf 239//239 319//319 240//240\nf 367//367 320//320 348//348\nf 320//320 288//288 348//348\nf 240//240 242//242 349//349\nf 321//321 349//349 242//242\nf 321//321 320//320 420//420\nf 322//322 351//351 323//323\nf 322//322 350//350 351//351\nf 290//290 352//352 289//289\nf 245//245 290//290 323//323\nf 248//248 291//291 246//246\nf 293//293 325//325 297//297\nf 326//326 327//327 295//295\nf 353//353 327//327 326//326\nf 326//326 295//295 296//296\nf 293//293 297//297 294//294\nf 295//295 327//327 354//354\nf 253//253 294//294 300//300\nf 298//298 295//295 354//354\nf 355//355 264//264 260//260\nf 264//264 356//356 357//357\nf 266//266 264//264 357//357\nf 303//303 302//302 370//370\nf 271//271 373//373 270//270\nf 329//329 303//303 358//358\nf 305//305 328//328 275//275\nf 329//329 304//304 303//303\nf 304//304 329//329 306//306\nf 329//329 360//360 306//306\nf 359//359 305//305 307//307\nf 359//359 307//307 308//308\nf 280//280 306//306 330//330\nf 332//332 330//330 361//361\nf 338//338 333//333 362//362\nf 341//341 340//340 338//338\nf 340//340 337//337 338//338\nf 223//223 220//220 389//389\nf 342//342 341//341 363//363\nf 364//364 342//342 363//363\nf 342//342 364//364 365//365\nf 224//224 316//316 225//225\nf 343//343 222//222 225//225\nf 398//398 232//232 285//285\nf 347//347 413//413 348//348\nf 240//240 349//349 321//321\nf 351//351 350//350 421//421\nf 425//425 245//245 323//323\nf 325//325 292//292 247//247\nf 297//297 325//325 428//428\nf 253//253 300//300 369//369\nf 260//260 300//300 355//355\nf 299//299 355//355 300//300\nf 264//264 355//355 356//356\nf 441//441 266//266 356//356\nf 266//266 357//357 356//356\nf 270//270 371//371 370//370\nf 370//370 371//371 372//372\nf 373//373 372//372 270//270\nf 446//446 303//303 370//370\nf 270//270 370//370 302//302\nf 450//450 328//328 374//374\nf 328//328 305//305 374//374\nf 454//454 452//452 305//305\nf 454//454 305//305 359//359\nf 454//454 359//359 308//308\nf 375//375 454//454 308//308\nf 311//311 375//375 308//308\nf 330//330 306//306 360//360\nf 377//377 212//212 213//213\nf 379//379 376//376 337//337\nf 376//376 331//331 337//337\nf 383//383 382//382 217//217\nf 336//336 313//313 335//335\nf 217//217 218//218 383//383\nf 336//336 384//384 334//334\nf 362//362 333//333 334//334\nf 338//338 362//362 341//341\nf 334//334 385//385 362//362\nf 363//363 341//341 362//362\nf 363//363 362//362 387//387\nf 342//342 388//388 340//340\nf 391//391 226//226 223//223\nf 391//391 223//223 389//389\nf 388//388 342//342 365//365\nf 225//225 316//316 343//343\nf 343//343 390//390 222//222\nf 364//364 392//392 365//365\nf 226//226 394//394 228//228\nf 394//394 395//395 228//228\nf 396//396 366//366 229//229\nf 228//228 395//395 344//344\nf 231//231 397//397 230//230\nf 395//395 401//401 344//344\nf 231//231 398//398 399//399\nf 344//344 401//401 400//400\nf 344//344 400//400 345//345\nf 232//232 398//398 231//231\nf 346//346 345//345 400//400\nf 346//346 400//400 402//402\nf 405//405 404//404 285//285\nf 407//407 346//346 402//402\nf 407//407 402//402 406//406\nf 346//346 407//407 317//317\nf 318//318 408//408 285//285\nf 318//318 408//408 233//233\nf 408//408 318//318 233//233\nf 317//317 409//409 235//235\nf 286//286 410//410 233//233\nf 410//410 318//318 233//233\nf 235//235 411//411 286//286\nf 235//235 410//410 286//286\nf 235//235 286//286 410//410\nf 236//236 412//412 287//287\nf 287//287 414//414 347//347\nf 347//347 414//414 413//413\nf 236//236 237//237 412//412\nf 240//240 415//415 237//237\nf 413//413 416//416 348//348\nf 321//321 418//418 240//240\nf 418//418 415//415 240//240\nf 416//416 367//367 348//348\nf 416//416 417//417 367//367\nf 500//500 322//322 289//289\nf 289//289 352//352 422//422\nf 421//421 423//423 351//351\nf 291//291 352//352 244//244\nf 425//425 323//323 351//351\nf 426//426 424//424 291//291\nf 248//248 426//426 291//291\nf 427//427 426//426 249//249\nf 249//249 426//426 248//248\nf 245//245 325//325 247//247\nf 353//353 430//430 429//429\nf 326//326 431//431 353//353\nf 353//353 431//431 430//430\nf 353//353 429//429 368//368\nf 327//327 353//353 368//368\nf 433//433 432//432 259//259\nf 434//434 259//259 369//369\nf 369//369 259//259 253//253\nf 435//435 298//298 354//354\nf 300//300 260//260 369//369\nf 260//260 301//301 369//369\nf 436//436 301//301 261//261\nf 263//263 438//438 261//261\nf 439//439 357//357 356//356\nf 441//441 356//356 357//357\nf 442//442 266//266 441//441\nf 440//440 263//263 269//269\nf 266//266 443//443 267//267\nf 266//266 442//442 443//443\nf 303//303 446//446 445//445\nf 371//371 270//270 372//372\nf 447//447 547//547 545//545\nf 373//373 271//271 447//447\nf 374//374 305//305 450//450\nf 329//329 449//449 451//451\nf 305//305 452//452 450//450\nf 329//329 358//358 449//449\nf 451//451 453//453 329//329\nf 455//455 453//453 451//451\nf 455//455 451//451 456//456\nf 453//453 360//360 329//329\nf 455//455 360//360 453//453\nf 455//455 456//456 515//515\nf 515//515 456//456 455//455\nf 455//455 456//456 457//457\nf 330//330 360//360 458//458\nf 331//331 375//375 311//311\nf 455//455 457//457 360//360\nf 460//460 360//360 457//457\nf 460//460 330//330 458//458\nf 461//461 459//459 462//462\nf 215//215 378//378 213//213\nf 314//314 214//214 212//212\nf 380//380 465//465 459//459\nf 465//465 462//462 459//459\nf 212//212 381//381 314//314\nf 463//463 464//464 459//459\nf 465//465 466//466 462//462\nf 330//330 460//460 361//361\nf 464//464 380//380 459//459\nf 466//466 461//461 462//462\nf 380//380 466//466 465//465\nf 467//467 468//468 361//361\nf 379//379 337//337 340//340\nf 314//314 381//381 216//216\nf 332//332 361//361 468//468\nf 472//472 380//380 464//464\nf 336//336 335//335 469//469\nf 472//472 464//464 463//463\nf 473//473 380//380 472//472\nf 335//335 526//526 469//469\nf 475//475 384//384 336//336\nf 384//384 475//475 385//385\nf 384//384 385//385 334//334\nf 523//523 379//379 340//340\nf 339//339 216//216 470//470\nf 471//471 383//383 221//221\nf 463//463 476//476 472//472\nf 474//474 380//380 473//473\nf 474//474 473//473 476//476\nf 476//476 473//473 472//472\nf 221//221 477//477 471//471\nf 385//385 478//478 362//362\nf 387//387 362//362 478//478\nf 221//221 222//222 477//477\nf 479//479 477//477 222//222\nf 387//387 480//480 481//481\nf 387//387 481//481 363//363\nf 390//390 482//482 222//222\nf 481//481 364//364 363//363\nf 364//364 365//365 392//392\nf 364//364 481//481 484//484\nf 393//393 364//364 484//484\nf 393//393 365//365 364//364\nf 365//365 485//485 392//392\nf 343//343 316//316 396//396\nf 393//393 485//485 365//365\nf 396//396 316//316 366//366\nf 393//393 486//486 487//487\nf 401//401 395//395 488//488\nf 490//490 400//400 489//489\nf 490//490 489//489 491//491\nf 490//490 402//402 400//400\nf 285//285 492//492 398//398\nf 490//490 491//491 403//403\nf 402//402 490//490 403//403\nf 285//285 404//404 492//492\nf 492//492 404//404 405//405\nf 406//406 403//403 493//493\nf 406//406 402//402 403//403\nf 408//408 405//405 285//285\nf 534//534 317//317 494//494\nf 318//318 410//410 408//408\nf 410//410 318//318 408//408\nf 409//409 411//411 235//235\nf 286//286 411//411 410//410\nf 495//495 417//417 416//416\nf 496//496 367//367 417//417\nf 367//367 496//496 419//419\nf 350//350 499//499 421//421\nf 421//421 499//499 498//498\nf 537//537 350//350 322//322\nf 423//423 501//501 351//351\nf 245//245 425//425 503//503\nf 503//503 325//325 504//504\nf 504//504 325//325 245//245\nf 325//325 505//505 428//428\nf 326//326 428//428 541//541\nf 326//326 297//297 428//428\nf 586//586 543//543 254//254\nf 429//429 506//506 368//368\nf 507//507 368//368 506//506\nf 256//256 254//254 257//257\nf 368//368 327//327 507//507\nf 327//327 368//368 507//507\nf 256//256 259//259 432//432\nf 327//327 368//368 508//508\nf 327//327 508//508 354//354\nf 435//435 354//354 509//509\nf 299//299 298//298 511//511\nf 298//298 435//435 511//511\nf 355//355 299//299 511//511\nf 369//369 301//301 436//436\nf 356//356 355//355 544//544\nf 440//440 438//438 263//263\nf 439//439 441//441 357//357\nf 268//268 440//440 269//269\nf 703//703 370//370 371//371\nf 303//303 445//445 448//448\nf 370//370 372//372 371//371\nf 448//448 358//358 303//303\nf 447//447 271//271 328//328\nf 447//447 328//328 547//547\nf 358//358 448//448 449//449\nf 451//451 514//514 456//456\nf 514//514 515//515 456//456\nf 515//515 517//517 518//518\nf 516//516 517//517 515//515\nf 549//549 331//331 376//376\nf 461//461 519//519 459//459\nf 456//456 515//515 518//518\nf 457//457 456//456 518//518\nf 458//458 360//360 460//460\nf 520//520 463//463 459//459\nf 520//520 459//459 519//519\nf 460//460 467//467 361//361\nf 558//558 212//212 377//377\nf 457//457 522//522 460//460\nf 217//217 382//382 215//215\nf 461//461 466//466 521//521\nf 380//380 474//474 466//466\nf 525//525 332//332 468//468\nf 335//335 332//332 525//525\nf 335//335 525//525 526//526\nf 336//336 469//469 526//526\nf 523//523 379//379 340//340\nf 386//386 339//339 470//470\nf 474//474 524//524 466//466\nf 385//385 475//475 527//527\nf 220//220 339//339 386//386\nf 523//523 340//340 388//388\nf 389//389 220//220 386//386\nf 480//480 387//387 478//478\nf 392//392 388//388 365//365\nf 391//391 389//389 528//528\nf 529//529 222//222 482//482\nf 529//529 479//479 222//222\nf 390//390 483//483 482//482\nf 390//390 343//343 483//483\nf 483//483 343//343 396//396\nf 481//481 486//486 484//484\nf 483//483 396//396 530//530\nf 393//393 484//484 486//486\nf 487//487 485//485 393//393\nf 401//401 488//488 400//400\nf 399//399 397//397 231//231\nf 488//488 489//489 400//400\nf 533//533 491//491 531//531\nf 491//491 489//489 531//531\nf 398//398 492//492 532//532\nf 407//407 406//406 494//494\nf 317//317 407//407 494//494\nf 534//534 409//409 317//317\nf 534//534 411//411 409//409\nf 237//237 536//536 412//412\nf 416//416 413//413 535//535\nf 416//416 535//535 495//495\nf 415//415 536//536 237//237\nf 417//417 495//495 496//496\nf 497//497 321//321 420//420\nf 418//418 321//321 497//497\nf 320//320 367//367 420//420\nf 322//322 500//500 575//575\nf 538//538 421//421 498//498\nf 501//501 421//421 538//538\nf 421//421 501//501 423//423\nf 291//291 578//578 352//352\nf 578//578 422//422 352//352\nf 540//540 351//351 539//539\nf 351//351 501//501 539//539\nf 504//504 245//245 503//503\nf 505//505 428//428 503//503\nf 503//503 428//428 325//325\nf 427//427 249//249 324//324\nf 325//325 428//428 505//505\nf 541//541 428//428 505//505\nf 326//326 541//541 431//431\nf 324//324 543//543 542//542\nf 324//324 254//254 543//543\nf 508//508 368//368 507//507\nf 434//434 433//433 259//259\nf 434//434 369//369 510//510\nf 436//436 510//510 369//369\nf 511//511 435//435 544//544\nf 355//355 511//511 544//544\nf 510//510 436//436 301//301\nf 437//437 261//261 438//438\nf 356//356 544//544 512//512\nf 512//512 439//439 356//356\nf 444//444 438//438 268//268\nf 438//438 440//440 268//268\nf 267//267 444//444 268//268\nf 267//267 443//443 444//444\nf 371//371 372//372 545//545\nf 373//373 545//545 372//372\nf 446//446 546//546 445//445\nf 546//546 448//448 445//445\nf 545//545 373//373 447//447\nf 328//328 513//513 547//547\nf 328//328 450//450 513//513\nf 589//589 514//514 449//449\nf 454//454 450//450 452//452\nf 449//449 514//514 451//451\nf 515//515 548//548 516//516\nf 515//515 514//514 548//548\nf 519//519 551//551 550//550\nf 519//519 461//461 552//552\nf 551//551 519//519 552//552\nf 519//519 550//550 520//520\nf 521//521 554//554 461//461\nf 517//517 556//556 557//557\nf 213//213 378//378 377//377\nf 520//520 555//555 463//463\nf 518//518 517//517 557//557\nf 457//457 518//518 557//557\nf 558//558 381//381 212//212\nf 522//522 467//467 460//460\nf 476//476 463//463 555//555\nf 379//379 523//523 340//340\nf 466//466 524//524 521//521\nf 467//467 560//560 468//468\nf 559//559 560//560 467//467\nf 470//470 216//216 594//594\nf 475//475 336//336 526//526\nf 471//471 383//383 477//477\nf 474//474 561//561 562//562\nf 474//474 476//476 561//561\nf 385//385 527//527 478//478\nf 478//478 527//527 475//475\nf 481//481 480//480 563//563\nf 480//480 478//478 563//563\nf 391//391 528//528 389//389\nf 564//564 486//486 563//563\nf 486//486 481//481 563//563\nf 394//394 226//226 391//391\nf 530//530 482//482 483//483\nf 529//529 565//565 566//566\nf 529//529 482//482 565//565\nf 567//567 396//396 229//229\nf 569//569 486//486 568//568\nf 571//571 489//489 488//488\nf 532//532 397//397 399//399\nf 229//229 230//230 397//397\nf 570//570 487//487 569//569\nf 569//569 487//487 486//486\nf 531//531 489//489 571//571\nf 399//399 398//398 532//532\nf 493//493 403//403 491//491\nf 494//494 411//411 534//534\nf 318//318 410//410 408//408\nf 414//414 287//287 412//412\nf 572//572 574//574 495//495\nf 574//574 496//496 495//495\nf 420//420 367//367 419//419\nf 574//574 499//499 537//537\nf 537//537 496//496 574//574\nf 537//537 575//575 419//419\nf 419//419 496//496 537//537\nf 538//538 498//498 576//576\nf 499//499 350//350 537//537\nf 322//322 575//575 537//537\nf 289//289 422//422 500//500\nf 501//501 538//538 579//579\nf 502//502 578//578 291//291\nf 501//501 579//579 581//581\nf 291//291 424//424 502//502\nf 580//580 502//502 424//424\nf 426//426 580//580 424//424\nf 539//539 501//501 581//581\nf 425//425 351//351 540//540\nf 503//503 425//425 540//540\nf 503//503 541//541 505//505\nf 540//540 541//541 503//503\nf 427//427 542//542 426//426\nf 426//426 542//542 582//582\nf 324//324 542//542 427//427\nf 506//506 585//585 584//584\nf 585//585 506//506 429//429\nf 585//585 429//429 583//583\nf 541//541 430//430 431//431\nf 541//541 583//583 430//430\nf 542//542 586//586 582//582\nf 543//543 586//586 542//542\nf 429//429 430//430 583//583\nf 254//254 256//256 586//586\nf 432//432 586//586 256//256\nf 588//588 433//433 434//434\nf 354//354 508//508 509//509\nf 510//510 588//588 434//434\nf 509//509 544//544 435//435\nf 301//301 437//437 510//510\nf 301//301 436//436 437//437\nf 261//261 437//437 436//436\nf 512//512 441//441 439//439\nf 866//866 703//703 889//889\nf 546//546 449//449 448//448\nf 375//375 331//331 549//549\nf 516//516 590//590 553//553\nf 517//517 516//516 553//553\nf 633//633 558//558 378//378\nf 378//378 215//215 382//382\nf 553//553 591//591 517//517\nf 591//591 556//556 517//517\nf 522//522 457//457 557//557\nf 524//524 593//593 521//521\nf 216//216 381//381 594//594\nf 476//476 555//555 592//592\nf 522//522 559//559 467//467\nf 638//638 379//379 523//523\nf 383//383 471//471 477//477\nf 522//522 595//595 559//559\nf 468//468 560//560 525//525\nf 524//524 474//474 562//562\nf 597//597 475//475 596//596\nf 475//475 597//597 478//478\nf 599//599 600//600 596//596\nf 600//600 597//597 596//596\nf 597//597 600//600 478//478\nf 565//565 482//482 530//530\nf 567//567 229//229 397//397\nf 486//486 564//564 568//568\nf 492//492 602//602 532//532\nf 492//492 405//405 408//408\nf 573//573 412//412 415//415\nf 603//603 495//495 535//535\nf 412//412 536//536 415//415\nf 603//603 572//572 495//495\nf 604//604 419//419 575//575\nf 604//604 420//420 419//419\nf 538//538 576//576 577//577\nf 579//579 538//538 577//577\nf 539//539 583//583 540//540\nf 540//540 583//583 541//541\nf 605//605 584//584 585//585\nf 507//507 506//506 584//584\nf 544//544 509//509 606//606\nf 544//544 606//606 607//607\nf 607//607 512//512 544//544\nf 866//866 370//370 703//703\nf 2022//2022 1472//1472 2353//2353\nf 703//703 371//371 545//545\nf 516//516 548//548 590//590\nf 553//553 590//590 608//608\nf 553//553 608//608 610//610\nf 630//630 376//376 379//379\nf 378//378 382//382 634//634\nf 520//520 609//609 555//555\nf 591//591 553//553 610//610\nf 556//556 591//591 641//641\nf 522//522 557//557 595//595\nf 471//471 477//477 383//383\nf 557//557 611//611 595//595\nf 386//386 470//470 594//594\nf 526//526 596//596 475//475\nf 524//524 562//562 612//612\nf 525//525 596//596 526//526\nf 598//598 389//389 386//386\nf 646//646 562//562 561//561\nf 600//600 563//563 478//478\nf 648//648 388//388 392//392\nf 651//651 599//599 644//644\nf 614//614 600//600 599//599\nf 601//601 564//564 600//600\nf 564//564 563//563 600//600\nf 601//601 600//600 614//614\nf 395//395 394//394 391//391\nf 735//735 395//395 391//391\nf 564//564 601//601 568//568\nf 657//657 530//530 396//396\nf 659//659 568//568 601//601\nf 397//397 532//532 602//602\nf 533//533 531//531 615//615\nf 602//602 492//492 616//616\nf 574//574 572//572 617//617\nf 499//499 617//617 498//498\nf 617//617 499//499 574//574\nf 676//676 422//422 578//578\nf 587//587 507//507 584//584\nf 438//438 444//444 443//443\nf 1471//1471 773//773 1256//1256\nf 773//773 446//446 866//866\nf 621//621 449//449 546//546\nf 547//547 450//450 622//622\nf 449//449 623//623 589//589\nf 454//454 622//622 450//450\nf 626//626 627//627 590//590\nf 548//548 626//626 590//590\nf 520//520 628//628 550//550\nf 520//520 550//550 628//628\nf 520//520 550//550 629//629\nf 554//554 552//552 461//461\nf 520//520 629//629 609//609\nf 558//558 377//377 378//378\nf 634//634 633//633 378//378\nf 521//521 635//635 554//554\nf 715//715 554//554 635//635\nf 717//717 558//558 633//633\nf 636//636 382//382 383//383\nf 635//635 521//521 637//637\nf 379//379 716//716 630//630\nf 637//637 521//521 593//593\nf 716//716 379//379 638//638\nf 610//610 640//640 641//641\nf 610//610 641//641 591//591\nf 383//383 477//477 642//642\nf 639//639 637//637 593//593\nf 556//556 641//641 643//643\nf 643//643 641//641 724//724\nf 557//557 556//556 611//611\nf 611//611 556//556 643//643\nf 611//611 643//643 724//724\nf 592//592 561//561 476//476\nf 726//726 524//524 612//612\nf 525//525 644//644 596//596\nf 388//388 613//613 731//731\nf 649//649 731//731 388//388\nf 649//649 388//388 648//648\nf 479//479 650//650 647//647\nf 599//599 596//596 644//644\nf 479//479 529//529 650//650\nf 735//735 391//391 653//653\nf 651//651 654//654 614//614\nf 652//652 392//392 485//485\nf 395//395 739//739 488//488\nf 663//663 530//530 657//657\nf 663//663 565//565 530//530\nf 739//739 804//804 808//808\nf 658//658 566//566 565//565\nf 661//661 660//660 531//531\nf 531//531 571//571 661//661\nf 397//397 662//662 567//567\nf 656//656 657//657 396//396\nf 658//658 565//565 663//663\nf 570//570 807//807 487//487\nf 660//660 615//615 531//531\nf 662//662 397//397 602//602\nf 615//615 665//665 533//533\nf 664//664 602//602 616//616\nf 616//616 492//492 666//666\nf 668//668 494//494 406//406\nf 494//494 668//668 411//411\nf 408//408 410//410 667//667\nf 414//414 669//669 413//413\nf 603//603 535//535 827//827\nf 671//671 572//572 603//603\nf 572//572 672//672 617//617\nf 573//573 415//415 418//418\nf 673//673 573//573 418//418\nf 673//673 418//418 497//497\nf 674//674 673//673 497//497\nf 617//617 744//744 498//498\nf 420//420 604//604 497//497\nf 497//497 604//604 674//674\nf 604//604 575//575 500//500\nf 577//577 675//675 749//749\nf 577//577 749//749 675//675\nf 675//675 677//677 579//579\nf 502//502 676//676 578//578\nf 578//578 676//676 502//502\nf 577//577 675//675 579//579\nf 579//579 677//677 750//750\nf 539//539 581//581 585//585\nf 754//754 582//582 586//586\nf 584//584 605//605 678//678\nf 433//433 586//586 432//432\nf 507//507 682//682 508//508\nf 587//587 682//682 507//507\nf 509//509 508//508 683//683\nf 683//683 760//760 509//509\nf 436//436 510//510 437//437\nf 763//763 618//618 684//684\nf 763//763 685//685 618//618\nf 619//619 686//686 618//618\nf 618//618 686//686 684//684\nf 686//686 607//607 606//606\nf 687//687 437//437 438//438\nf 688//688 619//619 618//618\nf 438//438 689//689 687//687\nf 443//443 689//689 438//438\nf 691//691 443//443 442//442\nf 695//695 693//693 694//694\nf 693//693 692//692 694//694\nf 695//695 697//697 693//693\nf 696//696 698//698 699//699\nf 696//696 695//695 698//698\nf 700//700 696//696 699//699\nf 702//702 700//700 701//701\nf 701//701 700//700 699//699\nf 703//703 545//545 964//964\nf 964//964 545//545 620//620\nf 620//620 545//545 547//547\nf 705//705 620//620 547//547\nf 704//704 623//623 449//449\nf 449//449 621//621 704//704\nf 513//513 450//450 547//547\nf 547//547 622//622 705//705\nf 623//623 706//706 589//589\nf 706//706 548//548 589//589\nf 548//548 514//514 589//589\nf 622//622 454//454 625//625\nf 590//590 627//627 707//707\nf 454//454 375//375 549//549\nf 590//590 707//707 608//608\nf 708//708 549//549 376//376\nf 609//609 711//711 709//709\nf 709//709 711//711 710//710\nf 609//609 629//629 711//711\nf 610//610 608//608 632//632\nf 715//715 780//780 554//554\nf 608//608 712//712 632//632\nf 631//631 555//555 609//609\nf 785//785 634//634 382//382\nf 636//636 785//785 382//382\nf 610//610 632//632 714//714\nf 381//381 558//558 717//717\nf 555//555 631//631 592//592\nf 592//592 631//631 718//718\nf 719//719 635//635 637//637\nf 637//637 639//639 719//719\nf 721//721 722//722 610//610\nf 720//720 594//594 381//381\nf 722//722 640//640 610//610\nf 610//610 714//714 721//721\nf 719//719 639//639 593//593\nf 723//723 640//640 722//722\nf 641//641 640//640 723//723\nf 611//611 727//727 595//595\nf 791//791 732//732 386//386\nf 642//642 477//477 479//479\nf 524//524 726//726 593//593\nf 793//793 593//593 726//726\nf 641//641 723//723 795//795\nf 724//724 797//797 727//727\nf 727//727 728//728 595//595\nf 733//733 559//559 595//595\nf 525//525 560//560 729//729\nf 525//525 729//729 730//730\nf 525//525 730//730 644//644\nf 731//731 790//790 523//523\nf 598//598 386//386 732//732\nf 592//592 725//725 561//561\nf 560//560 559//559 729//729\nf 562//562 646//646 612//612\nf 523//523 388//388 731//731\nf 645//645 646//646 561//561\nf 389//389 598//598 732//732\nf 731//731 613//613 388//388\nf 389//389 800//800 391//391\nf 392//392 652//652 648//648\nf 652//652 649//649 648//648\nf 614//614 599//599 651//651\nf 738//738 803//803 566//566\nf 738//738 805//805 803//803\nf 654//654 601//601 614//614\nf 658//658 738//738 566//566\nf 396//396 655//655 656//656\nf 811//811 663//663 657//657\nf 806//806 659//659 601//601\nf 740//740 567//567 662//662\nf 740//740 396//396 567//567\nf 663//663 812//812 658//658\nf 569//569 568//568 813//813\nf 662//662 602//602 740//740\nf 664//664 616//616 666//666\nf 492//492 408//408 741//741\nf 666//666 492//492 741//741\nf 406//406 817//817 668//668\nf 819//819 820//820 667//667\nf 410//410 411//411 819//819\nf 412//412 670//670 414//414\nf 412//412 573//573 670//670\nf 746//746 604//604 575//575\nf 577//577 576//576 675//675\nf 575//575 604//604 746//746\nf 747//747 675//675 576//576\nf 604//604 500//500 422//422\nf 746//746 604//604 748//748\nf 749//749 675//675 747//747\nf 604//604 422//422 748//748\nf 675//675 749//749 677//677\nf 677//677 749//749 750//750\nf 581//581 579//579 750//750\nf 581//581 750//750 752//752\nf 753//753 585//585 581//581\nf 583//583 539//539 585//585\nf 426//426 582//582 754//754\nf 605//605 753//753 755//755\nf 605//605 585//585 753//753\nf 584//584 678//678 679//679\nf 861//861 756//756 433//433\nf 584//584 679//679 757//757\nf 756//756 586//586 433//433\nf 587//587 757//757 680//680\nf 588//588 681//681 433//433\nf 436//436 759//759 510//510\nf 606//606 760//760 842//842\nf 762//762 763//763 684//684\nf 761//761 763//763 762//762\nf 686//686 619//619 607//607\nf 606//606 842//842 686//686\nf 763//763 761//761 685//685\nf 619//619 764//764 686//686\nf 619//619 686//686 764//764\nf 765//765 688//688 618//618\nf 688//688 766//766 619//619\nf 441//441 512//512 690//690\nf 512//512 767//767 690//690\nf 689//689 443//443 691//691\nf 693//693 768//768 692//692\nf 770//770 696//696 771//771\nf 771//771 696//696 700//700\nf 702//702 771//771 700//700\nf 773//773 772//772 546//546\nf 621//621 772//772 704//704\nf 705//705 622//622 620//620\nf 450//450 774//774 622//622\nf 622//622 774//774 450//450\nf 548//548 706//706 624//624\nf 622//622 625//625 774//774\nf 627//627 626//626 548//548\nf 627//627 548//548 624//624\nf 775//775 707//707 627//627\nf 625//625 549//549 708//708\nf 625//625 454//454 549//549\nf 710//710 776//776 779//779\nf 550//550 711//711 629//629\nf 550//550 628//628 711//711\nf 777//777 552//552 713//713\nf 707//707 778//778 712//712\nf 709//709 710//710 779//779\nf 713//713 552//552 554//554\nf 608//608 707//707 712//712\nf 609//609 709//709 631//631\nf 631//631 709//709 783//783\nf 635//635 780//780 715//715\nf 782//782 716//716 784//784\nf 630//630 716//716 782//782\nf 633//633 634//634 717//717\nf 786//786 381//381 717//717\nf 719//719 788//788 635//635\nf 716//716 638//638 784//784\nf 383//383 642//642 787//787\nf 383//383 787//787 636//636\nf 781//781 789//789 714//714\nf 787//787 477//477 642//642\nf 642//642 477//477 787//787\nf 790//790 784//784 638//638\nf 790//790 638//638 523//523\nf 791//791 594//594 720//720\nf 386//386 594//594 791//791\nf 642//642 477//477 792//792\nf 792//792 477//477 642//642\nf 796//796 792//792 642//642\nf 793//793 719//719 593//593\nf 719//719 793//793 794//794\nf 719//719 794//794 788//788\nf 724//724 641//641 795//795\nf 796//796 642//642 479//479\nf 611//611 724//724 727//727\nf 595//595 728//728 733//733\nf 559//559 733//733 729//729\nf 798//798 726//726 612//612\nf 725//725 645//645 561//561\nf 646//646 798//798 612//612\nf 479//479 647//647 796//796\nf 799//799 651//651 730//730\nf 651//651 644//644 730//730\nf 734//734 800//800 389//389\nf 647//647 650//650 796//796\nf 799//799 801//801 651//651\nf 651//651 801//801 654//654\nf 802//802 652//652 485//485\nf 652//652 802//802 649//649\nf 653//653 737//737 735//735\nf 529//529 566//566 803//803\nf 614//614 654//654 801//801\nf 614//614 801//801 654//654\nf 735//735 737//737 395//395\nf 566//566 803//803 738//738\nf 566//566 738//738 803//803\nf 566//566 738//738 803//803\nf 566//566 803//803 738//738\nf 487//487 736//736 485//485\nf 571//571 488//488 739//739\nf 739//739 804//804 488//488\nf 654//654 806//806 601//601\nf 807//807 736//736 487//487\nf 808//808 660//660 661//661\nf 808//808 661//661 571//571\nf 571//571 739//739 808//808\nf 807//807 570//570 809//809\nf 660//660 810//810 615//615\nf 396//396 740//740 656//656\nf 655//655 396//396 656//656\nf 811//811 657//657 656//656\nf 812//812 805//805 658//658\nf 658//658 805//805 738//738\nf 659//659 806//806 568//568\nf 570//570 569//569 814//814\nf 813//813 568//568 806//806\nf 615//615 810//810 665//665\nf 815//815 602//602 664//664\nf 815//815 740//740 602//602\nf 816//816 491//491 533//533\nf 493//493 491//491 816//816\nf 493//493 817//817 406//406\nf 408//408 667//667 741//741\nf 668//668 818//818 411//411\nf 819//819 667//667 410//410\nf 857//857 411//411 818//818\nf 824//824 822//822 821//821\nf 823//823 821//821 825//825\nf 826//826 822//822 824//824\nf 825//825 821//821 822//822\nf 822//822 823//823 825//825\nf 535//535 413//413 827//827\nf 828//828 827//827 413//413\nf 413//413 669//669 828//828\nf 669//669 414//414 670//670\nf 672//672 572//572 671//671\nf 672//672 671//671 829//829\nf 672//672 829//829 742//742\nf 743//743 669//669 670//670\nf 573//573 743//743 670//670\nf 742//742 858//858 830//830\nf 672//672 742//742 744//744\nf 617//617 672//672 744//744\nf 742//742 830//830 744//744\nf 673//673 743//743 573//573\nf 831//831 744//744 830//830\nf 576//576 745//745 747//747\nf 576//576 498//498 745//745\nf 746//746 674//674 604//604\nf 748//748 422//422 676//676\nf 833//833 750//750 749//749\nf 749//749 750//750 677//677\nf 750//750 749//749 677//677\nf 578//578 502//502 834//834\nf 578//578 834//834 676//676\nf 834//834 502//502 580//580\nf 580//580 834//834 751//751\nf 834//834 580//580 751//751\nf 834//834 426//426 835//835\nf 834//834 580//580 426//426\nf 753//753 752//752 755//755\nf 752//752 753//753 581//581\nf 837//837 835//835 754//754\nf 837//837 836//836 835//835\nf 754//754 835//835 426//426\nf 678//678 605//605 755//755\nf 754//754 586//586 756//756\nf 861//861 754//754 756//756\nf 587//587 584//584 757//757\nf 886//886 758//758 862//862\nf 587//587 680//680 758//758\nf 758//758 838//838 587//587\nf 838//838 682//682 587//587\nf 508//508 682//682 838//838\nf 681//681 588//588 759//759\nf 508//508 838//838 683//683\nf 510//510 759//759 588//588\nf 761//761 840//840 839//839\nf 761//761 839//839 841//841\nf 762//762 840//840 761//761\nf 760//760 686//686 842//842\nf 843//843 759//759 436//436\nf 606//606 509//509 760//760\nf 686//686 762//762 684//684\nf 843//843 436//436 437//437\nf 761//761 841//841 685//685\nf 843//843 687//687 689//689\nf 843//843 437//437 687//687\nf 766//766 607//607 619//619\nf 766//766 688//688 765//765\nf 845//845 607//607 766//766\nf 512//512 607//607 845//845\nf 767//767 512//512 845//845\nf 767//767 847//847 441//441\nf 767//767 441//441 690//690\nf 441//441 846//846 442//442\nf 847//847 846//846 441//441\nf 442//442 846//846 691//691\nf 849//849 769//769 768//768\nf 849//849 848//848 769//769\nf 768//768 849//849 693//693\nf 849//849 768//768 693//693\nf 692//692 768//768 694//694\nf 697//697 695//695 693//693\nf 850//850 693//693 696//696\nf 693//693 695//695 696//696\nf 768//768 851//851 694//694\nf 694//694 851//851 695//695\nf 695//695 852//852 698//698\nf 698//698 701//701 699//699\nf 852//852 701//701 698//698\nf 772//772 621//621 546//546\nf 1023//1023 772//772 773//773\nf 546//546 446//446 773//773\nf 867//867 624//624 706//706\nf 891//891 625//625 708//708\nf 628//628 550//550 868//868\nf 550//550 551//551 868//868\nf 551//551 552//552 777//777\nf 708//708 376//376 630//630\nf 780//780 713//713 554//554\nf 714//714 632//632 712//712\nf 781//781 714//714 853//853\nf 717//717 720//720 786//786\nf 720//720 381//381 786//786\nf 870//870 789//789 781//781\nf 870//870 854//854 789//789\nf 721//721 714//714 789//789\nf 855//855 721//721 789//789\nf 723//723 722//722 856//856\nf 795//795 723//723 856//856\nf 725//725 592//592 718//718\nf 722//722 721//721 856//856\nf 724//724 795//795 797//797\nf 529//529 803//803 650//650\nf 802//802 485//485 736//736\nf 395//395 737//737 739//739\nf 804//804 739//739 488//488\nf 803//803 805//805 738//738\nf 812//812 663//663 811//811\nf 740//740 815//815 656//656\nf 411//411 857//857 819//819\nf 825//825 823//823 822//822\nf 671//671 603//603 827//827\nf 858//858 742//742 829//829\nf 860//860 830//830 859//859\nf 830//830 860//860 831//831\nf 831//831 498//498 744//744\nf 498//498 831//831 745//745\nf 746//746 748//748 674//674\nf 749//749 832//832 833//833\nf 752//752 678//678 755//755\nf 837//837 754//754 861//861\nf 757//757 679//679 678//678\nf 885//885 757//757 678//678\nf 757//757 862//862 758//758\nf 861//861 433//433 681//681\nf 680//680 757//757 758//758\nf 680//680 758//758 886//886\nf 760//760 683//683 686//686\nf 863//863 685//685 841//841\nf 618//618 685//685 844//844\nf 618//618 844//844 765//765\nf 689//689 691//691 864//864\nf 691//691 846//846 864//864\nf 865//865 770//770 771//771\nf 850//850 696//696 770//770\nf 695//695 851//851 697//697\nf 695//695 697//697 852//852\nf 772//772 623//623 704//704\nf 867//867 627//627 624//624\nf 712//712 853//853 714//714\nf 712//712 778//778 853//853\nf 870//870 853//853 869//869\nf 853//853 870//870 781//781\nf 788//788 893//893 635//635\nf 788//788 794//794 871//871\nf 872//872 873//873 854//854\nf 791//791 874//874 732//732\nf 854//854 895//895 872//872\nf 873//873 789//789 854//854\nf 855//855 789//789 873//873\nf 856//856 721//721 855//855\nf 734//734 389//389 732//732\nf 727//727 875//875 728//728\nf 733//733 728//728 876//876\nf 733//733 876//876 877//877\nf 729//729 799//799 730//730\nf 875//875 876//876 728//728\nf 391//391 800//800 653//653\nf 570//570 814//814 809//809\nf 569//569 813//813 814//814\nf 816//816 533//533 665//665\nf 879//879 880//880 936//936\nf 880//880 944//944 881//881\nf 943//943 880//880 881//881\nf 826//826 882//882 883//883\nf 883//883 858//858 826//826\nf 822//822 826//826 858//858\nf 822//822 858//858 829//829\nf 831//831 747//747 745//745\nf 831//831 860//860 747//747\nf 747//747 884//884 832//832\nf 749//749 747//747 832//832\nf 834//834 835//835 836//836\nf 885//885 862//862 757//757\nf 758//758 680//680 886//886\nf 958//958 861//861 681//681\nf 839//839 959//959 841//841\nf 888//888 887//887 848//848\nf 865//865 850//850 770//770\nf 773//773 866//866 1256//1256\nf 866//866 446//446 370//370\nf 707//707 775//775 778//778\nf 868//868 551//551 777//777\nf 868//868 777//777 1043//1043\nf 778//778 892//892 853//853\nf 870//870 894//894 854//854\nf 894//894 895//895 854//854\nf 720//720 717//717 896//896\nf 871//871 893//893 788//788\nf 897//897 871//871 794//794\nf 895//895 898//898 872//872\nf 727//727 797//797 900//900\nf 974//974 794//794 793//793\nf 900//900 797//797 795//795\nf 729//729 733//733 877//877\nf 901//901 731//731 649//649\nf 727//727 900//900 875//875\nf 902//902 729//729 877//877\nf 902//902 799//799 729//729\nf 905//905 876//876 875//875\nf 904//904 905//905 875//875\nf 906//906 901//901 649//649\nf 900//900 903//903 904//904\nf 875//875 900//900 904//904\nf 649//649 802//802 906//906\nf 906//906 802//802 909//909\nf 912//912 907//907 910//910\nf 912//912 903//903 908//908\nf 737//737 804//804 739//739\nf 908//908 907//907 912//912\nf 654//654 911//911 806//806\nf 736//736 914//914 802//802\nf 736//736 807//807 914//914\nf 805//805 803//803 738//738\nf 912//912 913//913 903//903\nf 909//909 802//802 914//914\nf 917//917 910//910 915//915\nf 917//917 915//915 916//916\nf 910//910 917//917 912//912\nf 810//810 660//660 665//665\nf 912//912 917//917 918//918\nf 807//807 919//919 878//878\nf 878//878 914//914 807//807\nf 909//909 914//914 920//920\nf 914//914 878//878 920//920\nf 879//879 924//924 878//878\nf 920//920 878//878 924//924\nf 916//916 928//928 923//923\nf 923//923 917//917 916//916\nf 878//878 919//919 926//926\nf 878//878 926//926 879//879\nf 922//922 927//927 925//925\nf 916//916 922//922 928//928\nf 922//922 925//925 928//928\nf 880//880 926//926 935//935\nf 927//927 930//930 932//932\nf 925//925 927//927 932//932\nf 928//928 925//925 933//933\nf 926//926 929//929 934//934\nf 924//924 879//879 936//936\nf 819//819 857//857 818//818\nf 930//930 931//931 932//932\nf 879//879 926//926 880//880\nf 933//933 925//925 937//937\nf 926//926 934//934 935//935\nf 937//937 925//925 932//932\nf 932//932 939//939 937//937\nf 941//941 933//933 940//940\nf 933//933 937//937 940//940\nf 936//936 880//880 943//943\nf 937//937 939//939 940//940\nf 935//935 934//934 942//942\nf 880//880 935//935 944//944\nf 939//939 932//932 938//938\nf 932//932 931//931 938//938\nf 935//935 942//942 944//944\nf 942//942 946//946 945//945\nf 881//881 944//944 945//945\nf 944//944 942//942 945//945\nf 947//947 881//881 945//945\nf 945//945 946//946 948//948\nf 947//947 945//945 948//948\nf 947//947 948//948 949//949\nf 948//948 950//950 949//949\nf 949//949 950//950 951//951\nf 825//825 822//822 829//829\nf 671//671 825//825 829//829\nf 859//859 830//830 883//883\nf 830//830 858//858 883//883\nf 952//952 669//669 743//743\nf 860//860 859//859 953//953\nf 954//954 860//860 953//953\nf 954//954 747//747 860//860\nf 884//884 747//747 954//954\nf 674//674 748//748 676//676\nf 832//832 955//955 956//956\nf 833//833 832//832 956//956\nf 957//957 750//750 833//833\nf 752//752 750//750 957//957\nf 678//678 752//752 957//957\nf 839//839 758//758 886//886\nf 839//839 840//840 758//758\nf 886//886 959//959 839//839\nf 840//840 838//838 758//758\nf 840//840 762//762 838//838\nf 683//683 838//838 686//686\nf 841//841 959//959 960//960\nf 838//838 762//762 686//686\nf 864//864 846//846 847//847\nf 961//961 848//848 887//887\nf 1022//1022 768//768 693//693\nf 963//963 850//850 865//865\nf 963//963 865//865 962//962\nf 1256//1256 866//866 889//889\nf 1256//1256 889//889 1472//1472\nf 620//620 622//622 890//890\nf 1027//1027 1028//1028 623//623\nf 1028//1028 706//706 623//623\nf 1033//1033 1029//1029 625//625\nf 892//892 778//778 965//965\nf 965//965 778//778 1035//1035\nf 1039//1039 711//711 1040//1040\nf 892//892 965//965 853//853\nf 869//869 1044//1044 1046//1046\nf 1048//1048 1047//1047 782//782\nf 870//870 869//869 894//894\nf 709//709 966//966 783//783\nf 1055//1055 634//634 785//785\nf 787//787 642//642 636//636\nf 783//783 718//718 968//968\nf 783//783 968//968 718//718\nf 631//631 783//783 718//718\nf 1057//1057 893//893 871//871\nf 969//969 970//970 895//895\nf 894//894 969//969 895//895\nf 972//972 898//898 970//970\nf 898//898 895//895 970//970\nf 871//871 897//897 971//971\nf 872//872 898//898 1075//1075\nf 856//856 855//855 975//975\nf 856//856 976//976 795//795\nf 726//726 973//973 974//974\nf 726//726 974//974 793//793\nf 794//794 974//974 978//978\nf 976//976 856//856 975//975\nf 976//976 977//977 795//795\nf 977//977 900//900 795//795\nf 901//901 899//899 731//731\nf 734//734 732//732 1086//1086\nf 977//977 1090//1090 908//908\nf 876//876 905//905 981//981\nf 876//876 981//981 877//877\nf 1099//1099 653//653 1092//1092\nf 1087//1087 979//979 1100//1100\nf 900//900 977//977 908//908\nf 903//903 900//900 908//908\nf 1097//1097 1104//1104 654//654\nf 982//982 905//905 904//904\nf 982//982 904//904 903//903\nf 1101//1101 1110//1110 737//737\nf 983//983 915//915 907//907\nf 915//915 910//910 907//907\nf 982//982 903//903 913//913\nf 1128//1128 660//660 808//808\nf 807//807 809//809 986//986\nf 1113//1113 812//812 1122//1122\nf 1121//1121 1122//1122 811//811\nf 915//915 985//985 922//922\nf 916//916 915//915 922//922\nf 986//986 919//919 807//807\nf 986//986 1124//1124 919//919\nf 815//815 921//921 656//656\nf 921//921 656//656 815//815\nf 1129//1129 656//656 921//921\nf 656//656 921//921 815//815\nf 815//815 664//664 1134//1134\nf 988//988 987//987 1123//1123\nf 927//927 922//922 987//987\nf 817//817 493//493 816//816\nf 664//664 666//666 741//741\nf 988//988 930//930 987//987\nf 917//917 989//989 918//918\nf 930//930 927//927 987//987\nf 1141//1141 1138//1138 667//667\nf 1138//1138 741//741 667//667\nf 1143//1143 989//989 923//923\nf 820//820 819//819 818//818\nf 931//931 990//990 991//991\nf 931//931 930//930 990//990\nf 923//923 928//928 933//933\nf 992//992 923//923 933//933\nf 992//992 933//933 993//993\nf 1151//1151 1147//1147 943//943\nf 938//938 931//931 994//994\nf 931//931 991//991 994//994\nf 995//995 933//933 941//941\nf 939//939 938//938 997//997\nf 881//881 947//947 999//999\nf 943//943 881//881 999//999\nf 938//938 994//994 996//996\nf 998//998 946//946 942//942\nf 938//938 996//996 1001//1001\nf 938//938 1001//1001 997//997\nf 996//996 1000//1000 1002//1002\nf 1004//1004 999//999 947//947\nf 948//948 946//946 1158//1158\nf 1166//1166 949//949 951//951\nf 951//951 1005//1005 1006//1006\nf 951//951 950//950 1005//1005\nf 1007//1007 1006//1006 1005//1005\nf 1008//1008 1006//1006 1007//1007\nf 1009//1009 821//821 823//823\nf 825//825 1009//1009 823//823\nf 1010//1010 882//882 826//826\nf 1213//1213 673//673 1216//1216\nf 1215//1215 954//954 953//953\nf 884//884 1218//1218 832//832\nf 955//955 1011//1011 956//956\nf 956//956 1011//1011 955//955\nf 955//955 1223//1223 956//956\nf 836//836 837//837 1013//1013\nf 1014//1014 1467//1467 1228//1228\nf 1228//1228 1227//1227 862//862\nf 861//861 958//958 1230//1230\nf 1230//1230 958//958 681//681\nf 1015//1015 1016//1016 959//959\nf 886//886 1015//1015 959//959\nf 759//759 843//843 1233//1233\nf 1235//1235 863//863 841//841\nf 1233//1233 843//843 864//864\nf 848//848 1020//1020 888//888\nf 1251//1251 848//848 1246//1246\nf 1022//1022 849//849 768//768\nf 697//697 851//851 1254//1254\nf 1472//1472 703//703 1641//1641\nf 1641//1641 964//964 1024//1024\nf 964//964 620//620 1024//1024\nf 2454//2454 1641//1641 2023//2023\nf 1024//1024 620//620 890//890\nf 1027//1027 772//772 1023//1023\nf 1026//1026 890//890 622//622\nf 1026//1026 1025//1025 890//890\nf 774//774 1026//1026 622//622\nf 774//774 1029//1029 1026//1026\nf 867//867 706//706 1028//1028\nf 627//627 867//867 1030//1030\nf 775//775 627//627 1032//1032\nf 778//778 775//775 1034//1034\nf 1032//1032 1034//1034 775//775\nf 1035//1035 778//778 1034//1034\nf 710//710 1037//1037 1036//1036\nf 710//710 1036//1036 776//776\nf 1037//1037 710//710 711//711\nf 891//891 708//708 1038//1038\nf 1040//1040 711//711 628//628\nf 1040//1040 868//868 1041//1041\nf 776//776 1036//1036 779//779\nf 1042//1042 779//779 1036//1036\nf 1044//1044 869//869 853//853\nf 965//965 1044//1044 853//853\nf 1047//1047 630//630 782//782\nf 1050//1050 1045//1045 713//713\nf 779//779 1049//1049 709//709\nf 779//779 1042//1042 1049//1049\nf 713//713 780//780 1050//1050\nf 635//635 1050//1050 780//780\nf 894//894 869//869 1052//1052\nf 869//869 1046//1046 1052//1052\nf 1050//1050 635//635 1051//1051\nf 893//893 1051//1051 635//635\nf 1049//1049 966//966 709//709\nf 784//784 1048//1048 782//782\nf 967//967 1048//1048 784//784\nf 894//894 969//969 1053//1053\nf 969//969 894//894 1053//1053\nf 636//636 1055//1055 785//785\nf 966//966 968//968 783//783\nf 967//967 784//784 790//790\nf 1257//1257 1051//1051 1057//1057\nf 1257//1257 1057//1057 871//871\nf 636//636 1058//1058 1056//1056\nf 642//642 1058//1058 636//636\nf 783//783 968//968 718//718\nf 968//968 1059//1059 718//718\nf 1257//1257 871//871 971//971\nf 969//969 1053//1053 1060//1060\nf 970//970 969//969 1060//1060\nf 790//790 1061//1061 967//967\nf 1062//1062 896//896 717//717\nf 1058//1058 642//642 1063//1063\nf 1062//1062 720//720 896//896\nf 792//792 1064//1064 642//642\nf 1064//1064 1063//1063 642//642\nf 790//790 1065//1065 1061//1061\nf 1062//1062 1066//1066 720//720\nf 720//720 1066//1066 791//791\nf 1067//1067 1064//1064 792//792\nf 718//718 1068//1068 725//725\nf 1069//1069 1070//1070 971//971\nf 972//972 970//970 1060//1060\nf 796//796 1067//1067 792//792\nf 971//971 897//897 1069//1069\nf 897//897 1070//1070 1069//1069\nf 1065//1065 790//790 1071//1071\nf 790//790 899//899 1071//1071\nf 790//790 731//731 899//899\nf 874//874 791//791 1072//1072\nf 897//897 1069//1069 1070//1070\nf 1072//1072 1076//1076 732//732\nf 645//645 725//725 1074//1074\nf 1074//1074 725//725 1068//1068\nf 898//898 972//972 1075//1075\nf 874//874 1072//1072 732//732\nf 1078//1078 798//798 646//646\nf 1069//1069 897//897 794//794\nf 897//897 1069//1069 1080//1080\nf 872//872 1262//1262 1077//1077\nf 1077//1077 1084//1084 872//872\nf 855//855 873//873 1082//1082\nf 899//899 901//901 1071//1071\nf 1089//1089 1071//1071 901//901\nf 1076//1076 1086//1086 732//732\nf 1073//1073 796//796 979//979\nf 1083//1083 798//798 1079//1079\nf 726//726 1083//1083 973//973\nf 1088//1088 978//978 974//974\nf 794//794 1080//1080 1069//1069\nf 1084//1084 1081//1081 873//873\nf 1084//1084 873//873 872//872\nf 873//873 1081//1081 1084//1084\nf 855//855 1263//1263 975//975\nf 796//796 650//650 979//979\nf 1088//1088 974//974 1083//1083\nf 1083//1083 974//974 973//973\nf 1085//1085 976//976 975//975\nf 976//976 1085//1085 977//977\nf 650//650 1087//1087 979//979\nf 800//800 1086//1086 653//653\nf 977//977 1085//1085 1090//1090\nf 980//980 902//902 877//877\nf 980//980 799//799 902//902\nf 1087//1087 650//650 979//979\nf 1085//1085 1094//1094 1093//1093\nf 1085//1085 1093//1093 1090//1090\nf 980//980 877//877 1096//1096\nf 1091//1091 1097//1097 799//799\nf 799//799 1097//1097 801//801\nf 1089//1089 901//901 1098//1098\nf 906//906 1098//1098 901//901\nf 907//907 1093//1093 1094//1094\nf 981//981 1095//1095 877//877\nf 653//653 1099//1099 737//737\nf 908//908 1093//1093 907//907\nf 905//905 1095//1095 981//981\nf 1099//1099 1101//1101 737//737\nf 1098//1098 906//906 1105//1105\nf 907//907 1102//1102 983//983\nf 801//801 1097//1097 654//654\nf 909//909 1105//1105 906//906\nf 1100//1100 803//803 1107//1107\nf 909//909 1106//1106 1105//1105\nf 1102//1102 1108//1108 983//983\nf 1109//1109 982//982 1111//1111\nf 1103//1103 905//905 1109//1109\nf 1102//1102 915//915 1108//1108\nf 1108//1108 915//915 983//983\nf 1109//1109 905//905 982//982\nf 1110//1110 804//804 737//737\nf 805//805 1113//1113 803//803\nf 1107//1107 803//803 1113//1113\nf 1265//1265 1128//1128 808//808\nf 804//804 984//984 808//808\nf 1110//1110 984//984 804//804\nf 915//915 1115//1115 985//985\nf 1111//1111 982//982 1116//1116\nf 814//814 1117//1117 809//809\nf 1117//1117 986//986 809//809\nf 805//805 812//812 1113//1113\nf 1118//1118 985//985 1115//1115\nf 982//982 913//913 1116//1116\nf 814//814 1120//1120 1117//1117\nf 1122//1122 812//812 811//811\nf 985//985 987//987 922//922\nf 1118//1118 987//987 985//985\nf 1119//1119 1111//1111 1116//1116\nf 1117//1117 1125//1125 1124//1124\nf 1124//1124 986//986 1117//1117\nf 909//909 1126//1126 1106//1106\nf 1128//1128 665//665 1127//1127\nf 1128//1128 1132//1132 665//665\nf 665//665 660//660 1127//1127\nf 921//921 815//815 1129//1129\nf 988//988 1123//1123 1130//1130\nf 1123//1123 1118//1118 1130//1130\nf 918//918 1133//1133 1131//1131\nf 913//913 912//912 1131//1131\nf 913//913 1131//1131 1119//1119\nf 1126//1126 909//909 920//920\nf 1134//1134 1129//1129 815//815\nf 912//912 918//918 1131//1131\nf 1119//1119 1131//1131 1133//1133\nf 1124//1124 1125//1125 919//919\nf 816//816 665//665 1132//1132\nf 664//664 1135//1135 1134//1134\nf 1139//1139 1130//1130 1269//1269\nf 918//918 989//989 1270//1270\nf 1137//1137 920//920 924//924\nf 817//817 816//816 1268//1268\nf 1271//1271 1137//1137 924//924\nf 668//668 817//817 1140//1140\nf 1139//1139 990//990 930//930\nf 989//989 917//917 923//923\nf 929//929 926//926 1136//1136\nf 1271//1271 924//924 1137//1137\nf 1142//1142 818//818 668//668\nf 818//818 1142//1142 820//820\nf 1144//1144 820//820 1142//1142\nf 820//820 1141//1141 667//667\nf 820//820 1144//1144 1141//1141\nf 1145//1145 923//923 992//992\nf 1145//1145 1143//1143 923//923\nf 1146//1146 929//929 1136//1136\nf 1146//1146 934//934 929//929\nf 992//992 993//993 1145//1145\nf 994//994 991//991 1272//1272\nf 933//933 1145//1145 993//993\nf 934//934 1146//1146 1150//1150\nf 933//933 1149//1149 1145//1145\nf 1147//1147 936//936 943//943\nf 933//933 995//995 1149//1149\nf 934//934 1150//1150 942//942\nf 941//941 940//940 1152//1152\nf 994//994 1148//1148 996//996\nf 1151//1151 999//999 1153//1153\nf 940//940 939//939 1152//1152\nf 939//939 997//997 1152//1152\nf 942//942 1150//1150 998//998\nf 1151//1151 943//943 999//999\nf 1154//1154 1276//1276 1156//1156\nf 1000//1000 996//996 1148//1148\nf 1152//1152 997//997 1157//1157\nf 1155//1155 1154//1154 1156//1156\nf 1001//1001 1157//1157 997//997\nf 946//946 998//998 1158//1158\nf 996//996 1002//1002 1162//1162\nf 1003//1003 996//996 1162//1162\nf 1163//1163 1001//1001 996//996\nf 1160//1160 1157//1157 1001//1001\nf 947//947 949//949 1004//1004\nf 1163//1163 996//996 1003//1003\nf 1159//1159 1155//1155 1156//1156\nf 1002//1002 1161//1161 1162//1162\nf 1156//1156 1164//1164 1159//1159\nf 948//948 1158//1158 1165//1165\nf 1165//1165 950//950 948//948\nf 1004//1004 949//949 1166//1166\nf 1006//1006 1007//1007 1166//1166\nf 1006//1006 1166//1166 951//951\nf 1165//1165 1167//1167 950//950\nf 1167//1167 1005//1005 950//950\nf 1167//1167 1007//1007 1005//1005\nf 1008//1008 1007//1007 1167//1167\nf 1169//1169 1170//1170 1168//1168\nf 1168//1168 1170//1170 1173//1173\nf 1168//1168 1173//1173 1171//1171\nf 1174//1174 1176//1176 1173//1173\nf 1176//1176 1174//1174 1173//1173\nf 1319//1319 1177//1177 1175//1175\nf 1179//1179 1174//1174 1325//1325\nf 1175//1175 1182//1182 1178//1178\nf 1181//1181 1177//1177 1176//1176\nf 1175//1175 1177//1177 1181//1181\nf 1178//1178 1182//1182 1183//1183\nf 1182//1182 1175//1175 1181//1181\nf 1181//1181 1176//1176 1180//1180\nf 1180//1180 1174//1174 1179//1179\nf 1183//1183 1182//1182 1189//1189\nf 1326//1326 1185//1185 1184//1184\nf 1189//1189 1182//1182 1181//1181\nf 1185//1185 1191//1191 1184//1184\nf 1188//1188 1180//1180 1187//1187\nf 1180//1180 1188//1188 1181//1181\nf 1190//1190 1183//1183 1189//1189\nf 1185//1185 1183//1183 1190//1190\nf 1195//1195 1184//1184 1192//1192\nf 1184//1184 1195//1195 1186//1186\nf 1191//1191 1192//1192 1184//1184\nf 1193//1193 1186//1186 1195//1195\nf 1181//1181 1188//1188 1189//1189\nf 1191//1191 1185//1185 1190//1190\nf 1189//1189 1198//1198 1190//1190\nf 1192//1192 1191//1191 1196//1196\nf 1200//1200 1195//1195 1192//1192\nf 1189//1189 1197//1197 1198//1198\nf 1190//1190 1199//1199 1191//1191\nf 1192//1192 1196//1196 1199//1199\nf 1193//1193 1195//1195 1200//1200\nf 1189//1189 1188//1188 1342//1342\nf 1190//1190 1198//1198 1199//1199\nf 1196//1196 1191//1191 1199//1199\nf 1200//1200 1192//1192 1199//1199\nf 1189//1189 1342//1342 1197//1197\nf 1339//1339 1201//1201 1203//1203\nf 1202//1202 824//824 821//821\nf 1204//1204 824//824 1202//1202\nf 1193//1193 1200//1200 1201//1201\nf 1204//1204 1205//1205 826//826\nf 824//824 1204//1204 826//826\nf 1205//1205 1010//1010 826//826\nf 883//883 882//882 1010//1010\nf 883//883 1207//1207 1208//1208\nf 1206//1206 825//825 1209//1209\nf 1209//1209 825//825 827//827\nf 827//827 825//825 671//671\nf 1211//1211 1209//1209 828//828\nf 828//828 669//669 1210//1210\nf 827//827 828//828 1209//1209\nf 827//827 1211//1211 828//828\nf 828//828 1211//1211 827//827\nf 669//669 1212//1212 1210//1210\nf 669//669 1210//1210 1212//1212\nf 859//859 1208//1208 1214//1214\nf 1213//1213 669//669 952//952\nf 1210//1210 669//669 1213//1213\nf 859//859 883//883 1208//1208\nf 1215//1215 953//953 1214//1214\nf 1216//1216 743//743 673//673\nf 673//673 743//743 1216//1216\nf 1218//1218 954//954 1215//1215\nf 884//884 954//954 1218//1218\nf 673//673 674//674 1217//1217\nf 1217//1217 674//674 1219//1219\nf 1218//1218 1011//1011 832//832\nf 1220//1220 674//674 676//676\nf 1220//1220 1219//1219 674//674\nf 955//955 832//832 1011//1011\nf 676//676 1221//1221 1220//1220\nf 676//676 834//834 1221//1221\nf 1222//1222 955//955 1011//1011\nf 1223//1223 955//955 1222//1222\nf 956//956 1223//1223 833//833\nf 833//833 1223//1223 1012//1012\nf 957//957 833//833 1012//1012\nf 834//834 836//836 1221//1221\nf 836//836 1224//1224 1221//1221\nf 678//678 957//957 1012//1012\nf 885//885 678//678 1014//1014\nf 678//678 1012//1012 1225//1225\nf 678//678 1225//1225 1014//1014\nf 1224//1224 836//836 1013//1013\nf 862//862 885//885 1014//1014\nf 862//862 1014//1014 1227//1227\nf 1226//1226 1013//1013 837//837\nf 862//862 1227//1227 1228//1228\nf 1227//1227 886//886 862//862\nf 1227//1227 1228//1228 1229//1229\nf 1016//1016 1229//1229 1228//1228\nf 1227//1227 1229//1229 886//886\nf 1015//1015 1229//1229 1016//1016\nf 1015//1015 886//886 1229//1229\nf 1353//1353 1230//1230 1017//1017\nf 1353//1353 1017//1017 759//759\nf 1232//1232 1234//1234 959//959\nf 960//960 959//959 1234//1234\nf 1353//1353 759//759 1233//1233\nf 843//843 689//689 864//864\nf 1234//1234 841//841 960//960\nf 1235//1235 841//841 1234//1234\nf 864//864 1236//1236 1233//1233\nf 685//685 863//863 1235//1235\nf 1235//1235 1018//1018 685//685\nf 685//685 1018//1018 844//844\nf 1238//1238 864//864 1237//1237\nf 1236//1236 864//864 1238//1238\nf 844//844 1018//1018 1239//1239\nf 1239//1239 765//765 844//844\nf 1237//1237 767//767 1240//1240\nf 847//847 1237//1237 1238//1238\nf 1237//1237 847//847 1238//1238\nf 847//847 1237//1237 864//864\nf 765//765 1239//1239 766//766\nf 1239//1239 1241//1241 766//766\nf 1242//1242 767//767 845//845\nf 1242//1242 1240//1240 767//767\nf 847//847 767//767 1237//1237\nf 1019//1019 887//887 1243//1243\nf 1020//1020 1243//1243 887//887\nf 888//888 1020//1020 887//887\nf 963//963 1245//1245 1244//1244\nf 1246//1246 887//887 1019//1019\nf 1246//1246 961//961 887//887\nf 1248//1248 1020//1020 848//848\nf 963//963 1244//1244 1247//1247\nf 1245//1245 963//963 962//962\nf 962//962 1021//1021 1245//1245\nf 849//849 1248//1248 848//848\nf 850//850 1247//1247 1249//1249\nf 961//961 1246//1246 848//848\nf 1249//1249 849//849 1022//1022\nf 693//693 850//850 1249//1249\nf 693//693 1249//1249 1022//1022\nf 963//963 1247//1247 850//850\nf 962//962 1250//1250 1021//1021\nf 1251//1251 769//769 848//848\nf 1250//1250 962//962 865//865\nf 1250//1250 865//865 771//771\nf 1252//1252 1254//1254 851//851\nf 852//852 697//697 1254//1254\nf 1255//1255 701//701 852//852\nf 1253//1253 702//702 701//701\nf 1253//1253 701//701 1255//1255\nf 771//771 702//702 1253//1253\nf 2353//2353 1472//1472 1641//1641\nf 890//890 1025//1025 1024//1024\nf 1027//1027 623//623 772//772\nf 1030//1030 867//867 1028//1028\nf 1030//1030 1031//1031 627//627\nf 1029//1029 774//774 625//625\nf 1031//1031 1032//1032 627//627\nf 1033//1033 625//625 891//891\nf 711//711 1039//1039 1037//1037\nf 628//628 868//868 1040//1040\nf 1049//1049 1042//1042 1036//1036\nf 1041//1041 868//868 1043//1043\nf 1043//1043 777//777 713//713\nf 708//708 630//630 1047//1047\nf 894//894 1052//1052 969//969\nf 634//634 1055//1055 1054//1054\nf 1051//1051 893//893 1057//1057\nf 1055//1055 636//636 1056//1056\nf 717//717 634//634 1062//1062\nf 1062//1062 634//634 1054//1054\nf 718//718 1059//1059 1068//1068\nf 1258//1258 971//971 1070//1070\nf 1060//1060 1259//1259 972//972\nf 1066//1066 1072//1072 791//791\nf 796//796 1073//1073 1067//1067\nf 897//897 1070//1070 1069//1069\nf 1076//1076 1072//1072 874//874\nf 1079//1079 798//798 1078//1078\nf 1080//1080 1070//1070 897//897\nf 872//872 1075//1075 1262//1262\nf 1087//1087 1073//1073 979//979\nf 1083//1083 726//726 798//798\nf 1080//1080 794//794 978//978\nf 1075//1075 1261//1261 1262//1262\nf 855//855 1082//1082 1263//1263\nf 1085//1085 975//975 1263//1263\nf 1086//1086 800//800 734//734\nf 1093//1093 908//908 1090//1090\nf 799//799 980//980 1091//1091\nf 653//653 1086//1086 1092//1092\nf 650//650 803//803 979//979\nf 1096//1096 877//877 1095//1095\nf 1364//1364 1087//1087 1100//1100\nf 905//905 1103//1103 1095//1095\nf 907//907 1094//1094 1102//1102\nf 1102//1102 1264//1264 1115//1115\nf 1112//1112 654//654 1104//1104\nf 915//915 1102//1102 1115//1115\nf 911//911 654//654 1112//1112\nf 806//806 911//911 1114//1114\nf 1123//1123 987//987 1118//1118\nf 813//813 1114//1114 1267//1267\nf 813//813 806//806 1114//1114\nf 1265//1265 808//808 984//984\nf 1130//1130 1118//1118 1266//1266\nf 1128//1128 1127//1127 660//660\nf 811//811 656//656 1129//1129\nf 811//811 1129//1129 1121//1121\nf 1119//1119 1116//1116 913//913\nf 988//988 1130//1130 1139//1139\nf 930//930 988//988 1139//1139\nf 1133//1133 918//918 1270//1270\nf 1119//1119 1133//1133 1270//1270\nf 1136//1136 919//919 1125//1125\nf 920//920 1137//1137 1126//1126\nf 664//664 741//741 1135//1135\nf 741//741 1138//1138 1135//1135\nf 1136//1136 926//926 919//919\nf 1269//1269 990//990 1139//1139\nf 668//668 1140//1140 1142//1142\nf 989//989 1143//1143 1270//1270\nf 991//991 990//990 1272//1272\nf 1137//1137 924//924 936//936\nf 1145//1145 1273//1273 1143//1143\nf 1273//1273 1270//1270 1143//1143\nf 1275//1275 1274//1274 1276//1276\nf 1276//1276 1274//1274 1278//1278\nf 1275//1275 1276//1276 1154//1154\nf 1281//1281 1277//1277 1275//1275\nf 1280//1280 941//941 1152//1152\nf 941//941 1280//1280 995//995\nf 1281//1281 1275//1275 1154//1154\nf 1282//1282 1148//1148 1373//1373\nf 1002//1002 1000//1000 1148//1148\nf 1154//1154 1155//1155 1281//1281\nf 1156//1156 1276//1276 1278//1278\nf 1148//1148 1282//1282 1002//1002\nf 1278//1278 1283//1283 1156//1156\nf 999//999 1004//1004 1153//1153\nf 1379//1379 1152//1152 1160//1160\nf 1002//1002 1282//1282 1161//1161\nf 1001//1001 1163//1163 1160//1160\nf 1156//1156 1283//1283 1164//1164\nf 1381//1381 1164//1164 1283//1283\nf 1282//1282 1285//1285 1161//1161\nf 1003//1003 1162//1162 1163//1163\nf 1285//1285 1286//1286 1287//1287\nf 1162//1162 1288//1288 1382//1382\nf 1159//1159 1290//1290 1291//1291\nf 1159//1159 1164//1164 1290//1290\nf 1284//1284 1159//1159 1291//1291\nf 1287//1287 1161//1161 1285//1285\nf 1004//1004 1166//1166 1289//1289\nf 1289//1289 1007//1007 1292//1292\nf 1289//1289 1166//1166 1007//1007\nf 1293//1293 1292//1292 1007//1007\nf 1008//1008 1007//1007 1006//1006\nf 1008//1008 1293//1293 1007//1007\nf 1298//1298 1296//1296 1297//1297\nf 1298//1298 1297//1297 1299//1299\nf 1305//1305 1300//1300 1299//1299\nf 1299//1299 1301//1301 1304//1304\nf 1305//1305 1299//1299 1304//1304\nf 1300//1300 1305//1305 1302//1302\nf 1302//1302 1306//1306 1307//1307\nf 1304//1304 1301//1301 1303//1303\nf 1302//1302 1305//1305 1306//1306\nf 1306//1306 1305//1305 1310//1310\nf 1308//1308 1304//1304 1303//1303\nf 1307//1307 1306//1306 1309//1309\nf 1305//1305 1304//1304 1308//1308\nf 1305//1305 1308//1308 1310//1310\nf 1309//1309 1306//1306 1310//1310\nf 1169//1169 1311//1311 1309//1309\nf 1309//1309 1310//1310 1316//1316\nf 1313//1313 1312//1312 1437//1437\nf 1309//1309 1316//1316 1169//1169\nf 1168//1168 1311//1311 1169//1169\nf 1316//1316 1310//1310 1315//1315\nf 1169//1169 1172//1172 1170//1170\nf 1169//1169 1316//1316 1172//1172\nf 1171//1171 1313//1313 1168//1168\nf 1316//1316 1315//1315 1317//1317\nf 1314//1314 1313//1313 1171//1171\nf 1316//1316 1317//1317 1172//1172\nf 1319//1319 1314//1314 1171//1171\nf 1318//1318 1319//1319 1175//1175\nf 1173//1173 1170//1170 1325//1325\nf 1329//1329 1323//1323 1327//1327\nf 1170//1170 1322//1322 1325//1325\nf 1170//1170 1172//1172 1322//1322\nf 1173//1173 1174//1174 1171//1171\nf 1171//1171 1177//1177 1319//1319\nf 1447//1447 1318//1318 1175//1175\nf 1447//1447 1175//1175 1178//1178\nf 1321//1321 1447//1447 1178//1178\nf 1177//1177 1171//1171 1176//1176\nf 1321//1321 1178//1178 1326//1326\nf 1321//1321 1328//1328 1326//1326\nf 1324//1324 1330//1330 1320//1320\nf 1448//1448 1331//1331 1453//1453\nf 1325//1325 1174//1174 1173//1173\nf 1171//1171 1174//1174 1176//1176\nf 1321//1321 1326//1326 1328//1328\nf 1330//1330 1331//1331 1320//1320\nf 1174//1174 1180//1180 1176//1176\nf 1326//1326 1178//1178 1185//1185\nf 1186//1186 1327//1327 1328//1328\nf 1333//1333 1329//1329 1327//1327\nf 1326//1326 1184//1184 1328//1328\nf 1186//1186 1328//1328 1184//1184\nf 1334//1334 1332//1332 1333//1333\nf 1332//1332 1329//1329 1333//1333\nf 1332//1332 1334//1334 1335//1335\nf 1332//1332 1335//1335 1330//1330\nf 1330//1330 1336//1336 1331//1331\nf 1179//1179 1325//1325 1337//1337\nf 1185//1185 1178//1178 1183//1183\nf 1333//1333 1327//1327 1186//1186\nf 1336//1336 1330//1330 1335//1335\nf 1179//1179 1337//1337 1338//1338\nf 1339//1339 1333//1333 1186//1186\nf 1179//1179 1338//1338 1180//1180\nf 1334//1334 1333//1333 1339//1339\nf 1334//1334 1194//1194 1335//1335\nf 1341//1341 1338//1338 1337//1337\nf 1194//1194 1340//1340 1335//1335\nf 1186//1186 1193//1193 1339//1339\nf 1194//1194 1334//1334 1339//1339\nf 1188//1188 1187//1187 1342//1342\nf 1194//1194 1339//1339 1203//1203\nf 1194//1194 1343//1343 1340//1340\nf 1339//1339 1193//1193 1201//1201\nf 1194//1194 1203//1203 1343//1343\nf 1202//1202 821//821 1009//1009\nf 1344//1344 1199//1199 1198//1198\nf 1201//1201 1345//1345 1203//1203\nf 1343//1343 1203//1203 1346//1346\nf 1206//1206 1009//1009 825//825\nf 1198//1198 1197//1197 1347//1347\nf 1344//1344 1200//1200 1199//1199\nf 1201//1201 1200//1200 1348//1348\nf 1345//1345 1201//1201 1348//1348\nf 1203//1203 1345//1345 1346//1346\nf 883//883 1010//1010 1207//1207\nf 953//953 859//859 1214//1214\nf 1213//1213 952//952 743//743\nf 1215//1215 1214//1214 1349//1349\nf 1214//1214 1465//1465 1349//1349\nf 1217//1217 1216//1216 673//673\nf 1218//1218 1215//1215 1350//1350\nf 1011//1011 1218//1218 1350//1350\nf 1222//1222 1225//1225 1223//1223\nf 1225//1225 1012//1012 1223//1223\nf 1466//1466 1224//1224 1013//1013\nf 1466//1466 1013//1013 1226//1226\nf 1227//1227 1014//1014 1228//1228\nf 837//837 861//861 1226//1226\nf 861//861 1351//1351 1226//1226\nf 1230//1230 1351//1351 861//861\nf 1016//1016 1352//1352 1231//1231\nf 959//959 1016//1016 1231//1231\nf 1230//1230 681//681 759//759\nf 1230//1230 759//759 1017//1017\nf 959//959 1231//1231 1232//1232\nf 1232//1232 1354//1354 1234//1234\nf 1355//1355 1239//1239 1018//1018\nf 845//845 766//766 1241//1241\nf 1243//1243 1357//1357 1019//1019\nf 1356//1356 1357//1357 1243//1243\nf 1239//1239 1244//1244 1245//1245\nf 1239//1239 1355//1355 1244//1244\nf 1358//1358 1020//1020 1248//1248\nf 1249//1249 1248//1248 849//849\nf 1359//1359 769//769 1251//1251\nf 768//768 769//769 1359//1359\nf 1359//1359 1252//1252 768//768\nf 851//851 768//768 1252//1252\nf 1250//1250 771//771 1253//1253\nf 1255//1255 852//852 1254//1254\nf 2022//2022 1256//1256 1472//1472\nf 1641//1641 1024//1024 2023//2023\nf 891//891 1038//1038 1033//1033\nf 1038//1038 1360//1360 1033//1033\nf 1036//1036 1037//1037 1049//1049\nf 708//708 1047//1047 1038//1038\nf 1473//1473 1053//1053 1052//1052\nf 969//969 1052//1052 1053//1053\nf 1474//1474 968//968 1049//1049\nf 966//966 1049//1049 968//968\nf 1257//1257 971//971 1258//1258\nf 967//967 1061//1061 1065//1065\nf 972//972 1259//1259 1260//1260\nf 874//874 1072//1072 1076//1076\nf 1080//1080 1362//1362 1070//1070\nf 1363//1363 972//972 1260//1260\nf 1075//1075 972//972 1363//1363\nf 1075//1075 1363//1363 1261//1261\nf 1082//1082 873//873 1084//1084\nf 1263//1263 1082//1082 1084//1084\nf 1084//1084 1077//1077 1262//1262\nf 1085//1085 1263//1263 1094//1094\nf 979//979 803//803 1100//1100\nf 1094//1094 1263//1263 1102//1102\nf 1092//1092 1101//1101 1099//1099\nf 1118//1118 1264//1264 1483//1483\nf 1115//1115 1264//1264 1118//1118\nf 1114//1114 911//911 1112//1112\nf 814//814 813//813 1267//1267\nf 816//816 1132//1132 1268//1268\nf 1140//1140 817//817 1268//1268\nf 1126//1126 1137//1137 1271//1271\nf 1138//1138 1367//1367 1135//1135\nf 1270//1270 1366//1366 1119//1119\nf 1368//1368 1272//1272 990//990\nf 1271//1271 936//936 1369//1369\nf 936//936 1147//1147 1369//1369\nf 1271//1271 1137//1137 936//936\nf 1148//1148 994//994 1272//1272\nf 1367//1367 1372//1372 1274//1274\nf 1148//1148 1371//1371 1373//1373\nf 1369//1369 1151//1151 1147//1147\nf 1369//1369 1147//1147 1151//1151\nf 1370//1370 1374//1374 1372//1372\nf 1374//1374 1278//1278 1372//1372\nf 1278//1278 1274//1274 1372//1372\nf 1281//1281 1279//1279 1277//1277\nf 1153//1153 1498//1498 1151//1151\nf 1376//1376 1283//1283 1374//1374\nf 1283//1283 1278//1278 1374//1374\nf 1375//1375 1279//1279 1377//1377\nf 1818//1818 1493//1493 1375//1375\nf 1279//1279 1281//1281 1377//1377\nf 1281//1281 1155//1155 1284//1284\nf 1378//1378 1285//1285 1282//1282\nf 1152//1152 1157//1157 1160//1160\nf 1284//1284 1155//1155 1159//1159\nf 1378//1378 1286//1286 1285//1285\nf 1162//1162 1161//1161 1287//1287\nf 1163//1163 1162//1162 1382//1382\nf 1284//1284 1291//1291 1385//1385\nf 1162//1162 1287//1287 1288//1288\nf 1384//1384 1380//1380 1383//1383\nf 1386//1386 1384//1384 1390//1390\nf 1383//1383 1388//1388 1384//1384\nf 1383//1383 1389//1389 1388//1388\nf 1384//1384 1388//1388 1390//1390\nf 1387//1387 1386//1386 1390//1390\nf 1393//1393 1388//1388 1389//1389\nf 1394//1394 1390//1390 1393//1393\nf 1391//1391 1387//1387 1390//1390\nf 1395//1395 1390//1390 1394//1394\nf 1393//1393 1389//1389 1392//1392\nf 1390//1390 1388//1388 1393//1393\nf 1395//1395 1391//1391 1390//1390\nf 1008//1008 1397//1397 1293//1293\nf 1398//1398 1394//1394 1393//1393\nf 1395//1395 1394//1394 1294//1294\nf 1395//1395 1399//1399 1396//1396\nf 1398//1398 1393//1393 1400//1400\nf 1395//1395 1294//1294 1399//1399\nf 1394//1394 1398//1398 1294//1294\nf 1398//1398 1400//1400 1402//1402\nf 1294//1294 1398//1398 1402//1402\nf 1399//1399 1294//1294 1403//1403\nf 1401//1401 1399//1399 1404//1404\nf 1403//1403 1294//1294 1405//1405\nf 1405//1405 1294//1294 1402//1402\nf 1399//1399 1403//1403 1404//1404\nf 1403//1403 1405//1405 1407//1407\nf 1404//1404 1403//1403 1407//1407\nf 1408//1408 1404//1404 1407//1407\nf 1407//1407 1405//1405 1406//1406\nf 1407//1407 1406//1406 1409//1409\nf 1409//1409 1406//1406 1410//1410\nf 1408//1408 1407//1407 1411//1411\nf 1407//1407 1409//1409 1411//1411\nf 1408//1408 1411//1411 1412//1412\nf 1415//1415 1412//1412 1411//1411\nf 1413//1413 1409//1409 1410//1410\nf 1409//1409 1413//1413 1411//1411\nf 1411//1411 1413//1413 1414//1414\nf 1411//1411 1414//1414 1415//1415\nf 1417//1417 1416//1416 1418//1418\nf 1417//1417 1418//1418 1419//1419\nf 1420//1420 1421//1421 1418//1418\nf 1564//1564 1421//1421 1420//1420\nf 1424//1424 1423//1423 1427//1427\nf 1296//1296 1425//1425 1424//1424\nf 1295//1295 1425//1425 1296//1296\nf 1576//1576 1426//1426 1295//1295\nf 1428//1428 1424//1424 1427//1427\nf 1296//1296 1424//1424 1428//1428\nf 1296//1296 1428//1428 1430//1430\nf 1429//1429 1576//1576 1295//1295\nf 1297//1297 1296//1296 1430//1430\nf 1295//1295 1296//1296 1298//1298\nf 1295//1295 1298//1298 1429//1429\nf 1301//1301 1297//1297 1430//1430\nf 1300//1300 1429//1429 1299//1299\nf 1429//1429 1298//1298 1299//1299\nf 1431//1431 1429//1429 1300//1300\nf 1431//1431 1432//1432 1587//1587\nf 1299//1299 1297//1297 1301//1301\nf 1431//1431 1300//1300 1302//1302\nf 1431//1431 1302//1302 1432//1432\nf 1432//1432 1302//1302 1307//1307\nf 1432//1432 1307//1307 1435//1435\nf 1301//1301 1436//1436 1303//1303\nf 1437//1437 1307//1307 1311//1311\nf 1435//1435 1307//1307 1437//1437\nf 1439//1439 1303//1303 1438//1438\nf 1307//1307 1309//1309 1311//1311\nf 1312//1312 1435//1435 1437//1437\nf 1308//1308 1303//1303 1439//1439\nf 1168//1168 1313//1313 1437//1437\nf 1310//1310 1308//1308 1441//1441\nf 1168//1168 1437//1437 1311//1311\nf 1440//1440 1312//1312 1313//1313\nf 1440//1440 1313//1313 1314//1314\nf 1315//1315 1310//1310 1441//1441\nf 1442//1442 1440//1440 1314//1314\nf 1442//1442 1314//1314 1443//1443\nf 1314//1314 1319//1319 1318//1318\nf 1443//1443 1314//1314 1318//1318\nf 1320//1320 1444//1444 1446//1446\nf 1317//1317 1441//1441 1445//1445\nf 1317//1317 1315//1315 1441//1441\nf 1447//1447 1443//1443 1318//1318\nf 1448//1448 1444//1444 1320//1320\nf 1610//1610 1449//1449 1612//1612\nf 1446//1446 1324//1324 1320//1320\nf 1451//1451 1321//1321 1326//1326\nf 1450//1450 1327//1327 1323//1323\nf 1172//1172 1317//1317 1322//1322\nf 1330//1330 1324//1324 1452//1452\nf 1328//1328 1451//1451 1326//1326\nf 1450//1450 1451//1451 1327//1327\nf 1332//1332 1323//1323 1329//1329\nf 1448//1448 1320//1320 1331//1331\nf 1317//1317 1454//1454 1322//1322\nf 1451//1451 1328//1328 1327//1327\nf 1452//1452 1332//1332 1330//1330\nf 1331//1331 1336//1336 1453//1453\nf 1325//1325 1322//1322 1455//1455\nf 1337//1337 1325//1325 1455//1455\nf 1337//1337 1455//1455 1341//1341\nf 1335//1335 1340//1340 1456//1456\nf 1187//1187 1180//1180 1338//1338\nf 1187//1187 1338//1338 1458//1458\nf 1338//1338 1457//1457 1458//1458\nf 1187//1187 1458//1458 1342//1342\nf 1340//1340 1343//1343 1459//1459\nf 1462//1462 1343//1343 1346//1346\nf 1461//1461 1197//1197 1342//1342\nf 1348//1348 1200//1200 1344//1344\nf 1461//1461 1463//1463 1197//1197\nf 1344//1344 1198//1198 1347//1347\nf 1347//1347 1197//1197 1463//1463\nf 1345//1345 1348//1348 1464//1464\nf 1211//1211 828//828 1210//1210\nf 1213//1213 743//743 673//673\nf 2001//2001 1213//1213 1216//1216\nf 1349//1349 1350//1350 1215//1215\nf 1631//1631 1220//1220 1632//1632\nf 1631//1631 1219//1219 1220//1220\nf 1466//1466 1221//1221 1224//1224\nf 1225//1225 1467//1467 1014//1014\nf 1228//1228 1352//1352 1016//1016\nf 1232//1232 1231//1231 1352//1352\nf 1018//1018 1468//1468 1355//1355\nf 1018//1018 1235//1235 1468//1468\nf 1240//1240 1238//1238 1237//1237\nf 1468//1468 1244//1244 1355//1355\nf 1468//1468 1469//1469 1244//1244\nf 1244//1244 1469//1469 1249//1249\nf 2028//2028 2029//2029 1027//1027\nf 1031//1031 1030//1030 1772//1772\nf 2030//2030 1034//1034 1032//1032\nf 1360//1360 1038//1038 1033//1033\nf 965//965 1035//1035 1034//1034\nf 1060//1060 1053//1053 1259//1259\nf 1259//1259 1053//1053 1476//1476\nf 1058//1058 1063//1063 1064//1064\nf 1062//1062 1054//1054 1477//1477\nf 1361//1361 1062//1062 1066//1066\nf 1479//1479 1258//1258 1070//1070\nf 1480//1480 1260//1260 1478//1478\nf 1260//1260 1259//1259 1478//1478\nf 1066//1066 1361//1361 1072//1072\nf 646//646 645//645 1078//1078\nf 645//645 1074//1074 1078//1078\nf 1363//1363 1260//1260 1482//1482\nf 1084//1084 1102//1102 1263//1263\nf 980//980 1096//1096 1091//1091\nf 1084//1084 1264//1264 1102//1102\nf 1089//1089 1098//1098 1105//1105\nf 1092//1092 1099//1099 1101//1101\nf 1103//1103 1484//1484 1095//1095\nf 1484//1484 1103//1103 1109//1109\nf 1118//1118 1483//1483 1647//1647\nf 1118//1118 1647//1647 1266//1266\nf 814//814 1267//1267 1120//1120\nf 1120//1120 1486//1486 1117//1117\nf 1132//1132 1265//1265 984//984\nf 1266//1266 1485//1485 1130//1130\nf 1485//1485 1269//1269 1130//1130\nf 1109//1109 1111//1111 1365//1365\nf 1125//1125 1117//1117 1486//1486\nf 1121//1121 1487//1487 1122//1122\nf 1128//1128 1265//1265 1132//1132\nf 1111//1111 1119//1119 1365//1365\nf 1367//1367 1134//1134 1135//1135\nf 1269//1269 1368//1368 990//990\nf 1269//1269 1488//1488 1368//1368\nf 1489//1489 1144//1144 1142//1142\nf 1492//1492 1141//1141 1144//1144\nf 1372//1372 1367//1367 1138//1138\nf 1489//1489 1492//1492 1144//1144\nf 2095//2095 1649//1649 1491//1491\nf 1490//1490 1275//1275 1649//1649\nf 1491//1491 1275//1275 1277//1277\nf 1490//1490 1367//1367 1274//1274\nf 1148//1148 1272//1272 1371//1371\nf 1372//1372 1138//1138 1370//1370\nf 1273//1273 1145//1145 1149//1149\nf 1494//1494 1369//1369 1147//1147\nf 1493//1493 1277//1277 1279//1279\nf 1370//1370 1651//1651 1374//1374\nf 1651//1651 1495//1495 1374//1374\nf 1151//1151 1494//1494 1147//1147\nf 1501//1501 1497//1497 1499//1499\nf 1495//1495 1496//1496 1502//1502\nf 1495//1495 1502//1502 1503//1503\nf 1376//1376 1374//1374 1495//1495\nf 1373//1373 1500//1500 1282//1282\nf 1151//1151 1498//1498 1494//1494\nf 1496//1496 1497//1497 1501//1501\nf 1496//1496 1501//1501 1502//1502\nf 1379//1379 1280//1280 1152//1152\nf 1282//1282 1500//1500 1378//1378\nf 1501//1501 1505//1505 1502//1502\nf 1381//1381 1283//1283 1376//1376\nf 1377//1377 1281//1281 1504//1504\nf 1380//1380 1502//1502 1505//1505\nf 1504//1504 1281//1281 1284//1284\nf 1503//1503 1502//1502 1380//1380\nf 1506//1506 1503//1503 1507//1507\nf 1507//1507 1503//1503 1380//1380\nf 1507//1507 1380//1380 1386//1386\nf 1507//1507 1387//1387 1506//1506\nf 1160//1160 1163//1163 1382//1382\nf 1656//1656 1160//1160 1382//1382\nf 1383//1383 1380//1380 1505//1505\nf 1380//1380 1384//1384 1386//1386\nf 1290//1290 1164//1164 1381//1381\nf 1658//1658 1504//1504 1385//1385\nf 1385//1385 1504//1504 1284//1284\nf 1286//1286 1378//1378 1508//1508\nf 1165//1165 1158//1158 1509//1509\nf 1387//1387 1507//1507 1386//1386\nf 1287//1287 1286//1286 1512//1512\nf 1288//1288 1287//1287 1512//1512\nf 1383//1383 1510//1510 1516//1516\nf 1514//1514 1385//1385 1291//1291\nf 1515//1515 1385//1385 1514//1514\nf 1511//1511 1512//1512 1286//1286\nf 1288//1288 1512//1512 1513//1513\nf 1389//1389 1383//1383 1516//1516\nf 1396//1396 1517//1517 1395//1395\nf 1391//1391 1395//1395 1517//1517\nf 1389//1389 1516//1516 1392//1392\nf 1392//1392 1521//1521 1393//1393\nf 1399//1399 1401//1401 1519//1519\nf 1008//1008 1520//1520 1397//1397\nf 1519//1519 1396//1396 1399//1399\nf 1393//1393 1521//1521 1400//1400\nf 1400//1400 1521//1521 1523//1523\nf 1404//1404 1522//1522 1401//1401\nf 1402//1402 1400//1400 1523//1523\nf 1524//1524 1522//1522 1404//1404\nf 1406//1406 1405//1405 1402//1402\nf 1406//1406 1402//1402 1525//1525\nf 1526//1526 1404//1404 1408//1408\nf 1666//1666 1527//1527 1525//1525\nf 1525//1525 1527//1527 1406//1406\nf 1406//1406 1527//1527 1410//1410\nf 1526//1526 1408//1408 1412//1412\nf 1410//1410 1528//1528 1413//1413\nf 1412//1412 1415//1415 1529//1529\nf 1413//1413 1528//1528 1670//1670\nf 1530//1530 1415//1415 1414//1414\nf 1529//1529 1415//1415 1530//1530\nf 1529//1529 1530//1530 1531//1531\nf 1529//1529 1531//1531 1532//1532\nf 1414//1414 1413//1413 1533//1533\nf 1530//1530 1414//1414 1534//1534\nf 1534//1534 1414//1414 1533//1533\nf 1530//1530 1534//1534 1536//1536\nf 1531//1531 1535//1535 1532//1532\nf 1530//1530 1536//1536 1531//1531\nf 1534//1534 1671//1671 1537//1537\nf 1534//1534 1537//1537 1536//1536\nf 1535//1535 1531//1531 1536//1536\nf 1535//1535 1536//1536 1538//1538\nf 1539//1539 1535//1535 1538//1538\nf 1672//1672 1535//1535 1539//1539\nf 1541//1541 1540//1540 1539//1539\nf 1539//1539 1538//1538 1541//1541\nf 1540//1540 1541//1541 1542//1542\nf 1694//1694 1543//1543 1545//1545\nf 1543//1543 1544//1544 1550//1550\nf 1543//1543 1548//1548 1545//1545\nf 1545//1545 1547//1547 1546//1546\nf 1543//1543 1550//1550 1548//1548\nf 1545//1545 1548//1548 1551//1551\nf 1545//1545 1551//1551 1547//1547\nf 1549//1549 1546//1546 1547//1547\nf 1554//1554 1551//1551 1548//1548\nf 1552//1552 1547//1547 1551//1551\nf 1555//1555 1549//1549 1552//1552\nf 1550//1550 1553//1553 1548//1548\nf 1548//1548 1553//1553 1556//1556\nf 1554//1554 1548//1548 1556//1556\nf 1552//1552 1551//1551 1554//1554\nf 1416//1416 1552//1552 1554//1554\nf 1552//1552 1416//1416 1555//1555\nf 1554//1554 1556//1556 1557//1557\nf 1558//1558 1554//1554 1557//1557\nf 1554//1554 1558//1558 1416//1416\nf 1417//1417 1555//1555 1416//1416\nf 1420//1420 1558//1558 1557//1557\nf 1418//1418 1416//1416 1420//1420\nf 1416//1416 1558//1558 1420//1420\nf 1560//1560 1718//1718 1419//1419\nf 1420//1420 1557//1557 1559//1559\nf 1716//1716 1715//1715 1561//1561\nf 1716//1716 1561//1561 1562//1562\nf 1420//1420 1559//1559 1564//1564\nf 1418//1418 1422//1422 1419//1419\nf 1419//1419 1565//1565 1560//1560\nf 1560//1560 1565//1565 1563//1563\nf 1562//1562 1561//1561 1566//1566\nf 1567//1567 1568//1568 1562//1562\nf 1569//1569 1563//1563 1565//1565\nf 1422//1422 1418//1418 1421//1421\nf 1565//1565 1419//1419 1422//1422\nf 1422//1422 1421//1421 1424//1424\nf 1425//1425 1422//1422 1424//1424\nf 1565//1565 1422//1422 1425//1425\nf 1421//1421 1564//1564 1570//1570\nf 1423//1423 1421//1421 1570//1570\nf 1421//1421 1423//1423 1424//1424\nf 1569//1569 1565//1565 1425//1425\nf 1426//1426 1569//1569 1425//1425\nf 1426//1426 1425//1425 1295//1295\nf 1573//1573 1569//1569 1426//1426\nf 1427//1427 1423//1423 1570//1570\nf 1572//1572 1574//1574 1575//1575\nf 1427//1427 1570//1570 1578//1578\nf 1579//1579 1574//1574 1571//1571\nf 1426//1426 1576//1576 1573//1573\nf 1579//1579 1571//1571 1577//1577\nf 1575//1575 1574//1574 1579//1579\nf 1579//1579 1577//1577 1582//1582\nf 1575//1575 1579//1579 1583//1583\nf 1579//1579 1582//1582 1583//1583\nf 1578//1578 1584//1584 1585//1585\nf 1580//1580 1429//1429 1431//1431\nf 1585//1585 1427//1427 1578//1578\nf 1428//1428 1427//1427 1585//1585\nf 1577//1577 1586//1586 1582//1582\nf 1430//1430 1428//1428 1585//1585\nf 1585//1585 1588//1588 1430//1430\nf 1588//1588 1433//1433 1430//1430\nf 1301//1301 1430//1430 1433//1433\nf 1590//1590 1586//1586 1589//1589\nf 1590//1590 1582//1582 1586//1586\nf 1434//1434 1432//1432 1435//1435\nf 1593//1593 1590//1590 1589//1589\nf 1433//1433 1588//1588 1436//1436\nf 1588//1588 1594//1594 1436//1436\nf 1436//1436 1301//1301 1433//1433\nf 1595//1595 1591//1591 1435//1435\nf 1589//1589 1739//1739 1592//1592\nf 1592//1592 1593//1593 1589//1589\nf 1435//1435 1312//1312 1595//1595\nf 1438//1438 1303//1303 1436//1436\nf 1596//1596 1598//1598 1592//1592\nf 1593//1593 1592//1592 1599//1599\nf 1595//1595 1312//1312 1440//1440\nf 1592//1592 1598//1598 1599//1599\nf 1593//1593 1599//1599 1600//1600\nf 1604//1604 1439//1439 1438//1438\nf 1308//1308 1439//1439 1604//1604\nf 1597//1597 1444//1444 1602//1602\nf 1599//1599 1449//1449 1603//1603\nf 1604//1604 1438//1438 1601//1601\nf 1441//1441 1308//1308 1604//1604\nf 1598//1598 1602//1602 1449//1449\nf 1610//1610 1603//1603 1449//1449\nf 1447//1447 1605//1605 1443//1443\nf 1449//1449 1602//1602 1448//1448\nf 1605//1605 1442//1442 1443//1443\nf 1321//1321 1605//1605 1447//1447\nf 1606//1606 1605//1605 1321//1321\nf 1444//1444 1448//1448 1602//1602\nf 1441//1441 1604//1604 1445//1445\nf 1609//1609 1608//1608 1450//1450\nf 1445//1445 1604//1604 1611//1611\nf 1607//1607 1321//1321 1451//1451\nf 1609//1609 1323//1323 1452//1452\nf 1612//1612 1449//1449 1448//1448\nf 1332//1332 1452//1452 1323//1323\nf 1450//1450 1607//1607 1451//1451\nf 1612//1612 1448//1448 1613//1613\nf 1613//1613 1448//1448 1453//1453\nf 1612//1612 1613//1613 1610//1610\nf 1317//1317 1445//1445 1615//1615\nf 1614//1614 1610//1610 1613//1613\nf 1455//1455 1322//1322 1454//1454\nf 1613//1613 1453//1453 1617//1617\nf 1613//1613 1618//1618 1614//1614\nf 1617//1617 1453//1453 1336//1336\nf 1613//1613 1617//1617 1618//1618\nf 1455//1455 1454//1454 1616//1616\nf 1335//1335 1456//1456 1336//1336\nf 1618//1618 1617//1617 1621//1621\nf 1617//1617 1336//1336 1456//1456\nf 1618//1618 1621//1621 1620//1620\nf 1341//1341 1455//1455 1619//1619\nf 1621//1621 1617//1617 1456//1456\nf 1341//1341 1622//1622 1457//1457\nf 1338//1338 1341//1341 1457//1457\nf 1460//1460 1623//1623 1456//1456\nf 1340//1340 1459//1459 1460//1460\nf 1340//1340 1460//1460 1456//1456\nf 1626//1626 1458//1458 1457//1457\nf 1626//1626 1457//1457 1762//1762\nf 1205//1205 1204//1204 1982//1982\nf 1625//1625 1459//1459 1462//1462\nf 1459//1459 1343//1343 1462//1462\nf 1459//1459 1625//1625 1460//1460\nf 1342//1342 1626//1626 1461//1461\nf 1348//1348 1344//1344 1627//1627\nf 1462//1462 1346//1346 1629//1629\nf 1348//1348 1627//1627 1628//1628\nf 1629//1629 1345//1345 1464//1464\nf 1344//1344 1765//1765 1627//1627\nf 1346//1346 1345//1345 1629//1629\nf 1214//1214 1630//1630 1465//1465\nf 1208//1208 1630//1630 1214//1214\nf 1219//1219 1631//1631 1217//1217\nf 1011//1011 1633//1633 1222//1222\nf 1634//1634 1220//1220 1221//1221\nf 1634//1634 1632//1632 1220//1220\nf 1466//1466 1634//1634 1221//1221\nf 1225//1225 1222//1222 1636//1636\nf 1225//1225 1636//1636 1467//1467\nf 1637//1637 1352//1352 1228//1228\nf 1638//1638 1230//1230 1353//1353\nf 1639//1639 1235//1235 1234//1234\nf 1240//1240 1640//1640 1238//1238\nf 845//845 1241//1241 1242//1242\nf 1247//1247 1244//1244 1249//1249\nf 1469//1469 1248//1248 1249//1249\nf 1469//1469 1358//1358 1248//1248\nf 1251//1251 1246//1246 1470//1470\nf 1359//1359 1254//1254 1252//1252\nf 1253//1253 1255//1255 1771//1771\nf 1023//1023 773//773 1471//1471\nf 1471//1471 1256//1256 2022//2022\nf 889//889 703//703 1472//1472\nf 2353//2353 1641//1641 2454//2454\nf 1032//1032 1031//1031 1772//1772\nf 965//965 1034//1034 1642//1642\nf 1043//1043 713//713 1045//1045\nf 1044//1044 1052//1052 1046//1046\nf 2039//2039 1045//1045 1050//1050\nf 1475//1475 1050//1050 1051//1051\nf 2042//2042 1475//1475 1051//1051\nf 1055//1055 1781//1781 1477//1477\nf 1062//1062 1477//1477 1783//1783\nf 1644//1644 1258//1258 1479//1479\nf 1478//1478 1644//1644 1480//1480\nf 1361//1361 1066//1066 1062//1062\nf 1089//1089 1481//1481 1071//1071\nf 1645//1645 1479//1479 1070//1070\nf 1646//1646 1480//1480 1479//1479\nf 1480//1480 1646//1646 1260//1260\nf 1645//1645 1070//1070 1362//1362\nf 2065//2065 1076//1076 1790//1790\nf 1482//1482 1260//1260 1646//1646\nf 1089//1089 1105//1105 1481//1481\nf 1264//1264 1262//1262 1483//1483\nf 1262//1262 1264//1264 1084//1084\nf 1099//1099 1092//1092 1086//1086\nf 1097//1097 1091//1091 1096//1096\nf 1112//1112 1800//1800 1114//1114\nf 1267//1267 1114//1114 1801//1801\nf 1365//1365 1803//1803 1109//1109\nf 1366//1366 1365//1365 1119//1119\nf 1268//1268 1648//1648 1140//1140\nf 1134//1134 1367//1367 1490//1490\nf 1141//1141 1492//1492 1651//1651\nf 1490//1490 1274//1274 1275//1275\nf 1368//1368 1650//1650 1272//1272\nf 1650//1650 1371//1371 1272//1272\nf 1138//1138 1651//1651 1370//1370\nf 1138//1138 1141//1141 1651//1651\nf 1652//1652 1277//1277 1493//1493\nf 1491//1491 1277//1277 1652//1652\nf 2106//2106 2279//2279 1369//1369\nf 1492//1492 1489//1489 1496//1496\nf 1651//1651 1492//1492 1496//1496\nf 1489//1489 1653//1653 1497//1497\nf 1651//1651 1496//1496 1495//1495\nf 1489//1489 1497//1497 1496//1496\nf 1497//1497 1653//1653 1499//1499\nf 1373//1373 1654//1654 1500//1500\nf 995//995 1280//1280 1149//1149\nf 2109//2109 1823//1823 1149//1149\nf 1376//1376 1495//1495 1503//1503\nf 1822//1822 1375//1375 1377//1377\nf 1506//1506 1376//1376 1503//1503\nf 1505//1505 1501//1501 1499//1499\nf 1655//1655 1499//1499 1829//1829\nf 1506//1506 1381//1381 1376//1376\nf 1505//1505 1499//1499 1655//1655\nf 1383//1383 1505//1505 1510//1510\nf 1655//1655 1510//1510 1505//1505\nf 1506//1506 1657//1657 1381//1381\nf 1657//1657 1290//1290 1381//1381\nf 1508//1508 1378//1378 1831//1831\nf 1506//1506 1387//1387 1657//1657\nf 1286//1286 1508//1508 1660//1660\nf 1660//1660 1511//1511 1286//1286\nf 1513//1513 1382//1382 1288//1288\nf 1290//1290 1517//1517 1659//1659\nf 1290//1290 1657//1657 1517//1517\nf 1657//1657 1387//1387 1391//1391\nf 1657//1657 1391//1391 1517//1517\nf 1008//1008 1167//1167 1518//1518\nf 1392//1392 1516//1516 1661//1661\nf 1519//1519 1659//1659 1396//1396\nf 2136//2136 1837//1837 1519//1519\nf 1521//1521 1392//1392 1661//1661\nf 1521//1521 1661//1661 1662//1662\nf 1523//1523 1521//1521 1663//1663\nf 1525//1525 1402//1402 1523//1523\nf 1524//1524 1404//1404 1526//1526\nf 1525//1525 1523//1523 1664//1664\nf 1848//1848 1524//1524 1526//1526\nf 1666//1666 1525//1525 1664//1664\nf 1526//1526 1412//1412 1665//1665\nf 1412//1412 1667//1667 1665//1665\nf 1410//1410 1527//1527 1668//1668\nf 1667//1667 1412//1412 1529//1529\nf 1410//1410 1668//1668 1528//1528\nf 1669//1669 1529//1529 1532//1532\nf 1533//1533 1413//1413 1670//1670\nf 1533//1533 1670//1670 1671//1671\nf 1534//1534 1533//1533 1671//1671\nf 1672//1672 1532//1532 1535//1535\nf 1537//1537 1671//1671 1673//1673\nf 1536//1536 1537//1537 1538//1538\nf 1675//1675 1674//1674 1676//1676\nf 1537//1537 1673//1673 1538//1538\nf 1539//1539 1540//1540 1672//1672\nf 1680//1680 1676//1676 1677//1677\nf 1680//1680 1675//1675 1676//1676\nf 1880//1880 1675//1675 1680//1680\nf 1677//1677 1679//1679 1682//1682\nf 1540//1540 1686//1686 1678//1678\nf 1680//1680 1677//1677 1684//1684\nf 1880//1880 1680//1680 1685//1685\nf 1677//1677 1683//1683 1684//1684\nf 1540//1540 1542//1542 1686//1686\nf 1686//1686 1542//1542 1691//1691\nf 1684//1684 1683//1683 1689//1689\nf 1684//1684 1690//1690 1680//1680\nf 1680//1680 1694//1694 1685//1685\nf 1542//1542 1541//1541 1696//1696\nf 1692//1692 1686//1686 1691//1691\nf 1690//1690 1684//1684 1689//1689\nf 1694//1694 1680//1680 1690//1690\nf 1685//1685 1694//1694 1695//1695\nf 1693//1693 1687//1687 1686//1686\nf 1541//1541 1688//1688 1696//1696\nf 1686//1686 1692//1692 1693//1693\nf 1542//1542 1696//1696 1691//1691\nf 1543//1543 1694//1694 1690//1690\nf 1700//1700 1692//1692 1691//1691\nf 1543//1543 1690//1690 1544//1544\nf 1695//1695 1694//1694 1545//1545\nf 1697//1697 1695//1695 1545//1545\nf 1546//1546 1697//1697 1545//1545\nf 1699//1699 1691//1691 1698//1698\nf 1696//1696 1698//1698 1691//1691\nf 1700//1700 1691//1691 1699//1699\nf 1700//1700 1699//1699 1705//1705\nf 1701//1701 1546//1546 1549//1549\nf 1698//1698 1704//1704 1705//1705\nf 1699//1699 1698//1698 1705//1705\nf 1706//1706 1700//1700 1705//1705\nf 1708//1708 1900//1900 1707//1707\nf 1544//1544 1703//1703 1702//1702\nf 1544//1544 1702//1702 1550//1550\nf 1547//1547 1552//1552 1549//1549\nf 1707//1707 1706//1706 1710//1710\nf 1708//1708 1707//1707 1710//1710\nf 1702//1702 1709//1709 1550//1550\nf 1713//1713 1705//1705 1712//1712\nf 1549//1549 1555//1555 1711//1711\nf 1706//1706 1705//1705 1713//1713\nf 1710//1710 1706//1706 1713//1713\nf 1708//1708 1710//1710 1714//1714\nf 1553//1553 1550//1550 1709//1709\nf 1710//1710 1713//1713 1716//1716\nf 1553//1553 1717//1717 1556//1556\nf 1711//1711 1417//1417 1718//1718\nf 1715//1715 1713//1713 1712//1712\nf 1716//1716 1713//1713 1715//1715\nf 1715//1715 1712//1712 1721//1721\nf 1557//1557 1556//1556 1717//1717\nf 1417//1417 1419//1419 1718//1718\nf 1557//1557 1717//1717 1559//1559\nf 1720//1720 1718//1718 1560//1560\nf 1719//1719 1716//1716 1562//1562\nf 1560//1560 1563//1563 1720//1720\nf 1562//1562 1723//1723 1719//1719\nf 1561//1561 1721//1721 1722//1722\nf 1561//1561 1715//1715 1721//1721\nf 1559//1559 1724//1724 1725//1725\nf 1727//1727 1564//1564 1559//1559\nf 1561//1561 1722//1722 1726//1726\nf 1723//1723 1562//1562 1568//1568\nf 1561//1561 1726//1726 1566//1566\nf 1727//1727 1559//1559 1725//1725\nf 1921//1921 1563//1563 1569//1569\nf 1567//1567 1562//1562 1566//1566\nf 1564//1564 1727//1727 1570//1570\nf 1572//1572 1566//1566 1574//1574\nf 1572//1572 1567//1567 1566//1566\nf 1567//1567 1572//1572 1568//1568\nf 1566//1566 1726//1726 1571//1571\nf 1574//1574 1566//1566 1571//1571\nf 1572//1572 1728//1728 1568//1568\nf 1929//1929 1573//1573 1731//1731\nf 1573//1573 1576//1576 1731//1731\nf 1571//1571 1729//1729 1577//1577\nf 1578//1578 1570//1570 1730//1730\nf 1580//1580 1731//1731 1576//1576\nf 1728//1728 1572//1572 1575//1575\nf 1578//1578 1730//1730 1732//1732\nf 1580//1580 1576//1576 1429//1429\nf 1733//1733 1729//1729 1936//1936\nf 1581//1581 1728//1728 1575//1575\nf 1729//1729 1733//1733 1577//1577\nf 1732//1732 1730//1730 1932//1932\nf 1734//1734 1580//1580 1431//1431\nf 1581//1581 1575//1575 1735//1735\nf 1939//1939 1581//1581 1735//1735\nf 1735//1735 1575//1575 1583//1583\nf 1938//1938 1587//1587 1736//1736\nf 1584//1584 1738//1738 1585//1585\nf 1736//1736 1587//1587 1432//1432\nf 1740//1740 1583//1583 1582//1582\nf 1583//1583 1741//1741 1735//1735\nf 1738//1738 1588//1588 1585//1585\nf 1736//1736 1432//1432 1434//1434\nf 1740//1740 1582//1582 1590//1590\nf 1741//1741 1583//1583 1740//1740\nf 1594//1594 1738//1738 1946//1946\nf 1591//1591 1434//1434 1435//1435\nf 1592//1592 1739//1739 1596//1596\nf 1594//1594 1588//1588 1738//1738\nf 1740//1740 1590//1590 1593//1593\nf 1741//1741 1740//1740 1745//1745\nf 1742//1742 1744//1744 1596//1596\nf 1740//1740 1593//1593 1745//1745\nf 1743//1743 1741//1741 1745//1745\nf 1597//1597 1746//1746 1748//1748\nf 1597//1597 1744//1744 1746//1746\nf 1745//1745 1593//1593 1600//1600\nf 1438//1438 1955//1955 1954//1954\nf 1747//1747 1595//1595 1440//1440\nf 1596//1596 1744//1744 1597//1597\nf 1950//1950 1442//1442 1749//1749\nf 1596//1596 1597//1597 1598//1598\nf 1598//1598 1597//1597 1602//1602\nf 1598//1598 1449//1449 1599//1599\nf 1599//1599 1603//1603 1600//1600\nf 1749//1749 1442//1442 1605//1605\nf 1751//1751 1446//1446 1444//1444\nf 1444//1444 1748//1748 1751//1751\nf 1748//1748 1444//1444 1597//1597\nf 1752//1752 1600//1600 1603//1603\nf 1749//1749 1605//1605 1750//1750\nf 1750//1750 1605//1605 1606//1606\nf 1450//1450 1323//1323 1609//1609\nf 1607//1607 1606//1606 1321//1321\nf 1446//1446 1753//1753 1452//1452\nf 1752//1752 1610//1610 1756//1756\nf 1752//1752 1603//1603 1610//1610\nf 1608//1608 1607//1607 1450//1450\nf 1324//1324 1446//1446 1452//1452\nf 1753//1753 1609//1609 1452//1452\nf 1756//1756 1610//1610 1757//1757\nf 1610//1610 1614//1614 1757//1757\nf 1317//1317 1615//1615 1454//1454\nf 1757//1757 1614//1614 1758//1758\nf 1758//1758 1972//1972 1757//1757\nf 1758//1758 1614//1614 1618//1618\nf 1616//1616 1615//1615 1759//1759\nf 1620//1620 1758//1758 1618//1618\nf 1455//1455 1616//1616 1619//1619\nf 1760//1760 1619//1619 1616//1616\nf 1341//1341 1977//1977 1622//1622\nf 1621//1621 1456//1456 1620//1620\nf 1761//1761 1620//1620 1623//1623\nf 1620//1620 1456//1456 1623//1623\nf 1763//1763 1460//1460 1624//1624\nf 1763//1763 1623//1623 1460//1460\nf 1981//1981 1206//1206 2225//2225\nf 1622//1622 1457//1457 1762//1762\nf 1457//1457 1622//1622 1762//1762\nf 1342//1342 1458//1458 1626//1626\nf 1460//1460 1625//1625 1624//1624\nf 1983//1983 1206//1206 1209//1209\nf 1992//1992 1462//1462 1766//1766\nf 1463//1463 1461//1461 1764//1764\nf 1765//1765 1344//1344 1347//1347\nf 1347//1347 1463//1463 1765//1765\nf 1766//1766 1462//1462 1629//1629\nf 1464//1464 1348//1348 1628//1628\nf 1465//1465 1630//1630 1985//1985\nf 1631//1631 1216//1216 1217//1217\nf 2243//2243 1632//1632 1634//1634\nf 2243//2243 1634//1634 1466//1466\nf 1768//1768 1222//1222 1635//1635\nf 1222//1222 1768//1768 1636//1636\nf 1769//1769 2013//2013 1233//1233\nf 1233//1233 1236//1236 1238//1238\nf 1770//1770 1243//1243 1020//1020\nf 1250//1250 1253//1253 1771//1771\nf 1023//1023 1471//1471 2273//2273\nf 703//703 964//964 1641//1641\nf 2028//2028 1027//1027 2025//2025\nf 2029//2029 1772//1772 1028//1028\nf 2027//2027 1029//1029 1033//1033\nf 2027//2027 1033//1033 1773//1773\nf 2032//2032 1642//1642 1034//1034\nf 2031//2031 2032//2032 1034//1034\nf 1774//1774 2035//2035 2604//2604\nf 1049//1049 1037//1037 1775//1775\nf 1775//1775 1037//1037 1039//1039\nf 1775//1775 1039//1039 1776//1776\nf 1052//1052 1044//1044 1777//1777\nf 2036//2036 1043//1043 2038//2038\nf 1049//1049 1775//1775 1474//1474\nf 1050//1050 1475//1475 2039//2039\nf 2042//2042 2039//2039 1475//1475\nf 1052//1052 2040//2040 1473//1473\nf 1053//1053 1473//1473 2040//2040\nf 2043//2043 968//968 1474//1474\nf 2047//2047 1257//1257 1643//1643\nf 1257//1257 1258//1258 1643//1643\nf 1064//1064 2052//2052 1058//1058\nf 1259//1259 1476//1476 1780//1780\nf 1477//1477 1054//1054 1055//1055\nf 2052//2052 1064//1064 1779//1779\nf 2053//2053 1779//1779 1067//1067\nf 1258//1258 1644//1644 1782//1782\nf 1259//1259 1780//1780 1478//1478\nf 1782//1782 1478//1478 1780//1780\nf 1782//1782 1644//1644 1478//1478\nf 1786//1786 2057//2057 1067//1067\nf 1059//1059 1784//1784 1068//1068\nf 1644//1644 1479//1479 1480//1480\nf 1066//1066 1062//1062 1785//1785\nf 1067//1067 1073//1073 1786//1786\nf 1068//1068 1784//1784 1787//1787\nf 1785//1785 1361//1361 1066//1066\nf 1078//1078 1788//1788 1079//1079\nf 1479//1479 1645//1645 1646//1646\nf 1786//1786 1073//1073 1087//1087\nf 1791//1791 1646//1646 1645//1645\nf 1088//1088 2069//2069 978//978\nf 2070//2070 1362//1362 1080//1080\nf 1791//1791 1645//1645 1362//1362\nf 1646//1646 2072//2072 2073//2073\nf 2074//2074 1363//1363 1482//1482\nf 2075//2075 1086//1086 2067//2067\nf 1261//1261 1363//1363 1792//1792\nf 1262//1262 1261//1261 1792//1792\nf 1483//1483 1262//1262 1792//1792\nf 1483//1483 1792//1792 1798//1798\nf 1364//1364 1793//1793 1087//1087\nf 1647//1647 1483//1483 1798//1798\nf 2079//2079 1110//1110 1101//1101\nf 1799//1799 1095//1095 1484//1484\nf 1101//1101 1110//1110 1099//1099\nf 1110//1110 1101//1101 1099//1099\nf 1798//1798 1266//1266 1647//1647\nf 2082//2082 2076//2076 1266//1266\nf 2076//2076 2082//2082 1266//1266\nf 1803//1803 1365//1365 2089//2089\nf 2086//2086 1113//1113 1805//1805\nf 1805//1805 1487//1487 1121//1121\nf 1106//1106 1126//1126 1804//1804\nf 1488//1488 1269//1269 1806//1806\nf 1134//1134 1808//1808 1129//1129\nf 1368//1368 1488//1488 1806//1806\nf 1807//1807 1365//1365 1366//1366\nf 1810//1810 2096//2096 1366//1366\nf 1649//1649 1134//1134 1490//1490\nf 1649//1649 1275//1275 1491//1491\nf 1491//1491 1652//1652 2098//2098\nf 1140//1140 1489//1489 1142//1142\nf 1650//1650 1811//1811 1371//1371\nf 1813//1813 1140//1140 2099//2099\nf 1489//1489 1140//1140 1813//1813\nf 2098//2098 1652//1652 1814//1814\nf 1493//1493 1814//1814 1652//1652\nf 2104//2104 1371//1371 2101//2101\nf 1146//1146 1136//1136 1812//1812\nf 1814//1814 1493//1493 2103//2103\nf 2104//2104 1815//1815 1371//1371\nf 1373//1373 1815//1815 1654//1654\nf 1273//1273 1149//1149 1817//1817\nf 1489//1489 1813//1813 1653//1653\nf 1373//1373 1371//1371 1815//1815\nf 1493//1493 1279//1279 1375//1375\nf 2103//2103 1493//1493 1818//1818\nf 1375//1375 1819//1819 1818//1818\nf 1500//1500 1654//1654 1820//1820\nf 998//998 1150//1150 1821//1821\nf 1499//1499 1653//1653 2107//2107\nf 1819//1819 1375//1375 1822//1822\nf 2107//2107 1824//1824 1499//1499\nf 1500//1500 1820//1820 2110//2110\nf 1149//1149 1280//1280 1825//1825\nf 1499//1499 1824//1824 2113//2113\nf 1378//1378 1500//1500 1827//1827\nf 1830//1830 1831//1831 1378//1378\nf 2118//2118 1831//1831 1830//1830\nf 1656//1656 1379//1379 1160//1160\nf 1655//1655 2113//2113 1833//1833\nf 1509//1509 1158//1158 2121//2121\nf 1510//1510 1655//1655 1833//1833\nf 1832//1832 1656//1656 1382//1382\nf 1832//1832 1382//1382 1834//1834\nf 1513//1513 1834//1834 1382//1382\nf 1165//1165 2121//2121 1167//1167\nf 1290//1290 1659//1659 1514//1514\nf 1290//1290 1514//1514 1291//1291\nf 1658//1658 1515//1515 1835//1835\nf 1658//1658 1385//1385 1515//1515\nf 2123//2123 1658//1658 1835//1835\nf 2126//2126 1834//1834 1513//1513\nf 1510//1510 1833//1833 2127//2127\nf 1838//1838 1514//1514 1837//1837\nf 1514//1514 1659//1659 1837//1837\nf 1839//1839 1515//1515 1838//1838\nf 1838//1838 1515//1515 1514//1514\nf 1513//1513 1512//1512 2131//2131\nf 1661//1661 1516//1516 1840//1840\nf 1659//1659 1517//1517 1396//1396\nf 2129//2129 1292//1292 1293//1293\nf 2136//2136 1838//1838 1837//1837\nf 2138//2138 2139//2139 1520//1520\nf 2136//2136 1519//1519 1401//1401\nf 1662//1662 1661//1661 1842//1842\nf 1521//1521 1845//1845 1663//1663\nf 2140//2140 1522//1522 1846//1846\nf 1663//1663 1845//1845 1847//1847\nf 1522//1522 1524//1524 1846//1846\nf 1524//1524 1848//1848 1846//1846\nf 1664//1664 1523//1523 1663//1663\nf 1846//1846 1848//1848 1665//1665\nf 1848//1848 1526//1526 1665//1665\nf 1666//1666 1849//1849 1851//1851\nf 1664//1664 1849//1849 1666//1666\nf 1665//1665 1667//1667 1850//1850\nf 1852//1852 1850//1850 1667//1667\nf 1527//1527 1666//1666 1851//1851\nf 1529//1529 1853//1853 1667//1667\nf 1669//1669 1853//1853 1529//1529\nf 1527//1527 1856//1856 1668//1668\nf 2145//2145 2144//2144 1857//1857\nf 1854//1854 1857//1857 1858//1858\nf 1854//1854 2145//2145 1857//1857\nf 1861//1861 1857//1857 1855//1855\nf 1857//1857 1861//1861 1858//1858\nf 1532//1532 1859//1859 1669//1669\nf 1532//1532 1863//1863 1859//1859\nf 1861//1861 1862//1862 1858//1858\nf 1528//1528 1865//1865 1670//1670\nf 1858//1858 1862//1862 1864//1864\nf 1864//1864 1862//1862 1867//1867\nf 1861//1861 1860//1860 1866//1866\nf 1532//1532 1672//1672 1863//1863\nf 1863//1863 1870//1870 1868//1868\nf 1866//1866 1860//1860 1871//1871\nf 1861//1861 1866//1866 1871//1871\nf 1867//1867 1861//1861 1872//1872\nf 1862//1862 1861//1861 1867//1867\nf 1671//1671 1670//1670 1869//1869\nf 1870//1870 1863//1863 1873//1873\nf 1861//1861 1871//1871 1874//1874\nf 1861//1861 1874//1874 1872//1872\nf 1863//1863 1672//1672 1873//1873\nf 1870//1870 1868//1868 1873//1873\nf 1877//1877 1875//1875 1674//1674\nf 2160//2160 1671//1671 1869//1869\nf 1870//1870 2159//2159 1678//1678\nf 1875//1875 1876//1876 1872//1872\nf 1674//1674 1875//1875 1878//1878\nf 1875//1875 1872//1872 1878//1878\nf 1879//1879 1674//1674 1675//1675\nf 2159//2159 1870//1870 1873//1873\nf 1676//1676 1878//1878 1872//1872\nf 1878//1878 1676//1676 1674//1674\nf 1672//1672 1540//1540 1678//1678\nf 1679//1679 1874//1874 1871//1871\nf 1872//1872 1679//1679 1677//1677\nf 1872//1872 1874//1874 1679//1679\nf 1676//1676 1872//1872 1677//1677\nf 1675//1675 1880//1880 1881//1881\nf 1873//1873 1672//1672 1678//1678\nf 1673//1673 2160//2160 1882//1882\nf 1879//1879 1880//1880 1881//1881\nf 1681//1681 1538//1538 1673//1673\nf 1682//1682 1679//1679 2161//2161\nf 1880//1880 1886//1886 1885//1885\nf 1681//1681 1673//1673 1887//1887\nf 1687//1687 1678//1678 1686//1686\nf 1883//1883 1678//1678 1687//1687\nf 1883//1883 1687//1687 1884//1884\nf 1677//1677 1682//1682 1683//1683\nf 1880//1880 1685//1685 1886//1886\nf 1884//1884 1687//1687 1888//1888\nf 1688//1688 1541//1541 1538//1538\nf 1688//1688 1538//1538 1681//1681\nf 1890//1890 1889//1889 2164//2164\nf 1681//1681 1887//1887 1688//1688\nf 1889//1889 1890//1890 1682//1682\nf 1683//1683 1682//1682 1891//1891\nf 1689//1689 1683//1683 1891//1891\nf 1682//1682 1890//1890 1891//1891\nf 2162//2162 1697//1697 1893//1893\nf 1886//1886 1685//1685 1697//1697\nf 1688//1688 1894//1894 1892//1892\nf 1696//1696 1688//1688 1892//1892\nf 1895//1895 1687//1687 1693//1693\nf 1697//1697 1685//1685 1695//1695\nf 1689//1689 1891//1891 1890//1890\nf 1697//1697 1546//1546 1701//1701\nf 1892//1892 1898//1898 1696//1696\nf 1703//1703 1689//1689 1890//1890\nf 1897//1897 1703//1703 1890//1890\nf 1689//1689 1544//1544 1690//1690\nf 1896//1896 1697//1697 1701//1701\nf 1892//1892 1894//1894 1898//1898\nf 1693//1693 1692//1692 1700//1700\nf 1900//1900 1895//1895 1693//1693\nf 1689//1689 1703//1703 1544//1544\nf 1693//1693 1899//1899 1900//1900\nf 1897//1897 1902//1902 1703//1703\nf 1693//1693 1700//1700 1899//1899\nf 1698//1698 1696//1696 1898//1898\nf 1898//1898 1903//1903 1698//1698\nf 1700//1700 1706//1706 1707//1707\nf 1703//1703 1902//1902 1904//1904\nf 1899//1899 1700//1700 1707//1707\nf 1703//1703 1904//1904 1702//1702\nf 1698//1698 1905//1905 1704//1704\nf 1698//1698 1903//1903 1905//1905\nf 1900//1900 1899//1899 1707//1707\nf 1904//1904 1906//1906 1702//1702\nf 1908//1908 1702//1702 1906//1906\nf 1702//1702 1908//1908 1709//1709\nf 1910//1910 1704//1704 1905//1905\nf 1911//1911 1907//1907 1714//1714\nf 1708//1708 1714//1714 1907//1907\nf 1705//1705 1910//1910 1712//1712\nf 1705//1705 1704//1704 1910//1910\nf 1909//1909 1711//1711 1718//1718\nf 1717//1717 1553//1553 1913//1913\nf 1712//1712 1912//1912 1721//1721\nf 1709//1709 1908//1908 1913//1913\nf 1553//1553 1709//1709 1913//1913\nf 1711//1711 1555//1555 1417//1417\nf 1714//1714 1710//1710 1716//1716\nf 1714//1714 1719//1719 1911//1911\nf 1911//1911 1719//1719 1915//1915\nf 1718//1718 1720//1720 1914//1914\nf 1714//1714 1716//1716 1719//1719\nf 1915//1915 1719//1719 1916//1916\nf 1717//1717 1913//1913 2173//2173\nf 1721//1721 1912//1912 2174//2174\nf 1916//1916 1719//1719 1723//1723\nf 1920//1920 1915//1915 1916//1916\nf 1559//1559 1717//1717 1724//1724\nf 1918//1918 1914//1914 1563//1563\nf 1919//1919 1721//1721 2174//2174\nf 1917//1917 1724//1724 1717//1717\nf 1914//1914 1720//1720 1563//1563\nf 1722//1722 1721//1721 1919//1919\nf 1920//1920 1916//1916 1723//1723\nf 1921//1921 1918//1918 1563//1563\nf 1726//1726 1722//1722 1922//1922\nf 1919//1919 2177//2177 1925//1925\nf 1722//1722 1919//1919 1922//1922\nf 1724//1724 1917//1917 1725//1725\nf 1921//1921 1569//1569 1926//1926\nf 1922//1922 1919//1919 1925//1925\nf 1723//1723 1568//1568 1923//1923\nf 1723//1723 1923//1923 2181//2181\nf 1569//1569 1573//1573 1926//1926\nf 1725//1725 1924//1924 1928//1928\nf 1725//1725 1928//1928 1727//1727\nf 1730//1730 1570//1570 1727//1727\nf 1926//1926 1573//1573 1927//1927\nf 1571//1571 1726//1726 1922//1922\nf 1730//1730 1727//1727 1928//1928\nf 1571//1571 1922//1922 1729//1729\nf 1933//1933 2182//2182 1728//1728\nf 1580//1580 1934//1934 2185//2185\nf 1935//1935 1728//1728 1581//1581\nf 1933//1933 1728//1728 1935//1935\nf 1934//1934 1580//1580 1734//1734\nf 1933//1933 1935//1935 1581//1581\nf 1935//1935 1933//1933 1581//1581\nf 1937//1937 1933//1933 1935//1935\nf 1734//1734 1587//1587 1934//1934\nf 1584//1584 1732//1732 1940//1940\nf 1578//1578 1732//1732 1584//1584\nf 1581//1581 1939//1939 1935//1935\nf 1734//1734 1431//1431 1587//1587\nf 1941//1941 1733//1733 1936//1936\nf 1577//1577 1733//1733 1737//1737\nf 1577//1577 1737//1737 1586//1586\nf 1733//1733 1941//1941 1737//1737\nf 1937//1937 1935//1935 1939//1939\nf 1739//1739 1737//1737 1942//1942\nf 1589//1589 1586//1586 1739//1739\nf 1735//1735 1937//1937 1939//1939\nf 1736//1736 1434//1434 1591//1591\nf 1737//1737 1941//1941 1942//1942\nf 1586//1586 1737//1737 1739//1739\nf 1584//1584 2194//2194 1738//1738\nf 1591//1591 1943//1943 2192//2192\nf 1735//1735 1741//1741 2195//2195\nf 1742//1742 1942//1942 1944//1944\nf 1739//1739 1942//1942 1742//1742\nf 1945//1945 1591//1591 1595//1595\nf 1747//1747 1945//1945 1595//1595\nf 1739//1739 1742//1742 1596//1596\nf 2196//2196 1744//1744 1944//1944\nf 2194//2194 1946//1946 1738//1738\nf 1742//1742 1944//1944 1744//1744\nf 2198//2198 1948//1948 1747//1747\nf 1744//1744 2196//2196 1746//1746\nf 1594//1594 1946//1946 1947//1947\nf 1747//1747 1440//1440 1442//1442\nf 2198//2198 1747//1747 1950//1950\nf 2198//2198 1950//1950 1951//1951\nf 1747//1747 1442//1442 1950//1950\nf 2198//2198 1950//1950 1442//1442\nf 2198//2198 1442//1442 1950//1950\nf 1950//1950 1749//1749 1951//1951\nf 1746//1746 2196//2196 1748//1748\nf 1743//1743 1745//1745 1952//1952\nf 1743//1743 1953//1953 1949//1949\nf 1438//1438 1594//1594 1955//1955\nf 1749//1749 2202//2202 1951//1951\nf 2196//2196 1956//1956 1748//1748\nf 1745//1745 1600//1600 1952//1952\nf 1743//1743 1952//1952 1953//1953\nf 1594//1594 1954//1954 1955//1955\nf 1438//1438 1436//1436 1594//1594\nf 1748//1748 1956//1956 1751//1751\nf 2204//2204 1958//1958 1750//1750\nf 1959//1959 1961//1961 1960//1960\nf 1601//1601 1438//1438 1954//1954\nf 1960//1960 1753//1753 1959//1959\nf 1961//1961 1446//1446 1956//1956\nf 1751//1751 1956//1956 1446//1446\nf 1962//1962 1953//1953 1952//1952\nf 1960//1960 1609//1609 1753//1753\nf 1961//1961 1959//1959 1753//1753\nf 1961//1961 1753//1753 1446//1446\nf 1600//1600 1752//1752 1754//1754\nf 1600//1600 1754//1754 1952//1952\nf 1962//1962 1957//1957 1953//1953\nf 2204//2204 1607//1607 1963//1963\nf 1608//1608 2205//2205 1964//1964\nf 2205//2205 1608//1608 1609//1609\nf 1952//1952 1754//1754 1962//1962\nf 1963//1963 1607//1607 1608//1608\nf 1964//1964 1963//1963 1608//1608\nf 1965//1965 1962//1962 1754//1754\nf 1604//1604 1601//1601 1755//1755\nf 1611//1611 1604//1604 1755//1755\nf 1754//1754 1752//1752 1756//1756\nf 1755//1755 1601//1601 1966//1966\nf 1962//1962 1965//1965 1969//1969\nf 1965//1965 1754//1754 1967//1967\nf 1611//1611 1755//1755 1966//1966\nf 1754//1754 1756//1756 1967//1967\nf 1967//1967 1969//1969 1965//1965\nf 1611//1611 1966//1966 1755//1755\nf 1967//1967 1756//1756 1968//1968\nf 1611//1611 1755//1755 2210//2210\nf 1970//1970 1445//1445 1611//1611\nf 1968//1968 1756//1756 1757//1757\nf 1615//1615 1445//1445 1970//1970\nf 1616//1616 1454//1454 1615//1615\nf 1758//1758 2214//2214 1972//1972\nf 1616//1616 1759//1759 1760//1760\nf 1758//1758 1620//1620 1975//1975\nf 1619//1619 1976//1976 1977//1977\nf 2218//2218 1619//1619 1977//1977\nf 1977//1977 1976//1976 2218//2218\nf 1977//1977 1341//1341 2218//2218\nf 1979//1979 1977//1977 2218//2218\nf 1623//1623 1980//1980 1761//1761\nf 1202//1202 1009//1009 2221//2221\nf 1206//1206 1981//1981 1009//1009\nf 1457//1457 1622//1622 1979//1979\nf 1010//1010 1982//1982 1207//1207\nf 1457//1457 2222//2222 1762//1762\nf 1986//1986 2225//2225 1983//1983\nf 1208//1208 1985//1985 1630//1630\nf 1208//1208 1207//1207 1985//1985\nf 1990//1990 1626//1626 1984//1984\nf 1987//1987 1461//1461 1626//1626\nf 1625//1625 1988//1988 1624//1624\nf 2223//2223 1624//1624 2343//2343\nf 1207//1207 2227//2227 1985//1985\nf 1995//1995 1989//1989 1211//1211\nf 1994//1994 1987//1987 1990//1990\nf 1991//1991 1463//1463 1764//1764\nf 1463//1463 1991//1991 1765//1765\nf 1625//1625 1462//1462 1992//1992\nf 1625//1625 1992//1992 1988//1988\nf 1992//1992 2229//2229 1993//1993\nf 1989//1989 1986//1986 1209//1209\nf 1764//1764 1461//1461 1987//1987\nf 1764//1764 1987//1987 1994//1994\nf 1211//1211 1210//1210 1995//1995\nf 1991//1991 1764//1764 2228//2228\nf 2229//2229 1992//1992 1766//1766\nf 1629//1629 1996//1996 1997//1997\nf 1629//1629 1464//1464 1996//1996\nf 1766//1766 1629//1629 1997//1997\nf 1998//1998 1766//1766 1997//1997\nf 1765//1765 1999//1999 1627//1627\nf 1627//1627 1999//1999 2232//2232\nf 1213//1213 1995//1995 1210//1210\nf 1213//1213 2000//2000 1995//1995\nf 2233//2233 1627//1627 2232//2232\nf 2239//2239 1767//1767 1349//1349\nf 1350//1350 1349//1349 1767//1767\nf 2002//2002 1633//1633 1011//1011\nf 1222//1222 2003//2003 1635//1635\nf 2243//2243 1466//1466 2005//2005\nf 1768//1768 1635//1635 2006//2006\nf 2005//2005 1466//1466 2243//2243\nf 1466//1466 1226//1226 2005//2005\nf 1467//1467 2246//2246 2245//2245\nf 1467//1467 2245//2245 1637//1637\nf 1228//1228 1467//1467 1637//1637\nf 1637//1637 2250//2250 2007//2007\nf 2008//2008 1351//1351 1230//1230\nf 2008//2008 2249//2249 1351//1351\nf 2010//2010 1232//1232 1352//1352\nf 2010//2010 1352//1352 2009//2009\nf 1354//1354 1232//1232 2012//2012\nf 2253//2253 1234//1234 1354//1354\nf 1769//1769 1233//1233 1238//1238\nf 2256//2256 1238//1238 1640//1640\nf 2014//2014 2257//2257 1356//1356\nf 2017//2017 1468//1468 2016//2016\nf 2258//2258 2014//2014 1243//1243\nf 1468//1468 1639//1639 2016//2016\nf 2261//2261 1239//1239 2263//2263\nf 1468//1468 1235//1235 1639//1639\nf 1469//1469 1468//1468 2017//2017\nf 2018//2018 1770//1770 1020//1020\nf 2019//2019 1358//1358 2017//2017\nf 1469//1469 2017//2017 1358//1358\nf 2019//2019 1020//1020 1358//1358\nf 1246//1246 1019//1019 2268//2268\nf 1470//1470 2020//2020 1251//1251\nf 1359//1359 1251//1251 2271//2271\nf 1359//1359 2272//2272 1254//1254\nf 2021//2021 1255//1255 1254//1254\nf 1255//1255 2021//2021 1771//1771\nf 1025//1025 2024//2024 1024//1024\nf 2023//2023 1024//1024 2024//2024\nf 2024//2024 1025//1025 2027//2027\nf 1026//1026 2027//2027 1025//1025\nf 2029//2029 1028//1028 1027//1027\nf 1029//1029 2027//2027 1026//1026\nf 1772//1772 1030//1030 1028//1028\nf 2031//2031 1034//1034 2030//2030\nf 2032//2032 965//965 1642//1642\nf 1773//1773 1033//1033 1038//1038\nf 2033//2033 965//965 2032//2032\nf 1777//1777 965//965 2033//2033\nf 1774//1774 1040//1040 1041//1041\nf 2034//2034 1038//1038 2037//2037\nf 1040//1040 1774//1774 1776//1776\nf 1040//1040 1776//1776 1039//1039\nf 2035//2035 1043//1043 2036//2036\nf 1778//1778 1052//1052 1777//1777\nf 2037//2037 1038//1038 1047//1047\nf 2040//2040 1052//1052 1778//1778\nf 1048//1048 2041//2041 1047//1047\nf 2037//2037 1047//1047 2041//2041\nf 1775//1775 2043//2043 1474//1474\nf 2041//2041 1048//1048 2046//2046\nf 2042//2042 1051//1051 1257//1257\nf 2040//2040 2045//2045 1476//1476\nf 1053//1053 2040//2040 1476//1476\nf 1048//1048 967//967 2046//2046\nf 2044//2044 1257//1257 2047//2047\nf 1780//1780 1476//1476 2048//2048\nf 1476//1476 2045//2045 2048//2048\nf 1258//1258 2047//2047 1643//1643\nf 967//967 1065//1065 2056//2056\nf 2049//2049 1055//1055 1056//1056\nf 2049//2049 1056//1056 2050//2050\nf 2051//2051 1056//1056 1058//1058\nf 2050//2050 1056//1056 2051//2051\nf 968//968 2054//2054 1059//1059\nf 2043//2043 2054//2054 968//968\nf 1258//1258 2055//2055 2047//2047\nf 1780//1780 2048//2048 1478//1478\nf 2049//2049 1781//1781 1055//1055\nf 1779//1779 1064//1064 1067//1067\nf 2053//2053 2052//2052 1779//1779\nf 2053//2053 1067//1067 2057//2057\nf 2055//2055 1258//1258 1782//1782\nf 1067//1067 2059//2059 2057//2057\nf 2058//2058 1062//1062 1783//1783\nf 1783//1783 1062//1062 2058//2058\nf 1067//1067 2057//2057 2059//2059\nf 2061//2061 2059//2059 2057//2057\nf 2054//2054 1784//1784 1059//1059\nf 1071//1071 2056//2056 1065//1065\nf 1783//1783 2060//2060 1062//1062\nf 2060//2060 1785//1785 1062//1062\nf 2061//2061 2057//2057 1786//1786\nf 2274//2274 1071//1071 2062//2062\nf 1068//1068 1787//1787 1074//1074\nf 1072//1072 1361//1361 2063//2063\nf 1074//1074 1787//1787 1788//1788\nf 1074//1074 1788//1788 1078//1078\nf 1079//1079 1788//1788 1789//1789\nf 2064//2064 1071//1071 1481//1481\nf 2064//2064 2062//2062 1071//1071\nf 2063//2063 1076//1076 1072//1072\nf 2066//2066 1083//1083 1789//1789\nf 1083//1083 1079//1079 1789//1789\nf 1076//1076 2065//2065 1086//1086\nf 1088//1088 1083//1083 2066//2066\nf 1088//1088 2066//2066 2068//2068\nf 1791//1791 2072//2072 1646//1646\nf 2068//2068 2069//2069 1088//1088\nf 1791//1791 1362//1362 2071//2071\nf 1482//1482 1646//1646 2073//2073\nf 2072//2072 1791//1791 2275//2275\nf 1794//1794 2064//2064 1481//1481\nf 2076//2076 1363//1363 2074//2074\nf 1363//1363 1798//1798 1792//1792\nf 2076//2076 1798//1798 1363//1363\nf 1798//1798 1792//1792 1261//1261\nf 1483//1483 1798//1798 2078//2078\nf 1794//1794 1481//1481 1105//1105\nf 2075//2075 1099//1099 1086//1086\nf 2077//2077 1793//1793 1364//1364\nf 1261//1261 1792//1792 1798//1798\nf 1099//1099 2075//2075 1797//1797\nf 1798//1798 1483//1483 2078//2078\nf 1797//1797 2079//2079 1099//1099\nf 2079//2079 1101//1101 1099//1099\nf 1100//1100 2077//2077 1364//1364\nf 1096//1096 1799//1799 2277//2277\nf 2081//2081 1104//1104 1796//1796\nf 1266//1266 1798//1798 2082//2082\nf 2082//2082 1798//1798 2076//2076\nf 1112//1112 1104//1104 1800//1800\nf 2079//2079 1802//1802 1110//1110\nf 1110//1110 1802//1802 984//984\nf 1800//1800 1801//1801 1114//1114\nf 2080//2080 1107//1107 2084//2084\nf 1485//1485 1266//1266 2082//2082\nf 1799//1799 1109//1109 2085//2085\nf 1799//1799 1484//1484 1109//1109\nf 1107//1107 1113//1113 2086//2086\nf 2084//2084 1107//1107 2086//2086\nf 2087//2087 1806//1806 1485//1485\nf 1806//1806 1269//1269 1485//1485\nf 1120//1120 1267//1267 2088//2088\nf 1113//1113 1122//1122 1805//1805\nf 1109//1109 1803//1803 2089//2089\nf 1109//1109 2089//2089 2085//2085\nf 2088//2088 2090//2090 1120//1120\nf 2092//2092 1125//1125 1486//1486\nf 2092//2092 1486//1486 2090//2090\nf 1120//1120 2090//2090 1486//1486\nf 1268//1268 1132//1132 984//984\nf 2091//2091 1268//1268 984//984\nf 1802//1802 2091//2091 984//984\nf 1487//1487 1805//1805 1122//1122\nf 2082//2082 2087//2087 1485//1485\nf 1121//1121 2093//2093 1805//1805\nf 1365//1365 1807//1807 2089//2089\nf 1121//1121 1129//1129 2093//2093\nf 2093//2093 1129//1129 1808//1808\nf 2095//2095 1808//1808 1649//1649\nf 2094//2094 1268//1268 2091//2091\nf 2094//2094 1648//1648 1268//1268\nf 1808//1808 1134//1134 1649//1649\nf 2095//2095 1491//1491 1809//1809\nf 1809//1809 1808//1808 2095//2095\nf 2093//2093 1808//1808 1809//1809\nf 1140//1140 1648//1648 2094//2094\nf 1650//1650 1368//1368 1811//1811\nf 1136//1136 1125//1125 2097//2097\nf 1140//1140 2094//2094 2099//2099\nf 1809//1809 1491//1491 2098//2098\nf 1810//1810 1366//1366 2105//2105\nf 1811//1811 2101//2101 1371//1371\nf 2100//2100 2098//2098 1814//1814\nf 2100//2100 1814//1814 2103//2103\nf 1366//1366 1270//1270 2105//2105\nf 1270//1270 1273//1273 2105//2105\nf 2279//2279 1271//1271 1369//1369\nf 2099//2099 2094//2094 2102//2102\nf 1813//1813 2102//2102 1816//1816\nf 1813//1813 2099//2099 2102//2102\nf 1653//1653 1813//1813 1816//1816\nf 1820//1820 1654//1654 2104//2104\nf 1654//1654 1815//1815 2104//2104\nf 2105//2105 1273//1273 1817//1817\nf 1653//1653 1816//1816 2102//2102\nf 1653//1653 2102//2102 2107//2107\nf 1149//1149 1823//1823 1817//1817\nf 1824//1824 2107//2107 2281//2281\nf 1819//1819 1822//1822 1818//1818\nf 1823//1823 1817//1817 2109//2109\nf 1817//1817 1823//1823 2109//2109\nf 2109//2109 1149//1149 1823//1823\nf 1828//1828 2109//2109 1280//1280\nf 1280//1280 2109//2109 1825//1825\nf 1498//1498 1153//1153 1826//1826\nf 1377//1377 1504//1504 2114//2114\nf 1500//1500 2110//2110 1827//1827\nf 1499//1499 2113//2113 1829//1829\nf 1377//1377 2114//2114 1822//1822\nf 1827//1827 1830//1830 1378//1378\nf 1826//1826 1153//1153 1004//1004\nf 2116//2116 1826//1826 1004//1004\nf 1655//1655 1829//1829 2113//2113\nf 1280//1280 1379//1379 1828//1828\nf 1379//1379 2117//2117 1828//1828\nf 1826//1826 1289//1289 2122//2122\nf 1504//1504 2114//2114 2283//2283\nf 1656//1656 2119//2119 2120//2120\nf 1656//1656 2120//2120 1379//1379\nf 2115//2115 2121//2121 1158//1158\nf 1504//1504 2123//2123 2114//2114\nf 1504//1504 1658//1658 2123//2123\nf 1832//1832 2119//2119 1656//1656\nf 2121//2121 1165//1165 1509//1509\nf 1508//1508 1831//1831 2118//2118\nf 1508//1508 2124//2124 2128//2128\nf 2121//2121 2125//2125 1167//1167\nf 1508//1508 2118//2118 2124//2124\nf 1832//1832 1834//1834 2126//2126\nf 1289//1289 1292//1292 2129//2129\nf 1516//1516 1510//1510 2127//2127\nf 1835//1835 1515//1515 1839//1839\nf 1660//1660 1508//1508 2128//2128\nf 2126//2126 1513//1513 1836//1836\nf 2130//2130 1511//1511 1660//1660\nf 2130//2130 1660//1660 2128//2128\nf 1836//1836 1513//1513 2131//2131\nf 1511//1511 2130//2130 2132//2132\nf 2131//2131 2133//2133 1836//1836\nf 2131//2131 1512//1512 2133//2133\nf 2134//2134 1518//1518 2125//2125\nf 1518//1518 1167//1167 2125//2125\nf 2133//2133 1512//1512 2132//2132\nf 1512//1512 1511//1511 2132//2132\nf 1293//1293 1841//1841 2129//2129\nf 1837//1837 1659//1659 1519//1519\nf 1661//1661 1840//1840 2137//2137\nf 1008//1008 1518//1518 2134//2134\nf 2134//2134 2138//2138 1008//1008\nf 2136//2136 1401//1401 1522//1522\nf 1008//1008 2138//2138 1520//1520\nf 1841//1841 1293//1293 1397//1397\nf 1841//1841 1397//1397 1843//1843\nf 1842//1842 1661//1661 2137//2137\nf 2136//2136 1522//1522 1844//1844\nf 2139//2139 1397//1397 1520//1520\nf 2140//2140 1844//1844 1522//1522\nf 1843//1843 1397//1397 2139//2139\nf 1845//1845 1521//1521 1842//1842\nf 1662//1662 1842//1842 1521//1521\nf 1845//1845 1842//1842 1847//1847\nf 1849//1849 1664//1664 1663//1663\nf 1663//1663 1847//1847 2141//2141\nf 1846//1846 1665//1665 1850//1850\nf 1663//1663 2141//2141 1849//1849\nf 2145//2145 2293//2293 2144//2144\nf 1852//1852 2146//2146 2143//2143\nf 2293//2293 2145//2145 2294//2294\nf 2143//2143 1850//1850 1852//1852\nf 1667//1667 2146//2146 1852//1852\nf 2146//2146 1667//1667 1853//1853\nf 2144//2144 2148//2148 1855//1855\nf 2145//2145 1854//1854 2150//2150\nf 2148//2148 2147//2147 2149//2149\nf 2144//2144 1855//1855 1857//1857\nf 1527//1527 1851//1851 1856//1856\nf 2146//2146 1669//1669 2152//2152\nf 2153//2153 2148//2148 2149//2149\nf 2151//2151 1856//1856 1851//1851\nf 2146//2146 1853//1853 1669//1669\nf 2148//2148 2153//2153 1855//1855\nf 1865//1865 1528//1528 1668//1668\nf 1861//1861 2153//2153 1860//1860\nf 1668//1668 1856//1856 2155//2155\nf 1669//1669 1859//1859 2152//2152\nf 2149//2149 2154//2154 2153//2153\nf 1861//1861 1855//1855 2153//2153\nf 1854//1854 1858//1858 1864//1864\nf 2150//2150 1854//1854 1864//1864\nf 1859//1859 1863//1863 1868//1868\nf 1860//1860 2153//2153 2154//2154\nf 1668//1668 2155//2155 1865//1865\nf 2156//2156 1864//1864 1877//1877\nf 1869//1869 1670//1670 1865//1865\nf 1868//1868 2159//2159 2301//2301\nf 1871//1871 2154//2154 2158//2158\nf 1871//1871 1860//1860 2154//2154\nf 1875//1875 1864//1864 1876//1876\nf 1877//1877 1864//1864 1875//1875\nf 1873//1873 1868//1868 1870//1870\nf 1867//1867 1872//1872 1876//1876\nf 1864//1864 1867//1867 1876//1876\nf 1870//1870 1873//1873 1868//1868\nf 2159//2159 1868//1868 1870//1870\nf 1873//1873 1870//1870 1868//1868\nf 2159//2159 1873//1873 1678//1678\nf 1674//1674 1879//1879 1881//1881\nf 1674//1674 1881//1881 1879//1879\nf 1877//1877 1674//1674 1879//1879\nf 1879//1879 1675//1675 1881//1881\nf 1879//1879 1881//1881 1880//1880\nf 2308//2308 1879//1879 1881//1881\nf 1870//1870 1678//1678 1883//1883\nf 1679//1679 1871//1871 2161//2161\nf 1673//1673 1671//1671 2160//2160\nf 1870//1870 1883//1883 1884//1884\nf 2159//2159 1870//1870 1884//1884\nf 2162//2162 1885//1885 1886//1886\nf 1682//1682 2161//2161 1889//1889\nf 1887//1887 1673//1673 1882//1882\nf 1688//1688 1887//1887 1894//1894\nf 2162//2162 1886//1886 1697//1697\nf 2162//2162 1893//1893 1896//1896\nf 1894//1894 1887//1887 2163//2163\nf 1893//1893 1697//1697 1896//1896\nf 1901//1901 1896//1896 1701//1701\nf 1894//1894 2163//2163 1898//1898\nf 2165//2165 1895//1895 1900//1900\nf 1902//1902 1897//1897 2315//2315\nf 1901//1901 1701//1701 2166//2166\nf 1701//1701 1549//1549 2166//2166\nf 1897//1897 1902//1902 2315//2315\nf 1902//1902 1897//1897 1904//1904\nf 1549//1549 1901//1901 2166//2166\nf 1905//1905 1903//1903 1898//1898\nf 1906//1906 1897//1897 2318//2318\nf 1900//1900 1708//1708 1907//1907\nf 2165//2165 1907//1907 2168//2168\nf 1901//1901 1549//1549 2169//2169\nf 1898//1898 2167//2167 1905//1905\nf 2165//2165 1900//1900 1907//1907\nf 1904//1904 1897//1897 1906//1906\nf 2169//2169 2319//2319 1909//1909\nf 1549//1549 1711//1711 2169//2169\nf 2319//2319 2169//2169 1909//1909\nf 1905//1905 2167//2167 1910//1910\nf 1711//1711 1909//1909 2169//2169\nf 1907//1907 1911//1911 2168//2168\nf 1906//1906 2170//2170 1908//1908\nf 2171//2171 2169//2169 1909//1909\nf 2172//2172 2168//2168 1911//1911\nf 2170//2170 2173//2173 1908//1908\nf 2171//2171 1718//1718 1914//1914\nf 2171//2171 1909//1909 1718//1718\nf 1712//1712 1910//1910 1912//1912\nf 2173//2173 1913//1913 1908//1908\nf 2174//2174 1912//1912 1910//1910\nf 1917//1917 1717//1717 2173//2173\nf 2175//2175 1915//1915 1920//1920\nf 1921//1921 1914//1914 1918//1918\nf 1919//1919 2174//2174 2177//2177\nf 2326//2326 2179//2179 2177//2177\nf 1924//1924 1917//1917 2178//2178\nf 1917//1917 1924//1924 1725//1725\nf 2179//2179 1925//1925 2177//2177\nf 1920//1920 1723//1723 2181//2181\nf 1725//1725 1924//1924 2178//2178\nf 1921//1921 1926//1926 1927//1927\nf 1725//1725 2178//2178 1924//1924\nf 1929//1929 1927//1927 1573//1573\nf 1927//1927 1929//1929 2180//2180\nf 1568//1568 1728//1728 1923//1923\nf 1923//1923 2182//2182 2181//2181\nf 1729//1729 1922//1922 1925//1925\nf 1729//1729 1925//1925 1930//1930\nf 1923//1923 1728//1728 2182//2182\nf 1931//1931 1730//1730 1928//1928\nf 1929//1929 1731//1731 1580//1580\nf 1932//1932 1931//1931 1928//1928\nf 1730//1730 1931//1931 1932//1932\nf 1580//1580 2185//2185 1929//1929\nf 1928//1928 2186//2186 1932//1932\nf 1729//1729 1930//1930 1936//1936\nf 1936//1936 1930//1930 2188//2188\nf 2182//2182 1933//1933 2187//2187\nf 1732//1732 1932//1932 2190//2190\nf 2189//2189 1934//1934 1587//1587\nf 1941//1941 1936//1936 2188//2188\nf 2189//2189 1587//1587 1938//1938\nf 2188//2188 2191//2191 1941//1941\nf 1732//1732 2190//2190 1940//1940\nf 1944//1944 1942//1942 2191//2191\nf 2192//2192 1736//1736 1591//1591\nf 2191//2191 1942//1942 1941//1941\nf 1940//1940 2193//2193 2194//2194\nf 1584//1584 1940//1940 2194//2194\nf 1937//1937 1735//1735 2195//2195\nf 1940//1940 2190//2190 2193//2193\nf 1591//1591 1945//1945 1943//1943\nf 1948//1948 1945//1945 1747//1747\nf 1947//1947 1946//1946 2194//2194\nf 1741//1741 1743//1743 2197//2197\nf 1741//1741 2197//2197 2195//2195\nf 1947//1947 2194//2194 2193//2193\nf 2197//2197 1743//1743 1949//1949\nf 2202//2202 2200//2200 1951//1951\nf 2200//2200 2202//2202 1958//1958\nf 2197//2197 1949//1949 2203//2203\nf 1954//1954 1947//1947 2201//2201\nf 1594//1594 1947//1947 1954//1954\nf 1958//1958 2202//2202 1749//1749\nf 1958//1958 1749//1749 1750//1750\nf 1949//1949 1953//1953 2203//2203\nf 1953//1953 1957//1957 2203//2203\nf 1750//1750 1606//1606 1607//1607\nf 2205//2205 2204//2204 1963//1963\nf 1963//1963 1964//1964 2205//2205\nf 1601//1601 1954//1954 2206//2206\nf 1957//1957 1962//1962 2207//2207\nf 2207//2207 1962//1962 1969//1969\nf 1967//1967 1968//1968 1969//1969\nf 1969//1969 1968//1968 2209//2209\nf 2209//2209 2211//2211 1969//1969\nf 2210//2210 1970//1970 1611//1611\nf 2209//2209 1968//1968 1757//1757\nf 1757//1757 1971//1971 2209//2209\nf 1615//1615 1970//1970 2210//2210\nf 1615//1615 2210//2210 2213//2213\nf 2214//2214 1757//1757 1972//1972\nf 1971//1971 1757//1757 2214//2214\nf 2215//2215 1971//1971 2214//2214\nf 2209//2209 1971//1971 2215//2215\nf 1759//1759 1615//1615 2213//2213\nf 1758//1758 1973//1973 2214//2214\nf 1759//1759 2213//2213 1974//1974\nf 1759//1759 1974//1974 1760//1760\nf 1973//1973 2216//2216 2339//2339\nf 1973//1973 1758//1758 2216//2216\nf 1758//1758 1975//1975 2216//2216\nf 1760//1760 1974//1974 2217//2217\nf 1619//1619 1760//1760 2217//2217\nf 1975//1975 1620//1620 2216//2216\nf 1619//1619 2220//2220 2218//2218\nf 1619//1619 2217//2217 2220//2220\nf 1619//1619 2218//2218 1976//1976\nf 1620//1620 2219//2219 2216//2216\nf 1620//1620 1980//1980 2219//2219\nf 1978//1978 1202//1202 2221//2221\nf 1341//1341 1619//1619 2218//2218\nf 1620//1620 1761//1761 1980//1980\nf 1978//1978 1204//1204 1202//1202\nf 1981//1981 2221//2221 1009//1009\nf 1979//1979 1622//1622 1977//1977\nf 1982//1982 1204//1204 1978//1978\nf 2218//2218 2222//2222 1979//1979\nf 2340//2340 2222//2222 2218//2218\nf 2223//2223 1980//1980 1623//1623\nf 1207//1207 1982//1982 2224//2224\nf 1457//1457 1979//1979 2222//2222\nf 2225//2225 1206//1206 1983//1983\nf 1763//1763 1624//1624 2223//2223\nf 1983//1983 1209//1209 1986//1986\nf 2222//2222 2226//2226 1762//1762\nf 1626//1626 1762//1762 2226//2226\nf 1626//1626 2226//2226 1762//1762\nf 1207//1207 2224//2224 2227//2227\nf 1984//1984 1626//1626 1762//1762\nf 1762//1762 2226//2226 1990//1990\nf 1984//1984 1762//1762 1990//1990\nf 1989//1989 1209//1209 1211//1211\nf 1990//1990 1987//1987 1626//1626\nf 1988//1988 1993//1993 1624//1624\nf 1764//1764 1994//1994 2228//2228\nf 1993//1993 1988//1988 1992//1992\nf 1766//1766 1998//1998 2229//2229\nf 1999//1999 1765//1765 1991//1991\nf 1464//1464 2231//2231 1996//1996\nf 2230//2230 1628//1628 2234//2234\nf 1628//1628 2230//2230 2234//2234\nf 2231//2231 1464//1464 1628//1628\nf 2231//2231 1997//1997 1996//1996\nf 2235//2235 1998//1998 1997//1997\nf 2000//2000 1213//1213 2001//2001\nf 2237//2237 2238//2238 1465//1465\nf 1349//1349 1465//1465 2239//2239\nf 1216//1216 2241//2241 2001//2001\nf 1216//1216 1631//1631 2241//2241\nf 1767//1767 2239//2239 2240//2240\nf 2240//2240 1350//1350 1767//1767\nf 2242//2242 2241//2241 1631//1631\nf 2242//2242 1631//1631 1632//1632\nf 1633//1633 2002//2002 1222//1222\nf 1632//1632 2243//2243 2242//2242\nf 2003//2003 2004//2004 1635//1635\nf 2006//2006 1635//1635 2004//2004\nf 2005//2005 2243//2243 1466//1466\nf 2006//2006 1636//1636 1768//1768\nf 1636//1636 2006//2006 2244//2244\nf 2244//2244 2245//2245 2246//2246\nf 2244//2244 2006//2006 2245//2245\nf 2246//2246 1467//1467 1636//1636\nf 2244//2244 2246//2246 1636//1636\nf 2247//2247 2005//2005 1226//1226\nf 2247//2247 1226//1226 2248//2248\nf 2245//2245 2007//2007 1637//1637\nf 1226//1226 1351//1351 2248//2248\nf 1351//1351 2249//2249 2248//2248\nf 2250//2250 1637//1637 2007//2007\nf 2250//2250 2009//2009 1637//1637\nf 2250//2250 1637//1637 2007//2007\nf 2009//2009 1352//1352 1637//1637\nf 2008//2008 1230//1230 1638//1638\nf 2011//2011 2008//2008 1353//1353\nf 2008//2008 1638//1638 1353//1353\nf 2252//2252 2011//2011 1353//1353\nf 2251//2251 1232//1232 2010//2010\nf 1233//1233 2252//2252 1353//1353\nf 1233//1233 2013//2013 2252//2252\nf 2253//2253 1354//1354 2012//2012\nf 2013//2013 1769//1769 1238//1238\nf 2253//2253 2254//2254 1234//1234\nf 1639//1639 1234//1234 2254//2254\nf 2255//2255 1238//1238 2256//2256\nf 2258//2258 2257//2257 2014//2014\nf 2256//2256 1640//1640 2259//2259\nf 2260//2260 1356//1356 2257//2257\nf 2014//2014 1356//1356 1243//1243\nf 2258//2258 1243//1243 2015//2015\nf 2262//2262 1242//1242 2261//2261\nf 1242//1242 2262//2262 2259//2259\nf 2259//2259 1640//1640 1242//1242\nf 1640//1640 1240//1240 1242//1242\nf 2261//2261 1241//1241 1239//1239\nf 1241//1241 2261//2261 1242//1242\nf 2264//2264 1356//1356 2260//2260\nf 1357//1357 1356//1356 2264//2264\nf 2018//2018 1020//1020 2265//2265\nf 2019//2019 2017//2017 2016//2016\nf 1245//1245 2266//2266 1239//1239\nf 2263//2263 1239//1239 2266//2266\nf 2019//2019 2265//2265 1020//1020\nf 2264//2264 1019//1019 1357//1357\nf 2268//2268 1019//1019 2264//2264\nf 2267//2267 2266//2266 1245//1245\nf 1021//1021 2267//2267 1245//1245\nf 1470//1470 1246//1246 2269//2269\nf 2270//2270 2267//2267 1250//1250\nf 1021//1021 1250//1250 2267//2267\nf 2270//2270 1250//1250 1771//1771\nf 2271//2271 2272//2272 1359//1359\nf 2021//2021 2270//2270 1771//1771\nf 2272//2272 2021//2021 1254//1254\nf 2272//2272 2270//2270 2021//2021\nf 1027//1027 1023//1023 2025//2025\nf 1023//1023 2026//2026 2025//2025\nf 1777//1777 1044//1044 965//965\nf 1773//1773 2034//2034 2355//2355\nf 1773//1773 1038//1038 2034//2034\nf 1774//1774 1041//1041 2035//2035\nf 1041//1041 1043//1043 2035//2035\nf 2356//2356 1778//1778 1777//1777\nf 1043//1043 1045//1045 2038//2038\nf 2042//2042 1257//1257 2044//2044\nf 2055//2055 1782//1782 2047//2047\nf 1780//1780 1478//1478 2048//2048\nf 2046//2046 967//967 2056//2056\nf 2052//2052 2051//2051 1058//1058\nf 2048//2048 1782//1782 1780//1780\nf 2058//2058 1783//1783 1477//1477\nf 2063//2063 1361//1361 1785//1785\nf 1076//1076 2063//2063 1790//1790\nf 2065//2065 2067//2067 1086//1086\nf 1793//1793 1786//1786 1087//1087\nf 2070//2070 978//978 2069//2069\nf 2070//2070 1080//1080 978//978\nf 1362//1362 2070//2070 2071//2071\nf 2275//2275 1791//1791 2361//2361\nf 2359//2359 2360//2360 2071//2071\nf 2359//2359 2071//2071 2070//2070\nf 2361//2361 1791//1791 2071//2071\nf 2073//2073 2072//2072 2275//2275\nf 2276//2276 2073//2073 2275//2275\nf 2074//2074 1482//1482 2073//2073\nf 1097//1097 1096//1096 1796//1796\nf 1096//1096 1795//1795 1796//1796\nf 2080//2080 2077//2077 1100//1100\nf 1104//1104 1097//1097 1796//1796\nf 1096//1096 1095//1095 1799//1799\nf 2080//2080 1100//1100 1107//1107\nf 2362//2362 2277//2277 1799//1799\nf 1104//1104 2081//2081 1800//1800\nf 1105//1105 1106//1106 2083//2083\nf 2090//2090 2088//2088 2363//2363\nf 1106//1106 1804//1804 2083//2083\nf 1368//1368 1806//1806 1811//1811\nf 1806//1806 2278//2278 1811//1811\nf 2096//2096 1807//1807 1366//1366\nf 1804//1804 1126//1126 1271//1271\nf 1809//1809 2098//2098 2093//2093\nf 2278//2278 2280//2280 1811//1811\nf 2280//2280 2101//2101 1811//1811\nf 1812//1812 1136//1136 2097//2097\nf 2460//2460 2279//2279 2106//2106\nf 2101//2101 2280//2280 2104//2104\nf 1150//1150 1146//1146 1812//1812\nf 1369//1369 1494//1494 2106//2106\nf 2106//2106 1494//1494 2108//2108\nf 2281//2281 2102//2102 2368//2368\nf 2107//2107 2102//2102 2281//2281\nf 2108//2108 1494//1494 1498//1498\nf 1823//1823 1149//1149 2109//2109\nf 2108//2108 1498//1498 2111//2111\nf 2112//2112 998//998 1821//1821\nf 2109//2109 1149//1149 1825//1825\nf 1498//1498 1826//1826 2111//2111\nf 2111//2111 1826//1826 2116//2116\nf 1158//1158 998//998 2115//2115\nf 1824//1824 2282//2282 2113//2113\nf 2116//2116 1004//1004 1826//1826\nf 1822//1822 2114//2114 2283//2283\nf 2114//2114 1504//1504 2283//2283\nf 2118//2118 1830//1830 1827//1827\nf 1826//1826 1004//1004 1289//1289\nf 2114//2114 2123//2123 2283//2283\nf 2126//2126 2119//2119 1832//1832\nf 2132//2132 2130//2130 2128//2128\nf 1516//1516 2127//2127 2135//2135\nf 1840//1840 1516//1516 2135//2135\nf 1840//1840 2135//2135 2137//2137\nf 2287//2287 2286//2286 2285//2285\nf 2142//2142 2286//2286 2290//2290\nf 2142//2142 2285//2285 2286//2286\nf 2292//2292 2288//2288 2285//2285\nf 1850//1850 2143//2143 1846//1846\nf 2291//2291 2288//2288 2293//2293\nf 2288//2288 2292//2292 2293//2293\nf 2294//2294 2291//2291 2293//2293\nf 2292//2292 2285//2285 2142//2142\nf 2144//2144 2293//2293 2292//2292\nf 2292//2292 2142//2142 2147//2147\nf 1851//1851 1849//1849 2141//2141\nf 2290//2290 2295//2295 2142//2142\nf 2147//2147 2148//2148 2292//2292\nf 2144//2144 2292//2292 2148//2148\nf 2296//2296 2294//2294 2145//2145\nf 1851//1851 2141//2141 2402//2402\nf 2147//2147 2142//2142 2295//2295\nf 2145//2145 2150//2150 2296//2296\nf 2149//2149 2147//2147 2295//2295\nf 2295//2295 2299//2299 2149//2149\nf 2300//2300 2298//2298 2150//2150\nf 2297//2297 2152//2152 1859//1859\nf 2298//2298 2296//2296 2150//2150\nf 2149//2149 2299//2299 2154//2154\nf 2150//2150 1864//1864 2156//2156\nf 2151//2151 2155//2155 1856//1856\nf 2157//2157 2154//2154 2299//2299\nf 2300//2300 2150//2150 2156//2156\nf 2157//2157 2302//2302 2154//2154\nf 2154//2154 2302//2302 2157//2157\nf 2158//2158 2154//2154 2157//2157\nf 1865//1865 2304//2304 1869//1869\nf 2156//2156 1877//1877 2303//2303\nf 2157//2157 2302//2302 2158//2158\nf 2302//2302 2306//2306 2158//2158\nf 2307//2307 2158//2158 2306//2306\nf 2161//2161 1871//1871 2158//2158\nf 2161//2161 2158//2158 2307//2307\nf 1885//1885 2308//2308 1881//1881\nf 2159//2159 1884//1884 2305//2305\nf 1881//1881 1880//1880 1885//1885\nf 2307//2307 2309//2309 2161//2161\nf 1887//1887 2160//2160 2311//2311\nf 1887//1887 1882//1882 2160//2160\nf 2309//2309 1889//1889 2161//2161\nf 1885//1885 2162//2162 2310//2310\nf 2312//2312 1888//1888 1687//1687\nf 1687//1687 1895//1895 2312//2312\nf 2162//2162 1896//1896 2310//2310\nf 1887//1887 2311//2311 2411//2411\nf 2309//2309 2313//2313 2164//2164\nf 1889//1889 2309//2309 2164//2164\nf 1897//1897 2164//2164 2315//2315\nf 1898//1898 2163//2163 2316//2316\nf 2165//2165 2317//2317 1895//1895\nf 2314//2314 1895//1895 2317//2317\nf 1897//1897 1890//1890 2164//2164\nf 2317//2317 2165//2165 2168//2168\nf 1897//1897 2315//2315 2318//2318\nf 2166//2166 1901//1901 2169//2169\nf 2318//2318 2320//2320 1906//1906\nf 2320//2320 2170//2170 1906//1906\nf 2321//2321 1910//1910 2167//2167\nf 2319//2319 2169//2169 2171//2171\nf 1915//1915 2175//2175 2172//2172\nf 2173//2173 2170//2170 2322//2322\nf 1910//1910 2323//2323 2174//2174\nf 2321//2321 2323//2323 1910//1910\nf 2172//2172 1911//1911 1915//1915\nf 1914//1914 1921//1921 2324//2324\nf 2175//2175 1920//1920 2176//2176\nf 2173//2173 2325//2325 1917//1917\nf 2174//2174 2323//2323 2326//2326\nf 2177//2177 2174//2174 2326//2326\nf 2180//2180 1921//1921 1927//1927\nf 2327//2327 1921//1921 2180//2180\nf 2176//2176 1920//1920 2181//2181\nf 2176//2176 2181//2181 2328//2328\nf 1928//1928 2178//2178 2329//2329\nf 1928//1928 1924//1924 2178//2178\nf 2182//2182 2183//2183 2181//2181\nf 2183//2183 2328//2328 2181//2181\nf 1930//1930 1925//1925 2184//2184\nf 2183//2183 2182//2182 2187//2187\nf 1932//1932 2186//2186 2190//2190\nf 1736//1736 2192//2192 1938//1938\nf 2330//2330 2187//2187 1937//1937\nf 2500//2500 2192//2192 1945//1945\nf 1937//1937 2195//2195 2331//2331\nf 2332//2332 1945//1945 1948//1948\nf 2331//2331 2195//2195 2197//2197\nf 2333//2333 2331//2331 2197//2197\nf 2193//2193 2199//2199 1947//1947\nf 2437//2437 2333//2333 2197//2197\nf 1961//1961 1956//1956 2334//2334\nf 1956//1956 2196//2196 2334//2334\nf 2199//2199 2201//2201 1947//1947\nf 2432//2432 1961//1961 2334//2334\nf 2432//2432 1960//1960 1961//1961\nf 2204//2204 1750//1750 1607//1607\nf 2205//2205 1609//1609 1960//1960\nf 2206//2206 1954//1954 2201//2201\nf 2203//2203 1957//1957 2335//2335\nf 2336//2336 2206//2206 2201//2201\nf 1957//1957 2207//2207 1969//1969\nf 2208//2208 1601//1601 2206//2206\nf 1966//1966 1601//1601 2208//2208\nf 2335//2335 1957//1957 1969//1969\nf 1969//1969 2337//2337 2335//2335\nf 2210//2210 1755//1755 2212//2212\nf 2212//2212 1755//1755 1966//1966\nf 2215//2215 2211//2211 2209//2209\nf 2215//2215 2214//2214 2339//2339\nf 2214//2214 1973//1973 2339//2339\nf 2213//2213 2338//2338 1974//1974\nf 2217//2217 1974//1974 2220//2220\nf 2443//2443 2216//2216 2219//2219\nf 2340//2340 2220//2220 2513//2513\nf 1010//1010 1205//1205 1982//1982\nf 1980//1980 2223//2223 2341//2341\nf 1623//1623 1763//1763 2223//2223\nf 1624//1624 1993//1993 2343//2343\nf 2342//2342 1990//1990 2226//2226\nf 2346//2346 1212//1212 2344//2344\nf 1210//1210 1212//1212 2346//2346\nf 1991//1991 2228//2228 2347//2347\nf 1210//1210 2346//2346 2344//2344\nf 1210//1210 2344//2344 1212//1212\nf 2228//2228 1994//1994 2347//2347\nf 1765//1765 1999//1999 2232//2232\nf 1999//1999 1765//1765 2232//2232\nf 1628//1628 2234//2234 2231//2231\nf 2229//2229 1998//1998 2236//2236\nf 2348//2348 2229//2229 2236//2236\nf 2447//2447 1995//1995 2000//2000\nf 1999//1999 1991//1991 2347//2347\nf 1999//1999 2347//2347 2232//2232\nf 1628//1628 1627//1627 2233//2233\nf 1628//1628 2233//2233 2234//2234\nf 1997//1997 2231//2231 2235//2235\nf 2236//2236 1998//1998 2235//2235\nf 1465//1465 1985//1985 2237//2237\nf 2238//2238 2239//2239 1465//1465\nf 2002//2002 1350//1350 2240//2240\nf 2002//2002 1011//1011 1350//1350\nf 2004//2004 2003//2003 2002//2002\nf 2003//2003 1222//1222 2002//2002\nf 2349//2349 2006//2006 2004//2004\nf 2243//2243 2005//2005 2449//2449\nf 2012//2012 1232//1232 2251//2251\nf 2013//2013 1238//1238 2255//2255\nf 2257//2257 2350//2350 2260//2260\nf 2260//2260 2350//2350 2351//2351\nf 2016//2016 1639//1639 2254//2254\nf 2015//2015 1770//1770 2018//2018\nf 2015//2015 1243//1243 1770//1770\nf 2018//2018 2265//2265 2019//2019\nf 2018//2018 2019//2019 2016//2016\nf 1246//1246 2268//2268 2269//2269\nf 2271//2271 1251//1251 2020//2020\nf 2273//2273 1471//1471 2022//2022\nf 2273//2273 2022//2022 2352//2352\nf 2024//2024 2027//2027 2023//2023\nf 2585//2585 2586//2586 3221//3221\nf 1032//1032 1772//1772 2030//2030\nf 1772//1772 2354//2354 2030//2030\nf 1775//1775 1776//1776 1774//1774\nf 2038//2038 1045//1045 2039//2039\nf 1782//1782 2357//2357 2047//2047\nf 2051//2051 2049//2049 2050//2050\nf 2058//2058 1477//1477 1781//1781\nf 2056//2056 1071//1071 2274//2274\nf 1793//1793 2358//2358 1786//1786\nf 2358//2358 2061//2061 1786//1786\nf 2075//2075 2079//2079 1797//1797\nf 2076//2076 2074//2074 2073//2073\nf 2076//2076 2073//2073 2276//2276\nf 2083//2083 1794//1794 1105//1105\nf 2277//2277 2362//2362 1795//1795\nf 1795//1795 1096//1096 2277//2277\nf 1267//1267 1801//1801 2088//2088\nf 2083//2083 1804//1804 2365//2365\nf 2364//2364 2091//2091 1802//1802\nf 2279//2279 1804//1804 1271//1271\nf 2364//2364 2094//2094 2091//2091\nf 2459//2459 2098//2098 2100//2100\nf 2097//2097 1125//1125 2092//2092\nf 2364//2364 2366//2366 2094//2094\nf 2366//2366 2368//2368 2094//2094\nf 1820//1820 2104//2104 2370//2370\nf 1812//1812 2097//2097 2367//2367\nf 1150//1150 1812//1812 2367//2367\nf 2371//2371 2106//2106 2108//2108\nf 2110//2110 1820//1820 2370//2370\nf 2112//2112 1821//1821 2373//2373\nf 1821//1821 2372//2372 2373//2373\nf 1824//1824 2281//2281 2282//2282\nf 2115//2115 998//998 2112//2112\nf 2377//2377 1827//1827 2374//2374\nf 2375//2375 2109//2109 1828//1828\nf 2113//2113 2282//2282 2376//2376\nf 2117//2117 1379//1379 2120//2120\nf 2116//2116 1826//1826 2122//2122\nf 2123//2123 2284//2284 2283//2283\nf 2378//2378 2118//2118 1827//1827\nf 2378//2378 2124//2124 2118//2118\nf 2470//2470 2125//2125 2121//2121\nf 2381//2381 2119//2119 2126//2126\nf 2468//2468 2122//2122 2129//2129\nf 1289//1289 2129//2129 2122//2122\nf 2385//2385 2126//2126 1836//1836\nf 2124//2124 2384//2384 2128//2128\nf 1838//1838 2136//2136 1839//1839\nf 2383//2383 2386//2386 2387//2387\nf 1839//1839 2136//2136 2388//2388\nf 2132//2132 2128//2128 2390//2390\nf 2133//2133 2385//2385 1836//1836\nf 2129//2129 1841//1841 2389//2389\nf 2468//2468 2129//2129 2389//2389\nf 1843//1843 2391//2391 1841//1841\nf 2391//2391 2389//2389 1841//1841\nf 2393//2393 2387//2387 2386//2386\nf 2393//2393 2386//2386 2392//2392\nf 1842//1842 2135//2135 2394//2394\nf 1842//1842 2137//2137 2135//2135\nf 1844//1844 2388//2388 2136//2136\nf 1844//1844 2140//2140 2388//2388\nf 2472//2472 2393//2393 2287//2287\nf 2395//2395 2285//2285 2288//2288\nf 2285//2285 2395//2395 2287//2287\nf 2286//2286 2393//2393 2474//2474\nf 2393//2393 2286//2286 2287//2287\nf 2396//2396 2395//2395 2288//2288\nf 2396//2396 2291//2291 2397//2397\nf 2398//2398 2397//2397 2291//2291\nf 2396//2396 2288//2288 2291//2291\nf 1842//1842 2289//2289 1847//1847\nf 2294//2294 2398//2398 2291//2291\nf 1847//1847 2289//2289 2400//2400\nf 1846//1846 2143//2143 2399//2399\nf 2141//2141 1847//1847 2400//2400\nf 2290//2290 2474//2474 2401//2401\nf 2290//2290 2401//2401 2295//2295\nf 2478//2478 2296//2296 2298//2298\nf 2297//2297 2143//2143 2146//2146\nf 2146//2146 2152//2152 2297//2297\nf 2301//2301 1859//1859 1868//1868\nf 2404//2404 2300//2300 2156//2156\nf 2303//2303 2404//2404 2156//2156\nf 1865//1865 2155//2155 2304//2304\nf 2303//2303 1877//1877 1879//1879\nf 2486//2486 2301//2301 2159//2159\nf 2486//2486 2159//2159 2305//2305\nf 2303//2303 1879//1879 2308//2308\nf 2160//2160 1869//1869 2407//2407\nf 2406//2406 2305//2305 1884//1884\nf 2408//2408 2488//2488 1885//1885\nf 1885//1885 2310//2310 2408//2408\nf 2306//2306 2409//2409 2307//2307\nf 1884//1884 1888//1888 2312//2312\nf 2406//2406 2312//2312 2489//2489\nf 2409//2409 2309//2309 2307//2307\nf 1884//1884 2312//2312 2406//2406\nf 2309//2309 2409//2409 2313//2313\nf 2312//2312 1895//1895 2410//2410\nf 1895//1895 2314//2314 2410//2410\nf 2163//2163 1887//1887 2411//2411\nf 2164//2164 2313//2313 2492//2492\nf 2414//2414 1898//1898 2316//2316\nf 2169//2169 2413//2413 2166//2166\nf 2167//2167 1898//1898 2414//2414\nf 2412//2412 2317//2317 2168//2168\nf 2415//2415 2412//2412 2168//2168\nf 2168//2168 2172//2172 2415//2415\nf 2416//2416 2415//2415 2172//2172\nf 2322//2322 2170//2170 2320//2320\nf 2416//2416 2172//2172 2175//2175\nf 2495//2495 2171//2171 2324//2324\nf 1914//1914 2324//2324 2171//2171\nf 2175//2175 2176//2176 2417//2417\nf 2325//2325 2173//2173 2322//2322\nf 2176//2176 2419//2419 2417//2417\nf 2418//2418 2178//2178 1917//1917\nf 2325//2325 2418//2418 1917//1917\nf 2176//2176 2328//2328 2419//2419\nf 1925//1925 2179//2179 2184//2184\nf 2419//2419 2328//2328 2183//2183\nf 2188//2188 1930//1930 2184//2184\nf 2422//2422 2420//2420 2183//2183\nf 2187//2187 2422//2422 2183//2183\nf 2190//2190 2186//2186 2427//2427\nf 2425//2425 2189//2189 1938//1938\nf 2426//2426 2422//2422 2187//2187\nf 2191//2191 2424//2424 2428//2428\nf 2187//2187 1933//1933 1937//1937\nf 2192//2192 2425//2425 1938//1938\nf 2426//2426 2187//2187 2330//2330\nf 2427//2427 2193//2193 2190//2190\nf 2191//2191 2428//2428 1944//1944\nf 2330//2330 1937//1937 2331//2331\nf 2332//2332 1948//1948 2198//2198\nf 2334//2334 1944//1944 2430//2430\nf 2196//2196 1944//1944 2334//2334\nf 2429//2429 2431//2431 2193//2193\nf 2431//2431 2199//2199 2193//2193\nf 2433//2433 1958//1958 2204//2204\nf 2433//2433 2200//2200 1958//1958\nf 2204//2204 2205//2205 2433//2433\nf 2436//2436 2433//2433 2205//2205\nf 2432//2432 2434//2434 1960//1960\nf 2437//2437 2197//2197 2203//2203\nf 2201//2201 2199//2199 2435//2435\nf 2436//2436 1960//1960 2434//2434\nf 2201//2201 2435//2435 2336//2336\nf 2208//2208 2206//2206 2336//2336\nf 2212//2212 1966//1966 2208//2208\nf 2338//2338 2210//2210 2212//2212\nf 2215//2215 2439//2439 2211//2211\nf 2338//2338 2212//2212 2438//2438\nf 2213//2213 2210//2210 2338//2338\nf 2215//2215 2441//2441 2442//2442\nf 2338//2338 2440//2440 1974//1974\nf 2439//2439 2215//2215 2442//2442\nf 2215//2215 2339//2339 2441//2441\nf 2339//2339 2216//2216 2443//2443\nf 2445//2445 2219//2219 1980//1980\nf 2341//2341 2223//2223 2343//2343\nf 2222//2222 2446//2446 2342//2342\nf 2226//2226 2222//2222 2342//2342\nf 2569//2569 2229//2229 2348//2348\nf 2237//2237 1985//1985 2345//2345\nf 1994//1994 2515//2515 2347//2347\nf 2245//2245 2349//2349 2518//2518\nf 2006//2006 2349//2349 2245//2245\nf 2247//2247 2449//2449 2005//2005\nf 2518//2518 2250//2250 2245//2245\nf 2250//2250 2007//2007 2245//2245\nf 2011//2011 2252//2252 2519//2519\nf 2251//2251 2010//2010 2012//2012\nf 2253//2253 2012//2012 2450//2450\nf 2450//2450 2254//2254 2253//2253\nf 2256//2256 2013//2013 2255//2255\nf 2254//2254 2450//2450 2018//2018\nf 2254//2254 2018//2018 2016//2016\nf 2452//2452 2451//2451 2266//2266\nf 2266//2266 2267//2267 2452//2452\nf 2020//2020 1470//1470 2269//2269\nf 2267//2267 2270//2270 2453//2453\nf 2026//2026 1023//1023 2273//2273\nf 2353//2353 2454//2454 2976//2976\nf 2352//2352 2022//2022 2586//2586\nf 2585//2585 2352//2352 2586//2586\nf 2033//2033 2032//2032 2031//2031\nf 2040//2040 1778//1778 2610//2610\nf 1782//1782 2048//2048 2357//2357\nf 2057//2057 2059//2059 2053//2053\nf 2455//2455 2053//2053 2059//2059\nf 2079//2079 2075//2075 2456//2456\nf 2361//2361 2071//2071 2360//2360\nf 2082//2082 2076//2076 2087//2087\nf 1800//1800 2081//2081 1796//1796\nf 2080//2080 2084//2084 2667//2667\nf 1806//1806 2087//2087 2458//2458\nf 2278//2278 1806//1806 2458//2458\nf 2364//2364 1802//1802 2457//2457\nf 2459//2459 2086//2086 1805//1805\nf 2526//2526 2365//2365 2683//2683\nf 2093//2093 2098//2098 1805//1805\nf 2682//2682 2527//2527 2278//2278\nf 2365//2365 1804//1804 2279//2279\nf 2098//2098 2459//2459 1805//1805\nf 2368//2368 2102//2102 2094//2094\nf 2105//2105 2096//2096 1810//1810\nf 2461//2461 2105//2105 1817//1817\nf 2106//2106 2371//2371 2369//2369\nf 2530//2530 2103//2103 2462//2462\nf 1821//1821 1150//1150 2372//2372\nf 2103//2103 1818//1818 2462//2462\nf 2111//2111 2371//2371 2108//2108\nf 2462//2462 1818//1818 2463//2463\nf 1818//1818 1822//1822 2463//2463\nf 2533//2533 1823//1823 2109//2109\nf 1817//1817 1823//1823 2533//2533\nf 1827//1827 2110//2110 2374//2374\nf 2380//2380 1833//1833 2113//2113\nf 2380//2380 2113//2113 2376//2376\nf 2116//2116 2122//2122 2379//2379\nf 2124//2124 2378//2378 2467//2467\nf 2127//2127 1833//1833 2380//2380\nf 2468//2468 2379//2379 2122//2122\nf 2466//2466 2465//2465 2383//2383\nf 2127//2127 2380//2380 2382//2382\nf 2284//2284 2123//2123 1835//1835\nf 2469//2469 2466//2466 2383//2383\nf 2379//2379 2468//2468 2471//2471\nf 2383//2383 2471//2471 2386//2386\nf 2469//2469 2383//2383 2472//2472\nf 2473//2473 2127//2127 2382//2382\nf 2473//2473 2135//2135 2127//2127\nf 2538//2538 2469//2469 2472//2472\nf 2746//2746 1835//1835 2388//2388\nf 2468//2468 2389//2389 2386//2386\nf 2472//2472 2383//2383 2387//2387\nf 2128//2128 2384//2384 2390//2390\nf 2132//2132 2543//2543 2544//2544\nf 2132//2132 2390//2390 2543//2543\nf 2543//2543 2390//2390 2542//2542\nf 2391//2391 2386//2386 2389//2389\nf 2387//2387 2393//2393 2472//2472\nf 2391//2391 2392//2392 2386//2386\nf 2539//2539 2287//2287 2395//2395\nf 2393//2393 2392//2392 2474//2474\nf 1842//1842 2394//2394 2546//2546\nf 2140//2140 1846//1846 2399//2399\nf 2290//2290 2286//2286 2474//2474\nf 2475//2475 2477//2477 2401//2401\nf 2476//2476 2398//2398 2294//2294\nf 2474//2474 2475//2475 2401//2401\nf 2476//2476 2294//2294 2478//2478\nf 2294//2294 2296//2296 2478//2478\nf 2295//2295 2401//2401 2403//2403\nf 2143//2143 2297//2297 2479//2479\nf 2403//2403 2483//2483 2299//2299\nf 2300//2300 2481//2481 2298//2298\nf 2295//2295 2403//2403 2299//2299\nf 1851//1851 2402//2402 2151//2151\nf 2297//2297 2484//2484 2482//2482\nf 2297//2297 1859//1859 2484//2484\nf 2484//2484 1859//1859 2301//2301\nf 2157//2157 2299//2299 2483//2483\nf 2405//2405 2155//2155 2151//2151\nf 2157//2157 2483//2483 2485//2485\nf 2302//2302 2157//2157 2487//2487\nf 1885//1885 2488//2488 2308//2308\nf 2410//2410 2489//2489 2312//2312\nf 2313//2313 2409//2409 2490//2490\nf 2310//2310 1896//1896 2491//2491\nf 2315//2315 2164//2164 2492//2492\nf 1896//1896 1901//1901 2491//2491\nf 1901//1901 2166//2166 2491//2491\nf 2318//2318 2315//2315 2492//2492\nf 2318//2318 2492//2492 2493//2493\nf 2166//2166 2413//2413 2319//2319\nf 2413//2413 2169//2169 2319//2319\nf 2496//2496 2322//2322 2320//2320\nf 2416//2416 2175//2175 2497//2497\nf 2324//2324 1921//1921 2327//2327\nf 2822//2822 2327//2327 2823//2823\nf 2497//2497 2175//2175 2417//2417\nf 2180//2180 1929//1929 2498//2498\nf 1929//1929 2185//2185 2498//2498\nf 2419//2419 2183//2183 2420//2420\nf 2185//2185 1934//1934 2421//2421\nf 1934//1934 2189//2189 2421//2421\nf 2834//2834 2420//2420 2422//2422\nf 2423//2423 1928//1928 2329//2329\nf 2186//2186 1928//1928 2423//2423\nf 2423//2423 2499//2499 2186//2186\nf 2191//2191 2188//2188 2424//2424\nf 2427//2427 2186//2186 2499//2499\nf 2192//2192 1943//1943 1945//1945\nf 2330//2330 2331//2331 2426//2426\nf 2426//2426 2331//2331 2501//2501\nf 2193//2193 2427//2427 2429//2429\nf 2198//2198 2502//2502 2332//2332\nf 2502//2502 2198//2198 1951//1951\nf 2501//2501 2333//2333 2558//2558\nf 2502//2502 1951//1951 2200//2200\nf 2436//2436 2205//2205 1960//1960\nf 2435//2435 2199//2199 2431//2431\nf 2503//2503 2336//2336 2435//2435\nf 2437//2437 2335//2335 2504//2504\nf 2437//2437 2203//2203 2335//2335\nf 2505//2505 2212//2212 2208//2208\nf 1969//1969 2211//2211 2337//2337\nf 2507//2507 2508//2508 2509//2509\nf 2507//2507 2506//2506 2508//2508\nf 2338//2338 2438//2438 2440//2440\nf 2511//2511 2444//2444 2510//2510\nf 2508//2508 2510//2510 2444//2444\nf 2339//2339 2443//2443 2441//2441\nf 2512//2512 2220//2220 1974//1974\nf 2224//2224 1982//1982 2444//2444\nf 2340//2340 2218//2218 2220//2220\nf 2445//2445 1980//1980 2341//2341\nf 2227//2227 2345//2345 1985//1985\nf 2222//2222 2340//2340 2900//2900\nf 2343//2343 2514//2514 2341//2341\nf 2229//2229 2569//2569 1993//1993\nf 2515//2515 1990//1990 2516//2516\nf 2515//2515 1994//1994 1990//1990\nf 2238//2238 2237//2237 2345//2345\nf 2573//2573 2240//2240 2922//2922\nf 2004//2004 2448//2448 2349//2349\nf 2247//2247 2248//2248 2449//2449\nf 2008//2008 2011//2011 2519//2519\nf 2520//2520 2012//2012 2010//2010\nf 2258//2258 2450//2450 2520//2520\nf 2450//2450 2012//2012 2520//2520\nf 2521//2521 2013//2013 2256//2256\nf 2258//2258 2015//2015 2450//2450\nf 2018//2018 2450//2450 2015//2015\nf 2522//2522 2259//2259 2262//2262\nf 2261//2261 2522//2522 2262//2262\nf 2451//2451 2263//2263 2266//2266\nf 2264//2264 2523//2523 2268//2268\nf 2453//2453 2452//2452 2267//2267\nf 2270//2270 2272//2272 2453//2453\nf 2454//2454 2023//2023 2588//2588\nf 2976//2976 2454//2454 2588//2588\nf 2591//2591 2027//2027 2596//2596\nf 1773//1773 2596//2596 2027//2027\nf 2598//2598 2355//2355 2601//2601\nf 2356//2356 2605//2605 2978//2978\nf 2604//2604 2035//2035 2606//2606\nf 2612//2612 2609//2609 2039//2039\nf 2615//2615 2048//2048 2045//2045\nf 2625//2625 2049//2049 2051//2051\nf 2049//2049 2627//2627 1781//1781\nf 2058//2058 1781//1781 2630//2630\nf 2638//2638 1785//1785 2060//2060\nf 2636//2636 2638//2638 2060//2060\nf 2634//2634 2524//2524 1787//1787\nf 2634//2634 1787//1787 1784//1784\nf 1787//1787 2524//2524 1788//1788\nf 2651//2651 2456//2456 2075//2075\nf 2651//2651 2652//2652 2456//2456\nf 2656//2656 2069//2069 2654//2654\nf 2658//2658 2077//2077 2657//2657\nf 2359//2359 2659//2659 2360//2360\nf 1796//1796 1795//1795 2666//2666\nf 2076//2076 2276//2276 2087//2087\nf 2669//2669 1796//1796 2664//2664\nf 1799//1799 2668//2668 2362//2362\nf 2671//2671 2660//2660 1794//1794\nf 2526//2526 2671//2671 2083//2083\nf 2667//2667 2084//2084 2086//2086\nf 2672//2672 2458//2458 2087//2087\nf 1799//1799 2085//2085 2089//2089\nf 2526//2526 2083//2083 2365//2365\nf 2457//2457 2679//2679 2364//2364\nf 2280//2280 2527//2527 2682//2682\nf 2089//2089 1807//1807 2096//2096\nf 2690//2690 2693//2693 2280//2280\nf 2369//2369 2460//2460 2106//2106\nf 2370//2370 2104//2104 2529//2529\nf 1150//1150 2367//2367 2372//2372\nf 2531//2531 2703//2703 2706//2706\nf 2704//2704 2461//2461 1817//1817\nf 2281//2281 2368//2368 2531//2531\nf 2281//2281 2531//2531 2282//2282\nf 2708//2708 2373//2373 2372//2372\nf 2374//2374 2110//2110 2370//2370\nf 2531//2531 2532//2532 2282//2282\nf 2282//2282 2532//2532 2712//2712\nf 2710//2710 2707//2707 2463//2463\nf 2714//2714 2115//2115 2112//2112\nf 2464//2464 2111//2111 2116//2116\nf 2534//2534 2464//2464 2116//2116\nf 2720//2720 2375//2375 1828//1828\nf 2378//2378 1827//1827 2377//2377\nf 2120//2120 1828//1828 2117//2117\nf 2465//2465 2116//2116 2379//2379\nf 2534//2534 2116//2116 2465//2465\nf 2466//2466 2719//2719 2534//2534\nf 2466//2466 2534//2534 2465//2465\nf 2716//2716 2466//2466 2535//2535\nf 2535//2535 2466//2466 2469//2469\nf 2736//2736 2467//2467 2378//2378\nf 2119//2119 2381//2381 2120//2120\nf 2383//2383 2465//2465 2471//2471\nf 2538//2538 2536//2536 2535//2535\nf 2284//2284 1835//1835 2537//2537\nf 2465//2465 2379//2379 2471//2471\nf 2538//2538 2535//2535 2469//2469\nf 2994//2994 2126//2126 2743//2743\nf 2471//2471 2468//2468 2386//2386\nf 2124//2124 2736//2736 2742//2742\nf 2388//2388 1835//1835 1839//1839\nf 2539//2539 2472//2472 2287//2287\nf 2132//2132 2544//2544 2133//2133\nf 2396//2396 2540//2540 2539//2539\nf 2540//2540 2396//2396 2397//2397\nf 2396//2396 2539//2539 2395//2395\nf 2540//2540 2397//2397 2541//2541\nf 2759//2759 2543//2543 2542//2542\nf 2545//2545 2140//2140 2399//2399\nf 2397//2397 2760//2760 2753//2753\nf 2392//2392 2391//2391 2475//2475\nf 2760//2760 2397//2397 2398//2398\nf 2289//2289 1842//1842 2546//2546\nf 2475//2475 2391//2391 1843//1843\nf 2474//2474 2392//2392 2475//2475\nf 2476//2476 2478//2478 2765//2765\nf 2479//2479 2399//2399 2143//2143\nf 2765//2765 2480//2480 2768//2768\nf 2141//2141 2769//2769 2773//2773\nf 2401//2401 2477//2477 2547//2547\nf 2770//2770 2480//2480 2298//2298\nf 2770//2770 2298//2298 2481//2481\nf 2403//2403 2401//2401 2547//2547\nf 2300//2300 2404//2404 2481//2481\nf 2548//2548 2404//2404 2303//2303\nf 2548//2548 2780//2780 2404//2404\nf 2549//2549 2548//2548 2303//2303\nf 2303//2303 2308//2308 2549//2549\nf 2155//2155 2405//2405 2788//2788\nf 2785//2785 2791//2791 2487//2487\nf 2407//2407 2304//2304 2793//2793\nf 2794//2794 2798//2798 2407//2407\nf 2311//2311 2160//2160 2407//2407\nf 2796//2796 2409//2409 2306//2306\nf 2316//2316 2163//2163 2805//2805\nf 2163//2163 2411//2411 2805//2805\nf 2551//2551 2314//2314 2317//2317\nf 2313//2313 2490//2490 2492//2492\nf 2551//2551 2317//2317 2412//2412\nf 2807//2807 2809//2809 2492//2492\nf 2166//2166 2319//2319 2413//2413\nf 2415//2415 2552//2552 2812//2812\nf 2318//2318 2493//2493 2320//2320\nf 2553//2553 2320//2320 2493//2493\nf 2495//2495 2815//2815 2813//2813\nf 2321//2321 2167//2167 2494//2494\nf 2416//2416 2552//2552 2415//2415\nf 2820//2820 2496//2496 2320//2320\nf 2323//2323 2821//2821 2326//2326\nf 2824//2824 2497//2497 2417//2417\nf 2325//2325 2322//2322 2554//2554\nf 2322//2322 2496//2496 2554//2554\nf 2418//2418 2325//2325 2554//2554\nf 2417//2417 2419//2419 2830//2830\nf 2178//2178 2418//2418 2329//2329\nf 2556//2556 2329//2329 2418//2418\nf 3012//3012 2829//2829 2498//2498\nf 3012//3012 2498//2498 2185//2185\nf 3012//3012 2185//2185 2421//2421\nf 1944//1944 2428//2428 2844//2844\nf 2843//2843 2500//2500 2332//2332\nf 2427//2427 2845//2845 2429//2429\nf 2500//2500 1945//1945 2332//2332\nf 2501//2501 2331//2331 2333//2333\nf 2849//2849 2502//2502 2200//2200\nf 2334//2334 2430//2430 2432//2432\nf 2433//2433 2851//2851 2200//2200\nf 2558//2558 2559//2559 2858//2858\nf 2333//2333 2437//2437 2558//2558\nf 2437//2437 2559//2559 2558//2558\nf 2335//2335 2560//2560 2504//2504\nf 2335//2335 2337//2337 2560//2560\nf 2208//2208 2336//2336 2561//2561\nf 2562//2562 2337//2337 2211//2211\nf 2510//2510 2508//2508 2506//2506\nf 2877//2877 2439//2439 2442//2442\nf 2438//2438 2563//2563 2440//2440\nf 2442//2442 2441//2441 2565//2565\nf 2509//2509 2508//2508 1982//1982\nf 2510//2510 2564//2564 2511//2511\nf 2444//2444 1982//1982 2508//2508\nf 2441//2441 2443//2443 2565//2565\nf 2444//2444 2511//2511 2224//2224\nf 2892//2892 2893//2893 2511//2511\nf 2511//2511 2227//2227 2224//2224\nf 2219//2219 2445//2445 2566//2566\nf 2443//2443 2219//2219 2566//2566\nf 2513//2513 2890//2890 2340//2340\nf 2894//2894 1986//1986 1989//1989\nf 2227//2227 1985//1985 2345//2345\nf 2342//2342 2446//2446 2900//2900\nf 2901//2901 2342//2342 2900//2900\nf 2343//2343 2514//2514 1993//1993\nf 2514//2514 2343//2343 1993//1993\nf 2345//2345 2898//2898 2902//2902\nf 2238//2238 2345//2345 2902//2902\nf 1990//1990 2342//2342 2568//2568\nf 2343//2343 1993//1993 2569//2569\nf 2567//2567 1995//1995 2447//2447\nf 2516//2516 2906//2906 2515//2515\nf 2348//2348 2908//2908 2907//2907\nf 2234//2234 2233//2233 2916//2916\nf 2234//2234 2913//2913 2918//2918\nf 2572//2572 2236//2236 2571//2571\nf 2236//2236 2235//2235 2571//2571\nf 2236//2236 2572//2572 2919//2919\nf 2234//2234 2570//2570 2917//2917\nf 2239//2239 2915//2915 2240//2240\nf 2922//2922 2240//2240 2915//2915\nf 2923//2923 2910//2910 2001//2001\nf 2926//2926 2242//2242 2243//2243\nf 2448//2448 2004//2004 2927//2927\nf 2517//2517 2518//2518 2349//2349\nf 2574//2574 2518//2518 2517//2517\nf 2576//2576 2250//2250 2575//2575\nf 2576//2576 2009//2009 2250//2250\nf 2940//2940 2010//2010 2009//2009\nf 2521//2521 2943//2943 2013//2013\nf 2521//2521 2256//2256 2943//2943\nf 2261//2261 2954//2954 2951//2951\nf 2951//2951 2522//2522 2261//2261\nf 2956//2956 2452//2452 2453//2453\nf 2960//2960 2269//2269 2958//2958\nf 2579//2579 2581//2581 2580//2580\nf 2579//2579 2578//2578 2581//2581\nf 2578//2578 2971//2971 2581//2581\nf 2582//2582 2583//2583 2584//2584\nf 2582//2582 2580//2580 2583//2583\nf 2590//2590 2273//2273 2585//2585\nf 2587//2587 2586//2586 2353//2353\nf 3221//3221 2586//2586 3218//3218\nf 2273//2273 2352//2352 2585//2585\nf 2353//2353 2586//2586 2022//2022\nf 2588//2588 2023//2023 2027//2027\nf 2027//2027 2591//2591 2588//2588\nf 2592//2592 2029//2029 2028//2028\nf 2597//2597 2354//2354 2595//2595\nf 2030//2030 2354//2354 2597//2597\nf 2602//2602 2601//2601 2355//2355\nf 1777//1777 2033//2033 2600//2600\nf 2605//2605 1777//1777 2600//2600\nf 2602//2602 2355//2355 2034//2034\nf 2602//2602 2034//2034 2607//2607\nf 2356//2356 1777//1777 2605//2605\nf 1774//1774 2603//2603 1775//1775\nf 2036//2036 2038//2038 2609//2609\nf 2978//2978 2610//2610 2356//2356\nf 2610//2610 1778//1778 2356//2356\nf 2034//2034 2037//2037 2607//2607\nf 2039//2039 2042//2042 2612//2612\nf 2037//2037 2614//2614 2607//2607\nf 2041//2041 2614//2614 2037//2037\nf 3034//3034 2615//2615 2045//2045\nf 2614//2614 2041//2041 2616//2616\nf 2613//2613 2042//2042 2044//2044\nf 1775//1775 2617//2617 2043//2043\nf 2608//2608 2617//2617 1775//1775\nf 2046//2046 2616//2616 2041//2041\nf 2615//2615 2620//2620 2048//2048\nf 2053//2053 2623//2623 2622//2622\nf 2624//2624 2047//2047 2357//2357\nf 2051//2051 2052//2052 2621//2621\nf 2053//2053 2622//2622 2052//2052\nf 2624//2624 2357//2357 2048//2048\nf 2616//2616 2046//2046 2056//2056\nf 2625//2625 2051//2051 2621//2621\nf 2455//2455 2623//2623 2053//2053\nf 2054//2054 2043//2043 2617//2617\nf 2623//2623 2455//2455 2059//2059\nf 2056//2056 2626//2626 2616//2616\nf 2625//2625 2627//2627 2049//2049\nf 2623//2623 2059//2059 2628//2628\nf 2629//2629 2054//2054 2617//2617\nf 2054//2054 2629//2629 2631//2631\nf 2054//2054 2631//2631 1784//1784\nf 2058//2058 2630//2630 2060//2060\nf 1783//1783 2058//2058 2060//2060\nf 2059//2059 2633//2633 2628//2628\nf 1784//1784 2631//2631 2634//2634\nf 2626//2626 2274//2274 2635//2635\nf 2060//2060 2632//2632 2636//2636\nf 2059//2059 2061//2061 2633//2633\nf 2635//2635 2062//2062 2637//2637\nf 2524//2524 2640//2640 1788//1788\nf 1788//1788 2641//2641 1789//1789\nf 1788//1788 2640//2640 2641//2641\nf 2065//2065 1790//1790 2643//2643\nf 2063//2063 2644//2644 2643//2643\nf 2638//2638 2644//2644 1785//1785\nf 2644//2644 2063//2063 1785//1785\nf 1789//1789 2641//2641 2645//2645\nf 2637//2637 2064//2064 2650//2650\nf 2075//2075 2646//2646 2651//2651\nf 2646//2646 2067//2067 2647//2647\nf 2642//2642 2646//2646 2647//2647\nf 2067//2067 2642//2642 2647//2647\nf 2643//2643 2067//2067 2065//2065\nf 2643//2643 2642//2642 2067//2067\nf 2643//2643 1790//1790 2063//2063\nf 2648//2648 2061//2061 2358//2358\nf 2061//2061 2648//2648 2639//2639\nf 1789//1789 2649//2649 2066//2066\nf 2646//2646 2075//2075 2067//2067\nf 2648//2648 2358//2358 1793//1793\nf 2649//2649 2068//2068 2066//2066\nf 2653//2653 2068//2068 2649//2649\nf 2068//2068 2653//2653 2069//2069\nf 1793//1793 2658//2658 2648//2648\nf 2070//2070 2069//2069 2656//2656\nf 2660//2660 2064//2064 1794//1794\nf 2661//2661 2525//2525 2655//2655\nf 2655//2655 2079//2079 2456//2456\nf 2456//2456 2652//2652 2655//2655\nf 1793//1793 2077//2077 2658//2658\nf 2359//2359 2070//2070 2656//2656\nf 2359//2359 2656//2656 2659//2659\nf 2655//2655 2525//2525 2079//2079\nf 2361//2361 2659//2659 2662//2662\nf 2360//2360 2659//2659 2361//2361\nf 2657//2657 2077//2077 2080//2080\nf 2657//2657 2080//2080 2667//2667\nf 2275//2275 2361//2361 2662//2662\nf 2275//2275 2662//2662 2663//2663\nf 2666//2666 2664//2664 1796//1796\nf 2079//2079 2525//2525 1802//1802\nf 2276//2276 2275//2275 2663//2663\nf 2276//2276 2663//2663 2665//2665\nf 2665//2665 2087//2087 2276//2276\nf 2668//2668 1795//1795 2362//2362\nf 1795//1795 2668//2668 2666//2666\nf 2664//2664 3043//3043 2669//2669\nf 2457//2457 1802//1802 2525//2525\nf 2673//2673 1800//1800 2669//2669\nf 2671//2671 1794//1794 2083//2083\nf 2665//2665 2672//2672 2087//2087\nf 2668//2668 1799//1799 2675//2675\nf 2674//2674 2667//2667 2086//2086\nf 2676//2676 1801//1801 2673//2673\nf 2088//2088 1801//1801 2676//2676\nf 2676//2676 2363//2363 2088//2088\nf 2984//2984 2278//2278 2458//2458\nf 2677//2677 2363//2363 2676//2676\nf 2363//2363 2677//2677 2678//2678\nf 2363//2363 2678//2678 2090//2090\nf 2670//2670 2679//2679 2457//2457\nf 2680//2680 2086//2086 2459//2459\nf 2086//2086 2680//2680 2674//2674\nf 2984//2984 2458//2458 2672//2672\nf 2089//2089 2681//2681 2985//2985\nf 1799//1799 2089//2089 2985//2985\nf 2682//2682 2278//2278 2984//2984\nf 2364//2364 2679//2679 2684//2684\nf 2090//2090 2678//2678 2092//2092\nf 2527//2527 2280//2280 2278//2278\nf 2685//2685 2092//2092 2678//2678\nf 2459//2459 2528//2528 2686//2686\nf 2096//2096 2687//2687 2089//2089\nf 2687//2687 2681//2681 2089//2089\nf 2678//2678 2688//2688 2685//2685\nf 2685//2685 2097//2097 2092//2092\nf 2366//2366 2364//2364 2684//2684\nf 2528//2528 2689//2689 2686//2686\nf 2685//2685 2688//2688 2097//2097\nf 2365//2365 2279//2279 2460//2460\nf 2693//2693 2104//2104 2280//2280\nf 2104//2104 2693//2693 2694//2694\nf 2687//2687 2096//2096 2695//2695\nf 2097//2097 2688//2688 2367//2367\nf 2698//2698 2460//2460 2369//2369\nf 2689//2689 2528//2528 2100//2100\nf 2105//2105 2695//2695 2096//2096\nf 2697//2697 2367//2367 2688//2688\nf 2689//2689 2100//2100 2103//2103\nf 2529//2529 2104//2104 2694//2694\nf 2689//2689 2103//2103 2530//2530\nf 2694//2694 2370//2370 2529//2529\nf 2697//2697 2701//2701 2367//2367\nf 2698//2698 2369//2369 2371//2371\nf 2698//2698 2371//2371 2702//2702\nf 2703//2703 2368//2368 2696//2696\nf 2367//2367 2701//2701 2372//2372\nf 2531//2531 2368//2368 2703//2703\nf 2704//2704 1817//1817 2705//2705\nf 2464//2464 2702//2702 2371//2371\nf 2701//2701 2708//2708 2372//2372\nf 2532//2532 2531//2531 2706//2706\nf 2463//2463 2707//2707 2462//2462\nf 2370//2370 2700//2700 3050//3050\nf 1817//1817 2533//2533 2711//2711\nf 2464//2464 2709//2709 2702//2702\nf 2109//2109 2711//2711 2533//2533\nf 2112//2112 2373//2373 2708//2708\nf 2371//2371 2111//2111 2464//2464\nf 2706//2706 2712//2712 2532//2532\nf 2711//2711 2109//2109 2720//2720\nf 2714//2714 2112//2112 2708//2708\nf 2463//2463 1822//1822 2710//2710\nf 2720//2720 2109//2109 2375//2375\nf 2282//2282 2712//2712 2376//2376\nf 2710//2710 1822//1822 2283//2283\nf 2710//2710 2283//2283 2717//2717\nf 2719//2719 2715//2715 2464//2464\nf 2716//2716 2715//2715 2719//2719\nf 2719//2719 2464//2464 2534//2534\nf 2377//2377 2374//2374 2718//2718\nf 2721//2721 2115//2115 2714//2714\nf 2989//2989 2723//2723 1828//1828\nf 2726//2726 2377//2377 2718//2718\nf 2989//2989 1828//1828 2120//2120\nf 2719//2719 2466//2466 2716//2716\nf 2725//2725 2724//2724 2535//2535\nf 2376//2376 2722//2722 2380//2380\nf 2727//2727 2380//2380 2722//2722\nf 2284//2284 2717//2717 2283//2283\nf 2724//2724 2716//2716 2535//2535\nf 2729//2729 2535//2535 2536//2536\nf 2988//2988 2725//2725 2729//2729\nf 2725//2725 2535//2535 2729//2729\nf 2380//2380 2727//2727 2731//2731\nf 2736//2736 2378//2378 2726//2726\nf 2728//2728 2734//2734 2121//2121\nf 2734//2734 2470//2470 2121//2121\nf 2382//2382 2380//2380 2738//2738\nf 2380//2380 2731//2731 2738//2738\nf 2732//2732 2284//2284 2735//2735\nf 2120//2120 2381//2381 2733//2733\nf 2739//2739 2470//2470 2734//2734\nf 2729//2729 2538//2538 2737//2737\nf 2735//2735 2537//2537 1835//1835\nf 2735//2735 1835//1835 2741//2741\nf 2739//2739 2125//2125 2470//2470\nf 2737//2737 2538//2538 2740//2740\nf 2540//2540 2740//2740 2538//2538\nf 2125//2125 2747//2747 2134//2134\nf 2993//2993 2740//2740 2744//2744\nf 2741//2741 1835//1835 2746//2746\nf 2126//2126 2385//2385 2743//2743\nf 2125//2125 2739//2739 2747//2747\nf 2538//2538 2472//2472 2539//2539\nf 2473//2473 2382//2382 2745//2745\nf 2384//2384 2124//2124 2742//2742\nf 2538//2538 2539//2539 2540//2540\nf 2744//2744 2740//2740 2540//2540\nf 2746//2746 2388//2388 2748//2748\nf 2749//2749 2385//2385 2133//2133\nf 2743//2743 2385//2385 2749//2749\nf 2744//2744 2540//2540 2541//2541\nf 2473//2473 2745//2745 2754//2754\nf 2134//2134 2747//2747 2138//2138\nf 2394//2394 2473//2473 2754//2754\nf 2749//2749 2133//2133 2750//2750\nf 2747//2747 2751//2751 2138//2138\nf 2138//2138 2751//2751 2139//2139\nf 2751//2751 2752//2752 2139//2139\nf 2397//2397 2744//2744 2541//2541\nf 2135//2135 2473//2473 2394//2394\nf 2756//2756 2542//2542 2390//2390\nf 2756//2756 2390//2390 2755//2755\nf 2759//2759 2750//2750 2543//2543\nf 2750//2750 2544//2544 2543//2543\nf 2744//2744 2397//2397 2753//2753\nf 2754//2754 2757//2757 2394//2394\nf 2750//2750 2133//2133 2544//2544\nf 2542//2542 2756//2756 2759//2759\nf 2758//2758 2140//2140 2545//2545\nf 2753//2753 2760//2760 2762//2762\nf 1843//1843 2139//2139 2752//2752\nf 1843//1843 2752//2752 2761//2761\nf 2398//2398 2476//2476 2760//2760\nf 2763//2763 2761//2761 2998//2998\nf 1843//1843 2763//2763 2475//2475\nf 2546//2546 2394//2394 2766//2766\nf 2399//2399 2758//2758 2545//2545\nf 2399//2399 2764//2764 2758//2758\nf 2763//2763 1843//1843 2761//2761\nf 2475//2475 2763//2763 2761//2761\nf 2289//2289 2546//2546 2766//2766\nf 2289//2289 2766//2766 2767//2767\nf 2764//2764 2399//2399 2997//2997\nf 2475//2475 2761//2761 2763//2763\nf 2768//2768 2762//2762 2765//2765\nf 2765//2765 2478//2478 2480//2480\nf 2478//2478 2298//2298 2480//2480\nf 2400//2400 2767//2767 2769//2769\nf 2400//2400 2289//2289 2767//2767\nf 2480//2480 2770//2770 2768//2768\nf 2402//2402 2141//2141 2773//2773\nf 2141//2141 2400//2400 2769//2769\nf 2774//2774 2771//2771 2297//2297\nf 2547//2547 2477//2477 2772//2772\nf 2771//2771 2479//2479 2297//2297\nf 2297//2297 2482//2482 2774//2774\nf 2402//2402 2773//2773 2776//2776\nf 2547//2547 2772//2772 2777//2777\nf 2778//2778 2774//2774 2482//2482\nf 2403//2403 2547//2547 2483//2483\nf 2402//2402 2776//2776 2779//2779\nf 2778//2778 2482//2482 2484//2484\nf 2483//2483 2547//2547 2777//2777\nf 2548//2548 2549//2549 2780//2780\nf 2301//2301 2782//2782 2484//2484\nf 2485//2485 2483//2483 2784//2784\nf 2483//2483 2777//2777 2784//2784\nf 2782//2782 2781//2781 2484//2484\nf 2301//2301 2486//2486 2782//2782\nf 3002//3002 2549//2549 2308//2308\nf 2782//2782 2486//2486 2305//2305\nf 2782//2782 2305//2305 2786//2786\nf 2487//2487 2157//2157 2485//2485\nf 2789//2789 3075//3075 2786//2786\nf 2787//2787 2308//2308 2488//2488\nf 2305//2305 2789//2789 2786//2786\nf 2302//2302 2487//2487 2791//2791\nf 2787//2787 2488//2488 2408//2408\nf 2793//2793 2304//2304 2790//2790\nf 2305//2305 2489//2489 2789//2789\nf 2787//2787 2408//2408 2792//2792\nf 2407//2407 1869//1869 2304//2304\nf 2306//2306 2302//2302 2791//2791\nf 2305//2305 2406//2406 2489//2489\nf 2794//2794 2407//2407 2793//2793\nf 2306//2306 2791//2791 2796//2796\nf 2410//2410 2799//2799 2489//2489\nf 2408//2408 2310//2310 2792//2792\nf 2792//2792 2310//2310 2797//2797\nf 2795//2795 2799//2799 3003//3003\nf 2798//2798 2311//2311 2407//2407\nf 2798//2798 2550//2550 2311//2311\nf 2797//2797 2310//2310 2491//2491\nf 2801//2801 2311//2311 2798//2798\nf 2800//2800 2409//2409 2796//2796\nf 2800//2800 2490//2490 2409//2409\nf 2410//2410 2314//2314 2802//2802\nf 2314//2314 2551//2551 2802//2802\nf 2807//2807 2490//2490 2800//2800\nf 2166//2166 2804//2804 2803//2803\nf 2805//2805 2411//2411 2801//2801\nf 2802//2802 2551//2551 2806//2806\nf 2806//2806 2551//2551 2412//2412\nf 2807//2807 2492//2492 2490//2490\nf 2808//2808 2316//2316 2805//2805\nf 2804//2804 2166//2166 2413//2413\nf 2809//2809 2493//2493 2492//2492\nf 2413//2413 2319//2319 3007//3007\nf 2412//2412 2415//2415 2812//2812\nf 2414//2414 2316//2316 2808//2808\nf 2811//2811 2493//2493 2809//2809\nf 2319//2319 2171//2171 2813//2813\nf 2171//2171 2495//2495 2813//2813\nf 2493//2493 2811//2811 2814//2814\nf 2493//2493 2814//2814 2553//2553\nf 2167//2167 2810//2810 2816//2816\nf 2494//2494 2167//2167 2816//2816\nf 2814//2814 2320//2320 2553//2553\nf 2818//2818 2320//2320 2814//2814\nf 2495//2495 2324//2324 2815//2815\nf 2552//2552 2416//2416 2497//2497\nf 2820//2820 2320//2320 2818//2818\nf 2815//2815 2324//2324 2822//2822\nf 2554//2554 2496//2496 2820//2820\nf 2324//2324 2327//2327 2822//2822\nf 2819//2819 2497//2497 2824//2824\nf 2179//2179 2326//2326 3009//3009\nf 2827//2827 2554//2554 2825//2825\nf 2180//2180 2826//2826 2327//2327\nf 2417//2417 2830//2830 2824//2824\nf 2418//2418 2554//2554 2555//2555\nf 2554//2554 2827//2827 2555//2555\nf 2827//2827 2418//2418 2555//2555\nf 2180//2180 2498//2498 2829//2829\nf 2827//2827 2831//2831 2418//2418\nf 2418//2418 2831//2831 2832//2832\nf 2419//2419 2420//2420 2830//2830\nf 2420//2420 2834//2834 2830//2830\nf 2556//2556 2418//2418 2832//2832\nf 2184//2184 2828//2828 2833//2833\nf 2329//2329 2556//2556 2832//2832\nf 2184//2184 2833//2833 2557//2557\nf 2184//2184 2557//2557 2188//2188\nf 2832//2832 2423//2423 2329//2329\nf 3015//3015 3012//3012 2421//2421\nf 2834//2834 2422//2422 2835//2835\nf 3015//3015 2421//2421 2189//2189\nf 2835//2835 2839//2839 3016//3016\nf 2836//2836 2192//2192 2840//2840\nf 2838//2838 2423//2423 2837//2837\nf 2835//2835 2422//2422 2839//2839\nf 2423//2423 2838//2838 2499//2499\nf 2499//2499 2838//2838 2841//2841\nf 2840//2840 2192//2192 2500//2500\nf 2430//2430 1944//1944 3019//3019\nf 2839//2839 2422//2422 2426//2426\nf 2844//2844 2428//2428 2842//2842\nf 2841//2841 2427//2427 2499//2499\nf 2500//2500 2843//2843 2840//2840\nf 3019//3019 2844//2844 2842//2842\nf 2427//2427 2841//2841 2845//2845\nf 2843//2843 2332//2332 2846//2846\nf 1944//1944 2844//2844 3019//3019\nf 2501//2501 2847//2847 2426//2426\nf 2332//2332 2848//2848 2846//2846\nf 2848//2848 2332//2332 2502//2502\nf 2558//2558 2847//2847 2501//2501\nf 2849//2849 2200//2200 2851//2851\nf 2849//2849 2851//2851 2853//2853\nf 2851//2851 2433//2433 2849//2849\nf 2852//2852 2432//2432 2850//2850\nf 2430//2430 2850//2850 2432//2432\nf 3091//3091 2854//2854 2850//2850\nf 2854//2854 2434//2434 2852//2852\nf 2434//2434 2432//2432 2852//2852\nf 2854//2854 3022//3022 2434//2434\nf 2431//2431 2857//2857 2435//2435\nf 2858//2858 2856//2856 2558//2558\nf 2859//2859 2435//2435 2857//2857\nf 2559//2559 2437//2437 2858//2858\nf 2859//2859 2503//2503 2435//2435\nf 2861//2861 2437//2437 2504//2504\nf 2859//2859 2860//2860 2503//2503\nf 2336//2336 2503//2503 2860//2860\nf 2504//2504 2560//2560 2861//2861\nf 2561//2561 2336//2336 2862//2862\nf 2864//2864 2561//2561 2862//2862\nf 2865//2865 2560//2560 2337//2337\nf 2865//2865 2863//2863 2560//2560\nf 2865//2865 2337//2337 2562//2562\nf 2208//2208 2866//2866 2505//2505\nf 2212//2212 2866//2866 2872//2872\nf 2438//2438 2212//2212 2872//2872\nf 2211//2211 2439//2439 2562//2562\nf 2865//2865 2562//2562 2869//2869\nf 2507//2507 2867//2867 2506//2506\nf 2506//2506 2867//2867 2870//2870\nf 2439//2439 2868//2868 2562//2562\nf 2871//2871 2867//2867 2507//2507\nf 2870//2870 2873//2873 2506//2506\nf 2873//2873 2874//2874 2510//2510\nf 2506//2506 2873//2873 2510//2510\nf 2871//2871 2507//2507 2509//2509\nf 2438//2438 3025//3025 2876//2876\nf 2439//2439 2877//2877 2868//2868\nf 2875//2875 2871//2871 2509//2509\nf 2438//2438 2876//2876 2563//2563\nf 2510//2510 2874//2874 2878//2878\nf 2882//2882 2877//2877 2442//2442\nf 2878//2878 2880//2880 2564//2564\nf 2510//2510 2878//2878 2564//2564\nf 2875//2875 1982//1982 1978//1978\nf 2875//2875 2509//2509 1982//1982\nf 2875//2875 1978//1978 2881//2881\nf 2881//2881 1978//1978 2875//2875\nf 2883//2883 2875//2875 1978//1978\nf 2884//2884 1974//1974 2440//2440\nf 2565//2565 2882//2882 2442//2442\nf 1978//1978 2221//2221 2883//2883\nf 2887//2887 2882//2882 2565//2565\nf 2885//2885 2221//2221 1981//1981\nf 2885//2885 2883//2883 2221//2221\nf 1974//1974 2884//2884 2886//2886\nf 2512//2512 2886//2886 2889//2889\nf 2512//2512 2889//2889 2220//2220\nf 2443//2443 2887//2887 2565//2565\nf 2225//2225 2885//2885 1981//1981\nf 2225//2225 2888//2888 2885//2885\nf 2887//2887 2443//2443 2891//2891\nf 2892//2892 2564//2564 2880//2880\nf 2511//2511 2564//2564 2892//2892\nf 2893//2893 2227//2227 2511//2511\nf 2513//2513 2220//2220 2890//2890\nf 2443//2443 2566//2566 2891//2891\nf 2225//2225 1986//1986 2894//2894\nf 2893//2893 2892//2892 2227//2227\nf 2891//2891 2566//2566 2445//2445\nf 1985//1985 2227//2227 2892//2892\nf 2897//2897 2340//2340 2895//2895\nf 2445//2445 2341//2341 2514//2514\nf 2514//2514 2899//2899 2896//2896\nf 2345//2345 2892//2892 2898//2898\nf 2892//2892 2345//2345 1985//1985\nf 2446//2446 2222//2222 2900//2900\nf 2896//2896 2445//2445 2514//2514\nf 1989//1989 1995//1995 2567//2567\nf 1989//1989 2567//2567 2894//2894\nf 2343//2343 2899//2899 2514//2514\nf 2903//2903 2342//2342 2901//2901\nf 2568//2568 2342//2342 2903//2903\nf 2568//2568 2903//2903 2906//2906\nf 2343//2343 2569//2569 2904//2904\nf 2905//2905 2567//2567 2447//2447\nf 1990//1990 2568//2568 2906//2906\nf 2904//2904 2569//2569 2907//2907\nf 2238//2238 2909//2909 2902//2902\nf 2516//2516 1990//1990 2906//2906\nf 2000//2000 2905//2905 2447//2447\nf 2569//2569 2348//2348 2907//2907\nf 2906//2906 2911//2911 2515//2515\nf 2905//2905 2000//2000 2910//2910\nf 2232//2232 2347//2347 2912//2912\nf 2914//2914 2348//2348 2236//2236\nf 2908//2908 2348//2348 2914//2914\nf 2239//2239 2909//2909 2915//2915\nf 2001//2001 2910//2910 2000//2000\nf 2234//2234 2917//2917 2913//2913\nf 2231//2231 2234//2234 2918//2918\nf 2236//2236 2919//2919 2914//2914\nf 2914//2914 2920//2920 2908//2908\nf 2234//2234 2916//2916 2570//2570\nf 2917//2917 2918//2918 2913//2913\nf 2571//2571 2235//2235 2921//2921\nf 2572//2572 2921//2921 2919//2919\nf 2923//2923 2001//2001 2241//2241\nf 2241//2241 2242//2242 2925//2925\nf 2002//2002 2240//2240 2573//2573\nf 2924//2924 2004//2004 2002//2002\nf 2004//2004 2924//2924 2927//2927\nf 2926//2926 2243//2243 2928//2928\nf 2448//2448 2929//2929 2349//2349\nf 2932//2932 2928//2928 2243//2243\nf 2349//2349 2931//2931 2517//2517\nf 2449//2449 2932//2932 2243//2243\nf 2933//2933 2931//2931 3029//3029\nf 2517//2517 2931//2931 2933//2933\nf 2931//2931 3028//3028 3029//3029\nf 2574//2574 2517//2517 2933//2933\nf 2932//2932 2449//2449 2934//2934\nf 2933//2933 2518//2518 2574//2574\nf 2936//2936 2934//2934 2248//2248\nf 2518//2518 2933//2933 2935//2935\nf 2250//2250 2518//2518 2935//2935\nf 2575//2575 2250//2250 2935//2935\nf 2249//2249 2936//2936 2248//2248\nf 2938//2938 2936//2936 2249//2249\nf 2935//2935 2937//2937 2575//2575\nf 2937//2937 2576//2576 2575//2575\nf 2938//2938 2249//2249 2008//2008\nf 2519//2519 2939//2939 2008//2008\nf 2576//2576 2937//2937 2009//2009\nf 2940//2940 2009//2009 2937//2937\nf 2941//2941 2939//2939 2519//2519\nf 2941//2941 2519//2519 2252//2252\nf 2941//2941 2252//2252 2013//2013\nf 2010//2010 2942//2942 2520//2520\nf 2010//2010 2940//2940 2942//2942\nf 2944//2944 2520//2520 2942//2942\nf 2350//2350 2946//2946 2945//2945\nf 2946//2946 2350//2350 2942//2942\nf 2942//2942 2350//2350 2257//2257\nf 2520//2520 2944//2944 2948//2948\nf 2948//2948 2258//2258 2520//2520\nf 2943//2943 2256//2256 2949//2949\nf 2947//2947 2257//2257 2258//2258\nf 2947//2947 2258//2258 2948//2948\nf 2950//2950 2949//2949 2256//2256\nf 2256//2256 2259//2259 2950//2950\nf 2950//2950 2259//2259 2522//2522\nf 2351//2351 2350//2350 2952//2952\nf 2261//2261 2263//2263 2953//2953\nf 2955//2955 2953//2953 2263//2263\nf 2263//2263 2451//2451 2955//2955\nf 2955//2955 2452//2452 2956//2956\nf 2451//2451 2452//2452 2955//2955\nf 2260//2260 2957//2957 2264//2264\nf 3030//3030 2958//2958 2268//2268\nf 2956//2956 2453//2453 2959//2959\nf 2269//2269 2268//2268 2958//2958\nf 2961//2961 2959//2959 2453//2453\nf 2960//2960 2020//2020 2269//2269\nf 2962//2962 2271//2271 2020//2020\nf 2962//2962 2020//2020 2960//2960\nf 2963//2963 2272//2272 2271//2271\nf 2963//2963 2271//2271 2962//2962\nf 2963//2963 2961//2961 2272//2272\nf 2577//2577 2964//2964 2968//2968\nf 2965//2965 2577//2577 2578//2578\nf 2965//2965 2964//2964 2577//2577\nf 2965//2965 2578//2578 2969//2969\nf 2578//2578 2970//2970 2969//2969\nf 2970//2970 2578//2578 2579//2579\nf 2579//2579 2580//2580 2970//2970\nf 2968//2968 2578//2578 2577//2577\nf 2968//2968 2581//2581 2578//2578\nf 2971//2971 2581//2581 2968//2968\nf 2578//2578 2581//2581 2971//2971\nf 2582//2582 2970//2970 2580//2580\nf 2971//2971 2973//2973 2581//2581\nf 2581//2581 2973//2973 2580//2580\nf 2974//2974 2580//2580 2973//2973\nf 2580//2580 2974//2974 2583//2583\nf 2582//2582 2975//2975 2972//2972\nf 2584//2584 2975//2975 2582//2582\nf 2583//2583 2974//2974 2975//2975\nf 2583//2583 2975//2975 2584//2584\nf 3218//3218 2586//2586 2976//2976\nf 2587//2587 2353//2353 2976//2976\nf 2025//2025 2026//2026 2589//2589\nf 2589//2589 2026//2026 2273//2273\nf 2589//2589 2273//2273 2590//2590\nf 2592//2592 2028//2028 2025//2025\nf 2977//2977 2588//2588 2591//2591\nf 2029//2029 2592//2592 2593//2593\nf 1772//1772 2029//2029 2594//2594\nf 2594//2594 2029//2029 2593//2593\nf 2599//2599 2031//2031 2030//2030\nf 2598//2598 1773//1773 2355//2355\nf 2033//2033 2031//2031 2599//2599\nf 2600//2600 2033//2033 2599//2599\nf 1774//1774 2604//2604 2603//2603\nf 2603//2603 2608//2608 1775//1775\nf 2606//2606 2036//2036 2609//2609\nf 2609//2609 2038//2038 2039//2039\nf 2611//2611 2040//2040 2610//2610\nf 3034//3034 2045//2045 2040//2040\nf 2979//2979 2613//2613 2044//2044\nf 2044//2044 2047//2047 2618//2618\nf 2047//2047 2619//2619 2618//2618\nf 2622//2622 2621//2621 2052//2052\nf 2619//2619 2047//2047 2624//2624\nf 2620//2620 2624//2624 2048//2048\nf 2980//2980 2623//2623 2628//2628\nf 2630//2630 1781//1781 2981//2981\nf 2056//2056 2274//2274 2626//2626\nf 2630//2630 2632//2632 2060//2060\nf 2633//2633 2061//2061 2639//2639\nf 2635//2635 2274//2274 2062//2062\nf 2637//2637 2062//2062 2064//2064\nf 2646//2646 3039//3039 2652//2652\nf 2649//2649 1789//1789 2645//2645\nf 2646//2646 2652//2652 2651//2651\nf 2653//2653 2654//2654 2069//2069\nf 2525//2525 2661//2661 2982//2982\nf 2525//2525 2982//2982 2670//2670\nf 2669//2669 1800//1800 1796//1796\nf 2457//2457 2525//2525 2670//2670\nf 2672//2672 2665//2665 2663//2663\nf 2673//2673 1801//1801 1800//1800\nf 2984//2984 2672//2672 2682//2682\nf 2670//2670 2684//2684 2679//2679\nf 2459//2459 2686//2686 2680//2680\nf 2459//2459 2100//2100 2528//2528\nf 2280//2280 2682//2682 2690//2690\nf 2986//2986 2681//2681 2687//2687\nf 2365//2365 2460//2460 2683//2683\nf 2691//2691 2366//2366 2684//2684\nf 2696//2696 2366//2366 2691//2691\nf 2460//2460 2698//2698 2692//2692\nf 2368//2368 2366//2366 2696//2696\nf 2105//2105 2699//2699 2695//2695\nf 3050//3050 2700//2700 2694//2694\nf 2370//2370 2694//2694 2700//2700\nf 2699//2699 2105//2105 2461//2461\nf 2703//2703 2696//2696 2706//2706\nf 2705//2705 1817//1817 2711//2711\nf 2709//2709 2464//2464 2715//2715\nf 2987//2987 2709//2709 2715//2715\nf 2716//2716 2987//2987 2715//2715\nf 3053//3053 2987//2987 2724//2724\nf 2376//2376 2712//2712 2722//2722\nf 2718//2718 2374//2374 2713//2713\nf 2987//2987 2716//2716 2724//2724\nf 1828//1828 2723//2723 2720//2720\nf 2115//2115 2721//2721 2728//2728\nf 2724//2724 2725//2725 2988//2988\nf 2121//2121 2115//2115 2728//2728\nf 2538//2538 2729//2729 2536//2536\nf 2120//2120 2730//2730 2989//2989\nf 2740//2740 2990//2990 2729//2729\nf 2284//2284 2537//2537 2735//2735\nf 2730//2730 2120//2120 2733//2733\nf 2740//2740 2729//2729 2737//2737\nf 2381//2381 2992//2992 2733//2733\nf 2381//2381 2126//2126 2992//2992\nf 2126//2126 2994//2994 2992//2992\nf 2124//2124 2467//2467 2736//2736\nf 2747//2747 2739//2739 3063//3063\nf 2384//2384 2742//2742 2995//2995\nf 2388//2388 2140//2140 2758//2758\nf 2390//2390 2384//2384 2995//2995\nf 2996//2996 2749//2749 2750//2750\nf 2746//2746 2388//2388 2758//2758\nf 2755//2755 2390//2390 2995//2995\nf 2394//2394 2757//2757 2766//2766\nf 2758//2758 2764//2764 2997//2997\nf 2761//2761 2752//2752 2998//2998\nf 2762//2762 2476//2476 2765//2765\nf 2762//2762 2760//2760 2476//2476\nf 2399//2399 2479//2479 2997//2997\nf 2479//2479 2999//2999 2997//2997\nf 2475//2475 2763//2763 3000//3000\nf 2477//2477 2475//2475 3000//3000\nf 2479//2479 2771//2771 2999//2999\nf 3000//3000 3001//3001 2772//2772\nf 2477//2477 3000//3000 2772//2772\nf 2481//2481 2775//2775 2770//2770\nf 2781//2781 2774//2774 2778//2778\nf 2775//2775 2481//2481 2404//2404\nf 2404//2404 2780//2780 2775//2775\nf 2151//2151 2402//2402 2779//2779\nf 2484//2484 2781//2781 2778//2778\nf 2780//2780 2549//2549 3002//3002\nf 2783//2783 2151//2151 2779//2779\nf 3074//3074 3151//3151 3002//3002\nf 3073//3073 2783//2783 2779//2779\nf 2783//2783 2405//2405 2151//2151\nf 2785//2785 2485//2485 2784//2784\nf 2485//2485 2785//2785 2487//2487\nf 3002//3002 2308//2308 2787//2787\nf 2784//2784 3076//3076 2785//2785\nf 2788//2788 2405//2405 2783//2783\nf 2304//2304 2155//2155 2790//2790\nf 2155//2155 2788//2788 2790//2790\nf 2789//2789 2489//2489 2795//2795\nf 3077//3077 2792//2792 2797//2797\nf 2795//2795 2489//2489 2799//2799\nf 2799//2799 3004//3004 3003//3003\nf 2410//2410 3004//3004 2799//2799\nf 2311//2311 2550//2550 2798//2798\nf 3005//3005 2801//2801 2798//2798\nf 3004//3004 2410//2410 2802//2802\nf 2311//2311 2801//2801 2411//2411\nf 2491//2491 2166//2166 2803//2803\nf 3080//3080 2803//2803 2804//2804\nf 3006//3006 2806//2806 2412//2412\nf 2412//2412 2812//2812 3006//3006\nf 3007//3007 2319//2319 2813//2813\nf 2414//2414 2808//2808 2810//2810\nf 2552//2552 2817//2817 2812//2812\nf 2321//2321 2494//2494 2816//2816\nf 2817//2817 2552//2552 2497//2497\nf 2817//2817 2497//2497 2819//2819\nf 2323//2323 2321//2321 2821//2821\nf 2824//2824 3008//3008 2819//2819\nf 2824//2824 3010//3010 3008//3008\nf 2326//2326 2821//2821 3009//3009\nf 2327//2327 2826//2826 2823//2823\nf 2179//2179 3009//3009 2828//2828\nf 2180//2180 2829//2829 2826//2826\nf 2827//2827 3013//3013 2831//2831\nf 2184//2184 2179//2179 2828//2828\nf 2832//2832 2831//2831 3013//3013\nf 2188//2188 2557//2557 2833//2833\nf 2837//2837 2423//2423 2832//2832\nf 2189//2189 2425//2425 2836//2836\nf 2424//2424 2188//2188 3017//3017\nf 2836//2836 2425//2425 2192//2192\nf 2428//2428 2424//2424 3017//3017\nf 2839//2839 3018//3018 3016//3016\nf 2842//2842 2428//2428 3017//3017\nf 2430//2430 3019//3019 3020//3020\nf 2426//2426 2847//2847 2839//2839\nf 3089//3089 2839//2839 2847//2847\nf 2850//2850 2430//2430 3020//3020\nf 2848//2848 2502//2502 2849//2849\nf 2431//2431 2429//2429 3021//3021\nf 3021//3021 2429//2429 2845//2845\nf 2433//2433 2851//2851 2849//2849\nf 2850//2850 2854//2854 2852//2852\nf 2855//2855 2431//2431 3021//3021\nf 2433//2433 2436//2436 2853//2853\nf 2853//2853 2436//2436 3022//3022\nf 2847//2847 2558//2558 2856//2856\nf 3022//3022 2436//2436 2434//2434\nf 2857//2857 2431//2431 2855//2855\nf 2437//2437 2861//2861 2858//2858\nf 2858//2858 2861//2861 3023//3023\nf 2336//2336 2860//2860 2862//2862\nf 2861//2861 2560//2560 2863//2863\nf 2866//2866 2864//2864 3024//3024\nf 2864//2864 2208//2208 2561//2561\nf 3094//3094 2863//2863 2865//2865\nf 2208//2208 2864//2864 2866//2866\nf 2562//2562 2868//2868 2869//2869\nf 2212//2212 2505//2505 2866//2866\nf 3025//3025 2872//2872 2876//2876\nf 2438//2438 2872//2872 3025//3025\nf 2877//2877 2869//2869 2868//2868\nf 2879//2879 2440//2440 2563//2563\nf 2879//2879 2563//2563 2876//2876\nf 2875//2875 2883//2883 3098//3098\nf 2879//2879 2884//2884 2440//2440\nf 2512//2512 1974//1974 2886//2886\nf 2890//2890 2220//2220 2889//2889\nf 2880//2880 3026//3026 2892//2892\nf 2894//2894 2888//2888 2225//2225\nf 2340//2340 2890//2890 2895//2895\nf 2445//2445 2896//2896 2891//2891\nf 2900//2900 2340//2340 2897//2897\nf 3107//3107 2901//2901 2900//2900\nf 2902//2902 3106//3106 2909//2909\nf 2238//2238 2902//2902 2909//2909\nf 2902//2902 2898//2898 3106//3106\nf 2901//2901 3107//3107 2903//2903\nf 2343//2343 2904//2904 2899//2899\nf 3108//3108 2899//2899 2904//2904\nf 2238//2238 2902//2902 2909//2909\nf 2907//2907 2908//2908 2920//2920\nf 2921//2921 2235//2235 2231//2231\nf 2921//2921 2231//2231 2918//2918\nf 2572//2572 2571//2571 2921//2921\nf 2923//2923 2241//2241 2925//2925\nf 2002//2002 2573//2573 2924//2924\nf 2925//2925 2242//2242 2926//2926\nf 2929//2929 2448//2448 2927//2927\nf 2929//2929 2930//2930 2349//2349\nf 2931//2931 2349//2349 2930//2930\nf 2449//2449 2248//2248 2934//2934\nf 2938//2938 2008//2008 2939//2939\nf 2941//2941 2013//2013 2943//2943\nf 2942//2942 2257//2257 2947//2947\nf 2944//2944 2947//2947 2948//2948\nf 2944//2944 2942//2942 2947//2947\nf 2950//2950 2522//2522 2951//2951\nf 2952//2952 2350//2350 2945//2945\nf 2351//2351 2952//2952 3117//3117\nf 2957//2957 2260//2260 2351//2351\nf 3030//3030 2268//2268 2264//2264\nf 2268//2268 2523//2523 2264//2264\nf 2453//2453 2272//2272 2961//2961\nf 2962//2962 2961//2961 2963//2963\nf 2968//2968 2964//2964 2966//2966\nf 2968//2968 2966//2966 2967//2967\nf 2971//2971 2968//2968 3031//3031\nf 2582//2582 2972//2972 2970//2970\nf 3220//3220 2590//2590 3689//3689\nf 2595//2595 2354//2354 2594//2594\nf 2354//2354 1772//1772 2594//2594\nf 2596//2596 1773//1773 2598//2598\nf 2599//2599 2030//2030 2597//2597\nf 2035//2035 2036//2036 2606//2606\nf 3032//3032 2608//2608 2603//2603\nf 2601//2601 2602//2602 2607//2607\nf 2612//2612 2042//2042 2613//2613\nf 2979//2979 2044//2044 2618//2618\nf 2623//2623 3036//3036 3035//3035\nf 3033//3033 3037//3037 2608//2608\nf 2617//2617 2608//2608 3037//3037\nf 3035//3035 2622//2622 2623//2623\nf 2617//2617 3037//3037 2629//2629\nf 2626//2626 3038//3038 2616//2616\nf 3040//3040 2634//2634 2631//2631\nf 2524//2524 2634//2634 3040//3040\nf 2640//2640 2524//2524 3041//3041\nf 2641//2641 2640//2640 3041//3041\nf 2645//2645 2641//2641 3041//3041\nf 2652//2652 3039//3039 2655//2655\nf 2654//2654 3042//3042 2656//2656\nf 2650//2650 2064//2064 2660//2660\nf 2661//2661 2655//2655 3129//3129\nf 2662//2662 3044//3044 2663//2663\nf 3044//3044 2672//2672 2663//2663\nf 2671//2671 2526//2526 2983//2983\nf 2684//2684 2670//2670 3045//3045\nf 2682//2682 2672//2672 3044//3044\nf 2677//2677 2676//2676 2673//2673\nf 2526//2526 2683//2683 2983//2983\nf 2667//2667 2674//2674 2680//2680\nf 2667//2667 2680//2680 2686//2686\nf 2675//2675 1799//1799 2985//2985\nf 3046//3046 2690//2690 2682//2682\nf 2683//2683 2460//2460 2692//2692\nf 2678//2678 3047//3047 2688//2688\nf 3049//3049 3135//3135 2689//2689\nf 3049//3049 2689//2689 2530//2530\nf 2530//2530 2707//2707 3049//3049\nf 3050//3050 2694//2694 3136//3136\nf 2461//2461 2704//2704 2699//2699\nf 2696//2696 3051//3051 2706//2706\nf 2530//2530 2462//2462 2707//2707\nf 2713//2713 2370//2370 3050//3050\nf 2713//2713 2374//2374 2370//2370\nf 2704//2704 2705//2705 2711//2711\nf 2987//2987 3052//3052 2709//2709\nf 2987//2987 3053//3053 3052//3052\nf 2712//2712 2706//2706 3054//3054\nf 2711//2711 2720//2720 3055//3055\nf 3057//3057 3053//3053 2724//2724\nf 2718//2718 2713//2713 3058//3058\nf 3056//3056 2710//2710 2717//2717\nf 3057//3057 2724//2724 2988//2988\nf 2989//2989 2720//2720 2723//2723\nf 2726//2726 2378//2378 2377//2377\nf 3061//3061 2721//2721 2714//2714\nf 2988//2988 2729//2729 3059//3059\nf 2721//2721 3061//3061 2728//2728\nf 2717//2717 2284//2284 2732//2732\nf 3059//3059 2729//2729 2990//2990\nf 2990//2990 2740//2740 3062//3062\nf 2991//2991 2731//2731 2727//2727\nf 2738//2738 2731//2731 2991//2991\nf 3060//3060 3142//3142 2736//2736\nf 3062//3062 2740//2740 2993//2993\nf 2745//2745 2382//2382 2738//2738\nf 2734//2734 3063//3063 2739//2739\nf 2738//2738 2991//2991 2745//2745\nf 2746//2746 2748//2748 2388//2388\nf 2744//2744 2753//2753 3064//3064\nf 2749//2749 2996//2996 3066//3066\nf 2996//2996 2750//2750 3066//3066\nf 3064//3064 2753//2753 3067//3067\nf 2757//2757 2754//2754 2766//2766\nf 2754//2754 3069//3069 2766//2766\nf 3148//3148 2762//2762 2768//2768\nf 2781//2781 3071//3071 2774//2774\nf 3070//3070 2775//2775 2780//2780\nf 2777//2777 2772//2772 3001//3001\nf 2779//2779 2776//2776 2773//2773\nf 2787//2787 3074//3074 3002//3002\nf 2790//2790 2788//2788 2793//2793\nf 3077//3077 2787//2787 2792//2792\nf 2785//2785 3076//3076 2791//2791\nf 2798//2798 2794//2794 3078//3078\nf 2491//2491 2803//2803 2797//2797\nf 3080//3080 2797//2797 2803//2803\nf 2796//2796 3079//3079 2800//2800\nf 2802//2802 2806//2806 3006//3006\nf 2810//2810 2808//2808 2805//2805\nf 2804//2804 2413//2413 3007//3007\nf 2167//2167 2414//2414 2810//2810\nf 3081//3081 2816//2816 2810//2810\nf 2809//2809 3082//3082 2811//2811\nf 3082//3082 2814//2814 2811//2811\nf 2818//2818 2814//2814 3085//3085\nf 2321//2321 2816//2816 2821//2821\nf 2815//2815 2822//2822 3083//3083\nf 2820//2820 2818//2818 3085//3085\nf 3008//3008 3084//3084 2819//2819\nf 2820//2820 3085//3085 2825//2825\nf 2554//2554 2820//2820 2825//2825\nf 2824//2824 2830//2830 3011//3011\nf 3010//3010 2824//2824 3011//3011\nf 3086//3086 2829//2829 3012//3012\nf 2830//2830 2834//2834 3014//3014\nf 3011//3011 2830//2830 3014//3014\nf 3014//3014 2834//2834 2835//2835\nf 2188//2188 2833//2833 3017//3017\nf 3015//3015 2189//2189 2836//2836\nf 3087//3087 2836//2836 2840//2840\nf 3088//3088 2841//2841 2838//2838\nf 3088//3088 2838//2838 2837//2837\nf 3017//3017 3019//3019 2842//2842\nf 3451//3451 2845//2845 3088//3088\nf 3089//3089 3018//3018 2839//2839\nf 2851//2851 2433//2433 2853//2853\nf 2853//2853 3022//3022 3162//3162\nf 3162//3162 3022//3022 3091//3091\nf 3090//3090 2853//2853 3162//3162\nf 2855//2855 3021//3021 3211//3211\nf 3023//3023 2861//2861 3093//3093\nf 2861//2861 2863//2863 3093//3093\nf 3024//3024 2864//2864 2862//2862\nf 3095//3095 3096//3096 2867//2867\nf 2867//2867 3096//3096 3095//3095\nf 3095//3095 2870//2870 2867//2867\nf 2867//2867 2871//2871 3095//3095\nf 3096//3096 3095//3095 2871//2871\nf 2865//2865 2869//2869 3166//3166\nf 3659//3659 3477//3477 3472//3472\nf 2869//2869 2877//2877 3097//3097\nf 3168//3168 3098//3098 2883//2883\nf 2876//2876 3099//3099 2879//2879\nf 2885//2885 3168//3168 2883//2883\nf 2879//2879 3099//3099 2884//2884\nf 2880//2880 3100//3100 3026//3026\nf 2885//2885 2888//2888 3101//3101\nf 2888//2888 2894//2894 3101//3101\nf 3102//3102 2887//2887 2891//2891\nf 2895//2895 2890//2890 3104//3104\nf 3026//3026 3106//3106 2898//2898\nf 2898//2898 2892//2892 3026//3026\nf 2567//2567 3103//3103 2894//2894\nf 2897//2897 2895//2895 3104//3104\nf 3105//3105 2891//2891 2896//2896\nf 2909//2909 2239//2239 2238//2238\nf 2347//2347 2515//2515 2912//2912\nf 2907//2907 2920//2920 3111//3111\nf 2515//2515 2911//2911 3027//3027\nf 2515//2515 3027//3027 2912//2912\nf 2232//2232 2912//2912 3112//3112\nf 3112//3112 2233//2233 2232//2232\nf 2916//2916 2233//2233 3112//3112\nf 2917//2917 2570//2570 2916//2916\nf 2920//2920 2914//2914 2919//2919\nf 2926//2926 2928//2928 2932//2932\nf 3029//3029 2935//2935 2933//2933\nf 2935//2935 3029//3029 3171//3171\nf 2938//2938 2936//2936 2939//2939\nf 2936//2936 2938//2938 2939//2939\nf 2940//2940 2937//2937 3113//3113\nf 2943//2943 3114//3114 2941//2941\nf 2946//2946 3115//3115 2945//2945\nf 2945//2945 3115//3115 3116//3116\nf 2950//2950 2943//2943 2949//2949\nf 2261//2261 2951//2951 2954//2954\nf 2957//2957 2351//2351 3117//3117\nf 3030//3030 2264//2264 2957//2957\nf 2959//2959 2961//2961 2956//2956\nf 2962//2962 2960//2960 3118//3118\nf 3118//3118 2961//2961 2962//2962\nf 3120//3120 3121//3121 2966//2966\nf 3120//3120 3119//3119 3121//3121\nf 2964//2964 3122//3122 3120//3120\nf 3120//3120 2966//2966 2964//2964\nf 2967//2967 3121//3121 3123//3123\nf 2967//2967 2966//2966 3121//3121\nf 2969//2969 3124//3124 2965//2965\nf 3124//3124 2969//2969 2970//2970\nf 3031//3031 2968//2968 2967//2967\nf 2590//2590 2585//2585 3689//3689\nf 3577//3577 2604//2604 2606//2606\nf 3242//3242 2612//2612 2613//2613\nf 2040//2040 2611//2611 3034//3034\nf 2614//2614 2616//2616 2607//2607\nf 2980//2980 3036//3036 2623//2623\nf 3126//3126 3036//3036 2980//2980\nf 1781//1781 2627//2627 2981//2981\nf 3128//3128 3040//3040 2631//2631\nf 2637//2637 2650//2650 3275//3275\nf 3039//3039 3127//3127 2655//2655\nf 2661//2661 3129//3129 2982//2982\nf 2664//2664 2666//2666 3043//3043\nf 3043//3043 2666//2666 2668//2668\nf 2660//2660 2671//2671 2983//2983\nf 2673//2673 3131//3131 2677//2677\nf 2690//2690 3046//3046 2693//2693\nf 2678//2678 2677//2677 3047//3047\nf 3132//3132 2684//2684 3186//3186\nf 2697//2697 2688//2688 3047//3047\nf 2696//2696 3132//3132 3134//3134\nf 2696//2696 2691//2691 3132//3132\nf 3135//3135 3048//3048 2689//2689\nf 3047//3047 3133//3133 2697//2697\nf 2698//2698 2702//2702 3137//3137\nf 2702//2702 2709//2709 3137//3137\nf 2696//2696 3134//3134 3051//3051\nf 3135//3135 3049//3049 2707//2707\nf 2697//2697 3133//3133 3138//3138\nf 2701//2701 2697//2697 3138//3138\nf 2701//2701 3138//3138 3140//3140\nf 3053//3053 2709//2709 3052//3052\nf 3052//3052 2709//2709 3053//3053\nf 2708//2708 2701//2701 3140//3140\nf 2713//2713 3141//3141 3058//3058\nf 3059//3059 3057//3057 2988//2988\nf 3058//3058 2726//2726 2718//2718\nf 3194//3194 2720//2720 2989//2989\nf 3060//3060 2726//2726 3058//3058\nf 2736//2736 2726//2726 3060//3060\nf 2728//2728 3143//3143 2734//2734\nf 3142//3142 3145//3145 2742//2742\nf 2993//2993 3064//3064 3144//3144\nf 2736//2736 3142//3142 2742//2742\nf 2743//2743 2992//2992 2994//2994\nf 2745//2745 2991//2991 3146//3146\nf 3065//3065 2995//2995 2742//2742\nf 2755//2755 2995//2995 3065//3065\nf 2745//2745 3146//3146 2754//2754\nf 3359//3359 2747//2747 3063//3063\nf 2753//2753 2762//2762 3067//3067\nf 3068//3068 2758//2758 2997//2997\nf 3372//3372 2759//2759 3623//3623\nf 2752//2752 2751//2751 3147//3147\nf 2998//2998 2752//2752 3147//3147\nf 3000//3000 2763//2763 2998//2998\nf 2768//2768 2770//2770 3148//3148\nf 2998//2998 3149//3149 3000//3000\nf 3196//3196 2999//2999 2771//2771\nf 2769//2769 2767//2767 2773//2773\nf 2777//2777 3001//3001 3072//3072\nf 2779//2779 2773//2773 3150//3150\nf 3152//3152 2784//2784 3072//3072\nf 2784//2784 2777//2777 3072//3072\nf 2782//2782 2786//2786 3075//3075\nf 2788//2788 3153//3153 2793//2793\nf 3078//3078 2794//2794 2793//2793\nf 3080//3080 3154//3154 2797//2797\nf 2807//2807 2800//2800 3079//3079\nf 2804//2804 3007//3007 2813//2813\nf 3200//3200 2804//2804 2813//2813\nf 2810//2810 2805//2805 3081//3081\nf 3081//3081 3156//3156 2816//2816\nf 2815//2815 3083//3083 3424//3424\nf 2817//2817 2819//2819 3084//3084\nf 3157//3157 2825//2825 3085//3085\nf 2822//2822 2823//2823 2826//2826\nf 2828//2828 3009//3009 3203//3203\nf 3014//3014 2835//2835 3016//3016\nf 3017//3017 2833//2833 3159//3159\nf 3159//3159 3160//3160 3017//3017\nf 3017//3017 3160//3160 3019//3019\nf 3088//3088 2837//2837 3447//3447\nf 3208//3208 2840//2840 2843//2843\nf 2846//2846 2848//2848 2843//2843\nf 3161//3161 2850//2850 3019//3019\nf 3020//3020 3019//3019 2850//2850\nf 2849//2849 2853//2853 3090//3090\nf 3022//3022 2854//2854 3091//3091\nf 2847//2847 2856//2856 3163//3163\nf 3089//3089 2847//2847 3163//3163\nf 3163//3163 2856//2856 2858//2858\nf 3164//3164 3163//3163 2858//2858\nf 2857//2857 2855//2855 3211//3211\nf 3164//3164 2858//2858 3023//3023\nf 3092//3092 2860//2860 2857//2857\nf 2860//2860 2859//2859 2857//2857\nf 2865//2865 3166//3166 3094//3094\nf 3165//3165 3096//3096 2871//2871\nf 3165//3165 2871//2871 3098//3098\nf 2876//2876 2872//2872 3167//3167\nf 2871//2871 2875//2875 3098//3098\nf 3098//3098 2885//2885 3168//3168\nf 3098//3098 3168//3168 2885//2885\nf 2880//2880 2878//2878 3100//3100\nf 2889//2889 2886//2886 2884//2884\nf 2897//2897 3104//3104 3506//3506\nf 2910//2910 3109//3109 2905//2905\nf 3214//3214 2904//2904 2907//2907\nf 2906//2906 3110//3110 2911//2911\nf 2924//2924 2573//2573 2922//2922\nf 3527//3527 2931//2931 2930//2930\nf 2937//2937 3171//3171 3172//3172\nf 3113//3113 2937//2937 3172//3172\nf 3173//3173 2943//2943 2950//2950\nf 3548//3548 2950//2950 2951//2951\nf 2953//2953 3174//3174 2951//2951\nf 2261//2261 2953//2953 2951//2951\nf 2955//2955 2956//2956 3175//3175\nf 2956//2956 2961//2961 3175//3175\nf 2960//2960 3557//3557 3558//3558\nf 3177//3177 3119//3119 3176//3176\nf 3119//3119 3177//3177 3121//3121\nf 2970//2970 2972//2972 3125//3125\nf 2973//2973 2971//2971 2974//2974\nf 2586//2586 2587//2587 2976//2976\nf 2592//2592 2025//2025 2589//2589\nf 3240//3240 2610//2610 2978//2978\nf 3249//3249 2615//2615 3034//3034\nf 3582//3582 3243//3243 2607//2607\nf 2621//2621 2622//2622 3250//3250\nf 2615//2615 3251//3251 2620//2620\nf 3255//3255 2619//2619 2624//2624\nf 3257//3257 2627//2627 2625//2625\nf 2628//2628 3260//3260 2980//2980\nf 2626//2626 2635//2635 3270//3270\nf 3181//3181 3180//3180 2642//2642\nf 3179//3179 3039//3039 2646//2646\nf 3179//3179 2646//2646 3180//3180\nf 2642//2642 3180//3180 2646//2646\nf 2643//2643 3181//3181 2642//2642\nf 2631//2631 3258//3258 3268//3268\nf 3039//3039 3179//3179 3263//3263\nf 3129//3129 2655//2655 3127//3127\nf 2639//2639 2648//2648 2633//2633\nf 3183//3183 2524//2524 3040//3040\nf 3041//3041 2524//2524 3183//3183\nf 3184//3184 2649//2649 2645//2645\nf 2653//2653 3184//3184 3130//3130\nf 2653//2653 2649//2649 3184//3184\nf 2653//2653 3130//3130 3042//3042\nf 2654//2654 2653//2653 3042//3042\nf 3130//3130 3184//3184 3286//3286\nf 3285//3285 3286//3286 3184//3184\nf 3288//3288 3042//3042 3287//3287\nf 2658//2658 2657//2657 3284//3284\nf 3292//3292 2657//2657 3185//3185\nf 2667//2667 3185//3185 2657//2657\nf 3289//3289 2670//2670 2982//2982\nf 3302//3302 3046//3046 2682//2682\nf 2691//2691 2684//2684 3132//3132\nf 2686//2686 2689//2689 3187//3187\nf 2689//2689 3048//3048 3187//3187\nf 3047//3047 2677//2677 3188//3188\nf 2687//2687 2695//2695 3310//3310\nf 3188//3188 3189//3189 3047//3047\nf 3137//3137 3305//3305 2698//2698\nf 3309//3309 3134//3134 3132//3132\nf 3189//3189 3133//3133 3047//3047\nf 2695//2695 2699//2699 2704//2704\nf 3189//3189 3190//3190 3133//3133\nf 3052//3052 3137//3137 2709//2709\nf 3316//3316 3311//3311 3139//3139\nf 3190//3190 3138//3138 3133//3133\nf 3135//3135 2707//2707 3139//3139\nf 2710//2710 3322//3322 3139//3139\nf 3191//3191 3052//3052 3053//3053\nf 2706//2706 3051//3051 3054//3054\nf 3139//3139 2707//2707 2710//2710\nf 2714//2714 3140//3140 3192//3192\nf 2714//2714 2708//2708 3140//3140\nf 2717//2717 2732//2732 3056//3056\nf 3193//3193 3059//3059 3062//3062\nf 3059//3059 2990//2990 3062//3062\nf 2730//2730 2733//2733 2989//2989\nf 3062//3062 2993//2993 3144//3144\nf 3343//3343 3062//3062 3144//3144\nf 2728//2728 3061//3061 3143//3143\nf 3145//3145 3142//3142 3349//3349\nf 2735//2735 2741//2741 3347//3347\nf 2992//2992 2743//2743 3352//3352\nf 2993//2993 2744//2744 3064//3064\nf 2742//2742 3145//3145 3355//3355\nf 2758//2758 3195//3195 2746//2746\nf 2758//2758 3068//3068 3195//3195\nf 2749//2749 3066//3066 3362//3362\nf 3359//3359 2751//2751 2747//2747\nf 3363//3363 2751//2751 3359//3359\nf 3362//3362 3066//3066 2750//2750\nf 3364//3364 3067//3067 2762//2762\nf 3069//3069 2754//2754 3371//3371\nf 3625//3625 2997//2997 3196//3196\nf 3196//3196 2997//2997 2999//2999\nf 3376//3376 3148//3148 2770//2770\nf 3197//3197 3000//3000 3149//3149\nf 3070//3070 2770//2770 2775//2775\nf 3384//3384 3071//3071 2781//2781\nf 3151//3151 2780//2780 3002//3002\nf 3073//3073 2779//2779 3392//3392\nf 2783//2783 3073//3073 3392//3392\nf 2783//2783 3394//3394 2788//2788\nf 3397//3397 2788//2788 3394//3394\nf 2787//2787 3077//3077 3396//3396\nf 2788//2788 3400//3400 3153//3153\nf 3399//3399 2795//2795 3003//3003\nf 3003//3003 3004//3004 3404//3404\nf 3005//3005 2798//2798 3410//3410\nf 3155//3155 2802//2802 3006//3006\nf 2805//2805 2801//2801 3005//3005\nf 3200//3200 2813//2813 3417//3417\nf 3084//3084 2812//2812 2817//2817\nf 3424//3424 3083//3083 2822//2822\nf 2816//2816 3202//3202 2821//2821\nf 3429//3429 2822//2822 2826//2826\nf 3009//3009 3202//3202 3203//3203\nf 2827//2827 2825//2825 3157//3157\nf 3158//3158 2827//2827 3157//3157\nf 2828//2828 3203//3203 3204//3204\nf 3205//3205 3010//3010 3011//3011\nf 2826//2826 2829//2829 3086//3086\nf 3158//3158 3437//3437 2827//2827\nf 2828//2828 3435//3435 3204//3204\nf 2833//2833 2828//2828 3204//3204\nf 3436//3436 3205//3205 3014//3014\nf 3013//3013 2827//2827 3438//3438\nf 3644//3644 3012//3012 3015//3015\nf 2832//2832 3013//3013 2837//2837\nf 3016//3016 3206//3206 3014//3014\nf 3443//3443 3207//3207 3160//3160\nf 3016//3016 3018//3018 3206//3206\nf 3087//3087 2840//2840 3208//3208\nf 3161//3161 3019//3019 3207//3207\nf 3019//3019 3160//3160 3207//3207\nf 3443//3443 3161//3161 3207//3207\nf 2843//2843 2848//2848 3210//3210\nf 3446//3446 3018//3018 3450//3450\nf 3018//3018 3089//3089 3450//3450\nf 3448//3448 3210//3210 2849//2849\nf 3210//3210 2848//2848 2849//2849\nf 3452//3452 2849//2849 3090//3090\nf 3453//3453 3090//3090 3162//3162\nf 3449//3449 3162//3162 3091//3091\nf 3721//3721 3452//3452 3090//3090\nf 2862//2862 3467//3467 3024//3024\nf 3094//3094 3093//3093 2863//2863\nf 3212//3212 3096//3096 3165//3165\nf 2866//2866 3024//3024 3213//3213\nf 2866//2866 3213//3213 2872//2872\nf 3476//3476 3165//3165 3098//3098\nf 3659//3659 3167//3167 2872//2872\nf 3098//3098 3168//3168 3476//3476\nf 3478//3478 2869//2869 3097//3097\nf 2887//2887 3102//3102 2882//2882\nf 3103//3103 3101//3101 2894//2894\nf 3102//3102 2891//2891 3105//3105\nf 3214//3214 2907//2907 3111//3111\nf 3027//3027 2911//2911 3110//3110\nf 3111//3111 2920//2920 3517//3517\nf 2922//2922 2915//2915 3518//3518\nf 3522//3522 2917//2917 3521//3521\nf 2929//2929 3526//3526 2930//2930\nf 3029//3029 3169//3169 3170//3170\nf 3029//3029 3028//3028 3169//3169\nf 2935//2935 3171//3171 2937//2937\nf 2940//2940 3113//3113 2942//2942\nf 3545//3545 2943//2943 3173//3173\nf 3545//3545 3542//3542 2943//2943\nf 3546//3546 3116//3116 3115//3115\nf 3548//3548 2951//2951 3174//3174\nf 2955//2955 3175//3175 3215//3215\nf 2957//2957 3554//3554 3030//3030\nf 3559//3559 2961//2961 3118//3118\nf 3217//3217 3216//3216 3176//3176\nf 3176//3176 3119//3119 3217//3217\nf 3216//3216 3177//3177 3176//3176\nf 3216//3216 3176//3176 3177//3177\nf 3565//3565 2964//2964 2965//2965\nf 3177//3177 3569//3569 3123//3123\nf 3219//3219 2589//2589 3220//3220\nf 3223//3223 3222//3222 2976//2976\nf 2588//2588 3223//3223 2976//2976\nf 3223//3223 2588//2588 3224//3224\nf 3223//3223 3224//3224 3225//3225\nf 2588//2588 3225//3225 3224//3224\nf 2977//2977 3225//3225 2588//2588\nf 3227//3227 2593//2593 2592//2592\nf 2594//2594 2593//2593 3227//3227\nf 2595//2595 2594//2594 3227//3227\nf 3225//3225 2977//2977 3230//3230\nf 2595//2595 3229//3229 2597//2597\nf 3230//3230 2596//2596 2598//2598\nf 3693//3693 3230//3230 3232//3232\nf 2600//2600 2599//2599 3178//3178\nf 3178//3178 2599//2599 2597//2597\nf 3032//3032 2603//2603 3233//3233\nf 3577//3577 2606//2606 3235//3235\nf 3578//3578 2609//2609 3239//3239\nf 3237//3237 3236//3236 3033//3033\nf 3242//3242 2613//2613 2979//2979\nf 3035//3035 3036//3036 3245//3245\nf 3245//3245 3036//3036 3246//3246\nf 3246//3246 3036//3036 3126//3126\nf 3247//3247 2979//2979 2618//2618\nf 3250//3250 2622//2622 3035//3035\nf 3582//3582 2607//2607 2616//2616\nf 2980//2980 3253//3253 3126//3126\nf 3252//3252 2625//2625 2621//2621\nf 2616//2616 3038//3038 3584//3584\nf 3259//3259 2627//2627 3257//3257\nf 3256//3256 3258//3258 3037//3037\nf 3037//3037 3258//3258 2629//2629\nf 3585//3585 2980//2980 3260//3260\nf 3038//3038 2616//2616 2626//2626\nf 2616//2616 3038//3038 2626//2626\nf 3038//3038 2626//2626 3261//3261\nf 2981//2981 2627//2627 3262//3262\nf 3699//3699 3181//3181 3586//3586\nf 3587//3587 3586//3586 3182//3182\nf 2643//2643 3182//3182 3181//3181\nf 3589//3589 3264//3264 3265//3265\nf 3266//3266 2981//2981 3262//3262\nf 2630//2630 2981//2981 3266//3266\nf 3263//3263 3127//3127 3039//3039\nf 3264//3264 3589//3589 2644//2644\nf 2638//2638 3265//3265 2644//2644\nf 3265//3265 3264//3264 2644//2644\nf 3265//3265 2638//2638 3269//3269\nf 3591//3591 3269//3269 2638//2638\nf 2630//2630 3266//3266 2632//2632\nf 2628//2628 2633//2633 3267//3267\nf 2631//2631 2629//2629 3258//3258\nf 3272//3272 3592//3592 3127//3127\nf 3592//3592 3129//3129 3127//3127\nf 2631//2631 3268//3268 3273//3273\nf 3273//3273 3128//3128 2631//2631\nf 2635//2635 2637//2637 3270//3270\nf 3271//3271 2633//2633 3274//3274\nf 3270//3270 2637//2637 3275//3275\nf 3273//3273 3040//3040 3128//3128\nf 2648//2648 3274//3274 2633//2633\nf 3273//3273 3276//3276 3040//3040\nf 3041//3041 3277//3277 2645//2645\nf 3274//3274 2648//2648 3279//3279\nf 3040//3040 3276//3276 3278//3278\nf 3183//3183 3278//3278 3277//3277\nf 3282//3282 3275//3275 2650//2650\nf 3184//3184 2645//2645 3281//3281\nf 3282//3282 2650//2650 2660//2660\nf 3284//3284 3279//3279 2658//2658\nf 3281//3281 3285//3285 3184//3184\nf 2982//2982 3280//3280 3283//3283\nf 3287//3287 3042//3042 3130//3130\nf 3288//3288 2656//2656 3042//3042\nf 3293//3293 2659//2659 3290//3290\nf 3291//3291 3282//3282 2660//2660\nf 2662//2662 2659//2659 3293//3293\nf 3289//3289 3283//3283 3045//3045\nf 2667//2667 3292//3292 3185//3185\nf 2662//2662 3294//3294 3044//3044\nf 2668//2668 3295//3295 3043//3043\nf 3594//3594 3045//3045 3283//3283\nf 2669//2669 3043//3043 3295//3295\nf 3045//3045 2670//2670 3289//3289\nf 2675//2675 3296//3296 2668//2668\nf 3045//3045 3595//3595 3297//3297\nf 2684//2684 3045//3045 3297//3297\nf 3044//3044 3294//3294 2682//2682\nf 2985//2985 3298//3298 2675//2675\nf 2985//2985 2675//2675 3298//3298\nf 2675//2675 2985//2985 3296//3296\nf 2669//2669 3299//3299 2673//2673\nf 3186//3186 2684//2684 3297//3297\nf 3131//3131 2673//2673 3299//3299\nf 2681//2681 3298//3298 2985//2985\nf 3131//3131 3299//3299 3597//3597\nf 3188//3188 3299//3299 3304//3304\nf 3598//3598 2686//2686 3187//3187\nf 2681//2681 3301//3301 3298//3298\nf 3299//3299 3131//3131 3597//3597\nf 2677//2677 3131//3131 3188//3188\nf 2692//2692 3300//3300 2683//2683\nf 2693//2693 3046//3046 3302//3302\nf 3301//3301 2681//2681 3303//3303\nf 2692//2692 3305//3305 3300//3300\nf 3299//3299 3597//3597 3304//3304\nf 3299//3299 3188//3188 3131//3131\nf 2687//2687 3308//3308 2986//2986\nf 3308//3308 3303//3303 2986//2986\nf 2694//2694 2693//2693 3603//3603\nf 3310//3310 3308//3308 2687//2687\nf 3305//3305 2692//2692 2698//2698\nf 3048//3048 3135//3135 3307//3307\nf 3311//3311 3307//3307 3135//3135\nf 3050//3050 3136//3136 3312//3312\nf 3312//3312 3136//3136 3050//3050\nf 2704//2704 3315//3315 2695//2695\nf 3314//3314 3052//3052 3313//3313\nf 3314//3314 3137//3137 3052//3052\nf 3189//3189 3607//3607 3317//3317\nf 3318//3318 3052//3052 3191//3191\nf 3311//3311 3135//3135 3139//3139\nf 3611//3611 3050//3050 3319//3319\nf 3189//3189 3317//3317 3190//3190\nf 3321//3321 3054//3054 3051//3051\nf 3321//3321 3051//3051 3320//3320\nf 2713//2713 3050//3050 3611//3611\nf 3053//3053 3057//3057 3191//3191\nf 3140//3140 3138//3138 3190//3190\nf 3325//3325 3324//3324 2711//2711\nf 3140//3140 3190//3190 3323//3323\nf 2712//2712 3054//3054 3321//3321\nf 3140//3140 3323//3323 3330//3330\nf 3058//3058 3141//3141 3327//3327\nf 2722//2722 2712//2712 3054//3054\nf 3325//3325 2711//2711 3055//3055\nf 3323//3323 3328//3328 3615//3615\nf 3613//3613 3057//3057 3059//3059\nf 3056//3056 3329//3329 2710//2710\nf 3613//3613 3326//3326 3057//3057\nf 3331//3331 3055//3055 2720//2720\nf 3140//3140 3330//3330 3192//3192\nf 3194//3194 3337//3337 2720//2720\nf 3061//3061 2714//2714 3192//3192\nf 3193//3193 3062//3062 3335//3335\nf 2722//2722 3336//3336 3338//3338\nf 3192//3192 3619//3619 3061//3061\nf 2727//2727 2722//2722 3338//3338\nf 3343//3343 3340//3340 3062//3062\nf 2727//2727 3338//3338 3344//3344\nf 3341//3341 2732//2732 3345//3345\nf 3142//3142 3060//3060 3349//3349\nf 3346//3346 2989//2989 2733//2733\nf 3343//3343 3144//3144 3348//3348\nf 3347//3347 2732//2732 2735//2735\nf 3340//3340 3343//3343 3348//3348\nf 3346//3346 2733//2733 3351//3351\nf 2992//2992 3351//3351 2733//2733\nf 3351//3351 2992//2992 3352//3352\nf 3064//3064 3348//3348 3144//3144\nf 2741//2741 3353//3353 3347//3347\nf 2746//2746 3353//3353 2741//2741\nf 3143//3143 3063//3063 2734//2734\nf 3146//3146 2991//2991 3354//3354\nf 2743//2743 3356//3356 3352//3352\nf 3357//3357 3359//3359 3063//3063\nf 3064//3064 3067//3067 3358//3358\nf 3353//3353 2746//2746 3195//3195\nf 3195//3195 3068//3068 3353//3353\nf 2743//2743 2749//2749 3362//3362\nf 3361//3361 2754//2754 3146//3146\nf 3361//3361 3146//3146 3354//3354\nf 3065//3065 3355//3355 3366//3366\nf 3360//3360 3358//3358 3067//3067\nf 3065//3065 3366//3366 2755//2755\nf 3369//3369 2750//2750 3368//3368\nf 2754//2754 3361//3361 3371//3371\nf 3372//3372 2750//2750 2759//2759\nf 2755//2755 3370//3370 2756//2756\nf 3147//3147 2751//2751 3373//3373\nf 2751//2751 3363//3363 3373//3373\nf 3371//3371 3374//3374 3069//3069\nf 2759//2759 2756//2756 3375//3375\nf 2998//2998 3147//3147 3373//3373\nf 2762//2762 3148//3148 3376//3376\nf 3373//3373 3149//3149 2998//2998\nf 2766//2766 3069//3069 3377//3377\nf 3377//3377 2767//2767 2766//2766\nf 3625//3625 3196//3196 2771//2771\nf 2774//2774 3378//3378 2771//2771\nf 2774//2774 2771//2771 3378//3378\nf 3383//3383 3197//3197 3149//3149\nf 2770//2770 3070//3070 3379//3379\nf 2767//2767 3377//3377 3380//3380\nf 2773//2773 2767//2767 3380//3380\nf 2771//2771 2774//2774 3381//3381\nf 3001//3001 3000//3000 3197//3197\nf 2773//2773 3380//3380 3382//3382\nf 3071//3071 3381//3381 2774//2774\nf 3072//3072 3001//3001 3383//3383\nf 3630//3630 3386//3386 3072//3072\nf 2780//2780 3151//3151 3387//3387\nf 2781//2781 2782//2782 3389//3389\nf 3391//3391 3152//3152 3072//3072\nf 2782//2782 3075//3075 3389//3389\nf 3075//3075 3390//3390 3389//3389\nf 3393//3393 3074//3074 2787//2787\nf 3075//3075 2789//2789 3390//3390\nf 3076//3076 2784//2784 3395//3395\nf 2783//2783 3392//3392 3394//3394\nf 3393//3393 2787//2787 3396//3396\nf 3398//3398 3395//3395 3632//3632\nf 3076//3076 3398//3398 3198//3198\nf 2791//2791 3076//3076 3198//3198\nf 2789//2789 2795//2795 3399//3399\nf 3198//3198 3398//3398 2791//2791\nf 3400//3400 3635//3635 3078//3078\nf 3077//3077 2797//2797 3406//3406\nf 2791//2791 3398//3398 3403//3403\nf 2796//2796 2791//2791 3405//3405\nf 2791//2791 3403//3403 3405//3405\nf 3406//3406 2797//2797 3154//3154\nf 3403//3403 2796//2796 3405//3405\nf 3004//3004 3155//3155 3407//3407\nf 3408//3408 2796//2796 3403//3403\nf 2798//2798 3078//3078 3410//3410\nf 3404//3404 3407//3407 3155//3155\nf 3004//3004 2802//2802 3155//3155\nf 2807//2807 3079//3079 3413//3413\nf 2805//2805 3005//3005 3199//3199\nf 3155//3155 3006//3006 3411//3411\nf 3413//3413 3079//3079 3408//3408\nf 2804//2804 3200//3200 3417//3417\nf 3418//3418 2805//2805 3199//3199\nf 3006//3006 3201//3201 3414//3414\nf 3006//3006 2812//2812 3201//3201\nf 3419//3419 2809//2809 2807//2807\nf 2812//2812 3084//3084 3201//3201\nf 3156//3156 3081//3081 3420//3420\nf 2813//2813 2815//2815 3421//3421\nf 3202//3202 3156//3156 3427//3427\nf 2814//2814 3082//3082 3641//3641\nf 3156//3156 3422//3422 3427//3427\nf 2816//2816 3156//3156 3202//3202\nf 3425//3425 3084//3084 3008//3008\nf 3424//3424 2822//2822 3426//3426\nf 3426//3426 2822//2822 3429//3429\nf 2821//2821 3202//3202 3009//3009\nf 3203//3203 3202//3202 3432//3432\nf 3157//3157 3085//3085 3430//3430\nf 3085//3085 3428//3428 3430//3430\nf 3431//3431 3429//3429 2826//2826\nf 3433//3433 2826//2826 3086//3086\nf 3435//3435 3204//3204 3203//3203\nf 3010//3010 3205//3205 3434//3434\nf 3436//3436 3434//3434 3205//3205\nf 2828//2828 3204//3204 3435//3435\nf 3011//3011 3014//3014 3205//3205\nf 3159//3159 2833//2833 3204//3204\nf 3436//3436 3014//3014 3439//3439\nf 3014//3014 3206//3206 3439//3439\nf 2837//2837 3013//3013 3442//3442\nf 3441//3441 2836//2836 3087//3087\nf 3441//3441 3087//3087 3208//3208\nf 3647//3647 3208//3208 3649//3649\nf 3649//3649 2843//2843 3444//3444\nf 3444//3444 2843//2843 3210//3210\nf 3018//3018 3446//3446 3209//3209\nf 2850//2850 3445//3445 3449//3449\nf 2845//2845 2841//2841 3088//3088\nf 2850//2850 3161//3161 3445//3445\nf 3721//3721 2849//2849 3452//3452\nf 2850//2850 3449//3449 3091//3091\nf 3449//3449 3453//3453 3162//3162\nf 2845//2845 3451//3451 3455//3455\nf 3450//3450 3163//3163 3454//3454\nf 3450//3450 3089//3089 3163//3163\nf 3456//3456 3211//3211 3021//3021\nf 3456//3456 2857//2857 3211//3211\nf 3092//3092 2857//2857 3456//3456\nf 3460//3460 3092//3092 3459//3459\nf 2860//2860 3092//3092 3460//3460\nf 3093//3093 3023//3023 3461//3461\nf 2860//2860 3460//3460 2862//2862\nf 3465//3465 3652//3652 3464//3464\nf 3466//3466 3462//3462 3093//3093\nf 3469//3469 3095//3095 3096//3096\nf 2862//2862 3463//3463 3467//3467\nf 3464//3464 3096//3096 3212//3212\nf 3465//3465 3464//3464 3212//3212\nf 3468//3468 3465//3465 3212//3212\nf 3655//3655 3094//3094 3470//3470\nf 3095//3095 3469//3469 3471//3471\nf 3471//3471 2870//2870 3095//3095\nf 3472//3472 3213//3213 3024//3024\nf 3470//3470 3094//3094 3166//3166\nf 3470//3470 3166//3166 3473//3473\nf 3468//3468 3212//3212 3165//3165\nf 3468//3468 3165//3165 3476//3476\nf 3477//3477 2872//2872 3213//3213\nf 2873//2873 3475//3475 2874//2874\nf 3479//3479 3166//3166 3478//3478\nf 3473//3473 3166//3166 3479//3479\nf 2878//2878 2874//2874 3480//3480\nf 3658//3658 3168//3168 3481//3481\nf 3166//3166 2869//2869 3478//3478\nf 3658//3658 3476//3476 3168//3168\nf 3097//3097 3479//3479 3478//3478\nf 2885//2885 3101//3101 3168//3168\nf 3101//3101 3481//3481 3168//3168\nf 3100//3100 3484//3484 3483//3483\nf 3484//3484 3100//3100 3483//3483\nf 3480//3480 3100//3100 2878//2878\nf 3483//3483 3100//3100 3480//3480\nf 3097//3097 2877//2877 3487//3487\nf 2877//2877 2882//2882 3487//3487\nf 3485//3485 3097//3097 3487//3487\nf 2884//2884 3099//3099 3490//3490\nf 3486//3486 3026//3026 3100//3100\nf 3488//3488 3486//3486 3100//3100\nf 3489//3489 3101//3101 3103//3103\nf 2884//2884 3490//3490 3099//3099\nf 3491//3491 2884//2884 3099//3099\nf 3491//3491 3495//3495 2884//2884\nf 2882//2882 3492//3492 3487//3487\nf 3486//3486 3493//3493 3026//3026\nf 3489//3489 3103//3103 3494//3494\nf 2884//2884 3495//3495 2889//2889\nf 3496//3496 3102//3102 3497//3497\nf 2882//2882 3496//3496 3492//3492\nf 3496//3496 2882//2882 3102//3102\nf 3502//3502 2890//2890 2889//2889\nf 3026//3026 3499//3499 3106//3106\nf 3106//3106 3499//3499 3501//3501\nf 3105//3105 3503//3503 3102//3102\nf 3106//3106 3501//3501 3499//3499\nf 3504//3504 3503//3503 3105//3105\nf 3506//3506 3104//3104 3502//3502\nf 3105//3105 2896//2896 3504//3504\nf 3504//3504 2896//2896 3668//3668\nf 3501//3501 2909//2909 3499//3499\nf 3499//3499 2909//2909 3106//3106\nf 3505//3505 2567//2567 2905//2905\nf 3507//3507 3508//3508 2897//2897\nf 2900//2900 2897//2897 3107//3107\nf 3508//3508 3107//3107 2897//2897\nf 2896//2896 2899//2899 3108//3108\nf 3510//3510 3107//3107 3508//3508\nf 3108//3108 2904//2904 3509//3509\nf 3513//3513 3670//3670 3109//3109\nf 2915//2915 3511//3511 3512//3512\nf 2910//2910 3513//3513 3109//3109\nf 3516//3516 2906//2906 3514//3514\nf 2906//2906 2903//2903 3514//3514\nf 3214//3214 3515//3515 2904//2904\nf 3110//3110 2906//2906 3516//3516\nf 3515//3515 3214//3214 3111//3111\nf 2923//2923 3513//3513 2910//2910\nf 2923//2923 3519//3519 3513//3513\nf 2919//2919 2921//2921 3674//3674\nf 2915//2915 3512//3512 3518//3518\nf 2917//2917 3520//3520 3521//3521\nf 3522//3522 2918//2918 2917//2917\nf 3523//3523 2923//2923 2925//2925\nf 3523//3523 3519//3519 2923//2923\nf 2922//2922 3682//3682 2924//2924\nf 3524//3524 2925//2925 2926//2926\nf 2927//2927 3525//3525 3526//3526\nf 2927//2927 2924//2924 3525//3525\nf 2929//2929 2927//2927 3526//3526\nf 3527//3527 2930//2930 3526//3526\nf 3527//3527 3028//3028 2931//2931\nf 2926//2926 3528//3528 3524//3524\nf 3528//3528 2926//2926 2932//2932\nf 3529//3529 3028//3028 3527//3527\nf 3028//3028 3530//3530 3169//3169\nf 3530//3530 3028//3028 3529//3529\nf 3533//3533 3531//3531 2932//2932\nf 3533//3533 2932//2932 2934//2934\nf 3533//3533 2934//2934 2936//2936\nf 3535//3535 2936//2936 2938//2938\nf 2939//2939 3536//3536 2938//2938\nf 3539//3539 2939//2939 2941//2941\nf 3172//3172 3538//3538 3113//3113\nf 3172//3172 3537//3537 3538//3538\nf 3540//3540 3113//3113 3538//3538\nf 3541//3541 3114//3114 3542//3542\nf 3541//3541 2941//2941 3114//3114\nf 2946//2946 2942//2942 3113//3113\nf 3114//3114 2943//2943 3542//3542\nf 3543//3543 3115//3115 2946//2946\nf 3173//3173 2950//2950 3545//3545\nf 3546//3546 3115//3115 3544//3544\nf 2952//2952 2945//2945 3116//3116\nf 3116//3116 3546//3546 2952//2952\nf 2953//2953 2955//2955 3550//3550\nf 3174//3174 2953//2953 3549//3549\nf 3550//3550 2955//2955 3553//3553\nf 2957//2957 3117//3117 2952//2952\nf 3215//3215 3553//3553 2955//2955\nf 3553//3553 3175//3175 3555//3555\nf 3215//3215 3175//3175 3553//3553\nf 3554//3554 3556//3556 3030//3030\nf 3175//3175 2961//2961 3555//3555\nf 3556//3556 3557//3557 2958//2958\nf 2958//2958 3030//3030 3556//3556\nf 2960//2960 2958//2958 3557//3557\nf 3558//3558 3559//3559 2960//2960\nf 3216//3216 3560//3560 3563//3563\nf 3217//3217 3560//3560 3216//3216\nf 3217//3217 3562//3562 3561//3561\nf 3119//3119 3562//3562 3217//3217\nf 3564//3564 3119//3119 3120//3120\nf 3565//3565 3564//3564 3120//3120\nf 3687//3687 3563//3563 3688//3688\nf 3122//3122 3565//3565 3120//3120\nf 3216//3216 3566//3566 3176//3176\nf 3122//3122 2964//2964 3565//3565\nf 3566//3566 3177//3177 3176//3176\nf 3565//3565 2965//2965 3567//3567\nf 3566//3566 3568//3568 3177//3177\nf 3177//3177 3123//3123 3121//3121\nf 3567//3567 2965//2965 3570//3570\nf 3570//3570 2965//2965 3124//3124\nf 2970//2970 3570//3570 3124//3124\nf 3571//3571 3570//3570 2970//2970\nf 3572//3572 2967//2967 3123//3123\nf 3571//3571 2970//2970 3125//3125\nf 3571//3571 3125//3125 3575//3575\nf 3575//3575 3125//3125 2972//2972\nf 3574//3574 3576//3576 3031//3031\nf 3031//3031 3576//3576 2971//2971\nf 2974//2974 2971//2971 3576//3576\nf 2974//2974 3576//3576 3575//3575\nf 2975//2975 2974//2974 2972//2972\nf 2976//2976 3222//3222 3218//3218\nf 2589//2589 2590//2590 3220//3220\nf 3226//3226 2592//2592 2589//2589\nf 2591//2591 2596//2596 3230//3230\nf 3690//3690 3225//3225 3230//3230\nf 2977//2977 2591//2591 3230//3230\nf 3178//3178 2597//2597 3691//3691\nf 3232//3232 2598//2598 2601//2601\nf 3233//3233 2603//2603 3577//3577\nf 2605//2605 2600//2600 3234//3234\nf 3231//3231 3234//3234 2600//2600\nf 3232//3232 2601//2601 2607//2607\nf 3033//3033 3238//3238 3237//3237\nf 3033//3033 2608//2608 3238//3238\nf 3032//3032 3238//3238 2608//2608\nf 3579//3579 3240//3240 2605//2605\nf 3240//3240 2978//2978 2605//2605\nf 3239//3239 2612//2612 3241//3241\nf 3697//3697 3232//3232 2607//2607\nf 3697//3697 2607//2607 3243//3243\nf 3244//3244 2611//2611 2610//2610\nf 3248//3248 3246//3246 3126//3126\nf 3126//3126 3580//3580 3248//3248\nf 3242//3242 2979//2979 3247//3247\nf 3253//3253 3580//3580 3126//3126\nf 3034//3034 2611//2611 3249//3249\nf 3247//3247 2618//2618 3581//3581\nf 3581//3581 2618//2618 2619//2619\nf 3249//3249 3251//3251 2615//2615\nf 3033//3033 3236//3236 3583//3583\nf 2619//2619 3255//3255 3254//3254\nf 3251//3251 2624//2624 2620//2620\nf 3257//3257 2625//2625 3252//3252\nf 3256//3256 3037//3037 3583//3583\nf 2624//2624 3251//3251 3255//3255\nf 3582//3582 2616//2616 3584//3584\nf 3038//3038 3261//3261 3584//3584\nf 3585//3585 3253//3253 2980//2980\nf 3262//3262 2627//2627 3259//3259\nf 3699//3699 3586//3586 3744//3744\nf 3260//3260 2628//2628 3267//3267\nf 3261//3261 2626//2626 3588//3588\nf 3699//3699 3263//3263 3180//3180\nf 3699//3699 3180//3180 3181//3181\nf 3586//3586 3181//3181 3182//3182\nf 3182//3182 2644//2644 3589//3589\nf 3182//3182 2643//2643 2644//2644\nf 3179//3179 3180//3180 3263//3263\nf 3590//3590 3127//3127 3263//3263\nf 3591//3591 2638//2638 2636//2636\nf 2632//2632 3266//3266 2636//2636\nf 2636//2636 3266//3266 3591//3591\nf 3590//3590 3272//3272 3127//3127\nf 3267//3267 2633//2633 3271//3271\nf 3129//3129 3593//3593 3280//3280\nf 3592//3592 3593//3593 3129//3129\nf 3183//3183 3040//3040 3278//3278\nf 3041//3041 3183//3183 3277//3277\nf 2982//2982 3129//3129 3280//3280\nf 2645//2645 3277//3277 3281//3281\nf 3277//3277 3701//3701 3281//3281\nf 3279//3279 2648//2648 2658//2658\nf 3283//3283 3289//3289 2982//2982\nf 3290//3290 2659//2659 3288//3288\nf 2659//2659 2656//2656 3288//3288\nf 3292//3292 3284//3284 2657//2657\nf 3293//3293 3294//3294 2662//2662\nf 3291//3291 2660//2660 2983//2983\nf 3594//3594 3595//3595 3045//3045\nf 2668//2668 3296//3296 3295//3295\nf 2667//2667 2686//2686 3292//3292\nf 2985//2985 3298//3298 3596//3596\nf 3296//3296 2985//2985 3596//3596\nf 3299//3299 2669//2669 3597//3597\nf 3599//3599 3186//3186 3297//3297\nf 2686//2686 3598//3598 3292//3292\nf 2682//2682 3294//3294 3302//3302\nf 2669//2669 3703//3703 3597//3597\nf 3187//3187 3307//3307 3598//3598\nf 2681//2681 2986//2986 3303//3303\nf 3306//3306 3300//3300 3305//3305\nf 3600//3600 3300//3300 3306//3306\nf 3307//3307 3187//3187 3048//3048\nf 3597//3597 3601//3601 3604//3604\nf 3603//3603 2693//2693 3602//3602\nf 3304//3304 3597//3597 3604//3604\nf 3305//3305 3137//3137 3306//3306\nf 2694//2694 3603//3603 3136//3136\nf 3607//3607 3304//3304 3604//3604\nf 3304//3304 3607//3607 3188//3188\nf 3189//3189 3188//3188 3607//3607\nf 3605//3605 3306//3306 3137//3137\nf 3134//3134 3309//3309 3608//3608\nf 3312//3312 3136//3136 3603//3603\nf 3604//3604 3601//3601 3606//3606\nf 3137//3137 3313//3313 3314//3314\nf 3604//3604 3606//3606 3607//3607\nf 3313//3313 3137//3137 3314//3314\nf 2695//2695 3315//3315 3310//3310\nf 3606//3606 3609//3609 3607//3607\nf 3705//3705 3313//3313 3318//3318\nf 3705//3705 3314//3314 3313//3313\nf 3051//3051 3134//3134 3320//3320\nf 3607//3607 3609//3609 3610//3610\nf 3318//3318 3313//3313 3052//3052\nf 3050//3050 3136//3136 3319//3319\nf 3607//3607 3610//3610 3317//3317\nf 3612//3612 3317//3317 3610//3610\nf 3190//3190 3317//3317 3612//3612\nf 3323//3323 3190//3190 3612//3612\nf 3322//3322 3316//3316 3139//3139\nf 3327//3327 2713//2713 3611//3611\nf 3315//3315 2711//2711 3324//3324\nf 3318//3318 3191//3191 3057//3057\nf 3318//3318 3057//3057 3613//3613\nf 3315//3315 2704//2704 2711//2711\nf 3141//3141 2713//2713 3327//3327\nf 3315//3315 3324//3324 3325//3325\nf 2712//2712 3321//3321 3054//3054\nf 3612//3612 3614//3614 3323//3323\nf 3613//3613 3057//3057 3326//3326\nf 3328//3328 3323//3323 3614//3614\nf 3325//3325 3055//3055 3331//3331\nf 3616//3616 3058//3058 3327//3327\nf 3710//3710 3328//3328 3614//3614\nf 3059//3059 3335//3335 3613//3613\nf 3059//3059 3193//3193 3335//3335\nf 3332//3332 2722//2722 3054//3054\nf 3333//3333 3329//3329 3056//3056\nf 3334//3334 3330//3330 3323//3323\nf 3192//3192 3330//3330 3334//3334\nf 3334//3334 3323//3323 3615//3615\nf 3339//3339 3058//3058 3616//3616\nf 3337//3337 3617//3617 2720//2720\nf 3711//3711 3618//3618 3615//3615\nf 3615//3615 3618//3618 3334//3334\nf 3334//3334 3618//3618 3192//3192\nf 3060//3060 3058//3058 3339//3339\nf 3194//3194 2989//2989 3342//3342\nf 3192//3192 3618//3618 3619//3619\nf 3335//3335 3062//3062 3340//3340\nf 3333//3333 3056//3056 3341//3341\nf 3056//3056 2732//2732 3341//3341\nf 3337//3337 3194//3194 3342//3342\nf 3342//3342 2989//2989 3346//3346\nf 3061//3061 3619//3619 3618//3618\nf 3060//3060 3339//3339 3349//3349\nf 2727//2727 3344//3344 2991//2991\nf 3345//3345 2732//2732 3347//3347\nf 3143//3143 3061//3061 3350//3350\nf 3621//3621 3143//3143 3350//3350\nf 3145//3145 3349//3349 3355//3355\nf 3143//3143 3621//3621 3063//3063\nf 2991//2991 3620//3620 3354//3354\nf 3359//3359 3357//3357 3363//3363\nf 3065//3065 2742//2742 3355//3355\nf 3353//3353 3068//3068 3365//3365\nf 3360//3360 3067//3067 3364//3364\nf 3362//3362 2750//2750 3369//3369\nf 3366//3366 3367//3367 2755//2755\nf 3368//3368 2750//2750 3372//3372\nf 2762//2762 3622//3622 3364//3364\nf 3068//3068 2997//2997 3365//3365\nf 2755//2755 3367//3367 3370//3370\nf 2756//2756 3370//3370 3375//3375\nf 3373//3373 3363//3363 3624//3624\nf 3626//3626 3149//3149 3373//3373\nf 3377//3377 3069//3069 3627//3627\nf 3628//3628 3149//3149 3626//3626\nf 3625//3625 3378//3378 3381//3381\nf 3381//3381 3378//3378 2771//2771\nf 3383//3383 3149//3149 3628//3628\nf 3001//3001 3197//3197 3383//3383\nf 3780//3780 3629//3629 3070//3070\nf 3385//3385 2773//2773 3382//3382\nf 3150//3150 2773//2773 3385//3385\nf 3384//3384 3388//3388 3389//3389\nf 3389//3389 3388//3388 2781//2781\nf 3151//3151 3074//3074 3387//3387\nf 2779//2779 3150//3150 3385//3385\nf 3072//3072 3386//3386 3391//3391\nf 2779//2779 3385//3385 3392//3392\nf 2784//2784 3152//3152 3391//3391\nf 3631//3631 3074//3074 3393//3393\nf 3395//3395 2784//2784 3391//3391\nf 3633//3633 2788//2788 3397//3397\nf 3401//3401 3077//3077 3715//3715\nf 3400//3400 3078//3078 2793//2793\nf 2793//2793 3153//3153 3400//3400\nf 3003//3003 3634//3634 3402//3402\nf 3003//3003 3404//3404 3634//3634\nf 3004//3004 3407//3407 3404//3404\nf 3154//3154 3080//3080 3409//3409\nf 3410//3410 3078//3078 3636//3636\nf 3079//3079 2796//2796 3408//3408\nf 3411//3411 3404//3404 3155//3155\nf 3005//3005 3410//3410 3412//3412\nf 3413//3413 3408//3408 3415//3415\nf 3080//3080 2804//2804 3409//3409\nf 3005//3005 3412//3412 3416//3416\nf 3414//3414 3637//3637 3411//3411\nf 2807//2807 3413//3413 3415//3415\nf 3199//3199 3005//3005 3416//3416\nf 3639//3639 2807//2807 3415//3415\nf 3417//3417 2813//2813 3640//3640\nf 3081//3081 2805//2805 3418//3418\nf 3638//3638 3414//3414 3201//3201\nf 3419//3419 2807//2807 3639//3639\nf 2809//2809 3419//3419 3082//3082\nf 2813//2813 3421//3421 3640//3640\nf 3423//3423 3082//3082 3419//3419\nf 2815//2815 3424//3424 3421//3421\nf 3422//3422 3420//3420 3786//3786\nf 3422//3422 3156//3156 3420//3420\nf 3085//3085 2814//2814 3641//3641\nf 3429//3429 3424//3424 3426//3426\nf 3787//3787 3425//3425 3642//3642\nf 3431//3431 2826//2826 3433//3433\nf 3158//3158 3157//3157 3430//3430\nf 3433//3433 3086//3086 3643//3643\nf 3437//3437 3158//3158 3430//3430\nf 3203//3203 3432//3432 3435//3435\nf 3718//3718 3643//3643 3086//3086\nf 3159//3159 3204//3204 3435//3435\nf 3719//3719 3438//3438 3437//3437\nf 3644//3644 3086//3086 3012//3012\nf 3159//3159 3435//3435 3440//3440\nf 2827//2827 3437//3437 3438//3438\nf 3718//3718 3086//3086 3644//3644\nf 3015//3015 2836//2836 3644//3644\nf 3013//3013 3438//3438 3442//3442\nf 3441//3441 3644//3644 2836//2836\nf 3440//3440 3720//3720 3159//3159\nf 3646//3646 3439//3439 3206//3206\nf 3441//3441 3208//3208 3647//3647\nf 2837//2837 3648//3648 3447//3447\nf 2837//2837 3442//3442 3648//3648\nf 3649//3649 3208//3208 2843//2843\nf 3018//3018 3209//3209 3206//3206\nf 3209//3209 3446//3446 3206//3206\nf 3443//3443 3445//3445 3161//3161\nf 3451//3451 3088//3088 3447//3447\nf 3444//3444 3210//3210 3448//3448\nf 3650//3650 3449//3449 3445//3445\nf 3791//3791 3090//3090 3453//3453\nf 3021//3021 2845//2845 3455//3455\nf 3456//3456 3021//3021 3455//3455\nf 3454//3454 3163//3163 3457//3457\nf 3163//3163 3164//3164 3457//3457\nf 3092//3092 3456//3456 3651//3651\nf 3164//3164 3458//3458 3457//3457\nf 3164//3164 3023//3023 3458//3458\nf 3023//3023 3093//3093 3461//3461\nf 3723//3723 3724//3724 3726//3726\nf 3023//3023 3093//3093 3461//3461\nf 3726//3726 3464//3464 3652//3652\nf 3464//3464 3726//3726 3096//3096\nf 3093//3093 3462//3462 3461//3461\nf 3465//3465 3654//3654 3652//3652\nf 3723//3723 3726//3726 3652//3652\nf 3469//3469 3653//3653 3095//3095\nf 3468//3468 3654//3654 3465//3465\nf 3655//3655 3466//3466 3093//3093\nf 3655//3655 3093//3093 3094//3094\nf 3468//3468 3657//3657 3656//3656\nf 3657//3657 3468//3468 3476//3476\nf 3475//3475 2873//2873 3474//3474\nf 2873//2873 2870//2870 3474//3474\nf 3657//3657 3476//3476 3658//3658\nf 3472//3472 3477//3477 3213//3213\nf 3659//3659 2872//2872 3477//3477\nf 3480//3480 2874//2874 3475//3475\nf 3661//3661 3660//3660 3481//3481\nf 3660//3660 3661//3661 3481//3481\nf 2876//2876 3167//3167 3659//3659\nf 3100//3100 3483//3483 3486//3486\nf 3660//3660 3481//3481 3101//3101\nf 3100//3100 3486//3486 3488//3488\nf 3494//3494 3101//3101 3489//3489\nf 3490//3490 3491//3491 3099//3099\nf 3487//3487 3492//3492 3485//3485\nf 3493//3493 3486//3486 3662//3662\nf 3664//3664 3498//3498 3495//3495\nf 3497//3497 3665//3665 3496//3496\nf 3492//3492 3496//3496 3665//3665\nf 2889//2889 3495//3495 3498//3498\nf 3026//3026 3493//3493 3662//3662\nf 3662//3662 3499//3499 3026//3026\nf 3102//3102 3500//3500 3497//3497\nf 3662//3662 3501//3501 3499//3499\nf 3103//3103 2567//2567 3663//3663\nf 2889//2889 3667//3667 3502//3502\nf 3500//3500 3102//3102 3503//3503\nf 3497//3497 3500//3500 3503//3503\nf 2567//2567 3666//3666 3663//3663\nf 3502//3502 3104//3104 2890//2890\nf 2909//2909 3501//3501 3669//3669\nf 2897//2897 3506//3506 3508//3508\nf 3507//3507 2897//2897 3508//3508\nf 3509//3509 3671//3671 2896//2896\nf 2896//2896 3671//3671 3668//3668\nf 3505//3505 2905//2905 3109//3109\nf 3666//3666 3505//3505 3670//3670\nf 3505//3505 3109//3109 3670//3670\nf 2896//2896 3108//3108 3509//3509\nf 3669//3669 3511//3511 2909//2909\nf 3107//3107 3510//3510 2903//2903\nf 2915//2915 2909//2909 3511//3511\nf 3511//3511 3673//3673 3512//3512\nf 2904//2904 3515//3515 3672//3672\nf 3509//3509 2904//2904 3672//3672\nf 3730//3730 3027//3027 3110//3110\nf 3730//3730 3110//3110 3516//3516\nf 3517//3517 2920//2920 3675//3675\nf 3676//3676 3518//3518 3512//3512\nf 3676//3676 3512//3512 3673//3673\nf 2912//2912 3027//3027 3730//3730\nf 2912//2912 3677//3677 3678//3678\nf 3112//3112 2912//2912 3678//3678\nf 3520//3520 3112//3112 3678//3678\nf 2916//2916 3112//3112 3520//3520\nf 2917//2917 2916//2916 3520//3520\nf 3679//3679 2921//2921 2918//2918\nf 3682//3682 3676//3676 3680//3680\nf 3681//3681 3682//3682 3680//3680\nf 2922//2922 3518//3518 3682//3682\nf 3682//3682 3518//3518 3676//3676\nf 3524//3524 3523//3523 2925//2925\nf 3682//3682 3526//3526 3525//3525\nf 3531//3531 3528//3528 2932//2932\nf 3170//3170 3532//3532 3683//3683\nf 3169//3169 3530//3530 3532//3532\nf 3170//3170 3169//3169 3532//3532\nf 3534//3534 3170//3170 3683//3683\nf 4112//4112 3533//3533 3535//3535\nf 3171//3171 3534//3534 3684//3684\nf 3171//3171 3029//3029 3534//3534\nf 3533//3533 2936//2936 3535//3535\nf 3172//3172 3684//3684 3537//3537\nf 3539//3539 2941//2941 3541//3541\nf 3540//3540 3538//3538 3115//3115\nf 3543//3543 3540//3540 3115//3115\nf 2946//2946 3113//3113 3543//3543\nf 3540//3540 3543//3543 3113//3113\nf 3538//3538 3544//3544 3115//3115\nf 2950//2950 3547//3547 3545//3545\nf 3548//3548 3547//3547 2950//2950\nf 3549//3549 3548//3548 3174//3174\nf 3552//3552 2952//2952 3546//3546\nf 3551//3551 2953//2953 3550//3550\nf 3549//3549 2953//2953 3551//3551\nf 2952//2952 3552//3552 3554//3554\nf 2957//2957 2952//2952 3554//3554\nf 2961//2961 3559//3559 3555//3555\nf 3559//3559 3118//3118 2960//2960\nf 3560//3560 3561//3561 3685//3685\nf 3560//3560 3217//3217 3561//3561\nf 3685//3685 3686//3686 3560//3560\nf 3560//3560 3686//3686 3563//3563\nf 3564//3564 3562//3562 3119//3119\nf 3216//3216 3563//3563 3687//3687\nf 3566//3566 3216//3216 3688//3688\nf 3216//3216 3687//3687 3688//3688\nf 3566//3566 3688//3688 3568//3568\nf 3177//3177 3568//3568 3569//3569\nf 3123//3123 3569//3569 3572//3572\nf 3573//3573 2967//2967 3572//3572\nf 3574//3574 2967//2967 3573//3573\nf 3574//3574 3031//3031 2967//2967\nf 2974//2974 3575//3575 2972//2972\nf 3879//3879 3689//3689 3221//3221\nf 3226//3226 2589//2589 3219//3219\nf 2592//2592 3226//3226 3227//3227\nf 3226//3226 3219//3219 3884//3884\nf 3229//3229 2595//2595 3228//3228\nf 3737//3737 2597//2597 3229//3229\nf 3692//3692 3178//3178 3691//3691\nf 3737//3737 3691//3691 2597//2597\nf 3692//3692 2600//2600 3178//3178\nf 3238//3238 3032//3032 3233//3233\nf 3695//3695 3696//3696 3236//3236\nf 3695//3695 3694//3694 3696//3696\nf 3235//3235 2609//2609 3578//3578\nf 3235//3235 2606//2606 2609//2609\nf 3579//3579 2605//2605 3234//3234\nf 3239//3239 2609//2609 2612//2612\nf 4155//4155 3239//3239 3241//3241\nf 2612//2612 3242//3242 3241//3241\nf 3738//3738 3246//3246 3248//3248\nf 3740//3740 3249//3249 3244//3244\nf 3249//3249 2611//2611 3244//3244\nf 3250//3250 3035//3035 3245//3245\nf 3250//3250 3252//3252 2621//2621\nf 3037//3037 3033//3033 3583//3583\nf 3746//3746 3259//3259 3257//3257\nf 3698//3698 3256//3256 3583//3583\nf 3698//3698 3258//3258 3256//3256\nf 3587//3587 3182//3182 3589//3589\nf 3269//3269 3589//3589 3265//3265\nf 3585//3585 3260//3260 3267//3267\nf 3588//3588 3261//3261 3270//3270\nf 2626//2626 3270//3270 3588//3588\nf 3270//3270 3261//3261 3588//3588\nf 3590//3590 3592//3592 3272//3272\nf 3700//3700 3267//3267 3271//3271\nf 3281//3281 3701//3701 3277//3277\nf 3286//3286 3287//3287 3130//3130\nf 2983//2983 2683//2683 3291//3291\nf 3294//3294 3702//3702 3302//3302\nf 3296//3296 3703//3703 3295//3295\nf 3291//3291 2683//2683 3300//3300\nf 3703//3703 3296//3296 3596//3596\nf 2669//2669 3295//3295 3703//3703\nf 3132//3132 3186//3186 3599//3599\nf 3301//3301 3303//3303 3298//3298\nf 3601//3601 3597//3597 3703//3703\nf 3600//3600 3306//3306 3605//3605\nf 3308//3308 3310//3310 3303//3303\nf 3605//3605 3137//3137 3314//3314\nf 3319//3319 3136//3136 3312//3312\nf 3134//3134 3608//3608 3320//3320\nf 3606//3606 3704//3704 3609//3609\nf 3609//3609 3707//3707 3610//3610\nf 3706//3706 3318//3318 3613//3613\nf 3614//3614 3612//3612 3610//3610\nf 3315//3315 3325//3325 3708//3708\nf 3610//3610 3707//3707 3614//3614\nf 3322//3322 2710//2710 3329//3329\nf 3328//3328 3710//3710 3615//3615\nf 3331//3331 2720//2720 3617//3617\nf 3054//3054 3321//3321 3336//3336\nf 3336//3336 3332//3332 3054//3054\nf 2722//2722 3332//3332 3336//3336\nf 3764//3764 3335//3335 3340//3340\nf 3768//3768 3620//3620 3344//3344\nf 3061//3061 3618//3618 3350//3350\nf 3618//3618 3712//3712 3350//3350\nf 3620//3620 2991//2991 3344//3344\nf 3064//3064 3358//3358 3348//3348\nf 3354//3354 3620//3620 3771//3771\nf 3063//3063 3621//3621 3357//3357\nf 3356//3356 2743//2743 3362//3362\nf 3772//3772 3363//3363 3357//3357\nf 3363//3363 3772//3772 3987//3987\nf 3622//3622 2762//2762 3376//3376\nf 3371//3371 3361//3361 3374//3374\nf 3776//3776 3364//3364 3376//3376\nf 2759//2759 3375//3375 3623//3623\nf 3368//3368 3372//3372 3623//3623\nf 3365//3365 2997//2997 3625//3625\nf 3775//3775 3365//3365 3625//3625\nf 3373//3373 3624//3624 3626//3626\nf 3376//3376 2770//2770 3379//3379\nf 3069//3069 3374//3374 3627//3627\nf 3625//3625 2771//2771 3378//3378\nf 3379//3379 3070//3070 3629//3629\nf 3071//3071 3384//3384 3381//3381\nf 3382//3382 3380//3380 3377//3377\nf 3072//3072 3383//3383 3630//3630\nf 3385//3385 3382//3382 3713//3713\nf 3852//3852 3384//3384 3389//3389\nf 3384//3384 2781//2781 3388//3388\nf 3386//3386 3630//3630 3391//3391\nf 3387//3387 3074//3074 3631//3631\nf 3390//3390 2789//2789 3399//3399\nf 3395//3395 3391//3391 3632//3632\nf 3394//3394 3392//3392 3397//3397\nf 3398//3398 3076//3076 3395//3395\nf 2788//2788 3633//3633 3400//3400\nf 3399//3399 3003//3003 3402//3402\nf 3077//3077 3406//3406 3715//3715\nf 3406//3406 3154//3154 3409//3409\nf 3403//3403 3716//3716 3408//3408\nf 3414//3414 3411//3411 3006//3006\nf 3409//3409 2804//2804 3417//3417\nf 3418//3418 3199//3199 3416//3416\nf 3420//3420 3081//3081 3418//3418\nf 3641//3641 3082//3082 3423//3423\nf 3085//3085 3641//3641 3428//3428\nf 3642//3642 3008//3008 3717//3717\nf 3430//3430 3428//3428 3641//3641\nf 3008//3008 3010//3010 3717//3717\nf 3645//3645 3644//3644 3441//3441\nf 3443//3443 3160//3160 3159//3159\nf 3206//3206 3446//3446 3646//3646\nf 3650//3650 3445//3445 3443//3443\nf 3448//3448 2849//2849 3721//3721\nf 3791//3791 3721//3721 3090//3090\nf 3791//3791 3453//3453 3650//3650\nf 3650//3650 3453//3453 3449//3449\nf 3722//3722 3455//3455 3451//3451\nf 3092//3092 3651//3651 3459//3459\nf 3023//3023 3461//3461 3458//3458\nf 3726//3726 3724//3724 3653//3653\nf 3654//3654 3796//3796 3723//3723\nf 3654//3654 3723//3723 3652//3652\nf 3726//3726 3653//3653 3096//3096\nf 3096//3096 3653//3653 3469//3469\nf 3468//3468 3656//3656 3654//3654\nf 3095//3095 3653//3653 3469//3469\nf 3656//3656 3657//3657 3654//3654\nf 3466//3466 3655//3655 3462//3462\nf 2870//2870 3471//3471 3474//3474\nf 3467//3467 3472//3472 3024//3024\nf 3727//3727 3658//3658 3728//3728\nf 3727//3727 3657//3657 3658//3658\nf 3660//3660 3658//3658 3481//3481\nf 3728//3728 3658//3658 3660//3660\nf 3479//3479 3097//3097 3482//3482\nf 3482//3482 3097//3097 3485//3485\nf 3660//3660 3101//3101 3494//3494\nf 2876//2876 3659//3659 3807//3807\nf 3810//3810 3491//3491 3490//3490\nf 3663//3663 3494//3494 3103//3103\nf 3665//3665 3485//3485 3492//3492\nf 3811//3811 3665//3665 3497//3497\nf 3503//3503 3811//3811 3497//3497\nf 3498//3498 3667//3667 2889//2889\nf 2567//2567 3505//3505 3666//3666\nf 3668//3668 3671//3671 3814//3814\nf 3502//3502 3813//3813 3506//3506\nf 3504//3504 3668//3668 3814//3814\nf 3813//3813 3508//3508 3506//3506\nf 3511//3511 3669//3669 3673//3673\nf 3816//3816 3514//3514 2903//2903\nf 3516//3516 3514//3514 3816//3816\nf 3515//3515 3111//3111 3517//3517\nf 3729//3729 3680//3680 3676//3676\nf 3729//3729 3676//3676 3673//3673\nf 3730//3730 3731//3731 3677//3677\nf 3677//3677 2912//2912 3730//3730\nf 2920//2920 2919//2919 3675//3675\nf 3674//3674 3679//3679 3732//3732\nf 2918//2918 3522//3522 3679//3679\nf 3682//3682 3525//3525 2924//2924\nf 3526//3526 3682//3682 3820//3820\nf 3820//3820 3527//3527 3526//3526\nf 3820//3820 3529//3529 3527//3527\nf 3822//3822 3683//3683 3532//3532\nf 3029//3029 3170//3170 3534//3534\nf 3535//3535 2938//2938 3536//3536\nf 3172//3172 3171//3171 3684//3684\nf 3536//3536 2939//2939 3539//3539\nf 3552//3552 3546//3546 3825//3825\nf 3826//3826 3555//3555 3559//3559\nf 3829//3829 3686//3686 3685//3685\nf 3563//3563 3686//3686 3687//3687\nf 3735//3735 3562//3562 3564//3564\nf 3686//3686 3831//3831 3687//3687\nf 3574//3574 3573//3573 3835//3835\nf 2585//2585 3221//3221 3689//3689\nf 3223//3223 3218//3218 3222//3222\nf 3736//3736 3219//3219 3220//3220\nf 3692//3692 3691//3691 3737//3737\nf 3230//3230 2598//2598 3232//3232\nf 3231//3231 2600//2600 3692//3692\nf 3695//3695 3236//3236 3237//3237\nf 3738//3738 3248//3248 3580//3580\nf 3739//3739 3738//3738 3580//3580\nf 3244//3244 2610//2610 3240//3240\nf 3583//3583 3696//3696 3741//3741\nf 3583//3583 3236//3236 3696//3696\nf 3581//3581 2619//2619 3254//3254\nf 3746//3746 3257//3257 3919//3919\nf 3742//3742 3263//3263 3699//3699\nf 3742//3742 3699//3699 3744//3744\nf 3745//3745 3744//3744 3586//3586\nf 3587//3587 3745//3745 3586//3586\nf 4161//4161 3840//3840 3922//3922\nf 4162//4162 3925//3925 3591//3591\nf 3585//3585 3267//3267 3700//3700\nf 3747//3747 3592//3592 3590//3590\nf 3593//3593 3592//3592 3842//3842\nf 3280//3280 3593//3593 3842//3842\nf 3278//3278 3748//3748 3749//3749\nf 3276//3276 3748//3748 3278//3278\nf 3278//3278 3749//3749 3277//3277\nf 3275//3275 3282//3282 3750//3750\nf 3934//3934 3749//3749 3936//3936\nf 3284//3284 3751//3751 3279//3279\nf 3290//3290 3288//3288 3941//3941\nf 3594//3594 3283//3283 3752//3752\nf 3750//3750 3282//3282 3291//3291\nf 3599//3599 3297//3297 3595//3595\nf 3753//3753 3291//3291 3300//3300\nf 3600//3600 3753//3753 3300//3300\nf 3600//3600 3605//3605 3754//3754\nf 3603//3603 3602//3602 3302//3302\nf 3602//3602 2693//2693 3302//3302\nf 3303//3303 3755//3755 3298//3298\nf 3601//3601 3596//3596 3756//3756\nf 3601//3601 3703//3703 3596//3596\nf 3132//3132 3599//3599 3309//3309\nf 3310//3310 3758//3758 3303//3303\nf 3314//3314 3705//3705 3759//3759\nf 3704//3704 3601//3601 3756//3756\nf 3606//3606 3601//3601 3704//3704\nf 3611//3611 3319//3319 3312//3312\nf 3315//3315 3760//3760 3310//3310\nf 3609//3609 3704//3704 3761//3761\nf 3761//3761 3762//3762 3609//3609\nf 3609//3609 3762//3762 3707//3707\nf 3706//3706 3613//3613 3709//3709\nf 3613//3613 3335//3335 3709//3709\nf 3614//3614 3707//3707 3763//3763\nf 3710//3710 3614//3614 3763//3763\nf 3765//3765 3339//3339 3616//3616\nf 3849//3849 3615//3615 3710//3710\nf 3765//3765 3349//3349 3339//3339\nf 3342//3342 3346//3346 3766//3766\nf 3618//3618 3711//3711 3712//3712\nf 3711//3711 3767//3767 3712//3712\nf 3770//3770 3348//3348 3358//3358\nf 3353//3353 3365//3365 3981//3981\nf 3356//3356 3362//3362 3774//3774\nf 3621//3621 3772//3772 3357//3357\nf 3358//3358 3360//3360 3364//3364\nf 3358//3358 3364//3364 3773//3773\nf 3366//3366 3355//3355 3851//3851\nf 3364//3364 3622//3622 3376//3376\nf 3777//3777 3367//3367 3366//3366\nf 3375//3375 3370//3370 3367//3367\nf 3778//3778 3376//3376 3379//3379\nf 3383//3383 3628//3628 3779//3779\nf 3780//3780 3070//3070 2780//2780\nf 3628//3628 3626//3626 3779//3779\nf 2780//2780 3387//3387 3780//3780\nf 3385//3385 3713//3713 4005//4005\nf 3392//3392 3385//3385 3781//3781\nf 3392//3392 3781//3781 3397//3397\nf 3782//3782 3631//3631 3393//3393\nf 3714//3714 3390//3390 3399//3399\nf 3393//3393 3396//3396 3077//3077\nf 3399//3399 3402//3402 3634//3634\nf 3783//3783 3398//3398 3632//3632\nf 3633//3633 3397//3397 3400//3400\nf 3078//3078 3635//3635 3636//3636\nf 3409//3409 3417//3417 3784//3784\nf 3638//3638 3201//3201 3084//3084\nf 3423//3423 3419//3419 3639//3639\nf 3420//3420 3418//3418 3786//3786\nf 3638//3638 3084//3084 3425//3425\nf 3639//3639 3788//3788 3423//3423\nf 3425//3425 3008//3008 3642//3642\nf 3787//3787 3642//3642 3717//3717\nf 3789//3789 3430//3430 3641//3641\nf 3717//3717 3010//3010 3434//3434\nf 3443//3443 3159//3159 3720//3720\nf 4238//4238 4237//4237 3441//3441\nf 3649//3649 3444//3444 3790//3790\nf 3790//3790 3647//3647 3649//3649\nf 3451//3451 3447//3447 4050//4050\nf 3792//3792 3454//3454 3457//3457\nf 3793//3793 3725//3725 3795//3795\nf 3861//3861 3795//3795 3723//3723\nf 3793//3793 3794//3794 3725//3725\nf 3795//3795 3724//3724 3723//3723\nf 3795//3795 3725//3725 3724//3724\nf 3796//3796 3862//3862 3723//3723\nf 3725//3725 3653//3653 3724//3724\nf 3653//3653 3725//3725 3799//3799\nf 3798//3798 3797//3797 3796//3796\nf 3798//3798 3796//3796 3654//3654\nf 3469//3469 3653//3653 3799//3799\nf 3463//3463 2862//2862 3460//3460\nf 3461//3461 3462//3462 3865//3865\nf 3799//3799 3471//3471 3469//3469\nf 3798//3798 3654//3654 3657//3657\nf 3800//3800 3798//3798 3657//3657\nf 4063//4063 3471//3471 3799//3799\nf 3800//3800 3657//3657 3727//3727\nf 3655//3655 3473//3473 3802//3802\nf 3474//3474 3471//3471 3475//3475\nf 3467//3467 3801//3801 3472//3472\nf 3473//3473 3655//3655 3470//3470\nf 3472//3472 3803//3803 3659//3659\nf 3728//3728 3660//3660 3804//3804\nf 3805//3805 3486//3486 3483//3483\nf 3485//3485 3479//3479 3482//3482\nf 3806//3806 3660//3660 3494//3494\nf 3490//3490 3099//3099 2876//2876\nf 3494//3494 3663//3663 3806//3806\nf 2876//2876 3807//3807 3490//3490\nf 3662//3662 3486//3486 3808//3808\nf 3485//3485 3665//3665 3809//3809\nf 3491//3491 3810//3810 3664//3664\nf 3664//3664 3495//3495 3491//3491\nf 3808//3808 3501//3501 3662//3662\nf 3504//3504 3814//3814 3503//3503\nf 3673//3673 3669//3669 3815//3815\nf 3815//3815 3729//3729 3673//3673\nf 3730//3730 3817//3817 3731//3731\nf 3731//3731 3817//3817 3677//3677\nf 3674//3674 2921//2921 3679//3679\nf 2919//2919 3674//3674 3732//3732\nf 3675//3675 3732//3732 3818//3818\nf 3675//3675 2919//2919 3732//3732\nf 3872//3872 3733//3733 3680//3680\nf 3681//3681 3680//3680 3733//3733\nf 3733//3733 3819//3819 3820//3820\nf 3733//3733 3820//3820 3681//3681\nf 3682//3682 3681//3681 3820//3820\nf 3529//3529 3820//3820 3819//3819\nf 3528//3528 3531//3531 3533//3533\nf 3532//3532 3821//3821 3822//3822\nf 3684//3684 3534//3534 3683//3683\nf 3684//3684 3683//3683 3874//3874\nf 3556//3556 3554//3554 4132//4132\nf 3556//3556 3827//3827 3557//3557\nf 3827//3827 3558//3558 3557//3557\nf 3686//3686 3829//3829 3828//3828\nf 3830//3830 3734//3734 3828//3828\nf 3686//3686 3828//3828 3734//3734\nf 3561//3561 3829//3829 3685//3685\nf 3686//3686 3734//3734 3831//3831\nf 3687//3687 3832//3832 3563//3563\nf 3832//3832 3688//3688 3563//3563\nf 3833//3833 3565//3565 3567//3567\nf 3568//3568 3688//3688 4141//4141\nf 3568//3568 4142//4142 3569//3569\nf 3834//3834 3567//3567 3570//3570\nf 3571//3571 3834//3834 3570//3570\nf 3218//3218 3223//3223 3836//3836\nf 2595//2595 3227//3227 3228//3228\nf 3227//3227 3837//3837 3228//3228\nf 3229//3229 3228//3228 3886//3886\nf 2603//2603 2604//2604 3577//3577\nf 3232//3232 3697//3697 3693//3693\nf 3246//3246 3738//3738 3896//3896\nf 3697//3697 3232//3232 3693//3693\nf 3896//3896 3245//3245 3246//3246\nf 3243//3243 3899//3899 3697//3697\nf 3249//3249 3740//3740 3903//3903\nf 3252//3252 3250//3250 3911//3911\nf 3907//3907 3243//3243 3582//3582\nf 3909//3909 3742//3742 3910//3910\nf 3743//3743 3742//3742 3909//3909\nf 3263//3263 3743//3743 3839//3839\nf 3743//3743 3263//3263 3742//3742\nf 3590//3590 3263//3263 3839//3839\nf 3587//3587 3589//3589 3840//3840\nf 3587//3587 3840//3840 3745//3745\nf 3912//3912 3926//3926 3585//3585\nf 3698//3698 3268//3268 3258//3258\nf 3270//3270 3275//3275 3841//3841\nf 3929//3929 3841//3841 3275//3275\nf 3930//3930 3274//3274 3932//3932\nf 3748//3748 3936//3936 3749//3749\nf 3934//3934 3277//3277 3749//3749\nf 3285//3285 3281//3281 3938//3938\nf 3939//3939 3287//3287 3286//3286\nf 3940//3940 3287//3287 3939//3939\nf 3595//3595 3594//3594 3752//3752\nf 3302//3302 3702//3702 3294//3294\nf 3599//3599 3595//3595 3952//3952\nf 3756//3756 3596//3596 3298//3298\nf 3756//3756 3298//3298 3755//3755\nf 3755//3755 3303//3303 3758//3758\nf 3756//3756 3755//3755 3843//3843\nf 3307//3307 3311//3311 3757//3757\nf 3704//3704 3756//3756 3843//3843\nf 3314//3314 3759//3759 3605//3605\nf 3843//3843 3755//3755 3758//3758\nf 3844//3844 3312//3312 4178//4178\nf 3312//3312 3844//3844 3611//3611\nf 3758//3758 3847//3847 3843//3843\nf 3843//3843 3847//3847 3704//3704\nf 3761//3761 3704//3704 3847//3847\nf 3845//3845 3705//3705 3706//3706\nf 3758//3758 3846//3846 3847//3847\nf 3705//3705 3318//3318 3706//3706\nf 3608//3608 3959//3959 3320//3320\nf 3848//3848 3706//3706 3709//3709\nf 3971//3971 3707//3707 3762//3762\nf 3969//3969 3709//3709 3335//3335\nf 3615//3615 3849//3849 3711//3711\nf 3340//3340 3348//3348 3770//3770\nf 3338//3338 3768//3768 3344//3344\nf 3349//3349 3977//3977 3769//3769\nf 3355//3355 3349//3349 3769//3769\nf 3346//3346 3351//3351 3352//3352\nf 3350//3350 3712//3712 3850//3850\nf 3621//3621 3350//3350 3850//3850\nf 3620//3620 3768//3768 3771//3771\nf 3776//3776 3773//3773 4204//4204\nf 3358//3358 3773//3773 3776//3776\nf 3773//3773 3364//3364 3776//3776\nf 3369//3369 3368//3368 3986//3986\nf 3374//3374 3361//3361 4211//4211\nf 3993//3993 3778//3778 3379//3379\nf 3382//3382 3627//3627 4213//4213\nf 3379//3379 3629//3629 3780//3780\nf 3630//3630 3383//3383 3779//3779\nf 3631//3631 4004//4004 3387//3387\nf 3385//3385 3713//3713 3781//3781\nf 3630//3630 3853//3853 3391//3391\nf 3399//3399 4008//4008 3714//3714\nf 3632//3632 3391//3391 4006//4006\nf 3397//3397 4013//4013 3400//3400\nf 3783//3783 4016//4016 3398//3398\nf 3403//3403 3398//3398 4017//4017\nf 3635//3635 3400//3400 4018//4018\nf 3637//3637 4019//4019 3404//3404\nf 3406//3406 3409//3409 3784//3784\nf 3411//3411 3637//3637 3404//3404\nf 3415//3415 3408//3408 3716//3716\nf 3785//3785 3412//3412 3410//3410\nf 3416//3416 3412//3412 3785//3785\nf 4228//4228 3638//3638 3854//3854\nf 3788//3788 3639//3639 4025//4025\nf 3422//3422 3786//3786 3427//3427\nf 3432//3432 3202//3202 3427//3427\nf 3429//3429 3431//3431 3856//3856\nf 3431//3431 3433//3433 3856//3856\nf 3433//3433 3643//3643 3718//3718\nf 4035//4035 4037//4037 3435//3435\nf 3720//3720 3440//3440 4035//4035\nf 4039//4039 3644//3644 3645//3645\nf 3442//3442 3438//3438 3719//3719\nf 4041//4041 3443//3443 3720//3720\nf 3442//3442 3719//3719 4040//4040\nf 3648//3648 3442//3442 4045//4045\nf 4048//4048 3721//3721 3791//3791\nf 4048//4048 3791//3791 3650//3650\nf 3857//3857 3858//3858 3795//3795\nf 3860//3860 3857//3857 3795//3795\nf 3858//3858 3794//3794 3793//3793\nf 3858//3858 3859//3859 3794//3794\nf 3793//3793 3795//3795 3858//3858\nf 3860//3860 3795//3795 3861//3861\nf 3862//3862 3861//3861 3723//3723\nf 3797//3797 4057//4057 3796//3796\nf 4057//4057 3862//3862 3796//3796\nf 3725//3725 3794//3794 3864//3864\nf 3725//3725 3864//3864 3799//3799\nf 3462//3462 3655//3655 3865//3865\nf 3475//3475 3471//3471 3866//3866\nf 3727//3727 3728//3728 3867//3867\nf 4072//4072 3473//3473 3479//3479\nf 3869//3869 3486//3486 3805//3805\nf 3868//3868 3869//3869 3805//3805\nf 3804//3804 3660//3660 3806//3806\nf 3808//3808 3486//3486 3869//3869\nf 3808//3808 3812//3812 3501//3501\nf 3664//3664 3667//3667 3498//3498\nf 4081//4081 3665//3665 3811//3811\nf 3811//3811 3503//3503 4086//4086\nf 3501//3501 3812//3812 3669//3669\nf 3815//3815 3870//3870 3729//3729\nf 2903//2903 3510//3510 3871//3871\nf 3671//3671 3509//3509 3672//3672\nf 2903//2903 3871//3871 3816//3816\nf 3872//3872 3680//3680 3729//3729\nf 3872//3872 3729//3729 3870//3870\nf 3517//3517 3675//3675 4098//4098\nf 3675//3675 3818//3818 4098//4098\nf 3873//3873 3819//3819 3733//3733\nf 3530//3530 3529//3529 3819//3819\nf 3823//3823 3684//3684 3874//3874\nf 3823//3823 3537//3537 3684//3684\nf 4116//4116 3539//3539 3541//3541\nf 3538//3538 3824//3824 3544//3544\nf 4121//4121 3546//3546 3544//3544\nf 4122//4122 3545//3545 3547//3547\nf 4132//4132 3827//3827 3556//3556\nf 3830//3830 3875//3875 3876//3876\nf 3830//3830 3876//3876 3734//3734\nf 3876//3876 3877//3877 3734//3734\nf 3877//3877 3831//3831 3734//3734\nf 4144//4144 3573//3573 3572//3572\nf 3689//3689 3736//3736 3220//3220\nf 3878//3878 3689//3689 3879//3879\nf 3880//3880 3221//3221 3836//3836\nf 3836//3836 3221//3221 3218//3218\nf 3836//3836 3883//3883 3218//3218\nf 3882//3882 3219//3219 3736//3736\nf 3881//3881 3219//3219 3882//3882\nf 3883//3883 3836//3836 3223//3223\nf 3225//3225 3690//3690 3223//3223\nf 3227//3227 3885//3885 3837//3837\nf 3837//3837 3885//3885 3228//3228\nf 3229//3229 3886//3886 3228//3228\nf 4151//4151 3230//3230 3693//3693\nf 4150//4150 3692//3692 3737//3737\nf 4149//4149 3690//3690 3230//3230\nf 3889//3889 3694//3694 3695//3695\nf 4151//4151 4149//4149 3230//3230\nf 4318//4318 3738//3738 3739//3739\nf 3888//3888 3696//3696 3694//3694\nf 3894//3894 3695//3695 3237//3237\nf 3889//3889 3695//3695 3894//3894\nf 4154//4154 3237//3237 3238//3238\nf 3895//3895 3693//3693 3232//3232\nf 3838//3838 3739//3739 3580//3580\nf 3892//3892 3234//3234 3231//3231\nf 3899//3899 3895//3895 3232//3232\nf 3898//3898 3240//3240 3579//3579\nf 3232//3232 3697//3697 3899//3899\nf 3903//3903 3244//3244 3240//3240\nf 3250//3250 3245//3245 3905//3905\nf 3740//3740 3244//3244 3903//3903\nf 3254//3254 3906//3906 3581//3581\nf 3899//3899 3243//3243 3907//3907\nf 3909//3909 3908//3908 3743//3743\nf 3911//3911 3250//3250 3905//3905\nf 4157//4157 3742//3742 3744//3744\nf 4157//4157 3744//3744 3745//3745\nf 3743//3743 4160//4160 3839//3839\nf 3838//3838 3580//3580 3253//3253\nf 3912//3912 3838//3838 3253//3253\nf 3914//3914 3254//3254 3918//3918\nf 3255//3255 3918//3918 3254//3254\nf 3583//3583 3741//3741 3920//3920\nf 3746//3746 3923//3923 3259//3259\nf 3269//3269 3591//3591 3925//3925\nf 3921//3921 3261//3261 3924//3924\nf 3921//3921 3584//3584 3261//3261\nf 3747//3747 3839//3839 4163//4163\nf 3747//3747 3590//3590 3839//3839\nf 3261//3261 3588//3588 3924//3924\nf 4167//4167 3924//3924 3588//3588\nf 3927//3927 3268//3268 3698//3698\nf 3747//3747 4168//4168 3928//3928\nf 3592//3592 3747//3747 3928//3928\nf 3585//3585 3700//3700 4169//4169\nf 3842//3842 3592//3592 3928//3928\nf 3841//3841 3929//3929 3270//3270\nf 3841//3841 3929//3929 3275//3275\nf 3842//3842 3928//3928 3280//3280\nf 3274//3274 3279//3279 3932//3932\nf 3931//3931 3276//3276 3273//3273\nf 3931//3931 3933//3933 3276//3276\nf 3276//3276 3933//3933 3748//3748\nf 3751//3751 3935//3935 3279//3279\nf 3279//3279 3935//3935 3932//3932\nf 3701//3701 3937//3937 3281//3281\nf 3285//3285 3939//3939 3286//3286\nf 3287//3287 3941//3941 3288//3288\nf 3287//3287 3940//3940 3941//3941\nf 3941//3941 3944//3944 3290//3290\nf 3943//3943 3750//3750 3291//3291\nf 3945//3945 3943//3943 3291//3291\nf 3290//3290 3946//3946 3293//3293\nf 3946//3946 3294//3294 3293//3293\nf 3284//3284 3292//3292 3950//3950\nf 3294//3294 3947//3947 3946//3946\nf 3952//3952 3595//3595 3949//3949\nf 3294//3294 3946//3946 3302//3302\nf 3753//3753 3600//3600 3754//3754\nf 3950//3950 3292//3292 3598//3598\nf 3950//3950 3598//3598 3953//3953\nf 3954//3954 3950//3950 3953//3953\nf 3954//3954 3953//3953 3598//3598\nf 3603//3603 3302//3302 3956//3956\nf 3954//3954 3598//3598 3757//3757\nf 3598//3598 3307//3307 3757//3757\nf 3757//3757 3311//3311 3958//3958\nf 3957//3957 3759//3759 3705//3705\nf 3760//3760 3846//3846 3310//3310\nf 3846//3846 3758//3758 3310//3310\nf 3844//3844 3960//3960 3611//3611\nf 3961//3961 3311//3311 3316//3316\nf 3327//3327 3611//3611 3960//3960\nf 3846//3846 3760//3760 3963//3963\nf 3321//3321 3320//3320 3966//3966\nf 3846//3846 3963//3963 3964//3964\nf 3965//3965 3847//3847 3846//3846\nf 3761//3761 3847//3847 3965//3965\nf 3315//3315 3963//3963 3760//3760\nf 3848//3848 3709//3709 3967//3967\nf 3967//3967 3709//3709 3848//3848\nf 3963//3963 3315//3315 3708//3708\nf 3848//3848 3709//3709 3967//3967\nf 4185//4185 3322//3322 3970//3970\nf 4185//4185 3316//3316 3322//3322\nf 3325//3325 3968//3968 3708//3708\nf 3762//3762 3761//3761 3965//3965\nf 3322//3322 3329//3329 3970//3970\nf 3331//3331 3968//3968 3325//3325\nf 3333//3333 3970//3970 3329//3329\nf 3707//3707 3971//3971 3763//3763\nf 3327//3327 3972//3972 3616//3616\nf 3969//3969 3335//3335 3764//3764\nf 3969//3969 3764//3764 4186//4186\nf 4192//4192 4193//4193 3763//3763\nf 3617//3617 3973//3973 3331//3331\nf 3337//3337 3975//3975 3617//3617\nf 3975//3975 3337//3337 3617//3617\nf 3617//3617 3337//3337 3973//3973\nf 3764//3764 3340//3340 3974//3974\nf 3349//3349 3765//3765 3977//3977\nf 3978//3978 3345//3345 3347//3347\nf 3767//3767 3711//3711 4197//4197\nf 3342//3342 3766//3766 4201//4201\nf 3340//3340 3770//3770 4198//4198\nf 3981//3981 3979//3979 3347//3347\nf 3980//3980 3355//3355 3769//3769\nf 3980//3980 3982//3982 3355//3355\nf 3353//3353 3981//3981 3347//3347\nf 3356//3356 3774//3774 3984//3984\nf 3361//3361 3354//3354 4206//4206\nf 3365//3365 3775//3775 3981//3981\nf 3985//3985 3984//3984 3774//3774\nf 3362//3362 3985//3985 3774//3774\nf 3985//3985 3362//3362 3986//3986\nf 3986//3986 3362//3362 3369//3369\nf 3624//3624 3363//3363 3987//3987\nf 3777//3777 3989//3989 3366//3366\nf 3989//3989 3777//3777 3366//3366\nf 3368//3368 3623//3623 3991//3991\nf 3625//3625 3994//3994 3381//3381\nf 3992//3992 3995//3995 3624//3624\nf 3625//3625 3381//3381 3994//3994\nf 3780//3780 3998//3998 3379//3379\nf 3384//3384 3999//3999 3381//3381\nf 3384//3384 3852//3852 3999//3999\nf 3389//3389 4002//4002 3852//3852\nf 3382//3382 4001//4001 3713//3713\nf 3631//3631 3782//3782 4004//4004\nf 3713//3713 3385//3385 3781//3781\nf 4005//4005 3781//3781 3385//3385\nf 3714//3714 3389//3389 3390//3390\nf 4006//4006 3391//3391 3853//3853\nf 3781//3781 4007//4007 3397//3397\nf 4343//4343 4007//4007 3397//3397\nf 3393//3393 3077//3077 3401//3401\nf 4010//4010 4013//4013 3397//3397\nf 4012//4012 3399//3399 3634//3634\nf 4012//4012 3634//3634 4014//4014\nf 3783//3783 3632//3632 4016//4016\nf 4015//4015 3715//3715 3401//3401\nf 3401//3401 3715//3715 4015//4015\nf 3636//3636 3635//3635 3410//3410\nf 3410//3410 4224//4224 3785//3785\nf 3637//3637 4226//4226 4222//4222\nf 4226//4226 3414//3414 4021//4021\nf 4022//4022 3417//3417 3640//3640\nf 4022//4022 3640//3640 4023//4023\nf 4023//4023 3421//3421 4022//4022\nf 3416//3416 3785//3785 3418//3418\nf 4021//4021 3414//3414 3638//3638\nf 3640//3640 3421//3421 4023//4023\nf 3638//3638 3425//3425 3854//3854\nf 3424//3424 4024//4024 3421//3421\nf 3787//3787 3854//3854 3425//3425\nf 3855//3855 3424//3424 3429//3429\nf 3423//3423 3788//3788 4028//4028\nf 3641//3641 3423//3423 4028//4028\nf 3786//3786 4029//4029 3427//3427\nf 4028//4028 4030//4030 3641//3641\nf 4231//4231 3429//3429 3856//3856\nf 3789//3789 3641//3641 4032//4032\nf 3641//3641 4030//4030 4032//4032\nf 4031//4031 3856//3856 3433//3433\nf 3430//3430 3789//3789 3437//3437\nf 4033//4033 3433//3433 3718//3718\nf 4035//4035 3435//3435 3432//3432\nf 4036//4036 4234//4234 3436//3436\nf 4234//4234 3434//3434 3436//3436\nf 3435//3435 4037//4037 4035//4035\nf 4038//4038 3437//3437 4235//4235\nf 3437//3437 4038//4038 3719//3719\nf 3718//3718 3644//3644 4039//4039\nf 3440//3440 3435//3435 4035//4035\nf 4237//4237 3645//3645 3441//3441\nf 4238//4238 3441//3441 3647//3647\nf 4239//4239 3647//3647 3790//3790\nf 4044//4044 4046//4046 3443//3443\nf 4047//4047 3646//3646 3446//3446\nf 4046//4046 3650//3650 3443//3443\nf 4050//4050 3447//3447 3648//3648\nf 4049//4049 4251//4251 3859//3859\nf 3858//3858 4049//4049 3859//3859\nf 4049//4049 3858//3858 3857//3857\nf 4051//4051 4049//4049 3857//3857\nf 3722//3722 3451//3451 4053//4053\nf 4051//4051 3857//3857 3860//3860\nf 4054//4054 3860//3860 3862//3862\nf 3794//3794 3859//3859 4055//4055\nf 3722//3722 4053//4053 3455//3455\nf 3862//3862 3860//3860 3861//3861\nf 3455//3455 4056//4056 3456//3456\nf 4058//4058 3863//3863 4256//4256\nf 3794//3794 3863//3863 4058//4058\nf 4059//4059 3457//3457 3458//3458\nf 4059//4059 3792//3792 3457//3457\nf 3864//3864 3794//3794 4058//4058\nf 4059//4059 3458//3458 4061//4061\nf 3651//3651 4062//4062 3459//3459\nf 3799//3799 3864//3864 4058//4058\nf 4261//4261 3797//3797 3800//3800\nf 4058//4058 4063//4063 3799//3799\nf 3797//3797 3798//3798 3800//3800\nf 3463//3463 3460//3460 4065//4065\nf 4065//4065 3460//3460 4064//4064\nf 3471//3471 4063//4063 3866//3866\nf 4067//4067 3865//3865 3655//3655\nf 3800//3800 3727//3727 4066//4066\nf 3463//3463 4065//4065 3467//3467\nf 4066//4066 3727//3727 3867//3867\nf 4270//4270 3801//3801 3467//3467\nf 3480//3480 3475//3475 4068//4068\nf 3802//3802 3473//3473 4072//4072\nf 4272//4272 3868//3868 4069//4069\nf 4070//4070 4069//4069 3805//3805\nf 4070//4070 3805//3805 4071//4071\nf 3802//3802 4072//4072 4273//4273\nf 4071//4071 3805//3805 3483//3483\nf 3867//3867 3728//3728 3804//3804\nf 3659//3659 3803//3803 4275//4275\nf 3868//3868 4073//4073 4075//4075\nf 3869//3869 3868//3868 4075//4075\nf 3659//3659 4076//4076 3807//3807\nf 3485//3485 4077//4077 3479//3479\nf 4076//4076 3490//3490 3807//3807\nf 3485//3485 3809//3809 4078//4078\nf 4079//4079 3806//3806 3663//3663\nf 3808//3808 3869//3869 4080//4080\nf 3810//3810 4082//4082 3664//3664\nf 3810//3810 3664//3664 4082//4082\nf 4083//4083 3664//3664 3810//3810\nf 4080//4080 4084//4084 3808//3808\nf 3808//3808 4084//4084 3812//3812\nf 4083//4083 3667//3667 3664//3664\nf 4081//4081 3809//3809 3665//3665\nf 4085//4085 4279//4279 3666//3666\nf 3669//3669 3812//3812 3815//3815\nf 4085//4085 3666//3666 4088//4088\nf 3503//3503 3814//3814 4087//4087\nf 3813//3813 3502//3502 3667//3667\nf 4090//4090 3870//3870 3815//3815\nf 3513//3513 4091//4091 3670//3670\nf 4374//4374 3871//3871 4286//4286\nf 3510//3510 3871//3871 4374//4374\nf 4093//4093 3671//3671 3672//3672\nf 3871//3871 4095//4095 3816//3816\nf 3516//3516 4096//4096 4097//4097\nf 3516//3516 3816//3816 4096//4096\nf 3730//3730 3516//3516 3817//3817\nf 4100//4100 3730//3730 3817//3817\nf 4100//4100 3817//3817 3730//3730\nf 4098//4098 3515//3515 3517//3517\nf 4101//4101 3678//3678 3677//3677\nf 3521//3521 3520//3520 4102//4102\nf 3872//3872 4104//4104 3733//3733\nf 3523//3523 4103//4103 3519//3519\nf 3873//3873 3733//3733 4105//4105\nf 3523//3523 3524//3524 4107//4107\nf 3873//3873 3530//3530 3819//3819\nf 3821//3821 3532//3532 4108//4108\nf 3821//3821 4295//4295 4296//4296\nf 3822//3822 3821//3821 4111//4111\nf 3533//3533 4110//4110 3528//3528\nf 3821//3821 4296//4296 4111//4111\nf 3684//3684 3874//3874 4382//4382\nf 4114//4114 3535//3535 3536//3536\nf 3537//3537 3823//3823 3538//3538\nf 4115//4115 3538//3538 3823//3823\nf 4119//4119 3824//3824 4118//4118\nf 3824//3824 4115//4115 4118//4118\nf 4115//4115 3824//3824 3538//3538\nf 4117//4117 3541//3541 3542//3542\nf 4121//4121 3544//3544 3824//3824\nf 3542//3542 3545//3545 4120//4120\nf 4122//4122 4120//4120 3545//3545\nf 3546//3546 4124//4124 3825//3825\nf 3550//3550 4125//4125 3551//3551\nf 3825//3825 4124//4124 3552//3552\nf 3552//3552 4124//4124 4126//4126\nf 4127//4127 3550//3550 3553//3553\nf 4127//4127 4128//4128 3550//3550\nf 4130//4130 3553//3553 3555//3555\nf 3554//3554 3552//3552 4129//4129\nf 4131//4131 4130//4130 3555//3555\nf 4131//4131 3555//3555 3826//3826\nf 4131//4131 3559//3559 3558//3558\nf 4131//4131 3558//3558 3827//3827\nf 3826//3826 3559//3559 4131//4131\nf 3828//3828 4133//4133 3830//3830\nf 3829//3829 4134//4134 3828//3828\nf 3875//3875 4135//4135 4136//4136\nf 3875//3875 4136//4136 3876//3876\nf 3562//3562 4137//4137 3561//3561\nf 3735//3735 4137//4137 3562//3562\nf 4138//4138 3735//3735 3564//3564\nf 4310//4310 3831//3831 3877//3877\nf 4139//4139 4138//4138 3564//3564\nf 3687//3687 3831//3831 4140//4140\nf 4141//4141 3688//3688 3832//3832\nf 4141//4141 3832//3832 4312//4312\nf 3569//3569 4142//4142 3572//3572\nf 4144//4144 3572//3572 4143//4143\nf 3571//3571 3576//3576 3834//3834\nf 3835//3835 4145//4145 3574//3574\nf 4144//4144 4145//4145 3835//3835\nf 3576//3576 3571//3571 3575//3575\nf 3879//3879 3221//3221 3880//3880\nf 3218//3218 3883//3883 3836//3836\nf 3836//3836 3883//3883 3880//3880\nf 3884//3884 3219//3219 3881//3881\nf 3227//3227 3226//3226 3885//3885\nf 3690//3690 4147//4147 3223//3223\nf 3737//3737 3229//3229 3887//3887\nf 3690//3690 4149//4149 4151//4151\nf 3888//3888 3694//3694 3889//3889\nf 4152//4152 3692//3692 4150//4150\nf 3890//3890 3238//3238 3233//3233\nf 3891//3891 3233//3233 3577//3577\nf 3896//3896 3738//3738 3893//3893\nf 4154//4154 3894//3894 3237//3237\nf 3235//3235 3578//3578 3897//3897\nf 3895//3895 4151//4151 3693//3693\nf 4153//4153 3739//3739 3838//3838\nf 3897//3897 3578//3578 3239//3239\nf 3892//3892 3898//3898 3234//3234\nf 3900//3900 3245//3245 3896//3896\nf 3898//3898 3579//3579 3234//3234\nf 3905//3905 3245//3245 3900//3900\nf 3240//3240 3904//3904 3903//3903\nf 4320//4320 3909//3909 3910//3910\nf 4320//4320 3908//3908 3909//3909\nf 4321//4321 4157//4157 4158//4158\nf 3581//3581 3906//3906 3247//3247\nf 3743//3743 3908//3908 4160//4160\nf 3745//3745 4158//4158 4157//4157\nf 3745//3745 4159//4159 4158//4158\nf 3911//3911 3257//3257 3252//3252\nf 3741//3741 3696//3696 3901//3901\nf 3910//3910 3742//3742 4157//4157\nf 3838//3838 3912//3912 4156//4156\nf 3741//3741 3901//3901 3913//3913\nf 3251//3251 3916//3916 3915//3915\nf 3251//3251 3249//3249 3916//3916\nf 4161//4161 3745//3745 3840//3840\nf 3840//3840 3589//3589 3922//3922\nf 3257//3257 3746//3746 3919//3919\nf 3582//3582 3584//3584 3921//3921\nf 3923//3923 3746//3746 3257//3257\nf 3917//3917 3582//3582 3921//3921\nf 3922//3922 3589//3589 3269//3269\nf 3269//3269 3925//3925 3922//3922\nf 3583//3583 3920//3920 3698//3698\nf 4162//4162 3591//3591 3266//3266\nf 3262//3262 4164//4164 3266//3266\nf 3923//3923 3262//3262 3259//3259\nf 4164//4164 3262//3262 3923//3923\nf 3912//3912 3253//3253 3926//3926\nf 3253//3253 3585//3585 3926//3926\nf 4166//4166 3912//3912 3585//3585\nf 3588//3588 3270//3270 4167//4167\nf 3926//3926 3585//3585 4169//4169\nf 4169//4169 3700//3700 3271//3271\nf 3273//3273 3268//3268 3927//3927\nf 3275//3275 3929//3929 3841//3841\nf 4171//4171 3280//3280 3928//3928\nf 3274//3274 3930//3930 3271//3271\nf 3927//3927 3931//3931 3273//3273\nf 3752//3752 3283//3283 3942//3942\nf 3934//3934 4172//4172 3277//3277\nf 3277//3277 3701//3701 3281//3281\nf 3283//3283 4171//4171 3942//3942\nf 3283//3283 3280//3280 4171//4171\nf 3748//3748 3933//3933 3936//3936\nf 3281//3281 3937//3937 3938//3938\nf 3750//3750 3943//3943 4173//4173\nf 3595//3595 3752//3752 3942//3942\nf 3935//3935 3284//3284 3751//3751\nf 3935//3935 3751//3751 3284//3284\nf 3284//3284 3751//3751 3935//3935\nf 3751//3751 3284//3284 3935//3935\nf 3290//3290 3944//3944 3946//3946\nf 3945//3945 3291//3291 3753//3753\nf 3943//3943 3945//3945 3753//3753\nf 4325//4325 3935//3935 3751//3751\nf 3949//3949 3595//3595 3942//3942\nf 3751//3751 3284//3284 3950//3950\nf 3951//3951 3948//3948 3753//3753\nf 4325//4325 3751//3751 3950//3950\nf 3754//3754 4174//4174 3951//3951\nf 3599//3599 3952//3952 4175//4175\nf 3951//3951 3753//3753 3754//3754\nf 3956//3956 3302//3302 3955//3955\nf 3309//3309 3599//3599 4176//4176\nf 3759//3759 3754//3754 3605//3605\nf 3599//3599 4175//4175 4176//4176\nf 3608//3608 3309//3309 3959//3959\nf 4177//4177 4178//4178 3312//3312\nf 3603//3603 4177//4177 3312//3312\nf 3958//3958 4179//4179 3757//3757\nf 3957//3957 4180//4180 4412//4412\nf 3705//3705 3845//3845 4180//4180\nf 3706//3706 4180//4180 3845//3845\nf 3844//3844 4182//4182 3960//3960\nf 3706//3706 4327//4327 4180//4180\nf 3320//3320 3959//3959 3962//3962\nf 4327//4327 3706//3706 3848//3848\nf 3327//3327 3960//3960 4183//4183\nf 3965//3965 3846//3846 3964//3964\nf 3964//3964 4184//4184 3965//3965\nf 4189//4189 3327//3327 4183//4183\nf 3964//3964 4329//4329 4184//4184\nf 4329//4329 3964//3964 4188//4188\nf 3963//3963 4188//4188 3964//3964\nf 3762//3762 3965//3965 4184//4184\nf 3971//3971 3762//3762 4184//4184\nf 4186//4186 3709//3709 3969//3969\nf 3963//3963 3708//3708 3968//3968\nf 3972//3972 4189//4189 4330//4330\nf 3327//3327 4189//4189 3972//3972\nf 3710//3710 3763//3763 4193//4193\nf 3763//3763 3710//3710 4193//4193\nf 4195//4195 3763//3763 4193//4193\nf 4194//4194 3765//3765 3616//3616\nf 3710//3710 3763//3763 4195//4195\nf 3710//3710 4195//4195 3849//3849\nf 3974//3974 3340//3340 3976//3976\nf 4196//4196 3336//3336 4190//4190\nf 4197//4197 3849//3849 4195//4195\nf 3338//3338 3336//3336 4196//4196\nf 3849//3849 4197//4197 3711//3711\nf 3340//3340 4198//4198 3976//3976\nf 3341//3341 3345//3345 3978//3978\nf 3767//3767 4197//4197 4332//4332\nf 3766//3766 3346//3346 4201//4201\nf 3712//3712 4203//4203 3983//3983\nf 3712//3712 3767//3767 4203//4203\nf 3771//3771 3768//3768 4200//4200\nf 4202//4202 3346//3346 3352//3352\nf 3850//3850 3712//3712 3983//3983\nf 3982//3982 3980//3980 3355//3355\nf 3358//3358 3773//3773 4204//4204\nf 3773//3773 3776//3776 4204//4204\nf 3621//3621 3850//3850 3983//3983\nf 3773//3773 3358//3358 3776//3776\nf 3772//3772 3621//3621 3983//3983\nf 4204//4204 3773//3773 4205//4205\nf 4206//4206 3354//3354 3771//3771\nf 3773//3773 3776//3776 4205//4205\nf 3987//3987 3772//3772 4207//4207\nf 3851//3851 4338//4338 3366//3366\nf 3988//3988 3376//3376 3778//3778\nf 3366//3366 4338//4338 3777//3777\nf 4208//4208 3986//3986 3990//3990\nf 3988//3988 3776//3776 3376//3376\nf 4339//4339 3775//3775 3625//3625\nf 3986//3986 3368//3368 3990//3990\nf 3988//3988 3778//3778 4209//4209\nf 4209//4209 3778//3778 3993//3993\nf 4210//4210 3625//3625 3381//3381\nf 4210//4210 3381//3381 3994//3994\nf 3381//3381 4212//4212 3994//3994\nf 3996//3996 3627//3627 3374//3374\nf 3996//3996 3374//3374 4211//4211\nf 3626//3626 3624//3624 3997//3997\nf 4431//4431 3993//3993 3998//3998\nf 3381//3381 3999//3999 4212//4212\nf 3999//3999 3852//3852 4002//4002\nf 4000//4000 4003//4003 3779//3779\nf 4215//4215 4002//4002 3389//3389\nf 3630//3630 3779//3779 4003//4003\nf 3630//3630 4003//4003 4216//4216\nf 3714//3714 4342//4342 3389//3389\nf 3853//3853 3630//3630 4006//4006\nf 4009//4009 4439//4439 3393//3393\nf 3632//3632 4006//4006 4218//4218\nf 4007//4007 3781//3781 4005//4005\nf 3401//3401 3715//3715 3393//3393\nf 4011//4011 4016//4016 3632//3632\nf 3393//3393 4015//4015 4441//4441\nf 4015//4015 3715//3715 3406//3406\nf 4017//4017 3398//3398 4016//4016\nf 3404//3404 4019//4019 3634//3634\nf 4346//4346 3403//3403 4017//4017\nf 4020//4020 3716//3716 3403//3403\nf 3635//3635 4221//4221 3410//3410\nf 3415//3415 3716//3716 4223//4223\nf 4225//4225 3417//3417 4022//4022\nf 4227//4227 3418//3418 3785//3785\nf 3415//3415 4025//4025 3639//3639\nf 4228//4228 4021//4021 3638//3638\nf 3424//3424 4229//4229 4024//4024\nf 4230//4230 3786//3786 3418//3418\nf 4229//4229 3424//3424 3855//3855\nf 3855//3855 3429//3429 4027//4027\nf 4027//4027 3429//3429 4231//4231\nf 4232//4232 3787//3787 3717//3717\nf 3432//3432 3427//3427 4029//4029\nf 3437//3437 3789//3789 4032//4032\nf 3720//3720 4035//4035 4037//4037\nf 4039//4039 3645//3645 4237//4237\nf 4236//4236 3436//3436 3439//3439\nf 3647//3647 4237//4237 4238//4238\nf 3646//3646 4042//4042 3439//3439\nf 4042//4042 4236//4236 3439//3439\nf 3647//3647 4239//4239 4043//4043\nf 4040//4040 4045//4045 3442//3442\nf 4047//4047 4042//4042 3646//3646\nf 4458//4458 4241//4241 3448//3448\nf 3721//3721 4243//4243 3448//3448\nf 4242//4242 4240//4240 4244//4244\nf 4049//4049 4051//4051 4246//4246\nf 4242//4242 4244//4244 4245//4245\nf 4049//4049 4246//4246 4245//4245\nf 4242//4242 4245//4245 4246//4246\nf 4247//4247 4051//4051 4248//4248\nf 3446//3446 3450//3450 4250//4250\nf 4240//4240 4249//4249 4244//4244\nf 4244//4244 4049//4049 4245//4245\nf 4247//4247 4246//4246 4051//4051\nf 4251//4251 4244//4244 4249//4249\nf 4049//4049 4244//4244 4251//4251\nf 4052//4052 4252//4252 4051//4051\nf 3859//3859 4251//4251 4249//4249\nf 4052//4052 4051//4051 3860//3860\nf 3860//3860 4252//4252 4052//4052\nf 4254//4254 4252//4252 3860//3860\nf 4249//4249 4253//4253 3859//3859\nf 4253//4253 4055//4055 3859//3859\nf 4254//4254 3860//3860 4054//4054\nf 3863//3863 4255//4255 4256//4256\nf 3794//3794 4055//4055 3863//3863\nf 4359//4359 4254//4254 3862//3862\nf 3863//3863 4055//4055 4253//4253\nf 4257//4257 3456//3456 4056//4056\nf 4259//4259 4359//4359 4057//4057\nf 3651//3651 3456//3456 4257//4257\nf 4259//4259 4057//4057 3797//3797\nf 3797//3797 4260//4260 4259//4259\nf 4257//4257 4060//4060 3651//3651\nf 4258//4258 3792//3792 4059//4059\nf 4261//4261 4260//4260 3797//3797\nf 4362//4362 4058//4058 4262//4262\nf 4060//4060 4062//4062 3651//3651\nf 4260//4260 4261//4261 3800//3800\nf 4062//4062 3460//3460 3459//3459\nf 4058//4058 4362//4362 4063//4063\nf 3459//3459 3460//3460 4064//4064\nf 3459//3459 4064//4064 3460//3460\nf 4063//4063 4362//4362 3866//3866\nf 3800//3800 4265//4265 4264//4264\nf 3460//3460 4062//4062 4064//4064\nf 3461//3461 3865//3865 4263//4263\nf 3800//3800 4066//4066 4265//4265\nf 4067//4067 4263//4263 3865//3865\nf 4473//4473 4267//4267 4066//4066\nf 4271//4271 4068//4068 3475//3475\nf 4269//4269 4066//4066 3867//3867\nf 3472//3472 3801//3801 4270//4270\nf 3868//3868 3805//3805 4069//4069\nf 3483//3483 4271//4271 4071//4071\nf 3483//3483 3480//3480 4271//4271\nf 4271//4271 3480//3480 4068//4068\nf 4270//4270 3803//3803 3472//3472\nf 4474//4474 4275//4275 3803//3803\nf 4072//4072 3479//3479 4273//4273\nf 3479//3479 4074//4074 4273//4273\nf 4073//4073 4274//4274 4276//4276\nf 3659//3659 4275//4275 4076//4076\nf 4075//4075 4073//4073 4276//4276\nf 3869//3869 4075//4075 4276//4276\nf 4277//4277 3806//3806 4369//4369\nf 3485//3485 4078//4078 4077//4077\nf 4278//4278 4369//4369 4079//4079\nf 4276//4276 4080//4080 3869//3869\nf 3809//3809 4081//4081 4078//4078\nf 4080//4080 4276//4276 4370//4370\nf 3490//3490 4082//4082 3810//3810\nf 3812//3812 4084//4084 4080//4080\nf 3663//3663 3666//3666 4079//4079\nf 3666//3666 4279//4279 4079//4079\nf 4083//4083 4371//4371 3667//3667\nf 3815//3815 3812//3812 4280//4280\nf 3815//3815 4280//4280 4372//4372\nf 3666//3666 3670//3670 4088//4088\nf 3813//3813 3667//3667 4282//4282\nf 3813//3813 4282//4282 4089//4089\nf 4283//4283 3814//3814 3671//3671\nf 3670//3670 4091//4091 4373//4373\nf 4286//4286 3871//3871 3508//3508\nf 3508//3508 3871//3871 3510//3510\nf 3870//3870 4090//4090 4285//4285\nf 4284//4284 4285//4285 4090//4090\nf 3871//3871 3510//3510 4374//4374\nf 4092//4092 4093//4093 3671//3671\nf 4092//4092 3671//3671 4093//4093\nf 4285//4285 4094//4094 3870//3870\nf 4093//4093 3672//3672 4288//4288\nf 3872//3872 4094//4094 4289//4289\nf 3872//3872 3870//3870 4094//4094\nf 3513//3513 4099//4099 4091//4091\nf 4375//4375 4287//4287 4099//4099\nf 4091//4091 4099//4099 4287//4287\nf 3513//3513 3519//3519 4099//4099\nf 3817//3817 3516//3516 4097//4097\nf 4377//4377 4378//4378 4098//4098\nf 4377//4377 4098//4098 3818//3818\nf 3520//3520 3678//3678 4101//4101\nf 3522//3522 3521//3521 4102//4102\nf 4104//4104 3872//3872 4291//4291\nf 3522//3522 4292//4292 3679//3679\nf 3873//3873 4106//4106 4105//4105\nf 3873//3873 4105//4105 4106//4106\nf 3873//3873 4105//4105 4294//4294\nf 3530//3530 4294//4294 3532//3532\nf 3873//3873 4294//4294 3530//3530\nf 4109//4109 3524//3524 3528//3528\nf 4296//4296 4297//4297 4111//4111\nf 4110//4110 3533//3533 4112//4112\nf 3822//3822 3874//3874 3683//3683\nf 4112//4112 3535//3535 4113//4113\nf 3874//3874 3684//3684 4382//4382\nf 4383//4383 3823//3823 3874//3874\nf 4383//4383 4298//4298 3823//3823\nf 4298//4298 4384//4384 3823//3823\nf 3823//3823 4384//4384 4298//4298\nf 3823//3823 4299//4299 4115//4115\nf 3823//3823 4298//4298 4299//4299\nf 4116//4116 3536//3536 3539//3539\nf 4115//4115 4299//4299 4118//4118\nf 4118//4118 4301//4301 4119//4119\nf 4118//4118 4300//4300 4301//4301\nf 4302//4302 3824//3824 4119//4119\nf 4301//4301 4302//4302 4119//4119\nf 3547//3547 3548//3548 4122//4122\nf 3546//3546 4123//4123 4124//4124\nf 3549//3549 3551//3551 4125//4125\nf 3549//3549 4125//4125 3548//3548\nf 3554//3554 4129//4129 4132//4132\nf 4131//4131 3827//3827 4304//4304\nf 3827//3827 4132//4132 4304//4304\nf 3875//3875 4306//4306 4305//4305\nf 4386//4386 3875//3875 4305//4305\nf 4306//4306 3875//3875 3830//3830\nf 3830//3830 4133//4133 4306//4306\nf 4135//4135 4307//4307 4308//4308\nf 4135//4135 4308//4308 4136//4136\nf 3876//3876 4136//4136 3877//3877\nf 4136//4136 4309//4309 3877//3877\nf 3564//3564 3565//3565 4139//4139\nf 4140//4140 3831//3831 4311//4311\nf 4139//4139 3565//3565 3833//3833\nf 3832//3832 3687//3687 4140//4140\nf 3567//3567 4313//4313 3833//3833\nf 3834//3834 4314//4314 3567//3567\nf 4144//4144 3835//3835 3573//3573\nf 4145//4145 4315//4315 3574//3574\nf 3574//3574 4315//4315 4314//4314\nf 3576//3576 3574//3574 4314//4314\nf 4314//4314 3834//3834 3576//3576\nf 3882//3882 3736//3736 4316//4316\nf 3879//3879 4317//4317 3878//3878\nf 3879//3879 3880//3880 4317//4317\nf 3883//3883 4317//4317 3880//3880\nf 3883//3883 3223//3223 4146//4146\nf 4147//4147 4146//4146 3223//3223\nf 3228//3228 3885//3885 3886//3886\nf 4148//4148 4147//4147 3690//3690\nf 4148//4148 3690//3690 4149//4149\nf 4149//4149 3690//3690 4151//4151\nf 3737//3737 3887//3887 4150//4150\nf 3738//3738 4318//4318 3893//3893\nf 3739//3739 4153//4153 4318//4318\nf 3890//3890 4154//4154 3238//3238\nf 3235//3235 3897//3897 4319//4319\nf 3838//3838 4156//4156 4153//4153\nf 3900//3900 4395//4395 4534//4534\nf 3241//3241 3902//3902 4155//4155\nf 3241//3241 3242//3242 3902//3902\nf 3902//3902 3242//3242 3247//3247\nf 4157//4157 4321//4321 4320//4320\nf 4157//4157 4320//4320 3910//3910\nf 3917//3917 3907//3907 3582//3582\nf 4159//4159 3745//3745 4161//4161\nf 4398//4398 4161//4161 4322//4322\nf 3918//3918 3251//3251 3915//3915\nf 3918//3918 3255//3255 3251//3251\nf 4161//4161 3922//3922 4322//4322\nf 3925//3925 4322//4322 3922//3922\nf 3923//3923 4401//4401 4164//4164\nf 3747//3747 4163//4163 4165//4165\nf 4162//4162 3266//3266 4164//4164\nf 3585//3585 3926//3926 4166//4166\nf 3747//3747 4165//4165 4168//4168\nf 4324//4324 3927//3927 3698//3698\nf 4403//4403 4167//4167 3929//3929\nf 4167//4167 3270//3270 3929//3929\nf 4169//4169 3271//3271 3930//3930\nf 3946//3946 3947//3947 3294//3294\nf 3753//3753 3948//3948 3943//3943\nf 3955//3955 3302//3302 3946//3946\nf 3754//3754 4326//4326 4174//4174\nf 3754//3754 3759//3759 4326//4326\nf 3757//3757 4179//4179 4411//4411\nf 3962//3962 3959//3959 4181//4181\nf 4327//4327 3848//3848 3967//3967\nf 3966//3966 3320//3320 3962//3962\nf 3709//3709 4186//4186 3967//3967\nf 4187//4187 3321//3321 3966//3966\nf 3336//3336 3321//3321 4187//4187\nf 4415//4415 4329//4329 4188//4188\nf 3973//3973 3968//3968 3331//3331\nf 4188//4188 3963//3963 3968//3968\nf 3971//3971 4184//4184 4331//4331\nf 4331//4331 4192//4192 3971//3971\nf 3763//3763 3971//3971 4192//4192\nf 4330//4330 3616//3616 3972//3972\nf 4194//4194 3616//3616 4330//4330\nf 4193//4193 4192//4192 4421//4421\nf 4191//4191 3333//3333 3341//3341\nf 3973//3973 3337//3337 3975//3975\nf 4198//4198 3974//3974 3976//3976\nf 3975//3975 3337//3337 3342//3342\nf 3768//3768 3338//3338 4196//4196\nf 3765//3765 4194//4194 3977//3977\nf 4198//4198 3770//3770 4199//4199\nf 3768//3768 4196//4196 4200//4200\nf 3975//3975 3342//3342 4201//4201\nf 3978//3978 3347//3347 3979//3979\nf 3767//3767 4332//4332 4203//4203\nf 3977//3977 3980//3980 3769//3769\nf 4423//4423 3770//3770 3358//3358\nf 3771//3771 4200//4200 4333//4333\nf 4206//4206 3771//3771 4333//4333\nf 3352//3352 3356//3356 4334//4334\nf 3772//3772 3983//3983 4335//4335\nf 4207//4207 3772//3772 4335//4335\nf 3988//3988 4205//4205 3776//3776\nf 4338//4338 3851//3851 4336//4336\nf 4340//4340 3987//3987 4207//4207\nf 4339//4339 4337//4337 3775//3775\nf 4338//4338 3989//3989 4336//4336\nf 4338//4338 3989//3989 3777//3777\nf 3624//3624 3987//3987 4340//4340\nf 3367//3367 3989//3989 4430//4430\nf 3368//3368 3991//3991 3990//3990\nf 3367//3367 3777//3777 3989//3989\nf 3994//3994 4212//4212 4210//4210\nf 4434//4434 3991//3991 3623//3623\nf 3997//3997 3992//3992 4340//4340\nf 3995//3995 3992//3992 3997//3997\nf 3624//3624 3995//3995 3997//3997\nf 4431//4431 3998//3998 4214//4214\nf 3997//3997 4436//4436 3779//3779\nf 4214//4214 3998//3998 3780//3780\nf 3382//3382 3377//3377 3627//3627\nf 4001//4001 3382//3382 4213//4213\nf 4000//4000 3779//3779 4436//4436\nf 4437//4437 4341//4341 4004//4004\nf 4341//4341 3780//3780 3387//3387\nf 3713//3713 4001//4001 4217//4217\nf 4341//4341 3387//3387 4004//4004\nf 4216//4216 4003//4003 3630//3630\nf 4003//4003 4438//4438 3630//3630\nf 3713//3713 4217//4217 4005//4005\nf 4439//4439 4004//4004 3782//3782\nf 4439//4439 3782//3782 3393//3393\nf 3397//3397 4007//4007 4343//4343\nf 3397//3397 4007//4007 4343//4343\nf 4219//4219 4008//4008 3399//3399\nf 4011//4011 3632//3632 4218//4218\nf 4219//4219 3399//3399 4012//4012\nf 4014//4014 4219//4219 4012//4012\nf 3393//3393 3715//3715 4015//4015\nf 4013//4013 4010//4010 4344//4344\nf 3400//3400 4345//4345 4018//4018\nf 4220//4220 3406//3406 3784//3784\nf 4220//4220 3784//3784 4444//4444\nf 4221//4221 3635//3635 4018//4018\nf 3417//3417 4225//4225 4347//4347\nf 3637//3637 3414//3414 4226//4226\nf 4223//4223 3716//3716 4020//4020\nf 4021//4021 4228//4228 4447//4447\nf 4228//4228 3787//3787 4026//4026\nf 4228//4228 3854//3854 3787//3787\nf 4028//4028 3788//3788 4025//4025\nf 4028//4028 4449//4449 4030//4030\nf 4031//4031 4027//4027 4231//4231\nf 4026//4026 3787//3787 4232//4232\nf 4031//4031 4231//4231 3856//3856\nf 4232//4232 3717//3717 3434//3434\nf 4233//4233 3432//3432 4029//4029\nf 4234//4234 4232//4232 3434//3434\nf 4034//4034 4033//4033 3718//3718\nf 4035//4035 3432//3432 4233//4233\nf 4451//4451 3437//3437 4032//4032\nf 3718//3718 4237//4237 4452//4452\nf 4040//4040 3719//3719 4038//4038\nf 4237//4237 3647//3647 4453//4453\nf 4454//4454 4236//4236 4042//4042\nf 3790//3790 3444//3444 3448//3448\nf 4239//4239 3790//3790 3448//3448\nf 4349//4349 4351//4351 4353//4353\nf 4350//4350 4349//4349 4354//4354\nf 4241//4241 4458//4458 4243//4243\nf 4349//4349 4353//4353 4354//4354\nf 4242//4242 4350//4350 4240//4240\nf 4458//4458 3448//3448 4241//4241\nf 4458//4458 3448//3448 4243//4243\nf 4459//4459 4048//4048 4352//4352\nf 4048//4048 3650//3650 4352//4352\nf 4044//4044 4352//4352 3650//3650\nf 4044//4044 3650//3650 4352//4352\nf 4354//4354 4240//4240 4350//4350\nf 4242//4242 4246//4246 4247//4247\nf 3446//3446 4250//4250 4047//4047\nf 4051//4051 4252//4252 4248//4248\nf 3450//3450 4356//4356 4250//4250\nf 4355//4355 4354//4354 4353//4353\nf 4249//4249 4240//4240 4354//4354\nf 4249//4249 4354//4354 4355//4355\nf 4355//4355 4253//4253 4249//4249\nf 4358//4358 4356//4356 3450//3450\nf 4253//4253 4355//4355 4255//4255\nf 4355//4355 4357//4357 4255//4255\nf 4358//4358 3450//3450 3454//3454\nf 3863//3863 4253//4253 4255//4255\nf 4254//4254 4054//4054 3862//3862\nf 4056//4056 4053//4053 4360//4360\nf 3863//3863 4256//4256 4255//4255\nf 4256//4256 3863//3863 4255//4255\nf 4057//4057 4359//4359 3862//3862\nf 4056//4056 3455//3455 4053//4053\nf 4257//4257 4056//4056 4360//4360\nf 4259//4259 4260//4260 4468//4468\nf 4058//4058 4256//4256 4262//4262\nf 4256//4256 4361//4361 4262//4262\nf 4362//4362 4262//4262 4361//4361\nf 3458//3458 3461//3461 4061//4061\nf 3866//3866 4362//4362 4266//4266\nf 4065//4065 4064//4064 4472//4472\nf 4265//4265 4066//4066 4264//4264\nf 4066//4066 4267//4267 4264//4264\nf 4067//4067 3655//3655 3802//3802\nf 4270//4270 3467//3467 4268//4268\nf 4473//4473 4267//4267 4066//4066\nf 4269//4269 3867//3867 4363//4363\nf 3868//3868 4365//4365 4073//4073\nf 3868//3868 4272//4272 4365//4365\nf 3867//3867 3804//3804 4366//4366\nf 4270//4270 4275//4275 3803//3803\nf 4474//4474 3803//3803 4275//4275\nf 4276//4276 4274//4274 4367//4367\nf 4475//4475 4367//4367 4274//4274\nf 4074//4074 3479//3479 4077//4077\nf 4518//4518 4366//4366 4369//4369\nf 3806//3806 4079//4079 4369//4369\nf 4478//4478 3490//3490 4076//4076\nf 4478//4478 4082//4082 3490//3490\nf 4081//4081 3811//3811 4086//4086\nf 4090//4090 3815//3815 4372//4372\nf 4281//4281 4282//4282 3667//3667\nf 4373//4373 4279//4279 4088//4088\nf 4279//4279 4085//4085 4088//4088\nf 4090//4090 4372//4372 4284//4284\nf 4286//4286 3508//3508 4089//4089\nf 4088//4088 3670//3670 4373//4373\nf 4285//4285 4284//4284 4094//4094\nf 3871//3871 4374//4374 4095//4095\nf 3672//3672 3515//3515 4485//4485\nf 4290//4290 3515//3515 4098//4098\nf 3872//3872 4289//4289 4291//4291\nf 3679//3679 4488//4488 3732//3732\nf 4488//4488 4377//4377 3732//3732\nf 4375//4375 4099//4099 3519//3519\nf 3519//3519 4103//4103 4379//4379\nf 3519//3519 4379//4379 4375//4375\nf 4292//4292 4293//4293 3679//3679\nf 3679//3679 4293//4293 4489//4489\nf 3523//3523 4107//4107 4103//4103\nf 4380//4380 4108//4108 3532//3532\nf 4380//4380 3532//3532 4294//4294\nf 3524//3524 4109//4109 4107//4107\nf 4295//4295 4297//4297 4296//4296\nf 4111//4111 4297//4297 4381//4381\nf 4110//4110 4109//4109 3528//3528\nf 3822//3822 4111//4111 4382//4382\nf 3874//3874 3822//3822 4382//4382\nf 4110//4110 4112//4112 4113//4113\nf 4383//4383 3874//3874 4382//4382\nf 4113//4113 3535//3535 4114//4114\nf 4384//4384 4300//4300 4299//4299\nf 4298//4298 4384//4384 4299//4299\nf 4118//4118 4299//4299 4300//4300\nf 3541//3541 4117//4117 4116//4116\nf 4385//4385 3824//3824 4302//4302\nf 4121//4121 3824//3824 4385//4385\nf 4123//4123 3546//3546 4121//4121\nf 4303//4303 3548//3548 4497//4497\nf 3548//3548 4125//4125 4497//4497\nf 3553//3553 4130//4130 4127//4127\nf 4135//4135 4386//4386 4307//4307\nf 4135//4135 3875//3875 4386//4386\nf 4306//4306 4387//4387 4305//4305\nf 4306//4306 4133//4133 4387//4387\nf 4134//4134 4133//4133 3828//3828\nf 4500//4500 3561//3561 4501//4501\nf 4308//4308 4307//4307 4389//4389\nf 4308//4308 4309//4309 4136//4136\nf 4310//4310 3877//3877 4309//4309\nf 4315//4315 4313//4313 4314//4314\nf 4314//4314 4313//4313 3567//3567\nf 3572//3572 4142//4142 4143//4143\nf 3736//3736 3689//3689 4316//4316\nf 4316//4316 3689//3689 3878//3878\nf 4317//4317 4316//4316 3878//3878\nf 3226//3226 3884//3884 3885//3885\nf 3883//3883 4146//4146 4147//4147\nf 3229//3229 3228//3228 3887//3887\nf 3228//3228 4150//4150 3887//3887\nf 4150//4150 3228//3228 3886//3886\nf 3890//3890 3233//3233 3891//3891\nf 3891//3891 3577//3577 3235//3235\nf 3231//3231 3692//3692 3892//3892\nf 3692//3692 4152//4152 3892//3892\nf 3889//3889 4391//4391 3888//3888\nf 3891//3891 3235//3235 4319//4319\nf 4153//4153 4392//4392 4390//4390\nf 3901//3901 3696//3696 3888//3888\nf 3897//3897 3239//3239 4155//4155\nf 3895//3895 3899//3899 4151//4151\nf 4394//4394 3898//3898 3892//3892\nf 4533//4533 4320//4320 4647//4647\nf 4656//4656 3904//3904 3898//3898\nf 3247//3247 4396//4396 3902//3902\nf 4399//4399 3903//3903 3244//3244\nf 4158//4158 4159//4159 4161//4161\nf 4398//4398 4158//4158 4161//4161\nf 3914//3914 3906//3906 3254//3254\nf 4322//4322 4400//4400 4398//4398\nf 3257//3257 3911//3911 3919//3919\nf 4323//4323 4392//4392 4156//4156\nf 3913//3913 3901//3901 4391//4391\nf 3916//3916 3249//3249 3903//3903\nf 3916//3916 3903//3903 4399//4399\nf 3839//3839 4160//4160 4163//4163\nf 4323//4323 4156//4156 3912//3912\nf 4162//4162 4537//4537 3925//3925\nf 3923//3923 3257//3257 3919//3919\nf 3920//3920 3741//3741 3913//3913\nf 4401//4401 4162//4162 4164//4164\nf 4323//4323 3912//3912 4166//4166\nf 3698//3698 3920//3920 4402//4402\nf 3698//3698 4402//4402 4324//4324\nf 3929//3929 4167//4167 4403//4403\nf 4166//4166 3926//3926 4169//4169\nf 4404//4404 3929//3929 4170//4170\nf 3929//3929 3275//3275 4170//4170\nf 4170//4170 3275//3275 4404//4404\nf 4404//4404 3750//3750 4173//4173\nf 3275//3275 3750//3750 4404//4404\nf 3277//3277 4172//4172 4405//4405\nf 3277//3277 4405//4405 3701//3701\nf 3701//3701 4405//4405 3937//3937\nf 3937//3937 4405//4405 3938//3938\nf 4406//4406 3938//3938 4405//4405\nf 4173//4173 3943//3943 4404//4404\nf 4406//4406 3285//3285 3938//3938\nf 3285//3285 4406//4406 3939//3939\nf 4408//4408 3939//3939 4406//4406\nf 3939//3939 4408//4408 3940//3940\nf 3940//3940 4408//4408 4409//4409\nf 3940//3940 4409//4409 3941//3941\nf 3944//3944 3947//3947 3946//3946\nf 3951//3951 4410//4410 3948//3948\nf 4325//4325 3950//3950 3954//3954\nf 3954//3954 3757//3757 4411//4411\nf 3603//3603 3956//3956 4177//4177\nf 4326//4326 3759//3759 3957//3957\nf 3959//3959 3309//3309 4176//4176\nf 3957//3957 3705//3705 4180//4180\nf 4179//4179 3958//3958 3311//3311\nf 3961//3961 4179//4179 3311//3311\nf 4328//4328 3962//3962 4181//4181\nf 4189//4189 4183//4183 3960//3960\nf 3962//3962 4328//4328 3966//3966\nf 4185//4185 3961//3961 3316//3316\nf 4415//4415 4184//4184 4329//4329\nf 4184//4184 4415//4415 4331//4331\nf 3973//3973 4416//4416 3968//3968\nf 4417//4417 4188//4188 3968//3968\nf 3764//3764 3974//3974 4186//4186\nf 3970//3970 3333//3333 4191//4191\nf 4417//4417 3968//3968 4416//4416\nf 4415//4415 4188//4188 4417//4417\nf 3975//3975 4420//4420 3973//3973\nf 3974//3974 4198//4198 4419//4419\nf 4195//4195 4193//4193 4421//4421\nf 4422//4422 3341//3341 3978//3978\nf 4191//4191 3341//3341 4422//4422\nf 3770//3770 4423//4423 4199//4199\nf 4423//4423 3358//3358 4204//4204\nf 4424//4424 4201//4201 3346//3346\nf 3352//3352 4334//4334 4202//4202\nf 4425//4425 3983//3983 4203//4203\nf 4429//4429 4206//4206 4333//4333\nf 3355//3355 3980//3980 4428//4428\nf 4336//4336 3355//3355 4428//4428\nf 4334//4334 3356//3356 3984//3984\nf 3988//3988 4204//4204 4205//4205\nf 3981//3981 3775//3775 4426//4426\nf 3775//3775 4337//4337 4426//4426\nf 4211//4211 3361//3361 4206//4206\nf 3985//3985 3986//3986 4208//4208\nf 4509//4509 4337//4337 4339//4339\nf 4211//4211 4206//4206 4687//4687\nf 4509//4509 4339//4339 4210//4210\nf 4339//4339 3625//3625 4210//4210\nf 4340//4340 3992//3992 3624//3624\nf 4431//4431 4209//4209 3993//3993\nf 3367//3367 4430//4430 4433//4433\nf 3623//3623 3375//3375 4433//4433\nf 4434//4434 3623//3623 4433//4433\nf 3993//3993 3379//3379 3998//3998\nf 3779//3779 3626//3626 3997//3997\nf 4212//4212 3999//3999 4435//4435\nf 3999//3999 4002//4002 4435//4435\nf 4437//4437 4214//4214 3780//3780\nf 3780//3780 4341//4341 4437//4437\nf 4215//4215 3389//3389 4342//4342\nf 3630//3630 4438//4438 4006//4006\nf 4217//4217 4440//4440 4005//4005\nf 4441//4441 4439//4439 4009//4009\nf 4007//4007 4005//4005 4343//4343\nf 4219//4219 4442//4442 4008//4008\nf 4010//4010 3397//3397 4343//4343\nf 4441//4441 4009//4009 3393//3393\nf 4016//4016 4011//4011 4218//4218\nf 4345//4345 3400//3400 4013//4013\nf 4345//4345 4013//4013 4344//4344\nf 4346//4346 4017//4017 4016//4016\nf 4015//4015 3406//3406 4220//4220\nf 4014//4014 3634//3634 4019//4019\nf 3637//3637 4222//4222 4019//4019\nf 4444//4444 3784//3784 4347//4347\nf 3417//3417 4347//4347 3784//3784\nf 4347//4347 4225//4225 4022//4022\nf 4222//4222 4446//4446 3637//3637\nf 4446//4446 4222//4222 4226//4226\nf 4227//4227 3785//3785 4224//4224\nf 4448//4448 4025//4025 4223//4223\nf 4025//4025 3415//3415 4223//4223\nf 4024//4024 4022//4022 3421//3421\nf 4027//4027 4229//4229 3855//3855\nf 4348//4348 3786//3786 4230//4230\nf 4029//4029 3786//3786 4348//4348\nf 4035//4035 4233//4233 4037//4037\nf 4234//4234 4036//4036 4450//4450\nf 4235//4235 3437//3437 4451//4451\nf 4036//4036 3436//3436 4450//4450\nf 4235//4235 4451//4451 4038//4038\nf 3720//3720 4037//4037 4041//4041\nf 3436//3436 4236//4236 4450//4450\nf 4456//4456 4455//4455 4350//4350\nf 4455//4455 4349//4349 4350//4350\nf 3443//3443 4041//4041 4044//4044\nf 4352//4352 3650//3650 4046//4046\nf 4457//4457 4350//4350 4242//4242\nf 4046//4046 4044//4044 4352//4352\nf 4351//4351 4512//4512 4461//4461\nf 4514//4514 4457//4457 4242//4242\nf 4514//4514 4247//4247 4460//4460\nf 4248//4248 4460//4460 4247//4247\nf 4247//4247 4514//4514 4242//4242\nf 4353//4353 4461//4461 4462//4462\nf 4250//4250 4356//4356 4047//4047\nf 4357//4357 4353//4353 4462//4462\nf 4355//4355 4353//4353 4357//4357\nf 3648//3648 4045//4045 4050//4050\nf 4356//4356 4463//4463 4047//4047\nf 4252//4252 4254//4254 4464//4464\nf 4357//4357 4462//4462 4255//4255\nf 4255//4255 4462//4462 4465//4465\nf 4466//4466 4358//4358 3454//3454\nf 4466//4466 3454//3454 3792//3792\nf 4465//4465 4467//4467 4256//4256\nf 4465//4465 4256//4256 4255//4255\nf 4258//4258 4059//4059 4061//4061\nf 3800//3800 4470//4470 4260//4260\nf 3800//3800 4264//4264 4470//4470\nf 4061//4061 3461//3461 4471//4471\nf 3461//3461 4263//4263 4471//4471\nf 4062//4062 4472//4472 4064//4064\nf 4064//4064 4472//4472 4062//4062\nf 4267//4267 4473//4473 4264//4264\nf 4472//4472 3467//3467 4065//4065\nf 4268//4268 3467//3467 4472//4472\nf 4066//4066 4267//4267 4473//4473\nf 3475//3475 3866//3866 4266//4266\nf 4270//4270 4268//4268 4472//4472\nf 3475//3475 4266//4266 4271//4271\nf 4066//4066 4269//4269 4473//4473\nf 4269//4269 4363//4363 4473//4473\nf 3802//3802 4364//4364 4067//4067\nf 4070//4070 4272//4272 4069//4069\nf 4073//4073 4365//4365 4274//4274\nf 4474//4474 4275//4275 4270//4270\nf 4368//4368 4273//4273 4074//4074\nf 4476//4476 4076//4076 4275//4275\nf 4368//4368 4074//4074 4077//4077\nf 4368//4368 4077//4077 4078//4078\nf 4078//4078 4479//4479 4368//4368\nf 4370//4370 4276//4276 4477//4477\nf 4479//4479 4078//4078 4081//4081\nf 3810//3810 4082//4082 4480//4480\nf 4280//4280 4080//4080 4370//4370\nf 4280//4280 3812//3812 4080//4080\nf 4083//4083 3810//3810 4480//4480\nf 4081//4081 4086//4086 4481//4481\nf 3667//3667 4371//4371 4281//4281\nf 4284//4284 4280//4280 4482//4482\nf 4372//4372 4280//4280 4284//4284\nf 3508//3508 3813//3813 4089//4089\nf 4087//4087 3814//3814 4283//4283\nf 4373//4373 4091//4091 4287//4287\nf 3671//3671 4093//4093 4283//4283\nf 4093//4093 4483//4483 4283//4283\nf 4288//4288 3672//3672 4485//4485\nf 4093//4093 4288//4288 4521//4521\nf 4376//4376 3816//3816 4095//4095\nf 4288//4288 4485//4485 4290//4290\nf 4095//4095 4374//4374 4376//4376\nf 4096//4096 3816//3816 4376//4376\nf 3817//3817 4097//4097 4096//4096\nf 4378//4378 4290//4290 4098//4098\nf 4486//4486 3677//3677 3817//3817\nf 3677//3677 4486//4486 4101//4101\nf 4487//4487 4102//4102 3520//3520\nf 3818//3818 3732//3732 4377//4377\nf 4616//4616 4488//4488 4489//4489\nf 4487//4487 3520//3520 4101//4101\nf 4104//4104 4105//4105 3733//3733\nf 4105//4105 4490//4490 4294//4294\nf 4105//4105 4294//4294 4490//4490\nf 4379//4379 4103//4103 4107//4107\nf 4109//4109 4491//4491 4107//4107\nf 4108//4108 4380//4380 3821//3821\nf 4492//4492 4110//4110 4113//4113\nf 4384//4384 4383//4383 4382//4382\nf 4298//4298 4383//4383 4384//4384\nf 4114//4114 3536//3536 4116//4116\nf 4116//4116 4493//4493 4114//4114\nf 4300//4300 4384//4384 4626//4626\nf 4300//4300 4494//4494 4495//4495\nf 4496//4496 4116//4116 4117//4117\nf 4495//4495 4301//4301 4300//4300\nf 4117//4117 3542//3542 4496//4496\nf 4301//4301 4385//4385 4302//4302\nf 4496//4496 4120//4120 4122//4122\nf 4385//4385 4123//4123 4121//4121\nf 4122//4122 3548//3548 4303//4303\nf 4123//4123 4385//4385 4124//4124\nf 4125//4125 3550//3550 4128//4128\nf 3552//3552 4126//4126 4129//4129\nf 4305//4305 4387//4387 4386//4386\nf 4386//4386 4499//4499 4307//4307\nf 4499//4499 4498//4498 4307//4307\nf 4388//4388 4307//4307 4498//4498\nf 4134//4134 3829//3829 4500//4500\nf 4307//4307 4388//4388 4389//4389\nf 4500//4500 3829//3829 3561//3561\nf 4389//4389 4309//4309 4308//4308\nf 4137//4137 3735//3735 4502//4502\nf 4138//4138 4502//4502 3735//3735\nf 4311//4311 3831//3831 4310//4310\nf 4313//4313 4138//4138 4139//4139\nf 4312//4312 3832//3832 4140//4140\nf 4313//4313 4139//4139 3833//3833\nf 3568//3568 4503//4503 4142//4142\nf 4145//4145 4144//4144 4315//4315\nf 4504//4504 3885//3885 3884//3884\nf 4147//4147 4505//4505 3883//3883\nf 4530//4530 4318//4318 4153//4153\nf 3901//3901 3888//3888 4391//4391\nf 4395//4395 3900//3900 3896//3896\nf 4393//4393 4391//4391 3894//3894\nf 4391//4391 3889//3889 3894//3894\nf 4392//4392 4153//4153 4156//4156\nf 4654//4654 3898//3898 4394//4394\nf 4797//4797 4533//4533 4647//4647\nf 4647//4647 4320//4320 4321//4321\nf 4649//4649 4648//4648 4398//4398\nf 4657//4657 3905//3905 3900//3900\nf 3247//3247 3906//3906 4396//4396\nf 3244//3244 3903//3903 4399//4399\nf 4397//4397 4160//4160 3908//3908\nf 3919//3919 3911//3911 3905//3905\nf 3913//3913 4391//4391 3920//3920\nf 3925//3925 4400//4400 4322//4322\nf 4165//4165 4163//4163 4168//4168\nf 4539//4539 3921//3921 3924//3924\nf 4538//4538 4323//4323 4166//4166\nf 4664//4664 4167//4167 3929//3929\nf 4169//4169 4506//4506 4166//4166\nf 4541//4541 4166//4166 4506//4506\nf 3936//3936 3933//3933 3934//3934\nf 3934//3934 4407//4407 4172//4172\nf 3941//3941 4409//4409 4547//4547\nf 4545//4545 4404//4404 3943//3943\nf 3930//3930 3932//3932 3935//3935\nf 3933//3933 4407//4407 3934//3934\nf 3943//3943 3948//3948 4410//4410\nf 3952//3952 3949//3949 3942//3942\nf 3951//3951 4174//4174 4326//4326\nf 4181//4181 3959//3959 4176//4176\nf 4178//4178 4177//4177 4182//4182\nf 3844//3844 4178//4178 4182//4182\nf 4180//4180 4327//4327 4413//4413\nf 3961//3961 4414//4414 4179//4179\nf 4556//4556 4189//4189 3960//3960\nf 3967//3967 4186//4186 4327//4327\nf 3975//3975 3973//3973 4420//4420\nf 3975//3975 4201//4201 4559//4559\nf 4199//4199 4508//4508 4198//4198\nf 4199//4199 4423//4423 4508//4508\nf 4681//4681 4201//4201 4424//4424\nf 4424//4424 3346//3346 4202//4202\nf 4336//4336 3980//3980 4428//4428\nf 3988//3988 4427//4427 4204//4204\nf 4336//4336 3851//3851 3355//3355\nf 3989//3989 4338//4338 4336//4336\nf 4207//4207 4564//4564 4340//4340\nf 4206//4206 4686//4686 4687//4687\nf 3990//3990 3991//3991 4434//4434\nf 3375//3375 3367//3367 4433//4433\nf 4211//4211 4432//4432 3996//3996\nf 4213//4213 3627//3627 3996//3996\nf 4342//4342 4002//4002 4215//4215\nf 4571//4571 4018//4018 4344//4344\nf 4018//4018 4869//4869 4871//4871\nf 4224//4224 3410//3410 4221//4221\nf 4446//4446 4222//4222 3637//3637\nf 4347//4347 4022//4022 4510//4510\nf 4447//4447 4446//4446 4226//4226\nf 4226//4226 4021//4021 4447//4447\nf 4230//4230 3418//3418 4227//4227\nf 3433//3433 4033//4033 4031//4031\nf 4033//4033 4577//4577 4031//4031\nf 4033//4033 4034//4034 4452//4452\nf 4034//4034 3718//3718 4452//4452\nf 3718//3718 4039//4039 4237//4237\nf 4580//4580 4513//4513 4351//4351\nf 3647//3647 4043//4043 4453//4453\nf 4457//4457 4456//4456 4350//4350\nf 4513//4513 4512//4512 4351//4351\nf 4239//4239 3448//3448 4458//4458\nf 4352//4352 4044//4044 4459//4459\nf 4351//4351 4461//4461 4353//4353\nf 4585//4585 4458//4458 4241//4241\nf 4459//4459 4243//4243 4048//4048\nf 4586//4586 4040//4040 4892//4892\nf 4243//4243 3721//3721 4048//4048\nf 4462//4462 4461//4461 4584//4584\nf 4248//4248 4252//4252 4464//4464\nf 4587//4587 4248//4248 4464//4464\nf 4356//4356 4466//4466 4463//4463\nf 4356//4356 4358//4358 4466//4466\nf 3792//3792 4258//4258 4466//4466\nf 4359//4359 4259//4259 4468//4468\nf 4060//4060 4257//4257 4360//4360\nf 4595//4595 4258//4258 4061//4061\nf 4256//4256 4467//4467 4361//4361\nf 4361//4361 4516//4516 4362//4362\nf 4264//4264 4473//4473 4597//4597\nf 4471//4471 4263//4263 4067//4067\nf 4598//4598 4471//4471 4067//4067\nf 4362//4362 4517//4517 4266//4266\nf 4271//4271 4266//4266 4071//4071\nf 4273//4273 4364//4364 3802//3802\nf 4274//4274 4365//4365 4475//4475\nf 4601//4601 4475//4475 4365//4365\nf 4363//4363 3867//3867 4366//4366\nf 4363//4363 4366//4366 4518//4518\nf 4366//4366 3804//3804 4277//4277\nf 4366//4366 4277//4277 4369//4369\nf 3804//3804 3806//3806 4277//4277\nf 4273//4273 4368//4368 4607//4607\nf 4276//4276 4367//4367 4477//4477\nf 4370//4370 4477//4477 4482//4482\nf 4482//4482 4280//4280 4370//4370\nf 4079//4079 4279//4279 4278//4278\nf 4081//4081 4481//4481 4086//4086\nf 4371//4371 4083//4083 4480//4480\nf 4086//4086 3503//3503 4087//4087\nf 4371//4371 4282//4282 4281//4281\nf 4094//4094 4284//4284 4484//4484\nf 4521//4521 4288//4288 4290//4290\nf 4375//4375 4520//4520 4287//4287\nf 4485//4485 3515//3515 4290//4290\nf 4100//4100 3817//3817 4096//4096\nf 4291//4291 4105//4105 4104//4104\nf 4292//4292 3522//3522 4102//4102\nf 4489//4489 4293//4293 4292//4292\nf 4488//4488 3679//3679 4489//4489\nf 4294//4294 4105//4105 4490//4490\nf 4294//4294 4490//4490 4380//4380\nf 4491//4491 4379//4379 4107//4107\nf 4620//4620 4295//4295 3821//3821\nf 4620//4620 3821//3821 4295//4295\nf 3821//3821 4380//4380 4295//4295\nf 4494//4494 4301//4301 4495//4495\nf 4495//4495 4301//4301 4494//4494\nf 4496//4496 3542//3542 4120//4120\nf 4122//4122 4303//4303 4497//4497\nf 4385//4385 4632//4632 4124//4124\nf 4633//4633 4129//4129 4126//4126\nf 4130//4130 4634//4634 4127//4127\nf 4634//4634 4128//4128 4127//4127\nf 4499//4499 4386//4386 4782//4782\nf 4524//4524 4388//4388 4498//4498\nf 4524//4524 4525//4525 4388//4388\nf 4635//4635 4389//4389 4525//4525\nf 4389//4389 4388//4388 4525//4525\nf 3561//3561 4137//4137 4501//4501\nf 4636//4636 4309//4309 4389//4389\nf 4138//4138 4137//4137 4502//4502\nf 4140//4140 4311//4311 4310//4310\nf 4313//4313 4526//4526 4138//4138\nf 3568//3568 4141//4141 4503//4503\nf 4142//4142 4503//4503 4141//4141\nf 3881//3881 4527//4527 4640//4640\nf 3893//3893 4318//4318 4529//4529\nf 4529//4529 4318//4318 4530//4530\nf 4390//4390 4530//4530 4153//4153\nf 3886//3886 4528//4528 4150//4150\nf 4988//4988 4528//4528 4986//4986\nf 4645//4645 4154//4154 3890//3890\nf 3891//3891 4319//4319 5180//5180\nf 4154//4154 4532//4532 3894//3894\nf 4151//4151 3899//3899 4531//4531\nf 4797//4797 3908//3908 4533//4533\nf 4648//4648 4158//4158 4398//4398\nf 4652//4652 4398//4398 4400//4400\nf 3240//3240 3898//3898 3904//3904\nf 4655//4655 4400//4400 4535//4535\nf 3903//3903 3904//3904 4659//4659\nf 4536//4536 3917//3917 3921//3921\nf 4535//4535 4400//4400 3925//3925\nf 4396//4396 3906//3906 3914//3914\nf 4536//4536 3907//3907 3917//3917\nf 4392//4392 4323//4323 4538//4538\nf 4399//4399 3903//3903 4659//4659\nf 4661//4661 4162//4162 4401//4401\nf 4805//4805 4401//4401 5005//5005\nf 4539//4539 3924//3924 4167//4167\nf 4163//4163 4804//4804 4663//4663\nf 4402//4402 3920//3920 4324//4324\nf 3928//3928 4168//4168 4507//4507\nf 4507//4507 4171//4171 3928//3928\nf 3929//3929 4404//4404 4542//4542\nf 4169//4169 3930//3930 4544//4544\nf 4548//4548 3930//3930 3935//3935\nf 3935//3935 4325//4325 4548//4548\nf 4550//4550 4548//4548 4325//4325\nf 3951//3951 4326//4326 4551//4551\nf 4325//4325 3954//3954 4550//4550\nf 4550//4550 3954//3954 4552//4552\nf 4554//4554 4177//4177 4821//4821\nf 4182//4182 4177//4177 4554//4554\nf 4180//4180 4413//4413 4412//4412\nf 4413//4413 4180//4180 4412//4412\nf 4555//4555 4327//4327 4186//4186\nf 3974//3974 4557//4557 4186//4186\nf 4330//4330 4189//4189 4828//4828\nf 3336//3336 4187//4187 4418//4418\nf 3970//3970 4191//4191 4185//4185\nf 4678//4678 4416//4416 3973//3973\nf 4190//4190 3336//3336 4418//4418\nf 4677//4677 4416//4416 4832//4832\nf 4421//4421 4192//4192 4331//4331\nf 4196//4196 4190//4190 4418//4418\nf 4196//4196 4418//4418 4558//4558\nf 3975//3975 4420//4420 3973//3973\nf 4419//4419 4198//4198 4508//4508\nf 4560//4560 4197//4197 4195//4195\nf 4560//4560 4332//4332 4197//4197\nf 4425//4425 4332//4332 4561//4561\nf 4425//4425 4203//4203 4332//4332\nf 3979//3979 3981//3981 4426//4426\nf 4334//4334 5053//5053 5052//5052\nf 4336//4336 4428//4428 4847//4847\nf 4425//4425 4335//4335 3983//3983\nf 4428//4428 4336//4336 4847//4847\nf 4563//4563 4685//4685 3988//3988\nf 4207//4207 4335//4335 4564//4564\nf 3988//3988 4209//4209 4563//4563\nf 4209//4209 4565//4565 3988//3988\nf 4565//4565 4209//4209 3988//3988\nf 4209//4209 4431//4431 4565//4565\nf 3990//3990 4434//4434 4566//4566\nf 4691//4691 4210//4210 4212//4212\nf 4567//4567 3997//3997 4340//4340\nf 4431//4431 4214//4214 4437//4437\nf 4693//4693 4213//4213 3996//3996\nf 4696//4696 4002//4002 4342//4342\nf 4217//4217 4001//4001 4213//4213\nf 4217//4217 4568//4568 4440//4440\nf 4005//4005 4440//4440 4568//4568\nf 4342//4342 3714//3714 4008//4008\nf 4442//4442 4219//4219 4698//4698\nf 4016//4016 4218//4218 4569//4569\nf 4219//4219 4014//4014 4443//4443\nf 4018//4018 4345//4345 4344//4344\nf 4015//4015 4220//4220 4444//4444\nf 4443//4443 4014//4014 4019//4019\nf 4445//4445 4020//4020 3403//3403\nf 4445//4445 3403//3403 4346//4346\nf 4868//4868 4444//4444 4347//4347\nf 4022//4022 4024//4024 4229//4229\nf 4573//4573 4025//4025 4704//4704\nf 4348//4348 4230//4230 4227//4227\nf 4026//4026 4574//4574 4228//4228\nf 4027//4027 4031//4031 4575//4575\nf 4576//4576 4232//4232 4234//4234\nf 4032//4032 4030//4030 4578//4578\nf 4032//4032 4578//4578 4881//4881\nf 4713//4713 4579//4579 4456//4456\nf 4456//4456 4579//4579 4455//4455\nf 4451//4451 4719//4719 4038//4038\nf 4716//4716 4714//4714 4713//4713\nf 4450//4450 4236//4236 4454//4454\nf 4038//4038 4719//4719 5096//5096\nf 4044//4044 4041//4041 4581//4581\nf 4042//4042 4721//4721 4454//4454\nf 4722//4722 4582//4582 4513//4513\nf 4455//4455 4580//4580 4351//4351\nf 4455//4455 4351//4351 4349//4349\nf 4583//4583 4511//4511 4457//4457\nf 4512//4512 4582//4582 4722//4722\nf 4513//4513 4582//4582 4512//4512\nf 4511//4511 4456//4456 4457//4457\nf 4514//4514 4583//4583 4457//4457\nf 4512//4512 4584//4584 4461//4461\nf 4585//4585 4241//4241 4243//4243\nf 4459//4459 4585//4585 4243//4243\nf 4588//4588 4515//4515 4462//4462\nf 4589//4589 4254//4254 4359//4359\nf 4465//4465 4462//4462 4515//4515\nf 4589//4589 4464//4464 4254//4254\nf 4053//4053 3451//3451 4050//4050\nf 4730//4730 4053//4053 4591//4591\nf 4467//4467 4465//4465 4594//4594\nf 4465//4465 4515//4515 4594//4594\nf 4592//4592 4359//4359 4468//4468\nf 4901//4901 4593//4593 4258//4258\nf 4902//4902 4468//4468 4470//4470\nf 4260//4260 4470//4470 4468//4468\nf 4361//4361 4469//4469 4516//4516\nf 4470//4470 4264//4264 4597//4597\nf 4362//4362 4516//4516 4517//4517\nf 4064//4064 4062//4062 4472//4472\nf 4266//4266 4517//4517 4071//4071\nf 4600//4600 4270//4270 4472//4472\nf 4475//4475 4601//4601 4604//4604\nf 4273//4273 4603//4603 4364//4364\nf 4474//4474 4270//4270 4742//4742\nf 4605//4605 4518//4518 4369//4369\nf 4475//4475 4606//4606 4367//4367\nf 4744//4744 4369//4369 4608//4608\nf 4369//4369 4278//4278 4608//4608\nf 4082//4082 4478//4478 4750//4750\nf 4752//4752 4081//4081 4086//4086\nf 4753//4753 4371//4371 4480//4480\nf 4284//4284 4482//4482 4519//4519\nf 4482//4482 4749//4749 4519//4519\nf 4087//4087 4609//4609 4086//4086\nf 4757//4757 4089//4089 4282//4282\nf 4286//4286 4089//4089 4761//4761\nf 4094//4094 4484//4484 4289//4289\nf 4374//4374 4611//4611 4376//4376\nf 4486//4486 3817//3817 4100//4100\nf 4289//4289 4105//4105 4291//4291\nf 4486//4486 4100//4100 4614//4614\nf 4486//4486 4615//4615 4101//4101\nf 4617//4617 4487//4487 4101//4101\nf 4618//4618 4102//4102 4487//4487\nf 4377//4377 4488//4488 4616//4616\nf 4613//4613 4612//4612 4375//4375\nf 4613//4613 4375//4375 4379//4379\nf 4522//4522 4943//4943 4944//4944\nf 4489//4489 4292//4292 4522//4522\nf 4523//4523 4297//4297 4621//4621\nf 4297//4297 4623//4623 4622//4622\nf 4620//4620 4295//4295 4380//4380\nf 4297//4297 4622//4622 4621//4621\nf 4624//4624 4491//4491 4109//4109\nf 4297//4297 4523//4523 4381//4381\nf 4624//4624 4109//4109 4110//4110\nf 4523//4523 4771//4771 4381//4381\nf 4625//4625 4111//4111 4381//4381\nf 4625//4625 4382//4382 4111//4111\nf 4384//4384 4382//4382 4625//4625\nf 4492//4492 4113//4113 4114//4114\nf 4300//4300 4626//4626 4494//4494\nf 4627//4627 4493//4493 4116//4116\nf 4629//4629 4628//4628 4116//4116\nf 4496//4496 4629//4629 4116//4116\nf 4385//4385 4301//4301 4630//4630\nf 4122//4122 4631//4631 4496//4496\nf 4785//4785 4525//4525 4524//4524\nf 4138//4138 4637//4637 4137//4137\nf 4144//4144 4313//4313 4315//4315\nf 4526//4526 4313//4313 4144//4144\nf 4504//4504 3884//3884 3881//3881\nf 4527//4527 3881//3881 3882//3882\nf 4527//4527 3882//3882 4638//4638\nf 4317//4317 3883//3883 4639//4639\nf 4505//4505 4639//4639 3883//3883\nf 4504//4504 4641//4641 3885//3885\nf 4642//4642 4530//4530 4390//4390\nf 3896//3896 3893//3893 4644//4644\nf 4799//4799 4648//4648 4800//4800\nf 4393//4393 3894//3894 4532//4532\nf 4154//4154 4646//4646 4532//4532\nf 4997//4997 3897//3897 4155//4155\nf 4394//4394 3892//3892 4152//4152\nf 4796//4796 3899//3899 3907//3907\nf 4647//4647 4321//4321 4799//4799\nf 4798//4798 4647//4647 4799//4799\nf 4799//4799 4321//4321 4648//4648\nf 4321//4321 4158//4158 4648//4648\nf 4801//4801 4649//4649 4398//4398\nf 4397//4397 3908//3908 4651//4651\nf 4399//4399 4659//4659 4662//4662\nf 4660//4660 4536//4536 3921//3921\nf 4535//4535 3925//3925 4537//4537\nf 4391//4391 4393//4393 4540//4540\nf 3920//3920 4391//4391 4540//4540\nf 4537//4537 4162//4162 4661//4661\nf 5006//5006 4807//4807 3919//3919\nf 4163//4163 4160//4160 4804//4804\nf 4809//4809 5012//5012 3915//3915\nf 3920//3920 4540//4540 4324//4324\nf 4539//4539 4167//4167 5015//5015\nf 3929//3929 4665//4665 4664//4664\nf 4507//4507 4168//4168 4666//4666\nf 4541//4541 4506//4506 4169//4169\nf 5022//5022 4543//4543 4544//4544\nf 4812//4812 3933//3933 3931//3931\nf 4405//4405 4172//4172 4668//4668\nf 4407//4407 4668//4668 4172//4172\nf 4669//4669 4408//4408 4406//4406\nf 4407//4407 4813//4813 4668//4668\nf 4548//4548 4816//4816 3930//3930\nf 3942//3942 4171//4171 4815//4815\nf 3942//3942 4549//4549 3952//3952\nf 3946//3946 3947//3947 4671//4671\nf 4326//4326 5032//5032 5030//5030\nf 3954//3954 4672//4672 4552//4552\nf 3956//3956 3955//3955 5031//5031\nf 3957//3957 4673//4673 4326//4326\nf 3957//3957 4412//4412 4673//4673\nf 4553//4553 3954//3954 4411//4411\nf 5034//5034 4554//4554 4821//4821\nf 4412//4412 4180//4180 4822//4822\nf 4179//4179 4553//4553 4411//4411\nf 4822//4822 4180//4180 4674//4674\nf 4674//4674 4180//4180 4413//4413\nf 4555//4555 4674//4674 4413//4413\nf 4327//4327 4555//4555 4413//4413\nf 4328//4328 4675//4675 3966//3966\nf 4186//4186 4557//4557 4827//4827\nf 4418//4418 4187//4187 3966//3966\nf 4557//4557 3974//3974 4419//4419\nf 3970//3970 4185//4185 4191//4191\nf 5044//5044 4417//4417 4677//4677\nf 4677//4677 4417//4417 4416//4416\nf 4508//4508 4830//4830 4419//4419\nf 4835//4835 3973//3973 4420//4420\nf 4559//4559 4201//4201 3975//3975\nf 4839//4839 4560//4560 4195//4195\nf 4683//4683 4841//4841 4423//4423\nf 4204//4204 4683//4683 4423//4423\nf 3979//3979 4426//4426 4682//4682\nf 4424//4424 4202//4202 4334//4334\nf 4204//4204 4427//4427 4683//4683\nf 4683//4683 4427//4427 3988//3988\nf 4336//4336 4428//4428 3980//3980\nf 4686//4686 4206//4206 4429//4429\nf 4209//4209 4565//4565 4563//4563\nf 4564//4564 4335//4335 4340//4340\nf 4689//4689 4208//4208 3990//3990\nf 4430//4430 3989//3989 4690//4690\nf 4211//4211 4852//4852 4432//4432\nf 4434//4434 4692//4692 4566//4566\nf 4691//4691 4212//4212 4435//4435\nf 4855//4855 4435//4435 4695//4695\nf 4694//4694 4436//4436 3997//3997\nf 4003//4003 4000//4000 4436//4436\nf 4858//4858 4004//4004 4439//4439\nf 4860//4860 4438//4438 4003//4003\nf 4859//4859 4342//4342 4008//4008\nf 4859//4859 4008//4008 4442//4442\nf 4006//4006 4438//4438 4862//4862\nf 4005//4005 4568//4568 5072//5072\nf 4006//4006 4218//4218 4862//4862\nf 4218//4218 4006//4006 4862//4862\nf 4863//4863 4010//4010 4343//4343\nf 4866//4866 4569//4569 4218//4218\nf 4015//4015 4444//4444 4570//4570\nf 4346//4346 4016//4016 4699//4699\nf 4870//4870 4222//4222 4446//4446\nf 4221//4221 4871//4871 5196//5196\nf 4445//4445 4223//4223 4020//4020\nf 4224//4224 4221//4221 4572//4572\nf 4700//4700 4446//4446 4447//4447\nf 4873//4873 4228//4228 5080//5080\nf 4025//4025 4448//4448 4704//4704\nf 5081//5081 4228//4228 4574//4574\nf 4573//4573 4028//4028 4025//4025\nf 4232//4232 4574//4574 4026//4026\nf 4575//4575 4031//4031 4705//4705\nf 4578//4578 4030//4030 4449//4449\nf 4708//4708 4709//4709 4712//4712\nf 4710//4710 4878//4878 4708//4708\nf 4710//4710 4708//4708 4712//4712\nf 4712//4712 4709//4709 4711//4711\nf 4579//4579 4710//4710 4712//4712\nf 4033//4033 4452//4452 4882//4882\nf 4715//4715 4234//4234 4450//4450\nf 4713//4713 4456//4456 4511//4511\nf 4712//4712 4711//4711 4580//4580\nf 4711//4711 4582//4582 4718//4718\nf 4580//4580 4711//4711 4513//4513\nf 4712//4712 4580//4580 4579//4579\nf 4716//4716 4713//4713 4511//4511\nf 4884//4884 4452//4452 4237//4237\nf 4513//4513 4718//4718 4582//4582\nf 4513//4513 4711//4711 4718//4718\nf 4455//4455 4579//4579 4580//4580\nf 4237//4237 4453//4453 4720//4720\nf 4723//4723 4511//4511 4583//4583\nf 4724//4724 4038//4038 5096//5096\nf 4040//4040 4038//4038 4724//4724\nf 4581//4581 4041//4041 4037//4037\nf 4582//4582 4722//4722 4513//4513\nf 4583//4583 4514//4514 4723//4723\nf 4043//4043 4725//4725 4453//4453\nf 4043//4043 4239//4239 4725//4725\nf 4044//4044 4726//4726 5098//5098\nf 4584//4584 4512//4512 4722//4722\nf 4243//4243 4585//4585 5104//5104\nf 4460//4460 4248//4248 4587//4587\nf 4896//4896 4047//4047 4463//4463\nf 4588//4588 4462//4462 4584//4584\nf 4586//4586 4895//4895 4045//4045\nf 4727//4727 4587//4587 4464//4464\nf 4728//4728 4464//4464 4589//4589\nf 4053//4053 4050//4050 4591//4591\nf 4729//4729 4359//4359 4592//4592\nf 4593//4593 4466//4466 4258//4258\nf 4360//4360 4053//4053 4731//4731\nf 4729//4729 4592//4592 4732//4732\nf 4594//4594 4734//4734 4469//4469\nf 4594//4594 4469//4469 4467//4467\nf 5111//5111 4902//4902 4903//4903\nf 4361//4361 4467//4467 4469//4469\nf 4060//4060 4360//4360 4596//4596\nf 4469//4469 4734//4734 4904//4904\nf 4061//4061 4471//4471 4905//4905\nf 4471//4471 4598//4598 4736//4736\nf 4735//4735 4516//4516 4906//4906\nf 4473//4473 4363//4363 4738//4738\nf 4738//4738 4363//4363 4602//4602\nf 4599//4599 4912//4912 4272//4272\nf 4599//4599 4272//4272 4070//4070\nf 4602//4602 4363//4363 4518//4518\nf 4601//4601 4741//4741 4604//4604\nf 4602//4602 4518//4518 4605//4605\nf 4743//4743 4603//4603 4273//4273\nf 4275//4275 4474//4474 4476//4476\nf 4917//4917 4476//4476 4474//4474\nf 4605//4605 4369//4369 4744//4744\nf 4478//4478 4076//4076 4476//4476\nf 4746//4746 4368//4368 4479//4479\nf 4477//4477 4367//4367 4606//4606\nf 4919//4919 4478//4478 4476//4476\nf 4482//4482 4477//4477 4749//4749\nf 4608//4608 4278//4278 4751//4751\nf 4752//4752 4481//4481 4081//4081\nf 4751//4751 4278//4278 4279//4279\nf 4754//4754 4282//4282 4371//4371\nf 4751//4751 4279//4279 4610//4610\nf 4279//4279 4373//4373 4610//4610\nf 4484//4484 4284//4284 4519//4519\nf 4087//4087 4283//4283 4760//4760\nf 4756//4756 4758//4758 4519//4519\nf 4610//4610 4373//4373 4520//4520\nf 4483//4483 4760//4760 4283//4283\nf 4758//4758 4484//4484 4519//4519\nf 4373//4373 4287//4287 4520//4520\nf 4484//4484 4758//4758 4935//4935\nf 5132//5132 5133//5133 4374//4374\nf 4521//4521 4764//4764 4093//4093\nf 4484//4484 4762//4762 4289//4289\nf 4520//4520 4375//4375 4612//4612\nf 4768//4768 4612//4612 4613//4613\nf 4612//4612 4768//4768 4763//4763\nf 4615//4615 4486//4486 4614//4614\nf 4769//4769 4290//4290 4378//4378\nf 4487//4487 4617//4617 4618//4618\nf 4522//4522 4292//4292 4102//4102\nf 4947//4947 4490//4490 4619//4619\nf 4490//4490 4947//4947 4946//4946\nf 4623//4623 4297//4297 4620//4620\nf 4297//4297 4295//4295 4620//4620\nf 4114//4114 4774//4774 4492//4492\nf 4626//4626 4384//4384 4625//4625\nf 4114//4114 4493//4493 4627//4627\nf 4775//4775 4495//4495 4494//4494\nf 4630//4630 4301//4301 4495//4495\nf 4630//4630 4632//4632 4385//4385\nf 4630//4630 4778//4778 4632//4632\nf 4633//4633 4126//4126 4779//4779\nf 4779//4779 4126//4126 4124//4124\nf 4524//4524 4780//4780 4781//4781\nf 4780//4780 4524//4524 4498//4498\nf 4783//4783 4785//4785 4524//4524\nf 4785//4785 4974//4974 4975//4975\nf 4635//4635 4525//4525 4785//4785\nf 4134//4134 4500//4500 4501//4501\nf 4389//4389 4635//4635 4786//4786\nf 4636//4636 4787//4787 4309//4309\nf 4144//4144 4143//4143 4790//4790\nf 4792//4792 4317//4317 4639//4639\nf 4792//4792 4316//4316 4317//4317\nf 4504//4504 3881//3881 4640//4640\nf 4147//4147 4793//4793 4505//4505\nf 4983//4983 3885//3885 4641//4641\nf 4530//4530 4981//4981 4982//4982\nf 4529//4529 4530//4530 4982//4982\nf 4981//4981 4530//4530 4642//4642\nf 4643//4643 3893//3893 4529//4529\nf 4986//4986 4528//4528 3885//3885\nf 4642//4642 4390//4390 4794//4794\nf 4644//4644 3893//3893 4643//4643\nf 3890//3890 3891//3891 4645//4645\nf 4796//4796 4795//4795 4151//4151\nf 4531//4531 3899//3899 4796//4796\nf 4395//4395 3896//3896 4644//4644\nf 4151//4151 4531//4531 4796//4796\nf 4533//4533 3908//3908 4320//4320\nf 4798//4798 4797//4797 4647//4647\nf 4648//4648 4649//4649 4800//4800\nf 4649//4649 4801//4801 4800//4800\nf 4794//4794 4390//4390 4658//4658\nf 5180//5180 4319//4319 3897//3897\nf 4654//4654 4394//4394 4152//4152\nf 4653//4653 4391//4391 4393//4393\nf 4999//4999 3902//3902 5001//5001\nf 4656//4656 3898//3898 4654//4654\nf 3907//3907 4536//4536 4660//4660\nf 4391//4391 4653//4653 4393//4393\nf 4535//4535 4537//4537 4655//4655\nf 5002//5002 4655//4655 4537//4537\nf 5006//5006 3905//3905 4657//4657\nf 4397//4397 4651//4651 4804//4804\nf 3919//3919 3905//3905 5006//5006\nf 4653//4653 4540//4540 4393//4393\nf 5004//5004 4660//4660 3921//3921\nf 4661//4661 4805//4805 5005//5005\nf 4540//4540 4653//4653 4806//4806\nf 4160//4160 4397//4397 4804//4804\nf 5005//5005 4401//4401 3923//3923\nf 4658//4658 4392//4392 4538//4538\nf 3916//3916 4399//4399 4662//4662\nf 4808//4808 4658//4658 4538//4538\nf 4324//4324 4540//4540 4806//4806\nf 3915//3915 5012//5012 3918//3918\nf 4166//4166 4810//4810 4538//4538\nf 4168//4168 4163//4163 5014//5014\nf 5015//5015 4167//4167 4664//4664\nf 3929//3929 4542//4542 4665//4665\nf 4166//4166 4541//4541 4810//4810\nf 4812//4812 3931//3931 3927//3927\nf 5017//5017 4542//4542 4404//4404\nf 4543//4543 4169//4169 4544//4544\nf 4405//4405 4668//4668 4667//4667\nf 5022//5022 4544//4544 3930//3930\nf 4816//4816 4546//4546 3930//3930\nf 4814//4814 4545//4545 3943//3943\nf 4814//4814 3943//3943 4817//4817\nf 4818//4818 4549//4549 4815//4815\nf 4410//4410 4817//4817 3943//3943\nf 4549//4549 3942//3942 4815//4815\nf 3952//3952 4549//4549 4818//4818\nf 4817//4817 4410//4410 3951//3951\nf 5028//5028 3952//3952 4818//4818\nf 4548//4548 4550//4550 4816//4816\nf 4819//4819 3951//3951 4551//4551\nf 5029//5029 3946//3946 4671//4671\nf 5029//5029 3955//3955 3946//3946\nf 4326//4326 4819//4819 4551//4551\nf 4412//4412 4820//4820 4673//4673\nf 4673//4673 4820//4820 5032//5032\nf 4412//4412 4822//4822 4820//4820\nf 3960//3960 4182//4182 4823//4823\nf 4181//4181 5037//5037 4675//4675\nf 4328//4328 4181//4181 4675//4675\nf 4823//4823 3960//3960 5038//5038\nf 4556//4556 3960//3960 4823//4823\nf 4826//4826 5040//5040 3961//3961\nf 4826//4826 3961//3961 4185//4185\nf 4557//4557 4419//4419 4676//4676\nf 4558//4558 4418//4418 4829//4829\nf 4831//4831 4416//4416 4678//4678\nf 4415//4415 4833//4833 4331//4331\nf 4191//4191 4422//4422 4834//4834\nf 4678//4678 3973//3973 4831//4831\nf 3973//3973 4835//4835 4831//4831\nf 4831//4831 4832//4832 4416//4416\nf 4421//4421 4331//4331 4833//4833\nf 4420//4420 3975//3975 4835//4835\nf 4195//4195 4421//4421 4679//4679\nf 3977//3977 4194//4194 5046//5046\nf 3975//3975 4201//4201 4838//4838\nf 4839//4839 4332//4332 4560//4560\nf 4333//4333 4840//4840 4844//4844\nf 5050//5050 4682//4682 4426//4426\nf 5051//5051 4561//4561 4842//4842\nf 4842//4842 4561//4561 4332//4332\nf 4424//4424 4334//4334 5052//5052\nf 4562//4562 4425//4425 4561//4561\nf 4429//4429 4333//4333 4844//4844\nf 4845//4845 4337//4337 5056//5056\nf 4425//4425 4562//4562 4846//4846\nf 5053//5053 4334//4334 5054//5054\nf 4845//4845 4426//4426 4337//4337\nf 4336//4336 4428//4428 4847//4847\nf 3985//3985 4208//4208 4848//4848\nf 4338//4338 4336//4336 4688//4688\nf 4849//4849 4335//4335 4684//4684\nf 4335//4335 4849//4849 4340//4340\nf 5057//5057 4509//4509 4210//4210\nf 4210//4210 4691//4691 5060//5060\nf 4338//4338 4688//4688 3989//3989\nf 3989//3989 4853//4853 4690//4690\nf 4566//4566 4692//4692 3990//3990\nf 4567//4567 4340//4340 3997//3997\nf 4431//4431 5062//5062 4565//4565\nf 4430//4430 4690//4690 4853//4853\nf 4433//4433 4430//4430 4854//4854\nf 4695//4695 4435//4435 4002//4002\nf 5065//5065 4431//4431 4437//4437\nf 5066//5066 4695//4695 4002//4002\nf 5066//5066 4002//4002 4696//4696\nf 4004//4004 4858//4858 4437//4437\nf 5067//5067 4003//4003 4436//4436\nf 4857//4857 4217//4217 4213//4213\nf 5069//5069 4442//4442 5070//5070\nf 4006//4006 4862//4862 4218//4218\nf 4569//4569 4866//4866 4016//4016\nf 4866//4866 5074//5074 4016//4016\nf 4867//4867 4571//4571 4344//4344\nf 5075//5075 4870//4870 4019//4019\nf 5075//5075 4019//4019 4870//4870\nf 4346//4346 4699//4699 4445//4445\nf 5076//5076 4868//4868 4347//4347\nf 4019//4019 4222//4222 4870//4870\nf 4022//4022 4701//4701 4510//4510\nf 4572//4572 4221//4221 5196//5196\nf 4700//4700 4447//4447 5079//5079\nf 5079//5079 4447//4447 4228//4228\nf 4448//4448 4223//4223 4702//4702\nf 4448//4448 4702//4702 4704//4704\nf 4872//4872 4701//4701 4229//4229\nf 5080//5080 4228//4228 4873//4873\nf 4704//4704 5082//5082 4573//4573\nf 4027//4027 4874//4874 4229//4229\nf 5082//5082 4028//4028 4573//4573\nf 4348//4348 4227//4227 5083//5083\nf 4575//4575 4705//4705 4874//4874\nf 4705//4705 4031//4031 4876//4876\nf 4449//4449 4028//4028 4706//4706\nf 4876//4876 4031//4031 4577//4577\nf 5087//5087 4877//4877 4709//4709\nf 5087//5087 4878//4878 5085//5085\nf 4578//4578 4449//4449 4706//4706\nf 5087//5087 4709//4709 4708//4708\nf 5087//5087 4708//4708 4878//4878\nf 4579//4579 4880//4880 4710//4710\nf 4037//4037 4233//4233 4879//4879\nf 4877//4877 4711//4711 4709//4709\nf 4877//4877 4883//4883 4711//4711\nf 4880//4880 4579//4579 4713//4713\nf 4451//4451 4032//4032 4717//4717\nf 4032//4032 4881//4881 4717//4717\nf 4511//4511 4714//4714 4716//4716\nf 4711//4711 4883//4883 4582//4582\nf 4511//4511 4723//4723 4714//4714\nf 4719//4719 4451//4451 4717//4717\nf 4883//4883 4886//4886 4582//4582\nf 4717//4717 5096//5096 4719//4719\nf 4886//4886 4885//4885 4582//4582\nf 4725//4725 4720//4720 4453//4453\nf 4722//4722 4582//4582 4887//4887\nf 4885//4885 4887//4887 4582//4582\nf 4888//4888 4723//4723 4514//4514\nf 4724//4724 5096//5096 4040//4040\nf 4725//4725 4239//4239 4889//4889\nf 4459//4459 4044//4044 5098//5098\nf 4889//4889 4239//4239 4458//4458\nf 5103//5103 4460//4460 4727//4727\nf 4890//4890 4458//4458 4585//4585\nf 4722//4722 4893//4893 4584//4584\nf 4460//4460 4587//4587 4727//4727\nf 4045//4045 4040//4040 4586//4586\nf 4584//4584 4893//4893 4894//4894\nf 4894//4894 4897//4897 4584//4584\nf 4897//4897 4588//4588 4584//4584\nf 4588//4588 4897//4897 4900//4900\nf 4589//4589 4728//4728 5107//5107\nf 4728//4728 4589//4589 4729//4729\nf 4729//4729 4589//4589 4359//4359\nf 4899//4899 4463//4463 4466//4466\nf 4593//4593 4899//4899 4466//4466\nf 4515//4515 4588//4588 4900//4900\nf 4590//4590 4730//4730 4050//4050\nf 4591//4591 4050//4050 4730//4730\nf 4592//4592 4468//4468 4732//4732\nf 4594//4594 4515//4515 4733//4733\nf 4258//4258 4595//4595 4901//4901\nf 4468//4468 4902//4902 5111//5111\nf 4732//4732 4468//4468 5111//5111\nf 4594//4594 4733//4733 4904//4904\nf 4902//4902 4470//4470 4903//4903\nf 4901//4901 4061//4061 5112//5112\nf 4061//4061 4905//4905 5112//5112\nf 4905//4905 4471//4471 4736//4736\nf 4516//4516 4469//4469 4904//4904\nf 4470//4470 4597//4597 4907//4907\nf 4516//4516 4904//4904 4906//4906\nf 4516//4516 4735//4735 4908//4908\nf 4517//4517 4516//4516 4908//4908\nf 4597//4597 4473//4473 5116//5116\nf 4472//4472 4062//4062 4737//4737\nf 4473//4473 4909//4909 5116//5116\nf 4910//4910 4598//4598 4067//4067\nf 4910//4910 4067//4067 4364//4364\nf 4071//4071 4517//4517 4908//4908\nf 4738//4738 4602//4602 4739//4739\nf 4472//4472 5117//5117 4600//4600\nf 4741//4741 4913//4913 4604//4604\nf 4270//4270 4600//4600 5117//5117\nf 4603//4603 4915//4915 4364//4364\nf 5211//5211 4602//4602 4914//4914\nf 4606//4606 4475//4475 4604//4604\nf 4918//4918 4743//4743 4607//4607\nf 4605//4605 4744//4744 4916//4916\nf 4916//4916 4914//4914 4605//4605\nf 4743//4743 4273//4273 4607//4607\nf 4606//4606 4604//4604 4745//4745\nf 4368//4368 4918//4918 4607//4607\nf 4745//4745 4747//4747 4606//4606\nf 4477//4477 4606//4606 4747//4747\nf 4916//4916 4744//4744 4608//4608\nf 4477//4477 4747//4747 4921//4921\nf 4479//4479 4081//4081 4481//4481\nf 4478//4478 4748//4748 4750//4750\nf 4608//4608 4924//4924 4922//4922\nf 4920//4920 4608//4608 4922//4922\nf 5124//5124 4926//4926 4750//4750\nf 4082//4082 4750//4750 4926//4926\nf 4480//4480 4082//4082 4926//4926\nf 4608//4608 4751//4751 4924//4924\nf 4927//4927 4749//4749 4482//4482\nf 4751//4751 4929//4929 4925//4925\nf 4931//4931 4086//4086 4609//4609\nf 4754//4754 4371//4371 4930//4930\nf 4519//4519 4755//4755 4756//4756\nf 4933//4933 5126//5126 4758//4758\nf 4610//4610 4520//4520 4932//4932\nf 4929//4929 4932//4932 4520//4520\nf 4089//4089 4759//4759 4761//4761\nf 4087//4087 4760//4760 5128//5128\nf 4756//4756 4933//4933 4758//4758\nf 4939//4939 4286//4286 4761//4761\nf 4093//4093 4760//4760 4483//4483\nf 4520//4520 4612//4612 4763//4763\nf 4934//4934 4520//4520 4763//4763\nf 4936//4936 4763//4763 4765//4765\nf 4934//4934 4763//4763 4936//4936\nf 4936//4936 4765//4765 4937//4937\nf 5132//5132 4374//4374 4939//4939\nf 4374//4374 5133//5133 4611//4611\nf 4940//4940 4765//4765 4763//4763\nf 4521//4521 4290//4290 4767//4767\nf 4765//4765 4940//4940 4937//4937\nf 4096//4096 5138//5138 4100//4100\nf 4942//4942 4763//4763 4768//4768\nf 4942//4942 4940//4940 4763//4763\nf 4102//4102 4618//4618 4943//4943\nf 4768//4768 4613//4613 4941//4941\nf 4770//4770 4522//4522 4944//4944\nf 4489//4489 4522//4522 4770//4770\nf 4947//4947 4619//4619 4945//4945\nf 4942//4942 4768//4768 4941//4941\nf 4380//4380 4490//4490 4946//4946\nf 4941//4941 4613//4613 4379//4379\nf 4941//4941 4379//4379 4491//4491\nf 4946//4946 4620//4620 4623//4623\nf 4380//4380 4946//4946 4620//4620\nf 4620//4620 4946//4946 4623//4623\nf 4624//4624 4948//4948 4491//4491\nf 4621//4621 4950//4950 4523//4523\nf 4949//4949 4950//4950 4621//4621\nf 4948//4948 4624//4624 4951//4951\nf 4624//4624 4110//4110 4952//4952\nf 4624//4624 4952//4952 4951//4951\nf 4523//4523 5150//5150 4771//4771\nf 4952//4952 4110//4110 4772//4772\nf 4953//4953 4954//4954 4625//4625\nf 4625//4625 4381//4381 4953//4953\nf 4772//4772 4110//4110 4773//4773\nf 4110//4110 4492//4492 4773//4773\nf 4625//4625 4954//4954 4626//4626\nf 4954//4954 4955//4955 4626//4626\nf 4114//4114 4956//4956 4774//4774\nf 4626//4626 4957//4957 4494//4494\nf 4955//4955 4957//4957 4626//4626\nf 4114//4114 4627//4627 4956//4956\nf 5154//5154 4956//4956 4627//4627\nf 4958//4958 4116//4116 4628//4628\nf 4775//4775 4494//4494 4959//4959\nf 4958//4958 4628//4628 4629//4629\nf 4495//4495 4776//4776 4630//4630\nf 5156//5156 4776//4776 4495//4495\nf 4777//4777 4631//4631 4122//4122\nf 4630//4630 4776//4776 4961//4961\nf 4777//4777 4122//4122 4960//4960\nf 4497//4497 4960//4960 4122//4122\nf 4778//4778 4630//4630 4961//4961\nf 4497//4497 4125//4125 4962//4962\nf 4963//4963 4778//4778 5159//5159\nf 4632//4632 4778//4778 4963//4963\nf 4632//4632 4963//4963 4964//4964\nf 4632//4632 4964//4964 4124//4124\nf 4131//4131 4304//4304 4965//4965\nf 4781//4781 4780//4780 4498//4498\nf 4966//4966 4498//4498 4499//4499\nf 4782//4782 4968//4968 4499//4499\nf 4967//4967 4783//4783 4524//4524\nf 4967//4967 4969//4969 4783//4783\nf 4781//4781 4967//4967 4524//4524\nf 4971//4971 4783//4783 4969//4969\nf 4387//4387 4133//4133 4784//4784\nf 4785//4785 4783//4783 4971//4971\nf 4973//4973 4133//4133 4134//4134\nf 4785//4785 4972//4972 4974//4974\nf 4635//4635 4785//4785 4975//4975\nf 5170//5170 4134//4134 4501//4501\nf 4976//4976 4389//4389 4786//4786\nf 4637//4637 4977//4977 4137//4137\nf 4389//4389 4976//4976 4636//4636\nf 4309//4309 4787//4787 5172//5172\nf 4637//4637 4138//4138 4977//4977\nf 4312//4312 4789//4789 4141//4141\nf 4790//4790 4978//4978 4144//4144\nf 4979//4979 5176//5176 4142//4142\nf 4526//4526 4144//4144 4978//4978\nf 4141//4141 4979//4979 4142//4142\nf 4638//4638 3882//3882 4316//4316\nf 4638//4638 4316//4316 4791//4791\nf 4791//4791 4316//4316 4792//4792\nf 4793//4793 4639//4639 4505//4505\nf 4980//4980 4793//4793 4147//4147\nf 4986//4986 3885//3885 4983//4983\nf 4528//4528 3886//3886 3885//3885\nf 4147//4147 4148//4148 4984//4984\nf 4148//4148 4149//4149 4984//4984\nf 4987//4987 4984//4984 4795//4795\nf 4794//4794 4985//4985 4642//4642\nf 4794//4794 4642//4642 4985//4985\nf 4151//4151 4795//4795 4149//4149\nf 4390//4390 4989//4989 4794//4794\nf 4991//4991 4528//4528 4988//4988\nf 4991//4991 4150//4150 4528//4528\nf 4390//4390 4794//4794 4989//4989\nf 4802//4802 4150//4150 4991//4991\nf 4993//4993 4398//4398 4652//4652\nf 4993//4993 4801//4801 4398//4398\nf 4644//4644 4994//4994 4395//4395\nf 4996//4996 4794//4794 4658//4658\nf 4996//4996 4989//4989 4794//4794\nf 4150//4150 4802//4802 4152//4152\nf 4992//4992 4796//4796 4650//4650\nf 4796//4796 3907//3907 4650//4650\nf 3908//3908 4797//4797 4995//4995\nf 4998//4998 4532//4532 4646//4646\nf 4997//4997 4155//4155 4803//4803\nf 4995//4995 4651//4651 3908//3908\nf 4998//4998 4653//4653 4393//4393\nf 4393//4393 4532//4532 4998//4998\nf 4803//4803 4155//4155 3902//3902\nf 4655//4655 5000//5000 4652//4652\nf 4652//4652 5000//5000 4993//4993\nf 4657//4657 3900//3900 4534//4534\nf 4992//4992 4650//4650 3907//3907\nf 4992//4992 3907//3907 4660//4660\nf 4652//4652 4400//4400 4655//4655\nf 4658//4658 4390//4390 4392//4392\nf 3902//3902 4396//4396 5001//5001\nf 5003//5003 3904//3904 4656//4656\nf 5002//5002 4537//4537 4661//4661\nf 4662//4662 4659//4659 5008//5008\nf 5008//5008 4659//4659 3904//3904\nf 5003//5003 5008//5008 3904//3904\nf 4661//4661 4401//4401 4805//4805\nf 5002//5002 4661//4661 5005//5005\nf 5004//5004 3921//3921 4539//4539\nf 5005//5005 3923//3923 5009//5009\nf 3923//3923 3919//3919 5009//5009\nf 3919//3919 4807//4807 5009//5009\nf 3914//3914 3918//3918 5011//5011\nf 4662//4662 4809//4809 3916//3916\nf 4653//4653 5010//5010 4806//4806\nf 5007//5007 3914//3914 5011//5011\nf 3915//3915 3916//3916 4809//4809\nf 5011//5011 3918//3918 5012//5012\nf 5015//5015 5004//5004 4539//4539\nf 5015//5015 5013//5013 5004//5004\nf 4806//4806 5010//5010 5016//5016\nf 4664//4664 5013//5013 5015//5015\nf 4666//4666 4168//4168 5014//5014\nf 4538//4538 4810//4810 4808//4808\nf 4806//4806 5016//5016 4324//4324\nf 4664//4664 4665//4665 5013//5013\nf 5181//5181 4168//4168 4666//4666\nf 5181//5181 4666//4666 4168//4168\nf 4666//4666 5181//5181 4811//4811\nf 4507//4507 4666//4666 4811//4811\nf 3927//3927 4324//4324 5016//5016\nf 4404//4404 5019//5019 5017//5017\nf 5018//5018 4812//4812 3927//3927\nf 4667//4667 5020//5020 4405//4405\nf 4405//4405 5020//5020 5023//5023\nf 4405//4405 5023//5023 4406//4406\nf 4406//4406 5023//5023 4669//4669\nf 4813//4813 3933//3933 4812//4812\nf 3933//3933 4813//4813 4407//4407\nf 4814//4814 4404//4404 4545//4545\nf 4171//4171 4507//4507 5021//5021\nf 4408//4408 5024//5024 4409//4409\nf 5019//5019 4545//4545 4814//4814\nf 4547//4547 4409//4409 5024//5024\nf 3944//3944 3941//3941 5025//5025\nf 4817//4817 3951//3951 4670//4670\nf 5026//5026 4671//4671 3947//3947\nf 5026//5026 3947//3947 3944//3944\nf 4819//4819 4670//4670 3951//3951\nf 5027//5027 4816//4816 4550//4550\nf 3955//3955 5029//5029 5031//5031\nf 4552//4552 4672//4672 4550//4550\nf 4672//4672 5027//5027 4550//4550\nf 4326//4326 5030//5030 4819//4819\nf 4175//4175 3952//3952 5028//5028\nf 4326//4326 4673//4673 5032//5032\nf 5033//5033 3956//3956 5031//5031\nf 4177//4177 3956//3956 5033//5033\nf 5033//5033 4821//4821 4177//4177\nf 3954//3954 4553//4553 4672//4672\nf 4822//4822 5188//5188 5538//5538\nf 5036//5036 4179//4179 4414//4414\nf 4182//4182 5035//5035 4823//4823\nf 5188//5188 4555//4555 4824//4824\nf 3960//3960 4823//4823 5038//5038\nf 4556//4556 4823//4823 5038//5038\nf 5039//5039 4414//4414 5040//5040\nf 4556//4556 5038//5038 4189//4189\nf 4824//4824 4555//4555 4186//4186\nf 5041//5041 4824//4824 4186//4186\nf 5040//5040 4414//4414 3961//3961\nf 5042//5042 4189//4189 5038//5038\nf 4418//4418 3966//3966 4825//4825\nf 4826//4826 4185//4185 3970//3970\nf 5042//5042 4828//4828 4189//4189\nf 4833//4833 4415//4415 5044//5044\nf 4836//4836 4558//4558 4829//4829\nf 4191//4191 4834//4834 5043//5043\nf 5044//5044 4677//4677 4832//4832\nf 5044//5044 4415//4415 4417//4417\nf 4835//4835 3975//3975 4837//4837\nf 4836//4836 4196//4196 4558//4558\nf 4422//4422 3978//3978 4834//4834\nf 4195//4195 4679//4679 5190//5190\nf 3975//3975 4838//4838 4837//4837\nf 5045//5045 5048//5048 4841//4841\nf 5048//5048 4508//4508 4423//4423\nf 4840//4840 4200//4200 4196//4196\nf 4682//4682 3978//3978 3979//3979\nf 4682//4682 5047//5047 3978//3978\nf 4423//4423 4841//4841 5048//5048\nf 5049//5049 3977//3977 5046//5046\nf 4842//4842 4332//4332 5051//5051\nf 4333//4333 4200//4200 4840//4840\nf 4681//4681 4424//4424 5052//5052\nf 4562//4562 4561//4561 5051//5051\nf 4428//4428 4843//4843 4847//4847\nf 4428//4428 3980//3980 4843//4843\nf 4334//4334 3984//3984 5054//5054\nf 4425//4425 4846//4846 4335//4335\nf 4844//4844 4686//4686 4429//4429\nf 4335//4335 4846//4846 4684//4684\nf 5055//5055 3988//3988 4685//4685\nf 5058//5058 3984//3984 3985//3985\nf 4847//4847 5059//5059 4336//4336\nf 3985//3985 4848//4848 5058//5058\nf 4686//4686 4211//4211 4687//4687\nf 4688//4688 4336//4336 5059//5059\nf 4852//4852 4211//4211 4686//4686\nf 4208//4208 4689//4689 4692//4692\nf 4848//4848 4208//4208 4692//4692\nf 4691//4691 5061//5061 5060//5060\nf 4340//4340 4849//4849 4851//4851\nf 4854//4854 4430//4430 4853//4853\nf 4435//4435 5061//5061 4691//4691\nf 4435//4435 4855//4855 5061//5061\nf 4694//4694 3997//3997 4856//4856\nf 5067//5067 4436//4436 4694//4694\nf 4696//4696 4342//4342 4859//4859\nf 5066//5066 4696//4696 4859//4859\nf 5067//5067 4697//4697 4003//4003\nf 5068//5068 4217//4217 4857//4857\nf 4003//4003 4697//4697 4860//4860\nf 4858//4858 4439//4439 4861//4861\nf 4217//4217 5068//5068 4568//4568\nf 4861//4861 4439//4439 4441//4441\nf 4860//4860 4862//4862 4438//4438\nf 4441//4441 5071//5071 4861//4861\nf 5070//5070 4442//4442 4698//4698\nf 4863//4863 4343//4343 4005//4005\nf 4863//4863 5073//5073 4010//4010\nf 4864//4864 4866//4866 4218//4218\nf 4867//4867 4010//4010 5073//5073\nf 4344//4344 4010//4010 4867//4867\nf 4699//4699 4016//4016 5074//5074\nf 5195//5195 4868//4868 5076//5076\nf 4018//4018 4571//4571 4869//4869\nf 5075//5075 4870//4870 4446//4446\nf 4221//4221 4018//4018 4871//4871\nf 5076//5076 4347//4347 4510//4510\nf 4700//4700 5075//5075 4446//4446\nf 5077//5077 5078//5078 4445//4445\nf 5078//5078 4223//4223 4445//4445\nf 4510//4510 4701//4701 5076//5076\nf 5078//5078 4702//4702 4223//4223\nf 4224//4224 4572//4572 5196//5196\nf 5197//5197 4701//4701 4872//4872\nf 4227//4227 4224//4224 4703//4703\nf 4872//4872 4229//4229 4874//4874\nf 4705//4705 4229//4229 4874//4874\nf 4874//4874 4027//4027 4575//4575\nf 4232//4232 4576//4576 4574//4574\nf 4576//4576 5081//5081 4574//4574\nf 4028//4028 4875//4875 4706//4706\nf 5202//5202 5200//5200 5086//5086\nf 5202//5202 4877//4877 5087//5087\nf 4578//4578 4706//4706 4881//4881\nf 4882//4882 4577//4577 4033//4033\nf 4877//4877 5084//5084 5088//5088\nf 5200//5200 5201//5201 5086//5086\nf 5202//5202 5086//5086 4877//4877\nf 4233//4233 4707//4707 4879//4879\nf 4233//4233 4029//4029 4707//4707\nf 5086//5086 5084//5084 4877//4877\nf 4878//4878 4710//4710 4880//4880\nf 4880//4880 4713//4713 4714//4714\nf 4234//4234 4715//4715 5089//5089\nf 5091//5091 4037//4037 4879//4879\nf 4877//4877 5088//5088 4883//4883\nf 5090//5090 4880//4880 4714//4714\nf 4884//4884 4882//4882 4452//4452\nf 5089//5089 4715//4715 5094//5094\nf 5094//5094 4715//4715 4450//4450\nf 4884//4884 4237//4237 5095//5095\nf 5093//5093 4886//4886 4883//4883\nf 4714//4714 4723//4723 5092//5092\nf 4450//4450 4454//4454 5094//5094\nf 4886//4886 5093//5093 4885//4885\nf 4237//4237 4720//4720 5095//5095\nf 5098//5098 4581//4581 4037//4037\nf 4885//4885 5100//5100 4887//4887\nf 5101//5101 4887//4887 5100//5100\nf 5099//5099 4723//4723 4888//4888\nf 4724//4724 5096//5096 4038//4038\nf 4581//4581 5098//5098 4044//4044\nf 5097//5097 4721//4721 4042//4042\nf 4514//4514 4460//4460 4888//4888\nf 4724//4724 4038//4038 5096//5096\nf 4040//4040 5096//5096 4892//4892\nf 4722//4722 4887//4887 4893//4893\nf 4585//4585 4459//4459 4891//4891\nf 5104//5104 4890//4890 4585//4585\nf 4585//4585 4243//4243 5104//5104\nf 5103//5103 4727//4727 4587//4587\nf 5103//5103 4587//4587 4727//4727\nf 5105//5105 4047//4047 4896//4896\nf 4728//4728 5106//5106 4727//4727\nf 4898//4898 4045//4045 4895//4895\nf 4893//4893 4897//4897 4894//4894\nf 4050//4050 4045//4045 4898//4898\nf 4727//4727 4464//4464 4728//4728\nf 4899//4899 4896//4896 4463//4463\nf 4050//4050 4898//4898 4590//4590\nf 4900//4900 4897//4897 5108//5108\nf 4589//4589 5107//5107 4728//4728\nf 5107//5107 4728//4728 4729//4729\nf 5109//5109 4900//4900 5108//5108\nf 4730//4730 4731//4731 4053//4053\nf 5110//5110 4731//4731 4730//4730\nf 4900//4900 5109//5109 4733//4733\nf 4515//4515 4900//4900 4733//4733\nf 4734//4734 4594//4594 4904//4904\nf 4596//4596 4731//4731 5270//5270\nf 4360//4360 4731//4731 4596//4596\nf 4901//4901 4595//4595 4061//4061\nf 5113//5113 4903//4903 4470//4470\nf 4470//4470 4907//4907 5113//5113\nf 4060//4060 4596//4596 5114//5114\nf 4910//4910 4736//4736 4471//4471\nf 4471//4471 4736//4736 4910//4910\nf 4908//4908 4735//4735 5115//5115\nf 4736//4736 4598//4598 4910//4910\nf 5115//5115 4735//4735 4906//4906\nf 5116//5116 4909//4909 4738//4738\nf 4062//4062 5114//5114 4737//4737\nf 4517//4517 4908//4908 5115//5115\nf 4909//4909 4473//4473 4738//4738\nf 5115//5115 4599//4599 4071//4071\nf 4908//4908 5115//5115 4071//4071\nf 4737//4737 5209//5209 4472//4472\nf 4472//4472 5209//5209 5117//5117\nf 4601//4601 4911//4911 4741//4741\nf 5118//5118 4911//4911 4601//4601\nf 4272//4272 4912//4912 5118//5118\nf 4272//4272 5118//5118 4365//4365\nf 4599//4599 4070//4070 4071//4071\nf 5118//5118 4601//4601 4365//4365\nf 4741//4741 5120//5120 4913//4913\nf 5119//5119 5120//5120 4741//4741\nf 4270//4270 5117//5117 4742//4742\nf 4915//4915 4740//4740 4364//4364\nf 5121//5121 4913//4913 5120//5120\nf 4602//4602 4605//4605 4914//4914\nf 4745//4745 4604//4604 4913//4913\nf 4915//4915 4603//4603 4743//4743\nf 4745//4745 4913//4913 5121//5121\nf 4742//4742 5122//5122 4474//4474\nf 5122//5122 4917//4917 4474//4474\nf 4476//4476 4917//4917 5122//5122\nf 4918//4918 4368//4368 4746//4746\nf 4916//4916 4608//4608 4920//4920\nf 4747//4747 4745//4745 4921//4921\nf 4746//4746 4479//4479 4923//4923\nf 4749//4749 4477//4477 4921//4921\nf 4924//4924 4925//4925 4922//4922\nf 4925//4925 5123//5123 4922//4922\nf 4748//4748 5124//5124 4750//4750\nf 4923//4923 4479//4479 4481//4481\nf 4482//4482 4749//4749 4927//4927\nf 4925//4925 4924//4924 4751//4751\nf 4752//4752 4086//4086 4928//4928\nf 4933//4933 4519//4519 4749//4749\nf 5280//5280 4933//4933 4749//4749\nf 4086//4086 4931//4931 4928//4928\nf 4933//4933 4755//4755 4519//4519\nf 4929//4929 4751//4751 4610//4610\nf 4756//4756 4755//4755 4933//4933\nf 4610//4610 4932//4932 4929//4929\nf 4930//4930 4282//4282 4754//4754\nf 4757//4757 4282//4282 4930//4930\nf 4931//4931 4609//4609 4087//4087\nf 4520//4520 4934//4934 4929//4929\nf 4757//4757 5127//5127 4089//4089\nf 4759//4759 4089//4089 5127//5127\nf 4935//4935 4758//4758 5126//5126\nf 4484//4484 4935//4935 5126//5126\nf 5126//5126 4935//4935 4484//4484\nf 4374//4374 4286//4286 4939//4939\nf 4484//4484 4935//4935 5131//5131\nf 5131//5131 4762//4762 4484//4484\nf 5129//5129 4938//4938 4936//4936\nf 5129//5129 4936//4936 4937//4937\nf 4093//4093 4764//4764 5130//5130\nf 5134//5134 4764//4764 4521//4521\nf 4289//4289 4762//4762 4766//4766\nf 4376//4376 4611//4611 5133//5133\nf 4376//4376 5136//5136 4096//4096\nf 4105//4105 4289//4289 5137//5137\nf 4937//4937 4940//4940 5129//5129\nf 5138//5138 4614//4614 4100//4100\nf 5138//5138 5139//5139 4614//4614\nf 4290//4290 4769//4769 4767//4767\nf 4378//4378 4377//4377 4769//4769\nf 5141//5141 4767//4767 4769//4769\nf 4615//4615 4614//4614 5139//5139\nf 5215//5215 4617//4617 4615//4615\nf 4617//4617 4101//4101 4615//4615\nf 4618//4618 5215//5215 5216//5216\nf 5140//5140 4616//4616 5142//5142\nf 5140//5140 4377//4377 4616//4616\nf 4769//4769 4377//4377 5140//5140\nf 4769//4769 5140//5140 5141//5141\nf 4105//4105 5137//5137 4490//4490\nf 4522//4522 4102//4102 4943//4943\nf 4616//4616 4489//4489 5142//5142\nf 5142//5142 4489//4489 4770//4770\nf 4947//4947 4945//4945 4946//4946\nf 5143//5143 4942//4942 4941//4941\nf 5144//5144 4941//4941 4491//4491\nf 5143//5143 4941//4941 5144//5144\nf 4491//4491 4948//4948 5144//5144\nf 5145//5145 4621//4621 4623//4623\nf 4623//4623 4620//4620 4946//4946\nf 5145//5145 4949//4949 4621//4621\nf 4621//4621 4622//4622 4623//4623\nf 5144//5144 4948//4948 4951//4951\nf 5144//5144 5147//5147 5148//5148\nf 5143//5143 5144//5144 5148//5148\nf 5146//5146 5148//5148 5149//5149\nf 5146//5146 5143//5143 5148//5148\nf 5147//5147 5144//5144 4951//4951\nf 4523//4523 4950//4950 5150//5150\nf 4951//4951 5151//5151 5147//5147\nf 5151//5151 4951//4951 4952//4952\nf 4381//4381 4771//4771 5150//5150\nf 4953//4953 4381//4381 5150//5150\nf 4773//4773 5153//5153 4772//4772\nf 4953//4953 5150//5150 5152//5152\nf 5152//5152 4954//4954 4953//4953\nf 5153//5153 4952//4952 4772//4772\nf 5153//5153 4773//4773 4492//4492\nf 5153//5153 4492//4492 4773//4773\nf 4773//4773 4492//4492 4774//4774\nf 4954//4954 5152//5152 4955//4955\nf 4956//4956 4774//4774 4114//4114\nf 4774//4774 4956//4956 4114//4114\nf 4114//4114 4956//4956 5154//5154\nf 4956//4956 4114//4114 5154//5154\nf 5154//5154 4958//4958 4629//4629\nf 4959//4959 4494//4494 4957//4957\nf 5155//5155 4496//4496 4631//4631\nf 4495//4495 4775//4775 5156//5156\nf 5156//5156 5157//5157 4776//4776\nf 5157//5157 4961//4961 4776//4776\nf 4962//4962 4960//4960 4497//4497\nf 4778//4778 4961//4961 5159//5159\nf 4125//4125 5158//5158 4962//4962\nf 5159//5159 4964//4964 4963//4963\nf 5158//5158 5160//5160 4962//4962\nf 4779//4779 5162//5162 4633//4633\nf 5162//5162 4129//4129 4633//4633\nf 5162//5162 5163//5163 4129//4129\nf 4125//4125 4128//4128 4634//4634\nf 4779//4779 4124//4124 4964//4964\nf 5163//5163 5165//5165 4129//4129\nf 5165//5165 4132//4132 4129//4129\nf 4132//4132 5166//5166 4304//4304\nf 4966//4966 4499//4499 4968//4968\nf 4969//4969 4967//4967 5167//5167\nf 5167//5167 4971//4971 4969//4969\nf 4387//4387 4782//4782 4386//4386\nf 4785//4785 4971//4971 4972//4972\nf 4973//4973 5168//5168 4133//4133\nf 4974//4974 5169//5169 4975//4975\nf 4974//4974 4972//4972 5169//5169\nf 5170//5170 4973//4973 4134//4134\nf 4786//4786 4635//4635 4975//4975\nf 5170//5170 4501//4501 4137//4137\nf 5171//5171 5170//5170 4137//4137\nf 4977//4977 5171//5171 4137//4137\nf 4976//4976 5172//5172 4636//4636\nf 4636//4636 5172//5172 4787//4787\nf 4526//4526 4978//4978 4138//4138\nf 4978//4978 5173//5173 4138//4138\nf 4140//4140 5174//5174 5175//5175\nf 4790//4790 5173//5173 4978//4978\nf 4142//4142 5176//5176 4143//4143\nf 4143//4143 5176//5176 5173//5173\nf 4143//4143 5173//5173 4790//4790\nf 4638//4638 4791//4791 4792//4792\nf 4640//4640 4527//4527 4638//4638\nf 4640//4640 4641//4641 4504//4504\nf 4643//4643 4529//4529 4982//4982\nf 4147//4147 4984//4984 4980//4980\nf 4984//4984 4149//4149 4795//4795\nf 5178//5178 4798//4798 4799//4799\nf 5178//5178 5177//5177 4798//4798\nf 4799//4799 5179//5179 5178//5178\nf 4799//4799 4800//4800 5179//5179\nf 4794//4794 4989//4989 4642//4642\nf 4986//4986 4991//4991 4988//4988\nf 4801//4801 5227//5227 4800//4800\nf 4645//4645 3891//3891 4990//4990\nf 4154//4154 4645//4645 4646//4646\nf 4534//4534 4395//4395 4994//4994\nf 4152//4152 4802//4802 4654//4654\nf 5007//5007 4396//4396 3914//3914\nf 4807//4807 5230//5230 5009//5009\nf 4807//4807 5006//5006 5230//5230\nf 5010//5010 4653//4653 4998//4998\nf 5014//5014 4163//4163 4663//4663\nf 5017//5017 5182//5182 4665//4665\nf 4542//4542 5017//5017 4665//4665\nf 3927//3927 5016//5016 5018//5018\nf 4541//4541 4169//4169 4543//4543\nf 5018//5018 4813//4813 4812//4812\nf 5235//5235 4667//4667 4668//4668\nf 4507//4507 4811//4811 5021//5021\nf 5235//5235 5020//5020 4667//4667\nf 5019//5019 4404//4404 4814//4814\nf 5022//5022 3930//3930 4546//4546\nf 4408//4408 4669//4669 5024//5024\nf 5025//5025 4547//4547 5024//5024\nf 3941//3941 4547//4547 5025//5025\nf 3944//3944 5025//5025 5026//5026\nf 5027//5027 5183//5183 4816//4816\nf 4819//4819 4817//4817 4670//4670\nf 5528//5528 5308//5308 5309//5309\nf 5309//5309 4819//4819 5032//5032\nf 4819//4819 5030//5030 5032//5032\nf 4175//4175 5028//5028 5185//5185\nf 4820//4820 4822//4822 5032//5032\nf 4822//4822 5186//5186 5032//5032\nf 4553//4553 5237//5237 4672//4672\nf 5035//5035 4182//4182 5034//5034\nf 4182//4182 4554//4554 5034//5034\nf 4181//4181 4176//4176 5187//5187\nf 4553//4553 4179//4179 5036//5036\nf 4674//4674 4555//4555 5188//5188\nf 5036//5036 4414//4414 5039//5039\nf 4825//4825 3966//3966 4675//4675\nf 4827//4827 5041//5041 4186//4186\nf 4557//4557 4676//4676 4827//4827\nf 4826//4826 5043//5043 5238//5238\nf 4826//4826 3970//3970 5043//5043\nf 3970//3970 4191//4191 5043//5043\nf 4676//4676 4419//4419 4830//4830\nf 4330//4330 4828//4828 5046//5046\nf 4830//4830 4508//4508 5045//5045\nf 4194//4194 4330//4330 5046//5046\nf 4834//4834 3978//3978 5047//5047\nf 4679//4679 4421//4421 4833//4833\nf 5239//5239 5045//5045 4841//4841\nf 4680//4680 4838//4838 4201//4201\nf 4195//4195 5190//5190 4839//4839\nf 4840//4840 4836//4836 5241//5241\nf 3980//3980 3977//3977 4843//4843\nf 4680//4680 4201//4201 4681//4681\nf 4839//4839 5051//5051 4332//4332\nf 3980//3980 5243//5243 4843//4843\nf 3980//3980 4843//4843 5243//5243\nf 5055//5055 4683//4683 3988//3988\nf 5058//5058 5054//5054 3984//3984\nf 5056//5056 4337//4337 5057//5057\nf 5057//5057 4337//4337 4509//4509\nf 4685//4685 4563//4563 4565//4565\nf 4688//4688 5059//5059 4847//4847\nf 5245//5245 5054//5054 5058//5058\nf 5060//5060 5057//5057 4210//4210\nf 4689//4689 3990//3990 4692//4692\nf 4340//4340 4851//4851 4849//4849\nf 4340//4340 4849//4849 5192//5192\nf 3997//3997 4340//4340 5192//5192\nf 5063//5063 4434//4434 4433//4433\nf 4856//4856 3997//3997 5192//5192\nf 5064//5064 3996//3996 4432//4432\nf 3996//3996 5064//5064 4693//4693\nf 4858//4858 5065//5065 4437//4437\nf 4857//4857 4213//4213 4693//4693\nf 5069//5069 4859//4859 4442//4442\nf 5249//5249 4858//4858 4861//4861\nf 4005//4005 5072//5072 4863//4863\nf 5250//5250 4698//4698 4219//4219\nf 4862//4862 4864//4864 4218//4218\nf 5250//5250 4219//4219 4443//4443\nf 5071//5071 4441//4441 4015//4015\nf 5194//5194 4015//4015 4570//4570\nf 5077//5077 4445//4445 4699//4699\nf 4022//4022 4229//4229 4701//4701\nf 4703//4703 4224//4224 5196//5196\nf 4228//4228 4873//4873 5079//5079\nf 5080//5080 4873//4873 4228//4228\nf 4705//4705 4874//4874 4229//4229\nf 4028//4028 5082//5082 4875//4875\nf 5201//5201 5199//5199 5084//5084\nf 5200//5200 5202//5202 5085//5085\nf 4029//4029 4348//4348 4707//4707\nf 5201//5201 5084//5084 5086//5086\nf 5202//5202 5087//5087 5085//5085\nf 4576//4576 4232//4232 5081//5081\nf 5199//5199 5253//5253 5084//5084\nf 4880//4880 5085//5085 4878//4878\nf 5089//5089 4576//4576 4234//4234\nf 5088//5088 5084//5084 5203//5203\nf 5203//5203 5253//5253 5257//5257\nf 5092//5092 5090//5090 4714//4714\nf 5203//5203 5093//5093 5088//5088\nf 5203//5203 5257//5257 5093//5093\nf 5088//5088 5093//5093 4883//4883\nf 4451//4451 4717//4717 5259//5259\nf 4885//4885 5204//5204 5100//5100\nf 5093//5093 5204//5204 4885//4885\nf 4720//4720 4884//4884 5095//5095\nf 5097//5097 5094//5094 4454//4454\nf 5097//5097 4454//4454 4721//4721\nf 5097//5097 4042//4042 5102//5102\nf 5098//5098 4726//4726 4044//4044\nf 4889//4889 4458//4458 4890//4890\nf 5264//5264 4892//4892 5096//5096\nf 4891//4891 4459//4459 5098//5098\nf 4888//4888 4460//4460 5103//5103\nf 5104//5104 4585//4585 4891//4891\nf 4893//4893 4887//4887 5101//5101\nf 4586//4586 4892//4892 4895//4895\nf 5102//5102 4042//4042 4047//4047\nf 4732//4732 5206//5206 4729//4729\nf 4733//4733 5109//5109 5269//5269\nf 5330//5330 4903//4903 5113//5113\nf 5114//5114 4596//4596 5270//5270\nf 4905//4905 4736//4736 5112//5112\nf 4736//4736 5207//5207 5112//5112\nf 4062//4062 4060//4060 5114//5114\nf 4597//4597 5116//5116 4907//4907\nf 4908//4908 4517//4517 5115//5115\nf 5210//5210 4738//4738 4739//4739\nf 5210//5210 5208//5208 4738//4738\nf 4740//4740 4910//4910 4364//4364\nf 5210//5210 4739//4739 5211//5211\nf 4739//4739 4602//4602 5211//5211\nf 5212//5212 5211//5211 4914//4914\nf 4743//4743 4918//4918 4915//4915\nf 5212//5212 4914//4914 4916//4916\nf 4476//4476 5122//5122 4919//4919\nf 4916//4916 4922//4922 5212//5212\nf 4922//4922 4916//4916 4920//4920\nf 4921//4921 4745//4745 5121//5121\nf 5123//5123 5213//5213 4922//4922\nf 4923//4923 4752//4752 5279//5279\nf 4749//4749 4921//4921 4927//4927\nf 4923//4923 4481//4481 4752//4752\nf 5280//5280 4749//4749 4927//4927\nf 4925//4925 5214//5214 5123//5123\nf 4926//4926 4753//4753 4480//4480\nf 4925//4925 4929//4929 5214//5214\nf 4371//4371 4753//4753 4930//4930\nf 4931//4931 4087//4087 5125//5125\nf 5125//5125 4087//4087 5128//5128\nf 5214//5214 4934//4934 4936//4936\nf 5214//5214 4929//4929 4934//4934\nf 4939//4939 4761//4761 4759//4759\nf 4093//4093 5130//5130 4760//4760\nf 4935//4935 5131//5131 5126//5126\nf 4762//4762 5131//5131 4766//4766\nf 5135//5135 4376//4376 5133//5133\nf 5136//5136 4376//4376 5135//5135\nf 5129//5129 4940//4940 4937//4937\nf 5138//5138 4096//4096 5136//5136\nf 5215//5215 4615//4615 5139//5139\nf 4618//4618 4617//4617 5215//5215\nf 4619//4619 4490//4490 5137//5137\nf 4618//4618 5216//5216 4943//4943\nf 4623//4623 4946//4946 4945//4945\nf 4942//4942 5143//5143 4940//4940\nf 5146//5146 4940//4940 5143//5143\nf 4950//4950 4949//4949 5217//5217\nf 5150//5150 4950//4950 5218//5218\nf 5151//5151 5219//5219 5148//5148\nf 5151//5151 5148//5148 5147//5147\nf 5289//5289 4952//4952 5153//5153\nf 5153//5153 4773//4773 5220//5220\nf 4774//4774 5220//5220 4773//4773\nf 4774//4774 4956//4956 5154//5154\nf 5154//5154 4116//4116 4958//4958\nf 4627//4627 4116//4116 5154//5154\nf 4629//4629 4496//4496 5155//5155\nf 5156//5156 4959//4959 5293//5293\nf 5160//5160 5158//5158 4125//4125\nf 4125//4125 4634//4634 5160//5160\nf 5160//5160 4634//4634 5161//5161\nf 4132//4132 5165//5165 5166//5166\nf 4304//4304 5166//5166 4965//4965\nf 4130//4130 4131//4131 5164//5164\nf 4634//4634 4130//4130 5164//5164\nf 4781//4781 4498//4498 4966//4966\nf 5167//5167 5222//5222 4971//4971\nf 4970//4970 4782//4782 4387//4387\nf 4970//4970 4387//4387 4784//4784\nf 4784//4784 4133//4133 5168//5168\nf 4972//4972 4971//4971 5225//5225\nf 5223//5223 5225//5225 4971//4971\nf 5170//5170 4977//4977 5303//5303\nf 4310//4310 4309//4309 4788//4788\nf 4977//4977 4138//4138 5173//5173\nf 4140//4140 4310//4310 5174//5174\nf 4312//4312 4140//4140 5175//5175\nf 4141//4141 4789//4789 4979//4979\nf 4796//4796 4987//4987 4795//4795\nf 4796//4796 5226//5226 4987//4987\nf 5179//5179 4800//4800 5227//5227\nf 4642//4642 4989//4989 4985//4985\nf 4798//4798 5228//5228 4797//4797\nf 4990//4990 3891//3891 5180//5180\nf 4654//4654 4802//4802 5305//5305\nf 5002//5002 5000//5000 4655//4655\nf 4999//4999 5001//5001 5490//5490\nf 4396//4396 5007//5007 5001//5001\nf 5005//5005 5009//5009 5230//5230\nf 5231//5231 5004//5004 5013//5013\nf 5232//5232 4658//4658 4808//4808\nf 5232//5232 4996//4996 4658//4658\nf 5181//5181 5014//5014 5306//5306\nf 4666//4666 5014//5014 5181//5181\nf 4808//4808 4810//4810 5233//5233\nf 5234//5234 4813//4813 5018//5018\nf 5234//5234 5235//5235 4813//4813\nf 4668//4668 4813//4813 5235//5235\nf 5019//5019 4814//4814 4545//4545\nf 4171//4171 5021//5021 4815//4815\nf 5027//5027 5184//5184 5183//5183\nf 5026//5026 5029//5029 4671//4671\nf 4176//4176 4175//4175 5185//5185\nf 4674//4674 5188//5188 4822//4822\nf 4181//4181 5187//5187 5037//5037\nf 5040//5040 5036//5036 5039//5039\nf 5038//5038 4823//4823 5035//5035\nf 4676//4676 4830//4830 4827//4827\nf 4829//4829 4418//4418 4825//4825\nf 5189//5189 5049//5049 5046//5046\nf 5045//5045 4508//4508 5048//5048\nf 4840//4840 4196//4196 4836//4836\nf 5240//5240 4835//4835 4838//4838\nf 4835//4835 4837//4837 4838//4838\nf 3977//3977 5049//5049 5242//5242\nf 4843//4843 3977//3977 5242//5242\nf 4680//4680 4681//4681 5052//5052\nf 5050//5050 4426//4426 4845//4845\nf 5191//5191 5051//5051 4839//4839\nf 5054//5054 5244//5244 5053//5053\nf 4685//4685 4565//4565 4850//4850\nf 4686//4686 5246//5246 4852//4852\nf 4565//4565 5062//5062 4850//4850\nf 4853//4853 3989//3989 4688//4688\nf 4850//4850 5062//5062 5247//5247\nf 4431//4431 5065//5065 5247//5247\nf 4432//4432 4852//4852 5064//5064\nf 4692//4692 4434//4434 5063//5063\nf 5247//5247 5062//5062 4431//4431\nf 4433//4433 5248//5248 5063//5063\nf 4855//4855 4695//4695 5066//5066\nf 4860//4860 4697//4697 5067//5067\nf 4863//4863 5072//5072 4568//4568\nf 5193//5193 5071//5071 4015//4015\nf 5250//5250 4443//4443 4865//4865\nf 5073//5073 4863//4863 4867//4867\nf 4866//4866 4864//4864 4862//4862\nf 4444//4444 4868//4868 4570//4570\nf 5075//5075 4865//4865 4870//4870\nf 4443//4443 4019//4019 4870//4870\nf 4868//4868 5194//5194 4570//4570\nf 4571//4571 4867//4867 5251//5251\nf 4571//4571 5251//5251 4869//4869\nf 5198//5198 4703//4703 5196//5196\nf 4704//4704 4702//4702 5078//5078\nf 5252//5252 5079//5079 4873//4873\nf 5196//5196 4703//4703 5198//5198\nf 4705//4705 4872//4872 4874//4874\nf 5080//5080 4228//4228 5081//5081\nf 5253//5253 5199//5199 5317//5317\nf 5082//5082 5254//5254 4875//4875\nf 4707//4707 4348//4348 5083//5083\nf 5253//5253 5317//5317 5255//5255\nf 4875//4875 5254//5254 4706//4706\nf 5084//5084 5253//5253 5203//5203\nf 5257//5257 5253//5253 5255//5255\nf 5258//5258 5090//5090 5092//5092\nf 5325//5325 5089//5089 5094//5094\nf 5093//5093 5257//5257 5204//5204\nf 5098//5098 4037//4037 5091//5091\nf 5260//5260 5100//5100 5204//5204\nf 4723//4723 5261//5261 5092//5092\nf 4891//4891 5098//5098 5263//5263\nf 5100//5100 5262//5262 5101//5101\nf 4727//4727 5265//5265 5103//5103\nf 4727//4727 5106//5106 5265//5265\nf 4047//4047 5105//5105 5102//5102\nf 4893//4893 5101//5101 5205//5205\nf 4897//4897 4893//4893 5205//5205\nf 4730//4730 4590//4590 4898//4898\nf 4730//4730 4898//4898 5725//5725\nf 5206//5206 4732//4732 5111//5111\nf 4731//4731 5110//5110 5270//5270\nf 4733//4733 5269//5269 4904//4904\nf 5271//5271 5113//5113 4907//4907\nf 4910//4910 5207//5207 4736//4736\nf 5116//5116 4738//4738 5273//5273\nf 5273//5273 4738//4738 5208//5208\nf 4910//4910 4740//4740 5274//5274\nf 4912//4912 5338//5338 5118//5118\nf 4918//4918 5275//5275 4915//4915\nf 5122//5122 5276//5276 4919//4919\nf 5278//5278 4918//4918 4746//4746\nf 5343//5343 4922//4922 5213//5213\nf 4923//4923 5278//5278 4746//4746\nf 5121//5121 5277//5277 4921//4921\nf 4478//4478 5276//5276 4748//4748\nf 4927//4927 4921//4921 5277//5277\nf 4753//4753 4926//4926 5410//5410\nf 4933//4933 5281//5281 5282//5282\nf 5126//5126 4933//4933 5282//5282\nf 4760//4760 5414//5414 5786//5786\nf 4935//4935 5126//5126 5131//5131\nf 4764//4764 4760//4760 5130//5130\nf 5134//5134 4521//4521 4767//4767\nf 5134//5134 4767//4767 5284//5284\nf 4289//4289 4766//4766 5137//5137\nf 5283//5283 5136//5136 5135//5135\nf 5141//5141 5284//5284 4767//4767\nf 5285//5285 4623//4623 4945//4945\nf 4944//4944 4943//4943 5346//5346\nf 5217//5217 4949//4949 5286//5286\nf 5219//5219 5287//5287 5148//5148\nf 5287//5287 5149//5149 5148//5148\nf 5218//5218 5152//5152 5150//5150\nf 5289//5289 5151//5151 4952//4952\nf 5152//5152 5218//5218 5288//5288\nf 5290//5290 5152//5152 5288//5288\nf 5152//5152 5290//5290 4955//4955\nf 5291//5291 5220//5220 4774//4774\nf 5291//5291 4774//4774 5154//5154\nf 4629//4629 5292//5292 5154//5154\nf 4959//4959 4957//4957 5221//5221\nf 5221//5221 5351//5351 5293//5293\nf 5156//5156 4775//4775 4959//4959\nf 4960//4960 5294//5294 4777//4777\nf 5294//5294 4631//4631 4777//4777\nf 5157//5157 5353//5353 4961//4961\nf 5295//5295 4962//4962 5160//5160\nf 5353//5353 5159//5159 4961//4961\nf 5161//5161 4634//4634 5164//5164\nf 5354//5354 5222//5222 5296//5296\nf 5167//5167 5296//5296 5222//5222\nf 5296//5296 5167//5167 4967//4967\nf 4781//4781 5297//5297 4967//4967\nf 5296//5296 4967//4967 5297//5297\nf 4971//4971 5222//5222 5223//5223\nf 5223//5223 5222//5222 5298//5298\nf 5299//5299 5300//5300 5223//5223\nf 4970//4970 4784//4784 5224//5224\nf 4784//4784 5168//5168 5224//5224\nf 5225//5225 5223//5223 5300//5300\nf 5169//5169 4972//4972 5301//5301\nf 5170//5170 5302//5302 4973//4973\nf 4972//4972 5225//5225 5301//5301\nf 5360//5360 4976//4976 4975//4975\nf 4976//4976 4786//4786 4975//4975\nf 4787//4787 4309//4309 5172//5172\nf 4310//4310 4788//4788 5174//5174\nf 4312//4312 5175//5175 4789//4789\nf 4792//4792 4791//4791 4638//4638\nf 5362//5362 4980//4980 4984//4984\nf 5439//5439 5362//5362 4984//4984\nf 4641//4641 5364//5364 4983//4983\nf 5364//5364 5454//5454 4986//4986\nf 5364//5364 4986//4986 4983//4983\nf 4986//4986 5366//5366 4991//4991\nf 4797//4797 5228//5228 5177//5177\nf 5177//5177 5228//5228 4798//4798\nf 4801//4801 4993//4993 5227//5227\nf 4993//4993 5304//5304 5227//5227\nf 5368//5368 4802//4802 4991//4991\nf 3897//3897 4997//4997 5180//5180\nf 5474//5474 5180//5180 4997//4997\nf 5474//5474 4997//4997 5478//5478\nf 4992//4992 4660//4660 5229//5229\nf 4803//4803 3902//3902 4999//4999\nf 4660//4660 5004//5004 5231//5231\nf 5008//5008 5003//5003 4662//4662\nf 5003//5003 5008//5008 4662//4662\nf 4665//4665 5182//5182 5013//5013\nf 5507//5507 5182//5182 5017//5017\nf 5507//5507 5017//5017 5019//5019\nf 4815//4815 5021//5021 4811//4811\nf 5020//5020 4667//4667 5023//5023\nf 4814//4814 4817//4817 5307//5307\nf 4818//4818 4815//4815 5525//5525\nf 5025//5025 5024//5024 5236//5236\nf 5022//5022 4546//4546 4816//4816\nf 5183//5183 5022//5022 4816//4816\nf 4817//4817 4819//4819 5308//5308\nf 5308//5308 4819//4819 5309//5309\nf 5187//5187 4176//4176 5311//5311\nf 4176//4176 5185//5185 5311//5311\nf 5042//5042 5038//5038 5547//5547\nf 5043//5043 4834//4834 5047//5047\nf 4831//4831 4835//4835 5240//5240\nf 4838//4838 4680//4680 5375//5375\nf 5569//5569 4841//4841 4683//4683\nf 4844//4844 4840//4840 5241//5241\nf 4562//4562 5051//5051 4846//4846\nf 4848//4848 5245//5245 5058//5058\nf 4688//4688 5312//5312 4853//4853\nf 5248//5248 4433//4433 4854//4854\nf 5606//5606 5248//5248 5604//5604\nf 4694//4694 5192//5192 5313//5313\nf 4694//4694 4856//4856 5192//5192\nf 5597//5597 5247//5247 5065//5065\nf 4859//4859 5069//5069 5070//5070\nf 4698//4698 5250//5250 5625//5625\nf 5193//5193 4015//4015 5194//5194\nf 4863//4863 5073//5073 4867//4867\nf 4443//4443 4870//4870 4865//4865\nf 4871//4871 4869//4869 5251//5251\nf 5252//5252 4873//4873 5080//5080\nf 5314//5314 5380//5380 5315//5315\nf 5314//5314 5315//5315 5317//5317\nf 5314//5314 5317//5317 5199//5199\nf 5316//5316 5314//5314 5199//5199\nf 5382//5382 5317//5317 5315//5315\nf 5318//5318 5316//5316 5201//5201\nf 5083//5083 4227//4227 4703//4703\nf 5201//5201 5316//5316 5199//5199\nf 5318//5318 5201//5201 5200//5200\nf 5200//5200 5085//5085 5319//5319\nf 5667//5667 4872//4872 4705//4705\nf 5255//5255 5317//5317 5320//5320\nf 5255//5255 5320//5320 5384//5384\nf 4232//4232 4576//4576 5081//5081\nf 5256//5256 5085//5085 4880//4880\nf 5323//5323 5256//5256 4880//4880\nf 5323//5323 4880//4880 5090//5090\nf 5257//5257 5322//5322 5324//5324\nf 5204//5204 5257//5257 5260//5260\nf 5257//5257 5324//5324 5260//5260\nf 5259//5259 4717//4717 4881//4881\nf 4717//4717 4451//4451 5259//5259\nf 5326//5326 5098//5098 5091//5091\nf 5096//5096 4717//4717 5259//5259\nf 4720//4720 5095//5095 4884//4884\nf 4723//4723 5099//5099 5261//5261\nf 5100//5100 5260//5260 5327//5327\nf 5100//5100 5327//5327 5262//5262\nf 4725//4725 4889//4889 4890//4890\nf 5101//5101 5328//5328 5205//5205\nf 5264//5264 4892//4892 4895//4895\nf 5105//5105 4896//4896 5266//5266\nf 4896//4896 4899//4899 5266//5266\nf 4897//4897 5267//5267 5108//5108\nf 5108//5108 5267//5267 5329//5329\nf 4593//4593 4901//4901 5268//5268\nf 5330//5330 5111//5111 4903//4903\nf 4904//4904 5269//5269 4906//4906\nf 5114//5114 5270//5270 5272//5272\nf 5271//5271 4907//4907 5116//5116\nf 5331//5331 5273//5273 5208//5208\nf 5331//5331 5208//5208 5332//5332\nf 5333//5333 5119//5119 5334//5334\nf 5332//5332 5210//5210 5336//5336\nf 5208//5208 5210//5210 5332//5332\nf 5333//5333 5335//5335 5119//5119\nf 5117//5117 5209//5209 4737//4737\nf 5117//5117 4737//4737 5403//5403\nf 5405//5405 4911//4911 5118//5118\nf 5119//5119 5335//5335 5120//5120\nf 5120//5120 5335//5335 5337//5337\nf 5405//5405 5118//5118 5338//5338\nf 5211//5211 5340//5340 5210//5210\nf 5210//5210 5340//5340 5336//5336\nf 5341//5341 4742//4742 5117//5117\nf 4740//4740 4915//4915 5274//5274\nf 5339//5339 5338//5338 4912//4912\nf 5337//5337 5342//5342 5120//5120\nf 5212//5212 5343//5343 5211//5211\nf 5343//5343 5212//5212 4922//4922\nf 4918//4918 5278//5278 4923//4923\nf 4478//4478 4919//4919 5276//5276\nf 4927//4927 5277//5277 5280//5280\nf 5214//5214 4936//4936 4938//4938\nf 5214//5214 4938//4938 4936//4936\nf 5132//5132 4939//4939 4759//4759\nf 5414//5414 4760//4760 4764//4764\nf 5414//5414 4764//4764 5789//5789\nf 5135//5135 5344//5344 5283//5283\nf 5138//5138 5283//5283 5418//5418\nf 5796//5796 4945//4945 4619//4619\nf 5345//5345 5139//5139 5138//5138\nf 5347//5347 4944//4944 5346//5346\nf 4944//4944 5347//5347 4770//4770\nf 5218//5218 4950//4950 5217//5217\nf 5219//5219 5151//5151 5289//5289\nf 5289//5289 5153//5153 5348//5348\nf 5220//5220 5348//5348 5153//5153\nf 5220//5220 5291//5291 5349//5349\nf 4959//4959 5221//5221 5293//5293\nf 5155//5155 4631//4631 4629//4629\nf 4631//4631 5352//5352 4629//4629\nf 5294//5294 4960//4960 4631//4631\nf 5165//5165 5163//5163 5939//5939\nf 5164//5164 4131//4131 4965//4965\nf 5298//5298 5354//5354 5355//5355\nf 5298//5298 5222//5222 5354//5354\nf 5298//5298 5356//5356 5358//5358\nf 4968//4968 4782//4782 5357//5357\nf 5223//5223 5298//5298 5299//5299\nf 5299//5299 5298//5298 5358//5358\nf 5299//5299 5359//5359 5300//5300\nf 5299//5299 5358//5358 5359//5359\nf 5225//5225 5300//5300 5301//5301\nf 5170//5170 5171//5171 4977//4977\nf 4788//4788 4309//4309 4787//4787\nf 4977//4977 5176//5176 5303//5303\nf 4977//4977 5173//5173 5176//5176\nf 4792//4792 4639//4639 4791//4791\nf 5437//5437 5436//5436 4793//4793\nf 5438//5438 5361//5361 5362//5362\nf 5436//5436 4639//4639 4793//4793\nf 4793//4793 4980//4980 5361//5361\nf 5437//5437 4793//4793 5361//5361\nf 5362//5362 5361//5361 4980//4980\nf 5362//5362 5439//5439 4984//4984\nf 5442//5442 4642//4642 5363//5363\nf 5364//5364 4641//4641 5444//5444\nf 5441//5441 4984//4984 4987//4987\nf 5880//5880 5178//5178 5448//5448\nf 5881//5881 5179//5179 5448//5448\nf 5881//5881 5448//5448 5179//5179\nf 4991//4991 5366//5366 5459//5459\nf 5367//5367 5226//5226 4796//4796\nf 5228//5228 5177//5177 5455//5455\nf 4797//4797 5228//5228 5455//5455\nf 4993//4993 5000//5000 5304//5304\nf 5367//5367 4796//4796 4992//4992\nf 5229//5229 5462//5462 4992//4992\nf 5473//5473 4998//4998 4646//4646\nf 5369//5369 4654//4654 5305//5305\nf 5368//5368 5471//5471 4802//4802\nf 5492//5492 5014//5014 5485//5485\nf 5369//5369 4656//4656 4654//4654\nf 4804//4804 4995//4995 5476//5476\nf 5487//5487 5005//5005 5230//5230\nf 5489//5489 5487//5487 5006//5006\nf 5014//5014 4804//4804 5485//5485\nf 5014//5014 4663//4663 4804//4804\nf 5491//5491 4662//4662 5008//5008\nf 5495//5495 5016//5016 5010//5010\nf 5507//5507 5504//5504 5182//5182\nf 5506//5506 5233//5233 4541//4541\nf 4541//4541 5233//5233 4810//4810\nf 5509//5509 5019//5019 5513//5513\nf 4815//4815 4811//4811 5512//5512\nf 5519//5519 4669//4669 5023//5023\nf 4817//4817 5308//5308 5307//5307\nf 5184//5184 5529//5529 5183//5183\nf 5184//5184 5027//5027 5529//5529\nf 5532//5532 4821//4821 5033//5033\nf 4553//4553 5036//5036 5541//5541\nf 4824//4824 5370//5370 5188//5188\nf 4827//4827 5372//5372 5551//5551\nf 5046//5046 4828//4828 5189//5189\nf 5563//5563 5373//5373 4831//4831\nf 4832//4832 4831//4831 5561//5561\nf 4679//4679 4833//4833 5374//5374\nf 5190//5190 4679//4679 5374//5374\nf 4680//4680 5570//5570 5571//5571\nf 4843//4843 5242//5242 5243//5243\nf 5575//5575 5191//5191 4839//4839\nf 4680//4680 5052//5052 5570//5570\nf 5376//5376 5054//5054 5245//5245\nf 5580//5580 5057//5057 5590//5590\nf 4849//4849 4684//4684 5591//5591\nf 4852//4852 5589//5589 5064//5064\nf 5601//5601 4854//4854 4853//4853\nf 4694//4694 5313//5313 5607//5607\nf 5597//5597 5065//5065 4858//4858\nf 5612//5612 5249//5249 4861//4861\nf 5613//5613 4859//4859 5615//5615\nf 5615//5615 4859//4859 5070//5070\nf 5250//5250 4865//4865 5631//5631\nf 5629//5629 5194//5194 4868//4868\nf 5632//5632 5377//5377 5074//5074\nf 5632//5632 5637//5637 5377//5377\nf 5074//5074 5377//5377 5077//5077\nf 4699//4699 5074//5074 5077//5077\nf 5078//5078 5077//5077 5651//5651\nf 5650//5650 5649//5649 5379//5379\nf 5380//5380 5378//5378 5315//5315\nf 5379//5379 5649//5649 5380//5380\nf 5651//5651 5657//5657 5078//5078\nf 5379//5379 5380//5380 5314//5314\nf 5381//5381 5314//5314 5316//5316\nf 5379//5379 5314//5314 5381//5381\nf 4703//4703 5196//5196 5658//5658\nf 5378//5378 5382//5382 5315//5315\nf 5653//5653 5381//5381 5316//5316\nf 5383//5383 5385//5385 5384//5384\nf 5320//5320 5382//5382 5383//5383\nf 5659//5659 5318//5318 5200//5200\nf 5317//5317 5382//5382 5320//5320\nf 5663//5663 5319//5319 5666//5666\nf 5667//5667 5664//5664 4872//4872\nf 5383//5383 5384//5384 5320//5320\nf 5319//5319 5085//5085 5256//5256\nf 5321//5321 4707//4707 5083//5083\nf 5386//5386 5319//5319 5256//5256\nf 5679//5679 4876//4876 4577//4577\nf 5255//5255 5384//5384 5322//5322\nf 5673//5673 5386//5386 5256//5256\nf 5674//5674 4706//4706 5254//5254\nf 5257//5257 5255//5255 5322//5322\nf 5094//5094 5685//5685 5325//5325\nf 5324//5324 5387//5387 5260//5260\nf 5324//5324 5687//5687 5387//5387\nf 5690//5690 5092//5092 5261//5261\nf 5387//5387 5327//5327 5260//5260\nf 5692//5692 5095//5095 5696//5696\nf 5095//5095 4720//4720 5696//5696\nf 5694//5694 5094//5094 5097//5097\nf 5387//5387 5388//5388 5327//5327\nf 5099//5099 4888//4888 5103//5103\nf 5703//5703 4725//4725 4890//4890\nf 5097//5097 5102//5102 5707//5707\nf 5712//5712 5103//5103 5265//5265\nf 4895//4895 4892//4892 5264//5264\nf 5264//5264 5705//5705 5713//5713\nf 5328//5328 5262//5262 5391//5391\nf 5101//5101 5262//5262 5328//5328\nf 5205//5205 5328//5328 5267//5267\nf 5106//5106 4728//4728 5107//5107\nf 4897//4897 5205//5205 5267//5267\nf 4899//4899 4593//4593 5268//5268\nf 4729//4729 5206//5206 5722//5722\nf 5266//5266 4899//4899 5268//5268\nf 5109//5109 5329//5329 5726//5726\nf 5392//5392 5111//5111 5330//5330\nf 5330//5330 5113//5113 5392//5392\nf 5393//5393 5392//5392 5113//5113\nf 5394//5394 5113//5113 5271//5271\nf 5394//5394 5393//5393 5113//5113\nf 5110//5110 5727//5727 5270//5270\nf 5270//5270 5727//5727 5731//5731\nf 5395//5395 4906//4906 5269//5269\nf 5733//5733 5271//5271 5116//5116\nf 5112//5112 5207//5207 5736//5736\nf 5398//5398 4906//4906 5395//5395\nf 5331//5331 5397//5397 5273//5273\nf 5397//5397 5396//5396 5273//5273\nf 5114//5114 5272//5272 5735//5735\nf 5333//5333 5334//5334 5399//5399\nf 5334//5334 5119//5119 5400//5400\nf 5401//5401 5400//5400 5119//5119\nf 5402//5402 5335//5335 5333//5333\nf 4741//4741 5401//5401 5119//5119\nf 5402//5402 5747//5747 5335//5335\nf 5335//5335 5749//5749 5337//5337\nf 5341//5341 5117//5117 5752//5752\nf 5338//5338 5339//5339 5755//5755\nf 5340//5340 5211//5211 5343//5343\nf 5407//5407 4742//4742 5341//5341\nf 5407//5407 5122//5122 4742//4742\nf 5121//5121 5120//5120 5342//5342\nf 5759//5759 4915//4915 5275//5275\nf 4919//4919 5276//5276 5122//5122\nf 5409//5409 5277//5277 5757//5757\nf 4923//4923 5278//5278 4918//4918\nf 5763//5763 4918//4918 5278//5278\nf 4933//4933 5280//5280 5281//5281\nf 5280//5280 5770//5770 5281//5281\nf 4930//4930 4753//4753 5410//5410\nf 4752//4752 4928//4928 4931//4931\nf 4752//4752 4931//4931 5411//5411\nf 4930//4930 5410//5410 5772//5772\nf 5127//5127 4757//4757 4930//4930\nf 4931//4931 5125//5125 5128//5128\nf 4931//4931 5128//5128 5781//5781\nf 5282//5282 5778//5778 5783//5783\nf 4759//4759 5413//5413 5132//5132\nf 5415//5415 5133//5133 5791//5791\nf 4940//4940 5129//5129 4937//4937\nf 5344//5344 5135//5135 5133//5133\nf 5415//5415 5344//5344 5133//5133\nf 5416//5416 5134//5134 5284//5284\nf 5418//5418 5283//5283 5344//5344\nf 5138//5138 5136//5136 5283//5283\nf 5798//5798 5284//5284 5141//5141\nf 4940//4940 5146//5146 5793//5793\nf 5285//5285 5145//5145 4623//4623\nf 5802//5802 5806//5806 5216//5216\nf 5419//5419 5141//5141 5140//5140\nf 5420//5420 5141//5141 5419//5419\nf 5799//5799 5803//5803 5145//5145\nf 5145//5145 5285//5285 5799//5799\nf 5423//5423 5805//5805 5421//5421\nf 5217//5217 5424//5424 5815//5815\nf 5218//5218 5217//5217 5425//5425\nf 5149//5149 5287//5287 5816//5816\nf 5288//5288 5218//5218 5425//5425\nf 5289//5289 5426//5426 5219//5219\nf 5290//5290 4957//4957 4955//4955\nf 5348//5348 5349//5349 5428//5428\nf 5348//5348 5220//5220 5349//5349\nf 5348//5348 5428//5428 5427//5427\nf 5827//5827 4957//4957 5290//5290\nf 5428//5428 5349//5349 5429//5429\nf 5154//5154 5292//5292 5291//5291\nf 5831//5831 5292//5292 4629//4629\nf 5350//5350 5430//5430 5351//5351\nf 5350//5350 5351//5351 5221//5221\nf 5430//5430 5833//5833 5835//5835\nf 4960//4960 5294//5294 4631//4631\nf 4960//4960 5295//5295 5355//5355\nf 4960//4960 4962//4962 5295//5295\nf 5157//5157 5841//5841 5353//5353\nf 5844//5844 5354//5354 5296//5296\nf 5159//5159 5846//5846 4964//4964\nf 4965//4965 5850//5850 5851//5851\nf 5355//5355 5356//5356 5298//5298\nf 5295//5295 5356//5356 5355//5355\nf 5432//5432 4966//4966 4968//4968\nf 5433//5433 5300//5300 5864//5864\nf 5864//5864 5300//5300 5359//5359\nf 5300//5300 5433//5433 5301//5301\nf 5301//5301 5433//5433 5866//5866\nf 5170//5170 5434//5434 5302//5302\nf 5169//5169 5867//5867 5868//5868\nf 5870//5870 4976//4976 5360//5360\nf 5436//5436 4791//4791 4639//4639\nf 5437//5437 5361//5361 5438//5438\nf 5438//5438 5362//5362 5439//5439\nf 4984//4984 5439//5439 5362//5362\nf 4984//4984 5441//5441 5439//5439\nf 5442//5442 5443//5443 5363//5363\nf 5442//5442 5363//5363 5443//5443\nf 5445//5445 5879//5879 4640//4640\nf 4638//4638 5440//5440 4640//4640\nf 5440//5440 5879//5879 4640//4640\nf 5441//5441 4987//4987 5446//5446\nf 5449//5449 5881//5881 5448//5448\nf 4982//4982 5451//5451 5450//5450\nf 4982//4982 4981//4981 5451//5451\nf 5451//5451 4981//4981 5452//5452\nf 5442//5442 5452//5452 4642//4642\nf 4642//4642 5442//5442 5363//5363\nf 4642//4642 4985//4985 5442//5442\nf 5442//5442 4985//4985 5443//5443\nf 5453//5453 5443//5443 4985//4985\nf 4987//4987 5367//5367 5446//5446\nf 5177//5177 5178//5178 5365//5365\nf 5449//5449 5227//5227 5456//5456\nf 5366//5366 4986//4986 5454//5454\nf 5226//5226 5367//5367 4987//4987\nf 5455//5455 5177//5177 5365//5365\nf 5449//5449 5179//5179 5227//5227\nf 5228//5228 4797//4797 5177//5177\nf 5461//5461 5456//5456 5304//5304\nf 5000//5000 5461//5461 5304//5304\nf 5367//5367 4992//4992 5460//5460\nf 5461//5461 5000//5000 5464//5464\nf 4643//4643 5457//5457 4644//4644\nf 4989//4989 5466//5466 4985//4985\nf 4985//4985 5466//5466 5458//5458\nf 5460//5460 5462//5462 5468//5468\nf 5468//5468 5462//5462 5229//5229\nf 4995//4995 4797//4797 5463//5463\nf 5464//5464 5000//5000 5467//5467\nf 4990//4990 5470//5470 4645//4645\nf 5471//5471 5305//5305 4802//4802\nf 5477//5477 4994//4994 5469//5469\nf 4994//4994 4644//4644 5469//5469\nf 5472//5472 4645//4645 5470//5470\nf 5305//5305 5471//5471 5369//5369\nf 5468//5468 5229//5229 4660//4660\nf 4646//4646 5472//5472 5473//5473\nf 5472//5472 4646//4646 4645//4645\nf 5474//5474 5478//5478 6253//6253\nf 5467//5467 5000//5000 5002//5002\nf 4989//4989 4996//4996 5466//5466\nf 5479//5479 4656//4656 5369//5369\nf 4804//4804 4651//4651 4995//4995\nf 4994//4994 5477//5477 4534//4534\nf 5473//5473 5482//5482 4998//4998\nf 5003//5003 5483//5483 5479//5479\nf 5483//5483 5003//5003 4656//4656\nf 5479//5479 5483//5483 4656//4656\nf 5475//5475 4660//4660 5231//5231\nf 5485//5485 4804//4804 5476//5476\nf 5467//5467 5002//5002 5480//5480\nf 5005//5005 5480//5480 5002//5002\nf 5486//5486 4534//4534 5477//5477\nf 4657//4657 4534//4534 5486//5486\nf 5491//5491 5008//5008 5003//5003\nf 5006//5006 5486//5486 5489//5489\nf 5487//5487 5230//5230 5006//5006\nf 5486//5486 5006//5006 4657//4657\nf 5493//5493 5014//5014 5492//5492\nf 5956//5956 5001//5001 5887//5887\nf 4998//4998 5495//5495 5010//5010\nf 5482//5482 5495//5495 4998//4998\nf 5494//5494 4996//4996 5232//5232\nf 5496//5496 5007//5007 5011//5011\nf 5498//5498 5501//5501 5886//5886\nf 5494//5494 5232//5232 4808//4808\nf 5012//5012 5496//5496 5011//5011\nf 4809//4809 4662//4662 5500//5500\nf 4662//4662 5497//5497 5500//5500\nf 5493//5493 5502//5502 5014//5014\nf 5014//5014 5502//5502 5306//5306\nf 5500//5500 5012//5012 4809//4809\nf 5499//5499 5012//5012 5500//5500\nf 5503//5503 5016//5016 5495//5495\nf 5182//5182 5501//5501 5013//5013\nf 5505//5505 5181//5181 5306//5306\nf 5182//5182 5504//5504 5501//5501\nf 5016//5016 5508//5508 5018//5018\nf 5510//5510 5506//5506 4541//4541\nf 5234//5234 5508//5508 5511//5511\nf 5234//5234 5018//5018 5508//5508\nf 5509//5509 5507//5507 5019//5019\nf 5022//5022 5518//5518 5888//5888\nf 5234//5234 5511//5511 5514//5514\nf 5235//5235 5234//5234 5514//5514\nf 5513//5513 5019//5019 4814//4814\nf 5513//5513 4814//4814 5515//5515\nf 5022//5022 4541//4541 4543//4543\nf 4667//4667 5516//5516 5023//5023\nf 5515//5515 4814//4814 5307//5307\nf 5515//5515 5307//5307 5522//5522\nf 5888//5888 5518//5518 5526//5526\nf 5024//5024 4669//4669 5521//5521\nf 5518//5518 5022//5022 5183//5183\nf 5521//5521 5236//5236 5024//5024\nf 5521//5521 5523//5523 5236//5236\nf 5522//5522 5307//5307 5308//5308\nf 5525//5525 4815//4815 5520//5520\nf 5526//5526 5518//5518 5183//5183\nf 5236//5236 5523//5523 5025//5025\nf 5524//5524 5522//5522 5308//5308\nf 5523//5523 5026//5026 5025//5025\nf 5026//5026 5527//5527 5029//5029\nf 5308//5308 5528//5528 5524//5524\nf 5529//5529 5526//5526 5183//5183\nf 5528//5528 5309//5309 5531//5531\nf 5031//5031 5029//5029 5530//5530\nf 5530//5530 5532//5532 5031//5031\nf 5185//5185 5028//5028 5310//5310\nf 5531//5531 5309//5309 5032//5032\nf 5531//5531 5032//5032 5533//5533\nf 5033//5033 5031//5031 5532//5532\nf 5032//5032 5186//5186 5533//5533\nf 4821//4821 5532//5532 5535//5535\nf 5533//5533 5186//5186 4822//4822\nf 5533//5533 4822//4822 5536//5536\nf 5034//5034 4821//4821 5535//5535\nf 5537//5537 4553//4553 5541//5541\nf 5538//5538 5188//5188 5370//5370\nf 5034//5034 5535//5535 5035//5035\nf 5539//5539 5542//5542 5035//5035\nf 4675//4675 5037//5037 5371//5371\nf 5541//5541 5036//5036 5543//5543\nf 5544//5544 5547//5547 5038//5038\nf 5040//5040 4826//4826 5543//5543\nf 4824//4824 5041//5041 5545//5545\nf 5549//5549 5041//5041 4827//4827\nf 4675//4675 5548//5548 4825//4825\nf 5550//5550 4826//4826 5552//5552\nf 5551//5551 5372//5372 4830//4830\nf 5372//5372 4827//4827 4830//4830\nf 5553//5553 5552//5552 5043//5043\nf 4836//4836 4829//4829 5556//5556\nf 5557//5557 5189//5189 5555//5555\nf 4836//4836 5556//5556 5558//5558\nf 5553//5553 5047//5047 5559//5559\nf 5553//5553 5043//5043 5047//5047\nf 5045//5045 5239//5239 5560//5560\nf 5559//5559 4682//4682 5566//5566\nf 5049//5049 5189//5189 5242//5242\nf 5563//5563 4831//4831 5373//5373\nf 5559//5559 5047//5047 4682//4682\nf 6046//6046 5559//5559 5566//5566\nf 5563//5563 4831//4831 5373//5373\nf 5563//5563 5561//5561 4831//4831\nf 5564//5564 5374//5374 4833//4833\nf 5240//5240 4838//4838 5567//5567\nf 5373//5373 4831//4831 5563//5563\nf 5190//5190 5374//5374 5568//5568\nf 5566//5566 4682//4682 5050//5050\nf 5375//5375 5571//5571 5570//5570\nf 5569//5569 4683//4683 5573//5573\nf 5052//5052 5574//5574 5570//5570\nf 4844//4844 5241//5241 5565//5565\nf 5575//5575 5051//5051 5191//5191\nf 4683//4683 5055//5055 4685//4685\nf 5578//5578 5051//5051 5575//5575\nf 4847//4847 4843//4843 5572//5572\nf 5579//5579 4844//4844 5576//5576\nf 5056//5056 5580//5580 4845//4845\nf 4844//4844 5579//5579 4686//4686\nf 5376//5376 5581//5581 5054//5054\nf 5581//5581 5244//5244 5054//5054\nf 5051//5051 5896//5896 4846//4846\nf 5586//5586 5376//5376 5054//5054\nf 4847//4847 5583//5583 5585//5585\nf 5376//5376 5586//5586 5054//5054\nf 5245//5245 5586//5586 5376//5376\nf 4685//4685 4850//4850 5582//5582\nf 4848//4848 5588//5588 5245//5245\nf 5588//5588 5586//5586 5245//5245\nf 5589//5589 4686//4686 5579//5579\nf 4688//4688 4847//4847 5585//5585\nf 5590//5590 5060//5060 5061//5061\nf 5592//5592 4688//4688 5585//5585\nf 5592//5592 5594//5594 4688//4688\nf 5595//5595 5588//5588 4848//4848\nf 5595//5595 4848//4848 4692//4692\nf 5591//5591 5192//5192 4849//4849\nf 5064//5064 5589//5589 5897//5897\nf 5898//5898 5590//5590 5061//5061\nf 5312//5312 4688//4688 5594//5594\nf 5897//5897 5598//5598 5064//5064\nf 4853//4853 5312//5312 5594//5594\nf 5593//5593 5247//5247 5597//5597\nf 4853//4853 5594//5594 5601//5601\nf 5063//5063 5596//5596 4692//4692\nf 4854//4854 5601//5601 5602//5602\nf 5603//5603 5596//5596 5063//5063\nf 5602//5602 5604//5604 4854//4854\nf 5248//5248 4854//4854 5604//5604\nf 5606//5606 5605//5605 5248//5248\nf 5605//5605 5063//5063 5248//5248\nf 5605//5605 5603//5603 5063//5063\nf 4855//4855 5066//5066 5599//5599\nf 5600//5600 5313//5313 5192//5192\nf 5600//5600 5607//5607 5313//5313\nf 5608//5608 5064//5064 5598//5598\nf 5899//5899 4858//4858 5249//5249\nf 5067//5067 4694//4694 5611//5611\nf 5899//5899 5597//5597 4858//4858\nf 5613//5613 5066//5066 4859//4859\nf 5609//5609 5066//5066 5613//5613\nf 5068//5068 5614//5614 5616//5616\nf 5068//5068 4857//4857 5614//5614\nf 5617//5617 4860//4860 5067//5067\nf 5068//5068 5616//5616 5618//5618\nf 5618//5618 4568//4568 5068//5068\nf 5615//5615 5070//5070 5620//5620\nf 5622//5622 4860//4860 5621//5621\nf 5621//5621 4860//4860 5617//5617\nf 4862//4862 4860//4860 5622//5622\nf 5624//5624 5071//5071 5193//5193\nf 6066//6066 5620//5620 5625//5625\nf 5625//5625 5250//5250 5631//5631\nf 4862//4862 5628//5628 4866//4866\nf 4862//4862 5622//5622 5628//5628\nf 5073//5073 5627//5627 4867//4867\nf 5632//5632 4866//4866 5628//5628\nf 5633//5633 5629//5629 4868//4868\nf 4867//4867 5630//5630 5251//5251\nf 5195//5195 5638//5638 5634//5634\nf 4871//4871 5251//5251 5639//5639\nf 5251//5251 5635//5635 5639//5639\nf 5075//5075 4700//4700 5640//5640\nf 5195//5195 5076//5076 5638//5638\nf 5639//5639 5644//5644 4871//4871\nf 5641//5641 5646//5646 5647//5647\nf 5076//5076 5197//5197 5655//5655\nf 5648//5648 5641//5641 5647//5647\nf 5642//5642 5649//5649 5645//5645\nf 5196//5196 4871//4871 5652//5652\nf 5079//5079 5252//5252 5656//5656\nf 5642//5642 5641//5641 5648//5648\nf 5378//5378 5380//5380 5649//5649\nf 5642//5642 5648//5648 5649//5649\nf 5645//5645 5649//5649 5650//5650\nf 5638//5638 5076//5076 5655//5655\nf 5646//5646 5654//5654 5647//5647\nf 5648//5648 5378//5378 5649//5649\nf 5650//5650 5379//5379 5653//5653\nf 5648//5648 5647//5647 5378//5378\nf 5653//5653 5379//5379 5381//5381\nf 4704//4704 5078//5078 5657//5657\nf 5655//5655 4872//4872 5660//5660\nf 5197//5197 4872//4872 5655//5655\nf 5647//5647 5654//5654 5385//5385\nf 5382//5382 5378//5378 5647//5647\nf 5659//5659 5653//5653 5316//5316\nf 5318//5318 5659//5659 5316//5316\nf 5382//5382 5647//5647 5385//5385\nf 5665//5665 5385//5385 5903//5903\nf 5383//5383 5382//5382 5385//5385\nf 5385//5385 5665//5665 5384//5384\nf 5668//5668 4703//4703 5661//5661\nf 5668//5668 5083//5083 4703//4703\nf 5384//5384 5665//5665 5669//5669\nf 5669//5669 5665//5665 5903//5903\nf 5904//5904 5080//5080 5081//5081\nf 5670//5670 5319//5319 5386//5386\nf 5384//5384 5669//5669 5672//5672\nf 5673//5673 5670//5670 5386//5386\nf 5674//5674 5082//5082 5671//5671\nf 5669//5669 5906//5906 5672//5672\nf 5675//5675 5667//5667 4705//4705\nf 5322//5322 5384//5384 5672//5672\nf 5322//5322 5672//5672 5676//5676\nf 5254//5254 5082//5082 5674//5674\nf 5670//5670 5673//5673 5256//5256\nf 5670//5670 5256//5256 5677//5677\nf 5677//5677 5256//5256 5323//5323\nf 5907//5907 5677//5677 5680//5680\nf 5677//5677 5323//5323 5680//5680\nf 4881//4881 4706//4706 5674//5674\nf 5684//5684 4879//4879 5678//5678\nf 5322//5322 5676//5676 5681//5681\nf 5680//5680 5323//5323 5090//5090\nf 4881//4881 5674//5674 5682//5682\nf 5679//5679 4577//4577 4882//4882\nf 4882//4882 5683//5683 5679//5679\nf 5685//5685 4576//4576 5089//5089\nf 5324//5324 5322//5322 5681//5681\nf 5324//5324 5681//5681 5687//5687\nf 4882//4882 5688//5688 5683//5683\nf 5387//5387 5681//5681 5689//5689\nf 5092//5092 5686//5686 5258//5258\nf 5092//5092 5690//5690 5686//5686\nf 4882//4882 4884//4884 5688//5688\nf 5681//5681 5387//5387 5687//5687\nf 5259//5259 4881//4881 5691//5691\nf 5692//5692 5688//5688 4884//4884\nf 5689//5689 5695//5695 5387//5387\nf 5261//5261 5099//5099 5690//5690\nf 5695//5695 5388//5388 5387//5387\nf 5690//5690 5099//5099 5389//5389\nf 5697//5697 5696//5696 4720//4720\nf 5099//5099 5700//5700 5389//5389\nf 5264//5264 5096//5096 5702//5702\nf 5700//5700 5099//5099 5103//5103\nf 5705//5705 5264//5264 5702//5702\nf 5706//5706 5703//5703 4890//4890\nf 5704//5704 4891//4891 5263//5263\nf 5706//5706 4890//4890 5104//5104\nf 4891//4891 5704//5704 5708//5708\nf 5708//5708 5710//5710 5104//5104\nf 4891//4891 5708//5708 5104//5104\nf 5262//5262 5390//5390 5391//5391\nf 4892//4892 5264//5264 5713//5713\nf 5391//5391 5390//5390 5913//5913\nf 5715//5715 5712//5712 5265//5265\nf 5328//5328 5391//5391 5714//5714\nf 5715//5715 5265//5265 5106//5106\nf 5713//5713 4895//4895 4892//4892\nf 5719//5719 5105//5105 5266//5266\nf 5718//5718 5267//5267 5328//5328\nf 5714//5714 5718//5718 5328//5328\nf 5716//5716 5106//5106 5107//5107\nf 5107//5107 4729//4729 5720//5720\nf 5718//5718 5914//5914 5723//5723\nf 5267//5267 5718//5718 5723//5723\nf 4729//4729 5722//5722 5720//5720\nf 5206//5206 5724//5724 5722//5722\nf 5721//5721 5725//5725 4898//4898\nf 5329//5329 5267//5267 5723//5723\nf 5109//5109 5108//5108 5329//5329\nf 5329//5329 5723//5723 5726//5726\nf 5111//5111 5392//5392 5724//5724\nf 5728//5728 4901//4901 5729//5729\nf 5269//5269 5109//5109 5726//5726\nf 5729//5729 4901//4901 5112//5112\nf 5271//5271 5733//5733 5734//5734\nf 5394//5394 5271//5271 5734//5734\nf 5734//5734 5733//5733 5116//5116\nf 5735//5735 5270//5270 5732//5732\nf 5272//5272 5270//5270 5735//5735\nf 5736//5736 5729//5729 5112//5112\nf 5734//5734 5116//5116 5273//5273\nf 5273//5273 5396//5396 5734//5734\nf 5738//5738 5397//5397 5331//5331\nf 5207//5207 5737//5737 5736//5736\nf 5739//5739 4906//4906 5398//5398\nf 5332//5332 5738//5738 5331//5331\nf 5735//5735 5740//5740 5114//5114\nf 5735//5735 5920//5920 5740//5740\nf 4910//4910 5737//5737 5207//5207\nf 5741//5741 5115//5115 5739//5739\nf 5114//5114 5740//5740 4737//4737\nf 5334//5334 5400//5400 5399//5399\nf 5333//5333 5399//5399 5742//5742\nf 5333//5333 5742//5742 5402//5402\nf 5115//5115 5744//5744 4599//4599\nf 5741//5741 5744//5744 5115//5115\nf 5740//5740 5745//5745 4737//4737\nf 4910//4910 5274//5274 5743//5743\nf 5403//5403 4737//4737 5745//5745\nf 5744//5744 4912//4912 4599//4599\nf 5403//5403 5745//5745 5748//5748\nf 5117//5117 5403//5403 5748//5748\nf 5747//5747 5402//5402 5753//5753\nf 5922//5922 5336//5336 5751//5751\nf 4912//4912 5406//5406 5339//5339\nf 5404//5404 5406//5406 4912//4912\nf 5744//5744 5404//5404 4912//4912\nf 5751//5751 5336//5336 5340//5340\nf 5748//5748 5752//5752 5117//5117\nf 5335//5335 5747//5747 5753//5753\nf 5335//5335 5753//5753 5749//5749\nf 5274//5274 4915//4915 5754//5754\nf 5755//5755 5339//5339 5406//5406\nf 5756//5756 4915//4915 5759//5759\nf 5337//5337 5749//5749 5757//5757\nf 5343//5343 5758//5758 5751//5751\nf 5340//5340 5343//5343 5751//5751\nf 5341//5341 5752//5752 5407//5407\nf 5407//5407 5752//5752 5760//5760\nf 5275//5275 4918//4918 5759//5759\nf 5121//5121 5342//5342 5757//5757\nf 5213//5213 5758//5758 5343//5343\nf 5761//5761 5759//5759 4918//4918\nf 5213//5213 5408//5408 5758//5758\nf 5407//5407 5762//5762 5122//5122\nf 4918//4918 5763//5763 5761//5761\nf 5277//5277 5121//5121 5757//5757\nf 5762//5762 4919//4919 5122//5122\nf 5762//5762 5276//5276 4919//4919\nf 5762//5762 5764//5764 5276//5276\nf 5764//5764 4748//4748 5276//5276\nf 5766//5766 5279//5279 5769//5769\nf 5280//5280 5277//5277 5770//5770\nf 5768//5768 5213//5213 5123//5123\nf 5768//5768 5408//5408 5213//5213\nf 4748//4748 5767//5767 5124//5124\nf 5767//5767 4926//4926 5124//5124\nf 4752//4752 5771//5771 5279//5279\nf 5771//5771 5769//5769 5279//5279\nf 5281//5281 5770//5770 5412//5412\nf 5214//5214 5768//5768 5123//5123\nf 5775//5775 5768//5768 5214//5214\nf 5772//5772 4926//4926 5767//5767\nf 4926//4926 5772//5772 5410//5410\nf 5773//5773 5771//5771 4752//4752\nf 4931//4931 5773//5773 5411//5411\nf 4752//4752 5411//5411 5773//5773\nf 5776//5776 5773//5773 4931//4931\nf 5772//5772 5777//5777 4930//4930\nf 5282//5282 5281//5281 5778//5778\nf 5214//5214 5779//5779 5775//5775\nf 4936//4936 5779//5779 5214//5214\nf 4938//4938 5779//5779 4936//4936\nf 5780//5780 4930//4930 5927//5927\nf 4930//4930 5780//5780 5127//5127\nf 5782//5782 5781//5781 5128//5128\nf 5126//5126 5282//5282 5783//5783\nf 5785//5785 4759//4759 5780//5780\nf 4759//4759 5127//5127 5780//5780\nf 5128//5128 4760//4760 5782//5782\nf 4935//4935 5126//5126 5783//5783\nf 5783//5783 5784//5784 4935//4935\nf 5131//5131 4935//4935 5784//5784\nf 5779//5779 4938//4938 5129//5129\nf 4759//4759 5785//5785 5413//5413\nf 5788//5788 5132//5132 5413//5413\nf 5786//5786 5414//5414 5789//5789\nf 5133//5133 5132//5132 5788//5788\nf 5791//5791 5133//5133 5788//5788\nf 4766//4766 5792//5792 5137//5137\nf 5790//5790 5792//5792 4766//4766\nf 5787//5787 4940//4940 5793//5793\nf 5787//5787 5129//5129 4940//4940\nf 5794//5794 4764//4764 5134//5134\nf 5789//5789 4764//4764 5794//5794\nf 5415//5415 5791//5791 5929//5929\nf 5794//5794 5134//5134 5416//5416\nf 5796//5796 4619//4619 5417//5417\nf 5344//5344 5415//5415 5797//5797\nf 5344//5344 5797//5797 5418//5418\nf 5795//5795 5799//5799 5285//5285\nf 5417//5417 4619//4619 5792//5792\nf 4619//4619 5137//5137 5792//5792\nf 5932//5932 5797//5797 5415//5415\nf 5420//5420 5798//5798 5141//5141\nf 5146//5146 5800//5800 5793//5793\nf 5138//5138 5418//5418 5804//5804\nf 5802//5802 5216//5216 5801//5801\nf 5801//5801 5215//5215 5805//5805\nf 5801//5801 5806//5806 5802//5802\nf 5216//5216 5215//5215 5801//5801\nf 4943//4943 5216//5216 5806//5806\nf 5142//5142 5807//5807 5809//5809\nf 5345//5345 5138//5138 5804//5804\nf 5811//5811 4943//4943 5806//5806\nf 4943//4943 5811//5811 5346//5346\nf 5419//5419 5140//5140 5812//5812\nf 5803//5803 4949//4949 5145//5145\nf 5139//5139 5421//5421 5215//5215\nf 4770//4770 5347//5347 5422//5422\nf 5807//5807 4770//4770 5422//5422\nf 5140//5140 5142//5142 5812//5812\nf 5420//5420 5812//5812 5808//5808\nf 5420//5420 5419//5419 5812//5812\nf 5803//5803 5810//5810 4949//4949\nf 5810//5810 5286//5286 4949//4949\nf 5139//5139 5423//5423 5421//5421\nf 5139//5139 5345//5345 5423//5423\nf 5345//5345 5804//5804 5423//5423\nf 5423//5423 5804//5804 5421//5421\nf 5215//5215 5421//5421 5805//5805\nf 5347//5347 5346//5346 5422//5422\nf 5422//5422 5346//5346 5811//5811\nf 5813//5813 5424//5424 5286//5286\nf 5810//5810 5813//5813 5286//5286\nf 5804//5804 5423//5423 5421//5421\nf 5815//5815 5424//5424 5813//5813\nf 5805//5805 5423//5423 5814//5814\nf 5146//5146 5816//5816 5800//5800\nf 5817//5817 5805//5805 5814//5814\nf 5217//5217 5286//5286 5424//5424\nf 5146//5146 5149//5149 5816//5816\nf 5819//5819 5217//5217 5815//5815\nf 5425//5425 5217//5217 5819//5819\nf 5820//5820 5816//5816 5287//5287\nf 5821//5821 5820//5820 5287//5287\nf 5821//5821 5287//5287 5219//5219\nf 5822//5822 5821//5821 5219//5219\nf 5426//5426 5822//5822 5219//5219\nf 5822//5822 5426//5426 5289//5289\nf 5824//5824 5288//5288 5823//5823\nf 5824//5824 5823//5823 5288//5288\nf 5823//5823 5825//5825 5288//5288\nf 5290//5290 5288//5288 5825//5825\nf 5348//5348 5427//5427 5289//5289\nf 5427//5427 5822//5822 5289//5289\nf 5428//5428 5826//5826 5427//5427\nf 5428//5428 5429//5429 5826//5826\nf 5349//5349 5291//5291 5828//5828\nf 5349//5349 5828//5828 5429//5429\nf 5936//5936 5291//5291 5829//5829\nf 5350//5350 5221//5221 5830//5830\nf 5830//5830 5221//5221 5827//5827\nf 5291//5291 5292//5292 5829//5829\nf 5829//5829 5292//5292 5831//5831\nf 5832//5832 5831//5831 4629//4629\nf 5350//5350 5830//5830 5833//5833\nf 5833//5833 5430//5430 5350//5350\nf 5352//5352 5834//5834 4629//4629\nf 5834//5834 5832//5832 4629//4629\nf 5834//5834 5352//5352 4631//4631\nf 5351//5351 5430//5430 5835//5835\nf 5351//5351 5836//5836 5293//5293\nf 5839//5839 5837//5837 4631//4631\nf 5294//5294 5839//5839 4631//4631\nf 5293//5293 5836//5836 5838//5838\nf 5156//5156 5838//5838 5157//5157\nf 5156//5156 5293//5293 5838//5838\nf 4960//4960 5839//5839 5294//5294\nf 5840//5840 5839//5839 4960//4960\nf 5842//5842 4960//4960 5355//5355\nf 5840//5840 4960//4960 5842//5842\nf 5843//5843 5355//5355 5354//5354\nf 5843//5843 5842//5842 5355//5355\nf 5353//5353 5841//5841 5159//5159\nf 5844//5844 5843//5843 5354//5354\nf 5166//5166 5165//5165 5849//5849\nf 5165//5165 5941//5941 5849//5849\nf 5296//5296 5297//5297 5845//5845\nf 5845//5845 5844//5844 5296//5296\nf 5297//5297 5847//5847 5845//5845\nf 5162//5162 4779//4779 5848//5848\nf 4965//4965 5166//5166 5849//5849\nf 5164//5164 4965//4965 5851//5851\nf 5164//5164 5853//5853 5161//5161\nf 5164//5164 5852//5852 5853//5853\nf 5161//5161 5854//5854 5160//5160\nf 5160//5160 5356//5356 5295//5295\nf 5854//5854 5356//5356 5160//5160\nf 5847//5847 5297//5297 4781//4781\nf 5161//5161 5853//5853 5854//5854\nf 5855//5855 4781//4781 5431//5431\nf 4966//4966 5431//5431 4781//4781\nf 5432//5432 5431//5431 4966//4966\nf 5857//5857 4968//4968 5357//5357\nf 5432//5432 4968//4968 5857//5857\nf 5356//5356 5943//5943 5358//5358\nf 4782//4782 5858//5858 5856//5856\nf 4970//4970 5858//5858 4782//4782\nf 4970//4970 5859//5859 5858//5858\nf 5943//5943 5860//5860 5358//5358\nf 5859//5859 5224//5224 5168//5168\nf 5359//5359 5358//5358 5860//5860\nf 5861//5861 5859//5859 5168//5168\nf 5168//5168 4973//4973 5861//5861\nf 5862//5862 5359//5359 5863//5863\nf 5865//5865 4973//4973 5302//5302\nf 5863//5863 5359//5359 5862//5862\nf 5864//5864 5359//5359 5863//5863\nf 5864//5864 5866//5866 5433//5433\nf 5301//5301 5866//5866 5169//5169\nf 5871//5871 5434//5434 5303//5303\nf 5302//5302 5434//5434 5865//5865\nf 5170//5170 5303//5303 5434//5434\nf 4975//4975 5169//5169 5868//5868\nf 5869//5869 5360//5360 4975//4975\nf 5870//5870 5360//5360 5869//5869\nf 5172//5172 4976//4976 5870//5870\nf 5871//5871 5303//5303 5873//5873\nf 5174//5174 4788//4788 5875//5875\nf 5435//5435 5873//5873 5176//5176\nf 4979//4979 5435//5435 5176//5176\nf 5875//5875 5876//5876 5175//5175\nf 5873//5873 5303//5303 5176//5176\nf 5875//5875 5175//5175 5174//5174\nf 5877//5877 5175//5175 5876//5876\nf 4979//4979 4789//4789 5877//5877\nf 4979//4979 5877//5877 5435//5435\nf 5440//5440 4638//4638 4791//4791\nf 5878//5878 4791//4791 5436//5436\nf 5881//5881 5880//5880 5448//5448\nf 5447//5447 5178//5178 5880//5880\nf 5178//5178 5179//5179 5448//5448\nf 5879//5879 5445//5445 4640//4640\nf 5367//5367 5441//5441 5446//5446\nf 5178//5178 5447//5447 5365//5365\nf 5449//5449 5448//5448 5179//5179\nf 5881//5881 5449//5449 5882//5882\nf 4981//4981 4642//4642 5452//5452\nf 6021//6021 5454//5454 5364//5364\nf 5227//5227 5304//5304 5456//5456\nf 6024//6024 5882//5882 5456//5456\nf 4643//4643 4982//4982 5457//5457\nf 5458//5458 5453//5453 4985//4985\nf 5366//5366 5454//5454 5459//5459\nf 5460//5460 4992//4992 5462//5462\nf 4797//4797 5455//5455 5463//5463\nf 5464//5464 5467//5467 5461//5461\nf 5457//5457 5465//5465 4644//4644\nf 5368//5368 4991//4991 5459//5459\nf 6028//6028 5460//5460 5468//5468\nf 4660//4660 5475//5475 5468//5468\nf 5476//5476 4995//4995 5463//5463\nf 4997//4997 4803//4803 5478//5478\nf 4803//4803 4999//4999 5478//5478\nf 5481//5481 5466//5466 4996//4996\nf 5475//5475 5231//5231 5484//5484\nf 5481//5481 4996//4996 5488//5488\nf 5480//5480 5005//5005 5487//5487\nf 5479//5479 5491//5491 5003//5003\nf 5484//5484 5231//5231 5886//5886\nf 5231//5231 5013//5013 5886//5886\nf 5887//5887 5007//5007 5496//5496\nf 4662//4662 5491//5491 5497//5497\nf 5013//5013 5498//5498 5886//5886\nf 5012//5012 5499//5499 5496//5496\nf 5498//5498 5013//5013 5501//5501\nf 5505//5505 5306//5306 5502//5502\nf 4808//4808 5506//5506 5494//5494\nf 4808//4808 5233//5233 5506//5506\nf 5016//5016 5503//5503 5508//5508\nf 5516//5516 5517//5517 5023//5023\nf 5519//5519 5023//5023 5517//5517\nf 4669//4669 5519//5519 5521//5521\nf 5958//5958 5888//5888 5526//5526\nf 5026//5026 5523//5523 5527//5527\nf 5890//5890 5028//5028 4818//4818\nf 4818//4818 5525//5525 5889//5889\nf 5890//5890 4818//4818 5889//5889\nf 5527//5527 5530//5530 5029//5029\nf 5310//5310 5028//5028 5890//5890\nf 5530//5530 5891//5891 5532//5532\nf 4672//4672 5529//5529 5027//5027\nf 5960//5960 5531//5531 5533//5533\nf 5534//5534 5892//5892 5529//5529\nf 5529//5529 4672//4672 5534//5534\nf 4672//4672 5237//5237 5534//5534\nf 4822//4822 5538//5538 5536//5536\nf 5237//5237 4553//4553 5537//5537\nf 5540//5540 5187//5187 5893//5893\nf 5535//5535 5539//5539 5035//5035\nf 5037//5037 5187//5187 5540//5540\nf 5038//5038 5035//5035 5542//5542\nf 5371//5371 5037//5037 5540//5540\nf 5036//5036 5040//5040 5543//5543\nf 5544//5544 5038//5038 5542//5542\nf 5370//5370 4824//4824 5545//5545\nf 5549//5549 5545//5545 5041//5041\nf 5548//5548 4675//4675 5546//5546\nf 4826//4826 5550//5550 5543//5543\nf 5549//5549 4827//4827 5551//5551\nf 4826//4826 5238//5238 5552//5552\nf 4828//4828 5042//5042 5555//5555\nf 5238//5238 5043//5043 5552//5552\nf 5042//5042 5547//5547 5555//5555\nf 5554//5554 5551//5551 4830//4830\nf 5556//5556 4829//4829 5548//5548\nf 5189//5189 4828//4828 5555//5555\nf 5562//5562 5044//5044 5561//5561\nf 5044//5044 4832//4832 5561//5561\nf 5560//5560 5239//5239 4841//4841\nf 4833//4833 5044//5044 5562//5562\nf 4833//4833 5562//5562 5564//5564\nf 5568//5568 5374//5374 5564//5564\nf 5241//5241 4836//4836 5558//5558\nf 5565//5565 5241//5241 5558//5558\nf 4831//4831 5240//5240 5563//5563\nf 5240//5240 5567//5567 5563//5563\nf 5567//5567 4838//4838 5375//5375\nf 4839//4839 5190//5190 5568//5568\nf 5566//5566 5050//5050 5577//5577\nf 5572//5572 5242//5242 5894//5894\nf 5375//5375 4680//4680 5571//5571\nf 5243//5243 5242//5242 5572//5572\nf 4843//4843 5243//5243 5572//5572\nf 5575//5575 4839//4839 5895//5895\nf 5576//5576 4844//4844 5565//5565\nf 5577//5577 5050//5050 4845//4845\nf 5583//5583 4847//4847 5572//5572\nf 5052//5052 5053//5053 5574//5574\nf 5574//5574 5581//5581 5964//5964\nf 5573//5573 4683//4683 4685//4685\nf 5580//5580 5577//5577 4845//4845\nf 5574//5574 5053//5053 5581//5581\nf 5053//5053 5244//5244 5581//5581\nf 5896//5896 5051//5051 5578//5578\nf 5056//5056 5057//5057 5580//5580\nf 5584//5584 4846//4846 5896//5896\nf 4684//4684 4846//4846 5587//5587\nf 5057//5057 5060//5060 5590//5590\nf 5587//5587 5584//5584 5591//5591\nf 5589//5589 5246//5246 4686//4686\nf 4852//4852 5246//5246 5589//5589\nf 4684//4684 5587//5587 5591//5591\nf 4850//4850 5247//5247 5593//5593\nf 5600//5600 5591//5591 5965//5965\nf 5898//5898 4855//4855 5599//5599\nf 5595//5595 4692//4692 5596//5596\nf 5608//5608 4693//4693 5064//5064\nf 5596//5596 5603//5603 5605//5605\nf 5900//5900 5899//5899 5249//5249\nf 5249//5249 5612//5612 5900//5900\nf 4857//4857 4693//4693 5610//5610\nf 5611//5611 4694//4694 5607//5607\nf 5617//5617 5067//5067 5611//5611\nf 5619//5619 5612//5612 4861//4861\nf 4861//4861 5071//5071 5623//5623\nf 4863//4863 4568//4568 5973//5973\nf 5624//5624 5623//5623 5071//5071\nf 4863//4863 5626//5626 5627//5627\nf 5193//5193 5194//5194 5629//5629\nf 5073//5073 4863//4863 5627//5627\nf 5634//5634 6162//6162 5629//5629\nf 5632//5632 5074//5074 4866//4866\nf 5631//5631 4865//4865 5075//5075\nf 5633//5633 4868//4868 5634//5634\nf 5635//5635 5251//5251 5630//5630\nf 4868//4868 5195//5195 5634//5634\nf 5636//5636 5075//5075 5640//5640\nf 5976//5976 5641//5641 5642//5642\nf 5077//5077 5377//5377 5637//5637\nf 5646//5646 5641//5641 5976//5976\nf 5901//5901 5645//5645 5650//5650\nf 5651//5651 5077//5077 5643//5643\nf 5656//5656 5640//5640 4700//4700\nf 5901//5901 5650//5650 5653//5653\nf 5079//5079 5656//5656 4700//4700\nf 5076//5076 4701//4701 5197//5197\nf 5654//5654 5902//5902 5903//5903\nf 5652//5652 5658//5658 5196//5196\nf 5252//5252 5080//5080 5656//5656\nf 5656//5656 5080//5080 5662//5662\nf 5385//5385 5654//5654 5903//5903\nf 4703//4703 5658//5658 5661//5661\nf 5663//5663 5659//5659 5200//5200\nf 5669//5669 5903//5903 5905//5905\nf 5663//5663 5200//5200 5319//5319\nf 4872//4872 5664//5664 5660//5660\nf 4704//4704 5657//5657 5671//5671\nf 5666//5666 5319//5319 5670//5670\nf 5906//5906 5669//5669 5905//5905\nf 5672//5672 5906//5906 5676//5676\nf 5675//5675 4705//4705 4876//4876\nf 5321//5321 5083//5083 5678//5678\nf 5676//5676 5906//5906 5909//5909\nf 4707//4707 5321//5321 5678//5678\nf 5681//5681 5676//5676 5909//5909\nf 5680//5680 5686//5686 5907//5907\nf 5680//5680 5090//5090 5686//5686\nf 4879//4879 4707//4707 5678//5678\nf 5090//5090 5258//5258 5686//5686\nf 5089//5089 5325//5325 5685//5685\nf 5689//5689 5681//5681 5909//5909\nf 5691//5691 4881//4881 5682//5682\nf 5091//5091 4879//4879 5684//5684\nf 5693//5693 5326//5326 5091//5091\nf 5689//5689 5910//5910 5695//5695\nf 5695//5695 5910//5910 5911//5911\nf 5096//5096 5259//5259 5691//5691\nf 5692//5692 4884//4884 5095//5095\nf 5698//5698 5326//5326 5693//5693\nf 5096//5096 5691//5691 5699//5699\nf 5698//5698 5098//5098 5326//5326\nf 5707//5707 5694//5694 5097//5097\nf 4720//4720 4725//4725 5697//5697\nf 4725//4725 5701//5701 5697//5697\nf 5704//5704 5098//5098 5698//5698\nf 5704//5704 5263//5263 5098//5098\nf 5390//5390 5388//5388 5695//5695\nf 5327//5327 5388//5388 5390//5390\nf 4725//4725 5703//5703 5701//5701\nf 5102//5102 5711//5711 5707//5707\nf 5700//5700 5103//5103 5709//5709\nf 5262//5262 5327//5327 5390//5390\nf 5709//5709 5103//5103 5712//5712\nf 5714//5714 5391//5391 5913//5913\nf 5106//5106 5716//5716 5715//5715\nf 5716//5716 5107//5107 5720//5720\nf 5105//5105 5719//5719 5912//5912\nf 4895//4895 5717//5717 5721//5721\nf 4898//4898 4895//4895 5721//5721\nf 5266//5266 5268//5268 5915//5915\nf 5719//5719 5266//5266 5915//5915\nf 5724//5724 5206//5206 5111//5111\nf 4730//4730 5725//5725 5992//5992\nf 5916//5916 5724//5724 5392//5392\nf 5393//5393 5394//5394 5392//5392\nf 5990//5990 5392//5392 5394//5394\nf 5730//5730 5726//5726 5918//5918\nf 5917//5917 5394//5394 5734//5734\nf 5731//5731 5732//5732 5270//5270\nf 5395//5395 5269//5269 5730//5730\nf 5919//5919 5734//5734 5397//5397\nf 5398//5398 5395//5395 5730//5730\nf 5734//5734 5396//5396 5397//5397\nf 5739//5739 5115//5115 4906//4906\nf 5737//5737 4910//4910 5743//5743\nf 5332//5332 5922//5922 5738//5738\nf 5743//5743 5274//5274 5746//5746\nf 5332//5332 5336//5336 5922//5922\nf 5923//5923 5401//5401 4741//4741\nf 5752//5752 5748//5748 5995//5995\nf 5746//5746 5274//5274 5754//5754\nf 5923//5923 4911//4911 5750//5750\nf 5923//5923 4741//4741 4911//4911\nf 4911//4911 5405//5405 5750//5750\nf 5755//5755 5750//5750 5405//5405\nf 4915//4915 5756//5756 5754//5754\nf 5405//5405 5338//5338 5755//5755\nf 5342//5342 5337//5337 5757//5757\nf 5924//5924 5407//5407 5760//5760\nf 5407//5407 5924//5924 5762//5762\nf 5278//5278 4923//4923 5763//5763\nf 5765//5765 5409//5409 5757//5757\nf 5409//5409 5765//5765 5770//5770\nf 5277//5277 5409//5409 5770//5770\nf 5766//5766 4923//4923 5279//5279\nf 4748//4748 5764//5764 5767//5767\nf 5769//5769 5771//5771 5998//5998\nf 5925//5925 5774//5774 5412//5412\nf 5770//5770 5925//5925 5412//5412\nf 5772//5772 5767//5767 5926//5926\nf 5778//5778 5281//5281 5412//5412\nf 4930//4930 5777//5777 5927//5927\nf 5786//5786 5928//5928 5782//5782\nf 5782//5782 4760//4760 5786//5786\nf 5787//5787 5779//5779 5129//5129\nf 4766//4766 5131//5131 5784//5784\nf 5784//5784 5790//5790 4766//4766\nf 5788//5788 5929//5929 5791//5791\nf 5416//5416 5284//5284 5798//5798\nf 5416//5416 5798//5798 6003//6003\nf 5799//5799 5930//5930 5803//5803\nf 5932//5932 5415//5415 5931//5931\nf 5418//5418 5797//5797 5933//5933\nf 5804//5804 5418//5418 5933//5933\nf 5801//5801 5805//5805 5806//5806\nf 5142//5142 4770//4770 5807//5807\nf 5932//5932 5933//5933 5797//5797\nf 5812//5812 5142//5142 5809//5809\nf 5818//5818 5422//5422 5811//5811\nf 5818//5818 5811//5811 5934//5934\nf 5807//5807 5818//5818 5935//5935\nf 5807//5807 5422//5422 5818//5818\nf 5816//5816 5820//5820 5821//5821\nf 5823//5823 5288//5288 5425//5425\nf 5427//5427 5826//5826 5822//5822\nf 5828//5828 5291//5291 5936//5936\nf 5830//5830 5827//5827 6006//6006\nf 5833//5833 5830//5830 5937//5937\nf 5938//5938 5833//5833 5937//5937\nf 5834//5834 5831//5831 5832//5832\nf 5351//5351 5835//5835 5836//5836\nf 5834//5834 4631//4631 5837//5837\nf 5838//5838 5841//5841 5157//5157\nf 5843//5843 5840//5840 5842//5842\nf 5839//5839 5840//5840 5843//5843\nf 5838//5838 6008//6008 5841//5841\nf 5159//5159 5841//5841 5846//5846\nf 4964//4964 5846//5846 5940//5940\nf 5848//5848 4779//4779 5942//5942\nf 5852//5852 5164//5164 5851//5851\nf 6010//6010 5849//5849 5941//5941\nf 5166//5166 6010//6010 5849//5849\nf 5855//5855 5847//5847 4781//4781\nf 5356//5356 5854//5854 5943//5943\nf 5857//5857 5357//5357 4782//4782\nf 5857//5857 4782//4782 5856//5856\nf 4970//4970 5224//5224 5859//5859\nf 4973//4973 5865//5865 5861//5861\nf 5863//5863 5359//5359 5860//5860\nf 5863//5863 5860//5860 5944//5944\nf 5867//5867 5169//5169 5866//5866\nf 5873//5873 5865//5865 5871//5871\nf 5434//5434 5871//5871 5865//5865\nf 5172//5172 5870//5870 5872//5872\nf 4787//4787 5172//5172 5874//5874\nf 4787//4787 5874//5874 5875//5875\nf 4788//4788 4787//4787 5875//5875\nf 5877//5877 4789//4789 5175//5175\nf 5946//5946 6018//6018 5945//5945\nf 5949//5949 5946//5946 5948//5948\nf 5949//5949 5947//5947 5946//5946\nf 5440//5440 4791//4791 5878//5878\nf 5950//5950 5444//5444 4641//4641\nf 6214//6214 5441//5441 5951//5951\nf 5880//5880 5365//5365 5447//5447\nf 5950//5950 4641//4641 4640//4640\nf 5879//5879 5950//5950 4640//4640\nf 5441//5441 5367//5367 5951//5951\nf 5450//5450 5451//5451 5452//5452\nf 5952//5952 5443//5443 5453//5453\nf 5457//5457 4982//4982 5450//5450\nf 5883//5883 5463//5463 5455//5455\nf 5459//5459 5953//5953 5368//5368\nf 6027//6027 5368//5368 5953//5953\nf 5469//5469 4644//4644 5465//5465\nf 4990//4990 5180//5180 5470//5470\nf 5470//5470 5180//5180 5954//5954\nf 5954//5954 5180//5180 5474//5474\nf 5955//5955 5467//5467 5480//5480\nf 5494//5494 5481//5481 5488//5488\nf 5490//5490 5001//5001 5956//5956\nf 5488//5488 4996//4996 5494//5494\nf 5001//5001 5007//5007 5887//5887\nf 5491//5491 5500//5500 5497//5497\nf 5498//5498 5886//5886 5501//5501\nf 5495//5495 5884//5884 5957//5957\nf 5495//5495 5482//5482 5884//5884\nf 6282//6282 6280//6280 5513//5513\nf 4811//4811 5181//5181 5505//5505\nf 5506//5506 5510//5510 6036//6036\nf 5509//5509 5513//5513 5515//5515\nf 5513//5513 5509//5509 5515//5515\nf 5516//5516 5235//5235 5514//5514\nf 5516//5516 5020//5020 5235//5235\nf 5516//5516 4667//4667 5020//5020\nf 5510//5510 4541//4541 5022//5022\nf 5510//5510 5022//5022 5888//5888\nf 4815//4815 5512//5512 5520//5520\nf 5525//5525 5520//5520 5889//5889\nf 5890//5890 5889//5889 5959//5959\nf 5310//5310 5890//5890 5959//5959\nf 6306//6306 5892//5892 5534//5534\nf 5187//5187 5311//5311 5893//5893\nf 4675//4675 5371//5371 5540//5540\nf 4829//4829 4825//4825 5548//5548\nf 5554//5554 4830//4830 5045//5045\nf 5554//5554 5045//5045 5560//5560\nf 5242//5242 5189//5189 5557//5557\nf 5242//5242 5557//5557 5894//5894\nf 5560//5560 4841//4841 5569//5569\nf 4839//4839 5568//5568 5895//5895\nf 6047//6047 5569//5569 5573//5573\nf 5582//5582 5573//5573 4685//4685\nf 5583//5583 5572//5572 5963//5963\nf 4846//4846 5584//5584 5587//5587\nf 5587//5587 5591//5591 5584//5584\nf 5582//5582 4850//4850 5593//5593\nf 5898//5898 5061//5061 4855//4855\nf 6050//6050 5588//5588 5595//5595\nf 5192//5192 5591//5591 5600//5600\nf 5605//5605 5967//5967 5596//5596\nf 5966//5966 5602//5602 5601//5601\nf 5599//5599 5066//5066 5609//5609\nf 5966//5966 5604//5604 5602//5602\nf 4693//4693 5608//5608 5610//5610\nf 5968//5968 5604//5604 5606//5606\nf 5968//5968 5606//5606 5604//5604\nf 4857//4857 5610//5610 5614//5614\nf 6056//6056 5969//5969 5971//5971\nf 5616//5616 5614//5614 5618//5618\nf 5969//5969 5972//5972 5970//5970\nf 5971//5971 5969//5969 5970//5970\nf 5969//5969 5968//5968 5972//5972\nf 5619//5619 4861//4861 5623//5623\nf 5623//5623 5619//5619 5624//5624\nf 5619//5619 5623//5623 5624//5624\nf 5070//5070 4698//4698 5620//5620\nf 4568//4568 5618//5618 5973//5973\nf 4863//4863 5973//5973 5626//5626\nf 5629//5629 5624//5624 5193//5193\nf 5630//5630 4867//4867 5627//5627\nf 5629//5629 5633//5633 5634//5634\nf 5631//5631 5075//5075 5636//5636\nf 5974//5974 5976//5976 6071//6071\nf 5980//5980 6071//6071 5979//5979\nf 5642//5642 5979//5979 5976//5976\nf 5978//5978 5977//5977 5646//5646\nf 5978//5978 5646//5646 5976//5976\nf 5979//5979 5645//5645 5980//5980\nf 5981//5981 5646//5646 5977//5977\nf 5979//5979 5642//5642 5645//5645\nf 5901//5901 5653//5653 5983//5983\nf 5643//5643 5077//5077 5637//5637\nf 5646//5646 5981//5981 5902//5902\nf 5643//5643 5637//5637 5651//5651\nf 5652//5652 4871//4871 5644//5644\nf 5646//5646 5902//5902 5654//5654\nf 5653//5653 5659//5659 5984//5984\nf 5985//5985 5903//5903 5902//5902\nf 5663//5663 5670//5670 6080//6080\nf 5905//5905 5903//5903 5985//5985\nf 5985//5985 5986//5986 5987//5987\nf 5985//5985 5987//5987 5905//5905\nf 6081//6081 5670//5670 5677//5677\nf 5904//5904 4576//4576 6082//6082\nf 5675//5675 4876//4876 5679//5679\nf 4576//4576 5988//5988 6082//6082\nf 5906//5906 5905//5905 6083//6083\nf 5908//5908 4576//4576 5685//5685\nf 5674//5674 6084//6084 5682//5682\nf 5910//5910 5909//5909 6087//6087\nf 5689//5689 5909//5909 5910//5910\nf 5091//5091 5684//5684 5693//5693\nf 5094//5094 5694//5694 5685//5685\nf 6173//6173 5690//5690 5389//5389\nf 5702//5702 5096//5096 5699//5699\nf 6090//6090 5700//5700 5712//5712\nf 5104//5104 5710//5710 5706//5706\nf 5700//5700 5709//5709 5712//5712\nf 5912//5912 5711//5711 5102//5102\nf 5912//5912 5102//5102 5105//5105\nf 5717//5717 4895//4895 5713//5713\nf 5716//5716 5720//5720 5722//5722\nf 5721//5721 5717//5717 5713//5713\nf 5724//5724 5989//5989 5722//5722\nf 5916//5916 5989//5989 5724//5724\nf 4730//4730 5992//5992 5727//5727\nf 5990//5990 5916//5916 5392//5392\nf 5394//5394 5991//5991 5990//5990\nf 5394//5394 5917//5917 5991//5991\nf 5725//5725 6095//6095 5992//5992\nf 5110//5110 4730//4730 5727//5727\nf 5268//5268 4901//4901 5915//5915\nf 4901//4901 5728//5728 5915//5915\nf 5730//5730 5269//5269 5726//5726\nf 5731//5731 5735//5735 5732//5732\nf 6097//6097 5735//5735 5731//5731\nf 5921//5921 5400//5400 5401//5401\nf 5404//5404 5741//5741 5739//5739\nf 5993//5993 5402//5402 6100//6100\nf 5404//5404 5744//5744 5741//5741\nf 5402//5402 5993//5993 5994//5994\nf 5753//5753 5402//5402 5994//5994\nf 5757//5757 5749//5749 5753//5753\nf 5753//5753 5996//5996 5757//5757\nf 5761//5761 5763//5763 5759//5759\nf 4923//4923 5766//5766 5763//5763\nf 6105//6105 5766//5766 5769//5769\nf 5771//5771 5773//5773 5998//5998\nf 5776//5776 4931//4931 5781//5781\nf 5412//5412 5774//5774 5778//5778\nf 5772//5772 5926//5926 6000//6000\nf 5927//5927 5785//5785 5780//5780\nf 5786//5786 5789//5789 5794//5794\nf 6002//6002 5413//5413 5785//5785\nf 6002//6002 5785//5785 6001//6001\nf 5420//5420 6003//6003 5798//5798\nf 5420//5420 5808//5808 6003//6003\nf 5811//5811 5806//5806 6121//6121\nf 6119//6119 6004//6004 5813//5813\nf 5813//5813 6004//6004 5815//5815\nf 5933//5933 5932//5932 6005//6005\nf 5804//5804 5814//5814 5423//5423\nf 5816//5816 5821//5821 6127//6127\nf 5827//5827 5290//5290 5825//5825\nf 5827//5827 5221//5221 4957//4957\nf 5834//5834 6007//6007 5831//5831\nf 5163//5163 5162//5162 5848//5848\nf 5163//5163 5848//5848 5939//5939\nf 4964//4964 5940//5940 5942//5942\nf 4779//4779 4964//4964 5942//5942\nf 6133//6133 5942//5942 5940//5940\nf 5941//5941 5165//5165 6009//6009\nf 5166//5166 5849//5849 6010//6010\nf 5943//5943 5854//5854 5853//5853\nf 5943//5943 6135//6135 6011//6011\nf 6138//6138 5861//5861 5865//5865\nf 6138//6138 5859//5859 5861//5861\nf 5944//5944 6012//6012 5863//5863\nf 5868//5868 6140//6140 5869//5869\nf 4975//4975 5868//5868 5869//5869\nf 6012//6012 5944//5944 6013//6013\nf 6012//6012 6013//6013 6014//6014\nf 5172//5172 5872//5872 5874//5874\nf 5873//5873 5877//5877 6141//6141\nf 5873//5873 5435//5435 5877//5877\nf 6016//6016 6017//6017 6018//6018\nf 6016//6016 6015//6015 6017//6017\nf 6018//6018 6017//6017 5945//5945\nf 6018//6018 5946//5946 6019//6019\nf 5946//5946 5945//5945 5948//5948\nf 5948//5948 5945//5945 6020//6020\nf 5365//5365 5880//5880 6023//6023\nf 5882//5882 5449//5449 5456//5456\nf 6025//6025 5450//5450 5452//5452\nf 5364//5364 5444//5444 6022//6022\nf 5444//5444 5950//5950 6022//6022\nf 5456//5456 5461//5461 6147//6147\nf 5952//5952 5453//5453 5458//5458\nf 6027//6027 5471//5471 5368//5368\nf 6029//6029 5471//5471 6027//6027\nf 6029//6029 5369//5369 5471//5471\nf 6026//6026 5461//5461 5467//5467\nf 5472//5472 5470//5470 6247//6247\nf 6247//6247 5470//5470 5954//5954\nf 6253//6253 6715//6715 5474//5474\nf 5492//5492 5485//5485 5476//5476\nf 5955//5955 5480//5480 5487//5487\nf 5955//5955 5487//5487 6031//6031\nf 5884//5884 5482//5482 5473//5473\nf 5478//5478 4999//4999 5885//5885\nf 6261//6261 6257//6257 5885//5885\nf 5885//5885 4999//4999 5490//5490\nf 6033//6033 5500//5500 5491//5491\nf 5499//5499 6033//6033 6034//6034\nf 5501//5501 5886//5886 5498//5498\nf 6033//6033 5499//5499 5500//5500\nf 5957//5957 5503//5503 5495//5495\nf 5512//5512 5505//5505 6149//6149\nf 5512//5512 4811//4811 5505//5505\nf 5522//5522 6286//6286 6719//6719\nf 5521//5521 6037//6037 5523//5523\nf 5526//5526 5529//5529 5958//5958\nf 5523//5523 5891//5891 5527//5527\nf 5891//5891 5530//5530 5527//5527\nf 5893//5893 5185//5185 5310//5310\nf 5535//5535 5532//5532 6038//6038\nf 6307//6307 5536//5536 5538//5538\nf 5893//5893 5311//5311 5185//5185\nf 5534//5534 5237//5237 5961//5961\nf 5237//5237 5537//5537 5961//5961\nf 5535//5535 5542//5542 5539//5539\nf 6315//6315 5537//5537 5541//5541\nf 5541//5541 6040//6040 6315//6315\nf 5370//5370 5545//5545 6039//6039\nf 5962//5962 4675//4675 5540//5540\nf 5541//5541 5543//5543 6040//6040\nf 5549//5549 5551//5551 6042//6042\nf 5552//5552 5543//5543 5550//5550\nf 5547//5547 6043//6043 5555//5555\nf 5560//5560 6044//6044 5554//5554\nf 5559//5559 6045//6045 5553//5553\nf 5375//5375 5570//5570 6152//6152\nf 5576//5576 5565//5565 6048//6048\nf 6154//6154 5581//5581 5586//5586\nf 6049//6049 5592//5592 5585//5585\nf 6049//6049 5594//5594 5592//5592\nf 6052//6052 5601//5601 5594//5594\nf 5966//5966 5601//5601 6052//6052\nf 6051//6051 5595//5595 5596//5596\nf 5596//5596 5967//5967 6051//6051\nf 5604//5604 5966//5966 6053//6053\nf 5604//5604 5968//5968 5606//5606\nf 5968//5968 5604//5604 6054//6054\nf 5605//5605 5606//5606 5968//5968\nf 5969//5969 5605//5605 5968//5968\nf 5605//5605 5969//5969 5967//5967\nf 5607//5607 6055//6055 5611//5611\nf 5609//5609 5613//5613 5615//5615\nf 5604//5604 6053//6053 6054//6054\nf 5968//5968 6054//6054 6058//6058\nf 6057//6057 6056//6056 6059//6059\nf 6058//6058 6053//6053 6060//6060\nf 6058//6058 6054//6054 6053//6053\nf 5972//5972 5968//5968 6058//6058\nf 5612//5612 5623//5623 5619//5619\nf 5970//5970 5972//5972 6064//6064\nf 5972//5972 6058//6058 6061//6061\nf 5971//5971 5970//5970 6064//6064\nf 5971//5971 6065//6065 6059//6059\nf 6064//6064 5972//5972 6061//6061\nf 6062//6062 6059//6059 6065//6065\nf 5620//5620 4698//4698 5625//5625\nf 6065//6065 5971//5971 6064//6064\nf 6067//6067 6062//6062 6065//6065\nf 6069//6069 6065//6065 6068//6068\nf 6068//6068 6065//6065 6064//6064\nf 5974//5974 6070//6070 6073//6073\nf 6070//6070 5974//5974 6071//6071\nf 6067//6067 6065//6065 6069//6069\nf 5976//5976 5979//5979 6071//6071\nf 5632//5632 5628//5628 5975//5975\nf 6069//6069 6068//6068 5977//5977\nf 5976//5976 6073//6073 5978//5978\nf 6073//6073 5976//5976 5974//5974\nf 6068//6068 6072//6072 6074//6074\nf 6069//6069 5977//5977 5978//5978\nf 6075//6075 6068//6068 6074//6074\nf 5977//5977 6068//6068 6075//6075\nf 5982//5982 5977//5977 6075//6075\nf 6075//6075 6074//6074 6076//6076\nf 5980//5980 5645//5645 5901//5901\nf 5981//5981 5977//5977 5982//5982\nf 6164//6164 5980//5980 5901//5901\nf 5982//5982 6075//6075 6076//6076\nf 5983//5983 6077//6077 5901//5901\nf 5981//5981 5982//5982 6079//6079\nf 6079//6079 5982//5982 6167//6167\nf 5981//5981 6079//6079 5902//5902\nf 6426//6426 5655//5655 6430//6430\nf 5902//5902 6079//6079 5985//5985\nf 6432//6432 5984//5984 5663//5663\nf 5985//5985 6079//6079 5986//5986\nf 5663//5663 5666//5666 5670//5670\nf 5664//5664 5667//5667 5660//5660\nf 5080//5080 5904//5904 5662//5662\nf 5082//5082 4704//4704 5671//5671\nf 4576//4576 5904//5904 5081//5081\nf 5905//5905 5987//5987 6083//6083\nf 5678//5678 5083//5083 5668//5668\nf 5677//5677 5907//5907 6081//6081\nf 5909//5909 6085//6085 6087//6087\nf 6086//6086 5686//5686 5690//5690\nf 6173//6173 5389//5389 5700//5700\nf 5695//5695 5911//5911 6088//6088\nf 5710//5710 5703//5703 5706//5706\nf 6089//6089 5708//5708 5704//5704\nf 5710//5710 5708//5708 6089//6089\nf 5695//5695 6088//6088 5390//5390\nf 6091//6091 5712//5712 5715//5715\nf 5716//5716 6091//6091 5715//5715\nf 6175//6175 6092//6092 5722//5722\nf 6093//6093 5714//5714 5913//5913\nf 6092//6092 5716//5716 5722//5722\nf 5714//5714 6093//6093 5718//5718\nf 5713//5713 6176//6176 5721//5721\nf 5726//5726 5723//5723 5914//5914\nf 5726//5726 5914//5914 6094//6094\nf 6095//6095 5727//5727 5992//5992\nf 5729//5729 6096//6096 5728//5728\nf 5729//5729 5736//5736 6098//6098\nf 5402//5402 5742//5742 6100//6100\nf 5737//5737 5743//5743 5746//5746\nf 5737//5737 5746//5746 6101//6101\nf 5748//5748 5745//5745 5995//5995\nf 5754//5754 5756//5756 5759//5759\nf 6102//6102 5759//5759 5763//5763\nf 5762//5762 5924//5924 6103//6103\nf 5762//5762 6103//6103 6104//6104\nf 6105//6105 5763//5763 5766//5766\nf 5764//5764 5997//5997 5767//5767\nf 5774//5774 5925//5925 6186//6186\nf 5777//5777 5772//5772 6000//6000\nf 5774//5774 6106//6106 5778//5778\nf 5927//5927 5777//5777 6000//6000\nf 6000//6000 5926//5926 5999//5999\nf 6000//6000 5999//5999 6108//6108\nf 5782//5782 6110//6110 5781//5781\nf 5999//5999 6107//6107 6108//6108\nf 5782//5782 5928//5928 6110//6110\nf 5790//5790 5417//5417 5792//5792\nf 5790//5790 5784//5784 5417//5417\nf 5929//5929 5788//5788 5413//5413\nf 6594//6594 5799//5799 6595//6595\nf 5285//5285 4945//4945 5796//5796\nf 5795//5795 5285//5285 5796//5796\nf 5786//5786 5794//5794 6111//6111\nf 6595//6595 5799//5799 5795//5795\nf 5413//5413 6002//6002 5929//5929\nf 5415//5415 5929//5929 6115//6115\nf 6114//6114 6002//6002 6001//6001\nf 5803//5803 5930//5930 6113//6113\nf 6112//6112 5793//5793 5800//5800\nf 6116//6116 6111//6111 5794//5794\nf 6117//6117 6111//6111 6116//6116\nf 5803//5803 6113//6113 5810//5810\nf 5794//5794 5416//5416 6116//6116\nf 5800//5800 6118//6118 6112//6112\nf 5931//5931 6005//6005 5932//5932\nf 5933//5933 6120//6120 5804//5804\nf 5934//5934 5811//5811 6121//6121\nf 5809//5809 6123//6123 5812//5812\nf 5806//5806 5805//5805 6121//6121\nf 6123//6123 5809//5809 6122//6122\nf 5808//5808 5812//5812 6123//6123\nf 6123//6123 6125//6125 5808//5808\nf 5933//5933 6005//6005 6124//6124\nf 5804//5804 6120//6120 5814//5814\nf 6121//6121 5805//5805 5817//5817\nf 6126//6126 5808//5808 6125//6125\nf 6003//6003 5808//5808 6126//6126\nf 5814//5814 6128//6128 5817//5817\nf 6121//6121 5817//5817 6128//6128\nf 5818//5818 6129//6129 5935//5935\nf 5425//5425 5819//5819 5815//5815\nf 6130//6130 5822//5822 5826//5826\nf 5826//5826 5429//5429 6130//6130\nf 5827//5827 5830//5830 6006//6006\nf 5834//5834 5837//5837 5839//5839\nf 5846//5846 6132//6132 6664//6664\nf 5846//5846 6196//6196 5940//5940\nf 5848//5848 5942//5942 6133//6133\nf 5939//5939 5848//5848 6134//6134\nf 5165//5165 5939//5939 6009//6009\nf 5850//5850 4965//4965 5849//5849\nf 5850//5850 5849//5849 5851//5851\nf 5943//5943 5853//5853 6135//6135\nf 5860//5860 5943//5943 6011//6011\nf 5859//5859 6136//6136 5858//5858\nf 5944//5944 6011//6011 6137//6137\nf 5944//5944 5860//5860 6011//6011\nf 5863//5863 6012//6012 6139//6139\nf 5863//5863 6139//6139 5864//5864\nf 5864//5864 6139//6139 5866//5866\nf 5868//5868 5867//5867 6140//6140\nf 5944//5944 6137//6137 6013//6013\nf 6143//6143 6012//6012 6014//6014\nf 5876//5876 5875//5875 6144//6144\nf 5877//5877 5876//5876 6144//6144\nf 6141//6141 5877//5877 6144//6144\nf 6014//6014 6013//6013 6142//6142\nf 6142//6142 6145//6145 6015//6015\nf 6014//6014 6142//6142 6015//6015\nf 6016//6016 6014//6014 6143//6143\nf 6014//6014 6015//6015 6143//6143\nf 6015//6015 6016//6016 6143//6143\nf 6016//6016 6018//6018 6019//6019\nf 5946//5946 5947//5947 6019//6019\nf 5945//5945 6017//6017 6146//6146\nf 5945//5945 6146//6146 6020//6020\nf 6206//6206 5436//5436 5437//5437\nf 6206//6206 5437//5437 6202//6202\nf 6202//6202 5437//5437 5438//5438\nf 6207//6207 6203//6203 5439//5439\nf 6203//6203 5438//5438 5439//5439\nf 6208//6208 5440//5440 5878//5878\nf 6220//6220 6022//6022 5950//5950\nf 6212//6212 5950//5950 5879//5879\nf 5454//5454 6021//6021 6219//6219\nf 6021//6021 5364//5364 6022//6022\nf 5367//5367 5460//5460 5951//5951\nf 5456//5456 6147//6147 6216//6216\nf 6224//6224 5461//5461 6230//6230\nf 5450//5450 6025//6025 6225//6225\nf 6235//6235 5457//5457 5450//5450\nf 6234//6234 5461//5461 6026//6026\nf 6233//6233 5460//5460 6028//6028\nf 5883//5883 5455//5455 6237//6237\nf 5465//5465 5457//5457 6235//6235\nf 6029//6029 6027//6027 6236//6236\nf 5469//5469 5465//5465 6242//6242\nf 6233//6233 5475//5475 6786//6786\nf 5476//5476 5463//5463 5883//5883\nf 5484//5484 5886//5886 5475//5475\nf 6245//6245 5487//5487 5489//5489\nf 5479//5479 6030//6030 5491//5491\nf 6265//6265 5493//5493 5492//5492\nf 5499//5499 6267//6267 5496//5496\nf 5957//5957 6148//6148 5503//5503\nf 5501//5501 5504//5504 5507//5507\nf 6272//6272 5501//5501 6275//6275\nf 5507//5507 5509//5509 5513//5513\nf 6278//6278 6283//6283 6149//6149\nf 6283//6283 5512//5512 6149//6149\nf 5513//5513 5515//5515 5522//5522\nf 6293//6293 5519//5519 5517//5517\nf 6293//6293 5521//5521 5519//5519\nf 5531//5531 6297//6297 5528//5528\nf 6295//6295 5959//5959 5889//5889\nf 6306//6306 6722//6722 5529//5529\nf 5310//5310 5959//5959 6150//6150\nf 5535//5535 6309//6309 6151//6151\nf 5535//5535 6151//6151 5542//5542\nf 5893//5893 6310//6310 5540//5540\nf 6309//6309 5542//5542 6151//6151\nf 5546//5546 4675//4675 5962//5962\nf 6039//6039 5545//5545 6320//6320\nf 6322//6322 6043//6043 5544//5544\nf 6042//6042 5545//5545 5549//5549\nf 5548//5548 5546//5546 5962//5962\nf 5543//5543 6324//6324 6321//6321\nf 5544//5544 6043//6043 5547//5547\nf 6323//6323 5551//5551 5554//5554\nf 5556//5556 5548//5548 6041//6041\nf 5556//5556 6041//6041 6328//6328\nf 6332//6332 6044//6044 5560//5560\nf 6335//6335 5558//5558 5556//5556\nf 6338//6338 6046//6046 5566//5566\nf 5568//5568 5564//5564 6347//6347\nf 5375//5375 6152//6152 6353//6353\nf 5575//5575 5895//5895 5568//5568\nf 6357//6357 6340//6340 5573//5573\nf 5566//5566 5577//5577 6354//6354\nf 5575//5575 5896//5896 5578//5578\nf 5576//5576 6048//6048 5579//5579\nf 6358//6358 5580//5580 6362//6362\nf 6360//6360 5964//5964 5581//5581\nf 5963//5963 5585//5585 5583//5583\nf 5376//5376 5586//5586 5581//5581\nf 6153//6153 5582//5582 5593//5593\nf 6730//6730 5590//5590 5898//5898\nf 5586//5586 5588//5588 6050//6050\nf 6368//6368 5897//5897 5589//5589\nf 5897//5897 6368//6368 5598//5598\nf 6372//6372 5600//5600 5965//5965\nf 6377//6377 5608//5608 5598//5598\nf 6050//6050 5595//5595 6051//6051\nf 6377//6377 5598//5598 6373//6373\nf 6375//6375 5609//5609 6378//6378\nf 5607//5607 6372//6372 6735//6735\nf 5609//5609 6375//6375 5599//5599\nf 6155//6155 6050//6050 6051//6051\nf 5966//5966 6052//6052 6156//6156\nf 6051//6051 6056//6056 6057//6057\nf 6051//6051 5967//5967 6056//6056\nf 6051//6051 6057//6057 6155//6155\nf 5967//5967 5969//5969 6056//6056\nf 6057//6057 6157//6157 6155//6155\nf 5609//5609 5615//5615 6383//6383\nf 6060//6060 6156//6156 6385//6385\nf 6056//6056 5971//5971 6059//6059\nf 6063//6063 6057//6057 6059//6059\nf 6157//6157 6057//6057 6063//6063\nf 5612//5612 5619//5619 5623//5623\nf 5618//5618 5614//5614 6381//6381\nf 5612//5612 5619//5619 6388//6388\nf 5624//5624 6393//6393 5623//5623\nf 6063//6063 6059//6059 6062//6062\nf 6158//6158 6060//6060 6392//6392\nf 6396//6396 5622//5622 5621//5621\nf 6063//6063 6062//6062 6067//6067\nf 6070//6070 6063//6063 6067//6067\nf 6394//6394 6401//6401 5973//5973\nf 6401//6401 5626//5626 5973//5973\nf 6061//6061 6058//6058 6158//6158\nf 6159//6159 6070//6070 6071//6071\nf 5628//5628 5622//5622 6399//6399\nf 6064//6064 6061//6061 6161//6161\nf 6073//6073 6067//6067 6069//6069\nf 6067//6067 6073//6073 6070//6070\nf 5626//5626 6405//6405 5627//5627\nf 6064//6064 6161//6161 6072//6072\nf 6068//6068 6064//6064 6072//6072\nf 6405//6405 5630//5630 5627//5627\nf 6069//6069 5978//5978 6073//6073\nf 6408//6408 5632//5632 5628//5628\nf 6071//6071 5980//5980 6160//6160\nf 5629//5629 6162//6162 6407//6407\nf 6410//6410 6162//6162 5634//5634\nf 6072//6072 6161//6161 6163//6163\nf 6072//6072 6163//6163 6074//6074\nf 5637//5637 5632//5632 6416//6416\nf 6164//6164 5901//5901 6077//6077\nf 6074//6074 6163//6163 6165//6165\nf 6076//6076 6074//6074 6165//6165\nf 6078//6078 5640//5640 5656//5656\nf 6076//6076 6165//6165 6169//6169\nf 6167//6167 5982//5982 6076//6076\nf 5653//5653 5984//5984 5983//5983\nf 5984//5984 6166//6166 5983//5983\nf 6168//6168 5651//5651 5637//5637\nf 6167//6167 6076//6076 6169//6169\nf 5986//5986 6079//6079 6167//6167\nf 5984//5984 5659//5659 5663//5663\nf 6430//6430 5655//5655 6434//6434\nf 5986//5986 6167//6167 6170//6170\nf 5651//5651 6438//6438 5657//5657\nf 5987//5987 5986//5986 6170//6170\nf 5987//5987 6170//6170 6171//6171\nf 6080//6080 5670//5670 6081//6081\nf 5671//5671 5657//5657 6172//6172\nf 5674//5674 5671//5671 6449//6449\nf 6082//6082 5988//5988 5908//5908\nf 5907//5907 5677//5677 6081//6081\nf 5988//5988 4576//4576 5908//5908\nf 6082//6082 5908//5908 6454//6454\nf 5909//5909 6083//6083 6085//6085\nf 6457//6457 5686//5686 6086//6086\nf 6460//6460 5683//5683 5688//5688\nf 5682//5682 6084//6084 6458//6458\nf 5682//5682 6458//6458 5691//5691\nf 5688//5688 5692//5692 6464//6464\nf 6466//6466 6754//6754 5694//5694\nf 5911//5911 5910//5910 6174//6174\nf 6468//6468 5697//5697 5701//5701\nf 6090//6090 6474//6474 5700//5700\nf 6482//6482 5704//5704 6473//6473\nf 6494//6494 6487//6487 5912//5912\nf 5390//5390 6088//6088 5913//5913\nf 5722//5722 5989//5989 6175//6175\nf 6498//6498 5713//5713 6493//6493\nf 5721//5721 6176//6176 6498//6498\nf 5990//5990 5989//5989 5916//5916\nf 6178//6178 5990//5990 5991//5991\nf 6178//6178 6177//6177 5990//5990\nf 5917//5917 5919//5919 5734//5734\nf 5917//5917 5734//5734 5919//5919\nf 6506//6506 6514//6514 5727//5727\nf 5918//5918 6099//6099 5730//5730\nf 6099//6099 5918//5918 6518//6518\nf 5398//5398 5730//5730 6099//6099\nf 5739//5739 5398//5398 6519//6519\nf 5735//5735 6097//6097 5920//5920\nf 6180//6180 5920//5920 6097//6097\nf 5920//5920 5745//5745 5740//5740\nf 6532//6532 6101//6101 5746//5746\nf 5921//5921 5401//5401 5923//5923\nf 5753//5753 5994//5994 6182//6182\nf 6182//6182 5996//5996 5753//5753\nf 5760//5760 5752//5752 5995//5995\nf 5754//5754 5759//5759 6184//6184\nf 6546//6546 5755//5755 6183//6183\nf 6183//6183 5755//5755 5406//5406\nf 5759//5759 6545//6545 6184//6184\nf 6543//6543 5758//5758 6550//6550\nf 6185//6185 6551//6551 6555//6555\nf 5765//5765 5757//5757 5996//5996\nf 5996//5996 6185//6185 5765//5765\nf 6103//6103 5924//5924 6559//6559\nf 5997//5997 5764//5764 5762//5762\nf 5762//5762 6104//6104 5997//5997\nf 6561//6561 6186//6186 5925//5925\nf 6187//6187 5774//5774 6186//6186\nf 5768//5768 5775//5775 6564//6564\nf 6103//6103 6188//6188 6104//6104\nf 5769//5769 5998//5998 6105//6105\nf 6565//6565 6104//6104 6189//6189\nf 5926//5926 5767//5767 5997//5997\nf 5926//5926 5997//5997 6190//6190\nf 6104//6104 6188//6188 6189//6189\nf 6577//6577 6106//6106 6573//6573\nf 6190//6190 6191//6191 5999//5999\nf 5926//5926 6190//6190 5999//5999\nf 6579//6579 5784//5784 5783//5783\nf 5785//5785 5927//5927 6109//6109\nf 6596//6596 5796//5796 5417//5417\nf 6002//6002 6114//6114 5929//5929\nf 5415//5415 6115//6115 5931//5931\nf 6192//6192 5416//5416 6003//6003\nf 6116//6116 5416//5416 6192//6192\nf 6608//6608 6119//6119 5813//5813\nf 6112//6112 6118//6118 6609//6609\nf 5800//5800 5816//5816 6118//6118\nf 5816//5816 6127//6127 6118//6118\nf 6120//6120 5933//5933 6124//6124\nf 6004//6004 6615//6615 5815//5815\nf 5425//5425 5815//5815 6629//6629\nf 6631//6631 6128//6128 5814//5814\nf 6631//6631 6632//6632 6128//6128\nf 6129//6129 6193//6193 5935//5935\nf 6194//6194 5821//5821 5822//5822\nf 5825//5825 5823//5823 6131//6131\nf 5825//5825 6131//6131 6639//6639\nf 5429//5429 6638//6638 6130//6130\nf 5827//5827 6640//6640 6642//6642\nf 5829//5829 5831//5831 6007//6007\nf 6651//6651 6650//6650 6007//6007\nf 6651//6651 6007//6007 5834//5834\nf 5835//5835 5833//5833 6655//6655\nf 6195//6195 5834//5834 5839//5839\nf 5843//5843 6195//6195 5839//5839\nf 5843//5843 5844//5844 6195//6195\nf 5838//5838 6661//6661 6008//6008\nf 5846//5846 6664//6664 6132//6132\nf 5848//5848 6133//6133 6134//6134\nf 6009//6009 5939//5939 6197//6197\nf 6009//6009 6197//6197 6667//6667\nf 5941//5941 6009//6009 6010//6010\nf 5851//5851 5849//5849 6010//6010\nf 6667//6667 6669//6669 6009//6009\nf 5432//5432 6668//6668 5431//5431\nf 6135//6135 5853//5853 5852//5852\nf 5852//5852 6198//6198 6135//6135\nf 6198//6198 6011//6011 6135//6135\nf 6198//6198 6199//6199 6011//6011\nf 6141//6141 5865//5865 5873//5873\nf 5866//5866 6139//6139 6200//6200\nf 5865//5865 6141//6141 6138//6138\nf 6137//6137 6201//6201 6013//6013\nf 5869//5869 6684//6684 6686//6686\nf 5869//5869 6686//6686 5870//5870\nf 5872//5872 5870//5870 6687//6687\nf 6688//6688 5874//5874 5872//5872\nf 6688//6688 5875//5875 5874//5874\nf 6013//6013 6201//6201 6142//6142\nf 6012//6012 6143//6143 6139//6139\nf 6688//6688 6690//6690 5875//5875\nf 6016//6016 6143//6143 6014//6014\nf 6700//6700 6017//6017 6145//6145\nf 6017//6017 6015//6015 6145//6145\nf 5878//5878 5436//5436 6205//6205\nf 6205//6205 5436//5436 6206//6206\nf 6202//6202 5438//5438 6203//6203\nf 6203//6203 5438//5438 6204//6204\nf 5438//5438 6203//6203 6204//6204\nf 6708//6708 5881//5881 5882//5882\nf 5440//5440 6208//6208 5879//5879\nf 6208//6208 6213//6213 5879//5879\nf 6215//6215 6023//6023 5880//5880\nf 6210//6210 6708//6708 5882//5882\nf 5882//5882 6024//6024 6210//6210\nf 5443//5443 6217//6217 5442//5442\nf 6211//6211 5443//5443 6218//6218\nf 6218//6218 5443//5443 5952//5952\nf 6022//6022 6219//6219 6021//6021\nf 6220//6220 5950//5950 6212//6212\nf 6212//6212 5879//5879 6213//6213\nf 6221//6221 5442//5442 6217//6217\nf 5442//5442 6221//6221 5452//5452\nf 5951//5951 5460//5460 6214//6214\nf 5455//5455 5365//5365 6223//6223\nf 6024//6024 5456//5456 6216//6216\nf 6225//6225 6025//6025 5452//5452\nf 5953//5953 5459//5459 6226//6226\nf 5459//5459 6227//6227 6226//6226\nf 6222//6222 5459//5459 6227//6227\nf 6222//6222 6227//6227 5459//5459\nf 6222//6222 5459//5459 5454//5454\nf 6229//6229 5455//5455 6223//6223\nf 6147//6147 5461//5461 6224//6224\nf 6232//6232 6218//6218 5458//5458\nf 5953//5953 6226//6226 6231//6231\nf 6222//6222 6227//6227 5459//5459\nf 6785//6785 5460//5460 6228//6228\nf 6231//6231 6027//6027 5953//5953\nf 6228//6228 5460//5460 6233//6233\nf 6233//6233 6028//6028 5468//5468\nf 6236//6236 6238//6238 5369//5369\nf 5476//5476 5883//5883 6240//6240\nf 5883//5883 6237//6237 6240//6240\nf 6239//6239 6234//6234 5467//5467\nf 5369//5369 6238//6238 6030//6030\nf 6239//6239 5955//5955 6241//6241\nf 5477//5477 5469//5469 6242//6242\nf 6254//6254 6030//6030 6238//6238\nf 5479//5479 5369//5369 6030//6030\nf 5475//5475 6248//6248 6244//6244\nf 5955//5955 6031//6031 6245//6245\nf 6250//6250 6714//6714 6032//6032\nf 5884//5884 6252//6252 6251//6251\nf 5884//5884 5473//5473 6252//6252\nf 6246//6246 6252//6252 5472//5472\nf 6252//6252 5473//5473 5472//5472\nf 6254//6254 5491//5491 6030//6030\nf 5492//5492 5476//5476 6255//6255\nf 5487//5487 6245//6245 6031//6031\nf 6245//6245 5489//5489 6256//6256\nf 6258//6258 5486//5486 5477//5477\nf 6258//6258 5477//5477 6249//6249\nf 5466//5466 5481//5481 6243//6243\nf 6250//6250 6032//6032 5884//5884\nf 6250//6250 5884//5884 6251//6251\nf 6716//6716 5885//5885 6257//6257\nf 5491//5491 6254//6254 6033//6033\nf 6033//6033 6254//6254 6260//6260\nf 6258//6258 5489//5489 5486//5486\nf 6256//6256 5489//5489 6258//6258\nf 6261//6261 5885//5885 5490//5490\nf 6262//6262 5886//5886 6717//6717\nf 6032//6032 5884//5884 6250//6250\nf 5884//5884 6032//6032 6250//6250\nf 6033//6033 6260//6260 6034//6034\nf 6248//6248 5886//5886 6262//6262\nf 6265//6265 5492//5492 6263//6263\nf 6250//6250 5884//5884 6032//6032\nf 5499//5499 6264//6264 6267//6267\nf 5499//5499 6034//6034 6264//6264\nf 6717//6717 5886//5886 5501//5501\nf 6250//6250 6268//6268 5884//5884\nf 5956//5956 5887//5887 6266//6266\nf 6267//6267 5887//5887 5496//5496\nf 6266//6266 5887//5887 6267//6267\nf 6265//6265 6271//6271 5493//5493\nf 6268//6268 5957//5957 5884//5884\nf 6717//6717 5501//5501 6270//6270\nf 6270//6270 5501//5501 6272//6272\nf 6789//6789 6278//6278 6271//6271\nf 5957//5957 6268//6268 6148//6148\nf 6268//6268 6274//6274 6148//6148\nf 5501//5501 5507//5507 6275//6275\nf 6148//6148 6274//6274 5503//5503\nf 6274//6274 6276//6276 5503//5503\nf 6035//6035 5494//5494 5506//5506\nf 5506//5506 6279//6279 6277//6277\nf 5507//5507 5513//5513 6280//6280\nf 6036//6036 6284//6284 5506//5506\nf 6284//6284 6279//6279 5506//5506\nf 5503//5503 6281//6281 5508//5508\nf 6284//6284 6036//6036 5510//5510\nf 5508//5508 6281//6281 5511//5511\nf 5513//5513 5522//5522 6719//6719\nf 6285//6285 6288//6288 5511//5511\nf 6289//6289 5520//5520 5512//5512\nf 5510//5510 5888//5888 6287//6287\nf 6284//6284 5510//5510 6287//6287\nf 6290//6290 5516//5516 5514//5514\nf 5516//5516 6291//6291 5517//5517\nf 5517//5517 6291//6291 6292//6292\nf 6293//6293 5517//5517 6292//6292\nf 6296//6296 6287//6287 5888//5888\nf 6293//6293 6294//6294 5521//5521\nf 6037//6037 5521//5521 6294//6294\nf 6286//6286 5522//5522 5524//5524\nf 6297//6297 5524//5524 5528//5528\nf 5958//5958 6296//6296 5888//5888\nf 5523//5523 6037//6037 6294//6294\nf 6299//6299 6296//6296 5958//5958\nf 5523//5523 6294//6294 6298//6298\nf 5529//5529 6299//6299 5958//5958\nf 6298//6298 6302//6302 5523//5523\nf 6299//6299 5529//5529 6301//6301\nf 6302//6302 5891//5891 5523//5523\nf 6297//6297 5531//5531 6300//6300\nf 6303//6303 5891//5891 6302//6302\nf 6303//6303 5532//5532 5891//5891\nf 6303//6303 6302//6302 6038//6038\nf 6038//6038 5532//5532 6303//6303\nf 6307//6307 6304//6304 5533//5533\nf 6306//6306 5534//5534 6311//6311\nf 5533//5533 5536//5536 6307//6307\nf 5893//5893 5310//5310 6150//6150\nf 6305//6305 5535//5535 6038//6038\nf 5961//5961 5537//5537 6313//6313\nf 6310//6310 6150//6150 6308//6308\nf 6311//6311 5961//5961 6313//6313\nf 5893//5893 6150//6150 6310//6310\nf 5542//5542 6309//6309 6314//6314\nf 5538//5538 5370//5370 6316//6316\nf 6310//6310 6318//6318 5540//5540\nf 5370//5370 6039//6039 6316//6316\nf 5544//5544 5542//5542 6317//6317\nf 6320//6320 6316//6316 6039//6039\nf 6321//6321 6040//6040 5543//5543\nf 6041//6041 5548//5548 5962//5962\nf 6041//6041 5962//5962 6319//6319\nf 6323//6323 6042//6042 5551//5551\nf 6326//6326 6041//6041 6319//6319\nf 6324//6324 5552//5552 6327//6327\nf 6327//6327 5552//5552 5553//5553\nf 6325//6325 6329//6329 5555//5555\nf 6325//6325 5555//5555 6043//6043\nf 6323//6323 5554//5554 6330//6330\nf 6332//6332 5554//5554 6044//6044\nf 6331//6331 5553//5553 6045//6045\nf 5560//5560 6334//6334 6332//6332\nf 6336//6336 6045//6045 5559//5559\nf 6336//6336 6331//6331 6045//6045\nf 5557//5557 5555//5555 6333//6333\nf 5560//5560 5569//5569 6334//6334\nf 6335//6335 5565//5565 5558//5558\nf 6342//6342 6338//6338 5566//5566\nf 5557//5557 6337//6337 6339//6339\nf 5557//5557 6339//6339 5894//5894\nf 6341//6341 5565//5565 6335//6335\nf 5562//5562 5561//5561 6343//6343\nf 6344//6344 5562//5562 6343//6343\nf 6047//6047 6340//6340 5569//5569\nf 5563//5563 5567//5567 6346//6346\nf 5562//5562 6347//6347 5564//5564\nf 5568//5568 6347//6347 6349//6349\nf 5568//5568 6349//6349 6352//6352\nf 6350//6350 5565//5565 6341//6341\nf 6048//6048 5565//5565 6350//6350\nf 5568//5568 6352//6352 5575//5575\nf 6342//6342 5566//5566 6354//6354\nf 6355//6355 6353//6353 6152//6152\nf 6357//6357 5573//5573 5582//5582\nf 6152//6152 5570//5570 6355//6355\nf 6358//6358 6354//6354 5577//5577\nf 6726//6726 6048//6048 6350//6350\nf 6358//6358 5577//5577 5580//5580\nf 5570//5570 5574//5574 5964//5964\nf 6359//6359 5570//5570 5964//5964\nf 6355//6355 5570//5570 6359//6359\nf 5963//5963 5572//5572 6348//6348\nf 6360//6360 6359//6359 5964//5964\nf 6727//6727 5582//5582 6153//6153\nf 6728//6728 6153//6153 6367//6367\nf 5896//5896 6361//6361 5584//5584\nf 6360//6360 5581//5581 6365//6365\nf 5584//5584 6361//6361 6366//6366\nf 5963//5963 6363//6363 5585//5585\nf 6363//6363 6369//6369 5585//5585\nf 6154//6154 6365//6365 5581//5581\nf 5587//5587 5584//5584 6366//6366\nf 6367//6367 6153//6153 5593//5593\nf 6366//6366 6370//6370 5587//5587\nf 5587//5587 6370//6370 5591//5591\nf 6369//6369 6371//6371 5585//5585\nf 6154//6154 5586//5586 6050//6050\nf 5591//5591 6370//6370 5965//5965\nf 6365//6365 6154//6154 6050//6050\nf 6372//6372 5965//5965 6370//6370\nf 6376//6376 6049//6049 6371//6371\nf 5594//5594 6049//6049 6052//6052\nf 6052//6052 6049//6049 6376//6376\nf 5607//5607 5600//5600 6372//6372\nf 6734//6734 5899//5899 5900//5900\nf 6379//6379 6050//6050 6155//6155\nf 6377//6377 5610//5610 5608//5608\nf 6052//6052 6376//6376 6380//6380\nf 6052//6052 6380//6380 6156//6156\nf 6053//6053 5966//5966 6156//6156\nf 6379//6379 6155//6155 6157//6157\nf 5610//5610 6381//6381 5614//5614\nf 6382//6382 5611//5611 6055//6055\nf 6053//6053 6156//6156 6060//6060\nf 6385//6385 6803//6803 6862//6862\nf 6384//6384 6157//6157 6063//6063\nf 5611//5611 6382//6382 6386//6386\nf 6383//6383 5615//5615 6389//6389\nf 6388//6388 5619//5619 5623//5623\nf 6391//6391 6387//6387 6063//6063\nf 5618//5618 6381//6381 6738//6738\nf 6391//6391 6063//6063 6070//6070\nf 6387//6387 6391//6391 6070//6070\nf 5618//5618 6394//6394 5973//5973\nf 5617//5617 6386//6386 5621//5621\nf 6739//6739 6066//6066 6397//6397\nf 6158//6158 6058//6058 6060//6060\nf 6387//6387 6070//6070 6398//6398\nf 6396//6396 6399//6399 5622//5622\nf 6066//6066 5625//5625 6397//6397\nf 6398//6398 6070//6070 6159//6159\nf 6741//6741 6387//6387 6398//6398\nf 6071//6071 6400//6400 6398//6398\nf 6402//6402 6158//6158 6743//6743\nf 6158//6158 6402//6402 6061//6061\nf 6398//6398 6159//6159 6071//6071\nf 6400//6400 6160//6160 6404//6404\nf 6405//6405 5626//5626 6401//6401\nf 6161//6161 6061//6061 6402//6402\nf 6406//6406 6404//6404 6160//6160\nf 5628//5628 6399//6399 6408//6408\nf 5624//5624 5629//5629 6407//6407\nf 5980//5980 6164//6164 6160//6160\nf 6164//6164 6406//6406 6160//6160\nf 6413//6413 6402//6402 6412//6412\nf 6403//6403 6412//6412 6402//6402\nf 6163//6163 6161//6161 6402//6402\nf 5632//5632 5975//5975 5628//5628\nf 6417//6417 6745//6745 5636//5636\nf 6409//6409 6164//6164 6077//6077\nf 6408//6408 6414//6414 5632//5632\nf 6163//6163 6402//6402 6413//6413\nf 6416//6416 5632//5632 6414//6414\nf 5637//5637 6416//6416 6423//6423\nf 6163//6163 6412//6412 6418//6418\nf 6163//6163 6413//6413 6412//6412\nf 6415//6415 5983//5983 6419//6419\nf 6420//6420 5634//5634 5638//5638\nf 6420//6420 6410//6410 5634//5634\nf 6411//6411 5639//5639 5635//5635\nf 6417//6417 5636//5636 5640//5640\nf 6421//6421 5640//5640 6078//6078\nf 6165//6165 6163//6163 6418//6418\nf 6165//6165 6418//6418 6422//6422\nf 5983//5983 6166//6166 6419//6419\nf 5644//5644 6425//6425 6427//6427\nf 6424//6424 5638//5638 6426//6426\nf 6426//6426 5638//5638 5655//5655\nf 6433//6433 6749//6749 5984//5984\nf 6431//6431 5651//5651 6429//6429\nf 6169//6169 6165//6165 6428//6428\nf 6436//6436 6169//6169 6428//6428\nf 6432//6432 6433//6433 5984//5984\nf 6167//6167 6169//6169 6436//6436\nf 5663//5663 6433//6433 6432//6432\nf 5655//5655 5660//5660 6434//6434\nf 5652//5652 6435//6435 5658//5658\nf 6170//6170 6167//6167 6436//6436\nf 6433//6433 5663//5663 6437//6437\nf 5663//5663 6080//6080 6437//6437\nf 6440//6440 5658//5658 6435//6435\nf 6439//6439 5660//5660 5667//5667\nf 6440//6440 5661//5661 5658//5658\nf 6171//6171 6170//6170 6441//6441\nf 6445//6445 5668//5668 6440//6440\nf 6438//6438 6444//6444 6172//6172\nf 6438//6438 6172//6172 5657//5657\nf 5668//5668 5661//5661 6440//6440\nf 6444//6444 5671//5671 6172//6172\nf 6442//6442 6752//6752 6448//6448\nf 6171//6171 6442//6442 6448//6448\nf 6449//6449 5671//5671 6444//6444\nf 6450//6450 6443//6443 6081//6081\nf 6445//6445 5678//5678 5668//5668\nf 5677//5677 6450//6450 6081//6081\nf 5667//5667 5675//5675 6447//6447\nf 6083//6083 6171//6171 6451//6451\nf 6083//6083 5987//5987 6171//6171\nf 5677//5677 5907//5907 6450//6450\nf 5907//5907 6452//6452 6450//6450\nf 5674//5674 6449//6449 6453//6453\nf 6454//6454 6446//6446 6082//6082\nf 6445//6445 6455//6455 5678//5678\nf 6452//6452 5907//5907 5686//5686\nf 5684//5684 5678//5678 6455//6455\nf 6085//6085 6083//6083 6456//6456\nf 5909//5909 5906//5906 6083//6083\nf 6452//6452 5686//5686 6457//6457\nf 6459//6459 6085//6085 6456//6456\nf 6458//6458 6084//6084 5674//5674\nf 5679//5679 5683//5683 6460//6460\nf 6754//6754 5908//5908 5685//5685\nf 6755//6755 6465//6465 6459//6459\nf 6459//6459 6087//6087 6085//6085\nf 6457//6457 6086//6086 5690//5690\nf 6462//6462 6457//6457 5690//5690\nf 5684//5684 6461//6461 5693//5693\nf 6459//6459 6465//6465 6087//6087\nf 5691//5691 6458//6458 6463//6463\nf 6467//6467 6462//6462 5690//5690\nf 6477//6477 6174//6174 6465//6465\nf 6467//6467 5690//5690 6173//6173\nf 6468//6468 5692//5692 5696//5696\nf 5700//5700 6470//6470 6173//6173\nf 6469//6469 5698//5698 5693//5693\nf 6174//6174 6087//6087 6465//6465\nf 5910//5910 6087//6087 6174//6174\nf 6472//6472 6473//6473 5698//5698\nf 6470//6470 5700//5700 6474//6474\nf 5698//5698 6473//6473 5704//5704\nf 6478//6478 5701//5701 5703//5703\nf 6475//6475 5701//5701 6478//6478\nf 6088//6088 5911//5911 6479//6479\nf 6482//6482 6089//6089 5704//5704\nf 6476//6476 5707//5707 5711//5711\nf 6090//6090 5712//5712 6474//6474\nf 5703//5703 5710//5710 6482//6482\nf 6483//6483 6088//6088 6479//6479\nf 5712//5712 6480//6480 6474//6474\nf 6485//6485 5712//5712 6091//6091\nf 5713//5713 5705//5705 6486//6486\nf 5711//5711 6487//6487 6484//6484\nf 5705//5705 6481//6481 6486//6486\nf 6488//6488 5913//5913 6088//6088\nf 6485//6485 6091//6091 5716//5716\nf 5716//5716 6489//6489 6485//6485\nf 6092//6092 6175//6175 6490//6490\nf 6491//6491 6492//6492 6175//6175\nf 6175//6175 6492//6492 6491//6491\nf 6493//6493 5713//5713 6486//6486\nf 6175//6175 6491//6491 6490//6490\nf 6490//6490 6489//6489 6092//6092\nf 6490//6490 6491//6491 6814//6814\nf 5913//5913 6488//6488 6495//6495\nf 5913//5913 6495//6495 6496//6496\nf 6093//6093 5913//5913 6496//6496\nf 5989//5989 6497//6497 6491//6491\nf 6491//6491 6175//6175 5989//5989\nf 5990//5990 6497//6497 5989//5989\nf 5990//5990 6177//6177 6497//6497\nf 5914//5914 5718//5718 6093//6093\nf 6497//6497 6177//6177 6178//6178\nf 6497//6497 6178//6178 6499//6499\nf 6499//6499 6178//6178 5991//5991\nf 6179//6179 6499//6499 5991//5991\nf 5721//5721 6498//6498 6503//6503\nf 5915//5915 6501//6501 6500//6500\nf 5914//5914 6496//6496 6502//6502\nf 6500//6500 5719//5719 5915//5915\nf 5914//5914 6502//6502 6504//6504\nf 6505//6505 5725//5725 6503//6503\nf 6094//6094 6504//6504 6509//6509\nf 6094//6094 5914//5914 6504//6504\nf 5917//5917 6179//6179 5991//5991\nf 5725//5725 6505//6505 6506//6506\nf 5725//5725 6506//6506 6095//6095\nf 5915//5915 5728//5728 6507//6507\nf 6509//6509 5726//5726 6094//6094\nf 6510//6510 6508//6508 5917//5917\nf 5726//5726 6509//6509 6511//6511\nf 6511//6511 5918//5918 5726//5726\nf 5734//5734 5919//5919 5917//5917\nf 5919//5919 6510//6510 5917//5917\nf 6095//6095 6506//6506 5727//5727\nf 6096//6096 6512//6512 5728//5728\nf 6507//6507 5728//5728 6512//6512\nf 6514//6514 5731//5731 5727//5727\nf 6515//6515 5731//5731 6513//6513\nf 5729//5729 6098//6098 6096//6096\nf 6098//6098 6512//6512 6096//6096\nf 5919//5919 5397//5397 6516//6516\nf 6518//6518 5398//5398 6099//6099\nf 5398//5398 6518//6518 6519//6519\nf 5736//5736 6517//6517 6098//6098\nf 6521//6521 6180//6180 6515//6515\nf 5736//5736 6520//6520 6517//6517\nf 6180//6180 6097//6097 6515//6515\nf 6522//6522 5736//5736 5737//5737\nf 6520//6520 5736//5736 6522//6522\nf 6523//6523 5742//5742 6524//6524\nf 5742//5742 5399//5399 6524//6524\nf 6523//6523 6100//6100 5742//5742\nf 6526//6526 6100//6100 6523//6523\nf 5400//5400 6524//6524 5399//5399\nf 6524//6524 5400//5400 6527//6527\nf 5400//5400 5921//5921 6528//6528\nf 5921//5921 5400//5400 6528//6528\nf 6530//6530 5738//5738 5922//5922\nf 6530//6530 6525//6525 5738//5738\nf 6180//6180 6521//6521 6531//6531\nf 6180//6180 6181//6181 5920//5920\nf 6101//6101 6532//6532 5737//5737\nf 5737//5737 6532//6532 6522//6522\nf 6526//6526 6762//6762 5993//5993\nf 6100//6100 6526//6526 5993//5993\nf 6527//6527 5400//5400 6528//6528\nf 6529//6529 5739//5739 6519//6519\nf 6529//6529 5404//5404 5739//5739\nf 5745//5745 5920//5920 6181//6181\nf 6180//6180 6531//6531 6181//6181\nf 6533//6533 5745//5745 6181//6181\nf 5994//5994 5993//5993 6535//6535\nf 6531//6531 6764//6764 6765//6765\nf 5745//5745 6533//6533 6534//6534\nf 5995//5995 5745//5745 6538//6538\nf 5993//5993 6762//6762 6535//6535\nf 5921//5921 5923//5923 6528//6528\nf 5404//5404 6536//6536 5406//5406\nf 6537//6537 5922//5922 5751//5751\nf 6537//6537 6530//6530 5922//5922\nf 6538//6538 5745//5745 6534//6534\nf 6539//6539 5746//5746 5754//5754\nf 6539//6539 5754//5754 6540//6540\nf 6541//6541 5994//5994 6535//6535\nf 5994//5994 6541//6541 6182//6182\nf 5751//5751 6543//6543 6537//6537\nf 6184//6184 6545//6545 5754//5754\nf 6546//6546 5750//5750 5755//5755\nf 5406//5406 6547//6547 6183//6183\nf 6547//6547 5406//5406 6548//6548\nf 6548//6548 5406//5406 6536//6536\nf 5751//5751 5758//5758 6543//6543\nf 5995//5995 6544//6544 6549//6549\nf 6546//6546 6547//6547 6542//6542\nf 6546//6546 6183//6183 6547//6547\nf 5995//5995 6549//6549 5760//5760\nf 5760//5760 6549//6549 6544//6544\nf 6550//6550 5758//5758 5408//5408\nf 5760//5760 6544//6544 6552//6552\nf 5924//5924 5760//5760 6552//6552\nf 6185//6185 5996//5996 6551//6551\nf 6553//6553 5759//5759 6102//6102\nf 5763//5763 6557//6557 6554//6554\nf 6557//6557 6769//6769 6554//6554\nf 5408//5408 5768//5768 6550//6550\nf 5924//5924 6552//6552 6556//6556\nf 6554//6554 6102//6102 5763//5763\nf 5770//5770 5765//5765 6185//6185\nf 5925//5925 6185//6185 6558//6558\nf 5770//5770 6185//6185 5925//5925\nf 5924//5924 6556//6556 6559//6559\nf 6103//6103 6559//6559 6562//6562\nf 6104//6104 6565//6565 5997//5997\nf 6186//6186 6563//6563 6187//6187\nf 6560//6560 5768//5768 6564//6564\nf 6562//6562 6188//6188 6103//6103\nf 6105//6105 5998//5998 6566//6566\nf 6557//6557 6566//6566 6567//6567\nf 6557//6557 6105//6105 6566//6566\nf 6186//6186 6561//6561 6563//6563\nf 6190//6190 5997//5997 6568//6568\nf 6567//6567 6566//6566 5998//5998\nf 6570//6570 6567//6567 5998//5998\nf 5774//5774 6187//6187 6563//6563\nf 6188//6188 6569//6569 6189//6189\nf 6565//6565 6189//6189 6569//6569\nf 5774//5774 6573//6573 6106//6106\nf 6564//6564 5779//5779 6574//6574\nf 5775//5775 5779//5779 6564//6564\nf 6190//6190 6575//6575 6191//6191\nf 5776//5776 6576//6576 5773//5773\nf 5776//5776 5781//5781 6576//6576\nf 5778//5778 6106//6106 6577//6577\nf 6575//6575 5999//5999 6191//6191\nf 5927//5927 6000//6000 6578//6578\nf 6584//6584 6572//6572 5781//5781\nf 6574//6574 5787//5787 6580//6580\nf 5779//5779 5787//5787 6574//6574\nf 6581//6581 6107//6107 6575//6575\nf 6107//6107 5999//5999 6575//6575\nf 6000//6000 6108//6108 6582//6582\nf 6583//6583 6578//6578 6582//6582\nf 6582//6582 6578//6578 6000//6000\nf 6583//6583 5927//5927 6578//6578\nf 6109//6109 5927//5927 6583//6583\nf 6110//6110 6584//6584 5781//5781\nf 6107//6107 6581//6581 6586//6586\nf 5793//5793 6580//6580 5787//5787\nf 6588//6588 6107//6107 6586//6586\nf 6589//6589 6107//6107 6588//6588\nf 6589//6589 6108//6108 6107//6107\nf 6582//6582 6108//6108 6589//6589\nf 5785//5785 6109//6109 6001//6001\nf 6110//6110 6591//6591 6592//6592\nf 5795//5795 5796//5796 6596//6596\nf 6580//6580 5793//5793 6597//6597\nf 6591//6591 5928//5928 5786//5786\nf 6591//6591 6110//6110 5928//5928\nf 5930//5930 6598//6598 6113//6113\nf 6598//6598 5930//5930 6593//6593\nf 6600//6600 6001//6001 6590//6590\nf 5786//5786 6111//6111 6591//6591\nf 5793//5793 6112//6112 6597//6597\nf 6598//6598 6602//6602 5810//5810\nf 6113//6113 6598//6598 5810//5810\nf 6775//6775 6111//6111 6117//6117\nf 5810//5810 6602//6602 5813//5813\nf 6607//6607 6775//6775 6117//6117\nf 6001//6001 6600//6600 6604//6604\nf 6001//6001 6604//6604 6114//6114\nf 6605//6605 5929//5929 6114//6114\nf 6606//6606 5929//5929 6605//6605\nf 5929//5929 6606//6606 6115//6115\nf 6605//6605 6114//6114 6604//6604\nf 6611//6611 6116//6116 6192//6192\nf 6611//6611 6612//6612 6116//6116\nf 6597//6597 6112//6112 6609//6609\nf 6115//6115 6606//6606 5931//5931\nf 5931//5931 6606//6606 6610//6610\nf 6192//6192 6003//6003 6611//6611\nf 6607//6607 6117//6117 6612//6612\nf 6612//6612 6117//6117 6116//6116\nf 6004//6004 6119//6119 6613//6613\nf 6119//6119 6608//6608 6613//6613\nf 6610//6610 6614//6614 5931//5931\nf 6004//6004 6613//6613 6615//6615\nf 6127//6127 6616//6616 6118//6118\nf 5931//5931 6614//6614 6005//6005\nf 5935//5935 5809//5809 5807//5807\nf 6617//6617 5809//5809 5935//5935\nf 6617//6617 6122//6122 5809//5809\nf 6126//6126 6618//6618 6003//6003\nf 6003//6003 6618//6618 6611//6611\nf 6616//6616 6609//6609 6118//6118\nf 6124//6124 6621//6621 6120//6120\nf 6124//6124 6620//6620 6621//6621\nf 6617//6617 6123//6123 6122//6122\nf 6622//6622 6123//6123 6617//6617\nf 6623//6623 6624//6624 5934//5934\nf 6121//6121 6623//6623 5934//5934\nf 6617//6617 5935//5935 6625//6625\nf 6123//6123 6626//6626 6125//6125\nf 6626//6626 6618//6618 6126//6126\nf 6125//6125 6626//6626 6126//6126\nf 6005//6005 6619//6619 6124//6124\nf 5818//5818 5934//5934 6624//6624\nf 6124//6124 6619//6619 6620//6620\nf 6120//6120 6621//6621 5814//5814\nf 6633//6633 6624//6624 6777//6777\nf 6629//6629 5815//5815 6627//6627\nf 6616//6616 5821//5821 6630//6630\nf 5821//5821 6616//6616 6127//6127\nf 6128//6128 6632//6632 6121//6121\nf 6632//6632 6623//6623 6121//6121\nf 5818//5818 6633//6633 6129//6129\nf 6193//6193 6634//6634 5935//5935\nf 6634//6634 6625//6625 5935//5935\nf 6634//6634 6193//6193 6633//6633\nf 6633//6633 6193//6193 6129//6129\nf 6635//6635 5823//5823 6629//6629\nf 5823//5823 5425//5425 6629//6629\nf 6778//6778 5821//5821 6194//6194\nf 6778//6778 6194//6194 6636//6636\nf 5823//5823 6635//6635 6637//6637\nf 6637//6637 6639//6639 5823//5823\nf 5822//5822 6130//6130 6636//6636\nf 6639//6639 6131//6131 5823//5823\nf 6130//6130 6638//6638 6636//6636\nf 5825//5825 6639//6639 6640//6640\nf 6640//6640 5827//5827 5825//5825\nf 5429//5429 6641//6641 6638//6638\nf 6641//6641 5429//5429 6643//6643\nf 6642//6642 6640//6640 5830//5830\nf 5827//5827 6642//6642 5830//5830\nf 6643//6643 5429//5429 5828//5828\nf 6643//6643 5828//5828 5936//5936\nf 6644//6644 5830//5830 6640//6640\nf 6643//6643 5936//5936 6645//6645\nf 6644//6644 5937//5937 5830//5830\nf 6645//6645 5936//5936 6646//6646\nf 5829//5829 6646//6646 5936//5936\nf 5938//5938 5937//5937 6647//6647\nf 6650//6650 6646//6646 5829//5829\nf 6650//6650 6649//6649 6007//6007\nf 6650//6650 5829//5829 6649//6649\nf 6649//6649 5829//5829 6007//6007\nf 6652//6652 5938//5938 6648//6648\nf 6651//6651 5834//5834 6653//6653\nf 5938//5938 6654//6654 5833//5833\nf 5938//5938 6652//6652 6654//6654\nf 6657//6657 6653//6653 5834//5834\nf 6654//6654 6655//6655 5833//5833\nf 6657//6657 5834//5834 6195//6195\nf 5836//5836 5835//5835 5838//5838\nf 5835//5835 6656//6656 5838//5838\nf 6656//6656 6658//6658 5838//5838\nf 6658//6658 6659//6659 5838//5838\nf 5844//5844 6660//6660 6195//6195\nf 6661//6661 5838//5838 6659//6659\nf 6662//6662 6660//6660 5844//5844\nf 5841//5841 6008//6008 6663//6663\nf 6008//6008 6661//6661 6663//6663\nf 6662//6662 5844//5844 5845//5845\nf 5841//5841 6663//6663 5846//5846\nf 6196//6196 5846//5846 6132//6132\nf 6132//6132 6666//6666 6196//6196\nf 6133//6133 5940//5940 6196//6196\nf 6133//6133 6780//6780 6134//6134\nf 6009//6009 6667//6667 6782//6782\nf 6665//6665 5855//5855 5431//5431\nf 6665//6665 5431//5431 6668//6668\nf 6667//6667 6197//6197 6782//6782\nf 6010//6010 6009//6009 6669//6669\nf 6010//6010 6670//6670 5851//5851\nf 6670//6670 5852//5852 5851//5851\nf 6671//6671 6668//6668 5432//5432\nf 6670//6670 6672//6672 5852//5852\nf 5857//5857 6671//6671 5432//5432\nf 5856//5856 6673//6673 5857//5857\nf 6673//6673 5856//5856 6674//6674\nf 6199//6199 6672//6672 6676//6676\nf 5858//5858 6674//6674 5856//5856\nf 6199//6199 6198//6198 6672//6672\nf 6011//6011 6199//6199 6676//6676\nf 5859//5859 6675//6675 6136//6136\nf 6011//6011 6676//6676 6199//6199\nf 6138//6138 6678//6678 5859//5859\nf 6676//6676 6677//6677 6199//6199\nf 6199//6199 6137//6137 6011//6011\nf 6677//6677 6137//6137 6199//6199\nf 6678//6678 6675//6675 5859//5859\nf 6137//6137 6677//6677 6679//6679\nf 6681//6681 6784//6784 6138//6138\nf 6137//6137 6680//6680 6201//6201\nf 6140//6140 5867//5867 6683//6683\nf 6681//6681 6138//6138 6141//6141\nf 6137//6137 6679//6679 6680//6680\nf 6139//6139 6682//6682 6200//6200\nf 5867//5867 5866//5866 6683//6683\nf 6689//6689 6681//6681 6141//6141\nf 6687//6687 5870//5870 6686//6686\nf 6141//6141 6144//6144 6689//6689\nf 6689//6689 6144//6144 5875//5875\nf 6689//6689 5875//5875 6690//6690\nf 6142//6142 6201//6201 6691//6691\nf 6201//6201 6680//6680 6691//6691\nf 6692//6692 6685//6685 6139//6139\nf 6143//6143 6692//6692 6139//6139\nf 6142//6142 6691//6691 6693//6693\nf 6143//6143 6014//6014 6692//6692\nf 6692//6692 6014//6014 6143//6143\nf 6694//6694 6145//6145 6142//6142\nf 6694//6694 6142//6142 6691//6691\nf 6692//6692 6016//6016 6695//6695\nf 6143//6143 6016//6016 6692//6692\nf 6145//6145 6694//6694 6696//6696\nf 6016//6016 6697//6697 6695//6695\nf 6698//6698 6145//6145 6696//6696\nf 6699//6699 6697//6697 6016//6016\nf 6019//6019 6699//6699 6016//6016\nf 6698//6698 6700//6700 6145//6145\nf 6698//6698 6017//6017 6700//6700\nf 6017//6017 6698//6698 6701//6701\nf 5947//5947 6699//6699 6019//6019\nf 6702//6702 6699//6699 5947//5947\nf 6703//6703 6017//6017 6701//6701\nf 6703//6703 6146//6146 6017//6017\nf 6703//6703 6020//6020 6146//6146\nf 6704//6704 6020//6020 6703//6703\nf 5949//5949 6705//6705 5947//5947\nf 6705//6705 6702//6702 5947//5947\nf 6704//6704 6706//6706 5948//5948\nf 6704//6704 5948//5948 6020//6020\nf 5948//5948 6705//6705 5949//5949\nf 5948//5948 6706//6706 6705//6705\nf 6204//6204 6207//6207 6707//6707\nf 6204//6204 6203//6203 6207//6207\nf 5878//5878 6205//6205 6208//6208\nf 6207//6207 5439//5439 6209//6209\nf 6209//6209 5439//5439 5441//5441\nf 6209//6209 5441//5441 6214//6214\nf 6210//6210 6024//6024 6216//6216\nf 5443//5443 6211//6211 6217//6217\nf 6222//6222 5454//5454 6219//6219\nf 6022//6022 6220//6220 6219//6219\nf 6216//6216 6147//6147 6224//6224\nf 6221//6221 6225//6225 5452//5452\nf 6222//6222 6710//6710 6227//6227\nf 6226//6226 6227//6227 6710//6710\nf 6023//6023 6223//6223 5365//5365\nf 6235//6235 6225//6225 6981//6981\nf 5952//5952 5458//5458 6218//6218\nf 6709//6709 6218//6218 6711//6711\nf 6218//6218 6232//6232 6711//6711\nf 6237//6237 5455//5455 6229//6229\nf 6224//6224 5461//5461 6234//6234\nf 6027//6027 6231//6231 6236//6236\nf 6713//6713 5465//5465 6235//6235\nf 5369//5369 6029//6029 6236//6236\nf 6234//6234 6026//6026 5467//5467\nf 6242//6242 5465//5465 6713//6713\nf 6236//6236 6712//6712 6238//6238\nf 5468//5468 5475//5475 6233//6233\nf 6239//6239 5467//5467 5955//5955\nf 5458//5458 6243//6243 6232//6232\nf 5458//5458 5466//5466 6243//6243\nf 5955//5955 6245//6245 6241//6241\nf 6249//6249 5477//5477 6242//6242\nf 6247//6247 5954//5954 6715//6715\nf 5476//5476 6240//6240 6255//6255\nf 6714//6714 6250//6250 6032//6032\nf 6714//6714 6250//6250 6251//6251\nf 6253//6253 5478//5478 6716//6716\nf 6248//6248 5475//5475 5886//5886\nf 6034//6034 6260//6260 6264//6264\nf 5490//5490 5956//5956 6261//6261\nf 5481//5481 6269//6269 6259//6259\nf 6718//6718 6268//6268 6250//6250\nf 6271//6271 5502//5502 5493//5493\nf 6269//6269 5481//5481 5494//5494\nf 6269//6269 5494//5494 6273//6273\nf 5494//5494 5506//5506 6277//6277\nf 6278//6278 6149//6149 5505//5505\nf 5505//5505 5502//5502 6278//6278\nf 5494//5494 6035//6035 5506//5506\nf 6275//6275 5507//5507 6280//6280\nf 6276//6276 6281//6281 5503//5503\nf 6720//6720 6284//6284 6287//6287\nf 5511//5511 6281//6281 6285//6285\nf 6282//6282 5513//5513 6719//6719\nf 6289//6289 5512//5512 6283//6283\nf 6288//6288 5514//5514 5511//5511\nf 6290//6290 5514//5514 6288//6288\nf 6295//6295 5520//5520 6790//6790\nf 6791//6791 6286//6286 6297//6297\nf 6297//6297 6286//6286 5524//5524\nf 5889//5889 5520//5520 6295//6295\nf 6294//6294 6302//6302 6298//6298\nf 5531//5531 5960//5960 6300//6300\nf 6150//6150 5959//5959 6721//6721\nf 6038//6038 6302//6302 6305//6305\nf 6301//6301 5529//5529 6722//6722\nf 5529//5529 5892//5892 6306//6306\nf 5534//5534 5961//5961 6311//6311\nf 6309//6309 5535//5535 6305//6305\nf 6312//6312 6307//6307 5538//5538\nf 6314//6314 6309//6309 6723//6723\nf 5538//5538 6316//6316 6312//6312\nf 6313//6313 5537//5537 6315//6315\nf 6314//6314 6723//6723 6317//6317\nf 5542//5542 6314//6314 6317//6317\nf 6793//6793 6317//6317 6845//6845\nf 5962//5962 6318//6318 6319//6319\nf 5962//5962 5540//5540 6318//6318\nf 6040//6040 6321//6321 6315//6315\nf 6322//6322 5544//5544 6317//6317\nf 6322//6322 6317//6317 6793//6793\nf 6043//6043 6322//6322 6325//6325\nf 5545//5545 6042//6042 6323//6323\nf 5545//5545 6323//6323 6794//6794\nf 6324//6324 5543//5543 5552//5552\nf 6041//6041 6326//6326 6328//6328\nf 6325//6325 6333//6333 6329//6329\nf 6327//6327 5553//5553 6331//6331\nf 5555//5555 6329//6329 6333//6333\nf 5554//5554 6332//6332 6330//6330\nf 6335//6335 5556//5556 6328//6328\nf 6337//6337 5557//5557 6333//6333\nf 5559//5559 6046//6046 6338//6338\nf 6340//6340 6334//6334 5569//5569\nf 6348//6348 6339//6339 6724//6724\nf 6346//6346 5567//5567 6345//6345\nf 6347//6347 5562//5562 6344//6344\nf 6348//6348 5894//5894 6339//6339\nf 5572//5572 5894//5894 6348//6348\nf 6345//6345 5567//5567 6351//6351\nf 5567//5567 5375//5375 6351//6351\nf 6340//6340 6047//6047 5573//5573\nf 6351//6351 5375//5375 6353//6353\nf 6356//6356 5575//5575 6352//6352\nf 6348//6348 6724//6724 6725//6725\nf 5579//5579 6048//6048 6726//6726\nf 6727//6727 6153//6153 6728//6728\nf 6368//6368 5579//5579 6364//6364\nf 6730//6730 6729//6729 5590//5590\nf 5589//5589 5579//5579 6368//6368\nf 6369//6369 6731//6731 6371//6371\nf 6366//6366 6372//6372 6370//6370\nf 6367//6367 5593//5593 5597//5597\nf 5898//5898 5599//5599 6374//6374\nf 6049//6049 5585//5585 6371//6371\nf 6368//6368 6798//6798 6373//6373\nf 5598//5598 6368//6368 6373//6373\nf 6365//6365 6050//6050 6733//6733\nf 6732//6732 6367//6367 5597//5597\nf 5597//5597 5899//5899 6734//6734\nf 6733//6733 6050//6050 6379//6379\nf 6800//6800 5607//5607 6735//6735\nf 6799//6799 5900//5900 5612//5612\nf 6379//6379 6157//6157 6737//6737\nf 6378//6378 5609//5609 6383//6383\nf 6737//6737 6157//6157 6384//6384\nf 6385//6385 6380//6380 6736//6736\nf 5615//5615 5620//5620 6389//6389\nf 6063//6063 6387//6387 6384//6384\nf 6737//6737 6384//6384 6387//6387\nf 6156//6156 6380//6380 6385//6385\nf 5617//5617 5611//5611 6386//6386\nf 6388//6388 5623//5623 6393//6393\nf 6060//6060 6385//6385 6390//6390\nf 6395//6395 6392//6392 6060//6060\nf 6395//6395 6390//6390 6740//6740\nf 6385//6385 6740//6740 6390//6390\nf 6389//6389 5620//5620 6739//6739\nf 6395//6395 6060//6060 6390//6390\nf 6739//6739 5620//5620 6066//6066\nf 6396//6396 5621//5621 6386//6386\nf 6158//6158 6392//6392 6395//6395\nf 6743//6743 6158//6158 6395//6395\nf 6400//6400 6071//6071 6160//6160\nf 6402//6402 6743//6743 6403//6403\nf 6406//6406 6744//6744 6404//6404\nf 6742//6742 5624//5624 6407//6407\nf 6397//6397 5625//5625 6745//6745\nf 5625//5625 5631//5631 6745//6745\nf 6162//6162 6410//6410 6407//6407\nf 6164//6164 6409//6409 6406//6406\nf 5630//5630 6405//6405 6411//6411\nf 6745//6745 5631//5631 5636//5636\nf 5635//5635 5630//5630 6411//6411\nf 6409//6409 6077//6077 6415//6415\nf 6412//6412 6403//6403 6746//6746\nf 6406//6406 6409//6409 6415//6415\nf 6077//6077 5983//5983 6415//6415\nf 6412//6412 6747//6747 6418//6418\nf 6412//6412 6746//6746 6747//6747\nf 6425//6425 5639//5639 6411//6411\nf 6421//6421 6417//6417 5640//5640\nf 6420//6420 5638//5638 6424//6424\nf 5644//5644 5639//5639 6425//6425\nf 6418//6418 6428//6428 6422//6422\nf 6166//6166 5984//5984 6419//6419\nf 6165//6165 6422//6422 6428//6428\nf 6418//6418 6748//6748 6428//6428\nf 5984//5984 6749//6749 6419//6419\nf 6168//6168 6423//6423 6429//6429\nf 5652//5652 5644//5644 6427//6427\nf 6168//6168 5637//5637 6423//6423\nf 5651//5651 6168//6168 6429//6429\nf 6438//6438 6431//6431 6429//6429\nf 6807//6807 6433//6433 6437//6437\nf 6438//6438 6429//6429 6869//6869\nf 6435//6435 5652//5652 6427//6427\nf 5656//5656 5662//5662 6750//6750\nf 6431//6431 6438//6438 5651//5651\nf 6170//6170 6436//6436 6441//6441\nf 5662//5662 5904//5904 6751//6751\nf 6171//6171 6441//6441 6442//6442\nf 6437//6437 6080//6080 6443//6443\nf 6080//6080 6081//6081 6443//6443\nf 6446//6446 5904//5904 6082//6082\nf 6451//6451 6171//6171 6448//6448\nf 6809//6809 6447//6447 5675//5675\nf 6451//6451 6448//6448 6456//6456\nf 6458//6458 5674//5674 6453//6453\nf 6459//6459 6456//6456 6753//6753\nf 6753//6753 6755//6755 6459//6459\nf 6460//6460 5688//5688 6464//6464\nf 5693//5693 6461//6461 6469//6469\nf 6754//6754 5685//5685 5694//5694\nf 6470//6470 6467//6467 6173//6173\nf 5699//5699 5691//5691 6463//6463\nf 5699//5699 6463//6463 6471//6471\nf 6468//6468 5696//5696 5697//5697\nf 6472//6472 5698//5698 6469//6469\nf 6468//6468 5701//5701 6756//6756\nf 6477//6477 5911//5911 6174//6174\nf 6481//6481 5699//5699 6471//6471\nf 5911//5911 6477//6477 6479//6479\nf 5705//5705 5702//5702 6481//6481\nf 5702//5702 5699//5699 6481//6481\nf 5710//5710 6089//6089 6482//6482\nf 6487//6487 5711//5711 6484//6484\nf 6088//6088 6483//6483 6488//6488\nf 6489//6489 6490//6490 6485//6485\nf 6487//6487 5711//5711 5912//5912\nf 6489//6489 5716//5716 6092//6092\nf 6497//6497 6757//6757 6491//6491\nf 5912//5912 5719//5719 6494//6494\nf 6176//6176 5713//5713 6498//6498\nf 6816//6816 6500//6500 6501//6501\nf 6817//6817 6816//6816 6501//6501\nf 5914//5914 6093//6093 6496//6496\nf 5725//5725 5721//5721 6503//6503\nf 6508//6508 6179//6179 5917//5917\nf 6505//6505 6758//6758 6506//6506\nf 6505//6505 6503//6503 6758//6758\nf 6507//6507 6501//6501 5915//5915\nf 6511//6511 6509//6509 6759//6759\nf 6508//6508 6510//6510 6760//6760\nf 6514//6514 6513//6513 5731//5731\nf 5919//5919 6516//6516 6510//6510\nf 6098//6098 6517//6517 6512//6512\nf 6518//6518 5918//5918 6511//6511\nf 6097//6097 5731//5731 6515//6515\nf 5738//5738 6525//6525 5397//5397\nf 5397//5397 6525//6525 6516//6516\nf 6517//6517 6520//6520 6522//6522\nf 6528//6528 5400//5400 5921//5921\nf 6181//6181 6531//6531 6765//6765\nf 6529//6529 6536//6536 5404//5404\nf 6538//6538 6533//6533 6765//6765\nf 6533//6533 6538//6538 6534//6534\nf 5746//5746 6539//6539 6532//6532\nf 6766//6766 6535//6535 6762//6762\nf 6763//6763 6528//6528 5923//5923\nf 6533//6533 6181//6181 6765//6765\nf 6544//6544 5995//5995 6538//6538\nf 6540//6540 5754//5754 6545//6545\nf 6541//6541 6766//6766 6768//6768\nf 6541//6541 6535//6535 6766//6766\nf 5750//5750 6546//6546 6542//6542\nf 6551//6551 5996//5996 6182//6182\nf 6182//6182 6541//6541 6551//6551\nf 6553//6553 6545//6545 5759//5759\nf 6102//6102 6554//6554 6553//6553\nf 6551//6551 6185//6185 6555//6555\nf 6551//6551 6558//6558 6185//6185\nf 5925//5925 6558//6558 6561//6561\nf 6558//6558 6551//6551 6561//6561\nf 5763//5763 6105//6105 6557//6557\nf 6569//6569 6188//6188 6562//6562\nf 5997//5997 6565//6565 6568//6568\nf 6571//6571 5774//5774 6563//6563\nf 5998//5998 5773//5773 6570//6570\nf 6573//6573 5774//5774 6571//6571\nf 6770//6770 6564//6564 6574//6574\nf 6575//6575 6568//6568 6771//6771\nf 6771//6771 6568//6568 6565//6565\nf 6190//6190 6568//6568 6575//6575\nf 6576//6576 6572//6572 5773//5773\nf 6570//6570 5773//5773 6572//6572\nf 6576//6576 5781//5781 6572//6572\nf 5783//5783 6772//6772 6579//6579\nf 5783//5783 5778//5778 6772//6772\nf 6574//6574 6773//6773 6770//6770\nf 5784//5784 6579//6579 6585//6585\nf 6574//6574 6580//6580 6773//6773\nf 6590//6590 6109//6109 6583//6583\nf 6110//6110 6587//6587 6584//6584\nf 5784//5784 6585//6585 6599//6599\nf 6599//6599 5417//5417 5784//5784\nf 6597//6597 6773//6773 6580//6580\nf 6109//6109 6590//6590 6001//6001\nf 6587//6587 6110//6110 6592//6592\nf 6587//6587 6774//6774 6584//6584\nf 6593//6593 5930//5930 6823//6823\nf 6595//6595 5795//5795 6596//6596\nf 6592//6592 6774//6774 6587//6587\nf 6596//6596 5417//5417 6599//6599\nf 6111//6111 6601//6601 6591//6591\nf 6775//6775 6601//6601 6111//6111\nf 6775//6775 6591//6591 6601//6601\nf 6603//6603 5813//5813 6602//6602\nf 6608//6608 5813//5813 6603//6603\nf 6005//6005 6614//6614 6619//6619\nf 6123//6123 6622//6622 6626//6626\nf 5815//5815 6615//6615 6627//6627\nf 6621//6621 6628//6628 5814//5814\nf 6633//6633 5818//5818 6624//6624\nf 5814//5814 6628//6628 6631//6631\nf 6778//6778 6630//6630 5821//5821\nf 6194//6194 5822//5822 6636//6636\nf 6643//6643 6645//6645 6646//6646\nf 5938//5938 6647//6647 6648//6648\nf 6655//6655 6654//6654 6652//6652\nf 6658//6658 5835//5835 6655//6655\nf 6656//6656 5835//5835 6658//6658\nf 6660//6660 6657//6657 6195//6195\nf 5845//5845 5847//5847 6779//6779\nf 5847//5847 5855//5855 6665//6665\nf 6132//6132 5846//5846 6664//6664\nf 6781//6781 6134//6134 6780//6780\nf 6197//6197 6134//6134 6781//6781\nf 6782//6782 6197//6197 6781//6781\nf 6197//6197 5939//5939 6134//6134\nf 6672//6672 6670//6670 6783//6783\nf 5857//5857 6673//6673 6671//6671\nf 6198//6198 5852//5852 6672//6672\nf 6673//6673 6674//6674 5856//5856\nf 6675//6675 6674//6674 5858//5858\nf 6675//6675 5858//5858 6136//6136\nf 6678//6678 6784//6784 6675//6675\nf 6784//6784 6678//6678 6138//6138\nf 6689//6689 6784//6784 6681//6681\nf 6685//6685 6682//6682 6139//6139\nf 5866//5866 6200//6200 6683//6683\nf 6200//6200 6682//6682 6683//6683\nf 5869//5869 6140//6140 6683//6683\nf 6688//6688 5872//5872 6687//6687\nf 6142//6142 6693//6693 6691//6691\nf 6830//6830 6206//6206 6202//6202\nf 6831//6831 6830//6830 6202//6202\nf 6204//6204 6202//6202 6203//6203\nf 6215//6215 5880//5880 5881//5881\nf 6708//6708 6215//6215 5881//5881\nf 6834//6834 6210//6210 6216//6216\nf 6223//6223 6023//6023 6215//6215\nf 6214//6214 5460//5460 6785//6785\nf 6982//6982 6225//6225 6221//6221\nf 6230//6230 5461//5461 6224//6224\nf 6785//6785 6228//6228 6233//6233\nf 6231//6231 6836//6836 7392//7392\nf 6239//6239 6241//6241 6245//6245\nf 6232//6232 6787//6787 6711//6711\nf 5475//5475 6244//6244 6786//6786\nf 6232//6232 6243//6243 6787//6787\nf 6246//6246 5472//5472 6247//6247\nf 6715//6715 5954//5954 5474//5474\nf 6788//6788 6260//6260 6254//6254\nf 6263//6263 5492//5492 6255//6255\nf 6243//6243 5481//5481 6259//6259\nf 6716//6716 5478//5478 5885//5885\nf 6261//6261 5956//5956 6266//6266\nf 6278//6278 5502//5502 6271//6271\nf 6269//6269 6273//6273 6277//6277\nf 5494//5494 6277//6277 6273//6273\nf 5516//5516 6290//6290 6291//6291\nf 6294//6294 6841//6841 6302//6302\nf 6305//6305 6302//6302 6792//6792\nf 6300//6300 5960//5960 5533//5533\nf 6300//6300 5533//5533 6304//6304\nf 6150//6150 6721//6721 6308//6308\nf 6305//6305 6723//6723 6309//6309\nf 7057//7057 6311//6311 6306//6306\nf 6723//6723 6843//6843 6317//6317\nf 6325//6325 6322//6322 6793//6793\nf 6330//6330 6332//6332 6323//6323\nf 6795//6795 6333//6333 6325//6325\nf 6336//6336 5559//5559 6338//6338\nf 6337//6337 6848//6848 6850//6850\nf 5561//5561 5563//5563 6346//6346\nf 5561//5561 6346//6346 6343//6343\nf 6346//6346 6345//6345 6351//6351\nf 6361//6361 5575//5575 6796//6796\nf 5575//5575 6356//6356 6796//6796\nf 6357//6357 5582//5582 6727//6727\nf 6361//6361 5896//5896 5575//5575\nf 6363//6363 6348//6348 6725//6725\nf 6364//6364 5579//5579 6726//6726\nf 6729//6729 6362//6362 5580//5580\nf 6729//6729 5580//5580 5590//5590\nf 6797//6797 6360//6360 6365//6365\nf 6730//6730 5898//5898 6374//6374\nf 6374//6374 5599//5599 6375//6375\nf 5597//5597 6734//6734 6732//6732\nf 6055//6055 5607//5607 6800//6800\nf 6855//6855 6733//6733 6379//6379\nf 6382//6382 6055//6055 6800//6800\nf 6376//6376 6736//6736 6380//6380\nf 6381//6381 5610//5610 6377//6377\nf 6799//6799 5612//5612 6802//6802\nf 6802//6802 5612//5612 6388//6388\nf 6385//6385 6736//6736 6803//6803\nf 6394//6394 5618//5618 6738//6738\nf 6395//6395 6740//6740 6804//6804\nf 6404//6404 6744//6744 6400//6400\nf 6804//6804 6743//6743 6395//6395\nf 6403//6403 6743//6743 6746//6746\nf 6743//6743 6804//6804 6865//6865\nf 6805//6805 6406//6406 6415//6415\nf 6407//6407 6410//6410 7129//7129\nf 6806//6806 6415//6415 6419//6419\nf 6421//6421 6078//6078 5656//5656\nf 6419//6419 6749//6749 6433//6433\nf 6424//6424 6426//6426 6430//6430\nf 6428//6428 6748//6748 6808//6808\nf 6441//6441 6428//6428 6808//6808\nf 6436//6436 6428//6428 6441//6441\nf 6434//6434 5660//5660 6439//6439\nf 6442//6442 6441//6441 6808//6808\nf 6751//6751 5904//5904 6446//6446\nf 6439//6439 5667//5667 6447//6447\nf 6456//6456 6448//6448 6752//6752\nf 6453//6453 6449//6449 6874//6874\nf 6809//6809 5675//5675 5679//5679\nf 6456//6456 6083//6083 6451//6451\nf 6875//6875 6452//6452 6457//6457\nf 5908//5908 6754//6754 6454//6454\nf 6456//6456 6752//6752 6753//6753\nf 6810//6810 5679//5679 6460//6460\nf 5684//5684 6455//6455 6461//6461\nf 6462//6462 6467//6467 6457//6457\nf 6463//6463 6458//6458 6811//6811\nf 6464//6464 5692//5692 6468//6468\nf 6466//6466 5694//5694 6812//6812\nf 6465//6465 6755//6755 6477//6477\nf 5694//5694 5707//5707 6812//6812\nf 5707//5707 6476//6476 6812//6812\nf 6756//6756 5701//5701 6475//6475\nf 6813//6813 6474//6474 6480//6480\nf 6478//6478 5703//5703 6482//6482\nf 6813//6813 6480//6480 5712//5712\nf 5712//5712 6485//6485 6813//6813\nf 6476//6476 5711//5711 6879//6879\nf 6490//6490 6814//6814 6485//6485\nf 6880//6880 6486//6486 6481//6481\nf 6881//6881 6495//6495 6488//6488\nf 6495//6495 6881//6881 6496//6496\nf 6494//6494 5719//5719 6816//6816\nf 5719//5719 6500//6500 6816//6816\nf 6507//6507 6882//6882 6501//6501\nf 6818//6818 6506//6506 6758//6758\nf 6514//6514 6506//6506 6818//6818\nf 6516//6516 6760//6760 6510//6510\nf 6516//6516 6819//6819 6760//6760\nf 6515//6515 6513//6513 6514//6514\nf 6761//6761 6515//6515 6514//6514\nf 6761//6761 6521//6521 6515//6515\nf 6517//6517 6522//6522 6520//6520\nf 6762//6762 6526//6526 6820//6820\nf 6527//6527 6523//6523 6524//6524\nf 6527//6527 6528//6528 6890//6890\nf 6891//6891 6889//6889 6530//6530\nf 6891//6891 6530//6530 6537//6537\nf 5923//5923 6767//6767 6763//6763\nf 5923//5923 5750//5750 6542//6542\nf 6544//6544 6538//6538 6765//6765\nf 5923//5923 6542//6542 6767//6767\nf 6542//6542 6821//6821 6767//6767\nf 6541//6541 6768//6768 6551//6551\nf 6551//6551 6894//6894 6895//6895\nf 6550//6550 5768//5768 6560//6560\nf 6559//6559 6556//6556 6552//6552\nf 6569//6569 6771//6771 6565//6565\nf 6570//6570 5998//5998 6822//6822\nf 5998//5998 6570//6570 6822//6822\nf 6822//6822 6570//6570 6572//6572\nf 5799//5799 6594//6594 6823//6823\nf 6614//6614 6610//6610 6606//6606\nf 6615//6615 6613//6613 6776//6776\nf 6618//6618 6824//6824 6611//6611\nf 6630//6630 6778//6778 6616//6616\nf 5937//5937 6644//6644 6647//6647\nf 6826//6826 6652//6652 6825//6825\nf 6825//6825 6652//6652 6648//6648\nf 6652//6652 6826//6826 6655//6655\nf 6662//6662 5845//5845 6779//6779\nf 5847//5847 6665//6665 6779//6779\nf 5846//5846 6663//6663 6664//6664\nf 6009//6009 6782//6782 6667//6667\nf 6670//6670 6010//6010 6669//6669\nf 6673//6673 5856//5856 6674//6674\nf 6674//6674 6675//6675 6828//6828\nf 6680//6680 6679//6679 6677//6677\nf 5869//5869 6683//6683 6684//6684\nf 6831//6831 6202//6202 6204//6204\nf 6832//6832 6707//6707 6209//6209\nf 6707//6707 6207//6207 6209//6209\nf 6708//6708 6833//6833 6215//6215\nf 6833//6833 6708//6708 6834//6834\nf 6961//6961 6834//6834 6216//6216\nf 6834//6834 6708//6708 6210//6210\nf 6836//6836 6231//6231 6710//6710\nf 6837//6837 6229//6229 6223//6223\nf 6224//6224 6234//6234 6835//6835\nf 6235//6235 5450//5450 6225//6225\nf 6240//6240 6237//6237 6838//6838\nf 6239//6239 6245//6245 6839//6839\nf 6254//6254 6238//6238 6712//6712\nf 6840//6840 6243//6243 6259//6259\nf 7018//7018 7012//7012 6259//6259\nf 7020//7020 6275//6275 6280//6280\nf 6789//6789 6271//6271 6278//6278\nf 6277//6277 6279//6279 6284//6284\nf 5520//5520 6289//6289 6790//6790\nf 6287//6287 6296//6296 6720//6720\nf 6293//6293 6841//6841 6294//6294\nf 5959//5959 6295//6295 6721//6721\nf 6841//6841 6792//6792 6302//6302\nf 6305//6305 6842//6842 6723//6723\nf 7057//7057 6306//6306 6311//6311\nf 6844//6844 6312//6312 6316//6316\nf 6317//6317 6843//6843 6845//6845\nf 6315//6315 6321//6321 6915//6915\nf 5545//5545 6794//6794 6320//6320\nf 6793//6793 6845//6845 6846//6846\nf 6793//6793 6846//6846 6325//6325\nf 6325//6325 6846//6846 6795//6795\nf 6327//6327 6847//6847 6324//6324\nf 6321//6321 6324//6324 6847//6847\nf 6335//6335 6328//6328 6849//6849\nf 6337//6337 6850//6850 6339//6339\nf 6724//6724 6339//6339 6850//6850\nf 6349//6349 6347//6347 6851//6851\nf 6349//6349 6851//6851 6352//6352\nf 6359//6359 6353//6353 6355//6355\nf 6917//6917 6353//6353 6359//6359\nf 6363//6363 5963//5963 6348//6348\nf 6363//6363 6725//6725 6852//6852\nf 6369//6369 6363//6363 6852//6852\nf 6853//6853 6366//6366 6361//6361\nf 7095//7095 6730//6730 6374//6374\nf 6797//6797 6365//6365 6854//6854\nf 6854//6854 6365//6365 6733//6733\nf 6798//6798 7100//7100 6373//6373\nf 6376//6376 6371//6371 6731//6731\nf 6854//6854 6733//6733 6855//6855\nf 6734//6734 5900//5900 6799//6799\nf 6374//6374 6375//6375 6378//6378\nf 6376//6376 6856//6856 6858//6858\nf 6857//6857 6855//6855 6737//6737\nf 6855//6855 6379//6379 6737//6737\nf 6801//6801 6378//6378 6383//6383\nf 6376//6376 6858//6858 6736//6736\nf 6737//6737 6387//6387 6741//6741\nf 6737//6737 6741//6741 6857//6857\nf 6802//6802 6388//6388 6393//6393\nf 6741//6741 6398//6398 6400//6400\nf 6860//6860 6741//6741 6400//6400\nf 6862//6862 6740//6740 6385//6385\nf 5624//5624 6742//6742 6393//6393\nf 6407//6407 6863//6863 6742//6742\nf 6405//6405 6401//6401 6394//6394\nf 6864//6864 6411//6411 6405//6405\nf 6746//6746 6743//6743 6865//6865\nf 6423//6423 6416//6416 6414//6414\nf 6867//6867 6427//6427 6425//6425\nf 6748//6748 6418//6418 6747//6747\nf 6419//6419 6433//6433 6866//6866\nf 6747//6747 6868//6868 6748//6748\nf 6421//6421 5656//5656 6750//6750\nf 7146//7146 7449//7449 6807//6807\nf 6748//6748 6868//6868 6870//6870\nf 6748//6748 6870//6870 6808//6808\nf 6750//6750 5662//5662 6751//6751\nf 6437//6437 6443//6443 6871//6871\nf 6438//6438 7147//7147 7154//7154\nf 6751//6751 6446//6446 6872//6872\nf 6808//6808 6873//6873 6442//6442\nf 6445//6445 6440//6440 6435//6435\nf 7156//7156 7153//7153 6926//6926\nf 6446//6446 6454//6454 7158//7158\nf 6752//6752 6873//6873 6927//6927\nf 6442//6442 6873//6873 6752//6752\nf 6809//6809 5679//5679 6810//6810\nf 6753//6753 6752//6752 6876//6876\nf 6928//6928 6457//6457 6467//6467\nf 6477//6477 6755//6755 6878//6878\nf 6470//6470 6877//6877 6467//6467\nf 6470//6470 6474//6474 6877//6877\nf 6473//6473 6472//6472 6469//6469\nf 6812//6812 6476//6476 6879//6879\nf 6487//6487 6879//6879 5711//5711\nf 6491//6491 6492//6492 6814//6814\nf 6757//6757 6815//6815 6492//6492\nf 6479//6479 6488//6488 6483//6483\nf 6757//6757 6492//6492 6491//6491\nf 6880//6880 6493//6493 6486//6486\nf 6936//6936 6498//6498 6493//6493\nf 6882//6882 6817//6817 6501//6501\nf 6504//6504 6502//6502 6509//6509\nf 6882//6882 6507//6507 6883//6883\nf 6507//6507 6512//6512 6883//6883\nf 6884//6884 6883//6883 6517//6517\nf 6945//6945 6819//6819 6516//6516\nf 6884//6884 6517//6517 6520//6520\nf 6520//6520 6522//6522 6532//6532\nf 6527//6527 6886//6886 6523//6523\nf 6521//6521 6885//6885 6887//6887\nf 6531//6531 6521//6521 6887//6887\nf 6888//6888 6766//6766 6762//6762\nf 6890//6890 6528//6528 6763//6763\nf 6539//6539 6540//6540 6545//6545\nf 6764//6764 6893//6893 6765//6765\nf 6892//6892 6893//6893 6764//6764\nf 6893//6893 6544//6544 6765//6765\nf 6551//6551 6768//6768 6894//6894\nf 6543//6543 6550//6550 7254//7254\nf 6553//6553 6554//6554 6769//6769\nf 6551//6551 6895//6895 6561//6561\nf 6951//6951 6560//6560 6952//6952\nf 6895//6895 6896//6896 6563//6563\nf 6561//6561 6895//6895 6563//6563\nf 6897//6897 6560//6560 6564//6564\nf 6769//6769 6557//6557 6898//6898\nf 6898//6898 6557//6557 6567//6567\nf 6571//6571 6563//6563 6573//6573\nf 6564//6564 6770//6770 6897//6897\nf 6565//6565 6771//6771 6569//6569\nf 6899//6899 6567//6567 6570//6570\nf 6570//6570 6822//6822 6899//6899\nf 5778//5778 6577//6577 6772//6772\nf 6593//6593 6823//6823 6953//6953\nf 6900//6900 6584//6584 6774//6774\nf 6901//6901 6598//6598 6593//6593\nf 5930//5930 5799//5799 6823//6823\nf 6582//6582 6589//6589 6588//6588\nf 6586//6586 6582//6582 6588//6588\nf 6592//6592 6584//6584 6774//6774\nf 6592//6592 6774//6774 6584//6584\nf 6603//6603 6602//6602 6902//6902\nf 6902//6902 6608//6608 6603//6603\nf 6597//6597 6609//6609 6903//6903\nf 6613//6613 6904//6904 6776//6776\nf 6614//6614 6606//6606 6610//6610\nf 6904//6904 6906//6906 6776//6776\nf 6609//6609 6907//6907 6903//6903\nf 6616//6616 6907//6907 6609//6609\nf 6621//6621 6620//6620 6905//6905\nf 6616//6616 6778//6778 6907//6907\nf 6908//6908 6623//6623 6632//6632\nf 6909//6909 6636//6636 6638//6638\nf 6954//6954 6909//6909 6638//6638\nf 6638//6638 6641//6641 6954//6954\nf 6643//6643 6954//6954 6641//6641\nf 6648//6648 6647//6647 6910//6910\nf 6646//6646 6650//6650 6651//6651\nf 6653//6653 6657//6657 6651//6651\nf 6911//6911 6658//6658 6655//6655\nf 6780//6780 6133//6133 6196//6196\nf 6669//6669 6783//6783 6670//6670\nf 6827//6827 6671//6671 6673//6673\nf 6827//6827 6668//6668 6671//6671\nf 6673//6673 6674//6674 6828//6828\nf 6672//6672 6783//6783 6676//6676\nf 6912//6912 6675//6675 6784//6784\nf 6828//6828 6675//6675 6912//6912\nf 6912//6912 6784//6784 6690//6690\nf 6690//6690 6784//6784 6689//6689\nf 6829//6829 6680//6680 6677//6677\nf 7375//7375 6691//6691 7367//7367\nf 6699//6699 6695//6695 6697//6697\nf 6702//6702 6913//6913 6699//6699\nf 6913//6913 6702//6702 6705//6705\nf 6913//6913 6705//6705 6706//6706\nf 6965//6965 6831//6831 6204//6204\nf 6958//6958 6204//6204 6707//6707\nf 6960//6960 6968//6968 6833//6833\nf 6968//6968 6215//6215 6833//6833\nf 6969//6969 6961//6961 6216//6216\nf 6968//6968 6223//6223 6215//6215\nf 6971//6971 6970//6970 6224//6224\nf 6982//6982 6221//6221 6217//6217\nf 6978//6978 6837//6837 6223//6223\nf 6982//6982 6981//6981 6225//6225\nf 6231//6231 6226//6226 6710//6710\nf 7395//7395 6984//6984 6233//6233\nf 6239//6239 6835//6835 6234//6234\nf 6236//6236 6231//6231 6836//6836\nf 6836//6836 7393//7393 6987//6987\nf 6236//6236 6986//6986 6712//6712\nf 6713//6713 6235//6235 6990//6990\nf 6989//6989 6914//6914 6712//6712\nf 6914//6914 6254//6254 6712//6712\nf 6992//6992 6240//6240 6838//6838\nf 6994//6994 6244//6244 6248//6248\nf 6787//6787 6243//6243 6840//6840\nf 7006//7006 6252//6252 6246//6246\nf 6788//6788 7004//7004 7003//7003\nf 7011//7011 7009//7009 6257//6257\nf 6260//6260 6788//6788 6264//6264\nf 6265//6265 7017//7017 6271//6271\nf 7016//7016 6717//6717 6270//6270\nf 7025//7025 6278//6278 7023//7023\nf 6282//6282 6719//6719 7029//7029\nf 6790//6790 6289//6289 6283//6283\nf 6791//6791 7037//7037 6286//6286\nf 7038//7038 6292//6292 6291//6291\nf 6791//6791 6297//6297 7041//7041\nf 7039//7039 6791//6791 7041//7041\nf 6295//6295 7049//7049 6721//6721\nf 6841//6841 7048//7048 6792//6792\nf 6307//6307 6300//6300 6304//6304\nf 7054//7054 6306//6306 7409//7409\nf 6843//6843 6723//6723 6842//6842\nf 7056//7056 6307//6307 6312//6312\nf 7062//7062 6915//6915 6321//6321\nf 6333//6333 6916//6916 6848//6848\nf 6333//6333 6848//6848 6337//6337\nf 7418//7418 6334//6334 7074//7074\nf 7074//7074 6334//6334 6340//6340\nf 6352//6352 7084//7084 6356//6356\nf 6354//6354 6358//6358 6362//6362\nf 7085//7085 6354//6354 7091//7091\nf 7089//7089 7093//7093 6796//6796\nf 6359//6359 6360//6360 6919//6919\nf 6366//6366 6853//6853 7424//7424\nf 7100//7100 6798//6798 6368//6368\nf 6367//6367 6732//6732 6734//6734\nf 6856//6856 6376//6376 6731//6731\nf 7109//7109 7107//7107 6383//6383\nf 6857//6857 6741//6741 6921//6921\nf 6920//6920 6802//6802 6393//6393\nf 6386//6386 6382//6382 6859//6859\nf 7109//7109 6389//6389 7114//7114\nf 6921//6921 6741//6741 6860//6860\nf 6738//6738 6381//6381 6861//6861\nf 6397//6397 7117//7117 7438//7438\nf 6744//6744 6860//6860 6400//6400\nf 6408//6408 6399//6399 6396//6396\nf 6744//6744 6406//6406 6805//6805\nf 6804//6804 6740//6740 6923//6923\nf 6408//6408 6396//6396 7123//7123\nf 6864//6864 6405//6405 6411//6411\nf 6415//6415 6806//6806 6805//6805\nf 6747//6747 6746//6746 6865//6865\nf 6747//6747 6925//6925 6868//6868\nf 7135//7135 6433//6433 6807//6807\nf 6873//6873 6808//6808 6870//6870\nf 6874//6874 6449//6449 6444//6444\nf 6926//6926 6447//6447 6809//6809\nf 6930//6930 6753//6753 6876//6876\nf 6930//6930 6755//6755 6753//6753\nf 6460//6460 5692//5692 6464//6464\nf 6460//6460 6464//6464 5692//5692\nf 6463//6463 6811//6811 6471//6471\nf 6471//6471 6811//6811 7176//7176\nf 6468//6468 6756//6756 6475//6475\nf 7178//7178 6473//6473 6469//6469\nf 6931//6931 6813//6813 6485//6485\nf 6485//6485 6814//6814 6931//6931\nf 7186//7186 6879//6879 6487//6487\nf 6934//6934 6932//6932 6933//6933\nf 7189//7189 7191//7191 6479//6479\nf 6932//6932 6934//6934 6935//6935\nf 6933//6933 6937//6937 6934//6934\nf 6934//6934 6937//6937 6938//6938\nf 6939//6939 6934//6934 6938//6938\nf 6935//6935 6934//6934 6939//6939\nf 6496//6496 6881//6881 6502//6502\nf 6939//6939 6941//6941 6940//6940\nf 7204//7204 6940//6940 6941//6941\nf 6939//6939 6938//6938 6942//6942\nf 6941//6941 6939//6939 6942//6942\nf 6758//6758 6503//6503 6943//6943\nf 6883//6883 6512//6512 6517//6517\nf 6761//6761 6514//6514 6818//6818\nf 6761//6761 6818//6818 6944//6944\nf 6525//6525 6945//6945 6516//6516\nf 6518//6518 6946//6946 6519//6519\nf 6521//6521 6761//6761 6885//6885\nf 6520//6520 7226//7226 6947//6947\nf 6520//6520 6947//6947 6884//6884\nf 6519//6519 6946//6946 7224//7224\nf 6530//6530 6889//6889 6525//6525\nf 6525//6525 6889//6889 6945//6945\nf 6766//6766 6948//6948 7242//7242\nf 6890//6890 6763//6763 7246//7246\nf 6767//6767 6949//6949 6763//6763\nf 7243//7243 6891//6891 6950//6950\nf 6542//6542 7252//7252 7499//7499\nf 7501//7501 6768//6768 6894//6894\nf 6550//6550 6951//6951 7254//7254\nf 7257//7257 7255//7255 6553//6553\nf 6550//6550 6951//6951 7254//7254\nf 7261//7261 6952//6952 6560//6560\nf 7261//7261 6560//6560 6897//6897\nf 6771//6771 6565//6565 6575//6575\nf 6899//6899 6822//6822 7270//7270\nf 6900//6900 6822//6822 6572//6572\nf 6900//6900 6572//6572 6584//6584\nf 6953//6953 6901//6901 6593//6593\nf 7281//7281 6953//6953 6593//6593\nf 6595//6595 6823//6823 6594//6594\nf 6585//6585 7282//7282 6599//6599\nf 7287//7287 6597//6597 6903//6903\nf 7288//7288 6604//6604 6600//6600\nf 6622//6622 6617//6617 7319//7319\nf 7324//7324 6618//6618 6626//6626\nf 6629//6629 6627//6627 6615//6615\nf 6628//6628 6632//6632 6631//6631\nf 6777//6777 6624//6624 6633//6633\nf 6635//6635 7330//7330 6637//6637\nf 7575//7575 7335//7335 7336//7336\nf 6646//6646 6651//6651 7343//7343\nf 6646//6646 7343//7343 7576//7576\nf 6655//6655 6955//6955 6911//6911\nf 6658//6658 6661//6661 6659//6659\nf 6658//6658 6911//6911 6661//6661\nf 6662//6662 7348//7348 6660//6660\nf 7351//7351 6663//6663 7349//7349\nf 6663//6663 7353//7353 6664//6664\nf 6666//6666 6132//6132 6664//6664\nf 6780//6780 6196//6196 6666//6666\nf 6828//6828 6956//6956 6673//6673\nf 7366//7366 6677//6677 6676//6676\nf 6829//6829 6677//6677 7367//7367\nf 6688//6688 6957//6957 6690//6690\nf 6957//6957 6912//6912 6690//6690\nf 6680//6680 6829//6829 6691//6691\nf 6699//6699 6697//6697 6695//6695\nf 7381//7381 6701//6701 7379//7379\nf 6703//6703 6701//6701 7381//7381\nf 6963//6963 6962//6962 6205//6205\nf 6205//6205 6206//6206 6830//6830\nf 6966//6966 6965//6965 6204//6204\nf 6834//6834 6960//6960 6833//6833\nf 6213//6213 6208//6208 7389//7389\nf 6208//6208 6205//6205 6962//6962\nf 7385//7385 6214//6214 6967//6967\nf 6974//6974 6223//6223 6968//6968\nf 6216//6216 6970//6970 6969//6969\nf 6216//6216 6224//6224 6970//6970\nf 6709//6709 6975//6975 6218//6218\nf 6980//6980 6224//6224 6835//6835\nf 6982//6982 6217//6217 7582//7582\nf 7804//7804 7582//7582 8451//8451\nf 6979//6979 6973//6973 6785//6785\nf 6237//6237 6229//6229 6837//6837\nf 6835//6835 6239//6239 6983//6983\nf 6983//6983 6239//6239 7390//7390\nf 6236//6236 6987//6987 6986//6986\nf 6979//6979 6233//6233 6984//6984\nf 6988//6988 6239//6239 6839//6839\nf 6997//6997 6713//6713 6990//6990\nf 6988//6988 6839//6839 6245//6245\nf 6993//6993 6711//6711 6787//6787\nf 6788//6788 6254//6254 6991//6991\nf 6994//6994 6786//6786 6244//6244\nf 6255//6255 6240//6240 6995//6995\nf 6256//6256 6996//6996 6245//6245\nf 6999//6999 6249//6249 6242//6242\nf 6999//6999 6242//6242 6997//6997\nf 6995//6995 6998//6998 6255//6255\nf 7001//7001 6256//6256 6258//6258\nf 7000//7000 6714//6714 6251//6251\nf 7002//7002 7000//7000 6251//6251\nf 6264//6264 6788//6788 7003//7003\nf 6999//6999 7001//7001 6258//6258\nf 6999//6999 6258//6258 6249//6249\nf 7005//7005 6250//6250 6714//6714\nf 7000//7000 7005//7005 6714//6714\nf 6246//6246 6247//6247 7007//7007\nf 7401//7401 6248//6248 6262//6262\nf 7012//7012 6787//6787 6840//6840\nf 7007//7007 7010//7010 6246//6246\nf 7003//7003 6267//6267 6264//6264\nf 7012//7012 6993//6993 6787//6787\nf 7401//7401 6994//6994 6248//6248\nf 7017//7017 6265//6265 6255//6255\nf 7401//7401 6262//6262 6717//6717\nf 6265//6265 6263//6263 6255//6255\nf 6266//6266 7015//7015 6261//6261\nf 7015//7015 7014//7014 6261//6261\nf 6266//6266 6267//6267 7015//7015\nf 7018//7018 6259//6259 6269//6269\nf 7016//7016 6270//6270 6272//6272\nf 6250//6250 6268//6268 6718//6718\nf 7020//7020 7016//7016 6272//6272\nf 6269//6269 7019//7019 7018//7018\nf 6274//6274 6268//6268 7022//7022\nf 6272//6272 6275//6275 7020//7020\nf 7023//7023 6278//6278 6271//6271\nf 7024//7024 7019//7019 6269//6269\nf 6269//6269 6277//6277 7026//7026\nf 7022//7022 6276//6276 6274//6274\nf 6269//6269 6277//6277 7024//7024\nf 7024//7024 6277//6277 7026//7026\nf 6269//6269 7026//7026 6277//6277\nf 7403//7403 6280//6280 6282//6282\nf 7028//7028 6276//6276 7027//7027\nf 7535//7535 7403//7403 7029//7029\nf 6283//6283 7405//7405 6790//6790\nf 7029//7029 6719//6719 6286//6286\nf 6281//6281 7032//7032 6285//6285\nf 7028//7028 7032//7032 6281//6281\nf 6285//6285 7033//7033 6288//6288\nf 6285//6285 7032//7032 7033//7033\nf 7034//7034 7404//7404 6284//6284\nf 6290//6290 7036//7036 6291//6291\nf 6290//6290 7035//7035 7036//7036\nf 6291//6291 7036//7036 7038//7038\nf 6791//6791 6286//6286 7037//7037\nf 6791//6791 7039//7039 6286//6286\nf 6293//6293 6292//6292 6841//6841\nf 7042//7042 6295//6295 6790//6790\nf 6720//6720 6296//6296 7043//7043\nf 7043//7043 6296//6296 7045//7045\nf 7041//7041 6297//6297 7044//7044\nf 7044//7044 7047//7047 6300//6300\nf 7406//7406 7048//7048 7046//7046\nf 6841//6841 7046//7046 7048//7048\nf 7044//7044 6300//6300 7047//7047\nf 6299//6299 7050//7050 6296//6296\nf 7044//7044 6297//6297 6300//6300\nf 7050//7050 6301//6301 7052//7052\nf 7052//7052 6301//6301 6722//6722\nf 7052//7052 6722//6722 7054//7054\nf 7053//7053 6300//6300 6307//6307\nf 6792//6792 6842//6842 6305//6305\nf 6722//6722 6306//6306 7054//7054\nf 6306//6306 6311//6311 7409//7409\nf 7056//7056 6312//6312 6844//6844\nf 7057//7057 6311//6311 6313//6313\nf 6845//6845 6843//6843 7058//7058\nf 7057//7057 6313//6313 6315//6315\nf 7056//7056 6844//6844 6316//6316\nf 6320//6320 7059//7059 6316//6316\nf 7061//7061 6915//6915 7062//7062\nf 6846//6846 6845//6845 7411//7411\nf 6794//6794 7064//7064 6320//6320\nf 6794//6794 6323//6323 7066//7066\nf 6847//6847 6327//6327 7412//7412\nf 7412//7412 6327//6327 7068//7068\nf 7066//7066 6332//6332 7072//7072\nf 7069//7069 7068//7068 6327//6327\nf 6795//6795 7415//7415 6916//6916\nf 7070//7070 7069//7069 6327//6327\nf 6333//6333 6795//6795 6916//6916\nf 7070//7070 6327//6327 6331//6331\nf 7071//7071 7070//7070 6331//6331\nf 7418//7418 6332//6332 6334//6334\nf 7073//7073 6331//6331 6336//6336\nf 7075//7075 6341//6341 6335//6335\nf 7078//7078 6351//6351 7077//7077\nf 6346//6346 6351//6351 7078//7078\nf 6347//6347 6344//6344 7079//7079\nf 6352//6352 6851//6851 7081//7081\nf 6351//6351 7083//7083 7077//7077\nf 6725//6725 6724//6724 7086//7086\nf 7088//7088 6353//6353 6917//6917\nf 7088//7088 7083//7083 6353//6353\nf 7543//7543 7089//7089 7084//7084\nf 6357//6357 6727//6727 6728//6728\nf 6350//6350 7090//7090 6726//6726\nf 6725//6725 7086//7086 7087//7087\nf 7089//7089 6796//6796 6356//6356\nf 6364//6364 6726//6726 7090//7090\nf 7092//7092 6725//6725 7087//7087\nf 7093//7093 6361//6361 6796//6796\nf 6361//6361 7093//7093 6853//6853\nf 7425//7425 6852//6852 7092//7092\nf 7094//7094 6919//6919 7423//7423\nf 6360//6360 6797//6797 6919//6919\nf 7426//7426 7096//7096 6852//6852\nf 6919//6919 6797//6797 7098//7098\nf 6366//6366 7097//7097 7099//7099\nf 6797//6797 6854//6854 7098//7098\nf 6731//6731 6369//6369 6852//6852\nf 7104//7104 6373//6373 7610//7610\nf 6854//6854 6855//6855 7098//7098\nf 6373//6373 7104//7104 6377//6377\nf 7106//7106 6800//6800 7105//7105\nf 6735//6735 7105//7105 6800//6800\nf 7104//7104 7108//7108 6381//6381\nf 6377//6377 7104//7104 6381//6381\nf 6378//6378 6801//6801 6383//6383\nf 6800//6800 7106//7106 6382//6382\nf 7431//7431 6802//6802 7435//7435\nf 7112//7112 7435//7435 6920//6920\nf 6922//6922 6736//6736 6858//6858\nf 6736//6736 6922//6922 6803//6803\nf 6382//6382 7111//7111 6859//6859\nf 6920//6920 6393//6393 7112//7112\nf 7113//7113 6861//6861 6381//6381\nf 6739//6739 7114//7114 6389//6389\nf 6386//6386 6859//6859 7111//7111\nf 6396//6396 6386//6386 7115//7115\nf 6742//6742 7112//7112 6393//6393\nf 6742//6742 7116//7116 7112//7112\nf 7439//7439 6860//6860 6744//6744\nf 7118//7118 7439//7439 6744//6744\nf 7116//7116 6742//6742 7119//7119\nf 7119//7119 6742//6742 6863//6863\nf 6924//6924 6397//6397 6745//6745\nf 6407//6407 7119//7119 6863//6863\nf 6397//6397 6924//6924 7124//7124\nf 7122//7122 6744//6744 6805//6805\nf 6804//6804 6923//6923 7127//7127\nf 6865//6865 6804//6804 7127//7127\nf 7443//7443 7442//7442 6805//6805\nf 6414//6414 6408//6408 7549//7549\nf 6745//6745 6417//6417 7124//7124\nf 7443//7443 6805//6805 6806//6806\nf 6747//6747 6865//6865 6925//6925\nf 6419//6419 6866//6866 7128//7128\nf 7133//7133 6410//6410 6420//6420\nf 7133//7133 7129//7129 6410//6410\nf 6425//6425 6411//6411 7132//7132\nf 6806//6806 6419//6419 7128//7128\nf 6419//6419 7135//7135 6866//6866\nf 7137//7137 7133//7133 6420//6420\nf 6419//6419 6866//6866 7135//7135\nf 7137//7137 6420//6420 6424//6424\nf 7141//7141 6925//6925 7139//7139\nf 6433//6433 7135//7135 6866//6866\nf 6868//6868 6925//6925 7143//7143\nf 7144//7144 6423//6423 7140//7140\nf 7142//7142 6424//6424 6430//6430\nf 7142//7142 7137//7137 6424//6424\nf 7445//7445 7135//7135 6807//6807\nf 7134//7134 6421//6421 6750//6750\nf 7146//7146 6807//6807 6437//6437\nf 7144//7144 7147//7147 6429//6429\nf 6429//6429 7147//7147 6869//6869\nf 7148//7148 7142//7142 6430//6430\nf 6434//6434 7148//7148 6430//6430\nf 7149//7149 6751//6751 6872//6872\nf 7146//7146 6437//6437 6871//6871\nf 7150//7150 6434//6434 6439//6439\nf 6870//6870 7151//7151 7152//7152\nf 7451//7451 6873//6873 7152//7152\nf 7152//7152 6873//6873 6870//6870\nf 7149//7149 6872//6872 6446//6446\nf 7155//7155 7157//7157 6445//6445\nf 6450//6450 6452//6452 7159//7159\nf 6927//6927 6873//6873 7163//7163\nf 7156//7156 6926//6926 6809//6809\nf 6874//6874 7160//7160 6453//6453\nf 6754//6754 7161//7161 6454//6454\nf 6927//6927 7163//7163 6752//6752\nf 6875//6875 6457//6457 7165//7165\nf 6928//6928 7165//7165 6457//6457\nf 6810//6810 7164//7164 6809//6809\nf 7164//7164 6810//6810 6809//6809\nf 7169//7169 6461//6461 7162//7162\nf 6752//6752 7163//7163 6876//6876\nf 6453//6453 6874//6874 6458//6458\nf 7167//7167 7161//7161 6754//6754\nf 7452//7452 6876//6876 7163//7163\nf 7168//7168 6928//6928 6457//6457\nf 6810//6810 6460//6460 7166//7166\nf 6457//6457 6928//6928 7168//7168\nf 6810//6810 6460//6460 7166//7166\nf 6460//6460 6810//6810 7166//7166\nf 6461//6461 6455//6455 7162//7162\nf 7175//7175 6811//6811 6458//6458\nf 6464//6464 6929//6929 6460//6460\nf 6461//6461 7169//7169 6469//6469\nf 6466//6466 7167//7167 6754//6754\nf 7172//7172 7167//7167 6466//6466\nf 7455//7455 6467//6467 6877//6877\nf 6466//6466 6812//6812 7172//7172\nf 6813//6813 7173//7173 7174//7174\nf 6813//6813 7174//7174 7173//7173\nf 7455//7455 6877//6877 6474//6474\nf 6931//6931 7173//7173 6813//6813\nf 6811//6811 7175//7175 7176//7176\nf 7170//7170 7178//7178 6469//6469\nf 6879//6879 7179//7179 6812//6812\nf 7172//7172 6812//6812 7179//7179\nf 7181//7181 6475//6475 6478//6478\nf 7183//7183 6482//6482 7178//7178\nf 7458//7458 6931//6931 6814//6814\nf 6814//6814 6931//6931 7458//7458\nf 6482//6482 7181//7181 6478//6478\nf 7181//7181 6482//6482 7183//7183\nf 6813//6813 6931//6931 6814//6814\nf 6931//6931 6813//6813 6814//6814\nf 7184//7184 6931//6931 6814//6814\nf 6492//6492 7185//7185 7184//7184\nf 6492//6492 7184//7184 6814//6814\nf 6492//6492 6815//6815 7185//7185\nf 7465//7465 7463//7463 6932//6932\nf 7190//7190 7185//7185 6815//6815\nf 6932//6932 7468//7468 7196//7196\nf 7466//7466 6932//6932 6935//6935\nf 7466//7466 7465//7465 6932//6932\nf 7196//7196 6933//6933 6932//6932\nf 6479//6479 7191//7191 6488//6488\nf 6757//6757 7190//7190 6815//6815\nf 6935//6935 7193//7193 7467//7467\nf 6488//6488 7191//7191 7194//7194\nf 6481//6481 7188//7188 6880//6880\nf 7469//7469 7466//7466 6935//6935\nf 7195//7195 7194//7194 7191//7191\nf 6937//6937 6933//6933 7196//7196\nf 7190//7190 6757//6757 6497//6497\nf 7471//7471 6494//6494 6816//6816\nf 7193//7193 6939//6939 6940//6940\nf 6880//6880 7197//7197 6936//6936\nf 6493//6493 6880//6880 6936//6936\nf 7196//7196 7199//7199 6937//6937\nf 6935//6935 6939//6939 7193//7193\nf 7476//7476 6816//6816 6817//6817\nf 6937//6937 7202//7202 6942//6942\nf 6937//6937 7199//7199 7202//7202\nf 6940//6940 7204//7204 7206//7206\nf 6881//6881 7205//7205 6502//6502\nf 7481//7481 7479//7479 6179//6179\nf 6498//6498 6936//6936 7201//7201\nf 6503//6503 6498//6498 7201//7201\nf 6942//6942 7202//7202 7203//7203\nf 7208//7208 6817//6817 7207//7207\nf 7213//7213 6941//6941 6942//6942\nf 6941//6941 7215//7215 7204//7204\nf 7207//7207 6882//6882 7210//7210\nf 6817//6817 6882//6882 7207//7207\nf 7210//7210 7211//7211 7207//7207\nf 7207//7207 7211//7211 7208//7208\nf 6942//6942 7203//7203 7212//7212\nf 7214//7214 6941//6941 7213//7213\nf 6943//6943 7201//7201 7478//7478\nf 7213//7213 6942//6942 7212//7212\nf 7209//7209 7216//7216 6509//6509\nf 6941//6941 7214//7214 7215//7215\nf 7211//7211 7210//7210 6882//6882\nf 7485//7485 6508//6508 6760//6760\nf 6758//6758 6943//6943 7482//7482\nf 6818//6818 6758//6758 7219//7219\nf 6882//6882 6883//6883 7218//7218\nf 7218//7218 6883//6883 7222//7222\nf 7221//7221 6818//6818 7219//7219\nf 6518//6518 6511//6511 7220//7220\nf 6517//6517 6884//6884 6883//6883\nf 7222//7222 6883//6883 6884//6884\nf 6884//6884 6517//6517 6883//6883\nf 7223//7223 6819//6819 6945//6945\nf 6885//6885 6761//6761 6944//6944\nf 6885//6885 6944//6944 7221//7221\nf 7222//7222 6884//6884 6947//6947\nf 6946//6946 6518//6518 7224//7224\nf 6761//6761 6885//6885 7225//7225\nf 6885//6885 6761//6761 7225//7225\nf 6947//6947 7226//7226 6884//6884\nf 7223//7223 6945//6945 7492//7492\nf 7227//7227 6820//6820 6526//6526\nf 6888//6888 6820//6820 7228//7228\nf 6523//6523 7229//7229 6526//6526\nf 6888//6888 6762//6762 6820//6820\nf 6529//6529 6519//6519 7231//7231\nf 7234//7234 6529//6529 7231//7231\nf 6888//6888 7228//7228 7232//7232\nf 6523//6523 6886//6886 7233//7233\nf 6885//6885 7236//7236 6887//6887\nf 6520//6520 6532//6532 7235//7235\nf 7242//7242 6948//6948 6888//6888\nf 6766//6766 6888//6888 6948//6948\nf 7495//7495 7233//7233 6890//6890\nf 7233//7233 6886//6886 6890//6890\nf 7237//7237 6889//6889 6891//6891\nf 6887//6887 7238//7238 6531//6531\nf 6764//6764 6531//6531 7238//7238\nf 6532//6532 7240//7240 7239//7239\nf 7240//7240 6532//6532 6539//6539\nf 7241//7241 7239//7239 7240//7240\nf 6539//6539 7241//7241 7240//7240\nf 6891//6891 6537//6537 6950//6950\nf 7244//7244 6539//6539 7247//7247\nf 6949//6949 7249//7249 7246//7246\nf 6892//6892 6764//6764 7248//7248\nf 6545//6545 7247//7247 6539//6539\nf 6768//6768 6766//6766 7245//7245\nf 6949//6949 7246//7246 6763//6763\nf 6767//6767 7249//7249 6949//6949\nf 6821//6821 7249//7249 6767//6767\nf 7247//7247 7251//7251 6545//6545\nf 7251//7251 7247//7247 6545//6545\nf 6892//6892 7248//7248 6893//6893\nf 7250//7250 6544//6544 6893//6893\nf 6542//6542 6547//6547 7252//7252\nf 7253//7253 6544//6544 7250//7250\nf 6768//6768 7497//7497 6894//6894\nf 6768//6768 7245//7245 7497//7497\nf 6545//6545 6553//6553 7255//7255\nf 6950//6950 6543//6543 7254//7254\nf 6552//6552 6544//6544 7256//7256\nf 6551//6551 6894//6894 7501//7501\nf 6551//6551 7501//7501 6894//6894\nf 7258//7258 7257//7257 6553//6553\nf 6951//6951 6550//6550 7254//7254\nf 7261//7261 6951//6951 6952//6952\nf 6951//6951 6550//6550 6560//6560\nf 7259//7259 6559//6559 6552//6552\nf 7256//7256 7259//7259 6552//6552\nf 6553//6553 6769//6769 7502//7502\nf 6553//6553 7260//7260 7258//7258\nf 6559//6559 7259//7259 6562//6562\nf 7262//7262 7264//7264 6895//6895\nf 6562//6562 7259//7259 6569//6569\nf 6898//6898 7263//7263 6769//6769\nf 6898//6898 7266//7266 7263//7263\nf 6896//6896 6895//6895 7264//7264\nf 7265//7265 7261//7261 6897//6897\nf 6896//6896 7264//7264 6563//6563\nf 7505//7505 6565//6565 6569//6569\nf 6565//6565 7505//7505 7267//7267\nf 6565//6565 7267//7267 6568//6568\nf 7268//7268 6565//6565 6568//6568\nf 6563//6563 7264//7264 7506//7506\nf 6770//6770 7265//7265 6897//6897\nf 7268//7268 6575//6575 6565//6565\nf 6899//6899 7270//7270 6567//6567\nf 7270//7270 7266//7266 6567//6567\nf 6567//6567 7266//7266 6898//6898\nf 7273//7273 6577//6577 6573//6573\nf 6773//6773 7274//7274 6770//6770\nf 6585//6585 6579//6579 6772//6772\nf 7271//7271 6581//6581 6575//6575\nf 7510//7510 7278//7278 7271//7271\nf 6900//6900 7277//7277 6822//6822\nf 6822//6822 7277//7277 7272//7272\nf 6582//6582 7279//7279 6583//6583\nf 6586//6586 6582//6582 7278//7278\nf 6598//6598 6901//6901 7511//7511\nf 6953//6953 7281//7281 6593//6593\nf 7281//7281 6953//6953 6823//6823\nf 7278//7278 6582//6582 6586//6586\nf 6583//6583 7279//7279 6590//6590\nf 7284//7284 7283//7283 6602//6602\nf 7284//7284 6602//6602 6598//6598\nf 7511//7511 7284//7284 6598//6598\nf 6595//6595 7280//7280 6823//6823\nf 7277//7277 6774//6774 7286//7286\nf 6900//6900 6774//6774 7277//7277\nf 6602//6602 7283//7283 6902//6902\nf 7285//7285 6600//6600 6590//6590\nf 7288//7288 6600//6600 7285//7285\nf 7289//7289 7286//7286 6774//6774\nf 6592//6592 7289//7289 6774//6774\nf 7282//7282 6596//6596 6599//6599\nf 6605//6605 7291//7291 6606//6606\nf 7290//7290 7291//7291 6605//6605\nf 7294//7294 7293//7293 6591//6591\nf 7294//7294 6591//6591 6775//6775\nf 6592//6592 6591//6591 7289//7289\nf 7289//7289 6591//6591 7293//7293\nf 7298//7298 6606//6606 7291//7291\nf 6613//6613 7295//7295 7296//7296\nf 7288//7288 7297//7297 6604//6604\nf 6613//6613 7299//7299 6904//6904\nf 6903//6903 7300//7300 7287//7287\nf 6604//6604 7301//7301 6605//6605\nf 6607//6607 7294//7294 6775//6775\nf 6905//6905 7304//7304 6621//6621\nf 7306//7306 6623//6623 7305//7305\nf 6611//6611 7307//7307 6612//6612\nf 7311//7311 6621//6621 7304//7304\nf 7305//7305 6623//6623 6908//6908\nf 7306//7306 7312//7312 6623//6623\nf 6906//6906 6904//6904 7520//7520\nf 6904//6904 7309//7309 7520//7520\nf 6907//6907 7314//7314 7300//7300\nf 6903//6903 6907//6907 7300//7300\nf 7303//7303 6619//6619 6610//6610\nf 6614//6614 6610//6610 6619//6619\nf 6905//6905 6620//6620 7310//7310\nf 7310//7310 6620//6620 6619//6619\nf 7312//7312 7518//7518 6623//6623\nf 7313//7313 6824//6824 7315//7315\nf 6824//6824 7313//7313 6611//6611\nf 7311//7311 6628//6628 6621//6621\nf 6628//6628 7317//7317 6621//6621\nf 7318//7318 6623//6623 7518//7518\nf 6621//6621 7317//7317 6628//6628\nf 7318//7318 6624//6624 7323//7323\nf 6623//6623 7318//7318 6624//6624\nf 7321//7321 6622//6622 7319//7319\nf 7315//7315 6824//6824 6618//6618\nf 6622//6622 7321//7321 7324//7324\nf 6622//6622 7324//7324 6626//6626\nf 7324//7324 7315//7315 6618//6618\nf 7322//7322 6908//6908 6628//6628\nf 7322//7322 6628//6628 7317//7317\nf 7325//7325 6776//6776 7522//7522\nf 6776//6776 7325//7325 6615//6615\nf 6615//6615 7325//7325 7326//7326\nf 6615//6615 7326//7326 6629//6629\nf 7314//7314 6907//6907 6778//6778\nf 6632//6632 6628//6628 6908//6908\nf 6633//6633 6624//6624 7323//7323\nf 7320//7320 6625//6625 6634//6634\nf 6629//6629 7326//7326 7325//7325\nf 7329//7329 7328//7328 6778//6778\nf 6629//6629 7327//7327 7330//7330\nf 6635//6635 6629//6629 7330//7330\nf 7329//7329 6636//6636 6909//6909\nf 6778//6778 6636//6636 7329//7329\nf 6637//6637 7332//7332 6639//6639\nf 7333//7333 7331//7331 6954//6954\nf 7331//7331 6909//6909 6954//6954\nf 7332//7332 6640//6640 6639//6639\nf 7332//7332 7334//7334 6640//6640\nf 7336//7336 7335//7335 6643//6643\nf 6644//6644 6640//6640 7337//7337\nf 7338//7338 6647//6647 6644//6644\nf 6643//6643 6646//6646 7339//7339\nf 6910//6910 6647//6647 7340//7340\nf 7340//7340 6648//6648 6910//6910\nf 7342//7342 6648//6648 7341//7341\nf 6648//6648 7342//7342 6825//6825\nf 6825//6825 7342//7342 7344//7344\nf 6657//6657 7343//7343 6651//6651\nf 7345//7345 7343//7343 6657//6657\nf 7346//7346 6826//6826 6825//6825\nf 6826//6826 7346//7346 6655//6655\nf 6655//6655 7347//7347 6955//6955\nf 7348//7348 6657//6657 6660//6660\nf 7348//7348 7345//7345 6657//6657\nf 7347//7347 6911//6911 6955//6955\nf 6663//6663 6661//6661 7349//7349\nf 7350//7350 6662//6662 6779//6779\nf 7352//7352 7350//7350 6779//6779\nf 7356//7356 7357//7357 6780//6780\nf 6666//6666 7356//7356 6780//6780\nf 6782//6782 6781//6781 7526//7526\nf 6669//6669 6667//6667 7358//7358\nf 6669//6669 7358//7358 7359//7359\nf 7360//7360 6783//6783 6669//6669\nf 7362//7362 6668//6668 6827//6827\nf 7362//7362 6827//6827 6673//6673\nf 7528//7528 6827//6827 6673//6673\nf 7364//7364 6956//6956 6673//6673\nf 7361//7361 7363//7363 6783//6783\nf 7528//7528 6673//6673 6956//6956\nf 7364//7364 6673//6673 6956//6956\nf 6783//6783 7363//7363 6676//6676\nf 7363//7363 7365//7365 6676//6676\nf 6957//6957 6956//6956 6912//6912\nf 6956//6956 6828//6828 6912//6912\nf 7366//7366 7367//7367 6677//6677\nf 7529//7529 6687//6687 7368//7368\nf 7530//7530 7529//7529 7368//7368\nf 7369//7369 6682//6682 7372//7372\nf 6682//6682 7369//7369 6683//6683\nf 7370//7370 6683//6683 7369//7369\nf 7370//7370 6684//6684 6683//6683\nf 6684//6684 7370//7370 6686//6686\nf 6687//6687 6686//6686 7371//7371\nf 7373//7373 7372//7372 6685//6685\nf 6682//6682 6685//6685 7372//7372\nf 7374//7374 7373//7373 6685//6685\nf 6685//6685 6692//6692 7374//7374\nf 7377//7377 6692//6692 6695//6695\nf 6694//6694 7376//7376 6696//6696\nf 7378//7378 7377//7377 6697//6697\nf 6697//6697 7377//7377 6695//6695\nf 7376//7376 7379//7379 6696//6696\nf 6699//6699 7378//7378 6697//6697\nf 7379//7379 6698//6698 6696//6696\nf 6701//6701 6698//6698 7379//7379\nf 7380//7380 6699//6699 6913//6913\nf 7383//7383 6703//6703 7381//7381\nf 7383//7383 6704//6704 6703//6703\nf 6966//6966 6204//6204 6958//6958\nf 6959//6959 6707//6707 6832//6832\nf 7384//7384 6963//6963 6205//6205\nf 6830//6830 6831//6831 6964//6964\nf 6965//6965 6964//6964 6831//6831\nf 6959//6959 6832//6832 6209//6209\nf 7387//7387 6220//6220 7388//7388\nf 6974//6974 6968//6968 7386//7386\nf 6972//6972 6219//6219 6220//6220\nf 6214//6214 6785//6785 6973//6973\nf 6974//6974 6978//6978 6223//6223\nf 6971//6971 6224//6224 6980//6980\nf 7582//7582 6217//6217 6211//6211\nf 7580//7580 6211//6211 6218//6218\nf 7580//7580 6218//6218 7581//7581\nf 7799//7799 7580//7580 8311//8311\nf 6219//6219 6977//6977 6222//6222\nf 7392//7392 6836//6836 6976//6976\nf 6837//6837 6978//6978 6974//6974\nf 6835//6835 6983//6983 6980//6980\nf 6836//6836 6231//6231 7392//7392\nf 6979//6979 6785//6785 6233//6233\nf 6978//6978 6237//6237 6837//6837\nf 6983//6983 7390//7390 6980//6980\nf 7392//7392 7393//7393 6836//6836\nf 6978//6978 7394//7394 6237//6237\nf 7394//7394 6985//6985 6237//6237\nf 7531//7531 7390//7390 6239//6239\nf 6990//6990 6235//6235 6981//6981\nf 6236//6236 6836//6836 6987//6987\nf 7531//7531 6239//6239 6988//6988\nf 7395//7395 6233//6233 6786//6786\nf 6986//6986 6989//6989 6712//6712\nf 6237//6237 6985//6985 6838//6838\nf 6989//6989 6254//6254 6914//6914\nf 7004//7004 6991//6991 6989//6989\nf 6991//6991 6254//6254 6989//6989\nf 6245//6245 7397//7397 6988//6988\nf 6245//6245 6996//6996 7397//7397\nf 6995//6995 6240//6240 6992//6992\nf 6997//6997 6242//6242 6713//6713\nf 6996//6996 6256//6256 7001//7001\nf 6247//6247 6715//6715 7398//7398\nf 7399//7399 7002//7002 6251//6251\nf 6252//6252 7006//7006 6251//6251\nf 7007//7007 6247//6247 7400//7400\nf 7398//7398 6715//6715 7008//7008\nf 7008//7008 6253//6253 6716//6716\nf 7008//7008 6716//6716 7009//7009\nf 7399//7399 6251//6251 7006//7006\nf 7006//7006 6246//6246 7010//7010\nf 7010//7010 7007//7007 7587//7587\nf 7009//7009 6716//6716 6257//6257\nf 6267//6267 7003//7003 7013//7013\nf 7401//7401 6717//6717 7016//7016\nf 7011//7011 6261//6261 7014//7014\nf 7011//7011 6257//6257 6261//6261\nf 7012//7012 6840//6840 6259//6259\nf 7005//7005 7399//7399 6250//6250\nf 6250//6250 7399//7399 6268//6268\nf 7399//7399 7022//7022 6268//6268\nf 6271//6271 7021//7021 7023//7023\nf 7022//7022 7402//7402 6276//6276\nf 7026//7026 7019//7019 7024//7024\nf 7403//7403 6282//6282 7029//7029\nf 6283//6283 7025//7025 7030//7030\nf 6277//6277 6284//6284 7031//7031\nf 7031//7031 7026//7026 6277//6277\nf 7028//7028 6281//6281 6276//6276\nf 7405//7405 7030//7030 7025//7025\nf 7031//7031 6284//6284 7404//7404\nf 7029//7029 6286//6286 7037//7037\nf 6720//6720 7034//7034 6284//6284\nf 6290//6290 6288//6288 7035//7035\nf 6288//6288 7033//7033 7035//7035\nf 7406//7406 6841//6841 6292//6292\nf 7046//7046 6841//6841 7406//7406\nf 7048//7048 7406//7406 7407//7407\nf 7044//7044 6300//6300 7051//7051\nf 7050//7050 6299//6299 6301//6301\nf 6792//6792 7048//7048 6842//6842\nf 7053//7053 7051//7051 6300//6300\nf 6842//6842 7407//7407 7536//7536\nf 6308//6308 6721//6721 7049//7049\nf 7408//7408 6308//6308 7049//7049\nf 7537//7537 6842//6842 7536//7536\nf 7055//7055 6307//6307 7056//7056\nf 6310//6310 6308//6308 7408//7408\nf 6310//6310 7408//7408 7410//7410\nf 7059//7059 7056//7056 6316//6316\nf 7061//7061 7057//7057 6315//6315\nf 7061//7061 6315//6315 6915//6915\nf 6320//6320 6794//6794 7059//7059\nf 7062//7062 6321//6321 7063//7063\nf 6794//6794 6320//6320 7064//7064\nf 6319//6319 6318//6318 7060//7060\nf 6795//6795 6846//6846 7065//7065\nf 7063//7063 6847//6847 7412//7412\nf 7067//7067 6326//6326 6319//6319\nf 7415//7415 6795//6795 7065//7065\nf 7067//7067 7413//7413 6326//6326\nf 7066//7066 6323//6323 6332//6332\nf 7415//7415 7414//7414 7416//7416\nf 7539//7539 6848//6848 7416//7416\nf 6328//6328 7419//7419 6849//6849\nf 6336//6336 6338//6338 7073//7073\nf 6338//6338 6342//6342 7076//7076\nf 6343//6343 6346//6346 7420//7420\nf 6346//6346 7078//7078 7420//7420\nf 6343//6343 7420//7420 7079//7079\nf 6344//6344 6343//6343 7079//7079\nf 6724//6724 6850//6850 7421//7421\nf 6851//6851 6347//6347 7081//7081\nf 6342//6342 6354//6354 7080//7080\nf 6351//6351 6353//6353 7083//7083\nf 7085//7085 7080//7080 6354//6354\nf 6356//6356 7084//7084 7089//7089\nf 7422//7422 6357//6357 7542//7542\nf 7092//7092 7087//7087 7086//7086\nf 6354//6354 6362//6362 7091//7091\nf 6364//6364 7090//7090 6726//6726\nf 6917//6917 6359//6359 7094//7094\nf 6368//6368 6364//6364 6726//6726\nf 6852//6852 6725//6725 7092//7092\nf 7094//7094 6359//6359 6919//6919\nf 7095//7095 6729//6729 6730//6730\nf 7608//7608 7605//7605 6367//6367\nf 6372//6372 6366//6366 7099//7099\nf 7608//7608 6367//6367 7427//7427\nf 7096//7096 7426//7426 7429//7429\nf 7427//7427 6367//6367 6734//6734\nf 7544//7544 7608//7608 7427//7427\nf 6731//6731 6852//6852 7096//7096\nf 6374//6374 6378//6378 7102//7102\nf 6731//6731 7103//7103 6856//6856\nf 7103//7103 6731//6731 7096//7096\nf 7430//7430 7098//7098 6855//6855\nf 7431//7431 7544//7544 6799//6799\nf 6855//6855 6857//6857 7430//7430\nf 6378//6378 6383//6383 7107//7107\nf 7432//7432 7107//7107 7109//7109\nf 7103//7103 7433//7433 6856//6856\nf 7430//7430 6857//6857 6921//6921\nf 7110//7110 6382//6382 7106//7106\nf 6802//6802 7431//7431 6799//6799\nf 7107//7107 7109//7109 7432//7432\nf 6856//6856 7433//7433 6858//6858\nf 7430//7430 6921//6921 7434//7434\nf 7435//7435 6802//6802 6920//6920\nf 7108//7108 7113//7113 6381//6381\nf 7434//7434 6921//6921 6860//6860\nf 6860//6860 7437//7437 7434//7434\nf 7109//7109 6383//6383 6389//6389\nf 7436//7436 6922//6922 6858//6858\nf 6382//6382 7110//7110 7111//7111\nf 6386//6386 7111//7111 7115//7115\nf 6738//6738 6861//6861 7113//7113\nf 7437//7437 6860//6860 7439//7439\nf 7437//7437 7439//7439 7118//7118\nf 6739//6739 6397//6397 7438//7438\nf 6803//6803 7440//7440 6862//6862\nf 6396//6396 7115//7115 7123//7123\nf 6738//6738 7120//7120 6394//6394\nf 6862//6862 7440//7440 7121//7121\nf 7124//7124 7117//7117 6397//6397\nf 6740//6740 6862//6862 7121//7121\nf 6923//6923 6740//6740 7121//7121\nf 6394//6394 7120//7120 6405//6405\nf 6924//6924 6745//6745 7124//7124\nf 7119//7119 6407//6407 7125//7125\nf 6923//6923 7441//7441 7444//7444\nf 7444//7444 7127//7127 6923//6923\nf 7443//7443 6806//6806 7128//7128\nf 7130//7130 7124//7124 6417//6417\nf 6405//6405 7126//7126 6864//6864\nf 6411//6411 6405//6405 6864//6864\nf 6865//6865 7127//7127 7444//7444\nf 6925//6925 6865//6865 7139//7139\nf 7550//7550 7128//7128 7135//7135\nf 7128//7128 6866//6866 7135//7135\nf 6417//6417 6421//6421 7130//7130\nf 6421//6421 7134//7134 7130//7130\nf 7136//7136 6423//6423 7131//7131\nf 6423//6423 6414//6414 7131//7131\nf 7141//7141 7139//7139 7618//7618\nf 6807//6807 7447//7447 7445//7445\nf 7145//7145 7134//7134 6750//6750\nf 6925//6925 7141//7141 7143//7143\nf 7144//7144 6429//6429 6423//6423\nf 6867//6867 6425//6425 7446//7446\nf 7448//7448 6427//6427 7446//7446\nf 6427//6427 6867//6867 7446//7446\nf 6435//6435 6427//6427 7448//7448\nf 6750//6750 6751//6751 7149//7149\nf 6870//6870 6868//6868 7151//7151\nf 6434//6434 7150//7150 7148//7148\nf 6438//6438 6869//6869 7147//7147\nf 7150//7150 6439//6439 7153//7153\nf 6871//6871 6443//6443 7146//7146\nf 7153//7153 6439//6439 6447//6447\nf 7151//7151 7451//7451 7152//7152\nf 6444//6444 6438//6438 7154//7154\nf 6443//6443 6450//6450 7159//7159\nf 6445//6445 6435//6435 7155//7155\nf 7153//7153 6447//6447 6926//6926\nf 6874//6874 6444//6444 7160//7160\nf 6454//6454 7161//7161 7158//7158\nf 7159//7159 6452//6452 7165//7165\nf 7165//7165 6452//6452 6875//6875\nf 7164//7164 7156//7156 6809//6809\nf 6455//6455 6445//6445 7162//7162\nf 7160//7160 6874//6874 6453//6453\nf 7164//7164 6809//6809 7166//7166\nf 7165//7165 6928//6928 7168//7168\nf 6458//6458 7160//7160 7453//7453\nf 6458//6458 6874//6874 7160//7160\nf 6809//6809 6810//6810 7166//7166\nf 6929//6929 7166//7166 6460//6460\nf 6930//6930 6876//6876 7454//7454\nf 7553//7553 6928//6928 6467//6467\nf 6464//6464 7171//7171 6929//6929\nf 7170//7170 6469//6469 7169//7169\nf 6464//6464 6468//6468 7171//7171\nf 6474//6474 6813//6813 7455//7455\nf 7173//7173 7174//7174 7455//7455\nf 6813//6813 7173//7173 7455//7455\nf 6930//6930 7454//7454 7457//7457\nf 6755//6755 6930//6930 7457//7457\nf 6878//6878 6755//6755 7457//7457\nf 7456//7456 7173//7173 6931//6931\nf 6931//6931 7458//7458 7456//7456\nf 6468//6468 6475//6475 7177//7177\nf 7461//7461 6475//6475 7181//7181\nf 6482//6482 6473//6473 7178//7178\nf 7462//7462 7460//7460 7459//7459\nf 6932//6932 7462//7462 7460//7460\nf 7460//7460 7462//7462 7465//7465\nf 6932//6932 7460//7460 7462//7462\nf 6932//6932 7465//7465 7462//7462\nf 7462//7462 7459//7459 6932//6932\nf 7463//7463 7460//7460 7465//7465\nf 6477//6477 6878//6878 6479//6479\nf 7187//7187 6932//6932 7459//7459\nf 7465//7465 7466//7466 7463//7463\nf 6479//6479 7559//7559 7189//7189\nf 6481//6481 6471//6471 7182//7182\nf 6481//6481 7182//7182 7188//7188\nf 7182//7182 7464//7464 7188//7188\nf 7463//7463 7465//7465 6932//6932\nf 6932//6932 7187//7187 7468//7468\nf 7467//7467 7466//7466 7469//7469\nf 7558//7558 7186//7186 6494//6494\nf 7188//7188 7192//7192 6880//6880\nf 6935//6935 7467//7467 7469//7469\nf 7470//7470 7467//7467 7193//7193\nf 7188//7188 7464//7464 7472//7472\nf 7195//7195 6488//6488 7194//7194\nf 7192//7192 7472//7472 7197//7197\nf 6497//6497 7200//7200 7190//7190\nf 7197//7197 6880//6880 7192//7192\nf 6940//6940 7473//7473 7193//7193\nf 6940//6940 7474//7474 7473//7473\nf 7198//7198 6488//6488 7195//7195\nf 7198//7198 6881//6881 6488//6488\nf 6499//6499 7200//7200 6497//6497\nf 7472//7472 7475//7475 7197//7197\nf 7560//7560 7476//7476 7208//7208\nf 6938//6938 6937//6937 6942//6942\nf 6936//6936 7197//7197 7478//7478\nf 7199//7199 7203//7203 7202//7202\nf 7474//7474 6940//6940 7206//7206\nf 7206//7206 7480//7480 7474//7474\nf 7479//7479 7200//7200 6499//6499\nf 7197//7197 7477//7477 7478//7478\nf 7197//7197 7475//7475 7477//7477\nf 7208//7208 7476//7476 6817//6817\nf 7479//7479 6499//6499 6179//6179\nf 6936//6936 7478//7478 7201//7201\nf 7481//7481 6179//6179 6508//6508\nf 7482//7482 6943//6943 7478//7478\nf 6943//6943 6503//6503 7201//7201\nf 7204//7204 7215//7215 7206//7206\nf 6509//6509 6502//6502 7209//7209\nf 7212//7212 7203//7203 7484//7484\nf 7483//7483 7206//7206 7215//7215\nf 7487//7487 7212//7212 7484//7484\nf 7215//7215 7214//7214 7489//7489\nf 7212//7212 7488//7488 7213//7213\nf 7213//7213 7488//7488 7214//7214\nf 7215//7215 7490//7490 7483//7483\nf 7486//7486 7211//7211 7218//7218\nf 7212//7212 7487//7487 7488//7488\nf 7490//7490 7491//7491 7483//7483\nf 7564//7564 7485//7485 6760//6760\nf 7211//7211 6882//6882 7218//7218\nf 6759//6759 6509//6509 7217//7217\nf 7564//7564 6760//6760 7565//7565\nf 7220//7220 6511//6511 7217//7217\nf 6511//6511 6759//6759 7217//7217\nf 7565//7565 6760//6760 6819//6819\nf 6944//6944 6818//6818 7221//7221\nf 7565//7565 6819//6819 7223//7223\nf 7225//7225 6885//6885 7221//7221\nf 6518//6518 7220//7220 7224//7224\nf 6947//6947 6884//6884 7226//7226\nf 7222//7222 6947//6947 7226//7226\nf 6820//6820 7227//7227 7228//7228\nf 6520//6520 7230//7230 7226//7226\nf 6519//6519 7224//7224 7231//7231\nf 7228//7228 7568//7568 7232//7232\nf 7493//7493 7229//7229 6523//6523\nf 7493//7493 6523//6523 7233//7233\nf 7492//7492 6945//6945 6889//6889\nf 7492//7492 6889//6889 7237//7237\nf 6885//6885 7225//7225 7236//7236\nf 7235//7235 6532//6532 7239//7239\nf 6520//6520 7235//7235 7239//7239\nf 7495//7495 7494//7494 7233//7233\nf 6527//6527 6890//6890 6886//6886\nf 7242//7242 6888//6888 7232//7232\nf 6529//6529 7234//7234 7496//7496\nf 6529//6529 7496//7496 6536//6536\nf 6887//6887 7236//7236 7238//7238\nf 7241//7241 6539//6539 7244//7244\nf 7497//7497 7245//7245 7242//7242\nf 6766//6766 7242//7242 7245//7245\nf 6537//6537 6543//6543 6950//6950\nf 7243//7243 6950//6950 7498//7498\nf 7248//7248 7250//7250 6893//6893\nf 6548//6548 7252//7252 6547//6547\nf 7257//7257 7247//7247 7255//7255\nf 6545//6545 7255//7255 7247//7247\nf 6894//6894 6768//6768 7501//7501\nf 6894//6894 7501//7501 7500//7500\nf 7261//7261 7254//7254 6951//6951\nf 6553//6553 7502//7502 7260//7260\nf 7260//7260 7502//7502 7258//7258\nf 6895//6895 7503//7503 7262//7262\nf 7505//7505 6569//6569 7259//7259\nf 6568//6568 7267//7267 7268//7268\nf 7269//7269 6563//6563 7506//7506\nf 6573//6573 7269//7269 7507//7507\nf 6573//6573 6563//6563 7269//7269\nf 6575//6575 7268//7268 7271//7271\nf 7508//7508 7266//7266 7270//7270\nf 7270//7270 6822//6822 7272//7272\nf 6573//6573 7507//7507 7273//7273\nf 6577//6577 7273//7273 6772//6772\nf 6585//6585 6772//6772 7275//7275\nf 6773//6773 7276//7276 7274//7274\nf 6586//6586 6581//6581 7271//7271\nf 7279//7279 6582//6582 7509//7509\nf 7278//7278 6586//6586 7271//7271\nf 7510//7510 7509//7509 7278//7278\nf 6582//6582 6586//6586 7278//7278\nf 7280//7280 7281//7281 6823//6823\nf 6597//6597 7276//7276 6773//6773\nf 7275//7275 7282//7282 6585//6585\nf 7281//7281 7511//7511 6953//6953\nf 7276//7276 6597//6597 7287//7287\nf 7298//7298 7291//7291 7512//7512\nf 6902//6902 7283//7283 7513//7513\nf 7291//7291 7290//7290 7512//7512\nf 6595//6595 6596//6596 7514//7514\nf 7282//7282 7292//7292 6596//6596\nf 7301//7301 7512//7512 7290//7290\nf 7301//7301 7290//7290 6605//6605\nf 6613//6613 6608//6608 7295//7295\nf 6610//6610 7298//7298 7572//7572\nf 6610//6610 6606//6606 7298//7298\nf 7572//7572 7303//7303 6610//6610\nf 7299//7299 7309//7309 6904//6904\nf 7304//7304 6905//6905 7311//7311\nf 7306//7306 7305//7305 7515//7515\nf 7307//7307 6611//6611 7313//7313\nf 6612//6612 7307//7307 7517//7517\nf 7294//7294 6607//6607 7308//7308\nf 7310//7310 7302//7302 6905//6905\nf 6612//6612 7517//7517 7308//7308\nf 6607//6607 6612//6612 7308//7308\nf 7516//7516 7302//7302 7310//7310\nf 7303//7303 7516//7516 6619//6619\nf 6619//6619 7516//7516 7316//7316\nf 7316//7316 7310//7310 6619//6619\nf 7516//7516 7310//7310 7316//7316\nf 7305//7305 7322//7322 7515//7515\nf 7320//7320 7519//7519 6625//6625\nf 7319//7319 6625//6625 7519//7519\nf 7319//7319 6617//6617 6625//6625\nf 7322//7322 7305//7305 6908//6908\nf 7318//7318 7323//7323 6624//6624\nf 7521//7521 6906//6906 7520//7520\nf 6624//6624 7318//7318 7323//7323\nf 6906//6906 7574//7574 6776//6776\nf 6633//6633 7323//7323 6634//6634\nf 6634//6634 7323//7323 7320//7320\nf 7328//7328 7314//7314 6778//6778\nf 6629//6629 7325//7325 7327//7327\nf 6637//6637 7330//7330 7332//7332\nf 7333//7333 6954//6954 6643//6643\nf 7333//7333 6643//6643 7335//7335\nf 7334//7334 7337//7337 6640//6640\nf 7338//7338 6644//6644 7337//7337\nf 6647//6647 7338//7338 7340//7340\nf 7344//7344 7342//7342 7523//7523\nf 7346//7346 6825//6825 7344//7344\nf 7346//7346 7676//7676 7347//7347\nf 6911//6911 7347//7347 7524//7524\nf 6661//6661 6911//6911 7349//7349\nf 7350//7350 7348//7348 6662//6662\nf 6663//6663 7351//7351 7353//7353\nf 7352//7352 6779//6779 6665//6665\nf 7354//7354 6664//6664 7353//7353\nf 7355//7355 6665//6665 6668//6668\nf 7525//7525 6781//6781 6780//6780\nf 7526//7526 6667//6667 6782//6782\nf 7358//7358 6667//6667 7526//7526\nf 7355//7355 6668//6668 7527//7527\nf 6668//6668 7362//7362 7527//7527\nf 6669//6669 7359//7359 7360//7360\nf 7360//7360 7361//7361 6783//6783\nf 6673//6673 6827//6827 7362//7362\nf 6956//6956 7364//7364 7528//7528\nf 7364//7364 6957//6957 7529//7529\nf 7366//7366 6676//6676 7365//7365\nf 7364//7364 6956//6956 6957//6957\nf 6688//6688 6687//6687 6957//6957\nf 6687//6687 7529//7529 6957//6957\nf 7530//7530 7368//7368 6687//6687\nf 7370//7370 7371//7371 6686//6686\nf 6687//6687 7371//7371 7530//7530\nf 6691//6691 6829//6829 7367//7367\nf 7375//7375 7376//7376 6691//6691\nf 7377//7377 7374//7374 6692//6692\nf 6694//6694 6691//6691 7376//7376\nf 7378//7378 6699//6699 7380//7380\nf 7382//7382 7380//7380 6913//6913\nf 7383//7383 7382//7382 6913//6913\nf 6704//6704 6913//6913 6706//6706\nf 6704//6704 7383//7383 6913//6913\nf 6960//6960 6834//6834 6961//6961\nf 7389//7389 6208//6208 6962//6962\nf 7384//7384 6964//6964 7789//7789\nf 7384//7384 6830//6830 6964//6964\nf 7384//7384 6205//6205 6830//6830\nf 6209//6209 6214//6214 6959//6959\nf 6214//6214 7385//7385 6959//6959\nf 6972//6972 7387//7387 7781//7781\nf 6220//6220 6212//6212 7388//7388\nf 6976//6976 6710//6710 6977//6977\nf 6977//6977 6219//6219 6972//6972\nf 7582//7582 6211//6211 7580//7580\nf 6976//6976 6836//6836 6710//6710\nf 6710//6710 6222//6222 6977//6977\nf 8219//8219 6976//6976 6977//6977\nf 7391//7391 6975//6975 6709//6709\nf 6984//6984 7395//7395 6979//6979\nf 6711//6711 7532//7532 7391//7391\nf 6709//6709 6711//6711 7391//7391\nf 7583//7583 6989//6989 6986//6986\nf 6986//6986 6987//6987 7393//7393\nf 7004//7004 6989//6989 7533//7533\nf 6838//6838 6985//6985 6992//6992\nf 7396//7396 6711//6711 6993//6993\nf 6788//6788 6991//6991 7004//7004\nf 6786//6786 6994//6994 7395//7395\nf 7001//7001 7397//7397 6996//6996\nf 7399//7399 7000//7000 7002//7002\nf 7399//7399 7005//7005 7000//7000\nf 6715//6715 6253//6253 7008//7008\nf 7003//7003 7586//7586 7013//7013\nf 7017//7017 6255//6255 6998//6998\nf 7590//7590 7009//7009 7011//7011\nf 7015//7015 6267//6267 7013//7013\nf 7399//7399 7006//7006 7402//7402\nf 7402//7402 7022//7022 7399//7399\nf 7023//7023 7021//7021 6271//6271\nf 7402//7402 7027//7027 6276//6276\nf 7534//7534 7019//7019 7026//7026\nf 6283//6283 6278//6278 7025//7025\nf 7405//7405 6283//6283 7030//7030\nf 7033//7033 7032//7032 7028//7028\nf 7040//7040 6790//6790 7405//7405\nf 7039//7039 7037//7037 6286//6286\nf 6720//6720 7043//7043 7034//7034\nf 7042//7042 6790//6790 7040//7040\nf 6842//6842 7048//7048 7407//7407\nf 7055//7055 7053//7053 6307//6307\nf 6843//6843 6842//6842 7537//7537\nf 6318//6318 6310//6310 7410//7410\nf 7058//7058 6843//6843 7537//7537\nf 7057//7057 7409//7409 6311//6311\nf 7411//7411 6845//6845 7058//7058\nf 7060//7060 6318//6318 7410//7410\nf 6319//6319 7060//7060 7067//7067\nf 6846//6846 7411//7411 7065//7065\nf 7064//7064 7600//7600 7059//7059\nf 7063//7063 6321//6321 6847//6847\nf 6794//6794 7066//7066 7064//7064\nf 7415//7415 7065//7065 7414//7414\nf 7068//7068 7069//7069 7070//7070\nf 6916//6916 7415//7415 7416//7416\nf 6328//6328 6326//6326 7417//7417\nf 6848//6848 6916//6916 7416//7416\nf 6335//6335 6849//6849 7419//7419\nf 6848//6848 7539//7539 7540//7540\nf 7073//7073 6338//6338 7076//7076\nf 6850//6850 6848//6848 7540//7540\nf 6342//6342 7080//7080 7076//7076\nf 7421//7421 6850//6850 7540//7540\nf 7541//7541 6357//6357 7422//7422\nf 7082//7082 6350//6350 6341//6341\nf 6352//6352 7081//7081 7084//7084\nf 7086//7086 6724//6724 7421//7421\nf 6728//6728 7542//7542 6357//6357\nf 7090//7090 6350//6350 7082//7082\nf 7091//7091 6362//6362 7095//7095\nf 6918//6918 6728//6728 6367//6367\nf 7605//7605 6918//6918 6367//6367\nf 7426//7426 6852//6852 7425//7425\nf 7428//7428 7095//7095 6374//6374\nf 7425//7425 7609//7609 7426//7426\nf 7544//7544 7427//7427 6734//6734\nf 7101//7101 6372//6372 7099//7099\nf 7428//7428 6374//6374 7102//7102\nf 7544//7544 6734//6734 6799//6799\nf 7105//7105 6372//6372 7101//7101\nf 6735//6735 6372//6372 7105//7105\nf 6378//6378 7107//7107 7102//7102\nf 7096//7096 7429//7429 7103//7103\nf 7692//7692 7430//7430 7434//7434\nf 7105//7105 7110//7110 7106//7106\nf 7434//7434 7437//7437 7545//7545\nf 7118//7118 6744//6744 7546//7546\nf 7113//7113 7120//7120 6738//6738\nf 6803//6803 6922//6922 7440//7440\nf 6922//6922 7436//7436 7440//7440\nf 6744//6744 7122//7122 7546//7546\nf 7546//7546 7122//7122 6805//6805\nf 6923//6923 7121//7121 7441//7441\nf 6805//6805 7442//7442 7546//7546\nf 7440//7440 7548//7548 7441//7441\nf 7121//7121 7440//7440 7441//7441\nf 7546//7546 7442//7442 7443//7443\nf 6408//6408 7547//7547 7549//7549\nf 6407//6407 7129//7129 7125//7125\nf 7132//7132 6411//6411 6864//6864\nf 7132//7132 6864//6864 7616//7616\nf 7617//7617 7130//7130 7134//7134\nf 6865//6865 7444//7444 7139//7139\nf 6423//6423 7136//7136 7140//7140\nf 6425//6425 7138//7138 7446//7446\nf 7449//7449 7447//7447 6807//6807\nf 7151//7151 6868//6868 7551//7551\nf 6868//6868 7143//7143 7141//7141\nf 6868//6868 7141//7141 7551//7551\nf 6435//6435 7448//7448 7450//7450\nf 7619//7619 7146//7146 6443//6443\nf 7619//7619 6443//6443 7159//7159\nf 6446//6446 7158//7158 7149//7149\nf 7163//7163 6873//6873 7623//7623\nf 7160//7160 6444//6444 7154//7154\nf 6445//6445 7157//7157 7162//7162\nf 7165//7165 7168//7168 7552//7552\nf 6467//6467 7455//7455 7553//7553\nf 7555//7555 7175//7175 6458//6458\nf 7555//7555 6458//6458 7453//7453\nf 7554//7554 7167//7167 7172//7172\nf 6468//6468 7177//7177 7171//7171\nf 7456//7456 7174//7174 7173//7173\nf 7176//7176 7175//7175 7555//7555\nf 7556//7556 7557//7557 7459//7459\nf 7460//7460 7556//7556 7459//7459\nf 7177//7177 6475//6475 7461//7461\nf 7556//7556 7460//7460 7463//7463\nf 7182//7182 6471//6471 7176//7176\nf 7458//7458 6931//6931 7184//7184\nf 7182//7182 7176//7176 7464//7464\nf 7459//7459 7629//7629 7468//7468\nf 7179//7179 6879//6879 7186//7186\nf 6878//6878 7180//7180 6479//6479\nf 7187//7187 7459//7459 7468//7468\nf 6479//6479 7180//7180 7559//7559\nf 7186//7186 6487//6487 6494//6494\nf 7191//7191 7189//7189 7559//7559\nf 7558//7558 6494//6494 7471//7471\nf 7192//7192 7188//7188 7472//7472\nf 7470//7470 7193//7193 7473//7473\nf 6816//6816 7476//7476 7560//7560\nf 7471//7471 6816//6816 7560//7560\nf 6881//6881 7198//7198 7205//7205\nf 7480//7480 7206//7206 7483//7483\nf 7209//7209 6502//6502 7205//7205\nf 7481//7481 7562//7562 7479//7479\nf 7478//7478 7477//7477 7482//7482\nf 7480//7480 7483//7483 7561//7561\nf 7562//7562 7481//7481 6508//6508\nf 7483//7483 7563//7563 7561//7561\nf 7562//7562 6508//6508 7485//7485\nf 7562//7562 7485//7485 7564//7564\nf 6758//6758 7482//7482 7219//7219\nf 7489//7489 7214//7214 7488//7488\nf 7566//7566 7215//7215 7489//7489\nf 7491//7491 7490//7490 7566//7566\nf 7490//7490 7215//7215 7566//7566\nf 7220//7220 7217//7217 7638//7638\nf 7565//7565 7223//7223 7640//7640\nf 7486//7486 7218//7218 7222//7222\nf 7486//7486 7222//7222 7567//7567\nf 7568//7568 7228//7228 7227//7227\nf 7229//7229 7227//7227 6526//6526\nf 7234//7234 7231//7231 7224//7224\nf 7230//7230 6520//6520 7239//7239\nf 6891//6891 7243//7243 7237//7237\nf 6548//6548 6536//6536 7496//7496\nf 7246//7246 7495//7495 6890//6890\nf 7238//7238 7248//7248 6764//6764\nf 7252//7252 6548//6548 7496//7496\nf 7497//7497 7242//7242 7652//7652\nf 7249//7249 6542//6542 7499//7499\nf 7498//7498 6950//6950 7254//7254\nf 7253//7253 7256//7256 6544//6544\nf 7501//7501 6894//6894 7500//7500\nf 6894//6894 7497//7497 7500//7500\nf 6895//6895 6894//6894 7500//7500\nf 6769//6769 7263//7263 7502//7502\nf 7259//7259 7504//7504 7267//7267\nf 7505//7505 7259//7259 7267//7267\nf 7504//7504 7268//7268 7267//7267\nf 7265//7265 6770//6770 7274//7274\nf 7569//7569 6772//6772 7273//7273\nf 7275//7275 6772//6772 7569//7569\nf 6590//6590 7279//7279 7285//7285\nf 7511//7511 6901//6901 6953//6953\nf 7659//7659 7281//7281 7280//7280\nf 7571//7571 7298//7298 7570//7570\nf 7658//7658 7284//7284 7511//7511\nf 7298//7298 7512//7512 7570//7570\nf 7280//7280 6595//6595 7514//7514\nf 7295//7295 6608//6608 6902//6902\nf 7295//7295 6902//6902 7513//7513\nf 7664//7664 6596//6596 7292//7292\nf 7299//7299 6613//6613 7296//7296\nf 6604//6604 7297//7297 7301//7301\nf 6905//6905 7302//7302 7311//7311\nf 7312//7312 7515//7515 7667//7667\nf 7306//7306 7515//7515 7312//7312\nf 7668//7668 7317//7317 7311//7311\nf 7322//7322 7317//7317 7515//7515\nf 7323//7323 7519//7519 7320//7320\nf 7574//7574 7522//7522 6776//6776\nf 7329//7329 6909//6909 7331//7331\nf 7575//7575 7336//7336 6643//6643\nf 7575//7575 6643//6643 7339//7339\nf 7341//7341 6648//6648 7340//7340\nf 7343//7343 7345//7345 7675//7675\nf 7347//7347 6655//6655 7346//7346\nf 7349//7349 6911//6911 7524//7524\nf 6665//6665 7355//7355 7352//7352\nf 6666//6666 6664//6664 7356//7356\nf 7356//7356 6664//6664 7354//7354\nf 7525//7525 6780//6780 7357//7357\nf 6781//6781 7525//7525 7526//7526\nf 7360//7360 7359//7359 7358//7358\nf 7527//7527 7362//7362 7678//7678\nf 6827//6827 7528//7528 7362//7362\nf 7577//7577 7364//7364 7529//7529\nf 7530//7530 7577//7577 7529//7529\nf 7370//7370 7579//7579 7371//7371\nf 7579//7579 7578//7578 7371//7371\nf 7371//7371 7578//7578 7530//7530\nf 7383//7383 7380//7380 7382//7382\nf 6958//6958 6707//6707 6959//6959\nf 8449//8449 6961//6961 6969//6969\nf 6212//6212 6213//6213 7389//7389\nf 6212//6212 7389//7389 7388//7388\nf 6980//6980 6970//6970 6971//6971\nf 6967//6967 6214//6214 6973//6973\nf 6978//6978 6837//6837 6974//6974\nf 7393//7393 7583//7583 6986//6986\nf 7809//7809 6990//6990 6981//6981\nf 6711//6711 7396//7396 7532//7532\nf 6994//6994 7584//7584 7395//7395\nf 6992//6992 6998//6998 6995//6995\nf 7585//7585 7397//7397 7001//7001\nf 7003//7003 7004//7004 7533//7533\nf 7587//7587 7400//7400 7398//7398\nf 7398//7398 7400//7400 6247//6247\nf 7589//7589 7008//7008 7009//7009\nf 7398//7398 7588//7588 7587//7587\nf 7398//7398 7008//7008 7589//7589\nf 7590//7590 7589//7589 7009//7009\nf 7007//7007 7400//7400 7587//7587\nf 7402//7402 7006//7006 7010//7010\nf 7023//7023 6271//6271 7017//7017\nf 7685//7685 7402//7402 7010//7010\nf 7018//7018 7019//7019 7593//7593\nf 7012//7012 7018//7018 7593//7593\nf 7020//7020 6280//6280 7594//7594\nf 7027//7027 7402//7402 7595//7595\nf 7402//7402 7685//7685 7595//7595\nf 7032//7032 7028//7028 7027//7027\nf 7032//7032 7027//7027 7595//7595\nf 7028//7028 7032//7032 7033//7033\nf 7032//7032 7596//7596 7033//7033\nf 7404//7404 7597//7597 7031//7031\nf 7597//7597 7404//7404 7034//7034\nf 7035//7035 7033//7033 7596//7596\nf 7036//7036 7035//7035 7596//7596\nf 7039//7039 7041//7041 7044//7044\nf 6292//6292 7038//7038 7406//7406\nf 7045//7045 6296//6296 7050//7050\nf 7055//7055 7056//7056 7598//7598\nf 7411//7411 7058//7058 7599//7599\nf 7062//7062 7057//7057 7061//7061\nf 7059//7059 6794//6794 7064//7064\nf 7601//7601 7065//7065 7414//7414\nf 7601//7601 7414//7414 7065//7065\nf 7416//7416 7414//7414 7601//7601\nf 7538//7538 7066//7066 7072//7072\nf 7417//7417 6326//6326 7413//7413\nf 7075//7075 6335//6335 7419//7419\nf 6340//6340 6357//6357 7541//7541\nf 7081//7081 6347//6347 7079//7079\nf 7092//7092 7086//7086 7421//7421\nf 7899//7899 7422//7422 7542//7542\nf 7604//7604 7077//7077 7083//7083\nf 7089//7089 7543//7543 7084//7084\nf 7542//7542 6728//6728 6918//6918\nf 6726//6726 7090//7090 7606//7606\nf 6362//6362 6729//6729 7095//7095\nf 6368//6368 6726//6726 7606//7606\nf 7088//7088 6917//6917 7094//7094\nf 6853//6853 7093//7093 7424//7424\nf 7094//7094 7423//7423 7607//7607\nf 7609//7609 7429//7429 7426//7426\nf 7424//7424 7099//7099 6366//6366\nf 6366//6366 7099//7099 7097//7097\nf 7095//7095 7428//7428 7102//7102\nf 7423//7423 6919//6919 7098//7098\nf 7103//7103 7429//7429 7609//7609\nf 6373//6373 7100//7100 7610//7610\nf 7107//7107 7432//7432 7109//7109\nf 7114//7114 6739//6739 7438//7438\nf 7546//7546 7613//7613 7118//7118\nf 7614//7614 7117//7117 7124//7124\nf 6408//6408 7123//7123 7547//7547\nf 7444//7444 7441//7441 7615//7615\nf 7139//7139 7444//7444 7618//7618\nf 7138//7138 6425//6425 7132//7132\nf 7145//7145 6750//6750 7149//7149\nf 7976//7976 7551//7551 7973//7973\nf 7151//7151 7551//7551 7620//7620\nf 7551//7551 7151//7151 7620//7620\nf 7147//7147 7621//7621 7154//7154\nf 7151//7151 7551//7551 7451//7451\nf 7622//7622 7159//7159 7165//7165\nf 7153//7153 7156//7156 7164//7164\nf 6873//6873 7451//7451 7623//7623\nf 7161//7161 7167//7167 7554//7554\nf 7168//7168 7553//7553 7697//7697\nf 7624//7624 7161//7161 7554//7554\nf 7454//7454 6876//6876 7452//7452\nf 6928//6928 7553//7553 7168//7168\nf 7625//7625 7454//7454 7452//7452\nf 7174//7174 7553//7553 7455//7455\nf 7556//7556 7698//7698 7557//7557\nf 7699//7699 7698//7698 7556//7556\nf 7701//7701 7459//7459 7557//7557\nf 7701//7701 7629//7629 7459//7459\nf 7176//7176 7555//7555 7627//7627\nf 7626//7626 7556//7556 7463//7463\nf 6878//6878 7457//7457 7180//7180\nf 7630//7630 7458//7458 7184//7184\nf 7558//7558 7179//7179 7186//7186\nf 7463//7463 7466//7466 7631//7631\nf 7466//7466 7467//7467 7631//7631\nf 7471//7471 7632//7632 7558//7558\nf 7196//7196 7468//7468 7633//7633\nf 7198//7198 7195//7195 7191//7191\nf 7196//7196 7633//7633 7634//7634\nf 7199//7199 7196//7196 7634//7634\nf 7473//7473 7474//7474 7635//7635\nf 7205//7205 7198//7198 7636//7636\nf 7474//7474 7480//7480 7635//7635\nf 6502//6502 7636//7636 7205//7205\nf 7211//7211 7705//7705 7208//7208\nf 7484//7484 7203//7203 7706//7706\nf 7217//7217 6509//6509 7216//7216\nf 7563//7563 7483//7483 7637//7637\nf 7637//7637 7483//7483 7491//7491\nf 7488//7488 7642//7642 7489//7489\nf 7643//7643 7489//7489 7642//7642\nf 7487//7487 7639//7639 7488//7488\nf 7488//7488 7639//7639 7641//7641\nf 7488//7488 7641//7641 7642//7642\nf 7566//7566 7489//7489 7643//7643\nf 7709//7709 7566//7566 7643//7643\nf 7567//7567 7222//7222 7226//7226\nf 7223//7223 7492//7492 7640//7640\nf 7221//7221 7644//7644 7225//7225\nf 7647//7647 7568//7568 7646//7646\nf 7568//7568 7647//7647 7232//7232\nf 7224//7224 7648//7648 7234//7234\nf 7242//7242 7232//7232 7647//7647\nf 7236//7236 7649//7649 7238//7238\nf 7650//7650 7242//7242 7647//7647\nf 7650//7650 7652//7652 7242//7242\nf 7244//7244 7247//7247 7241//7241\nf 7653//7653 7495//7495 7246//7246\nf 7250//7250 7248//7248 7651//7651\nf 7249//7249 6821//6821 6542//6542\nf 6895//6895 7500//7500 7503//7503\nf 7259//7259 7256//7256 7654//7654\nf 7503//7503 7264//7264 7262//7262\nf 7655//7655 7268//7268 7504//7504\nf 7502//7502 7263//7263 7266//7266\nf 7503//7503 7714//7714 7264//7264\nf 8114//8114 7261//7261 7265//7265\nf 8114//8114 8107//8107 7261//7261\nf 7657//7657 7275//7275 7569//7569\nf 7509//7509 6582//6582 7278//7278\nf 7656//7656 7279//7279 7509//7509\nf 7281//7281 7658//7658 7511//7511\nf 7288//7288 7285//7285 7279//7279\nf 7284//7284 7513//7513 7283//7283\nf 7572//7572 7298//7298 7571//7571\nf 7297//7297 7512//7512 7301//7301\nf 7288//7288 7512//7512 7297//7297\nf 7302//7302 7662//7662 7573//7573\nf 7573//7573 7663//7663 7302//7302\nf 7660//7660 7293//7293 7294//7294\nf 7514//7514 7664//7664 7719//7719\nf 7516//7516 7572//7572 7662//7662\nf 7516//7516 7662//7662 7302//7302\nf 7295//7295 7299//7299 7296//7296\nf 7664//7664 7292//7292 7282//7282\nf 7661//7661 7664//7664 7282//7282\nf 7311//7311 7302//7302 7663//7663\nf 7667//7667 7515//7515 7666//7666\nf 7303//7303 7572//7572 7516//7516\nf 7319//7319 7519//7519 7669//7669\nf 6628//6628 7311//7311 7317//7317\nf 7668//7668 7515//7515 7317//7317\nf 7519//7519 7323//7323 7671//7671\nf 7318//7318 7518//7518 7323//7323\nf 7520//7520 7309//7309 7670//7670\nf 7319//7319 7669//7669 7321//7321\nf 7315//7315 7324//7324 7313//7313\nf 7670//7670 7672//7672 7520//7520\nf 7574//7574 6906//6906 7521//7521\nf 7674//7674 7332//7332 7330//7330\nf 7575//7575 7333//7333 7335//7335\nf 7337//7337 7332//7332 7674//7674\nf 7339//7339 6646//6646 7576//7576\nf 7677//7677 7350//7350 7352//7352\nf 7775//7775 7525//7525 7357//7357\nf 7358//7358 7526//7526 7679//7679\nf 7355//7355 7527//7527 7678//7678\nf 7678//7678 7362//7362 7577//7577\nf 7577//7577 7362//7362 7528//7528\nf 7577//7577 7528//7528 7364//7364\nf 7379//7379 7376//7376 7680//7680\nf 7380//7380 7681//7681 7378//7378\nf 7378//7378 7681//7681 7377//7377\nf 7681//7681 7380//7380 7383//7383\nf 7381//7381 7379//7379 7682//7682\nf 8417//8417 6968//6968 6960//6960\nf 7790//7790 6964//6964 7726//7726\nf 7386//7386 6968//6968 6974//6974\nf 6972//6972 6220//6220 7387//7387\nf 7580//7580 7581//7581 8311//8311\nf 6218//6218 6975//6975 7581//7581\nf 7804//7804 6982//6982 7582//7582\nf 6985//6985 6978//6978 7394//7394\nf 6985//6985 7394//7394 6978//6978\nf 7583//7583 7683//7683 6989//6989\nf 7684//7684 6979//6979 7395//7395\nf 7533//7533 7727//7727 7003//7003\nf 7532//7532 7396//7396 6993//6993\nf 7398//7398 7589//7589 7588//7588\nf 7015//7015 7013//7013 7591//7591\nf 7013//7013 7586//7586 7591//7591\nf 7592//7592 7016//7016 7020//7020\nf 7839//7839 7836//7836 7592//7592\nf 7023//7023 7017//7017 7021//7021\nf 7594//7594 6280//6280 7403//7403\nf 7403//7403 7535//7535 7848//7848\nf 7029//7029 7037//7037 7039//7039\nf 7406//7406 7038//7038 7686//7686\nf 7039//7039 7044//7044 7861//7861\nf 7038//7038 7036//7036 7686//7686\nf 7536//7536 7407//7407 7686//7686\nf 7686//7686 7407//7407 7406//7406\nf 7049//7049 6295//6295 7042//7042\nf 7537//7537 7870//7870 7872//7872\nf 7536//7536 7870//7870 7537//7537\nf 7052//7052 7054//7054 7409//7409\nf 7599//7599 7058//7058 7537//7537\nf 7065//7065 7601//7601 7414//7414\nf 7416//7416 7601//7601 7687//7687\nf 7602//7602 7539//7539 7416//7416\nf 7072//7072 6332//6332 7418//7418\nf 7075//7075 7419//7419 7603//7603\nf 7092//7092 7421//7421 7689//7689\nf 7082//7082 6341//6341 7075//7075\nf 7905//7905 7077//7077 7604//7604\nf 7422//7422 7542//7542 6918//6918\nf 7083//7083 7088//7088 7604//7604\nf 7424//7424 7093//7093 7089//7089\nf 7088//7088 7094//7094 7607//7607\nf 7100//7100 6368//6368 7606//7606\nf 7607//7607 7423//7423 7098//7098\nf 7544//7544 8242//8242 8333//8333\nf 7692//7692 7690//7690 7430//7430\nf 7098//7098 7430//7430 7690//7690\nf 7609//7609 7691//7691 7103//7103\nf 8335//8335 7544//7544 7431//7431\nf 7103//7103 7691//7691 7693//7693\nf 7434//7434 7545//7545 7692//7692\nf 7105//7105 7611//7611 7110//7110\nf 7612//7612 6858//6858 7433//7433\nf 7109//7109 7114//7114 7438//7438\nf 7612//7612 7436//7436 6858//6858\nf 7931//7931 8244//8244 7431//7431\nf 7437//7437 7118//7118 7613//7613\nf 7440//7440 7436//7436 7694//7694\nf 6405//6405 7120//7120 7126//7126\nf 7546//7546 7443//7443 7695//7695\nf 7126//7126 7120//7120 7945//7945\nf 7441//7441 7548//7548 7615//7615\nf 6414//6414 7549//7549 7131//7131\nf 7443//7443 7128//7128 7550//7550\nf 6864//6864 7126//7126 7616//7616\nf 7141//7141 7618//7618 7696//7696\nf 7155//7155 6435//6435 7450//7450\nf 7451//7451 7551//7551 7620//7620\nf 7160//7160 7154//7154 7621//7621\nf 7552//7552 7622//7622 7165//7165\nf 7624//7624 7158//7158 7161//7161\nf 7552//7552 7168//7168 7697//7697\nf 7734//7734 7164//7164 6929//6929\nf 7626//7626 7736//7736 7699//7699\nf 7553//7553 7174//7174 7700//7700\nf 7456//7456 7700//7700 7174//7174\nf 7698//7698 7701//7701 7557//7557\nf 7626//7626 7699//7699 7556//7556\nf 7744//7744 7627//7627 7555//7555\nf 7172//7172 7179//7179 7702//7702\nf 7177//7177 7461//7461 7628//7628\nf 8019//8019 8018//8018 7183//7183\nf 7558//7558 7702//7702 7179//7179\nf 7629//7629 7558//7558 7632//7632\nf 7629//7629 7702//7702 7558//7558\nf 7468//7468 7629//7629 7632//7632\nf 7748//7748 7472//7472 7464//7464\nf 7633//7633 7468//7468 7632//7632\nf 7467//7467 7470//7470 7703//7703\nf 7703//7703 7470//7470 7473//7473\nf 7632//7632 7471//7471 7633//7633\nf 7185//7185 7190//7190 7704//7704\nf 7634//7634 7471//7471 7560//7560\nf 7705//7705 7560//7560 7208//7208\nf 7203//7203 7199//7199 7705//7705\nf 7635//7635 7480//7480 7561//7561\nf 6502//6502 7205//7205 7636//7636\nf 7706//7706 7203//7203 7705//7705\nf 7217//7217 7216//7216 7209//7209\nf 7563//7563 7637//7637 7707//7707\nf 7637//7637 7708//7708 7707//7707\nf 7565//7565 7640//7640 7564//7564\nf 7753//7753 7637//7637 7491//7491\nf 7491//7491 7566//7566 7709//7709\nf 7640//7640 7492//7492 7645//7645\nf 7493//7493 7227//7227 7229//7229\nf 7493//7493 7710//7710 7227//7227\nf 7493//7493 7233//7233 7711//7711\nf 7233//7233 7494//7494 7711//7711\nf 7238//7238 7651//7651 7248//7248\nf 7651//7651 7253//7253 7250//7250\nf 7253//7253 7651//7651 7712//7712\nf 7249//7249 7499//7499 8094//8094\nf 7500//7500 7497//7497 7652//7652\nf 7504//7504 7259//7259 7713//7713\nf 7713//7713 7762//7762 7655//7655\nf 7510//7510 7268//7268 7763//7763\nf 7510//7510 7271//7271 7268//7268\nf 7509//7509 7510//7510 7715//7715\nf 7509//7509 7715//7715 7656//7656\nf 7717//7717 7272//7272 7277//7277\nf 7659//7659 7658//7658 7281//7281\nf 7718//7718 7288//7288 7279//7279\nf 7570//7570 7512//7512 7718//7718\nf 7277//7277 7286//7286 7717//7717\nf 7718//7718 7512//7512 7288//7288\nf 7514//7514 6596//6596 7664//7664\nf 8160//8160 7719//7719 7664//7664\nf 7668//7668 7311//7311 7663//7663\nf 7308//7308 7660//7660 7294//7294\nf 7518//7518 7671//7671 7323//7323\nf 7324//7324 7721//7721 7720//7720\nf 7321//7321 7721//7721 7324//7324\nf 7720//7720 7313//7313 7324//7324\nf 7673//7673 7314//7314 7328//7328\nf 7673//7673 7328//7328 7329//7329\nf 7574//7574 7521//7521 7520//7520\nf 7574//7574 7520//7520 7722//7722\nf 8169//8169 7329//7329 7331//7331\nf 7723//7723 7522//7522 7574//7574\nf 7723//7723 7325//7325 7522//7522\nf 7337//7337 7334//7334 7332//7332\nf 7337//7337 7340//7340 7338//7338\nf 7353//7353 7351//7351 7349//7349\nf 7724//7724 7678//7678 7577//7577\nf 7530//7530 7578//7578 7724//7724\nf 7530//7530 7724//7724 7577//7577\nf 7369//7369 7725//7725 7579//7579\nf 7370//7370 7369//7369 7579//7579\nf 7381//7381 7681//7681 7383//7383\nf 7682//7682 7681//7681 7381//7381\nf 6963//6963 7783//7783 6962//6962\nf 7726//7726 6964//6964 6965//6965\nf 7784//7784 6965//6965 6966//6966\nf 8305//8305 6976//6976 8219//8219\nf 9303//9303 9148//9148 9456//9456\nf 7581//7581 6975//6975 7795//7795\nf 7788//7788 7792//7792 7392//7392\nf 7809//7809 6981//6981 7803//7803\nf 7800//7800 6989//6989 7683//7683\nf 7531//7531 6988//6988 7397//7397\nf 6997//6997 6990//6990 7813//7813\nf 7818//7818 6997//6997 7813//7813\nf 7814//7814 7584//7584 6994//6994\nf 7817//7817 7727//7727 7533//7533\nf 7814//7814 7395//7395 7584//7584\nf 7823//7823 6994//6994 7401//7401\nf 7728//7728 7532//7532 6993//6993\nf 7728//7728 6993//6993 7828//7828\nf 7589//7589 7590//7590 7833//7833\nf 7014//7014 7015//7015 7591//7591\nf 7021//7021 7017//7017 7832//7832\nf 7019//7019 7593//7593 7840//7840\nf 7534//7534 7026//7026 7031//7031\nf 7848//7848 7029//7029 7851//7851\nf 7043//7043 7045//7045 7863//7863\nf 7865//7865 7536//7536 7686//7686\nf 7045//7045 7050//7050 7868//7868\nf 7866//7866 7870//7870 7536//7536\nf 7878//7878 7876//7876 7056//7056\nf 7883//7883 7887//7887 7065//7065\nf 7412//7412 7068//7068 7886//7886\nf 7419//7419 6328//6328 7417//7417\nf 7071//7071 6331//6331 7073//7073\nf 7541//7541 7074//7074 6340//6340\nf 7540//7540 7688//7688 7421//7421\nf 8235//8235 7080//7080 7904//7904\nf 7422//7422 6918//6918 7542//7542\nf 7089//7089 7084//7084 7906//7906\nf 7908//7908 7604//7604 7088//7088\nf 7909//7909 7089//7089 7906//7906\nf 7908//7908 7088//7088 7607//7607\nf 7910//7910 7091//7091 7912//7912\nf 7918//7918 7097//7097 7916//7916\nf 7607//7607 7098//7098 7690//7690\nf 7433//7433 7103//7103 7693//7693\nf 7931//7931 7435//7435 7112//7112\nf 7433//7433 7693//7693 7935//7935\nf 7115//7115 7111//7111 7932//7932\nf 7937//7937 8340//8340 7945//7945\nf 7694//7694 7436//7436 7612//7612\nf 7443//7443 7948//7948 7942//7942\nf 7951//7951 7948//7948 7443//7443\nf 7951//7951 7443//7443 7550//7550\nf 7949//7949 7125//7125 7129//7129\nf 7549//7549 7953//7953 7131//7131\nf 7124//7124 7130//7130 7617//7617\nf 7959//7959 7962//7962 7615//7615\nf 7444//7444 7615//7615 7618//7618\nf 7446//7446 7138//7138 7729//7729\nf 7144//7144 7140//7140 7136//7136\nf 7696//7696 7618//7618 7966//7966\nf 7619//7619 7449//7449 7146//7146\nf 7150//7150 7731//7731 7148//7148\nf 7972//7972 7158//7158 7982//7982\nf 7978//7978 7619//7619 7622//7622\nf 7160//7160 7621//7621 7732//7732\nf 7164//7164 7166//7166 6929//6929\nf 7998//7998 7733//7733 7699//7699\nf 7160//7160 7732//7732 7453//7453\nf 7166//7166 7164//7164 7734//7734\nf 7698//7698 7699//7699 7733//7733\nf 7732//7732 8001//8001 7453//7453\nf 7453//7453 8001//8001 7735//7735\nf 7701//7701 7698//7698 7737//7737\nf 7456//7456 7738//7738 7700//7700\nf 7456//7456 7739//7739 7738//7738\nf 7554//7554 7172//7172 7740//7740\nf 7626//7626 8003//8003 7736//7736\nf 7739//7739 7456//7456 7458//7458\nf 7743//7743 7739//7739 7458//7458\nf 7555//7555 7742//7742 7744//7744\nf 7744//7744 7742//7742 7745//7745\nf 7463//7463 7631//7631 7626//7626\nf 7172//7172 7702//7702 7740//7740\nf 7745//7745 7627//7627 7744//7744\nf 7630//7630 7743//7743 7458//7458\nf 7630//7630 7747//7747 7743//7743\nf 8018//8018 7181//7181 7183//7183\nf 8015//8015 7631//7631 7467//7467\nf 8021//8021 8015//8015 7467//7467\nf 7180//7180 7457//7457 8016//8016\nf 7176//7176 7627//7627 7464//7464\nf 7472//7472 7748//7748 7749//7749\nf 8025//8025 7703//7703 7473//7473\nf 7634//7634 7633//7633 7471//7471\nf 7475//7475 7472//7472 7750//7750\nf 7475//7475 7750//7750 7751//7751\nf 7635//7635 8031//8031 8268//8268\nf 7199//7199 7634//7634 7705//7705\nf 7634//7634 7560//7560 7705//7705\nf 7200//7200 7479//7479 8034//8034\nf 7706//7706 7705//7705 7211//7211\nf 8041//8041 7706//7706 7705//7705\nf 7706//7706 7487//7487 7484//7484\nf 8046//8046 7487//7487 7706//7706\nf 7487//7487 7752//7752 7639//7639\nf 8055//8055 7637//7637 7753//7753\nf 7753//7753 7491//7491 7709//7709\nf 7643//7643 7754//7754 7709//7709\nf 7225//7225 7644//7644 8054//8054\nf 8052//8052 7567//7567 7226//7226\nf 8064//8064 7639//7639 8060//8060\nf 7755//7755 7641//7641 7642//7642\nf 7755//7755 7642//7642 7641//7641\nf 7754//7754 7643//7643 7642//7642\nf 8069//8069 7649//7649 7225//7225\nf 7649//7649 7236//7236 7225//7225\nf 7239//7239 7226//7226 7230//7230\nf 8077//8077 7647//7647 8074//8074\nf 7756//7756 7234//7234 8273//8273\nf 8074//8074 7650//7650 7647//7647\nf 7241//7241 7758//7758 7239//7239\nf 7239//7239 7758//7758 7757//7757\nf 7711//7711 8276//8276 8090//8090\nf 8092//8092 7253//7253 8085//8085\nf 7249//7249 8094//8094 8091//8091\nf 7653//7653 7761//7761 7760//7760\nf 7761//7761 7653//7653 7246//7246\nf 7256//7256 8093//8093 8098//8098\nf 8279//8279 7498//7498 7254//7254\nf 7654//7654 7256//7256 8098//8098\nf 7259//7259 7654//7654 7713//7713\nf 7254//7254 7261//7261 8107//8107\nf 7504//7504 7713//7713 7655//7655\nf 8105//8105 7502//7502 7263//7263\nf 7655//7655 8103//8103 8280//8280\nf 7266//7266 7263//7263 7502//7502\nf 8109//8109 7264//7264 7714//7714\nf 7269//7269 7764//7764 7507//7507\nf 7763//7763 7715//7715 7510//7510\nf 8116//8116 7656//7656 8113//8113\nf 7656//7656 7715//7715 8113//8113\nf 7273//7273 7765//7765 7569//7569\nf 7275//7275 7657//7657 7569//7569\nf 7272//7272 7717//7717 7716//7716\nf 7572//7572 7571//7571 7767//7767\nf 8133//8133 7513//7513 7768//7768\nf 8132//8132 7289//7289 7293//7293\nf 8134//8134 7287//7287 8143//8143\nf 7573//7573 8140//8140 7663//7663\nf 8146//8146 7667//7667 7666//7666\nf 7769//7769 7313//7313 7720//7720\nf 8151//8151 8141//8141 7720//7720\nf 7769//7769 8142//8142 7313//7313\nf 7665//7665 7299//7299 7295//7295\nf 7659//7659 7280//7280 8158//8158\nf 7280//7280 7514//7514 7719//7719\nf 8146//8146 8147//8147 7667//7667\nf 7280//7280 7719//7719 8158//8158\nf 8152//8152 8153//8153 7307//7307\nf 7307//7307 8153//8153 7517//7517\nf 8154//8154 7518//7518 7312//7312\nf 7770//7770 7664//7664 7661//7661\nf 7669//7669 8155//8155 8156//8156\nf 7321//7321 7669//7669 7721//7721\nf 7518//7518 8150//8150 7671//7671\nf 8405//8405 8143//8143 7314//7314\nf 7772//7772 7672//7672 7771//7771\nf 7520//7520 7672//7672 7772//7772\nf 7520//7520 7772//7772 7722//7722\nf 8165//8165 7329//7329 8169//8169\nf 7574//7574 7773//7773 7723//7723\nf 7325//7325 7723//7723 8172//8172\nf 7325//7325 7774//7774 8172//8172\nf 8293//8293 8169//8169 7331//7331\nf 7327//7327 7325//7325 7330//7330\nf 8174//8174 7331//7331 7333//7333\nf 7674//7674 8177//8177 8180//8180\nf 7674//7674 8180//8180 7337//7337\nf 7339//7339 7576//7576 8181//8181\nf 8191//8191 7676//7676 7346//7346\nf 7353//7353 7349//7349 7351//7351\nf 7677//7677 7352//7352 7355//7355\nf 7354//7354 8197//8197 7356//7356\nf 7357//7357 7356//7356 8198//8198\nf 7679//7679 7526//7526 7525//7525\nf 7367//7367 7366//7366 8301//8301\nf 8211//8211 7374//7374 7377//7377\nf 8214//8214 8211//8211 7377//7377\nf 7375//7375 8212//8212 8213//8213\nf 8215//8215 7680//7680 7376//7376\nf 8215//8215 7379//7379 7680//7680\nf 8303//8303 6968//6968 8417//8417\nf 7779//7779 6969//6969 6970//6970\nf 8306//8306 6972//6972 7781//7781\nf 7791//7791 6965//6965 7784//7784\nf 6974//6974 6968//6968 7778//7778\nf 7780//7780 6970//6970 6980//6980\nf 6963//6963 7384//7384 7789//7789\nf 7790//7790 7726//7726 7791//7791\nf 7726//7726 6965//6965 7791//7791\nf 6973//6973 7786//7786 6967//6967\nf 6980//6980 7390//7390 7793//7793\nf 6976//6976 7788//7788 7392//7392\nf 7786//7786 6973//6973 6979//6979\nf 7799//7799 7582//7582 7580//7580\nf 6975//6975 7391//7391 7796//7796\nf 7792//7792 7393//7393 7392//7392\nf 8220//8220 7800//7800 7583//7583\nf 7583//7583 7800//7800 7683//7683\nf 6979//6979 7684//7684 7801//7801\nf 7794//7794 7531//7531 7806//7806\nf 7684//7684 7395//7395 7807//7807\nf 7394//7394 6992//6992 6985//6985\nf 7812//7812 6992//6992 7394//7394\nf 7806//7806 7531//7531 7397//7397\nf 7806//7806 7397//7397 7808//7808\nf 7391//7391 7532//7532 7810//7810\nf 7813//7813 6990//6990 7809//7809\nf 7807//7807 7395//7395 7814//7814\nf 7397//7397 7585//7585 7808//7808\nf 7808//7808 7585//7585 7815//7815\nf 7003//7003 7727//7727 7817//7817\nf 7815//7815 7585//7585 7001//7001\nf 7815//7815 7001//7001 7585//7585\nf 7728//7728 7820//7820 7532//7532\nf 7532//7532 7820//7820 7816//7816\nf 6999//6999 7822//7822 7001//7001\nf 7822//7822 6999//6999 7819//7819\nf 6997//6997 7819//7819 6999//6999\nf 7003//7003 7821//7821 7586//7586\nf 7814//7814 6994//6994 7823//7823\nf 7823//7823 7401//7401 7825//7825\nf 6993//6993 7012//7012 7828//7828\nf 7826//7826 7827//7827 7591//7591\nf 7826//7826 7591//7591 7015//7015\nf 7015//7015 7591//7591 7826//7826\nf 7820//7820 7728//7728 7828//7828\nf 7589//7589 7833//7833 7835//7835\nf 7829//7829 7011//7011 7014//7014\nf 7830//7830 7011//7011 7829//7829\nf 7014//7014 7827//7827 7829//7829\nf 7832//7832 7017//7017 6998//6998\nf 7011//7011 7830//7830 7833//7833\nf 7011//7011 7833//7833 7590//7590\nf 7592//7592 7831//7831 7016//7016\nf 7836//7836 7831//7831 7592//7592\nf 7593//7593 7834//7834 7012//7012\nf 7837//7837 7010//7010 7587//7587\nf 7832//7832 7023//7023 7021//7021\nf 7685//7685 7837//7837 7838//7838\nf 7685//7685 7010//7010 7837//7837\nf 7592//7592 7020//7020 7839//7839\nf 7020//7020 7594//7594 7841//7841\nf 7593//7593 7019//7019 7840//7840\nf 7844//7844 7841//7841 7594//7594\nf 7840//7840 7593//7593 7019//7019\nf 7685//7685 7837//7837 7843//7843\nf 7595//7595 7685//7685 7843//7843\nf 7594//7594 7403//7403 7844//7844\nf 7845//7845 7025//7025 7842//7842\nf 7025//7025 7023//7023 7842//7842\nf 7019//7019 7534//7534 8224//8224\nf 7844//7844 7403//7403 7848//7848\nf 7596//7596 7032//7032 7595//7595\nf 7596//7596 7595//7595 7843//7843\nf 7596//7596 7843//7843 7849//7849\nf 7534//7534 7031//7031 7850//7850\nf 7025//7025 7845//7845 7405//7405\nf 7596//7596 7849//7849 7852//7852\nf 7851//7851 7029//7029 7857//7857\nf 7031//7031 7853//7853 7850//7850\nf 7854//7854 7596//7596 7852//7852\nf 7596//7596 7854//7854 7856//7856\nf 7036//7036 7596//7596 7856//7856\nf 7857//7857 7039//7039 7859//7859\nf 7597//7597 7858//7858 7031//7031\nf 7034//7034 7860//7860 7597//7597\nf 7036//7036 7856//7856 7686//7686\nf 7686//7686 7856//7856 7862//7862\nf 7034//7034 7043//7043 7863//7863\nf 8701//8701 7863//7863 8226//8226\nf 7865//7865 7866//7866 7536//7536\nf 7052//7052 7869//7869 7050//7050\nf 8227//8227 7872//7872 7870//7870\nf 7055//7055 7871//7871 7053//7053\nf 7408//7408 7049//7049 7867//7867\nf 7052//7052 7409//7409 7873//7873\nf 7537//7537 7872//7872 8227//8227\nf 7876//7876 7055//7055 7598//7598\nf 8228//8228 7599//7599 8227//8227\nf 7057//7057 7062//7062 7879//7879\nf 7600//7600 7064//7064 7885//7885\nf 7884//7884 7882//7882 7412//7412\nf 7412//7412 7882//7882 7063//7063\nf 7062//7062 7063//7063 7882//7882\nf 7883//7883 7065//7065 7411//7411\nf 7888//7888 7886//7886 7068//7068\nf 7601//7601 7887//7887 7889//7889\nf 7538//7538 7890//7890 7066//7066\nf 7891//7891 7068//7068 7070//7070\nf 7890//7890 7538//7538 7892//7892\nf 7417//7417 7413//7413 7893//7893\nf 7891//7891 7070//7070 7071//7071\nf 7538//7538 7072//7072 7892//7892\nf 7419//7419 7417//7417 7893//7893\nf 7602//7602 7416//7416 7687//7687\nf 7894//7894 7071//7071 7073//7073\nf 7419//7419 7893//7893 8233//8233\nf 7540//7540 7539//7539 7602//7602\nf 7418//7418 7074//7074 7896//7896\nf 7540//7540 7602//7602 7688//7688\nf 7075//7075 7603//7603 7419//7419\nf 7896//7896 7074//7074 7541//7541\nf 7688//7688 7540//7540 7897//7897\nf 7421//7421 7688//7688 7900//7900\nf 7079//7079 7420//7420 7901//7901\nf 7081//7081 7079//7079 7902//7902\nf 7420//7420 7078//7078 7905//7905\nf 7901//7901 7420//7420 7905//7905\nf 7084//7084 7081//7081 7903//7903\nf 7904//7904 7080//7080 7085//7085\nf 7905//7905 7078//7078 7077//7077\nf 7907//7907 7689//7689 7913//7913\nf 7899//7899 7542//7542 6918//6918\nf 7604//7604 7908//7908 7088//7088\nf 8237//8237 6918//6918 7605//7605\nf 7425//7425 7092//7092 7907//7907\nf 7911//7911 7606//7606 7090//7090\nf 7908//7908 7604//7604 7088//7088\nf 7424//7424 7089//7089 7909//7909\nf 7090//7090 7082//7082 7911//7911\nf 7425//7425 7913//7913 7914//7914\nf 7425//7425 7092//7092 7914//7914\nf 7088//7088 7915//7915 7607//7607\nf 7909//7909 7916//7916 7424//7424\nf 7092//7092 7425//7425 7914//7914\nf 7915//7915 7088//7088 7607//7607\nf 7424//7424 7097//7097 7099//7099\nf 7095//7095 7102//7102 7917//7917\nf 7101//7101 7918//7918 7105//7105\nf 7610//7610 7919//7919 7104//7104\nf 7921//7921 7105//7105 7918//7918\nf 7922//7922 7432//7432 7925//7925\nf 7105//7105 7921//7921 7611//7611\nf 7921//7921 7926//7926 7611//7611\nf 7108//7108 7104//7104 7927//7927\nf 7611//7611 7930//7930 7110//7110\nf 7929//7929 7545//7545 7437//7437\nf 7431//7431 7435//7435 7931//7931\nf 7932//7932 7111//7111 7110//7110\nf 7109//7109 7438//7438 7933//7933\nf 7108//7108 7937//7937 7113//7113\nf 7112//7112 7116//7116 7939//7939\nf 7934//7934 7112//7112 7939//7939\nf 7612//7612 7938//7938 7694//7694\nf 7546//7546 7936//7936 7613//7613\nf 7120//7120 7113//7113 7937//7937\nf 7940//7940 7941//7941 7115//7115\nf 7123//7123 7115//7115 7941//7941\nf 7695//7695 7942//7942 7546//7546\nf 7939//7939 7119//7119 7943//7943\nf 7116//7116 7119//7119 7939//7939\nf 7117//7117 7614//7614 7946//7946\nf 7694//7694 7944//7944 7947//7947\nf 7949//7949 7943//7943 7119//7119\nf 7614//7614 7124//7124 7946//7946\nf 7548//7548 7694//7694 7947//7947\nf 7548//7548 7440//7440 7694//7694\nf 7123//7123 7941//7941 7547//7547\nf 7949//7949 7119//7119 7125//7125\nf 7695//7695 7443//7443 7942//7942\nf 7941//7941 8249//8249 7547//7547\nf 8251//8251 7548//7548 7947//7947\nf 7950//7950 7617//7617 7955//7955\nf 7950//7950 7124//7124 7617//7617\nf 7951//7951 7550//7550 7952//7952\nf 7953//7953 7549//7549 7547//7547\nf 7616//7616 7126//7126 7954//7954\nf 7132//7132 7616//7616 7954//7954\nf 8343//8343 7955//7955 7617//7617\nf 7550//7550 7135//7135 7956//7956\nf 7138//7138 7132//7132 7954//7954\nf 7958//7958 7136//7136 7131//7131\nf 7960//7960 7136//7136 7958//7958\nf 7961//7961 7957//7957 7133//7133\nf 7133//7133 7957//7957 7129//7129\nf 7962//7962 7618//7618 7615//7615\nf 7618//7618 7962//7962 7964//7964\nf 7963//7963 7135//7135 7445//7445\nf 7137//7137 7961//7961 7133//7133\nf 7965//7965 7961//7961 7137//7137\nf 7618//7618 7964//7964 7966//7966\nf 7963//7963 7445//7445 8255//8255\nf 7970//7970 8254//8254 7145//7145\nf 7144//7144 7136//7136 7967//7967\nf 8255//8255 7447//7447 7449//7449\nf 7141//7141 7696//7696 7966//7966\nf 7970//7970 7145//7145 7971//7971\nf 7145//7145 7970//7970 7971//7971\nf 7973//7973 7141//7141 7966//7966\nf 7731//7731 7142//7142 7148//7148\nf 7731//7731 7968//7968 7142//7142\nf 7969//7969 7448//7448 7446//7446\nf 7149//7149 7972//7972 7970//7970\nf 7145//7145 7149//7149 7970//7970\nf 7448//7448 7969//7969 7450//7450\nf 7980//7980 7974//7974 7619//7619\nf 7551//7551 7976//7976 7977//7977\nf 7620//7620 7551//7551 7977//7977\nf 7155//7155 7450//7450 7730//7730\nf 7619//7619 7159//7159 7622//7622\nf 7731//7731 7150//7150 7979//7979\nf 7981//7981 7155//7155 7730//7730\nf 7977//7977 7983//7983 7620//7620\nf 7980//7980 7978//7978 7622//7622\nf 7985//7985 7622//7622 7552//7552\nf 7620//7620 7983//7983 7987//7987\nf 7451//7451 7620//7620 7987//7987\nf 7985//7985 7552//7552 7988//7988\nf 7157//7157 7155//7155 7989//7989\nf 7986//7986 7158//7158 7624//7624\nf 7992//7992 7451//7451 7987//7987\nf 7992//7992 7623//7623 7451//7451\nf 7552//7552 7697//7697 7990//7990\nf 7979//7979 7153//7153 7991//7991\nf 7153//7153 7164//7164 7991//7991\nf 7162//7162 7157//7157 7989//7989\nf 7621//7621 7993//7993 7732//7732\nf 7997//7997 7996//7996 7998//7998\nf 7163//7163 7623//7623 7992//7992\nf 7452//7452 7163//7163 7999//7999\nf 7163//7163 7992//7992 7999//7999\nf 7998//7998 7996//7996 7733//7733\nf 7997//7997 7699//7699 8003//8003\nf 7997//7997 8003//8003 8264//8264\nf 7162//7162 8005//8005 7169//7169\nf 8002//8002 8000//8000 7624//7624\nf 7998//7998 7699//7699 7997//7997\nf 7736//7736 8003//8003 7699//7699\nf 8004//8004 7553//7553 7700//7700\nf 8002//8002 7624//7624 7554//7554\nf 8004//8004 7700//7700 7738//7738\nf 8002//8002 7554//7554 8008//8008\nf 7701//7701 7737//7737 8006//8006\nf 7453//7453 7735//7735 7741//7741\nf 7735//7735 8001//8001 7741//7741\nf 7170//7170 8005//8005 8009//8009\nf 7554//7554 7740//7740 8008//8008\nf 7626//7626 8360//8360 8003//8003\nf 7625//7625 7452//7452 8007//8007\nf 7555//7555 7453//7453 7741//7741\nf 7740//7740 7629//7629 7701//7701\nf 7741//7741 8001//8001 7742//7742\nf 7555//7555 7741//7741 7742//7742\nf 8267//8267 7740//7740 7702//7702\nf 7629//7629 7740//7740 7702//7702\nf 8012//8012 7626//7626 8013//8013\nf 7454//7454 7625//7625 8010//8010\nf 8011//8011 7171//7171 7177//7177\nf 7178//7178 8009//8009 8014//8014\nf 7178//7178 7170//7170 8009//8009\nf 7740//7740 8267//8267 7702//7702\nf 7740//7740 7701//7701 8267//8267\nf 8013//8013 7626//7626 7631//7631\nf 8013//8013 7631//7631 8015//8015\nf 7177//7177 7628//7628 7746//7746\nf 8017//8017 7628//7628 7461//7461\nf 7178//7178 8014//8014 7183//7183\nf 8019//8019 7183//7183 8014//8014\nf 8020//8020 7627//7627 7745//7745\nf 8018//8018 8017//8017 7461//7461\nf 8018//8018 7461//7461 7181//7181\nf 8023//8023 7627//7627 8020//8020\nf 7747//7747 7630//7630 7184//7184\nf 7180//7180 8022//8022 7559//7559\nf 8023//8023 7464//7464 7627//7627\nf 8024//8024 7747//7747 7184//7184\nf 8025//8025 7467//7467 7703//7703\nf 8023//8023 7748//7748 7464//7464\nf 8027//8027 7191//7191 7559//7559\nf 7184//7184 8028//8028 8024//8024\nf 7185//7185 7704//7704 8028//8028\nf 7748//7748 8023//8023 7749//7749\nf 7473//7473 8026//8026 8025//8025\nf 7184//7184 7185//7185 8028//8028\nf 7750//7750 7472//7472 7749//7749\nf 8029//8029 7191//7191 8027//8027\nf 7198//7198 7191//7191 8029//8029\nf 7190//7190 8030//8030 8028//8028\nf 7200//7200 8030//8030 7190//7190\nf 8029//8029 8366//8366 8032//8032\nf 8269//8269 8031//8031 7561//7561\nf 8033//8033 7636//7636 7198//7198\nf 7475//7475 7751//7751 7477//7477\nf 8030//8030 7200//7200 8034//8034\nf 7751//7751 8035//8035 7477//7477\nf 7205//7205 7636//7636 8033//8033\nf 8269//8269 7561//7561 8037//8037\nf 7205//7205 8033//8033 8038//8038\nf 7205//7205 8038//8038 7209//7209\nf 7562//7562 8039//8039 7479//7479\nf 7477//7477 8036//8036 7482//7482\nf 7482//7482 8036//8036 8040//8040\nf 7561//7561 7563//7563 8037//8037\nf 8044//8044 7209//7209 8038//8038\nf 7564//7564 8045//8045 7562//7562\nf 7562//7562 8045//8045 8042//8042\nf 7706//7706 7211//7211 7486//7486\nf 7706//7706 7486//7486 8046//8046\nf 7706//7706 8041//8041 8046//8046\nf 8047//8047 7219//7219 7482//7482\nf 8046//8046 7752//7752 7487//7487\nf 8049//8049 7219//7219 8047//8047\nf 7564//7564 8050//8050 8045//8045\nf 7219//7219 8049//8049 8051//8051\nf 7567//7567 8052//8052 7486//7486\nf 8052//8052 8046//8046 7486//7486\nf 7217//7217 8048//8048 7638//7638\nf 8053//8053 7639//7639 7752//7752\nf 8046//8046 8053//8053 7752//7752\nf 7637//7637 8055//8055 7708//7708\nf 8054//8054 7221//7221 8049//8049\nf 8050//8050 7564//7564 7640//7640\nf 8051//8051 7221//7221 7219//7219\nf 8049//8049 7221//7221 8051//8051\nf 7221//7221 8054//8054 7644//7644\nf 8271//8271 8055//8055 7753//7753\nf 8058//8058 7639//7639 8053//8053\nf 7638//7638 8056//8056 8057//8057\nf 7220//7220 7638//7638 8057//8057\nf 7639//7639 8058//8058 8060//8060\nf 7709//7709 8062//8062 7753//7753\nf 8052//8052 7226//7226 8063//8063\nf 8064//8064 8061//8061 7639//7639\nf 8061//8061 7641//7641 7639//7639\nf 8062//8062 7709//7709 7754//7754\nf 8068//8068 7224//7224 8057//8057\nf 7645//7645 8050//8050 7640//7640\nf 8065//8065 8061//8061 8064//8064\nf 7641//7641 8065//8065 7642//7642\nf 8065//8065 7755//7755 7642//7642\nf 7224//7224 7220//7220 8057//8057\nf 8065//8065 7641//7641 8061//8061\nf 7754//7754 7642//7642 7755//7755\nf 7568//7568 8066//8066 8067//8067\nf 7646//7646 7568//7568 8067//8067\nf 7227//7227 8066//8066 7568//7568\nf 7755//7755 8065//8065 8070//8070\nf 7642//7642 7755//7755 8070//8070\nf 7642//7642 8070//8070 7755//7755\nf 8074//8074 7647//7647 8072//8072\nf 7647//7647 7646//7646 8072//8072\nf 8077//8077 8074//8074 8072//8072\nf 8068//8068 7648//7648 7224//7224\nf 8076//8076 7226//7226 7239//7239\nf 8076//8076 8063//8063 7226//7226\nf 8075//8075 7227//7227 7710//7710\nf 8077//8077 8074//8074 7647//7647\nf 8075//8075 7710//7710 7493//7493\nf 8078//8078 8075//8075 7493//7493\nf 8076//8076 7239//7239 7757//7757\nf 7237//7237 7243//7243 8079//8079\nf 8074//8074 8082//8082 7650//7650\nf 7649//7649 8080//8080 7238//7238\nf 7238//7238 8080//8080 8081//8081\nf 8274//8274 7651//7651 8081//8081\nf 8076//8076 7757//7757 7758//7758\nf 8076//8076 7758//7758 8083//8083\nf 8082//8082 8074//8074 8077//8077\nf 7234//7234 8084//8084 7496//7496\nf 8274//8274 7712//7712 7651//7651\nf 7241//7241 8083//8083 7758//7758\nf 8083//8083 7241//7241 8086//8086\nf 7253//7253 7712//7712 8085//8085\nf 7650//7650 8087//8087 7652//7652\nf 7495//7495 7653//7653 7760//7760\nf 7252//7252 7496//7496 8084//8084\nf 7252//7252 8084//8084 7759//7759\nf 8089//8089 8086//8086 7241//7241\nf 7650//7650 8275//8275 8087//8087\nf 7243//7243 7498//7498 8088//8088\nf 7241//7241 7247//7247 8089//8089\nf 7495//7495 7760//7760 8090//8090\nf 7246//7246 7249//7249 8091//8091\nf 7761//7761 7246//7246 8091//8091\nf 7253//7253 8092//8092 8093//8093\nf 8089//8089 7247//7247 8095//8095\nf 8088//8088 7498//7498 8279//8279\nf 8093//8093 7256//7256 7253//7253\nf 8097//8097 7652//7652 8096//8096\nf 7500//7500 7652//7652 8097//8097\nf 8099//8099 7713//7713 7654//7654\nf 8095//8095 7247//7247 7257//7257\nf 8100//8100 7713//7713 8099//8099\nf 7503//7503 7500//7500 8096//8096\nf 7500//7500 8097//8097 8096//8096\nf 7713//7713 8100//8100 7762//7762\nf 7258//7258 8095//8095 7257//7257\nf 7258//7258 7502//7502 8101//8101\nf 8096//8096 8102//8102 7503//7503\nf 7762//7762 8100//8100 8103//8103\nf 7502//7502 8104//8104 8101//8101\nf 7762//7762 8103//8103 7655//7655\nf 8102//8102 8106//8106 7503//7503\nf 7503//7503 8106//8106 7714//7714\nf 7655//7655 7763//7763 7268//7268\nf 7763//7763 7655//7655 8280//8280\nf 7266//7266 8108//8108 7263//7263\nf 8110//8110 7264//7264 8109//8109\nf 7763//7763 8112//8112 7715//7715\nf 8111//8111 8112//8112 7763//7763\nf 8112//8112 8113//8113 7715//7715\nf 7506//7506 7264//7264 8115//8115\nf 7266//7266 7508//7508 8108//8108\nf 8283//8283 7508//7508 7270//7270\nf 7269//7269 8284//8284 7764//7764\nf 8116//8116 8119//8119 7656//7656\nf 7765//7765 8118//8118 7569//7569\nf 7569//7569 8118//8118 7275//7275\nf 7274//7274 8121//8121 8120//8120\nf 8119//8119 7279//7279 7656//7656\nf 8119//8119 7718//7718 7279//7279\nf 8286//8286 7716//7716 8129//8129\nf 7274//7274 7276//7276 8121//8121\nf 7718//7718 8122//8122 7570//7570\nf 7571//7571 7570//7570 8123//8123\nf 8122//8122 8123//8123 7570//7570\nf 8124//8124 7571//7571 8123//8123\nf 7767//7767 7571//7571 8124//8124\nf 7768//7768 7284//7284 7658//7658\nf 7275//7275 8130//8130 7282//7282\nf 7766//7766 8130//8130 7275//7275\nf 8134//8134 7276//7276 7287//7287\nf 7767//7767 8124//8124 7572//7572\nf 8125//8125 8131//8131 8126//8126\nf 7660//7660 8131//8131 8125//8125\nf 7660//7660 8125//8125 8127//8127\nf 8128//8128 8288//8288 8132//8132\nf 7717//7717 8132//8132 8129//8129\nf 7284//7284 7768//7768 7513//7513\nf 8124//8124 7662//7662 7572//7572\nf 7289//7289 8288//8288 8132//8132\nf 7289//7289 8132//8132 8288//8288\nf 7289//7289 8132//8132 7286//7286\nf 7286//7286 8132//8132 7717//7717\nf 8133//8133 7295//7295 7513//7513\nf 8136//8136 7295//7295 8133//8133\nf 8138//8138 7573//7573 8135//8135\nf 8131//8131 7660//7660 7517//7517\nf 8139//8139 7665//7665 7295//7295\nf 8140//8140 7573//7573 8138//8138\nf 8142//8142 7769//7769 8141//8141\nf 8130//8130 7770//7770 7282//7282\nf 8143//8143 7287//7287 7300//7300\nf 7663//7663 8140//8140 8144//8144\nf 8145//8145 8144//8144 8140//8140\nf 8145//8145 7668//7668 8144//8144\nf 8145//8145 7515//7515 7668//7668\nf 8146//8146 7515//7515 8145//8145\nf 7515//7515 8146//8146 7666//7666\nf 7312//7312 7667//7667 8147//8147\nf 8141//8141 7769//7769 7720//7720\nf 7307//7307 7313//7313 8152//8152\nf 7517//7517 7660//7660 7308//7308\nf 7663//7663 8144//8144 7668//7668\nf 7667//7667 7312//7312 8147//8147\nf 7312//7312 7667//7667 8148//8148\nf 8154//8154 7312//7312 8148//8148\nf 7519//7519 7671//7671 8150//8150\nf 7519//7519 8150//8150 8149//8149\nf 7519//7519 8155//8155 7669//7669\nf 8149//8149 8155//8155 7519//7519\nf 7309//7309 7299//7299 8157//8157\nf 8158//8158 7719//7719 8160//8160\nf 7770//7770 7661//7661 7282//7282\nf 7721//7721 7669//7669 8156//8156\nf 7518//7518 8154//8154 8159//8159\nf 8150//8150 7518//7518 8159//8159\nf 7721//7721 8151//8151 7720//7720\nf 8156//8156 8151//8151 7721//7721\nf 7309//7309 8161//8161 7670//7670\nf 7664//7664 7770//7770 8162//8162\nf 7670//7670 8161//8161 7672//7672\nf 7672//7672 8161//8161 8163//8163\nf 7672//7672 8163//8163 7771//7771\nf 8165//8165 7314//7314 7673//7673\nf 8166//8166 8167//8167 7771//7771\nf 7771//7771 8167//8167 7772//7772\nf 7722//7722 7772//7772 8168//8168\nf 8171//8171 7773//7773 7574//7574\nf 7330//7330 7325//7325 8172//8172\nf 7774//7774 7325//7325 8172//8172\nf 8173//8173 7723//7723 8171//8171\nf 8171//8171 7723//7723 7773//7773\nf 7333//7333 8175//8175 8174//8174\nf 7333//7333 7575//7575 8175//8175\nf 8180//8180 8179//8179 7337//7337\nf 8179//8179 8180//8180 7337//7337\nf 7340//7340 7337//7337 8180//8180\nf 8181//8181 7575//7575 7339//7339\nf 8184//8184 7340//7340 8182//8182\nf 8183//8183 7576//7576 7343//7343\nf 7341//7341 7340//7340 8184//8184\nf 8183//8183 7343//7343 8185//8185\nf 8184//8184 8186//8186 7342//7342\nf 7341//7341 8184//8184 7342//7342\nf 8185//8185 7343//7343 7675//7675\nf 8185//8185 7675//7675 8187//8187\nf 7342//7342 8186//8186 7523//7523\nf 8186//8186 8188//8188 7523//7523\nf 7345//7345 8187//8187 7675//7675\nf 7523//7523 8188//8188 7344//7344\nf 8188//8188 8190//8190 7344//7344\nf 7346//7346 7344//7344 8295//8295\nf 7348//7348 8192//8192 7345//7345\nf 7345//7345 8192//8192 8189//8189\nf 7347//7347 7676//7676 8191//8191\nf 7524//7524 7347//7347 8193//8193\nf 7349//7349 8194//8194 7351//7351\nf 8192//8192 7348//7348 7350//7350\nf 7348//7348 8192//8192 7350//7350\nf 7350//7350 8195//8195 7348//7348\nf 7677//7677 8195//8195 7350//7350\nf 7351//7351 8196//8196 7353//7353\nf 7353//7353 8196//8196 7354//7354\nf 7355//7355 8195//8195 7677//7677\nf 7775//7775 7357//7357 8199//8199\nf 7525//7525 7775//7775 7679//7679\nf 7355//7355 7678//7678 8195//8195\nf 7679//7679 8297//8297 8200//8200\nf 7679//7679 8200//8200 7358//7358\nf 7361//7361 7360//7360 8203//8203\nf 8203//8203 7360//7360 8201//8201\nf 7363//7363 7361//7361 8203//8203\nf 8204//8204 7678//7678 7724//7724\nf 7724//7724 7578//7578 8205//8205\nf 7724//7724 8205//8205 8300//8300\nf 7579//7579 8205//8205 7578//7578\nf 8206//8206 8205//8205 7579//7579\nf 7579//7579 7725//7725 8206//8206\nf 7372//7372 8206//8206 7725//7725\nf 7369//7369 7372//7372 7725//7725\nf 8301//8301 8207//8207 7367//7367\nf 7373//7373 8208//8208 7372//7372\nf 8210//8210 7367//7367 8207//8207\nf 8210//8210 7375//7375 7367//7367\nf 8209//8209 7374//7374 7373//7373\nf 8209//8209 7373//7373 7374//7374\nf 7375//7375 8210//8210 8212//8212\nf 7374//7374 8211//8211 7373//7373\nf 7376//7376 7375//7375 8213//8213\nf 7376//7376 8213//8213 8215//8215\nf 7379//7379 8215//8215 7682//7682\nf 7377//7377 7681//7681 7682//7682\nf 8216//8216 7377//7377 7682//7682\nf 8307//8307 7388//7388 7389//7389\nf 7389//7389 6962//6962 7783//7783\nf 6966//6966 7785//7785 7784//7784\nf 7776//7776 6966//6966 6958//6958\nf 7776//7776 7785//7785 6966//6966\nf 7777//7777 7385//7385 6967//6967\nf 7787//7787 6974//6974 7778//7778\nf 7789//7789 6964//6964 7790//7790\nf 7785//7785 7791//7791 7784//7784\nf 7798//7798 6978//6978 7778//7778\nf 6974//6974 7787//7787 7778//7778\nf 7780//7780 6980//6980 7793//7793\nf 7795//7795 7796//7796 9145//9145\nf 7793//7793 7390//7390 7794//7794\nf 8311//8311 7581//7581 7795//7795\nf 7796//7796 7795//7795 6975//6975\nf 7583//7583 7792//7792 8220//8220\nf 7583//7583 7393//7393 7792//7792\nf 6978//6978 7798//7798 7802//7802\nf 7794//7794 7390//7390 7531//7531\nf 9147//9147 7804//7804 9148//9148\nf 7805//7805 7796//7796 7391//7391\nf 6979//6979 7801//7801 7797//7797\nf 7394//7394 6978//6978 7802//7802\nf 7804//7804 7803//7803 6981//6981\nf 6981//6981 6982//6982 7804//7804\nf 7533//7533 6989//6989 7800//7800\nf 7812//7812 7394//7394 7802//7802\nf 7810//7810 7805//7805 7391//7391\nf 7801//7801 7684//7684 7807//7807\nf 7532//7532 7816//7816 7810//7810\nf 7817//7817 7533//7533 7811//7811\nf 7821//7821 7003//7003 8221//8221\nf 7003//7003 7817//7817 8221//8221\nf 6998//6998 6992//6992 8313//8313\nf 7815//7815 7585//7585 7822//7822\nf 7001//7001 7822//7822 7585//7585\nf 7591//7591 7821//7821 7826//7826\nf 7014//7014 7591//7591 7827//7827\nf 7825//7825 7401//7401 7831//7831\nf 7401//7401 7016//7016 7831//7831\nf 8315//8315 7831//7831 7836//7836\nf 7834//7834 7828//7828 7012//7012\nf 7588//7588 7589//7589 7835//7835\nf 7835//7835 8223//8223 7588//7588\nf 7587//7587 7588//7588 8222//8222\nf 7588//7588 8223//8223 8222//8222\nf 7838//7838 7587//7587 8222//8222\nf 7838//7838 7837//7837 7587//7587\nf 7840//7840 7834//7834 7593//7593\nf 7839//7839 7020//7020 7841//7841\nf 7685//7685 7838//7838 7837//7837\nf 7843//7843 7838//7838 7847//7847\nf 7843//7843 7837//7837 7838//7838\nf 7840//7840 7019//7019 8224//8224\nf 7534//7534 7846//7846 8224//8224\nf 7843//7843 7847//7847 7849//7849\nf 7534//7534 7850//7850 7846//7846\nf 7848//7848 7535//7535 7029//7029\nf 7854//7854 7852//7852 7849//7849\nf 7029//7029 7039//7039 7857//7857\nf 7040//7040 7405//7405 7855//7855\nf 7858//7858 7597//7597 7860//7860\nf 7861//7861 7044//7044 8225//8225\nf 7863//7863 7045//7045 8226//8226\nf 7865//7865 7686//7686 8319//8319\nf 7868//7868 8226//8226 7045//7045\nf 7053//7053 7044//7044 7051//7051\nf 7049//7049 7042//7042 7864//7864\nf 7050//7050 7869//7869 7868//7868\nf 7408//7408 7867//7867 7875//7875\nf 7052//7052 7873//7873 7869//7869\nf 8227//8227 7870//7870 7866//7866\nf 7871//7871 7055//7055 7874//7874\nf 8321//8321 7869//7869 7873//7873\nf 7874//7874 7055//7055 7876//7876\nf 7409//7409 7877//7877 7873//7873\nf 7409//7409 7057//7057 7877//7877\nf 7876//7876 7598//7598 7056//7056\nf 7599//7599 7537//7537 8227//8227\nf 8229//8229 7057//7057 7879//7879\nf 7877//7877 7057//7057 8229//8229\nf 7059//7059 7880//7880 7056//7056\nf 7411//7411 7599//7599 7881//7881\nf 7062//7062 7882//7882 7879//7879\nf 7411//7411 7881//7881 8230//8230\nf 7600//7600 7880//7880 7059//7059\nf 7067//7067 7060//7060 8231//8231\nf 7884//7884 7412//7412 7886//7886\nf 7883//7883 7889//7889 7887//7887\nf 7601//7601 7065//7065 7887//7887\nf 7890//7890 7064//7064 7066//7066\nf 7888//7888 7068//7068 7891//7891\nf 7071//7071 7894//7894 8327//8327\nf 7687//7687 7601//7601 8232//8232\nf 7602//7602 7687//7687 8232//8232\nf 7895//7895 7602//7602 8232//8232\nf 7892//7892 7072//7072 7418//7418\nf 7895//7895 7688//7688 7602//7602\nf 7895//7895 7897//7897 7688//7688\nf 7896//7896 7541//7541 7898//7898\nf 7898//7898 7541//7541 7422//7422\nf 7898//7898 7422//7422 7899//7899\nf 7689//7689 7421//7421 7900//7900\nf 7903//7903 7081//7081 7902//7902\nf 7902//7902 7079//7079 7901//7901\nf 7689//7689 7900//7900 7913//7913\nf 7906//7906 7084//7084 8236//8236\nf 7907//7907 7092//7092 7689//7689\nf 7905//7905 7604//7604 7908//7908\nf 7899//7899 6918//6918 8237//8237\nf 7091//7091 7095//7095 7912//7912\nf 7913//7913 7425//7425 7907//7907\nf 7607//7607 7915//7915 7908//7908\nf 7909//7909 8238//8238 7916//7916\nf 8333//8333 8427//8427 7605//7605\nf 7915//7915 7607//7607 7690//7690\nf 7424//7424 7916//7916 7097//7097\nf 7918//7918 7099//7099 7097//7097\nf 7917//7917 7102//7102 7920//7920\nf 7923//7923 7691//7691 8240//8240\nf 7690//7690 7692//7692 7924//7924\nf 7101//7101 7099//7099 7918//7918\nf 7610//7610 7100//7100 7919//7919\nf 7691//7691 7609//7609 8240//8240\nf 7104//7104 7919//7919 8243//8243\nf 7920//7920 7102//7102 7107//7107\nf 8241//8241 7690//7690 7924//7924\nf 7431//7431 8244//8244 8335//8335\nf 7920//7920 7107//7107 7922//7922\nf 7922//7922 7107//7107 7432//7432\nf 7924//7924 7692//7692 7545//7545\nf 7925//7925 7432//7432 7109//7109\nf 7927//7927 7104//7104 8243//8243\nf 7693//7693 7691//7691 7923//7923\nf 7693//7693 7923//7923 7928//7928\nf 8245//8245 7545//7545 7929//7929\nf 7930//7930 7611//7611 7926//7926\nf 7612//7612 7433//7433 7935//7935\nf 7930//7930 7932//7932 7110//7110\nf 7112//7112 7934//7934 7931//7931\nf 7929//7929 7437//7437 7613//7613\nf 7108//7108 8246//8246 7937//7937\nf 7612//7612 7935//7935 8247//8247\nf 7438//7438 7117//7117 7933//7933\nf 7115//7115 7932//7932 7940//7940\nf 7936//7936 7546//7546 7942//7942\nf 8248//8248 7933//7933 7117//7117\nf 7946//7946 8248//8248 7117//7117\nf 7947//7947 7944//7944 7938//7938\nf 7946//7946 7124//7124 7950//7950\nf 7952//7952 7948//7948 7951//7951\nf 7956//7956 7952//7952 7550//7550\nf 7953//7953 7547//7547 8249//8249\nf 7957//7957 7949//7949 7129//7129\nf 7615//7615 7548//7548 8251//8251\nf 7953//7953 7958//7958 7131//7131\nf 7615//7615 8252//8252 7959//7959\nf 8253//8253 7956//7956 7963//7963\nf 7956//7956 7135//7135 7963//7963\nf 7138//7138 7954//7954 7729//7729\nf 7964//7964 7962//7962 7959//7959\nf 7445//7445 7447//7447 8255//8255\nf 7136//7136 7960//7960 7967//7967\nf 7968//7968 7965//7965 7142//7142\nf 7969//7969 7446//7446 7729//7729\nf 8255//8255 7449//7449 8256//8256\nf 7965//7965 7137//7137 7142//7142\nf 7973//7973 7966//7966 7976//7976\nf 7449//7449 7619//7619 8256//8256\nf 7973//7973 7551//7551 7141//7141\nf 8257//8257 8256//8256 7619//7619\nf 7974//7974 8257//8257 7619//7619\nf 7144//7144 7967//7967 7147//7147\nf 8349//8349 7147//7147 7967//7967\nf 7969//7969 8258//8258 7450//7450\nf 8258//8258 7730//7730 7450//7450\nf 7975//7975 7147//7147 8349//8349\nf 7619//7619 7978//7978 7980//7980\nf 7972//7972 7149//7149 7158//7158\nf 7147//7147 7975//7975 8348//8348\nf 8350//8350 7731//7731 7979//7979\nf 7979//7979 7150//7150 7153//7153\nf 7621//7621 7147//7147 8260//8260\nf 7158//7158 7986//7986 8259//8259\nf 7990//7990 7988//7988 7552//7552\nf 8259//8259 7986//7986 7624//7624\nf 7995//7995 7990//7990 7697//7697\nf 7621//7621 8260//8260 7993//7993\nf 8261//8261 7993//7993 8260//8260\nf 7994//7994 7162//7162 7989//7989\nf 7997//7997 8352//8352 7996//7996\nf 8259//8259 7624//7624 8262//8262\nf 8000//8000 8262//8262 7624//7624\nf 7996//7996 8006//8006 7733//7733\nf 8006//8006 7698//7698 7733//7733\nf 7996//7996 8263//8263 8006//8006\nf 7999//7999 7992//7992 8265//8265\nf 7697//7697 7553//7553 7995//7995\nf 7732//7732 7993//7993 8001//8001\nf 7994//7994 8005//8005 7162//7162\nf 7737//7737 7698//7698 8006//8006\nf 8007//8007 7452//7452 7999//7999\nf 7626//7626 8013//8013 8360//8360\nf 8002//8002 8267//8267 8006//8006\nf 8267//8267 7701//7701 8006//8006\nf 7170//7170 7169//7169 8005//8005\nf 8002//8002 8008//8008 7740//7740\nf 8266//8266 6929//6929 7171//7171\nf 8002//8002 7740//7740 8267//8267\nf 7625//7625 8007//8007 8010//8010\nf 8013//8013 7626//7626 8012//8012\nf 7746//7746 8011//8011 7177//7177\nf 7457//7457 8010//8010 8016//8016\nf 7746//7746 7628//7628 8017//8017\nf 8016//8016 8022//8022 7180//7180\nf 7747//7747 8024//8024 8363//8363\nf 7467//7467 8025//8025 8021//8021\nf 7190//7190 8028//8028 7704//7704\nf 7473//7473 8268//8268 8026//8026\nf 7473//7473 7635//7635 8268//8268\nf 8366//8366 8029//8029 8027//8027\nf 7198//7198 8032//8032 8033//8033\nf 8031//8031 7635//7635 7561//7561\nf 7479//7479 8039//8039 8034//8034\nf 7705//7705 7706//7706 8041//8041\nf 7562//7562 8042//8042 8039//8039\nf 7707//7707 8043//8043 8269//8269\nf 7707//7707 7708//7708 8043//8043\nf 8041//8041 7706//7706 8046//8046\nf 8043//8043 7708//7708 8270//8270\nf 8370//8370 8043//8043 8270//8270\nf 7217//7217 7209//7209 8044//8044\nf 8047//8047 7482//7482 8040//8040\nf 8044//8044 8048//8048 7217//7217\nf 8270//8270 7708//7708 8271//8271\nf 7708//7708 8055//8055 8271//8271\nf 7753//7753 8059//8059 8271//8271\nf 8376//8376 7645//7645 8073//8073\nf 8064//8064 8060//8060 8058//8058\nf 7225//7225 8054//8054 8069//8069\nf 7754//7754 8272//8272 8062//8062\nf 7646//7646 8067//8067 8072//8072\nf 7645//7645 7492//7492 8073//8073\nf 7754//7754 7755//7755 8383//8383\nf 8272//8272 7754//7754 8071//8071\nf 8066//8066 8075//8075 8380//8380\nf 8384//8384 7754//7754 8383//8383\nf 7755//7755 8070//8070 8383//8383\nf 7227//7227 8075//8075 8066//8066\nf 7492//7492 7237//7237 8073//8073\nf 7648//7648 8068//8068 8273//8273\nf 8080//8080 7649//7649 8069//8069\nf 7234//7234 7648//7648 8273//8273\nf 8275//8275 8082//8082 8077//8077\nf 7711//7711 8078//8078 7493//7493\nf 7234//7234 7756//7756 8084//8084\nf 7651//7651 7238//7238 8081//8081\nf 8085//8085 7712//7712 8274//8274\nf 8387//8387 8078//8078 7711//7711\nf 7711//7711 7494//7494 8276//8276\nf 7494//7494 7495//7495 8090//8090\nf 8084//8084 8277//8277 7759//7759\nf 8088//8088 8389//8389 7243//7243\nf 8276//8276 7494//7494 8090//8090\nf 8093//8093 8092//8092 8278//8278\nf 7759//7759 7499//7499 7252//7252\nf 8096//8096 7652//7652 8087//8087\nf 8278//8278 8098//8098 8093//8093\nf 7500//7500 8097//8097 8096//8096\nf 8278//8278 7654//7654 8098//8098\nf 8278//8278 8099//8099 7654//7654\nf 7500//7500 8096//8096 8097//8097\nf 7502//7502 8105//8105 8104//8104\nf 8111//8111 7763//7763 8280//8280\nf 8109//8109 7714//7714 8106//8106\nf 8108//8108 8105//8105 7263//7263\nf 8281//8281 7270//7270 7272//7272\nf 8281//8281 8283//8283 7270//7270\nf 7269//7269 7506//7506 8115//8115\nf 7269//7269 8115//8115 8284//8284\nf 8117//8117 8281//8281 7272//7272\nf 7272//7272 8282//8282 8281//8281\nf 7508//7508 8283//8283 8108//8108\nf 7765//7765 7273//7273 8285//8285\nf 7716//7716 8286//8286 8117//8117\nf 7718//7718 8287//8287 8122//8122\nf 7718//7718 8119//8119 8287//8287\nf 7716//7716 7717//7717 8129//8129\nf 8123//8123 8122//8122 8287//8287\nf 8288//8288 8286//8286 8129//8129\nf 7293//7293 7660//7660 8127//8127\nf 8128//8128 7293//7293 8127//8127\nf 8128//8128 8127//8127 8444//8444\nf 8135//8135 7662//7662 8400//8400\nf 8289//8289 8126//8126 8131//8131\nf 8128//8128 8132//8132 7293//7293\nf 8132//8132 8288//8288 8129//8129\nf 7573//7573 7662//7662 8135//8135\nf 8136//8136 8139//8139 7295//7295\nf 7658//7658 7659//7659 8137//8137\nf 7659//7659 8402//8402 8137//8137\nf 8152//8152 7313//7313 8142//8142\nf 7665//7665 8139//8139 8157//8157\nf 8147//8147 8148//8148 7667//7667\nf 8149//8149 8290//8290 8155//8155\nf 8156//8156 8141//8141 8151//8151\nf 8153//8153 8289//8289 7517//7517\nf 8152//8152 8289//8289 8153//8153\nf 8289//8289 8131//8131 7517//7517\nf 7299//7299 7665//7665 8157//8157\nf 8157//8157 8161//8161 7309//7309\nf 8160//8160 7664//7664 8162//8162\nf 7771//7771 8163//8163 8164//8164\nf 8143//8143 7300//7300 7314//7314\nf 8165//8165 8405//8405 7314//7314\nf 8166//8166 7771//7771 8164//8164\nf 7772//7772 8167//8167 8168//8168\nf 8165//8165 7673//7673 7329//7329\nf 8170//8170 7722//7722 8168//8168\nf 8171//8171 7574//7574 8170//8170\nf 7574//7574 7722//7722 8170//8170\nf 8171//8171 8170//8170 8291//8291\nf 8173//8173 8172//8172 7723//7723\nf 8172//8172 8292//8292 7330//7330\nf 7330//7330 8292//8292 8294//8294\nf 7674//7674 7330//7330 8294//8294\nf 8176//8176 8177//8177 7674//7674\nf 8294//8294 8176//8176 7674//7674\nf 8176//8176 8179//8179 8177//8177\nf 8178//8178 8175//8175 7575//7575\nf 8180//8180 8177//8177 8179//8179\nf 8182//8182 7340//7340 8180//8180\nf 8182//8182 8180//8180 8179//8179\nf 8178//8178 8181//8181 8183//8183\nf 7345//7345 8189//8189 8187//8187\nf 7347//7347 8191//8191 8193//8193\nf 7524//7524 8193//8193 8296//8296\nf 7349//7349 8296//8296 8194//8194\nf 7349//7349 7524//7524 8296//8296\nf 8196//8196 7351//7351 8194//8194\nf 8195//8195 8192//8192 7348//7348\nf 8298//8298 8195//8195 8202//8202\nf 7775//7775 8297//8297 7679//7679\nf 8195//8195 7678//7678 8202//8202\nf 7358//7358 8299//8299 8201//8201\nf 7360//7360 7358//7358 8201//8201\nf 8202//8202 7678//7678 8298//8298\nf 8298//8298 8204//8204 8300//8300\nf 8300//8300 8204//8204 7724//7724\nf 7365//7365 8415//8415 7366//7366\nf 7372//7372 8208//8208 8302//8302\nf 8206//8206 7372//7372 8302//8302\nf 7373//7373 8209//8209 8208//8208\nf 8209//8209 7373//7373 8211//8211\nf 7377//7377 8216//8216 8214//8214\nf 7682//7682 8215//8215 8216//8216\nf 6958//6958 8217//8217 7776//7776\nf 6958//6958 6959//6959 8217//8217\nf 8217//8217 6959//6959 7385//7385\nf 7778//7778 6968//6968 8303//8303\nf 8304//8304 6969//6969 7779//7779\nf 6970//6970 7780//7780 7779//7779\nf 8450//8450 8305//8305 8219//8219\nf 6972//6972 8306//8306 8218//8218\nf 7781//7781 7387//7387 7388//7388\nf 8308//8308 7389//7389 7783//7783\nf 7777//7777 6967//6967 7786//7786\nf 7793//7793 8309//8309 7780//7780\nf 7788//7788 6976//6976 8305//8305\nf 8219//8219 8218//8218 8306//8306\nf 6977//6977 6972//6972 8219//8219\nf 6972//6972 8218//8218 8219//8219\nf 6963//6963 7789//7789 7783//7783\nf 7776//7776 8310//8310 7785//7785\nf 7786//7786 6979//6979 7797//7797\nf 8312//8312 7533//7533 7800//7800\nf 7812//7812 7802//7802 8419//8419\nf 7533//7533 8312//8312 7811//7811\nf 6992//6992 7812//7812 8313//8313\nf 7822//7822 8314//8314 7815//7815\nf 7819//7819 8314//8314 7822//7822\nf 7818//7818 7819//7819 6997//6997\nf 8314//8314 7819//7819 7818//7818\nf 8421//8421 7810//7810 7820//7820\nf 7810//7810 7816//7816 7820//7820\nf 8221//8221 7826//7826 7821//7821\nf 6998//6998 8313//8313 7824//7824\nf 7821//7821 7591//7591 7586//7586\nf 7832//7832 6998//6998 7824//7824\nf 8315//8315 7825//7825 7831//7831\nf 8223//8223 7835//7835 8222//8222\nf 7832//7832 8316//8316 7842//7842\nf 7023//7023 7832//7832 7842//7842\nf 8317//8317 7847//7847 7838//7838\nf 8222//8222 8317//8317 7838//7838\nf 7854//7854 7849//7849 7847//7847\nf 7854//7854 7847//7847 8317//8317\nf 7405//7405 7845//7845 7855//7855\nf 7039//7039 7861//7861 7859//7859\nf 7860//7860 7034//7034 7863//7863\nf 7042//7042 7040//7040 7864//7864\nf 8319//8319 7686//7686 7862//7862\nf 8225//8225 7044//7044 8320//8320\nf 8320//8320 7044//7044 7053//7053\nf 8322//8322 8227//8227 7866//7866\nf 7871//7871 7874//7874 7876//7876\nf 8227//8227 8322//8322 8228//8228\nf 8228//8228 8322//8322 8323//8323\nf 7410//7410 7408//7408 7875//7875\nf 7880//7880 7878//7878 7056//7056\nf 7599//7599 8228//8228 7881//7881\nf 8325//8325 7878//7878 7880//7880\nf 7883//7883 7411//7411 8230//8230\nf 7885//7885 7064//7064 7890//7890\nf 7891//7891 7071//7071 8327//8327\nf 8232//8232 7601//7601 7889//7889\nf 8326//8326 7892//7892 7896//7896\nf 7892//7892 7418//7418 7896//7896\nf 7073//7073 7076//7076 8234//8234\nf 7540//7540 7688//7688 7897//7897\nf 8234//8234 7076//7076 8235//8235\nf 7076//7076 7080//7080 8235//8235\nf 7913//7913 7900//7900 8328//8328\nf 8236//8236 7084//7084 7903//7903\nf 7905//7905 7908//7908 8330//8330\nf 7911//7911 7082//7082 8329//8329\nf 7904//7904 7091//7091 7910//7910\nf 7904//7904 7085//7085 7091//7091\nf 8238//8238 7909//7909 7916//7916\nf 7606//7606 7911//7911 8239//8239\nf 7912//7912 7095//7095 7917//7917\nf 7605//7605 7608//7608 8333//8333\nf 7609//7609 7425//7425 7914//7914\nf 7100//7100 7606//7606 8239//8239\nf 7915//7915 7690//7690 8241//8241\nf 8336//8336 8240//8240 8334//8334\nf 8336//8336 7923//7923 8240//8240\nf 8337//8337 7921//7921 7918//7918\nf 8242//8242 7544//7544 8335//8335\nf 8428//8428 7924//7924 8338//8338\nf 7545//7545 8245//8245 7924//7924\nf 7931//7931 8335//8335 8244//8244\nf 7925//7925 7109//7109 8339//8339\nf 8246//8246 7108//7108 7927//7927\nf 7935//7935 7693//7693 7928//7928\nf 8339//8339 7109//7109 7933//7933\nf 7936//7936 7929//7929 7613//7613\nf 7612//7612 8247//8247 7938//7938\nf 8247//8247 7935//7935 8341//8341\nf 7120//7120 7937//7937 7945//7945\nf 8248//8248 7946//7946 7933//7933\nf 7944//7944 7694//7694 7938//7938\nf 7941//7941 7940//7940 8249//8249\nf 7952//7952 7942//7942 7948//7948\nf 8250//8250 7126//7126 7945//7945\nf 7615//7615 8251//8251 8252//8252\nf 8343//8343 7134//7134 8254//8254\nf 8254//8254 7134//7134 7145//7145\nf 7966//7966 7964//7964 7959//7959\nf 7966//7966 7959//7959 8345//8345\nf 7960//7960 8346//8346 7967//7967\nf 8346//8346 7960//7960 8344//8344\nf 8347//8347 8257//8257 7974//7974\nf 8349//8349 7967//7967 8348//8348\nf 7974//7974 7980//7980 8347//8347\nf 8349//8349 8348//8348 7975//7975\nf 7982//7982 7158//7158 7972//7972\nf 7980//7980 7622//7622 7984//7984\nf 7147//7147 8348//8348 8260//8260\nf 7158//7158 8259//8259 7972//7972\nf 8259//8259 8351//8351 7972//7972\nf 7622//7622 7985//7985 7984//7984\nf 7988//7988 7990//7990 7985//7985\nf 7989//7989 7155//7155 7981//7981\nf 7997//7997 8353//8353 8352//8352\nf 7979//7979 7991//7991 8357//8357\nf 8354//8354 8259//8259 8000//8000\nf 8352//8352 8355//8355 7996//7996\nf 8355//8355 8263//8263 7996//7996\nf 7983//7983 8356//8356 7992//7992\nf 7983//7983 7992//7992 7987//7987\nf 8000//8000 8259//8259 8262//8262\nf 7697//7697 7995//7995 8358//8358\nf 7553//7553 8004//8004 7995//7995\nf 7993//7993 8261//8261 8001//8001\nf 8002//8002 8263//8263 8000//8000\nf 8006//8006 8263//8263 8002//8002\nf 8001//8001 8261//8261 8359//8359\nf 8432//8432 7164//7164 7734//7734\nf 7734//7734 7164//7164 7166//7166\nf 8265//8265 8007//8007 7999//7999\nf 7734//7734 6929//6929 8266//8266\nf 8007//8007 8265//8265 8010//8010\nf 7457//7457 7454//7454 8010//8010\nf 8010//8010 8361//8361 8016//8016\nf 7745//7745 8023//8023 8020//8020\nf 8016//8016 8362//8362 8022//8022\nf 8024//8024 8028//8028 8364//8364\nf 8028//8028 8030//8030 8433//8433\nf 8032//8032 7198//7198 8029//8029\nf 8367//8367 8036//8036 8035//8035\nf 7477//7477 8035//8035 8036//8036\nf 8037//8037 7563//7563 7707//7707\nf 8037//8037 7707//7707 8269//8269\nf 8368//8368 8038//8038 8033//8033\nf 8039//8039 8042//8042 8371//8371\nf 8045//8045 8371//8371 8042//8042\nf 8047//8047 8040//8040 8049//8049\nf 8373//8373 8054//8054 8049//8049\nf 8052//8052 8053//8053 8046//8046\nf 8052//8052 8374//8374 8053//8053\nf 7638//7638 8048//8048 8056//8056\nf 8054//8054 8373//8373 8435//8435\nf 8377//8377 8059//8059 7753//7753\nf 8064//8064 8058//8058 8053//8053\nf 8271//8271 8059//8059 8377//8377\nf 8378//8378 8062//8062 8272//8272\nf 8378//8378 7753//7753 8062//8062\nf 8378//8378 8377//8377 7753//7753\nf 8272//8272 8071//8071 8385//8385\nf 8070//8070 8065//8065 8383//8383\nf 8381//8381 8073//8073 8079//8079\nf 8076//8076 8382//8382 8063//8063\nf 8063//8063 8382//8382 8379//8379\nf 8071//8071 7754//7754 8384//8384\nf 8071//8071 8384//8384 8385//8385\nf 8073//8073 7237//7237 8079//8079\nf 8077//8077 8386//8386 8275//8275\nf 8388//8388 8075//8075 8387//8387\nf 8387//8387 8075//8075 8078//8078\nf 8382//8382 8076//8076 8083//8083\nf 8086//8086 8382//8382 8083//8083\nf 8389//8389 8079//8079 7243//7243\nf 8387//8387 7711//7711 8090//8090\nf 8087//8087 8275//8275 8390//8390\nf 7650//7650 8082//8082 8275//8275\nf 8387//8387 8090//8090 8441//8441\nf 8092//8092 8085//8085 8391//8391\nf 8089//8089 8392//8392 8086//8086\nf 8092//8092 8391//8391 8278//8278\nf 8099//8099 8278//8278 8393//8393\nf 8100//8100 8099//8099 8393//8393\nf 8095//8095 8101//8101 8089//8089\nf 7258//7258 8101//8101 8095//8095\nf 8279//8279 7254//7254 8107//8107\nf 8280//8280 8103//8103 8100//8100\nf 8104//8104 8105//8105 8101//8101\nf 8280//8280 8395//8395 8112//8112\nf 8111//8111 8280//8280 8112//8112\nf 8105//8105 8283//8283 8394//8394\nf 8105//8105 8108//8108 8283//8283\nf 7264//7264 8110//8110 8115//8115\nf 8117//8117 8396//8396 8281//8281\nf 8116//8116 8113//8113 8119//8119\nf 8396//8396 8117//8117 8397//8397\nf 7716//7716 8117//8117 7272//7272\nf 8285//8285 7507//7507 7764//7764\nf 8286//8286 8397//8397 8117//8117\nf 7274//7274 8120//8120 8398//8398\nf 8118//8118 7766//7766 7275//7275\nf 8121//8121 8399//8399 8120//8120\nf 8127//8127 8125//8125 8126//8126\nf 8121//8121 7276//7276 8399//8399\nf 7276//7276 8134//8134 8399//8399\nf 7662//7662 8124//8124 8400//8400\nf 8445//8445 8126//8126 8152//8152\nf 8289//8289 8152//8152 8126//8126\nf 8157//8157 8139//8139 8401//8401\nf 8148//8148 8150//8150 8159//8159\nf 8154//8154 8148//8148 8159//8159\nf 8149//8149 8150//8150 8290//8290\nf 7659//7659 8158//8158 8403//8403\nf 8401//8401 8161//8161 8157//8157\nf 8401//8401 8157//8157 8161//8161\nf 8163//8163 8161//8161 8404//8404\nf 8163//8163 8404//8404 8164//8164\nf 8407//8407 8164//8164 8406//8406\nf 8164//8164 8407//8407 8166//8166\nf 8294//8294 8292//8292 8172//8172\nf 8294//8294 8172//8172 8176//8176\nf 8176//8176 7674//7674 8294//8294\nf 8293//8293 7331//7331 8174//8174\nf 8176//8176 8294//8294 7674//7674\nf 8295//8295 8190//8190 8188//8188\nf 8295//8295 7344//7344 8190//8190\nf 8408//8408 8192//8192 8409//8409\nf 8408//8408 8189//8189 8192//8192\nf 8194//8194 8410//8410 8196//8196\nf 7354//7354 8196//8196 8197//8197\nf 8412//8412 7356//7356 8197//8197\nf 8198//8198 7356//7356 8412//8412\nf 8199//8199 7357//7357 8198//8198\nf 8298//8298 7678//7678 8204//8204\nf 8413//8413 7363//7363 8203//8203\nf 8205//8205 8414//8414 8300//8300\nf 8205//8205 8206//8206 8414//8414\nf 8416//8416 8211//8211 8214//8214\nf 8213//8213 8212//8212 8215//8215\nf 8216//8216 8416//8416 8214//8214\nf 8673//8673 7778//7778 8303//8303\nf 8219//8219 8306//8306 8681//8681\nf 8306//8306 7781//7781 8418//8418\nf 7389//7389 7782//7782 8307//8307\nf 8308//8308 8307//8307 7782//7782\nf 7793//7793 7794//7794 8309//8309\nf 6978//6978 6974//6974 7778//7778\nf 8311//8311 7795//7795 8689//8689\nf 7799//7799 8311//8311 8689//8689\nf 8483//8483 7800//7800 8220//8220\nf 7801//7801 7807//7807 7814//7814\nf 8420//8420 7806//7806 7815//7815\nf 7806//7806 7808//7808 7815//7815\nf 7823//7823 7825//7825 7814//7814\nf 7829//7829 7827//7827 8491//8491\nf 7828//7828 7834//7834 8422//8422\nf 7834//7834 7840//7840 8422//8422\nf 7841//7841 7844//7844 7848//7848\nf 7850//7850 7031//7031 7858//7858\nf 7850//7850 7853//7853 7031//7031\nf 7040//7040 7855//7855 8318//8318\nf 7860//7860 7858//7858 7863//7863\nf 7865//7865 8319//8319 7866//7866\nf 7049//7049 7864//7864 7867//7867\nf 8320//8320 7053//7053 7871//7871\nf 7871//7871 7876//7876 7874//7874\nf 7410//7410 7875//7875 8324//8324\nf 8709//8709 7878//7878 8325//8325\nf 7060//7060 7410//7410 8324//8324\nf 8228//8228 8323//8323 7881//7881\nf 7880//7880 7600//7600 7885//7885\nf 7413//7413 7067//7067 8423//8423\nf 8232//8232 7889//7889 8425//8425\nf 7895//7895 8232//8232 8425//8425\nf 7075//7075 7419//7419 8233//8233\nf 7900//7900 7688//7688 7897//7897\nf 8329//8329 7082//7082 7075//7075\nf 7898//7898 7899//7899 8510//8510\nf 7914//7914 7913//7913 8331//8331\nf 7915//7915 8332//8332 7908//7908\nf 7914//7914 8331//8331 8334//8334\nf 7609//7609 7914//7914 8334//8334\nf 7608//7608 7544//7544 8333//8333\nf 7100//7100 8239//8239 7919//7919\nf 8240//8240 7609//7609 8334//8334\nf 7918//7918 8527//8527 8337//8337\nf 8243//8243 7919//7919 8524//8524\nf 8428//8428 8241//8241 7924//7924\nf 8338//8338 7924//7924 8245//8245\nf 7928//7928 7923//7923 8336//8336\nf 7932//7932 7930//7930 7926//7926\nf 8339//8339 7933//7933 8429//8429\nf 7926//7926 8532//8532 7932//7932\nf 7938//7938 8247//8247 8341//8341\nf 7947//7947 7938//7938 8341//8341\nf 7940//7940 8540//8540 8541//8541\nf 8539//8539 7947//7947 8341//8341\nf 7950//7950 7955//7955 8342//8342\nf 7954//7954 7126//7126 8250//8250\nf 7960//7960 7958//7958 8344//8344\nf 8343//8343 7617//7617 7134//7134\nf 7980//7980 8257//8257 8347//8347\nf 8347//8347 8257//8257 7980//7980\nf 8348//8348 7967//7967 8430//8430\nf 8430//8430 7967//7967 8346//8346\nf 7977//7977 7976//7976 7983//7983\nf 8353//8353 8457//8457 8352//8352\nf 7997//7997 8264//8264 8353//8353\nf 8353//8353 8264//8264 8431//8431\nf 7991//7991 7164//7164 8357//8357\nf 8358//8358 7995//7995 7697//7697\nf 8357//8357 7164//7164 8432//8432\nf 7995//7995 8004//8004 8358//8358\nf 8264//8264 8003//8003 8459//8459\nf 7992//7992 8356//8356 8265//8265\nf 7742//7742 8001//8001 8359//8359\nf 8266//8266 7171//7171 8011//8011\nf 8576//8576 7747//7747 8363//8363\nf 8025//8025 8015//8015 8021//8021\nf 8576//8576 7743//7743 7747//7747\nf 8363//8363 8024//8024 8364//8364\nf 8022//8022 8365//8365 8027//8027\nf 7559//7559 8022//8022 8027//8027\nf 8364//8364 8028//8028 8433//8433\nf 7751//7751 8367//8367 8035//8035\nf 8031//8031 8269//8269 8434//8434\nf 8369//8369 8040//8040 8036//8036\nf 8049//8049 8040//8040 8369//8369\nf 8270//8270 8372//8372 8370//8370\nf 8270//8270 8375//8375 8372//8372\nf 8270//8270 8271//8271 8375//8375\nf 8068//8068 8057//8057 8056//8056\nf 8435//8435 8069//8069 8054//8054\nf 8377//8377 8375//8375 8271//8271\nf 8063//8063 8436//8436 8052//8052\nf 8053//8053 8437//8437 8064//8064\nf 8465//8465 8081//8081 8069//8069\nf 8080//8080 8069//8069 8081//8081\nf 8274//8274 8081//8081 8465//8465\nf 8383//8383 8438//8438 8466//8466\nf 8440//8440 8275//8275 8386//8386\nf 8611//8611 8277//8277 8084//8084\nf 8094//8094 7499//7499 7759//7759\nf 8101//8101 8442//8442 8089//8089\nf 8443//8443 8105//8105 8394//8394\nf 8101//8101 8105//8105 8443//8443\nf 8113//8113 8112//8112 8623//8623\nf 7265//7265 8120//8120 8114//8114\nf 8285//8285 7273//7273 7507//7507\nf 7265//7265 7274//7274 8120//8120\nf 8120//8120 7274//7274 8398//8398\nf 8399//8399 8398//8398 8120//8120\nf 8128//8128 8286//8286 8288//8288\nf 8444//8444 8286//8286 8128//8128\nf 7768//7768 7658//7658 8137//8137\nf 8402//8402 7659//7659 8403//8403\nf 8167//8167 8166//8166 8168//8168\nf 8291//8291 8170//8170 8476//8476\nf 7575//7575 8181//8181 8178//8178\nf 8181//8181 7576//7576 8183//8183\nf 7346//7346 8295//8295 8191//8191\nf 8192//8192 8195//8195 8411//8411\nf 8196//8196 8410//8410 8665//8665\nf 8199//8199 8198//8198 8412//8412\nf 7775//7775 8199//8199 8447//8447\nf 8447//8447 8199//8199 8412//8412\nf 7358//7358 8200//8200 8299//8299\nf 8477//8477 8195//8195 8298//8298\nf 8477//8477 8300//8300 8414//8414\nf 8477//8477 8298//8298 8300//8300\nf 8413//8413 7365//7365 7363//7363\nf 7365//7365 8413//8413 8415//8415\nf 8301//8301 7366//7366 8415//8415\nf 8302//8302 8208//8208 8209//8209\nf 8478//8478 8302//8302 8209//8209\nf 8416//8416 8209//8209 8211//8211\nf 8212//8212 8448//8448 8215//8215\nf 8217//8217 7385//7385 7777//7777\nf 8863//8863 8309//8309 8479//8479\nf 9091//9091 8680//8680 8681//8681\nf 7781//7781 7388//7388 8307//8307\nf 8310//8310 7776//7776 8683//8683\nf 9092//9092 7786//7786 8684//8684\nf 8479//8479 8309//8309 7794//7794\nf 7782//7782 7389//7389 8308//8308\nf 8495//8495 8316//8316 7832//7832\nf 8496//8496 7839//7839 7841//7841\nf 8452//8452 8222//8222 7835//7835\nf 7857//7857 7848//7848 7851//7851\nf 7858//7858 7853//7853 7850//7850\nf 7864//7864 7040//7040 8318//8318\nf 7858//7858 7860//7860 7863//7863\nf 8706//8706 7873//7873 7877//7877\nf 8231//8231 7060//7060 8324//8324\nf 8230//8230 7881//7881 8323//8323\nf 7067//7067 8231//8231 8423//8423\nf 7413//7413 8423//8423 8424//8424\nf 7893//7893 7413//7413 8424//8424\nf 7894//7894 7073//7073 8234//8234\nf 8426//8426 8720//8720 8454//8454\nf 8329//8329 7075//7075 8426//8426\nf 7897//7897 8453//8453 7900//7900\nf 8453//8453 8328//8328 7900//7900\nf 7903//7903 7906//7906 8236//8236\nf 7912//7912 8520//8520 7910//7910\nf 8528//8528 8525//8525 8242//8242\nf 8528//8528 8242//8242 8335//8335\nf 8338//8338 8245//8245 7929//7929\nf 7925//7925 8339//8339 8530//8530\nf 7945//7945 8340//8340 7937//7937\nf 7937//7937 8340//8340 7945//7945\nf 8537//8537 7943//7943 7949//7949\nf 8455//8455 7942//7942 7952//7952\nf 8251//8251 7947//7947 8542//8542\nf 8543//8543 7952//7952 7956//7956\nf 8543//8543 7956//7956 8253//8253\nf 8344//8344 7958//7958 7953//7953\nf 7959//7959 8252//8252 8251//8251\nf 8546//8546 7729//7729 7954//7954\nf 8550//8550 8255//8255 8257//8257\nf 8255//8255 8256//8256 8257//8257\nf 8748//8748 7965//7965 7968//7968\nf 7972//7972 8552//8552 7970//7970\nf 7985//7985 8556//8556 7980//7980\nf 8458//8458 8353//8353 8561//8561\nf 7983//7983 7976//7976 8555//8555\nf 7985//7985 7980//7980 7984//7984\nf 7731//7731 8350//8350 7979//7979\nf 8354//8354 8351//8351 8259//8259\nf 8355//8355 8560//8560 8757//8757\nf 7983//7983 8555//8555 8762//8762\nf 8354//8354 8000//8000 8263//8263\nf 8354//8354 8263//8263 8355//8355\nf 8264//8264 8459//8459 8565//8565\nf 8003//8003 8360//8360 8459//8459\nf 8460//8460 8359//8359 8261//8261\nf 7738//7738 8461//8461 8004//8004\nf 8461//8461 7738//7738 7739//7739\nf 8574//8574 8572//8572 7746//7746\nf 8575//8575 8025//8025 8577//8577\nf 8014//8014 8462//8462 8019//8019\nf 7749//7749 8023//8023 7750//7750\nf 8587//8587 8268//8268 8031//8031\nf 8027//8027 8589//8589 8366//8366\nf 8367//8367 7751//7751 8586//8586\nf 8590//8590 8269//8269 8370//8370\nf 8044//8044 8056//8056 8048//8048\nf 8374//8374 8052//8052 8463//8463\nf 8052//8052 8436//8436 8463//8463\nf 8377//8377 8464//8464 8375//8375\nf 8376//8376 8050//8050 7645//7645\nf 8386//8386 8077//8077 8072//8072\nf 8376//8376 8073//8073 8381//8381\nf 8377//8377 8378//8378 8439//8439\nf 8383//8383 8065//8065 8438//8438\nf 8378//8378 8272//8272 8385//8385\nf 8439//8439 8378//8378 8385//8385\nf 8467//8467 8383//8383 8466//8466\nf 8382//8382 8086//8086 8606//8606\nf 8468//8468 7759//7759 8277//8277\nf 8094//8094 7759//7759 8468//8468\nf 8089//8089 8442//8442 8615//8615\nf 8615//8615 8610//8610 8089//8089\nf 8815//8815 8088//8088 8279//8279\nf 8623//8623 8395//8395 8280//8280\nf 8283//8283 8281//8281 8394//8394\nf 8282//8282 7272//7272 8281//8281\nf 8118//8118 7765//7765 8472//8472\nf 8473//8473 8127//8127 8126//8126\nf 8127//8127 8473//8473 8444//8444\nf 8142//8142 8445//8445 8152//8152\nf 8155//8155 8638//8638 8156//8156\nf 8161//8161 8157//8157 8639//8639\nf 8160//8160 8158//8158 8474//8474\nf 8160//8160 8474//8474 8446//8446\nf 8475//8475 8407//8407 8406//8406\nf 8170//8170 8168//8168 8476//8476\nf 8173//8173 8176//8176 8172//8172\nf 8193//8193 8191//8191 8662//8662\nf 8192//8192 8411//8411 8409//8409\nf 8411//8411 8195//8195 8477//8477\nf 7775//7775 8447//8447 8297//8297\nf 8206//8206 8302//8302 8414//8414\nf 8215//8215 8448//8448 8416//8416\nf 8216//8216 8215//8215 8416//8416\nf 8860//8860 8217//8217 7777//7777\nf 8417//8417 6960//6960 8449//8449\nf 6960//6960 6961//6961 8449//8449\nf 6969//6969 8304//8304 8449//8449\nf 8679//8679 7788//7788 8305//8305\nf 8865//8865 8305//8305 8450//8450\nf 8450//8450 8219//8219 8681//8681\nf 8217//8217 8683//8683 7776//7776\nf 8481//8481 7798//7798 7778//7778\nf 8482//8482 8307//8307 8308//8308\nf 8479//8479 7794//7794 7806//7806\nf 7800//7800 8483//8483 8868//8868\nf 8686//8686 7806//7806 8420//8420\nf 8451//8451 7799//7799 9148//9148\nf 8451//8451 7582//7582 7799//7799\nf 8312//8312 7817//7817 7811//7811\nf 8486//8486 7817//7817 8312//8312\nf 8420//8420 7815//7815 8485//8485\nf 8315//8315 8490//8490 7825//7825\nf 8491//8491 7830//7830 7829//7829\nf 7824//7824 8492//8492 7832//7832\nf 7836//7836 7839//7839 8494//8494\nf 7836//7836 8494//8494 7839//7839\nf 7848//7848 8498//8498 7841//7841\nf 8422//8422 7840//7840 8497//8497\nf 7842//7842 8499//8499 7845//7845\nf 8501//8501 7848//7848 7857//7857\nf 7846//7846 7850//7850 8697//8697\nf 8318//8318 7855//7855 8699//8699\nf 8502//8502 7856//7856 7854//7854\nf 7860//7860 8503//8503 7858//7858\nf 8502//8502 8700//8700 8319//8319\nf 7862//7862 7856//7856 8502//8502\nf 8502//8502 8319//8319 7862//7862\nf 7860//7860 7863//7863 8909//8909\nf 8504//8504 7866//7866 8319//8319\nf 8504//8504 8322//8322 7866//7866\nf 7877//7877 8505//8505 8707//8707\nf 7877//7877 8229//8229 8505//8505\nf 8229//8229 7879//7879 8505//8505\nf 7879//7879 7882//7882 7884//7884\nf 8423//8423 8231//8231 8712//8712\nf 7889//7889 8506//8506 8714//8714\nf 7889//7889 8714//8714 8506//8506\nf 8424//8424 8715//8715 7893//7893\nf 8716//8716 7892//7892 8927//8927\nf 7896//7896 7892//7892 8326//8326\nf 7895//7895 8717//8717 8453//8453\nf 7898//7898 8508//8508 7896//7896\nf 8426//8426 7075//7075 8233//8233\nf 8329//8329 8426//8426 8454//8454\nf 7902//7902 7901//7901 8513//8513\nf 8513//8513 7901//7901 8512//8512\nf 7906//7906 7903//7903 8514//8514\nf 8328//8328 8511//8511 7913//7913\nf 7905//7905 8330//8330 8512//8512\nf 7901//7901 7905//7905 8512//8512\nf 8726//8726 7909//7909 7906//7906\nf 8725//8725 8330//8330 7908//7908\nf 8237//8237 7605//7605 8427//8427\nf 8518//8518 8239//8239 8515//8515\nf 8239//8239 7911//7911 8515//8515\nf 7909//7909 8519//8519 7916//7916\nf 8729//8729 8239//8239 8938//8938\nf 8522//8522 7916//7916 8521//8521\nf 8242//8242 8525//8525 8333//8333\nf 8332//8332 7915//7915 8241//8241\nf 8522//8522 8523//8523 7916//7916\nf 7918//7918 7916//7916 8523//8523\nf 8944//8944 8243//8243 8524//8524\nf 7928//7928 8336//8336 8529//8529\nf 7921//7921 8337//8337 8732//8732\nf 7927//7927 8733//8733 8246//8246\nf 7928//7928 8529//8529 7935//7935\nf 8734//8734 7929//7929 7936//7936\nf 7937//7937 8246//8246 8733//8733\nf 8533//8533 8735//8735 7936//7936\nf 8737//8737 7933//7933 8534//8534\nf 8533//8533 7936//7936 7942//7942\nf 7940//7940 7932//7932 8532//8532\nf 7933//7933 7946//7946 8534//8534\nf 8535//8535 8533//8533 7942//7942\nf 8536//8536 7932//7932 7940//7940\nf 7940//7940 7932//7932 8536//8536\nf 8741//8741 7942//7942 8455//8455\nf 8741//8741 8455//8455 7942//7942\nf 8742//8742 7939//7939 8537//8537\nf 7939//7939 7943//7943 8537//8537\nf 7950//7950 8538//8538 7946//7946\nf 8541//8541 8249//8249 7940//7940\nf 7950//7950 8342//8342 8538//8538\nf 7963//7963 8255//8255 8253//8253\nf 8255//8255 8544//8544 8253//8253\nf 8343//8343 8545//8545 7955//7955\nf 8251//8251 8456//8456 7959//7959\nf 8549//8549 8343//8343 8254//8254\nf 8550//8550 8257//8257 8551//8551\nf 8257//8257 8347//8347 8551//8551\nf 8346//8346 8344//8344 8751//8751\nf 8754//8754 7970//7970 8552//8552\nf 8755//8755 8553//8553 7976//7976\nf 7966//7966 8345//8345 7976//7976\nf 7972//7972 8351//8351 8552//8552\nf 8457//8457 8353//8353 8458//8458\nf 7980//7980 8556//8556 7985//7985\nf 8260//8260 8430//8430 8557//8557\nf 8348//8348 8430//8430 8260//8260\nf 8351//8351 8559//8559 8558//8558\nf 8351//8351 8354//8354 8559//8559\nf 8353//8353 8431//8431 8561//8561\nf 8562//8562 7985//7985 7990//7990\nf 8352//8352 8457//8457 8355//8355\nf 8558//8558 8000//8000 8355//8355\nf 8355//8355 8000//8000 8354//8354\nf 8260//8260 8563//8563 8261//8261\nf 8261//8261 8563//8563 8564//8564\nf 8356//8356 7983//7983 8763//8763\nf 8459//8459 8431//8431 8264//8264\nf 8264//8264 8565//8565 8459//8459\nf 8567//8567 8357//8357 8432//8432\nf 8358//8358 8004//8004 8566//8566\nf 8432//8432 7734//7734 8567//8567\nf 8460//8460 7742//7742 8359//8359\nf 8010//8010 8265//8265 8569//8569\nf 8570//8570 7745//7745 7742//7742\nf 8572//8572 8011//8011 7746//7746\nf 8014//8014 8009//8009 8571//8571\nf 7746//7746 8017//8017 8574//8574\nf 8575//8575 8015//8015 8025//8025\nf 8020//8020 8023//8023 7745//7745\nf 8017//8017 8018//8018 8578//8578\nf 8773//8773 8576//8576 8363//8363\nf 8580//8580 8577//8577 8025//8025\nf 8582//8582 8025//8025 8026//8026\nf 8026//8026 8268//8268 8582//8582\nf 7750//7750 8023//8023 8581//8581\nf 8022//8022 8583//8583 8365//8365\nf 8363//8363 8364//8364 8584//8584\nf 8364//8364 8433//8433 8584//8584\nf 8586//8586 7751//7751 7750//7750\nf 8367//8367 8586//8586 8588//8588\nf 8587//8587 8031//8031 8434//8434\nf 8034//8034 8433//8433 8030//8030\nf 8366//8366 8033//8033 8032//8032\nf 8269//8269 8590//8590 8778//8778\nf 8033//8033 8591//8591 8368//8368\nf 8370//8370 8781//8781 8778//8778\nf 8370//8370 8372//8372 8781//8781\nf 8044//8044 8038//8038 8784//8784\nf 8369//8369 8373//8373 8049//8049\nf 8369//8369 8593//8593 8373//8373\nf 8593//8593 8595//8595 8373//8373\nf 8596//8596 8374//8374 8783//8783\nf 8594//8594 8371//8371 8045//8045\nf 8597//8597 8435//8435 8373//8373\nf 8372//8372 8599//8599 8598//8598\nf 8599//8599 8372//8372 8375//8375\nf 8791//8791 8375//8375 8601//8601\nf 8435//8435 8465//8465 8069//8069\nf 8379//8379 8790//8790 8063//8063\nf 8790//8790 8436//8436 8063//8063\nf 8386//8386 8072//8072 8797//8797\nf 8274//8274 8465//8465 8798//8798\nf 8064//8064 8438//8438 8065//8065\nf 8066//8066 8380//8380 8067//8067\nf 8382//8382 8606//8606 8379//8379\nf 8605//8605 8377//8377 8439//8439\nf 8392//8392 8606//8606 8086//8086\nf 8466//8466 8438//8438 8607//8607\nf 8808//8808 8607//8607 8438//8438\nf 8467//8467 8384//8384 8383//8383\nf 8384//8384 8467//8467 8385//8385\nf 8467//8467 8608//8608 8385//8385\nf 8388//8388 8387//8387 8609//8609\nf 8807//8807 8392//8392 8610//8610\nf 8805//8805 8389//8389 8088//8088\nf 8392//8392 8089//8089 8610//8610\nf 8612//8612 8390//8390 8440//8440\nf 8275//8275 8440//8440 8390//8390\nf 8090//8090 7760//7760 8469//8469\nf 8468//8468 8613//8613 8094//8094\nf 8091//8091 8617//8617 7761//7761\nf 8278//8278 8614//8614 8393//8393\nf 8096//8096 8087//8087 8470//8470\nf 8087//8087 8390//8390 8470//8470\nf 8102//8102 8096//8096 8470//8470\nf 8102//8102 8470//8470 8620//8620\nf 8279//8279 8107//8107 9135//9135\nf 8619//8619 8443//8443 8394//8394\nf 8620//8620 8622//8622 8102//8102\nf 8624//8624 8619//8619 8394//8394\nf 8625//8625 8624//8624 8394//8394\nf 8396//8396 8821//8821 8625//8625\nf 8281//8281 8625//8625 8394//8394\nf 8109//8109 8106//8106 8471//8471\nf 8281//8281 8396//8396 8625//8625\nf 8628//8628 8396//8396 8397//8397\nf 8109//8109 8471//8471 8110//8110\nf 8629//8629 8115//8115 8823//8823\nf 8284//8284 8115//8115 8629//8629\nf 8120//8120 8824//8824 8114//8114\nf 7764//7764 8284//8284 8629//8629\nf 8473//8473 8126//8126 8630//8630\nf 7766//7766 8635//8635 8130//8130\nf 8636//8636 8142//8142 8634//8634\nf 8142//8142 8636//8636 8634//8634\nf 8142//8142 8634//8634 8445//8445\nf 8141//8141 8634//8634 8142//8142\nf 8141//8141 8156//8156 8831//8831\nf 8828//8828 8141//8141 8831//8831\nf 7768//7768 8137//8137 8640//8640\nf 8130//8130 8641//8641 7770//7770\nf 8635//8635 8641//8641 8130//8130\nf 8639//8639 8157//8157 8401//8401\nf 8137//8137 8402//8402 8403//8403\nf 8403//8403 8158//8158 8474//8474\nf 8164//8164 8404//8404 8837//8837\nf 8474//8474 8158//8158 8160//8160\nf 8446//8446 8474//8474 8160//8160\nf 8643//8643 8644//8644 7770//7770\nf 8646//8646 8446//8446 8160//8160\nf 8646//8646 8160//8160 8162//8162\nf 8474//8474 8158//8158 8160//8160\nf 8474//8474 8160//8160 8446//8446\nf 8162//8162 8647//8647 8646//8646\nf 8646//8646 8162//8162 7770//7770\nf 8838//8838 8406//8406 8164//8164\nf 8475//8475 8406//8406 8648//8648\nf 8166//8166 8407//8407 8650//8650\nf 8407//8407 8649//8649 8650//8650\nf 8407//8407 8475//8475 8649//8649\nf 8651//8651 8166//8166 8843//8843\nf 8291//8291 8476//8476 8651//8651\nf 8291//8291 8652//8652 8653//8653\nf 8291//8291 8653//8653 8654//8654\nf 8291//8291 8654//8654 8171//8171\nf 8655//8655 8173//8173 8654//8654\nf 8173//8173 8655//8655 8176//8176\nf 9075//9075 8656//8656 8655//8655\nf 8173//8173 8171//8171 8654//8654\nf 8844//8844 8174//8174 8175//8175\nf 8655//8655 8176//8176 8656//8656\nf 8656//8656 8176//8176 8655//8655\nf 8657//8657 8655//8655 8656//8656\nf 8655//8655 8179//8179 8176//8176\nf 8655//8655 8657//8657 8179//8179\nf 8179//8179 8657//8657 8658//8658\nf 8657//8657 8659//8659 8179//8179\nf 8182//8182 8179//8179 8659//8659\nf 8846//8846 8178//8178 8183//8183\nf 9082//9082 8188//8188 8186//8186\nf 8188//8188 9082//9082 8661//8661\nf 8660//8660 8189//8189 8408//8408\nf 8188//8188 8661//8661 8295//8295\nf 8660//8660 8408//8408 8409//8409\nf 8848//8848 8191//8191 8295//8295\nf 8664//8664 8847//8847 8409//8409\nf 8296//8296 8663//8663 8194//8194\nf 8194//8194 8663//8663 8410//8410\nf 8409//8409 8411//8411 8664//8664\nf 8850//8850 8665//8665 8410//8410\nf 8665//8665 8197//8197 8196//8196\nf 8412//8412 8197//8197 8666//8666\nf 8855//8855 8851//8851 8669//8669\nf 8301//8301 8415//8415 8668//8668\nf 8302//8302 8669//8669 8414//8414\nf 8856//8856 8302//8302 8478//8478\nf 8210//8210 8301//8301 8857//8857\nf 8856//8856 8478//8478 8209//8209\nf 8210//8210 8207//8207 8301//8301\nf 8671//8671 8209//8209 8672//8672\nf 8416//8416 8672//8672 8209//8209\nf 8448//8448 8212//8212 8210//8210\nf 8671//8671 8672//8672 8416//8416\nf 8481//8481 7778//7778 8673//8673\nf 8303//8303 8417//8417 8674//8674\nf 8674//8674 8417//8417 8675//8675\nf 8675//8675 8449//8449 8676//8676\nf 8676//8676 8449//8449 8304//8304\nf 8677//8677 8304//8304 7779//7779\nf 8681//8681 8306//8306 8480//8480\nf 8480//8480 8306//8306 8418//8418\nf 8418//8418 7781//7781 8682//8682\nf 8866//8866 8479//8479 8686//8686\nf 8686//8686 8479//8479 7806//7806\nf 8220//8220 7792//7792 8687//8687\nf 8687//8687 7792//7792 7788//7788\nf 8307//8307 8682//8682 7781//7781\nf 8859//8859 8683//8683 8217//8217\nf 9148//9148 7799//7799 9146//9146\nf 8688//8688 7797//7797 7801//7801\nf 9147//9147 8875//8875 7804//7804\nf 7804//7804 8451//8451 9148//9148\nf 8868//8868 8870//8870 8312//8312\nf 7789//7789 7790//7790 8871//8871\nf 8872//8872 8871//8871 7790//7790\nf 8879//8879 7812//7812 8419//8419\nf 8883//8883 7813//7813 8880//8880\nf 8880//8880 7809//7809 7803//7803\nf 8880//8880 7803//7803 8875//8875\nf 8878//8878 7814//7814 8881//8881\nf 8485//8485 7815//7815 8314//8314\nf 7810//7810 8487//8487 7805//7805\nf 8487//8487 8484//8484 7805//7805\nf 7826//7826 8488//8488 8886//8886\nf 7826//7826 8221//8221 8488//8488\nf 7810//7810 8421//8421 8487//8487\nf 8892//8892 8887//8887 9094//9094\nf 7824//7824 8892//8892 8493//8493\nf 7827//7827 8891//8891 7830//7830\nf 7836//7836 8490//8490 8315//8315\nf 8421//8421 7820//7820 7828//7828\nf 8421//8421 7828//7828 8893//8893\nf 8492//8492 8493//8493 7832//7832\nf 8495//8495 7832//7832 8493//8493\nf 8899//8899 8452//8452 8897//8897\nf 8497//8497 8695//8695 7828//7828\nf 7828//7828 8422//8422 8497//8497\nf 7836//7836 7839//7839 8496//8496\nf 7842//7842 8316//8316 8495//8495\nf 8900//8900 8317//8317 8222//8222\nf 8900//8900 8902//8902 8317//8317\nf 8497//8497 7840//7840 8224//8224\nf 8497//8497 8224//8224 8696//8696\nf 8904//8904 7854//7854 8698//8698\nf 8503//8503 8697//8697 7850//7850\nf 7853//7853 7858//7858 8503//8503\nf 8906//8906 7859//7859 8907//8907\nf 8701//8701 8226//8226 8911//8911\nf 9097//9097 8319//8319 8702//8702\nf 7864//7864 8913//8913 8915//8915\nf 8226//8226 7869//7869 8703//8703\nf 8226//8226 7868//7868 7869//7869\nf 8703//8703 7869//7869 8321//8321\nf 7871//7871 7874//7874 8704//8704\nf 8706//8706 8705//8705 7873//7873\nf 8708//8708 7878//7878 8709//8709\nf 8709//8709 8325//8325 7880//7880\nf 8230//8230 8323//8323 8711//8711\nf 8713//8713 7880//7880 7885//7885\nf 8231//8231 8324//8324 8712//8712\nf 8711//8711 7883//7883 8230//8230\nf 8922//8922 8713//8713 7885//7885\nf 7889//7889 7883//7883 8506//8506\nf 8925//8925 7886//7886 7888//7888\nf 7889//7889 8506//8506 8714//8714\nf 7888//7888 7891//7891 8327//8327\nf 7897//7897 7895//7895 8453//8453\nf 8453//8453 8717//8717 9101//9101\nf 8426//8426 8233//8233 8720//8720\nf 8509//8509 7894//7894 8234//8234\nf 8453//8453 8932//8932 8328//8328\nf 8235//8235 8721//8721 8234//8234\nf 8235//8235 7904//7904 8721//8721\nf 8723//8723 8510//8510 8237//8237\nf 8513//8513 8722//8722 7902//7902\nf 8510//8510 7899//7899 8237//8237\nf 7904//7904 7910//7910 8721//8721\nf 8513//8513 8512//8512 8935//8935\nf 8727//8727 8721//8721 7910//7910\nf 8936//8936 7910//7910 8727//8727\nf 8936//8936 7910//7910 8520//8520\nf 7909//7909 8516//8516 8517//8517\nf 8728//8728 7908//7908 8332//8332\nf 8519//8519 7909//7909 8517//8517\nf 8239//8239 8518//8518 8938//8938\nf 7920//7920 7912//7912 7917//7917\nf 8523//8523 8522//8522 8521//8521\nf 8334//8334 8331//8331 8730//8730\nf 8332//8332 8241//8241 8428//8428\nf 7919//7919 8239//8239 8729//8729\nf 7920//7920 7922//7922 8526//8526\nf 8527//8527 7918//7918 8523//8523\nf 8731//8731 7922//7922 7925//7925\nf 8948//8948 8529//8529 8336//8336\nf 7926//7926 7921//7921 8732//8732\nf 7927//7927 8243//8243 8733//8733\nf 8429//8429 8530//8530 8339//8339\nf 8532//8532 7926//7926 8531//8531\nf 9108//9108 8533//8533 8535//8535\nf 8739//8739 7934//7934 7939//7939\nf 8341//8341 8736//8736 8738//8738\nf 7937//7937 8733//8733 8340//8340\nf 7942//7942 8455//8455 8535//8535\nf 8455//8455 8741//8741 8535//8535\nf 8741//8741 8455//8455 7952//7952\nf 8542//8542 7947//7947 8539//8539\nf 8250//8250 7945//7945 8955//8955\nf 8540//8540 8249//8249 8541//8541\nf 8251//8251 8542//8542 8959//8959\nf 8743//8743 8543//8543 8253//8253\nf 8744//8744 8249//8249 8540//8540\nf 9110//9110 8253//8253 8544//8544\nf 8249//8249 8744//8744 8745//8745\nf 8344//8344 7953//7953 8745//8745\nf 8964//8964 8545//8545 8549//8549\nf 8255//8255 8547//8547 8544//8544\nf 8962//8962 8544//8544 8547//8547\nf 8744//8744 8746//8746 8745//8745\nf 8545//8545 8343//8343 8549//8549\nf 8344//8344 8745//8745 8746//8746\nf 8550//8550 8547//8547 8255//8255\nf 7965//7965 8548//8548 7961//7961\nf 7959//7959 8456//8456 8747//8747\nf 8748//8748 8548//8548 7965//7965\nf 8750//8750 8551//8551 8347//8347\nf 8752//8752 7969//7969 7729//7729\nf 7970//7970 8549//8549 8254//8254\nf 8344//8344 8746//8746 8751//8751\nf 8753//8753 7969//7969 8752//8752\nf 8258//8258 7969//7969 8753//8753\nf 8430//8430 8346//8346 8751//8751\nf 8552//8552 8351//8351 8754//8754\nf 8345//8345 8755//8755 7976//7976\nf 8553//8553 8755//8755 7976//7976\nf 8756//8756 8457//8457 8458//8458\nf 8970//8970 8457//8457 8756//8756\nf 8557//8557 8430//8430 8554//8554\nf 8758//8758 8458//8458 8431//8431\nf 8457//8457 8757//8757 8560//8560\nf 8555//8555 7976//7976 8759//8759\nf 8457//8457 8560//8560 8355//8355\nf 8760//8760 7731//7731 7979//7979\nf 7989//7989 7981//7981 7730//7730\nf 8559//8559 8354//8354 8558//8558\nf 8558//8558 8354//8354 8000//8000\nf 8757//8757 8558//8558 8355//8355\nf 8557//8557 8563//8563 8260//8260\nf 8565//8565 8431//8431 8459//8459\nf 8564//8564 8460//8460 8261//8261\nf 8565//8565 8459//8459 8765//8765\nf 8568//8568 8356//8356 8764//8764\nf 8764//8764 8265//8265 8568//8568\nf 8265//8265 8356//8356 8568//8568\nf 8569//8569 8265//8265 8986//8986\nf 8266//8266 8011//8011 8769//8769\nf 8461//8461 8768//8768 8767//8767\nf 8461//8461 8767//8767 8004//8004\nf 7734//7734 8266//8266 8769//8769\nf 7739//7739 8768//8768 8461//8461\nf 8986//8986 8010//8010 8569//8569\nf 8770//8770 8013//8013 8015//8015\nf 8576//8576 7739//7739 7743//7743\nf 8573//8573 7745//7745 8570//8570\nf 8774//8774 8023//8023 8772//8772\nf 7745//7745 8772//8772 8020//8020\nf 8020//8020 8772//8772 8023//8023\nf 8578//8578 8579//8579 8996//8996\nf 8023//8023 8774//8774 8581//8581\nf 8581//8581 8774//8774 8992//8992\nf 8578//8578 8018//8018 8579//8579\nf 8579//8579 8019//8019 8462//8462\nf 8579//8579 8018//8018 8019//8019\nf 8773//8773 8363//8363 8584//8584\nf 8585//8585 7750//7750 8581//8581\nf 8582//8582 8268//8268 8775//8775\nf 8582//8582 8775//8775 8999//8999\nf 8588//8588 8586//8586 8585//8585\nf 8268//8268 8587//8587 8775//8775\nf 8587//8587 8434//8434 8999//8999\nf 8433//8433 8776//8776 8584//8584\nf 8586//8586 8588//8588 8367//8367\nf 8588//8588 8586//8586 8367//8367\nf 8779//8779 8367//8367 8777//8777\nf 8778//8778 8434//8434 8590//8590\nf 8779//8779 8036//8036 8367//8367\nf 8590//8590 8434//8434 8269//8269\nf 8590//8590 8269//8269 8778//8778\nf 8779//8779 8369//8369 8036//8036\nf 8269//8269 8043//8043 8370//8370\nf 8780//8780 8369//8369 8779//8779\nf 8590//8590 8370//8370 8778//8778\nf 8592//8592 8034//8034 8039//8039\nf 8780//8780 8593//8593 8369//8369\nf 8371//8371 8594//8594 8039//8039\nf 8595//8595 8593//8593 8373//8373\nf 8374//8374 8463//8463 8782//8782\nf 8374//8374 8782//8782 8783//8783\nf 9008//9008 8781//8781 8786//8786\nf 8372//8372 8598//8598 8786//8786\nf 8786//8786 8781//8781 8372//8372\nf 8045//8045 9013//9013 8594//8594\nf 8598//8598 8599//8599 8786//8786\nf 8044//8044 8789//8789 8056//8056\nf 8788//8788 8436//8436 8790//8790\nf 9015//9015 8599//8599 8791//8791\nf 8599//8599 8375//8375 8791//8791\nf 8790//8790 8379//8379 8603//8603\nf 8053//8053 8602//8602 8437//8437\nf 8435//8435 8792//8792 8465//8465\nf 8375//8375 8464//8464 8601//8601\nf 8464//8464 8793//8793 8601//8601\nf 8794//8794 8072//8072 8067//8067\nf 8603//8603 8379//8379 8604//8604\nf 8464//8464 8377//8377 8796//8796\nf 8067//8067 8380//8380 8799//8799\nf 9018//9018 8606//8606 8800//8800\nf 9018//9018 8604//8604 8606//8606\nf 8606//8606 8604//8604 8379//8379\nf 8064//8064 8801//8801 8438//8438\nf 8803//8803 8377//8377 8605//8605\nf 8802//8802 8796//8796 8803//8803\nf 9023//9023 8381//8381 8079//8079\nf 8803//8803 8605//8605 8439//8439\nf 8805//8805 8079//8079 8389//8389\nf 8806//8806 8085//8085 8274//8274\nf 8800//8800 8606//8606 8392//8392\nf 8807//8807 8800//8800 8392//8392\nf 8385//8385 8608//8608 8809//8809\nf 8439//8439 8385//8385 8809//8809\nf 8388//8388 8380//8380 8075//8075\nf 8084//8084 7756//7756 8611//8611\nf 8806//8806 9028//9028 8085//8085\nf 9028//9028 8391//8391 8085//8085\nf 8466//8466 8607//8607 8808//8808\nf 8466//8466 8808//8808 8811//8811\nf 8814//8814 8612//8612 8440//8440\nf 9031//9031 8609//8609 8387//8387\nf 9028//9028 8278//8278 8391//8391\nf 8813//8813 8610//8610 8615//8615\nf 8612//8612 8814//8814 9033//9033\nf 8612//8612 8616//8616 8390//8390\nf 8091//8091 8094//8094 8613//8613\nf 9036//9036 8442//8442 8443//8443\nf 8443//8443 8442//8442 8101//8101\nf 8470//8470 8390//8390 8816//8816\nf 8393//8393 8614//8614 9134//9134\nf 8390//8390 8616//8616 8816//8816\nf 8100//8100 8393//8393 8618//8618\nf 8470//8470 8096//8096 8816//8816\nf 8096//8096 8470//8470 8816//8816\nf 8280//8280 8100//8100 8618//8618\nf 8818//8818 8443//8443 8619//8619\nf 8619//8619 8820//8820 9038//9038\nf 8620//8620 8470//8470 8622//8622\nf 8624//8624 8820//8820 8619//8619\nf 8623//8623 8112//8112 8395//8395\nf 8106//8106 8102//8102 8622//8622\nf 8106//8106 8622//8622 8471//8471\nf 8623//8623 8822//8822 8626//8626\nf 8113//8113 8623//8623 8626//8626\nf 8110//8110 8627//8627 8115//8115\nf 8286//8286 8444//8444 8397//8397\nf 8120//8120 8398//8398 9044//9044\nf 8287//8287 9045//9045 9049//9049\nf 9050//9050 8473//8473 8630//8630\nf 8118//8118 8472//8472 7766//7766\nf 9050//9050 8630//8630 8126//8126\nf 8826//8826 8398//8398 8399//8399\nf 8124//8124 8123//8123 8631//8631\nf 8124//8124 8633//8633 8400//8400\nf 7766//7766 8632//8632 8635//8635\nf 8829//8829 8136//8136 8133//8133\nf 9053//9053 8134//8134 9059//9059\nf 8145//8145 8140//8140 8827//8827\nf 8637//8637 8401//8401 8139//8139\nf 8146//8146 8145//8145 8832//8832\nf 8637//8637 8834//8834 8401//8401\nf 8639//8639 8401//8401 8834//8834\nf 9062//9062 7768//7768 8640//8640\nf 8640//8640 8137//8137 8642//8642\nf 8836//8836 8642//8642 8137//8137\nf 8641//8641 9063//9063 7770//7770\nf 8645//8645 8164//8164 8837//8837\nf 8838//8838 8164//8164 8645//8645\nf 8162//8162 8646//8646 8647//8647\nf 8839//8839 8647//8647 8646//8646\nf 7770//7770 8644//8644 8646//8646\nf 8644//8644 8839//8839 8646//8646\nf 9059//9059 8143//8143 8405//8405\nf 9059//9059 8405//8405 9067//9067\nf 9069//9069 9067//9067 8165//8165\nf 9067//9067 8405//8405 8165//8165\nf 8841//8841 8475//8475 8840//8840\nf 8841//8841 8649//8649 8475//8475\nf 8842//8842 8166//8166 8650//8650\nf 8166//8166 8842//8842 8843//8843\nf 8476//8476 8168//8168 8651//8651\nf 8652//8652 8291//8291 8651//8651\nf 8844//8844 8293//8293 8174//8174\nf 8652//8652 9074//9074 8653//8653\nf 9075//9075 8655//8655 8654//8654\nf 8179//8179 8658//8658 8657//8657\nf 9079//9079 8184//8184 8182//8182\nf 9083//9083 8189//8189 8660//8660\nf 8662//8662 8296//8296 8193//8193\nf 8664//8664 8849//8849 8847//8847\nf 8411//8411 8849//8849 8664//8664\nf 8411//8411 8851//8851 8849//8849\nf 8197//8197 8665//8665 9086//9086\nf 8851//8851 8411//8411 8477//8477\nf 8447//8447 8852//8852 8297//8297\nf 8200//8200 8853//8853 8299//8299\nf 8413//8413 8203//8203 8854//8854\nf 8477//8477 8414//8414 8669//8669\nf 8851//8851 8477//8477 8669//8669\nf 8669//8669 8302//8302 8855//8855\nf 8670//8670 8301//8301 8668//8668\nf 8855//8855 8302//8302 8856//8856\nf 8856//8856 8209//8209 8671//8671\nf 9090//9090 8210//8210 8858//8858\nf 9090//9090 8448//8448 8210//8210\nf 8416//8416 8448//8448 8671//8671\nf 8673//8673 8303//8303 8674//8674\nf 8675//8675 8417//8417 8449//8449\nf 8676//8676 8304//8304 8862//8862\nf 8862//8862 8304//8304 8677//8677\nf 8678//8678 7779//7779 7780//7780\nf 8678//8678 7780//7780 8309//8309\nf 8679//8679 8305//8305 8865//8865\nf 8680//8680 8450//8450 8681//8681\nf 9091//9091 8681//8681 8480//8480\nf 8480//8480 8418//8418 8682//8682\nf 9092//9092 7777//7777 7786//7786\nf 7798//7798 8685//8685 8861//8861\nf 7798//7798 8481//8481 8861//8861\nf 8869//8869 8482//8482 8308//8308\nf 8867//8867 7798//7798 8861//8861\nf 7796//7796 7805//7805 8484//8484\nf 8869//8869 8308//8308 7783//7783\nf 7785//7785 8310//8310 8690//8690\nf 8688//8688 7801//7801 8691//8691\nf 8485//8485 8686//8686 8420//8420\nf 8875//8875 7803//7803 7804//7804\nf 8312//8312 7800//7800 8868//8868\nf 8879//8879 8419//8419 7802//7802\nf 8879//8879 7802//7802 8867//8867\nf 8876//8876 8484//8484 7805//7805\nf 8312//8312 8870//8870 8486//8486\nf 8877//8877 8486//8486 8870//8870\nf 7805//7805 8484//8484 8876//8876\nf 8877//8877 7817//7817 8486//8486\nf 8879//8879 8882//8882 7812//7812\nf 8874//8874 8485//8485 8314//8314\nf 7813//7813 7809//7809 8880//8880\nf 8884//8884 8484//8484 8487//8487\nf 8884//8884 8876//8876 8484//8484\nf 8887//8887 8313//8313 8882//8882\nf 8882//8882 8313//8313 7812//7812\nf 8883//8883 7818//7818 7813//7813\nf 8885//8885 7818//7818 8883//8883\nf 8488//8488 8221//8221 8693//8693\nf 8488//8488 8693//8693 8886//8886\nf 8885//8885 8314//8314 7818//7818\nf 8692//8692 8314//8314 8885//8885\nf 7827//7827 7826//7826 8888//8888\nf 7825//7825 8881//8881 7814//7814\nf 7825//7825 8889//8889 8881//8881\nf 7824//7824 8313//8313 8887//8887\nf 8489//8489 8891//8891 7827//7827\nf 8490//8490 8494//8494 9149//9149\nf 8694//8694 8421//8421 8893//8893\nf 8491//8491 7827//7827 7830//7830\nf 8492//8492 7824//7824 8493//8493\nf 7833//7833 7830//7830 8895//8895\nf 8893//8893 7828//7828 8695//8695\nf 8494//8494 7836//7836 8896//8896\nf 8496//8496 8896//8896 7836//7836\nf 8452//8452 7835//7835 8897//8897\nf 7842//7842 8495//8495 8898//8898\nf 8900//8900 8222//8222 8899//8899\nf 8222//8222 8452//8452 8899//8899\nf 8499//8499 7842//7842 8898//8898\nf 8498//8498 7848//7848 8901//8901\nf 8696//8696 8224//8224 8500//8500\nf 7854//7854 8317//8317 8902//8902\nf 8499//8499 8903//8903 7845//7845\nf 8500//8500 8224//8224 8697//8697\nf 8902//8902 8698//8698 7854//7854\nf 8224//8224 7846//7846 8697//8697\nf 7854//7854 8698//8698 8904//8904\nf 9096//9096 8501//8501 8905//8905\nf 7845//7845 8903//8903 7855//7855\nf 8698//8698 7854//7854 8904//8904\nf 8502//8502 7854//7854 8904//8904\nf 8502//8502 8904//8904 8700//8700\nf 8905//8905 7859//7859 8906//8906\nf 8907//8907 7859//7859 7861//7861\nf 7864//7864 8908//8908 8913//8913\nf 7861//7861 8225//8225 8907//8907\nf 7864//7864 8318//8318 8908//8908\nf 8702//8702 8319//8319 9097//9097\nf 8320//8320 8912//8912 8225//8225\nf 8911//8911 8226//8226 8703//8703\nf 8703//8703 8321//8321 7873//7873\nf 8703//8703 7873//7873 8916//8916\nf 7874//7874 7876//7876 8918//8918\nf 8322//8322 8917//8917 8919//8919\nf 8323//8323 8322//8322 8919//8919\nf 8706//8706 7877//7877 8707//8707\nf 8707//8707 8505//8505 8706//8706\nf 8708//8708 7876//7876 7878//7878\nf 8324//8324 7875//7875 8710//8710\nf 8711//8711 8323//8323 8919//8919\nf 8920//8920 8505//8505 7884//7884\nf 7879//7879 7884//7884 8505//8505\nf 8920//8920 7884//7884 8923//8923\nf 8711//8711 9100//9100 7883//7883\nf 8424//8424 8423//8423 8715//8715\nf 8922//8922 7885//7885 8924//8924\nf 8925//8925 8923//8923 7886//7886\nf 8425//8425 7889//7889 8714//8714\nf 8924//8924 7892//7892 8716//8716\nf 8507//8507 8925//8925 8327//8327\nf 7895//7895 8926//8926 8928//8928\nf 8927//8927 7896//7896 8508//8508\nf 7892//7892 7896//7896 8927//8927\nf 8507//8507 8327//8327 7894//7894\nf 7895//7895 8425//8425 8926//8926\nf 8929//8929 8507//8507 7894//7894\nf 7895//7895 8717//8717 8928//8928\nf 8717//8717 7895//7895 8928//8928\nf 8719//8719 8508//8508 7898//7898\nf 8233//8233 8718//8718 8720//8720\nf 8718//8718 8931//8931 8720//8720\nf 8509//8509 8721//8721 9154//9154\nf 8510//8510 8719//8719 7898//7898\nf 7911//7911 8329//8329 8454//8454\nf 8724//8724 8511//8511 8328//8328\nf 8933//8933 8722//8722 8513//8513\nf 7903//7903 8934//8934 8514//8514\nf 8454//8454 8515//8515 7911//7911\nf 8514//8514 8934//8934 7906//7906\nf 8330//8330 8725//8725 8935//8935\nf 8934//8934 8726//8726 7906//7906\nf 8936//8936 8727//8727 7910//7910\nf 7913//7913 8511//8511 8724//8724\nf 8726//8726 8516//8516 7909//7909\nf 8936//8936 8727//8727 7910//7910\nf 8726//8726 8519//8519 8516//8516\nf 7913//7913 8724//8724 8331//8331\nf 8728//8728 8725//8725 7908//7908\nf 8519//8519 8517//8517 8516//8516\nf 8940//8940 8427//8427 8333//8333\nf 8939//8939 8331//8331 8724//8724\nf 8520//8520 7912//7912 8941//8941\nf 7916//7916 8519//8519 8521//8521\nf 8728//8728 8332//8332 8942//8942\nf 8331//8331 8939//8939 8730//8730\nf 8332//8332 8428//8428 8942//8942\nf 8334//8334 8730//8730 8943//8943\nf 8524//8524 9104//9104 8944//8944\nf 8731//8731 8526//8526 7922//7922\nf 8336//8336 8334//8334 8943//8943\nf 8948//8948 8336//8336 8945//8945\nf 8530//8530 8731//8731 7925//7925\nf 8337//8337 8527//8527 8732//8732\nf 8949//8949 8335//8335 7931//7931\nf 8949//8949 8528//8528 8335//8335\nf 8243//8243 8946//8946 8733//8733\nf 8338//8338 7929//7929 9106//9106\nf 7929//7929 8734//8734 9106//9106\nf 8531//8531 7926//7926 8732//8732\nf 8950//8950 8530//8530 8429//8429\nf 7935//7935 8529//8529 8948//8948\nf 9106//9106 8734//8734 8735//8735\nf 8734//8734 7936//7936 8735//8735\nf 8740//8740 8531//8531 8732//8732\nf 8739//8739 7931//7931 7934//7934\nf 8739//8739 8949//8949 7931//7931\nf 7933//7933 8950//8950 8429//8429\nf 8951//8951 7935//7935 8948//8948\nf 8953//8953 8738//8738 8951//8951\nf 8341//8341 7935//7935 8736//8736\nf 8737//8737 8534//8534 8952//8952\nf 8341//8341 8738//8738 8953//8953\nf 7940//7940 8532//8532 8740//8740\nf 7939//7939 8742//8742 8739//8739\nf 8955//8955 7945//7945 8340//8340\nf 8341//8341 8953//8953 8738//8738\nf 7940//7940 8740//8740 8954//8954\nf 8954//8954 8536//8536 7940//7940\nf 8956//8956 8534//8534 7946//7946\nf 8742//8742 8537//8537 8957//8957\nf 7946//7946 8538//8538 8956//8956\nf 8536//8536 8540//8540 7940//7940\nf 8957//8957 8537//8537 7949//7949\nf 7952//7952 8543//8543 8743//8743\nf 7954//7954 8250//8250 8958//8958\nf 8542//8542 8539//8539 8959//8959\nf 8957//8957 7949//7949 8960//8960\nf 8342//8342 7955//7955 8538//8538\nf 8960//8960 7949//7949 7957//7957\nf 7955//7955 8961//8961 8538//8538\nf 8959//8959 8456//8456 8251//8251\nf 7953//7953 8249//8249 8745//8745\nf 9110//9110 8544//8544 8962//8962\nf 8546//8546 7954//7954 8963//8963\nf 7955//7955 8545//8545 8961//8961\nf 8964//8964 8961//8961 8545//8545\nf 8548//8548 8960//8960 7957//7957\nf 7961//7961 8548//8548 7957//7957\nf 8745//8745 8965//8965 8746//8746\nf 8745//8745 8746//8746 8965//8965\nf 7729//7729 8546//8546 8749//8749\nf 8754//8754 8549//8549 7970//7970\nf 8966//8966 8750//8750 8347//8347\nf 7729//7729 8749//8749 8752//8752\nf 8548//8548 8748//8748 7968//7968\nf 8746//8746 8965//8965 8751//8751\nf 8967//8967 8548//8548 7968//7968\nf 7730//7730 8258//8258 8753//8753\nf 7968//7968 8760//8760 8967//8967\nf 7731//7731 8760//8760 7968//7968\nf 8971//8971 8970//8970 8756//8756\nf 8430//8430 8751//8751 8554//8554\nf 8973//8973 8972//8972 8757//8757\nf 8970//8970 8973//8973 8457//8457\nf 8971//8971 8756//8756 8758//8758\nf 8754//8754 8351//8351 8974//8974\nf 8457//8457 8973//8973 8757//8757\nf 8756//8756 8458//8458 8758//8758\nf 7976//7976 8755//8755 8759//8759\nf 8458//8458 8561//8561 8431//8431\nf 8975//8975 7980//7980 7985//7985\nf 7985//7985 8562//8562 8975//8975\nf 7730//7730 8753//8753 8976//8976\nf 8431//8431 8761//8761 8758//8758\nf 8431//8431 8758//8758 8761//8761\nf 8431//8431 8977//8977 8758//8758\nf 7989//7989 7730//7730 8976//8976\nf 8977//8977 8431//8431 8565//8565\nf 8982//8982 8978//8978 7995//7995\nf 7995//7995 8978//8978 7990//7990\nf 8564//8564 8563//8563 8557//8557\nf 8357//8357 8981//8981 7979//7979\nf 8981//8981 8357//8357 8567//8567\nf 7994//7994 7989//7989 8983//8983\nf 9161//9161 7994//7994 8983//8983\nf 8356//8356 8984//8984 8764//8764\nf 8981//8981 8567//8567 8766//8766\nf 8567//8567 7734//7734 8766//8766\nf 8459//8459 8360//8360 8765//8765\nf 8986//8986 8265//8265 8764//8764\nf 8460//8460 8985//8985 7742//7742\nf 8570//8570 7742//7742 8985//8985\nf 8360//8360 8770//8770 8765//8765\nf 8360//8360 8013//8013 8770//8770\nf 9530//9530 8765//8765 8770//8770\nf 8010//8010 8988//8988 8361//8361\nf 8768//8768 7739//7739 8989//8989\nf 8769//8769 8011//8011 8572//8572\nf 7739//7739 8576//8576 8989//8989\nf 8770//8770 8015//8015 8990//8990\nf 8991//8991 8572//8572 8574//8574\nf 8771//8771 8014//8014 8571//8571\nf 8015//8015 8575//8575 8990//8990\nf 8772//8772 8992//8992 8774//8774\nf 8361//8361 8988//8988 8016//8016\nf 8014//8014 8771//8771 8462//8462\nf 8994//8994 8017//8017 8578//8578\nf 8462//8462 8771//8771 8995//8995\nf 8580//8580 8575//8575 8577//8577\nf 8993//8993 8362//8362 8016//8016\nf 8774//8774 8581//8581 8992//8992\nf 8995//8995 8997//8997 8462//8462\nf 9119//9119 8362//8362 8993//8993\nf 8362//8362 8583//8583 8022//8022\nf 8581//8581 8774//8774 8585//8585\nf 9000//9000 8582//8582 8999//8999\nf 8587//8587 8999//8999 8775//8775\nf 8586//8586 7750//7750 8585//8585\nf 8365//8365 8583//8583 8027//8027\nf 9001//9001 8367//8367 8588//8588\nf 8434//8434 9002//9002 8999//8999\nf 9003//9003 9002//9002 8434//8434\nf 8589//8589 9170//9170 8591//8591\nf 8034//8034 8776//8776 8433//8433\nf 9003//9003 8434//8434 8778//8778\nf 8368//8368 9007//9007 8038//8038\nf 9006//9006 8778//8778 9008//9008\nf 8778//8778 8781//8781 9008//9008\nf 8593//8593 9009//9009 8373//8373\nf 8785//8785 8782//8782 8463//8463\nf 9011//9011 8782//8782 8785//8785\nf 8784//8784 9010//9010 8044//8044\nf 9009//9009 8597//8597 8373//8373\nf 8463//8463 9011//9011 8785//8785\nf 8045//8045 8050//8050 8787//8787\nf 9011//9011 8463//8463 8788//8788\nf 8463//8463 8436//8436 8788//8788\nf 8044//8044 9010//9010 8789//8789\nf 8045//8045 8787//8787 9013//9013\nf 9014//9014 8374//8374 8596//8596\nf 8597//8597 8600//8600 8435//8435\nf 9014//9014 8053//8053 8374//8374\nf 8787//8787 8050//8050 9013//9013\nf 8786//8786 8599//8599 9015//9015\nf 8788//8788 8790//8790 8603//8603\nf 8791//8791 9017//9017 9015//9015\nf 8602//8602 8053//8053 9014//9014\nf 8068//8068 8056//8056 8789//8789\nf 8050//8050 8376//8376 9020//9020\nf 8792//8792 9016//9016 8465//8465\nf 8792//8792 8465//8465 9016//9016\nf 8791//8791 8601//8601 8793//8793\nf 9017//9017 8791//8791 8793//8793\nf 8067//8067 8795//8795 8794//8794\nf 8604//8604 9018//9018 8603//8603\nf 8602//8602 9021//9021 8437//8437\nf 9021//9021 8064//8064 8437//8437\nf 8793//8793 8464//8464 8796//8796\nf 8794//8794 8797//8797 8072//8072\nf 8798//8798 8465//8465 8792//8792\nf 8067//8067 8799//8799 8795//8795\nf 9023//9023 8376//8376 8381//8381\nf 9023//9023 9020//9020 8376//8376\nf 8274//8274 8798//8798 8806//8806\nf 8064//8064 9024//9024 8801//8801\nf 8386//8386 9022//9022 9026//9026\nf 8796//8796 8377//8377 8803//8803\nf 8386//8386 9022//9022 9026//9026\nf 8799//8799 8380//8380 8804//8804\nf 8611//8611 7756//7756 9127//9127\nf 8808//8808 8438//8438 8801//8801\nf 8386//8386 9026//9026 8440//8440\nf 9029//9029 8440//8440 9026//9026\nf 8380//8380 9027//9027 8804//8804\nf 8380//8380 8804//8804 9027//9027\nf 9023//9023 8079//8079 8805//8805\nf 8439//8439 8809//8809 8803//8803\nf 8388//8388 9027//9027 8804//8804\nf 8388//8388 8609//8609 9027//9027\nf 8807//8807 8610//8610 8813//8813\nf 8812//8812 8467//8467 8811//8811\nf 8608//8608 8467//8467 8812//8812\nf 9030//9030 8608//8608 8812//8812\nf 8277//8277 8611//8611 8468//8468\nf 8467//8467 8466//8466 8811//8811\nf 9032//9032 8278//8278 9028//9028\nf 8278//8278 9032//9032 8614//8614\nf 9130//9130 8813//8813 8615//8615\nf 8387//8387 8441//8441 9034//9034\nf 8387//8387 9034//9034 9031//9031\nf 8441//8441 8090//8090 9034//9034\nf 8616//8616 8612//8612 9033//9033\nf 8091//8091 8613//8613 8094//8094\nf 8613//8613 8091//8091 8094//8094\nf 9036//9036 8615//8615 8442//8442\nf 9036//9036 8443//8443 8817//8817\nf 8816//8816 8616//8616 9033//9033\nf 8817//8817 8443//8443 8818//8818\nf 8818//8818 9036//9036 8817//8817\nf 8280//8280 8618//8618 8621//8621\nf 8816//8816 9039//9039 8470//8470\nf 8818//8818 8619//8619 9038//9038\nf 8622//8622 8470//8470 9039//9039\nf 8280//8280 8621//8621 9040//9040\nf 8624//8624 9038//9038 8820//8820\nf 8623//8623 8280//8280 9040//9040\nf 8625//8625 8821//8821 8624//8624\nf 8628//8628 8821//8821 8396//8396\nf 8471//8471 8627//8627 8110//8110\nf 8115//8115 8627//8627 8823//8823\nf 8824//8824 8107//8107 8114//8114\nf 9044//9044 8824//8824 8120//8120\nf 8628//8628 8397//8397 9043//9043\nf 9042//9042 9045//9045 8119//8119\nf 9043//9043 8444//8444 9046//9046\nf 8397//8397 8444//8444 9043//9043\nf 8285//8285 7764//7764 9136//9136\nf 9047//9047 9044//9044 8398//8398\nf 8473//8473 9046//9046 8444//8444\nf 9046//9046 8473//8473 9048//9048\nf 8287//8287 8119//8119 9045//9045\nf 8287//8287 9049//9049 8825//8825\nf 8123//8123 8287//8287 8825//8825\nf 9048//9048 8473//8473 9050//9050\nf 8472//8472 8632//8632 7766//7766\nf 8826//8826 9047//9047 8398//8398\nf 8631//8631 8123//8123 8825//8825\nf 8124//8124 8631//8631 8633//8633\nf 8634//8634 9051//9051 8445//8445\nf 9053//9053 8399//8399 8134//8134\nf 9053//9053 8826//8826 8399//8399\nf 8636//8636 8634//8634 9055//9055\nf 9054//9054 8138//8138 8135//8135\nf 8140//8140 8138//8138 8827//8827\nf 8138//8138 9137//9137 8827//8827\nf 8136//8136 8829//8829 8139//8139\nf 8830//8830 8145//8145 8827//8827\nf 8156//8156 8638//8638 8831//8831\nf 8829//8829 8637//8637 8139//8139\nf 8832//8832 8145//8145 8830//8830\nf 8155//8155 8290//8290 8638//8638\nf 9056//9056 8639//8639 8834//8834\nf 9057//9057 8133//8133 7768//7768\nf 9057//9057 7768//7768 8835//8835\nf 8635//8635 9058//9058 8641//8641\nf 8161//8161 8639//8639 9056//9056\nf 8835//8835 9060//9060 9057//9057\nf 9056//9056 9061//9061 8161//8161\nf 8143//8143 9059//9059 8134//8134\nf 8404//8404 8161//8161 9061//9061\nf 9062//9062 8640//8640 8642//8642\nf 8137//8137 8403//8403 8836//8836\nf 8836//8836 8403//8403 9064//9064\nf 9064//9064 8474//8474 9065//9065\nf 9064//9064 8403//8403 8474//8474\nf 8838//8838 8645//8645 8837//8837\nf 8643//8643 8839//8839 8644//8644\nf 8646//8646 9066//9066 8446//8446\nf 8475//8475 8648//8648 9068//9068\nf 9069//9069 8165//8165 8169//8169\nf 9068//9068 8840//8840 8475//8475\nf 8168//8168 8166//8166 8651//8651\nf 8293//8293 9070//9070 8169//8169\nf 8843//8843 8842//8842 8650//8650\nf 8841//8841 9072//9072 8649//8649\nf 8650//8650 8649//8649 9071//9071\nf 9073//9073 8652//8652 8651//8651\nf 8844//8844 9070//9070 8293//8293\nf 9073//9073 9074//9074 8652//8652\nf 9074//9074 9075//9075 8653//8653\nf 9075//9075 8654//8654 8653//8653\nf 8844//8844 8175//8175 9076//9076\nf 8178//8178 8845//8845 8175//8175\nf 9077//9077 8845//8845 8178//8178\nf 9078//9078 8659//8659 8657//8657\nf 9077//9077 8178//8178 8846//8846\nf 8659//8659 9079//9079 8182//8182\nf 8659//8659 9078//9078 9079//9079\nf 9080//9080 8184//8184 9079//9079\nf 8186//8186 8184//8184 9080//9080\nf 8183//8183 8185//8185 8187//8187\nf 9081//9081 8187//8187 8189//8189\nf 9081//9081 8189//8189 9083//9083\nf 9084//9084 8295//8295 8661//8661\nf 8847//8847 8660//8660 8409//8409\nf 8295//8295 9084//9084 8848//8848\nf 8191//8191 8848//8848 8662//8662\nf 8663//8663 8296//8296 8662//8662\nf 8410//8410 8663//8663 9085//9085\nf 8412//8412 8666//8666 9087//9087\nf 9142//9142 9141//9141 8851//8851\nf 8447//8447 8412//8412 9087//9087\nf 9088//9088 8297//8297 8852//8852\nf 8667//8667 8201//8201 8299//8299\nf 8201//8201 8854//8854 8203//8203\nf 8668//8668 8413//8413 8854//8854\nf 8415//8415 8413//8413 8668//8668\nf 8851//8851 8855//8855 9142//9142\nf 9089//9089 8855//8855 8856//8856\nf 9089//9089 9142//9142 8855//8855\nf 8857//8857 8301//8301 8670//8670\nf 9144//9144 8856//8856 8671//8671\nf 8858//8858 8210//8210 8857//8857\nf 8671//8671 8448//8448 9090//9090\nf 8859//8859 8217//8217 8860//8860\nf 8861//8861 8481//8481 8673//8673\nf 8678//8678 8677//8677 7779//7779\nf 8678//8678 8309//8309 8863//8863\nf 8863//8863 8479//8479 8864//8864\nf 8450//8450 8680//8680 8865//8865\nf 8685//8685 7798//7798 8861//8861\nf 8864//8864 8479//8479 8866//8866\nf 8307//8307 8482//8482 8682//8682\nf 7786//7786 7797//7797 8684//8684\nf 7797//7797 8688//8688 8684//8684\nf 8686//8686 8485//8485 8866//8866\nf 7802//7802 7798//7798 8867//8867\nf 9093//9093 8869//8869 7783//7783\nf 8310//8310 8683//8683 8690//8690\nf 9093//9093 7783//7783 7789//7789\nf 9093//9093 7789//7789 8871//8871\nf 8873//8873 7790//7790 7791//7791\nf 7791//7791 7785//7785 8873//8873\nf 7785//7785 8690//8690 8873//8873\nf 8691//8691 7801//7801 8878//8878\nf 8221//8221 7817//7817 8693//8693\nf 7817//7817 8877//8877 8693//8693\nf 8878//8878 7801//7801 7814//7814\nf 8692//8692 8874//8874 8314//8314\nf 8487//8487 8890//8890 8884//8884\nf 8889//8889 7825//7825 8490//8490\nf 8421//8421 8890//8890 8487//8487\nf 8489//8489 7827//7827 8888//8888\nf 8892//8892 7824//7824 8887//8887\nf 8490//8490 7836//7836 8494//8494\nf 8894//8894 7830//7830 8891//8891\nf 7830//7830 8894//8894 8895//8895\nf 8496//8496 8494//8494 8896//8896\nf 7835//7835 8895//8895 8897//8897\nf 7835//7835 7833//7833 8895//8895\nf 8893//8893 8497//8497 9095//9095\nf 7841//7841 8498//8498 8496//8496\nf 8496//8496 8498//8498 8901//8901\nf 8901//8901 7848//7848 8501//8501\nf 8501//8501 7857//7857 8905//8905\nf 9150//9150 8500//8500 8697//8697\nf 8698//8698 8902//8902 8904//8904\nf 8903//8903 8699//8699 7855//7855\nf 8905//8905 7857//7857 7859//7859\nf 8503//8503 7850//7850 7853//7853\nf 9202//9202 8905//8905 8906//8906\nf 8503//8503 7860//7860 8909//8909\nf 9097//9097 8319//8319 8700//8700\nf 8910//8910 8225//8225 8912//8912\nf 9097//9097 8914//8914 8504//8504\nf 9097//9097 8504//8504 8319//8319\nf 8912//8912 8320//8320 7871//7871\nf 7867//7867 7864//7864 8915//8915\nf 8914//8914 8322//8322 8504//8504\nf 8322//8322 8914//8914 8917//8917\nf 8916//8916 7873//7873 8705//8705\nf 8918//8918 7876//7876 8708//8708\nf 8711//8711 8919//8919 9099//9099\nf 8709//8709 7880//7880 8713//8713\nf 8712//8712 8324//8324 8710//8710\nf 7884//7884 7886//7886 8923//8923\nf 8711//8711 8921//8921 9100//9100\nf 8506//8506 7883//7883 9100//9100\nf 8714//8714 8506//8506 9100//9100\nf 7888//7888 8327//8327 8925//8925\nf 7890//7890 7892//7892 8924//8924\nf 8425//8425 8714//8714 8926//8926\nf 8717//8717 7895//7895 8928//8928\nf 8233//8233 7893//7893 8930//8930\nf 8718//8718 8930//8930 8931//8931\nf 7894//7894 8509//8509 8929//8929\nf 8718//8718 8233//8233 8930//8930\nf 8453//8453 9101//9101 8932//8932\nf 8509//8509 8234//8234 8721//8721\nf 8724//8724 8328//8328 8932//8932\nf 7903//7903 7902//7902 8933//8933\nf 7902//7902 8722//8722 8933//8933\nf 8934//8934 7903//7903 8933//8933\nf 8513//8513 8935//8935 8933//8933\nf 8512//8512 8330//8330 8935//8935\nf 9103//9103 8519//8519 8726//8726\nf 8427//8427 8937//8937 8723//8723\nf 8237//8237 8427//8427 8723//8723\nf 8725//8725 8728//8728 9102//9102\nf 8940//8940 8937//8937 8427//8427\nf 8333//8333 8525//8525 8940//8940\nf 8523//8523 8521//8521 8519//8519\nf 8941//8941 7920//7920 8526//8526\nf 8730//8730 8939//8939 8943//8943\nf 8941//8941 7912//7912 7920//7920\nf 8524//8524 7919//7919 8729//8729\nf 9105//9105 8527//8527 8523//8523\nf 8945//8945 8336//8336 8943//8943\nf 8942//8942 8428//8428 8338//8338\nf 9156//9156 8526//8526 8731//8731\nf 8947//8947 8338//8338 9106//9106\nf 9107//9107 8740//8740 8732//8732\nf 8740//8740 8532//8532 8531//8531\nf 8950//8950 7933//7933 8737//8737\nf 8736//8736 7935//7935 8951//8951\nf 8738//8738 8736//8736 8951//8951\nf 9108//9108 8735//8735 8533//8533\nf 8535//8535 8741//8741 9108//9108\nf 8738//8738 8539//8539 8341//8341\nf 7952//7952 8743//8743 8741//8741\nf 8743//8743 9109//9109 8741//8741\nf 8963//8963 7954//7954 8958//8958\nf 8959//8959 8539//8539 9111//9111\nf 9110//9110 8743//8743 8253//8253\nf 8547//8547 8551//8551 8962//8962\nf 8744//8744 8965//8965 8746//8746\nf 8749//8749 8546//8546 9112//9112\nf 8456//8456 8959//8959 8747//8747\nf 8547//8547 8550//8550 8551//8551\nf 9113//9113 8345//8345 7959//7959\nf 8345//8345 9113//9113 8969//8969\nf 8753//8753 8752//8752 8968//8968\nf 8970//8970 8972//8972 8973//8973\nf 8971//8971 8758//8758 9114//9114\nf 9115//9115 8347//8347 7980//7980\nf 7980//7980 8975//8975 9115//9115\nf 8762//8762 8555//8555 8759//8759\nf 9116//9116 8758//8758 8977//8977\nf 8978//8978 8562//8562 7990//7990\nf 8979//8979 7979//7979 8981//8981\nf 8762//8762 8980//8980 7983//7983\nf 8763//8763 7983//7983 8980//8980\nf 8982//8982 7995//7995 8358//8358\nf 8982//8982 8358//8358 8566//8566\nf 9163//9163 8566//8566 8004//8004\nf 7734//7734 8769//8769 8766//8766\nf 8009//8009 8005//8005 8987//8987\nf 8769//8769 9117//9117 8766//8766\nf 8988//8988 8010//8010 8986//8986\nf 8009//8009 8987//8987 8571//8571\nf 8991//8991 8769//8769 8572//8572\nf 7745//7745 8573//8573 8772//8772\nf 8988//8988 8993//8993 8016//8016\nf 8994//8994 8578//8578 8996//8996\nf 8998//8998 8025//8025 8582//8582\nf 8998//8998 8580//8580 8025//8025\nf 8362//8362 9119//9119 8583//8583\nf 8588//8588 8774//8774 9118//9118\nf 8998//8998 8582//8582 9000//9000\nf 8588//8588 8585//8585 8774//8774\nf 8589//8589 8027//8027 8583//8583\nf 8366//8366 8589//8589 8591//8591\nf 8034//8034 9004//9004 8776//8776\nf 8033//8033 8366//8366 8591//8591\nf 9123//9123 9120//9120 9122//9122\nf 8034//8034 8592//8592 9005//9005\nf 8593//8593 8780//8780 8779//8779\nf 8783//8783 8782//8782 9121//9121\nf 8783//8783 9121//9121 9120//9120\nf 9123//9123 8783//8783 9120//9120\nf 8368//8368 8591//8591 9007//9007\nf 9007//9007 8784//8784 8038//8038\nf 8039//8039 8594//8594 8592//8592\nf 9011//9011 9124//9124 8782//8782\nf 8783//8783 9123//9123 8596//8596\nf 8596//8596 9123//9123 9125//9125\nf 9015//9015 9012//9012 8786//8786\nf 8435//8435 8600//8600 9016//9016\nf 8788//8788 8603//8603 9018//9018\nf 9022//9022 8386//8386 8797//8797\nf 8802//8802 8793//8793 8796//8796\nf 8802//8802 9126//9126 8793//8793\nf 9024//9024 8064//8064 9021//9021\nf 9021//9021 8801//8801 9024//9024\nf 9022//9022 8386//8386 9026//9026\nf 8273//8273 8068//8068 9019//9019\nf 9018//9018 8800//8800 9025//9025\nf 7756//7756 8273//8273 9127//9127\nf 8800//8800 8807//8807 9025//9025\nf 9027//9027 8799//8799 8804//8804\nf 8807//8807 8813//8813 9025//9025\nf 8802//8802 8803//8803 9128//9128\nf 8388//8388 8804//8804 8380//8380\nf 8803//8803 8809//8809 9128//9128\nf 8814//8814 8440//8440 9029//9029\nf 9029//9029 9129//9129 8814//8814\nf 8468//8468 8810//8810 8613//8613\nf 8811//8811 8808//8808 9133//9133\nf 8812//8812 8811//8811 9131//9131\nf 8809//8809 8608//8608 9030//9030\nf 9131//9131 8811//8811 9133//9133\nf 9033//9033 8814//8814 9129//9129\nf 9035//9035 9034//9034 8090//8090\nf 7761//7761 9037//9037 8469//8469\nf 9130//9130 8615//8615 9036//9036\nf 7760//7760 7761//7761 8469//8469\nf 8617//8617 9037//9037 7761//7761\nf 8613//8613 8617//8617 8091//8091\nf 8618//8618 8393//8393 9134//9134\nf 8815//8815 8279//8279 8819//8819\nf 9033//9033 9178//9178 8816//8816\nf 8819//8819 8279//8279 9135//9135\nf 8622//8622 9041//9041 8471//8471\nf 8107//8107 8824//8824 9135//9135\nf 8629//8629 8823//8823 9136//9136\nf 9042//9042 8113//8113 8626//8626\nf 7764//7764 8629//8629 9136//9136\nf 9179//9179 8285//8285 9136//9136\nf 7765//7765 8285//8285 8472//8472\nf 9042//9042 8119//8119 8113//8113\nf 9050//9050 8126//8126 8445//8445\nf 9050//9050 8445//8445 9051//9051\nf 8135//8135 8400//8400 9052//9052\nf 9052//9052 9054//9054 8135//8135\nf 9137//9137 8138//8138 9054//9054\nf 9055//9055 8141//8141 8828//8828\nf 8148//8148 8147//8147 8146//8146\nf 8833//8833 8150//8150 8148//8148\nf 8290//8290 8150//8150 8833//8833\nf 8829//8829 8133//8133 9057//9057\nf 8133//8133 9057//9057 9060//9060\nf 8837//8837 8404//8404 9061//9061\nf 8835//8835 9062//9062 9060//9060\nf 8835//8835 7768//7768 9062//9062\nf 9058//9058 9063//9063 8641//8641\nf 9062//9062 8642//8642 8836//8836\nf 8839//8839 7770//7770 9063//9063\nf 9066//9066 9065//9065 8474//8474\nf 7770//7770 8839//8839 8643//8643\nf 9066//9066 8474//8474 9065//9065\nf 9065//9065 8474//8474 8446//8446\nf 9066//9066 9065//9065 8446//8446\nf 8646//8646 8647//8647 9066//9066\nf 9068//9068 8648//8648 8840//8840\nf 9070//9070 9069//9069 8169//8169\nf 9071//9071 8649//8649 9072//9072\nf 8841//8841 9138//9138 9139//9139\nf 9182//9182 9139//9139 9138//9138\nf 9072//9072 8841//8841 9139//9139\nf 9072//9072 9139//9139 9285//9285\nf 9434//9434 9070//9070 8844//8844\nf 8845//8845 9076//9076 8175//8175\nf 9079//9079 9078//9078 8657//8657\nf 8846//8846 8183//8183 9140//9140\nf 8183//8183 8187//8187 9081//9081\nf 9082//9082 8186//8186 9080//9080\nf 8847//8847 8849//8849 9141//9141\nf 8850//8850 8410//8410 9085//9085\nf 8666//8666 8197//8197 9086//9086\nf 8200//8200 8297//8297 8853//8853\nf 9141//9141 8849//8849 8851//8851\nf 8201//8201 8667//8667 8854//8854\nf 9143//9143 9089//9089 8856//8856\nf 9144//9144 9143//9143 8856//8856\nf 9144//9144 8671//8671 9090//9090\nf 8679//8679 8687//8687 7788//7788\nf 7777//7777 9092//9092 8860//8860\nf 9450//9450 9092//9092 8684//8684\nf 9191//9191 8862//8862 8677//8677\nf 9146//9146 7799//7799 8689//8689\nf 7790//7790 8873//8873 8872//8872\nf 8888//8888 7826//7826 8886//8886\nf 8890//8890 8421//8421 8694//8694\nf 8695//8695 8497//8497 8893//8893\nf 8318//8318 8699//8699 8908//8908\nf 8907//8907 8225//8225 8910//8910\nf 8909//8909 7863//7863 8701//8701\nf 8912//8912 7871//7871 8704//8704\nf 7875//7875 7867//7867 8915//8915\nf 8705//8705 8706//8706 8916//8916\nf 8704//8704 7874//7874 8918//8918\nf 7875//7875 8915//8915 9098//9098\nf 8505//8505 9207//9207 8706//8706\nf 8921//8921 8711//8711 9099//9099\nf 9317//9317 9100//9100 8921//8921\nf 8715//8715 8423//8423 9151//9151\nf 8423//8423 8712//8712 9151//9151\nf 8924//8924 7885//7885 7890//7890\nf 7893//7893 9153//9153 8930//8930\nf 8717//8717 8928//8928 9101//9101\nf 8938//8938 8518//8518 8515//8515\nf 8728//8728 8942//8942 9211//9211\nf 9155//9155 8523//8523 8519//8519\nf 8524//8524 8729//8729 9104//9104\nf 9214//9214 8945//8945 8943//8943\nf 8946//8946 8243//8243 8944//8944\nf 8942//8942 8338//8338 8947//8947\nf 8947//8947 9106//9106 9157//9157\nf 9158//9158 8731//8731 8950//8950\nf 8731//8731 8530//8530 8950//8950\nf 9159//9159 8340//8340 8733//8733\nf 8955//8955 8340//8340 9159//9159\nf 9341//9341 8955//8955 9159//9159\nf 8958//8958 8250//8250 8955//8955\nf 9112//9112 8546//8546 8963//8963\nf 9113//9113 7959//7959 8747//8747\nf 8971//8971 9160//9160 8970//8970\nf 8347//8347 9115//9115 8966//8966\nf 8755//8755 8345//8345 8969//8969\nf 8974//8974 8351//8351 8558//8558\nf 8757//8757 9224//9224 8558//8558\nf 8760//8760 7979//7979 8979//8979\nf 8980//8980 8762//8762 8763//8763\nf 8763//8763 8762//8762 8980//8980\nf 8005//8005 9161//9161 9164//9164\nf 8984//8984 8356//8356 8763//8763\nf 8982//8982 8566//8566 9163//9163\nf 9162//9162 8985//8985 8564//8564\nf 8005//8005 7994//7994 9161//9161\nf 8460//8460 8564//8564 8985//8985\nf 8004//8004 8767//8767 9163//9163\nf 8987//8987 8005//8005 9164//9164\nf 8768//8768 9165//9165 9163//9163\nf 9233//9233 8988//8988 8986//8986\nf 8772//8772 8570//8570 9166//9166\nf 8573//8573 8570//8570 8772//8772\nf 8989//8989 8576//8576 9167//9167\nf 8017//8017 8994//8994 8574//8574\nf 9236//9236 8574//8574 8994//8994\nf 9167//9167 8576//8576 8773//8773\nf 9238//9238 8994//8994 8996//8996\nf 8996//8996 8462//8462 8997//8997\nf 8996//8996 8579//8579 8462//8462\nf 8999//8999 8998//8998 9000//9000\nf 9000//9000 8998//8998 8999//8999\nf 9003//9003 8999//8999 9002//9002\nf 8367//8367 9001//9001 8777//8777\nf 9121//9121 9168//9168 9120//9120\nf 9121//9121 9169//9169 9168//9168\nf 8034//8034 9005//9005 9004//9004\nf 9245//9245 9005//9005 8592//8592\nf 9172//9172 8593//8593 8779//8779\nf 9171//9171 9121//9121 8782//8782\nf 9171//9171 8782//8782 9124//9124\nf 9173//9173 9008//9008 8786//8786\nf 9125//9125 9014//9014 8596//8596\nf 9246//9246 9011//9011 8788//8788\nf 9015//9015 9247//9247 9012//9012\nf 8789//8789 9010//9010 9249//9249\nf 8792//8792 8435//8435 9016//9016\nf 9018//9018 9251//9251 8788//8788\nf 9013//9013 8050//8050 9020//9020\nf 9019//9019 8068//8068 8789//8789\nf 8273//8273 9019//9019 9127//9127\nf 9259//9259 9023//9023 8805//8805\nf 9174//9174 8802//8802 9128//9128\nf 8813//8813 9036//9036 9130//9130\nf 8805//8805 8088//8088 8815//8815\nf 8813//8813 9130//9130 9036//9036\nf 8809//8809 9030//9030 9175//9175\nf 9128//9128 8809//8809 9176//9176\nf 8090//8090 8469//8469 9035//9035\nf 8469//8469 9037//9037 9408//9408\nf 8812//8812 9131//9131 9132//9132\nf 9134//9134 8618//8618 8614//8614\nf 8618//8618 9134//9134 8614//8614\nf 8818//8818 9177//9177 9036//9036\nf 8626//8626 8822//8822 8623//8623\nf 9265//9265 8471//8471 9264//9264\nf 8623//8623 9263//9263 9266//9266\nf 8472//8472 8285//8285 9179//9179\nf 8472//8472 9179//9179 9180//9180\nf 8472//8472 9268//9268 8632//8632\nf 9051//9051 8634//8634 8636//8636\nf 9422//9422 8826//8826 9053//9053\nf 9052//9052 8400//8400 8633//8633\nf 8634//8634 8141//8141 9055//9055\nf 8833//8833 8148//8148 9181//9181\nf 8638//8638 8290//8290 8833//8833\nf 9057//9057 8133//8133 9060//9060\nf 8648//8648 8406//8406 8838//8838\nf 8841//8841 8840//8840 9138//9138\nf 8843//8843 8650//8650 9071//9071\nf 8651//8651 9284//9284 9073//9073\nf 9076//9076 9434//9434 8844//8844\nf 9140//9140 8183//8183 9081//9081\nf 9087//9087 8666//8666 9086//9086\nf 8447//8447 9087//9087 8852//8852\nf 8667//8667 8299//8299 9183//9183\nf 9142//9142 9089//9089 9143//9143\nf 9290//9290 9142//9142 9143//9143\nf 8857//8857 8670//8670 8668//8668\nf 9090//9090 8858//8858 8857//8857\nf 9090//9090 8857//8857 9184//9184\nf 9184//9184 9144//9144 9090//9090\nf 9293//9293 8860//8860 9092//9092\nf 8675//8675 8676//8676 9190//9190\nf 9191//9191 8677//8677 9192//9192\nf 8485//8485 9193//9193 8866//8866\nf 8483//8483 8220//8220 8687//8687\nf 8676//8676 8862//8862 9191//9191\nf 9145//9145 7796//7796 8484//8484\nf 9295//9295 8868//8868 8483//8483\nf 9456//9456 9146//9146 9889//9889\nf 9300//9300 8484//8484 8876//8876\nf 9302//9302 9147//9147 9622//9622\nf 9626//9626 9308//9308 8690//8690\nf 9309//9309 9093//9093 8871//8871\nf 9459//9459 8872//8872 8873//8873\nf 9194//9194 8876//8876 8884//8884\nf 8490//8490 9149//9149 9197//9197\nf 8895//8895 8894//8894 9198//9198\nf 9095//9095 8893//8893 8695//8695\nf 8893//8893 9095//9095 8695//8695\nf 8893//8893 9095//9095 9311//9311\nf 8904//8904 8902//8902 9200//9200\nf 8908//8908 8699//8699 9655//9655\nf 9097//9097 8700//8700 9203//9203\nf 8503//8503 8909//8909 9468//9468\nf 9204//9204 8914//8914 9097//9097\nf 8916//8916 9205//9205 8703//8703\nf 9206//9206 8917//8917 8914//8914\nf 8704//8704 8918//8918 9316//9316\nf 8917//8917 9206//9206 9099//9099\nf 8919//8919 8917//8917 9099//9099\nf 8710//8710 7875//7875 9098//9098\nf 8922//8922 8924//8924 9152//9152\nf 7893//7893 8715//8715 9153//9153\nf 9322//9322 8507//8507 8929//8929\nf 9323//9323 8927//8927 8508//8508\nf 8931//8931 8930//8930 8720//8720\nf 8727//8727 8721//8721 9326//9326\nf 8936//8936 8520//8520 9483//9483\nf 8725//8725 9102//9102 8935//8935\nf 9155//9155 8519//8519 9103//9103\nf 9331//9331 9155//9155 9103//9103\nf 8728//8728 9211//9211 9102//9102\nf 8526//8526 9156//9156 8941//8941\nf 9213//9213 9156//9156 8526//8526\nf 9157//9157 9211//9211 8942//8942\nf 8944//8944 9104//9104 9332//9332\nf 8942//8942 8947//8947 9157//9157\nf 8945//8945 9214//9214 8948//8948\nf 9105//9105 8732//8732 8527//8527\nf 9215//9215 8949//8949 8739//8739\nf 8950//8950 8737//8737 8952//8952\nf 9108//9108 9106//9106 8735//8735\nf 9217//9217 9216//9216 8534//8534\nf 8741//8741 9109//9109 9108//9108\nf 9216//9216 8952//8952 8534//8534\nf 8953//8953 8951//8951 9497//9497\nf 9217//9217 8534//8534 8956//8956\nf 8536//8536 8954//8954 9218//9218\nf 8536//8536 9218//9218 8540//8540\nf 8956//8956 8538//8538 9347//9347\nf 8964//8964 8538//8538 8961//8961\nf 9348//9348 8747//8747 8959//8959\nf 9219//9219 8962//8962 8551//8551\nf 8971//8971 9114//9114 9160//9160\nf 8967//8967 9223//9223 8548//8548\nf 8549//8549 8754//8754 9221//9221\nf 9160//9160 9220//9220 8970//8970\nf 9160//9160 9114//9114 9222//9222\nf 8752//8752 8749//8749 8968//8968\nf 8754//8754 8558//8558 9224//9224\nf 9224//9224 8757//8757 8972//8972\nf 9225//9225 9114//9114 8758//8758\nf 9116//9116 9225//9225 8758//8758\nf 8557//8557 8554//8554 8563//8563\nf 9226//9226 8760//8760 8979//8979\nf 8982//8982 8562//8562 8978//8978\nf 9228//9228 9226//9226 8979//8979\nf 8983//8983 7989//7989 8976//8976\nf 9228//9228 8979//8979 8981//8981\nf 8564//8564 8557//8557 8563//8563\nf 9230//9230 8981//8981 8766//8766\nf 9362//9362 9230//9230 8766//8766\nf 8984//8984 8763//8763 9361//9361\nf 9163//9163 8767//8767 8768//8768\nf 8764//8764 8984//8984 8986//8986\nf 9366//9366 8768//8768 9165//9165\nf 9366//9366 9165//9165 8768//8768\nf 9232//9232 8992//8992 9166//9166\nf 9117//9117 8769//8769 9231//9231\nf 8992//8992 8772//8772 9166//9166\nf 8768//8768 8989//8989 9165//9165\nf 8989//8989 9234//9234 9165//9165\nf 9235//9235 8991//8991 8574//8574\nf 9370//9370 9118//9118 8992//8992\nf 8774//8774 8992//8992 9118//9118\nf 9237//9237 8997//8997 8995//8995\nf 8773//8773 9239//9239 9167//9167\nf 9240//9240 9000//9000 8999//8999\nf 9239//9239 8773//8773 8584//8584\nf 9241//9241 8999//8999 9003//9003\nf 8778//8778 9006//9006 9003//9003\nf 9006//9006 9243//9243 9003//9003\nf 9168//9168 9242//9242 9120//9120\nf 9120//9120 9242//9242 9122//9122\nf 9172//9172 8779//8779 8777//8777\nf 9171//9171 9169//9169 9121//9121\nf 9383//9383 9172//9172 8779//8779\nf 9006//9006 9008//9008 9173//9173\nf 9245//9245 8592//8592 8594//8594\nf 8597//8597 9009//9009 8593//8593\nf 9173//9173 8786//8786 9012//9012\nf 9124//9124 9011//9011 9246//9246\nf 8600//8600 8597//8597 9248//9248\nf 9014//9014 9253//9253 8602//8602\nf 9252//9252 9017//9017 9394//9394\nf 8792//8792 9016//9016 8798//8798\nf 8795//8795 9255//9255 8794//8794\nf 8797//8797 9026//9026 9022//9022\nf 9255//9255 8795//8795 8799//8799\nf 9018//9018 9025//9025 9254//9254\nf 9024//9024 8801//8801 9021//9021\nf 8793//8793 9256//9256 9017//9017\nf 9258//9258 9028//9028 8806//8806\nf 9260//9260 8802//8802 9174//9174\nf 9260//9260 9126//9126 8802//8802\nf 9130//9130 9401//9401 8813//8813\nf 9030//9030 8812//8812 9175//9175\nf 9031//9031 9034//9034 9035//9035\nf 8812//8812 9132//9132 9175//9175\nf 9176//9176 8809//8809 9175//9175\nf 9563//9563 8469//8469 9408//9408\nf 9563//9563 9035//9035 8469//8469\nf 9565//9565 9131//9131 9133//9133\nf 9176//9176 9175//9175 9030//9030\nf 9134//9134 8614//8614 9409//9409\nf 8818//8818 9038//9038 9568//9568\nf 9415//9415 8623//8623 8621//8621\nf 9040//9040 8621//8621 8623//8623\nf 8622//8622 9264//9264 9041//9041\nf 9041//9041 9264//9264 8471//8471\nf 8626//8626 8623//8623 9266//9266\nf 8471//8471 9265//9265 8627//8627\nf 9179//9179 9180//9180 8472//8472\nf 9180//9180 9179//9179 8472//8472\nf 9047//9047 8824//8824 9044//9044\nf 9577//9577 8628//8628 9043//9043\nf 9417//9417 9049//9049 9045//9045\nf 9051//9051 9267//9267 9050//9050\nf 9055//9055 9421//9421 8636//8636\nf 9055//9055 8831//8831 9270//9270\nf 9055//9055 8828//8828 8831//8831\nf 8830//8830 8827//8827 9269//9269\nf 8831//8831 8638//8638 9271//9271\nf 9270//9270 8831//8831 9271//9271\nf 8148//8148 8146//8146 8832//8832\nf 8638//8638 8833//8833 9272//9272\nf 9273//9273 8637//8637 8829//8829\nf 9056//9056 8837//8837 9061//9061\nf 9273//9273 8829//8829 9057//9057\nf 8838//8838 8837//8837 9275//9275\nf 9276//9276 9064//9064 9277//9277\nf 8839//8839 9063//9063 9278//9278\nf 9063//9063 8839//8839 9278//9278\nf 9592//9592 8647//8647 8839//8839\nf 8840//8840 8648//8648 9281//9281\nf 8840//8840 9282//9282 9138//9138\nf 8843//8843 9284//9284 8651//8651\nf 8661//8661 9286//9286 9084//9084\nf 8847//8847 9141//9141 9287//9287\nf 9085//9085 8663//8663 9288//9288\nf 8299//8299 8853//8853 9183//9183\nf 8854//8854 9291//9291 8668//8668\nf 8857//8857 8668//8668 9292//9292\nf 9144//9144 9448//9448 9143//9143\nf 9184//9184 9448//9448 9144//9144\nf 8859//8859 8860//8860 9293//9293\nf 9611//9611 9295//9295 9186//9186\nf 9186//9186 9295//9295 8483//8483\nf 8687//8687 8679//8679 9186//9186\nf 9187//9187 9186//9186 8679//8679\nf 9451//9451 9612//9612 8679//8679\nf 8865//8865 8680//8680 9188//9188\nf 9091//9091 9188//9188 8680//8680\nf 9605//9605 9298//9298 8859//8859\nf 8861//8861 9296//9296 8867//8867\nf 9297//9297 9193//9193 8485//8485\nf 9186//9186 8483//8483 8687//8687\nf 8859//8859 9189//9189 9298//9298\nf 8683//8683 8859//8859 9298//9298\nf 7795//7795 9145//9145 8689//8689\nf 8689//8689 9145//9145 9617//9617\nf 9145//9145 8484//8484 9617//9617\nf 9615//9615 9304//9304 8868//8868\nf 10622//10622 9303//9303 9456//9456\nf 9302//9302 8875//8875 9147//9147\nf 8868//8868 9304//9304 8870//8870\nf 8693//8693 8877//8877 9306//9306\nf 8692//8692 9301//9301 8874//8874\nf 9195//9195 8693//8693 9306//9306\nf 9196//9196 8871//8871 8872//8872\nf 9195//9195 8886//8886 8693//8693\nf 9627//9627 8888//8888 8886//8886\nf 9310//9310 9094//9094 8887//8887\nf 9310//9310 8892//8892 9094//9094\nf 9198//9198 8894//8894 8891//8891\nf 8893//8893 8890//8890 8694//8694\nf 8895//8895 9640//9640 9857//9857\nf 8897//8897 8895//8895 9642//9642\nf 9199//9199 8494//8494 8496//8496\nf 9095//9095 8893//8893 9311//9311\nf 9095//9095 8696//8696 9465//9465\nf 9646//9646 8901//8901 9313//9313\nf 8901//8901 8501//8501 9313//9313\nf 8499//8499 9466//9466 8699//8699\nf 8700//8700 8904//8904 9201//9201\nf 8906//8906 8907//8907 9202//9202\nf 9097//9097 9203//9203 9204//9204\nf 9203//9203 9467//9467 9204//9204\nf 8907//8907 8910//8910 8912//8912\nf 9670//9670 8920//8920 9671//9671\nf 9151//9151 8712//8712 9669//9669\nf 8715//8715 9151//9151 9479//9479\nf 8926//8926 8714//8714 9320//9320\nf 9675//9675 8716//8716 8927//8927\nf 9680//9680 9323//9323 8719//8719\nf 8719//8719 8510//8510 9209//9209\nf 8727//8727 9326//9326 8721//8721\nf 8721//8721 8936//8936 9326//9326\nf 8932//8932 9210//9210 8724//8724\nf 8936//8936 8721//8721 8727//8727\nf 9485//9485 8934//8934 8933//8933\nf 9484//9484 8935//8935 9487//9487\nf 9103//9103 8726//8726 8934//8934\nf 9327//9327 8935//8935 9102//9102\nf 9212//9212 8943//8943 8939//8939\nf 9213//9213 8941//8941 9156//9156\nf 9156//9156 9213//9213 8526//8526\nf 9105//9105 8523//8523 9333//9333\nf 8945//8945 9334//9334 9214//9214\nf 9335//9335 8528//8528 8949//8949\nf 9491//9491 9106//9106 9336//9336\nf 9106//9106 9108//9108 9338//9338\nf 9337//9337 8950//8950 8952//8952\nf 8948//8948 9495//9495 8951//8951\nf 9216//9216 9339//9339 8952//8952\nf 9107//9107 9340//9340 8740//8740\nf 9340//9340 8954//8954 8740//8740\nf 9109//9109 9496//9496 9108//9108\nf 9217//9217 8956//8956 9342//9342\nf 8957//8957 9346//9346 8742//8742\nf 9110//9110 9345//9345 9109//9109\nf 9109//9109 8743//8743 9110//9110\nf 8963//8963 8958//8958 9707//9707\nf 9112//9112 8963//8963 9711//9711\nf 9349//9349 9219//9219 8551//8551\nf 9220//9220 9508//9508 9509//9509\nf 9352//9352 9222//9222 9114//9114\nf 8972//8972 8970//8970 9220//9220\nf 9515//9515 9224//9224 8972//8972\nf 8755//8755 8969//8969 9113//9113\nf 8754//8754 8974//8974 8558//8558\nf 9353//9353 8554//8554 8751//8751\nf 8563//8563 8554//8554 9519//9519\nf 8762//8762 8755//8755 9355//9355\nf 8755//8755 8762//8762 8759//8759\nf 9357//9357 8760//8760 9226//9226\nf 8983//8983 8976//8976 8753//8753\nf 9162//9162 9359//9359 9523//9523\nf 8564//8564 9359//9359 9162//9162\nf 8564//8564 9356//9356 9359//9359\nf 9229//9229 9228//9228 8981//8981\nf 8980//8980 9360//9360 8763//8763\nf 8981//8981 9230//9230 9229//9229\nf 9363//9363 8986//8986 8984//8984\nf 8985//8985 9166//9166 8570//8570\nf 9117//9117 9364//9364 8766//8766\nf 9365//9365 9232//9232 9166//9166\nf 9232//9232 9365//9365 9732//9732\nf 8987//8987 9367//9367 8571//8571\nf 9372//9372 8580//8580 8998//8998\nf 9372//9372 8998//8998 9373//9373\nf 9000//9000 9373//9373 8998//8998\nf 9374//9374 9000//9000 9240//9240\nf 9537//9537 9375//9375 9534//9534\nf 8999//8999 9241//9241 9240//9240\nf 9752//9752 9119//9119 8993//8993\nf 9537//9537 9376//9376 9375//9375\nf 8583//8583 9119//9119 9752//9752\nf 9380//9380 8584//8584 8776//8776\nf 9378//9378 9168//9168 9376//9376\nf 9537//9537 9168//9168 9378//9378\nf 9168//9168 9169//9169 9376//9376\nf 9243//9243 9542//9542 9003//9003\nf 9381//9381 9169//9169 9171//9171\nf 9243//9243 9006//9006 9244//9244\nf 9543//9543 9243//9243 9244//9244\nf 9541//9541 9381//9381 9382//9382\nf 9381//9381 9171//9171 9382//9382\nf 9383//9383 8779//8779 9172//9172\nf 9244//9244 9006//9006 9173//9173\nf 8593//8593 9547//9547 9387//9387\nf 9387//9387 8597//8597 8593//8593\nf 9245//9245 8594//8594 9388//9388\nf 9389//9389 9012//9012 9247//9247\nf 8788//8788 9251//9251 9246//9246\nf 9250//9250 8594//8594 9013//9013\nf 8600//8600 9550//9550 9016//9016\nf 9252//9252 9015//9015 9017//9017\nf 9020//9020 9392//9392 9013//9013\nf 9018//9018 9393//9393 9251//9251\nf 9390//9390 9252//9252 9394//9394\nf 9396//9396 8794//8794 9255//9255\nf 9023//9023 9257//9257 9020//9020\nf 9254//9254 9025//9025 9395//9395\nf 8793//8793 9126//9126 9256//9256\nf 9029//9029 9026//9026 9398//9398\nf 9398//9398 9026//9026 9397//9397\nf 9399//9399 8799//8799 9027//9027\nf 9256//9256 9260//9260 9400//9400\nf 9256//9256 9126//9126 9260//9260\nf 9028//9028 9258//9258 9784//9784\nf 9402//9402 9029//9029 9398//9398\nf 9260//9260 9174//9174 9403//9403\nf 9558//9558 9260//9260 9403//9403\nf 8614//8614 9032//9032 9404//9404\nf 8808//8808 9405//9405 9133//9133\nf 9406//9406 9128//9128 9261//9261\nf 9128//9128 9176//9176 9406//9406\nf 9262//9262 9175//9175 9132//9132\nf 9030//9030 9175//9175 9412//9412\nf 9261//9261 9128//9128 9406//9406\nf 9129//9129 9178//9178 9033//9033\nf 9410//9410 9178//9178 9129//9129\nf 9411//9411 9132//9132 9131//9131\nf 9176//9176 9030//9030 9412//9412\nf 9176//9176 9412//9412 9413//9413\nf 9799//9799 9794//9794 8818//8818\nf 9039//9039 8816//8816 9414//9414\nf 8816//8816 9178//9178 9414//9414\nf 9415//9415 8621//8621 9801//9801\nf 9038//9038 8624//8624 8821//8821\nf 9415//9415 9263//9263 8623//8623\nf 9572//9572 9265//9265 9571//9571\nf 9572//9572 8823//8823 9416//9416\nf 8823//8823 8627//8627 9416//9416\nf 8821//8821 8628//8628 9574//9574\nf 9045//9045 9042//9042 9049//9049\nf 9417//9417 9045//9045 9049//9049\nf 9268//9268 8472//8472 9420//9420\nf 9422//9422 9047//9047 8826//8826\nf 8632//8632 9268//9268 9420//9420\nf 8148//8148 8832//8832 9181//9181\nf 9056//9056 8834//8834 9426//9426\nf 9427//9427 9426//9426 8834//8834\nf 9427//9427 8834//8834 8637//8637\nf 9273//9273 9057//9057 9060//9060\nf 9060//9060 9274//9274 9428//9428\nf 9273//9273 9060//9060 9428//9428\nf 9429//9429 9060//9060 9062//9062\nf 9276//9276 8836//8836 9064//9064\nf 8838//8838 9275//9275 9430//9430\nf 9276//9276 9277//9277 9279//9279\nf 9277//9277 9064//9064 9065//9065\nf 8648//8648 9430//9430 9824//9824\nf 9279//9279 9277//9277 9065//9065\nf 9138//9138 9431//9431 9182//9182\nf 9434//9434 9433//9433 9070//9070\nf 9071//9071 9072//9072 9285//9285\nf 9283//9283 9071//9071 9285//9285\nf 9432//9432 8843//8843 9071//9071\nf 9595//9595 9182//9182 9431//9431\nf 8845//8845 9077//9077 8846//8846\nf 9841//9841 8845//8845 9597//9597\nf 9842//9842 9436//9436 9079//9079\nf 8846//8846 9140//9140 9598//9598\nf 9436//9436 9080//9080 9079//9079\nf 8661//8661 9082//9082 9436//9436\nf 8847//8847 9287//9287 9438//9438\nf 8663//8663 8662//8662 9288//9288\nf 9439//9439 9287//9287 9141//9141\nf 8662//8662 9440//9440 9288//9288\nf 8663//8663 9085//9085 9441//9441\nf 9085//9085 8663//8663 9441//9441\nf 9141//9141 9442//9442 9599//9599\nf 8665//8665 8850//8850 9443//9443\nf 9142//9142 9290//9290 9442//9442\nf 9142//9142 9442//9442 9141//9141\nf 9086//9086 8665//8665 9289//9289\nf 8297//8297 9088//9088 8853//8853\nf 9088//9088 9601//9601 8853//8853\nf 9447//9447 9445//9445 9290//9290\nf 9143//9143 9447//9447 9290//9290\nf 9603//9603 8668//8668 9291//9291\nf 9448//9448 9447//9447 9143//9143\nf 8668//8668 9449//9449 9292//9292\nf 9292//9292 9449//9449 9448//9448\nf 9184//9184 8857//8857 9292//9292\nf 9292//9292 9448//9448 9184//9184\nf 9607//9607 8673//8673 8674//8674\nf 8678//8678 8863//8863 9185//9185\nf 8863//8863 9294//9294 9185//9185\nf 9451//9451 8679//8679 8865//8865\nf 9293//9293 9450//9450 9616//9616\nf 9613//9613 8674//8674 8675//8675\nf 9453//9453 8675//8675 9190//9190\nf 9192//9192 8677//8677 9454//9454\nf 8677//8677 8678//8678 9454//9454\nf 9452//9452 9091//9091 8480//8480\nf 9305//9305 9616//9616 8691//8691\nf 8676//8676 9191//9191 9455//9455\nf 9148//9148 9146//9146 9456//9456\nf 9622//9622 9147//9147 9148//9148\nf 8877//8877 8870//8870 9304//9304\nf 8691//8691 8878//8878 9305//9305\nf 9625//9625 9305//9305 8878//8878\nf 9306//9306 8877//8877 9307//9307\nf 8482//8482 8869//8869 9457//9457\nf 8482//8482 9457//9457 9624//9624\nf 8873//8873 8690//8690 9308//9308\nf 8683//8683 9619//9619 9626//9626\nf 8885//8885 9621//9621 9301//9301\nf 8883//8883 8880//8880 8875//8875\nf 9302//9302 8883//8883 8875//8875\nf 9457//9457 8869//8869 9458//9458\nf 9458//9458 8869//8869 9093//9093\nf 9309//9309 9458//9458 9093//9093\nf 8871//8871 9196//9196 9309//9309\nf 9301//9301 8692//8692 8885//8885\nf 9194//9194 9460//9460 8884//8884\nf 9194//9194 8884//8884 9460//9460\nf 9638//9638 9856//9856 9636//9636\nf 9310//9310 8887//8887 9634//9634\nf 8895//8895 9198//9198 8891//8891\nf 9149//9149 8494//8494 9197//9197\nf 8890//8890 8893//8893 9311//9311\nf 9645//9645 8495//8495 9644//9644\nf 8893//8893 9095//9095 9311//9311\nf 9095//9095 9312//9312 9311//9311\nf 9095//9095 8497//8497 8696//8696\nf 9463//9463 8902//8902 8900//8900\nf 8499//8499 8898//8898 9464//9464\nf 8696//8696 8500//8500 9651//9651\nf 8904//8904 9200//9200 9201//9201\nf 9651//9651 8500//8500 9653//9653\nf 8699//8699 8903//8903 8499//8499\nf 9202//9202 9652//9652 8905//8905\nf 8503//8503 9314//9314 9654//9654\nf 9657//9657 8701//8701 9659//9659\nf 9659//9659 8701//8701 8911//8911\nf 8912//8912 8704//8704 9469//9469\nf 9663//9663 8914//8914 9660//9660\nf 8916//8916 8706//8706 9471//9471\nf 9475//9475 9098//9098 9474//9474\nf 9098//9098 8915//8915 9470//9470\nf 9473//9473 8706//8706 9207//9207\nf 9098//9098 9470//9470 9474//9474\nf 8710//8710 9098//9098 9475//9475\nf 9099//9099 9206//9206 9472//9472\nf 9670//9670 8505//8505 8920//8920\nf 9317//9317 8921//8921 9476//9476\nf 9671//9671 8920//8920 8923//8923\nf 9318//9318 8923//8923 8925//8925\nf 8714//8714 9672//9672 9478//9478\nf 8714//8714 9100//9100 9317//9317\nf 9477//9477 9479//9479 9151//9151\nf 9320//9320 8714//8714 9478//9478\nf 9319//9319 8925//8925 8507//8507\nf 9324//9324 8930//8930 9321//9321\nf 8926//8926 9320//9320 9676//9676\nf 8930//8930 9153//9153 9321//9321\nf 8929//8929 8509//8509 9482//9482\nf 9324//9324 8720//8720 8930//8930\nf 9682//9682 8509//8509 9154//9154\nf 9684//9684 8721//8721 9326//9326\nf 9484//9484 9485//9485 8933//8933\nf 9688//9688 9210//9210 8724//8724\nf 8933//8933 8935//8935 9484//9484\nf 8729//8729 8938//8938 9486//9486\nf 9329//9329 9483//9483 8520//8520\nf 8724//8724 9210//9210 8939//8939\nf 9103//9103 9485//9485 9328//9328\nf 9103//9103 8934//8934 9485//9485\nf 9329//9329 8520//8520 8941//8941\nf 8939//8939 9210//9210 9488//9488\nf 9487//9487 8935//8935 9327//9327\nf 9330//9330 9487//9487 9102//9102\nf 9487//9487 9327//9327 9102//9102\nf 8939//8939 9488//9488 9212//9212\nf 9104//9104 8729//8729 9690//9690\nf 9330//9330 9102//9102 9211//9211\nf 9491//9491 9330//9330 9211//9211\nf 9492//9492 9155//9155 9331//9331\nf 9155//9155 9492//9492 8523//8523\nf 8731//8731 9490//9490 9156//9156\nf 9213//9213 9490//9490 8731//8731\nf 9211//9211 9157//9157 9491//9491\nf 9696//9696 9330//9330 9491//9491\nf 9332//9332 9698//9698 8944//8944\nf 8945//8945 9214//9214 9334//9334\nf 9698//9698 8946//8946 8944//8944\nf 9493//9493 8731//8731 9158//9158\nf 9106//9106 9491//9491 9157//9157\nf 9697//9697 8528//8528 9700//9700\nf 9334//9334 8948//8948 9214//9214\nf 9338//9338 9491//9491 9336//9336\nf 8732//8732 9105//9105 9333//9333\nf 8732//8732 9333//9333 9699//9699\nf 8946//8946 9698//9698 9494//9494\nf 9106//9106 9338//9338 9336//9336\nf 9495//9495 8948//8948 9701//9701\nf 9107//9107 8732//8732 9340//9340\nf 9495//9495 9701//9701 9497//9497\nf 9109//9109 9344//9344 9496//9496\nf 9342//9342 9216//9216 9217//9217\nf 8953//8953 9497//9497 9705//9705\nf 8955//8955 9341//9341 9498//9498\nf 9345//9345 9500//9500 9110//9110\nf 9500//9500 9345//9345 9110//9110\nf 8954//8954 9501//9501 9218//9218\nf 8958//8958 8955//8955 9498//9498\nf 8958//8958 9499//9499 9707//9707\nf 9347//9347 9342//9342 8956//8956\nf 8540//8540 9503//9503 8744//8744\nf 8964//8964 9504//9504 8538//8538\nf 9111//9111 8539//8539 9348//9348\nf 8965//8965 8744//8744 9506//9506\nf 8960//8960 8548//8548 9507//9507\nf 9160//9160 9505//9505 9713//9713\nf 8747//8747 9348//9348 9351//9351\nf 9220//9220 9713//9713 9508//9508\nf 9160//9160 9713//9713 9220//9220\nf 9505//9505 9160//9160 9350//9350\nf 8747//8747 9351//9351 9714//9714\nf 9352//9352 9350//9350 9160//9160\nf 8972//8972 9220//9220 9509//9509\nf 9160//9160 9222//9222 9352//9352\nf 8747//8747 9351//9351 9113//9113\nf 9113//9113 9351//9351 9511//9511\nf 9720//9720 8548//8548 9223//9223\nf 9114//9114 9510//9510 9352//9352\nf 8754//8754 9514//9514 9717//9717\nf 9515//9515 8972//8972 9509//9509\nf 9515//9515 9514//9514 9224//9224\nf 9514//9514 8754//8754 9224//9224\nf 9114//9114 9225//9225 9516//9516\nf 9353//9353 9716//9716 9517//9517\nf 8753//8753 8968//8968 9513//9513\nf 8755//8755 9113//9113 9511//9511\nf 9517//9517 8554//8554 9353//9353\nf 9723//9723 9115//9115 8975//8975\nf 9721//9721 8760//8760 9724//9724\nf 9519//9519 8554//8554 9517//9517\nf 9356//9356 8563//8563 9519//9519\nf 8562//8562 9520//9520 8975//8975\nf 9116//9116 8977//8977 9227//9227\nf 8762//8762 9355//9355 9521//9521\nf 8983//8983 8753//8753 9725//9725\nf 9359//9359 9356//9356 9522//9522\nf 9522//9522 9523//9523 9359//9359\nf 9524//9524 8562//8562 8982//8982\nf 8563//8563 9356//9356 8564//8564\nf 9525//9525 9162//9162 9523//9523\nf 9360//9360 8980//8980 9358//9358\nf 9869//9869 9227//9227 9727//9727\nf 9360//9360 9728//9728 8763//8763\nf 9163//9163 9526//9526 8982//8982\nf 9163//9163 9528//9528 9526//9526\nf 9229//9229 9230//9230 9362//9362\nf 8765//8765 9727//9727 8565//8565\nf 8985//8985 9162//9162 9529//9529\nf 9166//9166 8985//8985 9529//9529\nf 9166//9166 9529//9529 9365//9365\nf 8984//8984 9731//9731 9363//9363\nf 9530//9530 8770//8770 9921//9921\nf 8769//8769 8991//8991 9231//9231\nf 9233//9233 8986//8986 9363//9363\nf 9532//9532 9366//9366 9165//9165\nf 8990//8990 8575//8575 9738//9738\nf 8992//8992 9736//9736 9370//9370\nf 9533//9533 9369//9369 9368//9368\nf 9368//9368 9534//9534 9533//9533\nf 9746//9746 8574//8574 9236//9236\nf 8575//8575 8580//8580 9738//9738\nf 9740//9740 9118//9118 9370//9370\nf 9746//9746 8994//8994 9748//9748\nf 9373//9373 9000//9000 9374//9374\nf 9740//9740 9747//9747 9118//9118\nf 9237//9237 9751//9751 8997//8997\nf 9376//9376 9535//9535 9533//9533\nf 9376//9376 9533//9533 9375//9375\nf 9534//9534 9375//9375 9533//9533\nf 9240//9240 9379//9379 9374//9374\nf 9535//9535 9376//9376 9536//9536\nf 9241//9241 9379//9379 9240//9240\nf 9539//9539 8583//8583 9752//9752\nf 8584//8584 9377//9377 9239//9239\nf 9378//9378 9376//9376 9537//9537\nf 9379//9379 9241//9241 9003//9003\nf 9541//9541 9536//9536 9169//9169\nf 9169//9169 9536//9536 9376//9376\nf 8589//8589 9540//9540 9756//9756\nf 9381//9381 9541//9541 9169//9169\nf 9753//9753 9242//9242 9168//9168\nf 9380//9380 8776//8776 9004//9004\nf 9242//9242 9753//9753 9122//9122\nf 9543//9543 9244//9244 9385//9385\nf 9170//9170 9545//9545 8591//8591\nf 9007//9007 8591//8591 9545//9545\nf 9245//9245 9760//9760 9005//9005\nf 9385//9385 9244//9244 9173//9173\nf 9382//9382 9124//9124 9546//9546\nf 9382//9382 9171//9171 9124//9124\nf 9762//9762 9124//9124 9246//9246\nf 9389//9389 9173//9173 9012//9012\nf 9173//9173 9389//9389 9548//9548\nf 9763//9763 9010//9010 8784//8784\nf 9123//9123 9386//9386 9125//9125\nf 9393//9393 9246//9246 9251//9251\nf 9010//9010 9249//9249 8789//8789\nf 9249//9249 9010//9010 8789//8789\nf 9393//9393 9549//9549 9246//9246\nf 9247//9247 9390//9390 9389//9389\nf 9390//9390 9247//9247 9015//9015\nf 9390//9390 9015//9015 9252//9252\nf 9395//9395 9393//9393 9018//9018\nf 9551//9551 9390//9390 9394//9394\nf 8798//8798 9016//9016 9771//9771\nf 9395//9395 9018//9018 9254//9254\nf 9551//9551 9394//9394 9017//9017\nf 9555//9555 8797//8797 9776//9776\nf 9555//9555 9026//9026 8797//8797\nf 9553//9553 9127//9127 9019//9019\nf 9021//9021 9775//9775 9024//9024\nf 9554//9554 9017//9017 9256//9256\nf 9397//9397 9026//9026 9555//9555\nf 9556//9556 9255//9255 8799//8799\nf 9257//9257 9023//9023 9259//9259\nf 9258//9258 8806//8806 9777//9777\nf 9558//9558 9400//9400 9260//9260\nf 9786//9786 9259//9259 8805//8805\nf 9027//9027 8609//8609 9787//9787\nf 8611//8611 9560//9560 8468//8468\nf 8810//8810 9562//9562 8613//8613\nf 8613//8613 9559//9559 8810//8810\nf 8613//8613 8810//8810 9559//9559\nf 9174//9174 9128//9128 9406//9406\nf 9789//9789 9403//9403 9406//9406\nf 9403//9403 9174//9174 9406//9406\nf 9035//9035 9561//9561 9031//9031\nf 8805//8805 8815//8815 9407//9407\nf 9408//9408 9037//9037 8617//8617\nf 9408//9408 8617//8617 9564//9564\nf 8617//8617 9562//9562 9564//9564\nf 9562//9562 8617//8617 8613//8613\nf 9794//9794 9036//9036 9177//9177\nf 9262//9262 9132//9132 9411//9411\nf 9406//9406 9176//9176 9413//9413\nf 8618//8618 9134//9134 9409//9409\nf 9794//9794 9177//9177 8818//8818\nf 9411//9411 9131//9131 9565//9565\nf 9796//9796 9412//9412 9175//9175\nf 8621//8621 8618//8618 9409//9409\nf 9413//9413 9412//9412 9797//9797\nf 9410//9410 9566//9566 9178//9178\nf 9800//9800 8815//8815 9567//9567\nf 9568//9568 9799//9799 8818//8818\nf 9567//9567 8815//8815 8819//8819\nf 9802//9802 9804//9804 9039//9039\nf 8627//8627 9265//9265 9572//9572\nf 9569//9569 9135//9135 9573//9573\nf 8821//8821 9574//9574 9805//9805\nf 9135//9135 8824//8824 9573//9573\nf 9576//9576 8823//8823 9575//9575\nf 9136//9136 8823//8823 9576//9576\nf 9042//9042 8626//8626 9807//9807\nf 9179//9179 9136//9136 9576//9576\nf 9807//9807 9578//9578 9042//9042\nf 9578//9578 9417//9417 9049//9049\nf 9418//9418 8472//8472 9180//9180\nf 8472//8472 9418//9418 9420//9420\nf 8631//8631 8825//8825 9419//9419\nf 9418//9418 9579//9579 9420//9420\nf 9580//9580 9052//9052 8633//8633\nf 8827//8827 9137//9137 9581//9581\nf 9055//9055 9270//9270 9423//9423\nf 8632//8632 9582//9582 8635//8635\nf 9058//9058 8635//8635 9586//9586\nf 9053//9053 9059//9059 9424//9424\nf 9821//9821 8637//8637 9273//9273\nf 9275//9275 9588//9588 9430//9430\nf 8837//8837 9588//9588 9275//9275\nf 9274//9274 9060//9060 9429//9429\nf 9429//9429 9062//9062 9825//9825\nf 9276//9276 9589//9589 8836//8836\nf 9587//9587 9590//9590 9063//9063\nf 8648//8648 8838//8838 9430//9430\nf 9276//9276 9279//9279 9589//9589\nf 8839//8839 9063//9063 9590//9590\nf 8839//8839 9590//9590 9592//9592\nf 9827//9827 9281//9281 9824//9824\nf 9824//9824 9281//9281 8648//8648\nf 9069//9069 9280//9280 9067//9067\nf 9069//9069 9593//9593 9280//9280\nf 9069//9069 9070//9070 9433//9433\nf 8651//8651 8843//8843 9432//9432\nf 9138//9138 9594//9594 9431//9431\nf 9832//9832 8843//8843 9432//9432\nf 8843//8843 8651//8651 9432//9432\nf 9283//9283 9432//9432 9071//9071\nf 9284//9284 8843//8843 9432//9432\nf 9139//9139 9596//9596 9285//9285\nf 9435//9435 9596//9596 9139//9139\nf 9838//9838 9182//9182 9431//9431\nf 9838//9838 9431//9431 9182//9182\nf 9435//9435 9139//9139 9431//9431\nf 9431//9431 9139//9139 9182//9182\nf 8845//8845 9841//9841 9839//9839\nf 9843//9843 9598//9598 9140//9140\nf 9082//9082 9080//9080 9436//9436\nf 9843//9843 9140//9140 9081//9081\nf 8847//8847 9437//9437 8660//8660\nf 9848//9848 9288//9288 9440//9440\nf 8850//8850 9085//9085 9443//9443\nf 9290//9290 9445//9445 9442//9442\nf 9849//9849 8665//8665 9443//9443\nf 9086//9086 9289//9289 9444//9444\nf 9445//9445 9442//9442 9290//9290\nf 9442//9442 9445//9445 9290//9290\nf 9447//9447 9602//9602 9445//9445\nf 9852//9852 9603//9603 9291//9291\nf 9852//9852 8668//8668 9603//9603\nf 9852//9852 9449//9449 8668//8668\nf 9852//9852 9853//9853 9449//9449\nf 9604//9604 9602//9602 9448//9448\nf 9602//9602 9447//9447 9448//9448\nf 9609//9609 8863//8863 8864//8864\nf 9609//9609 8864//8864 9610//9610\nf 9610//9610 8864//8864 8866//8866\nf 9297//9297 9610//9610 8866//8866\nf 9193//9193 9297//9297 8866//8866\nf 9187//9187 8679//8679 9612//9612\nf 9451//9451 8865//8865 9188//9188\nf 9298//9298 9189//9189 8859//8859\nf 9293//9293 9092//9092 9450//9450\nf 10192//10192 9293//9293 10001//10001\nf 8861//8861 9606//9606 9296//9296\nf 9614//9614 8678//8678 9185//9185\nf 9188//9188 9452//9452 9451//9451\nf 9188//9188 9091//9091 9452//9452\nf 8684//8684 8688//8688 9616//9616\nf 8675//8675 9453//9453 9613//9613\nf 9297//9297 8485//8485 8874//8874\nf 9301//9301 9297//9297 8874//8874\nf 8683//8683 9298//9298 9619//9619\nf 9620//9620 8867//8867 9296//9296\nf 9453//9453 9190//9190 9455//9455\nf 9190//9190 8676//8676 9455//9455\nf 9299//9299 9455//9455 9191//9191\nf 9191//9191 9192//9192 9454//9454\nf 10622//10622 9456//9456 10671//10671\nf 9194//9194 9300//9300 8876//8876\nf 10210//10210 9303//9303 10622//10622\nf 9304//9304 9307//9307 8877//8877\nf 8682//8682 8482//8482 9623//9623\nf 9623//9623 8482//8482 9624//9624\nf 8690//8690 8683//8683 9626//9626\nf 9306//9306 9627//9627 9195//9195\nf 8879//8879 9620//9620 8882//8882\nf 9631//9631 9621//9621 8885//8885\nf 9621//9621 9631//9631 9632//9632\nf 9302//9302 9633//9633 8883//8883\nf 8884//8884 9460//9460 9194//9194\nf 9627//9627 8886//8886 9195//9195\nf 9196//9196 8872//8872 9459//9459\nf 9625//9625 8878//8878 8881//8881\nf 8881//8881 8889//8889 9629//9629\nf 8882//8882 9630//9630 9634//9634\nf 9631//9631 8885//8885 8883//8883\nf 9631//9631 8883//8883 9632//9632\nf 9637//9637 9629//9629 8889//8889\nf 8887//8887 8882//8882 9634//9634\nf 9635//9635 9460//9460 8884//8884\nf 8888//8888 9627//9627 9636//9636\nf 8489//8489 8888//8888 9636//9636\nf 9635//9635 8884//8884 9460//9460\nf 9461//9461 9460//9460 8890//8890\nf 8890//8890 9460//9460 8884//8884\nf 8891//8891 8489//8489 9638//9638\nf 8889//8889 8490//8490 9197//9197\nf 9310//9310 9639//9639 8892//8892\nf 9640//9640 8891//8891 9638//9638\nf 9641//9641 9197//9197 8494//8494\nf 8892//8892 9644//9644 8493//8493\nf 9643//9643 8890//8890 9311//9311\nf 8494//8494 9199//9199 9462//9462\nf 8495//8495 8493//8493 9644//9644\nf 8899//8899 8897//8897 9642//9642\nf 8495//8495 9645//9645 8898//8898\nf 8899//8899 9463//9463 8900//8900\nf 9199//9199 8496//8496 9646//9646\nf 8496//8496 8901//8901 9646//9646\nf 9095//9095 9465//9465 9648//9648\nf 9313//9313 8501//8501 9649//9649\nf 9649//9649 8501//8501 9096//9096\nf 9465//9465 8696//8696 9651//9651\nf 9201//9201 9200//9200 9650//9650\nf 8697//8697 9654//9654 9150//9150\nf 9655//9655 8699//8699 9466//9466\nf 8697//8697 8503//8503 9654//9654\nf 9203//9203 8700//8700 9467//9467\nf 9314//9314 8503//8503 9468//9468\nf 8909//8909 8701//8701 9657//9657\nf 9658//9658 8907//8907 8912//8912\nf 8913//8913 8908//8908 9656//9656\nf 9658//9658 8912//8912 9469//9469\nf 8911//8911 9661//9661 9659//9659\nf 8911//8911 8703//8703 9661//9661\nf 9660//9660 8914//8914 9204//9204\nf 9662//9662 9661//9661 8703//8703\nf 9472//9472 8914//8914 9663//9663\nf 9315//9315 8704//8704 9664//9664\nf 8916//8916 9471//9471 9205//9205\nf 9206//9206 8914//8914 9472//9472\nf 9665//9665 9473//9473 9207//9207\nf 10269//10269 9316//9316 9666//9666\nf 9208//9208 9207//9207 8505//8505\nf 9208//9208 9665//9665 9207//9207\nf 8918//8918 8708//8708 9666//9666\nf 9666//9666 8708//8708 8709//8709\nf 9670//9670 9208//9208 8505//8505\nf 8921//8921 9099//9099 9476//9476\nf 8713//8713 9667//9667 8709//8709\nf 9475//9475 9669//9669 8712//8712\nf 8710//8710 9475//9475 8712//8712\nf 9477//9477 9151//9151 9669//9669\nf 9668//9668 8713//8713 8922//8922\nf 9674//9674 9673//9673 8922//8922\nf 9152//9152 9674//9674 8922//8922\nf 8924//8924 9480//9480 9152//9152\nf 9480//9480 9674//9674 9152//9152\nf 8714//8714 9317//9317 9672//9672\nf 9480//9480 8924//8924 9675//9675\nf 9675//9675 8924//8924 8716//8716\nf 8715//8715 9479//9479 9321//9321\nf 9153//9153 8715//8715 9321//9321\nf 8928//8928 8926//8926 9676//9676\nf 9323//9323 9675//9675 8927//8927\nf 9481//9481 9324//9324 9321//9321\nf 9322//9322 8929//8929 9482//9482\nf 8508//8508 8719//8719 9323//9323\nf 9101//9101 8928//8928 9679//9679\nf 8928//8928 9677//9677 9679//9679\nf 9481//9481 9681//9681 9324//9324\nf 9681//9681 8720//8720 9324//9324\nf 8719//8719 9209//9209 9680//9680\nf 9681//9681 8454//8454 8720//8720\nf 9101//9101 9679//9679 9683//9683\nf 9325//9325 9209//9209 8510//8510\nf 9682//9682 9154//9154 8721//8721\nf 9682//9682 8721//8721 9684//9684\nf 8932//8932 9101//9101 9683//9683\nf 9681//9681 9685//9685 8454//8454\nf 8510//8510 8723//8723 9325//9325\nf 9325//9325 8723//8723 9686//9686\nf 8515//8515 8454//8454 9687//9687\nf 8515//8515 9687//9687 9689//9689\nf 9688//9688 8724//8724 9210//9210\nf 8515//8515 9689//9689 8938//8938\nf 9686//9686 8723//8723 8937//8937\nf 8937//8937 9489//9489 9686//9686\nf 8940//8940 9489//9489 8937//8937\nf 9689//9689 9690//9690 9486//9486\nf 8729//8729 9486//9486 9690//9690\nf 9691//9691 9329//9329 8941//8941\nf 9213//9213 9691//9691 8941//8941\nf 9104//9104 9690//9690 9332//9332\nf 9694//9694 8940//8940 8525//8525\nf 9694//9694 9489//9489 8940//8940\nf 9487//9487 9330//9330 9695//9695\nf 9103//9103 9328//9328 9692//9692\nf 9103//9103 9692//9692 9331//9331\nf 9695//9695 9330//9330 9696//9696\nf 9213//9213 9156//9156 9490//9490\nf 9214//9214 8943//8943 9334//9334\nf 9212//9212 9334//9334 8943//8943\nf 9694//9694 8525//8525 9697//9697\nf 8528//8528 9697//9697 8525//8525\nf 9213//9213 8731//8731 9490//9490\nf 9333//9333 8523//8523 9492//9492\nf 9490//9490 8731//8731 9493//9493\nf 9696//9696 9491//9491 9338//9338\nf 8528//8528 9335//9335 9700//9700\nf 8948//8948 9334//9334 9701//9701\nf 8733//8733 8946//8946 9494//9494\nf 8950//8950 9337//9337 9493//9493\nf 9338//9338 9496//9496 9702//9702\nf 9215//9215 9335//9335 8949//8949\nf 9703//9703 9159//9159 8733//8733\nf 9159//9159 9703//9703 9341//9341\nf 9494//9494 9703//9703 8733//8733\nf 9337//9337 8952//8952 9339//9339\nf 9108//9108 9496//9496 9338//9338\nf 8954//8954 9340//9340 9343//9343\nf 8742//8742 9704//9704 8739//8739\nf 9216//9216 9342//9342 8956//8956\nf 8738//8738 8953//8953 9705//9705\nf 8958//8958 9498//9498 9499//9499\nf 9109//9109 9345//9345 9500//9500\nf 9344//9344 9109//9109 9500//9500\nf 9705//9705 9502//9502 8738//8738\nf 9343//9343 9501//9501 8954//8954\nf 9704//9704 8742//8742 9346//9346\nf 10043//10043 9346//9346 9706//9706\nf 9502//9502 8539//8539 8738//8738\nf 9501//9501 9503//9503 9218//9218\nf 9346//9346 8957//8957 9706//9706\nf 9218//9218 9503//9503 8540//8540\nf 9503//9503 9506//9506 8744//8744\nf 8538//8538 9504//9504 9709//9709\nf 9707//9707 9711//9711 8963//8963\nf 8962//8962 9219//9219 9349//9349\nf 9348//9348 8959//8959 9111//9111\nf 9504//9504 8549//8549 9717//9717\nf 9712//9712 9505//9505 9350//9350\nf 9714//9714 9351//9351 9348//9348\nf 8551//8551 9715//9715 9349//9349\nf 8965//8965 9506//9506 9716//9716\nf 9712//9712 9350//9350 9352//9352\nf 8551//8551 8750//8750 9718//9718\nf 8551//8551 9718//9718 9715//9715\nf 8549//8549 9221//9221 9717//9717\nf 9513//9513 8968//8968 9719//9719\nf 9719//9719 8749//8749 9864//9864\nf 8966//8966 9718//9718 8750//8750\nf 8751//8751 8965//8965 9716//9716\nf 8968//8968 8749//8749 9719//9719\nf 9114//9114 9516//9516 9510//9510\nf 8966//8966 9512//9512 9718//9718\nf 9717//9717 9221//9221 8754//8754\nf 9866//9866 9717//9717 9515//9515\nf 8751//8751 9716//9716 9353//9353\nf 9507//9507 8548//8548 9720//9720\nf 9512//9512 8966//8966 9723//9723\nf 8967//8967 9721//9721 9223//9223\nf 9511//9511 9113//9113 9722//9722\nf 9511//9511 9722//9722 9113//9113\nf 8755//8755 9511//9511 9722//9722\nf 9723//9723 8966//8966 9115//9115\nf 9721//9721 8967//8967 8760//8760\nf 8755//8755 9722//9722 9355//9355\nf 9518//9518 8753//8753 9513//9513\nf 9355//9355 9521//9521 8755//8755\nf 8975//8975 9520//9520 9723//9723\nf 8753//8753 9518//9518 9725//9725\nf 9227//9227 9354//9354 9116//9116\nf 9226//9226 9228//9228 9357//9357\nf 9524//9524 9520//9520 8562//8562\nf 9227//9227 8977//8977 8565//8565\nf 9726//9726 9525//9525 9522//9522\nf 9523//9523 9522//9522 9525//9525\nf 8980//8980 8762//8762 9358//9358\nf 9526//9526 9524//9524 8982//8982\nf 9527//9527 9161//9161 8983//8983\nf 9529//9529 9162//9162 9525//9525\nf 9528//9528 9165//9165 9366//9366\nf 9921//9921 9983//9983 9530//9530\nf 9731//9731 8984//8984 9361//9361\nf 9529//9529 9732//9732 9365//9365\nf 9730//9730 8766//8766 9364//9364\nf 9364//9364 9117//9117 9231//9231\nf 8991//8991 9364//9364 9231//9231\nf 9736//9736 8992//8992 9732//9732\nf 9735//9735 9367//9367 8987//8987\nf 9231//9231 8991//8991 9235//9235\nf 9737//9737 8770//8770 8990//8990\nf 8988//8988 9233//9233 9531//9531\nf 9363//9363 9873//9873 9233//9233\nf 9873//9873 9531//9531 9233//9233\nf 9165//9165 9234//9234 8989//8989\nf 9165//9165 8989//8989 9532//9532\nf 9369//9369 9739//9739 9533//9533\nf 9533//9533 9739//9739 9369//9369\nf 8989//8989 9167//9167 9532//9532\nf 9740//9740 9370//9370 9736//9736\nf 9741//9741 9235//9235 8574//8574\nf 9742//9742 8571//8571 9367//9367\nf 8995//8995 8771//8771 9742//9742\nf 9743//9743 9738//9738 8580//8580\nf 8995//8995 9742//9742 9237//9237\nf 9373//9373 9000//9000 9744//9744\nf 9744//9744 9000//9000 9373//9373\nf 9374//9374 9744//9744 9373//9373\nf 9746//9746 9236//9236 8994//8994\nf 9749//9749 9369//9369 9533//9533\nf 9372//9372 9743//9743 8580//8580\nf 8988//8988 9750//9750 8993//8993\nf 8994//8994 9238//9238 9748//9748\nf 9239//9239 9371//9371 9167//9167\nf 9749//9749 9533//9533 9535//9535\nf 8993//8993 9750//9750 9752//9752\nf 9536//9536 9749//9749 9535//9535\nf 8588//8588 9118//9118 9747//9747\nf 9538//9538 9001//9001 8588//8588\nf 9540//9540 8583//8583 9539//9539\nf 8589//8589 8583//8583 9540//9540\nf 9377//9377 8584//8584 9380//9380\nf 9168//9168 9537//9537 9753//9753\nf 9379//9379 9003//9003 9754//9754\nf 9754//9754 9542//9542 9379//9379\nf 9755//9755 8777//8777 9001//9001\nf 9755//9755 9001//9001 9538//9538\nf 9754//9754 9003//9003 9542//9542\nf 9758//9758 9757//9757 9385//9385\nf 9759//9759 8589//8589 9756//9756\nf 9383//9383 9172//9172 9544//9544\nf 9544//9544 9172//9172 8777//8777\nf 9384//9384 9122//9122 9753//9753\nf 9757//9757 9543//9543 9385//9385\nf 8589//8589 9759//9759 9170//9170\nf 9545//9545 9170//9170 9759//9759\nf 9382//9382 9546//9546 9762//9762\nf 9545//9545 9761//9761 9007//9007\nf 9760//9760 9004//9004 9005//9005\nf 9172//9172 9383//9383 9547//9547\nf 8593//8593 9172//9172 9547//9547\nf 9384//9384 9386//9386 9122//9122\nf 9758//9758 9385//9385 9548//9548\nf 9122//9122 9386//9386 9123//9123\nf 9385//9385 9173//9173 9548//9548\nf 9762//9762 9546//9546 9124//9124\nf 9765//9765 9010//9010 9763//9763\nf 9248//9248 8597//8597 9387//9387\nf 9246//9246 9549//9549 9762//9762\nf 9386//9386 9764//9764 9125//9125\nf 9249//9249 9010//9010 9765//9765\nf 9764//9764 9014//9014 9125//9125\nf 9014//9014 9764//9764 9253//9253\nf 9391//9391 8789//8789 9765//9765\nf 9248//9248 9550//9550 8600//8600\nf 9016//9016 9769//9769 9550//9550\nf 9552//9552 9392//9392 9020//9020\nf 9016//9016 9550//9550 9771//9771\nf 9771//9771 9550//9550 9769//9769\nf 9772//9772 8602//8602 9253//9253\nf 9772//9772 9021//9021 8602//8602\nf 9773//9773 8794//8794 9774//9774\nf 9773//9773 8797//8797 8794//8794\nf 9775//9775 9021//9021 9772//9772\nf 8797//8797 9773//9773 9776//9776\nf 9554//9554 9551//9551 9017//9017\nf 9396//9396 9774//9774 8794//8794\nf 9553//9553 9019//9019 9770//9770\nf 9020//9020 9257//9257 9552//9552\nf 8798//8798 9771//9771 8806//8806\nf 9775//9775 9778//9778 9024//9024\nf 9555//9555 9026//9026 9397//9397\nf 9026//9026 9555//9555 9397//9397\nf 9396//9396 9255//9255 9556//9556\nf 9258//9258 9777//9777 9780//9780\nf 9024//9024 9781//9781 8801//8801\nf 9778//9778 9781//9781 9024//9024\nf 9398//9398 9397//9397 9402//9402\nf 8801//8801 9781//9781 9785//9785\nf 9396//9396 9556//9556 8799//8799\nf 9399//9399 9396//9396 8799//8799\nf 9127//9127 9783//9783 8611//8611\nf 9782//9782 9783//9783 9127//9127\nf 8813//8813 9779//9779 9025//9025\nf 9785//9785 8808//8808 8801//8801\nf 9554//9554 9256//9256 9400//9400\nf 9779//9779 8813//8813 9401//9401\nf 9876//9876 9779//9779 9401//9401\nf 9399//9399 9027//9027 9557//9557\nf 9557//9557 9027//9027 9787//9787\nf 9559//9559 9562//9562 8810//8810\nf 9031//9031 9561//9561 8609//8609\nf 9559//9559 8810//8810 9560//9560\nf 9404//9404 9788//9788 8614//8614\nf 9401//9401 9130//9130 9036//9036\nf 8808//8808 9785//9785 9405//9405\nf 9403//9403 9789//9789 9790//9790\nf 9403//9403 9790//9790 9558//9558\nf 9029//9029 9402//9402 9791//9791\nf 9792//9792 9561//9561 9035//9035\nf 9410//9410 9029//9029 9791//9791\nf 9794//9794 9793//9793 9036//9036\nf 9129//9129 9029//9029 9410//9410\nf 9035//9035 9563//9563 9792//9792\nf 9788//9788 9409//9409 8614//8614\nf 9262//9262 9412//9412 9175//9175\nf 9129//9129 9410//9410 9566//9566\nf 9566//9566 9410//9410 9129//9129\nf 9405//9405 9795//9795 9133//9133\nf 9133//9133 9795//9795 9405//9405\nf 9412//9412 9796//9796 9175//9175\nf 9565//9565 9262//9262 9411//9411\nf 9406//9406 9413//9413 9797//9797\nf 9795//9795 9133//9133 9405//9405\nf 9565//9565 9133//9133 9795//9795\nf 9414//9414 9178//9178 9566//9566\nf 9800//9800 9567//9567 8819//8819\nf 9038//9038 9803//9803 9568//9568\nf 9039//9039 9414//9414 9802//9802\nf 9800//9800 8819//8819 9569//9569\nf 8821//8821 9803//9803 9038//9038\nf 9039//9039 9804//9804 9570//9570\nf 8819//8819 9135//9135 9569//9569\nf 9570//9570 8622//8622 9039//9039\nf 9572//9572 9416//9416 8627//8627\nf 9806//9806 9266//9266 8626//8626\nf 9806//9806 8626//8626 9266//9266\nf 9807//9807 8626//8626 9266//9266\nf 9576//9576 9808//9808 9179//9179\nf 9574//9574 8628//8628 9577//9577\nf 9808//9808 9180//9180 9179//9179\nf 9578//9578 9049//9049 9042//9042\nf 9808//9808 9579//9579 9180//9180\nf 9811//9811 9809//9809 9047//9047\nf 9809//9809 8824//8824 9047//9047\nf 9578//9578 9807//9807 9417//9417\nf 9043//9043 9046//9046 9048//9048\nf 9810//9810 9050//9050 9812//9812\nf 9579//9579 9418//9418 9180//9180\nf 8825//8825 9049//9049 9417//9417\nf 9812//9812 9050//9050 9267//9267\nf 9812//9812 9267//9267 9813//9813\nf 8633//8633 8631//8631 9878//9878\nf 9267//9267 8636//8636 9421//9421\nf 9267//9267 9051//9051 8636//8636\nf 9054//9054 9052//9052 9580//9580\nf 9581//9581 9054//9054 9815//9815\nf 9137//9137 9054//9054 9581//9581\nf 9269//9269 8827//8827 9581//9581\nf 8632//8632 9420//9420 9582//9582\nf 9424//9424 9422//9422 9053//9053\nf 8830//8830 9269//9269 9817//9817\nf 9270//9270 9271//9271 9583//9583\nf 9423//9423 9270//9270 9816//9816\nf 9582//9582 9584//9584 8635//8635\nf 8832//8832 8830//8830 9817//9817\nf 8638//8638 9272//9272 9818//9818\nf 8638//8638 9818//9818 9583//9583\nf 8833//8833 9181//9181 9425//9425\nf 9819//9819 8837//8837 9056//9056\nf 9063//9063 9058//9058 9587//9587\nf 9823//9823 8837//8837 9819//9819\nf 9056//9056 9820//9820 9819//9819\nf 9056//9056 9426//9426 9820//9820\nf 9820//9820 9427//9427 9821//9821\nf 9820//9820 9426//9426 9427//9427\nf 9821//9821 9427//9427 8637//8637\nf 9424//9424 9059//9059 9822//9822\nf 9823//9823 9588//9588 8837//8837\nf 9274//9274 9429//9429 9882//9882\nf 9280//9280 9822//9822 9059//9059\nf 9430//9430 9588//9588 9824//9824\nf 9062//9062 9589//9589 9825//9825\nf 9062//9062 8836//8836 9589//9589\nf 9592//9592 9591//9591 8647//8647\nf 9067//9067 9280//9280 9059//9059\nf 9826//9826 9279//9279 9065//9065\nf 9065//9065 9066//9066 9828//9828\nf 9829//9829 8840//8840 9827//9827\nf 8840//8840 9281//9281 9827//9827\nf 9282//9282 8840//8840 9830//9830\nf 8840//8840 9829//9829 9830//9830\nf 9282//9282 9830//9830 9138//9138\nf 9593//9593 9069//9069 9433//9433\nf 9594//9594 9138//9138 9831//9831\nf 9831//9831 9595//9595 9431//9431\nf 9431//9431 9594//9594 9831//9831\nf 9432//9432 8843//8843 9284//9284\nf 9283//9283 9832//9832 9432//9432\nf 9283//9283 9833//9833 9832//9832\nf 9833//9833 9283//9283 9285//9285\nf 9075//9075 9836//9836 8656//8656\nf 9073//9073 9284//9284 9834//9834\nf 9073//9073 9834//9834 9074//9074\nf 9075//9075 9835//9835 9836//9836\nf 9182//9182 9595//9595 9838//9838\nf 9837//9837 9838//9838 9595//9595\nf 9838//9838 9431//9431 9182//9182\nf 9431//9431 9838//9838 9435//9435\nf 9839//9839 9076//9076 8845//8845\nf 9840//9840 8657//8657 9836//9836\nf 8657//8657 8656//8656 9836//9836\nf 8845//8845 8846//8846 9597//9597\nf 9083//9083 9843//9843 9081//9081\nf 9843//9843 9083//9083 9845//9845\nf 9286//9286 8661//8661 9844//9844\nf 9845//9845 8660//8660 9437//9437\nf 9845//9845 9083//9083 8660//8660\nf 9844//9844 9084//9084 9286//9286\nf 9844//9844 9846//9846 9084//9084\nf 8847//8847 9438//9438 9437//9437\nf 9439//9439 9438//9438 9287//9287\nf 9847//9847 8848//8848 9084//9084\nf 8848//8848 9848//9848 8662//8662\nf 8848//8848 9847//9847 9848//9848\nf 8662//8662 9848//9848 9440//9440\nf 9141//9141 9442//9442 9439//9439\nf 9141//9141 9599//9599 9442//9442\nf 9288//9288 9848//9848 9085//9085\nf 9848//9848 9441//9441 9085//9085\nf 9289//9289 8665//8665 9849//9849\nf 9444//9444 9289//9289 9849//9849\nf 9445//9445 9602//9602 9442//9442\nf 9850//9850 9087//9087 9444//9444\nf 8852//8852 9087//9087 9600//9600\nf 9088//9088 8852//8852 9600//9600\nf 8853//8853 9601//9601 9851//9851\nf 8854//8854 9885//9885 9446//9446\nf 9446//9446 9852//9852 8854//8854\nf 8854//8854 9852//9852 9291//9291\nf 9604//9604 9853//9853 9602//9602\nf 9448//9448 9449//9449 9853//9853\nf 9604//9604 9448//9448 9853//9853\nf 9605//9605 8859//8859 9293//9293\nf 9606//9606 8861//8861 9854//9854\nf 8861//8861 8673//8673 9607//9607\nf 9607//9607 8674//8674 9608//9608\nf 9615//9615 8868//8868 9295//9295\nf 9608//9608 8674//8674 9613//9613\nf 9185//9185 9888//9888 9614//9614\nf 9185//9185 9294//9294 9888//9888\nf 9450//9450 8684//8684 9616//9616\nf 9889//9889 9967//9967 10623//10623\nf 9617//9617 8484//8484 9300//9300\nf 9452//9452 8480//8480 9618//9618\nf 8688//8688 8691//8691 9616//9616\nf 9620//9620 8879//8879 8867//8867\nf 9299//9299 9191//9191 9454//9454\nf 9889//9889 8689//8689 9967//9967\nf 8480//8480 8682//8682 9618//9618\nf 9622//9622 9148//9148 9303//9303\nf 9618//9618 8682//8682 9623//9623\nf 9624//9624 9457//9457 9628//9628\nf 9457//9457 9458//9458 9628//9628\nf 9625//9625 8881//8881 9629//9629\nf 9620//9620 9630//9630 8882//8882\nf 9633//9633 9621//9621 9632//9632\nf 9633//9633 9632//9632 8883//8883\nf 9638//9638 8489//8489 9856//9856\nf 9856//9856 8489//8489 9636//9636\nf 9892//9892 9460//9460 9461//9461\nf 9640//9640 8895//8895 8891//8891\nf 9642//9642 8895//8895 9857//9857\nf 8494//8494 9462//9462 9641//9641\nf 8890//8890 9643//9643 9461//9461\nf 8892//8892 9639//9639 9644//9644\nf 8893//8893 9311//9311 9643//9643\nf 9311//9311 8893//8893 9643//9643\nf 9463//9463 8899//8899 9858//9858\nf 9645//9645 9464//9464 8898//8898\nf 9647//9647 8499//8499 9464//9464\nf 9650//9650 9859//9859 9463//9463\nf 9465//9465 8696//8696 9648//9648\nf 8696//8696 9465//9465 9648//9648\nf 9650//9650 9200//9200 8902//8902\nf 8902//8902 9859//9859 9650//9650\nf 9466//9466 8499//8499 9647//9647\nf 8500//8500 9150//9150 9653//9653\nf 9654//9654 9653//9653 9150//9150\nf 9467//9467 8700//8700 9201//9201\nf 8908//8908 9655//9655 9656//9656\nf 9468//9468 8909//8909 9657//9657\nf 8915//8915 8913//8913 9656//9656\nf 9469//9469 8704//8704 9315//9315\nf 9664//9664 8704//8704 9316//9316\nf 9471//9471 8706//8706 9473//9473\nf 9664//9664 9316//9316 8918//8918\nf 8918//8918 9316//9316 9664//9664\nf 9316//9316 8918//8918 9666//9666\nf 9099//9099 9472//9472 9860//9860\nf 9860//9860 9476//9476 9099//9099\nf 8713//8713 9668//9668 9667//9667\nf 9317//9317 9476//9476 9672//9672\nf 9671//9671 8923//8923 9318//9318\nf 9673//9673 9668//9668 8922//8922\nf 9319//9319 9318//9318 8925//8925\nf 9478//9478 9672//9672 9861//9861\nf 9320//9320 9478//9478 9676//9676\nf 9319//9319 8507//8507 9322//9322\nf 9321//9321 9898//9898 9481//9481\nf 9676//9676 9677//9677 8928//8928\nf 9209//9209 9325//9325 9680//9680\nf 9687//9687 9685//9685 9681//9681\nf 8454//8454 9685//9685 9687//9687\nf 9688//9688 9210//9210 9683//9683\nf 9210//9210 8932//8932 9683//9683\nf 9900//9900 9210//9210 9688//9688\nf 9486//9486 8938//8938 9689//9689\nf 9213//9213 9329//9329 9691//9691\nf 9484//9484 9487//9487 9695//9695\nf 9485//9485 9484//9484 9862//9862\nf 9484//9484 9693//9693 9862//9862\nf 9485//9485 9862//9862 9328//9328\nf 9693//9693 9484//9484 9695//9695\nf 9328//9328 9862//9862 9692//9692\nf 9331//9331 9904//9904 9492//9492\nf 9905//9905 9213//9213 9493//9493\nf 9158//9158 8950//8950 9493//9493\nf 9335//9335 9700//9700 8949//8949\nf 9700//9700 9335//9335 8949//8949\nf 9340//9340 8732//8732 9699//9699\nf 8951//8951 9495//9495 9497//9497\nf 8739//8739 9704//9704 9215//9215\nf 9342//9342 9216//9216 8956//8956\nf 9110//9110 9708//9708 9345//9345\nf 9709//9709 9347//9347 8538//8538\nf 9110//9110 9349//9349 9708//9708\nf 8957//8957 8960//8960 9706//9706\nf 9110//9110 8962//8962 9349//9349\nf 8749//8749 9112//9112 9711//9711\nf 9864//9864 8749//8749 9711//9711\nf 9504//9504 8964//8964 8549//8549\nf 9508//9508 9863//9863 9509//9509\nf 9508//9508 9713//9713 9863//9863\nf 9351//9351 8747//8747 9714//9714\nf 9515//9515 9509//9509 9866//9866\nf 9716//9716 9865//9865 9517//9517\nf 9717//9717 9514//9514 9515//9515\nf 9720//9720 9223//9223 9721//9721\nf 9225//9225 9116//9116 9354//9354\nf 9521//9521 9355//9355 8755//8755\nf 9522//9522 9356//9356 9519//9519\nf 9914//9914 9522//9522 9519//9519\nf 8760//8760 9357//9357 9724//9724\nf 9358//9358 8762//8762 9521//9521\nf 9227//9227 8565//8565 9727//9727\nf 9869//9869 9868//9868 9227//9227\nf 9527//9527 8983//8983 9725//9725\nf 9361//9361 8763//8763 9728//9728\nf 9870//9870 9526//9526 9528//9528\nf 9524//9524 9526//9526 9870//9870\nf 9729//9729 9161//9161 9527//9527\nf 9164//9164 9161//9161 9729//9729\nf 9727//9727 8765//8765 9983//9983\nf 9528//9528 9163//9163 9165//9165\nf 8766//8766 9730//9730 9362//9362\nf 9733//9733 8987//8987 9164//9164\nf 9983//9983 8765//8765 9530//9530\nf 9733//9733 9164//9164 9871//9871\nf 8987//8987 9733//9733 9735//9735\nf 9732//9732 8992//8992 9232//9232\nf 8991//8991 9231//9231 9364//9364\nf 9235//9235 9364//9364 9231//9231\nf 9369//9369 9739//9739 9872//9872\nf 9921//9921 8770//8770 9737//9737\nf 9734//9734 9369//9369 9872//9872\nf 8990//8990 9738//9738 9737//9737\nf 8574//8574 9746//9746 9741//9741\nf 9742//9742 8771//8771 8571//8571\nf 8988//8988 9531//9531 9745//9745\nf 9739//9739 9369//9369 9749//9749\nf 8988//8988 9745//9745 9750//9750\nf 9532//9532 9167//9167 9371//9371\nf 9923//9923 9532//9532 9371//9371\nf 9238//9238 8996//8996 9751//9751\nf 8996//8996 8997//8997 9751//9751\nf 9371//9371 9239//9239 9377//9377\nf 9874//9874 9374//9374 9379//9379\nf 8588//8588 9747//9747 9538//9538\nf 9874//9874 9379//9379 9542//9542\nf 9243//9243 9543//9543 9542//9542\nf 9544//9544 8777//8777 9755//9755\nf 9004//9004 9760//9760 9380//9380\nf 9928//9928 9382//9382 9762//9762\nf 9761//9761 9763//9763 8784//8784\nf 9761//9761 8784//8784 9007//9007\nf 9388//9388 8594//8594 9250//9250\nf 9550//9550 9248//9248 9931//9931\nf 9766//9766 9389//9389 9390//9390\nf 9013//9013 9392//9392 9250//9250\nf 8789//8789 9391//9391 9770//9770\nf 9019//9019 8789//8789 9770//9770\nf 9016//9016 9550//9550 9769//9769\nf 9390//9390 9551//9551 9767//9767\nf 9933//9933 9772//9772 9253//9253\nf 9396//9396 9773//9773 9774//9774\nf 9771//9771 9777//9777 8806//8806\nf 9554//9554 9875//9875 9551//9551\nf 9127//9127 9553//9553 9782//9782\nf 9258//9258 9780//9780 9784//9784\nf 9397//9397 9877//9877 9402//9402\nf 9783//9783 9560//9560 8611//8611\nf 9032//9032 9028//9028 9404//9404\nf 9404//9404 9028//9028 9784//9784\nf 8805//8805 9407//9407 9786//9786\nf 8810//8810 8468//8468 9560//9560\nf 9400//9400 9558//9558 9790//9790\nf 9262//9262 9796//9796 9412//9412\nf 9943//9943 9566//9566 9410//9410\nf 9944//9944 9794//9794 9799//9799\nf 9797//9797 9412//9412 9796//9796\nf 9944//9944 9799//9799 9568//9568\nf 9264//9264 8622//8622 9570//9570\nf 9266//9266 9263//9263 9415//9415\nf 9803//9803 8821//8821 9805//9805\nf 9265//9265 9264//9264 9571//9571\nf 9266//9266 9415//9415 9806//9806\nf 8823//8823 9572//9572 9575//9575\nf 9577//9577 9043//9043 9048//9048\nf 9810//9810 9048//9048 9050//9050\nf 9811//9811 9047//9047 9422//9422\nf 9814//9814 8633//8633 9878//9878\nf 9579//9579 9879//9879 9420//9420\nf 9949//9949 9948//9948 9422//9422\nf 9055//9055 9423//9423 9421//9421\nf 9271//9271 8638//8638 9583//9583\nf 9270//9270 9583//9583 9816//9816\nf 8832//8832 9817//9817 9880//9880\nf 9181//9181 8832//8832 9881//9881\nf 9952//9952 9425//9425 9951//9951\nf 9425//9425 9181//9181 9585//9585\nf 8833//8833 9425//9425 9818//9818\nf 9272//9272 8833//8833 9818//9818\nf 9586//9586 8635//8635 9584//9584\nf 9587//9587 9058//9058 9586//9586\nf 9821//9821 9273//9273 9428//9428\nf 9882//9882 9428//9428 9274//9274\nf 9882//9882 9429//9429 9825//9825\nf 9065//9065 9828//9828 9826//9826\nf 8647//8647 9591//9591 9828//9828\nf 9594//9594 9138//9138 9830//9830\nf 9883//9883 9593//9593 9433//9433\nf 9831//9831 9138//9138 9594//9594\nf 9284//9284 8843//8843 9832//9832\nf 9833//9833 9285//9285 9596//9596\nf 9075//9075 9834//9834 9835//9835\nf 9075//9075 9074//9074 9834//9834\nf 9434//9434 9076//9076 9839//9839\nf 9079//9079 8657//8657 9842//9842\nf 8657//8657 9840//9840 9842//9842\nf 8846//8846 9598//9598 9597//9597\nf 8661//8661 9436//9436 9844//9844\nf 9441//9441 9443//9443 9085//9085\nf 9964//9964 9442//9442 9602//9602\nf 9600//9600 9087//9087 9850//9850\nf 9088//9088 9600//9600 9601//9601\nf 8667//8667 9183//9183 9885//9885\nf 8854//8854 8667//8667 9885//9885\nf 8861//8861 9607//9607 9854//9854\nf 8863//8863 9609//9609 9294//9294\nf 9887//9887 9615//9615 9295//9295\nf 9611//9611 9186//9186 9855//9855\nf 9855//9855 9187//9187 9612//9612\nf 9186//9186 9187//9187 9855//9855\nf 10001//10001 9616//9616 10670//10670\nf 9294//9294 9609//9609 9888//9888\nf 9886//9886 9297//9297 9301//9301\nf 9454//9454 8678//8678 9614//9614\nf 10671//10671 10623//10623 11434//11434\nf 9306//9306 9890//9890 9627//9627\nf 9623//9623 9624//9624 9628//9628\nf 9623//9623 9628//9628 9968//9968\nf 9891//9891 8873//8873 9308//9308\nf 9194//9194 9460//9460 9635//9635\nf 9637//9637 8889//8889 9197//9197\nf 9639//9639 9310//9310 9634//9634\nf 9892//9892 9461//9461 9643//9643\nf 10236//10236 10014//10014 10015//10015\nf 9642//9642 9463//9463 9858//9858\nf 8899//8899 9642//9642 9858//9858\nf 9311//9311 9312//9312 9893//9893\nf 9643//9643 9311//9311 9893//9893\nf 9859//9859 8902//8902 9463//9463\nf 9312//9312 9095//9095 9648//9648\nf 9649//9649 9096//9096 8905//8905\nf 9649//9649 8905//8905 9652//9652\nf 9895//9895 9466//9466 9647//9647\nf 9651//9651 9894//9894 9465//9465\nf 9468//9468 9657//9657 9659//9659\nf 9470//9470 8915//8915 9656//9656\nf 9662//9662 8703//8703 9205//9205\nf 9666//9666 8709//8709 9667//9667\nf 9896//9896 9672//9672 9476//9476\nf 9479//9479 9897//9897 9321//9321\nf 9482//9482 9678//9678 9322//9322\nf 9678//9678 8509//8509 9682//9682\nf 9678//9678 9482//9482 8509//8509\nf 9682//9682 9684//9684 9326//9326\nf 9326//9326 8936//8936 9483//9483\nf 9899//9899 9483//9483 9329//9329\nf 9488//9488 9900//9900 9210//9210\nf 9488//9488 9210//9210 9900//9900\nf 9489//9489 9901//9901 9686//9686\nf 9213//9213 9691//9691 9329//9329\nf 9331//9331 9692//9692 9904//9904\nf 9695//9695 9696//9696 9693//9693\nf 9698//9698 9332//9332 9903//9903\nf 9213//9213 9490//9490 9493//9493\nf 9693//9693 9696//9696 9906//9906\nf 9338//9338 9906//9906 9696//9696\nf 9700//9700 9697//9697 9335//9335\nf 9702//9702 9906//9906 9338//9338\nf 9216//9216 9337//9337 9339//9339\nf 9701//9701 9973//9973 9497//9497\nf 9340//9340 9907//9907 9343//9343\nf 9498//9498 9341//9341 9499//9499\nf 9500//9500 9496//9496 9344//9344\nf 9909//9909 9503//9503 9908//9908\nf 9343//9343 9503//9503 9501//9501\nf 9912//9912 9911//9911 9505//9505\nf 9348//9348 8539//8539 9502//9502\nf 8960//8960 9710//9710 9706//9706\nf 9912//9912 9505//9505 9712//9712\nf 9913//9913 9713//9713 9505//9505\nf 9911//9911 9913//9913 9505//9505\nf 9506//9506 9909//9909 9975//9975\nf 8960//8960 9507//9507 9710//9710\nf 9352//9352 9510//9510 9712//9712\nf 9506//9506 9975//9975 10047//10047\nf 9351//9351 9714//9714 9511//9511\nf 9718//9718 9512//9512 9715//9715\nf 9516//9516 9225//9225 9354//9354\nf 9516//9516 9354//9354 9867//9867\nf 9979//9979 9516//9516 9867//9867\nf 9519//9519 9517//9517 9978//9978\nf 9980//9980 9720//9720 9721//9721\nf 9519//9519 9978//9978 9914//9914\nf 9355//9355 9722//9722 10377//10377\nf 9518//9518 9981//9981 9725//9725\nf 9867//9867 9354//9354 9227//9227\nf 9723//9723 9520//9520 9915//9915\nf 9868//9868 9867//9867 9227//9227\nf 9360//9360 9358//9358 9521//9521\nf 9228//9228 9229//9229 9357//9357\nf 9982//9982 9357//9357 9229//9229\nf 9871//9871 9729//9729 9527//9527\nf 9164//9164 9729//9729 9871//9871\nf 9917//9917 9872//9872 9919//9919\nf 9920//9920 9870//9870 9528//9528\nf 9730//9730 9364//9364 9362//9362\nf 9366//9366 9920//9920 9528//9528\nf 9872//9872 9917//9917 9734//9734\nf 9368//9368 9369//9369 9922//9922\nf 9746//9746 9235//9235 9741//9741\nf 9924//9924 9237//9237 9742//9742\nf 9367//9367 9924//9924 9742//9742\nf 9925//9925 9744//9744 9374//9374\nf 9874//9874 9926//9926 9374//9374\nf 9985//9985 9758//9758 9548//9548\nf 9548//9548 9389//9389 9766//9766\nf 9766//9766 9390//9390 9767//9767\nf 8789//8789 9249//9249 9765//9765\nf 9768//9768 9393//9393 9395//9395\nf 9934//9934 9767//9767 9551//9551\nf 9250//9250 9392//9392 9552//9552\nf 9775//9775 9772//9772 9933//9933\nf 9771//9771 9769//9769 9932//9932\nf 9776//9776 9935//9935 9555//9555\nf 9776//9776 9773//9773 9935//9935\nf 9396//9396 9935//9935 9773//9773\nf 9779//9779 9395//9395 9025//9025\nf 9778//9778 9775//9775 9781//9781\nf 9771//9771 9780//9780 9777//9777\nf 9397//9397 9936//9936 9877//9877\nf 9781//9781 9937//9937 9785//9785\nf 9400//9400 9938//9938 9554//9554\nf 9554//9554 9938//9938 9875//9875\nf 9779//9779 9876//9876 10479//10479\nf 10486//10486 9557//9557 9787//9787\nf 9940//9940 9791//9791 9402//9402\nf 9877//9877 9940//9940 9402//9402\nf 9787//9787 9561//9561 10646//10646\nf 9561//9561 9792//9792 9939//9939\nf 9401//9401 9036//9036 9793//9793\nf 9405//9405 9785//9785 9937//9937\nf 9794//9794 9401//9401 9793//9793\nf 9400//9400 9790//9790 9942//9942\nf 9788//9788 9404//9404 9409//9409\nf 9410//9410 9791//9791 9943//9943\nf 9798//9798 9789//9789 9406//9406\nf 8621//8621 9409//9409 9801//9801\nf 9798//9798 9406//9406 9797//9797\nf 10118//10118 9414//9414 9566//9566\nf 9945//9945 9568//9568 9803//9803\nf 9264//9264 9570//9570 9571//9571\nf 9807//9807 9266//9266 9806//9806\nf 9573//9573 8824//8824 9809//9809\nf 9577//9577 9048//9048 9810//9810\nf 9579//9579 9808//9808 9576//9576\nf 9947//9947 9577//9577 9810//9810\nf 9948//9948 9573//9573 9809//9809\nf 9419//9419 8825//8825 9417//9417\nf 9809//9809 9811//9811 9948//9948\nf 9878//9878 8631//8631 9419//9419\nf 9948//9948 9811//9811 9422//9422\nf 9267//9267 9421//9421 9813//9813\nf 9580//9580 8633//8633 9814//9814\nf 9054//9054 9580//9580 9815//9815\nf 9269//9269 9581//9581 9817//9817\nf 9950//9950 9422//9422 9424//9424\nf 9950//9950 9949//9949 9422//9422\nf 8832//8832 9880//9880 9881//9881\nf 9951//9951 9585//9585 9881//9881\nf 9585//9585 9181//9181 9881//9881\nf 9953//9953 9950//9950 9424//9424\nf 9953//9953 9424//9424 9822//9822\nf 9821//9821 9428//9428 9954//9954\nf 9882//9882 9954//9954 9428//9428\nf 9953//9953 9822//9822 9955//9955\nf 9822//9822 9280//9280 9955//9955\nf 9828//9828 9066//9066 8647//8647\nf 9956//9956 9955//9955 9593//9593\nf 9955//9955 9280//9280 9593//9593\nf 9957//9957 9593//9593 9883//9883\nf 9957//9957 9956//9956 9593//9593\nf 9433//9433 9434//9434 9883//9883\nf 9959//9959 9596//9596 9958//9958\nf 9596//9596 9435//9435 9958//9958\nf 9833//9833 9596//9596 9960//9960\nf 9961//9961 9434//9434 9839//9839\nf 9435//9435 9838//9838 9958//9958\nf 10000//10000 9842//9842 9840//9840\nf 9436//9436 9842//9842 10174//10174\nf 9845//9845 9437//9437 10176//10176\nf 9847//9847 9084//9084 9846//9846\nf 9439//9439 9442//9442 9962//9962\nf 9847//9847 9963//9963 9848//9848\nf 9853//9853 9966//9966 9602//9602\nf 9966//9966 9964//9964 9602//9602\nf 9087//9087 9086//9086 9444//9444\nf 9183//9183 8853//8853 9851//9851\nf 9183//9183 9884//9884 9885//9885\nf 10187//10187 9297//9297 9886//9886\nf 10187//10187 9886//9886 9297//9297\nf 9295//9295 9611//9611 9887//9887\nf 9296//9296 9606//9606 10002//10002\nf 9617//9617 9967//9967 8689//8689\nf 10203//10203 9617//9617 9300//9300\nf 10209//10209 9454//9454 9614//9614\nf 10671//10671 9456//9456 9889//9889\nf 9146//9146 8689//8689 9889//9889\nf 10671//10671 9889//9889 10623//10623\nf 10213//10213 9453//9453 9455//9455\nf 9459//9459 8873//8873 9891//9891\nf 9891//9891 9308//9308 9626//9626\nf 10221//10221 9891//9891 9626//9626\nf 10221//10221 9626//9626 10624//10624\nf 9636//9636 9627//9627 10220//10220\nf 9635//9635 9460//9460 9892//9892\nf 10011//10011 9639//9639 9634//9634\nf 9892//9892 9643//9643 9461//9461\nf 10014//10014 9197//9197 9641//9641\nf 10014//10014 9462//9462 10015//10015\nf 9199//9199 9646//9646 10017//10017\nf 10249//10249 9652//9652 9202//9202\nf 9202//9202 8907//8907 9658//9658\nf 9202//9202 9658//9658 9469//9469\nf 9661//9661 9662//9662 9205//9205\nf 9665//9665 9208//9208 10272//10272\nf 10028//10028 9671//9671 9318//9318\nf 9676//9676 9478//9478 9861//9861\nf 9897//9897 9898//9898 9321//9321\nf 9322//9322 10029//10029 9319//9319\nf 9682//9682 9326//9326 9969//9969\nf 9688//9688 10302//10302 9900//9900\nf 9689//9689 9902//9902 9690//9690\nf 9488//9488 9900//9900 10309//10309\nf 9970//9970 9862//9862 9906//9906\nf 9862//9862 9693//9693 9906//9906\nf 9333//9333 9492//9492 9699//9699\nf 9697//9697 9700//9700 9335//9335\nf 9971//9971 9972//9972 9907//9907\nf 10035//10035 9335//9335 9215//9215\nf 9971//9971 9907//9907 9340//9340\nf 9500//9500 10037//10037 9496//9496\nf 9502//9502 9705//9705 9910//9910\nf 9503//9503 9343//9343 9908//9908\nf 9506//9506 9503//9503 9909//9909\nf 9711//9711 9707//9707 9974//9974\nf 10042//10042 9911//9911 9912//9912\nf 9348//9348 9502//9502 10041//10041\nf 9716//9716 9506//9506 9975//9975\nf 9506//9506 10047//10047 9975//9975\nf 10363//10363 9710//9710 9507//9507\nf 9975//9975 9865//9865 9716//9716\nf 9509//9509 9863//9863 9866//9866\nf 9976//9976 9712//9712 9510//9510\nf 10365//10365 9866//9866 10051//10051\nf 10362//10362 9866//9866 10051//10051\nf 10369//10369 9507//9507 10373//10373\nf 10370//10370 9719//9719 9864//9864\nf 9512//9512 9977//9977 9715//9715\nf 9977//9977 9512//9512 10055//10055\nf 9518//9518 10057//10057 10379//10379\nf 9915//9915 10059//10059 9723//9723\nf 9521//9521 9355//9355 10384//10384\nf 10384//10384 9355//9355 10383//10383\nf 10061//10061 9527//9527 9725//9725\nf 9520//9520 9524//9524 9915//9915\nf 9916//9916 9524//9524 9870//9870\nf 9728//9728 9360//9360 9361//9361\nf 9918//9918 9732//9732 9529//9529\nf 9922//9922 9369//9369 9734//9734\nf 10410//10410 9740//9740 9736//9736\nf 9373//9373 9744//9744 9372//9372\nf 9237//9237 10082//10082 9751//9751\nf 9377//9377 9380//9380 10084//10084\nf 9537//9537 9927//9927 9753//9753\nf 9929//9929 9757//9757 9758//9758\nf 9759//9759 10089//10089 9545//9545\nf 9984//9984 9757//9757 9929//9929\nf 9545//9545 10092//10092 9761//9761\nf 9547//9547 9383//9383 9387//9387\nf 9985//9985 9929//9929 9758//9758\nf 9930//9930 9760//9760 9245//9245\nf 9766//9766 9985//9985 9548//9548\nf 9549//9549 9393//9393 10094//10094\nf 9986//9986 9766//9766 9767//9767\nf 9764//9764 10095//10095 9253//9253\nf 9550//9550 9932//9932 9769//9769\nf 10479//10479 9395//9395 9779//9779\nf 9257//9257 9259//9259 9786//9786\nf 9787//9787 8609//8609 9561//9561\nf 9560//9560 9562//9562 9559//9559\nf 9400//9400 9987//9987 9938//9938\nf 9937//9937 9941//9941 9405//9405\nf 9942//9942 9987//9987 9400//9400\nf 9407//9407 8815//8815 9800//9800\nf 9801//9801 10499//10499 10507//10507\nf 9946//9946 9415//9415 9801//9801\nf 10523//10523 9570//9570 10522//10522\nf 10521//10521 10123//10123 9805//9805\nf 10133//10133 9420//9420 9879//9879\nf 10134//10134 9815//9815 9580//9580\nf 9425//9425 9952//9952 9818//9818\nf 9425//9425 9585//9585 9951//9951\nf 10140//10140 9949//9949 9950//9950\nf 10564//10564 9592//9592 10150//10150\nf 9989//9989 9991//9991 9990//9990\nf 9990//9990 9991//9991 9992//9992\nf 9989//9989 9955//9955 9956//9956\nf 9989//9989 9956//9956 9991//9991\nf 9594//9594 9830//9830 9831//9831\nf 9992//9992 9991//9991 9994//9994\nf 9993//9993 9992//9992 9996//9996\nf 9991//9991 9956//9956 9957//9957\nf 9994//9994 9991//9991 9995//9995\nf 9995//9995 9991//9991 9957//9957\nf 9996//9996 9992//9992 9994//9994\nf 9957//9957 9883//9883 9997//9997\nf 9995//9995 9999//9999 9994//9994\nf 9957//9957 9998//9998 9995//9995\nf 9997//9997 9883//9883 9434//9434\nf 9957//9957 9997//9997 9998//9998\nf 9995//9995 9998//9998 9999//9999\nf 9832//9832 9833//9833 10576//10576\nf 10578//10578 9284//9284 10166//10166\nf 9960//9960 9596//9596 9959//9959\nf 10175//10175 9841//9841 9598//9598\nf 10176//10176 9843//9843 9845//9845\nf 9884//9884 9183//9183 9851//9851\nf 10002//10002 9606//9606 9854//9854\nf 9854//9854 9607//9607 10183//10183\nf 10186//10186 9297//9297 10187//10187\nf 9609//9609 10200//10200 9888//9888\nf 10202//10202 9617//9617 10203//10203\nf 11672//11672 11433//11433 12481//12481\nf 10205//10205 9307//9307 9304//9304\nf 10670//10670 10207//10207 10870//10870\nf 10201//10201 10197//10197 9621//9621\nf 10210//10210 9622//9622 9303//9303\nf 10212//10212 9619//9619 9298//9298\nf 9299//9299 9454//9454 10006//10006\nf 10006//10006 9454//9454 10209//10209\nf 10214//10214 9622//9622 10210//10210\nf 10005//10005 9455//9455 9299//9299\nf 10218//10218 9618//9618 9968//9968\nf 9196//9196 9459//9459 10226//10226\nf 10227//10227 9629//9629 9637//9637\nf 10007//10007 9628//9628 9458//9458\nf 9458//9458 10010//10010 10007//10007\nf 10233//10233 9461//9461 10237//10237\nf 10014//10014 9641//9641 9462//9462\nf 9643//9643 9893//9893 10241//10241\nf 10016//10016 10019//10019 9463//9463\nf 10018//10018 10241//10241 9893//9893\nf 9893//9893 9312//9312 10018//10018\nf 10019//10019 9650//9650 9463//9463\nf 9646//9646 9313//9313 10017//10017\nf 10017//10017 9313//9313 10020//10020\nf 9201//9201 9650//9650 10248//10248\nf 9894//9894 9651//9651 9653//9653\nf 10254//10254 9314//9314 10256//10256\nf 10260//10260 9204//9204 9467//9467\nf 9659//9659 9661//9661 10262//10262\nf 10262//10262 9661//9661 9205//9205\nf 10262//10262 9205//9205 10265//10265\nf 10024//10024 9474//9474 9470//9470\nf 10267//10267 9471//9471 10270//10270\nf 9860//9860 9472//9472 10268//10268\nf 10276//10276 9670//9670 9671//9671\nf 10027//10027 9672//9672 9896//9896\nf 10283//10283 9319//9319 10029//10029\nf 9479//9479 10284//10284 9897//9897\nf 9326//9326 10030//10030 9969//9969\nf 9483//9483 10300//10300 9326//9326\nf 10305//10305 9483//9483 9899//9899\nf 9210//9210 9900//9900 9488//9488\nf 9488//9488 9212//9212 10313//10313\nf 9212//9212 9488//9488 10313//10313\nf 10315//10315 10311//10311 9694//9694\nf 9488//9488 10314//10314 9212//9212\nf 9332//9332 10317//10317 9903//9903\nf 9692//9692 9862//9862 10319//10319\nf 9492//9492 9904//9904 10320//10320\nf 9212//9212 10032//10032 9334//9334\nf 9904//9904 9692//9692 10320//10320\nf 10317//10317 9698//9698 9903//9903\nf 10324//10324 9493//9493 9337//9337\nf 10332//10332 10626//10626 9700//9700\nf 9701//9701 10032//10032 10034//10034\nf 10330//10330 9703//9703 9494//9494\nf 10033//10033 9972//9972 9971//9971\nf 10033//10033 10329//10329 9972//9972\nf 10034//10034 9973//9973 9701//9701\nf 9699//9699 9971//9971 9340//9340\nf 10034//10034 10333//10333 9973//9973\nf 10036//10036 9907//9907 10329//10329\nf 9705//9705 9497//9497 10333//10333\nf 10339//10339 10038//10038 9341//9341\nf 10036//10036 9343//9343 9907//9907\nf 10340//10340 9216//9216 9342//9342\nf 10040//10040 9908//9908 10341//10341\nf 10041//10041 9705//9705 10344//10344\nf 10040//10040 9909//9909 9908//9908\nf 10351//10351 9909//9909 10040//10040\nf 10343//10343 9346//9346 10043//10043\nf 10346//10346 9707//9707 9499//9499\nf 10349//10349 10348//10348 10042//10042\nf 9912//9912 10044//10044 10353//10353\nf 10042//10042 9912//9912 10353//10353\nf 9349//9349 10350//10350 9708//9708\nf 10045//10045 9713//9713 9913//9913\nf 10355//10355 9975//9975 9909//9909\nf 9707//9707 10352//10352 9974//9974\nf 9976//9976 9912//9912 9712//9712\nf 10044//10044 9912//9912 9976//9976\nf 10355//10355 10047//10047 9975//9975\nf 10052//10052 9714//9714 9348//9348\nf 9865//9865 9975//9975 10047//10047\nf 9504//9504 9717//9717 10050//10050\nf 9866//9866 9863//9863 10362//10362\nf 10048//10048 9976//9976 9510//9510\nf 10358//10358 9864//9864 9711//9711\nf 10365//10365 9717//9717 9866//9866\nf 10053//10053 10366//10366 9510//9510\nf 9977//9977 10055//10055 10371//10371\nf 10054//10054 9517//9517 9865//9865\nf 9978//9978 9517//9517 10054//10054\nf 9510//9510 9516//9516 10053//10053\nf 9516//9516 9979//9979 10053//10053\nf 10371//10371 9715//9715 9977//9977\nf 9513//9513 10370//10370 10375//10375\nf 10056//10056 9722//9722 9511//9511\nf 10055//10055 9512//9512 9723//9723\nf 9979//9979 9867//9867 10374//10374\nf 9721//9721 9724//9724 9980//9980\nf 10056//10056 10377//10377 9722//9722\nf 10380//10380 9723//9723 10059//10059\nf 10060//10060 9867//9867 9868//9868\nf 9522//9522 9914//9914 9726//9726\nf 10385//10385 9724//9724 9357//9357\nf 10061//10061 9725//9725 9981//9981\nf 10384//10384 10389//10389 9360//9360\nf 9524//9524 9916//9916 9915//9915\nf 9869//9869 9727//9727 9983//9983\nf 10067//10067 9916//9916 9870//9870\nf 10065//10065 9871//9871 9527//9527\nf 10064//10064 10062//10062 9919//9919\nf 9917//9917 9919//9919 10062//10062\nf 10062//10062 10063//10063 9917//9917\nf 9917//9917 10068//10068 10063//10063\nf 9917//9917 10063//10063 10068//10068\nf 9360//9360 10066//10066 9361//9361\nf 10400//10400 10394//10394 9983//9983\nf 9529//9529 10397//10397 9918//9918\nf 10400//10400 9983//9983 10404//10404\nf 10402//10402 10399//10399 9919//9919\nf 10405//10405 9731//9731 9361//9361\nf 10401//10401 10405//10405 9361//9361\nf 9733//9733 9871//9871 10065//10065\nf 10068//10068 10403//10403 9734//9734\nf 9733//9733 10065//10065 10407//10407\nf 10403//10403 10070//10070 9734//9734\nf 10069//10069 9920//9920 9366//9366\nf 10407//10407 10409//10409 9367//9367\nf 10402//10402 9919//9919 9872//9872\nf 9532//9532 10408//10408 9366//9366\nf 9736//9736 9732//9732 10071//10071\nf 9367//9367 9735//9735 9733//9733\nf 9737//9737 9738//9738 10074//10074\nf 10408//10408 9532//9532 9923//9923\nf 10074//10074 9738//9738 9743//9743\nf 9873//9873 10417//10417 9531//9531\nf 9873//9873 10414//10414 10417//10417\nf 9367//9367 10075//10075 9924//9924\nf 10079//10079 9747//9747 9740//9740\nf 10425//10425 9745//9745 10417//10417\nf 10425//10425 9750//9750 9745//9745\nf 9748//9748 10081//10081 10080//10080\nf 9748//9748 9238//9238 10081//10081\nf 9750//9750 10425//10425 9752//9752\nf 9747//9747 10079//10079 9538//9538\nf 10083//10083 9749//9749 9536//9536\nf 10430//10430 9752//9752 10425//10425\nf 10085//10085 9542//9542 9543//9543\nf 10086//10086 10085//10085 9543//9543\nf 9757//9757 10086//10086 9543//9543\nf 9540//9540 10436//10436 9756//9756\nf 9927//9927 10087//10087 9753//9753\nf 10639//10639 9380//9380 9760//9760\nf 9383//9383 9544//9544 10442//10442\nf 9382//9382 9928//9928 9541//9541\nf 9541//9541 9928//9928 10444//10444\nf 10446//10446 10093//10093 9383//9383\nf 9386//9386 10091//10091 10445//10445\nf 10093//10093 9387//9387 9383//9383\nf 10446//10446 9387//9387 10093//10093\nf 9386//9386 9384//9384 10091//10091\nf 9928//9928 9762//9762 10444//10444\nf 9763//9763 9761//9761 10451//10451\nf 10097//10097 10642//10642 9388//9388\nf 9765//9765 10454//10454 9391//9391\nf 10098//10098 10096//10096 9986//9986\nf 9986//9986 10096//10096 9766//9766\nf 9388//9388 9250//9250 10097//10097\nf 10460//10460 9250//9250 10100//10100\nf 10099//10099 9933//9933 9253//9253\nf 10464//10464 9932//9932 9550//9550\nf 10101//10101 9986//9986 9767//9767\nf 10462//10462 9768//9768 9395//9395\nf 9934//9934 10101//10101 9767//9767\nf 10477//10477 9552//9552 9257//9257\nf 9936//9936 9397//9397 10102//10102\nf 10102//10102 9397//9397 10103//10103\nf 10103//10103 9397//9397 9555//9555\nf 10478//10478 9780//9780 9771//9771\nf 9551//9551 9875//9875 10104//10104\nf 10476//10476 9782//9782 9553//9553\nf 10106//10106 9877//9877 9936//9936\nf 9399//9399 10108//10108 9396//9396\nf 10111//10111 9561//9561 9939//9939\nf 9409//9409 9404//9404 10484//10484\nf 9794//9794 10110//10110 9401//9401\nf 10109//10109 9938//9938 9987//9987\nf 9987//9987 10493//10493 10109//10109\nf 10111//10111 9939//9939 9792//9792\nf 9877//9877 10113//10113 9940//9940\nf 10497//10497 9564//9564 9562//9562\nf 10110//10110 9794//9794 10492//10492\nf 10493//10493 9987//9987 9942//9942\nf 9409//9409 10114//10114 10499//10499\nf 9940//9940 10113//10113 9791//9791\nf 9409//9409 10499//10499 9801//9801\nf 10492//10492 9794//9794 9944//9944\nf 10116//10116 9789//9789 9798//9798\nf 10115//10115 9942//9942 9790//9790\nf 10506//10506 9407//9407 9800//9800\nf 9943//9943 10505//10505 9566//9566\nf 9795//9795 10119//10119 9565//9565\nf 9568//9568 9945//9945 10117//10117\nf 9569//9569 10122//10122 9800//9800\nf 10517//10517 9802//9802 9414//9414\nf 9806//9806 9415//9415 10513//10513\nf 9805//9805 10123//10123 9803//9803\nf 10527//10527 10124//10124 9572//9572\nf 9575//9575 9572//9572 10124//10124\nf 10123//10123 9805//9805 10125//10125\nf 10125//10125 9805//9805 9574//9574\nf 10529//10529 9947//9947 10530//10530\nf 9576//9576 10130//10130 9988//9988\nf 9579//9579 9576//9576 9988//9988\nf 10133//10133 9579//9579 10130//10130\nf 10531//10531 9948//9948 9949//9949\nf 9814//9814 9878//9878 10652//10652\nf 10132//10132 9421//9421 10540//10540\nf 9815//9815 9580//9580 10134//10134\nf 9815//9815 10541//10541 9581//9581\nf 9817//9817 9581//9581 10135//10135\nf 9881//9881 9880//9880 10136//10136\nf 10136//10136 9881//9881 10544//10544\nf 9951//9951 10544//10544 10545//10545\nf 10138//10138 9584//9584 9582//9582\nf 10145//10145 9586//9586 10547//10547\nf 9587//9587 9586//9586 10145//10145\nf 10140//10140 9950//9950 9953//9953\nf 9588//9588 9823//9823 10142//10142\nf 9819//9819 10143//10143 9823//9823\nf 10548//10548 10141//10141 10146//10146\nf 9953//9953 9955//9955 10144//10144\nf 10141//10141 9953//9953 10144//10144\nf 10144//10144 9955//9955 9989//9989\nf 10146//10146 10144//10144 9989//9989\nf 10146//10146 9989//9989 9990//9990\nf 10149//10149 10550//10550 10148//10148\nf 10551//10551 10558//10558 10151//10151\nf 10153//10153 10151//10151 10152//10152\nf 10551//10551 10151//10151 10153//10153\nf 10150//10150 9592//9592 9590//9590\nf 10151//10151 10148//10148 10155//10155\nf 9829//9829 9827//9827 9830//9830\nf 10567//10567 9591//9591 9592//9592\nf 10148//10148 9990//9990 9993//9993\nf 10156//10156 10152//10152 10151//10151\nf 9993//9993 9990//9990 9992//9992\nf 10155//10155 10148//10148 9993//9993\nf 10157//10157 10152//10152 10156//10156\nf 10156//10156 10151//10151 10155//10155\nf 10159//10159 10156//10156 10155//10155\nf 9831//9831 9830//9830 10158//10158\nf 9993//9993 9996//9996 10155//10155\nf 10160//10160 10156//10156 10159//10159\nf 10155//10155 9996//9996 10161//10161\nf 10159//10159 10155//10155 10161//10161\nf 9996//9996 10159//10159 10161//10161\nf 9999//9999 10163//10163 9994//9994\nf 10573//10573 9996//9996 10164//10164\nf 10573//10573 10162//10162 9996//9996\nf 10164//10164 9996//9996 9994//9994\nf 9998//9998 9997//9997 10167//10167\nf 10163//10163 9999//9999 10165//10165\nf 9832//9832 10576//10576 9284//9284\nf 9998//9998 10165//10165 9999//9999\nf 10581//10581 9999//9999 10165//10165\nf 10579//10579 9834//9834 10578//10578\nf 10168//10168 9997//9997 9434//9434\nf 9595//9595 10574//10574 9837//9837\nf 9960//9960 9959//9959 10583//10583\nf 9434//9434 9961//9961 10168//10168\nf 9997//9997 10168//10168 10167//10167\nf 10581//10581 9998//9998 10167//10167\nf 10169//10169 10168//10168 9434//9434\nf 10169//10169 9434//9434 10168//10168\nf 9958//9958 9838//9838 10171//10171\nf 9841//9841 9597//9597 9598//9598\nf 10175//10175 10598//10598 9841//9841\nf 10174//10174 10597//10597 9436//9436\nf 9844//9844 9436//9436 10602//10602\nf 10605//10605 10176//10176 9437//9437\nf 10607//10607 9437//9437 9438//9438\nf 9438//9438 9439//9439 10177//10177\nf 10177//10177 9439//9439 9962//9962\nf 9443//9443 9441//9441 9965//9965\nf 9849//9849 9443//9443 9965//9965\nf 9849//9849 10178//10178 9444//9444\nf 9444//9444 10620//10620 9850//9850\nf 9851//9851 9601//9601 10180//10180\nf 9885//9885 10181//10181 9446//9446\nf 10187//10187 9297//9297 9886//9886\nf 9298//9298 9605//9605 10191//10191\nf 9293//9293 10192//10192 9605//9605\nf 10001//10001 9293//9293 9616//9616\nf 10194//10194 9608//9608 9613//9613\nf 10184//10184 9608//9608 10194//10194\nf 10195//10195 9609//9609 10196//10196\nf 9609//9609 9610//9610 10185//10185\nf 9609//9609 10185//10185 10196//10196\nf 10198//10198 9304//9304 9615//9615\nf 10190//10190 9855//9855 10003//10003\nf 9612//9612 9451//9451 10206//10206\nf 10193//10193 10208//10208 9296//9296\nf 9296//9296 10002//10002 10193//10193\nf 9886//9886 9301//9301 10197//10197\nf 9301//9301 9621//9621 10197//10197\nf 10212//10212 9298//9298 10191//10191\nf 10208//10208 9620//9620 9296//9296\nf 10200//10200 9614//9614 9888//9888\nf 10210//10210 10622//10622 10671//10671\nf 10202//10202 9967//9967 9617//9617\nf 9307//9307 10211//10211 9306//9306\nf 10205//10205 10211//10211 9307//9307\nf 9451//9451 10004//10004 10206//10206\nf 9451//9451 9452//9452 10004//10004\nf 10005//10005 10213//10213 9455//9455\nf 10217//10217 9890//9890 9306//9306\nf 9452//9452 9618//9618 10004//10004\nf 10624//10624 9626//9626 9619//9619\nf 10672//10672 10005//10005 9299//9299\nf 10672//10672 9299//9299 10006//10006\nf 10201//10201 9621//9621 9633//9633\nf 10214//10214 9302//9302 9622//9622\nf 10220//10220 9627//9627 9890//9890\nf 10004//10004 9618//9618 10218//10218\nf 10216//10216 9633//9633 9302//9302\nf 10223//10223 10204//10204 9194//9194\nf 9618//9618 9623//9623 9968//9968\nf 10225//10225 10218//10218 9968//9968\nf 10226//10226 9459//9459 9891//9891\nf 10215//10215 9625//9625 9629//9629\nf 10222//10222 9620//9620 10208//10208\nf 10222//10222 9630//9630 9620//9620\nf 9194//9194 9635//9635 10223//10223\nf 10224//10224 10223//10223 9635//9635\nf 9628//9628 10007//10007 10225//10225\nf 9628//9628 10225//10225 9968//9968\nf 10226//10226 9891//9891 10221//10221\nf 9637//9637 10009//10009 10227//10227\nf 10222//10222 10229//10229 9630//9630\nf 9638//9638 9636//9636 10230//10230\nf 10008//10008 9309//9309 9196//9196\nf 10009//10009 9197//9197 10232//10232\nf 9197//9197 10009//10009 9637//9637\nf 9635//9635 9892//9892 10233//10233\nf 10011//10011 9634//9634 10229//10229\nf 10234//10234 9638//9638 10012//10012\nf 10234//10234 9857//9857 9640//9640\nf 9461//9461 9643//9643 10237//10237\nf 9643//9643 10239//10239 10237//10237\nf 9644//9644 9639//9639 10235//10235\nf 9199//9199 10015//10015 9462//9462\nf 9199//9199 10242//10242 10015//10015\nf 10241//10241 10239//10239 9643//9643\nf 9645//9645 10243//10243 9464//9464\nf 10235//10235 10243//10243 9645//9645\nf 9312//9312 10241//10241 10018//10018\nf 10016//10016 10244//10244 9650//9650\nf 10019//10019 10016//10016 9650//9650\nf 9647//9647 9464//9464 10243//10243\nf 9648//9648 10245//10245 9312//9312\nf 9312//9312 10245//10245 10241//10241\nf 9313//9313 9649//9649 10020//10020\nf 10243//10243 10246//10246 9647//9647\nf 10245//10245 9465//9465 10247//10247\nf 9650//9650 10244//10244 10248//10248\nf 9649//9649 9652//9652 10020//10020\nf 9465//9465 9894//9894 10250//10250\nf 10250//10250 10247//10247 9465//9465\nf 10249//10249 10020//10020 9652//9652\nf 10252//10252 10250//10250 9653//9653\nf 10250//10250 9894//9894 9653//9653\nf 10253//10253 9201//9201 10248//10248\nf 9655//9655 9466//9466 10251//10251\nf 9466//9466 9895//9895 10251//10251\nf 9654//9654 10254//10254 9653//9653\nf 10254//10254 10252//10252 9653//9653\nf 10254//10254 9654//9654 9314//9314\nf 10022//10022 9656//9656 10255//10255\nf 9468//9468 10256//10256 9314//9314\nf 9468//9468 10259//10259 10256//10256\nf 10260//10260 9467//9467 10257//10257\nf 9655//9655 10255//10255 9656//9656\nf 9470//9470 9656//9656 10022//10022\nf 9663//9663 9660//9660 10023//10023\nf 10021//10021 9469//9469 10264//10264\nf 10024//10024 9470//9470 10022//10022\nf 9315//9315 9664//9664 10266//10266\nf 10265//10265 9205//9205 10267//10267\nf 9472//9472 9663//9663 10023//10023\nf 9664//9664 9316//9316 10269//10269\nf 10025//10025 9474//9474 10024//10024\nf 9471//9471 9473//9473 10270//10270\nf 10269//10269 10266//10266 9664//9664\nf 10270//10270 9473//9473 9665//9665\nf 10271//10271 9666//9666 9667//9667\nf 10271//10271 10269//10269 9666//9666\nf 10026//10026 9475//9475 10025//10025\nf 10275//10275 10274//10274 9668//9668\nf 10274//10274 9667//9667 9668//9668\nf 10272//10272 9670//9670 10276//10276\nf 9896//9896 9476//9476 10027//10027\nf 9673//9673 10278//10278 9668//9668\nf 10278//10278 10275//10275 9668//9668\nf 10279//10279 9672//9672 10027//10027\nf 9674//9674 10278//10278 9673//9673\nf 10278//10278 9674//9674 10280//10280\nf 9861//9861 9672//9672 10279//10279\nf 9674//9674 10282//10282 10280//10280\nf 9674//9674 9480//9480 10282//10282\nf 10283//10283 10028//10028 9318//9318\nf 9676//9676 9861//9861 10285//10285\nf 10287//10287 10282//10282 9480//9480\nf 9676//9676 10285//10285 10286//10286\nf 10287//10287 9480//9480 9675//9675\nf 9898//9898 9897//9897 10284//10284\nf 10284//10284 10288//10288 9898//9898\nf 10029//10029 9322//9322 10283//10283\nf 9675//9675 10290//10290 10287//10287\nf 9898//9898 10291//10291 9481//9481\nf 10288//10288 10291//10291 9898//9898\nf 9322//9322 9678//9678 10289//10289\nf 10292//10292 10289//10289 9678//9678\nf 10294//10294 9323//9323 9680//9680\nf 10294//10294 10293//10293 9323//9323\nf 9481//9481 10291//10291 9681//9681\nf 10295//10295 9681//9681 10291//10291\nf 10292//10292 9678//9678 9682//9682\nf 10292//10292 9682//9682 10296//10296\nf 9682//9682 9969//9969 10296//10296\nf 10295//10295 10298//10298 9681//9681\nf 10296//10296 9969//9969 10030//10030\nf 9325//9325 10299//10299 9680//9680\nf 10294//10294 9680//9680 10299//10299\nf 9681//9681 10298//10298 9687//9687\nf 10030//10030 9326//9326 10300//10300\nf 9683//9683 10297//10297 10301//10301\nf 9687//9687 10298//10298 10031//10031\nf 10302//10302 9683//9683 10301//10301\nf 9325//9325 9686//9686 10303//10303\nf 9687//9687 10031//10031 9689//9689\nf 9686//9686 9901//9901 10308//10308\nf 9902//9902 9689//9689 10306//10306\nf 9329//9329 10305//10305 9899//9899\nf 10307//10307 9902//9902 10306//10306\nf 10302//10302 10309//10309 9900//9900\nf 10308//10308 9901//9901 9489//9489\nf 9690//9690 9902//9902 10307//10307\nf 9329//9329 10310//10310 10305//10305\nf 10305//10305 10310//10310 10312//10312\nf 10310//10310 9329//9329 10312//10312\nf 10309//10309 10313//10313 9488//9488\nf 9690//9690 10307//10307 9332//9332\nf 10311//10311 9489//9489 9694//9694\nf 10313//10313 10314//10314 9488//9488\nf 10312//10312 9213//9213 10316//10316\nf 9691//9691 9213//9213 10312//10312\nf 10317//10317 9332//9332 10307//10307\nf 10318//10318 10316//10316 9213//9213\nf 10318//10318 9213//9213 9905//9905\nf 9905//9905 9493//9493 10318//10318\nf 10314//10314 10032//10032 9212//9212\nf 9692//9692 10319//10319 10320//10320\nf 10322//10322 10318//10318 9493//9493\nf 10319//10319 9862//9862 9970//9970\nf 10317//10317 10321//10321 9698//9698\nf 10319//10319 9970//9970 9906//9906\nf 9492//9492 10320//10320 10323//10323\nf 9493//9493 10324//10324 10322//10322\nf 10319//10319 9906//9906 10325//10325\nf 9701//9701 9334//9334 10032//10032\nf 10323//10323 10326//10326 9492//9492\nf 10327//10327 9906//9906 9702//9702\nf 10327//10327 10325//10325 9906//9906\nf 10326//10326 9699//9699 9492//9492\nf 10326//10326 10328//10328 9699//9699\nf 9494//9494 9698//9698 10321//10321\nf 10324//10324 9337//9337 10331//10331\nf 10328//10328 10326//10326 10627//10627\nf 10330//10330 9494//9494 10321//10321\nf 10332//10332 9700//9700 9335//9335\nf 10328//10328 9971//9971 9699//9699\nf 10328//10328 10033//10033 9971//9971\nf 10034//10034 9701//9701 10333//10333\nf 9701//9701 10034//10034 10333//10333\nf 10327//10327 9496//9496 10334//10334\nf 9702//9702 9496//9496 10327//10327\nf 9341//9341 9703//9703 10330//10330\nf 9341//9341 10330//10330 10038//10038\nf 10335//10335 10331//10331 9216//9216\nf 9216//9216 10331//10331 9337//9337\nf 9907//9907 9972//9972 10329//10329\nf 9215//9215 10337//10337 10035//10035\nf 10338//10338 10335//10335 9216//9216\nf 9496//9496 10336//10336 10334//10334\nf 9497//9497 9973//9973 10333//10333\nf 9341//9341 10038//10038 10339//10339\nf 10038//10038 9499//9499 9341//9341\nf 9496//9496 10037//10037 10336//10336\nf 10336//10336 10037//10037 9500//9500\nf 10337//10337 9215//9215 9704//9704\nf 10340//10340 10338//10338 9216//9216\nf 10038//10038 10339//10339 9499//9499\nf 10336//10336 9500//9500 10039//10039\nf 9343//9343 10036//10036 10341//10341\nf 9908//9908 9343//9343 10341//10341\nf 10041//10041 9910//9910 9705//9705\nf 10343//10343 9704//9704 9346//9346\nf 9499//9499 10342//10342 10346//10346\nf 10345//10345 9342//9342 9347//9347\nf 10348//10348 9911//9911 10042//10042\nf 10039//10039 9500//9500 10350//10350\nf 9500//9500 9345//9345 10350//10350\nf 9913//9913 10348//10348 10045//10045\nf 10347//10347 10348//10348 10349//10349\nf 10348//10348 9913//9913 9911//9911\nf 10347//10347 10045//10045 10348//10348\nf 9502//9502 9910//9910 10041//10041\nf 9708//9708 10350//10350 9345//9345\nf 9709//9709 10354//10354 10345//10345\nf 9709//9709 10345//10345 9347//9347\nf 9976//9976 10048//10048 10353//10353\nf 10045//10045 10356//10356 9863//9863\nf 9976//9976 10353//10353 10044//10044\nf 10046//10046 10687//10687 10350//10350\nf 9349//9349 10046//10046 10350//10350\nf 10357//10357 10047//10047 10355//10355\nf 10043//10043 9706//9706 9710//9710\nf 10352//10352 9711//9711 9974//9974\nf 10359//10359 10354//10354 9504//9504\nf 9504//9504 10354//10354 9709//9709\nf 9713//9713 10045//10045 9863//9863\nf 10041//10041 10360//10360 9348//9348\nf 10362//10362 9863//9863 10049//10049\nf 10360//10360 10052//10052 9348//9348\nf 9710//9710 10363//10363 10361//10361\nf 10359//10359 9504//9504 10050//10050\nf 10362//10362 10051//10051 9866//9866\nf 9349//9349 9715//9715 10367//10367\nf 10047//10047 10357//10357 9865//9865\nf 10368//10368 9865//9865 10357//10357\nf 9717//9717 10365//10365 10050//10050\nf 10362//10362 10051//10051 9866//9866\nf 10364//10364 10048//10048 9510//9510\nf 10366//10366 10364//10364 9510//9510\nf 10367//10367 9715//9715 10371//10371\nf 10372//10372 9978//9978 10054//10054\nf 10373//10373 9507//9507 9720//9720\nf 10370//10370 9513//9513 9719//9719\nf 10053//10053 10374//10374 10366//10366\nf 10053//10053 9979//9979 10374//10374\nf 10634//10634 10056//10056 9511//9511\nf 10371//10371 10055//10055 10376//10376\nf 9723//9723 10376//10376 10055//10055\nf 10058//10058 9914//9914 10372//10372\nf 9914//9914 9978//9978 10372//10372\nf 9980//9980 10373//10373 9720//9720\nf 9518//9518 9513//9513 10057//10057\nf 9513//9513 10375//10375 10057//10057\nf 10060//10060 10374//10374 9867//9867\nf 10378//10378 9980//9980 9724//9724\nf 10376//10376 9723//9723 10380//10380\nf 9981//9981 9518//9518 10379//10379\nf 10376//10376 10380//10380 10059//10059\nf 10382//10382 9914//9914 10058//10058\nf 10391//10391 9726//9726 10387//10387\nf 9360//9360 9521//9521 10384//10384\nf 10385//10385 9357//9357 10392//10392\nf 10059//10059 9915//9915 10390//10390\nf 9357//9357 9982//9982 10392//10392\nf 9869//9869 10394//10394 9868//9868\nf 9916//9916 10390//10390 9915//9915\nf 10392//10392 9982//9982 9229//9229\nf 10393//10393 10396//10396 9527//9527\nf 10062//10062 10064//10064 10063//10063\nf 10396//10396 10065//10065 9527//9527\nf 10063//10063 10068//10068 9917//9917\nf 9916//9916 10067//10067 10390//10390\nf 10397//10397 9529//9529 10391//10391\nf 9529//9529 9525//9525 10391//10391\nf 10399//10399 10064//10064 9919//9919\nf 10395//10395 9229//9229 10398//10398\nf 9229//9229 9362//9362 10398//10398\nf 9983//9983 9921//9921 10404//10404\nf 9870//9870 10069//10069 10067//10067\nf 10397//10397 10071//10071 9732//9732\nf 9732//9732 9918//9918 10397//10397\nf 9917//9917 10068//10068 9734//9734\nf 10069//10069 9870//9870 9920//9920\nf 10407//10407 9367//9367 9733//9733\nf 10070//10070 9922//9922 9734//9734\nf 9363//9363 9731//9731 10405//10405\nf 10074//10074 10404//10404 9921//9921\nf 10405//10405 9873//9873 9363//9363\nf 10408//10408 10069//10069 9366//9366\nf 9364//9364 9235//9235 10406//10406\nf 9368//9368 9922//9922 10072//10072\nf 10070//10070 10072//10072 9922//9922\nf 10635//10635 9873//9873 10405//10405\nf 10402//10402 9872//9872 9739//9739\nf 10074//10074 9921//9921 9737//9737\nf 10409//10409 10075//10075 9367//9367\nf 9368//9368 10072//10072 9534//9534\nf 10074//10074 9743//9743 10077//10077\nf 10419//10419 9372//9372 9744//9744\nf 9744//9744 9925//9925 10420//10420\nf 9744//9744 10420//10420 10416//10416\nf 10420//10420 9925//9925 9374//9374\nf 9235//9235 9746//9746 10076//10076\nf 10415//10415 9235//9235 10076//10076\nf 9924//9924 10075//10075 10421//10421\nf 10423//10423 9534//9534 10072//10072\nf 10417//10417 9745//9745 9531//9531\nf 9923//9923 9371//9371 10422//10422\nf 10082//10082 9237//9237 10421//10421\nf 10421//10421 9237//9237 9924//9924\nf 10078//10078 9372//9372 10419//10419\nf 10077//10077 9743//9743 10078//10078\nf 10078//10078 9743//9743 9372//9372\nf 10424//10424 9374//9374 9926//9926\nf 10420//10420 9374//9374 10424//10424\nf 10427//10427 10080//10080 10081//10081\nf 10427//10427 9238//9238 10428//10428\nf 10422//10422 9371//9371 9377//9377\nf 10079//10079 10426//10426 9538//9538\nf 9238//9238 9751//9751 10428//10428\nf 9749//9749 10083//10083 10418//10418\nf 9537//9537 9534//9534 10423//10423\nf 9874//9874 10429//10429 10424//10424\nf 9874//9874 10424//10424 9926//9926\nf 9538//9538 10426//10426 10431//10431\nf 10434//10434 9539//9539 10430//10430\nf 9539//9539 9752//9752 10430//10430\nf 10432//10432 9927//9927 9537//9537\nf 10438//10438 9536//9536 9541//9541\nf 10436//10436 9539//9539 10434//10434\nf 10433//10433 9377//9377 10084//10084\nf 9755//9755 10431//10431 10437//10437\nf 9755//9755 9538//9538 10431//10431\nf 10083//10083 9536//9536 10438//10438\nf 10439//10439 9874//9874 9542//9542\nf 10429//10429 9874//9874 10439//10439\nf 10439//10439 9542//9542 10085//10085\nf 10086//10086 10440//10440 10085//10085\nf 10440//10440 10086//10086 10435//10435\nf 9757//9757 10435//10435 10086//10086\nf 9757//9757 10441//10441 10435//10435\nf 9539//9539 10436//10436 9540//9540\nf 9544//9544 9755//9755 10437//10437\nf 9757//9757 9984//9984 10441//10441\nf 10088//10088 9756//9756 10436//10436\nf 9384//9384 9753//9753 10087//10087\nf 10091//10091 9384//9384 10087//10087\nf 9984//9984 9929//9929 10441//10441\nf 10438//10438 9541//9541 10444//10444\nf 10443//10443 10441//10441 9929//9929\nf 9756//9756 10089//10089 9759//9759\nf 10445//10445 9384//9384 10091//10091\nf 9383//9383 10090//10090 10446//10446\nf 10091//10091 9384//9384 10445//10445\nf 10451//10451 9761//9761 10092//10092\nf 10447//10447 9760//9760 9930//9930\nf 10448//10448 9387//9387 10446//10446\nf 10444//10444 9762//9762 10449//10449\nf 9985//9985 10450//10450 9929//9929\nf 9929//9929 10450//10450 10443//10443\nf 10453//10453 9763//9763 10451//10451\nf 9763//9763 10454//10454 9765//9765\nf 10448//10448 9248//9248 9387//9387\nf 10449//10449 9762//9762 9549//9549\nf 9764//9764 9386//9386 10452//10452\nf 9985//9985 9766//9766 10450//10450\nf 9931//9931 9248//9248 10455//10455\nf 9248//9248 10448//10448 10455//10455\nf 9764//9764 10452//10452 10095//10095\nf 9550//9550 9931//9931 10455//10455\nf 10457//10457 10094//10094 9393//9393\nf 10454//10454 10458//10458 9391//9391\nf 10098//10098 10459//10459 10096//10096\nf 10097//10097 9250//9250 10460//10460\nf 10458//10458 10465//10465 9770//9770\nf 10099//10099 10463//10463 9933//9933\nf 9391//9391 10458//10458 9770//9770\nf 9393//9393 9768//9768 10462//10462\nf 10467//10467 9933//9933 10463//10463\nf 10467//10467 10463//10463 9933//9933\nf 10468//10468 10098//10098 9986//9986\nf 9932//9932 10466//10466 9771//9771\nf 9933//9933 10463//10463 10467//10467\nf 10466//10466 9932//9932 10464//10464\nf 9933//9933 10467//10467 9775//9775\nf 10468//10468 9986//9986 10101//10101\nf 9250//9250 9552//9552 10100//10100\nf 10471//10471 9775//9775 10467//10467\nf 10473//10473 10103//10103 9555//9555\nf 10102//10102 10103//10103 10473//10473\nf 9551//9551 10472//10472 9934//9934\nf 9936//9936 10105//10105 10643//10643\nf 9555//9555 10474//10474 10473//10473\nf 10474//10474 9935//9935 10475//10475\nf 10474//10474 9555//9555 9935//9935\nf 9770//9770 10476//10476 9553//9553\nf 10470//10470 10476//10476 9770//9770\nf 10478//10478 10466//10466 10718//10718\nf 10479//10479 10469//10469 9395//9395\nf 10471//10471 9781//9781 9775//9775\nf 10480//10480 9781//9781 10471//10471\nf 9551//9551 10104//10104 10472//10472\nf 9936//9936 10105//10105 10106//10106\nf 10475//10475 9935//9935 9396//9396\nf 10481//10481 10475//10475 9396//9396\nf 9782//9782 10476//10476 10482//10482\nf 10109//10109 10104//10104 9875//9875\nf 10106//10106 10107//10107 9877//9877\nf 9938//9938 10109//10109 9875//9875\nf 10108//10108 10481//10481 9396//9396\nf 10483//10483 9783//9783 9782//9782\nf 10482//10482 10483//10483 9782//9782\nf 9780//9780 10484//10484 9784//9784\nf 10479//10479 9401//9401 10488//10488\nf 9781//9781 10480//10480 9937//9937\nf 10108//10108 9399//9399 10485//10485\nf 9404//9404 9784//9784 10484//10484\nf 9557//9557 10485//10485 9399//9399\nf 10485//10485 9557//9557 10486//10486\nf 10477//10477 9786//9786 10487//10487\nf 10489//10489 10486//10486 9787//9787\nf 10110//10110 10488//10488 9401//9401\nf 10112//10112 9560//9560 10483//10483\nf 9560//9560 9783//9783 10483//10483\nf 9786//9786 10491//10491 10487//10487\nf 9877//9877 10107//10107 10113//10113\nf 9792//9792 9563//9563 10111//10111\nf 10490//10490 10498//10498 9941//9941\nf 9563//9563 10494//10494 10111//10111\nf 9563//9563 9408//9408 10495//10495\nf 10495//10495 9408//9408 9564//9564\nf 10496//10496 9564//9564 10497//10497\nf 10497//10497 9560//9560 10112//10112\nf 9786//9786 9407//9407 10491//10491\nf 10493//10493 9942//9942 10115//10115\nf 10492//10492 9944//9944 10500//10500\nf 9941//9941 10501//10501 9405//9405\nf 10498//10498 10501//10501 9941//9941\nf 9790//9790 10116//10116 10502//10502\nf 9789//9789 10116//10116 9790//9790\nf 10115//10115 10503//10503 9942//9942\nf 10115//10115 9942//9942 10503//10503\nf 10500//10500 9944//9944 10508//10508\nf 9262//9262 10509//10509 10510//10510\nf 10511//10511 9790//9790 10502//10502\nf 10511//10511 10115//10115 9790//9790\nf 10503//10503 10115//10115 10511//10511\nf 10508//10508 9944//9944 9568//9568\nf 9791//9791 10505//10505 9943//9943\nf 9946//9946 9801//9801 10507//10507\nf 9405//9405 10501//10501 9795//9795\nf 9798//9798 10121//10121 10512//10512\nf 10117//10117 10508//10508 9568//9568\nf 9796//9796 9262//9262 10510//10510\nf 10505//10505 10118//10118 9566//9566\nf 9946//9946 10507//10507 10513//10513\nf 9795//9795 10515//10515 10514//10514\nf 9795//9795 10501//10501 10515//10515\nf 10119//10119 9795//9795 10515//10515\nf 9414//9414 10118//10118 10516//10516\nf 10517//10517 9414//9414 10516//10516\nf 10122//10122 10506//10506 9800//9800\nf 9415//9415 9946//9946 10513//10513\nf 10117//10117 9945//9945 9803//9803\nf 10514//10514 10515//10515 9795//9795\nf 10120//10120 10518//10518 9796//9796\nf 9798//9798 9797//9797 10519//10519\nf 9802//9802 10520//10520 9804//9804\nf 9802//9802 10517//10517 10520//10520\nf 10729//10729 10525//10525 9806//9806\nf 10117//10117 9803//9803 10521//10521\nf 10518//10518 9797//9797 9796//9796\nf 10518//10518 10524//10524 9797//9797\nf 10121//10121 9798//9798 10519//10519\nf 10520//10520 10522//10522 9804//9804\nf 10123//10123 10521//10521 9803//9803\nf 9571//9571 9570//9570 10523//10523\nf 10523//10523 10526//10526 9571//9571\nf 10526//10526 9572//9572 9571//9571\nf 9572//9572 10526//10526 10527//10527\nf 9569//9569 10528//10528 10122//10122\nf 10125//10125 9574//9574 9577//9577\nf 10527//10527 9575//9575 10124//10124\nf 10124//10124 9575//9575 10527//10527\nf 10528//10528 9569//9569 9573//9573\nf 9417//9417 9807//9807 10126//10126\nf 10529//10529 9577//9577 9947//9947\nf 10130//10130 9576//9576 10124//10124\nf 9576//9576 9575//9575 10124//10124\nf 10528//10528 9573//9573 10531//10531\nf 9417//9417 10126//10126 10127//10127\nf 9419//9419 9417//9417 10127//10127\nf 9947//9947 9810//9810 10128//10128\nf 10531//10531 9573//9573 9948//9948\nf 10128//10128 10129//10129 10532//10532\nf 10128//10128 9810//9810 10129//10129\nf 9810//9810 9812//9812 10129//10129\nf 9813//9813 10129//10129 9812//9812\nf 9878//9878 10533//10533 10652//10652\nf 10130//10130 9579//9579 9988//9988\nf 9813//9813 9421//9421 10131//10131\nf 9949//9949 10536//10536 10531//10531\nf 10534//10534 10531//10531 10537//10537\nf 9580//9580 9814//9814 10539//10539\nf 9421//9421 9423//9423 10540//10540\nf 10133//10133 9879//9879 9579//9579\nf 10531//10531 10536//10536 10537//10537\nf 10535//10535 10534//10534 10538//10538\nf 10536//10536 9949//9949 10537//10537\nf 10537//10537 10538//10538 10534//10534\nf 9580//9580 9815//9815 10134//10134\nf 9815//9815 10134//10134 10541//10541\nf 9583//9583 10542//10542 10543//10543\nf 9581//9581 10541//10541 10135//10135\nf 10135//10135 9880//9880 9817//9817\nf 9583//9583 10543//10543 9816//9816\nf 10136//10136 9880//9880 10656//10656\nf 9818//9818 9952//9952 10137//10137\nf 9881//9881 10136//10136 10544//10544\nf 9951//9951 9881//9881 10544//10544\nf 10138//10138 10139//10139 9584//9584\nf 10537//10537 10140//10140 10538//10538\nf 10547//10547 9586//9586 9584//9584\nf 10537//10537 9949//9949 10140//10140\nf 10140//10140 9953//9953 10141//10141\nf 10549//10549 10142//10142 9823//9823\nf 10553//10553 9588//9588 10142//10142\nf 10549//10549 9588//9588 10142//10142\nf 10142//10142 9588//9588 10549//10549\nf 9819//9819 10554//10554 10143//10143\nf 10549//10549 9823//9823 10143//10143\nf 9820//9820 10554//10554 9819//9819\nf 9820//9820 10555//10555 10554//10554\nf 10141//10141 10144//10144 10146//10146\nf 10553//10553 9824//9824 9588//9588\nf 10556//10556 9824//9824 10553//10553\nf 10557//10557 9820//9820 9821//9821\nf 9990//9990 10148//10148 10146//10146\nf 10548//10548 10146//10146 10550//10550\nf 9820//9820 10557//10557 10555//10555\nf 10557//10557 9821//9821 9954//9954\nf 9587//9587 10150//10150 9590//9590\nf 10150//10150 9587//9587 10145//10145\nf 10550//10550 10146//10146 10148//10148\nf 10550//10550 10558//10558 10551//10551\nf 10551//10551 10153//10153 10552//10552\nf 10556//10556 10559//10559 9827//9827\nf 10556//10556 9827//9827 9824//9824\nf 9954//9954 10147//10147 10557//10557\nf 10558//10558 10550//10550 10149//10149\nf 10148//10148 10151//10151 10149//10149\nf 10558//10558 10149//10149 10151//10151\nf 9882//9882 9825//9825 10561//10561\nf 10152//10152 10560//10560 10153//10153\nf 10559//10559 10566//10566 9827//9827\nf 10562//10562 9825//9825 9589//9589\nf 10562//10562 9589//9589 10563//10563\nf 10781//10781 10563//10563 10846//10846\nf 10566//10566 10568//10568 9830//9830\nf 9830//9830 9827//9827 10566//10566\nf 10782//10782 9279//9279 9826//9826\nf 9828//9828 9591//9591 10154//10154\nf 9828//9828 10154//10154 10569//10569\nf 10152//10152 10157//10157 10560//10560\nf 10565//10565 10157//10157 10570//10570\nf 10565//10565 10560//10560 10157//10157\nf 9830//9830 10568//10568 10158//10158\nf 10156//10156 10160//10160 10157//10157\nf 10157//10157 10160//10160 10571//10571\nf 10162//10162 10573//10573 9996//9996\nf 10159//10159 9996//9996 10162//10162\nf 10572//10572 9595//9595 9831//9831\nf 10573//10573 10162//10162 9996//9996\nf 10573//10573 10164//10164 10575//10575\nf 10572//10572 10574//10574 9595//9595\nf 10575//10575 9994//9994 10163//10163\nf 10164//10164 9994//9994 10575//10575\nf 10575//10575 10163//10163 10165//10165\nf 10165//10165 9999//9999 10575//10575\nf 9832//9832 10576//10576 10742//10742\nf 10165//10165 10575//10575 9999//9999\nf 9834//9834 9284//9284 10578//10578\nf 10579//10579 9835//9835 9834//9834\nf 9836//9836 9835//9835 10579//10579\nf 9836//9836 10577//10577 10580//10580\nf 9840//9840 9836//9836 10580//10580\nf 10165//10165 9999//9999 10581//10581\nf 10575//10575 10581//10581 10582//10582\nf 10575//10575 10165//10165 10581//10581\nf 9837//9837 10574//10574 10170//10170\nf 10583//10583 9833//9833 9960//9960\nf 10576//10576 9833//9833 10583//10583\nf 9959//9959 10585//10585 10583//10583\nf 10581//10581 10165//10165 9998//9998\nf 9958//9958 10584//10584 9959//9959\nf 10586//10586 10168//10168 10169//10169\nf 9959//9959 10584//10584 10585//10585\nf 10586//10586 10167//10167 10168//10168\nf 10167//10167 10586//10586 10581//10581\nf 9958//9958 10171//10171 10746//10746\nf 10584//10584 9958//9958 10746//10746\nf 10172//10172 9961//9961 9839//9839\nf 10587//10587 10581//10581 10586//10586\nf 10582//10582 10581//10581 10587//10587\nf 10590//10590 9837//9837 10170//10170\nf 10171//10171 9838//9838 10591//10591\nf 10169//10169 10168//10168 10592//10592\nf 10586//10586 10169//10169 10593//10593\nf 10000//10000 9840//9840 10174//10174\nf 10172//10172 9839//9839 10592//10592\nf 10168//10168 9961//9961 10592//10592\nf 10582//10582 10587//10587 10594//10594\nf 10582//10582 10595//10595 10588//10588\nf 10588//10588 10595//10595 10589//10589\nf 10592//10592 9839//9839 9841//9841\nf 9961//9961 10172//10172 10592//10592\nf 10594//10594 10595//10595 10582//10582\nf 10173//10173 10592//10592 9841//9841\nf 10598//10598 10173//10173 9841//9841\nf 10589//10589 10595//10595 10599//10599\nf 10589//10589 10599//10599 10596//10596\nf 10601//10601 10596//10596 10600//10600\nf 10598//10598 10175//10175 9598//9598\nf 10599//10599 10600//10600 10596//10596\nf 9598//9598 9843//9843 10175//10175\nf 10603//10603 10601//10601 10600//10600\nf 10597//10597 10602//10602 9436//9436\nf 10601//10601 10603//10603 10604//10604\nf 10606//10606 9846//9846 10602//10602\nf 9846//9846 9844//9844 10602//10602\nf 10605//10605 9437//9437 10607//10607\nf 10606//10606 10608//10608 9846//9846\nf 9846//9846 10608//10608 9847//9847\nf 9963//9963 10608//10608 10609//10609\nf 9847//9847 10608//10608 9963//9963\nf 10665//10665 9442//9442 10610//10610\nf 10612//10612 9848//9848 10609//10609\nf 9963//9963 10609//10609 9848//9848\nf 10611//10611 10610//10610 9442//9442\nf 10611//10611 9442//9442 9964//9964\nf 9441//9441 9848//9848 10612//10612\nf 9964//9964 9966//9966 10613//10613\nf 9964//9964 10613//10613 10611//10611\nf 10613//10613 9853//9853 10615//10615\nf 9852//9852 10615//10615 9853//9853\nf 9849//9849 9965//9965 10616//10616\nf 10615//10615 9446//9446 10617//10617\nf 10621//10621 9851//9851 10619//10619\nf 10617//10617 9446//9446 10181//10181\nf 9600//9600 9850//9850 10620//10620\nf 9601//9601 9600//9600 10180//10180\nf 10621//10621 9884//9884 9851//9851\nf 9885//9885 9884//9884 10621//10621\nf 10181//10181 9885//9885 10621//10621\nf 10184//10184 10183//10183 9607//9607\nf 10185//10185 9610//9610 9297//9297\nf 9615//9615 9887//9887 10188//10188\nf 9611//9611 9855//9855 10190//10190\nf 9855//9855 9612//9612 10003//10003\nf 10191//10191 9605//9605 10192//10192\nf 10184//10184 9607//9607 9608//9608\nf 10195//10195 10185//10185 10668//10668\nf 10187//10187 9886//9886 10197//10197\nf 10669//10669 10197//10197 10201//10201\nf 10205//10205 9304//9304 10198//10198\nf 9615//9615 10199//10199 10198//10198\nf 11672//11672 10867//10867 11433//11433\nf 10203//10203 9300//9300 9194//9194\nf 10203//10203 9194//9194 10204//10204\nf 10867//10867 10203//10203 10204//10204\nf 10003//10003 9612//9612 10206//10206\nf 10670//10670 9616//9616 10207//10207\nf 10207//10207 9305//9305 10215//10215\nf 10194//10194 9613//9613 9453//9453\nf 9305//9305 9625//9625 10215//10215\nf 10209//10209 9614//9614 10200//10200\nf 10211//10211 10217//10217 9306//9306\nf 10201//10201 9633//9633 10219//10219\nf 9302//9302 10214//10214 10216//10216\nf 10220//10220 9890//9890 10217//10217\nf 10216//10216 10219//10219 9633//9633\nf 10228//10228 10220//10220 10217//10217\nf 9629//9629 10227//10227 10215//10215\nf 10228//10228 9636//9636 10220//10220\nf 10229//10229 9634//9634 9630//9630\nf 10230//10230 9636//9636 10228//10228\nf 10231//10231 9458//9458 9309//9309\nf 10231//10231 10010//10010 9458//9458\nf 10008//10008 9196//9196 10226//10226\nf 10008//10008 10231//10231 9309//9309\nf 10012//10012 9638//9638 10230//10230\nf 9197//9197 10014//10014 10232//10232\nf 10009//10009 10232//10232 10014//10014\nf 10224//10224 9635//9635 10233//10233\nf 9640//9640 9638//9638 10234//10234\nf 10013//10013 9639//9639 10011//10011\nf 10011//10011 10013//10013 10235//10235\nf 10235//10235 9639//9639 10013//10013\nf 10233//10233 9892//9892 9461//9461\nf 10238//10238 9642//9642 9857//9857\nf 10238//10238 9857//9857 10234//10234\nf 9645//9645 9644//9644 10235//10235\nf 9463//9463 9642//9642 10240//10240\nf 9199//9199 10017//10017 10242//10242\nf 10675//10675 10241//10241 10245//10245\nf 9648//9648 9465//9465 10245//10245\nf 9895//9895 9647//9647 10251//10251\nf 10253//10253 9467//9467 9201//9201\nf 9655//9655 10251//10251 10255//10255\nf 10249//10249 9202//9202 10258//10258\nf 10253//10253 10257//10257 9467//9467\nf 10677//10677 10249//10249 10258//10258\nf 9468//9468 9659//9659 10625//10625\nf 9660//9660 9204//9204 10260//10260\nf 10261//10261 9659//9659 10262//10262\nf 10263//10263 9660//9660 10260//10260\nf 9469//9469 9315//9315 10264//10264\nf 9660//9660 10263//10263 10023//10023\nf 9205//9205 9471//9471 10267//10267\nf 9472//9472 10023//10023 10268//10268\nf 10274//10274 10269//10269 10271//10271\nf 9860//9860 10268//10268 10273//10273\nf 9475//9475 9474//9474 10025//10025\nf 9665//9665 10272//10272 10270//10270\nf 10272//10272 9208//9208 9670//9670\nf 10277//10277 10276//10276 9671//9671\nf 10028//10028 10277//10277 9671//9671\nf 10284//10284 9479//9479 9477//9477\nf 9477//9477 10281//10281 10284//10284\nf 9318//9318 9319//9319 10283//10283\nf 9861//9861 10279//10279 10285//10285\nf 10029//10029 10283//10283 9322//9322\nf 10289//10289 10029//10029 9322//9322\nf 10293//10293 10290//10290 9323//9323\nf 10290//10290 9675//9675 9323//9323\nf 9683//9683 9679//9679 10297//10297\nf 10302//10302 9688//9688 9683//9683\nf 10304//10304 9689//9689 10031//10031\nf 10305//10305 10300//10300 9483//9483\nf 9689//9689 10304//10304 10306//10306\nf 10308//10308 10303//10303 9686//9686\nf 9329//9329 9691//9691 10312//10312\nf 9489//9489 10311//10311 10308//10308\nf 10329//10329 10627//10627 10628//10628\nf 10325//10325 10630//10630 10319//10319\nf 10328//10328 10627//10627 10033//10033\nf 10627//10627 10329//10329 10033//10033\nf 10626//10626 9697//9697 9700//9700\nf 10330//10330 10321//10321 10629//10629\nf 10334//10334 10630//10630 10327//10327\nf 10336//10336 10630//10630 10334//10334\nf 10681//10681 10036//10036 10329//10329\nf 10036//10036 10631//10631 10341//10341\nf 10339//10339 10342//10342 9499//9499\nf 9342//9342 10345//10345 10340//10340\nf 10352//10352 9707//9707 10346//10346\nf 10347//10347 10632//10632 10045//10045\nf 10353//10353 10349//10349 10042//10042\nf 9909//9909 10351//10351 10355//10355\nf 10358//10358 9711//9711 10352//10352\nf 10048//10048 10633//10633 10353//10353\nf 10048//10048 10364//10364 10633//10633\nf 10043//10043 9710//9710 10361//10361\nf 10364//10364 9976//9976 10048//10048\nf 10048//10048 9976//9976 10364//10364\nf 10050//10050 10051//10051 10362//10362\nf 10050//10050 10365//10365 10051//10051\nf 10370//10370 9864//9864 10358//10358\nf 9865//9865 10368//10368 10054//10054\nf 10369//10369 10363//10363 9507//9507\nf 9511//9511 9714//9714 10052//10052\nf 10373//10373 9980//9980 10378//10378\nf 9724//9724 10381//10381 10378//10378\nf 9355//9355 10377//10377 10383//10383\nf 9868//9868 10386//10386 10060//10060\nf 10382//10382 9726//9726 9914//9914\nf 9724//9724 10385//10385 10381//10381\nf 10391//10391 9525//9525 9726//9726\nf 10064//10064 10388//10388 10063//10063\nf 10386//10386 9868//9868 10394//10394\nf 9527//9527 10061//10061 10393//10393\nf 9229//9229 10395//10395 10392//10392\nf 10696//10696 10064//10064 10399//10399\nf 9869//9869 9983//9983 10394//10394\nf 9360//9360 10389//10389 10066//10066\nf 9361//9361 10066//10066 10401//10401\nf 9364//9364 10406//10406 10398//10398\nf 10068//10068 10070//10070 10403//10403\nf 10398//10398 9362//9362 9364//9364\nf 10700//10700 9872//9872 10402//10402\nf 10411//10411 10406//10406 9235//9235\nf 10410//10410 10071//10071 10701//10701\nf 9873//9873 10635//10635 10073//10073\nf 10071//10071 10410//10410 9736//9736\nf 10402//10402 9739//9739 10413//10413\nf 10702//10702 10413//10413 10704//10704\nf 10413//10413 9739//9739 9749//9749\nf 10414//10414 9873//9873 10073//10073\nf 9740//9740 10410//10410 10079//10079\nf 10412//10412 9235//9235 10415//10415\nf 10704//10704 10413//10413 10418//10418\nf 10703//10703 10408//10408 10422//10422\nf 10419//10419 9744//9744 10416//10416\nf 10408//10408 9923//9923 10422//10422\nf 10704//10704 10418//10418 9749//9749\nf 10636//10636 10074//10074 10077//10077\nf 9749//9749 10418//10418 10704//10704\nf 9746//9746 9748//9748 10080//10080\nf 10081//10081 9238//9238 10427//10427\nf 9751//9751 10082//10082 10428//10428\nf 10423//10423 10706//10706 10637//10637\nf 10708//10708 10709//10709 10077//10077\nf 10428//10428 10082//10082 10705//10705\nf 10423//10423 10637//10637 10432//10432\nf 9537//9537 10423//10423 10432//10432\nf 10433//10433 10422//10422 9377//9377\nf 10087//10087 9927//9927 10432//10432\nf 10638//10638 10429//10429 10439//10439\nf 9544//9544 10437//10437 10442//10442\nf 10442//10442 10090//10090 9383//9383\nf 10091//10091 10087//10087 10445//10445\nf 10445//10445 10087//10087 10640//10640\nf 10639//10639 9760//9760 10641//10641\nf 9386//9386 10445//10445 10452//10452\nf 10451//10451 10092//10092 10089//10089\nf 10447//10447 9930//9930 9245//9245\nf 9763//9763 10453//10453 10454//10454\nf 10456//10456 10450//10450 9766//9766\nf 10455//10455 10448//10448 10714//10714\nf 10449//10449 9549//9549 10094//10094\nf 10456//10456 9766//9766 10096//10096\nf 10462//10462 10457//10457 9393//9393\nf 10455//10455 10461//10461 9550//9550\nf 9550//9550 10461//10461 10464//10464\nf 10462//10462 9395//9395 10469//10469\nf 10468//10468 10101//10101 10098//10098\nf 10101//10101 9934//9934 10472//10472\nf 10105//10105 10102//10102 10643//10643\nf 10105//10105 9936//9936 10102//10102\nf 9552//9552 10477//10477 10100//10100\nf 10478//10478 9771//9771 10466//10466\nf 10477//10477 9257//9257 9786//9786\nf 10478//10478 10484//10484 9780//9780\nf 9937//9937 10480//10480 10644//10644\nf 10646//10646 9561//9561 10111//10111\nf 9409//9409 10484//10484 10645//10645\nf 10114//10114 9409//9409 10645//10645\nf 9941//9941 9937//9937 10490//10490\nf 10495//10495 9564//9564 10496//10496\nf 9791//9791 10113//10113 10504//10504\nf 10491//10491 9407//9407 10506//10506\nf 9791//9791 10504//10504 10505//10505\nf 9262//9262 9565//9565 10119//10119\nf 9798//9798 10512//10512 10116//10116\nf 10120//10120 9796//9796 10510//10510\nf 10728//10728 10506//10506 10122//10122\nf 10729//10729 9806//9806 10513//10513\nf 10522//10522 9570//9570 9804//9804\nf 10519//10519 9797//9797 10524//10524\nf 10521//10521 9805//9805 10123//10123\nf 9807//9807 9806//9806 10525//10525\nf 10126//10126 9807//9807 10525//10525\nf 10125//10125 9577//9577 10123//10123\nf 10530//10530 9947//9947 10128//10128\nf 10534//10534 10647//10647 10528//10528\nf 10651//10651 10648//10648 10535//10535\nf 10648//10648 10650//10650 10535//10535\nf 10533//10533 10127//10127 10735//10735\nf 10533//10533 9419//9419 10127//10127\nf 10128//10128 10532//10532 10530//10530\nf 10124//10124 10649//10649 10130//10130\nf 10534//10534 10528//10528 10531//10531\nf 10736//10736 10648//10648 10651//10651\nf 10650//10650 10647//10647 10535//10535\nf 10647//10647 10534//10534 10535//10535\nf 10129//10129 9813//9813 10131//10131\nf 9878//9878 9419//9419 10533//10533\nf 10535//10535 10654//10654 10651//10651\nf 10539//10539 9814//9814 10652//10652\nf 9421//9421 10132//10132 10131//10131\nf 10535//10535 10538//10538 10654//10654\nf 10540//10540 10737//10737 10132//10132\nf 9580//9580 10539//10539 10134//10134\nf 9423//9423 9816//9816 10540//10540\nf 9583//9583 9818//9818 10542//10542\nf 9582//9582 10655//10655 10138//10138\nf 9582//9582 9420//9420 10655//10655\nf 10538//10538 10140//10140 10546//10546\nf 10547//10547 9584//9584 10139//10139\nf 10141//10141 10548//10548 10140//10140\nf 10548//10548 10546//10546 10140//10140\nf 10143//10143 10554//10554 10549//10549\nf 9954//9954 10561//10561 10147//10147\nf 9954//9954 9882//9882 10561//10561\nf 9825//9825 10562//10562 10561//10561\nf 10563//10563 9589//9589 10846//10846\nf 10567//10567 10569//10569 10154//10154\nf 9831//9831 10158//10158 10572//10572\nf 10574//10574 10572//10572 10658//10658\nf 9284//9284 10576//10576 10166//10166\nf 9836//9836 10579//10579 10577//10577\nf 10578//10578 10166//10166 10743//10743\nf 9840//9840 10580//10580 10174//10174\nf 9837//9837 10590//10590 10591//10591\nf 10000//10000 10174//10174 9842//9842\nf 10587//10587 10586//10586 10659//10659\nf 9838//9838 9837//9837 10591//10591\nf 10169//10169 10592//10592 10593//10593\nf 10586//10586 10593//10593 10659//10659\nf 10587//10587 10659//10659 10661//10661\nf 10598//10598 10592//10592 10173//10173\nf 10748//10748 10593//10593 10592//10592\nf 10663//10663 10594//10594 10662//10662\nf 10594//10594 10587//10587 10662//10662\nf 10595//10595 10594//10594 10663//10663\nf 10661//10661 10659//10659 10660//10660\nf 10662//10662 10587//10587 10661//10661\nf 10599//10599 10595//10595 10663//10663\nf 10598//10598 9598//9598 10175//10175\nf 10175//10175 9843//9843 10176//10176\nf 10664//10664 10599//10599 10663//10663\nf 10664//10664 10603//10603 10600//10600\nf 10599//10599 10664//10664 10600//10600\nf 10177//10177 10607//10607 9438//9438\nf 10177//10177 9962//9962 9442//9442\nf 10614//10614 9441//9441 10612//10612\nf 9966//9966 9853//9853 10613//10613\nf 9965//9965 9441//9441 10616//10616\nf 9441//9441 10614//10614 10616//10616\nf 9852//9852 9446//9446 10615//10615\nf 10180//10180 9600//9600 10618//10618\nf 9851//9851 10180//10180 10619//10619\nf 9854//9854 10183//10183 10182//10182\nf 9297//9297 10186//10186 10185//10185\nf 9615//9615 10188//10188 10199//10199\nf 9887//9887 9611//9611 10188//10188\nf 9611//9611 10189//10189 10188//10188\nf 9611//9611 10190//10190 10189//10189\nf 10857//10857 10192//10192 10858//10858\nf 10184//10184 10667//10667 10183//10183\nf 12163//12163 10862//10862 12164//12164\nf 10194//10194 10667//10667 10184//10184\nf 10200//10200 9609//9609 10195//10195\nf 10863//10863 10190//10190 10003//10003\nf 9616//9616 9305//9305 10207//10207\nf 12312//12312 11676//11676 11583//11583\nf 10623//10623 9967//9967 10202//10202\nf 10194//10194 9453//9453 10213//10213\nf 10870//10870 10207//10207 10215//10215\nf 9619//9619 10212//10212 10624//10624\nf 10673//10673 10218//10218 10225//10225\nf 10227//10227 10009//10009 10215//10215\nf 10235//10235 10013//10013 10011//10011\nf 10674//10674 10238//10238 10234//10234\nf 10238//10238 10240//10240 9642//9642\nf 10016//10016 9463//9463 10240//10240\nf 10015//10015 10242//10242 10017//10017\nf 10754//10754 10244//10244 10016//10016\nf 10245//10245 10247//10247 10250//10250\nf 10245//10245 10250//10250 10676//10676\nf 10251//10251 10678//10678 10255//10255\nf 10258//10258 9202//9202 9469//9469\nf 10259//10259 9468//9468 10625//10625\nf 10625//10625 9659//9659 10261//10261\nf 9315//9315 10266//10266 10264//10264\nf 10265//10265 10267//10267 10270//10270\nf 10271//10271 9667//9667 10274//10274\nf 10273//10273 10679//10679 10027//10027\nf 9476//9476 9860//9860 10273//10273\nf 9476//9476 10273//10273 10027//10027\nf 10276//10276 10277//10277 10955//10955\nf 9477//9477 9669//9669 10758//10758\nf 10278//10278 10280//10280 10282//10282\nf 10293//10293 10287//10287 10290//10290\nf 9677//9677 10286//10286 10680//10680\nf 9679//9679 9677//9677 10297//10297\nf 9677//9677 10680//10680 10297//10297\nf 10295//10295 10291//10291 10298//10298\nf 10291//10291 10759//10759 10298//10298\nf 10299//10299 9325//9325 10303//10303\nf 10308//10308 10311//10311 10315//10315\nf 10998//10998 10626//10626 11015//11015\nf 10315//10315 9694//9694 9697//9697\nf 10313//10313 10761//10761 10314//10314\nf 10761//10761 10032//10032 10314//10314\nf 10322//10322 10324//10324 10331//10331\nf 10630//10630 10325//10325 10327//10327\nf 10331//10331 10335//10335 10338//10338\nf 10036//10036 10681//10681 10631//10631\nf 10337//10337 10682//10682 10332//10332\nf 10344//10344 9705//9705 10333//10333\nf 10341//10341 10683//10683 10040//10040\nf 9704//9704 10343//10343 10337//10337\nf 10342//10342 10339//10339 11029//11029\nf 10684//10684 10349//10349 10353//10353\nf 10342//10342 10685//10685 10346//10346\nf 10355//10355 10351//10351 10040//10040\nf 10352//10352 10346//10346 10685//10685\nf 10041//10041 10686//10686 10360//10360\nf 10049//10049 9863//9863 10356//10356\nf 10354//10354 10359//10359 10345//10345\nf 10356//10356 10362//10362 10049//10049\nf 9349//9349 10687//10687 10046//10046\nf 10688//10688 10370//10370 10358//10358\nf 9349//9349 10367//10367 10687//10687\nf 9511//9511 10052//10052 10634//10634\nf 10689//10689 10367//10367 10371//10371\nf 10379//10379 10057//10057 10375//10375\nf 9981//9981 10379//10379 10061//10061\nf 10385//10385 10378//10378 10381//10381\nf 10376//10376 10059//10059 10692//10692\nf 10690//10690 10691//10691 10388//10388\nf 10690//10690 10388//10388 10693//10693\nf 10387//10387 9726//9726 10382//10382\nf 11108//11108 10385//10385 10392//10392\nf 10064//10064 10696//10696 10388//10388\nf 11116//11116 10390//10390 10697//10697\nf 10392//10392 10395//10395 10398//10398\nf 10067//10067 10697//10697 10390//10390\nf 10699//10699 10398//10398 10406//10406\nf 9872//9872 10700//10700 10402//10402\nf 10700//10700 10698//10698 10402//10402\nf 10402//10402 10702//10702 10700//10700\nf 10402//10402 10413//10413 10702//10702\nf 10412//10412 10411//10411 9235//9235\nf 10413//10413 9749//9749 10418//10418\nf 10409//10409 10421//10421 10075//10075\nf 10416//10416 10420//10420 10419//10419\nf 9746//9746 10080//10080 10076//10076\nf 10707//10707 10080//10080 10427//10427\nf 10708//10708 10077//10077 10078//10078\nf 10420//10420 10429//10429 10638//10638\nf 10420//10420 10424//10424 10429//10429\nf 10636//10636 10077//10077 10709//10709\nf 10766//10766 10636//10636 10709//10709\nf 10710//10710 10770//10770 10708//10708\nf 10442//10442 10437//10437 10431//10431\nf 10087//10087 10432//10432 10640//10640\nf 10711//10711 10638//10638 10439//10439\nf 10084//10084 9380//9380 10639//10639\nf 10712//10712 10441//10441 10713//10713\nf 10441//10441 10443//10443 10713//10713\nf 10089//10089 9756//9756 10088//10088\nf 10092//10092 9545//9545 10089//10089\nf 10641//10641 9760//9760 10447//10447\nf 9245//9245 9388//9388 10642//10642\nf 10642//10642 10097//10097 10715//10715\nf 9253//9253 10095//10095 10463//10463\nf 10096//10096 10459//10459 10716//10716\nf 10099//10099 9253//9253 10463//10463\nf 10717//10717 10463//10463 10095//10095\nf 10101//10101 10468//10468 10098//10098\nf 9770//9770 10465//10465 10470//10470\nf 10717//10717 10471//10471 10467//10467\nf 10105//10105 9936//9936 10643//10643\nf 10106//10106 10643//10643 10719//10719\nf 10720//10720 10100//10100 10477//10477\nf 10106//10106 10105//10105 10643//10643\nf 10479//10479 9876//9876 9401//9401\nf 10106//10106 10721//10721 10107//10107\nf 10107//10107 10721//10721 10723//10723\nf 10478//10478 10722//10722 10484//10484\nf 10484//10484 10722//10722 11246//11246\nf 10490//10490 9937//9937 10644//10644\nf 10498//10498 10490//10490 10644//10644\nf 10489//10489 9787//9787 10646//10646\nf 10493//10493 10726//10726 10109//10109\nf 10109//10109 10726//10726 10724//10724\nf 10497//10497 9562//9562 9560//9560\nf 10113//10113 10107//10107 10725//10725\nf 10727//10727 10493//10493 10115//10115\nf 9262//9262 10119//10119 10509//10509\nf 10511//10511 10502//10502 10116//10116\nf 10727//10727 10115//10115 10503//10503\nf 10117//10117 10500//10500 10508//10508\nf 10515//10515 10501//10501 10514//10514\nf 10119//10119 10515//10515 10514//10514\nf 10519//10519 10512//10512 10121//10121\nf 10117//10117 10521//10521 10123//10123\nf 10521//10521 10117//10117 10123//10123\nf 10526//10526 10523//10523 10527//10527\nf 10529//10529 10731//10731 10123//10123\nf 9577//9577 10529//10529 10123//10123\nf 10736//10736 10732//10732 10734//10734\nf 10734//10734 10648//10648 10736//10736\nf 11317//11317 10129//10129 11320//11320\nf 10539//10539 10652//10652 10653//10653\nf 10134//10134 10653//10653 10779//10779\nf 10539//10539 10653//10653 10134//10134\nf 10737//10737 10540//10540 10543//10543\nf 9420//9420 10133//10133 10655//10655\nf 10656//10656 9880//9880 10135//10135\nf 10137//10137 9952//9952 10545//10545\nf 10542//10542 9818//9818 10137//10137\nf 9952//9952 9951//9951 10545//10545\nf 10550//10550 10546//10546 10548//10548\nf 10553//10553 10142//10142 10549//10549\nf 10657//10657 10553//10553 10549//10549\nf 10554//10554 10657//10657 10549//10549\nf 10568//10568 10566//10566 10559//10559\nf 10567//10567 9592//9592 10564//10564\nf 10782//10782 9826//9826 9828//9828\nf 10571//10571 10738//10738 10157//10157\nf 10157//10157 10738//10738 10570//10570\nf 10573//10573 10159//10159 10162//10162\nf 10574//10574 10739//10739 10170//10170\nf 10170//10170 10739//10739 10740//10740\nf 10576//10576 10741//10741 10166//10166\nf 10579//10579 10578//10578 10743//10743\nf 10583//10583 10742//10742 10576//10576\nf 10580//10580 10577//10577 10744//10744\nf 10744//10744 10577//10577 10579//10579\nf 10585//10585 10584//10584 10746//10746\nf 10745//10745 10588//10588 10589//10589\nf 10598//10598 10747//10747 10592//10592\nf 10747//10747 10748//10748 10592//10592\nf 10660//10660 10659//10659 10593//10593\nf 10747//10747 10598//10598 11401//11401\nf 10660//10660 10593//10593 10748//10748\nf 10664//10664 10663//10663 10749//10749\nf 10751//10751 10601//10601 10604//10604\nf 10606//10606 10609//10609 10608//10608\nf 10177//10177 9442//9442 10665//10665\nf 9441//9441 10614//10614 10753//10753\nf 10614//10614 9441//9441 10753//10753\nf 10620//10620 9444//9444 10179//10179\nf 10618//10618 9600//9600 10620//10620\nf 10002//10002 9854//9854 10182//10182\nf 10850//10850 10182//10182 10183//10183\nf 10851//10851 10186//10186 10852//10852\nf 10852//10852 10187//10187 10669//10669\nf 10856//10856 10192//10192 10857//10857\nf 10187//10187 10197//10197 10669//10669\nf 10208//10208 10193//10193 10002//10002\nf 10196//10196 10185//10185 10195//10195\nf 11487//11487 10873//10873 10210//10210\nf 11487//11487 10671//10671 11583//11583\nf 11676//11676 11487//11487 11583//11583\nf 11583//11583 10671//10671 11434//11434\nf 11434//11434 10623//10623 10202//10202\nf 10884//10884 10219//10219 10216//10216\nf 11693//11693 11488//11488 11584//11584\nf 10228//10228 10217//10217 10784//10784\nf 10233//10233 10237//10237 10239//10239\nf 10017//10017 10020//10020 10917//10917\nf 10251//10251 9647//9647 10246//10246\nf 10755//10755 10250//10250 10252//10252\nf 10676//10676 10250//10250 10756//10756\nf 10252//10252 10790//10790 10755//10755\nf 10756//10756 10250//10250 10755//10755\nf 10930//10930 10257//10257 10919//10919\nf 10258//10258 9469//9469 10021//10021\nf 10273//10273 10268//10268 10679//10679\nf 10272//10272 10757//10757 10270//10270\nf 11443//11443 10949//10949 10272//10272\nf 10758//10758 9669//9669 10026//10026\nf 10281//10281 9477//9477 10758//10758\nf 9677//9677 9676//9676 10286//10286\nf 10304//10304 10031//10031 10794//10794\nf 10315//10315 9697//9697 10626//10626\nf 10317//10317 10629//10629 10321//10321\nf 10761//10761 10034//10034 10032//10032\nf 9335//9335 10035//10035 10332//10332\nf 10035//10035 10337//10337 10332//10332\nf 10339//10339 10038//10038 11029//11029\nf 10631//10631 10683//10683 10341//10341\nf 10353//10353 10633//10633 10684//10684\nf 10803//10803 10362//10362 10356//10356\nf 10686//10686 11069//11069 11072//11072\nf 10368//10368 10357//10357 10054//10054\nf 10361//10361 10363//10363 10369//10369\nf 10370//10370 11065//11065 11075//11075\nf 10376//10376 10689//10689 10371//10371\nf 10690//10690 10763//10763 10764//10764\nf 10384//10384 10383//10383 10377//10377\nf 11103//11103 10061//10061 10379//10379\nf 10063//10063 10388//10388 10694//10694\nf 10695//10695 10389//10389 10384//10384\nf 11109//11109 10387//10387 11105//11105\nf 11114//11114 10386//10386 10394//10394\nf 10696//10696 10399//10399 10698//10698\nf 10066//10066 11118//11118 11125//11125\nf 10698//10698 10399//10399 10402//10402\nf 10765//10765 10070//10070 10068//10068\nf 10635//10635 10405//10405 10073//10073\nf 10417//10417 10414//10414 10073//10073\nf 10704//10704 10418//10418 10083//10083\nf 10076//10076 10080//10080 10707//10707\nf 10706//10706 10432//10432 10637//10637\nf 10767//10767 10419//10419 10420//10420\nf 10767//10767 10078//10078 10419//10419\nf 10767//10767 10420//10420 10638//10638\nf 11159//11159 10422//10422 10433//10433\nf 11145//11145 10704//10704 10083//10083\nf 10078//10078 10767//10767 10708//10708\nf 10430//10430 10436//10436 10434//10434\nf 10770//10770 10709//10709 10708//10708\nf 10710//10710 10708//10708 10767//10767\nf 10442//10442 10431//10431 11170//11170\nf 10768//10768 10640//10640 10432//10432\nf 10766//10766 10709//10709 10770//10770\nf 10710//10710 10767//10767 10771//10771\nf 10638//10638 10711//10711 10771//10771\nf 10771//10771 10767//10767 10638//10638\nf 10084//10084 10639//10639 10641//10641\nf 10451//10451 10089//10089 10092//10092\nf 10447//10447 9245//9245 10642//10642\nf 10452//10452 10823//10823 10095//10095\nf 10447//10447 10642//10642 10715//10715\nf 10457//10457 10449//10449 10094//10094\nf 10457//10457 10462//10462 10094//10094\nf 11206//11206 10094//10094 10462//10462\nf 10464//10464 10461//10461 10455//10455\nf 10717//10717 10467//10467 10463//10463\nf 10721//10721 10719//10719 10774//10774\nf 10719//10719 10721//10721 10106//10106\nf 10469//10469 10479//10479 10773//10773\nf 10110//10110 10479//10479 10488//10488\nf 9563//9563 10495//10495 10494//10494\nf 10775//10775 10730//10730 10648//10648\nf 10734//10734 10776//10776 10648//10648\nf 10126//10126 10525//10525 10733//10733\nf 10528//10528 10647//10647 10122//10122\nf 10730//10730 10647//10647 10650//10650\nf 10730//10730 10778//10778 10647//10647\nf 10648//10648 10730//10730 10650//10650\nf 10776//10776 10775//10775 10648//10648\nf 10734//10734 10732//10732 10776//10776\nf 10647//10647 10778//10778 10122//10122\nf 10732//10732 10777//10777 10776//10776\nf 10654//10654 10736//10736 10651//10651\nf 10541//10541 10134//10134 10779//10779\nf 9816//9816 10543//10543 10540//10540\nf 10544//10544 9881//9881 10136//10136\nf 10550//10550 10548//10548 10546//10546\nf 10562//10562 10563//10563 10781//10781\nf 10782//10782 9828//9828 10569//10569\nf 10154//10154 9591//9591 10567//10567\nf 11566//11566 11367//11367 10564//10564\nf 10658//10658 10158//10158 10783//10783\nf 10572//10572 10158//10158 10658//10658\nf 10739//10739 10574//10574 10658//10658\nf 10576//10576 9832//9832 10742//10742\nf 10743//10743 10166//10166 10741//10741\nf 10579//10579 10743//10743 10744//10744\nf 10746//10746 10171//10171 10591//10591\nf 10663//10663 10662//10662 10749//10749\nf 10176//10176 10750//10750 10175//10175\nf 10749//10749 10662//10662 10848//10848\nf 10176//10176 10605//10605 11412//11412\nf 10607//10607 10177//10177 10605//10605\nf 11418//11418 10612//10612 10609//10609\nf 10752//10752 10613//10613 10615//10615\nf 10616//10616 10614//10614 10753//10753\nf 10178//10178 9849//9849 10616//10616\nf 9444//9444 10178//10178 10179//10179\nf 10189//10189 10190//10190 10666//10666\nf 10192//10192 10001//10001 10858//10858\nf 10667//10667 10850//10850 10183//10183\nf 10861//10861 10669//10669 10201//10201\nf 10863//10863 10666//10666 10190//10190\nf 10860//10860 10872//10872 10195//10195\nf 10876//10876 10865//10865 10213//10213\nf 11488//11488 10005//10005 10672//10672\nf 10890//10890 10222//10222 10871//10871\nf 10672//10672 10006//10006 11489//11489\nf 10888//10888 10218//10218 10673//10673\nf 10225//10225 10787//10787 10673//10673\nf 10786//10786 10785//10785 10010//10010\nf 10007//10007 10010//10010 10785//10785\nf 10007//10007 10787//10787 10225//10225\nf 10007//10007 10785//10785 10787//10787\nf 10008//10008 10789//10789 10788//10788\nf 10008//10008 10226//10226 10789//10789\nf 10014//10014 10898//10898 10897//10897\nf 10014//10014 10236//10236 10015//10015\nf 10013//10013 10906//10906 10235//10235\nf 10233//10233 10239//10239 10237//10237\nf 10016//10016 10240//10240 10908//10908\nf 10244//10244 10754//10754 10914//10914\nf 10248//10248 10244//10244 10919//10919\nf 10917//10917 10020//10020 10249//10249\nf 10919//10919 10253//10253 10248//10248\nf 10925//10925 10252//10252 10254//10254\nf 10756//10756 10755//10755 10927//10927\nf 10931//10931 10791//10791 10625//10625\nf 10791//10791 10259//10259 10625//10625\nf 10931//10931 10625//10625 10261//10261\nf 10935//10935 10792//10792 10755//10755\nf 10260//10260 10932//10932 10263//10263\nf 10928//10928 10021//10021 10937//10937\nf 10939//10939 10023//10023 10263//10263\nf 10948//10948 10027//10027 10679//10679\nf 9669//9669 9475//9475 10026//10026\nf 10272//10272 10276//10276 10955//10955\nf 10758//10758 10954//10954 11444//11444\nf 10955//10955 10277//10277 10958//10958\nf 10028//10028 10958//10958 10277//10277\nf 10281//10281 10758//10758 10793//10793\nf 10289//10289 10283//10283 10029//10029\nf 10289//10289 10029//10029 10283//10283\nf 10971//10971 10680//10680 11445//11445\nf 10291//10291 10970//10970 10759//10759\nf 10297//10297 10680//10680 10974//10974\nf 10976//10976 10296//10296 10030//10030\nf 10977//10977 10980//10980 10031//10031\nf 10031//10031 10298//10298 10977//10977\nf 10306//10306 10304//10304 10794//10794\nf 10307//10307 10306//10306 10989//10989\nf 10307//10307 10989//10989 10992//10992\nf 10991//10991 10303//10303 10308//10308\nf 10760//10760 10307//10307 10317//10317\nf 10317//10317 10307//10307 10760//10760\nf 10323//10323 11003//11003 10997//10997\nf 10795//10795 10323//10323 10997//10997\nf 10796//10796 10997//10997 11001//11001\nf 10326//10326 10323//10323 10796//10796\nf 10796//10796 10627//10627 10326//10326\nf 11006//11006 10320//10320 11016//11016\nf 10629//10629 11008//11008 10330//10330\nf 11007//11007 10329//10329 10628//10628\nf 10331//10331 10797//10797 10322//10322\nf 11007//11007 11018//11018 10329//10329\nf 11018//11018 10681//10681 10329//10329\nf 10681//10681 11018//11018 10631//10631\nf 10798//10798 10797//10797 10331//10331\nf 10799//10799 10798//10798 10331//10331\nf 10338//10338 10799//10799 10331//10331\nf 11033//11033 10040//10040 10683//10683\nf 10337//10337 10343//10343 10682//10682\nf 11035//11035 10349//10349 10800//10800\nf 11036//11036 11035//11035 10800//10800\nf 11038//11038 10800//10800 10684//10684\nf 11050//11050 10336//10336 10039//10039\nf 10684//10684 10633//10633 11047//11047\nf 10355//10355 10040//10040 11051//11051\nf 11056//11056 10343//10343 10043//10043\nf 10805//10805 10802//10802 10345//10345\nf 10361//10361 11056//11056 10043//10043\nf 10804//10804 10802//10802 10805//10805\nf 10359//10359 10805//10805 10345//10345\nf 11063//11063 10050//10050 10362//10362\nf 11062//11062 10362//10362 10803//10803\nf 10808//10808 10805//10805 10359//10359\nf 11072//11072 10052//10052 10360//10360\nf 10686//10686 11072//11072 10360//10360\nf 11080//11080 10054//10054 10357//10357\nf 11065//11065 10370//10370 10688//10688\nf 10807//10807 10805//10805 10808//10808\nf 10804//10804 10805//10805 10807//10807\nf 10364//10364 10366//10366 11078//11078\nf 11074//11074 10687//10687 10367//10367\nf 10361//10361 10369//10369 10762//10762\nf 10809//10809 10808//10808 10359//10359\nf 10808//10808 10809//10809 10763//10763\nf 10374//10374 11089//11089 11078//11078\nf 11084//11084 10372//10372 10054//10054\nf 10809//10809 10764//10764 10763//10763\nf 10056//10056 10634//10634 10377//10377\nf 10691//10691 10690//10690 10764//10764\nf 11093//11093 10375//10375 11091//11091\nf 11092//11092 10377//10377 10634//10634\nf 10379//10379 10375//10375 11093//11093\nf 10694//10694 10388//10388 10691//10691\nf 10384//10384 11102//11102 10695//10695\nf 11109//11109 10391//10391 10387//10387\nf 10388//10388 10696//10696 10693//10693\nf 11115//11115 10389//10389 10695//10695\nf 10397//10397 10391//10391 10812//10812\nf 10397//10397 11111//11111 11122//11122\nf 11114//11114 10394//10394 11121//11121\nf 10392//10392 11123//11123 11119//11119\nf 11123//11123 10398//10398 11133//11133\nf 11125//11125 11128//11128 10401//10401\nf 10405//10405 10401//10401 11128//11128\nf 11130//11130 10410//10410 10701//10701\nf 11138//11138 10072//10072 10070//10070\nf 10404//10404 10074//10074 11132//11132\nf 11140//11140 10079//10079 10410//10410\nf 11143//11143 10702//10702 10704//10704\nf 10411//10411 10412//10412 10415//10415\nf 10421//10421 10409//10409 11141//11141\nf 11143//11143 10704//10704 11145//11145\nf 10072//10072 11147//11147 10423//10423\nf 10636//10636 10814//10814 10813//10813\nf 10426//10426 11157//11157 10431//10431\nf 10421//10421 10705//10705 10082//10082\nf 11145//11145 10083//10083 10769//10769\nf 11167//11167 10431//10431 11157//11157\nf 10814//10814 10636//10636 10766//10766\nf 10084//10084 11174//11174 10433//10433\nf 10083//10083 10438//10438 10769//10769\nf 10640//10640 10768//10768 10815//10815\nf 11171//11171 10769//10769 10438//10438\nf 10640//10640 10815//10815 10816//10816\nf 10817//10817 10816//10816 10815//10815\nf 10814//10814 10817//10817 10815//10815\nf 10814//10814 10818//10818 10817//10817\nf 11170//11170 11172//11172 10442//10442\nf 10818//10818 10814//10814 10766//10766\nf 10445//10445 10640//10640 10772//10772\nf 10818//10818 10766//10766 10770//10770\nf 11179//11179 10090//10090 10442//10442\nf 10640//10640 10816//10816 10772//10772\nf 10820//10820 10710//10710 10821//10821\nf 10710//10710 10771//10771 10821//10821\nf 10089//10089 10088//10088 11181//11181\nf 11191//11191 10089//10089 11181//11181\nf 11185//11185 10438//10438 10444//10444\nf 10819//10819 10770//10770 10710//10710\nf 11193//11193 10820//10820 10821//10821\nf 10452//10452 10445//10445 10772//10772\nf 10823//10823 10452//10452 10772//10772\nf 10095//10095 10823//10823 10824//10824\nf 11207//11207 10824//10824 10823//10823\nf 11204//11204 10454//10454 10453//10453\nf 10449//10449 10457//10457 11206//11206\nf 10717//10717 10095//10095 10824//10824\nf 10458//10458 10454//10454 10825//10825\nf 10462//10462 10469//10469 11221//11221\nf 11224//11224 10466//10466 10464//10464\nf 11227//11227 10471//10471 10717//10717\nf 11224//11224 11226//11226 10466//10466\nf 11226//11226 10718//10718 10466//10466\nf 11229//11229 10476//10476 10470//10470\nf 10722//10722 10478//10478 11246//11246\nf 10477//10477 10487//10487 10720//10720\nf 10723//10723 10721//10721 11249//11249\nf 10720//10720 11252//11252 11239//11239\nf 10479//10479 10110//10110 10827//10827\nf 11257//11257 10486//10486 10489//10489\nf 10725//10725 10723//10723 10828//10828\nf 10487//10487 10491//10491 11265//11265\nf 10114//10114 11266//11266 11270//11270\nf 10110//10110 11262//11262 10492//10492\nf 10504//10504 10113//10113 10725//10725\nf 10513//10513 10507//10507 10499//10499\nf 10493//10493 10727//10727 10726//10726\nf 11281//11281 10500//10500 10117//10117\nf 11285//11285 10503//10503 10511//10511\nf 10506//10506 10728//10728 10829//10829\nf 11281//11281 10117//10117 10521//10521\nf 11297//11297 11300//11300 10517//10517\nf 11300//11300 10520//10520 10517//10517\nf 10831//10831 10728//10728 10122//10122\nf 10519//10519 11303//11303 11291//11291\nf 10776//10776 10832//10832 10775//10775\nf 11472//11472 10521//10521 10123//10123\nf 10835//10835 10834//10834 10776//10776\nf 11305//11305 10831//10831 10778//10778\nf 10835//10835 10776//10776 10777//10777\nf 10730//10730 11305//11305 10778//10778\nf 10732//10732 10835//10835 10777//10777\nf 10733//10733 10525//10525 11308//11308\nf 10731//10731 10529//10529 11310//11310\nf 11317//11317 10532//10532 10129//10129\nf 10527//10527 10649//10649 10124//10124\nf 10736//10736 10838//10838 10732//10732\nf 10652//10652 10533//10533 11319//11319\nf 11324//11324 10649//10649 10837//10837\nf 10653//10653 10652//10652 11322//11322\nf 11326//11326 10131//10131 10132//10132\nf 11324//11324 11330//11330 10130//10130\nf 11328//11328 10134//10134 10779//10779\nf 10543//10543 10839//10839 10737//10737\nf 11333//11333 10736//10736 10654//10654\nf 10135//10135 10541//10541 11338//11338\nf 10656//10656 10135//10135 11338//11338\nf 11341//11341 11335//11335 10542//10542\nf 10546//10546 10548//10548 10841//10841\nf 11348//11348 10550//10550 10551//10551\nf 11348//11348 10842//10842 10550//10550\nf 10657//10657 11353//11353 10553//10553\nf 11357//11357 10568//10568 10559//10559\nf 10846//10846 9589//9589 9279//9279\nf 10846//10846 9279//9279 10782//10782\nf 11566//11566 10564//10564 11567//11567\nf 11367//11367 10569//10569 10567//10567\nf 10658//10658 10847//10847 10739//10739\nf 11375//11375 10159//10159 10573//10573\nf 10847//10847 10740//10740 10739//10739\nf 10742//10742 10741//10741 10576//10576\nf 10583//10583 11386//11386 11383//11383\nf 11387//11387 10744//10744 10743//10743\nf 11382//11382 10170//10170 10740//10740\nf 11389//11389 10588//10588 10745//10745\nf 11392//11392 10746//10746 10591//10591\nf 11397//11397 10589//10589 10596//10596\nf 11404//11404 10661//10661 10660//10660\nf 11406//11406 10662//10662 10661//10661\nf 11406//11406 10749//10749 10848//10848\nf 10177//10177 10607//10607 10605//10605\nf 11415//11415 10177//10177 10665//10665\nf 10608//10608 10609//10609 10606//10606\nf 10614//10614 10612//10612 11420//11420\nf 10753//10753 11425//11425 10616//10616\nf 11480//11480 10617//10617 11426//11426\nf 10002//10002 10182//10182 10849//10849\nf 11483//11483 10182//10182 10850//10850\nf 10852//10852 10186//10186 10187//10187\nf 10198//10198 10199//10199 10855//10855\nf 11431//11431 10189//10189 10666//10666\nf 10856//10856 10191//10191 10192//10192\nf 10871//10871 10208//10208 10859//10859\nf 10865//10865 11432//11432 10667//10667\nf 10186//10186 10860//10860 10185//10185\nf 10864//10864 10191//10191 10856//10856\nf 10208//10208 10002//10002 10859//10859\nf 10860//10860 10668//10668 10185//10185\nf 10866//10866 10861//10861 10219//10219\nf 10861//10861 10201//10201 10219//10219\nf 10862//10862 10211//10211 10205//10205\nf 10667//10667 10194//10194 10865//10865\nf 10860//10860 10195//10195 10668//10668\nf 10217//10217 10211//10211 10869//10869\nf 10865//10865 10194//10194 10213//10213\nf 10223//10223 10874//10874 10204//10204\nf 10875//10875 10003//10003 10879//10879\nf 10879//10879 10003//10003 10206//10206\nf 11489//11489 10006//10006 10882//10882\nf 10882//10882 10209//10209 10200//10200\nf 10882//10882 10200//10200 10883//10883\nf 10216//10216 10214//10214 10877//10877\nf 10878//10878 10784//10784 10217//10217\nf 10006//10006 10209//10209 10882//10882\nf 10885//10885 10228//10228 10784//10784\nf 11490//11490 10887//10887 10888//10888\nf 10004//10004 10218//10218 10888//10888\nf 10881//10881 10215//10215 10009//10009\nf 10222//10222 10208//10208 10871//10871\nf 10894//10894 10230//10230 10891//10891\nf 10893//10893 10874//10874 10224//10224\nf 10230//10230 10228//10228 10891//10891\nf 10786//10786 10010//10010 10231//10231\nf 10226//10226 10221//10221 10789//10789\nf 10786//10786 10231//10231 11700//11700\nf 10895//10895 10229//10229 10890//10890\nf 10893//10893 10224//10224 10896//10896\nf 12370//12370 11700//11700 12173//12173\nf 10009//10009 10014//10014 10897//10897\nf 10892//10892 10009//10009 10897//10897\nf 10901//10901 10229//10229 10895//10895\nf 10234//10234 10012//10012 10900//10900\nf 10900//10900 10012//10012 10894//10894\nf 10900//10900 10894//10894 11436//11436\nf 10902//10902 10013//10013 10901//10901\nf 10013//10013 10011//10011 10901//10901\nf 10899//10899 10233//10233 10903//10903\nf 10904//10904 10674//10674 10234//10234\nf 10238//10238 10674//10674 10904//10904\nf 10905//10905 10898//10898 10014//10014\nf 10902//10902 10906//10906 10013//10013\nf 10907//10907 10903//10903 10233//10233\nf 10238//10238 10904//10904 10908//10908\nf 10905//10905 10014//10014 10015//10015\nf 10238//10238 10908//10908 10240//10240\nf 10905//10905 10015//10015 10909//10909\nf 10233//10233 10237//10237 10907//10907\nf 10239//10239 10912//10912 10907//10907\nf 10754//10754 10016//10016 10914//10914\nf 10015//10015 10017//10017 10911//10911\nf 10909//10909 10015//10015 10911//10911\nf 10239//10239 10241//10241 10912//10912\nf 10016//10016 10908//10908 10914//10914\nf 10243//10243 11437//11437 10246//10246\nf 10244//10244 10914//10914 10916//10916\nf 11439//11439 10919//10919 10244//10244\nf 11439//11439 10244//10244 10916//10916\nf 10921//10921 10246//10246 10918//10918\nf 10249//10249 10677//10677 10922//10922\nf 10246//10246 10921//10921 10251//10251\nf 10253//10253 10919//10919 10257//10257\nf 11440//11440 10249//10249 10922//10922\nf 10924//10924 10923//10923 10254//10254\nf 10924//10924 10254//10254 10256//10256\nf 10254//10254 10923//10923 10925//10925\nf 10252//10252 10925//10925 10926//10926\nf 10676//10676 10756//10756 10927//10927\nf 10926//10926 10790//10790 10252//10252\nf 10258//10258 10928//10928 10677//10677\nf 10259//10259 10924//10924 10256//10256\nf 10928//10928 10258//10258 10021//10021\nf 10260//10260 10930//10930 10932//10932\nf 10930//10930 10260//10260 10257//10257\nf 10926//10926 10934//10934 10755//10755\nf 10792//10792 10936//10936 10755//10755\nf 10927//10927 10755//10755 10936//10936\nf 10933//10933 10261//10261 10938//10938\nf 10936//10936 10792//10792 10935//10935\nf 10939//10939 10263//10263 10932//10932\nf 10265//10265 10938//10938 10262//10262\nf 10941//10941 10021//10021 10264//10264\nf 10266//10266 10942//10942 10264//10264\nf 10944//10944 10266//10266 10269//10269\nf 10944//10944 10942//10942 10266//10266\nf 10940//10940 10265//10265 11442//11442\nf 10265//10265 10270//10270 11442//11442\nf 10945//10945 11442//11442 10270//10270\nf 10025//10025 10946//10946 10026//10026\nf 10946//10946 10947//10947 10026//10026\nf 10268//10268 10948//10948 10679//10679\nf 10944//10944 10274//10274 10950//10950\nf 10949//10949 10757//10757 10272//10272\nf 10270//10270 10757//10757 10945//10945\nf 10945//10945 10757//10757 10949//10949\nf 10951//10951 10026//10026 10947//10947\nf 10027//10027 10948//10948 10952//10952\nf 10274//10274 10275//10275 10953//10953\nf 10274//10274 10953//10953 10950//10950\nf 10758//10758 10026//10026 10954//10954\nf 10026//10026 10951//10951 10954//10954\nf 10279//10279 10027//10027 10952//10952\nf 10956//10956 10953//10953 10275//10275\nf 10278//10278 10956//10956 10275//10275\nf 10758//10758 10957//10957 10793//10793\nf 10278//10278 10282//10282 10956//10956\nf 10956//10956 10282//10282 10962//10962\nf 10284//10284 10281//10281 10957//10957\nf 10959//10959 10960//10960 10279//10279\nf 10281//10281 10793//10793 10957//10957\nf 10284//10284 10961//10961 10288//10288\nf 10029//10029 10963//10963 10283//10283\nf 10964//10964 10282//10282 10287//10287\nf 10282//10282 10964//10964 10962//10962\nf 10966//10966 10963//10963 10029//10029\nf 10285//10285 10965//10965 10286//10286\nf 10966//10966 10029//10029 10289//10289\nf 10967//10967 10288//10288 10961//10961\nf 10968//10968 10288//10288 10967//10967\nf 11445//11445 10286//10286 10965//10965\nf 10293//10293 10969//10969 10287//10287\nf 10680//10680 10286//10286 11445//11445\nf 10288//10288 10970//10970 10291//10291\nf 10968//10968 10970//10970 10288//10288\nf 10966//10966 10289//10289 10292//10292\nf 10293//10293 10973//10973 10969//10969\nf 10971//10971 10974//10974 10680//10680\nf 10293//10293 10975//10975 10973//10973\nf 10293//10293 10294//10294 10975//10975\nf 10292//10292 10296//10296 10972//10972\nf 10972//10972 10296//10296 10976//10976\nf 10759//10759 10970//10970 10977//10977\nf 10977//10977 10298//10298 10759//10759\nf 10979//10979 10975//10975 10299//10299\nf 10299//10299 10975//10975 10294//10294\nf 10300//10300 10976//10976 10030//10030\nf 10300//10300 10981//10981 10976//10976\nf 10794//10794 10031//10031 10980//10980\nf 10302//10302 10301//10301 10983//10983\nf 10301//10301 10978//10978 10983//10983\nf 10981//10981 10300//10300 10985//10985\nf 10300//10300 10305//10305 10985//10985\nf 10984//10984 10299//10299 10303//10303\nf 10794//10794 10986//10986 10306//10306\nf 10985//10985 10305//10305 10987//10987\nf 10989//10989 10306//10306 10986//10986\nf 10990//10990 10987//10987 10305//10305\nf 10302//10302 10988//10988 10309//10309\nf 10312//10312 10990//10990 10305//10305\nf 10992//10992 10317//10317 10307//10307\nf 10760//10760 10317//10317 10992//10992\nf 10991//10991 10308//10308 10993//10993\nf 10760//10760 10992//10992 10317//10317\nf 10309//10309 10988//10988 10994//10994\nf 10993//10993 10308//10308 10315//10315\nf 10995//10995 10312//10312 10316//10316\nf 10990//10990 10312//10312 10995//10995\nf 10999//10999 10316//10316 10318//10318\nf 11000//11000 10999//10999 10318//10318\nf 10997//10997 10323//10323 10795//10795\nf 10323//10323 10997//10997 10796//10796\nf 10627//10627 10796//10796 11001//11001\nf 10317//10317 10996//10996 11005//11005\nf 11000//11000 10318//10318 10322//10322\nf 10761//10761 10313//10313 10994//10994\nf 11006//11006 11003//11003 10320//10320\nf 11003//11003 10323//10323 10320//10320\nf 10627//10627 11002//11002 10628//10628\nf 10628//10628 11002//11002 11004//11004\nf 11004//11004 11007//11007 10628//10628\nf 10317//10317 11005//11005 10629//10629\nf 11008//11008 10629//10629 11005//11005\nf 10316//10316 11012//11012 11011//11011\nf 10316//10316 11011//11011 10995//10995\nf 10999//10999 11012//11012 10316//10316\nf 11000//11000 10322//10322 11013//11013\nf 10322//10322 11013//11013 10318//10318\nf 10318//10318 11013//11013 10322//10322\nf 11009//11009 10995//10995 11011//11011\nf 11016//11016 10320//10320 10319//10319\nf 11021//11021 11011//11011 11012//11012\nf 11011//11011 11020//11020 11009//11009\nf 11022//11022 11021//11021 11012//11012\nf 11017//11017 11016//11016 10630//10630\nf 11016//11016 10319//10319 10630//10630\nf 11451//11451 11018//11018 11007//11007\nf 10330//10330 11008//11008 11019//11019\nf 11020//11020 11010//11010 11009//11009\nf 11020//11020 11011//11011 11021//11021\nf 11013//11013 10322//10322 10797//10797\nf 11020//11020 11022//11022 11025//11025\nf 11021//11021 11022//11022 11020//11020\nf 11024//11024 11013//11013 10797//10797\nf 10630//10630 11027//11027 11017//11017\nf 10630//10630 10336//10336 11027//11027\nf 10631//10631 11018//11018 10681//10681\nf 10038//10038 11454//11454 11029//11029\nf 11030//11030 11025//11025 11031//11031\nf 11020//11020 11025//11025 11030//11030\nf 11025//11025 11022//11022 11031//11031\nf 11024//11024 10797//10797 10798//10798\nf 11018//11018 11033//11033 10681//10681\nf 10631//10631 10681//10681 11033//11033\nf 11022//11022 10798//10798 11031//11031\nf 11022//11022 11024//11024 10798//10798\nf 10683//10683 10631//10631 11033//11033\nf 10800//10800 11037//11037 11036//11036\nf 10347//10347 10349//10349 11035//11035\nf 11037//11037 10800//10800 11038//11038\nf 11032//11032 10344//10344 10333//10333\nf 11031//11031 11039//11039 11034//11034\nf 11031//11031 10798//10798 10801//10801\nf 10800//10800 10349//10349 10684//10684\nf 11037//11037 11038//11038 10684//10684\nf 11041//11041 10682//10682 10343//10343\nf 11042//11042 10798//10798 10799//10799\nf 11040//11040 11042//11042 10799//10799\nf 10799//10799 10338//10338 10340//10340\nf 11031//11031 10801//10801 11039//11039\nf 10801//10801 10798//10798 11042//11042\nf 11042//11042 10799//10799 10340//10340\nf 10347//10347 11035//11035 11043//11043\nf 11043//11043 10632//10632 10347//10347\nf 10342//10342 11029//11029 11048//11048\nf 11042//11042 11040//11040 10799//10799\nf 10342//10342 11048//11048 10685//10685\nf 11049//11049 11039//11039 10801//10801\nf 10045//10045 10632//10632 11043//11043\nf 11061//11061 11047//11047 10633//10633\nf 11044//11044 11053//11053 10041//10041\nf 11050//11050 10350//10350 11054//11054\nf 10039//10039 10350//10350 11050//11050\nf 10355//10355 11051//11051 11055//11055\nf 10352//10352 10685//10685 11048//11048\nf 11057//11057 11049//11049 10801//10801\nf 11057//11057 10801//10801 11058//11058\nf 11058//11058 11042//11042 10802//10802\nf 10801//10801 11042//11042 11058//11058\nf 11042//11042 10340//10340 10345//10345\nf 10356//10356 11052//11052 11059//11059\nf 10802//10802 11042//11042 10345//10345\nf 11058//11058 10802//10802 11057//11057\nf 11062//11062 10356//10356 11059//11059\nf 10041//10041 11053//11053 10686//10686\nf 11057//11057 10802//10802 11058//11058\nf 10362//10362 11062//11062 11063//11063\nf 10687//10687 11064//11064 10350//10350\nf 10350//10350 11064//11064 11054//11054\nf 11456//11456 10357//10357 11055//11055\nf 10358//10358 10352//10352 11065//11065\nf 11066//11066 11058//11058 11067//11067\nf 11057//11057 11058//11058 11066//11066\nf 11067//11067 10802//10802 10804//10804\nf 11058//11058 10802//10802 11067//11067\nf 10050//10050 11063//11063 10806//10806\nf 10359//10359 10050//10050 10806//10806\nf 10357//10357 10355//10355 11055//11055\nf 11061//11061 10364//10364 11070//11070\nf 11069//11069 10686//10686 11053//11053\nf 10358//10358 11065//11065 10688//10688\nf 11458//11458 11070//11070 10364//10364\nf 11073//11073 11064//11064 10687//10687\nf 10361//10361 10762//10762 11068//11068\nf 11073//11073 10687//10687 11074//11074\nf 11076//11076 10804//10804 10807//10807\nf 11067//11067 10804//10804 11076//11076\nf 10809//10809 10359//10359 11077//11077\nf 10359//10359 10806//10806 11077//11077\nf 10052//10052 11072//11072 11079//11079\nf 11458//11458 10364//10364 11078//11078\nf 10367//10367 10689//10689 11074//11074\nf 11081//11081 10369//10369 11082//11082\nf 10808//10808 11076//11076 10807//10807\nf 11074//11074 11083//11083 11073//11073\nf 11080//11080 11084//11084 10054//10054\nf 11082//11082 10369//10369 11085//11085\nf 10373//10373 11085//11085 10369//10369\nf 10370//10370 11086//11086 10375//10375\nf 10370//10370 11075//11075 11086//11086\nf 11087//11087 10808//10808 10763//10763\nf 11076//11076 10808//10808 11087//11087\nf 10764//10764 11077//11077 11088//11088\nf 10809//10809 11077//11077 10764//10764\nf 10366//10366 10374//10374 11078//11078\nf 10689//10689 11083//11083 11074//11074\nf 10375//10375 11086//11086 11091//11091\nf 11096//11096 10374//10374 10060//10060\nf 11094//11094 11087//11087 10763//10763\nf 10376//10376 11083//11083 10689//10689\nf 10058//10058 10372//10372 11084//11084\nf 10378//10378 11085//11085 10373//10373\nf 10764//10764 11088//11088 11095//11095\nf 11096//11096 11089//11089 10374//10374\nf 11084//11084 11098//11098 10382//10382\nf 10058//10058 11084//11084 10382//10382\nf 10763//10763 10690//10690 11094//11094\nf 10764//10764 11095//11095 10810//10810\nf 10691//10691 10764//10764 10810//10810\nf 10691//10691 10810//10810 11101//11101\nf 10690//10690 11100//11100 11094//11094\nf 10377//10377 11102//11102 10384//10384\nf 11104//11104 11459//11459 10376//10376\nf 11103//11103 10379//10379 11093//11093\nf 10694//10694 10691//10691 11101//11101\nf 10376//10376 10692//10692 11104//11104\nf 11106//11106 10690//10690 10693//10693\nf 10810//10810 10694//10694 11101//11101\nf 10694//10694 10810//10810 10811//10811\nf 10061//10061 11110//11110 10396//10396\nf 10811//10811 10063//10063 10694//10694\nf 11107//11107 10386//10386 11114//11114\nf 11104//11104 10390//10390 11116//11116\nf 11111//11111 10391//10391 11109//11109\nf 11108//11108 10392//10392 11112//11112\nf 10393//10393 10061//10061 10396//10396\nf 10391//10391 11111//11111 10812//10812\nf 11113//11113 10693//10693 10696//10696\nf 11117//11117 10389//10389 11115//11115\nf 10389//10389 11117//11117 10066//10066\nf 11117//11117 11118//11118 10066//10066\nf 10397//10397 10812//10812 11111//11111\nf 10392//10392 10398//10398 11123//11123\nf 10065//10065 11110//11110 11127//11127\nf 10696//10696 11120//11120 11113//11113\nf 10065//10065 10396//10396 11110//11110\nf 10696//10696 10698//10698 11120//11120\nf 11124//11124 10765//10765 10068//10068\nf 10066//10066 11125//11125 10401//10401\nf 11122//11122 11130//11130 10071//10071\nf 11120//11120 10700//10700 11134//11134\nf 11132//11132 11460//11460 10400//10400\nf 10067//10067 11129//11129 11126//11126\nf 10069//10069 11129//11129 10067//10067\nf 10065//10065 11127//11127 10407//10407\nf 11120//11120 10698//10698 10700//10700\nf 10400//10400 10404//10404 11132//11132\nf 11133//11133 10398//10398 10699//10699\nf 10071//10071 11130//11130 10701//10701\nf 10406//10406 11133//11133 10699//10699\nf 11128//11128 10073//10073 10405//10405\nf 11137//11137 11133//11133 10406//10406\nf 11131//11131 11138//11138 10070//10070\nf 11129//11129 10069//10069 11136//11136\nf 10406//10406 10411//10411 11137//11137\nf 11135//11135 11141//11141 10407//10407\nf 10069//10069 10408//10408 11136//11136\nf 10409//10409 10407//10407 11141//11141\nf 11134//11134 10700//10700 10702//10702\nf 11136//11136 10408//10408 11142//11142\nf 11132//11132 10074//10074 11144//11144\nf 11144//11144 10074//10074 10636//10636\nf 11146//11146 10079//10079 11140//11140\nf 11154//11154 10636//10636 11148//11148\nf 11151//11151 10417//10417 10073//10073\nf 10411//10411 10415//10415 11149//11149\nf 11141//11141 11150//11150 10421//10421\nf 11147//11147 10072//10072 11138//11138\nf 10423//10423 11147//11147 11153//11153\nf 11149//11149 10415//10415 10076//10076\nf 11152//11152 10421//10421 11150//11150\nf 11152//11152 11150//11150 11141//11141\nf 10813//10813 11154//11154 10636//10636\nf 11156//11156 10425//10425 10417//10417\nf 11156//11156 10417//10417 11151//11151\nf 10703//10703 10422//10422 11155//11155\nf 10076//10076 11158//11158 11149//11149\nf 11152//11152 11161//11161 10421//10421\nf 10423//10423 11153//11153 10706//10706\nf 10430//10430 10425//10425 11156//11156\nf 10076//10076 11160//11160 11158//11158\nf 10706//10706 11153//11153 10432//10432\nf 11154//11154 10813//10813 10814//10814\nf 11162//11162 10430//10430 11156//11156\nf 11163//11163 10076//10076 10707//10707\nf 11163//11163 11160//11160 10076//10076\nf 10705//10705 10421//10421 11161//11161\nf 11462//11462 11154//11154 10814//10814\nf 10707//10707 11168//11168 11163//11163\nf 10707//10707 10427//10427 11168//11168\nf 10428//10428 10705//10705 11164//11164\nf 11165//11165 10768//10768 10432//10432\nf 11153//11153 11165//11165 10432//10432\nf 11164//11164 11169//11169 10428//10428\nf 11166//11166 10768//10768 11165//11165\nf 10427//10427 10428//10428 11168//11168\nf 10815//10815 10768//10768 11166//11166\nf 11166//11166 10814//10814 10815//10815\nf 10430//10430 11162//11162 10436//10436\nf 11171//11171 10438//10438 11175//11175\nf 11176//11176 10085//10085 10440//10440\nf 10435//10435 11176//11176 10440//10440\nf 10435//10435 11177//11177 11176//11176\nf 10441//10441 11177//11177 10435//10435\nf 11180//11180 10441//10441 10712//10712\nf 11178//11178 10441//10441 11180//11180\nf 11181//11181 10088//10088 11173//11173\nf 11176//11176 11182//11182 10439//10439\nf 11176//11176 10439//10439 10085//10085\nf 10772//10772 10816//10816 11186//11186\nf 11187//11187 10817//10817 10818//10818\nf 11182//11182 10711//10711 10439//10439\nf 10084//10084 11183//11183 11174//11174\nf 10641//10641 11183//11183 10084//10084\nf 11179//11179 11184//11184 10090//10090\nf 11185//11185 11175//11175 10438//10438\nf 10816//10816 10817//10817 11186//11186\nf 11187//11187 10818//10818 10770//10770\nf 11188//11188 10822//10822 10711//10711\nf 11188//11188 10711//10711 11189//11189\nf 11190//11190 10712//10712 10713//10713\nf 11190//11190 11180//11180 10712//10712\nf 11186//11186 10817//10817 11187//11187\nf 10821//10821 10771//10771 10822//10822\nf 10771//10771 10711//10711 10822//10822\nf 10711//10711 11182//11182 11189//11189\nf 10090//10090 11184//11184 10446//10446\nf 10772//10772 11186//11186 11192//11192\nf 10819//10819 10710//10710 10820//10820\nf 10821//10821 10822//10822 11188//11188\nf 10089//10089 11191//11191 10092//10092\nf 11187//11187 10770//10770 10819//10819\nf 11193//11193 10819//10819 10820//10820\nf 11194//11194 10821//10821 11188//11188\nf 11195//11195 11190//11190 10713//10713\nf 11197//11197 10451//10451 10092//10092\nf 11193//11193 10821//10821 11194//11194\nf 10713//10713 10443//10443 11195//11195\nf 10448//10448 10446//10446 11198//11198\nf 10772//10772 11192//11192 11199//11199\nf 11195//11195 10450//10450 11200//11200\nf 10443//10443 10450//10450 11195//11195\nf 10453//10453 10451//10451 11197//11197\nf 10641//10641 10447//10447 11201//11201\nf 10823//10823 10772//10772 11199//11199\nf 11198//11198 10714//10714 10448//10448\nf 11204//11204 10453//10453 11202//11202\nf 11203//11203 10714//10714 11198//11198\nf 11541//11541 10444//10444 10449//10449\nf 10455//10455 10714//10714 11203//11203\nf 11207//11207 10823//10823 11199//11199\nf 11208//11208 11200//11200 10450//10450\nf 11208//11208 10450//10450 10456//10456\nf 10447//10447 10715//10715 11205//11205\nf 11208//11208 10456//10456 11209//11209\nf 11209//11209 10456//10456 10096//10096\nf 11212//11212 11209//11209 10096//10096\nf 11206//11206 10457//10457 10094//10094\nf 10454//10454 11210//11210 10825//10825\nf 10716//10716 11212//11212 10096//10096\nf 10716//10716 11216//11216 11212//11212\nf 11213//11213 10825//10825 11210//11210\nf 11205//11205 10097//10097 11214//11214\nf 10464//10464 10455//10455 11211//11211\nf 10459//10459 11216//11216 10716//10716\nf 10825//10825 11213//11213 10458//10458\nf 10097//10097 10460//10460 11214//11214\nf 10462//10462 11221//11221 11217//11217\nf 11213//11213 11222//11222 10465//10465\nf 11223//11223 11216//11216 10459//10459\nf 11223//11223 10459//10459 10098//10098\nf 11229//11229 10465//10465 11222//11222\nf 10460//10460 10100//10100 11219//11219\nf 10468//10468 11223//11223 10098//10098\nf 10468//10468 11225//11225 11223//11223\nf 11218//11218 11227//11227 10717//10717\nf 11230//11230 11221//11221 10469//10469\nf 11228//11228 10774//10774 10719//10719\nf 11232//11232 11228//11228 10719//10719\nf 11232//11232 10719//10719 10643//10643\nf 10721//10721 10774//10774 11231//11231\nf 11228//11228 11231//11231 10774//10774\nf 10643//10643 10102//10102 11235//11235\nf 11232//11232 10643//10643 11235//11235\nf 10473//10473 11235//11235 10102//10102\nf 10773//10773 10479//10479 11230//11230\nf 10101//10101 11236//11236 11234//11234\nf 10101//10101 10472//10472 11236//11236\nf 10474//10474 11237//11237 10473//10473\nf 11229//11229 11238//11238 10476//10476\nf 10478//10478 10718//10718 11240//11240\nf 11240//11240 10718//10718 11226//11226\nf 10472//10472 10104//10104 11236//11236\nf 11236//11236 10104//10104 11241//11241\nf 11242//11242 10476//10476 11238//11238\nf 10100//10100 10720//10720 11239//11239\nf 10471//10471 11227//11227 10480//10480\nf 11244//11244 11237//11237 10475//10475\nf 11237//11237 10474//10474 10475//10475\nf 11245//11245 10475//10475 10481//10481\nf 11244//11244 10475//10475 11245//11245\nf 10482//10482 10476//10476 11242//11242\nf 10720//10720 10487//10487 11252//11252\nf 10479//10479 10827//10827 11248//11248\nf 11471//11471 10479//10479 11248//11248\nf 10826//10826 11243//11243 11249//11249\nf 11245//11245 10481//10481 10108//10108\nf 11250//11250 11245//11245 10108//10108\nf 10483//10483 11242//11242 11251//11251\nf 11242//11242 10483//10483 10482//10482\nf 11253//11253 10484//10484 11246//11246\nf 10110//10110 11248//11248 10827//10827\nf 11256//11256 10480//10480 11247//11247\nf 11254//11254 10104//10104 10109//10109\nf 11254//11254 11241//11241 10104//10104\nf 10721//10721 10826//10826 11249//11249\nf 11250//11250 10108//10108 10485//10485\nf 11250//11250 10485//10485 11255//11255\nf 11255//11255 10486//10486 11257//11257\nf 11254//11254 10109//10109 11260//11260\nf 10109//10109 10724//10724 11260//11260\nf 11249//11249 11259//11259 10723//10723\nf 10645//10645 11253//11253 11266//11266\nf 10645//10645 10484//10484 11253//11253\nf 10646//10646 11261//11261 11257//11257\nf 10646//10646 11257//11257 10489//10489\nf 11258//11258 10110//10110 11262//11262\nf 10725//10725 10107//10107 10723//10723\nf 11251//11251 10112//10112 10483//10483\nf 11264//11264 10112//10112 11251//11251\nf 11266//11266 10114//10114 10645//10645\nf 11262//11262 10110//10110 10492//10492\nf 10498//10498 10644//10644 11256//11256\nf 10724//10724 10726//10726 11260//11260\nf 11268//11268 10111//10111 10494//10494\nf 11263//11263 10111//10111 11268//11268\nf 10487//10487 11265//11265 11252//11252\nf 10499//10499 10114//10114 11270//11270\nf 11260//11260 10726//10726 11271//11271\nf 11273//11273 11272//11272 10496//10496\nf 11272//11272 10495//10495 10496//10496\nf 10496//10496 10497//10497 11274//11274\nf 10112//10112 11269//11269 10497//10497\nf 10110//10110 10500//10500 11275//11275\nf 10110//10110 10492//10492 10500//10500\nf 10725//10725 10828//10828 11267//11267\nf 11268//11268 10494//10494 10495//10495\nf 11268//11268 11272//11272 10494//10494\nf 10496//10496 11274//11274 11273//11273\nf 10725//10725 11267//11267 11277//11277\nf 11279//11279 10725//10725 11277//11277\nf 11276//11276 10491//10491 10506//10506\nf 11270//11270 11280//11280 10499//10499\nf 11283//11283 11271//11271 10726//10726\nf 10725//10725 11279//11279 10504//10504\nf 10829//10829 11276//11276 10506//10506\nf 11281//11281 11275//11275 10500//10500\nf 10510//10510 10509//10509 11278//11278\nf 10511//10511 11284//11284 11285//11285\nf 10511//10511 10116//10116 11284//11284\nf 10513//10513 10499//10499 11280//11280\nf 11278//11278 10509//10509 10119//10119\nf 11287//11287 10504//10504 11279//11279\nf 11286//11286 11288//11288 10501//10501\nf 11278//11278 11290//11290 10510//10510\nf 11284//11284 10116//10116 10512//10512\nf 10726//10726 10727//10727 11283//11283\nf 10503//10503 11292//11292 10727//10727\nf 11283//11283 10727//10727 11292//11292\nf 11295//11295 10505//10505 11287//11287\nf 10504//10504 11287//11287 10505//10505\nf 10830//10830 10829//10829 10728//10728\nf 11294//11294 11292//11292 10503//10503\nf 10505//10505 11296//11296 10118//10118\nf 10505//10505 11295//11295 11296//11296\nf 10728//10728 10831//10831 10830//10830\nf 10729//10729 10513//10513 11293//11293\nf 10501//10501 11286//11286 10514//10514\nf 11288//11288 11286//11286 10501//10501\nf 10119//10119 10514//10514 11289//11289\nf 11289//11289 10514//10514 11299//11299\nf 11290//11290 10120//10120 10510//10510\nf 11296//11296 11297//11297 10118//10118\nf 10118//10118 11297//11297 10516//10516\nf 10516//10516 11297//11297 10517//10517\nf 10520//10520 11300//11300 11301//11301\nf 10729//10729 11298//11298 10525//10525\nf 11290//11290 11302//11302 10120//10120\nf 10520//10520 11301//11301 10522//10522\nf 11301//11301 11304//11304 10522//10522\nf 10833//10833 10775//10775 10832//10832\nf 10833//10833 10730//10730 10775//10775\nf 10834//10834 10832//10832 10776//10776\nf 10514//10514 11286//11286 11299//11299\nf 10518//10518 10120//10120 11302//11302\nf 11307//11307 11303//11303 10519//10519\nf 10522//10522 11309//11309 10523//10523\nf 11305//11305 10730//10730 10833//10833\nf 11306//11306 10123//10123 10731//10731\nf 10831//10831 10122//10122 10778//10778\nf 11306//11306 10731//10731 11310//11310\nf 10126//10126 10733//10733 11308//11308\nf 10518//10518 11302//11302 10524//10524\nf 11311//11311 10523//10523 11309//11309\nf 10527//10527 10523//10523 11311//11311\nf 10126//10126 11308//11308 10127//10127\nf 11314//11314 11315//11315 10524//10524\nf 10519//10519 10524//10524 11315//11315\nf 10519//10519 11315//11315 11316//11316\nf 11307//11307 10519//10519 11316//11316\nf 10527//10527 11311//11311 11318//11318\nf 10732//10732 10836//10836 10835//10835\nf 10530//10530 11313//11313 11473//11473\nf 11319//11319 10735//10735 11312//11312\nf 10735//10735 10127//10127 11312//11312\nf 11313//11313 11317//11317 11473//11473\nf 10533//10533 10735//10735 11319//11319\nf 11317//11317 10530//10530 10532//10532\nf 11318//11318 10837//10837 10527//10527\nf 10837//10837 10649//10649 10527//10527\nf 10838//10838 11321//11321 10732//10732\nf 11321//11321 10836//10836 10732//10732\nf 11320//11320 10129//10129 10131//10131\nf 10736//10736 11321//11321 10838//10838\nf 11325//11325 10653//10653 11322//11322\nf 10736//10736 11327//11327 11321//11321\nf 11328//11328 10779//10779 11325//11325\nf 11326//11326 10132//10132 10737//10737\nf 11324//11324 10130//10130 10649//10649\nf 10737//10737 11329//11329 11326//11326\nf 10134//10134 11328//11328 10779//10779\nf 10839//10839 11329//11329 10737//10737\nf 11333//11333 11327//11327 10736//10736\nf 11331//11331 10541//10541 10779//10779\nf 11334//11334 10541//10541 11331//11331\nf 10543//10543 10542//10542 11335//11335\nf 10839//10839 10543//10543 11332//11332\nf 10133//10133 10130//10130 11336//11336\nf 11333//11333 10654//10654 11337//11337\nf 10656//10656 11338//11338 11339//11339\nf 10542//10542 10137//10137 11341//11341\nf 11343//11343 10656//10656 11339//11339\nf 10544//10544 10136//10136 11344//11344\nf 10136//10136 11343//11343 11344//11344\nf 10544//10544 11344//11344 11340//11340\nf 10544//10544 11340//11340 10545//10545\nf 10655//10655 10780//10780 11345//11345\nf 10655//10655 11345//11345 10138//10138\nf 10840//10840 10139//10139 10138//10138\nf 10654//10654 10841//10841 11337//11337\nf 10654//10654 10538//10538 10841//10841\nf 10840//10840 10138//10138 11345//11345\nf 10139//10139 10840//10840 10547//10547\nf 10840//10840 11346//11346 10547//10547\nf 10841//10841 10538//10538 10546//10546\nf 11346//11346 10145//10145 10547//10547\nf 10841//10841 10548//10548 10842//10842\nf 11347//11347 10843//10843 10145//10145\nf 10842//10842 10548//10548 10550//10550\nf 11348//11348 10551//10551 10552//10552\nf 11352//11352 10556//10556 10553//10553\nf 11350//11350 10556//10556 11352//11352\nf 11352//11352 10553//10553 11353//11353\nf 10843//10843 11347//11347 10145//10145\nf 11354//11354 11349//11349 10552//10552\nf 10556//10556 11350//11350 11351//11351\nf 11353//11353 10657//10657 10844//10844\nf 11356//11356 11355//11355 11347//11347\nf 11355//11355 10145//10145 11347//11347\nf 11355//11355 10150//10150 10145//10145\nf 10560//10560 11354//11354 10153//10153\nf 11357//11357 10556//10556 11351//11351\nf 10559//10559 10556//10556 11357//11357\nf 11359//11359 11358//11358 10560//10560\nf 11359//11359 10560//10560 10565//10565\nf 10555//10555 11361//11361 10554//10554\nf 10555//10555 10557//10557 11361//11361\nf 10150//10150 11364//11364 10564//10564\nf 10150//10150 11355//11355 11364//11364\nf 11365//11365 10568//10568 11357//11357\nf 11565//11565 11362//11362 11475//11475\nf 11475//11475 10561//10561 10845//10845\nf 10561//10561 10562//10562 11366//11366\nf 11366//11366 10562//10562 10781//10781\nf 11364//11364 11567//11567 10564//10564\nf 10570//10570 11368//11368 10565//10565\nf 10565//10565 11368//11368 11359//11359\nf 10845//10845 10561//10561 11366//11366\nf 11570//11570 10569//10569 11367//11367\nf 10158//10158 10568//10568 11365//11365\nf 10158//10158 11365//11365 11369//11369\nf 11369//11369 10783//10783 10158//10158\nf 11370//11370 10783//10783 11369//11369\nf 10658//10658 10783//10783 11371//11371\nf 10783//10783 11370//11370 11371//11371\nf 11372//11372 10570//10570 10738//10738\nf 10571//10571 11372//11372 10738//10738\nf 10658//10658 11371//11371 11373//11373\nf 11372//11372 10160//10160 11374//11374\nf 11372//11372 10571//10571 10160//10160\nf 11373//11373 10847//10847 10658//10658\nf 11376//11376 10847//10847 11373//11373\nf 11377//11377 10575//10575 11378//11378\nf 10847//10847 11376//11376 11379//11379\nf 11380//11380 10847//10847 11379//11379\nf 11379//11379 10740//10740 11380//11380\nf 11383//11383 11384//11384 10741//10741\nf 10740//10740 10847//10847 11380//11380\nf 11382//11382 10740//10740 11379//11379\nf 10741//10741 11385//11385 10743//10743\nf 10741//10741 11384//11384 11385//11385\nf 11387//11387 10743//10743 11385//11385\nf 10742//10742 10583//10583 11383//11383\nf 10580//10580 10744//10744 11387//11387\nf 10582//10582 10588//10588 11389//11389\nf 11390//11390 10170//10170 11382//11382\nf 11393//11393 10580//10580 11388//11388\nf 10170//10170 11390//11390 10590//10590\nf 11391//11391 10585//10585 11392//11392\nf 10585//10585 10746//10746 11392//11392\nf 11393//11393 10174//10174 10580//10580\nf 10590//10590 11395//11395 10591//10591\nf 11390//11390 11395//11395 10590//10590\nf 11393//11393 11396//11396 10174//10174\nf 11398//11398 10174//10174 11396//11396\nf 11398//11398 10597//10597 10174//10174\nf 10601//10601 11399//11399 11397//11397\nf 11397//11397 10596//10596 10601//10601\nf 10601//10601 11400//11400 11399//11399\nf 11403//11403 10660//10660 10748//10748\nf 11403//11403 11404//11404 10660//10660\nf 11405//11405 10661//10661 11404//11404\nf 10750//10750 11408//11408 10175//10175\nf 10661//10661 11405//11405 11406//11406\nf 11398//11398 11407//11407 10597//10597\nf 10602//10602 10597//10597 11407//11407\nf 10750//10750 10176//10176 11410//11410\nf 10662//10662 11406//11406 10848//10848\nf 10601//10601 11409//11409 11400//11400\nf 10751//10751 11409//11409 10601//10601\nf 11408//11408 10750//10750 11410//11410\nf 10751//10751 10604//10604 11409//11409\nf 10603//10603 11409//11409 10604//10604\nf 10605//10605 10607//10607 11412//11412\nf 10602//10602 11413//11413 10606//10606\nf 11407//11407 11413//11413 10602//10602\nf 11414//11414 10607//10607 10177//10177\nf 11412//11412 10607//10607 11414//11414\nf 10177//10177 11415//11415 11414//11414\nf 10606//10606 11413//11413 11416//11416\nf 10606//10606 11416//11416 10608//10608\nf 11415//11415 10610//10610 11417//11417\nf 11415//11415 10665//10665 10610//10610\nf 10608//10608 11416//11416 10609//10609\nf 11416//11416 11418//11418 10609//10609\nf 11418//11418 11420//11420 10612//10612\nf 11421//11421 10613//10613 10752//10752\nf 10614//10614 11424//11424 10753//10753\nf 11426//11426 10181//10181 11427//11427\nf 11426//11426 10617//10617 10181//10181\nf 10619//10619 10180//10180 10621//10621\nf 10849//10849 10182//10182 11483//11483\nf 10852//10852 10669//10669 10853//10853\nf 10854//10854 10198//10198 10855//10855\nf 10855//10855 10188//10188 10189//10189\nf 10864//10864 10856//10856 10857//10857\nf 10864//10864 10857//10857 10856//10856\nf 10858//10858 10001//10001 10670//10670\nf 10849//10849 10859//10859 10002//10002\nf 11432//11432 10850//10850 10667//10667\nf 10860//10860 10186//10186 10851//10851\nf 10853//10853 10669//10669 10861//10861\nf 11486//11486 10861//10861 10866//10866\nf 11486//11486 10853//10853 10861//10861\nf 12541//12541 11674//11674 12480//12480\nf 10205//10205 10854//10854 10862//10862\nf 10205//10205 10198//10198 10854//10854\nf 11431//11431 10666//10666 10863//10863\nf 10202//10202 10203//10203 10867//10867\nf 10867//10867 10204//10204 11433//11433\nf 10212//10212 10191//10191 10864//10864\nf 10204//10204 10874//10874 10868//10868\nf 10863//10863 10003//10003 10875//10875\nf 10880//10880 10212//10212 10864//10864\nf 10870//10870 10215//10215 10881//10881\nf 10200//10200 10195//10195 10872//10872\nf 10866//10866 10219//10219 10884//10884\nf 10877//10877 10214//10214 10210//10210\nf 10884//10884 10216//10216 10877//10877\nf 11491//11491 10624//10624 10212//10212\nf 10876//10876 10213//10213 10005//10005\nf 10891//10891 10228//10228 10885//10885\nf 11631//11631 10879//10879 11490//11490\nf 11490//11490 10004//10004 10887//10887\nf 11490//11490 10206//10206 10004//10004\nf 10889//10889 10221//10221 10624//10624\nf 10009//10009 10892//10892 10881//10881\nf 10874//10874 10223//10223 10224//10224\nf 10889//10889 10789//10789 10221//10221\nf 10229//10229 10222//10222 10890//10890\nf 10012//10012 10230//10230 10894//10894\nf 10892//10892 10898//10898 10897//10897\nf 10899//10899 10224//10224 10233//10233\nf 10224//10224 10899//10899 10896//10896\nf 10011//10011 10229//10229 10901//10901\nf 10235//10235 10906//10906 10910//10910\nf 10907//10907 10237//10237 10239//10239\nf 10243//10243 10235//10235 10910//10910\nf 10912//10912 10241//10241 10913//10913\nf 10246//10246 11437//11437 10918//10918\nf 10243//10243 10910//10910 11437//11437\nf 10675//10675 10915//10915 10913//10913\nf 10917//10917 11438//11438 10911//10911\nf 10017//10017 10917//10917 10911//10911\nf 10913//10913 10241//10241 10675//10675\nf 10915//10915 10675//10675 10245//10245\nf 10245//10245 10676//10676 10920//10920\nf 10917//10917 10249//10249 11440//11440\nf 10915//10915 10245//10245 10920//10920\nf 10928//10928 10922//10922 10677//10677\nf 10678//10678 10251//10251 10921//10921\nf 10923//10923 10926//10926 10925//10925\nf 10676//10676 10927//10927 10920//10920\nf 10678//10678 10921//10921 10929//10929\nf 10924//10924 10259//10259 10791//10791\nf 10926//10926 10755//10755 10790//10790\nf 10934//10934 10935//10935 10755//10755\nf 10931//10931 10261//10261 10933//10933\nf 10261//10261 10262//10262 10938//10938\nf 10024//10024 10022//10022 11441//11441\nf 10938//10938 10265//10265 10940//10940\nf 10942//10942 10941//10941 10264//10264\nf 10268//10268 10023//10023 10943//10943\nf 10023//10023 10939//10939 10943//10943\nf 10025//10025 10024//10024 10946//10946\nf 10268//10268 10943//10943 11499//11499\nf 10025//10025 11498//11498 10946//10946\nf 10944//10944 10269//10269 10274//10274\nf 10957//10957 10758//10758 11444//11444\nf 11444//11444 10954//10954 10951//10951\nf 10279//10279 10952//10952 10959//10959\nf 10961//10961 10284//10284 10957//10957\nf 10963//10963 10958//10958 10283//10283\nf 10285//10285 10279//10279 10960//10960\nf 10285//10285 10960//10960 10965//10965\nf 10972//10972 10966//10966 10292//10292\nf 10287//10287 10969//10969 10964//10964\nf 10974//10974 10971//10971 11446//11446\nf 10301//10301 10297//10297 10978//10978\nf 10297//10297 10974//10974 10978//10978\nf 10299//10299 10982//10982 10979//10979\nf 10986//10986 10794//10794 10980//10980\nf 10988//10988 10302//10302 10983//10983\nf 10985//10985 11448//11448 11447//11447\nf 11448//11448 10985//10985 11449//11449\nf 10990//10990 10985//10985 10987//10987\nf 11449//11449 10985//10985 10990//10990\nf 11449//11449 10990//10990 10995//10995\nf 11449//11449 11450//11450 11448//11448\nf 10313//10313 10309//10309 10994//10994\nf 10315//10315 10998//10998 10993//10993\nf 11450//11450 11449//11449 10995//10995\nf 11002//11002 10627//10627 11001//11001\nf 10998//10998 10315//10315 10626//10626\nf 11010//11010 10995//10995 11009//11009\nf 11010//11010 11450//11450 10995//10995\nf 11012//11012 11000//11000 11013//11013\nf 10999//10999 11000//11000 11012//11012\nf 10761//10761 10994//10994 11014//11014\nf 11013//11013 11024//11024 11022//11022\nf 10034//10034 10761//10761 11452//11452\nf 10761//10761 11014//11014 11452//11452\nf 11010//11010 11020//11020 11453//11453\nf 11012//11012 11013//11013 11022//11022\nf 10034//10034 11452//11452 11023//11023\nf 11015//11015 10332//10332 11026//11026\nf 11015//11015 10626//10626 10332//10332\nf 10330//10330 11019//11019 11454//11454\nf 10332//10332 10682//10682 11026//11026\nf 10038//10038 10330//10330 11454//11454\nf 10333//10333 11023//11023 11032//11032\nf 10682//10682 11028//11028 11026//11026\nf 10333//10333 10034//10034 11023//11023\nf 11034//11034 11030//11030 11031//11031\nf 11039//11039 11034//11034 11030//11030\nf 11045//11045 10040//10040 11033//11033\nf 10343//10343 11046//11046 11041//11041\nf 11037//11037 10684//10684 11047//11047\nf 10344//10344 11514//11514 11044//11044\nf 11051//11051 10040//10040 11045//11045\nf 10045//10045 11043//11043 11052//11052\nf 10356//10356 10045//10045 11052//11052\nf 10352//10352 11048//11048 11060//11060\nf 11057//11057 11039//11039 11049//11049\nf 10803//10803 10356//10356 11062//11062\nf 11064//11064 11455//11455 11054//11054\nf 11061//11061 10633//10633 10364//10364\nf 11060//11060 11065//11065 10352//10352\nf 11068//11068 11056//11056 10361//10361\nf 10357//10357 11456//11456 11071//11071\nf 11068//11068 10762//10762 11081//11081\nf 11080//11080 10357//10357 11071//11071\nf 10634//10634 11079//11079 11090//11090\nf 10634//10634 10052//10052 11079//11079\nf 11090//11090 11092//11092 10634//10634\nf 11098//11098 11084//11084 11520//11520\nf 10378//10378 11099//11099 11085//11085\nf 11083//11083 10376//10376 11097//11097\nf 11096//11096 10060//10060 10386//10386\nf 10377//10377 11092//11092 11102//11102\nf 11459//11459 11097//11097 10376//10376\nf 11099//11099 10378//10378 10385//10385\nf 11522//11522 11099//11099 10385//10385\nf 11523//11523 11103//11103 11093//11093\nf 11106//11106 11100//11100 10690//10690\nf 10692//10692 10059//10059 11104//11104\nf 10693//10693 11113//11113 11106//11106\nf 10059//10059 10390//10390 11104//11104\nf 10695//10695 11102//11102 11115//11115\nf 10394//10394 10400//10400 11121//11121\nf 10392//10392 11119//11119 11112//11112\nf 11122//11122 10071//10071 10397//10397\nf 10765//10765 11124//11124 11131//11131\nf 11460//11460 11121//11121 10400//10400\nf 10070//10070 10765//10765 11131//11131\nf 11527//11527 11130//11130 11122//11122\nf 10407//10407 11127//11127 11135//11135\nf 11139//11139 10073//10073 11128//11128\nf 10410//10410 11130//11130 11140//11140\nf 11134//11134 10702//10702 11143//11143\nf 11154//11154 11144//11144 10636//10636\nf 11137//11137 10411//10411 11149//11149\nf 11153//11153 11138//11138 11528//11528\nf 10073//10073 11139//11139 11151//11151\nf 11142//11142 10408//10408 10703//10703\nf 11153//11153 11147//11147 11138//11138\nf 11154//11154 11148//11148 10636//10636\nf 11461//11461 11152//11152 11141//11141\nf 11142//11142 10703//10703 11155//11155\nf 11155//11155 10422//10422 11159//11159\nf 11155//11155 11159//11159 11463//11463\nf 11462//11462 10814//10814 11166//11166\nf 11463//11463 11159//11159 10433//10433\nf 10705//10705 11161//11161 11164//11164\nf 11169//11169 11168//11168 10428//10428\nf 11171//11171 11145//11145 10769//10769\nf 11174//11174 11159//11159 10433//10433\nf 11162//11162 11173//11173 10436//10436\nf 10441//10441 11178//11178 11177//11177\nf 11179//11179 10442//10442 11172//11172\nf 10088//10088 10436//10436 11173//11173\nf 11537//11537 11184//11184 11179//11179\nf 11191//11191 11464//11464 10092//10092\nf 11197//11197 10092//10092 11464//11464\nf 11187//11187 10819//10819 11193//11193\nf 11196//11196 11183//11183 10641//10641\nf 11185//11185 10444//10444 11541//11541\nf 10446//10446 11184//11184 11198//11198\nf 11199//11199 11192//11192 11186//11186\nf 11465//11465 11187//11187 11193//11193\nf 11466//11466 11193//11193 11194//11194\nf 11194//11194 11188//11188 11467//11467\nf 11469//11469 11195//11195 11200//11200\nf 11465//11465 11193//11193 11468//11468\nf 10453//10453 11197//11197 11202//11202\nf 11468//11468 11193//11193 11466//11466\nf 11201//11201 10447//10447 11205//11205\nf 11546//11546 11469//11469 11200//11200\nf 11211//11211 10455//10455 11203//11203\nf 10454//10454 11204//11204 11210//11210\nf 10715//10715 10097//10097 11205//11205\nf 11215//11215 10464//10464 11211//11211\nf 11218//11218 10717//10717 11207//11207\nf 11609//11609 11206//11206 11217//11217\nf 10717//10717 10824//10824 11207//11207\nf 10460//10460 11219//11219 11214//11214\nf 11217//11217 11206//11206 10462//10462\nf 10464//10464 11215//11215 11220//11220\nf 10465//10465 10458//10458 11213//11213\nf 10470//10470 10465//10465 11229//11229\nf 11233//11233 11219//11219 10100//10100\nf 10469//10469 10773//10773 11230//11230\nf 11225//11225 10101//10101 11234//11234\nf 11225//11225 10468//10468 10101//10101\nf 11243//11243 10721//10721 11470//11470\nf 10721//10721 11231//11231 11470//11470\nf 11239//11239 11233//11233 10100//10100\nf 10826//10826 10721//10721 11243//11243\nf 10473//10473 11237//11237 11235//11235\nf 11471//11471 11230//11230 10479//10479\nf 10478//10478 11240//11240 11246//11246\nf 11227//11227 11247//11247 10480//10480\nf 11248//11248 10110//10110 11258//11258\nf 11256//11256 10644//10644 10480//10480\nf 11255//11255 10485//10485 10486//10486\nf 11261//11261 10646//10646 10111//10111\nf 11261//11261 10111//10111 11263//11263\nf 10828//10828 10723//10723 11267//11267\nf 11262//11262 10110//10110 11275//11275\nf 10497//10497 11269//11269 11274//11274\nf 10112//10112 11264//11264 11269//11269\nf 11272//11272 11268//11268 10494//10494\nf 10495//10495 11272//11272 11268//11268\nf 10491//10491 11276//11276 11265//11265\nf 11278//11278 10119//10119 11282//11282\nf 10513//10513 11280//11280 11293//11293\nf 11284//11284 10512//10512 11291//11291\nf 11294//11294 10503//10503 11285//11285\nf 11298//11298 10729//10729 11293//11293\nf 10512//10512 10519//10519 11291//11291\nf 11286//11286 11289//11289 11299//11299\nf 10123//10123 11306//11306 11472//11472\nf 11308//11308 10525//10525 11298//11298\nf 11312//11312 10127//10127 11308//11308\nf 11558//11558 11312//11312 11308//11308\nf 10529//10529 11473//11473 11310//11310\nf 10529//10529 10530//10530 11473//11473\nf 11314//11314 10524//10524 11302//11302\nf 11302//11302 11315//11315 11314//11314\nf 11652//11652 11319//11319 11558//11558\nf 11313//11313 10530//10530 11317//11317\nf 10652//10652 11319//11319 11322//11322\nf 10131//10131 11326//11326 11323//11323\nf 11320//11320 10131//10131 11323//11323\nf 10779//10779 10653//10653 11325//11325\nf 10779//10779 11328//11328 11331//11331\nf 10839//10839 11332//11332 11329//11329\nf 11336//11336 10130//10130 11342//11342\nf 11338//11338 10135//10135 11561//11561\nf 11335//11335 11474//11474 11332//11332\nf 10543//10543 11335//11335 11332//11332\nf 11338//11338 10541//10541 11334//11334\nf 10137//10137 10545//10545 11340//11340\nf 10656//10656 11343//11343 10136//10136\nf 10780//10780 10133//10133 11336//11336\nf 10780//10780 10655//10655 10133//10133\nf 10841//10841 11563//11563 11337//11337\nf 11347//11347 10145//10145 11346//11346\nf 11348//11348 10552//10552 11349//11349\nf 11354//11354 10552//10552 10153//10153\nf 11354//11354 10560//10560 11358//11358\nf 11361//11361 11565//11565 11621//11621\nf 10554//10554 11361//11361 11360//11360\nf 11361//11361 10557//10557 11362//11362\nf 11565//11565 11361//11361 11362//11362\nf 11362//11362 10557//10557 11363//11363\nf 10557//10557 10147//10147 11363//11363\nf 10147//10147 10561//10561 11475//11475\nf 10845//10845 11366//11366 11476//11476\nf 11372//11372 11368//11368 10570//10570\nf 11377//11377 11375//11375 10573//10573\nf 10573//10573 10575//10575 11377//11377\nf 11381//11381 11378//11378 10582//10582\nf 11379//11379 11376//11376 11477//11477\nf 11378//11378 10575//10575 10582//10582\nf 11383//11383 10741//10741 10742//10742\nf 10582//10582 11389//11389 11381//11381\nf 11388//11388 10580//10580 11387//11387\nf 10583//10583 10585//10585 11391//11391\nf 11386//11386 11391//11391 11573//11573\nf 11386//11386 10583//10583 11391//11391\nf 11392//11392 10591//10591 11395//11395\nf 11397//11397 11394//11394 10589//10589\nf 10748//10748 11401//11401 11403//11403\nf 10748//10748 10747//10747 11401//11401\nf 10598//10598 11408//11408 11402//11402\nf 10598//10598 10175//10175 11408//11408\nf 11402//11402 11408//11408 11579//11579\nf 10749//10749 11406//11406 11411//11411\nf 10176//10176 11412//11412 11410//11410\nf 10664//10664 11411//11411 11478//11478\nf 10664//10664 10749//10749 11411//11411\nf 10603//10603 10664//10664 11478//11478\nf 11479//11479 11409//11409 10603//10603\nf 11417//11417 10611//10611 11419//11419\nf 10611//10611 11417//11417 10610//10610\nf 10611//10611 10613//10613 11419//11419\nf 10613//10613 11421//11421 11422//11422\nf 11423//11423 10614//10614 11420//11420\nf 10614//10614 11423//11423 11424//11424\nf 10615//10615 11480//11480 11421//11421\nf 11424//11424 11425//11425 10753//10753\nf 11428//11428 10616//10616 11425//11425\nf 11428//11428 10178//10178 10616//10616\nf 10179//10179 10178//10178 11428//11428\nf 10620//10620 10179//10179 11430//11430\nf 10618//10618 10620//10620 11430//11430\nf 12164//12164 10854//10854 10855//10855\nf 10199//10199 10188//10188 10855//10855\nf 10189//10189 11431//11431 10855//10855\nf 11484//11484 10855//10855 11431//11431\nf 10864//10864 10856//10856 10857//10857\nf 10856//10856 10864//10864 10857//10857\nf 10860//10860 10851//10851 11485//11485\nf 12481//12481 11433//11433 12167//12167\nf 11433//11433 10204//10204 10868//10868\nf 10869//10869 10211//10211 10862//10862\nf 11434//11434 10202//10202 10867//10867\nf 10878//10878 10217//10217 10869//10869\nf 10877//10877 10210//10210 10873//10873\nf 10784//10784 10878//10878 10885//10885\nf 11688//11688 10880//10880 11683//11683\nf 11683//11683 10880//10880 10864//10864\nf 11491//11491 10212//10212 10880//10880\nf 10876//10876 10005//10005 10886//10886\nf 10887//10887 10004//10004 10888//10888\nf 10889//10889 10624//10624 11435//11435\nf 10891//10891 10885//10885 10894//10894\nf 10888//10888 10673//10673 10787//10787\nf 11700//11700 10788//10788 12173//12173\nf 10892//10892 10897//10897 10898//10898\nf 10904//10904 10234//10234 10900//10900\nf 10907//10907 10899//10899 10903//10903\nf 11586//11586 10914//10914 10908//10908\nf 10918//10918 11437//11437 10910//10910\nf 11439//11439 10916//10916 10914//10914\nf 10927//10927 11493//11493 10920//10920\nf 11493//11493 11492//11492 10920//10920\nf 11494//11494 10923//10923 10924//10924\nf 10926//10926 10923//10923 11494//11494\nf 10255//10255 10678//10678 10929//10929\nf 10022//10022 10255//10255 11441//11441\nf 11496//11496 10936//10936 10935//10935\nf 11497//11497 10938//10938 10940//10940\nf 10025//10025 10946//10946 11498//11498\nf 11443//11443 10272//10272 10955//10955\nf 10958//10958 10028//10028 10283//10283\nf 10968//10968 10967//10967 11501//11501\nf 10967//10967 10961//10961 11501//11501\nf 11502//11502 10963//10963 10966//10966\nf 11503//11503 10972//10972 10976//10976\nf 10982//10982 10299//10299 10984//10984\nf 10989//10989 10986//10986 11590//11590\nf 10303//10303 10991//10991 10984//10984\nf 10317//10317 10992//10992 10996//10996\nf 11448//11448 11450//11450 11505//11505\nf 11016//11016 11003//11003 11006//11006\nf 11450//11450 11010//11010 11591//11591\nf 11016//11016 11017//11017 11506//11506\nf 11019//11019 11008//11008 11454//11454\nf 11027//11027 11506//11506 11017//11017\nf 11507//11507 11037//11037 11508//11508\nf 11509//11509 11506//11506 11027//11027\nf 11036//11036 11507//11507 11035//11035\nf 11507//11507 11036//11036 11037//11037\nf 10682//10682 11041//11041 11028//11028\nf 11034//11034 11513//11513 11030//11030\nf 11509//11509 11027//11027 11512//11512\nf 11039//11039 11030//11030 11034//11034\nf 11043//11043 11035//11035 11510//11510\nf 11039//11039 11513//11513 11034//11034\nf 11511//11511 11037//11037 11047//11047\nf 10344//10344 11032//11032 11514//11514\nf 10336//10336 11050//11050 11027//11027\nf 11027//11027 11050//11050 11512//11512\nf 11044//11044 10041//10041 10344//10344\nf 11516//11516 11594//11594 11047//11047\nf 11455//11455 11512//11512 11050//11050\nf 11455//11455 11050//11050 11054//11054\nf 11046//11046 10343//10343 11056//11056\nf 11057//11057 11515//11515 11039//11039\nf 11047//11047 11061//11061 11516//11516\nf 10806//10806 11063//11063 11517//11517\nf 11455//11455 11064//11064 11457//11457\nf 11516//11516 11061//11061 11070//11070\nf 11069//11069 11079//11079 11072//11072\nf 11064//11064 11073//11073 11457//11457\nf 11073//11073 11518//11518 11457//11457\nf 10762//10762 10369//10369 11081//11081\nf 11518//11518 11073//11073 11083//11083\nf 11085//11085 11519//11519 11081//11081\nf 11081//11081 11082//11082 11085//11085\nf 11086//11086 11075//11075 11091//11091\nf 11090//11090 11521//11521 11092//11092\nf 11094//11094 11100//11100 11106//11106\nf 11096//11096 10386//10386 11107//11107\nf 11103//11103 11523//11523 11110//11110\nf 11105//11105 11525//11525 11109//11109\nf 10061//10061 11103//11103 11110//11110\nf 11526//11526 11104//11104 11116//11116\nf 11599//11599 10068//10068 10063//10063\nf 10697//10697 10067//10067 11126//11126\nf 11601//11601 11133//11133 11137//11137\nf 11140//11140 11130//11130 11146//11146\nf 11144//11144 11154//11154 11529//11529\nf 11149//11149 11530//11530 11137//11137\nf 10079//10079 11146//11146 11157//11157\nf 10426//10426 10079//10079 11157//11157\nf 11165//11165 11153//11153 11532//11532\nf 11461//11461 11533//11533 11152//11152\nf 11158//11158 11531//11531 11149//11149\nf 11161//11161 11152//11152 11533//11533\nf 11170//11170 10431//10431 11167//11167\nf 11463//11463 10433//10433 11159//11159\nf 11172//11172 11170//11170 11167//11167\nf 11173//11173 11534//11534 11937//11937\nf 11534//11534 11173//11173 11162//11162\nf 11168//11168 11169//11169 11535//11535\nf 11182//11182 11176//11176 11189//11189\nf 11177//11177 11538//11538 11176//11176\nf 11189//11189 11176//11176 11538//11538\nf 11183//11183 11196//11196 11201//11201\nf 11542//11542 11187//11187 11543//11543\nf 11542//11542 11186//11186 11187//11187\nf 11187//11187 11465//11465 11543//11543\nf 11469//11469 11540//11540 11195//11195\nf 11199//11199 11186//11186 11542//11542\nf 11466//11466 11194//11194 11467//11467\nf 11467//11467 11188//11188 11544//11544\nf 11188//11188 11189//11189 11544//11544\nf 11189//11189 11538//11538 11544//11544\nf 11199//11199 11542//11542 11207//11207\nf 11208//11208 11546//11546 11200//11200\nf 11207//11207 11542//11542 11545//11545\nf 11220//11220 11547//11547 11224//11224\nf 11224//11224 10464//10464 11220//11220\nf 11229//11229 11242//11242 11238//11238\nf 11230//11230 11471//11471 11248//11248\nf 11243//11243 11548//11548 11249//11249\nf 11615//11615 11249//11249 11548//11548\nf 11549//11549 11245//11245 11250//11250\nf 11270//11270 11266//11266 11551//11551\nf 11267//11267 11259//11259 11550//11550\nf 10723//10723 11259//11259 11267//11267\nf 10501//10501 10498//10498 11552//11552\nf 10501//10501 11552//11552 11286//11286\nf 11553//11553 11275//11275 11281//11281\nf 11265//11265 11276//11276 10829//10829\nf 10119//10119 11289//11289 11282//11282\nf 11279//11279 11277//11277 11267//11267\nf 11283//11283 11554//11554 11271//11271\nf 11282//11282 11289//11289 11286//11286\nf 11556//11556 10830//10830 11305//11305\nf 11281//11281 10521//10521 11472//11472\nf 10830//10830 10829//10829 10831//10831\nf 11290//11290 11557//11557 11302//11302\nf 11305//11305 10833//10833 11556//11556\nf 11305//11305 10830//10830 10831//10831\nf 11472//11472 11306//11306 11310//11310\nf 11309//11309 10522//10522 11304//11304\nf 11559//11559 11322//11322 11319//11319\nf 11325//11325 11322//11322 11560//11560\nf 10837//10837 11318//11318 11311//11311\nf 11323//11323 11326//11326 11320//11320\nf 10135//10135 11338//11338 11561//11561\nf 11327//11327 11333//11333 11337//11337\nf 11338//11338 11331//11331 11561//11561\nf 11338//11338 11334//11334 11331//11331\nf 11338//11338 11561//11561 11339//11339\nf 11340//11340 11618//11618 11619//11619\nf 10137//10137 11340//11340 11619//11619\nf 11357//11357 11351//11351 11620//11620\nf 11348//11348 11349//11349 11354//11354\nf 10844//10844 10657//10657 10554//10554\nf 10844//10844 10554//10554 11360//11360\nf 11362//11362 11363//11363 11475//11475\nf 11363//11363 10147//10147 11475//11475\nf 11367//11367 10567//10567 10564//10564\nf 11476//11476 11366//11366 11568//11568\nf 11568//11568 11366//11366 10846//10846\nf 11624//11624 11368//11368 11372//11372\nf 11374//11374 10160//10160 11375//11375\nf 10160//10160 10159//10159 11375//11375\nf 11477//11477 11376//11376 11571//11571\nf 11574//11574 11387//11387 11385//11385\nf 11572//11572 11382//11382 11379//11379\nf 11572//11572 11379//11379 11627//11627\nf 11575//11575 11390//11390 11382//11382\nf 11573//11573 11383//11383 11386//11386\nf 11398//11398 11396//11396 11576//11576\nf 11403//11403 11577//11577 11628//11628\nf 11401//11401 11579//11579 11577//11577\nf 11401//11401 10598//10598 11579//11579\nf 10598//10598 11402//11402 11579//11579\nf 11578//11578 11406//11406 11405//11405\nf 11422//11422 11419//11419 10613//10613\nf 10752//10752 10615//10615 11421//11421\nf 10615//10615 10617//10617 11480//11480\nf 10181//10181 11580//11580 11427//11427\nf 11481//11481 10179//10179 11428//11428\nf 10618//10618 11430//11430 11429//11429\nf 10621//10621 10180//10180 11482//11482\nf 11664//11664 10852//10852 10853//10853\nf 12164//12164 10862//10862 10854//10854\nf 10858//10858 10670//10670 11582//11582\nf 11487//11487 10210//10210 10671//10671\nf 10200//10200 10872//10872 10883//10883\nf 12561//12561 11688//11688 11683//11683\nf 10871//10871 11680//11680 11692//11692\nf 10005//10005 11488//11488 10886//10886\nf 10879//10879 10206//10206 11490//11490\nf 11435//11435 10624//10624 11491//11491\nf 11632//11632 10785//10785 10786//10786\nf 10231//10231 10008//10008 10788//10788\nf 11700//11700 10231//10231 10788//10788\nf 10892//10892 10897//10897 11691//11691\nf 12173//12173 10788//10788 10789//10789\nf 10901//10901 10895//10895 11703//11703\nf 11496//11496 10935//10935 10934//10934\nf 10937//10937 10021//10021 10941//10941\nf 10946//10946 10024//10024 11441//11441\nf 11442//11442 10945//10945 11745//11745\nf 10948//10948 10268//10268 11499//11499\nf 10949//10949 11443//11443 11749//11749\nf 10955//10955 10958//10958 11500//11500\nf 10958//10958 10963//10963 11502//11502\nf 11502//11502 11500//11500 10958//10958\nf 11445//11445 10965//10965 10960//10960\nf 11769//11769 10964//10964 10969//10969\nf 11786//11786 10978//10978 11785//11785\nf 11447//11447 11588//11588 11589//11589\nf 10979//10979 10982//10982 10984//10984\nf 11447//11447 11504//11504 11588//11588\nf 11447//11447 11589//11589 10981//10981\nf 11447//11447 10981//10981 10985//10985\nf 10992//10992 10989//10989 11590//11590\nf 11448//11448 11639//11639 11447//11447\nf 10996//10996 10992//10992 11005//11005\nf 11505//11505 11450//11450 11591//11591\nf 11454//11454 11008//11008 11640//11640\nf 11020//11020 11030//11030 11453//11453\nf 11453//11453 11030//11030 11020//11020\nf 11641//11641 11035//11035 11507//11507\nf 11508//11508 11511//11511 11592//11592\nf 11508//11508 11037//11037 11511//11511\nf 11048//11048 11029//11029 11593//11593\nf 11060//11060 11595//11595 11065//11065\nf 11850//11850 11845//11845 11056//11056\nf 11516//11516 11070//11070 11458//11458\nf 11066//11066 11076//11076 11596//11596\nf 11066//11066 11067//11067 11076//11076\nf 11598//11598 11518//11518 11083//11083\nf 11077//11077 11597//11597 11088//11088\nf 11095//11095 11088//11088 11597//11597\nf 11105//11105 10387//10387 11098//11098\nf 12216//12216 11098//11098 11867//11867\nf 10387//10387 10382//10382 11098//11098\nf 11525//11525 11111//11111 11109//11109\nf 11522//11522 10385//10385 11108//11108\nf 11888//11888 11522//11522 11112//11112\nf 10063//10063 10811//10811 11599//11599\nf 10390//10390 11526//11526 11116//11116\nf 10390//10390 11116//11116 11526//11526\nf 11116//11116 10697//10697 11126//11126\nf 11119//11119 11123//11123 11133//11133\nf 11461//11461 11141//11141 11602//11602\nf 11166//11166 11165//11165 11462//11462\nf 11165//11165 11532//11532 11462//11462\nf 11160//11160 11531//11531 11158//11158\nf 11461//11461 11161//11161 11533//11533\nf 11461//11461 11533//11533 11161//11161\nf 11603//11603 11168//11168 11535//11535\nf 11163//11163 11168//11168 11603//11603\nf 11171//11171 11175//11175 11536//11536\nf 11540//11540 11538//11538 11177//11177\nf 11540//11540 11177//11177 11178//11178\nf 11195//11195 11540//11540 11178//11178\nf 11195//11195 11180//11180 11190//11190\nf 11178//11178 11180//11180 11195//11195\nf 11536//11536 11175//11175 11185//11185\nf 11536//11536 11185//11185 11539//11539\nf 11196//11196 10641//10641 11201//11201\nf 11604//11604 11540//11540 11469//11469\nf 11538//11538 11540//11540 11604//11604\nf 11184//11184 11203//11203 11198//11198\nf 11539//11539 11185//11185 11541//11541\nf 11541//11541 10449//10449 11206//11206\nf 11544//11544 11538//11538 11604//11604\nf 11605//11605 11542//11542 11543//11543\nf 11468//11468 11466//11466 11607//11607\nf 11465//11465 11606//11606 11605//11605\nf 11647//11647 11467//11467 11544//11544\nf 11542//11542 11605//11605 11545//11545\nf 11608//11608 11468//11468 11607//11607\nf 11610//11610 11218//11218 11207//11207\nf 11207//11207 11545//11545 11610//11610\nf 11219//11219 11233//11233 11214//11214\nf 11224//11224 11547//11547 11226//11226\nf 11228//11228 11983//11983 11232//11232\nf 11240//11240 11226//11226 11611//11611\nf 11548//11548 11470//11470 11612//11612\nf 11470//11470 11548//11548 11243//11243\nf 11242//11242 11229//11229 11613//11613\nf 11240//11240 11611//11611 11246//11246\nf 11230//11230 11248//11248 11614//11614\nf 11994//11994 11996//11996 11266//11266\nf 11262//11262 11248//11248 11258//11258\nf 11242//11242 12000//12000 11251//11251\nf 11253//11253 11246//11246 11266//11266\nf 11266//11266 12002//12002 11551//11551\nf 11259//11259 11249//11249 11550//11550\nf 10498//10498 11256//11256 11552//11552\nf 11267//11267 11550//11550 11649//11649\nf 11555//11555 11267//11267 11550//11550\nf 11555//11555 11550//11550 11267//11267\nf 11265//11265 10829//10829 11276//11276\nf 11267//11267 11555//11555 11279//11279\nf 11298//11298 11293//11293 11280//11280\nf 11282//11282 11286//11286 11289//11289\nf 10830//10830 10831//10831 10829//10829\nf 11307//11307 11291//11291 11303//11303\nf 11307//11307 11316//11316 12055//12055\nf 11319//11319 11312//11312 11558//11558\nf 11560//11560 11322//11322 11559//11559\nf 11320//11320 11326//11326 11617//11617\nf 11339//11339 11561//11561 11562//11562\nf 10130//10130 11330//11330 11342//11342\nf 11341//11341 10137//10137 11619//11619\nf 11335//11335 11341//11341 11619//11619\nf 10840//10840 11345//11345 12084//12084\nf 11351//11351 11350//11350 11620//11620\nf 11564//11564 10844//10844 11360//11360\nf 11360//11360 11361//11361 11621//11621\nf 11366//11366 10781//10781 10846//10846\nf 10846//10846 10782//10782 11569//11569\nf 11569//11569 10782//10782 10569//10569\nf 11570//11570 11569//11569 10569//10569\nf 11570//11570 11367//11367 11566//11566\nf 11568//11568 10846//10846 11623//11623\nf 12105//12105 11623//11623 12286//12286\nf 11623//11623 10846//10846 11569//11569\nf 11370//11370 11369//11369 11625//11625\nf 11370//11370 11625//11625 11371//11371\nf 11626//11626 11385//11385 11384//11384\nf 11388//11388 11387//11387 11574//11574\nf 11574//11574 11393//11393 11388//11388\nf 11379//11379 11477//11477 11627//11627\nf 11575//11575 11382//11382 11572//11572\nf 11576//11576 11396//11396 11393//11393\nf 11578//11578 11405//11405 11629//11629\nf 11629//11629 11405//11405 11404//11404\nf 10603//10603 11478//11478 11479//11479\nf 12158//12158 11580//11580 11482//11482\nf 11580//11580 10621//10621 11482//11482\nf 10181//10181 10621//10621 11580//11580\nf 10180//10180 10618//10618 11581//11581\nf 10618//10618 11429//11429 11581//11581\nf 10180//10180 11581//11581 11482//11482\nf 11430//11430 10179//10179 11481//11481\nf 10864//10864 10856//10856 10857//10857\nf 10850//10850 11432//11432 10865//10865\nf 10866//10866 11666//11666 11486//11486\nf 10670//10670 10870//10870 11582//11582\nf 10850//10850 11432//11432 11663//11663\nf 12167//12167 10868//10868 11673//11673\nf 11663//11663 11432//11432 11675//11675\nf 12887//12887 12548//12548 12369//12369\nf 12312//12312 11583//11583 12369//12369\nf 11583//11583 11434//11434 11672//11672\nf 11677//11677 10878//10878 10869//10869\nf 11674//11674 11677//11677 10869//10869\nf 10873//10873 11686//11686 10877//10877\nf 11687//11687 10875//10875 10879//10879\nf 11691//11691 10881//10881 10892//10892\nf 10672//10672 11489//11489 11488//11488\nf 10882//10882 11584//11584 11489//11489\nf 10883//10883 11585//11585 10882//10882\nf 10883//10883 11630//11630 11585//11585\nf 11488//11488 11489//11489 11584//11584\nf 10882//10882 11585//11585 11584//11584\nf 12172//12172 10888//10888 11699//11699\nf 10895//10895 10890//10890 10871//10871\nf 11705//11705 10904//10904 10900//10900\nf 11708//11708 11707//11707 10898//10898\nf 11708//11708 10898//10898 10905//10905\nf 11710//11710 10899//10899 10907//10907\nf 11709//11709 10906//10906 10902//10902\nf 10914//10914 11586//11586 10908//10908\nf 11708//11708 10905//10905 11712//11712\nf 10905//10905 10909//10909 11712//11712\nf 11715//11715 10907//10907 10912//10912\nf 11717//11717 11715//11715 10912//10912\nf 10912//10912 10913//10913 10915//10915\nf 10915//10915 10920//10920 11492//11492\nf 11727//11727 10928//10928 11730//11730\nf 10924//10924 10791//10791 11731//11731\nf 10931//10931 10933//10933 10791//10791\nf 10931//10931 11634//11634 10791//10791\nf 11493//11493 10927//10927 11729//11729\nf 11734//11734 10931//10931 10933//10933\nf 10933//10933 10931//10931 10791//10791\nf 10934//10934 11737//11737 11738//11738\nf 10926//10926 11494//11494 10934//10934\nf 10932//10932 10930//10930 11495//11495\nf 10255//10255 10929//10929 11441//11441\nf 11496//11496 11635//11635 10936//10936\nf 11635//11635 11740//11740 10936//10936\nf 10939//10939 10932//10932 11743//11743\nf 11739//11739 10938//10938 11497//11497\nf 11635//11635 11496//11496 11740//11740\nf 10941//10941 10942//10942 10944//10944\nf 10941//10941 10944//10944 11744//11744\nf 11746//11746 10948//10948 11499//11499\nf 10950//10950 11744//11744 10944//10944\nf 10947//10947 10946//10946 10951//10951\nf 11755//11755 10952//10952 11752//11752\nf 11753//11753 10950//10950 10953//10953\nf 11759//11759 10958//10958 11500//11500\nf 10960//10960 10959//10959 11757//11757\nf 11764//11764 11445//11445 10960//10960\nf 11761//11761 10968//10968 11501//11501\nf 11769//11769 10969//10969 11771//11771\nf 11445//11445 11770//11770 10971//10971\nf 10977//10977 11780//11780 11587//11587\nf 11589//11589 11636//11636 11503//11503\nf 10980//10980 10977//10977 11587//11587\nf 11637//11637 11636//11636 11588//11588\nf 11636//11636 11589//11589 11588//11588\nf 11503//11503 10976//10976 11589//11589\nf 11589//11589 10976//10976 10981//10981\nf 10978//10978 11638//11638 10983//10983\nf 11791//11791 10979//10979 10984//10984\nf 10986//10986 10980//10980 11590//11590\nf 11639//11639 11504//11504 11447//11447\nf 11804//11804 11002//11002 11001//11001\nf 11806//11806 11795//11795 10991//10991\nf 10993//10993 10998//10998 11015//11015\nf 11640//11640 11008//11008 11005//11005\nf 11003//11003 11016//11016 11808//11808\nf 11007//11007 11004//11004 11809//11809\nf 11016//11016 11506//11506 11818//11818\nf 11010//11010 11453//11453 11821//11821\nf 12193//12193 11507//11507 11819//11819\nf 11830//11830 11033//11033 12197//12197\nf 11514//11514 11032//11032 11829//11829\nf 11059//11059 11052//11052 11062//11062\nf 11839//11839 11039//11039 11515//11515\nf 11063//11063 11062//11062 11840//11840\nf 12206//12206 11063//11063 11840//11840\nf 11595//11595 11060//11060 11843//11843\nf 11071//11071 11456//11456 11055//11055\nf 11847//11847 11516//11516 11458//11458\nf 11863//11863 11596//11596 11076//11076\nf 11090//11090 11079//11079 11859//11859\nf 11642//11642 11091//11091 11075//11075\nf 11077//11077 11597//11597 11095//11095\nf 11597//11597 11077//11077 11095//11095\nf 11866//11866 11518//11518 11598//11598\nf 11091//11091 11642//11642 11868//11868\nf 11867//11867 11080//11080 11860//11860\nf 11871//11871 11519//11519 11085//11085\nf 11876//11876 11097//11097 11459//11459\nf 11094//11094 11106//11106 11524//11524\nf 11881//11881 11096//11096 11107//11107\nf 11108//11108 11112//11112 11522//11522\nf 11124//11124 10068//10068 11599//11599\nf 12222//12222 11120//11120 11908//11908\nf 11898//11898 11126//11126 11905//11905\nf 11602//11602 11135//11135 11600//11600\nf 11911//11911 11131//11131 11124//11124\nf 11602//11602 11141//11141 11135//11135\nf 11528//11528 11138//11138 11916//11916\nf 11530//11530 11149//11149 11531//11531\nf 11925//11925 11920//11920 11532//11532\nf 11928//11928 11156//11156 11151//11151\nf 11167//11167 11930//11930 11172//11172\nf 11169//11169 11164//11164 11643//11643\nf 11161//11161 11643//11643 11164//11164\nf 11161//11161 11644//11644 11643//11643\nf 11939//11939 11163//11163 11603//11603\nf 11535//11535 11169//11169 11643//11643\nf 11943//11943 11537//11537 11179//11179\nf 11197//11197 11953//11953 11202//11202\nf 11201//11201 11205//11205 11956//11956\nf 11604//11604 11645//11645 11544//11544\nf 11206//11206 11609//11609 12237//12237\nf 11605//11605 11543//11543 11465//11465\nf 11466//11466 11467//11467 11647//11647\nf 11647//11647 11544//11544 11645//11645\nf 11604//11604 11546//11546 11646//11646\nf 11604//11604 11469//11469 11546//11546\nf 11465//11465 11468//11468 11608//11608\nf 11606//11606 11465//11465 11608//11608\nf 11607//11607 11466//11466 11647//11647\nf 11215//11215 11959//11959 11220//11220\nf 11610//11610 11605//11605 11648//11648\nf 11610//11610 11545//11545 11605//11605\nf 11225//11225 11971//11971 11223//11223\nf 11547//11547 12243//12243 12244//12244\nf 11974//11974 11233//11233 11985//11985\nf 11975//11975 11611//11611 11226//11226\nf 11230//11230 11614//11614 11979//11979\nf 11235//11235 11237//11237 11987//11987\nf 11613//11613 11984//11984 11242//11242\nf 11266//11266 11246//11246 11994//11994\nf 11999//11999 11250//11250 11255//11255\nf 11249//11249 11615//11615 11550//11550\nf 11254//11254 11260//11260 12001//12001\nf 12001//12001 11260//11260 11271//11271\nf 12016//12016 11263//11263 11268//11268\nf 11264//11264 11251//11251 11269//11269\nf 12024//12024 11274//11274 11269//11269\nf 12018//12018 11280//11280 11270//11270\nf 12021//12021 11290//11290 11278//11278\nf 11298//11298 11280//11280 12027//12027\nf 11556//11556 11650//11650 10830//10830\nf 11555//11555 11267//11267 11649//11649\nf 12044//12044 11287//11287 12041//12041\nf 11297//11297 11296//11296 12045//12045\nf 11294//11294 12047//12047 11292//11292\nf 11557//11557 12035//12035 12054//12054\nf 11304//11304 11311//11311 11309//11309\nf 11653//11653 11317//11317 12063//12063\nf 11473//11473 11317//11317 11653//11653\nf 11559//11559 11319//11319 12067//12067\nf 12065//12065 11320//11320 12070//12070\nf 10836//10836 11327//11327 12072//12072\nf 10836//10836 11321//11321 11327//11327\nf 11474//11474 12277//12277 12077//12077\nf 11324//11324 10837//10837 12076//12076\nf 11655//11655 11343//11343 11562//11562\nf 11474//11474 11335//11335 11619//11619\nf 11655//11655 11562//11562 12079//12079\nf 11343//11343 11339//11339 11562//11562\nf 11343//11343 11655//11655 12079//12079\nf 11343//11343 12079//12079 11656//11656\nf 11337//11337 11563//11563 12083//12083\nf 12091//12091 10842//10842 11348//11348\nf 11352//11352 11353//11353 12092//12092\nf 11357//11357 11620//11620 12089//12089\nf 12282//12282 11364//11364 12098//12098\nf 11368//11368 11624//11624 11359//11359\nf 12097//12097 11365//11365 11357//11357\nf 11624//11624 11358//11358 11359//11359\nf 11360//11360 11622//11622 11564//11564\nf 11360//11360 11621//11621 11622//11622\nf 11475//11475 11658//11658 12104//12104\nf 11658//11658 11475//11475 10845//10845\nf 11658//11658 10845//10845 11476//11476\nf 12099//12099 11369//11369 11365//11365\nf 12107//12107 11625//11625 11369//11369\nf 11377//11377 11378//11378 12113//12113\nf 11378//11378 11381//11381 12113//12113\nf 11385//11385 11626//11626 12122//12122\nf 11659//11659 11383//11383 11573//11573\nf 11389//11389 10745//10745 11394//11394\nf 10745//10745 10589//10589 11394//11394\nf 11660//11660 11572//11572 11627//11627\nf 11660//11660 11627//11627 11572//11572\nf 12129//12129 11572//11572 11627//11627\nf 11395//11395 12130//12130 12131//12131\nf 11576//11576 11407//11407 11398//11398\nf 11577//11577 11403//11403 11401//11401\nf 11403//11403 11629//11629 11404//11404\nf 11403//11403 11628//11628 11629//11629\nf 12136//12136 11406//11406 11578//11578\nf 12136//12136 12137//12137 11406//11406\nf 11479//11479 11400//11400 11409//11409\nf 11414//11414 12144//12144 11412//11412\nf 11418//11418 11416//11416 12146//12146\nf 11425//11425 11424//11424 12155//12155\nf 12164//12164 10855//10855 11484//11484\nf 11667//11667 10864//10864 10857//10857\nf 10857//10857 10858//10858 12165//12165\nf 11670//11670 10849//10849 11661//11661\nf 11670//11670 10859//10859 10849//10849\nf 11485//11485 10851//10851 10852//10852\nf 11666//11666 10853//10853 11486//11486\nf 11674//11674 10869//10869 10862//10862\nf 11484//11484 11431//11431 11668//11668\nf 10850//10850 10865//10865 11432//11432\nf 10852//10852 11671//11671 11485//11485\nf 11666//11666 10866//10866 10884//10884\nf 11433//11433 10868//10868 12167//12167\nf 11680//11680 10871//10871 11670//11670\nf 11670//11670 10871//10871 10859//10859\nf 11432//11432 10865//10865 11675//11675\nf 11671//11671 10860//10860 11485//11485\nf 11686//11686 10884//10884 10877//10877\nf 10874//10874 11673//11673 10868//10868\nf 10875//10875 11687//11687 10879//10879\nf 11689//11689 10876//10876 10886//10886\nf 12170//12170 10885//10885 11682//11682\nf 10875//10875 10879//10879 11631//11631\nf 11488//11488 11689//11689 10886//10886\nf 11585//11585 11694//11694 11584//11584\nf 11695//11695 11630//11630 10883//10883\nf 11695//11695 10883//10883 10872//10872\nf 10874//10874 10893//10893 11673//11673\nf 10893//10893 11696//11696 11673//11673\nf 11690//11690 11698//11698 10889//10889\nf 11690//11690 10889//10889 11435//11435\nf 10895//10895 10871//10871 11692//11692\nf 11585//11585 11630//11630 11695//11695\nf 11633//11633 11699//11699 10787//10787\nf 10787//10787 11699//11699 10888//10888\nf 11436//11436 11697//11697 11701//11701\nf 11436//11436 10894//10894 11697//11697\nf 10785//10785 11633//11633 10787//10787\nf 11703//11703 10895//10895 11702//11702\nf 10896//10896 10899//10899 11696//11696\nf 10899//10899 11704//11704 11696//11696\nf 11706//11706 11705//11705 10900//10900\nf 10789//10789 10889//10889 11698//11698\nf 11710//11710 11704//11704 10899//10899\nf 11711//11711 10904//10904 11705//11705\nf 10908//10908 10904//10904 11711//11711\nf 10914//10914 10908//10908 11713//11713\nf 10911//10911 11714//11714 10909//10909\nf 10906//10906 11716//11716 10910//10910\nf 11439//11439 10914//10914 11713//11713\nf 10917//10917 11718//11718 10911//10911\nf 10911//10911 11438//11438 10917//10917\nf 11721//11721 11722//11722 10918//10918\nf 10915//10915 11723//11723 11720//11720\nf 10918//10918 11724//11724 10921//10921\nf 11722//11722 11724//11724 10918//10918\nf 11492//11492 11726//11726 10915//10915\nf 11440//11440 10922//10922 11727//11727\nf 10919//10919 11728//11728 10930//10930\nf 11725//11725 11728//11728 10919//10919\nf 11729//11729 11492//11492 11493//11493\nf 10924//10924 11731//11731 11494//11494\nf 10928//10928 11733//11733 11730//11730\nf 11634//11634 11731//11731 10791//10791\nf 11634//11634 10931//10931 11734//11734\nf 10927//10927 10936//10936 11729//11729\nf 11736//11736 10932//10932 11495//11495\nf 10934//10934 11494//11494 11732//11732\nf 11739//11739 10933//10933 10938//10938\nf 11739//11739 11734//11734 10933//10933\nf 11738//11738 11741//11741 10934//10934\nf 10934//10934 11741//11741 11496//11496\nf 11635//11635 10936//10936 11740//11740\nf 11742//11742 11740//11740 11496//11496\nf 10939//10939 11499//11499 10943//10943\nf 11745//11745 10945//10945 11747//11747\nf 10951//10951 10946//10946 12181//12181\nf 10945//10945 10949//10949 11749//11749\nf 11748//11748 10950//10950 11750//11750\nf 11753//11753 11750//11750 10950//10950\nf 11751//11751 11444//11444 10951//10951\nf 11443//11443 10955//10955 11754//11754\nf 11749//11749 11443//11443 11754//11754\nf 11754//11754 10955//10955 11759//11759\nf 10952//10952 11755//11755 11757//11757\nf 10959//10959 10952//10952 11757//11757\nf 11756//11756 11758//11758 10957//10957\nf 10957//10957 11444//11444 11756//11756\nf 11759//11759 11500//11500 10958//10958\nf 11759//11759 10955//10955 11500//11500\nf 11762//11762 10960//10960 11757//11757\nf 10957//10957 11761//11761 10961//10961\nf 11758//11758 11761//11761 10957//10957\nf 11761//11761 11501//11501 10961//10961\nf 11764//11764 10960//10960 11762//11762\nf 11767//11767 11502//11502 10966//10966\nf 11767//11767 11763//11763 11502//11502\nf 11768//11768 10968//10968 11761//11761\nf 11766//11766 11770//11770 11445//11445\nf 10968//10968 11768//11768 10970//10970\nf 10966//10966 10972//10972 11772//11772\nf 11774//11774 11771//11771 10973//10973\nf 11771//11771 10969//10969 10973//10973\nf 10977//10977 10970//10970 12185//12185\nf 11777//11777 11778//11778 11773//11773\nf 10973//10973 11776//11776 11774//11774\nf 10975//10975 11776//11776 10973//10973\nf 11779//11779 11777//11777 11773//11773\nf 11636//11636 11773//11773 11775//11775\nf 11779//11779 11773//11773 11636//11636\nf 10972//10972 11503//11503 11772//11772\nf 10971//10971 11770//11770 11446//11446\nf 10974//10974 11446//11446 11782//11782\nf 11503//11503 11636//11636 11781//11781\nf 11782//11782 10978//10978 10974//10974\nf 11783//11783 10975//10975 10979//10979\nf 11776//11776 10975//10975 11783//11783\nf 11637//11637 11779//11779 11636//11636\nf 11784//11784 11587//11587 11780//11780\nf 11784//11784 10980//10980 11587//11587\nf 11788//11788 10978//10978 11786//11786\nf 11588//11588 11787//11787 11637//11637\nf 11788//11788 11786//11786 11638//11638\nf 11638//11638 11786//11786 11790//11790\nf 11638//11638 10978//10978 11788//11788\nf 11792//11792 11590//11590 11789//11789\nf 11504//11504 11793//11793 11588//11588\nf 11590//11590 10980//10980 11789//11789\nf 11793//11793 12187//12187 11787//11787\nf 10983//10983 11638//11638 11790//11790\nf 11792//11792 10992//10992 11590//11590\nf 11639//11639 11794//11794 11504//11504\nf 11795//11795 11791//11791 10984//10984\nf 10991//10991 11795//11795 10984//10984\nf 10992//10992 11792//11792 12188//12188\nf 10983//10983 11798//11798 10988//10988\nf 11639//11639 11448//11448 11797//11797\nf 10992//10992 11796//11796 11005//11005\nf 11799//11799 11005//11005 11796//11796\nf 11639//11639 11797//11797 11448//11448\nf 10994//10994 10988//10988 11800//11800\nf 10997//10997 11803//11803 11001//11001\nf 11803//11803 11804//11804 11001//11001\nf 11806//11806 10991//10991 10993//10993\nf 11804//11804 11805//11805 11002//11002\nf 11448//11448 11505//11505 11807//11807\nf 11801//11801 11003//11003 11808//11808\nf 11002//11002 11809//11809 11004//11004\nf 11810//11810 11008//11008 11005//11005\nf 10993//10993 11015//11015 11814//11814\nf 11008//11008 11640//11640 11005//11005\nf 11809//11809 12189//12189 11813//11813\nf 10993//10993 11814//11814 12190//12190\nf 11812//11812 11591//11591 11010//11010\nf 11507//11507 11816//11816 11819//11819\nf 11016//11016 11818//11818 11815//11815\nf 11015//11015 11026//11026 11820//11820\nf 12192//12192 11816//11816 11817//11817\nf 11507//11507 11508//11508 11816//11816\nf 11816//11816 11508//11508 11817//11817\nf 11506//11506 11815//11815 11818//11818\nf 12196//12196 11018//11018 11813//11813\nf 11023//11023 11452//11452 12198//12198\nf 11812//11812 11010//11010 11821//11821\nf 11824//11824 11454//11454 11822//11822\nf 11507//11507 12193//12193 11641//11641\nf 11508//11508 11592//11592 11823//11823\nf 11032//11032 11023//11023 12198//12198\nf 11509//11509 11827//11827 12199//12199\nf 11453//11453 11020//11020 11821//11821\nf 11826//11826 11035//11035 11641//11641\nf 11033//11033 11018//11018 12197//12197\nf 11026//11026 11028//11028 11828//11828\nf 11029//11029 11824//11824 11832//11832\nf 11592//11592 11511//11511 12200//12200\nf 11020//11020 11030//11030 11831//11831\nf 11512//11512 11827//11827 11509//11509\nf 11512//11512 11833//11833 11827//11827\nf 11593//11593 11832//11832 11048//11048\nf 11043//11043 11510//11510 11052//11052\nf 11030//11030 11513//11513 11834//11834\nf 12200//12200 11511//11511 11594//11594\nf 11511//11511 11047//11047 11594//11594\nf 11514//11514 11829//11829 11837//11837\nf 11045//11045 11835//11835 11051//11051\nf 11028//11028 11041//11041 11836//11836\nf 11053//11053 11044//11044 11514//11514\nf 11046//11046 11836//11836 11041//11041\nf 11062//11062 11840//11840 12205//12205\nf 11055//11055 11835//11835 11841//11841\nf 11055//11055 11051//11051 11835//11835\nf 11847//11847 11838//11838 11516//11516\nf 11837//11837 11842//11842 11053//11053\nf 11046//11046 11845//11845 11836//11836\nf 11517//11517 11844//11844 11846//11846\nf 11844//11844 11517//11517 11063//11063\nf 11843//11843 11065//11065 11595//11595\nf 11842//11842 11854//11854 11053//11053\nf 11848//11848 11849//11849 11055//11055\nf 11068//11068 11850//11850 11056//11056\nf 11851//11851 11515//11515 11066//11066\nf 11852//11852 11517//11517 11846//11846\nf 11852//11852 10806//10806 11517//11517\nf 11853//11853 11847//11847 11458//11458\nf 11515//11515 11057//11057 11066//11066\nf 11851//11851 11066//11066 11855//11855\nf 11854//11854 11079//11079 11069//11069\nf 11518//11518 11856//11856 11457//11457\nf 10806//10806 11852//11852 11077//11077\nf 11852//11852 11597//11597 11077//11077\nf 11858//11858 11458//11458 11078//11078\nf 11858//11858 11853//11853 11458//11458\nf 11068//11068 11081//11081 11857//11857\nf 11065//11065 11861//11861 11075//11075\nf 11862//11862 11077//11077 11597//11597\nf 11597//11597 11077//11077 11862//11862\nf 11642//11642 11075//11075 11861//11861\nf 11856//11856 11518//11518 11866//11866\nf 11520//11520 11084//11084 11867//11867\nf 11642//11642 11861//11861 11868//11868\nf 11863//11863 11076//11076 11869//11869\nf 11864//11864 11095//11095 11597//11597\nf 11087//11087 11869//11869 11076//11076\nf 11083//11083 11866//11866 11598//11598\nf 11869//11869 11087//11087 11870//11870\nf 11865//11865 11521//11521 11090//11090\nf 11872//11872 11083//11083 11876//11876\nf 11865//11865 11875//11875 11521//11521\nf 11875//11875 11092//11092 11521//11521\nf 11085//11085 11099//11099 11873//11873\nf 11874//11874 11093//11093 11091//11091\nf 12215//12215 10810//10810 11095//11095\nf 12214//12214 11089//11089 11877//11877\nf 11093//11093 11874//11874 11878//11878\nf 11881//11881 11877//11877 11096//11096\nf 11878//11878 11523//11523 11093//11093\nf 11094//11094 11524//11524 11880//11880\nf 11884//11884 11523//11523 11878//11878\nf 11092//11092 11875//11875 11102//11102\nf 11879//11879 11099//11099 11883//11883\nf 11099//11099 11522//11522 11883//11883\nf 11885//11885 11115//11115 11102//11102\nf 11886//11886 11881//11881 11107//11107\nf 11526//11526 11887//11887 11104//11104\nf 11111//11111 11525//11525 12219//12219\nf 11110//11110 11523//11523 11884//11884\nf 11113//11113 11524//11524 11106//11106\nf 11522//11522 11888//11888 11883//11883\nf 10811//10811 10810//10810 12333//12333\nf 11107//11107 11114//11114 11886//11886\nf 11111//11111 12219//12219 11894//11894\nf 11889//11889 11110//11110 11884//11884\nf 12220//12220 11113//11113 11892//11892\nf 11887//11887 11526//11526 11891//11891\nf 11116//11116 11891//11891 11526//11526\nf 11126//11126 11891//11891 11116//11116\nf 11900//11900 11124//11124 11895//11895\nf 11115//11115 11897//11897 11118//11118\nf 11115//11115 11896//11896 11897//11897\nf 11117//11117 11115//11115 11118//11118\nf 11111//11111 11894//11894 11122//11122\nf 11899//11899 11112//11112 11119//11119\nf 11124//11124 11599//11599 11895//11895\nf 11121//11121 11893//11893 11114//11114\nf 11126//11126 11129//11129 11905//11905\nf 11897//11897 11125//11125 11118//11118\nf 11897//11897 11904//11904 11128//11128\nf 11125//11125 11897//11897 11128//11128\nf 11130//11130 11527//11527 11902//11902\nf 11902//11902 11906//11906 11130//11130\nf 11907//11907 11119//11119 11133//11133\nf 11910//11910 11600//11600 11901//11901\nf 11911//11911 11124//11124 11900//11900\nf 11132//11132 11903//11903 11460//11460\nf 11135//11135 11901//11901 11600//11600\nf 11135//11135 11127//11127 11901//11901\nf 11908//11908 11120//11120 11134//11134\nf 11907//11907 11133//11133 11909//11909\nf 11133//11133 11913//11913 11909//11909\nf 11911//11911 12223//12223 11131//11131\nf 12224//12224 11132//11132 11144//11144\nf 11130//11130 11906//11906 11146//11146\nf 12224//12224 11144//11144 11529//11529\nf 12224//12224 11912//11912 11132//11132\nf 11128//11128 11917//11917 11139//11139\nf 11131//11131 12223//12223 11138//11138\nf 11133//11133 11601//11601 11915//11915\nf 11601//11601 11137//11137 11915//11915\nf 11528//11528 11916//11916 11153//11153\nf 11142//11142 11155//11155 11136//11136\nf 12225//12225 11143//11143 11145//11145\nf 11153//11153 11916//11916 11922//11922\nf 11154//11154 11462//11462 11920//11920\nf 11154//11154 11920//11920 11529//11529\nf 11139//11139 11923//11923 11151//11151\nf 11924//11924 11157//11157 11146//11146\nf 11461//11461 11602//11602 11926//11926\nf 11532//11532 11153//11153 11922//11922\nf 12416//12416 11155//11155 11927//11927\nf 11920//11920 11462//11462 11532//11532\nf 11929//11929 11167//11167 11157//11157\nf 11167//11167 11929//11929 11930//11930\nf 11931//11931 11533//11533 11461//11461\nf 11145//11145 11171//11171 11933//11933\nf 11156//11156 11934//11934 11162//11162\nf 11936//11936 11145//11145 11933//11933\nf 11932//11932 11159//11159 11463//11463\nf 11932//11932 11463//11463 11159//11159\nf 11160//11160 11935//11935 11531//11531\nf 11937//11937 11534//11534 11162//11162\nf 11937//11937 11162//11162 11934//11934\nf 11172//11172 11938//11938 11179//11179\nf 11941//11941 11160//11160 11939//11939\nf 11939//11939 11160//11160 11163//11163\nf 11933//11933 11171//11171 11936//11936\nf 11171//11171 11536//11536 11936//11936\nf 11644//11644 11161//11161 11942//11942\nf 11463//11463 11159//11159 11174//11174\nf 11940//11940 11943//11943 11179//11179\nf 11939//11939 11603//11603 11945//11945\nf 11946//11946 11535//11535 11643//11643\nf 11946//11946 11643//11643 12231//12231\nf 11191//11191 11181//11181 11944//11944\nf 11184//11184 11537//11537 11943//11943\nf 12232//12232 11191//11191 11944//11944\nf 11943//11943 11949//11949 11184//11184\nf 11539//11539 11947//11947 11536//11536\nf 11950//11950 11464//11464 11191//11191\nf 11183//11183 11201//11201 11951//11951\nf 11952//11952 11203//11203 11184//11184\nf 12233//12233 11539//11539 11541//11541\nf 11204//11204 11202//11202 11955//11955\nf 11205//11205 11957//11957 11956//11956\nf 11203//11203 12235//12235 11211//11211\nf 12236//12236 11541//11541 11206//11206\nf 12235//12235 11959//11959 11211//11211\nf 11210//11210 11204//11204 11958//11958\nf 11959//11959 11215//11215 11211//11211\nf 11646//11646 11645//11645 11604//11604\nf 11646//11646 11546//11546 11960//11960\nf 11546//11546 11208//11208 11962//11962\nf 11965//11965 11608//11608 12242//12242\nf 11964//11964 11212//11212 11216//11216\nf 11965//11965 11606//11606 11608//11608\nf 11213//11213 11210//11210 11958//11958\nf 11609//11609 11217//11217 11221//11221\nf 11605//11605 11965//11965 11648//11648\nf 11605//11605 11606//11606 11965//11965\nf 11213//11213 11958//11958 11222//11222\nf 11220//11220 11959//11959 12243//12243\nf 11971//11971 11216//11216 11223//11223\nf 11975//11975 11226//11226 11547//11547\nf 11221//11221 11230//11230 11970//11970\nf 11218//11218 11610//11610 11972//11972\nf 11967//11967 11229//11229 11222//11222\nf 11547//11547 12244//12244 11975//11975\nf 11218//11218 11972//11972 11227//11227\nf 11977//11977 11470//11470 11231//11231\nf 11976//11976 11470//11470 11977//11977\nf 11974//11974 11214//11214 11233//11233\nf 11973//11973 11225//11225 11234//11234\nf 11470//11470 11976//11976 11612//11612\nf 11976//11976 11982//11982 11612//11612\nf 11977//11977 11231//11231 11228//11228\nf 11983//11983 11228//11228 11232//11232\nf 11984//11984 11229//11229 11978//11978\nf 11234//11234 11236//11236 11980//11980\nf 11234//11234 11980//11980 11981//11981\nf 11986//11986 11232//11232 11235//11235\nf 11986//11986 11228//11228 11232//11232\nf 11984//11984 11613//11613 11229//11229\nf 11988//11988 11242//11242 11984//11984\nf 11989//11989 11979//11979 11248//11248\nf 11614//11614 11248//11248 11979//11979\nf 11241//11241 11990//11990 11236//11236\nf 11985//11985 11239//11239 12252//12252\nf 11227//11227 11992//11992 11247//11247\nf 12253//12253 11244//11244 11245//11245\nf 12759//12759 12253//12253 12254//12254\nf 11993//11993 11245//11245 11549//11549\nf 11246//11246 11991//11991 11994//11994\nf 11989//11989 11248//11248 11995//11995\nf 11615//11615 11548//11548 11998//11998\nf 11548//11548 11997//11997 11998//11998\nf 11995//11995 11248//11248 11262//11262\nf 11990//11990 11254//11254 12001//12001\nf 11241//11241 11254//11254 11990//11990\nf 11993//11993 11250//11250 11999//11999\nf 12768//12768 11999//11999 12003//12003\nf 11261//11261 12003//12003 11257//11257\nf 11261//11261 12004//12004 12003//12003\nf 11252//11252 12007//12007 12005//12005\nf 11551//11551 12002//12002 12257//12257\nf 11263//11263 12010//12010 11261//11261\nf 12008//12008 11282//11282 12012//12012\nf 12013//12013 11278//11278 12009//12009\nf 12008//12008 12009//12009 11282//11282\nf 11271//11271 12014//12014 12001//12001\nf 11251//11251 12000//12000 12017//12017\nf 11252//11252 11265//11265 12011//12011\nf 11278//11278 11282//11282 12009//12009\nf 12009//12009 12021//12021 12013//12013\nf 12021//12021 11278//11278 12013//12013\nf 12014//12014 11271//11271 12026//12026\nf 11550//11550 11615//11615 12260//12260\nf 11268//11268 12022//12022 12016//12016\nf 11272//11272 12022//12022 11268//11268\nf 12024//12024 12023//12023 11274//11274\nf 11282//11282 12020//12020 12012//12012\nf 12026//12026 11271//11271 11554//11554\nf 11552//11552 12019//12019 11286//11286\nf 11265//11265 12029//12029 12011//12011\nf 11276//11276 12029//12029 11265//11265\nf 12030//12030 12029//12029 11276//11276\nf 12036//12036 11285//11285 11284//11284\nf 12032//12032 12026//12026 11554//11554\nf 11649//11649 11550//11550 12262//12262\nf 12030//12030 11276//11276 10829//10829\nf 10830//10830 12030//12030 10829//10829\nf 11282//11282 11289//11289 12019//12019\nf 12031//12031 11284//11284 11291//11291\nf 11556//11556 11651//11651 11650//11650\nf 11289//11289 11286//11286 12019//12019\nf 11557//11557 11290//11290 12035//12035\nf 12031//12031 11291//11291 12037//12037\nf 11285//11285 12036//12036 12038//12038\nf 11285//11285 12038//12038 11294//11294\nf 12041//12041 11287//11287 11279//11279\nf 12040//12040 12041//12041 11279//11279\nf 11291//11291 11307//11307 12037//12037\nf 12040//12040 11279//11279 11555//11555\nf 11287//11287 12044//12044 11295//11295\nf 11297//11297 12045//12045 12046//12046\nf 11298//11298 11616//11616 11308//11308\nf 11616//11616 11298//11298 12039//12039\nf 12040//12040 11555//11555 12048//12048\nf 11296//11296 12044//12044 12042//12042\nf 11296//11296 11295//11295 12044//12044\nf 12046//12046 11300//11300 11297//11297\nf 12046//12046 11301//11301 11300//11300\nf 12052//12052 11651//11651 11556//11556\nf 12049//12049 11283//11283 11292//11292\nf 12048//12048 11555//11555 12050//12050\nf 12048//12048 12050//12050 12040//12040\nf 11301//11301 12051//12051 11300//11300\nf 11300//11300 12051//12051 11301//11301\nf 12052//12052 11556//11556 10833//10833\nf 12053//12053 12052//12052 10833//10833\nf 11616//11616 12039//12039 11308//11308\nf 11557//11557 12054//12054 11302//11302\nf 12056//12056 11283//11283 12049//12049\nf 11283//11283 12056//12056 12057//12057\nf 11554//11554 11283//11283 12057//12057\nf 12058//12058 11554//11554 12057//12057\nf 12058//12058 12032//12032 11554//11554\nf 11555//11555 12048//12048 12050//12050\nf 11301//11301 12051//12051 11304//11304\nf 12039//12039 11558//11558 11308//11308\nf 11301//11301 11304//11304 12051//12051\nf 12051//12051 11304//11304 11301//11301\nf 12053//12053 10833//10833 10832//10832\nf 11652//11652 11558//11558 12059//12059\nf 12062//12062 10834//10834 10835//10835\nf 12064//12064 11304//11304 12051//12051\nf 12059//12059 11319//11319 11652//11652\nf 11315//11315 11302//11302 12054//12054\nf 12055//12055 11316//11316 12066//12066\nf 11654//11654 11311//11311 11304//11304\nf 11320//11320 12065//12065 11317//11317\nf 12063//12063 12065//12065 12269//12269\nf 12069//12069 11311//11311 11654//11654\nf 11560//11560 11559//11559 12067//12067\nf 12068//12068 12066//12066 11315//11315\nf 11316//11316 11315//11315 12066//12066\nf 12069//12069 11654//11654 12064//12064\nf 11320//11320 11617//11617 12070//12070\nf 11328//11328 11325//11325 11560//11560\nf 11328//11328 11560//11560 12071//12071\nf 11326//11326 12070//12070 11617//11617\nf 12073//12073 10837//10837 11311//11311\nf 11331//11331 11328//11328 12075//12075\nf 12072//12072 11327//11327 12074//12074\nf 12075//12075 11328//11328 12274//12274\nf 11562//11562 11561//11561 12276//12276\nf 11618//11618 11340//11340 12080//12080\nf 11340//11340 11344//11344 12080//12080\nf 11619//11619 12278//12278 12277//12277\nf 12074//12074 11327//11327 12081//12081\nf 11344//11344 11656//11656 12080//12080\nf 11327//11327 11337//11337 12081//12081\nf 11344//11344 11343//11343 11656//11656\nf 12084//12084 11345//11345 10780//10780\nf 12085//12085 11346//11346 10840//10840\nf 12280//12280 11347//11347 11346//11346\nf 12085//12085 12280//12280 11346//11346\nf 10841//10841 10842//10842 12087//12087\nf 10841//10841 12087//12087 12086//12086\nf 11350//11350 11657//11657 12089//12089\nf 12090//12090 11350//11350 11352//11352\nf 11657//11657 11350//11350 12090//12090\nf 12089//12089 11620//11620 11350//11350\nf 12087//12087 10842//10842 12091//12091\nf 11352//11352 12092//12092 12090//12090\nf 12088//12088 11356//11356 11347//11347\nf 12093//12093 11348//11348 11354//11354\nf 12091//12091 11348//11348 12093//12093\nf 12089//12089 12094//12094 11357//11357\nf 12095//12095 11347//11347 11356//11356\nf 12095//12095 11356//11356 11347//11347\nf 12095//12095 11356//11356 12088//12088\nf 12093//12093 11354//11354 11358//11358\nf 11356//11356 12095//12095 12098//12098\nf 11364//11364 11355//11355 12098//12098\nf 11355//11355 11356//11356 12098//12098\nf 12097//12097 12099//12099 11365//11365\nf 10844//10844 11564//11564 12100//12100\nf 12282//12282 11567//11567 11364//11364\nf 12096//12096 11358//11358 11624//11624\nf 12103//12103 11565//11565 11475//11475\nf 12103//12103 12284//12284 11565//11565\nf 12104//12104 11658//11658 11476//11476\nf 12105//12105 11476//11476 11568//11568\nf 12107//12107 11369//11369 12099//12099\nf 11374//11374 12108//12108 11372//11372\nf 12109//12109 11373//11373 11371//11371\nf 11375//11375 12110//12110 11374//11374\nf 12111//12111 11373//11373 12109//12109\nf 11373//11373 12111//12111 11376//11376\nf 11375//11375 11377//11377 12112//12112\nf 12114//12114 11571//11571 11376//11376\nf 11571//11571 12114//12114 12115//12115\nf 11571//11571 12115//12115 11477//11477\nf 11381//11381 12116//12116 12113//12113\nf 11477//11477 12115//12115 12117//12117\nf 12118//12118 12116//12116 11381//11381\nf 12118//12118 11381//11381 11389//11389\nf 11384//11384 11383//11383 12119//12119\nf 12118//12118 11389//11389 12120//12120\nf 12121//12121 11627//11627 12117//12117\nf 11627//11627 11477//11477 12117//12117\nf 11384//11384 12293//12293 12119//12119\nf 12293//12293 11384//11384 12119//12119\nf 12122//12122 11626//11626 11384//11384\nf 11626//11626 11385//11385 12122//12122\nf 11385//11385 11626//11626 11574//11574\nf 11384//11384 12293//12293 12122//12122\nf 11574//11574 11626//11626 12122//12122\nf 11389//11389 11394//11394 12120//12120\nf 12123//12123 11573//11573 11391//11391\nf 12124//12124 11390//11390 11575//11575\nf 12124//12124 12125//12125 11390//11390\nf 11391//11391 11392//11392 12126//12126\nf 12127//12127 11393//11393 11574//11574\nf 11395//11395 11390//11390 12125//12125\nf 11660//11660 11627//11627 12121//12121\nf 11572//11572 12129//12129 12297//12297\nf 11572//11572 12297//12297 11575//11575\nf 11395//11395 12126//12126 11392//11392\nf 11576//11576 11393//11393 12132//12132\nf 11397//11397 12133//12133 11394//11394\nf 11399//11399 12133//12133 11397//11397\nf 11627//11627 11660//11660 12129//12129\nf 12133//12133 11399//11399 12299//12299\nf 11479//11479 12299//12299 11399//11399\nf 12135//12135 11576//11576 12132//12132\nf 11578//11578 11629//11629 12136//12136\nf 11479//11479 11399//11399 11400//11400\nf 11576//11576 12135//12135 11407//11407\nf 12304//12304 11577//11577 12303//12303\nf 11629//11629 12139//12139 12136//12136\nf 11406//11406 12137//12137 12140//12140\nf 12141//12141 11478//11478 12140//12140\nf 12138//12138 12142//12142 11407//11407\nf 12300//12300 11410//11410 11412//11412\nf 11579//11579 12301//12301 12302//12302\nf 11478//11478 11411//11411 12140//12140\nf 11478//11478 12141//12141 11479//11479\nf 12142//12142 11413//11413 11407//11407\nf 12142//12142 12145//12145 11413//11413\nf 11415//11415 12144//12144 11414//11414\nf 11413//11413 12146//12146 11416//11416\nf 12148//12148 11415//11415 11417//11417\nf 12148//12148 11415//11415 12147//12147\nf 11419//11419 12149//12149 11417//11417\nf 11417//11417 12149//12149 12148//12148\nf 12148//12148 12147//12147 11415//11415\nf 11422//11422 12149//12149 11419//11419\nf 11422//11422 12150//12150 12149//12149\nf 11422//11422 12151//12151 12150//12150\nf 12152//12152 11418//11418 12146//12146\nf 12151//12151 11422//11422 11421//11421\nf 11420//11420 11418//11418 12153//12153\nf 12151//12151 11421//11421 12154//12154\nf 11421//11421 11480//11480 12154//12154\nf 11423//11423 11420//11420 12153//12153\nf 11423//11423 12155//12155 11424//11424\nf 11426//11426 11427//11427 11480//11480\nf 12155//12155 12157//12157 11425//11425\nf 12158//12158 12159//12159 11427//11427\nf 12156//12156 11427//11427 12159//12159\nf 11428//11428 11425//11425 12160//12160\nf 12161//12161 11428//11428 12160//12160\nf 11428//11428 12161//12161 11481//11481\nf 11429//11429 11430//11430 12162//12162\nf 11483//11483 11662//11662 11661//11661\nf 11661//11661 10849//10849 11483//11483\nf 11663//11663 11483//11483 10850//10850\nf 11664//11664 10853//10853 11665//11665\nf 11666//11666 11665//11665 10853//10853\nf 11667//11667 10857//10857 12165//12165\nf 12310//12310 10866//10866 11666//11666\nf 12310//12310 11666//11666 10866//10866\nf 11669//11669 10864//10864 11667//11667\nf 11582//11582 10870//10870 12166//12166\nf 12366//12366 11582//11582 12166//12166\nf 12888//12888 12481//12481 13116//13116\nf 11668//11668 10863//10863 11678//11678\nf 10870//10870 10881//10881 11679//11679\nf 11683//11683 10864//10864 11669//11669\nf 11675//11675 10876//10876 11684//11684\nf 11675//11675 10865//10865 10876//10876\nf 10872//10872 10860//10860 11685//11685\nf 11686//11686 10873//10873 11681//11681\nf 12170//12170 10894//10894 10885//10885\nf 10863//10863 10875//10875 11687//11687\nf 10872//10872 11685//11685 12169//12169\nf 11697//11697 10894//10894 12170//12170\nf 12171//12171 10875//10875 11631//11631\nf 12171//12171 11631//11631 12172//12172\nf 11690//11690 11435//11435 11491//11491\nf 11491//11491 11688//11688 11690//11690\nf 11679//11679 10881//10881 11691//11691\nf 11694//11694 11693//11693 11584//11584\nf 10872//10872 12169//12169 11695//11695\nf 11696//11696 10893//10893 10896//10896\nf 12313//12313 10786//10786 11700//11700\nf 11706//11706 10900//10900 11436//11436\nf 11706//11706 11436//11436 11701//11701\nf 10897//10897 10898//10898 11691//11691\nf 11585//11585 12176//12176 12175//12175\nf 11703//11703 11709//11709 10901//10901\nf 11709//11709 10902//10902 10901//10901\nf 10907//10907 11715//11715 11710//11710\nf 11712//11712 10909//10909 11714//11714\nf 11711//11711 11713//11713 10908//10908\nf 11718//11718 11714//11714 10911//10911\nf 10912//10912 10915//10915 11720//11720\nf 10917//10917 11719//11719 11718//11718\nf 10918//10918 10910//10910 11721//11721\nf 10919//10919 11439//11439 11725//11725\nf 11723//11723 10915//10915 11726//11726\nf 10917//10917 11440//11440 11719//11719\nf 11719//11719 11440//11440 12177//12177\nf 12177//12177 11440//11440 11727//11727\nf 11492//11492 11729//11729 11726//11726\nf 11727//11727 10922//10922 10928//10928\nf 11731//11731 11732//11732 11494//11494\nf 10930//10930 11728//11728 11495//11495\nf 10928//10928 10937//10937 11733//11733\nf 11736//11736 11495//11495 11728//11728\nf 11735//11735 11729//11729 10936//10936\nf 10934//10934 11732//11732 11737//11737\nf 10936//10936 11740//11740 11735//11735\nf 10936//10936 11635//11635 11740//11740\nf 10941//10941 11733//11733 10937//10937\nf 11742//11742 11496//11496 11741//11741\nf 10946//10946 11441//11441 12178//12178\nf 12181//12181 10946//10946 12178//12178\nf 10939//10939 12180//12180 11499//11499\nf 11497//11497 10940//10940 11442//11442\nf 11497//11497 11442//11442 11745//11745\nf 10950//10950 11748//11748 11744//11744\nf 10952//10952 10948//10948 11752//11752\nf 10956//10956 12182//12182 11753//11753\nf 11760//11760 12182//12182 10956//10956\nf 11763//11763 11500//11500 11502//11502\nf 11763//11763 11759//11759 11500//11500\nf 11760//11760 10956//10956 10962//10962\nf 11760//11760 10962//10962 11765//11765\nf 11445//11445 11764//11764 11766//11766\nf 12183//12183 12184//12184 11778//11778\nf 11772//11772 11767//11767 10966//10966\nf 12184//12184 11775//11775 11778//11778\nf 12185//12185 10970//10970 12322//12322\nf 11773//11773 11778//11778 11775//11775\nf 11780//11780 12185//12185 12322//12322\nf 10977//10977 12185//12185 11780//11780\nf 12186//12186 11636//11636 11775//11775\nf 11503//11503 11781//11781 11772//11772\nf 11771//11771 11774//11774 11776//11776\nf 11781//11781 11636//11636 12186//12186\nf 11637//11637 11787//11787 11779//11779\nf 11779//11779 11787//11787 11777//11777\nf 11789//11789 10980//10980 11784//11784\nf 11783//11783 10979//10979 11791//11791\nf 11588//11588 11793//11793 11787//11787\nf 11793//11793 11504//11504 12187//12187\nf 11504//11504 11794//11794 12187//12187\nf 10983//10983 11790//11790 11798//11798\nf 11794//11794 11639//11639 11797//11797\nf 11796//11796 10992//10992 12188//12188\nf 11802//11802 10997//10997 11801//11801\nf 10997//10997 11003//11003 11801//11801\nf 11802//11802 11803//11803 10997//10997\nf 11807//11807 11797//11797 11639//11639\nf 11796//11796 11005//11005 11799//11799\nf 11807//11807 11639//11639 11448//11448\nf 11809//11809 11002//11002 11805//11805\nf 11801//11801 11808//11808 12325//12325\nf 11640//11640 11008//11008 11810//11810\nf 11812//11812 11807//11807 11505//11505\nf 11014//11014 10994//10994 11811//11811\nf 11451//11451 11007//11007 11809//11809\nf 11813//11813 12189//12189 11809//11809\nf 11806//11806 10993//10993 12190//12190\nf 11812//11812 11505//11505 11591//11591\nf 11809//11809 12189//12189 11813//11813\nf 11451//11451 11809//11809 11813//11813\nf 11640//11640 11810//11810 12191//12191\nf 11015//11015 12190//12190 11814//11814\nf 12192//12192 11819//11819 11816//11816\nf 11018//11018 11451//11451 11813//11813\nf 11817//11817 11508//11508 12192//12192\nf 12194//12194 12192//12192 11508//11508\nf 11452//11452 11014//11014 11811//11811\nf 11815//11815 11506//11506 12195//12195\nf 11822//11822 11454//11454 11640//11640\nf 11822//11822 12191//12191 12392//12392\nf 12393//12393 11812//11812 11821//11821\nf 12194//12194 11508//11508 11823//11823\nf 11018//11018 12196//12196 12197//12197\nf 11506//11506 11509//11509 12199//12199\nf 12195//12195 11506//11506 12199//12199\nf 11641//11641 11825//11825 11826//11826\nf 11026//11026 11828//11828 11820//11820\nf 11029//11029 11454//11454 11824//11824\nf 12201//12201 11510//11510 12497//12497\nf 11035//11035 11826//11826 11510//11510\nf 11032//11032 12198//12198 11829//11829\nf 11831//11831 11821//11821 11020//11020\nf 11593//11593 11029//11029 11832//11832\nf 11510//11510 12201//12201 12397//12397\nf 12201//12201 12497//12497 12397//12397\nf 11835//11835 11045//11045 11033//11033\nf 11832//11832 11593//11593 11048//11048\nf 11052//11052 12397//12397 12202//12202\nf 12200//12200 11594//11594 11838//11838\nf 11048//11048 11593//11593 12203//12203\nf 11053//11053 11514//11514 11837//11837\nf 11060//11060 11048//11048 12204//12204\nf 11048//11048 12203//12203 12204//12204\nf 11513//11513 11039//11039 11839//11839\nf 11046//11046 11056//11056 11845//11845\nf 11062//11062 11052//11052 11840//11840\nf 12329//12329 11834//11834 11839//11839\nf 11512//11512 11455//11455 12207//12207\nf 11512//11512 12207//12207 11833//11833\nf 11060//11060 12204//12204 11843//11843\nf 11844//11844 11063//11063 12206//12206\nf 11838//11838 11594//11594 11516//11516\nf 11849//11849 11071//11071 11055//11055\nf 11055//11055 11841//11841 11848//11848\nf 11457//11457 12208//12208 11455//11455\nf 11455//11455 12208//12208 12207//12207\nf 11854//11854 11069//11069 11053//11053\nf 11066//11066 11851//11851 11855//11855\nf 11080//11080 11071//11071 11849//11849\nf 11080//11080 11849//11849 11860//11860\nf 12209//12209 12210//12210 11065//11065\nf 11065//11065 12210//12210 11861//11861\nf 11852//11852 12211//12211 11862//11862\nf 11597//11597 11852//11852 11862//11862\nf 11859//11859 11079//11079 11854//11854\nf 11066//11066 11596//11596 11863//11863\nf 11081//11081 11519//11519 11871//11871\nf 11860//11860 12212//12212 11867//11867\nf 11867//11867 11084//11084 11080//11080\nf 11869//11869 12213//12213 11863//11863\nf 11862//11862 11864//11864 11597//11597\nf 11078//11078 11089//11089 12214//12214\nf 11869//11869 11870//11870 12213//12213\nf 11087//11087 11094//11094 11870//11870\nf 11085//11085 11873//11873 11871//11871\nf 11083//11083 11097//11097 11876//11876\nf 11874//11874 11091//11091 11868//11868\nf 12215//12215 12217//12217 10810//10810\nf 11105//11105 11098//11098 12216//12216\nf 11459//11459 11882//11882 11876//11876\nf 11099//11099 11879//11879 11873//11873\nf 11094//11094 11880//11880 12218//12218\nf 11875//11875 11885//11885 11102//11102\nf 11882//11882 11459//11459 11104//11104\nf 11105//11105 12219//12219 11525//11525\nf 11882//11882 11104//11104 11887//11887\nf 12220//12220 11524//11524 11113//11113\nf 11599//11599 12333//12333 11895//11895\nf 11886//11886 11114//11114 11893//11893\nf 11885//11885 11890//11890 11115//11115\nf 11888//11888 11112//11112 12221//12221\nf 11127//11127 11110//11110 11889//11889\nf 11115//11115 11890//11890 11896//11896\nf 11126//11126 11898//11898 11891//11891\nf 11899//11899 12334//12334 12221//12221\nf 11899//11899 12221//12221 11112//11112\nf 11902//11902 11122//11122 11894//11894\nf 12222//12222 11892//11892 11120//11120\nf 11892//11892 11113//11113 11120//11120\nf 11902//11902 11527//11527 11122//11122\nf 12409//12409 11901//11901 11889//11889\nf 11121//11121 11460//11460 11903//11903\nf 11899//11899 11119//11119 11907//11907\nf 11903//11903 11132//11132 11912//11912\nf 11913//11913 11907//11907 11909//11909\nf 11908//11908 11134//11134 11143//11143\nf 11906//11906 11914//11914 11146//11146\nf 11128//11128 11904//11904 11917//11917\nf 11602//11602 11600//11600 11910//11910\nf 11138//11138 12223//12223 11916//11916\nf 11913//11913 11133//11133 11915//11915\nf 11920//11920 11918//11918 11529//11529\nf 11155//11155 11919//11919 11136//11136\nf 11916//11916 12226//12226 11922//11922\nf 11915//11915 11137//11137 11921//11921\nf 11915//11915 11921//11921 12337//12337\nf 12225//12225 11145//11145 12227//12227\nf 11925//11925 11922//11922 12226//12226\nf 11921//11921 11137//11137 11530//11530\nf 11532//11532 11922//11922 11925//11925\nf 11920//11920 11925//11925 12226//12226\nf 11461//11461 11926//11926 11931//11931\nf 11463//11463 11927//11927 11155//11155\nf 11930//11930 11929//11929 11157//11157\nf 11530//11530 11531//11531 12228//12228\nf 11531//11531 11935//11935 12228//12228\nf 11161//11161 11533//11533 11931//11931\nf 11942//11942 11644//11644 11931//11931\nf 11179//11179 11938//11938 11940//11940\nf 11935//11935 11160//11160 11941//11941\nf 11644//11644 11161//11161 11931//11931\nf 11942//11942 11931//11931 12229//12229\nf 11536//11536 11947//11947 11936//11936\nf 11942//11942 11161//11161 11644//11644\nf 11173//11173 11937//11937 11944//11944\nf 11181//11181 11173//11173 11944//11944\nf 11643//11643 11644//11644 11942//11942\nf 12230//12230 11939//11939 11945//11945\nf 11174//11174 11183//11183 11948//11948\nf 11948//11948 11183//11183 11951//11951\nf 12232//12232 11950//11950 11191//11191\nf 11184//11184 11949//11949 11952//11952\nf 11197//11197 11464//11464 11953//11953\nf 11464//11464 11950//11950 11953//11953\nf 12234//12234 11201//11201 11954//11954\nf 12234//12234 11951//11951 11201//11201\nf 12235//12235 11203//11203 11952//11952\nf 11953//11953 11955//11955 11202//11202\nf 11954//11954 11201//11201 11956//11956\nf 12502//12502 12233//12233 11541//11541\nf 11958//11958 11204//11204 11955//11955\nf 12236//12236 11206//11206 12237//12237\nf 12423//12423 12236//12236 12237//12237\nf 11961//11961 11645//11645 11646//11646\nf 12342//12342 11546//11546 11962//11962\nf 12240//12240 11645//11645 11961//11961\nf 11961//11961 11646//11646 12238//12238\nf 12239//12239 11962//11962 11208//11208\nf 11964//11964 12239//12239 11209//11209\nf 11964//11964 11209//11209 11212//11212\nf 11970//11970 11609//11609 11221//11221\nf 11966//11966 11607//11607 11963//11963\nf 11607//11607 11647//11647 11963//11963\nf 11647//11647 11645//11645 12240//12240\nf 11963//11963 11647//11647 12240//12240\nf 11958//11958 11967//11967 11222//11222\nf 11205//11205 11214//11214 11968//11968\nf 12243//12243 11547//11547 11220//11220\nf 11965//11965 12241//12241 11648//11648\nf 11608//11608 11607//11607 11966//11966\nf 12242//12242 11608//11608 11966//11966\nf 11216//11216 11971//11971 11964//11964\nf 11969//11969 11648//11648 12241//12241\nf 12241//12241 12245//12245 11969//11969\nf 12241//12241 11965//11965 12242//12242\nf 11968//11968 11214//11214 11974//11974\nf 11225//11225 11973//11973 11971//11971\nf 11973//11973 11981//11981 11980//11980\nf 11973//11973 11234//11234 11981//11981\nf 11978//11978 11229//11229 11967//11967\nf 11979//11979 11970//11970 11230//11230\nf 11610//11610 11648//11648 12245//12245\nf 12248//12248 11610//11610 12245//12245\nf 12248//12248 11972//11972 11610//11610\nf 12246//12246 11980//11980 11236//11236\nf 12251//12251 12248//12248 12245//12245\nf 11548//11548 11612//11612 12247//12247\nf 11612//11612 11982//11982 12247//12247\nf 11972//11972 11610//11610 12248//12248\nf 11610//11610 11972//11972 12248//12248\nf 11548//11548 12247//12247 12249//12249\nf 11246//11246 11611//11611 11975//11975\nf 11992//11992 12248//12248 12250//12250\nf 11236//11236 11990//11990 12246//12246\nf 12253//12253 11237//11237 11244//11244\nf 11227//11227 11972//11972 12248//12248\nf 11992//11992 11227//11227 12248//12248\nf 11985//11985 11233//11233 11239//11239\nf 11994//11994 11991//11991 11996//11996\nf 12000//12000 11242//11242 11988//11988\nf 11548//11548 12249//12249 11997//11997\nf 12249//12249 12255//12255 11997//11997\nf 11993//11993 11549//11549 11250//11250\nf 11996//11996 12002//12002 11266//11266\nf 12009//12009 12250//12250 12251//12251\nf 12255//12255 11998//11998 11997//11997\nf 11239//11239 12005//12005 12252//12252\nf 11995//11995 11262//11262 12006//12006\nf 11247//11247 11992//11992 11256//11256\nf 12250//12250 12009//12009 12008//12008\nf 11999//11999 11255//11255 11257//11257\nf 11239//11239 11252//11252 12005//12005\nf 12259//12259 12258//12258 12255//12255\nf 12258//12258 12259//12259 12015//12015\nf 12010//12010 12004//12004 11261//11261\nf 12011//12011 12007//12007 11252//11252\nf 11551//11551 12257//12257 11270//11270\nf 11552//11552 11256//11256 12019//12019\nf 12008//12008 12012//12012 12020//12020\nf 11615//11615 12258//12258 12015//12015\nf 11263//11263 12016//12016 12010//12010\nf 11262//11262 11275//11275 11553//11553\nf 11615//11615 12015//12015 12260//12260\nf 11273//11273 11274//11274 12023//12023\nf 12019//12019 12020//12020 11282//11282\nf 11550//11550 12260//12260 12015//12015\nf 12036//12036 11284//11284 12028//12028\nf 11553//11553 11281//11281 11472//11472\nf 12031//12031 12028//12028 11284//11284\nf 11550//11550 12015//12015 12262//12262\nf 12027//12027 12033//12033 11298//11298\nf 12035//12035 11290//11290 12021//12021\nf 12039//12039 11298//11298 12033//12033\nf 12034//12034 11472//11472 12263//12263\nf 12263//12263 11472//11472 12264//12264\nf 12264//12264 11310//11310 12266//12266\nf 12264//12264 11472//11472 11310//11310\nf 12037//12037 11307//11307 12055//12055\nf 11292//11292 12047//12047 12049//12049\nf 12262//12262 12267//12267 11649//11649\nf 11555//11555 11649//11649 12048//12048\nf 11558//11558 12039//12039 12265//12265\nf 12060//12060 12266//12266 11310//11310\nf 12058//12058 12057//12057 12032//12032\nf 11649//11649 12267//12267 12048//12048\nf 12059//12059 11558//11558 12265//12265\nf 11310//11310 11473//11473 12060//12060\nf 12048//12048 12267//12267 12050//12050\nf 12053//12053 10832//10832 12268//12268\nf 12060//12060 11473//11473 12063//12063\nf 12063//12063 11317//11317 12065//12065\nf 11473//11473 11653//11653 12063//12063\nf 12270//12270 12050//12050 12267//12267\nf 10836//10836 12072//12072 10835//10835\nf 12072//12072 12062//12062 10835//10835\nf 12050//12050 12270//12270 12271//12271\nf 11304//11304 12064//12064 11654//11654\nf 11320//11320 12065//12065 12269//12269\nf 12065//12065 11320//11320 12269//12269\nf 12068//12068 11315//11315 12054//12054\nf 11560//11560 12067//12067 12273//12273\nf 12070//12070 11329//11329 12275//12275\nf 12073//12073 11311//11311 12069//12069\nf 11329//11329 11332//11332 12077//12077\nf 12073//12073 12076//12076 10837//10837\nf 11561//11561 11331//11331 12075//12075\nf 12078//12078 11562//11562 12276//12276\nf 11619//11619 11618//11618 12080//12080\nf 11474//11474 11619//11619 12277//12277\nf 11332//11332 11474//11474 12077//12077\nf 11342//11342 12082//12082 11336//11336\nf 12081//12081 11337//11337 12083//12083\nf 11336//11336 12082//12082 12279//12279\nf 10780//10780 11336//11336 12279//12279\nf 12355//12355 10780//10780 12279//12279\nf 10841//10841 12086//12086 11563//11563\nf 12083//12083 11563//11563 12086//12086\nf 12084//12084 10780//10780 12355//12355\nf 12085//12085 10840//10840 12084//12084\nf 12088//12088 11347//11347 12280//12280\nf 12097//12097 11357//11357 12094//12094\nf 11353//11353 10844//10844 12092//12092\nf 12096//12096 12093//12093 11358//11358\nf 10844//10844 12100//12100 12281//12281\nf 11566//11566 11567//11567 12283//12283\nf 12102//12102 12096//12096 11624//11624\nf 11564//11564 11622//11622 12100//12100\nf 11568//11568 11623//11623 12105//12105\nf 11623//11623 11569//11569 12106//12106\nf 11569//11569 11570//11570 12106//12106\nf 11622//11622 12287//12287 12100//12100\nf 12284//12284 12287//12287 11622//11622\nf 11622//11622 11621//11621 12284//12284\nf 12284//12284 11621//11621 11565//11565\nf 12289//12289 12102//12102 11624//11624\nf 11624//11624 11372//11372 12289//12289\nf 11372//11372 12108//12108 12289//12289\nf 12107//12107 12109//12109 11625//11625\nf 12108//12108 11374//11374 12110//12110\nf 11371//11371 11625//11625 12109//12109\nf 12111//12111 12109//12109 12290//12290\nf 12112//12112 11377//11377 12113//12113\nf 12111//12111 12114//12114 11376//11376\nf 11381//11381 12292//12292 12116//12116\nf 12292//12292 12113//12113 12116//12116\nf 12291//12291 12113//12113 12292//12292\nf 11381//11381 12116//12116 12292//12292\nf 11383//11383 11659//11659 12119//12119\nf 11384//11384 12119//12119 12293//12293\nf 12119//12119 11659//11659 12293//12293\nf 12123//12123 11391//11391 12126//12126\nf 12294//12294 11573//11573 12123//12123\nf 12127//12127 11574//11574 12122//12122\nf 11394//11394 12128//12128 12120//12120\nf 11659//11659 11573//11573 12294//12294\nf 12295//12295 11659//11659 12294//12294\nf 12296//12296 11660//11660 12121//12121\nf 12124//12124 11575//11575 12298//12298\nf 12130//12130 12126//12126 11395//11395\nf 12131//12131 12130//12130 11395//11395\nf 11393//11393 12127//12127 12132//12132\nf 11394//11394 12133//12133 12128//12128\nf 11575//11575 12297//12297 12298//12298\nf 12134//12134 11660//11660 12296//12296\nf 11660//11660 12297//12297 12129//12129\nf 11660//11660 12134//12134 12297//12297\nf 12299//12299 12141//12141 12133//12133\nf 11479//11479 12141//12141 12299//12299\nf 12135//12135 12138//12138 11407//11407\nf 12304//12304 11629//11629 11628//11628\nf 12304//12304 12139//12139 11629//11629\nf 11411//11411 11406//11406 12140//12140\nf 12135//12135 12142//12142 12138//12138\nf 11410//11410 12300//12300 12301//12301\nf 11410//11410 12301//12301 11408//11408\nf 11579//11579 11408//11408 12301//12301\nf 11577//11577 11579//11579 12302//12302\nf 12303//12303 11577//11577 12302//12302\nf 11628//11628 11577//11577 12304//12304\nf 11412//11412 12143//12143 12300//12300\nf 11412//11412 12305//12305 12143//12143\nf 11412//11412 12144//12144 12305//12305\nf 12144//12144 11415//11415 12148//12148\nf 12145//12145 12146//12146 11413//11413\nf 12306//12306 12144//12144 12148//12148\nf 12155//12155 12153//12153 12471//12471\nf 11480//11480 11427//11427 12156//12156\nf 11427//11427 11580//11580 12158//12158\nf 11482//11482 11581//11581 12308//12308\nf 11581//11581 11429//11429 12307//12307\nf 11662//11662 11483//11483 11663//11663\nf 12163//12163 12164//12164 12536//12536\nf 12883//12883 12163//12163 12536//12536\nf 12164//12164 11484//11484 12309//12309\nf 12165//12165 10858//10858 11582//11582\nf 11666//11666 10884//10884 12310//12310\nf 12544//12544 11674//11674 12541//12541\nf 10862//10862 12163//12163 12480//12480\nf 11669//11669 11667//11667 12311//12311\nf 12369//12369 11672//11672 12887//12887\nf 11434//11434 10867//10867 11672//11672\nf 10885//10885 10878//10878 11677//11677\nf 11668//11668 11431//11431 10863//10863\nf 12168//12168 10860//10860 11671//11671\nf 12368//12368 10884//10884 11686//11686\nf 10873//10873 11487//11487 11676//11676\nf 10873//10873 11676//11676 11681//11681\nf 11678//11678 10863//10863 11687//11687\nf 11688//11688 11491//11491 10880//10880\nf 11687//11687 10875//10875 12171//12171\nf 11687//11687 12171//12171 12891//12891\nf 11631//11631 11490//11490 12172//12172\nf 11689//11689 11488//11488 11693//11693\nf 12484//12484 11689//11689 11693//11693\nf 12172//12172 11490//11490 10888//10888\nf 11633//11633 10785//10785 11632//11632\nf 11702//11702 10895//10895 11692//11692\nf 12173//12173 10789//10789 12314//12314\nf 10789//10789 11698//11698 12314//12314\nf 11691//11691 11707//11707 12371//12371\nf 11694//11694 11585//11585 12175//12175\nf 12176//12176 11585//11585 12174//12174\nf 11585//11585 11695//11695 12174//12174\nf 11691//11691 10898//10898 11707//11707\nf 11716//11716 10906//10906 11709//11709\nf 11716//11716 11721//11721 10910//10910\nf 10912//10912 11720//11720 11723//11723\nf 11717//11717 10912//10912 11723//11723\nf 12315//12315 11439//11439 11713//11713\nf 10921//10921 11724//11724 12316//12316\nf 12317//12317 10921//10921 12316//12316\nf 12317//12317 10929//10929 10921//10921\nf 11441//11441 10929//10929 12317//12317\nf 12318//12318 11634//11634 11734//11734\nf 11743//11743 10932//10932 11736//11736\nf 11736//11736 12180//12180 11743//11743\nf 12178//12178 11441//11441 12379//12379\nf 10939//10939 11743//11743 12180//12180\nf 12179//12179 10941//10941 11744//11744\nf 11739//11739 11497//11497 11745//11745\nf 11746//11746 11499//11499 12180//12180\nf 10948//10948 11746//11746 11752//11752\nf 11751//11751 10951//10951 12181//12181\nf 11756//11756 11444//11444 12488//12488\nf 10953//10953 10956//10956 11753//11753\nf 11765//11765 10962//10962 11769//11769\nf 10962//10962 10964//10964 11769//11769\nf 12321//12321 12183//12183 11778//11778\nf 12320//12320 12183//12183 12321//12321\nf 12323//12323 12321//12321 11778//11778\nf 11777//11777 12323//12323 11778//11778\nf 11772//11772 12186//12186 11775//11775\nf 12186//12186 11772//11772 11781//11781\nf 10978//10978 11782//11782 11785//11785\nf 12187//12187 11794//11794 11797//11797\nf 11807//11807 12326//12326 11797//11797\nf 11810//11810 11005//11005 11796//11796\nf 11811//11811 10994//10994 11800//11800\nf 11808//11808 11016//11016 12325//12325\nf 12390//12390 12389//12389 12192//12192\nf 11016//11016 11815//11815 12325//12325\nf 12389//12389 11819//11819 12192//12192\nf 11822//11822 11640//11640 12191//12191\nf 11641//11641 12193//12193 11825//11825\nf 12190//12190 11015//11015 11820//11820\nf 11823//11823 11592//11592 12327//12327\nf 12198//12198 11452//11452 12394//12394\nf 11820//11820 11828//11828 12395//12395\nf 11592//11592 12200//12200 12327//12327\nf 11835//11835 11033//11033 11830//11830\nf 11831//11831 11030//11030 11834//11834\nf 11052//11052 11510//11510 12397//12397\nf 11593//11593 11832//11832 12328//12328\nf 12203//12203 11593//11593 12204//12204\nf 11593//11593 12328//12328 12204//12204\nf 12202//12202 11840//11840 11052//11052\nf 11834//11834 11513//11513 11839//11839\nf 11062//11062 12205//12205 11840//11840\nf 11843//11843 12209//12209 11065//11065\nf 11068//11068 11857//11857 11850//11850\nf 11066//11066 12330//12330 11851//11851\nf 11863//11863 12330//12330 11066//11066\nf 11865//11865 11090//11090 11859//11859\nf 11857//11857 11081//11081 11871//11871\nf 12215//12215 11864//11864 11862//11862\nf 12331//12331 12215//12215 11862//11862\nf 11083//11083 11872//11872 11866//11866\nf 11098//11098 11520//11520 11867//11867\nf 11874//11874 11868//11868 12403//12403\nf 12404//12404 11870//11870 11094//11094\nf 12404//12404 11094//11094 12218//12218\nf 11089//11089 11096//11096 11877//11877\nf 11879//11879 11883//11883 12408//12408\nf 11880//11880 11524//11524 12220//12220\nf 11599//11599 10811//10811 12333//12333\nf 11898//11898 12708//12708 11887//11887\nf 12410//12410 11902//11902 11894//11894\nf 11901//11901 11127//11127 11889//11889\nf 12223//12223 11911//11911 11900//11900\nf 11903//11903 11912//11912 12224//12224\nf 11905//11905 11129//11129 12335//12335\nf 11902//11902 12412//12412 11906//11906\nf 11915//11915 11907//11907 11913//11913\nf 12335//12335 11129//11129 11919//11919\nf 11914//11914 11906//11906 12412//12412\nf 12225//12225 11908//11908 11143//11143\nf 12224//12224 11529//11529 11918//11918\nf 11129//11129 11136//11136 11919//11919\nf 12980//12980 11919//11919 12416//12416\nf 11146//11146 11914//11914 11924//11924\nf 11923//11923 11139//11139 11917//11917\nf 12416//12416 11919//11919 11155//11155\nf 11157//11157 11924//11924 11930//11930\nf 11915//11915 12337//12337 11921//11921\nf 11151//11151 11923//11923 11928//11928\nf 12227//12227 11145//11145 11936//11936\nf 11156//11156 11928//11928 11934//11934\nf 11937//11937 11934//11934 12418//12418\nf 11463//11463 11174//11174 11932//11932\nf 12339//12339 11935//11935 11941//11941\nf 12338//12338 11932//11932 11174//11174\nf 12231//12231 11643//11643 11942//11942\nf 12338//12338 11174//11174 11948//11948\nf 11950//11950 12232//12232 11944//11944\nf 11603//11603 11535//11535 12341//12341\nf 11603//11603 12341//12341 12420//12420\nf 12236//12236 12423//12423 11541//11541\nf 12234//12234 11956//11956 11957//11957\nf 12237//12237 11609//11609 11970//11970\nf 11960//11960 11546//11546 12343//12343\nf 12239//12239 11208//11208 11209//11209\nf 12240//12240 11961//11961 12238//12238\nf 11646//11646 11960//11960 12238//12238\nf 11546//11546 12342//12342 12343//12343\nf 12343//12343 12342//12342 11973//11973\nf 11957//11957 11205//11205 11968//11968\nf 12342//12342 11962//11962 11973//11973\nf 11971//11971 11973//11973 12239//12239\nf 12239//12239 11964//11964 11971//11971\nf 12238//12238 11960//11960 12343//12343\nf 11980//11980 12343//12343 11973//11973\nf 11962//11962 12239//12239 11973//11973\nf 12245//12245 11648//11648 11969//11969\nf 12242//12242 11966//11966 12344//12344\nf 12344//12344 11966//11966 11963//11963\nf 11979//11979 12426//12426 11970//11970\nf 12238//12238 12343//12343 11980//11980\nf 11980//11980 11973//11973 12343//12343\nf 11967//11967 12428//12428 11978//11978\nf 11980//11980 12343//12343 11973//11973\nf 11975//11975 12244//12244 12243//12243\nf 12246//12246 12346//12346 12240//12240\nf 12238//12238 12246//12246 12240//12240\nf 12238//12238 11980//11980 12246//12246\nf 12251//12251 12245//12245 12431//12431\nf 11986//11986 11235//11235 12435//12435\nf 11991//11991 11246//11246 11975//11975\nf 11974//11974 11985//11985 12252//12252\nf 11972//11972 12248//12248 12250//12250\nf 11990//11990 12347//12347 12246//12246\nf 11979//11979 11989//11989 11995//11995\nf 12248//12248 11972//11972 12250//12250\nf 12248//12248 12251//12251 12250//12250\nf 12249//12249 12247//12247 12348//12348\nf 11256//11256 11992//11992 12256//12256\nf 11992//11992 12008//12008 12256//12256\nf 11992//11992 12250//12250 12008//12008\nf 11999//11999 11257//11257 12003//12003\nf 11615//11615 12255//12255 12258//12258\nf 11256//11256 12256//12256 12019//12019\nf 12019//12019 12008//12008 12020//12020\nf 12256//12256 12008//12008 12019//12019\nf 12018//12018 11270//11270 12257//12257\nf 12024//12024 11269//11269 11251//11251\nf 12017//12017 12024//12024 11251//11251\nf 12022//12022 11272//11272 11273//11273\nf 11273//11273 12023//12023 12261//12261\nf 12027//12027 11280//11280 12018//12018\nf 12779//12779 12022//12022 12261//12261\nf 12034//12034 12025//12025 11553//11553\nf 11553//11553 11472//11472 12034//12034\nf 12029//12029 12030//12030 12011//12011\nf 11294//11294 12038//12038 12043//12043\nf 12047//12047 11294//11294 12043//12043\nf 10832//10832 12062//12062 12268//12268\nf 10832//10832 10834//10834 12062//12062\nf 12351//12351 12064//12064 12051//12051\nf 12067//12067 11319//11319 12350//12350\nf 11319//11319 12059//12059 12350//12350\nf 12273//12273 12067//12067 12350//12350\nf 11560//11560 12273//12273 12071//12071\nf 12274//12274 11328//11328 12071//12071\nf 12275//12275 11329//11329 12352//12352\nf 12070//12070 11326//11326 11329//11329\nf 12069//12069 12064//12064 12073//12073\nf 12276//12276 12075//12075 12274//12274\nf 12276//12276 11561//11561 12075//12075\nf 11329//11329 12077//12077 12352//12352\nf 12080//12080 11656//11656 12079//12079\nf 11619//11619 12080//12080 12278//12278\nf 11324//11324 12076//12076 12353//12353\nf 12082//12082 11342//11342 12354//12354\nf 12455//12455 12083//12083 12086//12086\nf 12092//12092 10844//10844 12281//12281\nf 12289//12289 12093//12093 12102//12102\nf 12093//12093 12096//12096 12102//12102\nf 11475//11475 12104//12104 12285//12285\nf 12103//12103 11475//11475 12285//12285\nf 12288//12288 11476//11476 12105//12105\nf 12288//12288 12829//12829 12105//12105\nf 12830//12830 12287//12287 12284//12284\nf 11375//11375 12112//12112 12110//12110\nf 12293//12293 11659//11659 12295//12295\nf 12462//12462 12125//12125 12124//12124\nf 12130//12130 11395//11395 12125//12125\nf 12356//12356 12126//12126 12130//12130\nf 12294//12294 12357//12357 12358//12358\nf 12294//12294 12358//12358 12295//12295\nf 12359//12359 12132//12132 12127//12127\nf 12134//12134 12360//12360 12297//12297\nf 12361//12361 12297//12297 12360//12360\nf 12133//12133 12141//12141 12140//12140\nf 12469//12469 12305//12305 12144//12144\nf 12154//12154 11480//11480 12156//12156\nf 11480//11480 12159//12159 12156//12156\nf 11482//11482 12308//12308 12158//12158\nf 11581//11581 12307//12307 12308//12308\nf 11429//11429 12162//12162 12307//12307\nf 11674//11674 10862//10862 12480//12480\nf 12480//12480 12163//12163 12883//12883\nf 12309//12309 11484//11484 11668//11668\nf 12536//12536 12309//12309 11668//11668\nf 12165//12165 11582//11582 12366//12366\nf 12365//12365 11663//11663 11675//11675\nf 10852//10852 12367//12367 11671//11671\nf 12542//12542 12167//12167 11673//11673\nf 11684//11684 10876//10876 11689//11689\nf 10860//10860 12168//12168 11685//11685\nf 12558//12558 11689//11689 12484//12484\nf 11632//11632 10786//10786 12313//12313\nf 12313//12313 11700//11700 12370//12370\nf 13122//13122 12370//12370 12173//12173\nf 11705//11705 11706//11706 11701//11701\nf 12176//12176 11694//11694 12175//12175\nf 12486//12486 11694//11694 12176//12176\nf 11703//11703 12373//12373 11709//11709\nf 12174//12174 12372//12372 12374//12374\nf 12176//12176 12174//12174 12487//12487\nf 12375//12375 12174//12174 12374//12374\nf 11710//11710 11715//11715 12376//12376\nf 11717//11717 12376//12376 11715//11715\nf 12581//12581 12315//12315 11713//11713\nf 12583//12583 12582//12582 11717//11717\nf 11719//11719 11714//11714 11718//11718\nf 11725//11725 11439//11439 12315//12315\nf 11721//11721 11724//11724 11722//11722\nf 11721//11721 12316//12316 11724//11724\nf 12589//12589 12316//12316 12585//12585\nf 11441//11441 12317//12317 12379//12379\nf 11737//11737 11732//11732 11731//11731\nf 11735//11735 12378//12378 11729//11729\nf 10941//10941 12319//12319 11733//11733\nf 11734//11734 11739//11739 12380//12380\nf 10941//10941 12179//12179 12319//12319\nf 12319//12319 12179//12179 11744//11744\nf 11745//11745 12381//12381 11739//11739\nf 11747//11747 10945//10945 11749//11749\nf 11749//11749 11745//11745 11747//11747\nf 12382//12382 11755//11755 11752//11752\nf 11444//11444 11751//11751 12488//12488\nf 11757//11757 12382//12382 12619//12619\nf 12382//12382 11757//11757 11755//11755\nf 11767//11767 12184//12184 11763//11763\nf 11763//11763 12184//12184 12383//12383\nf 11761//11761 12628//12628 12384//12384\nf 11775//11775 11767//11767 11772//11772\nf 12184//12184 11767//11767 11775//11775\nf 10970//10970 11768//11768 12322//12322\nf 11446//11446 11770//11770 12324//12324\nf 11782//11782 11446//11446 12324//12324\nf 11782//11782 12324//12324 11785//11785\nf 12324//12324 11786//11786 11785//11785\nf 12323//12323 11777//11777 11787//11787\nf 12323//12323 11787//11787 12385//12385\nf 11784//11784 11780//11780 11789//11789\nf 12188//12188 11792//11792 12492//12492\nf 11791//11791 11795//11795 12386//12386\nf 11800//11800 10988//10988 11798//11798\nf 11802//11802 11801//11801 12387//12387\nf 11803//11803 12388//12388 11805//11805\nf 11803//11803 11805//11805 11804//11804\nf 11815//11815 12391//12391 12325//12325\nf 12390//12390 12192//12192 12194//12194\nf 12494//12494 12390//12390 12194//12194\nf 12194//12194 11823//11823 12327//12327\nf 12199//12199 11815//11815 12195//12195\nf 12396//12396 12393//12393 11821//11821\nf 11831//11831 12396//12396 11821//11821\nf 11832//11832 11824//11824 12328//12328\nf 11828//11828 11028//11028 11836//11836\nf 11831//11831 11834//11834 12398//12398\nf 12397//12397 11840//11840 12202//12202\nf 11837//11837 12399//12399 11842//11842\nf 11515//11515 11851//11851 11839//11839\nf 11846//11846 11844//11844 11852//11852\nf 11850//11850 12400//12400 11845//11845\nf 12210//12210 11843//11843 12681//12681\nf 11852//11852 11844//11844 12211//12211\nf 11457//11457 11856//11856 12208//12208\nf 12401//12401 12208//12208 11856//11856\nf 11095//11095 11864//11864 12215//12215\nf 11866//11866 11872//11872 11876//11876\nf 12213//12213 11870//11870 12404//12404\nf 12332//12332 11105//11105 12216//12216\nf 12333//12333 10810//10810 12217//12217\nf 12700//12700 12694//12694 11877//11877\nf 11876//11876 11882//11882 12407//12407\nf 12219//12219 11105//11105 12332//12332\nf 11885//11885 11875//11875 12406//12406\nf 12220//12220 11892//11892 12222//12222\nf 11893//11893 11121//11121 11903//11903\nf 12411//12411 11898//11898 11905//11905\nf 12411//12411 11905//11905 12335//12335\nf 12224//12224 11920//11920 12414//12414\nf 11920//11920 12224//12224 11918//11918\nf 12413//12413 11917//11917 11904//11904\nf 11907//11907 11915//11915 12415//12415\nf 11924//11924 11914//11914 11930//11930\nf 12337//12337 11921//11921 11530//11530\nf 11931//11931 11926//11926 12417//12417\nf 11172//11172 11930//11930 11938//11938\nf 11927//11927 11463//11463 11932//11932\nf 12987//12987 11935//11935 12730//12730\nf 12229//12229 11931//11931 12417//12417\nf 12988//12988 11936//11936 11947//11947\nf 11938//11938 12501//12501 11943//11943\nf 11940//11940 11938//11938 11943//11943\nf 11941//11941 11939//11939 12230//12230\nf 12230//12230 11945//11945 12420//12420\nf 12340//12340 11946//11946 12231//12231\nf 12231//12231 11942//11942 12421//12421\nf 12419//12419 11948//11948 11951//11951\nf 11945//11945 11603//11603 12420//12420\nf 11535//11535 11946//11946 12341//12341\nf 11946//11946 12340//12340 12341//12341\nf 12231//12231 12421//12421 12340//12340\nf 12502//12502 11947//11947 12233//12233\nf 12502//12502 11541//11541 12423//12423\nf 11954//11954 11956//11956 12234//12234\nf 11959//11959 12235//12235 12424//12424\nf 12504//12504 11957//11957 11968//11968\nf 12344//12344 11963//11963 12429//12429\nf 12431//12431 12242//12242 12432//12432\nf 12431//12431 12241//12241 12242//12242\nf 12433//12433 12344//12344 12429//12429\nf 12427//12427 12430//12430 12345//12345\nf 12432//12432 12242//12242 12344//12344\nf 12431//12431 12245//12245 12241//12241\nf 11977//11977 11228//11228 11983//11983\nf 11228//11228 11986//11986 11983//11983\nf 13017//13017 11983//11983 13018//13018\nf 12752//12752 11986//11986 12435//12435\nf 12251//12251 12431//12431 12436//12436\nf 12348//12348 12247//12247 12434//12434\nf 11987//11987 11237//11237 12253//12253\nf 12254//12254 11245//11245 11993//11993\nf 12253//12253 11245//11245 12254//12254\nf 11996//11996 12751//12751 13019//13019\nf 12255//12255 12348//12348 12437//12437\nf 12438//12438 12000//12000 11988//11988\nf 12257//12257 12002//12002 12513//12513\nf 12255//12255 12249//12249 12348//12348\nf 12440//12440 12006//12006 11262//11262\nf 12255//12255 11615//11615 11998//11998\nf 12440//12440 11262//11262 11553//11553\nf 12018//12018 12257//12257 12517//12517\nf 12515//12515 12441//12441 12009//12009\nf 12259//12259 12255//12255 12519//12519\nf 11553//11553 12025//12025 12440//12440\nf 12441//12441 12021//12021 12009//12009\nf 12022//12022 11273//11273 12261//12261\nf 12021//12021 12441//12441 12035//12035\nf 12031//12031 12442//12442 12028//12028\nf 11650//11650 12030//12030 10830//10830\nf 12782//12782 12033//12033 12027//12027\nf 12264//12264 12034//12034 12263//12263\nf 12262//12262 12015//12015 12349//12349\nf 12037//12037 12442//12442 12031//12031\nf 12266//12266 12060//12060 12264//12264\nf 11296//11296 12444//12444 12045//12045\nf 12444//12444 12046//12046 12045//12045\nf 12265//12265 12443//12443 12059//12059\nf 12262//12262 12349//12349 12446//12446\nf 12267//12267 12262//12262 12446//12446\nf 12051//12051 11301//11301 12046//12046\nf 12040//12040 12050//12050 12061//12061\nf 12447//12447 12054//12054 12035//12035\nf 12267//12267 12446//12446 12270//12270\nf 12524//12524 12268//12268 12072//12072\nf 12062//12062 12072//12072 12268//12268\nf 12273//12273 12350//12350 12448//12448\nf 12448//12448 12523//12523 12273//12273\nf 12523//12523 12071//12071 12273//12273\nf 12054//12054 12447//12447 12068//12068\nf 12065//12065 12070//12070 12269//12269\nf 12450//12450 12276//12276 12449//12449\nf 12449//12449 12276//12276 12274//12274\nf 12452//12452 12453//12453 12270//12270\nf 12270//12270 12453//12453 12271//12271\nf 12352//12352 12277//12277 12451//12451\nf 12352//12352 12077//12077 12277//12277\nf 12079//12079 11562//11562 12078//12078\nf 12080//12080 12079//12079 12454//12454\nf 11330//11330 11324//11324 12353//12353\nf 11342//11342 11330//11330 12353//12353\nf 12456//12456 12086//12086 12087//12087\nf 12457//12457 12091//12091 12093//12093\nf 12101//12101 11570//11570 11566//11566\nf 12458//12458 12283//12283 11567//11567\nf 12458//12458 11567//11567 12282//12282\nf 12286//12286 11623//11623 12106//12106\nf 12104//12104 11476//11476 12288//12288\nf 12460//12460 12108//12108 12110//12110\nf 12460//12460 12289//12289 12108//12108\nf 12099//12099 12459//12459 12107//12107\nf 12290//12290 12109//12109 12107//12107\nf 12291//12291 12836//12836 12834//12834\nf 12115//12115 12114//12114 12111//12111\nf 12120//12120 12461//12461 12118//12118\nf 12462//12462 12130//12130 12125//12125\nf 12126//12126 12356//12356 12463//12463\nf 12126//12126 12463//12463 12123//12123\nf 12123//12123 12357//12357 12294//12294\nf 12127//12127 12122//12122 12464//12464\nf 12464//12464 12359//12359 12127//12127\nf 12133//12133 12120//12120 12128//12128\nf 12133//12133 12465//12465 12120//12120\nf 12357//12357 12123//12123 12463//12463\nf 12136//12136 12466//12466 12467//12467\nf 12296//12296 12468//12468 12134//12134\nf 12468//12468 12360//12360 12134//12134\nf 12137//12137 12136//12136 12467//12467\nf 12465//12465 12137//12137 12467//12467\nf 12140//12140 12137//12137 12465//12465\nf 12140//12140 12465//12465 12133//12133\nf 12854//12854 12300//12300 13095//13095\nf 12469//12469 12144//12144 12306//12306\nf 11480//11480 12156//12156 12159//12159\nf 12155//12155 11423//11423 12153//12153\nf 12158//12158 12472//12472 12156//12156\nf 12148//12148 12470//12470 12306//12306\nf 12473//12473 12306//12306 12362//12362\nf 12472//12472 12308//12308 12866//12866\nf 12362//12362 12306//12306 12470//12470\nf 12160//12160 11425//11425 12157//12157\nf 11430//11430 11481//11481 12161//12161\nf 12474//12474 11430//11430 12161//12161\nf 12162//12162 11430//11430 12474//12474\nf 12476//12476 12364//12364 12363//12363\nf 12478//12478 12364//12364 12476//12476\nf 12479//12479 12364//12364 12478//12478\nf 12533//12533 11664//11664 11665//11665\nf 12533//12533 11665//11665 12534//12534\nf 12885//12885 12366//12366 12166//12166\nf 10852//10852 11664//11664 12367//12367\nf 12368//12368 12310//12310 10884//10884\nf 12369//12369 11583//11583 11672//11672\nf 12542//12542 11673//11673 12549//12549\nf 11682//11682 10885//10885 11677//11677\nf 12166//12166 10870//10870 11679//11679\nf 13223//13223 12889//12889 12367//12367\nf 11683//11683 11669//11669 12551//12551\nf 12565//12565 11692//11692 11680//11680\nf 11684//11684 11689//11689 12558//12558\nf 12482//12482 12175//12175 11695//11695\nf 12483//12483 11685//11685 12168//12168\nf 12169//12169 11685//11685 12483//12483\nf 12564//12564 11673//11673 11696//11696\nf 12313//12313 12370//12370 13122//13122\nf 11703//11703 11702//11702 11692//11692\nf 12485//12485 11699//11699 11633//11633\nf 12371//12371 11707//11707 12570//12570\nf 12571//12571 12486//12486 12176//12176\nf 11708//11708 11712//11712 11707//11707\nf 12174//12174 12375//12375 12487//12487\nf 12576//12576 12375//12375 12374//12374\nf 11714//11714 11719//11719 12584//12584\nf 12377//12377 11723//11723 11726//11726\nf 11731//11731 12593//12593 11732//11732\nf 11731//11731 11732//11732 11737//11737\nf 11735//11735 11740//11740 12378//12378\nf 11741//11741 11738//11738 11737//11737\nf 11758//11758 11756//11756 12488//12488\nf 11757//11757 12621//12621 11762//11762\nf 11769//11769 11760//11760 11765//11765\nf 12489//12489 12183//12183 12320//12320\nf 12627//12627 11766//11766 11764//11764\nf 11768//11768 11761//11761 12384//12384\nf 11768//11768 12384//12384 12322//12322\nf 12490//12490 11771//11771 11776//11776\nf 11780//11780 12322//12322 12633//12633\nf 11789//11789 11780//11780 12491//12491\nf 11792//11792 11789//11789 12492//12492\nf 11798//11798 11790//11790 12639//12639\nf 12493//12493 11796//11796 12638//12638\nf 11810//11810 11796//11796 12493//12493\nf 12645//12645 11801//11801 12325//12325\nf 11810//11810 12392//12392 12191//12191\nf 12392//12392 12647//12647 12935//12935\nf 11825//11825 12193//12193 11826//11826\nf 12199//12199 12495//12495 11815//11815\nf 11813//11813 12652//12652 12196//12196\nf 12395//12395 12190//12190 11820//11820\nf 11822//11822 12392//12392 11824//11824\nf 11452//11452 11811//11811 12394//12394\nf 12497//12497 11826//11826 12397//12397\nf 12664//12664 12940//12940 12200//12200\nf 12395//12395 11828//11828 12662//12662\nf 12204//12204 12328//12328 11832//11832\nf 12667//12667 11835//11835 11830//11830\nf 12670//12670 11837//11837 11829//11829\nf 11840//11840 12498//12498 12206//12206\nf 12674//12674 11838//11838 12676//12676\nf 12680//12680 11848//11848 11841//11841\nf 12399//12399 12675//12675 11842//11842\nf 11850//11850 11857//11857 12400//12400\nf 12685//12685 12208//12208 12401//12401\nf 11857//11857 12402//12402 12400//12400\nf 12212//12212 11860//11860 12686//12686\nf 12687//12687 11865//11865 11859//11859\nf 11858//11858 11078//11078 12214//12214\nf 11874//11874 12403//12403 11878//11878\nf 11875//11875 11865//11865 12405//12405\nf 12699//12699 12967//12967 12404//12404\nf 11884//11884 11878//11878 12697//12697\nf 11873//11873 11879//11879 12408//12408\nf 12407//12407 11882//11882 11887//11887\nf 11883//11883 11888//11888 12221//12221\nf 11887//11887 11891//11891 11898//11898\nf 12500//12500 11904//11904 11897//11897\nf 11903//11903 12224//12224 12717//12717\nf 11902//11902 12715//12715 12412//12412\nf 11907//11907 12334//12334 11899//11899\nf 12226//12226 11916//11916 12223//12223\nf 12720//12720 12224//12224 12414//12414\nf 12336//12336 11602//11602 11910//11910\nf 11926//11926 11602//11602 12336//12336\nf 11530//11530 12228//12228 12337//12337\nf 11935//11935 12339//12339 12730//12730\nf 12338//12338 11948//11948 12419//12419\nf 12735//12735 11941//11941 12230//12230\nf 12735//12735 12230//12230 12422//12422\nf 12422//12422 12230//12230 12420//12420\nf 12341//12341 12340//12340 12231//12231\nf 11947//11947 11539//11539 12233//12233\nf 12341//12341 12231//12231 12340//12340\nf 12738//12738 11953//11953 12733//12733\nf 12234//12234 11957//11957 12503//12503\nf 11957//11957 12504//12504 12503//12503\nf 12243//12243 11959//11959 12506//12506\nf 12237//12237 11970//11970 12505//12505\nf 11967//11967 11958//11958 12425//12425\nf 12505//12505 11970//11970 12426//12426\nf 11984//11984 11978//11978 12428//12428\nf 11979//11979 12508//12508 12426//12426\nf 12429//12429 11963//11963 12240//12240\nf 12429//12429 12240//12240 12346//12346\nf 12432//12432 12344//12344 12433//12433\nf 11995//11995 13015//13015 12508//12508\nf 12508//12508 11979//11979 11995//11995\nf 12436//12436 12431//12431 12432//12432\nf 12435//12435 11235//11235 11987//11987\nf 12751//12751 11996//11996 11975//11975\nf 11991//11991 11975//11975 11996//11996\nf 12436//12436 12432//12432 12512//12512\nf 12510//12510 12345//12345 12509//12509\nf 12345//12345 12430//12430 12509//12509\nf 12512//12512 12432//12432 12511//12511\nf 12432//12432 12433//12433 12511//12511\nf 12513//12513 12002//12002 11996//11996\nf 12006//12006 12440//12440 12514//12514\nf 11995//11995 12006//12006 12514//12514\nf 12009//12009 12251//12251 12436//12436\nf 11990//11990 12001//12001 12439//12439\nf 12003//12003 12004//12004 12769//12769\nf 12009//12009 12436//12436 12515//12515\nf 12517//12517 12257//12257 13032//13032\nf 12441//12441 12515//12515 12518//12518\nf 12255//12255 12437//12437 12519//12519\nf 12515//12515 12516//12516 12518//12518\nf 12035//12035 12441//12441 12518//12518\nf 12520//12520 12518//12518 12037//12037\nf 12015//12015 12259//12259 12521//12521\nf 12349//12349 12015//12015 12521//12521\nf 12033//12033 12782//12782 12039//12039\nf 12034//12034 12264//12264 12784//12784\nf 12035//12035 12518//12518 12520//12520\nf 12060//12060 12445//12445 12264//12264\nf 11296//11296 12042//12042 12444//12444\nf 12061//12061 12522//12522 12040//12040\nf 12035//12035 12520//12520 12447//12447\nf 12447//12447 12520//12520 12037//12037\nf 12447//12447 12037//12037 12055//12055\nf 12057//12057 12799//12799 12801//12801\nf 12057//12057 12056//12056 12799//12799\nf 12070//12070 12802//12802 12269//12269\nf 12804//12804 12268//12268 12524//12524\nf 13049//13049 12269//12269 12805//12805\nf 12068//12068 12055//12055 12066//12066\nf 12447//12447 12055//12055 12068//12068\nf 12272//12272 12271//12271 12525//12525\nf 12450//12450 12449//12449 13054//13054\nf 12078//12078 12276//12276 12450//12450\nf 12277//12277 12278//12278 12451//12451\nf 12524//12524 12074//12074 12081//12081\nf 12524//12524 12072//12072 12074//12074\nf 12456//12456 12087//12087 12823//12823\nf 12088//12088 13064//13064 13065//13065\nf 12826//12826 12824//12824 12460//12460\nf 12457//12457 12093//12093 12289//12289\nf 12457//12457 12289//12289 12460//12460\nf 12100//12100 12526//12526 12092//12092\nf 12281//12281 12100//12100 12092//12092\nf 12106//12106 11570//11570 12101//12101\nf 12101//12101 11566//11566 12283//12283\nf 12829//12829 12288//12288 12105//12105\nf 12121//12121 12117//12117 12115//12115\nf 12461//12461 12116//12116 12118//12118\nf 12461//12461 12120//12120 12116//12116\nf 12293//12293 12527//12527 12122//12122\nf 12462//12462 12124//12124 12298//12298\nf 12527//12527 12293//12293 12295//12295\nf 12295//12295 12358//12358 12527//12527\nf 12844//12844 12359//12359 12464//12464\nf 12463//12463 12356//12356 12528//12528\nf 12463//12463 12529//12529 12357//12357\nf 12358//12358 12357//12357 12529//12529\nf 12528//12528 12529//12529 12463//12463\nf 13090//13090 12852//12852 12468//12468\nf 12852//12852 12360//12360 12468//12468\nf 11418//11418 12152//12152 12153//12153\nf 12152//12152 12861//12861 12153//12153\nf 12469//12469 12306//12306 12473//12473\nf 12866//12866 12308//12308 12307//12307\nf 12160//12160 12157//12157 12870//12870\nf 12161//12161 12874//12874 12474//12474\nf 12477//12477 12478//12478 12476//12476\nf 12477//12477 12475//12475 12530//12530\nf 12475//12475 12473//12473 12530//12530\nf 12479//12479 12478//12478 12531//12531\nf 12534//12534 11665//11665 11666//11666\nf 12310//12310 12368//12368 12535//12535\nf 12539//12539 11663//11663 12540//12540\nf 11663//11663 12365//12365 12540//12540\nf 11665//11665 11664//11664 12533//12533\nf 12536//12536 11668//11668 12545//12545\nf 11669//11669 12311//12311 12884//12884\nf 12165//12165 12366//12366 12885//12885\nf 12538//12538 11670//11670 11661//11661\nf 12365//12365 11675//11675 12540//12540\nf 12888//12888 11672//11672 12481//12481\nf 12481//12481 12167//12167 12542//12542\nf 13116//13116 12481//12481 12542//12542\nf 12543//12543 11677//11677 11674//11674\nf 12548//12548 12553//12553 12312//12312\nf 11682//11682 11677//11677 12543//12543\nf 11681//11681 12552//12552 11686//11686\nf 12552//12552 11681//11681 11676//11676\nf 12556//12556 11682//11682 12550//12550\nf 12557//12557 11683//11683 12551//12551\nf 12889//12889 12168//12168 11671//11671\nf 11675//11675 11684//11684 12890//12890\nf 12555//12555 12559//12559 12175//12175\nf 12482//12482 12555//12555 12175//12175\nf 12563//12563 12168//12168 12560//12560\nf 12563//12563 12483//12483 12168//12168\nf 11697//11697 12170//12170 12556//12556\nf 13228//13228 11687//11687 12891//12891\nf 12562//12562 12484//12484 11693//11693\nf 12891//12891 12171//12171 12172//12172\nf 11632//11632 12566//12566 11633//11633\nf 12563//12563 12169//12169 12483//12483\nf 11694//11694 12562//12562 11693//11693\nf 12567//12567 11691//11691 12570//12570\nf 12571//12571 11694//11694 12486//12486\nf 12573//12573 11711//11711 11705//11705\nf 12174//12174 12374//12374 12372//12372\nf 12574//12574 11704//11704 11710//11710\nf 12572//12572 11707//11707 11712//11712\nf 11708//11708 11712//11712 12572//12572\nf 12899//12899 12487//12487 12375//12375\nf 11711//11711 12573//12573 11713//11713\nf 11710//11710 12376//12376 12574//12574\nf 12900//12900 11713//11713 12575//12575\nf 12580//12580 12374//12374 12577//12577\nf 12579//12579 11716//11716 11709//11709\nf 12580//12580 12576//12576 12374//12374\nf 11716//11716 12904//12904 11721//11721\nf 12583//12583 11717//11717 11723//11723\nf 11721//11721 12585//12585 12316//12316\nf 12377//12377 12586//12586 11723//11723\nf 11726//11726 11729//11729 12377//12377\nf 12587//12587 12588//12588 11728//11728\nf 12587//12587 11728//11728 11725//11725\nf 12589//12589 12317//12317 12316//12316\nf 11634//11634 12592//12592 11731//11731\nf 11634//11634 12318//12318 12592//12592\nf 12590//12590 11736//11736 11728//11728\nf 12378//12378 11740//11740 12599//12599\nf 12595//12595 12318//12318 12380//12380\nf 12599//12599 12596//12596 12378//12378\nf 11737//11737 12597//12597 11741//11741\nf 12601//12601 12599//12599 11740//11740\nf 11734//11734 12380//12380 12600//12600\nf 11734//11734 12600//12600 12380//12380\nf 12600//12600 12380//12380 11739//11739\nf 12604//12604 11741//11741 12603//12603\nf 11739//11739 12381//12381 12608//12608\nf 12180//12180 12606//12606 11746//11746\nf 11744//11744 12607//12607 12598//12598\nf 12319//12319 11744//11744 12598//12598\nf 12181//12181 12178//12178 12602//12602\nf 12608//12608 12381//12381 11745//11745\nf 11751//11751 12181//12181 12611//12611\nf 12612//12612 11752//11752 12610//12610\nf 11746//11746 12610//12610 11752//11752\nf 12382//12382 11752//11752 12614//12614\nf 12488//12488 11751//11751 12613//12613\nf 12615//12615 11749//11749 11754//11754\nf 12617//12617 12615//12615 11754//11754\nf 11758//11758 12488//12488 12616//12616\nf 12618//12618 11753//11753 12182//12182\nf 11759//11759 12617//12617 11754//11754\nf 12182//12182 11760//11760 12622//12622\nf 11764//11764 11762//11762 12621//12621\nf 12623//12623 11759//11759 11763//11763\nf 12913//12913 11758//11758 12911//12911\nf 11760//11760 11769//11769 12622//12622\nf 12183//12183 12489//12489 12625//12625\nf 12184//12184 12625//12625 12383//12383\nf 12183//12183 12625//12625 12184//12184\nf 12320//12320 12321//12321 12917//12917\nf 12629//12629 12322//12322 12384//12384\nf 12634//12634 12630//12630 11771//11771\nf 12324//12324 11770//11770 12632//12632\nf 12490//12490 12634//12634 11771//11771\nf 12631//12631 12633//12633 12322//12322\nf 12636//12636 12635//12635 11776//11776\nf 12919//12919 11789//11789 12491//12491\nf 12918//12918 12920//12920 11786//11786\nf 11776//11776 11783//11783 12636//12636\nf 11789//11789 12919//12919 13140//13140\nf 12385//12385 11787//11787 12187//12187\nf 12638//12638 11796//11796 12188//12188\nf 12641//12641 11791//11791 12386//12386\nf 12187//12187 11797//11797 12640//12640\nf 12925//12925 12640//12640 11797//11797\nf 12650//12650 11800//11800 12642//12642\nf 12388//12388 11803//11803 12643//12643\nf 12644//12644 12388//12388 12643//12643\nf 11797//11797 12326//12326 12925//12925\nf 11800//11800 11798//11798 12642//12642\nf 12325//12325 12391//12391 12648//12648\nf 12193//12193 12389//12389 12651//12651\nf 12193//12193 11819//11819 12389//12389\nf 12189//12189 11813//11813 12652//12652\nf 11813//11813 12189//12189 12652//12652\nf 12392//12392 11810//11810 12647//12647\nf 11800//11800 12650//12650 12656//12656\nf 12391//12391 11815//11815 12648//12648\nf 12932//12932 12326//12326 12654//12654\nf 12653//12653 12326//12326 11812//11812\nf 12653//12653 12654//12654 11812//11812\nf 12657//12657 12193//12193 12655//12655\nf 12194//12194 12327//12327 12496//12496\nf 12657//12657 11826//11826 12193//12193\nf 11811//11811 12658//12658 12394//12394\nf 12658//12658 12198//12198 12394//12394\nf 12197//12197 12196//12196 12659//12659\nf 12497//12497 11510//11510 11826//11826\nf 12662//12662 12944//12944 12395//12395\nf 11824//11824 12660//12660 12328//12328\nf 12393//12393 12396//12396 12663//12663\nf 12661//12661 12397//12397 11826//11826\nf 12198//12198 12665//12665 11829//11829\nf 12204//12204 11832//11832 12328//12328\nf 12667//12667 11830//11830 12945//12945\nf 12498//12498 12666//12666 12668//12668\nf 12498//12498 11840//11840 12499//12499\nf 12397//12397 12499//12499 11840//11840\nf 12664//12664 12200//12200 12669//12669\nf 12200//12200 11838//11838 12669//12669\nf 12667//12667 12671//12671 11835//11835\nf 12668//12668 12206//12206 12498//12498\nf 11828//11828 11836//11836 12672//12672\nf 11836//11836 12673//12673 12672//12672\nf 12674//12674 12669//12669 11838//11838\nf 12668//12668 11844//11844 12206//12206\nf 11837//11837 12675//12675 12399//12399\nf 12671//12671 11841//11841 11835//11835\nf 11848//11848 11841//11841 12671//12671\nf 12681//12681 11843//11843 12677//12677\nf 12678//12678 11834//11834 12329//12329\nf 12676//12676 11838//11838 11847//11847\nf 12680//12680 11841//11841 11848//11848\nf 12210//12210 12209//12209 11843//11843\nf 12682//12682 11854//11854 11842//11842\nf 11849//11849 11848//11848 12680//12680\nf 12329//12329 11839//11839 12683//12683\nf 12950//12950 11845//11845 12400//12400\nf 11839//11839 11851//11851 12683//12683\nf 11860//11860 11849//11849 12684//12684\nf 12957//12957 11851//11851 12330//12330\nf 12331//12331 11862//11862 12211//12211\nf 11854//11854 12687//12687 11859//11859\nf 11868//11868 11861//11861 12688//12688\nf 12330//12330 12213//12213 12959//12959\nf 12213//12213 12330//12330 11863//11863\nf 12212//12212 12686//12686 11867//11867\nf 12690//12690 12402//12402 11857//11857\nf 12690//12690 11857//11857 11871//11871\nf 12691//12691 11865//11865 12687//12687\nf 12692//12692 12214//12214 12694//12694\nf 12693//12693 12405//12405 12691//12691\nf 12405//12405 11865//11865 12691//12691\nf 11877//11877 12694//12694 12214//12214\nf 12213//12213 12404//12404 12962//12962\nf 11878//11878 12403//12403 12697//12697\nf 12216//12216 12696//12696 12332//12332\nf 11880//11880 12699//12699 12218//12218\nf 11875//11875 12963//12963 12406//12406\nf 12698//12698 11873//11873 12408//12408\nf 12700//12700 11877//11877 11881//11881\nf 13161//13161 12700//12700 11881//11881\nf 12966//12966 12408//12408 11883//11883\nf 12219//12219 12968//12968 11894//11894\nf 12703//12703 11895//11895 12333//12333\nf 11889//11889 11884//11884 12409//12409\nf 11890//11890 12705//12705 11896//11896\nf 12221//12221 12334//12334 12706//12706\nf 12972//12972 11893//11893 11903//11903\nf 12220//12220 12222//12222 12710//12710\nf 12714//12714 11900//11900 12713//12713\nf 12973//12973 12715//12715 11902//11902\nf 12500//12500 11897//11897 12709//12709\nf 12500//12500 12718//12718 11904//11904\nf 12711//12711 11898//11898 12411//12411\nf 12716//12716 12334//12334 11907//11907\nf 12714//12714 12223//12223 11900//11900\nf 12226//12226 12223//12223 12721//12721\nf 11908//11908 12225//12225 12722//12722\nf 11920//11920 12226//12226 12721//12721\nf 11907//11907 12415//12415 13168//13168\nf 11914//11914 12978//12978 12724//12724\nf 11930//11930 11914//11914 12724//12724\nf 12980//12980 12416//12416 12982//12982\nf 12726//12726 11921//11921 12337//12337\nf 12985//12985 11926//11926 12983//12983\nf 12727//12727 11934//11934 11928//11928\nf 12337//12337 12987//12987 12726//12726\nf 12337//12337 12228//12228 12987//12987\nf 11934//11934 12728//12728 12418//12418\nf 12728//12728 11937//11937 12418//12418\nf 12992//12992 12988//12988 11947//11947\nf 12731//12731 11937//11937 12728//12728\nf 12729//12729 12338//12338 12990//12990\nf 12732//12732 11944//11944 11937//11937\nf 12339//12339 11941//11941 13174//13174\nf 11944//11944 12732//12732 12733//12733\nf 11950//11950 11944//11944 12733//12733\nf 12736//12736 12421//12421 11942//11942\nf 12736//12736 11942//11942 12229//12229\nf 12992//12992 11947//11947 12502//12502\nf 12338//12338 12419//12419 12734//12734\nf 11952//11952 11949//11949 11943//11943\nf 12998//12998 12735//12735 12422//12422\nf 12999//12999 12341//12341 12340//12340\nf 11953//11953 11950//11950 12733//12733\nf 12235//12235 11952//11952 12424//12424\nf 11959//11959 12424//12424 12740//12740\nf 11958//11958 11955//11955 12739//12739\nf 12505//12505 12741//12741 12237//12237\nf 11958//11958 13006//13006 12425//12425\nf 13007//13007 12506//12506 11959//11959\nf 12505//12505 12426//12426 12742//12742\nf 13008//13008 12743//12743 12243//12243\nf 12745//12745 12430//12430 12427//12427\nf 12744//12744 12430//12430 12745//12745\nf 12743//12743 13010//13010 12243//12243\nf 12430//12430 12744//12744 12746//12746\nf 12345//12345 12434//12434 12747//12747\nf 11975//11975 12243//12243 13010//13010\nf 12507//12507 12430//12430 12746//12746\nf 11982//11982 11976//11976 12750//12750\nf 13024//13024 12252//12252 12005//12005\nf 13022//13022 11974//11974 12252//12252\nf 12507//12507 12509//12509 12430//12430\nf 12753//12753 12509//12509 12507//12507\nf 12434//12434 12345//12345 12510//12510\nf 12435//12435 11987//11987 12756//12756\nf 12748//12748 11974//11974 13022//13022\nf 12511//12511 12433//12433 12754//12754\nf 12754//12754 12346//12346 12755//12755\nf 12246//12246 12755//12755 12346//12346\nf 12246//12246 12347//12347 12755//12755\nf 12348//12348 12434//12434 12510//12510\nf 11987//11987 12253//12253 12756//12756\nf 12433//12433 12429//12429 12754//12754\nf 12754//12754 12429//12429 12346//12346\nf 11988//11988 12749//12749 13021//13021\nf 12436//12436 12512//12512 12516//12516\nf 12760//12760 12254//12254 11993//11993\nf 12513//12513 11996//11996 12758//12758\nf 12762//12762 12347//12347 11990//11990\nf 13024//13024 13022//13022 12252//12252\nf 12764//12764 12510//12510 13027//13027\nf 12348//12348 12764//12764 12437//12437\nf 12348//12348 12510//12510 12764//12764\nf 11999//11999 12763//12763 11993//11993\nf 11988//11988 12761//12761 12438//12438\nf 12515//12515 12436//12436 12516//12516\nf 12516//12516 12512//12512 12511//12511\nf 12516//12516 12511//12511 12765//12765\nf 12439//12439 12766//12766 11990//11990\nf 12765//12765 12754//12754 13030//13030\nf 12766//12766 12439//12439 12001//12001\nf 12768//12768 12767//12767 11999//11999\nf 12001//12001 12439//12439 12766//12766\nf 12518//12518 12765//12765 12442//12442\nf 12439//12439 12001//12001 12770//12770\nf 12770//12770 12001//12001 12774//12774\nf 12772//12772 12771//12771 12000//12000\nf 12772//12772 12000//12000 12438//12438\nf 12011//12011 12005//12005 12007//12007\nf 12025//12025 12773//12773 12440//12440\nf 12518//12518 12516//12516 12765//12765\nf 12001//12001 12014//12014 12774//12774\nf 12776//12776 12010//12010 12016//12016\nf 12775//12775 12010//12010 12776//12776\nf 12025//12025 12034//12034 12773//12773\nf 12028//12028 12442//12442 12765//12765\nf 12771//12771 12017//12017 12000//12000\nf 12779//12779 12016//12016 12022//12022\nf 12027//12027 12018//12018 12778//12778\nf 12014//12014 12026//12026 12774//12774\nf 12780//12780 12023//12023 12024//12024\nf 12782//12782 12027//12027 12778//12778\nf 12518//12518 12442//12442 12037//12037\nf 12783//12783 12777//12777 12011//12011\nf 12785//12785 12036//12036 12028//12028\nf 12786//12786 12774//12774 12026//12026\nf 12782//12782 12039//12039 13039//13039\nf 12039//12039 12782//12782 13039//13039\nf 12032//12032 12786//12786 12026//12026\nf 12265//12265 12039//12039 12782//12782\nf 12036//12036 12787//12787 12038//12038\nf 12264//12264 12445//12445 12784//12784\nf 12038//12038 12788//12788 12043//12043\nf 12030//12030 11650//11650 12790//12790\nf 11650//11650 12791//12791 12790//12790\nf 12791//12791 11650//11650 11651//11651\nf 12784//12784 12445//12445 13041//13041\nf 12522//12522 12041//12041 12040//12040\nf 12522//12522 13045//13045 12041//12041\nf 12060//12060 12793//12793 12445//12445\nf 12047//12047 12043//12043 12788//12788\nf 12044//12044 12444//12444 12042//12042\nf 12044//12044 12792//12792 12444//12444\nf 11651//11651 12052//12052 12794//12794\nf 12443//12443 12795//12795 12059//12059\nf 12060//12060 12063//12063 12793//12793\nf 12798//12798 12522//12522 12061//12061\nf 12795//12795 12350//12350 12059//12059\nf 12049//12049 12799//12799 12056//12056\nf 12057//12057 12789//12789 12032//12032\nf 12523//12523 12448//12448 12800//12800\nf 12351//12351 12051//12051 12803//12803\nf 13050//13050 12351//12351 12803//12803\nf 12802//12802 12070//12070 12805//12805\nf 12061//12061 12050//12050 12271//12271\nf 12272//12272 12061//12061 12271//12271\nf 12804//12804 12053//12053 12268//12268\nf 12071//12071 12523//12523 13052//13052\nf 12807//12807 12525//12525 12271//12271\nf 12807//12807 12271//12271 12525//12525\nf 12351//12351 12808//12808 12064//12064\nf 12810//12810 12064//12064 12808//12808\nf 12079//12079 12078//12078 12450//12450\nf 12079//12079 12450//12450 12811//12811\nf 12080//12080 12813//12813 12809//12809\nf 12451//12451 12278//12278 12809//12809\nf 12453//12453 12807//12807 12271//12271\nf 13058//13058 12073//12073 13057//13057\nf 12804//12804 12524//12524 12081//12081\nf 12454//12454 12079//12079 12811//12811\nf 12080//12080 12454//12454 12813//12813\nf 12815//12815 12076//12076 12814//12814\nf 12815//12815 12353//12353 12076//12076\nf 13059//13059 12804//12804 12816//12816\nf 12354//12354 11342//11342 12353//12353\nf 12817//12817 12354//12354 12353//12353\nf 12816//12816 12083//12083 12455//12455\nf 12083//12083 12816//12816 12081//12081\nf 12082//12082 12354//12354 13061//13061\nf 12279//12279 12818//12818 12355//12355\nf 13062//13062 12084//12084 12355//12355\nf 13062//13062 12085//12085 12084//12084\nf 12280//12280 12819//12819 12088//12088\nf 12820//12820 12086//12086 12456//12456\nf 12821//12821 12820//12820 12456//12456\nf 12089//12089 11657//11657 12822//12822\nf 12457//12457 12823//12823 12091//12091\nf 12094//12094 12089//12089 13066//13066\nf 13210//13210 12098//12098 12095//12095\nf 12824//12824 12457//12457 12460//12460\nf 12825//12825 12099//12099 12097//12097\nf 12825//12825 12097//12097 12094//12094\nf 12100//12100 12092//12092 12526//12526\nf 12099//12099 12827//12827 12459//12459\nf 12100//12100 12526//12526 12092//12092\nf 13074//13074 12105//12105 12286//12286\nf 12460//12460 12110//12110 12112//12112\nf 12830//12830 12100//12100 12287//12287\nf 12103//12103 13078//13078 12831//12831\nf 13078//13078 12103//12103 12285//12285\nf 12112//12112 12826//12826 12460//12460\nf 12832//12832 12290//12290 12107//12107\nf 12833//12833 12113//12113 12834//12834\nf 12112//12112 12113//12113 12833//12833\nf 12834//12834 12113//12113 12291//12291\nf 12111//12111 12290//12290 12838//12838\nf 12837//12837 12115//12115 12111//12111\nf 12461//12461 12116//12116 12120//12120\nf 12296//12296 12121//12121 12839//12839\nf 12296//12296 12839//12839 12840//12840\nf 12842//12842 12130//12130 12841//12841\nf 12841//12841 12130//12130 12462//12462\nf 12467//12467 12461//12461 12465//12465\nf 12461//12461 12120//12120 12465//12465\nf 12298//12298 12843//12843 12462//12462\nf 12846//12846 12359//12359 12844//12844\nf 12359//12359 12845//12845 12132//12132\nf 12527//12527 12358//12358 13092//13092\nf 12135//12135 12132//12132 12845//12845\nf 12361//12361 12848//12848 12297//12297\nf 12848//12848 12298//12298 12297//12297\nf 12849//12849 12528//12528 12356//12356\nf 12847//12847 12139//12139 12851//12851\nf 12139//12139 12847//12847 12136//12136\nf 12847//12847 12466//12466 12136//12136\nf 12358//12358 12529//12529 12850//12850\nf 12135//12135 12853//12853 12142//12142\nf 12854//12854 12301//12301 12300//12300\nf 12856//12856 12303//12303 12302//12302\nf 12857//12857 12528//12528 12849//12849\nf 12853//12853 12145//12145 12142//12142\nf 12303//12303 13102//13102 12304//12304\nf 12858//12858 12145//12145 12853//12853\nf 12146//12146 12145//12145 12858//12858\nf 12858//12858 13105//13105 12146//12146\nf 12860//12860 12305//12305 12469//12469\nf 12151//12151 12859//12859 12150//12150\nf 12861//12861 12152//12152 12146//12146\nf 12159//12159 12158//12158 12156//12156\nf 12475//12475 12469//12469 12473//12473\nf 12867//12867 12155//12155 12865//12865\nf 12472//12472 12158//12158 12308//12308\nf 12867//12867 12157//12157 12155//12155\nf 12149//12149 12869//12869 12148//12148\nf 12860//12860 12469//12469 12475//12475\nf 12476//12476 13109//13109 12475//12475\nf 12162//12162 12474//12474 12871//12871\nf 12148//12148 12869//12869 12470//12470\nf 13109//13109 12860//12860 12475//12475\nf 12470//12470 12872//12872 12362//12362\nf 12476//12476 12363//12363 12873//12873\nf 12475//12475 12477//12477 12476//12476\nf 12875//12875 12362//12362 12872//12872\nf 12873//12873 12363//12363 12364//12364\nf 12362//12362 12530//12530 12473//12473\nf 12875//12875 12530//12530 12362//12362\nf 12477//12477 12530//12530 12877//12877\nf 12878//12878 12531//12531 12478//12478\nf 12879//12879 12364//12364 12479//12479\nf 12477//12477 12878//12878 12478//12478\nf 12531//12531 12880//12880 12479//12479\nf 12880//12880 12531//12531 12479//12479\nf 12531//12531 12881//12881 12479//12479\nf 12881//12881 12882//12882 12479//12479\nf 12479//12479 12882//12882 12879//12879\nf 11661//11661 11662//11662 12532//12532\nf 11662//11662 11663//11663 12539//12539\nf 12532//12532 11662//11662 12539//12539\nf 12535//12535 11666//11666 12310//12310\nf 12536//12536 12164//12164 12309//12309\nf 11667//11667 12537//12537 12311//12311\nf 13115//13115 12537//12537 12165//12165\nf 11661//11661 12532//12532 12538//12538\nf 12541//12541 12480//12480 12883//12883\nf 12367//12367 11664//11664 11665//11665\nf 11686//11686 12547//12547 12535//12535\nf 12535//12535 12368//12368 11686//11686\nf 11676//11676 12312//12312 12553//12553\nf 12548//12548 12312//12312 12369//12369\nf 11668//11668 11678//11678 12545//12545\nf 12166//12166 11679//11679 12546//12546\nf 12547//12547 11686//11686 12552//12552\nf 12550//12550 11682//11682 12543//12543\nf 12170//12170 11682//11682 12556//12556\nf 12561//12561 11683//11683 12557//12557\nf 12560//12560 12168//12168 12889//12889\nf 12549//12549 11673//11673 12564//12564\nf 14389//14389 13706//13706 14390//14390\nf 12892//12892 12558//12558 12484//12484\nf 12562//12562 12892//12892 12484//12484\nf 13120//13120 11695//11695 12169//12169\nf 13229//13229 12172//12172 12485//12485\nf 12172//12172 11699//11699 12485//12485\nf 11632//11632 12313//12313 12893//12893\nf 12564//12564 11696//11696 12568//12568\nf 11701//11701 11697//11697 12894//12894\nf 12559//12559 11695//11695 12175//12175\nf 11705//11705 11701//11701 12895//12895\nf 11696//11696 11704//11704 12568//12568\nf 12569//12569 12896//12896 11698//11698\nf 11694//11694 12571//12571 12562//12562\nf 12896//12896 12314//12314 11698//11698\nf 11695//11695 13124//13124 12174//12174\nf 12573//12573 11705//11705 13125//13125\nf 12897//12897 12374//12374 12174//12174\nf 11712//11712 11708//11708 12572//12572\nf 12374//12374 12897//12897 13236//13236\nf 12899//12899 12571//12571 12176//12176\nf 12899//12899 12176//12176 12487//12487\nf 13128//13128 12899//12899 12487//12487\nf 12573//12573 12575//12575 11713//11713\nf 11712//11712 11714//11714 12578//12578\nf 12899//12899 12375//12375 12576//12576\nf 11713//11713 12900//12900 12581//12581\nf 13130//13130 12580//12580 12577//12577\nf 12577//12577 12580//12580 12905//12905\nf 12577//12577 12902//12902 12580//12580\nf 13130//13130 12576//12576 12580//12580\nf 12901//12901 12576//12576 13130//13130\nf 12905//12905 13130//13130 12577//12577\nf 12903//12903 12905//12905 12580//12580\nf 12903//12903 12580//12580 12902//12902\nf 13129//13129 11717//11717 12582//12582\nf 12578//12578 11714//11714 12584//12584\nf 12583//12583 11723//11723 12586//12586\nf 13131//13131 12177//12177 11727//11727\nf 12377//12377 11729//11729 12586//12586\nf 11731//11731 12592//12592 12593//12593\nf 11737//11737 11732//11732 12593//12593\nf 11729//11729 12378//12378 12596//12596\nf 12379//12379 12317//12317 12907//12907\nf 12318//12318 11734//11734 12380//12380\nf 11733//11733 12319//12319 12598//12598\nf 12909//12909 12597//12597 11737//11737\nf 12597//12597 13134//13134 12603//12603\nf 11741//11741 12597//12597 12603//12603\nf 12602//12602 12178//12178 12379//12379\nf 11741//11741 12604//12604 11742//11742\nf 12608//12608 11745//11745 12609//12609\nf 12910//12910 11745//11745 11749//11749\nf 13135//13135 12607//12607 11748//11748\nf 11748//11748 12607//12607 11744//11744\nf 11748//11748 11750//11750 11753//11753\nf 12617//12617 11749//11749 12615//12615\nf 12382//12382 12614//12614 12619//12619\nf 11759//11759 12620//12620 12617//12617\nf 12913//12913 11761//11761 11758//11758\nf 12625//12625 12489//12489 12914//12914\nf 12626//12626 12383//12383 12625//12625\nf 12626//12626 12625//12625 12914//12914\nf 12626//12626 11763//11763 12383//12383\nf 11761//11761 12624//12624 12628//12628\nf 13260//13260 11769//11769 12630//12630\nf 11771//11771 12630//12630 11769//11769\nf 11770//11770 11766//11766 12632//12632\nf 12631//12631 12322//12322 12633//12633\nf 12491//12491 11780//11780 12633//12633\nf 12324//12324 12632//12632 12918//12918\nf 11786//11786 12324//12324 12918//12918\nf 12634//12634 11776//11776 12635//12635\nf 12492//12492 11789//11789 12922//12922\nf 12188//12188 12492//12492 12922//12922\nf 12187//12187 12923//12923 12385//12385\nf 12924//12924 12188//12188 12922//12922\nf 12924//12924 12638//12638 12188//12188\nf 12493//12493 12638//12638 12924//12924\nf 12640//12640 12925//12925 12187//12187\nf 12637//12637 11791//11791 12641//12641\nf 13142//13142 12390//12390 12929//12929\nf 12645//12645 12387//12387 11801//11801\nf 11805//11805 12388//12388 12644//12644\nf 13143//13143 11805//11805 12644//12644\nf 12647//12647 11810//11810 12928//12928\nf 12389//12389 12646//12646 12927//12927\nf 12389//12389 12390//12390 12646//12646\nf 11806//11806 12649//12649 11795//11795\nf 11810//11810 12493//12493 12928//12928\nf 12390//12390 12494//12494 12929//12929\nf 12929//12929 12494//12494 12930//12930\nf 13144//13144 12647//12647 12928//12928\nf 12389//12389 12931//12931 12651//12651\nf 11806//11806 12190//12190 12649//12649\nf 11813//11813 12189//12189 11809//11809\nf 12193//12193 13145//13145 12657//12657\nf 12494//12494 12194//12194 12934//12934\nf 12934//12934 12496//12496 12937//12937\nf 12648//12648 11815//11815 12936//12936\nf 12326//12326 11807//11807 11812//11812\nf 12496//12496 12934//12934 12194//12194\nf 11815//11815 12495//12495 12936//12936\nf 12653//12653 11812//11812 12654//12654\nf 12193//12193 12933//12933 13145//13145\nf 12939//12939 12495//12495 12199//12199\nf 12653//12653 11812//11812 12393//12393\nf 12937//12937 12496//12496 12940//12940\nf 12496//12496 12327//12327 12940//12940\nf 12938//12938 12190//12190 12395//12395\nf 12660//12660 11824//11824 12392//12392\nf 12661//12661 11826//11826 13148//13148\nf 11811//11811 12656//12656 12658//12658\nf 12197//12197 12659//12659 12942//12942\nf 12327//12327 12200//12200 12940//12940\nf 12660//12660 12943//12943 12328//12328\nf 12939//12939 12199//12199 11827//11827\nf 11830//11830 12942//12942 12945//12945\nf 12944//12944 12662//12662 11828//11828\nf 12396//12396 11831//11831 12663//12663\nf 12666//12666 12498//12498 12499//12499\nf 12204//12204 12328//12328 12946//12946\nf 12663//12663 11831//11831 12398//12398\nf 12204//12204 12946//12946 13286//13286\nf 12944//12944 11828//11828 12672//12672\nf 12673//12673 11836//11836 12947//12947\nf 12677//12677 11843//11843 12204//12204\nf 12677//12677 12204//12204 12948//12948\nf 12398//12398 11834//11834 12949//12949\nf 11834//11834 12678//12678 12949//12949\nf 11842//11842 12675//12675 12682//12682\nf 12210//12210 12681//12681 12677//12677\nf 12676//12676 11847//11847 11853//11853\nf 12680//12680 12684//12684 11849//11849\nf 12211//12211 11844//11844 12952//12952\nf 13294//13294 12208//12208 12685//12685\nf 11861//11861 12210//12210 12951//12951\nf 12954//12954 11851//11851 12957//12957\nf 12954//12954 12683//12683 11851//11851\nf 12331//12331 12211//12211 12955//12955\nf 12685//12685 12401//12401 11856//11856\nf 12686//12686 11860//11860 12684//12684\nf 12400//12400 12402//12402 12956//12956\nf 11856//11856 11866//11866 12689//12689\nf 11868//11868 12688//12688 12403//12403\nf 12403//12403 12688//12688 12958//12958\nf 11866//11866 11876//11876 12961//12961\nf 11871//11871 11873//11873 12698//12698\nf 12960//12960 12213//12213 12962//12962\nf 12693//12693 12963//12963 11875//11875\nf 12405//12405 12693//12693 11875//11875\nf 12333//12333 12217//12217 12215//12215\nf 12407//12407 12695//12695 11876//11876\nf 12333//12333 12215//12215 12964//12964\nf 12695//12695 12407//12407 12965//12965\nf 12408//12408 12966//12966 12698//12698\nf 12702//12702 11884//11884 12697//12697\nf 11885//11885 12406//12406 12701//12701\nf 12219//12219 13160//13160 12968//12968\nf 12965//12965 12407//12407 11887//11887\nf 11884//11884 12702//12702 12409//12409\nf 13161//13161 11886//11886 12704//12704\nf 11883//11883 12221//12221 12966//12966\nf 12221//12221 12706//12706 12966//12966\nf 12967//12967 12699//12699 12970//12970\nf 11886//11886 11893//11893 12704//12704\nf 12969//12969 12410//12410 12968//12968\nf 13162//13162 12966//12966 12706//12706\nf 11880//11880 12220//12220 12970//12970\nf 12709//12709 12705//12705 13304//13304\nf 12707//12707 11887//11887 12708//12708\nf 11902//11902 12410//12410 12973//12973\nf 11901//11901 12409//12409 12971//12971\nf 11900//11900 11895//11895 12713//12713\nf 11897//11897 11896//11896 12709//12709\nf 12706//12706 12334//12334 12974//12974\nf 11898//11898 12711//12711 12708//12708\nf 12972//12972 11903//11903 12975//12975\nf 11910//11910 11901//11901 12712//12712\nf 12714//12714 12713//12713 12223//12223\nf 12715//12715 12719//12719 12412//12412\nf 12710//12710 12222//12222 11908//11908\nf 12721//12721 12223//12223 12976//12976\nf 12720//12720 12414//12414 11920//11920\nf 13166//13166 11908//11908 12722//12722\nf 11920//11920 12721//12721 12414//12414\nf 12720//12720 11920//11920 12414//12414\nf 12411//12411 12335//12335 12977//12977\nf 11917//11917 12413//12413 12723//12723\nf 12722//12722 12225//12225 12227//12227\nf 13168//13168 11915//11915 11921//11921\nf 12336//12336 12979//12979 11926//11926\nf 11917//11917 12725//12725 11923//11923\nf 11928//11928 11923//11923 12725//12725\nf 12416//12416 11927//11927 12982//12982\nf 12417//12417 11926//11926 12985//12985\nf 12982//12982 11927//11927 12986//12986\nf 11927//11927 11932//11932 12986//12986\nf 13170//13170 12726//12726 12987//12987\nf 12989//12989 12501//12501 11938//11938\nf 11934//11934 12727//12727 12728//12728\nf 12729//12729 11932//11932 12338//12338\nf 12992//12992 13171//13171 12988//12988\nf 12991//12991 11943//11943 12501//12501\nf 12229//12229 12417//12417 12993//12993\nf 12732//12732 11937//11937 12731//12731\nf 12339//12339 12994//12994 12730//12730\nf 12995//12995 11943//11943 13172//13172\nf 12736//12736 12229//12229 12996//12996\nf 11943//11943 12995//12995 11952//11952\nf 12340//12340 12421//12421 13000//13000\nf 12420//12420 12341//12341 12737//12737\nf 13175//13175 12502//12502 12423//12423\nf 12424//12424 11952//11952 13001//13001\nf 13175//13175 12423//12423 13002//13002\nf 12738//12738 11955//11955 11953//11953\nf 11958//11958 12739//12739 13004//13004\nf 13179//13179 12234//12234 12503//12503\nf 12740//12740 13005//13005 11959//11959\nf 12237//12237 12741//12741 12423//12423\nf 12741//12741 12505//12505 12742//12742\nf 12243//12243 12506//12506 13008//13008\nf 11967//11967 12425//12425 13180//13180\nf 11967//11967 13009//13009 12428//12428\nf 13328//13328 12503//12503 12504//12504\nf 11968//11968 11974//11974 12504//12504\nf 12345//12345 12747//12747 13012//13012\nf 12427//12427 12345//12345 13012//13012\nf 11984//11984 12428//12428 12749//12749\nf 11974//11974 12748//12748 12504//12504\nf 11975//11975 13010//13010 13013//13013\nf 12508//12508 13011//13011 12426//12426\nf 12247//12247 11982//11982 13014//13014\nf 13016//13016 11982//11982 12750//12750\nf 11983//11983 11986//11986 13018//13018\nf 12749//12749 11988//11988 11984//11984\nf 11975//11975 13013//13013 12751//12751\nf 12751//12751 13013//13013 13019//13019\nf 15375//15375 14363//14363 14360//14360\nf 13017//13017 13018//13018 14181//14181\nf 13018//13018 11986//11986 12752//12752\nf 12507//12507 12746//12746 12753//12753\nf 12753//12753 12746//12746 13020//13020\nf 13015//13015 11995//11995 12514//12514\nf 13335//13335 13015//13015 12514//12514\nf 12757//12757 12253//12253 12759//12759\nf 13021//13021 12761//12761 11988//11988\nf 12347//12347 12762//12762 13025//13025\nf 12347//12347 13025//13025 12755//12755\nf 13020//13020 12509//12509 12753//12753\nf 11993//11993 12763//12763 12760//12760\nf 13033//13033 13023//13023 12440//12440\nf 12765//12765 12511//12511 12754//12754\nf 12754//12754 12755//12755 13026//13026\nf 12754//12754 13026//13026 13031//13031\nf 13027//13027 12510//12510 12509//12509\nf 13028//13028 12438//12438 12761//12761\nf 12513//12513 12758//12758 12257//12257\nf 12440//12440 13023//13023 12514//12514\nf 13030//13030 12754//12754 13031//13031\nf 12509//12509 13183//13183 13027//13027\nf 13024//13024 12005//12005 13029//13029\nf 13031//13031 12765//12765 13030//13030\nf 12437//12437 12764//12764 13027//13027\nf 12439//12439 12770//12770 12766//12766\nf 13034//13034 12519//12519 12437//12437\nf 12775//12775 12769//12769 12010//12010\nf 12769//12769 12004//12004 12010//12010\nf 13035//13035 12005//12005 12011//12011\nf 13036//13036 12018//12018 12517//12517\nf 12440//12440 12034//12034 13033//13033\nf 12765//12765 13031//13031 12028//12028\nf 12440//12440 12773//12773 12034//12034\nf 12024//12024 12017//12017 12780//12780\nf 13037//13037 12034//12034 12784//12784\nf 12259//12259 12519//12519 13034//13034\nf 12521//12521 12259//12259 13040//13040\nf 12259//12259 13034//13034 13040//13040\nf 12265//12265 12782//12782 13039//13039\nf 12783//12783 12011//12011 12030//12030\nf 12443//12443 12265//12265 13042//13042\nf 12445//12445 12793//12793 13188//13188\nf 12349//12349 12521//12521 12446//12446\nf 13044//13044 12446//12446 12521//12521\nf 13189//13189 12795//12795 13043//13043\nf 12795//12795 12443//12443 13043//13043\nf 12063//12063 12269//12269 13047//13047\nf 12797//12797 12446//12446 13044//13044\nf 12444//12444 13048//13048 12046//12046\nf 12448//12448 12350//12350 12795//12795\nf 12269//12269 13049//13049 13047//13047\nf 13049//13049 12805//12805 13349//13349\nf 12799//12799 12796//12796 13193//13193\nf 12269//12269 12802//12802 12805//12805\nf 12051//12051 12046//12046 12803//12803\nf 12270//12270 12446//12446 12806//12806\nf 12798//12798 12061//12061 12272//12272\nf 12803//12803 12046//12046 13050//13050\nf 12804//12804 13051//13051 12052//12052\nf 12804//12804 12052//12052 12053//12053\nf 12071//12071 13052//13052 12274//12274\nf 12805//12805 12070//12070 12275//12275\nf 12451//12451 13197//13197 12352//12352\nf 12450//12450 13054//13054 13055//13055\nf 13053//13053 12451//12451 13056//13056\nf 12271//12271 12807//12807 12525//12525\nf 13056//13056 12451//12451 12809//12809\nf 12812//12812 12454//12454 12811//12811\nf 12454//12454 12812//12812 12813//12813\nf 12278//12278 12080//12080 12809//12809\nf 12270//12270 12806//12806 12452//12452\nf 12073//12073 12064//12064 13057//13057\nf 13059//13059 13203//13203 12804//12804\nf 12804//12804 12081//12081 12816//12816\nf 12455//12455 13059//13059 12816//12816\nf 13059//13059 12455//12455 13060//13060\nf 12353//12353 12815//12815 12817//12817\nf 12818//12818 13206//13206 12355//12355\nf 12280//12280 12085//12085 12819//12819\nf 12823//12823 12821//12821 12456//12456\nf 12091//12091 12823//12823 12087//12087\nf 11657//11657 12090//12090 12092//12092\nf 12095//12095 12088//12088 13065//13065\nf 13069//13069 11657//11657 12092//12092\nf 13067//13067 12095//12095 13065//13065\nf 12823//12823 12457//12457 13068//13068\nf 13208//13208 11657//11657 13069//13069\nf 13209//13209 13070//13070 13071//13071\nf 12824//12824 13071//13071 13068//13068\nf 13070//13070 13068//13068 13071//13071\nf 12824//12824 13068//13068 12457//12457\nf 13210//13210 12282//12282 12098//12098\nf 13072//13072 12825//12825 12094//12094\nf 13073//13073 13209//13209 13071//13071\nf 13071//13071 12824//12824 13073//13073\nf 12824//12824 12826//12826 13073//13073\nf 12106//12106 12101//12101 13212//13212\nf 12100//12100 13075//13075 12526//12526\nf 12832//12832 12459//12459 12827//12827\nf 13079//13079 13073//13073 12826//12826\nf 12107//12107 12459//12459 12832//12832\nf 12100//12100 13215//13215 13075//13075\nf 13077//13077 12100//12100 12830//12830\nf 12284//12284 12831//12831 12830//12830\nf 13079//13079 12826//12826 12112//12112\nf 12284//12284 12103//12103 12831//12831\nf 12112//12112 12833//12833 13080//13080\nf 13081//13081 12291//12291 12292//12292\nf 13082//13082 13081//13081 12292//12292\nf 12111//12111 12838//12838 12837//12837\nf 12837//12837 13084//13084 12115//12115\nf 13084//13084 13083//13083 12115//12115\nf 13085//13085 13082//13082 12292//12292\nf 13217//13217 12292//12292 12461//12461\nf 12292//12292 12116//12116 12461//12461\nf 13087//13087 12461//12461 12467//12467\nf 12122//12122 12527//12527 12464//12464\nf 12841//12841 12462//12462 12843//12843\nf 12464//12464 12527//12527 13089//13089\nf 13087//13087 12467//12467 13088//13088\nf 13093//13093 12130//12130 12842//12842\nf 12358//12358 12850//12850 13092//13092\nf 13093//13093 13091//13091 12130//12130\nf 12356//12356 12130//12130 13091//13091\nf 13218//13218 12527//12527 13092//13092\nf 12468//12468 12296//12296 13090//13090\nf 12849//12849 12356//12356 13091//13091\nf 12850//12850 12529//12529 13092//13092\nf 12361//12361 13094//13094 12848//12848\nf 13093//13093 12849//12849 13091//13091\nf 12855//12855 12301//12301 12854//12854\nf 12302//12302 12301//12301 12855//12855\nf 13221//13221 13092//13092 12529//12529\nf 12143//12143 13096//13096 12300//12300\nf 13097//13097 12361//12361 12360//12360\nf 13097//13097 13098//13098 12361//12361\nf 12849//12849 13093//13093 13099//13099\nf 12849//12849 13099//13099 12857//12857\nf 12528//12528 13100//13100 12529//12529\nf 13096//13096 12143//12143 12305//12305\nf 12856//12856 13102//13102 12303//12303\nf 12304//12304 13102//13102 12139//12139\nf 12528//12528 12857//12857 13100//13100\nf 12857//12857 13103//13103 13100//13100\nf 13099//13099 13103//13103 12857//12857\nf 13104//13104 13096//13096 12305//12305\nf 13104//13104 12305//12305 12860//12860\nf 13106//13106 12860//12860 13108//13108\nf 12860//12860 13109//13109 13108//13108\nf 12863//12863 12153//12153 12861//12861\nf 12471//12471 12153//12153 12863//12863\nf 12155//12155 12471//12471 12865//12865\nf 13108//13108 13109//13109 12476//12476\nf 12872//12872 12869//12869 13110//13110\nf 12149//12149 13110//13110 12869//12869\nf 12160//12160 12870//12870 12161//12161\nf 12870//12870 12874//12874 12161//12161\nf 12474//12474 12874//12874 12871//12871\nf 12307//12307 12162//12162 12868//12868\nf 12869//12869 12872//12872 12470//12470\nf 13111//13111 12476//12476 12873//12873\nf 12873//12873 12364//12364 12876//12876\nf 12880//12880 12881//12881 12531//12531\nf 12311//12311 12537//12537 12884//12884\nf 12537//12537 11667//11667 12165//12165\nf 12551//12551 11669//11669 12884//12884\nf 12887//12887 11672//11672 12888//12888\nf 11680//11680 11670//11670 12538//12538\nf 12889//12889 11671//11671 12367//12367\nf 12894//12894 12556//12556 12550//12550\nf 12565//12565 11680//11680 13226//13226\nf 12890//12890 11684//11684 12558//12558\nf 11695//11695 13119//13119 12482//12482\nf 11690//11690 11688//11688 12561//12561\nf 11691//11691 12567//12567 11679//11679\nf 12555//12555 13118//13118 12559//12559\nf 12555//12555 13117//13117 13118//13118\nf 13120//13120 13119//13119 11695//11695\nf 12889//12889 12563//12563 12560//12560\nf 15398//15398 14390//14390 14286//14286\nf 13121//13121 11698//11698 11690//11690\nf 13121//13121 12569//12569 11698//11698\nf 12563//12563 13120//13120 12169//12169\nf 11695//11695 12559//12559 13124//13124\nf 11633//11633 12566//12566 12485//12485\nf 12485//12485 12566//12566 13123//13123\nf 13233//13233 12568//12568 11704//11704\nf 13124//13124 12897//12897 12174//12174\nf 12570//12570 11707//11707 12572//12572\nf 12373//12373 11703//11703 13234//13234\nf 12899//12899 13126//13126 12571//12571\nf 11709//11709 12373//12373 12898//12898\nf 13387//13387 12575//12575 12573//12573\nf 12899//12899 13128//13128 12487//12487\nf 11709//11709 13237//13237 12579//12579\nf 13128//13128 12576//12576 12901//12901\nf 13128//13128 12899//12899 12576//12576\nf 12574//12574 12376//12376 13129//13129\nf 12376//12376 11717//11717 13129//13129\nf 12579//12579 12904//12904 11716//11716\nf 12582//12582 12583//12583 13129//13129\nf 12584//12584 11719//11719 13131//13131\nf 13242//13242 12905//12905 12903//12903\nf 13244//13244 11727//11727 11730//11730\nf 13132//13132 12586//12586 11729//11729\nf 11728//11728 12588//12588 12587//12587\nf 11729//11729 12906//12906 13132//13132\nf 12591//12591 11730//11730 11733//11733\nf 12596//12596 12906//12906 11729//11729\nf 12594//12594 11736//11736 12590//12590\nf 13245//13245 11733//11733 12908//12908\nf 12589//12589 13133//13133 12907//12907\nf 12593//12593 12909//12909 11737//11737\nf 12907//12907 13133//13133 12379//12379\nf 12599//12599 12601//12601 12596//12596\nf 12380//12380 12600//12600 12595//12595\nf 11740//11740 12605//12605 12601//12601\nf 12618//12618 13253//13253 11748//11748\nf 12613//12613 12616//12616 12488//12488\nf 12618//12618 11748//11748 11753//11753\nf 12618//12618 12182//12182 12912//12912\nf 11757//11757 12619//12619 12621//12621\nf 12912//12912 12182//12182 12622//12622\nf 12913//12913 12911//12911 13137//13137\nf 12623//12623 12620//12620 11759//11759\nf 12913//12913 12624//12624 11761//11761\nf 12914//12914 12489//12489 12915//12915\nf 11764//11764 12621//12621 12627//12627\nf 12628//12628 12624//12624 12913//12913\nf 11763//11763 12626//12626 12623//12623\nf 12629//12629 12384//12384 12628//12628\nf 12916//12916 13258//13258 13138//13138\nf 11766//11766 13139//13139 12632//12632\nf 12320//12320 12917//12917 12916//12916\nf 12633//12633 12322//12322 13392//13392\nf 12919//12919 12491//12491 12633//12633\nf 12321//12321 13261//13261 12917//12917\nf 12634//12634 12490//12490 11776//11776\nf 13261//13261 12321//12321 12323//12323\nf 12921//12921 12323//12323 12385//12385\nf 12922//12922 11789//11789 13140//13140\nf 12385//12385 12923//12923 12921//12921\nf 12924//12924 13141//13141 12493//12493\nf 12493//12493 13141//13141 12928//12928\nf 11803//11803 11802//11802 12926//12926\nf 12926//12926 12643//12643 11803//11803\nf 12390//12390 13142//13142 12646//12646\nf 12645//12645 13267//13267 12387//12387\nf 12386//12386 11795//11795 12641//12641\nf 12931//12931 12389//12389 12927//12927\nf 12646//12646 13142//13142 12927//12927\nf 11809//11809 11805//11805 13143//13143\nf 13271//13271 12925//12925 12326//12326\nf 13268//13268 12931//12931 12927//12927\nf 13268//13268 12933//12933 12931//12931\nf 13274//13274 12930//12930 12494//12494\nf 12326//12326 12932//12932 13271//13271\nf 12933//12933 12193//12193 12651//12651\nf 12932//12932 12654//12654 13279//13279\nf 12326//12326 12653//12653 12654//12654\nf 11811//11811 11800//11800 12656//12656\nf 11813//11813 13277//13277 12652//12652\nf 13278//13278 12935//12935 12647//12647\nf 12649//12649 12190//12190 12938//12938\nf 12392//12392 12935//12935 13146//13146\nf 12660//12660 12392//12392 13146//13146\nf 12655//12655 12193//12193 12657//12657\nf 13281//13281 12937//12937 12496//12496\nf 13281//13281 12496//12496 12937//12937\nf 12936//12936 12495//12495 12939//12939\nf 12659//12659 12196//12196 12652//12652\nf 12653//12653 12393//12393 12654//12654\nf 11826//11826 12657//12657 13148//13148\nf 12660//12660 13146//13146 12943//12943\nf 12393//12393 13147//13147 12654//12654\nf 13147//13147 12393//12393 12941//12941\nf 12665//12665 12198//12198 13285//13285\nf 11830//11830 12197//12197 12942//12942\nf 12946//12946 12328//12328 12943//12943\nf 12397//12397 12661//12661 12499//12499\nf 12661//12661 13149//13149 12499//12499\nf 12667//12667 12945//12945 13151//13151\nf 13151//13151 12671//12671 12667//12667\nf 12669//12669 13150//13150 12664//12664\nf 12674//12674 13150//13150 12669//12669\nf 12674//12674 13150//13150 12669//12669\nf 13150//13150 12674//12674 12669//12669\nf 12944//12944 12672//12672 12673//12673\nf 11836//11836 11845//11845 12947//12947\nf 13288//13288 12207//12207 12679//12679\nf 12680//12680 11848//11848 12671//12671\nf 12947//12947 11845//11845 13154//13154\nf 12947//12947 13154//13154 13290//13290\nf 12951//12951 12210//12210 12677//12677\nf 12329//12329 12683//12683 12678//12678\nf 11844//11844 13153//13153 12952//12952\nf 12678//12678 12683//12683 12954//12954\nf 12950//12950 12400//12400 12956//12956\nf 12951//12951 12677//12677 13402//13402\nf 12952//12952 12955//12955 12211//12211\nf 12688//12688 11861//11861 12958//12958\nf 13157//13157 11867//11867 12686//12686\nf 12214//12214 12692//12692 11858//11858\nf 12213//12213 12960//12960 12959//12959\nf 12403//12403 13156//13156 12697//12697\nf 12215//12215 13158//13158 12964//12964\nf 12693//12693 11875//11875 12963//12963\nf 12961//12961 11876//11876 12695//12695\nf 12404//12404 12218//12218 12699//12699\nf 12696//12696 13160//13160 12332//12332\nf 12702//12702 12697//12697 13300//13300\nf 12332//12332 13160//13160 12219//12219\nf 12962//12962 12404//12404 12967//12967\nf 12964//12964 12703//12703 12333//12333\nf 12219//12219 13160//13160 12696//12696\nf 13161//13161 11881//11881 11886//11886\nf 13160//13160 12219//12219 12968//12968\nf 12699//12699 11880//11880 12970//12970\nf 11890//11890 11885//11885 12705//12705\nf 12410//12410 11894//11894 12968//12968\nf 12703//12703 13163//13163 11895//11895\nf 12704//12704 11893//11893 12972//12972\nf 11896//11896 12705//12705 12709//12709\nf 12969//12969 12973//12973 12410//12410\nf 11895//11895 13163//13163 12713//12713\nf 13164//13164 12707//12707 12708//12708\nf 11901//11901 12971//12971 12712//12712\nf 12970//12970 12220//12220 12710//12710\nf 12975//12975 12717//12717 12972//12972\nf 13305//13305 11908//11908 13310//13310\nf 13307//13307 12717//12717 12224//12224\nf 12721//12721 12976//12976 12414//12414\nf 11914//11914 12412//12412 12719//12719\nf 12716//12716 11907//11907 13165//13165\nf 12979//12979 12336//12336 13313//13313\nf 12336//12336 11910//11910 13167//13167\nf 12977//12977 12335//12335 11919//11919\nf 13310//13310 13166//13166 12722//12722\nf 11919//11919 12980//12980 13311//13311\nf 12983//12983 11926//11926 12979//12979\nf 13314//13314 12722//12722 12227//12227\nf 13315//13315 11926//11926 12983//12983\nf 13314//13314 12227//12227 13169//13169\nf 13315//13315 12983//12983 11926//11926\nf 11921//11921 13170//13170 12984//12984\nf 12227//12227 11936//11936 13169//13169\nf 11938//11938 11930//11930 12989//12989\nf 12983//12983 13315//13315 12985//12985\nf 11921//11921 12726//12726 13170//13170\nf 12987//12987 12228//12228 11935//11935\nf 13171//13171 11936//11936 12988//12988\nf 12501//12501 12989//12989 12991//12991\nf 13172//13172 11943//11943 12991//12991\nf 12990//12990 12338//12338 12734//12734\nf 13174//13174 12994//12994 12339//12339\nf 11941//11941 12735//12735 13174//13174\nf 12992//12992 12502//12502 13175//13175\nf 11951//11951 12734//12734 12419//12419\nf 12421//12421 12736//12736 13000//13000\nf 13176//13176 12735//12735 12998//12998\nf 12737//12737 12422//12422 12420//12420\nf 13001//13001 11952//11952 12997//12997\nf 12998//12998 12422//12422 12737//12737\nf 11951//11951 12234//12234 12734//12734\nf 13001//13001 12740//12740 12424//12424\nf 12739//12739 11955//11955 12738//12738\nf 13326//13326 12234//12234 13003//13003\nf 13326//13326 13003//13003 13179//13179\nf 13002//13002 12423//12423 13178//13178\nf 12423//12423 12741//12741 13178//13178\nf 12740//12740 13327//13327 13005//13005\nf 11959//11959 13005//13005 13327//13327\nf 13007//13007 13008//13008 12506//12506\nf 13006//13006 13180//13180 12425//12425\nf 12742//12742 12426//12426 13011//13011\nf 12743//12743 13008//13008 13010//13010\nf 13331//13331 12504//12504 12748//12748\nf 12508//12508 13015//13015 13011//13011\nf 13010//13010 13019//13019 13013//13013\nf 13014//13014 12434//12434 12247//12247\nf 13333//13333 12750//12750 11976//11976\nf 13017//13017 11977//11977 11983//11983\nf 13333//13333 11977//11977 13017//13017\nf 13334//13334 13021//13021 12749//12749\nf 13335//13335 12514//12514 13023//13023\nf 12756//12756 12253//12253 12757//12757\nf 13417//13417 13024//13024 13029//13029\nf 12761//12761 13021//13021 13028//13028\nf 13185//13185 12762//12762 13184//13184\nf 12762//12762 11990//11990 12766//12766\nf 12766//12766 13184//13184 12762//12762\nf 13185//13185 13025//13025 12762//12762\nf 13185//13185 13031//13031 13026//13026\nf 12003//12003 12769//12769 12768//12768\nf 12755//12755 13025//13025 13185//13185\nf 13028//13028 12772//12772 12438//12438\nf 12005//12005 13035//13035 13029//13029\nf 13036//13036 12517//12517 13032//13032\nf 12018//12018 13036//13036 12778//12778\nf 12034//12034 13037//13037 13033//13033\nf 12028//12028 13031//13031 13038//13038\nf 13185//13185 13038//13038 13031//13031\nf 13034//13034 13027//13027 13186//13186\nf 13034//13034 12437//12437 13027//13027\nf 13342//13342 13029//13029 13035//13035\nf 12782//12782 12778//12778 13039//13039\nf 12017//12017 12771//12771 12780//12780\nf 12784//12784 13187//13187 13037//13037\nf 12028//12028 13038//13038 12785//12785\nf 12779//12779 12261//12261 12781//12781\nf 12785//12785 12787//12787 12036//12036\nf 12265//12265 13039//13039 13042//13042\nf 13044//13044 12521//12521 13040//13040\nf 12443//12443 13042//13042 13043//13043\nf 13188//13188 13041//13041 12445//12445\nf 12788//12788 12038//12038 12787//12787\nf 13188//13188 12793//12793 12063//12063\nf 13190//13190 13045//13045 12522//12522\nf 12044//12044 12041//12041 12792//12792\nf 12791//12791 11651//11651 12794//12794\nf 13046//13046 12448//12448 13189//13189\nf 12063//12063 13047//13047 13188//13188\nf 12047//12047 12788//12788 12796//12796\nf 12049//12049 12047//12047 12796//12796\nf 13191//13191 12800//12800 13046//13046\nf 13049//13049 13349//13349 13047//13047\nf 12057//12057 12801//12801 12789//12789\nf 13192//13192 12797//12797 13044//13044\nf 13190//13190 12522//12522 12798//12798\nf 13351//13351 13048//13048 12792//12792\nf 13048//13048 12444//12444 12792//12792\nf 13046//13046 12800//12800 12448//12448\nf 13348//13348 12800//12800 13191//13191\nf 12799//12799 12049//12049 12796//12796\nf 12523//12523 12800//12800 13191//13191\nf 13195//13195 12046//12046 13048//13048\nf 12046//12046 13195//13195 13050//13050\nf 12523//12523 13191//13191 13052//13052\nf 12446//12446 12797//12797 13194//13194\nf 12446//12446 13194//13194 12806//12806\nf 12449//12449 12274//12274 13052//13052\nf 13196//13196 12449//12449 13052//13052\nf 12794//12794 12052//12052 13051//13051\nf 13353//13353 13197//13197 13053//13053\nf 12451//12451 13053//13053 13197//13197\nf 13197//13197 13198//13198 12352//12352\nf 13199//13199 12352//12352 13198//13198\nf 12805//12805 12275//12275 13199//13199\nf 12272//12272 12525//12525 12798//12798\nf 13054//13054 12449//12449 13196//13196\nf 13353//13353 13053//13053 13056//13056\nf 13051//13051 12804//12804 13203//13203\nf 12450//12450 13055//13055 13200//13200\nf 13200//13200 13201//13201 12812//12812\nf 13050//13050 12808//12808 12351//12351\nf 12811//12811 13200//13200 12812//12812\nf 12809//12809 12813//12813 13202//13202\nf 13056//13056 12809//12809 13202//13202\nf 12812//12812 13201//13201 12813//12813\nf 13201//13201 13202//13202 12813//12813\nf 12064//12064 12810//12810 12808//12808\nf 12806//12806 12807//12807 12452//12452\nf 13203//13203 13204//13204 13051//13051\nf 12452//12452 12807//12807 12453//12453\nf 12076//12076 12073//12073 12814//12814\nf 13204//13204 13203//13203 13059//13059\nf 12354//12354 12817//12817 13061//13061\nf 12455//12455 13205//13205 13060//13060\nf 13205//13205 13204//13204 13060//13060\nf 13204//13204 13059//13059 13060//13060\nf 13207//13207 12455//12455 12086//12086\nf 13207//13207 13205//13205 12455//12455\nf 12819//12819 13064//13064 12088//12088\nf 12822//12822 13066//13066 12089//12089\nf 13209//13209 12821//12821 13070//13070\nf 13070//13070 12823//12823 13068//13068\nf 12092//12092 13211//13211 13069//13069\nf 13213//13213 12283//12283 12458//12458\nf 13073//13073 13214//13214 13209//13209\nf 13211//13211 12092//12092 12526//12526\nf 12286//12286 12106//12106 13074//13074\nf 13074//13074 12106//12106 12828//12828\nf 13211//13211 12526//12526 13075//13075\nf 12104//12104 12288//12288 13076//13076\nf 13076//13076 12288//12288 12105//12105\nf 13216//13216 12285//12285 12104//12104\nf 12104//12104 13076//13076 13366//13366\nf 12100//12100 13077//13077 13215//13215\nf 13080//13080 13073//13073 13079//13079\nf 13079//13079 12112//12112 13080//13080\nf 12833//12833 12834//12834 13080//13080\nf 12838//12838 12290//12290 12835//12835\nf 12838//12838 13084//13084 12837//12837\nf 12121//12121 12115//12115 13083//13083\nf 13085//13085 12292//12292 13217//13217\nf 13217//13217 12461//12461 13086//13086\nf 13088//13088 13086//13086 13087//13087\nf 12461//12461 13087//13087 13086//13086\nf 13088//13088 12466//12466 12847//12847\nf 12466//12466 13088//13088 12467//12467\nf 12298//12298 12848//12848 12843//12843\nf 12853//12853 12135//12135 13219//13219\nf 12300//12300 13096//13096 13095//13095\nf 13095//13095 13096//13096 13104//13104\nf 13097//13097 12360//12360 12852//12852\nf 13098//13098 13094//13094 12361//12361\nf 13220//13220 13099//13099 13093//13093\nf 13102//13102 12851//12851 12139//12139\nf 13221//13221 12529//12529 13101//13101\nf 13101//13101 13100//13100 13103//13103\nf 13101//13101 12529//12529 13100//13100\nf 13104//13104 12860//12860 13106//13106\nf 13104//13104 13106//13106 13108//13108\nf 13107//13107 12154//12154 12156//12156\nf 13105//13105 12861//12861 12146//12146\nf 13378//13378 12156//12156 12472//12472\nf 13378//13378 12472//12472 12864//12864\nf 13111//13111 13108//13108 12476//12476\nf 12868//12868 12162//12162 13112//13112\nf 12162//12162 12871//12871 13112//13112\nf 12872//12872 13113//13113 12875//12875\nf 12878//12878 12477//12477 12877//12877\nf 12881//12881 12880//12880 13222//13222\nf 12541//12541 12883//12883 13114//13114\nf 13701//13701 13114//13114 12883//12883\nf 13384//13384 12535//12535 12547//12547\nf 13223//13223 11665//11665 12533//12533\nf 13223//13223 12367//12367 11665//11665\nf 12367//12367 13223//13223 13224//13224\nf 12545//12545 11678//11678 13225//13225\nf 12538//12538 13226//13226 11680//11680\nf 12554//12554 11679//11679 12567//12567\nf 13227//13227 12562//12562 13117//13117\nf 11678//11678 11687//11687 13228//13228\nf 13117//13117 12562//12562 13118//13118\nf 12894//12894 11697//11697 12556//12556\nf 12893//12893 12313//12313 13230//13230\nf 11632//11632 12893//12893 12566//12566\nf 13385//13385 13122//13122 12173//12173\nf 12173//12173 12314//12314 12896//12896\nf 11691//11691 12371//12371 12570//12570\nf 13386//13386 12567//12567 12570//12570\nf 11692//11692 13232//13232 11703//11703\nf 12565//12565 13232//13232 11692//11692\nf 13232//13232 13234//13234 11703//11703\nf 12574//12574 13233//13233 11704//11704\nf 13235//13235 12570//12570 12572//12572\nf 13126//13126 13128//13128 12899//12899\nf 13127//13127 12374//12374 13236//13236\nf 12578//12578 12572//12572 11712//11712\nf 13127//13127 13236//13236 12577//12577\nf 12577//12577 12374//12374 13127//13127\nf 12898//12898 13237//13237 11709//11709\nf 13130//13130 13128//13128 12901//12901\nf 12583//12583 13239//13239 13129//13129\nf 13441//13441 12578//12578 12584//12584\nf 12581//12581 13240//13240 12315//12315\nf 12904//12904 12585//12585 11721//11721\nf 11725//11725 12315//12315 12587//12587\nf 13242//13242 12903//12903 13241//13241\nf 13131//13131 11727//11727 13244//13244\nf 12590//12590 12587//12587 13243//13243\nf 12587//12587 12590//12590 11728//11728\nf 12907//12907 12317//12317 12589//12589\nf 11729//11729 12906//12906 13132//13132\nf 12906//12906 11729//11729 13132//13132\nf 13245//13245 12591//12591 11733//11733\nf 12595//12595 12592//12592 12318//12318\nf 12593//12593 12592//12592 12909//12909\nf 12908//12908 11733//11733 12598//12598\nf 12909//12909 12592//12592 11737//11737\nf 12606//12606 12180//12180 11736//11736\nf 12592//12592 12909//12909 11737//11737\nf 12379//12379 13133//13133 12602//12602\nf 12595//12595 12600//12600 13247//13247\nf 12597//12597 12909//12909 13134//13134\nf 13248//13248 11739//11739 12608//12608\nf 11739//11739 13248//13248 12600//12600\nf 13249//13249 11742//11742 12604//12604\nf 11740//11740 11742//11742 13249//13249\nf 13250//13250 12605//12605 11740//11740\nf 13447//13447 12598//12598 12607//12607\nf 12181//12181 12602//12602 12611//12611\nf 12610//12610 12612//12612 13251//13251\nf 13136//13136 12910//12910 11749//11749\nf 11752//11752 12612//12612 13251//13251\nf 11752//11752 13251//13251 12614//12614\nf 11751//11751 13252//13252 12613//12613\nf 13253//13253 13135//13135 11748//11748\nf 12613//12613 13252//13252 12616//12616\nf 11749//11749 12617//12617 13136//13136\nf 12618//12618 11753//11753 13253//13253\nf 12911//12911 11758//11758 12616//12616\nf 12621//12621 12619//12619 13254//13254\nf 12621//12621 13254//13254 13733//13733\nf 12915//12915 13255//13255 12914//12914\nf 12914//12914 13255//13255 13256//13256\nf 12626//12626 13256//13256 13257//13257\nf 12626//12626 12914//12914 13256//13256\nf 12626//12626 12620//12620 12623//12623\nf 13257//13257 12620//12620 12626//12626\nf 13137//13137 12628//12628 12913//12913\nf 13138//13138 12489//12489 12320//12320\nf 13138//13138 12320//12320 12916//12916\nf 13259//13259 12622//12622 11769//11769\nf 12322//12322 12629//12629 13392//13392\nf 12635//12635 12636//12636 12634//12634\nf 12323//12323 13262//13262 13261//13261\nf 13262//13262 12323//12323 12921//12921\nf 12637//12637 11783//11783 11791//11791\nf 12924//12924 12922//12922 13263//13263\nf 12637//12637 12636//12636 11783//11783\nf 13141//13141 12924//12924 13264//13264\nf 12642//12642 11798//11798 12639//12639\nf 12928//12928 13141//13141 13264//13264\nf 13265//13265 12923//12923 12925//12925\nf 11802//11802 12387//12387 12926//12926\nf 12645//12645 13266//13266 13267//13267\nf 12644//12644 13456//13456 13578//13578\nf 11809//11809 13143//13143 13272//13272\nf 12929//12929 12930//12930 13269//13269\nf 12645//12645 12325//12325 12648//12648\nf 11795//11795 12649//12649 12641//12641\nf 12928//12928 13270//13270 13144//13144\nf 12651//12651 12931//12931 12933//12933\nf 12494//12494 12934//12934 13274//13274\nf 11813//11813 11809//11809 13277//13277\nf 13277//13277 11809//11809 13272//13272\nf 12647//12647 13144//13144 13278//13278\nf 12932//12932 13279//13279 13271//13271\nf 13275//13275 13145//13145 12933//12933\nf 12648//12648 12936//12936 13276//13276\nf 12649//12649 12938//12938 13273//13273\nf 13275//13275 12657//12657 13145//13145\nf 13146//13146 12935//12935 13278//13278\nf 12661//12661 13148//13148 13399//13399\nf 12940//12940 13281//13281 12937//12937\nf 12938//12938 12395//12395 13282//13282\nf 13400//13400 12946//12946 12943//12943\nf 12941//12941 12663//12663 13147//13147\nf 13149//13149 13284//13284 12666//12666\nf 13149//13149 12666//12666 12499//12499\nf 13286//13286 12946//12946 13400//13400\nf 12663//12663 12941//12941 12393//12393\nf 13283//13283 12940//12940 12664//12664\nf 11827//11827 11833//11833 13288//13288\nf 11829//11829 12665//12665 12670//12670\nf 13462//13462 11827//11827 13288//13288\nf 12398//12398 13287//13287 12663//12663\nf 12948//12948 12204//12204 13286//13286\nf 13152//13152 13287//13287 12398//12398\nf 11833//11833 12207//12207 13288//13288\nf 12680//12680 12671//12671 13289//13289\nf 12670//12670 12675//12675 11837//11837\nf 12947//12947 13290//13290 12673//12673\nf 13153//13153 11844//11844 12668//12668\nf 12949//12949 13152//13152 12398//12398\nf 12677//12677 13291//13291 13402//13402\nf 13290//13290 13154//13154 13293//13293\nf 13467//13467 12678//12678 12954//12954\nf 13153//13153 13292//13292 12952//12952\nf 13292//13292 12955//12955 12952//12952\nf 11854//11854 12682//12682 12953//12953\nf 13154//13154 12950//12950 13293//13293\nf 13154//13154 11845//11845 12950//12950\nf 12207//12207 12208//12208 13294//13294\nf 11854//11854 12953//12953 12687//12687\nf 12686//12686 12684//12684 13404//13404\nf 11861//11861 12951//12951 12958//12958\nf 12957//12957 13295//13295 12954//12954\nf 12958//12958 12951//12951 13402//13402\nf 13296//13296 11853//11853 11858//11858\nf 12685//12685 11856//11856 13297//13297\nf 13156//13156 12403//12403 12958//12958\nf 12956//12956 12402//12402 13159//13159\nf 12959//12959 12957//12957 12330//12330\nf 13296//13296 11858//11858 12692//12692\nf 12690//12690 11871//11871 13159//13159\nf 12696//12696 12216//12216 11867//11867\nf 13299//13299 12960//12960 12962//12962\nf 11867//11867 13157//13157 12696//12696\nf 11871//11871 12698//12698 13159//13159\nf 12696//12696 13157//13157 13298//13298\nf 12963//12963 11875//11875 12693//12693\nf 12701//12701 12406//12406 13301//13301\nf 11885//11885 12701//12701 12705//12705\nf 12965//12965 11887//11887 13302//13302\nf 12409//12409 12702//12702 12971//12971\nf 13302//13302 11887//11887 12707//12707\nf 11895//11895 13163//13163 13303//13303\nf 12713//12713 13163//13163 13303//13303\nf 12715//12715 12973//12973 12969//12969\nf 12970//12970 12710//12710 13305//13305\nf 12717//12717 12975//12975 11903//11903\nf 12718//12718 12500//12500 12709//12709\nf 13305//13305 12710//12710 11908//11908\nf 12974//12974 12334//12334 12716//12716\nf 12976//12976 12713//12713 13406//13406\nf 12720//12720 13307//13307 12224//12224\nf 13165//13165 12974//12974 12716//12716\nf 11910//11910 12712//12712 13308//13308\nf 12223//12223 12713//12713 12976//12976\nf 12720//12720 12414//12414 12976//12976\nf 13310//13310 11908//11908 13166//13166\nf 11904//11904 13309//13309 12413//12413\nf 13309//13309 12723//12723 12413//12413\nf 11907//11907 13168//13168 13312//13312\nf 11907//11907 13312//13312 13165//13165\nf 12336//12336 13167//13167 13313//13313\nf 13310//13310 12722//12722 13314//13314\nf 12977//12977 11919//11919 13311//13311\nf 12415//12415 11915//11915 13168//13168\nf 12982//12982 13311//13311 12980//12980\nf 12227//12227 13169//13169 13314//13314\nf 13314//13314 13169//13169 12227//12227\nf 11930//11930 12981//12981 12978//12978\nf 11930//11930 12724//12724 12978//12978\nf 12984//12984 13168//13168 11921//11921\nf 11930//11930 12978//12978 13316//13316\nf 13317//13317 11928//11928 12725//12725\nf 12989//12989 11930//11930 13316//13316\nf 13317//13317 12727//12727 11928//11928\nf 13169//13169 11936//11936 13171//13171\nf 12986//12986 12729//12729 12990//12990\nf 12993//12993 12417//12417 12985//12985\nf 13173//13173 12229//12229 12993//12993\nf 11952//11952 12995//12995 13172//13172\nf 12733//12733 12732//12732 13318//13318\nf 13174//13174 12730//12730 12994//12994\nf 12229//12229 13173//13173 12996//12996\nf 12993//12993 13319//13319 13173//13173\nf 13173//13173 13319//13319 12996//12996\nf 11952//11952 13172//13172 12997//12997\nf 13174//13174 12735//12735 13176//13176\nf 12736//12736 12996//12996 13000//13000\nf 12999//12999 12340//12340 13000//13000\nf 12996//12996 13325//13325 13000//13000\nf 13003//13003 12234//12234 13179//13179\nf 13326//13326 12734//12734 12234//12234\nf 12737//12737 12341//12341 13323//13323\nf 13323//13323 12341//12341 13177//13177\nf 13177//13177 12341//12341 12999//12999\nf 12999//12999 13000//13000 13324//13324\nf 13325//13325 13324//13324 13000//13000\nf 13177//13177 12999//12999 13324//13324\nf 13320//13320 13175//13175 13178//13178\nf 13004//13004 13006//13006 11958//11958\nf 13007//13007 11959//11959 13327//13327\nf 13179//13179 12503//12503 13328//13328\nf 13010//13010 13008//13008 13007//13007\nf 13329//13329 12741//12741 12742//12742\nf 13180//13180 13009//13009 11967//11967\nf 13329//13329 12742//12742 13011//13011\nf 12749//12749 12428//12428 13009//13009\nf 13328//13328 12504//12504 13331//13331\nf 13330//13330 12746//12746 12744//12744\nf 13330//13330 12744//12744 12745//12745\nf 13491//13491 13011//13011 13335//13335\nf 12745//12745 12427//12427 13012//13012\nf 12747//12747 12434//12434 13014//13014\nf 13333//13333 11976//11976 11977//11977\nf 13014//13014 11982//11982 13336//13336\nf 13016//13016 13332//13332 13336//13336\nf 13016//13016 12750//12750 13332//13332\nf 13181//13181 12752//12752 12756//12756\nf 12752//12752 12435//12435 12756//12756\nf 12748//12748 13022//13022 13331//13331\nf 12758//12758 11996//11996 13019//13019\nf 13415//13415 12758//12758 13019//13019\nf 12254//12254 12760//12760 12759//12759\nf 12759//12759 12760//12760 13851//13851\nf 13024//13024 13331//13331 13022//13022\nf 13032//13032 12758//12758 13418//13418\nf 13023//13023 13033//13033 13337//13337\nf 13032//13032 12257//12257 12758//12758\nf 12509//12509 13020//13020 13182//13182\nf 12763//12763 11999//11999 12767//12767\nf 13183//13183 12509//12509 13182//13182\nf 13026//13026 12755//12755 13185//13185\nf 13183//13183 13186//13186 13027//13027\nf 13036//13036 13039//13039 12778//12778\nf 13039//13039 13036//13036 13420//13420\nf 13037//13037 13187//13187 13339//13339\nf 13037//13037 13339//13339 13033//13033\nf 13038//13038 13185//13185 12785//12785\nf 13185//13185 13184//13184 13341//13341\nf 12770//12770 12774//12774 12766//12766\nf 13028//13028 12771//12771 12772//12772\nf 13342//13342 13340//13340 13029//13029\nf 12777//12777 13035//13035 12011//12011\nf 13342//13342 13035//13035 12777//12777\nf 12785//12785 13185//13185 13341//13341\nf 12776//12776 12016//12016 12779//12779\nf 13344//13344 12781//12781 12261//12261\nf 13344//13344 12261//12261 12023//12023\nf 13034//13034 13186//13186 13346//13346\nf 13042//13042 13345//13345 13043//13043\nf 13041//13041 13188//13188 13343//13343\nf 13343//13343 13187//13187 12784//12784\nf 13041//13041 13343//13343 12784//12784\nf 13347//13347 12774//12774 12786//12786\nf 12787//12787 12785//12785 12788//12788\nf 13034//13034 13346//13346 13040//13040\nf 12783//12783 12030//12030 12790//12790\nf 13347//13347 12786//12786 12789//12789\nf 12786//12786 12032//12032 12789//12789\nf 12041//12041 13045//13045 12792//12792\nf 12448//12448 12795//12795 13189//13189\nf 13191//13191 13046//13046 13348//13348\nf 13044//13044 13040//13040 13350//13350\nf 13348//13348 13191//13191 12800//12800\nf 12796//12796 12799//12799 13193//13193\nf 13192//13192 13044//13044 13350//13350\nf 13355//13355 13354//13354 13350//13350\nf 13354//13354 13192//13192 13350//13350\nf 13195//13195 13048//13048 13050//13050\nf 13356//13356 13050//13050 13048//13048\nf 13054//13054 13352//13352 13055//13055\nf 13196//13196 13352//13352 13054//13054\nf 13200//13200 13357//13357 13201//13201\nf 12275//12275 12352//12352 13199//13199\nf 12811//12811 12450//12450 13200//13200\nf 13204//13204 13358//13358 13051//13051\nf 12815//12815 13061//13061 12817//12817\nf 13062//13062 12355//12355 13206//13206\nf 12085//12085 13062//13062 13063//13063\nf 13062//13062 13206//13206 13063//13063\nf 12819//12819 12085//12085 13063//13063\nf 13207//13207 12086//12086 12820//12820\nf 13207//13207 12820//12820 12821//12821\nf 12819//12819 13065//13065 13064//13064\nf 13208//13208 12822//12822 11657//11657\nf 13066//13066 12822//12822 13069//13069\nf 12822//12822 13208//13208 13069//13069\nf 13361//13361 13067//13067 13065//13065\nf 13070//13070 12821//12821 12823//12823\nf 13211//13211 13066//13066 13069//13069\nf 12825//12825 12827//12827 12099//12099\nf 13066//13066 13072//13072 12094//12094\nf 13212//13212 12283//12283 13213//13213\nf 13363//13363 13209//13209 13214//13214\nf 13209//13209 13363//13363 13362//13362\nf 13212//13212 12101//12101 12283//12283\nf 13074//13074 12829//12829 12105//12105\nf 12106//12106 13212//13212 12828//12828\nf 13364//13364 13075//13075 13215//13215\nf 13211//13211 13075//13075 13364//13364\nf 13365//13365 12104//12104 13366//13366\nf 13214//13214 13073//13073 13367//13367\nf 13367//13367 13073//13073 13080//13080\nf 12830//12830 12831//12831 13368//13368\nf 13078//13078 12285//12285 13216//13216\nf 12832//12832 13369//13369 12290//12290\nf 13080//13080 12834//12834 13367//13367\nf 13369//13369 12835//12835 12290//12290\nf 12836//12836 13367//13367 12834//12834\nf 12836//12836 12291//12291 13081//13081\nf 13432//13432 13081//13081 13082//13082\nf 13370//13370 13082//13082 13085//13085\nf 12839//12839 12121//12121 13083//13083\nf 13217//13217 13370//13370 13085//13085\nf 12847//12847 13370//13370 13217//13217\nf 12847//12847 13217//13217 13088//13088\nf 13086//13086 13088//13088 13217//13217\nf 12844//12844 12464//12464 13089//13089\nf 12843//12843 13371//13371 12841//12841\nf 13373//13373 12359//12359 12846//12846\nf 13373//13373 12846//12846 12359//12359\nf 12359//12359 12846//12846 12845//12845\nf 12296//12296 12840//12840 13090//13090\nf 12843//12843 12848//12848 13371//13371\nf 12848//12848 12841//12841 13371//13371\nf 12842//12842 13371//13371 13093//13093\nf 12842//12842 12841//12841 13371//13371\nf 13089//13089 12527//12527 13218//13218\nf 13373//13373 12846//12846 13372//13372\nf 13372//13372 12846//12846 12844//12844\nf 12135//12135 12845//12845 13219//13219\nf 13374//13374 12848//12848 13094//13094\nf 13098//13098 13374//13374 13094//13094\nf 13377//13377 13099//13099 13376//13376\nf 13377//13377 13103//13103 13099//13099\nf 13375//13375 13104//13104 13108//13108\nf 12156//12156 13378//13378 13107//13107\nf 12154//12154 13107//13107 12859//12859\nf 12154//12154 12859//12859 12151//12151\nf 12859//12859 12862//12862 12150//12150\nf 12862//12862 13379//13379 12149//12149\nf 12150//12150 12862//12862 12149//12149\nf 12863//12863 12865//12865 12471//12471\nf 12867//12867 13380//13380 12157//12157\nf 12867//12867 12865//12865 13380//13380\nf 12866//12866 12307//12307 13381//13381\nf 13379//13379 13110//13110 12149//12149\nf 12870//12870 12157//12157 13380//13380\nf 12872//12872 13382//13382 13113//13113\nf 12530//12530 12875//12875 12877//12877\nf 12877//12877 13383//13383 12878//12878\nf 12876//12876 12364//12364 12879//12879\nf 12880//12880 12531//12531 12878//12878\nf 12881//12881 12879//12879 12882//12882\nf 12534//12534 11666//11666 12535//12535\nf 13115//13115 12165//12165 12885//12885\nf 12540//12540 11675//11675 12886//12886\nf 12544//12544 12543//12543 11674//11674\nf 12885//12885 12166//12166 12546//12546\nf 13223//13223 12533//12533 13224//13224\nf 12546//12546 11679//11679 12554//12554\nf 13223//13223 12367//12367 13224//13224\nf 12552//12552 11676//11676 12553//12553\nf 12886//12886 11675//11675 12890//12890\nf 13949//13949 12890//12890 13961//13961\nf 13228//13228 12891//12891 13706//13706\nf 12891//12891 12172//12172 13229//13229\nf 11690//11690 12561//12561 13121//13121\nf 13706//13706 12891//12891 13229//13229\nf 13710//13710 13229//13229 12485//12485\nf 12895//12895 11701//11701 12894//12894\nf 13385//13385 12173//12173 12896//12896\nf 13125//13125 11705//11705 12895//12895\nf 13118//13118 12562//12562 12571//12571\nf 12559//12559 13118//13118 12571//12571\nf 12559//12559 12571//12571 13124//13124\nf 12898//12898 12373//12373 13234//13234\nf 12570//12570 13235//13235 12572//12572\nf 13126//13126 12899//12899 13128//13128\nf 12900//12900 12575//12575 13387//13387\nf 12581//12581 12900//12900 13238//13238\nf 12902//12902 12577//12577 12903//12903\nf 12581//12581 13238//13238 13240//13240\nf 12587//12587 12315//12315 13240//13240\nf 11719//11719 12177//12177 13131//13131\nf 13443//13443 13130//13130 13242//13242\nf 13130//13130 12905//12905 13242//13242\nf 13388//13388 13241//13241 13389//13389\nf 12591//12591 13244//13244 11730//11730\nf 13132//13132 12906//12906 13246//13246\nf 12906//12906 12596//12596 13246//13246\nf 12591//12591 13245//13245 12908//12908\nf 11736//11736 12594//12594 12606//12606\nf 11740//11740 13249//13249 13250//13250\nf 11751//11751 12611//12611 13391//13391\nf 13252//13252 11751//11751 13391//13391\nf 13253//13253 11753//11753 12618//12618\nf 12915//12915 12489//12489 13258//13258\nf 12489//12489 13138//13138 13258//13258\nf 11769//11769 13260//13260 13259//13259\nf 11766//11766 12627//12627 13139//13139\nf 13140//13140 12633//12633 13393//13393\nf 12919//12919 12633//12633 13140//13140\nf 12922//12922 13140//13140 13263//13263\nf 11790//11790 12920//12920 12639//12639\nf 11790//11790 11786//11786 12920//12920\nf 13394//13394 13262//13262 12921//12921\nf 12187//12187 12925//12925 12923//12923\nf 13396//13396 13395//13395 13142//13142\nf 12929//12929 13396//13396 13142//13142\nf 13395//13395 12927//12927 13142//13142\nf 12649//12649 13273//13273 12641//12641\nf 12930//12930 13274//13274 13269//13269\nf 13144//13144 13270//13270 13278//13278\nf 13265//13265 12925//12925 13397//13397\nf 12925//12925 13271//13271 13397//13397\nf 13268//13268 13275//13275 12933//12933\nf 12938//12938 13280//13280 13273//13273\nf 13274//13274 12934//12934 12937//12937\nf 12943//12943 13146//13146 13398//13398\nf 12942//12942 12659//12659 12652//12652\nf 13148//13148 12657//12657 13399//13399\nf 13283//13283 13281//13281 12940//12940\nf 13400//13400 12943//12943 13398//13398\nf 12198//12198 12658//12658 13285//13285\nf 13282//13282 12395//12395 12944//12944\nf 12663//12663 13401//13401 13147//13147\nf 13282//13282 12944//12944 13461//13461\nf 13283//13283 12664//12664 13150//13150\nf 13151//13151 13289//13289 12671//12671\nf 12679//12679 12207//12207 13294//13294\nf 13467//13467 12949//12949 12678//12678\nf 13403//13403 12676//12676 11853//11853\nf 12331//12331 12955//12955 13155//13155\nf 11856//11856 12689//12689 13297//13297\nf 13470//13470 13157//13157 12686//12686\nf 13159//13159 12402//12402 12690//12690\nf 13157//13157 13298//13298 11867//11867\nf 13157//13157 11867//11867 13298//13298\nf 12959//12959 12960//12960 13299//13299\nf 12689//12689 11866//11866 12961//12961\nf 13159//13159 12698//12698 13405//13405\nf 12697//12697 13156//13156 13471//13471\nf 12693//12693 12691//12691 13596//13596\nf 13300//13300 12697//12697 13471//13471\nf 12694//12694 12700//12700 13161//13161\nf 13301//13301 12406//12406 12963//12963\nf 12219//12219 12696//12696 12968//12968\nf 13303//13303 13163//13163 11895//11895\nf 12706//12706 12974//12974 13162//13162\nf 12707//12707 13164//13164 13796//13796\nf 13164//13164 12708//12708 12711//12711\nf 12717//12717 13307//13307 13610//13610\nf 12712//12712 13306//13306 13167//13167\nf 12977//12977 13164//13164 12411//12411\nf 13308//13308 12712//12712 13167//13167\nf 13309//13309 11904//11904 12718//12718\nf 13164//13164 12711//12711 12411//12411\nf 13167//13167 11910//11910 13308//13308\nf 12978//12978 12719//12719 13407//13407\nf 12978//12978 11914//11914 12719//12719\nf 11917//11917 12723//12723 13408//13408\nf 12983//12983 12979//12979 13313//13313\nf 12981//12981 11930//11930 12978//12978\nf 12984//12984 13409//13409 13168//13168\nf 13482//13482 12985//12985 13315//13315\nf 13616//13616 13169//13169 13483//13483\nf 12986//12986 11932//11932 12729//12729\nf 12991//12991 12989//12989 13410//13410\nf 12986//12986 12990//12990 13411//13411\nf 12991//12991 13410//13410 13172//13172\nf 13320//13320 12992//12992 13175//13175\nf 13175//13175 13002//13002 13178//13178\nf 13321//13321 13412//13412 13176//13176\nf 13321//13321 13176//13176 12998//12998\nf 13321//13321 12998//12998 13322//13322\nf 12998//12998 12737//12737 13322//13322\nf 13325//13325 12996//12996 13413//13413\nf 13322//13322 12737//12737 13323//13323\nf 12740//12740 13007//13007 13327//13327\nf 12740//12740 13327//13327 13007//13007\nf 13635//13635 13007//13007 13327//13327\nf 12739//12739 13006//13006 13004//13004\nf 13178//13178 12741//12741 13329//13329\nf 13019//13019 13010//13010 13492//13492\nf 13012//13012 13330//13330 12745//12745\nf 12749//12749 13009//13009 13334//13334\nf 13335//13335 13011//13011 13015//13015\nf 13009//13009 13644//13644 13334//13334\nf 13642//13642 13414//13414 13493//13493\nf 13018//13018 12752//12752 13181//13181\nf 13338//13338 13020//13020 12746//12746\nf 13014//13014 13336//13336 13416//13416\nf 11982//11982 13016//13016 13336//13336\nf 13493//13493 13331//13331 13024//13024\nf 13023//13023 13337//13337 13335//13335\nf 13493//13493 13024//13024 13417//13417\nf 13417//13417 13029//13029 13419//13419\nf 13020//13020 13338//13338 13182//13182\nf 13339//13339 13498//13498 13033//13033\nf 13341//13341 13184//13184 12766//12766\nf 13421//13421 13186//13186 13183//13183\nf 13341//13341 12766//12766 13422//13422\nf 12774//12774 13422//13422 12766//12766\nf 13187//13187 13343//13343 13339//13339\nf 13344//13344 12023//12023 12780//12780\nf 13188//13188 13423//13423 13343//13343\nf 12785//12785 13341//13341 12788//12788\nf 13189//13189 13345//13345 13508//13508\nf 13510//13510 13046//13046 13189//13189\nf 13508//13508 13510//13510 13189//13189\nf 12774//12774 13347//13347 12789//12789\nf 13424//13424 13511//13511 13196//13196\nf 13424//13424 13196//13196 13052//13052\nf 13199//13199 13349//13349 12805//12805\nf 13425//13425 12791//12791 12794//12794\nf 13052//13052 13191//13191 13424//13424\nf 13200//13200 13055//13055 13352//13352\nf 13426//13426 13357//13357 13200//13200\nf 13353//13353 13056//13056 13427//13427\nf 13358//13358 13425//13425 12794//12794\nf 13426//13426 13200//13200 13352//13352\nf 13056//13056 13202//13202 13427//13427\nf 13358//13358 12794//12794 13051//13051\nf 13204//13204 13428//13428 13358//13358\nf 12814//12814 12073//12073 13058//13058\nf 13204//13204 13205//13205 13428//13428\nf 12815//12815 12817//12817 13061//13061\nf 13205//13205 13359//13359 13428//13428\nf 12082//12082 13061//13061 13360//13360\nf 12279//12279 13360//13360 12818//12818\nf 12279//12279 12082//12082 13360//13360\nf 13207//13207 13359//13359 13205//13205\nf 13207//13207 13429//13429 13359//13359\nf 13213//13213 12458//12458 12282//12282\nf 13213//13213 12282//12282 13430//13430\nf 13211//13211 13072//13072 13066//13066\nf 13431//13431 13072//13072 13364//13364\nf 13072//13072 13211//13211 13364//13364\nf 13216//13216 12104//12104 13365//13365\nf 12830//12830 13368//13368 13077//13077\nf 12832//12832 12835//12835 13369//13369\nf 13432//13432 13082//13082 13433//13433\nf 13435//13435 13433//13433 13082//13082\nf 13435//13435 13082//13082 13370//13370\nf 12839//12839 13083//13083 13434//13434\nf 13436//13436 13435//13435 13370//13370\nf 12847//12847 13436//13436 13370//13370\nf 13436//13436 12847//12847 12851//12851\nf 13371//13371 12841//12841 12848//12848\nf 13218//13218 12844//12844 13089//13089\nf 13373//13373 12845//12845 12846//12846\nf 13218//13218 13092//13092 13221//13221\nf 12856//12856 12302//12302 12855//12855\nf 13437//13437 12852//12852 13090//13090\nf 12852//12852 13437//13437 13097//13097\nf 13101//13101 13103//13103 13377//13377\nf 12866//12866 13438//13438 12864//12864\nf 12472//12472 12866//12866 12864//12864\nf 12868//12868 13112//13112 13381//13381\nf 12307//12307 12868//12868 13381//13381\nf 13381//13381 13112//13112 13439//13439\nf 13535//13535 13111//13111 12873//12873\nf 12877//12877 12875//12875 13113//13113\nf 12549//12549 12564//12564 13543//13543\nf 12549//12549 13543//13543 13539//13539\nf 15567//15567 15398//15398 15399//15399\nf 13544//13544 13120//13120 12563//12563\nf 13230//13230 12313//12313 13122//13122\nf 13123//13123 12566//12566 13231//13231\nf 13124//13124 12571//12571 12899//12899\nf 12897//12897 13124//13124 12899//12899\nf 13236//13236 12897//12897 12899//12899\nf 13545//13545 13387//13387 12573//12573\nf 13128//13128 13126//13126 12899//12899\nf 12904//12904 12579//12579 13237//13237\nf 13442//13442 13128//13128 13130//13130\nf 12577//12577 12905//12905 12903//12903\nf 13547//13547 13442//13442 13130//13130\nf 11725//11725 12587//12587 13243//13243\nf 12587//12587 11725//11725 13243//13243\nf 13551//13551 13242//13242 13241//13241\nf 13551//13551 13241//13241 13388//13388\nf 12591//12591 12908//12908 13245//13245\nf 12601//12601 13246//13246 12596//12596\nf 12606//12606 12594//12594 13390//13390\nf 11746//11746 12606//12606 12610//12610\nf 12612//12612 12610//12610 13251//13251\nf 12609//12609 11745//11745 12910//12910\nf 13252//13252 13449//13449 12616//12616\nf 13252//13252 13391//13391 13449//13449\nf 13450//13450 12617//12617 12620//12620\nf 13561//13561 12618//12618 12912//12912\nf 13563//13563 12915//12915 13255//13255\nf 12915//12915 13258//13258 13255//13255\nf 13392//13392 12629//12629 12628//12628\nf 13566//13566 13567//13567 12628//12628\nf 13259//13259 13260//13260 12630//12630\nf 13263//13263 13140//13140 13451//13451\nf 12636//12636 12637//12637 13573//13573\nf 12924//12924 13263//13263 13264//13264\nf 13394//13394 12921//12921 12923//12923\nf 13270//13270 12928//12928 13453//13453\nf 12927//12927 13395//13395 13455//13455\nf 13454//13454 13396//13396 12929//12929\nf 12928//12928 13264//13264 13453//13453\nf 12927//12927 13455//13455 13268//13268\nf 13454//13454 12929//12929 13269//13269\nf 13456//13456 12644//12644 12643//12643\nf 13397//13397 13271//13271 13279//13279\nf 12657//12657 13275//13275 13758//13758\nf 13762//13762 13274//13274 13281//13281\nf 12652//12652 13277//13277 13272//13272\nf 13457//13457 12654//12654 13147//13147\nf 13279//13279 12654//12654 13457//13457\nf 13399//13399 13149//13149 12661//12661\nf 12938//12938 13282//13282 13458//13458\nf 13460//13460 12939//12939 11827//11827\nf 13401//13401 12663//12663 13463//13463\nf 13287//13287 13463//13463 12663//12663\nf 12677//12677 12948//12948 13291//13291\nf 13291//13291 12948//12948 13464//13464\nf 13287//13287 13152//13152 13465//13465\nf 13152//13152 12949//12949 13465//13465\nf 12668//12668 13292//13292 13153//13153\nf 13403//13403 11853//11853 13296//13296\nf 13402//13402 13291//13291 13780//13780\nf 12950//12950 12956//12956 13293//13293\nf 12958//12958 13402//13402 13590//13590\nf 12215//12215 12331//12331 13155//13155\nf 13297//13297 12689//12689 12685//12685\nf 12957//12957 12959//12959 13295//13295\nf 13156//13156 12958//12958 13471//13471\nf 13158//13158 12215//12215 13155//13155\nf 13475//13475 13299//13299 12962//12962\nf 12698//12698 12966//12966 13405//13405\nf 12694//12694 13161//13161 13473//13473\nf 12962//12962 12967//12967 13475//13475\nf 13600//13600 12703//12703 12964//12964\nf 13601//13601 13473//13473 13161//13161\nf 13163//13163 12703//12703 13303//13303\nf 13603//13603 12704//12704 12972//12972\nf 12972//12972 12717//12717 13478//13478\nf 13162//13162 12974//12974 13479//13479\nf 12715//12715 12969//12969 13606//13606\nf 12971//12971 13607//13607 13306//13306\nf 12712//12712 12971//12971 13306//13306\nf 13406//13406 12713//12713 13303//13303\nf 13307//13307 12720//12720 13406//13406\nf 13480//13480 13164//13164 12977//12977\nf 13407//13407 12719//12719 13611//13611\nf 13611//13611 12978//12978 13407//13407\nf 12725//12725 11917//11917 13408//13408\nf 13168//13168 13409//13409 13312//13312\nf 12723//12723 12725//12725 13408//13408\nf 12978//12978 13615//13615 13316//13316\nf 13315//13315 12983//12983 13313//13313\nf 13317//13317 12727//12727 12728//12728\nf 13169//13169 13171//13171 13483//13483\nf 12727//12727 13317//13317 12728//12728\nf 13409//13409 12984//12984 13170//13170\nf 13620//13620 13170//13170 12987//12987\nf 13483//13483 13171//13171 12992//12992\nf 13484//13484 13483//13483 12992//12992\nf 13318//13318 13623//13623 12733//12733\nf 13484//13484 12992//12992 13320//13320\nf 13001//13001 12997//12997 13172//13172\nf 12738//12738 12733//12733 13486//13486\nf 13323//13323 13177//13177 13324//13324\nf 13323//13323 13324//13324 13638//13638\nf 13326//13326 13179//13179 13487//13487\nf 13329//13329 13631//13631 13178//13178\nf 13329//13329 13011//13011 13489//13489\nf 13487//13487 13179//13179 13328//13328\nf 13487//13487 13328//13328 13414//13414\nf 13011//13011 13491//13491 13489//13489\nf 13492//13492 13415//13415 13019//13019\nf 13493//13493 13328//13328 13331//13331\nf 12746//12746 13495//13495 13338//13338\nf 12747//12747 13496//13496 13648//13648\nf 13332//13332 12750//12750 13649//13649\nf 13415//13415 13646//13646 12758//12758\nf 13646//13646 13418//13418 12758//12758\nf 13494//13494 13335//13335 13337//13337\nf 13498//13498 13337//13337 13033//13033\nf 13182//13182 13338//13338 13499//13499\nf 13652//13652 13028//13028 13021//13021\nf 13036//13036 13032//13032 13418//13418\nf 13036//13036 13418//13418 13497//13497\nf 13652//13652 13500//13500 13028//13028\nf 13653//13653 13036//13036 13497//13497\nf 13653//13653 13420//13420 13036//13036\nf 13345//13345 13042//13042 13502//13502\nf 13504//13504 13028//13028 13500//13500\nf 13340//13340 13505//13505 13419//13419\nf 13029//13029 13340//13340 13419//13419\nf 13420//13420 13042//13042 13039//13039\nf 13420//13420 13501//13501 13042//13042\nf 13042//13042 13501//13501 13502//13502\nf 13506//13506 13503//13503 13343//13343\nf 12771//12771 13028//13028 13656//13656\nf 13343//13343 13503//13503 13339//13339\nf 13028//13028 13504//13504 13656//13656\nf 13506//13506 13343//13343 13423//13423\nf 13423//13423 13660//13660 13657//13657\nf 13189//13189 13043//13043 13345//13345\nf 13346//13346 13186//13186 13509//13509\nf 13047//13047 13660//13660 13188//13188\nf 12788//12788 13341//13341 12796//12796\nf 12796//12796 13341//13341 13422//13422\nf 12796//12796 12774//12774 13347//13347\nf 13422//13422 12774//12774 12796//12796\nf 13186//13186 13421//13421 13509//13509\nf 13660//13660 13423//13423 13188//13188\nf 13660//13660 13047//13047 13866//13866\nf 12789//12789 13347//13347 12774//12774\nf 13866//13866 13047//13047 13349//13349\nf 13350//13350 13040//13040 13346//13346\nf 13348//13348 13424//13424 13191//13191\nf 13199//13199 13512//13512 13349//13349\nf 12796//12796 13347//13347 12799//12799\nf 13045//13045 13351//13351 12792//12792\nf 12791//12791 13513//13513 12790//12790\nf 13196//13196 13665//13665 13352//13352\nf 13201//13201 13357//13357 13427//13427\nf 13192//13192 13514//13514 12797//12797\nf 13201//13201 13427//13427 13202//13202\nf 13354//13354 13514//13514 13192//13192\nf 13355//13355 13350//13350 13354//13354\nf 13515//13515 12525//12525 12807//12807\nf 13057//13057 12064//12064 12808//12808\nf 13672//13672 13061//13061 12815//12815\nf 13429//13429 13517//13517 13359//13359\nf 13064//13064 13065//13065 12819//12819\nf 13065//13065 13064//13064 12819//12819\nf 13207//13207 12821//12821 13518//13518\nf 13518//13518 12821//12821 13209//13209\nf 13519//13519 13209//13209 13362//13362\nf 13518//13518 13209//13209 13519//13519\nf 13678//13678 13210//13210 14235//14235\nf 12282//12282 13210//13210 13430//13430\nf 13363//13363 13520//13520 13362//13362\nf 12825//12825 13072//13072 13431//13431\nf 13521//13521 13681//13681 13363//13363\nf 13363//13363 13214//13214 13367//13367\nf 13681//13681 13520//13520 13363//13363\nf 13521//13521 13363//13363 13367//13367\nf 12835//12835 12832//12832 13369//13369\nf 13364//13364 13522//13522 13431//13431\nf 13364//13364 13215//13215 13525//13525\nf 13523//13523 13215//13215 13524//13524\nf 13081//13081 13367//13367 12836//12836\nf 13081//13081 13521//13521 13367//13367\nf 13432//13432 13521//13521 13081//13081\nf 13684//13684 13432//13432 13526//13526\nf 13526//13526 13432//13432 13433//13433\nf 13686//13686 13083//13083 13434//13434\nf 12844//12844 13218//13218 13372//13372\nf 13373//13373 13527//13527 12845//12845\nf 13436//13436 12851//12851 13102//13102\nf 13371//13371 12848//12848 13691//13691\nf 12854//12854 13095//13095 13104//13104\nf 13101//13101 13529//13529 13221//13221\nf 13529//13529 13101//13101 13530//13530\nf 13377//13377 13376//13376 13697//13697\nf 12866//12866 13381//13381 13438//13438\nf 12870//12870 13380//13380 13532//13532\nf 12870//12870 13532//13532 13533//13533\nf 12874//12874 12870//12870 13533//13533\nf 12874//12874 13533//13533 13534//13534\nf 13112//13112 13534//13534 13439//13439\nf 12874//12874 13534//13534 12871//12871\nf 13112//13112 12871//12871 13534//13534\nf 13535//13535 12873//12873 12876//12876\nf 12879//12879 13700//13700 12876//12876\nf 13700//13700 13535//13535 12876//12876\nf 13938//13938 12534//12534 12535//12535\nf 13940//13940 12535//12535 13384//13384\nf 14601//14601 13946//13946 13701//13701\nf 13944//13944 13115//13115 14281//14281\nf 12540//12540 12886//12886 12539//12539\nf 13536//13536 13384//13384 12547//12547\nf 12547//12547 12552//12552 13536//13536\nf 13538//13538 12548//12548 12887//12887\nf 13539//13539 12549//12549 12542//12542\nf 13539//13539 12542//12542 12549//12549\nf 14285//14285 12545//12545 13225//13225\nf 13225//13225 11678//11678 13228//13228\nf 12565//12565 13226//13226 12538//12538\nf 13121//13121 12561//12561 13541//13541\nf 12892//12892 13540//13540 12558//12558\nf 12482//12482 13708//13708 13707//13707\nf 13542//13542 12563//12563 12889//12889\nf 13968//13968 13385//13385 13712//13712\nf 13385//13385 12896//12896 12569//12569\nf 12899//12899 12571//12571 13126//13126\nf 12577//12577 13236//13236 12901//12901\nf 13387//13387 13545//13545 12900//12900\nf 13440//13440 13128//13128 13547//13547\nf 13240//13240 13238//13238 12900//12900\nf 13129//13129 13239//13239 13548//13548\nf 13547//13547 13128//13128 13442//13442\nf 13549//13549 13130//13130 13443//13443\nf 13239//13239 12583//12583 13444//13444\nf 13239//13239 13444//13444 13550//13550\nf 13444//13444 12583//12583 12586//12586\nf 13549//13549 13242//13242 13551//13551\nf 13131//13131 13244//13244 12591//12591\nf 13554//13554 13388//13388 13389//13389\nf 13555//13555 13554//13554 13389//13389\nf 13556//13556 13388//13388 13554//13554\nf 12600//12600 12608//12608 13446//13446\nf 12608//12608 13558//13558 13446//13446\nf 13249//13249 12604//12604 12603//12603\nf 12611//12611 12602//12602 14019//14019\nf 12600//12600 13248//13248 12608//12608\nf 12910//12910 13559//13559 12609//12609\nf 14028//14028 13251//13251 12612//12612\nf 13559//13559 12910//12910 13136//13136\nf 12614//12614 13251//13251 12619//12619\nf 12617//12617 13560//13560 13136//13136\nf 13731//13731 13253//13253 12618//12618\nf 12616//12616 13449//13449 13732//13732\nf 13257//13257 13256//13256 13562//13562\nf 13256//13256 13255//13255 13563//13563\nf 12911//12911 12628//12628 13137//13137\nf 13255//13255 12915//12915 13563//13563\nf 13255//13255 13258//13258 13564//13564\nf 13567//13567 13392//13392 12628//12628\nf 13566//13566 12628//12628 13567//13567\nf 13564//13564 13258//13258 12916//12916\nf 13392//13392 13393//13393 12633//12633\nf 13569//13569 12916//12916 12917//12917\nf 13140//13140 13393//13393 13737//13737\nf 13140//13140 13737//13737 13451//13451\nf 12636//12636 13452//13452 12634//12634\nf 13741//13741 13262//13262 13394//13394\nf 13264//13264 13263//13263 13571//13571\nf 13747//13747 14051//14051 13394//13394\nf 13452//13452 12636//12636 13572//13572\nf 12636//12636 13573//13573 13572//13572\nf 13574//13574 13395//13395 13396//13396\nf 13576//13576 13454//13454 13269//13269\nf 12923//12923 13265//13265 13577//13577\nf 13394//13394 12923//12923 13577//13577\nf 12387//12387 13267//13267 13752//13752\nf 13143//13143 12644//12644 13578//13578\nf 12648//12648 14064//14064 13266//13266\nf 13272//13272 13143//13143 13579//13579\nf 13577//13577 13265//13265 13581//13581\nf 13269//13269 13274//13274 13755//13755\nf 13265//13265 13397//13397 13581//13581\nf 13582//13582 13397//13397 13279//13279\nf 13272//13272 13583//13583 12652//12652\nf 13398//13398 13146//13146 13278//13278\nf 13274//13274 12937//12937 13281//13281\nf 13149//13149 13399//13399 13584//13584\nf 13280//13280 12938//12938 13458//13458\nf 13149//13149 13584//13584 13284//13284\nf 14074//14074 12936//12936 14084//14084\nf 13280//13280 13458//13458 13586//13586\nf 13459//13459 12939//12939 13460//13460\nf 13458//13458 13282//13282 13461//13461\nf 12945//12945 12942//12942 13587//13587\nf 13286//13286 13400//13400 13766//13766\nf 13457//13457 13147//13147 13401//13401\nf 13587//13587 13151//13151 12945//12945\nf 11827//11827 13462//13462 13460//13460\nf 13464//13464 12948//12948 13286//13286\nf 13464//13464 13286//13286 13771//13771\nf 13769//13769 13401//13401 13463//13463\nf 13770//13770 12668//12668 12666//12666\nf 13770//13770 13588//13588 12668//12668\nf 12944//12944 12673//12673 13773//13773\nf 12663//12663 13463//13463 13287//13287\nf 12663//12663 13287//13287 13463//13463\nf 13292//13292 12668//12668 13589//13589\nf 14101//14101 12679//12679 13778//13778\nf 12679//12679 13294//13294 13778//13778\nf 13778//13778 13294//13294 12685//12685\nf 12953//12953 13468//13468 12687//12687\nf 12958//12958 13590//13590 13469//13469\nf 12954//12954 13295//13295 13467//13467\nf 13293//13293 12956//12956 13591//13591\nf 13591//13591 12956//12956 13592//13592\nf 13467//13467 13295//13295 13781//13781\nf 13471//13471 12958//12958 13469//13469\nf 13783//13783 13295//13295 13472//13472\nf 13157//13157 13470//13470 13298//13298\nf 13469//13469 13593//13593 13471//13471\nf 13472//13472 13295//13295 12959//12959\nf 13158//13158 13155//13155 13594//13594\nf 13597//13597 12696//12696 13298//13298\nf 13598//13598 13472//13472 12959//12959\nf 13299//13299 13598//13598 12959//12959\nf 13784//13784 13471//13471 13593//13593\nf 12693//12693 13596//13596 12963//12963\nf 13594//13594 12964//12964 13158//13158\nf 12695//12695 13599//13599 12961//12961\nf 13599//13599 12695//12695 12961//12961\nf 14122//14122 13598//13598 13299//13299\nf 13597//13597 13474//13474 12696//12696\nf 14117//14117 12694//12694 14120//14120\nf 13474//13474 12968//12968 12696//12696\nf 12968//12968 13474//13474 13786//13786\nf 13477//13477 12971//12971 12702//12702\nf 13162//13162 14129//14129 13790//13790\nf 12704//12704 13603//13603 13161//13161\nf 13302//13302 12707//12707 12965//12965\nf 13787//13787 12967//12967 13602//13602\nf 13605//13605 12970//12970 13602//13602\nf 13605//13605 12967//12967 12970//12970\nf 13306//13306 13607//13607 13792//13792\nf 13792//13792 14130//14130 14136//14136\nf 12715//12715 13611//13611 12719//12719\nf 13616//13616 13614//13614 13314//13314\nf 13311//13311 12982//12982 13481//13481\nf 13314//13314 13169//13169 13616//13616\nf 13617//13617 13316//13316 13615//13615\nf 13618//13618 13481//13481 12982//12982\nf 13409//13409 13170//13170 13619//13619\nf 14150//14150 12727//12727 13317//13317\nf 13410//13410 12989//12989 13316//13316\nf 12993//12993 12985//12985 13482//13482\nf 13814//13814 13172//13172 13809//13809\nf 12730//12730 13622//13622 13620//13620\nf 13620//13620 12987//12987 12730//12730\nf 13621//13621 13318//13318 12732//12732\nf 13001//13001 13814//13814 13625//13625\nf 13320//13320 13815//13815 13484//13484\nf 13411//13411 13624//13624 13819//13819\nf 13001//13001 13172//13172 13814//13814\nf 12730//12730 13174//13174 13485//13485\nf 12996//12996 13626//13626 13319//13319\nf 12996//12996 13319//13319 13626//13626\nf 12740//12740 13001//13001 13627//13627\nf 13630//13630 13413//13413 12996//12996\nf 13631//13631 13320//13320 13178//13178\nf 13631//13631 13628//13628 13320//13320\nf 12740//12740 13627//13627 13327//13327\nf 13174//13174 13176//13176 13629//13629\nf 13176//13176 13412//13412 13629//13629\nf 13412//13412 13827//13827 13633//13633\nf 13636//13636 13321//13321 13322//13322\nf 13006//13006 12739//12739 13634//13634\nf 13488//13488 13635//13635 13327//13327\nf 13325//13325 13640//13640 13324//13324\nf 13640//13640 13639//13639 13324//13324\nf 13006//13006 13634//13634 14162//14162\nf 13322//13322 13323//13323 13637//13637\nf 13323//13323 13638//13638 13637//13637\nf 13323//13323 13638//13638 13831//13831\nf 13007//13007 13635//13635 13488//13488\nf 13010//13010 13007//13007 13488//13488\nf 13006//13006 14167//14167 14171//14171\nf 13009//13009 13180//13180 13490//13490\nf 13180//13180 13006//13006 13490//13490\nf 13414//13414 13328//13328 13493//13493\nf 13492//13492 13835//13835 13836//13836\nf 13643//13643 13415//13415 13492//13492\nf 13837//13837 13335//13335 13494//13494\nf 13837//13837 13491//13491 13335//13335\nf 13838//13838 13836//13836 14178//14178\nf 13012//13012 13645//13645 13330//13330\nf 13415//13415 13643//13643 13836//13836\nf 12750//12750 13333//13333 13649//13649\nf 14181//14181 13018//13018 13181//13181\nf 13496//13496 13014//13014 13416//13416\nf 13496//13496 12747//12747 13014//13014\nf 12756//12756 12757//12757 13650//13650\nf 13850//13850 12757//12757 12759//12759\nf 13847//13847 13493//13493 13417//13417\nf 13419//13419 13847//13847 13417//13417\nf 13854//13854 13498//13498 13339//13339\nf 13421//13421 13183//13183 13182//13182\nf 13508//13508 13502//13502 13858//13858\nf 13859//13859 13506//13506 13423//13423\nf 13421//13421 13182//13182 13655//13655\nf 13507//13507 12775//12775 12776//12776\nf 13505//13505 13340//13340 13659//13659\nf 13348//13348 13510//13510 13861//13861\nf 13424//13424 13348//13348 13663//13663\nf 13046//13046 13510//13510 13348//13348\nf 13348//13348 13863//13863 13663//13663\nf 13663//13663 13664//13664 13424//13424\nf 13511//13511 13424//13424 13664//13664\nf 13870//13870 13871//13871 13512//13512\nf 12799//12799 13347//13347 12789//12789\nf 13045//13045 13190//13190 13351//13351\nf 12791//12791 13425//13425 13513//13513\nf 13196//13196 13511//13511 13665//13665\nf 13668//13668 13198//13198 13667//13667\nf 13198//13198 13512//13512 13199//13199\nf 13669//13669 13351//13351 13190//13190\nf 13665//13665 13666//13666 13426//13426\nf 13197//13197 13667//13667 13198//13198\nf 13668//13668 13667//13667 13873//13873\nf 13198//13198 13668//13668 13512//13512\nf 12799//12799 12789//12789 12801//12801\nf 13352//13352 13665//13665 13426//13426\nf 13886//13886 13354//13354 13350//13350\nf 13356//13356 13351//13351 13887//13887\nf 13048//13048 13351//13351 13356//13356\nf 12806//12806 13194//13194 12807//12807\nf 13057//13057 12808//12808 12810//12810\nf 13061//13061 12817//12817 12815//12815\nf 13428//13428 13517//13517 13671//13671\nf 13517//13517 13428//13428 13359//13359\nf 13206//13206 14227//14227 13893//13893\nf 13063//13063 13206//13206 13893//13893\nf 13517//13517 13429//13429 13673//13673\nf 13894//13894 13065//13065 12819//12819\nf 13676//13676 13519//13519 13362//13362\nf 15323//15323 14235//14235 14234//14234\nf 13067//13067 13361//13361 14234//14234\nf 13678//13678 13430//13430 13210//13210\nf 13677//13677 13362//13362 13520//13520\nf 14238//14238 14237//14237 13074//13074\nf 12105//12105 12829//12829 13076//13076\nf 13365//13365 13366//13366 13076//13076\nf 13680//13680 12825//12825 13431//13431\nf 13902//13902 12825//12825 13680//13680\nf 13369//13369 12832//12832 13683//13683\nf 13904//13904 13078//13078 13216//13216\nf 13215//13215 13077//13077 13524//13524\nf 13077//13077 13368//13368 13524//13524\nf 13681//13681 13521//13521 13432//13432\nf 13523//13523 13525//13525 13215//13215\nf 13522//13522 13364//13364 13525//13525\nf 13525//13525 13911//13911 13522//13522\nf 13686//13686 13434//13434 13083//13083\nf 13434//13434 13083//13083 13084//13084\nf 13685//13685 13526//13526 13433//13433\nf 13685//13685 13433//13433 13435//13435\nf 13435//13435 13689//13689 13685//13685\nf 13689//13689 13435//13435 13436//13436\nf 14258//14258 13693//13693 12855//12855\nf 12855//12855 13693//13693 12856//12856\nf 12856//12856 13693//13693 13102//13102\nf 12848//12848 13374//13374 13919//13919\nf 13371//13371 13220//13220 13093//13093\nf 13692//13692 12854//12854 13104//13104\nf 13692//13692 13104//13104 13694//13694\nf 13528//13528 13218//13218 13221//13221\nf 13920//13920 13097//13097 13437//13437\nf 13921//13921 13374//13374 13098//13098\nf 13528//13528 14263//14263 14261//14261\nf 13108//13108 13696//13696 13375//13375\nf 13107//13107 13531//13531 12859//12859\nf 13530//13530 13101//13101 13377//13377\nf 13439//13439 13930//13930 13699//13699\nf 13931//13931 13110//13110 12862//12862\nf 12532//12532 12539//12539 13937//13937\nf 13939//13939 13938//13938 12535//12535\nf 14713//14713 14601//14601 15253//15253\nf 13942//13942 12883//12883 12536//12536\nf 12537//12537 13115//13115 13944//13944\nf 13950//13950 12534//12534 13938//13938\nf 12532//12532 13948//13948 12538//12538\nf 12533//12533 12534//12534 13224//13224\nf 13951//13951 13702//13702 13116//13116\nf 14283//14283 12544//12544 13946//13946\nf 12551//12551 12884//12884 13947//13947\nf 12885//12885 12546//12546 13703//13703\nf 12546//12546 12554//12554 13703//13703\nf 12548//12548 13955//13955 12553//12553\nf 12557//12557 12551//12551 13958//13958\nf 14285//14285 13225//13225 13228//13228\nf 13962//13962 12893//12893 13230//13230\nf 13121//13121 13541//13541 14287//14287\nf 13969//13969 12565//12565 12538//12538\nf 12482//12482 13119//13119 13120//13120\nf 12889//12889 13704//13704 13542//13542\nf 12894//12894 12550//12550 13971//13971\nf 14286//14286 13229//13229 13710//13710\nf 13711//13711 13230//13230 13122//13122\nf 12563//12563 13542//13542 13709//13709\nf 13968//13968 13711//13711 13122//13122\nf 13713//13713 12892//12892 12562//12562\nf 13543//13543 12564//12564 12568//12568\nf 13973//13973 13385//13385 12569//12569\nf 13976//13976 13231//13231 12566//12566\nf 12570//12570 13714//13714 13386//13386\nf 12573//12573 13125//13125 13715//13715\nf 13440//13440 12899//12899 13126//13126\nf 13236//13236 12899//12899 13717//13717\nf 12901//12901 13236//13236 13719//13719\nf 13440//13440 13718//13718 13128//13128\nf 13548//13548 13986//13986 13129//13129\nf 13990//13990 12904//12904 13237//13237\nf 13993//13993 13441//13441 12584//12584\nf 12905//12905 12577//12577 13720//13720\nf 12903//12903 12905//12905 13720//13720\nf 13130//13130 13549//13549 13547//13547\nf 13243//13243 12587//12587 13997//13997\nf 12591//12591 14000//14000 13996//13996\nf 13549//13549 13443//13443 13242//13242\nf 13998//13998 13389//13389 13241//13241\nf 13444//13444 12586//12586 13132//13132\nf 13246//13246 13553//13553 13132//13132\nf 14005//14005 12591//12591 13245//13245\nf 13555//13555 14009//14009 13554//13554\nf 14009//14009 13556//13556 13554//13554\nf 12606//12606 13390//13390 13723//13723\nf 14013//14013 12595//12595 13247//13247\nf 12600//12600 13727//13727 13247//13247\nf 12601//12601 12605//12605 14017//14017\nf 14018//14018 12610//12610 12606//12606\nf 13558//13558 12600//12600 13446//13446\nf 13445//13445 14016//14016 13448//13448\nf 13729//13729 13391//13391 12611//12611\nf 13728//13728 13448//13448 13730//13730\nf 13730//13730 13448//13448 13728//13728\nf 14026//14026 14028//14028 12612//12612\nf 12619//12619 13251//13251 14028//14028\nf 12618//12618 13561//13561 13731//13731\nf 13257//13257 14033//14033 12620//12620\nf 12627//12627 12621//12621 13733//13733\nf 13565//13565 12622//12622 14040//14040\nf 14040//14040 12622//12622 13259//13259\nf 14041//14041 13564//13564 12916//12916\nf 14042//14042 12916//12916 14041//14041\nf 12630//12630 13568//13568 13259//13259\nf 13393//13393 13392//13392 14043//14043\nf 13736//13736 13737//13737 13393//13393\nf 14046//14046 12917//12917 13261//13261\nf 13451//13451 13738//13738 14048//14048\nf 13452//13452 13739//13739 12634//12634\nf 13740//13740 13263//13263 13738//13738\nf 13740//13740 13738//13738 14048//14048\nf 14046//14046 13261//13261 13262//13262\nf 14046//14046 13262//13262 13741//13741\nf 13571//13571 13263//13263 13740//13740\nf 12639//12639 12920//12920 13570//13570\nf 14051//14051 14046//14046 13741//13741\nf 13264//13264 13571//13571 13740//13740\nf 13743//13743 13742//13742 13396//13396\nf 13264//13264 13744//13744 13453//13453\nf 14051//14051 13741//13741 13394//13394\nf 13742//13742 13574//13574 13396//13396\nf 13745//13745 13743//13743 13396//13396\nf 13264//13264 13740//13740 13744//13744\nf 13454//13454 13745//13745 13396//13396\nf 12637//12637 13572//13572 13573//13573\nf 13746//13746 13745//13745 13454//13454\nf 13454//13454 13576//13576 13746//13746\nf 12642//12642 12639//12639 13575//13575\nf 13748//13748 13453//13453 13744//13744\nf 13749//13749 13748//13748 13744//13744\nf 13455//13455 14304//14304 13268//13268\nf 13748//13748 13270//13270 13453//13453\nf 13269//13269 13755//13755 13576//13576\nf 13748//13748 13749//13749 13270//13270\nf 14058//14058 13747//13747 13577//13577\nf 13747//13747 13394//13394 13577//13577\nf 12926//12926 12387//12387 13752//13752\nf 13456//13456 12643//12643 13753//13753\nf 13278//13278 13270//13270 13749//13749\nf 13278//13278 13749//13749 13754//13754\nf 14061//14061 13269//13269 13755//13755\nf 14064//14064 12648//12648 14067//14067\nf 13275//13275 13268//13268 13758//13758\nf 13580//13580 13278//13278 13754//13754\nf 12642//12642 14065//14065 12650//12650\nf 13274//13274 13756//13756 13755//13755\nf 14067//14067 12648//12648 14070//14070\nf 12641//12641 13273//13273 13757//13757\nf 14069//14069 13581//13581 13759//13759\nf 14069//14069 13577//13577 13581//13581\nf 13398//13398 13580//13580 13754//13754\nf 13398//13398 13278//13278 13580//13580\nf 13759//13759 13581//13581 13397//13397\nf 12657//12657 13758//13758 13399//13399\nf 13582//13582 13759//13759 13397//13397\nf 13399//13399 13758//13758 14071//14071\nf 14072//14072 13760//13760 13763//13763\nf 13584//13584 13399//13399 13760//13760\nf 13399//13399 13763//13763 13760//13760\nf 13585//13585 13584//13584 13761//13761\nf 13583//13583 14081//14081 12652//12652\nf 13584//13584 13760//13760 13761//13761\nf 13765//13765 12942//12942 12652//12652\nf 13585//13585 13761//13761 13284//13284\nf 13284//13284 13761//13761 13767//13767\nf 13585//13585 13284//13284 13584//13584\nf 12936//12936 12939//12939 13459//13459\nf 13400//13400 13398//13398 13766//13766\nf 13768//13768 13279//13279 13457//13457\nf 14083//14083 13279//13279 13768//13768\nf 13458//13458 13461//13461 13586//13586\nf 13768//13768 13457//13457 13769//13769\nf 13284//13284 13770//13770 12666//12666\nf 14086//14086 13283//13283 13150//13150\nf 13769//13769 13457//13457 13401//13401\nf 13286//13286 13766//13766 13771//13771\nf 13464//13464 13771//13771 13772//13772\nf 12944//12944 13773//13773 14092//14092\nf 13289//13289 13151//13151 14093//14093\nf 13462//13462 13288//13288 13774//13774\nf 13775//13775 13463//13463 13287//13287\nf 14096//14096 13463//13463 13775//13775\nf 13288//13288 12679//12679 13774//13774\nf 13775//13775 13287//13287 13465//13465\nf 13466//13466 12679//12679 14101//14101\nf 13776//13776 12676//12676 13403//13403\nf 14103//14103 13778//13778 13294//13294\nf 13404//13404 12680//12680 14104//14104\nf 12682//12682 13777//13777 12953//12953\nf 14103//14103 13294//13294 13778//13778\nf 13779//13779 12949//12949 13467//13467\nf 13590//13590 13402//13402 13780//13780\nf 13593//13593 13469//13469 13590//13590\nf 14108//14108 13403//13403 13296//13296\nf 13779//13779 13467//13467 13781//13781\nf 13591//13591 13592//13592 14113//14113\nf 13594//13594 13155//13155 13782//13782\nf 14110//14110 13296//13296 12692//12692\nf 14116//14116 12691//12691 14111//14111\nf 13595//13595 12689//12689 12961//12961\nf 13471//13471 13784//13784 13300//13300\nf 12691//12691 14116//14116 13596//13596\nf 13595//13595 12961//12961 13599//13599\nf 14119//14119 12696//12696 13597//13597\nf 14119//14119 13597//13597 12696//12696\nf 13599//13599 12961//12961 12695//12695\nf 13599//13599 12695//12695 12965//12965\nf 13405//13405 12966//12966 13476//13476\nf 13299//13299 13475//13475 13787//13787\nf 13788//13788 12703//12703 13600//13600\nf 13785//13785 13405//13405 13476//13476\nf 12702//12702 13300//13300 13477//13477\nf 13303//13303 12703//12703 13788//13788\nf 12968//12968 13786//13786 12969//12969\nf 12966//12966 13162//13162 13476//13476\nf 13786//13786 14127//14127 12969//12969\nf 13787//13787 13475//13475 12967//12967\nf 12971//12971 13477//13477 13792//13792\nf 13605//13605 13602//13602 12967//12967\nf 12965//12965 12707//12707 13791//13791\nf 13606//13606 12969//12969 13604//13604\nf 13607//13607 12971//12971 13792//13792\nf 13477//13477 13789//13789 13792//13792\nf 14131//14131 13478//13478 13608//13608\nf 12717//12717 13608//13608 13478//13478\nf 14134//14134 13162//13162 13479//13479\nf 12970//12970 13305//13305 13602//13602\nf 13406//13406 13303//13303 13794//13794\nf 14131//14131 13608//13608 13610//13610\nf 13608//13608 12717//12717 13610//13610\nf 14135//14135 13602//13602 13305//13305\nf 13606//13606 13797//13797 12715//12715\nf 12974//12974 13165//13165 13799//13799\nf 14135//14135 13305//13305 14139//14139\nf 13406//13406 12720//12720 12976//12976\nf 12715//12715 13798//13798 13611//13611\nf 13479//13479 13799//13799 14134//14134\nf 13479//13479 12974//12974 13799//13799\nf 12978//12978 13611//13611 13802//13802\nf 13165//13165 13612//13612 13799//13799\nf 13801//13801 13313//13313 13167//13167\nf 13614//13614 14139//14139 13310//13310\nf 13803//13803 12978//12978 13802//13802\nf 13612//13612 13165//13165 13312//13312\nf 13804//13804 13801//13801 14142//14142\nf 13614//13614 13310//13310 13314//13314\nf 13615//13615 12978//12978 13803//13803\nf 13313//13313 13804//13804 13315//13315\nf 13315//13315 13804//13804 13805//13805\nf 13613//13613 13311//13311 13618//13618\nf 13311//13311 13481//13481 13618//13618\nf 13317//13317 12725//12725 14147//14147\nf 13807//13807 13409//13409 13808//13808\nf 12728//12728 12727//12727 14150//14150\nf 13410//13410 13316//13316 13809//13809\nf 13811//13811 14148//14148 14154//14154\nf 14146//14146 13616//13616 13483//13483\nf 13810//13810 13618//13618 12982//12982\nf 13810//13810 12982//12982 12986//12986\nf 13409//13409 13619//13619 13808//13808\nf 13808//13808 13619//13619 13170//13170\nf 13815//13815 14153//14153 13484//13484\nf 12732//12732 12731//12731 12728//12728\nf 13621//13621 12732//12732 14150//14150\nf 13172//13172 13410//13410 13809//13809\nf 13808//13808 13170//13170 14156//14156\nf 12993//12993 13811//13811 13812//13812\nf 12993//12993 13482//13482 13811//13811\nf 14153//14153 13483//13483 13484//13484\nf 12986//12986 13411//13411 13813//13813\nf 14156//14156 13170//13170 13620//13620\nf 13818//13818 12993//12993 13812//13812\nf 12730//12730 13485//13485 13622//13622\nf 13623//13623 13816//13816 12733//12733\nf 12990//12990 13624//13624 13411//13411\nf 13485//13485 13817//13817 13622//13622\nf 13818//13818 13319//13319 12993//12993\nf 13628//13628 13815//13815 13320//13320\nf 12990//12990 12734//12734 13624//13624\nf 13625//13625 13627//13627 13001//13001\nf 13630//13630 13319//13319 13626//13626\nf 13817//13817 13485//13485 13174//13174\nf 12738//12738 13486//13486 14159//14159\nf 13627//13627 13820//13820 13327//13327\nf 12996//12996 13319//13319 13630//13630\nf 13824//13824 13174//13174 13629//13629\nf 12739//12739 12738//12738 13821//13821\nf 13412//13412 13824//13824 13629//13629\nf 13413//13413 13630//13630 13632//13632\nf 13824//13824 13412//13412 13633//13633\nf 13632//13632 13630//13630 13825//13825\nf 13327//13327 14160//14160 13826//13826\nf 13325//13325 13413//13413 13632//13632\nf 13327//13327 13826//13826 13488//13488\nf 13827//13827 13412//13412 13321//13321\nf 13637//13637 13636//13636 13322//13322\nf 13828//13828 13325//13325 13632//13632\nf 13823//13823 13631//13631 13329//13329\nf 13636//13636 13827//13827 13321//13321\nf 13831//13831 13637//13637 13638//13638\nf 13640//13640 13325//13325 13828//13828\nf 14162//14162 14167//14167 13006//13006\nf 13827//13827 13321//13321 13829//13829\nf 13321//13321 13827//13827 13636//13636\nf 13321//13321 13636//13636 13829//13829\nf 13638//13638 13323//13323 13831//13831\nf 13638//13638 13324//13324 13832//13832\nf 13833//13833 13832//13832 13639//13639\nf 13324//13324 13639//13639 13832//13832\nf 13639//13639 13640//13640 13833//13833\nf 13010//13010 13488//13488 14169//14169\nf 13636//13636 13637//13637 13830//13830\nf 13831//13831 13638//13638 13832//13832\nf 13329//13329 13489//13489 13834//13834\nf 13829//13829 13636//13636 13830//13830\nf 14170//14170 13834//13834 13489//13489\nf 14172//14172 13641//13641 13642//13642\nf 13641//13641 13487//13487 13642//13642\nf 14170//14170 13489//13489 13491//13491\nf 13642//13642 13487//13487 13414//13414\nf 13492//13492 13010//13010 13835//13835\nf 13835//13835 13010//13010 14169//14169\nf 14351//14351 14172//14172 13642//13642\nf 13492//13492 13836//13836 13643//13643\nf 14170//14170 13491//13491 14174//14174\nf 13837//13837 14174//14174 13491//13491\nf 13644//13644 13009//13009 13490//13490\nf 14174//14174 13837//13837 13494//13494\nf 13838//13838 13415//13415 13836//13836\nf 13646//13646 13415//13415 13838//13838\nf 14174//14174 13494//13494 13839//13839\nf 12746//12746 13330//13330 13645//13645\nf 13840//13840 12746//12746 13645//13645\nf 15084//15084 14184//14184 15312//15312\nf 13021//13021 13334//13334 13644//13644\nf 13418//13418 13646//13646 13842//13842\nf 13418//13418 13842//13842 13843//13843\nf 13418//13418 13843//13843 13497//13497\nf 13839//13839 13337//13337 13846//13846\nf 13846//13846 13337//13337 13498//13498\nf 13337//13337 13839//13839 13494//13494\nf 13844//13844 13012//13012 13647//13647\nf 13012//13012 12747//12747 13648//13648\nf 13647//13647 13012//13012 13648//13648\nf 14184//14184 13336//13336 13332//13332\nf 13651//13651 13497//13497 13843//13843\nf 13850//13850 13650//13650 12757//12757\nf 13652//13652 13021//13021 13845//13845\nf 13849//13849 13496//13496 13416//13416\nf 13653//13653 13651//13651 13848//13848\nf 13653//13653 13497//13497 13651//13651\nf 13501//13501 13420//13420 13848//13848\nf 13338//13338 13855//13855 13499//13499\nf 13338//13338 13852//13852 13855//13855\nf 13652//13652 13845//13845 13500//13500\nf 13653//13653 13848//13848 13420//13420\nf 13853//13853 13501//13501 13848//13848\nf 13502//13502 13501//13501 13853//13853\nf 14187//14187 13502//13502 13853//13853\nf 14185//14185 13854//13854 13339//13339\nf 13847//13847 13419//13419 13856//13856\nf 14185//14185 13339//13339 13503//13503\nf 13856//13856 13419//13419 13654//13654\nf 13859//13859 13503//13503 13506//13506\nf 13859//13859 13860//13860 13503//13503\nf 13508//13508 13345//13345 13502//13502\nf 13182//13182 13499//13499 13855//13855\nf 13419//13419 13505//13505 13654//13654\nf 13508//13508 13858//13858 13861//13861\nf 13510//13510 13861//13861 14191//14191\nf 13657//13657 13859//13859 13423//13423\nf 13661//13661 13421//13421 13655//13655\nf 13862//13862 13342//13342 12777//12777\nf 13510//13510 14191//14191 13861//13861\nf 13510//13510 13508//13508 13861//13861\nf 13662//13662 13348//13348 13861//13861\nf 13661//13661 13867//13867 13509//13509\nf 13862//13862 13340//13340 13342//13342\nf 13663//13663 13863//13863 13864//13864\nf 13660//13660 13866//13866 13657//13657\nf 13421//13421 13661//13661 13509//13509\nf 13348//13348 13662//13662 13863//13863\nf 13665//13665 13511//13511 13868//13868\nf 13870//13870 13869//13869 13871//13871\nf 13349//13349 13871//13871 13866//13866\nf 13665//13665 13868//13868 13872//13872\nf 13512//13512 13873//13873 13869//13869\nf 13878//13878 14216//14216 13873//13873\nf 13512//13512 13869//13869 13870//13870\nf 13665//13665 13872//13872 13874//13874\nf 13357//13357 13876//13876 13427//13427\nf 13357//13357 13666//13666 13874//13874\nf 13353//13353 13880//13880 13875//13875\nf 13353//13353 13875//13875 13877//13877\nf 13665//13665 13874//13874 13666//13666\nf 13876//13876 13875//13875 13427//13427\nf 13875//13875 13880//13880 13427//13427\nf 13197//13197 13877//13877 13878//13878\nf 13878//13878 13873//13873 13667//13667\nf 13873//13873 13512//13512 13668//13668\nf 13426//13426 13666//13666 13357//13357\nf 13197//13197 13353//13353 13877//13877\nf 13878//13878 13667//13667 13197//13197\nf 13190//13190 12798//12798 13669//13669\nf 12790//12790 13881//13881 12783//12783\nf 13513//13513 13881//13881 12790//12790\nf 13353//13353 13427//13427 13880//13880\nf 13670//13670 13350//13350 13882//13882\nf 13881//13881 13888//13888 14221//14221\nf 13881//13881 13513//13513 13425//13425\nf 13884//13884 13515//13515 13194//13194\nf 13884//13884 13194//13194 13883//13883\nf 13881//13881 13425//13425 13888//13888\nf 13515//13515 12807//12807 13194//13194\nf 13358//13358 13888//13888 13425//13425\nf 13356//13356 13889//13889 13050//13050\nf 13050//13050 14223//14223 12808//12808\nf 13671//13671 13358//13358 13428//13428\nf 12814//12814 13058//13058 13890//13890\nf 13891//13891 13360//13360 13061//13061\nf 13674//13674 13063//13063 13893//13893\nf 13673//13673 13892//13892 13517//13517\nf 14229//14229 12819//12819 13063//13063\nf 13895//13895 13673//13673 13429//13429\nf 14231//14231 13065//13065 13894//13894\nf 13518//13518 13896//13896 13207//13207\nf 13897//13897 13518//13518 13898//13898\nf 13518//13518 13519//13519 13898//13898\nf 13899//13899 13361//13361 13065//13065\nf 14233//14233 13676//13676 13677//13677\nf 13362//13362 13677//13677 13676//13676\nf 13210//13210 12095//12095 14235//14235\nf 13213//13213 13430//13430 13678//13678\nf 14380//14380 13213//13213 13678//13678\nf 13677//13677 13520//13520 13900//13900\nf 13902//13902 13683//13683 12827//12827\nf 13902//13902 12827//12827 12825//12825\nf 14237//14237 13679//13679 12829//12829\nf 13901//13901 12832//12832 12827//12827\nf 13901//13901 12827//12827 13683//13683\nf 13520//13520 13903//13903 13900//13900\nf 13683//13683 12832//12832 13901//13901\nf 13216//13216 13365//13365 13682//13682\nf 13682//13682 13365//13365 14239//14239\nf 13520//13520 13681//13681 13903//13903\nf 13906//13906 13903//13903 13681//13681\nf 13680//13680 13907//13907 13902//13902\nf 13078//13078 13904//13904 14241//14241\nf 13078//13078 14241//14241 12831//12831\nf 13903//13903 13906//13906 13432//13432\nf 13906//13906 13681//13681 13432//13432\nf 13369//13369 14240//14240 14244//14244\nf 13909//13909 13903//13903 13432//13432\nf 13680//13680 13431//13431 13907//13907\nf 13431//13431 13522//13522 13907//13907\nf 13909//13909 13684//13684 13910//13910\nf 13684//13684 13909//13909 13432//13432\nf 13912//13912 13911//13911 13525//13525\nf 13525//13525 13523//13523 14247//14247\nf 13526//13526 13910//13910 13684//13684\nf 13913//13913 14250//14250 13910//13910\nf 13913//13913 13910//13910 13526//13526\nf 13688//13688 13913//13913 13526//13526\nf 13688//13688 13526//13526 13685//13685\nf 13434//13434 13687//13687 12839//12839\nf 12839//12839 13687//13687 12840//12840\nf 13916//13916 12840//12840 13687//13687\nf 13689//13689 13688//13688 13685//13685\nf 13689//13689 13915//13915 13688//13688\nf 13690//13690 13689//13689 13436//13436\nf 12840//12840 13916//13916 14252//14252\nf 13102//13102 13917//13917 13690//13690\nf 13436//13436 13102//13102 13690//13690\nf 14253//14253 12853//12853 13219//13219\nf 13691//13691 14259//14259 13371//13371\nf 13918//13918 13437//13437 13090//13090\nf 14259//14259 13220//13220 13371//13371\nf 14261//14261 13218//13218 13528//13528\nf 13921//13921 13098//13098 13097//13097\nf 13528//13528 13221//13221 13695//13695\nf 13099//13099 13220//13220 13376//13376\nf 13221//13221 13529//13529 13695//13695\nf 13922//13922 13105//13105 12858//12858\nf 14262//14262 13105//13105 13922//13922\nf 13531//13531 13107//13107 13923//13923\nf 13101//13101 13530//13530 13924//13924\nf 13530//13530 13101//13101 13924//13924\nf 13530//13530 13924//13924 13529//13529\nf 14264//14264 12861//12861 13105//13105\nf 13924//13924 13530//13530 13377//13377\nf 13698//13698 13380//13380 12865//12865\nf 13698//13698 13928//13928 13380//13380\nf 13380//13380 13929//13929 13532//13532\nf 13928//13928 13929//13929 13380//13380\nf 13533//13533 14269//14269 13534//13534\nf 13930//13930 13439//13439 13534//13534\nf 13381//13381 13439//13439 13699//13699\nf 13932//13932 13696//13696 13111//13111\nf 13379//13379 12862//12862 13110//13110\nf 13111//13111 13696//13696 13108//13108\nf 13932//13932 13535//13535 13934//13934\nf 13932//13932 13111//13111 13535//13535\nf 13383//13383 12877//12877 13935//13935\nf 12881//12881 13222//13222 12879//12879\nf 12886//12886 13937//13937 12539//12539\nf 13941//13941 13940//13940 13384//13384\nf 12541//12541 13114//13114 13701//13701\nf 13701//13701 12883//12883 13942//13942\nf 14281//14281 13115//13115 13945//13945\nf 13384//13384 13536//13536 13941//13941\nf 13536//13536 12552//12552 13941//13941\nf 13936//13936 13948//13948 12532//12532\nf 13950//13950 13224//13224 12534//12534\nf 12888//12888 13116//13116 13702//13702\nf 13951//13951 12542//12542 13952//13952\nf 13951//13951 13116//13116 12542//12542\nf 13958//13958 12551//12551 13947//13947\nf 13955//13955 12552//12552 12553//12553\nf 13956//13956 12550//12550 12543//12543\nf 13945//13945 12885//12885 13703//13703\nf 13959//13959 13537//13537 13117//13117\nf 13537//13537 13227//13227 13117//13117\nf 13223//13223 13224//13224 13954//13954\nf 13957//13957 12545//12545 14285//14285\nf 13949//13949 12886//12886 12890//12890\nf 13952//13952 12542//12542 13539//13539\nf 12561//12561 12557//12557 13963//13963\nf 13969//13969 12538//12538 13948//13948\nf 13964//13964 12890//12890 12558//12558\nf 13961//13961 12890//12890 13964//13964\nf 13540//13540 13964//13964 12558//12558\nf 12889//12889 13705//13705 13704//13704\nf 12889//12889 13223//13223 13705//13705\nf 14389//14389 13228//13228 13706//13706\nf 14286//14286 13706//13706 13229//13229\nf 12554//12554 12567//12567 13967//13967\nf 12562//12562 13227//13227 13537//13537\nf 13708//13708 12482//12482 13120//13120\nf 13971//13971 13970//13970 12895//12895\nf 13971//13971 12895//12895 12894//12894\nf 13972//13972 13710//13710 12485//12485\nf 13540//13540 12892//12892 13713//13713\nf 13709//13709 13544//13544 12563//12563\nf 12893//12893 13962//13962 12566//12566\nf 13976//13976 12485//12485 13123//13123\nf 13967//13967 12567//12567 13386//13386\nf 13978//13978 12565//12565 13969//13969\nf 13233//13233 13975//13975 12568//12568\nf 12895//12895 13715//13715 13125//13125\nf 13967//13967 13386//13386 13977//13977\nf 13977//13977 13386//13386 13714//13714\nf 13976//13976 13123//13123 13231//13231\nf 13979//13979 12573//12573 13715//13715\nf 13714//13714 12570//12570 13980//13980\nf 13978//13978 13234//13234 13232//13232\nf 13975//13975 13233//13233 12574//12574\nf 12572//12572 13980//13980 12570//12570\nf 13981//13981 13234//13234 13978//13978\nf 13975//13975 12574//12574 13982//13982\nf 13984//13984 12573//12573 13979//13979\nf 13981//13981 12898//12898 13234//13234\nf 13984//13984 13545//13545 12573//12573\nf 13988//13988 12898//12898 13716//13716\nf 13717//13717 12899//12899 13440//13440\nf 13236//13236 13717//13717 13440//13440\nf 13989//13989 13985//13985 12578//12578\nf 13237//13237 12898//12898 13988//13988\nf 13986//13986 12574//12574 13129//13129\nf 13440//13440 13126//13126 13128//13128\nf 13719//13719 13236//13236 13440//13440\nf 13718//13718 13440//13440 13128//13128\nf 12577//12577 12901//12901 13719//13719\nf 13240//13240 12900//12900 13987//13987\nf 13989//13989 12578//12578 13441//13441\nf 13237//13237 13988//13988 13990//13990\nf 13719//13719 13440//13440 13547//13547\nf 12577//12577 13719//13719 13991//13991\nf 13720//13720 12577//12577 13991//13991\nf 13994//13994 13993//13993 12584//12584\nf 13995//13995 12904//12904 13990//13990\nf 12587//12587 13240//13240 13992//13992\nf 13994//13994 12584//12584 13996//13996\nf 12585//12585 12904//12904 13721//13721\nf 13995//13995 13721//13721 12904//12904\nf 12587//12587 13992//13992 13997//13997\nf 12903//12903 13720//13720 13241//13241\nf 13998//13998 13241//13241 14290//14290\nf 13243//13243 13997//13997 12590//12590\nf 13131//13131 12591//12591 13996//13996\nf 12589//12589 12585//12585 14001//14001\nf 13721//13721 14001//14001 12585//12585\nf 13551//13551 13552//13552 13549//13549\nf 13551//13551 14003//14003 13552//13552\nf 14004//14004 13389//13389 14291//14291\nf 13551//13551 13388//13388 14003//14003\nf 13389//13389 14004//14004 13555//13555\nf 14000//14000 12591//12591 14005//14005\nf 14006//14006 12589//12589 14001//14001\nf 14006//14006 13133//13133 12589//12589\nf 13388//13388 13557//13557 14003//14003\nf 14007//14007 13553//13553 13246//13246\nf 13723//13723 13390//13390 12594//12594\nf 12590//12590 13999//13999 12594//12594\nf 13388//13388 13556//13556 14009//14009\nf 13445//13445 14009//14009 13555//13555\nf 12592//12592 14010//14010 12909//12909\nf 12601//12601 14011//14011 13246//13246\nf 14010//14010 12592//12592 14013//14013\nf 14014//14014 12909//12909 14010//14010\nf 13134//13134 12909//12909 14014//14014\nf 13133//13133 14012//14012 12602//12602\nf 13445//13445 14015//14015 13557//13557\nf 13722//13722 14016//14016 13555//13555\nf 13445//13445 13555//13555 14016//14016\nf 14013//14013 13247//13247 13724//13724\nf 12600//12600 13724//13724 13727//13727\nf 13727//13727 13724//13724 13247//13247\nf 12603//12603 13134//13134 14014//14014\nf 13726//13726 12598//12598 13447//13447\nf 13724//13724 13558//13558 14481//14481\nf 12605//12605 14022//14022 14017//14017\nf 14012//14012 14019//14019 12602//12602\nf 12603//12603 14020//14020 13249//13249\nf 14021//14021 13250//13250 13249//13249\nf 14022//14022 12605//12605 13250//13250\nf 13448//13448 14016//14016 13728//13728\nf 12608//12608 12609//12609 14024//14024\nf 12609//12609 14025//14025 14024//14024\nf 14023//14023 12607//12607 14027//14027\nf 13135//13135 14027//14027 12607//12607\nf 13729//13729 12611//12611 14019//14019\nf 14025//14025 12609//12609 13559//13559\nf 14029//14029 13559//13559 13136//13136\nf 13135//13135 13731//13731 14027//14027\nf 13135//13135 13253//13253 13731//13731\nf 14030//14030 13449//13449 13729//13729\nf 13449//13449 13391//13391 13729//13729\nf 13136//13136 13560//13560 14029//14029\nf 13732//13732 13449//13449 14030//14030\nf 13254//13254 12619//12619 14031//14031\nf 13450//13450 12620//12620 14032//14032\nf 13450//13450 14032//14032 12617//12617\nf 12617//12617 14032//14032 13560//13560\nf 13731//13731 13561//13561 14034//14034\nf 13257//13257 13562//13562 14033//14033\nf 14032//14032 12620//12620 14033//14033\nf 13733//13733 13254//13254 14031//14031\nf 14034//14034 13561//13561 12912//12912\nf 13562//13562 13256//13256 13563//13563\nf 14035//14035 14038//14038 12911//12911\nf 14038//14038 12628//12628 12911//12911\nf 13563//13563 13255//13255 13564//13564\nf 12912//12912 12622//12622 14037//14037\nf 14037//14037 12622//12622 13565//13565\nf 13734//13734 13567//13567 12628//12628\nf 13564//13564 14041//14041 14042//14042\nf 13392//13392 13567//13567 13735//13735\nf 14042//14042 14041//14041 12916//12916\nf 14042//14042 14041//14041 12916//12916\nf 13139//13139 12627//12627 14039//14039\nf 13736//13736 13393//13393 14043//14043\nf 14042//14042 13569//13569 14296//14296\nf 14042//14042 12916//12916 13569//13569\nf 13736//13736 14043//14043 13737//13737\nf 14297//14297 14296//14296 13569//13569\nf 13568//13568 12630//12630 14045//14045\nf 14297//14297 13569//13569 12917//12917\nf 12634//12634 13739//13739 12630//12630\nf 14297//14297 12917//12917 14046//14046\nf 14299//14299 14297//14297 14046//14046\nf 13738//13738 13451//13451 14048//14048\nf 13738//13738 13263//13263 13451//13451\nf 14047//14047 13570//13570 12918//12918\nf 13570//13570 12920//12920 12918//12918\nf 14053//14053 12639//12639 13570//13570\nf 13743//13743 13745//13745 14052//14052\nf 13452//13452 13572//13572 14049//14049\nf 13740//13740 14300//14300 13744//13744\nf 14050//14050 14051//14051 13747//13747\nf 13742//13742 14302//14302 14304//14304\nf 14054//14054 13744//13744 14301//14301\nf 14304//14304 13395//13395 13574//13574\nf 13749//13749 13744//13744 14054//14054\nf 12642//12642 13575//13575 14057//14057\nf 14056//14056 14054//14054 14055//14055\nf 13572//13572 12637//12637 12641//12641\nf 14304//14304 14059//14059 13268//13268\nf 13576//13576 13755//13755 13746//13746\nf 13575//13575 12639//12639 14053//14053\nf 13749//13749 14054//14054 14056//14056\nf 13572//13572 12641//12641 14060//14060\nf 12642//12642 14063//14063 14065//14065\nf 13750//13750 12926//12926 13752//13752\nf 14062//14062 13268//13268 13751//13751\nf 13752//13752 13266//13266 14064//14064\nf 13267//13267 13266//13266 13752//13752\nf 13754//13754 13749//13749 14056//14056\nf 14062//14062 13758//13758 13268//13268\nf 13266//13266 12645//12645 12648//12648\nf 13143//13143 13578//13578 13579//13579\nf 13754//13754 14056//14056 14066//14066\nf 13755//13755 13756//13756 14061//14061\nf 12641//12641 13757//13757 14068//14068\nf 14069//14069 14058//14058 13577//13577\nf 13276//13276 14074//14074 14070//14070\nf 14075//14075 13272//13272 13579//13579\nf 13272//13272 14075//14075 13583//13583\nf 13398//13398 13754//13754 14066//14066\nf 14073//14073 13760//13760 14072//14072\nf 13274//13274 13762//13762 13756//13756\nf 14074//14074 13276//13276 12936//12936\nf 14079//14079 14078//14078 14069//14069\nf 14079//14079 14069//14069 13759//13759\nf 14073//14073 13761//13761 13760//13760\nf 14072//14072 13763//13763 14071//14071\nf 14071//14071 13763//13763 13399//13399\nf 13273//13273 13280//13280 14076//14076\nf 13757//13757 13273//13273 14076//14076\nf 13398//13398 14066//14066 14077//14077\nf 14079//14079 13759//13759 13582//13582\nf 14079//14079 13582//13582 13764//13764\nf 12656//12656 14080//14080 12658//12658\nf 14074//14074 14084//14084 14495//14495\nf 13765//13765 12652//12652 14081//14081\nf 13766//13766 13398//13398 14077//14077\nf 14079//14079 13764//13764 14083//14083\nf 14082//14082 14079//14079 14083//14083\nf 14083//14083 13764//13764 13279//13279\nf 13764//13764 13582//13582 13279//13279\nf 13587//13587 12942//12942 13765//13765\nf 13770//13770 13284//13284 13767//13767\nf 14087//14087 13586//13586 13461//13461\nf 14315//14315 14083//14083 13768//13768\nf 13771//13771 13766//13766 13772//13772\nf 14315//14315 13768//13768 13769//13769\nf 14091//14091 13151//13151 13587//13587\nf 12944//12944 14092//14092 14087//14087\nf 13463//13463 14094//14094 14090//14090\nf 14318//14318 12670//12670 12665//12665\nf 14093//14093 13151//13151 14091//14091\nf 14095//14095 12670//12670 14318//14318\nf 13769//13769 13463//13463 14090//14090\nf 12668//12668 13588//13588 13589//13589\nf 14319//14319 14089//14089 13150//13150\nf 13464//13464 13772//13772 14317//14317\nf 13463//13463 14096//14096 14094//14094\nf 12679//12679 13466//13466 13774//13774\nf 13290//13290 14099//14099 12673//12673\nf 14097//14097 13292//13292 13589//13589\nf 13291//13291 13464//13464 14317//14317\nf 13291//13291 14317//14317 14320//14320\nf 14098//14098 12682//12682 12675//12675\nf 13465//13465 12949//12949 13775//13775\nf 13404//13404 12684//12684 12680//12680\nf 13467//13467 13779//13779 14107//14107\nf 13292//13292 14105//14105 12955//12955\nf 14097//14097 14105//14105 13292//13292\nf 12682//12682 14098//14098 13777//13777\nf 14101//14101 13778//13778 14103//14103\nf 13290//13290 13293//13293 14106//14106\nf 13775//13775 12949//12949 14107//14107\nf 14107//14107 12949//12949 13779//13779\nf 13779//13779 13467//13467 14107//14107\nf 13293//13293 13591//13591 14106//14106\nf 13780//13780 13593//13593 13590//13590\nf 12955//12955 13782//13782 13155//13155\nf 14105//14105 13782//13782 12955//12955\nf 14108//14108 13296//13296 14110//14110\nf 12953//12953 13777//13777 13468//13468\nf 12686//12686 13404//13404 14104//14104\nf 13468//13468 14111//14111 12687//12687\nf 13470//13470 12686//12686 14112//14112\nf 13784//13784 13593//13593 14323//14323\nf 12956//12956 13159//13159 13592//13592\nf 14111//14111 12691//12691 12687//12687\nf 14114//14114 13298//13298 13470//13470\nf 13592//13592 13159//13159 14115//14115\nf 13781//13781 13295//13295 13783//13783\nf 12692//12692 14117//14117 14110//14110\nf 14324//14324 12689//12689 13595//13595\nf 13597//13597 13298//13298 14114//14114\nf 13472//13472 13598//13598 13783//13783\nf 13600//13600 12964//12964 13594//13594\nf 12694//12694 14117//14117 12692//12692\nf 14118//14118 13300//13300 13784//13784\nf 13300//13300 14118//14118 14121//14121\nf 13159//13159 13405//13405 13785//13785\nf 14118//14118 13784//13784 14325//14325\nf 14119//14119 13474//13474 13597//13597\nf 12965//12965 14126//14126 14329//14329\nf 13301//13301 12963//12963 13596//13596\nf 13301//13301 13596//13596 14124//14124\nf 13474//13474 14119//14119 13786//13786\nf 14121//14121 14118//14118 13477//13477\nf 12701//12701 13301//13301 14124//14124\nf 13786//13786 14119//14119 12968//12968\nf 13786//13786 12968//12968 14119//14119\nf 13600//13600 14123//14123 13788//13788\nf 12701//12701 14124//14124 14125//14125\nf 13785//13785 13476//13476 13790//13790\nf 14122//14122 13299//13299 13787//13787\nf 12705//12705 12701//12701 14125//14125\nf 13162//13162 13790//13790 13476//13476\nf 13601//13601 13161//13161 14128//14128\nf 14128//14128 13161//13161 13603//13603\nf 14127//14127 13604//13604 12969//12969\nf 13787//13787 13605//13605 13602//13602\nf 13303//13303 13788//13788 13793//13793\nf 13603//13603 14128//14128 12972//12972\nf 13603//13603 12972//12972 14128//14128\nf 12705//12705 14125//14125 14132//14132\nf 13794//13794 13303//13303 13793//13793\nf 12972//12972 14131//14131 13603//13603\nf 13797//13797 13606//13606 13604//13604\nf 13794//13794 13795//13795 13406//13406\nf 13304//13304 14132//14132 12709//12709\nf 14129//14129 13162//13162 14134//14134\nf 14135//14135 14330//14330 13602//13602\nf 13307//13307 13406//13406 13795//13795\nf 13610//13610 13795//13795 13794//13794\nf 13307//13307 13795//13795 13610//13610\nf 14136//14136 14138//14138 13306//13306\nf 14332//14332 14135//14135 14139//14139\nf 12709//12709 13609//13609 14137//14137\nf 13800//13800 12718//12718 14137//14137\nf 13798//13798 12715//12715 13797//13797\nf 13305//13305 13310//13310 14139//14139\nf 12718//12718 12709//12709 14137//14137\nf 13309//13309 12718//12718 13800//13800\nf 14140//14140 12977//12977 14335//14335\nf 13309//13309 13800//13800 14141//14141\nf 13803//13803 13611//13611 14334//14334\nf 13802//13802 13611//13611 13803//13803\nf 13309//13309 14141//14141 12723//12723\nf 14335//14335 12977//12977 13311//13311\nf 13313//13313 13801//13801 13804//13804\nf 14144//14144 13804//13804 14142//14142\nf 14145//14145 12725//12725 12723//12723\nf 13312//13312 13807//13807 13612//13612\nf 14146//14146 13614//13614 13616//13616\nf 14145//14145 13806//13806 12725//12725\nf 13409//13409 13807//13807 13312//13312\nf 13804//13804 14144//14144 13805//13805\nf 13315//13315 13805//13805 13811//13811\nf 14149//14149 13809//13809 13316//13316\nf 13808//13808 14151//14151 13807//13807\nf 14337//14337 14146//14146 14153//14153\nf 13618//13618 13810//13810 14152//14152\nf 13811//13811 13805//13805 14148//14148\nf 13482//13482 13315//13315 13811//13811\nf 13483//13483 14153//14153 14146//14146\nf 14154//14154 13482//13482 13811//13811\nf 13811//13811 13482//13482 14154//14154\nf 13810//13810 12986//12986 14152//14152\nf 13621//13621 14150//14150 14339//14339\nf 12732//12732 12728//12728 14150//14150\nf 14155//14155 14153//14153 13815//13815\nf 14341//14341 13808//13808 14156//14156\nf 14157//14157 14155//14155 13815//13815\nf 13623//13623 13318//13318 13621//13621\nf 14156//14156 13620//13620 13622//13622\nf 13622//13622 14158//14158 14156//14156\nf 13623//13623 12733//12733 13816//13816\nf 14157//14157 13815//13815 13628//13628\nf 13816//13816 12733//12733 13623//13623\nf 13622//13622 13817//13817 14158//14158\nf 13816//13816 13623//13623 14537//14537\nf 13486//13486 12733//12733 14159//14159\nf 12734//12734 13819//13819 13624//13624\nf 13627//13627 13625//13625 13820//13820\nf 13626//13626 13319//13319 13818//13818\nf 13819//13819 12734//12734 13822//13822\nf 12734//12734 13326//13326 13822//13822\nf 14164//14164 13628//13628 13823//13823\nf 14160//14160 13327//13327 13820//13820\nf 13826//13826 14160//14160 13820//13820\nf 14161//14161 13817//13817 13174//13174\nf 13825//13825 13630//13630 13626//13626\nf 12738//12738 14159//14159 13821//13821\nf 14161//14161 13174//13174 13824//13824\nf 13628//13628 13631//13631 13823//13823\nf 14162//14162 12739//12739 13821//13821\nf 12739//12739 14162//14162 13634//13634\nf 13326//13326 13487//13487 14163//14163\nf 14164//14164 13823//13823 13329//13329\nf 14164//14164 13329//13329 13834//13834\nf 13488//13488 13826//13826 14165//14165\nf 13824//13824 13633//13633 14166//14166\nf 13633//13633 13827//13827 14166//14166\nf 13488//13488 14165//14165 14169//14169\nf 13640//13640 13828//13828 13833//13833\nf 13833//13833 13632//13632 14168//14168\nf 14164//14164 13834//13834 14170//14170\nf 14163//14163 13641//13641 14172//14172\nf 13831//13831 13830//13830 13637//13637\nf 13833//13833 13828//13828 13632//13632\nf 13006//13006 14171//14171 13490//13490\nf 14177//14177 13830//13830 13831//13831\nf 13831//13831 13832//13832 14173//14173\nf 13827//13827 13829//13829 14176//14176\nf 14176//14176 13830//13830 14177//14177\nf 13829//13829 13830//13830 14176//14176\nf 13835//13835 14169//14169 13836//13836\nf 14169//14169 14175//14175 13836//13836\nf 13644//13644 13490//13490 14179//14179\nf 14351//14351 13642//13642 13841//13841\nf 13842//13842 13646//13646 13838//13838\nf 13642//13642 13493//13493 13841//13841\nf 13838//13838 14178//14178 13842//13842\nf 13840//13840 13495//13495 12746//12746\nf 14180//14180 13495//13495 13840//13840\nf 14362//14362 14442//14442 13645//13645\nf 13012//13012 13844//13844 13645//13645\nf 13845//13845 13021//13021 13644//13644\nf 14358//14358 13644//13644 13334//13334\nf 13847//13847 13841//13841 13493//13493\nf 14180//14180 13338//13338 13495//13495\nf 13852//13852 13338//13338 14180//14180\nf 13333//13333 13017//13017 14360//14360\nf 13845//13845 13644//13644 14358//14358\nf 14185//14185 13846//13846 13854//13854\nf 14185//14185 14183//14183 13846//13846\nf 13854//13854 13846//13846 13498//13498\nf 13645//13645 13844//13844 14362//14362\nf 13848//13848 13843//13843 14357//14357\nf 13844//13844 13647//13647 13648//13648\nf 13336//13336 14186//14186 13416//13416\nf 13843//13843 13848//13848 13651//13651\nf 13851//13851 12763//12763 14188//14188\nf 12760//12760 12763//12763 13851//13851\nf 14189//14189 13855//13855 13852//13852\nf 12767//12767 14190//14190 14188//14188\nf 12767//12767 14188//14188 12763//12763\nf 13845//13845 13857//13857 13500//13500\nf 14367//14367 13847//13847 13856//13856\nf 14366//14366 13858//13858 14187//14187\nf 14365//14365 14185//14185 13859//13859\nf 13859//13859 14185//14185 13860//13860\nf 13503//13503 13860//13860 14185//14185\nf 13502//13502 14187//14187 13858//13858\nf 14192//14192 12767//12767 12768//12768\nf 14190//14190 12767//12767 14192//14192\nf 14192//14192 12768//12768 12769//12769\nf 14196//14196 14195//14195 12769//12769\nf 12769//12769 12775//12775 14196//14196\nf 13855//13855 14198//14198 13499//13499\nf 14198//14198 13855//13855 13499//13499\nf 14200//14200 14196//14196 12775//12775\nf 13857//13857 14193//14193 14199//14199\nf 13861//13861 13858//13858 14191//14191\nf 13861//13861 14191//14191 14194//14194\nf 13657//13657 14197//14197 13859//13859\nf 12775//12775 13507//13507 14200//14200\nf 13656//13656 13504//13504 13500//13500\nf 13654//13654 13505//13505 13659//13659\nf 13863//13863 13861//13861 14194//14194\nf 14202//14202 14200//14200 13507//13507\nf 14202//14202 13507//13507 12776//12776\nf 14203//14203 12776//12776 12779//12779\nf 14204//14204 13862//13862 12777//12777\nf 13662//13662 13861//13861 13863//13863\nf 13663//13663 13864//13864 13865//13865\nf 13664//13664 13663//13663 13865//13865\nf 14375//14375 14377//14377 13865//13865\nf 14206//14206 14203//14203 12779//12779\nf 14208//14208 13344//13344 12780//12780\nf 14207//14207 13344//13344 14208//14208\nf 12771//12771 13656//13656 13658//13658\nf 13511//13511 13865//13865 13868//13868\nf 13874//13874 13868//13868 14201//14201\nf 14206//14206 12779//12779 12781//12781\nf 12781//12781 13344//13344 14207//14207\nf 13658//13658 12780//12780 12771//12771\nf 13340//13340 14211//14211 13659//13659\nf 14211//14211 14210//14210 13659//13659\nf 14211//14211 13340//13340 14212//14212\nf 13862//13862 14212//14212 13340//13340\nf 14213//14213 14204//14204 12777//12777\nf 12783//12783 14213//14213 12777//12777\nf 13511//13511 13664//13664 13865//13865\nf 14209//14209 13869//13869 13873//13873\nf 13661//13661 14215//14215 13867//13867\nf 13868//13868 13874//13874 13872//13872\nf 13874//13874 14205//14205 13876//13876\nf 14214//14214 14379//14379 13875//13875\nf 13869//13869 13866//13866 13871//13871\nf 13874//13874 14201//14201 14205//14205\nf 13512//13512 13871//13871 13349//13349\nf 14216//14216 14209//14209 13873//13873\nf 13867//13867 13346//13346 13509//13509\nf 13876//13876 14205//14205 14214//14214\nf 13876//13876 14214//14214 13875//13875\nf 13882//13882 13879//13879 13346//13346\nf 13882//13882 13346//13346 13867//13867\nf 13874//13874 13876//13876 13357//13357\nf 13881//13881 14217//14217 12783//12783\nf 14213//14213 12783//12783 14217//14217\nf 13882//13882 13350//13350 13346//13346\nf 12798//12798 14218//14218 13669//13669\nf 13879//13879 13882//13882 13346//13346\nf 14219//14219 13883//13883 12797//12797\nf 13883//13883 13194//13194 12797//12797\nf 14220//14220 13670//13670 13882//13882\nf 14220//14220 13886//13886 13670//13670\nf 13885//13885 14219//14219 12797//12797\nf 13887//13887 13351//13351 13669//13669\nf 13670//13670 13886//13886 13350//13350\nf 13350//13350 13516//13516 13886//13886\nf 13350//13350 13886//13886 13516//13516\nf 13886//13886 13516//13516 13354//13354\nf 13514//13514 13885//13885 12797//12797\nf 14218//14218 12798//12798 12525//12525\nf 13354//13354 13516//13516 13514//13514\nf 13514//13514 13516//13516 13885//13885\nf 13515//13515 14218//14218 12525//12525\nf 13889//13889 13356//13356 13887//13887\nf 13889//13889 14222//14222 13050//13050\nf 13358//13358 14221//14221 13888//13888\nf 13050//13050 14222//14222 14223//14223\nf 12810//12810 12808//12808 14223//14223\nf 13671//13671 14221//14221 13358//13358\nf 13890//13890 13058//13058 14224//14224\nf 12815//12815 12814//12814 13890//13890\nf 13672//13672 12815//12815 14225//14225\nf 12818//12818 13360//13360 13891//13891\nf 13206//13206 12818//12818 14227//14227\nf 14228//14228 13674//13674 13893//13893\nf 14228//14228 13063//13063 13674//13674\nf 14229//14229 13063//13063 14228//14228\nf 13894//13894 12819//12819 14229//14229\nf 13207//13207 13895//13895 13429//13429\nf 13207//13207 13897//13897 13898//13898\nf 13207//13207 13898//13898 13895//13895\nf 13897//13897 13207//13207 13896//13896\nf 13518//13518 13897//13897 13896//13896\nf 13675//13675 13065//13065 14231//14231\nf 13898//13898 13519//13519 13676//13676\nf 14232//14232 13898//13898 13676//13676\nf 13065//13065 13675//13675 13899//13899\nf 13676//13676 14233//14233 14232//14232\nf 14234//14234 13361//13361 13899//13899\nf 14235//14235 12095//12095 13067//13067\nf 13677//13677 13900//13900 14233//14233\nf 12828//12828 14238//14238 13074//13074\nf 14239//14239 13365//13365 13076//13076\nf 13900//13900 13903//13903 14236//14236\nf 14240//14240 13369//13369 13683//13683\nf 13216//13216 13905//13905 13904//13904\nf 14243//14243 13903//13903 13910//13910\nf 13903//13903 13909//13909 13910//13910\nf 12835//12835 13369//13369 14244//14244\nf 13902//13902 14242//14242 13683//13683\nf 14242//14242 13902//13902 13907//13907\nf 13368//13368 13908//13908 14245//14245\nf 13524//13524 14245//14245 14246//14246\nf 13524//13524 13368//13368 14245//14245\nf 13911//13911 13907//13907 13522//13522\nf 13912//13912 13525//13525 14247//14247\nf 13912//13912 14249//14249 13911//13911\nf 12835//12835 14244//14244 12838//12838\nf 14244//14244 14248//14248 12838//12838\nf 12838//12838 14248//14248 13084//13084\nf 14248//14248 13914//13914 13084//13084\nf 13688//13688 14250//14250 13913//13913\nf 13434//13434 13084//13084 13686//13686\nf 13084//13084 13914//13914 13686//13686\nf 14250//14250 13688//13688 14251//14251\nf 13686//13686 13687//13687 13434//13434\nf 13689//13689 13690//13690 13915//13915\nf 13917//13917 13915//13915 13690//13690\nf 14252//14252 13090//13090 12840//12840\nf 12845//12845 14253//14253 13219//13219\nf 12845//12845 13527//13527 14253//14253\nf 14255//14255 13527//13527 13373//13373\nf 14257//14257 14254//14254 13218//13218\nf 13372//13372 13218//13218 14254//14254\nf 13692//13692 14256//14256 12854//12854\nf 13102//13102 13693//13693 13917//13917\nf 14252//14252 13918//13918 13090//13090\nf 14259//14259 13691//13691 13919//13919\nf 12848//12848 13919//13919 13691//13691\nf 14260//14260 13220//13220 14259//14259\nf 12853//12853 14253//14253 13922//13922\nf 12858//12858 12853//12853 13922//13922\nf 13918//13918 13920//13920 13437//13437\nf 13374//13374 13921//13921 13919//13919\nf 13375//13375 13694//13694 13104//13104\nf 12858//12858 13922//13922 14262//14262\nf 13921//13921 13097//13097 13920//13920\nf 12858//12858 14262//14262 13922//13922\nf 13220//13220 13697//13697 13376//13376\nf 13528//13528 13695//13695 14263//14263\nf 13696//13696 13694//13694 13375//13375\nf 14385//14385 14263//14263 13695//13695\nf 14262//14262 14264//14264 13105//13105\nf 13923//13923 13107//13107 13378//13378\nf 13923//13923 12859//12859 13531//13531\nf 14266//14266 12859//12859 14265//14265\nf 13923//13923 14265//14265 12859//12859\nf 13695//13695 13529//13529 13924//13924\nf 12863//12863 12861//12861 14264//14264\nf 12863//12863 14264//14264 14268//14268\nf 12863//12863 14268//14268 12865//12865\nf 12865//12865 14268//14268 13698//13698\nf 13533//13533 13532//13532 14269//14269\nf 13930//13930 13534//13534 13925//13925\nf 14272//14272 13530//13530 13924//13924\nf 13532//13532 13929//13929 14269//14269\nf 14269//14269 13925//13925 13534//13534\nf 13927//13927 13697//13697 14275//14275\nf 13927//13927 13377//13377 13697//13697\nf 13924//13924 13377//13377 13927//13927\nf 13927//13927 14275//14275 13924//13924\nf 13931//13931 12862//12862 13926//13926\nf 13697//13697 14274//14274 14275//14275\nf 14276//14276 14273//14273 13932//13932\nf 14273//14273 13696//13696 13932//13932\nf 13110//13110 13931//13931 13933//13933\nf 12872//12872 13110//13110 13933//13933\nf 12872//12872 13933//13933 13382//13382\nf 13113//13113 13382//13382 14277//14277\nf 13934//13934 14278//14278 14276//14276\nf 13932//13932 13934//13934 14276//14276\nf 14277//14277 14279//14279 13113//13113\nf 13113//13113 14279//14279 12877//12877\nf 13935//13935 12877//12877 14388//14388\nf 13700//13700 13934//13934 13535//13535\nf 13935//13935 12878//12878 13383//13383\nf 13935//13935 14280//14280 12878//12878\nf 12880//12880 13700//13700 13222//13222\nf 12879//12879 13222//13222 13700//13700\nf 12532//12532 13937//13937 13936//13936\nf 14713//14713 13946//13946 14601//14601\nf 12536//12536 13943//13943 13942//13942\nf 13947//13947 12884//12884 12537//12537\nf 13943//13943 12536//12536 12545//12545\nf 13115//13115 12885//12885 13945//13945\nf 13949//13949 13937//13937 12886//12886\nf 13954//13954 13224//13224 13950//13950\nf 14282//14282 13941//13941 12552//12552\nf 12552//12552 13955//13955 14282//14282\nf 13943//13943 12545//12545 13957//13957\nf 13705//13705 13223//13223 13954//13954\nf 13955//13955 12548//12548 13960//13960\nf 12548//12548 13538//13538 13960//13960\nf 13963//13963 12557//12557 13958//13958\nf 12542//12542 12549//12549 13539//13539\nf 13965//13965 12555//12555 12482//12482\nf 12550//12550 13956//13956 13971//13971\nf 14390//14390 13706//13706 14286//14286\nf 15399//15399 14286//14286 13710//13710\nf 13230//13230 13711//13711 13962//13962\nf 12569//12569 13121//13121 14287//14287\nf 13966//13966 12569//12569 14287//14287\nf 12554//12554 13967//13967 14284//14284\nf 14475//14475 14284//14284 13967//13967\nf 13969//13969 13948//13948 14288//14288\nf 13537//13537 13713//13713 12562//12562\nf 13952//13952 13539//13539 13543//13543\nf 13968//13968 13122//13122 13385//13385\nf 13712//13712 13385//13385 13973//13973\nf 12568//12568 13975//13975 13543//13543\nf 12895//12895 13970//13970 14289//14289\nf 13232//13232 12565//12565 13978//13978\nf 12895//12895 14289//14289 13715//13715\nf 13976//13976 13972//13972 12485//12485\nf 13980//13980 12572//12572 13983//13983\nf 13716//13716 12898//12898 13981//13981\nf 13985//13985 13983//13983 12572//12572\nf 13987//13987 12900//12900 13545//13545\nf 13985//13985 12572//12572 12578//12578\nf 13993//13993 13989//13989 13441//13441\nf 13991//13991 13719//13719 13547//13547\nf 12584//12584 13131//13131 13996//13996\nf 13241//13241 13720//13720 14290//14290\nf 13548//13548 13239//13239 13550//13550\nf 13997//13997 13999//13999 12590//12590\nf 13444//13444 14002//14002 13550//13550\nf 14002//14002 13444//13444 13132//13132\nf 13389//13389 13998//13998 14291//14291\nf 13553//13553 14002//14002 13132//13132\nf 13999//13999 14008//14008 12594//12594\nf 13557//13557 13388//13388 14009//14009\nf 13723//13723 12594//12594 14008//14008\nf 12908//12908 14292//14292 14005//14005\nf 13445//13445 13557//13557 14009//14009\nf 14007//14007 13246//13246 14011//14011\nf 14005//14005 13245//13245 12908//12908\nf 14013//14013 12592//12592 12595//12595\nf 14011//14011 12601//12601 13725//13725\nf 13726//13726 12908//12908 12598//12598\nf 12603//12603 14014//14014 14020//14020\nf 14017//14017 13725//13725 12601//12601\nf 14293//14293 14018//14018 12606//12606\nf 14020//14020 14021//14021 13249//13249\nf 14021//14021 14022//14022 13250//13250\nf 13447//13447 12607//12607 14023//14023\nf 13558//13558 12608//12608 14024//14024\nf 13728//13728 13730//13730 13448//13448\nf 12612//12612 12610//12610 14026//14026\nf 12610//12610 14018//14018 14026//14026\nf 14482//14482 14023//14023 14027//14027\nf 13560//13560 13559//13559 14029//14029\nf 12616//12616 13732//13732 14030//14030\nf 14036//14036 13733//13733 14031//14031\nf 12616//12616 14030//14030 14035//14035\nf 12912//12912 14037//14037 14034//14034\nf 14484//14484 13563//13563 13564//13564\nf 13734//13734 12628//12628 14038//14038\nf 13392//13392 13735//13735 14043//14043\nf 13139//13139 14039//14039 14295//14295\nf 12632//12632 13139//13139 14044//14044\nf 13451//13451 13737//13737 13738//13738\nf 12918//12918 12632//12632 14047//14047\nf 14045//14045 12630//12630 13739//13739\nf 14298//14298 14045//14045 13739//13739\nf 14048//14048 13738//13738 13737//13737\nf 14050//14050 14299//14299 14046//14046\nf 14051//14051 14050//14050 14046//14046\nf 13739//13739 13452//13452 14049//14049\nf 13574//13574 13742//13742 14304//14304\nf 13746//13746 14303//14303 14052//14052\nf 13745//13745 13746//13746 14052//14052\nf 14305//14305 14050//14050 13747//13747\nf 13268//13268 14059//14059 13751//13751\nf 14308//14308 13747//13747 14058//14058\nf 13455//13455 13395//13395 14304//14304\nf 13575//13575 14053//14053 14057//14057\nf 14055//14055 14306//14306 14056//14056\nf 14056//14056 14306//14306 14307//14307\nf 14308//14308 14305//14305 13747//13747\nf 13755//13755 13269//13269 13746//13746\nf 13269//13269 14061//14061 13746//13746\nf 12643//12643 12926//12926 13753//13753\nf 12926//12926 13750//13750 13753//13753\nf 14060//14060 12641//12641 14068//14068\nf 14308//14308 14058//14058 14069//14069\nf 14066//14066 14056//14056 14307//14307\nf 14066//14066 14307//14307 14309//14309\nf 12648//12648 13276//13276 14070//14070\nf 14077//14077 14066//14066 14309//14309\nf 12936//12936 13459//13459 14084//14084\nf 14076//14076 13280//13280 13586//13586\nf 14078//14078 14079//14079 14082//14082\nf 13766//13766 14077//14077 14313//14313\nf 14077//14077 14311//14311 14313//14313\nf 13285//13285 12658//12658 14085//14085\nf 14085//14085 12658//12658 14312//14312\nf 14314//14314 14082//14082 14083//14083\nf 13285//13285 14088//14088 12665//12665\nf 13285//13285 14085//14085 14088//14088\nf 14315//14315 14314//14314 14083//14083\nf 13150//13150 14089//14089 14086//14086\nf 13772//13772 13766//13766 14316//14316\nf 14087//14087 13461//13461 12944//12944\nf 14315//14315 13769//13769 14090//14090\nf 13772//13772 14316//14316 14317//14317\nf 12680//12680 13289//13289 14093//14093\nf 14319//14319 12674//12674 12676//12676\nf 14100//14100 12680//12680 14093//14093\nf 14098//14098 12675//12675 14095//14095\nf 14099//14099 13773//13773 12673//12673\nf 14102//14102 12680//12680 14100//14100\nf 13780//13780 13291//13291 14320//14320\nf 12680//12680 14102//14102 14104//14104\nf 13780//13780 14320//14320 14321//14321\nf 13403//13403 14108//14108 13776//13776\nf 14322//14322 13593//13593 13780//13780\nf 13593//13593 14322//14322 14323//14323\nf 14107//14107 13779//13779 13781//13781\nf 13468//13468 13777//13777 14111//14111\nf 13778//13778 12685//12685 14109//14109\nf 12686//12686 14104//14104 14112//14112\nf 14411//14411 14107//14107 13781//13781\nf 14106//14106 13591//13591 14113//14113\nf 14115//14115 14113//14113 13592//13592\nf 12685//12685 14324//14324 14109//14109\nf 14324//14324 12685//12685 12689//12689\nf 14114//14114 13470//13470 14112//14112\nf 13784//13784 14323//14323 14325//14325\nf 14326//14326 13781//13781 13783//13783\nf 14327//14327 14115//14115 13159//13159\nf 14114//14114 14119//14119 13597//13597\nf 13159//13159 13785//13785 14327//14327\nf 13300//13300 14121//14121 13477//13477\nf 12694//12694 13473//13473 13601//13601\nf 14517//14517 14413//14413 13598//13598\nf 12694//12694 13601//13601 14328//14328\nf 13477//13477 14118//14118 13789//13789\nf 13787//13787 13602//13602 13605//13605\nf 13792//13792 13789//13789 14130//14130\nf 13793//13793 13788//13788 13794//13794\nf 13304//13304 12705//12705 14132//14132\nf 13791//13791 12707//12707 14133//14133\nf 13610//13610 13794//13794 14331//14331\nf 12709//12709 14132//14132 13609//13609\nf 13792//13792 14136//14136 13306//13306\nf 14133//14133 12707//12707 13796//13796\nf 13167//13167 13306//13306 14138//14138\nf 14333//14333 14332//14332 14139//14139\nf 13164//13164 13480//13480 13796//13796\nf 13167//13167 14138//14138 14142//14142\nf 13480//13480 14140//14140 13796//13796\nf 13798//13798 14334//14334 13611//13611\nf 13801//13801 13167//13167 14142//14142\nf 14333//14333 14139//14139 13614//13614\nf 14143//14143 12723//12723 14141//14141\nf 14143//14143 14145//14145 12723//12723\nf 13311//13311 13613//13613 14335//14335\nf 14336//14336 14333//14333 13614//13614\nf 14337//14337 14336//14336 13614//13614\nf 13615//13615 13803//13803 13617//13617\nf 13805//13805 14144//14144 14148//14148\nf 14337//14337 13614//13614 14146//14146\nf 13317//13317 14147//14147 14150//14150\nf 13316//13316 13617//13617 14149//14149\nf 14150//14150 14147//14147 14416//14416\nf 14155//14155 14337//14337 14153//14153\nf 12986//12986 13813//13813 14152//14152\nf 13814//13814 13809//13809 14338//14338\nf 13813//13813 14340//14340 14152//14152\nf 14154//14154 14342//14342 13811//13811\nf 14342//14342 13812//13812 13811//13811\nf 14419//14419 14156//14156 14158//14158\nf 14540//14540 14340//14340 13813//13813\nf 13813//13813 13411//13411 13819//13819\nf 14343//14343 14157//14157 13628//13628\nf 14420//14420 14343//14343 13628//13628\nf 13825//13825 13626//13626 14345//14345\nf 13821//13821 14159//14159 14422//14422\nf 13819//13819 13822//13822 14163//14163\nf 14158//14158 13817//13817 14161//14161\nf 13626//13626 13818//13818 14345//14345\nf 14420//14420 13628//13628 14164//14164\nf 14163//14163 13822//13822 13326//13326\nf 14169//14169 14165//14165 13826//13826\nf 14163//14163 13487//13487 13641//13641\nf 14346//14346 13824//13824 14166//14166\nf 14346//14346 14161//14161 13824//13824\nf 13827//13827 14348//14348 14166//14166\nf 13833//13833 14168//14168 14350//14350\nf 14175//14175 14178//14178 13836//13836\nf 14352//14352 13831//13831 14173//14173\nf 14173//14173 13832//13832 13833//13833\nf 13827//13827 14176//14176 14348//14348\nf 14177//14177 13831//13831 14352//14352\nf 14349//14349 13833//13833 14350//14350\nf 13839//13839 14353//14353 14174//14174\nf 14355//14355 14439//14439 14176//14176\nf 14355//14355 14177//14177 14352//14352\nf 13846//13846 14353//14353 13839//13839\nf 13842//13842 14354//14354 13843//13843\nf 14434//14434 14353//14353 13846//13846\nf 14434//14434 13846//13846 14183//14183\nf 13334//13334 13644//13644 14358//14358\nf 14363//14363 13333//13333 14360//14360\nf 14181//14181 13181//13181 14182//14182\nf 13853//13853 13848//13848 14357//14357\nf 13649//13649 14363//14363 14184//14184\nf 14184//14184 13332//13332 13649//13649\nf 13853//13853 14357//14357 14437//14437\nf 14365//14365 14183//14183 14185//14185\nf 14186//14186 13336//13336 14184//14184\nf 14437//14437 14361//14361 14187//14187\nf 14366//14366 14187//14187 14361//14361\nf 14365//14365 14435//14435 14183//14183\nf 13849//13849 13416//13416 14186//14186\nf 14367//14367 13841//13841 13847//13847\nf 14437//14437 14187//14187 13853//13853\nf 13648//13648 13496//13496 13849//13849\nf 14371//14371 14364//14364 14375//14375\nf 14368//14368 14194//14194 14191//14191\nf 14359//14359 14364//14364 14375//14375\nf 14369//14369 14372//14372 14376//14376\nf 13856//13856 14373//14373 14367//14367\nf 14368//14368 14191//14191 14366//14366\nf 14193//14193 13857//13857 13845//13845\nf 13858//13858 14366//14366 14191//14191\nf 14374//14374 14371//14371 14375//14375\nf 14364//14364 14359//14359 14375//14375\nf 14195//14195 14192//14192 12769//12769\nf 14377//14377 14376//14376 13868//13868\nf 13864//13864 14374//14374 14375//14375\nf 13863//13863 14194//14194 13864//13864\nf 14194//14194 14374//14374 13864//13864\nf 14201//14201 13868//13868 14376//14376\nf 14454//14454 14197//14197 13657//13657\nf 13865//13865 13864//13864 14375//14375\nf 14376//14376 14451//14451 14205//14205\nf 14454//14454 13657//13657 13866//13866\nf 13655//13655 13182//13182 13855//13855\nf 13500//13500 14199//14199 13656//13656\nf 13500//13500 13857//13857 14199//14199\nf 14377//14377 13868//13868 13865//13865\nf 14214//14214 14378//14378 14379//14379\nf 14203//14203 14202//14202 12776//12776\nf 14215//14215 13661//13661 13655//13655\nf 14379//14379 13877//13877 13875//13875\nf 14217//14217 13881//13881 14221//14221\nf 14225//14225 12815//12815 13890//13890\nf 13672//13672 14226//14226 13061//13061\nf 13671//13671 13517//13517 13892//13892\nf 14230//14230 13892//13892 13673//13673\nf 13895//13895 14230//14230 13673//13673\nf 14585//14585 13212//13212 14464//14464\nf 13212//13212 14380//14380 14464//14464\nf 13212//13212 13213//13213 14380//14380\nf 14233//14233 13900//13900 14236//14236\nf 12829//12829 13074//13074 14237//14237\nf 14381//14381 13076//13076 12829//12829\nf 14586//14586 14236//14236 13903//13903\nf 13216//13216 13682//13682 13905//13905\nf 13908//13908 13368//13368 14245//14245\nf 14245//14245 13368//13368 14241//14241\nf 14247//14247 13524//13524 14246//14246\nf 14247//14247 13523//13523 13524//13524\nf 13907//13907 13911//13911 14249//14249\nf 13907//13907 14249//14249 14383//14383\nf 13686//13686 13916//13916 13687//13687\nf 13915//13915 14251//14251 13688//13688\nf 13917//13917 13693//13693 13915//13915\nf 13373//13373 13372//13372 14254//14254\nf 12855//12855 12854//12854 14256//14256\nf 12855//12855 14256//14256 14258//14258\nf 13218//13218 14261//14261 14257//14257\nf 13919//13919 13921//13921 14596//14596\nf 14260//14260 13697//13697 13220//13220\nf 14263//14263 14385//14385 14261//14261\nf 13378//13378 14386//14386 13923//13923\nf 13696//13696 14273//14273 13694//13694\nf 12859//12859 14266//14266 13926//13926\nf 13378//13378 12864//12864 14267//14267\nf 12864//12864 14271//14271 14267//14267\nf 12859//12859 13926//13926 12862//12862\nf 14276//14276 14273//14273 13696//13696\nf 14276//14276 13696//13696 14273//14273\nf 13924//13924 13530//13530 14272//14272\nf 13924//13924 14275//14275 14272//14272\nf 14387//14387 14273//14273 14276//14276\nf 13382//13382 13933//13933 14277//14277\nf 12877//12877 14279//14279 14388//14388\nf 12878//12878 14280//14280 13700//13700\nf 12880//12880 12878//12878 13700//13700\nf 12535//12535 13940//13940 13939//13939\nf 13946//13946 12541//12541 13701//13701\nf 14472//14472 13937//13937 13949//13949\nf 12544//12544 12541//12541 13946//13946\nf 12887//12887 12888//12888 13538//13538\nf 12888//12888 13702//13702 13538//13538\nf 13956//13956 12543//12543 13953//13953\nf 13703//13703 12554//12554 14284//14284\nf 13117//13117 12555//12555 13965//13965\nf 14285//14285 13228//13228 14389//14389\nf 13541//13541 12561//12561 13963//13963\nf 13542//13542 13704//13704 13705//13705\nf 13965//13965 12482//12482 13708//13708\nf 13708//13708 12482//12482 13707//13707\nf 15336//15336 13708//13708 13544//13544\nf 13973//13973 12569//12569 13966//13966\nf 12566//12566 13962//13962 13976//13976\nf 13981//13981 13978//13978 13716//13716\nf 12574//12574 13986//13986 13982//13982\nf 13546//13546 13440//13440 13718//13718\nf 13992//13992 13240//13240 13987//13987\nf 13995//13995 13990//13990 13721//13721\nf 14290//14290 13720//13720 13549//13549\nf 14002//14002 13553//13553 14007//14007\nf 12908//12908 13726//13726 14292//14292\nf 14791//14791 14292//14292 14614//14614\nf 14012//14012 13133//13133 14006//14006\nf 14013//14013 14014//14014 14010//14010\nf 12606//12606 13723//13723 14293//14293\nf 12600//12600 13558//13558 13724//13724\nf 13447//13447 14023//14023 13726//13726\nf 13728//13728 13722//13722 14294//14294\nf 13728//13728 14016//14016 13722//13722\nf 14025//14025 13559//13559 14024//14024\nf 12619//12619 14028//14028 14031//14031\nf 13560//13560 14394//14394 13559//13559\nf 14483//14483 13562//13562 13563//13563\nf 14483//14483 14033//14033 13562//13562\nf 14036//14036 14031//14031 13733//13733\nf 12911//12911 12616//12616 14035//14035\nf 14039//14039 12627//12627 14036//14036\nf 12627//12627 13733//13733 14036//14036\nf 13564//13564 14042//14042 14395//14395\nf 14044//14044 13139//13139 14295//14295\nf 13259//13259 14045//14045 14040//14040\nf 14485//14485 13737//13737 14043//14043\nf 14396//14396 14042//14042 14296//14296\nf 13259//13259 13568//13568 14045//14045\nf 14487//14487 14048//14048 13737//13737\nf 14048//14048 14397//14397 14300//14300\nf 13740//13740 14048//14048 14300//14300\nf 14489//14489 14398//14398 14401//14401\nf 14401//14401 14299//14299 14050//14050\nf 14400//14400 14399//14399 13742//13742\nf 13743//13743 14400//14400 13742//13742\nf 14400//14400 13743//13743 14490//14490\nf 14052//14052 14490//14490 13743//13743\nf 14302//14302 13742//13742 14399//14399\nf 14302//14302 14399//14399 14625//14625\nf 14489//14489 14401//14401 14402//14402\nf 14401//14401 14398//14398 14299//14299\nf 14397//14397 14301//14301 14300//14300\nf 13744//13744 14300//14300 14301//14301\nf 14054//14054 14301//14301 14402//14402\nf 14055//14055 14402//14402 14401//14401\nf 14054//14054 14402//14402 14055//14055\nf 14401//14401 14050//14050 14305//14305\nf 14055//14055 14401//14401 14306//14306\nf 14306//14306 14401//14401 14305//14305\nf 14306//14306 14305//14305 14308//14308\nf 14307//14307 14306//14306 14308//14308\nf 14059//14059 14062//14062 13751//13751\nf 14062//14062 14492//14492 13758//13758\nf 14309//14309 14307//14307 14308//14308\nf 14309//14309 14308//14308 14310//14310\nf 14308//14308 14069//14069 14310//14310\nf 14311//14311 14309//14309 14403//14403\nf 14403//14403 14309//14309 14310//14310\nf 14403//14403 14069//14069 14078//14078\nf 12656//12656 12650//12650 14080//14080\nf 12650//12650 14065//14065 14080//14080\nf 14077//14077 14309//14309 14311//14311\nf 14403//14403 14310//14310 14069//14069\nf 14403//14403 14078//14078 14404//14404\nf 14078//14078 14082//14082 14404//14404\nf 12658//12658 14080//14080 14312//14312\nf 14313//14313 14311//14311 14405//14405\nf 14311//14311 14403//14403 14405//14405\nf 13281//13281 13283//13283 14086//14086\nf 13762//13762 13281//13281 14086//14086\nf 14084//14084 13459//13459 13460//13460\nf 13766//13766 14313//14313 14316//14316\nf 14313//14313 14405//14405 14407//14407\nf 14084//14084 13460//13460 14406//14406\nf 14313//14313 14407//14407 14316//14316\nf 14497//14497 14404//14404 14314//14314\nf 14404//14404 14082//14082 14314//14314\nf 13460//13460 13462//13462 13774//13774\nf 13770//13770 13589//13589 13588//13588\nf 13770//13770 14498//14498 13589//13589\nf 14318//14318 12665//12665 14088//14088\nf 14406//14406 13460//13460 13774//13774\nf 14093//14093 14091//14091 13587//13587\nf 14408//14408 14314//14314 14315//14315\nf 14408//14408 14315//14315 14090//14090\nf 13150//13150 12674//12674 14319//14319\nf 15286//15286 13774//13774 14915//14915\nf 14321//14321 14317//14317 14499//14499\nf 12675//12675 12670//12670 14095//14095\nf 14101//14101 13774//13774 13466//13466\nf 14094//14094 14409//14409 14090//14090\nf 14092//14092 13773//13773 14099//14099\nf 14317//14317 14321//14321 14320//14320\nf 14096//14096 14409//14409 14094//14094\nf 13776//13776 14319//14319 12676//12676\nf 14410//14410 14096//14096 14107//14107\nf 14096//14096 13775//13775 14107//14107\nf 13290//13290 14106//14106 14099//14099\nf 13780//13780 14321//14321 14322//14322\nf 14411//14411 13781//13781 14412//14412\nf 13781//13781 14326//14326 14412//14412\nf 14516//14516 14412//14412 14326//14326\nf 14512//14512 14119//14119 14114//14114\nf 14413//14413 14326//14326 13783//13783\nf 14324//14324 14514//14514 14951//14951\nf 14413//14413 13783//13783 13598//13598\nf 14120//14120 12694//12694 14328//14328\nf 14119//14119 14127//14127 13786//13786\nf 14517//14517 13598//13598 14122//14122\nf 14130//14130 13789//13789 14518//14518\nf 13794//13794 13788//13788 13793//13793\nf 12972//12972 13478//13478 14131//14131\nf 14126//14126 12965//12965 13791//13791\nf 14330//14330 14122//14122 13787//13787\nf 14330//14330 13787//13787 13602//13602\nf 14414//14414 14129//14129 14134//14134\nf 13797//13797 14523//14523 13798//13798\nf 14332//14332 14330//14330 14135//14135\nf 14141//14141 13800//13800 14137//14137\nf 14643//14643 14525//14525 14333//14333\nf 14334//14334 13798//13798 14526//14526\nf 14140//14140 13480//13480 12977//12977\nf 14528//14528 14643//14643 14333//14333\nf 13799//13799 13612//13612 14415//14415\nf 14529//14529 14148//14148 14144//14144\nf 14529//14529 14531//14531 14148//14148\nf 12725//12725 13806//13806 14147//14147\nf 14417//14417 14337//14337 14155//14155\nf 14151//14151 13808//13808 14341//14341\nf 13625//13625 13814//13814 14418//14418\nf 14159//14159 12733//12733 13816//13816\nf 13625//13625 14418//14418 13820//13820\nf 13820//13820 14418//14418 14344//14344\nf 14419//14419 14341//14341 14156//14156\nf 14342//14342 13818//13818 13812//13812\nf 14421//14421 13818//13818 14342//14342\nf 14540//14540 13819//13819 14163//14163\nf 13820//13820 14344//14344 13826//13826\nf 14423//14423 14158//14158 14161//14161\nf 14546//14546 14542//14542 14164//14164\nf 14542//14542 14420//14420 14164//14164\nf 14546//14546 14164//14164 14170//14170\nf 14169//14169 13826//13826 14424//14424\nf 14168//14168 13632//13632 13825//13825\nf 14168//14168 13825//13825 14347//14347\nf 14350//14350 14347//14347 14427//14427\nf 14553//14553 14172//14172 14557//14557\nf 14425//14425 14166//14166 14348//14348\nf 14174//14174 14353//14353 14170//14170\nf 14346//14346 14166//14166 14426//14426\nf 14168//14168 14347//14347 14350//14350\nf 14353//14353 14555//14555 14170//14170\nf 14426//14426 14166//14166 14425//14425\nf 14557//14557 14351//14351 14436//14436\nf 14173//14173 13833//13833 14349//14349\nf 13842//13842 14178//14178 14354//14354\nf 13843//13843 14354//14354 14357//14357\nf 14432//14432 14173//14173 14349//14349\nf 14349//14349 14350//14350 14433//14433\nf 14356//14356 14173//14173 14440//14440\nf 14440//14440 14173//14173 14432//14432\nf 14559//14559 14437//14437 14357//14357\nf 14438//14438 14361//14361 14429//14429\nf 14429//14429 14431//14431 14438//14438\nf 14359//14359 14176//14176 14439//14439\nf 14348//14348 14176//14176 14359//14359\nf 14177//14177 14355//14355 14176//14176\nf 14352//14352 14173//14173 14356//14356\nf 14432//14432 14349//14349 14433//14433\nf 14435//14435 14434//14434 14183//14183\nf 14351//14351 13841//13841 14436//14436\nf 14355//14355 14352//14352 14356//14356\nf 14371//14371 14441//14441 14364//14364\nf 14360//14360 13017//13017 14181//14181\nf 14181//14181 14182//14182 15083//15083\nf 15082//15082 14360//14360 14181//14181\nf 14366//14366 14438//14438 14565//14565\nf 14366//14366 14565//14565 14368//14368\nf 14368//14368 14565//14565 14430//14430\nf 14443//14443 14439//14439 14369//14369\nf 14372//14372 14356//14356 14440//14440\nf 14442//14442 14180//14180 13840//13840\nf 13852//13852 14180//14180 14442//14442\nf 13840//13840 13645//13645 14442//14442\nf 14363//14363 13649//13649 13333//13333\nf 14182//14182 14569//14569 15085//15085\nf 14368//14368 14430//14430 14370//14370\nf 14439//14439 14355//14355 14369//14369\nf 14355//14355 14356//14356 14369//14369\nf 14372//14372 14440//14440 14444//14444\nf 14445//14445 14444//14444 14440//14440\nf 14445//14445 14440//14440 14432//14432\nf 14367//14367 14436//14436 13841//13841\nf 14441//14441 14359//14359 14364//14364\nf 14364//14364 14359//14359 14443//14443\nf 14376//14376 14443//14443 14369//14369\nf 14369//14369 14356//14356 14372//14372\nf 14359//14359 14439//14439 14443//14443\nf 14451//14451 14372//14372 14444//14444\nf 13850//13850 12759//12759 13851//13851\nf 15090//15090 13850//13850 15315//15315\nf 14370//14370 14194//14194 14368//14368\nf 14377//14377 14375//14375 14364//14364\nf 14377//14377 14364//14364 14443//14443\nf 14452//14452 14445//14445 14453//14453\nf 14197//14197 14450//14450 14365//14365\nf 14447//14447 14193//14193 13845//13845\nf 14193//14193 14447//14447 14573//14573\nf 14194//14194 14370//14370 14371//14371\nf 14443//14443 14376//14376 14377//14377\nf 14451//14451 14376//14376 14372//14372\nf 14452//14452 14444//14444 14445//14445\nf 14445//14445 14448//14448 14453//14453\nf 14197//14197 14365//14365 13859//13859\nf 14374//14374 14194//14194 14371//14371\nf 14451//14451 14444//14444 14378//14378\nf 14446//14446 14450//14450 14454//14454\nf 14197//14197 14454//14454 14450//14450\nf 14378//14378 14444//14444 14452//14452\nf 14201//14201 14376//14376 14205//14205\nf 14451//14451 14378//14378 14214//14214\nf 14379//14379 14378//14378 14452//14452\nf 14452//14452 14453//14453 14216//14216\nf 14209//14209 14453//14453 14456//14456\nf 14209//14209 14456//14456 14455//14455\nf 14209//14209 14455//14455 13869//13869\nf 13869//13869 14455//14455 14454//14454\nf 13855//13855 14189//14189 14198//14198\nf 14205//14205 14451//14451 14214//14214\nf 14379//14379 14452//14452 14216//14216\nf 13869//13869 14454//14454 13866//13866\nf 13655//13655 13855//13855 14198//14198\nf 14216//14216 14453//14453 14209//14209\nf 15116//15116 14202//14202 14203//14203\nf 14216//14216 13877//13877 14379//14379\nf 13877//13877 14216//14216 13878//13878\nf 12781//12781 14207//14207 14206//14206\nf 14208//14208 12780//12780 13658//13658\nf 14576//14576 14213//14213 14217//14217\nf 13882//13882 13867//13867 14457//14457\nf 14219//14219 13885//13885 13516//13516\nf 14219//14219 13516//13516 14458//14458\nf 14457//14457 14220//14220 13882//13882\nf 13887//13887 13669//13669 14459//14459\nf 14580//14580 14217//14217 14460//14460\nf 14217//14217 14221//14221 14460//14460\nf 13057//13057 12810//12810 14223//14223\nf 13891//13891 13061//13061 14226//14226\nf 12818//12818 13891//13891 14227//14227\nf 13892//13892 14230//14230 14462//14462\nf 14231//14231 13894//13894 14229//14229\nf 14232//14232 13895//13895 13898//13898\nf 13898//13898 14232//14232 13895//13895\nf 14232//14232 13898//13898 13895//13895\nf 14233//14233 14584//14584 14582//14582\nf 14463//14463 13899//13899 13675//13675\nf 14235//14235 13067//13067 14234//14234\nf 14584//14584 14233//14233 14236//14236\nf 14381//14381 12829//12829 13679//13679\nf 14239//14239 13076//13076 14381//14381\nf 14243//14243 14586//14586 13903//13903\nf 13683//13683 14240//14240 14242//14242\nf 14240//14240 13683//13683 14242//14242\nf 14241//14241 13368//13368 12831//12831\nf 14587//14587 14243//14243 13910//13910\nf 14587//14587 13910//13910 14382//14382\nf 13912//13912 14384//14384 14249//14249\nf 13915//13915 14466//14466 14251//14251\nf 14467//14467 13916//13916 13686//13686\nf 14255//14255 13373//13373 14254//14254\nf 14261//14261 14254//14254 14257//14257\nf 14468//14468 14471//14471 14469//14469\nf 14471//14471 14470//14470 14469//14469\nf 13378//13378 14267//14267 14386//14386\nf 14468//14468 13694//13694 14273//14273\nf 14471//14471 14468//14468 14273//14273\nf 14471//14471 14273//14273 14387//14387\nf 13947//13947 12537//12537 13944//13944\nf 13944//13944 14281//14281 13945//13945\nf 14474//14474 13948//13948 13936//13936\nf 13953//13953 12543//12543 12544//12544\nf 13702//13702 13951//13951 14729//14729\nf 13954//13954 13950//13950 14718//14718\nf 13961//13961 13964//13964 13540//13540\nf 14605//14605 13952//13952 13543//13543\nf 15255//15255 14389//14389 14390//14390\nf 13541//13541 13966//13966 14287//14287\nf 13708//13708 13120//13120 13544//13544\nf 13544//13544 13709//13709 14748//14748\nf 13543//13543 13975//13975 14476//14476\nf 13984//13984 13979//13979 13715//13715\nf 13981//13981 13716//13716 13978//13978\nf 13545//13545 13984//13984 14764//14764\nf 13984//13984 14761//14761 14764//14764\nf 13546//13546 13718//13718 13440//13440\nf 13987//13987 14477//14477 13992//13992\nf 14391//14391 13547//13547 13549//13549\nf 13990//13990 14478//14478 13721//13721\nf 13720//13720 13991//13991 13549//13549\nf 14291//14291 13998//13998 14290//14290\nf 13552//13552 14003//14003 14392//14392\nf 14392//14392 14003//14003 13557//13557\nf 14004//14004 14291//14291 14009//14009\nf 13555//13555 14004//14004 14009//14009\nf 14012//14012 14006//14006 14480//14480\nf 13728//13728 14294//14294 14393//14393\nf 14028//14028 14026//14026 14018//14018\nf 14393//14393 13730//13730 13728//13728\nf 14025//14025 14024//14024 13559//13559\nf 14038//14038 14035//14035 13734//13734\nf 14831//14831 13564//13564 14840//14840\nf 13565//13565 14040//14040 14616//14616\nf 14396//14396 14296//14296 14297//14297\nf 14047//14047 12632//12632 14044//14044\nf 14488//14488 14489//14489 14402//14402\nf 14049//14049 14298//14298 13739//13739\nf 14301//14301 14397//14397 14488//14488\nf 14303//14303 14490//14490 14052//14052\nf 14301//14301 14488//14488 14402//14402\nf 14061//14061 14491//14491 13746//13746\nf 12642//12642 14057//14057 14063//14063\nf 14492//14492 14071//14071 13758//13758\nf 14492//14492 14072//14072 14071//14071\nf 14493//14493 14073//14073 14072//14072\nf 13757//13757 14076//14076 14068//14068\nf 13765//13765 14081//14081 14899//14899\nf 14404//14404 14405//14405 14403//14403\nf 14902//14902 14496//14496 13765//13765\nf 13587//13587 14496//14496 14902//14902\nf 13587//13587 13765//13765 14496//14496\nf 14405//14405 14404//14404 14497//14497\nf 14407//14407 14405//14405 14497//14497\nf 14909//14909 13770//13770 14498//14498\nf 14407//14407 14497//14497 14499//14499\nf 14316//14316 14407//14407 14499//14499\nf 14093//14093 13587//13587 14091//14091\nf 14497//14497 14501//14501 14500//14500\nf 14497//14497 14314//14314 14501//14501\nf 14314//14314 14408//14408 14501//14501\nf 14317//14317 14316//14316 14499//14499\nf 14499//14499 14497//14497 14500//14500\nf 14499//14499 14500//14500 14502//14502\nf 14321//14321 14499//14499 14502//14502\nf 14408//14408 14090//14090 14409//14409\nf 13774//13774 14101//14101 14915//14915\nf 14100//14100 14629//14629 14102//14102\nf 14092//14092 14503//14503 14918//14918\nf 14504//14504 14408//14408 14409//14409\nf 14322//14322 14321//14321 14502//14502\nf 14409//14409 14506//14506 14504//14504\nf 14106//14106 14503//14503 14099//14099\nf 14322//14322 14502//14502 14505//14505\nf 14506//14506 14409//14409 14096//14096\nf 14323//14323 14322//14322 14505//14505\nf 14506//14506 14096//14096 14410//14410\nf 14323//14323 14505//14505 14508//14508\nf 14104//14104 14507//14507 14112//14112\nf 14410//14410 14107//14107 14411//14411\nf 14509//14509 14410//14410 14411//14411\nf 13594//13594 13782//13782 14936//14936\nf 14325//14325 14323//14323 14510//14510\nf 14510//14510 14323//14323 14508//14508\nf 13594//13594 14936//14936 14948//14948\nf 14511//14511 14411//14411 14412//14412\nf 14325//14325 14510//14510 14118//14118\nf 14117//14117 14120//14120 14949//14949\nf 14116//14116 14513//14513 13596//13596\nf 13595//13595 14514//14514 14324//14324\nf 14515//14515 14118//14118 14510//14510\nf 14516//14516 14326//14326 14413//14413\nf 13790//13790 14327//14327 13785//13785\nf 13789//13789 14118//14118 14515//14515\nf 13789//13789 14515//14515 14518//14518\nf 13599//13599 12965//12965 14329//14329\nf 14521//14521 13793//13793 13788//13788\nf 13794//13794 13793//13793 14521//14521\nf 13603//13603 14522//14522 14128//14128\nf 14520//14520 14517//14517 14122//14122\nf 14520//14520 14122//14122 14330//14330\nf 13603//13603 14131//14131 14522//14522\nf 14131//14131 13610//13610 14331//14331\nf 13797//13797 13604//13604 14523//14523\nf 14136//14136 14130//14130 14138//14138\nf 14130//14130 14640//14640 14524//14524\nf 14525//14525 14330//14330 14332//14332\nf 14995//14995 14527//14527 15009//15009\nf 14138//14138 14130//14130 14524//14524\nf 14141//14141 14137//14137 13800//13800\nf 14414//14414 13799//13799 14527//14527\nf 14414//14414 14134//14134 13799//13799\nf 14525//14525 14332//14332 14333//14333\nf 14528//14528 14333//14333 14336//14336\nf 15019//15019 14140//14140 14335//14335\nf 13617//13617 13803//13803 14530//14530\nf 14149//14149 13617//13617 14530//14530\nf 14532//14532 14415//14415 13612//13612\nf 14532//14532 13612//13612 13807//13807\nf 14528//14528 14336//14336 14337//14337\nf 14644//14644 14528//14528 14337//14337\nf 14417//14417 14644//14644 14337//14337\nf 14533//14533 13809//13809 14149//14149\nf 13809//13809 14533//14533 14338//14338\nf 14532//14532 14151//14151 14534//14534\nf 14154//14154 14531//14531 14647//14647\nf 14338//14338 14535//14535 13814//13814\nf 15040//15040 14535//14535 14338//14338\nf 13814//13814 14535//14535 14418//14418\nf 14341//14341 14536//14536 14151//14151\nf 14155//14155 14343//14343 14417//14417\nf 14155//14155 14157//14157 14343//14343\nf 14540//14540 13813//13813 13819//13819\nf 14344//14344 14418//14418 14538//14538\nf 14342//14342 14539//14539 14541//14541\nf 14543//14543 14343//14343 14420//14420\nf 14159//14159 13816//13816 14537//14537\nf 14542//14542 14543//14543 14420//14420\nf 14541//14541 14421//14421 14342//14342\nf 13826//13826 14344//14344 14424//14424\nf 14545//14545 13818//13818 14421//14421\nf 14544//14544 14542//14542 14546//14546\nf 14419//14419 14158//14158 14423//14423\nf 14545//14545 14345//14345 13818//13818\nf 14421//14421 14541//14541 14545//14545\nf 14548//14548 14540//14540 14163//14163\nf 14419//14419 14423//14423 14547//14547\nf 14549//14549 14659//14659 14546//14546\nf 14170//14170 14549//14549 14546//14546\nf 14167//14167 14162//14162 14171//14171\nf 14550//14550 14175//14175 14424//14424\nf 14175//14175 14169//14169 14424//14424\nf 14552//14552 14423//14423 14161//14161\nf 14161//14161 14346//14346 14552//14552\nf 14347//14347 13825//13825 14345//14345\nf 14555//14555 14549//14549 14170//14170\nf 14548//14548 14163//14163 14553//14553\nf 14347//14347 14345//14345 14551//14551\nf 14553//14553 14163//14163 14172//14172\nf 14178//14178 14175//14175 14554//14554\nf 14178//14178 14554//14554 14354//14354\nf 14172//14172 14351//14351 14557//14557\nf 14665//14665 14560//14560 14431//14431\nf 14552//14552 14346//14346 14426//14426\nf 14427//14427 14347//14347 14551//14551\nf 14554//14554 14556//14556 14354//14354\nf 14428//14428 14354//14354 14556//14556\nf 14431//14431 14560//14560 14561//14561\nf 14427//14427 14551//14551 14672//14672\nf 14434//14434 14555//14555 14353//14353\nf 14354//14354 14428//14428 14357//14357\nf 14428//14428 14558//14558 14559//14559\nf 14552//14552 14426//14426 14561//14561\nf 14357//14357 14428//14428 14559//14559\nf 14441//14441 14426//14426 14425//14425\nf 14350//14350 14427//14427 14564//14564\nf 14435//14435 14562//14562 14434//14434\nf 14437//14437 14429//14429 14361//14361\nf 14559//14559 14429//14429 14437//14437\nf 14561//14561 14426//14426 14430//14430\nf 14441//14441 14425//14425 14359//14359\nf 14348//14348 14359//14359 14425//14425\nf 14361//14361 14438//14438 14366//14366\nf 14438//14438 14431//14431 14561//14561\nf 14438//14438 14561//14561 14565//14565\nf 14565//14565 14561//14561 14430//14430\nf 14430//14430 14426//14426 14441//14441\nf 14564//14564 14427//14427 14672//14672\nf 14564//14564 14672//14672 14566//14566\nf 14433//14433 14350//14350 14564//14564\nf 14371//14371 14430//14430 14441//14441\nf 14432//14432 14433//14433 14448//14448\nf 14449//14449 14566//14566 14446//14446\nf 13845//13845 14358//14358 14447//14447\nf 14436//14436 14367//14367 14570//14570\nf 14371//14371 14370//14370 14430//14430\nf 14433//14433 14564//14564 14571//14571\nf 14566//14566 14567//14567 14446//14446\nf 14568//14568 14435//14435 14365//14365\nf 14568//14568 14365//14365 14450//14450\nf 15314//15314 14569//14569 13650//13650\nf 14445//14445 14432//14432 14448//14448\nf 14448//14448 14433//14433 14571//14571\nf 14571//14571 14564//14564 14566//14566\nf 14571//14571 14566//14566 14449//14449\nf 14446//14446 14568//14568 14450//14450\nf 14567//14567 14568//14568 14446//14446\nf 13852//13852 14572//14572 14189//14189\nf 14192//14192 14188//14188 14190//14190\nf 14571//14571 14449//14449 14455//14455\nf 14446//14446 14454//14454 14449//14449\nf 14448//14448 14571//14571 14456//14456\nf 14453//14453 14448//14448 14456//14456\nf 14454//14454 14455//14455 14449//14449\nf 14456//14456 14571//14571 14455//14455\nf 15106//15106 14195//14195 14196//14196\nf 14189//14189 14574//14574 14198//14198\nf 14574//14574 15109//15109 15115//15115\nf 14199//14199 14193//14193 14575//14575\nf 14576//14576 13862//13862 14213//14213\nf 14213//14213 13862//13862 14204//14204\nf 14212//14212 13862//13862 14576//14576\nf 14212//14212 14576//14576 14211//14211\nf 14457//14457 14579//14579 14220//14220\nf 13516//13516 13886//13886 14458//14458\nf 14217//14217 14580//14580 14577//14577\nf 13669//13669 14218//14218 14459//14459\nf 14218//14218 13515//13515 14578//14578\nf 13057//13057 14223//14223 14461//14461\nf 14460//14460 14221//14221 13671//13671\nf 13058//13058 13057//13057 14461//14461\nf 14462//14462 13671//13671 13892//13892\nf 14462//14462 14581//14581 13892//13892\nf 13892//13892 14581//14581 14462//14462\nf 14581//14581 14462//14462 14230//14230\nf 14232//14232 14581//14581 14230//14230\nf 13675//13675 14231//14231 14463//14463\nf 13675//13675 14463//14463 14231//14231\nf 13675//13675 14231//14231 14463//14463\nf 14232//14232 14230//14230 13895//13895\nf 14583//14583 13899//13899 14463//14463\nf 14232//14232 14233//14233 14582//14582\nf 12828//12828 13212//13212 14238//14238\nf 13212//13212 14585//14585 14238//14238\nf 13682//13682 14239//14239 14381//14381\nf 13683//13683 14244//14244 14240//14240\nf 14244//14244 13683//13683 14242//14242\nf 14465//14465 14245//14245 14241//14241\nf 14242//14242 13907//13907 14383//14383\nf 14248//14248 14244//14244 14588//14588\nf 13912//13912 14247//14247 14589//14589\nf 13910//13910 14590//14590 14382//14382\nf 14384//14384 13912//13912 14589//14589\nf 13910//13910 14250//14250 14590//14590\nf 14251//14251 14591//14591 14590//14590\nf 14250//14250 14251//14251 14590//14590\nf 14466//14466 14591//14591 14251//14251\nf 14253//14253 13527//13527 14592//14592\nf 14258//14258 13915//13915 13693//13693\nf 14258//14258 14466//14466 13915//13915\nf 14593//14593 13692//13692 14468//14468\nf 13922//13922 14253//14253 14262//14262\nf 14469//14469 14593//14593 14468//14468\nf 14468//14468 13692//13692 13694//13694\nf 14259//14259 13919//13919 14597//14597\nf 13697//13697 14260//14260 14598//14598\nf 14265//14265 13923//13923 15217//15217\nf 14469//14469 14470//14470 14595//14595\nf 13921//13921 13920//13920 14599//14599\nf 14596//14596 13921//13921 14599//14599\nf 14386//14386 14267//14267 15225//15225\nf 14270//14270 13438//13438 13699//13699\nf 13438//13438 13381//13381 13699//13699\nf 12864//12864 13438//13438 14271//14271\nf 13438//13438 14270//14270 14271//14271\nf 13695//13695 13924//13924 14600//14600\nf 13695//13695 14600//14600 13924//13924\nf 14387//14387 14470//14470 14471//14471\nf 13697//13697 14598//14598 14274//14274\nf 14600//14600 13695//13695 13924//13924\nf 13695//13695 14600//14600 15241//15241\nf 14278//14278 14387//14387 14276//14276\nf 13700//13700 14278//14278 13934//13934\nf 13937//13937 14472//14472 14702//14702\nf 14705//14705 14704//14704 13941//13941\nf 13944//13944 14473//14473 13947//13947\nf 14712//14712 14282//14282 13955//13955\nf 14732//14732 14709//14709 13703//13703\nf 14709//14709 13945//13945 13703//13703\nf 14602//14602 13538//13538 13702//13702\nf 14732//14732 13703//13703 14284//14284\nf 14733//14733 14732//14732 14284//14284\nf 14736//14736 13541//13541 14737//14737\nf 15254//15254 13537//13537 13959//13959\nf 13959//13959 13117//13117 13965//13965\nf 15398//15398 14286//14286 15399//15399\nf 13537//13537 14723//14723 13713//13713\nf 13959//13959 13965//13965 14603//14603\nf 13972//13972 14745//14745 13710//13710\nf 14603//14603 13965//13965 13708//13708\nf 15258//15258 13971//13971 14739//14739\nf 14756//14756 14289//14289 13970//13970\nf 14746//14746 13976//13976 13962//13962\nf 13974//13974 13713//13713 14606//14606\nf 13981//13981 13978//13978 14762//14762\nf 14759//14759 13546//13546 13974//13974\nf 14757//14757 14476//14476 14609//14609\nf 14760//14760 13980//13980 13983//13983\nf 13987//13987 13545//13545 14764//14764\nf 14608//14608 13546//13546 13718//13718\nf 14767//14767 14608//14608 13718//13718\nf 14768//14768 13982//13982 13986//13986\nf 14769//14769 14767//14767 13718//13718\nf 14770//14770 13989//13989 13993//13993\nf 13547//13547 13440//13440 14769//14769\nf 13547//13547 14769//14769 14773//14773\nf 13993//13993 13994//13994 14770//14770\nf 14610//14610 14478//14478 13990//13990\nf 13999//13999 13997//13997 14778//14778\nf 14776//14776 14611//14611 13549//13549\nf 14776//14776 14782//14782 14611//14611\nf 14290//14290 14611//14611 14003//14003\nf 14290//14290 13549//13549 14611//14611\nf 14479//14479 13996//13996 14000//14000\nf 14291//14291 14003//14003 14612//14612\nf 14291//14291 14290//14290 14003//14003\nf 14781//14781 14787//14787 14006//14006\nf 14006//14006 14787//14787 14790//14790\nf 14613//14613 14392//14392 13557//13557\nf 13555//13555 14009//14009 14789//14789\nf 14791//14791 14005//14005 14292//14292\nf 14293//14293 13723//13723 14008//14008\nf 14795//14795 14788//14788 14011//14011\nf 14614//14614 14292//14292 13726//13726\nf 14615//14615 14013//14013 13724//13724\nf 14802//14802 13725//13725 14017//14017\nf 14018//14018 14803//14803 14028//14028\nf 14813//14813 14019//14019 14808//14808\nf 14027//14027 13731//13731 14482//14482\nf 14824//14824 14033//14033 14483//14483\nf 14030//14030 14819//14819 14823//14823\nf 14831//14831 14484//14484 13564//13564\nf 14839//14839 14035//14035 14836//14836\nf 14842//14842 13567//13567 13734//13734\nf 14395//14395 14042//14042 14840//14840\nf 13735//13735 13567//13567 14043//14043\nf 14295//14295 14039//14039 14838//14838\nf 14037//14037 13565//13565 14616//14616\nf 14620//14620 14617//14617 14846//14846\nf 13737//13737 14485//14485 14848//14848\nf 14618//14618 14396//14396 14297//14297\nf 14620//14620 14619//14619 14617//14617\nf 14487//14487 14848//14848 14849//14849\nf 14487//14487 13737//13737 14848//14848\nf 14398//14398 14486//14486 14299//14299\nf 14048//14048 14487//14487 14621//14621\nf 14850//14850 14621//14621 14487//14487\nf 14856//14856 14488//14488 14397//14397\nf 14486//14486 14398//14398 14623//14623\nf 14622//14622 14399//14399 14400//14400\nf 14622//14622 14855//14855 14399//14399\nf 14490//14490 14624//14624 14620//14620\nf 14397//14397 14048//14048 14621//14621\nf 14488//14488 14858//14858 14489//14489\nf 14486//14486 14297//14297 14299//14299\nf 14400//14400 14490//14490 14622//14622\nf 14490//14490 14303//14303 14624//14624\nf 14298//14298 14626//14626 14860//14860\nf 14298//14298 14049//14049 14626//14626\nf 14302//14302 14625//14625 14861//14861\nf 14304//14304 14302//14302 14866//14866\nf 14302//14302 14864//14864 14866//14866\nf 14869//14869 14053//14053 13570//13570\nf 14063//14063 14053//14053 14874//14874\nf 13572//13572 14060//14060 14875//14875\nf 14876//14876 14878//14878 14492//14492\nf 14060//14060 14068//14068 14875//14875\nf 14878//14878 14072//14072 14492//14492\nf 14885//14885 14061//14061 13756//13756\nf 14882//14882 14879//14879 14067//14067\nf 13456//13456 14884//14884 13578//13578\nf 14073//14073 14493//14493 14627//14627\nf 14068//14068 14076//14076 14494//14494\nf 14887//14887 13761//13761 14073//14073\nf 14076//14076 13586//13586 14494//14494\nf 13587//13587 14902//14902 14496//14496\nf 14496//14496 14902//14902 13587//13587\nf 14909//14909 14498//14498 13770//13770\nf 14091//14091 14908//14908 14911//14911\nf 14906//14906 14087//14087 14092//14092\nf 14100//14100 14093//14093 14629//14629\nf 14092//14092 14099//14099 14503//14503\nf 14502//14502 14500//14500 14630//14630\nf 14500//14500 14501//14501 14630//14630\nf 14630//14630 14501//14501 14408//14408\nf 14630//14630 14408//14408 14504//14504\nf 14632//14632 14502//14502 14630//14630\nf 14507//14507 14104//14104 14102//14102\nf 14502//14502 14632//14632 14505//14505\nf 14630//14630 14504//14504 14631//14631\nf 14631//14631 14504//14504 14506//14506\nf 14103//14103 13778//13778 14109//14109\nf 14630//14630 14631//14631 14632//14632\nf 14633//14633 14931//14931 14111//14111\nf 14631//14631 14506//14506 14635//14635\nf 14634//14634 14631//14631 14635//14635\nf 14925//14925 14108//14108 14110//14110\nf 14932//14932 14103//14103 14109//14109\nf 14506//14506 14410//14410 14509//14509\nf 14506//14506 14509//14509 14635//14635\nf 14941//14941 14938//14938 14110//14110\nf 14509//14509 14411//14411 14511//14511\nf 14941//14941 14110//14110 14117//14117\nf 14510//14510 14508//14508 14934//14934\nf 15290//15290 14327//14327 14955//14955\nf 14511//14511 14516//14516 14637//14637\nf 14511//14511 14412//14412 14516//14516\nf 13595//13595 13599//13599 14514//14514\nf 14119//14119 14512//14512 14945//14945\nf 14124//14124 13596//13596 14953//14953\nf 14127//14127 14119//14119 14959//14959\nf 14638//14638 14413//14413 14517//14517\nf 14327//14327 13790//13790 14519//14519\nf 14965//14965 13601//13601 14973//14973\nf 14638//14638 14516//14516 14413//14413\nf 14638//14638 14517//14517 14520//14520\nf 14975//14975 13604//13604 14127//14127\nf 14640//14640 14130//14130 14969//14969\nf 14638//14638 14520//14520 14639//14639\nf 14983//14983 13790//13790 14129//14129\nf 14523//14523 13604//13604 14982//14982\nf 14132//14132 14979//14979 13609//13609\nf 14330//14330 14525//14525 14520//14520\nf 14982//14982 13798//13798 14523//14523\nf 14995//14995 14129//14129 14414//14414\nf 14526//14526 13798//13798 14987//14987\nf 14641//14641 14639//14639 14520//14520\nf 13798//13798 14982//14982 14987//14987\nf 14520//14520 14525//14525 14641//14641\nf 14142//14142 14138//14138 14524//14524\nf 14334//14334 14992//14992 15000//15000\nf 14142//14142 14524//14524 14642//14642\nf 15001//15001 14642//14642 14524//14524\nf 15012//15012 14334//14334 15008//15008\nf 15009//15009 14527//14527 15014//15014\nf 15014//15014 14527//14527 14415//14415\nf 14144//14144 14142//14142 14642//14642\nf 14529//14529 14144//14144 14642//14642\nf 15012//15012 13803//13803 14334//14334\nf 14527//14527 13799//13799 14415//14415\nf 15011//15011 14145//14145 14143//14143\nf 15020//15020 14528//14528 14645//14645\nf 14530//14530 15012//15012 14149//14149\nf 15020//15020 14645//14645 15018//15018\nf 13613//13613 13618//13618 14335//14335\nf 14645//14645 14528//14528 14644//14644\nf 15026//15026 14533//14533 14149//14149\nf 14335//14335 13618//13618 15025//15025\nf 14532//14532 13807//13807 14151//14151\nf 14417//14417 14645//14645 14644//14644\nf 14416//14416 15033//15033 15039//15039\nf 14645//14645 14417//14417 14648//14648\nf 15036//15036 15032//15032 14534//14534\nf 15032//15032 14532//14532 14534//14534\nf 14148//14148 14531//14531 14154//14154\nf 15042//15042 14645//14645 14648//14648\nf 15043//15043 14339//14339 14150//14150\nf 14535//14535 15044//15044 14538//14538\nf 14534//14534 14151//14151 14536//14536\nf 14648//14648 14417//14417 14543//14543\nf 14343//14343 14543//14543 14417//14417\nf 14534//14534 14536//14536 15047//15047\nf 14342//14342 14154//14154 14647//14647\nf 14342//14342 14647//14647 14539//14539\nf 14543//14543 14650//14650 15048//15048\nf 14651//14651 14536//14536 14419//14419\nf 14536//14536 14341//14341 14419//14419\nf 14649//14649 14538//14538 15050//15050\nf 14544//14544 14650//14650 14543//14543\nf 14544//14544 14543//14543 14542//14542\nf 14344//14344 14538//14538 14653//14653\nf 14653//14653 14424//14424 14344//14344\nf 15306//15306 14162//14162 14422//14422\nf 14424//14424 14653//14653 14655//14655\nf 14654//14654 14656//14656 15059//15059\nf 14651//14651 14419//14419 14657//14657\nf 14659//14659 14544//14544 14546//14546\nf 14550//14550 15058//15058 14660//14660\nf 14657//14657 14419//14419 14547//14547\nf 14545//14545 14541//14541 14658//14658\nf 14554//14554 14550//14550 14660//14660\nf 14560//14560 14547//14547 14423//14423\nf 14658//14658 14662//14662 14667//14667\nf 14162//14162 14663//14663 14171//14171\nf 15307//15307 14553//14553 14664//14664\nf 14664//14664 14548//14548 14553//14553\nf 14175//14175 14550//14550 14554//14554\nf 14665//14665 14657//14657 14547//14547\nf 14552//14552 14560//14560 14423//14423\nf 14551//14551 14545//14545 14666//14666\nf 15068//15068 14556//14556 14554//14554\nf 14556//14556 14661//14661 14558//14558\nf 14661//14661 14656//14656 14558//14558\nf 14558//14558 14656//14656 14669//14669\nf 14545//14545 14658//14658 15074//15074\nf 14671//14671 14662//14662 15071//15071\nf 14668//14668 15071//15071 14549//14549\nf 14665//14665 14547//14547 14560//14560\nf 14551//14551 14345//14345 14545//14545\nf 14671//14671 14668//14668 14549//14549\nf 14667//14667 14662//14662 14671//14671\nf 14671//14671 14549//14549 14555//14555\nf 14179//14179 14171//14171 15075//15075\nf 14559//14559 14558//14558 14669//14669\nf 14434//14434 14671//14671 14555//14555\nf 14556//14556 14558//14558 14428//14428\nf 14431//14431 14429//14429 14665//14665\nf 14560//14560 14552//14552 14561//14561\nf 14674//14674 14670//14670 14667//14667\nf 14669//14669 14665//14665 14429//14429\nf 14559//14559 14669//14669 14429//14429\nf 14672//14672 14551//14551 14673//14673\nf 14667//14667 14434//14434 14562//14562\nf 14667//14667 14671//14671 14434//14434\nf 14551//14551 14666//14666 14673//14673\nf 14673//14673 14666//14666 14670//14670\nf 14674//14674 14667//14667 14562//14562\nf 14673//14673 14670//14670 14674//14674\nf 14568//14568 14674//14674 14562//14562\nf 14358//14358 13644//13644 14179//14179\nf 15076//15076 14557//14557 14436//14436\nf 14358//14358 14179//14179 14563//14563\nf 14567//14567 14673//14673 14674//14674\nf 14567//14567 14674//14674 14568//14568\nf 14672//14672 14673//14673 14566//14566\nf 14568//14568 14562//14562 14435//14435\nf 14566//14566 14673//14673 14567//14567\nf 14676//14676 14447//14447 14358//14358\nf 14182//14182 13181//13181 14569//14569\nf 15083//15083 14182//14182 15376//15376\nf 13181//13181 12756//12756 14569//14569\nf 14569//14569 12756//12756 13650//13650\nf 14675//14675 14436//14436 14570//14570\nf 14570//14570 14367//14367 14677//14677\nf 13849//13849 14186//14186 15088//15088\nf 14678//14678 14362//14362 15094//15094\nf 14678//14678 14442//14442 14362//14362\nf 15315//15315 14188//14188 15095//15095\nf 14573//14573 14447//14447 14679//14679\nf 14362//14362 13844//13844 14680//14680\nf 14681//14681 14680//14680 13844//13844\nf 13844//13844 13648//13648 14681//14681\nf 14189//14189 15091//15091 15097//15097\nf 14572//14572 15091//15091 14189//14189\nf 15106//15106 15100//15100 14195//14195\nf 14189//14189 15109//15109 14574//14574\nf 14573//14573 14575//14575 14193//14193\nf 14576//14576 14682//14682 14211//14211\nf 15126//15126 15128//15128 14211//14211\nf 14683//14683 14576//14576 14577//14577\nf 14217//14217 14577//14577 14576//14576\nf 14579//14579 14457//14457 15134//15134\nf 15133//15133 14219//14219 14458//14458\nf 13884//13884 14578//14578 13515//13515\nf 14685//14685 14459//14459 14218//14218\nf 15139//15139 13887//13887 14459//14459\nf 15142//15142 15143//15143 14223//14223\nf 13671//13671 14687//14687 14460//14460\nf 14224//14224 13058//13058 14461//14461\nf 14225//14225 14689//14689 14690//14690\nf 14690//14690 13672//13672 14225//14225\nf 15148//15148 13672//13672 14690//14690\nf 14688//14688 13671//13671 14462//14462\nf 14692//14692 13893//13893 14691//14691\nf 14692//14692 14228//14228 13893//13893\nf 13893//13893 14227//14227 14693//14693\nf 14231//14231 14229//14229 15151//15151\nf 14462//14462 14581//14581 14694//14694\nf 15149//15149 14462//14462 14694//14694\nf 15154//15154 14231//14231 15153//15153\nf 14582//14582 14581//14581 14232//14232\nf 14231//14231 15154//15154 14463//14463\nf 15154//15154 14695//14695 14463//14463\nf 14234//14234 13899//13899 15322//15322\nf 14696//14696 14582//14582 14584//14584\nf 15160//15160 13678//13678 14235//14235\nf 14585//14585 14464//14464 14380//14380\nf 14585//14585 14380//14380 15162//15162\nf 14586//14586 14696//14696 14236//14236\nf 15166//15166 13679//13679 15390//15390\nf 14696//14696 14584//14584 14236//14236\nf 15166//15166 14381//14381 13679//13679\nf 14243//14243 14587//14587 14697//14697\nf 15174//15174 14241//14241 13904//13904\nf 14382//14382 14697//14697 14587//14587\nf 14245//14245 14465//14465 15173//15173\nf 15182//15182 14589//14589 14247//14247\nf 14698//14698 14383//14383 14249//14249\nf 15188//15188 13914//13914 14248//14248\nf 15187//15187 14590//14590 14591//14591\nf 14467//14467 13686//13686 13914//13914\nf 14699//14699 14591//14591 14466//14466\nf 14466//14466 14256//14256 14699//14699\nf 14256//14256 14466//14466 14258//14258\nf 14261//14261 14594//14594 14254//14254\nf 15204//15204 14262//14262 14253//14253\nf 14469//14469 14700//14700 14593//14593\nf 15211//15211 14594//14594 14261//14261\nf 14262//14262 14268//14268 14264//14264\nf 15215//15215 13923//13923 14386//14386\nf 15216//15216 15217//15217 13923//13923\nf 13919//13919 14259//14259 14597//14597\nf 14265//14265 15220//15220 14266//14266\nf 14597//14597 13919//13919 14596//14596\nf 15231//15231 13925//13925 14269//14269\nf 15225//15225 14271//14271 15234//15234\nf 15237//15237 14274//14274 14598//14598\nf 13926//13926 15239//15239 13931//13931\nf 13924//13924 14272//14272 14600//14600\nf 15250//15250 15251//15251 14388//14388\nf 14710//14710 13936//13936 14701//14701\nf 13936//13936 13937//13937 14701//14701\nf 14712//14712 14705//14705 13941//13941\nf 15253//15253 14601//14601 13701//13701\nf 15333//15333 13942//13942 13943//13943\nf 14715//14715 13947//13947 14707//14707\nf 14709//14709 13944//13944 13945//13945\nf 14708//14708 13944//13944 14709//14709\nf 14702//14702 14472//14472 13949//13949\nf 14711//14711 14718//14718 13939//13939\nf 14711//14711 13939//13939 14703//14703\nf 14282//14282 14712//14712 13941//13941\nf 14283//14283 13946//13946 14713//14713\nf 14714//14714 14706//14706 13957//13957\nf 14706//14706 13943//13943 13957//13957\nf 13947//13947 14473//14473 14707//14707\nf 13949//13949 14717//14717 14702//14702\nf 13938//13938 14718//14718 13950//13950\nf 13953//13953 12544//12544 14283//14283\nf 13961//13961 14722//14722 13949//13949\nf 14722//14722 14717//14717 13949//13949\nf 14719//14719 13955//13955 13960//13960\nf 14731//14731 13963//13963 13958//13958\nf 14715//14715 13958//13958 13947//13947\nf 14716//14716 14726//14726 13948//13948\nf 14728//14728 14727//14727 13960//13960\nf 14728//14728 13960//13960 13538//13538\nf 13951//13951 13952//13952 14729//14729\nf 14714//14714 13957//13957 14730//14730\nf 13541//13541 13963//13963 14731//14731\nf 13705//13705 13954//13954 14734//14734\nf 13538//13538 14602//14602 14728//14728\nf 14602//14602 13702//13702 14729//14729\nf 14735//14735 14729//14729 13952//13952\nf 13971//13971 13956//13956 14724//14724\nf 15255//15255 14285//14285 14389//14389\nf 14722//14722 13540//13540 14738//14738\nf 14722//14722 13961//13961 13540//13540\nf 14741//14741 13966//13966 14736//14736\nf 14736//14736 13966//13966 13541//13541\nf 14475//14475 14742//14742 14284//14284\nf 14743//14743 14288//14288 13948//13948\nf 14726//14726 14743//14743 13948//13948\nf 14723//14723 14606//14606 13713//13713\nf 14604//14604 13709//13709 13542//13542\nf 14749//14749 13952//13952 14605//14605\nf 14747//14747 14746//14746 13962//13962\nf 14604//14604 14748//14748 13709//13709\nf 13711//13711 13968//13968 14747//14747\nf 14738//14738 13540//13540 14606//14606\nf 13543//13543 14751//14751 14749//14749\nf 14605//14605 13543//13543 14749//14749\nf 14743//14743 13969//13969 14288//14288\nf 15337//15337 13544//13544 14748//14748\nf 13966//13966 14752//14752 13973//13973\nf 14753//14753 13969//13969 14743//14743\nf 13540//13540 13713//13713 14606//14606\nf 13715//13715 14289//14289 14756//14756\nf 13967//13967 14754//14754 14750//14750\nf 14755//14755 13713//13713 13974//13974\nf 14755//14755 14606//14606 13713//13713\nf 14606//14606 14755//14755 13974//13974\nf 14751//14751 13543//13543 14757//14757\nf 14754//14754 13967//13967 13714//13714\nf 13978//13978 13969//13969 14607//14607\nf 14757//14757 13543//13543 14476//14476\nf 13967//13967 13977//13977 13714//13714\nf 14754//14754 13714//13714 14760//14760\nf 13984//13984 13715//13715 14758//14758\nf 13714//13714 13980//13980 14760//14760\nf 14755//14755 13974//13974 13546//13546\nf 14608//14608 14755//14755 13546//13546\nf 13981//13981 14762//14762 14765//14765\nf 13716//13716 13981//13981 14765//14765\nf 13718//13718 13546//13546 14608//14608\nf 13983//13983 13985//13985 14763//14763\nf 13988//13988 13716//13716 14765//14765\nf 14608//14608 13440//13440 13718//13718\nf 13989//13989 14766//14766 13985//13985\nf 14608//14608 14769//14769 13440//13440\nf 14477//14477 13987//13987 14764//14764\nf 13990//13990 13988//13988 14610//14610\nf 14768//14768 13986//13986 13548//13548\nf 14768//14768 13548//13548 14772//14772\nf 14774//14774 14770//14770 13994//13994\nf 15259//15259 13991//13991 13547//13547\nf 14778//14778 13997//13997 14771//14771\nf 13997//13997 13992//13992 14771//14771\nf 14774//14774 13994//13994 13996//13996\nf 14610//14610 14775//14775 14478//14478\nf 15259//15259 14776//14776 13991//13991\nf 14777//14777 13548//13548 13550//13550\nf 14777//14777 14772//14772 13548//13548\nf 13549//13549 13991//13991 14776//14776\nf 14775//14775 14779//14779 13721//13721\nf 13721//13721 14478//14478 14775//14775\nf 14777//14777 13550//13550 14784//14784\nf 14479//14479 14780//14780 13996//13996\nf 14779//14779 14001//14001 13721//13721\nf 13550//13550 14002//14002 14784//14784\nf 14781//14781 14001//14001 14779//14779\nf 13552//13552 14776//14776 13549//13549\nf 14611//14611 14782//14782 14003//14003\nf 14612//14612 14003//14003 14782//14782\nf 14786//14786 14000//14000 14005//14005\nf 14788//14788 14784//14784 14002//14002\nf 13999//13999 14783//14783 14785//14785\nf 14001//14001 14781//14781 14006//14006\nf 14612//14612 13552//13552 14392//14392\nf 14612//14612 14782//14782 13552//13552\nf 14291//14291 14612//14612 14613//14613\nf 14788//14788 14002//14002 14007//14007\nf 14789//14789 14291//14291 14613//14613\nf 14786//14786 14005//14005 14791//14791\nf 14012//14012 14480//14480 14790//14790\nf 13555//13555 14789//14789 14792//14792\nf 14007//14007 14011//14011 14788//14788\nf 14614//14614 13726//13726 14791//14791\nf 14790//14790 14793//14793 14012//14012\nf 14794//14794 13557//13557 14015//14015\nf 14794//14794 14613//14613 13557//13557\nf 14792//14792 14789//14789 15260//15260\nf 14796//14796 14795//14795 14011//14011\nf 14796//14796 14011//14011 13725//13725\nf 13555//13555 14792//14792 14798//14798\nf 14013//14013 14800//14800 14014//14014\nf 14013//14013 14799//14799 14800//14800\nf 13722//13722 13555//13555 14798//14798\nf 14801//14801 14014//14014 14800//14800\nf 14799//14799 14013//14013 14615//14615\nf 14014//14014 14801//14801 14020//14020\nf 14794//14794 14015//14015 13445//13445\nf 14804//14804 13722//13722 14798//14798\nf 13725//13725 14802//14802 14796//14796\nf 14018//14018 14293//14293 14803//14803\nf 13726//13726 14023//14023 14791//14791\nf 15260//15260 14794//14794 13448//13448\nf 14481//14481 14805//14805 13724//13724\nf 14020//14020 14801//14801 14021//14021\nf 14801//14801 14806//14806 14021//14021\nf 14017//14017 14022//14022 14802//14802\nf 14012//14012 14793//14793 14019//14019\nf 13722//13722 14804//14804 14294//14294\nf 14481//14481 13558//13558 14805//14805\nf 13558//13558 14809//14809 14805//14805\nf 14810//14810 13448//13448 13730//13730\nf 14811//14811 14294//14294 14804//14804\nf 14811//14811 14393//14393 14294//14294\nf 14813//14813 13729//13729 14019//14019\nf 14814//14814 14024//14024 14025//14025\nf 13559//13559 14814//14814 14025//14025\nf 14393//14393 14815//14815 13730//13730\nf 14811//14811 14815//14815 14393//14393\nf 14817//14817 14814//14814 13559//13559\nf 14816//14816 14482//14482 13731//13731\nf 14816//14816 13731//13731 14818//14818\nf 14819//14819 13729//13729 14813//14813\nf 14030//14030 13729//13729 14819//14819\nf 14820//14820 13559//13559 14394//14394\nf 14820//14820 14817//14817 13559//13559\nf 14821//14821 14031//14031 14028//14028\nf 14822//14822 14818//14818 13731//13731\nf 14818//14818 14822//14822 13731//13731\nf 14035//14035 14030//14030 14823//14823\nf 13731//13731 14034//14034 14818//14818\nf 14032//14032 14033//14033 14825//14825\nf 14394//14394 13560//13560 14820//14820\nf 14824//14824 14483//14483 14829//14829\nf 14483//14483 13563//13563 14829//14829\nf 14484//14484 14831//14831 13563//13563\nf 14039//14039 14036//14036 14835//14835\nf 14830//14830 14034//14034 14841//14841\nf 13734//13734 14035//14035 14839//14839\nf 13564//13564 14395//14395 14840//14840\nf 14839//14839 14842//14842 13734//13734\nf 14619//14619 14837//14837 14833//14833\nf 14841//14841 14037//14037 14843//14843\nf 13567//13567 14844//14844 14043//14043\nf 14396//14396 14845//14845 14042//14042\nf 14037//14037 14616//14616 14843//14843\nf 14619//14619 14833//14833 14846//14846\nf 14043//14043 14848//14848 14485//14485\nf 14043//14043 14844//14844 14848//14848\nf 14619//14619 14846//14846 14617//14617\nf 14616//14616 14040//14040 14843//14843\nf 14849//14849 14485//14485 14848//14848\nf 14848//14848 14485//14485 14849//14849\nf 14849//14849 14850//14850 14487//14487\nf 14619//14619 14620//14620 14852//14852\nf 14295//14295 14847//14847 14044//14044\nf 14620//14620 14846//14846 14851//14851\nf 14623//14623 14297//14297 14486//14486\nf 14852//14852 14620//14620 14853//14853\nf 14489//14489 14858//14858 14857//14857\nf 14851//14851 14855//14855 14622//14622\nf 14620//14620 14851//14851 14622//14622\nf 14397//14397 14621//14621 14854//14854\nf 14856//14856 14397//14397 14854//14854\nf 14489//14489 14623//14623 14398//14398\nf 14489//14489 14857//14857 14623//14623\nf 14490//14490 14620//14620 14622//14622\nf 14853//14853 14620//14620 14624//14624\nf 14852//14852 14853//14853 14624//14624\nf 14624//14624 14859//14859 14852//14852\nf 14045//14045 14298//14298 14860//14860\nf 14861//14861 14399//14399 14855//14855\nf 14399//14399 14861//14861 14625//14625\nf 14047//14047 14862//14862 13570//13570\nf 13570//13570 14862//14862 14863//14863\nf 14864//14864 14302//14302 14861//14861\nf 14303//14303 14865//14865 14859//14859\nf 14624//14624 14303//14303 14859//14859\nf 14302//14302 14864//14864 14866//14866\nf 14049//14049 14867//14867 14626//14626\nf 14866//14866 14864//14864 14302//14302\nf 14304//14304 14866//14866 14870//14870\nf 14869//14869 13570//13570 14863//14863\nf 14867//14867 14049//14049 13572//13572\nf 14868//14868 14865//14865 14871//14871\nf 14303//14303 13746//13746 14865//14865\nf 13746//13746 14871//14871 14865//14865\nf 14059//14059 14304//14304 14870//14870\nf 13572//13572 14872//14872 15279//15279\nf 14871//14871 13746//13746 14491//14491\nf 14870//14870 14062//14062 14059//14059\nf 14874//14874 14053//14053 14869//14869\nf 14063//14063 14057//14057 14053//14053\nf 14492//14492 14873//14873 14876//14876\nf 14062//14062 14873//14873 14492//14492\nf 14061//14061 14871//14871 14491//14491\nf 14877//14877 13753//13753 13750//13750\nf 14877//14877 15281//15281 13753//13753\nf 14493//14493 14072//14072 14878//14878\nf 14064//14064 14067//14067 14879//14879\nf 14886//14886 14882//14882 14067//14067\nf 14884//14884 13579//13579 13578//13578\nf 14887//14887 14073//14073 14883//14883\nf 14883//14883 14073//14073 14627//14627\nf 14886//14886 14070//14070 15282//15282\nf 14886//14886 14067//14067 14070//14070\nf 13579//13579 14889//14889 14075//14075\nf 14894//14894 14065//14065 14888//14888\nf 14893//14893 14075//14075 14889//14889\nf 14075//14075 14893//14893 13583//13583\nf 14891//14891 13756//13756 13762//13762\nf 14894//14894 14080//14080 14065//14065\nf 14897//14897 14074//14074 14495//14495\nf 13583//13583 14893//14893 14081//14081\nf 15283//15283 14495//14495 14084//14084\nf 14904//14904 14312//14312 14900//14900\nf 14898//14898 13767//13767 13761//13761\nf 14901//14901 13767//13767 14898//14898\nf 14080//14080 14900//14900 14312//14312\nf 15358//15358 14086//14086 15285//15285\nf 14088//14088 14085//14085 14904//14904\nf 13586//13586 14906//14906 14905//14905\nf 15283//15283 14084//14084 15286//15286\nf 14909//14909 14498//14498 13770//13770\nf 13586//13586 14087//14087 14906//14906\nf 15285//15285 14086//14086 14089//14089\nf 13587//13587 14908//14908 14091//14091\nf 14084//14084 14406//14406 15286//15286\nf 15286//15286 14406//14406 13774//13774\nf 14095//14095 14318//14318 14088//14088\nf 13589//13589 14498//14498 14909//14909\nf 14095//14095 14088//14088 14910//14910\nf 14093//14093 14091//14091 14911//14911\nf 14906//14906 14092//14092 14912//14912\nf 14095//14095 14910//14910 14628//14628\nf 14913//14913 13589//13589 14909//14909\nf 14914//14914 14093//14093 14911//14911\nf 14629//14629 14093//14093 14914//14914\nf 14912//14912 14092//14092 14918//14918\nf 14098//14098 14095//14095 14628//14628\nf 14917//14917 14629//14629 14914//14914\nf 14102//14102 14629//14629 14917//14917\nf 14102//14102 14917//14917 14922//14922\nf 14102//14102 14922//14922 14917//14917\nf 14919//14919 13777//13777 14098//14098\nf 14923//14923 13777//13777 14919//14919\nf 14917//14917 14507//14507 14102//14102\nf 14924//14924 14507//14507 14917//14917\nf 14924//14924 14917//14917 14922//14922\nf 14927//14927 14503//14503 14106//14106\nf 14920//14920 14105//14105 14097//14097\nf 14925//14925 13776//13776 14108//14108\nf 14925//14925 14921//14921 13776//13776\nf 14928//14928 14505//14505 14632//14632\nf 14935//14935 14928//14928 14632//14632\nf 14505//14505 14930//14930 14934//14934\nf 14111//14111 13777//13777 14633//14633\nf 13777//13777 14923//14923 14633//14633\nf 14926//14926 14103//14103 14932//14932\nf 14507//14507 14933//14933 14112//14112\nf 14106//14106 14113//14113 14927//14927\nf 14930//14930 14505//14505 14928//14928\nf 14508//14508 14505//14505 14934//14934\nf 14634//14634 14935//14935 14631//14631\nf 14632//14632 14631//14631 14935//14935\nf 14105//14105 14936//14936 13782//13782\nf 14929//14929 14936//14936 14105//14105\nf 14930//14930 14928//14928 14934//14934\nf 14934//14934 14928//14928 14935//14935\nf 14935//14935 14634//14634 14942//14942\nf 14634//14634 14635//14635 14943//14943\nf 14942//14942 14634//14634 14943//14943\nf 14114//14114 14112//14112 14933//14933\nf 14946//14946 14510//14510 14934//14934\nf 14947//14947 14946//14946 14942//14942\nf 14950//14950 14509//14509 14511//14511\nf 14116//14116 14111//14111 14944//14944\nf 14937//14937 14940//14940 15290//15290\nf 14946//14946 14934//14934 14935//14935\nf 14946//14946 14935//14935 14942//14942\nf 14636//14636 14950//14950 14511//14511\nf 14950//14950 14635//14635 14509//14509\nf 14949//14949 14941//14941 14117//14117\nf 14944//14944 14513//14513 14116//14116\nf 14512//14512 14114//14114 14945//14945\nf 14942//14942 14943//14943 14950//14950\nf 14943//14943 14635//14635 14950//14950\nf 14947//14947 14942//14942 14950//14950\nf 14113//14113 14115//14115 15290//15290\nf 14945//14945 14512//14512 14954//14954\nf 14948//14948 13594//13594 14952//14952\nf 15290//15290 14115//14115 14327//14327\nf 14510//14510 14946//14946 14515//14515\nf 14950//14950 14636//14636 14956//14956\nf 14636//14636 14957//14957 14956//14956\nf 14511//14511 14957//14957 14636//14636\nf 14957//14957 14637//14637 14516//14516\nf 13594//13594 14948//14948 13600//13600\nf 14948//14948 14952//14952 14962//14962\nf 14958//14958 14949//14949 14120//14120\nf 14959//14959 14119//14119 14954//14954\nf 14327//14327 14960//14960 14955//14955\nf 14947//14947 14950//14950 14956//14956\nf 14964//14964 14947//14947 14956//14956\nf 14957//14957 14511//14511 14637//14637\nf 14958//14958 14120//14120 14328//14328\nf 14515//14515 14946//14946 14961//14961\nf 14946//14946 14947//14947 14964//14964\nf 14961//14961 14946//14946 14964//14964\nf 14514//14514 13599//13599 14963//14963\nf 13600//13600 14962//14962 14123//14123\nf 14963//14963 13599//13599 14967//14967\nf 14957//14957 14516//14516 14966//14966\nf 14328//14328 13601//13601 14965//14965\nf 14968//14968 14519//14519 13790//13790\nf 14970//14970 14961//14961 14964//14964\nf 14964//14964 14956//14956 14971//14971\nf 14966//14966 14516//14516 14972//14972\nf 13788//13788 14123//14123 14962//14962\nf 13788//13788 14962//14962 15291//15291\nf 14125//14125 14124//14124 14953//14953\nf 14327//14327 14519//14519 14968//14968\nf 14968//14968 13790//13790 14519//14519\nf 14970//14970 14964//14964 14971//14971\nf 14957//14957 14966//14966 14974//14974\nf 14974//14974 14966//14966 14972//14972\nf 14972//14972 14516//14516 14638//14638\nf 14974//14974 14972//14972 14638//14638\nf 13601//13601 14128//14128 14973//14973\nf 14967//14967 13599//13599 14329//14329\nf 14518//14518 14515//14515 14961//14961\nf 14518//14518 14961//14961 14969//14969\nf 14521//14521 13788//13788 14976//14976\nf 14128//14128 14977//14977 14973//14973\nf 14968//14968 14519//14519 13790//13790\nf 14130//14130 14518//14518 14969//14969\nf 14521//14521 14976//14976 13794//13794\nf 14329//14329 14126//14126 13791//13791\nf 14968//14968 13790//13790 14980//14980\nf 14974//14974 14638//14638 14981//14981\nf 14977//14977 14131//14131 14984//14984\nf 14522//14522 14131//14131 14977//14977\nf 14125//14125 14979//14979 14132//14132\nf 14982//14982 13604//13604 14975//14975\nf 15292//15292 14982//14982 14975//14975\nf 14638//14638 14639//14639 14981//14981\nf 14131//14131 14331//14331 14984//14984\nf 15294//15294 14977//14977 14984//14984\nf 13790//13790 14983//14983 14980//14980\nf 14980//14980 14983//14983 14129//14129\nf 14989//14989 14986//14986 14969//14969\nf 14980//14980 14995//14995 15297//15297\nf 14988//14988 14640//14640 14986//14986\nf 13791//13791 14133//14133 14985//14985\nf 14990//14990 13609//13609 14979//14979\nf 14992//14992 14526//14526 14987//14987\nf 14988//14988 14986//14986 14989//14989\nf 14989//14989 14993//14993 14988//14988\nf 14996//14996 14994//14994 14639//14639\nf 14137//14137 13609//13609 14990//14990\nf 14985//14985 14133//14133 14991//14991\nf 14988//14988 14524//14524 14640//14640\nf 15296//15296 14981//14981 14994//14994\nf 14994//14994 14981//14981 14639//14639\nf 14990//14990 14997//14997 14137//14137\nf 14988//14988 14993//14993 14524//14524\nf 14994//14994 14641//14641 14996//14996\nf 14524//14524 14993//14993 14999//14999\nf 14996//14996 14639//14639 14641//14641\nf 15002//15002 14524//14524 14999//14999\nf 15002//15002 15001//15001 14524//14524\nf 15003//15003 14999//14999 14993//14993\nf 14994//14994 14996//14996 14641//14641\nf 14996//14996 14641//14641 14525//14525\nf 15003//15003 15002//15002 14999//14999\nf 14998//14998 15004//15004 14993//14993\nf 15005//15005 14994//14994 14996//14996\nf 15005//15005 14996//14996 14525//14525\nf 14133//14133 14140//14140 15007//15007\nf 14133//14133 13796//13796 14140//14140\nf 14334//14334 14526//14526 14992//14992\nf 15004//15004 15003//15003 14993//14993\nf 15008//15008 14334//14334 15000//15000\nf 14995//14995 14414//14414 14527//14527\nf 15005//15005 14525//14525 14643//14643\nf 15001//15001 15002//15002 15003//15003\nf 14529//14529 15003//15003 15015//15015\nf 15005//15005 14643//14643 15010//15010\nf 14141//14141 15011//15011 14143//14143\nf 15001//15001 14529//14529 14642//14642\nf 15001//15001 15003//15003 14529//14529\nf 15005//15005 15010//15010 14528//14528\nf 14528//14528 15010//15010 14643//14643\nf 14530//14530 13803//13803 15012//15012\nf 15018//15018 15005//15005 14528//14528\nf 15013//15013 15005//15005 15018//15018\nf 15018//15018 14528//14528 15020//15020\nf 15022//15022 15014//15014 14415//14415\nf 14529//14529 15015//15015 15021//15021\nf 15024//15024 15017//15017 15018//15018\nf 15022//15022 14415//14415 14532//14532\nf 14531//14531 14529//14529 15021//15021\nf 15017//15017 15013//15013 15018//15018\nf 14531//14531 15021//15021 15027//15027\nf 15027//15027 15021//15021 15015//15015\nf 15016//15016 15017//15017 15023//15023\nf 15024//15024 15018//15018 15031//15031\nf 13806//13806 15029//15029 14147//14147\nf 13806//13806 15011//15011 15029//15029\nf 14532//14532 15032//15032 15030//15030\nf 15023//15023 15017//15017 15024//15024\nf 15031//15031 15018//15018 14645//14645\nf 14149//14149 15012//15012 15026//15026\nf 15027//15027 15015//15015 15028//15028\nf 15030//15030 15022//15022 14532//14532\nf 15029//15029 15033//15033 14416//14416\nf 13618//13618 14152//14152 14646//14646\nf 14338//14338 14533//14533 15026//15026\nf 15023//15023 15024//15024 15034//15034\nf 15034//15034 15024//15024 15031//15031\nf 14338//14338 15026//15026 15035//15035\nf 14531//14531 15027//15027 15037//15037\nf 14416//14416 15039//15039 14150//14150\nf 15025//15025 13618//13618 14646//14646\nf 15035//15035 15040//15040 14338//14338\nf 15040//15040 15035//15035 15301//15301\nf 14531//14531 15037//15037 14647//14647\nf 15027//15027 15028//15028 15037//15037\nf 15037//15037 15028//15028 15041//15041\nf 15028//15028 15023//15023 15041//15041\nf 15023//15023 15038//15038 15041//15041\nf 15038//15038 15023//15023 15034//15034\nf 15034//15034 15031//15031 15042//15042\nf 15043//15043 14150//14150 15039//15039\nf 15042//15042 15031//15031 14645//14645\nf 14535//14535 15040//15040 15044//15044\nf 15051//15051 14539//14539 14647//14647\nf 15051//15051 14647//14647 15037//15037\nf 15043//15043 15045//15045 13621//13621\nf 14339//14339 15043//15043 13621//13621\nf 15045//15045 15046//15046 13621//13621\nf 15049//15049 14646//14646 14152//14152\nf 14418//14418 14535//14535 14538//14538\nf 15036//15036 14534//14534 15047//15047\nf 15051//15051 15037//15037 15041//15041\nf 15034//15034 15042//15042 14543//14543\nf 13623//13623 13621//13621 15046//15046\nf 15052//15052 15041//15041 15038//15038\nf 15052//15052 15038//15038 15053//15053\nf 15053//15053 15038//15038 15034//15034\nf 15053//15053 15034//15034 15048//15048\nf 14543//14543 15042//15042 14648//14648\nf 14537//14537 13623//13623 15046//15046\nf 15050//15050 15044//15044 15302//15302\nf 15051//15051 15041//15041 15052//15052\nf 15053//15053 15048//15048 14650//14650\nf 15048//15048 15034//15034 14543//14543\nf 14539//14539 15051//15051 15052//15052\nf 14340//14340 14652//14652 15055//15055\nf 14653//14653 14538//14538 14649//14649\nf 15056//15056 15047//15047 15060//15060\nf 15060//15060 15047//15047 14536//14536\nf 15060//15060 14536//14536 14651//14651\nf 14541//14541 14539//14539 15061//15061\nf 15052//15052 15053//15053 15061//15061\nf 15053//15053 14544//14544 15062//15062\nf 15053//15053 14650//14650 14544//14544\nf 14652//14652 14340//14340 14540//14540\nf 14653//14653 14649//14649 15050//15050\nf 14653//14653 15050//15050 14655//14655\nf 14539//14539 15052//15052 15061//15061\nf 15061//15061 15053//15053 15062//15062\nf 15063//15063 15065//15065 14159//14159\nf 15058//15058 15057//15057 15064//15064\nf 14651//14651 14654//14654 15060//15060\nf 15059//15059 15056//15056 15060//15060\nf 15059//15059 15060//15060 14654//14654\nf 14422//14422 14159//14159 15065//15065\nf 14550//14550 14424//14424 14655//14655\nf 15306//15306 14422//14422 15065//15065\nf 14550//14550 14655//14655 15066//15066\nf 14162//14162 13821//13821 14422//14422\nf 14660//14660 15058//15058 15072//15072\nf 15058//15058 15064//15064 15068//15068\nf 15068//15068 15064//15064 15059//15059\nf 15068//15068 15059//15059 15069//15069\nf 15069//15069 15059//15059 14661//14661\nf 14661//14661 15059//15059 14656//14656\nf 14541//14541 15061//15061 14658//14658\nf 15061//15061 15062//15062 15071//15071\nf 15070//15070 15061//15061 15071//15071\nf 14659//14659 15062//15062 14544//14544\nf 14652//14652 14540//14540 14664//14664\nf 14540//14540 14548//14548 14664//14664\nf 15066//15066 15058//15058 14550//14550\nf 15072//15072 15058//15058 15068//15068\nf 14662//14662 15061//15061 15070//15070\nf 14662//14662 14658//14658 15061//15061\nf 14662//14662 15070//15070 15071//15071\nf 15071//15071 15062//15062 14659//14659\nf 14549//14549 15071//15071 14659//14659\nf 14663//14663 14162//14162 15067//15067\nf 14656//14656 14651//14651 14657//14657\nf 14656//14656 14654//14654 14651//14651\nf 14660//14660 15072//15072 15068//15068\nf 15068//15068 15069//15069 14661//14661\nf 14670//14670 14658//14658 14667//14667\nf 15071//15071 14668//14668 14671//14671\nf 14663//14663 15073//15073 14171//14171\nf 15308//15308 15307//15307 14664//14664\nf 15068//15068 14554//14554 14660//14660\nf 15068//15068 14661//14661 14556//14556\nf 14656//14656 14657//14657 14669//14669\nf 15074//15074 14658//14658 14670//14670\nf 14657//14657 14665//14665 14669//14669\nf 14666//14666 14545//14545 15074//15074\nf 14179//14179 13490//13490 14171//14171\nf 15308//15308 14664//14664 14553//14553\nf 14670//14670 14666//14666 15074//15074\nf 15074//15074 14670//14670 14674//14674\nf 15076//15076 15308//15308 14553//14553\nf 14674//14674 14670//14670 15074//15074\nf 14553//14553 15078//15078 15076//15076\nf 14563//14563 14179//14179 15077//15077\nf 14557//14557 15078//15078 14553//14553\nf 14358//14358 15079//15079 14676//14676\nf 15076//15076 15078//15078 14557//14557\nf 15077//15077 14358//14358 14563//14563\nf 14358//14358 15077//15077 15079//15079\nf 15080//15080 14436//14436 14675//14675\nf 14676//14676 15309//15309 15079//15079\nf 15080//15080 15076//15076 14436//14436\nf 15079//15079 15309//15309 14676//14676\nf 14676//14676 15079//15079 15081//15081\nf 14447//14447 14676//14676 15081//15081\nf 14184//14184 14363//14363 15312//15312\nf 14677//14677 15087//15087 15080//15080\nf 15080//15080 14675//14675 14677//14677\nf 14675//14675 14570//14570 14677//14677\nf 14186//14186 14184//14184 15084//15084\nf 15085//15085 14569//14569 15314//15314\nf 15089//15089 13852//13852 14678//14678\nf 14678//14678 13852//13852 14442//14442\nf 15081//15081 15086//15086 14447//14447\nf 14572//14572 13852//13852 15089//15089\nf 14572//14572 15089//15089 15091//15091\nf 15315//15315 13850//13850 13851//13851\nf 14447//14447 15086//15086 14679//14679\nf 15092//15092 15099//15099 13648//13648\nf 13849//13849 15092//15092 13648//13648\nf 14679//14679 15086//15086 15093//15093\nf 14367//14367 15096//15096 14677//14677\nf 14680//14680 15094//15094 14362//14362\nf 15098//15098 14681//14681 13648//13648\nf 15099//15099 15098//15098 13648//13648\nf 15100//15100 14188//14188 14192//14192\nf 15095//15095 14188//14188 15100//15100\nf 14573//14573 15093//15093 15101//15101\nf 14679//14679 15093//15093 14573//14573\nf 14373//14373 15096//15096 14367//14367\nf 14681//14681 15102//15102 14680//14680\nf 15102//15102 14681//14681 15098//15098\nf 14373//14373 15103//15103 15096//15096\nf 14573//14573 15101//15101 15104//15104\nf 15103//15103 14373//14373 13856//13856\nf 15103//15103 13856//13856 15105//15105\nf 15100//15100 14192//14192 14195//14195\nf 15106//15106 14196//14196 15107//15107\nf 14189//14189 15097//15097 15109//15109\nf 15110//15110 14196//14196 14200//14200\nf 15107//15107 14196//14196 15110//15110\nf 13659//13659 15108//15108 13654//13654\nf 15114//15114 15110//15110 14202//14202\nf 15110//15110 14200//14200 14202//14202\nf 14198//14198 14574//14574 15115//15115\nf 14198//14198 15119//15119 13655//13655\nf 14208//14208 15121//15121 14207//14207\nf 13658//13658 15121//15121 14208//14208\nf 13656//13656 14199//14199 15118//15118\nf 14210//14210 15113//15113 13659//13659\nf 15122//15122 13658//13658 15123//15123\nf 13658//13658 13656//13656 15124//15124\nf 15125//15125 15113//15113 14210//14210\nf 13655//13655 15119//15119 14215//14215\nf 14211//14211 14682//14682 15126//15126\nf 15128//15128 14210//14210 14211//14211\nf 15129//15129 13884//13884 13883//13883\nf 14210//14210 15128//15128 15125//15125\nf 14682//14682 14576//14576 14683//14683\nf 14576//14576 14683//14683 14213//14213\nf 14213//14213 14683//14683 14576//14576\nf 13884//13884 15129//15129 15130//15130\nf 14215//14215 15127//15127 15131//15131\nf 14457//14457 13867//13867 14215//14215\nf 14215//14215 15131//15131 14457//14457\nf 14577//14577 14682//14682 14683//14683\nf 15132//15132 14457//14457 15131//15131\nf 14684//14684 15133//15133 14458//14458\nf 13883//13883 14219//14219 15133//15133\nf 15135//15135 14684//14684 14458//14458\nf 14685//14685 14218//14218 14578//14578\nf 14577//14577 14580//14580 14683//14683\nf 14580//14580 15136//15136 14683//14683\nf 15134//15134 14220//14220 14579//14579\nf 15134//15134 15137//15137 14220//14220\nf 15138//15138 14459//14459 14685//14685\nf 14686//14686 15136//15136 14580//14580\nf 13886//13886 14220//14220 15137//15137\nf 15138//15138 15139//15139 14459//14459\nf 13887//13887 15140//15140 13889//13889\nf 13887//13887 15139//15139 15140//15140\nf 14222//14222 13889//13889 15140//15140\nf 15136//15136 14686//14686 15144//15144\nf 14580//14580 15144//15144 14686//14686\nf 15144//15144 15145//15145 15136//15136\nf 14580//14580 14460//14460 15144//15144\nf 14224//14224 15147//15147 13890//13890\nf 14460//14460 14687//14687 15144//15144\nf 14687//14687 13671//13671 14688//14688\nf 15147//15147 14225//14225 13890//13890\nf 15149//15149 14687//14687 14462//14462\nf 14462//14462 14687//14687 14688//14688\nf 15148//15148 14226//14226 13672//13672\nf 14226//14226 15150//15150 13891//13891\nf 13893//13893 14693//14693 14691//14691\nf 13891//13891 14693//14693 14227//14227\nf 15149//15149 15152//15152 14462//14462\nf 15153//15153 14231//14231 15151//15151\nf 15149//15149 14694//14694 15152//15152\nf 15155//15155 14694//14694 14581//14581\nf 15156//15156 15155//15155 14581//14581\nf 15155//15155 15156//15156 14581//14581\nf 14582//14582 15156//15156 15155//15155\nf 15155//15155 14581//14581 14582//14582\nf 15157//15157 15156//15156 14582//14582\nf 15159//15159 14583//14583 14695//14695\nf 14583//14583 14463//14463 14695//14695\nf 14582//14582 14696//14696 15158//15158\nf 15157//15157 14582//14582 15158//15158\nf 15477//15477 15322//15322 13899//13899\nf 13899//13899 14583//14583 15159//15159\nf 14237//14237 14238//14238 15325//15325\nf 15161//15161 15158//15158 15164//15164\nf 15158//15158 14696//14696 14586//14586\nf 15164//15164 15158//15158 14586//14586\nf 13682//13682 14381//14381 15165//15165\nf 15167//15167 15164//15164 14697//14697\nf 15168//15168 15167//15167 14697//14697\nf 14697//14697 14586//14586 14243//14243\nf 15164//15164 14586//14586 14697//14697\nf 15171//15171 13905//13905 13682//13682\nf 15172//15172 14697//14697 14382//14382\nf 15168//15168 14697//14697 15172//15172\nf 15174//15174 15173//15173 14465//14465\nf 15174//15174 14465//14465 14241//14241\nf 15175//15175 14245//14245 15173//15173\nf 15175//15175 14246//14246 14245//14245\nf 14382//14382 15176//15176 15172//15172\nf 14244//14244 14242//14242 15178//15178\nf 15180//15180 14246//14246 15177//15177\nf 14588//14588 14244//14244 15179//15179\nf 14244//14244 15178//15178 15179//15179\nf 14382//14382 15181//15181 15176//15176\nf 15181//15181 14382//14382 14590//14590\nf 15183//15183 14384//14384 15182//15182\nf 15182//15182 14384//14384 14589//14589\nf 14383//14383 15178//15178 14242//14242\nf 14698//14698 14249//14249 14384//14384\nf 14698//14698 14384//14384 15183//15183\nf 15185//15185 14248//14248 14588//14588\nf 15185//15185 14588//14588 15179//15179\nf 15184//15184 14383//14383 14698//14698\nf 14698//14698 15186//15186 15184//15184\nf 15187//15187 15181//15181 14590//14590\nf 14248//14248 15185//15185 15188//15188\nf 14591//14591 15189//15189 15181//15181\nf 15187//15187 14591//14591 15181//15181\nf 15188//15188 15194//15194 13914//13914\nf 15190//15190 15189//15189 15191//15191\nf 15192//15192 15191//15191 15189//15189\nf 15192//15192 15189//15189 14591//14591\nf 15194//15194 15193//15193 14467//14467\nf 13914//13914 15194//15194 14467//14467\nf 15198//15198 15190//15190 15191//15191\nf 15192//15192 14591//14591 14699//14699\nf 15193//15193 13916//13916 14467//14467\nf 15192//15192 15199//15199 15191//15191\nf 15196//15196 15195//15195 14592//14592\nf 15196//15196 14592//14592 13527//13527\nf 15195//15195 15197//15197 14592//14592\nf 15198//15198 15191//15191 15199//15199\nf 13692//13692 15198//15198 15199//15199\nf 15191//15191 15192//15192 14699//14699\nf 15192//15192 15191//15191 14699//14699\nf 15200//15200 13916//13916 15193//15193\nf 14592//14592 15197//15197 14253//14253\nf 15198//15198 14593//14593 15201//15201\nf 13692//13692 14593//14593 15198//15198\nf 13692//13692 15199//15199 15192//15192\nf 13692//13692 15192//15192 14256//14256\nf 14699//14699 14256//14256 15192//15192\nf 14252//14252 13916//13916 15200//15200\nf 15202//15202 13527//13527 14255//14255\nf 15202//15202 15196//15196 13527//13527\nf 14255//14255 14254//14254 15202//15202\nf 15202//15202 14254//14254 15203//15203\nf 15204//15204 14253//14253 15197//15197\nf 15201//15201 14593//14593 15205//15205\nf 15203//15203 14254//14254 14594//14594\nf 14700//14700 15205//15205 14593//14593\nf 15200//15200 13918//13918 14252//14252\nf 15207//15207 13918//13918 15200//15200\nf 15208//15208 14262//14262 15204//15204\nf 14595//14595 15209//15209 15206//15206\nf 14595//14595 15206//15206 14469//14469\nf 14469//14469 15206//15206 15205//15205\nf 14469//14469 15205//15205 14700//14700\nf 14262//14262 15208//15208 15212//15212\nf 14260//14260 14259//14259 15214//15214\nf 15213//15213 14260//14260 15214//15214\nf 15207//15207 13920//13920 13918//13918\nf 15214//15214 14259//14259 15218//15218\nf 15213//15213 15219//15219 14260//14260\nf 15219//15219 14598//14598 14260//14260\nf 15222//15222 14261//14261 14385//14385\nf 14268//14268 14262//14262 15212//15212\nf 15216//15216 13923//13923 15215//15215\nf 14470//14470 15209//15209 14595//14595\nf 15221//15221 13920//13920 15207//15207\nf 15221//15221 14599//14599 13920//13920\nf 15218//15218 14259//14259 13919//13919\nf 15209//15209 14470//14470 15226//15226\nf 14596//14596 14599//14599 15221//15221\nf 15227//15227 14596//14596 15221//15221\nf 15227//15227 14597//14597 14596//14596\nf 15227//15227 15218//15218 14597//14597\nf 15218//15218 13919//13919 14597//14597\nf 15228//15228 13698//13698 14268//14268\nf 13928//13928 15230//15230 13929//13929\nf 15229//15229 15230//15230 13928//13928\nf 13925//13925 15231//15231 15223//15223\nf 13930//13930 13925//13925 15224//15224\nf 15225//15225 14267//14267 14271//14271\nf 15232//15232 14385//14385 13695//13695\nf 13929//13929 15230//15230 14269//14269\nf 13930//13930 15233//15233 13699//13699\nf 15235//15235 15226//15226 14470//14470\nf 14270//14270 13699//13699 15236//15236\nf 15236//15236 14271//14271 14270//14270\nf 15237//15237 14598//14598 15219//15219\nf 13926//13926 15238//15238 15239//15239\nf 13695//13695 15241//15241 15232//15232\nf 14600//14600 14272//14272 15241//15241\nf 15240//15240 14470//14470 14387//14387\nf 15243//15243 15240//15240 14387//14387\nf 15237//15237 15244//15244 14274//14274\nf 15245//15245 15241//15241 14272//14272\nf 14275//14275 15245//15245 14272//14272\nf 14275//14275 15247//15247 15245//15245\nf 13931//13931 15246//15246 13933//13933\nf 15248//15248 14277//14277 13933//13933\nf 15249//15249 15243//15243 14387//14387\nf 14277//14277 15248//15248 14279//14279\nf 14278//14278 15249//15249 14387//14387\nf 15251//15251 13935//13935 14388//14388\nf 14278//14278 15252//15252 15249//15249\nf 13700//13700 15252//15252 14278//14278\nf 15251//15251 15252//15252 14280//14280\nf 13935//13935 15251//15251 14280//14280\nf 14280//14280 15252//15252 13700//13700\nf 14703//14703 13939//13939 13940//13940\nf 15540//15540 14704//14704 15541//15541\nf 13940//13940 13941//13941 14704//14704\nf 14716//14716 14474//14474 13936//13936\nf 14718//14718 13938//13938 13939//13939\nf 14722//14722 14702//14702 14717//14717\nf 14712//14712 13955//13955 14719//14719\nf 14283//14283 14713//14713 14721//14721\nf 14725//14725 13958//13958 14715//14715\nf 13956//13956 13953//13953 14724//14724\nf 14724//14724 13953//13953 14720//14720\nf 13953//13953 14283//14283 14721//14721\nf 15558//15558 14721//14721 14713//14713\nf 14731//14731 13958//13958 14725//14725\nf 13948//13948 14474//14474 14716//14716\nf 14734//14734 13954//13954 14718//14718\nf 14285//14285 14730//14730 13957//13957\nf 13541//13541 14731//14731 14737//14737\nf 14739//14739 13971//13971 14724//14724\nf 15256//15256 14722//14722 14738//14738\nf 14749//14749 14735//14735 13952//13952\nf 15398//15398 15255//15255 14390//14390\nf 14284//14284 14742//14742 14733//14733\nf 13542//13542 13705//13705 14744//14744\nf 14729//14729 14735//14735 15334//15334\nf 14740//14740 13710//13710 14745//14745\nf 13962//13962 13711//13711 14747//14747\nf 14752//14752 13712//13712 13973//13973\nf 14475//14475 14750//14750 14742//14742\nf 15258//15258 13970//13970 13971//13971\nf 13712//13712 15257//15257 13968//13968\nf 14752//14752 15257//15257 13712//13712\nf 14475//14475 13967//13967 14750//14750\nf 15337//15337 15336//15336 13544//13544\nf 14741//14741 14752//14752 13966//13966\nf 14758//14758 14756//14756 15258//15258\nf 14756//14756 13970//13970 15258//15258\nf 14745//14745 13972//13972 13976//13976\nf 14745//14745 13976//13976 14746//14746\nf 14607//14607 13969//13969 14753//14753\nf 14758//14758 13715//13715 14756//14756\nf 14755//14755 14759//14759 13974//13974\nf 14761//14761 13984//13984 14758//14758\nf 14759//14759 14608//14608 13546//13546\nf 13978//13978 14607//14607 14762//14762\nf 14760//14760 13983//13983 14763//14763\nf 13985//13985 14766//14766 14763//14763\nf 13440//13440 14769//14769 13718//13718\nf 14766//14766 13989//13989 14770//14770\nf 14610//14610 13988//13988 14765//14765\nf 14773//14773 14769//14769 13547//13547\nf 14769//14769 13440//13440 13547//13547\nf 13547//13547 14773//14773 15259//15259\nf 14776//14776 13547//13547 14391//14391\nf 14776//14776 14773//14773 13547//13547\nf 14391//14391 13549//13549 14776//14776\nf 13996//13996 14780//14780 14774//14774\nf 14783//14783 13999//13999 14778//14778\nf 14776//14776 13552//13552 14782//14782\nf 14479//14479 14000//14000 14780//14780\nf 14000//14000 14786//14786 14780//14780\nf 14782//14782 14612//14612 14613//14613\nf 14612//14612 14782//14782 14613//14613\nf 14613//14613 14612//14612 14392//14392\nf 14008//14008 13999//13999 14785//14785\nf 14480//14480 14006//14006 14790//14790\nf 14789//14789 14009//14009 14291//14291\nf 14293//14293 14008//14008 14785//14785\nf 14293//14293 14785//14785 14797//14797\nf 14792//14792 15260//15260 14798//14798\nf 14803//14803 14293//14293 14797//14797\nf 15261//15261 14794//14794 15260//15260\nf 14794//14794 13445//13445 13448//13448\nf 14802//14802 14021//14021 14806//14806\nf 14022//14022 14021//14021 14802//14802\nf 14793//14793 14808//14808 14019//14019\nf 14615//14615 13724//13724 14805//14805\nf 14791//14791 14023//14023 14807//14807\nf 15260//15260 13448//13448 15261//15261\nf 13558//13558 14024//14024 14809//14809\nf 14810//14810 15261//15261 13448//13448\nf 14024//14024 14812//14812 14809//14809\nf 14812//14812 14024//14024 14814//14814\nf 15262//15262 15349//15349 15263//15263\nf 14815//14815 14810//14810 13730//13730\nf 15262//15262 15263//15263 15264//15264\nf 14023//14023 14482//14482 14816//14816\nf 15267//15267 14028//14028 15265//15265\nf 15266//15266 15264//15264 15269//15269\nf 15264//15264 15263//15263 15268//15268\nf 15270//15270 15266//15266 15269//15269\nf 14028//14028 15267//15267 14821//14821\nf 15264//15264 15268//15268 15269//15269\nf 15272//15272 15269//15269 15271//15271\nf 14033//14033 14824//14824 14825//14825\nf 14827//14827 14032//14032 14826//14826\nf 13560//13560 14032//14032 14827//14827\nf 13560//13560 14827//14827 14820//14820\nf 15269//15269 15268//15268 15271//15271\nf 15270//15270 15269//15269 15272//15272\nf 14830//14830 14818//14818 14034//14034\nf 13563//13563 14828//14828 14829//14829\nf 15270//15270 15272//15272 14834//14834\nf 14036//14036 13733//13733 14031//14031\nf 14828//14828 13563//13563 14831//14831\nf 14833//14833 14834//14834 15272//15272\nf 15274//15274 14833//14833 15272//15272\nf 14836//14836 14035//14035 14823//14823\nf 14837//14837 14834//14834 14833//14833\nf 15273//15273 14834//14834 14837//14837\nf 14034//14034 14037//14037 14841//14841\nf 14840//14840 14042//14042 14845//14845\nf 14844//14844 13567//13567 14842//14842\nf 14618//14618 14845//14845 14396//14396\nf 14833//14833 15274//15274 14846//14846\nf 15274//15274 15275//15275 14846//14846\nf 14852//14852 15276//15276 14619//14619\nf 14040//14040 14045//14045 15278//15278\nf 15277//15277 14618//14618 14623//14623\nf 14297//14297 14623//14623 14618//14618\nf 15275//15275 14851//14851 14846//14846\nf 15275//15275 14855//14855 14851//14851\nf 14854//14854 14621//14621 14850//14850\nf 14858//14858 14488//14488 14857//14857\nf 14488//14488 14856//14856 14857//14857\nf 14855//14855 15354//15354 14861//14861\nf 15278//15278 14045//14045 14860//14860\nf 14303//14303 14868//14868 14865//14865\nf 14860//14860 14626//14626 14867//14867\nf 14303//14303 14865//14865 14868//14868\nf 14867//14867 13572//13572 15279//15279\nf 14872//14872 13572//13572 14875//14875\nf 14872//14872 14875//14875 15357//15357\nf 14062//14062 14870//14870 14873//14873\nf 15280//15280 14871//14871 14061//14061\nf 13750//13750 13752//13752 14877//14877\nf 13752//13752 14064//14064 14880//14880\nf 13456//13456 13753//13753 14881//14881\nf 15281//15281 14881//14881 13753//13753\nf 14881//14881 14884//14884 13456//13456\nf 14627//14627 14878//14878 14883//14883\nf 14627//14627 14493//14493 14878//14878\nf 14885//14885 15280//15280 14061//14061\nf 14068//14068 14890//14890 14875//14875\nf 14065//14065 14874//14874 14888//14888\nf 14891//14891 14885//14885 13756//13756\nf 14890//14890 14068//14068 14494//14494\nf 13762//13762 14896//14896 14891//14891\nf 14892//14892 14074//14074 14897//14897\nf 14890//14890 14494//14494 14895//14895\nf 14081//14081 14893//14893 14899//14899\nf 14894//14894 14900//14900 14080//14080\nf 13586//13586 14903//14903 14895//14895\nf 14494//14494 13586//13586 14895//14895\nf 14312//14312 14904//14904 14085//14085\nf 13586//13586 14905//14905 14903//14903\nf 15284//15284 14909//14909 13770//13770\nf 13767//13767 14901//14901 15284//15284\nf 15284//15284 13770//13770 13767//13767\nf 14088//14088 14904//14904 14907//14907\nf 14910//14910 14088//14088 14907//14907\nf 15287//15287 14089//14089 14916//14916\nf 14916//14916 14319//14319 13776//13776\nf 14098//14098 14628//14628 14919//14919\nf 14915//14915 14101//14101 15288//15288\nf 14921//14921 14916//14916 13776//13776\nf 14918//14918 14503//14503 14927//14927\nf 14101//14101 14103//14103 14926//14926\nf 14507//14507 14924//14924 14933//14933\nf 14923//14923 14931//14931 14633//14633\nf 14113//14113 14937//14937 14927//14927\nf 14925//14925 14110//14110 14938//14938\nf 14932//14932 14109//14109 14939//14939\nf 14940//14940 14113//14113 15290//15290\nf 14945//14945 14114//14114 14933//14933\nf 14113//14113 14940//14940 14937//14937\nf 14944//14944 14111//14111 14931//14931\nf 14939//14939 14109//14109 14951//14951\nf 14951//14951 14109//14109 14324//14324\nf 14954//14954 14512//14512 14945//14945\nf 14954//14954 14119//14119 14945//14945\nf 13594//13594 14948//14948 14952//14952\nf 14952//14952 14948//14948 14936//14936\nf 13596//13596 14513//14513 14953//14953\nf 14514//14514 14963//14963 14951//14951\nf 13600//13600 14948//14948 14962//14962\nf 14960//14960 15290//15290 14955//14955\nf 14958//14958 14328//14328 14965//14965\nf 14971//14971 14956//14956 14957//14957\nf 14976//14976 13788//13788 15291//15291\nf 14961//14961 14970//14970 14969//14969\nf 14127//14127 14959//14959 14975//14975\nf 14977//14977 14128//14128 14522//14522\nf 14971//14971 14957//14957 14974//14974\nf 14978//14978 14979//14979 14125//14125\nf 13791//13791 14967//14967 14329//14329\nf 14978//14978 15439//15439 14979//14979\nf 15293//15293 14989//14989 14971//14971\nf 14984//14984 13794//13794 14976//14976\nf 14640//14640 14969//14969 14986//14986\nf 14969//14969 14970//14970 14989//14989\nf 14970//14970 14971//14971 14989//14989\nf 14971//14971 14974//14974 15296//15296\nf 14984//14984 14331//14331 13794//13794\nf 14967//14967 14985//14985 15295//15295\nf 14967//14967 13791//13791 14985//14985\nf 15296//15296 14974//14974 14981//14981\nf 15293//15293 14971//14971 15296//15296\nf 14989//14989 15293//15293 14998//14998\nf 14993//14993 14989//14989 14998//14998\nf 14998//14998 15293//15293 14994//14994\nf 15293//15293 15296//15296 14994//14994\nf 13800//13800 14137//14137 14997//14997\nf 15006//15006 13800//13800 14997//14997\nf 15008//15008 15000//15000 14992//14992\nf 15361//15361 15008//15008 14992//14992\nf 14995//14995 15009//15009 15297//15297\nf 15004//15004 14998//14998 15013//15013\nf 15006//15006 14141//14141 13800//13800\nf 14991//14991 14133//14133 15007//15007\nf 15013//15013 14998//14998 14994//14994\nf 15013//15013 14994//14994 15005//15005\nf 15364//15364 15009//15009 15014//15014\nf 14141//14141 15006//15006 15011//15011\nf 15015//15015 15003//15003 15016//15016\nf 15003//15003 15004//15004 15016//15016\nf 15004//15004 15013//15013 15017//15017\nf 15004//15004 15017//15017 15016//15016\nf 15012//15012 15298//15298 15026//15026\nf 15299//15299 15026//15026 15298//15298\nf 13806//13806 14145//14145 15011//15011\nf 15025//15025 15019//15019 14335//14335\nf 15030//15030 15014//15014 15022//15022\nf 15028//15028 15015//15015 15023//15023\nf 15023//15023 15015//15015 15016//15016\nf 15300//15300 15014//15014 15030//15030\nf 14416//14416 14147//14147 15029//15029\nf 15026//15026 15299//15299 15301//15301\nf 15301//15301 15035//15035 15026//15026\nf 15303//15303 15030//15030 15036//15036\nf 15043//15043 15039//15039 15033//15033\nf 15040//15040 15365//15365 15044//15044\nf 15030//15030 15032//15032 15036//15036\nf 15368//15368 15030//15030 15303//15303\nf 15050//15050 14538//14538 15044//15044\nf 15056//15056 15303//15303 15047//15047\nf 15303//15303 15036//15036 15047//15047\nf 15049//15049 14152//14152 14340//14340\nf 15049//15049 14340//14340 15055//15055\nf 15054//15054 14537//14537 15046//15046\nf 15063//15063 14159//14159 14537//14537\nf 15066//15066 14655//14655 15050//15050\nf 15064//15064 15056//15056 15059//15059\nf 15049//15049 15055//15055 14652//14652\nf 15050//15050 15304//15304 15066//15066\nf 15304//15304 15057//15057 15066//15066\nf 15057//15057 15058//15058 15066//15066\nf 15064//15064 15057//15057 15370//15370\nf 15306//15306 15067//15067 14162//14162\nf 15307//15307 15305//15305 14652//14652\nf 15307//15307 14652//14652 14664//14664\nf 15073//15073 14663//14663 15067//15067\nf 15307//15307 14664//14664 14553//14553\nf 14171//14171 15073//15073 15075//15075\nf 14179//14179 15075//15075 15372//15372\nf 15309//15309 15079//15079 15077//15077\nf 15079//15079 15309//15309 15081//15081\nf 15310//15310 15076//15076 15080//15080\nf 15082//15082 14181//14181 15083//15083\nf 15310//15310 15080//15080 15087//15087\nf 15088//15088 14186//14186 15084//15084\nf 15093//15093 15313//15313 15310//15310\nf 15093//15093 15310//15310 15087//15087\nf 13849//13849 15088//15088 15092//15092\nf 13650//13650 13850//13850 15090//15090\nf 15086//15086 15313//15313 15093//15093\nf 15315//15315 13851//13851 14188//14188\nf 15094//15094 14680//14680 14678//14678\nf 15101//15101 15087//15087 15316//15316\nf 15093//15093 15087//15087 15101//15101\nf 15108//15108 15105//15105 13856//13856\nf 13856//13856 13654//13654 15108//15108\nf 14575//14575 14573//14573 15112//15112\nf 14573//14573 15111//15111 15112//15112\nf 15104//15104 15111//15111 14573//14573\nf 15113//15113 15108//15108 13659//13659\nf 14202//14202 15116//15116 15114//15114\nf 15117//15117 14203//14203 14206//14206\nf 14199//14199 14575//14575 15118//15118\nf 15112//15112 15118//15118 14575//14575\nf 15115//15115 15119//15119 14198//14198\nf 15120//15120 14207//14207 15121//15121\nf 15120//15120 15117//15117 14207//14207\nf 15117//15117 14206//14206 14207//14207\nf 15122//15122 15121//15121 13658//13658\nf 15118//15118 15464//15464 15124//15124\nf 15123//15123 13658//13658 15124//15124\nf 15127//15127 14215//14215 15119//15119\nf 15126//15126 14682//14682 14683//14683\nf 15318//15318 15128//15128 15319//15319\nf 15125//15125 15128//15128 15318//15318\nf 14683//14683 14682//14682 14577//14577\nf 13883//13883 15133//15133 15129//15129\nf 13886//13886 15135//15135 14458//14458\nf 15134//15134 14457//14457 15132//15132\nf 15378//15378 14683//14683 15136//15136\nf 14685//14685 13884//13884 15130//15130\nf 14685//14685 14578//14578 13884//13884\nf 13886//13886 15137//15137 15135//15135\nf 15140//15140 15141//15141 14222//14222\nf 14223//14223 14222//14222 15142//15142\nf 15146//15146 14461//14461 15320//15320\nf 14461//14461 15143//15143 15320//15320\nf 15146//15146 15147//15147 14224//14224\nf 14225//14225 15147//15147 14689//14689\nf 14687//14687 15149//15149 15144//15144\nf 14226//14226 15148//15148 15150//15150\nf 13891//13891 15150//15150 14693//14693\nf 15152//15152 15144//15144 15149//15149\nf 15151//15151 14228//14228 14692//14692\nf 14229//14229 14228//14228 15151//15151\nf 15152//15152 15149//15149 14462//14462\nf 15152//15152 14694//14694 15321//15321\nf 15157//15157 15321//15321 14694//14694\nf 15157//15157 14694//14694 15155//15155\nf 15157//15157 15155//15155 15156//15156\nf 15387//15387 15158//15158 15161//15161\nf 15387//15387 15157//15157 15158//15158\nf 15160//15160 14235//14235 15323//15323\nf 15162//15162 14380//14380 13678//13678\nf 15160//15160 15162//15162 13678//13678\nf 14238//14238 14585//14585 15325//15325\nf 14585//14585 15163//15163 15325//15325\nf 15161//15161 15167//15167 15324//15324\nf 15167//15167 15161//15161 15164//15164\nf 15165//15165 14381//14381 15166//15166\nf 15327//15327 15326//15326 15167//15167\nf 15168//15168 15327//15327 15167//15167\nf 15169//15169 13682//13682 15165//15165\nf 15171//15171 13682//13682 15169//15169\nf 15170//15170 13905//13905 15171//15171\nf 15174//15174 13904//13904 15170//15170\nf 15328//15328 15168//15168 15172//15172\nf 15327//15327 15168//15168 15328//15328\nf 15175//15175 15177//15177 14246//14246\nf 14247//14247 14246//14246 15182//15182\nf 15182//15182 14246//14246 15180//15180\nf 15178//15178 14383//14383 15184//15184\nf 15190//15190 15329//15329 15189//15189\nf 15329//15329 15181//15181 15189//15189\nf 15330//15330 15190//15190 15189//15189\nf 15190//15190 15330//15330 15189//15189\nf 15190//15190 15331//15331 15330//15330\nf 15331//15331 15190//15190 15198//15198\nf 15203//15203 14594//14594 15210//15210\nf 15210//15210 14594//14594 15211//15211\nf 15218//15218 15332//15332 15214//15214\nf 15219//15219 15213//15213 15332//15332\nf 15332//15332 15213//15213 15214//15214\nf 15211//15211 14261//14261 15222//15222\nf 15215//15215 14386//14386 15225//15225\nf 15220//15220 14265//14265 15217//15217\nf 15223//15223 15224//15224 13925//13925\nf 15228//15228 14268//14268 15212//15212\nf 13928//13928 13698//13698 15228//15228\nf 13928//13928 15228//15228 15229//15229\nf 14266//14266 15220//15220 15238//15238\nf 15222//15222 14385//14385 15232//15232\nf 15224//15224 15233//15233 13930//13930\nf 13926//13926 14266//14266 15238//15238\nf 13699//13699 15233//15233 15236//15236\nf 15240//15240 15235//15235 14470//14470\nf 15242//15242 13931//13931 15239//15239\nf 15246//15246 13931//13931 15242//15242\nf 14275//14275 15244//15244 15247//15247\nf 14275//14275 14274//14274 15244//15244\nf 14388//14388 14279//14279 15250//15250\nf 15250//15250 14279//14279 15248//15248\nf 13937//13937 14702//14702 14701//14701\nf 13940//13940 14704//14704 14703//14703\nf 15253//15253 13942//13942 15333//15333\nf 15253//15253 13701//13701 13942//13942\nf 14473//14473 13944//13944 14707//14707\nf 14707//14707 13944//13944 14708//14708\nf 14710//14710 14716//14716 13936//13936\nf 14719//14719 13960//13960 14727//14727\nf 14720//14720 13953//13953 14721//14721\nf 14727//14727 14728//14728 15563//15563\nf 14723//14723 13537//13537 15254//15254\nf 14740//14740 14745//14745 16017//16017\nf 15254//15254 13959//13959 14603//14603\nf 14604//14604 13542//13542 14744//14744\nf 15335//15335 13968//13968 15257//15257\nf 14747//14747 13968//13968 15335//15335\nf 15334//15334 14735//14735 14749//14749\nf 14749//14749 14751//14751 14757//14757\nf 14758//14758 15258//15258 14756//14756\nf 14607//14607 14753//14753 14743//14743\nf 14476//14476 13982//13982 14609//14609\nf 14476//14476 13975//13975 13982//13982\nf 14754//14754 14760//14760 15340//15340\nf 14760//14760 14763//14763 14766//14766\nf 14609//14609 13982//13982 14768//14768\nf 14477//14477 14764//14764 14771//14771\nf 13992//13992 14477//14477 14771//14771\nf 15344//15344 14770//14770 14774//14774\nf 15259//15259 14773//14773 14776//14776\nf 14783//14783 14778//14778 15345//15345\nf 14787//14787 14790//14790 15624//15624\nf 14613//14613 14794//14794 14789//14789\nf 15260//15260 14789//14789 14794//14794\nf 15346//15346 14795//14795 15349//15349\nf 14804//14804 14798//14798 15347//15347\nf 14791//14791 14807//14807 15410//15410\nf 14799//14799 14615//14615 15348//15348\nf 14615//14615 14805//14805 15348//15348\nf 15346//15346 15349//15349 15262//15262\nf 14804//14804 15347//15347 14811//14811\nf 15351//15351 14809//14809 14812//14812\nf 14028//14028 14803//14803 15265//15265\nf 14807//14807 14023//14023 14816//14816\nf 15351//15351 14812//14812 14814//14814\nf 15350//15350 15262//15262 15264//15264\nf 15350//15350 15264//15264 15266//15266\nf 14814//14814 14817//14817 15412//15412\nf 15270//15270 14834//14834 15273//15273\nf 15352//15352 15270//15270 15273//15273\nf 14826//14826 14032//14032 14825//14825\nf 14832//14832 14036//14036 14031//14031\nf 14036//14036 14832//14832 14835//14835\nf 15274//15274 15272//15272 15416//15416\nf 14838//14838 14039//14039 14835//14835\nf 14295//14295 14838//14838 14847//14847\nf 15675//15675 14847//14847 14838//14838\nf 14843//14843 14040//14040 15278//15278\nf 14854//14854 14850//14850 15419//15419\nf 14856//14856 15353//15353 14857//14857\nf 15275//15275 15354//15354 14855//14855\nf 15278//15278 14860//14860 15421//15421\nf 15354//15354 15502//15502 14861//14861\nf 14047//14047 14044//14044 14862//14862\nf 15279//15279 14872//14872 15357//15357\nf 14877//14877 13752//13752 14880//14880\nf 14064//14064 14879//14879 14880//14880\nf 14065//14065 14063//14063 14874//14874\nf 15505//15505 15357//15357 14890//14890\nf 14889//14889 13579//13579 14884//14884\nf 14070//14070 14074//14074 15282//15282\nf 14074//14074 14892//14892 15282//15282\nf 14897//14897 14495//14495 15283//15283\nf 13762//13762 14086//14086 15358//15358\nf 13765//13765 14899//14899 14902//14902\nf 14896//14896 15358//15358 15738//15738\nf 14908//14908 13587//13587 14902//14902\nf 15359//15359 14908//14908 14902//14902\nf 15285//15285 14089//14089 15287//15287\nf 14916//14916 14089//14089 14319//14319\nf 14911//14911 14908//14908 14914//14914\nf 14922//14922 14917//14917 14914//14914\nf 14097//14097 13589//13589 14913//14913\nf 14097//14097 14913//14913 14920//14920\nf 14105//14105 14920//14920 14929//14929\nf 14945//14945 14933//14933 15289//15289\nf 14932//14932 14939//14939 14951//14951\nf 14513//14513 14944//14944 14953//14953\nf 15290//15290 14960//14960 15434//15434\nf 14963//14963 14967//14967 15360//15360\nf 14973//14973 15435//15435 14965//14965\nf 14960//14960 14327//14327 14968//14968\nf 14125//14125 14953//14953 14978//14978\nf 14959//14959 15436//15436 14975//14975\nf 14973//14973 14977//14977 15435//15435\nf 14980//14980 15437//15437 14968//14968\nf 14982//14982 15292//15292 14987//14987\nf 15295//15295 14985//14985 14991//14991\nf 14980//14980 14129//14129 14995//14995\nf 15297//15297 15009//15009 15362//15362\nf 15008//15008 15298//15298 15012//15012\nf 15364//15364 15362//15362 15009//15009\nf 15007//15007 15019//15019 15363//15363\nf 15364//15364 15014//15014 15300//15300\nf 15011//15011 15450//15450 15029//15029\nf 15040//15040 15301//15301 15365//15365\nf 15368//15368 15367//15367 15300//15300\nf 15043//15043 15033//15033 15039//15039\nf 15302//15302 15044//15044 15366//15366\nf 15300//15300 15030//15030 15368//15368\nf 15368//15368 15370//15370 15057//15057\nf 15368//15368 15303//15303 15056//15056\nf 15302//15302 15369//15369 15050//15050\nf 15367//15367 15368//15368 15057//15057\nf 15370//15370 15368//15368 15056//15056\nf 15304//15304 15050//15050 15369//15369\nf 15057//15057 15304//15304 15367//15367\nf 15056//15056 15064//15064 15370//15370\nf 15063//15063 14537//14537 15054//15054\nf 15371//15371 15063//15063 15054//15054\nf 15065//15065 15063//15063 15371//15371\nf 15067//15067 15306//15306 15073//15073\nf 15306//15306 15455//15455 15073//15073\nf 15457//15457 15075//15075 15073//15073\nf 15456//15456 15307//15307 15308//15308\nf 15077//15077 14179//14179 15372//15372\nf 15458//15458 15308//15308 15373//15373\nf 15373//15373 15076//15076 15310//15310\nf 15374//15374 15081//15081 15309//15309\nf 15310//15310 15313//15313 15373//15373\nf 15081//15081 15374//15374 15313//15313\nf 15313//15313 15086//15086 15081//15081\nf 15311//15311 14360//14360 15082//15082\nf 15083//15083 15082//15082 15376//15376\nf 16074//16074 15375//15375 15838//15838\nf 15312//15312 14363//14363 15375//15375\nf 15082//15082 15083//15083 15376//15376\nf 15839//15839 15314//15314 15841//15841\nf 13650//13650 15090//15090 15314//15314\nf 15377//15377 14678//14678 14680//14680\nf 15862//15862 15861//15861 15107//15107\nf 15108//15108 15113//15113 15105//15105\nf 15116//15116 14203//14203 15117//15117\nf 15317//15317 15123//15123 15124//15124\nf 15124//15124 13656//13656 15118//15118\nf 15128//15128 15126//15126 15319//15319\nf 15126//15126 14683//14683 15378//15378\nf 15378//15378 15319//15319 15126//15126\nf 15130//15130 15379//15379 14685//14685\nf 14222//14222 15141//15141 15142//15142\nf 15380//15380 15469//15469 15145//15145\nf 14461//14461 14223//14223 15143//15143\nf 15146//15146 14224//14224 14461//14461\nf 15469//15469 15136//15136 15145//15145\nf 15382//15382 14693//14693 15381//15381\nf 15382//15382 14691//14691 14693//14693\nf 15383//15383 15145//15145 15152//15152\nf 15145//15145 15144//15144 15152//15152\nf 15321//15321 15383//15383 15152//15152\nf 15384//15384 15386//15386 15385//15385\nf 15157//15157 15387//15387 15321//15321\nf 15477//15477 13899//13899 15159//15159\nf 14585//14585 15162//15162 15163//15163\nf 13679//13679 14237//14237 15390//15390\nf 15329//15329 15172//15172 15176//15176\nf 15183//15183 15481//15481 15186//15186\nf 15480//15480 15329//15329 15190//15190\nf 15331//15331 15484//15484 15330//15330\nf 15195//15195 15393//15393 15197//15197\nf 15204//15204 15197//15197 15393//15393\nf 15205//15205 15198//15198 15201//15201\nf 15331//15331 15198//15198 15205//15205\nf 15204//15204 15395//15395 15212//15212\nf 15208//15208 15204//15204 15212//15212\nf 15396//15396 15221//15221 15207//15207\nf 15238//15238 15220//15220 15491//15491\nf 14269//14269 15230//15230 15231//15231\nf 14271//14271 15236//15236 15234//15234\nf 15248//15248 13933//13933 15246//15246\nf 15250//15250 15252//15252 15251//15251\nf 14711//14711 14703//14703 14704//14704\nf 13943//13943 14706//14706 15333//15333\nf 14710//14710 14701//14701 14716//14716\nf 15547//15547 14713//14713 15253//15253\nf 14712//14712 14719//14719 14727//14727\nf 14285//14285 15255//15255 14730//14730\nf 14744//14744 13705//13705 14734//14734\nf 14732//14732 14733//14733 14742//14742\nf 14604//14604 14744//14744 15400//15400\nf 16019//16019 15400//15400 14734//14734\nf 14749//14749 14757//14757 15402//15402\nf 14607//14607 14743//14743 15401//15401\nf 14758//14758 14756//14756 15589//15589\nf 14608//14608 14759//14759 14755//14755\nf 15403//15403 14757//14757 14609//14609\nf 15403//15403 14609//14609 14768//14768\nf 14767//14767 14769//14769 14608//14608\nf 14770//14770 15405//15405 14766//14766\nf 15407//15407 14780//14780 14786//14786\nf 15406//15406 14784//14784 14788//14788\nf 14790//14790 14787//14787 14781//14781\nf 15346//15346 14788//14788 14795//14795\nf 14797//14797 14785//14785 15408//15408\nf 15346//15346 15409//15409 15499//15499\nf 15499//15499 15406//15406 15346//15346\nf 15406//15406 14788//14788 15346//15346\nf 15350//15350 15409//15409 15346//15346\nf 15261//15261 15260//15260 14794//14794\nf 15350//15350 15346//15346 15262//15262\nf 14805//14805 14809//14809 15351//15351\nf 14807//14807 14816//14816 15410//15410\nf 15350//15350 15266//15266 15411//15411\nf 14817//14817 14820//14820 15412//15412\nf 15266//15266 15352//15352 15411//15411\nf 15266//15266 15270//15270 15352//15352\nf 15413//15413 14818//14818 14830//14830\nf 15414//15414 14827//14827 15415//15415\nf 15669//15669 14840//14840 15671//15671\nf 14618//14618 15277//15277 14845//14845\nf 15274//15274 15418//15418 15275//15275\nf 15274//15274 15416//15416 15418//15418\nf 15353//15353 15277//15277 14857//14857\nf 15353//15353 14856//14856 15420//15420\nf 14857//14857 15277//15277 14623//14623\nf 14849//14849 15419//15419 14850//14850\nf 14856//14856 14854//14854 15420//15420\nf 15275//15275 15418//15418 15354//15354\nf 14044//14044 14847//14847 15355//15355\nf 14843//14843 15278//15278 15421//15421\nf 14862//14862 14044//14044 15355//15355\nf 16041//16041 15423//15423 14861//14861\nf 14864//14864 14861//14861 15423//15423\nf 14866//14866 14864//14864 15423//15423\nf 14863//14863 14862//14862 15424//15424\nf 14863//14863 15424//15424 15425//15425\nf 14859//14859 14865//14865 15356//15356\nf 14873//14873 15426//15426 14876//14876\nf 14876//14876 15426//15426 14878//14878\nf 15426//15426 14883//14883 14878//14878\nf 14891//14891 15280//15280 14885//14885\nf 14882//14882 15719//15719 14879//14879\nf 14884//14884 14881//14881 15427//15427\nf 14898//14898 13761//13761 14887//14887\nf 14888//14888 15429//15429 14894//14894\nf 15428//15428 15429//15429 14888//14888\nf 14896//14896 13762//13762 15358//15358\nf 15507//15507 14890//14890 14895//14895\nf 14894//14894 15429//15429 15730//15730\nf 14894//14894 14904//14904 14900//14900\nf 14903//14903 14905//14905 14906//14906\nf 14903//14903 14906//14906 15430//15430\nf 15746//15746 15742//15742 15286//15286\nf 15509//15509 15430//15430 14906//14906\nf 14910//14910 14907//14907 14628//14628\nf 15431//15431 14914//14914 14908//14908\nf 15745//15745 15749//15749 14628//14628\nf 15509//15509 14906//14906 14912//14912\nf 14922//14922 14914//14914 15432//15432\nf 14945//14945 15289//15289 14954//14954\nf 14949//14949 14958//14958 14965//14965\nf 15434//15434 14960//14960 15437//15437\nf 14962//14962 15438//15438 15291//15291\nf 15436//15436 15292//15292 14975//14975\nf 14960//14960 14968//14968 15437//15437\nf 15291//15291 15438//15438 14976//14976\nf 15294//15294 15790//15790 15795//15795\nf 15294//15294 14984//14984 14976//14976\nf 15440//15440 15437//15437 14980//14980\nf 14992//14992 14987//14987 15513//15513\nf 15440//15440 15297//15297 15441//15441\nf 15297//15297 15440//15440 14980//14980\nf 14997//14997 14990//14990 14979//14979\nf 15008//15008 15361//15361 15444//15444\nf 15443//15443 15441//15441 15297//15297\nf 15443//15443 15297//15297 15362//15362\nf 15298//15298 15008//15008 15444//15444\nf 15007//15007 14140//14140 15019//15019\nf 15299//15299 15298//15298 15445//15445\nf 15298//15298 15444//15444 15445//15445\nf 15446//15446 15299//15299 15445//15445\nf 15364//15364 15447//15447 15362//15362\nf 15300//15300 15447//15447 15364//15364\nf 15366//15366 15448//15448 15449//15449\nf 15301//15301 15299//15299 15446//15446\nf 15366//15366 15449//15449 15451//15451\nf 15452//15452 15447//15447 15300//15300\nf 15365//15365 15446//15446 15448//15448\nf 15365//15365 15448//15448 15366//15366\nf 15365//15365 15301//15301 15446//15446\nf 15044//15044 15365//15365 15366//15366\nf 15451//15451 15449//15449 15452//15452\nf 15039//15039 15033//15033 15454//15454\nf 15302//15302 15366//15366 15451//15451\nf 15451//15451 15452//15452 15367//15367\nf 15453//15453 15025//15025 15521//15521\nf 15025//15025 14646//14646 15521//15521\nf 15369//15369 15451//15451 15367//15367\nf 15452//15452 15300//15300 15367//15367\nf 15302//15302 15451//15451 15369//15369\nf 15304//15304 15369//15369 15367//15367\nf 15054//15054 15045//15045 15823//15823\nf 15049//15049 14652//14652 15305//15305\nf 15456//15456 15305//15305 15307//15307\nf 15458//15458 15456//15456 15308//15308\nf 15075//15075 15457//15457 15372//15372\nf 15308//15308 15076//15076 15373//15373\nf 15077//15077 15372//15372 15459//15459\nf 15077//15077 15459//15459 15309//15309\nf 15373//15373 15460//15460 15458//15458\nf 15374//15374 15460//15460 15313//15313\nf 15313//15313 15460//15460 15373//15373\nf 16482//16482 16074//16074 15838//15838\nf 14360//14360 15311//15311 15375//15375\nf 15838//15838 15375//15375 15311//15311\nf 16252//16252 15836//15836 15311//15311\nf 14182//14182 15085//15085 15376//15376\nf 15083//15083 15376//15376 15085//15085\nf 15084//15084 15840//15840 15842//15842\nf 15461//15461 15095//15095 15100//15100\nf 14677//14677 15316//15316 15087//15087\nf 15377//15377 14680//14680 15855//15855\nf 15462//15462 15105//15105 15113//15113\nf 15462//15462 15113//15113 15125//15125\nf 15526//15526 15115//15115 15109//15109\nf 15463//15463 15117//15117 15120//15120\nf 15121//15121 15122//15122 15123//15123\nf 15464//15464 15317//15317 15124//15124\nf 15465//15465 15131//15131 15127//15127\nf 15132//15132 15131//15131 15134//15134\nf 15467//15467 15466//15466 15318//15318\nf 15318//15318 15468//15468 15467//15467\nf 15378//15378 15469//15469 15319//15319\nf 15136//15136 15469//15469 15378//15378\nf 15892//15892 15894//15894 15139//15139\nf 15141//15141 15896//15896 15897//15897\nf 15471//15471 15134//15134 15470//15470\nf 15471//15471 15137//15137 15134//15134\nf 15528//15528 15380//15380 15531//15531\nf 15150//15150 15381//15381 14693//14693\nf 15150//15150 15148//15148 14690//14690\nf 15380//15380 15145//15145 15472//15472\nf 15145//15145 15383//15383 15472//15472\nf 15473//15473 15472//15472 15384//15384\nf 15472//15472 15383//15383 15384//15384\nf 15383//15383 15321//15321 15384//15384\nf 15385//15385 15473//15473 15384//15384\nf 15474//15474 15473//15473 15385//15385\nf 15474//15474 15385//15385 15388//15388\nf 15386//15386 15384//15384 15321//15321\nf 15386//15386 15321//15321 15387//15387\nf 15475//15475 15389//15389 14695//14695\nf 15534//15534 15476//15476 15388//15388\nf 15159//15159 14695//14695 15389//15389\nf 15323//15323 14234//14234 15322//15322\nf 15163//15163 15162//15162 15478//15478\nf 15390//15390 14237//14237 15325//15325\nf 15391//15391 15326//15326 15327//15327\nf 15170//15170 13904//13904 13905//13905\nf 15479//15479 15391//15391 15327//15327\nf 15479//15479 15327//15327 15328//15328\nf 15329//15329 15176//15176 15181//15181\nf 15185//15185 15483//15483 15188//15188\nf 15179//15179 15483//15483 15185//15185\nf 15392//15392 15184//15184 15186//15186\nf 14698//14698 15183//15183 15186//15186\nf 15482//15482 15330//15330 15484//15484\nf 15483//15483 15194//15194 15188//15188\nf 15393//15393 15485//15485 15395//15395\nf 15394//15394 15200//15200 15193//15193\nf 15395//15395 15204//15204 15393//15393\nf 15396//15396 15207//15207 15200//15200\nf 15396//15396 15200//15200 15394//15394\nf 15970//15970 15203//15203 15210//15210\nf 15486//15486 15206//15206 15487//15487\nf 15209//15209 15487//15487 15206//15206\nf 15228//15228 15212//15212 15488//15488\nf 15228//15228 15488//15488 15986//15986\nf 15225//15225 15234//15234 15490//15490\nf 15220//15220 15217//15217 15491//15491\nf 16101//16101 15235//15235 16005//16005\nf 15249//15249 15250//15250 15243//15243\nf 15248//15248 16012//16012 15250//15250\nf 15249//15249 15252//15252 15250//15250\nf 15539//15539 14701//14701 14702//14702\nf 14704//14704 15540//15540 14711//14711\nf 15548//15548 14725//14725 14715//14715\nf 15397//15397 14708//14708 14709//14709\nf 15542//15542 14712//14712 14727//14727\nf 15542//15542 14727//14727 15552//15552\nf 15549//15549 14709//14709 14732//14732\nf 15554//15554 14730//14730 15255//15255\nf 15552//15552 14727//14727 15563//15563\nf 14728//14728 14602//14602 15563//15563\nf 15492//15492 15256//15256 14738//14738\nf 15399//15399 13710//13710 14740//14740\nf 14752//14752 14741//14741 14736//14736\nf 15576//15576 14732//14732 14742//14742\nf 15400//15400 14744//14744 14734//14734\nf 15334//15334 14602//14602 14729//14729\nf 15493//15493 15492//15492 14738//14738\nf 15254//15254 14603//14603 15494//15494\nf 14738//14738 14606//14606 15493//15493\nf 14603//14603 13708//13708 15336//15336\nf 14742//14742 14750//14750 15576//15576\nf 15590//15590 15576//15576 14750//14750\nf 15336//15336 15337//15337 15586//15586\nf 14762//14762 14607//14607 15401//15401\nf 15599//15599 15340//15340 14760//14760\nf 14760//14760 14763//14763 15599//15599\nf 14763//14763 14760//14760 14766//14766\nf 15403//15403 14768//14768 14609//14609\nf 15339//15339 15342//15342 15341//15341\nf 15342//15342 15496//15496 15341//15341\nf 14765//14765 14762//14762 15404//15404\nf 14771//14771 14764//14764 15603//15603\nf 15605//15605 15607//15607 14765//14765\nf 14765//14765 15608//15608 14610//14610\nf 14783//14783 15345//15345 14778//14778\nf 14785//14785 15620//15620 16025//16025\nf 14785//14785 14783//14783 15620//15620\nf 15627//15627 14803//14803 14797//14797\nf 14800//14800 14799//14799 15348//15348\nf 15501//15501 15350//15350 15411//15411\nf 14811//14811 15347//15347 14815//14815\nf 15642//15642 15501//15501 15411//15411\nf 14816//14816 14818//14818 15645//15645\nf 14818//14818 15413//15413 15645//15645\nf 15653//15653 14829//14829 15652//15652\nf 14031//14031 14821//14821 14832//14832\nf 14827//14827 15661//15661 15415//15415\nf 15414//15414 14820//14820 14827//14827\nf 15416//15416 15272//15272 15271//15271\nf 15416//15416 15271//15271 15665//15665\nf 14835//14835 15670//15670 14838//14838\nf 14842//14842 15417//15417 14844//14844\nf 14619//14619 15276//15276 14837//14837\nf 15502//15502 15354//15354 15418//15418\nf 15420//15420 14854//14854 15419//15419\nf 14860//14860 15422//15422 15421//15421\nf 15356//15356 14865//14865 14868//14868\nf 14863//14863 15704//15704 14869//14869\nf 15709//15709 14869//14869 15704//15704\nf 15504//15504 14883//14883 15426//15426\nf 14869//14869 15709//15709 14874//14874\nf 15427//15427 14881//14881 15718//15718\nf 15719//15719 14882//14882 14886//14886\nf 14889//14889 14884//14884 15723//15723\nf 14875//14875 14890//14890 15357//15357\nf 14893//14893 14889//14889 15506//15506\nf 15507//15507 15505//15505 14890//14890\nf 14893//14893 15506//15506 14899//14899\nf 15728//15728 14892//14892 14897//14897\nf 14887//14887 15729//15729 14898//14898\nf 14902//14902 15508//15508 15733//15733\nf 15359//15359 14902//14902 15736//15736\nf 14908//14908 15359//15359 15736//15736\nf 15430//15430 15734//15734 14903//14903\nf 16046//16046 15287//15287 14916//14916\nf 15509//15509 14912//14912 15433//15433\nf 15433//15433 14912//14912 14918//14918\nf 15288//15288 14101//14101 14926//14926\nf 15755//15755 14921//14921 14925//14925\nf 15759//15759 14927//14927 15510//15510\nf 14924//14924 14922//14922 15757//15757\nf 15763//15763 15289//15289 14924//14924\nf 15289//15289 14933//14933 14924//14924\nf 15768//15768 14931//14931 15762//15762\nf 15289//15289 15763//15763 15757//15757\nf 15767//15767 14938//14938 14941//14941\nf 14954//14954 15289//15289 15511//15511\nf 15774//15774 14937//14937 15290//15290\nf 14949//14949 14965//14965 16052//16052\nf 14959//14959 14954//14954 15782//15782\nf 15436//15436 14959//14959 16054//16054\nf 15788//15788 15797//15797 14978//14978\nf 15439//15439 14978//14978 15798//15798\nf 15512//15512 14987//14987 15292//15292\nf 15512//15512 15799//15799 14987//14987\nf 15513//15513 14987//14987 15799//15799\nf 15804//15804 15794//15794 15440//15440\nf 14997//14997 15803//15803 15805//15805\nf 14992//14992 15513//15513 15361//15361\nf 15804//15804 15440//15440 15514//15514\nf 15442//15442 15295//15295 14991//14991\nf 15514//15514 15440//15440 15441//15441\nf 14997//14997 14979//14979 15803//15803\nf 14991//14991 15806//15806 15442//15442\nf 15006//15006 14997//14997 15516//15516\nf 15514//15514 15441//15441 15518//15518\nf 15006//15006 15516//15516 15811//15811\nf 15515//15515 15444//15444 15361//15361\nf 15814//15814 14991//14991 15007//15007\nf 15515//15515 15517//15517 15444//15444\nf 15444//15444 15517//15517 15445//15445\nf 15518//15518 15441//15441 15443//15443\nf 15447//15447 15443//15443 15362//15362\nf 15446//15446 15445//15445 15519//15519\nf 15518//15518 15443//15443 15447//15447\nf 15449//15449 15518//15518 15447//15447\nf 15520//15520 15449//15449 15448//15448\nf 15450//15450 15011//15011 15817//15817\nf 15363//15363 15019//15019 15453//15453\nf 15449//15449 15447//15447 15452//15452\nf 15819//15819 15363//15363 15453//15453\nf 15019//15019 15025//15025 15453//15453\nf 15039//15039 15454//15454 15043//15043\nf 16066//16066 15043//15043 15454//15454\nf 15045//15045 15043//15043 15822//15822\nf 15054//15054 15046//15046 15045//15045\nf 16068//16068 15305//15305 15522//15522\nf 15371//15371 15306//15306 15065//15065\nf 15456//15456 15522//15522 15305//15305\nf 15457//15457 15829//15829 16070//16070\nf 15523//15523 15372//15372 15457//15457\nf 15372//15372 15832//15832 15523//15523\nf 15524//15524 15458//15458 15460//15460\nf 15459//15459 15835//15835 15309//15309\nf 15835//15835 15524//15524 15374//15374\nf 15524//15524 15460//15460 15374//15374\nf 15836//15836 15311//15311 15082//15082\nf 15843//15843 15314//15314 15090//15090\nf 15843//15843 15090//15090 15315//15315\nf 15847//15847 15843//15843 15315//15315\nf 15095//15095 15461//15461 16077//16077\nf 16075//16075 15095//15095 16077//16077\nf 15101//15101 15859//15859 15111//15111\nf 15105//15105 15525//15525 15103//15103\nf 15111//15111 15104//15104 15101//15101\nf 15115//15115 15526//15526 15119//15119\nf 15465//15465 15127//15127 15119//15119\nf 15878//15878 15879//15879 15465//15465\nf 15318//15318 15466//15466 15880//15880\nf 15134//15134 15131//15131 15527//15527\nf 15885//15885 14684//14684 15135//15135\nf 15468//15468 15319//15319 15469//15469\nf 15527//15527 15884//15884 15134//15134\nf 15884//15884 15888//15888 15134//15134\nf 15130//15130 15129//15129 15379//15379\nf 15468//15468 15318//15318 15319//15319\nf 15134//15134 15888//15888 15898//15898\nf 15892//15892 15139//15139 15138//15138\nf 15468//15468 15901//15901 15467//15467\nf 15469//15469 15380//15380 15528//15528\nf 15528//15528 15468//15468 15469//15469\nf 14691//14691 15908//15908 16085//16085\nf 14690//14690 15530//15530 15150//15150\nf 15530//15530 15381//15381 15150//15150\nf 14691//14691 15382//15382 15908//15908\nf 15531//15531 15380//15380 15472//15472\nf 15531//15531 15472//15472 15473//15473\nf 15532//15532 15531//15531 15473//15473\nf 15532//15532 15473//15473 15474//15474\nf 15387//15387 15324//15324 15386//15386\nf 15534//15534 15533//15533 15476//15476\nf 15387//15387 15161//15161 15324//15324\nf 15326//15326 15535//15535 15167//15167\nf 15535//15535 15324//15324 15167//15167\nf 15536//15536 15169//15169 15165//15165\nf 15938//15938 15170//15170 15171//15171\nf 15480//15480 15328//15328 15172//15172\nf 15480//15480 15172//15172 15329//15329\nf 15945//15945 15182//15182 15180//15180\nf 15190//15190 15482//15482 15480//15480\nf 15190//15190 15330//15330 15482//15482\nf 15952//15952 15178//15178 15184//15184\nf 15184//15184 15392//15392 15952//15952\nf 15963//15963 15195//15195 15196//15196\nf 15193//15193 15194//15194 15394//15394\nf 15970//15970 15966//15966 15203//15203\nf 15966//15966 15202//15202 15203//15203\nf 15486//15486 15968//15968 15206//15206\nf 15979//15979 15970//15970 15210//15210\nf 15976//15976 15212//15212 15967//15967\nf 15979//15979 15211//15211 16100//16100\nf 15223//15223 15489//15489 15224//15224\nf 15982//15982 15490//15490 15234//15234\nf 15215//15215 15225//15225 15490//15490\nf 16100//16100 15211//15211 15985//15985\nf 15985//15985 15211//15211 15222//15222\nf 15230//15230 15229//15229 15989//15989\nf 15223//15223 15231//15231 15990//15990\nf 15990//15990 15980//15980 15489//15489\nf 15991//15991 15233//15233 15224//15224\nf 15996//15996 15998//15998 15239//15239\nf 15226//15226 15235//15235 15997//15997\nf 16000//16000 16001//16001 15218//15218\nf 16001//16001 15332//15332 15218//15218\nf 15996//15996 15239//15239 15238//15238\nf 15985//15985 15232//15232 16004//16004\nf 15242//15242 15239//15239 15998//15998\nf 16003//16003 15244//15244 15237//15237\nf 16006//16006 15243//15243 15250//15250\nf 15247//15247 15244//15244 15537//15537\nf 15539//15539 14702//14702 15546//15546\nf 15541//15541 14704//14704 14705//14705\nf 15541//15541 14705//14705 14712//14712\nf 14706//14706 14714//14714 15333//15333\nf 15333//15333 14714//14714 16014//16014\nf 14707//14707 14708//14708 14715//14715\nf 14715//14715 14708//14708 15543//15543\nf 14708//14708 15397//15397 15545//15545\nf 15550//15550 14701//14701 15538//15538\nf 14702//14702 14722//14722 15546//15546\nf 15397//15397 14709//14709 15545//15545\nf 15549//15549 15545//15545 14709//14709\nf 15550//15550 14716//14716 14701//14701\nf 15546//15546 14722//14722 15551//15551\nf 15558//15558 14713//14713 15547//15547\nf 15547//15547 15253//15253 16013//16013\nf 15554//15554 15553//15553 14714//14714\nf 14737//14737 15555//15555 15559//15559\nf 15560//15560 15549//15549 14732//14732\nf 15571//15571 15563//15563 14602//14602\nf 15565//15565 15255//15255 15398//15398\nf 14736//14736 15568//15568 14752//14752\nf 14736//14736 15566//15566 15568//15568\nf 15492//15492 15569//15569 15256//15256\nf 15556//15556 14723//14723 15254//15254\nf 15572//15572 14739//14739 14724//14724\nf 15574//15574 15573//15573 14745//14745\nf 15576//15576 15560//15560 14732//14732\nf 15577//15577 14726//14726 14716//14716\nf 15577//15577 14743//14743 14726//14726\nf 14606//14606 14723//14723 15493//15493\nf 16019//16019 14604//14604 15400//15400\nf 15571//15571 14602//14602 15579//15579\nf 15579//15579 14602//14602 15334//15334\nf 15572//15572 15583//15583 14739//14739\nf 14746//14746 15574//15574 14745//14745\nf 15577//15577 15580//15580 14743//14743\nf 15581//15581 14604//14604 16019//16019\nf 15579//15579 15334//15334 15582//15582\nf 14747//14747 15335//15335 15584//15584\nf 15494//15494 14603//14603 15336//15336\nf 14746//14746 14747//14747 15584//15584\nf 15257//15257 14752//14752 15575//15575\nf 15582//15582 15334//15334 14749//14749\nf 15588//15588 15582//15582 14749//14749\nf 15574//15574 14746//14746 15584//15584\nf 14754//14754 15590//15590 14750//14750\nf 15492//15492 15592//15592 14738//14738\nf 14748//14748 15586//15586 15337//15337\nf 15258//15258 15589//15589 14756//14756\nf 15592//15592 15338//15338 14738//14738\nf 15493//15493 14755//14755 14606//14606\nf 14748//14748 15495//15495 15586//15586\nf 15587//15587 15495//15495 14748//14748\nf 15593//15593 15588//15588 14749//14749\nf 15402//15402 15593//15593 14749//14749\nf 15591//15591 15401//15401 14743//14743\nf 15592//15592 14738//14738 15338//15338\nf 14755//14755 15493//15493 14606//14606\nf 14757//14757 15593//15593 15402//15402\nf 14762//14762 15401//15401 15591//15591\nf 15596//15596 15338//15338 15592//15592\nf 15596//15596 15339//15339 15338//15338\nf 15590//15590 14754//14754 15340//15340\nf 16021//16021 15590//15590 15340//15340\nf 15339//15339 15596//15596 15338//15338\nf 15338//15338 15596//15596 15592//15592\nf 15597//15597 15593//15593 14757//14757\nf 14758//14758 15594//15594 14761//14761\nf 15595//15595 14759//14759 14608//14608\nf 15403//15403 14609//14609 15598//15598\nf 15603//15603 14764//14764 15602//15602\nf 14764//14764 14761//14761 15602//15602\nf 15599//15599 14763//14763 15604//15604\nf 15342//15342 15339//15339 15496//15496\nf 15339//15339 15341//15341 15496//15496\nf 15606//15606 15598//15598 14609//14609\nf 15605//15605 15404//15404 14762//14762\nf 15605//15605 14762//14762 15600//15600\nf 14609//14609 14768//14768 15606//15606\nf 15341//15341 15496//15496 15342//15342\nf 15607//15607 15608//15608 14765//14765\nf 15609//15609 14768//14768 14772//14772\nf 15609//15609 15606//15606 14768//14768\nf 14766//14766 15405//15405 15610//15610\nf 14770//14770 15610//15610 15405//15405\nf 15613//15613 14770//14770 15344//15344\nf 15612//15612 14770//14770 15613//15613\nf 14610//14610 15608//15608 14775//14775\nf 15614//15614 14772//14772 14777//14777\nf 15614//15614 15609//15609 14772//14772\nf 14778//14778 14771//14771 15611//15611\nf 15344//15344 14770//14770 15613//15613\nf 14775//14775 15608//15608 15616//15616\nf 15611//15611 15615//15615 14778//14778\nf 14770//14770 15344//15344 15613//15613\nf 14779//14779 14775//14775 15616//15616\nf 15344//15344 14774//14774 15613//15613\nf 14783//14783 14778//14778 15617//15617\nf 14778//14778 15615//15615 15617//15617\nf 15619//15619 16023//16023 14774//14774\nf 14777//14777 15618//15618 15614//15614\nf 15618//15618 14777//14777 14784//14784\nf 14774//14774 14780//14780 15619//15619\nf 16023//16023 15613//15613 14774//14774\nf 15407//15407 15619//15619 14780//14780\nf 15407//15407 15622//15622 15619//15619\nf 15624//15624 14781//14781 15621//15621\nf 15618//15618 14784//14784 15406//15406\nf 15623//15623 15618//15618 15406//15406\nf 15407//15407 14786//14786 15622//15622\nf 15624//15624 14790//14790 14787//14787\nf 15406//15406 15499//15499 15623//15623\nf 15623//15623 15499//15499 15409//15409\nf 15623//15623 15409//15409 15626//15626\nf 16027//16027 14786//14786 14791//14791\nf 14795//14795 14796//14796 15628//15628\nf 14802//14802 15628//15628 14796//14796\nf 14802//14802 15629//15629 15628//15628\nf 15409//15409 15350//15350 15626//15626\nf 15410//15410 15630//15630 14791//14791\nf 14793//14793 15631//15631 14808//14808\nf 15625//15625 15631//15631 14793//14793\nf 14800//14800 15500//15500 15632//15632\nf 14800//14800 15632//15632 14801//14801\nf 14801//14801 15632//15632 14806//14806\nf 14806//14806 15629//15629 14802//14802\nf 15260//15260 15261//15261 14798//14798\nf 15500//15500 14800//14800 15634//15634\nf 14800//14800 15500//15500 15634//15634\nf 15634//15634 15632//15632 15500//15500\nf 14795//14795 15628//15628 15349//15349\nf 15628//15628 15637//15637 15349//15349\nf 15636//15636 15500//15500 14800//14800\nf 15501//15501 15635//15635 15350//15350\nf 15636//15636 14800//14800 15348//15348\nf 15347//15347 15638//15638 14815//14815\nf 15641//15641 14805//14805 15351//15351\nf 15642//15642 15635//15635 15501//15501\nf 14803//14803 15639//15639 15265//15265\nf 14821//14821 15267//15267 15265//15265\nf 15351//15351 14814//14814 15412//15412\nf 15412//15412 15647//15647 15351//15351\nf 15647//15647 15644//15644 15351//15351\nf 15352//15352 15642//15642 15411//15411\nf 15640//15640 14816//14816 15645//15645\nf 14813//14813 15646//15646 14819//14819\nf 15352//15352 15273//15273 15659//15659\nf 15653//15653 14824//14824 14829//14829\nf 15654//15654 14824//14824 15653//15653\nf 14825//14825 14824//14824 15654//15654\nf 14820//14820 15657//15657 15412//15412\nf 15412//15412 15657//15657 15648//15648\nf 15352//15352 15659//15659 15650//15650\nf 14821//14821 15651//15651 14832//14832\nf 15662//15662 15415//15415 15661//15661\nf 15415//15415 15662//15662 15414//15414\nf 15662//15662 14820//14820 15414//15414\nf 14820//14820 15662//15662 15657//15657\nf 15665//15665 15271//15271 15658//15658\nf 15413//15413 15667//15667 15663//15663\nf 15667//15667 15413//15413 14841//14841\nf 15413//15413 14830//14830 14841//14841\nf 14823//14823 15664//15664 14836//14836\nf 15666//15666 14831//14831 14840//14840\nf 15664//15664 15668//15668 14836//14836\nf 15666//15666 14840//14840 15669//15669\nf 15668//15668 14839//14839 14836//14836\nf 15672//15672 14839//14839 15668//15668\nf 14840//14840 14845//14845 15671//15671\nf 14841//14841 14843//14843 15667//15667\nf 15676//15676 14839//14839 15672//15672\nf 15671//15671 15277//15277 15674//15674\nf 14839//14839 15676//15676 14842//14842\nf 14842//14842 15676//15676 15417//15417\nf 15417//15417 15676//15676 14844//14844\nf 14844//14844 15676//15676 15679//15679\nf 15277//15277 16039//16039 15674//15674\nf 16039//16039 15277//15277 15353//15353\nf 15680//15680 15419//15419 15683//15683\nf 15419//15419 15680//15680 15677//15677\nf 15420//15420 15419//15419 15677//15677\nf 15677//15677 15681//15681 15420//15420\nf 16039//16039 15353//15353 15681//15681\nf 15419//15419 14849//14849 15683//15683\nf 15502//15502 15418//15418 16040//16040\nf 14847//14847 15686//15686 15355//15355\nf 15684//15684 14852//14852 15689//15689\nf 15684//15684 15276//15276 14852//14852\nf 15355//15355 15686//15686 15687//15687\nf 16041//16041 15502//15502 16040//16040\nf 15689//15689 14852//14852 15690//15690\nf 14860//14860 15692//15692 15422//15422\nf 15692//15692 14860//14860 15696//15696\nf 15694//15694 15425//15425 15424//15424\nf 15695//15695 15425//15425 15694//15694\nf 14866//14866 15693//15693 15697//15697\nf 15423//15423 15693//15693 14866//14866\nf 15691//15691 15356//15356 14868//14868\nf 14860//14860 14867//14867 15696//15696\nf 15698//15698 14866//14866 15697//15697\nf 15425//15425 15695//15695 14863//14863\nf 15503//15503 14870//14870 14866//14866\nf 15701//15701 14863//14863 15695//15695\nf 15426//15426 15703//15703 15702//15702\nf 15704//15704 14863//14863 15701//15701\nf 15426//15426 15702//15702 15504//15504\nf 15702//15702 15706//15706 15698//15698\nf 14873//14873 15503//15503 15698//15698\nf 14870//14870 15503//15503 14873//14873\nf 15707//15707 15699//15699 14871//14871\nf 15702//15702 15703//15703 15426//15426\nf 15702//15702 15426//15426 15706//15706\nf 15706//15706 15426//15426 14873//14873\nf 15504//15504 15705//15705 15710//15710\nf 14883//14883 15504//15504 15710//15710\nf 14877//14877 15713//15713 15714//15714\nf 14877//14877 15714//15714 15281//15281\nf 14881//14881 15281//15281 15714//15714\nf 15279//15279 15357//15357 15715//15715\nf 15280//15280 14891//14891 15716//15716\nf 15714//15714 15718//15718 14881//14881\nf 15717//15717 14879//14879 15719//15719\nf 15718//15718 15720//15720 15427//15427\nf 14884//14884 15427//15427 15720//15720\nf 15716//15716 14891//14891 15721//15721\nf 15722//15722 14874//14874 15711//15711\nf 14883//14883 15725//15725 14887//14887\nf 15710//15710 15725//15725 14883//14883\nf 15726//15726 14886//14886 15282//15282\nf 15724//15724 15715//15715 15357//15357\nf 15357//15357 15505//15505 15724//15724\nf 14888//14888 15727//15727 15428//15428\nf 15726//15726 15282//15282 14892//14892\nf 14889//14889 15723//15723 15506//15506\nf 15506//15506 15723//15723 16043//16043\nf 15727//15727 15429//15429 15428//15428\nf 15506//15506 16043//16043 14899//14899\nf 15726//15726 15728//15728 16112//16112\nf 16043//16043 15731//15731 14899//14899\nf 14899//14899 15731//15731 15733//15733\nf 15508//15508 14899//14899 15733//15733\nf 15508//15508 14902//14902 14899//14899\nf 15728//15728 14897//14897 15283//15283\nf 15732//15732 14895//14895 15734//15734\nf 14895//14895 14903//14903 15734//15734\nf 15737//15737 15284//15284 14901//14901\nf 15728//15728 15283//15283 15739//15739\nf 15735//15735 15740//15740 14907//14907\nf 14904//14904 15735//15735 14907//14907\nf 15431//15431 14908//14908 15743//15743\nf 15740//15740 15745//15745 14628//14628\nf 15747//15747 14909//14909 15741//15741\nf 14907//14907 15740//15740 14628//14628\nf 15748//15748 15431//15431 15743//15743\nf 15748//15748 14914//14914 15431//15431\nf 15744//15744 15430//15430 15509//15509\nf 15744//15744 15509//15509 16047//16047\nf 15432//15432 14914//14914 15748//15748\nf 15432//15432 15748//15748 15750//15750\nf 15747//15747 14913//14913 14909//14909\nf 14919//14919 14628//14628 15749//15749\nf 16047//16047 15509//15509 15433//15433\nf 14916//14916 14921//14921 15755//15755\nf 14922//14922 15750//15750 15752//15752\nf 15754//15754 14920//14920 14913//14913\nf 15754//15754 14913//14913 15747//15747\nf 15751//15751 14916//14916 15755//15755\nf 15759//15759 15433//15433 14927//14927\nf 15758//15758 14929//14929 15754//15754\nf 15753//15753 15433//15433 15759//15759\nf 15433//15433 14918//14918 14927//14927\nf 15771//15771 15759//15759 14937//14937\nf 14926//14926 14932//14932 15764//15764\nf 14938//14938 15767//15767 14925//14925\nf 14931//14931 14923//14923 15762//15762\nf 15759//15759 14927//14927 14937//14937\nf 15766//15766 14936//14936 14929//14929\nf 15289//15289 15757//15757 15765//15765\nf 15289//15289 15765//15765 15511//15511\nf 14944//14944 14931//14931 15772//15772\nf 14954//14954 15511//15511 15773//15773\nf 15771//15771 14937//14937 15774//15774\nf 15771//15771 15774//15774 15778//15778\nf 15766//15766 14952//14952 14936//14936\nf 14944//14944 15772//15772 15776//15776\nf 15777//15777 14954//14954 15773//15773\nf 15780//15780 14952//14952 15766//15766\nf 15778//15778 15774//15774 15290//15290\nf 14944//14944 15776//15776 14953//14953\nf 15781//15781 14953//14953 15776//15776\nf 15782//15782 14954//14954 15777//15777\nf 15780//15780 15783//15783 14952//14952\nf 15785//15785 15290//15290 15434//15434\nf 14962//14962 14952//14952 15438//15438\nf 15784//15784 14965//14965 15435//15435\nf 15435//15435 15786//15786 15784//15784\nf 15779//15779 14963//14963 15787//15787\nf 14978//14978 14953//14953 15788//15788\nf 14963//14963 15360//15360 15787//15787\nf 15436//15436 16054//16054 15789//15789\nf 14953//14953 15781//15781 15788//15788\nf 15785//15785 15434//15434 15437//15437\nf 15791//15791 15786//15786 15435//15435\nf 15360//15360 15792//15792 15787//15787\nf 15794//15794 15785//15785 15437//15437\nf 14976//14976 15790//15790 15294//15294\nf 14976//14976 15438//15438 15783//15783\nf 15436//15436 15789//15789 15292//15292\nf 15789//15789 15512//15512 15292//15292\nf 15512//15512 15789//15789 15796//15796\nf 14977//14977 15294//15294 15795//15795\nf 15797//15797 15798//15798 14978//14978\nf 15793//15793 15789//15789 15512//15512\nf 15792//15792 14967//14967 15295//15295\nf 15799//15799 15512//15512 15796//15796\nf 15794//15794 15437//15437 15440//15440\nf 15803//15803 14979//14979 15800//15800\nf 16061//16061 15807//15807 15515//15515\nf 15517//15517 15807//15807 15808//15808\nf 15808//15808 15809//15809 15517//15517\nf 15810//15810 15804//15804 15514//15514\nf 15295//15295 15442//15442 15806//15806\nf 15513//15513 16061//16061 15361//15361\nf 15361//15361 16061//16061 15515//15515\nf 15516//15516 15805//15805 15811//15811\nf 15516//15516 14997//14997 15805//15805\nf 15515//15515 15807//15807 15517//15517\nf 15813//15813 15006//15006 15811//15811\nf 15815//15815 15810//15810 15518//15518\nf 15810//15810 15514//15514 15518//15518\nf 15445//15445 15517//15517 15809//15809\nf 15445//15445 15809//15809 15519//15519\nf 15809//15809 15812//15812 15519//15519\nf 15520//15520 15815//15815 15518//15518\nf 15816//15816 15011//15011 15006//15006\nf 15812//15812 15815//15815 15520//15520\nf 15446//15446 15519//15519 15812//15812\nf 15449//15449 15520//15520 15518//15518\nf 15446//15446 15812//15812 15448//15448\nf 15812//15812 15520//15520 15448//15448\nf 16063//16063 15007//15007 15363//15363\nf 15450//15450 15817//15817 16064//16064\nf 15029//15029 16064//16064 15033//15033\nf 15033//15033 15820//15820 16066//16066\nf 15819//15819 15453//15453 15521//15521\nf 16067//16067 15819//15819 15521//15521\nf 15822//15822 15043//15043 15821//15821\nf 16066//16066 15822//15822 15821//15821\nf 15822//15822 15823//15823 15045//15045\nf 16068//16068 16067//16067 15049//15049\nf 16067//16067 15521//15521 14646//14646\nf 16067//16067 14646//14646 15049//15049\nf 15824//15824 15054//15054 15823//15823\nf 15824//15824 15825//15825 15054//15054\nf 15371//15371 15054//15054 15825//15825\nf 15371//15371 15826//15826 15306//15306\nf 16068//16068 15049//15049 15305//15305\nf 16068//16068 15522//15522 15828//15828\nf 15073//15073 15455//15455 15457//15457\nf 15832//15832 15457//15457 16070//16070\nf 15457//15457 15455//15455 15829//15829\nf 15830//15830 15522//15522 15456//15456\nf 15831//15831 15830//15830 15456//15456\nf 15833//15833 15831//15831 15456//15456\nf 15372//15372 15523//15523 15832//15832\nf 15456//15456 15524//15524 15833//15833\nf 15372//15372 15523//15523 15459//15459\nf 15833//15833 15524//15524 15831//15831\nf 15456//15456 15458//15458 15524//15524\nf 15459//15459 16073//16073 15835//15835\nf 15835//15835 16073//16073 15524//15524\nf 15835//15835 15374//15374 15309//15309\nf 16074//16074 15312//15312 15375//15375\nf 15088//15088 15084//15084 15842//15842\nf 15841//15841 15314//15314 15843//15843\nf 15099//15099 15092//15092 15850//15850\nf 15844//15844 15845//15845 14677//14677\nf 15096//15096 15844//15844 14677//14677\nf 15849//15849 15091//15091 15089//15089\nf 15848//15848 15091//15091 15849//15849\nf 15848//15848 15851//15851 15091//15091\nf 15091//15091 15851//15851 15097//15097\nf 15377//15377 15849//15849 15089//15089\nf 15377//15377 15089//15089 14678//14678\nf 15098//15098 15099//15099 15850//15850\nf 16077//16077 15461//15461 15854//15854\nf 15103//15103 15853//15853 15096//15096\nf 15096//15096 15853//15853 15844//15844\nf 15854//15854 15461//15461 15100//15100\nf 15852//15852 15102//15102 15098//15098\nf 15851//15851 15857//15857 15097//15097\nf 14680//14680 15102//15102 15856//15856\nf 15109//15109 15857//15857 15860//15860\nf 14680//14680 15858//15858 15855//15855\nf 15856//15856 15858//15858 14680//14680\nf 15109//15109 15097//15097 15857//15857\nf 15100//15100 15106//15106 15854//15854\nf 15861//15861 15854//15854 15106//15106\nf 15103//15103 15863//15863 15853//15853\nf 15525//15525 15863//15863 15103//15103\nf 15462//15462 15525//15525 15105//15105\nf 15110//15110 15862//15862 15107//15107\nf 15525//15525 15462//15462 15867//15867\nf 15866//15866 15110//15110 15114//15114\nf 15865//15865 15112//15112 15111//15111\nf 15868//15868 15112//15112 15865//15865\nf 15114//15114 15869//15869 15866//15866\nf 15869//15869 15116//15116 15117//15117\nf 15870//15870 15869//15869 15117//15117\nf 15868//15868 15871//15871 15118//15118\nf 15109//15109 15860//15860 16080//16080\nf 15870//15870 15117//15117 15872//15872\nf 15112//15112 15868//15868 15118//15118\nf 15873//15873 15109//15109 16080//16080\nf 15526//15526 15109//15109 15873//15873\nf 15874//15874 15117//15117 15463//15463\nf 15872//15872 15117//15117 15874//15874\nf 15463//15463 15120//15120 15874//15874\nf 15876//15876 15867//15867 15462//15462\nf 15526//15526 15873//15873 15119//15119\nf 15123//15123 15875//15875 15877//15877\nf 15123//15123 15317//15317 15875//15875\nf 15876//15876 15462//15462 15125//15125\nf 15465//15465 15119//15119 15878//15878\nf 15879//15879 15131//15131 15465//15465\nf 15125//15125 15318//15318 15876//15876\nf 15880//15880 15876//15876 15318//15318\nf 15131//15131 15879//15879 15882//15882\nf 14684//14684 15883//15883 15881//15881\nf 15129//15129 15133//15133 16084//16084\nf 15882//15882 15884//15884 15131//15131\nf 15527//15527 15131//15131 15884//15884\nf 15885//15885 15883//15883 14684//14684\nf 15880//15880 15467//15467 15886//15886\nf 15880//15880 15466//15466 15467//15467\nf 15129//15129 15887//15887 15379//15379\nf 15887//15887 15129//15129 15889//15889\nf 15889//15889 15379//15379 15887//15887\nf 15889//15889 15890//15890 15379//15379\nf 15885//15885 15135//15135 15137//15137\nf 15379//15379 15890//15890 14685//14685\nf 14685//14685 15890//15890 15891//15891\nf 15891//15891 15138//15138 14685//14685\nf 15892//15892 15138//15138 15891//15891\nf 15886//15886 15467//15467 15893//15893\nf 15141//15141 15895//15895 15896//15896\nf 15140//15140 15895//15895 15141//15141\nf 15471//15471 15529//15529 15137//15137\nf 15529//15529 15885//15885 15137//15137\nf 15142//15142 15141//15141 15143//15143\nf 15141//15141 15897//15897 15143//15143\nf 15467//15467 15901//15901 15902//15902\nf 15146//15146 15320//15320 15899//15899\nf 15902//15902 15900//15900 15467//15467\nf 15528//15528 15901//15901 15468//15468\nf 15905//15905 15147//15147 15903//15903\nf 15146//15146 15903//15903 15147//15147\nf 15905//15905 14689//14689 15147//15147\nf 15905//15905 15906//15906 14689//14689\nf 15381//15381 15530//15530 15907//15907\nf 15381//15381 15904//15904 15382//15382\nf 15470//15470 15898//15898 15471//15471\nf 15898//15898 15529//15529 15471//15471\nf 15909//15909 14690//14690 14689//14689\nf 15907//15907 15530//15530 14690//14690\nf 15910//15910 15902//15902 15901//15901\nf 15910//15910 15900//15900 15902//15902\nf 15532//15532 15901//15901 15531//15531\nf 15531//15531 15901//15901 15528//15528\nf 15532//15532 15910//15910 15901//15901\nf 15911//15911 15151//15151 14692//14692\nf 15474//15474 15910//15910 15532//15532\nf 15474//15474 15917//15917 16087//16087\nf 14695//14695 15915//15915 15475//15475\nf 15916//15916 15475//15475 15915//15915\nf 15475//15475 15916//15916 15918//15918\nf 15917//15917 15388//15388 15476//15476\nf 15476//15476 15533//15533 15917//15917\nf 15388//15388 15385//15385 15535//15535\nf 15917//15917 15533//15533 15920//15920\nf 15388//15388 15535//15535 15924//15924\nf 15385//15385 15921//15921 15535//15535\nf 15386//15386 15921//15921 15385//15385\nf 15386//15386 15324//15324 15921//15921\nf 15322//15322 15477//15477 15923//15923\nf 15159//15159 15389//15389 15919//15919\nf 15535//15535 15921//15921 15924//15924\nf 15534//15534 15388//15388 15924//15924\nf 15324//15324 15925//15925 15921//15921\nf 15386//15386 15324//15324 15925//15925\nf 15925//15925 15324//15324 15386//15386\nf 15323//15323 15322//15322 15922//15922\nf 15534//15534 15924//15924 15533//15533\nf 15921//15921 15925//15925 15324//15324\nf 15160//15160 15926//15926 15162//15162\nf 15924//15924 15920//15920 15533//15533\nf 15478//15478 15162//15162 16090//16090\nf 15535//15535 15921//15921 15324//15324\nf 15927//15927 15325//15325 15163//15163\nf 15163//15163 15478//15478 15927//15927\nf 15921//15921 15535//15535 15326//15326\nf 15931//15931 15921//15921 15326//15326\nf 15930//15930 15166//15166 15390//15390\nf 15930//15930 15390//15390 15929//15929\nf 15166//15166 15930//15930 15165//15165\nf 15326//15326 15932//15932 15931//15931\nf 15933//15933 15536//15536 15165//15165\nf 15326//15326 15391//15391 15932//15932\nf 15932//15932 15391//15391 15934//15934\nf 15935//15935 15171//15171 15169//15169\nf 15937//15937 15174//15174 15170//15170\nf 15936//15936 15174//15174 15937//15937\nf 15938//15938 15937//15937 15170//15170\nf 15391//15391 15939//15939 15934//15934\nf 15939//15939 15391//15391 15940//15940\nf 15479//15479 15940//15940 15391//15391\nf 15479//15479 15328//15328 15944//15944\nf 15942//15942 15943//15943 15177//15177\nf 15177//15177 15175//15175 15942//15942\nf 15940//15940 15479//15479 15944//15944\nf 15944//15944 15328//15328 15480//15480\nf 15943//15943 15945//15945 15177//15177\nf 15944//15944 15484//15484 15948//15948\nf 15944//15944 15482//15482 15484//15484\nf 15944//15944 15480//15480 15482//15482\nf 15946//15946 15483//15483 15179//15179\nf 15950//15950 15481//15481 15183//15183\nf 15484//15484 15951//15951 15948//15948\nf 15950//15950 15953//15953 15186//15186\nf 15950//15950 15186//15186 15481//15481\nf 15946//15946 15954//15954 15483//15483\nf 15186//15186 15952//15952 15392//15392\nf 15953//15953 15952//15952 15186//15186\nf 15958//15958 15957//15957 15955//15955\nf 15954//15954 15959//15959 15483//15483\nf 15959//15959 15194//15194 15483//15483\nf 15956//15956 15393//15393 15960//15960\nf 15955//15955 15393//15393 15956//15956\nf 15957//15957 15485//15485 15955//15955\nf 15958//15958 15955//15955 15956//15956\nf 15485//15485 15393//15393 15955//15955\nf 15957//15957 15958//15958 15485//15485\nf 15485//15485 15958//15958 15961//15961\nf 15951//15951 15484//15484 15962//15962\nf 15331//15331 15962//15962 15484//15484\nf 15393//15393 15963//15963 15960//15960\nf 15393//15393 15195//15195 15963//15963\nf 15963//15963 15196//15196 15965//15965\nf 15194//15194 15964//15964 15969//15969\nf 15202//15202 15966//15966 15196//15196\nf 15966//15966 15965//15965 15196//15196\nf 15485//15485 15967//15967 15395//15395\nf 15967//15967 15485//15485 15961//15961\nf 15962//15962 15331//15331 15968//15968\nf 15205//15205 15968//15968 15331//15331\nf 15971//15971 15968//15968 15486//15486\nf 15206//15206 15968//15968 15205//15205\nf 15396//15396 15394//15394 15972//15972\nf 15967//15967 15212//15212 15395//15395\nf 15971//15971 15486//15486 15973//15973\nf 15486//15486 15487//15487 15973//15973\nf 15974//15974 15216//15216 15215//15215\nf 15975//15975 15216//15216 15974//15974\nf 16099//16099 15216//15216 15975//15975\nf 15216//15216 15975//15975 15217//15217\nf 15209//15209 15973//15973 15487//15487\nf 15979//15979 15210//15210 15211//15211\nf 15972//15972 15221//15221 15396//15396\nf 15976//15976 15488//15488 15212//15212\nf 15489//15489 15981//15981 15224//15224\nf 15489//15489 15980//15980 15981//15981\nf 15974//15974 15215//15215 15490//15490\nf 15217//15217 15983//15983 15491//15491\nf 15972//15972 15984//15984 15221//15221\nf 15228//15228 15987//15987 15229//15229\nf 15981//15981 15991//15991 15224//15224\nf 15491//15491 15983//15983 15996//15996\nf 15238//15238 15491//15491 15996//15996\nf 15989//15989 15993//15993 15230//15230\nf 15991//15991 15994//15994 15233//15233\nf 15995//15995 15234//15234 15236//15236\nf 15995//15995 15992//15992 15234//15234\nf 15234//15234 15992//15992 15982//15982\nf 15978//15978 15209//15209 15226//15226\nf 15978//15978 15226//15226 15997//15997\nf 15230//15230 15993//15993 15231//15231\nf 15233//15233 15994//15994 15995//15995\nf 15233//15233 15995//15995 15236//15236\nf 15221//15221 15999//15999 15227//15227\nf 15221//15221 15984//15984 15999//15999\nf 16000//16000 15218//15218 15999//15999\nf 15332//15332 16001//16001 15219//15219\nf 16001//16001 16002//16002 15219//15219\nf 16002//16002 16003//16003 15219//15219\nf 15985//15985 15222//15222 15232//15232\nf 15241//15241 16004//16004 15232//15232\nf 15246//15246 15242//15242 16007//16007\nf 15219//15219 16003//16003 15237//15237\nf 15240//15240 15243//15243 16006//16006\nf 16008//16008 15241//15241 15245//15245\nf 16003//16003 16010//16010 15244//15244\nf 16009//16009 16006//16006 15250//15250\nf 16011//16011 15537//15537 15244//15244\nf 16010//16010 16011//16011 15244//15244\nf 16102//16102 15537//15537 16011//16011\nf 15249//15249 16009//16009 15250//15250\nf 15250//15250 16012//16012 16009//16009\nf 16009//16009 15249//15249 15250//15250\nf 14701//14701 15539//15539 15538//15538\nf 16013//16013 15253//15253 15333//15333\nf 15548//15548 14715//14715 16015//16015\nf 14715//14715 15543//15543 16015//16015\nf 15544//15544 15543//15543 14708//14708\nf 15545//15545 15543//15543 15544//15544\nf 14725//14725 15548//15548 15555//15555\nf 15554//15554 14714//14714 14730//14730\nf 14737//14737 15559//15559 15566//15566\nf 14737//14737 14731//14731 15555//15555\nf 14722//14722 15569//15569 15551//15551\nf 14718//14718 15562//15562 15561//15561\nf 14718//14718 14711//14711 15562//15562\nf 15554//15554 15255//15255 15565//15565\nf 14737//14737 15566//15566 14736//14736\nf 14734//14734 14718//14718 15561//15561\nf 14752//14752 15568//15568 15575//15575\nf 14722//14722 15256//15256 15569//15569\nf 14724//14724 15564//15564 15572//15572\nf 15567//15567 15399//15399 16016//16016\nf 16018//16018 15560//15560 15576//15576\nf 15577//15577 14716//14716 15550//15550\nf 15493//15493 14723//14723 15556//15556\nf 16105//16105 15335//15335 15257//15257\nf 16104//16104 15254//15254 15494//15494\nf 15494//15494 15336//15336 16146//16146\nf 14748//14748 14604//14604 15581//15581\nf 15587//15587 14748//14748 15581//15581\nf 15258//15258 14739//14739 15585//15585\nf 15585//15585 14739//14739 15583//15583\nf 15585//15585 15589//15589 15258//15258\nf 15580//15580 15591//15591 14743//14743\nf 15492//15492 14738//14738 15592//15592\nf 15594//15594 14758//14758 15589//15589\nf 15595//15595 16022//16022 14759//14759\nf 16022//16022 14608//14608 14759//14759\nf 14757//14757 15598//15598 15597//15597\nf 14757//14757 15403//15403 15598//15598\nf 16021//16021 15340//15340 15599//15599\nf 15595//15595 14608//14608 16022//16022\nf 14761//14761 15594//15594 15601//15601\nf 14761//14761 15601//15601 15602//15602\nf 14763//14763 14766//14766 15604//15604\nf 14765//14765 15404//15404 15605//15605\nf 15496//15496 15341//15341 15342//15342\nf 15605//15605 15608//15608 15607//15607\nf 15611//15611 14771//14771 15603//15603\nf 15604//15604 14766//14766 15610//15610\nf 15612//15612 15610//15610 14770//14770\nf 15616//15616 14781//14781 14779//14779\nf 15620//15620 14783//14783 15617//15617\nf 14781//14781 15616//15616 15621//15621\nf 15624//15624 14790//14790 14781//14781\nf 15618//15618 15623//15623 16024//16024\nf 16026//16026 15622//15622 14786//14786\nf 14793//14793 14790//14790 15624//15624\nf 15624//15624 15625//15625 14793//14793\nf 16026//16026 14786//14786 16027//16027\nf 14803//14803 15627//15627 15633//15633\nf 14798//14798 15638//15638 15347//15347\nf 16028//16028 15638//15638 14798//14798\nf 15632//15632 16030//16030 14806//14806\nf 16030//16030 15629//15629 14806//14806\nf 15626//15626 15350//15350 15635//15635\nf 15626//15626 15635//15635 16029//16029\nf 15261//15261 15638//15638 14798//14798\nf 15261//15261 16031//16031 15638//15638\nf 15410//15410 14816//14816 15640//15640\nf 15640//15640 15630//15630 15410//15410\nf 16031//16031 16033//16033 16032//16032\nf 15348//15348 14805//14805 15636//15636\nf 14810//14810 16033//16033 16031//16031\nf 15631//15631 14813//14813 14808//14808\nf 16031//16031 15261//15261 14810//14810\nf 16031//16031 16032//16032 15638//15638\nf 16032//16032 14815//14815 15638//15638\nf 15349//15349 15637//15637 16034//16034\nf 14803//14803 15633//15633 15639//15639\nf 14810//14810 14815//14815 16033//16033\nf 14815//14815 16032//16032 16033//16033\nf 15644//15644 15641//15641 15351//15351\nf 15263//15263 15349//15349 16034//16034\nf 14821//14821 15265//15265 15639//15639\nf 15412//15412 15648//15648 15647//15647\nf 15263//15263 16034//16034 15649//15649\nf 15650//15650 15642//15642 15352//15352\nf 15268//15268 15263//15263 15649//15649\nf 15651//15651 14821//14821 15639//15639\nf 15664//15664 15646//15646 16166//16166\nf 15652//15652 14829//14829 14828//14828\nf 14826//14826 14825//14825 15655//15655\nf 14825//14825 15654//15654 15655//15655\nf 14827//14827 14826//14826 15655//15655\nf 15656//15656 14827//14827 15655//15655\nf 15268//15268 15649//15649 15658//15658\nf 15271//15271 15268//15268 15658//15658\nf 15652//15652 14828//14828 15660//15660\nf 15661//15661 14827//14827 15656//15656\nf 15645//15645 15413//15413 15663//15663\nf 14831//14831 15660//15660 14828//14828\nf 15416//15416 15665//15665 15673//15673\nf 16035//16035 14837//14837 16038//16038\nf 15418//15418 15416//15416 15673//15673\nf 14838//14838 15670//15670 15675//15675\nf 14843//14843 15678//15678 15667//15667\nf 15677//15677 16039//16039 15681//15681\nf 16037//16037 16039//16039 15677//15677\nf 15418//15418 15673//15673 15682//15682\nf 15681//15681 15353//15353 15420//15420\nf 15683//15683 14849//14849 14848//14848\nf 14843//14843 15688//15688 15678//15678\nf 14843//14843 15421//15421 15688//15688\nf 14859//14859 15691//15691 15690//15690\nf 15355//15355 15687//15687 15694//15694\nf 16109//16109 15693//15693 16041//16041\nf 15690//15690 14852//14852 14859//14859\nf 16041//16041 14861//14861 15502//15502\nf 15424//15424 14862//14862 15355//15355\nf 15688//15688 15421//15421 15692//15692\nf 15693//15693 15423//15423 16041//16041\nf 15691//15691 14859//14859 15356//15356\nf 15421//15421 15422//15422 15692//15692\nf 15693//15693 15698//15698 15697//15697\nf 15699//15699 15691//15691 14868//14868\nf 15503//15503 14866//14866 15698//15698\nf 14867//14867 15700//15700 15696//15696\nf 15702//15702 16042//16042 15705//15705\nf 15709//15709 15704//15704 15701//15701\nf 15279//15279 15700//15700 14867//14867\nf 15702//15702 15705//15705 15504//15504\nf 15698//15698 15706//15706 14873//14873\nf 15699//15699 14868//14868 14871//14871\nf 15700//15700 15279//15279 15708//15708\nf 15700//15700 15708//15708 16111//16111\nf 15707//15707 14871//14871 15280//15280\nf 15708//15708 15279//15279 15715//15715\nf 15280//15280 15716//15716 15707//15707\nf 14874//14874 15709//15709 15711//15711\nf 14877//14877 14880//14880 15713//15713\nf 14880//14880 15712//15712 15713//15713\nf 14880//14880 14879//14879 15717//15717\nf 15722//15722 14888//14888 14874//14874\nf 15715//15715 15724//15724 16171//16171\nf 14888//14888 15722//15722 15727//15727\nf 15724//15724 15505//15505 15507//15507\nf 15726//15726 14892//14892 15728//15728\nf 15507//15507 15732//15732 15724//15724\nf 15429//15429 15727//15727 15730//15730\nf 15732//15732 15507//15507 14895//14895\nf 14887//14887 15725//15725 15729//15729\nf 14899//14899 15733//15733 15731//15731\nf 14904//14904 14894//14894 15730//15730\nf 14902//14902 15733//15733 15736//15736\nf 16113//16113 15736//15736 15733//15733\nf 15730//15730 15735//15735 14904//14904\nf 15721//15721 14891//14891 15738//15738\nf 15739//15739 15283//15283 15742//15742\nf 15283//15283 15286//15286 15742//15742\nf 16116//16116 16044//16044 15744//15744\nf 15284//15284 15737//15737 15741//15741\nf 15430//15430 15744//15744 15734//15734\nf 14909//14909 15284//15284 15741//15741\nf 14908//14908 16045//16045 15743//15743\nf 16178//16178 16177//16177 15742//15742\nf 15285//15285 15287//15287 16046//16046\nf 15746//15746 15286//15286 14915//14915\nf 14922//14922 15432//15432 15750//15750\nf 15746//15746 14915//14915 15756//15756\nf 16047//16047 15433//15433 15753//15753\nf 16118//16118 16117//16117 16047//16047\nf 14915//14915 15288//15288 15756//15756\nf 14923//14923 14919//14919 16048//16048\nf 15752//15752 15757//15757 14922//14922\nf 14920//14920 15754//15754 14929//14929\nf 15756//15756 15288//15288 15764//15764\nf 15288//15288 14926//14926 15764//15764\nf 15762//15762 14923//14923 15761//15761\nf 15757//15757 15763//15763 14924//14924\nf 15759//15759 15510//15510 14927//14927\nf 15766//15766 15758//15758 16049//16049\nf 15766//15766 14929//14929 15758//15758\nf 15767//15767 15760//15760 14925//14925\nf 15757//15757 15770//15770 15765//15765\nf 15511//15511 15765//15765 15770//15770\nf 15764//15764 14932//14932 15769//15769\nf 14931//14931 15768//15768 15772//15772\nf 15777//15777 15773//15773 15770//15770\nf 16050//16050 15769//15769 14951//14951\nf 15773//15773 15511//15511 15770//15770\nf 14941//14941 14949//14949 15775//15775\nf 15769//15769 14932//14932 14951//14951\nf 15771//15771 15778//15778 16051//16051\nf 14951//14951 15779//15779 16050//16050\nf 15775//15775 14949//14949 16052//16052\nf 16052//16052 14965//14965 15784//15784\nf 16054//16054 15782//15782 15777//15777\nf 15780//15780 16053//16053 15783//15783\nf 14951//14951 14963//14963 15779//15779\nf 15438//15438 14952//14952 15783//15783\nf 14959//14959 15782//15782 16054//16054\nf 15778//15778 15290//15290 15785//15785\nf 15790//15790 14976//14976 16055//16055\nf 15435//15435 14977//14977 15791//15791\nf 15793//15793 15512//15512 15789//15789\nf 14976//14976 15783//15783 16055//16055\nf 16055//16055 15790//15790 15783//15783\nf 15791//15791 14977//14977 15795//15795\nf 15792//15792 15360//15360 14967//14967\nf 15513//15513 15799//15799 15796//15796\nf 15439//15439 15798//15798 15800//15800\nf 15802//15802 15513//15513 15796//15796\nf 15802//15802 15796//15796 16057//16057\nf 15295//15295 15801//15801 15792//15792\nf 15439//15439 15800//15800 14979//14979\nf 16060//16060 16058//16058 16124//16124\nf 16060//16060 16124//16124 15804//15804\nf 16124//16124 15794//15794 15804//15804\nf 15513//15513 15802//15802 16061//16061\nf 16061//16061 15802//15802 16057//16057\nf 16062//16062 16060//16060 15804//15804\nf 16062//16062 15804//15804 15810//15810\nf 15808//15808 15807//15807 16059//16059\nf 15808//15808 16059//16059 16058//16058\nf 15807//15807 16061//16061 16059//16059\nf 16062//16062 16058//16058 16060//16060\nf 15809//15809 16058//16058 16062//16062\nf 15808//15808 16058//16058 15809//15809\nf 15815//15815 16062//16062 15810//15810\nf 15809//15809 16062//16062 15815//15815\nf 15812//15812 15809//15809 15815//15815\nf 15816//15816 15006//15006 15813//15813\nf 15817//15817 15011//15011 15816//15816\nf 16063//16063 15814//15814 15007//15007\nf 15029//15029 15450//15450 16064//16064\nf 16128//16128 15363//15363 15818//15818\nf 16065//16065 15818//15818 15819//15819\nf 15819//15819 15818//15818 15363//15363\nf 16064//16064 15820//15820 15033//15033\nf 16066//16066 15454//15454 15033//15033\nf 16067//16067 16065//16065 15819//15819\nf 15043//15043 16066//16066 15821//15821\nf 15824//15824 15823//15823 15825//15825\nf 15826//15826 15827//15827 15306//15306\nf 15829//15829 15827//15827 15826//15826\nf 15829//15829 15826//15826 16069//16069\nf 15455//15455 15827//15827 15829//15829\nf 15306//15306 15827//15827 15455//15455\nf 15522//15522 15830//15830 15828//15828\nf 16070//16070 16131//16131 15832//15832\nf 15523//15523 15457//15457 15832//15832\nf 15459//15459 15832//15832 16072//16072\nf 15523//15523 15832//15832 15459//15459\nf 15834//15834 16072//16072 16073//16073\nf 16071//16071 16073//16073 16072//16072\nf 15524//15524 16073//16073 15831//15831\nf 16072//16072 15834//15834 15459//15459\nf 15459//15459 15834//15834 16073//16073\nf 16073//16073 16071//16071 15831//15831\nf 15082//15082 15083//15083 15837//15837\nf 15840//15840 15084//15084 15312//15312\nf 15838//15838 15311//15311 15836//15836\nf 15083//15083 15085//15085 15839//15839\nf 15085//15085 15314//15314 15839//15839\nf 15092//15092 15088//15088 15846//15846\nf 15092//15092 15846//15846 15850//15850\nf 15848//15848 15849//15849 16076//16076\nf 16076//16076 15849//15849 15377//15377\nf 15098//15098 15850//15850 15852//15852\nf 15859//15859 15316//15316 16078//16078\nf 15856//15856 15102//15102 15852//15852\nf 15101//15101 15316//15316 15859//15859\nf 15106//15106 15107//15107 15861//15861\nf 15859//15859 15865//15865 15111//15111\nf 16079//16079 15853//15853 15863//15863\nf 15864//15864 15862//15862 15110//15110\nf 15110//15110 15866//15866 15864//15864\nf 15525//15525 15867//15867 15863//15863\nf 15114//15114 15116//15116 15869//15869\nf 15874//15874 15121//15121 16081//16081\nf 15874//15874 15120//15120 15121//15121\nf 15121//15121 15123//15123 15877//15877\nf 15464//15464 15871//15871 15875//15875\nf 15118//15118 15871//15871 15464//15464\nf 15875//15875 15317//15317 15464//15464\nf 15119//15119 15873//15873 15878//15878\nf 15876//15876 15880//15880 16082//16082\nf 15881//15881 16083//16083 15133//15133\nf 15881//15881 15133//15133 14684//14684\nf 15133//15133 16083//16083 16084//16084\nf 15129//15129 16084//16084 15889//15889\nf 15893//15893 15467//15467 15900//15900\nf 15470//15470 15134//15134 15898//15898\nf 15320//15320 15143//15143 15897//15897\nf 15381//15381 15907//15907 15904//15904\nf 15904//15904 15908//15908 15382//15382\nf 14689//14689 15906//15906 15909//15909\nf 15909//15909 15907//15907 14690//14690\nf 15911//15911 14692//14692 14691//14691\nf 15911//15911 14691//14691 16085//16085\nf 15911//15911 16086//16086 15151//15151\nf 15912//15912 15151//15151 16086//16086\nf 15153//15153 15151//15151 15912//15912\nf 15474//15474 16087//16087 15910//15910\nf 15153//15153 15912//15912 15913//15913\nf 15154//15154 15153//15153 15914//15914\nf 14695//14695 15914//15914 15915//15915\nf 15917//15917 15474//15474 15388//15388\nf 15475//15475 15918//15918 15919//15919\nf 15919//15919 16089//16089 15159//15159\nf 15389//15389 15475//15475 15919//15919\nf 15927//15927 15478//15478 16090//16090\nf 15927//15927 15928//15928 15325//15325\nf 15929//15929 15390//15390 15325//15325\nf 15929//15929 15325//15325 15928//15928\nf 15933//15933 15165//15165 15930//15930\nf 15933//15933 16091//16091 15536//15536\nf 15935//15935 15169//15169 15536//15536\nf 15935//15935 15536//15536 16091//16091\nf 15938//15938 15171//15171 15935//15935\nf 15939//15939 15940//15940 16092//16092\nf 15174//15174 15936//15936 15173//15173\nf 15173//15173 15936//15936 15941//15941\nf 15175//15175 15173//15173 15942//15942\nf 15180//15180 15177//15177 15945//15945\nf 15948//15948 16092//16092 15944//15944\nf 16092//16092 15940//15940 15944//15944\nf 15947//15947 15946//15946 15179//15179\nf 15947//15947 15179//15179 15178//15178\nf 15947//15947 15949//15949 15946//15946\nf 15949//15949 15947//15947 15178//15178\nf 16093//16093 15183//15183 15182//15182\nf 16093//16093 15950//15950 15183//15183\nf 15178//15178 15952//15952 15949//15949\nf 15958//15958 16094//16094 15961//15961\nf 15194//15194 15959//15959 15964//15964\nf 15966//15966 16095//16095 15965//15965\nf 15969//15969 15394//15394 15194//15194\nf 16097//16097 15394//15394 15969//15969\nf 16097//16097 15972//15972 15394//15394\nf 16099//16099 15975//15975 15974//15974\nf 16099//16099 15974//15974 16098//16098\nf 16099//16099 15975//15975 15216//15216\nf 15975//15975 15977//15977 15217//15217\nf 15973//15973 15209//15209 15978//15978\nf 15488//15488 15976//15976 15986//15986\nf 15974//15974 15490//15490 15982//15982\nf 15217//15217 15977//15977 15983//15983\nf 15228//15228 15986//15986 15987//15987\nf 15990//15990 15489//15489 15223//15223\nf 15985//15985 15979//15979 16100//16100\nf 15993//15993 15990//15990 15231//15231\nf 16101//16101 15997//15997 15235//15235\nf 15218//15218 15227//15227 15999//15999\nf 15235//15235 15240//15240 16005//16005\nf 15242//15242 15998//15998 16007//16007\nf 16005//16005 15240//15240 16006//16006\nf 16004//16004 15241//15241 16008//16008\nf 15246//15246 16007//16007 16005//16005\nf 15247//15247 15537//15537 16102//16102\nf 16008//16008 15245//15245 15247//15247\nf 16012//16012 15248//15248 16005//16005\nf 15248//15248 15246//15246 16005//16005\nf 14712//14712 15542//15542 15541//15541\nf 16013//16013 15333//15333 16014//16014\nf 16013//16013 16014//16014 16265//16265\nf 16611//16611 16014//16014 16103//16103\nf 14708//14708 15545//15545 15544//15544\nf 16103//16103 16014//16014 15553//15553\nf 15555//15555 14731//14731 14725//14725\nf 14711//14711 15540//15540 15562//15562\nf 14745//14745 15573//15573 16017//16017\nf 16104//16104 15578//15578 15254//15254\nf 16019//16019 14734//14734 15570//15570\nf 15335//15335 16020//16020 15584//15584\nf 15335//15335 16105//16105 16020//16020\nf 16105//16105 15257//15257 15575//15575\nf 16146//16146 15336//15336 15586//15586\nf 15600//15600 14762//14762 15591//15591\nf 15604//15604 16151//16151 15599//15599\nf 15601//15601 15603//15603 15602//15602\nf 15408//15408 14785//14785 16025//16025\nf 16029//16029 15626//15626 15635//15635\nf 15626//15626 16029//16029 15635//15635\nf 16027//16027 14791//14791 15630//15630\nf 16028//16028 14798//14798 15638//15638\nf 15637//15637 15628//15628 15629//15629\nf 15634//15634 15500//15500 15636//15636\nf 15634//15634 16160//16160 16161//16161\nf 16106//16106 15636//15636 15641//15641\nf 15636//15636 14805//14805 15641//15641\nf 15646//15646 14813//14813 15643//15643\nf 15647//15647 15648//15648 15657//15657\nf 15657//15657 16107//16107 15647//15647\nf 14823//14823 14819//14819 15646//15646\nf 15660//15660 14831//14831 15666//15666\nf 15659//15659 15273//15273 16035//16035\nf 15273//15273 14837//14837 16035//16035\nf 15666//15666 15669//15669 16167//16167\nf 14835//14835 14832//14832 16108//16108\nf 15665//15665 15658//15658 15673//15673\nf 15671//15671 14845//14845 15277//15277\nf 14837//14837 15276//15276 16038//16038\nf 15276//15276 15684//15684 16038//16038\nf 14847//14847 15675//15675 15686//15686\nf 15673//15673 16036//16036 16040//16040\nf 15682//15682 15673//15673 16040//16040\nf 14844//14844 15679//15679 15685//15685\nf 15667//15667 15678//15678 16168//16168\nf 14848//14848 14844//14844 15685//15685\nf 15683//15683 14848//14848 15685//15685\nf 15693//15693 16109//16109 16110//16110\nf 15424//15424 15355//15355 15694//15694\nf 15698//15698 15693//15693 16110//16110\nf 15695//15695 15709//15709 15701//15701\nf 15696//15696 15700//15700 16111//16111\nf 16111//16111 15708//15708 16171//16171\nf 14880//14880 15717//15717 15712//15712\nf 15723//15723 14884//14884 15720//15720\nf 15719//15719 14886//14886 15726//15726\nf 15728//15728 16174//16174 16414//16414\nf 14891//14891 14896//14896 15738//15738\nf 15721//15721 15738//15738 16176//16176\nf 15733//15733 14899//14899 15731//15731\nf 16418//16418 15721//15721 16176//16176\nf 16114//16114 14898//14898 15729//15729\nf 16114//16114 14901//14901 14898//14898\nf 16044//16044 15732//15732 15734//15734\nf 16114//16114 15737//15737 14901//14901\nf 16115//16115 14908//14908 15736//15736\nf 16115//16115 15743//15743 14908//14908\nf 15743//15743 16045//16045 14908//14908\nf 15358//15358 16046//16046 15738//15738\nf 16046//16046 15358//15358 15285//15285\nf 16046//16046 16429//16429 15738//15738\nf 15750//15750 15743//15743 16179//16179\nf 15744//15744 16047//16047 16117//16117\nf 14916//14916 15751//15751 16046//16046\nf 16116//16116 15744//15744 16117//16117\nf 16180//16180 16046//16046 15751//15751\nf 15753//15753 16118//16118 16047//16047\nf 15752//15752 15750//15750 16181//16181\nf 16183//16183 16118//16118 15753//15753\nf 16183//16183 15753//15753 15759//15759\nf 16049//16049 15754//15754 15758//15758\nf 15755//15755 14925//14925 15760//15760\nf 16119//16119 15770//15770 15757//15757\nf 15771//15771 16120//16120 15759//15759\nf 15767//15767 14941//14941 15775//15775\nf 15770//15770 16121//16121 15777//15777\nf 16120//16120 15771//15771 16051//16051\nf 16122//16122 15789//15789 15777//15777\nf 16051//16051 15778//15778 15785//15785\nf 15789//15789 16054//16054 15777//15777\nf 16052//16052 15784//15784 15786//15786\nf 15789//15789 16122//16122 16056//16056\nf 16123//16123 16051//16051 15785//15785\nf 16056//16056 15796//15796 15789//15789\nf 16124//16124 16123//16123 15785//15785\nf 15791//15791 15795//15795 15790//15790\nf 15796//15796 16056//16056 16057//16057\nf 15794//15794 16124//16124 15785//15785\nf 16125//16125 16126//16126 16058//16058\nf 15801//15801 16127//16127 15792//15792\nf 16059//16059 16125//16125 16058//16058\nf 16058//16058 16126//16126 16124//16124\nf 16057//16057 16059//16059 16061//16061\nf 15295//15295 15806//15806 15801//15801\nf 16063//16063 15363//15363 16128//16128\nf 15814//15814 16063//16063 16128//16128\nf 15818//15818 16065//16065 16128//16128\nf 16066//16066 15821//15821 15822//15822\nf 16065//16065 16067//16067 16129//16129\nf 16129//16129 16067//16067 16130//16130\nf 16130//16130 16067//16067 16068//16068\nf 15830//15830 16130//16130 15828//15828\nf 16130//16130 16068//16068 15828//15828\nf 16072//16072 16133//16133 16132//16132\nf 16132//16132 15830//15830 15831//15831\nf 16132//16132 15831//15831 16071//16071\nf 16131//16131 16133//16133 15832//15832\nf 16133//16133 16072//16072 15832//15832\nf 16132//16132 16071//16071 16072//16072\nf 15082//15082 15837//15837 15836//15836\nf 15312//15312 16074//16074 15840//15840\nf 16252//16252 15311//15311 15836//15836\nf 15837//15837 15083//15083 15839//15839\nf 15088//15088 15842//15842 15846//15846\nf 15847//15847 15315//15315 15095//15095\nf 16134//16134 16078//16078 14677//14677\nf 16134//16134 14677//14677 15845//15845\nf 16197//16197 15847//15847 16075//16075\nf 15847//15847 15095//15095 16075//16075\nf 16078//16078 15316//15316 14677//14677\nf 16076//16076 15377//15377 15855//15855\nf 15853//15853 16079//16079 16199//16199\nf 15863//15863 15867//15867 15876//15876\nf 16081//16081 15121//15121 15877//15877\nf 16083//16083 15881//15881 16084//16084\nf 15139//15139 15894//15894 15895//15895\nf 15140//15140 15139//15139 15895//15895\nf 15320//15320 15897//15897 15899//15899\nf 15903//15903 15146//15146 15899//15899\nf 16206//16206 15910//15910 16087//16087\nf 15914//15914 15153//15153 15913//15913\nf 14695//14695 15154//15154 15914//15914\nf 15922//15922 15322//15322 15923//15923\nf 15323//15323 15922//15922 16088//16088\nf 15477//15477 16089//16089 15923//15923\nf 15477//15477 15159//15159 16089//16089\nf 15160//15160 16088//16088 15926//15926\nf 15160//15160 15323//15323 16088//16088\nf 15162//15162 15926//15926 16090//16090\nf 16137//16137 16136//16136 15920//15920\nf 15921//15921 15931//15931 15932//15932\nf 15932//15932 15924//15924 15921//15921\nf 15941//15941 15936//15936 15937//15937\nf 15173//15173 15941//15941 15942//15942\nf 16092//16092 16139//16139 16138//16138\nf 16093//16093 15182//15182 15945//15945\nf 16139//16139 16092//16092 15948//15948\nf 15946//15946 15949//15949 15954//15954\nf 16211//16211 16139//16139 15951//15951\nf 15948//15948 15951//15951 16139//16139\nf 15960//15960 15963//15963 16212//16212\nf 16140//16140 16094//16094 15958//15958\nf 16142//16142 15971//15971 16141//16141\nf 16096//16096 16141//16141 15971//15971\nf 15971//15971 15962//15962 15968//15968\nf 16142//16142 15962//15962 15971//15971\nf 15975//15975 16143//16143 15977//15977\nf 16099//16099 16143//16143 15975//15975\nf 15973//15973 16096//16096 15971//15971\nf 15988//15988 15229//15229 15987//15987\nf 15989//15989 15229//15229 15988//15988\nf 16008//16008 15247//15247 16102//16102\nf 16220//16220 16008//16008 16102//16102\nf 16220//16220 16102//16102 16610//16610\nf 16261//16261 15539//15539 15546//15546\nf 15333//15333 16103//16103 16014//16014\nf 15333//15333 16014//16014 16103//16103\nf 16014//16014 14714//14714 15553//15553\nf 15548//15548 16015//16015 15543//15543\nf 16271//16271 15553//15553 15554//15554\nf 16144//16144 15550//15550 15538//15538\nf 14720//14720 14721//14721 15557//15557\nf 15557//15557 14721//14721 15558//15558\nf 16614//16614 15554//15554 15565//15565\nf 14724//14724 15557//15557 15564//15564\nf 14724//14724 14720//14720 15557//15557\nf 15565//15565 15398//15398 15567//15567\nf 16616//16616 16016//16016 16145//16145\nf 16616//16616 16145//16145 16618//16618\nf 15254//15254 15578//15578 15556//15556\nf 15570//15570 14734//14734 15561//15561\nf 15399//15399 14740//14740 16016//16016\nf 14740//14740 16145//16145 16016//16016\nf 16145//16145 14740//14740 16017//16017\nf 16017//16017 15574//15574 16222//16222\nf 15568//15568 16105//16105 15575//15575\nf 16298//16298 15579//15579 15582//15582\nf 15495//15495 15587//15587 15581//15581\nf 15588//15588 15593//15593 15582//15582\nf 16148//16148 15586//15586 15495//15495\nf 15593//15593 15597//15597 15598//15598\nf 16152//16152 16323//16323 15598//15598\nf 15606//15606 16152//16152 15598//15598\nf 16154//16154 15611//15611 15603//15603\nf 15607//15607 15608//15608 15605//15605\nf 15608//15608 16155//16155 15616//15616\nf 15613//15613 16230//16230 15612//15612\nf 16156//16156 15618//15618 16024//16024\nf 16343//16343 15617//15617 16340//16340\nf 16023//16023 15619//15619 16158//16158\nf 15621//15621 16157//16157 15624//15624\nf 15622//15622 16158//16158 15619//15619\nf 14797//14797 15408//15408 16025//16025\nf 16029//16029 15623//15623 15626//15626\nf 16159//16159 15633//15633 15627//15627\nf 16030//16030 15632//15632 16162//16162\nf 16160//16160 15634//15634 15636//15636\nf 15632//15632 15634//15634 16161//16161\nf 15629//15629 16163//16163 15637//15637\nf 15643//15643 14813//14813 15631//15631\nf 15636//15636 16106//16106 16160//16160\nf 16162//16162 15632//15632 16161//16161\nf 16034//16034 15637//15637 16163//16163\nf 16164//16164 15641//15641 15644//15644\nf 15649//15649 16034//16034 16163//16163\nf 15644//15644 15647//15647 16164//16164\nf 14832//14832 15651//15651 16108//16108\nf 15664//15664 14823//14823 15646//15646\nf 15658//15658 15649//15649 16232//16232\nf 15650//15650 15659//15659 16035//16035\nf 14835//14835 16108//16108 15670//15670\nf 15671//15671 16167//16167 15669//15669\nf 16381//16381 15672//15672 16375//16375\nf 15673//15673 15658//15658 16036//16036\nf 15680//15680 16037//16037 15677//15677\nf 15418//15418 15682//15682 16040//16040\nf 15685//15685 15679//15679 16388//16388\nf 15678//15678 15688//15688 16168//16168\nf 16234//16234 15684//15684 15690//15690\nf 16041//16041 16040//16040 16233//16233\nf 16109//16109 16041//16041 16233//16233\nf 16169//16169 15698//15698 16110//16110\nf 16169//16169 15702//15702 15698//15698\nf 15699//15699 15707//15707 16170//16170\nf 15715//15715 16171//16171 15708//15708\nf 16043//16043 15723//15723 16412//16412\nf 16171//16171 15724//15724 16173//16173\nf 15732//15732 16175//16175 15724//15724\nf 16175//16175 16173//16173 15724//15724\nf 16421//16421 15739//15739 16427//16427\nf 16044//16044 15734//15734 15744//15744\nf 15750//15750 15748//15748 15743//15743\nf 16178//16178 15742//15742 15746//15746\nf 15746//15746 15756//15756 16178//16178\nf 15761//15761 14923//14923 16048//16048\nf 16183//16183 15759//15759 16120//16120\nf 16049//16049 15758//15758 15754//15754\nf 16184//16184 15770//15770 16119//16119\nf 15760//15760 15767//15767 16185//16185\nf 16121//16121 15770//15770 16184//16184\nf 16242//16242 16183//16183 16120//16120\nf 15777//15777 16121//16121 16122//16122\nf 15767//15767 15775//15775 16052//16052\nf 16242//16242 16120//16120 16051//16051\nf 16123//16123 16188//16188 16051//16051\nf 15779//15779 15787//15787 16050//16050\nf 16052//16052 15786//15786 16186//16186\nf 15787//15787 16187//16187 16050//16050\nf 16122//16122 16244//16244 16056//16056\nf 16243//16243 16051//16051 16188//16188\nf 15790//15790 16055//16055 15783//15783\nf 15790//15790 16055//16055 15791//15791\nf 16466//16466 15786//15786 15791//15791\nf 16056//16056 16189//16189 16057//16057\nf 16057//16057 16189//16189 16125//16125\nf 16126//16126 16188//16188 16123//16123\nf 16124//16124 16126//16126 16123//16123\nf 16126//16126 16125//16125 16188//16188\nf 16125//16125 16246//16246 16188//16188\nf 16125//16125 16059//16059 16057//16057\nf 16190//16190 15801//15801 15806//15806\nf 16190//16190 16127//16127 15801//15801\nf 15806//15806 14991//14991 15814//15814\nf 15806//15806 15814//15814 16247//16247\nf 15816//15816 15813//15813 15811//15811\nf 16066//16066 15820//15820 16191//16191\nf 16192//16192 15821//15821 16066//16066\nf 15822//15822 15821//15821 16192//16192\nf 15823//15823 16479//16479 16480//16480\nf 16193//16193 16250//16250 15826//15826\nf 15826//15826 15825//15825 16193//16193\nf 15826//15826 15371//15371 15825//15825\nf 16194//16194 16130//16130 15830//15830\nf 16133//16133 16251//16251 16132//16132\nf 16132//16132 16194//16194 15830//15830\nf 16483//16483 16196//16196 15839//15839\nf 16497//16497 15856//15856 15852//15852\nf 16497//16497 15858//15858 15856//15856\nf 16198//16198 15865//15865 15859//15859\nf 16498//16498 15860//15860 15857//15857\nf 15875//15875 15871//15871 16200//16200\nf 16082//16082 16079//16079 15863//15863\nf 16082//16082 15863//15863 15876//15876\nf 15881//15881 15883//15883 16202//16202\nf 15893//15893 15880//15880 15886//15886\nf 16084//16084 15881//15881 16202//16202\nf 15896//15896 16203//16203 15897//15897\nf 15893//15893 15900//15900 16204//16204\nf 15910//15910 16204//16204 15900//15900\nf 15915//15915 15918//15918 15916//15916\nf 15915//15915 16207//16207 15918//15918\nf 15918//15918 16207//16207 16255//16255\nf 16135//16135 15918//15918 16255//16255\nf 16208//16208 15918//15918 16135//16135\nf 16208//16208 15919//15919 15918//15918\nf 15920//15920 16136//16136 15917//15917\nf 16550//16550 15922//15922 15923//15923\nf 16137//16137 16209//16209 16136//16136\nf 16137//16137 15920//15920 15932//15932\nf 15932//15932 15920//15920 15924//15924\nf 15932//15932 15934//15934 15939//15939\nf 15938//15938 15935//15935 16754//16754\nf 15939//15939 16092//16092 16138//16138\nf 15950//15950 16093//16093 16210//16210\nf 16212//16212 15956//15956 15960//15960\nf 16211//16211 15951//15951 16142//16142\nf 15962//15962 16142//16142 15951//15951\nf 16143//16143 16141//16141 16096//16096\nf 16213//16213 16141//16141 16143//16143\nf 15969//15969 15964//15964 15959//15959\nf 15961//15961 16094//16094 15967//15967\nf 15959//15959 16214//16214 15969//15969\nf 16213//16213 16143//16143 16099//16099\nf 16586//16586 15966//15966 16589//16589\nf 15972//15972 16097//16097 15969//15969\nf 15972//15972 15969//15969 16215//16215\nf 15977//15977 16096//16096 15983//15983\nf 16143//16143 16096//16096 15977//15977\nf 15973//15973 15983//15983 16096//16096\nf 15982//15982 16098//16098 15974//15974\nf 15991//15991 15981//15981 15994//15994\nf 15992//15992 15995//15995 16217//16217\nf 15992//15992 16217//16217 15982//15982\nf 15973//15973 15996//15996 15983//15983\nf 15997//15997 15973//15973 15978//15978\nf 15988//15988 15987//15987 16218//16218\nf 15988//15988 16218//16218 15989//15989\nf 16216//16216 15995//15995 15994//15994\nf 16216//16216 16217//16217 15995//15995\nf 15973//15973 15998//15998 15996//15996\nf 16004//16004 16219//16219 15985//15985\nf 15998//15998 15997//15997 16007//16007\nf 16001//16001 16003//16003 16002//16002\nf 16012//16012 16005//16005 16009//16009\nf 16009//16009 16005//16005 16006//16006\nf 16277//16277 16221//16221 15540//15540\nf 16271//16271 15554//15554 15553//15553\nf 16221//16221 15562//15562 15540//15540\nf 15566//15566 16281//16281 15568//15568\nf 16615//16615 16281//16281 15566//15566\nf 16283//16283 15561//15561 15562//15562\nf 16618//16618 16145//16145 16017//16017\nf 16017//16017 16222//16222 16619//16619\nf 16282//16282 15549//15549 15560//15560\nf 15573//15573 15574//15574 16017//16017\nf 15568//15568 16223//16223 16105//16105\nf 15560//15560 16018//16018 16294//16294\nf 16104//16104 15494//15494 16224//16224\nf 15585//15585 15583//15583 16299//16299\nf 16226//16226 16225//16225 16147//16147\nf 15580//15580 15577//15577 15591//15591\nf 16224//16224 15494//15494 16146//16146\nf 16149//16149 15576//15576 15590//15590\nf 15600//15600 15591//15591 16227//16227\nf 16317//16317 16021//16021 15599//15599\nf 16319//16319 15598//15598 16320//16320\nf 15603//15603 15601//15601 15602//15602\nf 15604//15604 15610//15610 16151//16151\nf 16230//16230 15610//15610 15612//15612\nf 16156//16156 15614//15614 15618//15618\nf 16339//16339 15614//15614 16156//16156\nf 15620//15620 16343//16343 16345//16345\nf 16342//16342 16024//16024 15623//15623\nf 16342//16342 15623//15623 16347//16347\nf 16157//16157 16344//16344 15624//15624\nf 15627//15627 14797//14797 16159//16159\nf 14797//14797 16025//16025 16159//16159\nf 16026//16026 16027//16027 15630//15630\nf 15629//15629 16030//16030 16162//16162\nf 16163//16163 15629//15629 16162//16162\nf 15640//15640 15645//15645 16165//16165\nf 16163//16163 16231//16231 15649//15649\nf 16358//16358 16166//16166 15646//15646\nf 16164//16164 15647//15647 16107//16107\nf 15649//15649 16231//16231 16232//16232\nf 16165//16165 15645//15645 15663//15663\nf 15672//15672 15668//15668 16375//16375\nf 15686//15686 15670//15670 16373//16373\nf 16040//16040 16036//16036 16233//16233\nf 16386//16386 16038//16038 15684//15684\nf 16386//16386 16377//16377 16038//16038\nf 15684//15684 15689//15689 15690//15690\nf 15687//15687 16235//16235 15694//15694\nf 16399//16399 15695//15695 15694//15694\nf 16042//16042 16169//16169 16236//16236\nf 16398//16398 15691//15691 15699//15699\nf 16042//16042 15702//15702 16169//16169\nf 16170//16170 15707//15707 16670//16670\nf 15711//15711 15709//15709 16402//16402\nf 15720//15720 15718//15718 16409//16409\nf 15722//15722 15711//15711 16408//16408\nf 15723//15723 15720//15720 16172//16172\nf 15722//15722 16413//16413 15727//15727\nf 16414//16414 15719//15719 15726//15726\nf 16171//16171 16173//16173 16417//16417\nf 15726//15726 16112//16112 16174//16174\nf 16174//16174 16112//16112 15728//15728\nf 15725//15725 16416//16416 15729//15729\nf 15730//15730 15727//15727 16420//16420\nf 15732//15732 16237//16237 16175//16175\nf 16237//16237 15732//15732 16044//16044\nf 16421//16421 15728//15728 15739//15739\nf 15736//15736 16113//16113 16679//16679\nf 16237//16237 16044//16044 16430//16430\nf 16427//16427 16177//16177 16687//16687\nf 16430//16430 16044//16044 16116//16116\nf 15745//15745 15740//15740 16428//16428\nf 16238//16238 16430//16430 16117//16117\nf 15741//15741 16431//16431 15747//15747\nf 16430//16430 16116//16116 16117//16117\nf 15756//15756 16182//16182 16178//16178\nf 16048//16048 14919//14919 15749//15749\nf 16239//16239 16119//16119 15757//15757\nf 16239//16239 15757//15757 15752//15752\nf 16184//16184 16239//16239 16443//16443\nf 16184//16184 16119//16119 16239//16239\nf 16241//16241 16184//16184 16240//16240\nf 16121//16121 16184//16184 16241//16241\nf 16121//16121 16241//16241 16122//16122\nf 15767//15767 16052//16052 16459//16459\nf 16242//16242 16051//16051 16243//16243\nf 16056//16056 16244//16244 16189//16189\nf 16244//16244 16245//16245 16189//16189\nf 16189//16189 16245//16245 16462//16462\nf 16125//16125 16189//16189 16246//16246\nf 16190//16190 15806//15806 16247//16247\nf 16475//16475 16247//16247 16128//16128\nf 16247//16247 15814//15814 16128//16128\nf 16191//16191 15820//15820 16064//16064\nf 16128//16128 16065//16065 16248//16248\nf 16248//16248 16065//16065 16129//16129\nf 16248//16248 16129//16129 16249//16249\nf 15825//15825 15823//15823 16193//16193\nf 16069//16069 15826//15826 16250//16250\nf 16194//16194 16249//16249 16129//16129\nf 16194//16194 16129//16129 16130//16130\nf 15829//15829 16195//16195 16070//16070\nf 15829//15829 16069//16069 16195//16195\nf 16251//16251 16194//16194 16132//16132\nf 16131//16131 16070//16070 16195//16195\nf 15837//15837 15839//15839 16196//16196\nf 15842//15842 15840//15840 16484//16484\nf 15850//15850 15846//15846 15852//15852\nf 16485//16485 15852//15852 15846//15846\nf 15851//15851 15848//15848 16076//16076\nf 16197//16197 16075//16075 16077//16077\nf 15855//15855 16499//16499 16076//16076\nf 16253//16253 16501//16501 15861//15861\nf 15864//15864 16253//16253 15861//15861\nf 15864//15864 15861//15861 15862//15862\nf 15868//15868 15865//15865 16504//16504\nf 16510//16510 15869//15869 15870//15870\nf 16201//16201 16079//16079 16082//16082\nf 15880//15880 16201//16201 16082//16082\nf 16201//16201 15880//15880 16254//16254\nf 15883//15883 15885//15885 16202//16202\nf 16521//16521 15892//15892 15891//15891\nf 16205//16205 15885//15885 15529//15529\nf 16528//16528 15894//15894 16734//16734\nf 15896//15896 15895//15895 16528//16528\nf 16203//16203 15896//15896 16529//16529\nf 15910//15910 16206//16206 16204//16204\nf 16090//16090 15926//15926 16555//16555\nf 16558//16558 15929//15929 15928//15928\nf 15930//15930 15929//15929 16561//16561\nf 15933//15933 15930//15930 16560//16560\nf 16091//16091 15933//15933 15935//15935\nf 15939//15939 16137//16137 15932//15932\nf 16257//16257 16256//16256 16138//16138\nf 16257//16257 16138//16138 16139//16139\nf 16257//16257 16211//16211 16575//16575\nf 16573//16573 15952//15952 15953//15953\nf 16580//16580 16212//16212 15963//15963\nf 16141//16141 16575//16575 16142//16142\nf 16259//16259 15967//15967 16094//16094\nf 16258//16258 16213//16213 16099//16099\nf 16591//16591 16098//16098 15982//15982\nf 16592//16592 15970//15970 15979//15979\nf 16590//16590 16591//16591 15982//15982\nf 16100//16100 15979//15979 15985//15985\nf 15994//15994 15981//15981 16216//16216\nf 15972//15972 16215//16215 15984//15984\nf 15984//15984 16215//16215 15999//15999\nf 15987//15987 16597//16597 16766//16766\nf 15998//15998 15973//15973 15997//15997\nf 15993//15993 15980//15980 15990//15990\nf 16595//16595 16100//16100 15985//15985\nf 16603//16603 16000//16000 16602//16602\nf 15999//15999 16602//16602 16000//16000\nf 16604//16604 16003//16003 16001//16001\nf 16011//16011 16010//16010 16607//16607\nf 16610//16610 16011//16011 16607//16607\nf 16261//16261 16260//16260 15538//15538\nf 16261//16261 15538//15538 15539//15539\nf 15555//15555 15548//15548 16267//16267\nf 15548//15548 15543//15543 16268//16268\nf 16260//16260 16144//16144 15538//15538\nf 15552//15552 16270//16270 15542//15542\nf 15554//15554 16266//16266 15553//15553\nf 16267//16267 16272//16272 15559//15559\nf 16267//16267 15559//15559 15555//15555\nf 16275//16275 15551//15551 15569//15569\nf 16270//16270 15552//15552 16276//16276\nf 16280//16280 15547//15547 16013//16013\nf 15549//15549 16273//16273 15545//15545\nf 15562//15562 16221//16221 16277//16277\nf 16284//16284 16276//16276 15552//15552\nf 16280//16280 16279//16279 15558//15558\nf 16280//16280 15558//15558 15547//15547\nf 16614//16614 16271//16271 15554//15554\nf 16274//16274 15550//15550 16144//16144\nf 15552//15552 15563//15563 16284//16284\nf 16223//16223 16286//16286 16020//16020\nf 16020//16020 16286//16286 16289//16289\nf 15492//15492 16275//16275 15569//15569\nf 16290//16290 16287//16287 15578//15578\nf 15570//15570 15561//15561 16617//16617\nf 15583//15583 15572//15572 16292//16292\nf 16222//16222 15574//15574 15584//15584\nf 16620//16620 15584//15584 16293//16293\nf 16289//16289 15584//15584 16020//16020\nf 16020//16020 16105//16105 16223//16223\nf 15577//15577 15550//15550 16300//16300\nf 16295//16295 15492//15492 15493//15493\nf 16290//16290 15578//15578 16104//16104\nf 16624//16624 16104//16104 16224//16224\nf 16226//16226 16302//16302 16225//16225\nf 16226//16226 16303//16303 16302//16302\nf 16147//16147 16303//16303 16226//16226\nf 16305//16305 16225//16225 16302//16302\nf 15581//15581 16307//16307 15495//15495\nf 16301//16301 15582//15582 16308//16308\nf 15593//15593 16308//16308 15582//15582\nf 16627//16627 16225//16225 16305//16305\nf 16626//16626 15576//15576 16149//16149\nf 16225//16225 16627//16627 16147//16147\nf 15594//15594 15589//15589 16304//16304\nf 15495//15495 16306//16306 16148//16148\nf 16149//16149 15590//15590 16314//16314\nf 15591//15591 16310//16310 16318//16318\nf 16313//16313 16316//16316 15594//15594\nf 15590//15590 16317//16317 16314//16314\nf 16307//16307 16315//16315 15495//15495\nf 16308//16308 15593//15593 16319//16319\nf 15601//15601 15594//15594 16316//16316\nf 16317//16317 15590//15590 16021//16021\nf 16319//16319 15593//15593 15598//15598\nf 16317//16317 15599//15599 16321//16321\nf 16227//16227 16318//16318 15600//15600\nf 16322//16322 15602//15602 15601//15601\nf 16318//16318 15605//15605 15600//15600\nf 16318//16318 16631//16631 15605//15605\nf 15606//15606 16323//16323 16152//16152\nf 16323//16323 15606//15606 16633//16633\nf 15607//15607 16328//16328 15608//15608\nf 15607//15607 15605//15605 16327//16327\nf 16633//16633 15606//15606 15609//15609\nf 15603//15603 16325//16325 16154//16154\nf 16153//16153 16229//16229 16329//16329\nf 16334//16334 15611//15611 16331//16331\nf 16155//16155 15608//15608 16333//16333\nf 15608//15608 16328//16328 16333//16333\nf 16334//16334 15615//15615 15611//15611\nf 16230//16230 16335//16335 15610//15610\nf 16155//16155 16333//16333 15616//15616\nf 16337//16337 15609//15609 15614//15614\nf 16335//16335 16230//16230 15613//15613\nf 15615//15615 16340//16340 15617//15617\nf 16334//16334 16340//16340 15615//15615\nf 16339//16339 16156//16156 16024//16024\nf 15620//15620 15617//15617 16343//16343\nf 15621//15621 16344//16344 16157//16157\nf 16344//16344 16346//16346 15624//15624\nf 16025//16025 15620//15620 16345//16345\nf 16158//16158 15622//15622 16348//16348\nf 16026//16026 16635//16635 15622//15622\nf 15624//15624 16350//16350 15625//15625\nf 16346//16346 16350//16350 15624//15624\nf 15622//15622 16026//16026 16349//16349\nf 15631//15631 15625//15625 16350//16350\nf 16637//16637 15631//15631 16350//16350\nf 16352//16352 16353//16353 15633//15633\nf 16639//16639 15630//15630 16354//16354\nf 16353//16353 15639//15639 15633//15633\nf 15630//15630 15640//15640 16354//16354\nf 16353//16353 16640//16640 15639//15639\nf 16355//16355 16160//16160 16106//16106\nf 16161//16161 16645//16645 16646//16646\nf 16231//16231 16163//16163 16357//16357\nf 16162//16162 16357//16357 16163//16163\nf 16359//16359 16361//16361 16368//16368\nf 16356//16356 16358//16358 15646//15646\nf 16166//16166 16362//16362 15664//15664\nf 16164//16164 16107//16107 16365//16365\nf 16165//16165 15663//15663 16361//16361\nf 16364//16364 16367//16367 15662//15662\nf 16232//16232 16231//16231 16366//16366\nf 16367//16367 15657//15657 15662//15662\nf 15657//15657 16369//16369 16107//16107\nf 16654//16654 16035//16035 16038//16038\nf 15663//15663 15667//15667 16374//16374\nf 15664//15664 16375//16375 15668//15668\nf 16371//16371 15674//15674 16370//16370\nf 15674//15674 16371//16371 15671//15671\nf 16657//16657 16107//16107 16376//16376\nf 16657//16657 16365//16365 16107//16107\nf 16036//16036 15658//15658 16232//16232\nf 16654//16654 16038//16038 16035//16035\nf 16371//16371 16039//16039 16379//16379\nf 16371//16371 15674//15674 16039//16039\nf 16038//16038 16377//16377 16035//16035\nf 16379//16379 16039//16039 16378//16378\nf 16036//16036 16232//16232 16380//16380\nf 16039//16039 16037//16037 16382//16382\nf 16382//16382 16037//16037 15680//15680\nf 16383//16383 15667//15667 16168//16168\nf 15683//15683 16389//16389 16385//16385\nf 16386//16386 15684//15684 16234//16234\nf 15683//15683 15685//15685 16389//16389\nf 16391//16391 16386//16386 16234//16234\nf 16168//16168 15688//15688 16390//16390\nf 15690//15690 16391//16391 16234//16234\nf 15687//15687 16392//16392 16235//16235\nf 16110//16110 16109//16109 16169//16169\nf 15692//15692 16393//16393 15688//15688\nf 16395//16395 16394//16394 16236//16236\nf 16396//16396 16236//16236 16394//16394\nf 16393//16393 15692//15692 16397//16397\nf 16236//16236 16396//16396 16394//16394\nf 16401//16401 15692//15692 15696//15696\nf 16042//16042 16236//16236 16400//16400\nf 16170//16170 16398//16398 15699//15699\nf 15709//15709 16399//16399 16402//16402\nf 16400//16400 15705//15705 16042//16042\nf 16671//16671 16111//16111 16403//16403\nf 15707//15707 15716//15716 16674//16674\nf 16404//16404 16407//16407 15710//15710\nf 16408//16408 15711//15711 16402//16402\nf 16410//16410 15720//15720 16409//16409\nf 15720//15720 16412//16412 16172//16172\nf 16413//16413 15722//15722 16408//16408\nf 16172//16172 16412//16412 15723//15723\nf 16043//16043 16412//16412 16675//16675\nf 15710//15710 16416//16416 15725//15725\nf 16407//16407 16416//16416 15710//15710\nf 15726//15726 16174//16174 16414//16414\nf 15731//15731 16043//16043 16419//16419\nf 16174//16174 15728//15728 16414//16414\nf 16677//16677 15729//15729 16416//16416\nf 16114//16114 15729//15729 16422//16422\nf 16677//16677 16422//16422 15729//15729\nf 15733//15733 16423//16423 16113//16113\nf 15735//15735 15730//15730 16420//16420\nf 16175//16175 16237//16237 16680//16680\nf 16422//16422 15737//15737 16114//16114\nf 16422//16422 16424//16424 15737//15737\nf 16420//16420 16425//16425 15735//15735\nf 16685//16685 16237//16237 16430//16430\nf 16429//16429 16426//16426 15738//15738\nf 16428//16428 15735//15735 16425//16425\nf 16427//16427 15742//15742 16177//16177\nf 15743//15743 16115//16115 16681//16681\nf 15741//15741 15737//15737 16424//16424\nf 16179//16179 16681//16681 16682//16682\nf 16179//16179 15743//15743 16681//16681\nf 15745//15745 16432//16432 15749//15749\nf 16181//16181 15750//15750 16433//16433\nf 16434//16434 16430//16430 16238//16238\nf 16431//16431 16436//16436 15747//15747\nf 16048//16048 15749//15749 16432//16432\nf 16434//16434 16238//16238 16437//16437\nf 16432//16432 16439//16439 16048//16048\nf 16437//16437 16238//16238 16117//16117\nf 15747//15747 16441//16441 15754//15754\nf 16436//16436 16441//16441 15747//15747\nf 16438//16438 15751//15751 15755//15755\nf 16181//16181 16239//16239 15752//15752\nf 16118//16118 16437//16437 16117//16117\nf 15762//15762 15761//15761 16048//16048\nf 16444//16444 15758//15758 15754//15754\nf 16444//16444 16049//16049 15758//15758\nf 16447//16447 16049//16049 16444//16444\nf 15756//15756 15764//15764 16445//16445\nf 16448//16448 16240//16240 16184//16184\nf 16446//16446 16118//16118 16183//16183\nf 16446//16446 16437//16437 16118//16118\nf 16697//16697 15755//15755 15760//15760\nf 15760//15760 16185//16185 16451//16451\nf 16446//16446 16183//16183 16242//16242\nf 16185//16185 15767//15767 16451//16451\nf 15764//15764 15769//15769 16453//16453\nf 16456//16456 16454//16454 16702//16702\nf 15772//15772 15768//15768 16452//16452\nf 16452//16452 16457//16457 15772//15772\nf 16122//16122 16241//16241 16455//16455\nf 16245//16245 16456//16456 16462//16462\nf 15776//15776 15772//15772 16460//16460\nf 16460//16460 15772//15772 16457//16457\nf 16050//16050 16461//16461 15769//15769\nf 16122//16122 16455//16455 16244//16244\nf 16454//16454 16456//16456 16245//16245\nf 16458//16458 15780//15780 15766//15766\nf 16053//16053 15780//15780 16458//16458\nf 16455//16455 16454//16454 16244//16244\nf 16245//16245 16244//16244 16454//16454\nf 16462//16462 16456//16456 16243//16243\nf 16243//16243 16456//16456 16242//16242\nf 15781//15781 15776//15776 16460//16460\nf 15776//15776 15781//15781 16460//16460\nf 16243//16243 16188//16188 16246//16246\nf 16462//16462 16243//16243 16246//16246\nf 16463//16463 15783//15783 16053//16053\nf 16464//16464 16186//16186 15786//15786\nf 16467//16467 16461//16461 16050//16050\nf 16463//16463 16704//16704 15783//15783\nf 16465//16465 16055//16055 15783//15783\nf 16704//16704 16465//16465 15783//15783\nf 15788//15788 15781//15781 16703//16703\nf 16467//16467 16050//16050 16187//16187\nf 16246//16246 16189//16189 16462//16462\nf 16466//16466 15791//15791 16055//16055\nf 16466//16466 16055//16055 16465//16465\nf 16187//16187 15787//15787 16467//16467\nf 15798//15798 15797//15797 16468//16468\nf 15798//15798 16471//16471 15800//15800\nf 15805//15805 15803//15803 16472//16472\nf 15811//15811 15805//15805 16472//16472\nf 15816//15816 15811//15811 16473//16473\nf 15816//15816 16706//16706 16707//16707\nf 15816//15816 16707//16707 15817//15817\nf 16064//16064 15817//15817 16707//16707\nf 16128//16128 16248//16248 16475//16475\nf 16478//16478 16191//16191 16477//16477\nf 16066//16066 16191//16191 16478//16478\nf 15822//15822 16479//16479 15823//15823\nf 16714//16714 16250//16250 16193//16193\nf 16717//16717 16249//16249 16194//16194\nf 16069//16069 16250//16250 16716//16716\nf 16717//16717 16194//16194 16251//16251\nf 16131//16131 16195//16195 16719//16719\nf 16719//16719 16251//16251 16133//16133\nf 16131//16131 16719//16719 16133//16133\nf 16806//16806 16252//16252 15836//15836\nf 16806//16806 15836//15836 16483//16483\nf 16805//16805 16482//16482 15838//15838\nf 15838//15838 15836//15836 16252//16252\nf 16805//16805 15838//15838 16252//16252\nf 15836//15836 15837//15837 16483//16483\nf 16720//16720 15839//15839 15841//15841\nf 16721//16721 16720//16720 15841//15841\nf 15841//15841 15843//15843 16722//16722\nf 15842//15842 16485//16485 15846//15846\nf 15847//15847 16487//16487 15843//15843\nf 16487//16487 15847//15847 16489//16489\nf 16489//16489 15847//15847 16197//16197\nf 16490//16490 16078//16078 16134//16134\nf 16491//16491 16489//16489 16197//16197\nf 15859//15859 16078//16078 16490//16490\nf 16493//16493 15859//15859 16490//16490\nf 15851//15851 16495//16495 15857//15857\nf 15851//15851 16076//16076 16496//16496\nf 16199//16199 16494//16494 15853//15853\nf 16502//16502 15859//15859 16493//16493\nf 16495//16495 16498//16498 15857//15857\nf 15854//15854 15861//15861 16492//16492\nf 15865//15865 16502//16502 16198//16198\nf 16198//16198 16502//16502 15865//15865\nf 16502//16502 16198//16198 15859//15859\nf 16500//16500 16499//16499 15855//15855\nf 15858//15858 16500//16500 15855//15855\nf 15861//15861 16501//16501 16492//16492\nf 16198//16198 16504//16504 15865//15865\nf 16503//16503 16199//16199 16079//16079\nf 15875//15875 16200//16200 16507//16507\nf 16507//16507 16200//16200 15871//15871\nf 16504//16504 16728//16728 15871//15871\nf 16504//16504 15871//15871 15868//15868\nf 16498//16498 16080//16080 15860//15860\nf 16503//16503 16079//16079 16201//16201\nf 16498//16498 16509//16509 16080//16080\nf 16507//16507 15875//15875 16200//16200\nf 16503//16503 16201//16201 16508//16508\nf 15870//15870 15872//15872 16511//16511\nf 15874//15874 16730//16730 16511//16511\nf 15875//15875 16512//16512 15877//15877\nf 16509//16509 16513//16513 15873//15873\nf 16509//16509 15873//15873 16080//16080\nf 15872//15872 15874//15874 16511//16511\nf 16514//16514 16081//16081 15877//15877\nf 16508//16508 16201//16201 16515//16515\nf 16513//16513 15878//15878 15873//15873\nf 15879//15879 15878//15878 16513//16513\nf 16517//16517 16515//16515 16201//16201\nf 16201//16201 16254//16254 16517//16517\nf 15879//15879 16516//16516 15882//15882\nf 16516//16516 16518//16518 15884//15884\nf 16516//16516 15884//15884 15882//15882\nf 15880//15880 15893//15893 16254//16254\nf 16519//16519 16254//16254 15893//15893\nf 16518//16518 16520//16520 15888//15888\nf 16518//16518 15888//15888 15884//15884\nf 16522//16522 16521//16521 15891//15891\nf 15890//15890 15889//15889 16522//16522\nf 15891//15891 15890//15890 16522//16522\nf 16521//16521 16523//16523 15892//15892\nf 16526//16526 16084//16084 16525//16525\nf 15889//15889 16084//16084 16526//16526\nf 15894//15894 16528//16528 15895//15895\nf 15897//15897 16203//16203 16811//16811\nf 16531//16531 16530//16530 15909//15909\nf 15888//15888 16520//16520 15898//15898\nf 16524//16524 16533//16533 16202//16202\nf 16533//16533 16525//16525 16084//16084\nf 16531//16531 15909//15909 15906//15906\nf 15909//15909 16535//16535 15907//15907\nf 16204//16204 16519//16519 15893//15893\nf 15899//15899 16536//16536 15903//15903\nf 15903//15903 16536//16536 15905//15905\nf 16537//16537 15905//15905 16536//16536\nf 16535//16535 15904//15904 15907//15907\nf 16538//16538 15529//15529 15898//15898\nf 16538//16538 15898//15898 16532//16532\nf 16736//16736 15905//15905 16537//16537\nf 15904//15904 16739//16739 16540//16540\nf 16205//16205 15529//15529 16538//16538\nf 16087//16087 16541//16541 16206//16206\nf 16086//16086 15911//15911 16544//16544\nf 16086//16086 16544//16544 15912//15912\nf 15913//15913 16545//16545 15914//15914\nf 16547//16547 16546//16546 16135//16135\nf 16547//16547 16135//16135 16255//16255\nf 16745//16745 16546//16546 16547//16547\nf 16135//16135 16546//16546 16549//16549\nf 15917//15917 16136//16136 16548//16548\nf 16748//16748 16088//16088 15922//15922\nf 16551//16551 15923//15923 16089//16089\nf 15919//15919 16551//16551 16089//16089\nf 16135//16135 16549//16549 16208//16208\nf 16549//16549 16552//16552 16135//16135\nf 16548//16548 16136//16136 16554//16554\nf 15919//15919 16208//16208 16553//16553\nf 16549//16549 16552//16552 16553//16553\nf 16549//16549 16553//16553 16208//16208\nf 16549//16549 16135//16135 16552//16552\nf 16556//16556 15927//15927 16557//16557\nf 16090//16090 16557//16557 15927//15927\nf 16750//16750 16209//16209 16559//16559\nf 16750//16750 16136//16136 16209//16209\nf 16209//16209 16562//16562 16559//16559\nf 16209//16209 16559//16559 16562//16562\nf 15933//15933 16563//16563 15935//15935\nf 15937//15937 16566//16566 15941//15941\nf 16565//16565 15939//15939 16567//16567\nf 15939//15939 16138//16138 16567//16567\nf 16568//16568 15941//15941 16566//16566\nf 16567//16567 16138//16138 16256//16256\nf 16568//16568 15942//15942 15941//15941\nf 16569//16569 16138//16138 16256//16256\nf 16256//16256 16138//16138 16569//16569\nf 16256//16256 16257//16257 16569//16569\nf 15945//15945 15943//15943 16570//16570\nf 16570//16570 15942//15942 16568//16568\nf 16756//16756 16093//16093 15945//15945\nf 16575//16575 16761//16761 16257//16257\nf 16573//16573 15949//15949 15952//15952\nf 16572//16572 15949//15949 16573//16573\nf 16761//16761 16759//16759 16257//16257\nf 16257//16257 16139//16139 16211//16211\nf 15949//15949 16576//16576 15954//15954\nf 15949//15949 16572//16572 16576//16576\nf 15953//15953 16577//16577 15950//15950\nf 15953//15953 15950//15950 16577//16577\nf 16212//16212 16574//16574 15956//15956\nf 15958//15958 16578//16578 16140//16140\nf 15953//15953 16579//16579 16573//16573\nf 16579//16579 15953//15953 15950//15950\nf 16576//16576 16581//16581 15954//15954\nf 16581//16581 15959//15959 15954//15954\nf 16578//16578 16094//16094 16140//16140\nf 16575//16575 16141//16141 16213//16213\nf 16575//16575 16213//16213 16761//16761\nf 16575//16575 16211//16211 16142//16142\nf 16580//16580 15963//15963 16582//16582\nf 16585//16585 16582//16582 15965//15965\nf 16095//16095 16585//16585 15965//15965\nf 15966//15966 16586//16586 16095//16095\nf 16586//16586 16585//16585 16095//16095\nf 16583//16583 16259//16259 16094//16094\nf 16588//16588 16214//16214 16581//16581\nf 15959//15959 16581//16581 16214//16214\nf 16587//16587 16259//16259 16094//16094\nf 16587//16587 16094//16094 16259//16259\nf 16587//16587 15967//15967 16259//16259\nf 15969//15969 16214//16214 16588//16588\nf 16259//16259 15967//15967 16587//16587\nf 16098//16098 16591//16591 16590//16590\nf 16592//16592 16589//16589 15970//15970\nf 15967//15967 16587//16587 16597//16597\nf 16594//16594 15981//15981 16593//16593\nf 16592//16592 15979//15979 16595//16595\nf 16216//16216 15981//15981 16594//16594\nf 16597//16597 15986//15986 15976//15976\nf 15981//15981 15980//15980 16596//16596\nf 16598//16598 15999//15999 16215//16215\nf 16595//16595 15985//15985 16599//16599\nf 15987//15987 15986//15986 16597//16597\nf 15980//15980 15993//15993 16600//16600\nf 16218//16218 16601//16601 15989//15989\nf 16599//16599 15985//15985 16219//16219\nf 16101//16101 16007//16007 15997//15997\nf 16598//16598 16602//16602 15999//15999\nf 16767//16767 16219//16219 16606//16606\nf 16007//16007 16101//16101 16005//16005\nf 16010//16010 16003//16003 16605//16605\nf 16606//16606 16004//16004 16008//16008\nf 16610//16610 16102//16102 16011//16011\nf 16008//16008 16220//16220 16609//16609\nf 16608//16608 16008//16008 16609//16609\nf 15546//15546 16262//16262 16261//16261\nf 15541//15541 15542//15542 16263//16263\nf 16612//16612 16611//16611 16103//16103\nf 16612//16612 16103//16103 15553//15553\nf 16821//16821 16267//16267 15548//15548\nf 15543//15543 16269//16269 16268//16268\nf 15543//15543 15545//15545 16269//16269\nf 16262//16262 15546//15546 15551//15551\nf 16277//16277 15540//15540 16263//16263\nf 16263//16263 15540//15540 15541//15541\nf 16270//16270 16264//16264 15542//15542\nf 15554//15554 16271//16271 16266//16266\nf 16615//16615 15566//15566 16272//16272\nf 15551//15551 16275//16275 16262//16262\nf 15566//15566 15559//15559 16272//16272\nf 16278//16278 15557//15557 15558//15558\nf 16285//16285 16614//16614 15565//15565\nf 16281//16281 16286//16286 15568//15568\nf 16278//16278 15564//15564 15557//15557\nf 15565//15565 15567//15567 16285//16285\nf 16223//16223 15568//15568 16286//16286\nf 16617//16617 15561//15561 16283//16283\nf 16288//16288 15564//15564 16278//16278\nf 16616//16616 15567//15567 16016//16016\nf 16222//16222 16620//16620 16619//16619\nf 16620//16620 16222//16222 15584//15584\nf 16620//16620 16293//16293 16621//16621\nf 15560//15560 16294//16294 16282//16282\nf 16287//16287 15556//15556 15578//15578\nf 16284//16284 15563//15563 16291//16291\nf 15563//15563 15571//15571 16291//16291\nf 15564//15564 16288//16288 16292//16292\nf 16292//16292 15572//15572 15564//15564\nf 16621//16621 16293//16293 15584//15584\nf 16289//16289 16621//16621 15584//15584\nf 16294//16294 16622//16622 16282//16282\nf 16275//16275 15492//15492 16623//16623\nf 16291//16291 15579//15579 16298//16298\nf 15571//15571 15579//15579 16291//16291\nf 16295//16295 16623//16623 15492//15492\nf 16296//16296 15581//15581 16019//16019\nf 16292//16292 16299//16299 15583//15583\nf 16294//16294 16018//16018 15576//15576\nf 16298//16298 15582//15582 16301//16301\nf 16625//16625 15581//15581 16296//16296\nf 16304//16304 15585//15585 16299//16299\nf 15589//15589 15585//15585 16304//16304\nf 16302//16302 16627//16627 16305//16305\nf 16147//16147 16309//16309 16303//16303\nf 16625//16625 16307//16307 15581//15581\nf 15591//15591 15577//15577 16300//16300\nf 16309//16309 16147//16147 16628//16628\nf 16311//16311 16309//16309 16628//16628\nf 16227//16227 15591//15591 16318//16318\nf 15495//15495 16315//16315 16306//16306\nf 16320//16320 15598//15598 16323//16323\nf 16773//16773 15602//15602 16322//16322\nf 16325//16325 15603//15603 15602//15602\nf 15599//15599 16151//16151 16321//16321\nf 16151//16151 16324//16324 16321//16321\nf 16150//16150 16228//16228 16630//16630\nf 16631//16631 16326//16326 15605//15605\nf 16326//16326 16327//16327 15605//15605\nf 16633//16633 15609//15609 16330//16330\nf 16332//16332 16151//16151 15610//15610\nf 16329//16329 16630//16630 16632//16632\nf 16329//16329 16229//16229 16630//16630\nf 16327//16327 16328//16328 15607//15607\nf 16154//16154 16331//16331 15611//15611\nf 16332//16332 15610//15610 16335//16335\nf 16338//16338 16229//16229 16153//16153\nf 16229//16229 16338//16338 16634//16634\nf 15616//15616 16333//16333 16336//16336\nf 16338//16338 16153//16153 16329//16329\nf 16337//16337 15614//15614 16339//16339\nf 16335//16335 15613//15613 16341//16341\nf 16339//16339 16024//16024 16342//16342\nf 16023//16023 16341//16341 15613//15613\nf 16341//16341 16023//16023 16348//16348\nf 15622//15622 16635//16635 16348//16348\nf 15623//15623 16029//16029 16636//16636\nf 16029//16029 16351//16351 16636//16636\nf 16349//16349 16026//16026 15622//15622\nf 16639//16639 16349//16349 15630//15630\nf 16349//16349 16026//16026 15630//15630\nf 16352//16352 15633//15633 16159//16159\nf 16639//16639 16354//16354 16779//16779\nf 16161//16161 16160//16160 16641//16641\nf 16645//16645 16161//16161 16641//16641\nf 16162//16162 16161//16161 16646//16646\nf 16357//16357 16162//16162 16646//16646\nf 15640//15640 16165//16165 16354//16354\nf 15646//15646 15643//15643 16356//16356\nf 15641//15641 16164//16164 16643//16643\nf 16644//16644 16106//16106 16643//16643\nf 15641//15641 16643//16643 16106//16106\nf 16355//16355 16106//16106 16644//16644\nf 16645//16645 16641//16641 16780//16780\nf 16231//16231 16357//16357 16646//16646\nf 16651//16651 16231//16231 16646//16646\nf 16165//16165 16361//16361 16359//16359\nf 16166//16166 16358//16358 16362//16362\nf 15661//15661 15656//15656 16364//16364\nf 16365//16365 16650//16650 16643//16643\nf 16164//16164 16365//16365 16643//16643\nf 16231//16231 16651//16651 16366//16366\nf 15662//15662 15661//15661 16364//16364\nf 15660//15660 15666//15666 16653//16653\nf 16361//16361 15663//15663 16368//16368\nf 16371//16371 16370//16370 16372//16372\nf 16167//16167 16371//16371 16372//16372\nf 16167//16167 15671//15671 16371//16371\nf 16656//16656 16650//16650 16783//16783\nf 15670//15670 16108//16108 16373//16373\nf 16371//16371 16379//16379 16370//16370\nf 16370//16370 15674//15674 16371//16371\nf 16365//16365 16657//16657 16650//16650\nf 16650//16650 16657//16657 16783//16783\nf 16035//16035 16377//16377 16654//16654\nf 16232//16232 16366//16366 16380//16380\nf 16382//16382 16378//16378 16039//16039\nf 15667//15667 16658//16658 16374//16374\nf 16380//16380 16659//16659 16660//16660\nf 16380//16380 16660//16660 16233//16233\nf 15686//15686 15675//15675 15670//15670\nf 15672//15672 16381//16381 15676//15676\nf 16385//16385 16382//16382 15680//15680\nf 16036//16036 16380//16380 16233//16233\nf 16373//16373 16661//16661 15686//15686\nf 15679//15679 16387//16387 16388//16388\nf 15680//15680 15683//15683 16385//16385\nf 16395//16395 16663//16663 16665//16665\nf 16233//16233 16664//16664 16109//16109\nf 16233//16233 16660//16660 16664//16664\nf 16392//16392 15687//15687 15686//15686\nf 16393//16393 16390//16390 15688//15688\nf 15694//15694 16235//16235 16392//16392\nf 16395//16395 16666//16666 16663//16663\nf 16109//16109 16664//16664 16666//16666\nf 16665//16665 16394//16394 16395//16395\nf 16666//16666 16236//16236 16169//16169\nf 16666//16666 16395//16395 16236//16236\nf 16169//16169 16109//16109 16666//16666\nf 15691//15691 16391//16391 15690//15690\nf 16394//16394 16667//16667 16236//16236\nf 16668//16668 16399//16399 15694//15694\nf 16401//16401 16397//16397 15692//15692\nf 16669//16669 16401//16401 15696//15696\nf 15709//15709 15695//15695 16399//16399\nf 16669//16669 15696//15696 16671//16671\nf 16671//16671 15696//15696 16111//16111\nf 16404//16404 15710//15710 15705//15705\nf 16403//16403 16171//16171 16672//16672\nf 16403//16403 16111//16111 16171//16171\nf 15714//15714 15713//15713 16406//16406\nf 15713//15713 16405//16405 16406//16406\nf 15713//15713 15712//15712 16673//16673\nf 15718//15718 15714//15714 16406//16406\nf 15717//15717 15719//15719 16411//16411\nf 16411//16411 15719//15719 16414//16414\nf 16171//16171 16417//16417 16672//16672\nf 16043//16043 16675//16675 16415//16415\nf 16043//16043 16415//16415 16419//16419\nf 16173//16173 16175//16175 16676//16676\nf 16674//16674 16418//16418 16678//16678\nf 15716//15716 15721//15721 16418//16418\nf 15733//15733 15731//15731 16419//16419\nf 16423//16423 15733//15733 16419//16419\nf 16417//16417 16173//16173 16676//16676\nf 16174//16174 15728//15728 16421//16421\nf 16423//16423 16679//16679 16113//16113\nf 16678//16678 16418//16418 16176//16176\nf 16678//16678 16176//16176 16426//16426\nf 16115//16115 15736//15736 16679//16679\nf 16790//16790 16676//16676 16680//16680\nf 16426//16426 16176//16176 15738//15738\nf 16676//16676 16175//16175 16680//16680\nf 16789//16789 16421//16421 16427//16427\nf 16790//16790 16680//16680 16237//16237\nf 15741//15741 16424//16424 16431//16431\nf 16428//16428 15740//15740 15735//15735\nf 16179//16179 16682//16682 16683//16683\nf 16684//16684 16179//16179 16683//16683\nf 16685//16685 16430//16430 16686//16686\nf 16179//16179 16684//16684 16433//16433\nf 16434//16434 16685//16685 16686//16686\nf 15750//15750 16179//16179 16433//16433\nf 16687//16687 16177//16177 16792//16792\nf 16434//16434 16686//16686 16430//16430\nf 16046//16046 16180//16180 16435//16435\nf 16429//16429 16046//16046 16435//16435\nf 16432//16432 16428//16428 16861//16861\nf 16688//16688 16181//16181 16684//16684\nf 16435//16435 16180//16180 15751//15751\nf 16177//16177 16178//16178 16792//16792\nf 16688//16688 16690//16690 16181//16181\nf 16239//16239 16181//16181 16690//16690\nf 16689//16689 16434//16434 16692//16692\nf 16692//16692 16434//16434 16437//16437\nf 16438//16438 15755//15755 16442//16442\nf 16239//16239 16691//16691 16443//16443\nf 16440//16440 16178//16178 16182//16182\nf 16239//16239 16690//16690 16691//16691\nf 16693//16693 16689//16689 16692//16692\nf 16694//16694 16696//16696 16184//16184\nf 16693//16693 16692//16692 16437//16437\nf 16695//16695 16048//16048 16439//16439\nf 16695//16695 15762//15762 16048//16048\nf 16440//16440 15756//15756 16445//16445\nf 16184//16184 16696//16696 16448//16448\nf 16694//16694 16184//16184 16443//16443\nf 16693//16693 16437//16437 16698//16698\nf 16700//16700 16698//16698 16446//16446\nf 16698//16698 16437//16437 16446//16446\nf 16240//16240 16448//16448 16701//16701\nf 16697//16697 15760//15760 16451//16451\nf 15768//15768 15762//15762 16452//16452\nf 15764//15764 16450//16450 16445//16445\nf 16456//16456 16702//16702 16698//16698\nf 15762//15762 16449//16449 16452//16452\nf 16241//16241 16240//16240 16701//16701\nf 16454//16454 16701//16701 16699//16699\nf 16454//16454 16455//16455 16701//16701\nf 16698//16698 16702//16702 16454//16454\nf 16699//16699 16698//16698 16454//16454\nf 16698//16698 16700//16700 16456//16456\nf 16700//16700 16446//16446 16242//16242\nf 16241//16241 16701//16701 16455//16455\nf 16700//16700 16242//16242 16456//16456\nf 16796//16796 16451//16451 15767//15767\nf 15769//15769 16461//16461 16453//16453\nf 16464//16464 16052//16052 16186//16186\nf 16703//16703 15776//15776 16460//16460\nf 16464//16464 15786//15786 16466//16466\nf 15781//15781 15776//15776 16703//16703\nf 15797//15797 15788//15788 16703//16703\nf 15787//15787 15792//15792 16469//16469\nf 16468//16468 15797//15797 16703//16703\nf 15798//15798 16470//16470 16471//16471\nf 15803//15803 15800//15800 16471//16471\nf 16471//16471 16472//16472 15803//15803\nf 16469//16469 15792//15792 16127//16127\nf 16469//16469 16127//16127 16800//16800\nf 16473//16473 15811//15811 16472//16472\nf 16474//16474 16127//16127 16190//16190\nf 16190//16190 16705//16705 16474//16474\nf 15816//15816 16473//16473 16802//16802\nf 16190//16190 16247//16247 16705//16705\nf 16708//16708 16247//16247 16475//16475\nf 16708//16708 16705//16705 16247//16247\nf 16064//16064 16707//16707 16476//16476\nf 16708//16708 16475//16475 16248//16248\nf 16064//16064 16477//16477 16191//16191\nf 16803//16803 16708//16708 16712//16712\nf 16066//16066 16709//16709 16192//16192\nf 16708//16708 16248//16248 16712//16712\nf 16710//16710 16711//16711 16479//16479\nf 15822//15822 16710//16710 16479//16479\nf 15822//15822 16192//16192 16710//16710\nf 16248//16248 16249//16249 16712//16712\nf 16711//16711 16480//16480 16479//16479\nf 16713//16713 16480//16480 16711//16711\nf 15823//15823 16480//16480 16713//16713\nf 16193//16193 15823//15823 16713//16713\nf 16481//16481 16193//16193 16713//16713\nf 16193//16193 16481//16481 16714//16714\nf 16715//16715 16712//16712 16249//16249\nf 16715//16715 16249//16249 16717//16717\nf 16716//16716 16718//16718 16195//16195\nf 16069//16069 16716//16716 16195//16195\nf 16715//16715 16717//16717 16251//16251\nf 16718//16718 16804//16804 16195//16195\nf 16719//16719 16195//16195 16804//16804\nf 16804//16804 16251//16251 16719//16719\nf 16251//16251 16804//16804 16715//16715\nf 15837//15837 16196//16196 16483//16483\nf 15840//15840 16074//16074 16484//16484\nf 15844//15844 16723//16723 15845//15845\nf 16723//16723 15844//15844 16724//16724\nf 16486//16486 16485//16485 15842//15842\nf 15845//15845 16723//16723 16134//16134\nf 16485//16485 16488//16488 15852//15852\nf 16494//16494 16724//16724 15853//15853\nf 16724//16724 15844//15844 15853//15853\nf 16488//16488 16725//16725 15852//15852\nf 16197//16197 16077//16077 16491//16491\nf 15854//15854 16492//16492 16491//16491\nf 15851//15851 16496//16496 16076//16076\nf 16198//16198 16726//16726 16504//16504\nf 16198//16198 16502//16502 16726//16726\nf 16494//16494 16199//16199 16503//16503\nf 16727//16727 16076//16076 16499//16499\nf 15864//15864 15866//15866 16506//16506\nf 16200//16200 15875//15875 16507//16507\nf 16729//16729 16503//16503 16508//16508\nf 16510//16510 16506//16506 15869//15869\nf 16506//16506 15866//15866 15869//15869\nf 15870//15870 16511//16511 16510//16510\nf 16730//16730 15874//15874 16081//16081\nf 15875//15875 16507//16507 16512//16512\nf 15877//15877 16512//16512 16514//16514\nf 16508//16508 16515//16515 16729//16729\nf 16732//16732 16731//16731 16515//16515\nf 16732//16732 16515//16515 16254//16254\nf 16515//16515 16517//16517 16254//16254\nf 16519//16519 16732//16732 16254//16254\nf 16810//16810 16732//16732 16519//16519\nf 16522//16522 15890//15890 16521//16521\nf 16521//16521 15890//15890 16522//16522\nf 16733//16733 15885//15885 16205//16205\nf 15885//15885 16733//16733 16205//16205\nf 16733//16733 15885//15885 16205//16205\nf 16202//16202 15885//15885 16524//16524\nf 16526//16526 16527//16527 15889//15889\nf 16522//16522 15889//15889 16527//16527\nf 15894//15894 15892//15892 16523//16523\nf 16735//16735 16529//16529 15896//15896\nf 16811//16811 16203//16203 16529//16529\nf 15905//15905 16736//16736 16531//16531\nf 15906//15906 15905//15905 16531//16531\nf 16809//16809 16810//16810 16519//16519\nf 15898//15898 16520//16520 16532//16532\nf 16524//16524 15885//15885 16733//16733\nf 16533//16533 16084//16084 16202//16202\nf 16525//16525 16533//16533 16526//16526\nf 16530//16530 16737//16737 15909//15909\nf 15909//15909 16737//16737 16535//16535\nf 16809//16809 16204//16204 16738//16738\nf 16809//16809 16519//16519 16204//16204\nf 16534//16534 16536//16536 15899//15899\nf 16535//16535 16739//16739 15904//15904\nf 16738//16738 16204//16204 16539//16539\nf 16205//16205 16538//16538 16733//16733\nf 16540//16540 15908//15908 15904//15904\nf 16740//16740 16085//16085 15908//15908\nf 16204//16204 16541//16541 16539//16539\nf 16541//16541 16204//16204 16206//16206\nf 16741//16741 15911//15911 16085//16085\nf 16541//16541 16087//16087 16542//16542\nf 16543//16543 16542//16542 16087//16087\nf 16544//16544 16545//16545 15912//15912\nf 15912//15912 16545//16545 15913//15913\nf 16548//16548 16542//16542 16543//16543\nf 15914//15914 16742//16742 15915//15915\nf 16207//16207 16743//16743 16255//16255\nf 16745//16745 16547//16547 16255//16255\nf 16745//16745 16255//16255 16744//16744\nf 16087//16087 15917//15917 16543//16543\nf 16543//16543 15917//15917 16548//16548\nf 16542//16542 16548//16548 16746//16746\nf 16542//16542 16546//16546 16745//16745\nf 16746//16746 16546//16546 16542//16542\nf 16746//16746 16747//16747 16546//16546\nf 15923//15923 16551//16551 16550//16550\nf 16548//16548 16554//16554 16746//16746\nf 15919//15919 16749//16749 16551//16551\nf 16552//16552 16546//16546 16750//16750\nf 16549//16549 16546//16546 16552//16552\nf 16747//16747 16750//16750 16546//16546\nf 15928//15928 15927//15927 16558//16558\nf 16558//16558 15927//15927 16556//16556\nf 16561//16561 16558//16558 16887//16887\nf 16561//16561 15929//15929 16558//16558\nf 16560//16560 15930//15930 16561//16561\nf 16752//16752 16209//16209 16137//16137\nf 16815//16815 16559//16559 16209//16209\nf 15939//15939 16752//16752 16137//16137\nf 16753//16753 16754//16754 15935//15935\nf 16751//16751 15939//15939 16565//16565\nf 16566//16566 15937//15937 16564//16564\nf 16565//16565 16567//16567 16751//16751\nf 15945//15945 16570//16570 16756//16756\nf 15943//15943 15942//15942 16570//16570\nf 16093//16093 16756//16756 16758//16758\nf 16755//16755 16257//16257 16759//16759\nf 16093//16093 16758//16758 16210//16210\nf 16571//16571 15958//15958 15956//15956\nf 16757//16757 16755//16755 16760//16760\nf 16762//16762 16755//16755 16761//16761\nf 16760//16760 16755//16755 16762//16762\nf 16755//16755 16759//16759 16761//16761\nf 16578//16578 15958//15958 16571//16571\nf 16760//16760 16762//16762 16761//16761\nf 16579//16579 15950//15950 16577//16577\nf 16213//16213 16762//16762 16761//16761\nf 16760//16760 16761//16761 16762//16762\nf 15963//15963 15965//15965 16582//16582\nf 16583//16583 16094//16094 16578//16578\nf 16762//16762 16584//16584 16760//16760\nf 16584//16584 16213//16213 16258//16258\nf 16213//16213 16584//16584 16762//16762\nf 16587//16587 16259//16259 16583//16583\nf 16764//16764 16098//16098 16763//16763\nf 16099//16099 16584//16584 16258//16258\nf 16098//16098 16590//16590 16763//16763\nf 16764//16764 16099//16099 16098//16098\nf 16589//16589 15966//15966 15970//15970\nf 16587//16587 15967//15967 16259//16259\nf 16818//16818 16590//16590 16217//16217\nf 15976//15976 15967//15967 16597//16597\nf 16820//16820 16217//16217 16594//16594\nf 16217//16217 16216//16216 16594//16594\nf 16590//16590 15982//15982 16217//16217\nf 15979//15979 16100//16100 16595//16595\nf 16218//16218 15987//15987 16766//16766\nf 16600//16600 16596//16596 15980//15980\nf 16003//16003 16604//16604 16605//16605\nf 16219//16219 16004//16004 16606//16606\nf 16767//16767 16599//16599 16219//16219\nf 16607//16607 16010//16010 16605//16605\nf 16220//16220 16610//16610 16609//16609\nf 15542//15542 16264//16264 16263//16263\nf 16265//16265 16014//16014 16611//16611\nf 15553//15553 16266//16266 16612//16612\nf 15548//15548 16268//16268 16613//16613\nf 16274//16274 16144//16144 16260//16260\nf 16273//16273 16269//16269 15545//15545\nf 16768//16768 16013//16013 16265//16265\nf 16282//16282 16273//16273 15549//15549\nf 16278//16278 15558//15558 16279//16279\nf 16285//16285 15567//15567 16616//16616\nf 16619//16619 16618//16618 16017//16017\nf 16300//16300 15550//15550 16274//16274\nf 16295//16295 15493//15493 15556//15556\nf 16287//16287 16290//16290 16295//16295\nf 16146//16146 15586//15586 16306//16306\nf 16306//16306 15586//15586 16148//16148\nf 16769//16769 16299//16299 16304//16304\nf 15591//15591 16300//16300 16770//16770\nf 15591//15591 16770//16770 16310//16310\nf 16313//16313 15594//15594 16304//16304\nf 16147//16147 16627//16627 16628//16628\nf 16628//16628 16627//16627 16771//16771\nf 16311//16311 16628//16628 16772//16772\nf 16322//16322 15601//15601 16316//16316\nf 16325//16325 15602//15602 16773//16773\nf 16228//16228 16629//16629 16632//16632\nf 16630//16630 16228//16228 16632//16632\nf 16228//16228 16150//16150 16630//16630\nf 16151//16151 16332//16332 16832//16832\nf 16154//16154 16325//16325 16331//16331\nf 15610//15610 16332//16332 16832//16832\nf 16775//16775 16338//16338 16329//16329\nf 16330//16330 15609//15609 16337//16337\nf 16335//16335 16341//16341 16776//16776\nf 15621//15621 16336//16336 16344//16344\nf 15621//15621 15616//15616 16336//16336\nf 16158//16158 16348//16348 16023//16023\nf 16777//16777 15623//15623 16636//16636\nf 16635//16635 16026//16026 16349//16349\nf 16159//16159 16025//16025 16778//16778\nf 15635//15635 16351//16351 16029//16029\nf 16356//16356 15643//15643 16642//16642\nf 16160//16160 16355//16355 16641//16641\nf 16641//16641 16355//16355 16644//16644\nf 16641//16641 16644//16644 16780//16780\nf 16359//16359 16354//16354 16165//16165\nf 16356//16356 16642//16642 16358//16358\nf 16356//16356 16642//16642 16358//16358\nf 15654//15654 15653//15653 16647//16647\nf 15655//15655 15654//15654 16648//16648\nf 16108//16108 15651//15651 16652//16652\nf 15653//15653 15652//15652 16647//16647\nf 15652//15652 15660//15660 16363//16363\nf 15656//15656 15655//15655 16364//16364\nf 16644//16644 16643//16643 16650//16650\nf 16649//16649 15650//15650 16654//16654\nf 15650//15650 16035//16035 16654//16654\nf 16781//16781 16652//16652 15651//15651\nf 15660//15660 16653//16653 16782//16782\nf 16653//16653 15666//15666 16655//16655\nf 16644//16644 16650//16650 16656//16656\nf 16375//16375 15664//15664 16362//16362\nf 16369//16369 15657//15657 16367//16367\nf 16373//16373 16108//16108 16652//16652\nf 16368//16368 15663//15663 16374//16374\nf 16366//16366 16651//16651 16784//16784\nf 16375//16375 16362//16362 16841//16841\nf 16659//16659 16366//16366 16784//16784\nf 16380//16380 16366//16366 16659//16659\nf 16784//16784 16660//16660 16659//16659\nf 16383//16383 16374//16374 16658//16658\nf 16382//16382 16385//16385 16846//16846\nf 15679//15679 15676//15676 16387//16387\nf 15676//15676 16384//16384 16387//16387\nf 16785//16785 16662//16662 16666//16666\nf 15685//15685 16388//16388 16848//16848\nf 16383//16383 16168//16168 16390//16390\nf 16665//16665 16663//16663 16662//16662\nf 16786//16786 16665//16665 16662//16662\nf 16666//16666 16662//16662 16663//16663\nf 16664//16664 16660//16660 16785//16785\nf 16392//16392 15686//15686 16661//16661\nf 16393//16393 16383//16383 16390//16390\nf 16666//16666 16664//16664 16785//16785\nf 15694//15694 16392//16392 16668//16668\nf 16398//16398 16850//16850 15691//15691\nf 16236//16236 16667//16667 16400//16400\nf 16170//16170 16850//16850 16398//16398\nf 15705//15705 16400//16400 16404//16404\nf 16670//16670 15707//15707 16852//16852\nf 16671//16671 16403//16403 16672//16672\nf 16854//16854 16671//16671 16672//16672\nf 15718//15718 16406//16406 16409//16409\nf 16412//16412 15720//15720 16410//16410\nf 16855//16855 16411//16411 16414//16414\nf 16672//16672 16417//16417 16788//16788\nf 16674//16674 16678//16678 17347//17347\nf 16674//16674 15716//15716 16418//16418\nf 16417//16417 16676//16676 16858//16858\nf 16420//16420 15727//15727 16413//16413\nf 16423//16423 16419//16419 16856//16856\nf 16788//16788 16417//16417 16858//16858\nf 16677//16677 16416//16416 16422//16422\nf 16681//16681 16115//16115 16679//16679\nf 16790//16790 16858//16858 16676//16676\nf 16684//16684 16682//16682 16791//16791\nf 16682//16682 16684//16684 16683//16683\nf 16689//16689 16685//16685 16434//16434\nf 16428//16428 16432//16432 15745//15745\nf 16181//16181 16433//16433 16684//16684\nf 16688//16688 16684//16684 16690//16690\nf 16178//16178 16440//16440 16792//16792\nf 16443//16443 16691//16691 16694//16694\nf 16444//16444 15754//15754 16441//16441\nf 15755//15755 16697//16697 16442//16442\nf 15762//15762 16695//16695 16449//16449\nf 16701//16701 16794//16794 16699//16699\nf 16696//16696 16795//16795 16448//16448\nf 16699//16699 16794//16794 16698//16698\nf 16794//16794 16693//16693 16698//16698\nf 16448//16448 16795//16795 16701//16701\nf 15766//15766 16447//16447 16458//16458\nf 15766//15766 16049//16049 16447//16447\nf 16450//16450 15764//15764 16453//16453\nf 16796//16796 15767//15767 16459//16459\nf 16053//16053 16458//16458 16797//16797\nf 16459//16459 16052//16052 16464//16464\nf 16703//16703 16460//16460 16798//16798\nf 16465//16465 16704//16704 16799//16799\nf 16464//16464 16466//16466 16799//16799\nf 16467//16467 15787//15787 16469//16469\nf 16473//16473 16472//16472 16869//16869\nf 16127//16127 16474//16474 16801//16801\nf 16801//16801 16474//16474 16705//16705\nf 16706//16706 15816//15816 16802//16802\nf 16803//16803 16705//16705 16708//16708\nf 16477//16477 16064//16064 16476//16476\nf 16709//16709 16066//16066 16478//16478\nf 16871//16871 16803//16803 16712//16712\nf 16871//16871 16712//16712 16715//16715\nf 16873//16873 16481//16481 16713//16713\nf 16714//16714 16481//16481 16873//16873\nf 16716//16716 16250//16250 16714//16714\nf 16804//16804 16871//16871 16715//16715\nf 16720//16720 16483//16483 15839//15839\nf 16486//16486 15842//15842 16484//16484\nf 16722//16722 15843//15843 16487//16487\nf 16494//16494 16134//16134 16723//16723\nf 16490//16490 16134//16134 16494//16494\nf 16494//16494 16723//16723 16724//16724\nf 16491//16491 16077//16077 15854//15854\nf 16495//16495 15851//15851 16076//16076\nf 16076//16076 16496//16496 16495//16495\nf 16500//16500 15858//15858 16497//16497\nf 16501//16501 16807//16807 16492//16492\nf 15864//15864 16506//16506 16505//16505\nf 16730//16730 16081//16081 16514//16514\nf 16515//16515 16731//16731 16729//16729\nf 15879//15879 16513//16513 16516//16516\nf 16808//16808 16731//16731 16732//16732\nf 16808//16808 16732//16732 16809//16809\nf 16810//16810 16809//16809 16732//16732\nf 15896//15896 16528//16528 16735//16735\nf 15897//15897 16811//16811 16534//16534\nf 15899//15899 15897//15897 16534//16534\nf 16537//16537 16536//16536 16883//16883\nf 16738//16738 16539//16539 16541//16541\nf 16085//16085 16740//16740 16741//16741\nf 16544//16544 15911//15911 16741//16741\nf 15915//15915 16742//16742 16812//16812\nf 16743//16743 16744//16744 16255//16255\nf 16555//16555 16088//16088 16813//16813\nf 16813//16813 16088//16088 16748//16748\nf 16750//16750 16746//16746 16554//16554\nf 16750//16750 16747//16747 16746//16746\nf 15926//15926 16088//16088 16555//16555\nf 15919//15919 16553//16553 16749//16749\nf 16555//16555 16557//16557 16090//16090\nf 16750//16750 16554//16554 16136//16136\nf 16753//16753 15935//15935 16563//16563\nf 16559//16559 16815//16815 16814//16814\nf 16815//16815 16209//16209 16751//16751\nf 16751//16751 16209//16209 16752//16752\nf 16564//16564 15937//15937 15938//15938\nf 16751//16751 16752//16752 15939//15939\nf 16564//16564 15938//15938 16754//16754\nf 16567//16567 16256//16256 16569//16569\nf 16755//16755 16569//16569 16257//16257\nf 15958//15958 16571//16571 16891//16891\nf 16571//16571 15958//15958 16891//16891\nf 16571//16571 15956//15956 16574//16574\nf 16574//16574 16212//16212 16580//16580\nf 16760//16760 16584//16584 16763//16763\nf 16763//16763 16590//16590 16817//16817\nf 16764//16764 16763//16763 16099//16099\nf 16099//16099 16763//16763 16584//16584\nf 16819//16819 16594//16594 16593//16593\nf 16818//16818 16820//16820 16594//16594\nf 16818//16818 16594//16594 16819//16819\nf 16217//16217 16820//16820 16818//16818\nf 16593//16593 15981//15981 16596//16596\nf 16765//16765 16598//16598 16215//16215\nf 16218//16218 16766//16766 16601//16601\nf 15993//15993 15989//15989 16601//16601\nf 16767//16767 16599//16599 16606//16606\nf 16604//16604 16000//16000 16603//16603\nf 16001//16001 16000//16000 16604//16604\nf 16608//16608 16609//16609 16897//16897\nf 16821//16821 16613//16613 16268//16268\nf 16274//16274 16260//16260 16822//16822\nf 16822//16822 16260//16260 16261//16261\nf 17487//17487 16283//16283 16277//16277\nf 16288//16288 16292//16292 15564//15564\nf 16292//16292 16288//16288 15564//15564\nf 15556//15556 16287//16287 16295//16295\nf 16290//16290 16104//16104 16624//16624\nf 16296//16296 16019//16019 16297//16297\nf 16304//16304 16299//16299 16769//16769\nf 15576//15576 16626//16626 16294//16294\nf 16626//16626 16149//16149 16314//16314\nf 16318//16318 16310//16310 16770//16770\nf 16827//16827 16314//16314 16317//16317\nf 16315//16315 16826//16826 16306//16306\nf 16311//16311 16772//16772 16629//16629\nf 16828//16828 16317//16317 16321//16321\nf 16829//16829 16628//16628 16771//16771\nf 16628//16628 16830//16830 16772//16772\nf 16630//16630 16774//16774 16228//16228\nf 16628//16628 16829//16829 16830//16830\nf 16629//16629 16772//16772 16830//16830\nf 16632//16632 16629//16629 16830//16830\nf 16774//16774 16831//16831 16228//16228\nf 16320//16320 16323//16323 16633//16633\nf 16324//16324 16151//16151 16832//16832\nf 16632//16632 16830//16830 16329//16329\nf 16326//16326 16328//16328 16327//16327\nf 16327//16327 16328//16328 16326//16326\nf 16332//16332 15610//15610 16832//16832\nf 16338//16338 16775//16775 16833//16833\nf 16331//16331 16834//16834 16334//16334\nf 16347//16347 15623//15623 16777//16777\nf 16025//16025 16345//16345 16778//16778\nf 16352//16352 16159//16159 16778//16778\nf 16352//16352 16640//16640 16353//16353\nf 15651//15651 15639//15639 16781//16781\nf 15639//15639 16640//16640 16781//16781\nf 16354//16354 16359//16359 16779//16779\nf 16835//16835 15642//15642 15650//15650\nf 16642//16642 16356//16356 16358//16358\nf 15655//15655 16360//16360 16364//16364\nf 15660//15660 16782//16782 16363//16363\nf 16836//16836 16367//16367 16364//16364\nf 16780//16780 16644//16644 16656//16656\nf 16645//16645 16651//16651 16646//16646\nf 16655//16655 16167//16167 16372//16372\nf 15666//15666 16167//16167 16655//16655\nf 17083//17083 16368//16368 16374//16374\nf 16837//16837 16656//16656 16783//16783\nf 16107//16107 16369//16369 16376//16376\nf 16837//16837 16783//16783 16840//16840\nf 16376//16376 16839//16839 16657//16657\nf 16381//16381 16375//16375 16841//16841\nf 16843//16843 16840//16840 16662//16662\nf 16844//16844 16783//16783 16657//16657\nf 16784//16784 16662//16662 16785//16785\nf 16784//16784 16843//16843 16662//16662\nf 15676//15676 16381//16381 16384//16384\nf 16783//16783 16844//16844 16845//16845\nf 16783//16783 16845//16845 16786//16786\nf 16840//16840 16783//16783 16786//16786\nf 16840//16840 16786//16786 16662//16662\nf 16785//16785 16660//16660 16784//16784\nf 16842//16842 16377//16377 16386//16386\nf 15685//15685 16848//16848 16388//16388\nf 16389//16389 15685//15685 16388//16388\nf 16385//16385 16389//16389 16849//16849\nf 16397//16397 16401//16401 16851//16851\nf 16669//16669 16671//16671 16401//16401\nf 15713//15713 16673//16673 16405//16405\nf 15712//15712 15717//15717 16673//16673\nf 17112//17112 16852//16852 17499//17499\nf 16675//16675 16419//16419 16415//16415\nf 16854//16854 16672//16672 16788//16788\nf 16857//16857 16414//16414 16421//16421\nf 16414//16414 16174//16174 16421//16421\nf 16856//16856 16679//16679 16423//16423\nf 16421//16421 16789//16789 16427//16427\nf 16859//16859 16681//16681 16679//16679\nf 16682//16682 16681//16681 16859//16859\nf 16237//16237 16685//16685 16790//16790\nf 16427//16427 15739//15739 15742//15742\nf 16425//16425 16861//16861 16428//16428\nf 16862//16862 16791//16791 16910//16910\nf 16862//16862 16684//16684 16791//16791\nf 16860//16860 16790//16790 16685//16685\nf 16860//16860 16685//16685 16689//16689\nf 16429//16429 16435//16435 16438//16438\nf 16684//16684 16862//16862 16690//16690\nf 16691//16691 16865//16865 16864//16864\nf 16862//16862 16691//16691 16690//16690\nf 16862//16862 16865//16865 16691//16691\nf 16860//16860 16689//16689 16793//16793\nf 16435//16435 15751//15751 16438//16438\nf 16689//16689 16693//16693 16793//16793\nf 16691//16691 16864//16864 16696//16696\nf 16866//16866 16793//16793 16794//16794\nf 16693//16693 16794//16794 16793//16793\nf 16694//16694 16691//16691 16696//16696\nf 16441//16441 16436//16436 16444//16444\nf 16795//16795 16866//16866 16794//16794\nf 16440//16440 16182//16182 15756//15756\nf 16795//16795 16794//16794 16701//16701\nf 16451//16451 16442//16442 16697//16697\nf 16452//16452 16449//16449 16457//16457\nf 16450//16450 16453//16453 16445//16445\nf 16447//16447 16797//16797 16458//16458\nf 16914//16914 16445//16445 16453//16453\nf 16797//16797 16463//16463 16053//16053\nf 16459//16459 16464//16464 16915//16915\nf 16453//16453 16461//16461 16867//16867\nf 16461//16461 16868//16868 16867//16867\nf 16463//16463 17170//17170 16704//16704\nf 16466//16466 16465//16465 16799//16799\nf 16461//16461 16467//16467 16868//16868\nf 16800//16800 16127//16127 16801//16801\nf 16705//16705 16870//16870 16801//16801\nf 16870//16870 16705//16705 16803//16803\nf 16477//16477 16476//16476 16916//16916\nf 16872//16872 16709//16709 16478//16478\nf 16710//16710 16709//16709 16872//16872\nf 16192//16192 16709//16709 16710//16710\nf 16874//16874 16871//16871 16804//16804\nf 16716//16716 16714//16714 16875//16875\nf 16805//16805 16252//16252 16806//16806\nf 16721//16721 15841//15841 16722//16722\nf 15852//15852 16725//16725 16497//16497\nf 16503//16503 16490//16490 16494//16494\nf 16876//16876 16498//16498 16495//16495\nf 16727//16727 16496//16496 16076//16076\nf 16504//16504 16726//16726 16728//16728\nf 16877//16877 16502//16502 16878//16878\nf 16502//16502 16493//16493 16878//16878\nf 16879//16879 16499//16499 16500//16500\nf 16501//16501 16253//16253 16505//16505\nf 16253//16253 15864//15864 16505//16505\nf 16729//16729 16490//16490 16503//16503\nf 16507//16507 15871//15871 16728//16728\nf 16509//16509 16498//16498 16513//16513\nf 16507//16507 16880//16880 16512//16512\nf 16880//16880 16514//16514 16512//16512\nf 16808//16808 16881//16881 16731//16731\nf 15894//15894 16523//16523 16734//16734\nf 16529//16529 16735//16735 16811//16811\nf 16737//16737 16530//16530 16535//16535\nf 16884//16884 16809//16809 16738//16738\nf 16882//16882 16809//16809 16884//16884\nf 16740//16740 15908//15908 16540//16540\nf 16884//16884 16738//16738 16885//16885\nf 16738//16738 16541//16541 16885//16885\nf 16885//16885 16542//16542 16745//16745\nf 16885//16885 16541//16541 16542//16542\nf 16742//16742 15914//15914 16545//16545\nf 15915//15915 16812//16812 16743//16743\nf 16207//16207 15915//15915 16743//16743\nf 16814//16814 16750//16750 16559//16559\nf 16814//16814 16552//16552 16750//16750\nf 17265//17265 16563//16563 16560//16560\nf 16814//16814 16815//16815 16888//16888\nf 16569//16569 16751//16751 16567//16567\nf 16569//16569 16755//16755 16889//16889\nf 16891//16891 16571//16571 16574//16574\nf 16890//16890 16757//16757 16892//16892\nf 16760//16760 16892//16892 16757//16757\nf 15950//15950 16210//16210 16816//16816\nf 16210//16210 16758//16758 16816//16816\nf 16572//16572 16581//16581 16576//16576\nf 16892//16892 16760//16760 16763//16763\nf 15969//15969 16588//16588 16765//16765\nf 16765//16765 16588//16588 16895//16895\nf 16593//16593 16894//16894 16819//16819\nf 16215//16215 15969//15969 16765//16765\nf 15993//15993 16601//16601 16600//16600\nf 16604//16604 16896//16896 16605//16605\nf 16927//16927 16604//16604 16603//16603\nf 16608//16608 16606//16606 16008//16008\nf 16607//16607 16897//16897 16610//16610\nf 16609//16609 16610//16610 16897//16897\nf 15548//15548 16613//16613 16821//16821\nf 16268//16268 16269//16269 16821//16821\nf 16823//16823 16262//16262 16275//16275\nf 16972//16972 16270//16270 16276//16276\nf 16263//16263 16824//16824 16277//16277\nf 16280//16280 16013//16013 16768//16768\nf 16269//16269 16273//16273 16977//16977\nf 16283//16283 15562//15562 16277//16277\nf 16275//16275 16623//16623 16899//16899\nf 16993//16993 16900//16900 17488//17488\nf 17488//17488 16900//16900 16617//16617\nf 16300//16300 16274//16274 16825//16825\nf 16998//16998 16296//16296 16297//16297\nf 16303//16303 16309//16309 16302//16302\nf 16624//16624 16146//16146 16930//16930\nf 16626//16626 16314//16314 16827//16827\nf 16827//16827 16626//16626 16317//16317\nf 16829//16829 16771//16771 16901//16901\nf 17334//17334 16320//16320 16633//16633\nf 16828//16828 16321//16321 16324//16324\nf 17334//17334 16633//16633 17026//17026\nf 16333//16333 16630//16630 16229//16229\nf 16775//16775 16329//16329 16830//16830\nf 16333//16333 16774//16774 16630//16630\nf 16332//16332 16335//16335 16832//16832\nf 16229//16229 16336//16336 16333//16333\nf 16634//16634 16336//16336 16229//16229\nf 17030//17030 16330//16330 17414//17414\nf 16342//16342 16347//16347 16777//16777\nf 16777//16777 16636//16636 16351//16351\nf 17055//17055 16350//16350 17053//17053\nf 16639//16639 16635//16635 16349//16349\nf 16351//16351 15635//15635 16638//16638\nf 15643//15643 15631//15631 16642//16642\nf 15635//15635 15642//15642 16835//16835\nf 16779//16779 16359//16359 16902//16902\nf 16835//16835 15650//15650 16649//16649\nf 16360//16360 15655//15655 16648//16648\nf 16647//16647 15652//15652 16363//16363\nf 16653//16653 16655//16655 16782//16782\nf 16780//16780 16656//16656 16837//16837\nf 16645//16645 16837//16837 16838//16838\nf 16645//16645 16780//16780 16837//16837\nf 16651//16651 16645//16645 16838//16838\nf 16651//16651 16843//16843 16784//16784\nf 16651//16651 16838//16838 16843//16843\nf 16837//16837 16840//16840 16843//16843\nf 16658//16658 15667//15667 16383//16383\nf 16374//16374 16383//16383 16847//16847\nf 16383//16383 16393//16393 16847//16847\nf 16389//16389 16388//16388 16848//16848\nf 16849//16849 16903//16903 16385//16385\nf 16786//16786 16845//16845 16665//16665\nf 16904//16904 16393//16393 16397//16397\nf 16391//16391 15691//15691 16850//16850\nf 16400//16400 16667//16667 16394//16394\nf 16170//16170 16670//16670 16850//16850\nf 16905//16905 16401//16401 16671//16671\nf 16905//16905 16851//16851 16401//16401\nf 16405//16405 16853//16853 16406//16406\nf 15707//15707 16674//16674 16852//16852\nf 16673//16673 16787//16787 17122//17122\nf 15717//15717 16787//16787 16673//16673\nf 16787//16787 15717//15717 16411//16411\nf 16906//16906 16941//16941 16854//16854\nf 17132//17132 16855//16855 16414//16414\nf 16788//16788 16906//16906 16854//16854\nf 16906//16906 16788//16788 16909//16909\nf 16856//16856 16908//16908 16679//16679\nf 16416//16416 16907//16907 16422//16422\nf 16909//16909 16788//16788 16858//16858\nf 16909//16909 16858//16858 16790//16790\nf 16682//16682 16859//16859 16791//16791\nf 16791//16791 16859//16859 16944//16944\nf 16912//16912 16909//16909 16790//16790\nf 16862//16862 16910//16910 16865//16865\nf 16910//16910 16946//16946 16865//16865\nf 16912//16912 16790//16790 16860//16860\nf 16865//16865 16863//16863 16864//16864\nf 16860//16860 16793//16793 16911//16911\nf 16866//16866 16911//16911 16793//16793\nf 16911//16911 16864//16864 16863//16863\nf 16864//16864 16911//16911 16866//16866\nf 16696//16696 16864//16864 16866//16866\nf 16696//16696 16866//16866 16795//16795\nf 16439//16439 16432//16432 16695//16695\nf 16704//16704 17170//17170 17171//17171\nf 16470//16470 15798//15798 16468//16468\nf 17184//17184 16801//16801 16870//16870\nf 17184//17184 16870//16870 16803//16803\nf 16476//16476 16707//16707 16916//16916\nf 16917//16917 16803//16803 16874//16874\nf 16803//16803 16871//16871 16874//16874\nf 16918//16918 16917//16917 16874//16874\nf 16873//16873 16875//16875 16714//16714\nf 16874//16874 16918//16918 16804//16804\nf 16918//16918 16874//16874 16804//16804\nf 16716//16716 16875//16875 16718//16718\nf 16918//16918 16874//16874 16804//16804\nf 16918//16918 16804//16804 16718//16718\nf 16484//16484 16074//16074 16482//16482\nf 17201//17201 16721//16721 16722//16722\nf 16729//16729 16878//16878 16490//16490\nf 16495//16495 16496//16496 16727//16727\nf 16878//16878 16493//16493 16490//16490\nf 16878//16878 16729//16729 16881//16881\nf 16881//16881 16729//16729 16731//16731\nf 16919//16919 16516//16516 16513//16513\nf 16951//16951 16881//16881 16808//16808\nf 16736//16736 16537//16537 16883//16883\nf 16536//16536 16534//16534 16883//16883\nf 16921//16921 16538//16538 16920//16920\nf 16921//16921 16733//16733 16538//16538\nf 16540//16540 16739//16739 16886//16886\nf 16922//16922 16955//16955 16884//16884\nf 16922//16922 16884//16884 16885//16885\nf 16744//16744 16885//16885 16745//16745\nf 16748//16748 15922//15922 16550//16550\nf 16561//16561 16887//16887 17263//17263\nf 15933//15933 16560//16560 16563//16563\nf 16753//16753 16563//16563 16923//16923\nf 16924//16924 16959//16959 16888//16888\nf 16959//16959 16814//16814 16888//16888\nf 16751//16751 16569//16569 16815//16815\nf 16889//16889 16755//16755 16757//16757\nf 16891//16891 16578//16578 16571//16571\nf 16582//16582 16925//16925 16580//16580\nf 17294//17294 16585//16585 16586//16586\nf 16893//16893 16926//16926 16583//16583\nf 16817//16817 16590//16590 16818//16818\nf 16926//16926 16587//16587 16583//16583\nf 17302//17302 16592//16592 16595//16595\nf 16767//16767 16606//16606 17310//17310\nf 16599//16599 16767//16767 16606//16606\nf 16896//16896 16604//16604 16927//16927\nf 16964//16964 16264//16264 16270//16270\nf 16611//16611 16612//16612 16265//16265\nf 16612//16612 16266//16266 16271//16271\nf 17319//17319 16966//16966 16271//16271\nf 16968//16968 16267//16267 16898//16898\nf 16267//16267 16821//16821 16898//16898\nf 16968//16968 16898//16898 16821//16821\nf 16284//16284 16973//16973 16276//16276\nf 16971//16971 16277//16277 16824//16824\nf 17324//17324 16619//16619 16986//16986\nf 16980//16980 16620//16620 16621//16621\nf 16825//16825 16274//16274 16989//16989\nf 16986//16986 16619//16619 16620//16620\nf 16992//16992 16282//16282 16622//16622\nf 16295//16295 16899//16899 16623//16623\nf 16297//16297 15570//15570 16900//16900\nf 16297//16297 16019//16019 15570//15570\nf 16993//16993 16297//16297 16900//16900\nf 16900//16900 15570//15570 16617//16617\nf 16290//16290 16996//16996 16295//16295\nf 17519//17519 16998//16998 16297//16297\nf 16296//16296 16998//16998 16625//16625\nf 16224//16224 16146//16146 16624//16624\nf 16626//16626 16929//16929 16294//16294\nf 16146//16146 16306//16306 16930//16930\nf 17000//17000 16301//16301 16308//16308\nf 16304//16304 16299//16299 17002//17002\nf 16626//16626 17012//17012 17004//17004\nf 17009//17009 16309//16309 16311//16311\nf 16316//16316 16313//16313 17014//17014\nf 16318//16318 16770//16770 17018//17018\nf 16307//16307 16934//16934 16315//16315\nf 16228//16228 17017//17017 16629//16629\nf 17020//17020 16827//16827 16317//16317\nf 16308//16308 16319//16319 16320//16320\nf 17014//17014 16322//16322 16316//16316\nf 16315//16315 16934//16934 16932//16932\nf 16315//16315 16932//16932 16826//16826\nf 17024//17024 17021//17021 16774//16774\nf 16829//16829 16901//16901 16935//16935\nf 16829//16829 16935//16935 16936//16936\nf 17027//17027 16331//16331 16325//16325\nf 16775//16775 16830//16830 16829//16829\nf 16328//16328 16327//16327 16326//16326\nf 16328//16328 16327//16327 17028//17028\nf 16829//16829 16936//16936 16775//16775\nf 17038//17038 16334//16334 16834//16834\nf 16336//16336 16937//16937 16344//16344\nf 17335//17335 16340//16340 17038//17038\nf 16340//16340 16334//16334 17038//17038\nf 16639//16639 16938//16938 16635//16635\nf 16350//16350 17055//17055 16637//16637\nf 16642//16642 15631//15631 16637//16637\nf 16835//16835 16649//16649 17064//17064\nf 16359//16359 16902//16902 17063//17063\nf 16902//16902 16359//16359 17063//17063\nf 17066//17066 16652//16652 16781//16781\nf 17071//17071 16362//16362 16358//16358\nf 17075//17075 16652//16652 17066//17066\nf 16369//16369 16367//16367 17080//17080\nf 17079//17079 16370//16370 16379//16379\nf 16843//16843 16838//16838 16837//16837\nf 17081//17081 16376//16376 16369//16369\nf 17087//17087 16839//16839 16376//16376\nf 16657//16657 16845//16845 16844//16844\nf 16388//16388 16387//16387 17099//17099\nf 16388//16388 17101//17101 16848//16848\nf 16903//16903 16849//16849 17100//17100\nf 16903//16903 17100//17100 16385//16385\nf 16847//16847 16393//16393 16904//16904\nf 17107//17107 16397//16397 16851//16851\nf 17109//17109 16402//16402 16399//16399\nf 17109//17109 17111//17111 16402//16402\nf 17118//17118 16673//16673 17117//17117\nf 16406//16406 17115//17115 17119//17119\nf 16905//16905 16671//16671 16941//16941\nf 17120//17120 17121//17121 16410//16410\nf 16854//16854 16941//16941 16671//16671\nf 16852//16852 16674//16674 17499//17499\nf 17126//17126 17129//17129 16675//16675\nf 17131//17131 16413//16413 16408//16408\nf 17130//17130 16856//16856 16419//16419\nf 17139//17139 16907//16907 17135//17135\nf 17131//17131 16420//16420 16413//16413\nf 16679//16679 16908//16908 16859//16859\nf 16908//16908 17136//17136 16859//16859\nf 16909//16909 16942//16942 16906//16906\nf 16942//16942 16909//16909 16943//16943\nf 16859//16859 17137//17137 16944//16944\nf 17144//17144 17141//17141 16426//16426\nf 16943//16943 16909//16909 16912//16912\nf 17141//17141 16678//16678 16426//16426\nf 16863//16863 16947//16947 16945//16945\nf 16865//16865 16946//16946 16863//16863\nf 16947//16947 16863//16863 16946//16946\nf 16863//16863 16945//16945 16911//16911\nf 16860//16860 16945//16945 16912//16912\nf 16860//16860 16911//16911 16945//16945\nf 17148//17148 16861//16861 16425//16425\nf 17146//17146 17148//17148 16425//16425\nf 17144//17144 16426//16426 16429//16429\nf 17354//17354 16438//16438 17153//17153\nf 17354//17354 16429//16429 16438//16438\nf 16913//16913 16432//16432 17154//17154\nf 16432//16432 16913//16913 17154//17154\nf 16695//16695 16432//16432 16913//16913\nf 17154//17154 16695//16695 16913//16913\nf 16436//16436 17155//17155 16444//16444\nf 17156//17156 16442//16442 17159//17159\nf 16457//16457 16449//16449 16948//16948\nf 16459//16459 17166//17166 17356//17356\nf 16463//16463 16797//16797 17170//17170\nf 16915//16915 16464//16464 17168//17168\nf 16459//16459 16915//16915 17168//17168\nf 16914//16914 16453//16453 16867//16867\nf 16704//16704 17171//17171 16799//16799\nf 16467//16467 16469//16469 16868//16868\nf 17175//17175 16471//16471 16470//16470\nf 17176//17176 16469//16469 16800//16800\nf 16869//16869 16472//16472 17178//17178\nf 16706//16706 17183//17183 16707//16707\nf 16478//16478 16477//16477 16916//16916\nf 16711//16711 16710//16710 16872//16872\nf 17188//17188 17190//17190 16711//16711\nf 16918//16918 16718//16718 16875//16875\nf 17201//17201 16722//16722 16487//16487\nf 16488//16488 16485//16485 16486//16486\nf 17204//17204 16489//16489 16491//16491\nf 16726//16726 16949//16949 16728//16728\nf 16495//16495 16727//16727 16876//16876\nf 17372//17372 16879//16879 16500//16500\nf 16501//16501 16505//16505 17213//17213\nf 17216//17216 16728//16728 17214//17214\nf 17216//17216 16880//16880 16507//16507\nf 16951//16951 17223//17223 16881//16881\nf 16513//16513 16516//16516 16919//16919\nf 16808//16808 16809//16809 16951//16951\nf 16809//16809 16882//16882 16951//16951\nf 17241//17241 16811//16811 16735//16735\nf 17242//17242 16518//16518 16954//16954\nf 17242//17242 16532//16532 16520//16520\nf 17242//17242 16520//16520 16518//16518\nf 16534//16534 16953//16953 16883//16883\nf 17231//17231 16882//16882 16884//16884\nf 17231//17231 16884//16884 16955//16955\nf 16538//16538 16532//16532 16920//16920\nf 16540//16540 16886//16886 16740//16740\nf 16741//16741 16740//16740 16957//16957\nf 16955//16955 16922//16922 16956//16956\nf 16958//16958 16741//16741 16957//16957\nf 16922//16922 16885//16885 16744//16744\nf 16743//16743 16922//16922 16744//16744\nf 17257//17257 16813//16813 16748//16748\nf 16557//16557 16555//16555 17256//17256\nf 16557//16557 17256//17256 17258//17258\nf 16553//16553 16749//16749 17262//17262\nf 16552//16552 16814//16814 16553//16553\nf 16959//16959 16553//16553 16814//16814\nf 17264//17264 16560//16560 16561//16561\nf 17266//17266 16923//16923 17265//17265\nf 17267//17267 16923//16923 17266//17266\nf 17393//17393 16888//16888 16815//16815\nf 16564//16564 17268//17268 17394//17394\nf 16577//16577 15950//15950 16816//16816\nf 16960//16960 16892//16892 16817//16817\nf 16892//16892 16763//16763 16817//16817\nf 16893//16893 16583//16583 16578//16578\nf 17289//17289 16582//16582 16585//16585\nf 16818//16818 16961//16961 16817//16817\nf 17300//17300 16589//16589 16592//16592\nf 17303//17303 17301//17301 16596//16596\nf 16595//16595 16599//16599 17309//17309\nf 17308//17308 16598//16598 17311//17311\nf 17314//17314 16605//16605 16896//16896\nf 16261//16261 16262//16262 16963//16963\nf 16823//16823 16963//16963 16262//16262\nf 16964//16964 16263//16263 16264//16264\nf 16612//16612 16965//16965 16265//16265\nf 17319//17319 16271//16271 16614//16614\nf 17405//17405 17404//17404 16281//16281\nf 16615//16615 16272//16272 17320//17320\nf 17320//17320 17321//17321 16968//16968\nf 16968//16968 17321//17321 16267//16267\nf 16968//16968 16821//16821 16969//16969\nf 16822//16822 16978//16978 16261//16261\nf 16822//16822 16261//16261 16962//16962\nf 16970//16970 16823//16823 16275//16275\nf 16973//16973 16972//16972 16276//16276\nf 16975//16975 16614//16614 16285//16285\nf 16982//16982 16289//16289 16976//16976\nf 16289//16289 16286//16286 16976//16976\nf 16977//16977 16821//16821 16269//16269\nf 16978//16978 16822//16822 16261//16261\nf 16899//16899 16970//16970 16275//16275\nf 16263//16263 16971//16971 16824//16824\nf 16979//16979 16618//16618 17324//17324\nf 16277//16277 16971//16971 16983//16983\nf 16984//16984 16280//16280 16985//16985\nf 16616//16616 16618//16618 16979//16979\nf 16981//16981 16621//16621 16289//16289\nf 16273//16273 16987//16987 16977//16977\nf 17325//17325 16278//16278 16279//16279\nf 17407//17407 16617//16617 16283//16283\nf 16983//16983 17487//17487 16277//16277\nf 16291//16291 16990//16990 16284//16284\nf 16288//16288 16278//16278 16988//16988\nf 16273//16273 16992//16992 17326//17326\nf 16298//16298 16990//16990 16291//16291\nf 16292//16292 16288//16288 16991//16991\nf 16288//16288 16988//16988 16991//16991\nf 18301//18301 18030//18030 18031//18031\nf 16990//16990 16298//16298 16994//16994\nf 16987//16987 16273//16273 17326//17326\nf 16273//16273 16282//16282 16992//16992\nf 16290//16290 16997//16997 16996//16996\nf 17519//17519 16297//16297 16993//16993\nf 16998//16998 16999//16999 16625//16625\nf 16994//16994 16298//16298 17000//17000\nf 17000//17000 16298//16298 16301//16301\nf 16292//16292 16991//16991 16299//16299\nf 16294//16294 17001//17001 16992//16992\nf 16622//16622 16294//16294 16992//16992\nf 16825//16825 16995//16995 16300//16300\nf 16290//16290 16624//16624 16928//16928\nf 17004//17004 16294//16294 16929//16929\nf 16302//16302 17003//17003 16627//16627\nf 17003//17003 16302//16302 16309//16309\nf 16300//16300 16995//16995 17329//17329\nf 16626//16626 17004//17004 16929//16929\nf 16930//16930 16306//16306 16931//16931\nf 17410//17410 16930//16930 16931//16931\nf 17330//17330 17000//17000 17005//17005\nf 17009//17009 16311//16311 17010//17010\nf 16931//16931 16306//16306 16826//16826\nf 16929//16929 16626//16626 17004//17004\nf 17003//17003 16933//16933 16627//16627\nf 17006//17006 17013//17013 16770//16770\nf 16313//16313 16304//16304 17014//17014\nf 17020//17020 17012//17012 16626//16626\nf 17016//17016 16311//16311 16629//16629\nf 17010//17010 16311//16311 17016//17016\nf 16629//16629 17017//17017 17016//17016\nf 17013//17013 17018//17018 16770//16770\nf 16934//16934 16307//16307 17007//17007\nf 16304//16304 17015//17015 17014//17014\nf 16317//16317 16626//16626 16827//16827\nf 16931//16931 16826//16826 16932//16932\nf 16228//16228 16831//16831 17021//17021\nf 17022//17022 16322//16322 17014//17014\nf 17020//17020 16317//16317 16828//16828\nf 16318//16318 17023//17023 16631//16631\nf 16322//16322 17022//17022 16773//16773\nf 16771//16771 16933//16933 16935//16935\nf 16771//16771 16935//16935 16901//16901\nf 17021//17021 16831//16831 16774//16774\nf 16324//16324 17025//17025 16828//16828\nf 17027//17027 16325//16325 16773//16773\nf 17026//17026 16633//16633 17030//17030\nf 16324//16324 16832//16832 17025//17025\nf 17029//17029 17413//17413 17028//17028\nf 16631//16631 17023//17023 16326//16326\nf 16326//16326 17023//17023 17029//17029\nf 16774//16774 16333//16333 17024//17024\nf 16328//16328 17024//17024 16333//16333\nf 16328//16328 16326//16326 16327//16327\nf 17030//17030 16633//16633 16330//16330\nf 16775//16775 16936//16936 17031//17031\nf 17037//17037 16834//16834 17032//17032\nf 17034//17034 16832//16832 16335//16335\nf 16775//16775 17031//17031 17035//17035\nf 17035//17035 17031//17031 17036//17036\nf 17035//17035 16833//16833 16775//16775\nf 16339//16339 16330//16330 16337//16337\nf 16833//16833 17035//17035 16338//16338\nf 16834//16834 17037//17037 17038//17038\nf 16335//16335 17039//17039 17034//17034\nf 17035//17035 17040//17040 16338//16338\nf 16634//16634 16338//16338 17040//17040\nf 17040//17040 17041//17041 16634//16634\nf 16336//16336 16634//16634 17041//17041\nf 17039//17039 16335//16335 16776//16776\nf 17041//17041 16937//16937 16336//16336\nf 17043//17043 17039//17039 16776//16776\nf 17414//17414 16339//16339 17042//17042\nf 16343//16343 16340//16340 17335//17335\nf 16937//16937 17044//17044 16344//16344\nf 16341//16341 17043//17043 16776//16776\nf 16344//16344 17044//17044 16346//16346\nf 16346//16346 17044//17044 17047//17047\nf 17043//17043 16341//16341 17046//17046\nf 16341//16341 16348//16348 17046//17046\nf 17048//17048 16342//16342 16777//16777\nf 17048//17048 17042//17042 16342//16342\nf 17051//17051 16777//16777 16351//16351\nf 16352//16352 17050//17050 17057//17057\nf 16352//16352 16778//16778 17050//17050\nf 16635//16635 17054//17054 17052//17052\nf 16635//16635 16938//16938 17054//17054\nf 16639//16639 17054//17054 16938//16938\nf 17059//17059 16640//16640 17057//17057\nf 17054//17054 16639//16639 16779//16779\nf 16779//16779 17060//17060 16639//16639\nf 16639//16639 17060//17060 16779//16779\nf 17059//17059 17057//17057 17336//17336\nf 16638//16638 15635//15635 16835//16835\nf 16902//16902 17063//17063 16779//16779\nf 17062//17062 16835//16835 17064//17064\nf 16781//16781 16640//16640 17066//17066\nf 17067//17067 16358//16358 17061//17061\nf 16358//16358 16642//16642 17061//17061\nf 16648//16648 15654//15654 16647//16647\nf 16363//16363 17068//17068 16647//16647\nf 17063//17063 16902//16902 16359//16359\nf 17067//17067 17071//17071 16358//16358\nf 17073//17073 16655//16655 17072//17072\nf 16649//16649 16654//16654 17064//17064\nf 17337//17337 16368//16368 17076//17076\nf 17063//17063 16359//16359 17337//17337\nf 17337//17337 16359//16359 16368//16368\nf 17078//17078 16370//16370 17077//17077\nf 16655//16655 16372//16372 17073//17073\nf 16655//16655 17073//17073 17072//17072\nf 16367//16367 16836//16836 17074//17074\nf 17080//17080 16367//16367 17074//17074\nf 17077//17077 16370//16370 17079//17079\nf 16372//16372 16370//16370 17078//17078\nf 17071//17071 16841//16841 16362//16362\nf 16379//16379 17084//17084 17079//17079\nf 16378//16378 17084//17084 16379//16379\nf 17085//17085 16654//16654 16377//16377\nf 17426//17426 16373//16373 17075//17075\nf 16841//16841 17086//17086 16381//16381\nf 17086//17086 17088//17088 16381//16381\nf 16657//16657 16839//16839 17090//17090\nf 16382//16382 17084//17084 16378//16378\nf 17085//17085 16377//16377 16842//16842\nf 17089//17089 16661//16661 16373//16373\nf 17427//17427 16847//16847 17096//17096\nf 16842//16842 16386//16386 17085//17085\nf 17092//17092 16382//16382 16846//16846\nf 17093//17093 16845//16845 16657//16657\nf 17093//17093 17094//17094 16845//16845\nf 17093//17093 16657//16657 17090//17090\nf 16384//16384 17091//17091 16387//16387\nf 16661//16661 17098//17098 16392//16392\nf 16387//16387 17097//17097 17099//17099\nf 16385//16385 17100//17100 17092//17092\nf 17092//17092 16846//16846 16385//16385\nf 17094//17094 17102//17102 16665//16665\nf 17094//17094 16665//16665 16845//16845\nf 16389//16389 16848//16848 16849//16849\nf 16848//16848 17103//17103 16849//16849\nf 16849//16849 17103//17103 17100//17100\nf 16386//16386 16391//16391 17095//17095\nf 17105//17105 16392//16392 17098//17098\nf 16394//16394 16665//16665 16939//16939\nf 17106//17106 16399//16399 16668//16668\nf 17435//17435 16850//16850 17110//17110\nf 16394//16394 16940//16940 16400//16400\nf 16940//16940 17339//17339 16400//16400\nf 17108//17108 17107//17107 16851//16851\nf 16853//16853 17114//17114 17115//17115\nf 16406//16406 16853//16853 17115//17115\nf 17113//17113 16905//16905 16941//16941\nf 17118//17118 16405//16405 16673//16673\nf 17119//17119 16409//16409 16406//16406\nf 17119//17119 17120//17120 16409//16409\nf 16410//16410 16409//16409 17120//17120\nf 16410//16410 17121//17121 16412//16412\nf 17117//17117 16673//16673 17122//17122\nf 16787//16787 16411//16411 17122//17122\nf 17126//17126 16412//16412 17123//17123\nf 17129//17129 17126//17126 17127//17127\nf 17124//17124 17113//17113 16941//16941\nf 16419//16419 16675//16675 17129//17129\nf 17130//17130 16419//16419 17127//17127\nf 17127//17127 16419//16419 17129//17129\nf 17124//17124 16906//16906 16942//16942\nf 16906//16906 17124//17124 16941//16941\nf 16414//16414 16857//16857 17133//17133\nf 17132//17132 16414//16414 17133//17133\nf 17133//17133 16857//16857 16421//16421\nf 16859//16859 17136//17136 17134//17134\nf 17138//17138 16942//16942 16943//16943\nf 16912//16912 16945//16945 16943//16943\nf 17353//17353 17351//17351 16943//16943\nf 17145//17145 16425//16425 16420//16420\nf 17143//17143 16791//16791 16944//16944\nf 17143//17143 16910//16910 16791//16791\nf 16910//16910 17143//17143 16946//16946\nf 16946//16946 17350//17350 17351//17351\nf 16947//16947 17351//17351 17353//17353\nf 16947//16947 17353//17353 16943//16943\nf 16946//16946 17143//17143 17350//17350\nf 16946//16946 17351//17351 16947//16947\nf 16947//16947 16943//16943 16945//16945\nf 16687//16687 17147//17147 16427//16427\nf 17150//17150 17147//17147 16687//16687\nf 16432//16432 16861//16861 17148//17148\nf 16436//16436 16431//16431 17149//17149\nf 16687//16687 16792//16792 17152//17152\nf 17152//17152 16792//16792 16440//16440\nf 16438//16438 16442//16442 17156//17156\nf 16695//16695 17154//17154 17157//17157\nf 17159//17159 16442//16442 16451//16451\nf 16440//16440 16445//16445 17158//17158\nf 17160//17160 16449//16449 16695//16695\nf 16948//16948 16449//16449 17160//17160\nf 16797//16797 16447//16447 17164//17164\nf 17162//17162 16451//16451 16796//16796\nf 17164//17164 17163//17163 16797//16797\nf 17165//17165 16797//16797 17163//17163\nf 16459//16459 17356//17356 17162//17162\nf 16445//16445 16914//16914 17167//17167\nf 17166//17166 16459//16459 17168//17168\nf 17170//17170 16797//16797 17165//17165\nf 16799//16799 17172//17172 16464//16464\nf 16464//16464 17172//17172 17168//17168\nf 16798//16798 16460//16460 17169//17169\nf 17167//17167 16867//16867 17174//17174\nf 16798//16798 17173//17173 16703//16703\nf 16868//16868 17174//17174 16867//16867\nf 16470//16470 16468//16468 17175//17175\nf 17176//17176 16868//16868 16469//16469\nf 16472//16472 16471//16471 17177//17177\nf 17176//17176 16800//16800 17179//17179\nf 17180//17180 16473//16473 16869//16869\nf 17180//17180 17181//17181 16473//16473\nf 16802//16802 16473//16473 17181//17181\nf 17182//17182 16800//16800 16801//16801\nf 17183//17183 16802//16802 17181//17181\nf 17183//17183 16706//16706 16802//16802\nf 17360//17360 16801//16801 17184//17184\nf 17360//17360 17182//17182 16801//16801\nf 17186//17186 16478//16478 16916//16916\nf 17184//17184 16803//16803 16917//16917\nf 17189//17189 17366//17366 16917//16917\nf 16711//16711 16872//16872 17188//17188\nf 17189//17189 17365//17365 16918//16918\nf 17365//17365 17189//17189 16918//16918\nf 16918//16918 17189//17189 16917//16917\nf 16711//16711 17190//17190 17188//17188\nf 17193//17193 16875//16875 16873//16873\nf 17188//17188 17191//17191 16711//16711\nf 17192//17192 16875//16875 17193//17193\nf 17189//17189 16918//16918 16875//16875\nf 17192//17192 17189//17189 16875//16875\nf 17195//17195 16805//16805 16806//16806\nf 17195//17195 17194//17194 16805//16805\nf 16805//16805 17194//17194 16482//16482\nf 17198//17198 16721//16721 17199//17199\nf 16721//16721 17198//17198 16720//16720\nf 17200//17200 16486//16486 16484//16484\nf 16488//16488 16486//16486 17203//17203\nf 17204//17204 17202//17202 16489//16489\nf 16489//16489 17202//17202 16487//16487\nf 17206//17206 16491//16491 16492//16492\nf 17212//17212 17208//17208 16502//16502\nf 16502//16502 17208//17208 16726//16726\nf 17371//17371 16807//16807 16501//16501\nf 16807//16807 17207//17207 16492//16492\nf 16728//16728 16949//16949 16950//16950\nf 16950//16950 16949//16949 16726//16726\nf 16950//16950 16726//16726 17208//17208\nf 16495//16495 17210//17210 16876//16876\nf 16495//16495 16876//16876 17210//17210\nf 17213//17213 17371//17371 16501//16501\nf 16507//16507 16728//16728 17216//17216\nf 16950//16950 17214//17214 16728//16728\nf 16877//16877 17212//17212 16502//16502\nf 16876//16876 17210//17210 16498//16498\nf 17215//17215 16727//16727 16499//16499\nf 17217//17217 16727//16727 17215//17215\nf 16506//16506 17218//17218 16505//16505\nf 16506//16506 17220//17220 17218//17218\nf 17210//17210 17227//17227 16498//16498\nf 16506//16506 16510//16510 17220//17220\nf 17224//17224 16510//16510 16511//16511\nf 16514//16514 17225//17225 16730//16730\nf 16514//16514 17226//17226 17225//17225\nf 17226//17226 16514//16514 17222//17222\nf 17222//17222 16514//16514 16880//16880\nf 16878//16878 16881//16881 17223//17223\nf 16878//16878 17223//17223 16877//16877\nf 17225//17225 16511//16511 16730//16730\nf 17224//17224 16511//16511 17225//17225\nf 16513//16513 17228//17228 16516//16516\nf 17229//17229 17223//17223 16951//16951\nf 16518//16518 16516//16516 17230//17230\nf 17230//17230 17232//17232 16518//16518\nf 17231//17231 17229//17229 16882//16882\nf 17229//17229 16951//16951 16882//16882\nf 16883//16883 17233//17233 16736//16736\nf 16736//16736 17233//17233 17234//17234\nf 16736//16736 16952//16952 16531//16531\nf 16736//16736 17234//17234 16952//16952\nf 16953//16953 17233//17233 16883//16883\nf 16531//16531 16952//16952 17235//17235\nf 16531//16531 17235//17235 16530//16530\nf 16521//16521 17239//17239 16523//16523\nf 16735//16735 17240//17240 17241//17241\nf 17241//17241 17237//17237 16534//16534\nf 16953//16953 16534//16534 17237//17237\nf 16530//16530 17235//17235 16737//16737\nf 16530//16530 16737//16737 16535//16535\nf 16518//16518 17232//17232 17242//17242\nf 16518//16518 17242//17242 16954//16954\nf 16811//16811 17241//17241 16534//16534\nf 17380//17380 16737//16737 17235//17235\nf 16533//16533 17243//17243 16526//16526\nf 16533//16533 17244//17244 17243//17243\nf 16524//16524 17244//17244 16533//16533\nf 16524//16524 17246//17246 17244//17244\nf 16739//16739 16535//16535 17380//17380\nf 16733//16733 17246//17246 16524//16524\nf 16739//16739 17380//17380 17248//17248\nf 17249//17249 16920//16920 16532//16532\nf 17250//17250 16733//16733 16921//16921\nf 17250//17250 17246//17246 16733//16733\nf 17247//17247 16955//16955 16956//16956\nf 16920//16920 17250//17250 16921//16921\nf 16886//16886 17251//17251 16740//16740\nf 16958//16958 17252//17252 16741//16741\nf 16956//16956 16922//16922 16743//16743\nf 16741//16741 17252//17252 16544//16544\nf 16742//16742 17253//17253 17254//17254\nf 16742//16742 16545//16545 17253//17253\nf 17255//17255 16812//16812 17254//17254\nf 16812//16812 16742//16742 17254//17254\nf 16555//16555 16813//16813 17256//17256\nf 16749//16749 16551//16551 17260//17260\nf 17260//17260 16551//16551 16749//16749\nf 16557//16557 17259//17259 16556//16556\nf 16557//16557 17258//17258 17259//17259\nf 17261//17261 16558//16558 16556//16556\nf 16749//16749 16553//16553 17262//17262\nf 17389//17389 17262//17262 16553//16553\nf 16558//16558 17261//17261 16887//16887\nf 16560//16560 16561//16561 17263//17263\nf 17263//17263 16887//16887 17261//17261\nf 17264//17264 16561//16561 16560//16560\nf 17391//17391 17389//17389 16924//16924\nf 17267//17267 16754//16754 16753//16753\nf 16564//16564 16754//16754 17390//17390\nf 16924//16924 16888//16888 17393//17393\nf 17393//17393 16815//16815 16888//16888\nf 16569//16569 17269//17269 16815//16815\nf 16888//16888 16815//16815 17269//17269\nf 16889//16889 17269//17269 16569//16569\nf 17269//17269 16889//16889 17270//17270\nf 16757//16757 17270//17270 16889//16889\nf 16574//16574 17272//17272 16891//16891\nf 16891//16891 17273//17273 16578//16578\nf 17272//17272 17273//17273 16891//16891\nf 16890//16890 16892//16892 17271//17271\nf 16580//16580 17274//17274 16574//16574\nf 17276//17276 16577//16577 17275//17275\nf 16577//16577 16816//16816 17275//17275\nf 16572//16572 17282//17282 17281//17281\nf 16572//16572 16573//16573 17282//17282\nf 17283//17283 17280//17280 17284//17284\nf 17279//17279 17280//17280 17283//17283\nf 17398//17398 17286//17286 17285//17285\nf 17286//17286 16960//16960 17285//17285\nf 16892//16892 16960//16960 17286//17286\nf 17282//17282 16579//16579 17288//17288\nf 17398//17398 17285//17285 16961//16961\nf 16581//16581 16572//16572 17287//17287\nf 16925//16925 16582//16582 17289//17289\nf 16893//16893 17278//17278 17290//17290\nf 17291//17291 17284//17284 17292//17292\nf 17283//17283 17284//17284 17291//17291\nf 17398//17398 16961//16961 17293//17293\nf 16961//16961 16960//16960 16817//16817\nf 17285//17285 16960//16960 16961//16961\nf 17289//17289 16585//16585 17294//17294\nf 16893//16893 16578//16578 17278//17278\nf 17295//17295 16581//16581 17287//17287\nf 17298//17298 16893//16893 17290//17290\nf 17295//17295 16588//16588 16581//16581\nf 17298//17298 16926//16926 16893//16893\nf 16961//16961 16818//16818 17296//17296\nf 16818//16818 17299//17299 17296//17296\nf 16818//16818 16819//16819 17299//17299\nf 16587//16587 16926//16926 17298//17298\nf 17301//17301 16819//16819 16894//16894\nf 17301//17301 17299//17299 16819//16819\nf 17402//17402 16895//16895 17297//17297\nf 17300//17300 16592//16592 17302//17302\nf 16766//16766 16597//16597 16587//16587\nf 16766//16766 16587//16587 17298//17298\nf 16894//16894 16593//16593 16596//16596\nf 16894//16894 16596//16596 17301//17301\nf 16895//16895 16588//16588 17297//17297\nf 16596//16596 17306//17306 17304//17304\nf 16601//16601 17307//17307 16600//16600\nf 17307//17307 17306//17306 16600//16600\nf 17308//17308 16598//16598 16765//16765\nf 17302//17302 16595//16595 17309//17309\nf 16599//16599 16767//16767 17310//17310\nf 16602//16602 16598//16598 17308//17308\nf 17308//17308 17311//17311 16602//16602\nf 17310//17310 16606//16606 16767//16767\nf 16602//16602 17311//17311 17312//17312\nf 16927//16927 17313//17313 16604//16604\nf 16604//16604 17314//17314 16896//16896\nf 16896//16896 16927//16927 16604//16604\nf 16602//16602 17312//17312 16603//16603\nf 16927//16927 16603//16603 17312//17312\nf 17313//17313 16927//16927 17312//17312\nf 16605//16605 17314//17314 17315//17315\nf 16767//16767 16606//16606 17317//17317\nf 16607//16607 16605//16605 17315//17315\nf 17317//17317 16606//16606 17316//17316\nf 16608//16608 17316//17316 16606//16606\nf 17318//17318 16607//16607 17315//17315\nf 17318//17318 16897//16897 16607//16607\nf 16608//16608 16897//16897 17318//17318\nf 17316//17316 16608//16608 17318//17318\nf 16963//16963 16962//16962 16261//16261\nf 16271//16271 16966//16966 16612//16612\nf 16976//16976 16286//16286 16281//16281\nf 16967//16967 16615//16615 17320//17320\nf 16281//16281 16615//16615 16967//16967\nf 16978//16978 16822//16822 16962//16962\nf 16964//16964 16971//16971 16263//16263\nf 17323//17323 16265//16265 16965//16965\nf 16977//16977 16969//16969 16821//16821\nf 16970//16970 16899//16899 17322//17322\nf 16768//16768 16265//16265 16985//16985\nf 16285//16285 16616//16616 16975//16975\nf 16616//16616 16979//16979 16975//16975\nf 16986//16986 16620//16620 16980//16980\nf 16985//16985 16280//16280 16768//16768\nf 16618//16618 16619//16619 17324//17324\nf 16989//16989 16822//16822 16978//16978\nf 16973//16973 16284//16284 16990//16990\nf 17325//17325 16988//16988 16278//16278\nf 16989//16989 16274//16274 16822//16822\nf 16995//16995 16989//16989 16978//16978\nf 17322//17322 16295//16295 16996//16996\nf 17322//17322 16899//16899 16295//16295\nf 16825//16825 16989//16989 16995//16995\nf 17004//17004 17001//17001 16294//16294\nf 16770//16770 16300//16300 17329//17329\nf 17409//17409 16624//16624 16930//16930\nf 16625//16625 16999//16999 17007//17007\nf 16625//16625 17007//17007 16307//16307\nf 17000//17000 16308//16308 17005//17005\nf 17005//17005 16308//16308 17011//17011\nf 16304//16304 17002//17002 17008//17008\nf 17004//17004 16626//16626 16929//16929\nf 16626//16626 16827//16827 17020//17020\nf 16933//16933 16771//16771 16627//16627\nf 16318//16318 17018//17018 17013//17013\nf 17011//17011 16308//16308 17331//17331\nf 16308//16308 16320//16320 17331//17331\nf 17020//17020 16828//16828 17332//17332\nf 17023//17023 16318//16318 17013//17013\nf 17333//17333 16932//16932 16934//16934\nf 17027//17027 16773//16773 17022//17022\nf 17029//17029 17028//17028 16326//16326\nf 17028//17028 16327//16327 16326//16326\nf 17032//17032 17027//17027 17022//17022\nf 17031//17031 16936//16936 16935//16935\nf 17024//17024 16328//16328 17028//17028\nf 17032//17032 16331//16331 17027//17027\nf 17033//17033 17025//17025 16832//16832\nf 17033//17033 16832//16832 17034//17034\nf 16834//16834 16331//16331 17032//17032\nf 17045//17045 16343//16343 17335//17335\nf 16345//16345 16343//16343 17045//17045\nf 16345//16345 17416//17416 17491//17491\nf 17052//17052 17049//17049 16348//16348\nf 16350//16350 16346//16346 17417//17417\nf 16778//16778 16345//16345 17050//17050\nf 16637//16637 17055//17055 17058//17058\nf 16640//16640 16352//16352 17057//17057\nf 16642//16642 16637//16637 17058//17058\nf 16779//16779 17060//17060 17054//17054\nf 17056//17056 16638//16638 17418//17418\nf 16642//16642 17058//17058 17061//17061\nf 17418//17418 16638//16638 17062//17062\nf 16779//16779 17063//17063 17060//17060\nf 16364//16364 16360//16360 17065//17065\nf 17423//17423 16372//16372 17078//17078\nf 17070//17070 16782//16782 16655//16655\nf 17070//17070 16655//16655 17073//17073\nf 17337//17337 17076//17076 16368//16368\nf 17082//17082 16654//16654 17085//17085\nf 17086//17086 16841//16841 17071//17071\nf 17425//17425 17087//17087 16376//16376\nf 17090//17090 16839//16839 17087//17087\nf 17083//17083 16374//16374 16847//16847\nf 17427//17427 17083//17083 16847//16847\nf 17091//17091 16381//16381 17088//17088\nf 17091//17091 16384//16384 16381//16381\nf 17084//17084 16382//16382 17092//17092\nf 17429//17429 17427//17427 17096//17096\nf 16661//16661 17089//17089 17098//17098\nf 16387//16387 17091//17091 17097//17097\nf 17338//17338 17096//17096 16847//16847\nf 17101//17101 16388//16388 17099//17099\nf 16391//16391 17104//17104 17095//17095\nf 16904//16904 16397//16397 17107//17107\nf 17434//17434 16904//16904 17107//17107\nf 17434//17434 17107//17107 17108//17108\nf 16404//16404 16400//16400 17339//17339\nf 16851//16851 16905//16905 17108//17108\nf 16670//16670 17112//17112 17110//17110\nf 16670//16670 16852//16852 17112//17112\nf 16905//16905 17113//17113 17108//17108\nf 17499//17499 16674//16674 17347//17347\nf 17110//17110 17112//17112 17944//17944\nf 16853//16853 16405//16405 17118//17118\nf 17118//17118 17117//17117 17441//17441\nf 17120//17120 17119//17119 17121//17121\nf 17123//17123 16412//16412 17121//17121\nf 17124//17124 17341//17341 17113//17113\nf 17123//17123 17121//17121 17440//17440\nf 17341//17341 17340//17340 17113//17113\nf 17111//17111 17439//17439 16408//16408\nf 17126//17126 17123//17123 17440//17440\nf 17496//17496 17126//17126 17440//17440\nf 16404//16404 17125//17125 16407//16407\nf 16411//16411 17128//17128 17343//17343\nf 17126//17126 16675//16675 16412//16412\nf 16411//16411 16855//16855 17128//17128\nf 17127//17127 17342//17342 17130//17130\nf 17135//17135 16907//16907 16416//16416\nf 17128//17128 16855//16855 17132//17132\nf 17138//17138 17341//17341 17124//17124\nf 16908//16908 16856//16856 17342//17342\nf 17345//17345 17341//17341 17138//17138\nf 16942//16942 17138//17138 17124//17124\nf 16908//16908 17342//17342 17344//17344\nf 17344//17344 17443//17443 17445//17445\nf 17344//17344 17445//17445 17134//17134\nf 16859//16859 17134//17134 17137//17137\nf 17133//17133 16421//16421 17140//17140\nf 17137//17137 17346//17346 17349//17349\nf 17352//17352 16420//16420 17131//17131\nf 17137//17137 17349//17349 16944//16944\nf 17345//17345 17351//17351 17350//17350\nf 17345//17345 16943//16943 17351//17351\nf 17345//17345 17138//17138 16943//16943\nf 16422//16422 16907//16907 17139//17139\nf 17345//17345 17350//17350 17348//17348\nf 17141//17141 17347//17347 16678//16678\nf 16421//16421 17142//17142 17140//17140\nf 17143//17143 16944//16944 17349//17349\nf 17348//17348 17350//17350 17143//17143\nf 16427//16427 17142//17142 16421//16421\nf 17349//17349 17346//17346 17143//17143\nf 17346//17346 17348//17348 17143//17143\nf 17352//17352 17145//17145 16420//16420\nf 17139//17139 16424//16424 16422//16422\nf 17144//17144 16429//16429 17354//17354\nf 16432//16432 17148//17148 17151//17151\nf 17150//17150 16687//16687 17152//17152\nf 16913//16913 16432//16432 17151//17151\nf 16913//16913 17151//17151 17154//17154\nf 17153//17153 16438//16438 17156//17156\nf 16440//16440 17158//17158 17449//17449\nf 16444//16444 17155//17155 17355//17355\nf 16445//16445 17161//17161 17158//17158\nf 17355//17355 16447//16447 16444//16444\nf 17159//17159 16451//16451 17162//17162\nf 17355//17355 17163//17163 16447//16447\nf 17164//17164 16447//16447 17163//17163\nf 16445//16445 17167//17167 17161//17161\nf 17162//17162 16796//16796 16459//16459\nf 17172//17172 16799//16799 17171//17171\nf 17173//17173 16798//16798 17169//17169\nf 17167//17167 16914//16914 16867//16867\nf 16460//16460 16457//16457 17169//17169\nf 16703//16703 17173//17173 17357//17357\nf 17174//17174 16868//16868 17358//17358\nf 16468//16468 16703//16703 17357//17357\nf 17177//17177 16471//16471 17175//17175\nf 17176//17176 17358//17358 16868//16868\nf 17180//17180 17178//17178 17451//17451\nf 17181//17181 17180//17180 17359//17359\nf 17182//17182 17179//17179 16800//16800\nf 17452//17452 17179//17179 17360//17360\nf 17360//17360 17179//17179 17182//17182\nf 17361//17361 16707//16707 17183//17183\nf 17361//17361 16916//16916 16707//16707\nf 17363//17363 17360//17360 17184//17184\nf 17362//17362 16916//16916 17185//17185\nf 17362//17362 17186//17186 16916//16916\nf 16478//16478 17186//17186 17362//17362\nf 17364//17364 17363//17363 17184//17184\nf 16478//16478 17362//17362 16872//16872\nf 17365//17365 17364//17364 17366//17366\nf 17366//17366 17364//17364 16917//16917\nf 17364//17364 17184//17184 16917//16917\nf 17188//17188 16872//16872 17187//17187\nf 17189//17189 17365//17365 17366//17366\nf 17191//17191 17188//17188 17368//17368\nf 17193//17193 17365//17365 17189//17189\nf 17192//17192 17193//17193 17189//17189\nf 16713//16713 16711//16711 17191//17191\nf 17191//17191 17368//17368 16713//16713\nf 17369//17369 17193//17193 16873//16873\nf 16873//16873 16713//16713 17369//17369\nf 17195//17195 16806//16806 17196//17196\nf 16806//16806 16483//16483 17196//17196\nf 17198//17198 17196//17196 16720//16720\nf 17196//17196 16483//16483 16720//16720\nf 17370//17370 16484//16484 16482//16482\nf 17205//17205 16725//16725 16488//16488\nf 16491//16491 17206//17206 17204//17204\nf 16492//16492 17207//17207 17206//17206\nf 17211//17211 16497//16497 17209//17209\nf 17211//17211 16500//16500 16497//16497\nf 17371//17371 17207//17207 16807//16807\nf 17215//17215 16499//16499 16879//16879\nf 17217//17217 16876//16876 16727//16727\nf 17372//17372 17215//17215 16879//16879\nf 16880//16880 17216//17216 17219//17219\nf 16880//16880 17219//17219 17226//17226\nf 16877//16877 17373//17373 17212//17212\nf 17227//17227 16513//16513 16498//16498\nf 16510//16510 17221//17221 17220//17220\nf 17221//17221 16510//16510 17374//17374\nf 16880//16880 17226//17226 17222//17222\nf 17224//17224 17374//17374 16510//16510\nf 17373//17373 16877//16877 17223//17223\nf 17227//17227 17228//17228 16513//16513\nf 17229//17229 17373//17373 17223//17223\nf 17230//17230 16516//16516 17228//17228\nf 17377//17377 17375//17375 17376//17376\nf 17229//17229 17376//17376 17375//17375\nf 17375//17375 17377//17377 17376//17376\nf 17376//17376 17229//17229 17231//17231\nf 17233//17233 16953//16953 17237//17237\nf 17376//17376 17377//17377 17375//17375\nf 16521//16521 16522//16522 17236//17236\nf 16522//16522 17238//17238 17236//17236\nf 17377//17377 17376//17376 17231//17231\nf 16528//16528 17378//17378 17379//17379\nf 16528//16528 16734//16734 17378//17378\nf 16735//16735 16528//16528 17240//17240\nf 16528//16528 17379//17379 17240//17240\nf 16522//16522 16527//16527 16526//16526\nf 16535//16535 16737//16737 17380//17380\nf 17247//17247 17377//17377 17381//17381\nf 17377//17377 17231//17231 17381//17381\nf 17231//17231 16955//16955 17381//17381\nf 16955//16955 17247//17247 17381//17381\nf 17242//17242 17245//17245 16532//16532\nf 17381//17381 17377//17377 17247//17247\nf 16532//16532 17245//17245 17383//17383\nf 17385//17385 17381//17381 17247//17247\nf 17249//17249 16532//16532 17383//17383\nf 17246//17246 17250//17250 17384//17384\nf 16740//16740 17251//17251 16957//16957\nf 17382//17382 17381//17381 17385//17385\nf 16956//16956 17385//17385 17247//17247\nf 17467//17467 17382//17382 17385//17385\nf 17386//17386 16920//16920 17249//17249\nf 17383//17383 17386//17386 17249//17249\nf 16920//16920 17386//17386 17250//17250\nf 17255//17255 17385//17385 16956//16956\nf 16544//16544 17252//17252 17253//17253\nf 16956//16956 16743//16743 17255//17255\nf 17253//17253 16545//16545 16544//16544\nf 16743//16743 16812//16812 17255//17255\nf 16748//16748 16550//16550 17388//17388\nf 17388//17388 16551//16551 17260//17260\nf 17259//17259 17261//17261 16556//16556\nf 16749//16749 17262//17262 16551//16551\nf 17262//17262 16749//16749 16553//16553\nf 17389//17389 16553//16553 16959//16959\nf 16923//16923 16563//16563 17265//17265\nf 17267//17267 16753//16753 16923//16923\nf 17389//17389 16959//16959 16924//16924\nf 17390//17390 16754//16754 17267//17267\nf 17662//17662 17268//17268 17390//17390\nf 17392//17392 16924//16924 17393//17393\nf 17393//17393 16888//16888 17269//17269\nf 16568//16568 16566//16566 17394//17394\nf 16756//16756 17396//17396 16758//16758\nf 17274//17274 17272//17272 16574//16574\nf 16892//16892 17286//17286 17271//17271\nf 17274//17274 16580//16580 17277//17277\nf 17280//17280 17397//17397 17284//17284\nf 17282//17282 16573//16573 16579//16579\nf 17295//17295 17287//17287 16572//16572\nf 16579//16579 16577//16577 17276//17276\nf 17279//17279 17283//17283 17291//17291\nf 17292//17292 17284//17284 17399//17399\nf 17400//17400 17398//17398 17293//17293\nf 17284//17284 17397//17397 17399//17399\nf 17400//17400 17474//17474 17398//17398\nf 17294//17294 16586//16586 16589//16589\nf 16961//16961 17296//17296 17293//17293\nf 17479//17479 16589//16589 17300//17300\nf 17303//17303 16596//16596 17304//17304\nf 17305//17305 16766//16766 17298//17298\nf 16596//16596 16600//16600 17306//17306\nf 17307//17307 16766//16766 17305//17305\nf 16601//16601 16766//16766 17307//17307\nf 16765//16765 16895//16895 17402//17402\nf 17309//17309 16599//16599 17310//17310\nf 16598//16598 17308//17308 17311//17311\nf 17483//17483 17314//17314 16604//16604\nf 17310//17310 16767//16767 17317//17317\nf 16970//16970 16963//16963 16823//16823\nf 16270//16270 16972//16972 16964//16964\nf 16965//16965 16612//16612 16966//16966\nf 16614//16614 16974//16974 17319//17319\nf 17404//17404 17484//17484 16976//16976\nf 17404//17404 16976//16976 16281//16281\nf 17405//17405 16281//16281 16967//16967\nf 17485//17485 17320//17320 16968//16968\nf 16272//16272 17321//17321 17320//17320\nf 16272//16272 16267//16267 17321//17321\nf 16963//16963 16978//16978 16962//16962\nf 17406//17406 16970//16970 17322//17322\nf 17406//17406 17322//17322 16899//16899\nf 16981//16981 16980//16980 16982//16982\nf 16980//16980 16981//16981 16982//16982\nf 16981//16981 16289//16289 16982//16982\nf 17322//17322 17406//17406 16899//16899\nf 16981//16981 16980//16980 16621//16621\nf 16991//16991 16988//16988 17408//17408\nf 17322//17322 16996//16996 16997//16997\nf 16290//16290 16928//16928 16997//16997\nf 16299//16299 16991//16991 17328//17328\nf 17410//17410 17409//17409 16930//16930\nf 17009//17009 17003//17003 16309//16309\nf 16770//16770 17329//17329 17006//17006\nf 17005//17005 17011//17011 17330//17330\nf 17329//17329 17489//17489 17006//17006\nf 17015//17015 16304//16304 17008//17008\nf 17004//17004 17012//17012 17020//17020\nf 17017//17017 17010//17010 17016//17016\nf 17019//17019 16228//16228 17021//17021\nf 17331//17331 16320//16320 17334//17334\nf 17013//17013 17411//17411 17023//17023\nf 17024//17024 17028//17028 17413//17413\nf 16935//16935 17412//17412 17031//17031\nf 16330//16330 16339//16339 17414//17414\nf 16937//16937 17041//17041 17415//17415\nf 16339//16339 16342//16342 17042//17042\nf 16937//16937 17047//17047 17044//17044\nf 17045//17045 17335//17335 17416//17416\nf 16345//16345 17045//17045 17416//17416\nf 17046//17046 16348//16348 17049//17049\nf 16346//16346 17047//17047 17417//17417\nf 17048//17048 16777//16777 17051//17051\nf 16348//16348 16635//16635 17052//17052\nf 17053//17053 16350//16350 17417//17417\nf 17417//17417 17055//17055 17053//17053\nf 16351//16351 16638//16638 17056//17056\nf 17058//17058 17055//17055 17417//17417\nf 17419//17419 17054//17054 17060//17060\nf 16638//16638 16835//16835 17062//17062\nf 16640//16640 17059//17059 17336//17336\nf 16640//16640 17336//17336 17059//17059\nf 17066//17066 16640//16640 17059//17059\nf 17492//17492 17060//17060 17063//17063\nf 16360//16360 16648//16648 16647//16647\nf 16363//16363 16782//16782 17070//17070\nf 17069//17069 16364//16364 17065//17065\nf 17421//17421 17075//17075 17066//17066\nf 17422//17422 17423//17423 17077//17077\nf 17423//17423 17078//17078 17077//17077\nf 17073//17073 16372//16372 17423//17423\nf 17424//17424 17064//17064 16654//16654\nf 17424//17424 17082//17082 17085//17085\nf 16654//16654 17082//17082 17424//17424\nf 17337//17337 16368//16368 17083//17083\nf 16652//16652 17421//17421 17075//17075\nf 17075//17075 16373//16373 16652//16652\nf 17081//17081 17425//17425 16376//16376\nf 17087//17087 17425//17425 17090//17090\nf 17426//17426 17089//17089 16373//16373\nf 17091//17091 17088//17088 17525//17525\nf 17085//17085 16386//16386 17095//17095\nf 17084//17084 17092//17092 17428//17428\nf 17103//17103 16848//16848 17101//17101\nf 17100//17100 17431//17431 17092//17092\nf 17102//17102 17094//17094 17432//17432\nf 17096//17096 17338//17338 17433//17433\nf 17338//17338 16847//16847 16904//16904\nf 17106//17106 16392//16392 17105//17105\nf 16904//16904 17434//17434 17338//17338\nf 17104//17104 16391//16391 16850//16850\nf 16668//16668 16392//16392 17106//17106\nf 17438//17438 17494//17494 17434//17434\nf 16399//16399 17436//17436 17437//17437\nf 16399//16399 17106//17106 17436//17436\nf 17438//17438 17434//17434 17108//17108\nf 16940//16940 16394//16394 16939//16939\nf 17438//17438 17108//17108 17340//17340\nf 17113//17113 17340//17340 17108//17108\nf 17110//17110 17944//17944 18132//18132\nf 16853//16853 17118//17118 17114//17114\nf 16408//16408 16402//16402 17111//17111\nf 17122//17122 17441//17441 17117//17117\nf 16675//16675 17126//17126 17496//17496\nf 17341//17341 17442//17442 17340//17340\nf 16404//16404 17116//17116 17125//17125\nf 17122//17122 16411//16411 17343//17343\nf 16856//16856 17130//17130 17342//17342\nf 17444//17444 17131//17131 16408//16408\nf 17443//17443 17344//17344 17342//17342\nf 16908//16908 17344//17344 17134//17134\nf 17134//17134 17445//17445 17137//17137\nf 17136//17136 16908//16908 17134//17134\nf 17500//17500 17346//17346 17498//17498\nf 17442//17442 17341//17341 17345//17345\nf 16416//16416 16407//16407 17135//17135\nf 17446//17446 17352//17352 17131//17131\nf 17447//17447 17145//17145 17352//17352\nf 17147//17147 17142//17142 16427//16427\nf 16424//16424 17139//17139 17448//17448\nf 17447//17447 17146//17146 17145//17145\nf 17146//17146 16425//16425 17145//17145\nf 17149//17149 16431//16431 16424//16424\nf 16440//16440 17449//17449 17152//17152\nf 16695//16695 17157//17157 17160//17160\nf 17450//17450 17160//17160 17157//17157\nf 17450//17450 17157//17157 17530//17530\nf 16457//16457 16948//16948 17160//17160\nf 17169//17169 16457//16457 17450//17450\nf 17170//17170 17165//17165 17171//17171\nf 17175//17175 17173//17173 17502//17502\nf 17532//17532 17174//17174 17358//17358\nf 16468//16468 17357//17357 17175//17175\nf 17177//17177 17175//17175 17503//17503\nf 17451//17451 17178//17178 17177//17177\nf 16472//16472 17177//17177 17178//17178\nf 17180//17180 16869//16869 17178//17178\nf 17504//17504 17176//17176 17179//17179\nf 17183//17183 17181//17181 17359//17359\nf 17185//17185 16916//16916 17361//17361\nf 17362//17362 17361//17361 17453//17453\nf 17454//17454 17360//17360 17363//17363\nf 17361//17361 17362//17362 17185//17185\nf 17364//17364 17454//17454 17363//17363\nf 17362//17362 17456//17456 16872//16872\nf 17193//17193 17364//17364 17365//17365\nf 17187//17187 16872//16872 17456//17456\nf 17457//17457 17364//17364 17193//17193\nf 17508//17508 17457//17457 17193//17193\nf 17188//17188 17507//17507 17509//17509\nf 17369//17369 16713//16713 17368//17368\nf 17197//17197 16482//16482 17194//17194\nf 17370//17370 16482//16482 17197//17197\nf 17199//17199 16721//16721 17201//17201\nf 16484//16484 17370//17370 17200//17200\nf 17201//17201 16487//16487 17202//17202\nf 17458//17458 16486//16486 17200//17200\nf 17458//17458 17203//17203 16486//16486\nf 16488//16488 17203//17203 17205//17205\nf 17209//17209 16725//16725 17205//17205\nf 16497//16497 16725//16725 17209//17209\nf 17371//17371 17459//17459 17207//17207\nf 16500//16500 17211//17211 17372//17372\nf 17459//17459 17371//17371 17213//17213\nf 17216//17216 17214//17214 17461//17461\nf 17214//17214 16950//16950 17461//17461\nf 17460//17460 17208//17208 17212//17212\nf 17213//17213 16505//16505 17218//17218\nf 17460//17460 17212//17212 17373//17373\nf 17226//17226 17462//17462 17225//17225\nf 17375//17375 17373//17373 17229//17229\nf 17511//17511 17510//17510 17375//17375\nf 17464//17464 17237//17237 17463//17463\nf 17464//17464 17234//17234 17233//17233\nf 17233//17233 17237//17237 17464//17464\nf 17241//17241 17463//17463 17237//17237\nf 16521//16521 17236//17236 17239//17239\nf 17378//17378 16523//16523 17239//17239\nf 16734//16734 16523//16523 17378//17378\nf 17465//17465 17377//17377 17381//17381\nf 16522//16522 16526//16526 17243//17243\nf 17381//17381 17382//17382 17465//17465\nf 17383//17383 17242//17242 17466//17466\nf 17242//17242 17383//17383 17245//17245\nf 16886//16886 16739//16739 17248//17248\nf 16886//16886 17248//17248 17251//17251\nf 17254//17254 17467//17467 17255//17255\nf 17467//17467 17385//17385 17255//17255\nf 17468//17468 17253//17253 17252//17252\nf 17469//17469 17253//17253 17468//17468\nf 17256//17256 16813//16813 17257//17257\nf 17257//17257 16748//16748 17387//17387\nf 16550//16550 16551//16551 17388//17388\nf 17260//17260 16551//16551 17262//17262\nf 17264//17264 16560//16560 17263//17263\nf 17392//17392 17393//17393 17270//17270\nf 16566//16566 16564//16564 17394//17394\nf 17270//17270 17393//17393 17269//17269\nf 16890//16890 17271//17271 17270//17270\nf 16757//16757 16890//16890 17270//17270\nf 17396//17396 16568//16568 17395//17395\nf 17470//17470 17271//17271 17471//17471\nf 16570//16570 16568//16568 17396//17396\nf 17275//17275 16816//16816 16758//16758\nf 17473//17473 17280//17280 17472//17472\nf 17471//17471 17271//17271 17286//17286\nf 17273//17273 17278//17278 16578//16578\nf 17472//17472 17280//17280 17279//17279\nf 17277//17277 16925//16925 17475//17475\nf 17277//17277 16580//16580 16925//16925\nf 17281//17281 17282//17282 17295//17295\nf 17288//17288 16579//16579 17276//17276\nf 17475//17475 16925//16925 17289//17289\nf 17278//17278 17476//17476 17290//17290\nf 17400//17400 17397//17397 17474//17474\nf 17281//17281 17295//17295 16572//16572\nf 17475//17475 17289//17289 17294//17294\nf 17477//17477 17291//17291 17401//17401\nf 17279//17279 17291//17291 17477//17477\nf 17400//17400 17399//17399 17397//17397\nf 17294//17294 16589//16589 17479//17479\nf 17297//17297 17295//17295 17478//17478\nf 17401//17401 17480//17480 17290//17290\nf 17296//17296 17299//17299 17400//17400\nf 17293//17293 17296//17296 17400//17400\nf 17297//17297 16588//16588 17295//17295\nf 17290//17290 17480//17480 17298//17298\nf 17481//17481 17300//17300 17302//17302\nf 17308//17308 16765//16765 17402//17402\nf 17308//17308 17402//17402 17311//17311\nf 17482//17482 17315//17315 17314//17314\nf 16966//16966 17403//17403 16965//16965\nf 17319//17319 16965//16965 17403//17403\nf 16966//16966 17319//17319 17403//17403\nf 17404//17404 17405//17405 17551//17551\nf 17405//17405 16967//16967 17320//17320\nf 17517//17517 16978//16978 16963//16963\nf 16971//16971 17552//17552 17693//17693\nf 16614//16614 16975//16975 16974//16974\nf 17863//17863 16979//16979 17690//17690\nf 17694//17694 16985//16985 17323//17323\nf 16279//16279 16280//16280 17325//17325\nf 16984//16984 17325//17325 16280//16280\nf 16995//16995 16978//16978 17555//17555\nf 18031//18031 17488//17488 17407//17407\nf 16997//16997 17486//17486 17322//17322\nf 18030//18030 17488//17488 18031//18031\nf 17488//17488 16617//16617 17407//17407\nf 16999//16999 17327//17327 16931//16931\nf 16999//16999 16931//16931 17007//17007\nf 17002//17002 16299//16299 17328//17328\nf 16991//16991 17002//17002 17328//17328\nf 17004//17004 16992//16992 17001//17001\nf 17489//17489 17329//17329 16995//16995\nf 16624//16624 17409//17409 16928//16928\nf 16934//16934 17007//17007 16931//16931\nf 17017//17017 16228//16228 17019//17019\nf 17332//17332 16828//16828 17025//17025\nf 17333//17333 16934//16934 17490//17490\nf 17050//17050 16345//16345 17491//17491\nf 17051//17051 16351//16351 17056//17056\nf 17419//17419 17060//17060 17492//17492\nf 17059//17059 17336//17336 17066//17066\nf 16363//16363 17070//17070 17068//17068\nf 16836//16836 16364//16364 17069//17069\nf 17492//17492 17063//17063 17337//17337\nf 17492//17492 17337//17337 17523//17523\nf 17421//17421 17066//17066 17522//17522\nf 17081//17081 16369//16369 17080//17080\nf 17421//17421 17426//17426 17075//17075\nf 17084//17084 17077//17077 17079//17079\nf 17084//17084 17493//17493 17077//17077\nf 17427//17427 17337//17337 17083//17083\nf 17098//17098 17426//17426 17089//17089\nf 17098//17098 17089//17089 17426//17426\nf 17096//17096 17433//17433 17429//17429\nf 17097//17097 17101//17101 17099//17099\nf 17104//17104 17430//17430 17095//17095\nf 17433//17433 17338//17338 17434//17434\nf 17494//17494 17433//17433 17434//17434\nf 16850//16850 17435//17435 17104//17104\nf 16939//16939 16665//16665 17102//17102\nf 16670//16670 17110//17110 16850//16850\nf 17111//17111 17109//17109 17439//17439\nf 17495//17495 17438//17438 17340//17340\nf 17495//17495 17526//17526 17438//17438\nf 16404//16404 17339//17339 17116//17116\nf 17114//17114 17117//17117 17118//17118\nf 17118//17118 17117//17117 17114//17114\nf 17340//17340 17442//17442 17495//17495\nf 17126//17126 16675//16675 17496//17496\nf 17127//17127 17497//17497 17342//17342\nf 17444//17444 16408//16408 17439//17439\nf 17137//17137 17445//17445 17498//17498\nf 17761//17761 17131//17131 17444//17444\nf 17346//17346 17137//17137 17498//17498\nf 17348//17348 17346//17346 17500//17500\nf 17125//17125 17135//17135 16407//16407\nf 17764//17764 17347//17347 17141//17141\nf 17149//17149 16424//16424 17448//17448\nf 16436//16436 17149//17149 17155//17155\nf 17156//17156 17159//17159 17153//17153\nf 17530//17530 17771//17771 17450//17450\nf 17158//17158 17161//17161 17616//17616\nf 16457//16457 17160//17160 17450//17450\nf 17171//17171 17165//17165 17163//17163\nf 17175//17175 17357//17357 17173//17173\nf 17533//17533 17532//17532 17358//17358\nf 17358//17358 17176//17176 17504//17504\nf 17452//17452 17504//17504 17179//17179\nf 17505//17505 17183//17183 17359//17359\nf 17452//17452 17360//17360 17454//17454\nf 17457//17457 17454//17454 17364//17364\nf 17453//17453 17456//17456 17362//17362\nf 17193//17193 17369//17369 17508//17508\nf 17456//17456 17507//17507 17188//17188\nf 17187//17187 17456//17456 17188//17188\nf 17188//17188 17509//17509 17368//17368\nf 16876//16876 17217//17217 17210//17210\nf 17374//17374 17225//17225 17462//17462\nf 17374//17374 17224//17224 17225//17225\nf 17510//17510 17373//17373 17375//17375\nf 17375//17375 17377//17377 17511//17511\nf 17512//17512 17382//17382 17467//17467\nf 17469//17469 17512//17512 17467//17467\nf 17467//17467 17253//17253 17469//17469\nf 17254//17254 17253//17253 17467//17467\nf 17252//17252 16958//16958 17468//17468\nf 17388//17388 17387//17387 16748//16748\nf 17514//17514 17262//17262 17389//17389\nf 17265//17265 16560//16560 17264//17264\nf 17544//17544 17267//17267 17266//17266\nf 17514//17514 17389//17389 17391//17391\nf 17268//17268 16564//16564 17390//17390\nf 16924//16924 17392//17392 17391//17391\nf 17270//17270 17391//17391 17392//17392\nf 17395//17395 16568//16568 17394//17394\nf 17470//17470 17471//17471 17547//17547\nf 17470//17470 17270//17270 17271//17271\nf 17396//17396 16756//16756 16570//16570\nf 17515//17515 17471//17471 17286//17286\nf 17515//17515 17286//17286 17398//17398\nf 17401//17401 17476//17476 17477//17477\nf 17290//17290 17476//17476 17401//17401\nf 17307//17307 17305//17305 17298//17298\nf 17480//17480 17307//17307 17298//17298\nf 17302//17302 17309//17309 17310//17310\nf 17482//17482 17516//17516 17318//17318\nf 17312//17312 17311//17311 17313//17313\nf 17318//17318 17315//17315 17482//17482\nf 16985//16985 16265//16265 17323//17323\nf 16987//16987 17326//17326 16977//16977\nf 17698//17698 17487//17487 16983//16983\nf 17007//17007 16934//16934 16931//16931\nf 17014//17014 17015//17015 17520//17520\nf 17520//17520 17015//17015 17008//17008\nf 17560//17560 17009//17009 17010//17010\nf 17891//17891 16931//16931 16932//16932\nf 17004//17004 17561//17561 17707//17707\nf 17568//17568 17022//17022 17014//17014\nf 17023//17023 17572//17572 17029//17029\nf 17574//17574 17025//17025 17033//17033\nf 17574//17574 17033//17033 17575//17575\nf 17034//17034 17039//17039 17043//17043\nf 17335//17335 17038//17038 17037//17037\nf 17066//17066 17336//17336 17522//17522\nf 16647//16647 17068//17068 17420//17420\nf 17074//17074 16836//16836 17069//17069\nf 17086//17086 17071//17071 17067//17067\nf 17080//17080 17074//17074 17081//17081\nf 17421//17421 16652//16652 17075//17075\nf 17425//17425 17081//17081 17736//17736\nf 17523//17523 17337//17337 17524//17524\nf 17524//17524 17337//17337 17427//17427\nf 17584//17584 17427//17427 17429//17429\nf 17585//17585 17584//17584 17429//17429\nf 17106//17106 17105//17105 17436//17436\nf 17526//17526 17594//17594 17438//17438\nf 17594//17594 17494//17494 17438//17438\nf 17109//17109 16399//16399 17437//17437\nf 17339//17339 16940//16940 16939//16939\nf 17127//17127 17496//17496 17527//17527\nf 17445//17445 17528//17528 17529//17529\nf 17127//17127 17126//17126 17496//17496\nf 17343//17343 17441//17441 17122//17122\nf 17445//17445 17443//17443 17528//17528\nf 17445//17445 17529//17529 17498//17498\nf 17529//17529 17599//17599 17498//17498\nf 17497//17497 17443//17443 17342//17342\nf 17603//17603 17348//17348 17500//17500\nf 17603//17603 17604//17604 17348//17348\nf 17133//17133 17142//17142 17140//17140\nf 17133//17133 17140//17140 17142//17142\nf 17142//17142 17147//17147 17606//17606\nf 17154//17154 17148//17148 17151//17151\nf 17151//17151 17148//17148 17154//17154\nf 17609//17609 17354//17354 17153//17153\nf 17613//17613 17501//17501 17152//17152\nf 17613//17613 17152//17152 17449//17449\nf 17161//17161 17167//17167 17616//17616\nf 17163//17163 17619//17619 17171//17171\nf 17166//17166 17531//17531 17356//17356\nf 17166//17166 17168//17168 17531//17531\nf 17532//17532 17620//17620 17174//17174\nf 17177//17177 17503//17503 17175//17175\nf 17451//17451 17177//17177 17503//17503\nf 17533//17533 17358//17358 17504//17504\nf 17451//17451 17359//17359 17180//17180\nf 17183//17183 17505//17505 17361//17361\nf 17536//17536 17452//17452 17454//17454\nf 17457//17457 17536//17536 17454//17454\nf 17508//17508 17632//17632 17536//17536\nf 17537//17537 17455//17455 17506//17506\nf 17537//17537 17506//17506 17535//17535\nf 17456//17456 17453//17453 17631//17631\nf 17508//17508 17536//17536 17457//17457\nf 17369//17369 17368//17368 17508//17508\nf 17634//17634 17540//17540 17538//17538\nf 17540//17540 17367//17367 17538//17538\nf 17367//17367 17455//17455 17538//17538\nf 17204//17204 17206//17206 17641//17641\nf 17372//17372 17211//17211 17209//17209\nf 17647//17647 17463//17463 17541//17541\nf 17463//17463 17241//17241 17541//17541\nf 17379//17379 17378//17378 17649//17649\nf 17238//17238 17542//17542 17236//17236\nf 17380//17380 17235//17235 17651//17651\nf 17513//17513 17383//17383 17466//17466\nf 17514//17514 17260//17260 17262//17262\nf 17832//17832 17833//17833 17265//17265\nf 17390//17390 17267//17267 17544//17544\nf 17545//17545 17514//17514 17391//17391\nf 17268//17268 17546//17546 17394//17394\nf 17275//17275 16758//16758 17396//17396\nf 17474//17474 17669//17669 17515//17515\nf 17515//17515 17398//17398 17474//17474\nf 17278//17278 17273//17273 17476//17476\nf 17477//17477 17472//17472 17279//17279\nf 17548//17548 17401//17401 17291//17291\nf 17548//17548 17480//17480 17401//17401\nf 17399//17399 17400//17400 17301//17301\nf 17299//17299 17301//17301 17400//17400\nf 17676//17676 17300//17300 17481//17481\nf 16604//16604 17313//17313 17483//17483\nf 17550//17550 16982//16982 16976//16976\nf 17682//17682 16976//16976 17484//17484\nf 17684//17684 17404//17404 17551//17551\nf 17485//17485 17551//17551 17320//17320\nf 17551//17551 17405//17405 17320//17320\nf 17690//17690 17324//17324 16986//16986\nf 17549//17549 17517//17517 16963//16963\nf 17549//17549 17685//17685 17517//17517\nf 17406//17406 17322//17322 17486//17486\nf 16971//16971 16964//16964 17552//17552\nf 16983//16983 16971//16971 17693//17693\nf 17407//17407 16283//16283 17487//17487\nf 17554//17554 16977//16977 17326//17326\nf 17554//17554 17326//17326 17556//17556\nf 16997//16997 17518//17518 17486//17486\nf 16997//16997 16928//16928 17518//17518\nf 17877//17877 16999//16999 16998//16998\nf 17704//17704 17002//17002 16991//16991\nf 17557//17557 17705//17705 16992//16992\nf 16992//16992 17004//17004 17557//17557\nf 16933//16933 17009//17009 17559//17559\nf 16933//16933 17003//17003 17009//17009\nf 17560//17560 17559//17559 17009//17009\nf 17010//17010 17017//17017 17560//17560\nf 17561//17561 17020//17020 17707//17707\nf 18036//18036 17017//17017 17889//17889\nf 17006//17006 17489//17489 17706//17706\nf 17013//17013 17006//17006 17706//17706\nf 17021//17021 17521//17521 17563//17563\nf 17014//17014 17565//17565 17568//17568\nf 17021//17021 17413//17413 17521//17521\nf 17024//17024 17413//17413 17021//17021\nf 17567//17567 16932//16932 17333//17333\nf 16935//16935 16933//16933 17570//17570\nf 17571//17571 17413//17413 17029//17029\nf 17572//17572 17023//17023 17573//17573\nf 17412//17412 17570//17570 17031//17031\nf 17032//17032 17022//17022 17712//17712\nf 17575//17575 17033//17033 17034//17034\nf 17576//17576 17036//17036 17031//17031\nf 17577//17577 17030//17030 17414//17414\nf 17039//17039 17034//17034 17043//17043\nf 17714//17714 17034//17034 17039//17039\nf 17578//17578 17335//17335 17037//17037\nf 17720//17720 17042//17042 17048//17048\nf 17904//17904 17719//17719 17049//17049\nf 17721//17721 17048//17048 17051//17051\nf 17050//17050 17416//17416 17722//17722\nf 17906//17906 17721//17721 17051//17051\nf 17579//17579 17052//17052 17054//17054\nf 17580//17580 17062//17062 17909//17909\nf 17492//17492 17581//17581 17419//17419\nf 17062//17062 17727//17727 17725//17725\nf 16647//16647 17420//17420 17582//17582\nf 17727//17727 17062//17062 17064//17064\nf 17423//17423 17729//17729 17730//17730\nf 17424//17424 17583//17583 17064//17064\nf 17421//17421 17920//17920 17738//17738\nf 17493//17493 17732//17732 17077//17077\nf 17524//17524 17427//17427 17584//17584\nf 17428//17428 17493//17493 17084//17084\nf 17740//17740 17093//17093 17090//17090\nf 17093//17093 17740//17740 17094//17094\nf 17588//17588 17428//17428 17092//17092\nf 17429//17429 17433//17433 17585//17585\nf 17588//17588 17092//17092 17431//17431\nf 17433//17433 17589//17589 17585//17585\nf 17591//17591 17432//17432 17094//17094\nf 17432//17432 17591//17591 17102//17102\nf 17436//17436 17105//17105 17593//17593\nf 17494//17494 17589//17589 17433//17433\nf 17494//17494 17594//17594 17589//17589\nf 17436//17436 17593//17593 17745//17745\nf 17104//17104 17435//17435 17748//17748\nf 17339//17339 16939//16939 17749//17749\nf 17748//17748 17435//17435 18132//18132\nf 17495//17495 17595//17595 17526//17526\nf 17437//17437 17439//17439 17109//17109\nf 17752//17752 17595//17595 17597//17597\nf 17114//17114 17757//17757 17115//17115\nf 17751//17751 17528//17528 17598//17598\nf 17497//17497 17127//17127 17527//17527\nf 17758//17758 17497//17497 17527//17527\nf 17122//17122 17118//17118 17441//17441\nf 17443//17443 17598//17598 17528//17528\nf 17599//17599 17529//17529 17756//17756\nf 17600//17600 17500//17500 17498//17498\nf 17600//17600 17498//17498 17599//17599\nf 17444//17444 17439//17439 17943//17943\nf 17601//17601 17343//17343 17602//17602\nf 17128//17128 17132//17132 17133//17133\nf 17764//17764 17763//17763 17347//17347\nf 17448//17448 17607//17607 17149//17149\nf 17608//17608 17354//17354 17609//17609\nf 17610//17610 17152//17152 17501//17501\nf 17150//17150 17152//17152 17610//17610\nf 17149//17149 17611//17611 17155//17155\nf 17612//17612 17153//17153 17159//17159\nf 17157//17157 17530//17530 17771//17771\nf 17355//17355 17614//17614 17773//17773\nf 17159//17159 17162//17162 17356//17356\nf 17356//17356 17531//17531 17776//17776\nf 17169//17169 17450//17450 17618//17618\nf 17619//17619 17163//17163 17775//17775\nf 17167//17167 17620//17620 17616//17616\nf 17168//17168 17172//17172 17531//17531\nf 17502//17502 17173//17173 17169//17169\nf 17778//17778 17167//17167 17620//17620\nf 17620//17620 17167//17167 17174//17174\nf 17532//17532 17533//17533 17781//17781\nf 17503//17503 17175//17175 17963//17963\nf 17503//17503 17177//17177 17175//17175\nf 17451//17451 17622//17622 17623//17623\nf 17452//17452 17784//17784 17504//17504\nf 17359//17359 17626//17626 17624//17624\nf 17624//17624 17359//17359 17451//17451\nf 17624//17624 17626//17626 17359//17359\nf 17785//17785 17784//17784 17452//17452\nf 17359//17359 17624//17624 17626//17626\nf 17785//17785 17452//17452 17627//17627\nf 17627//17627 17452//17452 17536//17536\nf 17361//17361 17505//17505 17629//17629\nf 17787//17787 17361//17361 17629//17629\nf 17535//17535 17630//17630 17534//17534\nf 17534//17534 17788//17788 17535//17535\nf 17789//17789 17786//17786 17632//17632\nf 17786//17786 17536//17536 17632//17632\nf 17507//17507 17972//17972 17509//17509\nf 17368//17368 17509//17509 17508//17508\nf 17633//17633 17538//17538 17455//17455\nf 17634//17634 17538//17538 17633//17633\nf 17506//17506 17455//17455 17367//17367\nf 17539//17539 17506//17506 17367//17367\nf 17539//17539 17635//17635 17506//17506\nf 17642//17642 17206//17206 17207//17207\nf 17219//17219 17461//17461 17643//17643\nf 17640//17640 17461//17461 17644//17644\nf 17461//17461 16950//16950 17644//17644\nf 17213//17213 17207//17207 17459//17459\nf 17219//17219 17643//17643 17638//17638\nf 17216//17216 17461//17461 17219//17219\nf 17214//17214 17644//17644 16950//16950\nf 16950//16950 17460//17460 17214//17214\nf 16950//16950 17208//17208 17460//17460\nf 17462//17462 17226//17226 17645//17645\nf 17801//17801 17800//17800 17372//17372\nf 17460//17460 17373//17373 17644//17644\nf 17644//17644 17373//17373 17510//17510\nf 17647//17647 17541//17541 17807//17807\nf 17463//17463 17647//17647 17464//17464\nf 17646//17646 17511//17511 17465//17465\nf 17241//17241 17240//17240 17541//17541\nf 17465//17465 17511//17511 17377//17377\nf 17236//17236 17650//17650 17239//17239\nf 17378//17378 17239//17239 17649//17649\nf 17465//17465 17512//17512 17648//17648\nf 17238//17238 16522//16522 17542//17542\nf 17382//17382 17512//17512 17465//17465\nf 16522//16522 17243//17243 17542//17542\nf 17653//17653 17380//17380 17651//17651\nf 17244//17244 17654//17654 17243//17243\nf 17380//17380 17543//17543 17251//17251\nf 17380//17380 17656//17656 17543//17543\nf 17248//17248 17380//17380 17251//17251\nf 17468//17468 17652//17652 17469//17469\nf 17819//17819 17469//17469 17468//17468\nf 17652//17652 17512//17512 17469//17469\nf 17658//17658 17466//17466 17657//17657\nf 17823//17823 17658//17658 17657//17657\nf 17466//17466 17658//17658 17513//17513\nf 17383//17383 17513//17513 17659//17659\nf 17383//17383 17659//17659 17386//17386\nf 17257//17257 17660//17660 18005//18005\nf 17264//17264 17661//17661 17830//17830\nf 17832//17832 17265//17265 17264//17264\nf 17831//17831 17514//17514 17545//17545\nf 18009//18009 17391//17391 17270//17270\nf 17394//17394 17546//17546 17663//17663\nf 18009//18009 17270//17270 17470//17470\nf 17477//17477 17664//17664 17472//17472\nf 17666//17666 17396//17396 17667//17667\nf 17669//17669 17665//17665 17515//17515\nf 17275//17275 17396//17396 17666//17666\nf 17273//17273 17668//17668 17476//17476\nf 17670//17670 17397//17397 17280//17280\nf 17473//17473 17670//17670 17280//17280\nf 17474//17474 17397//17397 17669//17669\nf 17668//17668 17664//17664 17476//17476\nf 17664//17664 17477//17477 17476//17476\nf 17672//17672 17288//17288 17673//17673\nf 17672//17672 17282//17282 17288//17288\nf 17282//17282 17281//17281 17295//17295\nf 17475//17475 17294//17294 17674//17674\nf 17303//17303 17291//17291 17292//17292\nf 17479//17479 17300//17300 17675//17675\nf 17548//17548 17291//17291 17303//17303\nf 17303//17303 17399//17399 17301//17301\nf 17292//17292 17399//17399 17303//17303\nf 17297//17297 17478//17478 17402//17402\nf 17307//17307 17548//17548 17306//17306\nf 17480//17480 17548//17548 17307//17307\nf 17306//17306 17548//17548 17303//17303\nf 17306//17306 17303//17303 17304//17304\nf 17302//17302 17310//17310 17678//17678\nf 17678//17678 17310//17310 17679//17679\nf 17313//17313 17311//17311 17312//17312\nf 17483//17483 17313//17313 17314//17314\nf 17318//17318 17516//17516 17316//17316\nf 17310//17310 17317//17317 17316//17316\nf 17680//17680 17549//17549 16963//16963\nf 16970//16970 17406//17406 17853//17853\nf 17862//17862 17689//17689 16975//16975\nf 17550//17550 17682//17682 17856//17856\nf 17859//17859 17406//17406 17686//17686\nf 17693//17693 17552//17552 17860//17860\nf 17854//17854 16972//16972 16973//16973\nf 17688//17688 17319//17319 17689//17689\nf 17689//17689 16974//16974 16975//16975\nf 17863//17863 16975//16975 16979//16979\nf 17690//17690 16979//16979 17324//17324\nf 17692//17692 17485//17485 16968//16968\nf 17549//17549 17517//17517 17685//17685\nf 17686//17686 17406//17406 17486//17486\nf 17486//17486 17518//17518 17686//17686\nf 17553//17553 16984//16984 16985//16985\nf 16988//16988 17325//17325 17699//17699\nf 17699//17699 17325//17325 16984//16984\nf 17695//17695 16969//16969 16977//16977\nf 17558//17558 17697//17697 17518//17518\nf 16988//16988 17699//17699 17408//17408\nf 17558//17558 17518//17518 16928//16928\nf 18300//18300 17878//17878 18301//18301\nf 18460//18460 18031//18031 18186//18186\nf 18031//18031 17407//17407 17698//17698\nf 17326//17326 17700//17700 17556//17556\nf 17702//17702 16995//16995 17555//17555\nf 17705//17705 17326//17326 16992//16992\nf 18034//18034 17330//17330 17884//17884\nf 17409//17409 17410//17410 16931//16931\nf 17409//17409 16931//16931 17327//17327\nf 17020//17020 17561//17561 17004//17004\nf 16934//16934 17007//17007 16931//16931\nf 16934//16934 16931//16931 16932//16932\nf 17884//17884 17011//17011 17331//17331\nf 17017//17017 17019//17019 17889//17889\nf 17020//17020 17332//17332 17566//17566\nf 17332//17332 17025//17025 17566//17566\nf 17025//17025 17569//17569 17566//17566\nf 16933//16933 17564//17564 17570//17570\nf 17570//17570 17412//17412 16935//16935\nf 17565//17565 17014//17014 17568//17568\nf 17490//17490 17567//17567 17333//17333\nf 17026//17026 17030//17030 17897//17897\nf 17025//17025 17574//17574 17575//17575\nf 17573//17573 17898//17898 17572//17572\nf 17414//17414 17042//17042 17903//17903\nf 17415//17415 17901//17901 17718//17718\nf 17716//17716 17043//17043 17719//17719\nf 17049//17049 17043//17043 17046//17046\nf 17047//17047 17905//17905 17417//17417\nf 17050//17050 17491//17491 17416//17416\nf 17057//17057 17050//17050 17724//17724\nf 17906//17906 17051//17051 17056//17056\nf 17056//17056 17418//17418 17580//17580\nf 17910//17910 17336//17336 17724//17724\nf 17580//17580 17418//17418 17062//17062\nf 17522//17522 17336//17336 17726//17726\nf 16360//16360 16647//16647 17582//17582\nf 17065//17065 16360//16360 17582//17582\nf 17073//17073 17423//17423 17730//17730\nf 17073//17073 17730//17730 17070//17070\nf 17912//17912 17070//17070 17730//17730\nf 17916//17916 17423//17423 17422//17422\nf 17069//17069 17731//17731 17074//17074\nf 17732//17732 17422//17422 17077//17077\nf 17524//17524 17918//17918 17523//17523\nf 17736//17736 17737//17737 17425//17425\nf 17424//17424 17085//17085 17735//17735\nf 17922//17922 17088//17088 17734//17734\nf 17426//17426 17738//17738 17089//17089\nf 17923//17923 17085//17085 17095//17095\nf 17091//17091 17525//17525 17088//17088\nf 17739//17739 17493//17493 17428//17428\nf 17927//17927 17584//17584 17585//17585\nf 17927//17927 17589//17589 17742//17742\nf 17431//17431 17741//17741 17588//17588\nf 17588//17588 17741//17741 17428//17428\nf 17927//17927 17585//17585 17589//17589\nf 17591//17591 17094//17094 17932//17932\nf 17103//17103 17101//17101 17590//17590\nf 17100//17100 17744//17744 17431//17431\nf 17105//17105 17931//17931 17593//17593\nf 17743//17743 17744//17744 17100//17100\nf 17933//17933 17430//17430 17104//17104\nf 17933//17933 17104//17104 17748//17748\nf 17437//17437 17436//17436 17747//17747\nf 17594//17594 17526//17526 17746//17746\nf 17116//17116 17339//17339 17749//17749\nf 17750//17750 17528//17528 17751//17751\nf 17528//17528 17750//17750 17529//17529\nf 17115//17115 17596//17596 17119//17119\nf 17121//17121 17940//17940 17753//17753\nf 17755//17755 17496//17496 17754//17754\nf 17527//17527 17496//17496 17755//17755\nf 17595//17595 17495//17495 17597//17597\nf 17596//17596 17115//17115 17757//17757\nf 17754//17754 17496//17496 17440//17440\nf 17758//17758 17527//17527 17755//17755\nf 17497//17497 17758//17758 17598//17598\nf 17440//17440 17121//17121 17753//17753\nf 17443//17443 17497//17497 17598//17598\nf 17122//17122 17441//17441 17118//17118\nf 17759//17759 17950//17950 17752//17752\nf 17112//17112 17499//17499 17760//17760\nf 17343//17343 17128//17128 17602//17602\nf 17950//17950 17442//17442 17759//17759\nf 17500//17500 17950//17950 17603//17603\nf 17950//17950 17604//17604 17603//17603\nf 17761//17761 17605//17605 17131//17131\nf 17128//17128 17133//17133 17762//17762\nf 17604//17604 17442//17442 17348//17348\nf 17442//17442 17345//17345 17348//17348\nf 17446//17446 17131//17131 17605//17605\nf 17133//17133 17140//17140 17142//17142\nf 17352//17352 17446//17446 17447//17447\nf 17142//17142 17606//17606 17765//17765\nf 17607//17607 17448//17448 17139//17139\nf 17148//17148 17146//17146 17767//17767\nf 17149//17149 17607//17607 17954//17954\nf 17144//17144 17354//17354 17608//17608\nf 18053//18053 17606//17606 17150//17150\nf 17149//17149 17768//17768 17611//17611\nf 17154//17154 17151//17151 17955//17955\nf 17770//17770 17155//17155 17611//17611\nf 17153//17153 17612//17612 17769//17769\nf 17770//17770 17355//17355 17155//17155\nf 17530//17530 17157//17157 17771//17771\nf 17449//17449 17158//17158 17957//17957\nf 17355//17355 17773//17773 17163//17163\nf 17957//17957 17158//17158 17616//17616\nf 17159//17159 17356//17356 17617//17617\nf 17772//17772 17617//17617 17958//17958\nf 17618//17618 17450//17450 17615//17615\nf 17957//17957 17616//17616 17774//17774\nf 17356//17356 17776//17776 17617//17617\nf 17775//17775 17621//17621 17619//17619\nf 17621//17621 17171//17171 17619//17619\nf 17172//17172 17171//17171 17621//17621\nf 17172//17172 17621//17621 17777//17777\nf 17616//17616 17778//17778 17774//17774\nf 17616//17616 17620//17620 17778//17778\nf 17169//17169 17959//17959 17779//17779\nf 17778//17778 17620//17620 17167//17167\nf 17778//17778 17620//17620 17532//17532\nf 17169//17169 17779//17779 17502//17502\nf 17175//17175 17502//17502 17960//17960\nf 17964//17964 17622//17622 17503//17503\nf 17783//17783 17782//17782 17780//17780\nf 17451//17451 17503//17503 17622//17622\nf 17782//17782 17783//17783 17625//17625\nf 17505//17505 17626//17626 17628//17628\nf 17534//17534 17630//17630 17625//17625\nf 17359//17359 17626//17626 17505//17505\nf 17786//17786 17785//17785 17627//17627\nf 17361//17361 17787//17787 17453//17453\nf 17790//17790 17453//17453 17969//17969\nf 17786//17786 17627//17627 17536//17536\nf 17453//17453 17790//17790 17631//17631\nf 17967//17967 17791//17791 17788//17788\nf 17537//17537 17535//17535 17788//17788\nf 17631//17631 17790//17790 17793//17793\nf 17507//17507 17456//17456 17793//17793\nf 17455//17455 17537//17537 17791//17791\nf 17456//17456 17631//17631 17793//17793\nf 17794//17794 17632//17632 17509//17509\nf 17632//17632 17508//17508 17509//17509\nf 17791//17791 17792//17792 17455//17455\nf 17455//17455 17792//17792 17633//17633\nf 17634//17634 17367//17367 17540//17540\nf 17637//17637 17194//17194 17195//17195\nf 17978//17978 17796//17796 17200//17200\nf 17980//17980 17201//17201 17202//17202\nf 17458//17458 17200//17200 17796//17796\nf 17202//17202 17204//17204 17980//17980\nf 17639//17639 17203//17203 17458//17458\nf 17640//17640 17643//17643 17461//17461\nf 17640//17640 17638//17638 17643//17643\nf 17638//17638 17798//17798 17643//17643\nf 17643//17643 17219//17219 17638//17638\nf 17226//17226 17219//17219 17643//17643\nf 17981//17981 17462//17462 17645//17645\nf 17215//17215 17372//17372 17800//17800\nf 17217//17217 17803//17803 17210//17210\nf 17217//17217 17215//17215 17800//17800\nf 17217//17217 17804//17804 17803//17803\nf 17510//17510 17987//17987 17644//17644\nf 17987//17987 17510//17510 17511//17511\nf 17227//17227 17805//17805 17230//17230\nf 17228//17228 17227//17227 17230//17230\nf 17511//17511 17806//17806 17988//17988\nf 17808//17808 17230//17230 17805//17805\nf 17807//17807 17541//17541 17809//17809\nf 17808//17808 17810//17810 17230//17230\nf 17541//17541 17240//17240 17809//17809\nf 17990//17990 17806//17806 17811//17811\nf 17806//17806 17465//17465 17811//17811\nf 17465//17465 17806//17806 17646//17646\nf 17465//17465 17648//17648 17811//17811\nf 17379//17379 17812//17812 17240//17240\nf 17813//17813 16952//16952 17234//17234\nf 17542//17542 17816//17816 17815//17815\nf 17236//17236 17542//17542 17815//17815\nf 17651//17651 17235//17235 16952//16952\nf 16952//16952 17813//17813 17651//17651\nf 17817//17817 17814//17814 17652//17652\nf 17652//17652 17814//17814 17512//17512\nf 17512//17512 17814//17814 17648//17648\nf 17242//17242 17657//17657 17466//17466\nf 17384//17384 17818//17818 17246//17246\nf 17820//17820 17996//17996 17819//17819\nf 17819//17819 17652//17652 17468//17468\nf 17996//17996 17817//17817 17819//17819\nf 17819//17819 17817//17817 17652//17652\nf 17250//17250 17821//17821 17384//17384\nf 17820//17820 16958//16958 16957//16957\nf 17820//17820 16957//16957 17822//17822\nf 17820//17820 17468//17468 16958//16958\nf 17820//17820 17819//17819 17468//17468\nf 17819//17819 17468//17468 17469//17469\nf 17824//17824 17658//17658 17823//17823\nf 17658//17658 17825//17825 17826//17826\nf 17658//17658 17826//17826 17513//17513\nf 17825//17825 17658//17658 17824//17824\nf 18003//18003 17258//17258 17256//17256\nf 17257//17257 17387//17387 17660//17660\nf 17388//17388 17660//17660 17387//17387\nf 17261//17261 17828//17828 17263//17263\nf 17264//17264 17263//17263 17661//17661\nf 17661//17661 17263//17263 18007//18007\nf 17832//17832 17830//17830 18007//18007\nf 17831//17831 17260//17260 17514//17514\nf 17388//17388 17260//17260 17831//17831\nf 17266//17266 17265//17265 17833//17833\nf 18008//18008 17390//17390 17544//17544\nf 17834//17834 17831//17831 17545//17545\nf 17836//17836 17545//17545 17391//17391\nf 17394//17394 17837//17837 17395//17395\nf 17838//17838 17470//17470 18009//18009\nf 17839//17839 17838//17838 17515//17515\nf 17471//17471 17515//17515 17838//17838\nf 17547//17547 17471//17471 17838//17838\nf 17840//17840 17472//17472 17664//17664\nf 17840//17840 17664//17664 18013//18013\nf 17665//17665 17841//17841 17515//17515\nf 17272//17272 17845//17845 17273//17273\nf 17273//17273 17842//17842 17668//17668\nf 17273//17273 17845//17845 17842//17842\nf 17668//17668 17842//17842 17664//17664\nf 17843//17843 17844//17844 17473//17473\nf 17669//17669 17670//17670 17844//17844\nf 17846//17846 17275//17275 17666//17666\nf 17844//17844 17670//17670 17473//17473\nf 17670//17670 17669//17669 17397//17397\nf 17277//17277 17848//17848 17274//17274\nf 17671//17671 17276//17276 17275//17275\nf 18016//18016 17277//17277 17475//17475\nf 18023//18023 17402//17402 17478//17478\nf 17302//17302 17676//17676 17481//17481\nf 17678//17678 17676//17676 17302//17302\nf 18027//18027 17852//17852 17314//17314\nf 17312//17312 17311//17311 17851//17851\nf 18027//18027 17314//17314 17313//17313\nf 16963//16963 16970//16970 17680//17680\nf 17854//17854 16964//16964 16972//16972\nf 17681//17681 16981//16981 16982//16982\nf 17855//17855 16982//16982 17550//17550\nf 17550//17550 16976//16976 17682//17682\nf 17484//17484 17856//17856 17682//17682\nf 17404//17404 17683//17683 17484//17484\nf 17856//17856 17484//17484 17857//17857\nf 17683//17683 17857//17857 17484//17484\nf 17857//17857 17683//17683 17684//17684\nf 17683//17683 17404//17404 17684//17684\nf 17857//17857 17684//17684 17858//17858\nf 17684//17684 17551//17551 17858//17858\nf 17486//17486 17859//17859 17686//17686\nf 17860//17860 17552//17552 16964//16964\nf 16965//16965 17319//17319 17687//17687\nf 17687//17687 17319//17319 17688//17688\nf 17319//17319 16974//16974 17689//17689\nf 17862//17862 16975//16975 17863//17863\nf 17690//17690 16986//16986 17691//17691\nf 17681//17681 17864//17864 16980//16980\nf 17681//17681 16980//16980 16981//16981\nf 17485//17485 17692//17692 17551//17551\nf 17858//17858 17551//17551 17692//17692\nf 17866//17866 17692//17692 16968//16968\nf 17859//17859 17486//17486 17686//17686\nf 17685//17685 17517//17517 17549//17549\nf 17697//17697 17686//17686 17486//17486\nf 17697//17697 17486//17486 17686//17686\nf 16971//16971 17693//17693 17867//17867\nf 17868//17868 17865//17865 16973//16973\nf 17695//17695 16968//16968 16969//16969\nf 16973//16973 16990//16990 17868//17868\nf 17696//17696 16983//16983 17693//17693\nf 17553//17553 16985//16985 18028//18028\nf 17407//17407 17487//17487 17698//17698\nf 17699//17699 17871//17871 17408//17408\nf 17555//17555 16978//16978 17873//17873\nf 17697//17697 17558//17558 17409//17409\nf 17697//17697 17409//17409 17870//17870\nf 17870//17870 17409//17409 17874//17874\nf 17327//17327 17874//17874 17409//17409\nf 17874//17874 17327//17327 17875//17875\nf 16999//16999 17876//17876 17327//17327\nf 17876//17876 16999//16999 17877//17877\nf 17872//17872 16977//16977 17554//17554\nf 17702//17702 17555//17555 17873//17873\nf 17868//17868 16990//16990 16994//16994\nf 17700//17700 17554//17554 17556//17556\nf 17558//17558 17701//17701 17409//17409\nf 17326//17326 17700//17700 17554//17554\nf 17554//17554 17700//17700 17326//17326\nf 17702//17702 17873//17873 16995//16995\nf 17879//17879 16994//16994 17000//17000\nf 18033//18033 17704//17704 17703//17703\nf 17703//17703 17704//17704 16991//16991\nf 17705//17705 17700//17700 17326//17326\nf 17880//17880 17489//17489 16995//16995\nf 17873//17873 17880//17880 16995//16995\nf 17002//17002 17704//17704 17881//17881\nf 17557//17557 17882//17882 17705//17705\nf 17701//17701 16928//16928 17409//17409\nf 17701//17701 17558//17558 16928//16928\nf 17882//17882 17004//17004 17883//17883\nf 17882//17882 17557//17557 17004//17004\nf 18035//18035 17886//17886 17881//17881\nf 17002//17002 17881//17881 17008//17008\nf 17004//17004 17885//17885 17883//17883\nf 17886//17886 17008//17008 17881//17881\nf 17489//17489 17880//17880 17706//17706\nf 16933//16933 17559//17559 17887//17887\nf 17888//17888 17559//17559 17560//17560\nf 17887//17887 17559//17559 17888//17888\nf 17019//17019 17890//17890 17889//17889\nf 17520//17520 17008//17008 17886//17886\nf 17885//17885 17004//17004 17707//17707\nf 16932//16932 17891//17891 17562//17562\nf 17562//17562 16934//16934 16932//16932\nf 17566//17566 17707//17707 17020//17020\nf 17013//17013 17706//17706 17892//17892\nf 17568//17568 17014//17014 17886//17886\nf 17413//17413 17563//17563 17521//17521\nf 17013//17013 17892//17892 17411//17411\nf 17891//17891 16932//16932 17567//17567\nf 17887//17887 17570//17570 17564//17564\nf 17562//17562 17490//17490 16934//16934\nf 17022//17022 17568//17568 17893//17893\nf 17894//17894 17569//17569 17025//17025\nf 17571//17571 17711//17711 17413//17413\nf 17490//17490 17896//17896 17567//17567\nf 17895//17895 17026//17026 17897//17897\nf 17893//17893 17712//17712 17022//17022\nf 17025//17025 17575//17575 17894//17894\nf 17573//17573 17023//17023 17411//17411\nf 17573//17573 17572//17572 17898//17898\nf 17034//17034 17714//17714 17575//17575\nf 17576//17576 17899//17899 17036//17036\nf 17414//17414 17897//17897 17577//17577\nf 17037//17037 17032//17032 17713//17713\nf 17899//17899 17715//17715 17035//17035\nf 17036//17036 17899//17899 17035//17035\nf 17041//17041 17900//17900 17415//17415\nf 17415//17415 17900//17900 17901//17901\nf 17715//17715 17902//17902 17035//17035\nf 17902//17902 17040//17040 17035//17035\nf 17040//17040 17900//17900 17041//17041\nf 17040//17040 17902//17902 17900//17900\nf 17578//17578 17037//17037 17713//17713\nf 16937//16937 17415//17415 17718//17718\nf 17716//17716 17039//17039 17043//17043\nf 17716//17716 17714//17714 17039//17039\nf 17047//17047 16937//16937 17718//17718\nf 17716//17716 17719//17719 17904//17904\nf 17047//17047 17718//17718 17905//17905\nf 17717//17717 17042//17042 17720//17720\nf 17716//17716 17904//17904 18040//18040\nf 17043//17043 17049//17049 17719//17719\nf 17417//17417 17905//17905 17723//17723\nf 17058//17058 17417//17417 17723//17723\nf 17724//17724 17050//17050 17722//17722\nf 17581//17581 17579//17579 17054//17054\nf 17336//17336 17057//17057 17724//17724\nf 17581//17581 17054//17054 17419//17419\nf 17725//17725 17909//17909 17062//17062\nf 17911//17911 17067//17067 17061//17061\nf 17067//17067 17911//17911 17728//17728\nf 17582//17582 17420//17420 17913//17913\nf 17727//17727 17064//17064 17583//17583\nf 17916//17916 17729//17729 17423//17423\nf 17069//17069 17065//17065 17731//17731\nf 17065//17065 17914//17914 17731//17731\nf 17918//17918 17915//17915 17492//17492\nf 17917//17917 17074//17074 17731//17731\nf 17523//17523 17918//17918 17492//17492\nf 17732//17732 17916//17916 17422//17422\nf 17086//17086 17067//17067 17728//17728\nf 17074//17074 17919//17919 17733//17733\nf 17081//17081 17074//17074 17733//17733\nf 17426//17426 17421//17421 17738//17738\nf 17088//17088 17086//17086 17734//17734\nf 17493//17493 17921//17921 17732//17732\nf 17733//17733 17736//17736 17081//17081\nf 17524//17524 17584//17584 17918//17918\nf 17090//17090 17425//17425 17737//17737\nf 17738//17738 17098//17098 17089//17089\nf 17924//17924 18044//18044 17740//17740\nf 17740//17740 17090//17090 17924//17924\nf 17925//17925 17586//17586 17091//17091\nf 17586//17586 17928//17928 17097//17097\nf 17587//17587 17739//17739 17428//17428\nf 17091//17091 17586//17586 17097//17097\nf 17931//17931 17105//17105 17098//17098\nf 17928//17928 17930//17930 17097//17097\nf 17739//17739 17587//17587 17741//17741\nf 17931//17931 17098//17098 17929//17929\nf 17930//17930 17590//17590 17101//17101\nf 17097//17097 17930//17930 17101//17101\nf 17428//17428 17741//17741 17587//17587\nf 17932//17932 17094//17094 17740//17740\nf 17431//17431 17744//17744 17741//17741\nf 17742//17742 17589//17589 17934//17934\nf 17103//17103 17590//17590 17592//17592\nf 17592//17592 17100//17100 17103//17103\nf 17592//17592 17743//17743 17100//17100\nf 17591//17591 16939//16939 17102//17102\nf 17931//17931 17745//17745 17593//17593\nf 17436//17436 17745//17745 17747//17747\nf 17746//17746 17526//17526 17595//17595\nf 16939//16939 17935//17935 17749//17749\nf 17940//17940 17121//17121 17119//17119\nf 17751//17751 17936//17936 17750//17750\nf 17750//17750 17937//17937 17529//17529\nf 17937//17937 17756//17756 17529//17529\nf 17440//17440 17753//17753 17941//17941\nf 17758//17758 18046//18046 17751//17751\nf 17751//17751 17598//17598 17758//17758\nf 17118//17118 17441//17441 17947//17947\nf 17599//17599 17756//17756 17948//17948\nf 17597//17597 17495//17495 17752//17752\nf 17495//17495 17442//17442 17752//17752\nf 17442//17442 17759//17759 17752//17752\nf 17950//17950 17759//17759 17442//17442\nf 17761//17761 17444//17444 17949//17949\nf 17499//17499 17347//17347 17763//17763\nf 17950//17950 17500//17500 17600//17600\nf 17950//17950 17759//17759 17442//17442\nf 17135//17135 17125//17125 17951//17951\nf 17602//17602 17128//17128 17762//17762\nf 17442//17442 17604//17604 17950//17950\nf 17762//17762 17602//17602 17133//17133\nf 17447//17447 17446//17446 17605//17605\nf 17762//17762 17765//17765 18051//18051\nf 17762//17762 17133//17133 17765//17765\nf 17135//17135 17766//17766 17139//17139\nf 17141//17141 17144//17144 17764//17764\nf 17767//17767 17146//17146 17447//17447\nf 17767//17767 17447//17447 17952//17952\nf 17764//17764 17144//17144 17953//17953\nf 17606//17606 17147//17147 17150//17150\nf 17767//17767 17955//17955 17148//17148\nf 18053//18053 17150//17150 17610//17610\nf 17608//17608 17609//17609 17769//17769\nf 17609//17609 17153//17153 17769//17769\nf 17157//17157 17154//17154 17956//17956\nf 18053//18053 17501//17501 17613//17613\nf 17157//17157 17956//17956 17530//17530\nf 17773//17773 17355//17355 17770//17770\nf 17772//17772 17612//17612 17159//17159\nf 17613//17613 17449//17449 17957//17957\nf 17163//17163 17773//17773 17621//17621\nf 17775//17775 17163//17163 17621//17621\nf 17617//17617 17356//17356 17958//17958\nf 17356//17356 17617//17617 17958//17958\nf 17959//17959 17169//17169 17779//17779\nf 17960//17960 17502//17502 17779//17779\nf 17532//17532 18056//18056 17778//17778\nf 17780//17780 17961//17961 17782//17782\nf 17782//17782 17961//17961 17962//17962\nf 17780//17780 17782//17782 17961//17961\nf 17782//17782 17962//17962 17780//17780\nf 17503//17503 17963//17963 17964//17964\nf 17622//17622 17965//17965 17623//17623\nf 17781//17781 17533//17533 17784//17784\nf 17533//17533 17504//17504 17784//17784\nf 18060//18060 17781//17781 17784//17784\nf 17785//17785 18060//18060 17784//17784\nf 17626//17626 17624//17624 17451//17451\nf 17451//17451 17623//17623 17626//17626\nf 17628//17628 17626//17626 17966//17966\nf 17625//17625 17783//17783 17967//17967\nf 17968//17968 17785//17785 17786//17786\nf 17534//17534 17625//17625 17967//17967\nf 17787//17787 17505//17505 17628//17628\nf 17629//17629 17505//17505 17787//17787\nf 17967//17967 17788//17788 17534//17534\nf 17453//17453 17787//17787 17969//17969\nf 17794//17794 17971//17971 17789//17789\nf 17968//17968 17786//17786 17789//17789\nf 17971//17971 17968//17968 17789//17789\nf 17792//17792 17791//17791 17970//17970\nf 17967//17967 17970//17970 17791//17791\nf 17791//17791 17537//17537 17788//17788\nf 17632//17632 17794//17794 17789//17789\nf 17509//17509 17972//17972 17794//17794\nf 17506//17506 17974//17974 17535//17535\nf 17506//17506 17635//17635 17974//17974\nf 17634//17634 17636//17636 17367//17367\nf 17635//17635 17539//17539 17636//17636\nf 17539//17539 17367//17367 17636//17636\nf 18090//18090 17196//17196 17198//17198\nf 17978//17978 17370//17370 17795//17795\nf 17370//17370 17197//17197 17795//17795\nf 17198//17198 17199//17199 17977//17977\nf 17978//17978 17200//17200 17370//17370\nf 17979//17979 17201//17201 17980//17980\nf 17206//17206 17642//17642 17641//17641\nf 17205//17205 17797//17797 17209//17209\nf 17798//17798 17645//17645 17226//17226\nf 17798//17798 17226//17226 17643//17643\nf 17982//17982 17207//17207 17213//17213\nf 17982//17982 17642//17642 17207//17207\nf 17799//17799 17462//17462 17981//17981\nf 17799//17799 17374//17374 17462//17462\nf 17802//17802 17213//17213 17218//17218\nf 17982//17982 17213//17213 17802//17802\nf 17985//17985 17218//17218 17220//17220\nf 17802//17802 17218//17218 17985//17985\nf 17221//17221 17799//17799 17983//17983\nf 17799//17799 17221//17221 17374//17374\nf 17460//17460 17644//17644 17214//17214\nf 17986//17986 17210//17210 17803//17803\nf 17986//17986 17227//17227 17210//17210\nf 17644//17644 17987//17987 17510//17510\nf 17988//17988 17510//17510 17987//17987\nf 17987//17987 17511//17511 17988//17988\nf 17986//17986 17805//17805 17227//17227\nf 17511//17511 17646//17646 17806//17806\nf 17647//17647 17989//17989 17464//17464\nf 17989//17989 17992//17992 17464//17464\nf 17810//17810 17232//17232 17230//17230\nf 17240//17240 17991//17991 17809//17809\nf 17240//17240 17812//17812 17991//17991\nf 17464//17464 17992//17992 17234//17234\nf 17649//17649 17812//17812 17379//17379\nf 17234//17234 17992//17992 17813//17813\nf 17811//17811 17648//17648 17814//17814\nf 17993//17993 17650//17650 17236//17236\nf 17810//17810 17995//17995 17242//17242\nf 17810//17810 17242//17242 17232//17232\nf 17997//17997 17816//17816 17542//17542\nf 17993//17993 17236//17236 17816//17816\nf 17236//17236 17815//17815 17816//17816\nf 17996//17996 17994//17994 17817//17817\nf 17994//17994 17814//17814 17817//17817\nf 17654//17654 17997//17997 17243//17243\nf 17380//17380 17653//17653 17651//17651\nf 17244//17244 17998//17998 17654//17654\nf 17818//17818 17998//17998 17246//17246\nf 17998//17998 17244//17244 17246//17246\nf 17655//17655 17656//17656 17380//17380\nf 17995//17995 17999//17999 17657//17657\nf 17995//17995 17657//17657 17242//17242\nf 17818//17818 17384//17384 17821//17821\nf 17818//17818 17821//17821 17998//17998\nf 17822//17822 17251//17251 17543//17543\nf 17250//17250 18000//18000 17821//17821\nf 17999//17999 17823//17823 17657//17657\nf 18001//18001 17250//17250 17386//17386\nf 18002//18002 17250//17250 18001//18001\nf 17250//17250 18002//18002 18000//18000\nf 17824//17824 17823//17823 17999//17999\nf 17659//17659 18001//18001 17386//17386\nf 17826//17826 18001//18001 17513//17513\nf 17659//17659 17513//17513 18001//18001\nf 18003//18003 17259//17259 17258//17258\nf 18003//18003 18004//18004 17259//17259\nf 18006//18006 17828//17828 17261//17261\nf 17829//17829 17660//17660 17388//17388\nf 18007//18007 17263//17263 17828//17828\nf 17660//17660 17829//17829 17831//17831\nf 17830//17830 17661//17661 18007//18007\nf 17388//17388 17831//17831 17829//17829\nf 18005//18005 17660//17660 18096//18096\nf 17544//17544 17266//17266 17833//17833\nf 18008//18008 17544//17544 17833//17833\nf 18008//18008 17662//17662 17390//17390\nf 17835//17835 17268//17268 17662//17662\nf 17663//17663 17394//17394 17837//17837\nf 17836//17836 17391//17391 18009//18009\nf 17394//17394 17663//17663 17837//17837\nf 17838//17838 18009//18009 17470//17470\nf 17547//17547 17838//17838 17470//17470\nf 17838//17838 18009//18009 17470//17470\nf 17395//17395 17837//17837 18010//18010\nf 17396//17396 17395//17395 18011//18011\nf 17841//17841 17839//17839 17515//17515\nf 17667//17667 17396//17396 18011//18011\nf 17843//17843 17472//17472 17840//17840\nf 17841//17841 17665//17665 18012//18012\nf 17472//17472 17843//17843 17473//17473\nf 17665//17665 17669//17669 17844//17844\nf 17846//17846 17666//17666 17667//17667\nf 17847//17847 17272//17272 17274//17274\nf 17847//17847 17274//17274 18015//18015\nf 17671//17671 17275//17275 18014//18014\nf 18017//18017 17277//17277 18016//18016\nf 17672//17672 17281//17281 17282//17282\nf 18018//18018 17281//17281 17672//17672\nf 17475//17475 18019//18019 18016//18016\nf 18018//18018 18020//18020 17281//17281\nf 17288//17288 17276//17276 17673//17673\nf 17475//17475 17674//17674 18019//18019\nf 17281//17281 18020//18020 17295//17295\nf 18019//18019 17294//17294 18021//18021\nf 18021//18021 17294//17294 17675//17675\nf 17294//17294 17479//17479 17675//17675\nf 17295//17295 18022//18022 17478//17478\nf 18020//18020 18022//18022 17295//17295\nf 17676//17676 18071//18071 17675//17675\nf 17675//17675 17300//17300 17676//17676\nf 17297//17297 17478//17478 18022//18022\nf 17478//17478 17297//17297 18022//18022\nf 17311//17311 17402//17402 17677//17677\nf 17851//17851 17311//17311 17677//17677\nf 18024//18024 17678//17678 17679//17679\nf 18025//18025 18024//18024 17679//17679\nf 17849//17849 17516//17516 17482//17482\nf 17850//17850 17516//17516 17849//17849\nf 17679//17679 17310//17310 18025//18025\nf 17850//17850 17849//17849 18179//18179\nf 17852//17852 17482//17482 17314//17314\nf 17850//17850 18026//18026 17516//17516\nf 18026//18026 17316//17316 17516//17516\nf 18025//18025 17310//17310 18026//18026\nf 17310//17310 17316//17316 18026//18026\nf 18072//18072 17312//17312 17851//17851\nf 17312//17312 18027//18027 17313//17313\nf 17680//17680 16970//16970 17853//17853\nf 17550//17550 17856//17856 17855//17855\nf 17406//17406 17859//17859 17853//17853\nf 17693//17693 17860//17860 17867//17867\nf 17860//17860 16964//16964 17854//17854\nf 17854//17854 16973//16973 17861//17861\nf 17691//17691 16986//16986 17864//17864\nf 16986//16986 16980//16980 17864//17864\nf 17691//17691 17864//17864 17681//17681\nf 17859//17859 17686//17686 17697//17697\nf 17686//17686 17518//17518 17697//17697\nf 16971//16971 17867//17867 17693//17693\nf 17869//17869 16978//16978 17517//17517\nf 16985//16985 17694//17694 18028//18028\nf 17866//17866 16968//16968 17695//17695\nf 16984//16984 17553//17553 17699//17699\nf 18029//18029 17871//17871 17699//17699\nf 17873//17873 16978//16978 17869//17869\nf 17876//17876 17875//17875 17327//17327\nf 17695//17695 16977//16977 17872//17872\nf 17877//17877 16998//16998 17519//17519\nf 17877//17877 17519//17519 17878//17878\nf 16993//16993 17878//17878 17519//17519\nf 18032//18032 16994//16994 17879//17879\nf 16991//16991 17408//17408 17871//17871\nf 16991//16991 17871//17871 17703//17703\nf 17879//17879 17000//17000 17330//17330\nf 17881//17881 17704//17704 18033//18033\nf 17330//17330 17011//17011 17884//17884\nf 17879//17879 17330//17330 18034//18034\nf 16931//16931 17891//17891 16932//16932\nf 16932//16932 17891//17891 16931//16931\nf 17019//17019 17021//17021 17890//17890\nf 17890//17890 17021//17021 17563//17563\nf 16931//16931 17891//17891 16932//16932\nf 17014//17014 17520//17520 17886//17886\nf 17887//17887 17564//17564 16933//16933\nf 17411//17411 17892//17892 17706//17706\nf 17708//17708 17331//17331 17334//17334\nf 17563//17563 17413//17413 17711//17711\nf 17709//17709 17563//17563 17711//17711\nf 17571//17571 17709//17709 17711//17711\nf 17411//17411 17706//17706 17710//17710\nf 17896//17896 17490//17490 17562//17562\nf 17334//17334 17026//17026 17895//17895\nf 18037//18037 17334//17334 17895//17895\nf 17898//17898 17029//17029 17572//17572\nf 17571//17571 17029//17029 17898//17898\nf 17573//17573 17710//17710 17572//17572\nf 17573//17573 17411//17411 17710//17710\nf 17896//17896 17567//17567 17490//17490\nf 17567//17567 17896//17896 17490//17490\nf 17570//17570 17576//17576 17031//17031\nf 17897//17897 17030//17030 17577//17577\nf 17032//17032 17712//17712 17713//17713\nf 18039//18039 17575//17575 17714//17714\nf 17897//17897 17414//17414 17903//17903\nf 17717//17717 17721//17721 17720//17720\nf 17717//17717 17720//17720 17721//17721\nf 17416//17416 17335//17335 17578//17578\nf 17416//17416 17578//17578 18041//18041\nf 17048//17048 17721//17721 17720//17720\nf 17904//17904 17049//17049 17052//17052\nf 17907//17907 17904//17904 17052//17052\nf 17579//17579 17907//17907 17052//17052\nf 17724//17724 17722//17722 17908//17908\nf 17056//17056 17580//17580 17909//17909\nf 17061//17061 17058//17058 17911//17911\nf 17915//17915 17581//17581 17492//17492\nf 17420//17420 17068//17068 17913//17913\nf 17065//17065 17582//17582 18043//18043\nf 17725//17725 17727//17727 17583//17583\nf 17068//17068 17070//17070 17912//17912\nf 17074//17074 17917//17917 17919//17919\nf 17424//17424 17735//17735 17583//17583\nf 17085//17085 17923//17923 17735//17735\nf 17088//17088 17922//17922 17925//17925\nf 17090//17090 17737//17737 17736//17736\nf 17921//17921 17493//17493 17739//17739\nf 17925//17925 17091//17091 17088//17088\nf 17738//17738 17926//17926 17098//17098\nf 17098//17098 17926//17926 17929//17929\nf 17594//17594 17746//17746 17589//17589\nf 17934//17934 17589//17589 17746//17746\nf 17935//17935 16939//16939 17591//17591\nf 17940//17940 17119//17119 17939//17939\nf 17938//17938 17754//17754 18048//18048\nf 17942//17942 18046//18046 17755//17755\nf 17758//17758 17755//17755 18046//18046\nf 17940//17940 17941//17941 17753//17753\nf 18048//18048 17941//17941 17940//17940\nf 17936//17936 17751//17751 18046//18046\nf 17437//17437 17747//17747 17439//17439\nf 17754//17754 17440//17440 17941//17941\nf 17114//17114 17118//17118 17757//17757\nf 17945//17945 17118//17118 17947//17947\nf 17944//17944 17112//17112 17760//17760\nf 17600//17600 17599//17599 17948//17948\nf 17125//17125 17116//17116 17946//17946\nf 17444//17444 17943//17943 17949//17949\nf 18049//18049 17601//17601 17602//17602\nf 17602//17602 17762//17762 17133//17133\nf 17133//17133 17142//17142 17765//17765\nf 17139//17139 17766//17766 17607//17607\nf 17953//17953 17144//17144 18052//18052\nf 18052//18052 17144//17144 17608//17608\nf 17151//17151 17148//17148 17955//17955\nf 17768//17768 17149//17149 17954//17954\nf 18053//18053 17610//17610 17501//17501\nf 17611//17611 17768//17768 17770//17770\nf 17530//17530 17956//17956 17771//17771\nf 17614//17614 17355//17355 17773//17773\nf 17772//17772 17159//17159 17617//17617\nf 17615//17615 17450//17450 17771//17771\nf 17776//17776 17958//17958 17617//17617\nf 17531//17531 17172//17172 17777//17777\nf 17962//17962 18055//18055 18054//18054\nf 18060//18060 18057//18057 17781//17781\nf 17960//17960 17963//17963 17175//17175\nf 17781//17781 18057//18057 18056//18056\nf 17532//17532 17781//17781 18056//18056\nf 18059//18059 17962//17962 18058//18058\nf 17780//17780 17962//17962 18059//18059\nf 17622//17622 17964//17964 17965//17965\nf 17626//17626 17623//17623 18061//18061\nf 17783//17783 17780//17780 18059//18059\nf 17628//17628 17966//17966 17787//17787\nf 18059//18059 18063//18063 17783//17783\nf 18062//18062 17785//17785 17968//17968\nf 17783//17783 18063//18063 17970//17970\nf 17787//17787 18089//18089 17969//17969\nf 18088//18088 18062//18062 17968//17968\nf 17971//17971 18088//18088 17968//17968\nf 17783//17783 17970//17970 17967//17967\nf 17793//17793 17969//17969 18064//18064\nf 17793//17793 17790//17790 17969//17969\nf 18065//18065 17971//17971 17794//17794\nf 18065//18065 17794//17794 17972//17972\nf 17630//17630 17535//17535 17973//17973\nf 17972//17972 17507//17507 17793//17793\nf 17974//17974 17973//17973 17535//17535\nf 17637//17637 17195//17195 17975//17975\nf 17795//17795 17197//17197 17194//17194\nf 17976//17976 18090//18090 17198//17198\nf 17795//17795 17194//17194 17637//17637\nf 17976//17976 17198//17198 17977//17977\nf 17199//17199 17201//17201 17977//17977\nf 18066//18066 17201//17201 17979//17979\nf 17458//17458 17796//17796 17639//17639\nf 17980//17980 17204//17204 17641//17641\nf 17797//17797 17203//17203 17639//17639\nf 17798//17798 17981//17981 17645//17645\nf 17644//17644 17984//17984 17640//17640\nf 17372//17372 18068//18068 17801//17801\nf 17985//17985 17220//17220 17221//17221\nf 17217//17217 17800//17800 17804//17804\nf 17510//17510 17988//17988 17644//17644\nf 17988//17988 17984//17984 17644//17644\nf 17650//17650 17649//17649 17239//17239\nf 17542//17542 17243//17243 17997//17997\nf 17820//17820 18069//18069 17996//17996\nf 17656//17656 17822//17822 17543//17543\nf 17820//17820 17822//17822 18069//18069\nf 17251//17251 17822//17822 16957//16957\nf 17999//17999 18070//18070 17824//17824\nf 18006//18006 17259//17259 18004//18004\nf 18005//18005 17827//17827 17257//17257\nf 17827//17827 17256//17256 17257//17257\nf 17261//17261 17259//17259 18006//18006\nf 17832//17832 17264//17264 17830//17830\nf 17834//17834 17545//17545 17836//17836\nf 17835//17835 17546//17546 17268//17268\nf 17394//17394 17663//17663 17546//17546\nf 18009//18009 17838//17838 17836//17836\nf 17395//17395 18010//18010 18011//18011\nf 17839//17839 17841//17841 18012//18012\nf 18177//18177 17840//17840 18013//18013\nf 17664//17664 17842//17842 18013//18013\nf 18097//18097 17665//17665 17844//17844\nf 17845//17845 17272//17272 17847//17847\nf 17275//17275 17846//17846 18014//18014\nf 18015//18015 17274//17274 17848//17848\nf 17848//17848 17277//17277 18017//18017\nf 17673//17673 17276//17276 17671//17671\nf 17674//17674 17294//17294 18019//18019\nf 18023//18023 17478//17478 18022//18022\nf 17402//17402 18023//18023 17677//17677\nf 17849//17849 17482//17482 17852//17852\nf 18027//18027 17312//17312 18072//18072\nf 17681//17681 16982//16982 17855//17855\nf 17686//17686 17859//17859 17697//17697\nf 16973//16973 17865//17865 17861//17861\nf 17323//17323 16965//16965 17694//17694\nf 17869//17869 17517//17517 17685//17685\nf 18029//18029 17553//17553 18101//18101\nf 17866//17866 17695//17695 17872//17872\nf 18185//18185 17870//17870 17874//17874\nf 18299//18299 17874//17874 18073//18073\nf 17698//17698 16983//16983 17696//17696\nf 18455//18455 18186//18186 17696//17696\nf 17868//17868 16994//16994 18032//18032\nf 18073//18073 17874//17874 17876//17876\nf 17874//17874 17875//17875 17876//17876\nf 18301//18301 17878//17878 18030//18030\nf 17878//17878 16993//16993 18030//18030\nf 18030//18030 16993//16993 17488//17488\nf 18031//18031 17698//17698 18186//18186\nf 18301//18301 18031//18031 18460//18460\nf 18032//18032 17879//17879 17868//17868\nf 17560//17560 18036//18036 17888//17888\nf 17560//17560 17017//17017 18036//18036\nf 17884//17884 17331//17331 17708//17708\nf 17567//17567 17896//17896 17562//17562\nf 17567//17567 17562//17562 17891//17891\nf 17708//17708 17334//17334 18037//18037\nf 18116//18116 17716//17716 18040//18040\nf 17058//17058 17723//17723 18042//18042\nf 18119//18119 17906//17906 17909//17909\nf 18214//18214 17581//17581 17915//17915\nf 17065//17065 18043//18043 17914//17914\nf 17090//17090 17736//17736 17924//17924\nf 17929//17929 17926//17926 17738//17738\nf 18045//18045 17430//17430 17933//17933\nf 17927//17927 17742//17742 18077//18077\nf 18126//18126 17739//17739 17741//17741\nf 17934//17934 18077//18077 17742//17742\nf 17744//17744 18078//18078 18079//18079\nf 17743//17743 18078//18078 17744//17744\nf 17435//17435 17110//17110 18132//18132\nf 18081//18081 17750//17750 18080//18080\nf 17936//17936 18080//18080 17750//17750\nf 17755//17755 17754//17754 17938//17938\nf 17755//17755 17938//17938 17942//17942\nf 17943//17943 17439//17439 17747//17747\nf 17939//17939 17119//17119 18047//18047\nf 17754//17754 17941//17941 18048//18048\nf 18047//18047 17119//17119 17596//17596\nf 17757//17757 17118//17118 17945//17945\nf 17948//17948 17756//17756 17600//17600\nf 17947//17947 17441//17441 18049//18049\nf 18049//18049 17441//17441 17343//17343\nf 18049//18049 17343//17343 17601//17601\nf 18049//18049 17602//17602 18235//18235\nf 17125//17125 17946//17946 18050//18050\nf 17951//17951 17125//17125 18050//18050\nf 17760//17760 17499//17499 17763//17763\nf 17447//17447 17605//17605 17952//17952\nf 17135//17135 17951//17951 17766//17766\nf 18138//18138 17765//17765 17606//17606\nf 17154//17154 17955//17955 17956//17956\nf 17608//17608 17769//17769 18140//18140\nf 17773//17773 18084//18084 17770//17770\nf 17773//17773 17770//17770 18084//18084\nf 17618//17618 17615//17615 17771//17771\nf 18085//18085 17621//17621 17773//17773\nf 17776//17776 17531//17531 17777//17777\nf 17779//17779 17169//17169 17618//17618\nf 18054//18054 18147//18147 18150//18150\nf 17961//17961 18055//18055 17962//17962\nf 17960//17960 17779//17779 17963//17963\nf 18086//18086 17778//17778 18056//18056\nf 18086//18086 18056//18056 18057//18057\nf 18150//18150 18058//18058 17962//17962\nf 18054//18054 18150//18150 17962//17962\nf 17965//17965 17964//17964 17963//17963\nf 18087//18087 18060//18060 17785//17785\nf 18062//18062 18088//18088 18087//18087\nf 18087//18087 17785//17785 18062//18062\nf 18065//18065 18088//18088 17971//17971\nf 18064//18064 17972//17972 17793//17793\nf 18064//18064 18065//18065 17972//17972\nf 17630//17630 18160//18160 18159//18159\nf 18161//18161 17634//17634 17633//17633\nf 17796//17796 17978//17978 18091//18091\nf 17977//17977 17201//17201 18066//18066\nf 17797//17797 17205//17205 17203//17203\nf 18067//18067 17799//17799 17981//17981\nf 17372//17372 17209//17209 18068//18068\nf 17209//17209 18093//18093 18068//18068\nf 18068//18068 18093//18093 17797//17797\nf 17985//17985 17221//17221 17983//17983\nf 18164//18164 17804//17804 17800//17800\nf 17804//17804 18165//18165 17803//17803\nf 17812//17812 17991//17991 17649//17649\nf 17812//17812 17649//17649 17991//17991\nf 17990//17990 17811//17811 17814//17814\nf 17651//17651 17813//17813 18095//18095\nf 18069//18069 18094//18094 17996//17996\nf 17994//17994 17996//17996 18094//18094\nf 17380//17380 17651//17651 17655//17655\nf 17822//17822 17656//17656 18069//18069\nf 17256//17256 17827//17827 18003//18003\nf 17660//17660 17831//17831 18096//18096\nf 18175//18175 18096//18096 17831//17831\nf 18175//18175 17831//17831 17834//17834\nf 17835//17835 17662//17662 18008//18008\nf 18424//18424 17835//17835 18008//18008\nf 17546//17546 18176//18176 18010//18010\nf 17837//17837 17546//17546 18010//18010\nf 17837//17837 17394//17394 17546//17546\nf 17839//17839 17834//17834 17836//17836\nf 17839//17839 17836//17836 17838//17838\nf 18097//18097 18012//18012 17665//17665\nf 17843//17843 18097//18097 17844//17844\nf 18292//18292 17849//17849 17852//17852\nf 17853//17853 18181//18181 17680//17680\nf 18099//18099 17859//17859 17686//17686\nf 17697//17697 18099//18099 17686//17686\nf 17549//17549 17680//17680 17685//17685\nf 18098//18098 17685//17685 17680//17680\nf 17694//17694 16965//16965 17687//17687\nf 18100//18100 17692//17692 17866//17866\nf 17692//17692 18100//18100 17866//17866\nf 18103//18103 17869//17869 17685//17685\nf 18186//18186 17698//17698 17696//17696\nf 17699//17699 17553//17553 18029//18029\nf 17553//17553 18028//18028 18102//18102\nf 17873//17873 17869//17869 18103//18103\nf 18073//18073 17876//17876 17877//17877\nf 18105//18105 17880//17880 17873//17873\nf 18104//18104 17705//17705 17883//17883\nf 17705//17705 17882//17882 17883//17883\nf 18194//18194 18104//18104 17883//17883\nf 18105//18105 18106//18106 17880//17880\nf 18108//18108 18107//18107 17885//17885\nf 17885//17885 17707//17707 18108//18108\nf 18108//18108 17707//17707 18109//18109\nf 17707//17707 17566//17566 18109//18109\nf 18110//18110 17566//17566 17894//17894\nf 18074//18074 17709//17709 17571//17571\nf 17894//17894 17566//17566 17569//17569\nf 17894//17894 18110//18110 18111//18111\nf 18112//18112 17710//17710 17706//17706\nf 18110//18110 17894//17894 18111//18111\nf 17893//17893 17568//17568 18203//18203\nf 18039//18039 18113//18113 17894//17894\nf 17896//17896 18038//18038 17567//17567\nf 17575//17575 18039//18039 17894//17894\nf 17898//17898 17572//17572 17710//17710\nf 18115//18115 17713//17713 17712//17712\nf 18116//18116 18039//18039 17714//17714\nf 18118//18118 17718//17718 18117//18117\nf 18116//18116 17714//17714 17716//17716\nf 17718//17718 17901//17901 18117//18117\nf 17903//17903 17042//17042 17717//17717\nf 17713//17713 18075//18075 17578//17578\nf 18075//18075 18041//18041 17578//17578\nf 17416//17416 18041//18041 17722//17722\nf 18325//18325 17722//17722 18041//18041\nf 17906//17906 17056//17056 17909//17909\nf 17725//17725 18212//18212 17909//17909\nf 17911//17911 17058//17058 18042//18042\nf 17336//17336 17910//17910 17726//17726\nf 18120//18120 17728//17728 17911//17911\nf 17729//17729 18121//18121 17730//17730\nf 18213//18213 18121//18121 17729//17729\nf 18076//18076 17068//17068 17912//17912\nf 17913//17913 17068//17068 18076//18076\nf 17582//17582 17913//17913 18043//18043\nf 17913//17913 18122//18122 18043//18043\nf 17728//17728 18120//18120 17734//17734\nf 17086//17086 17728//17728 17734//17734\nf 17421//17421 17522//17522 17726//17726\nf 17920//17920 17421//17421 17726//17726\nf 17733//17733 18217//18217 17736//17736\nf 17738//17738 17920//17920 18218//18218\nf 18124//18124 17732//17732 17921//17921\nf 17739//17739 18124//18124 17921//17921\nf 17095//17095 17430//17430 18045//18045\nf 17590//17590 17930//17930 17928//17928\nf 17935//17935 17591//17591 18342//18342\nf 18079//18079 17741//17741 17744//17744\nf 18128//18128 18131//18131 17938//17938\nf 18080//18080 17936//17936 18129//18129\nf 18130//18130 18128//18128 17938//17938\nf 18346//18346 18131//18131 18128//18128\nf 17942//17942 18131//18131 18129//18129\nf 18048//18048 18130//18130 17938//17938\nf 17942//17942 17938//17938 18131//18131\nf 17942//17942 18129//18129 18046//18046\nf 18047//18047 17596//17596 17757//17757\nf 18047//18047 17757//17757 18133//18133\nf 17116//17116 17749//17749 18082//18082\nf 17946//17946 17116//17116 18082//18082\nf 18135//18135 17943//17943 18134//18134\nf 17756//17756 17948//17948 17600//17600\nf 18135//18135 17949//17949 17943//17943\nf 18135//18135 17761//17761 17949//17949\nf 18533//18533 18234//18234 18235//18235\nf 17951//17951 18050//18050 18137//18137\nf 18136//18136 17602//17602 17762//17762\nf 17605//17605 18238//18238 17952//17952\nf 17767//17767 17952//17952 18083//18083\nf 18139//18139 18138//18138 17606//17606\nf 18052//18052 17764//17764 17953//17953\nf 18083//18083 17955//17955 17767//17767\nf 18053//18053 18139//18139 17606//17606\nf 17768//17768 17954//17954 17607//17607\nf 17773//17773 17770//17770 18141//18141\nf 17612//17612 17772//17772 17958//17958\nf 17618//17618 17771//17771 18142//18142\nf 17618//17618 18142//18142 18246//18246\nf 17957//17957 17774//17774 18145//18145\nf 18247//18247 17957//17957 18145//18145\nf 17776//17776 17777//17777 18250//18250\nf 17958//17958 17776//17776 18143//18143\nf 17779//17779 17618//17618 18148//18148\nf 17774//17774 17778//17778 18145//18145\nf 18150//18150 18147//18147 18149//18149\nf 18147//18147 18055//18055 18146//18146\nf 17778//17778 18086//18086 18145//18145\nf 18147//18147 18054//18054 18055//18055\nf 18152//18152 18253//18253 18086//18086\nf 17963//17963 17779//17779 18151//18151\nf 18255//18255 18150//18150 18254//18254\nf 18255//18255 18058//18058 18150//18150\nf 18152//18152 18086//18086 18057//18057\nf 18060//18060 18087//18087 18057//18057\nf 17963//17963 18379//18379 18153//18153\nf 18087//18087 18152//18152 18057//18057\nf 17965//17965 18256//18256 18061//18061\nf 17623//17623 17965//17965 18061//18061\nf 17626//17626 18155//18155 17966//17966\nf 18154//18154 18087//18087 18088//18088\nf 17969//17969 18089//18089 18156//18156\nf 17787//17787 17966//17966 18089//18089\nf 18157//18157 18088//18088 18065//18065\nf 18064//18064 18158//18158 18065//18065\nf 17969//17969 18158//18158 18064//18064\nf 18158//18158 18157//18157 18065//18065\nf 18390//18390 17625//17625 18159//18159\nf 17973//17973 18160//18160 17630//17630\nf 18161//18161 17633//17633 17792//17792\nf 17974//17974 18162//18162 17973//17973\nf 17973//17973 18162//18162 18160//18160\nf 17634//17634 18161//18161 17636//17636\nf 17975//17975 17195//17195 18090//18090\nf 17195//17195 17196//17196 18090//18090\nf 18066//18066 17979//17979 17980//17980\nf 17979//17979 17980//17980 18397//18397\nf 17979//17979 18066//18066 17980//17980\nf 18092//18092 17983//17983 17799//17799\nf 18093//18093 17209//17209 17797//17797\nf 17802//17802 17985//17985 18163//18163\nf 17803//17803 18165//18165 17986//17986\nf 18164//18164 18165//18165 17804//17804\nf 17984//17984 17988//17988 18166//18166\nf 18166//18166 17988//17988 17806//17806\nf 17986//17986 17808//17808 17805//17805\nf 18166//18166 17806//17806 17990//17990\nf 18169//18169 17992//17992 17989//17989\nf 17814//17814 18167//18167 17990//17990\nf 17808//17808 18168//18168 17810//17810\nf 18069//18069 18170//18170 18094//18094\nf 17997//17997 17993//17993 17816//17816\nf 17656//17656 18170//18170 18069//18069\nf 17810//17810 18274//18274 17995//17995\nf 17999//17999 17995//17995 18275//18275\nf 18070//18070 17999//17999 18171//18171\nf 18002//18002 18172//18172 18000//18000\nf 18001//18001 18172//18172 18002//18002\nf 17824//17824 18070//18070 18173//18173\nf 18174//18174 17825//17825 17824//17824\nf 18097//18097 17843//17843 18178//18178\nf 17667//17667 18011//18011 18428//18428\nf 18178//18178 17840//17840 18177//18177\nf 18178//18178 17843//17843 17840//17840\nf 17847//17847 18015//18015 17845//17845\nf 18016//18016 18019//18019 18614//18614\nf 17672//17672 18020//18020 18018//18018\nf 18019//18019 18021//18021 17675//17675\nf 17676//17676 17678//17678 18024//18024\nf 18181//18181 17853//17853 17859//17859\nf 18444//18444 17861//17861 17865//17865\nf 17691//17691 17681//17681 17864//17864\nf 17680//17680 18182//18182 18098//18098\nf 17697//17697 17870//17870 18442//18442\nf 18103//18103 18183//18183 18182//18182\nf 18073//18073 17877//17877 18189//18189\nf 18300//18300 17877//17877 17878//17878\nf 18188//18188 17866//17866 18190//18190\nf 17866//17866 17872//17872 18190//18190\nf 18459//18459 17705//17705 18104//18104\nf 17883//17883 17885//17885 18194//18194\nf 17885//17885 18195//18195 18194//18194\nf 17703//17703 17871//17871 18033//18033\nf 17885//17885 18107//18107 18108//18108\nf 18108//18108 18109//18109 17566//17566\nf 18110//18110 18197//18197 17566//17566\nf 18310//18310 17563//17563 17709//17709\nf 17880//17880 18201//18201 17706//17706\nf 18315//18315 17891//17891 17567//17567\nf 18313//18313 17894//17894 18113//18113\nf 18074//18074 17571//17571 17898//17898\nf 17567//17567 18315//18315 17896//17896\nf 18039//18039 18204//18204 18113//18113\nf 18039//18039 18116//18116 18205//18205\nf 18320//18320 17715//17715 17576//17576\nf 17576//17576 17715//17715 17899//17899\nf 17902//17902 18206//18206 17900//17900\nf 17901//17901 18207//18207 18117//18117\nf 18207//18207 18118//18118 18117//18117\nf 17720//17720 17721//17721 18209//18209\nf 18485//18485 18684//18684 17906//17906\nf 17723//17723 18211//18211 18042//18042\nf 17730//17730 18121//18121 18329//18329\nf 17913//17913 18076//18076 18215//18215\nf 17732//17732 18123//18123 17916//17916\nf 17583//17583 17735//17735 18500//18500\nf 18123//18123 17732//17732 18124//18124\nf 18219//18219 17929//17929 17738//17738\nf 17925//17925 18338//18338 17586//17586\nf 18044//18044 17924//17924 17740//17740\nf 17924//17924 18044//18044 17740//17740\nf 17923//17923 17095//17095 18045//18045\nf 17923//17923 18045//18045 18220//18220\nf 18125//18125 17927//17927 18077//18077\nf 18126//18126 18223//18223 17739//17739\nf 18512//18512 17932//17932 18221//18221\nf 18078//18078 17743//17743 18225//18225\nf 17743//17743 17592//17592 18225//18225\nf 18081//18081 18080//18080 18224//18224\nf 17745//17745 17931//17931 18226//18226\nf 18341//18341 18080//18080 18129//18129\nf 18132//18132 18350//18350 17748//17748\nf 18048//18048 18345//18345 18130//18130\nf 18129//18129 17936//17936 18046//18046\nf 17747//17747 17745//17745 18227//18227\nf 17745//17745 18521//18521 18525//18525\nf 17940//17940 18228//18228 18526//18526\nf 17940//17940 17939//17939 18228//18228\nf 17945//17945 17947//17947 18354//18354\nf 18133//18133 17757//17757 18354//18354\nf 17757//17757 18230//18230 18354//18354\nf 18230//18230 17945//17945 18354//18354\nf 17757//17757 17945//17945 18230//18230\nf 18232//18232 17946//17946 18082//18082\nf 17600//17600 17752//17752 17950//17950\nf 17944//17944 17760//17760 18535//18535\nf 18235//18235 17602//17602 18136//18136\nf 17605//17605 18237//18237 18238//18238\nf 17764//17764 18239//18239 17763//17763\nf 18359//18359 17766//17766 18357//18357\nf 17607//17607 18240//18240 17768//17768\nf 18362//18362 18241//18241 18543//18543\nf 18242//18242 18139//18139 18053//18053\nf 17955//17955 18241//18241 18362//18362\nf 17608//17608 18140//18140 18363//18363\nf 17770//17770 18243//18243 18141//18141\nf 18140//18140 17769//17769 17612//17612\nf 18247//18247 18244//18244 17613//17613\nf 18247//18247 17613//17613 17957//17957\nf 18142//18142 17771//17771 18246//18246\nf 17958//17958 18143//18143 18249//18249\nf 18147//18147 18144//18144 18251//18251\nf 17777//17777 17621//17621 18250//18250\nf 18147//18147 18146//18146 18144//18144\nf 18148//18148 17618//17618 18372//18372\nf 18373//18373 18145//18145 18086//18086\nf 17963//17963 18151//18151 18379//18379\nf 18152//18152 18377//18377 18253//18253\nf 18153//18153 17965//17965 17963//17963\nf 18255//18255 18059//18059 18058//18058\nf 18256//18256 18382//18382 18061//18061\nf 18256//18256 17965//17965 18153//18153\nf 18155//18155 17626//17626 18061//18061\nf 17966//17966 18155//18155 18257//18257\nf 18154//18154 18088//18088 18258//18258\nf 18088//18088 18157//18157 18258//18258\nf 17969//17969 18156//18156 18158//18158\nf 18259//18259 18159//18159 18160//18160\nf 17792//17792 18260//18260 18161//18161\nf 18162//18162 17974//17974 18561//18561\nf 18393//18393 17636//17636 18161//18161\nf 17975//17975 18090//18090 18394//18394\nf 17977//17977 18066//18066 17979//17979\nf 18400//18400 18092//18092 18398//18398\nf 18092//18092 17799//17799 18067//18067\nf 18398//18398 18092//18092 18067//18067\nf 17985//17985 17983//17983 18163//18163\nf 18163//18163 17983//17983 18092//18092\nf 18572//18572 18068//18068 17797//17797\nf 18407//18407 17982//17982 17802//17802\nf 18408//18408 17800//17800 17801//17801\nf 18409//18409 18165//18165 18164//18164\nf 18266//18266 17986//17986 18165//18165\nf 17984//17984 18166//18166 18265//18265\nf 18267//18267 17990//17990 18167//18167\nf 18268//18268 18167//18167 17814//17814\nf 17814//17814 17994//17994 18268//18268\nf 18269//18269 18268//18268 17994//17994\nf 18094//18094 18269//18269 17994//17994\nf 18094//18094 18170//18170 18271//18271\nf 18095//18095 17813//17813 18273//18273\nf 17651//17651 18095//18095 18273//18273\nf 17993//17993 17997//17997 18272//18272\nf 18070//18070 18171//18171 18276//18276\nf 17825//17825 18278//18278 17826//17826\nf 17824//17824 18173//18173 18174//18174\nf 17825//17825 18174//18174 18279//18279\nf 18280//18280 18004//18004 18003//18003\nf 17828//17828 18599//18599 18007//18007\nf 18600//18600 17832//17832 18422//18422\nf 18005//18005 18282//18282 18423//18423\nf 18005//18005 18096//18096 18282//18282\nf 17835//17835 18284//18284 18283//18283\nf 17546//17546 17835//17835 18283//18283\nf 18285//18285 18096//18096 18175//18175\nf 18012//18012 18097//18097 18286//18286\nf 18014//18014 17846//17846 17671//17671\nf 17845//17845 18015//18015 18612//18612\nf 18017//18017 18016//18016 18289//18289\nf 17672//17672 17673//17673 18290//18290\nf 18436//18436 18071//18071 17676//17676\nf 18438//18438 18291//18291 18024//18024\nf 18024//18024 18291//18291 17676//17676\nf 18026//18026 17850//17850 18293//18293\nf 18440//18440 18181//18181 17859//17859\nf 18440//18440 17859//17859 18099//18099\nf 18443//18443 17867//17867 18294//18294\nf 17860//17860 17854//17854 17867//17867\nf 18294//18294 17867//17867 17854//17854\nf 17870//17870 18184//18184 18442//18442\nf 18623//18623 17864//17864 18451//18451\nf 18296//18296 17855//17855 17856//17856\nf 17694//17694 17687//17687 18453//18453\nf 17687//17687 18297//18297 18453//18453\nf 17870//17870 18185//18185 18184//18184\nf 18185//18185 17874//17874 18299//18299\nf 18455//18455 17696//17696 17693//17693\nf 18458//18458 18100//18100 17692//17692\nf 17692//17692 18188//18188 18100//18100\nf 18103//18103 17685//17685 18183//18183\nf 18299//18299 18073//18073 18189//18189\nf 18102//18102 18028//18028 18187//18187\nf 18028//18028 17694//17694 18187//18187\nf 18188//18188 18458//18458 18100//18100\nf 17692//17692 17866//17866 18188//18188\nf 18461//18461 18101//18101 18456//18456\nf 18101//18101 17553//17553 18102//18102\nf 18456//18456 18101//18101 18102//18102\nf 18103//18103 18191//18191 17873//17873\nf 17872//17872 18302//18302 18190//18190\nf 18459//18459 17700//17700 17705//17705\nf 18193//18193 17871//17871 18029//18029\nf 18193//18193 18029//18029 18304//18304\nf 18192//18192 17879//17879 18034//18034\nf 17871//17871 18193//18193 18033//18033\nf 18195//18195 17885//17885 18305//18305\nf 18105//18105 17873//17873 18106//18106\nf 18305//18305 17885//17885 18108//18108\nf 18105//18105 17880//17880 18106//18106\nf 17873//17873 18105//18105 18106//18106\nf 17881//17881 18033//18033 18196//18196\nf 18197//18197 18307//18307 17566//17566\nf 18311//18311 17886//17886 17881//17881\nf 18109//18109 18305//18305 18108//18108\nf 18305//18305 18108//18108 17566//17566\nf 17886//17886 18035//18035 17881//17881\nf 18306//18306 18309//18309 18201//18201\nf 18198//18198 18310//18310 18074//18074\nf 18199//18199 18201//18201 18309//18309\nf 18201//18201 18199//18199 17706//17706\nf 17888//17888 18036//18036 18200//18200\nf 18036//18036 18312//18312 18200//18200\nf 18199//18199 18198//18198 18074//18074\nf 18313//18313 18197//18197 18110//18110\nf 17706//17706 18199//18199 17892//17892\nf 18074//18074 17892//17892 18199//18199\nf 17891//17891 18315//18315 17567//17567\nf 18471//18471 17886//17886 18311//18311\nf 17894//17894 18313//18313 18110//18110\nf 18202//18202 18112//18112 17892//17892\nf 18113//18113 18204//18204 18313//18313\nf 17892//17892 18074//18074 17898//17898\nf 18112//18112 17706//17706 17892//17892\nf 17887//17887 18316//18316 17570//17570\nf 18202//18202 17892//17892 17898//17898\nf 18202//18202 17898//17898 17710//17710\nf 17710//17710 18112//18112 18202//18202\nf 18315//18315 17567//17567 18114//18114\nf 18316//18316 17576//17576 17570//17570\nf 18318//18318 18472//18472 18204//18204\nf 18039//18039 18205//18205 18318//18318\nf 18206//18206 17901//17901 17900//17900\nf 17902//17902 17715//17715 18321//18321\nf 17902//17902 18321//18321 18206//18206\nf 18207//18207 18322//18322 18118//18118\nf 18479//18479 17903//17903 17717//17717\nf 17718//17718 18118//18118 18322//18322\nf 18323//18323 18041//18041 18075//18075\nf 18208//18208 18040//18040 17904//17904\nf 18209//18209 17721//17721 17906//17906\nf 18325//18325 18041//18041 18324//18324\nf 17904//17904 18326//18326 18482//18482\nf 18485//18485 17906//17906 18119//18119\nf 17907//17907 18327//18327 18326//18326\nf 17723//17723 18210//18210 18484//18484\nf 17579//17579 18328//18328 17907//17907\nf 17907//17907 18328//18328 18327//18327\nf 17724//17724 17908//17908 18486//18486\nf 18042//18042 18211//18211 18487//18487\nf 18487//18487 18488//18488 18042//18042\nf 18488//18488 17911//17911 18042//18042\nf 18329//18329 18213//18213 18491//18491\nf 18329//18329 18121//18121 18213//18213\nf 18333//18333 18120//18120 17911//17911\nf 18215//18215 17912//17912 18332//18332\nf 18076//18076 17912//17912 18215//18215\nf 17913//17913 18215//18215 18330//18330\nf 18043//18043 18122//18122 18216//18216\nf 18123//18123 18493//18493 17916//17916\nf 17920//17920 17726//17726 18334//18334\nf 18501//18501 17734//17734 18336//18336\nf 18123//18123 18124//18124 18504//18504\nf 17924//17924 17736//17736 17737//17737\nf 17925//17925 17922//17922 18337//18337\nf 17924//17924 17737//17737 18507//18507\nf 18507//18507 18044//18044 17924//17924\nf 17739//17739 18339//18339 18124//18124\nf 17931//17931 17929//17929 18222//18222\nf 17590//17590 17928//17928 18127//18127\nf 18077//18077 17934//17934 18513//18513\nf 18127//18127 17592//17592 17590//17590\nf 18341//18341 18340//18340 18080//18080\nf 18080//18080 18340//18340 18224//18224\nf 17591//17591 17932//17932 18342//18342\nf 18224//18224 18343//18343 18081//18081\nf 18079//18079 18344//18344 17741//17741\nf 18516//18516 18517//18517 18346//18346\nf 18520//18520 18131//18131 18346//18346\nf 18517//18517 18520//18520 18346//18346\nf 17934//17934 17746//17746 18349//18349\nf 18131//18131 18520//18520 18129//18129\nf 18520//18520 18347//18347 18129//18129\nf 18345//18345 18128//18128 18130//18130\nf 18345//18345 18048//18048 17940//17940\nf 18081//18081 18351//18351 17750//17750\nf 18524//18524 18345//18345 17940//17940\nf 18528//18528 17750//17750 18351//18351\nf 18527//18527 17595//17595 17752//17752\nf 17749//17749 17935//17935 18082//18082\nf 18525//18525 17747//17747 18227//18227\nf 18352//18352 18047//18047 18133//18133\nf 18525//18525 18227//18227 17747//17747\nf 18525//18525 17747//17747 18227//18227\nf 17943//17943 18525//18525 18134//18134\nf 17943//17943 17747//17747 18525//18525\nf 18133//18133 18354//18354 18229//18229\nf 17595//17595 18527//18527 17752//17752\nf 17937//17937 18531//18531 17756//17756\nf 18233//18233 17595//17595 18355//18355\nf 17595//17595 17752//17752 18355//18355\nf 17752//17752 18233//18233 18355//18355\nf 17948//17948 18233//18233 17600//17600\nf 17600//17600 18233//18233 17752//17752\nf 18236//18236 17761//17761 18135//18135\nf 18534//18534 17762//17762 18356//18356\nf 17605//17605 18538//18538 18237//18237\nf 17766//17766 17951//17951 18357//18357\nf 18540//18540 18238//18238 18237//18237\nf 18360//18360 17765//17765 18358//18358\nf 18360//18360 18051//18051 17765//17765\nf 18540//18540 17952//17952 18238//18238\nf 17765//17765 18138//18138 18358//18358\nf 18358//18358 18138//18138 18360//18360\nf 18083//18083 17952//17952 18540//18540\nf 18139//18139 18360//18360 18138//18138\nf 18542//18542 17607//17607 17766//17766\nf 18544//18544 18139//18139 18242//18242\nf 18240//18240 17607//17607 18546//18546\nf 18241//18241 17955//17955 18083//18083\nf 18240//18240 18546//18546 17768//17768\nf 18546//18546 18361//18361 17768//17768\nf 17956//17956 17955//17955 18362//18362\nf 18363//18363 18140//18140 18365//18365\nf 18364//18364 17956//17956 18362//18362\nf 17768//17768 18361//18361 17770//17770\nf 18366//18366 17613//17613 18244//18244\nf 18140//18140 17612//17612 18365//18365\nf 18364//18364 18367//18367 17956//17956\nf 17773//17773 18141//18141 18245//18245\nf 18549//18549 18244//18244 18247//18247\nf 18367//18367 18246//18246 17956//17956\nf 18246//18246 17771//17771 17956//17956\nf 18548//18548 17958//17958 18369//18369\nf 18370//18370 18144//18144 18368//18368\nf 18085//18085 17773//17773 18248//18248\nf 18250//18250 18085//18085 18371//18371\nf 18147//18147 18251//18251 18370//18370\nf 18370//18370 18251//18251 18144//18144\nf 18143//18143 17776//17776 18250//18250\nf 18143//18143 18250//18250 18371//18371\nf 18249//18249 18143//18143 18371//18371\nf 17621//17621 18085//18085 18250//18250\nf 17618//17618 18246//18246 18372//18372\nf 18145//18145 18373//18373 18247//18247\nf 18147//18147 18374//18374 18370//18370\nf 18252//18252 18144//18144 18146//18146\nf 18375//18375 18368//18368 18252//18252\nf 18147//18147 18370//18370 18376//18376\nf 18151//18151 17779//17779 18372//18372\nf 18151//18151 18372//18372 18552//18552\nf 18376//18376 18150//18150 18149//18149\nf 17779//17779 18148//18148 18372//18372\nf 18377//18377 18551//18551 18253//18253\nf 18551//18551 18086//18086 18253//18253\nf 18377//18377 18152//18152 18380//18380\nf 18152//18152 18381//18381 18380//18380\nf 18154//18154 18152//18152 18087//18087\nf 18061//18061 18382//18382 18383//18383\nf 18154//18154 18381//18381 18152//18152\nf 18255//18255 18389//18389 18059//18059\nf 18386//18386 18385//18385 18154//18154\nf 18385//18385 18381//18381 18154//18154\nf 17961//17961 17782//17782 18554//18554\nf 18384//18384 18061//18061 18383//18383\nf 18257//18257 18155//18155 18387//18387\nf 18386//18386 18154//18154 18258//18258\nf 18089//18089 17966//17966 18257//18257\nf 18089//18089 18387//18387 18388//18388\nf 18386//18386 18258//18258 18157//18157\nf 18557//18557 18386//18386 18157//18157\nf 17782//17782 17625//17625 18390//18390\nf 18388//18388 18156//18156 18089//18089\nf 18156//18156 18388//18388 18158//18158\nf 18388//18388 18557//18557 18158//18158\nf 18557//18557 18157//18157 18158//18158\nf 18391//18391 17970//17970 18063//18063\nf 17625//17625 17630//17630 18159//18159\nf 17970//17970 18260//18260 17792//17792\nf 18561//18561 17974//17974 17635//17635\nf 18393//18393 18261//18261 17636//17636\nf 17635//17635 17636//17636 18261//18261\nf 17637//17637 17975//17975 18262//18262\nf 18563//18563 17978//17978 18395//18395\nf 17795//17795 17637//17637 18562//18562\nf 18396//18396 18565//18565 17977//17977\nf 17979//17979 18396//18396 17977//17977\nf 18567//18567 17981//17981 17798//17798\nf 18566//18566 18091//18091 17978//17978\nf 18399//18399 18067//18067 17981//17981\nf 18398//18398 18067//18067 18399//18399\nf 17638//17638 18263//18263 18401//18401\nf 17640//17640 18263//18263 17638//17638\nf 17642//17642 18405//18405 18570//18570\nf 17642//17642 18570//18570 17641//17641\nf 17982//17982 18406//18406 17642//17642\nf 17642//17642 18406//18406 18405//18405\nf 18406//18406 17982//17982 18407//18407\nf 17984//17984 18264//18264 18263//18263\nf 17640//17640 17984//17984 18263//18263\nf 18163//18163 18407//18407 17802//17802\nf 18408//18408 17801//17801 18068//18068\nf 18408//18408 18068//18068 18572//18572\nf 18265//18265 18166//18166 17990//17990\nf 18265//18265 17990//17990 18267//18267\nf 18411//18411 18412//18412 17991//17991\nf 18412//18412 17809//17809 17991//17991\nf 17989//17989 17647//17647 18414//18414\nf 18268//18268 18269//18269 18167//18167\nf 18415//18415 17649//17649 17650//17650\nf 17650//17650 18270//18270 18415//18415\nf 17991//17991 17812//17812 17649//17649\nf 18417//18417 18579//18579 17649//17649\nf 18579//18579 17991//17991 17649//17649\nf 18577//18577 18580//18580 17989//17989\nf 18416//18416 18269//18269 18094//18094\nf 18270//18270 17993//17993 18418//18418\nf 18270//18270 17650//17650 17993//17993\nf 17992//17992 18580//18580 18582//18582\nf 18419//18419 18271//18271 18170//18170\nf 18419//18419 17655//17655 18420//18420\nf 18419//18419 17656//17656 17655//17655\nf 18419//18419 18170//18170 17656//17656\nf 18275//18275 17995//17995 18274//18274\nf 18000//18000 18172//18172 18591//18591\nf 18595//18595 18070//18070 18277//18277\nf 18280//18280 18003//18003 18281//18281\nf 18599//18599 17828//17828 18597//18597\nf 18600//18600 18601//18601 17832//17832\nf 18602//18602 17832//17832 18601//18601\nf 18603//18603 18598//18598 18005//18005\nf 18282//18282 18096//18096 18423//18423\nf 18425//18425 17546//17546 18604//18604\nf 17546//17546 18283//18283 18604//18604\nf 18423//18423 18285//18285 18605//18605\nf 18423//18423 18096//18096 18285//18285\nf 18425//18425 18176//18176 17546//17546\nf 18012//18012 18285//18285 17834//17834\nf 18286//18286 18285//18285 18012//18012\nf 18285//18285 18175//18175 17834//17834\nf 18425//18425 18010//18010 18176//18176\nf 18012//18012 17834//17834 17839//17839\nf 18426//18426 18011//18011 18010//18010\nf 18177//18177 18287//18287 18608//18608\nf 18177//18177 18013//18013 18287//18287\nf 17842//17842 17845//17845 18288//18288\nf 17846//17846 18611//18611 17671//17671\nf 17673//17673 17671//17671 18430//18430\nf 17848//17848 18612//18612 18015//18015\nf 18431//18431 18430//18430 17671//17671\nf 18020//18020 18290//18290 18433//18433\nf 18020//18020 17672//17672 18290//18290\nf 18434//18434 18019//18019 17675//17675\nf 18022//18022 18020//18020 18435//18435\nf 18437//18437 17676//17676 18291//18291\nf 18617//18617 18438//18438 18024//18024\nf 18439//18439 18179//18179 17849//17849\nf 17850//17850 18179//18179 18439//18439\nf 18617//18617 18024//18024 18026//18026\nf 18025//18025 18026//18026 18024//18024\nf 17852//17852 18027//18027 18180//18180\nf 18441//18441 18440//18440 18099//18099\nf 17697//17697 18441//18441 18099//18099\nf 18442//18442 18441//18441 17697//17697\nf 18294//18294 17854//17854 18295//18295\nf 17854//17854 17861//17861 18295//18295\nf 18295//18295 17861//17861 18444//18444\nf 17863//17863 18450//18450 18449//18449\nf 18446//18446 17864//17864 18623//18623\nf 17693//17693 17867//17867 18443//18443\nf 18447//18447 18444//18444 17868//17868\nf 17687//17687 17688//17688 18297//18297\nf 18448//18448 18297//18297 17689//17689\nf 18297//18297 17688//17688 17689//17689\nf 17862//17862 18449//18449 18448//18448\nf 18445//18445 18450//18450 17690//17690\nf 18446//18446 17690//17690 17691//17691\nf 17864//17864 17681//17681 18451//18451\nf 18183//18183 17685//17685 18098//18098\nf 18182//18182 18183//18183 18098//18098\nf 18296//18296 17856//17856 18454//18454\nf 18454//18454 17856//17856 17857//17857\nf 17857//17857 18298//18298 18454//18454\nf 18455//18455 17693//17693 18452//18452\nf 17857//17857 17858//17858 18298//18298\nf 17858//17858 17692//17692 18100//18100\nf 18458//18458 17692//17692 18100//18100\nf 18456//18456 18102//18102 18187//18187\nf 18624//18624 17858//17858 18457//18457\nf 17858//17858 18100//18100 18457//18457\nf 18303//18303 18459//18459 18625//18625\nf 18629//18629 18189//18189 18300//18300\nf 18104//18104 18194//18194 18459//18459\nf 18029//18029 18461//18461 18304//18304\nf 18029//18029 18101//18101 18461//18461\nf 18459//18459 18303//18303 17700//17700\nf 18303//18303 17554//17554 17700//17700\nf 18462//18462 17554//17554 18303//18303\nf 18302//18302 17872//17872 18462//18462\nf 18462//18462 17872//17872 17554//17554\nf 17871//17871 18464//18464 18193//18193\nf 17871//17871 18193//18193 18464//18464\nf 18194//18194 18195//18195 18107//18107\nf 18305//18305 18463//18463 18195//18195\nf 18107//18107 18305//18305 18195//18195\nf 18195//18195 18305//18305 18107//18107\nf 18105//18105 17873//17873 18191//18191\nf 18192//18192 18034//18034 18465//18465\nf 18033//18033 18193//18193 18466//18466\nf 18465//18465 18034//18034 17884//17884\nf 18196//18196 18033//18033 18466//18466\nf 18107//18107 18305//18305 18108//18108\nf 17880//17880 18105//18105 18306//18306\nf 18307//18307 18305//18305 17566//17566\nf 18305//18305 18107//18107 18108//18108\nf 18311//18311 17881//17881 18196//18196\nf 18109//18109 18108//18108 18305//18305\nf 18306//18306 18201//18201 17880//17880\nf 18312//18312 18036//18036 17889//17889\nf 18673//18673 18672//18672 17563//17563\nf 18199//18199 18309//18309 18198//18198\nf 18309//18309 18308//18308 18198//18198\nf 17884//17884 17708//17708 18465//18465\nf 18305//18305 18109//18109 17566//17566\nf 18109//18109 18305//18305 17566//17566\nf 18109//18109 18197//18197 17566//17566\nf 17566//17566 18197//18197 18109//18109\nf 17566//17566 18110//18110 18197//18197\nf 18314//18314 17887//17887 18200//18200\nf 17887//17887 17888//17888 18200//18200\nf 17566//17566 18197//18197 18110//18110\nf 18471//18471 17568//17568 17886//17886\nf 18314//18314 18316//18316 17887//17887\nf 18197//18197 18110//18110 18111//18111\nf 18197//18197 18111//18111 18110//18110\nf 18203//18203 17568//17568 18471//18471\nf 18470//18470 18037//18037 17895//17895\nf 18315//18315 18317//18317 17896//17896\nf 17896//17896 18317//18317 18315//18315\nf 17712//17712 18203//18203 18474//18474\nf 17712//17712 17893//17893 18203//18203\nf 18318//18318 18204//18204 18039//18039\nf 18316//18316 18319//18319 17576//17576\nf 18114//18114 17567//17567 18038//18038\nf 18114//18114 18038//18038 18315//18315\nf 18038//18038 18317//18317 18315//18315\nf 17896//17896 18315//18315 18317//18317\nf 18038//18038 17896//17896 18317//18317\nf 18476//18476 17576//17576 18319//18319\nf 18115//18115 17712//17712 18475//18475\nf 18474//18474 18475//18475 17712//17712\nf 18476//18476 18320//18320 17576//17576\nf 18206//18206 18478//18478 17901//17901\nf 18321//18321 17715//17715 18320//18320\nf 17901//17901 18478//18478 18207//18207\nf 17713//17713 18115//18115 18475//18475\nf 18681//18681 18323//18323 18475//18475\nf 18116//18116 18208//18208 18477//18477\nf 18075//18075 17713//17713 18323//18323\nf 18116//18116 18040//18040 18208//18208\nf 18323//18323 18481//18481 18041//18041\nf 18208//18208 17904//17904 18482//18482\nf 17905//17905 17718//17718 18322//18322\nf 18481//18481 18324//18324 18041//18041\nf 18324//18324 18041//18041 18481//18481\nf 17723//17723 17905//17905 18210//18210\nf 18210//18210 18483//18483 18484//18484\nf 18210//18210 17905//17905 18483//18483\nf 17908//17908 17722//17722 18486//18486\nf 18212//18212 18119//18119 17909//17909\nf 17724//17724 18486//18486 18638//18638\nf 18328//18328 17581//17581 18490//18490\nf 18488//18488 18333//18333 17911//17911\nf 18332//18332 17730//17730 18329//18329\nf 18216//18216 18122//18122 18492//18492\nf 18493//18493 18491//18491 17729//17729\nf 17729//17729 18491//18491 18213//18213\nf 18334//18334 17726//17726 18495//18495\nf 18495//18495 17726//17726 17910//17910\nf 17916//17916 18493//18493 17729//17729\nf 17731//17731 18494//18494 17917//17917\nf 17915//17915 17918//17918 18335//18335\nf 18333//18333 17734//17734 18120//18120\nf 18336//18336 17734//17734 18333//18333\nf 18123//18123 18497//18497 18493//18493\nf 18498//18498 17919//17919 17917//17917\nf 17733//17733 17919//17919 18498//18498\nf 18217//18217 17733//17733 18498//18498\nf 18218//18218 17920//17920 18499//18499\nf 18502//18502 18218//18218 18499//18499\nf 18335//18335 17918//17918 17584//17584\nf 17737//17737 17736//17736 18503//18503\nf 17738//17738 18218//18218 18502//18502\nf 18501//18501 18337//18337 17922//17922\nf 17737//17737 18506//18506 18507//18507\nf 18338//18338 18337//18337 17586//17586\nf 18505//18505 17923//17923 18220//18220\nf 18338//18338 18508//18508 17928//17928\nf 18504//18504 18339//18339 18509//18509\nf 17586//17586 18338//18338 17928//17928\nf 17739//17739 18509//18509 18339//18339\nf 18341//18341 18510//18510 18511//18511\nf 18125//18125 18077//18077 18513//18513\nf 18340//18340 18341//18341 18511//18511\nf 17739//17739 18223//18223 18509//18509\nf 18342//18342 18512//18512 18221//18221\nf 17933//17933 18220//18220 18045//18045\nf 18224//18224 18340//18340 18343//18343\nf 18515//18515 18223//18223 17741//17741\nf 17741//17741 18223//18223 18126//18126\nf 18226//18226 17931//17931 18514//18514\nf 18518//18518 17592//17592 18127//18127\nf 18348//18348 17935//17935 18342//18342\nf 18520//18520 18517//18517 18341//18341\nf 18129//18129 18347//18347 18341//18341\nf 18347//18347 18520//18520 18341//18341\nf 17934//17934 18349//18349 18513//18513\nf 18344//18344 18515//18515 17741//17741\nf 18521//18521 18226//18226 18514//18514\nf 18128//18128 18345//18345 18519//18519\nf 17592//17592 18643//18643 18225//18225\nf 18079//18079 18523//18523 18344//18344\nf 18079//18079 18078//18078 18523//18523\nf 17940//17940 18526//18526 18524//18524\nf 17595//17595 18527//18527 17746//17746\nf 17746//17746 18527//18527 18349//18349\nf 17939//17939 18047//18047 18228//18228\nf 18082//18082 17935//17935 18353//18353\nf 18229//18229 18352//18352 18133//18133\nf 17937//17937 17750//17750 18528//18528\nf 18353//18353 17935//17935 18348//18348\nf 18529//18529 18527//18527 17595//17595\nf 17947//17947 18530//18530 18354//18354\nf 17947//17947 18231//18231 18530//18530\nf 18531//18531 17937//17937 18528//18528\nf 18233//18233 18529//18529 17595//17595\nf 18231//18231 17947//17947 18234//18234\nf 17756//17756 18531//18531 18233//18233\nf 17948//17948 17756//17756 18233//18233\nf 17947//17947 18049//18049 18234//18234\nf 18234//18234 18049//18049 18235//18235\nf 17602//17602 18235//18235 18534//18534\nf 18533//18533 17602//17602 18534//18534\nf 18235//18235 17602//17602 18533//18533\nf 18050//18050 17946//17946 18645//18645\nf 18534//18534 18235//18235 18136//18136\nf 18536//18536 17761//17761 18236//18236\nf 18237//18237 17761//17761 18536//18536\nf 18534//18534 18136//18136 17762//17762\nf 18534//18534 18537//18537 18696//18696\nf 17760//17760 17763//17763 18535//18535\nf 18537//18537 18534//18534 18356//18356\nf 17761//17761 18237//18237 18538//18538\nf 17605//17605 17761//17761 18538//18538\nf 17762//17762 18051//18051 18537//18537\nf 17762//17762 18537//18537 18356//18356\nf 17951//17951 18137//18137 18357//18357\nf 18538//18538 18540//18540 18237//18237\nf 18358//18358 18537//18537 18051//18051\nf 18358//18358 18051//18051 18360//18360\nf 18544//18544 18360//18360 18139//18139\nf 18543//18543 18083//18083 18540//18540\nf 18541//18541 18052//18052 18545//18545\nf 18546//18546 17607//17607 18542//18542\nf 18241//18241 18083//18083 18543//18543\nf 18646//18646 18242//18242 17613//17613\nf 18053//18053 17613//17613 18242//18242\nf 18361//18361 18547//18547 18243//18243\nf 17770//17770 18361//18361 18243//18243\nf 18646//18646 17613//17613 18366//18366\nf 18243//18243 18547//18547 18141//18141\nf 18245//18245 18141//18141 18547//18547\nf 18549//18549 18366//18366 18244//18244\nf 17612//17612 17958//17958 18548//18548\nf 17773//17773 18245//18245 18547//18547\nf 18248//18248 17773//17773 18547//18547\nf 18648//18648 18370//18370 18368//18368\nf 18371//18371 18248//18248 18705//18705\nf 17958//17958 18249//18249 18369//18369\nf 18371//18371 18085//18085 18248//18248\nf 18144//18144 18252//18252 18368//18368\nf 18246//18246 18550//18550 18372//18372\nf 18373//18373 18549//18549 18247//18247\nf 18147//18147 18370//18370 18374//18374\nf 18549//18549 18373//18373 18551//18551\nf 18149//18149 18147//18147 18376//18376\nf 18373//18373 18086//18086 18551//18551\nf 18252//18252 18146//18146 18375//18375\nf 18378//18378 18151//18151 18552//18552\nf 18254//18254 18150//18150 18376//18376\nf 18377//18377 18380//18380 18551//18551\nf 18378//18378 18379//18379 18151//18151\nf 18378//18378 18552//18552 18707//18707\nf 18153//18153 18379//18379 18256//18256\nf 18256//18256 18379//18379 18382//18382\nf 18555//18555 17961//17961 18554//18554\nf 18383//18383 18382//18382 18556//18556\nf 18383//18383 18556//18556 18384//18384\nf 18386//18386 18553//18553 18381//18381\nf 18386//18386 18381//18381 18385//18385\nf 18061//18061 18384//18384 18155//18155\nf 18657//18657 18553//18553 18557//18557\nf 18387//18387 18155//18155 18384//18384\nf 18557//18557 18553//18553 18386//18386\nf 18257//18257 18387//18387 18089//18089\nf 18388//18388 18387//18387 18711//18711\nf 18063//18063 18389//18389 18391//18391\nf 18063//18063 18059//18059 18389//18389\nf 18392//18392 17970//17970 18391//18391\nf 18159//18159 18259//18259 18390//18390\nf 18392//18392 18659//18659 17970//17970\nf 18659//18659 18558//18558 17970//17970\nf 18160//18160 18559//18559 18259//18259\nf 18260//18260 17970//17970 18558//18558\nf 18260//18260 18558//18558 18393//18393\nf 18560//18560 18160//18160 18162//18162\nf 18560//18560 18559//18559 18160//18160\nf 18260//18260 18393//18393 18161//18161\nf 18560//18560 18162//18162 18561//18561\nf 18561//18561 18261//18261 18393//18393\nf 18561//18561 17635//17635 18261//18261\nf 18562//18562 17637//17637 18262//18262\nf 18262//18262 17975//17975 18394//18394\nf 17978//17978 17795//17795 18395//18395\nf 18395//18395 17795//17795 18562//18562\nf 18394//18394 18090//18090 17976//17976\nf 18565//18565 17976//17976 17977//17977\nf 17638//17638 18567//18567 17798//17798\nf 18401//18401 18567//18567 17638//17638\nf 18397//18397 18396//18396 17979//17979\nf 18399//18399 17981//17981 18567//18567\nf 18091//18091 18566//18566 17796//17796\nf 18569//18569 18397//18397 17980//17980\nf 17639//17639 17796//17796 18402//18402\nf 19091//19091 18568//18568 18566//18566\nf 18402//18402 17796//17796 18568//18568\nf 18570//18570 18569//18569 17641//17641\nf 17641//17641 18569//18569 17980//17980\nf 18403//18403 18092//18092 18400//18400\nf 18163//18163 18092//18092 18403//18403\nf 18264//18264 18571//18571 18401//18401\nf 18263//18263 18264//18264 18401//18401\nf 17984//17984 18265//18265 18264//18264\nf 18264//18264 18265//18265 18571//18571\nf 18573//18573 18164//18164 17800//17800\nf 18266//18266 18165//18165 18409//18409\nf 17808//17808 17986//17986 18266//18266\nf 18575//18575 17808//17808 18266//18266\nf 18269//18269 18267//18267 18167//18167\nf 18269//18269 18574//18574 18267//18267\nf 18167//18167 18267//18267 18410//18410\nf 18267//18267 18167//18167 18410//18410\nf 18413//18413 17647//17647 17807//17807\nf 18662//18662 18269//18269 18416//18416\nf 18415//18415 18417//18417 17649//17649\nf 18579//18579 18411//18411 17991//17991\nf 17989//17989 18414//18414 18577//18577\nf 18168//18168 17808//17808 18578//18578\nf 18578//18578 17808//17808 18575//18575\nf 18271//18271 18419//18419 18576//18576\nf 18415//18415 18270//18270 17650//17650\nf 17650//17650 18270//18270 18415//18415\nf 18169//18169 18580//18580 17992//17992\nf 18168//18168 18581//18581 17810//17810\nf 17992//17992 18582//18582 17813//17813\nf 18582//18582 18583//18583 17813//17813\nf 18418//18418 17993//17993 18272//18272\nf 18584//18584 17813//17813 18583//18583\nf 18584//18584 18273//18273 17813//17813\nf 18272//18272 17997//17997 18585//18585\nf 17651//17651 18273//18273 18584//18584\nf 17651//17651 18584//18584 17655//17655\nf 17655//17655 18584//18584 18419//18419\nf 17655//17655 18419//18419 18420//18420\nf 17997//17997 18586//18586 18585//18585\nf 17997//17997 17654//17654 18586//18586\nf 18587//18587 17654//17654 17998//17998\nf 18587//18587 18586//18586 17654//17654\nf 18589//18589 17999//17999 18275//18275\nf 17998//17998 17821//17821 18588//18588\nf 18589//18589 18276//18276 18171//18171\nf 18589//18589 18171//18171 17999//17999\nf 18590//18590 17821//17821 18000//18000\nf 18000//18000 18591//18591 18590//18590\nf 18070//18070 18276//18276 18277//18277\nf 17826//17826 18421//18421 18001//18001\nf 17826//17826 18278//18278 18421//18421\nf 18593//18593 18277//18277 18592//18592\nf 18279//18279 18278//18278 17825//17825\nf 18174//18174 18594//18594 18279//18279\nf 18070//18070 18595//18595 18173//18173\nf 18173//18173 18595//18595 18174//18174\nf 18595//18595 18596//18596 18174//18174\nf 18594//18594 18174//18174 18596//18596\nf 18277//18277 18593//18593 18595//18595\nf 17828//17828 18006//18006 18597//18597\nf 18004//18004 18280//18280 18006//18006\nf 17827//17827 18281//18281 18003//18003\nf 17827//17827 18598//18598 18281//18281\nf 18422//18422 18007//18007 18599//18599\nf 17827//17827 18005//18005 18598//18598\nf 17832//17832 18007//18007 18422//18422\nf 18602//18602 18008//18008 17833//17833\nf 17833//17833 17832//17832 18602//18602\nf 18602//18602 18424//18424 18008//18008\nf 17835//17835 18424//18424 18284//18284\nf 18010//18010 18425//18425 18606//18606\nf 18426//18426 18010//18010 18606//18606\nf 18428//18428 18426//18426 18606//18606\nf 18427//18427 18178//18178 18607//18607\nf 18097//18097 18178//18178 18427//18427\nf 18607//18607 18605//18605 18427//18427\nf 18427//18427 18605//18605 18286//18286\nf 18097//18097 18427//18427 18286//18286\nf 17667//17667 18428//18428 18429//18429\nf 18013//18013 18608//18608 18287//18287\nf 18429//18429 17667//17667 17846//17846\nf 18429//18429 17846//17846 17667//17667\nf 17846//17846 17667//17667 18429//18429\nf 18609//18609 17842//17842 18288//18288\nf 18288//18288 17845//17845 18610//18610\nf 18611//18611 17846//17846 18429//18429\nf 18611//18611 18430//18430 18431//18431\nf 17845//17845 18612//18612 18610//18610\nf 18611//18611 18431//18431 17671//17671\nf 18017//18017 18289//18289 18432//18432\nf 17848//17848 18613//18613 18612//18612\nf 18017//18017 18613//18613 17848//17848\nf 17673//17673 18430//18430 18290//18290\nf 18289//18289 18016//18016 18614//18614\nf 17675//17675 18071//18071 18434//18434\nf 18435//18435 18615//18615 18022//18022\nf 18291//18291 18436//18436 17676//17676\nf 18437//18437 18291//18291 17676//17676\nf 18438//18438 18617//18617 18291//18291\nf 18617//18617 18616//18616 18291//18291\nf 18022//18022 18665//18665 18023//18023\nf 18292//18292 18619//18619 17849//17849\nf 18439//18439 17849//17849 18619//18619\nf 17851//17851 17677//17677 18618//18618\nf 17850//17850 18439//18439 18293//18293\nf 18293//18293 18439//18439 18617//18617\nf 18617//18617 18026//18026 18293//18293\nf 17852//17852 18620//18620 18292//18292\nf 18072//18072 17851//17851 18618//18618\nf 18620//18620 17852//17852 18622//18622\nf 18072//18072 18618//18618 18621//18621\nf 18072//18072 18621//18621 18027//18027\nf 18182//18182 17680//17680 18181//18181\nf 18452//18452 17693//17693 18443//18443\nf 18444//18444 17865//17865 17868//17868\nf 18450//18450 17863//17863 17690//17690\nf 18446//18446 17691//17691 17864//17864\nf 17689//17689 17862//17862 18448//18448\nf 18451//18451 17681//17681 17855//17855\nf 18187//18187 17694//17694 18453//18453\nf 18298//18298 17858//17858 18624//18624\nf 18194//18194 18628//18628 18627//18627\nf 17694//17694 18187//18187 18630//18630\nf 18187//18187 18453//18453 18630//18630\nf 18626//18626 18625//18625 18459//18459\nf 18627//18627 18459//18459 18194//18194\nf 18626//18626 18459//18459 18627//18627\nf 18628//18628 18194//18194 18195//18195\nf 18447//18447 17879//17879 18192//18192\nf 18187//18187 17694//17694 18630//18630\nf 18456//18456 18187//18187 18630//18630\nf 18447//18447 17868//17868 17879//17879\nf 18190//18190 18302//18302 18188//18188\nf 18195//18195 18194//18194 18107//18107\nf 18107//18107 18195//18195 18305//18305\nf 18195//18195 18463//18463 18305//18305\nf 18463//18463 18305//18305 18307//18307\nf 18193//18193 18464//18464 18466//18466\nf 18197//18197 18631//18631 18307//18307\nf 18197//18197 18313//18313 18631//18631\nf 18109//18109 18305//18305 18197//18197\nf 18305//18305 18307//18307 18197//18197\nf 17890//17890 17563//17563 18467//18467\nf 18310//18310 17709//17709 18074//18074\nf 18632//18632 18312//18312 17889//17889\nf 17889//17889 17890//17890 18468//18468\nf 18468//18468 17890//17890 18467//18467\nf 18469//18469 18037//18037 18470//18470\nf 18469//18469 17708//17708 18037//18037\nf 18313//18313 18204//18204 18472//18472\nf 17895//17895 17897//17897 18473//18473\nf 18470//18470 17895//17895 18633//18633\nf 18315//18315 18114//18114 18635//18635\nf 18633//18633 17895//17895 18473//18473\nf 18474//18474 18203//18203 18634//18634\nf 17896//17896 18114//18114 18315//18315\nf 17896//17896 18315//18315 18114//18114\nf 18318//18318 18205//18205 18116//18116\nf 18116//18116 18477//18477 18318//18318\nf 18478//18478 18206//18206 18677//18677\nf 17897//17897 17903//17903 18479//18479\nf 18473//18473 17897//17897 18479//18479\nf 18321//18321 18678//18678 18206//18206\nf 18323//18323 17713//17713 18475//18475\nf 18479//18479 17717//17717 18480//18480\nf 17717//17717 17720//17720 18480//18480\nf 17720//17720 18209//18209 18480//18480\nf 17905//17905 18322//18322 18483//18483\nf 18041//18041 18324//18324 18481//18481\nf 17904//17904 17907//17907 18326//18326\nf 18482//18482 18326//18326 18637//18637\nf 18327//18327 18637//18637 18326//18326\nf 18684//18684 18209//18209 17906//17906\nf 18485//18485 18119//18119 18212//18212\nf 17722//17722 18325//18325 18486//18486\nf 18328//18328 17579//17579 17581//17581\nf 17910//17910 17724//17724 18638//18638\nf 18212//18212 17725//17725 18489//18489\nf 17912//17912 17730//17730 18332//18332\nf 18122//18122 17913//17913 18330//18330\nf 18331//18331 18122//18122 18330//18330\nf 18492//18492 18122//18122 18331//18331\nf 18489//18489 17725//17725 17583//17583\nf 18490//18490 17581//17581 18214//18214\nf 18043//18043 18216//18216 18492//18492\nf 17731//17731 17914//17914 18494//18494\nf 18496//18496 17917//17917 18494//18494\nf 18498//18498 17917//17917 18496//18496\nf 18336//18336 18333//18333 18501//18501\nf 18501//18501 17922//17922 17734//17734\nf 18640//18640 18335//18335 17584//17584\nf 18497//18497 18123//18123 18504//18504\nf 17735//17735 17923//17923 18505//18505\nf 18219//18219 17738//17738 18502//18502\nf 18337//18337 18338//18338 17925//17925\nf 17929//17929 18219//18219 18222//18222\nf 17584//17584 17927//17927 18640//18640\nf 18337//18337 18338//18338 17586//17586\nf 18044//18044 18507//18507 18221//18221\nf 17927//17927 18125//18125 18640//18640\nf 17740//17740 18044//18044 18221//18221\nf 18338//18338 18337//18337 18508//18508\nf 18504//18504 18124//18124 18339//18339\nf 18341//18341 18689//18689 18510//18510\nf 17931//17931 18222//18222 18641//18641\nf 18689//18689 18341//18341 18517//18517\nf 18511//18511 18343//18343 18340//18340\nf 17932//17932 17740//17740 18221//18221\nf 18514//18514 17931//17931 18641//18641\nf 18128//18128 18519//18519 18516//18516\nf 18351//18351 18081//18081 18343//18343\nf 18342//18342 17932//17932 18512//18512\nf 18128//18128 18516//18516 18346//18346\nf 17592//17592 18518//18518 18643//18643\nf 17933//17933 17748//17748 18350//18350\nf 18078//18078 18225//18225 18522//18522\nf 18078//18078 18522//18522 18523//18523\nf 17745//17745 18226//18226 18521//18521\nf 18227//18227 17745//17745 18525//18525\nf 18228//18228 18526//18526 18524//18524\nf 18228//18228 18047//18047 18352//18352\nf 18644//18644 18526//18526 18228//18228\nf 18228//18228 18524//18524 18526//18526\nf 18527//18527 18529//18529 18349//18349\nf 18135//18135 18134//18134 18236//18236\nf 18137//18137 18050//18050 18357//18357\nf 18695//18695 18357//18357 18050//18050\nf 18237//18237 18536//18536 18538//18538\nf 18535//18535 17763//17763 18539//18539\nf 17763//17763 18541//18541 18539//18539\nf 17763//17763 18239//18239 18541//18541\nf 18546//18546 18542//18542 17766//17766\nf 18239//18239 17764//17764 18541//18541\nf 18546//18546 17766//17766 18359//18359\nf 18541//18541 17764//17764 18052//18052\nf 18363//18363 18545//18545 18052//18052\nf 17608//17608 18363//18363 18052//18052\nf 18362//18362 18543//18543 18698//18698\nf 18363//18363 18365//18365 18647//18647\nf 18367//18367 18364//18364 18362//18362\nf 18365//18365 17612//17612 18548//18548\nf 18650//18650 18648//18648 18649//18649\nf 18648//18648 18368//18368 18649//18649\nf 18550//18550 18246//18246 18704//18704\nf 18651//18651 18702//18702 18366//18366\nf 18551//18551 18651//18651 18549//18549\nf 18649//18649 18368//18368 18375//18375\nf 18380//18380 18653//18653 18551//18551\nf 18378//18378 18707//18707 18379//18379\nf 18375//18375 18146//18146 18055//18055\nf 18379//18379 18656//18656 18382//18382\nf 18655//18655 18055//18055 18555//18555\nf 18654//18654 18380//18380 18381//18381\nf 18382//18382 18656//18656 18556//18556\nf 18555//18555 18055//18055 17961//17961\nf 18553//18553 18654//18654 18381//18381\nf 18556//18556 18658//18658 18384//18384\nf 18384//18384 18658//18658 18387//18387\nf 17782//17782 18390//18390 18554//18554\nf 17976//17976 18565//18565 18564//18564\nf 18713//18713 18400//18400 18398//18398\nf 18566//18566 18568//18568 17796//17796\nf 18402//18402 17797//17797 17639//17639\nf 18163//18163 18403//18403 18407//18407\nf 18404//18404 17797//17797 18402//18402\nf 18573//18573 17800//17800 18408//18408\nf 18573//18573 18409//18409 18164//18164\nf 18409//18409 18575//18575 18266//18266\nf 18662//18662 18574//18574 18269//18269\nf 17807//17807 17809//17809 18413//18413\nf 17647//17647 18413//18413 18414//18414\nf 18418//18418 18663//18663 18270//18270\nf 18663//18663 18415//18415 18270//18270\nf 18576//18576 18416//18416 18094//18094\nf 18271//18271 18576//18576 18094//18094\nf 18580//18580 18169//18169 17989//17989\nf 18664//18664 18576//18576 18419//18419\nf 18168//18168 18578//18578 18581//18581\nf 18716//18716 18419//18419 18584//18584\nf 17810//17810 18581//18581 18274//18274\nf 18272//18272 18585//18585 18586//18586\nf 18587//18587 17998//17998 18588//18588\nf 18591//18591 18001//18001 18421//18421\nf 18172//18172 18001//18001 18591//18591\nf 18280//18280 18597//18597 18006//18006\nf 18603//18603 18005//18005 18423//18423\nf 18605//18605 18603//18603 18423//18423\nf 18011//18011 18426//18426 18428//18428\nf 18605//18605 18427//18427 18607//18607\nf 18285//18285 18286//18286 18605//18605\nf 18178//18178 18287//18287 18607//18607\nf 18178//18178 18177//18177 18287//18287\nf 18177//18177 18608//18608 18287//18287\nf 18428//18428 18719//18719 18429//18429\nf 18609//18609 18608//18608 18013//18013\nf 18609//18609 18013//18013 17842//17842\nf 18613//18613 18017//18017 18432//18432\nf 18610//18610 18612//18612 18723//18723\nf 18614//18614 18019//18019 18434//18434\nf 18434//18434 18071//18071 18436//18436\nf 18020//18020 18433//18433 18435//18435\nf 18022//18022 18615//18615 18665//18665\nf 17677//17677 18023//18023 18665//18665\nf 17852//17852 18180//18180 18622//18622\nf 18180//18180 18027//18027 18622//18622\nf 18440//18440 18666//18666 18181//18181\nf 18442//18442 18184//18184 18667//18667\nf 18181//18181 18666//18666 18182//18182\nf 17690//17690 18446//18446 18445//18445\nf 17862//17862 17863//17863 18449//18449\nf 17855//17855 18296//18296 18451//18451\nf 18463//18463 18668//18668 18628//18628\nf 18189//18189 17877//17877 18300//18300\nf 18837//18837 18460//18460 18838//18838\nf 18460//18460 18186//18186 18838//18838\nf 18669//18669 18729//18729 18454//18454\nf 18669//18669 18298//18298 18457//18457\nf 18457//18457 18298//18298 18624//18624\nf 18628//18628 18195//18195 18463//18463\nf 18726//18726 18301//18301 18460//18460\nf 19298//19298 18837//18837 18838//18838\nf 18457//18457 18100//18100 18458//18458\nf 18307//18307 18670//18670 18463//18463\nf 18464//18464 18193//18193 18304//18304\nf 18305//18305 18195//18195 18107//18107\nf 18305//18305 18463//18463 18195//18195\nf 18105//18105 18191//18191 18103//18103\nf 18670//18670 18307//18307 18631//18631\nf 18466//18466 18671//18671 18196//18196\nf 18305//18305 18109//18109 18307//18307\nf 18109//18109 18197//18197 18307//18307\nf 18673//18673 17563//17563 18310//18310\nf 18874//18874 18312//18312 18632//18632\nf 17889//17889 18468//18468 18632//18632\nf 18311//18311 18196//18196 18671//18671\nf 18471//18471 18671//18671 18878//18878\nf 18465//18465 17708//17708 18469//18469\nf 18678//18678 18321//18321 18320//18320\nf 18678//18678 18320//18320 18476//18476\nf 18677//18677 18206//18206 18678//18678\nf 18677//18677 18679//18679 18478//18478\nf 18207//18207 18680//18680 18322//18322\nf 18734//18734 18322//18322 18680//18680\nf 18682//18682 18479//18479 18480//18480\nf 18324//18324 18683//18683 18325//18325\nf 18324//18324 18481//18481 18683//18683\nf 18211//18211 17723//17723 18484//18484\nf 18683//18683 18486//18486 18325//18325\nf 18211//18211 18484//18484 18487//18487\nf 18330//18330 18215//18215 18332//18332\nf 18495//18495 17910//17910 18638//18638\nf 17914//17914 18043//18043 18492//18492\nf 18489//18489 17583//17583 18639//18639\nf 18494//18494 17914//17914 18685//18685\nf 18214//18214 17915//17915 18335//18335\nf 17920//17920 18334//18334 18495//18495\nf 17920//17920 18495//18495 18499//18499\nf 18639//18639 17583//17583 18500//18500\nf 18503//18503 17736//17736 18217//18217\nf 17735//17735 18505//18505 18500//18500\nf 18506//18506 17737//17737 18503//18503\nf 18511//18511 18686//18686 18687//18687\nf 18511//18511 18510//18510 18686//18686\nf 18510//18510 18688//18688 18686//18686\nf 18689//18689 18688//18688 18510//18510\nf 17928//17928 18508//18508 18642//18642\nf 18689//18689 18517//18517 18690//18690\nf 18127//18127 17928//17928 18642//18642\nf 18691//18691 18509//18509 18223//18223\nf 18517//18517 18516//18516 18690//18690\nf 18642//18642 18508//18508 18127//18127\nf 18222//18222 18514//18514 18641//18641\nf 18974//18974 18343//18343 18779//18779\nf 18738//18738 18220//18220 17933//17933\nf 18692//18692 18519//18519 18524//18524\nf 18519//18519 18345//18345 18524//18524\nf 18515//18515 18344//18344 18223//18223\nf 18522//18522 18225//18225 18643//18643\nf 18526//18526 18784//18784 18782//18782\nf 18740//18740 18349//18349 18529//18529\nf 18352//18352 18229//18229 18644//18644\nf 18229//18229 18693//18693 18644//18644\nf 18228//18228 18352//18352 18644//18644\nf 18694//18694 18528//18528 18351//18351\nf 18232//18232 18082//18082 18353//18353\nf 18532//18532 18132//18132 17944//17944\nf 18531//18531 18528//18528 18233//18233\nf 18233//18233 18528//18528 18529//18529\nf 18530//18530 18231//18231 18234//18234\nf 17946//17946 18232//18232 18645//18645\nf 18532//18532 17944//17944 18535//18535\nf 18742//18742 18537//18537 18358//18358\nf 18544//18544 18242//18242 18699//18699\nf 18242//18242 18646//18646 18699//18699\nf 18547//18547 18361//18361 18700//18700\nf 18701//18701 18367//18367 18362//18362\nf 18646//18646 18366//18366 18702//18702\nf 18704//18704 18246//18246 18367//18367\nf 18547//18547 18703//18703 18248//18248\nf 18248//18248 18703//18703 18705//18705\nf 18548//18548 18369//18369 18706//18706\nf 18549//18549 18651//18651 18366//18366\nf 18369//18369 18249//18249 18706//18706\nf 18652//18652 18376//18376 18370//18370\nf 18745//18745 18651//18651 18551//18551\nf 18653//18653 18745//18745 18551//18551\nf 18708//18708 18653//18653 18654//18654\nf 18653//18653 18380//18380 18654//18654\nf 18748//18748 18656//18656 18379//18379\nf 18375//18375 18055//18055 18655//18655\nf 18656//18656 18709//18709 18556//18556\nf 18657//18657 18710//18710 18553//18553\nf 18710//18710 18654//18654 18553//18553\nf 18711//18711 18657//18657 18557//18557\nf 18658//18658 18711//18711 18387//18387\nf 18388//18388 18711//18711 18557//18557\nf 18392//18392 18391//18391 18712//18712\nf 18393//18393 18558//18558 18753//18753\nf 19073//19073 18395//18395 18562//18562\nf 18394//18394 17976//17976 18564//18564\nf 18566//18566 17978//17978 18563//18563\nf 18567//18567 18401//18401 18571//18571\nf 18572//18572 17797//17797 18660//18660\nf 17797//17797 18404//18404 18660//18660\nf 18265//18265 18661//18661 18571//18571\nf 18574//18574 18714//18714 18661//18661\nf 18661//18661 18267//18267 18574//18574\nf 18267//18267 18661//18661 18265//18265\nf 18416//18416 18576//18576 18662//18662\nf 18413//18413 17809//17809 18412//18412\nf 18415//18415 18715//18715 18417//18417\nf 18664//18664 18419//18419 18716//18716\nf 18716//18716 18584//18584 18583//18583\nf 18583//18583 18754//18754 18716//18716\nf 18272//18272 18586//18586 18717//18717\nf 18589//18589 18275//18275 18274//18274\nf 18588//18588 17821//17821 18590//18590\nf 18276//18276 18592//18592 18277//18277\nf 18281//18281 18598//18598 18603//18603\nf 18602//18602 18601//18601 19140//19140\nf 18604//18604 18757//18757 18425//18425\nf 18718//18718 18603//18603 18605//18605\nf 18605//18605 18607//18607 18427//18427\nf 18607//18607 18718//18718 18605//18605\nf 18607//18607 18287//18287 18718//18718\nf 18430//18430 18611//18611 18720//18720\nf 18721//18721 18432//18432 18289//18289\nf 18613//18613 18432//18432 18721//18721\nf 18720//18720 18290//18290 18430//18430\nf 18613//18613 18722//18722 18723//18723\nf 18613//18613 18723//18723 18612//18612\nf 18616//18616 18439//18439 18724//18724\nf 18439//18439 18616//18616 18617//18617\nf 18027//18027 18621//18621 18622//18622\nf 18621//18621 18620//18620 18622//18622\nf 18667//18667 18441//18441 18442//18442\nf 18758//18758 18446//18446 18623//18623\nf 18186//18186 18455//18455 18838//18838\nf 18727//18727 18630//18630 18453//18453\nf 18297//18297 18728//18728 18727//18727\nf 18297//18297 18727//18727 18453//18453\nf 18454//18454 18298//18298 18669//18669\nf 18195//18195 18628//18628 18463//18463\nf 18628//18628 18195//18195 18463//18463\nf 18103//18103 18182//18182 18730//18730\nf 18300//18300 18301//18301 18629//18629\nf 18629//18629 18301//18301 18726//18726\nf 18759//18759 18463//18463 18670//18670\nf 18731//18731 18464//18464 18304//18304\nf 18308//18308 18310//18310 18198//18198\nf 18467//18467 17563//17563 18672//18672\nf 18313//18313 18674//18674 18631//18631\nf 18471//18471 18311//18311 18671//18671\nf 18313//18313 18472//18472 18674//18674\nf 18469//18469 18470//18470 18633//18633\nf 18315//18315 18635//18635 18885//18885\nf 18675//18675 18315//18315 18885//18885\nf 18897//18897 18473//18473 18479//18479\nf 18636//18636 18635//18635 18114//18114\nf 18735//18735 18477//18477 18208//18208\nf 18776//18776 18687//18687 18686//18686\nf 18222//18222 18502//18502 18737//18737\nf 18690//18690 18688//18688 18689//18689\nf 18222//18222 18219//18219 18502//18502\nf 18692//18692 18524//18524 18526//18526\nf 18513//18513 18740//18740 18739//18739\nf 18349//18349 18740//18740 18513//18513\nf 18741//18741 18223//18223 18344//18344\nf 18229//18229 18354//18354 18693//18693\nf 18742//18742 18358//18358 18360//18360\nf 18742//18742 18360//18360 19017//19017\nf 18698//18698 18543//18543 18540//18540\nf 18360//18360 18544//18544 18699//18699\nf 18647//18647 18545//18545 18363//18363\nf 18702//18702 18743//18743 18646//18646\nf 18647//18647 18365//18365 18548//18548\nf 18249//18249 18705//18705 18706//18706\nf 18745//18745 18702//18702 18651//18651\nf 18745//18745 18744//18744 18702//18702\nf 18552//18552 18372//18372 18550//18550\nf 18708//18708 18747//18747 18653//18653\nf 18747//18747 18745//18745 18653//18653\nf 18748//18748 18379//18379 18707//18707\nf 18748//18748 18750//18750 18656//18656\nf 18654//18654 18749//18749 18708//18708\nf 18654//18654 18710//18710 18749//18749\nf 18709//18709 18656//18656 18750//18750\nf 18658//18658 18709//18709 18751//18751\nf 18752//18752 18710//18710 18657//18657\nf 18556//18556 18709//18709 18658//18658\nf 18658//18658 18751//18751 18711//18711\nf 18751//18751 18752//18752 18711//18711\nf 18711//18711 18752//18752 18657//18657\nf 18392//18392 18712//18712 18659//18659\nf 18561//18561 18393//18393 18753//18753\nf 18561//18561 18559//18559 18560//18560\nf 18562//18562 18262//18262 19073//19073\nf 18563//18563 18395//18395 18566//18566\nf 18570//18570 19089//19089 19088//19088\nf 18661//18661 18567//18567 18571//18571\nf 19126//19126 18276//18276 18589//18589\nf 18278//18278 18279//18279 18594//18594\nf 18604//18604 18283//18283 18755//18755\nf 18424//18424 18602//18602 19141//19141\nf 18756//18756 18281//18281 18603//18603\nf 18718//18718 18287//18287 18607//18607\nf 18613//18613 18721//18721 18722//18722\nf 18433//18433 18615//18615 18435//18435\nf 18618//18618 17677//17677 18665//18665\nf 18725//18725 18621//18621 18618//18618\nf 18667//18667 18817//18817 18441//18441\nf 18822//18822 18628//18628 18668//18668\nf 18825//18825 18184//18184 18185//18185\nf 18819//18819 18625//18625 18626//18626\nf 18833//18833 18455//18455 18452//18452\nf 18842//18842 18623//18623 18451//18451\nf 19296//19296 18726//18726 18837//18837\nf 18728//18728 18448//18448 18760//18760\nf 18843//18843 18451//18451 18296//18296\nf 18296//18296 18761//18761 18849//18849\nf 18759//18759 18668//18668 18463//18463\nf 19296//19296 18836//18836 18726//18726\nf 18835//18835 18447//18447 18192//18192\nf 18728//18728 18297//18297 18448//18448\nf 18296//18296 18454//18454 18761//18761\nf 18850//18850 18454//18454 18729//18729\nf 18670//18670 18631//18631 18763//18763\nf 18464//18464 18731//18731 18864//18864\nf 18673//18673 18308//18308 18870//18870\nf 18468//18468 18467//18467 18732//18732\nf 18732//18732 18467//18467 18672//18672\nf 18672//18672 18673//18673 18873//18873\nf 19239//19239 18877//18877 18312//18312\nf 18877//18877 18200//18200 18312//18312\nf 18882//18882 18203//18203 18471//18471\nf 18207//18207 18902//18902 18680//18680\nf 18680//18680 18767//18767 18768//18768\nf 18735//18735 18733//18733 18477//18477\nf 18680//18680 18768//18768 18909//18909\nf 18208//18208 18637//18637 18735//18735\nf 18208//18208 18482//18482 18637//18637\nf 18917//18917 18483//18483 18916//18916\nf 18771//18771 18637//18637 18327//18327\nf 18484//18484 18483//18483 18917//18917\nf 18922//18922 18487//18487 18484//18484\nf 18772//18772 18486//18486 18683//18683\nf 18328//18328 18490//18490 18931//18931\nf 18488//18488 18487//18487 18932//18932\nf 19185//19185 18489//18489 18937//18937\nf 18491//18491 18773//18773 18329//18329\nf 18736//18736 18639//18639 18943//18943\nf 18685//18685 18492//18492 18774//18774\nf 18685//18685 17914//17914 18492//18492\nf 18489//18489 18639//18639 18736//18736\nf 18214//18214 18335//18335 18953//18953\nf 18948//18948 18686//18686 18775//18775\nf 18948//18948 18776//18776 18686//18686\nf 18960//18960 18506//18506 18503//18503\nf 18686//18686 18688//18688 18956//18956\nf 18957//18957 18511//18511 18687//18687\nf 19191//19191 18505//18505 18220//18220\nf 18688//18688 18690//18690 18967//18967\nf 18519//18519 18780//18780 18690//18690\nf 18779//18779 18343//18343 18511//18511\nf 18977//18977 18508//18508 18970//18970\nf 18781//18781 18692//18692 18782//18782\nf 18738//18738 17933//17933 18350//18350\nf 18784//18784 18781//18781 18782//18782\nf 18521//18521 18514//18514 18973//18973\nf 18526//18526 18782//18782 18692//18692\nf 18351//18351 18343//18343 18974//18974\nf 18983//18983 18643//18643 18518//18518\nf 18981//18981 18738//18738 18988//18988\nf 18983//18983 18987//18987 18643//18643\nf 18223//18223 18741//18741 18992//18992\nf 18522//18522 18995//18995 18523//18523\nf 18741//18741 18344//18344 18992//18992\nf 18740//18740 18528//18528 18694//18694\nf 18529//18529 18528//18528 18740//18740\nf 18521//18521 18996//18996 18525//18525\nf 18693//18693 18354//18354 18785//18785\nf 19001//19001 18999//18999 18789//18789\nf 18530//18530 18789//18789 18999//18999\nf 18530//18530 18234//18234 18789//18789\nf 19001//19001 18789//18789 18234//18234\nf 19004//19004 18134//18134 18525//18525\nf 19004//19004 18525//18525 19002//19002\nf 18134//18134 19004//19004 19002//19002\nf 18695//18695 18050//18050 18645//18645\nf 18697//18697 18539//18539 18541//18541\nf 18790//18790 18538//18538 19016//19016\nf 18790//18790 18540//18540 18538//18538\nf 18360//18360 19015//19015 19017//19017\nf 18791//18791 18540//18540 18790//18790\nf 18698//18698 18540//18540 18791//18791\nf 19020//19020 18360//18360 18699//18699\nf 18698//18698 18791//18791 18790//18790\nf 18362//18362 18698//18698 19023//19023\nf 18646//18646 19022//19022 18699//18699\nf 18646//18646 18743//18743 18793//18793\nf 18701//18701 18362//18362 18792//18792\nf 18743//18743 18702//18702 18793//18793\nf 18367//18367 18701//18701 18792//18792\nf 18704//18704 18367//18367 19030//19030\nf 18702//18702 18744//18744 19033//19033\nf 19036//19036 18548//18548 18706//18706\nf 18794//18794 18648//18648 18650//18650\nf 18704//18704 19030//19030 19041//19041\nf 19042//19042 18744//18744 18745//18745\nf 18648//18648 19043//19043 18370//18370\nf 18249//18249 18371//18371 18705//18705\nf 19042//19042 19033//19033 18744//18744\nf 18746//18746 18550//18550 19040//19040\nf 18370//18370 18796//18796 18652//18652\nf 18552//18552 18550//18550 18746//18746\nf 19045//19045 18747//18747 18708//18708\nf 19045//19045 18745//18745 18747//18747\nf 18747//18747 19045//19045 18708//18708\nf 18652//18652 18798//18798 18376//18376\nf 18708//18708 19045//19045 18747//18747\nf 18748//18748 19047//19047 19049//19049\nf 18750//18750 19053//19053 18799//18799\nf 18800//18800 19045//19045 18749//18749\nf 18709//18709 18750//18750 18799//18799\nf 18749//18749 18710//18710 18800//18800\nf 18709//18709 18799//18799 18751//18751\nf 19055//19055 18375//18375 18655//18655\nf 18752//18752 18751//18751 19054//19054\nf 18752//18752 18800//18800 18710//18710\nf 19064//19064 18554//18554 18390//18390\nf 18389//18389 19063//19063 18391//18391\nf 19070//19070 18561//18561 18753//18753\nf 19076//19076 18564//18564 19079//19079\nf 18565//18565 18396//18396 18564//18564\nf 18713//18713 18403//18403 18400//18400\nf 19077//19077 19091//19091 18566//18566\nf 18568//18568 19091//19091 18402//18402\nf 18399//18399 18661//18661 18714//18714\nf 18567//18567 18661//18661 18399//18399\nf 19095//19095 18660//18660 18404//18404\nf 19098//19098 18408//18408 18572//18572\nf 19098//19098 18572//18572 19096//19096\nf 19094//19094 18574//18574 18662//18662\nf 19094//19094 18662//18662 19093//19093\nf 19100//19100 18408//18408 19097//19097\nf 18716//18716 18754//18754 19106//19106\nf 18411//18411 18802//18802 18412//18412\nf 18413//18413 18803//18803 18414//18414\nf 18577//18577 19111//19111 18580//18580\nf 18582//18582 18754//18754 18583//18583\nf 18804//18804 18754//18754 18582//18582\nf 19112//19112 18578//18578 19105//19105\nf 18581//18581 18578//18578 19112//19112\nf 18805//18805 18717//18717 19114//19114\nf 18805//18805 18272//18272 18717//18717\nf 18581//18581 19119//19119 18274//18274\nf 18589//18589 18274//18274 19123//19123\nf 18589//18589 19123//19123 19126//19126\nf 19124//19124 18588//18588 18590//18590\nf 18590//18590 18591//18591 19125//19125\nf 18593//18593 18592//18592 18807//18807\nf 19129//19129 18593//18593 18807//18807\nf 18283//18283 18810//18810 18755//18755\nf 18755//18755 18810//18810 18809//18809\nf 18604//18604 18809//18809 19137//19137\nf 18809//18809 18604//18604 18755//18755\nf 18811//18811 19138//19138 18283//18283\nf 18283//18283 18284//18284 18811//18811\nf 18424//18424 18811//18811 18284//18284\nf 18424//18424 19141//19141 18811//18811\nf 18812//18812 18756//18756 18603//18603\nf 18606//18606 18425//18425 18757//18757\nf 19144//19144 18428//18428 18606//18606\nf 19146//19146 18719//18719 18428//18428\nf 18719//18719 19148//19148 18813//18813\nf 18813//18813 18611//18611 18429//18429\nf 18719//18719 18813//18813 18429//18429\nf 18608//18608 18609//18609 18288//18288\nf 19148//19148 18720//18720 18611//18611\nf 18610//18610 18723//18723 18816//18816\nf 19155//19155 18289//18289 18614//18614\nf 19165//19165 18724//18724 18439//18439\nf 18619//18619 19165//19165 18439//18439\nf 18817//18817 18824//18824 18440//18440\nf 18817//18817 18440//18440 18441//18441\nf 18626//18626 18627//18627 18820//18820\nf 18820//18820 18821//18821 18822//18822\nf 18821//18821 18820//18820 18822//18822\nf 18820//18820 18627//18627 18821//18821\nf 18824//18824 18823//18823 18440//18440\nf 18818//18818 18184//18184 18825//18825\nf 18818//18818 18667//18667 18184//18184\nf 18443//18443 18294//18294 18826//18826\nf 18295//18295 18827//18827 18294//18294\nf 18444//18444 18828//18828 18295//18295\nf 18628//18628 18821//18821 18627//18627\nf 18628//18628 18822//18822 18821//18821\nf 18830//18830 18822//18822 18668//18668\nf 18823//18823 18832//18832 18666//18666\nf 18823//18823 18666//18666 18440//18440\nf 18826//18826 19170//19170 18443//18443\nf 18819//18819 18829//18829 18625//18625\nf 18831//18831 18825//18825 18299//18299\nf 18825//18825 18185//18185 18299//18299\nf 18833//18833 18452//18452 18443//18443\nf 18447//18447 18828//18828 18444//18444\nf 18830//18830 18668//18668 18759//18759\nf 18834//18834 18299//18299 18189//18189\nf 18831//18831 18299//18299 18834//18834\nf 18189//18189 18629//18629 18836//18836\nf 18629//18629 18726//18726 18836//18836\nf 18726//18726 18460//18460 18837//18837\nf 18449//18449 18450//18450 18839//18839\nf 18841//18841 18758//18758 18623//18623\nf 18842//18842 18841//18841 18623//18623\nf 18762//18762 18303//18303 18625//18625\nf 18759//18759 18670//18670 18844//18844\nf 18845//18845 18730//18730 18182//18182\nf 18846//18846 18630//18630 18727//18727\nf 18728//18728 18846//18846 18727//18727\nf 18448//18448 18449//18449 18848//18848\nf 18449//18449 18839//18839 18848//18848\nf 18843//18843 18296//18296 18849//18849\nf 18849//18849 18761//18761 18850//18850\nf 18454//18454 18850//18850 18761//18761\nf 18850//18850 18729//18729 18669//18669\nf 18851//18851 18846//18846 18728//18728\nf 18851//18851 18728//18728 18847//18847\nf 18728//18728 18760//18760 18847//18847\nf 18850//18850 18669//18669 18852//18852\nf 18303//18303 18762//18762 18462//18462\nf 18456//18456 18857//18857 18856//18856\nf 18852//18852 18669//18669 18457//18457\nf 18462//18462 18762//18762 18853//18853\nf 18854//18854 18670//18670 18763//18763\nf 18730//18730 18845//18845 18103//18103\nf 18845//18845 18855//18855 18103//18103\nf 18856//18856 18304//18304 18461//18461\nf 18461//18461 18456//18456 18856//18856\nf 18860//18860 18858//18858 18188//18188\nf 18853//18853 18302//18302 18462//18462\nf 18458//18458 18188//18188 18858//18858\nf 18853//18853 18188//18188 18302//18302\nf 18860//18860 18188//18188 18853//18853\nf 18763//18763 18631//18631 18854//18854\nf 18861//18861 18306//18306 18105//18105\nf 18105//18105 18862//18862 18861//18861\nf 18855//18855 18764//18764 18103//18103\nf 18631//18631 18865//18865 18854//18854\nf 18306//18306 18866//18866 18309//18309\nf 18105//18105 18863//18863 18862//18862\nf 18863//18863 18105//18105 18103//18103\nf 18863//18863 18103//18103 18764//18764\nf 18631//18631 18869//18869 18865//18865\nf 18866//18866 18308//18308 18309//18309\nf 18859//18859 18192//18192 18465//18465\nf 18466//18466 18464//18464 18867//18867\nf 18866//18866 18870//18870 18308//18308\nf 18867//18867 18871//18871 18466//18466\nf 18631//18631 18674//18674 18869//18869\nf 18872//18872 18468//18468 18732//18732\nf 18872//18872 18632//18632 18468//18468\nf 19301//19301 18732//18732 18672//18672\nf 19301//19301 18672//18672 18873//18873\nf 18310//18310 18308//18308 18673//18673\nf 18873//18873 18673//18673 18870//18870\nf 18872//18872 18732//18732 19301//19301\nf 18871//18871 18671//18671 18466//18466\nf 18876//18876 18314//18314 18200//18200\nf 18876//18876 18200//18200 18877//18877\nf 18314//18314 18876//18876 18316//18316\nf 18465//18465 18469//18469 18879//18879\nf 18316//18316 18876//18876 18314//18314\nf 18876//18876 18316//18316 18314//18314\nf 18876//18876 18765//18765 18316//18316\nf 18882//18882 18471//18471 18881//18881\nf 18884//18884 18315//18315 18675//18675\nf 18884//18884 18766//18766 18315//18315\nf 18887//18887 18203//18203 18882//18882\nf 18884//18884 18675//18675 18885//18885\nf 18884//18884 18315//18315 18766//18766\nf 18633//18633 18473//18473 18886//18886\nf 18634//18634 18203//18203 18887//18887\nf 18889//18889 18676//18676 18319//18319\nf 18889//18889 18319//18319 18890//18890\nf 18319//18319 18316//18316 18765//18765\nf 18890//18890 18319//18319 18765//18765\nf 18884//18884 18114//18114 18315//18315\nf 18472//18472 18318//18318 18888//18888\nf 18891//18891 18473//18473 18897//18897\nf 18677//18677 18678//18678 18892//18892\nf 18893//18893 18677//18677 18892//18892\nf 18677//18677 18893//18893 18894//18894\nf 18679//18679 18677//18677 18894//18894\nf 18477//18477 18898//18898 18318//18318\nf 18888//18888 18318//18318 18898//18898\nf 18319//18319 18889//18889 18890//18890\nf 18676//18676 18889//18889 18319//18319\nf 18895//18895 18678//18678 18476//18476\nf 18895//18895 18892//18892 18678//18678\nf 18478//18478 18679//18679 18894//18894\nf 18475//18475 18474//18474 18634//18634\nf 18898//18898 18899//18899 18477//18477\nf 18900//18900 18319//18319 18890//18890\nf 18319//18319 18901//18901 18476//18476\nf 18319//18319 18900//18900 18901//18901\nf 18901//18901 18895//18895 18476//18476\nf 18207//18207 18478//18478 18894//18894\nf 18207//18207 18894//18894 18896//18896\nf 18902//18902 18767//18767 18680//18680\nf 18902//18902 18768//18768 18767//18767\nf 18902//18902 18903//18903 18768//18768\nf 18636//18636 18885//18885 18635//18635\nf 18899//18899 18898//18898 18477//18477\nf 18636//18636 18905//18905 18885//18885\nf 18114//18114 18769//18769 18636//18636\nf 18733//18733 18899//18899 18477//18477\nf 18769//18769 18905//18905 18636//18636\nf 18908//18908 18475//18475 18907//18907\nf 18734//18734 18680//18680 18909//18909\nf 18682//18682 18480//18480 18912//18912\nf 18908//18908 18681//18681 18475//18475\nf 18908//18908 18323//18323 18681//18681\nf 18322//18322 18734//18734 18910//18910\nf 18906//18906 18682//18682 18912//18912\nf 18913//18913 18908//18908 19248//19248\nf 18911//18911 18735//18735 18637//18637\nf 18322//18322 18910//18910 18914//18914\nf 18483//18483 18322//18322 18914//18914\nf 18916//18916 18483//18483 18914//18914\nf 18772//18772 18481//18481 18913//18913\nf 18770//18770 18637//18637 18771//18771\nf 18683//18683 18481//18481 18772//18772\nf 18209//18209 18684//18684 18918//18918\nf 18772//18772 18920//18920 18486//18486\nf 18328//18328 18921//18921 18327//18327\nf 18921//18921 18328//18328 18926//18926\nf 18486//18486 18920//18920 19184//19184\nf 19183//19183 18485//18485 18212//18212\nf 18929//18929 18925//18925 18923//18923\nf 18929//18929 18928//18928 18925//18925\nf 18929//18929 18923//18923 18930//18930\nf 18923//18923 18924//18924 18930//18930\nf 19183//19183 18212//18212 19185//19185\nf 18638//18638 18486//18486 18927//18927\nf 18773//18773 18933//18933 18329//18329\nf 18933//18933 18332//18332 18329//18329\nf 18933//18933 18934//18934 18332//18332\nf 18330//18330 18332//18332 18935//18935\nf 18936//18936 18331//18331 18935//18935\nf 18331//18331 18330//18330 18935//18935\nf 18489//18489 18736//18736 18937//18937\nf 18332//18332 18934//18934 18935//18935\nf 18638//18638 18927//18927 18495//18495\nf 18932//18932 18333//18333 18488//18488\nf 18927//18927 18939//18939 18495//18495\nf 18929//18929 18930//18930 18940//18940\nf 18333//18333 18932//18932 18945//18945\nf 18941//18941 18491//18491 18493//18493\nf 18941//18941 18773//18773 18491//18491\nf 18774//18774 18938//18938 18685//18685\nf 18930//18930 18944//18944 18940//18940\nf 18494//18494 18685//18685 18942//18942\nf 18496//18496 18494//18494 18946//18946\nf 19258//19258 18490//18490 18214//18214\nf 18499//18499 18495//18495 18939//18939\nf 18940//18940 18948//18948 18775//18775\nf 18940//18940 18944//18944 18948//18948\nf 18951//18951 18498//18498 18947//18947\nf 18951//18951 18217//18217 18498//18498\nf 18217//18217 18951//18951 18503//18503\nf 18948//18948 18957//18957 18776//18776\nf 18687//18687 18776//18776 18957//18957\nf 18688//18688 18777//18777 18956//18956\nf 18335//18335 18640//18640 18953//18953\nf 18501//18501 18949//18949 18337//18337\nf 18497//18497 18504//18504 18959//18959\nf 18775//18775 18686//18686 18956//18956\nf 18953//18953 18640//18640 18962//18962\nf 18963//18963 18507//18507 18506//18506\nf 18961//18961 18777//18777 18688//18688\nf 18778//18778 18959//18959 18504//18504\nf 18504//18504 18959//18959 18778//18778\nf 18688//18688 18967//18967 18961//18961\nf 18125//18125 18964//18964 18640//18640\nf 18964//18964 18962//18962 18640//18640\nf 18508//18508 18337//18337 18965//18965\nf 18502//18502 18966//18966 18737//18737\nf 18502//18502 18955//18955 18966//18966\nf 18959//18959 18504//18504 18509//18509\nf 18968//18968 18959//18959 18509//18509\nf 18690//18690 18961//18961 18967//18967\nf 18690//18690 19190//19190 18961//18961\nf 18511//18511 18957//18957 18969//18969\nf 18957//18957 19192//19192 18969//18969\nf 18779//18779 18511//18511 18969//18969\nf 18780//18780 19190//19190 18690//18690\nf 18222//18222 18737//18737 18966//18966\nf 18692//18692 18972//18972 18780//18780\nf 18519//18519 18692//18692 18780//18780\nf 18519//18519 18690//18690 18516//18516\nf 18974//18974 18779//18779 18969//18969\nf 18514//18514 18222//18222 18966//18966\nf 18781//18781 18972//18972 18692//18692\nf 18964//18964 18976//18976 18975//18975\nf 18125//18125 18976//18976 18964//18964\nf 18513//18513 18976//18976 18125//18125\nf 18977//18977 18127//18127 18508//18508\nf 18691//18691 18968//18968 18509//18509\nf 18342//18342 18971//18971 18978//18978\nf 18221//18221 18971//18971 18342//18342\nf 18784//18784 18972//18972 18781//18781\nf 18739//18739 18975//18975 18976//18976\nf 18739//18739 18976//18976 18513//18513\nf 18977//18977 18979//18979 18127//18127\nf 18738//18738 18350//18350 18988//18988\nf 18127//18127 18983//18983 18518//18518\nf 18526//18526 18644//18644 18784//18784\nf 18644//18644 18982//18982 18784//18784\nf 18644//18644 18984//18984 18982//18982\nf 18740//18740 18986//18986 18975//18975\nf 18739//18739 18740//18740 18975//18975\nf 18989//18989 18521//18521 18973//18973\nf 18990//18990 18984//18984 18644//18644\nf 18342//18342 18783//18783 18991//18991\nf 18644//18644 18693//18693 18990//18990\nf 18985//18985 18986//18986 18740//18740\nf 18993//18993 18521//18521 18989//18989\nf 18693//18693 18785//18785 18990//18990\nf 18351//18351 18985//18985 18694//18694\nf 18994//18994 18522//18522 18643//18643\nf 18786//18786 18992//18992 18344//18344\nf 18353//18353 18348//18348 19000//19000\nf 18740//18740 18694//18694 18985//18985\nf 18995//18995 18344//18344 18523//18523\nf 18995//18995 18786//18786 18344//18344\nf 18344//18344 18786//18786 18787//18787\nf 18787//18787 18992//18992 18786//18786\nf 18350//18350 18997//18997 18988//18988\nf 18521//18521 18993//18993 18996//18996\nf 18785//18785 18354//18354 18999//18999\nf 18787//18787 18786//18786 18344//18344\nf 18350//18350 18132//18132 18997//18997\nf 18354//18354 18530//18530 18999//18999\nf 18788//18788 18525//18525 18996//18996\nf 18788//18788 19002//19002 18525//18525\nf 19003//19003 19001//19001 18234//18234\nf 18353//18353 19000//19000 18232//18232\nf 18234//18234 19005//19005 19003//19003\nf 18234//18234 18533//18533 19005//19005\nf 19005//19005 18533//18533 19008//19008\nf 18533//18533 18534//18534 19008//19008\nf 18536//18536 18236//18236 19002//19002\nf 18236//18236 18134//18134 19002//19002\nf 19008//19008 18534//18534 19010//19010\nf 18695//18695 18645//18645 19012//19012\nf 19010//19010 18534//18534 19011//19011\nf 18538//18538 18536//18536 19009//19009\nf 19011//19011 18534//18534 18696//18696\nf 18696//18696 18537//18537 19011//19011\nf 19011//19011 18537//18537 19015//19015\nf 18695//18695 19014//19014 18357//18357\nf 19200//19200 19011//19011 19015//19015\nf 18537//18537 18742//18742 19015//19015\nf 19017//19017 19015//19015 18360//18360\nf 18697//18697 18541//18541 19018//19018\nf 19020//19020 19017//19017 18360//18360\nf 18359//18359 19019//19019 19021//19021\nf 18698//18698 18790//18790 19023//19023\nf 18699//18699 19022//19022 19020//19020\nf 18793//18793 19022//19022 19025//19025\nf 18646//18646 19025//19025 19022//19022\nf 18361//18361 18546//18546 19024//19024\nf 19203//19203 18545//18545 18647//18647\nf 19202//19202 18792//18792 18362//18362\nf 18362//18362 19023//19023 19202//19202\nf 19027//19027 18361//18361 19024//19024\nf 18646//18646 18793//18793 19025//19025\nf 19028//19028 18361//18361 19027//19027\nf 18361//18361 19028//19028 19027//19027\nf 18700//18700 18361//18361 19027//19027\nf 18700//18700 19027//19027 19028//19028\nf 19029//19029 19030//19030 18792//18792\nf 18547//18547 18700//18700 19028//19028\nf 19026//19026 18647//18647 19032//19032\nf 18367//18367 18792//18792 19030//19030\nf 18793//18793 18702//18702 19031//19031\nf 18702//18702 19033//19033 19031//19031\nf 18548//18548 19032//19032 18647//18647\nf 19032//19032 18548//18548 19036//19036\nf 18547//18547 19028//19028 18703//18703\nf 19036//19036 19038//19038 19032//19032\nf 18794//18794 19034//19034 18648//18648\nf 18703//18703 19028//19028 19035//19035\nf 18705//18705 18703//18703 19037//19037\nf 18706//18706 18705//18705 19038//19038\nf 19038//19038 19036//19036 18706//18706\nf 19040//19040 18704//18704 19041//19041\nf 18550//18550 18704//18704 19040//19040\nf 19204//19204 19033//19033 19042//19042\nf 18745//18745 19204//19204 19042//19042\nf 19041//19041 18746//18746 19040//19040\nf 19041//19041 19044//19044 18746//18746\nf 18796//18796 18795//18795 18652//18652\nf 19206//19206 18794//18794 18649//18649\nf 18794//18794 18650//18650 18649//18649\nf 18746//18746 19044//19044 19046//19046\nf 18707//18707 19046//19046 19047//19047\nf 18552//18552 18746//18746 18707//18707\nf 18707//18707 18797//18797 19046//19046\nf 18750//18750 19049//19049 19053//19053\nf 19045//19045 18708//18708 18749//18749\nf 18649//18649 18375//18375 19048//19048\nf 18748//18748 18707//18707 19047//19047\nf 19053//19053 19049//19049 19050//19050\nf 18798//18798 18652//18652 18795//18795\nf 18748//18748 19049//19049 18750//18750\nf 18799//18799 19053//19053 19052//19052\nf 19053//19053 19050//19050 19052//19052\nf 19052//19052 19050//19050 19207//19207\nf 19051//19051 19045//19045 18800//18800\nf 19052//19052 19054//19054 18799//18799\nf 18752//18752 19054//19054 18800//18800\nf 19208//19208 18375//18375 19055//19055\nf 19054//19054 18751//18751 18799//18799\nf 18376//18376 18798//18798 18254//18254\nf 18798//18798 19056//19056 18254//18254\nf 19055//19055 18655//18655 19057//19057\nf 19057//19057 18655//18655 19058//19058\nf 18655//18655 18555//18555 19058//19058\nf 19056//19056 18255//18255 18254//18254\nf 19059//19059 19058//19058 18555//18555\nf 19061//19061 19059//19059 18555//18555\nf 19060//19060 18389//18389 18255//18255\nf 19061//19061 18555//18555 18554//18554\nf 18389//18389 19062//19062 19063//19063\nf 19065//19065 19064//19064 18390//18390\nf 18712//18712 18391//18391 19066//19066\nf 18391//18391 18712//18712 19066//19066\nf 19065//19065 18390//18390 19067//19067\nf 18712//18712 19066//19066 19068//19068\nf 18712//18712 19068//19068 18659//18659\nf 19069//19069 18390//18390 18259//18259\nf 19069//19069 19067//19067 18390//18390\nf 18559//18559 19069//19069 18259//18259\nf 19071//19071 19069//19069 18559//18559\nf 19070//19070 18753//18753 18558//18558\nf 19070//19070 19071//19071 18559//18559\nf 18559//18559 18561//18561 19070//19070\nf 18395//18395 19073//19073 19072//19072\nf 18394//18394 18564//18564 19075//19075\nf 19078//19078 19077//19077 18566//18566\nf 19078//19078 18566//18566 18395//18395\nf 19317//19317 19072//19072 19073//19073\nf 18396//18396 19079//19079 18564//18564\nf 18407//18407 19081//19081 19080//19080\nf 18403//18403 19081//19081 18407//18407\nf 18403//18403 19082//19082 19081//19081\nf 19082//19082 18403//18403 19083//19083\nf 19084//19084 18403//18403 18713//18713\nf 19083//19083 18403//18403 19084//19084\nf 19084//19084 18713//18713 18398//18398\nf 19080//19080 19085//19085 18407//18407\nf 18396//18396 18397//18397 19079//19079\nf 19087//19087 19086//19086 18397//18397\nf 18397//18397 18569//18569 19087//19087\nf 18406//18406 19089//19089 18405//18405\nf 19085//19085 18406//18406 18407//18407\nf 18398//18398 19090//19090 19084//19084\nf 19089//19089 18570//18570 18405//18405\nf 19092//19092 18402//18402 19091//19091\nf 19093//19093 19084//19084 19090//19090\nf 19093//19093 19090//19090 18398//18398\nf 18398//18398 18399//18399 19094//19094\nf 18714//18714 19094//19094 18399//18399\nf 18572//18572 18660//18660 19095//19095\nf 18402//18402 19092//19092 18404//18404\nf 19093//19093 18398//18398 19094//19094\nf 18572//18572 19095//19095 19096//19096\nf 19094//19094 18714//18714 18574//18574\nf 18408//18408 19098//19098 19097//19097\nf 19093//19093 18662//18662 19099//19099\nf 18573//18573 19100//19100 18409//18409\nf 19102//19102 19099//19099 18662//18662\nf 19102//19102 18662//18662 18576//18576\nf 18716//18716 19103//19103 19104//19104\nf 18716//18716 19104//19104 18664//18664\nf 18576//18576 18664//18664 19104//19104\nf 19102//19102 18576//18576 19104//19104\nf 19107//19107 19106//19106 18754//18754\nf 18802//18802 18413//18413 18412//18412\nf 19107//19107 18754//18754 19106//19106\nf 18663//18663 19108//19108 18415//18415\nf 19108//19108 18801//18801 18415//18415\nf 18415//18415 18801//18801 18715//18715\nf 19109//19109 18802//18802 18411//18411\nf 19110//19110 18414//18414 18803//18803\nf 18414//18414 19111//19111 18577//18577\nf 18414//18414 19110//19110 19111//19111\nf 18804//18804 19107//19107 18754//18754\nf 18754//18754 19107//19107 19106//19106\nf 19108//19108 18272//18272 18805//18805\nf 19108//19108 18418//18418 18272//18272\nf 19113//19113 18715//18715 18801//18801\nf 18580//18580 19111//19111 18582//18582\nf 18582//18582 19111//19111 19107//19107\nf 18582//18582 19107//19107 18804//18804\nf 18578//18578 18575//18575 19105//19105\nf 18715//18715 19113//19113 18417//18417\nf 19115//19115 19109//19109 18411//18411\nf 18579//18579 19115//19115 18411//18411\nf 19116//19116 18581//18581 19112//19112\nf 18417//18417 19113//19113 19117//19117\nf 18717//18717 18586//18586 19114//19114\nf 18417//18417 19117//19117 18579//18579\nf 18806//18806 18417//18417 19117//19117\nf 18417//18417 18806//18806 19117//19117\nf 19115//19115 19117//19117 18806//18806\nf 18579//18579 19117//19117 19115//19115\nf 18581//18581 19116//19116 19119//19119\nf 19118//19118 19114//19114 18586//18586\nf 19118//19118 18586//18586 19120//19120\nf 19121//19121 19115//19115 18806//18806\nf 19120//19120 18586//18586 18587//18587\nf 19119//19119 19123//19123 18274//18274\nf 19124//19124 19122//19122 18588//18588\nf 19122//19122 19120//19120 18588//18588\nf 19120//19120 18587//18587 18588//18588\nf 18592//18592 18276//18276 19126//19126\nf 19211//19211 18591//18591 19128//19128\nf 18591//18591 18421//18421 19128//19128\nf 19127//19127 18807//18807 18592//18592\nf 19129//19129 19132//19132 18593//18593\nf 18596//18596 19131//19131 18594//18594\nf 19133//19133 19131//19131 18596//18596\nf 19132//19132 18595//18595 18593//18593\nf 19132//19132 19134//19134 18595//18595\nf 18596//18596 19134//19134 19133//19133\nf 18597//18597 19135//19135 18599//18599\nf 19135//19135 18597//18597 18808//18808\nf 18808//18808 18597//18597 18280//18280\nf 19135//19135 19136//19136 18599//18599\nf 18280//18280 18281//18281 18808//18808\nf 18281//18281 18756//18756 19139//19139\nf 18283//18283 19138//19138 18810//18810\nf 18600//18600 18422//18422 19212//19212\nf 18757//18757 18604//18604 19137//19137\nf 19139//19139 18756//18756 19142//19142\nf 18808//18808 18281//18281 19139//19139\nf 18606//18606 18757//18757 19143//19143\nf 19145//19145 18756//18756 18812//18812\nf 19145//19145 18812//18812 18718//18718\nf 18812//18812 18603//18603 18718//18718\nf 19143//19143 19144//19144 18606//18606\nf 19145//19145 18718//18718 18812//18812\nf 19146//19146 18428//18428 19144//19144\nf 18812//18812 18607//18607 19145//19145\nf 18607//18607 18812//18812 18718//18718\nf 18287//18287 19145//19145 18607//18607\nf 18287//18287 19147//19147 19145//19145\nf 19147//19147 18608//18608 19149//19149\nf 19148//19148 18611//18611 18813//18813\nf 19149//19149 18608//18608 19150//19150\nf 18608//18608 18288//18288 19150//19150\nf 18288//18288 18814//18814 19150//19150\nf 19151//19151 18720//18720 19148//19148\nf 18610//18610 19152//19152 18288//18288\nf 19152//19152 18814//18814 18288//18288\nf 18721//18721 18815//18815 18722//18722\nf 18721//18721 19153//19153 18815//18815\nf 18723//18723 18815//18815 18816//18816\nf 18723//18723 18722//18722 18815//18815\nf 18816//18816 19152//19152 18610//18610\nf 19151//19151 18290//18290 18720//18720\nf 19154//19154 18290//18290 19151//19151\nf 18614//18614 18434//18434 19156//19156\nf 19154//19154 18433//18433 18290//18290\nf 19154//19154 19158//19158 18433//18433\nf 19159//19159 19157//19157 18434//18434\nf 18436//18436 19159//19159 18434//18434\nf 19160//19160 18433//18433 19158//19158\nf 19160//19160 18615//18615 18433//18433\nf 18616//18616 19162//19162 18291//18291\nf 18724//18724 19163//19163 18616//18616\nf 18616//18616 19163//19163 19161//19161\nf 18665//18665 18615//18615 19164//19164\nf 18615//18615 19160//19160 19164//19164\nf 19165//19165 19163//19163 18724//18724\nf 19165//19165 18619//18619 19166//19166\nf 18618//18618 18665//18665 19164//19164\nf 18618//18618 19164//19164 19167//19167\nf 19166//19166 18619//18619 18292//18292\nf 18620//18620 19168//19168 18292//18292\nf 18618//18618 19167//19167 18725//18725\nf 18725//18725 19167//19167 18621//18621\nf 18621//18621 19215//19215 18620//18620\nf 18621//18621 19167//19167 19169//19169\nf 18817//18817 18667//18667 18818//18818\nf 19217//19217 18819//18819 18820//18820\nf 18626//18626 18820//18820 18819//18819\nf 18827//18827 18826//18826 18294//18294\nf 18828//18828 18827//18827 18295//18295\nf 19170//19170 18833//18833 18443//18443\nf 18835//18835 18828//18828 18447//18447\nf 18832//18832 18182//18182 18666//18666\nf 18834//18834 18189//18189 18836//18836\nf 18182//18182 18832//18832 18845//18845\nf 18450//18450 18445//18445 18840//18840\nf 18760//18760 18848//18848 18847//18847\nf 18760//18760 18448//18448 18848//18848\nf 18840//18840 18446//18446 18758//18758\nf 18840//18840 18445//18445 18446//18446\nf 18841//18841 18840//18840 18758//18758\nf 18842//18842 18451//18451 18843//18843\nf 18844//18844 18670//18670 18854//18854\nf 18456//18456 18630//18630 18857//18857\nf 19175//19175 18852//18852 18457//18457\nf 18864//18864 18304//18304 18856//18856\nf 18630//18630 19174//19174 18857//18857\nf 18860//18860 19176//19176 18858//18858\nf 18866//18866 18861//18861 19233//19233\nf 18866//18866 18306//18306 18861//18861\nf 18731//18731 18304//18304 18864//18864\nf 18859//18859 18465//18465 18868//18868\nf 18464//18464 18864//18864 18867//18867\nf 18869//18869 18674//18674 18880//18880\nf 19239//19239 19238//19238 18877//18877\nf 18874//18874 18632//18632 18875//18875\nf 18872//18872 18875//18875 18632//18632\nf 18878//18878 18671//18671 18871//18871\nf 18674//18674 18472//18472 18880//18880\nf 18883//18883 18880//18880 18472//18472\nf 18879//18879 18469//18469 18633//18633\nf 19177//19177 18887//18887 18882//18882\nf 18885//18885 18766//18766 18884//18884\nf 18472//18472 18888//18888 18883//18883\nf 18886//18886 18473//18473 18891//18891\nf 18897//18897 18479//18479 18906//18906\nf 18475//18475 18634//18634 19181//19181\nf 18888//18888 18898//18898 18899//18899\nf 18890//18890 18889//18889 18900//18900\nf 18889//18889 19243//19243 18900//18900\nf 18896//18896 18902//18902 18207//18207\nf 18768//18768 18903//18903 18904//18904\nf 18904//18904 18903//18903 19179//19179\nf 19180//19180 18904//18904 19179//19179\nf 19180//19180 19179//19179 19178//19178\nf 18114//18114 18884//18884 18769//18769\nf 18899//18899 18898//18898 18477//18477\nf 18733//18733 18735//18735 18911//18911\nf 18734//18734 18909//18909 18910//18910\nf 18481//18481 18323//18323 18908//18908\nf 18912//18912 18480//18480 18209//18209\nf 18912//18912 18209//18209 18915//18915\nf 18481//18481 18908//18908 18913//18913\nf 18637//18637 18770//18770 18911//18911\nf 18918//18918 18684//18684 18485//18485\nf 18918//18918 18485//18485 18919//18919\nf 18771//18771 18327//18327 18921//18921\nf 18922//18922 18484//18484 18917//18917\nf 18926//18926 18328//18328 18931//18931\nf 19184//19184 18927//18927 18486//18486\nf 18922//18922 18932//18932 18487//18487\nf 18933//18933 18773//18773 19252//19252\nf 18212//18212 18489//18489 19185//19185\nf 19186//19186 18331//18331 18936//18936\nf 19187//19187 18928//18928 18929//18929\nf 19187//19187 18929//18929 18940//18940\nf 19258//19258 18931//18931 18490//18490\nf 18492//18492 18331//18331 19186//19186\nf 18774//18774 18492//18492 18938//18938\nf 18942//18942 18946//18946 18494//18494\nf 18949//18949 18333//18333 18945//18945\nf 18496//18496 18946//18946 18947//18947\nf 19187//19187 18940//18940 18775//18775\nf 18501//18501 18333//18333 18949//18949\nf 18496//18496 18947//18947 18498//18498\nf 18956//18956 19187//19187 18775//18775\nf 18639//18639 18500//18500 18952//18952\nf 19188//19188 19187//19187 18956//18956\nf 18951//18951 18954//18954 18503//18503\nf 18502//18502 18499//18499 18955//18955\nf 18499//18499 19261//19261 18955//18955\nf 18777//18777 19188//19188 18956//18956\nf 19188//19188 18777//18777 18961//18961\nf 18950//18950 18497//18497 18959//18959\nf 18960//18960 18503//18503 18954//18954\nf 18949//18949 18958//18958 18337//18337\nf 19189//19189 18500//18500 18505//18505\nf 18963//18963 18506//18506 18960//18960\nf 18972//18972 19190//19190 18780//18780\nf 18965//18965 18337//18337 18958//18958\nf 18508//18508 18965//18965 18970//18970\nf 18973//18973 18514//18514 18966//18966\nf 18975//18975 19194//19194 18964//18964\nf 19195//19195 18972//18972 18784//18784\nf 18691//18691 18980//18980 18968//18968\nf 18982//18982 19195//19195 18784//18784\nf 18974//18974 18985//18985 18351//18351\nf 18783//18783 18342//18342 18978//18978\nf 18990//18990 18982//18982 18984//18984\nf 18983//18983 18127//18127 18979//18979\nf 18982//18982 18990//18990 19196//19196\nf 19270//19270 18975//18975 18985//18985\nf 18987//18987 18983//18983 18979//18979\nf 18348//18348 18342//18342 18991//18991\nf 18985//18985 18975//18975 18986//18986\nf 18691//18691 18223//18223 18992//18992\nf 18643//18643 18987//18987 18994//18994\nf 18994//18994 18995//18995 18522//18522\nf 19000//19000 18348//18348 18991//18991\nf 18785//18785 18999//18999 19197//19197\nf 18787//18787 18786//18786 18995//18995\nf 18998//18998 18992//18992 18787//18787\nf 19002//19002 18788//18788 18996//18996\nf 18997//18997 18132//18132 18532//18532\nf 19005//19005 19001//19001 19003//19003\nf 18232//18232 19000//19000 19006//19006\nf 19009//19009 18536//18536 19002//19002\nf 18645//18645 18232//18232 19006//19006\nf 19007//19007 18535//18535 19198//19198\nf 19010//19010 19011//19011 19600//19600\nf 19007//19007 18532//18532 18535//18535\nf 19014//19014 18695//18695 19012//19012\nf 18535//18535 18539//18539 19013//19013\nf 19198//19198 18535//18535 19013//19013\nf 18538//18538 19009//19009 19199//19199\nf 19015//19015 18742//18742 19017//19017\nf 18357//18357 19014//19014 19019//19019\nf 19017//19017 19020//19020 19015//19015\nf 18359//18359 18357//18357 19019//19019\nf 19021//19021 18546//18546 18359//18359\nf 19023//19023 18790//18790 19202//19202\nf 18546//18546 19021//19021 19024//19024\nf 19018//19018 18541//18541 18545//18545\nf 18698//18698 19023//19023 19202//19202\nf 19023//19023 18698//18698 19202//19202\nf 19018//19018 18545//18545 19203//19203\nf 18793//18793 19025//19025 19022//19022\nf 19203//19203 18647//18647 19026//19026\nf 19310//19310 19025//19025 18793//18793\nf 19037//19037 19280//19280 19038//19038\nf 19037//19037 18703//18703 19035//19035\nf 19043//19043 18648//18648 19034//19034\nf 19204//19204 18745//18745 19045//19045\nf 18796//18796 18370//18370 19043//19043\nf 18794//18794 19206//19206 19039//19039\nf 19044//19044 19205//19205 19046//19046\nf 19044//19044 19041//19041 19205//19205\nf 18797//18797 18707//18707 19046//19046\nf 18707//18707 18746//18746 19046//19046\nf 18800//18800 19207//19207 19051//19051\nf 19052//19052 19207//19207 19054//19054\nf 19054//19054 19207//19207 18800//18800\nf 19057//19057 19058//19058 19055//19055\nf 19208//19208 19055//19055 19058//19058\nf 18255//18255 19056//19056 19060//19060\nf 19062//19062 18389//18389 19060//19060\nf 19061//19061 18554//18554 19064//19064\nf 19068//19068 19070//19070 18659//18659\nf 19070//19070 18558//18558 18659//18659\nf 19074//19074 18262//18262 18394//18394\nf 19075//19075 18564//18564 19076//19076\nf 19284//19284 19085//19085 19081//19081\nf 19078//19078 19317//19317 19661//19661\nf 18406//18406 19085//19085 19089//19089\nf 19085//19085 19080//19080 19081//19081\nf 19086//19086 19079//19079 18397//18397\nf 19093//19093 19209//19209 19084//19084\nf 19092//19092 19095//19095 18404//18404\nf 19093//19093 19099//19099 19209//19209\nf 19100//19100 19101//19101 18409//18409\nf 19209//19209 19099//19099 19102//19102\nf 19106//19106 19210//19210 19319//19319\nf 18409//18409 19101//19101 19105//19105\nf 18575//18575 18409//18409 19105//19105\nf 19210//19210 19106//19106 19107//19107\nf 19103//19103 18716//18716 19106//19106\nf 18803//18803 18413//18413 18802//18802\nf 18418//18418 19108//19108 18663//18663\nf 19124//19124 18590//18590 19125//19125\nf 18592//18592 19126//19126 19286//19286\nf 19211//19211 19125//19125 18591//18591\nf 18421//18421 18278//18278 19130//19130\nf 18278//18278 18594//18594 19130//19130\nf 19131//19131 19287//19287 19130//19130\nf 18596//18596 18595//18595 19134//19134\nf 18422//18422 18599//18599 19136//19136\nf 19289//19289 18600//18600 19212//19212\nf 18422//18422 19136//19136 19212//19212\nf 19140//19140 18601//18601 19213//19213\nf 19135//19135 18808//18808 19139//19139\nf 18757//18757 19137//19137 19143//19143\nf 19142//19142 18756//18756 19145//19145\nf 18287//18287 18608//18608 19147//19147\nf 19146//19146 19148//19148 18719//18719\nf 19152//19152 19150//19150 18814//18814\nf 19295//19295 18289//18289 19214//19214\nf 19153//19153 18721//18721 18289//18289\nf 19214//19214 18289//18289 19155//19155\nf 19156//19156 18434//18434 19157//19157\nf 19157//19157 19159//19159 19156//19156\nf 19159//19159 18436//18436 19162//19162\nf 18436//18436 18291//18291 19162//19162\nf 19163//19163 19165//19165 19166//19166\nf 19166//19166 19168//19168 19753//19753\nf 19166//19166 18292//18292 19168//19168\nf 19215//19215 19168//19168 18620//18620\nf 18621//18621 19169//19169 19215//19215\nf 19217//19217 18820//18820 18821//18821\nf 19218//19218 18821//18821 18822//18822\nf 18823//18823 18824//18824 19220//19220\nf 19220//19220 18824//18824 18817//18817\nf 19221//19221 18818//18818 18825//18825\nf 18831//18831 19221//19221 18825//18825\nf 18838//18838 18455//18455 18833//18833\nf 18762//18762 18625//18625 19171//19171\nf 19171//19171 18625//18625 18829//18829\nf 18844//18844 18854//18854 18759//18759\nf 19172//19172 19223//19223 19222//19222\nf 19224//19224 18845//18845 18832//18832\nf 18839//18839 18450//18450 18840//18840\nf 18835//18835 18192//18192 18859//18859\nf 18630//18630 18846//18846 19174//19174\nf 18856//18856 19226//19226 19225//19225\nf 18856//18856 18857//18857 19226//19226\nf 18857//18857 19174//19174 19227//19227\nf 19229//19229 18850//18850 18852//18852\nf 18457//18457 18458//18458 18858//18858\nf 19231//19231 19173//19173 19172//19172\nf 19234//19234 18764//18764 18855//18855\nf 19234//19234 18855//18855 18845//18845\nf 18864//18864 18856//18856 19225//19225\nf 19235//19235 18852//18852 19175//19175\nf 18457//18457 18858//18858 19235//19235\nf 18858//18858 19176//19176 19235//19235\nf 18853//18853 19230//19230 18860//18860\nf 19231//19231 19232//19232 19173//19173\nf 19239//19239 18875//18875 19441//19441\nf 19238//19238 18876//18876 18877//18877\nf 19237//19237 18876//18876 19238//19238\nf 19440//19440 19239//19239 19441//19441\nf 18868//18868 18465//18465 18879//18879\nf 19240//19240 18765//18765 18876//18876\nf 19241//19241 18765//18765 19240//19240\nf 18881//18881 18471//18471 18878//18878\nf 18879//18879 18633//18633 18886//18886\nf 18890//18890 18765//18765 19241//19241\nf 18885//18885 18884//18884 18766//18766\nf 18634//18634 18887//18887 19181//19181\nf 18907//18907 18475//18475 19181//19181\nf 19245//19245 18768//18768 18904//18904\nf 18906//18906 18479//18479 18682//18682\nf 18908//18908 18907//18907 19181//19181\nf 18899//18899 18733//18733 18911//18911\nf 18905//18905 18769//18769 19246//19246\nf 19246//19246 18769//18769 19182//19182\nf 18917//18917 18916//18916 18914//18914\nf 18914//18914 19249//19249 18917//18917\nf 19488//19488 18918//18918 18919//18919\nf 19251//19251 18924//18924 18923//18923\nf 19250//19250 19251//19251 18923//18923\nf 18771//18771 18921//18921 18926//18926\nf 19253//19253 18927//18927 19184//19184\nf 19253//19253 19184//19184 18920//18920\nf 18932//18932 18922//18922 19255//19255\nf 18934//18934 18933//18933 19252//19252\nf 18938//18938 18492//18492 19186//19186\nf 18928//18928 19257//19257 19254//19254\nf 19255//19255 18945//18945 18932//18932\nf 18942//18942 18685//18685 18938//18938\nf 19257//19257 18928//18928 19187//19187\nf 18941//18941 18493//18493 18497//18497\nf 18950//18950 18941//18941 18497//18497\nf 19261//19261 18939//18939 19256//19256\nf 19260//19260 19257//19257 19188//19188\nf 19188//19188 19257//19257 19187//19187\nf 18943//18943 18639//18639 18952//18952\nf 18500//18500 19189//19189 18952//18952\nf 18499//18499 18939//18939 19261//19261\nf 18961//18961 19190//19190 19263//19263\nf 18961//18961 19263//19263 19188//19188\nf 19189//19189 19191//19191 19193//19193\nf 18972//18972 19266//19266 19190//19190\nf 19192//19192 18957//18957 19265//19265\nf 18969//18969 19192//19192 19265//19265\nf 19264//19264 18966//18966 18955//18955\nf 19267//19267 18959//18959 18968//18968\nf 18507//18507 18963//18963 18971//18971\nf 18221//18221 18507//18507 18971//18971\nf 19193//19193 19191//19191 18220//18220\nf 18962//18962 18964//18964 19194//19194\nf 18977//18977 18970//18970 19268//19268\nf 18979//18979 18977//18977 19268//19268\nf 18220//18220 18981//18981 19193//19193\nf 18220//18220 18738//18738 18981//18981\nf 18989//18989 18973//18973 19269//19269\nf 18993//18993 18989//18989 19269//19269\nf 18974//18974 19270//19270 18985//18985\nf 18980//18980 18691//18691 18992//18992\nf 18997//18997 18532//18532 19007//19007\nf 19596//19596 19005//19005 19008//19008\nf 19005//19005 19010//19010 19008//19008\nf 19006//19006 19012//19012 18645//18645\nf 19007//19007 19198//19198 19272//19272\nf 19273//19273 19199//19199 19009//19009\nf 19016//19016 18538//18538 19199//19199\nf 19199//19199 19273//19273 19016//19016\nf 19013//19013 18539//18539 18697//18697\nf 19306//19306 19015//19015 19020//19020\nf 19013//19013 18697//18697 19018//19018\nf 18790//18790 19016//19016 19201//19201\nf 19202//19202 18790//18790 19201//19201\nf 19203//19203 19307//19307 19018//19018\nf 19024//19024 19274//19274 19028//19028\nf 19027//19027 19024//19024 19028//19028\nf 18792//18792 19202//19202 19029//19029\nf 19310//19310 18793//18793 19031//19031\nf 19279//19279 19276//19276 18794//18794\nf 19034//19034 18794//18794 19276//19276\nf 19028//19028 19277//19277 19035//19035\nf 19278//19278 19038//19038 19280//19280\nf 19032//19032 19038//19038 19278//19278\nf 19204//19204 19275//19275 19033//19033\nf 19279//19279 18794//18794 19039//19039\nf 19041//19041 19030//19030 19309//19309\nf 19038//19038 18705//18705 19037//19037\nf 19051//19051 19313//19313 19045//19045\nf 18796//18796 19282//19282 18795//18795\nf 19282//19282 18796//18796 19043//19043\nf 19046//19046 19281//19281 19047//19047\nf 19047//19047 19314//19314 19049//19049\nf 19047//19047 19049//19049 19314//19314\nf 18649//18649 19048//19048 19206//19206\nf 19646//19646 19063//19063 19362//19362\nf 19061//19061 19064//19064 19059//19059\nf 18712//18712 18391//18391 19063//19063\nf 19067//19067 19064//19064 19065//19065\nf 19067//19067 19065//19065 19064//19064\nf 19066//19066 19068//19068 19283//19283\nf 19283//19283 19070//19070 19068//19068\nf 19073//19073 18262//18262 19074//19074\nf 19075//19075 19318//19318 19655//19655\nf 19083//19083 19081//19081 19082//19082\nf 19087//19087 18569//18569 18570//18570\nf 19209//19209 19104//19104 19285//19285\nf 19209//19209 19102//19102 19104//19104\nf 19100//19100 18573//18573 18408//18408\nf 19112//19112 19105//19105 19116//19116\nf 19127//19127 18592//18592 19286//19286\nf 19130//19130 18594//18594 19131//19131\nf 19288//19288 19137//19137 18809//18809\nf 19290//19290 19135//19135 19139//19139\nf 18601//18601 18600//18600 19213//19213\nf 19141//19141 18602//18602 19140//19140\nf 19148//19148 19144//19144 19291//19291\nf 19145//19145 19147//19147 19149//19149\nf 19292//19292 19151//19151 19148//19148\nf 19294//19294 19293//19293 18816//18816\nf 19152//19152 18816//18816 19293//19293\nf 19153//19153 18289//18289 19295//19295\nf 19155//19155 18614//18614 19156//19156\nf 18616//18616 19161//19161 19162//19162\nf 19747//19747 19161//19161 19163//19163\nf 19167//19167 19215//19215 19169//19169\nf 19372//19372 19217//19217 18821//18821\nf 19218//19218 19219//19219 19373//19373\nf 19216//19216 18829//18829 18819//18819\nf 19216//19216 18819//18819 19217//19217\nf 19218//19218 18822//18822 19219//19219\nf 18822//18822 18830//18830 19219//19219\nf 19394//19394 19388//19388 19296//19296\nf 19396//19396 18853//18853 19171//19171\nf 19297//19297 18759//18759 18854//18854\nf 19299//19299 19172//19172 19222//19222\nf 19228//19228 18849//18849 18850//18850\nf 19172//19172 19299//19299 19231//19231\nf 19228//19228 18850//18850 19229//19229\nf 19235//19235 19175//19175 18457//18457\nf 18869//18869 18854//18854 18865//18865\nf 19229//19229 18852//18852 19235//19235\nf 19418//19418 18868//18868 19424//19424\nf 18867//18867 18864//18864 19236//19236\nf 19237//19237 19240//19240 18876//18876\nf 19237//19237 19232//19232 19240//19240\nf 19239//19239 18874//18874 18875//18875\nf 19443//19443 19422//19422 18880//18880\nf 19440//19440 19433//19433 19238//19238\nf 18312//18312 18874//18874 19239//19239\nf 19242//19242 18883//18883 18888//18888\nf 18889//18889 18890//18890 19241//19241\nf 18888//18888 18899//18899 19242//19242\nf 18904//18904 19180//19180 19245//19245\nf 19476//19476 19180//19180 19475//19475\nf 19244//19244 18908//18908 19181//19181\nf 18906//18906 19247//19247 18912//18912\nf 18768//18768 19245//19245 18909//18909\nf 18906//18906 18912//18912 19247//19247\nf 19474//19474 18912//18912 19479//19479\nf 18914//18914 18910//18910 18909//18909\nf 18915//18915 18209//18209 18918//18918\nf 18772//18772 18913//18913 19336//19336\nf 18919//18919 18485//18485 19183//19183\nf 18773//18773 19339//19339 19252//19252\nf 19252//19252 18773//18773 19338//19338\nf 18928//18928 18925//18925 19254//19254\nf 18925//18925 18928//18928 19254//19254\nf 19303//19303 18930//18930 18924//18924\nf 19303//19303 19340//19340 18930//18930\nf 18936//18936 18935//18935 19508//19508\nf 18939//18939 18927//18927 19253//19253\nf 19256//19256 18939//18939 19253//19253\nf 18937//18937 18736//18736 18943//18943\nf 19263//19263 19260//19260 19188//19188\nf 18944//18944 19517//19517 19527//19527\nf 18955//18955 19261//19261 19264//19264\nf 19535//19535 18941//18941 19304//19304\nf 19304//19304 18950//18950 18959//18959\nf 19265//19265 18957//18957 18948//18948\nf 19543//19543 18965//18965 19537//19537\nf 19190//19190 19266//19266 19263//19263\nf 18505//18505 19191//19191 19189//19189\nf 19195//19195 19266//19266 18972//18972\nf 19269//19269 18973//18973 18966//18966\nf 18982//18982 19305//19305 19195//19195\nf 19194//19194 18975//18975 19270//19270\nf 19267//19267 18968//18968 18980//18980\nf 18978//18978 18971//18971 18783//18783\nf 19574//19574 18991//18991 18783//18783\nf 18995//18995 18994//18994 19271//19271\nf 18787//18787 18995//18995 19271//19271\nf 19583//19583 18999//18999 19001//19001\nf 19005//19005 19008//19008 19010//19010\nf 19009//19009 19016//19016 19273//19273\nf 19016//19016 19009//19009 19273//19273\nf 19272//19272 19198//19198 19013//19013\nf 19200//19200 19015//19015 19011//19011\nf 19014//19014 19021//19021 19019//19019\nf 19022//19022 19025//19025 19020//19020\nf 19029//19029 19202//19202 19308//19308\nf 19309//19309 19029//19029 19308//19308\nf 19203//19203 19026//19026 19032//19032\nf 19030//19030 19029//19029 19309//19309\nf 19311//19311 19279//19279 19039//19039\nf 19205//19205 19041//19041 19309//19309\nf 19275//19275 19204//19204 19312//19312\nf 19313//19313 19312//19312 19204//19204\nf 19035//19035 19277//19277 19280//19280\nf 19037//19037 19035//19035 19280//19280\nf 19205//19205 19356//19356 19281//19281\nf 19045//19045 19313//19313 19204//19204\nf 19046//19046 19205//19205 19281//19281\nf 19314//19314 19049//19049 19281//19281\nf 19636//19636 19315//19315 19314//19314\nf 19312//19312 19313//19313 19051//19051\nf 19316//19316 19312//19312 19051//19051\nf 19047//19047 19281//19281 19049//19049\nf 19049//19049 19315//19315 19050//19050\nf 19316//19316 19051//19051 19207//19207\nf 19316//19316 19207//19207 19050//19050\nf 19640//19640 18798//18798 18795//18795\nf 19048//19048 18375//18375 19208//19208\nf 19206//19206 19048//19048 19208//19208\nf 19645//19645 19058//19058 19059//19059\nf 19066//19066 18712//18712 19063//19063\nf 19068//19068 19066//19066 19283//19283\nf 19070//19070 19069//19069 19071//19071\nf 18395//18395 19072//19072 19078//19078\nf 19074//19074 18394//18394 19075//19075\nf 19075//19075 19076//19076 19318//19318\nf 19085//19085 19284//19284 19089//19089\nf 19080//19080 19081//19081 19083//19083\nf 19318//19318 19076//19076 19079//19079\nf 18570//18570 19088//19088 19087//19087\nf 19665//19665 19091//19091 19077//19077\nf 19084//19084 19209//19209 19285//19285\nf 19285//19285 19083//19083 19084//19084\nf 19667//19667 19095//19095 19092//19092\nf 19103//19103 19106//19106 19319//19319\nf 19210//19210 19107//19107 19111//19111\nf 19320//19320 19210//19210 19111//19111\nf 19115//19115 18802//18802 19109//19109\nf 19116//19116 19368//19368 19119//19119\nf 19321//19321 19123//19123 19119//19119\nf 19128//19128 18421//18421 19130//19130\nf 19708//19708 19131//19131 19709//19709\nf 18600//18600 19289//19289 19213//19213\nf 19135//19135 19322//19322 19136//19136\nf 19135//19135 19290//19290 19322//19322\nf 19290//19290 19370//19370 19724//19724\nf 19145//19145 19139//19139 19142//19142\nf 19323//19323 19139//19139 19145//19145\nf 19148//19148 19146//19146 19144//19144\nf 19150//19150 19152//19152 19293//19293\nf 18816//18816 19293//19293 19294//19294\nf 19153//19153 19295//19295 19735//19735\nf 19151//19151 19324//19324 19154//19154\nf 19158//19158 19325//19325 19160//19160\nf 20205//20205 19372//19372 19756//19756\nf 19379//19379 19220//19220 18817//18817\nf 19380//19380 19375//19375 18831//18831\nf 18826//18826 18827//18827 19170//19170\nf 19381//19381 19170//19170 18827//18827\nf 19379//19379 18823//18823 19220//19220\nf 19385//19385 18831//18831 18834//18834\nf 18836//18836 19385//19385 18834//18834\nf 18828//18828 18835//18835 19392//19392\nf 18759//18759 19297//19297 19393//19393\nf 19758//19758 19757//19757 18837//18837\nf 18853//18853 18762//18762 19171//19171\nf 18848//18848 18839//18839 19412//19412\nf 19407//19407 19412//19412 18839//18839\nf 19409//19409 18854//18854 18869//18869\nf 19227//19227 19174//19174 19300//19300\nf 19174//19174 18846//18846 19300//19300\nf 18847//18847 18848//18848 19760//19760\nf 18849//18849 19228//19228 19328//19328\nf 18860//18860 19230//19230 18853//18853\nf 19404//19404 18866//18866 19233//19233\nf 19225//19225 19226//19226 19425//19425\nf 18857//18857 19227//19227 19226//19226\nf 19419//19419 19300//19300 18846//18846\nf 19327//19327 18842//18842 18843//18843\nf 18843//18843 18849//18849 19427//19427\nf 18849//18849 19328//19328 19427//19427\nf 18870//18870 18866//18866 19404//19404\nf 19231//19231 19299//19299 19330//19330\nf 19176//19176 19432//19432 19436//19436\nf 18873//18873 18870//18870 19434//19434\nf 19234//19234 19329//19329 18764//18764\nf 19302//19302 19232//19232 19231//19231\nf 19232//19232 19302//19302 19240//19240\nf 19440//19440 19238//19238 19239//19239\nf 18864//18864 19442//19442 19236//19236\nf 18871//18871 18867//18867 19236//19236\nf 18881//18881 18878//18878 18871//18871\nf 19444//19444 18879//18879 19450//19450\nf 19177//19177 18882//18882 18881//18881\nf 18883//18883 19242//19242 19452//19452\nf 19177//19177 18881//18881 19451//19451\nf 19449//19449 18889//18889 19241//19241\nf 19455//19455 18894//18894 18893//18893\nf 18896//18896 19457//19457 19458//19458\nf 19458//19458 18903//18903 18902//18902\nf 19452//19452 19242//19242 19467//19467\nf 18895//18895 18901//18901 19469//19469\nf 19470//19470 18885//18885 18905//18905\nf 18911//18911 19332//19332 18899//18899\nf 19333//19333 18905//18905 19246//19246\nf 19334//19334 19246//19246 19182//19182\nf 18914//18914 18909//18909 19335//19335\nf 19336//19336 19248//19248 19486//19486\nf 19490//19490 19250//19250 18923//18923\nf 19249//19249 18922//18922 18917//18917\nf 18922//18922 19249//19249 19337//19337\nf 19337//19337 19249//19249 19495//19495\nf 19496//19496 18920//18920 19486//19486\nf 19249//19249 19487//19487 19495//19495\nf 18920//18920 18772//18772 19486//19486\nf 19494//19494 19497//19497 18924//18924\nf 18773//18773 19252//19252 19338//19338\nf 19497//19497 19340//19340 19303//19303\nf 19497//19497 19505//19505 19340//19340\nf 19253//19253 19503//19503 19511//19511\nf 19340//19340 19505//19505 18930//18930\nf 18938//18938 19186//19186 19512//19512\nf 19185//19185 18937//18937 19513//19513\nf 19526//19526 19260//19260 19263//19263\nf 19522//19522 19260//19260 19526//19526\nf 19259//19259 19341//19341 19262//19262\nf 19341//19341 19259//19259 19262//19262\nf 18951//18951 18947//18947 18946//18946\nf 19258//19258 18214//18214 18953//18953\nf 19521//19521 18943//18943 18952//18952\nf 18944//18944 19527//19527 18948//18948\nf 19304//19304 18959//18959 19343//19343\nf 19536//19536 18960//18960 18954//18954\nf 18952//18952 19189//19189 19540//19540\nf 19547//19547 19193//19193 19555//19555\nf 19538//19538 19266//19266 19195//19195\nf 18966//18966 19264//19264 19344//19344\nf 18974//18974 19551//19551 19557//19557\nf 19344//19344 19269//19269 18966//18966\nf 19557//19557 19345//19345 19270//19270\nf 19194//19194 19270//19270 19345//19345\nf 19345//19345 19557//19557 19270//19270\nf 19268//19268 19559//19559 18979//18979\nf 19267//19267 18980//18980 19346//19346\nf 19572//19572 18981//18981 18988//18988\nf 19347//19347 18980//18980 18992//18992\nf 18990//18990 18785//18785 19570//19570\nf 19578//19578 19572//19572 18988//18988\nf 18994//18994 18995//18995 19271//19271\nf 18785//18785 19197//19197 18999//18999\nf 19579//19579 18999//18999 19583//19583\nf 19000//19000 18991//18991 19582//19582\nf 19271//19271 19580//19580 19585//19585\nf 18996//18996 19349//19349 19002//19002\nf 19349//19349 18996//18996 19587//19587\nf 19349//19349 19588//19588 19593//19593\nf 19002//19002 19349//19349 19273//19273\nf 19009//19009 19002//19002 19273//19273\nf 19599//19599 19600//19600 19011//19011\nf 19597//19597 19272//19272 19013//19013\nf 19351//19351 19201//19201 19016//19016\nf 19014//19014 19019//19019 19021//19021\nf 19306//19306 19020//19020 19606//19606\nf 19202//19202 19201//19201 19352//19352\nf 19025//19025 19610//19610 19020//19020\nf 19612//19612 19018//19018 19307//19307\nf 19202//19202 19352//19352 19308//19308\nf 19024//19024 19021//19021 19609//19609\nf 19307//19307 19203//19203 19612//19612\nf 19308//19308 19611//19611 19615//19615\nf 19309//19309 19308//19308 19353//19353\nf 19203//19203 19619//19619 19617//19617\nf 19203//19203 19355//19355 19619//19619\nf 19628//19628 19276//19276 19279//19279\nf 19031//19031 19033//19033 19275//19275\nf 19311//19311 19360//19360 19359//19359\nf 19356//19356 19205//19205 19309//19309\nf 19281//19281 19356//19356 19357//19357\nf 19039//19039 19360//19360 19311//19311\nf 19281//19281 19635//19635 19314//19314\nf 19358//19358 19312//19312 19316//19316\nf 19049//19049 19314//19314 19315//19315\nf 19050//19050 19315//19315 19316//19316\nf 19641//19641 19206//19206 19208//19208\nf 18798//18798 19640//19640 19056//19056\nf 19643//19643 19208//19208 19058//19058\nf 19645//19645 19643//19643 19058//19058\nf 19362//19362 19060//19060 19056//19056\nf 19062//19062 19060//19060 19063//19063\nf 19653//19653 19283//19283 19068//19068\nf 19078//19078 19072//19072 19317//19317\nf 19656//19656 19087//19087 19088//19088\nf 19667//19667 19092//19092 19665//19665\nf 19363//19363 19083//19083 19285//19285\nf 19363//19363 19080//19080 19083//19083\nf 19104//19104 19363//19363 19285//19285\nf 19104//19104 19103//19103 19363//19363\nf 19319//19319 19363//19363 19103//19103\nf 19320//19320 19111//19111 19110//19110\nf 18801//18801 19364//19364 19365//19365\nf 18801//18801 19108//19108 19364//19364\nf 19364//19364 19366//19366 19365//19365\nf 19125//19125 19699//19699 19124//19124\nf 19123//19123 19700//19700 19126//19126\nf 19701//19701 19211//19211 19128//19128\nf 19701//19701 19125//19125 19211//19211\nf 19708//19708 19287//19287 19131//19131\nf 19707//19707 19132//19132 19129//19129\nf 19289//19289 19212//19212 19322//19322\nf 19322//19322 19212//19212 19136//19136\nf 19290//19290 19721//19721 19322//19322\nf 19370//19370 19290//19290 19139//19139\nf 19323//19323 19370//19370 19139//19139\nf 19323//19323 19145//19145 19149//19149\nf 19149//19149 19728//19728 19726//19726\nf 19294//19294 19731//19731 19293//19293\nf 18816//18816 19294//19294 19293//19293\nf 19731//19731 19729//19729 19293//19293\nf 19735//19735 19214//19214 19737//19737\nf 19737//19737 19155//19155 19739//19739\nf 19743//19743 19741//19741 19157//19157\nf 19741//19741 19156//19156 19157//19157\nf 19159//19159 19157//19157 19156//19156\nf 19748//19748 19160//19160 19158//19158\nf 19746//19746 19744//19744 19162//19162\nf 19160//19160 19325//19325 19158//19158\nf 19748//19748 19158//19158 19742//19742\nf 19164//19164 19160//19160 19750//19750\nf 19749//19749 19163//19163 19751//19751\nf 19752//19752 19166//19166 19753//19753\nf 19215//19215 19167//19167 19755//19755\nf 19372//19372 19371//19371 19217//19217\nf 19372//19372 18821//18821 19756//19756\nf 19375//19375 18818//18818 19221//19221\nf 19375//19375 19374//19374 18818//18818\nf 19376//19376 18829//18829 19377//19377\nf 19377//19377 18829//18829 19216//19216\nf 19219//19219 18830//18830 19373//19373\nf 19378//19378 19373//19373 18830//18830\nf 19374//19374 18817//18817 18818//18818\nf 19379//19379 18817//18817 19374//19374\nf 19375//19375 19221//19221 18831//18831\nf 19381//19381 19386//19386 19170//19170\nf 18827//18827 18828//18828 19383//19383\nf 19376//19376 19384//19384 19171//19171\nf 19376//19376 19171//19171 18829//18829\nf 18830//18830 18759//18759 19378//19378\nf 19380//19380 18831//18831 19385//19385\nf 19387//19387 19383//19383 18828//18828\nf 19379//19379 19390//19390 18823//18823\nf 18833//18833 19170//19170 19386//19386\nf 19171//19171 19384//19384 19389//19389\nf 19387//19387 18828//18828 19392//19392\nf 19388//19388 18836//18836 19296//19296\nf 19757//19757 19394//19394 19296//19296\nf 19758//19758 18837//18837 19298//19298\nf 19298//19298 18838//18838 19395//19395\nf 19396//19396 19171//19171 19389//19389\nf 18854//18854 19393//19393 19297//19297\nf 19393//19393 18854//18854 19397//19397\nf 19398//19398 19222//19222 19223//19223\nf 19326//19326 19222//19222 19398//19398\nf 19399//19399 19223//19223 19172//19172\nf 19398//19398 19223//19223 19399//19399\nf 19402//19402 19399//19399 19173//19173\nf 19173//19173 19399//19399 19172//19172\nf 19400//19400 19224//19224 18832//18832\nf 19403//19403 18839//18839 18840//18840\nf 18862//18862 19406//19406 18861//18861\nf 19408//19408 19403//19403 18841//18841\nf 19404//19404 19233//19233 18861//18861\nf 19329//19329 19406//19406 18862//18862\nf 18851//18851 18847//18847 19410//19410\nf 19760//19760 19412//19412 19761//19761\nf 19408//19408 19762//19762 19403//19403\nf 19415//19415 19414//19414 18860//18860\nf 18860//18860 18853//18853 19396//19396\nf 18860//18860 19396//19396 19415//19415\nf 19422//19422 19409//19409 18869//18869\nf 19173//19173 19232//19232 19402//19402\nf 19416//19416 19402//19402 19232//19232\nf 18863//18863 19329//19329 18862//18862\nf 19417//19417 19423//19423 18845//18845\nf 19224//19224 19400//19400 18845//18845\nf 19400//19400 19417//19417 18845//18845\nf 18841//18841 19420//19420 19413//19413\nf 18842//18842 19420//19420 18841//18841\nf 18843//18843 19427//19427 19327//19327\nf 19222//19222 19330//19330 19299//19299\nf 19416//19416 19232//19232 19237//19237\nf 19423//19423 19234//19234 18845//18845\nf 19425//19425 19226//19226 19227//19227\nf 19425//19425 19227//19227 19426//19426\nf 19327//19327 19427//19427 19420//19420\nf 18843//18843 19421//19421 19427//19427\nf 19421//19421 18843//18843 19427//19427\nf 19428//19428 19328//19328 19228//19228\nf 18863//18863 18764//18764 19329//19329\nf 19428//19428 19228//19228 19430//19430\nf 19431//19431 19229//19229 19235//19235\nf 19176//19176 19414//19414 19432//19432\nf 19414//19414 19176//19176 18860//18860\nf 19433//19433 19416//19416 19237//19237\nf 19238//19238 19433//19433 19237//19237\nf 18864//18864 19225//19225 19435//19435\nf 19764//19764 19431//19431 19430//19430\nf 19431//19431 19228//19228 19229//19229\nf 19235//19235 19176//19176 19436//19436\nf 19437//19437 18873//18873 19438//19438\nf 19423//19423 19329//19329 19234//19234\nf 18864//18864 19435//19435 19442//19442\nf 19330//19330 19439//19439 19231//19231\nf 18872//18872 19301//19301 19437//19437\nf 19439//19439 19302//19302 19231//19231\nf 19445//19445 19236//19236 19442//19442\nf 19422//19422 18869//18869 18880//18880\nf 19424//19424 18868//18868 19444//19444\nf 19240//19240 19302//19302 19439//19439\nf 19439//19439 19302//19302 19240//19240\nf 19439//19439 19240//19240 19302//19302\nf 19236//19236 19446//19446 18871//18871\nf 19447//19447 19439//19439 19302//19302\nf 19447//19447 19240//19240 19439//19439\nf 19439//19439 19447//19447 19302//19302\nf 19447//19447 19449//19449 19240//19240\nf 19240//19240 19449//19449 19241//19241\nf 18881//18881 18871//18871 19448//19448\nf 18881//18881 19448//19448 19451//19451\nf 19765//19765 18883//18883 19452//19452\nf 19449//19449 19453//19453 18889//18889\nf 19450//19450 18891//18891 19454//19454\nf 19177//19177 19451//19451 19463//19463\nf 18894//18894 19456//19456 18896//18896\nf 18896//18896 19456//19456 19457//19457\nf 18893//18893 18892//18892 19460//19460\nf 18902//18902 18896//18896 19458//19458\nf 19459//19459 19179//19179 18903//18903\nf 19459//19459 19461//19461 19179//19179\nf 19454//19454 18891//18891 18897//18897\nf 19179//19179 19464//19464 19178//19178\nf 19463//19463 19466//19466 19177//19177\nf 19467//19467 19242//19242 18899//18899\nf 19468//19468 18889//18889 19453//19453\nf 19243//19243 18889//18889 19468//19468\nf 19460//19460 18895//18895 19469//19469\nf 18892//18892 18895//18895 19460//19460\nf 19464//19464 19331//19331 19180//19180\nf 19464//19464 19180//19180 19178//19178\nf 19181//19181 18887//18887 19177//19177\nf 19181//19181 19177//19177 19466//19466\nf 19471//19471 18884//18884 19465//19465\nf 19471//19471 18769//18769 18884//18884\nf 19766//19766 18906//18906 19474//19474\nf 19468//19468 18900//18900 19243//19243\nf 19468//19468 19472//19472 18900//18900\nf 19472//19472 18901//18901 18900//18900\nf 19472//19472 19469//19469 18901//18901\nf 19473//19473 19181//19181 19466//19466\nf 19332//19332 19467//19467 18899//18899\nf 19475//19475 19180//19180 19331//19331\nf 19333//19333 19470//19470 18905//18905\nf 19471//19471 19334//19334 18769//18769\nf 19477//19477 19244//19244 19181//19181\nf 19245//19245 19180//19180 19476//19476\nf 18769//18769 19334//19334 19182//19182\nf 19476//19476 19478//19478 19245//19245\nf 18909//18909 19245//19245 19478//19478\nf 19333//19333 19246//19246 19334//19334\nf 19480//19480 19244//19244 19477//19477\nf 18908//18908 19244//19244 19480//19480\nf 19332//19332 18911//18911 18770//18770\nf 18908//18908 19480//19480 19248//19248\nf 18909//18909 19481//19481 19335//19335\nf 18770//18770 18771//18771 19484//19484\nf 18918//18918 19483//19483 18915//18915\nf 19336//19336 18913//18913 19248//19248\nf 19249//19249 18914//18914 19487//19487\nf 19487//19487 18914//18914 19485//19485\nf 18772//18772 19336//19336 19486//19486\nf 19490//19490 19491//19491 19250//19250\nf 19491//19491 19251//19251 19250//19250\nf 18924//18924 19251//19251 19491//19491\nf 19490//19490 18923//18923 19493//19493\nf 19491//19491 19494//19494 18924//18924\nf 18925//18925 19493//19493 18923//18923\nf 19492//19492 18771//18771 18926//18926\nf 18924//18924 19497//19497 19303//19303\nf 19498//19498 19185//19185 19513//19513\nf 19339//19339 19338//19338 19252//19252\nf 18934//18934 19252//19252 19500//19500\nf 19498//19498 19183//19183 19185//19185\nf 19501//19501 19503//19503 18920//18920\nf 19496//19496 19503//19503 19501//19501\nf 19493//19493 18928//18928 19504//19504\nf 19255//19255 18922//18922 19337//19337\nf 19338//19338 18773//18773 19506//19506\nf 19338//19338 19339//19339 18773//18773\nf 19502//19502 19507//19507 18934//18934\nf 18935//18935 18934//18934 19507//19507\nf 19510//19510 18936//18936 19508//19508\nf 19253//19253 18920//18920 19503//19503\nf 19510//19510 19186//19186 18936//18936\nf 19510//19510 19512//19512 19186//19186\nf 18945//18945 19255//19255 19769//19769\nf 19514//19514 18942//18942 18938//18938\nf 18773//18773 18941//18941 19506//19506\nf 18943//18943 19513//19513 18937//18937\nf 19515//19515 19256//19256 19253//19253\nf 18944//18944 18930//18930 19517//19517\nf 19517//19517 18930//18930 19505//19505\nf 19771//19771 19258//19258 18953//18953\nf 18931//18931 19258//19258 19523//19523\nf 18941//18941 18950//18950 19304//19304\nf 19259//19259 19342//19342 19341//19341\nf 19256//19256 19515//19515 19525//19525\nf 19523//19523 19258//19258 19771//19771\nf 19342//19342 19259//19259 19341//19341\nf 19530//19530 19521//19521 18952//18952\nf 19256//19256 19525//19525 19261//19261\nf 19534//19534 19526//19526 19263//19263\nf 19537//19537 18949//18949 19531//19531\nf 19535//19535 19304//19304 19343//19343\nf 19525//19525 19264//19264 19261//19261\nf 19534//19534 19266//19266 19538//19538\nf 19266//19266 19534//19534 19263//19263\nf 18953//18953 18962//18962 19528//19528\nf 18958//18958 18949//18949 19537//19537\nf 19264//19264 19525//19525 19541//19541\nf 19265//19265 18948//18948 19539//19539\nf 18965//18965 18958//18958 19537//19537\nf 18963//18963 18960//18960 19536//19536\nf 19528//19528 18962//18962 19542//19542\nf 18962//18962 19544//19544 19542//19542\nf 19547//19547 19540//19540 19189//19189\nf 19194//19194 19544//19544 18962//18962\nf 19547//19547 19189//19189 19193//19193\nf 19195//19195 19546//19546 19538//19538\nf 19344//19344 19264//19264 19541//19541\nf 18963//18963 19548//19548 18971//18971\nf 19344//19344 19541//19541 19549//19549\nf 19546//19546 19195//19195 19550//19550\nf 19265//19265 19539//19539 18969//18969\nf 19343//19343 18959//18959 19267//19267\nf 19554//19554 19343//19343 19267//19267\nf 19195//19195 19305//19305 19556//19556\nf 19550//19550 19195//19195 19556//19556\nf 19552//19552 19194//19194 19345//19345\nf 19556//19556 19305//19305 19561//19561\nf 19270//19270 18974//18974 19557//19557\nf 19268//19268 18970//18970 19559//19559\nf 19558//19558 19563//19563 18783//18783\nf 18974//18974 18969//18969 19551//19551\nf 19270//19270 19557//19557 19345//19345\nf 19269//19269 19344//19344 19549//19549\nf 19558//19558 18783//18783 18971//18971\nf 19555//19555 18981//18981 19564//19564\nf 19561//19561 18982//18982 19565//19565\nf 19559//19559 19562//19562 18979//18979\nf 19565//19565 18982//18982 19196//19196\nf 19346//19346 18980//18980 19566//19566\nf 19563//19563 19567//19567 18783//18783\nf 19572//19572 19564//19564 18981//18981\nf 19560//19560 19569//19569 18993//18993\nf 19560//19560 18993//18993 19269//19269\nf 19571//19571 19566//19566 19347//19347\nf 18979//18979 19573//19573 18987//18987\nf 19566//19566 18980//18980 19347//19347\nf 18987//18987 19573//19573 18994//18994\nf 18996//18996 18993//18993 19577//19577\nf 19576//19576 18995//18995 18994//18994\nf 19581//19581 19347//19347 18992//18992\nf 19588//19588 18996//18996 19577//19577\nf 19774//19774 19588//19588 19577//19577\nf 19271//19271 18995//18995 19580//19580\nf 19580//19580 18995//18995 19576//19576\nf 18992//18992 18998//18998 19581//19581\nf 18991//18991 19574//19574 19582//19582\nf 18787//18787 19271//19271 19585//19585\nf 18988//18988 18997//18997 19578//19578\nf 19587//19587 18996//18996 19588//19588\nf 19583//19583 19001//19001 19589//19589\nf 18997//18997 19586//19586 19578//19578\nf 18998//18998 18787//18787 19585//19585\nf 19349//19349 19587//19587 19588//19588\nf 19350//19350 19348//19348 18998//18998\nf 19589//19589 19001//19001 19594//19594\nf 19005//19005 19596//19596 19594//19594\nf 19007//19007 19272//19272 19595//19595\nf 19596//19596 19008//19008 19010//19010\nf 19012//19012 19006//19006 19592//19592\nf 19349//19349 19593//19593 19273//19273\nf 19595//19595 19272//19272 19597//19597\nf 19016//19016 19273//19273 19598//19598\nf 19351//19351 19016//19016 19603//19603\nf 19604//19604 19014//19014 19601//19601\nf 19597//19597 19013//19013 19605//19605\nf 19602//19602 19015//19015 19606//19606\nf 19015//19015 19306//19306 19606//19606\nf 19351//19351 19603//19603 19201//19201\nf 19014//19014 19604//19604 19019//19019\nf 19020//19020 19608//19608 19606//19606\nf 19352//19352 19201//19201 19607//19607\nf 19020//19020 19610//19610 19608//19608\nf 19352//19352 19607//19607 19611//19611\nf 19025//19025 19608//19608 19610//19610\nf 19308//19308 19352//19352 19611//19611\nf 19612//19612 19203//19203 19617//19617\nf 19779//19779 19608//19608 19025//19025\nf 19779//19779 19310//19310 19616//19616\nf 19024//19024 19614//19614 19274//19274\nf 19356//19356 19620//19620 19622//19622\nf 19616//19616 19031//19031 19275//19275\nf 19616//19616 19310//19310 19031//19031\nf 19203//19203 19032//19032 19355//19355\nf 19309//19309 19353//19353 19356//19356\nf 19353//19353 19615//19615 19356//19356\nf 19356//19356 19615//19615 19618//19618\nf 19625//19625 19275//19275 19624//19624\nf 19275//19275 19625//19625 19621//19621\nf 19621//19621 19616//19616 19275//19275\nf 19614//19614 19028//19028 19274//19274\nf 19629//19629 19614//19614 19785//19785\nf 19626//19626 19619//19619 19032//19032\nf 19619//19619 19355//19355 19032//19032\nf 19622//19622 19620//19620 19357//19357\nf 19275//19275 19621//19621 19624//19624\nf 19621//19621 19625//19625 19624//19624\nf 19276//19276 19628//19628 19354//19354\nf 19629//19629 19028//19028 19614//19614\nf 19626//19626 19032//19032 19278//19278\nf 19356//19356 19622//19622 19357//19357\nf 19311//19311 19359//19359 19786//19786\nf 19028//19028 19629//19629 19277//19277\nf 19626//19626 19278//19278 19631//19631\nf 19623//19623 19632//19632 19357//19357\nf 19312//19312 19358//19358 19627//19627\nf 19280//19280 19277//19277 19633//19633\nf 19635//19635 19281//19281 19357//19357\nf 19314//19314 19632//19632 19636//19636\nf 19632//19632 19314//19314 19635//19635\nf 19357//19357 19632//19632 19635//19635\nf 19316//19316 19627//19627 19358//19358\nf 19276//19276 19634//19634 19043//19043\nf 19632//19632 19787//19787 19636//19636\nf 19787//19787 19316//19316 19315//19315\nf 19316//19316 19787//19787 19627//19627\nf 19276//19276 19043//19043 19034//19034\nf 19637//19637 19361//19361 19282//19282\nf 19637//19637 19282//19282 19043//19043\nf 19282//19282 19361//19361 18795//18795\nf 19361//19361 19638//19638 18795//18795\nf 19641//19641 19639//19639 19206//19206\nf 19642//19642 19056//19056 19640//19640\nf 19643//19643 19641//19641 19208//19208\nf 19063//19063 19060//19060 19362//19362\nf 19645//19645 19059//19059 19647//19647\nf 19647//19647 19059//19059 19064//19064\nf 19647//19647 19065//19065 19649//19649\nf 19647//19647 19064//19064 19065//19065\nf 19066//19066 19063//19063 19648//19648\nf 19067//19067 19649//19649 19065//19065\nf 19068//19068 19066//19066 19650//19650\nf 19069//19069 19651//19651 19067//19067\nf 19653//19653 19651//19651 19069//19069\nf 19283//19283 19653//19653 19070//19070\nf 19788//19788 19074//19074 19654//19654\nf 19657//19657 19089//19089 19658//19658\nf 19658//19658 19089//19089 19284//19284\nf 19658//19658 19081//19081 19659//19659\nf 19081//19081 19658//19658 19284//19284\nf 19659//19659 19081//19081 19080//19080\nf 19079//19079 19663//19663 19318//19318\nf 19079//19079 19086//19086 19663//19663\nf 19088//19088 19657//19657 19656//19656\nf 19088//19088 19089//19089 19657//19657\nf 19666//19666 19077//19077 19660//19660\nf 19077//19077 19078//19078 19660//19660\nf 19658//19658 19659//19659 19668//19668\nf 19080//19080 19363//19363 19668//19668\nf 19667//19667 19669//19669 19095//19095\nf 19096//19096 19669//19669 19670//19670\nf 19668//19668 19363//19363 19671//19671\nf 19319//19319 19671//19671 19363//19363\nf 19671//19671 19672//19672 19319//19319\nf 19319//19319 19672//19672 19671//19671\nf 19320//19320 19677//19677 19210//19210\nf 19671//19671 19319//19319 19210//19210\nf 19210//19210 19675//19675 19674//19674\nf 19676//19676 19678//19678 19101//19101\nf 19101//19101 19100//19100 19676//19676\nf 19679//19679 19677//19677 19320//19320\nf 19320//19320 19110//19110 19679//19679\nf 19678//19678 19105//19105 19101//19101\nf 18802//18802 19683//19683 18803//18803\nf 19682//19682 19683//19683 18802//18802\nf 19680//19680 19110//19110 18803//18803\nf 19683//19683 19680//19680 18803//18803\nf 19110//19110 19680//19680 19679//19679\nf 19685//19685 19682//19682 18802//18802\nf 19681//19681 19684//19684 19105//19105\nf 19116//19116 19105//19105 19684//19684\nf 19687//19687 19116//19116 19684//19684\nf 19115//19115 19685//19685 18802//18802\nf 18805//18805 19366//19366 19364//19364\nf 19364//19364 19108//19108 19366//19366\nf 19365//19365 19113//19113 18801//18801\nf 19686//19686 19685//19685 19115//19115\nf 18805//18805 19367//19367 19366//19366\nf 19365//19365 19117//19117 19113//19113\nf 19690//19690 19368//19368 19116//19116\nf 19692//19692 19118//19118 19120//19120\nf 19692//19692 19689//19689 19118//19118\nf 19365//19365 19691//19691 19117//19117\nf 19687//19687 19690//19690 19116//19116\nf 19693//19693 19686//19686 19115//19115\nf 19694//19694 19368//19368 19690//19690\nf 19117//19117 19695//19695 18806//18806\nf 19691//19691 19695//19695 19117//19117\nf 19693//19693 19115//19115 19121//19121\nf 19696//19696 19120//19120 19122//19122\nf 19121//19121 18806//18806 19695//19695\nf 19122//19122 19124//19124 19696//19696\nf 19697//19697 19321//19321 19119//19119\nf 19368//19368 19698//19698 19119//19119\nf 19694//19694 19698//19698 19368//19368\nf 19124//19124 19699//19699 19696//19696\nf 19697//19697 19123//19123 19321//19321\nf 19698//19698 19697//19697 19119//19119\nf 19697//19697 19700//19700 19123//19123\nf 19125//19125 19701//19701 19699//19699\nf 19126//19126 19702//19702 19286//19286\nf 19702//19702 19126//19126 19700//19700\nf 19701//19701 19128//19128 19703//19703\nf 19127//19127 19702//19702 19704//19704\nf 19127//19127 19286//19286 19702//19702\nf 19706//19706 18807//18807 19704//19704\nf 18807//18807 19127//19127 19704//19704\nf 19130//19130 19705//19705 19128//19128\nf 18807//18807 19706//19706 19707//19707\nf 18807//18807 19707//19707 19129//19129\nf 19708//19708 19705//19705 19130//19130\nf 19130//19130 19287//19287 19708//19708\nf 19131//19131 19133//19133 19709//19709\nf 19134//19134 19710//19710 19709//19709\nf 19707//19707 19711//19711 19132//19132\nf 19134//19134 19132//19132 19711//19711\nf 19713//19713 18809//18809 19712//19712\nf 19713//19713 19288//19288 18809//18809\nf 19712//19712 18809//18809 18810//18810\nf 19713//19713 19137//19137 19288//19288\nf 18810//18810 19138//19138 19714//19714\nf 19713//19713 19718//19718 19137//19137\nf 19140//19140 19213//19213 19716//19716\nf 19289//19289 19717//19717 19213//19213\nf 19717//19717 19716//19716 19213//19213\nf 19715//19715 19138//19138 18811//18811\nf 19719//19719 19715//19715 18811//18811\nf 19720//19720 19140//19140 19716//19716\nf 19717//19717 19289//19289 19322//19322\nf 19721//19721 19717//19717 19322//19322\nf 19792//19792 19721//19721 19724//19724\nf 19141//19141 19719//19719 18811//18811\nf 19720//19720 19141//19141 19140//19140\nf 19724//19724 19721//19721 19290//19290\nf 19718//19718 19723//19723 19137//19137\nf 19723//19723 19143//19143 19137//19137\nf 19724//19724 19370//19370 19323//19323\nf 19369//19369 19291//19291 19144//19144\nf 19369//19369 19725//19725 19291//19291\nf 19143//19143 19369//19369 19144//19144\nf 19723//19723 19369//19369 19143//19143\nf 19726//19726 19724//19724 19323//19323\nf 19291//19291 19727//19727 19148//19148\nf 19725//19725 19727//19727 19291//19291\nf 19149//19149 19726//19726 19323//19323\nf 19149//19149 19150//19150 19728//19728\nf 19293//19293 19729//19729 19150//19150\nf 19729//19729 19728//19728 19150//19150\nf 19727//19727 19292//19292 19148//19148\nf 19730//19730 19292//19292 19727//19727\nf 19151//19151 19292//19292 19730//19730\nf 19151//19151 19730//19730 19732//19732\nf 19294//19294 18816//18816 19731//19731\nf 18815//18815 19153//19153 19734//19734\nf 19735//19735 19295//19295 19214//19214\nf 19151//19151 19736//19736 19324//19324\nf 19732//19732 19736//19736 19151//19151\nf 19736//19736 19738//19738 19324//19324\nf 19324//19324 19738//19738 19154//19154\nf 19738//19738 19742//19742 19154//19154\nf 19741//19741 19740//19740 19156//19156\nf 19742//19742 19158//19158 19154//19154\nf 19743//19743 19157//19157 19159//19159\nf 19161//19161 19744//19744 19162//19162\nf 19744//19744 19743//19743 19159//19159\nf 19744//19744 19746//19746 19162//19162\nf 19746//19746 19744//19744 19162//19162\nf 19744//19744 19159//19159 19162//19162\nf 19751//19751 19163//19163 19166//19166\nf 19751//19751 19166//19166 19752//19752\nf 19164//19164 19750//19750 19167//19167\nf 19755//19755 19753//19753 19168//19168\nf 18821//18821 19218//19218 19756//19756\nf 19381//19381 18827//18827 19382//19382\nf 18827//18827 19383//19383 19382//19382\nf 19385//19385 18836//18836 19388//19388\nf 19393//19393 19378//19378 18759//18759\nf 19395//19395 18833//18833 19391//19391\nf 19757//19757 19296//19296 18837//18837\nf 18838//18838 18833//18833 19395//19395\nf 19326//19326 19398//19398 19399//19399\nf 18832//18832 18823//18823 19400//19400\nf 18823//18823 19390//19390 19400//19400\nf 18835//18835 19401//19401 19392//19392\nf 19390//19390 19793//19793 19400//19400\nf 19401//19401 18835//18835 18859//18859\nf 19404//19404 18861//18861 19405//19405\nf 19406//19406 19405//19405 18861//18861\nf 19407//19407 18839//18839 19403//19403\nf 18840//18840 18841//18841 19403//19403\nf 19411//19411 18847//18847 19760//19760\nf 19760//19760 18848//18848 19412//19412\nf 19407//19407 19403//19403 19761//19761\nf 19762//19762 19761//19761 19403//19403\nf 19413//19413 19408//19408 18841//18841\nf 19413//19413 19762//19762 19408//19408\nf 19330//19330 19222//19222 19326//19326\nf 19416//19416 19763//19763 19402//19402\nf 19759//19759 18859//18859 19418//19418\nf 18846//18846 18851//18851 19419//19419\nf 18851//18851 19410//19410 19419//19419\nf 18847//18847 19411//19411 19410//19410\nf 19761//19761 19412//19412 19407//19407\nf 19434//19434 18870//18870 19404//19404\nf 19426//19426 19227//19227 19419//19419\nf 19227//19227 19300//19300 19419//19419\nf 19420//19420 18842//18842 19327//19327\nf 19429//19429 19225//19225 19425//19425\nf 19427//19427 19328//19328 19428//19428\nf 19441//19441 18872//18872 19437//19437\nf 19301//19301 18873//18873 19437//19437\nf 19429//19429 19442//19442 19435//19435\nf 19435//19435 19225//19225 19429//19429\nf 19428//19428 19430//19430 19764//19764\nf 19430//19430 19228//19228 19431//19431\nf 19431//19431 19235//19235 19436//19436\nf 18875//18875 18872//18872 19441//19441\nf 19444//19444 18868//18868 18879//18879\nf 19236//19236 19445//19445 19446//19446\nf 18880//18880 18883//18883 19765//19765\nf 18871//18871 19446//19446 19448//19448\nf 18879//18879 18886//18886 19450//19450\nf 19450//19450 18886//18886 18891//18891\nf 18894//18894 19455//19455 19456//19456\nf 18903//18903 19458//19458 19459//19459\nf 19466//19466 19463//19463 19451//19451\nf 19461//19461 19464//19464 19179//19179\nf 19470//19470 19462//19462 18885//18885\nf 19462//19462 18884//18884 18885//18885\nf 18884//18884 19462//19462 19465//19465\nf 19462//19462 19471//19471 19465//19465\nf 19470//19470 19471//19471 19462//19462\nf 19473//19473 19767//19767 19477//19477\nf 19766//19766 18897//18897 18906//18906\nf 19767//19767 19473//19473 19466//19466\nf 19474//19474 18906//18906 18912//18912\nf 19181//19181 19473//19473 19477//19477\nf 19478//19478 19476//19476 19475//19475\nf 19481//19481 18909//18909 19478//19478\nf 19481//19481 19478//19478 19768//19768\nf 18912//18912 18915//18915 19483//19483\nf 19482//19482 19248//19248 19480//19480\nf 19484//19484 19332//19332 18770//18770\nf 19485//19485 18914//18914 19481//19481\nf 18914//18914 19335//19335 19481//19481\nf 19804//19804 19485//19485 19481//19481\nf 19482//19482 19486//19486 19248//19248\nf 19484//19484 18771//18771 19489//19489\nf 19483//19483 18918//18918 19488//19488\nf 19489//19489 18771//18771 19492//19492\nf 19488//19488 19183//19183 19498//19498\nf 19488//19488 18919//18919 19183//19183\nf 19492//19492 18926//18926 19499//19499\nf 18925//18925 18928//18928 19493//19493\nf 19499//19499 18926//18926 18931//18931\nf 19500//19500 19252//19252 19338//19338\nf 18928//18928 19254//19254 19504//19504\nf 19500//19500 19502//19502 18934//18934\nf 19496//19496 19501//19501 18920//18920\nf 19509//19509 19499//19499 18931//18931\nf 19508//19508 18935//18935 19507//19507\nf 19255//19255 19495//19495 19769//19769\nf 19514//19514 18938//18938 19512//19512\nf 19515//19515 19253//19253 19503//19503\nf 19513//19513 18943//18943 19521//19521\nf 19253//19253 19511//19511 19503//19503\nf 19254//19254 19257//19257 19504//19504\nf 19257//19257 19516//19516 19504//19504\nf 19770//19770 19506//19506 19518//19518\nf 19516//19516 19257//19257 19522//19522\nf 19509//19509 18931//18931 19523//19523\nf 19524//19524 18945//18945 19769//19769\nf 18946//18946 18942//18942 19520//19520\nf 19257//19257 19260//19260 19522//19522\nf 18953//18953 19528//19528 19771//19771\nf 18945//18945 19531//19531 18949//18949\nf 18946//18946 19520//19520 19529//19529\nf 18951//18951 18946//18946 19529//19529\nf 18951//18951 19529//19529 19533//19533\nf 19809//19809 19537//19537 19531//19531\nf 18954//18954 19533//19533 19536//19536\nf 18954//18954 18951//18951 19533//19533\nf 19539//19539 18948//18948 19527//19527\nf 18952//18952 19540//19540 19530//19530\nf 19528//19528 19542//19542 19544//19544\nf 19545//19545 18963//18963 19536//19536\nf 19539//19539 19551//19551 18969//18969\nf 19543//19543 18970//18970 18965//18965\nf 19548//19548 18963//18963 19545//19545\nf 19194//19194 19552//19552 19544//19544\nf 19553//19553 18970//18970 19543//19543\nf 19549//19549 19772//19772 19773//19773\nf 19345//19345 19557//19557 19552//19552\nf 19559//19559 18970//18970 19553//19553\nf 19269//19269 19549//19549 19560//19560\nf 19305//19305 18982//18982 19561//19561\nf 19267//19267 19566//19566 19554//19554\nf 19569//19569 19560//19560 19812//19812\nf 19267//19267 19346//19346 19566//19566\nf 19556//19556 19561//19561 19565//19565\nf 19568//19568 18979//18979 19562//19562\nf 19196//19196 18990//18990 19570//19570\nf 19574//19574 18783//18783 19567//19567\nf 19774//19774 19569//19569 19812//19812\nf 18979//18979 19568//19568 19573//19573\nf 19575//19575 19571//19571 19347//19347\nf 19774//19774 18993//18993 19569//19569\nf 19577//19577 18993//18993 19774//19774\nf 18994//18994 19573//19573 19576//19576\nf 19581//19581 19584//19584 19575//19575\nf 19584//19584 19571//19571 19575//19575\nf 18785//18785 18999//18999 19579//19579\nf 19570//19570 18785//18785 19579//19579\nf 19581//19581 19575//19575 19347//19347\nf 19581//19581 18998//18998 19348//19348\nf 19586//19586 18997//18997 19007//19007\nf 19585//19585 19350//19350 18998//18998\nf 19350//19350 19581//19581 19348//19348\nf 19006//19006 19000//19000 19592//19592\nf 19595//19595 19586//19586 19007//19007\nf 19001//19001 19005//19005 19594//19594\nf 19273//19273 19593//19593 19598//19598\nf 19598//19598 19775//19775 19815//19815\nf 19011//19011 19015//19015 19602//19602\nf 19016//19016 19598//19598 19603//19603\nf 19599//19599 19011//19011 19602//19602\nf 19014//19014 19012//19012 19601//19601\nf 19605//19605 19013//19013 19018//19018\nf 19201//19201 19603//19603 19777//19777\nf 19609//19609 19021//19021 19019//19019\nf 19201//19201 19777//19777 19607//19607\nf 19609//19609 19019//19019 19604//19604\nf 19605//19605 19018//19018 19612//19612\nf 19308//19308 19615//19615 19353//19353\nf 19779//19779 19025//19025 19310//19310\nf 19778//19778 19781//19781 19628//19628\nf 19780//19780 19778//19778 19628//19628\nf 19614//19614 19024//19024 19609//19609\nf 19615//19615 19818//19818 19618//19618\nf 19618//19618 19620//19620 19356//19356\nf 19621//19621 19819//19819 19779//19779\nf 19613//19613 19359//19359 19630//19630\nf 19620//19620 19623//19623 19357//19357\nf 19312//19312 19782//19782 19621//19621\nf 19628//19628 19781//19781 19354//19354\nf 19630//19630 19783//19783 19613//19613\nf 19822//19822 19619//19619 19626//19626\nf 19822//19822 19626//19626 19631//19631\nf 19312//19312 19621//19621 19275//19275\nf 19628//19628 19786//19786 19359//19359\nf 19633//19633 19277//19277 19629//19629\nf 19787//19787 19315//19315 19636//19636\nf 19279//19279 19311//19311 19786//19786\nf 19784//19784 19627//19627 19787//19787\nf 19786//19786 19628//19628 19279//19279\nf 19278//19278 19280//19280 19633//19633\nf 19631//19631 19278//19278 19633//19633\nf 19354//19354 19634//19634 19276//19276\nf 19043//19043 19634//19634 19637//19637\nf 19630//19630 19359//19359 19360//19360\nf 19039//19039 19206//19206 19639//19639\nf 19640//19640 18795//18795 19638//19638\nf 19642//19642 19644//19644 19056//19056\nf 19056//19056 19644//19644 19646//19646\nf 19362//19362 19056//19056 19646//19646\nf 19650//19650 19066//19066 19648//19648\nf 19651//19651 19649//19649 19067//19067\nf 19652//19652 19068//19068 19650//19650\nf 19653//19653 19068//19068 19652//19652\nf 19653//19653 19069//19069 19070//19070\nf 19788//19788 19661//19661 19073//19073\nf 19788//19788 19073//19073 19074//19074\nf 19074//19074 19075//19075 19655//19655\nf 19318//19318 19662//19662 19655//19655\nf 19866//19866 19664//19664 19789//19789\nf 19317//19317 19073//19073 19661//19661\nf 19662//19662 19318//19318 19663//19663\nf 19663//19663 19086//19086 19790//19790\nf 19656//19656 19664//19664 19087//19087\nf 19665//19665 19092//19092 19091//19091\nf 19671//19671 19658//19658 19668//19668\nf 19667//19667 19665//19665 19867//19867\nf 19668//19668 19659//19659 19080//19080\nf 19096//19096 19095//19095 19669//19669\nf 19673//19673 19098//19098 19096//19096\nf 19096//19096 19670//19670 19673//19673\nf 19671//19671 19210//19210 19674//19674\nf 19210//19210 19677//19677 19675//19675\nf 19100//19100 19097//19097 19791//19791\nf 19676//19676 19100//19100 19791//19791\nf 19105//19105 19678//19678 19681//19681\nf 19680//19680 19683//19683 19679//19679\nf 19114//19114 19688//19688 18805//18805\nf 18805//18805 19688//19688 19367//19367\nf 18805//18805 19364//19364 19108//19108\nf 19366//19366 19364//19364 19108//19108\nf 19364//19364 19366//19366 19108//19108\nf 19366//19366 19108//19108 19364//19364\nf 19114//19114 19118//19118 19689//19689\nf 19688//19688 19114//19114 19689//19689\nf 19695//19695 19691//19691 19693//19693\nf 19691//19691 19686//19686 19693//19693\nf 19121//19121 19695//19695 19693//19693\nf 19692//19692 19120//19120 19696//19696\nf 19128//19128 19705//19705 19703//19703\nf 19711//19711 19710//19710 19134//19134\nf 19133//19133 19134//19134 19709//19709\nf 18810//18810 19714//19714 19712//19712\nf 19138//19138 19715//19715 19714//19714\nf 19720//19720 19722//19722 19141//19141\nf 19722//19722 19719//19719 19141//19141\nf 19792//19792 19717//19717 19721//19721\nf 19734//19734 19153//19153 19735//19735\nf 19732//19732 19738//19738 19736//19736\nf 19737//19737 19214//19214 19155//19155\nf 19739//19739 19155//19155 19156//19156\nf 19745//19745 19744//19744 19161//19161\nf 19744//19744 19746//19746 19162//19162\nf 19747//19747 19163//19163 19749//19749\nf 19750//19750 19160//19160 19748//19748\nf 19750//19750 19754//19754 19167//19167\nf 19755//19755 19168//19168 19215//19215\nf 19167//19167 19754//19754 19755//19755\nf 19377//19377 19216//19216 19217//19217\nf 20206//20206 19373//19373 20207//20207\nf 19756//19756 19218//19218 19373//19373\nf 20205//20205 19756//19756 20206//20206\nf 19917//19917 19916//19916 19380//19380\nf 19391//19391 18833//18833 19386//19386\nf 18859//18859 19759//19759 19401//19401\nf 19397//19397 18854//18854 19409//19409\nf 18859//18859 18868//18868 19418//19418\nf 19794//19794 19420//19420 19427//19427\nf 19794//19794 19427//19427 19428//19428\nf 19794//19794 19428//19428 19795//19795\nf 19764//19764 19430//19430 19431//19431\nf 19428//19428 19764//19764 19795//19795\nf 19443//19443 18880//18880 19796//19796\nf 18880//18880 19765//19765 19796//19796\nf 19449//19449 19439//19439 19798//19798\nf 19449//19449 19447//19447 19439//19439\nf 19455//19455 18893//18893 19460//19460\nf 19454//19454 18897//18897 19766//19766\nf 19799//19799 19466//19466 19451//19451\nf 19801//19801 19331//19331 19800//19800\nf 19331//19331 19801//19801 19475//19475\nf 19802//19802 19474//19474 19479//19479\nf 19841//19841 19478//19478 19475//19475\nf 19479//19479 18912//18912 19483//19483\nf 19805//19805 19482//19482 19480//19480\nf 19487//19487 19485//19485 19804//19804\nf 19486//19486 19482//19482 19805//19805\nf 19491//19491 19497//19497 19494//19494\nf 19487//19487 19804//19804 19495//19495\nf 19842//19842 19495//19495 19804//19804\nf 19255//19255 19337//19337 19495//19495\nf 19506//19506 18941//18941 19518//19518\nf 19519//19519 19514//19514 19808//19808\nf 19519//19519 18942//18942 19514//19514\nf 19515//19515 19503//19503 19807//19807\nf 18942//18942 19519//19519 19520//19520\nf 19810//19810 19515//19515 19807//19807\nf 18945//18945 19524//19524 19809//19809\nf 19532//19532 19341//19341 19342//19342\nf 19810//19810 19525//19525 19515//19515\nf 19531//19531 18945//18945 19809//19809\nf 20236//20236 19521//19521 19530//19530\nf 19810//19810 19807//19807 19891//19891\nf 19541//19541 19525//19525 19810//19810\nf 19810//19810 19772//19772 19541//19541\nf 19549//19549 19541//19541 19772//19772\nf 19557//19557 19551//19551 19847//19847\nf 19552//19552 19557//19557 19544//19544\nf 19553//19553 19543//19543 19559//19559\nf 18971//18971 19548//19548 19558//19558\nf 19560//19560 19549//19549 19773//19773\nf 19560//19560 19773//19773 19812//19812\nf 19555//19555 19193//19193 18981//18981\nf 19556//19556 19565//19565 19561//19561\nf 19556//19556 19561//19561 19565//19565\nf 19565//19565 19196//19196 19570//19570\nf 19894//19894 19564//19564 19572//19572\nf 19592//19592 19000//19000 19582//19582\nf 19590//19590 19581//19581 19350//19350\nf 19350//19350 19585//19585 19813//19813\nf 19775//19775 19598//19598 19593//19593\nf 19601//19601 19012//19012 19592//19592\nf 19596//19596 19010//19010 19600//19600\nf 19776//19776 19591//19591 19816//19816\nf 19816//19816 19591//19591 19776//19776\nf 19598//19598 19815//19815 19603//19603\nf 19604//19604 19853//19853 19609//19609\nf 19851//19851 19605//19605 19612//19612\nf 19607//19607 19777//19777 19611//19611\nf 19818//19818 19615//19615 19611//19611\nf 19618//19618 19818//19818 19620//19620\nf 19818//19818 19857//19857 19620//19620\nf 19620//19620 19857//19857 19821//19821\nf 19621//19621 19779//19779 19616//19616\nf 19780//19780 19628//19628 19613//19613\nf 19609//19609 19858//19858 19614//19614\nf 19781//19781 19778//19778 19862//19862\nf 19782//19782 19627//19627 19784//19784\nf 19632//19632 19623//19623 19821//19821\nf 19623//19623 19620//19620 19821//19821\nf 19787//19787 19861//19861 19784//19784\nf 19782//19782 19312//19312 19627//19627\nf 19628//19628 19359//19359 19613//19613\nf 19821//19821 19787//19787 19632//19632\nf 19360//19360 19039//19039 19864//19864\nf 19063//19063 19646//19646 19648//19648\nf 19652//19652 19651//19651 19653//19653\nf 19654//19654 19074//19074 19655//19655\nf 19788//19788 19654//19654 19655//19655\nf 19666//19666 19665//19665 19077//19077\nf 19097//19097 19098//19098 19673//19673\nf 19674//19674 19677//19677 19868//19868\nf 19674//19674 19675//19675 19677//19677\nf 19679//19679 19683//19683 19824//19824\nf 19701//19701 19703//19703 19698//19698\nf 19703//19703 19705//19705 19698//19698\nf 19874//19874 19708//19708 19709//19709\nf 19715//19715 19825//19825 19712//19712\nf 19715//19715 19712//19712 19714//19714\nf 19826//19826 19717//19717 19792//19792\nf 19726//19726 19728//19728 19724//19724\nf 18816//18816 18815//18815 19733//19733\nf 18816//18816 19733//19733 19731//19731\nf 19733//19733 18815//18815 19734//19734\nf 19736//19736 19738//19738 19732//19732\nf 19739//19739 19156//19156 19740//19740\nf 19745//19745 19161//19161 19747//19747\nf 19827//19827 19373//19373 19378//19378\nf 19828//19828 19374//19374 19375//19375\nf 19916//19916 19375//19375 19380//19380\nf 19386//19386 19381//19381 19383//19383\nf 19381//19381 19382//19382 19383//19383\nf 19828//19828 19379//19379 19374//19374\nf 19298//19298 19395//19395 19758//19758\nf 19404//19404 19405//19405 20212//20212\nf 19326//19326 19831//19831 19330//19330\nf 19831//19831 19326//19326 19399//19399\nf 19406//19406 19329//19329 19830//19830\nf 19759//19759 19418//19418 19424//19424\nf 19409//19409 19422//19422 19953//19953\nf 19438//19438 18873//18873 19434//19434\nf 19836//19836 19429//19429 19425//19425\nf 19413//19413 19832//19832 19762//19762\nf 19413//19413 19420//19420 19833//19833\nf 19831//19831 19835//19835 19330//19330\nf 19833//19833 19832//19832 19413//19413\nf 19431//19431 19837//19837 19430//19430\nf 19837//19837 19431//19431 19838//19838\nf 19436//19436 19838//19838 19431//19431\nf 19838//19838 19436//19436 19432//19432\nf 19439//19439 19330//19330 19835//19835\nf 19834//19834 19420//19420 19794//19794\nf 19430//19430 19837//19837 19764//19764\nf 19442//19442 19797//19797 19445//19445\nf 19446//19446 19445//19445 19797//19797\nf 19446//19446 19797//19797 19448//19448\nf 19798//19798 19453//19453 19449//19449\nf 19451//19451 19448//19448 19839//19839\nf 19996//19996 19472//19472 20001//20001\nf 19799//19799 19767//19767 19466//19466\nf 19480//19480 19477//19477 19767//19767\nf 19478//19478 19841//19841 19768//19768\nf 19480//19480 19767//19767 19840//19840\nf 20300//20300 19483//19483 19488//19488\nf 19486//19486 19805//19805 19496//19496\nf 19494//19494 19497//19497 19491//19491\nf 19508//19508 19843//19843 19510//19510\nf 19770//19770 19507//19507 19806//19806\nf 19509//19509 19523//19523 19771//19771\nf 19524//19524 19769//19769 19809//19809\nf 19769//19769 19844//19844 19809//19809\nf 19770//19770 19341//19341 19507//19507\nf 19519//19519 19520//19520 19808//19808\nf 19513//19513 19521//19521 20044//20044\nf 19519//19519 19808//19808 19520//19520\nf 18941//18941 19770//19770 19518//19518\nf 19770//19770 18941//18941 19535//19535\nf 19532//19532 19846//19846 19811//19811\nf 19845//19845 19528//19528 19544//19544\nf 20059//20059 19538//19538 19546//19546\nf 19847//19847 19551//19551 19539//19539\nf 19544//19544 19557//19557 19847//19847\nf 19540//19540 19547//19547 19555//19555\nf 20243//20243 19540//19540 19555//19555\nf 20075//20075 19567//19567 20071//20071\nf 19775//19775 19593//19593 19848//19848\nf 19593//19593 19588//19588 19848//19848\nf 19581//19581 19591//19591 19584//19584\nf 19581//19581 19590//19590 19591//19591\nf 19590//19590 19814//19814 19591//19591\nf 19601//19601 19592//19592 20091//20091\nf 19815//19815 19775//19775 19849//19849\nf 20090//20090 19596//19596 19600//19600\nf 19591//19591 19814//19814 19776//19776\nf 19850//19850 19815//19815 19849//19849\nf 19603//19603 19815//19815 19850//19850\nf 19597//19597 19605//19605 19851//19851\nf 19850//19850 19777//19777 19603//19603\nf 19611//19611 19777//19777 19852//19852\nf 19855//19855 19611//19611 19852//19852\nf 19818//19818 19611//19611 19855//19855\nf 20123//20123 19780//19780 19820//19820\nf 19857//19857 19859//19859 19821//19821\nf 19782//19782 19819//19819 19621//19621\nf 19780//19780 19613//19613 19820//19820\nf 19617//19617 19619//19619 19863//19863\nf 19778//19778 19817//19817 19862//19862\nf 19822//19822 19863//19863 19619//19619\nf 19861//19861 19787//19787 19821//19821\nf 19862//19862 19354//19354 19781//19781\nf 19039//19039 19639//19639 19864//19864\nf 19823//19823 19864//19864 19639//19639\nf 19641//19641 19823//19823 19639//19639\nf 19644//19644 19642//19642 19640//19640\nf 19663//19663 19904//19904 20144//20144\nf 19905//19905 19790//19790 20148//20148\nf 19664//19664 19656//19656 19789//19789\nf 20150//20150 20152//20152 19660//19660\nf 19904//19904 19662//19662 19663//19663\nf 19086//19086 19087//19087 19790//19790\nf 19790//19790 19087//19087 19664//19664\nf 20150//20150 19660//19660 19661//19661\nf 19660//19660 19078//19078 19661//19661\nf 19867//19867 19665//19665 20153//20153\nf 19657//19657 19658//19658 19674//19674\nf 19671//19671 19674//19674 19658//19658\nf 19791//19791 19097//19097 19673//19673\nf 19679//19679 20160//20160 20159//20159\nf 19677//19677 19679//19679 19868//19868\nf 19824//19824 19683//19683 19869//19869\nf 19678//19678 20163//20163 19684//19684\nf 19683//19683 19682//19682 19869//19869\nf 19686//19686 19691//19691 19685//19685\nf 19688//19688 19689//19689 19870//19870\nf 19689//19689 19692//19692 19870//19870\nf 19694//19694 19871//19871 19698//19698\nf 19698//19698 19871//19871 19701//19701\nf 19871//19871 19699//19699 19701//19701\nf 19872//19872 19699//19699 19871//19871\nf 19699//19699 19872//19872 19873//19873\nf 19699//19699 19873//19873 19696//19696\nf 19696//19696 19692//19692 19873//19873\nf 19873//19873 19692//19692 19696//19696\nf 19697//19697 19708//19708 19700//19700\nf 19708//19708 19698//19698 19705//19705\nf 19697//19697 19698//19698 19708//19708\nf 19700//19700 19874//19874 19702//19702\nf 19708//19708 19874//19874 19700//19700\nf 19711//19711 19702//19702 19710//19710\nf 19709//19709 19710//19710 19874//19874\nf 19713//19713 19712//19712 19718//19718\nf 19825//19825 19718//19718 19712//19712\nf 19876//19876 19875//19875 19825//19825\nf 19715//19715 19876//19876 19825//19825\nf 19876//19876 19715//19715 19877//19877\nf 19877//19877 19715//19715 19719//19719\nf 19878//19878 19717//19717 19826//19826\nf 19878//19878 19716//19716 19717//19717\nf 19792//19792 19724//19724 19728//19728\nf 19729//19729 19792//19792 19728//19728\nf 19732//19732 19730//19730 19727//19727\nf 19736//19736 19742//19742 19738//19738\nf 19909//19909 19748//19748 19742//19742\nf 19748//19748 19909//19909 20198//20198\nf 19375//19375 19914//19914 19828//19828\nf 19380//19380 19385//19385 19829//19829\nf 19376//19376 19389//19389 19384//19384\nf 19923//19923 19918//19918 19388//19388\nf 19388//19388 19394//19394 19923//19923\nf 19924//19924 19391//19391 19386//19386\nf 19919//19919 19924//19924 19386//19386\nf 19925//19925 19383//19383 19387//19387\nf 19928//19928 19394//19394 19757//19757\nf 19927//19927 19396//19396 19389//19389\nf 19401//19401 19759//19759 19936//19936\nf 20212//20212 19405//19405 19935//19935\nf 19938//19938 19935//19935 19830//19830\nf 19935//19935 19406//19406 19830//19830\nf 19759//19759 19424//19424 19418//19418\nf 19946//19946 19416//19416 19433//19433\nf 19955//19955 19434//19434 20215//20215\nf 19952//19952 19426//19426 19419//19419\nf 19962//19962 19425//19425 20219//20219\nf 19442//19442 19429//19429 19836//19836\nf 19420//19420 19834//19834 19833//19833\nf 19970//19970 19834//19834 19794//19794\nf 19882//19882 19443//19443 19796//19796\nf 19969//19969 19798//19798 19439//19439\nf 19797//19797 19442//19442 19971//19971\nf 19882//19882 19765//19765 19974//19974\nf 19459//19459 19458//19458 19985//19985\nf 19461//19461 19459//19459 19988//19988\nf 19994//19994 19464//19464 19461//19461\nf 19998//19998 19331//19331 19994//19994\nf 19331//19331 19464//19464 19994//19994\nf 19474//19474 19802//19802 19479//19479\nf 19474//19474 19479//19479 20009//20009\nf 19334//19334 19803//19803 19333//19333\nf 20012//20012 19840//19840 19767//19767\nf 20006//20006 19332//19332 19484//19484\nf 19481//19481 19768//19768 19804//19804\nf 19480//19480 19885//19885 19805//19805\nf 20016//20016 19493//19493 20022//20022\nf 19496//19496 19805//19805 19887//19887\nf 19499//19499 20020//20020 19492//19492\nf 19769//19769 19495//19495 19842//19842\nf 20022//20022 19504//19504 20028//20028\nf 19508//19508 19507//19507 19502//19502\nf 20031//20031 19498//19498 19513//19513\nf 20020//20020 19499//19499 19509//19509\nf 19496//19496 19888//19888 19503//19503\nf 19496//19496 19887//19887 19888//19888\nf 19771//19771 19889//19889 19509//19509\nf 20041//20041 19808//19808 20038//20038\nf 20040//20040 19341//19341 19770//19770\nf 19807//19807 19890//19890 19891//19891\nf 19526//19526 19534//19534 20053//20053\nf 20236//20236 19530//19530 20056//20056\nf 19772//19772 19810//19810 19891//19891\nf 19532//19532 19342//19342 19846//19846\nf 19536//19536 19893//19893 19545//19545\nf 20058//20058 19538//19538 20059//20059\nf 20241//20241 19543//19543 19537//19537\nf 19548//19548 19545//19545 20060//20060\nf 20241//20241 19559//19559 19543//19543\nf 19563//19563 19558//19558 19567//19567\nf 19558//19558 20071//20071 19567//19567\nf 19568//19568 20074//20074 19573//19573\nf 19574//19574 19567//19567 20075//20075\nf 20076//20076 19588//19588 19774//19774\nf 20076//20076 19848//19848 19588//19588\nf 19578//19578 19586//19586 19595//19595\nf 19578//19578 19595//19595 20084//20084\nf 20091//20091 19592//19592 20089//20089\nf 19814//19814 19590//19590 20095//20095\nf 20090//20090 19600//19600 20098//20098\nf 19814//19814 19590//19590 20099//20099\nf 19600//19600 19599//19599 20101//20101\nf 19895//19895 19777//19777 19850//19850\nf 20259//20259 19602//19602 20111//20111\nf 19777//19777 19895//19895 19852//19852\nf 19818//19818 19855//19855 19896//19896\nf 19857//19857 19896//19896 19897//19897\nf 20114//20114 19856//19856 19608//19608\nf 19606//19606 19608//19608 19856//19856\nf 19854//19854 19778//19778 19898//19898\nf 19612//19612 20116//20116 19851//19851\nf 19899//19899 19817//19817 19854//19854\nf 19817//19817 19778//19778 19854//19854\nf 19818//19818 19896//19896 19857//19857\nf 19859//19859 19857//19857 19897//19897\nf 19782//19782 19860//19860 19819//19819\nf 19617//19617 19863//19863 19612//19612\nf 19900//19900 19821//19821 19859//19859\nf 19900//19900 19861//19861 19821//19821\nf 19900//19900 19784//19784 19861//19861\nf 19900//19900 20119//20119 19784//19784\nf 19784//19784 19860//19860 19782//19782\nf 20126//20126 19862//19862 19817//19817\nf 20122//20122 19785//19785 19858//19858\nf 19783//19783 19820//19820 19613//19613\nf 19633//19633 19629//19629 19785//19785\nf 19822//19822 19631//19631 19633//19633\nf 19862//19862 19634//19634 19354//19354\nf 19902//19902 19638//19638 20134//20134\nf 19641//19641 19865//19865 19823//19823\nf 19643//19643 19865//19865 19641//19641\nf 19902//19902 20270//20270 19644//19644\nf 19645//19645 20139//20139 20138//20138\nf 20139//20139 19645//19645 19647//19647\nf 19650//19650 19648//19648 19652//19652\nf 19652//19652 20142//20142 19649//19649\nf 19903//19903 19662//19662 19904//19904\nf 19790//19790 19905//19905 19663//19663\nf 19904//19904 19663//19663 19905//19905\nf 19866//19866 19789//19789 19656//19656\nf 19655//19655 20145//20145 19788//19788\nf 19666//19666 19660//19660 20152//20152\nf 20155//20155 19867//19867 20153//20153\nf 19674//19674 19868//19868 19657//19657\nf 19679//19679 20159//20159 19868//19868\nf 20162//20162 19670//19670 20158//20158\nf 19678//19678 19676//19676 20163//20163\nf 19685//19685 20278//20278 20279//20279\nf 19682//19682 19685//19685 20279//20279\nf 19906//19906 19685//19685 19691//19691\nf 19690//19690 19687//19687 20169//20169\nf 19707//19707 19706//19706 19704//19704\nf 19711//19711 19704//19704 19702//19702\nf 19874//19874 19710//19710 19702//19702\nf 19707//19707 19704//19704 19711//19711\nf 19718//19718 19825//19825 19723//19723\nf 19825//19825 19875//19875 19723//19723\nf 19877//19877 19719//19719 19722//19722\nf 20177//20177 19720//19720 19716//19716\nf 19725//19725 19369//19369 19727//19727\nf 19723//19723 20181//20181 19369//19369\nf 19731//19731 19733//19733 19908//19908\nf 20287//20287 19735//19735 19737//19737\nf 19739//19739 19740//19740 20191//20191\nf 19739//19739 20191//20191 20190//20190\nf 19736//19736 20192//20192 19742//19742\nf 19747//19747 19749//19749 20199//20199\nf 19749//19749 19751//19751 20290//20290\nf 20290//20290 19751//19751 20202//20202\nf 19750//19750 20203//20203 19754//19754\nf 19752//19752 19753//19753 19755//19755\nf 19912//19912 19376//19376 19377//19377\nf 19377//19377 19217//19217 19371//19371\nf 19912//19912 19911//19911 19376//19376\nf 20208//20208 19377//19377 19371//19371\nf 20843//20843 20823//20823 21190//21190\nf 19378//19378 19913//19913 19827//19827\nf 19915//19915 19914//19914 19375//19375\nf 19916//19916 19915//19915 19375//19375\nf 19917//19917 19380//19380 19829//19829\nf 19388//19388 19918//19918 19385//19385\nf 19919//19919 19386//19386 19383//19383\nf 19376//19376 19911//19911 19389//19389\nf 19914//19914 19922//19922 19921//19921\nf 19914//19914 19921//19921 19828//19828\nf 19387//19387 19926//19926 19925//19925\nf 19378//19378 19393//19393 19920//19920\nf 20210//20210 19395//19395 20209//20209\nf 19927//19927 19930//19930 19396//19396\nf 19793//19793 19390//19390 19379//19379\nf 19793//19793 19379//19379 19932//19932\nf 19392//19392 19401//19401 19933//19933\nf 19415//19415 19396//19396 19934//19934\nf 19396//19396 19930//19930 19934//19934\nf 19397//19397 19931//19931 19393//19393\nf 19935//19935 19405//19405 19406//19406\nf 19939//19939 19793//19793 20211//20211\nf 19933//19933 19401//19401 19936//19936\nf 19931//19931 19397//19397 19409//19409\nf 19934//19934 19940//19940 19414//19414\nf 19415//19415 19934//19934 19414//19414\nf 19937//19937 19409//19409 19953//19953\nf 19831//19831 19399//19399 19941//19941\nf 19942//19942 19402//19402 19763//19763\nf 19763//19763 19416//19416 19942//19942\nf 19434//19434 19404//19404 19944//19944\nf 19879//19879 19830//19830 19329//19329\nf 19879//19879 19938//19938 19830//19830\nf 19936//19936 19759//19759 19945//19945\nf 19416//19416 19943//19943 19942//19942\nf 19946//19946 19943//19943 19416//19416\nf 19947//19947 19417//19417 19400//19400\nf 19947//19947 19400//19400 19793//19793\nf 19945//19945 19759//19759 19418//19418\nf 19948//19948 19411//19411 19949//19949\nf 19411//19411 19948//19948 19410//19410\nf 19950//19950 19432//19432 19940//19940\nf 19414//19414 19940//19940 19432//19432\nf 19949//19949 19411//19411 19760//19760\nf 19957//19957 19760//19760 19958//19958\nf 19761//19761 19959//19959 19958//19958\nf 19439//19439 19831//19831 19941//19941\nf 20218//20218 19441//19441 19437//19437\nf 19329//19329 19880//19880 19879//19879\nf 19423//19423 19880//19880 19329//19329\nf 19951//19951 19418//19418 19424//19424\nf 20220//20220 20219//20219 19956//19956\nf 19760//19760 19761//19761 19958//19958\nf 19959//19959 19761//19761 19762//19762\nf 19960//19960 19422//19422 19443//19443\nf 19439//19439 19835//19835 19831//19831\nf 20219//20219 19425//19425 19426//19426\nf 19762//19762 19832//19832 19963//19963\nf 19881//19881 19964//19964 19424//19424\nf 19950//19950 19838//19838 19432//19432\nf 19965//19965 19838//19838 19950//19950\nf 19880//19880 19423//19423 19417//19417\nf 19424//19424 19444//19444 19881//19881\nf 19836//19836 19425//19425 19962//19962\nf 19762//19762 19963//19963 19832//19832\nf 19762//19762 19832//19832 19963//19963\nf 19965//19965 19837//19837 19838//19838\nf 19965//19965 19968//19968 19837//19837\nf 19442//19442 19836//19836 19966//19966\nf 19764//19764 19837//19837 19968//19968\nf 19973//19973 19764//19764 19968//19968\nf 19764//19764 19972//19972 19795//19795\nf 19882//19882 19796//19796 19765//19765\nf 19794//19794 19795//19795 19975//19975\nf 19978//19978 19976//19976 19795//19795\nf 19978//19978 19795//19795 19973//19973\nf 19972//19972 19973//19973 19795//19795\nf 19969//19969 19977//19977 19798//19798\nf 19444//19444 19450//19450 19980//19980\nf 19971//19971 19981//19981 19797//19797\nf 19982//19982 19797//19797 20223//20223\nf 19765//19765 19452//19452 19987//19987\nf 19839//19839 19448//19448 19982//19982\nf 19448//19448 19797//19797 19982//19982\nf 19983//19983 19453//19453 19798//19798\nf 19977//19977 19983//19983 19798//19798\nf 19457//19457 19985//19985 19458//19458\nf 19457//19457 19984//19984 19985//19985\nf 19985//19985 19986//19986 19459//19459\nf 19990//19990 19453//19453 19983//19983\nf 19456//19456 19455//19455 19991//19991\nf 19991//19991 19992//19992 19456//19456\nf 19454//19454 19766//19766 19993//19993\nf 19988//19988 19994//19994 19461//19461\nf 19989//19989 19454//19454 19993//19993\nf 19990//19990 19468//19468 19453//19453\nf 19469//19469 19996//19996 19460//19460\nf 19799//19799 19451//19451 19839//19839\nf 19799//19799 19839//19839 19995//19995\nf 19468//19468 19990//19990 20000//20000\nf 20000//20000 20001//20001 19472//19472\nf 20000//20000 19472//19472 19468//19468\nf 19469//19469 19472//19472 19996//19996\nf 19998//19998 20002//20002 19331//19331\nf 19993//19993 19766//19766 19474//19474\nf 19332//19332 19999//19999 19467//19467\nf 19800//19800 19331//19331 20002//20002\nf 20005//20005 19471//19471 19470//19470\nf 19471//19471 20007//20007 19334//19334\nf 19800//19800 20008//20008 19801//19801\nf 20003//20003 19474//19474 20009//20009\nf 20010//20010 20012//20012 19767//19767\nf 19841//19841 19475//19475 19801//19801\nf 20011//20011 19841//19841 19801//19801\nf 19884//19884 19333//19333 19803//19803\nf 19884//19884 19883//19883 19333//19333\nf 19334//19334 19884//19884 19803//19803\nf 20013//20013 19484//19484 19489//19489\nf 19804//19804 19768//19768 20014//20014\nf 19490//19490 20017//20017 19491//19491\nf 20016//20016 20017//20017 19490//19490\nf 19887//19887 19805//19805 19885//19885\nf 20016//20016 19490//19490 19493//19493\nf 20019//20019 19491//19491 20017//20017\nf 20019//20019 19497//19497 19494//19494\nf 20020//20020 20018//20018 19492//19492\nf 19842//19842 20021//20021 19804//19804\nf 20021//20021 19842//19842 19804//19804\nf 19886//19886 20025//20025 19338//19338\nf 20024//20024 19502//19502 19500//19500\nf 19843//19843 19508//19508 19502//19502\nf 19500//19500 19338//19338 20025//20025\nf 19497//19497 20023//20023 19505//19505\nf 19769//19769 19842//19842 19844//19844\nf 20024//20024 19500//19500 19806//19806\nf 20031//20031 20026//20026 19498//19498\nf 20036//20036 19888//19888 19887//19887\nf 19506//19506 20030//20030 19338//19338\nf 19338//19338 20030//20030 19886//19886\nf 20032//20032 19512//19512 19510//19510\nf 19514//19514 19512//19512 20032//20032\nf 19503//19503 20036//20036 19888//19888\nf 19503//19503 19888//19888 20036//20036\nf 19517//19517 19505//19505 20039//20039\nf 19505//19505 20029//20029 20039//20039\nf 19889//19889 20033//20033 19509//19509\nf 19507//19507 20034//20034 19806//19806\nf 19507//19507 19341//19341 20034//20034\nf 20037//20037 20034//20034 19341//19341\nf 19807//19807 19503//19503 19888//19888\nf 20028//20028 19504//19504 20045//20045\nf 19889//19889 19771//19771 20033//20033\nf 20232//20232 20046//20046 19844//19844\nf 20040//20040 19770//19770 19806//19806\nf 19808//19808 20038//20038 19519//19519\nf 20038//20038 19808//19808 19519//19519\nf 20041//20041 19519//19519 19808//19808\nf 20042//20042 20033//20033 19771//19771\nf 20046//20046 19809//19809 19844//19844\nf 20041//20041 19520//19520 19519//19519\nf 20041//20041 20043//20043 19520//19520\nf 19341//19341 19532//19532 20047//20047\nf 19529//19529 20043//20043 20048//20048\nf 20043//20043 19529//19529 19520//19520\nf 19771//19771 19528//19528 20042//20042\nf 19809//19809 20046//20046 19537//19537\nf 20040//20040 19770//19770 19535//19535\nf 20236//20236 20044//20044 19521//19521\nf 20049//20049 19522//19522 19526//19526\nf 19529//19529 20050//20050 19533//19533\nf 19527//19527 19517//19517 20235//20235\nf 20051//20051 19528//19528 19845//19845\nf 19772//19772 19891//19891 20057//20057\nf 20239//20239 19847//19847 19527//19527\nf 19539//19539 19527//19527 19847//19847\nf 19343//19343 19342//19342 19535//19535\nf 20235//20235 19845//19845 19847//19847\nf 19544//19544 19847//19847 19845//19845\nf 20058//20058 19534//19534 19538//19538\nf 20060//20060 19536//19536 20054//20054\nf 20059//20059 19546//19546 19550//19550\nf 20055//20055 19811//19811 19846//19846\nf 20062//20062 19548//19548 20060//20060\nf 19548//19548 20063//20063 19558//19558\nf 19343//19343 19554//19554 20064//20064\nf 19772//19772 20057//20057 19773//19773\nf 20057//20057 20065//20065 19773//19773\nf 19812//19812 19773//19773 20065//20065\nf 20066//20066 19556//19556 20069//20069\nf 20067//20067 19562//19562 19559//19559\nf 20070//20070 20064//20064 19554//19554\nf 19812//19812 20065//20065 20068//20068\nf 19556//19556 19565//19565 20069//20069\nf 20067//20067 20072//20072 19562//19562\nf 20070//20070 19554//19554 19566//19566\nf 20243//20243 19555//19555 19564//19564\nf 20243//20243 19564//19564 20073//20073\nf 20068//20068 19774//19774 19812//19812\nf 19565//19565 19570//19570 20077//20077\nf 20069//20069 19565//19565 20077//20077\nf 19568//19568 20072//20072 20074//20074\nf 20073//20073 19894//19894 20078//20078\nf 19564//19564 19894//19894 20073//20073\nf 20076//20076 19774//19774 20068//20068\nf 19894//19894 19572//19572 19578//19578\nf 19580//19580 19576//19576 20079//20079\nf 19574//19574 20080//20080 19582//19582\nf 19775//19775 19848//19848 20085//20085\nf 20083//20083 19585//19585 19580//19580\nf 20087//20087 19585//19585 20083//20083\nf 20089//20089 19592//19592 19582//19582\nf 19849//19849 19775//19775 20085//20085\nf 19589//19589 19594//19594 20088//20088\nf 19585//19585 20087//20087 19813//19813\nf 19813//19813 20087//20087 19350//19350\nf 20094//20094 19591//19591 19776//19776\nf 20096//20096 20094//20094 19776//19776\nf 19849//19849 20092//20092 19850//19850\nf 20092//20092 20251//20251 19850//19850\nf 19850//19850 20251//20251 20092//20092\nf 19590//19590 19350//19350 20095//20095\nf 19590//19590 19814//19814 20099//20099\nf 20096//20096 19776//19776 19816//19816\nf 20096//20096 19816//19816 20100//20100\nf 19595//19595 19597//19597 20097//20097\nf 19850//19850 20092//20092 19895//19895\nf 20090//20090 20098//20098 20101//20101\nf 20098//20098 19600//19600 20101//20101\nf 20103//20103 19601//19601 20091//20091\nf 19814//19814 20099//20099 19776//19776\nf 20105//20105 19816//19816 19776//19776\nf 20100//20100 19816//19816 19776//19776\nf 20106//20106 19851//19851 20104//20104\nf 20105//20105 19776//19776 19816//19816\nf 20100//20100 19776//19776 20105//20105\nf 19601//19601 20103//20103 19604//19604\nf 19852//19852 19895//19895 20102//20102\nf 20104//20104 19851//19851 20106//20106\nf 19855//19855 19852//19852 20102//20102\nf 19896//19896 20107//20107 19897//19897\nf 20256//20256 20257//20257 19897//19897\nf 19855//19855 20102//20102 19896//19896\nf 19896//19896 20102//20102 20107//20107\nf 19606//19606 20113//20113 19602//19602\nf 19853//19853 19604//19604 20109//20109\nf 19856//19856 20113//20113 19606//19606\nf 20264//20264 19854//19854 19898//19898\nf 19859//19859 19897//19897 20110//20110\nf 20262//20262 20117//20117 20110//20110\nf 19608//19608 19779//19779 20114//20114\nf 19899//19899 19854//19854 20115//20115\nf 19609//19609 19853//19853 20109//20109\nf 19900//19900 20110//20110 20117//20117\nf 19900//19900 19859//19859 20110//20110\nf 20263//20263 20120//20120 19819//19819\nf 19819//19819 20118//20118 19779//19779\nf 19819//19819 20120//20120 20118//20118\nf 20122//20122 19609//19609 20109//20109\nf 20115//20115 20124//20124 19899//19899\nf 19863//19863 20121//20121 19612//19612\nf 19900//19900 20117//20117 20119//20119\nf 20263//20263 20119//20119 20262//20262\nf 20119//20119 20263//20263 19860//19860\nf 19780//19780 20264//20264 19778//19778\nf 19609//19609 20122//20122 19858//19858\nf 20119//20119 19860//19860 19784//19784\nf 20123//20123 19820//19820 20125//20125\nf 19899//19899 20124//20124 19817//19817\nf 20126//20126 19817//19817 20124//20124\nf 20125//20125 19820//19820 19783//19783\nf 20125//20125 19783//19783 20127//20127\nf 19785//19785 19614//19614 19858//19858\nf 20267//20267 19785//19785 20122//20122\nf 19901//19901 19633//19633 19785//19785\nf 19901//19901 19785//19785 20269//20269\nf 19633//19633 19901//19901 19822//19822\nf 20127//20127 19783//19783 19630//19630\nf 19630//19630 20129//20129 20127//20127\nf 20128//20128 19634//19634 19862//19862\nf 20128//20128 19862//19862 20126//20126\nf 20128//20128 20130//20130 19634//19634\nf 20130//20130 20128//20128 19634//19634\nf 20130//20130 19637//19637 19634//19634\nf 20131//20131 20130//20130 20128//20128\nf 20131//20131 19637//19637 20130//20130\nf 20131//20131 19361//19361 19637//19637\nf 19630//19630 19360//19360 19864//19864\nf 20131//20131 20132//20132 19361//19361\nf 20133//20133 19864//19864 19823//19823\nf 19902//19902 19640//19640 19638//19638\nf 19823//19823 20135//20135 20133//20133\nf 19865//19865 20135//20135 19823//19823\nf 19644//19644 19640//19640 19902//19902\nf 20136//20136 20135//20135 19643//19643\nf 20135//20135 19865//19865 19643//19643\nf 20137//20137 19646//19646 19644//19644\nf 20138//20138 19643//19643 19645//19645\nf 20272//20272 19646//19646 20137//20137\nf 20141//20141 19652//19652 19648//19648\nf 20140//20140 19652//19652 20141//20141\nf 19649//19649 19651//19651 19652//19652\nf 20144//20144 20143//20143 19904//19904\nf 19903//19903 19904//19904 20143//20143\nf 20143//20143 20146//20146 19662//19662\nf 20146//20146 19655//19655 19662//19662\nf 19904//19904 19663//19663 20144//20144\nf 20147//20147 19904//19904 19905//19905\nf 20144//20144 19904//19904 20147//20147\nf 20148//20148 19790//19790 19664//19664\nf 20274//20274 19905//19905 20148//20148\nf 20148//20148 19664//19664 19866//19866\nf 20148//20148 19866//19866 19664//19664\nf 20148//20148 19664//19664 19866//19866\nf 20148//20148 19866//19866 20149//20149\nf 19866//19866 19656//19656 20149//20149\nf 19661//19661 20151//20151 20150//20150\nf 19661//19661 19788//19788 20151//20151\nf 20151//20151 19788//19788 20145//20145\nf 19666//19666 19077//19077 20154//20154\nf 19077//19077 19666//19666 20154//20154\nf 19868//19868 19656//19656 19657//19657\nf 19667//19667 19867//19867 20155//20155\nf 20157//20157 19667//19667 20155//20155\nf 19791//19791 19673//19673 19670//19670\nf 20277//20277 20161//20161 19824//19824\nf 20162//20162 19676//19676 19791//19791\nf 19869//19869 20277//20277 19824//19824\nf 20279//20279 20278//20278 19682//19682\nf 19681//19681 19678//19678 19684//19684\nf 19681//19681 19684//19684 20164//20164\nf 20278//20278 19869//19869 19682//19682\nf 19681//19681 20164//20164 19684//19684\nf 19684//19684 20164//20164 19687//19687\nf 20165//20165 20166//20166 19365//19365\nf 19691//19691 19365//19365 20166//20166\nf 19691//19691 20166//20166 19906//19906\nf 19687//19687 20164//20164 20281//20281\nf 19365//19365 20167//20167 20165//20165\nf 19367//19367 20167//20167 19366//19366\nf 19365//19365 19366//19366 20167//20167\nf 20168//20168 19367//19367 19688//19688\nf 20170//20170 19694//19694 20169//20169\nf 19694//19694 19690//19690 20169//20169\nf 19870//19870 20171//20171 19688//19688\nf 20171//20171 19692//19692 20172//20172\nf 19692//19692 20171//20171 19870//19870\nf 20170//20170 19871//19871 19694//19694\nf 20173//20173 19871//19871 20170//20170\nf 19872//19872 19871//19871 20173//20173\nf 20174//20174 19872//19872 20173//20173\nf 20174//20174 19873//19873 19872//19872\nf 20175//20175 19873//19873 20174//20174\nf 20175//20175 19696//19696 19873//19873\nf 19692//19692 19696//19696 20172//20172\nf 20172//20172 19696//19696 20175//20175\nf 19720//19720 20177//20177 19722//19722\nf 19878//19878 20177//20177 19716//19716\nf 19877//19877 20176//20176 20178//20178\nf 19877//19877 19722//19722 20176//20176\nf 20178//20178 19876//19876 19877//19877\nf 20179//20179 19875//19875 19876//19876\nf 20283//20283 20177//20177 19878//19878\nf 19792//19792 19729//19729 19826//19826\nf 20183//20183 20181//20181 19723//19723\nf 20182//20182 20183//20183 19723//19723\nf 20182//20182 19723//19723 19875//19875\nf 19729//19729 19731//19731 19826//19826\nf 20181//20181 19727//19727 19369//19369\nf 20285//20285 20181//20181 20183//20183\nf 20184//20184 19731//19731 20185//20185\nf 19908//19908 19733//19733 20185//20185\nf 19731//19731 19908//19908 20185//20185\nf 19907//19907 19727//19727 20181//20181\nf 20186//20186 20185//20185 19733//19733\nf 19732//19732 19727//19727 19907//19907\nf 19733//19733 19734//19734 20188//20188\nf 20186//20186 19733//19733 20188//20188\nf 19732//19732 20189//20189 19736//19736\nf 19737//19737 19739//19739 20287//20287\nf 20193//20193 20192//20192 19736//19736\nf 20189//20189 20193//20193 19736//19736\nf 20194//20194 19740//19740 19741//19741\nf 20194//20194 20191//20191 19740//19740\nf 20193//20193 20195//20195 20192//20192\nf 20192//20192 20195//20195 19742//19742\nf 20196//20196 20194//20194 19741//19741\nf 20196//20196 19741//19741 19743//19743\nf 20198//20198 19742//19742 20195//20195\nf 19744//19744 19745//19745 20197//20197\nf 19744//19744 20196//20196 19743//19743\nf 20197//20197 19747//19747 20199//20199\nf 19747//19747 20197//20197 19745//19745\nf 19909//19909 19742//19742 20198//20198\nf 20198//20198 20200//20200 19748//19748\nf 20200//20200 20201//20201 19748//19748\nf 19748//19748 20201//20201 19750//19750\nf 20201//20201 20203//20203 19750//19750\nf 20202//20202 19753//19753 19752//19752\nf 19752//19752 19753//19753 20202//20202\nf 20204//20204 19752//19752 19755//19755\nf 20406//20406 19912//19912 20590//20590\nf 20207//20207 19827//19827 19910//19910\nf 20590//20590 19912//19912 20208//20208\nf 21306//21306 21189//21189 21307//21307\nf 19910//19910 19827//19827 19913//19913\nf 19922//19922 19914//19914 19915//19915\nf 19829//19829 19385//19385 19917//19917\nf 19917//19917 19385//19385 19918//19918\nf 19913//19913 19378//19378 19920//19920\nf 19924//19924 20209//20209 19395//19395\nf 19395//19395 19391//19391 19924//19924\nf 19919//19919 19383//19383 19925//19925\nf 19923//19923 19394//19394 19928//19928\nf 19921//19921 19379//19379 19828//19828\nf 19392//19392 19929//19929 19387//19387\nf 19929//19929 19926//19926 19387//19387\nf 19932//19932 19379//19379 19921//19921\nf 19932//19932 20211//20211 19793//19793\nf 19944//19944 19404//19404 20212//20212\nf 19402//19402 20213//20213 19941//19941\nf 19402//19402 19941//19941 19399//19399\nf 19402//19402 20214//20214 20213//20213\nf 20214//20214 19402//19402 19942//19942\nf 19947//19947 19793//19793 19939//19939\nf 19419//19419 19948//19948 19952//19952\nf 19419//19419 19410//19410 19948//19948\nf 19760//19760 19957//19957 19949//19949\nf 19953//19953 19422//19422 19960//19960\nf 19954//19954 19438//19438 19955//19955\nf 19437//19437 19438//19438 19954//19954\nf 19956//19956 19426//19426 19952//19952\nf 19969//19969 19439//19439 19941//19941\nf 19941//19941 20213//20213 19969//19969\nf 20219//20219 19426//19426 19956//19956\nf 19963//19963 19959//19959 19762//19762\nf 19961//19961 19880//19880 19417//19417\nf 19881//19881 19444//19444 19964//19964\nf 19444//19444 19967//19967 19964//19964\nf 19443//19443 19882//19882 19974//19974\nf 19833//19833 19963//19963 19832//19832\nf 19970//19970 20221//20221 19833//19833\nf 19970//19970 19833//19833 19834//19834\nf 19833//19833 20221//20221 19963//19963\nf 19970//19970 19794//19794 20297//20297\nf 19973//19973 19972//19972 19764//19764\nf 19442//19442 19966//19966 19971//19971\nf 19974//19974 19765//19765 19979//19979\nf 20297//20297 19794//19794 19975//19975\nf 19795//19795 19976//19976 19975//19975\nf 20297//20297 19976//19976 19978//19978\nf 20297//20297 19975//19975 19976//19976\nf 19981//19981 19971//19971 20222//20222\nf 19979//19979 19765//19765 19987//19987\nf 19455//19455 19460//19460 19991//19991\nf 19460//19460 19997//19997 19991//19991\nf 19993//19993 19474//19474 20003//20003\nf 20004//20004 19799//19799 19995//19995\nf 19332//19332 20006//20006 19999//19999\nf 20224//20224 19767//19767 19799//19799\nf 20005//20005 19470//19470 19333//19333\nf 20005//20005 20007//20007 19471//19471\nf 19799//19799 20004//20004 20224//20224\nf 19883//19883 20005//20005 19333//19333\nf 20010//20010 19767//19767 20224//20224\nf 20006//20006 19484//19484 20013//20013\nf 20008//20008 20011//20011 19801//19801\nf 20009//20009 19479//19479 19483//19483\nf 19334//19334 20007//20007 19884//19884\nf 20299//20299 19840//19840 20012//20012\nf 20225//20225 19841//19841 20011//20011\nf 20009//20009 19483//19483 20226//20226\nf 19885//19885 19480//19480 20012//20012\nf 19768//19768 19841//19841 20225//20225\nf 20014//20014 19768//19768 20225//20225\nf 20013//20013 19489//19489 20018//20018\nf 19489//19489 19492//19492 20018//20018\nf 19842//19842 19804//19804 20014//20014\nf 19887//19887 19885//19885 20228//20228\nf 19885//19885 20227//20227 20228//20228\nf 20019//20019 19494//19494 19491//19491\nf 20017//20017 20019//20019 20023//20023\nf 20229//20229 20021//20021 19842//19842\nf 20023//20023 19497//19497 20019//20019\nf 20015//20015 19488//19488 19498//19498\nf 20022//20022 19493//19493 19504//19504\nf 20027//20027 19510//19510 19843//19843\nf 20030//20030 20025//20025 19886//19886\nf 20027//20027 19843//19843 20230//20230\nf 20029//20029 19505//19505 20023//20023\nf 20033//20033 20020//20020 19509//19509\nf 20232//20232 19844//19844 19842//19842\nf 20027//20027 20231//20231 19510//19510\nf 20032//20032 19510//19510 20231//20231\nf 20029//20029 20023//20023 20306//20306\nf 19806//19806 20030//20030 19506//19506\nf 20035//20035 19514//19514 20032//20032\nf 19808//19808 19514//19514 20035//20035\nf 20038//20038 19808//19808 20035//20035\nf 20233//20233 20031//20031 19513//19513\nf 19770//19770 19806//19806 19506//19506\nf 19770//19770 20040//20040 19806//19806\nf 19807//19807 19888//19888 19890//19890\nf 19516//19516 19522//19522 20045//20045\nf 20047//20047 20037//20037 19341//19341\nf 20047//20047 19532//19532 20238//20238\nf 20235//20235 19517//19517 20039//20039\nf 20045//20045 19522//19522 20049//20049\nf 20239//20239 19527//19527 20235//20235\nf 19528//19528 20234//20234 20042//20042\nf 19528//19528 20051//20051 20234//20234\nf 19535//19535 19341//19341 20040//20040\nf 19341//19341 19535//19535 19342//19342\nf 20050//20050 19529//19529 20048//20048\nf 20052//20052 19537//19537 20046//20046\nf 19533//19533 20050//20050 20054//20054\nf 20240//20240 20057//20057 20237//20237\nf 20057//20057 19891//19891 20237//20237\nf 20235//20235 20051//20051 19845//19845\nf 20235//20235 20039//20039 20051//20051\nf 19536//19536 19533//19533 20054//20054\nf 20235//20235 19847//19847 20239//20239\nf 20055//20055 19846//19846 19342//19342\nf 19532//19532 19811//19811 19892//19892\nf 20049//20049 20053//20053 20508//20508\nf 19846//19846 20055//20055 19342//19342\nf 20060//20060 19893//19893 19536//19536\nf 19342//19342 19343//19343 19846//19846\nf 19545//19545 19893//19893 20060//20060\nf 19530//19530 19540//19540 20056//20056\nf 20059//20059 19550//19550 20061//20061\nf 20065//20065 20242//20242 20068//20068\nf 19846//19846 19343//19343 20064//20064\nf 19548//19548 20062//20062 20063//20063\nf 20065//20065 20057//20057 20240//20240\nf 20065//20065 20240//20240 20242//20242\nf 19550//19550 19556//19556 20066//20066\nf 20067//20067 19559//19559 20241//20241\nf 20246//20246 20242//20242 20244//20244\nf 20245//20245 20064//20064 20070//20070\nf 19558//19558 20063//20063 20071//20071\nf 20246//20246 20068//20068 20242//20242\nf 19568//19568 19562//19562 20072//20072\nf 20076//20076 20246//20246 20247//20247\nf 20076//20076 20068//20068 20246//20246\nf 19566//19566 19571//19571 20245//20245\nf 20077//20077 19570//19570 19579//19579\nf 19576//19576 19573//19573 20074//20074\nf 19576//19576 20074//20074 20079//20079\nf 20080//20080 19574//19574 20075//20075\nf 19848//19848 20076//20076 20247//20247\nf 20078//20078 19894//19894 19578//19578\nf 19848//19848 20247//20247 20085//20085\nf 20083//20083 19580//19580 20079//20079\nf 19571//19571 19584//19584 20081//20081\nf 20078//20078 19578//19578 20084//20084\nf 20082//20082 19583//19583 20086//20086\nf 19583//19583 19589//19589 20086//20086\nf 20251//20251 19849//19849 20250//20250\nf 20251//20251 20252//20252 19895//19895\nf 19350//19350 20087//20087 20093//20093\nf 20251//20251 20092//20092 19849//19849\nf 20251//20251 19895//19895 20092//20092\nf 19594//19594 19596//19596 20090//20090\nf 19895//19895 20252//20252 20102//20102\nf 19350//19350 20093//20093 20095//20095\nf 20099//20099 19814//19814 20095//20095\nf 20102//20102 20252//20252 20253//20253\nf 20106//20106 19597//19597 19851//19851\nf 20106//20106 20097//20097 19597//19597\nf 20102//20102 20253//20253 20254//20254\nf 20107//20107 20102//20102 20254//20254\nf 19599//19599 19602//19602 20259//20259\nf 20109//20109 19604//19604 20103//20103\nf 19897//19897 20107//20107 20256//20256\nf 20110//20110 20257//20257 20258//20258\nf 20100//20100 20105//20105 20264//20264\nf 20255//20255 20100//20100 20108//20108\nf 20255//20255 20108//20108 20112//20112\nf 19851//19851 20116//20116 20106//20106\nf 20257//20257 20110//20110 19897//19897\nf 20258//20258 20260//20260 20110//20110\nf 20113//20113 20111//20111 19602//19602\nf 20261//20261 20115//20115 19854//19854\nf 20260//20260 20262//20262 20110//20110\nf 19856//19856 20114//20114 20113//20113\nf 19898//19898 19778//19778 20264//20264\nf 19612//19612 20121//20121 20116//20116\nf 20119//20119 20117//20117 20262//20262\nf 19860//19860 20263//20263 19819//19819\nf 20123//20123 20265//20265 19780//19780\nf 19822//19822 20269//20269 20266//20266\nf 19863//19863 19822//19822 20266//20266\nf 20269//20269 19822//19822 19901//19901\nf 20370//20370 20127//20127 20129//20129\nf 19634//19634 20128//20128 20130//20130\nf 20132//20132 20134//20134 19638//19638\nf 19361//19361 20132//20132 19638//19638\nf 20136//20136 20271//20271 20135//20135\nf 19644//19644 20270//20270 20137//20137\nf 19643//19643 20138//20138 20136//20136\nf 20140//20140 19648//19648 19646//19646\nf 20139//20139 20273//20273 20138//20138\nf 20139//20139 19647//19647 19649//19649\nf 20140//20140 20141//20141 19648//19648\nf 20140//20140 20142//20142 19652//19652\nf 20151//20151 20146//20146 20372//20372\nf 19662//19662 19903//19903 20143//20143\nf 20274//20274 20147//20147 19905//19905\nf 20154//20154 20153//20153 19666//19666\nf 20153//20153 19665//19665 19666//19666\nf 19868//19868 20149//20149 19656//19656\nf 19868//19868 20156//20156 20149//20149\nf 20275//20275 19669//19669 19667//19667\nf 19670//19670 19669//19669 20158//20158\nf 20156//20156 19868//19868 20159//20159\nf 20161//20161 20277//20277 20322//20322\nf 20159//20159 19824//19824 20322//20322\nf 19679//19679 19824//19824 20159//20159\nf 20160//20160 19679//19679 20159//20159\nf 19791//19791 19670//19670 20162//20162\nf 20163//20163 19676//19676 20162//20162\nf 19869//19869 20276//20276 20277//20277\nf 20278//20278 20276//20276 19869//19869\nf 20166//20166 20280//20280 19906//19906\nf 19687//19687 20281//20281 20169//20169\nf 20168//20168 20167//20167 19367//19367\nf 20170//20170 20169//20169 20282//20282\nf 20176//20176 19722//19722 20177//20177\nf 20179//20179 19876//19876 20178//20178\nf 20283//20283 19878//19878 20180//20180\nf 19878//19878 19826//19826 20180//20180\nf 20182//20182 19875//19875 20284//20284\nf 20180//20180 19826//19826 20184//20184\nf 19826//19826 19731//19731 20184//20184\nf 20182//20182 20285//20285 20183//20183\nf 19907//19907 20181//20181 20286//20286\nf 20286//20286 20181//20181 20285//20285\nf 20187//20187 19907//19907 20286//20286\nf 19734//19734 19735//19735 20287//20287\nf 20189//20189 19907//19907 20187//20187\nf 20325//20325 19734//19734 20287//20287\nf 19907//19907 20189//20189 19732//19732\nf 20187//20187 20288//20288 20189//20189\nf 20289//20289 19744//19744 20197//20197\nf 20196//20196 19744//19744 20289//20289\nf 20199//20199 19749//19749 20290//20290\nf 19751//19751 19752//19752 20202//20202\nf 20204//20204 20202//20202 19752//19752\nf 20204//20204 19754//19754 20203//20203\nf 20204//20204 19755//19755 19754//19754\nf 20206//20206 19756//19756 19373//19373\nf 19373//19373 19827//19827 20207//20207\nf 20206//20206 20207//20207 19910//19910\nf 19912//19912 19377//19377 20208//20208\nf 19371//19371 19372//19372 20205//20205\nf 20208//20208 19371//19371 20205//20205\nf 19911//19911 19927//19927 19389//19389\nf 19928//19928 19757//19757 19758//19758\nf 20210//20210 19928//19928 19758//19758\nf 19758//19758 19395//19395 20210//20210\nf 19920//19920 19393//19393 19931//19931\nf 19929//19929 19392//19392 19933//19933\nf 19932//19932 19921//19921 20211//20211\nf 19931//19931 19409//19409 19937//19937\nf 19434//19434 19944//19944 20291//20291\nf 20215//20215 19434//19434 20291//20291\nf 19955//19955 19438//19438 19434//19434\nf 19945//19945 19418//19418 19951//19951\nf 19433//19433 19440//19440 19946//19946\nf 19440//19440 20216//20216 19946//19946\nf 20216//20216 19440//19440 19441//19441\nf 20292//20292 20216//20216 19441//19441\nf 19417//19417 20217//20217 19961//19961\nf 20330//20330 19969//19969 19941//19941\nf 19836//19836 19962//19962 19966//19966\nf 19966//19966 19962//19962 20219//20219\nf 19880//19880 19961//19961 20293//20293\nf 19443//19443 19974//19974 19960//19960\nf 20453//20453 20222//20222 20333//20333\nf 19967//19967 19444//19444 20294//20294\nf 20296//20296 19970//19970 20297//20297\nf 19978//19978 19973//19973 20339//20339\nf 20223//20223 19797//19797 19981//19981\nf 19450//19450 19454//19454 19989//19989\nf 19457//19457 19456//19456 19984//19984\nf 19984//19984 19456//19456 19992//19992\nf 19995//19995 19839//19839 19982//19982\nf 19987//19987 19452//19452 19467//19467\nf 19460//19460 19996//19996 19997//19997\nf 19996//19996 20386//20386 19997//19997\nf 19995//19995 20224//20224 20004//20004\nf 20002//20002 19998//19998 19800//19800\nf 20298//20298 20224//20224 19995//19995\nf 20010//20010 20224//20224 20299//20299\nf 20012//20012 20010//20010 20299//20299\nf 19480//19480 19840//19840 20299//20299\nf 20012//20012 19480//19480 20299//20299\nf 20227//20227 19885//19885 20012//20012\nf 20012//20012 20299//20299 20342//20342\nf 20014//20014 20225//20225 20301//20301\nf 20300//20300 19488//19488 20015//20015\nf 20014//20014 20301//20301 20302//20302\nf 19842//19842 20014//20014 20302//20302\nf 20019//20019 20017//20017 20023//20023\nf 19842//19842 20302//20302 20229//20229\nf 19843//19843 19502//19502 20230//20230\nf 20033//20033 20304//20304 20020//20020\nf 20021//20021 20232//20232 19842//19842\nf 19500//19500 20030//20030 19806//19806\nf 19500//19500 20025//20025 20030//20030\nf 20034//20034 20024//20024 19806//19806\nf 20231//20231 20027//20027 20032//20032\nf 19887//19887 20228//20228 20036//20036\nf 20036//20036 20228//20228 20305//20305\nf 19504//19504 19516//19516 20045//20045\nf 19890//19890 19888//19888 20036//20036\nf 19513//19513 20044//20044 20233//20233\nf 19890//19890 20036//20036 20307//20307\nf 20307//20307 20305//20305 20308//20308\nf 20307//20307 20036//20036 20305//20305\nf 20039//20039 20029//20029 20306//20306\nf 19891//19891 19890//19890 20307//20307\nf 19891//19891 20307//20307 20237//20237\nf 20039//20039 20234//20234 20051//20051\nf 20237//20237 20307//20307 20309//20309\nf 20049//20049 19526//19526 20053//20053\nf 20052//20052 20046//20046 20350//20350\nf 20054//20054 20050//20050 20507//20507\nf 19537//19537 20052//20052 20241//20241\nf 20055//20055 19892//19892 19811//19811\nf 20063//20063 20062//20062 20060//20060\nf 20061//20061 19550//19550 20066//20066\nf 20240//20240 20311//20311 20242//20242\nf 20055//20055 19846//19846 20064//20064\nf 20353//20353 20064//20064 20245//20245\nf 20311//20311 20244//20244 20242//20242\nf 20312//20312 20066//20066 20069//20069\nf 20070//20070 19566//19566 20245//20245\nf 20313//20313 20246//20246 20244//20244\nf 20357//20357 20073//20073 20078//20078\nf 20247//20247 20246//20246 20313//20313\nf 19571//19571 20314//20314 20245//20245\nf 20077//20077 19579//19579 20248//20248\nf 20314//20314 19571//19571 20081//20081\nf 20081//20081 20249//20249 20314//20314\nf 20075//20075 20315//20315 20080//20080\nf 20247//20247 20313//20313 20085//20085\nf 19579//19579 19583//19583 20082//20082\nf 20094//20094 20249//20249 20081//20081\nf 19584//19584 20094//20094 20081//20081\nf 19582//19582 20080//20080 20089//20089\nf 20085//20085 20250//20250 19849//19849\nf 20085//20085 20316//20316 20250//20250\nf 19589//19589 20088//20088 20086//20086\nf 20094//20094 19584//19584 19591//19591\nf 20251//20251 20250//20250 20316//20316\nf 20084//20084 19595//19595 20097//20097\nf 20363//20363 20084//20084 20097//20097\nf 20088//20088 19594//19594 20090//20090\nf 20107//20107 20254//20254 20256//20256\nf 20257//20257 20256//20256 20258//20258\nf 20105//20105 19776//19776 20099//20099\nf 20366//20366 20109//20109 20103//20103\nf 20100//20100 20264//20264 20108//20108\nf 20260//20260 20258//20258 20262//20262\nf 20263//20263 20262//20262 20365//20365\nf 20261//20261 19854//19854 20264//20264\nf 19779//19779 20118//20118 20114//20114\nf 20264//20264 19780//19780 20265//20265\nf 20264//20264 20265//20265 20108//20108\nf 20112//20112 20123//20123 20125//20125\nf 20318//20318 20112//20112 20125//20125\nf 20121//20121 20319//20319 20116//20116\nf 19863//19863 20266//20266 20121//20121\nf 20320//20320 20125//20125 20268//20268\nf 20369//20369 20266//20266 20269//20269\nf 20267//20267 20369//20369 20269//20269\nf 20125//20125 20127//20127 20268//20268\nf 20129//20129 19630//19630 19864//19864\nf 20371//20371 20129//20129 19864//19864\nf 19902//19902 20134//20134 20270//20270\nf 20140//20140 19646//19646 20321//20321\nf 20321//20321 19646//19646 20272//20272\nf 20139//20139 19649//19649 20142//20142\nf 20140//20140 20139//20139 20142//20142\nf 20146//20146 20145//20145 19655//19655\nf 20159//20159 20148//20148 20149//20149\nf 19667//19667 20157//20157 20275//20275\nf 20158//20158 19669//19669 20275//20275\nf 19824//19824 20161//20161 20322//20322\nf 20278//20278 20277//20277 20276//20276\nf 20163//20163 20164//20164 19684//19684\nf 20323//20323 19906//19906 20280//20280\nf 19906//19906 20278//20278 19685//19685\nf 20166//20166 20165//20165 20280//20280\nf 20171//20171 20168//20168 19688//19688\nf 20175//20175 20174//20174 20173//20173\nf 20176//20176 20177//20177 20283//20283\nf 20180//20180 20184//20184 20185//20185\nf 20324//20324 20286//20286 20285//20285\nf 20188//20188 19734//19734 20325//20325\nf 20325//20325 20287//20287 20190//20190\nf 20326//20326 20202//20202 20204//20204\nf 20405//20405 19911//19911 19912//19912\nf 20327//20327 19915//19915 19916//19916\nf 19915//19915 20327//20327 19922//19922\nf 20419//20419 19920//19920 19931//19931\nf 20211//20211 19921//19921 20329//20329\nf 19934//19934 19930//19930 19927//19927\nf 19939//19939 20211//20211 19947//19947\nf 19942//19942 20213//20213 20214//20214\nf 19943//19943 20213//20213 19942//19942\nf 20424//20424 19937//19937 20433//20433\nf 20217//20217 19417//19417 19947//19947\nf 20213//20213 19941//19941 19969//19969\nf 20330//20330 19941//19941 20213//20213\nf 19947//19947 20331//20331 20217//20217\nf 19951//19951 19424//19424 19964//19964\nf 19880//19880 20293//20293 19879//19879\nf 20331//20331 19961//19961 20217//20217\nf 19957//19957 19958//19958 19959//19959\nf 20332//20332 19957//19957 19959//19959\nf 19444//19444 19980//19980 20294//20294\nf 20221//20221 20295//20295 19963//19963\nf 20295//20295 20334//20334 19963//19963\nf 20335//20335 19973//19973 19968//19968\nf 20222//20222 19971//19971 19966//19966\nf 20221//20221 19970//19970 20295//20295\nf 19970//19970 20296//20296 20295//20295\nf 19977//19977 19969//19969 20336//20336\nf 20222//20222 20337//20337 19981//19981\nf 20384//20384 20296//20296 20338//20338\nf 20296//20296 20297//20297 20338//20338\nf 19978//19978 20338//20338 20297//20297\nf 19977//19977 20336//20336 19983//19983\nf 19990//19990 19983//19983 20336//20336\nf 19980//19980 19450//19450 19989//19989\nf 20223//20223 19981//19981 20337//20337\nf 20458//20458 19985//19985 19984//19984\nf 19987//19987 19467//19467 19999//19999\nf 20223//20223 19995//19995 19982//19982\nf 19988//19988 19998//19998 19994//19994\nf 20007//20007 20005//20005 19883//19883\nf 20299//20299 20224//20224 20340//20340\nf 20224//20224 20298//20298 20340//20340\nf 20225//20225 20011//20011 20341//20341\nf 20226//20226 19483//19483 20300//20300\nf 20012//20012 20342//20342 20227//20227\nf 20301//20301 20011//20011 20341//20341\nf 20482//20482 20343//20343 20018//20018\nf 20343//20343 20013//20013 20018//20018\nf 20017//20017 20344//20344 20019//20019\nf 20023//20023 20019//20019 20344//20344\nf 20228//20228 20227//20227 20390//20390\nf 20482//20482 20018//20018 20020//20020\nf 20229//20229 20302//20302 20301//20301\nf 20230//20230 19502//19502 20024//20024\nf 20015//20015 19498//19498 20026//20026\nf 20493//20493 20620//20620 20022//20022\nf 20023//20023 20345//20345 20306//20306\nf 20030//20030 19886//19886 20025//20025\nf 20030//20030 20025//20025 19886//19886\nf 20305//20305 20228//20228 20391//20391\nf 20346//20346 20232//20232 20021//20021\nf 20037//20037 20348//20348 20034//20034\nf 20047//20047 20034//20034 20348//20348\nf 20503//20503 20233//20233 20044//20044\nf 20234//20234 20039//20039 20306//20306\nf 20042//20042 20234//20234 20033//20033\nf 20046//20046 20232//20232 20346//20346\nf 20308//20308 20305//20305 20391//20391\nf 20234//20234 20347//20347 20033//20033\nf 20047//20047 20348//20348 20037//20037\nf 20309//20309 20307//20307 20308//20308\nf 20046//20046 20349//20349 20350//20350\nf 20238//20238 19532//19532 19892//19892\nf 20053//20053 19534//19534 20058//20058\nf 20240//20240 20237//20237 20309//20309\nf 20352//20352 20240//20240 20309//20309\nf 20240//20240 20352//20352 20311//20311\nf 20311//20311 20352//20352 20394//20394\nf 19540//19540 20243//20243 20056//20056\nf 20353//20353 20055//20055 20064//20064\nf 20244//20244 20311//20311 20354//20354\nf 20244//20244 20354//20354 20356//20356\nf 20066//20066 20312//20312 20069//20069\nf 20358//20358 20244//20244 20356//20356\nf 20069//20069 20077//20077 20359//20359\nf 20072//20072 20079//20079 20074//20074\nf 20244//20244 20358//20358 20313//20313\nf 19579//19579 20082//20082 20248//20248\nf 20316//20316 20085//20085 20313//20313\nf 20316//20316 20313//20313 20358//20358\nf 20251//20251 20316//20316 20360//20360\nf 20083//20083 20361//20361 20087//20087\nf 20362//20362 20249//20249 20094//20094\nf 20536//20536 20086//20086 20088//20088\nf 20251//20251 20360//20360 20252//20252\nf 20317//20317 20254//20254 20252//20252\nf 20253//20253 20252//20252 20254//20254\nf 20096//20096 20362//20362 20094//20094\nf 20362//20362 20096//20096 20100//20100\nf 20106//20106 20363//20363 20097//20097\nf 20317//20317 20397//20397 20256//20256\nf 20254//20254 20317//20317 20256//20256\nf 20087//20087 20095//20095 20093//20093\nf 20364//20364 20100//20100 20255//20255\nf 20262//20262 20258//20258 20365//20365\nf 19599//19599 20259//20259 20101//20101\nf 20544//20544 20366//20366 20103//20103\nf 20105//20105 20099//20099 20264//20264\nf 20367//20367 20263//20263 20365//20365\nf 20099//20099 20095//20095 20115//20115\nf 20099//20099 20115//20115 20261//20261\nf 20116//20116 20319//20319 20106//20106\nf 20109//20109 20368//20368 20122//20122\nf 20108//20108 20265//20265 20123//20123\nf 20401//20401 20318//20318 20125//20125\nf 20266//20266 20402//20402 20121//20121\nf 20269//20269 19785//19785 20267//20267\nf 20268//20268 20127//20127 20370//20370\nf 20370//20370 20554//20554 20664//20664\nf 20133//20133 20558//20558 20371//20371\nf 20135//20135 20271//20271 20136//20136\nf 20137//20137 20321//20321 20272//20272\nf 20274//20274 20144//20144 20147//20147\nf 20154//20154 19666//19666 20152//20152\nf 20567//20567 20154//20154 20152//20152\nf 20322//20322 20148//20148 20159//20159\nf 20156//20156 20159//20159 20149//20149\nf 20322//20322 20274//20274 20148//20148\nf 20277//20277 20278//20278 20373//20373\nf 20323//20323 20373//20373 20278//20278\nf 20278//20278 19906//19906 20323//20323\nf 20165//20165 20323//20323 20280//20280\nf 20165//20165 20167//20167 20374//20374\nf 20173//20173 20174//20174 20175//20175\nf 20377//20377 20376//20376 20178//20178\nf 20377//20377 20178//20178 20176//20176\nf 20179//20179 20284//20284 19875//19875\nf 20284//20284 20179//20179 20375//20375\nf 20284//20284 20375//20375 20182//20182\nf 20283//20283 20377//20377 20176//20176\nf 20378//20378 20283//20283 20185//20185\nf 20283//20283 20378//20378 20377//20377\nf 20283//20283 20180//20180 20185//20185\nf 20285//20285 20286//20286 20324//20324\nf 20185//20185 20186//20186 20378//20378\nf 20287//20287 19739//19739 20190//20190\nf 20199//20199 20586//20586 20197//20197\nf 20199//20199 20290//20290 20202//20202\nf 20203//20203 20201//20201 20204//20204\nf 20204//20204 20201//20201 20326//20326\nf 20206//20206 20589//20589 20743//20743\nf 20206//20206 19910//19910 20589//20589\nf 20405//20405 19927//19927 19911//19911\nf 20205//20205 20206//20206 20695//20695\nf 19923//19923 20328//20328 19918//19918\nf 20412//20412 20411//20411 20210//20210\nf 19927//19927 20405//20405 20415//20415\nf 20410//20410 20328//20328 20696//20696\nf 20411//20411 19928//19928 20210//20210\nf 20414//20414 20413//20413 19924//19924\nf 20417//20417 20414//20414 19924//19924\nf 19955//19955 20215//20215 20426//20426\nf 20423//20423 19938//19938 19879//19879\nf 20429//20429 19950//19950 19934//19934\nf 19950//19950 19940//19940 19934//19934\nf 20598//20598 19954//19954 19955//19955\nf 19952//19952 19948//19948 20432//20432\nf 20597//20597 20292//20292 20599//20599\nf 20599//20599 20292//20292 20218//20218\nf 20292//20292 19441//19441 20218//20218\nf 19949//19949 20438//20438 20437//20437\nf 19957//19957 20438//20438 19949//19949\nf 20220//20220 19956//19956 20219//20219\nf 20442//20442 19968//19968 19965//19965\nf 20450//20450 20333//20333 19966//19966\nf 20336//20336 19969//19969 20330//20330\nf 20381//20381 20380//20380 19961//19961\nf 20222//20222 19966//19966 20333//20333\nf 20453//20453 20337//20337 20222//20222\nf 20339//20339 20338//20338 19978//19978\nf 19988//19988 19459//19459 19986//19986\nf 20385//20385 19995//19995 20223//20223\nf 20008//20008 19800//19800 19998//19998\nf 20614//20614 20009//20009 20615//20615\nf 20615//20615 20009//20009 20475//20475\nf 20008//20008 20011//20011 20477//20477\nf 20225//20225 20341//20341 20301//20301\nf 20480//20480 20226//20226 20300//20300\nf 20480//20480 20300//20300 20015//20015\nf 20227//20227 20342//20342 20390//20390\nf 20228//20228 20390//20390 20391//20391\nf 20021//20021 20229//20229 20346//20346\nf 20027//20027 20231//20231 20032//20032\nf 20233//20233 20501//20501 20031//20031\nf 20234//20234 20306//20306 20347//20347\nf 20046//20046 20346//20346 20349//20349\nf 20038//20038 20043//20043 20041//20041\nf 20043//20043 20038//20038 20502//20502\nf 20308//20308 20391//20391 20392//20392\nf 20393//20393 20308//20308 20392//20392\nf 20505//20505 20047//20047 20238//20238\nf 20309//20309 20308//20308 20393//20393\nf 20309//20309 20393//20393 20394//20394\nf 20241//20241 20052//20052 20350//20350\nf 20508//20508 20053//20053 20058//20058\nf 20510//20510 20508//20508 20058//20058\nf 20309//20309 20394//20394 20352//20352\nf 20510//20510 20058//20058 20059//20059\nf 20311//20311 20394//20394 20354//20354\nf 20059//20059 20061//20061 20066//20066\nf 20072//20072 20067//20067 20355//20355\nf 20243//20243 20073//20073 20357//20357\nf 20069//20069 20359//20359 20523//20523\nf 20358//20358 20519//20519 20395//20395\nf 20802//20802 20726//20726 20528//20528\nf 20316//20316 20358//20358 20395//20395\nf 20316//20316 20395//20395 20360//20360\nf 20079//20079 20533//20533 20083//20083\nf 20360//20360 20317//20317 20252//20252\nf 20360//20360 20396//20396 20317//20317\nf 20087//20087 20361//20361 20083//20083\nf 20536//20536 20088//20088 20538//20538\nf 20256//20256 20397//20397 20398//20398\nf 20258//20258 20398//20398 20399//20399\nf 20258//20258 20256//20256 20398//20398\nf 20258//20258 20399//20399 20365//20365\nf 20099//20099 20261//20261 20264//20264\nf 20400//20400 20255//20255 20112//20112\nf 20400//20400 20112//20112 20318//20318\nf 20319//20319 20121//20121 20402//20402\nf 20108//20108 20123//20123 20112//20112\nf 20320//20320 20401//20401 20125//20125\nf 20268//20268 20552//20552 20370//20370\nf 20554//20554 20129//20129 20371//20371\nf 20371//20371 19864//19864 20133//20133\nf 20560//20560 20321//20321 20137//20137\nf 20136//20136 20138//20138 20561//20561\nf 20563//20563 20372//20372 20151//20151\nf 20563//20563 20151//20151 20372//20372\nf 20151//20151 20145//20145 20146//20146\nf 20403//20403 20144//20144 20274//20274\nf 20157//20157 20155//20155 20153//20153\nf 20572//20572 20162//20162 20158//20158\nf 20281//20281 20164//20164 20169//20169\nf 20175//20175 20174//20174 20172//20172\nf 20375//20375 20178//20178 20376//20376\nf 20179//20179 20178//20178 20375//20375\nf 20378//20378 20188//20188 20185//20185\nf 20577//20577 20286//20286 20285//20285\nf 20186//20186 20188//20188 20378//20378\nf 20583//20583 20288//20288 20581//20581\nf 20191//20191 20194//20194 20196//20196\nf 20200//20200 20198//20198 20201//20201\nf 20406//20406 20405//20405 19912//19912\nf 21226//21226 20843//20843 21214//21214\nf 20208//20208 20205//20205 20823//20823\nf 20823//20823 20205//20205 20695//20695\nf 19916//19916 19917//19917 20416//20416\nf 20409//20409 19917//19917 19918//19918\nf 20408//20408 19917//19917 20409//20409\nf 20410//20410 19918//19918 20328//20328\nf 20328//20328 19928//19928 20411//20411\nf 20696//20696 20328//20328 20411//20411\nf 20407//20407 19913//19913 19920//19920\nf 20413//20413 20209//20209 19924//19924\nf 20418//20418 20417//20417 19919//19919\nf 20418//20418 19919//19919 19925//19925\nf 20418//20418 19925//19925 19926//19926\nf 20418//20418 19926//19926 20421//20421\nf 19934//19934 20379//20379 20422//20422\nf 20379//20379 20415//20415 20422//20422\nf 19927//19927 20415//20415 20379//20379\nf 19926//19926 19929//19929 19933//19933\nf 19927//19927 20379//20379 19934//19934\nf 20593//20593 19935//19935 20423//20423\nf 19926//19926 19933//19933 20594//20594\nf 19944//19944 20212//20212 20595//20595\nf 19935//19935 19938//19938 20423//20423\nf 20211//20211 20329//20329 20425//20425\nf 19946//19946 20436//20436 19943//19943\nf 20215//20215 20291//20291 20426//20426\nf 20427//20427 20423//20423 19879//19879\nf 20428//20428 20211//20211 20329//20329\nf 19933//19933 19936//19936 20430//20430\nf 20431//20431 19952//19952 20432//20432\nf 19943//19943 20435//20435 20213//20213\nf 20435//20435 19943//19943 20436//20436\nf 19954//19954 20218//20218 19437//19437\nf 20442//20442 19950//19950 20429//20429\nf 19960//19960 19974//19974 20446//20446\nf 20330//20330 20213//20213 20440//20440\nf 20601//20601 19951//19951 20441//20441\nf 20443//20443 19956//19956 20220//20220\nf 20441//20441 19951//19951 19964//19964\nf 20444//20444 19879//19879 20293//20293\nf 20441//20441 19964//19964 19967//19967\nf 20447//20447 20219//20219 20443//20443\nf 19966//19966 20219//20219 20447//20447\nf 20445//20445 19959//19959 19963//19963\nf 20445//20445 19963//19963 20448//20448\nf 20450//20450 19966//19966 20447//20447\nf 19968//19968 20449//20449 20335//20335\nf 20440//20440 20451//20451 20330//20330\nf 20381//20381 20382//20382 20380//20380\nf 20603//20603 20446//20446 19979//19979\nf 20446//20446 19974//19974 19979//19979\nf 20330//20330 20451//20451 20336//20336\nf 20449//20449 19973//19973 20335//20335\nf 20334//20334 20295//20295 20454//20454\nf 20452//20452 20455//20455 20381//20381\nf 20459//20459 20339//20339 20456//20456\nf 19973//19973 20456//20456 20339//20339\nf 19986//19986 19985//19985 20458//20458\nf 20457//20457 20295//20295 20384//20384\nf 20295//20295 20296//20296 20384//20384\nf 20336//20336 20460//20460 19990//19990\nf 20337//20337 20222//20222 20223//20223\nf 20222//20222 20337//20337 20223//20223\nf 20455//20455 20464//20464 20383//20383\nf 20381//20381 20455//20455 20383//20383\nf 20607//20607 19989//19989 19993//19993\nf 20386//20386 20466//20466 19997//19997\nf 19987//19987 19999//19999 20468//20468\nf 20460//20460 20000//20000 19990//19990\nf 19996//19996 20466//20466 20386//20386\nf 19988//19988 20467//20467 19998//19998\nf 20385//20385 20223//20223 20610//20610\nf 19995//19995 20385//20385 20298//20298\nf 20298//20298 20385//20385 20471//20471\nf 20472//20472 19999//19999 20006//20006\nf 20472//20472 20468//20468 19999//19999\nf 20008//20008 19998//19998 20002//20002\nf 20009//20009 20226//20226 20475//20475\nf 20006//20006 20013//20013 20476//20476\nf 20477//20477 20011//20011 20008//20008\nf 20226//20226 20480//20480 20484//20484\nf 20013//20013 20343//20343 20018//20018\nf 20482//20482 20018//20018 20343//20343\nf 20618//20618 20011//20011 20477//20477\nf 20341//20341 20011//20011 20618//20618\nf 20301//20301 20341//20341 20011//20011\nf 20486//20486 20485//20485 20303//20303\nf 20342//20342 20299//20299 20481//20481\nf 20390//20390 20342//20342 20488//20488\nf 20024//20024 20486//20486 20303//20303\nf 20344//20344 20017//20017 20711//20711\nf 20491//20491 20020//20020 20304//20304\nf 20492//20492 20027//20027 20230//20230\nf 20346//20346 20229//20229 20495//20495\nf 20623//20623 20347//20347 20345//20345\nf 20024//20024 20034//20034 20496//20496\nf 20497//20497 20496//20496 20034//20034\nf 20492//20492 20231//20231 20027//20027\nf 20492//20492 20498//20498 20231//20231\nf 20345//20345 20347//20347 20306//20306\nf 20304//20304 20033//20033 20347//20347\nf 20231//20231 20498//20498 20032//20032\nf 20348//20348 20034//20034 20047//20047\nf 20392//20392 20391//20391 20504//20504\nf 20393//20393 20392//20392 20504//20504\nf 20508//20508 20045//20045 20049//20049\nf 20394//20394 20393//20393 20506//20506\nf 20394//20394 20506//20506 20509//20509\nf 20241//20241 20350//20350 20633//20633\nf 19892//19892 20055//20055 20512//20512\nf 20512//20512 19892//19892 20310//20310\nf 20354//20354 20394//20394 20509//20509\nf 20241//20241 20513//20513 20067//20067\nf 20059//20059 20066//20066 20514//20514\nf 20063//20063 20060//20060 20511//20511\nf 20354//20354 20509//20509 20515//20515\nf 20720//20720 20056//20056 20243//20243\nf 20356//20356 20354//20354 20515//20515\nf 20519//20519 20358//20358 20356//20356\nf 20519//20519 20520//20520 20524//20524\nf 20395//20395 20519//20519 20524//20524\nf 20359//20359 20077//20077 20523//20523\nf 20075//20075 20071//20071 20525//20525\nf 20084//20084 20528//20528 20078//20078\nf 20396//20396 20395//20395 20524//20524\nf 20527//20527 20529//20529 20080//20080\nf 20395//20395 20396//20396 20360//20360\nf 20079//20079 20531//20531 20533//20533\nf 20527//20527 20080//20080 20315//20315\nf 20317//20317 20396//20396 20530//20530\nf 20530//20530 20398//20398 20397//20397\nf 20083//20083 20361//20361 20087//20087\nf 20084//20084 20363//20363 20535//20535\nf 20317//20317 20530//20530 20397//20397\nf 20649//20649 20365//20365 20399//20399\nf 20649//20649 20399//20399 20365//20365\nf 20541//20541 20087//20087 20537//20537\nf 20100//20100 20364//20364 20362//20362\nf 20542//20542 20364//20364 20255//20255\nf 20542//20542 20255//20255 20400//20400\nf 20399//20399 20367//20367 20365//20365\nf 20090//20090 20101//20101 20543//20543\nf 20095//20095 20087//20087 20541//20541\nf 20319//20319 20546//20546 20106//20106\nf 20263//20263 20547//20547 20120//20120\nf 20259//20259 20111//20111 20113//20113\nf 20401//20401 20400//20400 20318//20318\nf 20368//20368 20109//20109 20658//20658\nf 20548//20548 20401//20401 20320//20320\nf 20550//20550 20548//20548 20320//20320\nf 20549//20549 20122//20122 20368//20368\nf 20549//20549 20369//20369 20267//20267\nf 20402//20402 20266//20266 20369//20369\nf 20126//20126 20551//20551 20553//20553\nf 20126//20126 20124//20124 20551//20551\nf 20664//20664 20554//20554 20555//20555\nf 20128//20128 20663//20663 20131//20131\nf 20371//20371 20555//20555 20554//20554\nf 20132//20132 20131//20131 20556//20556\nf 20132//20132 20557//20557 20134//20134\nf 20556//20556 20557//20557 20132//20132\nf 20138//20138 20273//20273 20669//20669\nf 20273//20273 20140//20140 20321//20321\nf 20273//20273 20139//20139 20140//20140\nf 20143//20143 20562//20562 20146//20146\nf 20564//20564 20372//20372 20146//20146\nf 20562//20562 20143//20143 20144//20144\nf 20565//20565 20151//20151 20372//20372\nf 20150//20150 20566//20566 20152//20152\nf 20154//20154 20568//20568 20153//20153\nf 20568//20568 20154//20154 20567//20567\nf 20403//20403 20274//20274 20322//20322\nf 20322//20322 20277//20277 20403//20403\nf 20157//20157 20570//20570 20275//20275\nf 20673//20673 20277//20277 20373//20373\nf 20275//20275 20571//20571 20158//20158\nf 20675//20675 20674//20674 20373//20373\nf 20675//20675 20373//20373 20278//20278\nf 20163//20163 20162//20162 20573//20573\nf 20373//20373 20323//20323 20278//20278\nf 20323//20323 20165//20165 20574//20574\nf 20165//20165 20374//20374 20677//20677\nf 20374//20374 20165//20165 20679//20679\nf 20165//20165 20374//20374 20679//20679\nf 20374//20374 20167//20167 20168//20168\nf 20282//20282 20169//20169 20682//20682\nf 20576//20576 20173//20173 20170//20170\nf 20174//20174 20173//20173 20576//20576\nf 20577//20577 20285//20285 20578//20578\nf 20378//20378 20188//20188 20377//20377\nf 20188//20188 20378//20378 20185//20185\nf 20286//20286 20577//20577 20579//20579\nf 20286//20286 20579//20579 20187//20187\nf 20187//20187 20579//20579 20288//20288\nf 20742//20742 20580//20580 20190//20190\nf 20325//20325 20190//20190 20580//20580\nf 20189//20189 20288//20288 20583//20583\nf 20190//20190 20191//20191 20582//20582\nf 20583//20583 20193//20193 20189//20189\nf 20689//20689 20289//20289 20197//20197\nf 20689//20689 20404//20404 20289//20289\nf 20196//20196 20404//20404 20584//20584\nf 20289//20289 20404//20404 20196//20196\nf 20191//20191 20196//20196 20584//20584\nf 20585//20585 20197//20197 20586//20586\nf 20326//20326 20201//20201 20198//20198\nf 20199//20199 20202//20202 20588//20588\nf 20590//20590 20208//20208 20843//20843\nf 19910//19910 20407//20407 20589//20589\nf 19910//19910 19913//19913 20407//20407\nf 19918//19918 20410//20410 20409//20409\nf 19923//19923 19928//19928 20328//20328\nf 20696//20696 20411//20411 20412//20412\nf 20210//20210 20411//20411 20412//20412\nf 20411//20411 20210//20210 20209//20209\nf 20419//20419 20407//20407 19920//19920\nf 20416//20416 20327//20327 19916//19916\nf 19917//19917 20591//20591 20416//20416\nf 20327//20327 20416//20416 19922//19922\nf 19922//19922 20416//20416 20420//20420\nf 20697//20697 19922//19922 20420//20420\nf 20419//20419 19931//19931 20424//20424\nf 19931//19931 19937//19937 20424//20424\nf 20329//20329 19922//19922 20697//20697\nf 20421//20421 19926//19926 20594//20594\nf 20329//20329 20211//20211 20425//20425\nf 20291//20291 19944//19944 20596//20596\nf 20426//20426 20291//20291 20596//20596\nf 19937//19937 19953//19953 20433//20433\nf 20430//20430 19936//19936 19945//19945\nf 20431//20431 20439//20439 19956//19956\nf 20437//20437 20432//20432 19949//19949\nf 20432//20432 19948//19948 19949//19949\nf 20435//20435 20434//20434 20213//20213\nf 19947//19947 20211//20211 20428//20428\nf 20428//20428 20698//20698 19947//19947\nf 20220//20220 19956//19956 20439//20439\nf 20332//20332 20438//20438 19957//19957\nf 20442//20442 19965//19965 19950//19950\nf 19947//19947 20600//20600 20331//20331\nf 19945//19945 19951//19951 20601//20601\nf 20443//20443 20219//20219 19956//19956\nf 20332//20332 19959//19959 20445//20445\nf 19953//19953 19960//19960 20433//20433\nf 20452//20452 20381//20381 19961//19961\nf 20448//20448 19963//19963 20334//20334\nf 20452//20452 19961//19961 20331//20331\nf 20602//20602 20452//20452 20331//20331\nf 19967//19967 20294//20294 20604//20604\nf 20453//20453 20333//20333 20450//20450\nf 20457//20457 20605//20605 20295//20295\nf 19980//19980 19989//19989 20607//20607\nf 20336//20336 20451//20451 20460//20460\nf 20463//20463 20457//20457 20384//20384\nf 20463//20463 20605//20605 20457//20457\nf 20455//20455 20608//20608 20464//20464\nf 20337//20337 20701//20701 20223//20223\nf 20705//20705 19987//19987 20468//20468\nf 20466//20466 20465//20465 19997//19997\nf 20460//20460 20001//20001 20000//20000\nf 20460//20460 20611//20611 20001//20001\nf 20383//20383 20464//20464 20612//20612\nf 20612//20612 20469//20469 20473//20473\nf 20471//20471 20610//20610 20613//20613\nf 20385//20385 20610//20610 20471//20471\nf 20469//20469 20612//20612 20473//20473\nf 20474//20474 20002//20002 20765//20765\nf 20470//20470 20003//20003 20614//20614\nf 20002//20002 20474//20474 20008//20008\nf 20474//20474 20011//20011 20008//20008\nf 20471//20471 20340//20340 20298//20298\nf 20471//20471 20616//20616 20340//20340\nf 19883//19883 19884//19884 20007//20007\nf 20616//20616 20617//20617 20340//20340\nf 20299//20299 20340//20340 20481//20481\nf 20481//20481 20340//20340 20616//20616\nf 20710//20710 20476//20476 20013//20013\nf 20481//20481 20616//20616 20619//20619\nf 20484//20484 20480//20480 20015//20015\nf 20303//20303 20485//20485 20486//20486\nf 20487//20487 20483//20483 20016//20016\nf 20496//20496 20486//20486 20024//20024\nf 20484//20484 20015//20015 20026//20026\nf 20342//20342 20481//20481 20488//20488\nf 20487//20487 20016//20016 20022//20022\nf 20229//20229 20301//20301 20495//20495\nf 20024//20024 20303//20303 20486//20486\nf 20490//20490 20024//20024 20486//20486\nf 20230//20230 20024//20024 20490//20490\nf 20492//20492 20230//20230 20490//20490\nf 20022//20022 20028//20028 20493//20493\nf 20776//20776 20625//20625 20498//20498\nf 20347//20347 20622//20622 20304//20304\nf 20346//20346 20495//20495 20624//20624\nf 20627//20627 20346//20346 20624//20624\nf 20038//20038 20035//20035 20500//20500\nf 20391//20391 20626//20626 20504//20504\nf 20626//20626 20629//20629 20504//20504\nf 20349//20349 20346//20346 20627//20627\nf 20505//20505 20348//20348 20047//20047\nf 20501//20501 20233//20233 20503//20503\nf 20393//20393 20504//20504 20506//20506\nf 20506//20506 20504//20504 20629//20629\nf 20718//20718 20349//20349 20714//20714\nf 20506//20506 20631//20631 20632//20632\nf 20790//20790 20505//20505 20238//20238\nf 20511//20511 20060//20060 20054//20054\nf 20509//20509 20632//20632 20634//20634\nf 20509//20509 20506//20506 20632//20632\nf 20241//20241 20633//20633 20794//20794\nf 20055//20055 20516//20516 20512//20512\nf 20512//20512 20310//20310 19892//19892\nf 20516//20516 20055//20055 20353//20353\nf 20067//20067 20513//20513 20355//20355\nf 20515//20515 20509//20509 20721//20721\nf 20353//20353 20638//20638 20516//20516\nf 20353//20353 20245//20245 20638//20638\nf 20356//20356 20515//20515 20519//20519\nf 20066//20066 20069//20069 20637//20637\nf 20355//20355 20518//20518 20072//20072\nf 20519//20519 20515//20515 20520//20520\nf 20723//20723 20245//20245 20521//20521\nf 20640//20640 20069//20069 20523//20523\nf 20524//20524 20520//20520 20642//20642\nf 20521//20521 20245//20245 20314//20314\nf 20645//20645 20524//20524 20644//20644\nf 20077//20077 20248//20248 20646//20646\nf 20075//20075 20525//20525 20315//20315\nf 20528//20528 20357//20357 20078//20078\nf 20524//20524 20645//20645 20530//20530\nf 20531//20531 20079//20079 20526//20526\nf 20396//20396 20524//20524 20530//20530\nf 20082//20082 20086//20086 20532//20532\nf 20398//20398 20530//20530 20648//20648\nf 20089//20089 20080//20080 20529//20529\nf 20530//20530 20647//20647 20648//20648\nf 20086//20086 20536//20536 20532//20532\nf 20534//20534 20084//20084 20535//20535\nf 20648//20648 20647//20647 20398//20398\nf 20647//20647 20649//20649 20398//20398\nf 20533//20533 20361//20361 20083//20083\nf 20537//20537 20087//20087 20361//20361\nf 20398//20398 20649//20649 20399//20399\nf 20540//20540 20088//20088 20090//20090\nf 20089//20089 20539//20539 20091//20091\nf 20650//20650 20362//20362 20364//20364\nf 20364//20364 20255//20255 20362//20362\nf 20399//20399 20649//20649 20547//20547\nf 20362//20362 20255//20255 20364//20364\nf 20651//20651 20364//20364 20542//20542\nf 20539//20539 20103//20103 20091//20091\nf 20090//20090 20543//20543 20540//20540\nf 20399//20399 20547//20547 20367//20367\nf 20651//20651 20542//20542 20400//20400\nf 20103//20103 20654//20654 20544//20544\nf 20363//20363 20106//20106 20652//20652\nf 20653//20653 20095//20095 20541//20541\nf 20543//20543 20101//20101 20259//20259\nf 20731//20731 20106//20106 20546//20546\nf 20263//20263 20367//20367 20547//20547\nf 20401//20401 20656//20656 20400//20400\nf 20114//20114 20732//20732 20113//20113\nf 20115//20115 20095//20095 20545//20545\nf 20114//20114 20118//20118 20659//20659\nf 20660//20660 20319//20319 20402//20402\nf 20267//20267 20122//20122 20549//20549\nf 20369//20369 20549//20549 20662//20662\nf 20402//20402 20662//20662 20734//20734\nf 20124//20124 20115//20115 20661//20661\nf 20268//20268 20552//20552 20320//20320\nf 20552//20552 20550//20550 20320//20320\nf 20552//20552 20268//20268 20370//20370\nf 20128//20128 20553//20553 20663//20663\nf 20128//20128 20126//20126 20553//20553\nf 20370//20370 20129//20129 20554//20554\nf 20371//20371 20555//20555 20554//20554\nf 20371//20371 20554//20554 20555//20555\nf 20555//20555 20371//20371 20666//20666\nf 20270//20270 20134//20134 20557//20557\nf 20133//20133 20135//20135 20559//20559\nf 20137//20137 20270//20270 20560//20560\nf 20735//20735 20135//20135 20136//20136\nf 20668//20668 20321//20321 20560//20560\nf 20561//20561 20138//20138 20669//20669\nf 20273//20273 20321//20321 20670//20670\nf 20565//20565 20150//20150 20151//20151\nf 20562//20562 20144//20144 20403//20403\nf 20566//20566 20150//20150 20671//20671\nf 20567//20567 20152//20152 20566//20566\nf 20569//20569 20157//20157 20153//20153\nf 20568//20568 20569//20569 20153//20153\nf 20277//20277 20673//20673 20403//20403\nf 20570//20570 20571//20571 20275//20275\nf 20571//20571 20572//20572 20158//20158\nf 20323//20323 20674//20674 20675//20675\nf 20572//20572 20573//20573 20162//20162\nf 20675//20675 20278//20278 20323//20323\nf 20817//20817 20676//20676 20574//20574\nf 20676//20676 20323//20323 20574//20574\nf 20574//20574 20165//20165 20677//20677\nf 20164//20164 20680//20680 20169//20169\nf 20168//20168 20681//20681 20374//20374\nf 20170//20170 20282//20282 20576//20576\nf 20171//20171 20683//20683 20168//20168\nf 20821//20821 20576//20576 20819//20819\nf 20684//20684 20172//20172 20174//20174\nf 20688//20688 20182//20182 20375//20375\nf 20685//20685 20688//20688 20375//20375\nf 20375//20375 20376//20376 20686//20686\nf 20377//20377 20687//20687 20376//20376\nf 20325//20325 20687//20687 20377//20377\nf 20188//20188 20325//20325 20377//20377\nf 20584//20584 20582//20582 20191//20191\nf 20583//20583 20691//20691 20193//20193\nf 20404//20404 20689//20689 20584//20584\nf 20195//20195 20193//20193 20691//20691\nf 20195//20195 20691//20691 20692//20692\nf 20198//20198 20195//20195 20692//20692\nf 20585//20585 20586//20586 20199//20199\nf 20198//20198 20587//20587 20326//20326\nf 20326//20326 20587//20587 20694//20694\nf 20591//20591 19917//19917 20408//20408\nf 20411//20411 20209//20209 20413//20413\nf 20745//20745 20411//20411 20413//20413\nf 19924//19924 19919//19919 20417//20417\nf 20329//20329 19921//19921 19922//19922\nf 20824//20824 20419//20419 20424//20424\nf 20593//20593 20212//20212 19935//19935\nf 20594//20594 19933//19933 20748//20748\nf 20750//20750 20429//20429 19934//19934\nf 20753//20753 20329//20329 20425//20425\nf 20752//20752 19955//19955 20426//20426\nf 19933//19933 20430//20430 20748//20748\nf 20432//20432 20746//20746 20431//20431\nf 20747//20747 20432//20432 20437//20437\nf 20428//20428 20329//20329 20698//20698\nf 20431//20431 19956//19956 19952//19952\nf 19946//19946 20216//20216 20436//20436\nf 20757//20757 20218//20218 19954//19954\nf 20754//20754 19954//19954 20598//20598\nf 20216//20216 20292//20292 20597//20597\nf 20429//20429 20699//20699 20442//20442\nf 20439//20439 20443//20443 20220//20220\nf 20434//20434 20440//20440 20213//20213\nf 20698//20698 20600//20600 19947//19947\nf 20438//20438 20332//20332 20445//20445\nf 20433//20433 19960//19960 20446//20446\nf 20600//20600 20602//20602 20331//20331\nf 20455//20455 20602//20602 20600//20600\nf 20759//20759 20441//20441 19967//19967\nf 20602//20602 20455//20455 20452//20452\nf 20604//20604 20294//20294 19980//19980\nf 20382//20382 20381//20381 20383//20383\nf 20828//20828 20604//20604 19980//19980\nf 20337//20337 20453//20453 20701//20701\nf 19988//19988 19986//19986 20606//20606\nf 19997//19997 20465//20465 20703//20703\nf 20339//20339 20459//20459 20609//20609\nf 19997//19997 20703//20703 19991//19991\nf 19991//19991 20703//20703 19992//19992\nf 19992//19992 20704//20704 19984//19984\nf 20610//20610 20223//20223 20701//20701\nf 20610//20610 20701//20701 20706//20706\nf 20707//20707 20463//20463 20384//20384\nf 20708//20708 20384//20384 20338//20338\nf 20707//20707 20384//20384 20708//20708\nf 20339//20339 20708//20708 20338//20338\nf 20466//20466 19996//19996 20001//20001\nf 20466//20466 20001//20001 20611//20611\nf 20607//20607 19993//19993 20470//20470\nf 20709//20709 20383//20383 20612//20612\nf 20470//20470 19993//19993 20003//20003\nf 20002//20002 19998//19998 20467//20467\nf 20614//20614 20003//20003 20009//20009\nf 20340//20340 20617//20617 20616//20616\nf 20768//20768 20619//20619 20616//20616\nf 20013//20013 20018//20018 20482//20482\nf 20485//20485 20478//20478 20766//20766\nf 20617//20617 20616//20616 20619//20619\nf 20017//20017 20016//20016 20483//20483\nf 20017//20017 20483//20483 20767//20767\nf 20710//20710 20013//20013 20482//20482\nf 20226//20226 20484//20484 20480//20480\nf 20616//20616 20617//20617 20619//20619\nf 20619//20619 20488//20488 20481//20481\nf 20619//20619 20768//20768 20772//20772\nf 20489//20489 20344//20344 20770//20770\nf 20020//20020 20773//20773 20482//20482\nf 20712//20712 20341//20341 20618//20618\nf 20486//20486 20496//20496 20303//20303\nf 20490//20490 20486//20486 20771//20771\nf 20713//20713 20488//20488 20619//20619\nf 20489//20489 20023//20023 20344//20344\nf 20495//20495 20301//20301 20712//20712\nf 20301//20301 20341//20341 20712//20712\nf 20772//20772 20713//20713 20619//20619\nf 20494//20494 20023//20023 20489//20489\nf 20621//20621 20495//20495 20712//20712\nf 20713//20713 20390//20390 20488//20488\nf 20620//20620 20493//20493 20777//20777\nf 20624//20624 20495//20495 20621//20621\nf 20391//20391 20390//20390 20626//20626\nf 20347//20347 20623//20623 20622//20622\nf 20624//20624 20621//20621 20627//20627\nf 20626//20626 20390//20390 20713//20713\nf 20779//20779 20032//20032 20625//20625\nf 20779//20779 20035//20035 20032//20032\nf 20026//20026 20031//20031 20501//20501\nf 20493//20493 20028//20028 20499//20499\nf 20038//20038 20500//20500 20628//20628\nf 20499//20499 20028//20028 20045//20045\nf 20034//20034 20348//20348 20497//20497\nf 20348//20348 20505//20505 20497//20497\nf 20499//20499 20045//20045 20630//20630\nf 20349//20349 20627//20627 20714//20714\nf 20043//20043 20787//20787 20048//20048\nf 20631//20631 20506//20506 20715//20715\nf 20629//20629 20715//20715 20506//20506\nf 20044//20044 20236//20236 20503//20503\nf 20786//20786 20503//20503 20791//20791\nf 20633//20633 20350//20350 20718//20718\nf 20719//20719 20632//20632 20631//20631\nf 20511//20511 20054//20054 20507//20507\nf 20510//20510 20059//20059 20514//20514\nf 20634//20634 20632//20632 20639//20639\nf 20639//20639 20632//20632 20719//20719\nf 20509//20509 20634//20634 20721//20721\nf 20310//20310 20636//20636 20512//20512\nf 20721//20721 20634//20634 20639//20639\nf 20310//20310 20638//20638 20636//20636\nf 20063//20063 20511//20511 20517//20517\nf 20721//20721 20639//20639 20515//20515\nf 20637//20637 20514//20514 20066//20066\nf 20726//20726 20243//20243 20357//20357\nf 20515//20515 20639//20639 20520//20520\nf 20639//20639 20722//20722 20520//20520\nf 20723//20723 20638//20638 20245//20245\nf 20724//20724 20520//20520 20722//20722\nf 20642//20642 20520//20520 20724//20724\nf 20523//20523 20640//20640 20069//20069\nf 20069//20069 20640//20640 20523//20523\nf 20072//20072 20800//20800 20526//20526\nf 20644//20644 20524//20524 20642//20642\nf 20521//20521 20314//20314 20723//20723\nf 20726//20726 20357//20357 20528//20528\nf 20314//20314 20643//20643 20723//20723\nf 20530//20530 20645//20645 20644//20644\nf 20315//20315 20525//20525 20527//20527\nf 20530//20530 20644//20644 20647//20647\nf 20646//20646 20248//20248 20082//20082\nf 20728//20728 20314//20314 20249//20249\nf 20644//20644 20727//20727 20647//20647\nf 20643//20643 20314//20314 20728//20728\nf 20647//20647 20729//20729 20649//20649\nf 20533//20533 20537//20537 20361//20361\nf 20362//20362 20650//20650 20249//20249\nf 20728//20728 20249//20249 20650//20650\nf 20089//20089 20529//20529 20539//20539\nf 20652//20652 20535//20535 20363//20363\nf 20538//20538 20088//20088 20540//20540\nf 20652//20652 20804//20804 20363//20363\nf 20805//20805 20547//20547 20649//20649\nf 20103//20103 20807//20807 20654//20654\nf 20730//20730 20400//20400 20656//20656\nf 20730//20730 20651//20651 20400//20400\nf 20731//20731 20652//20652 20106//20106\nf 20259//20259 20655//20655 20543//20543\nf 20657//20657 20120//20120 20547//20547\nf 20658//20658 20109//20109 20366//20366\nf 20319//20319 20731//20731 20546//20546\nf 20657//20657 20547//20547 20808//20808\nf 20118//20118 20120//20120 20657//20657\nf 20259//20259 20113//20113 20810//20810\nf 20661//20661 20115//20115 20545//20545\nf 20656//20656 20401//20401 20548//20548\nf 20811//20811 20113//20113 20732//20732\nf 20549//20549 20368//20368 20733//20733\nf 20368//20368 20658//20658 20733//20733\nf 20549//20549 20734//20734 20662//20662\nf 20402//20402 20369//20369 20662//20662\nf 20268//20268 20370//20370 20664//20664\nf 20665//20665 20131//20131 20663//20663\nf 20665//20665 20556//20556 20131//20131\nf 20558//20558 20666//20666 20371//20371\nf 20814//20814 20667//20667 20557//20557\nf 20270//20270 20557//20557 20667//20667\nf 20561//20561 20735//20735 20136//20136\nf 20670//20670 20321//20321 20668//20668\nf 20669//20669 20273//20273 20670//20670\nf 20736//20736 20565//20565 20372//20372\nf 20372//20372 20564//20564 20563//20563\nf 20736//20736 20671//20671 20150//20150\nf 20737//20737 20562//20562 20403//20403\nf 20403//20403 20672//20672 20737//20737\nf 20737//20737 20672//20672 20673//20673\nf 20672//20672 20403//20403 20673//20673\nf 20673//20673 20373//20373 20674//20674\nf 20572//20572 20571//20571 20816//20816\nf 20676//20676 20674//20674 20323//20323\nf 20817//20817 20574//20574 20677//20677\nf 20164//20164 20163//20163 20678//20678\nf 20374//20374 20681//20681 20679//20679\nf 20680//20680 20164//20164 20678//20678\nf 20681//20681 20168//20168 20575//20575\nf 20282//20282 20682//20682 20738//20738\nf 20683//20683 20575//20575 20168//20168\nf 20282//20282 20738//20738 20576//20576\nf 20576//20576 20819//20819 20173//20173\nf 20172//20172 20684//20684 20171//20171\nf 20171//20171 20684//20684 20683//20683\nf 20576//20576 20739//20739 20174//20174\nf 20578//20578 20182//20182 20740//20740\nf 20285//20285 20182//20182 20578//20578\nf 20687//20687 20686//20686 20376//20376\nf 20740//20740 20182//20182 20688//20688\nf 20578//20578 20740//20740 20688//20688\nf 20685//20685 20375//20375 20686//20686\nf 20741//20741 20688//20688 20685//20685\nf 20685//20685 20686//20686 20741//20741\nf 20580//20580 20742//20742 20686//20686\nf 20580//20580 20687//20687 20325//20325\nf 20580//20580 20686//20686 20687//20687\nf 20689//20689 20688//20688 20690//20690\nf 20582//20582 20690//20690 20688//20688\nf 20582//20582 20688//20688 20741//20741\nf 20742//20742 20190//20190 20582//20582\nf 20689//20689 20690//20690 20584//20584\nf 20584//20584 20690//20690 20582//20582\nf 20197//20197 20585//20585 20689//20689\nf 20587//20587 20198//20198 20692//20692\nf 20586//20586 20585//20585 20199//20199\nf 20586//20586 20199//20199 20693//20693\nf 20326//20326 20694//20694 20202//20202\nf 20695//20695 20206//20206 20743//20743\nf 20591//20591 20408//20408 20744//20744\nf 20409//20409 20744//20744 20408//20408\nf 20422//20422 20592//20592 19934//19934\nf 20593//20593 20595//20595 20212//20212\nf 20596//20596 19944//19944 20595//20595\nf 20425//20425 20329//20329 20697//20697\nf 20432//20432 20747//20747 20746//20746\nf 20439//20439 20746//20746 20751//20751\nf 20746//20746 20439//20439 20431//20431\nf 20747//20747 20437//20437 20749//20749\nf 19955//19955 20752//20752 20598//20598\nf 20439//20439 20751//20751 20746//20746\nf 20754//20754 20598//20598 20752//20752\nf 20755//20755 20423//20423 20427//20427\nf 20698//20698 20329//20329 20753//20753\nf 20216//20216 20597//20597 20436//20436\nf 20957//20957 21056//21056 21231//21231\nf 20757//20757 19954//19954 20754//20754\nf 20755//20755 19879//19879 20444//20444\nf 20756//20756 20443//20443 20439//20439\nf 20755//20755 20427//20427 19879//19879\nf 19945//19945 20601//20601 20430//20430\nf 20758//20758 20438//20438 20445//20445\nf 20293//20293 19961//19961 20444//20444\nf 19968//19968 20442//20442 20760//20760\nf 20380//20380 20444//20444 19961//19961\nf 20449//20449 19968//19968 20760//20760\nf 20444//20444 20382//20382 20700//20700\nf 20380//20380 20382//20382 20444//20444\nf 20445//20445 20448//20448 20761//20761\nf 20448//20448 20454//20454 20761//20761\nf 20760//20760 20456//20456 20449//20449\nf 20454//20454 20448//20448 20334//20334\nf 20449//20449 20456//20456 19973//19973\nf 20828//20828 19980//19980 20607//20607\nf 20450//20450 20701//20701 20453//20453\nf 20605//20605 20454//20454 20295//20295\nf 19984//19984 20461//20461 20458//20458\nf 20462//20462 19988//19988 20606//20606\nf 19992//19992 20703//20703 20704//20704\nf 20707//20707 20605//20605 20463//20463\nf 20708//20708 20339//20339 20762//20762\nf 20762//20762 20339//20339 20609//20609\nf 20462//20462 20467//20467 19988//19988\nf 20702//20702 20383//20383 20709//20709\nf 20612//20612 20464//20464 20608//20608\nf 20764//20764 20473//20473 20763//20763\nf 20610//20610 20706//20706 20613//20613\nf 20473//20473 20612//20612 20763//20763\nf 20765//20765 20002//20002 20467//20467\nf 20471//20471 20613//20613 20616//20616\nf 20472//20472 20006//20006 20476//20476\nf 20473//20473 20478//20478 20479//20479\nf 20485//20485 20479//20479 20478//20478\nf 20485//20485 20478//20478 20479//20479\nf 20767//20767 20711//20711 20017//20017\nf 20017//20017 20711//20711 20767//20767\nf 20477//20477 20769//20769 20618//20618\nf 20711//20711 20770//20770 20017//20017\nf 20711//20711 20017//20017 20770//20770\nf 20344//20344 20711//20711 20770//20770\nf 20486//20486 20303//20303 20485//20485\nf 20491//20491 20773//20773 20020//20020\nf 20712//20712 20618//20618 20769//20769\nf 20771//20771 20492//20492 20490//20490\nf 20484//20484 20026//20026 20774//20774\nf 20345//20345 20023//20023 20494//20494\nf 20776//20776 20498//20498 20492//20492\nf 20625//20625 20032//20032 20498//20498\nf 20625//20625 20776//20776 20779//20779\nf 20780//20780 20626//20626 20772//20772\nf 20621//20621 20712//20712 20627//20627\nf 20785//20785 20502//20502 20628//20628\nf 20502//20502 20038//20038 20628//20628\nf 20626//20626 20780//20780 20629//20629\nf 20715//20715 20629//20629 20780//20780\nf 20499//20499 20630//20630 20781//20781\nf 20714//20714 20627//20627 20782//20782\nf 20505//20505 20784//20784 20497//20497\nf 20786//20786 20501//20501 20503//20503\nf 20043//20043 20502//20502 20787//20787\nf 20782//20782 20718//20718 20714//20714\nf 20050//20050 20787//20787 20507//20507\nf 20350//20350 20349//20349 20718//20718\nf 20630//20630 20045//20045 20508//20508\nf 20718//20718 20782//20782 20789//20789\nf 20789//20789 20718//20718 20350//20350\nf 19892//19892 20512//20512 20790//20790\nf 20503//20503 20236//20236 20791//20791\nf 20633//20633 20718//20718 20789//20789\nf 19892//19892 20790//20790 20238//20238\nf 20792//20792 20719//20719 20788//20788\nf 20236//20236 20056//20056 20791//20791\nf 20056//20056 20635//20635 20791//20791\nf 20631//20631 20788//20788 20719//20719\nf 20719//20719 20792//20792 20795//20795\nf 20719//20719 20795//20795 20798//20798\nf 20722//20722 20639//20639 20719//20719\nf 20514//20514 20796//20796 20510//20510\nf 20518//20518 20513//20513 20794//20794\nf 20722//20722 20719//20719 20798//20798\nf 20512//20512 20516//20516 20638//20638\nf 20638//20638 20310//20310 20512//20512\nf 20517//20517 20511//20511 20797//20797\nf 20355//20355 20513//20513 20518//20518\nf 20637//20637 20069//20069 20640//20640\nf 20072//20072 20518//20518 20725//20725\nf 20726//20726 20720//20720 20243//20243\nf 20724//20724 20722//20722 20799//20799\nf 20641//20641 20071//20071 20063//20063\nf 20641//20641 20525//20525 20071//20071\nf 20644//20644 20642//20642 20724//20724\nf 20072//20072 20526//20526 20079//20079\nf 20724//20724 20799//20799 20727//20727\nf 20644//20644 20724//20724 20727//20727\nf 20641//20641 20527//20527 20525//20525\nf 20523//20523 20077//20077 20646//20646\nf 20802//20802 20528//20528 20084//20084\nf 20729//20729 20647//20647 20727//20727\nf 20526//20526 20533//20533 20531//20531\nf 20084//20084 20534//20534 20535//20535\nf 20802//20802 20084//20084 20535//20535\nf 20651//20651 20836//20836 20728//20728\nf 20803//20803 20539//20539 20529//20529\nf 20804//20804 20652//20652 20363//20363\nf 20650//20650 20364//20364 20651//20651\nf 20728//20728 20650//20650 20651//20651\nf 20541//20541 20537//20537 20653//20653\nf 20730//20730 20656//20656 20651//20651\nf 20807//20807 20103//20103 20539//20539\nf 20540//20540 20543//20543 20806//20806\nf 20656//20656 20651//20651 20730//20730\nf 20656//20656 20730//20730 20651//20651\nf 20731//20731 20804//20804 20652//20652\nf 20654//20654 20807//20807 20544//20544\nf 20319//20319 20660//20660 20812//20812\nf 20812//20812 20731//20731 20319//20319\nf 20658//20658 20366//20366 20544//20544\nf 20658//20658 20544//20544 20809//20809\nf 20118//20118 20838//20838 20659//20659\nf 20733//20733 20658//20658 20837//20837\nf 20114//20114 20659//20659 20732//20732\nf 20660//20660 20734//20734 20839//20839\nf 20660//20660 20402//20402 20734//20734\nf 20552//20552 20268//20268 20664//20664\nf 20813//20813 20556//20556 20665//20665\nf 20555//20555 20666//20666 20558//20558\nf 20557//20557 20556//20556 20813//20813\nf 20134//20134 20557//20557 20814//20814\nf 20557//20557 20134//20134 20814//20814\nf 20735//20735 20559//20559 20135//20135\nf 20560//20560 20270//20270 20667//20667\nf 20668//20668 20560//20560 20667//20667\nf 20815//20815 20561//20561 20669//20669\nf 20669//20669 20670//20670 20668//20668\nf 20736//20736 20372//20372 20563//20563\nf 20736//20736 20150//20150 20565//20565\nf 20146//20146 20562//20562 20564//20564\nf 20566//20566 20671//20671 20736//20736\nf 20568//20568 20878//20878 20569//20569\nf 20673//20673 20674//20674 20737//20737\nf 20157//20157 20569//20569 20570//20570\nf 20571//20571 20275//20275 20570//20570\nf 20571//20571 20570//20570 20275//20275\nf 20817//20817 20674//20674 20676//20676\nf 20573//20573 20572//20572 20816//20816\nf 20163//20163 20573//20573 20678//20678\nf 20681//20681 20575//20575 20818//20818\nf 20680//20680 20682//20682 20169//20169\nf 20683//20683 20818//20818 20575//20575\nf 20684//20684 20820//20820 20683//20683\nf 20576//20576 20738//20738 20819//20819\nf 20576//20576 20173//20173 20819//20819\nf 20174//20174 20821//20821 20739//20739\nf 20684//20684 20174//20174 20739//20739\nf 20739//20739 20821//20821 20684//20684\nf 20821//20821 20820//20820 20684//20684\nf 20820//20820 20172//20172 20684//20684\nf 20172//20172 20820//20820 20684//20684\nf 20821//20821 20174//20174 20739//20739\nf 20579//20579 20577//20577 20578//20578\nf 20742//20742 20741//20741 20686//20686\nf 20822//20822 20581//20581 20288//20288\nf 20822//20822 20288//20288 20579//20579\nf 20689//20689 20578//20578 20688//20688\nf 20582//20582 20741//20741 20742//20742\nf 20585//20585 20822//20822 20689//20689\nf 20691//20691 20587//20587 20692//20692\nf 20199//20199 20588//20588 20693//20693\nf 20694//20694 20588//20588 20202//20202\nf 20587//20587 20588//20588 20694//20694\nf 20406//20406 20415//20415 20405//20405\nf 20411//20411 20745//20745 20412//20412\nf 20845//20845 20745//20745 20413//20413\nf 20825//20825 20697//20697 20420//20420\nf 20416//20416 20825//20825 20420//20420\nf 20419//20419 20824//20824 20424//20424\nf 19934//19934 20592//20592 20750//20750\nf 20746//20746 20751//20751 20439//20439\nf 20757//20757 20599//20599 20218//20218\nf 20826//20826 20423//20423 20755//20755\nf 20447//20447 20443//20443 20756//20756\nf 20827//20827 20455//20455 20600//20600\nf 20760//20760 20449//20449 20456//20456\nf 20759//20759 19967//19967 20604//20604\nf 19979//19979 19987//19987 20603//20603\nf 20705//20705 20603//20603 19987//19987\nf 20611//20611 20451//20451 20829//20829\nf 20460//20460 20451//20451 20611//20611\nf 19986//19986 20458//20458 20606//20606\nf 20383//20383 20702//20702 20382//20382\nf 20709//20709 20612//20612 20473//20473\nf 20831//20831 20709//20709 20473//20473\nf 20478//20478 20473//20473 20764//20764\nf 20017//20017 20767//20767 20711//20711\nf 20475//20475 20226//20226 20480//20480\nf 20767//20767 20770//20770 20711//20711\nf 20766//20766 20486//20486 20485//20485\nf 20900//20900 20483//20483 20487//20487\nf 20487//20487 20022//20022 20620//20620\nf 20491//20491 20482//20482 20773//20773\nf 20712//20712 20769//20769 20832//20832\nf 20303//20303 20496//20496 20485//20485\nf 20854//20854 20492//20492 20771//20771\nf 20900//20900 20487//20487 20620//20620\nf 20493//20493 20499//20499 20777//20777\nf 20623//20623 20345//20345 20494//20494\nf 20623//20623 20494//20494 20622//20622\nf 20491//20491 20304//20304 20622//20622\nf 20627//20627 20712//20712 20833//20833\nf 20779//20779 20500//20500 20035//20035\nf 20626//20626 20713//20713 20772//20772\nf 20782//20782 20627//20627 20833//20833\nf 20050//20050 20048//20048 20787//20787\nf 20350//20350 20718//20718 20789//20789\nf 20788//20788 20857//20857 20858//20858\nf 20792//20792 20834//20834 20795//20795\nf 20633//20633 20789//20789 20794//20794\nf 20793//20793 20508//20508 20510//20510\nf 20507//20507 20860//20860 20511//20511\nf 20241//20241 20794//20794 20513//20513\nf 20635//20635 20056//20056 20720//20720\nf 20722//20722 20798//20798 20799//20799\nf 20063//20063 20517//20517 20641//20641\nf 20637//20637 20640//20640 20523//20523\nf 20800//20800 20072//20072 20725//20725\nf 20726//20726 20802//20802 20835//20835\nf 20870//20870 20646//20646 20532//20532\nf 20646//20646 20082//20082 20532//20532\nf 20652//20652 20804//20804 20535//20535\nf 20655//20655 20259//20259 20810//20810\nf 20545//20545 20095//20095 20653//20653\nf 20118//20118 20657//20657 20838//20838\nf 20113//20113 20811//20811 20810//20810\nf 20658//20658 20809//20809 20837//20837\nf 20734//20734 20733//20733 20837//20837\nf 20734//20734 20549//20549 20733//20733\nf 20660//20660 20839//20839 20812//20812\nf 20124//20124 20661//20661 20551//20551\nf 20550//20550 20552//20552 20876//20876\nf 20840//20840 20553//20553 20551//20551\nf 20841//20841 20663//20663 20553//20553\nf 20841//20841 20553//20553 20840//20840\nf 20558//20558 20133//20133 20559//20559\nf 20669//20669 20668//20668 20815//20815\nf 20562//20562 20842//20842 20564//20564\nf 20562//20562 20737//20737 20842//20842\nf 20737//20737 20674//20674 20842//20842\nf 20879//20879 20674//20674 20817//20817\nf 20677//20677 20679//20679 20817//20817\nf 20677//20677 20374//20374 20679//20679\nf 20880//20880 20679//20679 20681//20681\nf 20739//20739 20576//20576 20821//20821\nf 20689//20689 20822//20822 20578//20578\nf 20579//20579 20578//20578 20822//20822\nf 20581//20581 20691//20691 20583//20583\nf 20581//20581 20586//20586 20691//20691\nf 20822//20822 20585//20585 20586//20586\nf 20586//20586 20693//20693 20691//20691\nf 20693//20693 20588//20588 20691//20691\nf 20587//20587 20691//20691 20588//20588\nf 21189//21189 20843//20843 21226//21226\nf 21226//21226 21214//21214 21600//21600\nf 21190//21190 20695//20695 20936//20936\nf 20695//20695 20743//20743 20936//20936\nf 20410//20410 20844//20844 20409//20409\nf 20844//20844 20410//20410 20696//20696\nf 20845//20845 20412//20412 20745//20745\nf 20418//20418 20421//20421 20594//20594\nf 20418//20418 20594//20594 20885//20885\nf 20749//20749 20437//20437 20846//20846\nf 20439//20439 20751//20751 20847//20847\nf 20437//20437 20438//20438 20846//20846\nf 20748//20748 20430//20430 20848//20848\nf 20847//20847 20751//20751 20954//20954\nf 20756//20756 20439//20439 20847//20847\nf 20599//20599 20757//20757 20957//20957\nf 20956//20956 20599//20599 20957//20957\nf 21063//21063 20433//20433 20446//20446\nf 20461//20461 19984//19984 20704//20704\nf 20707//20707 20849//20849 20605//20605\nf 20763//20763 20612//20612 20608//20608\nf 20607//20607 20470//20470 20895//20895\nf 20011//20011 20474//20474 20477//20477\nf 20764//20764 20850//20850 20478//20478\nf 20710//20710 20472//20472 20476//20476\nf 20851//20851 20767//20767 20483//20483\nf 20767//20767 20852//20852 20770//20770\nf 20766//20766 20899//20899 20486//20486\nf 20899//20899 20771//20771 20486//20486\nf 20853//20853 20482//20482 20491//20491\nf 20774//20774 20501//20501 20903//20903\nf 20832//20832 20855//20855 20712//20712\nf 20774//20774 20026//20026 20501//20501\nf 20855//20855 20833//20833 20712//20712\nf 20987//20987 20630//20630 20856//20856\nf 20715//20715 20857//20857 20788//20788\nf 20631//20631 20715//20715 20788//20788\nf 20990//20990 20856//20856 20508//20508\nf 20508//20508 20856//20856 20630//20630\nf 20788//20788 20858//20858 20792//20792\nf 20791//20791 20859//20859 20995//20995\nf 21125//21125 20793//20793 20510//20510\nf 20791//20791 20635//20635 20859//20859\nf 20795//20795 20834//20834 20861//20861\nf 20912//20912 20511//20511 20860//20860\nf 21001//21001 20635//20635 20863//20863\nf 20862//20862 20512//20512 20636//20636\nf 20635//20635 20720//20720 20863//20863\nf 20798//20798 20795//20795 20799//20799\nf 20799//20799 20795//20795 20865//20865\nf 20720//20720 20726//20726 20866//20866\nf 20800//20800 20725//20725 20867//20867\nf 20725//20725 20518//20518 20867//20867\nf 20638//20638 20723//20723 20864//20864\nf 20636//20636 20638//20638 20864//20864\nf 20522//20522 20636//20636 20864//20864\nf 20726//20726 20835//20835 20866//20866\nf 20869//20869 20799//20799 20868//20868\nf 20727//20727 20799//20799 20869//20869\nf 20729//20729 20727//20727 20869//20869\nf 20533//20533 20526//20526 20871//20871\nf 20539//20539 20803//20803 20920//20920\nf 20836//20836 20919//20919 20728//20728\nf 20872//20872 20649//20649 20729//20729\nf 20535//20535 20804//20804 20921//20921\nf 20730//20730 20651//20651 20656//20656\nf 20808//20808 20547//20547 20805//20805\nf 20922//20922 20804//20804 20731//20731\nf 20809//20809 20544//20544 20807//20807\nf 20922//20922 20731//20731 20812//20812\nf 20838//20838 20808//20808 20925//20925\nf 20838//20838 20657//20657 20808//20808\nf 20734//20734 20837//20837 20839//20839\nf 20550//20550 20873//20873 20548//20548\nf 20840//20840 20551//20551 20875//20875\nf 20664//20664 20927//20927 20552//20552\nf 20557//20557 20813//20813 20665//20665\nf 20668//20668 20667//20667 20815//20815\nf 20736//20736 20877//20877 20566//20566\nf 20879//20879 20842//20842 20674//20674\nf 20817//20817 20932//20932 20879//20879\nf 20817//20817 20880//20880 20932//20932\nf 20573//20573 21031//21031 21032//21032\nf 20817//20817 20679//20679 20880//20880\nf 20573//20573 20680//20680 20678//20678\nf 20934//20934 20738//20738 20680//20680\nf 20818//20818 20683//20683 20820//20820\nf 20738//20738 20682//20682 20680//20680\nf 20822//20822 20586//20586 20581//20581\nf 21037//21037 20406//20406 21189//21189\nf 21710//21710 21307//21307 21711//21711\nf 20843//20843 20208//20208 20823//20823\nf 20882//20882 20844//20844 20696//20696\nf 20881//20881 20415//20415 20406//20406\nf 20409//20409 20844//20844 20744//20744\nf 20939//20939 20845//20845 20413//20413\nf 20942//20942 20419//20419 20947//20947\nf 20945//20945 20944//20944 20747//20747\nf 20746//20746 20747//20747 20944//20944\nf 20945//20945 20747//20747 20944//20944\nf 20945//20945 20944//20944 20747//20747\nf 20747//20747 20749//20749 20945//20945\nf 20884//20884 20593//20593 20423//20423\nf 20948//20948 20418//20418 20885//20885\nf 20949//20949 20749//20749 20846//20846\nf 20596//20596 20595//20595 20951//20951\nf 20697//20697 20825//20825 20953//20953\nf 20950//20950 20846//20846 20438//20438\nf 21058//21058 20436//20436 20959//20959\nf 20699//20699 20887//20887 20442//20442\nf 20434//20434 20435//20435 20440//20440\nf 20435//20435 20888//20888 20440//20440\nf 20600//20600 20698//20698 20753//20753\nf 20753//20753 20886//20886 20961//20961\nf 20600//20600 20753//20753 20889//20889\nf 20962//20962 20445//20445 20761//20761\nf 20760//20760 20442//20442 21062//21062\nf 20601//20601 20441//20441 20890//20890\nf 20759//20759 20604//20604 20441//20441\nf 20456//20456 20449//20449 20760//20760\nf 20701//20701 20450//20450 20453//20453\nf 20455//20455 20827//20827 20892//20892\nf 20828//20828 20607//20607 20604//20604\nf 20456//20456 20609//20609 20459//20459\nf 20456//20456 20459//20459 20609//20609\nf 20608//20608 20455//20455 20892//20892\nf 20763//20763 20608//20608 20892//20892\nf 20763//20763 20974//20974 20764//20764\nf 20974//20974 20850//20850 20764//20764\nf 20974//20974 20766//20766 20850//20850\nf 20765//20765 20477//20477 20474//20474\nf 20478//20478 20850//20850 20766//20766\nf 20765//20765 20976//20976 20477//20477\nf 20979//20979 20852//20852 20767//20767\nf 20980//20980 20899//20899 20766//20766\nf 20854//20854 20771//20771 20982//20982\nf 20482//20482 20853//20853 20901//20901\nf 20770//20770 20902//20902 20494//20494\nf 20489//20489 20770//20770 20494//20494\nf 20492//20492 20854//20854 20982//20982\nf 20480//20480 20484//20484 20774//20774\nf 20485//20485 20496//20496 21205//21205\nf 20628//20628 20906//20906 20500//20500\nf 20855//20855 20905//20905 20833//20833\nf 20497//20497 20784//20784 20505//20505\nf 20782//20782 20833//20833 20907//20907\nf 20782//20782 20907//20907 20994//20994\nf 20860//20860 20507//20507 20996//20996\nf 20911//20911 20790//20790 20512//20512\nf 20794//20794 20518//20518 20913//20913\nf 20518//20518 20794//20794 20913//20913\nf 20862//20862 20636//20636 20911//20911\nf 20636//20636 20862//20862 20911//20911\nf 20795//20795 20861//20861 20865//20865\nf 20864//20864 20862//20862 20636//20636\nf 20522//20522 20864//20864 20636//20636\nf 20723//20723 20643//20643 20916//20916\nf 20869//20869 20868//20868 21005//21005\nf 20802//20802 20535//20535 20918//20918\nf 20643//20643 20728//20728 20919//20919\nf 20533//20533 20871//20871 21138//21138\nf 20803//20803 20529//20529 20920//20920\nf 20805//20805 20649//20649 20872//20872\nf 20537//20537 21012//21012 21151//21151\nf 20536//20536 20538//20538 20540//20540\nf 20539//20539 21013//21013 20807//20807\nf 20806//20806 20543//20543 20655//20655\nf 20809//20809 20807//20807 20923//20923\nf 21017//21017 20809//20809 20923//20923\nf 20808//20808 21016//21016 21019//21019\nf 20730//20730 20656//20656 20651//20651\nf 20810//20810 20811//20811 20926//20926\nf 21158//21158 21022//21022 21018//21018\nf 20811//20811 20732//20732 20659//20659\nf 21163//21163 20873//20873 20874//20874\nf 21024//21024 20551//20551 20661//20661\nf 20550//20550 20874//20874 20873//20873\nf 20876//20876 20552//20552 20927//20927\nf 20663//20663 20841//20841 20665//20665\nf 21168//21168 20664//20664 20555//20555\nf 21170//21170 20555//20555 20558//20558\nf 20842//20842 20929//20929 20564//20564\nf 20568//20568 20930//20930 20878//20878\nf 21030//21030 20842//20842 20879//20879\nf 20680//20680 20573//20573 21032//21032\nf 20934//20934 20935//20935 20738//20738\nf 20818//20818 20820//20820 20933//20933\nf 21036//21036 20415//20415 20881//20881\nf 21189//21189 20590//20590 20843//20843\nf 21307//21307 21189//21189 21226//21226\nf 20882//20882 20696//20696 20412//20412\nf 20938//20938 20844//20844 20882//20882\nf 20882//20882 20412//20412 20938//20938\nf 20938//20938 20412//20412 20845//20845\nf 20938//20938 20845//20845 20939//20939\nf 20940//20940 20591//20591 20744//20744\nf 20941//20941 20417//20417 20418//20418\nf 20746//20746 20944//20944 20943//20943\nf 20945//20945 20943//20943 20944//20944\nf 20422//20422 20946//20946 20592//20592\nf 21048//21048 20947//20947 20424//20424\nf 21323//21323 21276//21276 20884//20884\nf 20825//20825 20416//20416 20953//20953\nf 20750//20750 20592//20592 21045//21045\nf 20951//20951 21049//21049 20426//20426\nf 20826//20826 20952//20952 20423//20423\nf 20756//20756 20847//20847 20954//20954\nf 20886//20886 20425//20425 20697//20697\nf 20753//20753 20425//20425 20886//20886\nf 20436//20436 20597//20597 20959//20959\nf 21054//21054 20758//20758 20445//20445\nf 21063//21063 21055//21055 20433//20433\nf 20889//20889 20753//20753 20961//20961\nf 21060//21060 20430//20430 20601//20601\nf 21066//21066 20755//20755 20444//20444\nf 20962//20962 20761//20761 20964//20964\nf 20600//20600 20889//20889 20961//20961\nf 20456//20456 20760//20760 20449//20449\nf 20827//20827 20600//20600 20961//20961\nf 20761//20761 20454//20454 20891//20891\nf 20827//20827 20961//20961 20965//20965\nf 21069//21069 21072//21072 20450//20450\nf 20829//20829 20451//20451 20966//20966\nf 20892//20892 20827//20827 20965//20965\nf 21081//21081 20459//20459 21070//21070\nf 20458//20458 21076//21076 20606//20606\nf 20459//20459 20456//20456 21070//21070\nf 20703//20703 20893//20893 20704//20704\nf 20892//20892 20965//20965 20969//20969\nf 21091//21091 20708//20708 21081//21081\nf 20708//20708 20762//20762 20609//20609\nf 20763//20763 20969//20969 20971//20971\nf 20613//20613 20706//20706 21093//21093\nf 20831//20831 21090//21090 20709//20709\nf 20974//20974 20763//20763 20973//20973\nf 20896//20896 20468//20468 20472//20472\nf 21097//21097 20472//20472 20710//20710\nf 21094//21094 20976//20976 20765//20765\nf 20473//20473 20479//20479 20975//20975\nf 20977//20977 20979//20979 20767//20767\nf 20978//20978 20767//20767 20851//20851\nf 20978//20978 20851//20851 20483//20483\nf 20981//20981 20898//20898 20710//20710\nf 20981//20981 20710//20710 20901//20901\nf 20769//20769 20477//20477 21100//21100\nf 20482//20482 20901//20901 20710//20710\nf 20771//20771 20899//20899 20980//20980\nf 20984//20984 20475//20475 20480//20480\nf 21101//21101 20478//20478 20485//20485\nf 20980//20980 20982//20982 20771//20771\nf 20491//20491 20901//20901 20853//20853\nf 20985//20985 21108//21108 20769//20769\nf 20982//20982 20776//20776 20492//20492\nf 20620//20620 20777//20777 21111//21111\nf 20772//20772 20904//20904 20780//20780\nf 20906//20906 20628//20628 20500//20500\nf 21114//21114 20781//20781 20630//20630\nf 20905//20905 20986//20986 20833//20833\nf 20907//20907 20833//20833 20986//20986\nf 20905//20905 21118//21118 20986//20986\nf 21121//21121 20786//20786 20995//20995\nf 20857//20857 20988//20988 20908//20908\nf 20987//20987 20856//20856 20990//20990\nf 20994//20994 20907//20907 20986//20986\nf 20787//20787 20502//20502 20989//20989\nf 20991//20991 20792//20792 20858//20858\nf 20858//20858 20908//20908 20991//20991\nf 20792//20792 20991//20991 20834//20834\nf 20834//20834 20991//20991 20992//20992\nf 20789//20789 20782//20782 20994//20994\nf 20789//20789 20994//20994 20909//20909\nf 20861//20861 20834//20834 20997//20997\nf 20834//20834 20993//20993 20997//20997\nf 21125//21125 21124//21124 20508//20508\nf 20909//20909 20994//20994 20789//20789\nf 20794//20794 20789//20789 20994//20994\nf 20861//20861 20997//20997 20998//20998\nf 21000//21000 20861//20861 20998//20998\nf 20911//20911 20512//20512 20862//20862\nf 20518//20518 20794//20794 21130//21130\nf 20796//20796 20514//20514 21127//21127\nf 21001//21001 20863//20863 21003//21003\nf 20867//20867 20518//20518 21130//21130\nf 21003//21003 20863//20863 20720//20720\nf 21003//21003 20720//20720 20866//20866\nf 20868//20868 20799//20799 21005//21005\nf 20522//20522 20864//20864 20723//20723\nf 20641//20641 20517//20517 21004//21004\nf 21005//21005 20865//20865 20914//20914\nf 20799//20799 20865//20865 21005//21005\nf 20800//20800 20867//20867 21130//21130\nf 20915//20915 21003//21003 20866//20866\nf 20915//20915 20866//20866 20835//20835\nf 20522//20522 20723//20723 20916//20916\nf 20526//20526 20800//20800 21006//21006\nf 21138//21138 20526//20526 21006//21006\nf 20527//20527 20641//20641 21007//21007\nf 21139//21139 20527//20527 21007//21007\nf 21008//21008 20917//20917 20869//20869\nf 20729//20729 20869//20869 20917//20917\nf 20920//20920 20527//20527 21139//21139\nf 21010//21010 20918//20918 20535//20535\nf 21141//21141 20643//20643 20919//20919\nf 20529//20529 20527//20527 20920//20920\nf 20729//20729 20917//20917 20872//20872\nf 20532//20532 20536//20536 21011//21011\nf 21010//21010 20535//20535 20921//20921\nf 20536//20536 20540//20540 21011//21011\nf 20533//20533 21138//21138 21144//21144\nf 20917//20917 21143//21143 21145//21145\nf 21012//21012 20537//20537 20533//20533\nf 20804//20804 21010//21010 20921//20921\nf 20920//20920 21013//21013 20539//20539\nf 21013//21013 21146//21146 21153//21153\nf 21015//21015 20806//20806 20655//20655\nf 21153//21153 20923//20923 20807//20807\nf 20839//20839 21018//21018 20922//20922\nf 21154//21154 20651//20651 21020//21020\nf 21021//21021 20837//20837 20809//20809\nf 20839//20839 21158//21158 21018//21018\nf 20812//20812 20839//20839 20922//20922\nf 20808//20808 20805//20805 21016//21016\nf 21019//21019 20925//20925 20808//20808\nf 21157//21157 20924//20924 20655//20655\nf 20651//20651 20656//20656 21020//21020\nf 21022//21022 20837//20837 21021//21021\nf 20839//20839 20837//20837 21022//21022\nf 21158//21158 20839//20839 21022//21022\nf 21018//21018 21155//21155 20922//20922\nf 20811//20811 20659//20659 20838//20838\nf 20548//20548 21023//21023 20656//20656\nf 20551//20551 21024//21024 20875//20875\nf 20550//20550 20876//20876 20874//20874\nf 20927//20927 20874//20874 20876//20876\nf 21025//21025 20840//20840 21165//21165\nf 20841//20841 21025//21025 20665//20665\nf 21169//21169 21026//21026 20665//20665\nf 20665//20665 21026//21026 20557//20557\nf 20928//20928 20667//20667 20814//20814\nf 21170//21170 20558//20558 20559//20559\nf 20561//20561 20815//20815 21173//21173\nf 21173//21173 20815//20815 20667//20667\nf 20563//20563 21027//21027 21028//21028\nf 20736//20736 20563//20563 21028//21028\nf 20877//20877 20736//20736 21028//21028\nf 21029//21029 20877//20877 21028//21028\nf 20566//20566 21029//21029 21177//21177\nf 20877//20877 21029//21029 20566//20566\nf 21030//21030 20929//20929 20842//20842\nf 20931//20931 20929//20929 20879//20879\nf 20878//20878 20930//20930 20570//20570\nf 20569//20569 20878//20878 20570//20570\nf 20929//20929 21030//21030 20879//20879\nf 21180//21180 20571//20571 20570//20570\nf 20880//20880 21182//21182 20932//20932\nf 21182//21182 20879//20879 20932//20932\nf 20816//20816 21031//21031 20573//20573\nf 20880//20880 20681//20681 21033//21033\nf 20934//20934 20680//20680 21032//21032\nf 20935//20935 20819//20819 20738//20738\nf 20933//20933 21034//21034 21187//21187\nf 21190//21190 20823//20823 20695//20695\nf 21600//21600 21214//21214 21568//21568\nf 20936//20936 20743//20743 20937//20937\nf 20743//20743 20589//20589 20937//20937\nf 21038//21038 20937//20937 20589//20589\nf 21038//21038 20589//20589 20407//20407\nf 20883//20883 20844//20844 20938//20938\nf 20939//20939 20413//20413 21039//21039\nf 20413//20413 20414//20414 21041//21041\nf 21038//21038 20407//20407 20942//20942\nf 20419//20419 20942//20942 20407//20407\nf 21041//21041 20417//20417 20941//20941\nf 20744//20744 20844//20844 20940//20940\nf 20940//20940 20844//20844 20883//20883\nf 21041//21041 20414//20414 20417//20417\nf 20422//20422 20415//20415 21040//21040\nf 21191//21191 20746//20746 20943//20943\nf 20749//20749 21042//21042 20945//20945\nf 21045//21045 20422//20422 20946//20946\nf 20422//20422 21040//21040 20946//20946\nf 20941//20941 20418//20418 21043//21043\nf 21045//21045 20946//20946 20422//20422\nf 21276//21276 21046//21046 20593//20593\nf 21042//21042 20749//20749 20949//20949\nf 20949//20949 20846//20846 20950//20950\nf 20592//20592 20946//20946 21045//21045\nf 20947//20947 20419//20419 20424//20424\nf 20595//20595 20593//20593 21046//21046\nf 20952//20952 20884//20884 20423//20423\nf 20416//20416 20591//20591 21047//21047\nf 21194//21194 20948//20948 20885//20885\nf 20951//20951 20426//20426 20596//20596\nf 20416//20416 21047//21047 20953//20953\nf 20750//20750 21045//21045 21050//21050\nf 20955//20955 20756//20756 20954//20954\nf 20429//20429 20750//20750 21050//21050\nf 21052//21052 20697//20697 20953//20953\nf 21055//21055 21048//21048 20424//20424\nf 20754//20754 20752//20752 21051//21051\nf 20960//20960 20826//20826 20755//20755\nf 20953//20953 21053//21053 21052//21052\nf 20594//20594 20748//20748 20958//20958\nf 20438//20438 20758//20758 21054//21054\nf 21055//21055 20424//20424 20433//20433\nf 20957//20957 20757//20757 20754//20754\nf 20886//20886 20697//20697 21052//21052\nf 21059//21059 20756//20756 20955//20955\nf 20887//20887 20699//20699 21057//21057\nf 20699//20699 20429//20429 21057//21057\nf 20597//20597 20599//20599 20959//20959\nf 20959//20959 20599//20599 20956//20956\nf 20848//20848 20430//20430 20958//20958\nf 21061//21061 20756//20756 21059//21059\nf 20958//20958 20430//20430 21060//21060\nf 20887//20887 21062//21062 20442//20442\nf 20447//20447 20756//20756 21061//21061\nf 20445//20445 20962//20962 21054//21054\nf 21064//21064 20440//20440 20888//20888\nf 21065//21065 20760//20760 21062//21062\nf 21064//21064 20963//20963 20440//20440\nf 20447//20447 21061//21061 20450//20450\nf 21195//21195 20760//20760 21065//21065\nf 20963//20963 20451//20451 20440//20440\nf 20604//20604 20890//20890 20441//20441\nf 20450//20450 21061//21061 21215//21215\nf 21066//21066 20444//20444 20700//20700\nf 20449//20449 21070//21070 20456//20456\nf 20966//20966 20451//20451 20963//20963\nf 21066//21066 20700//20700 21071//21071\nf 21197//21197 20965//20965 20961//20961\nf 20454//20454 21074//21074 20891//20891\nf 20700//20700 21073//21073 21071//21071\nf 20450//20450 21072//21072 20453//20453\nf 20382//20382 21073//21073 20700//20700\nf 20609//20609 20459//20459 21081//21081\nf 20966//20966 20611//20611 20829//20829\nf 21076//21076 21077//21077 20606//20606\nf 21073//21073 20382//20382 20702//20702\nf 20605//20605 21074//21074 20454//20454\nf 21080//21080 21074//21074 20605//20605\nf 21082//21082 20603//20603 20705//20705\nf 21082//21082 21067//21067 20603//20603\nf 20967//20967 20611//20611 20966//20966\nf 20611//20611 20967//20967 20466//20466\nf 20465//20465 20466//20466 20967//20967\nf 20704//20704 20893//20893 20968//20968\nf 20704//20704 20968//20968 20461//20461\nf 20461//20461 21084//21084 20458//20458\nf 21075//21075 20458//20458 21084//21084\nf 20462//20462 20606//20606 21077//21077\nf 21085//21085 21073//21073 20702//20702\nf 21078//21078 20604//20604 20970//20970\nf 20604//20604 20607//20607 20970//20970\nf 20892//20892 20969//20969 20763//20763\nf 21087//21087 21080//21080 20849//20849\nf 20849//20849 21080//21080 20605//20605\nf 21082//21082 20468//20468 21088//21088\nf 21082//21082 20705//20705 20468//20468\nf 20462//20462 21089//21089 20467//20467\nf 20894//20894 21089//21089 20462//20462\nf 21090//21090 21085//21085 20709//20709\nf 20709//20709 21085//21085 20702//20702\nf 20969//20969 21086//21086 20971//20971\nf 20708//20708 20609//20609 21081//21081\nf 20973//20973 20971//20971 21086//21086\nf 21198//21198 20706//20706 20701//20701\nf 20972//20972 20849//20849 20707//20707\nf 21087//21087 20849//20849 20972//20972\nf 20763//20763 20971//20971 20973//20973\nf 21091//21091 20972//20972 20708//20708\nf 20707//20707 20708//20708 20972//20972\nf 20470//20470 20614//20614 21095//21095\nf 20896//20896 21088//21088 20468//20468\nf 21089//21089 21094//21094 20467//20467\nf 20467//20467 21094//21094 20765//20765\nf 21097//21097 21088//21088 20896//20896\nf 21097//21097 20896//20896 20472//20472\nf 21098//21098 20616//20616 20613//20613\nf 20614//20614 20615//20615 20475//20475\nf 21097//21097 20710//20710 20898//20898\nf 20980//20980 20766//20766 20974//20974\nf 21199//21199 20979//20979 20977//20977\nf 21094//21094 20897//20897 20976//20976\nf 20477//20477 20976//20976 20897//20897\nf 20767//20767 20978//20978 20977//20977\nf 21098//21098 20768//20768 20616//20616\nf 20983//20983 20852//20852 20979//20979\nf 21100//21100 20477//20477 20897//20897\nf 21099//21099 20479//20479 20478//20478\nf 20978//20978 20483//20483 20900//20900\nf 20770//20770 20852//20852 20983//20983\nf 21099//21099 20478//20478 21101//21101\nf 21098//21098 21102//21102 20768//20768\nf 20770//20770 21203//21203 20902//20902\nf 20769//20769 21100//21100 20985//20985\nf 20480//20480 20774//20774 20984//20984\nf 21203//21203 21105//21105 20902//20902\nf 21105//21105 20494//20494 20902//20902\nf 21107//21107 20901//20901 21106//21106\nf 20491//20491 21106//21106 20901//20901\nf 21100//21100 21108//21108 20985//20985\nf 20982//20982 21103//21103 20776//20776\nf 21103//21103 21109//21109 20776//20776\nf 20768//20768 21104//21104 20772//20772\nf 21111//21111 20900//20900 20620//20620\nf 20984//20984 20774//20774 21110//21110\nf 21106//21106 21107//21107 20491//20491\nf 20491//20491 21107//21107 21106//21106\nf 21112//21112 20779//20779 21109//21109\nf 20779//20779 20776//20776 21109//21109\nf 21105//21105 21107//21107 20494//20494\nf 21107//21107 21106//21106 20622//20622\nf 20622//20622 21106//21106 20491//20491\nf 20494//20494 21107//21107 20622//20622\nf 21110//21110 20774//20774 20903//20903\nf 20500//20500 20779//20779 21112//21112\nf 20904//20904 20772//20772 21104//21104\nf 20832//20832 20905//20905 20855//20855\nf 21108//21108 20905//20905 20832//20832\nf 21112//21112 20906//20906 20500//20500\nf 20499//20499 20781//20781 21114//21114\nf 20906//20906 20785//20785 20628//20628\nf 20906//20906 21117//21117 20785//20785\nf 20780//20780 20904//20904 20715//20715\nf 20988//20988 20715//20715 20904//20904\nf 21116//21116 20505//20505 21119//21119\nf 20630//20630 20987//20987 21114//21114\nf 21120//21120 20502//20502 21117//21117\nf 21120//21120 20989//20989 20502//20502\nf 20834//20834 20992//20992 20993//20993\nf 20993//20993 20992//20992 21123//21123\nf 20990//20990 20508//20508 21124//21124\nf 21119//21119 20505//20505 20790//20790\nf 20986//20986 21118//21118 20994//20994\nf 20787//20787 20989//20989 20507//20507\nf 20507//20507 20989//20989 21207//21207\nf 20996//20996 20507//20507 21207//21207\nf 20995//20995 20786//20786 20791//20791\nf 20993//20993 20998//20998 20997//20997\nf 20508//20508 20793//20793 21125//21125\nf 20507//20507 21126//21126 20996//20996\nf 20996//20996 21126//21126 20860//20860\nf 20790//20790 20911//20911 20910//20910\nf 20911//20911 20999//20999 20910//20910\nf 20912//20912 20860//20860 21126//21126\nf 21127//21127 21125//21125 20510//20510\nf 20794//20794 20994//20994 20913//20913\nf 20910//20910 20911//20911 20999//20999\nf 20999//20999 20911//20911 20910//20910\nf 21001//21001 20859//20859 20635//20635\nf 20797//20797 20511//20511 20912//20912\nf 20797//20797 20912//20912 21128//21128\nf 20861//20861 21000//21000 20998//20998\nf 21127//21127 20514//20514 21129//21129\nf 21002//21002 20797//20797 21128//21128\nf 20911//20911 20862//20862 20864//20864\nf 20797//20797 21002//21002 20517//20517\nf 20865//20865 20861//20861 20914//20914\nf 20914//20914 20861//20861 20998//20998\nf 21129//21129 20637//20637 21132//21132\nf 20514//20514 20637//20637 21129//21129\nf 20517//20517 21002//21002 21133//21133\nf 20517//20517 21133//21133 21004//21004\nf 21134//21134 21132//21132 20523//20523\nf 20637//20637 20523//20523 21132//21132\nf 20522//20522 21135//21135 20864//20864\nf 21006//21006 20800//20800 21130//21130\nf 21134//21134 20523//20523 21137//21137\nf 20522//20522 20916//20916 21135//21135\nf 21007//21007 20641//20641 21004//21004\nf 21137//21137 20646//20646 21009//21009\nf 20523//20523 20646//20646 21137//21137\nf 21008//21008 21005//21005 21136//21136\nf 21008//21008 21136//21136 20917//20917\nf 21208//21208 21138//21138 21006//21006\nf 20915//20915 20835//20835 20918//20918\nf 20835//20835 20802//20802 20918//20918\nf 21008//21008 20869//20869 21005//21005\nf 21009//21009 20646//20646 20870//20870\nf 21009//21009 20870//20870 21140//21140\nf 21138//21138 20871//20871 20526//20526\nf 20870//20870 20532//20532 21140//21140\nf 21209//21209 20920//20920 21139//21139\nf 20918//20918 21010//21010 21142//21142\nf 20532//20532 21011//21011 21140//21140\nf 20872//20872 20917//20917 21143//21143\nf 20917//20917 21210//21210 21143//21143\nf 21150//21150 21143//21143 21145//21145\nf 20805//20805 20872//20872 21143//21143\nf 21150//21150 20805//20805 21143//21143\nf 21012//21012 20533//20533 21144//21144\nf 20919//20919 20836//20836 20651//20651\nf 21013//21013 20920//20920 21146//21146\nf 21011//21011 20540//20540 21149//21149\nf 21155//21155 20804//20804 20922//20922\nf 20804//20804 21147//21147 21010//21010\nf 21149//21149 20540//20540 21014//21014\nf 20807//20807 21013//21013 21153//21153\nf 21155//21155 21147//21147 20804//20804\nf 21145//21145 21148//21148 21150//21150\nf 21148//21148 20805//20805 21150//21150\nf 20540//20540 20806//20806 21014//21014\nf 21016//21016 20805//20805 21148//21148\nf 20537//20537 21151//21151 20653//20653\nf 21156//21156 21019//21019 21148//21148\nf 21015//21015 20655//20655 21157//21157\nf 20923//20923 21153//21153 21017//21017\nf 21016//21016 21148//21148 21019//21019\nf 20655//20655 20924//20924 21157//21157\nf 20809//20809 21017//21017 21021//21021\nf 20925//20925 21019//21019 21156//21156\nf 20810//20810 20926//20926 21159//21159\nf 20655//20655 20810//20810 21157//21157\nf 21160//21160 20653//20653 21151//21151\nf 20838//20838 20925//20925 21156//21156\nf 20838//20838 20925//20925 20926//20926\nf 21161//21161 20653//20653 21160//21160\nf 21154//21154 21020//21020 20656//20656\nf 20545//20545 21162//21162 20661//20661\nf 21161//21161 21162//21162 20545//20545\nf 21163//21163 20548//20548 20873//20873\nf 21162//21162 21024//21024 20661//20661\nf 20875//20875 21024//21024 20840//20840\nf 21166//21166 20927//20927 20664//20664\nf 21167//21167 21166//21166 20664//20664\nf 21168//21168 21167//21167 20664//20664\nf 21025//21025 21169//21169 20665//20665\nf 20555//20555 21170//21170 21168//21168\nf 21026//21026 21171//21171 20557//20557\nf 20814//20814 21172//21172 20928//20928\nf 21170//21170 20559//20559 21174//21174\nf 20559//20559 20735//20735 21174//21174\nf 20928//20928 21173//21173 20667//20667\nf 21173//21173 21175//21175 20815//20815\nf 21173//21173 20815//20815 21175//21175\nf 21174//21174 20561//20561 21173//21173\nf 20735//20735 20561//20561 21174//21174\nf 21176//21176 21027//21027 20563//20563\nf 21176//21176 20563//20563 20564//20564\nf 20566//20566 21177//21177 21178//21178\nf 20564//20564 20929//20929 21176//21176\nf 21179//21179 20567//20567 21178//21178\nf 20568//20568 20567//20567 21179//21179\nf 21180//21180 20816//20816 20571//20571\nf 21180//21180 21181//21181 20816//20816\nf 20879//20879 21182//21182 20931//20931\nf 21183//21183 21182//21182 20880//20880\nf 21031//21031 20816//20816 21181//21181\nf 21184//21184 21183//21183 20880//20880\nf 20880//20880 21183//21183 21184//21184\nf 21184//21184 21183//21183 20880//20880\nf 21033//21033 21184//21184 20880//20880\nf 20818//20818 21185//21185 20681//20681\nf 20681//20681 21185//21185 21033//21033\nf 21187//21187 21185//21185 20818//20818\nf 20934//20934 21032//21032 20935//20935\nf 20933//20933 21187//21187 20818//20818\nf 20819//20819 20935//20935 21186//21186\nf 21186//21186 21035//21035 20819//20819\nf 21187//21187 20820//20820 21034//21034\nf 21187//21187 21034//21034 20820//20820\nf 20933//20933 20820//20820 21034//21034\nf 21034//21034 20821//20821 21188//21188\nf 20821//20821 21034//21034 20820//20820\nf 20821//20821 20819//20819 21035//21035\nf 21188//21188 20821//20821 21035//21035\nf 20406//20406 21037//21037 21036//21036\nf 21036//21036 20881//20881 20406//20406\nf 21040//21040 20415//20415 21036//21036\nf 21039//21039 20413//20413 21041//21041\nf 21044//21044 20751//20751 21191//21191\nf 21191//21191 20751//20751 20746//20746\nf 20949//20949 20950//20950 21042//21042\nf 21192//21192 21042//21042 20950//20950\nf 21047//21047 20940//20940 21193//21193\nf 21047//21047 20591//20591 20940//20940\nf 20948//20948 20941//20941 21043//21043\nf 21043//21043 20418//20418 20948//20948\nf 20751//20751 21044//21044 20954//20954\nf 20752//20752 20426//20426 21051//21051\nf 21049//21049 21051//21051 20426//20426\nf 20885//20885 20594//20594 21194//21194\nf 20960//20960 20952//20952 20826//20826\nf 21057//21057 20429//20429 21050//21050\nf 20950//20950 20438//20438 21054//21054\nf 20748//20748 20848//20848 20958//20958\nf 21058//21058 20888//20888 20436//20436\nf 20888//20888 20435//20435 20436//20436\nf 20961//20961 20886//20886 21052//21052\nf 21060//21060 20601//20601 20890//20890\nf 20964//20964 21054//21054 20962//20962\nf 20960//20960 20755//20755 21066//21066\nf 20446//20446 20603//20603 21067//21067\nf 20891//20891 20964//20964 20761//20761\nf 20449//20449 20760//20760 21195//21195\nf 20604//20604 21068//21068 20890//20890\nf 20449//20449 21195//21195 21070//21070\nf 21071//21071 21196//21196 21066//21066\nf 21071//21071 21073//21073 21196//21196\nf 21068//21068 20604//20604 21078//21078\nf 21076//21076 20458//20458 21075//21075\nf 21079//21079 20701//20701 20453//20453\nf 20465//20465 20967//20967 21083//21083\nf 20703//20703 21083//21083 20893//20893\nf 20703//20703 20465//20465 21083//21083\nf 20968//20968 21084//21084 20461//20461\nf 20965//20965 21197//21197 21086//21086\nf 20969//20969 20965//20965 21086//21086\nf 20970//20970 20607//20607 20895//20895\nf 21093//21093 20706//20706 21198//21198\nf 20895//20895 20470//20470 21092//21092\nf 20470//20470 21095//21095 21092//21092\nf 20613//20613 21093//21093 21096//21096\nf 20975//20975 20831//20831 20473//20473\nf 20614//20614 20475//20475 21217//21217\nf 21098//21098 20613//20613 21096//21096\nf 21200//21200 20979//20979 21199//21199\nf 21201//21201 21097//21097 20898//20898\nf 21201//21201 20898//20898 20981//20981\nf 20980//20980 20974//20974 21202//21202\nf 20978//20978 21199//21199 20977//20977\nf 20980//20980 21219//21219 20982//20982\nf 21218//21218 20475//20475 20984//20984\nf 20770//20770 20983//20983 21203//21203\nf 21104//21104 20768//20768 21102//21102\nf 21107//21107 21204//21204 20901//20901\nf 20769//20769 21108//21108 20832//20832\nf 20496//20496 20497//20497 21113//21113\nf 21110//21110 20903//20903 20501//20501\nf 21111//21111 20777//20777 20499//20499\nf 21110//21110 20501//20501 21115//21115\nf 20628//20628 20500//20500 20906//20906\nf 20497//20497 20505//20505 21116//21116\nf 21117//21117 20502//20502 20785//20785\nf 20501//20501 20786//20786 21115//21115\nf 20786//20786 21121//21121 21115//21115\nf 20857//20857 20715//20715 20988//20988\nf 20858//20858 20857//20857 20908//20908\nf 20990//20990 21124//21124 21125//21125\nf 21119//21119 20790//20790 20910//20910\nf 20994//20994 21118//21118 21206//21206\nf 20996//20996 21126//21126 20507//20507\nf 21001//21001 20995//20995 20859//20859\nf 20510//20510 20796//20796 21127//21127\nf 20911//20911 20910//20910 20999//20999\nf 21130//21130 20794//20794 20913//20913\nf 20998//20998 21131//21131 20914//20914\nf 21136//21136 21005//21005 20914//20914\nf 20914//20914 21131//21131 21136//21136\nf 20916//20916 21141//21141 21135//21135\nf 20643//20643 21141//21141 20916//20916\nf 20917//20917 21143//21143 21210//21210\nf 21145//21145 21143//21143 20917//20917\nf 20806//20806 21015//21015 21014//21014\nf 21154//21154 20651//20651 21152//21152\nf 21152//21152 20651//20651 21154//21154\nf 21022//21022 21021//21021 21018//21018\nf 20926//20926 21156//21156 21211//21211\nf 21159//21159 20926//20926 21211//21211\nf 20925//20925 20838//20838 21156//21156\nf 21159//21159 21157//21157 20810//20810\nf 21154//21154 20656//20656 21020//21020\nf 20838//20838 20926//20926 20811//20811\nf 21161//21161 20545//20545 20653//20653\nf 21020//21020 20656//20656 21023//21023\nf 21163//21163 21023//21023 20548//20548\nf 21163//21163 21020//21020 21023//21023\nf 20874//20874 20927//20927 21164//21164\nf 21025//21025 20841//20841 20840//20840\nf 20814//20814 20557//20557 21172//21172\nf 20567//20567 20566//20566 21178//21178\nf 20568//20568 21179//21179 20930//20930\nf 21212//21212 20570//20570 20930//20930\nf 21184//21184 21182//21182 21183//21183\nf 21034//21034 21188//21188 21213//21213\nf 21034//21034 21213//21213 21187//21187\nf 21632//21632 21305//21305 21306//21306\nf 20406//20406 20590//20590 21189//21189\nf 21214//21214 21190//21190 21568//21568\nf 21568//21568 21190//21190 20936//20936\nf 21323//21323 21322//21322 21276//21276\nf 20951//20951 20595//20595 21046//21046\nf 21193//21193 21232//21232 21047//21047\nf 21230//21230 20955//20955 20954//20954\nf 21229//21229 20950//20950 21054//21054\nf 21056//21056 20754//20754 21051//21051\nf 20953//20953 21232//21232 21053//21053\nf 21194//21194 20594//20594 20958//20958\nf 21230//21230 21059//21059 20955//20955\nf 21194//21194 20958//20958 21233//21233\nf 21569//21569 21058//21058 20956//20956\nf 21236//21236 21060//21060 20890//20890\nf 21072//21072 21215//21215 21061//21061\nf 20446//20446 21067//21067 21063//21063\nf 21069//21069 20450//20450 21215//21215\nf 21079//21079 20453//20453 21072//21072\nf 21068//21068 21078//21078 20970//20970\nf 20894//20894 20462//20462 21077//21077\nf 21216//21216 21082//21082 21088//21088\nf 20895//20895 21092//21092 21095//21095\nf 21088//21088 21097//21097 21216//21216\nf 21090//21090 20831//20831 20975//20975\nf 21242//21242 21199//21199 20978//20978\nf 20479//20479 21099//21099 20975//20975\nf 20614//20614 21217//21217 21095//21095\nf 21244//21244 20978//20978 20900//20900\nf 21205//21205 20496//20496 21113//21113\nf 20499//20499 21114//21114 21111//21111\nf 21113//21113 20497//20497 21116//21116\nf 21117//21117 20989//20989 21120//21120\nf 20990//20990 21114//21114 20987//20987\nf 20998//20998 20993//20993 21220//21220\nf 21131//21131 21221//21221 21136//21136\nf 21142//21142 20915//20915 20918//20918\nf 20917//20917 21136//21136 21210//21210\nf 21142//21142 21222//21222 20915//20915\nf 21210//21210 21143//21143 20917//20917\nf 21210//21210 21145//21145 21143//21143\nf 20920//20920 21209//21209 21146//21146\nf 21147//21147 21142//21142 21010//21010\nf 21223//21223 21156//21156 21148//21148\nf 21148//21148 21145//21145 21223//21223\nf 21265//21265 21149//21149 21015//21015\nf 21149//21149 21014//21014 21015//21015\nf 20651//20651 21154//21154 20919//20919\nf 21147//21147 21155//21155 21018//21018\nf 21264//21264 21018//21018 21021//21021\nf 21157//21157 21159//21159 21267//21267\nf 20926//20926 20925//20925 21156//21156\nf 21164//21164 21163//21163 20874//20874\nf 20840//20840 21024//21024 21165//21165\nf 20557//20557 21171//21171 21172//21172\nf 21027//21027 21270//21270 21028//21028\nf 21180//21180 20570//20570 21212//21212\nf 21271//21271 20929//20929 20931//20931\nf 21272//21272 21180//21180 21212//21212\nf 21273//21273 21182//21182 21184//21184\nf 21185//21185 21184//21184 21033//21033\nf 21185//21185 21274//21274 21184//21184\nf 21213//21213 21188//21188 21035//21035\nf 21186//21186 21213//21213 21035//21035\nf 20843//20843 21190//21190 21214//21214\nf 20936//20936 20937//20937 21038//21038\nf 21045//21045 20946//20946 21040//21040\nf 20941//20941 21228//21228 21331//21331\nf 20940//20940 20883//20883 21227//21227\nf 20951//20951 21329//21329 21049//21049\nf 21193//21193 20940//20940 21227//21227\nf 21231//21231 21056//21056 21051//21051\nf 20948//20948 21194//21194 21233//21233\nf 20957//20957 20754//20754 21056//21056\nf 21066//21066 21196//21196 20960//20960\nf 20960//20960 21196//21196 21234//21234\nf 20963//20963 21064//21064 20888//20888\nf 21053//21053 21235//21235 21052//21052\nf 20961//20961 21052//21052 21235//21235\nf 21072//21072 21069//21069 21215//21215\nf 21372//21372 20966//20966 21360//21360\nf 20961//20961 21235//21235 21237//21237\nf 20961//20961 21237//21237 21197//21197\nf 20894//20894 21077//21077 21076//21076\nf 21197//21197 21237//21237 21086//21086\nf 20966//20966 21238//21238 20967//20967\nf 21068//21068 20970//20970 21078//21078\nf 21086//21086 21237//21237 21279//21279\nf 21093//21093 21198//21198 21079//21079\nf 21198//21198 20701//20701 21079//21079\nf 20973//20973 21086//21086 21239//21239\nf 21216//21216 21201//21201 21241//21241\nf 21412//21412 20895//20895 21095//21095\nf 20973//20973 21202//21202 20974//20974\nf 20973//20973 21239//21239 21202//21202\nf 21097//21097 21201//21201 21216//21216\nf 20975//20975 21099//21099 21243//21243\nf 21217//21217 20475//20475 21218//21218\nf 21243//21243 21099//21099 21101//21101\nf 21101//21101 20485//20485 21205//21205\nf 20900//20900 21111//21111 21245//21245\nf 21204//21204 21107//21107 21105//21105\nf 21100//21100 21247//21247 21108//21108\nf 21291//21291 21111//21111 21114//21114\nf 21112//21112 21248//21248 20906//20906\nf 21115//21115 21249//21249 21110//21110\nf 20990//20990 21250//21250 21114//21114\nf 21292//21292 20989//20989 21117//21117\nf 20990//20990 21125//21125 21293//21293\nf 20996//20996 21207//21207 21471//21471\nf 21123//21123 21220//21220 20993//20993\nf 21253//21253 21125//21125 21127//21127\nf 20994//20994 21206//21206 21254//21254\nf 20998//20998 21220//21220 21252//21252\nf 20913//20913 20994//20994 21254//21254\nf 21127//21127 21129//21129 21255//21255\nf 21130//21130 20913//20913 21254//21254\nf 21130//21130 21254//21254 21256//21256\nf 21131//21131 20998//20998 21252//21252\nf 21131//21131 21252//21252 21221//21221\nf 21221//21221 21258//21258 21136//21136\nf 21006//21006 21130//21130 21208//21208\nf 21257//21257 20915//20915 21222//21222\nf 21257//21257 21003//21003 20915//20915\nf 21137//21137 21009//21009 21140//21140\nf 21299//21299 21137//21137 21140//21140\nf 21504//21504 21259//21259 21509//21509\nf 21136//21136 21258//21258 21210//21210\nf 21141//21141 21224//21224 21259//21259\nf 21140//21140 21011//21011 21262//21262\nf 21012//21012 21144//21144 21138//21138\nf 21224//21224 21141//21141 20919//20919\nf 21147//21147 21260//21260 21142//21142\nf 21210//21210 21223//21223 21145//21145\nf 20919//20919 21154//21154 21224//21224\nf 21263//21263 21017//21017 21153//21153\nf 21153//21153 21146//21146 21263//21263\nf 21018//21018 21264//21264 21147//21147\nf 21266//21266 21264//21264 21021//21021\nf 21267//21267 21159//21159 21211//21211\nf 21301//21301 21161//21161 21151//21151\nf 21020//21020 21225//21225 21154//21154\nf 21161//21161 21160//21160 21151//21151\nf 21172//21172 21269//21269 21173//21173\nf 20928//20928 21172//21172 21173//21173\nf 21268//21268 21174//21174 21173//21173\nf 21170//21170 21174//21174 21268//21268\nf 21029//21029 21549//21549 21177//21177\nf 21550//21550 21179//21179 21303//21303\nf 21178//21178 21177//21177 21303//21303\nf 21182//21182 21271//21271 20931//20931\nf 21187//21187 21274//21274 21185//21185\nf 21312//21312 21311//21311 20945//20945\nf 20954//20954 21191//21191 21275//21275\nf 20954//20954 21044//21044 21191//21191\nf 21045//21045 21040//21040 20946//20946\nf 21320//21320 20946//20946 21309//21309\nf 20946//20946 21040//21040 21309//21309\nf 20941//20941 20948//20948 21228//21228\nf 21333//21333 20947//20947 21048//21048\nf 21227//21227 21335//21335 21338//21338\nf 21332//21332 21230//21230 20954//20954\nf 21336//21336 20948//20948 21341//21341\nf 21231//21231 21051//21051 21340//21340\nf 21233//21233 21343//21343 20948//20948\nf 20960//20960 21277//21277 20952//20952\nf 21319//21319 21229//21229 21054//21054\nf 21234//21234 21277//21277 20960//20960\nf 20953//20953 21047//21047 21232//21232\nf 20887//20887 21057//21057 21344//21344\nf 21058//21058 20959//20959 20956//20956\nf 20956//20956 20957//20957 21345//21345\nf 20958//20958 21347//21347 21233//21233\nf 20888//20888 21278//21278 20963//20963\nf 21353//21353 21356//21356 21059//21059\nf 20963//20963 21278//21278 21351//21351\nf 20964//20964 21074//21074 21362//21362\nf 21195//21195 21065//21065 21361//21361\nf 21369//21369 21195//21195 21361//21361\nf 21074//21074 20964//20964 20891//20891\nf 21083//21083 20967//20967 21386//21386\nf 21377//21377 21080//21080 21087//21087\nf 21239//21239 21086//21086 21279//21279\nf 21081//21081 21281//21281 21091//21091\nf 21216//21216 21280//21280 21082//21082\nf 21090//21090 21398//21398 21085//21085\nf 21383//21383 20970//20970 20895//20895\nf 21400//21400 21393//21393 21091//21091\nf 21393//21393 20972//20972 21091//21091\nf 21282//21282 21284//21284 21283//21283\nf 21199//21199 21285//21285 21240//21240\nf 21242//21242 21285//21285 21199//21199\nf 21401//21401 21285//21285 21242//21242\nf 21200//21200 21199//21199 21240//21240\nf 21282//21282 21200//21200 21240//21240\nf 21200//21200 21282//21282 21286//21286\nf 21287//21287 21241//21241 21201//21201\nf 21283//21283 21241//21241 21287//21287\nf 21405//21405 21094//21094 21089//21089\nf 20975//20975 21243//21243 21288//21288\nf 21289//21289 20980//20980 21202//21202\nf 21418//21418 21242//21242 20978//20978\nf 21219//21219 20980//20980 21289//21289\nf 21418//21418 20978//20978 21244//21244\nf 21100//21100 20897//20897 21430//21430\nf 21436//21436 21101//21101 21290//21290\nf 21103//21103 21437//21437 21432//21432\nf 21434//21434 21204//21204 21203//21203\nf 21447//21447 21246//21246 21205//21205\nf 21112//21112 21109//21109 21103//21103\nf 21444//21444 21103//21103 21443//21443\nf 21203//21203 21204//21204 21105//21105\nf 21101//21101 21205//21205 21246//21246\nf 21446//21446 21111//21111 21291//21291\nf 21292//21292 21117//21117 21457//21457\nf 20905//20905 21466//21466 21118//21118\nf 21294//21294 21123//21123 21470//21470\nf 21220//21220 21123//21123 21294//21294\nf 20910//20910 21475//21475 21462//21462\nf 21126//21126 20996//20996 21480//21480\nf 21296//21296 21220//21220 21295//21295\nf 21126//21126 21480//21480 21486//21486\nf 21494//21494 20911//20911 20864//20864\nf 21490//21490 21001//21001 21003//21003\nf 21129//21129 21255//21255 21132//21132\nf 21255//21255 21129//21129 21132//21132\nf 21133//21133 21486//21486 21495//21495\nf 21257//21257 21490//21490 21003//21003\nf 21297//21297 21221//21221 21491//21491\nf 21258//21258 21221//21221 21297//21297\nf 21258//21258 21297//21297 21298//21298\nf 21132//21132 21134//21134 21137//21137\nf 21588//21588 21257//21257 21222//21222\nf 21210//21210 21298//21298 21261//21261\nf 21504//21504 21135//21135 21259//21259\nf 21210//21210 21258//21258 21298//21298\nf 21210//21210 21261//21261 21223//21223\nf 21224//21224 20919//20919 21259//21259\nf 21259//21259 20919//20919 21224//21224\nf 21149//21149 21265//21265 21515//21515\nf 21017//21017 21263//21263 21266//21266\nf 21156//21156 21223//21223 21300//21300\nf 21021//21021 21017//21017 21266//21266\nf 21156//21156 21300//21300 21211//21211\nf 21157//21157 21520//21520 21265//21265\nf 21015//21015 21157//21157 21265//21265\nf 21599//21599 21224//21224 21154//21154\nf 21301//21301 21151//21151 21524//21524\nf 21225//21225 21020//21020 21163//21163\nf 21528//21528 21225//21225 21163//21163\nf 21531//21531 21532//21532 21024//21024\nf 21532//21532 21165//21165 21024//21024\nf 21535//21535 21534//21534 21166//21166\nf 21025//21025 21302//21302 21169//21169\nf 21167//21167 21168//21168 21535//21535\nf 21169//21169 21539//21539 21026//21026\nf 21541//21541 21172//21172 21171//21171\nf 21268//21268 21173//21173 21269//21269\nf 21549//21549 21029//21029 21546//21546\nf 21179//21179 21178//21178 21303//21303\nf 21272//21272 21554//21554 21180//21180\nf 21558//21558 21182//21182 21273//21273\nf 21274//21274 21558//21558 21273//21273\nf 21187//21187 21304//21304 21274//21274\nf 20935//20935 21032//21032 21031//21031\nf 21186//21186 21565//21565 21213//21213\nf 21304//21304 21187//21187 21213//21213\nf 21305//21305 21037//21037 21306//21306\nf 21632//21632 21306//21306 21307//21307\nf 21986//21986 21600//21600 21969//21969\nf 21308//21308 20936//20936 21038//21038\nf 21305//21305 21036//21036 21037//21037\nf 21309//21309 21036//21036 21305//21305\nf 21308//21308 21038//21038 21310//21310\nf 21311//21311 20943//20943 20945//20945\nf 21312//21312 20945//20945 21042//21042\nf 21036//21036 21309//21309 21040//21040\nf 21311//21311 21191//21191 20943//20943\nf 21315//21315 21042//21042 21192//21192\nf 21315//21315 21313//21313 21042//21042\nf 20942//20942 21310//21310 21038//21038\nf 21310//21310 20942//20942 21316//21316\nf 21317//21317 21275//21275 21314//21314\nf 21314//21314 21275//21275 21191//21191\nf 21321//21321 21316//21316 20942//20942\nf 21317//21317 20954//20954 21275//21275\nf 21192//21192 20950//20950 21315//21315\nf 21318//21318 21315//21315 21319//21319\nf 20950//20950 21319//21319 21315//21315\nf 21276//21276 20593//20593 20884//20884\nf 21601//21601 20884//20884 21324//21324\nf 20952//20952 21324//21324 20884//20884\nf 20883//20883 20938//20938 21325//21325\nf 21330//21330 21326//21326 21039//21039\nf 20939//20939 21039//21039 21326//21326\nf 21327//21327 20954//20954 21317//21317\nf 21319//21319 20950//20950 21229//21229\nf 21328//21328 21049//21049 21329//21329\nf 21046//21046 21322//21322 20951//20951\nf 21276//21276 21322//21322 21046//21046\nf 21039//21039 21041//21041 21331//21331\nf 21331//21331 21041//21041 20941//20941\nf 21327//21327 21332//21332 20954//20954\nf 21328//21328 21334//21334 21051//21051\nf 21049//21049 21328//21328 21051//21051\nf 21193//21193 21227//21227 21338//21338\nf 21336//21336 21228//21228 20948//20948\nf 20952//20952 21337//21337 21324//21324\nf 21059//21059 21230//21230 21332//21332\nf 21340//21340 21051//21051 21334//21334\nf 21345//21345 20957//20957 21231//21231\nf 21345//21345 21231//21231 21340//21340\nf 21346//21346 21232//21232 21342//21342\nf 21342//21342 21232//21232 21193//21193\nf 20948//20948 21343//21343 21341//21341\nf 21057//21057 21050//21050 21344//21344\nf 21348//21348 21333//21333 21055//21055\nf 21333//21333 21048//21048 21055//21055\nf 21343//21343 21233//21233 21347//21347\nf 21319//21319 21054//21054 21350//21350\nf 21050//21050 21339//21339 21344//21344\nf 21756//21756 21569//21569 21603//21603\nf 21232//21232 21346//21346 21053//21053\nf 20888//20888 21351//21351 21278//21278\nf 21355//21355 21053//21053 21346//21346\nf 21347//21347 20958//20958 21352//21352\nf 20958//20958 21352//21352 21571//21571\nf 21054//21054 20964//20964 21350//21350\nf 21348//21348 21055//21055 21063//21063\nf 21234//21234 21196//21196 21277//21277\nf 21357//21357 21062//21062 20887//20887\nf 21358//21358 21348//21348 21063//21063\nf 21354//21354 21277//21277 21196//21196\nf 21352//21352 21060//21060 21573//21573\nf 21359//21359 21350//21350 20964//20964\nf 21361//21361 21065//21065 21357//21357\nf 21061//21061 21059//21059 21356//21356\nf 21065//21065 21062//21062 21357//21357\nf 21235//21235 21053//21053 21355//21355\nf 21362//21362 21359//21359 20964//20964\nf 21196//21196 21363//21363 21354//21354\nf 21365//21365 21364//21364 20890//20890\nf 21068//21068 21365//21365 20890//20890\nf 21362//21362 21074//21074 21367//21367\nf 21195//21195 21369//21369 21070//21070\nf 21368//21368 21070//21070 21369//21369\nf 21067//21067 21370//21370 21063//21063\nf 21063//21063 21370//21370 21358//21358\nf 21073//21073 21363//21363 21196//21196\nf 20963//20963 21360//21360 20966//20966\nf 21372//21372 21360//21360 21574//21574\nf 21377//21377 21367//21367 21074//21074\nf 21374//21374 21373//21373 21076//21076\nf 21076//21076 21375//21375 20894//20894\nf 21076//21076 21373//21373 21375//21375\nf 21371//21371 21079//21079 21072//21072\nf 21080//21080 21377//21377 21074//21074\nf 21081//21081 21070//21070 21368//21368\nf 21378//21378 21081//21081 21368//21368\nf 21370//21370 21067//21067 21082//21082\nf 21370//21370 21082//21082 21379//21379\nf 20966//20966 21372//21372 21380//21380\nf 21238//21238 20966//20966 21380//21380\nf 21076//21076 21075//21075 21374//21374\nf 21375//21375 21381//21381 20894//20894\nf 21085//21085 21363//21363 21073//21073\nf 21085//21085 21382//21382 21363//21363\nf 21237//21237 21376//21376 21279//21279\nf 21078//21078 21383//21383 21068//21068\nf 21371//21371 21390//21390 21079//21079\nf 20968//20968 20893//20893 21388//21388\nf 21384//21384 21075//21075 21084//21084\nf 21384//21384 21374//21374 21075//21075\nf 20893//20893 21083//21083 21387//21387\nf 20893//20893 21387//21387 21388//21388\nf 21084//21084 20968//20968 21384//21384\nf 21280//21280 21385//21385 21082//21082\nf 21385//21385 21379//21379 21082//21082\nf 20894//20894 21381//21381 21391//21391\nf 21383//21383 21078//21078 20970//20970\nf 21093//21093 21079//21079 21390//21390\nf 21394//21394 21081//21081 21378//21378\nf 21400//21400 21091//21091 21394//21394\nf 21394//21394 21091//21091 21281//21281\nf 21394//21394 21281//21281 21081//21081\nf 21395//21395 21392//21392 21240//21240\nf 21392//21392 21397//21397 21282//21282\nf 21216//21216 21385//21385 21280//21280\nf 21085//21085 21398//21398 21382//21382\nf 21240//21240 21396//21396 21395//21395\nf 21240//21240 21392//21392 21282//21282\nf 21284//21284 21282//21282 21397//21397\nf 20894//20894 21391//21391 21089//21089\nf 20972//20972 21393//21393 21087//21087\nf 21240//21240 21401//21401 21396//21396\nf 21391//21391 21405//21405 21089//21089\nf 21240//21240 21285//21285 21401//21401\nf 21283//21283 21284//21284 21241//21241\nf 21241//21241 21284//21284 21402//21402\nf 21216//21216 21241//21241 21404//21404\nf 21398//21398 21090//21090 21407//21407\nf 21410//21410 21283//21283 21284//21284\nf 21093//21093 21409//21409 21096//21096\nf 21399//21399 21409//21409 21093//21093\nf 21408//21408 21401//21401 21242//21242\nf 21286//21286 21282//21282 21410//21410\nf 21284//21284 21283//21283 21287//21287\nf 21090//21090 20975//20975 21407//21407\nf 20975//20975 21288//21288 21407//21407\nf 21403//21403 20895//20895 21411//21411\nf 20895//20895 21412//21412 21411//21411\nf 21410//21410 21282//21282 21283//21283\nf 21413//21413 21410//21410 21284//21284\nf 21094//21094 21405//21405 21414//21414\nf 21095//21095 21415//21415 21412//21412\nf 21408//21408 21242//21242 21416//21416\nf 21413//21413 21286//21286 21410//21410\nf 21202//21202 21239//21239 21406//21406\nf 21413//21413 21200//21200 21286//21286\nf 21202//21202 21417//21417 21289//21289\nf 21287//21287 21201//21201 21419//21419\nf 21243//21243 21420//21420 21288//21288\nf 20981//20981 21424//21424 21201//21201\nf 21418//21418 21244//21244 21421//21421\nf 20979//20979 21200//21200 21422//21422\nf 21423//21423 21422//21422 21200//21200\nf 21423//21423 21200//21200 21413//21413\nf 21417//21417 21219//21219 21289//21289\nf 21427//21427 21415//21415 21095//21095\nf 20979//20979 21422//21422 21423//21423\nf 21243//21243 21429//21429 21420//21420\nf 21095//21095 21217//21217 21427//21427\nf 21409//21409 21428//21428 21098//21098\nf 21217//21217 21218//21218 21427//21427\nf 21244//21244 20900//20900 21421//21421\nf 20900//20900 21431//21431 21421//21421\nf 20901//20901 21424//21424 20981//20981\nf 20982//20982 21219//21219 21432//21432\nf 21432//21432 21219//21219 21426//21426\nf 21218//21218 21438//21438 21578//21578\nf 21245//21245 21431//21431 20900//20900\nf 20979//20979 21423//21423 20983//20983\nf 21433//21433 21435//21435 21204//21204\nf 20901//20901 21435//21435 21424//21424\nf 20982//20982 21432//21432 21437//21437\nf 21439//21439 21102//21102 21098//21098\nf 21428//21428 21439//21439 21098//21098\nf 21577//21577 21431//21431 21245//21245\nf 20983//20983 21423//21423 21440//21440\nf 21440//21440 21433//21433 21204//21204\nf 21433//21433 21434//21434 21204//21204\nf 21433//21433 21204//21204 21434//21434\nf 21204//21204 21435//21435 20901//20901\nf 20982//20982 21437//21437 21103//21103\nf 21579//21579 21577//21577 21245//21245\nf 21430//21430 21441//21441 21100//21100\nf 21204//21204 21434//21434 21440//21440\nf 21579//21579 21245//21245 21111//21111\nf 21203//21203 20983//20983 21440//21440\nf 21440//21440 21434//21434 21203//21203\nf 21290//21290 21101//21101 21246//21246\nf 21447//21447 21290//21290 21246//21246\nf 21444//21444 21112//21112 21103//21103\nf 21102//21102 21445//21445 21104//21104\nf 21102//21102 21439//21439 21445//21445\nf 21112//21112 21444//21444 21443//21443\nf 21449//21449 21112//21112 21443//21443\nf 21438//21438 20984//20984 21448//21448\nf 21579//21579 21111//21111 21446//21446\nf 21100//21100 21441//21441 21247//21247\nf 20984//20984 21110//21110 21448//21448\nf 21452//21452 21447//21447 21205//21205\nf 21449//21449 21451//21451 21112//21112\nf 21248//21248 21112//21112 21451//21451\nf 21454//21454 21446//21446 21291//21291\nf 21108//21108 21453//21453 21455//21455\nf 21248//21248 21451//21451 20906//20906\nf 21459//21459 20904//20904 21445//21445\nf 21114//21114 21446//21446 21454//21454\nf 21114//21114 21454//21454 21291//21291\nf 21108//21108 21455//21455 20905//20905\nf 21110//21110 21249//21249 21448//21448\nf 20904//20904 21104//21104 21445//21445\nf 20906//20906 21456//21456 21117//21117\nf 21117//21117 21456//21456 21457//21457\nf 21249//21249 21458//21458 21448//21448\nf 21461//21461 21114//21114 21250//21250\nf 21460//21460 21119//21119 21462//21462\nf 21460//21460 21116//21116 21119//21119\nf 21463//21463 21292//21292 21457//21457\nf 21459//21459 21582//21582 20904//20904\nf 21582//21582 20908//20908 20904//20904\nf 20988//20988 20904//20904 20908//20908\nf 21250//21250 20990//20990 21461//21461\nf 21455//21455 21466//21466 20905//20905\nf 20989//20989 21292//21292 21463//21463\nf 21115//21115 21121//21121 21472//21472\nf 21464//21464 21468//21468 20908//20908\nf 20992//20992 21470//21470 21123//21123\nf 20992//20992 21469//21469 21470//21470\nf 21465//21465 20990//20990 21473//21473\nf 20990//20990 21465//21465 21461//21461\nf 20908//20908 21468//21468 20991//20991\nf 20992//20992 20991//20991 21469//21469\nf 21473//21473 20990//20990 21293//21293\nf 21207//21207 20989//20989 21471//21471\nf 21471//21471 20989//20989 21467//21467\nf 21293//21293 21125//21125 21473//21473\nf 21206//21206 21118//21118 21466//21466\nf 21119//21119 20910//20910 21462//21462\nf 21479//21479 20996//20996 21471//21471\nf 20995//20995 21476//21476 21121//21121\nf 21476//21476 21472//21472 21121//21121\nf 21477//21477 21220//21220 21294//21294\nf 21478//21478 21473//21473 21125//21125\nf 21466//21466 21474//21474 21206//21206\nf 21479//21479 21480//21480 20996//20996\nf 21477//21477 21481//21481 21220//21220\nf 21220//21220 21481//21481 21295//21295\nf 21485//21485 21125//21125 21253//21253\nf 21485//21485 21478//21478 21125//21125\nf 21474//21474 21482//21482 21206//21206\nf 21475//21475 20910//20910 21251//21251\nf 20911//20911 21251//21251 20910//20910\nf 21295//21295 21481//21481 21296//21296\nf 21296//21296 21481//21481 21483//21483\nf 21485//21485 21253//21253 21127//21127\nf 21482//21482 21484//21484 21206//21206\nf 21127//21127 21487//21487 21485//21485\nf 21489//21489 21254//21254 21206//21206\nf 20912//20912 21126//21126 21128//21128\nf 21255//21255 21487//21487 21127//21127\nf 21484//21484 21489//21489 21206//21206\nf 21252//21252 21220//21220 21296//21296\nf 21490//21490 21488//21488 21001//21001\nf 21255//21255 21129//21129 21585//21585\nf 21256//21256 21489//21489 21493//21493\nf 21128//21128 21486//21486 21002//21002\nf 21296//21296 21483//21483 21491//21491\nf 21256//21256 21254//21254 21489//21489\nf 21002//21002 21486//21486 21133//21133\nf 21221//21221 21296//21296 21491//21491\nf 21221//21221 21252//21252 21296//21296\nf 21492//21492 21129//21129 21132//21132\nf 21208//21208 21130//21130 21256//21256\nf 21132//21132 21137//21137 21589//21589\nf 21297//21297 21491//21491 21497//21497\nf 21298//21298 21297//21297 21497//21497\nf 21137//21137 21498//21498 21589//21589\nf 21135//21135 21504//21504 21494//21494\nf 21500//21500 21007//21007 21496//21496\nf 21133//21133 21007//21007 21004//21004\nf 21007//21007 21133//21133 21496//21496\nf 21137//21137 21502//21502 21498//21498\nf 21256//21256 21499//21499 21208//21208\nf 21299//21299 21502//21502 21137//21137\nf 21503//21503 21588//21588 21222//21222\nf 21507//21507 21138//21138 21499//21499\nf 21503//21503 21222//21222 21505//21505\nf 21299//21299 21140//21140 21506//21506\nf 21502//21502 21299//21299 21506//21506\nf 21138//21138 21208//21208 21499//21499\nf 21135//21135 21141//21141 21259//21259\nf 21007//21007 21500//21500 21139//21139\nf 21500//21500 21508//21508 21139//21139\nf 21222//21222 21260//21260 21505//21505\nf 21142//21142 21260//21260 21222//21222\nf 21510//21510 21506//21506 21140//21140\nf 21209//21209 21139//21139 21508//21508\nf 21505//21505 21260//21260 21592//21592\nf 21262//21262 21510//21510 21140//21140\nf 21138//21138 21507//21507 21511//21511\nf 21512//21512 21510//21510 21262//21262\nf 21012//21012 21138//21138 21511//21511\nf 21592//21592 21260//21260 21513//21513\nf 21513//21513 21260//21260 21147//21147\nf 21512//21512 21262//21262 21011//21011\nf 21149//21149 21512//21512 21011//21011\nf 21223//21223 21261//21261 21594//21594\nf 21223//21223 21594//21594 21514//21514\nf 21512//21512 21149//21149 21515//21515\nf 21513//21513 21147//21147 21264//21264\nf 21263//21263 21516//21516 21517//21517\nf 21223//21223 21514//21514 21300//21300\nf 21516//21516 21263//21263 21146//21146\nf 21518//21518 21266//21266 21517//21517\nf 21264//21264 21266//21266 21518//21518\nf 21267//21267 21519//21519 21520//21520\nf 21515//21515 21265//21265 21520//21520\nf 21211//21211 21300//21300 21514//21514\nf 21157//21157 21267//21267 21520//21520\nf 21211//21211 21514//21514 21519//21519\nf 21211//21211 21519//21519 21267//21267\nf 21012//21012 21521//21521 21151//21151\nf 21524//21524 21151//21151 21522//21522\nf 21301//21301 21524//21524 21161//21161\nf 21526//21526 21225//21225 21528//21528\nf 21161//21161 21527//21527 21162//21162\nf 21525//21525 21527//21527 21161//21161\nf 21162//21162 21529//21529 21024//21024\nf 21528//21528 21164//21164 21530//21530\nf 21531//21531 21024//21024 21529//21529\nf 21531//21531 21529//21529 21024//21024\nf 21533//21533 21164//21164 20927//20927\nf 21533//21533 21530//21530 21164//21164\nf 21532//21532 21302//21302 21165//21165\nf 21302//21302 21025//21025 21165//21165\nf 21534//21534 20927//20927 21166//21166\nf 21535//21535 21166//21166 21167//21167\nf 21535//21535 21168//21168 21537//21537\nf 21168//21168 21170//21170 21538//21538\nf 21538//21538 21170//21170 21540//21540\nf 21169//21169 21536//21536 21539//21539\nf 21539//21539 21171//21171 21026//21026\nf 21539//21539 21541//21541 21171//21171\nf 21170//21170 21268//21268 21542//21542\nf 21172//21172 21543//21543 21269//21269\nf 21172//21172 21541//21541 21543//21543\nf 21542//21542 21268//21268 21543//21543\nf 21268//21268 21269//21269 21543//21543\nf 21545//21545 21270//21270 21027//21027\nf 21544//21544 21270//21270 21545//21545\nf 21547//21547 21029//21029 21028//21028\nf 21546//21546 21029//21029 21547//21547\nf 21544//21544 21028//21028 21270//21270\nf 21547//21547 21028//21028 21544//21544\nf 21545//21545 21027//21027 21176//21176\nf 21545//21545 21176//21176 21548//21548\nf 21177//21177 21549//21549 21550//21550\nf 21550//21550 21303//21303 21177//21177\nf 21552//21552 20930//20930 21550//21550\nf 21550//21550 20930//20930 21179//21179\nf 21551//21551 21176//21176 20929//20929\nf 21553//21553 21212//21212 20930//20930\nf 21271//21271 21551//21551 20929//20929\nf 21212//21212 21553//21553 21554//21554\nf 21554//21554 21555//21555 21180//21180\nf 21554//21554 21272//21272 21212//21212\nf 21182//21182 21551//21551 21271//21271\nf 21555//21555 21557//21557 21180//21180\nf 21557//21557 21181//21181 21180//21180\nf 21182//21182 21558//21558 21556//21556\nf 21559//21559 21181//21181 21557//21557\nf 21273//21273 21184//21184 21274//21274\nf 21560//21560 21274//21274 21561//21561\nf 21274//21274 21304//21304 21562//21562\nf 21560//21560 21561//21561 21562//21562\nf 21561//21561 21274//21274 21562//21562\nf 21562//21562 21565//21565 21563//21563\nf 21304//21304 21565//21565 21562//21562\nf 21567//21567 21031//21031 21559//21559\nf 21567//21567 21566//21566 21031//21031\nf 21564//21564 21563//21563 21565//21565\nf 20935//20935 21031//21031 21566//21566\nf 21566//21566 21567//21567 20935//20935\nf 21566//21566 20935//20935 21567//21567\nf 21186//21186 20935//20935 21566//21566\nf 21304//21304 21213//21213 21565//21565\nf 21037//21037 21189//21189 21306//21306\nf 21307//21307 21226//21226 21600//21600\nf 21042//21042 21313//21313 21312//21312\nf 21314//21314 21191//21191 21311//21311\nf 21045//21045 20946//20946 21320//21320\nf 21318//21318 21319//21319 21229//21229\nf 20942//20942 20947//20947 21321//21321\nf 21321//21321 20947//20947 21333//21333\nf 21322//21322 21329//21329 20951//20951\nf 20938//20938 21326//21326 21325//21325\nf 21326//21326 20938//20938 20939//20939\nf 21320//21320 21050//21050 21045//21045\nf 21227//21227 20883//20883 21325//21325\nf 21039//21039 21331//21331 21330//21330\nf 21320//21320 21339//21339 21050//21050\nf 21277//21277 21337//21337 20952//20952\nf 21353//21353 21059//21059 21332//21332\nf 21193//21193 21338//21338 21342//21342\nf 21349//21349 21278//21278 21058//21058\nf 21278//21278 20888//20888 21058//21058\nf 21278//21278 21351//21351 20888//20888\nf 21572//21572 21357//21357 21344//21344\nf 21357//21357 20887//20887 21344//21344\nf 21360//21360 20963//20963 21351//21351\nf 21570//21570 21355//21355 21346//21346\nf 21352//21352 20958//20958 21571//21571\nf 21352//21352 20958//20958 21060//21060\nf 21573//21573 21060//21060 21236//21236\nf 21236//21236 20890//20890 21364//21364\nf 21235//21235 21355//21355 21366//21366\nf 21072//21072 21356//21356 21371//21371\nf 21575//21575 21366//21366 21355//21355\nf 21376//21376 21237//21237 21366//21366\nf 21366//21366 21237//21237 21235//21235\nf 21379//21379 21385//21385 21370//21370\nf 21376//21376 21366//21366 21575//21575\nf 21386//21386 20967//20967 21238//21238\nf 21083//21083 21386//21386 21387//21387\nf 20968//20968 21388//21388 21389//21389\nf 20968//20968 21389//21389 21384//21384\nf 21279//21279 21376//21376 21606//21606\nf 21386//21386 21238//21238 21380//21380\nf 21087//21087 21393//21393 21377//21377\nf 21607//21607 21395//21395 21401//21401\nf 21395//21395 21396//21396 21401//21401\nf 21383//21383 20895//20895 21403//21403\nf 21399//21399 21093//21093 21390//21390\nf 21385//21385 21216//21216 21404//21404\nf 21406//21406 21239//21239 21279//21279\nf 21402//21402 21404//21404 21241//21241\nf 21406//21406 21576//21576 21417//21417\nf 21406//21406 21417//21417 21202//21202\nf 21415//21415 21411//21411 21412//21412\nf 21416//21416 21242//21242 21418//21418\nf 21416//21416 21418//21418 21408//21408\nf 21284//21284 21287//21287 21413//21413\nf 21425//21425 21094//21094 21414//21414\nf 21425//21425 20897//20897 21094//21094\nf 21417//21417 21426//21426 21219//21219\nf 21421//21421 21431//21431 21418//21418\nf 21287//21287 21424//21424 21433//21433\nf 21419//21419 21424//21424 21287//21287\nf 21424//21424 21419//21419 21201//21201\nf 21098//21098 21096//21096 21409//21409\nf 21432//21432 21426//21426 21417//21417\nf 21430//21430 20897//20897 21425//21425\nf 21243//21243 21101//21101 21429//21429\nf 21440//21440 21423//21423 21433//21433\nf 21424//21424 21435//21435 21433//21433\nf 21101//21101 21436//21436 21429//21429\nf 21427//21427 21218//21218 21578//21578\nf 21103//21103 21432//21432 21442//21442\nf 21443//21443 21103//21103 21442//21442\nf 21445//21445 21439//21439 21612//21612\nf 21441//21441 21450//21450 21247//21247\nf 21449//21449 21443//21443 21451//21451\nf 21108//21108 21247//21247 21450//21450\nf 21453//21453 21108//21108 21450//21450\nf 21452//21452 21205//21205 21113//21113\nf 21452//21452 21113//21113 21116//21116\nf 21446//21446 21461//21461 21580//21580\nf 21452//21452 21116//21116 21460//21460\nf 21451//21451 21456//21456 20906//20906\nf 21581//21581 21457//21457 21451//21451\nf 21457//21457 21456//21456 21451//21451\nf 21461//21461 21446//21446 21114//21114\nf 21249//21249 21115//21115 21458//21458\nf 21582//21582 21464//21464 20908//20908\nf 21582//21582 21468//21468 21464//21464\nf 21469//21469 20991//20991 21468//21468\nf 21469//21469 21616//21616 21470//21470\nf 21461//21461 21473//21473 21583//21583\nf 20989//20989 21463//21463 21467//21467\nf 21461//21461 21465//21465 21473//21473\nf 21485//21485 21473//21473 21478//21478\nf 21618//21618 21483//21483 21481//21481\nf 21490//21490 21476//21476 20995//20995\nf 21128//21128 21126//21126 21486//21486\nf 21490//21490 20995//20995 21001//21001\nf 21490//21490 21001//21001 21488//21488\nf 21483//21483 21584//21584 21586//21586\nf 21487//21487 21255//21255 21585//21585\nf 21491//21491 21483//21483 21586//21586\nf 21588//21588 21490//21490 21257//21257\nf 21585//21585 21129//21129 21492//21492\nf 21493//21493 21484//21484 21587//21587\nf 21489//21489 21484//21484 21493//21493\nf 21497//21497 21491//21491 21586//21586\nf 21624//21624 21498//21498 21502//21502\nf 21492//21492 21132//21132 21589//21589\nf 21256//21256 21493//21493 21499//21499\nf 20864//20864 21135//21135 21494//21494\nf 21495//21495 21496//21496 21133//21133\nf 21501//21501 21497//21497 21586//21586\nf 21589//21589 21498//21498 21624//21624\nf 21261//21261 21497//21497 21501//21501\nf 21261//21261 21298//21298 21497//21497\nf 21506//21506 21510//21510 21590//21590\nf 21590//21590 21502//21502 21506//21506\nf 21508//21508 21500//21500 21591//21591\nf 21501//21501 21593//21593 21594//21594\nf 21261//21261 21501//21501 21594//21594\nf 21146//21146 21209//21209 21596//21596\nf 21515//21515 21595//21595 21512//21512\nf 21209//21209 21508//21508 21596//21596\nf 21514//21514 21594//21594 21519//21519\nf 21595//21595 21520//21520 21597//21597\nf 21596//21596 21630//21630 21516//21516\nf 21517//21517 21516//21516 21598//21598\nf 21594//21594 21593//21593 21519//21519\nf 21596//21596 21516//21516 21146//21146\nf 21598//21598 21513//21513 21517//21517\nf 21263//21263 21517//21517 21266//21266\nf 21513//21513 21518//21518 21517//21517\nf 21513//21513 21264//21264 21518//21518\nf 21521//21521 21012//21012 21511//21511\nf 21154//21154 21523//21523 21599//21599\nf 21522//21522 21151//21151 21521//21521\nf 21154//21154 21225//21225 21523//21523\nf 21526//21526 21523//21523 21225//21225\nf 21528//21528 21163//21163 21164//21164\nf 21527//21527 21529//21529 21162//21162\nf 21529//21529 21531//21531 21024//21024\nf 21529//21529 21532//21532 21531//21531\nf 21169//21169 21302//21302 21536//21536\nf 21537//21537 21168//21168 21538//21538\nf 21540//21540 21170//21170 21542//21542\nf 21545//21545 21548//21548 21547//21547\nf 21545//21545 21547//21547 21544//21544\nf 21552//21552 21550//21550 21631//21631\nf 21548//21548 21176//21176 21551//21551\nf 21553//21553 20930//20930 21552//21552\nf 21551//21551 21182//21182 21556//21556\nf 21558//21558 21274//21274 21560//21560\nf 21559//21559 21557//21557 21567//21567\nf 21559//21559 21031//21031 21181//21181\nf 21564//21564 21186//21186 21566//21566\nf 21564//21564 21566//21566 21567//21567\nf 21186//21186 21564//21564 21565//21565\nf 21568//21568 20936//20936 21308//21308\nf 21315//21315 21318//21318 21720//21720\nf 21601//21601 21323//21323 20884//20884\nf 21318//21318 21229//21229 21319//21319\nf 21331//21331 21228//21228 21336//21336\nf 21227//21227 21325//21325 21335//21335\nf 21320//21320 21344//21344 21339//21339\nf 21635//21635 21319//21319 21350//21350\nf 21342//21342 21338//21338 21602//21602\nf 21338//21338 21335//21335 21602//21602\nf 21336//21336 21341//21341 21343//21343\nf 21750//21750 21569//21569 21756//21756\nf 21349//21349 21058//21058 21569//21569\nf 21569//21569 20956//20956 21603//21603\nf 21059//21059 21353//21353 21604//21604\nf 21353//21353 21059//21059 21604//21604\nf 21356//21356 21353//21353 21604//21604\nf 21356//21356 21072//21072 21061//21061\nf 21573//21573 21236//21236 21364//21364\nf 21369//21369 21361//21361 21368//21368\nf 21385//21385 21605//21605 21370//21370\nf 21376//21376 21575//21575 21606//21606\nf 21406//21406 21279//21279 21606//21606\nf 21643//21643 21399//21399 21390//21390\nf 21397//21397 21402//21402 21284//21284\nf 21402//21402 21385//21385 21404//21404\nf 21406//21406 21606//21606 21576//21576\nf 21810//21810 21393//21393 21400//21400\nf 21647//21647 21408//21408 21418//21418\nf 21432//21432 21417//21417 21608//21608\nf 21431//21431 21609//21609 21418//21418\nf 21577//21577 21611//21611 21431//21431\nf 21439//21439 21428//21428 21610//21610\nf 21611//21611 21577//21577 21579//21579\nf 21612//21612 21439//21439 21610//21610\nf 21653//21653 21451//21451 21443//21443\nf 21438//21438 21218//21218 20984//20984\nf 21579//21579 21580//21580 21614//21614\nf 21579//21579 21446//21446 21580//21580\nf 21445//21445 21612//21612 21613//21613\nf 21613//21613 21582//21582 21445//21445\nf 21580//21580 21461//21461 21583//21583\nf 21582//21582 21459//21459 21445//21445\nf 21469//21469 21468//21468 21615//21615\nf 21616//21616 21469//21469 21615//21615\nf 21468//21468 21582//21582 21615//21615\nf 21616//21616 21655//21655 21470//21470\nf 21458//21458 21115//21115 21472//21472\nf 21473//21473 21485//21485 21617//21617\nf 21584//21584 21483//21483 21618//21618\nf 21657//21657 21620//21620 21618//21618\nf 21485//21485 21487//21487 21619//21619\nf 21486//21486 21480//21480 21661//21661\nf 21584//21584 21618//21618 21620//21620\nf 21584//21584 21483//21483 21620//21620\nf 21483//21483 21584//21584 21620//21620\nf 21251//21251 20911//20911 21622//21622\nf 21586//21586 21584//21584 21620//21620\nf 21622//21622 20911//20911 21494//21494\nf 21586//21586 21620//21620 21623//21623\nf 21586//21586 21623//21623 21626//21626\nf 21500//21500 21496//21496 21591//21591\nf 21503//21503 21505//21505 21625//21625\nf 21503//21503 21625//21625 21588//21588\nf 21586//21586 21626//21626 21501//21501\nf 21593//21593 21626//21626 21597//21597\nf 21592//21592 21629//21629 21505//21505\nf 21593//21593 21501//21501 21626//21626\nf 21597//21597 21626//21626 21627//21627\nf 21672//21672 21507//21507 21499//21499\nf 21628//21628 21504//21504 21509//21509\nf 21670//21670 21671//21671 21512//21512\nf 21510//21510 21512//21512 21671//21671\nf 21629//21629 21592//21592 21513//21513\nf 21597//21597 21627//21627 21595//21595\nf 21674//21674 21629//21629 21513//21513\nf 21597//21597 21519//21519 21593//21593\nf 21597//21597 21520//21520 21519//21519\nf 21515//21515 21520//21520 21595//21595\nf 21259//21259 21224//21224 21509//21509\nf 21598//21598 21516//21516 21630//21630\nf 21509//21509 21224//21224 21599//21599\nf 21161//21161 21524//21524 21525//21525\nf 21534//21534 21533//21533 20927//20927\nf 21551//21551 21547//21547 21548//21548\nf 21679//21679 21551//21551 21556//21556\nf 21679//21679 21556//21556 21558//21558\nf 21567//21567 21557//21557 21555//21555\nf 21680//21680 21560//21560 21562//21562\nf 21308//21308 21310//21310 21633//21633\nf 21318//21318 21721//21721 21720//21720\nf 21317//21317 21332//21332 21327//21327\nf 21320//21320 21309//21309 21634//21634\nf 21636//21636 21331//21331 21336//21336\nf 21278//21278 21637//21637 21351//21351\nf 20956//20956 21345//21345 21603//21603\nf 21570//21570 21346//21346 21342//21342\nf 21347//21347 21352//21352 21571//21571\nf 21347//21347 21571//21571 21639//21639\nf 21358//21358 21638//21638 21348//21348\nf 21573//21573 21571//21571 21352//21352\nf 21359//21359 21362//21362 21771//21771\nf 21355//21355 21570//21570 21575//21575\nf 21573//21573 21364//21364 21365//21365\nf 21361//21361 21369//21369 21368//21368\nf 21358//21358 21370//21370 21638//21638\nf 21370//21370 21605//21605 21638//21638\nf 21372//21372 21574//21574 21778//21778\nf 21373//21373 21374//21374 21642//21642\nf 21375//21375 21640//21640 21381//21381\nf 21368//21368 21641//21641 21378//21378\nf 21365//21365 21068//21068 21383//21383\nf 21367//21367 21377//21377 21787//21787\nf 21381//21381 21640//21640 21391//21391\nf 21378//21378 21400//21400 21394//21394\nf 21397//21397 21644//21644 21402//21402\nf 21402//21402 21644//21644 21385//21385\nf 21383//21383 21403//21403 21645//21645\nf 21646//21646 21425//21425 21405//21405\nf 21608//21608 21417//21417 21576//21576\nf 21405//21405 21425//21425 21414//21414\nf 21403//21403 21411//21411 21820//21820\nf 21409//21409 21649//21649 21428//21428\nf 21428//21428 21649//21649 21610//21610\nf 21423//21423 21287//21287 21433//21433\nf 21413//21413 21287//21287 21423//21423\nf 21427//21427 21411//21411 21415//21415\nf 21431//21431 21611//21611 21609//21609\nf 21651//21651 21611//21611 21579//21579\nf 21432//21432 21650//21650 21442//21442\nf 21651//21651 21579//21579 21614//21614\nf 21442//21442 21650//21650 21443//21443\nf 21652//21652 21614//21614 21580//21580\nf 21654//21654 21652//21652 21580//21580\nf 21453//21453 21450//21450 21847//21847\nf 21583//21583 21654//21654 21580//21580\nf 21457//21457 21581//21581 21463//21463\nf 21694//21694 21583//21583 21617//21617\nf 21583//21583 21473//21473 21617//21617\nf 21619//21619 21617//21617 21485//21485\nf 21474//21474 21466//21466 21864//21864\nf 21471//21471 21480//21480 21479//21479\nf 21481//21481 21477//21477 21294//21294\nf 21251//21251 21462//21462 21475//21475\nf 21620//21620 21657//21657 21621//21621\nf 21487//21487 21660//21660 21619//21619\nf 21657//21657 21658//21658 21621//21621\nf 21658//21658 21659//21659 21662//21662\nf 21585//21585 21660//21660 21487//21487\nf 21621//21621 21658//21658 21662//21662\nf 21663//21663 21492//21492 21589//21589\nf 21492//21492 21585//21585 21663//21663\nf 21585//21585 21492//21492 21663//21663\nf 21490//21490 21625//21625 21706//21706\nf 21665//21665 21621//21621 21662//21662\nf 21663//21663 21585//21585 21492//21492\nf 21664//21664 21495//21495 21486//21486\nf 21666//21666 21621//21621 21665//21665\nf 21624//21624 21663//21663 21589//21589\nf 21623//21623 21620//21620 21621//21621\nf 21623//21623 21621//21621 21666//21666\nf 21703//21703 21668//21668 21667//21667\nf 21668//21668 21704//21704 21624//21624\nf 21671//21671 21667//21667 21590//21590\nf 21502//21502 21668//21668 21624//21624\nf 21670//21670 21666//21666 21665//21665\nf 21667//21667 21668//21668 21590//21590\nf 21668//21668 21502//21502 21590//21590\nf 21672//21672 21499//21499 21493//21493\nf 21672//21672 21493//21493 21587//21587\nf 21628//21628 21494//21494 21504//21504\nf 21628//21628 21669//21669 21494//21494\nf 21629//21629 21625//21625 21505//21505\nf 21626//21626 21623//21623 21666//21666\nf 21665//21665 21667//21667 21670//21670\nf 21667//21667 21671//21671 21670//21670\nf 21627//21627 21626//21626 21666//21666\nf 21627//21627 21666//21666 21670//21670\nf 21508//21508 21591//21591 21673//21673\nf 21627//21627 21670//21670 21595//21595\nf 21590//21590 21510//21510 21671//21671\nf 21508//21508 21673//21673 21596//21596\nf 21670//21670 21512//21512 21595//21595\nf 21672//21672 21511//21511 21507//21507\nf 21674//21674 21513//21513 21598//21598\nf 21675//21675 21524//21524 21522//21522\nf 21675//21675 21522//21522 21521//21521\nf 21676//21676 21599//21599 21523//21523\nf 21536//21536 21302//21302 21677//21677\nf 21536//21536 21677//21677 21678//21678\nf 21539//21539 21536//21536 21678//21678\nf 21553//21553 21555//21555 21554//21554\nf 21680//21680 21562//21562 21940//21940\nf 21681//21681 21564//21564 21567//21567\nf 21710//21710 21305//21305 21632//21632\nf 21969//21969 21600//21600 21308//21308\nf 21714//21714 21314//21314 21311//21311\nf 21715//21715 21714//21714 21312//21312\nf 21716//21716 21312//21312 21313//21313\nf 21716//21716 21715//21715 21312//21312\nf 21720//21720 21716//21716 21315//21315\nf 21332//21332 21317//21317 21726//21726\nf 21732//21732 21735//21735 21322//21322\nf 21337//21337 21731//21731 21324//21324\nf 21337//21337 21733//21733 21731//21731\nf 21737//21737 21340//21340 21334//21334\nf 21943//21943 21682//21682 21740//21740\nf 21682//21682 21345//21345 21340//21340\nf 21753//21753 21331//21331 21684//21684\nf 21751//21751 21603//21603 21345//21345\nf 21345//21345 21682//21682 21751//21751\nf 21325//21325 21326//21326 21683//21683\nf 21684//21684 21331//21331 21636//21636\nf 21335//21335 21325//21325 21683//21683\nf 21636//21636 21336//21336 21343//21343\nf 21769//21769 21356//21356 21604//21604\nf 21769//21769 21371//21371 21356//21356\nf 21354//21354 21363//21363 21765//21765\nf 21771//21771 21362//21362 21777//21777\nf 21575//21575 21570//21570 21685//21685\nf 21763//21763 21638//21638 21605//21605\nf 21783//21783 21384//21384 21790//21790\nf 21798//21798 21797//21797 21388//21388\nf 21804//21804 21802//21802 21386//21386\nf 21398//21398 21809//21809 21382//21382\nf 21576//21576 21606//21606 21686//21686\nf 21814//21814 21408//21408 21647//21647\nf 21407//21407 21815//21815 21398//21398\nf 21648//21648 21608//21608 21576//21576\nf 21811//21811 21425//21425 21646//21646\nf 21430//21430 21425//21425 21822//21822\nf 21817//21817 21420//21420 21429//21429\nf 21613//21613 21612//21612 21687//21687\nf 21652//21652 21689//21689 21688//21688\nf 21837//21837 21450//21450 21441//21441\nf 21578//21578 21438//21438 21448//21448\nf 21652//21652 21654//21654 21689//21689\nf 21840//21840 21290//21290 21447//21447\nf 21615//21615 21613//21613 21692//21692\nf 21693//21693 21690//21690 21689//21689\nf 21583//21583 21689//21689 21654//21654\nf 21583//21583 21694//21694 21689//21689\nf 21455//21455 21453//21453 21847//21847\nf 21613//21613 21615//21615 21582//21582\nf 21694//21694 21693//21693 21689//21689\nf 21693//21693 21617//21617 21656//21656\nf 21693//21693 21694//21694 21617//21617\nf 21467//21467 21463//21463 21471//21471\nf 21696//21696 21695//21695 21693//21693\nf 21696//21696 21693//21693 21656//21656\nf 21656//21656 21617//21617 21619//21619\nf 21701//21701 21700//21700 21697//21697\nf 21696//21696 21656//21656 21619//21619\nf 21660//21660 21696//21696 21619//21619\nf 21480//21480 21471//21471 21698//21698\nf 21884//21884 21879//21879 21658//21658\nf 21702//21702 21662//21662 21659//21659\nf 21702//21702 21699//21699 21703//21703\nf 21705//21705 21699//21699 21700//21700\nf 21585//21585 21701//21701 21660//21660\nf 21585//21585 21619//21619 21660//21660\nf 21705//21705 21703//21703 21699//21699\nf 21704//21704 21701//21701 21663//21663\nf 21585//21585 21660//21660 21619//21619\nf 21704//21704 21700//21700 21701//21701\nf 21663//21663 21701//21701 21585//21585\nf 21662//21662 21702//21702 21703//21703\nf 21890//21890 21883//21883 21490//21490\nf 21704//21704 21705//21705 21700//21700\nf 21890//21890 21490//21490 21706//21706\nf 21704//21704 21663//21663 21624//21624\nf 21662//21662 21703//21703 21667//21667\nf 21703//21703 21705//21705 21668//21668\nf 21668//21668 21705//21705 21704//21704\nf 21625//21625 21490//21490 21588//21588\nf 21665//21665 21662//21662 21667//21667\nf 21892//21892 21494//21494 21669//21669\nf 21496//21496 21707//21707 21591//21591\nf 21708//21708 21625//21625 21629//21629\nf 21499//21499 21672//21672 21896//21896\nf 21898//21898 21629//21629 21674//21674\nf 21901//21901 21898//21898 21674//21674\nf 21896//21896 21511//21511 21672//21672\nf 21596//21596 21673//21673 21630//21630\nf 21674//21674 21598//21598 21630//21630\nf 21675//21675 21907//21907 21908//21908\nf 21914//21914 21528//21528 21530//21530\nf 21534//21534 21918//21918 21533//21533\nf 21677//21677 21302//21302 21968//21968\nf 21302//21302 21919//21919 21968//21968\nf 21534//21534 21535//21535 21920//21920\nf 21928//21928 21542//21542 21543//21543\nf 21541//21541 21539//21539 21926//21926\nf 21541//21541 21926//21926 21543//21543\nf 21547//21547 21551//21551 21546//21546\nf 21551//21551 21679//21679 21546//21546\nf 21937//21937 21679//21679 21560//21560\nf 21558//21558 21560//21560 21679//21679\nf 21563//21563 21564//21564 21941//21941\nf 21567//21567 21555//21555 21681//21681\nf 21710//21710 21709//21709 21305//21305\nf 21600//21600 21568//21568 21308//21308\nf 21718//21718 21712//21712 21308//21308\nf 21714//21714 21311//21311 21312//21312\nf 21633//21633 21310//21310 21718//21718\nf 21724//21724 21317//21317 21713//21713\nf 21314//21314 21713//21713 21317//21317\nf 21722//21722 21309//21309 21717//21717\nf 21717//21717 21309//21309 21305//21305\nf 21724//21724 21723//21723 21317//21317\nf 21729//21729 21725//21725 21316//21316\nf 21319//21319 21721//21721 21318//21318\nf 21316//21316 21321//21321 21729//21729\nf 21731//21731 21601//21601 21324//21324\nf 21309//21309 21728//21728 21634//21634\nf 21730//21730 21732//21732 21323//21323\nf 21601//21601 21730//21730 21323//21323\nf 21319//21319 21635//21635 21736//21736\nf 21320//21320 21634//21634 21734//21734\nf 21737//21737 21334//21334 21328//21328\nf 21322//21322 21323//21323 21732//21732\nf 21319//21319 21736//21736 21727//21727\nf 21333//21333 21729//21729 21321//21321\nf 21328//21328 21738//21738 21737//21737\nf 21328//21328 21329//21329 21741//21741\nf 21740//21740 21340//21340 21737//21737\nf 21738//21738 21328//21328 21741//21741\nf 21726//21726 21353//21353 21332//21332\nf 21320//21320 21734//21734 21742//21742\nf 21333//21333 21743//21743 21739//21739\nf 21348//21348 21743//21743 21333//21333\nf 21351//21351 21745//21745 21744//21744\nf 21637//21637 21746//21746 21351//21351\nf 21746//21746 21637//21637 21278//21278\nf 21349//21349 21747//21747 21278//21278\nf 21747//21747 21746//21746 21278//21278\nf 21943//21943 21751//21751 21682//21682\nf 21740//21740 21682//21682 21340//21340\nf 21329//21329 21322//21322 21748//21748\nf 21322//21322 21735//21735 21748//21748\nf 21733//21733 21277//21277 21749//21749\nf 21337//21337 21277//21277 21733//21733\nf 21330//21330 21331//21331 21753//21753\nf 21754//21754 21604//21604 21353//21353\nf 21569//21569 21750//21750 21349//21349\nf 21349//21349 21750//21750 21747//21747\nf 21755//21755 21351//21351 21744//21744\nf 21602//21602 21335//21335 21683//21683\nf 21946//21946 21326//21326 21752//21752\nf 21757//21757 21684//21684 21636//21636\nf 21636//21636 21758//21758 21757//21757\nf 21758//21758 21636//21636 21343//21343\nf 21761//21761 21342//21342 21602//21602\nf 21348//21348 21638//21638 21763//21763\nf 21351//21351 21755//21755 21360//21360\nf 21360//21360 21755//21755 21764//21764\nf 21354//21354 21765//21765 21277//21277\nf 21277//21277 21765//21765 21749//21749\nf 21761//21761 21766//21766 21342//21342\nf 21947//21947 21762//21762 21343//21343\nf 21947//21947 21343//21343 21762//21762\nf 21347//21347 21762//21762 21343//21343\nf 21357//21357 21572//21572 21767//21767\nf 21768//21768 21572//21572 21344//21344\nf 21767//21767 21572//21572 21768//21768\nf 21759//21759 21768//21768 21344//21344\nf 21570//21570 21342//21342 21766//21766\nf 21639//21639 21770//21770 21347//21347\nf 21350//21350 21359//21359 21771//21771\nf 21571//21571 21770//21770 21639//21639\nf 21770//21770 21571//21571 21772//21772\nf 21767//21767 21773//21773 21357//21357\nf 21778//21778 21764//21764 21976//21976\nf 21773//21773 21361//21361 21357//21357\nf 21775//21775 21765//21765 21363//21363\nf 21367//21367 21777//21777 21362//21362\nf 21360//21360 21778//21778 21574//21574\nf 21375//21375 21373//21373 21779//21779\nf 21685//21685 21570//21570 21951//21951\nf 21780//21780 21365//21365 21784//21784\nf 21763//21763 21605//21605 21781//21781\nf 21774//21774 21640//21640 21375//21375\nf 21373//21373 21642//21642 21782//21782\nf 21774//21774 21948//21948 21640//21640\nf 21369//21369 21773//21773 21368//21368\nf 21784//21784 21365//21365 21957//21957\nf 21390//21390 21371//21371 21786//21786\nf 21575//21575 21686//21686 21606//21606\nf 21575//21575 21685//21685 21686//21686\nf 21686//21686 21685//21685 21951//21951\nf 21788//21788 21641//21641 21368//21368\nf 21788//21788 21368//21368 21785//21785\nf 21781//21781 21605//21605 21385//21385\nf 21372//21372 21778//21778 21789//21789\nf 21955//21955 21783//21783 21790//21790\nf 21374//21374 21384//21384 21783//21783\nf 21374//21374 21783//21783 21642//21642\nf 21775//21775 21363//21363 21382//21382\nf 21775//21775 21382//21382 21791//21791\nf 21385//21385 21644//21644 21792//21792\nf 21781//21781 21385//21385 21792//21792\nf 21793//21793 21391//21391 21640//21640\nf 21957//21957 21365//21365 21383//21383\nf 21788//21788 21378//21378 21641//21641\nf 21794//21794 21378//21378 21788//21788\nf 21800//21800 21795//21795 21395//21395\nf 21800//21800 21395//21395 21607//21607\nf 21395//21395 21796//21796 21392//21392\nf 21395//21395 21795//21795 21796//21796\nf 21388//21388 21797//21797 21389//21389\nf 21389//21389 21790//21790 21384//21384\nf 21389//21389 21797//21797 21790//21790\nf 21392//21392 21801//21801 21397//21397\nf 21792//21792 21644//21644 21801//21801\nf 21387//21387 21802//21802 21388//21388\nf 21802//21802 21798//21798 21388//21388\nf 21793//21793 21803//21803 21391//21391\nf 21644//21644 21397//21397 21801//21801\nf 21802//21802 21387//21387 21386//21386\nf 21807//21807 21643//21643 21799//21799\nf 21393//21393 21787//21787 21377//21377\nf 21378//21378 21794//21794 21400//21400\nf 21808//21808 21400//21400 21794//21794\nf 21800//21800 21401//21401 21408//21408\nf 21800//21800 21607//21607 21401//21401\nf 21380//21380 21804//21804 21386//21386\nf 21380//21380 21789//21789 21804//21804\nf 21803//21803 21405//21405 21391//21391\nf 21686//21686 21805//21805 21648//21648\nf 21813//21813 21806//21806 21645//21645\nf 21399//21399 21643//21643 21807//21807\nf 21803//21803 21811//21811 21405//21405\nf 21576//21576 21686//21686 21648//21648\nf 21805//21805 21812//21812 21648//21648\nf 21810//21810 21400//21400 21808//21808\nf 21811//21811 21646//21646 21405//21405\nf 21807//21807 21409//21409 21399//21399\nf 21647//21647 21418//21418 21816//21816\nf 21407//21407 21817//21817 21815//21815\nf 21288//21288 21817//21817 21407//21407\nf 21807//21807 21818//21818 21409//21409\nf 21418//21418 21609//21609 21821//21821\nf 21822//21822 21425//21425 21811//21811\nf 21409//21409 21818//21818 21649//21649\nf 21823//21823 21608//21608 21819//21819\nf 21827//21827 21430//21430 21822//21822\nf 21824//21824 21649//21649 21818//21818\nf 21609//21609 21611//21611 21821//21821\nf 21611//21611 21826//21826 21821//21821\nf 21817//21817 21288//21288 21420//21420\nf 21823//21823 21432//21432 21608//21608\nf 21826//21826 21611//21611 21825//21825\nf 21411//21411 21427//21427 21829//21829\nf 21824//21824 21610//21610 21649//21649\nf 21823//21823 21650//21650 21432//21432\nf 21830//21830 21651//21651 21614//21614\nf 21430//21430 21827//21827 21441//21441\nf 21429//21429 21436//21436 21828//21828\nf 21831//21831 21833//21833 21443//21443\nf 21824//21824 21835//21835 21610//21610\nf 21836//21836 21830//21830 21614//21614\nf 21837//21837 21441//21441 21827//21827\nf 21833//21833 21838//21838 21653//21653\nf 21835//21835 21612//21612 21610//21610\nf 21614//21614 21652//21652 21836//21836\nf 21290//21290 21832//21832 21436//21436\nf 21443//21443 21833//21833 21653//21653\nf 21687//21687 21612//21612 21835//21835\nf 21839//21839 21836//21836 21652//21652\nf 21839//21839 21652//21652 21688//21688\nf 21613//21613 21687//21687 21692//21692\nf 21841//21841 21692//21692 21687//21687\nf 21841//21841 21687//21687 21835//21835\nf 21842//21842 21839//21839 21689//21689\nf 21839//21839 21688//21688 21689//21689\nf 21653//21653 21838//21838 21451//21451\nf 21581//21581 21838//21838 21843//21843\nf 21451//21451 21838//21838 21581//21581\nf 21846//21846 21581//21581 21843//21843\nf 21578//21578 21844//21844 21834//21834\nf 21842//21842 21690//21690 21845//21845\nf 21690//21690 21842//21842 21689//21689\nf 21837//21837 21959//21959 21450//21450\nf 21448//21448 21691//21691 21844//21844\nf 21447//21447 21452//21452 21848//21848\nf 21578//21578 21448//21448 21844//21844\nf 21845//21845 21690//21690 21849//21849\nf 21846//21846 21850//21850 21581//21581\nf 21851//21851 21615//21615 21692//21692\nf 21695//21695 21853//21853 21693//21693\nf 21690//21690 21693//21693 21849//21849\nf 21852//21852 21851//21851 21692//21692\nf 21615//21615 21851//21851 21616//21616\nf 21616//21616 21851//21851 21852//21852\nf 21852//21852 21851//21851 21616//21616\nf 21695//21695 21690//21690 21693//21693\nf 21693//21693 21690//21690 21695//21695\nf 21581//21581 21855//21855 21463//21463\nf 21458//21458 21856//21856 21844//21844\nf 21448//21448 21458//21458 21844//21844\nf 21857//21857 21616//21616 21851//21851\nf 21852//21852 21857//21857 21851//21851\nf 21616//21616 21857//21857 21655//21655\nf 21853//21853 21695//21695 21858//21858\nf 21695//21695 21860//21860 21858//21858\nf 21855//21855 21861//21861 21862//21862\nf 21463//21463 21855//21855 21862//21862\nf 21857//21857 21470//21470 21655//21655\nf 21860//21860 21697//21697 21858//21858\nf 21860//21860 21695//21695 21697//21697\nf 21961//21961 21460//21460 21462//21462\nf 21463//21463 21862//21862 21471//21471\nf 21861//21861 21471//21471 21862//21862\nf 21861//21861 21865//21865 21471//21471\nf 21458//21458 21866//21866 21859//21859\nf 21857//21857 21867//21867 21470//21470\nf 21869//21869 21868//21868 21697//21697\nf 21858//21858 21697//21697 21863//21863\nf 21458//21458 21472//21472 21866//21866\nf 21470//21470 21867//21867 21294//21294\nf 21697//21697 21695//21695 21696//21696\nf 21471//21471 21865//21865 21698//21698\nf 21870//21870 21698//21698 21865//21865\nf 21868//21868 21869//21869 21871//21871\nf 21868//21868 21871//21871 21872//21872\nf 21474//21474 21864//21864 21875//21875\nf 21481//21481 21294//21294 21867//21867\nf 21867//21867 21873//21873 21481//21481\nf 21872//21872 21699//21699 21702//21702\nf 21871//21871 21699//21699 21872//21872\nf 21699//21699 21871//21871 21700//21700\nf 21871//21871 21869//21869 21700//21700\nf 21697//21697 21700//21700 21869//21869\nf 21701//21701 21697//21697 21696//21696\nf 21660//21660 21701//21701 21696//21696\nf 21870//21870 21480//21480 21698//21698\nf 21870//21870 21876//21876 21480//21480\nf 21881//21881 21480//21480 21876//21876\nf 21962//21962 21472//21472 21476//21476\nf 21880//21880 21874//21874 21659//21659\nf 21874//21874 21702//21702 21659//21659\nf 21474//21474 21875//21875 21482//21482\nf 21883//21883 21962//21962 21476//21476\nf 21618//21618 21884//21884 21657//21657\nf 21657//21657 21884//21884 21658//21658\nf 21661//21661 21480//21480 21881//21881\nf 21885//21885 21484//21484 21482//21482\nf 21881//21881 21486//21486 21661//21661\nf 21490//21490 21706//21706 21476//21476\nf 21886//21886 21251//21251 21622//21622\nf 21983//21983 21486//21486 21881//21881\nf 21706//21706 21882//21882 21476//21476\nf 21706//21706 21883//21883 21882//21882\nf 21883//21883 21706//21706 21490//21490\nf 21887//21887 21664//21664 21486//21486\nf 21888//21888 21587//21587 21484//21484\nf 21495//21495 21889//21889 21496//21496\nf 21625//21625 21890//21890 21706//21706\nf 21886//21886 21622//21622 21494//21494\nf 21496//21496 21889//21889 21891//21891\nf 21625//21625 21894//21894 21966//21966\nf 21496//21496 21891//21891 21707//21707\nf 21625//21625 21708//21708 21894//21894\nf 21897//21897 21892//21892 21669//21669\nf 21894//21894 21708//21708 21895//21895\nf 21587//21587 21896//21896 21672//21672\nf 21587//21587 21888//21888 21896//21896\nf 21897//21897 21669//21669 21628//21628\nf 21591//21591 21707//21707 21893//21893\nf 21895//21895 21708//21708 21629//21629\nf 21673//21673 21591//21591 21967//21967\nf 21591//21591 21893//21893 21967//21967\nf 21629//21629 21898//21898 21895//21895\nf 21499//21499 21896//21896 21672//21672\nf 21901//21901 21900//21900 21898//21898\nf 21902//21902 21897//21897 21628//21628\nf 21673//21673 21900//21900 21901//21901\nf 21902//21902 21628//21628 21509//21509\nf 21673//21673 21901//21901 21630//21630\nf 21674//21674 21630//21630 21901//21901\nf 21511//21511 21904//21904 21521//21521\nf 21509//21509 21599//21599 21676//21676\nf 21906//21906 21905//21905 21509//21509\nf 21521//21521 21907//21907 21675//21675\nf 21524//21524 21675//21675 21908//21908\nf 21908//21908 21910//21910 21524//21524\nf 21911//21911 21909//21909 21523//21523\nf 21910//21910 21912//21912 21525//21525\nf 21526//21526 21911//21911 21523//21523\nf 21913//21913 21527//21527 21912//21912\nf 21527//21527 21525//21525 21912//21912\nf 21915//21915 21527//21527 21913//21913\nf 21916//21916 21529//21529 21527//21527\nf 21915//21915 21916//21916 21527//21527\nf 21916//21916 21532//21532 21529//21529\nf 21917//21917 21533//21533 21918//21918\nf 21532//21532 21916//21916 21919//21919\nf 21919//21919 21302//21302 21532//21532\nf 21922//21922 21920//21920 21535//21535\nf 21537//21537 21922//21922 21535//21535\nf 21922//21922 21537//21537 21924//21924\nf 21677//21677 21923//21923 21678//21678\nf 21677//21677 21921//21921 21923//21923\nf 21924//21924 21537//21537 21538//21538\nf 21539//21539 21678//21678 21923//21923\nf 21924//21924 21538//21538 21540//21540\nf 21924//21924 21542//21542 21925//21925\nf 21542//21542 21927//21927 21925//21925\nf 21924//21924 21540//21540 21542//21542\nf 21928//21928 21927//21927 21542//21542\nf 21930//21930 21929//21929 21549//21549\nf 21549//21549 21929//21929 21550//21550\nf 21546//21546 21931//21931 21930//21930\nf 21549//21549 21546//21546 21930//21930\nf 21929//21929 21932//21932 21550//21550\nf 21550//21550 21932//21932 21631//21631\nf 21932//21932 21552//21552 21631//21631\nf 21933//21933 21552//21552 21932//21932\nf 21931//21931 21679//21679 21934//21934\nf 21931//21931 21546//21546 21679//21679\nf 21553//21553 21552//21552 21933//21933\nf 21933//21933 21935//21935 21553//21553\nf 21934//21934 21679//21679 21936//21936\nf 21937//21937 21936//21936 21679//21679\nf 21555//21555 21553//21553 21935//21935\nf 21938//21938 21935//21935 21553//21553\nf 21938//21938 21553//21553 21935//21935\nf 21936//21936 21937//21937 21560//21560\nf 21555//21555 21935//21935 21938//21938\nf 21938//21938 21681//21681 21555//21555\nf 21560//21560 21680//21680 21940//21940\nf 21941//21941 21564//21564 21681//21681\nf 21938//21938 21941//21941 21681//21681\nf 21562//21562 21563//21563 21941//21941\nf 22255//22255 21715//21715 22256//22256\nf 21632//21632 21307//21307 21710//21710\nf 21709//21709 21710//21710 21711//21711\nf 22044//22044 21709//21709 21711//21711\nf 21307//21307 21600//21600 21711//21711\nf 21711//21711 21600//21600 21986//21986\nf 22060//22060 22059//22059 21711//21711\nf 21716//21716 21313//21313 21315//21315\nf 21305//21305 21709//21709 21717//21717\nf 21718//21718 21308//21308 21633//21633\nf 21719//21719 21718//21718 21310//21310\nf 21310//21310 21725//21725 21719//21719\nf 21310//21310 21316//21316 21725//21725\nf 21317//21317 21723//21723 21726//21726\nf 21319//21319 21727//21727 21721//21721\nf 21309//21309 21722//21722 21728//21728\nf 21731//21731 21730//21730 21601//21601\nf 21634//21634 21728//21728 21734//21734\nf 21729//21729 21333//21333 21739//21739\nf 21353//21353 21726//21726 21754//21754\nf 21743//21743 21729//21729 21739//21739\nf 21745//21745 21942//21942 21744//21744\nf 21746//21746 21745//21745 21351//21351\nf 21748//21748 21741//21741 21329//21329\nf 21748//21748 21735//21735 21944//21944\nf 21756//21756 21603//21603 21751//21751\nf 21945//21945 21738//21738 21741//21741\nf 21326//21326 21330//21330 21753//21753\nf 21736//21736 21635//21635 21350//21350\nf 21946//21946 21683//21683 21326//21326\nf 21344//21344 21320//21320 21742//21742\nf 21945//21945 21741//21741 21748//21748\nf 21602//21602 21683//21683 21946//21946\nf 21757//21757 21753//21753 21684//21684\nf 21763//21763 21743//21743 21348//21348\nf 21755//21755 21744//21744 21764//21764\nf 21758//21758 21343//21343 21762//21762\nf 21748//21748 21944//21944 21774//21774\nf 21347//21347 21770//21770 21762//21762\nf 21945//21945 21748//21748 21774//21774\nf 21760//21760 21350//21350 21771//21771\nf 21774//21774 21944//21944 21948//21948\nf 21947//21947 21762//21762 21770//21770\nf 21570//21570 21766//21766 21949//21949\nf 21571//21571 21573//21573 21772//21772\nf 21573//21573 21776//21776 21772//21772\nf 21778//21778 21360//21360 21764//21764\nf 21570//21570 21949//21949 21951//21951\nf 21780//21780 21776//21776 21573//21573\nf 21774//21774 21375//21375 21779//21779\nf 21640//21640 21948//21948 21950//21950\nf 21573//21573 21365//21365 21780//21780\nf 21369//21369 21361//21361 21773//21773\nf 21373//21373 21782//21782 21779//21779\nf 21783//21783 21782//21782 21642//21642\nf 21368//21368 21773//21773 21785//21785\nf 21775//21775 21952//21952 21363//21363\nf 21952//21952 21775//21775 21363//21363\nf 21781//21781 21792//21792 21953//21953\nf 21380//21380 21372//21372 21789//21789\nf 21640//21640 21950//21950 21793//21793\nf 21950//21950 21954//21954 21793//21793\nf 21954//21954 21803//21803 21793//21793\nf 21791//21791 21956//21956 21775//21775\nf 21775//21775 21956//21956 21952//21952\nf 21606//21606 21686//21686 21951//21951\nf 21643//21643 21390//21390 21799//21799\nf 21801//21801 21392//21392 21796//21796\nf 21606//21606 21951//21951 21805//21805\nf 21686//21686 21606//21606 21805//21805\nf 21957//21957 21383//21383 21806//21806\nf 21810//21810 21787//21787 21393//21393\nf 21979//21979 21804//21804 21789//21789\nf 21979//21979 21980//21980 21804//21804\nf 21791//21791 21382//21382 21809//21809\nf 21806//21806 21383//21383 21645//21645\nf 21958//21958 21800//21800 21408//21408\nf 21814//21814 21647//21647 21816//21816\nf 21819//21819 21648//21648 21812//21812\nf 21403//21403 21820//21820 21645//21645\nf 21820//21820 21813//21813 21645//21645\nf 21819//21819 21608//21608 21648//21648\nf 21816//21816 21418//21418 21821//21821\nf 21812//21812 21823//21823 21819//21819\nf 21821//21821 21825//21825 21826//21826\nf 21817//21817 21429//21429 21828//21828\nf 21820//21820 21411//21411 21829//21829\nf 21831//21831 21650//21650 21823//21823\nf 21611//21611 21651//21651 21825//21825\nf 21651//21651 21830//21830 21825//21825\nf 21831//21831 21443//21443 21650//21650\nf 21829//21829 21427//21427 21834//21834\nf 21828//21828 21436//21436 21832//21832\nf 21834//21834 21427//21427 21578//21578\nf 21290//21290 21840//21840 21832//21832\nf 21839//21839 21842//21842 21845//21845\nf 21959//21959 21847//21847 21450//21450\nf 21852//21852 21692//21692 21841//21841\nf 21691//21691 21448//21448 21844//21844\nf 21853//21853 21849//21849 21693//21693\nf 21857//21857 21852//21852 21960//21960\nf 21455//21455 21847//21847 21854//21854\nf 21848//21848 21452//21452 21460//21460\nf 21581//21581 21850//21850 21855//21855\nf 21859//21859 21856//21856 21458//21458\nf 21466//21466 21455//21455 21854//21854\nf 21466//21466 21854//21854 21864//21864\nf 21962//21962 21859//21859 21866//21866\nf 21868//21868 21863//21863 21697//21697\nf 21856//21856 21859//21859 21962//21962\nf 21962//21962 21866//21866 21472//21472\nf 21872//21872 21702//21702 21874//21874\nf 21481//21481 21873//21873 21877//21877\nf 21476//21476 21882//21882 21883//21883\nf 21618//21618 21481//21481 21878//21878\nf 21481//21481 21877//21877 21878//21878\nf 21884//21884 21618//21618 21878//21878\nf 21659//21659 21658//21658 21880//21880\nf 21658//21658 21879//21879 21880//21880\nf 21482//21482 21875//21875 21885//21885\nf 21251//21251 21886//21886 21964//21964\nf 21883//21883 21890//21890 21966//21966\nf 21887//21887 21495//21495 21664//21664\nf 21495//21495 21887//21887 21889//21889\nf 21895//21895 21984//21984 21894//21894\nf 21625//21625 21966//21966 21890//21890\nf 21891//21891 21893//21893 21707//21707\nf 21967//21967 21899//21899 21673//21673\nf 21967//21967 21985//21985 21900//21900\nf 21967//21967 21900//21900 21899//21899\nf 21673//21673 21899//21899 21900//21900\nf 21511//21511 21896//21896 21903//21903\nf 21902//21902 21509//21509 21905//21905\nf 21904//21904 21511//21511 21903//21903\nf 21509//21509 21676//21676 21906//21906\nf 21521//21521 21904//21904 21907//21907\nf 21676//21676 21523//21523 21906//21906\nf 21523//21523 21909//21909 21906//21906\nf 21910//21910 21525//21525 21524//21524\nf 21914//21914 21530//21530 21917//21917\nf 21530//21530 21533//21533 21917//21917\nf 21534//21534 21920//21920 21918//21918\nf 21677//21677 21968//21968 21921//21921\nf 21539//21539 21923//21923 21926//21926\nf 21934//21934 21936//21936 21930//21930\nf 21931//21931 21934//21934 21930//21930\nf 21936//21936 21560//21560 21939//21939\nf 21939//21939 21560//21560 21940//21940\nf 21941//21941 21940//21940 21562//21562\nf 21713//21713 21714//21714 22255//22255\nf 22325//22325 21713//21713 22255//22255\nf 22559//22559 22487//22487 22631//22631\nf 22256//22256 21716//21716 22257//22257\nf 21314//21314 21714//21714 21713//21713\nf 21719//21719 21725//21725 21729//21729\nf 21726//21726 21970//21970 21754//21754\nf 21945//21945 21971//21971 21738//21738\nf 21737//21737 21738//21738 21971//21971\nf 21732//21732 21944//21944 21735//21735\nf 21350//21350 21760//21760 21736//21736\nf 21759//21759 21344//21344 21742//21742\nf 21944//21944 21732//21732 21972//21972\nf 21752//21752 21326//21326 21753//21753\nf 21602//21602 21946//21946 21761//21761\nf 21761//21761 21946//21946 21974//21974\nf 21769//21769 21604//21604 21754//21754\nf 21971//21971 21779//21779 21977//21977\nf 21779//21779 21945//21945 21774//21774\nf 21766//21766 21761//21761 21974//21974\nf 21997//21997 21974//21974 21946//21946\nf 21975//21975 21758//21758 21762//21762\nf 21975//21975 21762//21762 21947//21947\nf 21948//21948 21944//21944 21972//21972\nf 21948//21948 21972//21972 21973//21973\nf 21763//21763 21781//21781 21953//21953\nf 21977//21977 21779//21779 21782//21782\nf 21951//21951 21949//21949 21766//21766\nf 21954//21954 21950//21950 21948//21948\nf 21772//21772 21776//21776 22000//22000\nf 21786//21786 21371//21371 21769//21769\nf 21977//21977 21782//21782 21783//21783\nf 21948//21948 21973//21973 21954//21954\nf 21763//21763 21953//21953 21998//21998\nf 21805//21805 21951//21951 22004//22004\nf 21390//21390 21786//21786 21799//21799\nf 21958//21958 21408//21408 21814//21814\nf 21791//21791 21809//21809 21956//21956\nf 21809//21809 21398//21398 21815//21815\nf 21981//21981 21823//21823 21812//21812\nf 21821//21821 21826//21826 21825//21825\nf 21823//21823 21833//21833 21831//21831\nf 21841//21841 21835//21835 21852//21852\nf 21848//21848 21460//21460 21961//21961\nf 22015//22015 21855//21855 21850//21850\nf 21858//21858 21863//21863 21868//21868\nf 21982//21982 21865//21865 21861//21861\nf 21982//21982 21870//21870 21865//21865\nf 21878//21878 21877//21877 21873//21873\nf 21964//21964 21963//21963 21462//21462\nf 21462//21462 21251//21251 21964//21964\nf 22017//22017 21881//21881 21870//21870\nf 21876//21876 21870//21870 21881//21881\nf 21484//21484 21885//21885 21965//21965\nf 21486//21486 21983//21983 21887//21887\nf 21891//21891 21889//21889 21893//21893\nf 21984//21984 21966//21966 21894//21894\nf 21494//21494 21892//21892 21886//21886\nf 21898//21898 21900//21900 21895//21895\nf 21900//21900 21985//21985 21895//21895\nf 21911//21911 21526//21526 21914//21914\nf 21526//21526 21528//21528 21914//21914\nf 21916//21916 21915//21915 21913//21913\nf 21920//21920 21922//21922 22042//22042\nf 22026//22026 21926//21926 21923//21923\nf 21928//21928 21543//21543 21926//21926\nf 21714//21714 21715//21715 22255//22255\nf 22559//22559 22367//22367 22487//22487\nf 21709//21709 21717//21717 21710//21710\nf 21718//21718 21987//21987 21969//21969\nf 21969//21969 21308//21308 21712//21712\nf 21718//21718 21969//21969 21712//21712\nf 21710//21710 21717//21717 21709//21709\nf 21728//21728 21722//21722 21717//21717\nf 21729//21729 22027//22027 21719//21719\nf 21989//21989 21990//21990 21942//21942\nf 21989//21989 21988//21988 21990//21990\nf 22078//22078 21731//21731 21733//21733\nf 21727//21727 21736//21736 21721//21721\nf 21991//21991 21729//21729 21743//21743\nf 21942//21942 21990//21990 21992//21992\nf 21992//21992 21744//21744 21942//21942\nf 22286//22286 22258//22258 21746//21746\nf 21993//21993 21943//21943 21740//21740\nf 21751//21751 21943//21943 21993//21993\nf 21993//21993 21740//21740 21971//21971\nf 21971//21971 21740//21740 21737//21737\nf 21746//21746 21747//21747 22092//22092\nf 21971//21971 21945//21945 21779//21779\nf 21764//21764 21744//21744 21992//21992\nf 21744//21744 21764//21764 21992//21992\nf 21994//21994 21752//21752 21753//21753\nf 21753//21753 21757//21757 21995//21995\nf 21994//21994 21946//21946 21752//21752\nf 21757//21757 21758//21758 21975//21975\nf 21764//21764 21999//21999 21976//21976\nf 22000//22000 21770//21770 21772//21772\nf 21973//21973 22002//22002 21954//21954\nf 21767//21767 22001//22001 21773//21773\nf 21976//21976 21999//21999 21778//21778\nf 21954//21954 22002//22002 22003//22003\nf 21765//21765 21775//21775 21952//21952\nf 21780//21780 22000//22000 21776//21776\nf 21955//21955 21977//21977 21783//21783\nf 21951//21951 21766//21766 22004//22004\nf 22006//22006 21954//21954 22003//22003\nf 21367//21367 21787//21787 21777//21777\nf 22003//22003 21952//21952 21956//21956\nf 21788//21788 21785//21785 21773//21773\nf 21953//21953 21792//21792 21801//21801\nf 21789//21789 21778//21778 22005//22005\nf 21955//21955 21790//21790 21797//21797\nf 22031//22031 21955//21955 21797//21797\nf 21803//21803 21954//21954 22006//22006\nf 21956//21956 22006//22006 22003//22003\nf 21957//21957 21780//21780 21784//21784\nf 22030//22030 21953//21953 21801//21801\nf 21978//21978 21805//21805 22004//22004\nf 21805//21805 21978//21978 21981//21981\nf 21811//21811 21803//21803 22006//22006\nf 22008//22008 21956//21956 21809//21809\nf 21812//21812 21805//21805 21981//21981\nf 22009//22009 21806//21806 21813//21813\nf 21794//21794 22007//22007 21808//21808\nf 21817//21817 21809//21809 21815//21815\nf 22010//22010 21813//21813 21820//21820\nf 22012//22012 21833//21833 21823//21823\nf 22013//22013 21817//21817 21828//21828\nf 22014//22014 21829//21829 21834//21834\nf 22035//22035 21959//21959 21837//21837\nf 21846//21846 21843//21843 21850//21850\nf 21850//21850 21843//21843 22036//22036\nf 21848//21848 21840//21840 21447//21447\nf 22014//22014 21834//21834 21844//21844\nf 21849//21849 21853//21853 21845//21845\nf 22015//22015 21861//21861 21855//21855\nf 21853//21853 21858//21858 22199//22199\nf 21857//21857 22016//22016 21867//21867\nf 21961//21961 21462//21462 21963//21963\nf 21881//21881 21983//21983 21887//21887\nf 21983//21983 21881//21881 21887//21887\nf 22020//22020 21883//21883 21966//21966\nf 21889//21889 21887//21887 22040//22040\nf 21984//21984 22020//22020 21966//21966\nf 21888//21888 21484//21484 21965//21965\nf 21893//21893 21889//21889 22022//22022\nf 21893//21893 22022//22022 22023//22023\nf 21985//21985 21984//21984 21895//21895\nf 21910//21910 21908//21908 22024//22024\nf 21912//21912 21910//21910 22024//22024\nf 22025//22025 21916//21916 21913//21913\nf 21919//21919 22025//22025 21968//21968\nf 21921//21921 22026//22026 21923//21923\nf 21929//21929 21933//21933 21932//21932\nf 21933//21933 21938//21938 21935//21935\nf 21938//21938 21933//21933 21941//21941\nf 21936//21936 21939//21939 21940//21940\nf 21987//21987 21986//21986 21969//21969\nf 22062//22062 21716//21716 21720//21720\nf 21747//21747 21750//21750 22093//22093\nf 22096//22096 21750//21750 21756//21756\nf 21993//21993 21971//21971 21977//21977\nf 22028//22028 21993//21993 21977//21977\nf 21743//21743 21998//21998 21991//21991\nf 21743//21743 21763//21763 21998//21998\nf 21972//21972 22002//22002 21973//21973\nf 21997//21997 21946//21946 21994//21994\nf 22104//22104 21768//21768 21759//21759\nf 22029//22029 22004//22004 21766//21766\nf 22029//22029 21766//21766 21974//21974\nf 22002//22002 21952//21952 22003//22003\nf 22004//22004 22029//22029 22048//22048\nf 21978//21978 22004//22004 22048//22048\nf 22032//22032 21811//21811 22006//22006\nf 22008//22008 22032//22032 21956//21956\nf 22009//22009 21957//21957 21806//21806\nf 22032//22032 22006//22006 21956//21956\nf 21817//21817 22051//22051 21809//21809\nf 21981//21981 22033//22033 21823//21823\nf 21818//21818 21807//21807 22011//22011\nf 21823//21823 22033//22033 22012//22012\nf 21820//21820 22034//22034 22010//22010\nf 21838//21838 21833//21833 22053//22053\nf 21843//21843 21838//21838 22053//22053\nf 21842//21842 21839//21839 21845//21845\nf 21959//21959 22035//22035 21847//21847\nf 22037//22037 21844//21844 21856//21856\nf 22185//22185 21845//21845 21853//21853\nf 22015//22015 21982//21982 21861//21861\nf 22037//22037 21856//21856 22038//22038\nf 22196//22196 21961//21961 21963//21963\nf 21870//21870 21982//21982 22017//22017\nf 22038//22038 21962//21962 22039//22039\nf 22038//22038 21856//21856 21962//21962\nf 22039//22039 21883//21883 22020//22020\nf 21872//21872 21874//21874 22019//22019\nf 22018//22018 21963//21963 21964//21964\nf 22039//22039 21962//21962 21883//21883\nf 22020//22020 21984//21984 22021//22021\nf 21887//21887 21983//21983 22040//22040\nf 22041//22041 22021//22021 21984//21984\nf 21985//21985 22041//22041 21984//21984\nf 21893//21893 22023//22023 21967//21967\nf 21967//21967 22041//22041 21985//21985\nf 22041//22041 21967//21967 22023//22023\nf 21904//21904 22232//22232 22234//22234\nf 21919//21919 21916//21916 22025//22025\nf 21925//21925 21927//21927 21928//21928\nf 22043//22043 21933//21933 21929//21929\nf 22043//22043 21930//21930 21936//21936\nf 21929//21929 21930//21930 22043//22043\nf 21940//21940 22043//22043 21936//21936\nf 21987//21987 21718//21718 22065//22065\nf 22083//22083 22081//22081 21729//21729\nf 21721//21721 21736//21736 22074//22074\nf 21730//21730 21972//21972 21732//21732\nf 22090//22090 22046//22046 21972//21972\nf 21765//21765 22103//22103 21749//21749\nf 22095//22095 21769//21769 21754//21754\nf 22090//22090 22002//22002 21972//21972\nf 22090//22090 21972//21972 22046//22046\nf 22102//22102 21993//21993 22028//22028\nf 21995//21995 21994//21994 21753//21753\nf 22109//22109 21997//21997 21994//21994\nf 21995//21995 21757//21757 21996//21996\nf 22112//22112 21996//21996 21975//21975\nf 21996//21996 21757//21757 21975//21975\nf 22107//22107 21999//21999 21764//21764\nf 22028//22028 21977//21977 21955//21955\nf 22108//22108 21952//21952 22002//22002\nf 22047//22047 21770//21770 22000//22000\nf 22102//22102 22028//22028 21955//21955\nf 22114//22114 21771//21771 22292//22292\nf 21796//21796 22129//22129 21801//21801\nf 22129//22129 22030//22030 21801//21801\nf 22133//22133 21800//21800 21958//21958\nf 21780//21780 21957//21957 22049//22049\nf 22143//22143 22142//22142 21787//21787\nf 21787//21787 21810//21810 22050//22050\nf 22007//22007 21794//21794 21788//21788\nf 21981//21981 21978//21978 22048//22048\nf 21814//21814 21816//21816 21958//21958\nf 22033//22033 21981//21981 22048//22048\nf 22007//22007 22147//22147 21808//21808\nf 21808//21808 22146//22146 21810//21810\nf 22157//22157 22008//22008 22158//22158\nf 22008//22008 21809//21809 22158//22158\nf 22153//22153 21816//21816 21821//21821\nf 22032//22032 21822//21822 21811//21811\nf 21833//21833 22012//22012 22052//22052\nf 22052//22052 22159//22159 22053//22053\nf 22034//22034 21820//21820 21829//21829\nf 21826//21826 21825//21825 22162//22162\nf 22162//22162 21825//21825 22170//22170\nf 22036//22036 21843//21843 22053//22053\nf 22168//22168 21829//21829 22014//22014\nf 22176//22176 21828//21828 21832//21832\nf 22182//22182 21852//21852 22175//22175\nf 22014//22014 21844//21844 22037//22037\nf 22185//22185 21842//21842 21845//21845\nf 22035//22035 22183//22183 21847//21847\nf 22183//22183 22186//22186 21847//21847\nf 22188//22188 22014//22014 22037//22037\nf 22176//22176 22181//22181 22343//22343\nf 22191//22191 22193//22193 21857//21857\nf 22185//22185 21853//21853 22194//22194\nf 22196//22196 22187//22187 21961//21961\nf 21847//21847 22195//22195 21854//21854\nf 21854//21854 22195//22195 22202//22202\nf 22203//22203 22196//22196 21963//21963\nf 22206//22206 21868//21868 21872//21872\nf 21878//21878 22056//22056 22210//22210\nf 22017//22017 22054//22054 21983//21983\nf 21881//21881 22017//22017 21983//21983\nf 22054//22054 22208//22208 21983//21983\nf 22020//22020 22021//22021 22039//22039\nf 22057//22057 22055//22055 22021//22021\nf 22208//22208 22054//22054 21983//21983\nf 22054//22054 22040//22040 21983//21983\nf 22223//22223 21965//21965 21885//21885\nf 22221//22221 22222//22222 22023//22023\nf 22041//22041 22222//22222 22057//22057\nf 22057//22057 22021//22021 22041//22041\nf 22023//22023 22022//22022 22224//22224\nf 22023//22023 22222//22222 22041//22041\nf 22226//22226 21888//21888 21965//21965\nf 22231//22231 21897//21897 21902//21902\nf 21903//21903 22230//22230 21904//21904\nf 22233//22233 21906//21906 21909//21909\nf 22237//22237 22024//22024 21908//21908\nf 21918//21918 21920//21920 22245//22245\nf 22245//22245 21920//21920 22247//22247\nf 21920//21920 22042//22042 21924//21924\nf 22042//22042 21922//21922 21924//21924\nf 22251//22251 21924//21924 21925//21925\nf 22026//22026 22249//22249 21926//21926\nf 22249//22249 22253//22253 21926//21926\nf 21940//21940 21941//21941 21933//21933\nf 22043//22043 21940//21940 21933//21933\nf 22061//22061 21713//21713 22058//22058\nf 22058//22058 21713//21713 22325//22325\nf 22488//22488 22256//22256 22257//22257\nf 21711//21711 22059//22059 22044//22044\nf 22060//22060 21711//21711 21986//21986\nf 22063//22063 22062//22062 21720//21720\nf 21721//21721 22063//22063 21720//21720\nf 22064//22064 21709//21709 22059//22059\nf 22044//22044 22059//22059 21709//21709\nf 22066//22066 22065//22065 21718//21718\nf 22064//22064 21717//21717 21709//21709\nf 22068//22068 21724//21724 22061//22061\nf 22068//22068 21723//21723 21724//21724\nf 22067//22067 21717//21717 22064//22064\nf 21718//21718 21719//21719 22070//22070\nf 21718//21718 22070//22070 22066//22066\nf 22075//22075 21717//21717 22067//22067\nf 22072//22072 21988//21988 21989//21989\nf 22071//22071 21988//21988 22072//22072\nf 21726//21726 21723//21723 22073//22073\nf 22075//22075 21728//21728 21717//21717\nf 21988//21988 22076//22076 21990//21990\nf 22076//22076 21988//21988 22071//22071\nf 22078//22078 21733//21733 22079//22079\nf 22069//22069 21721//21721 22074//22074\nf 22081//22081 22027//22027 21729//21729\nf 22081//22081 22070//22070 22027//22027\nf 22078//22078 21730//21730 21731//21731\nf 21733//21733 22080//22080 22079//22079\nf 22045//22045 22080//22080 21733//21733\nf 21726//21726 22073//22073 21970//21970\nf 22075//22075 22082//22082 21728//21728\nf 21942//21942 21745//21745 22086//22086\nf 21733//21733 22080//22080 22045//22045\nf 22077//22077 21942//21942 22086//22086\nf 21970//21970 22073//22073 22085//22085\nf 22082//22082 22087//22087 21728//21728\nf 22083//22083 21729//21729 22088//22088\nf 21754//21754 21970//21970 22085//22085\nf 21742//21742 21734//21734 22087//22087\nf 21734//21734 21728//21728 22087//22087\nf 21991//21991 22088//22088 21729//21729\nf 21992//21992 21990//21990 22089//22089\nf 22089//22089 21990//21990 22076//22076\nf 22090//22090 21972//21972 21730//21730\nf 22084//22084 22090//22090 21730//21730\nf 22091//22091 21733//21733 21749//21749\nf 22091//22091 22080//22080 21733//21733\nf 22074//22074 21736//21736 22259//22259\nf 22286//22286 21746//21746 22092//22092\nf 22096//22096 22093//22093 21750//21750\nf 22094//22094 21756//21756 21751//21751\nf 22096//22096 21756//21756 22094//22094\nf 22097//22097 22091//22091 21749//21749\nf 21993//21993 22094//22094 21751//21751\nf 22099//22099 22100//22100 21742//21742\nf 21992//21992 22101//22101 21744//21744\nf 22089//22089 22101//22101 21992//21992\nf 22100//22100 22104//22104 21759//21759\nf 22102//22102 22094//22094 21993//21993\nf 22103//22103 22097//22097 21749//21749\nf 21764//21764 21744//21744 22101//22101\nf 22002//22002 22090//22090 22105//22105\nf 22107//22107 21764//21764 22101//22101\nf 22002//22002 22105//22105 22108//22108\nf 21995//21995 21996//21996 22111//22111\nf 22260//22260 21998//21998 22106//22106\nf 21765//21765 22108//22108 22103//22103\nf 21765//21765 21952//21952 22108//22108\nf 21997//21997 22118//22118 22124//22124\nf 22111//22111 21996//21996 22112//22112\nf 22112//22112 21975//21975 22116//22116\nf 21767//21767 22120//22120 22001//22001\nf 21767//21767 22115//22115 22120//22120\nf 22106//22106 21998//21998 21953//21953\nf 22106//22106 21953//21953 22030//22030\nf 21974//21974 21997//21997 22117//22117\nf 21997//21997 22109//22109 22118//22118\nf 22262//22262 21994//21994 21995//21995\nf 21947//21947 22119//22119 21975//21975\nf 22116//22116 22119//22119 22125//22125\nf 21999//21999 22107//22107 21778//21778\nf 21778//21778 22107//22107 22122//22122\nf 22029//22029 21974//21974 22117//22117\nf 22117//22117 21997//21997 22124//22124\nf 22118//22118 22109//22109 22124//22124\nf 22125//22125 22119//22119 21947//21947\nf 22000//22000 22127//22127 22126//22126\nf 22000//22000 22126//22126 22047//22047\nf 22106//22106 22030//22030 22121//22121\nf 21947//21947 21770//21770 22126//22126\nf 21770//21770 22047//22047 22126//22126\nf 22123//22123 21955//21955 22031//22031\nf 22130//22130 22029//22029 22124//22124\nf 22124//22124 22029//22029 22117//22117\nf 21773//21773 22001//22001 22120//22120\nf 22030//22030 22129//22129 22121//22121\nf 21797//21797 22132//22132 22123//22123\nf 22123//22123 22031//22031 21797//21797\nf 22029//22029 22130//22130 22048//22048\nf 22127//22127 22000//22000 21780//21780\nf 22140//22140 21788//21788 22131//22131\nf 22131//22131 21788//21788 21773//21773\nf 21773//21773 22128//22128 22131//22131\nf 22129//22129 21796//21796 22135//22135\nf 22030//22030 21801//21801 21796//21796\nf 21801//21801 22030//22030 21796//21796\nf 21778//21778 22122//22122 22005//22005\nf 22136//22136 22005//22005 22122//22122\nf 22137//22137 22132//22132 21798//21798\nf 21797//21797 21798//21798 22132//22132\nf 22048//22048 22130//22130 22138//22138\nf 21780//21780 22139//22139 22127//22127\nf 21800//21800 22133//22133 22134//22134\nf 21795//21795 21800//21800 22135//22135\nf 21795//21795 22135//22135 21796//21796\nf 21789//21789 22005//22005 22136//22136\nf 22137//22137 21798//21798 21802//21802\nf 22137//22137 21802//21802 22141//22141\nf 21780//21780 22049//22049 22139//22139\nf 22049//22049 22150//22150 22139//22139\nf 21957//21957 22049//22049 22139//22139\nf 22143//22143 22050//22050 22146//22146\nf 22144//22144 21816//21816 22148//22148\nf 22133//22133 21958//21958 22144//22144\nf 21804//21804 22145//22145 22141//22141\nf 21804//21804 22141//22141 21802//21802\nf 22146//22146 22050//22050 21810//21810\nf 21788//21788 22147//22147 22007//22007\nf 21958//21958 21816//21816 22144//22144\nf 21789//21789 22136//22136 21979//21979\nf 21979//21979 22145//22145 21980//21980\nf 21979//21979 22136//22136 22145//22145\nf 21980//21980 22145//22145 21804//21804\nf 22033//22033 22048//22048 22149//22149\nf 22338//22338 22303//22303 22268//22268\nf 22049//22049 21957//21957 22139//22139\nf 22049//22049 21957//21957 22150//22150\nf 21957//21957 22009//22009 22150//22150\nf 22146//22146 21808//21808 22152//22152\nf 22147//22147 22152//22152 21808//21808\nf 22033//22033 22149//22149 22154//22154\nf 22009//22009 21813//21813 22150//22150\nf 22033//22033 22154//22154 22159//22159\nf 21813//21813 22010//22010 22150//22150\nf 22153//22153 21821//21821 22155//22155\nf 22156//22156 21822//21822 22032//22032\nf 21809//21809 22051//22051 22158//22158\nf 22159//22159 22012//22012 22033//22033\nf 22150//22150 22010//22010 22268//22268\nf 21818//21818 22011//22011 22160//22160\nf 22155//22155 21826//21826 22162//22162\nf 22155//22155 21821//21821 21826//21826\nf 22163//22163 22051//22051 21817//21817\nf 22163//22163 22158//22158 22051//22051\nf 22052//22052 22012//22012 22159//22159\nf 22053//22053 21833//21833 22052//22052\nf 22164//22164 22010//22010 22168//22168\nf 21824//21824 21818//21818 22165//22165\nf 22166//22166 21822//21822 22156//22156\nf 22166//22166 21827//21827 21822//21822\nf 21817//21817 22013//22013 22169//22169\nf 22053//22053 22159//22159 22167//22167\nf 22034//22034 22168//22168 22010//22010\nf 22169//22169 22013//22013 21828//21828\nf 21829//21829 22168//22168 22034//22034\nf 22053//22053 22167//22167 22174//22174\nf 21824//21824 22165//22165 22175//22175\nf 21836//21836 22170//22170 21830//21830\nf 22341//22341 22171//22171 22176//22176\nf 22169//22169 21828//21828 22171//22171\nf 22171//22171 21828//21828 22176//22176\nf 22170//22170 21836//21836 22172//22172\nf 22035//22035 21827//21827 22166//22166\nf 22173//22173 22174//22174 22053//22053\nf 22053//22053 22174//22174 22173//22173\nf 21824//21824 22175//22175 21835//21835\nf 21837//21837 21827//21827 22035//22035\nf 22053//22053 22174//22174 22036//22036\nf 22168//22168 22014//22014 22179//22179\nf 22180//22180 22177//22177 21836//21836\nf 22180//22180 21836//21836 21839//21839\nf 22174//22174 22178//22178 22036//22036\nf 22179//22179 22014//22014 22188//22188\nf 21852//21852 21835//21835 22175//22175\nf 21832//21832 21840//21840 22181//22181\nf 22015//22015 21850//21850 22184//22184\nf 22180//22180 21842//21842 22185//22185\nf 22184//22184 21850//21850 22036//22036\nf 22015//22015 22184//22184 22190//22190\nf 22179//22179 22188//22188 22270//22270\nf 22189//22189 22191//22191 21852//21852\nf 21852//21852 22191//22191 21960//21960\nf 22190//22190 22192//22192 22015//22015\nf 22197//22197 22037//22037 22038//22038\nf 21857//21857 21960//21960 22191//22191\nf 22192//22192 21982//21982 22015//22015\nf 22197//22197 22188//22188 22037//22037\nf 22187//22187 21848//21848 21961//21961\nf 22192//22192 22198//22198 21982//21982\nf 22193//22193 22016//22016 21857//21857\nf 22017//22017 21982//21982 22198//22198\nf 22016//22016 22193//22193 21867//21867\nf 21867//21867 22193//22193 22201//22201\nf 22205//22205 22038//22038 22039//22039\nf 22200//22200 22038//22038 22205//22205\nf 21867//21867 22201//22201 21873//21873\nf 22199//22199 21858//21858 22206//22206\nf 21864//21864 21854//21854 22202//22202\nf 22207//22207 22017//22017 22198//22198\nf 22055//22055 22205//22205 22039//22039\nf 22205//22205 22055//22055 22204//22204\nf 22211//22211 21963//21963 22018//22018\nf 22211//22211 22203//22203 21963//21963\nf 22017//22017 22207//22207 22208//22208\nf 22055//22055 22209//22209 22204//22204\nf 22209//22209 22055//22055 22057//22057\nf 22056//22056 21878//21878 22210//22210\nf 21873//21873 22201//22201 22210//22210\nf 21878//21878 21873//21873 22210//22210\nf 22213//22213 22211//22211 22018//22018\nf 22017//22017 22208//22208 22054//22054\nf 22210//22210 21884//21884 21878//21878\nf 22202//22202 21875//21875 21864//21864\nf 22214//22214 22054//22054 22208//22208\nf 22204//22204 22209//22209 22057//22057\nf 22215//22215 22204//22204 22057//22057\nf 22055//22055 22039//22039 22021//22021\nf 22210//22210 22216//22216 21884//21884\nf 22277//22277 21879//21879 22217//22217\nf 22019//22019 21874//21874 22218//22218\nf 21872//21872 22219//22219 22212//22212\nf 22219//22219 22019//22019 22218//22218\nf 21964//21964 22213//22213 22018//22018\nf 22054//22054 22214//22214 22040//22040\nf 22217//22217 22216//22216 22321//22321\nf 22220//22220 21885//21885 21875//21875\nf 22220//22220 21875//21875 22202//22202\nf 22215//22215 22057//22057 22222//22222\nf 22221//22221 22215//22215 22222//22222\nf 22220//22220 22223//22223 21885//21885\nf 21886//21886 22213//22213 21964//21964\nf 22225//22225 22213//22213 21886//21886\nf 21889//21889 22040//22040 22214//22214\nf 22023//22023 22224//22224 22221//22221\nf 22226//22226 21965//21965 22223//22223\nf 22322//22322 22225//22225 22227//22227\nf 22226//22226 22228//22228 21888//21888\nf 21897//21897 22229//22229 21892//21892\nf 21888//21888 22228//22228 21896//21896\nf 22227//22227 21892//21892 22229//22229\nf 22228//22228 22230//22230 21896//21896\nf 21903//21903 21896//21896 22230//22230\nf 22231//22231 22229//22229 21897//21897\nf 21905//21905 21906//21906 22233//22233\nf 22230//22230 22232//22232 21904//21904\nf 21907//21907 21904//21904 22234//22234\nf 21907//21907 22234//22234 21908//21908\nf 22235//22235 22237//22237 21908//21908\nf 22236//22236 21909//21909 21911//21911\nf 22024//22024 22237//22237 21912//21912\nf 22238//22238 21912//21912 22237//22237\nf 22239//22239 22236//22236 21911//21911\nf 21914//21914 22240//22240 21911//21911\nf 22240//22240 22239//22239 21911//21911\nf 21912//21912 22241//22241 21913//21913\nf 22240//22240 21914//21914 21917//21917\nf 21913//21913 22242//22242 22025//22025\nf 22241//22241 22242//22242 21913//21913\nf 22025//22025 22242//22242 21968//21968\nf 22242//22242 22243//22243 21968//21968\nf 22244//22244 21918//21918 22245//22245\nf 21968//21968 22243//22243 21921//21921\nf 22246//22246 21921//21921 22243//22243\nf 22247//22247 21920//21920 22248//22248\nf 22026//22026 21921//21921 22246//22246\nf 22249//22249 22026//22026 22246//22246\nf 21920//21920 21924//21924 22248//22248\nf 22250//22250 21924//21924 22251//22251\nf 22251//22251 21925//21925 21928//21928\nf 22254//22254 21928//21928 22253//22253\nf 21926//21926 22253//22253 21928//21928\nf 22060//22060 21986//21986 21987//21987\nf 21721//21721 22069//22069 22063//22063\nf 22073//22073 21723//21723 22068//22068\nf 22072//22072 22076//22076 22071//22071\nf 21989//21989 22077//22077 22072//22072\nf 21989//21989 21942//21942 22077//22077\nf 22070//22070 21719//21719 22027//22027\nf 22078//22078 22084//22084 21730//21730\nf 21745//21745 21746//21746 22086//22086\nf 21746//21746 22258//22258 22086//22086\nf 22092//22092 21747//21747 22093//22093\nf 22085//22085 22095//22095 21754//21754\nf 21760//21760 22098//22098 22259//22259\nf 21742//21742 22087//22087 22099//22099\nf 22088//22088 21991//21991 22260//22260\nf 22100//22100 21759//21759 21742//21742\nf 21991//21991 21998//21998 22260//22260\nf 22106//22106 22088//22088 22260//22260\nf 22123//22123 22102//22102 21955//21955\nf 22110//22110 21995//21995 22111//22111\nf 21767//21767 21768//21768 22115//22115\nf 21768//21768 22104//22104 22115//22115\nf 22262//22262 21995//21995 22110//22110\nf 21786//21786 21769//21769 22113//22113\nf 22120//22120 22115//22115 22104//22104\nf 22118//22118 22124//22124 22109//22109\nf 22109//22109 21994//21994 22118//22118\nf 22116//22116 21975//21975 22119//22119\nf 22118//22118 21994//21994 22262//22262\nf 22128//22128 21773//21773 22120//22120\nf 22124//22124 22264//22264 22265//22265\nf 22125//22125 21947//21947 22126//22126\nf 22142//22142 21777//21777 21787//21787\nf 22263//22263 22135//22135 22134//22134\nf 22135//22135 21800//21800 22134//22134\nf 22135//22135 22263//22263 22129//22129\nf 22130//22130 22124//22124 22265//22265\nf 22138//22138 22130//22130 22265//22265\nf 22137//22137 22141//22141 22132//22132\nf 22127//22127 22139//22139 22266//22266\nf 22143//22143 21787//21787 22050//22050\nf 22265//22265 22149//22149 22138//22138\nf 21788//21788 22140//22140 22147//22147\nf 22138//22138 22149//22149 22048//22048\nf 22149//22149 22265//22265 22154//22154\nf 21816//21816 22153//22153 22148//22148\nf 22160//22160 21807//21807 22151//22151\nf 22011//22011 21807//21807 22160//22160\nf 22156//22156 22032//22032 22157//22157\nf 22032//22032 22008//22008 22157//22157\nf 22155//22155 22162//22162 22304//22304\nf 22169//22169 22163//22163 21817//21817\nf 22010//22010 22164//22164 22268//22268\nf 22164//22164 22168//22168 22269//22269\nf 22161//22161 22165//22165 21818//21818\nf 22268//22268 22164//22164 22269//22269\nf 21825//21825 21830//21830 22170//22170\nf 22174//22174 22167//22167 22159//22159\nf 21836//21836 22177//22177 22172//22172\nf 22178//22178 22174//22174 22184//22184\nf 22184//22184 22036//22036 22178//22178\nf 22035//22035 22166//22166 22183//22183\nf 21832//21832 22181//22181 22176//22176\nf 22180//22180 21839//21839 21842//21842\nf 22181//22181 21840//21840 22187//22187\nf 22189//22189 21852//21852 22182//22182\nf 21840//21840 21848//21848 22187//22187\nf 22184//22184 22192//22192 22190//22190\nf 22186//22186 22195//22195 21847//21847\nf 22196//22196 22272//22272 22187//22187\nf 22198//22198 22192//22192 22271//22271\nf 22270//22270 22188//22188 22200//22200\nf 22188//22188 22197//22197 22200//22200\nf 22201//22201 22193//22193 22318//22318\nf 22204//22204 22273//22273 22200//22200\nf 22200//22200 22197//22197 22038//22038\nf 22275//22275 22273//22273 22204//22204\nf 22205//22205 22204//22204 22200//22200\nf 21858//21858 21868//21868 22206//22206\nf 22207//22207 22198//22198 22208//22208\nf 22275//22275 22274//22274 22273//22273\nf 22214//22214 22208//22208 22276//22276\nf 21872//21872 22019//22019 22219//22219\nf 22221//22221 22204//22204 22215//22215\nf 22221//22221 22275//22275 22204//22204\nf 22217//22217 21884//21884 22216//22216\nf 21879//21879 21884//21884 22217//22217\nf 21880//21880 21879//21879 22277//22277\nf 21874//21874 21880//21880 22218//22218\nf 22320//22320 22220//22220 22202//22202\nf 22278//22278 22022//22022 22214//22214\nf 22022//22022 21889//21889 22214//22214\nf 22022//22022 22278//22278 22224//22224\nf 22221//22221 22224//22224 22278//22278\nf 21886//21886 21892//21892 22225//22225\nf 22323//22323 22226//22226 22223//22223\nf 22279//22279 22226//22226 22323//22323\nf 22228//22228 22226//22226 22279//22279\nf 22234//22234 22232//22232 22230//22230\nf 22233//22233 21909//21909 22236//22236\nf 21912//21912 22238//22238 22241//22241\nf 22281//22281 22240//22240 21917//21917\nf 22281//22281 21918//21918 22244//22244\nf 21917//21917 21918//21918 22281//22281\nf 22248//22248 21924//21924 22250//22250\nf 22248//22248 22250//22250 22251//22251\nf 22252//22252 21928//21928 22254//22254\nf 22525//22525 22367//22367 22559//22559\nf 22370//22370 22061//22061 22525//22525\nf 22325//22325 22255//22255 22487//22487\nf 21715//21715 21716//21716 22256//22256\nf 22487//22487 22256//22256 22488//22488\nf 21716//21716 22062//22062 22257//22257\nf 22257//22257 22062//22062 22326//22326\nf 21724//21724 21713//21713 22061//22061\nf 22060//22060 21987//21987 22065//22065\nf 22064//22064 22282//22282 22067//22067\nf 22077//22077 22076//22076 22072//22072\nf 22284//22284 22079//22079 22080//22080\nf 22283//22283 22079//22079 22284//22284\nf 22073//22073 22068//22068 22085//22085\nf 22082//22082 22075//22075 22087//22087\nf 21736//21736 21760//21760 22259//22259\nf 22089//22089 22077//22077 22285//22285\nf 22076//22076 22077//22077 22089//22089\nf 22081//22081 22083//22083 22088//22088\nf 22287//22287 22081//22081 22088//22088\nf 22100//22100 22099//22099 22087//22087\nf 21760//21760 21771//21771 22098//22098\nf 22089//22089 22285//22285 22101//22101\nf 22096//22096 22094//22094 22288//22288\nf 22103//22103 22091//22091 22097//22097\nf 22114//22114 22098//22098 21771//21771\nf 22088//22088 22106//22106 22287//22287\nf 22090//22090 22289//22289 22105//22105\nf 22108//22108 22105//22105 22289//22289\nf 21769//21769 22095//22095 22261//22261\nf 22288//22288 22094//22094 22102//22102\nf 22113//22113 21769//21769 22261//22261\nf 22123//22123 22132//22132 22288//22288\nf 22123//22123 22288//22288 22102//22102\nf 22129//22129 22106//22106 22121//22121\nf 22293//22293 22122//22122 22107//22107\nf 22110//22110 22111//22111 22294//22294\nf 22262//22262 22110//22110 22294//22294\nf 22116//22116 22111//22111 22112//22112\nf 21777//21777 22292//22292 21771//21771\nf 22118//22118 22262//22262 22298//22298\nf 22292//22292 21777//21777 22142//22142\nf 22294//22294 22111//22111 22116//22116\nf 22133//22133 22295//22295 22134//22134\nf 22296//22296 22134//22134 22295//22295\nf 22134//22134 22296//22296 22263//22263\nf 22330//22330 22129//22129 22263//22263\nf 22132//22132 22141//22141 22297//22297\nf 22264//22264 22124//22124 22118//22118\nf 22126//22126 22127//22127 22299//22299\nf 22128//22128 22120//22120 22131//22131\nf 22295//22295 22133//22133 22300//22300\nf 22122//22122 22293//22293 22136//22136\nf 22266//22266 22299//22299 22127//22127\nf 21799//21799 21786//21786 22267//22267\nf 21786//21786 22113//22113 22267//22267\nf 22143//22143 22292//22292 22142//22142\nf 22144//22144 22300//22300 22133//22133\nf 22302//22302 22154//22154 22264//22264\nf 21807//21807 21799//21799 22267//22267\nf 22147//22147 22140//22140 22301//22301\nf 22153//22153 22144//22144 22148//22148\nf 22154//22154 22265//22265 22264//22264\nf 22266//22266 22139//22139 22303//22303\nf 22139//22139 22150//22150 22303//22303\nf 22268//22268 22303//22303 22150//22150\nf 22153//22153 22155//22155 22304//22304\nf 22161//22161 21818//21818 22160//22160\nf 22159//22159 22154//22154 22305//22305\nf 22307//22307 22158//22158 22163//22163\nf 22170//22170 22306//22306 22162//22162\nf 22169//22169 22307//22307 22163//22163\nf 22174//22174 22159//22159 22305//22305\nf 22269//22269 22168//22168 22309//22309\nf 22172//22172 22177//22177 22180//22180\nf 22168//22168 22179//22179 22309//22309\nf 22189//22189 22182//22182 22175//22175\nf 22310//22310 22180//22180 22185//22185\nf 22311//22311 22192//22192 22184//22184\nf 22342//22342 22271//22271 22192//22192\nf 22315//22315 22193//22193 22191//22191\nf 22274//22274 22313//22313 22273//22273\nf 22273//22273 22314//22314 22200//22200\nf 22314//22314 22270//22270 22200//22200\nf 22194//22194 21853//21853 22199//22199\nf 22345//22345 22316//22316 22198//22198\nf 22208//22208 22198//22198 22316//22316\nf 22346//22346 22276//22276 22316//22316\nf 22317//22317 22274//22274 22275//22275\nf 22319//22319 22317//22317 22275//22275\nf 22457//22457 22206//22206 22212//22212\nf 22206//22206 21872//21872 22212//22212\nf 22278//22278 22276//22276 22319//22319\nf 22278//22278 22214//22214 22276//22276\nf 22210//22210 22321//22321 22216//22216\nf 22221//22221 22278//22278 22319//22319\nf 22319//22319 22275//22275 22221//22221\nf 22218//22218 21880//21880 22277//22277\nf 22225//22225 21892//21892 22227//22227\nf 22324//22324 22228//22228 22279//22279\nf 22231//22231 21902//21902 22280//22280\nf 21902//21902 21905//21905 22280//22280\nf 22280//22280 21905//21905 22233//22233\nf 21908//21908 22234//22234 22235//22235\nf 22281//22281 22244//22244 22245//22245\nf 21928//21928 22252//22252 22251//22251\nf 22252//22252 22253//22253 22249//22249\nf 22254//22254 22253//22253 22252//22252\nf 22374//22374 22283//22283 22284//22284\nf 22081//22081 22066//22066 22070//22070\nf 22081//22081 22327//22327 22066//22066\nf 22283//22283 22078//22078 22079//22079\nf 22067//22067 22282//22282 22075//22075\nf 22100//22100 22087//22087 22328//22328\nf 22329//22329 22101//22101 22285//22285\nf 22329//22329 22107//22107 22101//22101\nf 22113//22113 22261//22261 22290//22290\nf 22120//22120 22104//22104 22291//22291\nf 22299//22299 22334//22334 22125//22125\nf 22331//22331 22131//22131 22120//22120\nf 22141//22141 22145//22145 22297//22297\nf 22262//22262 22294//22294 22298//22298\nf 22294//22294 22332//22332 22298//22298\nf 22332//22332 22294//22294 22333//22333\nf 22294//22294 22116//22116 22333//22333\nf 22333//22333 22125//22125 22334//22334\nf 22126//22126 22299//22299 22125//22125\nf 22264//22264 22118//22118 22298//22298\nf 22153//22153 22351//22351 22144//22144\nf 22417//22417 22414//22414 22143//22143\nf 22266//22266 22303//22303 22335//22335\nf 22151//22151 21807//21807 22267//22267\nf 22153//22153 22304//22304 22162//22162\nf 22336//22336 22152//22152 22147//22147\nf 22337//22337 22336//22336 22147//22147\nf 22304//22304 22153//22153 22162//22162\nf 22154//22154 22302//22302 22305//22305\nf 22166//22166 22157//22157 22340//22340\nf 22166//22166 22156//22156 22157//22157\nf 22340//22340 22158//22158 22307//22307\nf 22269//22269 22338//22338 22268//22268\nf 22340//22340 22157//22157 22158//22158\nf 22305//22305 22339//22339 22174//22174\nf 22339//22339 22308//22308 22174//22174\nf 22168//22168 22269//22269 22309//22309\nf 22184//22184 22174//22174 22308//22308\nf 22269//22269 22168//22168 22309//22309\nf 22169//22169 22171//22171 22341//22341\nf 22184//22184 22308//22308 22311//22311\nf 22192//22192 22311//22311 22342//22342\nf 22314//22314 22179//22179 22270//22270\nf 22309//22309 22179//22179 22314//22314\nf 22313//22313 22344//22344 22309//22309\nf 22187//22187 22343//22343 22181//22181\nf 22345//22345 22198//22198 22271//22271\nf 22314//22314 22273//22273 22313//22313\nf 22312//22312 22185//22185 22194//22194\nf 22364//22364 22313//22313 22317//22317\nf 22317//22317 22313//22313 22274//22274\nf 22451//22451 22194//22194 22199//22199\nf 22208//22208 22316//22316 22276//22276\nf 22276//22276 22317//22317 22319//22319\nf 22346//22346 22317//22317 22276//22276\nf 22211//22211 22213//22213 22203//22203\nf 22217//22217 22321//22321 22347//22347\nf 22488//22488 22257//22257 22326//22326\nf 22368//22368 22326//22326 22062//22062\nf 22080//22080 22374//22374 22284//22284\nf 22283//22283 22375//22375 22078//22078\nf 22074//22074 22259//22259 22098//22098\nf 22075//22075 22349//22349 22087//22087\nf 22285//22285 22077//22077 22329//22329\nf 22077//22077 22086//22086 22329//22329\nf 22078//22078 22289//22289 22084//22084\nf 22090//22090 22084//22084 22289//22289\nf 22093//22093 22386//22386 22092//22092\nf 22386//22386 22286//22286 22092//22092\nf 22382//22382 22098//22098 22391//22391\nf 22330//22330 22287//22287 22106//22106\nf 22330//22330 22350//22350 22287//22287\nf 22108//22108 22387//22387 22289//22289\nf 22401//22401 22096//22096 22288//22288\nf 22108//22108 22289//22289 22387//22387\nf 22330//22330 22106//22106 22129//22129\nf 22107//22107 22402//22402 22293//22293\nf 22397//22397 22330//22330 22263//22263\nf 22291//22291 22104//22104 22100//22100\nf 22297//22297 22288//22288 22132//22132\nf 22331//22331 22120//22120 22291//22291\nf 22116//22116 22125//22125 22333//22333\nf 22351//22351 22409//22409 22144//22144\nf 22266//22266 22354//22354 22299//22299\nf 22352//22352 22140//22140 22131//22131\nf 22415//22415 22351//22351 22153//22153\nf 22353//22353 22332//22332 22333//22333\nf 22304//22304 22415//22415 22153//22153\nf 22302//22302 22264//22264 22298//22298\nf 22302//22302 22298//22298 22355//22355\nf 22353//22353 22298//22298 22332//22332\nf 22354//22354 22334//22334 22299//22299\nf 22298//22298 22353//22353 22355//22355\nf 22354//22354 22266//22266 22335//22335\nf 22418//22418 22354//22354 22422//22422\nf 22305//22305 22302//22302 22355//22355\nf 22355//22355 22353//22353 22356//22356\nf 22335//22335 22303//22303 22338//22338\nf 22306//22306 22304//22304 22162//22162\nf 22305//22305 22355//22355 22339//22339\nf 22339//22339 22355//22355 22356//22356\nf 22356//22356 22308//22308 22339//22339\nf 22338//22338 22269//22269 22358//22358\nf 22311//22311 22308//22308 22360//22360\nf 22357//22357 22359//22359 22361//22361\nf 22344//22344 22358//22358 22269//22269\nf 22176//22176 22169//22169 22341//22341\nf 22311//22311 22360//22360 22342//22342\nf 22361//22361 22359//22359 22362//22362\nf 22362//22362 22359//22359 22358//22358\nf 22362//22362 22358//22358 22344//22344\nf 22175//22175 22437//22437 22439//22439\nf 22362//22362 22344//22344 22313//22313\nf 22313//22313 22309//22309 22314//22314\nf 22271//22271 22342//22342 22345//22345\nf 22342//22342 22363//22363 22345//22345\nf 22364//22364 22362//22362 22313//22313\nf 22194//22194 22441//22441 22312//22312\nf 22272//22272 22448//22448 22187//22187\nf 22346//22346 22316//22316 22365//22365\nf 22345//22345 22365//22365 22316//22316\nf 22317//22317 22346//22346 22365//22365\nf 22365//22365 22364//22364 22317//22317\nf 22195//22195 22186//22186 22450//22450\nf 22318//22318 22210//22210 22201//22201\nf 22320//22320 22202//22202 22195//22195\nf 22462//22462 22225//22225 22322//22322\nf 22228//22228 22324//22324 22465//22465\nf 22473//22473 22233//22233 22236//22236\nf 22234//22234 22472//22472 22235//22235\nf 22475//22475 22241//22241 22238//22238\nf 22348//22348 22475//22475 22478//22478\nf 22242//22242 22241//22241 22348//22348\nf 22479//22479 22281//22281 22245//22245\nf 22482//22482 22247//22247 22248//22248\nf 22366//22366 22248//22248 22251//22251\nf 22486//22486 22251//22251 22252//22252\nf 22607//22607 22559//22559 22630//22630\nf 22061//22061 22325//22325 22367//22367\nf 22061//22061 22058//22058 22325//22325\nf 22488//22488 22326//22326 22368//22368\nf 22608//22608 22488//22488 22368//22368\nf 22068//22068 22061//22061 22370//22370\nf 22066//22066 22373//22373 22065//22065\nf 22059//22059 22060//22060 22372//22372\nf 22069//22069 22074//22074 22377//22377\nf 22378//22378 22282//22282 22064//22064\nf 22375//22375 22283//22283 22374//22374\nf 22376//22376 22085//22085 22068//22068\nf 22064//22064 22059//22059 22378//22378\nf 22375//22375 22379//22379 22078//22078\nf 22080//22080 22380//22380 22374//22374\nf 22085//22085 22381//22381 22095//22095\nf 22074//22074 22382//22382 22377//22377\nf 22282//22282 22383//22383 22075//22075\nf 22287//22287 22327//22327 22081//22081\nf 22384//22384 22086//22086 22258//22258\nf 22384//22384 22258//22258 22385//22385\nf 22386//22386 22258//22258 22286//22286\nf 22388//22388 22080//22080 22091//22091\nf 22382//22382 22074//22074 22098//22098\nf 22383//22383 22349//22349 22075//22075\nf 22496//22496 22327//22327 22350//22350\nf 22327//22327 22287//22287 22350//22350\nf 22086//22086 22384//22384 22329//22329\nf 22258//22258 22386//22386 22385//22385\nf 22289//22289 22078//22078 22387//22387\nf 22389//22389 22390//22390 22392//22392\nf 22394//22394 22495//22495 22389//22389\nf 22495//22495 22491//22491 22389//22389\nf 22096//22096 22393//22393 22093//22093\nf 22399//22399 22391//22391 22114//22114\nf 22388//22388 22091//22091 22395//22395\nf 22087//22087 22349//22349 22328//22328\nf 22389//22389 22392//22392 22400//22400\nf 22392//22392 22350//22350 22330//22330\nf 22397//22397 22392//22392 22330//22330\nf 22091//22091 22103//22103 22395//22395\nf 22389//22389 22396//22396 22394//22394\nf 22398//22398 22107//22107 22329//22329\nf 22396//22396 22389//22389 22499//22499\nf 22107//22107 22398//22398 22402//22402\nf 22108//22108 22395//22395 22103//22103\nf 22289//22289 22395//22395 22108//22108\nf 22397//22397 22400//22400 22392//22392\nf 22328//22328 22404//22404 22100//22100\nf 22400//22400 22397//22397 22263//22263\nf 22297//22297 22401//22401 22288//22288\nf 22113//22113 22290//22290 22410//22410\nf 22114//22114 22292//22292 22405//22405\nf 22396//22396 22295//22295 22403//22403\nf 22400//22400 22263//22263 22296//22296\nf 22291//22291 22100//22100 22404//22404\nf 22300//22300 22403//22403 22295//22295\nf 22396//22396 22400//22400 22296//22296\nf 22295//22295 22396//22396 22296//22296\nf 22399//22399 22114//22114 22405//22405\nf 22405//22405 22292//22292 22408//22408\nf 22406//22406 22300//22300 22409//22409\nf 22143//22143 22408//22408 22292//22292\nf 22300//22300 22144//22144 22409//22409\nf 22411//22411 22297//22297 22145//22145\nf 22331//22331 22291//22291 22413//22413\nf 22293//22293 22412//22412 22136//22136\nf 22145//22145 22136//22136 22412//22412\nf 22412//22412 22411//22411 22145//22145\nf 22506//22506 22351//22351 22415//22415\nf 22417//22417 22143//22143 22146//22146\nf 22352//22352 22131//22131 22331//22331\nf 22415//22415 22304//22304 22416//22416\nf 22333//22333 22334//22334 22418//22418\nf 22354//22354 22418//22418 22334//22334\nf 22140//22140 22352//22352 22301//22301\nf 22353//22353 22333//22333 22418//22418\nf 22420//22420 22353//22353 22418//22418\nf 22301//22301 22513//22513 22514//22514\nf 22356//22356 22353//22353 22420//22420\nf 22152//22152 22417//22417 22146//22146\nf 22511//22511 22304//22304 22306//22306\nf 22424//22424 22420//22420 22418//22418\nf 22354//22354 22335//22335 22422//22422\nf 22152//22152 22423//22423 22417//22417\nf 22336//22336 22423//22423 22152//22152\nf 22147//22147 22421//22421 22337//22337\nf 22418//22418 22422//22422 22425//22425\nf 22422//22422 22335//22335 22426//22426\nf 22426//22426 22335//22335 22338//22338\nf 22423//22423 22336//22336 22337//22337\nf 22356//22356 22420//22420 22424//22424\nf 22424//22424 22418//22418 22425//22425\nf 22360//22360 22424//22424 22429//22429\nf 22360//22360 22356//22356 22424//22424\nf 22358//22358 22426//22426 22338//22338\nf 22165//22165 22161//22161 22517//22517\nf 22430//22430 22425//22425 22357//22357\nf 22425//22425 22422//22422 22357//22357\nf 22426//22426 22357//22357 22422//22422\nf 22358//22358 22359//22359 22426//22426\nf 22170//22170 22172//22172 22306//22306\nf 22308//22308 22356//22356 22360//22360\nf 22359//22359 22357//22357 22426//22426\nf 22432//22432 22340//22340 22519//22519\nf 22342//22342 22360//22360 22429//22429\nf 22518//22518 22431//22431 22172//22172\nf 22432//22432 22166//22166 22340//22340\nf 22430//22430 22357//22357 22361//22361\nf 22518//22518 22180//22180 22433//22433\nf 22518//22518 22172//22172 22180//22180\nf 22531//22531 22307//22307 22341//22341\nf 22430//22430 22363//22363 22429//22429\nf 22344//22344 22269//22269 22309//22309\nf 22180//22180 22434//22434 22433//22433\nf 22166//22166 22432//22432 22183//22183\nf 22520//22520 22169//22169 22176//22176\nf 22342//22342 22429//22429 22363//22363\nf 22430//22430 22361//22361 22363//22363\nf 22520//22520 22341//22341 22169//22169\nf 22434//22434 22180//22180 22436//22436\nf 22183//22183 22432//22432 22435//22435\nf 22180//22180 22310//22310 22436//22436\nf 22175//22175 22439//22439 22189//22189\nf 22310//22310 22185//22185 22436//22436\nf 22343//22343 22440//22440 22176//22176\nf 22361//22361 22365//22365 22363//22363\nf 22361//22361 22364//22364 22365//22365\nf 22362//22362 22364//22364 22361//22361\nf 22442//22442 22191//22191 22189//22189\nf 22345//22345 22363//22363 22365//22365\nf 22441//22441 22185//22185 22312//22312\nf 22443//22443 22343//22343 22187//22187\nf 22315//22315 22191//22191 22442//22442\nf 22446//22446 22186//22186 22444//22444\nf 22450//22450 22186//22186 22446//22446\nf 22193//22193 22449//22449 22318//22318\nf 22452//22452 22195//22195 22450//22450\nf 22318//22318 22449//22449 22453//22453\nf 22453//22453 22210//22210 22318//22318\nf 22451//22451 22199//22199 22456//22456\nf 22452//22452 22454//22454 22195//22195\nf 22320//22320 22195//22195 22454//22454\nf 22456//22456 22206//22206 22457//22457\nf 22347//22347 22321//22321 22217//22217\nf 22459//22459 22203//22203 22213//22213\nf 22323//22323 22223//22223 22461//22461\nf 22323//22323 22461//22461 22279//22279\nf 22227//22227 22463//22463 22322//22322\nf 22464//22464 22465//22465 22279//22279\nf 22465//22465 22324//22324 22279//22279\nf 22466//22466 22227//22227 22229//22229\nf 22467//22467 22466//22466 22229//22229\nf 22467//22467 22229//22229 22280//22280\nf 22231//22231 22280//22280 22229//22229\nf 22468//22468 22467//22467 22280//22280\nf 22230//22230 22469//22469 22470//22470\nf 22230//22230 22470//22470 22234//22234\nf 22235//22235 22472//22472 22237//22237\nf 22237//22237 22474//22474 22238//22238\nf 22281//22281 22476//22476 22240//22240\nf 22476//22476 22281//22281 22477//22477\nf 22348//22348 22478//22478 22242//22242\nf 22243//22243 22481//22481 22246//22246\nf 22480//22480 22481//22481 22243//22243\nf 22248//22248 22245//22245 22482//22482\nf 22245//22245 22247//22247 22482//22482\nf 22543//22543 22248//22248 22483//22483\nf 22249//22249 22246//22246 22484//22484\nf 22483//22483 22248//22248 22366//22366\nf 22485//22485 22483//22483 22366//22366\nf 22366//22366 22251//22251 22485//22485\nf 22249//22249 22484//22484 22486//22486\nf 22485//22485 22251//22251 22486//22486\nf 22486//22486 22252//22252 22249//22249\nf 22607//22607 22525//22525 22559//22559\nf 22367//22367 22325//22325 22487//22487\nf 22371//22371 22068//22068 22370//22370\nf 22369//22369 22063//22063 22069//22069\nf 22372//22372 22060//22060 22373//22373\nf 22373//22373 22060//22060 22065//22065\nf 22376//22376 22068//22068 22371//22371\nf 22069//22069 22377//22377 22489//22489\nf 22492//22492 22373//22373 22066//22066\nf 22490//22490 22378//22378 22059//22059\nf 22059//22059 22372//22372 22490//22490\nf 22491//22491 22372//22372 22492//22492\nf 22327//22327 22492//22492 22066//22066\nf 22491//22491 22490//22490 22372//22372\nf 22493//22493 22492//22492 22327//22327\nf 22282//22282 22378//22378 22490//22490\nf 22494//22494 22282//22282 22490//22490\nf 22491//22491 22495//22495 22490//22490\nf 22389//22389 22492//22492 22390//22390\nf 22491//22491 22492//22492 22389//22389\nf 22078//22078 22379//22379 22387//22387\nf 22380//22380 22080//22080 22388//22388\nf 22495//22495 22494//22494 22490//22490\nf 22493//22493 22327//22327 22496//22496\nf 22494//22494 22349//22349 22383//22383\nf 22494//22494 22383//22383 22282//22282\nf 22392//22392 22496//22496 22350//22350\nf 22390//22390 22496//22496 22392//22392\nf 22384//22384 22385//22385 22329//22329\nf 22391//22391 22098//22098 22114//22114\nf 22494//22494 22498//22498 22349//22349\nf 22385//22385 22398//22398 22329//22329\nf 22398//22398 22385//22385 22402//22402\nf 22401//22401 22393//22393 22096//22096\nf 22289//22289 22387//22387 22395//22395\nf 22328//22328 22349//22349 22497//22497\nf 22497//22497 22349//22349 22498//22498\nf 22498//22498 22494//22494 22495//22495\nf 22495//22495 22394//22394 22396//22396\nf 22396//22396 22498//22498 22495//22495\nf 22498//22498 22396//22396 22403//22403\nf 22499//22499 22389//22389 22400//22400\nf 22396//22396 22499//22499 22400//22400\nf 22500//22500 22328//22328 22501//22501\nf 22328//22328 22497//22497 22501//22501\nf 22501//22501 22497//22497 22498//22498\nf 22502//22502 22500//22500 22501//22501\nf 22501//22501 22498//22498 22403//22403\nf 22328//22328 22500//22500 22502//22502\nf 22406//22406 22403//22403 22300//22300\nf 22501//22501 22403//22403 22406//22406\nf 22404//22404 22328//22328 22502//22502\nf 22401//22401 22297//22297 22503//22503\nf 22411//22411 22503//22503 22297//22297\nf 22504//22504 22404//22404 22502//22502\nf 22406//22406 22409//22409 22501//22501\nf 22409//22409 22351//22351 22501//22501\nf 22267//22267 22113//22113 22410//22410\nf 22414//22414 22408//22408 22143//22143\nf 22291//22291 22404//22404 22505//22505\nf 22404//22404 22504//22504 22505//22505\nf 22416//22416 22505//22505 22504//22504\nf 22351//22351 22502//22502 22501//22501\nf 22351//22351 22506//22506 22502//22502\nf 22413//22413 22291//22291 22507//22507\nf 22506//22506 22416//22416 22502//22502\nf 22331//22331 22413//22413 22507//22507\nf 22507//22507 22291//22291 22505//22505\nf 22509//22509 22331//22331 22507//22507\nf 22506//22506 22415//22415 22416//22416\nf 22267//22267 22508//22508 22419//22419\nf 22510//22510 22352//22352 22331//22331\nf 22416//22416 22511//22511 22505//22505\nf 22511//22511 22416//22416 22512//22512\nf 22304//22304 22512//22512 22416//22416\nf 22513//22513 22301//22301 22352//22352\nf 22151//22151 22267//22267 22419//22419\nf 22511//22511 22512//22512 22304//22304\nf 22147//22147 22301//22301 22421//22421\nf 22421//22421 22301//22301 22514//22514\nf 22161//22161 22160//22160 22151//22151\nf 22306//22306 22516//22516 22515//22515\nf 22511//22511 22306//22306 22515//22515\nf 22161//22161 22151//22151 22419//22419\nf 22427//22427 22423//22423 22337//22337\nf 22337//22337 22421//22421 22427//22427\nf 22428//22428 22165//22165 22517//22517\nf 22172//22172 22431//22431 22516//22516\nf 22516//22516 22306//22306 22172//22172\nf 22425//22425 22430//22430 22424//22424\nf 22430//22430 22429//22429 22424//22424\nf 22518//22518 22433//22433 22434//22434\nf 22175//22175 22428//22428 22437//22437\nf 22307//22307 22169//22169 22341//22341\nf 22175//22175 22165//22165 22428//22428\nf 22432//22432 22519//22519 22435//22435\nf 22519//22519 22340//22340 22531//22531\nf 22438//22438 22520//22520 22176//22176\nf 22446//22446 22183//22183 22435//22435\nf 22185//22185 22441//22441 22436//22436\nf 22446//22446 22186//22186 22183//22183\nf 22176//22176 22440//22440 22438//22438\nf 22186//22186 22446//22446 22444//22444\nf 22445//22445 22449//22449 22193//22193\nf 22441//22441 22194//22194 22447//22447\nf 22443//22443 22187//22187 22448//22448\nf 22194//22194 22451//22451 22447//22447\nf 22537//22537 22272//22272 22196//22196\nf 22453//22453 22449//22449 22536//22536\nf 22196//22196 22203//22203 22455//22455\nf 22199//22199 22206//22206 22456//22456\nf 22537//22537 22196//22196 22455//22455\nf 22454//22454 22220//22220 22320//22320\nf 22217//22217 22321//22321 22458//22458\nf 22217//22217 22458//22458 22522//22522\nf 22212//22212 22219//22219 22218//22218\nf 22217//22217 22522//22522 22277//22277\nf 22460//22460 22213//22213 22225//22225\nf 22223//22223 22220//22220 22461//22461\nf 22322//22322 22463//22463 22462//22462\nf 22227//22227 22466//22466 22463//22463\nf 22469//22469 22230//22230 22228//22228\nf 22465//22465 22469//22469 22228//22228\nf 22468//22468 22280//22280 22471//22471\nf 22280//22280 22233//22233 22471//22471\nf 22472//22472 22234//22234 22470//22470\nf 22472//22472 22474//22474 22237//22237\nf 22523//22523 22236//22236 22239//22239\nf 22473//22473 22236//22236 22523//22523\nf 22238//22238 22474//22474 22475//22475\nf 22240//22240 22523//22523 22239//22239\nf 22479//22479 22476//22476 22477//22477\nf 22348//22348 22241//22241 22475//22475\nf 22479//22479 22477//22477 22281//22281\nf 22243//22243 22242//22242 22480//22480\nf 22242//22242 22478//22478 22480//22480\nf 22245//22245 22524//22524 22479//22479\nf 22245//22245 22248//22248 22542//22542\nf 22543//22543 22542//22542 22248//22248\nf 22481//22481 22484//22484 22246//22246\nf 22487//22487 22255//22255 22256//22256\nf 22631//22631 22487//22487 22608//22608\nf 22368//22368 22062//22062 22063//22063\nf 22372//22372 22373//22373 22492//22492\nf 22375//22375 22526//22526 22379//22379\nf 22085//22085 22376//22376 22381//22381\nf 22492//22492 22493//22493 22390//22390\nf 22496//22496 22390//22390 22493//22493\nf 22395//22395 22387//22387 22379//22379\nf 22093//22093 22393//22393 22386//22386\nf 22261//22261 22095//22095 22381//22381\nf 22293//22293 22402//22402 22407//22407\nf 22411//22411 22401//22401 22503//22503\nf 22411//22411 22529//22529 22401//22401\nf 22411//22411 22293//22293 22407//22407\nf 22416//22416 22504//22504 22502//22502\nf 22411//22411 22412//22412 22293//22293\nf 22267//22267 22410//22410 22508//22508\nf 22510//22510 22331//22331 22509//22509\nf 22507//22507 22505//22505 22530//22530\nf 22511//22511 22530//22530 22505//22505\nf 22510//22510 22509//22509 22530//22530\nf 22509//22509 22507//22507 22530//22530\nf 22352//22352 22510//22510 22513//22513\nf 22510//22510 22530//22530 22547//22547\nf 22515//22515 22516//22516 22530//22530\nf 22515//22515 22530//22530 22511//22511\nf 22516//22516 22431//22431 22518//22518\nf 22434//22434 22436//22436 22518//22518\nf 22531//22531 22340//22340 22307//22307\nf 22519//22519 22531//22531 22435//22435\nf 22531//22531 22341//22341 22520//22520\nf 22533//22533 22520//22520 22438//22438\nf 22436//22436 22441//22441 22532//22532\nf 22533//22533 22438//22438 22440//22440\nf 22315//22315 22442//22442 22521//22521\nf 22193//22193 22315//22315 22521//22521\nf 22343//22343 22443//22443 22440//22440\nf 22535//22535 22440//22440 22443//22443\nf 22441//22441 22447//22447 22451//22451\nf 22450//22450 22446//22446 22452//22452\nf 22535//22535 22443//22443 22448//22448\nf 22212//22212 22218//22218 22457//22457\nf 22218//22218 22277//22277 22538//22538\nf 22213//22213 22460//22460 22459//22459\nf 22462//22462 22539//22539 22463//22463\nf 22279//22279 22461//22461 22464//22464\nf 22462//22462 22463//22463 22539//22539\nf 22471//22471 22467//22467 22468//22468\nf 22472//22472 22540//22540 22474//22474\nf 22240//22240 22476//22476 22523//22523\nf 22476//22476 22479//22479 22541//22541\nf 22555//22555 22479//22479 22524//22524\nf 22245//22245 22542//22542 22524//22524\nf 22544//22544 22484//22484 22481//22481\nf 22544//22544 22486//22486 22484//22484\nf 22061//22061 22367//22367 22525//22525\nf 22368//22368 22063//22063 22369//22369\nf 22368//22368 22369//22369 22562//22562\nf 22369//22369 22069//22069 22489//22489\nf 22371//22371 22545//22545 22376//22376\nf 22527//22527 22377//22377 22391//22391\nf 22379//22379 22526//22526 22395//22395\nf 22529//22529 22386//22386 22393//22393\nf 22290//22290 22381//22381 22528//22528\nf 22290//22290 22261//22261 22381//22381\nf 22529//22529 22393//22393 22401//22401\nf 22399//22399 22405//22405 22408//22408\nf 22546//22546 22399//22399 22408//22408\nf 22529//22529 22411//22411 22402//22402\nf 22407//22407 22402//22402 22411//22411\nf 22516//22516 22547//22547 22530//22530\nf 22513//22513 22510//22510 22547//22547\nf 22548//22548 22513//22513 22547//22547\nf 22161//22161 22419//22419 22517//22517\nf 22421//22421 22514//22514 22548//22548\nf 22514//22514 22513//22513 22548//22548\nf 22551//22551 22547//22547 22518//22518\nf 22516//22516 22518//22518 22547//22547\nf 22518//22518 22436//22436 22551//22551\nf 22189//22189 22439//22439 22534//22534\nf 22442//22442 22189//22189 22534//22534\nf 22445//22445 22193//22193 22521//22521\nf 22537//22537 22448//22448 22272//22272\nf 22451//22451 22456//22456 22552//22552\nf 22210//22210 22453//22453 22458//22458\nf 22458//22458 22321//22321 22210//22210\nf 22459//22459 22537//22537 22455//22455\nf 22277//22277 22522//22522 22553//22553\nf 22455//22455 22203//22203 22459//22459\nf 22538//22538 22277//22277 22553//22553\nf 22554//22554 22461//22461 22220//22220\nf 22220//22220 22454//22454 22554//22554\nf 22225//22225 22462//22462 22460//22460\nf 22471//22471 22233//22233 22473//22473\nf 22473//22473 22523//22523 22558//22558\nf 22558//22558 22523//22523 22476//22476\nf 22558//22558 22476//22476 22541//22541\nf 22555//22555 22524//22524 22542//22542\nf 22542//22542 22543//22543 22483//22483\nf 22487//22487 22488//22488 22608//22608\nf 22371//22371 22370//22370 22561//22561\nf 22377//22377 22382//22382 22391//22391\nf 22529//22529 22385//22385 22386//22386\nf 22402//22402 22385//22385 22529//22529\nf 22410//22410 22290//22290 22528//22528\nf 22419//22419 22508//22508 22570//22570\nf 22423//22423 22556//22556 22417//22417\nf 22549//22549 22423//22423 22427//22427\nf 22421//22421 22548//22548 22550//22550\nf 22550//22550 22548//22548 22551//22551\nf 22547//22547 22551//22551 22548//22548\nf 22427//22427 22421//22421 22550//22550\nf 22427//22427 22550//22550 22549//22549\nf 22446//22446 22435//22435 22557//22557\nf 22557//22557 22435//22435 22531//22531\nf 22557//22557 22531//22531 22520//22520\nf 22557//22557 22520//22520 22533//22533\nf 22535//22535 22448//22448 22537//22537\nf 22537//22537 22459//22459 22588//22588\nf 22457//22457 22218//22218 22538//22538\nf 22460//22460 22462//22462 22459//22459\nf 22539//22539 22462//22462 22463//22463\nf 22593//22593 22465//22465 22464//22464\nf 22600//22600 22597//22597 22471//22471\nf 22600//22600 22471//22471 22473//22473\nf 22601//22601 22473//22473 22558//22558\nf 22481//22481 22480//22480 22605//22605\nf 22606//22606 22542//22542 22483//22483\nf 22486//22486 22544//22544 22481//22481\nf 22483//22483 22485//22485 22544//22544\nf 22485//22485 22486//22486 22544//22544\nf 22371//22371 22563//22563 22545//22545\nf 22545//22545 22564//22564 22376//22376\nf 22567//22567 22566//22566 22527//22527\nf 22526//22526 22380//22380 22388//22388\nf 22527//22527 22391//22391 22567//22567\nf 22395//22395 22526//22526 22388//22388\nf 22568//22568 22399//22399 22546//22546\nf 22568//22568 22391//22391 22399//22399\nf 22381//22381 22569//22569 22528//22528\nf 22556//22556 22571//22571 22417//22417\nf 22571//22571 22556//22556 22423//22423\nf 22423//22423 22573//22573 22571//22571\nf 22517//22517 22419//22419 22572//22572\nf 22423//22423 22574//22574 22573//22573\nf 22549//22549 22574//22574 22423//22423\nf 22549//22549 22575//22575 22574//22574\nf 22532//22532 22550//22550 22551//22551\nf 22428//22428 22576//22576 22437//22437\nf 22532//22532 22551//22551 22436//22436\nf 22439//22439 22437//22437 22576//22576\nf 22577//22577 22532//22532 22441//22441\nf 22616//22616 22442//22442 22615//22615\nf 22442//22442 22616//22616 22521//22521\nf 22452//22452 22446//22446 22557//22557\nf 22449//22449 22445//22445 22521//22521\nf 22449//22449 22521//22521 22578//22578\nf 22577//22577 22441//22441 22451//22451\nf 22533//22533 22440//22440 22535//22535\nf 22449//22449 22582//22582 22536//22536\nf 22453//22453 22536//22536 22582//22582\nf 22451//22451 22552//22552 22583//22583\nf 22583//22583 22552//22552 22456//22456\nf 22584//22584 22454//22454 22452//22452\nf 22584//22584 22452//22452 22581//22581\nf 22453//22453 22620//22620 22458//22458\nf 22585//22585 22456//22456 22457//22457\nf 22454//22454 22584//22584 22554//22554\nf 22554//22554 22584//22584 22624//22624\nf 22462//22462 22590//22590 22459//22459\nf 22554//22554 22591//22591 22461//22461\nf 22462//22462 22539//22539 22592//22592\nf 22463//22463 22466//22466 22595//22595\nf 22626//22626 22465//22465 22596//22596\nf 22597//22597 22467//22467 22471//22471\nf 22599//22599 22470//22470 22627//22627\nf 22597//22597 22471//22471 22598//22598\nf 22470//22470 22599//22599 22472//22472\nf 22540//22540 22472//22472 22599//22599\nf 22601//22601 22600//22600 22473//22473\nf 22474//22474 22540//22540 22657//22657\nf 22628//22628 22558//22558 22541//22541\nf 22475//22475 22602//22602 22478//22478\nf 22478//22478 22602//22602 22603//22603\nf 22541//22541 22479//22479 22555//22555\nf 22603//22603 22480//22480 22478//22478\nf 22555//22555 22542//22542 22604//22604\nf 22544//22544 22481//22481 22605//22605\nf 22481//22481 22544//22544 22486//22486\nf 22369//22369 22489//22489 22562//22562\nf 22545//22545 22563//22563 22564//22564\nf 22489//22489 22377//22377 22565//22565\nf 22565//22565 22377//22377 22527//22527\nf 22565//22565 22527//22527 22566//22566\nf 22610//22610 22568//22568 22546//22546\nf 22408//22408 22414//22414 22611//22611\nf 22571//22571 22611//22611 22414//22414\nf 22414//22414 22417//22417 22571//22571\nf 22549//22549 22532//22532 22613//22613\nf 22549//22549 22550//22550 22532//22532\nf 22614//22614 22550//22550 22532//22532\nf 22614//22614 22532//22532 22550//22550\nf 22534//22534 22439//22439 22615//22615\nf 22577//22577 22614//22614 22532//22532\nf 22452//22452 22557//22557 22581//22581\nf 22617//22617 22581//22581 22557//22557\nf 22577//22577 22451//22451 22580//22580\nf 22617//22617 22557//22557 22533//22533\nf 22618//22618 22533//22533 22535//22535\nf 22582//22582 22449//22449 22579//22579\nf 22522//22522 22458//22458 22620//22620\nf 22640//22640 22585//22585 22457//22457\nf 22621//22621 22537//22537 22622//22622\nf 22621//22621 22535//22535 22537//22537\nf 22522//22522 22623//22623 22553//22553\nf 22457//22457 22538//22538 22587//22587\nf 22588//22588 22622//22622 22537//22537\nf 22588//22588 22459//22459 22589//22589\nf 22590//22590 22589//22589 22459//22459\nf 22625//22625 22590//22590 22462//22462\nf 22461//22461 22593//22593 22464//22464\nf 22594//22594 22539//22539 22463//22463\nf 22626//22626 22469//22469 22465//22465\nf 22470//22470 22469//22469 22627//22627\nf 22471//22471 22597//22597 22598//22598\nf 22598//22598 22597//22597 22601//22601\nf 22604//22604 22541//22541 22555//22555\nf 22603//22603 22605//22605 22480//22480\nf 22644//22644 22604//22604 22542//22542\nf 22629//22629 22542//22542 22606//22606\nf 22483//22483 22629//22629 22606//22606\nf 22370//22370 22525//22525 22607//22607\nf 22608//22608 22368//22368 22560//22560\nf 22561//22561 22370//22370 22607//22607\nf 22560//22560 22368//22368 22562//22562\nf 22562//22562 22489//22489 22565//22565\nf 22647//22647 22526//22526 22374//22374\nf 22375//22375 22374//22374 22526//22526\nf 22380//22380 22633//22633 22374//22374\nf 22647//22647 22633//22633 22526//22526\nf 22647//22647 22380//22380 22633//22633\nf 22380//22380 22526//22526 22633//22633\nf 22647//22647 22633//22633 22380//22380\nf 22381//22381 22376//22376 22609//22609\nf 22568//22568 22610//22610 22391//22391\nf 22391//22391 22610//22610 22567//22567\nf 22546//22546 22634//22634 22610//22610\nf 22635//22635 22634//22634 22546//22546\nf 22636//22636 22408//22408 22611//22611\nf 22419//22419 22570//22570 22572//22572\nf 22549//22549 22612//22612 22575//22575\nf 22612//22612 22637//22637 22575//22575\nf 22549//22549 22613//22613 22612//22612\nf 22613//22613 22637//22637 22612//22612\nf 22532//22532 22614//22614 22613//22613\nf 22613//22613 22614//22614 22577//22577\nf 22638//22638 22613//22613 22577//22577\nf 22579//22579 22449//22449 22578//22578\nf 22577//22577 22580//22580 22638//22638\nf 22617//22617 22533//22533 22618//22618\nf 22580//22580 22451//22451 22583//22583\nf 22584//22584 22581//22581 22617//22617\nf 22618//22618 22535//22535 22619//22619\nf 22583//22583 22456//22456 22585//22585\nf 22584//22584 22617//22617 22639//22639\nf 22621//22621 22619//22619 22535//22535\nf 22623//22623 22522//22522 22586//22586\nf 22538//22538 22553//22553 22587//22587\nf 22584//22584 22639//22639 22624//22624\nf 22594//22594 22592//22592 22539//22539\nf 22641//22641 22594//22594 22463//22463\nf 22595//22595 22641//22641 22463//22463\nf 22642//22642 22595//22595 22466//22466\nf 22642//22642 22466//22466 22467//22467\nf 22626//22626 22656//22656 22469//22469\nf 22657//22657 22540//22540 22599//22599\nf 22601//22601 22558//22558 22643//22643\nf 22628//22628 22643//22643 22558//22558\nf 22658//22658 22474//22474 22657//22657\nf 22644//22644 22542//22542 22629//22629\nf 22544//22544 22661//22661 22645//22645\nf 22544//22544 22605//22605 22661//22661\nf 22483//22483 22544//22544 22645//22645\nf 22630//22630 22559//22559 22631//22631\nf 22561//22561 22632//22632 22371//22371\nf 22371//22371 22632//22632 22563//22563\nf 22562//22562 22565//22565 22646//22646\nf 22647//22647 22374//22374 22633//22633\nf 22376//22376 22564//22564 22609//22609\nf 22648//22648 22381//22381 22609//22609\nf 22381//22381 22648//22648 22569//22569\nf 22410//22410 22528//22528 22649//22649\nf 22574//22574 22575//22575 22573//22573\nf 22428//22428 22651//22651 22576//22576\nf 22615//22615 22439//22439 22652//22652\nf 22578//22578 22521//22521 22616//22616\nf 22638//22638 22583//22583 22653//22653\nf 22580//22580 22583//22583 22638//22638\nf 22620//22620 22453//22453 22582//22582\nf 22617//22617 22618//22618 22639//22639\nf 22654//22654 22619//22619 22621//22621\nf 22654//22654 22639//22639 22618//22618\nf 22553//22553 22623//22623 22587//22587\nf 22624//22624 22591//22591 22554//22554\nf 22589//22589 22590//22590 22625//22625\nf 22592//22592 22625//22625 22462//22462\nf 22592//22592 22594//22594 22625//22625\nf 22594//22594 22664//22664 22625//22625\nf 22593//22593 22655//22655 22465//22465\nf 22655//22655 22596//22596 22465//22465\nf 22596//22596 22656//22656 22626//22626\nf 22655//22655 22656//22656 22596//22596\nf 22627//22627 22469//22469 22656//22656\nf 22642//22642 22467//22467 22597//22597\nf 22642//22642 22597//22597 22598//22598\nf 22597//22597 22600//22600 22601//22601\nf 22643//22643 22628//22628 22659//22659\nf 22602//22602 22475//22475 22658//22658\nf 22628//22628 22660//22660 22659//22659\nf 22541//22541 22660//22660 22628//22628\nf 22660//22660 22541//22541 22604//22604\nf 22605//22605 22603//22603 22661//22661\nf 22661//22661 22629//22629 22645//22645\nf 22645//22645 22629//22629 22483//22483\nf 22634//22634 22666//22666 22610//22610\nf 22546//22546 22408//22408 22636//22636\nf 22508//22508 22410//22410 22570//22570\nf 22428//22428 22517//22517 22650//22650\nf 22428//22428 22650//22650 22651//22651\nf 22439//22439 22576//22576 22652//22652\nf 22653//22653 22637//22637 22613//22613\nf 22442//22442 22534//22534 22615//22615\nf 22638//22638 22653//22653 22613//22613\nf 22618//22618 22619//22619 22654//22654\nf 22522//22522 22620//22620 22586//22586\nf 22640//22640 22457//22457 22587//22587\nf 22639//22639 22654//22654 22624//22624\nf 22662//22662 22621//22621 22588//22588\nf 22621//22621 22622//22622 22588//22588\nf 22625//22625 22588//22588 22589//22589\nf 22670//22670 22588//22588 22625//22625\nf 22461//22461 22591//22591 22593//22593\nf 22641//22641 22595//22595 22642//22642\nf 22599//22599 22627//22627 22656//22656\nf 22672//22672 22601//22601 22643//22643\nf 22658//22658 22475//22475 22474//22474\nf 22644//22644 22660//22660 22604//22604\nf 22697//22697 22608//22608 22560//22560\nf 22566//22566 22567//22567 22666//22666\nf 22666//22666 22679//22679 22610//22610\nf 22679//22679 22666//22666 22610//22610\nf 22569//22569 22609//22609 22728//22728\nf 22635//22635 22546//22546 22636//22636\nf 22649//22649 22528//22528 22569//22569\nf 22681//22681 22635//22635 22636//22636\nf 22517//22517 22572//22572 22668//22668\nf 22650//22650 22517//22517 22668//22668\nf 22583//22583 22585//22585 22640//22640\nf 22624//22624 22654//22654 22663//22663\nf 22669//22669 22591//22591 22624//22624\nf 22593//22593 22591//22591 22689//22689\nf 22642//22642 22665//22665 22641//22641\nf 22665//22665 22642//22642 22598//22598\nf 22665//22665 22598//22598 22671//22671\nf 22671//22671 22598//22598 22601//22601\nf 22672//22672 22671//22671 22601//22601\nf 22657//22657 22673//22673 22658//22658\nf 22659//22659 22672//22672 22643//22643\nf 22644//22644 22674//22674 22660//22660\nf 22661//22661 22718//22718 22675//22675\nf 22603//22603 22675//22675 22661//22661\nf 22675//22675 22718//22718 22661//22661\nf 22694//22694 22607//22607 22630//22630\nf 22677//22677 22562//22562 22646//22646\nf 22678//22678 22646//22646 22565//22565\nf 22666//22666 22679//22679 22566//22566\nf 22666//22666 22567//22567 22610//22610\nf 22667//22667 22666//22666 22634//22634\nf 22698//22698 22667//22667 22634//22634\nf 22410//22410 22649//22649 22570//22570\nf 22576//22576 22651//22651 22682//22682\nf 22652//22652 22576//22576 22683//22683\nf 22652//22652 22616//22616 22615//22615\nf 22616//22616 22704//22704 22578//22578\nf 22685//22685 22653//22653 22583//22583\nf 22583//22583 22640//22640 22685//22685\nf 22587//22587 22686//22686 22640//22640\nf 22654//22654 22621//22621 22662//22662\nf 22624//22624 22663//22663 22669//22669\nf 22669//22669 22688//22688 22591//22591\nf 22662//22662 22588//22588 22670//22670\nf 22593//22593 22689//22689 22655//22655\nf 22641//22641 22690//22690 22594//22594\nf 22690//22690 22664//22664 22594//22594\nf 22641//22641 22665//22665 22691//22691\nf 22675//22675 22603//22603 22718//22718\nf 22696//22696 22631//22631 22608//22608\nf 22561//22561 22607//22607 22676//22676\nf 22695//22695 22630//22630 22631//22631\nf 22694//22694 22630//22630 22695//22695\nf 22721//22721 22678//22678 22566//22566\nf 22678//22678 22565//22565 22566//22566\nf 22679//22679 22666//22666 22698//22698\nf 22569//22569 22648//22648 22609//22609\nf 22680//22680 22634//22634 22635//22635\nf 22635//22635 22681//22681 22680//22680\nf 22681//22681 22699//22699 22680//22680\nf 22571//22571 22730//22730 22611//22611\nf 22730//22730 22571//22571 22733//22733\nf 22701//22701 22651//22651 22650//22650\nf 22735//22735 22575//22575 22736//22736\nf 22652//22652 22683//22683 22738//22738\nf 22637//22637 22703//22703 22702//22702\nf 22703//22703 22637//22637 22653//22653\nf 22653//22653 22705//22705 22703//22703\nf 22684//22684 22578//22578 22704//22704\nf 22703//22703 22705//22705 22685//22685\nf 22582//22582 22579//22579 22706//22706\nf 22705//22705 22653//22653 22685//22685\nf 22685//22685 22640//22640 22686//22686\nf 22620//22620 22740//22740 22741//22741\nf 22687//22687 22586//22586 22620//22620\nf 22623//22623 22586//22586 22687//22687\nf 22743//22743 22742//22742 22623//22623\nf 22742//22742 22587//22587 22623//22623\nf 22663//22663 22654//22654 22707//22707\nf 22707//22707 22654//22654 22662//22662\nf 22669//22669 22663//22663 22707//22707\nf 22708//22708 22707//22707 22662//22662\nf 22708//22708 22662//22662 22670//22670\nf 22688//22688 22689//22689 22591//22591\nf 22664//22664 22670//22670 22625//22625\nf 22670//22670 22664//22664 22710//22710\nf 22710//22710 22664//22664 22711//22711\nf 22664//22664 22690//22690 22712//22712\nf 22664//22664 22712//22712 22711//22711\nf 22641//22641 22691//22691 22712//22712\nf 22690//22690 22641//22641 22712//22712\nf 22655//22655 22692//22692 22656//22656\nf 22671//22671 22713//22713 22665//22665\nf 22713//22713 22691//22691 22665//22665\nf 22750//22750 22755//22755 22672//22672\nf 22657//22657 22599//22599 22749//22749\nf 22750//22750 22672//22672 22714//22714\nf 22715//22715 22673//22673 22657//22657\nf 22714//22714 22672//22672 22659//22659\nf 22716//22716 22659//22659 22660//22660\nf 22693//22693 22602//22602 22658//22658\nf 22716//22716 22660//22660 22717//22717\nf 22660//22660 22674//22674 22717//22717\nf 22718//22718 22644//22644 22675//22675\nf 22718//22718 22674//22674 22644//22644\nf 22629//22629 22661//22661 22675//22675\nf 22676//22676 22607//22607 22694//22694\nf 22697//22697 22696//22696 22608//22608\nf 22720//22720 22560//22560 22562//22562\nf 22561//22561 22719//22719 22632//22632\nf 22677//22677 22720//22720 22562//22562\nf 22678//22678 22677//22677 22646//22646\nf 22632//22632 22719//22719 22563//22563\nf 22563//22563 22719//22719 22722//22722\nf 22722//22722 22723//22723 22563//22563\nf 22563//22563 22723//22723 22564//22564\nf 22724//22724 22721//22721 22566//22566\nf 22724//22724 22566//22566 22679//22679\nf 22564//22564 22723//22723 22609//22609\nf 22666//22666 22667//22667 22698//22698\nf 22698//22698 22634//22634 22725//22725\nf 22634//22634 22727//22727 22725//22725\nf 22726//22726 22609//22609 22723//22723\nf 22609//22609 22726//22726 22728//22728\nf 22634//22634 22680//22680 22727//22727\nf 22729//22729 22649//22649 22569//22569\nf 22729//22729 22569//22569 22728//22728\nf 22681//22681 22700//22700 22699//22699\nf 22700//22700 22681//22681 22636//22636\nf 22570//22570 22649//22649 22729//22729\nf 22730//22730 22700//22700 22636//22636\nf 22730//22730 22636//22636 22611//22611\nf 22732//22732 22570//22570 22731//22731\nf 22668//22668 22734//22734 22650//22650\nf 22701//22701 22650//22650 22734//22734\nf 22735//22735 22573//22573 22575//22575\nf 22651//22651 22701//22701 22682//22682\nf 22682//22682 22701//22701 22753//22753\nf 22637//22637 22737//22737 22736//22736\nf 22575//22575 22637//22637 22736//22736\nf 22702//22702 22737//22737 22637//22637\nf 22616//22616 22652//22652 22738//22738\nf 22578//22578 22684//22684 22579//22579\nf 22706//22706 22739//22739 22582//22582\nf 22582//22582 22739//22739 22740//22740\nf 22582//22582 22740//22740 22620//22620\nf 22743//22743 22623//22623 22687//22687\nf 22587//22587 22742//22742 22686//22686\nf 22669//22669 22707//22707 22688//22688\nf 22745//22745 22707//22707 22708//22708\nf 22670//22670 22709//22709 22710//22710\nf 22710//22710 22744//22744 22670//22670\nf 22744//22744 22708//22708 22670//22670\nf 22688//22688 22707//22707 22689//22689\nf 22689//22689 22707//22707 22745//22745\nf 22709//22709 22670//22670 22710//22710\nf 22655//22655 22745//22745 22746//22746\nf 22655//22655 22689//22689 22745//22745\nf 22754//22754 22710//22710 22712//22712\nf 22710//22710 22711//22711 22712//22712\nf 22747//22747 22712//22712 22691//22691\nf 22755//22755 22747//22747 22691//22691\nf 22599//22599 22748//22748 22749//22749\nf 22755//22755 22691//22691 22713//22713\nf 22755//22755 22713//22713 22672//22672\nf 22657//22657 22749//22749 22715//22715\nf 22713//22713 22671//22671 22672//22672\nf 22750//22750 22714//22714 22716//22716\nf 22693//22693 22658//22658 22673//22673\nf 22714//22714 22659//22659 22716//22716\nf 22602//22602 22693//22693 22751//22751\nf 22718//22718 22751//22751 22717//22717\nf 22674//22674 22718//22718 22717//22717\nf 22718//22718 22603//22603 22751//22751\nf 22603//22603 22602//22602 22751//22751\nf 22644//22644 22629//22629 22675//22675\nf 22719//22719 22561//22561 22676//22676\nf 22721//22721 22724//22724 22679//22679\nf 22570//22570 22729//22729 22731//22731\nf 22572//22572 22570//22570 22732//22732\nf 22572//22572 22732//22732 22752//22752\nf 22573//22573 22733//22733 22571//22571\nf 22734//22734 22572//22572 22752//22752\nf 22734//22734 22668//22668 22572//22572\nf 22735//22735 22733//22733 22573//22573\nf 22683//22683 22682//22682 22753//22753\nf 22704//22704 22616//22616 22738//22738\nf 22706//22706 22579//22579 22684//22684\nf 22620//22620 22741//22741 22687//22687\nf 22761//22761 22685//22685 22742//22742\nf 22742//22742 22685//22685 22686//22686\nf 22754//22754 22744//22744 22710//22710\nf 22655//22655 22746//22746 22692//22692\nf 22754//22754 22712//22712 22747//22747\nf 22656//22656 22692//22692 22748//22748\nf 22599//22599 22656//22656 22748//22748\nf 22693//22693 22673//22673 22715//22715\nf 22756//22756 22716//22716 22717//22717\nf 22751//22751 22756//22756 22717//22717\nf 22718//22718 22756//22756 22751//22751\nf 22695//22695 22631//22631 22696//22696\nf 22774//22774 22694//22694 22775//22775\nf 22697//22697 22560//22560 22720//22720\nf 22723//22723 22722//22722 22719//22719\nf 22721//22721 22679//22679 22757//22757\nf 22698//22698 22725//22725 22727//22727\nf 22683//22683 22576//22576 22682//22682\nf 22736//22736 22702//22702 22758//22758\nf 22753//22753 22738//22738 22683//22683\nf 22737//22737 22702//22702 22736//22736\nf 22703//22703 22760//22760 22769//22769\nf 22761//22761 22703//22703 22685//22685\nf 22740//22740 22687//22687 22741//22741\nf 22744//22744 22745//22745 22708//22708\nf 22746//22746 22745//22745 22744//22744\nf 22746//22746 22744//22744 22762//22762\nf 22762//22762 22744//22744 22754//22754\nf 22692//22692 22746//22746 22763//22763\nf 22762//22762 22754//22754 22764//22764\nf 22764//22764 22754//22754 22747//22747\nf 22765//22765 22764//22764 22747//22747\nf 22749//22749 22763//22763 22765//22765\nf 22692//22692 22763//22763 22748//22748\nf 22749//22749 22748//22748 22763//22763\nf 22765//22765 22750//22750 22766//22766\nf 22766//22766 22750//22750 22716//22716\nf 22756//22756 22693//22693 22715//22715\nf 22756//22756 22766//22766 22716//22716\nf 22693//22693 22756//22756 22751//22751\nf 22718//22718 22751//22751 22756//22756\nf 22767//22767 22723//22723 22719//22719\nf 22680//22680 22699//22699 22793//22793\nf 22729//22729 22728//22728 22768//22768\nf 22799//22799 22796//22796 22733//22733\nf 22753//22753 22701//22701 22734//22734\nf 22759//22759 22804//22804 22807//22807\nf 22704//22704 22738//22738 22759//22759\nf 22702//22702 22703//22703 22769//22769\nf 22760//22760 22703//22703 22761//22761\nf 22740//22740 22771//22771 22687//22687\nf 22687//22687 22771//22771 22743//22743\nf 22743//22743 22771//22771 22770//22770\nf 22770//22770 22742//22742 22743//22743\nf 22742//22742 22770//22770 22761//22761\nf 22763//22763 22746//22746 22762//22762\nf 22763//22763 22762//22762 22764//22764\nf 22765//22765 22747//22747 22755//22755\nf 22763//22763 22764//22764 22765//22765\nf 22765//22765 22766//22766 22749//22749\nf 22755//22755 22750//22750 22765//22765\nf 22766//22766 22715//22715 22749//22749\nf 22715//22715 22766//22766 22756//22756\nf 22773//22773 22695//22695 22696//22696\nf 22781//22781 22721//22721 22757//22757\nf 22783//22783 22723//22723 22767//22767\nf 22726//22726 22723//22723 22789//22789\nf 22726//22726 22789//22789 22728//22728\nf 22731//22731 22729//22729 22768//22768\nf 22731//22731 22768//22768 22732//22732\nf 22752//22752 22798//22798 22734//22734\nf 22758//22758 22735//22735 22736//22736\nf 22758//22758 22772//22772 22735//22735\nf 22684//22684 22704//22704 22808//22808\nf 22812//22812 22770//22770 22771//22771\nf 22813//22813 22814//22814 22739//22739\nf 22814//22814 22740//22740 22739//22739\nf 22774//22774 22676//22676 22694//22694\nf 22694//22694 22695//22695 22776//22776\nf 22696//22696 22697//22697 22773//22773\nf 22677//22677 22778//22778 22720//22720\nf 22778//22778 22777//22777 22720//22720\nf 22721//22721 22780//22780 22779//22779\nf 22721//22721 22779//22779 22678//22678\nf 22780//22780 22721//22721 22781//22781\nf 22782//22782 22783//22783 22719//22719\nf 22719//22719 22676//22676 22774//22774\nf 22678//22678 22778//22778 22677//22677\nf 22678//22678 22779//22779 22778//22778\nf 22783//22783 22767//22767 22719//22719\nf 22779//22779 22784//22784 22778//22778\nf 22779//22779 22785//22785 22784//22784\nf 22757//22757 22679//22679 22781//22781\nf 22679//22679 22698//22698 22786//22786\nf 22781//22781 22679//22679 22786//22786\nf 22788//22788 22786//22786 22698//22698\nf 22787//22787 22789//22789 22723//22723\nf 22788//22788 22698//22698 22727//22727\nf 22680//22680 22792//22792 22727//22727\nf 22789//22789 22791//22791 22728//22728\nf 22792//22792 22680//22680 22793//22793\nf 22768//22768 22728//22728 22816//22816\nf 22794//22794 22793//22793 22700//22700\nf 22699//22699 22700//22700 22793//22793\nf 22794//22794 22730//22730 22795//22795\nf 22794//22794 22700//22700 22730//22730\nf 22795//22795 22730//22730 22733//22733\nf 22799//22799 22733//22733 22735//22735\nf 22799//22799 22735//22735 22800//22800\nf 22735//22735 22772//22772 22800//22800\nf 22758//22758 22802//22802 22800//22800\nf 22798//22798 22801//22801 22734//22734\nf 22772//22772 22758//22758 22800//22800\nf 22753//22753 22803//22803 22804//22804\nf 22802//22802 22758//22758 22702//22702\nf 22702//22702 22805//22805 22802//22802\nf 22818//22818 22802//22802 22805//22805\nf 22818//22818 22805//22805 22806//22806\nf 22806//22806 22805//22805 22702//22702\nf 22769//22769 22806//22806 22702//22702\nf 22738//22738 22804//22804 22759//22759\nf 22807//22807 22704//22704 22759//22759\nf 22704//22704 22807//22807 22808//22808\nf 22806//22806 22769//22769 22760//22760\nf 22806//22806 22760//22760 22809//22809\nf 22821//22821 22760//22760 22761//22761\nf 22684//22684 22810//22810 22706//22706\nf 22821//22821 22761//22761 22770//22770\nf 22811//22811 22821//22821 22770//22770\nf 22770//22770 22812//22812 22811//22811\nf 22740//22740 22812//22812 22771//22771\nf 22740//22740 22814//22814 22812//22812\nf 22773//22773 22697//22697 22815//22815\nf 22822//22822 22774//22774 22838//22838\nf 22783//22783 22774//22774 22822//22822\nf 22719//22719 22774//22774 22782//22782\nf 22780//22780 22823//22823 22779//22779\nf 22783//22783 22787//22787 22723//22723\nf 22789//22789 22787//22787 22783//22783\nf 22788//22788 22727//22727 22790//22790\nf 22792//22792 22790//22790 22727//22727\nf 22796//22796 22795//22795 22733//22733\nf 22752//22752 22732//22732 22797//22797\nf 22752//22752 22797//22797 22798//22798\nf 22800//22800 22817//22817 22799//22799\nf 22817//22817 22796//22796 22799//22799\nf 22734//22734 22801//22801 22803//22803\nf 22734//22734 22803//22803 22753//22753\nf 22834//22834 22800//22800 22802//22802\nf 22738//22738 22753//22753 22804//22804\nf 22804//22804 22819//22819 22807//22807\nf 22820//22820 22806//22806 22809//22809\nf 22809//22809 22760//22760 22821//22821\nf 22821//22821 22820//22820 22809//22809\nf 22837//22837 22821//22821 22811//22811\nf 22684//22684 22808//22808 22810//22810\nf 22812//22812 22837//22837 22811//22811\nf 22739//22739 22706//22706 22813//22813\nf 22775//22775 22694//22694 22776//22776\nf 22776//22776 22695//22695 22773//22773\nf 22697//22697 22720//22720 22815//22815\nf 22815//22815 22720//22720 22777//22777\nf 22785//22785 22779//22779 22823//22823\nf 22782//22782 22774//22774 22783//22783\nf 22823//22823 22826//22826 22785//22785\nf 22783//22783 22825//22825 22789//22789\nf 22816//22816 22728//22728 22791//22791\nf 22794//22794 22792//22792 22793//22793\nf 22827//22827 22794//22794 22795//22795\nf 22829//22829 22732//22732 22768//22768\nf 22797//22797 22732//22732 22829//22829\nf 22828//22828 22832//22832 22830//22830\nf 22817//22817 22827//22827 22796//22796\nf 22796//22796 22827//22827 22795//22795\nf 22832//22832 22831//22831 22830//22830\nf 22834//22834 22831//22831 22832//22832\nf 22834//22834 22833//22833 22831//22831\nf 22818//22818 22834//22834 22802//22802\nf 22804//22804 22803//22803 22836//22836\nf 22835//22835 22818//22818 22806//22806\nf 22820//22820 22835//22835 22806//22806\nf 22813//22813 22706//22706 22810//22810\nf 22774//22774 22775//22775 22838//22838\nf 22777//22777 22778//22778 22839//22839\nf 22784//22784 22839//22839 22778//22778\nf 22823//22823 22781//22781 22824//22824\nf 22780//22780 22781//22781 22823//22823\nf 22781//22781 22786//22786 22824//22824\nf 22826//22826 22784//22784 22785//22785\nf 22791//22791 22789//22789 22825//22825\nf 22827//22827 22828//22828 22840//22840\nf 22827//22827 22841//22841 22794//22794\nf 22817//22817 22828//22828 22827//22827\nf 22828//22828 22817//22817 22832//22832\nf 22834//22834 22832//22832 22817//22817\nf 22834//22834 22817//22817 22800//22800\nf 22833//22833 22834//22834 22818//22818\nf 22833//22833 22835//22835 22842//22842\nf 22833//22833 22818//22818 22835//22835\nf 22842//22842 22820//22820 22843//22843\nf 22842//22842 22835//22835 22820//22820\nf 22820//22820 22837//22837 22843//22843\nf 22820//22820 22821//22821 22837//22837\nf 22808//22808 22887//22887 22810//22810\nf 22810//22810 22887//22887 22889//22889\nf 22848//22848 22777//22777 22849//22849\nf 22849//22849 22777//22777 22839//22839\nf 22844//22844 22826//22826 22823//22823\nf 22791//22791 22825//22825 22855//22855\nf 22841//22841 22827//22827 22840//22840\nf 22870//22870 22840//22840 22830//22830\nf 22830//22830 22840//22840 22828//22828\nf 22874//22874 22797//22797 22829//22829\nf 22875//22875 22801//22801 22797//22797\nf 22801//22801 22798//22798 22797//22797\nf 22842//22842 22845//22845 22833//22833\nf 22808//22808 22807//22807 22886//22886\nf 22807//22807 22884//22884 22886//22886\nf 22886//22886 22887//22887 22808//22808\nf 22837//22837 22812//22812 22885//22885\nf 22813//22813 22810//22810 22889//22889\nf 22776//22776 22846//22846 22775//22775\nf 22815//22815 22777//22777 22848//22848\nf 22850//22850 22822//22822 22838//22838\nf 22838//22838 22775//22775 22846//22846\nf 22849//22849 22839//22839 22784//22784\nf 22784//22784 22851//22851 22849//22849\nf 22854//22854 22823//22823 22852//22852\nf 22852//22852 22823//22823 22824//22824\nf 22786//22786 22853//22853 22824//22824\nf 22853//22853 22786//22786 22788//22788\nf 22855//22855 22825//22825 22783//22783\nf 22856//22856 22855//22855 22783//22783\nf 22850//22850 22856//22856 22783//22783\nf 22822//22822 22850//22850 22783//22783\nf 22854//22854 22858//22858 22823//22823\nf 22858//22858 22844//22844 22823//22823\nf 22790//22790 22859//22859 22788//22788\nf 22859//22859 22853//22853 22788//22788\nf 22860//22860 22857//22857 22826//22826\nf 22861//22861 22826//22826 22844//22844\nf 22861//22861 22844//22844 22858//22858\nf 22862//22862 22859//22859 22792//22792\nf 22859//22859 22790//22790 22792//22792\nf 22861//22861 22860//22860 22826//22826\nf 22863//22863 22864//22864 22791//22791\nf 22865//22865 22862//22862 22792//22792\nf 22860//22860 22861//22861 22867//22867\nf 22860//22860 22867//22867 22868//22868\nf 22792//22792 22794//22794 22865//22865\nf 22816//22816 22791//22791 22866//22866\nf 22840//22840 22868//22868 22867//22867\nf 22869//22869 22865//22865 22794//22794\nf 22870//22870 22868//22868 22840//22840\nf 22867//22867 22841//22841 22840//22840\nf 22871//22871 22841//22841 22867//22867\nf 22794//22794 22841//22841 22871//22871\nf 22829//22829 22768//22768 22816//22816\nf 22872//22872 22868//22868 22830//22830\nf 22868//22868 22870//22870 22830//22830\nf 22830//22830 22831//22831 22872//22872\nf 22874//22874 22829//22829 22873//22873\nf 22872//22872 22831//22831 22876//22876\nf 22878//22878 22876//22876 22831//22831\nf 22797//22797 22874//22874 22875//22875\nf 22878//22878 22831//22831 22833//22833\nf 22877//22877 22801//22801 22875//22875\nf 22845//22845 22879//22879 22833//22833\nf 22803//22803 22877//22877 22880//22880\nf 22877//22877 22803//22803 22801//22801\nf 22845//22845 22842//22842 22879//22879\nf 22842//22842 22881//22881 22879//22879\nf 22893//22893 22842//22842 22881//22881\nf 22882//22882 22836//22836 22803//22803\nf 22803//22803 22880//22880 22882//22882\nf 22893//22893 22881//22881 22842//22842\nf 22893//22893 22842//22842 22883//22883\nf 22836//22836 22882//22882 22804//22804\nf 22842//22842 22843//22843 22883//22883\nf 22804//22804 22882//22882 22819//22819\nf 22895//22895 22884//22884 22882//22882\nf 22882//22882 22884//22884 22819//22819\nf 22883//22883 22843//22843 22885//22885\nf 22884//22884 22807//22807 22819//22819\nf 22885//22885 22843//22843 22837//22837\nf 22885//22885 22812//22812 22888//22888\nf 22814//22814 22888//22888 22812//22812\nf 22814//22814 22813//22813 22890//22890\nf 22888//22888 22814//22814 22890//22890\nf 22847//22847 22776//22776 22773//22773\nf 22891//22891 22773//22773 22815//22815\nf 22815//22815 22848//22848 22891//22891\nf 22846//22846 22776//22776 22847//22847\nf 22853//22853 22852//22852 22824//22824\nf 22784//22784 22857//22857 22851//22851\nf 22784//22784 22826//22826 22857//22857\nf 22854//22854 22852//22852 22858//22858\nf 22892//22892 22853//22853 22859//22859\nf 22791//22791 22855//22855 22863//22863\nf 22791//22791 22864//22864 22863//22863\nf 22869//22869 22794//22794 22871//22871\nf 22829//22829 22816//22816 22866//22866\nf 22829//22829 22866//22866 22873//22873\nf 22875//22875 22873//22873 22898//22898\nf 22875//22875 22874//22874 22873//22873\nf 22878//22878 22833//22833 22879//22879\nf 22893//22893 22881//22881 22842//22842\nf 22894//22894 22893//22893 22883//22883\nf 22899//22899 22882//22882 22880//22880\nf 22885//22885 22896//22896 22894//22894\nf 22847//22847 22773//22773 22891//22891\nf 22850//22850 22838//22838 22846//22846\nf 22897//22897 22858//22858 22852//22852\nf 22865//22865 22892//22892 22859//22859\nf 22865//22865 22859//22859 22862//22862\nf 22866//22866 22791//22791 22863//22863\nf 22863//22863 22902//22902 22866//22866\nf 22902//22902 22873//22873 22866//22866\nf 22878//22878 22879//22879 22876//22876\nf 22903//22903 22881//22881 22893//22893\nf 22894//22894 22883//22883 22885//22885\nf 22896//22896 22885//22885 22888//22888\nf 22890//22890 22813//22813 22889//22889\nf 22857//22857 22849//22849 22851//22851\nf 22850//22850 22846//22846 22856//22856\nf 22897//22897 22853//22853 22892//22892\nf 22852//22852 22853//22853 22897//22897\nf 22897//22897 22861//22861 22858//22858\nf 22861//22861 22897//22897 22901//22901\nf 22857//22857 22860//22860 22900//22900\nf 22871//22871 22867//22867 22901//22901\nf 22867//22867 22861//22861 22901//22901\nf 22871//22871 22865//22865 22869//22869\nf 22901//22901 22865//22865 22871//22871\nf 22898//22898 22873//22873 22902//22902\nf 22904//22904 22872//22872 22878//22878\nf 22878//22878 22872//22872 22876//22876\nf 22878//22878 22876//22876 22879//22879\nf 22903//22903 22879//22879 22881//22881\nf 22849//22849 22857//22857 22908//22908\nf 22901//22901 22897//22897 22892//22892\nf 22863//22863 22855//22855 22856//22856\nf 22901//22901 22892//22892 22865//22865\nf 22934//22934 22868//22868 22913//22913\nf 22898//22898 22902//22902 22914//22914\nf 22875//22875 22898//22898 22914//22914\nf 22878//22878 22879//22879 22917//22917\nf 22918//22918 22879//22879 22903//22903\nf 22846//22846 22847//22847 22907//22907\nf 22849//22849 22908//22908 22848//22848\nf 22856//22856 22846//22846 22907//22907\nf 22933//22933 22908//22908 22857//22857\nf 22856//22856 22909//22909 22910//22910\nf 22933//22933 22857//22857 22911//22911\nf 22911//22911 22857//22857 22900//22900\nf 22910//22910 22863//22863 22856//22856\nf 22911//22911 22900//22900 22860//22860\nf 22902//22902 22863//22863 22912//22912\nf 22912//22912 22863//22863 22902//22902\nf 22860//22860 22868//22868 22911//22911\nf 22904//22904 22913//22913 22868//22868\nf 22935//22935 22904//22904 22878//22878\nf 22915//22915 22916//22916 22875//22875\nf 22875//22875 22916//22916 22877//22877\nf 22917//22917 22879//22879 22918//22918\nf 22877//22877 22919//22919 22880//22880\nf 22916//22916 22919//22919 22877//22877\nf 22893//22893 22903//22903 22918//22918\nf 22903//22903 22893//22893 22918//22918\nf 22893//22893 22905//22905 22903//22903\nf 22893//22893 22894//22894 22905//22905\nf 22936//22936 22905//22905 22894//22894\nf 22936//22936 22894//22894 22906//22906\nf 22880//22880 22920//22920 22899//22899\nf 22894//22894 22906//22906 22937//22937\nf 22882//22882 22921//22921 22895//22895\nf 22895//22895 22921//22921 22922//22922\nf 22895//22895 22922//22922 22884//22884\nf 22922//22922 22923//22923 22886//22886\nf 22922//22922 22886//22886 22884//22884\nf 22886//22886 22923//22923 22887//22887\nf 22887//22887 22923//22923 22889//22889\nf 22896//22896 22925//22925 22924//22924\nf 22896//22896 22888//22888 22925//22925\nf 22888//22888 22890//22890 22925//22925\nf 22927//22927 22890//22890 22889//22889\nf 22927//22927 22889//22889 22926//22926\nf 22847//22847 22928//22928 22907//22907\nf 22847//22847 22891//22891 22929//22929\nf 22938//22938 22891//22891 22848//22848\nf 22848//22848 22931//22931 22930//22930\nf 22908//22908 22931//22931 22848//22848\nf 22908//22908 22933//22933 22930//22930\nf 22931//22931 22908//22908 22930//22930\nf 22932//22932 22856//22856 22907//22907\nf 22856//22856 22932//22932 22909//22909\nf 22911//22911 22868//22868 22934//22934\nf 22904//22904 22868//22868 22872//22872\nf 22875//22875 22914//22914 22915//22915\nf 22947//22947 22917//22917 22918//22918\nf 22940//22940 22918//22918 22905//22905\nf 22905//22905 22918//22918 22903//22903\nf 22936//22936 22940//22940 22905//22905\nf 22880//22880 22919//22919 22920//22920\nf 22906//22906 22937//22937 22936//22936\nf 22906//22906 22894//22894 22937//22937\nf 22906//22906 22894//22894 22937//22937\nf 22882//22882 22920//22920 22921//22921\nf 22882//22882 22899//22899 22920//22920\nf 22894//22894 22896//22896 22937//22937\nf 22896//22896 22924//22924 22925//22925\nf 22890//22890 22927//22927 22925//22925\nf 22928//22928 22847//22847 22929//22929\nf 22929//22929 22891//22891 22938//22938\nf 22938//22938 22848//22848 22930//22930\nf 22938//22938 22930//22930 22929//22929\nf 22909//22909 22932//22932 22907//22907\nf 22939//22939 22952//22952 22933//22933\nf 22933//22933 22911//22911 22939//22939\nf 22863//22863 22910//22910 22909//22909\nf 22902//22902 22863//22863 22909//22909\nf 22902//22902 22912//22912 22914//22914\nf 22934//22934 22913//22913 22935//22935\nf 22946//22946 22935//22935 22947//22947\nf 22947//22947 22878//22878 22917//22917\nf 22936//22936 22950//22950 22941//22941\nf 22925//22925 22937//22937 22896//22896\nf 22923//22923 22942//22942 22889//22889\nf 22889//22889 22942//22942 22926//22926\nf 22927//22927 22926//22926 22925//22925\nf 22952//22952 22930//22930 22933//22933\nf 22939//22939 22911//22911 22934//22934\nf 22912//22912 22902//22902 22944//22944\nf 22902//22902 22909//22909 22944//22944\nf 22939//22939 22934//22934 22945//22945\nf 22913//22913 22904//22904 22935//22935\nf 22945//22945 22934//22934 22946//22946\nf 22946//22946 22934//22934 22935//22935\nf 22947//22947 22918//22918 22948//22948\nf 22918//22918 22940//22940 22948//22948\nf 22941//22941 22940//22940 22936//22936\nf 22941//22941 22949//22949 22940//22940\nf 22962//22962 22921//22921 22920//22920\nf 22926//22926 22942//22942 22925//22925\nf 22943//22943 22907//22907 22928//22928\nf 22943//22943 22909//22909 22907//22907\nf 22948//22948 22946//22946 22947//22947\nf 22935//22935 22878//22878 22947//22947\nf 22936//22936 22937//22937 22950//22950\nf 22937//22937 22942//22942 22950//22950\nf 22942//22942 22937//22937 22925//22925\nf 22928//22928 22929//22929 22951//22951\nf 22929//22929 22930//22930 22952//22952\nf 22953//22953 22943//22943 22928//22928\nf 22953//22953 22928//22928 22951//22951\nf 22951//22951 22929//22929 22952//22952\nf 22952//22952 22939//22939 22955//22955\nf 22939//22939 22945//22945 22955//22955\nf 22954//22954 22944//22944 22909//22909\nf 22946//22946 22955//22955 22945//22945\nf 22914//22914 22912//22912 22956//22956\nf 22956//22956 22912//22912 22944//22944\nf 22957//22957 22955//22955 22946//22946\nf 22948//22948 22957//22957 22946//22946\nf 22915//22915 22960//22960 22916//22916\nf 22940//22940 22949//22949 22959//22959\nf 22940//22940 22959//22959 22948//22948\nf 22961//22961 22949//22949 22941//22941\nf 22921//22921 22962//22962 22922//22922\nf 22954//22954 22943//22943 22953//22953\nf 22954//22954 22909//22909 22943//22943\nf 22951//22951 22952//22952 22964//22964\nf 22964//22964 22952//22952 22955//22955\nf 22956//22956 22944//22944 22965//22965\nf 22944//22944 22954//22954 22965//22965\nf 22974//22974 22957//22957 22977//22977\nf 22914//22914 22956//22956 22978//22978\nf 22966//22966 22978//22978 22956//22956\nf 22966//22966 22965//22965 22967//22967\nf 22956//22956 22965//22965 22966//22966\nf 22967//22967 22965//22965 22968//22968\nf 22968//22968 22965//22965 22975//22975\nf 22979//22979 22976//22976 22959//22959\nf 22976//22976 22977//22977 22957//22957\nf 22959//22959 22976//22976 22957//22957\nf 22959//22959 22957//22957 22948//22948\nf 22969//22969 22979//22979 22959//22959\nf 22958//22958 22960//22960 22915//22915\nf 22969//22969 22961//22961 22970//22970\nf 22961//22961 22959//22959 22949//22949\nf 22969//22969 22959//22959 22961//22961\nf 22916//22916 22960//22960 22919//22919\nf 22971//22971 22961//22961 22941//22941\nf 22971//22971 22941//22941 22972//22972\nf 22972//22972 22941//22941 22950//22950\nf 22923//22923 22950//22950 22942//22942\nf 22972//22972 22950//22950 22923//22923\nf 22963//22963 22923//22923 22922//22922\nf 22953//22953 22951//22951 22973//22973\nf 22954//22954 22953//22953 22973//22973\nf 22974//22974 22951//22951 22964//22964\nf 22973//22973 22951//22951 22974//22974\nf 22974//22974 22964//22964 22955//22955\nf 22975//22975 22954//22954 22973//22973\nf 22965//22965 22954//22954 22975//22975\nf 22976//22976 22973//22973 22974//22974\nf 22975//22975 22973//22973 22976//22976\nf 22974//22974 22955//22955 22957//22957\nf 22976//22976 22974//22974 22977//22977\nf 22958//22958 22915//22915 22914//22914\nf 22966//22966 22958//22958 22978//22978\nf 22958//22958 22914//22914 22978//22978\nf 22968//22968 22975//22975 22979//22979\nf 22979//22979 22975//22975 22976//22976\nf 22968//22968 22979//22979 22969//22969\nf 22968//22968 22969//22969 22967//22967\nf 22967//22967 22969//22969 22970//22970\nf 22970//22970 22961//22961 22971//22971\nf 22919//22919 22980//22980 22920//22920\nf 22962//22962 22920//22920 22981//22981\nf 22963//22963 22972//22972 22923//22923\nf 22967//22967 22970//22970 22982//22982\nf 22919//22919 22983//22983 22980//22980\nf 22920//22920 22980//22980 22981//22981\nf 22980//22980 22962//22962 22981//22981\nf 22963//22963 22922//22922 22984//22984\nf 22962//22962 22984//22984 22922//22922\nf 22919//22919 22960//22960 22983//22983\nf 22958//22958 22966//22966 22960//22960\nf 22966//22966 22967//22967 22982//22982\nf 22988//22988 22970//22970 22971//22971\nf 22971//22971 22993//22993 22988//22988\nf 22985//22985 22960//22960 22966//22966\nf 22982//22982 22986//22986 22992//22992\nf 22985//22985 22966//22966 22982//22982\nf 22987//22987 22983//22983 22960//22960\nf 22982//22982 22970//22970 22988//22988\nf 22987//22987 22989//22989 22983//22983\nf 22989//22989 22980//22980 22983//22983\nf 22984//22984 22972//22972 22963//22963\nf 22962//22962 22991//22991 22984//22984\nf 22992//22992 22960//22960 22985//22985\nf 22962//22962 22980//22980 22989//22989\nf 22989//22989 22997//22997 22962//22962\nf 22962//22962 22990//22990 22991//22991\nf 22985//22985 22982//22982 22992//22992\nf 22998//22998 22987//22987 22992//22992\nf 22992//22992 22986//22986 22994//22994\nf 22986//22986 22982//22982 22994//22994\nf 22988//22988 22994//22994 22982//22982\nf 22988//22988 22993//22993 22994//22994\nf 22971//22971 22994//22994 22993//22993\nf 22972//22972 22996//22996 22995//22995\nf 22997//22997 22980//22980 22989//22989\nf 22995//22995 22996//22996 22972//22972\nf 22989//22989 22980//22980 22997//22997\nf 22990//22990 22962//22962 22997//22997\nf 22995//22995 22972//22972 22984//22984\nf 22995//22995 22984//22984 22991//22991\nf 22998//22998 22992//22992 22994//22994\nf 22987//22987 22960//22960 22992//22992\nf 22971//22971 22972//22972 22995//22995\nf 22995//22995 22994//22994 22971//22971\nf 22997//22997 22989//22989 22987//22987\nf 22990//22990 22997//22997 22991//22991\nf 22987//22987 22998//22998 22997//22997\nf 22997//22997 22995//22995 22991//22991\nf 22994//22994 22997//22997 22998//22998\nf 22997//22997 22994//22994 22995//22995\n# 47794 faces, 0 coords texture\n\n# End of File"
  },
  {
    "path": "data/froggy.tet",
    "content": "# Tetrahedral mesh generated using TetraMaker (c) AGEIA\n\n# 189 vertices\nv 1225024.000000 -294580.375000 430784.468750\nv 1040803.437500 -295498.156250 828416.500000\nv 990608.625000 -149921.203125 315960.187500\nv 767464.250000 -314112.375000 503600.937500\nv -886932.500000 -253505.406250 -852070.625000\nv -659723.250000 -316945.593750 -537028.875000\nv -613947.500000 79049.265625 -800383.937500\nv -736336.312500 -268243.718750 -404098.656250\nv 72756.945313 385306.843750 1358.578247\nv 411194.750000 404585.531250 40691.496094\nv 336164.718750 358128.781250 322667.406250\nv 2333.062500 -44235.941406 277056.593750\nv -1373738.375000 -700788.625000 -2298292.250000\nv -1360421.125000 -326398.843750 -2340506.500000\nv -1037826.687500 -573541.187500 -1980557.500000\nv -987889.375000 -342019.937500 -2401313.750000\nv 908580.937500 -132651.562500 -2033017.375000\nv 820806.375000 -319222.937500 -2016584.125000\nv 669029.000000 25873.080078 -1800330.500000\nv 738759.875000 26331.519531 -2054640.250000\nv 40326.507813 408153.781250 498193.156250\nv -337791.000000 188177.546875 -694069.187500\nv -286002.125000 -88409.390625 -141607.250000\nv -139534.687500 10087.230469 -651039.875000\nv -408481.312500 403449.468750 -8371.653320\nv -1467950.750000 -742758.625000 -2155637.250000\nv -1390791.250000 -622180.687500 -1974909.500000\nv -1223197.375000 -809650.250000 -1976303.250000\nv 532685.125000 237267.750000 729489.375000\nv -1054930.750000 -122435.953125 -2153538.250000\nv -832786.250000 -491603.093750 -2153079.250000\nv -773971.937500 -351282.906250 -2341300.250000\nv -340653.718750 362565.031250 325770.000000\nv 16006.460938 -340995.437500 650029.562500\nv 551397.125000 -135714.218750 594187.750000\nv -1545365.250000 -460008.750000 541617.812500\nv -1518180.000000 -572405.750000 676561.875000\nv -1541665.750000 -284732.687500 599203.437500\nv -1546269.750000 -463073.406250 949888.625000\nv 579400.375000 -343723.968750 17575.523438\nv 570182.000000 23488.537109 366215.031250\nv 214749.125000 -126646.367188 -254385.812500\nv -1543562.625000 -476661.156250 -2326570.000000\nv -1551671.125000 -448800.218750 -2140985.250000\nv -1531398.875000 -299752.718750 925726.187500\nv 475541.062500 -414828.375000 231643.750000\nv -533914.000000 301058.531250 -404069.593750\nv -514744.718750 -359085.437500 183515.468750\nv -137591.984375 -592258.187500 82440.570313\nv -1211439.750000 -470914.875000 995802.312500\nv -644441.187500 -351452.843750 11330.668945\nv -319697.656250 -594782.500000 -152708.875000\nv -660608.750000 -368798.125000 -302142.843750\nv -275984.281250 -580107.500000 -441372.093750\nv 307557.312500 -340189.250000 482026.125000\nv 166812.921875 -579050.625000 114874.851563\nv -563244.875000 25638.703125 309449.875000\nv -553385.937500 -41570.582031 606339.562500\nv -984394.000000 -465414.812500 277385.843750\nv -1198670.625000 -277367.500000 429173.437500\nv -985443.125000 -517757.281250 537190.812500\nv -1053246.500000 -821306.125000 -2172487.750000\nv -1033079.875000 -800589.000000 -1987782.250000\nv -362496.281250 -319315.531250 507344.375000\nv -892297.562500 -140750.484375 469064.656250\nv -1047306.312500 -325178.781250 817307.062500\nv -710609.125000 42668.003906 -371608.343750\nv -600084.875000 188629.015625 34596.941406\nv -1298716.875000 -268455.125000 -2151809.750000\nv -711796.625000 -121125.257813 30280.355469\nv -1211594.375000 -173200.875000 925807.187500\nv -1227724.125000 -297875.656250 1071008.500000\nv -610056.812500 -463575.656250 -371598.062500\nv 970429.437500 -126730.640625 -1733991.125000\nv 946615.500000 -465269.812500 -1742386.125000\nv 834702.937500 -515449.093750 -1353905.625000\nv 734071.937500 -452226.843750 -1701793.750000\nv 311482.937500 189678.437500 -710642.625000\nv 551925.187500 290390.781250 -387826.968750\nv 718376.312500 -113019.031250 -501086.531250\nv 967950.062500 -127045.039063 -1238850.625000\nv 1168943.000000 -395184.843750 -1428823.250000\nv 876170.000000 -94574.859375 -986112.125000\nv 902026.687500 -299057.406250 -858137.750000\nv 637096.750000 -459493.250000 -835141.062500\nv 565862.000000 -297865.656250 -1329258.375000\nv 598260.000000 -480413.250000 -1125707.375000\nv 620908.312500 25556.601563 -1186861.250000\nv 416598.593750 65130.582031 -1108967.625000\nv -881273.062500 -184372.000000 -2009203.250000\nv -902414.687500 -129539.812500 190459.203125\nv 595073.937500 -298852.687500 -1583632.500000\nv 440732.031250 -135707.203125 -2019076.750000\nv 650532.750000 -129374.312500 -1425244.125000\nv 245752.812500 379946.500000 1060442.750000\nv 393823.218750 480323.343750 760248.875000\nv 414931.625000 405955.781250 971151.937500\nv 854563.125000 -128397.453125 452536.031250\nv 710692.437500 -107392.617188 44439.960938\nv 799309.062500 -336791.781250 96054.828125\nv 740208.875000 -302460.281250 -371604.031250\nv 607494.125000 188606.031250 17647.544922\nv 314634.750000 -409215.625000 -783138.375000\nv 528269.812500 -510329.156250 -352176.968750\nv 659168.750000 -317296.062500 -533748.750000\nv 726015.875000 -111611.453125 -2342476.500000\nv 542198.750000 -316635.218750 -2141776.000000\nv 549722.125000 46507.171875 -2041584.750000\nv 977170.187500 -237873.843750 159523.468750\nv 882565.625000 -467447.937500 329602.000000\nv -355751.062500 -402996.906250 -758550.625000\nv -1043592.062500 -110846.593750 -2334885.000000\nv -959319.437500 -307526.468750 124279.789063\nv 1188569.000000 -465592.281250 364820.281250\nv -773135.187500 -306777.593750 507324.500000\nv 1107468.250000 -543476.500000 593280.875000\nv -381293.843750 399238.812500 -399380.312500\nv 750573.125000 -322787.437500 -2353196.250000\nv 451487.906250 143205.843750 1009813.750000\nv 193402.359375 -628213.875000 -164068.515625\nv -928855.625000 -92402.796875 -1736654.000000\nv -761018.812500 -326162.250000 -1991084.625000\nv -730299.000000 34852.757813 -1875652.750000\nv 1078682.625000 -292862.656250 -1135394.375000\nv -855294.062500 -466419.031250 -1752759.250000\nv -464603.406250 123179.156250 992039.812500\nv -11562.883789 408546.937500 925684.437500\nv 1002323.562500 -468985.500000 -1121871.750000\nv 853038.062500 -501497.593750 -2145752.250000\nv -829651.250000 -473499.937500 -993683.312500\nv -619739.562500 -330586.437500 -1413927.375000\nv -654400.750000 -130800.929688 -1409522.500000\nv -498033.125000 33335.144531 -1180353.000000\nv -300628.937500 -135729.093750 -1147371.250000\nv 210621.468750 -22334.267578 -1059926.375000\nv -416685.500000 325039.906250 1021826.687500\nv -1033173.875000 -574177.375000 -1429017.000000\nv -1059726.375000 -381857.625000 -1131484.750000\nv -988453.562500 -155379.890625 -1155008.500000\nv -747751.750000 720.045349 -1133786.125000\nv -711067.812500 -135705.921875 -2370966.250000\nv -621269.125000 8562.315430 -2177406.750000\nv 318689.500000 -197180.296875 1035124.312500\nv -491199.343750 -455767.656250 -1065453.250000\nv 385760.500000 402948.406250 -395379.843750\nv -1166029.250000 -395185.500000 -1467261.375000\nv -254825.781250 90377.453125 -971613.062500\nv 1127914.875000 -139570.984375 -2317811.000000\nv 938783.000000 -184371.421875 -2412012.250000\nv -252410.468750 -299257.562500 -1043805.312500\nv 98065.203125 -206549.250000 -1059750.750000\nv 1559146.375000 -468967.656250 -2146885.000000\nv 1555618.625000 -456438.281250 -2325225.000000\nv 1409446.125000 -770535.937500 -2207394.000000\nv 1147848.500000 -504099.125000 -2344378.000000\nv -1035841.500000 -383118.656250 -1738397.250000\nv 593990.500000 93171.640625 -744684.687500\nv 3031.599609 -486407.750000 -725396.625000\nv -526109.625000 -303088.687500 -2137385.750000\nv 254288.640625 26451.205078 1263184.125000\nv 997462.937500 -297890.687500 -1818335.375000\nv -257672.125000 42666.957031 1250418.375000\nv -234123.750000 353456.187500 1096829.625000\nv 20871.332031 -291374.593750 1071719.500000\nv -11564.478516 26451.271484 1377351.625000\nv 4653.891602 198596.078125 1294818.500000\nv 1220918.250000 -820290.187500 -1981240.125000\nv 1049211.500000 -566579.312500 -1977806.750000\nv 1040454.625000 -827493.750000 -2162650.250000\nv 1039562.812500 -794685.937500 -1980984.250000\nv -540271.750000 43580.925781 -1928587.125000\nv 1240270.750000 -177922.406250 906055.437500\nv 1058686.250000 -573338.250000 -1441826.625000\nv -384551.781250 472337.281250 846215.562500\nv 216659.375000 -141776.546875 1261685.250000\nv 1503020.500000 -568684.125000 735387.500000\nv 1212973.250000 -465187.031250 1007551.062500\nv 1042545.375000 -461141.625000 749779.875000\nv 1386820.250000 -622251.687500 -1968143.375000\nv 1551241.750000 -291901.000000 598199.062500\nv -388754.625000 -151164.015625 1036250.000000\nv 1528214.125000 -304537.093750 910164.250000\nv -226515.500000 -148986.203125 1243775.125000\nv 183037.109375 -592858.500000 -452719.656250\nv 1353664.750000 -287783.218750 -2151821.500000\nv 1237134.875000 -297872.062500 1073113.125000\nv -443917.562500 -135720.625000 -2042113.375000\nv 1557065.500000 -463528.000000 939416.875000\nv 1605791.625000 -460020.531250 615618.375000\n\n# 475 tetrahedra\nt 0 1 2 3\nt 4 5 6 7\nt 8 9 10 11\nt 12 13 14 15\nt 16 17 18 19\nt 8 20 11 10\nt 5 21 22 23\nt 24 8 11 22\nt 25 12 26 27\nt 20 10 28 11\nt 15 29 30 31\nt 24 32 11 8\nt 24 32 22 11\nt 33 34 11 28\nt 35 36 37 38\nt 39 40 41 11\nt 42 43 12 13\nt 42 43 25 12\nt 36 38 44 37\nt 45 39 11 40\nt 45 39 41 11\nt 32 8 20 11\nt 46 21 23 22\nt 47 48 22 11\nt 36 37 44 49\nt 50 51 52 22\nt 43 25 12 26\nt 53 23 22 41\nt 54 55 11 45\nt 56 57 11 32\nt 54 34 40 11\nt 54 33 11 55\nt 35 58 59 60\nt 27 61 14 62\nt 48 33 55 11\nt 56 47 11 63\nt 57 33 11 20\nt 56 32 11 22\nt 54 33 34 11\nt 59 60 64 65\nt 25 12 27 61\nt 36 38 49 44\nt 66 46 67 22\nt 43 12 13 68\nt 6 46 22 21\nt 69 56 47 22\nt 69 56 22 67\nt 50 69 22 52\nt 8 23 41 22\nt 44 49 70 71\nt 47 51 22 48\nt 43 12 68 26\nt 38 44 71 49\nt 35 36 60 59\nt 72 51 22 52\nt 13 68 14 15\nt 55 45 41 11\nt 67 24 32 22\nt 73 74 75 76\nt 77 78 41 79\nt 80 81 75 73\nt 82 83 79 84\nt 81 73 74 75\nt 36 37 65 59\nt 85 86 82 87\nt 86 82 87 84\nt 86 88 84 87\nt 12 61 15 14\nt 16 73 18 17\nt 12 26 14 68\nt 12 13 68 14\nt 36 37 49 65\nt 12 27 14 26\nt 12 27 61 14\nt 68 14 29 89\nt 58 59 64 90\nt 17 91 18 92\nt 73 91 93 18\nt 94 95 96 28\nt 91 92 93 18\nt 97 3 98 99\nt 39 100 41 98\nt 35 36 58 60\nt 100 79 41 98\nt 101 79 98 41\nt 102 103 104 41\nt 105 106 107 92\nt 35 36 59 37\nt 2 108 109 99\nt 110 53 23 22\nt 5 110 22 53\nt 45 3 109 99\nt 97 3 99 109\nt 16 17 19 105\nt 13 68 15 111\nt 68 14 30 29\nt 58 59 90 112\nt 49 71 65 70\nt 68 14 15 30\nt 68 15 111 29\nt 113 2 108 109\nt 37 70 65 59\nt 58 112 90 114\nt 0 115 3 109\nt 0 2 109 3\nt 36 59 65 60\nt 46 24 22 116\nt 113 0 2 109\nt 16 17 105 117\nt 33 20 118 28\nt 80 73 75 93\nt 80 73 93 18\nt 119 55 45 39\nt 89 120 121 122\nt 89 29 31 30\nt 123 80 81 75\nt 45 3 99 40\nt 89 120 124 121\nt 57 125 33 126\nt 10 34 40 28\nt 44 49 65 70\nt 37 44 65 70\nt 37 44 49 65\nt 123 80 75 127\nt 17 92 18 19\nt 17 106 117 128\nt 123 80 127 82\nt 129 4 5 110\nt 54 45 34 3\nt 72 53 22 51\nt 130 131 132 133\nt 134 85 87 86\nt 125 135 126 20\nt 136 137 130 138\nt 119 103 39 45\nt 138 129 139 4\nt 89 31 140 141\nt 15 111 29 31\nt 58 60 114 64\nt 126 94 28 95\nt 2 97 109 3\nt 126 142 118 94\nt 20 10 95 28\nt 89 30 31 121\nt 89 121 141 122\nt 54 45 40 34\nt 17 106 92 19\nt 134 86 87 88\nt 134 102 86 88\nt 130 143 132 131\nt 17 105 106 19\nt 119 55 39 41\nt 54 33 142 34\nt 58 64 114 90\nt 116 8 23 144\nt 120 130 122 131\nt 60 65 114 64\nt 33 20 28 11\nt 8 9 11 41\nt 92 107 18 19\nt 105 106 19 107\nt 145 136 138 137\nt 106 92 19 107\nt 50 47 51 22\nt 146 21 23 77\nt 3 99 40 98\nt 147 16 105 148\nt 55 45 39 41\nt 110 149 146 23\nt 58 59 60 64\nt 129 4 110 143\nt 150 134 86 85\nt 134 85 93 87\nt 151 152 153 154\nt 14 89 30 29\nt 61 14 30 15\nt 144 9 41 78\nt 68 15 29 30\nt 61 14 62 30\nt 155 145 136 130\nt 82 84 79 156\nt 155 89 120 124\nt 40 101 98 41\nt 155 145 131 120\nt 2 108 99 98\nt 5 72 22 52\nt 103 39 100 41\nt 155 145 130 131\nt 126 20 95 28\nt 4 143 6 110\nt 138 139 130 131\nt 2 97 40 98\nt 16 148 117 105\nt 2 97 98 99\nt 80 85 82 87\nt 139 130 131 143\nt 77 144 23 41\nt 110 149 23 157\nt 4 5 110 6\nt 138 129 130 139\nt 111 29 140 141\nt 155 89 124 121\nt 134 77 23 102\nt 77 144 41 78\nt 113 0 109 115\nt 33 126 118 20\nt 33 126 142 118\nt 139 143 132 6\nt 39 40 98 41\nt 137 138 4 129\nt 139 143 131 132\nt 6 66 22 46\nt 64 114 56 57\nt 126 94 118 28\nt 89 29 141 140\nt 155 120 130 124\nt 150 134 102 86\nt 4 139 6 143\nt 45 39 40 98\nt 8 41 11 22\nt 126 20 28 118\nt 30 31 121 158\nt 145 138 130 131\nt 48 119 41 55\nt 2 97 99 109\nt 5 72 53 22\nt 120 124 121 130\nt 145 136 130 138\nt 136 137 129 130\nt 155 136 124 130\nt 137 138 129 130\nt 126 142 94 159\nt 136 129 143 130\nt 8 144 41 23\nt 9 10 11 101\nt 73 160 74 76\nt 130 143 133 132\nt 5 6 23 110\nt 51 48 119 41\nt 21 116 23 77\nt 129 139 143 130\nt 24 116 8 22\nt 125 161 126 162\nt 163 164 159 165\nt 17 91 92 76\nt 114 56 57 63\nt 77 156 78 79\nt 5 110 23 22\nt 161 162 165 126\nt 81 73 160 74\nt 166 167 168 169\nt 129 4 143 139\nt 53 51 119 41\nt 45 99 39 98\nt 155 120 131 130\nt 165 126 94 159\nt 83 84 104 79\nt 157 102 23 41\nt 77 102 156 104\nt 130 122 131 170\nt 121 130 170 122\nt 145 120 138 131\nt 123 127 83 82\nt 111 29 31 140\nt 89 29 140 31\nt 17 106 76 92\nt 149 146 23 150\nt 150 134 23 102\nt 77 104 156 79\nt 171 0 1 2\nt 130 143 149 133\nt 89 31 141 121\nt 142 159 118 94\nt 31 141 158 140\nt 15 111 31 140\nt 106 91 76 92\nt 154 148 117 128\nt 81 127 75 172\nt 154 147 148 128\nt 9 101 11 41\nt 45 99 98 40\nt 116 8 22 23\nt 97 3 34 40\nt 112 90 50 69\nt 5 7 21 6\nt 80 85 87 93\nt 84 104 79 156\nt 135 173 162 126\nt 120 121 122 130\nt 147 16 148 17\nt 69 66 67 22\nt 69 66 22 52\nt 135 173 126 20\nt 119 103 41 39\nt 138 4 139 6\nt 163 164 174 159\nt 127 86 84 83\nt 97 3 40 98\nt 77 102 41 23\nt 175 176 177 115\nt 10 40 11 101\nt 151 178 154 153\nt 147 148 128 17\nt 179 0 115 177\nt 102 88 156 84\nt 180 125 161 126\nt 90 69 56 47\nt 181 179 175 171\nt 112 114 47 90\nt 64 114 90 56\nt 50 69 47 22\nt 16 73 17 160\nt 167 168 169 128\nt 142 118 34 28\nt 113 0 108 2\nt 149 133 146 150\nt 179 171 0 177\nt 163 174 142 159\nt 73 17 76 18\nt 57 33 20 126\nt 152 154 147 148\nt 33 142 28 118\nt 40 101 41 11\nt 124 121 130 158\nt 31 121 158 141\nt 58 112 47 50\nt 112 90 47 50\nt 90 50 69 47\nt 58 112 114 47\nt 57 32 173 20\nt 114 90 56 47\nt 114 56 63 47\nt 57 125 20 135\nt 57 135 20 173\nt 33 142 34 28\nt 57 125 126 20\nt 179 175 177 115\nt 148 17 117 128\nt 6 146 21 23\nt 80 85 86 82\nt 102 84 156 104\nt 134 102 88 156\nt 56 63 11 57\nt 80 127 86 75\nt 123 81 127 75\nt 17 91 76 18\nt 80 85 75 86\nt 80 85 93 75\nt 149 157 150 23\nt 160 17 74 76\nt 157 150 23 102\nt 175 171 177 176\nt 182 163 164 174\nt 5 110 53 72\nt 143 6 149 133\nt 146 134 77 23\nt 103 104 41 100\nt 134 77 102 156\nt 154 166 167 168\nt 154 153 166 168\nt 46 116 22 23\nt 94 118 28 96\nt 48 41 22 11\nt 17 105 117 106\nt 45 3 40 34\nt 53 157 41 183\nt 184 154 167 147\nt 178 154 153 167\nt 53 157 23 41\nt 134 77 156 88\nt 180 182 163 161\nt 46 21 116 23\nt 143 6 133 132\nt 179 175 115 0\nt 85 91 93 75\nt 154 167 128 168\nt 163 126 159 142\nt 51 48 41 22\nt 63 57 180 33\nt 104 100 79 41\nt 82 84 156 87\nt 163 165 159 126\nt 181 185 171 176\nt 178 153 166 167\nt 130 131 186 170\nt 141 122 186 170\nt 121 141 122 186\nt 147 167 16 17\nt 121 130 158 186\nt 121 141 186 158\nt 143 6 110 149\nt 171 176 1 177\nt 121 122 170 186\nt 154 147 128 167\nt 121 130 186 170\nt 171 0 177 1\nt 175 113 115 0\nt 181 187 175 188\nt 86 82 84 83\nt 141 140 186 158\nt 16 148 17 117\nt 102 86 88 84\nt 5 7 52 22\nt 116 77 144 23\nt 181 179 188 175\nt 73 91 18 76\nt 157 183 102 41\nt 154 153 167 166\nt 181 187 176 175\nt 80 127 82 86\nt 6 110 146 23\nt 77 102 104 41\nt 73 91 76 75\nt 0 1 3 177\nt 10 34 28 11\nt 53 119 183 41\nt 179 188 175 0\nt 179 188 0 113\nt 181 187 185 176\nt 188 175 0 113\nt 88 84 87 156\nt 185 171 176 1\nt 125 135 161 162\nt 184 147 167 16\nt 33 163 142 126\nt 181 175 176 171\nt 10 34 11 40\nt 57 180 33 125\nt 46 67 22 24\nt 161 163 126 165\nt 184 178 167 154\nt 47 63 48 11\nt 63 48 11 33\nt 73 160 76 17\nt 63 57 33 11\nt 180 33 126 163\nt 127 86 83 82\nt 119 183 41 103\nt 81 74 172 75\nt 151 184 154 178\nt 152 184 147 154\nt 182 161 164 163\nt 9 78 101 41\nt 161 163 165 164\nt 5 7 22 21\nt 56 67 32 22\nt 57 32 20 11\nt 7 69 52 66\nt 179 175 171 177\nt 146 150 134 23\nt 73 91 75 93\nt 8 144 9 41\nt 78 101 41 79\nt 53 51 41 22\nt 54 45 11 40\nt 183 102 41 103\nt 77 104 79 41\nt 6 132 146 133\nt 7 66 52 22\nt 180 161 163 126\nt 6 110 149 146\nt 125 135 162 126\nt 48 55 41 11\nt 6 149 133 146\nt 7 6 22 21\nt 50 72 52 51\nt 180 125 126 33\nt 110 53 157 23\nt 5 7 72 52\nt 7 6 66 22\nt 0 115 177 3\nt 151 152 154 184\nt 147 167 17 128\nt 56 47 22 11\nt 5 6 21 23\n\n# links from the vertices of the original mesh to the containing tetrahedron\n# including barycentric coordinates w.r.t. the containing tetrahedron\n# original mesh: froggy.obj\n# 4010 vertices in the original mesh\n\nl 109 0.239943 0.087665 0.423510\nl 109 0.234196 0.085797 0.455452\nl 109 0.204570 0.051028 0.418367\nl 109 0.215673 0.054636 0.356659\nl 109 0.245921 0.093439 0.397249\nl 109 0.227221 0.065790 0.305930\nl 109 0.251722 0.102724 0.378458\nl 109 0.238427 0.083729 0.269631\nl 109 0.256950 0.114890 0.368421\nl 109 0.248527 0.107233 0.250239\nl 109 0.261249 0.129106 0.367817\nl 109 0.256833 0.134695 0.249069\nl 109 0.264327 0.144403 0.376688\nl 109 0.262778 0.164248 0.266209\nl 109 0.265973 0.159741 0.394433\nl 109 0.265958 0.193878 0.300487\nl 109 0.266075 0.174072 0.419839\nl 109 0.266156 0.221562 0.349569\nl 109 0.264627 0.186421 0.451175\nl 109 0.263358 0.245417 0.410107\nl 109 0.261727 0.195944 0.486306\nl 109 0.257755 0.263816 0.477976\nl 109 0.257572 0.201995 0.522840\nl 205 0.261572 0.052807 0.467556\nl 205 0.254836 0.010659 0.541939\nl 205 0.261740 0.097718 0.467146\nl 205 0.252993 0.028065 0.547178\nl 205 0.258178 0.131348 0.477267\nl 205 0.249343 0.038449 0.557513\nl 205 0.251127 0.151404 0.497233\nl 205 0.244137 0.041100 0.572237\nl 205 0.241070 0.156525 0.525680\nl 205 0.237729 0.035836 0.590349\nl 205 0.228690 0.146357 0.560669\nl 205 0.230555 0.023017 0.610614\nl 205 0.214831 0.121595 0.599817\nl 205 0.223104 0.003517 0.631652\nl 205 0.200438 0.083923 0.640459\nl 109 0.220670 0.130216 0.619302\nl 205 0.186493 0.035914 0.679820\nl 109 0.220567 0.115885 0.593896\nl 109 0.178241 0.109155 0.685826\nl 109 0.222015 0.103537 0.562561\nl 109 0.181039 0.085299 0.625287\nl 109 0.224916 0.094013 0.527429\nl 109 0.186642 0.066900 0.557414\nl 109 0.229070 0.087963 0.490895\nl 109 0.194668 0.055211 0.486839\nl 109 0.163665 0.036091 0.394447\nl 109 0.179368 0.041194 0.307180\nl 109 0.195700 0.056969 0.235440\nl 109 0.211548 0.082339 0.184104\nl 109 0.225831 0.115575 0.156676\nl 109 0.237577 0.154415 0.155028\nl 109 0.245985 0.196209 0.179267\nl 109 0.250482 0.238111 0.227744\nl 109 0.250762 0.277263 0.297152\nl 109 0.246805 0.311000 0.382767\nl 205 0.247652 0.039112 0.418760\nl 205 0.253151 0.114247 0.403324\nl 205 0.253389 0.177760 0.402744\nl 205 0.248352 0.225320 0.417058\nl 205 0.238382 0.253688 0.445292\nl 205 0.224158 0.260927 0.485521\nl 205 0.206649 0.246546 0.535005\nl 205 0.187051 0.211530 0.590368\nl 205 0.166696 0.158254 0.647844\nl 205 0.146974 0.090358 0.703509\nl 205 0.129227 0.012464 0.753573\nl 109 0.130389 0.084559 0.687077\nl 109 0.138312 0.058539 0.591096\nl 109 0.149662 0.042006 0.491283\nl 109 0.114273 0.042002 0.385324\nl 109 0.133505 0.048253 0.278447\nl 109 0.153507 0.067572 0.190581\nl 109 0.172917 0.098644 0.127708\nl 109 0.190410 0.139350 0.094115\nl 109 0.204796 0.186920 0.092095\nl 109 0.215093 0.238106 0.121784\nl 109 0.220602 0.289425 0.181153\nl 109 0.220944 0.337377 0.266162\nl 109 0.216098 0.378695 0.371019\nl 205 0.223330 0.075524 0.372734\nl 205 0.230064 0.167547 0.353828\nl 205 0.230356 0.245332 0.353119\nl 205 0.224187 0.303582 0.370649\nl 205 0.211976 0.338325 0.405228\nl 205 0.194555 0.347191 0.454499\nl 206 0.152139 0.322546 0.038203\nl 206 0.127058 0.279295 0.040165\nl 205 0.124179 0.221442 0.653303\nl 205 0.100024 0.138288 0.721478\nl 205 0.078289 0.042887 0.782795\nl 109 0.073517 0.101363 0.743722\nl 109 0.083221 0.069495 0.626168\nl 109 0.097123 0.049248 0.503923\nl 109 0.059757 0.068362 0.391620\nl 109 0.081207 0.075333 0.272415\nl 109 0.103517 0.096880 0.174409\nl 109 0.125164 0.131535 0.104286\nl 109 0.144676 0.176939 0.066819\nl 109 0.160722 0.229995 0.064566\nl 109 0.172207 0.287086 0.097676\nl 109 0.178351 0.344325 0.163897\nl 109 0.178733 0.397809 0.258713\nl 109 0.173328 0.443893 0.375665\nl 205 0.186371 0.106431 0.343531\nl 205 0.193882 0.209070 0.322446\nl 205 0.194208 0.295830 0.321653\nl 205 0.187327 0.360797 0.341206\nl 205 0.173707 0.399549 0.379774\nl 205 0.154276 0.409439 0.434730\nl 206 0.103866 0.380911 0.048260\nl 206 0.075893 0.332669 0.050445\nl 206 0.074097 0.268617 0.003070\nl 205 0.048842 0.176436 0.732504\nl 205 0.024599 0.070032 0.800894\nl 109 0.014299 0.134568 0.791362\nl 109 0.025123 0.099024 0.660245\nl 109 0.040628 0.076443 0.523900\nl 109 0.003831 0.113370 0.412904\nl 109 0.026039 0.120588 0.289494\nl 109 0.049135 0.142895 0.188032\nl 109 0.071546 0.178773 0.115435\nl 109 0.091746 0.225779 0.076649\nl 109 0.108358 0.280706 0.074314\nl 109 0.120248 0.339811 0.108594\nl 109 0.126609 0.399069 0.177149\nl 109 0.127004 0.454440 0.275311\nl 205 0.124609 0.014273 0.374494\nl 205 0.139294 0.129729 0.333143\nl 205 0.147071 0.235989 0.311312\nl 205 0.147408 0.325809 0.310492\nl 205 0.140284 0.393070 0.330735\nl 205 0.126183 0.433185 0.370665\nl 205 0.106068 0.443426 0.427558\nl 206 0.079028 0.422326 0.004153\nl 206 0.050069 0.372382 0.006416\nl 205 0.024805 0.298223 0.657115\nl 220 0.215967 0.050075 0.019232\nl 213 0.206305 0.008027 0.618334\nl 213 0.148780 0.030905 0.548289\nl 213 0.126614 0.011375 0.478303\nl 220 0.071227 0.044259 0.443913\nl 213 0.115372 0.074602 0.149453\nl 220 0.125932 0.043949 0.694755\nl 220 0.026444 0.173715 0.609885\nl 109 0.015718 0.237135 0.160393\nl 109 0.035230 0.282539 0.122926\nl 109 0.051275 0.335595 0.120674\nl 109 0.062761 0.392686 0.153784\nl 109 0.068904 0.449925 0.220004\nl 109 0.069286 0.503409 0.314820\nl 205 0.071126 0.032308 0.382217\nl 205 0.085311 0.143831 0.342273\nl 205 0.092822 0.246470 0.321188\nl 205 0.093148 0.333230 0.320395\nl 205 0.086267 0.398197 0.339949\nl 205 0.072647 0.436949 0.378516\nl 205 0.053216 0.446838 0.433472\nl 205 0.029300 0.427195 0.501066\nl 205 0.002527 0.379356 0.576697\nl 213 0.325671 0.065766 0.518985\nl 213 0.215236 0.162573 0.464735\nl 213 0.129305 0.224126 0.401629\nl 213 0.073740 0.246225 0.333971\nl 213 0.052330 0.227360 0.266370\nl 213 0.066531 0.168821 0.203434\nl 139 0.081832 0.218557 0.672520\nl 139 0.160059 0.069671 0.710905\nl 188 0.178355 0.047770 0.053784\nl 188 0.149266 0.131897 0.015135\nl 220 0.093760 0.241366 0.606179\nl 220 0.029606 0.358719 0.456599\nl 109 0.003658 0.442109 0.230175\nl 109 0.009167 0.493428 0.289544\nl 109 0.009509 0.541380 0.374553\nl 205 0.015379 0.047785 0.406116\nl 205 0.028097 0.147775 0.370304\nl 205 0.034831 0.239798 0.351399\nl 205 0.035123 0.317583 0.350689\nl 205 0.028954 0.375833 0.368219\nl 205 0.016742 0.410576 0.402799\nl 220 0.422467 0.125876 0.004227\nl 220 0.500480 0.000310 0.137848\nl 213 0.379288 0.130180 0.337583\nl 213 0.265044 0.242675 0.300195\nl 213 0.166031 0.329470 0.251555\nl 213 0.088988 0.384656 0.194975\nl 213 0.039173 0.404466 0.134315\nl 213 0.019974 0.387556 0.073706\nl 213 0.032706 0.335072 0.017279\nl 139 0.107426 0.191974 0.550738\nl 139 0.171298 0.070407 0.582081\nl 188 0.199289 0.031282 0.175826\nl 188 0.175538 0.099970 0.144270\nl 188 0.169623 0.161170 0.105410\nl 188 0.181950 0.210712 0.061893\nl 188 0.211675 0.245219 0.016685\nl 220 0.216427 0.291196 0.443308\nl 220 0.215179 0.331705 0.332725\nl 220 0.232823 0.346250 0.241984\nl 220 0.268158 0.333834 0.177279\nl 220 0.318773 0.295309 0.143015\nl 220 0.381223 0.233293 0.141529\nl 220 0.451247 0.152021 0.172919\nl 220 0.524077 0.057026 0.235048\nl 213 0.523144 0.050291 0.154833\nl 213 0.424483 0.164325 0.148154\nl 213 0.325130 0.270899 0.128897\nl 213 0.231850 0.362751 0.098368\nl 213 0.151004 0.433621 0.058654\nl 213 0.088101 0.478677 0.012456\nl 139 0.053786 0.456682 0.457260\nl 139 0.046598 0.391924 0.486126\nl 139 0.064893 0.301636 0.518010\nl 139 0.164778 0.150542 0.454843\nl 139 0.209943 0.064580 0.477006\nl 188 0.244014 0.013669 0.252760\nl 188 0.227221 0.062238 0.230447\nl 188 0.223040 0.105514 0.202967\nl 188 0.231753 0.140547 0.172196\nl 188 0.252772 0.164946 0.140230\nl 188 0.284662 0.177055 0.109244\nl 188 0.325251 0.176040 0.081355\nl 188 0.371770 0.161978 0.058460\nl 188 0.421050 0.135825 0.042120\nl 188 0.469734 0.099364 0.033448\nl 188 0.514504 0.055075 0.033037\nl 188 0.552307 0.005983 0.040913\nl 139 0.505243 0.078040 0.384243\nl 139 0.439954 0.163084 0.368402\nl 139 0.371002 0.238855 0.357472\nl 139 0.303086 0.300191 0.352198\nl 139 0.240829 0.342914 0.352939\nl 139 0.188479 0.364113 0.359644\nl 139 0.149603 0.362341 0.371856\nl 139 0.126845 0.337722 0.388744\nl 139 0.121765 0.291926 0.409157\nl 139 0.134703 0.228084 0.431702\nl 139 0.249977 0.097085 0.391370\nl 139 0.273357 0.052587 0.402843\nl 139 0.302953 0.006767 0.413026\nl 188 0.300790 0.021276 0.267792\nl 188 0.298627 0.043676 0.253568\nl 188 0.303139 0.061810 0.237639\nl 188 0.314018 0.074440 0.221092\nl 188 0.330526 0.080707 0.205053\nl 188 0.351536 0.080184 0.190616\nl 188 0.375615 0.072906 0.178764\nl 188 0.401124 0.059367 0.170307\nl 188 0.426325 0.040492 0.165818\nl 188 0.449501 0.017567 0.165605\nl 139 0.455810 0.013736 0.365008\nl 139 0.426214 0.059556 0.354825\nl 139 0.392420 0.103576 0.346625\nl 139 0.356729 0.142796 0.340968\nl 139 0.321571 0.174547 0.338238\nl 139 0.289343 0.196664 0.338621\nl 139 0.262247 0.207635 0.342092\nl 139 0.242122 0.206719 0.348414\nl 139 0.230342 0.193976 0.357155\nl 139 0.227713 0.170271 0.367721\nl 139 0.234411 0.137222 0.379392\nl 109 0.250525 0.138027 0.503175\nl 139 0.357214 0.035249 0.364640\nl 109 0.206085 0.130544 0.455210\nl 109 0.185905 0.103083 0.399631\nl 109 0.176674 0.100084 0.450935\nl 109 0.201306 0.128990 0.481768\nl 109 0.211055 0.135344 0.433378\nl 109 0.195507 0.112357 0.357451\nl 109 0.215878 0.143065 0.417754\nl 109 0.204824 0.127272 0.327272\nl 109 0.220224 0.153179 0.409409\nl 109 0.213221 0.146814 0.311149\nl 109 0.223799 0.164999 0.408906\nl 109 0.220126 0.169646 0.310178\nl 109 0.226358 0.177718 0.416283\nl 109 0.225070 0.194218 0.324426\nl 109 0.227727 0.190470 0.431036\nl 109 0.227714 0.218852 0.352928\nl 109 0.227811 0.202384 0.452159\nl 109 0.227878 0.241871 0.393735\nl 109 0.226608 0.212652 0.478212\nl 109 0.225552 0.261704 0.444068\nl 109 0.224196 0.220570 0.507423\nl 109 0.220894 0.277001 0.500496\nl 109 0.220742 0.225601 0.537796\nl 205 0.223868 0.043023 0.493187\nl 205 0.218269 0.007979 0.555030\nl 205 0.224009 0.080364 0.492844\nl 205 0.216737 0.022453 0.559385\nl 205 0.221047 0.108324 0.501261\nl 205 0.213702 0.031085 0.567978\nl 205 0.215185 0.124999 0.517860\nl 205 0.209374 0.033290 0.580220\nl 205 0.206823 0.129257 0.541511\nl 205 0.204045 0.028912 0.595280\nl 205 0.196530 0.120804 0.570602\nl 205 0.198082 0.018255 0.612127\nl 205 0.185007 0.100214 0.603152\nl 205 0.191887 0.002043 0.629619\nl 205 0.173041 0.068894 0.636941\nl 109 0.190060 0.165922 0.617998\nl 205 0.161446 0.028978 0.669668\nl 109 0.189975 0.154007 0.596877\nl 109 0.154784 0.148412 0.673309\nl 109 0.191179 0.143740 0.570822\nl 109 0.157109 0.128577 0.622975\nl 109 0.193590 0.135821 0.541613\nl 109 0.161768 0.113280 0.566543\nl 109 0.197045 0.130791 0.511237\nl 109 0.168441 0.103561 0.507866\nl 109 0.155723 0.091906 0.358492\nl 109 0.142667 0.087663 0.431047\nl 109 0.169301 0.105020 0.298843\nl 109 0.182477 0.126114 0.256160\nl 109 0.194353 0.153748 0.233359\nl 109 0.204119 0.186040 0.231986\nl 109 0.211109 0.220789 0.252140\nl 109 0.214849 0.255628 0.292444\nl 109 0.215081 0.288180 0.350154\nl 109 0.211792 0.316230 0.421335\nl 205 0.212298 0.031635 0.452616\nl 205 0.216870 0.094106 0.439781\nl 205 0.217068 0.146912 0.439299\nl 205 0.212880 0.186455 0.451199\nl 205 0.204590 0.210040 0.474675\nl 205 0.192764 0.216061 0.508121\nl 205 0.178207 0.204104 0.549264\nl 205 0.161912 0.174988 0.595295\nl 205 0.144989 0.130694 0.643081\nl 205 0.128591 0.074243 0.689362\nl 205 0.113836 0.009481 0.730988\nl 109 0.114999 0.127960 0.674348\nl 109 0.121587 0.106326 0.594546\nl 109 0.131024 0.092582 0.511560\nl 109 0.117590 0.097775 0.334602\nl 109 0.101600 0.092578 0.423462\nl 109 0.134220 0.113837 0.261546\nl 109 0.150357 0.139671 0.209273\nl 109 0.164902 0.173516 0.181345\nl 109 0.176863 0.213066 0.179665\nl 109 0.185424 0.255624 0.204347\nl 109 0.190004 0.298292 0.253710\nl 109 0.190289 0.338161 0.324389\nl 109 0.186260 0.372514 0.411569\nl 205 0.192074 0.061909 0.414349\nl 205 0.197673 0.138420 0.398630\nl 205 0.197917 0.203094 0.398039\nl 205 0.192787 0.251524 0.412615\nl 205 0.182634 0.280410 0.441365\nl 205 0.168150 0.287782 0.482331\nl 205 0.150322 0.273139 0.532719\nl 205 0.130364 0.237479 0.589096\nl 205 0.109638 0.183231 0.647621\nl 205 0.089555 0.114093 0.704304\nl 205 0.071483 0.034776 0.755284\nl 109 0.067714 0.141932 0.721445\nl 109 0.075782 0.115436 0.623706\nl 109 0.087340 0.098602 0.522070\nl 109 0.074107 0.120291 0.329586\nl 109 0.056272 0.114495 0.428697\nl 109 0.092655 0.138206 0.248104\nl 109 0.110654 0.167021 0.189800\nl 109 0.126876 0.204769 0.158650\nl 109 0.140218 0.248882 0.156774\nl 109 0.149767 0.296349 0.184306\nl 109 0.154875 0.343939 0.239361\nl 109 0.155192 0.388406 0.318196\nl 109 0.150699 0.426723 0.415431\nl 205 0.161345 0.087608 0.390069\nl 205 0.167590 0.172945 0.372536\nl 205 0.167861 0.245079 0.371878\nl 205 0.162140 0.299096 0.388134\nl 205 0.150815 0.331313 0.420202\nl 205 0.134661 0.339536 0.465892\nl 205 0.114776 0.323204 0.522094\nl 205 0.092517 0.283430 0.584974\nl 205 0.069399 0.222924 0.650250\nl 205 0.046999 0.145812 0.713471\nl 205 0.026843 0.057344 0.770332\nl 109 0.018478 0.169542 0.761052\nl 109 0.027477 0.139989 0.652040\nl 109 0.040368 0.121214 0.538678\nl 109 0.028238 0.157916 0.343787\nl 109 0.009775 0.151917 0.446394\nl 109 0.047442 0.176464 0.259427\nl 109 0.066075 0.206294 0.199069\nl 109 0.082870 0.245375 0.166821\nl 109 0.096681 0.291043 0.164880\nl 109 0.106567 0.340185 0.193380\nl 109 0.111855 0.389454 0.250380\nl 109 0.112184 0.435491 0.331995\nl 205 0.109995 0.010985 0.415811\nl 205 0.122205 0.106978 0.381431\nl 205 0.128670 0.195326 0.363281\nl 205 0.128951 0.270006 0.362597\nl 205 0.123027 0.325927 0.379429\nl 205 0.111304 0.359281 0.412627\nl 205 0.094579 0.367794 0.459930\nl 205 0.073994 0.350888 0.518111\nl 205 0.050948 0.309709 0.583212\nl 205 0.027015 0.247068 0.650790\nl 205 0.003825 0.167235 0.716242\nl 220 0.151645 0.083620 0.106193\nl 220 0.130898 0.066519 0.212885\nl 220 0.089351 0.081117 0.288968\nl 220 0.029837 0.126416 0.329256\nl 220 0.075321 0.126159 0.537815\nl 220 0.154853 0.033851 0.573469\nl 109 0.001658 0.226005 0.294753\nl 109 0.019657 0.254820 0.236449\nl 109 0.035879 0.292568 0.205299\nl 109 0.049220 0.336681 0.203424\nl 109 0.058769 0.384148 0.230955\nl 109 0.063878 0.431738 0.286010\nl 109 0.064195 0.476205 0.364845\nl 205 0.065527 0.025980 0.422231\nl 205 0.077320 0.118703 0.389023\nl 205 0.083566 0.204040 0.371490\nl 205 0.083837 0.276174 0.370832\nl 205 0.078116 0.330191 0.387088\nl 205 0.066791 0.362408 0.419157\nl 205 0.050637 0.370631 0.464846\nl 205 0.030752 0.354299 0.521048\nl 205 0.008492 0.314525 0.583928\nl 220 0.319241 0.040456 0.091137\nl 213 0.291489 0.035489 0.478965\nl 213 0.220044 0.086667 0.426497\nl 213 0.173850 0.105035 0.370244\nl 213 0.156045 0.089356 0.314039\nl 213 0.167852 0.040684 0.261712\nl 213 0.235889 0.016623 0.035875\nl 213 0.176137 0.108674 0.066699\nl 220 0.185396 0.081786 0.665518\nl 220 0.113433 0.185899 0.575262\nl 220 0.048572 0.290297 0.464168\nl 109 0.001069 0.382681 0.269784\nl 109 0.009631 0.425239 0.294466\nl 109 0.014210 0.467907 0.343830\nl 109 0.014495 0.507776 0.414509\nl 205 0.019177 0.038848 0.442103\nl 205 0.029751 0.121981 0.412329\nl 205 0.035350 0.198492 0.396610\nl 205 0.035594 0.263166 0.396019\nl 205 0.030464 0.311596 0.410595\nl 205 0.020311 0.340481 0.439345\nl 205 0.005827 0.347854 0.480310\nl 220 0.386730 0.089877 0.074784\nl 213 0.427887 0.008556 0.373249\nl 213 0.332902 0.102087 0.342164\nl 213 0.250578 0.174252 0.301723\nl 213 0.186524 0.220134 0.254682\nl 213 0.145105 0.236606 0.204247\nl 213 0.129144 0.222545 0.153854\nl 213 0.139728 0.178910 0.106940\nl 139 0.239084 0.054170 0.640826\nl 139 0.185977 0.155246 0.614767\nl 188 0.258139 0.028502 0.064252\nl 188 0.238392 0.085613 0.038015\nl 188 0.233476 0.136494 0.005705\nl 220 0.198407 0.210094 0.536388\nl 220 0.167234 0.278752 0.430935\nl 220 0.150558 0.331730 0.328750\nl 220 0.149522 0.365408 0.236808\nl 220 0.164189 0.377504 0.161363\nl 220 0.193570 0.367178 0.107568\nl 220 0.235651 0.335149 0.079077\nl 220 0.287574 0.283587 0.077843\nl 220 0.345794 0.216016 0.103940\nl 220 0.406347 0.137033 0.155599\nl 220 0.465103 0.052028 0.229289\nl 213 0.465464 0.036944 0.215754\nl 213 0.382862 0.125548 0.199742\nl 213 0.305304 0.201920 0.174360\nl 213 0.238089 0.260840 0.141340\nl 213 0.185787 0.298305 0.102931\nl 213 0.151970 0.311752 0.061751\nl 213 0.138936 0.300274 0.020606\nl 139 0.150617 0.246420 0.587556\nl 139 0.271210 0.049330 0.553463\nl 139 0.233661 0.120798 0.535037\nl 188 0.295325 0.013859 0.128217\nl 188 0.281363 0.054240 0.109665\nl 188 0.277887 0.090221 0.086818\nl 188 0.285132 0.119347 0.061234\nl 188 0.302606 0.139636 0.034656\nl 188 0.329122 0.149700 0.008895\nl 220 0.341613 0.164059 0.468479\nl 220 0.351987 0.172608 0.415135\nl 220 0.372759 0.165311 0.377093\nl 220 0.402517 0.142660 0.356949\nl 220 0.439231 0.106204 0.356072\nl 220 0.480400 0.058421 0.374530\nl 220 0.523215 0.002574 0.411056\nl 213 0.473649 0.063996 0.065296\nl 213 0.415648 0.131036 0.061371\nl 213 0.357236 0.193692 0.050048\nl 213 0.302397 0.247692 0.032100\nl 213 0.254867 0.289357 0.008752\nl 139 0.221044 0.296894 0.466039\nl 139 0.202123 0.276424 0.480080\nl 139 0.197899 0.238348 0.497052\nl 139 0.208654 0.185270 0.515796\nl 139 0.323937 0.039355 0.491801\nl 139 0.304496 0.076353 0.482263\nl 139 0.348540 0.001263 0.500267\nl 188 0.342530 0.020184 0.140716\nl 188 0.340731 0.038807 0.128890\nl 188 0.344482 0.053885 0.115646\nl 188 0.353529 0.064385 0.101889\nl 188 0.367253 0.069597 0.088553\nl 188 0.384721 0.069160 0.076551\nl 188 0.404741 0.063110 0.066696\nl 188 0.425951 0.051852 0.059665\nl 188 0.446903 0.036161 0.055932\nl 188 0.466171 0.017099 0.055756\nl 139 0.475633 0.007054 0.460344\nl 139 0.451025 0.045151 0.451877\nl 139 0.422929 0.081749 0.445060\nl 139 0.393251 0.114361 0.440356\nl 139 0.364023 0.140756 0.438087\nl 139 0.337227 0.159147 0.438405\nl 139 0.314699 0.168267 0.441291\nl 139 0.297964 0.167508 0.446547\nl 139 0.288173 0.156909 0.453815\nl 139 0.285984 0.137203 0.462600\nl 139 0.291555 0.109724 0.472303\nl 109 0.214883 0.172416 0.521447\nl 139 0.393658 0.024939 0.460041\nl 118 0.356152 0.336690 0.056522\nl 118 0.397911 0.281898 0.052305\nl 118 0.335535 0.296606 0.100446\nl 118 0.313918 0.324972 0.102628\nl 118 0.432553 0.227003 0.052401\nl 118 0.353466 0.268194 0.100495\nl 118 0.457716 0.175750 0.056803\nl 118 0.366494 0.241660 0.102774\nl 118 0.471687 0.131629 0.065212\nl 118 0.373724 0.218824 0.107126\nl 118 0.473514 0.097648 0.077051\nl 118 0.374670 0.201233 0.113255\nl 118 0.463073 0.076120 0.091518\nl 118 0.369264 0.190092 0.120743\nl 118 0.441071 0.068519 0.107624\nl 118 0.357876 0.186154 0.129081\nl 118 0.409012 0.075355 0.124274\nl 118 0.341281 0.189695 0.137699\nl 118 0.369080 0.096167 0.140330\nl 118 0.320612 0.200465 0.146011\nl 118 0.323997 0.129534 0.154700\nl 118 0.297273 0.217740 0.153449\nl 118 0.276832 0.173185 0.166405\nl 118 0.272861 0.240333 0.159508\nl 118 0.230801 0.224142 0.174647\nl 118 0.249032 0.266713 0.163774\nl 118 0.189043 0.278936 0.178862\nl 118 0.227417 0.295074 0.165956\nl 118 0.154403 0.333827 0.178766\nl 118 0.209485 0.323491 0.165906\nl 118 0.129238 0.385083 0.174364\nl 118 0.196459 0.350020 0.163628\nl 118 0.115266 0.429204 0.165957\nl 118 0.189227 0.372860 0.159276\nl 118 0.113440 0.463185 0.154116\nl 118 0.188282 0.390447 0.153147\nl 118 0.123883 0.484710 0.139650\nl 118 0.193687 0.401593 0.145658\nl 118 0.145883 0.492315 0.123543\nl 118 0.205076 0.405526 0.137321\nl 118 0.177940 0.485477 0.106895\nl 118 0.221670 0.401990 0.128703\nl 118 0.217873 0.464666 0.090837\nl 118 0.242341 0.391216 0.120391\nl 118 0.262960 0.431296 0.076467\nl 118 0.265677 0.373945 0.112952\nl 118 0.310122 0.387648 0.064763\nl 118 0.290092 0.351348 0.106894\nl 118 0.401203 0.335463 0.004035\nl 335 0.441697 0.282166 0.259758\nl 335 0.491993 0.202835 0.289946\nl 118 0.544838 0.107857 0.004433\nl 118 0.564595 0.045463 0.016324\nl 319 0.565188 0.033275 0.001757\nl 319 0.527063 0.056159 0.022365\nl 319 0.487699 0.079795 0.029646\nl 319 0.449780 0.102569 0.023099\nl 319 0.415889 0.122932 0.003176\nl 118 0.355728 0.042501 0.142881\nl 118 0.289029 0.104229 0.159434\nl 118 0.223931 0.176297 0.171088\nl 118 0.164876 0.253784 0.177051\nl 118 0.115885 0.331417 0.176915\nl 118 0.080298 0.403899 0.170690\nl 118 0.060539 0.466297 0.158800\nl 118 0.057957 0.514352 0.142055\nl 118 0.072724 0.544796 0.121596\nl 118 0.103839 0.555547 0.098818\nl 118 0.149175 0.545880 0.075273\nl 118 0.205648 0.516447 0.052565\nl 118 0.269406 0.469259 0.032242\nl 118 0.336107 0.407527 0.015690\nl 332 0.256162 0.445182 0.159318\nl 332 0.310545 0.352352 0.173740\nl 332 0.340297 0.309660 0.201289\nl 332 0.343391 0.320017 0.240089\nl 332 0.319616 0.382715 0.287496\nl 335 0.498094 0.104387 0.264117\nl 319 0.531492 0.019710 0.087974\nl 319 0.483282 0.048657 0.096890\nl 319 0.436840 0.076550 0.088873\nl 319 0.395333 0.101489 0.064469\nl 319 0.361587 0.121775 0.025342\nl 118 0.308617 0.038171 0.139065\nl 118 0.228891 0.126433 0.153339\nl 118 0.156563 0.221337 0.160642\nl 118 0.096562 0.316415 0.160475\nl 118 0.052976 0.405189 0.152851\nl 118 0.028777 0.481609 0.138288\nl 118 0.025614 0.540466 0.117780\nl 118 0.043701 0.577750 0.092723\nl 118 0.081807 0.590920 0.064826\nl 118 0.137334 0.579078 0.035989\nl 118 0.206498 0.543031 0.008178\nl 335 0.123654 0.694989 0.039356\nl 332 0.180854 0.581825 0.159007\nl 332 0.322176 0.164339 0.122913\nl 332 0.382832 0.060801 0.138999\nl 332 0.416017 0.013184 0.169726\nl 332 0.419467 0.024737 0.213004\nl 332 0.392950 0.094667 0.265877\nl 332 0.338270 0.218213 0.324750\nl 335 0.328291 0.268711 0.080262\nl 319 0.480688 0.010876 0.150765\nl 319 0.428890 0.041987 0.141822\nl 319 0.382594 0.069803 0.114604\nl 319 0.344957 0.092428 0.070963\nl 319 0.318540 0.108322 0.013876\nl 118 0.245343 0.077949 0.122609\nl 118 0.164672 0.183798 0.130755\nl 118 0.097749 0.289847 0.130569\nl 118 0.049137 0.388859 0.122065\nl 118 0.022145 0.474097 0.105822\nl 118 0.018617 0.539742 0.082948\nl 118 0.038790 0.581328 0.055001\nl 118 0.081291 0.596015 0.023886\nl 335 0.063512 0.686701 0.179452\nl 332 0.024273 0.723987 0.168111\nl 332 0.136572 0.507629 0.137982\nl 332 0.238182 0.316743 0.122567\nl 333 0.342084 0.506508 0.098833\nl 333 0.372490 0.394578 0.112246\nl 333 0.391950 0.313471 0.142569\nl 333 0.399135 0.268722 0.187733\nl 333 0.393559 0.263373 0.244661\nl 333 0.375600 0.297789 0.309472\nl 332 0.301846 0.147717 0.373288\nl 332 0.200224 0.357296 0.434050\nl 319 0.426471 0.001237 0.178338\nl 319 0.378544 0.030034 0.150158\nl 319 0.339578 0.053457 0.104980\nl 319 0.312231 0.069911 0.045876\nl 118 0.272163 0.034151 0.080995\nl 118 0.188646 0.143737 0.089427\nl 118 0.119364 0.253523 0.089234\nl 118 0.069035 0.356032 0.080431\nl 118 0.041092 0.444273 0.063616\nl 118 0.037439 0.512236 0.039934\nl 118 0.058326 0.555286 0.011001\nl 132 0.662376 0.046759 0.203325\nl 132 0.627874 0.164428 0.070502\nl 332 0.058677 0.496641 0.148122\nl 332 0.174938 0.272650 0.116932\nl 332 0.280131 0.075033 0.100973\nl 333 0.303459 0.431503 0.087608\nl 333 0.332829 0.323387 0.100566\nl 333 0.351625 0.245048 0.129855\nl 333 0.358566 0.201821 0.173481\nl 333 0.353180 0.196654 0.228467\nl 333 0.335833 0.229896 0.291072\nl 333 0.307707 0.299287 0.357023\nl 332 0.226662 0.145805 0.417426\nl 332 0.116149 0.368142 0.469954\nl 335 0.237964 0.189626 0.275319\nl 319 0.345818 0.007517 0.125072\nl 319 0.319402 0.023410 0.067985\nl 319 0.306011 0.031487 0.001338\nl 118 0.226857 0.103872 0.039475\nl 118 0.159933 0.209921 0.039289\nl 118 0.111321 0.308934 0.030785\nl 118 0.084329 0.394171 0.014542\nl 335 0.000570 0.564386 0.364250\nl 132 0.531929 0.113931 0.271741\nl 132 0.497374 0.231874 0.157787\nl 132 0.464046 0.345537 0.029487\nl 332 0.089936 0.280404 0.141242\nl 332 0.202236 0.064045 0.111113\nl 333 0.265518 0.562022 0.091867\nl 333 0.258592 0.384808 0.094971\nl 333 0.284924 0.287876 0.106589\nl 333 0.301776 0.217637 0.132848\nl 333 0.308000 0.178882 0.171962\nl 333 0.303170 0.174248 0.221262\nl 333 0.287617 0.204054 0.277391\nl 333 0.262401 0.266267 0.336522\nl 333 0.229238 0.356648 0.394627\nl 332 0.139423 0.168672 0.442649\nl 332 0.036016 0.372270 0.481010\nl 132 0.455648 0.020060 0.075077\nl 335 0.069800 0.351603 0.261872\nl 335 0.127532 0.260708 0.416324\nl 335 0.125526 0.263958 0.477130\nl 335 0.063922 0.361125 0.440153\nl 132 0.454803 0.024349 0.369535\nl 132 0.432767 0.099774 0.341933\nl 132 0.405845 0.191813 0.285019\nl 132 0.375872 0.294194 0.202671\nl 132 0.344889 0.399941 0.100500\nl 332 0.012515 0.293605 0.186293\nl 332 0.115922 0.090008 0.147933\nl 333 0.185189 0.630967 0.117780\nl 333 0.224574 0.501831 0.098789\nl 333 0.210539 0.369603 0.120420\nl 333 0.232039 0.290457 0.129906\nl 333 0.245799 0.233109 0.151346\nl 333 0.250881 0.201463 0.183283\nl 333 0.246937 0.197682 0.223536\nl 333 0.234238 0.222017 0.269365\nl 333 0.213649 0.272815 0.317645\nl 333 0.186572 0.346611 0.365089\nl 332 0.154051 0.002656 0.408378\nl 332 0.069619 0.168894 0.439701\nl 132 0.305746 0.229333 0.014615\nl 132 0.318266 0.186811 0.100969\nl 132 0.324671 0.165191 0.172354\nl 132 0.324523 0.165941 0.223904\nl 132 0.317832 0.189014 0.252106\nl 132 0.305057 0.232833 0.255040\nl 132 0.287064 0.294419 0.232502\nl 132 0.265083 0.369566 0.186033\nl 132 0.240609 0.453163 0.118795\nl 132 0.215312 0.539503 0.035373\nl 332 0.050431 0.104663 0.199064\nl 333 0.116257 0.678737 0.165883\nl 333 0.150606 0.570591 0.139043\nl 333 0.182763 0.465152 0.123538\nl 333 0.162576 0.386927 0.162220\nl 333 0.177779 0.330962 0.168926\nl 333 0.187509 0.290408 0.184087\nl 333 0.191102 0.268034 0.206669\nl 333 0.188313 0.265361 0.235134\nl 333 0.179334 0.282567 0.267539\nl 333 0.164776 0.318483 0.301679\nl 333 0.145629 0.370667 0.335225\nl 333 0.123200 0.435556 0.365894\nl 333 0.099018 0.508728 0.391592\nl 332 0.041204 0.110951 0.407218\nl 132 0.190275 0.391661 0.013227\nl 132 0.194804 0.376369 0.063706\nl 132 0.194699 0.376903 0.100155\nl 132 0.189968 0.393217 0.120095\nl 132 0.180934 0.424204 0.122171\nl 132 0.168212 0.467749 0.106236\nl 132 0.152668 0.520889 0.073375\nl 132 0.135363 0.579999 0.025831\nl 332 0.028560 0.068630 0.248659\nl 333 0.071726 0.678691 0.220066\nl 333 0.095909 0.605516 0.194366\nl 333 0.120198 0.529043 0.175388\nl 333 0.142936 0.454489 0.164423\nl 333 0.117973 0.435595 0.217521\nl 333 0.125842 0.406625 0.220994\nl 333 0.130879 0.385635 0.228841\nl 333 0.132739 0.374050 0.240531\nl 333 0.131295 0.372667 0.255264\nl 333 0.126647 0.381575 0.272039\nl 333 0.119111 0.400168 0.289710\nl 333 0.109200 0.427179 0.307077\nl 333 0.097590 0.460767 0.322950\nl 333 0.085072 0.498644 0.336254\nl 333 0.072500 0.538228 0.346077\nl 333 0.060730 0.576820 0.351753\nl 332 0.043310 0.024003 0.352168\nl 332 0.027057 0.051746 0.347859\nl 332 0.018165 0.064505 0.339625\nl 332 0.017239 0.061412 0.328030\nl 332 0.024346 0.042671 0.313861\nl 332 0.038997 0.009569 0.298088\nl 333 0.049424 0.647222 0.280704\nl 333 0.059336 0.620210 0.263340\nl 333 0.070945 0.586623 0.247464\nl 333 0.083463 0.548745 0.234162\nl 333 0.096035 0.509162 0.224337\nl 333 0.107806 0.470569 0.218663\nl 118 0.277382 0.301103 0.139209\nl 333 0.079767 0.512295 0.282557\nl 109 0.193952 0.145910 0.466572\nl 109 0.175240 0.120444 0.415027\nl 109 0.166678 0.117662 0.462605\nl 109 0.189520 0.144470 0.491200\nl 109 0.198561 0.150361 0.446323\nl 109 0.184143 0.129044 0.375915\nl 109 0.203033 0.157520 0.431837\nl 109 0.192783 0.142875 0.347927\nl 109 0.207064 0.166901 0.424096\nl 109 0.200571 0.160996 0.332974\nl 109 0.210379 0.177862 0.423631\nl 109 0.206975 0.182171 0.332073\nl 109 0.212752 0.189656 0.430471\nl 109 0.211558 0.204956 0.345288\nl 109 0.214021 0.201482 0.444152\nl 109 0.214010 0.227802 0.371718\nl 109 0.214100 0.212532 0.463740\nl 109 0.214163 0.249147 0.409560\nl 109 0.212983 0.222052 0.487902\nl 109 0.212005 0.267539 0.456237\nl 109 0.210747 0.229395 0.514989\nl 109 0.207686 0.281726 0.508566\nl 109 0.207544 0.234061 0.543158\nl 205 0.210359 0.039517 0.502369\nl 205 0.205166 0.007020 0.559720\nl 205 0.210489 0.074144 0.502053\nl 205 0.203744 0.020442 0.563760\nl 205 0.207743 0.100073 0.509857\nl 205 0.200931 0.028447 0.571727\nl 205 0.202307 0.115537 0.525251\nl 205 0.196916 0.030490 0.583082\nl 205 0.194552 0.119486 0.547184\nl 205 0.191976 0.026432 0.597045\nl 205 0.185007 0.111645 0.574162\nl 205 0.186444 0.016548 0.612671\nl 205 0.174322 0.092554 0.604346\nl 205 0.180700 0.001513 0.628891\nl 205 0.163224 0.063508 0.635681\nl 109 0.179092 0.178718 0.617531\nl 205 0.152472 0.026492 0.666029\nl 109 0.179012 0.167668 0.597943\nl 109 0.146379 0.162479 0.668820\nl 109 0.180129 0.158147 0.573783\nl 109 0.148536 0.144085 0.622145\nl 109 0.182365 0.150805 0.546695\nl 109 0.152856 0.129900 0.569814\nl 109 0.185568 0.146139 0.518529\nl 109 0.159044 0.120887 0.515399\nl 109 0.147247 0.110080 0.376881\nl 109 0.135140 0.106145 0.444163\nl 109 0.159839 0.122243 0.321566\nl 109 0.172058 0.141803 0.281984\nl 109 0.183071 0.167429 0.260837\nl 109 0.192127 0.197375 0.259564\nl 109 0.198610 0.229599 0.278255\nl 109 0.202078 0.261906 0.315629\nl 109 0.202293 0.292094 0.369147\nl 109 0.199243 0.318106 0.435157\nl 205 0.199627 0.028957 0.464747\nl 205 0.203867 0.086890 0.452845\nl 205 0.204050 0.135859 0.452398\nl 205 0.200167 0.172530 0.463434\nl 205 0.192479 0.194400 0.485203\nl 205 0.181512 0.199982 0.516220\nl 205 0.168013 0.188893 0.554374\nl 205 0.152902 0.161893 0.597061\nl 205 0.137208 0.120819 0.641375\nl 205 0.122002 0.068468 0.684294\nl 205 0.108319 0.008411 0.722894\nl 109 0.109483 0.143515 0.669787\nl 109 0.115592 0.123453 0.595784\nl 109 0.124343 0.110707 0.518827\nl 109 0.111886 0.115522 0.354724\nl 109 0.097058 0.110703 0.437129\nl 109 0.127308 0.130417 0.286976\nl 109 0.142273 0.154375 0.238502\nl 109 0.155761 0.185761 0.212604\nl 109 0.166852 0.222437 0.211046\nl 109 0.174793 0.261902 0.233931\nl 109 0.179039 0.301471 0.279712\nl 109 0.179303 0.338443 0.345255\nl 109 0.175567 0.370300 0.426099\nl 205 0.180874 0.057030 0.429261\nl 205 0.186067 0.127983 0.414683\nl 205 0.186292 0.187960 0.414135\nl 205 0.181535 0.232870 0.427652\nl 205 0.172119 0.259654 0.454315\nl 205 0.158688 0.266492 0.492303\nl 205 0.142155 0.252914 0.539030\nl 205 0.123648 0.219845 0.591311\nl 205 0.104427 0.169538 0.645584\nl 205 0.085803 0.105424 0.698148\nl 205 0.069045 0.031870 0.745424\nl 109 0.065635 0.156472 0.713460\nl 109 0.073117 0.131900 0.622822\nl 109 0.083835 0.116289 0.528571\nl 109 0.071563 0.136401 0.350073\nl 109 0.055024 0.131027 0.441984\nl 109 0.088764 0.153015 0.274509\nl 109 0.105455 0.179736 0.220442\nl 109 0.120498 0.214742 0.191558\nl 109 0.132870 0.255649 0.189820\nl 109 0.141726 0.299667 0.215347\nl 109 0.146462 0.343800 0.266406\nl 109 0.146757 0.385037 0.339512\nl 109 0.142590 0.420569 0.429681\nl 205 0.152378 0.080862 0.406744\nl 205 0.158169 0.159998 0.390487\nl 205 0.158420 0.226893 0.389875\nl 205 0.153114 0.276982 0.404952\nl 205 0.142614 0.306862 0.434688\nl 205 0.127632 0.314487 0.477059\nl 205 0.109192 0.299342 0.529176\nl 205 0.088550 0.262458 0.587489\nl 205 0.067112 0.206346 0.648023\nl 205 0.046340 0.134838 0.706650\nl 205 0.027648 0.052798 0.759380\nl 109 0.019976 0.182074 0.750191\nl 109 0.028321 0.154668 0.649099\nl 109 0.040276 0.137257 0.543973\nl 109 0.029027 0.171294 0.363243\nl 109 0.011905 0.165730 0.458395\nl 109 0.046835 0.188493 0.285012\nl 109 0.064114 0.216156 0.229039\nl 109 0.079689 0.252398 0.199132\nl 109 0.092497 0.294749 0.197334\nl 109 0.101665 0.340319 0.223764\nl 109 0.106568 0.386008 0.276622\nl 109 0.106874 0.428701 0.352305\nl 205 0.104758 0.009807 0.430617\nl 205 0.116081 0.098826 0.398733\nl 205 0.122076 0.180754 0.381903\nl 205 0.122337 0.250008 0.381270\nl 205 0.116844 0.301866 0.396878\nl 205 0.105973 0.332798 0.427663\nl 205 0.090462 0.340692 0.471530\nl 205 0.071372 0.325013 0.525485\nl 205 0.050002 0.286826 0.585855\nl 205 0.027807 0.228736 0.648523\nl 205 0.006303 0.154705 0.709219\nl 220 0.127961 0.116172 0.081310\nl 220 0.108723 0.100312 0.180253\nl 220 0.070194 0.113851 0.250805\nl 220 0.015002 0.155862 0.288164\nl 220 0.057179 0.155623 0.481568\nl 220 0.130931 0.070024 0.514628\nl 109 0.004379 0.234434 0.317769\nl 109 0.021070 0.261155 0.263701\nl 109 0.036114 0.296161 0.234818\nl 109 0.048485 0.337068 0.233080\nl 109 0.057341 0.381086 0.258607\nl 109 0.062077 0.425219 0.309665\nl 109 0.062372 0.466456 0.382772\nl 205 0.063522 0.023712 0.436570\nl 205 0.074459 0.109698 0.405774\nl 205 0.080250 0.188834 0.389518\nl 205 0.080501 0.255729 0.388905\nl 205 0.075196 0.305818 0.403982\nl 205 0.064695 0.335698 0.433718\nl 205 0.049714 0.343323 0.476089\nl 205 0.031274 0.328178 0.528206\nl 205 0.010631 0.291293 0.586519\nl 220 0.283375 0.076150 0.067342\nl 220 0.304498 0.009042 0.196781\nl 213 0.252564 0.037400 0.435414\nl 213 0.209724 0.054437 0.383248\nl 213 0.193215 0.039894 0.331127\nl 220 0.196703 0.004711 0.513063\nl 220 0.228032 0.024770 0.658665\nl 213 0.211846 0.057813 0.101754\nl 220 0.159259 0.114473 0.599996\nl 220 0.092524 0.211023 0.516295\nl 220 0.032377 0.307834 0.413273\nl 109 0.003831 0.379728 0.294618\nl 109 0.011772 0.419194 0.317503\nl 109 0.016018 0.458762 0.363284\nl 109 0.016282 0.495734 0.428827\nl 205 0.020539 0.035645 0.454998\nl 205 0.030345 0.112737 0.427388\nl 205 0.035538 0.183690 0.412810\nl 205 0.035763 0.243667 0.412261\nl 205 0.031006 0.288577 0.425778\nl 205 0.021590 0.315361 0.452441\nl 205 0.008159 0.322199 0.490429\nl 220 0.345965 0.121975 0.052182\nl 220 0.395427 0.031496 0.167508\nl 213 0.357220 0.051705 0.357204\nl 213 0.280879 0.118625 0.319702\nl 213 0.221479 0.161174 0.276079\nl 213 0.183070 0.176447 0.229308\nl 213 0.168267 0.163409 0.182576\nl 213 0.178083 0.122944 0.139070\nl 139 0.263374 0.048355 0.661880\nl 139 0.214127 0.142084 0.637715\nl 188 0.279230 0.027507 0.024263\nl 220 0.260818 0.080538 0.658524\nl 220 0.211708 0.159584 0.574408\nl 220 0.171321 0.233461 0.480244\nl 220 0.142412 0.297131 0.382451\nl 220 0.126948 0.346259 0.287693\nl 220 0.125987 0.377492 0.202429\nl 220 0.139590 0.388708 0.132466\nl 220 0.166835 0.379133 0.082578\nl 220 0.205860 0.349430 0.056158\nl 220 0.254010 0.301615 0.055013\nl 220 0.308000 0.238953 0.079214\nl 220 0.364153 0.165709 0.127119\nl 220 0.418640 0.086880 0.195456\nl 220 0.467751 0.007832 0.279576\nl 213 0.403549 0.073460 0.225134\nl 213 0.331629 0.144281 0.201597\nl 213 0.269295 0.198921 0.170975\nl 213 0.220796 0.233661 0.135357\nl 213 0.189436 0.246132 0.097170\nl 213 0.177351 0.235486 0.059015\nl 213 0.185364 0.202448 0.023492\nl 139 0.293169 0.043860 0.580864\nl 139 0.258346 0.110139 0.563776\nl 188 0.313714 0.013928 0.083584\nl 188 0.300765 0.051375 0.066381\nl 188 0.297541 0.084742 0.045193\nl 188 0.304260 0.111753 0.021468\nl 220 0.315739 0.133945 0.544568\nl 220 0.304804 0.168685 0.477562\nl 220 0.304125 0.190769 0.417272\nl 220 0.313746 0.198697 0.367803\nl 220 0.333009 0.191930 0.332525\nl 220 0.360603 0.170927 0.313842\nl 220 0.394651 0.137116 0.313032\nl 220 0.432827 0.092808 0.330146\nl 220 0.472532 0.041017 0.364020\nl 213 0.487741 0.016381 0.100454\nl 213 0.433955 0.078548 0.096813\nl 213 0.379788 0.136652 0.086314\nl 213 0.328932 0.186730 0.069669\nl 213 0.284856 0.225366 0.048018\nl 213 0.250563 0.249930 0.022832\nl 139 0.229099 0.254458 0.512812\nl 139 0.225184 0.219147 0.528551\nl 139 0.235158 0.169924 0.545933\nl 139 0.342062 0.034614 0.523682\nl 139 0.324037 0.068922 0.514837\nl 188 0.364192 0.000408 0.104079\nl 188 0.357489 0.019791 0.095175\nl 188 0.355820 0.037064 0.084207\nl 188 0.359299 0.051045 0.071925\nl 188 0.367687 0.060783 0.059168\nl 188 0.380415 0.065615 0.046802\nl 188 0.396614 0.065212 0.035670\nl 188 0.415180 0.059598 0.026533\nl 188 0.434848 0.049162 0.020011\nl 188 0.454279 0.034608 0.016551\nl 188 0.472147 0.016932 0.016387\nl 139 0.482736 0.004661 0.494510\nl 139 0.459920 0.039986 0.486660\nl 139 0.433861 0.073929 0.480337\nl 139 0.406344 0.104166 0.475976\nl 139 0.379236 0.128647 0.473871\nl 139 0.354389 0.145698 0.474167\nl 139 0.333498 0.154157 0.476843\nl 139 0.317980 0.153452 0.481717\nl 139 0.308896 0.143629 0.488456\nl 139 0.306870 0.125349 0.496603\nl 139 0.312033 0.099871 0.505600\nl 109 0.202110 0.184740 0.527995\nl 139 0.406718 0.021245 0.494229\nl 118 0.359156 0.322887 0.049718\nl 118 0.397882 0.272073 0.045808\nl 118 0.340037 0.285715 0.090450\nl 118 0.319991 0.312018 0.092474\nl 118 0.430006 0.221169 0.045898\nl 118 0.356668 0.259364 0.090496\nl 118 0.453342 0.173640 0.049979\nl 118 0.368746 0.234763 0.092609\nl 118 0.466298 0.132723 0.057777\nl 118 0.375453 0.213582 0.096645\nl 118 0.467993 0.101210 0.068757\nl 118 0.376330 0.197271 0.102328\nl 118 0.458309 0.081249 0.082172\nl 118 0.371317 0.186938 0.109273\nl 118 0.437907 0.074197 0.097108\nl 118 0.360756 0.183288 0.117004\nl 118 0.408177 0.080538 0.112548\nl 118 0.345367 0.186569 0.124997\nl 118 0.371146 0.099839 0.127438\nl 118 0.326198 0.196561 0.132704\nl 118 0.329337 0.130781 0.140764\nl 118 0.304558 0.212576 0.139602\nl 118 0.285600 0.171259 0.151618\nl 118 0.281917 0.233531 0.145221\nl 118 0.242913 0.218516 0.159261\nl 118 0.259820 0.257993 0.149177\nl 118 0.204190 0.269327 0.163171\nl 118 0.239777 0.284292 0.151201\nl 118 0.172066 0.320231 0.163081\nl 118 0.223147 0.310644 0.151155\nl 118 0.148729 0.367764 0.158999\nl 118 0.211066 0.335249 0.149042\nl 118 0.135774 0.408677 0.151202\nl 118 0.204361 0.356426 0.145006\nl 118 0.134079 0.440190 0.140222\nl 118 0.203485 0.372737 0.139322\nl 118 0.143764 0.460152 0.126806\nl 118 0.208498 0.383071 0.132377\nl 118 0.164165 0.467203 0.111871\nl 118 0.219059 0.386721 0.124645\nl 118 0.193895 0.460861 0.096431\nl 118 0.234447 0.383439 0.116654\nl 118 0.230924 0.441565 0.081541\nl 118 0.253614 0.373451 0.108946\nl 118 0.272735 0.410618 0.068215\nl 118 0.275257 0.357432 0.102048\nl 118 0.316472 0.370141 0.057361\nl 118 0.297898 0.336477 0.096430\nl 118 0.400936 0.321748 0.001042\nl 335 0.412496 0.306198 0.243184\nl 335 0.459145 0.232620 0.271188\nl 118 0.534135 0.110678 0.001412\nl 118 0.552457 0.052816 0.012438\nl 118 0.554854 0.008250 0.027967\nl 319 0.525828 0.048531 0.013526\nl 319 0.489325 0.070449 0.020278\nl 319 0.454161 0.091569 0.014207\nl 118 0.417892 0.006307 0.110955\nl 118 0.358764 0.050070 0.129801\nl 118 0.296910 0.107315 0.145152\nl 118 0.236544 0.174145 0.155959\nl 118 0.181778 0.246004 0.161489\nl 118 0.136347 0.317995 0.161363\nl 118 0.103346 0.385211 0.155590\nl 118 0.085025 0.443073 0.144563\nl 118 0.082628 0.487640 0.129034\nl 118 0.096322 0.515872 0.110062\nl 118 0.125176 0.525842 0.088939\nl 118 0.167221 0.516874 0.067104\nl 118 0.219589 0.489581 0.046047\nl 118 0.278714 0.445822 0.027202\nl 118 0.340569 0.388577 0.011851\nl 332 0.238461 0.460763 0.172477\nl 332 0.288894 0.374675 0.185851\nl 332 0.316484 0.335085 0.211398\nl 332 0.319352 0.344693 0.247381\nl 332 0.297303 0.402837 0.291343\nl 335 0.464811 0.141315 0.247243\nl 319 0.529935 0.014731 0.074368\nl 319 0.485227 0.041575 0.082636\nl 319 0.442160 0.067442 0.075200\nl 319 0.403668 0.090569 0.052570\nl 319 0.372376 0.109380 0.016286\nl 118 0.315077 0.046054 0.126264\nl 118 0.241142 0.127904 0.139501\nl 118 0.174070 0.215911 0.146273\nl 118 0.118430 0.304082 0.146118\nl 118 0.078011 0.386406 0.139048\nl 118 0.055568 0.457275 0.125543\nl 118 0.052635 0.511855 0.106525\nl 118 0.069408 0.546431 0.083289\nl 118 0.104745 0.558643 0.057419\nl 118 0.156237 0.547662 0.030677\nl 118 0.220378 0.514232 0.004887\nl 335 0.117572 0.689012 0.038807\nl 332 0.168626 0.587475 0.172189\nl 332 0.299677 0.200328 0.138718\nl 332 0.355929 0.104308 0.153634\nl 332 0.386703 0.060151 0.182129\nl 332 0.389903 0.070863 0.222261\nl 332 0.365312 0.135713 0.271295\nl 332 0.314602 0.250288 0.325889\nl 335 0.307344 0.293702 0.076745\nl 319 0.482823 0.006540 0.132594\nl 319 0.434787 0.035390 0.124304\nl 319 0.391855 0.061185 0.099063\nl 319 0.356952 0.082167 0.058593\nl 319 0.332457 0.096904 0.005651\nl 118 0.256398 0.082944 0.111004\nl 118 0.181590 0.181103 0.118556\nl 118 0.119528 0.279445 0.118385\nl 118 0.074447 0.371266 0.110499\nl 118 0.049417 0.450308 0.095437\nl 118 0.046145 0.511186 0.074224\nl 118 0.064855 0.549748 0.048307\nl 118 0.104266 0.563371 0.019453\nl 335 0.061806 0.681319 0.168733\nl 332 0.023420 0.719311 0.180630\nl 332 0.127560 0.518673 0.152691\nl 332 0.221789 0.341653 0.138396\nl 333 0.332622 0.531240 0.117835\nl 333 0.360819 0.427442 0.130274\nl 333 0.378865 0.352228 0.158393\nl 333 0.385529 0.310729 0.200274\nl 333 0.380358 0.305767 0.253067\nl 332 0.356779 0.022913 0.312478\nl 332 0.280826 0.184909 0.370901\nl 332 0.186589 0.379261 0.427248\nl 335 0.409438 0.030117 0.381889\nl 319 0.388100 0.024305 0.132033\nl 319 0.351964 0.046027 0.090137\nl 319 0.326604 0.061285 0.035328\nl 118 0.281271 0.042328 0.072412\nl 118 0.203824 0.143949 0.080232\nl 118 0.139572 0.245761 0.080054\nl 118 0.092900 0.340823 0.071889\nl 118 0.066988 0.422652 0.056296\nl 118 0.063602 0.485675 0.034335\nl 118 0.082971 0.525599 0.007504\nl 132 0.663734 0.042028 0.187496\nl 132 0.631738 0.151150 0.064322\nl 332 0.055325 0.508481 0.162094\nl 332 0.163139 0.300766 0.133171\nl 332 0.260689 0.117506 0.118372\nl 333 0.296804 0.461687 0.107426\nl 333 0.324041 0.361425 0.119441\nl 333 0.341472 0.288776 0.146603\nl 333 0.347908 0.248690 0.187058\nl 333 0.342913 0.243898 0.238051\nl 333 0.326825 0.274730 0.296106\nl 333 0.300744 0.339075 0.357266\nl 332 0.211103 0.183143 0.411832\nl 332 0.108620 0.389325 0.460545\nl 335 0.223590 0.220350 0.257643\nl 319 0.357751 0.003425 0.108770\nl 319 0.333256 0.018163 0.055829\nl 118 0.314064 0.008826 0.026357\nl 118 0.239256 0.106985 0.033909\nl 118 0.177194 0.205327 0.033738\nl 118 0.132113 0.297148 0.025852\nl 118 0.107083 0.376190 0.010790\nl 335 0.003441 0.567885 0.340111\nl 132 0.542768 0.104318 0.250939\nl 132 0.510724 0.213690 0.145267\nl 132 0.479818 0.319095 0.026288\nl 332 0.084313 0.307960 0.155713\nl 332 0.188452 0.107322 0.127775\nl 333 0.261620 0.582721 0.111374\nl 333 0.255196 0.418383 0.114254\nl 333 0.279616 0.328491 0.125027\nl 333 0.295244 0.263356 0.149378\nl 333 0.301014 0.227418 0.185651\nl 333 0.296535 0.223123 0.231369\nl 333 0.282113 0.250759 0.283420\nl 333 0.258729 0.308451 0.338254\nl 332 0.222089 0.019484 0.391549\nl 332 0.130203 0.204345 0.435223\nl 332 0.034310 0.393148 0.470796\nl 132 0.472025 0.017271 0.068563\nl 335 0.067639 0.370564 0.245168\nl 335 0.121176 0.286274 0.388398\nl 335 0.119316 0.289287 0.444786\nl 335 0.062180 0.379406 0.410482\nl 132 0.471242 0.021247 0.341627\nl 132 0.450808 0.091191 0.316033\nl 132 0.425842 0.176543 0.263254\nl 132 0.398046 0.271487 0.186887\nl 132 0.369315 0.369549 0.092142\nl 332 0.012515 0.320202 0.197493\nl 332 0.108410 0.131394 0.161920\nl 333 0.187127 0.646654 0.135405\nl 333 0.223651 0.526900 0.117794\nl 333 0.210636 0.404284 0.137852\nl 333 0.230574 0.330889 0.146650\nl 333 0.243333 0.277708 0.166534\nl 333 0.248046 0.248360 0.196148\nl 333 0.244390 0.244852 0.233477\nl 333 0.232614 0.267419 0.275976\nl 333 0.213520 0.314527 0.320749\nl 333 0.188411 0.382959 0.364744\nl 332 0.143769 0.050392 0.403441\nl 332 0.065471 0.204553 0.432488\nl 132 0.333019 0.211333 0.012497\nl 132 0.344630 0.171900 0.092579\nl 132 0.350569 0.151852 0.158775\nl 132 0.350432 0.152546 0.206582\nl 132 0.344228 0.173943 0.232733\nl 132 0.332380 0.214580 0.235453\nl 132 0.315694 0.271691 0.214551\nl 132 0.295310 0.341381 0.171458\nl 132 0.272614 0.418901 0.109107\nl 132 0.249155 0.498970 0.031746\nl 332 0.047679 0.144985 0.209335\nl 333 0.123204 0.690957 0.180013\nl 333 0.155056 0.590671 0.155124\nl 333 0.184878 0.492891 0.140744\nl 333 0.166157 0.420347 0.176616\nl 333 0.180256 0.368447 0.182835\nl 333 0.189278 0.330843 0.196895\nl 333 0.192611 0.310092 0.217835\nl 333 0.190024 0.307612 0.244233\nl 333 0.181698 0.323568 0.274283\nl 333 0.168197 0.356877 0.305942\nl 333 0.150442 0.405268 0.337052\nl 333 0.129643 0.465442 0.365491\nl 332 0.093027 0.046960 0.387904\nl 332 0.039120 0.150818 0.402366\nl 132 0.225936 0.361869 0.011209\nl 132 0.230135 0.347691 0.058020\nl 132 0.230038 0.348183 0.091822\nl 132 0.225651 0.363313 0.110313\nl 132 0.217273 0.392049 0.112237\nl 132 0.205475 0.432431 0.097458\nl 132 0.191061 0.481708 0.066988\nl 132 0.175012 0.536525 0.022896\nl 332 0.027395 0.111571 0.255327\nl 332 0.080444 0.004844 0.230113\nl 333 0.104333 0.623055 0.206426\nl 333 0.126857 0.552139 0.188828\nl 333 0.147944 0.483000 0.178659\nl 333 0.124794 0.465482 0.227900\nl 333 0.132092 0.438617 0.231120\nl 333 0.136763 0.419149 0.238397\nl 333 0.138488 0.408408 0.249236\nl 333 0.137149 0.407124 0.262900\nl 333 0.132839 0.415383 0.278455\nl 333 0.125850 0.432626 0.294843\nl 333 0.116660 0.457675 0.310947\nl 333 0.105893 0.488824 0.325669\nl 333 0.094285 0.523949 0.338004\nl 333 0.082626 0.560656 0.347115\nl 332 0.061944 0.032318 0.351402\nl 332 0.041073 0.070189 0.351316\nl 332 0.026003 0.095913 0.347319\nl 332 0.017756 0.107747 0.339684\nl 332 0.016898 0.104877 0.328930\nl 332 0.023487 0.087501 0.315793\nl 332 0.037076 0.056799 0.301164\nl 332 0.056735 0.014869 0.286042\nl 333 0.070419 0.636679 0.270387\nl 333 0.081184 0.605534 0.255667\nl 333 0.092792 0.570410 0.243330\nl 333 0.104451 0.533702 0.234221\nl 333 0.115367 0.497912 0.228958\nl 118 0.286111 0.289885 0.126397\nl 333 0.089365 0.536607 0.288209\nl 443 0.010414 0.266681 0.337726\nl 443 0.030863 0.247998 0.685396\nl 443 0.229431 0.207408 0.527892\nl 443 0.205396 0.219621 0.232474\nl 429 0.020597 0.161194 0.115003\nl 429 0.002854 0.208329 0.449143\nl 429 0.181272 0.170516 0.462699\nl 429 0.297349 0.113641 0.104848\nl 461 0.273875 0.093019 0.095465\nl 132 0.020500 0.669416 0.213711\nl 242 0.460651 0.025614 0.137732\nl 242 0.251657 0.347198 0.390103\nl 305 0.309576 0.130604 0.182398\nl 305 0.228166 0.409685 0.055700\nl 305 0.442341 0.183370 0.079296\nl 459 0.410413 0.263213 0.012833\nl 435 0.038063 0.141469 0.141565\nl 429 0.062607 0.764111 0.038377\nl 459 0.011030 0.205606 0.714068\nl 435 0.137861 0.144342 0.137893\nl 459 0.258741 0.344365 0.215706\nl 435 0.674668 0.030197 0.242152\nl 466 0.445241 0.138629 0.313243\nl 459 0.251204 0.298452 0.165806\nl 459 0.336325 0.253468 0.338891\nl 435 0.768521 0.035312 0.127845\nl 435 0.695738 0.204905 0.070117\nl 435 0.494905 0.064437 0.092806\nl 427 0.091963 0.325695 0.222443\nl 427 0.260109 0.319003 0.195365\nl 427 0.219775 0.290534 0.271053\nl 427 0.123218 0.443408 0.252933\nl 466 0.244335 0.459537 0.082563\nl 118 0.160083 0.503138 0.292550\nl 118 0.182438 0.381583 0.324732\nl 466 0.013303 0.586471 0.142380\nl 118 0.788045 0.023471 0.119242\nl 319 0.817722 0.039498 0.021227\nl 446 0.747516 0.100749 0.002782\nl 342 0.061522 0.187021 0.157072\nl 434 0.291252 0.540390 0.027207\nl 118 0.728742 0.024974 0.210926\nl 466 0.135664 0.493178 0.290664\nl 118 0.214074 0.484683 0.095700\nl 118 0.228909 0.495520 0.110871\nl 118 0.008964 0.681747 0.173545\nl 132 0.257530 0.462764 0.065513\nl 333 0.144140 0.302617 0.246420\nl 332 0.000141 0.580320 0.393203\nl 132 0.576604 0.051008 0.287836\nl 329 0.327742 0.160103 0.294637\nl 329 0.404604 0.292599 0.014373\nl 446 0.535418 0.242583 0.178076\nl 329 0.546608 0.081464 0.182616\nl 333 0.653414 0.032701 0.180158\nl 446 0.618983 0.255080 0.087317\nl 446 0.688619 0.189645 0.034470\nl 332 0.672141 0.078919 0.182448\nl 42 0.074283 0.087747 0.626660\nl 42 0.154294 0.130292 0.467070\nl 290 0.087547 0.344769 0.352411\nl 290 0.121301 0.160703 0.490434\nl 428 0.087934 0.203098 0.276671\nl 428 0.234223 0.188069 0.273387\nl 428 0.279059 0.445165 0.245942\nl 428 0.128174 0.464102 0.241340\nl 44 0.231463 0.009979 0.307848\nl 464 0.059708 0.520343 0.207004\nl 44 0.422545 0.191207 0.314615\nl 44 0.153523 0.378346 0.286987\nl 284 0.095784 0.488117 0.359688\nl 247 0.824333 0.002952 0.140889\nl 6 0.673415 0.157518 0.127149\nl 469 0.030501 0.479517 0.146151\nl 47 0.063528 0.572757 0.344978\nl 291 0.442077 0.101439 0.275240\nl 47 0.421803 0.143680 0.335464\nl 310 0.091221 0.265631 0.331637\nl 290 0.331790 0.159112 0.283022\nl 290 0.329123 0.301973 0.073433\nl 402 0.320833 0.038849 0.524302\nl 469 0.180803 0.131703 0.483974\nl 247 0.641743 0.167875 0.026137\nl 247 0.390924 0.341024 0.076738\nl 90 0.290482 0.386784 0.237073\nl 185 0.333578 0.176181 0.261912\nl 467 0.541963 0.068225 0.076064\nl 197 0.001736 0.554538 0.320479\nl 467 0.550140 0.065890 0.071578\nl 89 0.591207 0.100527 0.168277\nl 197 0.004352 0.508633 0.320791\nl 266 0.366321 0.055885 0.317552\nl 266 0.254888 0.106119 0.201014\nl 348 0.400058 0.173341 0.143270\nl 197 0.099083 0.232726 0.271335\nl 197 0.199096 0.219738 0.279570\nl 6 0.004643 0.759863 0.181867\nl 338 0.381695 0.038752 0.030291\nl 6 0.038990 0.530215 0.066744\nl 239 0.287319 0.039082 0.606901\nl 355 0.227468 0.076198 0.029240\nl 338 0.049260 0.150852 0.258366\nl 338 0.010948 0.452436 0.060984\nl 449 0.259313 0.257362 0.041136\nl 266 0.138147 0.266882 0.228312\nl 266 0.185670 0.282898 0.421054\nl 7 0.021529 0.761790 0.053202\nl 281 0.001307 0.752345 0.135634\nl 281 0.145295 0.539251 0.270453\nl 7 0.142768 0.562505 0.002305\nl 154 0.083913 0.385483 0.382142\nl 154 0.043072 0.137261 0.589684\nl 154 0.146064 0.095592 0.642439\nl 154 0.192054 0.333325 0.438291\nl 360 0.434615 0.215110 0.037191\nl 360 0.217107 0.266222 0.061442\nl 42 0.083731 0.613526 0.045760\nl 428 0.380511 0.173041 0.270104\nl 106 0.204628 0.410445 0.179555\nl 106 0.308829 0.044564 0.126925\nl 424 0.024986 0.199286 0.013354\nl 205 0.166951 0.808466 0.013826\nl 319 0.030504 0.146342 0.021510\nl 435 0.043309 0.046114 0.769984\nl 319 0.035469 0.081296 0.550002\nl 319 0.061990 0.107026 0.813261\nl 36 0.127473 0.088861 0.003501\nl 319 0.110034 0.035171 0.538260\nl 57 0.289574 0.011952 0.404998\nl 12 0.401031 0.401045 0.169920\nl 428 0.056818 0.007604 0.175238\nl 333 0.224473 0.067356 0.493294\nl 329 0.231291 0.151237 0.354111\nl 329 0.164245 0.061141 0.674929\nl 332 0.023079 0.057964 0.461594\nl 462 0.444018 0.319059 0.034448\nl 34 0.326110 0.104490 0.254555\nl 432 0.106974 0.530939 0.307826\nl 362 0.735433 0.013734 0.011670\nl 319 0.029730 0.771493 0.123375\nl 435 0.028923 0.581356 0.191020\nl 435 0.139540 0.580399 0.143531\nl 319 0.109931 0.715846 0.112484\nl 435 0.497682 0.205579 0.098313\nl 466 0.598572 0.053207 0.055414\nl 427 0.134078 0.448046 0.326189\nl 466 0.390601 0.055126 0.111322\nl 118 0.642540 0.026941 0.319053\nl 342 0.016301 0.472427 0.182596\nl 434 0.542035 0.254960 0.037902\nl 378 0.017583 0.581232 0.030059\nl 368 0.049740 0.711363 0.112148\nl 365 0.281781 0.338022 0.225528\nl 368 0.386974 0.405836 0.052870\nl 467 0.058219 0.098590 0.618802\nl 415 0.416521 0.206837 0.187091\nl 238 0.219427 0.254281 0.369303\nl 238 0.551405 0.016956 0.267783\nl 415 0.591671 0.051506 0.175103\nl 25 0.293559 0.230590 0.220039\nl 25 0.005191 0.455923 0.352128\nl 163 0.140222 0.291949 0.365769\nl 163 0.346417 0.220518 0.146532\nl 27 0.811134 0.060806 0.035774\nl 225 0.017188 0.251266 0.587608\nl 89 0.343513 0.429802 0.070125\nl 467 0.103187 0.527442 0.146308\nl 45 0.216963 0.364605 0.189274\nl 46 0.148253 0.435967 0.258624\nl 163 0.022443 0.679031 0.009168\nl 473 0.213364 0.591825 0.116110\nl 45 0.029511 0.338358 0.414474\nl 445 0.258303 0.367174 0.138334\nl 445 0.124343 0.334229 0.275803\nl 445 0.410864 0.315884 0.014673\nl 21 0.098057 0.203954 0.445762\nl 21 0.113495 0.377087 0.264212\nl 21 0.286473 0.337953 0.100844\nl 21 0.185373 0.159878 0.362624\nl 329 0.175451 0.407569 0.165690\nl 446 0.117112 0.581518 0.205175\nl 446 0.210590 0.579935 0.039162\nl 34 0.197275 0.285756 0.129885\nl 34 0.140048 0.451698 0.067406\nl 432 0.122675 0.179518 0.338621\nl 432 0.087805 0.297725 0.392301\nl 473 0.050820 0.718216 0.070568\nl 35 0.084435 0.586675 0.232377\nl 35 0.301159 0.498439 0.183108\nl 429 0.418590 0.148458 0.265492\nl 429 0.396040 0.183459 0.137334\nl 466 0.140676 0.050801 0.745458\nl 459 0.066279 0.260265 0.127644\nl 459 0.064300 0.441390 0.470996\nl 459 0.310090 0.068891 0.539589\nl 429 0.371627 0.406030 0.066326\nl 429 0.324484 0.339600 0.249332\nl 266 0.086186 0.098904 0.138708\nl 348 0.014920 0.291038 0.419725\nl 348 0.152746 0.240938 0.339618\nl 266 0.188372 0.090399 0.194094\nl 350 0.524337 0.066156 0.301478\nl 348 0.170132 0.507435 0.047965\nl 403 0.031045 0.256406 0.059769\nl 202 0.170118 0.174924 0.652595\nl 355 0.091066 0.190176 0.072619\nl 239 0.165568 0.001257 0.652595\nl 449 0.051642 0.115438 0.337165\nl 449 0.099662 0.332299 0.205824\nl 266 0.015822 0.223769 0.240219\nl 449 0.145803 0.180148 0.206965\nl 281 0.359423 0.235389 0.062872\nl 281 0.656479 0.029223 0.204007\nl 241 0.280538 0.413501 0.078165\nl 281 0.344790 0.337942 0.269128\nl 154 0.282712 0.091841 0.610940\nl 319 0.198776 0.003480 0.506614\nl 319 0.162700 0.055647 0.169450\nl 21 0.314653 0.116161 0.270697\nl 21 0.538468 0.049964 0.120956\nl 446 0.102724 0.410388 0.291461\nl 446 0.041743 0.246726 0.445481\nl 431 0.004234 0.395686 0.244395\nl 431 0.287229 0.348074 0.072378\nl 431 0.486789 0.161782 0.095934\nl 431 0.072690 0.318496 0.319551\nl 435 0.341108 0.154006 0.114424\nl 435 0.366420 0.374449 0.091002\nl 415 0.755867 0.016411 0.044418\nl 368 0.511665 0.271885 0.166909\nl 23 0.184113 0.605540 0.061977\nl 50 0.429381 0.019405 0.148077\nl 50 0.268404 0.343484 0.142116\nl 377 0.107319 0.692010 0.001659\nl 21 0.435762 0.281955 0.004081\nl 11 0.208480 0.441233 0.277474\nl 432 0.418727 0.132668 0.304712\nl 431 0.146286 0.584533 0.013656\nl 42 0.295379 0.160731 0.295603\nl 211 0.081448 0.505596 0.235821\nl 469 0.010056 0.138252 0.607244\nl 290 0.015338 0.471690 0.236884\nl 42 0.297097 0.453216 0.058427\nl 42 0.075460 0.346028 0.319030\nl 291 0.244946 0.224567 0.228441\nl 47 0.170214 0.113513 0.302868\nl 290 0.194042 0.486786 0.047775\nl 48 0.678703 0.251585 0.011308\nl 281 0.155136 0.486310 0.169111\nl 106 0.135886 0.589254 0.178033\nl 241 0.492320 0.208780 0.082429\nl 223 0.583968 0.078897 0.184661\nl 362 0.807484 0.128163 0.044736\nl 129 0.054959 0.193921 0.216514\nl 241 0.704098 0.004063 0.086692\nl 7 0.351077 0.363694 0.010596\nl 241 0.143069 0.200359 0.361244\nl 252 0.058348 0.674728 0.103688\nl 37 0.188401 0.583968 0.219833\nl 21 0.735918 0.030139 0.034841\nl 12 0.266489 0.525816 0.035739\nl 37 0.144752 0.586389 0.015692\nl 34 0.252244 0.232684 0.181060\nl 432 0.103956 0.399325 0.336880\nl 473 0.533840 0.256711 0.122691\nl 37 0.703165 0.009777 0.086146\nl 473 0.418496 0.386280 0.054722\nl 37 0.315886 0.416096 0.028517\nl 37 0.583169 0.146403 0.055809\nl 37 0.463176 0.283029 0.025472\nl 21 0.128933 0.550221 0.082662\nl 11 0.236942 0.086829 0.329555\nl 23 0.657974 0.121982 0.018662\nl 50 0.539468 0.126314 0.212558\nl 431 0.194570 0.162116 0.403763\nl 11 0.348934 0.121275 0.309681\nl 12 0.550505 0.165166 0.015030\nl 29 0.618998 0.081931 0.297191\nl 35 0.603933 0.026950 0.153691\nl 342 0.535097 0.180971 0.118252\nl 29 0.392264 0.351290 0.217384\nl 29 0.357562 0.017491 0.257426\nl 29 0.113999 0.268284 0.202467\nl 29 0.472855 0.038976 0.261294\nl 29 0.445429 0.155326 0.272865\nl 29 0.316037 0.322045 0.197795\nl 29 0.239807 0.292800 0.178207\nl 21 0.080723 0.030948 0.609955\nl 446 0.004834 0.165563 0.531900\nl 35 0.371496 0.252469 0.189887\nl 35 0.107438 0.362404 0.245021\nl 35 0.144375 0.140476 0.190910\nl 35 0.286404 0.106392 0.142877\nl 329 0.264470 0.161043 0.039037\nl 432 0.016238 0.038707 0.286316\nl 432 0.178374 0.010787 0.275906\nl 36 0.216768 0.029054 0.024325\nl 434 0.364460 0.053807 0.357774\nl 319 0.275439 0.634930 0.057769\nl 319 0.495339 0.487920 0.014574\nl 434 0.570398 0.161036 0.117696\nl 132 0.039730 0.764644 0.062907\nl 461 0.481168 0.259349 0.030290\nl 266 0.455968 0.123214 0.346260\nl 410 0.131606 0.098429 0.335756\nl 266 0.256875 0.322443 0.412317\nl 329 0.267611 0.121722 0.425505\nl 427 0.123751 0.454205 0.285490\nl 427 0.308976 0.300532 0.279118\nl 129 0.623978 0.177803 0.187652\nl 90 0.073419 0.453393 0.245388\nl 427 0.388912 0.144197 0.224129\nl 427 0.452163 0.242021 0.209608\nl 319 0.627112 0.110828 0.166836\nl 118 0.569946 0.166629 0.122801\nl 319 0.626742 0.135074 0.063868\nl 118 0.478684 0.230010 0.043564\nl 118 0.396823 0.318291 0.110640\nl 332 0.469898 0.091705 0.257144\nl 319 0.004557 0.114042 0.209829\nl 319 0.047478 0.102722 0.205117\nl 333 0.050789 0.310830 0.124598\nl 132 0.037028 0.472352 0.171067\nl 435 0.033569 0.354080 0.166432\nl 435 0.105282 0.342287 0.153191\nl 427 0.173455 0.183141 0.487631\nl 427 0.282963 0.139079 0.417094\nl 118 0.135704 0.011497 0.096218\nl 466 0.131855 0.213891 0.016671\nl 333 0.089687 0.285635 0.116232\nl 427 0.441691 0.196171 0.274723\nl 429 0.436546 0.219588 0.000910\nl 443 0.415478 0.372174 0.132981\nl 443 0.201409 0.361956 0.094758\nl 443 0.041588 0.621024 0.102116\nl 443 0.034531 0.485601 0.265870\nl 429 0.246466 0.496622 0.012921\nl 443 0.220655 0.581493 0.089664\nl 459 0.262827 0.493517 0.095212\nl 305 0.578405 0.070761 0.132843\nl 459 0.703045 0.075370 0.060586\nl 459 0.223218 0.501923 0.265512\nl 459 0.449111 0.076832 0.277326\nl 435 0.652459 0.098902 0.220263\nl 118 0.427020 0.294440 0.137736\nl 118 0.480389 0.260882 0.158970\nl 427 0.182212 0.026401 0.272061\nl 427 0.129858 0.061233 0.200090\nl 466 0.065561 0.596961 0.020296\nl 118 0.140900 0.570762 0.271215\nl 459 0.162279 0.290622 0.409136\nl 466 0.245766 0.523174 0.092438\nl 466 0.396840 0.396642 0.035508\nl 118 0.701511 0.072160 0.073442\nl 118 0.751601 0.021404 0.057216\nl 118 0.583676 0.185456 0.100370\nl 118 0.386045 0.355337 0.178199\nl 443 0.048635 0.564677 0.321747\nl 429 0.228454 0.571923 0.087772\nl 459 0.476520 0.002182 0.316159\nl 435 0.633984 0.150990 0.201105\nl 118 0.373850 0.238818 0.245957\nl 466 0.184335 0.466850 0.043718\nl 118 0.198488 0.471063 0.307072\nl 459 0.155043 0.237951 0.466411\nl 118 0.414732 0.272543 0.236243\nl 443 0.023589 0.405873 0.259283\nl 118 0.454043 0.201934 0.226441\nl 118 0.351786 0.266446 0.257454\nl 333 0.329354 0.077224 0.304307\nl 335 0.414923 0.210506 0.211615\nl 118 0.132486 0.418192 0.137940\nl 118 0.294256 0.207988 0.135787\nl 118 0.505685 0.124333 0.037350\nl 247 0.337984 0.408492 0.197585\nl 467 0.420111 0.084409 0.271685\nl 467 0.343347 0.212124 0.139642\nl 467 0.214521 0.107360 0.457373\nl 467 0.288584 0.367654 0.046859\nl 467 0.281814 0.364071 0.053889\nl 247 0.745836 0.050209 0.121527\nl 333 0.082130 0.345051 0.159074\nl 132 0.098311 0.679254 0.070921\nl 132 0.514260 0.176548 0.287297\nl 329 0.299537 0.022126 0.439305\nl 332 0.390937 0.203697 0.283156\nl 466 0.065515 0.508538 0.300238\nl 118 0.218518 0.405257 0.106970\nl 118 0.478956 0.178060 0.044325\nl 332 0.049635 0.026891 0.152815\nl 333 0.117772 0.291547 0.115156\nl 333 0.146996 0.339336 0.170411\nl 132 0.223498 0.534512 0.004309\nl 132 0.500278 0.234460 0.185007\nl 132 0.537529 0.139242 0.194103\nl 333 0.324664 0.011829 0.187706\nl 333 0.312160 0.112014 0.260560\nl 332 0.429597 0.069408 0.229848\nl 319 0.579848 0.000433 0.081304\nl 118 0.043769 0.554630 0.129479\nl 118 0.119562 0.431926 0.141480\nl 118 0.264550 0.363167 0.079051\nl 118 0.294513 0.297950 0.092546\nl 335 0.386009 0.341509 0.117750\nl 335 0.351850 0.389081 0.086397\nl 118 0.520815 0.163449 0.005897\nl 118 0.325536 0.297532 0.069213\nl 332 0.360228 0.026863 0.317383\nl 118 0.126190 0.435007 0.105528\nl 335 0.552408 0.076017 0.362153\nl 35 0.481019 0.135965 0.187478\nl 443 0.187738 0.403980 0.260285\nl 429 0.236794 0.562351 0.123519\nl 459 0.236922 0.077043 0.461545\nl 443 0.045800 0.459539 0.488995\nl 429 0.050282 0.607677 0.081309\nl 435 0.487718 0.015678 0.223229\nl 466 0.514216 0.047208 0.215610\nl 466 0.110872 0.475580 0.065198\nl 118 0.228800 0.319205 0.343351\nl 118 0.483760 0.100817 0.249939\nl 118 0.590749 0.043876 0.179762\nl 429 0.172344 0.365962 0.156422\nl 435 0.014570 0.502602 0.384097\nl 435 0.013167 0.508587 0.400922\nl 466 0.062275 0.059014 0.355902\nl 435 0.133021 0.498387 0.356499\nl 118 0.167924 0.075916 0.439183\nl 319 0.212971 0.439480 0.077863\nl 118 0.008322 0.182784 0.577144\nl 118 0.062716 0.129865 0.494356\nl 118 0.250691 0.152535 0.380624\nl 319 0.380916 0.399972 0.082524\nl 319 0.311240 0.374959 0.060682\nl 118 0.252645 0.082944 0.393646\nl 435 0.187066 0.515893 0.287412\nl 118 0.004121 0.131666 0.540981\nl 319 0.428751 0.323663 0.036304\nl 319 0.425501 0.372146 0.022309\nl 429 0.032367 0.410460 0.173889\nl 435 0.099513 0.112684 0.451716\nl 435 0.012418 0.118156 0.468942\nl 435 0.019886 0.253704 0.354297\nl 435 0.108036 0.243831 0.333540\nl 466 0.305488 0.001736 0.315184\nl 118 0.142541 0.147854 0.449916\nl 466 0.096554 0.270168 0.309713\nl 435 0.325783 0.204108 0.420000\nl 118 0.198508 0.213249 0.409484\nl 118 0.261878 0.221476 0.368244\nl 118 0.222046 0.275461 0.340043\nl 118 0.128768 0.314641 0.309493\nl 435 0.191125 0.254793 0.321347\nl 435 0.185860 0.152542 0.436296\nl 118 0.478530 0.128470 0.239448\nl 118 0.477523 0.127277 0.242573\nl 118 0.498506 0.073107 0.285245\nl 284 0.217026 0.127806 0.415431\nl 410 0.420943 0.107445 0.221139\nl 460 0.602139 0.088853 0.048688\nl 237 0.166263 0.646371 0.081327\nl 207 0.045985 0.146441 0.218619\nl 189 0.254523 0.051712 0.601360\nl 217 0.018917 0.511718 0.284657\nl 217 0.385998 0.207060 0.297258\nl 240 0.201633 0.738988 0.057827\nl 251 0.184100 0.313549 0.008511\nl 199 0.428173 0.094261 0.188809\nl 199 0.472232 0.279333 0.027834\nl 227 0.038255 0.001340 0.276029\nl 230 0.285955 0.534840 0.012139\nl 227 0.094810 0.222865 0.063147\nl 222 0.241388 0.532281 0.205005\nl 222 0.434181 0.377297 0.096653\nl 161 0.192391 0.305824 0.471957\nl 183 0.041093 0.518590 0.294901\nl 183 0.222143 0.233924 0.297293\nl 183 0.340916 0.304021 0.155587\nl 183 0.138751 0.669181 0.161200\nl 254 0.126035 0.606789 0.040619\nl 288 0.487607 0.115988 0.203985\nl 226 0.605026 0.091941 0.279737\nl 254 0.442067 0.427325 0.023642\nl 288 0.181570 0.217289 0.507715\nl 113 0.025054 0.283667 0.406305\nl 260 0.267512 0.047533 0.125538\nl 113 0.053956 0.016471 0.414798\nl 271 0.258541 0.018795 0.501382\nl 136 0.378901 0.310187 0.008360\nl 271 0.320083 0.261091 0.172860\nl 271 0.289434 0.036418 0.362743\nl 114 0.195596 0.389861 0.385682\nl 114 0.106354 0.472978 0.256270\nl 114 0.085035 0.391576 0.218071\nl 114 0.160457 0.316866 0.314690\nl 474 0.679230 0.146327 0.172784\nl 1 0.033739 0.587363 0.349645\nl 198 0.316608 0.302393 0.087697\nl 189 0.680300 0.037737 0.168650\nl 251 0.233777 0.495445 0.035047\nl 135 0.434963 0.424533 0.081122\nl 230 0.477902 0.309211 0.094510\nl 133 0.297231 0.224669 0.025192\nl 161 0.148849 0.334571 0.251649\nl 187 0.603945 0.220577 0.099772\nl 179 0.243475 0.509198 0.153399\nl 117 0.017501 0.438737 0.273926\nl 215 0.406198 0.291499 0.072693\nl 288 0.191966 0.552086 0.224245\nl 386 0.574789 0.012728 0.405409\nl 271 0.188173 0.244127 0.102774\nl 271 0.106357 0.009769 0.301505\nl 10 0.015360 0.343267 0.385661\nl 114 0.065896 0.295431 0.350046\nl 237 0.708493 0.054476 0.075881\nl 198 0.082615 0.563273 0.215721\nl 198 0.367997 0.280714 0.287669\nl 170 0.084345 0.628835 0.275033\nl 251 0.337588 0.452228 0.132447\nl 199 0.322633 0.610049 0.041573\nl 230 0.601905 0.063482 0.162565\nl 133 0.251761 0.473050 0.109589\nl 133 0.450802 0.383514 0.050168\nl 229 0.626221 0.182671 0.011057\nl 179 0.284707 0.224610 0.406524\nl 226 0.248856 0.310017 0.375732\nl 215 0.245362 0.191199 0.078434\nl 288 0.027119 0.669783 0.195723\nl 260 0.673060 0.029184 0.184561\nl 324 0.178589 0.514150 0.165883\nl 324 0.003968 0.630262 0.140312\nl 10 0.167083 0.241854 0.301542\nl 10 0.114752 0.277062 0.221044\nl 237 0.144424 0.046350 0.225090\nl 198 0.029625 0.167598 0.632784\nl 189 0.396690 0.030534 0.002746\nl 170 0.029492 0.478636 0.191217\nl 251 0.471247 0.103209 0.286941\nl 230 0.039067 0.135990 0.610747\nl 228 0.079121 0.412284 0.259599\nl 228 0.236136 0.507696 0.022215\nl 228 0.377809 0.373459 0.035379\nl 229 0.427704 0.170433 0.199904\nl 179 0.285234 0.098803 0.419039\nl 226 0.162821 0.161310 0.456668\nl 215 0.013114 0.205950 0.178213\nl 260 0.677359 0.147081 0.086894\nl 394 0.646213 0.078517 0.118791\nl 324 0.371199 0.368087 0.080236\nl 324 0.035002 0.406356 0.373060\nl 10 0.374964 0.251954 0.085356\nl 10 0.291900 0.293548 0.027048\nl 168 0.563045 0.144321 0.087626\nl 390 0.010278 0.118149 0.568526\nl 390 0.494221 0.143072 0.287730\nl 217 0.105801 0.035644 0.091987\nl 240 0.322208 0.136374 0.396866\nl 230 0.021864 0.042719 0.509540\nl 228 0.102846 0.242899 0.257194\nl 228 0.229173 0.365312 0.060241\nl 133 0.351756 0.198237 0.314271\nl 229 0.374401 0.000940 0.163139\nl 229 0.378751 0.160848 0.016711\nl 226 0.117123 0.006049 0.474090\nl 226 0.141382 0.305685 0.180035\nl 394 0.467598 0.253895 0.090188\nl 394 0.413125 0.173064 0.220851\nl 324 0.324806 0.215186 0.171071\nl 324 0.027498 0.208073 0.522598\nl 137 0.437637 0.061077 0.265243\nl 137 0.255305 0.193385 0.208516\nl 168 0.210275 0.403369 0.128760\nl 460 0.078109 0.237908 0.525094\nl 354 0.336162 0.127323 0.301007\nl 210 0.042049 0.655294 0.016356\nl 240 0.109833 0.186314 0.424297\nl 199 0.056029 0.388972 0.516385\nl 228 0.023178 0.303810 0.154834\nl 133 0.189080 0.241323 0.492428\nl 227 0.101626 0.206485 0.488956\nl 254 0.353660 0.017721 0.192632\nl 187 0.339127 0.025426 0.494711\nl 260 0.249080 0.485801 0.119245\nl 288 0.122306 0.238496 0.081956\nl 394 0.269865 0.323932 0.073125\nl 394 0.245834 0.233560 0.210375\nl 324 0.286395 0.115802 0.141391\nl 389 0.146845 0.323099 0.092817\nl 137 0.477247 0.179889 0.272406\nl 137 0.155629 0.370698 0.177150\nl 168 0.158064 0.342087 0.289891\nl 460 0.117120 0.065839 0.564702\nl 354 0.249915 0.128249 0.042271\nl 236 0.097389 0.433674 0.077665\nl 195 0.210044 0.119150 0.259549\nl 199 0.082087 0.165644 0.606048\nl 133 0.008549 0.174918 0.632953\nl 227 0.124296 0.112130 0.526980\nl 222 0.289277 0.173711 0.480565\nl 288 0.349838 0.002674 0.005257\nl 187 0.209059 0.075613 0.326309\nl 260 0.179065 0.411043 0.282734\nl 260 0.108806 0.530091 0.063927\nl 260 0.241536 0.316716 0.390518\nl 394 0.150096 0.185805 0.208311\nl 324 0.249662 0.152458 0.063180\nl 386 0.082345 0.408060 0.004681\nl 99 0.020365 0.368773 0.167767\nl 263 0.412706 0.260156 0.290907\nl 168 0.104692 0.190408 0.593175\nl 463 0.137670 0.331437 0.078192\nl 372 0.069921 0.148378 0.534236\nl 149 0.006085 0.294618 0.605143\nl 210 0.291727 0.289710 0.368720\nl 199 0.192978 0.034931 0.532275\nl 222 0.047830 0.382351 0.487983\nl 222 0.226401 0.248692 0.383864\nl 222 0.325775 0.181701 0.236820\nl 254 0.179703 0.214451 0.421006\nl 187 0.230801 0.127150 0.041206\nl 288 0.137419 0.060709 0.398148\nl 155 0.331649 0.453162 0.186983\nl 260 0.164157 0.264430 0.181399\nl 260 0.193967 0.137042 0.606089\nl 271 0.103157 0.225402 0.533522\nl 386 0.072023 0.425651 0.164278\nl 137 0.246866 0.021081 0.643742\nl 263 0.110777 0.530053 0.237004\nl 410 0.149430 0.140357 0.608559\nl 463 0.331123 0.029312 0.247463\nl 372 0.010158 0.288103 0.308215\nl 207 0.277196 0.186172 0.488829\nl 195 0.576093 0.028767 0.203785\nl 190 0.314941 0.291151 0.375776\nl 222 0.038086 0.505757 0.292988\nl 222 0.221766 0.349725 0.211791\nl 222 0.402544 0.233717 0.126962\nl 183 0.045663 0.230344 0.443463\nl 183 0.025370 0.376527 0.443720\nl 288 0.332773 0.003128 0.364464\nl 155 0.527105 0.305344 0.098835\nl 288 0.020091 0.137671 0.642115\nl 260 0.199984 0.076412 0.376395\nl 136 0.324865 0.222023 0.041117\nl 386 0.284105 0.613952 0.092331\nl 10 0.023371 0.647388 0.101306\nl 264 0.100327 0.531818 0.089774\nl 261 0.537331 0.011635 0.158748\nl 261 0.558302 0.082871 0.044901\nl 227 0.679182 0.046454 0.099012\nl 227 0.379728 0.227625 0.038928\nl 227 0.497101 0.321616 0.061428\nl 161 0.246645 0.390023 0.214379\nl 227 0.300514 0.535726 0.082464\nl 161 0.011969 0.653188 0.213054\nl 227 0.156116 0.578486 0.174045\nl 133 0.628734 0.014854 0.131363\nl 179 0.051501 0.221033 0.276585\nl 227 0.049671 0.465480 0.330552\nl 179 0.007731 0.357164 0.051381\nl 227 0.241855 0.120235 0.549076\nl 187 0.018878 0.386973 0.455298\nl 222 0.361820 0.090312 0.527159\nl 187 0.043742 0.373358 0.141778\nl 222 0.405506 0.099861 0.231554\nl 261 0.473671 0.079509 0.031438\nl 222 0.462505 0.106509 0.009295\nl 386 0.221979 0.098827 0.592492\nl 386 0.301221 0.235523 0.388483\nl 386 0.422950 0.228227 0.325471\nl 144 0.085781 0.341774 0.133385\nl 386 0.506690 0.154370 0.217065\nl 386 0.517534 0.088186 0.362219\nl 386 0.542442 0.057679 0.109256\nl 392 0.664844 0.048524 0.262317\nl 386 0.508823 0.010049 0.020776\nl 394 0.597043 0.036712 0.243411\nl 394 0.357008 0.036771 0.564764\nl 394 0.396251 0.092444 0.435367\nl 394 0.216607 0.033041 0.563046\nl 394 0.211678 0.124901 0.466194\nl 386 0.024704 0.002634 0.298384\nl 394 0.114084 0.083556 0.373181\nl 385 0.107753 0.380729 0.454129\nl 394 0.165150 0.036067 0.103445\nl 386 0.093961 0.162969 0.469403\nl 392 0.141957 0.408197 0.306014\nl 264 0.289358 0.260517 0.245056\nl 114 0.350200 0.184255 0.453199\nl 114 0.275155 0.161694 0.502413\nl 114 0.205791 0.135874 0.615005\nl 264 0.119694 0.145754 0.108436\nl 264 0.030286 0.189585 0.295105\nl 263 0.001671 0.238351 0.311863\nl 264 0.225487 0.068644 0.650643\nl 264 0.304470 0.100848 0.587831\nl 264 0.295399 0.206518 0.433402\nl 144 0.047008 0.327273 0.398741\nl 144 0.064943 0.405456 0.327490\nl 386 0.602166 0.301480 0.087251\nl 389 0.617486 0.197506 0.153049\nl 389 0.471557 0.081278 0.382264\nl 389 0.366938 0.060308 0.496638\nl 386 0.253839 0.136049 0.013077\nl 386 0.054894 0.194081 0.159077\nl 386 0.012631 0.254516 0.304896\nl 386 0.128936 0.346960 0.326836\nl 264 0.219366 0.330636 0.094766\nl 114 0.235914 0.242137 0.411282\nl 114 0.147629 0.231271 0.436268\nl 10 0.062393 0.312285 0.140576\nl 137 0.180695 0.059601 0.292828\nl 137 0.072984 0.325738 0.151738\nl 263 0.375975 0.159789 0.347129\nl 263 0.228510 0.234669 0.176553\nl 264 0.051329 0.435448 0.397313\nl 264 0.156264 0.416395 0.278694\nl 35 0.508870 0.348442 0.066192\nl 35 0.650733 0.222621 0.027195\nl 331 0.078176 0.700030 0.156838\nl 245 0.186872 0.542035 0.112945\nl 342 0.396357 0.207726 0.068264\nl 245 0.300454 0.406633 0.101581\nl 342 0.243607 0.294936 0.043154\nl 331 0.339013 0.341001 0.311267\nl 342 0.224348 0.448773 0.013987\nl 331 0.227882 0.282228 0.366475\nl 245 0.004930 0.344742 0.067996\nl 331 0.074321 0.313234 0.312053\nl 35 0.355795 0.089954 0.073481\nl 35 0.395695 0.376563 0.029026\nl 35 0.382956 0.160332 0.155277\nl 330 0.018989 0.097809 0.423954\nl 330 0.048284 0.125125 0.510240\nl 330 0.172905 0.105466 0.546539\nl 330 0.373321 0.036221 0.513294\nl 330 0.494790 0.014555 0.389648\nl 331 0.505085 0.267969 0.037652\nl 331 0.398963 0.212607 0.092845\nl 331 0.253269 0.242027 0.041211\nl 330 0.101194 0.035751 0.328375\nl 330 0.011899 0.385111 0.155339\nl 330 0.035475 0.407098 0.224788\nl 330 0.152798 0.385974 0.252585\nl 330 0.314108 0.330237 0.225828\nl 330 0.436166 0.268803 0.158682\nl 330 0.468465 0.226950 0.078593\nl 330 0.393959 0.226766 0.027828\nl 330 0.243765 0.268097 0.027028\nl 330 0.095081 0.329858 0.076991\nl 327 0.540976 0.009195 0.014472\nl 330 0.012402 0.570580 0.082232\nl 330 0.133688 0.520007 0.137972\nl 330 0.300394 0.428814 0.142078\nl 330 0.426486 0.344184 0.092838\nl 330 0.459800 0.301018 0.010244\nl 308 0.105481 0.380614 0.319121\nl 308 0.160727 0.224255 0.410574\nl 308 0.119199 0.071463 0.462285\nl 308 0.272655 0.006217 0.330499\nl 308 0.091101 0.027942 0.270613\nl 330 0.142307 0.634227 0.045273\nl 330 0.301657 0.497691 0.092725\nl 330 0.425582 0.381250 0.064716\nl 308 0.046915 0.461873 0.214844\nl 308 0.230223 0.389078 0.280194\nl 308 0.364765 0.239822 0.337368\nl 308 0.380491 0.090818 0.356694\nl 308 0.438118 0.046324 0.238827\nl 308 0.233997 0.064211 0.184853\nl 308 0.022982 0.173443 0.138883\nl 330 0.325689 0.529803 0.060426\nl 330 0.445916 0.395495 0.046458\nl 308 0.085188 0.483162 0.189472\nl 308 0.303043 0.415904 0.241859\nl 328 0.037441 0.427629 0.251728\nl 308 0.536798 0.130007 0.274921\nl 308 0.605389 0.159954 0.084481\nl 308 0.390451 0.138999 0.068315\nl 308 0.129555 0.228078 0.050752\nl 330 0.359459 0.561321 0.027696\nl 330 0.495495 0.405899 0.038690\nl 308 0.129415 0.537320 0.143090\nl 328 0.056578 0.334060 0.413638\nl 328 0.136124 0.358105 0.275329\nl 328 0.074889 0.566628 0.209195\nl 102 0.050541 0.686608 0.054997\nl 102 0.240544 0.142777 0.524012\nl 102 0.141391 0.019295 0.618694\nl 330 0.402759 0.576566 0.003566\nl 330 0.579970 0.371159 0.042273\nl 308 0.145855 0.609838 0.081830\nl 328 0.166698 0.286778 0.410575\nl 328 0.119874 0.412064 0.341994\nl 328 0.221017 0.506541 0.176730\nl 96 0.545724 0.058095 0.384348\nl 75 0.346385 0.098750 0.094738\nl 153 0.328982 0.269982 0.053272\nl 153 0.137210 0.291502 0.236935\nl 153 0.026562 0.091411 0.578370\nl 308 0.253257 0.679225 0.008005\nl 328 0.253883 0.230068 0.463862\nl 328 0.261290 0.346774 0.382505\nl 102 0.429568 0.293814 0.079713\nl 75 0.531959 0.220505 0.043516\nl 75 0.343920 0.252403 0.143798\nl 75 0.358285 0.128794 0.387822\nl 75 0.316427 0.015507 0.664815\nl 138 0.198154 0.038316 0.274598\nl 138 0.235553 0.056242 0.432527\nl 138 0.470640 0.049353 0.299682\nl 138 0.594666 0.031657 0.087467\nl 75 0.693937 0.064664 0.196137\nl 75 0.512851 0.365931 0.108435\nl 75 0.343341 0.390989 0.205034\nl 169 0.283380 0.277825 0.061475\nl 169 0.121370 0.167543 0.178270\nl 169 0.041755 0.009146 0.349935\nl 138 0.076701 0.374321 0.124341\nl 138 0.285718 0.367996 0.005836\nl 169 0.378562 0.119657 0.239040\nl 169 0.511256 0.223236 0.128767\nl 169 0.240031 0.521303 0.222376\nl 169 0.154175 0.543917 0.194771\nl 169 0.023109 0.462585 0.280536\nl 39 0.308756 0.271458 0.333256\nl 39 0.137521 0.353320 0.370906\nl 39 0.090023 0.459307 0.338415\nl 39 0.172856 0.600219 0.191725\nl 169 0.000147 0.398335 0.535397\nl 32 0.019866 0.217738 0.379276\nl 32 0.056904 0.121014 0.493519\nl 169 0.022030 0.621776 0.327532\nl 39 0.506301 0.301215 0.121529\nl 39 0.352702 0.266094 0.211739\nl 39 0.197212 0.319966 0.246716\nl 39 0.155051 0.423696 0.199500\nl 39 0.248460 0.522544 0.095015\nl 105 0.039260 0.378893 0.068719\nl 32 0.061740 0.096132 0.400080\nl 32 0.139838 0.093359 0.403683\nl 105 0.047673 0.599329 0.002202\nl 39 0.562781 0.245538 0.041685\nl 39 0.393290 0.195205 0.148575\nl 39 0.210385 0.283212 0.173995\nl 39 0.173574 0.440838 0.089785\nl 105 0.015413 0.214513 0.199082\nl 105 0.110851 0.241008 0.083947\nl 32 0.148017 0.061639 0.295758\nl 105 0.129603 0.551741 0.126022\nl 105 0.065651 0.553369 0.261041\nl 105 0.018722 0.471694 0.385287\nl 105 0.061250 0.195038 0.368059\nl 105 0.104451 0.215368 0.281423\nl 105 0.156964 0.280320 0.150407\nl 105 0.202970 0.322412 0.028449\nl 105 0.155513 0.471492 0.223306\nl 105 0.111359 0.474401 0.312733\nl 105 0.078767 0.436997 0.389162\nl 105 0.116314 0.308849 0.345233\nl 105 0.184040 0.220098 0.296640\nl 105 0.209598 0.236092 0.242069\nl 105 0.179743 0.348818 0.209715\nl 105 0.271347 0.334807 0.303574\nl 105 0.250691 0.369749 0.335319\nl 105 0.188510 0.395225 0.210268\nl 63 0.207219 0.015505 0.388646\nl 105 0.209844 0.346769 0.421165\nl 105 0.208702 0.300752 0.434907\nl 105 0.132975 0.316915 0.419496\nl 105 0.223865 0.255441 0.416541\nl 105 0.247305 0.234735 0.375770\nl 105 0.269386 0.246998 0.329408\nl 105 0.278655 0.286124 0.301436\nl 63 0.351274 0.016558 0.356723\nl 63 0.291951 0.074093 0.377005\nl 63 0.229310 0.123115 0.422194\nl 63 0.225676 0.103360 0.470708\nl 63 0.248989 0.062546 0.499707\nl 63 0.303419 0.002282 0.496276\nl 105 0.330654 0.181405 0.450747\nl 105 0.356212 0.197400 0.396175\nl 105 0.368329 0.240079 0.361330\nl 63 0.369544 0.203989 0.381864\nl 63 0.306529 0.262526 0.409175\nl 71 0.166043 0.364056 0.042307\nl 71 0.179860 0.289438 0.085514\nl 71 0.182889 0.247869 0.114052\nl 71 0.243732 0.188843 0.100470\nl 71 0.330276 0.143515 0.051955\nl 71 0.372649 0.163442 0.001853\nl 63 0.406973 0.151323 0.402840\nl 71 0.290475 0.327244 0.191372\nl 71 0.188039 0.402029 0.232642\nl 122 0.504848 0.039015 0.269112\nl 71 0.018916 0.433085 0.370047\nl 71 0.030726 0.376352 0.401334\nl 71 0.113033 0.296507 0.382973\nl 71 0.222406 0.235666 0.324643\nl 71 0.313875 0.218680 0.250478\nl 71 0.339929 0.254684 0.198767\nl 24 0.268582 0.395535 0.016656\nl 24 0.064868 0.528399 0.053762\nl 122 0.382948 0.295124 0.121135\nl 122 0.320712 0.256971 0.230598\nl 122 0.283936 0.164520 0.414993\nl 71 0.017020 0.374406 0.602731\nl 71 0.153777 0.292326 0.534870\nl 71 0.288043 0.243224 0.389633\nl 71 0.307155 0.318622 0.369753\nl 24 0.338253 0.231002 0.220189\nl 24 0.120741 0.372937 0.259630\nl 122 0.317356 0.432473 0.114351\nl 122 0.240981 0.404331 0.217561\nl 122 0.175394 0.328743 0.396105\nl 24 0.053831 0.215927 0.194473\nl 24 0.210728 0.142684 0.178565\nl 24 0.208160 0.184378 0.185002\nl 24 0.207559 0.220993 0.209107\nl 24 0.201833 0.314182 0.021342\nl 24 0.177570 0.250852 0.113591\nl 24 0.291709 0.181231 0.204664\nl 24 0.241880 0.277857 0.093294\nl 24 0.379715 0.151556 0.196114\nl 24 0.360049 0.045781 0.453529\nl 24 0.260869 0.110998 0.470144\nl 24 0.108069 0.179685 0.484639\nl 24 0.079476 0.147034 0.469145\nl 24 0.073879 0.102622 0.452527\nl 24 0.153276 0.034753 0.433049\nl 41 0.253019 0.036449 0.327280\nl 24 0.232237 0.122411 0.287569\nl 24 0.294502 0.071754 0.341167\nl 24 0.288657 0.127331 0.292099\nl 41 0.391774 0.025005 0.174935\nl 41 0.304709 0.044652 0.150972\nl 24 0.272853 0.013829 0.555942\nl 24 0.210748 0.037543 0.559627\nl 24 0.173423 0.035062 0.555215\nl 24 0.179896 0.007823 0.545087\nl 41 0.191496 0.058027 0.277224\nl 41 0.219337 0.115829 0.258633\nl 41 0.260430 0.136144 0.217906\nl 41 0.292628 0.143535 0.239172\nl 41 0.293603 0.108115 0.176009\nl 105 0.366527 0.455014 0.050316\nl 105 0.348177 0.489662 0.083259\nl 105 0.257733 0.530132 0.032401\nl 53 0.022029 0.258981 0.234514\nl 105 0.326512 0.504089 0.136209\nl 105 0.226736 0.557597 0.100890\nl 105 0.320809 0.462103 0.174366\nl 105 0.222517 0.493776 0.142206\nl 105 0.324454 0.413991 0.189678\nl 105 0.223477 0.442734 0.163903\nl 105 0.339829 0.368036 0.171054\nl 105 0.238822 0.396845 0.145313\nl 105 0.358811 0.348483 0.128327\nl 105 0.260461 0.380328 0.096237\nl 105 0.373626 0.363214 0.079128\nl 105 0.279504 0.399803 0.036953\nl 105 0.376541 0.404847 0.048897\nl 53 0.010604 0.277135 0.272921\nl 63 0.497337 0.025784 0.090696\nl 63 0.437125 0.085706 0.116030\nl 63 0.332230 0.193010 0.158775\nl 63 0.369081 0.132511 0.219312\nl 63 0.387379 0.099833 0.257815\nl 63 0.440417 0.041110 0.254476\nl 105 0.492007 0.289822 0.207855\nl 63 0.493434 0.020254 0.150394\nl 105 0.528183 0.365867 0.085367\nl 63 0.534109 0.148057 0.065578\nl 63 0.450626 0.231200 0.100555\nl 63 0.296680 0.391250 0.151090\nl 63 0.353016 0.297044 0.249909\nl 63 0.378607 0.251646 0.302994\nl 63 0.452238 0.170107 0.298360\nl 63 0.535058 0.095518 0.238424\nl 63 0.593076 0.058363 0.148070\nl 63 0.596054 0.078174 0.073853\nl 63 0.582775 0.233835 0.003877\nl 63 0.392680 0.430645 0.070987\nl 63 0.206931 0.606435 0.179905\nl 71 0.226510 0.512770 0.075571\nl 71 0.284287 0.376923 0.154476\nl 71 0.434926 0.260041 0.085081\nl 63 0.579408 0.168459 0.249714\nl 63 0.640913 0.090393 0.149921\nl 63 0.637470 0.151648 0.073088\nl 63 0.593864 0.329238 0.013429\nl 71 0.380383 0.537179 0.022369\nl 71 0.126871 0.706682 0.163637\nl 24 0.137075 0.604352 0.006223\nl 24 0.197939 0.459050 0.007326\nl 71 0.356031 0.338378 0.274276\nl 71 0.519362 0.236400 0.175244\nl 71 0.518752 0.278509 0.122909\nl 71 0.508966 0.335991 0.078379\nl 63 0.592631 0.194816 0.158180\nl 71 0.536289 0.258106 0.059659\nl 71 0.604290 0.283506 0.015146\nl 63 0.594596 0.239839 0.117222\nl 63 0.667034 0.233541 0.067701\nl 18 0.544927 0.073131 0.048159\nl 24 0.494942 0.349203 0.150568\nl 24 0.367264 0.396890 0.189843\nl 24 0.348958 0.340580 0.203596\nl 24 0.350139 0.281226 0.205434\nl 24 0.429536 0.213354 0.185959\nl 24 0.545262 0.172772 0.155466\nl 24 0.483355 0.326345 0.010214\nl 24 0.544899 0.288988 0.046995\nl 71 0.539504 0.338211 0.111115\nl 24 0.641481 0.223938 0.114646\nl 14 0.163085 0.321412 0.250618\nl 14 0.045808 0.350190 0.354379\nl 24 0.479262 0.254157 0.264884\nl 24 0.448151 0.237406 0.278119\nl 24 0.458517 0.201190 0.279087\nl 24 0.506356 0.160298 0.267365\nl 24 0.566392 0.136333 0.249108\nl 24 0.613961 0.139018 0.231831\nl 24 0.646068 0.136208 0.177197\nl 105 0.181346 0.208609 0.567640\nl 105 0.159657 0.240658 0.594970\nl 105 0.096069 0.313678 0.484983\nl 105 0.120798 0.277212 0.453809\nl 63 0.109468 0.026582 0.630823\nl 105 0.052760 0.349869 0.540515\nl 105 0.105393 0.225503 0.666415\nl 105 0.034142 0.296274 0.566645\nl 105 0.098278 0.186378 0.676969\nl 105 0.025995 0.251674 0.578772\nl 105 0.111745 0.146073 0.660642\nl 105 0.041341 0.205782 0.560180\nl 105 0.138716 0.125870 0.626041\nl 105 0.072086 0.182824 0.520679\nl 105 0.168019 0.133916 0.587461\nl 105 0.105529 0.192072 0.476575\nl 105 0.184535 0.166282 0.564836\nl 105 0.124394 0.228993 0.450672\nl 71 0.197738 0.138975 0.008166\nl 71 0.128716 0.188327 0.029143\nl 122 0.266836 0.005195 0.064862\nl 71 0.028600 0.190125 0.081560\nl 71 0.058664 0.142040 0.074277\nl 71 0.117070 0.085376 0.061244\nl 71 0.173000 0.050035 0.049333\nl 71 0.184096 0.090453 0.037720\nl 71 0.236500 0.083756 0.005096\nl 71 0.054351 0.259341 0.300691\nl 122 0.264612 0.052206 0.250330\nl 121 0.133756 0.211879 0.581804\nl 122 0.062663 0.218126 0.065816\nl 122 0.058162 0.166730 0.134331\nl 122 0.107669 0.061391 0.273117\nl 71 0.033046 0.133139 0.345847\nl 71 0.103227 0.131912 0.311790\nl 71 0.111099 0.181385 0.294340\nl 122 0.314280 0.037688 0.456468\nl 122 0.139493 0.315012 0.100584\nl 121 0.081923 0.264833 0.399782\nl 120 0.277763 0.044718 0.489002\nl 120 0.133388 0.240842 0.432139\nl 120 0.133303 0.332524 0.443027\nl 122 0.091832 0.075272 0.456135\nl 71 0.056053 0.156893 0.469912\nl 71 0.038148 0.250573 0.507134\nl 122 0.225933 0.180823 0.460030\nl 122 0.039412 0.476710 0.080166\nl 120 0.382219 0.004708 0.318947\nl 120 0.207724 0.186557 0.231525\nl 120 0.036945 0.407042 0.154342\nl 120 0.089811 0.469453 0.221827\nl 120 0.194006 0.481863 0.311368\nl 122 0.019361 0.238131 0.420116\nl 122 0.040333 0.285263 0.358069\nl 122 0.161438 0.074760 0.472083\nl 122 0.052411 0.194690 0.407691\nl 122 0.121250 0.191201 0.478658\nl 122 0.164448 0.122536 0.464004\nl 122 0.225079 0.081766 0.600557\nl 122 0.036836 0.405409 0.395825\nl 120 0.440612 0.296451 0.189352\nl 120 0.301642 0.313983 0.067152\nl 49 0.173561 0.418856 0.399849\nl 49 0.107222 0.466397 0.365775\nl 49 0.095192 0.563324 0.307396\nl 120 0.162721 0.604518 0.042546\nl 120 0.273032 0.430553 0.253121\nl 120 0.326049 0.436448 0.235189\nl 122 0.049029 0.290062 0.430253\nl 122 0.057624 0.315227 0.518100\nl 120 0.350741 0.470317 0.042245\nl 120 0.326045 0.444514 0.013978\nl 49 0.276479 0.414500 0.261258\nl 49 0.220376 0.401814 0.263702\nl 49 0.180416 0.430450 0.243177\nl 49 0.173152 0.488847 0.208024\nl 49 0.202456 0.546162 0.176757\nl 49 0.256064 0.578943 0.162215\nl 120 0.276299 0.585082 0.067720\nl 177 0.023385 0.398700 0.565121\nl 177 0.280561 0.298599 0.292955\nl 177 0.251973 0.155100 0.303655\nl 177 0.001467 0.215644 0.571706\nl 177 0.202598 0.097940 0.252351\nl 10 0.030612 0.503562 0.379541\nl 10 0.175742 0.239665 0.362219\nl 177 0.117894 0.365638 0.057394\nl 177 0.153798 0.437973 0.056614\nl 10 0.416663 0.225903 0.189244\nl 177 0.199980 0.517337 0.095147\nl 10 0.558315 0.265443 0.075531\nl 177 0.225615 0.608250 0.127670\nl 99 0.031720 0.537641 0.122540\nl 177 0.371527 0.262787 0.129730\nl 177 0.349683 0.166254 0.140986\nl 177 0.318709 0.119682 0.122328\nl 177 0.289167 0.281448 0.027858\nl 98 0.161648 0.204699 0.550572\nl 98 0.189996 0.196343 0.587611\nl 177 0.340973 0.387521 0.038121\nl 55 0.136982 0.205712 0.279944\nl 55 0.075387 0.268526 0.289791\nl 177 0.388586 0.343684 0.043410\nl 98 0.329013 0.310532 0.348187\nl 55 0.022114 0.234441 0.358486\nl 55 0.054424 0.155481 0.384644\nl 98 0.285157 0.119518 0.273460\nl 55 0.114295 0.075538 0.387936\nl 55 0.170091 0.036831 0.366629\nl 55 0.198997 0.054980 0.329586\nl 55 0.185839 0.121015 0.295871\nl 3 0.020549 0.401056 0.377985\nl 55 0.391000 0.019707 0.412427\nl 55 0.328200 0.046389 0.448294\nl 3 0.012793 0.299184 0.480785\nl 3 0.053962 0.223683 0.467190\nl 3 0.093732 0.181294 0.427667\nl 3 0.111111 0.194422 0.383083\nl 3 0.099118 0.257355 0.351708\nl 3 0.063711 0.337886 0.349928\nl 3 0.195761 0.422126 0.356068\nl 70 0.168451 0.427125 0.000156\nl 70 0.185162 0.260786 0.118774\nl 3 0.206232 0.257347 0.480727\nl 3 0.252643 0.163793 0.473401\nl 3 0.292401 0.121440 0.433899\nl 3 0.304554 0.152609 0.383021\nl 3 0.267029 0.265490 0.361944\nl 3 0.241767 0.349138 0.331419\nl 70 0.489824 0.013802 0.328465\nl 69 0.435546 0.048626 0.192684\nl 69 0.310237 0.152754 0.265001\nl 69 0.414025 0.024458 0.379852\nl 70 0.401080 0.106023 0.021095\nl 3 0.444519 0.075524 0.429504\nl 3 0.464215 0.106421 0.364625\nl 3 0.441941 0.212384 0.314956\nl 70 0.443270 0.198296 0.110676\nl 51 0.001557 0.522184 0.314169\nl 69 0.374138 0.296897 0.047843\nl 69 0.250136 0.388703 0.168048\nl 69 0.344785 0.265844 0.294226\nl 72 0.471400 0.016150 0.413514\nl 69 0.567852 0.025155 0.393514\nl 3 0.599872 0.058811 0.339859\nl 70 0.557050 0.148631 0.023175\nl 69 0.607477 0.063861 0.075897\nl 51 0.130010 0.521023 0.152511\nl 51 0.046547 0.378277 0.167788\nl 69 0.257612 0.543342 0.085826\nl 69 0.354109 0.415287 0.225727\nl 72 0.427535 0.224619 0.249645\nl 72 0.541312 0.186256 0.244316\nl 72 0.653758 0.061606 0.226759\nl 69 0.625081 0.153514 0.201027\nl 69 0.571202 0.230154 0.123541\nl 69 0.606213 0.055524 0.201266\nl 69 0.608559 0.112138 0.225140\nl 69 0.609561 0.208096 0.070058\nl 69 0.591084 0.134904 0.120633\nl 69 0.640237 0.192675 0.001337\nl 26 0.142549 0.047202 0.514084\nl 26 0.110373 0.025744 0.462355\nl 72 0.425862 0.011682 0.013773\nl 72 0.429513 0.155034 0.029646\nl 72 0.449314 0.281939 0.042010\nl 72 0.521896 0.299172 0.040945\nl 72 0.608977 0.197641 0.027009\nl 72 0.613043 0.009822 0.139762\nl 69 0.626679 0.287628 0.074953\nl 69 0.604306 0.275623 0.056654\nl 26 0.082459 0.026804 0.610181\nl 26 0.028251 0.203136 0.443921\nl 26 0.008879 0.190240 0.412744\nl 8 0.166493 0.389279 0.383549\nl 8 0.141308 0.387289 0.321039\nl 8 0.126486 0.412898 0.247484\nl 8 0.128125 0.455695 0.193162\nl 8 0.145333 0.493134 0.186730\nl 8 0.171065 0.509863 0.230549\nl 8 0.084681 0.607341 0.227198\nl 8 0.191950 0.497082 0.302344\nl 55 0.190447 0.425836 0.048093\nl 55 0.136278 0.483810 0.060497\nl 99 0.477084 0.399469 0.012891\nl 99 0.491191 0.393645 0.114285\nl 55 0.096284 0.501454 0.096646\nl 177 0.479091 0.311625 0.136922\nl 55 0.127195 0.418278 0.143259\nl 177 0.466173 0.325036 0.081594\nl 55 0.175239 0.327665 0.174244\nl 177 0.455965 0.347784 0.038459\nl 55 0.235929 0.246605 0.177582\nl 177 0.447234 0.408674 0.003407\nl 55 0.277240 0.217882 0.151521\nl 98 0.435252 0.010314 0.482659\nl 55 0.282332 0.252987 0.106890\nl 177 0.449038 0.520972 0.016425\nl 55 0.248302 0.334209 0.066663\nl 94 0.017933 0.453403 0.450574\nl 55 0.664172 0.097204 0.190073\nl 55 0.608622 0.147005 0.209591\nl 55 0.516195 0.233066 0.243667\nl 55 0.590890 0.062234 0.313616\nl 3 0.018759 0.583901 0.337240\nl 3 0.057509 0.542620 0.298733\nl 3 0.065224 0.567982 0.251373\nl 3 0.008911 0.686426 0.249850\nl 55 0.723960 0.016349 0.198862\nl 43 0.004948 0.245438 0.367211\nl 43 0.010382 0.267854 0.223357\nl 51 0.036824 0.274395 0.674958\nl 70 0.283938 0.171739 0.406468\nl 70 0.251145 0.314508 0.200630\nl 70 0.214762 0.490749 0.017055\nl 3 0.217255 0.547158 0.220866\nl 70 0.197198 0.617171 0.033027\nl 70 0.222958 0.514041 0.217764\nl 43 0.254918 0.143946 0.496585\nl 43 0.290525 0.173665 0.187264\nl 51 0.202366 0.179801 0.501570\nl 51 0.023264 0.311768 0.500545\nl 69 0.451350 0.051059 0.099924\nl 70 0.476845 0.109824 0.315332\nl 70 0.442115 0.279743 0.201189\nl 70 0.360077 0.427740 0.171844\nl 43 0.124911 0.281359 0.452780\nl 16 0.054925 0.373413 0.143013\nl 43 0.451121 0.177804 0.149278\nl 51 0.370641 0.155153 0.340205\nl 51 0.172282 0.293008 0.339088\nl 69 0.468585 0.196485 0.015072\nl 51 0.012378 0.567375 0.337849\nl 43 0.075603 0.563665 0.110397\nl 43 0.148557 0.475063 0.154851\nl 43 0.245755 0.374024 0.200122\nl 43 0.066589 0.399804 0.273649\nl 43 0.096110 0.469013 0.153889\nl 43 0.273031 0.318585 0.347269\nl 43 0.177861 0.327214 0.332462\nl 16 0.057265 0.254792 0.262992\nl 16 0.164502 0.425157 0.223053\nl 43 0.560326 0.247029 0.189351\nl 51 0.519049 0.298645 0.153604\nl 51 0.374491 0.374609 0.152823\nl 51 0.244914 0.457878 0.156339\nl 51 0.230003 0.538328 0.156114\nl 43 0.306036 0.521713 0.097729\nl 43 0.253320 0.448324 0.150086\nl 43 0.336670 0.388034 0.240991\nl 43 0.333538 0.337848 0.287296\nl 16 0.205470 0.323572 0.285767\nl 16 0.080849 0.485626 0.335363\nl 16 0.057383 0.543404 0.302888\nl 43 0.556825 0.358098 0.034142\nl 51 0.484528 0.401591 0.077696\nl 51 0.426343 0.448025 0.077341\nl 51 0.417353 0.496473 0.077205\nl 43 0.431885 0.471492 0.094224\nl 16 0.121034 0.388444 0.397421\nl 16 0.155854 0.308899 0.400872\nl 3 0.019288 0.058071 0.506340\nl 55 0.042687 0.023837 0.532852\nl 98 0.281951 0.090532 0.188078\nl 98 0.219234 0.168062 0.306740\nl 98 0.065314 0.510123 0.358576\nl 177 0.335232 0.035783 0.008287\nl 98 0.025030 0.507818 0.356527\nl 98 0.277078 0.007316 0.062943\nl 175 0.016510 0.479160 0.144164\nl 98 0.213469 0.039496 0.113343\nl 175 0.051165 0.422803 0.154285\nl 98 0.139928 0.111320 0.223754\nl 175 0.072239 0.414805 0.094717\nl 98 0.095281 0.184871 0.335876\nl 67 0.005309 0.066277 0.474634\nl 98 0.097699 0.229971 0.403690\nl 3 0.052733 0.004355 0.481434\nl 98 0.146246 0.223082 0.391819\nl 67 0.210240 0.003685 0.273852\nl 3 0.182147 0.005864 0.558999\nl 3 0.128396 0.001800 0.646186\nl 67 0.042804 0.143093 0.249546\nl 67 0.005545 0.207210 0.267021\nl 175 0.250199 0.463230 0.000865\nl 67 0.027906 0.250487 0.297036\nl 67 0.113971 0.141412 0.283985\nl 67 0.177368 0.073917 0.291498\nl 67 0.317956 0.045360 0.141200\nl 67 0.289819 0.028021 0.116597\nl 67 0.215920 0.012124 0.067356\nl 67 0.097854 0.220576 0.110101\nl 67 0.042771 0.314375 0.134198\nl 67 0.034280 0.375591 0.161265\nl 67 0.076831 0.371936 0.177026\nl 67 0.180334 0.268268 0.180616\nl 67 0.274137 0.140981 0.166536\nl 67 0.456084 0.018036 0.037022\nl 69 0.351092 0.048489 0.596960\nl 72 0.191527 0.104640 0.658333\nl 73 0.126873 0.055883 0.192352\nl 67 0.025029 0.441718 0.031350\nl 67 0.023462 0.522520 0.061177\nl 67 0.116403 0.470682 0.089623\nl 67 0.219634 0.339775 0.120626\nl 67 0.374218 0.170762 0.073169\nl 73 0.465039 0.124308 0.027783\nl 72 0.308967 0.187258 0.434630\nl 72 0.141233 0.299835 0.497592\nl 73 0.072691 0.262722 0.194204\nl 33 0.112182 0.460925 0.376465\nl 73 0.054204 0.053521 0.558003\nl 67 0.155646 0.550856 0.000481\nl 73 0.206631 0.036102 0.430688\nl 73 0.259629 0.096018 0.291970\nl 67 0.247978 0.323327 0.057290\nl 67 0.208836 0.408804 0.013633\nl 73 0.326840 0.073116 0.269812\nl 67 0.324063 0.261535 0.015543\nl 73 0.416136 0.040669 0.216561\nl 73 0.341688 0.347404 0.119180\nl 73 0.289224 0.403470 0.076394\nl 73 0.162494 0.461791 0.116537\nl 73 0.076362 0.413669 0.278223\nl 73 0.029412 0.359942 0.411861\nl 73 0.049802 0.295510 0.499066\nl 73 0.126779 0.254307 0.493889\nl 73 0.198351 0.148533 0.392442\nl 73 0.241059 0.201071 0.340880\nl 73 0.285287 0.165351 0.278905\nl 73 0.326851 0.284511 0.237384\nl 73 0.243456 0.441972 0.208505\nl 73 0.211845 0.475776 0.182702\nl 73 0.155373 0.489477 0.213815\nl 73 0.098321 0.476817 0.289120\nl 73 0.070032 0.444456 0.369622\nl 73 0.082329 0.405610 0.422181\nl 73 0.128687 0.380829 0.419029\nl 73 0.189980 0.380147 0.361779\nl 73 0.218282 0.303503 0.400082\nl 99 0.079412 0.381763 0.208702\nl 10 0.005446 0.349618 0.452299\nl 243 0.222342 0.021031 0.179549\nl 243 0.225014 0.320467 0.192740\nl 381 0.164536 0.171679 0.192133\nl 381 0.116352 0.493652 0.274550\nl 141 0.076125 0.077792 0.381099\nl 139 0.142495 0.581633 0.267244\nl 213 0.478618 0.185335 0.301115\nl 231 0.192566 0.220653 0.448114\nl 141 0.182279 0.427832 0.247628\nl 141 0.252523 0.222933 0.485588\nl 231 0.175172 0.433671 0.381523\nl 231 0.187732 0.436527 0.206472\nl 381 0.749375 0.069459 0.110195\nl 424 0.142956 0.617275 0.085921\nl 206 0.113932 0.255390 0.332397\nl 206 0.024931 0.202529 0.627709\nl 376 0.147173 0.198860 0.345844\nl 376 0.088461 0.298277 0.301990\nl 206 0.200893 0.032214 0.615175\nl 206 0.026860 0.094129 0.737595\nl 376 0.275337 0.091120 0.260641\nl 424 0.049400 0.270742 0.565015\nl 334 0.215250 0.429483 0.120004\nl 334 0.129895 0.462317 0.158654\nl 321 0.138041 0.550899 0.282534\nl 334 0.180908 0.561307 0.066943\nl 109 0.399912 0.037836 0.407631\nl 321 0.318061 0.115728 0.253290\nl 206 0.239999 0.040307 0.167799\nl 205 0.278142 0.109606 0.601448\nl 414 0.159222 0.595222 0.122983\nl 13 0.116679 0.387387 0.051316\nl 13 0.165109 0.478549 0.019688\nl 414 0.051889 0.743716 0.005659\nl 38 0.004969 0.063285 0.726950\nl 13 0.232409 0.488890 0.018556\nl 109 0.197745 0.058303 0.551542\nl 109 0.165800 0.107277 0.612148\nl 206 0.111304 0.239243 0.062427\nl 205 0.189748 0.078962 0.702594\nl 205 0.028644 0.032196 0.551741\nl 188 0.304317 0.064475 0.154134\nl 213 0.302635 0.169758 0.180687\nl 220 0.255537 0.107632 0.001944\nl 414 0.248341 0.186140 0.347328\nl 9 0.072533 0.263757 0.422990\nl 9 0.291372 0.049776 0.585307\nl 9 0.006784 0.019419 0.723582\nl 414 0.237627 0.505085 0.160454\nl 414 0.286974 0.377320 0.227230\nl 13 0.046105 0.112153 0.172689\nl 13 0.093244 0.198502 0.111726\nl 84 0.551300 0.234801 0.062175\nl 452 0.119738 0.594879 0.202468\nl 452 0.061261 0.729002 0.181140\nl 84 0.594310 0.083486 0.140574\nl 442 0.062331 0.230549 0.493775\nl 442 0.314929 0.221785 0.226647\nl 442 0.430346 0.083535 0.247194\nl 442 0.185743 0.089635 0.515507\nl 59 0.329550 0.227585 0.140415\nl 268 0.543504 0.029857 0.007216\nl 59 0.512874 0.097991 0.209789\nl 59 0.224998 0.452880 0.222222\nl 456 0.157351 0.622283 0.065852\nl 411 0.085926 0.058362 0.775736\nl 456 0.236379 0.229455 0.474861\nl 59 0.243077 0.116984 0.160730\nl 81 0.448864 0.070577 0.238669\nl 83 0.141980 0.045950 0.262194\nl 208 0.077372 0.014925 0.627897\nl 208 0.524113 0.187819 0.070651\nl 84 0.248489 0.208095 0.323184\nl 84 0.376285 0.095534 0.348996\nl 411 0.013685 0.111490 0.689679\nl 452 0.099390 0.130694 0.141428\nl 356 0.181197 0.072391 0.144889\nl 411 0.041521 0.279750 0.445382\nl 85 0.317407 0.110419 0.314137\nl 356 0.183641 0.086914 0.268244\nl 298 0.070320 0.710622 0.119526\nl 267 0.187080 0.225532 0.144721\nl 298 0.066244 0.708948 0.120965\nl 411 0.031707 0.645329 0.043447\nl 267 0.636081 0.111690 0.195490\nl 267 0.318290 0.270255 0.202787\nl 267 0.209998 0.162962 0.171776\nl 267 0.436219 0.010481 0.205066\nl 350 0.166903 0.139851 0.223905\nl 350 0.053961 0.117676 0.237680\nl 258 0.728155 0.211659 0.030480\nl 59 0.702605 0.072042 0.201071\nl 202 0.177138 0.360030 0.372514\nl 298 0.592691 0.039047 0.085669\nl 298 0.713348 0.070916 0.170217\nl 202 0.021760 0.667401 0.173391\nl 267 0.280459 0.407477 0.248220\nl 202 0.464279 0.074145 0.379224\nl 202 0.269997 0.488557 0.167406\nl 202 0.428506 0.167163 0.226029\nl 233 0.655908 0.041570 0.220867\nl 158 0.723258 0.000780 0.052658\nl 196 0.013434 0.375248 0.526559\nl 233 0.270951 0.304173 0.051803\nl 203 0.322342 0.282359 0.175317\nl 196 0.420648 0.303929 0.025113\nl 176 0.205425 0.407150 0.159915\nl 442 0.199513 0.360035 0.206102\nl 452 0.631946 0.117077 0.222743\nl 176 0.521484 0.059520 0.116713\nl 205 0.143582 0.739147 0.059488\nl 424 0.043278 0.101926 0.088208\nl 109 0.166572 0.830343 0.001778\nl 205 0.085527 0.273438 0.044324\nl 234 0.597532 0.100834 0.188176\nl 234 0.210813 0.036143 0.257378\nl 176 0.006390 0.731053 0.155349\nl 188 0.106526 0.099568 0.420862\nl 142 0.453138 0.011795 0.015806\nl 109 0.017361 0.601368 0.155196\nl 188 0.418642 0.186448 0.009912\nl 31 0.044493 0.065820 0.321650\nl 462 0.118538 0.626319 0.057701\nl 424 0.578349 0.160768 0.103468\nl 205 0.761220 0.003762 0.058214\nl 334 0.273513 0.501597 0.092294\nl 206 0.295676 0.011427 0.482411\nl 424 0.190208 0.115635 0.574559\nl 206 0.444069 0.093357 0.325444\nl 38 0.359959 0.053504 0.407334\nl 38 0.270627 0.005786 0.504275\nl 13 0.328291 0.456915 0.016025\nl 13 0.393664 0.451473 0.007488\nl 365 0.053446 0.475250 0.215969\nl 257 0.571099 0.219810 0.108496\nl 238 0.178649 0.042564 0.591921\nl 415 0.234144 0.058479 0.515349\nl 151 0.138754 0.149913 0.577999\nl 293 0.164106 0.391471 0.167021\nl 293 0.020250 0.245008 0.212898\nl 167 0.051409 0.095893 0.625963\nl 455 0.225392 0.385110 0.232199\nl 455 0.309533 0.031570 0.148958\nl 455 0.670881 0.059411 0.195232\nl 406 0.128379 0.309075 0.352286\nl 208 0.218533 0.440556 0.144648\nl 182 0.424015 0.190037 0.159821\nl 15 0.457548 0.360935 0.074652\nl 19 0.177780 0.420743 0.175040\nl 20 0.051887 0.730886 0.004812\nl 300 0.067603 0.000891 0.245545\nl 322 0.169544 0.611752 0.054992\nl 322 0.402131 0.372174 0.207230\nl 5 0.399102 0.222011 0.290765\nl 5 0.216604 0.473796 0.307734\nl 9 0.162547 0.557972 0.112432\nl 9 0.322417 0.327531 0.312230\nl 414 0.589647 0.112311 0.096684\nl 31 0.077185 0.382153 0.349070\nl 31 0.032405 0.242755 0.403955\nl 19 0.519328 0.079043 0.242621\nl 19 0.353960 0.337036 0.214247\nl 19 0.286684 0.188626 0.198559\nl 381 0.142136 0.154758 0.419385\nl 381 0.184567 0.289372 0.373793\nl 206 0.071285 0.700201 0.077675\nl 376 0.078979 0.551596 0.256608\nl 376 0.490259 0.048666 0.426075\nl 376 0.513481 0.098974 0.079174\nl 381 0.419993 0.195060 0.308826\nl 381 0.344800 0.102703 0.292331\nl 350 0.203793 0.463153 0.240206\nl 449 0.003900 0.761960 0.014037\nl 350 0.321497 0.150718 0.235188\nl 202 0.230282 0.206097 0.526990\nl 298 0.451139 0.033136 0.034527\nl 449 0.041909 0.439733 0.238202\nl 267 0.036725 0.455937 0.480407\nl 451 0.080155 0.398518 0.306467\nl 233 0.012653 0.702913 0.252714\nl 233 0.158134 0.462088 0.138018\nl 233 0.413136 0.290473 0.253504\nl 196 0.193387 0.344869 0.315193\nl 205 0.069860 0.138937 0.149484\nl 205 0.090058 0.427396 0.178596\nl 9 0.274649 0.371746 0.089690\nl 5 0.066268 0.160335 0.290673\nl 5 0.157280 0.354042 0.308159\nl 9 0.498424 0.181248 0.012797\nl 454 0.014987 0.663806 0.319807\nl 454 0.270945 0.396475 0.313816\nl 28 0.386052 0.207496 0.355488\nl 28 0.279496 0.290425 0.301696\nl 424 0.144761 0.360816 0.360891\nl 424 0.364121 0.127950 0.397791\nl 415 0.069381 0.029800 0.697724\nl 406 0.311775 0.328627 0.147353\nl 151 0.167725 0.378239 0.354930\nl 167 0.359866 0.392681 0.068936\nl 56 0.615523 0.148192 0.102478\nl 151 0.103377 0.683531 0.017303\nl 5 0.325013 0.092983 0.287360\nl 2 0.112710 0.194947 0.418013\nl 31 0.479232 0.114403 0.303882\nl 454 0.571483 0.137054 0.208949\nl 452 0.222855 0.124797 0.146406\nl 452 0.338193 0.129783 0.151674\nl 452 0.182903 0.452775 0.185882\nl 452 0.027075 0.474707 0.186678\nl 452 0.510702 0.172930 0.141642\nl 452 0.337406 0.413026 0.223158\nl 83 0.198594 0.164514 0.239984\nl 81 0.350613 0.296179 0.248397\nl 84 0.321498 0.354602 0.142595\nl 233 0.527590 0.129104 0.164512\nl 176 0.105904 0.569101 0.157632\nl 451 0.085928 0.218738 0.492091\nl 223 0.262274 0.016843 0.185784\nl 293 0.451506 0.272314 0.195566\nl 451 0.475817 0.147514 0.104887\nl 158 0.462133 0.271729 0.033151\nl 451 0.091700 0.038961 0.677713\nl 252 0.016398 0.026300 0.746822\nl 234 0.339426 0.434430 0.206878\nl 5 0.034149 0.053763 0.193611\nl 300 0.574700 0.160357 0.229383\nl 300 0.382778 0.016918 0.246791\nl 31 0.046397 0.176223 0.349490\nl 15 0.263413 0.526066 0.068943\nl 322 0.656919 0.066893 0.192077\nl 19 0.087648 0.300676 0.202139\nl 300 0.210503 0.167991 0.257805\nl 322 0.449495 0.280135 0.058778\nl 300 0.075415 0.297962 0.253447\nl 2 0.511050 0.090888 0.074556\nl 56 0.009562 0.702862 0.112206\nl 167 0.147489 0.409601 0.222410\nl 28 0.074834 0.387105 0.273757\nl 2 0.330522 0.282589 0.077762\nl 2 0.004403 0.659467 0.037540\nl 30 0.167653 0.067674 0.647599\nl 454 0.082910 0.115227 0.186204\nl 322 0.679119 0.001190 0.024686\nl 426 0.102158 0.277680 0.198856\nl 426 0.487578 0.261639 0.171714\nl 300 0.353400 0.335096 0.270064\nl 426 0.228189 0.266579 0.176288\nl 426 0.129991 0.058179 0.280731\nl 300 0.206480 0.467622 0.279998\nl 426 0.354222 0.255478 0.153722\nl 5 0.040300 0.620762 0.314450\nl 454 0.480121 0.139177 0.154445\nl 454 0.176528 0.392964 0.240877\nl 454 0.042899 0.324686 0.214761\nl 454 0.394330 0.130392 0.123654\nl 9 0.481829 0.081213 0.276952\nl 31 0.150642 0.559240 0.284168\nl 157 0.098137 0.706662 0.112149\nl 13 0.485920 0.334240 0.041734\nl 13 0.686121 0.030726 0.072510\nl 38 0.281747 0.379264 0.113151\nl 38 0.425523 0.130984 0.290753\nl 213 0.140047 0.252587 0.525001\nl 139 0.035555 0.630405 0.334036\nl 202 0.504458 0.013236 0.164321\nl 202 0.190237 0.521351 0.068790\nl 202 0.407191 0.240076 0.149301\nl 188 0.019382 0.347099 0.039753\nl 334 0.241447 0.359431 0.217777\nl 334 0.221600 0.540632 0.076631\nl 455 0.009634 0.446780 0.276582\nl 356 0.705674 0.021135 0.194413\nl 334 0.182379 0.291907 0.239891\nl 334 0.179061 0.284131 0.335913\nl 334 0.238549 0.090398 0.127731\nl 13 0.197248 0.082774 0.174763\nl 13 0.283811 0.067168 0.081446\nl 109 0.217388 0.049952 0.269013\nl 109 0.266993 0.006195 0.295164\nl 109 0.179292 0.142651 0.024831\nl 205 0.116152 0.601000 0.042552\nl 139 0.092643 0.255542 0.228624\nl 188 0.562272 0.023720 0.085508\nl 424 0.341812 0.440032 0.050737\nl 334 0.401749 0.230830 0.160508\nl 334 0.470905 0.275662 0.072891\nl 205 0.113586 0.566659 0.193320\nl 206 0.644474 0.028988 0.126413\nl 139 0.109197 0.218019 0.303998\nl 334 0.256075 0.231202 0.320848\nl 243 0.371966 0.325765 0.170059\nl 243 0.391091 0.044113 0.357752\nl 381 0.226506 0.364442 0.393540\nl 381 0.520489 0.307435 0.157426\nl 243 0.606151 0.106494 0.131380\nl 141 0.032534 0.753113 0.004954\nl 141 0.032874 0.606385 0.063006\nl 376 0.007459 0.168878 0.491076\nl 376 0.217077 0.034798 0.494914\nl 376 0.175731 0.209581 0.097217\nl 206 0.097000 0.172842 0.566223\nl 321 0.203730 0.363694 0.413236\nl 334 0.222514 0.159352 0.108993\nl 321 0.240226 0.147584 0.557324\nl 321 0.131165 0.351243 0.339909\nl 321 0.248926 0.209009 0.291607\nl 321 0.340685 0.045808 0.011729\nl 376 0.393884 0.157114 0.286793\nl 321 0.161724 0.363985 0.043162\nl 206 0.169619 0.041077 0.159192\nl 13 0.197779 0.260516 0.015942\nl 334 0.214436 0.018615 0.236033\nl 334 0.202186 0.103087 0.155222\nl 334 0.208278 0.229622 0.046269\nl 381 0.596382 0.176663 0.138343\nl 376 0.214404 0.216679 0.026278\nl 206 0.150883 0.150602 0.526835\nl 321 0.381917 0.030528 0.423915\nl 321 0.285678 0.250652 0.372659\nl 206 0.330554 0.013894 0.127421\nl 376 0.461793 0.159107 0.235021\nl 334 0.280791 0.168728 0.092695\nl 334 0.320712 0.118440 0.063097\nl 321 0.370154 0.065991 0.421846\nl 109 0.154648 0.220997 0.254711\nl 109 0.032575 0.388984 0.135331\nl 205 0.170807 0.120427 0.581471\nl 109 0.197658 0.253440 0.545519\nl 109 0.200406 0.132677 0.282792\nl 411 0.115696 0.437544 0.320015\nl 257 0.175052 0.609420 0.099937\nl 257 0.116089 0.595295 0.075714\nl 257 0.404610 0.386625 0.091292\nl 406 0.106399 0.061101 0.551952\nl 406 0.118498 0.052717 0.545351\nl 411 0.072869 0.075533 0.722507\nl 139 0.178622 0.173868 0.333073\nl 213 0.109879 0.506798 0.049829\nl 213 0.263398 0.107031 0.538065\nl 220 0.069760 0.322734 0.567797\nl 109 0.162456 0.181643 0.108776\nl 206 0.156783 0.256752 0.008477\nl 109 0.161761 0.176828 0.633444\nl 109 0.204738 0.105946 0.298272\nl 139 0.250145 0.081866 0.486627\nl 139 0.125906 0.197846 0.370076\nl 213 0.052981 0.505816 0.046730\nl 213 0.262827 0.214443 0.136527\nl 213 0.255528 0.084104 0.498196\nl 220 0.264102 0.078864 0.098841\nl 109 0.005099 0.372273 0.204574\nl 220 0.104399 0.230396 0.635219\nl 109 0.193471 0.203219 0.137429\nl 109 0.135893 0.157566 0.137926\nl 205 0.147095 0.174574 0.620893\nl 205 0.172102 0.130423 0.580674\nl 109 0.147996 0.183307 0.599943\nl 109 0.168192 0.197406 0.554459\nl 109 0.167283 0.118844 0.250496\nl 109 0.182362 0.098868 0.272733\nl 109 0.160663 0.118142 0.270857\nl 109 0.160741 0.175547 0.521811\nl 109 0.097532 0.294850 0.184152\nl 205 0.136259 0.144825 0.594910\nl 109 0.176147 0.155133 0.252139\nl 454 0.059964 0.215066 0.216108\nl 243 0.421603 0.142644 0.125246\nl 381 0.584680 0.136745 0.153199\nl 376 0.435809 0.237823 0.084427\nl 206 0.226999 0.168614 0.405104\nl 376 0.176940 0.241498 0.000175\nl 109 0.438584 0.019521 0.317592\nl 206 0.373771 0.043391 0.070703\nl 334 0.407519 0.046738 0.017751\nl 334 0.361924 0.003208 0.083667\nl 381 0.380908 0.345153 0.115739\nl 206 0.523886 0.362539 0.060970\nl 424 0.494908 0.003168 0.137533\nl 205 0.591997 0.237789 0.168739\nl 205 0.493780 0.055770 0.207644\nl 205 0.480120 0.132620 0.250667\nl 205 0.516040 0.250166 0.184729\nl 109 0.465360 0.222099 0.199233\nl 157 0.536529 0.088587 0.357514\nl 109 0.455690 0.133309 0.315283\nl 109 0.454698 0.193953 0.333536\nl 206 0.511867 0.294522 0.185339\nl 206 0.550584 0.330297 0.001831\nl 109 0.531627 0.053782 0.010257\nl 109 0.477373 0.098605 0.054493\nl 424 0.110216 0.332255 0.099436\nl 424 0.241854 0.325182 0.090039\nl 206 0.377354 0.295595 0.249360\nl 205 0.488203 0.102901 0.292491\nl 206 0.338837 0.289847 0.062185\nl 206 0.197588 0.414044 0.350348\nl 109 0.471288 0.114459 0.349591\nl 109 0.466422 0.053383 0.268127\nl 109 0.418198 0.080914 0.363060\nl 205 0.344888 0.084036 0.456674\nl 424 0.249616 0.216201 0.202117\nl 424 0.146737 0.193012 0.216235\nl 334 0.429292 0.025198 0.076631\nl 334 0.383221 0.065437 0.031556\nl 334 0.380554 0.066311 0.030522\nl 341 0.152777 0.100394 0.154787\nl 357 0.175657 0.312652 0.180274\nl 268 0.356535 0.268664 0.262067\nl 340 0.161474 0.047202 0.719512\nl 420 0.173505 0.150951 0.262467\nl 380 0.168707 0.247731 0.548379\nl 380 0.178765 0.167169 0.161130\nl 380 0.450187 0.228079 0.221232\nl 64 0.192599 0.038122 0.547626\nl 65 0.188073 0.733448 0.052774\nl 339 0.447283 0.223104 0.049033\nl 409 0.343849 0.130037 0.369947\nl 346 0.743866 0.039839 0.091192\nl 409 0.605686 0.287216 0.025466\nl 60 0.482873 0.278613 0.186505\nl 60 0.651986 0.076287 0.260458\nl 115 0.241233 0.422452 0.126028\nl 115 0.261111 0.207370 0.336224\nl 62 0.239725 0.491831 0.117502\nl 110 0.086830 0.610028 0.289238\nl 60 0.166738 0.192444 0.242457\nl 62 0.553486 0.274779 0.010500\nl 318 0.515224 0.227989 0.138673\nl 405 0.469219 0.116711 0.297445\nl 450 0.651353 0.182594 0.067259\nl 58 0.656091 0.175787 0.100273\nl 318 0.188228 0.225180 0.042416\nl 68 0.047101 0.200626 0.343082\nl 124 0.283603 0.037378 0.594897\nl 4 0.066277 0.417932 0.428030\nl 150 0.595162 0.299849 0.025613\nl 93 0.006728 0.409925 0.141306\nl 150 0.216318 0.121164 0.166253\nl 150 0.393569 0.091168 0.123554\nl 302 0.193673 0.209722 0.187481\nl 302 0.261082 0.219922 0.031259\nl 289 0.111872 0.084995 0.369297\nl 302 0.096108 0.322949 0.124895\nl 258 0.126564 0.015633 0.203152\nl 286 0.177500 0.277180 0.272676\nl 180 0.152245 0.337271 0.322277\nl 61 0.463961 0.007721 0.193245\nl 398 0.180391 0.417965 0.036084\nl 409 0.050614 0.378014 0.452552\nl 409 0.387427 0.508849 0.060320\nl 115 0.486678 0.153221 0.103552\nl 344 0.357118 0.347323 0.064482\nl 62 0.240691 0.273401 0.374451\nl 62 0.569568 0.050235 0.274737\nl 318 0.436667 0.306975 0.236022\nl 58 0.450845 0.413279 0.044514\nl 318 0.100153 0.514561 0.070047\nl 124 0.553941 0.055284 0.332561\nl 150 0.678282 0.214667 0.097821\nl 146 0.478388 0.196123 0.025701\nl 302 0.099073 0.286849 0.350893\nl 302 0.019939 0.384481 0.270926\nl 258 0.083034 0.175401 0.016805\nl 340 0.107997 0.160252 0.181611\nl 286 0.597753 0.002987 0.265528\nl 61 0.253792 0.094738 0.104252\nl 398 0.295949 0.102814 0.019280\nl 436 0.426490 0.221525 0.063497\nl 343 0.285087 0.581310 0.118543\nl 344 0.530403 0.080457 0.012043\nl 344 0.105112 0.314427 0.310272\nl 62 0.133309 0.166026 0.506134\nl 438 0.386860 0.336750 0.121823\nl 318 0.261316 0.328880 0.385403\nl 58 0.293312 0.419991 0.025025\nl 76 0.617892 0.180778 0.179194\nl 76 0.572241 0.055076 0.201274\nl 150 0.474269 0.124948 0.363615\nl 146 0.486359 0.259253 0.104362\nl 302 0.036733 0.416402 0.440153\nl 337 0.485793 0.161139 0.001323\nl 411 0.175518 0.616663 0.156671\nl 340 0.518335 0.096267 0.186198\nl 340 0.179457 0.619198 0.189679\nl 65 0.005846 0.125376 0.132921\nl 398 0.551745 0.107115 0.017214\nl 409 0.065246 0.375742 0.147773\nl 343 0.209251 0.419264 0.188287\nl 115 0.413041 0.007713 0.026642\nl 344 0.215567 0.141496 0.078102\nl 58 0.173215 0.516503 0.302761\nl 62 0.264848 0.032178 0.340023\nl 318 0.129376 0.203413 0.517944\nl 58 0.289328 0.097836 0.075343\nl 76 0.570527 0.239627 0.104140\nl 76 0.528447 0.142883 0.061679\nl 363 0.393862 0.220911 0.140219\nl 146 0.262589 0.553985 0.011782\nl 278 0.010572 0.112554 0.500308\nl 302 0.080255 0.553465 0.301894\nl 202 0.105188 0.157080 0.034198\nl 304 0.730765 0.204523 0.000555\nl 401 0.423414 0.264216 0.174221\nl 401 0.075347 0.478962 0.184559\nl 64 0.005478 0.753515 0.196967\nl 343 0.246071 0.080334 0.545112\nl 343 0.247410 0.110850 0.267000\nl 343 0.243152 0.144939 0.014938\nl 115 0.015516 0.253577 0.090235\nl 412 0.261369 0.092812 0.333816\nl 58 0.277838 0.000293 0.476709\nl 405 0.049043 0.025141 0.273988\nl 412 0.242787 0.247645 0.471312\nl 76 0.350581 0.358922 0.112149\nl 76 0.316796 0.235435 0.115926\nl 150 0.250330 0.373864 0.355478\nl 150 0.047205 0.029384 0.699235\nl 278 0.026501 0.201202 0.494762\nl 302 0.140192 0.581051 0.214080\nl 202 0.376819 0.074596 0.065681\nl 148 0.400049 0.446407 0.093244\nl 148 0.406639 0.157440 0.403403\nl 148 0.095513 0.023831 0.617181\nl 64 0.197296 0.577684 0.059318\nl 346 0.261063 0.165234 0.158904\nl 346 0.296275 0.083142 0.382332\nl 347 0.245238 0.081871 0.069642\nl 110 0.182335 0.064418 0.577905\nl 450 0.267901 0.308083 0.325273\nl 450 0.247426 0.309821 0.364434\nl 405 0.017964 0.402191 0.320299\nl 412 0.245979 0.665722 0.082088\nl 76 0.153742 0.407822 0.247181\nl 76 0.150937 0.279260 0.226145\nl 150 0.069908 0.393712 0.365012\nl 160 0.046155 0.622887 0.161604\nl 278 0.026756 0.394279 0.370819\nl 302 0.219530 0.559138 0.086620\nl 202 0.459650 0.124451 0.045549\nl 148 0.436672 0.338138 0.054996\nl 148 0.445374 0.046697 0.364963\nl 131 0.273985 0.152123 0.197223\nl 64 0.357668 0.328628 0.035195\nl 346 0.275187 0.519033 0.085922\nl 347 0.279548 0.348785 0.055711\nl 110 0.208538 0.034895 0.506847\nl 110 0.227552 0.111346 0.463669\nl 450 0.210507 0.327304 0.158102\nl 450 0.194022 0.130611 0.304956\nl 76 0.096087 0.502953 0.358083\nl 77 0.131453 0.610457 0.033286\nl 76 0.130662 0.377167 0.349930\nl 76 0.055109 0.177286 0.346298\nl 150 0.048525 0.370067 0.322231\nl 86 0.111033 0.222362 0.447470\nl 302 0.625474 0.146676 0.095275\nl 289 0.190394 0.145483 0.542585\nl 202 0.582423 0.230882 0.002810\nl 341 0.550716 0.164934 0.167656\nl 148 0.232423 0.009442 0.228623\nl 131 0.234943 0.163720 0.423883\nl 64 0.434952 0.095532 0.124409\nl 194 0.378971 0.575678 0.032073\nl 347 0.377506 0.235085 0.174416\nl 110 0.311676 0.066822 0.375547\nl 110 0.338325 0.151948 0.363985\nl 450 0.333632 0.134129 0.138866\nl 110 0.033177 0.300596 0.265189\nl 77 0.254286 0.404851 0.049538\nl 77 0.347745 0.340513 0.256748\nl 76 0.166371 0.263935 0.556001\nl 76 0.084167 0.084777 0.526186\nl 150 0.121201 0.356050 0.215620\nl 162 0.250451 0.057442 0.252408\nl 289 0.578504 0.019832 0.111117\nl 289 0.146776 0.293594 0.452846\nl 357 0.456470 0.273187 0.110546\nl 341 0.405920 0.040584 0.236950\nl 420 0.741365 0.141238 0.072421\nl 66 0.103826 0.237889 0.096929\nl 194 0.020130 0.351621 0.264099\nl 194 0.449772 0.382928 0.069900\nl 347 0.582825 0.259533 0.053801\nl 110 0.481946 0.063418 0.290765\nl 60 0.443850 0.048223 0.330628\nl 110 0.126984 0.453335 0.167247\nl 110 0.220306 0.404757 0.266868\nl 77 0.373302 0.222077 0.096064\nl 77 0.487881 0.209537 0.248445\nl 318 0.082580 0.079661 0.159628\nl 124 0.171479 0.177574 0.622938\nl 150 0.260115 0.407299 0.058912\nl 160 0.049845 0.308539 0.598540\nl 289 0.400449 0.044373 0.162205\nl 289 0.123653 0.276307 0.385450\nl 60 0.158389 0.630622 0.151730\nl 60 0.245513 0.205903 0.242452\nl 60 0.351272 0.233266 0.223441\nl 115 0.086773 0.226400 0.495659\nl 60 0.007399 0.685930 0.280841\nl 344 0.176165 0.507412 0.077728\nl 438 0.476651 0.032341 0.168458\nl 277 0.408429 0.242145 0.275022\nl 438 0.398544 0.057050 0.015966\nl 115 0.063676 0.039364 0.340205\nl 60 0.009357 0.022219 0.726093\nl 60 0.119790 0.097576 0.687349\nl 110 0.036019 0.199754 0.615991\nl 110 0.097137 0.133479 0.598689\nl 110 0.086266 0.219974 0.518667\nl 110 0.155932 0.166899 0.532097\nl 110 0.178383 0.259355 0.364178\nl 110 0.289803 0.215771 0.410794\nl 60 0.311956 0.012760 0.317705\nl 60 0.397205 0.008486 0.330372\nl 124 0.371626 0.158410 0.147984\nl 124 0.257638 0.185526 0.174188\nl 124 0.213082 0.093783 0.384043\nl 124 0.379421 0.036633 0.283466\nl 124 0.458773 0.250980 0.107135\nl 124 0.485632 0.112161 0.254926\nl 124 0.504246 0.395719 0.068135\nl 76 0.545986 0.012628 0.191486\nl 265 0.425015 0.032856 0.025210\nl 76 0.499640 0.080564 0.037076\nl 244 0.304569 0.038092 0.639561\nl 76 0.333995 0.134387 0.020690\nl 76 0.176458 0.007422 0.120528\nl 76 0.157346 0.135305 0.133977\nl 124 0.030447 0.647309 0.153046\nl 76 0.044800 0.030551 0.322664\nl 159 0.448247 0.071975 0.200383\nl 159 0.467476 0.004139 0.416308\nl 124 0.076465 0.307547 0.234213\nl 124 0.063190 0.262622 0.435357\nl 192 0.499348 0.184351 0.260483\nl 400 0.112075 0.343160 0.443880\nl 337 0.350349 0.477402 0.148277\nl 337 0.293295 0.351763 0.293484\nl 400 0.077535 0.236858 0.192810\nl 192 0.183023 0.186497 0.521803\nl 192 0.167984 0.228484 0.321825\nl 192 0.234786 0.014015 0.189903\nl 192 0.345937 0.025121 0.141797\nl 192 0.438011 0.126002 0.148170\nl 146 0.271849 0.023038 0.176362\nl 124 0.382822 0.175321 0.015283\nl 146 0.475936 0.079730 0.163800\nl 146 0.483343 0.146310 0.242526\nl 146 0.390352 0.128854 0.443788\nl 146 0.286019 0.154809 0.518647\nl 146 0.120634 0.169758 0.546948\nl 162 0.068194 0.586157 0.296122\nl 159 0.475997 0.070513 0.045777\nl 124 0.073762 0.341197 0.045728\nl 400 0.248475 0.404828 0.262231\nl 337 0.433618 0.502705 0.001860\nl 337 0.378685 0.373941 0.076071\nl 337 0.490991 0.208038 0.049838\nl 302 0.036297 0.612541 0.209387\nl 302 0.049904 0.682291 0.105958\nl 400 0.134706 0.705755 0.116502\nl 192 0.233279 0.512045 0.053022\nl 192 0.372810 0.383435 0.047633\nl 192 0.479337 0.347883 0.108068\nl 19 0.175047 0.104865 0.066004\nl 19 0.246509 0.131711 0.096002\nl 145 0.018693 0.207628 0.741495\nl 364 0.132912 0.082396 0.558318\nl 30 0.096961 0.339450 0.460329\nl 364 0.145183 0.181639 0.386777\nl 30 0.109794 0.528383 0.263353\nl 364 0.249764 0.160840 0.228253\nl 30 0.290924 0.414677 0.252434\nl 364 0.391465 0.030972 0.166405\nl 145 0.443114 0.045104 0.360930\nl 145 0.095033 0.435016 0.340989\nl 454 0.400281 0.123141 0.057401\nl 454 0.016245 0.464086 0.058680\nl 454 0.186619 0.217537 0.164565\nl 280 0.199680 0.147639 0.109336\nl 280 0.341192 0.061224 0.186547\nl 116 0.081425 0.080183 0.211762\nl 116 0.040166 0.289859 0.116003\nl 116 0.066998 0.425666 0.084304\nl 116 0.186545 0.458900 0.041278\nl 116 0.335722 0.372019 0.009634\nl 116 0.418117 0.173783 0.090586\nl 280 0.417092 0.154514 0.032501\nl 116 0.013097 0.020344 0.522318\nl 280 0.121805 0.492689 0.022108\nl 297 0.028120 0.364412 0.137495\nl 297 0.115571 0.410195 0.111908\nl 297 0.054316 0.556244 0.076414\nl 116 0.026335 0.466329 0.296329\nl 116 0.128566 0.382434 0.315712\nl 116 0.194885 0.222878 0.380868\nl 116 0.190669 0.069709 0.458408\nl 80 0.037723 0.296366 0.550931\nl 116 0.009310 0.016834 0.680352\nl 80 0.185909 0.271669 0.489288\nl 80 0.228189 0.355076 0.396281\nl 80 0.143637 0.502895 0.319963\nl 165 0.557342 0.214871 0.075652\nl 116 0.070874 0.400053 0.406326\nl 116 0.115764 0.245868 0.504831\nl 116 0.091344 0.096759 0.611530\nl 193 0.035245 0.282645 0.254926\nl 80 0.167747 0.064864 0.197595\nl 80 0.425743 0.012719 0.257808\nl 80 0.374063 0.197874 0.265744\nl 80 0.217104 0.421126 0.251028\nl 80 0.018954 0.590699 0.219605\nl 116 0.038080 0.431127 0.458092\nl 116 0.049416 0.300963 0.595740\nl 165 0.213671 0.653436 0.047557\nl 193 0.217886 0.163767 0.161057\nl 193 0.134825 0.143830 0.048268\nl 193 0.127567 0.359676 0.181988\nl 80 0.473843 0.107808 0.167448\nl 80 0.274347 0.374327 0.191922\nl 80 0.067011 0.551763 0.159043\nl 116 0.009728 0.472444 0.478616\nl 165 0.361189 0.635745 0.000352\nl 92 0.148541 0.079379 0.717006\nl 193 0.418613 0.060495 0.028799\nl 88 0.327999 0.063531 0.121073\nl 193 0.280953 0.282319 0.090599\nl 80 0.589545 0.009792 0.056378\nl 80 0.388731 0.300313 0.104017\nl 80 0.140206 0.511768 0.066758\nl 92 0.059578 0.406959 0.448550\nl 92 0.062326 0.258367 0.505185\nl 224 0.150005 0.086792 0.486006\nl 88 0.466700 0.116401 0.107946\nl 88 0.147529 0.388382 0.266018\nl 224 0.374317 0.243514 0.355611\nl 224 0.054801 0.588223 0.354456\nl 80 0.446889 0.309072 0.040829\nl 92 0.231419 0.459729 0.276469\nl 92 0.153262 0.224578 0.309978\nl 92 0.246696 0.027956 0.358359\nl 88 0.137275 0.169542 0.404548\nl 100 0.004245 0.421144 0.314380\nl 100 0.084290 0.112443 0.470692\nl 224 0.476549 0.139625 0.124646\nl 224 0.199671 0.492735 0.123208\nl 92 0.501180 0.244468 0.138088\nl 92 0.306001 0.315025 0.142018\nl 92 0.264080 0.071029 0.130610\nl 224 0.199813 0.113629 0.126249\nl 100 0.014649 0.087818 0.342030\nl 100 0.190379 0.541635 0.048495\nl 100 0.268867 0.250367 0.201046\nl 104 0.139584 0.471432 0.256203\nl 104 0.126423 0.434514 0.034338\nl 0 0.106574 0.005692 0.285063\nl 104 0.114839 0.141172 0.140547\nl 104 0.129106 0.116099 0.452497\nl 104 0.139286 0.206991 0.540438\nl 100 0.199844 0.238724 0.073622\nl 104 0.393133 0.283152 0.293568\nl 107 0.277733 0.165163 0.255970\nl 104 0.382590 0.220245 0.152663\nl 0 0.312342 0.039169 0.225527\nl 0 0.256291 0.070236 0.123728\nl 103 0.277767 0.064298 0.631957\nl 103 0.268248 0.081557 0.352549\nl 103 0.370701 0.009090 0.221305\nl 104 0.392858 0.037505 0.557600\nl 103 0.631471 0.043390 0.150272\nl 103 0.562983 0.099842 0.025965\nl 103 0.597117 0.062658 0.337661\nl 0 0.489720 0.119109 0.006688\nl 413 0.362495 0.111870 0.435243\nl 470 0.312278 0.034448 0.210841\nl 103 0.243392 0.368780 0.366954\nl 103 0.378635 0.331803 0.196659\nl 103 0.407477 0.252137 0.013950\nl 103 0.604478 0.183086 0.133975\nl 103 0.544145 0.246670 0.017197\nl 470 0.575324 0.081603 0.101845\nl 413 0.485122 0.104743 0.288923\nl 413 0.360859 0.130244 0.323714\nl 470 0.316630 0.010403 0.355392\nl 470 0.289777 0.300171 0.129947\nl 470 0.356073 0.469625 0.004859\nl 103 0.436857 0.341079 0.031802\nl 103 0.584811 0.290708 0.082102\nl 204 0.078461 0.491081 0.097113\nl 470 0.607106 0.011714 0.223954\nl 413 0.483964 0.196476 0.213705\nl 413 0.335759 0.186285 0.250217\nl 470 0.276962 0.055584 0.433692\nl 470 0.211888 0.390742 0.197906\nl 470 0.265822 0.577053 0.057386\nl 204 0.046659 0.387133 0.113124\nl 413 0.621096 0.114955 0.004078\nl 303 0.037618 0.595003 0.148994\nl 413 0.500181 0.237763 0.049344\nl 470 0.325016 0.191435 0.447698\nl 470 0.307499 0.043838 0.579325\nl 303 0.006393 0.369828 0.382867\nl 303 0.036689 0.350587 0.599114\nl 316 0.025717 0.069445 0.525604\nl 303 0.092758 0.485854 0.065479\nl 395 0.059307 0.496464 0.325993\nl 303 0.089873 0.263548 0.191224\nl 316 0.026906 0.016090 0.412137\nl 303 0.109989 0.245627 0.294224\nl 303 0.086034 0.370711 0.224765\nl 303 0.250957 0.256344 0.024588\nl 303 0.257886 0.207926 0.130875\nl 303 0.113423 0.388285 0.185650\nl 316 0.194701 0.071005 0.305469\nl 316 0.177347 0.073232 0.273944\nl 316 0.046018 0.085240 0.367173\nl 316 0.172788 0.063858 0.244367\nl 316 0.200100 0.017957 0.203059\nl 303 0.221932 0.164709 0.076900\nl 303 0.239169 0.148058 0.165935\nl 303 0.253137 0.165105 0.186477\nl 303 0.395936 0.082377 0.020195\nl 303 0.403856 0.032993 0.132222\nl 316 0.342335 0.062757 0.115967\nl 316 0.307969 0.089080 0.099511\nl 316 0.299288 0.083825 0.069453\nl 316 0.326929 0.037346 0.027634\nl 336 0.353194 0.007331 0.599884\nl 336 0.355473 0.022850 0.499765\nl 336 0.388176 0.008680 0.430568\nl 448 0.361615 0.169534 0.101942\nl 448 0.350824 0.207198 0.063179\nl 448 0.364990 0.102852 0.186292\nl 448 0.255984 0.155451 0.226451\nl 448 0.190472 0.184851 0.253498\nl 448 0.155413 0.225404 0.235295\nl 448 0.169295 0.255727 0.181458\nl 448 0.240927 0.246872 0.126931\nl 448 0.296909 0.244384 0.068354\nl 448 0.245691 0.343820 0.237360\nl 448 0.227093 0.394881 0.189001\nl 448 0.270854 0.241108 0.346885\nl 448 0.124378 0.324327 0.383811\nl 448 0.043107 0.363938 0.412906\nl 351 0.414071 0.383970 0.197062\nl 448 0.007098 0.459981 0.322944\nl 448 0.072390 0.470665 0.243877\nl 448 0.158150 0.445095 0.191928\nl 448 0.233812 0.421030 0.342249\nl 448 0.179001 0.541062 0.237814\nl 307 0.047591 0.230534 0.280518\nl 307 0.007388 0.076103 0.388339\nl 351 0.391190 0.472006 0.022833\nl 351 0.428404 0.373352 0.047424\nl 351 0.489025 0.300127 0.064463\nl 351 0.573026 0.280886 0.115682\nl 448 0.069964 0.610559 0.257210\nl 307 0.223237 0.172724 0.367031\nl 307 0.155312 0.103822 0.550533\nl 307 0.276863 0.177965 0.216885\nl 307 0.235748 0.012499 0.326700\nl 425 0.194996 0.258153 0.222669\nl 425 0.151405 0.324025 0.275638\nl 425 0.118718 0.429810 0.258528\nl 351 0.581228 0.333948 0.039565\nl 425 0.150931 0.506787 0.069547\nl 425 0.124863 0.470924 0.168127\nl 425 0.045277 0.515222 0.131606\nl 425 0.014386 0.621561 0.017882\nl 425 0.138036 0.562527 0.057557\nl 425 0.119699 0.634100 0.023699\nl 307 0.444139 0.005922 0.413096\nl 425 0.416332 0.467109 0.028341\nl 425 0.474562 0.314073 0.016502\nl 425 0.461291 0.247464 0.133250\nl 425 0.444626 0.195113 0.248515\nl 425 0.416213 0.216843 0.315123\nl 425 0.391072 0.301181 0.297921\nl 425 0.295670 0.431933 0.156331\nl 425 0.240217 0.420228 0.173800\nl 425 0.238988 0.490695 0.092532\nl 425 0.391330 0.459917 0.116299\nl 425 0.542685 0.319137 0.102815\nl 425 0.526153 0.347625 0.123879\nl 425 0.552850 0.271893 0.123093\nl 425 0.552038 0.226273 0.176558\nl 425 0.540804 0.205694 0.235477\nl 408 0.489418 0.032097 0.262217\nl 408 0.426083 0.078287 0.243119\nl 408 0.355183 0.079987 0.217729\nl 408 0.410796 0.087836 0.199475\nl 408 0.451840 0.055464 0.153739\nl 373 0.108613 0.064780 0.346000\nl 373 0.313974 0.011452 0.426534\nl 373 0.088421 0.210363 0.268032\nl 396 0.167618 0.049964 0.261577\nl 303 0.173848 0.458200 0.258418\nl 303 0.321374 0.267379 0.315479\nl 303 0.165525 0.414870 0.240557\nl 303 0.316133 0.241304 0.281506\nl 303 0.160581 0.375749 0.250166\nl 303 0.313407 0.201245 0.301939\nl 303 0.161778 0.325683 0.338993\nl 303 0.314615 0.151095 0.390913\nl 303 0.168492 0.291086 0.460179\nl 303 0.319105 0.117332 0.501463\nl 373 0.079984 0.085245 0.450288\nl 373 0.230477 0.082286 0.478538\nl 396 0.166145 0.053466 0.311023\nl 373 0.056702 0.237214 0.289869\nl 373 0.483955 0.057884 0.415294\nl 373 0.211774 0.299812 0.210668\nl 303 0.543120 0.051602 0.288727\nl 336 0.516624 0.012149 0.195431\nl 336 0.471929 0.044070 0.256765\nl 336 0.424535 0.086319 0.231648\nl 336 0.399459 0.116615 0.133309\nl 336 0.449060 0.090317 0.030261\nl 373 0.115069 0.386397 0.168930\nl 373 0.501136 0.187995 0.289527\nl 373 0.124561 0.522687 0.006664\nl 336 0.630710 0.066966 0.139534\nl 336 0.507199 0.156824 0.293605\nl 448 0.434541 0.203397 0.014344\nl 336 0.379438 0.259833 0.343184\nl 336 0.344544 0.301844 0.207366\nl 336 0.354671 0.310074 0.026833\nl 416 0.040698 0.005986 0.590548\nl 373 0.572793 0.244532 0.159569\nl 416 0.055589 0.292616 0.395376\nl 448 0.663849 0.125477 0.038124\nl 448 0.499031 0.223704 0.103422\nl 448 0.307224 0.353935 0.157051\nl 448 0.280334 0.418356 0.085103\nl 336 0.292712 0.460482 0.242302\nl 336 0.306987 0.430457 0.034029\nl 416 0.089159 0.051553 0.609939\nl 336 0.585452 0.332138 0.046280\nl 416 0.159856 0.273971 0.423815\nl 448 0.598253 0.244125 0.121237\nl 448 0.420595 0.346336 0.197599\nl 448 0.215927 0.484584 0.255733\nl 448 0.181445 0.557783 0.179840\nl 448 0.197472 0.604417 0.081792\nl 336 0.345513 0.443009 0.079031\nl 448 0.378040 0.498842 0.006944\nl 448 0.284308 0.551029 0.043106\nl 448 0.321335 0.495940 0.014386\nl 336 0.372363 0.458591 0.014479\nl 336 0.357783 0.529457 0.018187\nl 416 0.142070 0.106718 0.610243\nl 404 0.074776 0.422832 0.014169\nl 404 0.028416 0.352146 0.077771\nl 307 0.132052 0.419540 0.407769\nl 307 0.144396 0.306321 0.452844\nl 307 0.141554 0.198041 0.513129\nl 307 0.109414 0.138602 0.602371\nl 307 0.064956 0.159381 0.673464\nl 448 0.294227 0.623372 0.049490\nl 448 0.274281 0.594725 0.074915\nl 448 0.358801 0.567747 0.001419\nl 307 0.016807 0.322638 0.659938\nl 404 0.164612 0.256903 0.147942\nl 404 0.136685 0.214327 0.186247\nl 404 0.199998 0.304667 0.042613\nl 307 0.219575 0.280052 0.478425\nl 307 0.217241 0.224035 0.515044\nl 307 0.197891 0.188237 0.568799\nl 307 0.171701 0.191535 0.611331\nl 307 0.083223 0.215454 0.685275\nl 404 0.146889 0.214083 0.027298\nl 395 0.111926 0.377925 0.435957\nl 316 0.067762 0.205716 0.224294\nl 316 0.107583 0.155412 0.184399\nl 316 0.020164 0.102866 0.349838\nl 395 0.046102 0.386176 0.257908\nl 316 0.006536 0.267183 0.266227\nl 413 0.342059 0.383887 0.008852\nl 395 0.221753 0.244865 0.433282\nl 413 0.299368 0.361615 0.028296\nl 395 0.187818 0.219123 0.451215\nl 413 0.278746 0.291918 0.025091\nl 395 0.193394 0.199084 0.536979\nl 413 0.291078 0.211589 0.000917\nl 316 0.025968 0.185964 0.177474\nl 395 0.068055 0.307715 0.593805\nl 316 0.080948 0.142067 0.153643\nl 316 0.025779 0.074426 0.318093\nl 316 0.112572 0.130387 0.156505\nl 448 0.191496 0.025039 0.274679\nl 448 0.174191 0.067221 0.244534\nl 316 0.128542 0.375706 0.055672\nl 316 0.095024 0.370710 0.021743\nl 316 0.085149 0.357447 0.004401\nl 448 0.058087 0.034665 0.337000\nl 448 0.044411 0.075167 0.312811\nl 448 0.097314 0.079333 0.284842\nl 448 0.129370 0.096894 0.242442\nl 448 0.042438 0.200748 0.444593\nl 448 0.016033 0.260261 0.404172\nl 448 0.087053 0.076966 0.534328\nl 351 0.095387 0.511539 0.351607\nl 351 0.061450 0.458991 0.378495\nl 351 0.064349 0.387056 0.393850\nl 351 0.102586 0.333708 0.389535\nl 351 0.184497 0.320211 0.369229\nl 351 0.252624 0.354181 0.342165\nl 351 0.274291 0.580791 0.135628\nl 351 0.335232 0.422033 0.151893\nl 448 0.011481 0.152727 0.702679\nl 351 0.077027 0.614126 0.187756\nl 391 0.471796 0.278130 0.007161\nl 351 0.006852 0.377550 0.257451\nl 351 0.089599 0.304275 0.253814\nl 351 0.184332 0.285461 0.268973\nl 351 0.284363 0.332348 0.188609\nl 425 0.015192 0.265745 0.137358\nl 351 0.340663 0.424442 0.007790\nl 425 0.014631 0.152251 0.112013\nl 351 0.062667 0.630976 0.049369\nl 391 0.412502 0.434965 0.142219\nl 351 0.007984 0.374067 0.127326\nl 351 0.076388 0.292659 0.121508\nl 351 0.178360 0.338752 0.194588\nl 351 0.175258 0.398923 0.062114\nl 351 0.123126 0.341018 0.099072\nl 351 0.127110 0.348896 0.146603\nl 351 0.218720 0.362948 0.130495\nl 351 0.222704 0.358040 0.052642\nl 351 0.286508 0.324183 0.048077\nl 425 0.225400 0.098159 0.352212\nl 425 0.214389 0.135092 0.394101\nl 425 0.215380 0.017113 0.359171\nl 382 0.133776 0.041082 0.403785\nl 382 0.068897 0.073251 0.378340\nl 382 0.063483 0.026936 0.324700\nl 425 0.083923 0.034444 0.620422\nl 425 0.041273 0.145806 0.487423\nl 351 0.132495 0.363426 0.023845\nl 425 0.004142 0.200509 0.423742\nl 425 0.172956 0.138261 0.475140\nl 382 0.298064 0.008130 0.233297\nl 425 0.295480 0.018432 0.492546\nl 382 0.249995 0.075682 0.260441\nl 382 0.191322 0.134126 0.268281\nl 382 0.152242 0.153505 0.252954\nl 382 0.148961 0.125599 0.220657\nl 382 0.183256 0.065158 0.188395\nl 425 0.180368 0.049244 0.600991\nl 425 0.239368 0.001357 0.590229\nl 472 0.545885 0.212773 0.097100\nl 393 0.006615 0.658304 0.136485\nl 302 0.647885 0.060487 0.128650\nl 302 0.540054 0.019046 0.155425\nl 472 0.424759 0.163871 0.108885\nl 302 0.354709 0.061029 0.229045\nl 278 0.185647 0.235763 0.144364\nl 278 0.139814 0.183696 0.144936\nl 302 0.074321 0.349335 0.476601\nl 278 0.045167 0.129142 0.418111\nl 278 0.217322 0.366733 0.109939\nl 278 0.094927 0.202032 0.418319\nl 278 0.252288 0.448460 0.115734\nl 278 0.054751 0.487576 0.256896\nl 393 0.031362 0.503477 0.199366\nl 393 0.094128 0.540327 0.130250\nl 393 0.011516 0.442928 0.296611\nl 393 0.300899 0.316530 0.348331\nl 393 0.149133 0.368827 0.385320\nl 393 0.325345 0.351716 0.286857\nl 393 0.209664 0.456388 0.232353\nl 366 0.028671 0.281924 0.331589\nl 366 0.022900 0.335238 0.291309\nl 393 0.190194 0.485889 0.149984\nl 366 0.013123 0.217703 0.399690\nl 393 0.248391 0.326647 0.063823\nl 393 0.165017 0.327705 0.299275\nl 393 0.277660 0.287227 0.119816\nl 393 0.328901 0.262121 0.147640\nl 393 0.375042 0.264582 0.132628\nl 393 0.397223 0.293453 0.081143\nl 393 0.383772 0.333981 0.019580\nl 366 0.206348 0.386308 0.278621\nl 366 0.203416 0.440248 0.235209\nl 366 0.173924 0.343207 0.343817\nl 366 0.103430 0.367480 0.384982\nl 366 0.046971 0.410264 0.398035\nl 366 0.021525 0.468630 0.370578\nl 366 0.040575 0.511766 0.317090\nl 366 0.096037 0.522112 0.259617\nl 366 0.159454 0.494014 0.227932\nl 430 0.212035 0.211292 0.098763\nl 430 0.206736 0.219501 0.044536\nl 430 0.203550 0.194544 0.213844\nl 430 0.089395 0.192513 0.252569\nl 430 0.020388 0.190734 0.279759\nl 367 0.171598 0.548386 0.017723\nl 430 0.009413 0.206021 0.178828\nl 430 0.088938 0.219109 0.107608\nl 430 0.152331 0.221373 0.043723\nl 439 0.085907 0.059661 0.477237\nl 439 0.178839 0.002274 0.523298\nl 430 0.111511 0.439182 0.089534\nl 367 0.357882 0.423590 0.058608\nl 367 0.181301 0.358273 0.184604\nl 367 0.098605 0.371218 0.249484\nl 367 0.153521 0.455583 0.218972\nl 301 0.004248 0.314243 0.572299\nl 301 0.128147 0.262702 0.547084\nl 301 0.223068 0.402188 0.352066\nl 301 0.308583 0.170249 0.376835\nl 430 0.063542 0.627304 0.014238\nl 367 0.436850 0.273718 0.134927\nl 367 0.070948 0.164720 0.401622\nl 367 0.034261 0.233229 0.436345\nl 367 0.080707 0.329480 0.414375\nl 301 0.014500 0.242821 0.486177\nl 301 0.209640 0.143570 0.409831\nl 301 0.232084 0.375186 0.226761\nl 301 0.323461 0.127557 0.253069\nl 301 0.057359 0.649467 0.220407\nl 367 0.416832 0.147131 0.278096\nl 407 0.022076 0.561482 0.392647\nl 407 0.163289 0.494466 0.221875\nl 367 0.028011 0.208025 0.583211\nl 301 0.020011 0.280462 0.417841\nl 301 0.039294 0.301916 0.298043\nl 367 0.192694 0.272697 0.461187\nl 367 0.214596 0.315243 0.397531\nl 301 0.099226 0.239095 0.362696\nl 301 0.116607 0.202164 0.294338\nl 301 0.217481 0.094493 0.289472\nl 301 0.193167 0.266814 0.113443\nl 301 0.235249 0.154057 0.124532\nl 301 0.052374 0.449037 0.116273\nl 367 0.324732 0.064508 0.504708\nl 383 0.121494 0.627706 0.027370\nl 383 0.015977 0.725883 0.007026\nl 367 0.089820 0.101296 0.689059\nl 301 0.043529 0.231057 0.222000\nl 367 0.237232 0.233594 0.491391\nl 301 0.093288 0.222565 0.243602\nl 301 0.184893 0.107996 0.148936\nl 301 0.109610 0.279307 0.075212\nl 301 0.134947 0.211399 0.081899\nl 301 0.041569 0.354483 0.079583\nl 367 0.323741 0.054339 0.571908\nl 367 0.215859 0.018602 0.649209\nl 367 0.158618 0.027561 0.694128\nl 367 0.182205 0.076502 0.682967\nl 301 0.040746 0.160304 0.147130\nl 301 0.033965 0.208483 0.112209\nl 301 0.104613 0.183645 0.096605\nl 366 0.109219 0.167318 0.147342\nl 366 0.290933 0.269313 0.087687\nl 366 0.279718 0.320722 0.048974\nl 366 0.101861 0.218619 0.105179\nl 366 0.097259 0.109084 0.219630\nl 366 0.279093 0.232636 0.141130\nl 366 0.030104 0.162931 0.246858\nl 366 0.232614 0.264549 0.168491\nl 393 0.205951 0.535726 0.020234\nl 366 0.191293 0.312177 0.172827\nl 393 0.257843 0.510303 0.048411\nl 366 0.165825 0.370623 0.145328\nl 393 0.298862 0.520874 0.036319\nl 366 0.169667 0.409031 0.100513\nl 366 0.009849 0.309771 0.125192\nl 366 0.201065 0.411775 0.056840\nl 366 0.062287 0.275016 0.096670\nl 366 0.243957 0.377173 0.036932\nl 440 0.033468 0.535356 0.045195\nl 440 0.099249 0.431239 0.103106\nl 366 0.595821 0.334796 0.054574\nl 430 0.501139 0.000282 0.081496\nl 430 0.432512 0.009255 0.097206\nl 430 0.400989 0.014576 0.068147\nl 430 0.423195 0.013418 0.009686\nl 440 0.040832 0.464178 0.025797\nl 440 0.130878 0.358712 0.122672\nl 471 0.122959 0.113072 0.323326\nl 440 0.258584 0.427051 0.007300\nl 439 0.143910 0.506696 0.271705\nl 439 0.096105 0.347531 0.406780\nl 439 0.067094 0.266896 0.475132\nl 439 0.121739 0.196271 0.537978\nl 439 0.231151 0.172954 0.562155\nl 471 0.100440 0.168896 0.469509\nl 440 0.292375 0.334302 0.025829\nl 471 0.306322 0.112018 0.206206\nl 471 0.016655 0.432156 0.193000\nl 439 0.249786 0.416825 0.175523\nl 439 0.214490 0.263769 0.300902\nl 439 0.212057 0.069672 0.459649\nl 301 0.321367 0.145878 0.529646\nl 301 0.416304 0.002972 0.545226\nl 471 0.197761 0.215841 0.467848\nl 471 0.105384 0.357639 0.331294\nl 471 0.505484 0.085798 0.191820\nl 471 0.196371 0.427561 0.177648\nl 439 0.421048 0.272612 0.141813\nl 439 0.374071 0.111302 0.273263\nl 301 0.290937 0.245507 0.380029\nl 301 0.341904 0.093106 0.407201\nl 173 0.330887 0.096832 0.166338\nl 471 0.334096 0.152064 0.440127\nl 173 0.497302 0.108775 0.017382\nl 173 0.408804 0.101183 0.092668\nl 173 0.448841 0.057804 0.044661\nl 471 0.307365 0.231824 0.363773\nl 471 0.384313 0.256273 0.346325\nl 471 0.245485 0.400078 0.300096\nl 173 0.594972 0.163022 0.044479\nl 173 0.441837 0.323674 0.050728\nl 301 0.683300 0.043275 0.212911\nl 301 0.548453 0.083051 0.225883\nl 301 0.432528 0.097891 0.244615\nl 301 0.428064 0.011805 0.263841\nl 173 0.309379 0.188510 0.265047\nl 173 0.371376 0.237110 0.116893\nl 173 0.412642 0.135414 0.125784\nl 173 0.411686 0.236128 0.048548\nl 173 0.307494 0.393873 0.110131\nl 173 0.518325 0.196539 0.144164\nl 173 0.444002 0.236922 0.173911\nl 173 0.577983 0.092067 0.173648\nl 173 0.578284 0.025589 0.224047\nl 173 0.519591 0.030940 0.269300\nl 173 0.425772 0.106280 0.290730\nl 173 0.346298 0.211884 0.277028\nl 173 0.238179 0.365960 0.223019\nl 173 0.313710 0.304287 0.234001\nl 393 0.116482 0.298238 0.368466\nl 393 0.249707 0.167854 0.251015\nl 393 0.300936 0.155276 0.249094\nl 393 0.174852 0.283960 0.366191\nl 393 0.032922 0.303519 0.407674\nl 393 0.193355 0.164257 0.294541\nl 393 0.043590 0.256526 0.512575\nl 393 0.185738 0.131438 0.377251\nl 393 0.062481 0.220905 0.585372\nl 393 0.202367 0.100226 0.441061\nl 393 0.114368 0.195481 0.613561\nl 393 0.247935 0.077898 0.465817\nl 393 0.171853 0.193672 0.582256\nl 393 0.298381 0.076240 0.438435\nl 393 0.211319 0.216098 0.504600\nl 393 0.333011 0.095816 0.370436\nl 393 0.212229 0.251321 0.420469\nl 393 0.333775 0.126656 0.296688\nl 393 0.449086 0.000189 0.026777\nl 375 0.493297 0.480152 0.014974\nl 393 0.339575 0.007963 0.066078\nl 375 0.286674 0.460510 0.177809\nl 375 0.266610 0.393766 0.229356\nl 375 0.282682 0.329428 0.247884\nl 375 0.326413 0.301385 0.223665\nl 375 0.403653 0.381557 0.122912\nl 375 0.478973 0.405264 0.061106\nl 407 0.371846 0.054353 0.432159\nl 407 0.440865 0.042149 0.339944\nl 407 0.257852 0.030809 0.586497\nl 358 0.215037 0.001437 0.547262\nl 375 0.183583 0.453454 0.073639\nl 375 0.206234 0.362754 0.099775\nl 375 0.271059 0.324590 0.063373\nl 358 0.383983 0.050326 0.313567\nl 358 0.463312 0.172638 0.274495\nl 367 0.017306 0.128819 0.294307\nl 407 0.289770 0.261930 0.347488\nl 407 0.054173 0.186093 0.666390\nl 358 0.131829 0.192261 0.509508\nl 375 0.069143 0.479763 0.003209\nl 375 0.104185 0.363402 0.021960\nl 358 0.233809 0.065891 0.257497\nl 358 0.370450 0.160386 0.187000\nl 358 0.479016 0.386954 0.089175\nl 407 0.038606 0.371554 0.509099\nl 407 0.236403 0.295685 0.243900\nl 383 0.008792 0.197327 0.228509\nl 358 0.079076 0.340333 0.408296\nl 250 0.119985 0.386548 0.490589\nl 358 0.079826 0.128572 0.266077\nl 358 0.190412 0.202314 0.133148\nl 358 0.334370 0.251327 0.174804\nl 358 0.288269 0.415212 0.113789\nl 358 0.238287 0.295957 0.127372\nl 358 0.252015 0.246796 0.176187\nl 358 0.370257 0.380950 0.111272\nl 358 0.360276 0.476024 0.031847\nl 359 0.405885 0.054737 0.466843\nl 407 0.221313 0.106431 0.080732\nl 359 0.272294 0.116225 0.588798\nl 358 0.179505 0.659327 0.124823\nl 358 0.094986 0.511703 0.165674\nl 358 0.051526 0.406336 0.167064\nl 358 0.078737 0.372626 0.099819\nl 359 0.161700 0.000650 0.427289\nl 359 0.270416 0.005398 0.497843\nl 358 0.230014 0.400307 0.073361\nl 358 0.318112 0.520300 0.011049\nl 359 0.229843 0.153850 0.455008\nl 359 0.189989 0.056787 0.654911\nl 359 0.173948 0.115877 0.569959\nl 358 0.180198 0.688020 0.009215\nl 358 0.122390 0.607636 0.050857\nl 358 0.096203 0.544159 0.051704\nl 358 0.112611 0.523838 0.011174\nl 359 0.115532 0.053899 0.473002\nl 359 0.138998 0.135486 0.377940\nl 359 0.125551 0.114693 0.451233\nl 302 0.673462 0.110384 0.176066\nl 302 0.136010 0.213894 0.377153\n"
  },
  {
    "path": "data/irregular_plane.obj",
    "content": "# This file uses centimeters as units for non-parametric coordinates.\n\nv -0.500000 -0.000000 0.500000\nv -0.475000 -0.000000 0.500000\nv -0.450000 -0.000000 0.500000\nv -0.425000 -0.000000 0.500000\nv -0.400000 -0.000000 0.500000\nv -0.375000 -0.000000 0.500000\nv -0.350000 -0.000000 0.500000\nv -0.325000 -0.000000 0.500000\nv -0.300000 -0.000000 0.500000\nv -0.275000 -0.000000 0.500000\nv -0.250000 -0.000000 0.500000\nv -0.225000 -0.000000 0.500000\nv -0.200000 -0.000000 0.500000\nv -0.175000 -0.000000 0.500000\nv -0.150000 -0.000000 0.500000\nv -0.125000 -0.000000 0.500000\nv -0.100000 -0.000000 0.500000\nv -0.075000 -0.000000 0.500000\nv -0.050000 -0.000000 0.500000\nv -0.025000 -0.000000 0.500000\nv 0.000000 -0.000000 0.500000\nv 0.025000 -0.000000 0.500000\nv 0.050000 -0.000000 0.500000\nv 0.075000 -0.000000 0.500000\nv 0.100000 -0.000000 0.500000\nv 0.125000 -0.000000 0.500000\nv 0.150000 -0.000000 0.500000\nv 0.175000 -0.000000 0.500000\nv 0.200000 -0.000000 0.500000\nv 0.225000 -0.000000 0.500000\nv 0.250000 -0.000000 0.500000\nv 0.275000 -0.000000 0.500000\nv 0.300000 -0.000000 0.500000\nv 0.325000 -0.000000 0.500000\nv 0.350000 -0.000000 0.500000\nv 0.375000 -0.000000 0.500000\nv 0.400000 -0.000000 0.500000\nv 0.425000 -0.000000 0.500000\nv 0.450000 -0.000000 0.500000\nv 0.475000 -0.000000 0.500000\nv 0.500000 -0.000000 0.500000\nv -0.500000 -0.000000 0.475000\nv -0.471207 -0.000000 0.472487\nv -0.439140 -0.000000 0.466790\nv -0.409409 -0.000000 0.471668\nv -0.384372 -0.000000 0.473233\nv -0.362934 -0.000000 0.471006\nv -0.342466 -0.000000 0.479358\nv -0.314096 -0.000000 0.475515\nv -0.291213 -0.000000 0.470303\nv -0.267785 -0.000000 0.478732\nv -0.237939 -0.000000 0.476925\nv -0.215440 -0.000000 0.473900\nv -0.192709 -0.000000 0.480921\nv -0.161910 -0.000000 0.479620\nv -0.140235 -0.000000 0.482363\nv -0.123206 -0.000000 0.474301\nv -0.097681 -0.000000 0.476731\nv -0.071103 -0.000000 0.474036\nv -0.050191 -0.000000 0.482754\nv -0.027035 -0.000000 0.467328\nv -0.001420 -0.000000 0.476052\nv 0.027704 -0.000000 0.482430\nv 0.054716 -0.000000 0.482346\nv 0.074402 -0.000000 0.470575\nv 0.102956 -0.000000 0.481620\nv 0.128981 -0.000000 0.483232\nv 0.145523 -0.000000 0.471901\nv 0.164856 -0.000000 0.481197\nv 0.185524 -0.000000 0.479480\nv 0.209793 -0.000000 0.479258\nv 0.234164 -0.000000 0.478884\nv 0.258480 -0.000000 0.477699\nv 0.286136 -0.000000 0.472322\nv 0.316880 -0.000000 0.477969\nv 0.345084 -0.000000 0.485083\nv 0.366037 -0.000000 0.471729\nv 0.394395 -0.000000 0.482700\nv 0.413593 -0.000000 0.471490\nv 0.443338 -0.000000 0.475130\nv 0.470291 -0.000000 0.467435\nv 0.500000 -0.000000 0.475000\nv -0.500000 -0.000000 0.450000\nv -0.463107 -0.000000 0.443137\nv -0.438585 -0.000000 0.437143\nv -0.416702 -0.000000 0.443118\nv -0.391271 -0.000000 0.446894\nv -0.367653 -0.000000 0.449863\nv -0.345212 -0.000000 0.452611\nv -0.325056 -0.000000 0.456418\nv -0.300880 -0.000000 0.447057\nv -0.273347 -0.000000 0.450263\nv -0.247039 -0.000000 0.453693\nv -0.222408 -0.000000 0.455280\nv -0.199181 -0.000000 0.456431\nv -0.172465 -0.000000 0.456561\nv -0.141077 -0.000000 0.457937\nv -0.112063 -0.000000 0.454544\nv -0.095462 -0.000000 0.455522\nv -0.079643 -0.000000 0.455549\nv -0.053015 -0.000000 0.455219\nv -0.029253 -0.000000 0.443334\nv -0.003344 -0.000000 0.446726\nv 0.019151 -0.000000 0.459912\nv 0.046482 -0.000000 0.458776\nv 0.071380 -0.000000 0.445891\nv 0.095890 -0.000000 0.454920\nv 0.121437 -0.000000 0.462684\nv 0.139638 -0.000000 0.449734\nv 0.168253 -0.000000 0.454652\nv 0.195266 -0.000000 0.461835\nv 0.218833 -0.000000 0.455408\nv 0.242905 -0.000000 0.461000\nv 0.262707 -0.000000 0.454042\nv 0.282448 -0.000000 0.446991\nv 0.307482 -0.000000 0.449630\nv 0.337608 -0.000000 0.460825\nv 0.357406 -0.000000 0.448804\nv 0.386760 -0.000000 0.453005\nv 0.418492 -0.000000 0.446643\nv 0.451013 -0.000000 0.440364\nv 0.482115 -0.000000 0.446695\nv 0.500000 -0.000000 0.450000\nv -0.500000 -0.000000 0.425000\nv -0.479681 -0.000000 0.416465\nv -0.450053 -0.000000 0.415962\nv -0.423960 -0.000000 0.416739\nv -0.397897 -0.000000 0.419524\nv -0.371655 -0.000000 0.424020\nv -0.350546 -0.000000 0.431483\nv -0.322687 -0.000000 0.427615\nv -0.299891 -0.000000 0.425953\nv -0.279976 -0.000000 0.423452\nv -0.253271 -0.000000 0.428449\nv -0.227563 -0.000000 0.432620\nv -0.207361 -0.000000 0.438231\nv -0.184768 -0.000000 0.433812\nv -0.155209 -0.000000 0.430767\nv -0.122511 -0.000000 0.427555\nv -0.092489 -0.000000 0.435360\nv -0.068146 -0.000000 0.436574\nv -0.045767 -0.000000 0.427138\nv -0.017121 -0.000000 0.420421\nv 0.005926 -0.000000 0.424557\nv 0.026335 -0.000000 0.435693\nv 0.051699 -0.000000 0.434755\nv 0.070304 -0.000000 0.422424\nv 0.089531 -0.000000 0.434081\nv 0.115664 -0.000000 0.434823\nv 0.147356 -0.000000 0.424742\nv 0.173960 -0.000000 0.428044\nv 0.193969 -0.000000 0.440472\nv 0.215416 -0.000000 0.427496\nv 0.240386 -0.000000 0.439055\nv 0.265955 -0.000000 0.427296\nv 0.290019 -0.000000 0.431765\nv 0.306559 -0.000000 0.425848\nv 0.332807 -0.000000 0.431810\nv 0.363871 -0.000000 0.426723\nv 0.393586 -0.000000 0.423022\nv 0.422705 -0.000000 0.416901\nv 0.448792 -0.000000 0.407403\nv 0.471394 -0.000000 0.422386\nv 0.500000 -0.000000 0.425000\nv -0.500000 -0.000000 0.400000\nv -0.483360 -0.000000 0.390210\nv -0.461270 -0.000000 0.390971\nv -0.433763 -0.000000 0.391358\nv -0.406828 -0.000000 0.393395\nv -0.377057 -0.000000 0.393062\nv -0.345604 -0.000000 0.403393\nv -0.318358 -0.000000 0.398384\nv -0.296100 -0.000000 0.405785\nv -0.277114 -0.000000 0.403104\nv -0.259383 -0.000000 0.403741\nv -0.232440 -0.000000 0.407086\nv -0.202968 -0.000000 0.413145\nv -0.171524 -0.000000 0.407917\nv -0.139005 -0.000000 0.401018\nv -0.118014 -0.000000 0.405267\nv -0.099817 -0.000000 0.408246\nv -0.069853 -0.000000 0.409776\nv -0.037254 0.000000 0.397750\nv -0.013513 0.000000 0.397803\nv 0.003328 -0.000000 0.405954\nv 0.020427 -0.000000 0.414210\nv 0.044012 -0.000000 0.411179\nv 0.070790 0.000000 0.396369\nv 0.094450 -0.000000 0.412531\nv 0.121410 -0.000000 0.405317\nv 0.144526 -0.000000 0.395931\nv 0.168129 -0.000000 0.404964\nv 0.192162 -0.000000 0.415569\nv 0.210656 -0.000000 0.405424\nv 0.236586 -0.000000 0.409244\nv 0.261928 -0.000000 0.400996\nv 0.287732 -0.000000 0.409183\nv 0.314839 -0.000000 0.406979\nv 0.341989 -0.000000 0.404006\nv 0.370764 -0.000000 0.399805\nv 0.399001 -0.000000 0.395149\nv 0.425410 -0.000000 0.388898\nv 0.447209 -0.000000 0.383432\nv 0.475072 -0.000000 0.392491\nv 0.500000 -0.000000 0.400000\nv -0.500000 -0.000000 0.375000\nv -0.475868 -0.000000 0.368626\nv -0.444945 -0.000000 0.363246\nv -0.415599 -0.000000 0.367904\nv -0.392798 -0.000000 0.371879\nv -0.371457 -0.000000 0.362654\nv -0.353315 -0.000000 0.376708\nv -0.325775 -0.000000 0.372645\nv -0.301754 -0.000000 0.382623\nv -0.273104 -0.000000 0.379568\nv -0.240552 -0.000000 0.380995\nv -0.211058 -0.000000 0.383782\nv -0.186219 -0.000000 0.388823\nv -0.161106 0.000000 0.380184\nv -0.134025 0.000000 0.371331\nv -0.110793 0.000000 0.384436\nv -0.085333 0.000000 0.387366\nv -0.060243 0.000000 0.376331\nv -0.036088 0.000000 0.373139\nv -0.018249 0.000000 0.380034\nv 0.001707 0.000000 0.385139\nv 0.022535 0.000000 0.393911\nv 0.046020 0.000000 0.381242\nv 0.070946 0.000000 0.368714\nv 0.099058 0.000000 0.382460\nv 0.127487 0.000000 0.381714\nv 0.142942 0.000000 0.380640\nv 0.159937 0.000000 0.378522\nv 0.190945 -0.000000 0.387255\nv 0.218276 -0.000000 0.387765\nv 0.243626 -0.000000 0.376938\nv 0.275857 -0.000000 0.382509\nv 0.299114 -0.000000 0.389113\nv 0.320957 -0.000000 0.382092\nv 0.348814 -0.000000 0.376783\nv 0.377435 -0.000000 0.373281\nv 0.404200 -0.000000 0.369102\nv 0.430630 -0.000000 0.361492\nv 0.456193 -0.000000 0.366935\nv 0.477029 -0.000000 0.359811\nv 0.500000 -0.000000 0.375000\nv -0.500000 -0.000000 0.350000\nv -0.465669 -0.000000 0.342358\nv -0.440324 -0.000000 0.336422\nv -0.422218 -0.000000 0.345163\nv -0.393163 -0.000000 0.342481\nv -0.365760 -0.000000 0.340025\nv -0.346821 -0.000000 0.351921\nv -0.319210 0.000000 0.338809\nv -0.295589 -0.000000 0.356901\nv -0.266858 0.000000 0.345254\nv -0.247745 0.000000 0.358450\nv -0.219777 0.000000 0.353600\nv -0.184579 0.000000 0.359319\nv -0.151449 0.000000 0.353009\nv -0.128490 0.000000 0.349800\nv -0.113464 0.000000 0.359891\nv -0.086041 0.000000 0.358324\nv -0.063278 0.000000 0.355829\nv -0.043953 0.000000 0.352575\nv -0.020793 0.000000 0.359338\nv -0.003593 0.000000 0.367420\nv 0.019722 0.000000 0.366091\nv 0.048146 0.000000 0.351570\nv 0.070500 0.000000 0.347720\nv 0.091222 0.000000 0.353333\nv 0.117195 0.000000 0.359663\nv 0.139899 0.000000 0.366629\nv 0.155348 0.000000 0.355951\nv 0.177926 0.000000 0.358689\nv 0.209688 0.000000 0.360202\nv 0.236645 0.000000 0.344090\nv 0.266593 0.000000 0.354088\nv 0.296308 -0.000000 0.364980\nv 0.324827 -0.000000 0.350897\nv 0.357059 -0.000000 0.350801\nv 0.384902 -0.000000 0.348204\nv 0.407935 -0.000000 0.347718\nv 0.422497 -0.000000 0.336970\nv 0.451072 -0.000000 0.337502\nv 0.479870 -0.000000 0.336972\nv 0.500000 -0.000000 0.350000\nv -0.500000 -0.000000 0.325000\nv -0.481227 -0.000000 0.320335\nv -0.451711 -0.000000 0.315564\nv -0.417162 -0.000000 0.315846\nv -0.388623 -0.000000 0.314228\nv -0.371913 -0.000000 0.322339\nv -0.345612 0.000000 0.320875\nv -0.314642 0.000000 0.307996\nv -0.287063 0.000000 0.322747\nv -0.259271 0.000000 0.321073\nv -0.238627 0.000000 0.333070\nv -0.218594 0.000000 0.332304\nv -0.197557 0.000000 0.327649\nv -0.165130 0.000000 0.328579\nv -0.135563 0.000000 0.329212\nv -0.108101 0.000000 0.335885\nv -0.084341 0.000000 0.331030\nv -0.062946 0.000000 0.336369\nv -0.041869 0.000000 0.331083\nv -0.022546 0.000000 0.336448\nv -0.000375 0.000000 0.346848\nv 0.023616 0.000000 0.337001\nv 0.044737 0.000000 0.326672\nv 0.061527 0.000000 0.334076\nv 0.080720 0.000000 0.331287\nv 0.109006 0.000000 0.330588\nv 0.136613 0.000000 0.343665\nv 0.162490 0.000000 0.332580\nv 0.189313 0.000000 0.337993\nv 0.211294 0.000000 0.329080\nv 0.232233 0.000000 0.319694\nv 0.256641 0.000000 0.324878\nv 0.290680 0.000000 0.331430\nv 0.319028 0.000000 0.320177\nv 0.341163 -0.000000 0.330290\nv 0.365381 -0.000000 0.325550\nv 0.397551 -0.000000 0.322933\nv 0.425392 -0.000000 0.315302\nv 0.445792 -0.000000 0.310064\nv 0.471277 -0.000000 0.312572\nv 0.500000 -0.000000 0.325000\nv -0.500000 -0.000000 0.300000\nv -0.470016 -0.000000 0.289114\nv -0.435962 -0.000000 0.289380\nv -0.411042 -0.000000 0.287314\nv -0.394458 -0.000000 0.296372\nv -0.366586 0.000000 0.294233\nv -0.334637 0.000000 0.291048\nv -0.311605 0.000000 0.283732\nv -0.290014 0.000000 0.291018\nv -0.264180 0.000000 0.298501\nv -0.239871 0.000000 0.306056\nv -0.218593 0.000000 0.315127\nv -0.199850 0.000000 0.302368\nv -0.176685 0.000000 0.302673\nv -0.145186 0.000000 0.300003\nv -0.115236 0.000000 0.308417\nv -0.093773 0.000000 0.315022\nv -0.070967 0.000000 0.309927\nv -0.050311 0.000000 0.316351\nv -0.029666 0.000000 0.314071\nv 0.001320 0.000000 0.315251\nv 0.028153 0.000000 0.316053\nv 0.043443 0.000000 0.308302\nv 0.063583 0.000000 0.313532\nv 0.088575 0.000000 0.308953\nv 0.112977 0.000000 0.300746\nv 0.135889 0.000000 0.317007\nv 0.157223 0.000000 0.305502\nv 0.185326 0.000000 0.309741\nv 0.214772 0.000000 0.303141\nv 0.242008 0.000000 0.297592\nv 0.271917 0.000000 0.302713\nv 0.299700 0.000000 0.302617\nv 0.318336 0.000000 0.301879\nv 0.339684 0.000000 0.304217\nv 0.372113 0.000000 0.297056\nv 0.404814 -0.000000 0.289919\nv 0.430751 -0.000000 0.294544\nv 0.450546 -0.000000 0.290475\nv 0.471716 -0.000000 0.288043\nv 0.500000 -0.000000 0.300000\nv -0.500000 -0.000000 0.275000\nv -0.474048 -0.000000 0.259751\nv -0.447242 -0.000000 0.263822\nv -0.418734 -0.000000 0.264715\nv -0.389050 0.000000 0.270365\nv -0.362807 0.000000 0.265808\nv -0.345922 0.000000 0.273085\nv -0.323747 0.000000 0.266602\nv -0.295251 0.000000 0.262219\nv -0.267668 0.000000 0.271207\nv -0.241514 0.000000 0.279227\nv -0.217352 0.000000 0.289682\nv -0.189316 0.000000 0.277032\nv -0.163354 0.000000 0.280816\nv -0.142001 0.000000 0.270245\nv -0.118636 0.000000 0.280594\nv -0.090371 0.000000 0.290244\nv -0.069005 0.000000 0.290322\nv -0.046198 0.000000 0.290718\nv -0.018475 0.000000 0.295076\nv 0.002151 0.000000 0.283721\nv 0.027663 0.000000 0.293468\nv 0.053113 0.000000 0.292220\nv 0.073049 0.000000 0.293812\nv 0.092226 0.000000 0.284260\nv 0.115127 0.000000 0.274739\nv 0.137190 0.000000 0.289426\nv 0.165385 0.000000 0.279139\nv 0.197064 0.000000 0.281253\nv 0.220954 0.000000 0.281889\nv 0.238509 0.000000 0.270288\nv 0.259335 0.000000 0.280984\nv 0.283398 0.000000 0.279119\nv 0.315094 0.000000 0.280690\nv 0.346937 0.000000 0.274169\nv 0.378512 0.000000 0.265754\nv 0.402251 0.000000 0.266970\nv 0.427319 -0.000000 0.267054\nv 0.456513 -0.000000 0.270658\nv 0.480291 -0.000000 0.266550\nv 0.500000 -0.000000 0.275000\nv -0.500000 -0.000000 0.250000\nv -0.472208 -0.000000 0.237382\nv -0.454888 -0.000000 0.243225\nv -0.429928 -0.000000 0.236824\nv -0.399365 0.000000 0.240702\nv -0.370632 0.000000 0.243605\nv -0.342082 0.000000 0.247919\nv -0.313314 0.000000 0.241866\nv -0.290490 0.000000 0.236458\nv -0.270340 0.000000 0.244990\nv -0.245069 0.000000 0.251612\nv -0.215296 0.000000 0.258660\nv -0.189222 0.000000 0.251015\nv -0.163836 0.000000 0.254492\nv -0.138630 0.000000 0.248152\nv -0.122652 0.000000 0.257868\nv -0.096614 0.000000 0.257261\nv -0.068592 0.000000 0.270736\nv -0.042693 0.000000 0.257888\nv -0.020038 0.000000 0.272057\nv 0.000104 0.000000 0.261870\nv 0.022302 0.000000 0.265140\nv 0.043176 0.000000 0.274209\nv 0.067828 0.000000 0.270533\nv 0.095931 0.000000 0.257300\nv 0.115878 0.000000 0.257304\nv 0.136730 0.000000 0.259909\nv 0.160865 0.000000 0.252151\nv 0.183565 0.000000 0.256533\nv 0.212642 0.000000 0.257513\nv 0.235323 0.000000 0.248637\nv 0.261081 0.000000 0.255510\nv 0.293542 0.000000 0.252534\nv 0.324368 0.000000 0.250637\nv 0.352099 0.000000 0.246902\nv 0.373138 0.000000 0.240230\nv 0.398486 0.000000 0.245261\nv 0.422614 -0.000000 0.237541\nv 0.452768 -0.000000 0.241228\nv 0.481091 -0.000000 0.240963\nv 0.500000 -0.000000 0.250000\nv -0.500000 -0.000000 0.225000\nv -0.481058 -0.000000 0.215568\nv -0.451109 -0.000000 0.218400\nv -0.429783 0.000000 0.215001\nv -0.408583 0.000000 0.212019\nv -0.379505 0.000000 0.216829\nv -0.351274 0.000000 0.220193\nv -0.327261 0.000000 0.224541\nv -0.301424 0.000000 0.213722\nv -0.272446 0.000000 0.219738\nv -0.251508 0.000000 0.229030\nv -0.224471 0.000000 0.226907\nv -0.200557 0.000000 0.235593\nv -0.177407 0.000000 0.229642\nv -0.147311 0.000000 0.225053\nv -0.117609 0.000000 0.233486\nv -0.091870 0.000000 0.229983\nv -0.066845 0.000000 0.238490\nv -0.039416 0.000000 0.232247\nv -0.015200 0.000000 0.243603\nv 0.011272 0.000000 0.245281\nv 0.026736 0.000000 0.247929\nv 0.045013 0.000000 0.250137\nv 0.072397 0.000000 0.242417\nv 0.092387 0.000000 0.234855\nv 0.115846 0.000000 0.237609\nv 0.147065 0.000000 0.229575\nv 0.171789 0.000000 0.235996\nv 0.193914 0.000000 0.233602\nv 0.219507 0.000000 0.230886\nv 0.245136 0.000000 0.229322\nv 0.272684 0.000000 0.228116\nv 0.304933 0.000000 0.221452\nv 0.333891 0.000000 0.228351\nv 0.356014 0.000000 0.222509\nv 0.380788 0.000000 0.220896\nv 0.405019 0.000000 0.218573\nv 0.429618 0.000000 0.215696\nv 0.452405 -0.000000 0.209401\nv 0.472433 -0.000000 0.222061\nv 0.500000 -0.000000 0.225000\nv -0.500000 -0.000000 0.200000\nv -0.483737 -0.000000 0.190173\nv -0.460414 -0.000000 0.188054\nv -0.429637 0.000000 0.192828\nv -0.404664 0.000000 0.186738\nv -0.387481 0.000000 0.195356\nv -0.359988 0.000000 0.189266\nv -0.328522 0.000000 0.199205\nv -0.302640 0.000000 0.182207\nv -0.275773 0.000000 0.192350\nv -0.245560 0.000000 0.202184\nv -0.217071 0.000000 0.199625\nv -0.196715 0.000000 0.212074\nv -0.167178 0.000000 0.200040\nv -0.141363 0.000000 0.199972\nv -0.125560 0.000000 0.210102\nv -0.100971 0.000000 0.206531\nv -0.077517 0.000000 0.214551\nv -0.051437 0.000000 0.207354\nv -0.021021 0.000000 0.214327\nv 0.005301 0.000000 0.222166\nv 0.028365 0.000000 0.231522\nv 0.054349 0.000000 0.219844\nv 0.078984 0.000000 0.222361\nv 0.098902 0.000000 0.215022\nv 0.124252 0.000000 0.209889\nv 0.146500 0.000000 0.203522\nv 0.173761 0.000000 0.208504\nv 0.202520 0.000000 0.212620\nv 0.227825 0.000000 0.204033\nv 0.254730 0.000000 0.209131\nv 0.277013 0.000000 0.201093\nv 0.301121 0.000000 0.189304\nv 0.332291 0.000000 0.200473\nv 0.364156 0.000000 0.198428\nv 0.388168 0.000000 0.200566\nv 0.410649 0.000000 0.191629\nv 0.434420 0.000000 0.195913\nv 0.449349 -0.000000 0.187832\nv 0.475956 -0.000000 0.193751\nv 0.500000 -0.000000 0.200000\nv -0.500000 -0.000000 0.175000\nv -0.477252 -0.000000 0.172262\nv -0.460040 -0.000000 0.159054\nv -0.440205 0.000000 0.168148\nv -0.412930 0.000000 0.161539\nv -0.384911 0.000000 0.172052\nv -0.359705 0.000000 0.155906\nv -0.328934 0.000000 0.165527\nv -0.301826 0.000000 0.157929\nv -0.279803 0.000000 0.164752\nv -0.253211 0.000000 0.171780\nv -0.224956 0.000000 0.176234\nv -0.194017 0.000000 0.181023\nv -0.167646 0.000000 0.173808\nv -0.146249 0.000000 0.179179\nv -0.120818 0.000000 0.185844\nv -0.097100 0.000000 0.181492\nv -0.076655 0.000000 0.190799\nv -0.052514 0.000000 0.175009\nv -0.026295 0.000000 0.186621\nv 0.000818 0.000000 0.194478\nv 0.027535 0.000000 0.204305\nv 0.051247 0.000000 0.188668\nv 0.076988 0.000000 0.200098\nv 0.105125 0.000000 0.185816\nv 0.132291 0.000000 0.188269\nv 0.155346 0.000000 0.181754\nv 0.175486 0.000000 0.185129\nv 0.197864 0.000000 0.186423\nv 0.224136 0.000000 0.176912\nv 0.251285 0.000000 0.183386\nv 0.277686 0.000000 0.175493\nv 0.296387 0.000000 0.166919\nv 0.318772 0.000000 0.170677\nv 0.347532 0.000000 0.172881\nv 0.380434 0.000000 0.173443\nv 0.406917 0.000000 0.162275\nv 0.430217 0.000000 0.175091\nv 0.453855 -0.000000 0.165067\nv 0.479688 -0.000000 0.165693\nv 0.500000 -0.000000 0.175000\nv -0.500000 -0.000000 0.150000\nv -0.482127 -0.000000 0.149053\nv -0.462210 -0.000000 0.137524\nv -0.438155 0.000000 0.139326\nv -0.408223 0.000000 0.128150\nv -0.385015 0.000000 0.143644\nv -0.361605 0.000000 0.128585\nv -0.338157 0.000000 0.136520\nv -0.312197 0.000000 0.137885\nv -0.285944 0.000000 0.139458\nv -0.259899 0.000000 0.145038\nv -0.233750 0.000000 0.150409\nv -0.206594 0.000000 0.152699\nv -0.178473 0.000000 0.153093\nv -0.152667 0.000000 0.156016\nv -0.128210 0.000000 0.159789\nv -0.106666 0.000000 0.164333\nv -0.080639 0.000000 0.160314\nv -0.052319 0.000000 0.146665\nv -0.027934 0.000000 0.158739\nv -0.005811 0.000000 0.170286\nv 0.025141 0.000000 0.169649\nv 0.050087 0.000000 0.169224\nv 0.073447 0.000000 0.169366\nv 0.099782 0.000000 0.157867\nv 0.130435 0.000000 0.160736\nv 0.154102 0.000000 0.162503\nv 0.175181 0.000000 0.164111\nv 0.206526 0.000000 0.154115\nv 0.237487 0.000000 0.156900\nv 0.260549 0.000000 0.160537\nv 0.280140 0.000000 0.152019\nv 0.304532 0.000000 0.147326\nv 0.331129 0.000000 0.147404\nv 0.358738 0.000000 0.147070\nv 0.387203 0.000000 0.141447\nv 0.406943 0.000000 0.144238\nv 0.426291 0.000000 0.147927\nv 0.446952 0.000000 0.140576\nv 0.468677 -0.000000 0.144668\nv 0.500000 -0.000000 0.150000\nv -0.500000 -0.000000 0.125000\nv -0.475457 -0.000000 0.124555\nv -0.455371 0.000000 0.115663\nv -0.428336 0.000000 0.105274\nv -0.402142 0.000000 0.103454\nv -0.383048 0.000000 0.115751\nv -0.360312 0.000000 0.104036\nv -0.343796 0.000000 0.115781\nv -0.323140 0.000000 0.115599\nv -0.295652 0.000000 0.112465\nv -0.266780 0.000000 0.118894\nv -0.240406 0.000000 0.125180\nv -0.217929 0.000000 0.131800\nv -0.190915 0.000000 0.123940\nv -0.159448 0.000000 0.131397\nv -0.136393 0.000000 0.139182\nv -0.106838 0.000000 0.134560\nv -0.072693 0.000000 0.129807\nv -0.050386 0.000000 0.124553\nv -0.029955 0.000000 0.131956\nv -0.000849 0.000000 0.142313\nv 0.027546 0.000000 0.139001\nv 0.050556 0.000000 0.149509\nv 0.080487 0.000000 0.134891\nv 0.109571 0.000000 0.138868\nv 0.131950 0.000000 0.127673\nv 0.155639 0.000000 0.143674\nv 0.181683 0.000000 0.135621\nv 0.203417 0.000000 0.127607\nv 0.226337 0.000000 0.131628\nv 0.256473 0.000000 0.135139\nv 0.285607 0.000000 0.126968\nv 0.315543 0.000000 0.120206\nv 0.342021 0.000000 0.126468\nv 0.364438 0.000000 0.120952\nv 0.385761 0.000000 0.116925\nv 0.407523 0.000000 0.125379\nv 0.431863 0.000000 0.122968\nv 0.454197 0.000000 0.122300\nv 0.477460 -0.000000 0.124412\nv 0.500000 -0.000000 0.125000\nv -0.500000 -0.000000 0.100000\nv -0.477647 -0.000000 0.095554\nv -0.450571 0.000000 0.091783\nv -0.434146 0.000000 0.077187\nv -0.410015 0.000000 0.081418\nv -0.381348 0.000000 0.086737\nv -0.356354 0.000000 0.083196\nv -0.336137 0.000000 0.094275\nv -0.313377 0.000000 0.096814\nv -0.295616 0.000000 0.085560\nv -0.273106 0.000000 0.093241\nv -0.246195 0.000000 0.098180\nv -0.218398 0.000000 0.106988\nv -0.192586 0.000000 0.089882\nv -0.163543 0.000000 0.102026\nv -0.135136 0.000000 0.114424\nv -0.109136 0.000000 0.099260\nv -0.086289 0.000000 0.109817\nv -0.059955 0.000000 0.103274\nv -0.037184 0.000000 0.111345\nv -0.011212 0.000000 0.108481\nv 0.016194 0.000000 0.118530\nv 0.046694 0.000000 0.115322\nv 0.078149 0.000000 0.100252\nv 0.105377 0.000000 0.113476\nv 0.130154 0.000000 0.097857\nv 0.160786 0.000000 0.111758\nv 0.188890 0.000000 0.112786\nv 0.213963 0.000000 0.104130\nv 0.240549 0.000000 0.112166\nv 0.265114 0.000000 0.106067\nv 0.292249 0.000000 0.101279\nv 0.313164 0.000000 0.095372\nv 0.340560 0.000000 0.096849\nv 0.372676 0.000000 0.097095\nv 0.397214 0.000000 0.099850\nv 0.417677 0.000000 0.104413\nv 0.438731 0.000000 0.097286\nv 0.461631 0.000000 0.103936\nv 0.480323 -0.000000 0.100591\nv 0.500000 -0.000000 0.100000\nv -0.500000 -0.000000 0.075000\nv -0.482382 -0.000000 0.067186\nv -0.457498 0.000000 0.065263\nv -0.437703 0.000000 0.060252\nv -0.420983 0.000000 0.059169\nv -0.393432 0.000000 0.056740\nv -0.364573 0.000000 0.062651\nv -0.339766 0.000000 0.068350\nv -0.316760 0.000000 0.076283\nv -0.296536 0.000000 0.061981\nv -0.278793 0.000000 0.072698\nv -0.256137 0.000000 0.071798\nv -0.222879 0.000000 0.073156\nv -0.192518 0.000000 0.061017\nv -0.167772 0.000000 0.072351\nv -0.135868 0.000000 0.080394\nv -0.107967 0.000000 0.074192\nv -0.083081 0.000000 0.082422\nv -0.055772 0.000000 0.076581\nv -0.034564 0.000000 0.088717\nv -0.011017 0.000000 0.079050\nv 0.018765 0.000000 0.087805\nv 0.055226 0.000000 0.077638\nv 0.079093 0.000000 0.078840\nv 0.102157 0.000000 0.081621\nv 0.128264 0.000000 0.072892\nv 0.152651 0.000000 0.079986\nv 0.184905 0.000000 0.085043\nv 0.212897 0.000000 0.075895\nv 0.241200 0.000000 0.084064\nv 0.275028 0.000000 0.076999\nv 0.299453 0.000000 0.082243\nv 0.318356 0.000000 0.076412\nv 0.337051 0.000000 0.069094\nv 0.361736 0.000000 0.069373\nv 0.386678 0.000000 0.078731\nv 0.413249 0.000000 0.076646\nv 0.435174 0.000000 0.075684\nv 0.457538 0.000000 0.075115\nv 0.485370 -0.000000 0.075101\nv 0.500000 -0.000000 0.075000\nv -0.500000 -0.000000 0.050000\nv -0.476819 0.000000 0.050119\nv -0.462582 0.000000 0.040645\nv -0.438331 0.000000 0.039404\nv -0.412547 0.000000 0.040041\nv -0.393613 0.000000 0.029221\nv -0.371358 0.000000 0.037988\nv -0.345606 0.000000 0.042951\nv -0.319640 0.000000 0.050817\nv -0.295917 0.000000 0.035606\nv -0.273028 0.000000 0.051004\nv -0.243377 0.000000 0.042626\nv -0.211571 0.000000 0.041756\nv -0.187963 0.000000 0.039059\nv -0.172866 0.000000 0.050017\nv -0.149741 0.000000 0.050926\nv -0.118284 0.000000 0.049804\nv -0.093775 0.000000 0.059234\nv -0.069038 0.000000 0.054849\nv -0.032422 0.000000 0.053816\nv 0.004256 0.000000 0.056613\nv 0.031189 0.000000 0.059286\nv 0.051844 0.000000 0.046214\nv 0.080937 0.000000 0.055997\nv 0.113358 0.000000 0.052291\nv 0.143221 0.000000 0.052868\nv 0.168886 0.000000 0.059703\nv 0.196687 0.000000 0.051285\nv 0.228063 0.000000 0.055101\nv 0.253270 0.000000 0.058303\nv 0.275592 0.000000 0.045933\nv 0.298824 0.000000 0.061275\nv 0.321498 0.000000 0.053763\nv 0.343438 0.000000 0.049158\nv 0.363395 0.000000 0.044034\nv 0.388772 0.000000 0.050755\nv 0.410770 0.000000 0.052810\nv 0.431306 0.000000 0.053716\nv 0.453538 0.000000 0.044735\nv 0.474402 0.000000 0.049907\nv 0.500000 -0.000000 0.050000\nv -0.500000 -0.000000 0.025000\nv -0.481706 0.000000 0.027506\nv -0.458670 0.000000 0.020938\nv -0.440330 0.000000 0.013255\nv -0.416628 0.000000 0.015685\nv -0.391745 0.000000 0.006651\nv -0.376333 0.000000 0.018233\nv -0.355006 0.000000 0.018153\nv -0.323766 0.000000 0.019785\nv -0.295115 0.000000 0.008700\nv -0.267964 0.000000 0.021384\nv -0.246023 0.000000 0.020362\nv -0.226693 0.000000 0.018996\nv -0.196547 0.000000 0.015748\nv -0.166759 0.000000 0.026812\nv -0.137367 0.000000 0.026283\nv -0.112951 0.000000 0.022702\nv -0.090792 0.000000 0.035026\nv -0.058664 0.000000 0.022151\nv -0.027899 0.000000 0.021176\nv -0.006911 0.000000 0.031578\nv 0.025863 0.000000 0.028296\nv 0.049443 0.000000 0.028130\nv 0.068477 0.000000 0.028060\nv 0.096583 0.000000 0.027493\nv 0.129214 0.000000 0.023012\nv 0.167253 0.000000 0.029461\nv 0.197338 0.000000 0.022275\nv 0.217917 0.000000 0.031657\nv 0.246828 0.000000 0.029522\nv 0.276594 0.000000 0.017175\nv 0.303447 0.000000 0.032412\nv 0.328289 0.000000 0.034311\nv 0.349053 0.000000 0.024441\nv 0.374278 0.000000 0.026487\nv 0.390561 0.000000 0.027872\nv 0.409925 0.000000 0.030152\nv 0.439188 0.000000 0.020906\nv 0.465374 0.000000 0.024044\nv 0.484673 0.000000 0.030458\nv 0.500000 -0.000000 0.025000\nv -0.500000 0.000000 0.000000\nv -0.473950 0.000000 0.005841\nv -0.455273 0.000000 -0.001019\nv -0.432932 0.000000 -0.008735\nv -0.407241 0.000000 -0.010044\nv -0.386745 0.000000 -0.012356\nv -0.370283 0.000000 -0.000847\nv -0.343151 0.000000 -0.009194\nv -0.312528 0.000000 -0.008534\nv -0.294560 0.000000 -0.009010\nv -0.276507 0.000000 -0.007048\nv -0.246444 0.000000 -0.001551\nv -0.216769 0.000000 -0.004958\nv -0.193959 0.000000 -0.010567\nv -0.172760 0.000000 -0.000861\nv -0.150659 0.000000 0.006558\nv -0.126262 0.000000 0.000936\nv -0.092381 0.000000 0.001489\nv -0.061220 0.000000 -0.011566\nv -0.037194 0.000000 0.000314\nv -0.004442 0.000000 -0.001950\nv 0.029885 0.000000 -0.003411\nv 0.051629 0.000000 0.009994\nv 0.080544 0.000000 0.000597\nv 0.107161 0.000000 0.005068\nv 0.125556 0.000000 -0.004349\nv 0.151678 0.000000 -0.001687\nv 0.184147 0.000000 -0.001148\nv 0.221012 0.000000 0.000160\nv 0.255851 0.000000 -0.001606\nv 0.278809 0.000000 -0.005847\nv 0.299479 0.000000 0.002663\nv 0.324357 0.000000 0.011825\nv 0.345317 0.000000 -0.002436\nv 0.364753 0.000000 0.007742\nv 0.389477 0.000000 0.004109\nv 0.419704 0.000000 0.000925\nv 0.437766 0.000000 -0.002143\nv 0.456921 0.000000 -0.005075\nv 0.483628 0.000000 0.003342\nv 0.500000 0.000000 0.000000\nv -0.500000 0.000000 -0.025000\nv -0.474181 0.000000 -0.018221\nv -0.451741 0.000000 -0.019204\nv -0.439505 0.000000 -0.029278\nv -0.420088 0.000000 -0.030560\nv -0.395633 0.000000 -0.030976\nv -0.369144 0.000000 -0.026594\nv -0.347249 0.000000 -0.034031\nv -0.324646 0.000000 -0.032340\nv -0.294462 0.000000 -0.029190\nv -0.261065 0.000000 -0.032671\nv -0.230760 0.000000 -0.026968\nv -0.206780 0.000000 -0.025457\nv -0.192845 0.000000 -0.024580\nv -0.178609 0.000000 -0.023361\nv -0.150551 0.000000 -0.020395\nv -0.114094 0.000000 -0.031054\nv -0.083092 0.000000 -0.027806\nv -0.062347 0.000000 -0.037352\nv -0.033907 0.000000 -0.028262\nv -0.006246 0.000000 -0.033602\nv 0.020746 0.000000 -0.031730\nv 0.055634 0.000000 -0.021695\nv 0.080408 0.000000 -0.023349\nv 0.104093 0.000000 -0.021413\nv 0.135853 0.000000 -0.026752\nv 0.168360 0.000000 -0.030364\nv 0.199616 0.000000 -0.026747\nv 0.224016 0.000000 -0.030346\nv 0.242940 0.000000 -0.022342\nv 0.269367 0.000000 -0.028316\nv 0.293128 0.000000 -0.019165\nv 0.320978 0.000000 -0.020424\nv 0.347211 0.000000 -0.024319\nv 0.365945 0.000000 -0.013889\nv 0.384338 0.000000 -0.024270\nv 0.406731 0.000000 -0.022144\nv 0.435378 0.000000 -0.025331\nv 0.458785 0.000000 -0.030312\nv 0.478486 0.000000 -0.026035\nv 0.500000 0.000000 -0.025000\nv -0.500000 0.000000 -0.050000\nv -0.481452 0.000000 -0.049390\nv -0.456964 0.000000 -0.038782\nv -0.435986 0.000000 -0.049134\nv -0.409516 0.000000 -0.055234\nv -0.381424 0.000000 -0.051120\nv -0.360022 0.000000 -0.047700\nv -0.339678 0.000000 -0.054389\nv -0.311328 0.000000 -0.058787\nv -0.281248 0.000000 -0.056045\nv -0.259139 0.000000 -0.057521\nv -0.239572 0.000000 -0.050497\nv -0.214511 0.000000 -0.046774\nv -0.192405 0.000000 -0.039003\nv -0.169671 0.000000 -0.044861\nv -0.142367 0.000000 -0.050235\nv -0.118786 0.000000 -0.060870\nv -0.085689 0.000000 -0.060643\nv -0.048048 0.000000 -0.058608\nv -0.018071 0.000000 -0.055210\nv 0.004358 0.000000 -0.050972\nv 0.021150 0.000000 -0.057494\nv 0.044858 0.000000 -0.053131\nv 0.081460 0.000000 -0.050944\nv 0.117919 0.000000 -0.050262\nv 0.147797 0.000000 -0.052531\nv 0.171329 0.000000 -0.056159\nv 0.188510 0.000000 -0.047642\nv 0.212047 0.000000 -0.051220\nv 0.244816 0.000000 -0.051652\nv 0.273166 0.000000 -0.053742\nv 0.297375 0.000000 -0.043938\nv 0.322316 0.000000 -0.047373\nv 0.339207 0.000000 -0.040700\nv 0.364934 0.000000 -0.044180\nv 0.394875 0.000000 -0.045272\nv 0.416887 0.000000 -0.043049\nv 0.434896 0.000000 -0.054906\nv 0.451593 0.000000 -0.045962\nv 0.471652 0.000000 -0.049166\nv 0.500000 0.000000 -0.050000\nv -0.500000 0.000000 -0.075000\nv -0.480023 0.000000 -0.071251\nv -0.459080 0.000000 -0.067492\nv -0.430992 0.000000 -0.073497\nv -0.411224 0.000000 -0.077571\nv -0.391633 0.000000 -0.073855\nv -0.362992 0.000000 -0.072439\nv -0.332317 0.000000 -0.081148\nv -0.312811 0.000000 -0.079371\nv -0.294753 0.000000 -0.079179\nv -0.267305 0.000000 -0.079070\nv -0.246984 0.000000 -0.069454\nv -0.225551 0.000000 -0.069751\nv -0.192569 0.000000 -0.069124\nv -0.162039 0.000000 -0.067208\nv -0.139522 0.000000 -0.077200\nv -0.112598 0.000000 -0.085396\nv -0.087352 0.000000 -0.096993\nv -0.059632 0.000000 -0.087349\nv -0.028869 0.000000 -0.083041\nv 0.004150 0.000000 -0.076977\nv 0.031620 0.000000 -0.074832\nv 0.058587 0.000000 -0.082276\nv 0.084701 0.000000 -0.080817\nv 0.105682 0.000000 -0.074840\nv 0.132870 0.000000 -0.075255\nv 0.160760 0.000000 -0.076560\nv 0.191514 0.000000 -0.073837\nv 0.224221 0.000000 -0.077235\nv 0.248452 0.000000 -0.079318\nv 0.264903 0.000000 -0.070869\nv 0.289737 0.000000 -0.074032\nv 0.313440 0.000000 -0.064616\nv 0.340931 0.000000 -0.067260\nv 0.363547 0.000000 -0.067397\nv 0.383898 0.000000 -0.070414\nv 0.412760 0.000000 -0.067622\nv 0.435581 0.000000 -0.077393\nv 0.457376 0.000000 -0.070114\nv 0.483762 0.000000 -0.072586\nv 0.500000 0.000000 -0.075000\nv -0.500000 0.000000 -0.100000\nv -0.479608 0.000000 -0.093134\nv -0.448706 0.000000 -0.097294\nv -0.421684 0.000000 -0.094316\nv -0.402551 0.000000 -0.091020\nv -0.382454 0.000000 -0.095840\nv -0.353922 0.000000 -0.103161\nv -0.332874 0.000000 -0.101584\nv -0.313195 0.000000 -0.098481\nv -0.283179 0.000000 -0.103499\nv -0.262656 0.000000 -0.097435\nv -0.243835 0.000000 -0.090590\nv -0.216400 0.000000 -0.092269\nv -0.194211 0.000000 -0.098604\nv -0.166480 0.000000 -0.094805\nv -0.135315 0.000000 -0.104937\nv -0.109315 0.000000 -0.112015\nv -0.090308 0.000000 -0.119049\nv -0.066896 0.000000 -0.117821\nv -0.041193 0.000000 -0.107281\nv -0.010589 0.000000 -0.113100\nv 0.029366 0.000000 -0.104494\nv 0.058467 0.000000 -0.110071\nv 0.079738 0.000000 -0.101956\nv 0.098170 0.000000 -0.094288\nv 0.119188 0.000000 -0.097715\nv 0.146153 0.000000 -0.099850\nv 0.175226 0.000000 -0.101949\nv 0.208945 0.000000 -0.106325\nv 0.239969 0.000000 -0.101253\nv 0.268708 0.000000 -0.095733\nv 0.293876 0.000000 -0.098920\nv 0.317195 0.000000 -0.090577\nv 0.342666 0.000000 -0.095582\nv 0.364663 0.000000 -0.087793\nv 0.385722 0.000000 -0.093134\nv 0.401155 0.000000 -0.087593\nv 0.422325 0.000000 -0.094793\nv 0.450705 0.000000 -0.099570\nv 0.473594 0.000000 -0.091244\nv 0.500000 0.000000 -0.100000\nv -0.500000 0.000000 -0.125000\nv -0.469531 0.000000 -0.115923\nv -0.449395 0.000000 -0.123768\nv -0.430865 0.000000 -0.112994\nv -0.406037 0.000000 -0.113604\nv -0.377968 0.000000 -0.121086\nv -0.356977 0.000000 -0.126550\nv -0.332386 0.000000 -0.123668\nv -0.304644 0.000000 -0.121144\nv -0.283659 0.000000 -0.132709\nv -0.256675 0.000000 -0.116738\nv -0.231934 0.000000 -0.109684\nv -0.210852 0.000000 -0.116112\nv -0.185192 0.000000 -0.120943\nv -0.157082 0.000000 -0.125949\nv -0.127322 0.000000 -0.134577\nv -0.103368 0.000000 -0.131490\nv -0.084884 0.000000 -0.137236\nv -0.065066 0.000000 -0.141893\nv -0.040148 0.000000 -0.135383\nv -0.013115 0.000000 -0.144017\nv 0.015557 0.000000 -0.140924\nv 0.047771 0.000000 -0.133666\nv 0.076944 0.000000 -0.128246\nv 0.101703 0.000000 -0.116356\nv 0.130790 0.000000 -0.125996\nv 0.158381 0.000000 -0.121914\nv 0.185951 0.000000 -0.133486\nv 0.214478 0.000000 -0.133662\nv 0.231709 0.000000 -0.123160\nv 0.258196 0.000000 -0.125982\nv 0.286324 0.000000 -0.119990\nv 0.307767 0.000000 -0.114427\nv 0.332427 0.000000 -0.119381\nv 0.358433 0.000000 -0.113015\nv 0.377853 0.000000 -0.107884\nv 0.401300 0.000000 -0.112070\nv 0.432671 0.000000 -0.124579\nv 0.457363 0.000000 -0.124950\nv 0.476194 0.000000 -0.113970\nv 0.500000 0.000000 -0.125000\nv -0.500000 0.000000 -0.150000\nv -0.470036 0.000000 -0.140448\nv -0.448703 0.000000 -0.139954\nv -0.428700 0.000000 -0.136059\nv -0.398396 0.000000 -0.144044\nv -0.370404 0.000000 -0.143470\nv -0.350560 0.000000 -0.141515\nv -0.336326 0.000000 -0.149629\nv -0.311225 0.000000 -0.147557\nv -0.287013 0.000000 -0.156972\nv -0.259737 0.000000 -0.150616\nv -0.232362 0.000000 -0.132945\nv -0.205543 0.000000 -0.142531\nv -0.177486 0.000000 -0.147987\nv -0.151154 0.000000 -0.152800\nv -0.130186 0.000000 -0.160395\nv -0.105306 0.000000 -0.154905\nv -0.078670 0.000000 -0.158670\nv -0.054948 0.000000 -0.160714\nv -0.029452 0.000000 -0.163336\nv -0.001037 0.000000 -0.167702\nv 0.018650 0.000000 -0.162847\nv 0.037812 0.000000 -0.161133\nv 0.068532 0.000000 -0.157525\nv 0.105587 0.000000 -0.150281\nv 0.130771 0.000000 -0.147704\nv 0.154049 0.000000 -0.148561\nv 0.182173 0.000000 -0.165590\nv 0.208814 0.000000 -0.156792\nv 0.237293 0.000000 -0.148810\nv 0.263394 0.000000 -0.151559\nv 0.280459 0.000000 -0.141676\nv 0.309355 0.000000 -0.143431\nv 0.338093 0.000000 -0.144756\nv 0.353923 0.000000 -0.134089\nv 0.379415 0.000000 -0.133507\nv 0.410269 0.000000 -0.143118\nv 0.435181 0.000000 -0.154042\nv 0.451772 0.000000 -0.143593\nv 0.475575 0.000000 -0.143079\nv 0.500000 0.000000 -0.150000\nv -0.500000 0.000000 -0.175000\nv -0.475944 0.000000 -0.168953\nv -0.446797 0.000000 -0.159589\nv -0.420982 0.000000 -0.158572\nv -0.403205 0.000000 -0.172299\nv -0.381846 0.000000 -0.163382\nv -0.357066 0.000000 -0.164428\nv -0.330770 0.000000 -0.171170\nv -0.304345 0.000000 -0.177904\nv -0.276516 0.000000 -0.176318\nv -0.252570 0.000000 -0.176695\nv -0.229961 0.000000 -0.162305\nv -0.197907 0.000000 -0.175245\nv -0.168508 0.000000 -0.170834\nv -0.146768 0.000000 -0.177467\nv -0.120708 0.000000 -0.182591\nv -0.092407 0.000000 -0.179889\nv -0.069692 0.000000 -0.177841\nv -0.046886 0.000000 -0.187626\nv -0.020732 0.000000 -0.185040\nv -0.000507 0.000000 -0.196368\nv 0.022251 0.000000 -0.181938\nv 0.054134 0.000000 -0.190353\nv 0.089050 0.000000 -0.181908\nv 0.114342 0.000000 -0.178815\nv 0.132828 0.000000 -0.166244\nv 0.157793 0.000000 -0.179438\nv 0.182331 0.000000 -0.193050\nv 0.204431 0.000000 -0.182608\nv 0.228924 0.000000 -0.176953\nv 0.255995 0.000000 -0.173933\nv 0.285361 0.000000 -0.167639\nv 0.311402 0.000000 -0.172777\nv 0.333527 0.000000 -0.167114\nv 0.361535 0.000000 -0.159932\nv 0.392946 0.000000 -0.164605\nv 0.420336 0.000000 -0.170016\nv 0.438034 0.000000 -0.171662\nv 0.458182 0.000000 -0.171367\nv 0.485592 0.000000 -0.172705\nv 0.500000 0.000000 -0.175000\nv -0.500000 0.000000 -0.200000\nv -0.483509 0.000000 -0.196455\nv -0.455397 0.000000 -0.192262\nv -0.428018 0.000000 -0.180971\nv -0.409831 0.000000 -0.194156\nv -0.380447 0.000000 -0.192819\nv -0.349579 0.000000 -0.189257\nv -0.326517 0.000000 -0.198500\nv -0.307898 0.000000 -0.197486\nv -0.291019 0.000000 -0.197670\nv -0.264898 0.000000 -0.198376\nv -0.232146 0.000000 -0.196154\nv -0.202648 0.000000 -0.206348\nv -0.169596 0.000000 -0.201022\nv -0.140859 0.000000 -0.197608\nv -0.125234 0.000000 -0.205326\nv -0.104612 0.000000 -0.203098\nv -0.075756 0.000000 -0.202712\nv -0.051958 0.000000 -0.213735\nv -0.025882 0.000000 -0.210589\nv -0.002150 0.000000 -0.219737\nv 0.024438 0.000000 -0.213715\nv 0.054824 0.000000 -0.224811\nv 0.082110 0.000000 -0.212016\nv 0.109742 0.000000 -0.202928\nv 0.134675 0.000000 -0.193091\nv 0.160990 0.000000 -0.210523\nv 0.185582 0.000000 -0.214460\nv 0.203335 0.000000 -0.206110\nv 0.221360 0.000000 -0.197547\nv 0.246027 0.000000 -0.202397\nv 0.275352 0.000000 -0.196570\nv 0.302020 0.000000 -0.193866\nv 0.327053 0.000000 -0.192052\nv 0.354075 0.000000 -0.189965\nv 0.379139 0.000000 -0.185704\nv 0.407244 0.000000 -0.195498\nv 0.438544 0.000000 -0.191282\nv 0.461074 0.000000 -0.197844\nv 0.479832 0.000000 -0.196805\nv 0.500000 0.000000 -0.200000\nv -0.500000 0.000000 -0.225000\nv -0.469765 0.000000 -0.217545\nv -0.451787 0.000000 -0.213345\nv -0.432116 0.000000 -0.209062\nv -0.405587 0.000000 -0.215755\nv -0.383480 0.000000 -0.223964\nv -0.353423 0.000000 -0.219571\nv -0.330087 0.000000 -0.218361\nv -0.310009 0.000000 -0.216075\nv -0.282906 0.000000 -0.220189\nv -0.254699 0.000000 -0.223587\nv -0.222880 0.000000 -0.230971\nv -0.191075 0.000000 -0.228701\nv -0.167243 0.000000 -0.230545\nv -0.142305 0.000000 -0.222030\nv -0.117973 0.000000 -0.221715\nv -0.095904 0.000000 -0.226854\nv -0.069127 0.000000 -0.230540\nv -0.042297 0.000000 -0.237648\nv -0.016797 0.000000 -0.234584\nv 0.007941 0.000000 -0.243878\nv 0.034566 0.000000 -0.239530\nv 0.054586 0.000000 -0.252335\nv 0.079170 0.000000 -0.241440\nv 0.105869 0.000000 -0.231162\nv 0.132595 0.000000 -0.221062\nv 0.155029 0.000000 -0.239532\nv 0.179251 0.000000 -0.233569\nv 0.202262 0.000000 -0.229421\nv 0.224377 0.000000 -0.219999\nv 0.248584 0.000000 -0.232434\nv 0.268016 0.000000 -0.219776\nv 0.295062 0.000000 -0.222139\nv 0.318252 0.000000 -0.212310\nv 0.343383 0.000000 -0.216539\nv 0.380125 0.000000 -0.218665\nv 0.409444 0.000000 -0.221565\nv 0.430429 0.000000 -0.216816\nv 0.454693 0.000000 -0.215877\nv 0.474201 0.000000 -0.213942\nv 0.500000 0.000000 -0.225000\nv -0.500000 0.000000 -0.250000\nv -0.478025 0.000000 -0.243694\nv -0.449963 0.000000 -0.234567\nv -0.424457 0.000000 -0.232515\nv -0.403453 0.000000 -0.242176\nv -0.374739 0.000000 -0.249665\nv -0.352353 0.000000 -0.244841\nv -0.330664 0.000000 -0.239488\nv -0.301469 0.000000 -0.241194\nv -0.275775 0.000000 -0.244578\nv -0.250025 0.000000 -0.251639\nv -0.225553 0.000000 -0.261574\nv -0.204503 0.000000 -0.249283\nv -0.179985 0.000000 -0.254488\nv -0.153573 0.000000 -0.246878\nv -0.122074 0.000000 -0.251687\nv -0.086151 0.000000 -0.251888\nv -0.062912 0.000000 -0.250936\nv -0.047902 0.000000 -0.262265\nv -0.021681 0.000000 -0.261520\nv 0.006110 0.000000 -0.275334\nv 0.031056 0.000000 -0.263364\nv 0.052493 0.000000 -0.276966\nv 0.075470 0.000000 -0.268437\nv 0.102274 0.000000 -0.260407\nv 0.129489 0.000000 -0.249625\nv 0.152472 0.000000 -0.265287\nv 0.175623 0.000000 -0.257609\nv 0.196305 0.000000 -0.250333\nv 0.225035 0.000000 -0.252493\nv 0.253040 0.000000 -0.254688\nv 0.275346 0.000000 -0.245639\nv 0.302826 0.000000 -0.249993\nv 0.324018 0.000000 -0.237188\nv 0.357080 0.000000 -0.249301\nv 0.385625 0.000000 -0.249587\nv 0.405342 0.000000 -0.241417\nv 0.424251 0.000000 -0.235549\nv 0.448559 0.000000 -0.241236\nv 0.475460 0.000000 -0.234216\nv 0.500000 0.000000 -0.250000\nv -0.500000 0.000000 -0.275000\nv -0.486064 0.000000 -0.270307\nv -0.462420 0.000000 -0.264786\nv -0.431335 0.000000 -0.261127\nv -0.401365 0.000000 -0.270199\nv -0.378630 0.000000 -0.276350\nv -0.350814 0.000000 -0.270809\nv -0.316925 0.000000 -0.265899\nv -0.292938 0.000000 -0.261263\nv -0.273025 0.000000 -0.269956\nv -0.248624 0.000000 -0.279561\nv -0.224321 0.000000 -0.287359\nv -0.203351 0.000000 -0.271050\nv -0.184027 0.000000 -0.279457\nv -0.156545 0.000000 -0.276042\nv -0.126654 0.000000 -0.289715\nv -0.097880 0.000000 -0.279046\nv -0.069241 0.000000 -0.272788\nv -0.043506 0.000000 -0.288882\nv -0.015429 0.000000 -0.288679\nv 0.004090 0.000000 -0.302419\nv 0.030647 0.000000 -0.292683\nv 0.053755 0.000000 -0.297012\nv 0.069498 0.000000 -0.288503\nv 0.094894 0.000000 -0.291499\nv 0.128898 0.000000 -0.280798\nv 0.154668 0.000000 -0.286191\nv 0.171349 0.000000 -0.278454\nv 0.199596 0.000000 -0.278949\nv 0.228148 0.000000 -0.280195\nv 0.248374 0.000000 -0.274480\nv 0.268126 0.000000 -0.268718\nv 0.292146 0.000000 -0.272138\nv 0.327813 0.000000 -0.273127\nv 0.358319 0.000000 -0.278040\nv 0.380581 0.000000 -0.272235\nv 0.405185 0.000000 -0.266476\nv 0.427623 0.000000 -0.256817\nv 0.452227 0.000000 -0.270198\nv 0.475366 0.000000 -0.259281\nv 0.500000 0.000000 -0.275000\nv -0.500000 0.000000 -0.300000\nv -0.475974 0.000000 -0.288389\nv -0.453254 0.000000 -0.290698\nv -0.424632 0.000000 -0.293088\nv -0.395635 0.000000 -0.298963\nv -0.370822 0.000000 -0.292288\nv -0.354588 0.000000 -0.300307\nv -0.328208 0.000000 -0.297972\nv -0.297815 0.000000 -0.284975\nv -0.273352 0.000000 -0.298086\nv -0.245832 0.000000 -0.309146\nv -0.220843 0.000000 -0.308654\nv -0.202079 0.000000 -0.294581\nv -0.178460 0.000000 -0.301502\nv -0.151403 0.000000 -0.309120\nv -0.126176 0.000000 -0.318404\nv -0.106106 0.000000 -0.304472\nv -0.077279 0.000000 -0.304237\nv -0.050936 0.000000 -0.317611\nv -0.022221 0.000000 -0.315682\nv 0.003600 0.000000 -0.326654\nv 0.021797 0.000000 -0.316004\nv 0.045238 0.000000 -0.318305\nv 0.070944 0.000000 -0.309042\nv 0.094830 0.000000 -0.322933\nv 0.122487 0.000000 -0.310965\nv 0.146214 0.000000 -0.302191\nv 0.174583 0.000000 -0.304623\nv 0.202325 0.000000 -0.307303\nv 0.223750 0.000000 -0.301172\nv 0.244217 0.000000 -0.294225\nv 0.271973 0.000000 -0.296950\nv 0.307083 0.000000 -0.298733\nv 0.330768 0.000000 -0.301646\nv 0.350625 0.000000 -0.298345\nv 0.375698 0.000000 -0.297390\nv 0.401798 0.000000 -0.292815\nv 0.430327 0.000000 -0.286145\nv 0.455582 0.000000 -0.292718\nv 0.476006 0.000000 -0.285076\nv 0.500000 0.000000 -0.300000\nv -0.500000 0.000000 -0.325000\nv -0.478181 0.000000 -0.316190\nv -0.447094 0.000000 -0.320691\nv -0.419277 0.000000 -0.316982\nv -0.400311 0.000000 -0.328847\nv -0.374661 0.000000 -0.315197\nv -0.348668 0.000000 -0.325469\nv -0.326213 0.000000 -0.321668\nv -0.302788 0.000000 -0.317000\nv -0.272365 0.000000 -0.328227\nv -0.251243 0.000000 -0.329949\nv -0.230452 0.000000 -0.332624\nv -0.201801 0.000000 -0.319896\nv -0.175206 0.000000 -0.330360\nv -0.145645 0.000000 -0.339150\nv -0.124751 0.000000 -0.337062\nv -0.102721 0.000000 -0.331361\nv -0.070766 0.000000 -0.336076\nv -0.041007 0.000000 -0.343588\nv -0.012451 0.000000 -0.342530\nv 0.004947 0.000000 -0.343396\nv 0.025408 0.000000 -0.340387\nv 0.046630 0.000000 -0.337081\nv 0.067526 0.000000 -0.336509\nv 0.093587 0.000000 -0.349981\nv 0.119647 0.000000 -0.340079\nv 0.150587 0.000000 -0.328767\nv 0.177727 0.000000 -0.331718\nv 0.194490 0.000000 -0.324008\nv 0.219401 0.000000 -0.328115\nv 0.249068 0.000000 -0.318649\nv 0.271623 0.000000 -0.321930\nv 0.295506 0.000000 -0.327195\nv 0.324551 0.000000 -0.321641\nv 0.343971 0.000000 -0.316608\nv 0.367409 0.000000 -0.323499\nv 0.395661 0.000000 -0.319608\nv 0.423512 0.000000 -0.315198\nv 0.446513 0.000000 -0.308933\nv 0.472907 0.000000 -0.313299\nv 0.500000 0.000000 -0.325000\nv -0.500000 0.000000 -0.350000\nv -0.471003 0.000000 -0.338596\nv -0.454586 0.000000 -0.345953\nv -0.428852 0.000000 -0.343435\nv -0.405451 0.000000 -0.353155\nv -0.378175 0.000000 -0.345513\nv -0.353750 0.000000 -0.351495\nv -0.325375 0.000000 -0.346411\nv -0.296538 0.000000 -0.342014\nv -0.280627 0.000000 -0.351744\nv -0.256521 0.000000 -0.350035\nv -0.233196 0.000000 -0.359062\nv -0.204058 0.000000 -0.352057\nv -0.170126 0.000000 -0.360849\nv -0.147514 0.000000 -0.359115\nv -0.124596 0.000000 -0.359624\nv -0.089587 0.000000 -0.360178\nv -0.063203 0.000000 -0.359936\nv -0.044282 0.000000 -0.371809\nv -0.023292 0.000000 -0.362000\nv 0.003215 0.000000 -0.364326\nv 0.029464 0.000000 -0.364515\nv 0.048373 0.000000 -0.353444\nv 0.073155 0.000000 -0.365325\nv 0.093048 0.000000 -0.366593\nv 0.113407 0.000000 -0.368882\nv 0.143111 0.000000 -0.359385\nv 0.170537 0.000000 -0.352916\nv 0.198594 0.000000 -0.348621\nv 0.225141 0.000000 -0.354074\nv 0.242694 0.000000 -0.343421\nv 0.270103 0.000000 -0.345149\nv 0.299965 0.000000 -0.358492\nv 0.323513 0.000000 -0.347818\nv 0.346688 0.000000 -0.338115\nv 0.370311 0.000000 -0.352191\nv 0.389131 0.000000 -0.342479\nv 0.416581 0.000000 -0.346434\nv 0.450318 0.000000 -0.337377\nv 0.481988 0.000000 -0.344043\nv 0.500000 0.000000 -0.350000\nv -0.500000 0.000000 -0.375000\nv -0.475201 0.000000 -0.360186\nv -0.450852 0.000000 -0.366916\nv -0.424545 0.000000 -0.371633\nv -0.395500 0.000000 -0.376464\nv -0.369119 0.000000 -0.368175\nv -0.347591 0.000000 -0.372084\nv -0.326025 0.000000 -0.374960\nv -0.301757 0.000000 -0.366932\nv -0.276168 0.000000 -0.371759\nv -0.251906 0.000000 -0.377251\nv -0.223247 0.000000 -0.383616\nv -0.194662 0.000000 -0.378409\nv -0.174221 0.000000 -0.390183\nv -0.149820 0.000000 -0.377095\nv -0.131054 0.000000 -0.387454\nv -0.105912 0.000000 -0.386100\nv -0.070463 0.000000 -0.388378\nv -0.045825 0.000000 -0.389249\nv -0.021982 0.000000 -0.388102\nv 0.001352 0.000000 -0.386763\nv 0.022246 0.000000 -0.387478\nv 0.048086 0.000000 -0.377292\nv 0.069436 0.000000 -0.391485\nv 0.092096 0.000000 -0.382454\nv 0.113383 0.000000 -0.396617\nv 0.139090 0.000000 -0.387515\nv 0.165534 0.000000 -0.378538\nv 0.187833 0.000000 -0.370854\nv 0.215246 0.000000 -0.379097\nv 0.249932 0.000000 -0.371400\nv 0.282184 0.000000 -0.375315\nv 0.304675 0.000000 -0.381180\nv 0.324000 0.000000 -0.374557\nv 0.350568 0.000000 -0.367158\nv 0.372419 0.000000 -0.371283\nv 0.395818 0.000000 -0.370799\nv 0.419680 0.000000 -0.369506\nv 0.442087 0.000000 -0.370213\nv 0.468731 0.000000 -0.363611\nv 0.500000 0.000000 -0.375000\nv -0.500000 0.000000 -0.400000\nv -0.474809 0.000000 -0.384691\nv -0.447201 0.000000 -0.395667\nv -0.419526 0.000000 -0.394269\nv -0.401126 0.000000 -0.407201\nv -0.370730 0.000000 -0.395466\nv -0.340743 0.000000 -0.396195\nv -0.314831 0.000000 -0.393362\nv -0.292999 0.000000 -0.388568\nv -0.273426 0.000000 -0.396298\nv -0.249092 0.000000 -0.403021\nv -0.228227 0.000000 -0.410244\nv -0.201824 0.000000 -0.405605\nv -0.177485 0.000000 -0.413753\nv -0.151581 0.000000 -0.405691\nv -0.123485 0.000000 -0.409034\nv -0.096413 0.000000 -0.412274\nv -0.071981 0.000000 -0.418992\nv -0.046620 0.000000 -0.408947\nv -0.022380 0.000000 -0.414811\nv 0.001915 0.000000 -0.407391\nv 0.025815 0.000000 -0.410594\nv 0.045871 0.000000 -0.401897\nv 0.067234 0.000000 -0.416105\nv 0.090220 0.000000 -0.406188\nv 0.109734 0.000000 -0.418505\nv 0.135827 0.000000 -0.416483\nv 0.163381 0.000000 -0.405520\nv 0.189382 0.000000 -0.395379\nv 0.214183 0.000000 -0.410464\nv 0.241837 0.000000 -0.403240\nv 0.272522 0.000000 -0.399841\nv 0.296077 0.000000 -0.396086\nv 0.321286 0.000000 -0.401639\nv 0.344156 0.000000 -0.391272\nv 0.373074 0.000000 -0.395097\nv 0.401212 0.000000 -0.398940\nv 0.424301 0.000000 -0.390650\nv 0.445785 0.000000 -0.392547\nv 0.469297 0.000000 -0.391458\nv 0.500000 0.000000 -0.400000\nv -0.500000 0.000000 -0.425000\nv -0.475638 0.000000 -0.410414\nv -0.455775 0.000000 -0.421355\nv -0.429343 0.000000 -0.420463\nv -0.407350 0.000000 -0.430760\nv -0.384417 0.000000 -0.425887\nv -0.356782 0.000000 -0.422432\nv -0.328666 0.000000 -0.419042\nv -0.298977 0.000000 -0.414679\nv -0.271600 0.000000 -0.422745\nv -0.246320 0.000000 -0.428210\nv -0.220784 0.000000 -0.430959\nv -0.194322 0.000000 -0.432371\nv -0.165592 0.000000 -0.435122\nv -0.139565 0.000000 -0.427523\nv -0.116497 0.000000 -0.435443\nv -0.090231 0.000000 -0.435979\nv -0.071425 0.000000 -0.438402\nv -0.056804 0.000000 -0.430240\nv -0.036968 0.000000 -0.433205\nv -0.008274 0.000000 -0.436651\nv 0.016612 0.000000 -0.427702\nv 0.042432 0.000000 -0.428753\nv 0.065982 0.000000 -0.436321\nv 0.089494 0.000000 -0.432270\nv 0.119796 0.000000 -0.441188\nv 0.145184 0.000000 -0.438942\nv 0.160312 0.000000 -0.427394\nv 0.190242 0.000000 -0.428087\nv 0.214641 0.000000 -0.428937\nv 0.233868 0.000000 -0.428283\nv 0.265402 0.000000 -0.430594\nv 0.299841 0.000000 -0.422633\nv 0.328438 0.000000 -0.427903\nv 0.351968 0.000000 -0.418056\nv 0.373790 0.000000 -0.419953\nv 0.394818 0.000000 -0.423508\nv 0.418125 0.000000 -0.414738\nv 0.447496 0.000000 -0.417911\nv 0.481017 0.000000 -0.420968\nv 0.500000 0.000000 -0.425000\nv -0.500000 0.000000 -0.450000\nv -0.476072 0.000000 -0.435797\nv -0.450659 0.000000 -0.444472\nv -0.423846 0.000000 -0.449595\nv -0.398081 0.000000 -0.450722\nv -0.372531 0.000000 -0.448845\nv -0.343720 0.000000 -0.449281\nv -0.317079 0.000000 -0.438456\nv -0.294412 0.000000 -0.444496\nv -0.267512 0.000000 -0.449945\nv -0.240830 0.000000 -0.452530\nv -0.213304 0.000000 -0.456985\nv -0.187053 0.000000 -0.451995\nv -0.168504 0.000000 -0.462234\nv -0.140750 0.000000 -0.452513\nv -0.121074 0.000000 -0.455161\nv -0.104048 0.000000 -0.455858\nv -0.081083 0.000000 -0.455121\nv -0.057069 0.000000 -0.451851\nv -0.030694 0.000000 -0.456961\nv -0.007594 0.000000 -0.461413\nv 0.021171 0.000000 -0.455331\nv 0.054352 0.000000 -0.453605\nv 0.076421 0.000000 -0.451054\nv 0.097118 0.000000 -0.456794\nv 0.118227 0.000000 -0.463857\nv 0.143044 0.000000 -0.461688\nv 0.166989 0.000000 -0.448122\nv 0.192836 0.000000 -0.460112\nv 0.220330 0.000000 -0.449044\nv 0.246914 0.000000 -0.447605\nv 0.269048 0.000000 -0.460038\nv 0.293900 0.000000 -0.452714\nv 0.321386 0.000000 -0.449845\nv 0.347790 0.000000 -0.447455\nv 0.375362 0.000000 -0.443227\nv 0.399396 0.000000 -0.449959\nv 0.422856 0.000000 -0.442750\nv 0.449321 0.000000 -0.448790\nv 0.469328 0.000000 -0.441457\nv 0.500000 0.000000 -0.450000\nv -0.500000 0.000000 -0.475000\nv -0.474381 0.000000 -0.463560\nv -0.444570 0.000000 -0.476101\nv -0.413125 0.000000 -0.475100\nv -0.387280 0.000000 -0.474208\nv -0.364978 0.000000 -0.470617\nv -0.346396 0.000000 -0.480792\nv -0.319707 0.000000 -0.464889\nv -0.291698 0.000000 -0.476385\nv -0.260306 0.000000 -0.475430\nv -0.236838 0.000000 -0.473780\nv -0.219786 0.000000 -0.484017\nv -0.193605 0.000000 -0.473384\nv -0.173024 0.000000 -0.485154\nv -0.151057 0.000000 -0.475353\nv -0.123039 0.000000 -0.476930\nv -0.092416 0.000000 -0.476660\nv -0.071349 0.000000 -0.472129\nv -0.051197 0.000000 -0.477094\nv -0.023083 0.000000 -0.481704\nv 0.002900 0.000000 -0.476533\nv 0.024002 0.000000 -0.484287\nv 0.044940 0.000000 -0.473914\nv 0.075179 0.000000 -0.476422\nv 0.103618 0.000000 -0.476120\nv 0.127581 0.000000 -0.483598\nv 0.153197 0.000000 -0.483582\nv 0.170376 0.000000 -0.472670\nv 0.191220 0.000000 -0.482601\nv 0.217905 0.000000 -0.480267\nv 0.245982 0.000000 -0.470179\nv 0.271736 0.000000 -0.484201\nv 0.290408 0.000000 -0.475031\nv 0.317384 0.000000 -0.478250\nv 0.341030 0.000000 -0.470216\nv 0.368624 0.000000 -0.475576\nv 0.391223 0.000000 -0.468181\nv 0.412762 0.000000 -0.472180\nv 0.438124 0.000000 -0.472223\nv 0.468823 0.000000 -0.469637\nv 0.500000 0.000000 -0.475000\nv -0.500000 0.000000 -0.500000\nv -0.475000 0.000000 -0.500000\nv -0.450000 0.000000 -0.500000\nv -0.425000 0.000000 -0.500000\nv -0.400000 0.000000 -0.500000\nv -0.375000 0.000000 -0.500000\nv -0.350000 0.000000 -0.500000\nv -0.325000 0.000000 -0.500000\nv -0.300000 0.000000 -0.500000\nv -0.275000 0.000000 -0.500000\nv -0.250000 0.000000 -0.500000\nv -0.225000 0.000000 -0.500000\nv -0.200000 0.000000 -0.500000\nv -0.175000 0.000000 -0.500000\nv -0.150000 0.000000 -0.500000\nv -0.125000 0.000000 -0.500000\nv -0.100000 0.000000 -0.500000\nv -0.075000 0.000000 -0.500000\nv -0.050000 0.000000 -0.500000\nv -0.025000 0.000000 -0.500000\nv 0.000000 0.000000 -0.500000\nv 0.025000 0.000000 -0.500000\nv 0.050000 0.000000 -0.500000\nv 0.075000 0.000000 -0.500000\nv 0.100000 0.000000 -0.500000\nv 0.125000 0.000000 -0.500000\nv 0.150000 0.000000 -0.500000\nv 0.175000 0.000000 -0.500000\nv 0.200000 0.000000 -0.500000\nv 0.225000 0.000000 -0.500000\nv 0.250000 0.000000 -0.500000\nv 0.275000 0.000000 -0.500000\nv 0.300000 0.000000 -0.500000\nv 0.325000 0.000000 -0.500000\nv 0.350000 0.000000 -0.500000\nv 0.375000 0.000000 -0.500000\nv 0.400000 0.000000 -0.500000\nv 0.425000 0.000000 -0.500000\nv 0.450000 0.000000 -0.500000\nv 0.475000 0.000000 -0.500000\nv 0.500000 0.000000 -0.500000\nvt 0.000000 0.000000\nvt 0.025000 0.000000\nvt 0.050000 0.000000\nvt 0.075000 0.000000\nvt 0.100000 0.000000\nvt 0.125000 0.000000\nvt 0.150000 0.000000\nvt 0.175000 0.000000\nvt 0.200000 0.000000\nvt 0.225000 0.000000\nvt 0.250000 0.000000\nvt 0.275000 0.000000\nvt 0.300000 0.000000\nvt 0.325000 0.000000\nvt 0.350000 0.000000\nvt 0.375000 0.000000\nvt 0.400000 0.000000\nvt 0.425000 0.000000\nvt 0.450000 0.000000\nvt 0.475000 0.000000\nvt 0.500000 0.000000\nvt 0.525000 0.000000\nvt 0.550000 0.000000\nvt 0.575000 0.000000\nvt 0.600000 0.000000\nvt 0.625000 0.000000\nvt 0.650000 0.000000\nvt 0.675000 0.000000\nvt 0.700000 0.000000\nvt 0.725000 0.000000\nvt 0.750000 0.000000\nvt 0.775000 0.000000\nvt 0.800000 0.000000\nvt 0.825000 0.000000\nvt 0.850000 0.000000\nvt 0.875000 0.000000\nvt 0.900000 0.000000\nvt 0.925000 0.000000\nvt 0.950000 0.000000\nvt 0.975000 0.000000\nvt 1.000000 0.000000\nvt 0.000000 0.025000\nvt 0.025000 0.025000\nvt 0.050000 0.025000\nvt 0.075000 0.025000\nvt 0.100000 0.025000\nvt 0.125000 0.025000\nvt 0.150000 0.025000\nvt 0.175000 0.025000\nvt 0.200000 0.025000\nvt 0.225000 0.025000\nvt 0.250000 0.025000\nvt 0.275000 0.025000\nvt 0.300000 0.025000\nvt 0.325000 0.025000\nvt 0.350000 0.025000\nvt 0.375000 0.025000\nvt 0.400000 0.025000\nvt 0.425000 0.025000\nvt 0.450000 0.025000\nvt 0.475000 0.025000\nvt 0.500000 0.025000\nvt 0.525000 0.025000\nvt 0.550000 0.025000\nvt 0.575000 0.025000\nvt 0.600000 0.025000\nvt 0.625000 0.025000\nvt 0.650000 0.025000\nvt 0.675000 0.025000\nvt 0.700000 0.025000\nvt 0.725000 0.025000\nvt 0.750000 0.025000\nvt 0.775000 0.025000\nvt 0.800000 0.025000\nvt 0.825000 0.025000\nvt 0.850000 0.025000\nvt 0.875000 0.025000\nvt 0.900000 0.025000\nvt 0.925000 0.025000\nvt 0.950000 0.025000\nvt 0.975000 0.025000\nvt 1.000000 0.025000\nvt 0.000000 0.050000\nvt 0.025000 0.050000\nvt 0.050000 0.050000\nvt 0.075000 0.050000\nvt 0.100000 0.050000\nvt 0.125000 0.050000\nvt 0.150000 0.050000\nvt 0.175000 0.050000\nvt 0.200000 0.050000\nvt 0.225000 0.050000\nvt 0.250000 0.050000\nvt 0.275000 0.050000\nvt 0.300000 0.050000\nvt 0.325000 0.050000\nvt 0.350000 0.050000\nvt 0.375000 0.050000\nvt 0.400000 0.050000\nvt 0.425000 0.050000\nvt 0.450000 0.050000\nvt 0.475000 0.050000\nvt 0.500000 0.050000\nvt 0.525000 0.050000\nvt 0.550000 0.050000\nvt 0.575000 0.050000\nvt 0.600000 0.050000\nvt 0.625000 0.050000\nvt 0.650000 0.050000\nvt 0.675000 0.050000\nvt 0.700000 0.050000\nvt 0.725000 0.050000\nvt 0.750000 0.050000\nvt 0.775000 0.050000\nvt 0.800000 0.050000\nvt 0.825000 0.050000\nvt 0.850000 0.050000\nvt 0.875000 0.050000\nvt 0.900000 0.050000\nvt 0.925000 0.050000\nvt 0.950000 0.050000\nvt 0.975000 0.050000\nvt 1.000000 0.050000\nvt 0.000000 0.075000\nvt 0.025000 0.075000\nvt 0.050000 0.075000\nvt 0.075000 0.075000\nvt 0.100000 0.075000\nvt 0.125000 0.075000\nvt 0.150000 0.075000\nvt 0.175000 0.075000\nvt 0.200000 0.075000\nvt 0.225000 0.075000\nvt 0.250000 0.075000\nvt 0.275000 0.075000\nvt 0.300000 0.075000\nvt 0.325000 0.075000\nvt 0.350000 0.075000\nvt 0.375000 0.075000\nvt 0.400000 0.075000\nvt 0.425000 0.075000\nvt 0.450000 0.075000\nvt 0.475000 0.075000\nvt 0.500000 0.075000\nvt 0.525000 0.075000\nvt 0.550000 0.075000\nvt 0.575000 0.075000\nvt 0.600000 0.075000\nvt 0.625000 0.075000\nvt 0.650000 0.075000\nvt 0.675000 0.075000\nvt 0.700000 0.075000\nvt 0.725000 0.075000\nvt 0.750000 0.075000\nvt 0.775000 0.075000\nvt 0.800000 0.075000\nvt 0.825000 0.075000\nvt 0.850000 0.075000\nvt 0.875000 0.075000\nvt 0.900000 0.075000\nvt 0.925000 0.075000\nvt 0.950000 0.075000\nvt 0.975000 0.075000\nvt 1.000000 0.075000\nvt 0.000000 0.100000\nvt 0.025000 0.100000\nvt 0.050000 0.100000\nvt 0.075000 0.100000\nvt 0.100000 0.100000\nvt 0.125000 0.100000\nvt 0.150000 0.100000\nvt 0.175000 0.100000\nvt 0.200000 0.100000\nvt 0.225000 0.100000\nvt 0.250000 0.100000\nvt 0.275000 0.100000\nvt 0.300000 0.100000\nvt 0.325000 0.100000\nvt 0.350000 0.100000\nvt 0.375000 0.100000\nvt 0.400000 0.100000\nvt 0.425000 0.100000\nvt 0.450000 0.100000\nvt 0.475000 0.100000\nvt 0.500000 0.100000\nvt 0.525000 0.100000\nvt 0.550000 0.100000\nvt 0.575000 0.100000\nvt 0.600000 0.100000\nvt 0.625000 0.100000\nvt 0.650000 0.100000\nvt 0.675000 0.100000\nvt 0.700000 0.100000\nvt 0.725000 0.100000\nvt 0.750000 0.100000\nvt 0.775000 0.100000\nvt 0.800000 0.100000\nvt 0.825000 0.100000\nvt 0.850000 0.100000\nvt 0.875000 0.100000\nvt 0.900000 0.100000\nvt 0.925000 0.100000\nvt 0.950000 0.100000\nvt 0.975000 0.100000\nvt 1.000000 0.100000\nvt 0.000000 0.125000\nvt 0.025000 0.125000\nvt 0.050000 0.125000\nvt 0.075000 0.125000\nvt 0.100000 0.125000\nvt 0.125000 0.125000\nvt 0.150000 0.125000\nvt 0.175000 0.125000\nvt 0.200000 0.125000\nvt 0.225000 0.125000\nvt 0.250000 0.125000\nvt 0.275000 0.125000\nvt 0.300000 0.125000\nvt 0.325000 0.125000\nvt 0.350000 0.125000\nvt 0.375000 0.125000\nvt 0.400000 0.125000\nvt 0.425000 0.125000\nvt 0.450000 0.125000\nvt 0.475000 0.125000\nvt 0.500000 0.125000\nvt 0.525000 0.125000\nvt 0.550000 0.125000\nvt 0.575000 0.125000\nvt 0.600000 0.125000\nvt 0.625000 0.125000\nvt 0.650000 0.125000\nvt 0.675000 0.125000\nvt 0.700000 0.125000\nvt 0.725000 0.125000\nvt 0.750000 0.125000\nvt 0.775000 0.125000\nvt 0.800000 0.125000\nvt 0.825000 0.125000\nvt 0.850000 0.125000\nvt 0.875000 0.125000\nvt 0.900000 0.125000\nvt 0.925000 0.125000\nvt 0.950000 0.125000\nvt 0.975000 0.125000\nvt 1.000000 0.125000\nvt 0.000000 0.150000\nvt 0.025000 0.150000\nvt 0.050000 0.150000\nvt 0.075000 0.150000\nvt 0.100000 0.150000\nvt 0.125000 0.150000\nvt 0.150000 0.150000\nvt 0.175000 0.150000\nvt 0.200000 0.150000\nvt 0.225000 0.150000\nvt 0.250000 0.150000\nvt 0.275000 0.150000\nvt 0.300000 0.150000\nvt 0.325000 0.150000\nvt 0.350000 0.150000\nvt 0.375000 0.150000\nvt 0.400000 0.150000\nvt 0.425000 0.150000\nvt 0.450000 0.150000\nvt 0.475000 0.150000\nvt 0.500000 0.150000\nvt 0.525000 0.150000\nvt 0.550000 0.150000\nvt 0.575000 0.150000\nvt 0.600000 0.150000\nvt 0.625000 0.150000\nvt 0.650000 0.150000\nvt 0.675000 0.150000\nvt 0.700000 0.150000\nvt 0.725000 0.150000\nvt 0.750000 0.150000\nvt 0.775000 0.150000\nvt 0.800000 0.150000\nvt 0.825000 0.150000\nvt 0.850000 0.150000\nvt 0.875000 0.150000\nvt 0.900000 0.150000\nvt 0.925000 0.150000\nvt 0.950000 0.150000\nvt 0.975000 0.150000\nvt 1.000000 0.150000\nvt 0.000000 0.175000\nvt 0.025000 0.175000\nvt 0.050000 0.175000\nvt 0.075000 0.175000\nvt 0.100000 0.175000\nvt 0.125000 0.175000\nvt 0.150000 0.175000\nvt 0.175000 0.175000\nvt 0.200000 0.175000\nvt 0.225000 0.175000\nvt 0.250000 0.175000\nvt 0.275000 0.175000\nvt 0.300000 0.175000\nvt 0.325000 0.175000\nvt 0.350000 0.175000\nvt 0.375000 0.175000\nvt 0.400000 0.175000\nvt 0.425000 0.175000\nvt 0.450000 0.175000\nvt 0.475000 0.175000\nvt 0.500000 0.175000\nvt 0.525000 0.175000\nvt 0.550000 0.175000\nvt 0.575000 0.175000\nvt 0.600000 0.175000\nvt 0.625000 0.175000\nvt 0.650000 0.175000\nvt 0.675000 0.175000\nvt 0.700000 0.175000\nvt 0.725000 0.175000\nvt 0.750000 0.175000\nvt 0.775000 0.175000\nvt 0.800000 0.175000\nvt 0.825000 0.175000\nvt 0.850000 0.175000\nvt 0.875000 0.175000\nvt 0.900000 0.175000\nvt 0.925000 0.175000\nvt 0.950000 0.175000\nvt 0.975000 0.175000\nvt 1.000000 0.175000\nvt 0.000000 0.200000\nvt 0.025000 0.200000\nvt 0.050000 0.200000\nvt 0.075000 0.200000\nvt 0.100000 0.200000\nvt 0.125000 0.200000\nvt 0.150000 0.200000\nvt 0.175000 0.200000\nvt 0.200000 0.200000\nvt 0.225000 0.200000\nvt 0.250000 0.200000\nvt 0.275000 0.200000\nvt 0.300000 0.200000\nvt 0.325000 0.200000\nvt 0.350000 0.200000\nvt 0.375000 0.200000\nvt 0.400000 0.200000\nvt 0.425000 0.200000\nvt 0.450000 0.200000\nvt 0.475000 0.200000\nvt 0.500000 0.200000\nvt 0.525000 0.200000\nvt 0.550000 0.200000\nvt 0.575000 0.200000\nvt 0.600000 0.200000\nvt 0.625000 0.200000\nvt 0.650000 0.200000\nvt 0.675000 0.200000\nvt 0.700000 0.200000\nvt 0.725000 0.200000\nvt 0.750000 0.200000\nvt 0.775000 0.200000\nvt 0.800000 0.200000\nvt 0.825000 0.200000\nvt 0.850000 0.200000\nvt 0.875000 0.200000\nvt 0.900000 0.200000\nvt 0.925000 0.200000\nvt 0.950000 0.200000\nvt 0.975000 0.200000\nvt 1.000000 0.200000\nvt 0.000000 0.225000\nvt 0.025000 0.225000\nvt 0.050000 0.225000\nvt 0.075000 0.225000\nvt 0.100000 0.225000\nvt 0.125000 0.225000\nvt 0.150000 0.225000\nvt 0.175000 0.225000\nvt 0.200000 0.225000\nvt 0.225000 0.225000\nvt 0.250000 0.225000\nvt 0.275000 0.225000\nvt 0.300000 0.225000\nvt 0.325000 0.225000\nvt 0.350000 0.225000\nvt 0.375000 0.225000\nvt 0.400000 0.225000\nvt 0.425000 0.225000\nvt 0.450000 0.225000\nvt 0.475000 0.225000\nvt 0.500000 0.225000\nvt 0.525000 0.225000\nvt 0.550000 0.225000\nvt 0.575000 0.225000\nvt 0.600000 0.225000\nvt 0.625000 0.225000\nvt 0.650000 0.225000\nvt 0.675000 0.225000\nvt 0.700000 0.225000\nvt 0.725000 0.225000\nvt 0.750000 0.225000\nvt 0.775000 0.225000\nvt 0.800000 0.225000\nvt 0.825000 0.225000\nvt 0.850000 0.225000\nvt 0.875000 0.225000\nvt 0.900000 0.225000\nvt 0.925000 0.225000\nvt 0.950000 0.225000\nvt 0.975000 0.225000\nvt 1.000000 0.225000\nvt 0.000000 0.250000\nvt 0.025000 0.250000\nvt 0.050000 0.250000\nvt 0.075000 0.250000\nvt 0.100000 0.250000\nvt 0.125000 0.250000\nvt 0.150000 0.250000\nvt 0.175000 0.250000\nvt 0.200000 0.250000\nvt 0.225000 0.250000\nvt 0.250000 0.250000\nvt 0.275000 0.250000\nvt 0.300000 0.250000\nvt 0.325000 0.250000\nvt 0.350000 0.250000\nvt 0.375000 0.250000\nvt 0.400000 0.250000\nvt 0.425000 0.250000\nvt 0.450000 0.250000\nvt 0.475000 0.250000\nvt 0.500000 0.250000\nvt 0.525000 0.250000\nvt 0.550000 0.250000\nvt 0.575000 0.250000\nvt 0.600000 0.250000\nvt 0.625000 0.250000\nvt 0.650000 0.250000\nvt 0.675000 0.250000\nvt 0.700000 0.250000\nvt 0.725000 0.250000\nvt 0.750000 0.250000\nvt 0.775000 0.250000\nvt 0.800000 0.250000\nvt 0.825000 0.250000\nvt 0.850000 0.250000\nvt 0.875000 0.250000\nvt 0.900000 0.250000\nvt 0.925000 0.250000\nvt 0.950000 0.250000\nvt 0.975000 0.250000\nvt 1.000000 0.250000\nvt 0.000000 0.275000\nvt 0.025000 0.275000\nvt 0.050000 0.275000\nvt 0.075000 0.275000\nvt 0.100000 0.275000\nvt 0.125000 0.275000\nvt 0.150000 0.275000\nvt 0.175000 0.275000\nvt 0.200000 0.275000\nvt 0.225000 0.275000\nvt 0.250000 0.275000\nvt 0.275000 0.275000\nvt 0.300000 0.275000\nvt 0.325000 0.275000\nvt 0.350000 0.275000\nvt 0.375000 0.275000\nvt 0.400000 0.275000\nvt 0.425000 0.275000\nvt 0.450000 0.275000\nvt 0.475000 0.275000\nvt 0.500000 0.275000\nvt 0.525000 0.275000\nvt 0.550000 0.275000\nvt 0.575000 0.275000\nvt 0.600000 0.275000\nvt 0.625000 0.275000\nvt 0.650000 0.275000\nvt 0.675000 0.275000\nvt 0.700000 0.275000\nvt 0.725000 0.275000\nvt 0.750000 0.275000\nvt 0.775000 0.275000\nvt 0.800000 0.275000\nvt 0.825000 0.275000\nvt 0.850000 0.275000\nvt 0.875000 0.275000\nvt 0.900000 0.275000\nvt 0.925000 0.275000\nvt 0.950000 0.275000\nvt 0.975000 0.275000\nvt 1.000000 0.275000\nvt 0.000000 0.300000\nvt 0.025000 0.300000\nvt 0.050000 0.300000\nvt 0.075000 0.300000\nvt 0.100000 0.300000\nvt 0.125000 0.300000\nvt 0.150000 0.300000\nvt 0.175000 0.300000\nvt 0.200000 0.300000\nvt 0.225000 0.300000\nvt 0.250000 0.300000\nvt 0.275000 0.300000\nvt 0.300000 0.300000\nvt 0.325000 0.300000\nvt 0.350000 0.300000\nvt 0.375000 0.300000\nvt 0.400000 0.300000\nvt 0.425000 0.300000\nvt 0.450000 0.300000\nvt 0.475000 0.300000\nvt 0.500000 0.300000\nvt 0.525000 0.300000\nvt 0.550000 0.300000\nvt 0.575000 0.300000\nvt 0.600000 0.300000\nvt 0.625000 0.300000\nvt 0.650000 0.300000\nvt 0.675000 0.300000\nvt 0.700000 0.300000\nvt 0.725000 0.300000\nvt 0.750000 0.300000\nvt 0.775000 0.300000\nvt 0.800000 0.300000\nvt 0.825000 0.300000\nvt 0.850000 0.300000\nvt 0.875000 0.300000\nvt 0.900000 0.300000\nvt 0.925000 0.300000\nvt 0.950000 0.300000\nvt 0.975000 0.300000\nvt 1.000000 0.300000\nvt 0.000000 0.325000\nvt 0.025000 0.325000\nvt 0.050000 0.325000\nvt 0.075000 0.325000\nvt 0.100000 0.325000\nvt 0.125000 0.325000\nvt 0.150000 0.325000\nvt 0.175000 0.325000\nvt 0.200000 0.325000\nvt 0.225000 0.325000\nvt 0.250000 0.325000\nvt 0.275000 0.325000\nvt 0.300000 0.325000\nvt 0.325000 0.325000\nvt 0.350000 0.325000\nvt 0.375000 0.325000\nvt 0.400000 0.325000\nvt 0.425000 0.325000\nvt 0.450000 0.325000\nvt 0.475000 0.325000\nvt 0.500000 0.325000\nvt 0.525000 0.325000\nvt 0.550000 0.325000\nvt 0.575000 0.325000\nvt 0.600000 0.325000\nvt 0.625000 0.325000\nvt 0.650000 0.325000\nvt 0.675000 0.325000\nvt 0.700000 0.325000\nvt 0.725000 0.325000\nvt 0.750000 0.325000\nvt 0.775000 0.325000\nvt 0.800000 0.325000\nvt 0.825000 0.325000\nvt 0.850000 0.325000\nvt 0.875000 0.325000\nvt 0.900000 0.325000\nvt 0.925000 0.325000\nvt 0.950000 0.325000\nvt 0.975000 0.325000\nvt 1.000000 0.325000\nvt 0.000000 0.350000\nvt 0.025000 0.350000\nvt 0.050000 0.350000\nvt 0.075000 0.350000\nvt 0.100000 0.350000\nvt 0.125000 0.350000\nvt 0.150000 0.350000\nvt 0.175000 0.350000\nvt 0.200000 0.350000\nvt 0.225000 0.350000\nvt 0.250000 0.350000\nvt 0.275000 0.350000\nvt 0.300000 0.350000\nvt 0.325000 0.350000\nvt 0.350000 0.350000\nvt 0.375000 0.350000\nvt 0.400000 0.350000\nvt 0.425000 0.350000\nvt 0.450000 0.350000\nvt 0.475000 0.350000\nvt 0.500000 0.350000\nvt 0.525000 0.350000\nvt 0.550000 0.350000\nvt 0.575000 0.350000\nvt 0.600000 0.350000\nvt 0.625000 0.350000\nvt 0.650000 0.350000\nvt 0.675000 0.350000\nvt 0.700000 0.350000\nvt 0.725000 0.350000\nvt 0.750000 0.350000\nvt 0.775000 0.350000\nvt 0.800000 0.350000\nvt 0.825000 0.350000\nvt 0.850000 0.350000\nvt 0.875000 0.350000\nvt 0.900000 0.350000\nvt 0.925000 0.350000\nvt 0.950000 0.350000\nvt 0.975000 0.350000\nvt 1.000000 0.350000\nvt 0.000000 0.375000\nvt 0.025000 0.375000\nvt 0.050000 0.375000\nvt 0.075000 0.375000\nvt 0.100000 0.375000\nvt 0.125000 0.375000\nvt 0.150000 0.375000\nvt 0.175000 0.375000\nvt 0.200000 0.375000\nvt 0.225000 0.375000\nvt 0.250000 0.375000\nvt 0.275000 0.375000\nvt 0.300000 0.375000\nvt 0.325000 0.375000\nvt 0.350000 0.375000\nvt 0.375000 0.375000\nvt 0.400000 0.375000\nvt 0.425000 0.375000\nvt 0.450000 0.375000\nvt 0.475000 0.375000\nvt 0.500000 0.375000\nvt 0.525000 0.375000\nvt 0.550000 0.375000\nvt 0.575000 0.375000\nvt 0.600000 0.375000\nvt 0.625000 0.375000\nvt 0.650000 0.375000\nvt 0.675000 0.375000\nvt 0.700000 0.375000\nvt 0.725000 0.375000\nvt 0.750000 0.375000\nvt 0.775000 0.375000\nvt 0.800000 0.375000\nvt 0.825000 0.375000\nvt 0.850000 0.375000\nvt 0.875000 0.375000\nvt 0.900000 0.375000\nvt 0.925000 0.375000\nvt 0.950000 0.375000\nvt 0.975000 0.375000\nvt 1.000000 0.375000\nvt 0.000000 0.400000\nvt 0.025000 0.400000\nvt 0.050000 0.400000\nvt 0.075000 0.400000\nvt 0.100000 0.400000\nvt 0.125000 0.400000\nvt 0.150000 0.400000\nvt 0.175000 0.400000\nvt 0.200000 0.400000\nvt 0.225000 0.400000\nvt 0.250000 0.400000\nvt 0.275000 0.400000\nvt 0.300000 0.400000\nvt 0.325000 0.400000\nvt 0.350000 0.400000\nvt 0.375000 0.400000\nvt 0.400000 0.400000\nvt 0.425000 0.400000\nvt 0.450000 0.400000\nvt 0.475000 0.400000\nvt 0.500000 0.400000\nvt 0.525000 0.400000\nvt 0.550000 0.400000\nvt 0.575000 0.400000\nvt 0.600000 0.400000\nvt 0.625000 0.400000\nvt 0.650000 0.400000\nvt 0.675000 0.400000\nvt 0.700000 0.400000\nvt 0.725000 0.400000\nvt 0.750000 0.400000\nvt 0.775000 0.400000\nvt 0.800000 0.400000\nvt 0.825000 0.400000\nvt 0.850000 0.400000\nvt 0.875000 0.400000\nvt 0.900000 0.400000\nvt 0.925000 0.400000\nvt 0.950000 0.400000\nvt 0.975000 0.400000\nvt 1.000000 0.400000\nvt 0.000000 0.425000\nvt 0.025000 0.425000\nvt 0.050000 0.425000\nvt 0.075000 0.425000\nvt 0.100000 0.425000\nvt 0.125000 0.425000\nvt 0.150000 0.425000\nvt 0.175000 0.425000\nvt 0.200000 0.425000\nvt 0.225000 0.425000\nvt 0.250000 0.425000\nvt 0.275000 0.425000\nvt 0.300000 0.425000\nvt 0.325000 0.425000\nvt 0.350000 0.425000\nvt 0.375000 0.425000\nvt 0.400000 0.425000\nvt 0.425000 0.425000\nvt 0.450000 0.425000\nvt 0.475000 0.425000\nvt 0.500000 0.425000\nvt 0.525000 0.425000\nvt 0.550000 0.425000\nvt 0.575000 0.425000\nvt 0.600000 0.425000\nvt 0.625000 0.425000\nvt 0.650000 0.425000\nvt 0.675000 0.425000\nvt 0.700000 0.425000\nvt 0.725000 0.425000\nvt 0.750000 0.425000\nvt 0.775000 0.425000\nvt 0.800000 0.425000\nvt 0.825000 0.425000\nvt 0.850000 0.425000\nvt 0.875000 0.425000\nvt 0.900000 0.425000\nvt 0.925000 0.425000\nvt 0.950000 0.425000\nvt 0.975000 0.425000\nvt 1.000000 0.425000\nvt 0.000000 0.450000\nvt 0.025000 0.450000\nvt 0.050000 0.450000\nvt 0.075000 0.450000\nvt 0.100000 0.450000\nvt 0.125000 0.450000\nvt 0.150000 0.450000\nvt 0.175000 0.450000\nvt 0.200000 0.450000\nvt 0.225000 0.450000\nvt 0.250000 0.450000\nvt 0.275000 0.450000\nvt 0.300000 0.450000\nvt 0.325000 0.450000\nvt 0.350000 0.450000\nvt 0.375000 0.450000\nvt 0.400000 0.450000\nvt 0.425000 0.450000\nvt 0.450000 0.450000\nvt 0.475000 0.450000\nvt 0.500000 0.450000\nvt 0.525000 0.450000\nvt 0.550000 0.450000\nvt 0.575000 0.450000\nvt 0.600000 0.450000\nvt 0.625000 0.450000\nvt 0.650000 0.450000\nvt 0.675000 0.450000\nvt 0.700000 0.450000\nvt 0.725000 0.450000\nvt 0.750000 0.450000\nvt 0.775000 0.450000\nvt 0.800000 0.450000\nvt 0.825000 0.450000\nvt 0.850000 0.450000\nvt 0.875000 0.450000\nvt 0.900000 0.450000\nvt 0.925000 0.450000\nvt 0.950000 0.450000\nvt 0.975000 0.450000\nvt 1.000000 0.450000\nvt 0.000000 0.475000\nvt 0.025000 0.475000\nvt 0.050000 0.475000\nvt 0.075000 0.475000\nvt 0.100000 0.475000\nvt 0.125000 0.475000\nvt 0.150000 0.475000\nvt 0.175000 0.475000\nvt 0.200000 0.475000\nvt 0.225000 0.475000\nvt 0.250000 0.475000\nvt 0.275000 0.475000\nvt 0.300000 0.475000\nvt 0.325000 0.475000\nvt 0.350000 0.475000\nvt 0.375000 0.475000\nvt 0.400000 0.475000\nvt 0.425000 0.475000\nvt 0.450000 0.475000\nvt 0.475000 0.475000\nvt 0.500000 0.475000\nvt 0.525000 0.475000\nvt 0.550000 0.475000\nvt 0.575000 0.475000\nvt 0.600000 0.475000\nvt 0.625000 0.475000\nvt 0.650000 0.475000\nvt 0.675000 0.475000\nvt 0.700000 0.475000\nvt 0.725000 0.475000\nvt 0.750000 0.475000\nvt 0.775000 0.475000\nvt 0.800000 0.475000\nvt 0.825000 0.475000\nvt 0.850000 0.475000\nvt 0.875000 0.475000\nvt 0.900000 0.475000\nvt 0.925000 0.475000\nvt 0.950000 0.475000\nvt 0.975000 0.475000\nvt 1.000000 0.475000\nvt 0.000000 0.500000\nvt 0.025000 0.500000\nvt 0.050000 0.500000\nvt 0.075000 0.500000\nvt 0.100000 0.500000\nvt 0.125000 0.500000\nvt 0.150000 0.500000\nvt 0.175000 0.500000\nvt 0.200000 0.500000\nvt 0.225000 0.500000\nvt 0.250000 0.500000\nvt 0.275000 0.500000\nvt 0.300000 0.500000\nvt 0.325000 0.500000\nvt 0.350000 0.500000\nvt 0.375000 0.500000\nvt 0.400000 0.500000\nvt 0.425000 0.500000\nvt 0.450000 0.500000\nvt 0.475000 0.500000\nvt 0.500000 0.500000\nvt 0.525000 0.500000\nvt 0.550000 0.500000\nvt 0.575000 0.500000\nvt 0.600000 0.500000\nvt 0.625000 0.500000\nvt 0.650000 0.500000\nvt 0.675000 0.500000\nvt 0.700000 0.500000\nvt 0.725000 0.500000\nvt 0.750000 0.500000\nvt 0.775000 0.500000\nvt 0.800000 0.500000\nvt 0.825000 0.500000\nvt 0.850000 0.500000\nvt 0.875000 0.500000\nvt 0.900000 0.500000\nvt 0.925000 0.500000\nvt 0.950000 0.500000\nvt 0.975000 0.500000\nvt 1.000000 0.500000\nvt 0.000000 0.525000\nvt 0.025000 0.525000\nvt 0.050000 0.525000\nvt 0.075000 0.525000\nvt 0.100000 0.525000\nvt 0.125000 0.525000\nvt 0.150000 0.525000\nvt 0.175000 0.525000\nvt 0.200000 0.525000\nvt 0.225000 0.525000\nvt 0.250000 0.525000\nvt 0.275000 0.525000\nvt 0.300000 0.525000\nvt 0.325000 0.525000\nvt 0.350000 0.525000\nvt 0.375000 0.525000\nvt 0.400000 0.525000\nvt 0.425000 0.525000\nvt 0.450000 0.525000\nvt 0.475000 0.525000\nvt 0.500000 0.525000\nvt 0.525000 0.525000\nvt 0.550000 0.525000\nvt 0.575000 0.525000\nvt 0.600000 0.525000\nvt 0.625000 0.525000\nvt 0.650000 0.525000\nvt 0.675000 0.525000\nvt 0.700000 0.525000\nvt 0.725000 0.525000\nvt 0.750000 0.525000\nvt 0.775000 0.525000\nvt 0.800000 0.525000\nvt 0.825000 0.525000\nvt 0.850000 0.525000\nvt 0.875000 0.525000\nvt 0.900000 0.525000\nvt 0.925000 0.525000\nvt 0.950000 0.525000\nvt 0.975000 0.525000\nvt 1.000000 0.525000\nvt 0.000000 0.550000\nvt 0.025000 0.550000\nvt 0.050000 0.550000\nvt 0.075000 0.550000\nvt 0.100000 0.550000\nvt 0.125000 0.550000\nvt 0.150000 0.550000\nvt 0.175000 0.550000\nvt 0.200000 0.550000\nvt 0.225000 0.550000\nvt 0.250000 0.550000\nvt 0.275000 0.550000\nvt 0.300000 0.550000\nvt 0.325000 0.550000\nvt 0.350000 0.550000\nvt 0.375000 0.550000\nvt 0.400000 0.550000\nvt 0.425000 0.550000\nvt 0.450000 0.550000\nvt 0.475000 0.550000\nvt 0.500000 0.550000\nvt 0.525000 0.550000\nvt 0.550000 0.550000\nvt 0.575000 0.550000\nvt 0.600000 0.550000\nvt 0.625000 0.550000\nvt 0.650000 0.550000\nvt 0.675000 0.550000\nvt 0.700000 0.550000\nvt 0.725000 0.550000\nvt 0.750000 0.550000\nvt 0.775000 0.550000\nvt 0.800000 0.550000\nvt 0.825000 0.550000\nvt 0.850000 0.550000\nvt 0.875000 0.550000\nvt 0.900000 0.550000\nvt 0.925000 0.550000\nvt 0.950000 0.550000\nvt 0.975000 0.550000\nvt 1.000000 0.550000\nvt 0.000000 0.575000\nvt 0.025000 0.575000\nvt 0.050000 0.575000\nvt 0.075000 0.575000\nvt 0.100000 0.575000\nvt 0.125000 0.575000\nvt 0.150000 0.575000\nvt 0.175000 0.575000\nvt 0.200000 0.575000\nvt 0.225000 0.575000\nvt 0.250000 0.575000\nvt 0.275000 0.575000\nvt 0.300000 0.575000\nvt 0.325000 0.575000\nvt 0.350000 0.575000\nvt 0.375000 0.575000\nvt 0.400000 0.575000\nvt 0.425000 0.575000\nvt 0.450000 0.575000\nvt 0.475000 0.575000\nvt 0.500000 0.575000\nvt 0.525000 0.575000\nvt 0.550000 0.575000\nvt 0.575000 0.575000\nvt 0.600000 0.575000\nvt 0.625000 0.575000\nvt 0.650000 0.575000\nvt 0.675000 0.575000\nvt 0.700000 0.575000\nvt 0.725000 0.575000\nvt 0.750000 0.575000\nvt 0.775000 0.575000\nvt 0.800000 0.575000\nvt 0.825000 0.575000\nvt 0.850000 0.575000\nvt 0.875000 0.575000\nvt 0.900000 0.575000\nvt 0.925000 0.575000\nvt 0.950000 0.575000\nvt 0.975000 0.575000\nvt 1.000000 0.575000\nvt 0.000000 0.600000\nvt 0.025000 0.600000\nvt 0.050000 0.600000\nvt 0.075000 0.600000\nvt 0.100000 0.600000\nvt 0.125000 0.600000\nvt 0.150000 0.600000\nvt 0.175000 0.600000\nvt 0.200000 0.600000\nvt 0.225000 0.600000\nvt 0.250000 0.600000\nvt 0.275000 0.600000\nvt 0.300000 0.600000\nvt 0.325000 0.600000\nvt 0.350000 0.600000\nvt 0.375000 0.600000\nvt 0.400000 0.600000\nvt 0.425000 0.600000\nvt 0.450000 0.600000\nvt 0.475000 0.600000\nvt 0.500000 0.600000\nvt 0.525000 0.600000\nvt 0.550000 0.600000\nvt 0.575000 0.600000\nvt 0.600000 0.600000\nvt 0.625000 0.600000\nvt 0.650000 0.600000\nvt 0.675000 0.600000\nvt 0.700000 0.600000\nvt 0.725000 0.600000\nvt 0.750000 0.600000\nvt 0.775000 0.600000\nvt 0.800000 0.600000\nvt 0.825000 0.600000\nvt 0.850000 0.600000\nvt 0.875000 0.600000\nvt 0.900000 0.600000\nvt 0.925000 0.600000\nvt 0.950000 0.600000\nvt 0.975000 0.600000\nvt 1.000000 0.600000\nvt 0.000000 0.625000\nvt 0.025000 0.625000\nvt 0.050000 0.625000\nvt 0.075000 0.625000\nvt 0.100000 0.625000\nvt 0.125000 0.625000\nvt 0.150000 0.625000\nvt 0.175000 0.625000\nvt 0.200000 0.625000\nvt 0.225000 0.625000\nvt 0.250000 0.625000\nvt 0.275000 0.625000\nvt 0.300000 0.625000\nvt 0.325000 0.625000\nvt 0.350000 0.625000\nvt 0.375000 0.625000\nvt 0.400000 0.625000\nvt 0.425000 0.625000\nvt 0.450000 0.625000\nvt 0.475000 0.625000\nvt 0.500000 0.625000\nvt 0.525000 0.625000\nvt 0.550000 0.625000\nvt 0.575000 0.625000\nvt 0.600000 0.625000\nvt 0.625000 0.625000\nvt 0.650000 0.625000\nvt 0.675000 0.625000\nvt 0.700000 0.625000\nvt 0.725000 0.625000\nvt 0.750000 0.625000\nvt 0.775000 0.625000\nvt 0.800000 0.625000\nvt 0.825000 0.625000\nvt 0.850000 0.625000\nvt 0.875000 0.625000\nvt 0.900000 0.625000\nvt 0.925000 0.625000\nvt 0.950000 0.625000\nvt 0.975000 0.625000\nvt 1.000000 0.625000\nvt 0.000000 0.650000\nvt 0.025000 0.650000\nvt 0.050000 0.650000\nvt 0.075000 0.650000\nvt 0.100000 0.650000\nvt 0.125000 0.650000\nvt 0.150000 0.650000\nvt 0.175000 0.650000\nvt 0.200000 0.650000\nvt 0.225000 0.650000\nvt 0.250000 0.650000\nvt 0.275000 0.650000\nvt 0.300000 0.650000\nvt 0.325000 0.650000\nvt 0.350000 0.650000\nvt 0.375000 0.650000\nvt 0.400000 0.650000\nvt 0.425000 0.650000\nvt 0.450000 0.650000\nvt 0.475000 0.650000\nvt 0.500000 0.650000\nvt 0.525000 0.650000\nvt 0.550000 0.650000\nvt 0.575000 0.650000\nvt 0.600000 0.650000\nvt 0.625000 0.650000\nvt 0.650000 0.650000\nvt 0.675000 0.650000\nvt 0.700000 0.650000\nvt 0.725000 0.650000\nvt 0.750000 0.650000\nvt 0.775000 0.650000\nvt 0.800000 0.650000\nvt 0.825000 0.650000\nvt 0.850000 0.650000\nvt 0.875000 0.650000\nvt 0.900000 0.650000\nvt 0.925000 0.650000\nvt 0.950000 0.650000\nvt 0.975000 0.650000\nvt 1.000000 0.650000\nvt 0.000000 0.675000\nvt 0.025000 0.675000\nvt 0.050000 0.675000\nvt 0.075000 0.675000\nvt 0.100000 0.675000\nvt 0.125000 0.675000\nvt 0.150000 0.675000\nvt 0.175000 0.675000\nvt 0.200000 0.675000\nvt 0.225000 0.675000\nvt 0.250000 0.675000\nvt 0.275000 0.675000\nvt 0.300000 0.675000\nvt 0.325000 0.675000\nvt 0.350000 0.675000\nvt 0.375000 0.675000\nvt 0.400000 0.675000\nvt 0.425000 0.675000\nvt 0.450000 0.675000\nvt 0.475000 0.675000\nvt 0.500000 0.675000\nvt 0.525000 0.675000\nvt 0.550000 0.675000\nvt 0.575000 0.675000\nvt 0.600000 0.675000\nvt 0.625000 0.675000\nvt 0.650000 0.675000\nvt 0.675000 0.675000\nvt 0.700000 0.675000\nvt 0.725000 0.675000\nvt 0.750000 0.675000\nvt 0.775000 0.675000\nvt 0.800000 0.675000\nvt 0.825000 0.675000\nvt 0.850000 0.675000\nvt 0.875000 0.675000\nvt 0.900000 0.675000\nvt 0.925000 0.675000\nvt 0.950000 0.675000\nvt 0.975000 0.675000\nvt 1.000000 0.675000\nvt 0.000000 0.700000\nvt 0.025000 0.700000\nvt 0.050000 0.700000\nvt 0.075000 0.700000\nvt 0.100000 0.700000\nvt 0.125000 0.700000\nvt 0.150000 0.700000\nvt 0.175000 0.700000\nvt 0.200000 0.700000\nvt 0.225000 0.700000\nvt 0.250000 0.700000\nvt 0.275000 0.700000\nvt 0.300000 0.700000\nvt 0.325000 0.700000\nvt 0.350000 0.700000\nvt 0.375000 0.700000\nvt 0.400000 0.700000\nvt 0.425000 0.700000\nvt 0.450000 0.700000\nvt 0.475000 0.700000\nvt 0.500000 0.700000\nvt 0.525000 0.700000\nvt 0.550000 0.700000\nvt 0.575000 0.700000\nvt 0.600000 0.700000\nvt 0.625000 0.700000\nvt 0.650000 0.700000\nvt 0.675000 0.700000\nvt 0.700000 0.700000\nvt 0.725000 0.700000\nvt 0.750000 0.700000\nvt 0.775000 0.700000\nvt 0.800000 0.700000\nvt 0.825000 0.700000\nvt 0.850000 0.700000\nvt 0.875000 0.700000\nvt 0.900000 0.700000\nvt 0.925000 0.700000\nvt 0.950000 0.700000\nvt 0.975000 0.700000\nvt 1.000000 0.700000\nvt 0.000000 0.725000\nvt 0.025000 0.725000\nvt 0.050000 0.725000\nvt 0.075000 0.725000\nvt 0.100000 0.725000\nvt 0.125000 0.725000\nvt 0.150000 0.725000\nvt 0.175000 0.725000\nvt 0.200000 0.725000\nvt 0.225000 0.725000\nvt 0.250000 0.725000\nvt 0.275000 0.725000\nvt 0.300000 0.725000\nvt 0.325000 0.725000\nvt 0.350000 0.725000\nvt 0.375000 0.725000\nvt 0.400000 0.725000\nvt 0.425000 0.725000\nvt 0.450000 0.725000\nvt 0.475000 0.725000\nvt 0.500000 0.725000\nvt 0.525000 0.725000\nvt 0.550000 0.725000\nvt 0.575000 0.725000\nvt 0.600000 0.725000\nvt 0.625000 0.725000\nvt 0.650000 0.725000\nvt 0.675000 0.725000\nvt 0.700000 0.725000\nvt 0.725000 0.725000\nvt 0.750000 0.725000\nvt 0.775000 0.725000\nvt 0.800000 0.725000\nvt 0.825000 0.725000\nvt 0.850000 0.725000\nvt 0.875000 0.725000\nvt 0.900000 0.725000\nvt 0.925000 0.725000\nvt 0.950000 0.725000\nvt 0.975000 0.725000\nvt 1.000000 0.725000\nvt 0.000000 0.750000\nvt 0.025000 0.750000\nvt 0.050000 0.750000\nvt 0.075000 0.750000\nvt 0.100000 0.750000\nvt 0.125000 0.750000\nvt 0.150000 0.750000\nvt 0.175000 0.750000\nvt 0.200000 0.750000\nvt 0.225000 0.750000\nvt 0.250000 0.750000\nvt 0.275000 0.750000\nvt 0.300000 0.750000\nvt 0.325000 0.750000\nvt 0.350000 0.750000\nvt 0.375000 0.750000\nvt 0.400000 0.750000\nvt 0.425000 0.750000\nvt 0.450000 0.750000\nvt 0.475000 0.750000\nvt 0.500000 0.750000\nvt 0.525000 0.750000\nvt 0.550000 0.750000\nvt 0.575000 0.750000\nvt 0.600000 0.750000\nvt 0.625000 0.750000\nvt 0.650000 0.750000\nvt 0.675000 0.750000\nvt 0.700000 0.750000\nvt 0.725000 0.750000\nvt 0.750000 0.750000\nvt 0.775000 0.750000\nvt 0.800000 0.750000\nvt 0.825000 0.750000\nvt 0.850000 0.750000\nvt 0.875000 0.750000\nvt 0.900000 0.750000\nvt 0.925000 0.750000\nvt 0.950000 0.750000\nvt 0.975000 0.750000\nvt 1.000000 0.750000\nvt 0.000000 0.775000\nvt 0.025000 0.775000\nvt 0.050000 0.775000\nvt 0.075000 0.775000\nvt 0.100000 0.775000\nvt 0.125000 0.775000\nvt 0.150000 0.775000\nvt 0.175000 0.775000\nvt 0.200000 0.775000\nvt 0.225000 0.775000\nvt 0.250000 0.775000\nvt 0.275000 0.775000\nvt 0.300000 0.775000\nvt 0.325000 0.775000\nvt 0.350000 0.775000\nvt 0.375000 0.775000\nvt 0.400000 0.775000\nvt 0.425000 0.775000\nvt 0.450000 0.775000\nvt 0.475000 0.775000\nvt 0.500000 0.775000\nvt 0.525000 0.775000\nvt 0.550000 0.775000\nvt 0.575000 0.775000\nvt 0.600000 0.775000\nvt 0.625000 0.775000\nvt 0.650000 0.775000\nvt 0.675000 0.775000\nvt 0.700000 0.775000\nvt 0.725000 0.775000\nvt 0.750000 0.775000\nvt 0.775000 0.775000\nvt 0.800000 0.775000\nvt 0.825000 0.775000\nvt 0.850000 0.775000\nvt 0.875000 0.775000\nvt 0.900000 0.775000\nvt 0.925000 0.775000\nvt 0.950000 0.775000\nvt 0.975000 0.775000\nvt 1.000000 0.775000\nvt 0.000000 0.800000\nvt 0.025000 0.800000\nvt 0.050000 0.800000\nvt 0.075000 0.800000\nvt 0.100000 0.800000\nvt 0.125000 0.800000\nvt 0.150000 0.800000\nvt 0.175000 0.800000\nvt 0.200000 0.800000\nvt 0.225000 0.800000\nvt 0.250000 0.800000\nvt 0.275000 0.800000\nvt 0.300000 0.800000\nvt 0.325000 0.800000\nvt 0.350000 0.800000\nvt 0.375000 0.800000\nvt 0.400000 0.800000\nvt 0.425000 0.800000\nvt 0.450000 0.800000\nvt 0.475000 0.800000\nvt 0.500000 0.800000\nvt 0.525000 0.800000\nvt 0.550000 0.800000\nvt 0.575000 0.800000\nvt 0.600000 0.800000\nvt 0.625000 0.800000\nvt 0.650000 0.800000\nvt 0.675000 0.800000\nvt 0.700000 0.800000\nvt 0.725000 0.800000\nvt 0.750000 0.800000\nvt 0.775000 0.800000\nvt 0.800000 0.800000\nvt 0.825000 0.800000\nvt 0.850000 0.800000\nvt 0.875000 0.800000\nvt 0.900000 0.800000\nvt 0.925000 0.800000\nvt 0.950000 0.800000\nvt 0.975000 0.800000\nvt 1.000000 0.800000\nvt 0.000000 0.825000\nvt 0.025000 0.825000\nvt 0.050000 0.825000\nvt 0.075000 0.825000\nvt 0.100000 0.825000\nvt 0.125000 0.825000\nvt 0.150000 0.825000\nvt 0.175000 0.825000\nvt 0.200000 0.825000\nvt 0.225000 0.825000\nvt 0.250000 0.825000\nvt 0.275000 0.825000\nvt 0.300000 0.825000\nvt 0.325000 0.825000\nvt 0.350000 0.825000\nvt 0.375000 0.825000\nvt 0.400000 0.825000\nvt 0.425000 0.825000\nvt 0.450000 0.825000\nvt 0.475000 0.825000\nvt 0.500000 0.825000\nvt 0.525000 0.825000\nvt 0.550000 0.825000\nvt 0.575000 0.825000\nvt 0.600000 0.825000\nvt 0.625000 0.825000\nvt 0.650000 0.825000\nvt 0.675000 0.825000\nvt 0.700000 0.825000\nvt 0.725000 0.825000\nvt 0.750000 0.825000\nvt 0.775000 0.825000\nvt 0.800000 0.825000\nvt 0.825000 0.825000\nvt 0.850000 0.825000\nvt 0.875000 0.825000\nvt 0.900000 0.825000\nvt 0.925000 0.825000\nvt 0.950000 0.825000\nvt 0.975000 0.825000\nvt 1.000000 0.825000\nvt 0.000000 0.850000\nvt 0.025000 0.850000\nvt 0.050000 0.850000\nvt 0.075000 0.850000\nvt 0.100000 0.850000\nvt 0.125000 0.850000\nvt 0.150000 0.850000\nvt 0.175000 0.850000\nvt 0.200000 0.850000\nvt 0.225000 0.850000\nvt 0.250000 0.850000\nvt 0.275000 0.850000\nvt 0.300000 0.850000\nvt 0.325000 0.850000\nvt 0.350000 0.850000\nvt 0.375000 0.850000\nvt 0.400000 0.850000\nvt 0.425000 0.850000\nvt 0.450000 0.850000\nvt 0.475000 0.850000\nvt 0.500000 0.850000\nvt 0.525000 0.850000\nvt 0.550000 0.850000\nvt 0.575000 0.850000\nvt 0.600000 0.850000\nvt 0.625000 0.850000\nvt 0.650000 0.850000\nvt 0.675000 0.850000\nvt 0.700000 0.850000\nvt 0.725000 0.850000\nvt 0.750000 0.850000\nvt 0.775000 0.850000\nvt 0.800000 0.850000\nvt 0.825000 0.850000\nvt 0.850000 0.850000\nvt 0.875000 0.850000\nvt 0.900000 0.850000\nvt 0.925000 0.850000\nvt 0.950000 0.850000\nvt 0.975000 0.850000\nvt 1.000000 0.850000\nvt 0.000000 0.875000\nvt 0.025000 0.875000\nvt 0.050000 0.875000\nvt 0.075000 0.875000\nvt 0.100000 0.875000\nvt 0.125000 0.875000\nvt 0.150000 0.875000\nvt 0.175000 0.875000\nvt 0.200000 0.875000\nvt 0.225000 0.875000\nvt 0.250000 0.875000\nvt 0.275000 0.875000\nvt 0.300000 0.875000\nvt 0.325000 0.875000\nvt 0.350000 0.875000\nvt 0.375000 0.875000\nvt 0.400000 0.875000\nvt 0.425000 0.875000\nvt 0.450000 0.875000\nvt 0.475000 0.875000\nvt 0.500000 0.875000\nvt 0.525000 0.875000\nvt 0.550000 0.875000\nvt 0.575000 0.875000\nvt 0.600000 0.875000\nvt 0.625000 0.875000\nvt 0.650000 0.875000\nvt 0.675000 0.875000\nvt 0.700000 0.875000\nvt 0.725000 0.875000\nvt 0.750000 0.875000\nvt 0.775000 0.875000\nvt 0.800000 0.875000\nvt 0.825000 0.875000\nvt 0.850000 0.875000\nvt 0.875000 0.875000\nvt 0.900000 0.875000\nvt 0.925000 0.875000\nvt 0.950000 0.875000\nvt 0.975000 0.875000\nvt 1.000000 0.875000\nvt 0.000000 0.900000\nvt 0.025000 0.900000\nvt 0.050000 0.900000\nvt 0.075000 0.900000\nvt 0.100000 0.900000\nvt 0.125000 0.900000\nvt 0.150000 0.900000\nvt 0.175000 0.900000\nvt 0.200000 0.900000\nvt 0.225000 0.900000\nvt 0.250000 0.900000\nvt 0.275000 0.900000\nvt 0.300000 0.900000\nvt 0.325000 0.900000\nvt 0.350000 0.900000\nvt 0.375000 0.900000\nvt 0.400000 0.900000\nvt 0.425000 0.900000\nvt 0.450000 0.900000\nvt 0.475000 0.900000\nvt 0.500000 0.900000\nvt 0.525000 0.900000\nvt 0.550000 0.900000\nvt 0.575000 0.900000\nvt 0.600000 0.900000\nvt 0.625000 0.900000\nvt 0.650000 0.900000\nvt 0.675000 0.900000\nvt 0.700000 0.900000\nvt 0.725000 0.900000\nvt 0.750000 0.900000\nvt 0.775000 0.900000\nvt 0.800000 0.900000\nvt 0.825000 0.900000\nvt 0.850000 0.900000\nvt 0.875000 0.900000\nvt 0.900000 0.900000\nvt 0.925000 0.900000\nvt 0.950000 0.900000\nvt 0.975000 0.900000\nvt 1.000000 0.900000\nvt 0.000000 0.925000\nvt 0.025000 0.925000\nvt 0.050000 0.925000\nvt 0.075000 0.925000\nvt 0.100000 0.925000\nvt 0.125000 0.925000\nvt 0.150000 0.925000\nvt 0.175000 0.925000\nvt 0.200000 0.925000\nvt 0.225000 0.925000\nvt 0.250000 0.925000\nvt 0.275000 0.925000\nvt 0.300000 0.925000\nvt 0.325000 0.925000\nvt 0.350000 0.925000\nvt 0.375000 0.925000\nvt 0.400000 0.925000\nvt 0.425000 0.925000\nvt 0.450000 0.925000\nvt 0.475000 0.925000\nvt 0.500000 0.925000\nvt 0.525000 0.925000\nvt 0.550000 0.925000\nvt 0.575000 0.925000\nvt 0.600000 0.925000\nvt 0.625000 0.925000\nvt 0.650000 0.925000\nvt 0.675000 0.925000\nvt 0.700000 0.925000\nvt 0.725000 0.925000\nvt 0.750000 0.925000\nvt 0.775000 0.925000\nvt 0.800000 0.925000\nvt 0.825000 0.925000\nvt 0.850000 0.925000\nvt 0.875000 0.925000\nvt 0.900000 0.925000\nvt 0.925000 0.925000\nvt 0.950000 0.925000\nvt 0.975000 0.925000\nvt 1.000000 0.925000\nvt 0.000000 0.950000\nvt 0.025000 0.950000\nvt 0.050000 0.950000\nvt 0.075000 0.950000\nvt 0.100000 0.950000\nvt 0.125000 0.950000\nvt 0.150000 0.950000\nvt 0.175000 0.950000\nvt 0.200000 0.950000\nvt 0.225000 0.950000\nvt 0.250000 0.950000\nvt 0.275000 0.950000\nvt 0.300000 0.950000\nvt 0.325000 0.950000\nvt 0.350000 0.950000\nvt 0.375000 0.950000\nvt 0.400000 0.950000\nvt 0.425000 0.950000\nvt 0.450000 0.950000\nvt 0.475000 0.950000\nvt 0.500000 0.950000\nvt 0.525000 0.950000\nvt 0.550000 0.950000\nvt 0.575000 0.950000\nvt 0.600000 0.950000\nvt 0.625000 0.950000\nvt 0.650000 0.950000\nvt 0.675000 0.950000\nvt 0.700000 0.950000\nvt 0.725000 0.950000\nvt 0.750000 0.950000\nvt 0.775000 0.950000\nvt 0.800000 0.950000\nvt 0.825000 0.950000\nvt 0.850000 0.950000\nvt 0.875000 0.950000\nvt 0.900000 0.950000\nvt 0.925000 0.950000\nvt 0.950000 0.950000\nvt 0.975000 0.950000\nvt 1.000000 0.950000\nvt 0.000000 0.975000\nvt 0.025000 0.975000\nvt 0.050000 0.975000\nvt 0.075000 0.975000\nvt 0.100000 0.975000\nvt 0.125000 0.975000\nvt 0.150000 0.975000\nvt 0.175000 0.975000\nvt 0.200000 0.975000\nvt 0.225000 0.975000\nvt 0.250000 0.975000\nvt 0.275000 0.975000\nvt 0.300000 0.975000\nvt 0.325000 0.975000\nvt 0.350000 0.975000\nvt 0.375000 0.975000\nvt 0.400000 0.975000\nvt 0.425000 0.975000\nvt 0.450000 0.975000\nvt 0.475000 0.975000\nvt 0.500000 0.975000\nvt 0.525000 0.975000\nvt 0.550000 0.975000\nvt 0.575000 0.975000\nvt 0.600000 0.975000\nvt 0.625000 0.975000\nvt 0.650000 0.975000\nvt 0.675000 0.975000\nvt 0.700000 0.975000\nvt 0.725000 0.975000\nvt 0.750000 0.975000\nvt 0.775000 0.975000\nvt 0.800000 0.975000\nvt 0.825000 0.975000\nvt 0.850000 0.975000\nvt 0.875000 0.975000\nvt 0.900000 0.975000\nvt 0.925000 0.975000\nvt 0.950000 0.975000\nvt 0.975000 0.975000\nvt 1.000000 0.975000\nvt 0.000000 1.000000\nvt 0.025000 1.000000\nvt 0.050000 1.000000\nvt 0.075000 1.000000\nvt 0.100000 1.000000\nvt 0.125000 1.000000\nvt 0.150000 1.000000\nvt 0.175000 1.000000\nvt 0.200000 1.000000\nvt 0.225000 1.000000\nvt 0.250000 1.000000\nvt 0.275000 1.000000\nvt 0.300000 1.000000\nvt 0.325000 1.000000\nvt 0.350000 1.000000\nvt 0.375000 1.000000\nvt 0.400000 1.000000\nvt 0.425000 1.000000\nvt 0.450000 1.000000\nvt 0.475000 1.000000\nvt 0.500000 1.000000\nvt 0.525000 1.000000\nvt 0.550000 1.000000\nvt 0.575000 1.000000\nvt 0.600000 1.000000\nvt 0.625000 1.000000\nvt 0.650000 1.000000\nvt 0.675000 1.000000\nvt 0.700000 1.000000\nvt 0.725000 1.000000\nvt 0.750000 1.000000\nvt 0.775000 1.000000\nvt 0.800000 1.000000\nvt 0.825000 1.000000\nvt 0.850000 1.000000\nvt 0.875000 1.000000\nvt 0.900000 1.000000\nvt 0.925000 1.000000\nvt 0.950000 1.000000\nvt 0.975000 1.000000\nvt 1.000000 1.000000\nvn 0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn -0.000000 1.000000 0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn -0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nf 1/1/1 2/2/2 42/42/3\nf 2/2/2 43/43/4 42/42/3\nf 2/2/2 3/3/5 43/43/4\nf 43/43/4 3/3/5 44/44/6\nf 3/3/5 4/4/7 44/44/6\nf 44/44/6 4/4/7 45/45/8\nf 4/4/7 5/5/9 45/45/8\nf 45/45/8 5/5/9 46/46/10\nf 5/5/9 6/6/11 46/46/10\nf 46/46/10 6/6/11 47/47/12\nf 7/7/13 48/48/14 6/6/11\nf 6/6/11 48/48/14 47/47/12\nf 7/7/13 8/8/15 48/48/14\nf 48/48/14 8/8/15 49/49/16\nf 8/8/15 9/9/17 49/49/16\nf 49/49/16 9/9/17 50/50/18\nf 10/10/19 51/51/20 9/9/17\nf 9/9/17 51/51/20 50/50/18\nf 10/10/19 11/11/21 51/51/20\nf 51/51/20 11/11/21 52/52/22\nf 11/11/21 12/12/23 52/52/22\nf 52/52/22 12/12/23 53/53/24\nf 13/13/25 54/54/26 12/12/23\nf 12/12/23 54/54/26 53/53/24\nf 13/13/25 14/14/27 54/54/26\nf 54/54/26 14/14/27 55/55/28\nf 14/14/27 15/15/29 55/55/28\nf 55/55/28 15/15/29 56/56/30\nf 15/15/29 16/16/31 56/56/30\nf 56/56/30 16/16/31 57/57/32\nf 17/17/33 58/58/34 16/16/31\nf 16/16/31 58/58/34 57/57/32\nf 17/17/33 18/18/35 58/58/34\nf 58/58/34 18/18/35 59/59/36\nf 19/19/37 60/60/38 18/18/35\nf 18/18/35 60/60/38 59/59/36\nf 19/19/37 20/20/39 60/60/38\nf 60/60/38 20/20/39 61/61/40\nf 21/21/41 62/62/42 20/20/39\nf 20/20/39 62/62/42 61/61/40\nf 22/22/43 63/63/44 21/21/41\nf 21/21/41 63/63/44 62/62/42\nf 22/22/43 23/23/45 63/63/44\nf 63/63/44 23/23/45 64/64/46\nf 23/23/45 24/24/47 64/64/46\nf 64/64/46 24/24/47 65/65/48\nf 25/25/49 66/66/50 24/24/47\nf 24/24/47 66/66/50 65/65/48\nf 25/25/49 26/26/51 66/66/50\nf 66/66/50 26/26/51 67/67/52\nf 26/26/51 27/27/53 67/67/52\nf 67/67/52 27/27/53 68/68/54\nf 28/28/55 69/69/56 27/27/53\nf 27/27/53 69/69/56 68/68/54\nf 29/29/57 70/70/58 28/28/55\nf 28/28/55 70/70/58 69/69/56\nf 30/30/59 71/71/60 29/29/57\nf 29/29/57 71/71/60 70/70/58\nf 31/31/61 72/72/62 30/30/59\nf 30/30/59 72/72/62 71/71/60\nf 32/32/63 73/73/64 31/31/61\nf 31/31/61 73/73/64 72/72/62\nf 33/33/65 74/74/66 32/32/63\nf 32/32/63 74/74/66 73/73/64\nf 34/34/67 75/75/68 33/33/65\nf 33/33/65 75/75/68 74/74/66\nf 35/35/69 76/76/70 34/34/67\nf 34/34/67 76/76/70 75/75/68\nf 35/35/69 36/36/71 76/76/70\nf 76/76/70 36/36/71 77/77/72\nf 37/37/73 78/78/74 36/36/71\nf 36/36/71 78/78/74 77/77/72\nf 37/37/73 38/38/75 78/78/74\nf 78/78/74 38/38/75 79/79/76\nf 39/39/77 80/80/78 38/38/75\nf 38/38/75 80/80/78 79/79/76\nf 39/39/77 40/40/79 80/80/78\nf 80/80/78 40/40/79 81/81/80\nf 41/41/81 82/82/82 40/40/79\nf 40/40/79 82/82/82 81/81/80\nf 42/42/3 43/43/4 83/83/83\nf 83/83/83 43/43/4 84/84/84\nf 43/43/4 44/44/6 84/84/84\nf 84/84/84 44/44/6 85/85/85\nf 45/45/8 86/86/86 44/44/6\nf 44/44/6 86/86/86 85/85/85\nf 46/46/10 87/87/87 45/45/8\nf 45/45/8 87/87/87 86/86/86\nf 87/87/87 46/46/10 88/88/88\nf 46/46/10 47/47/12 88/88/88\nf 48/48/14 89/89/89 47/47/12\nf 47/47/12 89/89/89 88/88/88\nf 49/49/16 90/90/90 48/48/14\nf 48/48/14 90/90/90 89/89/89\nf 50/50/18 91/91/91 49/49/16\nf 49/49/16 91/91/91 90/90/90\nf 91/91/91 50/50/18 92/92/92\nf 50/50/18 51/51/20 92/92/92\nf 92/92/92 51/51/20 93/93/93\nf 51/51/20 52/52/22 93/93/93\nf 53/53/24 94/94/94 52/52/22\nf 52/52/22 94/94/94 93/93/93\nf 54/54/26 95/95/95 53/53/24\nf 53/53/24 95/95/95 94/94/94\nf 55/55/28 96/96/96 54/54/26\nf 54/54/26 96/96/96 95/95/95\nf 96/96/96 55/55/28 97/97/97\nf 55/55/28 56/56/30 97/97/97\nf 56/56/30 57/57/32 97/97/97\nf 57/57/32 98/98/98 97/97/97\nf 99/99/99 98/98/98 58/58/34\nf 57/57/32 58/58/34 98/98/98\nf 59/59/36 100/100/100 58/58/34\nf 58/58/34 100/100/100 99/99/99\nf 60/60/38 101/101/101 59/59/36\nf 59/59/36 101/101/101 100/100/100\nf 60/60/38 61/61/40 101/101/101\nf 61/61/40 102/102/102 101/101/101\nf 62/62/42 103/103/103 61/61/40\nf 61/61/40 103/103/103 102/102/102\nf 63/63/44 104/104/104 62/62/42\nf 62/62/42 104/104/104 103/103/103\nf 64/64/46 105/105/105 63/63/44\nf 63/63/44 105/105/105 104/104/104\nf 64/64/46 65/65/48 105/105/105\nf 105/105/105 65/65/48 106/106/106\nf 66/66/50 107/107/107 65/65/48\nf 65/65/48 107/107/107 106/106/106\nf 107/107/107 66/66/50 108/108/108\nf 66/66/50 67/67/52 108/108/108\nf 67/67/52 68/68/54 108/108/108\nf 68/68/54 109/109/109 108/108/108\nf 69/69/56 110/110/110 68/68/54\nf 68/68/54 110/110/110 109/109/109\nf 111/111/111 110/110/110 70/70/58\nf 69/69/56 70/70/58 110/110/110\nf 112/112/112 111/111/111 71/71/60\nf 70/70/58 71/71/60 111/111/111\nf 71/71/60 72/72/62 112/112/112\nf 72/72/62 113/113/113 112/112/112\nf 114/114/114 113/113/113 73/73/64\nf 72/72/62 73/73/64 113/113/113\nf 115/115/115 114/114/114 74/74/66\nf 73/73/64 74/74/66 114/114/114\nf 75/75/68 116/116/116 74/74/66\nf 74/74/66 116/116/116 115/115/115\nf 76/76/70 117/117/117 75/75/68\nf 75/75/68 117/117/117 116/116/116\nf 76/76/70 77/77/72 117/117/117\nf 117/117/117 77/77/72 118/118/118\nf 78/78/74 119/119/119 77/77/72\nf 77/77/72 119/119/119 118/118/118\nf 78/78/74 79/79/76 119/119/119\nf 79/79/76 120/120/120 119/119/119\nf 79/79/76 80/80/78 120/120/120\nf 80/80/78 121/121/121 120/120/120\nf 80/80/78 81/81/80 121/121/121\nf 121/121/121 81/81/80 122/122/122\nf 81/81/80 82/82/82 122/122/122\nf 122/122/122 82/82/82 123/123/123\nf 84/84/84 125/125/124 83/83/83\nf 83/83/83 125/125/124 124/124/125\nf 85/85/85 126/126/126 84/84/84\nf 84/84/84 126/126/126 125/125/124\nf 86/86/86 127/127/127 85/85/85\nf 85/85/85 127/127/127 126/126/126\nf 127/127/127 86/86/86 128/128/128\nf 86/86/86 87/87/87 128/128/128\nf 88/88/88 129/129/129 87/87/87\nf 87/87/87 129/129/129 128/128/128\nf 89/89/89 130/130/130 88/88/88\nf 88/88/88 130/130/130 129/129/129\nf 90/90/90 131/131/131 89/89/89\nf 89/89/89 131/131/131 130/130/130\nf 90/90/90 91/91/91 131/131/131\nf 131/131/131 91/91/91 132/132/132\nf 132/132/132 91/91/91 133/133/133\nf 91/91/91 92/92/92 133/133/133\nf 93/93/93 134/134/134 92/92/92\nf 92/92/92 134/134/134 133/133/133\nf 94/94/94 135/135/135 93/93/93\nf 93/93/93 135/135/135 134/134/134\nf 95/95/95 136/136/136 94/94/94\nf 94/94/94 136/136/136 135/135/135\nf 96/96/96 137/137/137 95/95/95\nf 95/95/95 137/137/137 136/136/136\nf 97/97/97 138/138/138 96/96/96\nf 96/96/96 138/138/138 137/137/137\nf 138/138/138 97/97/97 139/139/139\nf 97/97/97 98/98/98 139/139/139\nf 99/99/99 140/140/140 98/98/98\nf 98/98/98 140/140/140 139/139/139\nf 141/141/141 140/140/140 100/100/100\nf 99/99/99 100/100/100 140/140/140\nf 142/142/142 141/141/141 101/101/101\nf 100/100/100 101/101/101 141/141/141\nf 101/101/101 102/102/102 142/142/142\nf 142/142/142 102/102/102 143/143/143\nf 102/102/102 103/103/103 143/143/143\nf 143/143/143 103/103/103 144/144/144\nf 144/144/144 103/103/103 145/145/145\nf 103/103/103 104/104/104 145/145/145\nf 146/146/146 145/145/145 105/105/105\nf 104/104/104 105/105/105 145/145/145\nf 147/147/147 146/146/146 106/106/106\nf 105/105/105 106/106/106 146/146/146\nf 147/147/147 106/106/106 148/148/148\nf 106/106/106 107/107/107 148/148/148\nf 108/108/108 149/149/149 107/107/107\nf 107/107/107 149/149/149 148/148/148\nf 108/108/108 109/109/109 149/149/149\nf 109/109/109 150/150/150 149/149/149\nf 109/109/109 110/110/110 150/150/150\nf 150/150/150 110/110/110 151/151/151\nf 111/111/111 152/152/152 110/110/110\nf 110/110/110 152/152/152 151/151/151\nf 111/111/111 112/112/112 152/152/152\nf 112/112/112 153/153/153 152/152/152\nf 113/113/113 154/154/154 112/112/112\nf 112/112/112 154/154/154 153/153/153\nf 155/155/155 154/154/154 114/114/114\nf 113/113/113 114/114/114 154/154/154\nf 114/114/114 115/115/115 155/155/155\nf 155/155/155 115/115/115 156/156/156\nf 115/115/115 116/116/116 156/156/156\nf 116/116/116 157/157/157 156/156/156\nf 117/117/117 158/158/158 116/116/116\nf 116/116/116 158/158/158 157/157/157\nf 117/117/117 118/118/118 158/158/158\nf 158/158/158 118/118/118 159/159/159\nf 118/118/118 119/119/119 159/159/159\nf 159/159/159 119/119/119 160/160/160\nf 161/161/161 160/160/160 120/120/120\nf 119/119/119 120/120/120 160/160/160\nf 120/120/120 121/121/121 161/161/161\nf 161/161/161 121/121/121 162/162/162\nf 122/122/122 163/163/163 121/121/121\nf 121/121/121 163/163/163 162/162/162\nf 123/123/123 164/164/164 122/122/122\nf 122/122/122 164/164/164 163/163/163\nf 124/124/125 125/125/124 165/165/165\nf 165/165/165 125/125/124 166/166/166\nf 126/126/126 167/167/167 125/125/124\nf 125/125/124 167/167/167 166/166/166\nf 127/127/127 168/168/168 126/126/126\nf 126/126/126 168/168/168 167/167/167\nf 168/168/168 127/127/127 169/169/169\nf 127/127/127 128/128/128 169/169/169\nf 129/129/129 170/170/170 128/128/128\nf 128/128/128 170/170/170 169/169/169\nf 130/130/130 171/171/171 129/129/129\nf 129/129/129 171/171/171 170/170/170\nf 130/130/130 131/131/131 171/171/171\nf 171/171/171 131/131/131 172/172/172\nf 132/132/132 173/173/173 131/131/131\nf 131/131/131 173/173/173 172/172/172\nf 132/132/132 133/133/133 173/173/173\nf 173/173/173 133/133/133 174/174/174\nf 134/134/134 175/175/175 133/133/133\nf 133/133/133 175/175/175 174/174/174\nf 135/135/135 176/176/176 134/134/134\nf 134/134/134 176/176/176 175/175/175\nf 136/136/136 177/177/177 135/135/135\nf 135/135/135 177/177/177 176/176/176\nf 136/136/136 137/137/137 177/177/177\nf 177/177/177 137/137/137 178/178/178\nf 179/179/179 178/178/178 138/138/138\nf 137/137/137 138/138/138 178/178/178\nf 180/180/180 179/179/179 139/139/139\nf 138/138/138 139/139/139 179/179/179\nf 140/140/140 181/181/181 139/139/139\nf 139/139/139 181/181/181 180/180/180\nf 141/141/141 182/182/182 140/140/140\nf 140/140/140 182/182/182 181/181/181\nf 141/141/141 142/142/142 182/182/182\nf 182/182/182 142/142/142 183/183/183\nf 142/142/142 143/143/143 183/183/183\nf 143/143/143 184/184/184 183/183/183\nf 144/144/144 185/185/185 143/143/143\nf 143/143/143 185/185/185 184/184/184\nf 145/145/145 186/186/186 144/144/144\nf 144/144/144 186/186/186 185/185/185\nf 146/146/146 187/187/187 145/145/145\nf 145/145/145 187/187/187 186/186/186\nf 146/146/146 147/147/147 187/187/187\nf 187/187/187 147/147/147 188/188/188\nf 148/148/148 189/189/189 147/147/147\nf 147/147/147 189/189/189 188/188/188\nf 190/190/190 189/189/189 149/149/149\nf 148/148/148 149/149/149 189/189/189\nf 149/149/149 150/150/150 190/190/190\nf 150/150/150 191/191/191 190/190/190\nf 151/151/151 192/192/192 150/150/150\nf 150/150/150 192/192/192 191/191/191\nf 152/152/152 193/193/193 151/151/151\nf 151/151/151 193/193/193 192/192/192\nf 152/152/152 153/153/153 193/193/193\nf 193/193/193 153/153/153 194/194/194\nf 154/154/154 195/195/195 153/153/153\nf 153/153/153 195/195/195 194/194/194\nf 154/154/154 155/155/155 195/195/195\nf 195/195/195 155/155/155 196/196/196\nf 156/156/156 197/197/197 155/155/155\nf 155/155/155 197/197/197 196/196/196\nf 156/156/156 157/157/157 197/197/197\nf 197/197/197 157/157/157 198/198/198\nf 157/157/157 158/158/158 198/198/198\nf 198/198/198 158/158/158 199/199/199\nf 200/200/200 199/199/199 159/159/159\nf 158/158/158 159/159/159 199/199/199\nf 201/201/201 200/200/200 160/160/160\nf 159/159/159 160/160/160 200/200/200\nf 202/202/202 201/201/201 161/161/161\nf 160/160/160 161/161/161 201/201/201\nf 161/161/161 162/162/162 202/202/202\nf 202/202/202 162/162/162 203/203/203\nf 163/163/163 204/204/204 162/162/162\nf 162/162/162 204/204/204 203/203/203\nf 163/163/163 164/164/164 204/204/204\nf 204/204/204 164/164/164 205/205/205\nf 165/165/165 166/166/166 206/206/206\nf 206/206/206 166/166/166 207/207/207\nf 166/166/166 167/167/167 207/207/207\nf 207/207/207 167/167/167 208/208/208\nf 167/167/167 168/168/168 208/208/208\nf 208/208/208 168/168/168 209/209/209\nf 168/168/168 169/169/169 209/209/209\nf 209/209/209 169/169/169 210/210/210\nf 169/169/169 170/170/170 210/210/210\nf 210/210/210 170/170/170 211/211/211\nf 171/171/171 212/212/212 170/170/170\nf 170/170/170 212/212/212 211/211/211\nf 172/172/172 213/213/213 171/171/171\nf 171/171/171 213/213/213 212/212/212\nf 213/213/213 172/172/172 214/214/214\nf 172/172/172 173/173/173 214/214/214\nf 214/214/214 173/173/173 215/215/215\nf 173/173/173 174/174/174 215/215/215\nf 174/174/174 175/175/175 215/215/215\nf 215/215/215 175/175/175 216/216/216\nf 175/175/175 176/176/176 216/216/216\nf 216/216/216 176/176/176 217/217/217\nf 176/176/176 177/177/177 217/217/217\nf 217/217/217 177/177/177 218/218/218\nf 177/177/177 178/178/178 218/218/218\nf 218/218/218 178/178/178 219/219/219\nf 178/178/178 179/179/179 219/219/219\nf 219/219/219 179/179/179 220/220/220\nf 180/180/180 221/221/221 179/179/179\nf 179/179/179 221/221/221 220/220/220\nf 180/180/180 181/181/181 221/221/221\nf 181/181/181 222/222/222 221/221/221\nf 223/223/223 222/222/222 182/182/182\nf 181/181/181 182/182/182 222/222/222\nf 182/182/182 183/183/183 223/223/223\nf 223/223/223 183/183/183 224/224/224\nf 184/184/184 225/225/225 183/183/183\nf 183/183/183 225/225/225 224/224/224\nf 185/185/185 226/226/226 184/184/184\nf 184/184/184 226/226/226 225/225/225\nf 186/186/186 227/227/227 185/185/185\nf 185/185/185 227/227/227 226/226/226\nf 186/186/186 187/187/187 227/227/227\nf 227/227/227 187/187/187 228/228/228\nf 187/187/187 188/188/188 228/228/228\nf 228/228/228 188/188/188 229/229/229\nf 229/229/229 188/188/188 230/230/230\nf 188/188/188 189/189/189 230/230/230\nf 189/189/189 190/190/190 230/230/230\nf 230/230/230 190/190/190 231/231/231\nf 190/190/190 191/191/191 231/231/231\nf 231/231/231 191/191/191 232/232/232\nf 232/232/232 191/191/191 233/233/233\nf 191/191/191 192/192/192 233/233/233\nf 193/193/193 234/234/234 192/192/192\nf 192/192/192 234/234/234 233/233/233\nf 193/193/193 194/194/194 234/234/234\nf 234/234/234 194/194/194 235/235/235\nf 194/194/194 195/195/195 235/235/235\nf 235/235/235 195/195/195 236/236/236\nf 237/237/237 236/236/236 196/196/196\nf 195/195/195 196/196/196 236/236/236\nf 196/196/196 197/197/197 237/237/237\nf 237/237/237 197/197/197 238/238/238\nf 239/239/239 238/238/238 198/198/198\nf 197/197/197 198/198/198 238/238/238\nf 240/240/240 239/239/239 199/199/199\nf 198/198/198 199/199/199 239/239/239\nf 199/199/199 200/200/200 240/240/240\nf 240/240/240 200/200/200 241/241/241\nf 200/200/200 201/201/201 241/241/241\nf 201/201/201 242/242/242 241/241/241\nf 201/201/201 202/202/202 242/242/242\nf 242/242/242 202/202/202 243/243/243\nf 202/202/202 203/203/203 243/243/243\nf 203/203/203 244/244/244 243/243/243\nf 203/203/203 204/204/204 244/244/244\nf 244/244/244 204/204/204 245/245/245\nf 205/205/205 246/246/246 204/204/204\nf 204/204/204 246/246/246 245/245/245\nf 206/206/206 207/207/207 247/247/247\nf 247/247/247 207/207/207 248/248/248\nf 207/207/207 208/208/208 248/248/248\nf 248/248/248 208/208/208 249/249/249\nf 209/209/209 250/250/250 208/208/208\nf 208/208/208 250/250/250 249/249/249\nf 210/210/210 251/251/251 209/209/209\nf 209/209/209 251/251/251 250/250/250\nf 210/210/210 211/211/211 251/251/251\nf 251/251/251 211/211/211 252/252/252\nf 212/212/212 253/253/253 211/211/211\nf 211/211/211 253/253/253 252/252/252\nf 212/212/212 213/213/213 253/253/253\nf 253/253/253 213/213/213 254/254/254\nf 214/214/214 255/255/255 213/213/213\nf 213/213/213 255/255/255 254/254/254\nf 214/214/214 215/215/215 255/255/255\nf 255/255/255 215/215/215 256/256/256\nf 216/216/216 257/257/257 215/215/215\nf 215/215/215 257/257/257 256/256/256\nf 217/217/217 258/258/258 216/216/216\nf 216/216/216 258/258/258 257/257/257\nf 218/218/218 259/259/259 217/217/217\nf 217/217/217 259/259/259 258/258/258\nf 218/218/218 219/219/219 259/259/259\nf 259/259/259 219/219/219 260/260/260\nf 261/261/261 260/260/260 220/220/220\nf 219/219/219 220/220/220 260/260/260\nf 261/261/261 220/220/220 262/262/262\nf 220/220/220 221/221/221 262/262/262\nf 222/222/222 263/263/263 221/221/221\nf 221/221/221 263/263/263 262/262/262\nf 222/222/222 223/223/223 263/263/263\nf 223/223/223 264/264/264 263/263/263\nf 264/264/264 223/223/223 265/265/265\nf 223/223/223 224/224/224 265/265/265\nf 265/265/265 224/224/224 266/266/266\nf 224/224/224 225/225/225 266/266/266\nf 226/226/226 267/267/267 225/225/225\nf 225/225/225 267/267/267 266/266/266\nf 227/227/227 268/268/268 226/226/226\nf 226/226/226 268/268/268 267/267/267\nf 269/269/269 268/268/268 228/228/228\nf 227/227/227 228/228/228 268/268/268\nf 228/228/228 229/229/229 269/269/269\nf 269/269/269 229/229/229 270/270/270\nf 270/270/270 229/229/229 271/271/271\nf 229/229/229 230/230/230 271/271/271\nf 231/231/231 272/272/272 230/230/230\nf 230/230/230 272/272/272 271/271/271\nf 232/232/232 273/273/273 231/231/231\nf 231/231/231 273/273/273 272/272/272\nf 232/232/232 233/233/233 273/273/273\nf 273/273/273 233/233/233 274/274/274\nf 234/234/234 275/275/275 233/233/233\nf 233/233/233 275/275/275 274/274/274\nf 235/235/235 276/276/276 234/234/234\nf 234/234/234 276/276/276 275/275/275\nf 235/235/235 236/236/236 276/276/276\nf 276/276/276 236/236/236 277/277/277\nf 237/237/237 278/278/278 236/236/236\nf 236/236/236 278/278/278 277/277/277\nf 238/238/238 279/279/279 237/237/237\nf 237/237/237 279/279/279 278/278/278\nf 238/238/238 239/239/239 279/279/279\nf 239/239/239 280/280/280 279/279/279\nf 239/239/239 240/240/240 280/280/280\nf 280/280/280 240/240/240 281/281/281\nf 240/240/240 241/241/241 281/281/281\nf 241/241/241 282/282/282 281/281/281\nf 241/241/241 242/242/242 282/282/282\nf 282/282/282 242/242/242 283/283/283\nf 242/242/242 243/243/243 283/283/283\nf 283/283/283 243/243/243 284/284/284\nf 244/244/244 285/285/285 243/243/243\nf 243/243/243 285/285/285 284/284/284\nf 244/244/244 245/245/245 285/285/285\nf 285/285/285 245/245/245 286/286/286\nf 246/246/246 287/287/287 245/245/245\nf 245/245/245 287/287/287 286/286/286\nf 248/248/248 289/289/288 247/247/247\nf 247/247/247 289/289/288 288/288/289\nf 249/249/249 290/290/290 248/248/248\nf 248/248/248 290/290/290 289/289/288\nf 290/290/290 249/249/249 291/291/291\nf 249/249/249 250/250/250 291/291/291\nf 250/250/250 251/251/251 291/291/291\nf 291/291/291 251/251/251 292/292/292\nf 292/292/292 251/251/251 293/293/293\nf 251/251/251 252/252/252 293/293/293\nf 293/293/293 252/252/252 294/294/294\nf 252/252/252 253/253/253 294/294/294\nf 253/253/253 254/254/254 294/294/294\nf 294/294/294 254/254/254 295/295/295\nf 255/255/255 296/296/296 254/254/254\nf 254/254/254 296/296/296 295/295/295\nf 255/255/255 256/256/256 296/296/296\nf 296/296/296 256/256/256 297/297/297\nf 257/257/257 298/298/298 256/256/256\nf 256/256/256 298/298/298 297/297/297\nf 257/257/257 258/258/258 298/298/298\nf 258/258/258 299/299/299 298/298/298\nf 259/259/259 300/300/300 258/258/258\nf 258/258/258 300/300/300 299/299/299\nf 260/260/260 301/301/301 259/259/259\nf 259/259/259 301/301/301 300/300/300\nf 261/261/261 302/302/302 260/260/260\nf 260/260/260 302/302/302 301/301/301\nf 262/262/262 303/303/303 261/261/261\nf 261/261/261 303/303/303 302/302/302\nf 262/262/262 263/263/263 303/303/303\nf 303/303/303 263/263/263 304/304/304\nf 264/264/264 305/305/305 263/263/263\nf 263/263/263 305/305/305 304/304/304\nf 264/264/264 265/265/265 305/305/305\nf 265/265/265 306/306/306 305/305/305\nf 306/306/306 265/265/265 307/307/307\nf 265/265/265 266/266/266 307/307/307\nf 267/267/267 308/308/308 266/266/266\nf 266/266/266 308/308/308 307/307/307\nf 267/267/267 268/268/268 308/308/308\nf 308/308/308 268/268/268 309/309/309\nf 268/268/268 269/269/269 309/309/309\nf 309/309/309 269/269/269 310/310/310\nf 310/310/310 269/269/269 311/311/311\nf 269/269/269 270/270/270 311/311/311\nf 311/311/311 270/270/270 312/312/312\nf 270/270/270 271/271/271 312/312/312\nf 272/272/272 313/313/313 271/271/271\nf 271/271/271 313/313/313 312/312/312\nf 273/273/273 314/314/314 272/272/272\nf 272/272/272 314/314/314 313/313/313\nf 273/273/273 274/274/274 314/314/314\nf 274/274/274 315/315/315 314/314/314\nf 274/274/274 275/275/275 315/315/315\nf 315/315/315 275/275/275 316/316/316\nf 275/275/275 276/276/276 316/316/316\nf 316/316/316 276/276/276 317/317/317\nf 276/276/276 277/277/277 317/317/317\nf 317/317/317 277/277/277 318/318/318\nf 278/278/278 319/319/319 277/277/277\nf 277/277/277 319/319/319 318/318/318\nf 279/279/279 320/320/320 278/278/278\nf 278/278/278 320/320/320 319/319/319\nf 279/279/279 280/280/280 320/320/320\nf 320/320/320 280/280/280 321/321/321\nf 281/281/281 322/322/322 280/280/280\nf 280/280/280 322/322/322 321/321/321\nf 282/282/282 323/323/323 281/281/281\nf 281/281/281 323/323/323 322/322/322\nf 283/283/283 324/324/324 282/282/282\nf 282/282/282 324/324/324 323/323/323\nf 283/283/283 284/284/284 324/324/324\nf 284/284/284 325/325/325 324/324/324\nf 326/326/326 325/325/325 285/285/285\nf 284/284/284 285/285/285 325/325/325\nf 286/286/286 327/327/327 285/285/285\nf 285/285/285 327/327/327 326/326/326\nf 287/287/287 328/328/328 286/286/286\nf 286/286/286 328/328/328 327/327/327\nf 288/288/289 289/289/288 329/329/329\nf 329/329/329 289/289/288 330/330/330\nf 289/289/288 290/290/290 330/330/330\nf 330/330/330 290/290/290 331/331/331\nf 290/290/290 291/291/291 331/331/331\nf 331/331/331 291/291/291 332/332/332\nf 332/332/332 291/291/291 333/333/333\nf 291/291/291 292/292/292 333/333/333\nf 293/293/293 334/334/334 292/292/292\nf 292/292/292 334/334/334 333/333/333\nf 293/293/293 294/294/294 334/334/334\nf 334/334/334 294/294/294 335/335/335\nf 294/294/294 295/295/295 335/335/335\nf 335/335/335 295/295/295 336/336/336\nf 296/296/296 337/337/337 295/295/295\nf 295/295/295 337/337/337 336/336/336\nf 297/297/297 338/338/338 296/296/296\nf 296/296/296 338/338/338 337/337/337\nf 338/338/338 297/297/297 339/339/339\nf 297/297/297 298/298/298 339/339/339\nf 299/299/299 340/340/340 298/298/298\nf 298/298/298 340/340/340 339/339/339\nf 299/299/299 300/300/300 340/340/340\nf 340/340/340 300/300/300 341/341/341\nf 301/301/301 342/342/342 300/300/300\nf 300/300/300 342/342/342 341/341/341\nf 302/302/302 343/343/343 301/301/301\nf 301/301/301 343/343/343 342/342/342\nf 303/303/303 344/344/344 302/302/302\nf 302/302/302 344/344/344 343/343/343\nf 304/304/304 345/345/345 303/303/303\nf 303/303/303 345/345/345 344/344/344\nf 305/305/305 346/346/346 304/304/304\nf 304/304/304 346/346/346 345/345/345\nf 306/306/306 347/347/347 305/305/305\nf 305/305/305 347/347/347 346/346/346\nf 307/307/307 348/348/348 306/306/306\nf 306/306/306 348/348/348 347/347/347\nf 308/308/308 349/349/349 307/307/307\nf 307/307/307 349/349/349 348/348/348\nf 308/308/308 309/309/309 349/349/349\nf 309/309/309 350/350/350 349/349/349\nf 351/351/351 350/350/350 310/310/310\nf 309/309/309 310/310/310 350/350/350\nf 311/311/311 352/352/352 310/310/310\nf 310/310/310 352/352/352 351/351/351\nf 311/311/311 312/312/312 352/352/352\nf 352/352/352 312/312/312 353/353/353\nf 312/312/312 313/313/313 353/353/353\nf 353/353/353 313/313/313 354/354/354\nf 314/314/314 355/355/355 313/313/313\nf 313/313/313 355/355/355 354/354/354\nf 314/314/314 315/315/315 355/355/355\nf 355/355/355 315/315/315 356/356/356\nf 316/316/316 357/357/357 315/315/315\nf 315/315/315 357/357/357 356/356/356\nf 358/358/358 357/357/357 317/317/317\nf 316/316/316 317/317/317 357/357/357\nf 317/317/317 318/318/318 358/358/358\nf 358/358/358 318/318/318 359/359/359\nf 318/318/318 319/319/319 359/359/359\nf 359/359/359 319/319/319 360/360/360\nf 319/319/319 320/320/320 360/360/360\nf 360/360/360 320/320/320 361/361/361\nf 320/320/320 321/321/321 361/361/361\nf 361/361/361 321/321/321 362/362/362\nf 322/322/322 363/363/363 321/321/321\nf 321/321/321 363/363/363 362/362/362\nf 322/322/322 323/323/323 363/363/363\nf 363/363/363 323/323/323 364/364/364\nf 323/323/323 324/324/324 364/364/364\nf 364/364/364 324/324/324 365/365/365\nf 324/324/324 325/325/325 365/365/365\nf 365/365/365 325/325/325 366/366/366\nf 325/325/325 326/326/326 366/366/366\nf 366/366/366 326/326/326 367/367/367\nf 368/368/368 367/367/367 327/327/327\nf 326/326/326 327/327/327 367/367/367\nf 328/328/328 369/369/369 327/327/327\nf 327/327/327 369/369/369 368/368/368\nf 329/329/329 330/330/330 370/370/370\nf 370/370/370 330/330/330 371/371/371\nf 331/331/331 372/372/372 330/330/330\nf 330/330/330 372/372/372 371/371/371\nf 332/332/332 373/373/373 331/331/331\nf 331/331/331 373/373/373 372/372/372\nf 333/333/333 374/374/374 332/332/332\nf 332/332/332 374/374/374 373/373/373\nf 333/333/333 334/334/334 374/374/374\nf 374/374/374 334/334/334 375/375/375\nf 335/335/335 376/376/376 334/334/334\nf 334/334/334 376/376/376 375/375/375\nf 336/336/336 377/377/377 335/335/335\nf 335/335/335 377/377/377 376/376/376\nf 337/337/337 378/378/378 336/336/336\nf 336/336/336 378/378/378 377/377/377\nf 338/338/338 379/379/379 337/337/337\nf 337/337/337 379/379/379 378/378/378\nf 339/339/339 380/380/380 338/338/338\nf 338/338/338 380/380/380 379/379/379\nf 340/340/340 381/381/381 339/339/339\nf 339/339/339 381/381/381 380/380/380\nf 340/340/340 341/341/341 381/381/381\nf 381/381/381 341/341/341 382/382/382\nf 341/341/341 342/342/342 382/382/382\nf 382/382/382 342/342/342 383/383/383\nf 342/342/342 343/343/343 383/383/383\nf 383/383/383 343/343/343 384/384/384\nf 384/384/384 343/343/343 385/385/385\nf 343/343/343 344/344/344 385/385/385\nf 345/345/345 386/386/386 344/344/344\nf 344/344/344 386/386/386 385/385/385\nf 345/345/345 346/346/346 386/386/386\nf 386/386/386 346/346/346 387/387/387\nf 347/347/347 388/388/388 346/346/346\nf 346/346/346 388/388/388 387/387/387\nf 347/347/347 348/348/348 388/388/388\nf 388/388/388 348/348/348 389/389/389\nf 348/348/348 349/349/349 389/389/389\nf 389/389/389 349/349/349 390/390/390\nf 350/350/350 391/391/391 349/349/349\nf 349/349/349 391/391/391 390/390/390\nf 350/350/350 351/351/351 391/391/391\nf 351/351/351 392/392/392 391/391/391\nf 351/351/351 352/352/352 392/392/392\nf 392/392/392 352/352/352 393/393/393\nf 394/394/394 393/393/393 353/353/353\nf 352/352/352 353/353/353 393/393/393\nf 353/353/353 354/354/354 394/394/394\nf 394/394/394 354/354/354 395/395/395\nf 355/355/355 396/396/396 354/354/354\nf 354/354/354 396/396/396 395/395/395\nf 355/355/355 356/356/356 396/396/396\nf 396/396/396 356/356/356 397/397/397\nf 356/356/356 357/357/357 397/397/397\nf 397/397/397 357/357/357 398/398/398\nf 357/357/357 358/358/358 398/398/398\nf 398/398/398 358/358/358 399/399/399\nf 358/358/358 359/359/359 399/399/399\nf 399/399/399 359/359/359 400/400/400\nf 360/360/360 401/401/401 359/359/359\nf 359/359/359 401/401/401 400/400/400\nf 361/361/361 402/402/402 360/360/360\nf 360/360/360 402/402/402 401/401/401\nf 362/362/362 403/403/403 361/361/361\nf 361/361/361 403/403/403 402/402/402\nf 362/362/362 363/363/363 403/403/403\nf 403/403/403 363/363/363 404/404/404\nf 363/363/363 364/364/364 404/404/404\nf 404/404/404 364/364/364 405/405/405\nf 406/406/406 405/405/405 365/365/365\nf 364/364/364 365/365/365 405/405/405\nf 366/366/366 407/407/407 365/365/365\nf 365/365/365 407/407/407 406/406/406\nf 366/366/366 367/367/367 407/407/407\nf 407/407/407 367/367/367 408/408/408\nf 367/367/367 368/368/368 408/408/408\nf 408/408/408 368/368/368 409/409/409\nf 368/368/368 369/369/369 409/409/409\nf 409/409/409 369/369/369 410/410/410\nf 370/370/370 371/371/371 411/411/411\nf 411/411/411 371/371/371 412/412/412\nf 412/412/412 371/371/371 413/413/413\nf 371/371/371 372/372/372 413/413/413\nf 373/373/373 414/414/414 372/372/372\nf 372/372/372 414/414/414 413/413/413\nf 374/374/374 415/415/415 373/373/373\nf 373/373/373 415/415/415 414/414/414\nf 375/375/375 416/416/416 374/374/374\nf 374/374/374 416/416/416 415/415/415\nf 416/416/416 375/375/375 417/417/417\nf 375/375/375 376/376/376 417/417/417\nf 376/376/376 377/377/377 417/417/417\nf 377/377/377 418/418/418 417/417/417\nf 377/377/377 378/378/378 418/418/418\nf 418/418/418 378/378/378 419/419/419\nf 379/379/379 420/420/420 378/378/378\nf 378/378/378 420/420/420 419/419/419\nf 380/380/380 421/421/421 379/379/379\nf 379/379/379 421/421/421 420/420/420\nf 381/381/381 422/422/422 380/380/380\nf 380/380/380 422/422/422 421/421/421\nf 381/381/381 382/382/382 422/422/422\nf 422/422/422 382/382/382 423/423/423\nf 383/383/383 424/424/424 382/382/382\nf 382/382/382 424/424/424 423/423/423\nf 383/383/383 384/384/384 424/424/424\nf 424/424/424 384/384/384 425/425/425\nf 385/385/385 426/426/426 384/384/384\nf 384/384/384 426/426/426 425/425/425\nf 426/426/426 385/385/385 427/427/427\nf 385/385/385 386/386/386 427/427/427\nf 427/427/427 386/386/386 428/428/428\nf 386/386/386 387/387/387 428/428/428\nf 429/429/429 428/428/428 388/388/388\nf 387/387/387 388/388/388 428/428/428\nf 429/429/429 388/388/388 430/430/430\nf 388/388/388 389/389/389 430/430/430\nf 431/431/431 430/430/430 390/390/390\nf 389/389/389 390/390/390 430/430/430\nf 391/391/391 432/432/432 390/390/390\nf 390/390/390 432/432/432 431/431/431\nf 392/392/392 433/433/433 391/391/391\nf 391/391/391 433/433/433 432/432/432\nf 393/393/393 434/434/434 392/392/392\nf 392/392/392 434/434/434 433/433/433\nf 393/393/393 394/394/394 434/434/434\nf 434/434/434 394/394/394 435/435/435\nf 394/394/394 395/395/395 435/435/435\nf 435/435/435 395/395/395 436/436/436\nf 396/396/396 437/437/437 395/395/395\nf 395/395/395 437/437/437 436/436/436\nf 396/396/396 397/397/397 437/437/437\nf 437/437/437 397/397/397 438/438/438\nf 398/398/398 439/439/439 397/397/397\nf 397/397/397 439/439/439 438/438/438\nf 399/399/399 440/440/440 398/398/398\nf 398/398/398 440/440/440 439/439/439\nf 399/399/399 400/400/400 440/440/440\nf 440/440/440 400/400/400 441/441/441\nf 401/401/401 442/442/442 400/400/400\nf 400/400/400 442/442/442 441/441/441\nf 401/401/401 402/402/402 442/442/442\nf 442/442/442 402/402/402 443/443/443\nf 402/402/402 403/403/403 443/443/443\nf 443/443/443 403/403/403 444/444/444\nf 403/403/403 404/404/404 444/444/444\nf 444/444/444 404/404/404 445/445/445\nf 446/446/446 445/445/445 405/405/405\nf 404/404/404 405/405/405 445/445/445\nf 406/406/406 447/447/447 405/405/405\nf 405/405/405 447/447/447 446/446/446\nf 448/448/448 447/447/447 407/407/407\nf 406/406/406 407/407/407 447/447/447\nf 408/408/408 449/449/449 407/407/407\nf 407/407/407 449/449/449 448/448/448\nf 408/408/408 409/409/409 449/449/449\nf 449/449/449 409/409/409 450/450/450\nf 410/410/410 451/451/451 409/409/409\nf 409/409/409 451/451/451 450/450/450\nf 412/412/412 453/453/452 411/411/411\nf 411/411/411 453/453/452 452/452/453\nf 453/453/452 412/412/412 454/454/454\nf 412/412/412 413/413/413 454/454/454\nf 413/413/413 414/414/414 454/454/454\nf 454/454/454 414/414/414 455/455/455\nf 415/415/415 456/456/456 414/414/414\nf 414/414/414 456/456/456 455/455/455\nf 416/416/416 457/457/457 415/415/415\nf 415/415/415 457/457/457 456/456/456\nf 417/417/417 458/458/458 416/416/416\nf 416/416/416 458/458/458 457/457/457\nf 458/458/458 417/417/417 459/459/459\nf 417/417/417 418/418/418 459/459/459\nf 419/419/419 460/460/460 418/418/418\nf 418/418/418 460/460/460 459/459/459\nf 420/420/420 461/461/461 419/419/419\nf 419/419/419 461/461/461 460/460/460\nf 421/421/421 462/462/462 420/420/420\nf 420/420/420 462/462/462 461/461/461\nf 422/422/422 463/463/463 421/421/421\nf 421/421/421 463/463/463 462/462/462\nf 423/423/423 464/464/464 422/422/422\nf 422/422/422 464/464/464 463/463/463\nf 424/424/424 465/465/465 423/423/423\nf 423/423/423 465/465/465 464/464/464\nf 425/425/425 466/466/466 424/424/424\nf 424/424/424 466/466/466 465/465/465\nf 426/426/426 467/467/467 425/425/425\nf 425/425/425 467/467/467 466/466/466\nf 426/426/426 427/427/427 467/467/467\nf 467/467/467 427/427/427 468/468/468\nf 428/428/428 469/469/469 427/427/427\nf 427/427/427 469/469/469 468/468/468\nf 428/428/428 429/429/429 469/469/469\nf 469/469/469 429/429/429 470/470/470\nf 430/430/430 471/471/471 429/429/429\nf 429/429/429 471/471/471 470/470/470\nf 430/430/430 431/431/431 471/471/471\nf 471/471/471 431/431/431 472/472/472\nf 473/473/473 472/472/472 432/432/432\nf 431/431/431 432/432/432 472/472/472\nf 433/433/433 474/474/474 432/432/432\nf 432/432/432 474/474/474 473/473/473\nf 433/433/433 434/434/434 474/474/474\nf 434/434/434 475/475/475 474/474/474\nf 434/434/434 435/435/435 475/475/475\nf 475/475/475 435/435/435 476/476/476\nf 476/476/476 435/435/435 477/477/477\nf 435/435/435 436/436/436 477/477/477\nf 478/478/478 477/477/477 437/437/437\nf 436/436/436 437/437/437 477/477/477\nf 437/437/437 438/438/438 478/478/478\nf 478/478/478 438/438/438 479/479/479\nf 438/438/438 439/439/439 479/479/479\nf 479/479/479 439/439/439 480/480/480\nf 439/439/439 440/440/440 480/480/480\nf 480/480/480 440/440/440 481/481/481\nf 440/440/440 441/441/441 481/481/481\nf 481/481/481 441/441/441 482/482/482\nf 441/441/441 442/442/442 482/482/482\nf 482/482/482 442/442/442 483/483/483\nf 442/442/442 443/443/443 483/483/483\nf 483/483/483 443/443/443 484/484/484\nf 443/443/443 444/444/444 484/484/484\nf 484/484/484 444/444/444 485/485/485\nf 444/444/444 445/445/445 485/485/485\nf 485/485/485 445/445/445 486/486/486\nf 445/445/445 446/446/446 486/486/486\nf 486/486/486 446/446/446 487/487/487\nf 446/446/446 447/447/447 487/487/487\nf 487/487/487 447/447/447 488/488/488\nf 447/447/447 448/448/448 488/488/488\nf 448/448/448 489/489/489 488/488/488\nf 448/448/448 449/449/449 489/489/489\nf 489/489/489 449/449/449 490/490/490\nf 450/450/450 491/491/491 449/449/449\nf 449/449/449 491/491/491 490/490/490\nf 451/451/451 492/492/492 450/450/450\nf 450/450/450 492/492/492 491/491/491\nf 452/452/453 453/453/452 493/493/493\nf 493/493/493 453/453/452 494/494/494\nf 454/454/454 495/495/495 453/453/452\nf 453/453/452 495/495/495 494/494/494\nf 455/455/455 496/496/496 454/454/454\nf 454/454/454 496/496/496 495/495/495\nf 455/455/455 456/456/456 496/496/496\nf 496/496/496 456/456/456 497/497/497\nf 457/457/457 498/498/498 456/456/456\nf 456/456/456 498/498/498 497/497/497\nf 498/498/498 457/457/457 499/499/499\nf 457/457/457 458/458/458 499/499/499\nf 459/459/459 500/500/500 458/458/458\nf 458/458/458 500/500/500 499/499/499\nf 459/459/459 460/460/460 500/500/500\nf 500/500/500 460/460/460 501/501/501\nf 501/501/501 460/460/460 502/502/502\nf 460/460/460 461/461/461 502/502/502\nf 462/462/462 503/503/503 461/461/461\nf 461/461/461 503/503/503 502/502/502\nf 462/462/462 463/463/463 503/503/503\nf 503/503/503 463/463/463 504/504/504\nf 464/464/464 505/505/505 463/463/463\nf 463/463/463 505/505/505 504/504/504\nf 464/464/464 465/465/465 505/505/505\nf 505/505/505 465/465/465 506/506/506\nf 465/465/465 466/466/466 506/506/506\nf 506/506/506 466/466/466 507/507/507\nf 467/467/467 508/508/508 466/466/466\nf 466/466/466 508/508/508 507/507/507\nf 468/468/468 509/509/509 467/467/467\nf 467/467/467 509/509/509 508/508/508\nf 469/469/469 510/510/510 468/468/468\nf 468/468/468 510/510/510 509/509/509\nf 470/470/470 511/511/511 469/469/469\nf 469/469/469 511/511/511 510/510/510\nf 511/511/511 470/470/470 512/512/512\nf 470/470/470 471/471/471 512/512/512\nf 512/512/512 471/471/471 513/513/513\nf 471/471/471 472/472/472 513/513/513\nf 473/473/473 514/514/514 472/472/472\nf 472/472/472 514/514/514 513/513/513\nf 515/515/515 514/514/514 474/474/474\nf 473/473/473 474/474/474 514/514/514\nf 474/474/474 475/475/475 515/515/515\nf 515/515/515 475/475/475 516/516/516\nf 517/517/517 516/516/516 476/476/476\nf 475/475/475 476/476/476 516/516/516\nf 518/518/518 517/517/517 477/477/477\nf 476/476/476 477/477/477 517/517/517\nf 477/477/477 478/478/478 518/518/518\nf 518/518/518 478/478/478 519/519/519\nf 479/479/479 520/520/520 478/478/478\nf 478/478/478 520/520/520 519/519/519\nf 479/479/479 480/480/480 520/520/520\nf 520/520/520 480/480/480 521/521/521\nf 480/480/480 481/481/481 521/521/521\nf 521/521/521 481/481/481 522/522/522\nf 523/523/523 522/522/522 482/482/482\nf 481/481/481 482/482/482 522/522/522\nf 482/482/482 483/483/483 523/523/523\nf 523/523/523 483/483/483 524/524/524\nf 483/483/483 484/484/484 524/524/524\nf 524/524/524 484/484/484 525/525/525\nf 485/485/485 526/526/526 484/484/484\nf 484/484/484 526/526/526 525/525/525\nf 485/485/485 486/486/486 526/526/526\nf 486/486/486 527/527/527 526/526/526\nf 486/486/486 487/487/487 527/527/527\nf 527/527/527 487/487/487 528/528/528\nf 487/487/487 488/488/488 528/528/528\nf 528/528/528 488/488/488 529/529/529\nf 488/488/488 489/489/489 529/529/529\nf 529/529/529 489/489/489 530/530/530\nf 489/489/489 490/490/490 530/530/530\nf 530/530/530 490/490/490 531/531/531\nf 491/491/491 532/532/532 490/490/490\nf 490/490/490 532/532/532 531/531/531\nf 491/491/491 492/492/492 532/532/532\nf 532/532/532 492/492/492 533/533/533\nf 493/493/493 494/494/494 534/534/534\nf 534/534/534 494/494/494 535/535/535\nf 494/494/494 495/495/495 535/535/535\nf 495/495/495 536/536/536 535/535/535\nf 496/496/496 537/537/537 495/495/495\nf 495/495/495 537/537/537 536/536/536\nf 497/497/497 538/538/538 496/496/496\nf 496/496/496 538/538/538 537/537/537\nf 498/498/498 539/539/539 497/497/497\nf 497/497/497 539/539/539 538/538/538\nf 498/498/498 499/499/499 539/539/539\nf 539/539/539 499/499/499 540/540/540\nf 540/540/540 499/499/499 541/541/541\nf 499/499/499 500/500/500 541/541/541\nf 500/500/500 501/501/501 541/541/541\nf 541/541/541 501/501/501 542/542/542\nf 542/542/542 501/501/501 543/543/543\nf 501/501/501 502/502/502 543/543/543\nf 543/543/543 502/502/502 544/544/544\nf 502/502/502 503/503/503 544/544/544\nf 504/504/504 545/545/545 503/503/503\nf 503/503/503 545/545/545 544/544/544\nf 505/505/505 546/546/546 504/504/504\nf 504/504/504 546/546/546 545/545/545\nf 505/505/505 506/506/506 546/546/546\nf 546/546/546 506/506/506 547/547/547\nf 547/547/547 506/506/506 548/548/548\nf 506/506/506 507/507/507 548/548/548\nf 508/508/508 549/549/549 507/507/507\nf 507/507/507 549/549/549 548/548/548\nf 508/508/508 509/509/509 549/549/549\nf 549/549/549 509/509/509 550/550/550\nf 510/510/510 551/551/551 509/509/509\nf 509/509/509 551/551/551 550/550/550\nf 510/510/510 511/511/511 551/551/551\nf 551/551/551 511/511/511 552/552/552\nf 512/512/512 553/553/553 511/511/511\nf 511/511/511 553/553/553 552/552/552\nf 513/513/513 554/554/554 512/512/512\nf 512/512/512 554/554/554 553/553/553\nf 514/514/514 555/555/555 513/513/513\nf 513/513/513 555/555/555 554/554/554\nf 514/514/514 515/515/515 555/555/555\nf 555/555/555 515/515/515 556/556/556\nf 516/516/516 557/557/557 515/515/515\nf 515/515/515 557/557/557 556/556/556\nf 516/516/516 517/517/517 557/557/557\nf 557/557/557 517/517/517 558/558/558\nf 517/517/517 518/518/518 558/558/558\nf 558/558/558 518/518/518 559/559/559\nf 518/518/518 519/519/519 559/559/559\nf 559/559/559 519/519/519 560/560/560\nf 519/519/519 520/520/520 560/560/560\nf 520/520/520 561/561/561 560/560/560\nf 521/521/521 562/562/562 520/520/520\nf 520/520/520 562/562/562 561/561/561\nf 521/521/521 522/522/522 562/562/562\nf 562/562/562 522/522/522 563/563/563\nf 523/523/523 564/564/564 522/522/522\nf 522/522/522 564/564/564 563/563/563\nf 523/523/523 524/524/524 564/564/564\nf 564/564/564 524/524/524 565/565/565\nf 524/524/524 525/525/525 565/565/565\nf 565/565/565 525/525/525 566/566/566\nf 526/526/526 567/567/567 525/525/525\nf 525/525/525 567/567/567 566/566/566\nf 527/527/527 568/568/568 526/526/526\nf 526/526/526 568/568/568 567/567/567\nf 528/528/528 569/569/569 527/527/527\nf 527/527/527 569/569/569 568/568/568\nf 528/528/528 529/529/529 569/569/569\nf 569/569/569 529/529/529 570/570/570\nf 530/530/530 571/571/571 529/529/529\nf 529/529/529 571/571/571 570/570/570\nf 530/530/530 531/531/531 571/571/571\nf 571/571/571 531/531/531 572/572/572\nf 531/531/531 532/532/532 572/572/572\nf 572/572/572 532/532/532 573/573/573\nf 533/533/533 574/574/574 532/532/532\nf 532/532/532 574/574/574 573/573/573\nf 535/535/535 576/576/575 534/534/534\nf 534/534/534 576/576/575 575/575/576\nf 535/535/535 536/536/536 576/576/575\nf 536/536/536 577/577/577 576/576/575\nf 537/537/537 578/578/578 536/536/536\nf 536/536/536 578/578/578 577/577/577\nf 537/537/537 538/538/538 578/578/578\nf 578/578/578 538/538/538 579/579/579\nf 579/579/579 538/538/538 580/580/580\nf 538/538/538 539/539/539 580/580/580\nf 539/539/539 540/540/540 580/580/580\nf 580/580/580 540/540/540 581/581/581\nf 541/541/541 582/582/582 540/540/540\nf 540/540/540 582/582/582 581/581/581\nf 542/542/542 583/583/583 541/541/541\nf 541/541/541 583/583/583 582/582/582\nf 543/543/543 584/584/584 542/542/542\nf 542/542/542 584/584/584 583/583/583\nf 544/544/544 585/585/585 543/543/543\nf 543/543/543 585/585/585 584/584/584\nf 585/585/585 544/544/544 586/586/586\nf 544/544/544 545/545/545 586/586/586\nf 546/546/546 587/587/587 545/545/545\nf 545/545/545 587/587/587 586/586/586\nf 547/547/547 588/588/588 546/546/546\nf 546/546/546 588/588/588 587/587/587\nf 548/548/548 589/589/589 547/547/547\nf 547/547/547 589/589/589 588/588/588\nf 549/549/549 590/590/590 548/548/548\nf 548/548/548 590/590/590 589/589/589\nf 550/550/550 591/591/591 549/549/549\nf 549/549/549 591/591/591 590/590/590\nf 551/551/551 592/592/592 550/550/550\nf 550/550/550 592/592/592 591/591/591\nf 551/551/551 552/552/552 592/592/592\nf 592/592/592 552/552/552 593/593/593\nf 553/553/553 594/594/594 552/552/552\nf 552/552/552 594/594/594 593/593/593\nf 554/554/554 595/595/595 553/553/553\nf 553/553/553 595/595/595 594/594/594\nf 595/595/595 554/554/554 596/596/596\nf 554/554/554 555/555/555 596/596/596\nf 555/555/555 556/556/556 596/596/596\nf 596/596/596 556/556/556 597/597/597\nf 557/557/557 598/598/598 556/556/556\nf 556/556/556 598/598/598 597/597/597\nf 557/557/557 558/558/558 598/598/598\nf 598/598/598 558/558/558 599/599/599\nf 559/559/559 600/600/600 558/558/558\nf 558/558/558 600/600/600 599/599/599\nf 601/601/601 600/600/600 560/560/560\nf 559/559/559 560/560/560 600/600/600\nf 561/561/561 602/602/602 560/560/560\nf 560/560/560 602/602/602 601/601/601\nf 561/561/561 562/562/562 602/602/602\nf 602/602/602 562/562/562 603/603/603\nf 562/562/562 563/563/563 603/603/603\nf 603/603/603 563/563/563 604/604/604\nf 563/563/563 564/564/564 604/604/604\nf 564/564/564 605/605/605 604/604/604\nf 564/564/564 565/565/565 605/605/605\nf 565/565/565 606/606/606 605/605/605\nf 607/607/607 606/606/606 566/566/566\nf 565/565/565 566/566/566 606/606/606\nf 566/566/566 567/567/567 607/607/607\nf 607/607/607 567/567/567 608/608/608\nf 567/567/567 568/568/568 608/608/608\nf 608/608/608 568/568/568 609/609/609\nf 568/568/568 569/569/569 609/609/609\nf 609/609/609 569/569/569 610/610/610\nf 569/569/569 570/570/570 610/610/610\nf 610/610/610 570/570/570 611/611/611\nf 571/571/571 612/612/612 570/570/570\nf 570/570/570 612/612/612 611/611/611\nf 571/571/571 572/572/572 612/612/612\nf 612/612/612 572/572/572 613/613/613\nf 573/573/573 614/614/614 572/572/572\nf 572/572/572 614/614/614 613/613/613\nf 574/574/574 615/615/615 573/573/573\nf 573/573/573 615/615/615 614/614/614\nf 575/575/576 576/576/575 616/616/616\nf 616/616/616 576/576/575 617/617/617\nf 576/576/575 577/577/577 617/617/617\nf 577/577/577 618/618/618 617/617/617\nf 577/577/577 578/578/578 618/618/618\nf 618/618/618 578/578/578 619/619/619\nf 578/578/578 579/579/579 619/619/619\nf 619/619/619 579/579/579 620/620/620\nf 580/580/580 621/621/621 579/579/579\nf 579/579/579 621/621/621 620/620/620\nf 580/580/580 581/581/581 621/621/621\nf 621/621/621 581/581/581 622/622/622\nf 622/622/622 581/581/581 623/623/623\nf 581/581/581 582/582/582 623/623/623\nf 583/583/583 624/624/624 582/582/582\nf 582/582/582 624/624/624 623/623/623\nf 584/584/584 625/625/625 583/583/583\nf 583/583/583 625/625/625 624/624/624\nf 585/585/585 626/626/626 584/584/584\nf 584/584/584 626/626/626 625/625/625\nf 586/586/586 627/627/627 585/585/585\nf 585/585/585 627/627/627 626/626/626\nf 587/587/587 628/628/628 586/586/586\nf 586/586/586 628/628/628 627/627/627\nf 588/588/588 629/629/629 587/587/587\nf 587/587/587 629/629/629 628/628/628\nf 589/589/589 630/630/630 588/588/588\nf 588/588/588 630/630/630 629/629/629\nf 590/590/590 631/631/631 589/589/589\nf 589/589/589 631/631/631 630/630/630\nf 631/631/631 590/590/590 632/632/632\nf 590/590/590 591/591/591 632/632/632\nf 591/591/591 592/592/592 632/632/632\nf 632/632/632 592/592/592 633/633/633\nf 592/592/592 593/593/593 633/633/633\nf 633/633/633 593/593/593 634/634/634\nf 594/594/594 635/635/635 593/593/593\nf 593/593/593 635/635/635 634/634/634\nf 595/595/595 636/636/636 594/594/594\nf 594/594/594 636/636/636 635/635/635\nf 595/595/595 596/596/596 636/636/636\nf 636/636/636 596/596/596 637/637/637\nf 597/597/597 638/638/638 596/596/596\nf 596/596/596 638/638/638 637/637/637\nf 597/597/597 598/598/598 638/638/638\nf 638/638/638 598/598/598 639/639/639\nf 598/598/598 599/599/599 639/639/639\nf 639/639/639 599/599/599 640/640/640\nf 599/599/599 600/600/600 640/640/640\nf 640/640/640 600/600/600 641/641/641\nf 601/601/601 642/642/642 600/600/600\nf 600/600/600 642/642/642 641/641/641\nf 601/601/601 602/602/602 642/642/642\nf 642/642/642 602/602/602 643/643/643\nf 602/602/602 603/603/603 643/643/643\nf 643/643/643 603/603/603 644/644/644\nf 604/604/604 645/645/645 603/603/603\nf 603/603/603 645/645/645 644/644/644\nf 605/605/605 646/646/646 604/604/604\nf 604/604/604 646/646/646 645/645/645\nf 605/605/605 606/606/606 646/646/646\nf 646/646/646 606/606/606 647/647/647\nf 648/648/648 647/647/647 607/607/607\nf 606/606/606 607/607/607 647/647/647\nf 607/607/607 608/608/608 648/648/648\nf 608/608/608 649/649/649 648/648/648\nf 608/608/608 609/609/609 649/649/649\nf 649/649/649 609/609/609 650/650/650\nf 651/651/651 650/650/650 610/610/610\nf 609/609/609 610/610/610 650/650/650\nf 611/611/611 652/652/652 610/610/610\nf 610/610/610 652/652/652 651/651/651\nf 611/611/611 612/612/612 652/652/652\nf 652/652/652 612/612/612 653/653/653\nf 612/612/612 613/613/613 653/653/653\nf 653/653/653 613/613/613 654/654/654\nf 613/613/613 614/614/614 654/654/654\nf 654/654/654 614/614/614 655/655/655\nf 614/614/614 615/615/615 655/655/655\nf 655/655/655 615/615/615 656/656/656\nf 617/617/617 658/658/657 616/616/616\nf 616/616/616 658/658/657 657/657/658\nf 659/659/659 658/658/657 618/618/618\nf 617/617/617 618/618/618 658/658/657\nf 618/618/618 619/619/619 659/659/659\nf 619/619/619 660/660/660 659/659/659\nf 620/620/620 661/661/661 619/619/619\nf 619/619/619 661/661/661 660/660/660\nf 621/621/621 662/662/662 620/620/620\nf 620/620/620 662/662/662 661/661/661\nf 621/621/621 622/622/622 662/662/662\nf 662/662/662 622/622/622 663/663/663\nf 663/663/663 622/622/622 664/664/664\nf 622/622/622 623/623/623 664/664/664\nf 665/665/665 664/664/664 624/624/624\nf 623/623/623 624/624/624 664/664/664\nf 624/624/624 625/625/625 665/665/665\nf 665/665/665 625/625/625 666/666/666\nf 626/626/626 667/667/667 625/625/625\nf 625/625/625 667/667/667 666/666/666\nf 627/627/627 668/668/668 626/626/626\nf 626/626/626 668/668/668 667/667/667\nf 628/628/628 669/669/669 627/627/627\nf 627/627/627 669/669/669 668/668/668\nf 628/628/628 629/629/629 669/669/669\nf 669/669/669 629/629/629 670/670/670\nf 630/630/630 671/671/671 629/629/629\nf 629/629/629 671/671/671 670/670/670\nf 631/631/631 672/672/672 630/630/630\nf 630/630/630 672/672/672 671/671/671\nf 631/631/631 632/632/632 672/672/672\nf 672/672/672 632/632/632 673/673/673\nf 633/633/633 674/674/674 632/632/632\nf 632/632/632 674/674/674 673/673/673\nf 634/634/634 675/675/675 633/633/633\nf 633/633/633 675/675/675 674/674/674\nf 635/635/635 676/676/676 634/634/634\nf 634/634/634 676/676/676 675/675/675\nf 636/636/636 677/677/677 635/635/635\nf 635/635/635 677/677/677 676/676/676\nf 637/637/637 678/678/678 636/636/636\nf 636/636/636 678/678/678 677/677/677\nf 638/638/638 679/679/679 637/637/637\nf 637/637/637 679/679/679 678/678/678\nf 638/638/638 639/639/639 679/679/679\nf 679/679/679 639/639/639 680/680/680\nf 640/640/640 681/681/681 639/639/639\nf 639/639/639 681/681/681 680/680/680\nf 640/640/640 641/641/641 681/681/681\nf 681/681/681 641/641/641 682/682/682\nf 642/642/642 683/683/683 641/641/641\nf 641/641/641 683/683/683 682/682/682\nf 642/642/642 643/643/643 683/683/683\nf 683/683/683 643/643/643 684/684/684\nf 643/643/643 644/644/644 684/684/684\nf 684/684/684 644/644/644 685/685/685\nf 644/644/644 645/645/645 685/685/685\nf 685/685/685 645/645/645 686/686/686\nf 687/687/687 686/686/686 646/646/646\nf 645/645/645 646/646/646 686/686/686\nf 646/646/646 647/647/647 687/687/687\nf 647/647/647 688/688/688 687/687/687\nf 647/647/647 648/648/648 688/688/688\nf 648/648/648 689/689/689 688/688/688\nf 649/649/649 690/690/690 648/648/648\nf 648/648/648 690/690/690 689/689/689\nf 691/691/691 690/690/690 650/650/650\nf 649/649/649 650/650/650 690/690/690\nf 650/650/650 651/651/651 691/691/691\nf 691/691/691 651/651/651 692/692/692\nf 693/693/693 692/692/692 652/652/652\nf 651/651/651 652/652/652 692/692/692\nf 652/652/652 653/653/653 693/693/693\nf 693/693/693 653/653/653 694/694/694\nf 695/695/695 694/694/694 654/654/654\nf 653/653/653 654/654/654 694/694/694\nf 654/654/654 655/655/655 695/695/695\nf 695/695/695 655/655/655 696/696/696\nf 655/655/655 656/656/656 696/696/696\nf 696/696/696 656/656/656 697/697/697\nf 657/657/658 658/658/657 698/698/698\nf 698/698/698 658/658/657 699/699/699\nf 659/659/659 700/700/700 658/658/657\nf 658/658/657 700/700/700 699/699/699\nf 659/659/659 660/660/660 700/700/700\nf 700/700/700 660/660/660 701/701/701\nf 661/661/661 702/702/702 660/660/660\nf 660/660/660 702/702/702 701/701/701\nf 702/702/702 661/661/661 703/703/703\nf 661/661/661 662/662/662 703/703/703\nf 663/663/663 704/704/704 662/662/662\nf 662/662/662 704/704/704 703/703/703\nf 664/664/664 705/705/705 663/663/663\nf 663/663/663 705/705/705 704/704/704\nf 665/665/665 706/706/706 664/664/664\nf 664/664/664 706/706/706 705/705/705\nf 665/665/665 666/666/666 706/706/706\nf 706/706/706 666/666/666 707/707/707\nf 707/707/707 666/666/666 708/708/708\nf 666/666/666 667/667/667 708/708/708\nf 668/668/668 709/709/709 667/667/667\nf 667/667/667 709/709/709 708/708/708\nf 669/669/669 710/710/710 668/668/668\nf 668/668/668 710/710/710 709/709/709\nf 669/669/669 670/670/670 710/710/710\nf 710/710/710 670/670/670 711/711/711\nf 671/671/671 712/712/712 670/670/670\nf 670/670/670 712/712/712 711/711/711\nf 672/672/672 713/713/713 671/671/671\nf 671/671/671 713/713/713 712/712/712\nf 672/672/672 673/673/673 713/713/713\nf 713/713/713 673/673/673 714/714/714\nf 674/674/674 715/715/715 673/673/673\nf 673/673/673 715/715/715 714/714/714\nf 674/674/674 675/675/675 715/715/715\nf 715/715/715 675/675/675 716/716/716\nf 676/676/676 717/717/717 675/675/675\nf 675/675/675 717/717/717 716/716/716\nf 676/676/676 677/677/677 717/717/717\nf 717/717/717 677/677/677 718/718/718\nf 678/678/678 719/719/719 677/677/677\nf 677/677/677 719/719/719 718/718/718\nf 678/678/678 679/679/679 719/719/719\nf 719/719/719 679/679/679 720/720/720\nf 679/679/679 680/680/680 720/720/720\nf 720/720/720 680/680/680 721/721/721\nf 681/681/681 722/722/722 680/680/680\nf 680/680/680 722/722/722 721/721/721\nf 681/681/681 682/682/682 722/722/722\nf 722/722/722 682/682/682 723/723/723\nf 683/683/683 724/724/724 682/682/682\nf 682/682/682 724/724/724 723/723/723\nf 684/684/684 725/725/725 683/683/683\nf 683/683/683 725/725/725 724/724/724\nf 726/726/726 725/725/725 685/685/685\nf 684/684/684 685/685/685 725/725/725\nf 686/686/686 727/727/727 685/685/685\nf 685/685/685 727/727/727 726/726/726\nf 728/728/728 727/727/727 687/687/687\nf 686/686/686 687/687/687 727/727/727\nf 687/687/687 688/688/688 728/728/728\nf 728/728/728 688/688/688 729/729/729\nf 688/688/688 689/689/689 729/729/729\nf 689/689/689 730/730/730 729/729/729\nf 731/731/731 730/730/730 690/690/690\nf 689/689/689 690/690/690 730/730/730\nf 691/691/691 732/732/732 690/690/690\nf 690/690/690 732/732/732 731/731/731\nf 692/692/692 733/733/733 691/691/691\nf 691/691/691 733/733/733 732/732/732\nf 693/693/693 734/734/734 692/692/692\nf 692/692/692 734/734/734 733/733/733\nf 735/735/735 734/734/734 694/694/694\nf 693/693/693 694/694/694 734/734/734\nf 735/735/735 694/694/694 736/736/736\nf 694/694/694 695/695/695 736/736/736\nf 695/695/695 696/696/696 736/736/736\nf 696/696/696 737/737/737 736/736/736\nf 696/696/696 697/697/697 737/737/737\nf 737/737/737 697/697/697 738/738/738\nf 698/698/698 699/699/699 739/739/739\nf 739/739/739 699/699/699 740/740/740\nf 699/699/699 700/700/700 740/740/740\nf 700/700/700 741/741/741 740/740/740\nf 741/741/741 700/700/700 742/742/742\nf 700/700/700 701/701/701 742/742/742\nf 701/701/701 702/702/702 742/742/742\nf 742/742/742 702/702/702 743/743/743\nf 702/702/702 703/703/703 743/743/743\nf 743/743/743 703/703/703 744/744/744\nf 744/744/744 703/703/703 745/745/745\nf 703/703/703 704/704/704 745/745/745\nf 705/705/705 746/746/746 704/704/704\nf 704/704/704 746/746/746 745/745/745\nf 706/706/706 747/747/747 705/705/705\nf 705/705/705 747/747/747 746/746/746\nf 706/706/706 707/707/707 747/747/747\nf 747/747/747 707/707/707 748/748/748\nf 748/748/748 707/707/707 749/749/749\nf 707/707/707 708/708/708 749/749/749\nf 708/708/708 709/709/709 749/749/749\nf 749/749/749 709/709/709 750/750/750\nf 709/709/709 710/710/710 750/750/750\nf 750/750/750 710/710/710 751/751/751\nf 710/710/710 711/711/711 751/751/751\nf 751/751/751 711/711/711 752/752/752\nf 712/712/712 753/753/753 711/711/711\nf 711/711/711 753/753/753 752/752/752\nf 713/713/713 754/754/754 712/712/712\nf 712/712/712 754/754/754 753/753/753\nf 714/714/714 755/755/755 713/713/713\nf 713/713/713 755/755/755 754/754/754\nf 715/715/715 756/756/756 714/714/714\nf 714/714/714 756/756/756 755/755/755\nf 716/716/716 757/757/757 715/715/715\nf 715/715/715 757/757/757 756/756/756\nf 717/717/717 758/758/758 716/716/716\nf 716/716/716 758/758/758 757/757/757\nf 717/717/717 718/718/718 758/758/758\nf 758/758/758 718/718/718 759/759/759\nf 718/718/718 719/719/719 759/759/759\nf 759/759/759 719/719/719 760/760/760\nf 719/719/719 720/720/720 760/760/760\nf 760/760/760 720/720/720 761/761/761\nf 721/721/721 762/762/762 720/720/720\nf 720/720/720 762/762/762 761/761/761\nf 721/721/721 722/722/722 762/762/762\nf 762/762/762 722/722/722 763/763/763\nf 722/722/722 723/723/723 763/763/763\nf 763/763/763 723/723/723 764/764/764\nf 723/723/723 724/724/724 764/764/764\nf 764/764/764 724/724/724 765/765/765\nf 724/724/724 725/725/725 765/765/765\nf 765/765/765 725/725/725 766/766/766\nf 725/725/725 726/726/726 766/766/766\nf 766/766/766 726/726/726 767/767/767\nf 726/726/726 727/727/727 767/767/767\nf 767/767/767 727/727/727 768/768/768\nf 727/727/727 728/728/728 768/768/768\nf 768/768/768 728/728/728 769/769/769\nf 729/729/729 770/770/770 728/728/728\nf 728/728/728 770/770/770 769/769/769\nf 729/729/729 730/730/730 770/770/770\nf 770/770/770 730/730/730 771/771/771\nf 730/730/730 731/731/731 771/771/771\nf 771/771/771 731/731/731 772/772/772\nf 731/731/731 732/732/732 772/772/772\nf 732/732/732 773/773/773 772/772/772\nf 733/733/733 774/774/774 732/732/732\nf 732/732/732 774/774/774 773/773/773\nf 733/733/733 734/734/734 774/774/774\nf 774/774/774 734/734/734 775/775/775\nf 735/735/735 776/776/776 734/734/734\nf 734/734/734 776/776/776 775/775/775\nf 735/735/735 736/736/736 776/776/776\nf 736/736/736 777/777/777 776/776/776\nf 737/737/737 778/778/778 736/736/736\nf 736/736/736 778/778/778 777/777/777\nf 738/738/738 779/779/779 737/737/737\nf 737/737/737 779/779/779 778/778/778\nf 740/740/740 781/781/780 739/739/739\nf 739/739/739 781/781/780 780/780/781\nf 740/740/740 741/741/741 781/781/780\nf 741/741/741 782/782/782 781/781/780\nf 741/741/741 742/742/742 782/782/782\nf 742/742/742 783/783/783 782/782/782\nf 743/743/743 784/784/784 742/742/742\nf 742/742/742 784/784/784 783/783/783\nf 743/743/743 744/744/744 784/784/784\nf 784/784/784 744/744/744 785/785/785\nf 745/745/745 786/786/786 744/744/744\nf 744/744/744 786/786/786 785/785/785\nf 746/746/746 787/787/787 745/745/745\nf 745/745/745 787/787/787 786/786/786\nf 787/787/787 746/746/746 788/788/788\nf 746/746/746 747/747/747 788/788/788\nf 747/747/747 748/748/748 788/788/788\nf 788/788/788 748/748/748 789/789/789\nf 749/749/749 790/790/790 748/748/748\nf 748/748/748 790/790/790 789/789/789\nf 749/749/749 750/750/750 790/790/790\nf 750/750/750 791/791/791 790/790/790\nf 751/751/751 792/792/792 750/750/750\nf 750/750/750 792/792/792 791/791/791\nf 752/752/752 793/793/793 751/751/751\nf 751/751/751 793/793/793 792/792/792\nf 753/753/753 794/794/794 752/752/752\nf 752/752/752 794/794/794 793/793/793\nf 753/753/753 754/754/754 794/794/794\nf 794/794/794 754/754/754 795/795/795\nf 754/754/754 755/755/755 795/795/795\nf 795/795/795 755/755/755 796/796/796\nf 756/756/756 797/797/797 755/755/755\nf 755/755/755 797/797/797 796/796/796\nf 756/756/756 757/757/757 797/797/797\nf 797/797/797 757/757/757 798/798/798\nf 757/757/757 758/758/758 798/798/798\nf 798/798/798 758/758/758 799/799/799\nf 759/759/759 800/800/800 758/758/758\nf 758/758/758 800/800/800 799/799/799\nf 760/760/760 801/801/801 759/759/759\nf 759/759/759 801/801/801 800/800/800\nf 760/760/760 761/761/761 801/801/801\nf 801/801/801 761/761/761 802/802/802\nf 762/762/762 803/803/803 761/761/761\nf 761/761/761 803/803/803 802/802/802\nf 763/763/763 804/804/804 762/762/762\nf 762/762/762 804/804/804 803/803/803\nf 764/764/764 805/805/805 763/763/763\nf 763/763/763 805/805/805 804/804/804\nf 765/765/765 806/806/806 764/764/764\nf 764/764/764 806/806/806 805/805/805\nf 765/765/765 766/766/766 806/806/806\nf 806/806/806 766/766/766 807/807/807\nf 767/767/767 808/808/808 766/766/766\nf 766/766/766 808/808/808 807/807/807\nf 768/768/768 809/809/809 767/767/767\nf 767/767/767 809/809/809 808/808/808\nf 768/768/768 769/769/769 809/809/809\nf 769/769/769 810/810/810 809/809/809\nf 770/770/770 811/811/811 769/769/769\nf 769/769/769 811/811/811 810/810/810\nf 770/770/770 771/771/771 811/811/811\nf 811/811/811 771/771/771 812/812/812\nf 813/813/813 812/812/812 772/772/772\nf 771/771/771 772/772/772 812/812/812\nf 772/772/772 773/773/773 813/813/813\nf 773/773/773 814/814/814 813/813/813\nf 773/773/773 774/774/774 814/814/814\nf 814/814/814 774/774/774 815/815/815\nf 775/775/775 816/816/816 774/774/774\nf 774/774/774 816/816/816 815/815/815\nf 775/775/775 776/776/776 816/816/816\nf 816/816/816 776/776/776 817/817/817\nf 776/776/776 777/777/777 817/817/817\nf 817/817/817 777/777/777 818/818/818\nf 777/777/777 778/778/778 818/818/818\nf 818/818/818 778/778/778 819/819/819\nf 778/778/778 779/779/779 819/819/819\nf 819/819/819 779/779/779 820/820/820\nf 780/780/781 781/781/780 821/821/821\nf 821/821/821 781/781/780 822/822/822\nf 781/781/780 782/782/782 822/822/822\nf 782/782/782 823/823/823 822/822/822\nf 824/824/824 823/823/823 783/783/783\nf 782/782/782 783/783/783 823/823/823\nf 783/783/783 784/784/784 824/824/824\nf 824/824/824 784/784/784 825/825/825\nf 784/784/784 785/785/785 825/825/825\nf 785/785/785 826/826/826 825/825/825\nf 786/786/786 827/827/827 785/785/785\nf 785/785/785 827/827/827 826/826/826\nf 786/786/786 787/787/787 827/827/827\nf 827/827/827 787/787/787 828/828/828\nf 787/787/787 788/788/788 828/828/828\nf 828/828/828 788/788/788 829/829/829\nf 830/830/830 829/829/829 789/789/789\nf 788/788/788 789/789/789 829/829/829\nf 790/790/790 831/831/831 789/789/789\nf 789/789/789 831/831/831 830/830/830\nf 791/791/791 832/832/832 790/790/790\nf 790/790/790 832/832/832 831/831/831\nf 791/791/791 792/792/792 832/832/832\nf 832/832/832 792/792/792 833/833/833\nf 792/792/792 793/793/793 833/833/833\nf 833/833/833 793/793/793 834/834/834\nf 794/794/794 835/835/835 793/793/793\nf 793/793/793 835/835/835 834/834/834\nf 795/795/795 836/836/836 794/794/794\nf 794/794/794 836/836/836 835/835/835\nf 796/796/796 837/837/837 795/795/795\nf 795/795/795 837/837/837 836/836/836\nf 797/797/797 838/838/838 796/796/796\nf 796/796/796 838/838/838 837/837/837\nf 797/797/797 798/798/798 838/838/838\nf 838/838/838 798/798/798 839/839/839\nf 799/799/799 840/840/840 798/798/798\nf 798/798/798 840/840/840 839/839/839\nf 800/800/800 841/841/841 799/799/799\nf 799/799/799 841/841/841 840/840/840\nf 800/800/800 801/801/801 841/841/841\nf 841/841/841 801/801/801 842/842/842\nf 802/802/802 843/843/843 801/801/801\nf 801/801/801 843/843/843 842/842/842\nf 802/802/802 803/803/803 843/843/843\nf 843/843/843 803/803/803 844/844/844\nf 803/803/803 804/804/804 844/844/844\nf 844/844/844 804/804/804 845/845/845\nf 804/804/804 805/805/805 845/845/845\nf 845/845/845 805/805/805 846/846/846\nf 806/806/806 847/847/847 805/805/805\nf 805/805/805 847/847/847 846/846/846\nf 807/807/807 848/848/848 806/806/806\nf 806/806/806 848/848/848 847/847/847\nf 848/848/848 807/807/807 849/849/849\nf 807/807/807 808/808/808 849/849/849\nf 808/808/808 809/809/809 849/849/849\nf 849/849/849 809/809/809 850/850/850\nf 809/809/809 810/810/810 850/850/850\nf 850/850/850 810/810/810 851/851/851\nf 811/811/811 852/852/852 810/810/810\nf 810/810/810 852/852/852 851/851/851\nf 812/812/812 853/853/853 811/811/811\nf 811/811/811 853/853/853 852/852/852\nf 812/812/812 813/813/813 853/853/853\nf 813/813/813 854/854/854 853/853/853\nf 814/814/814 855/855/855 813/813/813\nf 813/813/813 855/855/855 854/854/854\nf 815/815/815 856/856/856 814/814/814\nf 814/814/814 856/856/856 855/855/855\nf 857/857/857 856/856/856 816/816/816\nf 815/815/815 816/816/816 856/856/856\nf 858/858/858 857/857/857 817/817/817\nf 816/816/816 817/817/817 857/857/857\nf 818/818/818 859/859/859 817/817/817\nf 817/817/817 859/859/859 858/858/858\nf 819/819/819 860/860/860 818/818/818\nf 818/818/818 860/860/860 859/859/859\nf 819/819/819 820/820/820 860/860/860\nf 860/860/860 820/820/820 861/861/861\nf 822/822/822 863/863/862 821/821/821\nf 821/821/821 863/863/862 862/862/863\nf 822/822/822 823/823/823 863/863/862\nf 823/823/823 864/864/864 863/863/862\nf 823/823/823 824/824/824 864/864/864\nf 864/864/864 824/824/824 865/865/865\nf 825/825/825 866/866/866 824/824/824\nf 824/824/824 866/866/866 865/865/865\nf 866/866/866 825/825/825 867/867/867\nf 825/825/825 826/826/826 867/867/867\nf 827/827/827 868/868/868 826/826/826\nf 826/826/826 868/868/868 867/867/867\nf 827/827/827 828/828/828 868/868/868\nf 828/828/828 869/869/869 868/868/868\nf 829/829/829 870/870/870 828/828/828\nf 828/828/828 870/870/870 869/869/869\nf 870/870/870 829/829/829 871/871/871\nf 829/829/829 830/830/830 871/871/871\nf 830/830/830 831/831/831 871/871/871\nf 871/871/871 831/831/831 872/872/872\nf 831/831/831 832/832/832 872/872/872\nf 872/872/872 832/832/832 873/873/873\nf 832/832/832 833/833/833 873/873/873\nf 873/873/873 833/833/833 874/874/874\nf 875/875/875 874/874/874 834/834/834\nf 833/833/833 834/834/834 874/874/874\nf 835/835/835 876/876/876 834/834/834\nf 834/834/834 876/876/876 875/875/875\nf 836/836/836 877/877/877 835/835/835\nf 835/835/835 877/877/877 876/876/876\nf 836/836/836 837/837/837 877/877/877\nf 877/877/877 837/837/837 878/878/878\nf 837/837/837 838/838/838 878/878/878\nf 878/878/878 838/838/838 879/879/879\nf 838/838/838 839/839/839 879/879/879\nf 879/879/879 839/839/839 880/880/880\nf 840/840/840 881/881/881 839/839/839\nf 839/839/839 881/881/881 880/880/880\nf 840/840/840 841/841/841 881/881/881\nf 881/881/881 841/841/841 882/882/882\nf 842/842/842 883/883/883 841/841/841\nf 841/841/841 883/883/883 882/882/882\nf 843/843/843 884/884/884 842/842/842\nf 842/842/842 884/884/884 883/883/883\nf 843/843/843 844/844/844 884/884/884\nf 884/884/884 844/844/844 885/885/885\nf 845/845/845 886/886/886 844/844/844\nf 844/844/844 886/886/886 885/885/885\nf 845/845/845 846/846/846 886/886/886\nf 886/886/886 846/846/846 887/887/887\nf 846/846/846 847/847/847 887/887/887\nf 887/887/887 847/847/847 888/888/888\nf 847/847/847 848/848/848 888/888/888\nf 888/888/888 848/848/848 889/889/889\nf 848/848/848 849/849/849 889/889/889\nf 889/889/889 849/849/849 890/890/890\nf 850/850/850 891/891/891 849/849/849\nf 849/849/849 891/891/891 890/890/890\nf 851/851/851 892/892/892 850/850/850\nf 850/850/850 892/892/892 891/891/891\nf 852/852/852 893/893/893 851/851/851\nf 851/851/851 893/893/893 892/892/892\nf 853/853/853 894/894/894 852/852/852\nf 852/852/852 894/894/894 893/893/893\nf 853/853/853 854/854/854 894/894/894\nf 894/894/894 854/854/854 895/895/895\nf 855/855/855 896/896/896 854/854/854\nf 854/854/854 896/896/896 895/895/895\nf 855/855/855 856/856/856 896/896/896\nf 896/896/896 856/856/856 897/897/897\nf 857/857/857 898/898/898 856/856/856\nf 856/856/856 898/898/898 897/897/897\nf 858/858/858 899/899/899 857/857/857\nf 857/857/857 899/899/899 898/898/898\nf 858/858/858 859/859/859 899/899/899\nf 859/859/859 900/900/900 899/899/899\nf 860/860/860 901/901/901 859/859/859\nf 859/859/859 901/901/901 900/900/900\nf 861/861/861 902/902/902 860/860/860\nf 860/860/860 902/902/902 901/901/901\nf 863/863/862 904/904/903 862/862/863\nf 862/862/863 904/904/903 903/903/904\nf 864/864/864 905/905/905 863/863/862\nf 863/863/862 905/905/905 904/904/903\nf 906/906/906 905/905/905 865/865/865\nf 864/864/864 865/865/865 905/905/905\nf 907/907/907 906/906/906 866/866/866\nf 865/865/865 866/866/866 906/906/906\nf 866/866/866 867/867/867 907/907/907\nf 907/907/907 867/867/867 908/908/908\nf 867/867/867 868/868/868 908/908/908\nf 908/908/908 868/868/868 909/909/909\nf 868/868/868 869/869/869 909/909/909\nf 909/909/909 869/869/869 910/910/910\nf 869/869/869 870/870/870 910/910/910\nf 910/910/910 870/870/870 911/911/911\nf 870/870/870 871/871/871 911/911/911\nf 911/911/911 871/871/871 912/912/912\nf 871/871/871 872/872/872 912/912/912\nf 912/912/912 872/872/872 913/913/913\nf 873/873/873 914/914/914 872/872/872\nf 872/872/872 914/914/914 913/913/913\nf 874/874/874 915/915/915 873/873/873\nf 873/873/873 915/915/915 914/914/914\nf 915/915/915 874/874/874 916/916/916\nf 874/874/874 875/875/875 916/916/916\nf 875/875/875 876/876/876 916/916/916\nf 916/916/916 876/876/876 917/917/917\nf 876/876/876 877/877/877 917/917/917\nf 917/917/917 877/877/877 918/918/918\nf 877/877/877 878/878/878 918/918/918\nf 918/918/918 878/878/878 919/919/919\nf 879/879/879 920/920/920 878/878/878\nf 878/878/878 920/920/920 919/919/919\nf 879/879/879 880/880/880 920/920/920\nf 880/880/880 921/921/921 920/920/920\nf 880/880/880 881/881/881 921/921/921\nf 921/921/921 881/881/881 922/922/922\nf 881/881/881 882/882/882 922/922/922\nf 922/922/922 882/882/882 923/923/923\nf 882/882/882 883/883/883 923/923/923\nf 923/923/923 883/883/883 924/924/924\nf 884/884/884 925/925/925 883/883/883\nf 883/883/883 925/925/925 924/924/924\nf 885/885/885 926/926/926 884/884/884\nf 884/884/884 926/926/926 925/925/925\nf 885/885/885 886/886/886 926/926/926\nf 926/926/926 886/886/886 927/927/927\nf 886/886/886 887/887/887 927/927/927\nf 927/927/927 887/887/887 928/928/928\nf 887/887/887 888/888/888 928/928/928\nf 928/928/928 888/888/888 929/929/929\nf 889/889/889 930/930/930 888/888/888\nf 888/888/888 930/930/930 929/929/929\nf 890/890/890 931/931/931 889/889/889\nf 889/889/889 931/931/931 930/930/930\nf 891/891/891 932/932/932 890/890/890\nf 890/890/890 932/932/932 931/931/931\nf 891/891/891 892/892/892 932/932/932\nf 932/932/932 892/892/892 933/933/933\nf 933/933/933 892/892/892 934/934/934\nf 892/892/892 893/893/893 934/934/934\nf 893/893/893 894/894/894 934/934/934\nf 934/934/934 894/894/894 935/935/935\nf 895/895/895 936/936/936 894/894/894\nf 894/894/894 936/936/936 935/935/935\nf 936/936/936 895/895/895 937/937/937\nf 895/895/895 896/896/896 937/937/937\nf 896/896/896 897/897/897 937/937/937\nf 937/937/937 897/897/897 938/938/938\nf 897/897/897 898/898/898 938/938/938\nf 898/898/898 939/939/939 938/938/938\nf 898/898/898 899/899/899 939/939/939\nf 939/939/939 899/899/899 940/940/940\nf 900/900/900 941/941/941 899/899/899\nf 899/899/899 941/941/941 940/940/940\nf 901/901/901 942/942/942 900/900/900\nf 900/900/900 942/942/942 941/941/941\nf 902/902/902 943/943/943 901/901/901\nf 901/901/901 943/943/943 942/942/942\nf 903/903/904 904/904/903 944/944/944\nf 944/944/944 904/904/903 945/945/945\nf 905/905/905 946/946/946 904/904/903\nf 904/904/903 946/946/946 945/945/945\nf 905/905/905 906/906/906 946/946/946\nf 906/906/906 947/947/947 946/946/946\nf 948/948/948 947/947/947 907/907/907\nf 906/906/906 907/907/907 947/947/947\nf 908/908/908 949/949/949 907/907/907\nf 907/907/907 949/949/949 948/948/948\nf 909/909/909 950/950/950 908/908/908\nf 908/908/908 950/950/950 949/949/949\nf 909/909/909 910/910/910 950/950/950\nf 910/910/910 951/951/951 950/950/950\nf 952/952/952 951/951/951 911/911/911\nf 910/910/910 911/911/911 951/951/951\nf 912/912/912 953/953/953 911/911/911\nf 911/911/911 953/953/953 952/952/952\nf 913/913/913 954/954/954 912/912/912\nf 912/912/912 954/954/954 953/953/953\nf 914/914/914 955/955/955 913/913/913\nf 913/913/913 955/955/955 954/954/954\nf 955/955/955 914/914/914 956/956/956\nf 914/914/914 915/915/915 956/956/956\nf 916/916/916 957/957/957 915/915/915\nf 915/915/915 957/957/957 956/956/956\nf 916/916/916 917/917/917 957/957/957\nf 957/957/957 917/917/917 958/958/958\nf 917/917/917 918/918/918 958/958/958\nf 918/918/918 959/959/959 958/958/958\nf 918/918/918 919/919/919 959/959/959\nf 919/919/919 960/960/960 959/959/959\nf 919/919/919 920/920/920 960/960/960\nf 960/960/960 920/920/920 961/961/961\nf 921/921/921 962/962/962 920/920/920\nf 920/920/920 962/962/962 961/961/961\nf 922/922/922 963/963/963 921/921/921\nf 921/921/921 963/963/963 962/962/962\nf 923/923/923 964/964/964 922/922/922\nf 922/922/922 964/964/964 963/963/963\nf 923/923/923 924/924/924 964/964/964\nf 964/964/964 924/924/924 965/965/965\nf 924/924/924 925/925/925 965/965/965\nf 965/965/965 925/925/925 966/966/966\nf 925/925/925 926/926/926 966/966/966\nf 966/966/966 926/926/926 967/967/967\nf 927/927/927 968/968/968 926/926/926\nf 926/926/926 968/968/968 967/967/967\nf 928/928/928 969/969/969 927/927/927\nf 927/927/927 969/969/969 968/968/968\nf 929/929/929 970/970/970 928/928/928\nf 928/928/928 970/970/970 969/969/969\nf 930/930/930 971/971/971 929/929/929\nf 929/929/929 971/971/971 970/970/970\nf 930/930/930 931/931/931 971/971/971\nf 971/971/971 931/931/931 972/972/972\nf 931/931/931 932/932/932 972/972/972\nf 972/972/972 932/932/932 973/973/973\nf 933/933/933 974/974/974 932/932/932\nf 932/932/932 974/974/974 973/973/973\nf 974/974/974 933/933/933 975/975/975\nf 933/933/933 934/934/934 975/975/975\nf 935/935/935 976/976/976 934/934/934\nf 934/934/934 976/976/976 975/975/975\nf 936/936/936 977/977/977 935/935/935\nf 935/935/935 977/977/977 976/976/976\nf 936/936/936 937/937/937 977/977/977\nf 937/937/937 978/978/978 977/977/977\nf 938/938/938 979/979/979 937/937/937\nf 937/937/937 979/979/979 978/978/978\nf 979/979/979 938/938/938 980/980/980\nf 938/938/938 939/939/939 980/980/980\nf 939/939/939 940/940/940 980/980/980\nf 980/980/980 940/940/940 981/981/981\nf 941/941/941 982/982/982 940/940/940\nf 940/940/940 982/982/982 981/981/981\nf 941/941/941 942/942/942 982/982/982\nf 982/982/982 942/942/942 983/983/983\nf 942/942/942 943/943/943 983/983/983\nf 983/983/983 943/943/943 984/984/984\nf 945/945/945 986/986/985 944/944/944\nf 944/944/944 986/986/985 985/985/986\nf 987/987/987 986/986/985 946/946/946\nf 945/945/945 946/946/946 986/986/985\nf 946/946/946 947/947/947 987/987/987\nf 947/947/947 988/988/988 987/987/987\nf 947/947/947 948/948/948 988/988/988\nf 948/948/948 989/989/989 988/988/988\nf 948/948/948 949/949/949 989/989/989\nf 989/989/989 949/949/949 990/990/990\nf 949/949/949 950/950/950 990/990/990\nf 950/950/950 991/991/991 990/990/990\nf 950/950/950 951/951/951 991/991/991\nf 991/991/991 951/951/951 992/992/992\nf 952/952/952 993/993/993 951/951/951\nf 951/951/951 993/993/993 992/992/992\nf 952/952/952 953/953/953 993/993/993\nf 993/993/993 953/953/953 994/994/994\nf 995/995/995 994/994/994 954/954/954\nf 953/953/953 954/954/954 994/994/994\nf 995/995/995 954/954/954 996/996/996\nf 954/954/954 955/955/955 996/996/996\nf 955/955/955 956/956/956 996/996/996\nf 996/996/996 956/956/956 997/997/997\nf 956/956/956 957/957/957 997/997/997\nf 997/997/997 957/957/957 998/998/998\nf 958/958/958 999/999/999 957/957/957\nf 957/957/957 999/999/999 998/998/998\nf 958/958/958 959/959/959 999/999/999\nf 959/959/959 1000/1000/1000 999/999/999\nf 959/959/959 960/960/960 1000/1000/1000\nf 960/960/960 1001/1001/1001 1000/1000/1000\nf 960/960/960 961/961/961 1001/1001/1001\nf 1001/1001/1001 961/961/961 1002/1002/1002\nf 962/962/962 1003/1003/1003 961/961/961\nf 961/961/961 1003/1003/1003 1002/1002/1002\nf 963/963/963 1004/1004/1004 962/962/962\nf 962/962/962 1004/1004/1004 1003/1003/1003\nf 964/964/964 1005/1005/1005 963/963/963\nf 963/963/963 1005/1005/1005 1004/1004/1004\nf 965/965/965 1006/1006/1006 964/964/964\nf 964/964/964 1006/1006/1006 1005/1005/1005\nf 965/965/965 966/966/966 1006/1006/1006\nf 1006/1006/1006 966/966/966 1007/1007/1007\nf 967/967/967 1008/1008/1008 966/966/966\nf 966/966/966 1008/1008/1008 1007/1007/1007\nf 968/968/968 1009/1009/1009 967/967/967\nf 967/967/967 1009/1009/1009 1008/1008/1008\nf 969/969/969 1010/1010/1010 968/968/968\nf 968/968/968 1010/1010/1010 1009/1009/1009\nf 970/970/970 1011/1011/1011 969/969/969\nf 969/969/969 1011/1011/1011 1010/1010/1010\nf 971/971/971 1012/1012/1012 970/970/970\nf 970/970/970 1012/1012/1012 1011/1011/1011\nf 972/972/972 1013/1013/1013 971/971/971\nf 971/971/971 1013/1013/1013 1012/1012/1012\nf 973/973/973 1014/1014/1014 972/972/972\nf 972/972/972 1014/1014/1014 1013/1013/1013\nf 1014/1014/1014 973/973/973 1015/1015/1015\nf 973/973/973 974/974/974 1015/1015/1015\nf 974/974/974 975/975/975 1015/1015/1015\nf 1015/1015/1015 975/975/975 1016/1016/1016\nf 976/976/976 1017/1017/1017 975/975/975\nf 975/975/975 1017/1017/1017 1016/1016/1016\nf 976/976/976 977/977/977 1017/1017/1017\nf 1017/1017/1017 977/977/977 1018/1018/1018\nf 978/978/978 1019/1019/1019 977/977/977\nf 977/977/977 1019/1019/1019 1018/1018/1018\nf 978/978/978 979/979/979 1019/1019/1019\nf 1019/1019/1019 979/979/979 1020/1020/1020\nf 980/980/980 1021/1021/1021 979/979/979\nf 979/979/979 1021/1021/1021 1020/1020/1020\nf 981/981/981 1022/1022/1022 980/980/980\nf 980/980/980 1022/1022/1022 1021/1021/1021\nf 1022/1022/1022 981/981/981 1023/1023/1023\nf 981/981/981 982/982/982 1023/1023/1023\nf 983/983/983 1024/1024/1024 982/982/982\nf 982/982/982 1024/1024/1024 1023/1023/1023\nf 984/984/984 1025/1025/1025 983/983/983\nf 983/983/983 1025/1025/1025 1024/1024/1024\nf 985/985/986 986/986/985 1026/1026/1026\nf 1026/1026/1026 986/986/985 1027/1027/1027\nf 986/986/985 987/987/987 1027/1027/1027\nf 1027/1027/1027 987/987/987 1028/1028/1028\nf 988/988/988 1029/1029/1029 987/987/987\nf 987/987/987 1029/1029/1029 1028/1028/1028\nf 1029/1029/1029 988/988/988 1030/1030/1030\nf 988/988/988 989/989/989 1030/1030/1030\nf 989/989/989 990/990/990 1030/1030/1030\nf 1030/1030/1030 990/990/990 1031/1031/1031\nf 990/990/990 991/991/991 1031/1031/1031\nf 1031/1031/1031 991/991/991 1032/1032/1032\nf 992/992/992 1033/1033/1033 991/991/991\nf 991/991/991 1033/1033/1033 1032/1032/1032\nf 992/992/992 993/993/993 1033/1033/1033\nf 993/993/993 1034/1034/1034 1033/1033/1033\nf 993/993/993 994/994/994 1034/1034/1034\nf 994/994/994 1035/1035/1035 1034/1034/1034\nf 995/995/995 1036/1036/1036 994/994/994\nf 994/994/994 1036/1036/1036 1035/1035/1035\nf 995/995/995 996/996/996 1036/1036/1036\nf 996/996/996 1037/1037/1037 1036/1036/1036\nf 996/996/996 997/997/997 1037/1037/1037\nf 1037/1037/1037 997/997/997 1038/1038/1038\nf 997/997/997 998/998/998 1038/1038/1038\nf 998/998/998 1039/1039/1039 1038/1038/1038\nf 998/998/998 999/999/999 1039/1039/1039\nf 1039/1039/1039 999/999/999 1040/1040/1040\nf 999/999/999 1000/1000/1000 1040/1040/1040\nf 1040/1040/1040 1000/1000/1000 1041/1041/1041\nf 1042/1042/1042 1041/1041/1041 1001/1001/1001\nf 1000/1000/1000 1001/1001/1001 1041/1041/1041\nf 1001/1001/1001 1002/1002/1002 1042/1042/1042\nf 1042/1042/1042 1002/1002/1002 1043/1043/1043\nf 1002/1002/1002 1003/1003/1003 1043/1043/1043\nf 1043/1043/1043 1003/1003/1003 1044/1044/1044\nf 1004/1004/1004 1045/1045/1045 1003/1003/1003\nf 1003/1003/1003 1045/1045/1045 1044/1044/1044\nf 1004/1004/1004 1005/1005/1005 1045/1045/1045\nf 1045/1045/1045 1005/1005/1005 1046/1046/1046\nf 1006/1006/1006 1047/1047/1047 1005/1005/1005\nf 1005/1005/1005 1047/1047/1047 1046/1046/1046\nf 1007/1007/1007 1048/1048/1048 1006/1006/1006\nf 1006/1006/1006 1048/1048/1048 1047/1047/1047\nf 1008/1008/1008 1049/1049/1049 1007/1007/1007\nf 1007/1007/1007 1049/1049/1049 1048/1048/1048\nf 1009/1009/1009 1050/1050/1050 1008/1008/1008\nf 1008/1008/1008 1050/1050/1050 1049/1049/1049\nf 1009/1009/1009 1010/1010/1010 1050/1050/1050\nf 1050/1050/1050 1010/1010/1010 1051/1051/1051\nf 1010/1010/1010 1011/1011/1011 1051/1051/1051\nf 1051/1051/1051 1011/1011/1011 1052/1052/1052\nf 1011/1011/1011 1012/1012/1012 1052/1052/1052\nf 1052/1052/1052 1012/1012/1012 1053/1053/1053\nf 1012/1012/1012 1013/1013/1013 1053/1053/1053\nf 1053/1053/1053 1013/1013/1013 1054/1054/1054\nf 1014/1014/1014 1055/1055/1055 1013/1013/1013\nf 1013/1013/1013 1055/1055/1055 1054/1054/1054\nf 1015/1015/1015 1056/1056/1056 1014/1014/1014\nf 1014/1014/1014 1056/1056/1056 1055/1055/1055\nf 1016/1016/1016 1057/1057/1057 1015/1015/1015\nf 1015/1015/1015 1057/1057/1057 1056/1056/1056\nf 1017/1017/1017 1058/1058/1058 1016/1016/1016\nf 1016/1016/1016 1058/1058/1058 1057/1057/1057\nf 1018/1018/1018 1059/1059/1059 1017/1017/1017\nf 1017/1017/1017 1059/1059/1059 1058/1058/1058\nf 1019/1019/1019 1060/1060/1060 1018/1018/1018\nf 1018/1018/1018 1060/1060/1060 1059/1059/1059\nf 1060/1060/1060 1019/1019/1019 1061/1061/1061\nf 1019/1019/1019 1020/1020/1020 1061/1061/1061\nf 1021/1021/1021 1062/1062/1062 1020/1020/1020\nf 1020/1020/1020 1062/1062/1062 1061/1061/1061\nf 1021/1021/1021 1022/1022/1022 1062/1062/1062\nf 1062/1062/1062 1022/1022/1022 1063/1063/1063\nf 1022/1022/1022 1023/1023/1023 1063/1063/1063\nf 1063/1063/1063 1023/1023/1023 1064/1064/1064\nf 1024/1024/1024 1065/1065/1065 1023/1023/1023\nf 1023/1023/1023 1065/1065/1065 1064/1064/1064\nf 1024/1024/1024 1025/1025/1025 1065/1065/1065\nf 1065/1065/1065 1025/1025/1025 1066/1066/1066\nf 1027/1027/1027 1068/1068/1067 1026/1026/1026\nf 1026/1026/1026 1068/1068/1067 1067/1067/1068\nf 1027/1027/1027 1028/1028/1028 1068/1068/1067\nf 1068/1068/1067 1028/1028/1028 1069/1069/1069\nf 1029/1029/1029 1070/1070/1070 1028/1028/1028\nf 1028/1028/1028 1070/1070/1070 1069/1069/1069\nf 1029/1029/1029 1030/1030/1030 1070/1070/1070\nf 1030/1030/1030 1071/1071/1071 1070/1070/1070\nf 1030/1030/1030 1031/1031/1031 1071/1071/1071\nf 1071/1071/1071 1031/1031/1031 1072/1072/1072\nf 1073/1073/1073 1072/1072/1072 1032/1032/1032\nf 1031/1031/1031 1032/1032/1032 1072/1072/1072\nf 1074/1074/1074 1073/1073/1073 1033/1033/1033\nf 1032/1032/1032 1033/1033/1033 1073/1073/1073\nf 1034/1034/1034 1075/1075/1075 1033/1033/1033\nf 1033/1033/1033 1075/1075/1075 1074/1074/1074\nf 1076/1076/1076 1075/1075/1075 1035/1035/1035\nf 1034/1034/1034 1035/1035/1035 1075/1075/1075\nf 1036/1036/1036 1077/1077/1077 1035/1035/1035\nf 1035/1035/1035 1077/1077/1077 1076/1076/1076\nf 1037/1037/1037 1078/1078/1078 1036/1036/1036\nf 1036/1036/1036 1078/1078/1078 1077/1077/1077\nf 1037/1037/1037 1038/1038/1038 1078/1078/1078\nf 1038/1038/1038 1079/1079/1079 1078/1078/1078\nf 1080/1080/1080 1079/1079/1079 1039/1039/1039\nf 1038/1038/1038 1039/1039/1039 1079/1079/1079\nf 1039/1039/1039 1040/1040/1040 1080/1080/1080\nf 1080/1080/1080 1040/1040/1040 1081/1081/1081\nf 1040/1040/1040 1041/1041/1041 1081/1081/1081\nf 1081/1081/1081 1041/1041/1041 1082/1082/1082\nf 1042/1042/1042 1083/1083/1083 1041/1041/1041\nf 1041/1041/1041 1083/1083/1083 1082/1082/1082\nf 1042/1042/1042 1043/1043/1043 1083/1083/1083\nf 1083/1083/1083 1043/1043/1043 1084/1084/1084\nf 1043/1043/1043 1044/1044/1044 1084/1084/1084\nf 1084/1084/1084 1044/1044/1044 1085/1085/1085\nf 1044/1044/1044 1045/1045/1045 1085/1085/1085\nf 1085/1085/1085 1045/1045/1045 1086/1086/1086\nf 1045/1045/1045 1046/1046/1046 1086/1086/1086\nf 1086/1086/1086 1046/1046/1046 1087/1087/1087\nf 1046/1046/1046 1047/1047/1047 1087/1087/1087\nf 1087/1087/1087 1047/1047/1047 1088/1088/1088\nf 1048/1048/1048 1089/1089/1089 1047/1047/1047\nf 1047/1047/1047 1089/1089/1089 1088/1088/1088\nf 1049/1049/1049 1090/1090/1090 1048/1048/1048\nf 1048/1048/1048 1090/1090/1090 1089/1089/1089\nf 1050/1050/1050 1091/1091/1091 1049/1049/1049\nf 1049/1049/1049 1091/1091/1091 1090/1090/1090\nf 1050/1050/1050 1051/1051/1051 1091/1091/1091\nf 1091/1091/1091 1051/1051/1051 1092/1092/1092\nf 1052/1052/1052 1093/1093/1093 1051/1051/1051\nf 1051/1051/1051 1093/1093/1093 1092/1092/1092\nf 1052/1052/1052 1053/1053/1053 1093/1093/1093\nf 1093/1093/1093 1053/1053/1053 1094/1094/1094\nf 1054/1054/1054 1095/1095/1095 1053/1053/1053\nf 1053/1053/1053 1095/1095/1095 1094/1094/1094\nf 1055/1055/1055 1096/1096/1096 1054/1054/1054\nf 1054/1054/1054 1096/1096/1096 1095/1095/1095\nf 1055/1055/1055 1056/1056/1056 1096/1096/1096\nf 1096/1096/1096 1056/1056/1056 1097/1097/1097\nf 1057/1057/1057 1098/1098/1098 1056/1056/1056\nf 1056/1056/1056 1098/1098/1098 1097/1097/1097\nf 1058/1058/1058 1099/1099/1099 1057/1057/1057\nf 1057/1057/1057 1099/1099/1099 1098/1098/1098\nf 1058/1058/1058 1059/1059/1059 1099/1099/1099\nf 1099/1099/1099 1059/1059/1059 1100/1100/1100\nf 1060/1060/1060 1101/1101/1101 1059/1059/1059\nf 1059/1059/1059 1101/1101/1101 1100/1100/1100\nf 1061/1061/1061 1102/1102/1102 1060/1060/1060\nf 1060/1060/1060 1102/1102/1102 1101/1101/1101\nf 1061/1061/1061 1062/1062/1062 1102/1102/1102\nf 1102/1102/1102 1062/1062/1062 1103/1103/1103\nf 1062/1062/1062 1063/1063/1063 1103/1103/1103\nf 1103/1103/1103 1063/1063/1063 1104/1104/1104\nf 1064/1064/1064 1105/1105/1105 1063/1063/1063\nf 1063/1063/1063 1105/1105/1105 1104/1104/1104\nf 1065/1065/1065 1106/1106/1106 1064/1064/1064\nf 1064/1064/1064 1106/1106/1106 1105/1105/1105\nf 1065/1065/1065 1066/1066/1066 1106/1106/1106\nf 1106/1106/1106 1066/1066/1066 1107/1107/1107\nf 1068/1068/1067 1109/1109/1108 1067/1067/1068\nf 1067/1067/1068 1109/1109/1108 1108/1108/1109\nf 1069/1069/1069 1110/1110/1110 1068/1068/1067\nf 1068/1068/1067 1110/1110/1110 1109/1109/1108\nf 1111/1111/1111 1110/1110/1110 1070/1070/1070\nf 1069/1069/1069 1070/1070/1070 1110/1110/1110\nf 1070/1070/1070 1071/1071/1071 1111/1111/1111\nf 1071/1071/1071 1112/1112/1112 1111/1111/1111\nf 1072/1072/1072 1113/1113/1113 1071/1071/1071\nf 1071/1071/1071 1113/1113/1113 1112/1112/1112\nf 1073/1073/1073 1114/1114/1114 1072/1072/1072\nf 1072/1072/1072 1114/1114/1114 1113/1113/1113\nf 1073/1073/1073 1074/1074/1074 1114/1114/1114\nf 1074/1074/1074 1115/1115/1115 1114/1114/1114\nf 1074/1074/1074 1075/1075/1075 1115/1115/1115\nf 1075/1075/1075 1116/1116/1116 1115/1115/1115\nf 1075/1075/1075 1076/1076/1076 1116/1116/1116\nf 1116/1116/1116 1076/1076/1076 1117/1117/1117\nf 1076/1076/1076 1077/1077/1077 1117/1117/1117\nf 1117/1117/1117 1077/1077/1077 1118/1118/1118\nf 1078/1078/1078 1119/1119/1119 1077/1077/1077\nf 1077/1077/1077 1119/1119/1119 1118/1118/1118\nf 1078/1078/1078 1079/1079/1079 1119/1119/1119\nf 1119/1119/1119 1079/1079/1079 1120/1120/1120\nf 1079/1079/1079 1080/1080/1080 1120/1120/1120\nf 1120/1120/1120 1080/1080/1080 1121/1121/1121\nf 1080/1080/1080 1081/1081/1081 1121/1121/1121\nf 1121/1121/1121 1081/1081/1081 1122/1122/1122\nf 1081/1081/1081 1082/1082/1082 1122/1122/1122\nf 1122/1122/1122 1082/1082/1082 1123/1123/1123\nf 1082/1082/1082 1083/1083/1083 1123/1123/1123\nf 1123/1123/1123 1083/1083/1083 1124/1124/1124\nf 1125/1125/1125 1124/1124/1124 1084/1084/1084\nf 1083/1083/1083 1084/1084/1084 1124/1124/1124\nf 1126/1126/1126 1125/1125/1125 1085/1085/1085\nf 1084/1084/1084 1085/1085/1085 1125/1125/1125\nf 1085/1085/1085 1086/1086/1086 1126/1126/1126\nf 1126/1126/1126 1086/1086/1086 1127/1127/1127\nf 1086/1086/1086 1087/1087/1087 1127/1127/1127\nf 1127/1127/1127 1087/1087/1087 1128/1128/1128\nf 1088/1088/1088 1129/1129/1129 1087/1087/1087\nf 1087/1087/1087 1129/1129/1129 1128/1128/1128\nf 1088/1088/1088 1089/1089/1089 1129/1129/1129\nf 1129/1129/1129 1089/1089/1089 1130/1130/1130\nf 1089/1089/1089 1090/1090/1090 1130/1130/1130\nf 1130/1130/1130 1090/1090/1090 1131/1131/1131\nf 1090/1090/1090 1091/1091/1091 1131/1131/1131\nf 1131/1131/1131 1091/1091/1091 1132/1132/1132\nf 1092/1092/1092 1133/1133/1133 1091/1091/1091\nf 1091/1091/1091 1133/1133/1133 1132/1132/1132\nf 1092/1092/1092 1093/1093/1093 1133/1133/1133\nf 1133/1133/1133 1093/1093/1093 1134/1134/1134\nf 1093/1093/1093 1094/1094/1094 1134/1134/1134\nf 1134/1134/1134 1094/1094/1094 1135/1135/1135\nf 1095/1095/1095 1136/1136/1136 1094/1094/1094\nf 1094/1094/1094 1136/1136/1136 1135/1135/1135\nf 1096/1096/1096 1137/1137/1137 1095/1095/1095\nf 1095/1095/1095 1137/1137/1137 1136/1136/1136\nf 1097/1097/1097 1138/1138/1138 1096/1096/1096\nf 1096/1096/1096 1138/1138/1138 1137/1137/1137\nf 1098/1098/1098 1139/1139/1139 1097/1097/1097\nf 1097/1097/1097 1139/1139/1139 1138/1138/1138\nf 1098/1098/1098 1099/1099/1099 1139/1139/1139\nf 1139/1139/1139 1099/1099/1099 1140/1140/1140\nf 1100/1100/1100 1141/1141/1141 1099/1099/1099\nf 1099/1099/1099 1141/1141/1141 1140/1140/1140\nf 1101/1101/1101 1142/1142/1142 1100/1100/1100\nf 1100/1100/1100 1142/1142/1142 1141/1141/1141\nf 1143/1143/1143 1142/1142/1142 1102/1102/1102\nf 1101/1101/1101 1102/1102/1102 1142/1142/1142\nf 1102/1102/1102 1103/1103/1103 1143/1143/1143\nf 1143/1143/1143 1103/1103/1103 1144/1144/1144\nf 1145/1145/1145 1144/1144/1144 1104/1104/1104\nf 1103/1103/1103 1104/1104/1104 1144/1144/1144\nf 1105/1105/1105 1146/1146/1146 1104/1104/1104\nf 1104/1104/1104 1146/1146/1146 1145/1145/1145\nf 1105/1105/1105 1106/1106/1106 1146/1146/1146\nf 1146/1146/1146 1106/1106/1106 1147/1147/1147\nf 1106/1106/1106 1107/1107/1107 1147/1147/1147\nf 1147/1147/1147 1107/1107/1107 1148/1148/1148\nf 1109/1109/1108 1150/1150/1149 1108/1108/1109\nf 1108/1108/1109 1150/1150/1149 1149/1149/1150\nf 1110/1110/1110 1151/1151/1151 1109/1109/1108\nf 1109/1109/1108 1151/1151/1151 1150/1150/1149\nf 1111/1111/1111 1152/1152/1152 1110/1110/1110\nf 1110/1110/1110 1152/1152/1152 1151/1151/1151\nf 1111/1111/1111 1112/1112/1112 1152/1152/1152\nf 1112/1112/1112 1153/1153/1153 1152/1152/1152\nf 1113/1113/1113 1154/1154/1154 1112/1112/1112\nf 1112/1112/1112 1154/1154/1154 1153/1153/1153\nf 1113/1113/1113 1114/1114/1114 1154/1154/1154\nf 1154/1154/1154 1114/1114/1114 1155/1155/1155\nf 1114/1114/1114 1115/1115/1115 1155/1155/1155\nf 1115/1115/1115 1156/1156/1156 1155/1155/1155\nf 1115/1115/1115 1116/1116/1116 1156/1156/1156\nf 1156/1156/1156 1116/1116/1116 1157/1157/1157\nf 1117/1117/1117 1158/1158/1158 1116/1116/1116\nf 1116/1116/1116 1158/1158/1158 1157/1157/1157\nf 1118/1118/1118 1159/1159/1159 1117/1117/1117\nf 1117/1117/1117 1159/1159/1159 1158/1158/1158\nf 1119/1119/1119 1160/1160/1160 1118/1118/1118\nf 1118/1118/1118 1160/1160/1160 1159/1159/1159\nf 1119/1119/1119 1120/1120/1120 1160/1160/1160\nf 1160/1160/1160 1120/1120/1120 1161/1161/1161\nf 1121/1121/1121 1162/1162/1162 1120/1120/1120\nf 1120/1120/1120 1162/1162/1162 1161/1161/1161\nf 1121/1121/1121 1122/1122/1122 1162/1162/1162\nf 1162/1162/1162 1122/1122/1122 1163/1163/1163\nf 1122/1122/1122 1123/1123/1123 1163/1163/1163\nf 1163/1163/1163 1123/1123/1123 1164/1164/1164\nf 1124/1124/1124 1165/1165/1165 1123/1123/1123\nf 1123/1123/1123 1165/1165/1165 1164/1164/1164\nf 1125/1125/1125 1166/1166/1166 1124/1124/1124\nf 1124/1124/1124 1166/1166/1166 1165/1165/1165\nf 1125/1125/1125 1126/1126/1126 1166/1166/1166\nf 1166/1166/1166 1126/1126/1126 1167/1167/1167\nf 1127/1127/1127 1168/1168/1168 1126/1126/1126\nf 1126/1126/1126 1168/1168/1168 1167/1167/1167\nf 1127/1127/1127 1128/1128/1128 1168/1168/1168\nf 1168/1168/1168 1128/1128/1128 1169/1169/1169\nf 1129/1129/1129 1170/1170/1170 1128/1128/1128\nf 1128/1128/1128 1170/1170/1170 1169/1169/1169\nf 1129/1129/1129 1130/1130/1130 1170/1170/1170\nf 1170/1170/1170 1130/1130/1130 1171/1171/1171\nf 1131/1131/1131 1172/1172/1172 1130/1130/1130\nf 1130/1130/1130 1172/1172/1172 1171/1171/1171\nf 1132/1132/1132 1173/1173/1173 1131/1131/1131\nf 1131/1131/1131 1173/1173/1173 1172/1172/1172\nf 1133/1133/1133 1174/1174/1174 1132/1132/1132\nf 1132/1132/1132 1174/1174/1174 1173/1173/1173\nf 1133/1133/1133 1134/1134/1134 1174/1174/1174\nf 1174/1174/1174 1134/1134/1134 1175/1175/1175\nf 1134/1134/1134 1135/1135/1135 1175/1175/1175\nf 1175/1175/1175 1135/1135/1135 1176/1176/1176\nf 1136/1136/1136 1177/1177/1177 1135/1135/1135\nf 1135/1135/1135 1177/1177/1177 1176/1176/1176\nf 1137/1137/1137 1178/1178/1178 1136/1136/1136\nf 1136/1136/1136 1178/1178/1178 1177/1177/1177\nf 1138/1138/1138 1179/1179/1179 1137/1137/1137\nf 1137/1137/1137 1179/1179/1179 1178/1178/1178\nf 1179/1179/1179 1138/1138/1138 1180/1180/1180\nf 1138/1138/1138 1139/1139/1139 1180/1180/1180\nf 1140/1140/1140 1181/1181/1181 1139/1139/1139\nf 1139/1139/1139 1181/1181/1181 1180/1180/1180\nf 1141/1141/1141 1182/1182/1182 1140/1140/1140\nf 1140/1140/1140 1182/1182/1182 1181/1181/1181\nf 1142/1142/1142 1183/1183/1183 1141/1141/1141\nf 1141/1141/1141 1183/1183/1183 1182/1182/1182\nf 1143/1143/1143 1184/1184/1184 1142/1142/1142\nf 1142/1142/1142 1184/1184/1184 1183/1183/1183\nf 1144/1144/1144 1185/1185/1185 1143/1143/1143\nf 1143/1143/1143 1185/1185/1185 1184/1184/1184\nf 1145/1145/1145 1186/1186/1186 1144/1144/1144\nf 1144/1144/1144 1186/1186/1186 1185/1185/1185\nf 1187/1187/1187 1186/1186/1186 1146/1146/1146\nf 1145/1145/1145 1146/1146/1146 1186/1186/1186\nf 1147/1147/1147 1188/1188/1188 1146/1146/1146\nf 1146/1146/1146 1188/1188/1188 1187/1187/1187\nf 1148/1148/1148 1189/1189/1189 1147/1147/1147\nf 1147/1147/1147 1189/1189/1189 1188/1188/1188\nf 1149/1149/1150 1150/1150/1149 1190/1190/1190\nf 1190/1190/1190 1150/1150/1149 1191/1191/1191\nf 1192/1192/1192 1191/1191/1191 1151/1151/1151\nf 1150/1150/1149 1151/1151/1151 1191/1191/1191\nf 1152/1152/1152 1193/1193/1193 1151/1151/1151\nf 1151/1151/1151 1193/1193/1193 1192/1192/1192\nf 1194/1194/1194 1193/1193/1193 1153/1153/1153\nf 1152/1152/1152 1153/1153/1153 1193/1193/1193\nf 1195/1195/1195 1194/1194/1194 1154/1154/1154\nf 1153/1153/1153 1154/1154/1154 1194/1194/1194\nf 1155/1155/1155 1196/1196/1196 1154/1154/1154\nf 1154/1154/1154 1196/1196/1196 1195/1195/1195\nf 1155/1155/1155 1156/1156/1156 1196/1196/1196\nf 1196/1196/1196 1156/1156/1156 1197/1197/1197\nf 1157/1157/1157 1198/1198/1198 1156/1156/1156\nf 1156/1156/1156 1198/1198/1198 1197/1197/1197\nf 1157/1157/1157 1158/1158/1158 1198/1198/1198\nf 1198/1198/1198 1158/1158/1158 1199/1199/1199\nf 1158/1158/1158 1159/1159/1159 1199/1199/1199\nf 1199/1199/1199 1159/1159/1159 1200/1200/1200\nf 1159/1159/1159 1160/1160/1160 1200/1200/1200\nf 1160/1160/1160 1201/1201/1201 1200/1200/1200\nf 1160/1160/1160 1161/1161/1161 1201/1201/1201\nf 1161/1161/1161 1202/1202/1202 1201/1201/1201\nf 1161/1161/1161 1162/1162/1162 1202/1202/1202\nf 1202/1202/1202 1162/1162/1162 1203/1203/1203\nf 1163/1163/1163 1204/1204/1204 1162/1162/1162\nf 1162/1162/1162 1204/1204/1204 1203/1203/1203\nf 1163/1163/1163 1164/1164/1164 1204/1204/1204\nf 1164/1164/1164 1205/1205/1205 1204/1204/1204\nf 1206/1206/1206 1205/1205/1205 1165/1165/1165\nf 1164/1164/1164 1165/1165/1165 1205/1205/1205\nf 1165/1165/1165 1166/1166/1166 1206/1206/1206\nf 1166/1166/1166 1207/1207/1207 1206/1206/1206\nf 1166/1166/1166 1167/1167/1167 1207/1207/1207\nf 1167/1167/1167 1208/1208/1208 1207/1207/1207\nf 1209/1209/1209 1208/1208/1208 1168/1168/1168\nf 1167/1167/1167 1168/1168/1168 1208/1208/1208\nf 1210/1210/1210 1209/1209/1209 1169/1169/1169\nf 1168/1168/1168 1169/1169/1169 1209/1209/1209\nf 1169/1169/1169 1170/1170/1170 1210/1210/1210\nf 1170/1170/1170 1211/1211/1211 1210/1210/1210\nf 1170/1170/1170 1171/1171/1171 1211/1211/1211\nf 1211/1211/1211 1171/1171/1171 1212/1212/1212\nf 1172/1172/1172 1213/1213/1213 1171/1171/1171\nf 1171/1171/1171 1213/1213/1213 1212/1212/1212\nf 1173/1173/1173 1214/1214/1214 1172/1172/1172\nf 1172/1172/1172 1214/1214/1214 1213/1213/1213\nf 1174/1174/1174 1215/1215/1215 1173/1173/1173\nf 1173/1173/1173 1215/1215/1215 1214/1214/1214\nf 1174/1174/1174 1175/1175/1175 1215/1215/1215\nf 1215/1215/1215 1175/1175/1175 1216/1216/1216\nf 1176/1176/1176 1217/1217/1217 1175/1175/1175\nf 1175/1175/1175 1217/1217/1217 1216/1216/1216\nf 1217/1217/1217 1176/1176/1176 1218/1218/1218\nf 1176/1176/1176 1177/1177/1177 1218/1218/1218\nf 1178/1178/1178 1219/1219/1219 1177/1177/1177\nf 1177/1177/1177 1219/1219/1219 1218/1218/1218\nf 1178/1178/1178 1179/1179/1179 1219/1219/1219\nf 1219/1219/1219 1179/1179/1179 1220/1220/1220\nf 1180/1180/1180 1221/1221/1221 1179/1179/1179\nf 1179/1179/1179 1221/1221/1221 1220/1220/1220\nf 1181/1181/1181 1222/1222/1222 1180/1180/1180\nf 1180/1180/1180 1222/1222/1222 1221/1221/1221\nf 1182/1182/1182 1223/1223/1223 1181/1181/1181\nf 1181/1181/1181 1223/1223/1223 1222/1222/1222\nf 1183/1183/1183 1224/1224/1224 1182/1182/1182\nf 1182/1182/1182 1224/1224/1224 1223/1223/1223\nf 1184/1184/1184 1225/1225/1225 1183/1183/1183\nf 1183/1183/1183 1225/1225/1225 1224/1224/1224\nf 1184/1184/1184 1185/1185/1185 1225/1225/1225\nf 1225/1225/1225 1185/1185/1185 1226/1226/1226\nf 1226/1226/1226 1185/1185/1185 1227/1227/1227\nf 1185/1185/1185 1186/1186/1186 1227/1227/1227\nf 1187/1187/1187 1228/1228/1228 1186/1186/1186\nf 1186/1186/1186 1228/1228/1228 1227/1227/1227\nf 1188/1188/1188 1229/1229/1229 1187/1187/1187\nf 1187/1187/1187 1229/1229/1229 1228/1228/1228\nf 1189/1189/1189 1230/1230/1230 1188/1188/1188\nf 1188/1188/1188 1230/1230/1230 1229/1229/1229\nf 1191/1191/1191 1232/1232/1231 1190/1190/1190\nf 1190/1190/1190 1232/1232/1231 1231/1231/1232\nf 1232/1232/1231 1191/1191/1191 1233/1233/1233\nf 1191/1191/1191 1192/1192/1192 1233/1233/1233\nf 1192/1192/1192 1193/1193/1193 1233/1233/1233\nf 1233/1233/1233 1193/1193/1193 1234/1234/1234\nf 1235/1235/1235 1234/1234/1234 1194/1194/1194\nf 1193/1193/1193 1194/1194/1194 1234/1234/1234\nf 1236/1236/1236 1235/1235/1235 1195/1195/1195\nf 1194/1194/1194 1195/1195/1195 1235/1235/1235\nf 1195/1195/1195 1196/1196/1196 1236/1236/1236\nf 1236/1236/1236 1196/1196/1196 1237/1237/1237\nf 1197/1197/1197 1238/1238/1238 1196/1196/1196\nf 1196/1196/1196 1238/1238/1238 1237/1237/1237\nf 1197/1197/1197 1198/1198/1198 1238/1238/1238\nf 1238/1238/1238 1198/1198/1198 1239/1239/1239\nf 1198/1198/1198 1199/1199/1199 1239/1239/1239\nf 1239/1239/1239 1199/1199/1199 1240/1240/1240\nf 1199/1199/1199 1200/1200/1200 1240/1240/1240\nf 1240/1240/1240 1200/1200/1200 1241/1241/1241\nf 1200/1200/1200 1201/1201/1201 1241/1241/1241\nf 1241/1241/1241 1201/1201/1201 1242/1242/1242\nf 1202/1202/1202 1243/1243/1243 1201/1201/1201\nf 1201/1201/1201 1243/1243/1243 1242/1242/1242\nf 1203/1203/1203 1244/1244/1244 1202/1202/1202\nf 1202/1202/1202 1244/1244/1244 1243/1243/1243\nf 1204/1204/1204 1245/1245/1245 1203/1203/1203\nf 1203/1203/1203 1245/1245/1245 1244/1244/1244\nf 1205/1205/1205 1246/1246/1246 1204/1204/1204\nf 1204/1204/1204 1246/1246/1246 1245/1245/1245\nf 1205/1205/1205 1206/1206/1206 1246/1246/1246\nf 1246/1246/1246 1206/1206/1206 1247/1247/1247\nf 1206/1206/1206 1207/1207/1207 1247/1247/1247\nf 1247/1247/1247 1207/1207/1207 1248/1248/1248\nf 1207/1207/1207 1208/1208/1208 1248/1248/1248\nf 1208/1208/1208 1249/1249/1249 1248/1248/1248\nf 1209/1209/1209 1250/1250/1250 1208/1208/1208\nf 1208/1208/1208 1250/1250/1250 1249/1249/1249\nf 1251/1251/1251 1250/1250/1250 1210/1210/1210\nf 1209/1209/1209 1210/1210/1210 1250/1250/1250\nf 1211/1211/1211 1252/1252/1252 1210/1210/1210\nf 1210/1210/1210 1252/1252/1252 1251/1251/1251\nf 1211/1211/1211 1212/1212/1212 1252/1252/1252\nf 1252/1252/1252 1212/1212/1212 1253/1253/1253\nf 1213/1213/1213 1254/1254/1254 1212/1212/1212\nf 1212/1212/1212 1254/1254/1254 1253/1253/1253\nf 1214/1214/1214 1255/1255/1255 1213/1213/1213\nf 1213/1213/1213 1255/1255/1255 1254/1254/1254\nf 1215/1215/1215 1256/1256/1256 1214/1214/1214\nf 1214/1214/1214 1256/1256/1256 1255/1255/1255\nf 1215/1215/1215 1216/1216/1216 1256/1256/1256\nf 1256/1256/1256 1216/1216/1216 1257/1257/1257\nf 1217/1217/1217 1258/1258/1258 1216/1216/1216\nf 1216/1216/1216 1258/1258/1258 1257/1257/1257\nf 1218/1218/1218 1259/1259/1259 1217/1217/1217\nf 1217/1217/1217 1259/1259/1259 1258/1258/1258\nf 1219/1219/1219 1260/1260/1260 1218/1218/1218\nf 1218/1218/1218 1260/1260/1260 1259/1259/1259\nf 1219/1219/1219 1220/1220/1220 1260/1260/1260\nf 1260/1260/1260 1220/1220/1220 1261/1261/1261\nf 1221/1221/1221 1262/1262/1262 1220/1220/1220\nf 1220/1220/1220 1262/1262/1262 1261/1261/1261\nf 1221/1221/1221 1222/1222/1222 1262/1262/1262\nf 1262/1262/1262 1222/1222/1222 1263/1263/1263\nf 1223/1223/1223 1264/1264/1264 1222/1222/1222\nf 1222/1222/1222 1264/1264/1264 1263/1263/1263\nf 1223/1223/1223 1224/1224/1224 1264/1264/1264\nf 1264/1264/1264 1224/1224/1224 1265/1265/1265\nf 1224/1224/1224 1225/1225/1225 1265/1265/1265\nf 1265/1265/1265 1225/1225/1225 1266/1266/1266\nf 1226/1226/1226 1267/1267/1267 1225/1225/1225\nf 1225/1225/1225 1267/1267/1267 1266/1266/1266\nf 1227/1227/1227 1268/1268/1268 1226/1226/1226\nf 1226/1226/1226 1268/1268/1268 1267/1267/1267\nf 1228/1228/1228 1269/1269/1269 1227/1227/1227\nf 1227/1227/1227 1269/1269/1269 1268/1268/1268\nf 1229/1229/1229 1270/1270/1270 1228/1228/1228\nf 1228/1228/1228 1270/1270/1270 1269/1269/1269\nf 1229/1229/1229 1230/1230/1230 1270/1270/1270\nf 1270/1270/1270 1230/1230/1230 1271/1271/1271\nf 1232/1232/1231 1273/1273/1272 1231/1231/1232\nf 1231/1231/1232 1273/1273/1272 1272/1272/1273\nf 1233/1233/1233 1274/1274/1274 1232/1232/1231\nf 1232/1232/1231 1274/1274/1274 1273/1273/1272\nf 1234/1234/1234 1275/1275/1275 1233/1233/1233\nf 1233/1233/1233 1275/1275/1275 1274/1274/1274\nf 1234/1234/1234 1235/1235/1235 1275/1275/1275\nf 1275/1275/1275 1235/1235/1235 1276/1276/1276\nf 1235/1235/1235 1236/1236/1236 1276/1276/1276\nf 1236/1236/1236 1277/1277/1277 1276/1276/1276\nf 1237/1237/1237 1278/1278/1278 1236/1236/1236\nf 1236/1236/1236 1278/1278/1278 1277/1277/1277\nf 1237/1237/1237 1238/1238/1238 1278/1278/1278\nf 1278/1278/1278 1238/1238/1238 1279/1279/1279\nf 1238/1238/1238 1239/1239/1239 1279/1279/1279\nf 1239/1239/1239 1280/1280/1280 1279/1279/1279\nf 1239/1239/1239 1240/1240/1240 1280/1280/1280\nf 1280/1280/1280 1240/1240/1240 1281/1281/1281\nf 1240/1240/1240 1241/1241/1241 1281/1281/1281\nf 1281/1281/1281 1241/1241/1241 1282/1282/1282\nf 1241/1241/1241 1242/1242/1242 1282/1282/1282\nf 1282/1282/1282 1242/1242/1242 1283/1283/1283\nf 1243/1243/1243 1284/1284/1284 1242/1242/1242\nf 1242/1242/1242 1284/1284/1284 1283/1283/1283\nf 1243/1243/1243 1244/1244/1244 1284/1284/1284\nf 1284/1284/1284 1244/1244/1244 1285/1285/1285\nf 1245/1245/1245 1286/1286/1286 1244/1244/1244\nf 1244/1244/1244 1286/1286/1286 1285/1285/1285\nf 1245/1245/1245 1246/1246/1246 1286/1286/1286\nf 1286/1286/1286 1246/1246/1246 1287/1287/1287\nf 1247/1247/1247 1288/1288/1288 1246/1246/1246\nf 1246/1246/1246 1288/1288/1288 1287/1287/1287\nf 1248/1248/1248 1289/1289/1289 1247/1247/1247\nf 1247/1247/1247 1289/1289/1289 1288/1288/1288\nf 1248/1248/1248 1249/1249/1249 1289/1289/1289\nf 1289/1289/1289 1249/1249/1249 1290/1290/1290\nf 1249/1249/1249 1250/1250/1250 1290/1290/1290\nf 1290/1290/1290 1250/1250/1250 1291/1291/1291\nf 1250/1250/1250 1251/1251/1251 1291/1291/1291\nf 1291/1291/1291 1251/1251/1251 1292/1292/1292\nf 1252/1252/1252 1293/1293/1293 1251/1251/1251\nf 1251/1251/1251 1293/1293/1293 1292/1292/1292\nf 1252/1252/1252 1253/1253/1253 1293/1293/1293\nf 1253/1253/1253 1294/1294/1294 1293/1293/1293\nf 1294/1294/1294 1253/1253/1253 1295/1295/1295\nf 1253/1253/1253 1254/1254/1254 1295/1295/1295\nf 1255/1255/1255 1296/1296/1296 1254/1254/1254\nf 1254/1254/1254 1296/1296/1296 1295/1295/1295\nf 1256/1256/1256 1297/1297/1297 1255/1255/1255\nf 1255/1255/1255 1297/1297/1297 1296/1296/1296\nf 1256/1256/1256 1257/1257/1257 1297/1297/1297\nf 1297/1297/1297 1257/1257/1257 1298/1298/1298\nf 1258/1258/1258 1299/1299/1299 1257/1257/1257\nf 1257/1257/1257 1299/1299/1299 1298/1298/1298\nf 1259/1259/1259 1300/1300/1300 1258/1258/1258\nf 1258/1258/1258 1300/1300/1300 1299/1299/1299\nf 1259/1259/1259 1260/1260/1260 1300/1300/1300\nf 1300/1300/1300 1260/1260/1260 1301/1301/1301\nf 1261/1261/1261 1302/1302/1302 1260/1260/1260\nf 1260/1260/1260 1302/1302/1302 1301/1301/1301\nf 1262/1262/1262 1303/1303/1303 1261/1261/1261\nf 1261/1261/1261 1303/1303/1303 1302/1302/1302\nf 1263/1263/1263 1304/1304/1304 1262/1262/1262\nf 1262/1262/1262 1304/1304/1304 1303/1303/1303\nf 1264/1264/1264 1305/1305/1305 1263/1263/1263\nf 1263/1263/1263 1305/1305/1305 1304/1304/1304\nf 1264/1264/1264 1265/1265/1265 1305/1305/1305\nf 1305/1305/1305 1265/1265/1265 1306/1306/1306\nf 1266/1266/1266 1307/1307/1307 1265/1265/1265\nf 1265/1265/1265 1307/1307/1307 1306/1306/1306\nf 1267/1267/1267 1308/1308/1308 1266/1266/1266\nf 1266/1266/1266 1308/1308/1308 1307/1307/1307\nf 1268/1268/1268 1309/1309/1309 1267/1267/1267\nf 1267/1267/1267 1309/1309/1309 1308/1308/1308\nf 1268/1268/1268 1269/1269/1269 1309/1309/1309\nf 1309/1309/1309 1269/1269/1269 1310/1310/1310\nf 1270/1270/1270 1311/1311/1311 1269/1269/1269\nf 1269/1269/1269 1311/1311/1311 1310/1310/1310\nf 1270/1270/1270 1271/1271/1271 1311/1311/1311\nf 1311/1311/1311 1271/1271/1271 1312/1312/1312\nf 1272/1272/1273 1273/1273/1272 1313/1313/1313\nf 1313/1313/1313 1273/1273/1272 1314/1314/1314\nf 1273/1273/1272 1274/1274/1274 1314/1314/1314\nf 1314/1314/1314 1274/1274/1274 1315/1315/1315\nf 1274/1274/1274 1275/1275/1275 1315/1315/1315\nf 1315/1315/1315 1275/1275/1275 1316/1316/1316\nf 1275/1275/1275 1276/1276/1276 1316/1316/1316\nf 1276/1276/1276 1317/1317/1317 1316/1316/1316\nf 1318/1318/1318 1317/1317/1317 1277/1277/1277\nf 1276/1276/1276 1277/1277/1277 1317/1317/1317\nf 1277/1277/1277 1278/1278/1278 1318/1318/1318\nf 1318/1318/1318 1278/1278/1278 1319/1319/1319\nf 1279/1279/1279 1320/1320/1320 1278/1278/1278\nf 1278/1278/1278 1320/1320/1320 1319/1319/1319\nf 1280/1280/1280 1321/1321/1321 1279/1279/1279\nf 1279/1279/1279 1321/1321/1321 1320/1320/1320\nf 1280/1280/1280 1281/1281/1281 1321/1321/1321\nf 1321/1321/1321 1281/1281/1281 1322/1322/1322\nf 1323/1323/1323 1322/1322/1322 1282/1282/1282\nf 1281/1281/1281 1282/1282/1282 1322/1322/1322\nf 1282/1282/1282 1283/1283/1283 1323/1323/1323\nf 1323/1323/1323 1283/1283/1283 1324/1324/1324\nf 1284/1284/1284 1325/1325/1325 1283/1283/1283\nf 1283/1283/1283 1325/1325/1325 1324/1324/1324\nf 1284/1284/1284 1285/1285/1285 1325/1325/1325\nf 1285/1285/1285 1326/1326/1326 1325/1325/1325\nf 1285/1285/1285 1286/1286/1286 1326/1326/1326\nf 1326/1326/1326 1286/1286/1286 1327/1327/1327\nf 1286/1286/1286 1287/1287/1287 1327/1327/1327\nf 1327/1327/1327 1287/1287/1287 1328/1328/1328\nf 1288/1288/1288 1329/1329/1329 1287/1287/1287\nf 1287/1287/1287 1329/1329/1329 1328/1328/1328\nf 1289/1289/1289 1330/1330/1330 1288/1288/1288\nf 1288/1288/1288 1330/1330/1330 1329/1329/1329\nf 1289/1289/1289 1290/1290/1290 1330/1330/1330\nf 1330/1330/1330 1290/1290/1290 1331/1331/1331\nf 1291/1291/1291 1332/1332/1332 1290/1290/1290\nf 1290/1290/1290 1332/1332/1332 1331/1331/1331\nf 1291/1291/1291 1292/1292/1292 1332/1332/1332\nf 1332/1332/1332 1292/1292/1292 1333/1333/1333\nf 1293/1293/1293 1334/1334/1334 1292/1292/1292\nf 1292/1292/1292 1334/1334/1334 1333/1333/1333\nf 1294/1294/1294 1335/1335/1335 1293/1293/1293\nf 1293/1293/1293 1335/1335/1335 1334/1334/1334\nf 1335/1335/1335 1294/1294/1294 1336/1336/1336\nf 1294/1294/1294 1295/1295/1295 1336/1336/1336\nf 1295/1295/1295 1296/1296/1296 1336/1336/1336\nf 1296/1296/1296 1337/1337/1337 1336/1336/1336\nf 1297/1297/1297 1338/1338/1338 1296/1296/1296\nf 1296/1296/1296 1338/1338/1338 1337/1337/1337\nf 1298/1298/1298 1339/1339/1339 1297/1297/1297\nf 1297/1297/1297 1339/1339/1339 1338/1338/1338\nf 1299/1299/1299 1340/1340/1340 1298/1298/1298\nf 1298/1298/1298 1340/1340/1340 1339/1339/1339\nf 1299/1299/1299 1300/1300/1300 1340/1340/1340\nf 1340/1340/1340 1300/1300/1300 1341/1341/1341\nf 1341/1341/1341 1300/1300/1300 1342/1342/1342\nf 1300/1300/1300 1301/1301/1301 1342/1342/1342\nf 1302/1302/1302 1343/1343/1343 1301/1301/1301\nf 1301/1301/1301 1343/1343/1343 1342/1342/1342\nf 1303/1303/1303 1344/1344/1344 1302/1302/1302\nf 1302/1302/1302 1344/1344/1344 1343/1343/1343\nf 1303/1303/1303 1304/1304/1304 1344/1344/1344\nf 1344/1344/1344 1304/1304/1304 1345/1345/1345\nf 1304/1304/1304 1305/1305/1305 1345/1345/1345\nf 1345/1345/1345 1305/1305/1305 1346/1346/1346\nf 1306/1306/1306 1347/1347/1347 1305/1305/1305\nf 1305/1305/1305 1347/1347/1347 1346/1346/1346\nf 1307/1307/1307 1348/1348/1348 1306/1306/1306\nf 1306/1306/1306 1348/1348/1348 1347/1347/1347\nf 1308/1308/1308 1349/1349/1349 1307/1307/1307\nf 1307/1307/1307 1349/1349/1349 1348/1348/1348\nf 1309/1309/1309 1350/1350/1350 1308/1308/1308\nf 1308/1308/1308 1350/1350/1350 1349/1349/1349\nf 1309/1309/1309 1310/1310/1310 1350/1350/1350\nf 1350/1350/1350 1310/1310/1310 1351/1351/1351\nf 1311/1311/1311 1352/1352/1352 1310/1310/1310\nf 1310/1310/1310 1352/1352/1352 1351/1351/1351\nf 1311/1311/1311 1312/1312/1312 1352/1352/1352\nf 1352/1352/1352 1312/1312/1312 1353/1353/1353\nf 1314/1314/1314 1355/1355/1354 1313/1313/1313\nf 1313/1313/1313 1355/1355/1354 1354/1354/1355\nf 1314/1314/1314 1315/1315/1315 1355/1355/1354\nf 1355/1355/1354 1315/1315/1315 1356/1356/1356\nf 1315/1315/1315 1316/1316/1316 1356/1356/1356\nf 1356/1356/1356 1316/1316/1316 1357/1357/1357\nf 1316/1316/1316 1317/1317/1317 1357/1357/1357\nf 1317/1317/1317 1358/1358/1358 1357/1357/1357\nf 1318/1318/1318 1359/1359/1359 1317/1317/1317\nf 1317/1317/1317 1359/1359/1359 1358/1358/1358\nf 1318/1318/1318 1319/1319/1319 1359/1359/1359\nf 1359/1359/1359 1319/1319/1319 1360/1360/1360\nf 1319/1319/1319 1320/1320/1320 1360/1360/1360\nf 1360/1360/1360 1320/1320/1320 1361/1361/1361\nf 1321/1321/1321 1362/1362/1362 1320/1320/1320\nf 1320/1320/1320 1362/1362/1362 1361/1361/1361\nf 1321/1321/1321 1322/1322/1322 1362/1362/1362\nf 1362/1362/1362 1322/1322/1322 1363/1363/1363\nf 1322/1322/1322 1323/1323/1323 1363/1363/1363\nf 1363/1363/1363 1323/1323/1323 1364/1364/1364\nf 1324/1324/1324 1365/1365/1365 1323/1323/1323\nf 1323/1323/1323 1365/1365/1365 1364/1364/1364\nf 1325/1325/1325 1366/1366/1366 1324/1324/1324\nf 1324/1324/1324 1366/1366/1366 1365/1365/1365\nf 1367/1367/1367 1366/1366/1366 1326/1326/1326\nf 1325/1325/1325 1326/1326/1326 1366/1366/1366\nf 1326/1326/1326 1327/1327/1327 1367/1367/1367\nf 1367/1367/1367 1327/1327/1327 1368/1368/1368\nf 1327/1327/1327 1328/1328/1328 1368/1368/1368\nf 1328/1328/1328 1369/1369/1369 1368/1368/1368\nf 1329/1329/1329 1370/1370/1370 1328/1328/1328\nf 1328/1328/1328 1370/1370/1370 1369/1369/1369\nf 1329/1329/1329 1330/1330/1330 1370/1370/1370\nf 1370/1370/1370 1330/1330/1330 1371/1371/1371\nf 1330/1330/1330 1331/1331/1331 1371/1371/1371\nf 1371/1371/1371 1331/1331/1331 1372/1372/1372\nf 1373/1373/1373 1372/1372/1372 1332/1332/1332\nf 1331/1331/1331 1332/1332/1332 1372/1372/1372\nf 1332/1332/1332 1333/1333/1333 1373/1373/1373\nf 1373/1373/1373 1333/1333/1333 1374/1374/1374\nf 1334/1334/1334 1375/1375/1375 1333/1333/1333\nf 1333/1333/1333 1375/1375/1375 1374/1374/1374\nf 1334/1334/1334 1335/1335/1335 1375/1375/1375\nf 1375/1375/1375 1335/1335/1335 1376/1376/1376\nf 1336/1336/1336 1377/1377/1377 1335/1335/1335\nf 1335/1335/1335 1377/1377/1377 1376/1376/1376\nf 1336/1336/1336 1337/1337/1337 1377/1377/1377\nf 1337/1337/1337 1378/1378/1378 1377/1377/1377\nf 1338/1338/1338 1379/1379/1379 1337/1337/1337\nf 1337/1337/1337 1379/1379/1379 1378/1378/1378\nf 1339/1339/1339 1380/1380/1380 1338/1338/1338\nf 1338/1338/1338 1380/1380/1380 1379/1379/1379\nf 1339/1339/1339 1340/1340/1340 1380/1380/1380\nf 1380/1380/1380 1340/1340/1340 1381/1381/1381\nf 1381/1381/1381 1340/1340/1340 1382/1382/1382\nf 1340/1340/1340 1341/1341/1341 1382/1382/1382\nf 1382/1382/1382 1341/1341/1341 1383/1383/1383\nf 1341/1341/1341 1342/1342/1342 1383/1383/1383\nf 1343/1343/1343 1384/1384/1384 1342/1342/1342\nf 1342/1342/1342 1384/1384/1384 1383/1383/1383\nf 1343/1343/1343 1344/1344/1344 1384/1384/1384\nf 1384/1384/1384 1344/1344/1344 1385/1385/1385\nf 1345/1345/1345 1386/1386/1386 1344/1344/1344\nf 1344/1344/1344 1386/1386/1386 1385/1385/1385\nf 1346/1346/1346 1387/1387/1387 1345/1345/1345\nf 1345/1345/1345 1387/1387/1387 1386/1386/1386\nf 1347/1347/1347 1388/1388/1388 1346/1346/1346\nf 1346/1346/1346 1388/1388/1388 1387/1387/1387\nf 1348/1348/1348 1389/1389/1389 1347/1347/1347\nf 1347/1347/1347 1389/1389/1389 1388/1388/1388\nf 1349/1349/1349 1390/1390/1390 1348/1348/1348\nf 1348/1348/1348 1390/1390/1390 1389/1389/1389\nf 1350/1350/1350 1391/1391/1391 1349/1349/1349\nf 1349/1349/1349 1391/1391/1391 1390/1390/1390\nf 1351/1351/1351 1392/1392/1392 1350/1350/1350\nf 1350/1350/1350 1392/1392/1392 1391/1391/1391\nf 1392/1392/1392 1351/1351/1351 1393/1393/1393\nf 1351/1351/1351 1352/1352/1352 1393/1393/1393\nf 1352/1352/1352 1353/1353/1353 1393/1393/1393\nf 1393/1393/1393 1353/1353/1353 1394/1394/1394\nf 1354/1354/1355 1355/1355/1354 1395/1395/1395\nf 1395/1395/1395 1355/1355/1354 1396/1396/1396\nf 1355/1355/1354 1356/1356/1356 1396/1396/1396\nf 1396/1396/1396 1356/1356/1356 1397/1397/1397\nf 1357/1357/1357 1398/1398/1398 1356/1356/1356\nf 1356/1356/1356 1398/1398/1398 1397/1397/1397\nf 1357/1357/1357 1358/1358/1358 1398/1398/1398\nf 1358/1358/1358 1399/1399/1399 1398/1398/1398\nf 1359/1359/1359 1400/1400/1400 1358/1358/1358\nf 1358/1358/1358 1400/1400/1400 1399/1399/1399\nf 1401/1401/1401 1400/1400/1400 1360/1360/1360\nf 1359/1359/1359 1360/1360/1360 1400/1400/1400\nf 1361/1361/1361 1402/1402/1402 1360/1360/1360\nf 1360/1360/1360 1402/1402/1402 1401/1401/1401\nf 1361/1361/1361 1362/1362/1362 1402/1402/1402\nf 1402/1402/1402 1362/1362/1362 1403/1403/1403\nf 1404/1404/1404 1403/1403/1403 1363/1363/1363\nf 1362/1362/1362 1363/1363/1363 1403/1403/1403\nf 1364/1364/1364 1405/1405/1405 1363/1363/1363\nf 1363/1363/1363 1405/1405/1405 1404/1404/1404\nf 1364/1364/1364 1365/1365/1365 1405/1405/1405\nf 1365/1365/1365 1406/1406/1406 1405/1405/1405\nf 1366/1366/1366 1407/1407/1407 1365/1365/1365\nf 1365/1365/1365 1407/1407/1407 1406/1406/1406\nf 1366/1366/1366 1367/1367/1367 1407/1407/1407\nf 1367/1367/1367 1408/1408/1408 1407/1407/1407\nf 1367/1367/1367 1368/1368/1368 1408/1408/1408\nf 1408/1408/1408 1368/1368/1368 1409/1409/1409\nf 1369/1369/1369 1410/1410/1410 1368/1368/1368\nf 1368/1368/1368 1410/1410/1410 1409/1409/1409\nf 1369/1369/1369 1370/1370/1370 1410/1410/1410\nf 1410/1410/1410 1370/1370/1370 1411/1411/1411\nf 1412/1412/1412 1411/1411/1411 1371/1371/1371\nf 1370/1370/1370 1371/1371/1371 1411/1411/1411\nf 1371/1371/1371 1372/1372/1372 1412/1412/1412\nf 1412/1412/1412 1372/1372/1372 1413/1413/1413\nf 1373/1373/1373 1414/1414/1414 1372/1372/1372\nf 1372/1372/1372 1414/1414/1414 1413/1413/1413\nf 1374/1374/1374 1415/1415/1415 1373/1373/1373\nf 1373/1373/1373 1415/1415/1415 1414/1414/1414\nf 1374/1374/1374 1375/1375/1375 1415/1415/1415\nf 1415/1415/1415 1375/1375/1375 1416/1416/1416\nf 1416/1416/1416 1375/1375/1375 1417/1417/1417\nf 1375/1375/1375 1376/1376/1376 1417/1417/1417\nf 1418/1418/1418 1417/1417/1417 1377/1377/1377\nf 1376/1376/1376 1377/1377/1377 1417/1417/1417\nf 1377/1377/1377 1378/1378/1378 1418/1418/1418\nf 1378/1378/1378 1419/1419/1419 1418/1418/1418\nf 1379/1379/1379 1420/1420/1420 1378/1378/1378\nf 1378/1378/1378 1420/1420/1420 1419/1419/1419\nf 1380/1380/1380 1421/1421/1421 1379/1379/1379\nf 1379/1379/1379 1421/1421/1421 1420/1420/1420\nf 1421/1421/1421 1380/1380/1380 1422/1422/1422\nf 1380/1380/1380 1381/1381/1381 1422/1422/1422\nf 1382/1382/1382 1423/1423/1423 1381/1381/1381\nf 1381/1381/1381 1423/1423/1423 1422/1422/1422\nf 1382/1382/1382 1383/1383/1383 1423/1423/1423\nf 1383/1383/1383 1424/1424/1424 1423/1423/1423\nf 1384/1384/1384 1425/1425/1425 1383/1383/1383\nf 1383/1383/1383 1425/1425/1425 1424/1424/1424\nf 1385/1385/1385 1426/1426/1426 1384/1384/1384\nf 1384/1384/1384 1426/1426/1426 1425/1425/1425\nf 1385/1385/1385 1386/1386/1386 1426/1426/1426\nf 1426/1426/1426 1386/1386/1386 1427/1427/1427\nf 1387/1387/1387 1428/1428/1428 1386/1386/1386\nf 1386/1386/1386 1428/1428/1428 1427/1427/1427\nf 1388/1388/1388 1429/1429/1429 1387/1387/1387\nf 1387/1387/1387 1429/1429/1429 1428/1428/1428\nf 1388/1388/1388 1389/1389/1389 1429/1429/1429\nf 1429/1429/1429 1389/1389/1389 1430/1430/1430\nf 1390/1390/1390 1431/1431/1431 1389/1389/1389\nf 1389/1389/1389 1431/1431/1431 1430/1430/1430\nf 1391/1391/1391 1432/1432/1432 1390/1390/1390\nf 1390/1390/1390 1432/1432/1432 1431/1431/1431\nf 1392/1392/1392 1433/1433/1433 1391/1391/1391\nf 1391/1391/1391 1433/1433/1433 1432/1432/1432\nf 1392/1392/1392 1393/1393/1393 1433/1433/1433\nf 1433/1433/1433 1393/1393/1393 1434/1434/1434\nf 1393/1393/1393 1394/1394/1394 1434/1434/1434\nf 1434/1434/1434 1394/1394/1394 1435/1435/1435\nf 1396/1396/1396 1437/1437/1436 1395/1395/1395\nf 1395/1395/1395 1437/1437/1436 1436/1436/1437\nf 1396/1396/1396 1397/1397/1397 1437/1437/1436\nf 1437/1437/1436 1397/1397/1397 1438/1438/1438\nf 1397/1397/1397 1398/1398/1398 1438/1438/1438\nf 1438/1438/1438 1398/1398/1398 1439/1439/1439\nf 1398/1398/1398 1399/1399/1399 1439/1439/1439\nf 1439/1439/1439 1399/1399/1399 1440/1440/1440\nf 1399/1399/1399 1400/1400/1400 1440/1440/1440\nf 1440/1440/1440 1400/1400/1400 1441/1441/1441\nf 1400/1400/1400 1401/1401/1401 1441/1441/1441\nf 1441/1441/1441 1401/1401/1401 1442/1442/1442\nf 1401/1401/1401 1402/1402/1402 1442/1442/1442\nf 1442/1442/1442 1402/1402/1402 1443/1443/1443\nf 1403/1403/1403 1444/1444/1444 1402/1402/1402\nf 1402/1402/1402 1444/1444/1444 1443/1443/1443\nf 1403/1403/1403 1404/1404/1404 1444/1444/1444\nf 1444/1444/1444 1404/1404/1404 1445/1445/1445\nf 1404/1404/1404 1405/1405/1405 1445/1445/1445\nf 1445/1445/1445 1405/1405/1405 1446/1446/1446\nf 1405/1405/1405 1406/1406/1406 1446/1446/1446\nf 1406/1406/1406 1447/1447/1447 1446/1446/1446\nf 1406/1406/1406 1407/1407/1407 1447/1447/1447\nf 1447/1447/1447 1407/1407/1407 1448/1448/1448\nf 1449/1449/1449 1448/1448/1448 1408/1408/1408\nf 1407/1407/1407 1408/1408/1408 1448/1448/1448\nf 1449/1449/1449 1408/1408/1408 1450/1450/1450\nf 1408/1408/1408 1409/1409/1409 1450/1450/1450\nf 1451/1451/1451 1450/1450/1450 1410/1410/1410\nf 1409/1409/1409 1410/1410/1410 1450/1450/1450\nf 1411/1411/1411 1452/1452/1452 1410/1410/1410\nf 1410/1410/1410 1452/1452/1452 1451/1451/1451\nf 1412/1412/1412 1453/1453/1453 1411/1411/1411\nf 1411/1411/1411 1453/1453/1453 1452/1452/1452\nf 1412/1412/1412 1413/1413/1413 1453/1453/1453\nf 1413/1413/1413 1454/1454/1454 1453/1453/1453\nf 1454/1454/1454 1413/1413/1413 1455/1455/1455\nf 1413/1413/1413 1414/1414/1414 1455/1455/1455\nf 1414/1414/1414 1415/1415/1415 1455/1455/1455\nf 1455/1455/1455 1415/1415/1415 1456/1456/1456\nf 1416/1416/1416 1457/1457/1457 1415/1415/1415\nf 1415/1415/1415 1457/1457/1457 1456/1456/1456\nf 1417/1417/1417 1458/1458/1458 1416/1416/1416\nf 1416/1416/1416 1458/1458/1458 1457/1457/1457\nf 1417/1417/1417 1418/1418/1418 1458/1458/1458\nf 1458/1458/1458 1418/1418/1418 1459/1459/1459\nf 1419/1419/1419 1460/1460/1460 1418/1418/1418\nf 1418/1418/1418 1460/1460/1460 1459/1459/1459\nf 1419/1419/1419 1420/1420/1420 1460/1460/1460\nf 1460/1460/1460 1420/1420/1420 1461/1461/1461\nf 1421/1421/1421 1462/1462/1462 1420/1420/1420\nf 1420/1420/1420 1462/1462/1462 1461/1461/1461\nf 1422/1422/1422 1463/1463/1463 1421/1421/1421\nf 1421/1421/1421 1463/1463/1463 1462/1462/1462\nf 1423/1423/1423 1464/1464/1464 1422/1422/1422\nf 1422/1422/1422 1464/1464/1464 1463/1463/1463\nf 1464/1464/1464 1423/1423/1423 1465/1465/1465\nf 1423/1423/1423 1424/1424/1424 1465/1465/1465\nf 1425/1425/1425 1466/1466/1466 1424/1424/1424\nf 1424/1424/1424 1466/1466/1466 1465/1465/1465\nf 1425/1425/1425 1426/1426/1426 1466/1466/1466\nf 1466/1466/1466 1426/1426/1426 1467/1467/1467\nf 1426/1426/1426 1427/1427/1427 1467/1467/1467\nf 1467/1467/1467 1427/1427/1427 1468/1468/1468\nf 1428/1428/1428 1469/1469/1469 1427/1427/1427\nf 1427/1427/1427 1469/1469/1469 1468/1468/1468\nf 1469/1469/1469 1428/1428/1428 1470/1470/1470\nf 1428/1428/1428 1429/1429/1429 1470/1470/1470\nf 1429/1429/1429 1430/1430/1430 1470/1470/1470\nf 1470/1470/1470 1430/1430/1430 1471/1471/1471\nf 1431/1431/1431 1472/1472/1472 1430/1430/1430\nf 1430/1430/1430 1472/1472/1472 1471/1471/1471\nf 1431/1431/1431 1432/1432/1432 1472/1472/1472\nf 1472/1472/1472 1432/1432/1432 1473/1473/1473\nf 1433/1433/1433 1474/1474/1474 1432/1432/1432\nf 1432/1432/1432 1474/1474/1474 1473/1473/1473\nf 1434/1434/1434 1475/1475/1475 1433/1433/1433\nf 1433/1433/1433 1475/1475/1475 1474/1474/1474\nf 1435/1435/1435 1476/1476/1476 1434/1434/1434\nf 1434/1434/1434 1476/1476/1476 1475/1475/1475\nf 1437/1437/1436 1478/1478/1477 1436/1436/1437\nf 1436/1436/1437 1478/1478/1477 1477/1477/1478\nf 1437/1437/1436 1438/1438/1438 1478/1478/1477\nf 1478/1478/1477 1438/1438/1438 1479/1479/1479\nf 1438/1438/1438 1439/1439/1439 1479/1479/1479\nf 1439/1439/1439 1480/1480/1480 1479/1479/1479\nf 1439/1439/1439 1440/1440/1440 1480/1480/1480\nf 1480/1480/1480 1440/1440/1440 1481/1481/1481\nf 1441/1441/1441 1482/1482/1482 1440/1440/1440\nf 1440/1440/1440 1482/1482/1482 1481/1481/1481\nf 1441/1441/1441 1442/1442/1442 1482/1482/1482\nf 1482/1482/1482 1442/1442/1442 1483/1483/1483\nf 1442/1442/1442 1443/1443/1443 1483/1483/1483\nf 1483/1483/1483 1443/1443/1443 1484/1484/1484\nf 1443/1443/1443 1444/1444/1444 1484/1484/1484\nf 1484/1484/1484 1444/1444/1444 1485/1485/1485\nf 1444/1444/1444 1445/1445/1445 1485/1485/1485\nf 1445/1445/1445 1486/1486/1486 1485/1485/1485\nf 1445/1445/1445 1446/1446/1446 1486/1486/1486\nf 1486/1486/1486 1446/1446/1446 1487/1487/1487\nf 1446/1446/1446 1447/1447/1447 1487/1487/1487\nf 1447/1447/1447 1488/1488/1488 1487/1487/1487\nf 1448/1448/1448 1489/1489/1489 1447/1447/1447\nf 1447/1447/1447 1489/1489/1489 1488/1488/1488\nf 1448/1448/1448 1449/1449/1449 1489/1489/1489\nf 1489/1489/1489 1449/1449/1449 1490/1490/1490\nf 1450/1450/1450 1491/1491/1491 1449/1449/1449\nf 1449/1449/1449 1491/1491/1491 1490/1490/1490\nf 1492/1492/1492 1491/1491/1491 1451/1451/1451\nf 1450/1450/1450 1451/1451/1451 1491/1491/1491\nf 1451/1451/1451 1452/1452/1452 1492/1492/1492\nf 1492/1492/1492 1452/1452/1452 1493/1493/1493\nf 1452/1452/1452 1453/1453/1453 1493/1493/1493\nf 1453/1453/1453 1494/1494/1494 1493/1493/1493\nf 1494/1494/1494 1453/1453/1453 1495/1495/1495\nf 1453/1453/1453 1454/1454/1454 1495/1495/1495\nf 1454/1454/1454 1455/1455/1455 1495/1495/1495\nf 1455/1455/1455 1496/1496/1496 1495/1495/1495\nf 1456/1456/1456 1497/1497/1497 1455/1455/1455\nf 1455/1455/1455 1497/1497/1497 1496/1496/1496\nf 1456/1456/1456 1457/1457/1457 1497/1497/1497\nf 1497/1497/1497 1457/1457/1457 1498/1498/1498\nf 1458/1458/1458 1499/1499/1499 1457/1457/1457\nf 1457/1457/1457 1499/1499/1499 1498/1498/1498\nf 1458/1458/1458 1459/1459/1459 1499/1499/1499\nf 1499/1499/1499 1459/1459/1459 1500/1500/1500\nf 1460/1460/1460 1501/1501/1501 1459/1459/1459\nf 1459/1459/1459 1501/1501/1501 1500/1500/1500\nf 1460/1460/1460 1461/1461/1461 1501/1501/1501\nf 1501/1501/1501 1461/1461/1461 1502/1502/1502\nf 1462/1462/1462 1503/1503/1503 1461/1461/1461\nf 1461/1461/1461 1503/1503/1503 1502/1502/1502\nf 1463/1463/1463 1504/1504/1504 1462/1462/1462\nf 1462/1462/1462 1504/1504/1504 1503/1503/1503\nf 1464/1464/1464 1505/1505/1505 1463/1463/1463\nf 1463/1463/1463 1505/1505/1505 1504/1504/1504\nf 1464/1464/1464 1465/1465/1465 1505/1505/1505\nf 1505/1505/1505 1465/1465/1465 1506/1506/1506\nf 1466/1466/1466 1507/1507/1507 1465/1465/1465\nf 1465/1465/1465 1507/1507/1507 1506/1506/1506\nf 1467/1467/1467 1508/1508/1508 1466/1466/1466\nf 1466/1466/1466 1508/1508/1508 1507/1507/1507\nf 1468/1468/1468 1509/1509/1509 1467/1467/1467\nf 1467/1467/1467 1509/1509/1509 1508/1508/1508\nf 1509/1509/1509 1468/1468/1468 1510/1510/1510\nf 1468/1468/1468 1469/1469/1469 1510/1510/1510\nf 1510/1510/1510 1469/1469/1469 1511/1511/1511\nf 1469/1469/1469 1470/1470/1470 1511/1511/1511\nf 1471/1471/1471 1512/1512/1512 1470/1470/1470\nf 1470/1470/1470 1512/1512/1512 1511/1511/1511\nf 1471/1471/1471 1472/1472/1472 1512/1512/1512\nf 1512/1512/1512 1472/1472/1472 1513/1513/1513\nf 1473/1473/1473 1514/1514/1514 1472/1472/1472\nf 1472/1472/1472 1514/1514/1514 1513/1513/1513\nf 1473/1473/1473 1474/1474/1474 1514/1514/1514\nf 1514/1514/1514 1474/1474/1474 1515/1515/1515\nf 1515/1515/1515 1474/1474/1474 1516/1516/1516\nf 1474/1474/1474 1475/1475/1475 1516/1516/1516\nf 1475/1475/1475 1476/1476/1476 1516/1516/1516\nf 1516/1516/1516 1476/1476/1476 1517/1517/1517\nf 1478/1478/1477 1519/1519/1518 1477/1477/1478\nf 1477/1477/1478 1519/1519/1518 1518/1518/1519\nf 1478/1478/1477 1479/1479/1479 1519/1519/1518\nf 1519/1519/1518 1479/1479/1479 1520/1520/1520\nf 1480/1480/1480 1521/1521/1521 1479/1479/1479\nf 1479/1479/1479 1521/1521/1521 1520/1520/1520\nf 1480/1480/1480 1481/1481/1481 1521/1521/1521\nf 1521/1521/1521 1481/1481/1481 1522/1522/1522\nf 1482/1482/1482 1523/1523/1523 1481/1481/1481\nf 1481/1481/1481 1523/1523/1523 1522/1522/1522\nf 1483/1483/1483 1524/1524/1524 1482/1482/1482\nf 1482/1482/1482 1524/1524/1524 1523/1523/1523\nf 1484/1484/1484 1525/1525/1525 1483/1483/1483\nf 1483/1483/1483 1525/1525/1525 1524/1524/1524\nf 1485/1485/1485 1526/1526/1526 1484/1484/1484\nf 1484/1484/1484 1526/1526/1526 1525/1525/1525\nf 1485/1485/1485 1486/1486/1486 1526/1526/1526\nf 1526/1526/1526 1486/1486/1486 1527/1527/1527\nf 1486/1486/1486 1487/1487/1487 1527/1527/1527\nf 1527/1527/1527 1487/1487/1487 1528/1528/1528\nf 1487/1487/1487 1488/1488/1488 1528/1528/1528\nf 1488/1488/1488 1529/1529/1529 1528/1528/1528\nf 1488/1488/1488 1489/1489/1489 1529/1529/1529\nf 1489/1489/1489 1530/1530/1530 1529/1529/1529\nf 1489/1489/1489 1490/1490/1490 1530/1530/1530\nf 1530/1530/1530 1490/1490/1490 1531/1531/1531\nf 1490/1490/1490 1491/1491/1491 1531/1531/1531\nf 1531/1531/1531 1491/1491/1491 1532/1532/1532\nf 1491/1491/1491 1492/1492/1492 1532/1532/1532\nf 1532/1532/1532 1492/1492/1492 1533/1533/1533\nf 1492/1492/1492 1493/1493/1493 1533/1533/1533\nf 1533/1533/1533 1493/1493/1493 1534/1534/1534\nf 1535/1535/1535 1534/1534/1534 1494/1494/1494\nf 1493/1493/1493 1494/1494/1494 1534/1534/1534\nf 1535/1535/1535 1494/1494/1494 1536/1536/1536\nf 1494/1494/1494 1495/1495/1495 1536/1536/1536\nf 1496/1496/1496 1537/1537/1537 1495/1495/1495\nf 1495/1495/1495 1537/1537/1537 1536/1536/1536\nf 1537/1537/1537 1496/1496/1496 1538/1538/1538\nf 1496/1496/1496 1497/1497/1497 1538/1538/1538\nf 1538/1538/1538 1497/1497/1497 1539/1539/1539\nf 1497/1497/1497 1498/1498/1498 1539/1539/1539\nf 1539/1539/1539 1498/1498/1498 1540/1540/1540\nf 1498/1498/1498 1499/1499/1499 1540/1540/1540\nf 1499/1499/1499 1500/1500/1500 1540/1540/1540\nf 1540/1540/1540 1500/1500/1500 1541/1541/1541\nf 1501/1501/1501 1542/1542/1542 1500/1500/1500\nf 1500/1500/1500 1542/1542/1542 1541/1541/1541\nf 1501/1501/1501 1502/1502/1502 1542/1542/1542\nf 1502/1502/1502 1543/1543/1543 1542/1542/1542\nf 1502/1502/1502 1503/1503/1503 1543/1543/1543\nf 1543/1543/1543 1503/1503/1503 1544/1544/1544\nf 1544/1544/1544 1503/1503/1503 1545/1545/1545\nf 1503/1503/1503 1504/1504/1504 1545/1545/1545\nf 1545/1545/1545 1504/1504/1504 1546/1546/1546\nf 1504/1504/1504 1505/1505/1505 1546/1546/1546\nf 1505/1505/1505 1506/1506/1506 1546/1546/1546\nf 1546/1546/1546 1506/1506/1506 1547/1547/1547\nf 1507/1507/1507 1548/1548/1548 1506/1506/1506\nf 1506/1506/1506 1548/1548/1548 1547/1547/1547\nf 1508/1508/1508 1549/1549/1549 1507/1507/1507\nf 1507/1507/1507 1549/1549/1549 1548/1548/1548\nf 1509/1509/1509 1550/1550/1550 1508/1508/1508\nf 1508/1508/1508 1550/1550/1550 1549/1549/1549\nf 1509/1509/1509 1510/1510/1510 1550/1550/1550\nf 1550/1550/1550 1510/1510/1510 1551/1551/1551\nf 1511/1511/1511 1552/1552/1552 1510/1510/1510\nf 1510/1510/1510 1552/1552/1552 1551/1551/1551\nf 1511/1511/1511 1512/1512/1512 1552/1552/1552\nf 1552/1552/1552 1512/1512/1512 1553/1553/1553\nf 1513/1513/1513 1554/1554/1554 1512/1512/1512\nf 1512/1512/1512 1554/1554/1554 1553/1553/1553\nf 1514/1514/1514 1555/1555/1555 1513/1513/1513\nf 1513/1513/1513 1555/1555/1555 1554/1554/1554\nf 1515/1515/1515 1556/1556/1556 1514/1514/1514\nf 1514/1514/1514 1556/1556/1556 1555/1555/1555\nf 1515/1515/1515 1516/1516/1516 1556/1556/1556\nf 1556/1556/1556 1516/1516/1516 1557/1557/1557\nf 1516/1516/1516 1517/1517/1517 1557/1557/1557\nf 1557/1557/1557 1517/1517/1517 1558/1558/1558\nf 1519/1519/1518 1560/1560/1559 1518/1518/1519\nf 1518/1518/1519 1560/1560/1559 1559/1559/1560\nf 1519/1519/1518 1520/1520/1520 1560/1560/1559\nf 1560/1560/1559 1520/1520/1520 1561/1561/1561\nf 1520/1520/1520 1521/1521/1521 1561/1561/1561\nf 1561/1561/1561 1521/1521/1521 1562/1562/1562\nf 1521/1521/1521 1522/1522/1522 1562/1562/1562\nf 1562/1562/1562 1522/1522/1522 1563/1563/1563\nf 1522/1522/1522 1523/1523/1523 1563/1563/1563\nf 1523/1523/1523 1564/1564/1564 1563/1563/1563\nf 1523/1523/1523 1524/1524/1524 1564/1564/1564\nf 1564/1564/1564 1524/1524/1524 1565/1565/1565\nf 1524/1524/1524 1525/1525/1525 1565/1565/1565\nf 1565/1565/1565 1525/1525/1525 1566/1566/1566\nf 1525/1525/1525 1526/1526/1526 1566/1566/1566\nf 1566/1566/1566 1526/1526/1526 1567/1567/1567\nf 1526/1526/1526 1527/1527/1527 1567/1567/1567\nf 1567/1567/1567 1527/1527/1527 1568/1568/1568\nf 1527/1527/1527 1528/1528/1528 1568/1568/1568\nf 1568/1568/1568 1528/1528/1528 1569/1569/1569\nf 1528/1528/1528 1529/1529/1529 1569/1569/1569\nf 1569/1569/1569 1529/1529/1529 1570/1570/1570\nf 1529/1529/1529 1530/1530/1530 1570/1570/1570\nf 1530/1530/1530 1571/1571/1571 1570/1570/1570\nf 1572/1572/1572 1571/1571/1571 1531/1531/1531\nf 1530/1530/1530 1531/1531/1531 1571/1571/1571\nf 1532/1532/1532 1573/1573/1573 1531/1531/1531\nf 1531/1531/1531 1573/1573/1573 1572/1572/1572\nf 1532/1532/1532 1533/1533/1533 1573/1573/1573\nf 1573/1573/1573 1533/1533/1533 1574/1574/1574\nf 1534/1534/1534 1575/1575/1575 1533/1533/1533\nf 1533/1533/1533 1575/1575/1575 1574/1574/1574\nf 1535/1535/1535 1576/1576/1576 1534/1534/1534\nf 1534/1534/1534 1576/1576/1576 1575/1575/1575\nf 1536/1536/1536 1577/1577/1577 1535/1535/1535\nf 1535/1535/1535 1577/1577/1577 1576/1576/1576\nf 1536/1536/1536 1537/1537/1537 1577/1577/1577\nf 1577/1577/1577 1537/1537/1537 1578/1578/1578\nf 1579/1579/1579 1578/1578/1578 1538/1538/1538\nf 1537/1537/1537 1538/1538/1538 1578/1578/1578\nf 1579/1579/1579 1538/1538/1538 1580/1580/1580\nf 1538/1538/1538 1539/1539/1539 1580/1580/1580\nf 1539/1539/1539 1540/1540/1540 1580/1580/1580\nf 1540/1540/1540 1581/1581/1581 1580/1580/1580\nf 1540/1540/1540 1541/1541/1541 1581/1581/1581\nf 1581/1581/1581 1541/1541/1541 1582/1582/1582\nf 1583/1583/1583 1582/1582/1582 1542/1542/1542\nf 1541/1541/1541 1542/1542/1542 1582/1582/1582\nf 1542/1542/1542 1543/1543/1543 1583/1583/1583\nf 1583/1583/1583 1543/1543/1543 1584/1584/1584\nf 1584/1584/1584 1543/1543/1543 1585/1585/1585\nf 1543/1543/1543 1544/1544/1544 1585/1585/1585\nf 1585/1585/1585 1544/1544/1544 1586/1586/1586\nf 1544/1544/1544 1545/1545/1545 1586/1586/1586\nf 1587/1587/1587 1586/1586/1586 1546/1546/1546\nf 1545/1545/1545 1546/1546/1546 1586/1586/1586\nf 1587/1587/1587 1546/1546/1546 1588/1588/1588\nf 1546/1546/1546 1547/1547/1547 1588/1588/1588\nf 1547/1547/1547 1548/1548/1548 1588/1588/1588\nf 1548/1548/1548 1589/1589/1589 1588/1588/1588\nf 1548/1548/1548 1549/1549/1549 1589/1589/1589\nf 1589/1589/1589 1549/1549/1549 1590/1590/1590\nf 1550/1550/1550 1591/1591/1591 1549/1549/1549\nf 1549/1549/1549 1591/1591/1591 1590/1590/1590\nf 1551/1551/1551 1592/1592/1592 1550/1550/1550\nf 1550/1550/1550 1592/1592/1592 1591/1591/1591\nf 1592/1592/1592 1551/1551/1551 1593/1593/1593\nf 1551/1551/1551 1552/1552/1552 1593/1593/1593\nf 1593/1593/1593 1552/1552/1552 1594/1594/1594\nf 1552/1552/1552 1553/1553/1553 1594/1594/1594\nf 1595/1595/1595 1594/1594/1594 1554/1554/1554\nf 1553/1553/1553 1554/1554/1554 1594/1594/1594\nf 1555/1555/1555 1596/1596/1596 1554/1554/1554\nf 1554/1554/1554 1596/1596/1596 1595/1595/1595\nf 1555/1555/1555 1556/1556/1556 1596/1596/1596\nf 1596/1596/1596 1556/1556/1556 1597/1597/1597\nf 1557/1557/1557 1598/1598/1598 1556/1556/1556\nf 1556/1556/1556 1598/1598/1598 1597/1597/1597\nf 1558/1558/1558 1599/1599/1599 1557/1557/1557\nf 1557/1557/1557 1599/1599/1599 1598/1598/1598\nf 1560/1560/1559 1601/1601/1600 1559/1559/1560\nf 1559/1559/1560 1601/1601/1600 1600/1600/1601\nf 1560/1560/1559 1561/1561/1561 1601/1601/1600\nf 1601/1601/1600 1561/1561/1561 1602/1602/1602\nf 1561/1561/1561 1562/1562/1562 1602/1602/1602\nf 1602/1602/1602 1562/1562/1562 1603/1603/1603\nf 1604/1604/1604 1603/1603/1603 1563/1563/1563\nf 1562/1562/1562 1563/1563/1563 1603/1603/1603\nf 1563/1563/1563 1564/1564/1564 1604/1604/1604\nf 1604/1604/1604 1564/1564/1564 1605/1605/1605\nf 1564/1564/1564 1565/1565/1565 1605/1605/1605\nf 1565/1565/1565 1606/1606/1606 1605/1605/1605\nf 1566/1566/1566 1607/1607/1607 1565/1565/1565\nf 1565/1565/1565 1607/1607/1607 1606/1606/1606\nf 1608/1608/1608 1607/1607/1607 1567/1567/1567\nf 1566/1566/1566 1567/1567/1567 1607/1607/1607\nf 1567/1567/1567 1568/1568/1568 1608/1608/1608\nf 1568/1568/1568 1609/1609/1609 1608/1608/1608\nf 1568/1568/1568 1569/1569/1569 1609/1609/1609\nf 1609/1609/1609 1569/1569/1569 1610/1610/1610\nf 1611/1611/1611 1610/1610/1610 1570/1570/1570\nf 1569/1569/1569 1570/1570/1570 1610/1610/1610\nf 1571/1571/1571 1612/1612/1612 1570/1570/1570\nf 1570/1570/1570 1612/1612/1612 1611/1611/1611\nf 1571/1571/1571 1572/1572/1572 1612/1612/1612\nf 1612/1612/1612 1572/1572/1572 1613/1613/1613\nf 1613/1613/1613 1572/1572/1572 1614/1614/1614\nf 1572/1572/1572 1573/1573/1573 1614/1614/1614\nf 1574/1574/1574 1615/1615/1615 1573/1573/1573\nf 1573/1573/1573 1615/1615/1615 1614/1614/1614\nf 1616/1616/1616 1615/1615/1615 1575/1575/1575\nf 1574/1574/1574 1575/1575/1575 1615/1615/1615\nf 1575/1575/1575 1576/1576/1576 1616/1616/1616\nf 1576/1576/1576 1617/1617/1617 1616/1616/1616\nf 1576/1576/1576 1577/1577/1577 1617/1617/1617\nf 1617/1617/1617 1577/1577/1577 1618/1618/1618\nf 1577/1577/1577 1578/1578/1578 1618/1618/1618\nf 1618/1618/1618 1578/1578/1578 1619/1619/1619\nf 1578/1578/1578 1579/1579/1579 1619/1619/1619\nf 1579/1579/1579 1620/1620/1620 1619/1619/1619\nf 1621/1621/1621 1620/1620/1620 1580/1580/1580\nf 1579/1579/1579 1580/1580/1580 1620/1620/1620\nf 1581/1581/1581 1622/1622/1622 1580/1580/1580\nf 1580/1580/1580 1622/1622/1622 1621/1621/1621\nf 1622/1622/1622 1581/1581/1581 1623/1623/1623\nf 1581/1581/1581 1582/1582/1582 1623/1623/1623\nf 1582/1582/1582 1583/1583/1583 1623/1623/1623\nf 1583/1583/1583 1624/1624/1624 1623/1623/1623\nf 1583/1583/1583 1584/1584/1584 1624/1624/1624\nf 1584/1584/1584 1625/1625/1625 1624/1624/1624\nf 1584/1584/1584 1585/1585/1585 1625/1625/1625\nf 1585/1585/1585 1626/1626/1626 1625/1625/1625\nf 1586/1586/1586 1627/1627/1627 1585/1585/1585\nf 1585/1585/1585 1627/1627/1627 1626/1626/1626\nf 1586/1586/1586 1587/1587/1587 1627/1627/1627\nf 1587/1587/1587 1628/1628/1628 1627/1627/1627\nf 1588/1588/1588 1629/1629/1629 1587/1587/1587\nf 1587/1587/1587 1629/1629/1629 1628/1628/1628\nf 1589/1589/1589 1630/1630/1630 1588/1588/1588\nf 1588/1588/1588 1630/1630/1630 1629/1629/1629\nf 1589/1589/1589 1590/1590/1590 1630/1630/1630\nf 1630/1630/1630 1590/1590/1590 1631/1631/1631\nf 1631/1631/1631 1590/1590/1590 1632/1632/1632\nf 1590/1590/1590 1591/1591/1591 1632/1632/1632\nf 1632/1632/1632 1591/1591/1591 1633/1633/1633\nf 1591/1591/1591 1592/1592/1592 1633/1633/1633\nf 1633/1633/1633 1592/1592/1592 1634/1634/1634\nf 1592/1592/1592 1593/1593/1593 1634/1634/1634\nf 1594/1594/1594 1635/1635/1635 1593/1593/1593\nf 1593/1593/1593 1635/1635/1635 1634/1634/1634\nf 1595/1595/1595 1636/1636/1636 1594/1594/1594\nf 1594/1594/1594 1636/1636/1636 1635/1635/1635\nf 1636/1636/1636 1595/1595/1595 1637/1637/1637\nf 1595/1595/1595 1596/1596/1596 1637/1637/1637\nf 1597/1597/1597 1638/1638/1638 1596/1596/1596\nf 1596/1596/1596 1638/1638/1638 1637/1637/1637\nf 1598/1598/1598 1639/1639/1639 1597/1597/1597\nf 1597/1597/1597 1639/1639/1639 1638/1638/1638\nf 1598/1598/1598 1599/1599/1599 1639/1639/1639\nf 1639/1639/1639 1599/1599/1599 1640/1640/1640\nf 1641/1641/1641 1600/1600/1601 1642/1642/1642\nf 1600/1600/1601 1601/1601/1600 1642/1642/1642\nf 1601/1601/1600 1602/1602/1602 1642/1642/1642\nf 1642/1642/1642 1602/1602/1602 1643/1643/1643\nf 1603/1603/1603 1644/1644/1644 1602/1602/1602\nf 1602/1602/1602 1644/1644/1644 1643/1643/1643\nf 1604/1604/1604 1645/1645/1645 1603/1603/1603\nf 1603/1603/1603 1645/1645/1645 1644/1644/1644\nf 1605/1605/1605 1646/1646/1646 1604/1604/1604\nf 1604/1604/1604 1646/1646/1646 1645/1645/1645\nf 1605/1605/1605 1606/1606/1606 1646/1646/1646\nf 1646/1646/1646 1606/1606/1606 1647/1647/1647\nf 1607/1607/1607 1648/1648/1648 1606/1606/1606\nf 1606/1606/1606 1648/1648/1648 1647/1647/1647\nf 1607/1607/1607 1608/1608/1608 1648/1648/1648\nf 1648/1648/1648 1608/1608/1608 1649/1649/1649\nf 1609/1609/1609 1650/1650/1650 1608/1608/1608\nf 1608/1608/1608 1650/1650/1650 1649/1649/1649\nf 1610/1610/1610 1651/1651/1651 1609/1609/1609\nf 1609/1609/1609 1651/1651/1651 1650/1650/1650\nf 1610/1610/1610 1611/1611/1611 1651/1651/1651\nf 1651/1651/1651 1611/1611/1611 1652/1652/1652\nf 1612/1612/1612 1653/1653/1653 1611/1611/1611\nf 1611/1611/1611 1653/1653/1653 1652/1652/1652\nf 1612/1612/1612 1613/1613/1613 1653/1653/1653\nf 1653/1653/1653 1613/1613/1613 1654/1654/1654\nf 1614/1614/1614 1655/1655/1655 1613/1613/1613\nf 1613/1613/1613 1655/1655/1655 1654/1654/1654\nf 1614/1614/1614 1615/1615/1615 1655/1655/1655\nf 1655/1655/1655 1615/1615/1615 1656/1656/1656\nf 1616/1616/1616 1657/1657/1657 1615/1615/1615\nf 1615/1615/1615 1657/1657/1657 1656/1656/1656\nf 1617/1617/1617 1658/1658/1658 1616/1616/1616\nf 1616/1616/1616 1658/1658/1658 1657/1657/1657\nf 1617/1617/1617 1618/1618/1618 1658/1658/1658\nf 1658/1658/1658 1618/1618/1618 1659/1659/1659\nf 1618/1618/1618 1619/1619/1619 1659/1659/1659\nf 1659/1659/1659 1619/1619/1619 1660/1660/1660\nf 1620/1620/1620 1661/1661/1661 1619/1619/1619\nf 1619/1619/1619 1661/1661/1661 1660/1660/1660\nf 1620/1620/1620 1621/1621/1621 1661/1661/1661\nf 1661/1661/1661 1621/1621/1621 1662/1662/1662\nf 1622/1622/1622 1663/1663/1663 1621/1621/1621\nf 1621/1621/1621 1663/1663/1663 1662/1662/1662\nf 1622/1622/1622 1623/1623/1623 1663/1663/1663\nf 1663/1663/1663 1623/1623/1623 1664/1664/1664\nf 1624/1624/1624 1665/1665/1665 1623/1623/1623\nf 1623/1623/1623 1665/1665/1665 1664/1664/1664\nf 1624/1624/1624 1625/1625/1625 1665/1665/1665\nf 1665/1665/1665 1625/1625/1625 1666/1666/1666\nf 1626/1626/1626 1667/1667/1667 1625/1625/1625\nf 1625/1625/1625 1667/1667/1667 1666/1666/1666\nf 1627/1627/1627 1668/1668/1668 1626/1626/1626\nf 1626/1626/1626 1668/1668/1668 1667/1667/1667\nf 1627/1627/1627 1628/1628/1628 1668/1668/1668\nf 1668/1668/1668 1628/1628/1628 1669/1669/1669\nf 1628/1628/1628 1629/1629/1629 1669/1669/1669\nf 1669/1669/1669 1629/1629/1629 1670/1670/1670\nf 1630/1630/1630 1671/1671/1671 1629/1629/1629\nf 1629/1629/1629 1671/1671/1671 1670/1670/1670\nf 1630/1630/1630 1631/1631/1631 1671/1671/1671\nf 1671/1671/1671 1631/1631/1631 1672/1672/1672\nf 1632/1632/1632 1673/1673/1673 1631/1631/1631\nf 1631/1631/1631 1673/1673/1673 1672/1672/1672\nf 1632/1632/1632 1633/1633/1633 1673/1673/1673\nf 1673/1673/1673 1633/1633/1633 1674/1674/1674\nf 1634/1634/1634 1675/1675/1675 1633/1633/1633\nf 1633/1633/1633 1675/1675/1675 1674/1674/1674\nf 1634/1634/1634 1635/1635/1635 1675/1675/1675\nf 1675/1675/1675 1635/1635/1635 1676/1676/1676\nf 1636/1636/1636 1677/1677/1677 1635/1635/1635\nf 1635/1635/1635 1677/1677/1677 1676/1676/1676\nf 1636/1636/1636 1637/1637/1637 1677/1677/1677\nf 1677/1677/1677 1637/1637/1637 1678/1678/1678\nf 1637/1637/1637 1638/1638/1638 1678/1678/1678\nf 1678/1678/1678 1638/1638/1638 1679/1679/1679\nf 1638/1638/1638 1639/1639/1639 1679/1679/1679\nf 1679/1679/1679 1639/1639/1639 1680/1680/1680\nf 1681/1681/1681 1680/1680/1680 1640/1640/1640\nf 1639/1639/1639 1640/1640/1640 1680/1680/1680\n"
  },
  {
    "path": "data/lighthouse.ply",
    "content": "ply\nformat ascii 1.0\ncomment VCGLIB generated\nelement vertex 2445\nproperty float x\nproperty float y\nproperty float z\nelement face 959\nproperty list uchar int vertex_indices\nend_header\n0.212416 0.304809 0.200114 \n0.097533 0.304809 0.2477 \n0.049946 0.304809 0.362583 \n0.097533 0.304809 0.477466 \n0.212416 0.304809 0.525052 \n0.327299 0.304809 0.477466 \n0.374885 0.304809 0.362583 \n0.327299 0.304809 0.2477 \n0.212416 0.367058 0.200114 \n0.097533 0.367058 0.2477 \n0.049946 0.367058 0.362583 \n0.097533 0.367058 0.477466 \n0.212416 0.367058 0.525052 \n0.327299 0.367058 0.477466 \n0.374885 0.367058 0.362583 \n0.327299 0.367058 0.2477 \n0.212416 0.385732 0.217767 \n0.110015 0.385732 0.260183 \n0.0676 0.385732 0.362583 \n0.110015 0.385732 0.464984 \n0.212416 0.385732 0.507399 \n0.314816 0.385732 0.464984 \n0.357232 0.385732 0.362583 \n0.314816 0.385732 0.260183 \n0.212416 0.884345 0.262147 \n0.141396 0.884345 0.291563 \n0.111979 0.884345 0.362583 \n0.141396 0.884345 0.433603 \n0.212416 0.884345 0.46302 \n0.283435 0.884345 0.433603 \n0.312852 0.884345 0.362583 \n0.283435 0.884345 0.291563 \n0.212416 0.902397 0.241916 \n0.127091 0.902397 0.277259 \n0.091749 0.902397 0.362583 \n0.127091 0.902397 0.447908 \n0.212416 0.902397 0.48325 \n0.29774 0.902397 0.447908 \n0.333083 0.902397 0.362583 \n0.29774 0.902397 0.277259 \n0.212416 0.913602 0.214398 \n0.107633 0.913602 0.2578 \n0.064231 0.913602 0.362583 \n0.107633 0.913602 0.467366 \n0.212416 0.913602 0.510768 \n0.317199 0.913602 0.467366 \n0.360601 0.913602 0.362583 \n0.317199 0.913602 0.2578 \n0.212416 0.917337 0.200586 \n0.097866 0.917337 0.248033 \n0.050418 0.917337 0.362583 \n0.097866 0.917337 0.477133 \n0.212416 0.917337 0.524581 \n0.326965 0.917337 0.477133 \n0.374413 0.917337 0.362583 \n0.326965 0.917337 0.248033 \n0.212416 0.926674 0.200586 \n0.097866 0.926674 0.248033 \n0.050418 0.926674 0.362583 \n0.097866 0.926674 0.477133 \n0.212416 0.926674 0.524581 \n0.326965 0.926674 0.477133 \n0.374413 0.926674 0.362583 \n0.326965 0.926674 0.248033 \n0.132785 0.688141 0.282952 \n0.125794 0.595293 0.275961 \n0.089914 0.595293 0.362583 \n0.099801 0.688141 0.362583 \n0.125794 0.595293 0.449205 \n0.132785 0.688141 0.442214 \n0.212416 0.595293 0.485085 \n0.212416 0.688141 0.475198 \n0.299038 0.595293 0.449205 \n0.292047 0.688141 0.442214 \n0.334918 0.595293 0.362583 \n0.325031 0.688141 0.362583 \n0.299038 0.595293 0.275961 \n0.292047 0.688141 0.282952 \n0.212416 0.595293 0.240081 \n0.212416 0.688141 0.249968 \n0.146184 0.866093 0.296351 \n0.118749 0.866093 0.362583 \n0.146184 0.866093 0.428815 \n0.212416 0.866093 0.45625 \n0.278648 0.866093 0.428815 \n0.306082 0.866093 0.362583 \n0.278648 0.866093 0.296351 \n0.212416 0.866093 0.268917 \n0.278992 0.435594 0.474513 \n0.244486 0.435594 0.488806 \n0.275497 0.528442 0.466074 \n0.24099 0.528442 0.480367 \n0.232461 0.754992 0.459777 \n0.266968 0.754992 0.445484 \n0.263472 0.84784 0.437045 \n0.228966 0.84784 0.451338 \n0.269484 0.688141 0.45156 \n0.234978 0.688141 0.465853 \n0.238474 0.595293 0.474292 \n0.27298 0.595293 0.459999 \n0.145839 0.435594 0.250653 \n0.180346 0.435594 0.23636 \n0.149335 0.528442 0.259092 \n0.183841 0.528442 0.244799 \n0.19237 0.754992 0.26539 \n0.157864 0.754992 0.279683 \n0.161359 0.84784 0.288121 \n0.195866 0.84784 0.273828 \n0.155347 0.688141 0.273607 \n0.189853 0.688141 0.259314 \n0.186358 0.595293 0.250875 \n0.151852 0.595293 0.265167 \n0.276622 0.434984 0.46879 \n0.242115 0.434984 0.483083 \n0.273126 0.527833 0.460351 \n0.23862 0.527833 0.474644 \n0.230091 0.754382 0.454053 \n0.264597 0.754382 0.43976 \n0.261101 0.847231 0.431321 \n0.226595 0.847231 0.445614 \n0.267114 0.687531 0.445837 \n0.232607 0.687531 0.460129 \n0.236103 0.594684 0.468568 \n0.270609 0.594684 0.454275 \n0.14821 0.434984 0.256376 \n0.182716 0.434984 0.242083 \n0.151706 0.527833 0.264815 \n0.186212 0.527833 0.250522 \n0.194741 0.754382 0.271113 \n0.160235 0.754382 0.285406 \n0.16373 0.847231 0.293845 \n0.198236 0.847231 0.279552 \n0.157718 0.687531 0.27933 \n0.192224 0.687531 0.265037 \n0.188729 0.594684 0.256598 \n0.154222 0.594684 0.270891 \n0.212416 0.926674 0.281005 \n0.154732 0.926674 0.304899 \n0.130838 0.926674 0.362583 \n0.154732 0.926674 0.420267 \n0.212416 0.926674 0.444161 \n0.2701 0.926674 0.420267 \n0.293993 0.926674 0.362583 \n0.2701 0.926674 0.304899 \n0.212416 1.06985 0.281005 \n0.154732 1.06985 0.304899 \n0.130838 1.06985 0.362583 \n0.154732 1.06985 0.420267 \n0.212416 1.06985 0.444161 \n0.2701 1.06985 0.420267 \n0.293993 1.06985 0.362583 \n0.2701 1.06985 0.304899 \n0.212416 1.06985 0.267273 \n0.145022 1.06985 0.295189 \n0.117105 1.06985 0.362583 \n0.145022 1.06985 0.429977 \n0.212416 1.06985 0.457894 \n0.27981 1.06985 0.429977 \n0.307726 1.06985 0.362583 \n0.27981 1.06985 0.295189 \n0.212416 1.07607 0.267273 \n0.145022 1.07607 0.295189 \n0.117105 1.07607 0.362583 \n0.145022 1.07607 0.429977 \n0.212416 1.07607 0.457894 \n0.27981 1.07607 0.429977 \n0.307726 1.07607 0.362583 \n0.27981 1.07607 0.295189 \n0.212416 1.12587 0.34042 \n0.196744 1.12587 0.346911 \n0.190253 1.12587 0.362583 \n0.196744 1.12587 0.378255 \n0.212416 1.12587 0.384746 \n0.228088 1.12587 0.378255 \n0.234579 1.12587 0.362583 \n0.228088 1.12587 0.346911 \n0.212416 1.1517 0.34042 \n0.196744 1.1517 0.346911 \n0.190253 1.1517 0.362583 \n0.196744 1.1517 0.378255 \n0.212416 1.1517 0.384746 \n0.228088 1.1517 0.378255 \n0.234579 1.1517 0.362583 \n0.228088 1.1517 0.346911 \n0.212416 1.1517 0.333974 \n0.192186 1.1517 0.342353 \n0.183807 1.1517 0.362583 \n0.192186 1.1517 0.382813 \n0.212416 1.1517 0.391192 \n0.232645 1.1517 0.382813 \n0.241025 1.1517 0.362583 \n0.232645 1.1517 0.342353 \n0.212416 1.15482 0.333974 \n0.192186 1.15482 0.342353 \n0.183807 1.15482 0.362583 \n0.192186 1.15482 0.382813 \n0.212416 1.15482 0.391192 \n0.232645 1.15482 0.382813 \n0.241025 1.15482 0.362583 \n0.232645 1.15482 0.342353 \n0.212416 1.17007 0.362583 \n0.18771 0.529377 0.245986 \n0.168029 0.538342 0.255092 \n0.147478 0.529963 0.262712 \n0.14594 0.533705 0.263748 \n0.168247 0.542678 0.255464 \n0.189046 0.533077 0.245826 \n0.143475 0.534338 0.257795 \n0.165781 0.543312 0.249511 \n0.165564 0.538976 0.24914 \n0.145012 0.530597 0.25676 \n0.18658 0.533711 0.239873 \n0.185244 0.530011 0.240033 \n0.193436 0.688117 0.259784 \n0.173756 0.697083 0.268891 \n0.153205 0.688704 0.276511 \n0.151667 0.692445 0.277546 \n0.173973 0.701418 0.269262 \n0.194772 0.691817 0.259625 \n0.149202 0.693079 0.271594 \n0.171508 0.702052 0.26331 \n0.17129 0.697717 0.262938 \n0.150739 0.689337 0.270559 \n0.192307 0.692451 0.253673 \n0.190971 0.688751 0.253832 \n0.277509 0.529279 0.462836 \n0.257155 0.538245 0.470317 \n0.23723 0.529865 0.47945 \n0.235412 0.533607 0.479807 \n0.257047 0.542581 0.469903 \n0.278568 0.532979 0.462007 \n0.237877 0.534236 0.48576 \n0.259512 0.54321 0.475856 \n0.259619 0.538873 0.476269 \n0.239695 0.530493 0.485403 \n0.281032 0.533608 0.46796 \n0.279973 0.529907 0.46879 \n0.271854 0.688032 0.449151 \n0.2515 0.696998 0.456631 \n0.231576 0.688618 0.465764 \n0.229757 0.69236 0.466122 \n0.251393 0.701334 0.456218 \n0.272913 0.691732 0.448322 \n0.232222 0.692988 0.472075 \n0.253857 0.701963 0.462171 \n0.253965 0.697626 0.462584 \n0.23404 0.689246 0.471718 \n0.275377 0.692361 0.454275 \n0.274319 0.688661 0.455104 \n0.215291 0.973361 0.44297 \n0.267224 0.973361 0.421458 \n0.267224 1.04806 0.421458 \n0.215291 1.04806 0.44297 \n0.271291 0.973361 0.417392 \n0.292803 0.973361 0.365459 \n0.292803 1.04806 0.365459 \n0.271291 1.04806 0.417392 \n0.292803 0.973361 0.359708 \n0.271291 0.973361 0.307775 \n0.271291 1.04806 0.307775 \n0.292803 1.04806 0.359708 \n0.267224 0.973361 0.303708 \n0.215291 0.973361 0.282196 \n0.215291 1.04806 0.282196 \n0.267224 1.04806 0.303708 \n0.20954 0.973361 0.282196 \n0.157607 0.973361 0.303708 \n0.157607 1.04806 0.303708 \n0.20954 1.04806 0.282196 \n0.153541 0.973361 0.307775 \n0.132029 0.973361 0.359708 \n0.132029 1.04806 0.359708 \n0.153541 1.04806 0.307775 \n0.132029 0.973361 0.365459 \n0.153541 0.973361 0.417392 \n0.153541 1.04806 0.417392 \n0.132029 1.04806 0.365459 \n0.157607 0.973361 0.421458 \n0.20954 0.973361 0.44297 \n0.20954 1.04806 0.44297 \n0.157607 1.04806 0.421458 \n0.2141 0.973361 0.440094 \n0.266033 0.973361 0.418583 \n0.266033 1.04806 0.418583 \n0.2141 1.04806 0.440094 \n0.268415 0.973361 0.416201 \n0.289927 0.973361 0.364268 \n0.289927 1.04806 0.364268 \n0.268415 1.04806 0.416201 \n0.289927 0.973361 0.360899 \n0.268415 0.973361 0.308966 \n0.268415 1.04806 0.308966 \n0.289927 1.04806 0.360899 \n0.266033 0.973361 0.306583 \n0.2141 0.973361 0.285072 \n0.2141 1.04806 0.285072 \n0.266033 1.04806 0.306583 \n0.210731 0.973361 0.285072 \n0.158798 0.973361 0.306583 \n0.158798 1.04806 0.306583 \n0.210731 1.04806 0.285072 \n0.156416 0.973361 0.308966 \n0.134905 0.973361 0.360899 \n0.134905 1.04806 0.360899 \n0.156416 1.04806 0.308966 \n0.134905 0.973361 0.364268 \n0.156416 0.973361 0.416201 \n0.156416 1.04806 0.416201 \n0.134905 1.04806 0.364268 \n0.158798 0.973361 0.418583 \n0.210731 0.973361 0.440094 \n0.210731 1.04806 0.440094 \n0.158798 1.04806 0.418583 \n0.053059 0.92543 0.361027 \n0.056171 0.92543 0.361027 \n0.056171 0.92543 0.364139 \n0.053059 0.92543 0.364139 \n0.053059 0.971307 0.361027 \n0.056171 0.971307 0.361027 \n0.056171 0.971307 0.364139 \n0.053059 0.971307 0.364139 \n0.098633 0.92543 0.474165 \n0.100834 0.92543 0.471964 \n0.103035 0.92543 0.474165 \n0.100834 0.92543 0.476366 \n0.098633 0.971307 0.474165 \n0.100834 0.971307 0.471964 \n0.103035 0.971307 0.474165 \n0.100834 0.971307 0.476366 \n0.21086 0.92543 0.52194 \n0.21086 0.92543 0.518828 \n0.213972 0.92543 0.518828 \n0.213972 0.92543 0.52194 \n0.21086 0.971307 0.52194 \n0.21086 0.971307 0.518828 \n0.213972 0.971307 0.518828 \n0.213972 0.971307 0.52194 \n0.323998 0.92543 0.476366 \n0.321797 0.92543 0.474165 \n0.323998 0.92543 0.471964 \n0.326199 0.92543 0.474165 \n0.323998 0.971307 0.476366 \n0.321797 0.971307 0.474165 \n0.323998 0.971307 0.471964 \n0.326199 0.971307 0.474165 \n0.371773 0.92543 0.364139 \n0.36866 0.92543 0.364139 \n0.36866 0.92543 0.361027 \n0.371773 0.92543 0.361027 \n0.371773 0.971307 0.364139 \n0.36866 0.971307 0.364139 \n0.36866 0.971307 0.361027 \n0.371773 0.971307 0.361027 \n0.326199 0.92543 0.251001 \n0.323997 0.92543 0.253201 \n0.321797 0.92543 0.251001 \n0.323997 0.92543 0.2488 \n0.326199 0.971307 0.251001 \n0.323997 0.971307 0.253201 \n0.321797 0.971307 0.251001 \n0.323997 0.971307 0.2488 \n0.213971 0.92543 0.203226 \n0.213971 0.92543 0.206339 \n0.210859 0.92543 0.206339 \n0.210859 0.92543 0.203226 \n0.213971 0.971307 0.203226 \n0.213971 0.971307 0.206339 \n0.210859 0.971307 0.206339 \n0.210859 0.971307 0.203226 \n0.100834 0.92543 0.248801 \n0.103034 0.92543 0.251002 \n0.100834 0.92543 0.253203 \n0.098632 0.92543 0.251002 \n0.100834 0.971307 0.248801 \n0.103034 0.971307 0.251002 \n0.100834 0.971307 0.253203 \n0.098632 0.971307 0.251002 \n0.321427 0.968381 0.471834 \n0.322383 0.969576 0.472551 \n0.32334 0.968381 0.473267 \n0.322383 0.967186 0.472551 \n0.366739 0.968381 0.362583 \n0.367934 0.969576 0.362583 \n0.369129 0.968381 0.362583 \n0.367934 0.967186 0.362583 \n0.321539 0.968381 0.25346 \n0.322383 0.969576 0.252616 \n0.323229 0.968381 0.25177 \n0.322383 0.967186 0.252616 \n0.212416 0.968381 0.20826 \n0.212416 0.969576 0.207065 \n0.212416 0.968381 0.20587 \n0.212416 0.967186 0.207065 \n0.103293 0.968381 0.25346 \n0.102448 0.969576 0.252616 \n0.101603 0.968381 0.25177 \n0.102448 0.967186 0.252616 \n0.058093 0.968381 0.362583 \n0.056898 0.969576 0.362583 \n0.055703 0.968381 0.362583 \n0.056898 0.967186 0.362583 \n0.103293 0.968381 0.471706 \n0.102448 0.969576 0.472551 \n0.101603 0.968381 0.473396 \n0.102448 0.967186 0.472551 \n0.212416 0.968381 0.516906 \n0.212416 0.969576 0.518101 \n0.212416 0.968381 0.519296 \n0.212416 0.967186 0.518101 \n0.321667 0.968381 0.471594 \n0.322383 0.969576 0.472551 \n0.3231 0.968381 0.473507 \n0.322383 0.967186 0.472551 \n0.321427 0.937257 0.471834 \n0.322383 0.938452 0.472551 \n0.32334 0.937257 0.473267 \n0.322383 0.936062 0.472551 \n0.366739 0.937257 0.362583 \n0.367934 0.938452 0.362583 \n0.369129 0.937257 0.362583 \n0.367934 0.936062 0.362583 \n0.321539 0.937257 0.25346 \n0.322383 0.938452 0.252616 \n0.323229 0.937257 0.25177 \n0.322383 0.936062 0.252616 \n0.212416 0.937257 0.20826 \n0.212416 0.938452 0.207065 \n0.212416 0.937257 0.20587 \n0.212416 0.936062 0.207065 \n0.103293 0.937257 0.25346 \n0.102448 0.938452 0.252616 \n0.101603 0.937257 0.25177 \n0.102448 0.936062 0.252616 \n0.058093 0.937257 0.362583 \n0.056898 0.938452 0.362583 \n0.055703 0.937257 0.362583 \n0.056898 0.936062 0.362583 \n0.103293 0.937257 0.471706 \n0.102448 0.938452 0.472551 \n0.101603 0.937257 0.473396 \n0.102448 0.936062 0.472551 \n0.212416 0.937257 0.516906 \n0.212416 0.938452 0.518101 \n0.212416 0.937257 0.519296 \n0.212416 0.936062 0.518101 \n0.321667 0.937257 0.471594 \n0.322383 0.938452 0.472551 \n0.3231 0.937257 0.473507 \n0.322383 0.936062 0.472551 \n0.333723 0.53513 0.361755 \n0.301023 0.53513 0.274294 \n0.295882 0.536823 0.272977 \n0.330708 0.536823 0.366122 \n0.295882 0.539935 0.272977 \n0.330708 0.539935 0.366122 \n0.193482 0.306696 0.680519 \n0.270937 0.306696 0.147619 \n0.434255 0.306696 0.583432 \n0.412444 0.306696 0.317932 \n0.135206 0.256302 1.01527 \n0.193482 0.256302 0.748831 \n0.187893 0.256302 1.01527 \n0.054894 0.256302 0.73682 \n0.371616 0.256302 0.728737 \n0.476643 0.164654 0.616491 \n0.176209 0.164519 1.2442 \n0.51446 -0.132634 0.424849 \n-0.149769 0.095279 1.18326 \n0.483845 -0.242268 1.00997 \n-0.163431 -0.095022 1.25104 \n0.477603 -0.242268 1.10914 \n-0.356119 -0.242268 1.1784 \n0.176209 0.099407 1.33413 \n0.402188 -0.242268 1.26737 \n-0.227295 -0.242268 1.33272 \n0.320453 -0.242268 1.42138 \n0.176209 -0.025535 1.44063 \n-0.010034 -0.242268 1.50713 \n0.184665 -0.242268 1.54542 \n0.012216 0.302315 0.475226 \n-0.332794 -0.242268 0.597218 \n0.073698 0.283743 0.680519 \n-0.342135 -0.242268 0.303262 \n-0.448308 -0.242268 0.075931 \n0.003598 0.300271 0.26376 \n-0.036653 0.120934 0.136556 \n0.012045 0.27325 0.147067 \n0.176209 0.266039 0.039153 \n0.176209 0.12808 -0.049652 \n0.395495 -0.097301 -0.154469 \n0.176209 0.056721 -0.140935 \n0.013203 -0.242268 -0.518385 \n0.013203 -0.097301 -0.518385 \n0.640294 -0.153993 -0.056114 \n0.176209 -0.003552 -0.322113 \n0.176209 -0.097301 -0.363214 \n0.176209 -0.097301 -0.756521 \n0.176209 -0.242268 -0.756521 \n0.837113 -0.153993 0.300314 \n0.339216 -0.153993 -0.601349 \n0.339216 -0.242268 -0.601349 \n0.837113 -0.242268 0.300314 \n0.497405 0.001433 0.511273 \n0.315302 0.306696 0.680519 \n-0.255645 -0.242268 -0.311609 \n-0.196198 -0.097301 -0.35733 \n0.373253 0.306696 0.171526 \n0.004793 0.256302 0.858952 \n0.015688 0.256302 1.01527 \n-0.140741 0.164519 1.08003 \n0.226813 0.256302 0.883497 \n0.193482 0.256302 0.680519 \n0.315302 0.256302 0.680519 \n0.176209 0.164519 1.08003 \n0.226813 0.051972 0.883497 \n0.476643 0.056387 0.616491 \n0.505578 -0.242268 0.717134 \n-0.353422 -0.242268 0.926527 \n0.497278 -0.097301 -0.049652 \n0.472259 -0.132634 0.390844 \n0.412444 0.208249 0.317932 \n0.411552 0.120078 0.470776 \n0.455204 0.001433 0.477269 \n0.434255 0.16612 0.583432 \n0.049946 0.367058 0.362583 \n0.049946 0.304809 0.362583 \n0.097533 0.367058 0.477466 \n0.097533 0.304809 0.477466 \n0.374885 0.367058 0.362583 \n0.374885 0.304809 0.362583 \n0.327299 0.367058 0.2477 \n0.327299 0.304809 0.2477 \n0.327299 0.367058 0.477466 \n0.374885 0.367058 0.362583 \n0.327299 0.367058 0.477466 \n0.357232 0.385732 0.362583 \n0.374885 0.367058 0.362583 \n0.327299 0.367058 0.2477 \n0.374885 0.367058 0.362583 \n0.314816 0.385732 0.260183 \n0.357232 0.385732 0.362583 \n0.327299 0.367058 0.2477 \n0.212416 0.367058 0.200114 \n0.327299 0.367058 0.2477 \n0.212416 0.385732 0.217767 \n0.314816 0.385732 0.260183 \n0.097533 0.367058 0.2477 \n0.049946 0.367058 0.362583 \n0.097533 0.367058 0.2477 \n0.0676 0.385732 0.362583 \n0.049946 0.367058 0.362583 \n0.097533 0.367058 0.477466 \n0.049946 0.367058 0.362583 \n0.110015 0.385732 0.464984 \n0.0676 0.385732 0.362583 \n0.097533 0.367058 0.477466 \n0.212416 0.367058 0.525052 \n0.097533 0.367058 0.477466 \n0.212416 0.385732 0.507399 \n0.110015 0.385732 0.464984 \n0.141396 0.884345 0.291563 \n0.091749 0.902397 0.362583 \n0.111979 0.884345 0.362583 \n0.111979 0.884345 0.362583 \n0.127091 0.902397 0.447908 \n0.091749 0.902397 0.362583 \n0.141396 0.884345 0.433603 \n0.141396 0.884345 0.433603 \n0.212416 0.902397 0.48325 \n0.127091 0.902397 0.447908 \n0.283435 0.884345 0.433603 \n0.333083 0.902397 0.362583 \n0.312852 0.884345 0.362583 \n0.312852 0.884345 0.362583 \n0.29774 0.902397 0.277259 \n0.333083 0.902397 0.362583 \n0.283435 0.884345 0.291563 \n0.283435 0.884345 0.291563 \n0.212416 0.902397 0.241916 \n0.29774 0.902397 0.277259 \n0.29774 0.902397 0.447908 \n0.333083 0.902397 0.362583 \n0.29774 0.902397 0.447908 \n0.360601 0.913602 0.362583 \n0.333083 0.902397 0.362583 \n0.29774 0.902397 0.277259 \n0.333083 0.902397 0.362583 \n0.317199 0.913602 0.2578 \n0.360601 0.913602 0.362583 \n0.29774 0.902397 0.277259 \n0.212416 0.902397 0.241916 \n0.29774 0.902397 0.277259 \n0.212416 0.913602 0.214398 \n0.317199 0.913602 0.2578 \n0.127091 0.902397 0.277259 \n0.091749 0.902397 0.362583 \n0.127091 0.902397 0.277259 \n0.064231 0.913602 0.362583 \n0.091749 0.902397 0.362583 \n0.127091 0.902397 0.447908 \n0.091749 0.902397 0.362583 \n0.107633 0.913602 0.467366 \n0.064231 0.913602 0.362583 \n0.127091 0.902397 0.447908 \n0.212416 0.902397 0.48325 \n0.127091 0.902397 0.447908 \n0.212416 0.913602 0.510768 \n0.107633 0.913602 0.467366 \n0.317199 0.913602 0.2578 \n0.212416 0.913602 0.214398 \n0.317199 0.913602 0.2578 \n0.212416 0.917337 0.200586 \n0.107633 0.913602 0.2578 \n0.064231 0.913602 0.362583 \n0.107633 0.913602 0.2578 \n0.050418 0.917337 0.362583 \n0.064231 0.913602 0.362583 \n0.107633 0.913602 0.467366 \n0.064231 0.913602 0.362583 \n0.097866 0.917337 0.477133 \n0.050418 0.917337 0.362583 \n0.107633 0.913602 0.467366 \n0.212416 0.913602 0.510768 \n0.107633 0.913602 0.467366 \n0.212416 0.917337 0.524581 \n0.097866 0.917337 0.477133 \n0.317199 0.913602 0.467366 \n0.360601 0.913602 0.362583 \n0.317199 0.913602 0.467366 \n0.374413 0.917337 0.362583 \n0.360601 0.913602 0.362583 \n0.317199 0.913602 0.2578 \n0.326965 0.917337 0.248033 \n0.360601 0.913602 0.362583 \n0.326965 0.917337 0.248033 \n0.374413 0.917337 0.362583 \n0.050418 0.917337 0.362583 \n0.097866 0.917337 0.477133 \n0.097866 0.917337 0.477133 \n0.212416 0.917337 0.524581 \n0.097866 0.926674 0.477133 \n0.326965 0.917337 0.477133 \n0.374413 0.917337 0.362583 \n0.374413 0.917337 0.362583 \n0.326965 0.917337 0.248033 \n0.374413 0.926674 0.362583 \n0.326965 0.917337 0.248033 \n0.212416 0.917337 0.200586 \n0.326965 0.926674 0.248033 \n0.097866 0.917337 0.248033 \n0.050418 0.917337 0.362583 \n0.050418 0.926674 0.362583 \n0.125794 0.595293 0.449205 \n0.212416 0.688141 0.475198 \n0.125794 0.595293 0.449205 \n0.132785 0.688141 0.442214 \n0.089914 0.595293 0.362583 \n0.132785 0.688141 0.442214 \n0.089914 0.595293 0.362583 \n0.099801 0.688141 0.362583 \n0.125794 0.595293 0.275961 \n0.099801 0.688141 0.362583 \n0.299038 0.595293 0.275961 \n0.212416 0.688141 0.249968 \n0.299038 0.595293 0.275961 \n0.292047 0.688141 0.282952 \n0.334918 0.595293 0.362583 \n0.292047 0.688141 0.282952 \n0.334918 0.595293 0.362583 \n0.325031 0.688141 0.362583 \n0.299038 0.595293 0.449205 \n0.325031 0.688141 0.362583 \n0.141396 0.884345 0.291563 \n0.141396 0.884345 0.291563 \n0.118749 0.866093 0.362583 \n0.111979 0.884345 0.362583 \n0.111979 0.884345 0.362583 \n0.118749 0.866093 0.362583 \n0.111979 0.884345 0.362583 \n0.146184 0.866093 0.428815 \n0.141396 0.884345 0.433603 \n0.141396 0.884345 0.433603 \n0.146184 0.866093 0.428815 \n0.141396 0.884345 0.433603 \n0.212416 0.866093 0.45625 \n0.212416 0.884345 0.46302 \n0.283435 0.884345 0.433603 \n0.283435 0.884345 0.433603 \n0.306082 0.866093 0.362583 \n0.312852 0.884345 0.362583 \n0.312852 0.884345 0.362583 \n0.306082 0.866093 0.362583 \n0.312852 0.884345 0.362583 \n0.278648 0.866093 0.296351 \n0.283435 0.884345 0.291563 \n0.283435 0.884345 0.291563 \n0.278648 0.866093 0.296351 \n0.283435 0.884345 0.291563 \n0.212416 0.866093 0.268917 \n0.212416 0.884345 0.262147 \n0.232461 0.754992 0.459777 \n0.269484 0.688141 0.45156 \n0.275497 0.528442 0.466074 \n0.238474 0.595293 0.474292 \n0.212416 0.688141 0.475198 \n0.212416 0.595293 0.485085 \n0.238474 0.595293 0.474292 \n0.212416 0.688141 0.475198 \n0.238474 0.595293 0.474292 \n0.234978 0.688141 0.465853 \n0.19237 0.754992 0.26539 \n0.155347 0.688141 0.273607 \n0.149335 0.528442 0.259092 \n0.186358 0.595293 0.250875 \n0.212416 0.688141 0.249968 \n0.212416 0.595293 0.240081 \n0.186358 0.595293 0.250875 \n0.212416 0.688141 0.249968 \n0.186358 0.595293 0.250875 \n0.189853 0.688141 0.259314 \n0.189853 0.688141 0.259314 \n0.186358 0.595293 0.250875 \n0.189853 0.688141 0.259314 \n0.188729 0.594684 0.256598 \n0.186358 0.595293 0.250875 \n0.151852 0.595293 0.265167 \n0.186358 0.595293 0.250875 \n0.154222 0.594684 0.270891 \n0.188729 0.594684 0.256598 \n0.151852 0.595293 0.265167 \n0.155347 0.688141 0.273607 \n0.151852 0.595293 0.265167 \n0.157718 0.687531 0.27933 \n0.154222 0.594684 0.270891 \n0.155347 0.688141 0.273607 \n0.189853 0.688141 0.259314 \n0.192224 0.687531 0.265037 \n0.157718 0.687531 0.27933 \n0.234978 0.688141 0.465853 \n0.238474 0.595293 0.474292 \n0.234978 0.688141 0.465853 \n0.236103 0.594684 0.468568 \n0.238474 0.595293 0.474292 \n0.27298 0.595293 0.459999 \n0.238474 0.595293 0.474292 \n0.270609 0.594684 0.454275 \n0.236103 0.594684 0.468568 \n0.27298 0.595293 0.459999 \n0.269484 0.688141 0.45156 \n0.27298 0.595293 0.459999 \n0.267114 0.687531 0.445837 \n0.270609 0.594684 0.454275 \n0.269484 0.688141 0.45156 \n0.234978 0.688141 0.465853 \n0.232607 0.687531 0.460129 \n0.269484 0.688141 0.45156 \n0.232607 0.687531 0.460129 \n0.267114 0.687531 0.445837 \n0.149335 0.528442 0.259092 \n0.183841 0.528442 0.244799 \n0.149335 0.528442 0.259092 \n0.186212 0.527833 0.250522 \n0.183841 0.528442 0.244799 \n0.183841 0.528442 0.244799 \n0.182716 0.434984 0.242083 \n0.186212 0.527833 0.250522 \n0.180346 0.435594 0.23636 \n0.180346 0.435594 0.23636 \n0.14821 0.434984 0.256376 \n0.182716 0.434984 0.242083 \n0.145839 0.435594 0.250653 \n0.149335 0.528442 0.259092 \n0.151706 0.527833 0.264815 \n0.145839 0.435594 0.250653 \n0.151706 0.527833 0.264815 \n0.14821 0.434984 0.256376 \n0.275497 0.528442 0.466074 \n0.24099 0.528442 0.480367 \n0.275497 0.528442 0.466074 \n0.23862 0.527833 0.474644 \n0.24099 0.528442 0.480367 \n0.24099 0.528442 0.480367 \n0.242115 0.434984 0.483083 \n0.23862 0.527833 0.474644 \n0.244486 0.435594 0.488806 \n0.244486 0.435594 0.488806 \n0.276622 0.434984 0.46879 \n0.242115 0.434984 0.483083 \n0.278992 0.435594 0.474513 \n0.275497 0.528442 0.466074 \n0.273126 0.527833 0.460351 \n0.278992 0.435594 0.474513 \n0.273126 0.527833 0.460351 \n0.276622 0.434984 0.46879 \n0.161359 0.84784 0.288121 \n0.198236 0.847231 0.279552 \n0.195866 0.84784 0.273828 \n0.19237 0.754992 0.26539 \n0.195866 0.84784 0.273828 \n0.194741 0.754382 0.271113 \n0.198236 0.847231 0.279552 \n0.19237 0.754992 0.26539 \n0.157864 0.754992 0.279683 \n0.194741 0.754382 0.271113 \n0.157864 0.754992 0.279683 \n0.161359 0.84784 0.288121 \n0.16373 0.847231 0.293845 \n0.157864 0.754992 0.279683 \n0.16373 0.847231 0.293845 \n0.160235 0.754382 0.285406 \n0.263472 0.84784 0.437045 \n0.226595 0.847231 0.445614 \n0.228966 0.84784 0.451338 \n0.232461 0.754992 0.459777 \n0.228966 0.84784 0.451338 \n0.230091 0.754382 0.454053 \n0.226595 0.847231 0.445614 \n0.232461 0.754992 0.459777 \n0.266968 0.754992 0.445484 \n0.232461 0.754992 0.459777 \n0.264597 0.754382 0.43976 \n0.230091 0.754382 0.454053 \n0.266968 0.754992 0.445484 \n0.263472 0.84784 0.437045 \n0.261101 0.847231 0.431321 \n0.266968 0.754992 0.445484 \n0.261101 0.847231 0.431321 \n0.264597 0.754382 0.43976 \n0.276622 0.434984 0.46879 \n0.273126 0.527833 0.460351 \n0.23862 0.527833 0.474644 \n0.276622 0.434984 0.46879 \n0.23862 0.527833 0.474644 \n0.242115 0.434984 0.483083 \n0.270609 0.594684 0.454275 \n0.267114 0.687531 0.445837 \n0.232607 0.687531 0.460129 \n0.270609 0.594684 0.454275 \n0.232607 0.687531 0.460129 \n0.236103 0.594684 0.468568 \n0.226595 0.847231 0.445614 \n0.230091 0.754382 0.454053 \n0.264597 0.754382 0.43976 \n0.226595 0.847231 0.445614 \n0.264597 0.754382 0.43976 \n0.261101 0.847231 0.431321 \n0.14821 0.434984 0.256376 \n0.151706 0.527833 0.264815 \n0.186212 0.527833 0.250522 \n0.14821 0.434984 0.256376 \n0.186212 0.527833 0.250522 \n0.182716 0.434984 0.242083 \n0.154222 0.594684 0.270891 \n0.157718 0.687531 0.27933 \n0.192224 0.687531 0.265037 \n0.154222 0.594684 0.270891 \n0.192224 0.687531 0.265037 \n0.188729 0.594684 0.256598 \n0.198236 0.847231 0.279552 \n0.194741 0.754382 0.271113 \n0.160235 0.754382 0.285406 \n0.198236 0.847231 0.279552 \n0.160235 0.754382 0.285406 \n0.16373 0.847231 0.293845 \n0.125794 0.595293 0.275961 \n0.132785 0.688141 0.282952 \n0.155347 0.688141 0.273607 \n0.125794 0.595293 0.275961 \n0.155347 0.688141 0.273607 \n0.151852 0.595293 0.265167 \n0.151852 0.595293 0.265167 \n0.149335 0.528442 0.259092 \n0.125794 0.595293 0.275961 \n0.183841 0.528442 0.244799 \n0.186358 0.595293 0.250875 \n0.212416 0.595293 0.240081 \n0.189853 0.688141 0.259314 \n0.19237 0.754992 0.26539 \n0.212416 0.688141 0.249968 \n0.157864 0.754992 0.279683 \n0.155347 0.688141 0.273607 \n0.132785 0.688141 0.282952 \n0.24099 0.528442 0.480367 \n0.238474 0.595293 0.474292 \n0.212416 0.595293 0.485085 \n0.299038 0.595293 0.449205 \n0.292047 0.688141 0.442214 \n0.269484 0.688141 0.45156 \n0.299038 0.595293 0.449205 \n0.269484 0.688141 0.45156 \n0.27298 0.595293 0.459999 \n0.27298 0.595293 0.459999 \n0.275497 0.528442 0.466074 \n0.299038 0.595293 0.449205 \n0.234978 0.688141 0.465853 \n0.232461 0.754992 0.459777 \n0.212416 0.688141 0.475198 \n0.266968 0.754992 0.445484 \n0.269484 0.688141 0.45156 \n0.292047 0.688141 0.442214 \n0.357232 0.385732 0.362583 \n0.314816 0.385732 0.260183 \n0.299038 0.595293 0.275961 \n0.357232 0.385732 0.362583 \n0.299038 0.595293 0.275961 \n0.334918 0.595293 0.362583 \n0.314816 0.385732 0.464984 \n0.299038 0.595293 0.449205 \n0.275497 0.528442 0.466074 \n0.314816 0.385732 0.464984 \n0.275497 0.528442 0.466074 \n0.278992 0.435594 0.474513 \n0.110015 0.385732 0.260183 \n0.125794 0.595293 0.275961 \n0.149335 0.528442 0.259092 \n0.110015 0.385732 0.260183 \n0.149335 0.528442 0.259092 \n0.145839 0.435594 0.250653 \n0.212416 0.385732 0.217767 \n0.212416 0.595293 0.240081 \n0.299038 0.595293 0.275961 \n0.212416 0.385732 0.217767 \n0.299038 0.595293 0.275961 \n0.314816 0.385732 0.260183 \n0.110015 0.385732 0.260183 \n0.0676 0.385732 0.362583 \n0.089914 0.595293 0.362583 \n0.110015 0.385732 0.260183 \n0.089914 0.595293 0.362583 \n0.125794 0.595293 0.275961 \n0.110015 0.385732 0.464984 \n0.125794 0.595293 0.449205 \n0.089914 0.595293 0.362583 \n0.110015 0.385732 0.464984 \n0.089914 0.595293 0.362583 \n0.0676 0.385732 0.362583 \n0.110015 0.385732 0.464984 \n0.212416 0.385732 0.507399 \n0.212416 0.595293 0.485085 \n0.110015 0.385732 0.464984 \n0.212416 0.595293 0.485085 \n0.125794 0.595293 0.449205 \n0.212416 0.385732 0.217767 \n0.180346 0.435594 0.23636 \n0.183841 0.528442 0.244799 \n0.212416 0.385732 0.217767 \n0.183841 0.528442 0.244799 \n0.212416 0.595293 0.240081 \n0.314816 0.385732 0.464984 \n0.357232 0.385732 0.362583 \n0.334918 0.595293 0.362583 \n0.314816 0.385732 0.464984 \n0.334918 0.595293 0.362583 \n0.299038 0.595293 0.449205 \n0.212416 0.385732 0.507399 \n0.244486 0.435594 0.488806 \n0.24099 0.528442 0.480367 \n0.212416 0.385732 0.507399 \n0.24099 0.528442 0.480367 \n0.212416 0.595293 0.485085 \n0.244486 0.435594 0.488806 \n0.212416 0.385732 0.507399 \n0.314816 0.385732 0.464984 \n0.244486 0.435594 0.488806 \n0.314816 0.385732 0.464984 \n0.278992 0.435594 0.474513 \n0.212416 0.367058 0.525052 \n0.327299 0.367058 0.477466 \n0.314816 0.385732 0.464984 \n0.212416 0.367058 0.525052 \n0.314816 0.385732 0.464984 \n0.212416 0.385732 0.507399 \n0.212416 0.367058 0.525052 \n0.212416 0.304809 0.525052 \n0.327299 0.304809 0.477466 \n0.327299 0.367058 0.477466 \n0.145839 0.435594 0.250653 \n0.180346 0.435594 0.23636 \n0.212416 0.385732 0.217767 \n0.145839 0.435594 0.250653 \n0.212416 0.385732 0.217767 \n0.110015 0.385732 0.260183 \n0.212416 0.367058 0.200114 \n0.097533 0.367058 0.2477 \n0.110015 0.385732 0.260183 \n0.212416 0.367058 0.200114 \n0.110015 0.385732 0.260183 \n0.212416 0.385732 0.217767 \n0.212416 0.367058 0.200114 \n0.212416 0.304809 0.200114 \n0.097533 0.304809 0.2477 \n0.097533 0.367058 0.2477 \n0.161359 0.84784 0.288121 \n0.146184 0.866093 0.296351 \n0.212416 0.866093 0.268917 \n0.161359 0.84784 0.288121 \n0.212416 0.866093 0.268917 \n0.195866 0.84784 0.273828 \n0.212416 0.917337 0.200586 \n0.212416 0.913602 0.214398 \n0.107633 0.913602 0.2578 \n0.212416 0.917337 0.200586 \n0.107633 0.913602 0.2578 \n0.097866 0.917337 0.248033 \n0.141396 0.884345 0.291563 \n0.212416 0.884345 0.262147 \n0.212416 0.866093 0.268917 \n0.141396 0.884345 0.291563 \n0.212416 0.866093 0.268917 \n0.146184 0.866093 0.296351 \n0.212416 0.913602 0.214398 \n0.212416 0.902397 0.241916 \n0.127091 0.902397 0.277259 \n0.212416 0.913602 0.214398 \n0.127091 0.902397 0.277259 \n0.107633 0.913602 0.2578 \n0.212416 0.926674 0.200586 \n0.212416 0.917337 0.200586 \n0.097866 0.917337 0.248033 \n0.097866 0.926674 0.248033 \n0.127091 0.902397 0.277259 \n0.212416 0.902397 0.241916 \n0.212416 0.884345 0.262147 \n0.127091 0.902397 0.277259 \n0.212416 0.884345 0.262147 \n0.141396 0.884345 0.291563 \n0.132785 0.688141 0.442214 \n0.212416 0.688141 0.475198 \n0.212416 0.866093 0.45625 \n0.132785 0.688141 0.442214 \n0.212416 0.866093 0.45625 \n0.146184 0.866093 0.428815 \n0.212416 0.688141 0.249968 \n0.19237 0.754992 0.26539 \n0.195866 0.84784 0.273828 \n0.212416 0.688141 0.249968 \n0.195866 0.84784 0.273828 \n0.212416 0.866093 0.268917 \n0.212416 0.688141 0.475198 \n0.232461 0.754992 0.459777 \n0.228966 0.84784 0.451338 \n0.212416 0.688141 0.475198 \n0.228966 0.84784 0.451338 \n0.212416 0.866093 0.45625 \n0.292047 0.688141 0.442214 \n0.325031 0.688141 0.362583 \n0.306082 0.866093 0.362583 \n0.292047 0.688141 0.442214 \n0.306082 0.866093 0.362583 \n0.278648 0.866093 0.428815 \n0.292047 0.688141 0.442214 \n0.278648 0.866093 0.428815 \n0.263472 0.84784 0.437045 \n0.292047 0.688141 0.442214 \n0.263472 0.84784 0.437045 \n0.266968 0.754992 0.445484 \n0.325031 0.688141 0.362583 \n0.292047 0.688141 0.282952 \n0.278648 0.866093 0.296351 \n0.325031 0.688141 0.362583 \n0.278648 0.866093 0.296351 \n0.306082 0.866093 0.362583 \n0.132785 0.688141 0.282952 \n0.146184 0.866093 0.296351 \n0.161359 0.84784 0.288121 \n0.132785 0.688141 0.282952 \n0.161359 0.84784 0.288121 \n0.157864 0.754992 0.279683 \n0.292047 0.688141 0.282952 \n0.212416 0.688141 0.249968 \n0.212416 0.866093 0.268917 \n0.292047 0.688141 0.282952 \n0.212416 0.866093 0.268917 \n0.278648 0.866093 0.296351 \n0.132785 0.688141 0.282952 \n0.099801 0.688141 0.362583 \n0.118749 0.866093 0.362583 \n0.132785 0.688141 0.282952 \n0.118749 0.866093 0.362583 \n0.146184 0.866093 0.296351 \n0.099801 0.688141 0.362583 \n0.132785 0.688141 0.442214 \n0.146184 0.866093 0.428815 \n0.099801 0.688141 0.362583 \n0.146184 0.866093 0.428815 \n0.118749 0.866093 0.362583 \n0.212416 0.926674 0.524581 \n0.212416 0.917337 0.524581 \n0.326965 0.917337 0.477133 \n0.326965 0.926674 0.477133 \n0.228966 0.84784 0.451338 \n0.263472 0.84784 0.437045 \n0.278648 0.866093 0.428815 \n0.228966 0.84784 0.451338 \n0.278648 0.866093 0.428815 \n0.212416 0.866093 0.45625 \n0.212416 0.917337 0.524581 \n0.212416 0.913602 0.510768 \n0.317199 0.913602 0.467366 \n0.212416 0.917337 0.524581 \n0.317199 0.913602 0.467366 \n0.326965 0.917337 0.477133 \n0.283435 0.884345 0.433603 \n0.212416 0.884345 0.46302 \n0.212416 0.866093 0.45625 \n0.283435 0.884345 0.433603 \n0.212416 0.866093 0.45625 \n0.278648 0.866093 0.428815 \n0.212416 0.913602 0.510768 \n0.212416 0.902397 0.48325 \n0.29774 0.902397 0.447908 \n0.212416 0.913602 0.510768 \n0.29774 0.902397 0.447908 \n0.317199 0.913602 0.467366 \n0.29774 0.902397 0.447908 \n0.212416 0.902397 0.48325 \n0.212416 0.884345 0.46302 \n0.29774 0.902397 0.447908 \n0.212416 0.884345 0.46302 \n0.283435 0.884345 0.433603 \n0.212416 0.926674 0.524581 \n0.326965 0.926674 0.477133 \n0.374413 0.926674 0.362583 \n0.326965 0.926674 0.248033 \n0.212416 0.926674 0.200586 \n0.097866 0.926674 0.248033 \n0.050418 0.926674 0.362583 \n0.097866 0.926674 0.477133 \n0.212416 1.06985 0.267273 \n0.145022 1.06985 0.295189 \n0.145022 1.06985 0.295189 \n0.117105 1.06985 0.362583 \n0.145022 1.07607 0.295189 \n0.117105 1.06985 0.362583 \n0.145022 1.06985 0.429977 \n0.117105 1.07607 0.362583 \n0.145022 1.06985 0.429977 \n0.212416 1.06985 0.457894 \n0.145022 1.07607 0.429977 \n0.212416 1.06985 0.457894 \n0.27981 1.06985 0.429977 \n0.212416 1.07607 0.457894 \n0.27981 1.06985 0.429977 \n0.307726 1.06985 0.362583 \n0.27981 1.07607 0.429977 \n0.307726 1.06985 0.362583 \n0.27981 1.06985 0.295189 \n0.307726 1.07607 0.362583 \n0.27981 1.06985 0.295189 \n0.212416 1.06985 0.267273 \n0.212416 1.07607 0.267273 \n0.27981 1.07607 0.295189 \n0.117105 1.07607 0.362583 \n0.145022 1.07607 0.429977 \n0.117105 1.07607 0.362583 \n0.196744 1.12587 0.378255 \n0.145022 1.07607 0.429977 \n0.212416 1.07607 0.457894 \n0.145022 1.07607 0.429977 \n0.212416 1.12587 0.384746 \n0.196744 1.12587 0.378255 \n0.212416 1.07607 0.457894 \n0.27981 1.07607 0.429977 \n0.212416 1.07607 0.457894 \n0.228088 1.12587 0.378255 \n0.212416 1.12587 0.384746 \n0.27981 1.07607 0.429977 \n0.307726 1.07607 0.362583 \n0.27981 1.07607 0.429977 \n0.234579 1.12587 0.362583 \n0.228088 1.12587 0.378255 \n0.307726 1.07607 0.362583 \n0.27981 1.07607 0.295189 \n0.307726 1.07607 0.362583 \n0.228088 1.12587 0.346911 \n0.234579 1.12587 0.362583 \n0.27981 1.07607 0.295189 \n0.212416 1.07607 0.267273 \n0.27981 1.07607 0.295189 \n0.212416 1.12587 0.34042 \n0.228088 1.12587 0.346911 \n0.212416 1.07607 0.267273 \n0.145022 1.07607 0.295189 \n0.212416 1.07607 0.267273 \n0.196744 1.12587 0.346911 \n0.212416 1.12587 0.34042 \n0.145022 1.07607 0.295189 \n0.117105 1.07607 0.362583 \n0.190253 1.12587 0.362583 \n0.145022 1.07607 0.295189 \n0.190253 1.12587 0.362583 \n0.196744 1.12587 0.346911 \n0.196744 1.12587 0.346911 \n0.190253 1.12587 0.362583 \n0.190253 1.12587 0.362583 \n0.196744 1.12587 0.378255 \n0.190253 1.1517 0.362583 \n0.196744 1.12587 0.378255 \n0.212416 1.12587 0.384746 \n0.196744 1.1517 0.378255 \n0.212416 1.12587 0.384746 \n0.228088 1.12587 0.378255 \n0.212416 1.1517 0.384746 \n0.228088 1.12587 0.378255 \n0.234579 1.12587 0.362583 \n0.228088 1.1517 0.378255 \n0.234579 1.12587 0.362583 \n0.228088 1.12587 0.346911 \n0.234579 1.1517 0.362583 \n0.228088 1.12587 0.346911 \n0.212416 1.12587 0.34042 \n0.228088 1.1517 0.346911 \n0.212416 1.12587 0.34042 \n0.196744 1.12587 0.346911 \n0.196744 1.1517 0.346911 \n0.212416 1.1517 0.34042 \n0.228088 1.1517 0.378255 \n0.234579 1.1517 0.362583 \n0.228088 1.1517 0.346911 \n0.212416 1.1517 0.34042 \n0.196744 1.1517 0.346911 \n0.190253 1.1517 0.362583 \n0.196744 1.1517 0.378255 \n0.212416 1.1517 0.384746 \n0.212416 1.1517 0.333974 \n0.192186 1.1517 0.342353 \n0.192186 1.1517 0.342353 \n0.183807 1.1517 0.362583 \n0.192186 1.15482 0.342353 \n0.183807 1.1517 0.362583 \n0.192186 1.1517 0.382813 \n0.183807 1.15482 0.362583 \n0.192186 1.1517 0.382813 \n0.212416 1.1517 0.391192 \n0.192186 1.15482 0.382813 \n0.212416 1.1517 0.391192 \n0.232645 1.1517 0.382813 \n0.212416 1.15482 0.391192 \n0.232645 1.1517 0.382813 \n0.241025 1.1517 0.362583 \n0.232645 1.15482 0.382813 \n0.241025 1.1517 0.362583 \n0.232645 1.1517 0.342353 \n0.241025 1.15482 0.362583 \n0.232645 1.1517 0.342353 \n0.212416 1.1517 0.333974 \n0.212416 1.15482 0.333974 \n0.232645 1.15482 0.342353 \n0.212416 1.15482 0.391192 \n0.232645 1.15482 0.382813 \n0.232645 1.15482 0.382813 \n0.241025 1.15482 0.362583 \n0.212416 1.17007 0.362583 \n0.241025 1.15482 0.362583 \n0.232645 1.15482 0.342353 \n0.212416 1.17007 0.362583 \n0.232645 1.15482 0.342353 \n0.212416 1.15482 0.333974 \n0.212416 1.17007 0.362583 \n0.212416 1.15482 0.333974 \n0.192186 1.15482 0.342353 \n0.212416 1.17007 0.362583 \n0.192186 1.15482 0.342353 \n0.183807 1.15482 0.362583 \n0.212416 1.17007 0.362583 \n0.183807 1.15482 0.362583 \n0.192186 1.15482 0.382813 \n0.212416 1.17007 0.362583 \n0.192186 1.15482 0.382813 \n0.212416 1.15482 0.391192 \n0.212416 1.17007 0.362583 \n0.165781 0.543312 0.249511 \n0.14594 0.533705 0.263748 \n0.145012 0.530597 0.25676 \n0.168029 0.538342 0.255092 \n0.143475 0.534338 0.257795 \n0.145012 0.530597 0.25676 \n0.147478 0.529963 0.262712 \n0.143475 0.534338 0.257795 \n0.147478 0.529963 0.262712 \n0.14594 0.533705 0.263748 \n0.143475 0.534338 0.257795 \n0.165781 0.543312 0.249511 \n0.165564 0.538976 0.24914 \n0.143475 0.534338 0.257795 \n0.165564 0.538976 0.24914 \n0.145012 0.530597 0.25676 \n0.165781 0.543312 0.249511 \n0.168247 0.542678 0.255464 \n0.18658 0.533711 0.239873 \n0.168247 0.542678 0.255464 \n0.18658 0.533711 0.239873 \n0.189046 0.533077 0.245826 \n0.185244 0.530011 0.240033 \n0.189046 0.533077 0.245826 \n0.165564 0.538976 0.24914 \n0.185244 0.530011 0.240033 \n0.18771 0.529377 0.245986 \n0.165564 0.538976 0.24914 \n0.18771 0.529377 0.245986 \n0.168029 0.538342 0.255092 \n0.165781 0.543312 0.249511 \n0.18658 0.533711 0.239873 \n0.185244 0.530011 0.240033 \n0.165781 0.543312 0.249511 \n0.185244 0.530011 0.240033 \n0.165564 0.538976 0.24914 \n0.171508 0.702052 0.26331 \n0.151667 0.692445 0.277546 \n0.150739 0.689337 0.270559 \n0.173756 0.697083 0.268891 \n0.149202 0.693079 0.271594 \n0.150739 0.689337 0.270559 \n0.153205 0.688704 0.276511 \n0.149202 0.693079 0.271594 \n0.153205 0.688704 0.276511 \n0.151667 0.692445 0.277546 \n0.149202 0.693079 0.271594 \n0.171508 0.702052 0.26331 \n0.17129 0.697717 0.262938 \n0.149202 0.693079 0.271594 \n0.17129 0.697717 0.262938 \n0.150739 0.689337 0.270559 \n0.171508 0.702052 0.26331 \n0.173973 0.701418 0.269262 \n0.192307 0.692451 0.253673 \n0.173973 0.701418 0.269262 \n0.192307 0.692451 0.253673 \n0.194772 0.691817 0.259625 \n0.190971 0.688751 0.253832 \n0.194772 0.691817 0.259625 \n0.17129 0.697717 0.262938 \n0.190971 0.688751 0.253832 \n0.193436 0.688117 0.259784 \n0.17129 0.697717 0.262938 \n0.193436 0.688117 0.259784 \n0.173756 0.697083 0.268891 \n0.171508 0.702052 0.26331 \n0.192307 0.692451 0.253673 \n0.190971 0.688751 0.253832 \n0.171508 0.702052 0.26331 \n0.190971 0.688751 0.253832 \n0.17129 0.697717 0.262938 \n0.259512 0.54321 0.475856 \n0.235412 0.533607 0.479807 \n0.239695 0.530493 0.485403 \n0.257155 0.538245 0.470317 \n0.237877 0.534236 0.48576 \n0.235412 0.533607 0.479807 \n0.23723 0.529865 0.47945 \n0.237877 0.534236 0.48576 \n0.23723 0.529865 0.47945 \n0.239695 0.530493 0.485403 \n0.237877 0.534236 0.48576 \n0.239695 0.530493 0.485403 \n0.259619 0.538873 0.476269 \n0.237877 0.534236 0.48576 \n0.259619 0.538873 0.476269 \n0.259512 0.54321 0.475856 \n0.257047 0.542581 0.469903 \n0.281032 0.533608 0.46796 \n0.257047 0.542581 0.469903 \n0.259512 0.54321 0.475856 \n0.278568 0.532979 0.462007 \n0.279973 0.529907 0.46879 \n0.278568 0.532979 0.462007 \n0.281032 0.533608 0.46796 \n0.259619 0.538873 0.476269 \n0.257155 0.538245 0.470317 \n0.277509 0.529279 0.462836 \n0.259619 0.538873 0.476269 \n0.277509 0.529279 0.462836 \n0.279973 0.529907 0.46879 \n0.259512 0.54321 0.475856 \n0.259619 0.538873 0.476269 \n0.279973 0.529907 0.46879 \n0.259512 0.54321 0.475856 \n0.279973 0.529907 0.46879 \n0.281032 0.533608 0.46796 \n0.253857 0.701963 0.462171 \n0.229757 0.69236 0.466122 \n0.23404 0.689246 0.471718 \n0.2515 0.696998 0.456631 \n0.232222 0.692988 0.472075 \n0.229757 0.69236 0.466122 \n0.231576 0.688618 0.465764 \n0.232222 0.692988 0.472075 \n0.231576 0.688618 0.465764 \n0.23404 0.689246 0.471718 \n0.232222 0.692988 0.472075 \n0.23404 0.689246 0.471718 \n0.253965 0.697626 0.462584 \n0.232222 0.692988 0.472075 \n0.253965 0.697626 0.462584 \n0.253857 0.701963 0.462171 \n0.251393 0.701334 0.456218 \n0.275377 0.692361 0.454275 \n0.251393 0.701334 0.456218 \n0.253857 0.701963 0.462171 \n0.272913 0.691732 0.448322 \n0.274319 0.688661 0.455104 \n0.272913 0.691732 0.448322 \n0.275377 0.692361 0.454275 \n0.253965 0.697626 0.462584 \n0.2515 0.696998 0.456631 \n0.271854 0.688032 0.449151 \n0.253965 0.697626 0.462584 \n0.271854 0.688032 0.449151 \n0.274319 0.688661 0.455104 \n0.253857 0.701963 0.462171 \n0.253965 0.697626 0.462584 \n0.274319 0.688661 0.455104 \n0.253857 0.701963 0.462171 \n0.274319 0.688661 0.455104 \n0.275377 0.692361 0.454275 \n0.2141 0.973361 0.440094 \n0.266033 0.973361 0.418583 \n0.266033 1.04806 0.418583 \n0.2141 1.04806 0.440094 \n0.268415 0.973361 0.416201 \n0.289927 0.973361 0.364268 \n0.289927 1.04806 0.364268 \n0.268415 1.04806 0.416201 \n0.289927 0.973361 0.360899 \n0.268415 0.973361 0.308966 \n0.268415 1.04806 0.308966 \n0.289927 1.04806 0.360899 \n0.266033 0.973361 0.306583 \n0.2141 0.973361 0.285072 \n0.2141 1.04806 0.285072 \n0.266033 1.04806 0.306583 \n0.210731 0.973361 0.285072 \n0.158798 0.973361 0.306583 \n0.158798 1.04806 0.306583 \n0.210731 1.04806 0.285072 \n0.156416 0.973361 0.308966 \n0.134905 0.973361 0.360899 \n0.134905 1.04806 0.360899 \n0.156416 1.04806 0.308966 \n0.134905 0.973361 0.364268 \n0.156416 0.973361 0.416201 \n0.156416 1.04806 0.416201 \n0.134905 1.04806 0.364268 \n0.158798 0.973361 0.418583 \n0.210731 0.973361 0.440094 \n0.210731 1.04806 0.440094 \n0.158798 1.04806 0.418583 \n0.289927 1.04806 0.360899 \n0.268415 1.04806 0.308966 \n0.271291 1.04806 0.307775 \n0.292803 1.04806 0.359708 \n0.2701 1.06985 0.304899 \n0.293993 1.06985 0.362583 \n0.292803 1.04806 0.359708 \n0.2701 1.06985 0.304899 \n0.292803 1.04806 0.359708 \n0.271291 1.04806 0.307775 \n0.289927 1.04806 0.364268 \n0.292803 1.04806 0.365459 \n0.271291 1.04806 0.417392 \n0.268415 1.04806 0.416201 \n0.293993 1.06985 0.362583 \n0.2701 1.06985 0.420267 \n0.271291 1.04806 0.417392 \n0.293993 1.06985 0.362583 \n0.271291 1.04806 0.417392 \n0.292803 1.04806 0.365459 \n0.2141 1.04806 0.440094 \n0.266033 1.04806 0.418583 \n0.267224 1.04806 0.421458 \n0.215291 1.04806 0.44297 \n0.2701 1.06985 0.420267 \n0.212416 1.06985 0.444161 \n0.215291 1.04806 0.44297 \n0.2701 1.06985 0.420267 \n0.215291 1.04806 0.44297 \n0.267224 1.04806 0.421458 \n0.210731 1.04806 0.440094 \n0.20954 1.04806 0.44297 \n0.157607 1.04806 0.421458 \n0.158798 1.04806 0.418583 \n0.212416 1.06985 0.444161 \n0.154732 1.06985 0.420267 \n0.157607 1.04806 0.421458 \n0.212416 1.06985 0.444161 \n0.157607 1.04806 0.421458 \n0.20954 1.04806 0.44297 \n0.134905 1.04806 0.364268 \n0.156416 1.04806 0.416201 \n0.153541 1.04806 0.417392 \n0.132029 1.04806 0.365459 \n0.154732 1.06985 0.420267 \n0.130838 1.06985 0.362583 \n0.132029 1.04806 0.365459 \n0.154732 1.06985 0.420267 \n0.132029 1.04806 0.365459 \n0.153541 1.04806 0.417392 \n0.134905 1.04806 0.360899 \n0.132029 1.04806 0.359708 \n0.153541 1.04806 0.307775 \n0.156416 1.04806 0.308966 \n0.130838 1.06985 0.362583 \n0.154732 1.06985 0.304899 \n0.153541 1.04806 0.307775 \n0.130838 1.06985 0.362583 \n0.153541 1.04806 0.307775 \n0.132029 1.04806 0.359708 \n0.210731 1.04806 0.285072 \n0.158798 1.04806 0.306583 \n0.157607 1.04806 0.303708 \n0.20954 1.04806 0.282196 \n0.154732 1.06985 0.304899 \n0.212416 1.06985 0.281005 \n0.20954 1.04806 0.282196 \n0.154732 1.06985 0.304899 \n0.20954 1.04806 0.282196 \n0.157607 1.04806 0.303708 \n0.2141 1.04806 0.285072 \n0.215291 1.04806 0.282196 \n0.267224 1.04806 0.303708 \n0.266033 1.04806 0.306583 \n0.212416 1.06985 0.281005 \n0.2701 1.06985 0.304899 \n0.267224 1.04806 0.303708 \n0.212416 1.06985 0.281005 \n0.267224 1.04806 0.303708 \n0.215291 1.04806 0.282196 \n0.2141 0.973361 0.440094 \n0.215291 0.973361 0.44297 \n0.267224 0.973361 0.421458 \n0.266033 0.973361 0.418583 \n0.212416 0.926674 0.444161 \n0.2701 0.926674 0.420267 \n0.267224 0.973361 0.421458 \n0.212416 0.926674 0.444161 \n0.267224 0.973361 0.421458 \n0.215291 0.973361 0.44297 \n0.289927 0.973361 0.364268 \n0.268415 0.973361 0.416201 \n0.271291 0.973361 0.417392 \n0.292803 0.973361 0.365459 \n0.2701 0.926674 0.420267 \n0.293993 0.926674 0.362583 \n0.292803 0.973361 0.365459 \n0.2701 0.926674 0.420267 \n0.292803 0.973361 0.365459 \n0.271291 0.973361 0.417392 \n0.289927 0.973361 0.360899 \n0.292803 0.973361 0.359708 \n0.271291 0.973361 0.307775 \n0.268415 0.973361 0.308966 \n0.293993 0.926674 0.362583 \n0.2701 0.926674 0.304899 \n0.271291 0.973361 0.307775 \n0.293993 0.926674 0.362583 \n0.271291 0.973361 0.307775 \n0.292803 0.973361 0.359708 \n0.2141 0.973361 0.285072 \n0.266033 0.973361 0.306583 \n0.267224 0.973361 0.303708 \n0.215291 0.973361 0.282196 \n0.2701 0.926674 0.304899 \n0.212416 0.926674 0.281005 \n0.215291 0.973361 0.282196 \n0.2701 0.926674 0.304899 \n0.215291 0.973361 0.282196 \n0.267224 0.973361 0.303708 \n0.210731 0.973361 0.285072 \n0.20954 0.973361 0.282196 \n0.157607 0.973361 0.303708 \n0.158798 0.973361 0.306583 \n0.212416 0.926674 0.281005 \n0.154732 0.926674 0.304899 \n0.157607 0.973361 0.303708 \n0.212416 0.926674 0.281005 \n0.157607 0.973361 0.303708 \n0.20954 0.973361 0.282196 \n0.134905 0.973361 0.360899 \n0.156416 0.973361 0.308966 \n0.153541 0.973361 0.307775 \n0.132029 0.973361 0.359708 \n0.154732 0.926674 0.304899 \n0.130838 0.926674 0.362583 \n0.132029 0.973361 0.359708 \n0.154732 0.926674 0.304899 \n0.132029 0.973361 0.359708 \n0.153541 0.973361 0.307775 \n0.134905 0.973361 0.364268 \n0.132029 0.973361 0.365459 \n0.153541 0.973361 0.417392 \n0.156416 0.973361 0.416201 \n0.130838 0.926674 0.362583 \n0.154732 0.926674 0.420267 \n0.153541 0.973361 0.417392 \n0.130838 0.926674 0.362583 \n0.153541 0.973361 0.417392 \n0.132029 0.973361 0.365459 \n0.210731 0.973361 0.440094 \n0.158798 0.973361 0.418583 \n0.157607 0.973361 0.421458 \n0.20954 0.973361 0.44297 \n0.154732 0.926674 0.420267 \n0.212416 0.926674 0.444161 \n0.20954 0.973361 0.44297 \n0.154732 0.926674 0.420267 \n0.20954 0.973361 0.44297 \n0.157607 0.973361 0.421458 \n0.293993 1.06985 0.362583 \n0.293993 0.926674 0.362583 \n0.292803 0.973361 0.359708 \n0.293993 1.06985 0.362583 \n0.292803 0.973361 0.359708 \n0.292803 1.04806 0.359708 \n0.212416 1.06985 0.444161 \n0.20954 1.04806 0.44297 \n0.20954 0.973361 0.44297 \n0.212416 0.926674 0.444161 \n0.154732 1.06985 0.420267 \n0.154732 0.926674 0.420267 \n0.157607 0.973361 0.421458 \n0.157607 1.04806 0.421458 \n0.2701 1.06985 0.304899 \n0.2701 0.926674 0.304899 \n0.267224 0.973361 0.303708 \n0.2701 1.06985 0.304899 \n0.267224 0.973361 0.303708 \n0.267224 1.04806 0.303708 \n0.212416 1.06985 0.281005 \n0.215291 1.04806 0.282196 \n0.215291 0.973361 0.282196 \n0.212416 1.06985 0.281005 \n0.215291 0.973361 0.282196 \n0.212416 0.926674 0.281005 \n0.2701 1.06985 0.420267 \n0.2701 0.926674 0.420267 \n0.271291 0.973361 0.417392 \n0.2701 1.06985 0.420267 \n0.271291 0.973361 0.417392 \n0.271291 1.04806 0.417392 \n0.293993 1.06985 0.362583 \n0.292803 1.04806 0.365459 \n0.292803 0.973361 0.365459 \n0.293993 0.926674 0.362583 \n0.130838 1.06985 0.362583 \n0.130838 0.926674 0.362583 \n0.132029 0.973361 0.365459 \n0.130838 1.06985 0.362583 \n0.132029 0.973361 0.365459 \n0.132029 1.04806 0.365459 \n0.154732 1.06985 0.420267 \n0.153541 1.04806 0.417392 \n0.153541 0.973361 0.417392 \n0.154732 1.06985 0.420267 \n0.153541 0.973361 0.417392 \n0.154732 0.926674 0.420267 \n0.2701 1.06985 0.304899 \n0.271291 1.04806 0.307775 \n0.271291 0.973361 0.307775 \n0.2701 1.06985 0.304899 \n0.271291 0.973361 0.307775 \n0.2701 0.926674 0.304899 \n0.2701 1.06985 0.420267 \n0.267224 1.04806 0.421458 \n0.267224 0.973361 0.421458 \n0.2701 1.06985 0.420267 \n0.267224 0.973361 0.421458 \n0.2701 0.926674 0.420267 \n0.212416 1.06985 0.444161 \n0.212416 0.926674 0.444161 \n0.215291 0.973361 0.44297 \n0.212416 1.06985 0.444161 \n0.215291 0.973361 0.44297 \n0.215291 1.04806 0.44297 \n0.154732 1.06985 0.304899 \n0.154732 0.926674 0.304899 \n0.153541 0.973361 0.307775 \n0.154732 1.06985 0.304899 \n0.153541 0.973361 0.307775 \n0.153541 1.04806 0.307775 \n0.130838 1.06985 0.362583 \n0.132029 1.04806 0.359708 \n0.132029 0.973361 0.359708 \n0.130838 1.06985 0.362583 \n0.132029 0.973361 0.359708 \n0.130838 0.926674 0.362583 \n0.154732 1.06985 0.304899 \n0.157607 1.04806 0.303708 \n0.157607 0.973361 0.303708 \n0.154732 0.926674 0.304899 \n0.212416 1.06985 0.281005 \n0.212416 0.926674 0.281005 \n0.20954 0.973361 0.282196 \n0.20954 1.04806 0.282196 \n0.056171 0.92543 0.361027 \n0.053059 0.92543 0.361027 \n0.056171 0.971307 0.361027 \n0.056171 0.92543 0.364139 \n0.056171 0.92543 0.361027 \n0.056171 0.971307 0.364139 \n0.053059 0.92543 0.364139 \n0.056171 0.92543 0.364139 \n0.053059 0.971307 0.364139 \n0.053059 0.971307 0.361027 \n0.053059 0.92543 0.361027 \n0.053059 0.92543 0.364139 \n0.053059 0.971307 0.361027 \n0.053059 0.971307 0.364139 \n0.056171 0.971307 0.364139 \n0.056171 0.971307 0.361027 \n0.100834 0.92543 0.471964 \n0.098633 0.92543 0.474165 \n0.100834 0.971307 0.471964 \n0.103035 0.92543 0.474165 \n0.100834 0.92543 0.471964 \n0.103035 0.971307 0.474165 \n0.100834 0.92543 0.476366 \n0.103035 0.92543 0.474165 \n0.100834 0.971307 0.476366 \n0.098633 0.971307 0.474165 \n0.098633 0.92543 0.474165 \n0.100834 0.92543 0.476366 \n0.098633 0.971307 0.474165 \n0.100834 0.971307 0.476366 \n0.103035 0.971307 0.474165 \n0.100834 0.971307 0.471964 \n0.21086 0.92543 0.518828 \n0.21086 0.92543 0.52194 \n0.21086 0.971307 0.518828 \n0.213972 0.92543 0.518828 \n0.21086 0.92543 0.518828 \n0.213972 0.971307 0.518828 \n0.213972 0.92543 0.52194 \n0.213972 0.92543 0.518828 \n0.213972 0.971307 0.52194 \n0.21086 0.971307 0.52194 \n0.21086 0.92543 0.52194 \n0.213972 0.92543 0.52194 \n0.21086 0.971307 0.52194 \n0.213972 0.971307 0.52194 \n0.213972 0.971307 0.518828 \n0.21086 0.971307 0.518828 \n0.321797 0.92543 0.474165 \n0.323998 0.92543 0.476366 \n0.321797 0.971307 0.474165 \n0.323998 0.92543 0.471964 \n0.321797 0.92543 0.474165 \n0.323998 0.971307 0.471964 \n0.326199 0.92543 0.474165 \n0.323998 0.92543 0.471964 \n0.326199 0.971307 0.474165 \n0.323998 0.971307 0.476366 \n0.323998 0.92543 0.476366 \n0.326199 0.92543 0.474165 \n0.323998 0.971307 0.476366 \n0.326199 0.971307 0.474165 \n0.323998 0.971307 0.471964 \n0.321797 0.971307 0.474165 \n0.36866 0.92543 0.364139 \n0.371773 0.92543 0.364139 \n0.36866 0.971307 0.364139 \n0.36866 0.92543 0.361027 \n0.36866 0.92543 0.364139 \n0.36866 0.971307 0.361027 \n0.371773 0.92543 0.361027 \n0.36866 0.92543 0.361027 \n0.371773 0.971307 0.361027 \n0.371773 0.971307 0.364139 \n0.371773 0.92543 0.364139 \n0.371773 0.92543 0.361027 \n0.371773 0.971307 0.364139 \n0.371773 0.971307 0.361027 \n0.36866 0.971307 0.361027 \n0.36866 0.971307 0.364139 \n0.323997 0.92543 0.253201 \n0.326199 0.92543 0.251001 \n0.323997 0.971307 0.253201 \n0.321797 0.92543 0.251001 \n0.323997 0.92543 0.253201 \n0.321797 0.971307 0.251001 \n0.323997 0.92543 0.2488 \n0.321797 0.92543 0.251001 \n0.323997 0.971307 0.2488 \n0.326199 0.971307 0.251001 \n0.326199 0.92543 0.251001 \n0.323997 0.92543 0.2488 \n0.326199 0.971307 0.251001 \n0.323997 0.971307 0.2488 \n0.321797 0.971307 0.251001 \n0.323997 0.971307 0.253201 \n0.213971 0.92543 0.206339 \n0.213971 0.92543 0.203226 \n0.213971 0.971307 0.206339 \n0.210859 0.92543 0.206339 \n0.213971 0.92543 0.206339 \n0.210859 0.971307 0.206339 \n0.210859 0.92543 0.203226 \n0.210859 0.92543 0.206339 \n0.210859 0.971307 0.203226 \n0.213971 0.971307 0.203226 \n0.213971 0.92543 0.203226 \n0.210859 0.92543 0.203226 \n0.213971 0.971307 0.203226 \n0.210859 0.971307 0.203226 \n0.210859 0.971307 0.206339 \n0.213971 0.971307 0.206339 \n0.103034 0.92543 0.251002 \n0.100834 0.92543 0.248801 \n0.103034 0.971307 0.251002 \n0.100834 0.92543 0.253203 \n0.103034 0.92543 0.251002 \n0.100834 0.971307 0.253203 \n0.098632 0.92543 0.251002 \n0.100834 0.92543 0.253203 \n0.098632 0.971307 0.251002 \n0.100834 0.971307 0.248801 \n0.100834 0.92543 0.248801 \n0.098632 0.92543 0.251002 \n0.100834 0.971307 0.248801 \n0.098632 0.971307 0.251002 \n0.100834 0.971307 0.253203 \n0.103034 0.971307 0.251002 \n0.321427 0.968381 0.471834 \n0.32334 0.968381 0.473267 \n0.321427 0.968381 0.471834 \n0.322383 0.969576 0.472551 \n0.321427 0.968381 0.471834 \n0.367934 0.969576 0.362583 \n0.322383 0.969576 0.472551 \n0.32334 0.968381 0.473267 \n0.322383 0.969576 0.472551 \n0.369129 0.968381 0.362583 \n0.367934 0.969576 0.362583 \n0.32334 0.968381 0.473267 \n0.322383 0.967186 0.472551 \n0.32334 0.968381 0.473267 \n0.367934 0.967186 0.362583 \n0.369129 0.968381 0.362583 \n0.322383 0.967186 0.472551 \n0.321427 0.968381 0.471834 \n0.366739 0.968381 0.362583 \n0.322383 0.967186 0.472551 \n0.366739 0.968381 0.362583 \n0.367934 0.967186 0.362583 \n0.366739 0.968381 0.362583 \n0.367934 0.969576 0.362583 \n0.366739 0.968381 0.362583 \n0.322383 0.969576 0.252616 \n0.367934 0.969576 0.362583 \n0.369129 0.968381 0.362583 \n0.367934 0.969576 0.362583 \n0.323229 0.968381 0.25177 \n0.322383 0.969576 0.252616 \n0.369129 0.968381 0.362583 \n0.367934 0.967186 0.362583 \n0.369129 0.968381 0.362583 \n0.322383 0.967186 0.252616 \n0.323229 0.968381 0.25177 \n0.367934 0.967186 0.362583 \n0.366739 0.968381 0.362583 \n0.321539 0.968381 0.25346 \n0.367934 0.967186 0.362583 \n0.321539 0.968381 0.25346 \n0.322383 0.967186 0.252616 \n0.321539 0.968381 0.25346 \n0.322383 0.969576 0.252616 \n0.321539 0.968381 0.25346 \n0.212416 0.969576 0.207065 \n0.322383 0.969576 0.252616 \n0.323229 0.968381 0.25177 \n0.322383 0.969576 0.252616 \n0.212416 0.968381 0.20587 \n0.212416 0.969576 0.207065 \n0.323229 0.968381 0.25177 \n0.322383 0.967186 0.252616 \n0.323229 0.968381 0.25177 \n0.212416 0.967186 0.207065 \n0.212416 0.968381 0.20587 \n0.322383 0.967186 0.252616 \n0.321539 0.968381 0.25346 \n0.212416 0.968381 0.20826 \n0.322383 0.967186 0.252616 \n0.212416 0.968381 0.20826 \n0.212416 0.967186 0.207065 \n0.212416 0.968381 0.20826 \n0.212416 0.969576 0.207065 \n0.212416 0.968381 0.20826 \n0.102448 0.969576 0.252616 \n0.212416 0.969576 0.207065 \n0.212416 0.968381 0.20587 \n0.212416 0.969576 0.207065 \n0.101603 0.968381 0.25177 \n0.102448 0.969576 0.252616 \n0.212416 0.968381 0.20587 \n0.212416 0.967186 0.207065 \n0.212416 0.968381 0.20587 \n0.102448 0.967186 0.252616 \n0.101603 0.968381 0.25177 \n0.212416 0.967186 0.207065 \n0.212416 0.968381 0.20826 \n0.103293 0.968381 0.25346 \n0.212416 0.967186 0.207065 \n0.103293 0.968381 0.25346 \n0.102448 0.967186 0.252616 \n0.103293 0.968381 0.25346 \n0.102448 0.969576 0.252616 \n0.103293 0.968381 0.25346 \n0.056898 0.969576 0.362583 \n0.102448 0.969576 0.252616 \n0.101603 0.968381 0.25177 \n0.102448 0.969576 0.252616 \n0.055703 0.968381 0.362583 \n0.056898 0.969576 0.362583 \n0.101603 0.968381 0.25177 \n0.102448 0.967186 0.252616 \n0.101603 0.968381 0.25177 \n0.056898 0.967186 0.362583 \n0.055703 0.968381 0.362583 \n0.102448 0.967186 0.252616 \n0.103293 0.968381 0.25346 \n0.058093 0.968381 0.362583 \n0.102448 0.967186 0.252616 \n0.058093 0.968381 0.362583 \n0.056898 0.967186 0.362583 \n0.058093 0.968381 0.362583 \n0.056898 0.969576 0.362583 \n0.058093 0.968381 0.362583 \n0.102448 0.969576 0.472551 \n0.056898 0.969576 0.362583 \n0.055703 0.968381 0.362583 \n0.056898 0.969576 0.362583 \n0.101603 0.968381 0.473396 \n0.102448 0.969576 0.472551 \n0.055703 0.968381 0.362583 \n0.056898 0.967186 0.362583 \n0.055703 0.968381 0.362583 \n0.102448 0.967186 0.472551 \n0.101603 0.968381 0.473396 \n0.056898 0.967186 0.362583 \n0.058093 0.968381 0.362583 \n0.103293 0.968381 0.471706 \n0.056898 0.967186 0.362583 \n0.103293 0.968381 0.471706 \n0.102448 0.967186 0.472551 \n0.103293 0.968381 0.471706 \n0.102448 0.969576 0.472551 \n0.103293 0.968381 0.471706 \n0.212416 0.969576 0.518101 \n0.102448 0.969576 0.472551 \n0.101603 0.968381 0.473396 \n0.102448 0.969576 0.472551 \n0.212416 0.968381 0.519296 \n0.212416 0.969576 0.518101 \n0.101603 0.968381 0.473396 \n0.102448 0.967186 0.472551 \n0.101603 0.968381 0.473396 \n0.212416 0.967186 0.518101 \n0.212416 0.968381 0.519296 \n0.102448 0.967186 0.472551 \n0.103293 0.968381 0.471706 \n0.212416 0.968381 0.516906 \n0.102448 0.967186 0.472551 \n0.212416 0.968381 0.516906 \n0.212416 0.967186 0.518101 \n0.212416 0.968381 0.516906 \n0.212416 0.969576 0.518101 \n0.212416 0.968381 0.516906 \n0.322383 0.969576 0.472551 \n0.212416 0.969576 0.518101 \n0.212416 0.968381 0.519296 \n0.212416 0.969576 0.518101 \n0.3231 0.968381 0.473507 \n0.322383 0.969576 0.472551 \n0.212416 0.968381 0.519296 \n0.212416 0.967186 0.518101 \n0.212416 0.968381 0.519296 \n0.322383 0.967186 0.472551 \n0.3231 0.968381 0.473507 \n0.212416 0.967186 0.518101 \n0.212416 0.968381 0.516906 \n0.321667 0.968381 0.471594 \n0.212416 0.967186 0.518101 \n0.321667 0.968381 0.471594 \n0.322383 0.967186 0.472551 \n0.321667 0.968381 0.471594 \n0.322383 0.969576 0.472551 \n0.3231 0.968381 0.473507 \n0.321667 0.968381 0.471594 \n0.3231 0.968381 0.473507 \n0.322383 0.967186 0.472551 \n0.321427 0.937257 0.471834 \n0.32334 0.937257 0.473267 \n0.321427 0.937257 0.471834 \n0.322383 0.938452 0.472551 \n0.321427 0.937257 0.471834 \n0.367934 0.938452 0.362583 \n0.322383 0.938452 0.472551 \n0.32334 0.937257 0.473267 \n0.322383 0.938452 0.472551 \n0.369129 0.937257 0.362583 \n0.367934 0.938452 0.362583 \n0.32334 0.937257 0.473267 \n0.322383 0.936062 0.472551 \n0.32334 0.937257 0.473267 \n0.367934 0.936062 0.362583 \n0.369129 0.937257 0.362583 \n0.322383 0.936062 0.472551 \n0.321427 0.937257 0.471834 \n0.366739 0.937257 0.362583 \n0.322383 0.936062 0.472551 \n0.366739 0.937257 0.362583 \n0.367934 0.936062 0.362583 \n0.366739 0.937257 0.362583 \n0.367934 0.938452 0.362583 \n0.366739 0.937257 0.362583 \n0.322383 0.938452 0.252616 \n0.367934 0.938452 0.362583 \n0.369129 0.937257 0.362583 \n0.367934 0.938452 0.362583 \n0.323229 0.937257 0.25177 \n0.322383 0.938452 0.252616 \n0.369129 0.937257 0.362583 \n0.367934 0.936062 0.362583 \n0.369129 0.937257 0.362583 \n0.322383 0.936062 0.252616 \n0.323229 0.937257 0.25177 \n0.367934 0.936062 0.362583 \n0.366739 0.937257 0.362583 \n0.321539 0.937257 0.25346 \n0.367934 0.936062 0.362583 \n0.321539 0.937257 0.25346 \n0.322383 0.936062 0.252616 \n0.321539 0.937257 0.25346 \n0.322383 0.938452 0.252616 \n0.321539 0.937257 0.25346 \n0.212416 0.938452 0.207065 \n0.322383 0.938452 0.252616 \n0.323229 0.937257 0.25177 \n0.322383 0.938452 0.252616 \n0.212416 0.937257 0.20587 \n0.212416 0.938452 0.207065 \n0.323229 0.937257 0.25177 \n0.322383 0.936062 0.252616 \n0.323229 0.937257 0.25177 \n0.212416 0.936062 0.207065 \n0.212416 0.937257 0.20587 \n0.322383 0.936062 0.252616 \n0.321539 0.937257 0.25346 \n0.212416 0.937257 0.20826 \n0.322383 0.936062 0.252616 \n0.212416 0.937257 0.20826 \n0.212416 0.936062 0.207065 \n0.212416 0.937257 0.20826 \n0.212416 0.938452 0.207065 \n0.212416 0.937257 0.20826 \n0.102448 0.938452 0.252616 \n0.212416 0.938452 0.207065 \n0.212416 0.937257 0.20587 \n0.212416 0.938452 0.207065 \n0.101603 0.937257 0.25177 \n0.102448 0.938452 0.252616 \n0.212416 0.937257 0.20587 \n0.212416 0.936062 0.207065 \n0.212416 0.937257 0.20587 \n0.102448 0.936062 0.252616 \n0.101603 0.937257 0.25177 \n0.212416 0.936062 0.207065 \n0.212416 0.937257 0.20826 \n0.103293 0.937257 0.25346 \n0.212416 0.936062 0.207065 \n0.103293 0.937257 0.25346 \n0.102448 0.936062 0.252616 \n0.103293 0.937257 0.25346 \n0.102448 0.938452 0.252616 \n0.103293 0.937257 0.25346 \n0.056898 0.938452 0.362583 \n0.102448 0.938452 0.252616 \n0.101603 0.937257 0.25177 \n0.102448 0.938452 0.252616 \n0.055703 0.937257 0.362583 \n0.056898 0.938452 0.362583 \n0.101603 0.937257 0.25177 \n0.102448 0.936062 0.252616 \n0.101603 0.937257 0.25177 \n0.056898 0.936062 0.362583 \n0.055703 0.937257 0.362583 \n0.102448 0.936062 0.252616 \n0.103293 0.937257 0.25346 \n0.058093 0.937257 0.362583 \n0.102448 0.936062 0.252616 \n0.058093 0.937257 0.362583 \n0.056898 0.936062 0.362583 \n0.058093 0.937257 0.362583 \n0.056898 0.938452 0.362583 \n0.058093 0.937257 0.362583 \n0.102448 0.938452 0.472551 \n0.056898 0.938452 0.362583 \n0.055703 0.937257 0.362583 \n0.056898 0.938452 0.362583 \n0.101603 0.937257 0.473396 \n0.102448 0.938452 0.472551 \n0.055703 0.937257 0.362583 \n0.056898 0.936062 0.362583 \n0.055703 0.937257 0.362583 \n0.102448 0.936062 0.472551 \n0.101603 0.937257 0.473396 \n0.056898 0.936062 0.362583 \n0.058093 0.937257 0.362583 \n0.103293 0.937257 0.471706 \n0.056898 0.936062 0.362583 \n0.103293 0.937257 0.471706 \n0.102448 0.936062 0.472551 \n0.103293 0.937257 0.471706 \n0.102448 0.938452 0.472551 \n0.103293 0.937257 0.471706 \n0.212416 0.938452 0.518101 \n0.102448 0.938452 0.472551 \n0.101603 0.937257 0.473396 \n0.102448 0.938452 0.472551 \n0.212416 0.937257 0.519296 \n0.212416 0.938452 0.518101 \n0.101603 0.937257 0.473396 \n0.102448 0.936062 0.472551 \n0.101603 0.937257 0.473396 \n0.212416 0.936062 0.518101 \n0.212416 0.937257 0.519296 \n0.102448 0.936062 0.472551 \n0.103293 0.937257 0.471706 \n0.212416 0.937257 0.516906 \n0.102448 0.936062 0.472551 \n0.212416 0.937257 0.516906 \n0.212416 0.936062 0.518101 \n0.212416 0.937257 0.516906 \n0.212416 0.938452 0.518101 \n0.212416 0.937257 0.516906 \n0.322383 0.938452 0.472551 \n0.212416 0.938452 0.518101 \n0.212416 0.937257 0.519296 \n0.212416 0.938452 0.518101 \n0.3231 0.937257 0.473507 \n0.322383 0.938452 0.472551 \n0.212416 0.937257 0.519296 \n0.212416 0.936062 0.518101 \n0.212416 0.937257 0.519296 \n0.322383 0.936062 0.472551 \n0.3231 0.937257 0.473507 \n0.212416 0.936062 0.518101 \n0.212416 0.937257 0.516906 \n0.321667 0.937257 0.471594 \n0.212416 0.936062 0.518101 \n0.321667 0.937257 0.471594 \n0.322383 0.936062 0.472551 \n0.321667 0.937257 0.471594 \n0.322383 0.938452 0.472551 \n0.3231 0.937257 0.473507 \n0.321667 0.937257 0.471594 \n0.3231 0.937257 0.473507 \n0.322383 0.936062 0.472551 \n0.295882 0.536823 0.272977 \n0.333723 0.53513 0.361755 \n0.295882 0.536823 0.272977 \n0.330708 0.536823 0.366122 \n0.049946 0.304809 0.362583 \n0.097533 0.304809 0.2477 \n0.212416 0.304809 0.200114 \n0.327299 0.304809 0.2477 \n0.374885 0.304809 0.362583 \n0.327299 0.304809 0.477466 \n0.212416 0.304809 0.525052 \n0.097533 0.304809 0.477466 \n0.012216 0.302315 0.475226 \n0.270937 0.306696 0.147619 \n0.315302 0.306696 0.680519 \n0.315302 0.306696 0.680519 \n0.193482 0.306696 0.680519 \n0.193482 0.256302 0.680519 \n0.315302 0.256302 0.680519 \n0.187893 0.256302 1.01527 \n-0.140741 0.164519 1.08003 \n0.187893 0.256302 1.01527 \n0.015688 0.256302 1.01527 \n0.226813 0.256302 0.883497 \n0.187893 0.256302 1.01527 \n0.226813 0.256302 0.883497 \n0.226813 0.051972 0.883497 \n0.226813 0.256302 0.883497 \n0.476643 0.056387 0.616491 \n0.371616 0.256302 0.728737 \n0.371616 0.256302 0.728737 \n0.476643 0.056387 0.616491 \n0.015688 0.256302 1.01527 \n0.004793 0.256302 0.858952 \n-0.140741 0.164519 1.08003 \n0.176209 0.164519 1.08003 \n-0.140741 0.164519 1.08003 \n0.226813 0.051972 0.883497 \n0.187893 0.256302 1.01527 \n0.176209 0.164519 1.08003 \n0.476643 0.164654 0.616491 \n0.476643 0.056387 0.616491 \n0.476643 0.056387 0.616491 \n0.226813 0.051972 0.883497 \n0.176209 0.164519 1.2442 \n-0.140741 0.164519 1.08003 \n0.176209 0.164519 1.08003 \n0.176209 0.164519 1.2442 \n0.226813 0.051972 0.883497 \n0.176209 0.164519 1.08003 \n0.483845 -0.242268 1.00997 \n0.51446 -0.132634 0.424849 \n0.476643 0.056387 0.616491 \n0.505578 -0.242268 0.717134 \n0.505578 -0.242268 0.717134 \n0.226813 0.051972 0.883497 \n0.483845 -0.242268 1.00997 \n0.176209 0.164519 1.2442 \n-0.149769 0.095279 1.18326 \n0.483845 -0.242268 1.00997 \n0.176209 0.164519 1.2442 \n-0.149769 0.095279 1.18326 \n-0.163431 -0.095022 1.25104 \n0.176209 0.164519 1.2442 \n-0.163431 -0.095022 1.25104 \n0.477603 -0.242268 1.10914 \n0.176209 0.164519 1.2442 \n-0.356119 -0.242268 1.1784 \n-0.163431 -0.095022 1.25104 \n0.176209 0.099407 1.33413 \n-0.163431 -0.095022 1.25104 \n-0.227295 -0.242268 1.33272 \n0.176209 0.164519 1.2442 \n0.176209 0.099407 1.33413 \n0.176209 0.164519 1.2442 \n0.320453 -0.242268 1.42138 \n0.402188 -0.242268 1.26737 \n0.176209 0.099407 1.33413 \n-0.227295 -0.242268 1.33272 \n0.176209 0.099407 1.33413 \n0.176209 -0.025535 1.44063 \n0.320453 -0.242268 1.42138 \n0.176209 -0.025535 1.44063 \n-0.227295 -0.242268 1.33272 \n0.176209 -0.025535 1.44063 \n0.320453 -0.242268 1.42138 \n0.176209 -0.025535 1.44063 \n-0.010034 -0.242268 1.50713 \n0.184665 -0.242268 1.54542 \n0.193482 0.256302 0.748831 \n0.073698 0.283743 0.680519 \n0.054894 0.256302 0.73682 \n0.073698 0.283743 0.680519 \n0.193482 0.256302 0.748831 \n0.193482 0.306696 0.680519 \n0.193482 0.306696 0.680519 \n0.193482 0.256302 0.748831 \n0.193482 0.256302 0.680519 \n0.015688 0.256302 1.01527 \n-0.140741 0.164519 1.08003 \n0.004793 0.256302 0.858952 \n-0.353422 -0.242268 0.926527 \n0.015688 0.256302 1.01527 \n-0.353422 -0.242268 0.926527 \n-0.149769 0.095279 1.18326 \n-0.140741 0.164519 1.08003 \n0.054894 0.256302 0.73682 \n-0.353422 -0.242268 0.926527 \n0.004793 0.256302 0.858952 \n-0.353422 -0.242268 0.926527 \n-0.356119 -0.242268 1.1784 \n-0.149769 0.095279 1.18326 \n-0.353422 -0.242268 0.926527 \n0.054894 0.256302 0.73682 \n0.012216 0.302315 0.475226 \n-0.332794 -0.242268 0.597218 \n0.054894 0.256302 0.73682 \n0.073698 0.283743 0.680519 \n0.012216 0.302315 0.475226 \n0.054894 0.256302 0.73682 \n-0.332794 -0.242268 0.597218 \n0.012216 0.302315 0.475226 \n-0.342135 -0.242268 0.303262 \n0.012216 0.302315 0.475226 \n0.012216 0.302315 0.475226 \n-0.448308 -0.242268 0.075931 \n0.003598 0.300271 0.26376 \n-0.448308 -0.242268 0.075931 \n-0.036653 0.120934 0.136556 \n0.003598 0.300271 0.26376 \n-0.448308 -0.242268 0.075931 \n-0.036653 0.120934 0.136556 \n0.012045 0.27325 0.147067 \n0.176209 0.266039 0.039153 \n-0.036653 0.120934 0.136556 \n0.176209 0.266039 0.039153 \n-0.448308 -0.242268 0.075931 \n0.176209 0.12808 -0.049652 \n-0.448308 -0.242268 0.075931 \n0.176209 0.266039 0.039153 \n0.176209 0.12808 -0.049652 \n0.270937 0.306696 0.147619 \n0.176209 0.266039 0.039153 \n0.012045 0.27325 0.147067 \n-0.255645 -0.242268 -0.311609 \n0.176209 0.12808 -0.049652 \n0.270937 0.306696 0.147619 \n0.497278 -0.097301 -0.049652 \n0.176209 0.266039 0.039153 \n0.497278 -0.097301 -0.049652 \n0.176209 0.12808 -0.049652 \n-0.196198 -0.097301 -0.35733 \n0.176209 0.12808 -0.049652 \n-0.196198 -0.097301 -0.35733 \n-0.255645 -0.242268 -0.311609 \n0.013203 -0.242268 -0.518385 \n-0.196198 -0.097301 -0.35733 \n0.270937 0.306696 0.147619 \n0.373253 0.306696 0.171526 \n0.497278 -0.097301 -0.049652 \n0.395495 -0.097301 -0.154469 \n0.497278 -0.097301 -0.049652 \n0.395495 -0.097301 -0.154469 \n0.176209 0.056721 -0.140935 \n0.176209 0.12808 -0.049652 \n-0.196198 -0.097301 -0.35733 \n0.176209 0.056721 -0.140935 \n0.013203 -0.097301 -0.518385 \n-0.196198 -0.097301 -0.35733 \n0.013203 -0.242268 -0.518385 \n0.013203 -0.097301 -0.518385 \n0.497278 -0.097301 -0.049652 \n0.373253 0.306696 0.171526 \n0.640294 -0.153993 -0.056114 \n0.497278 -0.097301 -0.049652 \n0.640294 -0.153993 -0.056114 \n0.395495 -0.097301 -0.154469 \n0.395495 -0.097301 -0.154469 \n0.176209 -0.003552 -0.322113 \n0.176209 0.056721 -0.140935 \n0.176209 -0.003552 -0.322113 \n0.176209 -0.097301 -0.363214 \n-0.196198 -0.097301 -0.35733 \n0.176209 -0.097301 -0.756521 \n0.176209 -0.097301 -0.756521 \n0.176209 -0.242268 -0.756521 \n0.339216 -0.242268 -0.601349 \n0.176209 -0.097301 -0.756521 \n0.339216 -0.153993 -0.601349 \n0.373253 0.306696 0.171526 \n0.472259 -0.132634 0.390844 \n0.51446 -0.132634 0.424849 \n0.497278 -0.097301 -0.049652 \n0.472259 -0.132634 0.390844 \n0.339216 -0.242268 -0.601349 \n0.837113 -0.153993 0.300314 \n0.837113 -0.153993 0.300314 \n0.339216 -0.242268 -0.601349 \n0.640294 -0.153993 -0.056114 \n0.640294 -0.153993 -0.056114 \n0.339216 -0.242268 -0.601349 \n0.339216 -0.153993 -0.601349 \n0.837113 -0.153993 0.300314 \n0.497278 -0.097301 -0.049652 \n0.51446 -0.132634 0.424849 \n0.395495 -0.097301 -0.154469 \n0.339216 -0.153993 -0.601349 \n0.176209 -0.097301 -0.363214 \n0.176209 -0.003552 -0.322113 \n0.395495 -0.097301 -0.154469 \n0.176209 -0.097301 -0.363214 \n0.339216 -0.153993 -0.601349 \n0.176209 -0.097301 -0.756521 \n0.176209 -0.097301 -0.363214 \n0.373253 0.306696 0.171526 \n0.412444 0.306696 0.317932 \n0.412444 0.208249 0.317932 \n0.412444 0.208249 0.317932 \n0.472259 -0.132634 0.390844 \n0.837113 -0.153993 0.300314 \n0.505578 -0.242268 0.717134 \n0.837113 -0.242268 0.300314 \n0.837113 -0.153993 0.300314 \n0.51446 -0.132634 0.424849 \n0.505578 -0.242268 0.717134 \n0.412444 0.208249 0.317932 \n0.434255 0.306696 0.583432 \n0.411552 0.120078 0.470776 \n0.434255 0.306696 0.583432 \n0.412444 0.208249 0.317932 \n0.412444 0.306696 0.317932 \n0.411552 0.120078 0.470776 \n0.411552 0.120078 0.470776 \n0.455204 0.001433 0.477269 \n0.472259 -0.132634 0.390844 \n0.411552 0.120078 0.470776 \n0.434255 0.306696 0.583432 \n0.434255 0.16612 0.583432 \n0.434255 0.306696 0.583432 \n0.315302 0.256302 0.680519 \n0.434255 0.16612 0.583432 \n0.315302 0.256302 0.680519 \n0.434255 0.306696 0.583432 \n0.315302 0.306696 0.680519 \n0.371616 0.256302 0.728737 \n0.434255 0.16612 0.583432 \n0.315302 0.256302 0.680519 \n0.434255 0.16612 0.583432 \n0.371616 0.256302 0.728737 \n0.476643 0.164654 0.616491 \n0.434255 0.16612 0.583432 \n0.455204 0.001433 0.477269 \n0.497405 0.001433 0.511273 \n0.434255 0.16612 0.583432 \n0.476643 0.164654 0.616491 \n0.455204 0.001433 0.477269 \n0.51446 -0.132634 0.424849 \n0.472259 -0.132634 0.390844 \n0.51446 -0.132634 0.424849 \n0.455204 0.001433 0.477269 \n0.497405 0.001433 0.511273 \n0.193482 0.306696 0.680519 \n0.315302 0.306696 0.680519 \n0.012216 0.302315 0.475226 \n0.483845 -0.242268 1.00997 \n0.477603 -0.242268 1.10914 \n-0.356119 -0.242268 1.1784 \n0.402188 -0.242268 1.26737 \n-0.227295 -0.242268 1.33272 \n0.320453 -0.242268 1.42138 \n-0.010034 -0.242268 1.50713 \n0.184665 -0.242268 1.54542 \n-0.353422 -0.242268 0.926527 \n-0.332794 -0.242268 0.597218 \n0.505578 -0.242268 0.717134 \n-0.342135 -0.242268 0.303262 \n-0.448308 -0.242268 0.075931 \n0.837113 -0.242268 0.300314 \n0.176209 -0.242268 -0.756521 \n0.339216 -0.242268 -0.601349 \n0.013203 -0.242268 -0.518385 \n-0.255645 -0.242268 -0.311609 \n0.012216 0.302315 0.475226 \n0.270937 0.306696 0.147619 \n0.003598 0.300271 0.26376 \n0.003598 0.300271 0.26376 \n0.270937 0.306696 0.147619 \n0.012045 0.27325 0.147067 \n3 9 1 2 \n3 9 2 10 \n3 524 525 3 \n3 524 3 11 \n3 526 527 4 \n3 526 4 12 \n3 13 5 6 \n3 13 6 14 \n3 528 529 7 \n3 528 7 15 \n3 530 531 0 \n3 530 0 8 \n3 532 533 22 \n3 534 535 21 \n3 536 537 23 \n3 538 539 540 \n3 541 542 16 \n3 543 544 545 \n3 546 547 18 \n3 548 549 17 \n3 550 551 19 \n3 552 553 554 \n3 555 556 20 \n3 557 558 559 \n3 25 26 34 \n3 560 561 33 \n3 562 27 35 \n3 563 564 565 \n3 566 28 36 \n3 567 568 569 \n3 29 30 38 \n3 570 571 37 \n3 572 31 39 \n3 573 574 575 \n3 576 24 32 \n3 577 578 579 \n3 580 581 46 \n3 582 583 45 \n3 584 585 47 \n3 586 587 588 \n3 589 590 40 \n3 591 592 593 \n3 594 595 42 \n3 596 597 41 \n3 598 599 43 \n3 600 601 602 \n3 603 604 44 \n3 605 606 607 \n3 608 609 48 \n3 610 611 55 \n3 612 613 50 \n3 614 615 49 \n3 616 617 51 \n3 618 619 620 \n3 621 622 52 \n3 623 624 625 \n3 626 627 54 \n3 628 629 53 \n3 630 631 632 \n3 633 634 635 \n3 636 637 59 \n3 636 59 58 \n3 638 639 60 \n3 638 60 640 \n3 641 642 62 \n3 641 62 61 \n3 643 644 63 \n3 643 63 645 \n3 646 647 56 \n3 646 56 648 \n3 649 650 651 \n3 649 651 57 \n3 68 70 71 \n3 652 653 69 \n3 66 654 655 \n3 656 657 67 \n3 65 658 659 \n3 660 661 64 \n3 76 78 79 \n3 662 663 77 \n3 74 664 665 \n3 666 667 75 \n3 72 668 669 \n3 670 671 73 \n3 672 80 81 \n3 673 674 675 \n3 676 677 82 \n3 678 679 680 \n3 681 682 83 \n3 683 684 685 \n3 686 84 85 \n3 687 688 689 \n3 690 691 86 \n3 692 693 694 \n3 695 696 87 \n3 697 698 699 \n3 92 97 96 \n3 700 701 93 \n3 90 99 98 \n3 702 703 91 \n3 704 705 706 \n3 707 708 709 \n3 104 109 108 \n3 710 711 105 \n3 102 111 110 \n3 712 713 103 \n3 714 715 716 \n3 717 718 719 \n3 720 721 134 \n3 722 723 133 \n3 724 725 135 \n3 726 727 728 \n3 729 730 132 \n3 731 732 733 \n3 734 735 736 \n3 734 736 737 \n3 738 739 122 \n3 740 741 121 \n3 742 743 123 \n3 744 745 746 \n3 747 748 120 \n3 749 750 751 \n3 752 753 754 \n3 755 756 757 \n3 758 759 127 \n3 760 761 126 \n3 762 101 125 \n3 763 764 765 \n3 766 100 124 \n3 767 768 769 \n3 770 771 772 \n3 773 774 775 \n3 776 777 115 \n3 778 779 114 \n3 780 89 113 \n3 781 782 783 \n3 784 88 112 \n3 785 786 787 \n3 788 789 790 \n3 791 792 793 \n3 106 107 131 \n3 794 795 130 \n3 796 797 128 \n3 798 799 800 \n3 801 802 129 \n3 801 129 803 \n3 804 805 806 \n3 807 808 809 \n3 94 95 119 \n3 810 811 118 \n3 812 813 116 \n3 814 815 816 \n3 817 818 117 \n3 819 820 821 \n3 822 823 824 \n3 825 826 827 \n3 828 829 830 \n3 831 832 833 \n3 834 835 836 \n3 837 838 839 \n3 840 841 842 \n3 843 844 845 \n3 846 847 848 \n3 849 850 851 \n3 852 853 854 \n3 855 856 857 \n3 858 859 860 \n3 861 862 863 \n3 864 865 866 \n3 867 868 869 \n3 870 871 872 \n3 873 874 875 \n3 876 877 878 \n3 879 880 881 \n3 882 883 884 \n3 885 886 887 \n3 888 889 890 \n3 891 892 893 \n3 894 895 896 \n3 897 898 899 \n3 900 901 902 \n3 903 904 905 \n3 906 907 908 \n3 909 910 911 \n3 912 913 914 \n3 915 916 917 \n3 918 919 920 \n3 921 922 923 \n3 924 925 926 \n3 927 928 929 \n3 930 931 932 \n3 933 934 935 \n3 936 937 938 \n3 939 940 941 \n3 942 943 944 \n3 945 946 947 \n3 948 949 950 \n3 951 952 953 \n3 954 955 956 \n3 957 958 959 \n3 960 961 962 \n3 963 964 965 \n3 966 967 968 \n3 969 970 971 \n3 972 973 974 \n3 972 974 975 \n3 976 977 978 \n3 979 980 981 \n3 982 983 984 \n3 985 986 987 \n3 988 989 990 \n3 988 990 991 \n3 992 993 994 \n3 995 996 997 \n3 998 999 1000 \n3 1001 1002 1003 \n3 1004 1005 1006 \n3 1007 1008 1009 \n3 1010 1011 1012 \n3 1013 1014 1015 \n3 1016 1017 1018 \n3 1016 1018 1019 \n3 1020 1021 1022 \n3 1023 1024 1025 \n3 1026 1027 1028 \n3 1029 1030 1031 \n3 1032 1033 1034 \n3 1035 1036 1037 \n3 1038 1039 1040 \n3 1041 1042 1043 \n3 1044 1045 1046 \n3 1047 1048 1049 \n3 1050 1051 1052 \n3 1053 1054 1055 \n3 1056 1057 1058 \n3 1059 1060 1061 \n3 1062 1063 1064 \n3 1065 1066 1067 \n3 1068 1069 1070 \n3 1071 1072 1073 \n3 1074 1075 1076 \n3 1077 1078 1079 \n3 1080 1081 1082 \n3 1083 1084 1085 \n3 1086 1087 1088 \n3 1086 1088 1089 \n3 1090 1091 1092 \n3 1093 1094 1095 \n3 1096 1097 1098 \n3 1099 1100 1101 \n3 1102 1103 1104 \n3 1105 1106 1107 \n3 1108 1109 1110 \n3 1111 1112 1113 \n3 1114 1115 1116 \n3 1117 1118 1119 \n3 1120 1121 141 \n3 1120 141 140 \n3 1121 1122 142 \n3 1121 142 141 \n3 1122 1123 143 \n3 1122 143 142 \n3 1123 1124 136 \n3 1123 136 143 \n3 1124 1125 137 \n3 1124 137 136 \n3 1125 1126 138 \n3 1125 138 137 \n3 1126 1127 139 \n3 1126 139 138 \n3 1127 1120 140 \n3 1127 140 139 \n3 146 147 155 \n3 146 155 154 \n3 147 148 156 \n3 147 156 155 \n3 148 149 157 \n3 148 157 156 \n3 149 150 158 \n3 149 158 157 \n3 150 151 159 \n3 150 159 158 \n3 151 144 152 \n3 151 152 159 \n3 144 145 153 \n3 144 153 152 \n3 1128 1129 161 \n3 1128 161 160 \n3 1130 1131 162 \n3 1130 162 1132 \n3 1133 1134 163 \n3 1133 163 1135 \n3 1136 1137 164 \n3 1136 164 1138 \n3 1139 1140 165 \n3 1139 165 1141 \n3 1142 1143 166 \n3 1142 166 1144 \n3 1145 1146 167 \n3 1145 167 1147 \n3 1148 1149 1150 \n3 1148 1150 1151 \n3 1152 1153 171 \n3 1154 1155 170 \n3 1156 1157 172 \n3 1158 1159 1160 \n3 1161 1162 173 \n3 1163 1164 1165 \n3 1166 1167 174 \n3 1168 1169 1170 \n3 1171 1172 175 \n3 1173 1174 1175 \n3 1176 1177 168 \n3 1178 1179 1180 \n3 1181 1182 169 \n3 1183 1184 1185 \n3 1186 1187 1188 \n3 1189 1190 1191 \n3 1192 1193 178 \n3 1192 178 177 \n3 1194 1195 179 \n3 1194 179 1196 \n3 1197 1198 180 \n3 1197 180 1199 \n3 1200 1201 181 \n3 1200 181 1202 \n3 1203 1204 182 \n3 1203 182 1205 \n3 1206 1207 183 \n3 1206 183 1208 \n3 1209 1210 176 \n3 1209 176 1211 \n3 1212 1213 1214 \n3 1212 1214 1215 \n3 1216 1217 190 \n3 1216 190 189 \n3 1217 1218 191 \n3 1217 191 190 \n3 1218 1219 184 \n3 1218 184 191 \n3 1219 1220 185 \n3 1219 185 184 \n3 1220 1221 186 \n3 1220 186 185 \n3 1221 1222 187 \n3 1221 187 186 \n3 1222 1223 188 \n3 1222 188 187 \n3 1223 1216 189 \n3 1223 189 188 \n3 1224 1225 193 \n3 1224 193 192 \n3 1226 1227 194 \n3 1226 194 1228 \n3 1229 1230 195 \n3 1229 195 1231 \n3 1232 1233 196 \n3 1232 196 1234 \n3 1235 1236 197 \n3 1235 197 1237 \n3 1238 1239 198 \n3 1238 198 1240 \n3 1241 1242 199 \n3 1241 199 1243 \n3 1244 1245 1246 \n3 1244 1246 1247 \n3 1248 1249 200 \n3 1250 1251 1252 \n3 1253 1254 1255 \n3 1256 1257 1258 \n3 1259 1260 1261 \n3 1262 1263 1264 \n3 1265 1266 1267 \n3 1268 1269 1270 \n3 208 207 204 \n3 1271 1272 205 \n3 210 209 202 \n3 1273 1274 203 \n3 1275 1276 1277 \n3 1278 1279 1280 \n3 1281 1282 1283 \n3 1284 1285 1286 \n3 211 1287 1288 \n3 1289 1290 206 \n3 212 1291 1292 \n3 1293 1294 201 \n3 1295 1296 1297 \n3 1298 1299 1300 \n3 1301 1302 1303 \n3 1304 1305 1306 \n3 220 219 216 \n3 1307 1308 217 \n3 222 221 214 \n3 1309 1310 215 \n3 1311 1312 1313 \n3 1314 1315 1316 \n3 1317 1318 1319 \n3 1320 1321 1322 \n3 223 1323 1324 \n3 1325 1326 218 \n3 224 1327 1328 \n3 1329 1330 213 \n3 1331 1332 1333 \n3 1334 1335 1336 \n3 1337 1338 1339 \n3 1340 1341 1342 \n3 232 229 228 \n3 1343 1344 231 \n3 234 227 226 \n3 1345 1346 233 \n3 1347 1348 1349 \n3 1350 1351 1352 \n3 1353 1354 1355 \n3 1356 1357 1358 \n3 235 230 1359 \n3 1360 1361 1362 \n3 236 225 1363 \n3 1364 1365 1366 \n3 1367 1368 1369 \n3 1370 1371 1372 \n3 1373 1374 1375 \n3 1376 1377 1378 \n3 244 241 240 \n3 1379 1380 243 \n3 246 239 238 \n3 1381 1382 245 \n3 1383 1384 1385 \n3 1386 1387 1388 \n3 1389 1390 1391 \n3 1392 1393 1394 \n3 247 242 1395 \n3 1396 1397 1398 \n3 248 237 1399 \n3 1400 1401 1402 \n3 1403 1404 1405 \n3 1406 1407 1408 \n3 1409 1410 1411 \n3 1412 1413 1414 \n3 252 249 281 \n3 252 281 284 \n3 250 251 283 \n3 250 283 282 \n3 1415 1416 1417 \n3 1415 1417 1418 \n3 256 253 285 \n3 256 285 288 \n3 254 255 287 \n3 254 287 286 \n3 1419 1420 1421 \n3 1419 1421 1422 \n3 260 257 289 \n3 260 289 292 \n3 258 259 291 \n3 258 291 290 \n3 1423 1424 1425 \n3 1423 1425 1426 \n3 264 261 293 \n3 264 293 296 \n3 262 263 295 \n3 262 295 294 \n3 1427 1428 1429 \n3 1427 1429 1430 \n3 268 265 297 \n3 268 297 300 \n3 266 267 299 \n3 266 299 298 \n3 1431 1432 1433 \n3 1431 1433 1434 \n3 272 269 301 \n3 272 301 304 \n3 270 271 303 \n3 270 303 302 \n3 1435 1436 1437 \n3 1435 1437 1438 \n3 276 273 305 \n3 276 305 308 \n3 274 275 307 \n3 274 307 306 \n3 1439 1440 1441 \n3 1439 1441 1442 \n3 280 277 309 \n3 280 309 312 \n3 278 279 311 \n3 278 311 310 \n3 1443 1444 1445 \n3 1443 1445 1446 \n3 1447 1448 1449 \n3 1447 1449 1450 \n3 1451 1452 1453 \n3 1454 1455 1456 \n3 1457 1458 1459 \n3 1457 1459 1460 \n3 1461 1462 1463 \n3 1464 1465 1466 \n3 1467 1468 1469 \n3 1467 1469 1470 \n3 1471 1472 1473 \n3 1474 1475 1476 \n3 1477 1478 1479 \n3 1477 1479 1480 \n3 1481 1482 1483 \n3 1484 1485 1486 \n3 153 145 146 \n3 153 146 154 \n3 1487 1488 1489 \n3 1487 1489 1490 \n3 1491 1492 1493 \n3 1494 1495 1496 \n3 1497 1498 1499 \n3 1497 1499 1500 \n3 1501 1502 1503 \n3 1504 1505 1506 \n3 1507 1508 1509 \n3 1507 1509 1510 \n3 1511 1512 1513 \n3 1514 1515 1516 \n3 1517 1518 1519 \n3 1517 1519 1520 \n3 1521 1522 1523 \n3 1524 1525 1526 \n3 1527 1528 1529 \n3 1527 1529 1530 \n3 1531 1532 1533 \n3 1534 1535 1536 \n3 1537 1538 1539 \n3 1537 1539 1540 \n3 1541 1542 1543 \n3 1544 1545 1546 \n3 1547 1548 1549 \n3 1547 1549 1550 \n3 1551 1552 1553 \n3 1554 1555 1556 \n3 1557 1558 1559 \n3 1557 1559 1560 \n3 1561 1562 1563 \n3 1564 1565 1566 \n3 1567 1568 1569 \n3 1567 1569 1570 \n3 1571 1572 1573 \n3 1574 1575 1576 \n3 1577 1578 1579 \n3 1577 1579 1580 \n3 1581 1582 1583 \n3 1584 1585 1586 \n3 1587 1588 1589 \n3 1587 1589 1590 \n3 1591 1592 1593 \n3 1594 1595 1596 \n3 1597 1598 1599 \n3 1597 1599 1600 \n3 1601 1602 1603 \n3 1604 1605 1606 \n3 1607 1608 1609 \n3 1610 1611 1612 \n3 1613 1614 1615 \n3 1613 1615 1616 \n3 1617 1618 1619 \n3 1617 1619 1620 \n3 1621 1622 1623 \n3 1624 1625 1626 \n3 1627 1628 1629 \n3 1630 1631 1632 \n3 1633 1634 1635 \n3 1636 1637 1638 \n3 1639 1640 1641 \n3 1639 1641 1642 \n3 1643 1644 1645 \n3 1646 1647 1648 \n3 1649 1650 1651 \n3 1652 1653 1654 \n3 1655 1656 1657 \n3 1658 1659 1660 \n3 1661 1662 1663 \n3 1664 1665 1666 \n3 1667 1668 1669 \n3 1670 1671 1672 \n3 1673 1674 1675 \n3 1676 1677 1678 \n3 1679 1680 1681 \n3 1682 1683 1684 \n3 1685 1686 1687 \n3 1685 1687 1688 \n3 1689 1690 1691 \n3 1689 1691 1692 \n3 313 314 315 \n3 313 315 316 \n3 317 318 1693 \n3 317 1693 1694 \n3 1695 319 1696 \n3 1695 1696 1697 \n3 1698 320 1699 \n3 1698 1699 1700 \n3 1701 1702 1703 \n3 1701 1703 1704 \n3 1705 1706 1707 \n3 1705 1707 1708 \n3 321 322 323 \n3 321 323 324 \n3 325 326 1709 \n3 325 1709 1710 \n3 1711 327 1712 \n3 1711 1712 1713 \n3 1714 328 1715 \n3 1714 1715 1716 \n3 1717 1718 1719 \n3 1717 1719 1720 \n3 1721 1722 1723 \n3 1721 1723 1724 \n3 329 330 331 \n3 329 331 332 \n3 333 334 1725 \n3 333 1725 1726 \n3 1727 335 1728 \n3 1727 1728 1729 \n3 1730 336 1731 \n3 1730 1731 1732 \n3 1733 1734 1735 \n3 1733 1735 1736 \n3 1737 1738 1739 \n3 1737 1739 1740 \n3 337 338 339 \n3 337 339 340 \n3 341 342 1741 \n3 341 1741 1742 \n3 1743 343 1744 \n3 1743 1744 1745 \n3 1746 344 1747 \n3 1746 1747 1748 \n3 1749 1750 1751 \n3 1749 1751 1752 \n3 1753 1754 1755 \n3 1753 1755 1756 \n3 345 346 347 \n3 345 347 348 \n3 349 350 1757 \n3 349 1757 1758 \n3 1759 351 1760 \n3 1759 1760 1761 \n3 1762 352 1763 \n3 1762 1763 1764 \n3 1765 1766 1767 \n3 1765 1767 1768 \n3 1769 1770 1771 \n3 1769 1771 1772 \n3 353 354 355 \n3 353 355 356 \n3 357 358 1773 \n3 357 1773 1774 \n3 1775 359 1776 \n3 1775 1776 1777 \n3 1778 360 1779 \n3 1778 1779 1780 \n3 1781 1782 1783 \n3 1781 1783 1784 \n3 1785 1786 1787 \n3 1785 1787 1788 \n3 361 362 363 \n3 361 363 364 \n3 365 366 1789 \n3 365 1789 1790 \n3 1791 367 1792 \n3 1791 1792 1793 \n3 1794 368 1795 \n3 1794 1795 1796 \n3 1797 1798 1799 \n3 1797 1799 1800 \n3 1801 1802 1803 \n3 1801 1803 1804 \n3 369 370 371 \n3 369 371 372 \n3 373 374 1805 \n3 373 1805 1806 \n3 1807 375 1808 \n3 1807 1808 1809 \n3 1810 376 1811 \n3 1810 1811 1812 \n3 1813 1814 1815 \n3 1813 1815 1816 \n3 1817 1818 1819 \n3 1817 1819 1820 \n3 377 380 379 \n3 1821 1822 378 \n3 1823 1824 382 \n3 1825 1826 381 \n3 1827 1828 383 \n3 1829 1830 1831 \n3 1832 1833 384 \n3 1834 1835 1836 \n3 1837 1838 1839 \n3 1840 1841 1842 \n3 1843 1844 386 \n3 1845 1846 385 \n3 1847 1848 387 \n3 1849 1850 1851 \n3 1852 1853 388 \n3 1854 1855 1856 \n3 1857 1858 1859 \n3 1860 1861 1862 \n3 1863 1864 390 \n3 1865 1866 389 \n3 1867 1868 391 \n3 1869 1870 1871 \n3 1872 1873 392 \n3 1874 1875 1876 \n3 1877 1878 1879 \n3 1880 1881 1882 \n3 1883 1884 394 \n3 1885 1886 393 \n3 1887 1888 395 \n3 1889 1890 1891 \n3 1892 1893 396 \n3 1894 1895 1896 \n3 1897 1898 1899 \n3 1900 1901 1902 \n3 1903 1904 398 \n3 1905 1906 397 \n3 1907 1908 399 \n3 1909 1910 1911 \n3 1912 1913 400 \n3 1914 1915 1916 \n3 1917 1918 1919 \n3 1920 1921 1922 \n3 1923 1924 402 \n3 1925 1926 401 \n3 1927 1928 403 \n3 1929 1930 1931 \n3 1932 1933 404 \n3 1934 1935 1936 \n3 1937 1938 1939 \n3 1940 1941 1942 \n3 1943 1944 406 \n3 1945 1946 405 \n3 1947 1948 407 \n3 1949 1950 1951 \n3 1952 1953 408 \n3 1954 1955 1956 \n3 1957 1958 1959 \n3 1960 1961 1962 \n3 1963 1964 410 \n3 1965 1966 409 \n3 1967 1968 411 \n3 1969 1970 1971 \n3 1972 1973 412 \n3 1974 1975 1976 \n3 1977 1978 1979 \n3 1980 1981 1982 \n3 1983 1984 1985 \n3 1986 1987 1988 \n3 413 416 415 \n3 1989 1990 414 \n3 1991 1992 418 \n3 1993 1994 417 \n3 1995 1996 419 \n3 1997 1998 1999 \n3 2000 2001 420 \n3 2002 2003 2004 \n3 2005 2006 2007 \n3 2008 2009 2010 \n3 2011 2012 422 \n3 2013 2014 421 \n3 2015 2016 423 \n3 2017 2018 2019 \n3 2020 2021 424 \n3 2022 2023 2024 \n3 2025 2026 2027 \n3 2028 2029 2030 \n3 2031 2032 426 \n3 2033 2034 425 \n3 2035 2036 427 \n3 2037 2038 2039 \n3 2040 2041 428 \n3 2042 2043 2044 \n3 2045 2046 2047 \n3 2048 2049 2050 \n3 2051 2052 430 \n3 2053 2054 429 \n3 2055 2056 431 \n3 2057 2058 2059 \n3 2060 2061 432 \n3 2062 2063 2064 \n3 2065 2066 2067 \n3 2068 2069 2070 \n3 2071 2072 434 \n3 2073 2074 433 \n3 2075 2076 435 \n3 2077 2078 2079 \n3 2080 2081 436 \n3 2082 2083 2084 \n3 2085 2086 2087 \n3 2088 2089 2090 \n3 2091 2092 438 \n3 2093 2094 437 \n3 2095 2096 439 \n3 2097 2098 2099 \n3 2100 2101 440 \n3 2102 2103 2104 \n3 2105 2106 2107 \n3 2108 2109 2110 \n3 2111 2112 442 \n3 2113 2114 441 \n3 2115 2116 443 \n3 2117 2118 2119 \n3 2120 2121 444 \n3 2122 2123 2124 \n3 2125 2126 2127 \n3 2128 2129 2130 \n3 2131 2132 446 \n3 2133 2134 445 \n3 2135 2136 447 \n3 2137 2138 2139 \n3 2140 2141 448 \n3 2142 2143 2144 \n3 2145 2146 2147 \n3 2148 2149 2150 \n3 2151 2152 2153 \n3 2154 2155 2156 \n3 451 450 449 \n3 2157 2158 452 \n3 453 2159 2160 \n3 453 2160 454 \n3 2161 2162 2163 \n3 2161 2163 2164 \n3 2161 2164 2165 \n3 2161 2165 2166 \n3 2161 2166 2167 \n3 2161 2167 2168 \n3 455 479 481 \n3 2169 503 456 \n3 457 2170 2171 \n3 2170 457 506 \n3 458 506 457 \n3 2172 511 512 \n3 511 2172 2173 \n3 508 462 507 \n3 462 508 459 \n3 462 459 460 \n3 460 459 461 \n3 460 461 510 \n3 460 510 2174 \n3 2174 510 2175 \n3 2175 510 463 \n3 2176 509 513 \n3 2177 2178 2179 \n3 2180 2181 514 \n3 515 2182 2183 \n3 2184 2185 2186 \n3 2187 2188 464 \n3 2189 2190 2191 \n3 2192 2193 465 \n3 2194 2195 2196 \n3 466 2197 2198 \n3 2199 2200 516 \n3 2201 2202 467 \n3 468 2203 2204 \n3 2205 2206 2207 \n3 2208 2209 2210 \n3 2211 2212 2213 \n3 2214 2215 469 \n3 2216 2217 470 \n3 2218 471 2219 \n3 2220 2221 472 \n3 2222 2223 473 \n3 2224 474 2225 \n3 2226 2227 2228 \n3 2229 2230 475 \n3 2231 2232 2233 \n3 2234 2235 476 \n3 2236 2237 2238 \n3 2239 2240 477 \n3 2241 478 2242 \n3 2243 2244 2245 \n3 2246 2247 2248 \n3 2249 2250 2251 \n3 2252 2253 2254 \n3 2255 517 2256 \n3 2257 2258 2259 \n3 2260 2261 2262 \n3 2263 2264 2265 \n3 2266 2267 2268 \n3 480 2269 2270 \n3 2271 2272 2273 \n3 2274 2275 2276 \n3 482 2277 2278 \n3 483 2279 2280 \n3 2281 484 2282 \n3 2283 485 2284 \n3 2285 2286 486 \n3 487 2287 2288 \n3 2289 2290 2291 \n3 2292 488 2293 \n3 2294 504 2295 \n3 2296 518 2297 \n3 2298 2299 2300 \n3 505 2301 2302 \n3 2303 2304 2305 \n3 2306 489 2307 \n3 490 2308 2309 \n3 2310 491 2311 \n3 2312 2313 492 \n3 2314 2315 2316 \n3 493 2317 2318 \n3 2319 2320 2321 \n3 494 2322 2323 \n3 495 2324 2325 \n3 496 2326 2327 \n3 2326 496 497 \n3 2328 2329 519 \n3 498 2330 2331 \n3 2332 499 2333 \n3 2334 2335 2336 \n3 2337 2338 2339 \n3 2340 2324 495 \n3 2341 500 2342 \n3 2343 2344 2345 \n3 2346 520 2347 \n3 2348 2349 2350 \n3 2351 2352 501 \n3 2353 2354 2355 \n3 2356 2357 2358 \n3 2359 2360 2361 \n3 2362 2363 2364 \n3 2365 2366 2367 \n3 2368 2369 2370 \n3 2371 2372 2373 \n3 2374 521 2375 \n3 2376 2377 2378 \n3 2379 2380 2381 \n3 2382 2383 2384 \n3 2385 2386 2387 \n3 522 2388 523 \n3 2389 2390 2391 \n3 2392 2393 2394 \n3 2395 2396 2397 \n3 2398 2399 2400 \n3 2401 2402 2403 \n3 2404 2405 2406 \n3 2407 502 2408 \n3 2409 2410 2411 \n3 2412 2413 2414 \n3 2415 2416 2417 \n3 2418 2419 2420 \n3 2421 2422 2423 \n3 2423 2422 2424 \n3 2423 2424 2425 \n3 2425 2424 2426 \n3 2425 2426 2427 \n3 2427 2426 2428 \n3 2429 2430 2431 \n3 2429 2431 2421 \n3 2429 2421 2423 \n3 2432 2433 2434 \n3 2432 2434 2431 \n3 2432 2431 2430 \n3 2435 2436 2437 \n3 2437 2436 2434 \n3 2437 2434 2438 \n3 2438 2434 2433 \n3 2439 2440 2441 \n3 2442 2443 2444 \n"
  },
  {
    "path": "data/nv_small.ply",
    "content": "ply\nformat ascii 1.0\ncomment VCGLIB generated\nelement vertex 1062\nproperty float x\nproperty float y\nproperty float z\nproperty float nx\nproperty float ny\nproperty float nz\nelement face 1268\nproperty list uchar int vertex_indices\nend_header\n-3.38369 0.863255 0 1.40473 -1.42364 0 \n-5.73969 1.13224 0 -2.28511 -1.73004 0 \n5.7311 1.56427 0 1.44341 1.3844 0 \n-0.330436 2.35419 0 -0.015784 -2.99405 0 \n3.30973 -0.506262 0 1.25315 -1.55872 0 \n0.782986 3.90663 0 -0.0884511 2.99782 0 \n-5.73989 1.13235 0 -0.949324 -1.76034 0 \n13.0945 -0.85045 0 1.53867 2.57511 0 \n1.18271 7.13255 0 -0.00614325 2.99955 0 \n1.40323 -4.3668 0 0.126095 -2.99246 0 \n11.386 1.63337 0 1.54088 1.27502 0 \n0.875243 -7.50401 0 0.110798 -2.99689 -4.73718e-007 \n-10.9311 1.61441 0 -1.83515 -0.795133 0 \n16.0019 -2.61152 0 1.13059 1.64977 0 \n-7.9579 1.32342 0 1.54189 -1.27381 0 \n12.6782 -0.596853 0 -1.27664 1.53954 0 \n1.08803 -5.92188 0 -0.022648 2.9991 0 \n8.33822 1.55957 0 -1.55865 1.25324 0 \n0.56572 5.65327 0 0.0514224 -2.99569 0 \n1.22131 -3.12313 0 0.0219461 2.97784 0 \n2.53551 0.687508 0 -2.52216 -1.62398 0 \n2.53494 3.67327 0 0.740358 2.90131 -1.05827e-007 \n2.53492 -4.27328 0 0.529572 -2.94596 0 \n2.53493 7.05185 0 0.322792 2.9806 2.3538e-007 \n2.53495 -7.41137 0 0.337861 -2.97845 0 \n2.53491 -5.86329 0 -0.217258 2.98903 0 \n2.53503 5.40934 0 -0.702448 -2.91497 0 \n2.53491 -2.90494 0 -0.625743 2.92752 -4.58236e-007 \n-5.12093 -0.18587 0 -2.6959 -1.3157 0 \n-10.0493 -0.185873 0 -2.56816 -1.54946 0 \n-7.3002 -0.185648 0 2.67532 1.35294 0 \n-2.93331 -0.185859 0 2.59784 1.49917 0 \n-4.19831 -1.72121 0 -2.35115 -1.85871 -1.90174e-007 \n-4.19877 -6.23493 0 -1.42977 -2.63523 0 \n-4.1986 -4.09528 0 1.81588 2.3858 0 \n-4.1986 -0.185866 0 0 0 9 \n-7.34325 -3.84502 0 -2.11586 -2.12582 0 \n-4.51141 -3.84502 0 1.96668 2.2638 0 \n-5.11807 -5.67472 0 -1.61584 -2.52597 0 \n-4.1986 -5.6746 0 0 0 5 \n-5.88207 -5.13767 0 -1.77126 -2.41992 -6.5582e-007 \n-5.88199 -3.84502 0 0 0 8 \n-6.35928 -4.75948 0 -1.89722 -2.32307 -3.31791e-007 \n-5.88199 -4.75981 0 0 0 6 \n-6.72357 -4.44369 0 -2.00483 -2.23043 0 \n-6.72368 -3.84502 0 0 0 4 \n-7.56537 -0.185866 0 0 0 4 \n-7.56537 -3.61036 0 -2.22782 -2.00642 0 \n-8.86448 -2.01544 0 -2.36794 -1.83936 0 \n-7.56537 -2.01544 0 0 0 6 \n-9.24876 -0.185866 0 0 0 6 \n-9.24864 -1.47065 0 -2.48319 -1.68146 0 \n-6.17543 -2.01545 0 2.476 1.69246 0 \n-5.88165 -2.41594 0 2.38324 1.82028 0 \n-5.45632 -2.93023 0 2.26486 1.96479 0 \n-5.88199 -2.93023 0 0 0 6 \n-5.0403 -3.84502 0 0 0 5 \n-5.0403 -3.36642 0 2.11825 2.12184 0 \n-7.56537 -1.10065 0 0 0 7 \n-6.77589 -1.10064 0 2.58278 1.52518 0 \n-6.72368 -2.01544 0 0 0 5 \n-6.72368 -1.184 0 2.5298 1.61215 0 \n-4.62926 -1.10058 0 -2.52044 -1.62003 0 \n-4.1986 -1.10065 0 0 0 5 \n-5.04043 -0.347705 0 -2.65064 -1.40399 0 \n-5.0403 -0.185866 0 0 0 4 \n-1.40369 -3.84524 0 -0.990111 -2.83058 4.46526e-007 \n2.53493 -3.84502 0 0 0 7 \n-0.831887 -4.03225 0 -0.775967 -2.89562 0 \n-0.831837 -7.38342 0 -0.403475 -2.97052 0 \n-0.831844 -5.741 0 0.609762 2.93538 0 \n-0.831837 -3.84502 0 0 0 5 \n-1.11453 -5.67471 0 0.809191 2.88737 2.25997e-007 \n-2.51522 -6.98262 0 -0.909118 -2.85594 -6.71869e-007 \n-2.51522 -5.6746 0 0 0 6 \n-3.50483 -6.5892 0 -1.2806 -2.71215 -2.15099e-007 \n-2.51522 -6.58939 0 0 0 6 \n-3.35689 -6.65628 0 -1.13598 -2.77549 -7.66156e-007 \n-3.35691 -6.58939 0 0 0 5 \n-3.35691 -5.6746 0 0 0 8 \n-0.831837 -6.58939 0 0 0 8 \n-1.67353 -7.22224 0 -0.649966 -2.92609 0 \n-1.67353 -6.58939 0 0 0 5 \n-1.67353 -5.6746 0 0 0 6 \n-2.51522 -5.1456 0 1.35733 2.67166 0 \n-4.1986 -4.75981 0 0 0 7 \n-3.21591 -4.75982 0 1.52373 2.58347 0 \n-3.35691 -4.75981 0 0 0 5 \n-3.35692 -4.67381 0 1.6536 2.50193 0 \n-1.67348 -5.50505 0 1.0759 2.7962 4.35655e-007 \n0.851546 -7.50399 0 -0.0361893 -2.99939 -2.36178e-007 \n0.851546 -5.91977 0 0.123573 2.99667 0 \n0.851546 -6.58939 0 0 0 7 \n0.009855 -7.4746 0 -0.1775 -2.99297 0 \n0.009854 -6.58939 0 0 0 6 \n0.009855 -5.87144 0 0.363614 2.97476 0 \n0.851539 -4.34548 0 -0.209074 -2.98978 0 \n0.851546 -3.84502 0 0 0 8 \n0.009867 -4.23353 0 -0.496263 -2.95512 0 \n0.009854 -3.84502 0 0 0 7 \n-0.831824 -2.47712 0 1.61821 2.51332 0 \n-3.9504 -2.01558 0 -2.18958 -2.04782 -3.90921e-007 \n-1.46232 -2.01552 0 1.9083 2.31153 0 \n-2.51522 -3.28498 0 -1.54165 -2.56585 0 \n-2.51522 -2.01544 0 0 0 8 \n-2.99656 -2.93025 0 -1.84142 -2.36574 0 \n-2.51522 -2.93023 0 0 0 5 \n-3.35693 -2.61794 0 -2.02218 -2.21323 0 \n-3.35691 -2.01544 0 0 0 5 \n-0.831837 -2.93023 0 0 0 7 \n-1.67358 -3.73829 0 -1.21101 -2.73975 2.19567e-007 \n-1.67353 -2.93023 0 0 0 7 \n-1.67353 -2.01544 0 0 0 5 \n-2.51526 -0.864579 0 2.51152 1.6372 0 \n-2.34351 -1.10065 0 2.35398 1.85284 0 \n-2.51522 -1.10065 0 0 0 9 \n-1.67355 -1.83055 0 2.13222 2.10474 0 \n0.851546 -3.08863 0 0.531362 2.94702 -2.30432e-007 \n0.146832 -2.93028 0 0.837283 2.87778 -4.54679e-007 \n0.009854 -2.93023 0 0 0 5 \n0.009887 -2.88578 0 1.18254 2.75021 0 \n-4.19865 2.35406 0 -1.61835 2.52469 0 \n-4.1986 6.00549 0 -1.15771 2.76403 0 \n-4.1986 4.37749 0 1.45744 -2.62031 0 \n-8.6781 3.47333 0 -1.75857 2.42993 0 \n-5.65881 3.47328 0 1.64326 -2.50756 0 \n-7.56537 3.47329 0 0 0 4 \n-7.56538 0.374514 0 2.75196 1.19236 0 \n-7.56537 1.79855 0 2.2195 -2.01592 1.71058e-007 \n-10.418 2.09335 0 -1.99758 2.23631 0 \n-7.56537 2.09335 0 0 0 4 \n-9.24876 2.09335 0 0 0 8 \n-10.6449 0.953696 0 -2.69219 -1.31992 0 \n-9.24876 0.953742 0 0 0 7 \n-10.0905 -0.113013 0 -2.62888 -1.44449 0 \n-10.0904 0.953742 0 0 0 5 \n-10.0904 2.09335 0 0 0 5 \n-9.24883 3.0492 0 -1.86236 2.35103 0 \n-4.58836 2.09336 0 -1.8375 2.36669 0 \n-4.1986 2.09335 0 0 0 4 \n-7.28473 2.09335 0 2.09937 -2.14179 3.33469e-007 \n-5.88199 3.47329 0 0 0 4 \n-5.88198 3.31007 0 1.8048 -2.39563 3.74721e-007 \n-7.56537 2.78332 0 0 0 9 \n-6.54123 2.7834 0 1.90492 -2.31683 4.88295e-007 \n-6.72375 2.62451 0 2.00073 -2.23463 1.55073e-007 \n-6.72368 2.78332 0 0 0 4 \n-6.72368 3.47329 0 0 0 8 \n-7.56537 4.23655 0 -1.63737 2.51178 0 \n-5.73119 5.30287 0 -1.34028 2.68302 0 \n-4.1986 5.30287 0 0 0 6 \n-5.88199 5.22437 0 -1.47398 2.61195 0 \n2.53493 3.47329 0 0 0 4 \n-1.88981 3.47311 0 -0.948166 2.84265 0 \n-0.831836 2.31222 0 0.45276 -2.95128 0 \n-0.831837 3.47329 0 0 0 4 \n-1.56485 2.0935 0 1.04763 -2.79607 0 \n-2.51522 1.57944 0 1.57915 -2.53766 0 \n-2.51522 2.09335 0 0 0 4 \n-3.29169 0.953463 0 1.95447 -2.27194 0 \n-4.1986 0.953742 0 0 0 9 \n-3.35689 0.889697 0 2.1008 -2.14164 0 \n-3.35691 0.953742 0 0 0 5 \n-3.35691 -0.185866 0 0 0 7 \n-3.35684 0.778217 0 2.8507 0.933515 0 \n-3.35691 0.383938 0 0 0 4 \n-3.21833 0.383952 0 2.78148 1.10991 0 \n-2.93607 -0.185866 0 0 0 4 \n-2.93605 -0.180941 0 2.66227 1.38135 0 \n-3.35691 2.09335 0 0 0 10 \n-2.51527 3.24087 0 -1.20412 2.745 0 \n-3.46758 2.78329 0 -1.48297 2.60718 0 \n-2.51522 2.78332 0 0 0 6 \n-3.35691 2.78332 0 0 0 4 \n-3.3569 2.84228 0 -1.36874 2.66872 0 \n0.999909 2.09314 0 -1.39979 -2.63972 0 \n2.53493 2.09335 0 0 0 8 \n2.3573 0.953815 0 -2.45483 -1.72196 0 \n2.53493 0.953742 0 0 0 4 \n1.69332 1.66701 0 -1.82086 -2.37417 0 \n1.69324 2.09335 0 0 0 4 \n1.86165 1.52355 0 -2.06572 -2.17244 0 \n2.53493 1.52355 0 0 0 6 \n2.11396 1.27021 0 -2.2939 -1.92495 0 \n2.11408 1.52355 0 0 0 5 \n2.11408 2.09335 0 0 0 6 \n0.851577 2.14903 0 -0.923539 -2.84741 0 \n0.851546 3.47329 0 0 0 8 \n0.851546 2.78332 0 0 0 6 \n-0.831837 2.78332 0 0 0 7 \n0.009797 2.3373 0 -0.486115 -2.95055 0 \n0.009854 2.78332 0 0 0 6 \n0.009854 3.47329 0 0 0 6 \n-0.831837 3.74861 0 -0.647464 2.92511 0 \n-0.831823 6.96419 0 -0.539062 2.94579 0 \n-0.831856 5.52853 0 0.387306 -2.96989 0 \n-1.8869 5.30248 0 0.717012 -2.91018 0 \n-2.51522 5.30287 0 0 0 4 \n-2.51535 5.10629 0 0.95768 -2.84143 0 \n-4.1986 4.38808 0 0 0 4 \n-4.17847 4.38808 0 1.32624 -2.69035 0 \n-3.35691 5.30287 0 0 0 6 \n-3.35691 4.7798 0 1.15376 -2.76725 0 \n-2.51518 6.58248 0 -0.869613 2.86719 0 \n0.851545 3.90632 0 0.0767607 2.99769 0 \n0.009843 3.87062 0 -0.333441 2.97823 0 \n1.69323 3.84933 0 0.33984 2.97425 -4.67391e-007 \n1.69324 3.47329 0 0 0 9 \n0.851544 7.12786 0 -0.207704 2.99051 0 \n0.851545 5.64791 0 -0.199333 -2.99165 0 \n0.851546 6.21766 0 0 0 7 \n2.53493 6.21766 0 0 0 6 \n1.69324 5.5716 0 -0.468835 -2.95977 0 \n1.69324 6.21766 0 0 0 6 \n1.69324 7.12122 0 0.126511 2.99613 4.71595e-007 \n3.08698 -0.185836 0 -2.48772 -1.6755 0 \n3.70825 -0.185866 0 1.91544 -2.30868 0 \n9.6392 -0.185856 0 2.08582 -2.15521 0 \n6.82775 -0.185765 0 -2.086 2.15359 0 \n9.26846 -0.522791 0 1.97339 -2.25808 0 \n9.26843 -5.9049 0 0.900566 -2.86137 0 \n9.26818 -3.27809 0 -1.65588 2.49958 0 \n9.26846 -0.185866 0 0 0 6 \n4.08485 -3.84569 0 1.01966 -2.82081 0 \n9.26846 -3.84502 0 0 0 6 \n8.36648 -3.84508 0 -1.51409 2.58899 0 \n5.90162 -6.84143 0 0.69898 -2.9161 0 \n5.90167 -5.0521 0 -1.0341 2.81165 0 \n5.9017 -5.6746 0 0 0 6 \n3.90573 -5.67464 0 -0.503181 2.95439 0 \n4.21842 -7.17149 0 0.525915 -2.95262 0 \n4.21831 -5.6746 0 0 0 5 \n4.21831 -5.60059 0 -0.770837 2.89694 0 \n3.37668 -4.08017 0 0.852246 -2.87331 0 \n3.37662 -3.84502 0 0 0 4 \n9.26846 -5.6746 0 0 0 6 \n7.58508 -6.40068 0 0.81831 -2.88592 0 \n7.58508 -5.6746 0 0 0 6 \n7.58516 -4.28532 0 -1.3199 2.69132 0 \n5.9015 -2.99677 0 1.55774 -2.56013 0 \n5.90174 -1.04 0 -1.8743 2.33782 0 \n5.9017 -2.01544 0 0 0 6 \n4.59484 -2.01541 0 -1.63239 2.51321 0 \n4.21848 -3.79533 0 1.1375 -2.77532 0 \n4.21825 -2.24294 0 -1.37421 2.66295 0 \n2.53493 -2.93023 0 0 0 4 \n4.21831 -2.93023 0 0 0 6 \n3.37662 -2.93023 0 0 0 8 \n3.37657 -2.64215 0 -1.02462 2.81263 -2.25444e-007 \n5.9017 -2.93023 0 0 0 4 \n5.05967 -3.43645 0 1.31831 -2.69256 0 \n5.06001 -2.93023 0 0 0 8 \n5.06001 -2.01544 0 0 0 4 \n7.40131 -2.01575 0 1.72329 -2.45467 0 \n7.58524 -1.88206 0 1.84448 -2.3649 0 \n7.58508 -0.185866 0 0 0 5 \n14.1798 -3.84542 0 1.43931 -2.63136 -2.23675e-007 \n12.6352 -4.62917 0 1.28855 -2.70705 -1.06869e-007 \n12.6352 -3.84502 0 0 0 6 \n9.97723 -5.67459 0 0.978572 -2.83565 0 \n10.9518 -5.32834 0 1.10191 -2.78932 0 \n10.9518 -3.84502 0 0 0 6 \n12.6352 -0.632444 0 -1.92394 2.30182 0 \n12.6352 -2.01544 0 0 0 8 \n10.9871 -2.01547 0 -1.89382 2.32647 0 \n10.9519 -2.04371 0 -1.80803 2.39318 0 \n15.1276 -2.01544 0 1.5001 2.59793 -2.31137e-007 \n14.3189 -3.76651 0 1.54139 -2.57324 0 \n14.3186 -2.01544 0 0 0 4 \n15.606 -2.93021 0 1.83576 -2.37139 0 \n14.3186 -2.93023 0 0 0 8 \n15.1604 -3.24886 0 1.68724 -2.47864 0 \n15.1603 -2.93023 0 0 0 4 \n15.1603 -2.03477 0 1.58314 2.54652 -1.20197e-007 \n14.3187 -1.55386 0 1.492 2.60268 0 \n9.26839 3.83398 0 1.96124 2.26941 0 \n3.10532 3.47329 0 1.13285 2.76942 7.81428e-008 \n6.40453 3.47329 0 -1.94559 -2.28027 0 \n9.26846 3.47329 0 0 0 4 \n5.22376 2.09323 0 1.95308 2.26818 0 \n4.21831 0.244 0 1.95951 -2.2715 0 \n4.21831 2.09335 0 0 0 9 \n4.21832 2.87882 0 1.55793 2.55213 0 \n7.88923 2.09335 0 -2.24684 -1.98521 0 \n9.26846 2.09335 0 0 0 10 \n7.58521 0.623064 0 -2.23914 1.99371 0 \n7.58508 3.47329 0 0 0 5 \n7.58528 2.40537 0 -2.1034 -2.13722 0 \n5.90171 6.0834 0 1.29931 2.7017 0 \n5.9018 3.85431 0 -1.75051 -2.43401 0 \n2.93398 5.30343 0 -0.949466 -2.84267 0 \n5.9017 5.30287 0 0 0 6 \n4.21831 5.30287 0 0 0 5 \n4.21812 4.82918 0 -1.26003 -2.71722 0 \n5.07523 4.38807 0 -1.58563 -2.54578 0 \n5.9017 4.38808 0 0 0 5 \n5.06001 5.30287 0 0 0 7 \n5.06 4.39688 0 -1.45813 -2.62085 0 \n4.21831 6.71257 0 0.783634 2.89366 0 \n4.21831 6.21766 0 0 0 6 \n3.37662 5.30287 0 0 0 5 \n3.37662 6.21766 0 0 0 7 \n3.37662 6.91673 0 0.552736 2.94654 0 \n5.60247 6.21769 0 1.15605 2.76775 2.40485e-007 \n5.06001 6.21766 0 0 0 5 \n5.06001 6.43598 0 0.997684 2.82775 5.02894e-007 \n7.32637 5.30289 0 1.50481 2.59319 -2.37488e-007 \n7.58514 5.13518 0 1.67066 2.49086 -5.17799e-007 \n8.60914 4.38832 0 1.8778 2.33913 0 \n7.58508 4.38808 0 0 0 8 \n8.42677 4.38808 0 0 0 5 \n8.42677 3.47329 0 0 0 8 \n8.42698 4.53118 0 1.78302 2.41189 -1.91896e-007 \n9.66372 3.47321 0 2.0639 2.17568 0 \n11.0054 2.09336 0 2.25979 1.97236 0 \n10.9518 1.12498 0 2.2275 -2.00642 0 \n10.9518 2.09335 0 0 0 4 \n10.9519 2.15303 0 2.17614 2.06417 0 \n9.66372 3.47321 -4.03795 2.10555 2.1354 0 \n9.26839 3.83398 -4.03795 1.99175 2.24269 0 \n9.26846 3.47329 -4.03795 -5.23131e-010 -5.28812e-006 -4 \n2.53493 7.05185 -4.03795 0.399155 2.97134 0 \n1.69324 7.12122 -4.03795 0.18647 2.993 4.71595e-007 \n1.69324 6.21766 -4.03795 0 0 -6 \n2.53493 -2.93023 -4.03795 6.98861e-006 -7.54159e-005 -4 \n2.53491 -2.90494 -4.03795 -0.759934 2.89559 -4.58236e-007 \n1.22131 -3.12313 -4.03795 -0.234803 2.96865 -2.32792e-007 \n-4.62926 -1.10058 -4.03795 -2.57669 -1.52897 0 \n-4.1986 -1.10065 -4.03795 4.42891e-006 1.06009e-009 -5 \n-4.1986 -0.185866 -4.03795 3.23968e-006 6.45263e-006 -9 \n-5.0403 -3.84502 -4.03795 0 0 -5 \n-5.88199 -3.84502 -4.03795 2.62053e-006 2.31102e-006 -8 \n-5.88199 -4.75981 -4.03795 3.99622e-006 -4.2866e-010 -6 \n-5.11807 -5.67472 -4.03795 -1.67053 -2.49013 -3.24029e-007 \n-4.19877 -6.23493 -4.03795 -1.49545 -2.59852 0 \n-4.1986 -5.6746 -4.03795 0 0 -5 \n-6.35928 -4.75948 -4.03795 -1.93112 -2.29497 0 \n-5.88207 -5.13767 -4.03795 -1.81729 -2.38555 -6.5582e-007 \n-7.34325 -3.84502 -4.03795 -2.14729 -2.09407 0 \n-6.72357 -4.44369 -4.03795 -2.04463 -2.194 0 \n-6.72368 -3.84502 -4.03795 3.07852e-006 1.77e-006 -4 \n-9.24864 -1.47065 -4.03795 -2.51462 -1.63408 0 \n-8.86448 -2.01544 -4.03795 -2.40985 -1.7841 0 \n-7.56537 -1.10065 -4.03795 7.29679e-007 -7.42268e-007 -7 \n-7.56537 -3.61036 -4.03795 -2.27693 -1.95052 0 \n-7.56537 -2.01544 -4.03795 0 0 -6 \n-9.24876 -0.185866 -4.03795 -7.98378e-007 1.8904e-007 -6 \n-10.0493 -0.185873 -4.03795 -2.59026 -1.51222 0 \n-5.45632 -2.93023 -4.03795 2.21788 2.01767 0 \n-5.88165 -2.41594 -4.03795 2.34754 1.8661 0 \n-5.88199 -2.93023 -4.03795 3.51522e-007 1.5235e-006 -6 \n-4.51141 -3.84502 -4.03795 1.92042 2.30317 0 \n-5.0403 -3.36642 -4.03795 2.0656 2.17313 0 \n-7.3002 -0.185648 -4.03795 2.63913 1.42223 0 \n-7.56537 -0.185866 -4.03795 1.13304e-006 1.20516e-011 -4 \n-6.72368 -2.01544 -4.03795 0 0 -5 \n-6.17543 -2.01545 -4.03795 2.44747 1.73346 0 \n-6.72368 -1.184 -4.03795 2.51716 1.63181 0 \n-4.19831 -1.72121 -4.03795 -2.40766 -1.7849 0 \n-5.12093 -0.18587 -4.03795 -2.70579 -1.29526 0 \n-5.04043 -0.347705 -4.03795 -2.66833 -1.37007 0 \n-5.0403 -0.185866 -4.03795 -2.92931e-010 1.17855e-005 -4 \n2.53492 -4.27328 -4.03795 0.388316 -2.96789 0 \n2.53493 -3.84502 -4.03795 7.2599e-007 -1.32107e-006 -7 \n0.851546 -3.84502 -4.03795 -2.57914e-006 -1.32107e-006 -8 \n-1.40369 -3.84524 -4.03795 -1.04766 -2.80979 4.46526e-007 \n-0.831887 -4.03225 -4.03795 -0.854264 -2.8735 2.26959e-007 \n-0.831837 -3.84502 -4.03795 0 0 -5 \n-0.831837 -6.58939 -4.03795 1.66733e-006 -1.56996e-006 -8 \n-0.831844 -5.741 -4.03795 0.534592 2.95 0 \n-1.11453 -5.67471 -4.03795 0.747062 2.90407 0 \n-3.35691 -6.58939 -4.03795 0 0 -5 \n-2.51522 -6.58939 -4.03795 0 0 -6 \n-2.51522 -5.6746 -4.03795 -1.13298e-006 -5.62477e-006 -6 \n-3.35689 -6.65628 -4.03795 -1.18742 -2.75387 -4.35849e-007 \n-2.51522 -6.98262 -4.03795 -0.996824 -2.82652 -8.92618e-007 \n-3.50483 -6.5892 -4.03795 -1.32234 -2.69205 0 \n-3.35691 -5.6746 -4.03795 0 0 -8 \n-1.67353 -7.22224 -4.03795 -0.73569 -2.90572 -3.41562e-007 \n-0.831837 -7.38342 -4.03795 -0.483859 -2.95849 0 \n-1.67353 -6.58939 -4.03795 0 0 -5 \n-1.67353 -5.6746 -4.03795 -3.41345e-006 -1.28191e-005 -6 \n-3.35691 -4.75981 -4.03795 0 0 -5 \n-3.21591 -4.75982 -4.03795 1.48532 2.60574 0 \n-3.35692 -4.67381 -4.03795 1.60787 2.53156 0 \n-2.51522 -5.1456 -4.03795 1.26776 2.71531 2.09658e-007 \n-4.1986 -4.75981 -4.03795 0 0 -7 \n-1.67348 -5.50505 -4.03795 0.973608 2.83344 4.35655e-007 \n2.53495 -7.41137 -4.03795 0.252527 -2.98689 -2.3754e-007 \n2.53491 -5.86329 -4.03795 -0.313126 2.98051 0 \n1.08803 -5.92188 -4.03795 -0.0720194 2.99832 0 \n0.009854 -6.58939 -4.03795 -1.01634e-006 2.1547e-006 -6 \n0.851546 -6.58939 -4.03795 -5.04021e-007 4.3751e-006 -7 \n0.851546 -5.91977 -4.03795 0.0751485 2.99828 0 \n0.009855 -7.4746 -4.03795 -0.250295 -2.98776 0 \n0.851546 -7.50399 -4.03795 -0.0704267 -2.99878 0 \n0.009855 -5.87144 -4.03795 0.267806 2.98491 0 \n0.009867 -4.23353 -4.03795 -0.596966 -2.93644 0 \n0.851539 -4.34548 -4.03795 -0.302317 -2.98179 0 \n0.009854 -3.84502 -4.03795 0 0 -7 \n-2.34351 -1.10065 -4.03795 2.28206 1.94073 0 \n-2.51526 -0.864579 -4.03795 2.46871 1.70107 0 \n-2.51522 -1.10065 -4.03795 0 0 -9 \n-1.46232 -2.01552 -4.03795 1.84024 2.36607 0 \n-1.67353 -2.01544 -4.03795 0 0 -5 \n-1.67353 -2.93023 -4.03795 0 0 -7 \n-2.99656 -2.93025 -4.03795 -1.90308 -2.31642 0 \n-2.51522 -2.93023 -4.03795 0 0 -5 \n-2.51522 -2.01544 -4.03795 0 0 -8 \n-2.51522 -3.28498 -4.03795 -1.66071 -2.49045 0 \n-3.9504 -2.01558 -4.03795 -2.24211 -1.99017 -3.90921e-007 \n-3.35693 -2.61794 -4.03795 -2.07962 -2.15935 -2.00747e-007 \n-3.35691 -2.01544 -4.03795 0 0 -5 \n-0.831837 -2.93023 -4.03795 0 0 -7 \n-1.67358 -3.73829 -4.03795 -1.31681 -2.6905 0 \n-3.35691 -0.185866 -4.03795 0 0 -7 \n-1.67355 -1.83055 -4.03795 2.05429 2.18086 0 \n0.146832 -2.93028 -4.03795 0.747491 2.9024 -4.54679e-007 \n0.009887 -2.88578 -4.03795 1.05481 2.80169 -2.24247e-007 \n0.009854 -2.93023 -4.03795 0 0 -5 \n0.851546 -3.08863 -4.03795 0.405028 2.96702 0 \n-0.831824 -2.47712 -4.03795 1.46424 2.60603 0 \n-4.1986 6.00549 -4.03795 -1.06521 2.80098 0 \n-5.73119 5.30287 -4.03795 -1.29525 2.70505 0 \n-4.1986 5.30287 -4.03795 0 0 -6 \n-4.19865 2.35406 -4.03795 -1.56864 2.55587 0 \n-4.58836 2.09336 -4.03795 -1.75278 2.4301 0 \n-4.1986 2.09335 -4.03795 0 0 -4 \n-9.24876 2.09335 -4.03795 0 0 -8 \n-7.56537 2.09335 -4.03795 0 0 -4 \n-7.56537 2.78332 -4.03795 0 0 -9 \n-7.56538 0.374514 -4.03795 2.73173 1.238 0 \n-7.9579 1.32342 -4.03795 1.84813 0.764474 0 \n-9.24876 0.953742 -4.03795 -9.03323e-007 1.67369e-006 -7 \n-10.0904 0.953742 -4.03795 3.44022e-006 -6.15108e-012 -5 \n-10.6449 0.953696 -4.03795 -2.72245 -1.25631 0 \n-10.0905 -0.113013 -4.03795 -2.6454 -1.41402 0 \n-10.0904 2.09335 -4.03795 7.54334e-006 -3.14332e-006 -5 \n-9.24883 3.0492 -4.03795 -1.82588 2.37947 0 \n-10.418 2.09335 -4.03795 -1.94821 2.27945 0 \n-5.73989 1.13235 -4.03795 -1.28148 1.53552 0 \n-5.73969 1.13224 -4.03795 -1.85455 -2.18527 0 \n-6.72368 3.47329 -4.03795 0 0 -8 \n-6.72368 2.78332 -4.03795 0 0 -4 \n-6.54123 2.7834 -4.03795 1.93735 -2.28978 3.03771e-007 \n-6.72375 2.62451 -4.03795 2.03169 -2.20652 1.62411e-007 \n-7.28473 2.09335 -4.03795 2.1361 -2.10516 3.33469e-007 \n-7.56537 4.23655 -4.03795 -1.57784 2.5496 0 \n-8.6781 3.47333 -4.03795 -1.72774 2.45195 0 \n-7.56537 3.47329 -4.03795 0 0 -4 \n-5.88199 5.22437 -4.03795 -1.42964 2.63647 0 \n-5.88199 3.47329 -4.03795 0 0 -4 \n-5.65881 3.47328 -4.03795 1.70711 -2.46453 1.90196e-007 \n0.999909 2.09314 -4.03795 -1.22886 -2.7235 0 \n1.69324 2.09335 -4.03795 2.751e-006 2.48454e-010 -4 \n1.69324 3.47329 -4.03795 4.12501e-007 1.17476e-006 -9 \n-1.88981 3.47311 -4.03795 -0.852089 2.87292 0 \n-2.51527 3.24087 -4.03795 -1.12418 2.7787 0 \n-1.56485 2.0935 -4.03795 1.23746 -2.7174 0 \n-2.51522 1.57944 -4.03795 1.73102 -2.4366 0 \n-2.51522 2.09335 -4.03795 0 0 -4 \n-3.35691 2.09335 -4.03795 0 0 -10 \n-3.35689 0.889697 -4.03795 2.10394 -2.13855 0 \n-3.29169 0.953463 -4.03795 2.02606 -2.20833 0 \n-3.35691 0.953742 -4.03795 0 0 -5 \n-3.38369 0.863255 -4.03795 1.90723 0.602057 0 \n-2.93607 -0.185866 -4.03795 0 0 -4 \n-2.93331 -0.185859 -4.03795 2.57609 1.53625 0 \n-2.93605 -0.180941 -4.03795 2.64093 1.42172 0 \n-4.1986 0.953742 -4.03795 0 0 -9 \n-3.3569 2.84228 -4.03795 -1.3264 2.69001 0 \n-3.35691 2.78332 -4.03795 0 0 -4 \n-2.51522 2.78332 -4.03795 0 0 -6 \n-3.46758 2.78329 -4.03795 -1.44702 2.6273 0 \n2.11408 1.52355 -4.03795 0 0 -5 \n2.53493 1.52355 -4.03795 0 0 -6 \n2.53493 2.09335 -4.03795 -7.01895e-007 -9.24014e-007 -8 \n2.3573 0.953815 -4.03795 -2.41643 -1.77544 0 \n2.53551 0.687508 -4.03795 -2.50769 -1.64623 0 \n2.53493 0.953742 -4.03795 0 0 -4 \n1.69332 1.66701 -4.03795 -1.69579 -2.46505 0 \n1.86165 1.52355 -4.03795 -2.00582 -2.22786 0 \n2.11396 1.27021 -4.03795 -2.20976 -2.02098 0 \n2.11408 2.09335 -4.03795 0 0 -6 \n0.851546 2.78332 -4.03795 -1.19305e-006 4.18182e-006 -6 \n0.851546 3.47329 -4.03795 1.4012e-005 -4.58484e-006 -8 \n0.009854 2.78332 -4.03795 0 0 -6 \n0.009797 2.3373 -4.03795 -0.317456 -2.97343 0 \n0.851577 2.14903 -4.03795 -0.789156 -2.88754 0 \n-0.330436 2.35419 -4.03795 0.117229 -2.9918 0 \n-0.831837 2.78332 -4.03795 0 0 -7 \n0.009854 3.47329 -4.03795 -7.85133e-007 -4.80046e-006 -6 \n-2.51518 6.58248 -4.03795 -0.766525 2.89646 0 \n-2.51522 5.30287 -4.03795 0 0 -4 \n-1.8869 5.30248 -4.03795 0.805498 -2.88694 0 \n-0.831837 3.74861 -4.03795 -0.538916 2.94704 0 \n-0.831837 3.47329 -4.03795 0 0 -4 \n-3.35691 5.30287 -4.03795 0 0 -6 \n-3.35691 4.7798 -4.03795 1.22245 -2.7376 0 \n-2.51535 5.10629 -4.03795 1.02137 -2.81916 0 \n-4.1986 4.38808 -4.03795 0 0 -4 \n-4.1986 4.37749 -4.03795 1.51843 -2.58544 0 \n-4.17847 4.38808 -4.03795 1.36135 -2.67276 0 \n2.53495 3.67327 -4.03795 0.866475 2.86617 1.25348e-007 \n1.69323 3.84933 -4.03795 0.477041 2.95535 -4.20186e-007 \n0.009843 3.87062 -4.03795 -0.236515 2.98749 0 \n0.851545 3.90632 -4.03795 0.139699 2.99542 -2.36216e-007 \n-0.831823 6.96419 -4.03795 -0.414685 2.96585 0 \n-0.831856 5.52853 -4.03795 0.507916 -2.95165 0 \n0.56572 5.65327 -4.03795 0.159059 -2.99191 0 \n1.69324 5.5716 -4.03795 -0.369864 -2.97375 0 \n2.53503 5.40934 -4.03795 -0.635127 -2.93037 0 \n2.53493 6.21766 -4.03795 0 0 -6 \n0.851545 5.64791 -4.03795 -0.127774 -2.99556 0 \n1.18271 7.13255 -4.03795 0.0302044 2.99941 2.36215e-007 \n0.851544 7.12786 -4.03795 -0.125098 2.99511 0 \n0.851546 6.21766 -4.03795 1.38034e-006 -3.80036e-006 -7 \n15.1276 -2.01544 -4.03795 1.51343 2.59019 -2.31137e-007 \n14.3187 -1.55386 -4.03795 1.48938 2.60418 -1.1094e-007 \n14.3186 -2.01544 -4.03795 0 0 -4 \n9.26846 -0.522791 -4.03795 1.92909 -2.29604 0 \n9.26846 -0.185866 -4.03795 -5.14473e-006 2.91246e-011 -6 \n7.58508 -0.185866 -4.03795 0 0 -5 \n9.26846 -5.6746 -4.03795 0 0 -6 \n9.26846 -3.84502 -4.03795 0 0 -6 \n8.36648 -3.84508 -4.03795 -1.55551 2.56432 0 \n5.9017 -5.6746 -4.03795 0 0 -6 \n5.90167 -5.0521 -4.03795 -1.1388 2.7709 0 \n4.21831 -5.60059 -4.03795 -0.850118 2.87467 0 \n5.90162 -6.84143 -4.03795 0.638128 -2.93002 0 \n4.21831 -5.6746 -4.03795 0 0 -5 \n4.21842 -7.17149 -4.03795 0.474555 -2.96131 0 \n3.37668 -4.08017 -4.03795 0.761538 -2.89868 0 \n4.08485 -3.84569 -4.03795 0.981305 -2.83438 0 \n3.37662 -3.84502 -4.03795 0 0 -4 \n3.90573 -5.67464 -4.03795 -0.597368 2.9368 0 \n9.26843 -5.9049 -4.03795 0.874058 -2.86958 0 \n7.58508 -5.6746 -4.03795 0 0 -6 \n7.58508 -6.40068 -4.03795 0.789071 -2.89405 0 \n5.90174 -1.04 -4.03795 -1.95422 2.27144 0 \n4.59484 -2.01541 -4.03795 -1.71339 2.4587 0 \n5.06001 -2.01544 -4.03795 0 0 -4 \n5.9017 -2.93023 -4.03795 -8.75586e-006 2.86906e-005 -4 \n5.9017 -2.01544 -4.03795 0 0 -6 \n5.06001 -2.93023 -4.03795 9.52956e-007 1.76983e-005 -8 \n4.21831 -2.93023 -4.03795 -4.75523e-007 -4.20177e-006 -6 \n4.21825 -2.24294 -4.03795 -1.4628 2.61533 0 \n3.37657 -2.64215 -4.03795 -1.15512 2.7616 0 \n4.21848 -3.79533 -4.03795 1.09775 -2.79128 0 \n3.37662 -2.93023 -4.03795 1.03356e-006 -4.43316e-005 -8 \n5.9015 -2.99677 -4.03795 1.47329 -2.60965 0 \n5.05967 -3.43645 -4.03795 1.24778 -2.72596 0 \n3.08698 -0.185836 -4.03795 -2.51217 -1.63862 0 \n3.30973 -0.506262 -4.03795 -1.64218 -1.14159 0 \n3.70825 -0.185866 -4.03795 1.89758 -2.32338 0 \n9.26818 -3.27809 -4.03795 -1.71483 2.45951 0 \n7.40131 -2.01575 -4.03795 1.68274 -2.48264 0 \n7.58524 -1.88206 -4.03795 1.80416 -2.3958 0 \n6.82775 -0.185765 -4.03795 -2.13786 2.10211 0 \n12.6352 -4.62917 -4.03795 1.21963 -2.73879 0 \n14.1798 -3.84542 -4.03795 1.39839 -2.65334 -2.23675e-007 \n12.6352 -3.84502 -4.03795 0 0 -6 \n10.9518 -3.84502 -4.03795 0 0 -6 \n9.97723 -5.67459 -4.03795 0.952824 -2.84441 0 \n12.6352 -2.01544 -4.03795 0 0 -8 \n12.6352 -0.632444 -4.03795 -1.91945 2.30557 0 \n10.9871 -2.01547 -4.03795 -1.91112 2.31227 0 \n9.6392 -0.185856 -4.03795 2.05175 -2.18767 0 \n15.606 -2.93021 -4.03795 1.79031 -2.40588 0 \n16.0019 -2.61152 -4.03795 1.25414 -1.55793 0 \n15.1603 -2.03477 -4.03795 1.63951 2.51059 0 \n14.3186 -2.93023 -4.03795 -1.91594e-005 1.58788e-005 -8 \n15.1604 -3.24886 -4.03795 1.62961 -2.5169 0 \n15.1603 -2.93023 -4.03795 -4.27921e-006 -2.13033e-006 -4 \n13.0945 -0.85045 -4.03795 1.51664 2.58814 0 \n7.32637 5.30289 -4.03795 1.56819 2.55537 -4.34946e-007 \n5.90171 6.0834 -4.03795 1.37038 2.66636 -1.09042e-007 \n5.9017 5.30287 -4.03795 1.54994e-006 1.73735e-006 -6 \n8.42677 3.47329 -4.03795 -5.97987e-006 -3.5367e-006 -8 \n7.58528 2.40537 -4.03795 -2.05788 -2.18109 0 \n7.88923 2.09335 -4.03795 -2.19788 -2.03929 0 \n5.22376 2.09323 -4.03795 2.0591 2.17239 0 \n4.21832 2.87882 -4.03795 1.7025 2.45805 0 \n4.21831 2.09335 -4.03795 -1.89716e-006 -2.42827e-006 -9 \n4.21831 0.244 -4.03795 1.9464 -2.28274 0 \n5.7311 1.56427 -4.03795 1.31508 -1.50684 0 \n3.10532 3.47329 -4.03795 1.27311 2.70781 0 \n2.53493 3.47329 -4.03795 0 0 -4 \n7.58521 0.623064 -4.03795 -2.28855 1.93679 0 \n7.58508 3.47329 -4.03795 0 0 -5 \n6.40453 3.47329 -4.03795 -1.87882 -2.3356 0 \n5.60247 6.21769 -4.03795 1.19215 2.7524 0 \n5.06001 6.43598 -4.03795 1.05882 2.80543 5.02894e-007 \n5.06001 6.21766 -4.03795 0 0 -5 \n5.06001 5.30287 -4.03795 -5.92271e-007 2.10527e-006 -7 \n5.06 4.39688 -4.03795 -1.41425 -2.64479 0 \n5.07523 4.38807 -4.03795 -1.54381 -2.57135 0 \n5.9018 3.85431 -4.03795 -1.68898 -2.47711 0 \n5.9017 4.38808 -4.03795 2.30784e-006 2.20599e-010 -5 \n4.21831 5.30287 -4.03795 0 0 -5 \n4.21812 4.82918 -4.03795 -1.14967 -2.76572 0 \n4.21831 6.71257 -4.03795 0.860092 2.87186 2.62408e-007 \n3.37662 6.91673 -4.03795 0.629955 2.931 0 \n3.37662 6.21766 -4.03795 0 0 -7 \n3.37662 5.30287 -4.03795 0 0 -5 \n4.21831 6.21766 -4.03795 0 0 -6 \n2.93398 5.30343 -4.03795 -0.859617 -2.87111 0 \n8.60914 4.38832 -4.03795 1.90427 2.31764 0 \n8.42698 4.53118 -4.03795 1.81717 2.38626 0 \n8.42677 4.38808 -4.03795 -1.04586e-005 7.70202e-009 -5 \n7.58514 5.13518 -4.03795 1.70976 2.46419 -3.89353e-007 \n7.58508 4.38808 -4.03795 0 0 -8 \n11.0054 2.09336 -4.03795 2.28556 1.94245 0 \n10.9519 2.15303 -4.03795 2.20508 2.03323 0 \n10.9518 2.09335 -4.03795 -2.76474e-010 1.96965e-006 -4 \n10.9518 1.12498 -4.03795 2.17369 -2.06458 0 \n11.386 1.63337 -4.03795 1.52087 -1.29883 0 \n9.26846 2.09335 -4.03795 -2.93183e-006 1.34478e-006 -10 \n-5.88198 3.31007 -4.03795 1.83865 -2.36976 5.23418e-007 \n-7.56537 1.79855 -4.03795 2.26616 -1.96332 0 \n-3.35684 0.778217 -4.03795 2.84056 0.963943 0 \n-3.35691 0.383938 -4.03795 0 0 -4 \n-3.21833 0.383952 -4.03795 2.73254 1.22545 0 \n-4.1986 -4.09528 -4.03795 1.75761 2.42905 0 \n-6.77589 -1.10064 -4.03795 2.5626 1.55884 0 \n1.40323 -4.3668 -4.03795 0.00513203 -2.99511 0 \n0.875243 -7.50401 -4.03795 0.0544431 -2.99845 -4.73718e-007 \n-10.9311 1.61441 -4.03795 -1.36463 1.46211 0 \n-0.831836 2.31222 -4.03795 0.655279 -2.91301 0 \n0.782986 3.90663 -4.03795 -0.0373139 2.9989 0 \n7.58516 -4.28532 -4.03795 -1.39629 2.65249 0 \n10.9518 -5.32834 -4.03795 1.05312 -2.80811 0 \n10.9519 -2.04371 -4.03795 -1.84228 2.36692 0 \n14.3189 -3.76651 -4.03795 1.51081 -2.59132 -1.16806e-007 \n12.6782 -0.596853 -4.03795 1.04047 1.70805 0 \n8.33822 1.55957 -4.03795 -1.53053 -1.28743 0 \n9.26839 3.83398 -4.03795 -7.51112e-007 -6.18076e-006 -3 \n9.66372 3.47321 -4.03795 -5.23131e-010 -2.64406e-006 -3 \n1.69324 7.12122 -4.03795 1.83016e-006 -1.70484e-006 -3 \n2.53493 7.05185 -4.03795 0 0 -3 \n2.53491 -2.90494 -4.03795 7.29618e-006 -7.87261e-005 -3 \n1.22131 -3.12313 -4.03795 4.40948e-006 -3.90261e-005 -4 \n-4.62926 -1.10058 -4.03795 5.45414e-006 5.6096e-007 -3 \n-4.19877 -6.23493 -4.03795 0 0 -3 \n-5.11807 -5.67472 -4.03795 0 0 -3 \n-6.35928 -4.75948 -4.03795 4.61864e-006 7.17595e-007 -3 \n-5.88207 -5.13767 -4.03795 1.99811e-006 -4.2866e-010 -3 \n-6.72357 -4.44369 -4.03795 2.16168e-006 3.90429e-006 -3 \n-7.34325 -3.84502 -4.03795 1.89078e-006 3.11677e-006 -3 \n-8.86448 -2.01544 -4.03795 0 0 -3 \n-9.24864 -1.47065 -4.03795 -1.0281e-006 -1.48466e-006 -3 \n-7.56537 -3.61036 -4.03795 -1.18774e-006 2.93977e-006 -5 \n-10.0493 -0.185873 -4.03795 -2.38253e-006 9.4451e-008 -3 \n-5.88165 -2.41594 -4.03795 0 0 -4 \n-5.45632 -2.93023 -4.03795 0 0 -3 \n-4.51141 -3.84502 -4.03795 0 0 -2 \n-5.0403 -3.36642 -4.03795 0 0 -3 \n-7.3002 -0.185648 -4.03795 0 0 -3 \n-6.17543 -2.01545 -4.03795 0 0 -2 \n-6.72368 -1.184 -4.03795 0 0 -3 \n-4.19831 -1.72121 -4.03795 2.21445e-006 1.06009e-009 -4 \n-5.04043 -0.347705 -4.03795 1.02494e-006 1.23454e-005 -3 \n-5.12093 -0.18587 -4.03795 -2.92931e-010 5.89274e-006 -3 \n2.53492 -4.27328 -4.03795 0 0 -3 \n-0.831887 -4.03225 -4.03795 0 0 -3 \n-1.40369 -3.84524 -4.03795 0 0 -3 \n-0.831844 -5.741 -4.03795 3.37366e-006 2.77313e-011 -2 \n-1.11453 -5.67471 -4.03795 -3.9788e-008 -7.19425e-006 -3 \n-2.51522 -6.98262 -4.03795 0 0 -3 \n-3.35689 -6.65628 -4.03795 0 0 -3 \n-3.50483 -6.5892 -4.03795 0 0 -3 \n-0.831837 -7.38342 -4.03795 -1.01634e-006 1.07735e-006 -3 \n-1.67353 -7.22224 -4.03795 0 0 -3 \n-3.21591 -4.75982 -4.03795 0 0 -3 \n-3.35692 -4.67381 -4.03795 0 0 -3 \n-2.51522 -5.1456 -4.03795 -1.13298e-006 2.55314e-012 -3 \n-1.67348 -5.50505 -4.03795 -2.8401e-006 -1.12491e-005 -3 \n2.53491 -5.86329 -4.03795 4.53764e-007 1.23209e-006 -3 \n2.53495 -7.41137 -4.03795 -8.7322e-008 2.44439e-006 -4 \n1.08803 -5.92188 -4.03795 -5.07916e-007 7.87143e-007 -3 \n0.851546 -5.91977 -4.03795 0 0 -3 \n0.851546 -7.50399 -4.03795 3.70652e-008 2.08545e-006 -2 \n0.009855 -7.4746 -4.03795 -9.79924e-007 3.19742e-006 -3 \n0.009855 -5.87144 -4.03795 0 0 -3 \n0.851539 -4.34548 -4.03795 0 0 -2 \n0.009867 -4.23353 -4.03795 0 0 -3 \n-2.51526 -0.864579 -4.03795 0 0 -2 \n-2.34351 -1.10065 -4.03795 0 0 -3 \n-1.46232 -2.01552 -4.03795 0 0 -3 \n-2.99656 -2.93025 -4.03795 0 0 -3 \n-2.51522 -3.28498 -4.03795 0 0 -3 \n-3.35693 -2.61794 -4.03795 0 0 -3 \n-3.9504 -2.01558 -4.03795 0 0 -2 \n-1.67358 -3.73829 -4.03795 0 0 -3 \n-1.67355 -1.83055 -4.03795 0 0 -3 \n0.009887 -2.88578 -4.03795 0 0 -3 \n0.146832 -2.93028 -4.03795 0 0 -3 \n0.851546 -3.08863 -4.03795 -2.57914e-006 0 -3 \n-0.831824 -2.47712 -4.03795 0 0 -3 \n-5.73119 5.30287 -4.03795 0 0 -5 \n-4.1986 6.00549 -4.03795 0 0 -3 \n-4.58836 2.09336 -4.03795 0 0 -4 \n-4.19865 2.35406 -4.03795 0 0 -3 \n-7.9579 1.32342 -4.03795 0.770943 -0.636904 0 \n-7.9579 1.32342 -4.03795 0 0 -3 \n-7.56538 0.374514 -4.03795 8.5447e-007 8.36856e-007 -4 \n-10.0905 -0.113013 -4.03795 1.72011e-006 -6.15108e-012 -3 \n-10.6449 0.953696 -4.03795 6.35184e-006 -5.79657e-007 -4 \n-10.418 2.09335 -4.03795 5.82323e-006 -3.14332e-006 -3 \n-9.24883 3.0492 -4.03795 2.91162e-006 -2.56367e-006 -4 \n-5.73989 1.13235 -4.03795 -0.474662 -0.880168 0 \n-5.73989 1.13235 -4.03795 0 0 -1 \n-5.73969 1.13224 -4.03795 0 0 -3 \n-6.54123 2.7834 -4.03795 0 0 -3 \n-6.72375 2.62451 -4.03795 0 0 -3 \n-7.28473 2.09335 -4.03795 0 0 -3 \n-8.6781 3.47333 -4.03795 0 0 -3 \n-7.56537 4.23655 -4.03795 0 0 -3 \n-5.88199 5.22437 -4.03795 0 0 -4 \n-5.65881 3.47328 -4.03795 0 0 -4 \n0.999909 2.09314 -4.03795 2.35462e-006 2.67857e-006 -4 \n-2.51527 3.24087 -4.03795 0 0 -3 \n-1.88981 3.47311 -4.03795 0 0 -4 \n-1.56485 2.0935 -4.03795 0 0 -6 \n-2.51522 1.57944 -4.03795 0 0 -3 \n-3.29169 0.953463 -4.03795 0 0 -3 \n-3.35689 0.889697 -4.03795 0 0 -2 \n-3.38369 0.863255 -4.03795 0.702363 -0.711819 0 \n-3.38369 0.863255 -4.03795 0 0 -4 \n-2.93331 -0.185859 -4.03795 0 0 -3 \n-2.93605 -0.180941 -4.03795 0 0 -3 \n-3.3569 2.84228 -4.03795 0 0 -3 \n-3.46758 2.78329 -4.03795 0 0 -3 \n2.53551 0.687508 -4.03795 0 0 -3 \n2.3573 0.953815 -4.03795 0 0 -3 \n1.69332 1.66701 -4.03795 1.3755e-006 2.48454e-010 -3 \n2.11396 1.27021 -4.03795 0 0 -3 \n1.86165 1.52355 -4.03795 0 0 -3 \n0.851577 2.14903 -4.03795 -2.3005e-007 3.00706e-006 -2 \n0.009797 2.3373 -4.03795 -7.96669e-007 1.5035e-006 -3 \n-0.330436 2.35419 -4.03795 0 0 -3 \n-2.51518 6.58248 -4.03795 0 0 -5 \n-1.8869 5.30248 -4.03795 0 0 -3 \n-0.831837 3.74861 -4.03795 -7.85133e-007 -2.40024e-006 -3 \n-3.35691 4.7798 -4.03795 0 0 -3 \n-2.51535 5.10629 -4.03795 0 0 -3 \n-4.1986 4.37749 -4.03795 0 0 -3 \n-4.17847 4.38808 -4.03795 0 0 -3 \n1.69323 3.84933 -4.03795 0 0 -3 \n2.53495 3.67327 -4.03795 0 0 -3 \n0.009843 3.87062 -4.03795 -6.83372e-007 -6.98511e-006 -3 \n0.851545 3.90632 -4.03795 1.39103e-005 3.25501e-011 -2 \n-0.831856 5.52853 -4.03795 0 0 -3 \n-0.831823 6.96419 -4.03795 -4.64658e-007 -1.04776e-006 -4 \n0.56572 5.65327 -4.03795 0 0 -3 \n2.53503 5.40934 -4.03795 0 0 -3 \n1.69324 5.5716 -4.03795 0 0 -3 \n0.851545 5.64791 -4.03795 0 0 -3 \n0.851544 7.12786 -4.03795 -4.49816e-007 -2.09552e-006 -2 \n1.18271 7.13255 -4.03795 1.845e-006 -2.7526e-006 -2 \n14.3187 -1.55386 -4.03795 0 0 -3 \n15.1276 -2.01544 -4.03795 -1.91594e-005 1.69439e-005 -3 \n9.26846 -0.522791 -4.03795 -2.57237e-006 2.91246e-011 -3 \n8.36648 -3.84508 -4.03795 0 0 -3 \n5.90167 -5.0521 -4.03795 0 0 -3 \n4.21831 -5.60059 -4.03795 0 0 -3 \n5.90162 -6.84143 -4.03795 0 0 -3 \n4.21842 -7.17149 -4.03795 4.78711e-007 6.16049e-007 -4 \n4.08485 -3.84569 -4.03795 0 0 -3 \n3.37668 -4.08017 -4.03795 0 0 -3 \n3.90573 -5.67464 -4.03795 0 0 -3 \n9.26843 -5.9049 -4.03795 0 0 -3 \n7.58508 -6.40068 -4.03795 0 0 -3 \n4.59484 -2.01541 -4.03795 1.93724e-006 9.85033e-007 -3 \n5.90174 -1.04 -4.03795 0 0 -4 \n4.21825 -2.24294 -4.03795 2.59534e-006 -1.79007e-006 -3 \n3.37657 -2.64215 -4.03795 1.69166e-006 -8.00814e-006 -3 \n4.21848 -3.79533 -4.03795 -1.13362e-006 -2.13073e-010 -3 \n5.9015 -2.99677 -4.03795 -9.74015e-006 3.05752e-005 -3 \n5.05967 -3.43645 -4.03795 -2.11791e-006 3.76831e-006 -3 \n3.30973 -0.506262 -4.03795 0.626576 -0.77936 0 \n3.30973 -0.506262 -4.03795 0 0 -1 \n3.08698 -0.185836 -4.03795 0 0 -3 \n3.70825 -0.185866 -4.03795 0 0 -3 \n9.26818 -3.27809 -4.03795 0 0 -3 \n7.40131 -2.01575 -4.03795 -8.75586e-006 1.43583e-005 -3 \n7.58524 -1.88206 -4.03795 0 0 -5 \n6.82775 -0.185765 -4.03795 0 0 -3 \n14.1798 -3.84542 -4.03795 0 0 -4 \n12.6352 -4.62917 -4.03795 0 0 -3 \n9.97723 -5.67459 -4.03795 0 0 -3 \n12.6352 -0.632444 -4.03795 0 0 -3 \n10.9871 -2.01547 -4.03795 0 0 -3 \n9.6392 -0.185856 -4.03795 -5.5042e-006 3.59982e-007 -3 \n16.0019 -2.61152 -4.03795 0.565297 0.824887 0 \n16.0019 -2.61152 -4.03795 0 0 -1 \n15.606 -2.93021 -4.03795 -4.27921e-006 -1.06533e-006 -3 \n15.1603 -2.03477 -4.03795 -2.1299e-005 1.48138e-005 -4 \n15.1604 -3.24886 -4.03795 -2.13964e-006 -3.138e-010 -3 \n13.0945 -0.85045 -4.03795 0 0 -3 \n5.90171 6.0834 -4.03795 0 0 -3 \n7.32637 5.30289 -4.03795 0 0 -4 \n7.58528 2.40537 -4.03795 0 0 -3 \n7.88923 2.09335 -4.03795 0 0 -3 \n4.21832 2.87882 -4.03795 -1.65055e-006 -2.13815e-006 -3 \n5.22376 2.09323 -4.03795 -1.04065e-006 -2.19555e-006 -3 \n5.7311 1.56427 -4.03795 0.721705 0.692201 0 \n5.7311 1.56427 -4.03795 8.56515e-007 -9.81411e-007 -1 \n4.21831 0.244 -4.03795 -9.19932e-008 -9.81411e-007 -3 \n3.10532 3.47329 -4.03795 -7.01895e-007 2.90125e-007 -3 \n7.58521 0.623064 -4.03795 0 0 -3 \n6.40453 3.47329 -4.03795 0 0 -3 \n5.06001 6.43598 -4.03795 0 0 -3 \n5.60247 6.21769 -4.03795 0 0 -3 \n5.06 4.39688 -4.03795 -1.96248e-007 2.78999e-006 -3 \n5.9018 3.85431 -4.03795 1.15392e-006 2.20599e-010 -3 \n5.07523 4.38807 -4.03795 2.70386e-006 6.84934e-007 -3 \n4.21812 4.82918 -4.03795 -5.92271e-007 1.05264e-006 -4 \n3.37662 6.91673 -4.03795 0 0 -3 \n4.21831 6.71257 -4.03795 0 0 -3 \n2.93398 5.30343 -4.03795 0 0 -3 \n8.42698 4.53118 -4.03795 -5.22929e-006 7.70202e-009 -3 \n8.60914 4.38832 -4.03795 -1.12092e-005 -8.84937e-007 -3 \n7.58514 5.13518 -4.03795 0 0 -2 \n10.9519 2.15303 -4.03795 0 0 -3 \n11.0054 2.09336 -4.03795 1.11534e-006 1.90796e-006 -3 \n11.386 1.63337 -4.03795 0.770442 0.63751 0 \n11.386 1.63337 -4.03795 1.11562e-006 9.23132e-007 -1 \n10.9518 1.12498 -4.03795 7.55878e-007 3.25274e-006 -4 \n-5.88198 3.31007 -4.03795 0 0 -3 \n-7.56537 1.79855 -4.03795 0 0 -3 \n-3.35684 0.778217 -4.03795 0 0 -3 \n-3.21833 0.383952 -4.03795 0 0 -3 \n-4.1986 -4.09528 -4.03795 0 0 -4 \n-6.77589 -1.10064 -4.03795 0 0 -3 \n1.40323 -4.3668 -4.03795 0 0 -2 \n0.875243 -7.50401 -4.03795 -5.7467e-008 2.08393e-006 -2 \n-10.9311 1.61441 -4.03795 -0.917573 -0.397566 0 \n-10.9311 1.61441 -4.03795 0 0 -1 \n-0.831836 2.31222 -4.03795 0 0 -2 \n0.782986 3.90663 -4.03795 1.4012e-005 -2.18462e-006 -2 \n7.58516 -4.28532 -4.03795 0 0 -3 \n10.9518 -5.32834 -4.03795 0 0 -3 \n10.9519 -2.04371 -4.03795 0 0 -3 \n14.3189 -3.76651 -4.03795 0 0 -2 \n12.6782 -0.596853 -4.03795 -0.638322 0.769769 0 \n12.6782 -0.596853 -4.03795 0 0 -1 \n8.33822 1.55957 -4.03795 -0.779323 0.626622 0 \n8.33822 1.55957 -4.03795 0 0 -3 \n9.66372 3.47321 0 0 0 3 \n9.26839 3.83398 0 0 0 3 \n2.53493 7.05185 0 0 0 3 \n1.69324 7.12122 0 0 0 3 \n1.22131 -3.12313 0 0 0 4 \n2.53491 -2.90494 0 0 0 3 \n-4.62926 -1.10058 0 0 0 3 \n-5.11807 -5.67472 0 0 0 3 \n-4.19877 -6.23493 0 0 0 3 \n-6.35928 -4.75948 0 0 0 3 \n-5.88207 -5.13767 0 0 0 3 \n-7.34325 -3.84502 0 0 0 3 \n-6.72357 -4.44369 0 0 0 3 \n-9.24864 -1.47065 0 0 0 3 \n-8.86448 -2.01544 0 0 0 3 \n-7.56537 -3.61036 0 0 0 5 \n-10.0493 -0.185873 0 0 0 3 \n-5.45632 -2.93023 0 0 0 3 \n-5.88165 -2.41594 0 0 0 4 \n-5.0403 -3.36642 0 0 0 3 \n-4.51141 -3.84502 0 0 0 2 \n-7.3002 -0.185648 0 0 0 3 \n-6.72368 -1.184 0 0 0 3 \n-6.17543 -2.01545 0 0 0 2 \n-4.19831 -1.72121 0 0 0 4 \n-5.12093 -0.18587 0 0 0 3 \n-5.04043 -0.347705 0 0 0 3 \n2.53492 -4.27328 0 0 0 3 \n-1.40369 -3.84524 0 0 0 3 \n-0.831887 -4.03225 0 0 0 3 \n-1.11453 -5.67471 0 0 0 3 \n-0.831844 -5.741 0 0 0 2 \n-3.35689 -6.65628 0 0 0 3 \n-2.51522 -6.98262 0 0 0 3 \n-3.50483 -6.5892 0 0 0 3 \n-1.67353 -7.22224 0 0 0 3 \n-0.831837 -7.38342 0 0 0 3 \n-3.35692 -4.67381 0 0 0 3 \n-3.21591 -4.75982 0 0 0 3 \n-2.51522 -5.1456 0 0 0 3 \n-1.67348 -5.50505 0 0 0 3 \n1.08803 -5.92188 0 0 0 3 \n2.53495 -7.41137 0 0 0 4 \n2.53491 -5.86329 0 0 0 3 \n0.851546 -5.91977 0 0 0 3 \n0.009855 -7.4746 0 0 0 3 \n0.851546 -7.50399 0 0 0 2 \n0.009855 -5.87144 0 0 0 3 \n0.009867 -4.23353 0 0 0 3 \n0.851539 -4.34548 0 0 0 2 \n-2.34351 -1.10065 0 0 0 3 \n-2.51526 -0.864579 0 0 0 2 \n-1.46232 -2.01552 0 0 0 3 \n-2.99656 -2.93025 0 0 0 3 \n-2.51522 -3.28498 0 0 0 3 \n-3.9504 -2.01558 0 0 0 2 \n-3.35693 -2.61794 0 0 0 3 \n-1.67358 -3.73829 0 0 0 3 \n-1.67355 -1.83055 0 0 0 3 \n0.146832 -2.93028 0 0 0 3 \n0.009887 -2.88578 0 0 0 3 \n0.851546 -3.08863 0 0 0 3 \n-0.831824 -2.47712 0 0 0 3 \n-4.1986 6.00549 0 0 0 3 \n-5.73119 5.30287 0 0 0 5 \n-4.19865 2.35406 0 0 0 3 \n-4.58836 2.09336 0 0 0 4 \n-7.56538 0.374514 0 0 0 4 \n-7.9579 1.32342 0 0.924064 0.382237 0 \n-7.9579 1.32342 0 0 0 3 \n-10.6449 0.953696 0 0 0 4 \n-10.0905 -0.113013 0 0 0 3 \n-9.24883 3.0492 0 0 0 4 \n-10.418 2.09335 0 0 0 3 \n-5.73969 1.13224 0 0 0 3 \n-5.73989 1.13235 0 -0.640739 0.767759 0 \n-5.73989 1.13235 0 0 0 1 \n-6.54123 2.7834 0 0 0 3 \n-6.72375 2.62451 0 0 0 3 \n-7.28473 2.09335 0 0 0 3 \n-7.56537 4.23655 0 0 0 3 \n-8.6781 3.47333 0 0 0 3 \n-5.65881 3.47328 0 0 0 4 \n-5.88199 5.22437 0 0 0 4 \n0.999909 2.09314 0 0 0 4 \n-1.56485 2.0935 0 0 0 6 \n-1.88981 3.47311 0 0 0 4 \n-2.51527 3.24087 0 0 0 3 \n-2.51522 1.57944 0 0 0 3 \n-3.35689 0.889697 0 0 0 2 \n-3.29169 0.953463 0 0 0 3 \n-3.38369 0.863255 0 0.953615 0.301029 0 \n-3.38369 0.863255 0 0 0 4 \n-2.93605 -0.180941 0 0 0 3 \n-2.93331 -0.185859 0 0 0 3 \n-3.3569 2.84228 0 0 0 3 \n-3.46758 2.78329 0 0 0 3 \n2.3573 0.953815 0 0 0 3 \n2.53551 0.687508 0 0 0 3 \n1.69332 1.66701 0 0 0 3 \n1.86165 1.52355 0 0 0 3 \n2.11396 1.27021 0 0 0 3 \n0.009797 2.3373 0 0 0 3 \n0.851577 2.14903 0 0 0 2 \n-0.330436 2.35419 0 0 0 3 \n-1.8869 5.30248 0 0 0 3 \n-2.51518 6.58248 0 0 0 5 \n-0.831837 3.74861 0 0 0 3 \n-2.51535 5.10629 0 0 0 3 \n-3.35691 4.7798 0 0 0 3 \n-4.17847 4.38808 0 0 0 3 \n-4.1986 4.37749 0 0 0 3 \n2.53494 3.67327 0 0 0 3 \n1.69323 3.84933 0 0 0 3 \n0.009843 3.87062 0 0 0 3 \n0.851545 3.90632 0 0 0 2 \n0.56572 5.65327 0 0 0 3 \n-0.831823 6.96419 0 0 0 4 \n-0.831856 5.52853 0 0 0 3 \n1.69324 5.5716 0 0 0 3 \n2.53503 5.40934 0 0 0 3 \n0.851545 5.64791 0 0 0 3 \n1.18271 7.13255 0 0 0 2 \n0.851544 7.12786 0 0 0 2 \n15.1276 -2.01544 0 0 0 3 \n14.3187 -1.55386 0 0 0 3 \n9.26846 -0.522791 0 0 0 3 \n8.36648 -3.84508 0 0 0 3 \n4.21831 -5.60059 0 0 0 3 \n5.90167 -5.0521 0 0 0 3 \n5.90162 -6.84143 0 0 0 3 \n4.21842 -7.17149 0 0 0 4 \n3.37668 -4.08017 0 0 0 3 \n4.08485 -3.84569 0 0 0 3 \n3.90573 -5.67464 0 0 0 3 \n9.26843 -5.9049 0 0 0 3 \n7.58508 -6.40068 0 0 0 3 \n5.90174 -1.04 0 0 0 4 \n4.59484 -2.01541 0 0 0 3 \n3.37657 -2.64215 0 0 0 3 \n4.21825 -2.24294 0 0 0 3 \n4.21848 -3.79533 0 0 0 3 \n5.9015 -2.99677 0 0 0 3 \n5.05967 -3.43645 0 0 0 3 \n3.70825 -0.185866 0 0 0 3 \n3.08698 -0.185836 0 0 0 3 \n3.30973 -0.506262 0 -0.821091 -0.570797 0 \n3.30973 -0.506262 0 0 0 1 \n9.26818 -3.27809 0 0 0 3 \n7.40131 -2.01575 0 0 0 3 \n6.82775 -0.185765 0 0 0 3 \n7.58524 -1.88206 0 0 0 5 \n12.6352 -4.62917 0 0 0 3 \n14.1798 -3.84542 0 0 0 4 \n9.97723 -5.67459 0 0 0 3 \n10.9871 -2.01547 0 0 0 3 \n12.6352 -0.632444 0 0 0 3 \n9.6392 -0.185856 0 0 0 3 \n15.1603 -2.03477 0 0 0 4 \n15.606 -2.93021 0 0 0 3 \n16.0019 -2.61152 0 0.627069 -0.778964 0 \n16.0019 -2.61152 0 0 0 1 \n15.1604 -3.24886 0 0 0 3 \n13.0945 -0.85045 0 0 0 3 \n7.32637 5.30289 0 0 0 4 \n5.90171 6.0834 0 0 0 3 \n7.88923 2.09335 0 0 0 3 \n7.58528 2.40537 0 0 0 3 \n5.22376 2.09323 0 0 0 3 \n4.21832 2.87882 0 0 0 3 \n4.21831 0.244 0 0 0 3 \n5.7311 1.56427 0 0.657539 -0.753421 0 \n5.7311 1.56427 0 0 0 1 \n3.10532 3.47329 0 0 0 3 \n7.58521 0.623064 0 0 0 3 \n6.40453 3.47329 0 0 0 3 \n5.60247 6.21769 0 0 0 3 \n5.06001 6.43598 0 0 0 3 \n5.06 4.39688 0 0 0 3 \n5.07523 4.38807 0 0 0 3 \n5.9018 3.85431 0 0 0 3 \n4.21812 4.82918 0 0 0 4 \n4.21831 6.71257 0 0 0 3 \n3.37662 6.91673 0 0 0 3 \n2.93398 5.30343 0 0 0 3 \n8.60914 4.38832 0 0 0 3 \n8.42698 4.53118 0 0 0 3 \n7.58514 5.13518 0 0 0 2 \n11.0054 2.09336 0 0 0 3 \n10.9519 2.15303 0 0 0 3 \n10.9518 1.12498 0 0 0 4 \n11.386 1.63337 0 0.760433 -0.649416 0 \n11.386 1.63337 0 0 0 1 \n-5.88198 3.31007 0 0 0 3 \n-7.56537 1.79855 0 0 0 3 \n-3.21833 0.383952 0 0 0 3 \n-3.35684 0.778217 0 0 0 3 \n-4.1986 -4.09528 0 0 0 4 \n-6.77589 -1.10064 0 0 0 3 \n1.40323 -4.3668 0 0 0 2 \n0.875243 -7.50401 0 0 0 2 \n-10.9311 1.61441 0 -0.682317 0.731056 0 \n-10.9311 1.61441 0 0 0 1 \n-0.831836 2.31222 0 0 0 2 \n0.782986 3.90663 0 0 0 2 \n7.58516 -4.28532 0 0 0 3 \n10.9518 -5.32834 0 0 0 3 \n10.9519 -2.04371 0 0 0 3 \n14.3189 -3.76651 0 0 0 2 \n12.6782 -0.596853 0 0.520234 0.854024 0 \n12.6782 -0.596853 0 0 0 1 \n8.33822 1.55957 0 -0.765266 -0.643714 0 \n8.33822 1.55957 0 0 0 3 \n3 636 637 320 \n3 638 639 323 \n3 640 324 641 \n3 328 642 329 \n3 331 330 332 \n3 643 644 335 \n3 332 645 331 \n3 646 645 332 \n3 647 648 340 \n3 649 650 343 \n3 651 649 345 \n3 652 346 650 \n3 653 654 350 \n3 350 651 653 \n3 655 330 656 \n3 330 331 656 \n3 354 657 343 \n3 658 355 659 \n3 355 345 659 \n3 660 642 328 \n3 661 662 361 \n3 363 663 364 \n3 664 665 367 \n3 666 368 667 \n3 372 371 373 \n3 668 669 372 \n3 669 670 371 \n3 371 670 377 \n3 671 672 368 \n3 672 668 380 \n3 380 372 381 \n3 673 382 674 \n3 373 377 675 \n3 377 335 382 \n3 382 386 674 \n3 667 381 676 \n3 381 373 676 \n3 677 678 679 \n3 392 391 680 \n3 681 682 392 \n3 682 671 391 \n3 391 368 683 \n3 684 685 364 \n3 685 664 399 \n3 686 687 402 \n3 404 688 405 \n3 407 689 408 \n3 690 689 407 \n3 691 692 412 \n3 367 665 413 \n3 693 690 405 \n3 405 407 404 \n3 329 415 328 \n3 688 404 694 \n3 404 408 694 \n3 695 696 419 \n3 364 399 697 \n3 399 367 419 \n3 698 695 413 \n3 699 700 424 \n3 701 702 427 \n3 429 428 430 \n3 704 705 433 \n3 433 434 428 \n3 346 652 433 \n3 706 707 434 \n3 434 707 437 \n3 708 709 437 \n3 711 701 712 \n3 354 705 657 \n3 443 442 713 \n3 713 714 443 \n3 429 430 715 \n3 443 430 442 \n3 716 717 449 \n3 451 718 719 \n3 449 717 442 \n3 454 720 455 \n3 721 722 723 \n3 723 724 460 \n3 460 724 461 \n3 725 726 464 \n3 464 726 728 \n3 729 466 730 \n3 466 415 730 \n3 464 469 461 \n3 471 731 472 \n3 460 461 472 \n3 427 702 461 \n3 732 731 471 \n3 475 474 476 \n3 733 734 479 \n3 735 720 454 \n3 479 734 475 \n3 736 737 474 \n3 474 737 483 \n3 485 484 486 \n3 738 739 484 \n3 739 740 486 \n3 486 490 491 \n3 493 741 742 \n3 722 743 496 \n3 744 497 745 \n3 746 500 747 \n3 500 424 747 \n3 424 700 497 \n3 748 749 455 \n3 491 750 485 \n3 496 743 491 \n3 751 748 485 \n3 752 753 754 \n3 755 756 512 \n3 756 757 323 \n3 758 759 516 \n3 760 761 519 \n3 521 762 522 \n3 524 523 763 \n3 764 526 765 \n3 526 766 530 \n3 678 677 767 \n3 768 769 534 \n3 770 765 530 \n3 663 363 769 \n3 523 771 537 \n3 537 772 526 \n3 526 764 537 \n3 773 774 541 \n3 543 542 544 \n3 775 545 776 \n3 545 777 549 \n3 534 363 549 \n3 324 640 549 \n3 542 778 544 \n3 544 779 545 \n3 545 775 544 \n3 781 782 783 \n3 784 524 763 \n3 543 785 542 \n3 522 786 787 \n3 788 789 561 \n3 561 789 562 \n3 771 523 790 \n3 523 524 790 \n3 791 564 792 \n3 564 561 792 \n3 524 784 562 \n3 793 762 521 \n3 795 796 797 \n3 519 571 564 \n3 796 798 573 \n3 573 798 571 \n3 519 761 571 \n3 791 799 564 \n3 800 801 577 \n3 802 578 803 \n3 804 805 583 \n3 807 808 805 \n3 808 783 583 \n3 587 809 476 \n3 522 810 521 \n3 787 810 522 \n3 811 589 802 \n3 812 813 593 \n3 594 577 814 \n3 749 809 587 \n3 815 816 598 \n3 599 594 817 \n3 818 819 603 \n3 599 604 605 \n3 604 820 603 \n3 639 818 512 \n3 593 813 594 \n3 594 599 593 \n3 819 812 605 \n3 821 822 609 \n3 577 801 598 \n3 609 822 578 \n3 578 589 609 \n3 823 821 611 \n3 824 825 614 \n3 827 828 825 \n3 614 828 617 \n3 320 637 617 \n3 451 719 829 \n3 429 715 830 \n3 621 831 832 \n3 493 742 745 \n3 820 604 817 \n3 512 323 639 \n3 697 641 364 \n3 364 641 363 \n3 324 363 641 \n3 361 329 661 \n3 642 661 329 \n3 335 644 386 \n3 655 833 330 \n3 386 332 833 \n3 330 833 332 \n3 332 386 646 \n3 644 646 386 \n3 340 331 647 \n3 647 331 645 \n3 345 649 343 \n3 354 343 346 \n3 346 343 650 \n3 331 340 350 \n3 658 653 355 \n3 345 355 651 \n3 355 653 651 \n3 651 350 648 \n3 340 648 350 \n3 350 654 331 \n3 656 331 654 \n3 834 343 657 \n3 343 834 345 \n3 659 345 834 \n3 684 364 835 \n3 663 835 364 \n3 380 381 368 \n3 381 667 368 \n3 377 373 371 \n3 371 372 669 \n3 335 377 643 \n3 643 377 670 \n3 380 368 672 \n3 372 380 668 \n3 373 381 372 \n3 382 673 377 \n3 675 377 673 \n3 386 382 335 \n3 833 674 386 \n3 675 676 373 \n3 681 392 836 \n3 392 679 678 \n3 678 836 392 \n3 679 392 680 \n3 683 680 391 \n3 391 392 682 \n3 368 391 671 \n3 666 683 368 \n3 399 364 685 \n3 367 399 664 \n3 413 405 698 \n3 698 405 688 \n3 412 408 691 \n3 691 408 689 \n3 405 413 693 \n3 665 693 413 \n3 407 405 690 \n3 408 404 407 \n3 408 412 402 \n3 686 402 729 \n3 466 402 415 \n3 328 415 402 \n3 466 729 402 \n3 692 660 412 \n3 328 402 660 \n3 412 660 402 \n3 402 687 408 \n3 694 408 687 \n3 419 696 399 \n3 697 399 696 \n3 413 419 367 \n3 419 413 695 \n3 449 430 716 \n3 716 430 709 \n3 428 709 430 \n3 429 830 428 \n3 428 704 433 \n3 354 346 705 \n3 433 705 346 \n3 704 428 830 \n3 437 428 434 \n3 434 433 706 \n3 706 433 652 \n3 838 708 707 \n3 437 707 708 \n3 428 437 709 \n3 329 361 469 \n3 427 469 701 \n3 662 712 469 \n3 701 469 712 \n3 662 469 361 \n3 451 829 442 \n3 713 442 829 \n3 443 714 430 \n3 715 430 714 \n3 449 442 430 \n3 424 500 699 \n3 746 719 699 \n3 718 699 719 \n3 746 699 500 \n3 451 442 718 \n3 718 442 717 \n3 587 476 455 \n3 738 484 720 \n3 485 455 484 \n3 720 484 455 \n3 454 455 483 \n3 476 483 455 \n3 460 472 723 \n3 839 723 490 \n3 496 490 722 \n3 723 722 490 \n3 721 723 472 \n3 464 461 725 \n3 724 725 461 \n3 415 329 621 \n3 329 469 728 \n3 728 469 464 \n3 728 831 329 \n3 621 329 831 \n3 621 832 415 \n3 832 730 415 \n3 427 461 469 \n3 721 472 731 \n3 471 472 461 \n3 471 461 732 \n3 702 732 461 \n3 483 476 474 \n3 474 475 736 \n3 736 475 734 \n3 454 483 735 \n3 735 483 737 \n3 491 485 486 \n3 486 484 739 \n3 839 490 740 \n3 490 486 740 \n3 496 491 490 \n3 753 752 741 \n3 752 742 741 \n3 493 745 497 \n3 497 744 424 \n3 744 747 424 \n3 493 497 741 \n3 741 497 700 \n3 587 455 749 \n3 751 485 840 \n3 750 840 485 \n3 750 491 743 \n3 455 485 748 \n3 757 754 516 \n3 758 516 753 \n3 754 753 516 \n3 323 512 756 \n3 516 323 757 \n3 323 516 638 \n3 638 516 759 \n3 786 522 762 \n3 537 841 523 \n3 841 763 523 \n3 530 765 526 \n3 767 530 766 \n3 530 767 770 \n3 677 770 767 \n3 534 769 363 \n3 772 537 771 \n3 766 526 772 \n3 841 537 764 \n3 543 541 774 \n3 541 543 544 \n3 549 776 545 \n3 534 549 768 \n3 768 549 777 \n3 324 549 363 \n3 776 549 640 \n3 779 544 778 \n3 777 545 779 \n3 541 544 773 \n3 775 773 544 \n3 778 542 785 \n3 785 543 786 \n3 543 774 786 \n3 774 787 786 \n3 842 562 789 \n3 562 842 524 \n3 842 790 524 \n3 562 843 561 \n3 792 561 843 \n3 843 562 784 \n3 573 797 796 \n3 844 788 571 \n3 561 564 788 \n3 788 564 571 \n3 844 571 798 \n3 573 571 797 \n3 761 797 571 \n3 846 799 791 \n3 519 564 760 \n3 799 760 564 \n3 589 578 802 \n3 320 617 578 \n3 617 803 578 \n3 583 805 808 \n3 476 583 475 \n3 733 583 782 \n3 782 583 783 \n3 733 479 583 \n3 479 475 583 \n3 583 476 804 \n3 804 476 809 \n3 803 617 848 \n3 617 521 848 \n3 848 521 810 \n3 598 816 577 \n3 816 814 577 \n3 814 817 594 \n3 605 603 819 \n3 603 605 604 \n3 512 603 755 \n3 755 603 820 \n3 603 512 818 \n3 577 594 800 \n3 800 594 813 \n3 605 593 599 \n3 593 605 812 \n3 589 811 611 \n3 823 611 801 \n3 815 598 611 \n3 801 611 598 \n3 815 611 811 \n3 320 578 636 \n3 636 578 822 \n3 611 609 589 \n3 609 611 821 \n3 614 825 828 \n3 521 617 793 \n3 828 793 617 \n3 614 617 824 \n3 637 824 617 \n3 599 817 604 \n3 278 849 850 \n3 213 851 852 \n3 853 245 854 \n3 35 855 63 \n3 43 56 41 \n3 39 856 857 \n3 41 858 43 \n3 43 858 859 \n3 45 860 861 \n3 58 862 863 \n3 49 863 864 \n3 862 50 865 \n3 55 866 867 \n3 867 864 55 \n3 868 56 869 \n3 868 41 56 \n3 58 870 46 \n3 871 60 872 \n3 871 49 60 \n3 63 855 873 \n3 65 874 875 \n3 97 876 67 \n3 71 877 878 \n3 879 80 880 \n3 74 78 76 \n3 76 881 882 \n3 78 883 881 \n3 79 883 78 \n3 80 884 885 \n3 82 882 884 \n3 83 76 82 \n3 886 87 887 \n3 888 79 74 \n3 87 39 79 \n3 886 85 87 \n3 889 83 879 \n3 889 74 83 \n3 890 891 892 \n3 893 94 92 \n3 92 894 895 \n3 94 885 894 \n3 896 80 94 \n3 97 897 898 \n3 99 878 897 \n3 115 899 900 \n3 111 901 112 \n3 104 902 106 \n3 106 902 903 \n3 108 904 905 \n3 109 877 71 \n3 111 903 906 \n3 112 106 111 \n3 63 163 35 \n3 907 112 901 \n3 907 104 112 \n3 119 908 909 \n3 910 99 97 \n3 119 71 99 \n3 109 909 911 \n3 150 912 913 \n3 139 914 915 \n3 143 131 130 \n3 133 916 918 \n3 131 135 133 \n3 133 865 50 \n3 135 919 920 \n3 136 919 135 \n3 136 921 922 \n3 923 915 925 \n3 870 916 46 \n3 926 147 146 \n3 146 927 926 \n3 928 143 130 \n3 147 143 146 \n3 126 929 930 \n3 931 932 141 \n3 147 929 126 \n3 207 933 180 \n3 934 935 936 \n3 158 937 934 \n3 169 937 158 \n3 162 938 939 \n3 941 938 162 \n3 942 167 943 \n3 942 163 167 \n3 169 160 162 \n3 172 944 173 \n3 172 169 158 \n3 169 914 139 \n3 173 944 945 \n3 176 184 182 \n3 178 946 947 \n3 180 933 948 \n3 182 946 178 \n3 184 949 950 \n3 185 949 184 \n3 191 188 187 \n3 188 951 952 \n3 191 953 951 \n3 192 189 191 \n3 954 955 197 \n3 155 956 935 \n3 957 201 958 \n3 959 199 960 \n3 959 150 199 \n3 201 912 150 \n3 207 961 962 \n3 187 963 192 \n3 192 956 155 \n3 187 962 964 \n3 965 966 967 \n3 211 968 969 \n3 213 970 968 \n3 210 971 972 \n3 268 973 974 \n3 255 975 222 \n3 976 235 224 \n3 977 228 978 \n3 231 979 228 \n3 980 892 891 \n3 234 981 982 \n3 231 977 983 \n3 981 67 876 \n3 237 984 235 \n3 228 985 237 \n3 237 978 228 \n3 252 986 987 \n3 251 249 241 \n3 988 246 989 \n3 247 990 246 \n3 247 67 234 \n3 247 854 245 \n3 251 991 249 \n3 246 992 251 \n3 251 989 246 \n3 993 994 996 \n3 976 224 997 \n3 249 998 241 \n3 999 1000 255 \n3 258 1001 1002 \n3 261 1001 258 \n3 1003 235 984 \n3 1003 224 235 \n3 1004 263 1005 \n3 1004 258 263 \n3 261 997 224 \n3 222 975 1006 \n3 1007 1008 1010 \n3 263 270 268 \n3 272 1011 1008 \n3 270 1011 272 \n3 270 973 268 \n3 263 1012 1005 \n3 291 1013 1014 \n3 1015 311 1016 \n3 281 1017 1018 \n3 1017 1019 1021 \n3 281 993 1019 \n3 176 1022 152 \n3 222 1023 255 \n3 255 1023 999 \n3 1016 286 1024 \n3 304 1025 1026 \n3 1027 291 296 \n3 152 1022 961 \n3 295 1028 1029 \n3 1030 296 292 \n3 301 1031 1032 \n3 299 300 292 \n3 301 1033 300 \n3 211 1032 851 \n3 296 1025 304 \n3 304 292 296 \n3 299 1026 1031 \n3 310 1034 1035 \n3 295 1013 291 \n3 311 1034 310 \n3 310 286 311 \n3 309 1035 1036 \n3 316 1037 1038 \n3 1037 1039 1041 \n3 284 1039 316 \n3 284 849 278 \n3 1042 931 141 \n3 1043 928 130 \n3 1044 1045 165 \n3 957 954 197 \n3 1030 300 1033 \n3 851 213 211 \n3 97 853 910 \n3 67 853 97 \n3 853 67 245 \n3 875 35 65 \n3 35 875 855 \n3 85 856 39 \n3 56 1046 869 \n3 1046 43 85 \n3 43 1046 56 \n3 859 85 43 \n3 85 859 856 \n3 861 41 45 \n3 858 41 861 \n3 58 863 49 \n3 50 58 46 \n3 862 58 50 \n3 55 45 41 \n3 60 867 872 \n3 864 60 49 \n3 864 867 60 \n3 860 55 864 \n3 55 860 45 \n3 41 866 55 \n3 866 41 868 \n3 870 58 1047 \n3 49 1047 58 \n3 1047 49 871 \n3 1048 97 898 \n3 97 1048 876 \n3 80 83 82 \n3 80 879 83 \n3 78 74 79 \n3 881 76 78 \n3 857 79 39 \n3 883 79 857 \n3 884 80 82 \n3 882 82 76 \n3 76 83 74 \n3 79 887 87 \n3 887 79 888 \n3 39 87 85 \n3 85 886 1046 \n3 74 889 888 \n3 1049 92 895 \n3 891 890 92 \n3 92 1049 891 \n3 893 92 890 \n3 94 893 896 \n3 894 92 94 \n3 885 94 80 \n3 80 896 880 \n3 897 97 99 \n3 878 99 71 \n3 911 111 109 \n3 901 111 911 \n3 905 104 108 \n3 902 104 905 \n3 906 109 111 \n3 109 906 877 \n3 903 111 106 \n3 106 112 104 \n3 115 108 104 \n3 943 115 900 \n3 163 115 167 \n3 115 163 63 \n3 115 943 167 \n3 108 873 904 \n3 873 115 63 \n3 115 873 108 \n3 104 899 115 \n3 899 104 907 \n3 99 908 119 \n3 908 99 910 \n3 71 119 109 \n3 909 109 119 \n3 930 143 126 \n3 921 143 930 \n3 143 921 131 \n3 131 1043 130 \n3 133 918 131 \n3 916 50 46 \n3 50 916 133 \n3 1043 131 918 \n3 135 131 136 \n3 920 133 135 \n3 865 133 920 \n3 919 922 1051 \n3 922 919 136 \n3 921 136 131 \n3 160 65 35 \n3 915 160 139 \n3 160 923 874 \n3 923 160 915 \n3 65 160 874 \n3 147 1042 141 \n3 1042 147 926 \n3 143 927 146 \n3 927 143 928 \n3 143 147 126 \n3 913 199 150 \n3 913 931 960 \n3 931 913 932 \n3 199 913 960 \n3 932 147 141 \n3 929 147 932 \n3 207 176 152 \n3 933 188 952 \n3 188 207 187 \n3 207 188 933 \n3 185 207 180 \n3 207 185 176 \n3 934 172 158 \n3 189 934 1052 \n3 935 189 155 \n3 189 935 934 \n3 172 934 936 \n3 939 169 162 \n3 169 939 937 \n3 165 35 163 \n3 941 160 35 \n3 162 160 941 \n3 35 1045 941 \n3 1045 35 165 \n3 163 1044 165 \n3 163 942 1044 \n3 160 169 139 \n3 944 172 936 \n3 169 172 173 \n3 945 169 173 \n3 169 945 914 \n3 184 176 185 \n3 950 182 184 \n3 946 182 950 \n3 948 185 180 \n3 949 185 948 \n3 191 187 192 \n3 951 188 191 \n3 953 189 1052 \n3 953 191 189 \n3 189 192 155 \n3 955 967 966 \n3 955 954 967 \n3 201 957 197 \n3 150 958 201 \n3 150 959 958 \n3 955 201 197 \n3 912 201 955 \n3 961 207 152 \n3 1053 187 964 \n3 187 1053 963 \n3 956 192 963 \n3 962 187 207 \n3 210 965 970 \n3 966 210 972 \n3 210 966 965 \n3 968 211 213 \n3 970 213 210 \n3 852 210 213 \n3 971 210 852 \n3 975 255 1000 \n3 235 1054 237 \n3 235 976 1054 \n3 228 977 231 \n3 979 231 980 \n3 983 980 231 \n3 980 983 892 \n3 67 981 234 \n3 984 237 985 \n3 985 228 979 \n3 978 237 1054 \n3 986 252 241 \n3 251 241 252 \n3 246 988 247 \n3 982 247 234 \n3 990 247 982 \n3 67 247 245 \n3 854 247 988 \n3 991 251 992 \n3 992 246 990 \n3 987 251 252 \n3 251 987 989 \n3 998 249 991 \n3 1000 241 998 \n3 1000 986 241 \n3 1000 999 986 \n3 1001 261 1055 \n3 224 1055 261 \n3 224 1003 1055 \n3 258 1056 261 \n3 1056 258 1004 \n3 997 261 1056 \n3 1008 1007 272 \n3 270 1002 1057 \n3 1002 263 258 \n3 270 263 1002 \n3 1011 270 1057 \n3 1007 270 272 \n3 270 1007 973 \n3 1005 1012 1059 \n3 974 263 268 \n3 263 974 1012 \n3 1016 311 286 \n3 311 284 278 \n3 311 1015 284 \n3 1019 1017 281 \n3 182 281 176 \n3 994 281 947 \n3 993 281 994 \n3 281 178 947 \n3 281 182 178 \n3 1018 176 281 \n3 1022 176 1018 \n3 1061 284 1015 \n3 1061 222 284 \n3 1023 222 1061 \n3 291 1028 295 \n3 291 1027 1028 \n3 296 1030 1027 \n3 1031 301 299 \n3 300 299 301 \n3 969 301 211 \n3 1033 301 969 \n3 1032 211 301 \n3 1014 296 291 \n3 1025 296 1014 \n3 292 304 299 \n3 1026 299 304 \n3 309 1024 286 \n3 1013 309 1036 \n3 309 295 1029 \n3 295 309 1013 \n3 1024 309 1029 \n3 850 311 278 \n3 1034 311 850 \n3 286 310 309 \n3 1035 309 310 \n3 1039 1037 316 \n3 1006 284 222 \n3 284 1006 1039 \n3 1038 284 316 \n3 284 1038 849 \n3 300 1030 292 \n3 275 313 319 \n3 319 313 318 \n3 214 23 322 \n3 322 23 321 \n3 19 27 326 \n3 326 27 325 \n3 33 38 334 \n3 334 38 333 \n3 40 42 337 \n3 337 42 336 \n3 44 36 339 \n3 339 36 338 \n3 48 51 342 \n3 342 51 341 \n3 47 48 344 \n3 344 48 342 \n3 51 29 341 \n3 341 29 347 \n3 53 54 349 \n3 349 54 348 \n3 57 37 352 \n3 352 37 351 \n3 61 52 357 \n3 357 52 356 \n3 32 62 358 \n3 358 62 327 \n3 64 28 360 \n3 360 28 359 \n3 68 66 366 \n3 366 66 365 \n3 72 70 370 \n3 370 70 369 \n3 73 77 375 \n3 375 77 374 \n3 77 75 374 \n3 374 75 376 \n3 69 81 379 \n3 379 81 378 \n3 81 73 378 \n3 378 73 375 \n3 88 86 384 \n3 384 86 383 \n3 89 72 387 \n3 387 72 370 \n3 16 25 390 \n3 390 25 389 \n3 90 93 395 \n3 395 93 394 \n3 93 69 394 \n3 394 69 379 \n3 96 98 398 \n3 398 98 397 \n3 98 68 397 \n3 397 68 366 \n3 113 114 401 \n3 401 114 400 \n3 103 105 409 \n3 409 105 406 \n3 107 101 411 \n3 411 101 410 \n3 110 103 414 \n3 414 103 409 \n3 116 102 416 \n3 416 102 403 \n3 120 118 418 \n3 418 118 417 \n3 100 120 421 \n3 421 120 418 \n3 149 122 423 \n3 423 122 422 \n3 138 121 426 \n3 426 121 425 \n3 917 127 432 \n3 432 127 431 \n3 134 132 436 \n3 436 132 435 \n3 129 137 439 \n3 439 137 438 \n3 924 138 440 \n3 440 138 426 \n3 1 6 441 \n3 441 6 710 \n3 127 30 431 \n3 431 30 353 \n3 144 145 444 \n3 444 145 445 \n3 124 148 448 \n3 448 148 447 \n3 170 153 457 \n3 457 153 456 \n3 156 157 458 \n3 458 157 459 \n3 159 161 463 \n3 463 161 462 \n3 161 0 462 \n3 462 0 727 \n3 168 31 468 \n3 468 31 467 \n3 171 174 473 \n3 473 174 470 \n3 20 177 478 \n3 478 177 477 \n3 179 175 480 \n3 480 175 453 \n3 183 181 482 \n3 482 181 481 \n3 186 190 488 \n3 488 190 487 \n3 190 3 487 \n3 487 3 489 \n3 153 193 456 \n3 456 193 495 \n3 198 202 499 \n3 499 202 498 \n3 200 123 502 \n3 502 123 501 \n3 206 21 504 \n3 504 21 503 \n3 204 206 506 \n3 506 206 504 \n3 18 195 509 \n3 509 195 508 \n3 26 212 511 \n3 511 212 510 \n3 212 209 510 \n3 510 209 513 \n3 208 8 515 \n3 515 8 514 \n3 274 266 518 \n3 518 266 517 \n3 232 227 528 \n3 528 227 527 \n3 230 24 531 \n3 531 24 388 \n3 223 233 533 \n3 533 233 532 \n3 229 232 535 \n3 535 232 528 \n3 233 22 532 \n3 532 22 362 \n3 242 240 540 \n3 540 240 539 \n3 248 244 547 \n3 547 244 546 \n3 995 215 553 \n3 553 215 552 \n3 216 4 554 \n3 554 4 780 \n3 225 221 525 \n3 525 221 555 \n3 256 257 560 \n3 560 257 559 \n3 259 220 563 \n3 563 220 536 \n3 264 262 566 \n3 566 262 565 \n3 217 219 567 \n3 567 219 520 \n3 1009 269 569 \n3 569 269 568 \n3 273 13 570 \n3 570 13 794 \n3 269 271 568 \n3 568 271 572 \n3 288 306 576 \n3 576 306 575 \n3 283 287 580 \n3 580 287 579 \n3 282 279 582 \n3 582 279 581 \n3 1020 280 585 \n3 585 280 584 \n3 279 2 581 \n3 581 2 806 \n3 280 216 584 \n3 584 216 554 \n3 218 285 558 \n3 558 285 588 \n3 287 277 579 \n3 579 277 590 \n3 305 303 592 \n3 592 303 591 \n3 21 276 503 \n3 503 276 586 \n3 289 294 597 \n3 597 294 596 \n3 302 298 602 \n3 602 298 601 \n3 23 302 321 \n3 321 302 602 \n3 298 305 601 \n3 601 305 592 \n3 312 308 608 \n3 608 308 607 \n3 307 312 610 \n3 610 312 608 \n3 317 314 613 \n3 613 314 612 \n3 1040 315 616 \n3 616 315 615 \n3 314 10 612 \n3 612 10 826 \n3 125 142 452 \n3 452 142 618 \n3 140 128 446 \n3 446 128 619 \n3 164 166 620 \n3 620 166 622 \n3 196 198 494 \n3 494 198 499 \n3 293 290 600 \n3 600 290 606 \n3 117 19 420 \n3 420 19 326 \n3 62 64 327 \n3 327 64 360 \n3 37 34 351 \n3 351 34 623 \n3 38 40 333 \n3 333 40 337 \n3 42 44 336 \n3 336 44 339 \n3 52 53 356 \n3 356 53 349 \n3 36 47 338 \n3 338 47 344 \n3 54 57 348 \n3 348 57 352 \n3 30 59 353 \n3 353 59 624 \n3 59 61 624 \n3 624 61 357 \n3 9 96 625 \n3 625 96 398 \n3 22 9 362 \n3 362 9 625 \n3 75 33 376 \n3 376 33 334 \n3 86 84 383 \n3 383 84 385 \n3 34 88 623 \n3 623 88 384 \n3 84 89 385 \n3 385 89 387 \n3 11 90 626 \n3 626 90 395 \n3 24 11 388 \n3 388 11 626 \n3 91 16 393 \n3 393 16 390 \n3 95 91 396 \n3 396 91 393 \n3 70 95 369 \n3 369 95 396 \n3 102 100 403 \n3 403 100 421 \n3 105 107 406 \n3 406 107 411 \n3 66 110 365 \n3 365 110 414 \n3 31 113 467 \n3 467 113 401 \n3 101 32 410 \n3 410 32 358 \n3 114 116 400 \n3 400 116 416 \n3 118 117 417 \n3 417 117 420 \n3 137 124 438 \n3 438 124 448 \n3 128 14 619 \n3 619 14 703 \n3 29 134 347 \n3 347 134 436 \n3 1050 129 627 \n3 627 129 439 \n3 132 12 435 \n3 435 12 837 \n3 28 1 359 \n3 359 1 441 \n3 142 144 618 \n3 618 144 444 \n3 145 140 445 \n3 445 140 446 \n3 123 125 501 \n3 501 125 452 \n3 151 149 450 \n3 450 149 423 \n3 148 151 447 \n3 447 151 450 \n3 175 186 453 \n3 453 186 488 \n3 154 156 628 \n3 628 156 458 \n3 157 159 459 \n3 459 159 463 \n3 940 164 465 \n3 465 164 620 \n3 166 168 622 \n3 622 168 468 \n3 174 170 470 \n3 470 170 457 \n3 121 171 425 \n3 425 171 473 \n3 177 183 477 \n3 477 183 482 \n3 181 179 481 \n3 481 179 480 \n3 3 154 489 \n3 489 154 628 \n3 203 194 492 \n3 492 194 507 \n3 195 196 508 \n3 508 196 494 \n3 202 200 498 \n3 498 200 502 \n3 122 203 422 \n3 422 203 492 \n3 5 204 629 \n3 629 204 506 \n3 205 5 505 \n3 505 5 629 \n3 193 205 495 \n3 495 205 505 \n3 209 18 513 \n3 513 18 509 \n3 194 208 507 \n3 507 208 515 \n3 8 214 514 \n3 514 214 322 \n3 219 254 520 \n3 520 254 557 \n3 238 225 630 \n3 630 225 525 \n3 226 230 529 \n3 529 230 531 \n3 25 229 389 \n3 389 229 535 \n3 220 236 536 \n3 536 236 538 \n3 236 226 538 \n3 538 226 529 \n3 227 238 527 \n3 527 238 630 \n3 243 223 548 \n3 548 223 533 \n3 27 248 325 \n3 325 248 547 \n3 239 250 550 \n3 550 250 551 \n3 250 243 551 \n3 551 243 548 \n3 244 242 546 \n3 546 242 540 \n3 253 239 556 \n3 556 239 550 \n3 254 253 557 \n3 557 253 556 \n3 240 218 539 \n3 539 218 558 \n3 257 260 559 \n3 559 260 631 \n3 260 259 631 \n3 631 259 563 \n3 265 264 632 \n3 632 264 566 \n3 221 265 555 \n3 555 265 632 \n3 267 256 633 \n3 633 256 560 \n3 271 267 572 \n3 572 267 633 \n3 266 273 517 \n3 517 273 570 \n3 1058 7 634 \n3 634 7 574 \n3 262 15 565 \n3 565 15 845 \n3 7 274 574 \n3 574 274 518 \n3 215 20 552 \n3 552 20 478 \n3 276 282 586 \n3 586 282 582 \n3 1060 283 635 \n3 635 283 580 \n3 285 17 588 \n3 588 17 847 \n3 294 297 596 \n3 596 297 595 \n3 297 293 595 \n3 595 293 600 \n3 290 26 606 \n3 606 26 511 \n3 303 288 591 \n3 591 288 576 \n3 306 307 575 \n3 575 307 610 \n3 277 289 590 \n3 590 289 597 \n3 308 275 607 \n3 607 275 319 \n3 315 217 615 \n3 615 217 567 \n3 313 317 318 \n3 318 317 613 \n"
  },
  {
    "path": "data/pear.obj",
    "content": "####\n#\n# OBJ File Generated by Meshlab\n#\n####\n# Object pear.obj\n#\n# Vertices: 152\n# Faces: 300\n#\n####\nvn 1.392232 3.969579 4.527127\nv 0.306198 1.189126 0.860511\nvn 5.669151 0.658582 2.010335\nv 1.507167 -0.014759 0.666333\nvn 5.122831 2.867598 0.574606\nv 1.434626 0.586916 0.209848\nvn 4.941653 1.926574 2.828340\nv 1.316896 0.285819 0.934815\nvn -1.702516 1.129597 5.545555\nv -0.603588 0.140379 1.549082\nvn -1.821825 3.508542 4.599923\nv -0.603609 0.601576 1.322596\nvn -5.780640 1.345245 -1.361388\nv -1.618974 0.270648 -0.407961\nvn -4.602356 2.677337 -2.907241\nv -1.372763 0.502909 -0.796294\nvn -5.047160 0.597822 -3.126444\nv -1.454581 0.077563 -0.918748\nvn -2.282691 -2.493964 -5.018310\nv -0.690791 -0.906710 -1.322322\nvn -1.474747 -1.025183 -5.887275\nv -0.524660 -0.364562 -1.537918\nvn -0.779951 -3.771346 -4.668140\nv -0.211458 -1.325229 -1.206890\nvn -2.376606 -3.729148 -4.300641\nv -0.656290 -1.249248 -1.099732\nvn -2.818491 -1.593446 -5.243009\nv -0.826479 -0.597211 -1.368563\nvn 0.085034 2.372024 4.703176\nv 0.000216 2.022083 0.609861\nvn -3.916568 3.480015 3.170375\nv -0.676677 1.256816 0.437440\nvn 4.564948 3.484650 -2.315777\nv 0.743198 1.286504 -0.336859\nvn 3.236889 4.263388 -2.893597\nv 0.826019 1.061470 -0.627884\nvn -1.720821 3.603191 -4.652565\nv -0.341356 1.240083 -0.697506\nvn -1.987812 4.245047 -4.029256\nv -0.613653 0.758819 -1.161964\nvn -4.041793 2.459238 2.430198\nv -0.489996 1.943130 0.366565\nvn 5.607998 2.113523 0.669238\nv 0.685253 1.636977 0.174166\nvn 4.222819 -3.617514 1.436983\nv 1.229584 -1.298311 0.517631\nvn 5.619264 -2.296129 0.621715\nv 1.464890 -0.902261 0.289582\nvn 4.667210 -2.328870 3.083226\nv 1.237640 -0.931992 0.897251\nvn -1.791461 -2.682850 5.141774\nv -0.593160 -1.025882 1.372092\nvn -0.414297 -1.969027 5.835267\nv -0.243315 -0.834837 1.504723\nvn -1.621357 -1.067348 5.847584\nv -0.599958 -0.549827 1.513996\nvn -3.129817 -2.360334 4.561604\nv -0.859222 -0.915162 1.298797\nvn -4.877617 -3.099712 -2.156579\nv -1.330317 -0.981995 -0.564983\nvn -4.037973 -4.290482 -1.577273\nv -1.012468 -1.465857 -0.401257\nvn -5.455560 -1.969401 -2.096191\nv -1.507039 -0.648582 -0.543390\nvn 0.165571 2.642297 -5.527258\nv -0.050560 0.416454 -1.514683\nvn -1.683933 0.693526 -5.756641\nv -0.590171 0.063995 -1.552701\nvn -1.815232 2.645223 -5.073978\nv -0.609670 0.446342 -1.430477\nvn -0.589873 3.898551 -4.694093\nv -0.290897 0.677463 -1.340116\nvn 5.455355 -1.737349 2.303385\nv 0.137530 2.880553 -0.007521\nvn 1.048992 4.675392 -2.954070\nv 0.052943 2.357771 -0.082063\nvn -3.030868 1.511200 -2.268207\nv 0.256994 3.254759 -0.057146\nvn 0.553309 0.190525 0.338037\nv 0.730533 3.649800 -0.062828\nvn -1.150963 0.789374 2.648889\nv 0.271015 3.249709 0.048530\nvn 0.093897 0.179992 -0.103673\nv 0.714639 3.741589 -0.178779\nvn 2.255352 1.680642 5.345823\nv 0.762294 0.251003 1.432760\nvn 0.426088 1.154633 5.939437\nv 0.121754 0.129183 1.612101\nvn 3.526304 -2.218881 -4.288919\nv 0.950646 -0.912929 -1.173735\nvn 1.402316 -2.355370 -5.517993\nv 0.408923 -0.906604 -1.411405\nvn 2.776150 -1.342927 -5.338951\nv 0.770077 -0.583287 -1.384974\nvn 2.026792 3.729621 -4.448706\nv 0.446758 1.183690 -0.708811\nvn 1.096113 -2.695865 5.407726\nv 0.338983 -0.963999 1.424421\nvn 2.869549 0.420995 -5.306353\nv 0.734006 -0.125783 -1.468955\nvn 1.972975 2.688962 -5.029949\nv 0.504023 0.487114 -1.389296\nvn 1.417907 1.472220 -5.726113\nv 0.355547 0.099246 -1.580839\nvn -5.411330 1.604110 2.167419\nv -1.532254 0.259150 0.644006\nvn -4.832835 1.340693 3.426411\nv -1.361627 0.262506 0.940373\nvn -4.591942 3.593629 1.659428\nv -1.366620 0.667600 0.531936\nvn -3.670068 3.493855 3.057858\nv -1.203158 0.649070 0.882488\nvn -5.597845 0.195689 2.207292\nv -1.612556 -0.124859 0.598387\nvn 4.945575 3.604619 0.299632\nv 0.897366 1.234285 0.093888\nvn -4.956470 -2.939125 1.752183\nv -1.472732 -0.984385 0.396438\nvn -3.557961 -4.477522 2.115755\nv -1.024638 -1.406970 0.565167\nvn 4.099607 -4.058491 -1.956892\nv 0.993787 -1.422694 -0.547513\nvn 4.836041 -2.333062 -2.645706\nv 1.240990 -0.920902 -0.808136\nvn 5.710739 -1.381019 -1.769214\nv 1.451226 -0.632853 -0.502513\nvn 5.238143 1.614067 -2.716465\nv 1.363350 0.249785 -0.722460\nvn 5.490740 2.083373 -0.879499\nv 1.504282 0.397751 -0.196776\nvn -4.836329 3.309889 -1.281740\nv -1.485194 0.615404 -0.394133\nvn -4.311421 3.440806 -2.651282\nv -0.645768 1.385589 -0.343463\nvn -1.699697 4.078313 2.447528\nv -0.138912 2.304464 0.356648\nvn -0.695980 -5.154731 -2.433252\nv -0.162970 -1.837213 -0.650476\nvn -2.652375 -4.447114 -3.276537\nv -0.664594 -1.487630 -0.840200\nvn 2.779634 -4.980642 0.153044\nv 0.705037 -1.821838 -0.006301\nvn 1.122900 -5.976208 -0.361579\nv 0.459011 -1.880388 -0.199792\nvn -0.088830 -6.273105 0.283072\nv 0.135341 -1.851796 0.235222\nvn -0.385069 -6.238648 -0.367921\nv -0.208035 -1.857085 -0.351482\nvn -1.436395 -5.290813 0.098942\nv -0.511808 -1.904122 -0.037606\nvn 0.828123 -5.381872 2.081133\nv 0.277623 -1.830447 0.546891\nvn 1.898564 -4.373958 -3.546522\nv 0.554184 -1.516511 -0.955905\nvn 0.394498 -6.187400 0.144422\nv -0.190547 -1.835534 0.028719\nvn 4.092166 1.439521 -4.300677\nv 1.074179 0.127320 -1.166076\nvn -1.746151 -4.393221 3.552649\nv -0.494559 -1.406037 1.125433\nvn 4.075851 0.923973 4.309237\nv 1.139729 0.103625 1.235736\nvn -4.556376 0.224689 4.109702\nv -1.266877 -0.041754 1.111170\nvn -3.306107 2.036685 4.558841\nv -1.017878 0.350357 1.259904\nvn -4.102083 0.293801 -4.375816\nv -1.231681 0.007426 -1.192719\nvn -3.350751 2.532256 -4.281547\nv -1.090392 0.404875 -1.183555\nvn 4.266062 3.728719 2.404030\nv 1.136753 0.737057 0.701162\nvn -0.491483 4.192617 4.545468\nv -0.121604 0.883270 1.176212\nvn -2.233361 4.536007 3.668300\nv -0.447038 1.137798 0.793467\nvn -3.512272 2.876581 -1.809335\nv -0.434863 2.125063 -0.247444\nvn 2.394751 2.375062 5.183956\nv 0.335528 1.503922 0.635528\nvn 2.638855 -3.455538 -4.026792\nv 0.703887 -1.302452 -1.091026\nvn 3.136611 -2.071805 4.723312\nv 0.953381 -0.784394 1.279968\nvn 2.772703 -3.403910 4.115254\nv 0.854451 -1.156680 1.120225\nvn -4.546640 -2.000419 3.675625\nv -1.160939 -0.773554 1.069278\nvn -3.907308 -3.425076 3.232431\nv -1.043079 -1.120516 0.955491\nvn -3.841814 -3.237306 -3.385825\nv -1.012661 -1.131765 -0.931660\nvn 5.628572 -1.344603 2.149110\nv 1.455637 -0.626975 0.640606\nvn 5.260349 -0.420681 3.207877\nv 1.349555 -0.292059 0.966310\nvn -2.994727 -0.378379 5.250583\nv -0.878817 -0.319909 1.442634\nvn -5.907852 -0.335314 -1.562443\nv -1.651726 -0.180995 -0.413865\nvn -4.935978 -1.446108 -3.250101\nv -1.390862 -0.461171 -0.911978\nvn -2.883410 0.287624 -5.357528\nv -0.869352 -0.021743 -1.438134\nvn 1.885339 4.290412 2.221443\nv 0.197601 2.358738 0.237947\nvn -3.270816 4.781794 -0.342953\nv -0.073151 2.370892 0.008932\nvn 1.116299 -4.207681 4.319271\nv 0.323450 -1.365948 1.149336\nvn 1.086755 4.102861 -4.311626\nv 0.322908 0.807485 -1.211964\nvn 1.164210 3.163633 4.976760\nv 0.367702 0.575815 1.411389\nvn 3.297975 3.009906 3.963839\nv 1.015588 0.468368 1.179104\nvn 0.546573 1.254799 -5.775946\nv 0.158738 1.392247 -0.716233\nvn 4.021157 2.198788 -3.765595\nv 0.453640 1.776476 -0.418383\nvn 1.230287 -1.029114 5.806540\nv 0.436024 -0.486425 1.582497\nvn 2.469401 -0.197113 5.548113\nv 0.789432 -0.279848 1.484054\nvn -1.326509 3.261700 5.015560\nv -0.156656 1.298121 0.773281\nvn -0.416008 2.968641 5.336629\nv -0.163212 0.524097 1.461516\nvn 0.436717 -3.456381 -5.037908\nv 0.154982 -1.220188 -1.288400\nvn -0.322346 -2.038089 -5.783706\nv -0.043274 -0.774355 -1.508506\nvn -0.173035 0.949021 -5.946175\nv -0.064293 0.094845 -1.628437\nvn -3.954594 -4.681443 0.379094\nv -1.055720 -1.496541 0.142727\nvn -5.773242 -1.234285 1.480040\nv -1.651613 -0.551021 0.346000\nvn -5.232002 -1.251011 3.035439\nv -1.516469 -0.468160 0.695581\nvn 5.984332 0.062189 -1.291721\nv 1.549019 -0.152145 -0.357645\nvn 5.415283 0.174256 -2.805977\nv 1.394326 -0.125398 -0.792991\nvn 4.694705 3.209739 -2.146186\nv 1.244824 0.625401 -0.608776\nvn -5.374622 -2.602438 -0.317980\nv -1.588342 -0.859214 0.069837\nvn -4.603153 -4.036305 0.332646\nv -1.304784 -1.244443 0.199161\nvn 5.660301 -2.264736 -0.739167\nv 1.462105 -0.879978 -0.066123\nvn 4.938270 -3.609470 -0.822363\nv 1.224414 -1.273680 -0.140008\nvn 3.603287 3.141044 -1.147872\nv 0.492175 2.208127 -0.094359\nvn -6.052151 1.042120 0.250185\nv -1.673594 0.149214 0.012604\nvn 6.109684 0.732769 0.503349\nv 1.580713 -0.045491 0.291263\nvn -4.669017 4.002117 0.170819\nv -0.849172 1.278506 0.030315\nvn 4.252393 -4.501788 0.080041\nv 0.964096 -1.567595 0.014372\nvn -0.910714 -5.522382 1.736802\nv -0.240012 -1.847669 0.461222\nvn -2.349467 -5.294825 -1.722984\nv -0.539620 -1.808386 -0.381348\nvn 1.436504 -5.202405 -2.158508\nv 0.369216 -1.837538 -0.574884\nvn 2.607429 -4.659326 2.813031\nv 0.746495 -1.518335 0.780069\nvn 3.459777 2.962872 -3.848383\nv 0.960420 0.588606 -1.054751\nvn -3.480956 4.110285 -2.793701\nv -1.175620 0.771590 -0.745827\nvn 3.982948 3.213843 3.477030\nv 0.627743 1.321369 0.515180\nvn 4.391335 -0.290048 -4.075460\nv 1.147692 -0.289593 -1.168502\nvn 4.108115 -0.814540 4.376509\nv 1.114137 -0.436865 1.259430\nvn -4.353587 -0.894937 4.285879\nv -1.144412 -0.437758 1.207124\nvn -3.934112 -1.436570 -4.451023\nv -1.137612 -0.461321 -1.199865\nvn -0.255204 -3.852010 4.551245\nv -0.233499 -1.320089 1.269365\nvn 0.192804 3.275480 -3.188037\nv 0.051825 2.263144 -0.428807\nvn -0.162916 -0.462101 6.142302\nv 0.001305 -0.305889 1.628381\nvn 0.915215 -0.615834 -5.868243\nv 0.295438 -0.277985 -1.628444\nvn -5.986811 -0.699985 -0.214134\nv -1.706722 -0.426684 0.030775\nvn 5.992564 -0.684282 0.447644\nv 1.595563 -0.419235 0.260208\nvn -5.126063 3.011084 0.218864\nv -1.547077 0.583622 -0.034734\nvn 4.176681 2.606266 2.493930\nv 0.534852 2.031222 0.265960\nvn -0.055287 -6.212847 -0.299338\nv 0.173155 -1.885863 -0.319650\n# 152 vertices, 0 vertices normals\n\nf 133//133 76//76 144//144\nf 133//133 144//144 80//80\nf 133//133 80//80 60//60\nf 1//1 113//113 87//87\nf 1//1 87//87 107//107\nf 1//1 107//107 108//108\nf 1//1 108//108 139//139\nf 2//2 97//97 149//149\nf 2//2 149//149 130//130\nf 2//2 130//130 3//3\nf 130//130 65//65 3//3\nf 2//2 3//3 4//4\nf 4//4 108//108 81//81\nf 3//3 86//86 4//4\nf 4//4 86//86 108//108\nf 2//2 4//4 98//98\nf 2//2 98//98 97//97\nf 4//4 81//81 98//98\nf 98//98 81//81 141//141\nf 5//5 28//28 146//146\nf 5//5 146//146 44//44\nf 5//5 44//44 114//114\nf 5//5 114//114 6//6\nf 6//6 114//114 87//87\nf 5//5 6//6 83//83\nf 83//83 6//6 56//56\nf 5//5 83//83 99//99\nf 5//5 99//99 28//28\nf 83//83 82//82 99//99\nf 99//99 82//82 142//142\nf 7//7 100//100 129//129\nf 100//100 148//148 129//129\nf 7//7 129//129 150//150\nf 7//7 150//150 66//66\nf 7//7 66//66 8//8\nf 7//7 8//8 9//9\nf 9//9 8//8 85//85\nf 66//66 138//138 8//8\nf 8//8 138//138 85//85\nf 7//7 9//9 100//100\nf 100//100 9//9 101//101\nf 9//9 85//85 84//84\nf 9//9 84//84 143//143\nf 9//9 143//143 101//101\nf 10//10 11//11 116//116\nf 116//116 11//11 147//147\nf 10//10 116//116 12//12\nf 10//10 12//12 13//13\nf 13//13 12//12 70//70\nf 116//116 115//115 12//12\nf 10//10 13//13 96//96\nf 13//13 70//70 96//96\nf 10//10 14//14 11//11\nf 11//11 14//14 102//102\nf 10//10 96//96 143//143\nf 10//10 143//143 14//14\nf 14//14 143//143 102//102\nf 90//90 113//113 1//1\nf 90//90 1//1 139//139\nf 90//90 151//151 15//15\nf 90//90 15//15 113//113\nf 16//16 131//131 55//55\nf 131//131 150//150 55//55\nf 55//55 56//56 16//16\nf 16//16 56//56 88//88\nf 17//17 58//58 123//123\nf 58//58 3//3 123//123\nf 17//17 123//123 18//18\nf 18//18 123//123 137//137\nf 18//18 48//48 17//17\nf 19//19 36//36 20//20\nf 20//20 138//138 19//19\nf 36//36 19//19 106//106\nf 21//21 131//131 16//16\nf 110//110 22//22 58//58\nf 110//110 58//58 17//17\nf 17//17 48//48 110//110\nf 110//110 128//128 22//22\nf 22//22 128//128 151//151\nf 19//19 89//89 145//145\nf 19//19 67//67 89//89\nf 19//19 145//145 109//109\nf 24//24 23//23 127//127\nf 24//24 127//127 126//126\nf 23//23 136//136 132//132\nf 23//23 132//132 127//127\nf 23//23 24//24 97//97\nf 97//97 24//24 149//149\nf 24//24 126//126 149//149\nf 23//23 97//97 25//25\nf 25//25 92//92 93//93\nf 97//97 98//98 25//25\nf 25//25 98//98 141//141\nf 25//25 141//141 92//92\nf 25//25 93//93 23//23\nf 23//23 93//93 136//136\nf 26//26 80//80 144//144\nf 26//26 144//144 27//27\nf 27//27 144//144 49//49\nf 26//26 27//27 28//28\nf 27//27 146//146 28//28\nf 26//26 28//28 29//29\nf 29//29 94//94 95//95\nf 28//28 99//99 29//29\nf 29//29 99//99 142//142\nf 29//29 142//142 94//94\nf 26//26 29//29 80//80\nf 29//29 95//95 80//80\nf 80//80 95//95 60//60\nf 30//30 31//31 124//124\nf 124//124 31//31 125//125\nf 31//31 118//118 125//125\nf 30//30 124//124 32//32\nf 32//32 124//124 148//148\nf 32//32 148//148 100//100\nf 30//30 32//32 101//101\nf 30//30 101//101 96//96\nf 96//96 101//101 143//143\nf 32//32 100//100 101//101\nf 30//30 96//96 31//31\nf 31//31 96//96 70//70\nf 35//35 36//36 33//33\nf 35//35 20//20 36//36\nf 36//36 106//106 33//33\nf 35//35 33//33 117//117\nf 35//35 117//117 34//34\nf 34//34 117//117 11//11\nf 117//117 147//147 11//11\nf 35//35 34//34 102//102\nf 35//35 102//102 85//85\nf 85//85 102//102 84//84\nf 34//34 11//11 102//102\nf 102//102 143//143 84//84\nf 35//35 85//85 20//20\nf 85//85 138//138 20//20\nf 104//104 68//68 103//103\nf 104//104 103//103 37//37\nf 38//38 37//37 103//103\nf 104//104 38//38 145//145\nf 6//6 88//88 56//56\nf 88//88 6//6 87//87\nf 88//88 87//87 113//113\nf 88//88 113//113 16//16\nf 43//43 112//112 81//81\nf 112//112 141//141 81//81\nf 43//43 108//108 107//107\nf 43//43 81//81 108//108\nf 43//43 107//107 44//44\nf 44//44 107//107 114//114\nf 107//107 87//87 114//114\nf 43//43 44//44 112//112\nf 112//112 44//44 111//111\nf 44//44 146//146 111//111\nf 46//46 47//47 45//45\nf 47//47 50//50 140//140\nf 47//47 140//140 45//45\nf 46//46 45//45 91//91\nf 46//46 91//91 115//115\nf 46//46 115//115 116//116\nf 91//91 77//77 115//115\nf 115//115 77//77 12//12\nf 46//46 147//147 47//47\nf 47//47 147//147 50//50\nf 46//46 116//116 147//147\nf 113//113 15//15 21//21\nf 113//113 21//21 16//16\nf 48//48 18//18 106//106\nf 106//106 18//18 137//137\nf 48//48 106//106 19//19\nf 48//48 19//19 109//109\nf 109//109 110//110 48//48\nf 110//110 109//109 145//145\nf 49//49 105//105 93//93\nf 105//105 136//136 93//93\nf 49//49 93//93 92//92\nf 49//49 92//92 111//111\nf 111//111 92//92 112//112\nf 92//92 141//141 112//112\nf 49//49 111//111 27//27\nf 111//111 146//146 27//27\nf 49//49 144//144 105//105\nf 51//51 137//137 79//79\nf 51//51 106//106 137//137\nf 51//51 79//79 50//50\nf 79//79 140//140 50//50\nf 51//51 50//50 52//52\nf 51//51 52//52 117//117\nf 51//51 117//117 33//33\nf 50//50 147//147 52//52\nf 52//52 147//147 117//117\nf 51//51 33//33 106//106\nf 139//139 58//58 22//22\nf 22//22 151//151 139//139\nf 139//139 151//151 90//90\nf 53//53 57//57 82//82\nf 53//53 82//82 54//54\nf 54//54 82//82 83//83\nf 57//57 120//120 82//82\nf 82//82 120//120 142//142\nf 53//53 54//54 56//56\nf 53//53 56//56 55//55\nf 54//54 83//83 56//56\nf 53//53 55//55 150//150\nf 53//53 150//150 129//129\nf 53//53 129//129 57//57\nf 57//57 119//119 120//120\nf 57//57 129//129 148//148\nf 57//57 148//148 119//119\nf 67//67 131//131 21//21\nf 67//67 21//21 89//89\nf 58//58 139//139 86//86\nf 58//58 86//86 3//3\nf 86//86 139//139 108//108\nf 59//59 60//60 95//95\nf 59//59 95//95 94//94\nf 59//59 94//94 120//120\nf 94//94 142//142 120//120\nf 59//59 120//120 119//119\nf 59//59 119//119 124//124\nf 119//119 148//148 124//124\nf 59//59 125//125 60//60\nf 60//60 125//125 118//118\nf 59//59 124//124 125//125\nf 62//62 61//61 91//91\nf 62//62 91//91 45//45\nf 61//61 77//77 91//91\nf 63//63 62//62 122//122\nf 62//62 45//45 140//140\nf 62//62 140//140 122//122\nf 62//62 63//63 126//126\nf 63//63 122//122 121//121\nf 63//63 121//121 149//149\nf 63//63 149//149 126//126\nf 62//62 126//126 127//127\nf 62//62 127//127 61//61\nf 127//127 132//132 61//61\nf 64//64 122//122 79//79\nf 122//122 140//140 79//79\nf 64//64 79//79 137//137\nf 64//64 137//137 123//123\nf 64//64 123//123 65//65\nf 65//65 123//123 3//3\nf 64//64 65//65 121//121\nf 64//64 121//121 122//122\nf 65//65 130//130 121//121\nf 121//121 130//130 149//149\nf 67//67 138//138 66//66\nf 67//67 66//66 131//131\nf 66//66 150//150 131//131\nf 67//67 19//19 138//138\nf 145//145 89//89 104//104\nf 38//38 128//128 145//145\nf 38//38 103//103 128//128\nf 68//68 104//104 89//89\nf 68//68 89//89 21//21\nf 103//103 68//68 15//15\nf 103//103 15//15 151//151\nf 68//68 21//21 15//15\nf 128//128 103//103 151//151\nf 128//128 110//110 145//145\nf 78//78 73//73 133//133\nf 78//78 133//133 75//75\nf 134//134 75//75 31//31\nf 75//75 118//118 31//31\nf 134//134 31//31 70//70\nf 75//75 134//134 74//74\nf 69//69 70//70 12//12\nf 69//69 74//74 134//134\nf 69//69 134//134 70//70\nf 71//71 61//61 132//132\nf 71//71 72//72 135//135\nf 72//72 152//152 135//135\nf 71//71 135//135 61//61\nf 61//61 135//135 77//77\nf 78//78 75//75 74//74\nf 152//152 74//74 69//69\nf 73//73 76//76 133//133\nf 73//73 72//72 76//76\nf 60//60 75//75 133//133\nf 60//60 118//118 75//75\nf 76//76 105//105 144//144\nf 76//76 136//136 105//105\nf 71//71 76//76 72//72\nf 71//71 132//132 136//136\nf 71//71 136//136 76//76\nf 135//135 69//69 77//77\nf 69//69 12//12 77//77\nf 69//69 135//135 152//152\nf 37//37 41//41 104//104\nf 41//41 37//37 40//40\nf 41//41 39//39 104//104\nf 39//39 38//38 104//104\nf 38//38 39//39 37//37\nf 39//39 41//41 42//42\nf 42//42 37//37 39//39\nf 40//40 37//37 42//42\nf 40//40 42//42 41//41\nf 73//73 78//78 152//152\nf 74//74 152//152 78//78\nf 73//73 152//152 72//72\n# 300 faces, 0 coords texture\n\n# End of File"
  },
  {
    "path": "data/rocka.ply",
    "content": "ply\nformat ascii 1.0\ncomment VCGLIB generated\nelement vertex 612\nproperty float x\nproperty float y\nproperty float z\nelement face 204\nproperty list uchar int vertex_indices\nend_header\n-106.119 96.271 -372.003 \n-157.446 107.755 -343.109 \n-123.111 122.268 -313.488 \n-70.6555 101.327 -360.991 \n-219.259 60.3647 -359.043 \n-250.016 68.7161 -326.95 \n-189.001 109.482 -340.858 \n-146.021 94.0085 -373.214 \n-244.113 53.4527 -337.079 \n-144.967 67.807 -383.832 \n-33.1538 64.0867 -389.804 \n-178.372 40.6404 -365.326 \n-165.985 23.1306 -353.35 \n-196.909 30.1252 -343.039 \n-233.774 48.4055 -339.245 \n-19.0374 116.204 -306.932 \n42.9806 129.305 -294.276 \n6.55861 104.085 -349.466 \n-63.6967 47.7643 -389.679 \n-15.5573 37.2226 -365.497 \n-9.24205 135.587 -232.969 \n49.6289 132.867 -225.223 \n-96.201 -15.2239 -301.052 \n-164.389 -9.55361 -265.81 \n-223.805 94.7172 -286.391 \n-295.212 79.4245 -259.056 \n-300.517 83.149 -239.381 \n-258.347 101.524 -243.738 \n-294.279 54.0789 -248.696 \n-300.249 60.0646 -247.81 \n41.8233 37.4073 -153.123 \n-97.467 -15.1989 -147.741 \n-110.975 -13.9089 -196.417 \n-239.381 16.0966 -218.948 \n-257.667 20.2856 -254.88 \n-79.0632 16.2345 -90.1083 \n-36.8851 50.9486 -75.0251 \n-109.643 45.5273 -91.2181 \n-209.132 14.6105 -125.527 \n18.342 92.7484 -113.225 \n-26.3463 75.0928 -378.328 \n-293.205 62.8293 -211.494 \n-299.102 61.6858 -238.583 \n-294.03 57.3867 -237.01 \n-287.086 56.8077 -207.899 \n11.5671 56.4894 -384.761 \n43.3077 104.636 -349.452 \n-225.448 66.8688 -139.967 \n-283.802 46.8207 -167.177 \n-20.5833 46.6978 -80.638 \n-57.2137 19.4863 -86.3534 \n-0.585007 47.6027 -93.4453 \n-12.0219 58.9694 -86.8885 \n-21.3328 62.2403 -82.0592 \n-227.289 5.66001 -169.354 \n-99.9536 -0.835594 -115.421 \n-87.2171 57.7691 -96.5293 \n-196.22 100.005 -161.613 \n-295.124 74.4469 -197.941 \n-274.453 96.9982 -185.572 \n-284.471 93.9236 -204.553 \n-299.012 75.9896 -211.593 \n49.7817 79.5046 -122.505 \n90.9567 111.081 -248.722 \n84.2166 123.4 -245.857 \n-253.577 110.874 -186.951 \n14.9695 50.6717 -381.25 \n75.5348 113.532 -313.759 \n65.2806 117.454 -309.687 \n-80.0582 1.01245 -113.224 \n60.441 97.8543 -355.168 \n-184.579 121.155 -205.381 \n-154.65 133.25 -237.48 \n-113.931 -14.3142 -146.254 \n-0.651375 42.2295 -357.348 \n64.6421 89.0811 -356.442 \n90.8671 91.4161 -246.623 \n68.0222 69.9499 -288.963 \n51.4368 61.4695 -127.382 \n-135.834 37.3884 -100.25 \n-60.5464 32.8291 -79.693 \n-46.4772 30.8601 -80.6526 \n-35.5357 18.8415 -141.131 \n-16.889 37.9227 -89.9088 \n-69.5482 -7.16986 -306.791 \n17.584 89.1596 -369.2 \n38.8724 72.2188 -378.351 \n41.4717 66.1322 -376.694 \n18.8967 55.9826 -330.691 \n34.6795 58.054 -362.249 \n8.87547 46.6293 -372.366 \n0.593811 47.7525 -376.336 \n79.8485 104.439 -314.591 \n82.1623 97.7681 -179.58 \n68.186 120.276 -173.066 \n81.4783 78.1964 -181.045 \n-37.6252 106.028 -171.768 \n-11.3788 37.837 -231.997 \n63.1911 52.5409 -191.4 \n-71.3716 -2.07779 -213.971 \n68.6895 81.9649 -325.646 \n-72.494 28.6377 -371.465 \n-201.535 107.126 -270.64 \n-223.95 117.477 -227.634 \n-106.119 96.271 -372.003 \n-123.111 122.268 -313.488 \n-219.259 60.3647 -359.043 \n-189.001 109.482 -340.858 \n-250.016 68.7161 -326.95 \n-219.259 60.3647 -359.043 \n-146.021 94.0085 -373.214 \n-106.119 96.271 -372.003 \n-144.967 67.807 -383.832 \n-106.119 96.271 -372.003 \n-144.967 67.807 -383.832 \n-219.259 60.3647 -359.043 \n-144.967 67.807 -383.832 \n-219.259 60.3647 -359.043 \n-146.021 94.0085 -373.214 \n-178.372 40.6404 -365.326 \n-178.372 40.6404 -365.326 \n-196.909 30.1252 -343.039 \n-165.985 23.1306 -353.35 \n-63.6967 47.7643 -389.679 \n-165.985 23.1306 -353.35 \n-178.372 40.6404 -365.326 \n42.9806 129.305 -294.276 \n-19.0374 116.204 -306.932 \n42.9806 129.305 -294.276 \n-9.24205 135.587 -232.969 \n-165.985 23.1306 -353.35 \n-165.985 23.1306 -353.35 \n-164.389 -9.55361 -265.81 \n-196.909 30.1252 -343.039 \n-223.805 94.7172 -286.391 \n-300.517 83.149 -239.381 \n-233.774 48.4055 -339.245 \n-233.774 48.4055 -339.245 \n-300.249 60.0646 -247.81 \n-244.113 53.4527 -337.079 \n-35.5357 18.8415 -141.131 \n51.4368 61.4695 -127.382 \n-164.389 -9.55361 -265.81 \n-164.389 -9.55361 -265.81 \n-239.381 16.0966 -218.948 \n-109.643 45.5273 -91.2181 \n-60.5464 32.8291 -79.693 \n-70.6555 101.327 -360.991 \n-33.1538 64.0867 -389.804 \n-70.6555 101.327 -360.991 \n-33.1538 64.0867 -389.804 \n-106.119 96.271 -372.003 \n-293.205 62.8293 -211.494 \n-294.03 57.3867 -237.01 \n-299.102 61.6858 -238.583 \n-300.517 83.149 -239.381 \n-295.212 79.4245 -259.056 \n-299.102 61.6858 -238.583 \n-295.212 79.4245 -259.056 \n-300.249 60.0646 -247.81 \n-26.3463 75.0928 -378.328 \n-33.1538 64.0867 -389.804 \n-26.3463 75.0928 -378.328 \n-70.6555 101.327 -360.991 \n6.55861 104.085 -349.466 \n-26.3463 75.0928 -378.328 \n6.55861 104.085 -349.466 \n-146.021 94.0085 -373.214 \n-189.001 109.482 -340.858 \n-157.446 107.755 -343.109 \n-146.021 94.0085 -373.214 \n-157.446 107.755 -343.109 \n-106.119 96.271 -372.003 \n-135.834 37.3884 -100.25 \n-109.643 45.5273 -91.2181 \n-0.585007 47.6027 -93.4453 \n-0.585007 47.6027 -93.4453 \n-20.5833 46.6978 -80.638 \n-12.0219 58.9694 -86.8885 \n-36.8851 50.9486 -75.0251 \n-12.0219 58.9694 -86.8885 \n-36.8851 50.9486 -75.0251 \n-20.5833 46.6978 -80.638 \n-209.132 14.6105 -125.527 \n-99.9536 -0.835594 -115.421 \n-109.643 45.5273 -91.2181 \n-109.643 45.5273 -91.2181 \n-196.22 100.005 -161.613 \n-225.448 66.8688 -139.967 \n-295.124 74.4469 -197.941 \n-284.471 93.9236 -204.553 \n-295.124 74.4469 -197.941 \n-299.012 75.9896 -211.593 \n-293.205 62.8293 -211.494 \n-295.124 74.4469 -197.941 \n-293.205 62.8293 -211.494 \n-37.6252 106.028 -171.768 \n-87.2171 57.7691 -96.5293 \n-21.3328 62.2403 -82.0592 \n-37.6252 106.028 -171.768 \n-21.3328 62.2403 -82.0592 \n18.342 92.7484 -113.225 \n68.186 120.276 -173.066 \n18.342 92.7484 -113.225 \n68.186 120.276 -173.066 \n49.7817 79.5046 -122.505 \n-274.453 96.9982 -185.572 \n-284.471 93.9236 -204.553 \n-96.201 -15.2239 -301.052 \n-69.5482 -7.16986 -306.791 \n-15.5573 37.2226 -365.497 \n-36.8851 50.9486 -75.0251 \n-60.5464 32.8291 -79.693 \n-36.8851 50.9486 -75.0251 \n-46.4772 30.8601 -80.6526 \n-20.5833 46.6978 -80.638 \n75.5348 113.532 -313.759 \n90.9567 111.081 -248.722 \n-21.3328 62.2403 -82.0592 \n-87.2171 57.7691 -96.5293 \n-109.643 45.5273 -91.2181 \n-21.3328 62.2403 -82.0592 \n-109.643 45.5273 -91.2181 \n-36.8851 50.9486 -75.0251 \n-79.0632 16.2345 -90.1083 \n-80.0582 1.01245 -113.224 \n-79.0632 16.2345 -90.1083 \n-99.9536 -0.835594 -115.421 \n84.2166 123.4 -245.857 \n42.9806 129.305 -294.276 \n84.2166 123.4 -245.857 \n42.9806 129.305 -294.276 \n49.6289 132.867 -225.223 \n-21.3328 62.2403 -82.0592 \n-12.0219 58.9694 -86.8885 \n49.7817 79.5046 -122.505 \n-21.3328 62.2403 -82.0592 \n49.7817 79.5046 -122.505 \n18.342 92.7484 -113.225 \n-72.494 28.6377 -371.465 \n-96.201 -15.2239 -301.052 \n-165.985 23.1306 -353.35 \n-63.6967 47.7643 -389.679 \n-33.1538 64.0867 -389.804 \n11.5671 56.4894 -384.761 \n-63.6967 47.7643 -389.679 \n11.5671 56.4894 -384.761 \n0.593811 47.7525 -376.336 \n11.5671 56.4894 -384.761 \n8.87547 46.6293 -372.366 \n11.5671 56.4894 -384.761 \n49.7817 79.5046 -122.505 \n-12.0219 58.9694 -86.8885 \n-0.585007 47.6027 -93.4453 \n49.7817 79.5046 -122.505 \n-0.585007 47.6027 -93.4453 \n51.4368 61.4695 -127.382 \n11.5671 56.4894 -384.761 \n-26.3463 75.0928 -378.328 \n17.584 89.1596 -369.2 \n11.5671 56.4894 -384.761 \n17.584 89.1596 -369.2 \n-283.802 46.8207 -167.177 \n-225.448 66.8688 -139.967 \n-274.453 96.9982 -185.572 \n-283.802 46.8207 -167.177 \n-274.453 96.9982 -185.572 \n-295.124 74.4469 -197.941 \n-274.453 96.9982 -185.572 \n-225.448 66.8688 -139.967 \n-196.22 100.005 -161.613 \n-274.453 96.9982 -185.572 \n-196.22 100.005 -161.613 \n-253.577 110.874 -186.951 \n-253.577 110.874 -186.951 \n-184.579 121.155 -205.381 \n-253.577 110.874 -186.951 \n-196.22 100.005 -161.613 \n-37.6252 106.028 -171.768 \n-9.24205 135.587 -232.969 \n-37.6252 106.028 -171.768 \n-154.65 133.25 -237.48 \n-184.579 121.155 -205.381 \n-154.65 133.25 -237.48 \n-9.24205 135.587 -232.969 \n-19.0374 116.204 -306.932 \n-154.65 133.25 -237.48 \n-19.0374 116.204 -306.932 \n-123.111 122.268 -313.488 \n6.55861 104.085 -349.466 \n-70.6555 101.327 -360.991 \n-123.111 122.268 -313.488 \n6.55861 104.085 -349.466 \n-123.111 122.268 -313.488 \n-19.0374 116.204 -306.932 \n-293.205 62.8293 -211.494 \n-287.086 56.8077 -207.899 \n-283.802 46.8207 -167.177 \n-99.9536 -0.835594 -115.421 \n-227.289 5.66001 -169.354 \n-99.9536 -0.835594 -115.421 \n-113.931 -14.3142 -146.254 \n-99.9536 -0.835594 -115.421 \n-97.467 -15.1989 -147.741 \n-80.0582 1.01245 -113.224 \n-110.975 -13.9089 -196.417 \n-113.931 -14.3142 -146.254 \n-227.289 5.66001 -169.354 \n-110.975 -13.9089 -196.417 \n-227.289 5.66001 -169.354 \n-239.381 16.0966 -218.948 \n-300.249 60.0646 -247.81 \n-294.279 54.0789 -248.696 \n-294.03 57.3867 -237.01 \n-300.249 60.0646 -247.81 \n-294.03 57.3867 -237.01 \n-299.102 61.6858 -238.583 \n-97.467 -15.1989 -147.741 \n-113.931 -14.3142 -146.254 \n-110.975 -13.9089 -196.417 \n-97.467 -15.1989 -147.741 \n-110.975 -13.9089 -196.417 \n82.1623 97.7681 -179.58 \n49.7817 79.5046 -122.505 \n81.4783 78.1964 -181.045 \n49.7817 79.5046 -122.505 \n51.4368 61.4695 -127.382 \n-293.205 62.8293 -211.494 \n-299.012 75.9896 -211.593 \n-300.517 83.149 -239.381 \n-293.205 62.8293 -211.494 \n-300.517 83.149 -239.381 \n-299.102 61.6858 -238.583 \n-164.389 -9.55361 -265.81 \n-96.201 -15.2239 -301.052 \n-110.975 -13.9089 -196.417 \n-71.3716 -2.07779 -213.971 \n-110.975 -13.9089 -196.417 \n-96.201 -15.2239 -301.052 \n-71.3716 -2.07779 -213.971 \n-96.201 -15.2239 -301.052 \n-69.5482 -7.16986 -306.791 \n-0.651375 42.2295 -357.348 \n-71.3716 -2.07779 -213.971 \n-69.5482 -7.16986 -306.791 \n38.8724 72.2188 -378.351 \n14.9695 50.6717 -381.25 \n38.8724 72.2188 -378.351 \n14.9695 50.6717 -381.25 \n11.5671 56.4894 -384.761 \n-284.471 93.9236 -204.553 \n-258.347 101.524 -243.738 \n-300.517 83.149 -239.381 \n-284.471 93.9236 -204.553 \n-300.517 83.149 -239.381 \n-299.012 75.9896 -211.593 \n-154.65 133.25 -237.48 \n-123.111 122.268 -313.488 \n-201.535 107.126 -270.64 \n-123.111 122.268 -313.488 \n-157.446 107.755 -343.109 \n-223.805 94.7172 -286.391 \n-189.001 109.482 -340.858 \n-250.016 68.7161 -326.95 \n6.55861 104.085 -349.466 \n42.9806 129.305 -294.276 \n65.2806 117.454 -309.687 \n6.55861 104.085 -349.466 \n65.2806 117.454 -309.687 \n43.3077 104.636 -349.452 \n65.2806 117.454 -309.687 \n75.5348 113.532 -313.759 \n43.3077 104.636 -349.452 \n75.5348 113.532 -313.759 \n75.5348 113.532 -313.759 \n79.8485 104.439 -314.591 \n75.5348 113.532 -313.759 \n64.6421 89.0811 -356.442 \n60.441 97.8543 -355.168 \n90.8671 91.4161 -246.623 \n68.6895 81.9649 -325.646 \n79.8485 104.439 -314.591 \n90.8671 91.4161 -246.623 \n79.8485 104.439 -314.591 \n90.9567 111.081 -248.722 \n-250.016 68.7161 -326.95 \n-244.113 53.4527 -337.079 \n-300.249 60.0646 -247.81 \n-250.016 68.7161 -326.95 \n-300.249 60.0646 -247.81 \n-295.212 79.4245 -259.056 \n-196.909 30.1252 -343.039 \n-164.389 -9.55361 -265.81 \n-257.667 20.2856 -254.88 \n-196.909 30.1252 -343.039 \n-257.667 20.2856 -254.88 \n-233.774 48.4055 -339.245 \n-233.774 48.4055 -339.245 \n-257.667 20.2856 -254.88 \n-294.279 54.0789 -248.696 \n-257.667 20.2856 -254.88 \n-239.381 16.0966 -218.948 \n-294.03 57.3867 -237.01 \n-257.667 20.2856 -254.88 \n-294.03 57.3867 -237.01 \n-294.279 54.0789 -248.696 \n-239.381 16.0966 -218.948 \n-227.289 5.66001 -169.354 \n-287.086 56.8077 -207.899 \n-239.381 16.0966 -218.948 \n-287.086 56.8077 -207.899 \n-294.03 57.3867 -237.01 \n-227.289 5.66001 -169.354 \n-209.132 14.6105 -125.527 \n-283.802 46.8207 -167.177 \n-227.289 5.66001 -169.354 \n-283.802 46.8207 -167.177 \n-287.086 56.8077 -207.899 \n-233.774 48.4055 -339.245 \n-244.113 53.4527 -337.079 \n-219.259 60.3647 -359.043 \n-233.774 48.4055 -339.245 \n-219.259 60.3647 -359.043 \n-178.372 40.6404 -365.326 \n-223.805 94.7172 -286.391 \n-250.016 68.7161 -326.95 \n-295.212 79.4245 -259.056 \n-196.22 100.005 -161.613 \n-87.2171 57.7691 -96.5293 \n-37.6252 106.028 -171.768 \n-196.22 100.005 -161.613 \n-37.6252 106.028 -171.768 \n-184.579 121.155 -205.381 \n-144.967 67.807 -383.832 \n-33.1538 64.0867 -389.804 \n-63.6967 47.7643 -389.679 \n-144.967 67.807 -383.832 \n-63.6967 47.7643 -389.679 \n-178.372 40.6404 -365.326 \n-201.535 107.126 -270.64 \n-223.95 117.477 -227.634 \n-184.579 121.155 -205.381 \n-201.535 107.126 -270.64 \n-184.579 121.155 -205.381 \n-154.65 133.25 -237.48 \n-0.651375 42.2295 -357.348 \n-71.3716 -2.07779 -213.971 \n18.8967 55.9826 -330.691 \n-71.3716 -2.07779 -213.971 \n8.87547 46.6293 -372.366 \n14.9695 50.6717 -381.25 \n34.6795 58.054 -362.249 \n14.9695 50.6717 -381.25 \n41.4717 66.1322 -376.694 \n90.8671 91.4161 -246.623 \n81.4783 78.1964 -181.045 \n90.8671 91.4161 -246.623 \n63.1911 52.5409 -191.4 \n68.0222 69.9499 -288.963 \n-79.0632 16.2345 -90.1083 \n-60.5464 32.8291 -79.693 \n-135.834 37.3884 -100.25 \n-79.0632 16.2345 -90.1083 \n-135.834 37.3884 -100.25 \n-209.132 14.6105 -125.527 \n-57.2137 19.4863 -86.3534 \n-46.4772 30.8601 -80.6526 \n-60.5464 32.8291 -79.693 \n-57.2137 19.4863 -86.3534 \n-60.5464 32.8291 -79.693 \n-79.0632 16.2345 -90.1083 \n-209.132 14.6105 -125.527 \n-135.834 37.3884 -100.25 \n-225.448 66.8688 -139.967 \n-209.132 14.6105 -125.527 \n-225.448 66.8688 -139.967 \n-283.802 46.8207 -167.177 \n-35.5357 18.8415 -141.131 \n-71.3716 -2.07779 -213.971 \n41.8233 37.4073 -153.123 \n-71.3716 -2.07779 -213.971 \n-11.3788 37.837 -231.997 \n41.8233 37.4073 -153.123 \n-0.585007 47.6027 -93.4453 \n-16.889 37.9227 -89.9088 \n-35.5357 18.8415 -141.131 \n-97.467 -15.1989 -147.741 \n-71.3716 -2.07779 -213.971 \n-35.5357 18.8415 -141.131 \n-97.467 -15.1989 -147.741 \n-35.5357 18.8415 -141.131 \n-80.0582 1.01245 -113.224 \n-16.889 37.9227 -89.9088 \n-20.5833 46.6978 -80.638 \n-46.4772 30.8601 -80.6526 \n-16.889 37.9227 -89.9088 \n-46.4772 30.8601 -80.6526 \n-57.2137 19.4863 -86.3534 \n-35.5357 18.8415 -141.131 \n-16.889 37.9227 -89.9088 \n-57.2137 19.4863 -86.3534 \n-35.5357 18.8415 -141.131 \n-57.2137 19.4863 -86.3534 \n-80.0582 1.01245 -113.224 \n38.8724 72.2188 -378.351 \n17.584 89.1596 -369.2 \n43.3077 104.636 -349.452 \n38.8724 72.2188 -378.351 \n43.3077 104.636 -349.452 \n60.441 97.8543 -355.168 \n41.4717 66.1322 -376.694 \n38.8724 72.2188 -378.351 \n60.441 97.8543 -355.168 \n41.4717 66.1322 -376.694 \n60.441 97.8543 -355.168 \n64.6421 89.0811 -356.442 \n34.6795 58.054 -362.249 \n41.4717 66.1322 -376.694 \n64.6421 89.0811 -356.442 \n34.6795 58.054 -362.249 \n64.6421 89.0811 -356.442 \n68.6895 81.9649 -325.646 \n-11.3788 37.837 -231.997 \n18.8967 55.9826 -330.691 \n68.0222 69.9499 -288.963 \n-11.3788 37.837 -231.997 \n68.0222 69.9499 -288.963 \n63.1911 52.5409 -191.4 \n6.55861 104.085 -349.466 \n43.3077 104.636 -349.452 \n17.584 89.1596 -369.2 \n0.593811 47.7525 -376.336 \n8.87547 46.6293 -372.366 \n-0.651375 42.2295 -357.348 \n0.593811 47.7525 -376.336 \n-0.651375 42.2295 -357.348 \n-15.5573 37.2226 -365.497 \n68.6895 81.9649 -325.646 \n64.6421 89.0811 -356.442 \n79.8485 104.439 -314.591 \n75.5348 113.532 -313.759 \n65.2806 117.454 -309.687 \n84.2166 123.4 -245.857 \n84.2166 123.4 -245.857 \n68.186 120.276 -173.066 \n82.1623 97.7681 -179.58 \n84.2166 123.4 -245.857 \n82.1623 97.7681 -179.58 \n90.9567 111.081 -248.722 \n82.1623 97.7681 -179.58 \n81.4783 78.1964 -181.045 \n90.8671 91.4161 -246.623 \n82.1623 97.7681 -179.58 \n90.8671 91.4161 -246.623 \n90.9567 111.081 -248.722 \n68.186 120.276 -173.066 \n84.2166 123.4 -245.857 \n49.6289 132.867 -225.223 \n-9.24205 135.587 -232.969 \n-37.6252 106.028 -171.768 \n68.186 120.276 -173.066 \n-9.24205 135.587 -232.969 \n68.186 120.276 -173.066 \n49.6289 132.867 -225.223 \n41.8233 37.4073 -153.123 \n63.1911 52.5409 -191.4 \n81.4783 78.1964 -181.045 \n41.8233 37.4073 -153.123 \n81.4783 78.1964 -181.045 \n51.4368 61.4695 -127.382 \n63.1911 52.5409 -191.4 \n41.8233 37.4073 -153.123 \n-11.3788 37.837 -231.997 \n18.8967 55.9826 -330.691 \n34.6795 58.054 -362.249 \n68.6895 81.9649 -325.646 \n18.8967 55.9826 -330.691 \n68.6895 81.9649 -325.646 \n68.0222 69.9499 -288.963 \n-0.651375 42.2295 -357.348 \n8.87547 46.6293 -372.366 \n34.6795 58.054 -362.249 \n-0.651375 42.2295 -357.348 \n34.6795 58.054 -362.249 \n18.8967 55.9826 -330.691 \n-15.5573 37.2226 -365.497 \n-72.494 28.6377 -371.465 \n-63.6967 47.7643 -389.679 \n-15.5573 37.2226 -365.497 \n-63.6967 47.7643 -389.679 \n0.593811 47.7525 -376.336 \n-72.494 28.6377 -371.465 \n-15.5573 37.2226 -365.497 \n-96.201 -15.2239 -301.052 \n-201.535 107.126 -270.64 \n-157.446 107.755 -343.109 \n-189.001 109.482 -340.858 \n-201.535 107.126 -270.64 \n-189.001 109.482 -340.858 \n-223.805 94.7172 -286.391 \n-223.95 117.477 -227.634 \n-201.535 107.126 -270.64 \n-223.805 94.7172 -286.391 \n-223.95 117.477 -227.634 \n-223.805 94.7172 -286.391 \n-258.347 101.524 -243.738 \n-253.577 110.874 -186.951 \n-223.95 117.477 -227.634 \n-258.347 101.524 -243.738 \n-253.577 110.874 -186.951 \n-258.347 101.524 -243.738 \n-284.471 93.9236 -204.553 \n3 0 1 2 \n3 104 105 3 \n3 4 5 6 \n3 106 107 7 \n3 108 109 8 \n3 9 110 111 \n3 112 113 10 \n3 114 11 115 \n3 116 117 118 \n3 119 12 13 \n3 120 121 14 \n3 15 16 17 \n3 18 101 122 \n3 123 124 125 \n3 126 127 20 \n3 128 129 21 \n3 130 22 23 \n3 131 132 133 \n3 24 25 26 \n3 134 135 27 \n3 136 28 29 \n3 137 138 139 \n3 82 30 78 \n3 140 141 51 \n3 142 32 33 \n3 143 144 34 \n3 37 79 80 \n3 145 146 36 \n3 94 96 39 \n3 147 40 148 \n3 149 150 151 \n3 41 42 43 \n3 152 153 44 \n3 154 155 156 \n3 157 158 159 \n3 160 45 161 \n3 162 163 164 \n3 165 166 85 \n3 167 168 169 \n3 170 171 172 \n3 47 173 174 \n3 175 52 49 \n3 176 177 83 \n3 178 53 179 \n3 180 181 182 \n3 38 54 55 \n3 183 184 35 \n3 185 56 57 \n3 186 187 188 \n3 58 59 60 \n3 189 190 61 \n3 191 192 193 \n3 194 195 48 \n3 196 197 198 \n3 199 200 201 \n3 202 203 62 \n3 204 205 93 \n3 206 65 207 \n3 84 208 19 \n3 209 210 74 \n3 211 212 81 \n3 213 214 215 \n3 67 64 63 \n3 216 217 92 \n3 218 219 220 \n3 221 222 223 \n3 69 50 224 \n3 225 226 227 \n3 228 68 229 \n3 230 231 232 \n3 233 234 235 \n3 236 237 238 \n3 239 240 241 \n3 242 243 244 \n3 245 246 91 \n3 90 247 248 \n3 249 250 66 \n3 251 252 253 \n3 254 255 256 \n3 257 258 259 \n3 260 261 86 \n3 262 263 264 \n3 265 266 267 \n3 268 269 270 \n3 271 272 273 \n3 71 103 274 \n3 275 276 277 \n3 278 279 72 \n3 280 281 282 \n3 283 284 285 \n3 286 287 288 \n3 289 290 291 \n3 292 293 294 \n3 295 296 297 \n3 73 298 299 \n3 300 301 31 \n3 302 303 304 \n3 305 306 307 \n3 308 309 310 \n3 311 312 313 \n3 314 315 316 \n3 317 318 319 \n3 320 321 99 \n3 76 77 100 \n3 95 322 323 \n3 324 325 326 \n3 327 328 329 \n3 330 331 332 \n3 333 334 335 \n3 336 337 338 \n3 339 340 341 \n3 342 343 344 \n3 345 87 346 \n3 347 348 349 \n3 350 351 352 \n3 353 354 355 \n3 102 356 357 \n3 358 359 360 \n3 361 362 363 \n3 364 365 366 \n3 367 368 46 \n3 369 370 371 \n3 372 373 70 \n3 374 375 75 \n3 376 377 378 \n3 379 380 381 \n3 382 383 384 \n3 385 386 387 \n3 388 389 390 \n3 391 392 393 \n3 394 395 396 \n3 397 398 399 \n3 400 401 402 \n3 403 404 405 \n3 406 407 408 \n3 409 410 411 \n3 412 413 414 \n3 415 416 417 \n3 418 419 420 \n3 421 422 423 \n3 424 425 426 \n3 427 428 429 \n3 430 431 432 \n3 433 434 435 \n3 436 437 438 \n3 439 440 441 \n3 442 443 444 \n3 445 88 446 \n3 447 97 448 \n3 89 449 450 \n3 451 452 453 \n3 454 455 98 \n3 456 457 458 \n3 459 460 461 \n3 462 463 464 \n3 465 466 467 \n3 468 469 470 \n3 471 472 473 \n3 474 475 476 \n3 477 478 479 \n3 480 481 482 \n3 483 484 485 \n3 486 487 488 \n3 489 490 491 \n3 492 493 494 \n3 495 496 497 \n3 498 499 500 \n3 501 502 503 \n3 504 505 506 \n3 507 508 509 \n3 510 511 512 \n3 513 514 515 \n3 516 517 518 \n3 519 520 521 \n3 522 523 524 \n3 525 526 527 \n3 528 529 530 \n3 531 532 533 \n3 534 535 536 \n3 537 538 539 \n3 540 541 542 \n3 543 544 545 \n3 546 547 548 \n3 549 550 551 \n3 552 553 554 \n3 555 556 557 \n3 558 559 560 \n3 561 562 563 \n3 564 565 566 \n3 567 568 569 \n3 570 571 572 \n3 573 574 575 \n3 576 577 578 \n3 579 580 581 \n3 582 583 584 \n3 585 586 587 \n3 588 589 590 \n3 591 592 593 \n3 594 595 596 \n3 597 598 599 \n3 600 601 602 \n3 603 604 605 \n3 606 607 608 \n3 609 610 611 \n"
  },
  {
    "path": "data/rockb.ply",
    "content": "ply\nformat ascii 1.0\ncomment VCGLIB generated\nelement vertex 492\nproperty float x\nproperty float y\nproperty float z\nelement face 164\nproperty list uchar int vertex_indices\nend_header\n123.32 37.7448 -383.342 \n113.063 33.0833 -377.8 \n108.008 37.4632 -373.165 \n123.122 48.9597 -375.616 \n80.9002 26.5279 -338.22 \n77.5409 28.6419 -294.451 \n87.6242 25.7967 -354.229 \n86.3666 34.8662 -293.811 \n71.6909 31.5672 -230.437 \n79.5973 35.0752 -207.517 \n85.9901 51.3873 -221.839 \n76.8963 30.3799 -195.368 \n136.933 12.0888 -369.491 \n98.7973 13.5653 -358.396 \n76.6018 23.3836 -290.068 \n90.2951 19.1556 -325.522 \n68.6401 19.8848 -232.148 \n101.006 8.28304 -352.522 \n87.277 -0.0580444 -277.726 \n81.2266 8.10989 -202.009 \n171.72 14.5045 -369.704 \n173.517 -17.9526 -231.883 \n181.024 -21.5937 -163.793 \n105.645 15.2345 -109.023 \n159.556 11.3768 -95.2085 \n170.675 71.0902 -366.24 \n183.096 53.9682 -381.981 \n100.323 32.1784 -101.778 \n144.508 70.725 -87.3142 \n142.437 86.9612 -93.353 \n97.6496 37.9109 -119.147 \n278.316 4.66293 -301.054 \n261.379 -7.0887 -225.071 \n243.956 -15.4958 -219.837 \n252.907 19.8124 -165.763 \n238.049 -9.675 -185.598 \n213.685 11.6116 -121.927 \n232.71 30.53 -135.987 \n231.926 91.6179 -344.23 \n234.322 72.5982 -351.658 \n192.42 50.474 -116.722 \n184.269 102.146 -137.341 \n193.656 68.5418 -125.666 \n248.519 77.6498 -149.279 \n233.837 104.121 -165.915 \n246.817 115.464 -310.403 \n236.125 121.934 -312.183 \n238.533 118.88 -229.069 \n270.92 87.338 -242.896 \n243.588 98.3837 -181.797 \n264.47 66.2989 -165.419 \n272.039 12.4615 -230.002 \n210.887 119.171 -241.341 \n200.604 121.668 -301.636 \n161.763 98.0184 -311.274 \n270.394 6.37382 -328.414 \n280.368 17.4447 -300.528 \n107.764 48.8403 -343.171 \n97.5182 37.3144 -331.988 \n97.8771 40.8065 -290.182 \n131.043 71.9454 -341.525 \n100.485 50.7349 -128.97 \n142.492 93.6265 -101.568 \n141.698 91.8874 -122.538 \n183.315 108.758 -149.375 \n218.659 111.049 -187.637 \n192.556 108.196 -225.19 \n179.529 108.631 -153.46 \n83.3795 33.0313 -154.208 \n84.0488 29.5048 -126.054 \n87.6531 10.5369 -137.653 \n159.377 102.56 -174.28 \n134.966 83.5815 -152.187 \n227.404 115.439 -207.435 \n172.653 106.192 -215.264 \n123.079 74.0134 -218.302 \n102.38 55.3267 -156.798 \n143.009 6.87105 -354.469 \n134.181 -9.79058 -252.792 \n106.376 -7.62952 -195.436 \n226.322 -16.8167 -305.317 \n235.764 -12.5085 -272.973 \n266.73 -8.63084 -323.017 \n146.657 83.5297 -265.741 \n123.32 37.7448 -383.342 \n108.008 37.4632 -373.165 \n108.008 37.4632 -373.165 \n80.9002 26.5279 -338.22 \n108.008 37.4632 -373.165 \n79.5973 35.0752 -207.517 \n71.6909 31.5672 -230.437 \n113.063 33.0833 -377.8 \n136.933 12.0888 -369.491 \n113.063 33.0833 -377.8 \n123.32 37.7448 -383.342 \n77.5409 28.6419 -294.451 \n80.9002 26.5279 -338.22 \n76.6018 23.3836 -290.068 \n80.9002 26.5279 -338.22 \n71.6909 31.5672 -230.437 \n77.5409 28.6419 -294.451 \n68.6401 19.8848 -232.148 \n77.5409 28.6419 -294.451 \n76.6018 23.3836 -290.068 \n76.8963 30.3799 -195.368 \n71.6909 31.5672 -230.437 \n81.2266 8.10989 -202.009 \n71.6909 31.5672 -230.437 \n68.6401 19.8848 -232.148 \n101.006 8.28304 -352.522 \n87.277 -0.0580444 -277.726 \n90.2951 19.1556 -325.522 \n87.277 -0.0580444 -277.726 \n76.6018 23.3836 -290.068 \n90.2951 19.1556 -325.522 \n87.277 -0.0580444 -277.726 \n81.2266 8.10989 -202.009 \n68.6401 19.8848 -232.148 \n87.277 -0.0580444 -277.726 \n68.6401 19.8848 -232.148 \n76.6018 23.3836 -290.068 \n87.277 -0.0580444 -277.726 \n143.009 6.87105 -354.469 \n134.181 -9.79058 -252.792 \n143.009 6.87105 -354.469 \n134.181 -9.79058 -252.792 \n81.2266 8.10989 -202.009 \n134.181 -9.79058 -252.792 \n81.2266 8.10989 -202.009 \n87.277 -0.0580444 -277.726 \n100.323 32.1784 -101.778 \n159.556 11.3768 -95.2085 \n100.323 32.1784 -101.778 \n144.508 70.725 -87.3142 \n100.323 32.1784 -101.778 \n142.437 86.9612 -93.353 \n252.907 19.8124 -165.763 \n213.685 11.6116 -121.927 \n252.907 19.8124 -165.763 \n170.675 71.0902 -366.24 \n234.322 72.5982 -351.658 \n161.763 98.0184 -311.274 \n192.556 108.196 -225.19 \n213.685 11.6116 -121.927 \n232.71 30.53 -135.987 \n184.269 102.146 -137.341 \n248.519 77.6498 -149.279 \n246.817 115.464 -310.403 \n238.533 118.88 -229.069 \n233.837 104.121 -165.915 \n248.519 77.6498 -149.279 \n243.588 98.3837 -181.797 \n248.519 77.6498 -149.279 \n270.92 87.338 -242.896 \n243.588 98.3837 -181.797 \n264.47 66.2989 -165.419 \n270.92 87.338 -242.896 \n264.47 66.2989 -165.419 \n210.887 119.171 -241.341 \n161.763 98.0184 -311.274 \n234.322 72.5982 -351.658 \n231.926 91.6179 -344.23 \n236.125 121.934 -312.183 \n234.322 72.5982 -351.658 \n236.125 121.934 -312.183 \n246.817 115.464 -310.403 \n183.096 53.9682 -381.981 \n234.322 72.5982 -351.658 \n183.096 53.9682 -381.981 \n270.394 6.37382 -328.414 \n234.322 72.5982 -351.658 \n246.817 115.464 -310.403 \n234.322 72.5982 -351.658 \n280.368 17.4447 -300.528 \n270.394 6.37382 -328.414 \n171.72 14.5045 -369.704 \n226.322 -16.8167 -305.317 \n246.817 115.464 -310.403 \n270.92 87.338 -242.896 \n280.368 17.4447 -300.528 \n80.9002 26.5279 -338.22 \n87.6242 25.7967 -354.229 \n98.7973 13.5653 -358.396 \n80.9002 26.5279 -338.22 \n98.7973 13.5653 -358.396 \n101.006 8.28304 -352.522 \n80.9002 26.5279 -338.22 \n101.006 8.28304 -352.522 \n90.2951 19.1556 -325.522 \n108.008 37.4632 -373.165 \n113.063 33.0833 -377.8 \n98.7973 13.5653 -358.396 \n108.008 37.4632 -373.165 \n98.7973 13.5653 -358.396 \n87.6242 25.7967 -354.229 \n123.122 48.9597 -375.616 \n108.008 37.4632 -373.165 \n107.764 48.8403 -343.171 \n108.008 37.4632 -373.165 \n77.5409 28.6419 -294.451 \n97.5182 37.3144 -331.988 \n77.5409 28.6419 -294.451 \n97.5182 37.3144 -331.988 \n108.008 37.4632 -373.165 \n107.764 48.8403 -343.171 \n171.72 14.5045 -369.704 \n143.009 6.87105 -354.469 \n136.933 12.0888 -369.491 \n123.122 48.9597 -375.616 \n170.675 71.0902 -366.24 \n183.096 53.9682 -381.981 \n123.122 48.9597 -375.616 \n183.096 53.9682 -381.981 \n123.32 37.7448 -383.342 \n123.32 37.7448 -383.342 \n183.096 53.9682 -381.981 \n171.72 14.5045 -369.704 \n123.32 37.7448 -383.342 \n171.72 14.5045 -369.704 \n136.933 12.0888 -369.491 \n123.122 48.9597 -375.616 \n107.764 48.8403 -343.171 \n131.043 71.9454 -341.525 \n97.6496 37.9109 -119.147 \n100.485 50.7349 -128.97 \n142.492 93.6265 -101.568 \n192.556 108.196 -225.19 \n183.315 108.758 -149.375 \n192.556 108.196 -225.19 \n86.3666 34.8662 -293.811 \n77.5409 28.6419 -294.451 \n71.6909 31.5672 -230.437 \n85.9901 51.3873 -221.839 \n83.3795 33.0313 -154.208 \n85.9901 51.3873 -221.839 \n79.5973 35.0752 -207.517 \n79.5973 35.0752 -207.517 \n76.8963 30.3799 -195.368 \n79.5973 35.0752 -207.517 \n84.0488 29.5048 -126.054 \n83.3795 33.0313 -154.208 \n76.8963 30.3799 -195.368 \n81.2266 8.10989 -202.009 \n76.8963 30.3799 -195.368 \n87.6531 10.5369 -137.653 \n84.0488 29.5048 -126.054 \n81.2266 8.10989 -202.009 \n106.376 -7.62952 -195.436 \n87.6531 10.5369 -137.653 \n159.556 11.3768 -95.2085 \n105.645 15.2345 -109.023 \n87.6531 10.5369 -137.653 \n159.556 11.3768 -95.2085 \n181.024 -21.5937 -163.793 \n213.685 11.6116 -121.927 \n213.685 11.6116 -121.927 \n192.42 50.474 -116.722 \n144.508 70.725 -87.3142 \n213.685 11.6116 -121.927 \n144.508 70.725 -87.3142 \n159.556 11.3768 -95.2085 \n193.656 68.5418 -125.666 \n142.437 86.9612 -93.353 \n144.508 70.725 -87.3142 \n193.656 68.5418 -125.666 \n144.508 70.725 -87.3142 \n192.42 50.474 -116.722 \n183.315 108.758 -149.375 \n179.529 108.631 -153.46 \n141.698 91.8874 -122.538 \n183.315 108.758 -149.375 \n141.698 91.8874 -122.538 \n142.492 93.6265 -101.568 \n123.079 74.0134 -218.302 \n159.377 102.56 -174.28 \n97.6496 37.9109 -119.147 \n83.3795 33.0313 -154.208 \n84.0488 29.5048 -126.054 \n97.6496 37.9109 -119.147 \n84.0488 29.5048 -126.054 \n100.323 32.1784 -101.778 \n100.323 32.1784 -101.778 \n84.0488 29.5048 -126.054 \n87.6531 10.5369 -137.653 \n100.323 32.1784 -101.778 \n87.6531 10.5369 -137.653 \n105.645 15.2345 -109.023 \n231.926 91.6179 -344.23 \n170.675 71.0902 -366.24 \n131.043 71.9454 -341.525 \n231.926 91.6179 -344.23 \n131.043 71.9454 -341.525 \n161.763 98.0184 -311.274 \n243.588 98.3837 -181.797 \n270.92 87.338 -242.896 \n238.533 118.88 -229.069 \n243.588 98.3837 -181.797 \n238.533 118.88 -229.069 \n227.404 115.439 -207.435 \n238.533 118.88 -229.069 \n210.887 119.171 -241.341 \n238.533 118.88 -229.069 \n236.125 121.934 -312.183 \n200.604 121.668 -301.636 \n238.533 118.88 -229.069 \n200.604 121.668 -301.636 \n210.887 119.171 -241.341 \n236.125 121.934 -312.183 \n231.926 91.6179 -344.23 \n161.763 98.0184 -311.274 \n236.125 121.934 -312.183 \n161.763 98.0184 -311.274 \n200.604 121.668 -301.636 \n97.6496 37.9109 -119.147 \n142.437 86.9612 -93.353 \n142.492 93.6265 -101.568 \n183.315 108.758 -149.375 \n184.269 102.146 -137.341 \n233.837 104.121 -165.915 \n183.315 108.758 -149.375 \n233.837 104.121 -165.915 \n218.659 111.049 -187.637 \n184.269 102.146 -137.341 \n183.315 108.758 -149.375 \n142.492 93.6265 -101.568 \n184.269 102.146 -137.341 \n142.492 93.6265 -101.568 \n142.437 86.9612 -93.353 \n218.659 111.049 -187.637 \n233.837 104.121 -165.915 \n243.588 98.3837 -181.797 \n218.659 111.049 -187.637 \n243.588 98.3837 -181.797 \n227.404 115.439 -207.435 \n192.556 108.196 -225.19 \n218.659 111.049 -187.637 \n227.404 115.439 -207.435 \n192.556 108.196 -225.19 \n227.404 115.439 -207.435 \n210.887 119.171 -241.341 \n123.079 74.0134 -218.302 \n146.657 83.5297 -265.741 \n97.8771 40.8065 -290.182 \n123.079 74.0134 -218.302 \n97.8771 40.8065 -290.182 \n85.9901 51.3873 -221.839 \n85.9901 51.3873 -221.839 \n102.38 55.3267 -156.798 \n123.079 74.0134 -218.302 \n100.485 50.7349 -128.97 \n141.698 91.8874 -122.538 \n134.966 83.5815 -152.187 \n100.485 50.7349 -128.97 \n134.966 83.5815 -152.187 \n102.38 55.3267 -156.798 \n141.698 91.8874 -122.538 \n179.529 108.631 -153.46 \n159.377 102.56 -174.28 \n141.698 91.8874 -122.538 \n159.377 102.56 -174.28 \n134.966 83.5815 -152.187 \n159.377 102.56 -174.28 \n179.529 108.631 -153.46 \n192.556 108.196 -225.19 \n159.377 102.56 -174.28 \n192.556 108.196 -225.19 \n172.653 106.192 -215.264 \n102.38 55.3267 -156.798 \n134.966 83.5815 -152.187 \n123.079 74.0134 -218.302 \n181.024 -21.5937 -163.793 \n238.049 -9.675 -185.598 \n252.907 19.8124 -165.763 \n193.656 68.5418 -125.666 \n192.42 50.474 -116.722 \n232.71 30.53 -135.987 \n193.656 68.5418 -125.666 \n232.71 30.53 -135.987 \n248.519 77.6498 -149.279 \n248.519 77.6498 -149.279 \n232.71 30.53 -135.987 \n252.907 19.8124 -165.763 \n248.519 77.6498 -149.279 \n252.907 19.8124 -165.763 \n264.47 66.2989 -165.419 \n264.47 66.2989 -165.419 \n252.907 19.8124 -165.763 \n261.379 -7.0887 -225.071 \n264.47 66.2989 -165.419 \n261.379 -7.0887 -225.071 \n272.039 12.4615 -230.002 \n238.049 -9.675 -185.598 \n181.024 -21.5937 -163.793 \n238.049 -9.675 -185.598 \n173.517 -17.9526 -231.883 \n193.656 68.5418 -125.666 \n184.269 102.146 -137.341 \n142.437 86.9612 -93.353 \n280.368 17.4447 -300.528 \n266.73 -8.63084 -323.017 \n280.368 17.4447 -300.528 \n266.73 -8.63084 -323.017 \n270.394 6.37382 -328.414 \n270.394 6.37382 -328.414 \n266.73 -8.63084 -323.017 \n171.72 14.5045 -369.704 \n272.039 12.4615 -230.002 \n278.316 4.66293 -301.054 \n280.368 17.4447 -300.528 \n272.039 12.4615 -230.002 \n280.368 17.4447 -300.528 \n270.92 87.338 -242.896 \n272.039 12.4615 -230.002 \n261.379 -7.0887 -225.071 \n278.316 4.66293 -301.054 \n136.933 12.0888 -369.491 \n143.009 6.87105 -354.469 \n101.006 8.28304 -352.522 \n136.933 12.0888 -369.491 \n101.006 8.28304 -352.522 \n98.7973 13.5653 -358.396 \n238.049 -9.675 -185.598 \n243.956 -15.4958 -219.837 \n261.379 -7.0887 -225.071 \n86.3666 34.8662 -293.811 \n71.6909 31.5672 -230.437 \n85.9901 51.3873 -221.839 \n86.3666 34.8662 -293.811 \n85.9901 51.3873 -221.839 \n97.8771 40.8065 -290.182 \n123.079 74.0134 -218.302 \n172.653 106.192 -215.264 \n192.556 108.196 -225.19 \n123.079 74.0134 -218.302 \n192.556 108.196 -225.19 \n146.657 83.5297 -265.741 \n100.485 50.7349 -128.97 \n102.38 55.3267 -156.798 \n83.3795 33.0313 -154.208 \n100.485 50.7349 -128.97 \n83.3795 33.0313 -154.208 \n97.6496 37.9109 -119.147 \n171.72 14.5045 -369.704 \n226.322 -16.8167 -305.317 \n143.009 6.87105 -354.469 \n173.517 -17.9526 -231.883 \n134.181 -9.79058 -252.792 \n226.322 -16.8167 -305.317 \n173.517 -17.9526 -231.883 \n226.322 -16.8167 -305.317 \n106.376 -7.62952 -195.436 \n134.181 -9.79058 -252.792 \n173.517 -17.9526 -231.883 \n106.376 -7.62952 -195.436 \n173.517 -17.9526 -231.883 \n181.024 -21.5937 -163.793 \n87.6531 10.5369 -137.653 \n106.376 -7.62952 -195.436 \n181.024 -21.5937 -163.793 \n87.6531 10.5369 -137.653 \n181.024 -21.5937 -163.793 \n159.556 11.3768 -95.2085 \n235.764 -12.5085 -272.973 \n278.316 4.66293 -301.054 \n261.379 -7.0887 -225.071 \n235.764 -12.5085 -272.973 \n261.379 -7.0887 -225.071 \n243.956 -15.4958 -219.837 \n235.764 -12.5085 -272.973 \n243.956 -15.4958 -219.837 \n173.517 -17.9526 -231.883 \n278.316 4.66293 -301.054 \n235.764 -12.5085 -272.973 \n226.322 -16.8167 -305.317 \n278.316 4.66293 -301.054 \n226.322 -16.8167 -305.317 \n266.73 -8.63084 -323.017 \n97.8771 40.8065 -290.182 \n146.657 83.5297 -265.741 \n131.043 71.9454 -341.525 \n161.763 98.0184 -311.274 \n131.043 71.9454 -341.525 \n146.657 83.5297 -265.741 \n131.043 71.9454 -341.525 \n170.675 71.0902 -366.24 \n123.122 48.9597 -375.616 \n97.5182 37.3144 -331.988 \n86.3666 34.8662 -293.811 \n97.8771 40.8065 -290.182 \n97.5182 37.3144 -331.988 \n97.8771 40.8065 -290.182 \n107.764 48.8403 -343.171 \n3 0 1 2 \n3 84 85 3 \n3 4 5 86 \n3 87 88 6 \n3 8 9 10 \n3 89 90 11 \n3 12 13 91 \n3 92 93 94 \n3 14 95 96 \n3 97 98 15 \n3 16 99 100 \n3 101 102 103 \n3 19 104 105 \n3 106 107 108 \n3 17 77 18 \n3 109 110 111 \n3 112 113 114 \n3 115 116 117 \n3 118 119 120 \n3 78 121 122 \n3 123 124 80 \n3 125 79 126 \n3 127 128 129 \n3 27 23 24 \n3 130 131 28 \n3 132 133 29 \n3 134 135 30 \n3 32 34 35 \n3 36 22 136 \n3 137 138 37 \n3 25 38 39 \n3 139 140 26 \n3 54 83 66 \n3 141 142 52 \n3 40 143 144 \n3 41 42 43 \n3 145 146 44 \n3 45 46 47 \n3 147 148 48 \n3 49 149 150 \n3 151 152 50 \n3 153 154 155 \n3 156 157 51 \n3 158 53 159 \n3 160 161 162 \n3 163 164 165 \n3 166 167 55 \n3 168 169 20 \n3 170 171 56 \n3 172 173 174 \n3 175 82 176 \n3 177 178 179 \n3 180 181 182 \n3 183 184 185 \n3 186 187 188 \n3 189 190 191 \n3 192 193 194 \n3 57 195 196 \n3 197 198 58 \n3 199 7 200 \n3 201 202 203 \n3 59 60 204 \n3 205 206 207 \n3 208 209 210 \n3 211 212 213 \n3 214 215 216 \n3 217 218 219 \n3 220 221 222 \n3 61 223 62 \n3 224 225 63 \n3 64 65 226 \n3 227 228 67 \n3 229 230 231 \n3 68 76 232 \n3 233 234 235 \n3 236 237 69 \n3 238 239 240 \n3 241 242 70 \n3 243 244 245 \n3 246 247 248 \n3 249 250 251 \n3 252 253 254 \n3 255 256 257 \n3 258 259 260 \n3 261 262 263 \n3 264 265 266 \n3 267 268 269 \n3 270 271 272 \n3 75 72 71 \n3 273 274 74 \n3 275 276 277 \n3 278 279 280 \n3 281 282 283 \n3 284 285 286 \n3 287 288 289 \n3 290 291 292 \n3 293 294 295 \n3 296 297 73 \n3 298 299 300 \n3 301 302 303 \n3 304 305 306 \n3 307 308 309 \n3 310 311 312 \n3 313 314 315 \n3 316 317 318 \n3 319 320 321 \n3 322 323 324 \n3 325 326 327 \n3 328 329 330 \n3 331 332 333 \n3 334 335 336 \n3 337 338 339 \n3 340 341 342 \n3 343 344 345 \n3 346 347 348 \n3 349 350 351 \n3 352 353 354 \n3 355 356 357 \n3 358 359 360 \n3 361 362 363 \n3 364 365 366 \n3 367 368 369 \n3 370 371 372 \n3 373 374 375 \n3 376 377 378 \n3 379 380 381 \n3 382 383 384 \n3 385 386 387 \n3 388 389 390 \n3 391 392 21 \n3 393 394 33 \n3 395 396 397 \n3 398 31 399 \n3 400 401 402 \n3 403 404 405 \n3 406 407 408 \n3 409 410 411 \n3 412 413 414 \n3 415 416 417 \n3 418 419 420 \n3 421 422 423 \n3 424 425 426 \n3 427 428 429 \n3 430 431 432 \n3 433 434 435 \n3 436 437 438 \n3 439 440 441 \n3 442 443 444 \n3 445 446 447 \n3 448 449 81 \n3 450 451 452 \n3 453 454 455 \n3 456 457 458 \n3 459 460 461 \n3 462 463 464 \n3 465 466 467 \n3 468 469 470 \n3 471 472 473 \n3 474 475 476 \n3 477 478 479 \n3 480 481 482 \n3 483 484 485 \n3 486 487 488 \n3 489 490 491 \n"
  },
  {
    "path": "data/rockc.ply",
    "content": "ply\nformat ascii 1.0\ncomment VCGLIB generated\nelement vertex 264\nproperty float x\nproperty float y\nproperty float z\nelement face 88\nproperty list uchar int vertex_indices\nend_header\n245.328 39.0562 23.5475 \n313.643 30.4366 -0.101692 \n283.131 19.0463 21.9824 \n249.69 -6.04586 13.9249 \n346.997 44.0351 -42.7518 \n323.569 10.637 -24.3332 \n278.862 -0.485268 9.15872 \n356.08 38.1094 -69.1524 \n266.112 -17.9711 -28.8245 \n312.919 -10.3815 -64.32 \n327.451 -6.55761 -99.3756 \n366.359 35.0336 -147.975 \n331.169 28.5077 -155.758 \n238.968 57.0355 5.97671 \n194.961 46.0818 -28.4138 \n366.987 55.8747 -134.857 \n332.438 46.3655 -156.428 \n330.458 60.3293 -148.792 \n270.742 -17.8702 -75.7047 \n193.165 -17.9711 -60.6781 \n207.166 -17.8816 -100.715 \n315.245 -7.49325 -122.187 \n271.617 -0.540421 -140.36 \n191.851 30.2561 -22.8106 \n261.291 24.6679 -144.9 \n174.985 34.2069 -64.3559 \n182.738 49.174 -61.1658 \n205.043 45.9578 -114.111 \n189.956 20.7248 -98.389 \n256.503 45.961 -132.036 \n214.549 51.9421 -93.9612 \n198.157 58.6823 -68.3008 \n213.711 -17.6871 -14.3689 \n272.684 54.2263 11.6187 \n250.76 68.4253 -5.44451 \n358.881 65.9304 -127.263 \n322.612 72.1754 -140.99 \n259.941 64.3076 -115.828 \n343.808 61.3127 -84.0403 \n368.752 56.2373 -106.697 \n370.222 35.2785 -121.868 \n327.992 73.7546 -111.778 \n357.093 63.295 -102.702 \n213.944 65.7142 -42.6521 \n302.239 77.7546 -79.6021 \n335.164 62.5011 -56.8518 \n335.164 62.5011 -56.8518 \n313.643 30.4366 -0.101692 \n346.997 44.0351 -42.7518 \n313.643 30.4366 -0.101692 \n323.569 10.637 -24.3332 \n313.643 30.4366 -0.101692 \n278.862 -0.485268 9.15872 \n313.643 30.4366 -0.101692 \n283.131 19.0463 21.9824 \n278.862 -0.485268 9.15872 \n249.69 -6.04586 13.9249 \n278.862 -0.485268 9.15872 \n213.711 -17.6871 -14.3689 \n323.569 10.637 -24.3332 \n278.862 -0.485268 9.15872 \n266.112 -17.9711 -28.8245 \n323.569 10.637 -24.3332 \n266.112 -17.9711 -28.8245 \n312.919 -10.3815 -64.32 \n331.169 28.5077 -155.758 \n315.245 -7.49325 -122.187 \n245.328 39.0562 23.5475 \n194.961 46.0818 -28.4138 \n245.328 39.0562 23.5475 \n245.328 39.0562 23.5475 \n191.851 30.2561 -22.8106 \n213.711 -17.6871 -14.3689 \n245.328 39.0562 23.5475 \n213.711 -17.6871 -14.3689 \n249.69 -6.04586 13.9249 \n366.359 35.0336 -147.975 \n331.169 28.5077 -155.758 \n366.987 55.8747 -134.857 \n331.169 28.5077 -155.758 \n366.987 55.8747 -134.857 \n332.438 46.3655 -156.428 \n366.987 55.8747 -134.857 \n330.458 60.3293 -148.792 \n266.112 -17.9711 -28.8245 \n270.742 -17.8702 -75.7047 \n193.165 -17.9711 -60.6781 \n315.245 -7.49325 -122.187 \n270.742 -17.8702 -75.7047 \n207.166 -17.8816 -100.715 \n315.245 -7.49325 -122.187 \n207.166 -17.8816 -100.715 \n271.617 -0.540421 -140.36 \n213.944 65.7142 -42.6521 \n214.549 51.9421 -93.9612 \n174.985 34.2069 -64.3559 \n205.043 45.9578 -114.111 \n189.956 20.7248 -98.389 \n189.956 20.7248 -98.389 \n261.291 24.6679 -144.9 \n207.166 -17.8816 -100.715 \n261.291 24.6679 -144.9 \n271.617 -0.540421 -140.36 \n207.166 -17.8816 -100.715 \n191.851 30.2561 -22.8106 \n194.961 46.0818 -28.4138 \n182.738 49.174 -61.1658 \n191.851 30.2561 -22.8106 \n182.738 49.174 -61.1658 \n174.985 34.2069 -64.3559 \n191.851 30.2561 -22.8106 \n174.985 34.2069 -64.3559 \n193.165 -17.9711 -60.6781 \n191.851 30.2561 -22.8106 \n193.165 -17.9711 -60.6781 \n213.711 -17.6871 -14.3689 \n266.112 -17.9711 -28.8245 \n213.711 -17.6871 -14.3689 \n193.165 -17.9711 -60.6781 \n174.985 34.2069 -64.3559 \n189.956 20.7248 -98.389 \n207.166 -17.8816 -100.715 \n174.985 34.2069 -64.3559 \n207.166 -17.8816 -100.715 \n193.165 -17.9711 -60.6781 \n272.684 54.2263 11.6187 \n335.164 62.5011 -56.8518 \n250.76 68.4253 -5.44451 \n335.164 62.5011 -56.8518 \n272.684 54.2263 11.6187 \n250.76 68.4253 -5.44451 \n238.968 57.0355 5.97671 \n272.684 54.2263 11.6187 \n238.968 57.0355 5.97671 \n245.328 39.0562 23.5475 \n358.881 65.9304 -127.263 \n330.458 60.3293 -148.792 \n327.992 73.7546 -111.778 \n330.458 60.3293 -148.792 \n335.164 62.5011 -56.8518 \n346.997 44.0351 -42.7518 \n356.08 38.1094 -69.1524 \n335.164 62.5011 -56.8518 \n356.08 38.1094 -69.1524 \n356.08 38.1094 -69.1524 \n271.617 -0.540421 -140.36 \n261.291 24.6679 -144.9 \n332.438 46.3655 -156.428 \n271.617 -0.540421 -140.36 \n332.438 46.3655 -156.428 \n331.169 28.5077 -155.758 \n261.291 24.6679 -144.9 \n256.503 45.961 -132.036 \n330.458 60.3293 -148.792 \n261.291 24.6679 -144.9 \n330.458 60.3293 -148.792 \n332.438 46.3655 -156.428 \n256.503 45.961 -132.036 \n259.941 64.3076 -115.828 \n322.612 72.1754 -140.99 \n256.503 45.961 -132.036 \n322.612 72.1754 -140.99 \n330.458 60.3293 -148.792 \n358.881 65.9304 -127.263 \n368.752 56.2373 -106.697 \n358.881 65.9304 -127.263 \n368.752 56.2373 -106.697 \n366.987 55.8747 -134.857 \n366.987 55.8747 -134.857 \n368.752 56.2373 -106.697 \n370.222 35.2785 -121.868 \n366.987 55.8747 -134.857 \n370.222 35.2785 -121.868 \n366.359 35.0336 -147.975 \n213.944 65.7142 -42.6521 \n194.961 46.0818 -28.4138 \n238.968 57.0355 5.97671 \n213.944 65.7142 -42.6521 \n238.968 57.0355 5.97671 \n250.76 68.4253 -5.44451 \n256.503 45.961 -132.036 \n189.956 20.7248 -98.389 \n205.043 45.9578 -114.111 \n205.043 45.9578 -114.111 \n182.738 49.174 -61.1658 \n198.157 58.6823 -68.3008 \n205.043 45.9578 -114.111 \n198.157 58.6823 -68.3008 \n214.549 51.9421 -93.9612 \n182.738 49.174 -61.1658 \n194.961 46.0818 -28.4138 \n213.944 65.7142 -42.6521 \n182.738 49.174 -61.1658 \n213.944 65.7142 -42.6521 \n198.157 58.6823 -68.3008 \n259.941 64.3076 -115.828 \n256.503 45.961 -132.036 \n205.043 45.9578 -114.111 \n259.941 64.3076 -115.828 \n205.043 45.9578 -114.111 \n214.549 51.9421 -93.9612 \n335.164 62.5011 -56.8518 \n343.808 61.3127 -84.0403 \n327.992 73.7546 -111.778 \n335.164 62.5011 -56.8518 \n327.992 73.7546 -111.778 \n302.239 77.7546 -79.6021 \n249.69 -6.04586 13.9249 \n278.862 -0.485268 9.15872 \n283.131 19.0463 21.9824 \n356.08 38.1094 -69.1524 \n368.752 56.2373 -106.697 \n357.093 63.295 -102.702 \n356.08 38.1094 -69.1524 \n357.093 63.295 -102.702 \n343.808 61.3127 -84.0403 \n327.992 73.7546 -111.778 \n343.808 61.3127 -84.0403 \n357.093 63.295 -102.702 \n327.992 73.7546 -111.778 \n357.093 63.295 -102.702 \n358.881 65.9304 -127.263 \n270.742 -17.8702 -75.7047 \n315.245 -7.49325 -122.187 \n327.451 -6.55761 -99.3756 \n270.742 -17.8702 -75.7047 \n327.451 -6.55761 -99.3756 \n312.919 -10.3815 -64.32 \n315.245 -7.49325 -122.187 \n366.359 35.0336 -147.975 \n370.222 35.2785 -121.868 \n315.245 -7.49325 -122.187 \n370.222 35.2785 -121.868 \n327.451 -6.55761 -99.3756 \n266.112 -17.9711 -28.8245 \n270.742 -17.8702 -75.7047 \n312.919 -10.3815 -64.32 \n370.222 35.2785 -121.868 \n356.08 38.1094 -69.1524 \n327.451 -6.55761 -99.3756 \n302.239 77.7546 -79.6021 \n327.992 73.7546 -111.778 \n322.612 72.1754 -140.99 \n302.239 77.7546 -79.6021 \n322.612 72.1754 -140.99 \n259.941 64.3076 -115.828 \n283.131 19.0463 21.9824 \n313.643 30.4366 -0.101692 \n272.684 54.2263 11.6187 \n283.131 19.0463 21.9824 \n272.684 54.2263 11.6187 \n245.328 39.0562 23.5475 \n302.239 77.7546 -79.6021 \n259.941 64.3076 -115.828 \n213.944 65.7142 -42.6521 \n302.239 77.7546 -79.6021 \n213.944 65.7142 -42.6521 \n250.76 68.4253 -5.44451 \n323.569 10.637 -24.3332 \n312.919 -10.3815 -64.32 \n356.08 38.1094 -69.1524 \n323.569 10.637 -24.3332 \n356.08 38.1094 -69.1524 \n346.997 44.0351 -42.7518 \n3 45 33 1 \n3 46 47 4 \n3 0 3 2 \n3 48 49 5 \n3 6 50 51 \n3 52 53 54 \n3 7 9 10 \n3 55 56 32 \n3 57 58 8 \n3 59 60 61 \n3 62 63 64 \n3 12 11 21 \n3 65 66 22 \n3 14 23 67 \n3 68 69 13 \n3 70 71 72 \n3 73 74 75 \n3 15 76 77 \n3 78 79 16 \n3 80 81 17 \n3 82 83 35 \n3 18 84 19 \n3 85 86 20 \n3 87 88 89 \n3 90 91 92 \n3 43 37 30 \n3 93 94 31 \n3 25 26 27 \n3 95 96 28 \n3 97 29 24 \n3 98 99 100 \n3 101 102 103 \n3 104 105 106 \n3 107 108 109 \n3 110 111 112 \n3 113 114 115 \n3 116 117 118 \n3 119 120 121 \n3 122 123 124 \n3 34 125 126 \n3 127 128 44 \n3 129 130 131 \n3 132 133 134 \n3 41 135 136 \n3 137 138 36 \n3 139 140 141 \n3 142 143 38 \n3 144 40 39 \n3 145 146 147 \n3 148 149 150 \n3 151 152 153 \n3 154 155 156 \n3 157 158 159 \n3 160 161 162 \n3 163 42 164 \n3 165 166 167 \n3 168 169 170 \n3 171 172 173 \n3 174 175 176 \n3 177 178 179 \n3 180 181 182 \n3 183 184 185 \n3 186 187 188 \n3 189 190 191 \n3 192 193 194 \n3 195 196 197 \n3 198 199 200 \n3 201 202 203 \n3 204 205 206 \n3 207 208 209 \n3 210 211 212 \n3 213 214 215 \n3 216 217 218 \n3 219 220 221 \n3 222 223 224 \n3 225 226 227 \n3 228 229 230 \n3 231 232 233 \n3 234 235 236 \n3 237 238 239 \n3 240 241 242 \n3 243 244 245 \n3 246 247 248 \n3 249 250 251 \n3 252 253 254 \n3 255 256 257 \n3 258 259 260 \n3 261 262 263 \n"
  },
  {
    "path": "data/rockd.ply",
    "content": "ply\nformat ascii 1.0\ncomment VCGLIB generated\nelement vertex 262\nproperty float x\nproperty float y\nproperty float z\nelement face 88\nproperty list uchar int vertex_indices\nend_header\n19.9397 33.7067 215.469 \n-0.589424 96.4548 198.608 \n189.244 -35.4552 185.737 \n50.9102 -10.2855 208.919 \n217.02 -53.6149 130.369 \n-93.4873 29.3112 118.616 \n-58.7937 -38.5161 130.229 \n-13.6899 -67.515 123.203 \n176.641 -80.4642 122.434 \n86.4913 -85.6788 151.65 \n156.631 -94.017 125.56 \n47.27 -91.1425 25.547 \n99.3815 -88.7859 -23.2863 \n157.945 -52.7238 -21.7596 \n211.651 47.1336 93.215 \n176.279 63.759 182.758 \n212.544 0.925209 52.0837 \n-57.934 -26.0852 24.8629 \n-48.7612 56.3265 -15.157 \n10.6914 47.3135 -78.2112 \n96.2731 15.9141 -107.74 \n180.473 32.3284 -36.9047 \n133.285 116.097 144.072 \n187.417 89.2819 73.1988 \n116.823 136.729 75.5371 \n25.019 138.909 143.352 \n62.2399 121.962 43.1 \n153.329 101.64 34.9345 \n113.506 59.0127 -88.3981 \n-81.005 65.4108 74.8244 \n-11.5091 117.404 57.6372 \n80.8213 -90.7687 -9.38067 \n58.3932 24.3245 -112.114 \n108.334 122.188 36.5491 \n62.3755 54.7449 -85.5304 \n117.972 -89.4212 139.94 \n141.223 -31.8021 207.822 \n114.617 55.6342 207.823 \n69.1776 110.29 181.788 \n-71.4987 15.9975 4.50008 \n18.0154 -25.7752 -45.0227 \n97.3129 -43.5182 -95.4332 \n172.429 -13.8027 -43.7867 \n69.0927 -40.3043 -90.6678 \n201.971 10.8265 -0.643982 \n187.417 89.2819 73.1988 \n-0.589424 96.4548 198.608 \n-58.7937 -38.5161 130.229 \n86.4913 -85.6788 151.65 \n86.4913 -85.6788 151.65 \n141.223 -31.8021 207.822 \n50.9102 -10.2855 208.919 \n176.641 -80.4642 122.434 \n189.244 -35.4552 185.737 \n-58.7937 -38.5161 130.229 \n-93.4873 29.3112 118.616 \n-58.7937 -38.5161 130.229 \n-57.934 -26.0852 24.8629 \n-13.6899 -67.515 123.203 \n86.4913 -85.6788 151.65 \n-13.6899 -67.515 123.203 \n47.27 -91.1425 25.547 \n-13.6899 -67.515 123.203 \n-57.934 -26.0852 24.8629 \n47.27 -91.1425 25.547 \n117.972 -89.4212 139.94 \n47.27 -91.1425 25.547 \n117.972 -89.4212 139.94 \n86.4913 -85.6788 151.65 \n176.641 -80.4642 122.434 \n156.631 -94.017 125.56 \n176.641 -80.4642 122.434 \n99.3815 -88.7859 -23.2863 \n189.244 -35.4552 185.737 \n217.02 -53.6149 130.369 \n189.244 -35.4552 185.737 \n211.651 47.1336 93.215 \n217.02 -53.6149 130.369 \n176.641 -80.4642 122.434 \n157.945 -52.7238 -21.7596 \n217.02 -53.6149 130.369 \n157.945 -52.7238 -21.7596 \n217.02 -53.6149 130.369 \n212.544 0.925209 52.0837 \n211.651 47.1336 93.215 \n-57.934 -26.0852 24.8629 \n-57.934 -26.0852 24.8629 \n18.0154 -25.7752 -45.0227 \n47.27 -91.1425 25.547 \n10.6914 47.3135 -78.2112 \n69.0927 -40.3043 -90.6678 \n18.0154 -25.7752 -45.0227 \n180.473 32.3284 -36.9047 \n97.3129 -43.5182 -95.4332 \n-0.589424 96.4548 198.608 \n133.285 116.097 144.072 \n187.417 89.2819 73.1988 \n212.544 0.925209 52.0837 \n157.945 -52.7238 -21.7596 \n172.429 -13.8027 -43.7867 \n212.544 0.925209 52.0837 \n172.429 -13.8027 -43.7867 \n25.019 138.909 143.352 \n116.823 136.729 75.5371 \n25.019 138.909 143.352 \n62.2399 121.962 43.1 \n62.2399 121.962 43.1 \n116.823 136.729 75.5371 \n187.417 89.2819 73.1988 \n180.473 32.3284 -36.9047 \n153.329 101.64 34.9345 \n180.473 32.3284 -36.9047 \n113.506 59.0127 -88.3981 \n108.334 122.188 36.5491 \n113.506 59.0127 -88.3981 \n108.334 122.188 36.5491 \n153.329 101.64 34.9345 \n113.506 59.0127 -88.3981 \n96.2731 15.9141 -107.74 \n58.3932 24.3245 -112.114 \n113.506 59.0127 -88.3981 \n58.3932 24.3245 -112.114 \n62.3755 54.7449 -85.5304 \n113.506 59.0127 -88.3981 \n180.473 32.3284 -36.9047 \n96.2731 15.9141 -107.74 \n-0.589424 96.4548 198.608 \n25.019 138.909 143.352 \n-0.589424 96.4548 198.608 \n-81.005 65.4108 74.8244 \n-93.4873 29.3112 118.616 \n-11.5091 117.404 57.6372 \n-81.005 65.4108 74.8244 \n-57.934 -26.0852 24.8629 \n-93.4873 29.3112 118.616 \n-81.005 65.4108 74.8244 \n-57.934 -26.0852 24.8629 \n-81.005 65.4108 74.8244 \n-71.4987 15.9975 4.50008 \n-48.7612 56.3265 -15.157 \n-11.5091 117.404 57.6372 \n62.2399 121.962 43.1 \n-48.7612 56.3265 -15.157 \n62.2399 121.962 43.1 \n10.6914 47.3135 -78.2112 \n19.9397 33.7067 215.469 \n69.1776 110.29 181.788 \n19.9397 33.7067 215.469 \n69.1776 110.29 181.788 \n-0.589424 96.4548 198.608 \n211.651 47.1336 93.215 \n212.544 0.925209 52.0837 \n201.971 10.8265 -0.643982 \n-58.7937 -38.5161 130.229 \n-13.6899 -67.515 123.203 \n50.9102 -10.2855 208.919 \n-58.7937 -38.5161 130.229 \n50.9102 -10.2855 208.919 \n19.9397 33.7067 215.469 \n114.617 55.6342 207.823 \n19.9397 33.7067 215.469 \n50.9102 -10.2855 208.919 \n114.617 55.6342 207.823 \n50.9102 -10.2855 208.919 \n141.223 -31.8021 207.822 \n-81.005 65.4108 74.8244 \n25.019 138.909 143.352 \n-11.5091 117.404 57.6372 \n62.3755 54.7449 -85.5304 \n10.6914 47.3135 -78.2112 \n62.2399 121.962 43.1 \n62.3755 54.7449 -85.5304 \n62.2399 121.962 43.1 \n108.334 122.188 36.5491 \n58.3932 24.3245 -112.114 \n10.6914 47.3135 -78.2112 \n62.3755 54.7449 -85.5304 \n153.329 101.64 34.9345 \n108.334 122.188 36.5491 \n116.823 136.729 75.5371 \n153.329 101.64 34.9345 \n116.823 136.729 75.5371 \n187.417 89.2819 73.1988 \n80.8213 -90.7687 -9.38067 \n99.3815 -88.7859 -23.2863 \n156.631 -94.017 125.56 \n80.8213 -90.7687 -9.38067 \n156.631 -94.017 125.56 \n117.972 -89.4212 139.94 \n156.631 -94.017 125.56 \n189.244 -35.4552 185.737 \n141.223 -31.8021 207.822 \n156.631 -94.017 125.56 \n141.223 -31.8021 207.822 \n117.972 -89.4212 139.94 \n141.223 -31.8021 207.822 \n189.244 -35.4552 185.737 \n176.279 63.759 182.758 \n141.223 -31.8021 207.822 \n176.279 63.759 182.758 \n114.617 55.6342 207.823 \n114.617 55.6342 207.823 \n176.279 63.759 182.758 \n133.285 116.097 144.072 \n114.617 55.6342 207.823 \n133.285 116.097 144.072 \n69.1776 110.29 181.788 \n133.285 116.097 144.072 \n116.823 136.729 75.5371 \n25.019 138.909 143.352 \n133.285 116.097 144.072 \n25.019 138.909 143.352 \n69.1776 110.29 181.788 \n96.2731 15.9141 -107.74 \n97.3129 -43.5182 -95.4332 \n69.0927 -40.3043 -90.6678 \n96.2731 15.9141 -107.74 \n69.0927 -40.3043 -90.6678 \n58.3932 24.3245 -112.114 \n-71.4987 15.9975 4.50008 \n-48.7612 56.3265 -15.157 \n10.6914 47.3135 -78.2112 \n-71.4987 15.9975 4.50008 \n10.6914 47.3135 -78.2112 \n18.0154 -25.7752 -45.0227 \n80.8213 -90.7687 -9.38067 \n47.27 -91.1425 25.547 \n18.0154 -25.7752 -45.0227 \n80.8213 -90.7687 -9.38067 \n18.0154 -25.7752 -45.0227 \n69.0927 -40.3043 -90.6678 \n157.945 -52.7238 -21.7596 \n99.3815 -88.7859 -23.2863 \n97.3129 -43.5182 -95.4332 \n157.945 -52.7238 -21.7596 \n97.3129 -43.5182 -95.4332 \n172.429 -13.8027 -43.7867 \n99.3815 -88.7859 -23.2863 \n80.8213 -90.7687 -9.38067 \n69.0927 -40.3043 -90.6678 \n99.3815 -88.7859 -23.2863 \n69.0927 -40.3043 -90.6678 \n97.3129 -43.5182 -95.4332 \n-81.005 65.4108 74.8244 \n-48.7612 56.3265 -15.157 \n-71.4987 15.9975 4.50008 \n172.429 -13.8027 -43.7867 \n180.473 32.3284 -36.9047 \n201.971 10.8265 -0.643982 \n180.473 32.3284 -36.9047 \n180.473 32.3284 -36.9047 \n187.417 89.2819 73.1988 \n211.651 47.1336 93.215 \n201.971 10.8265 -0.643982 \n180.473 32.3284 -36.9047 \n211.651 47.1336 93.215 \n133.285 116.097 144.072 \n176.279 63.759 182.758 \n211.651 47.1336 93.215 \n133.285 116.097 144.072 \n211.651 47.1336 93.215 \n187.417 89.2819 73.1988 \n3 1 5 6 \n3 46 47 0 \n3 7 9 3 \n3 48 35 36 \n3 49 50 51 \n3 8 4 2 \n3 52 53 10 \n3 54 55 17 \n3 56 57 58 \n3 11 59 60 \n3 61 62 63 \n3 64 31 65 \n3 66 67 68 \n3 69 70 12 \n3 71 72 13 \n3 73 74 14 \n3 75 76 15 \n3 77 78 79 \n3 80 81 16 \n3 82 83 84 \n3 85 39 40 \n3 86 87 88 \n3 19 32 43 \n3 89 90 91 \n3 21 42 41 \n3 92 93 20 \n3 25 94 38 \n3 22 45 23 \n3 95 96 24 \n3 97 98 99 \n3 100 101 44 \n3 102 103 26 \n3 104 105 30 \n3 33 106 107 \n3 27 108 109 \n3 110 111 28 \n3 112 34 113 \n3 114 115 116 \n3 117 118 119 \n3 120 121 122 \n3 123 124 125 \n3 126 127 29 \n3 128 129 130 \n3 131 18 132 \n3 133 134 135 \n3 136 137 138 \n3 139 140 141 \n3 142 143 144 \n3 145 37 146 \n3 147 148 149 \n3 150 151 152 \n3 153 154 155 \n3 156 157 158 \n3 159 160 161 \n3 162 163 164 \n3 165 166 167 \n3 168 169 170 \n3 171 172 173 \n3 174 175 176 \n3 177 178 179 \n3 180 181 182 \n3 183 184 185 \n3 186 187 188 \n3 189 190 191 \n3 192 193 194 \n3 195 196 197 \n3 198 199 200 \n3 201 202 203 \n3 204 205 206 \n3 207 208 209 \n3 210 211 212 \n3 213 214 215 \n3 216 217 218 \n3 219 220 221 \n3 222 223 224 \n3 225 226 227 \n3 228 229 230 \n3 231 232 233 \n3 234 235 236 \n3 237 238 239 \n3 240 241 242 \n3 243 244 245 \n3 246 247 248 \n3 249 23 45 \n3 250 251 252 \n3 253 254 255 \n3 256 257 258 \n3 259 260 261 \n"
  },
  {
    "path": "data/rocke.ply",
    "content": "ply\nformat ascii 1.0\ncomment VCGLIB generated\nelement vertex 384\nproperty float x\nproperty float y\nproperty float z\nelement face 128\nproperty list uchar int vertex_indices\nend_header\n-86.9658 99.3089 33.5768 \n-103.241 83.162 19.8402 \n-141.517 50.9242 104.962 \n-80.2849 115.93 69.8117 \n-200.826 -13.995 135.053 \n-184.755 16.6594 152.924 \n-200.226 10.7008 174.59 \n-111.036 121.163 10.2691 \n-93.3583 128.322 26.674 \n-101.151 112.197 139.299 \n-145.294 89.9188 176.027 \n-113.408 130.069 127.623 \n-147.28 153.151 76.4603 \n-212.157 100.026 187.752 \n-122.35 66.219 8.33476 \n-174.719 48.0176 -9.12937 \n-153.566 85.2295 -13.6578 \n-134.456 118.496 -5.91167 \n-279.233 15.7299 181.188 \n-261.771 65.5076 197.5 \n-261.081 85.3952 183.244 \n-288.175 38.8978 171.829 \n-283.603 16.8475 159.074 \n-275.297 0.970116 166.102 \n-221.604 133.761 30.1639 \n-208.498 123.516 129.861 \n-224.088 56.6224 -1.60147 \n-190.528 89.66 -12.0945 \n-200.918 -23.4491 67.5651 \n-193.081 13.0262 34.6882 \n-240.133 98.0358 3.18643 \n-284.024 71.0912 26.4181 \n-277.349 98.8502 28.6418 \n-283.946 94.6396 83.2977 \n-256.92 113.805 93.1622 \n-278.706 45.6333 28.8624 \n-229.511 40.5074 17.2063 \n-192.661 121.654 -2.44162 \n-116.826 144.67 26.7839 \n-99.8048 152.362 69.2293 \n-86.7645 141.878 67.4776 \n-130.667 42.7137 56.111 \n-168.85 2.5274 73.2784 \n-151.109 5.99358 10.6138 \n-266.385 -5.45551 138.445 \n-279.79 7.52004 138.866 \n-300.597 51.6512 129.102 \n-268.395 3.42068 116.502 \n-239.713 7.6801 191.541 \n-223.923 -12.1991 157.282 \n-190.131 79.1704 197.211 \n-220.779 48.771 198.673 \n-238.455 64.7915 201.613 \n-254.538 96.2992 149.044 \n-301.055 63.3954 144.245 \n-247.201 -14.1578 160.744 \n-295.294 64.4312 72.4552 \n-242.34 -18.7414 118.104 \n-261.636 1.07533 188.149 \n-170.495 132.755 136.457 \n-134.393 130.854 3.53785 \n-145.235 146.715 27.034 \n-181.565 135.261 7.20693 \n-264.278 16.4152 72.7218 \n-277.813 44.044 30.2074 \n-283.284 76.4746 159.819 \n-86.9658 99.3089 33.5768 \n-86.9658 99.3089 33.5768 \n-111.036 121.163 10.2691 \n-111.036 121.163 10.2691 \n-103.241 83.162 19.8402 \n-184.755 16.6594 152.924 \n-145.294 89.9188 176.027 \n-141.517 50.9242 104.962 \n-145.294 89.9188 176.027 \n-101.151 112.197 139.299 \n-145.294 89.9188 176.027 \n-113.408 130.069 127.623 \n-170.495 132.755 136.457 \n-113.408 130.069 127.623 \n-147.28 153.151 76.4603 \n-113.408 130.069 127.623 \n-122.35 66.219 8.33476 \n-111.036 121.163 10.2691 \n-122.35 66.219 8.33476 \n-134.456 118.496 -5.91167 \n-122.35 66.219 8.33476 \n-153.566 85.2295 -13.6578 \n-279.233 15.7299 181.188 \n-261.081 85.3952 183.244 \n-279.233 15.7299 181.188 \n-288.175 38.8978 171.829 \n-279.233 15.7299 181.188 \n-283.603 16.8475 159.074 \n-170.495 132.755 136.457 \n-147.28 153.151 76.4603 \n-170.495 132.755 136.457 \n-221.604 133.761 30.1639 \n-174.719 48.0176 -9.12937 \n-174.719 48.0176 -9.12937 \n-190.528 89.66 -12.0945 \n-153.566 85.2295 -13.6578 \n-200.918 -23.4491 67.5651 \n-229.511 40.5074 17.2063 \n-224.088 56.6224 -1.60147 \n-240.133 98.0358 3.18643 \n-284.024 71.0912 26.4181 \n-229.511 40.5074 17.2063 \n-277.813 44.044 30.2074 \n-229.511 40.5074 17.2063 \n-264.278 16.4152 72.7218 \n-153.566 85.2295 -13.6578 \n-190.528 89.66 -12.0945 \n-153.566 85.2295 -13.6578 \n-192.661 121.654 -2.44162 \n-134.456 118.496 -5.91167 \n-221.604 133.761 30.1639 \n-192.661 121.654 -2.44162 \n-221.604 133.761 30.1639 \n-192.661 121.654 -2.44162 \n-240.133 98.0358 3.18643 \n-181.565 135.261 7.20693 \n-221.604 133.761 30.1639 \n-147.28 153.151 76.4603 \n-181.565 135.261 7.20693 \n-147.28 153.151 76.4603 \n-99.8048 152.362 69.2293 \n-113.408 130.069 127.623 \n-101.151 112.197 139.299 \n-99.8048 152.362 69.2293 \n-101.151 112.197 139.299 \n-103.241 83.162 19.8402 \n-86.9658 99.3089 33.5768 \n-103.241 83.162 19.8402 \n-151.109 5.99358 10.6138 \n-122.35 66.219 8.33476 \n-151.109 5.99358 10.6138 \n-86.9658 99.3089 33.5768 \n-130.667 42.7137 56.111 \n-130.667 42.7137 56.111 \n-141.517 50.9242 104.962 \n-130.667 42.7137 56.111 \n-168.85 2.5274 73.2784 \n-151.109 5.99358 10.6138 \n-275.297 0.970116 166.102 \n-279.79 7.52004 138.866 \n-275.297 0.970116 166.102 \n-283.603 16.8475 159.074 \n-200.826 -13.995 135.053 \n-200.226 10.7008 174.59 \n-223.923 -12.1991 157.282 \n-200.226 10.7008 174.59 \n-200.226 10.7008 174.59 \n-200.226 10.7008 174.59 \n-220.779 48.771 198.673 \n-239.713 7.6801 191.541 \n-261.081 85.3952 183.244 \n-261.771 65.5076 197.5 \n-261.081 85.3952 183.244 \n-238.455 64.7915 201.613 \n-208.498 123.516 129.861 \n-288.175 38.8978 171.829 \n-261.081 85.3952 183.244 \n-283.284 76.4746 159.819 \n-283.603 16.8475 159.074 \n-283.284 76.4746 159.819 \n-283.603 16.8475 159.074 \n-288.175 38.8978 171.829 \n-266.385 -5.45551 138.445 \n-275.297 0.970116 166.102 \n-279.233 15.7299 181.188 \n-275.297 0.970116 166.102 \n-261.636 1.07533 188.149 \n-275.297 0.970116 166.102 \n-247.201 -14.1578 160.744 \n-279.233 15.7299 181.188 \n-261.636 1.07533 188.149 \n-238.455 64.7915 201.613 \n-279.233 15.7299 181.188 \n-238.455 64.7915 201.613 \n-261.771 65.5076 197.5 \n-224.088 56.6224 -1.60147 \n-174.719 48.0176 -9.12937 \n-193.081 13.0262 34.6882 \n-224.088 56.6224 -1.60147 \n-193.081 13.0262 34.6882 \n-229.511 40.5074 17.2063 \n-193.081 13.0262 34.6882 \n-174.719 48.0176 -9.12937 \n-151.109 5.99358 10.6138 \n-256.92 113.805 93.1622 \n-277.349 98.8502 28.6418 \n-283.946 94.6396 83.2977 \n-277.349 98.8502 28.6418 \n-284.024 71.0912 26.4181 \n-283.946 94.6396 83.2977 \n-284.024 71.0912 26.4181 \n-295.294 64.4312 72.4552 \n-284.024 71.0912 26.4181 \n-278.706 45.6333 28.8624 \n-278.706 45.6333 28.8624 \n-284.024 71.0912 26.4181 \n-224.088 56.6224 -1.60147 \n-278.706 45.6333 28.8624 \n-224.088 56.6224 -1.60147 \n-229.511 40.5074 17.2063 \n-301.055 63.3954 144.245 \n-283.946 94.6396 83.2977 \n-300.597 51.6512 129.102 \n-283.946 94.6396 83.2977 \n-295.294 64.4312 72.4552 \n-301.055 63.3954 144.245 \n-300.597 51.6512 129.102 \n-279.79 7.52004 138.866 \n-301.055 63.3954 144.245 \n-279.79 7.52004 138.866 \n-283.603 16.8475 159.074 \n-200.918 -23.4491 67.5651 \n-200.826 -13.995 135.053 \n-242.34 -18.7414 118.104 \n-200.826 -13.995 135.053 \n-223.923 -12.1991 157.282 \n-242.34 -18.7414 118.104 \n-266.385 -5.45551 138.445 \n-279.79 7.52004 138.866 \n-242.34 -18.7414 118.104 \n-279.79 7.52004 138.866 \n-151.109 5.99358 10.6138 \n-168.85 2.5274 73.2784 \n-200.918 -23.4491 67.5651 \n-268.395 3.42068 116.502 \n-264.278 16.4152 72.7218 \n-200.918 -23.4491 67.5651 \n-268.395 3.42068 116.502 \n-200.918 -23.4491 67.5651 \n-242.34 -18.7414 118.104 \n-200.918 -23.4491 67.5651 \n-193.081 13.0262 34.6882 \n-151.109 5.99358 10.6138 \n-221.604 133.761 30.1639 \n-240.133 98.0358 3.18643 \n-277.349 98.8502 28.6418 \n-221.604 133.761 30.1639 \n-277.349 98.8502 28.6418 \n-256.92 113.805 93.1622 \n-256.92 113.805 93.1622 \n-208.498 123.516 129.861 \n-221.604 133.761 30.1639 \n-86.7645 141.878 67.4776 \n-101.151 112.197 139.299 \n-80.2849 115.93 69.8117 \n-190.528 89.66 -12.0945 \n-224.088 56.6224 -1.60147 \n-240.133 98.0358 3.18643 \n-190.528 89.66 -12.0945 \n-240.133 98.0358 3.18643 \n-192.661 121.654 -2.44162 \n-80.2849 115.93 69.8117 \n-86.9658 99.3089 33.5768 \n-93.3583 128.322 26.674 \n-80.2849 115.93 69.8117 \n-93.3583 128.322 26.674 \n-86.7645 141.878 67.4776 \n-261.636 1.07533 188.149 \n-239.713 7.6801 191.541 \n-220.779 48.771 198.673 \n-261.636 1.07533 188.149 \n-220.779 48.771 198.673 \n-238.455 64.7915 201.613 \n-190.131 79.1704 197.211 \n-212.157 100.026 187.752 \n-238.455 64.7915 201.613 \n-190.131 79.1704 197.211 \n-238.455 64.7915 201.613 \n-220.779 48.771 198.673 \n-190.131 79.1704 197.211 \n-200.226 10.7008 174.59 \n-184.755 16.6594 152.924 \n-190.131 79.1704 197.211 \n-184.755 16.6594 152.924 \n-145.294 89.9188 176.027 \n-200.918 -23.4491 67.5651 \n-168.85 2.5274 73.2784 \n-200.826 -13.995 135.053 \n-174.719 48.0176 -9.12937 \n-122.35 66.219 8.33476 \n-151.109 5.99358 10.6138 \n-247.201 -14.1578 160.744 \n-223.923 -12.1991 157.282 \n-239.713 7.6801 191.541 \n-247.201 -14.1578 160.744 \n-239.713 7.6801 191.541 \n-261.636 1.07533 188.149 \n-242.34 -18.7414 118.104 \n-223.923 -12.1991 157.282 \n-247.201 -14.1578 160.744 \n-242.34 -18.7414 118.104 \n-247.201 -14.1578 160.744 \n-266.385 -5.45551 138.445 \n-200.826 -13.995 135.053 \n-168.85 2.5274 73.2784 \n-141.517 50.9242 104.962 \n-200.826 -13.995 135.053 \n-141.517 50.9242 104.962 \n-184.755 16.6594 152.924 \n-212.157 100.026 187.752 \n-208.498 123.516 129.861 \n-254.538 96.2992 149.044 \n-212.157 100.026 187.752 \n-254.538 96.2992 149.044 \n-261.081 85.3952 183.244 \n-208.498 123.516 129.861 \n-212.157 100.026 187.752 \n-170.495 132.755 136.457 \n-145.294 89.9188 176.027 \n-170.495 132.755 136.457 \n-212.157 100.026 187.752 \n-145.294 89.9188 176.027 \n-212.157 100.026 187.752 \n-190.131 79.1704 197.211 \n-93.3583 128.322 26.674 \n-99.8048 152.362 69.2293 \n-93.3583 128.322 26.674 \n-99.8048 152.362 69.2293 \n-86.7645 141.878 67.4776 \n-111.036 121.163 10.2691 \n-134.456 118.496 -5.91167 \n-116.826 144.67 26.7839 \n-93.3583 128.322 26.674 \n-111.036 121.163 10.2691 \n-116.826 144.67 26.7839 \n-111.036 121.163 10.2691 \n-134.393 130.854 3.53785 \n-116.826 144.67 26.7839 \n-145.235 146.715 27.034 \n-147.28 153.151 76.4603 \n-116.826 144.67 26.7839 \n-147.28 153.151 76.4603 \n-99.8048 152.362 69.2293 \n-145.235 146.715 27.034 \n-116.826 144.67 26.7839 \n-134.393 130.854 3.53785 \n-145.235 146.715 27.034 \n-134.393 130.854 3.53785 \n-181.565 135.261 7.20693 \n-192.661 121.654 -2.44162 \n-181.565 135.261 7.20693 \n-134.393 130.854 3.53785 \n-192.661 121.654 -2.44162 \n-134.393 130.854 3.53785 \n-134.456 118.496 -5.91167 \n-279.79 7.52004 138.866 \n-300.597 51.6512 129.102 \n-268.395 3.42068 116.502 \n-295.294 64.4312 72.4552 \n-264.278 16.4152 72.7218 \n-268.395 3.42068 116.502 \n-295.294 64.4312 72.4552 \n-268.395 3.42068 116.502 \n-300.597 51.6512 129.102 \n-277.813 44.044 30.2074 \n-264.278 16.4152 72.7218 \n-295.294 64.4312 72.4552 \n-277.813 44.044 30.2074 \n-295.294 64.4312 72.4552 \n-278.706 45.6333 28.8624 \n-261.081 85.3952 183.244 \n-254.538 96.2992 149.044 \n-283.284 76.4746 159.819 \n-254.538 96.2992 149.044 \n-256.92 113.805 93.1622 \n-283.946 94.6396 83.2977 \n-283.284 76.4746 159.819 \n-254.538 96.2992 149.044 \n-283.946 94.6396 83.2977 \n-283.284 76.4746 159.819 \n-283.946 94.6396 83.2977 \n-301.055 63.3954 144.245 \n-130.667 42.7137 56.111 \n-80.2849 115.93 69.8117 \n-101.151 112.197 139.299 \n-130.667 42.7137 56.111 \n-101.151 112.197 139.299 \n-141.517 50.9242 104.962 \n3 41 0 3 \n3 4 5 6 \n3 66 1 7 \n3 67 68 8 \n3 69 70 14 \n3 10 71 2 \n3 72 73 9 \n3 74 75 11 \n3 76 77 59 \n3 12 78 79 \n3 80 81 39 \n3 82 15 16 \n3 17 83 84 \n3 85 86 87 \n3 18 19 20 \n3 88 89 21 \n3 90 91 22 \n3 92 93 23 \n3 94 95 24 \n3 96 97 25 \n3 98 26 27 \n3 99 100 101 \n3 28 63 36 \n3 102 103 29 \n3 30 104 31 \n3 105 106 32 \n3 64 35 107 \n3 108 109 110 \n3 111 112 37 \n3 113 114 115 \n3 116 62 117 \n3 118 119 120 \n3 121 122 123 \n3 124 125 61 \n3 126 127 128 \n3 129 130 40 \n3 131 132 43 \n3 133 134 135 \n3 136 137 138 \n3 139 140 42 \n3 141 142 143 \n3 45 44 144 \n3 145 146 147 \n3 49 148 149 \n3 150 151 48 \n3 152 50 51 \n3 153 154 155 \n3 156 157 52 \n3 158 159 13 \n3 160 34 53 \n3 161 162 65 \n3 163 54 164 \n3 165 166 167 \n3 168 55 169 \n3 58 170 171 \n3 172 173 174 \n3 175 176 177 \n3 178 179 180 \n3 181 182 183 \n3 184 185 186 \n3 187 188 189 \n3 33 190 191 \n3 192 193 194 \n3 56 195 196 \n3 197 198 199 \n3 200 201 202 \n3 203 204 205 \n3 46 206 207 \n3 208 209 210 \n3 211 212 213 \n3 214 215 216 \n3 57 217 218 \n3 219 220 221 \n3 222 223 224 \n3 225 226 47 \n3 227 228 229 \n3 230 231 232 \n3 233 234 235 \n3 236 237 238 \n3 239 240 241 \n3 242 243 244 \n3 245 246 247 \n3 248 249 250 \n3 251 252 253 \n3 254 255 256 \n3 257 258 259 \n3 260 261 262 \n3 263 264 265 \n3 266 267 268 \n3 269 270 271 \n3 272 273 274 \n3 275 276 277 \n3 278 279 280 \n3 281 282 283 \n3 284 285 286 \n3 287 288 289 \n3 290 291 292 \n3 293 294 295 \n3 296 297 298 \n3 299 300 301 \n3 302 303 304 \n3 305 306 307 \n3 308 309 310 \n3 311 312 313 \n3 314 315 316 \n3 317 318 319 \n3 320 38 321 \n3 322 323 324 \n3 325 326 60 \n3 327 328 329 \n3 330 331 332 \n3 333 334 335 \n3 336 337 338 \n3 339 340 341 \n3 342 343 344 \n3 345 346 347 \n3 348 349 350 \n3 351 352 353 \n3 354 355 356 \n3 357 358 359 \n3 360 361 362 \n3 363 364 365 \n3 366 367 368 \n3 369 370 371 \n3 372 373 374 \n3 375 376 377 \n3 378 379 380 \n3 381 382 383 \n"
  },
  {
    "path": "data/rockf.ply",
    "content": "ply\nformat ascii 1.0\ncomment VCGLIB generated\nelement vertex 222\nproperty float x\nproperty float y\nproperty float z\nelement face 74\nproperty list uchar int vertex_indices\nend_header\n-82.6085 100.366 326.172 \n-50.6199 111.32 243.309 \n-20.1171 76.837 278.72 \n-28.5661 33.3359 331.937 \n-14.735 38.0734 234.723 \n-6.8853 9.23911 291.893 \n-53.0747 9.78361 207.756 \n-60.4906 77.1219 206.672 \n-84.0119 -13.109 180.137 \n-54.3078 -43.2069 224.002 \n-98.8716 -61.2195 213.065 \n-142.818 -4.61951 198.526 \n-162.888 -45.3708 234.662 \n-215.849 68.8848 300.456 \n-165.414 71.1302 197.132 \n-223.593 13.2188 242.888 \n-229.777 45.5972 246.697 \n-211.061 88.1296 249.017 \n-166.179 93.0677 203.175 \n-164.82 -59.7831 324.733 \n-130.647 -13.527 381.994 \n-200.13 -78.0723 289.672 \n-248.868 33.684 288.661 \n-247.072 -5.18608 280.841 \n-180.608 62.0848 365.886 \n-238.593 43.3626 337.985 \n-218.965 13.3609 355.593 \n-261.361 15.5488 315.614 \n-84.9863 -14.5663 367.049 \n-188.865 -46.744 342.839 \n-108.641 121.653 248.09 \n-94.0517 117.321 273.633 \n-12.8924 -5.16477 244.923 \n-102.778 88.7188 178.251 \n-209.404 -66.7509 320.044 \n-155.842 26.1904 387.247 \n-83.4633 32.4964 371.374 \n-145.711 79.9249 359.309 \n-89.0302 112.731 205.479 \n-82.6085 100.366 326.172 \n-50.6199 111.32 243.309 \n-20.1171 76.837 278.72 \n-82.6085 100.366 326.172 \n-6.8853 9.23911 291.893 \n-82.6085 100.366 326.172 \n-50.6199 111.32 243.309 \n-60.4906 77.1219 206.672 \n-50.6199 111.32 243.309 \n-14.735 38.0734 234.723 \n-53.0747 9.78361 207.756 \n-12.8924 -5.16477 244.923 \n-53.0747 9.78361 207.756 \n-53.0747 9.78361 207.756 \n-102.778 88.7188 178.251 \n-60.4906 77.1219 206.672 \n-6.8853 9.23911 291.893 \n-28.5661 33.3359 331.937 \n-6.8853 9.23911 291.893 \n-83.4633 32.4964 371.374 \n-84.0119 -13.109 180.137 \n-53.0747 9.78361 207.756 \n-54.3078 -43.2069 224.002 \n-84.0119 -13.109 180.137 \n-54.3078 -43.2069 224.002 \n-84.0119 -13.109 180.137 \n-98.8716 -61.2195 213.065 \n-142.818 -4.61951 198.526 \n-98.8716 -61.2195 213.065 \n-82.6085 100.366 326.172 \n-94.0517 117.321 273.633 \n-145.711 79.9249 359.309 \n-94.0517 117.321 273.633 \n-28.5661 33.3359 331.937 \n-82.6085 100.366 326.172 \n-145.711 79.9249 359.309 \n-28.5661 33.3359 331.937 \n-145.711 79.9249 359.309 \n-83.4633 32.4964 371.374 \n-142.818 -4.61951 198.526 \n-162.888 -45.3708 234.662 \n-165.414 71.1302 197.132 \n-162.888 -45.3708 234.662 \n-166.179 93.0677 203.175 \n-211.061 88.1296 249.017 \n-98.8716 -61.2195 213.065 \n-54.3078 -43.2069 224.002 \n-164.82 -59.7831 324.733 \n-98.8716 -61.2195 213.065 \n-164.82 -59.7831 324.733 \n-162.888 -45.3708 234.662 \n-200.13 -78.0723 289.672 \n-162.888 -45.3708 234.662 \n-247.072 -5.18608 280.841 \n-223.593 13.2188 242.888 \n-180.608 62.0848 365.886 \n-218.965 13.3609 355.593 \n-218.965 13.3609 355.593 \n-238.593 43.3626 337.985 \n-20.1171 76.837 278.72 \n-14.735 38.0734 234.723 \n-50.6199 111.32 243.309 \n-215.849 68.8848 300.456 \n-94.0517 117.321 273.633 \n-108.641 121.653 248.09 \n-215.849 68.8848 300.456 \n-108.641 121.653 248.09 \n-211.061 88.1296 249.017 \n-229.777 45.5972 246.697 \n-223.593 13.2188 242.888 \n-247.072 -5.18608 280.841 \n-229.777 45.5972 246.697 \n-247.072 -5.18608 280.841 \n-248.868 33.684 288.661 \n-215.849 68.8848 300.456 \n-211.061 88.1296 249.017 \n-248.868 33.684 288.661 \n-211.061 88.1296 249.017 \n-229.777 45.5972 246.697 \n-12.8924 -5.16477 244.923 \n-84.9863 -14.5663 367.049 \n-54.3078 -43.2069 224.002 \n-12.8924 -5.16477 244.923 \n-6.8853 9.23911 291.893 \n-84.9863 -14.5663 367.049 \n-89.0302 112.731 205.479 \n-108.641 121.653 248.09 \n-94.0517 117.321 273.633 \n-89.0302 112.731 205.479 \n-94.0517 117.321 273.633 \n-50.6199 111.32 243.309 \n-165.414 71.1302 197.132 \n-223.593 13.2188 242.888 \n-229.777 45.5972 246.697 \n-165.414 71.1302 197.132 \n-229.777 45.5972 246.697 \n-166.179 93.0677 203.175 \n-20.1171 76.837 278.72 \n-6.8853 9.23911 291.893 \n-12.8924 -5.16477 244.923 \n-20.1171 76.837 278.72 \n-12.8924 -5.16477 244.923 \n-14.735 38.0734 234.723 \n-60.4906 77.1219 206.672 \n-102.778 88.7188 178.251 \n-89.0302 112.731 205.479 \n-102.778 88.7188 178.251 \n-84.0119 -13.109 180.137 \n-142.818 -4.61951 198.526 \n-102.778 88.7188 178.251 \n-142.818 -4.61951 198.526 \n-165.414 71.1302 197.132 \n-164.82 -59.7831 324.733 \n-54.3078 -43.2069 224.002 \n-84.9863 -14.5663 367.049 \n-164.82 -59.7831 324.733 \n-84.9863 -14.5663 367.049 \n-130.647 -13.527 381.994 \n-162.888 -45.3708 234.662 \n-98.8716 -61.2195 213.065 \n-200.13 -78.0723 289.672 \n-215.849 68.8848 300.456 \n-248.868 33.684 288.661 \n-261.361 15.5488 315.614 \n-215.849 68.8848 300.456 \n-261.361 15.5488 315.614 \n-238.593 43.3626 337.985 \n-218.965 13.3609 355.593 \n-188.865 -46.744 342.839 \n-130.647 -13.527 381.994 \n-218.965 13.3609 355.593 \n-130.647 -13.527 381.994 \n-155.842 26.1904 387.247 \n-83.4633 32.4964 371.374 \n-155.842 26.1904 387.247 \n-130.647 -13.527 381.994 \n-83.4633 32.4964 371.374 \n-130.647 -13.527 381.994 \n-84.9863 -14.5663 367.049 \n-180.608 62.0848 365.886 \n-145.711 79.9249 359.309 \n-215.849 68.8848 300.456 \n-180.608 62.0848 365.886 \n-215.849 68.8848 300.456 \n-238.593 43.3626 337.985 \n-145.711 79.9249 359.309 \n-180.608 62.0848 365.886 \n-155.842 26.1904 387.247 \n-145.711 79.9249 359.309 \n-155.842 26.1904 387.247 \n-83.4633 32.4964 371.374 \n-261.361 15.5488 315.614 \n-248.868 33.684 288.661 \n-247.072 -5.18608 280.841 \n-218.965 13.3609 355.593 \n-261.361 15.5488 315.614 \n-218.965 13.3609 355.593 \n-209.404 -66.7509 320.044 \n-188.865 -46.744 342.839 \n-166.179 93.0677 203.175 \n-102.778 88.7188 178.251 \n-165.414 71.1302 197.132 \n-209.404 -66.7509 320.044 \n-164.82 -59.7831 324.733 \n-188.865 -46.744 342.839 \n-209.404 -66.7509 320.044 \n-200.13 -78.0723 289.672 \n-164.82 -59.7831 324.733 \n-209.404 -66.7509 320.044 \n-261.361 15.5488 315.614 \n-247.072 -5.18608 280.841 \n-209.404 -66.7509 320.044 \n-247.072 -5.18608 280.841 \n-200.13 -78.0723 289.672 \n-53.0747 9.78361 207.756 \n-60.4906 77.1219 206.672 \n-14.735 38.0734 234.723 \n-166.179 93.0677 203.175 \n-108.641 121.653 248.09 \n-89.0302 112.731 205.479 \n-166.179 93.0677 203.175 \n-89.0302 112.731 205.479 \n-102.778 88.7188 178.251 \n3 0 2 1 \n3 39 40 31 \n3 5 41 42 \n3 43 44 3 \n3 7 38 45 \n3 46 47 4 \n3 6 48 32 \n3 49 50 9 \n3 51 8 33 \n3 52 53 54 \n3 55 56 36 \n3 57 58 28 \n3 59 60 61 \n3 62 63 10 \n3 11 64 65 \n3 66 67 12 \n3 37 68 69 \n3 70 71 13 \n3 72 73 74 \n3 75 76 77 \n3 14 78 79 \n3 80 81 15 \n3 18 16 17 \n3 82 83 30 \n3 29 19 20 \n3 84 85 86 \n3 87 88 21 \n3 89 90 23 \n3 91 92 93 \n3 24 25 26 \n3 94 95 35 \n3 27 96 97 \n3 98 99 100 \n3 101 102 103 \n3 104 105 106 \n3 107 108 109 \n3 110 111 22 \n3 112 113 114 \n3 115 116 117 \n3 118 119 120 \n3 121 122 123 \n3 124 125 126 \n3 127 128 129 \n3 130 131 132 \n3 133 134 135 \n3 136 137 138 \n3 139 140 141 \n3 142 143 144 \n3 145 146 147 \n3 148 149 150 \n3 151 152 153 \n3 154 155 156 \n3 157 158 159 \n3 160 161 162 \n3 163 164 165 \n3 166 167 168 \n3 169 170 171 \n3 172 173 174 \n3 175 176 177 \n3 178 179 180 \n3 181 182 183 \n3 184 185 186 \n3 187 188 189 \n3 190 191 192 \n3 193 194 34 \n3 195 196 197 \n3 198 199 200 \n3 201 202 203 \n3 204 205 206 \n3 207 208 209 \n3 210 211 212 \n3 213 214 215 \n3 216 217 218 \n3 219 220 221 \n"
  },
  {
    "path": "data/rope.obj",
    "content": "# Asset ''\nmtllib F:\\sw\\physx\\research\\ParticleMeshEditor\\data\\rope.mtl\nv -0.99891597 -0.025108 0.011856\nv -0.98002398 -0.027734 0.001345\nv -0.98002398 -0.013309 0.007319\nv -0.99891597 -0.009496 0.011856\nv -0.986523986 -0.001561 -0.000647\nv -0.99891597 -0.00169 0\nv -0.99891597 -0.00169 0\nv -0.986523986 -0.001561 -0.000647\nv -0.993023992 -0.004236 -0.014587\nv -0.99891597 -0.009496 -0.011856\nv -0.993023992 -0.018658999 -0.020561\nv -0.99891597 -0.025108 -0.011856\nv -0.986523986 -0.030408001 -0.012595\nv -0.99891597 -0.032914001 0\nv -0.967631996 -0.026137 -0.009371\nv -0.967631996 -0.015097 0.001669\nv -0.974132001 -0.001194 -0.001194\nv -0.974132001 -0.001194 -0.001194\nv -0.980632007 0.001669 -0.015097\nv -0.980632007 -0.009371 -0.026137\nv -0.974132001 -0.023274001 -0.023274001\nv -0.955240011 -0.020561 -0.018658999\nv -0.955240011 -0.014587 -0.004236\nv -0.961740017 -0.000647 -0.001561\nv -0.961740017 -0.000647 -0.001561\nv -0.968240023 0.007319 -0.013309\nv -0.968240023 0.001345 -0.027734\nv -0.961740017 -0.012595 -0.030408001\nv -0.942848027 -0.011856 -0.025108\nv -0.942848027 -0.011856 -0.009496\nv -0.949347973 0 -0.00169\nv -0.949347973 0 -0.00169\nv -0.955847979 0.011856 -0.009496\nv -0.955847979 0.011856 -0.025108\nv -0.949347973 0 -0.032914001\nv -0.930455983 -0.001345 -0.027734\nv -0.930455983 -0.007319 -0.013309\nv -0.936955988 0.000647 -0.001561\nv -0.936955988 0.000647 -0.001561\nv -0.943454981 0.014587 -0.004236\nv -0.943454981 0.020561 -0.018658999\nv -0.936955988 0.012595 -0.030408001\nv -0.918063998 0.009371 -0.026137\nv -0.918063998 -0.001669 -0.015097\nv -0.924564004 0.001194 -0.001194\nv -0.924564004 0.001194 -0.001194\nv -0.931062996 0.015097 0.001669\nv -0.931062996 0.026137 -0.009371\nv -0.924564004 0.023274001 -0.023274001\nv -0.905672014 0.018658999 -0.020561\nv -0.905672014 0.004236 -0.014587\nv -0.912171006 0.001561 -0.000647\nv -0.912171006 0.001561 -0.000647\nv -0.918671012 0.013309 0.007319\nv -0.918671012 0.027734 0.001345\nv -0.912171006 0.030408001 -0.012595\nv -0.893279016 0.025108 -0.011856\nv -0.893279016 0.009496 -0.011856\nv -0.899779022 0.00169 0\nv -0.899779022 0.00169 0\nv -0.906279027 0.009496 0.011856\nv -0.906279027 0.025108 0.011856\nv -0.899779022 0.032914001 0\nv -0.880886018 0.027734 -0.001345\nv -0.880886018 0.013309 -0.007319\nv -0.887386978 0.001561 0.000647\nv -0.887386978 0.001561 0.000647\nv -0.893886983 0.004236 0.014587\nv -0.893886983 0.018658999 0.020561\nv -0.887386978 0.030408001 0.012595\nv -0.868493974 0.026137 0.009371\nv -0.868493974 0.015097 -0.001669\nv -0.874994993 0.001194 0.001194\nv -0.874994993 0.001194 0.001194\nv -0.881494999 -0.001669 0.015097\nv -0.881494999 0.009371 0.026137\nv -0.874994993 0.023274001 0.023274001\nv -0.85610199 0.020561 0.018658999\nv -0.85610199 0.014587 0.004236\nv -0.862603009 0.000647 0.001561\nv -0.862603009 0.000647 0.001561\nv -0.869103014 -0.007319 0.013309\nv -0.869103014 -0.001345 0.027734\nv -0.862603009 0.012595 0.030408001\nv -0.843710005 0.011856 0.025108\nv -0.843710005 0.011856 0.009496\nv -0.850211024 0 0.00169\nv -0.850211024 0 0.00169\nv -0.85671097 -0.011856 0.009496\nv -0.85671097 -0.011856 0.025108\nv -0.850211024 0 0.032914001\nv -0.831318021 0.001345 0.027734\nv -0.831318021 0.007319 0.013309\nv -0.83781898 -0.000647 0.001561\nv -0.83781898 -0.000647 0.001561\nv -0.844318986 -0.014587 0.004236\nv -0.844318986 -0.020561 0.018658999\nv -0.83781898 -0.012595 0.030408001\nv -0.818925023 -0.009371 0.026137\nv -0.818925023 0.001669 0.015097\nv -0.825425029 -0.001194 0.001194\nv -0.825425029 -0.001194 0.001194\nv -0.831927001 -0.015097 -0.001669\nv -0.831927001 -0.026137 0.009371\nv -0.825425029 -0.023274001 0.023274001\nv -0.806532979 -0.018658999 0.020561\nv -0.806532979 -0.004236 0.014587\nv -0.813032985 -0.001561 0.000647\nv -0.813032985 -0.001561 0.000647\nv -0.819534004 -0.013309 -0.007319\nv -0.819534004 -0.027734 -0.001345\nv -0.813032985 -0.030408001 0.012595\nv -0.798933029 -0.025108 0.011856\nv -0.798933029 -0.009496 0.011856\nv -0.798936009 -0.00169 0\nv -0.798936009 -0.00169 0\nv -0.798937023 -0.009496 -0.011856\nv -0.798937023 -0.025108 -0.011856\nv -0.798936009 -0.032914001 0\nv -0.99891597 0.022821 0.015815999\nv -0.98002398 0.015032 0.023344999\nv -0.98002398 0.012993 0.007867\nv -0.99891597 0.015015 0.002295\nv -0.986523986 0.00022 0.001674\nv -0.99891597 0.000844 0.001464\nv -0.99891597 0.000844 0.001464\nv -0.986523986 0.00022 0.001674\nv -0.993023992 -0.010515 0.010962\nv -0.99891597 -0.005519 0.014151\nv -0.993023992 -0.008477 0.02644\nv -0.99891597 0.002287 0.027671\nv -0.986523986 0.004296 0.032632001\nv -0.99891597 0.016456001 0.028503999\nv -0.967631996 0.004953 0.027319999\nv -0.967631996 0.008994 0.01224\nv -0.974132001 -0.000437 0.001631\nv -0.974132001 -0.000437 0.001631\nv -0.980632007 -0.013909 0.006103\nv -0.980632007 -0.01795 0.021183001\nv -0.974132001 -0.008519 0.031792998\nv -0.955240011 -0.005879 0.027136\nv -0.955240011 0.003625 0.014751\nv -0.961740017 -0.001029 0.00134\nv -0.961740017 -0.001029 0.00134\nv -0.968240023 -0.015187 0.000316\nv -0.968240023 -0.024691001 0.012702\nv -0.961740017 -0.020036999 0.026113\nv -0.942848027 -0.015815999 0.022821\nv -0.942848027 -0.002295 0.015015\nv -0.949347973 -0.001464 0.000844\nv -0.949347973 -0.001464 0.000844\nv -0.955847979 -0.014151 -0.005519\nv -0.955847979 -0.027671 0.002287\nv -0.949347973 -0.028503999 0.016456001\nv -0.930455983 -0.023344999 0.015032\nv -0.930455983 -0.007867 0.012993\nv -0.936955988 -0.001674 0.00022\nv -0.936955988 -0.001674 0.00022\nv -0.943454981 -0.010962 -0.010515\nv -0.943454981 -0.02644 -0.008477\nv -0.936955988 -0.032632001 0.004296\nv -0.918063998 -0.027319999 0.004953\nv -0.918063998 -0.01224 0.008994\nv -0.924564004 -0.001631 -0.000437\nv -0.924564004 -0.001631 -0.000437\nv -0.931062996 -0.006103 -0.013909\nv -0.931062996 -0.021183001 -0.01795\nv -0.924564004 -0.031792998 -0.008519\nv -0.905672014 -0.027136 -0.005879\nv -0.905672014 -0.014751 0.003625\nv -0.912171006 -0.00134 -0.001029\nv -0.912171006 -0.00134 -0.001029\nv -0.918671012 -0.000316 -0.015187\nv -0.918671012 -0.012702 -0.024691001\nv -0.912171006 -0.026113 -0.020036999\nv -0.893279016 -0.022821 -0.015815999\nv -0.893279016 -0.015015 -0.002295\nv -0.899779022 -0.000844 -0.001464\nv -0.899779022 -0.000844 -0.001464\nv -0.906279027 0.005519 -0.014151\nv -0.906279027 -0.002287 -0.027671\nv -0.899779022 -0.016456001 -0.028503999\nv -0.880886018 -0.015032 -0.023344999\nv -0.880886018 -0.012993 -0.007867\nv -0.887386978 -0.000221 -0.001674\nv -0.887386978 -0.000221 -0.001674\nv -0.893886983 0.010515 -0.010962\nv -0.893886983 0.008477 -0.02644\nv -0.887386978 -0.004296 -0.032632001\nv -0.868493974 -0.004953 -0.027319999\nv -0.868493974 -0.008994 -0.01224\nv -0.874994993 0.000437 -0.001631\nv -0.874994993 0.000437 -0.001631\nv -0.881494999 0.013909 -0.006103\nv -0.881494999 0.01795 -0.021183001\nv -0.874994993 0.008519 -0.031792998\nv -0.85610199 0.005879 -0.027136\nv -0.85610199 -0.003625 -0.014751\nv -0.862603009 0.001028 -0.00134\nv -0.862603009 0.001028 -0.00134\nv -0.869103014 0.015187 -0.000316\nv -0.869103014 0.024691001 -0.012702\nv -0.862603009 0.020036999 -0.026113\nv -0.843710005 0.015815999 -0.022821\nv -0.843710005 0.002295 -0.015015\nv -0.850211024 0.001464 -0.000844\nv -0.850211024 0.001464 -0.000844\nv -0.85671097 0.014151 0.005519\nv -0.85671097 0.027671 -0.002287\nv -0.850211024 0.028503999 -0.016456001\nv -0.831318021 0.023344999 -0.015032\nv -0.831318021 0.007867 -0.012993\nv -0.83781898 0.001674 -0.00022\nv -0.83781898 0.001674 -0.00022\nv -0.844318986 0.010962 0.010515\nv -0.844318986 0.02644 0.008477\nv -0.83781898 0.032632001 -0.004296\nv -0.818925023 0.027319999 -0.004953\nv -0.818925023 0.01224 -0.008994\nv -0.825425029 0.001631 0.000437\nv -0.825425029 0.001631 0.000437\nv -0.831927001 0.006103 0.013909\nv -0.831927001 0.021183001 0.01795\nv -0.825425029 0.031791002 0.008519\nv -0.806532979 0.027136 0.005879\nv -0.806532979 0.014751 -0.003625\nv -0.813032985 0.00134 0.001029\nv -0.813032985 0.00134 0.001029\nv -0.819534004 0.000316 0.015187\nv -0.819534004 0.012702 0.024691001\nv -0.813032985 0.026113 0.020036999\nv -0.798933029 0.022821 0.015815999\nv -0.798933029 0.015015 0.002295\nv -0.798936009 0.000844 0.001464\nv -0.798936009 0.000844 0.001464\nv -0.798937023 -0.005519 0.014151\nv -0.798937023 0.002287 0.027671\nv -0.798936009 0.016456001 0.028503999\nv -0.99891597 0.002287 -0.027671\nv -0.98002398 0.012702 -0.024691001\nv -0.98002398 0.000316 -0.015187\nv -0.99891597 -0.005519 -0.014151\nv -0.986523986 0.00134 -0.001029\nv -0.99891597 0.000844 -0.001464\nv -0.99891597 0.000844 -0.001464\nv -0.986523986 0.00134 -0.001029\nv -0.993023992 0.014751 0.003625\nv -0.99891597 0.015015 -0.002295\nv -0.993023992 0.027136 -0.005879\nv -0.99891597 0.022821 -0.015815999\nv -0.986523986 0.026113 -0.020036999\nv -0.99891597 0.016456001 -0.028503999\nv -0.967631996 0.021183001 -0.01795\nv -0.967631996 0.006103 -0.013909\nv -0.974132001 0.001631 -0.000437\nv -0.974132001 0.001631 -0.000437\nv -0.980632007 0.01224 0.008994\nv -0.980632007 0.027319999 0.004953\nv -0.974132001 0.031792998 -0.008519\nv -0.955240011 0.02644 -0.008477\nv -0.955240011 0.010962 -0.010515\nv -0.961740017 0.001674 0.00022\nv -0.961740017 0.001674 0.00022\nv -0.968240023 0.007867 0.012993\nv -0.968240023 0.023344999 0.015032\nv -0.961740017 0.032632001 0.004296\nv -0.942848027 0.027671 0.002287\nv -0.942848027 0.014151 -0.005519\nv -0.949347973 0.001464 0.000844\nv -0.949347973 0.001464 0.000844\nv -0.955847979 0.002295 0.015015\nv -0.955847979 0.015815999 0.022821\nv -0.949347973 0.028503999 0.016456001\nv -0.930455983 0.024691001 0.012702\nv -0.930455983 0.015187 0.000316\nv -0.936955988 0.001028 0.00134\nv -0.936955988 0.001028 0.00134\nv -0.943454981 -0.003625 0.014751\nv -0.943454981 0.005879 0.027136\nv -0.936955988 0.020036999 0.026113\nv -0.918063998 0.01795 0.021183001\nv -0.918063998 0.013909 0.006103\nv -0.924564004 0.000437 0.001631\nv -0.924564004 0.000437 0.001631\nv -0.931062996 -0.008994 0.01224\nv -0.931062996 -0.004953 0.027319999\nv -0.924564004 0.008519 0.031792998\nv -0.905672014 0.008477 0.02644\nv -0.905672014 0.010515 0.010962\nv -0.912171006 -0.000221 0.001674\nv -0.912171006 -0.000221 0.001674\nv -0.918671012 -0.012993 0.007867\nv -0.918671012 -0.015032 0.023344999\nv -0.912171006 -0.004296 0.032632001\nv -0.893279016 -0.002287 0.027671\nv -0.893279016 0.005519 0.014151\nv -0.899779022 -0.000844 0.001464\nv -0.899779022 -0.000844 0.001464\nv -0.906279027 -0.015015 0.002295\nv -0.906279027 -0.022821 0.015815999\nv -0.899779022 -0.016456001 0.028503999\nv -0.880886018 -0.012702 0.024691001\nv -0.880886018 -0.000316 0.015187\nv -0.887386978 -0.00134 0.001029\nv -0.887386978 -0.00134 0.001029\nv -0.893886983 -0.014751 -0.003625\nv -0.893886983 -0.027136 0.005879\nv -0.887386978 -0.026113 0.020036999\nv -0.868493974 -0.021183001 0.01795\nv -0.868493974 -0.006103 0.013909\nv -0.874994993 -0.001631 0.000437\nv -0.874994993 -0.001631 0.000437\nv -0.881494999 -0.01224 -0.008994\nv -0.881494999 -0.027319999 -0.004953\nv -0.874994993 -0.031792998 0.008519\nv -0.85610199 -0.02644 0.008477\nv -0.85610199 -0.010962 0.010515\nv -0.862603009 -0.001674 -0.00022\nv -0.862603009 -0.001674 -0.00022\nv -0.869103014 -0.007867 -0.012993\nv -0.869103014 -0.023344999 -0.015032\nv -0.862603009 -0.032632001 -0.004296\nv -0.843710005 -0.027671 -0.002287\nv -0.843710005 -0.014151 0.005519\nv -0.850211024 -0.001464 -0.000844\nv -0.850211024 -0.001464 -0.000844\nv -0.85671097 -0.002295 -0.015015\nv -0.85671097 -0.015815999 -0.022821\nv -0.850211024 -0.028503999 -0.016456001\nv -0.831318021 -0.024691001 -0.012702\nv -0.831318021 -0.015187 -0.000316\nv -0.83781898 -0.001029 -0.00134\nv -0.83781898 -0.001029 -0.00134\nv -0.844318986 0.003625 -0.014751\nv -0.844318986 -0.005879 -0.027136\nv -0.83781898 -0.020036999 -0.026113\nv -0.818925023 -0.01795 -0.021183001\nv -0.818925023 -0.013909 -0.006103\nv -0.825425029 -0.000437 -0.001631\nv -0.825425029 -0.000437 -0.001631\nv -0.831927001 0.008994 -0.01224\nv -0.831927001 0.004953 -0.027319999\nv -0.825425029 -0.008519 -0.031792998\nv -0.806532979 -0.008477 -0.02644\nv -0.806532979 -0.010515 -0.010962\nv -0.813032985 0.00022 -0.001674\nv -0.813032985 0.00022 -0.001674\nv -0.819534004 0.012993 -0.007867\nv -0.819534004 0.015032 -0.023344999\nv -0.813032985 0.004296 -0.032632001\nv -0.798933029 0.002287 -0.027671\nv -0.798933029 -0.005519 -0.014151\nv -0.798936009 0.000844 -0.001464\nv -0.798936009 0.000844 -0.001464\nv -0.798937023 0.015015 -0.002295\nv -0.798937023 0.022821 -0.015815999\nv -0.798936009 0.016456001 -0.028503999\nv -0.799154997 -0.025108 0.011856\nv -0.780261993 -0.027734 0.001345\nv -0.780261993 -0.013309 0.007319\nv -0.799154997 -0.009496 0.011856\nv -0.786763012 -0.001561 -0.000647\nv -0.799154997 -0.00169 0\nv -0.799154997 -0.00169 0\nv -0.786763012 -0.001561 -0.000647\nv -0.793263018 -0.004236 -0.014587\nv -0.799154997 -0.009496 -0.011856\nv -0.793263018 -0.018658999 -0.020561\nv -0.799154997 -0.025108 -0.011856\nv -0.786763012 -0.030408001 -0.012595\nv -0.799154997 -0.032914001 0\nv -0.767870009 -0.026137 -0.009371\nv -0.767870009 -0.015097 0.001669\nv -0.774371028 -0.001194 -0.001194\nv -0.774371028 -0.001194 -0.001194\nv -0.780870974 0.001669 -0.015097\nv -0.780870974 -0.009371 -0.026137\nv -0.774371028 -0.023274001 -0.023274001\nv -0.755478024 -0.020561 -0.018658999\nv -0.755478024 -0.014587 -0.004236\nv -0.761978984 -0.000647 -0.001561\nv -0.761978984 -0.000647 -0.001561\nv -0.76847899 0.007319 -0.013309\nv -0.76847899 0.001345 -0.027734\nv -0.761978984 -0.012595 -0.030408001\nv -0.74308598 -0.011856 -0.025108\nv -0.74308598 -0.011856 -0.009496\nv -0.749586999 0 -0.00169\nv -0.749586999 0 -0.00169\nv -0.756087005 0.011856 -0.009496\nv -0.756087005 0.011856 -0.025108\nv -0.749586999 0 -0.032914001\nv -0.730693996 -0.001345 -0.027734\nv -0.730693996 -0.007319 -0.013309\nv -0.737195015 0.000647 -0.001561\nv -0.737195015 0.000647 -0.001561\nv -0.743695021 0.014587 -0.004236\nv -0.743695021 0.020561 -0.018658999\nv -0.737195015 0.012595 -0.030408001\nv -0.718302011 0.009371 -0.026137\nv -0.718302011 -0.001669 -0.015097\nv -0.724801004 0.001194 -0.001194\nv -0.724801004 0.001194 -0.001194\nv -0.731302977 0.015097 0.001669\nv -0.731302977 0.026137 -0.009371\nv -0.724801004 0.023274001 -0.023274001\nv -0.705910027 0.018658999 -0.020561\nv -0.705910027 0.004236 -0.014587\nv -0.712409019 0.001561 -0.000647\nv -0.712409019 0.001561 -0.000647\nv -0.718910992 0.013309 0.007319\nv -0.718910992 0.027734 0.001345\nv -0.712409019 0.030408001 -0.012595\nv -0.693517029 0.025108 -0.011856\nv -0.693517029 0.009496 -0.011856\nv -0.700016975 0.00169 0\nv -0.700016975 0.00169 0\nv -0.706517994 0.009496 0.011856\nv -0.706517994 0.025108 0.011856\nv -0.700016975 0.032914001 0\nv -0.681124985 0.027734 -0.001345\nv -0.681124985 0.013309 -0.007319\nv -0.687624991 0.001561 0.000647\nv -0.687624991 0.001561 0.000647\nv -0.69412601 0.004236 0.014587\nv -0.69412601 0.018658999 0.020561\nv -0.687624991 0.030408001 0.012595\nv -0.668733001 0.026137 0.009371\nv -0.668733001 0.015097 -0.001669\nv -0.675233006 0.001194 0.001194\nv -0.675233006 0.001194 0.001194\nv -0.681733012 -0.001669 0.015097\nv -0.681733012 0.009371 0.026137\nv -0.675233006 0.023274001 0.023274001\nv -0.656341016 0.020561 0.018658999\nv -0.656341016 0.014587 0.004236\nv -0.662841022 0.000647 0.001561\nv -0.662841022 0.000647 0.001561\nv -0.669341028 -0.007319 0.013309\nv -0.669341028 -0.001345 0.027734\nv -0.662841022 0.012595 0.030408001\nv -0.643948972 0.011856 0.025108\nv -0.643948972 0.011856 0.009496\nv -0.650448978 0 0.00169\nv -0.650448978 0 0.00169\nv -0.656948984 -0.011856 0.009496\nv -0.656948984 -0.011856 0.025108\nv -0.650448978 0 0.032914001\nv -0.631556988 0.001345 0.027734\nv -0.631556988 0.007319 0.013309\nv -0.638056993 -0.000647 0.001561\nv -0.638056993 -0.000647 0.001561\nv -0.644556999 -0.014587 0.004236\nv -0.644556999 -0.020561 0.018658999\nv -0.638056993 -0.012595 0.030408001\nv -0.619165003 -0.009371 0.026137\nv -0.619165003 0.001669 0.015097\nv -0.625665009 -0.001194 0.001194\nv -0.625665009 -0.001194 0.001194\nv -0.632164001 -0.015097 -0.001669\nv -0.632164001 -0.026137 0.009371\nv -0.625665009 -0.023274001 0.023274001\nv -0.606773019 -0.018658999 0.020561\nv -0.606773019 -0.004236 0.014587\nv -0.613273025 -0.001561 0.000647\nv -0.613273025 -0.001561 0.000647\nv -0.619772017 -0.013309 -0.007319\nv -0.619772017 -0.027734 -0.001345\nv -0.613273025 -0.030408001 0.012595\nv -0.599171996 -0.025108 0.011856\nv -0.599171996 -0.009496 0.011856\nv -0.599173009 -0.00169 0\nv -0.599173009 -0.00169 0\nv -0.599174976 -0.009496 -0.011856\nv -0.599174976 -0.025108 -0.011856\nv -0.599173009 -0.032914001 0\nv -0.799154997 0.022821 0.015815999\nv -0.780261993 0.015032 0.023344999\nv -0.780261993 0.012993 0.007867\nv -0.799154997 0.015015 0.002295\nv -0.786763012 0.00022 0.001674\nv -0.799154997 0.000844 0.001464\nv -0.799154997 0.000844 0.001464\nv -0.786763012 0.00022 0.001674\nv -0.793263018 -0.010515 0.010962\nv -0.799154997 -0.005519 0.014151\nv -0.793263018 -0.008477 0.02644\nv -0.799154997 0.002287 0.027671\nv -0.786763012 0.004296 0.032632001\nv -0.799154997 0.016456001 0.028503999\nv -0.767870009 0.004953 0.027319999\nv -0.767870009 0.008994 0.01224\nv -0.774371028 -0.000437 0.001631\nv -0.774371028 -0.000437 0.001631\nv -0.780870974 -0.013909 0.006103\nv -0.780870974 -0.01795 0.021183001\nv -0.774371028 -0.008519 0.031792998\nv -0.755478024 -0.005879 0.027136\nv -0.755478024 0.003625 0.014751\nv -0.761978984 -0.001029 0.00134\nv -0.761978984 -0.001029 0.00134\nv -0.76847899 -0.015187 0.000316\nv -0.76847899 -0.024691001 0.012702\nv -0.761978984 -0.020036999 0.026113\nv -0.74308598 -0.015815999 0.022821\nv -0.74308598 -0.002295 0.015015\nv -0.749586999 -0.001464 0.000844\nv -0.749586999 -0.001464 0.000844\nv -0.756087005 -0.014151 -0.005519\nv -0.756087005 -0.027671 0.002287\nv -0.749586999 -0.028503999 0.016456001\nv -0.730693996 -0.023344999 0.015032\nv -0.730693996 -0.007867 0.012993\nv -0.737195015 -0.001674 0.00022\nv -0.737195015 -0.001674 0.00022\nv -0.743695021 -0.010962 -0.010515\nv -0.743695021 -0.02644 -0.008477\nv -0.737195015 -0.032632001 0.004296\nv -0.718302011 -0.027319999 0.004953\nv -0.718302011 -0.01224 0.008994\nv -0.724801004 -0.001631 -0.000437\nv -0.724801004 -0.001631 -0.000437\nv -0.731302977 -0.006103 -0.013909\nv -0.731302977 -0.021183001 -0.01795\nv -0.724801004 -0.031792998 -0.008519\nv -0.705910027 -0.027136 -0.005879\nv -0.705910027 -0.014751 0.003625\nv -0.712409019 -0.00134 -0.001029\nv -0.712409019 -0.00134 -0.001029\nv -0.718910992 -0.000316 -0.015187\nv -0.718910992 -0.012702 -0.024691001\nv -0.712409019 -0.026113 -0.020036999\nv -0.693517029 -0.022821 -0.015815999\nv -0.693517029 -0.015015 -0.002295\nv -0.700016975 -0.000844 -0.001464\nv -0.700016975 -0.000844 -0.001464\nv -0.706517994 0.005519 -0.014151\nv -0.706517994 -0.002287 -0.027671\nv -0.700016975 -0.016456001 -0.028503999\nv -0.681124985 -0.015032 -0.023344999\nv -0.681124985 -0.012993 -0.007867\nv -0.687624991 -0.000221 -0.001674\nv -0.687624991 -0.000221 -0.001674\nv -0.69412601 0.010515 -0.010962\nv -0.69412601 0.008477 -0.02644\nv -0.687624991 -0.004296 -0.032632001\nv -0.668733001 -0.004953 -0.027319999\nv -0.668733001 -0.008994 -0.01224\nv -0.675233006 0.000437 -0.001631\nv -0.675233006 0.000437 -0.001631\nv -0.681733012 0.013909 -0.006103\nv -0.681733012 0.01795 -0.021183001\nv -0.675233006 0.008519 -0.031792998\nv -0.656341016 0.005879 -0.027136\nv -0.656341016 -0.003625 -0.014751\nv -0.662841022 0.001028 -0.00134\nv -0.662841022 0.001028 -0.00134\nv -0.669341028 0.015187 -0.000316\nv -0.669341028 0.024691001 -0.012702\nv -0.662841022 0.020036999 -0.026113\nv -0.643948972 0.015815999 -0.022821\nv -0.643948972 0.002295 -0.015015\nv -0.650448978 0.001464 -0.000844\nv -0.650448978 0.001464 -0.000844\nv -0.656948984 0.014151 0.005519\nv -0.656948984 0.027671 -0.002287\nv -0.650448978 0.028503999 -0.016456001\nv -0.631556988 0.023344999 -0.015032\nv -0.631556988 0.007867 -0.012993\nv -0.638056993 0.001674 -0.00022\nv -0.638056993 0.001674 -0.00022\nv -0.644556999 0.010962 0.010515\nv -0.644556999 0.02644 0.008477\nv -0.638056993 0.032632001 -0.004296\nv -0.619165003 0.027319999 -0.004953\nv -0.619165003 0.01224 -0.008994\nv -0.625665009 0.001631 0.000437\nv -0.625665009 0.001631 0.000437\nv -0.632164001 0.006103 0.013909\nv -0.632164001 0.021183001 0.01795\nv -0.625665009 0.031791002 0.008519\nv -0.606773019 0.027136 0.005879\nv -0.606773019 0.014751 -0.003625\nv -0.613273025 0.00134 0.001029\nv -0.613273025 0.00134 0.001029\nv -0.619772017 0.000316 0.015187\nv -0.619772017 0.012702 0.024691001\nv -0.613273025 0.026113 0.020036999\nv -0.599171996 0.022821 0.015815999\nv -0.599171996 0.015015 0.002295\nv -0.599173009 0.000844 0.001464\nv -0.599173009 0.000844 0.001464\nv -0.599174976 -0.005519 0.014151\nv -0.599174976 0.002287 0.027671\nv -0.599173009 0.016456001 0.028503999\nv -0.799154997 0.002287 -0.027671\nv -0.780261993 0.012702 -0.024691001\nv -0.780261993 0.000316 -0.015187\nv -0.799154997 -0.005519 -0.014151\nv -0.786763012 0.00134 -0.001029\nv -0.799154997 0.000844 -0.001464\nv -0.799154997 0.000844 -0.001464\nv -0.786763012 0.00134 -0.001029\nv -0.793263018 0.014751 0.003625\nv -0.799154997 0.015015 -0.002295\nv -0.793263018 0.027136 -0.005879\nv -0.799154997 0.022821 -0.015815999\nv -0.786763012 0.026113 -0.020036999\nv -0.799154997 0.016456001 -0.028503999\nv -0.767870009 0.021183001 -0.01795\nv -0.767870009 0.006103 -0.013909\nv -0.774371028 0.001631 -0.000437\nv -0.774371028 0.001631 -0.000437\nv -0.780870974 0.01224 0.008994\nv -0.780870974 0.027319999 0.004953\nv -0.774371028 0.031792998 -0.008519\nv -0.755478024 0.02644 -0.008477\nv -0.755478024 0.010962 -0.010515\nv -0.761978984 0.001674 0.00022\nv -0.761978984 0.001674 0.00022\nv -0.76847899 0.007867 0.012993\nv -0.76847899 0.023344999 0.015032\nv -0.761978984 0.032632001 0.004296\nv -0.74308598 0.027671 0.002287\nv -0.74308598 0.014151 -0.005519\nv -0.749586999 0.001464 0.000844\nv -0.749586999 0.001464 0.000844\nv -0.756087005 0.002295 0.015015\nv -0.756087005 0.015815999 0.022821\nv -0.749586999 0.028503999 0.016456001\nv -0.730693996 0.024691001 0.012702\nv -0.730693996 0.015187 0.000316\nv -0.737195015 0.001028 0.00134\nv -0.737195015 0.001028 0.00134\nv -0.743695021 -0.003625 0.014751\nv -0.743695021 0.005879 0.027136\nv -0.737195015 0.020036999 0.026113\nv -0.718302011 0.01795 0.021183001\nv -0.718302011 0.013909 0.006103\nv -0.724801004 0.000437 0.001631\nv -0.724801004 0.000437 0.001631\nv -0.731302977 -0.008994 0.01224\nv -0.731302977 -0.004953 0.027319999\nv -0.724801004 0.008519 0.031792998\nv -0.705910027 0.008477 0.02644\nv -0.705910027 0.010515 0.010962\nv -0.712409019 -0.000221 0.001674\nv -0.712409019 -0.000221 0.001674\nv -0.718910992 -0.012993 0.007867\nv -0.718910992 -0.015032 0.023344999\nv -0.712409019 -0.004296 0.032632001\nv -0.693517029 -0.002287 0.027671\nv -0.693517029 0.005519 0.014151\nv -0.700016975 -0.000844 0.001464\nv -0.700016975 -0.000844 0.001464\nv -0.706517994 -0.015015 0.002295\nv -0.706517994 -0.022821 0.015815999\nv -0.700016975 -0.016456001 0.028503999\nv -0.681124985 -0.012702 0.024691001\nv -0.681124985 -0.000316 0.015187\nv -0.687624991 -0.00134 0.001029\nv -0.687624991 -0.00134 0.001029\nv -0.69412601 -0.014751 -0.003625\nv -0.69412601 -0.027136 0.005879\nv -0.687624991 -0.026113 0.020036999\nv -0.668733001 -0.021183001 0.01795\nv -0.668733001 -0.006103 0.013909\nv -0.675233006 -0.001631 0.000437\nv -0.675233006 -0.001631 0.000437\nv -0.681733012 -0.01224 -0.008994\nv -0.681733012 -0.027319999 -0.004953\nv -0.675233006 -0.031792998 0.008519\nv -0.656341016 -0.02644 0.008477\nv -0.656341016 -0.010962 0.010515\nv -0.662841022 -0.001674 -0.00022\nv -0.662841022 -0.001674 -0.00022\nv -0.669341028 -0.007867 -0.012993\nv -0.669341028 -0.023344999 -0.015032\nv -0.662841022 -0.032632001 -0.004296\nv -0.643948972 -0.027671 -0.002287\nv -0.643948972 -0.014151 0.005519\nv -0.650448978 -0.001464 -0.000844\nv -0.650448978 -0.001464 -0.000844\nv -0.656948984 -0.002295 -0.015015\nv -0.656948984 -0.015815999 -0.022821\nv -0.650448978 -0.028503999 -0.016456001\nv -0.631556988 -0.024691001 -0.012702\nv -0.631556988 -0.015187 -0.000316\nv -0.638056993 -0.001029 -0.00134\nv -0.638056993 -0.001029 -0.00134\nv -0.644556999 0.003625 -0.014751\nv -0.644556999 -0.005879 -0.027136\nv -0.638056993 -0.020036999 -0.026113\nv -0.619165003 -0.01795 -0.021183001\nv -0.619165003 -0.013909 -0.006103\nv -0.625665009 -0.000437 -0.001631\nv -0.625665009 -0.000437 -0.001631\nv -0.632164001 0.008994 -0.01224\nv -0.632164001 0.004953 -0.027319999\nv -0.625665009 -0.008519 -0.031792998\nv -0.606773019 -0.008477 -0.02644\nv -0.606773019 -0.010515 -0.010962\nv -0.613273025 0.00022 -0.001674\nv -0.613273025 0.00022 -0.001674\nv -0.619772017 0.012993 -0.007867\nv -0.619772017 0.015032 -0.023344999\nv -0.613273025 0.004296 -0.032632001\nv -0.599171996 0.002287 -0.027671\nv -0.599171996 -0.005519 -0.014151\nv -0.599173009 0.000844 -0.001464\nv -0.599173009 0.000844 -0.001464\nv -0.599174976 0.015015 -0.002295\nv -0.599174976 0.022821 -0.015815999\nv -0.599173009 0.016456001 -0.028503999\nv -0.599394977 -0.025108 0.011856\nv -0.58050102 -0.027734 0.001345\nv -0.58050102 -0.013309 0.007319\nv -0.599394977 -0.009496 0.011856\nv -0.587001026 -0.001561 -0.000647\nv -0.599394977 -0.00169 0\nv -0.599394977 -0.00169 0\nv -0.587001026 -0.001561 -0.000647\nv -0.593501985 -0.004236 -0.014587\nv -0.599394977 -0.009496 -0.011856\nv -0.593501985 -0.018658999 -0.020561\nv -0.599394977 -0.025108 -0.011856\nv -0.587001026 -0.030408001 -0.012595\nv -0.599394977 -0.032914001 0\nv -0.568108976 -0.026137 -0.009371\nv -0.568108976 -0.015097 0.001669\nv -0.574608982 -0.001194 -0.001194\nv -0.574608982 -0.001194 -0.001194\nv -0.581108987 0.001669 -0.015097\nv -0.581108987 -0.009371 -0.026137\nv -0.574608982 -0.023274001 -0.023274001\nv -0.555716991 -0.020561 -0.018658999\nv -0.555716991 -0.014587 -0.004236\nv -0.562216997 -0.000647 -0.001561\nv -0.562216997 -0.000647 -0.001561\nv -0.568717003 0.007319 -0.013309\nv -0.568717003 0.001345 -0.027734\nv -0.562216997 -0.012595 -0.030408001\nv -0.543325007 -0.011856 -0.025108\nv -0.543325007 -0.011856 -0.009496\nv -0.549825013 0 -0.00169\nv -0.549825013 0 -0.00169\nv -0.556325018 0.011856 -0.009496\nv -0.556325018 0.011856 -0.025108\nv -0.549825013 0 -0.032914001\nv -0.530933022 -0.001345 -0.027734\nv -0.530933022 -0.007319 -0.013309\nv -0.537433028 0.000647 -0.001561\nv -0.537433028 0.000647 -0.001561\nv -0.543932974 0.014587 -0.004236\nv -0.543932974 0.020561 -0.018658999\nv -0.537433028 0.012595 -0.030408001\nv -0.518540978 0.009371 -0.026137\nv -0.518540978 -0.001669 -0.015097\nv -0.525040984 0.001194 -0.001194\nv -0.525040984 0.001194 -0.001194\nv -0.53154099 0.015097 0.001669\nv -0.53154099 0.026137 -0.009371\nv -0.525040984 0.023274001 -0.023274001\nv -0.506148994 0.018658999 -0.020561\nv -0.506148994 0.004236 -0.014587\nv -0.512649 0.001561 -0.000647\nv -0.512649 0.001561 -0.000647\nv -0.519149005 0.013309 0.007319\nv -0.519149005 0.027734 0.001345\nv -0.512649 0.030408001 -0.012595\nv -0.49375701 0.025108 -0.011856\nv -0.49375701 0.009496 -0.011856\nv -0.500257015 0.00169 0\nv -0.500257015 0.00169 0\nv -0.506756008 0.009496 0.011856\nv -0.506756008 0.025108 0.011856\nv -0.500257015 0.032914001 0\nv -0.481364995 0.027734 -0.001345\nv -0.481364995 0.013309 -0.007319\nv -0.487863988 0.001561 0.000647\nv -0.487863988 0.001561 0.000647\nv -0.494363993 0.004236 0.014587\nv -0.494363993 0.018658999 0.020561\nv -0.487863988 0.030408001 0.012595\nv -0.468973011 0.026137 0.009371\nv -0.468973011 0.015097 -0.001669\nv -0.475472003 0.001194 0.001194\nv -0.475472003 0.001194 0.001194\nv -0.481972009 -0.001669 0.015097\nv -0.481972009 0.009371 0.026137\nv -0.475472003 0.023274001 0.023274001\nv -0.456580013 0.020561 0.018658999\nv -0.456580013 0.014587 0.004236\nv -0.463079989 0.000647 0.001561\nv -0.463079989 0.000647 0.001561\nv -0.469579995 -0.007319 0.013309\nv -0.469579995 -0.001345 0.027734\nv -0.463079989 0.012595 0.030408001\nv -0.444187999 0.011856 0.025108\nv -0.444187999 0.011856 0.009496\nv -0.450688004 0 0.00169\nv -0.450688004 0 0.00169\nv -0.45718801 -0.011856 0.009496\nv -0.45718801 -0.011856 0.025108\nv -0.450688004 0 0.032914001\nv -0.431796014 0.001345 0.027734\nv -0.431796014 0.007319 0.013309\nv -0.43829599 -0.000647 0.001561\nv -0.43829599 -0.000647 0.001561\nv -0.444795996 -0.014587 0.004236\nv -0.444795996 -0.020561 0.018658999\nv -0.43829599 -0.012595 0.030408001\nv -0.419404 -0.009371 0.026137\nv -0.419404 0.001669 0.015097\nv -0.425904006 -0.001194 0.001194\nv -0.425904006 -0.001194 0.001194\nv -0.432404011 -0.015097 -0.001669\nv -0.432404011 -0.026137 0.009371\nv -0.425904006 -0.023274001 0.023274001\nv -0.407011986 -0.018658999 0.020561\nv -0.407011986 -0.004236 0.014587\nv -0.413511992 -0.001561 0.000647\nv -0.413511992 -0.001561 0.000647\nv -0.420011997 -0.013309 -0.007319\nv -0.420011997 -0.027734 -0.001345\nv -0.413511992 -0.030408001 0.012595\nv -0.399410993 -0.025108 0.011856\nv -0.399410993 -0.009496 0.011856\nv -0.39941299 -0.00169 0\nv -0.39941299 -0.00169 0\nv -0.399414003 -0.009496 -0.011856\nv -0.399414003 -0.025108 -0.011856\nv -0.39941299 -0.032914001 0\nv -0.599394977 0.022821 0.015815999\nv -0.58050102 0.015032 0.023344999\nv -0.58050102 0.012993 0.007867\nv -0.599394977 0.015015 0.002295\nv -0.587001026 0.00022 0.001674\nv -0.599394977 0.000844 0.001464\nv -0.599394977 0.000844 0.001464\nv -0.587001026 0.00022 0.001674\nv -0.593501985 -0.010515 0.010962\nv -0.599394977 -0.005519 0.014151\nv -0.593501985 -0.008477 0.02644\nv -0.599394977 0.002287 0.027671\nv -0.587001026 0.004296 0.032632001\nv -0.599394977 0.016456001 0.028503999\nv -0.568108976 0.004953 0.027319999\nv -0.568108976 0.008994 0.01224\nv -0.574608982 -0.000437 0.001631\nv -0.574608982 -0.000437 0.001631\nv -0.581108987 -0.013909 0.006103\nv -0.581108987 -0.01795 0.021183001\nv -0.574608982 -0.008519 0.031792998\nv -0.555716991 -0.005879 0.027136\nv -0.555716991 0.003625 0.014751\nv -0.562216997 -0.001029 0.00134\nv -0.562216997 -0.001029 0.00134\nv -0.568717003 -0.015187 0.000316\nv -0.568717003 -0.024691001 0.012702\nv -0.562216997 -0.020036999 0.026113\nv -0.543325007 -0.015815999 0.022821\nv -0.543325007 -0.002295 0.015015\nv -0.549825013 -0.001464 0.000844\nv -0.549825013 -0.001464 0.000844\nv -0.556325018 -0.014151 -0.005519\nv -0.556325018 -0.027671 0.002287\nv -0.549825013 -0.028503999 0.016456001\nv -0.530933022 -0.023344999 0.015032\nv -0.530933022 -0.007867 0.012993\nv -0.537433028 -0.001674 0.00022\nv -0.537433028 -0.001674 0.00022\nv -0.543932974 -0.010962 -0.010515\nv -0.543932974 -0.02644 -0.008477\nv -0.537433028 -0.032632001 0.004296\nv -0.518540978 -0.027319999 0.004953\nv -0.518540978 -0.01224 0.008994\nv -0.525040984 -0.001631 -0.000437\nv -0.525040984 -0.001631 -0.000437\nv -0.53154099 -0.006103 -0.013909\nv -0.53154099 -0.021183001 -0.01795\nv -0.525040984 -0.031792998 -0.008519\nv -0.506148994 -0.027136 -0.005879\nv -0.506148994 -0.014751 0.003625\nv -0.512649 -0.00134 -0.001029\nv -0.512649 -0.00134 -0.001029\nv -0.519149005 -0.000316 -0.015187\nv -0.519149005 -0.012702 -0.024691001\nv -0.512649 -0.026113 -0.020036999\nv -0.49375701 -0.022821 -0.015815999\nv -0.49375701 -0.015015 -0.002295\nv -0.500257015 -0.000844 -0.001464\nv -0.500257015 -0.000844 -0.001464\nv -0.506756008 0.005519 -0.014151\nv -0.506756008 -0.002287 -0.027671\nv -0.500257015 -0.016456001 -0.028503999\nv -0.481364995 -0.015032 -0.023344999\nv -0.481364995 -0.012993 -0.007867\nv -0.487863988 -0.000221 -0.001674\nv -0.487863988 -0.000221 -0.001674\nv -0.494363993 0.010515 -0.010962\nv -0.494363993 0.008477 -0.02644\nv -0.487863988 -0.004296 -0.032632001\nv -0.468973011 -0.004953 -0.027319999\nv -0.468973011 -0.008994 -0.01224\nv -0.475472003 0.000437 -0.001631\nv -0.475472003 0.000437 -0.001631\nv -0.481972009 0.013909 -0.006103\nv -0.481972009 0.01795 -0.021183001\nv -0.475472003 0.008519 -0.031792998\nv -0.456580013 0.005879 -0.027136\nv -0.456580013 -0.003625 -0.014751\nv -0.463079989 0.001028 -0.00134\nv -0.463079989 0.001028 -0.00134\nv -0.469579995 0.015187 -0.000316\nv -0.469579995 0.024691001 -0.012702\nv -0.463079989 0.020036999 -0.026113\nv -0.444187999 0.015815999 -0.022821\nv -0.444187999 0.002295 -0.015015\nv -0.450688004 0.001464 -0.000844\nv -0.450688004 0.001464 -0.000844\nv -0.45718801 0.014151 0.005519\nv -0.45718801 0.027671 -0.002287\nv -0.450688004 0.028503999 -0.016456001\nv -0.431796014 0.023344999 -0.015032\nv -0.431796014 0.007867 -0.012993\nv -0.43829599 0.001674 -0.00022\nv -0.43829599 0.001674 -0.00022\nv -0.444795996 0.010962 0.010515\nv -0.444795996 0.02644 0.008477\nv -0.43829599 0.032632001 -0.004296\nv -0.419404 0.027319999 -0.004953\nv -0.419404 0.01224 -0.008994\nv -0.425904006 0.001631 0.000437\nv -0.425904006 0.001631 0.000437\nv -0.432404011 0.006103 0.013909\nv -0.432404011 0.021183001 0.01795\nv -0.425904006 0.031791002 0.008519\nv -0.407011986 0.027136 0.005879\nv -0.407011986 0.014751 -0.003625\nv -0.413511992 0.00134 0.001029\nv -0.413511992 0.00134 0.001029\nv -0.420011997 0.000316 0.015187\nv -0.420011997 0.012702 0.024691001\nv -0.413511992 0.026113 0.020036999\nv -0.399410993 0.022821 0.015815999\nv -0.399410993 0.015015 0.002295\nv -0.39941299 0.000844 0.001464\nv -0.39941299 0.000844 0.001464\nv -0.399414003 -0.005519 0.014151\nv -0.399414003 0.002287 0.027671\nv -0.39941299 0.016456001 0.028503999\nv -0.599394977 0.002287 -0.027671\nv -0.58050102 0.012702 -0.024691001\nv -0.58050102 0.000316 -0.015187\nv -0.599394977 -0.005519 -0.014151\nv -0.587001026 0.00134 -0.001029\nv -0.599394977 0.000844 -0.001464\nv -0.599394977 0.000844 -0.001464\nv -0.587001026 0.00134 -0.001029\nv -0.593501985 0.014751 0.003625\nv -0.599394977 0.015015 -0.002295\nv -0.593501985 0.027136 -0.005879\nv -0.599394977 0.022821 -0.015815999\nv -0.587001026 0.026113 -0.020036999\nv -0.599394977 0.016456001 -0.028503999\nv -0.568108976 0.021183001 -0.01795\nv -0.568108976 0.006103 -0.013909\nv -0.574608982 0.001631 -0.000437\nv -0.574608982 0.001631 -0.000437\nv -0.581108987 0.01224 0.008994\nv -0.581108987 0.027319999 0.004953\nv -0.574608982 0.031792998 -0.008519\nv -0.555716991 0.02644 -0.008477\nv -0.555716991 0.010962 -0.010515\nv -0.562216997 0.001674 0.00022\nv -0.562216997 0.001674 0.00022\nv -0.568717003 0.007867 0.012993\nv -0.568717003 0.023344999 0.015032\nv -0.562216997 0.032632001 0.004296\nv -0.543325007 0.027671 0.002287\nv -0.543325007 0.014151 -0.005519\nv -0.549825013 0.001464 0.000844\nv -0.549825013 0.001464 0.000844\nv -0.556325018 0.002295 0.015015\nv -0.556325018 0.015815999 0.022821\nv -0.549825013 0.028503999 0.016456001\nv -0.530933022 0.024691001 0.012702\nv -0.530933022 0.015187 0.000316\nv -0.537433028 0.001028 0.00134\nv -0.537433028 0.001028 0.00134\nv -0.543932974 -0.003625 0.014751\nv -0.543932974 0.005879 0.027136\nv -0.537433028 0.020036999 0.026113\nv -0.518540978 0.01795 0.021183001\nv -0.518540978 0.013909 0.006103\nv -0.525040984 0.000437 0.001631\nv -0.525040984 0.000437 0.001631\nv -0.53154099 -0.008994 0.01224\nv -0.53154099 -0.004953 0.027319999\nv -0.525040984 0.008519 0.031792998\nv -0.506148994 0.008477 0.02644\nv -0.506148994 0.010515 0.010962\nv -0.512649 -0.000221 0.001674\nv -0.512649 -0.000221 0.001674\nv -0.519149005 -0.012993 0.007867\nv -0.519149005 -0.015032 0.023344999\nv -0.512649 -0.004296 0.032632001\nv -0.49375701 -0.002287 0.027671\nv -0.49375701 0.005519 0.014151\nv -0.500257015 -0.000844 0.001464\nv -0.500257015 -0.000844 0.001464\nv -0.506756008 -0.015015 0.002295\nv -0.506756008 -0.022821 0.015815999\nv -0.500257015 -0.016456001 0.028503999\nv -0.481364995 -0.012702 0.024691001\nv -0.481364995 -0.000316 0.015187\nv -0.487863988 -0.00134 0.001029\nv -0.487863988 -0.00134 0.001029\nv -0.494363993 -0.014751 -0.003625\nv -0.494363993 -0.027136 0.005879\nv -0.487863988 -0.026113 0.020036999\nv -0.468973011 -0.021183001 0.01795\nv -0.468973011 -0.006103 0.013909\nv -0.475472003 -0.001631 0.000437\nv -0.475472003 -0.001631 0.000437\nv -0.481972009 -0.01224 -0.008994\nv -0.481972009 -0.027319999 -0.004953\nv -0.475472003 -0.031792998 0.008519\nv -0.456580013 -0.02644 0.008477\nv -0.456580013 -0.010962 0.010515\nv -0.463079989 -0.001674 -0.00022\nv -0.463079989 -0.001674 -0.00022\nv -0.469579995 -0.007867 -0.012993\nv -0.469579995 -0.023344999 -0.015032\nv -0.463079989 -0.032632001 -0.004296\nv -0.444187999 -0.027671 -0.002287\nv -0.444187999 -0.014151 0.005519\nv -0.450688004 -0.001464 -0.000844\nv -0.450688004 -0.001464 -0.000844\nv -0.45718801 -0.002295 -0.015015\nv -0.45718801 -0.015815999 -0.022821\nv -0.450688004 -0.028503999 -0.016456001\nv -0.431796014 -0.024691001 -0.012702\nv -0.431796014 -0.015187 -0.000316\nv -0.43829599 -0.001029 -0.00134\nv -0.43829599 -0.001029 -0.00134\nv -0.444795996 0.003625 -0.014751\nv -0.444795996 -0.005879 -0.027136\nv -0.43829599 -0.020036999 -0.026113\nv -0.419404 -0.01795 -0.021183001\nv -0.419404 -0.013909 -0.006103\nv -0.425904006 -0.000437 -0.001631\nv -0.425904006 -0.000437 -0.001631\nv -0.432404011 0.008994 -0.01224\nv -0.432404011 0.004953 -0.027319999\nv -0.425904006 -0.008519 -0.031792998\nv -0.407011986 -0.008477 -0.02644\nv -0.407011986 -0.010515 -0.010962\nv -0.413511992 0.00022 -0.001674\nv -0.413511992 0.00022 -0.001674\nv -0.420011997 0.012993 -0.007867\nv -0.420011997 0.015032 -0.023344999\nv -0.413511992 0.004296 -0.032632001\nv -0.399410993 0.002287 -0.027671\nv -0.399410993 -0.005519 -0.014151\nv -0.39941299 0.000844 -0.001464\nv -0.39941299 0.000844 -0.001464\nv -0.399414003 0.015015 -0.002295\nv -0.399414003 0.022821 -0.015815999\nv -0.39941299 0.016456001 -0.028503999\nv -0.39963299 -0.025108 0.011856\nv -0.380741 -0.027734 0.001345\nv -0.380741 -0.013309 0.007319\nv -0.39963299 -0.009496 0.011856\nv -0.387241006 -0.001561 -0.000647\nv -0.39963299 -0.00169 0\nv -0.39963299 -0.00169 0\nv -0.387241006 -0.001561 -0.000647\nv -0.393739998 -0.004236 -0.014587\nv -0.39963299 -0.009496 -0.011856\nv -0.393739998 -0.018658999 -0.020561\nv -0.39963299 -0.025108 -0.011856\nv -0.387241006 -0.030408001 -0.012595\nv -0.39963299 -0.032914001 0\nv -0.368348986 -0.026137 -0.009371\nv -0.368348986 -0.015097 0.001669\nv -0.374848008 -0.001194 -0.001194\nv -0.374848008 -0.001194 -0.001194\nv -0.381348014 0.001669 -0.015097\nv -0.381348014 -0.009371 -0.026137\nv -0.374848008 -0.023274001 -0.023274001\nv -0.355957001 -0.020561 -0.018658999\nv -0.355957001 -0.014587 -0.004236\nv -0.362455994 -0.000647 -0.001561\nv -0.362455994 -0.000647 -0.001561\nv -0.368956 0.007319 -0.013309\nv -0.368956 0.001345 -0.027734\nv -0.362455994 -0.012595 -0.030408001\nv -0.343564004 -0.011856 -0.025108\nv -0.343564004 -0.011856 -0.009496\nv -0.350064009 0 -0.00169\nv -0.350064009 0 -0.00169\nv -0.356563985 0.011856 -0.009496\nv -0.356563985 0.011856 -0.025108\nv -0.350064009 0 -0.032914001\nv -0.331171989 -0.001345 -0.027734\nv -0.331171989 -0.007319 -0.013309\nv -0.337671995 0.000647 -0.001561\nv -0.337671995 0.000647 -0.001561\nv -0.344172001 0.014587 -0.004236\nv -0.344172001 0.020561 -0.018658999\nv -0.337671995 0.012595 -0.030408001\nv -0.318780005 0.009371 -0.026137\nv -0.318780005 -0.001669 -0.015097\nv -0.325280011 0.001194 -0.001194\nv -0.325280011 0.001194 -0.001194\nv -0.331779987 0.015097 0.001669\nv -0.331779987 0.026137 -0.009371\nv -0.325280011 0.023274001 -0.023274001\nv -0.306387991 0.018658999 -0.020561\nv -0.306387991 0.004236 -0.014587\nv -0.312887996 0.001561 -0.000647\nv -0.312887996 0.001561 -0.000647\nv -0.319388002 0.013309 0.007319\nv -0.319388002 0.027734 0.001345\nv -0.312887996 0.030408001 -0.012595\nv -0.293996006 0.025108 -0.011856\nv -0.293996006 0.009496 -0.011856\nv -0.300496012 0.00169 0\nv -0.300496012 0.00169 0\nv -0.306995988 0.009496 0.011856\nv -0.306995988 0.025108 0.011856\nv -0.300496012 0.032914001 0\nv -0.281603992 0.027734 -0.001345\nv -0.281603992 0.013309 -0.007319\nv -0.288103998 0.001561 0.000647\nv -0.288103998 0.001561 0.000647\nv -0.294604003 0.004236 0.014587\nv -0.294604003 0.018658999 0.020561\nv -0.288103998 0.030408001 0.012595\nv -0.269212008 0.026137 0.009371\nv -0.269212008 0.015097 -0.001669\nv -0.275712013 0.001194 0.001194\nv -0.275712013 0.001194 0.001194\nv -0.282211006 -0.001669 0.015097\nv -0.282211006 0.009371 0.026137\nv -0.275712013 0.023274001 0.023274001\nv -0.256819993 0.020561 0.018658999\nv -0.256819993 0.014587 0.004236\nv -0.263319999 0.000647 0.001561\nv -0.263319999 0.000647 0.001561\nv -0.269818991 -0.007319 0.013309\nv -0.269818991 -0.001345 0.027734\nv -0.263319999 0.012595 0.030408001\nv -0.244425997 0.011856 0.025108\nv -0.244425997 0.011856 0.009496\nv -0.250927001 0 0.00169\nv -0.250927001 0 0.00169\nv -0.257427007 -0.011856 0.009496\nv -0.257427007 -0.011856 0.025108\nv -0.250927001 0 0.032914001\nv -0.232033998 0.001345 0.027734\nv -0.232033998 0.007319 0.013309\nv -0.238535002 -0.000647 0.001561\nv -0.238535002 -0.000647 0.001561\nv -0.245034993 -0.014587 0.004236\nv -0.245034993 -0.020561 0.018658999\nv -0.238535002 -0.012595 0.030408001\nv -0.219641998 -0.009371 0.026137\nv -0.219641998 0.001669 0.015097\nv -0.226143003 -0.001194 0.001194\nv -0.226143003 -0.001194 0.001194\nv -0.232642993 -0.015097 -0.001669\nv -0.232642993 -0.026137 0.009371\nv -0.226143003 -0.023274001 0.023274001\nv -0.207249999 -0.018658999 0.020561\nv -0.207249999 -0.004236 0.014587\nv -0.213751003 -0.001561 0.000647\nv -0.213751003 -0.001561 0.000647\nv -0.220250994 -0.013309 -0.007319\nv -0.220250994 -0.027734 -0.001345\nv -0.213751003 -0.030408001 0.012595\nv -0.199651003 -0.025108 0.011856\nv -0.199651003 -0.009496 0.011856\nv -0.199652001 -0.00169 0\nv -0.199652001 -0.00169 0\nv -0.199653 -0.009496 -0.011856\nv -0.199653 -0.025108 -0.011856\nv -0.199652001 -0.032914001 0\nv -0.39963299 0.022821 0.015815999\nv -0.380741 0.015032 0.023344999\nv -0.380741 0.012993 0.007867\nv -0.39963299 0.015015 0.002295\nv -0.387241006 0.00022 0.001674\nv -0.39963299 0.000844 0.001464\nv -0.39963299 0.000844 0.001464\nv -0.387241006 0.00022 0.001674\nv -0.393739998 -0.010515 0.010962\nv -0.39963299 -0.005519 0.014151\nv -0.393739998 -0.008477 0.02644\nv -0.39963299 0.002287 0.027671\nv -0.387241006 0.004296 0.032632001\nv -0.39963299 0.016456001 0.028503999\nv -0.368348986 0.004953 0.027319999\nv -0.368348986 0.008994 0.01224\nv -0.374848008 -0.000437 0.001631\nv -0.374848008 -0.000437 0.001631\nv -0.381348014 -0.013909 0.006103\nv -0.381348014 -0.01795 0.021183001\nv -0.374848008 -0.008519 0.031792998\nv -0.355957001 -0.005879 0.027136\nv -0.355957001 0.003625 0.014751\nv -0.362455994 -0.001029 0.00134\nv -0.362455994 -0.001029 0.00134\nv -0.368956 -0.015187 0.000316\nv -0.368956 -0.024691001 0.012702\nv -0.362455994 -0.020036999 0.026113\nv -0.343564004 -0.015815999 0.022821\nv -0.343564004 -0.002295 0.015015\nv -0.350064009 -0.001464 0.000844\nv -0.350064009 -0.001464 0.000844\nv -0.356563985 -0.014151 -0.005519\nv -0.356563985 -0.027671 0.002287\nv -0.350064009 -0.028503999 0.016456001\nv -0.331171989 -0.023344999 0.015032\nv -0.331171989 -0.007867 0.012993\nv -0.337671995 -0.001674 0.00022\nv -0.337671995 -0.001674 0.00022\nv -0.344172001 -0.010962 -0.010515\nv -0.344172001 -0.02644 -0.008477\nv -0.337671995 -0.032632001 0.004296\nv -0.318780005 -0.027319999 0.004953\nv -0.318780005 -0.01224 0.008994\nv -0.325280011 -0.001631 -0.000437\nv -0.325280011 -0.001631 -0.000437\nv -0.331779987 -0.006103 -0.013909\nv -0.331779987 -0.021183001 -0.01795\nv -0.325280011 -0.031792998 -0.008519\nv -0.306387991 -0.027136 -0.005879\nv -0.306387991 -0.014751 0.003625\nv -0.312887996 -0.00134 -0.001029\nv -0.312887996 -0.00134 -0.001029\nv -0.319388002 -0.000316 -0.015187\nv -0.319388002 -0.012702 -0.024691001\nv -0.312887996 -0.026113 -0.020036999\nv -0.293996006 -0.022821 -0.015815999\nv -0.293996006 -0.015015 -0.002295\nv -0.300496012 -0.000844 -0.001464\nv -0.300496012 -0.000844 -0.001464\nv -0.306995988 0.005519 -0.014151\nv -0.306995988 -0.002287 -0.027671\nv -0.300496012 -0.016456001 -0.028503999\nv -0.281603992 -0.015032 -0.023344999\nv -0.281603992 -0.012993 -0.007867\nv -0.288103998 -0.000221 -0.001674\nv -0.288103998 -0.000221 -0.001674\nv -0.294604003 0.010515 -0.010962\nv -0.294604003 0.008477 -0.02644\nv -0.288103998 -0.004296 -0.032632001\nv -0.269212008 -0.004953 -0.027319999\nv -0.269212008 -0.008994 -0.01224\nv -0.275712013 0.000437 -0.001631\nv -0.275712013 0.000437 -0.001631\nv -0.282211006 0.013909 -0.006103\nv -0.282211006 0.01795 -0.021183001\nv -0.275712013 0.008519 -0.031792998\nv -0.256819993 0.005879 -0.027136\nv -0.256819993 -0.003625 -0.014751\nv -0.263319999 0.001028 -0.00134\nv -0.263319999 0.001028 -0.00134\nv -0.269818991 0.015187 -0.000316\nv -0.269818991 0.024691001 -0.012702\nv -0.263319999 0.020036999 -0.026113\nv -0.244425997 0.015815999 -0.022821\nv -0.244425997 0.002295 -0.015015\nv -0.250927001 0.001464 -0.000844\nv -0.250927001 0.001464 -0.000844\nv -0.257427007 0.014151 0.005519\nv -0.257427007 0.027671 -0.002287\nv -0.250927001 0.028503999 -0.016456001\nv -0.232033998 0.023344999 -0.015032\nv -0.232033998 0.007867 -0.012993\nv -0.238535002 0.001674 -0.00022\nv -0.238535002 0.001674 -0.00022\nv -0.245034993 0.010962 0.010515\nv -0.245034993 0.02644 0.008477\nv -0.238535002 0.032632001 -0.004296\nv -0.219641998 0.027319999 -0.004953\nv -0.219641998 0.01224 -0.008994\nv -0.226143003 0.001631 0.000437\nv -0.226143003 0.001631 0.000437\nv -0.232642993 0.006103 0.013909\nv -0.232642993 0.021183001 0.01795\nv -0.226143003 0.031791002 0.008519\nv -0.207249999 0.027136 0.005879\nv -0.207249999 0.014751 -0.003625\nv -0.213751003 0.00134 0.001029\nv -0.213751003 0.00134 0.001029\nv -0.220250994 0.000316 0.015187\nv -0.220250994 0.012702 0.024691001\nv -0.213751003 0.026113 0.020036999\nv -0.199651003 0.022821 0.015815999\nv -0.199651003 0.015015 0.002295\nv -0.199652001 0.000844 0.001464\nv -0.199652001 0.000844 0.001464\nv -0.199653 -0.005519 0.014151\nv -0.199653 0.002287 0.027671\nv -0.199652001 0.016456001 0.028503999\nv -0.39963299 0.002287 -0.027671\nv -0.380741 0.012702 -0.024691001\nv -0.380741 0.000316 -0.015187\nv -0.39963299 -0.005519 -0.014151\nv -0.387241006 0.00134 -0.001029\nv -0.39963299 0.000844 -0.001464\nv -0.39963299 0.000844 -0.001464\nv -0.387241006 0.00134 -0.001029\nv -0.393739998 0.014751 0.003625\nv -0.39963299 0.015015 -0.002295\nv -0.393739998 0.027136 -0.005879\nv -0.39963299 0.022821 -0.015815999\nv -0.387241006 0.026113 -0.020036999\nv -0.39963299 0.016456001 -0.028503999\nv -0.368348986 0.021183001 -0.01795\nv -0.368348986 0.006103 -0.013909\nv -0.374848008 0.001631 -0.000437\nv -0.374848008 0.001631 -0.000437\nv -0.381348014 0.01224 0.008994\nv -0.381348014 0.027319999 0.004953\nv -0.374848008 0.031792998 -0.008519\nv -0.355957001 0.02644 -0.008477\nv -0.355957001 0.010962 -0.010515\nv -0.362455994 0.001674 0.00022\nv -0.362455994 0.001674 0.00022\nv -0.368956 0.007867 0.012993\nv -0.368956 0.023344999 0.015032\nv -0.362455994 0.032632001 0.004296\nv -0.343564004 0.027671 0.002287\nv -0.343564004 0.014151 -0.005519\nv -0.350064009 0.001464 0.000844\nv -0.350064009 0.001464 0.000844\nv -0.356563985 0.002295 0.015015\nv -0.356563985 0.015815999 0.022821\nv -0.350064009 0.028503999 0.016456001\nv -0.331171989 0.024691001 0.012702\nv -0.331171989 0.015187 0.000316\nv -0.337671995 0.001028 0.00134\nv -0.337671995 0.001028 0.00134\nv -0.344172001 -0.003625 0.014751\nv -0.344172001 0.005879 0.027136\nv -0.337671995 0.020036999 0.026113\nv -0.318780005 0.01795 0.021183001\nv -0.318780005 0.013909 0.006103\nv -0.325280011 0.000437 0.001631\nv -0.325280011 0.000437 0.001631\nv -0.331779987 -0.008994 0.01224\nv -0.331779987 -0.004953 0.027319999\nv -0.325280011 0.008519 0.031792998\nv -0.306387991 0.008477 0.02644\nv -0.306387991 0.010515 0.010962\nv -0.312887996 -0.000221 0.001674\nv -0.312887996 -0.000221 0.001674\nv -0.319388002 -0.012993 0.007867\nv -0.319388002 -0.015032 0.023344999\nv -0.312887996 -0.004296 0.032632001\nv -0.293996006 -0.002287 0.027671\nv -0.293996006 0.005519 0.014151\nv -0.300496012 -0.000844 0.001464\nv -0.300496012 -0.000844 0.001464\nv -0.306995988 -0.015015 0.002295\nv -0.306995988 -0.022821 0.015815999\nv -0.300496012 -0.016456001 0.028503999\nv -0.281603992 -0.012702 0.024691001\nv -0.281603992 -0.000316 0.015187\nv -0.288103998 -0.00134 0.001029\nv -0.288103998 -0.00134 0.001029\nv -0.294604003 -0.014751 -0.003625\nv -0.294604003 -0.027136 0.005879\nv -0.288103998 -0.026113 0.020036999\nv -0.269212008 -0.021183001 0.01795\nv -0.269212008 -0.006103 0.013909\nv -0.275712013 -0.001631 0.000437\nv -0.275712013 -0.001631 0.000437\nv -0.282211006 -0.01224 -0.008994\nv -0.282211006 -0.027319999 -0.004953\nv -0.275712013 -0.031792998 0.008519\nv -0.256819993 -0.02644 0.008477\nv -0.256819993 -0.010962 0.010515\nv -0.263319999 -0.001674 -0.00022\nv -0.263319999 -0.001674 -0.00022\nv -0.269818991 -0.007867 -0.012993\nv -0.269818991 -0.023344999 -0.015032\nv -0.263319999 -0.032632001 -0.004296\nv -0.244425997 -0.027671 -0.002287\nv -0.244425997 -0.014151 0.005519\nv -0.250927001 -0.001464 -0.000844\nv -0.250927001 -0.001464 -0.000844\nv -0.257427007 -0.002295 -0.015015\nv -0.257427007 -0.015815999 -0.022821\nv -0.250927001 -0.028503999 -0.016456001\nv -0.232033998 -0.024691001 -0.012702\nv -0.232033998 -0.015187 -0.000316\nv -0.238535002 -0.001029 -0.00134\nv -0.238535002 -0.001029 -0.00134\nv -0.245034993 0.003625 -0.014751\nv -0.245034993 -0.005879 -0.027136\nv -0.238535002 -0.020036999 -0.026113\nv -0.219641998 -0.01795 -0.021183001\nv -0.219641998 -0.013909 -0.006103\nv -0.226143003 -0.000437 -0.001631\nv -0.226143003 -0.000437 -0.001631\nv -0.232642993 0.008994 -0.01224\nv -0.232642993 0.004953 -0.027319999\nv -0.226143003 -0.008519 -0.031792998\nv -0.207249999 -0.008477 -0.02644\nv -0.207249999 -0.010515 -0.010962\nv -0.213751003 0.00022 -0.001674\nv -0.213751003 0.00022 -0.001674\nv -0.220250994 0.012993 -0.007867\nv -0.220250994 0.015032 -0.023344999\nv -0.213751003 0.004296 -0.032632001\nv -0.199651003 0.002287 -0.027671\nv -0.199651003 -0.005519 -0.014151\nv -0.199652001 0.000844 -0.001464\nv -0.199652001 0.000844 -0.001464\nv -0.199653 0.015015 -0.002295\nv -0.199653 0.022821 -0.015815999\nv -0.199652001 0.016456001 -0.028503999\nv -0.199872002 -0.025108 0.011856\nv -0.180979997 -0.027734 0.001345\nv -0.180979997 -0.013309 0.007319\nv -0.199872002 -0.009496 0.011856\nv -0.187480003 -0.001561 -0.000647\nv -0.199872002 -0.00169 0\nv -0.199872002 -0.00169 0\nv -0.187480003 -0.001561 -0.000647\nv -0.193979993 -0.004236 -0.014587\nv -0.199872002 -0.009496 -0.011856\nv -0.193979993 -0.018658999 -0.020561\nv -0.199872002 -0.025108 -0.011856\nv -0.187480003 -0.030408001 -0.012595\nv -0.199872002 -0.032914001 0\nv -0.168587998 -0.026137 -0.009371\nv -0.168587998 -0.015097 0.001669\nv -0.175088003 -0.001194 -0.001194\nv -0.175088003 -0.001194 -0.001194\nv -0.181587994 0.001669 -0.015097\nv -0.181587994 -0.009371 -0.026137\nv -0.175088003 -0.023274001 -0.023274001\nv -0.156195 -0.020561 -0.018658999\nv -0.156195 -0.014587 -0.004236\nv -0.162696004 -0.000647 -0.001561\nv -0.162696004 -0.000647 -0.001561\nv -0.169194996 0.007319 -0.013309\nv -0.169194996 0.001345 -0.027734\nv -0.162696004 -0.012595 -0.030408001\nv -0.143802002 -0.011856 -0.025108\nv -0.143802002 -0.011856 -0.009496\nv -0.150304005 0 -0.00169\nv -0.150304005 0 -0.00169\nv -0.156802997 0.011856 -0.009496\nv -0.156802997 0.011856 -0.025108\nv -0.150304005 0 -0.032914001\nv -0.131410003 -0.001345 -0.027734\nv -0.131410003 -0.007319 -0.013309\nv -0.137911007 0.000647 -0.001561\nv -0.137911007 0.000647 -0.001561\nv -0.144410998 0.014587 -0.004236\nv -0.144410998 0.020561 -0.018658999\nv -0.137911007 0.012595 -0.030408001\nv -0.119018003 0.009371 -0.026137\nv -0.119018003 -0.001669 -0.015097\nv -0.125519007 0.001194 -0.001194\nv -0.125519007 0.001194 -0.001194\nv -0.132018998 0.015097 0.001669\nv -0.132018998 0.026137 -0.009371\nv -0.125519007 0.023274001 -0.023274001\nv -0.106625997 0.018658999 -0.020561\nv -0.106625997 0.004236 -0.014587\nv -0.113126002 0.001561 -0.000647\nv -0.113126002 0.001561 -0.000647\nv -0.119626999 0.013309 0.007319\nv -0.119626999 0.027734 0.001345\nv -0.113126002 0.030408001 -0.012595\nv -0.094233997 0.025108 -0.011856\nv -0.094233997 0.009496 -0.011856\nv -0.100734003 0.00169 0\nv -0.100734003 0.00169 0\nv -0.107235 0.009496 0.011856\nv -0.107235 0.025108 0.011856\nv -0.100734003 0.032914001 0\nv -0.081841998 0.027734 -0.001345\nv -0.081841998 0.013309 -0.007319\nv -0.088342004 0.001561 0.000647\nv -0.088342004 0.001561 0.000647\nv -0.094843 0.004236 0.014587\nv -0.094843 0.018658999 0.020561\nv -0.088342004 0.030408001 0.012595\nv -0.069449998 0.026137 0.009371\nv -0.069449998 0.015097 -0.001669\nv -0.075949997 0.001194 0.001194\nv -0.075949997 0.001194 0.001194\nv -0.082451001 -0.001669 0.015097\nv -0.082451001 0.009371 0.026137\nv -0.075949997 0.023274001 0.023274001\nv -0.057057999 0.020561 0.018658999\nv -0.057057999 0.014587 0.004236\nv -0.063557997 0.000647 0.001561\nv -0.063557997 0.000647 0.001561\nv -0.070059001 -0.007319 0.013309\nv -0.070059001 -0.001345 0.027734\nv -0.063557997 0.012595 0.030408001\nv -0.044666 0.011856 0.025108\nv -0.044666 0.011856 0.009496\nv -0.051165 0 0.00169\nv -0.051165 0 0.00169\nv -0.057665002 -0.011856 0.009496\nv -0.057665002 -0.011856 0.025108\nv -0.051165 0 0.032914001\nv -0.032272998 0.001345 0.027734\nv -0.032272998 0.007319 0.013309\nv -0.038773 -0.000647 0.001561\nv -0.038773 -0.000647 0.001561\nv -0.045272999 -0.014587 0.004236\nv -0.045272999 -0.020561 0.018658999\nv -0.038773 -0.012595 0.030408001\nv -0.019881001 -0.009371 0.026137\nv -0.019881001 0.001669 0.015097\nv -0.026381001 -0.001194 0.001194\nv -0.026381001 -0.001194 0.001194\nv -0.032880999 -0.015097 -0.001669\nv -0.032880999 -0.026137 0.009371\nv -0.026381001 -0.023274001 0.023274001\nv -0.007489 -0.018658999 0.020561\nv -0.007489 -0.004236 0.014587\nv -0.013989 -0.001561 0.000647\nv -0.013989 -0.001561 0.000647\nv -0.020489 -0.013309 -0.007319\nv -0.020489 -0.027734 -0.001345\nv -0.013989 -0.030408001 0.012595\nv 0.000111 -0.025108 0.011856\nv 0.000111 -0.009496 0.011856\nv 0.00011 -0.00169 0\nv 0.00011 -0.00169 0\nv 0.000109 -0.009496 -0.011856\nv 0.000109 -0.025108 -0.011856\nv 0.00011 -0.032914001 0\nv -0.199872002 0.022821 0.015815999\nv -0.180979997 0.015032 0.023344999\nv -0.180979997 0.012993 0.007867\nv -0.199872002 0.015015 0.002295\nv -0.187480003 0.00022 0.001674\nv -0.199872002 0.000844 0.001464\nv -0.199872002 0.000844 0.001464\nv -0.187480003 0.00022 0.001674\nv -0.193979993 -0.010515 0.010962\nv -0.199872002 -0.005519 0.014151\nv -0.193979993 -0.008477 0.02644\nv -0.199872002 0.002287 0.027671\nv -0.187480003 0.004296 0.032632001\nv -0.199872002 0.016456001 0.028503999\nv -0.168587998 0.004953 0.027319999\nv -0.168587998 0.008994 0.01224\nv -0.175088003 -0.000437 0.001631\nv -0.175088003 -0.000437 0.001631\nv -0.181587994 -0.013909 0.006103\nv -0.181587994 -0.01795 0.021183001\nv -0.175088003 -0.008519 0.031792998\nv -0.156195 -0.005879 0.027136\nv -0.156195 0.003625 0.014751\nv -0.162696004 -0.001029 0.00134\nv -0.162696004 -0.001029 0.00134\nv -0.169194996 -0.015187 0.000316\nv -0.169194996 -0.024691001 0.012702\nv -0.162696004 -0.020036999 0.026113\nv -0.143802002 -0.015815999 0.022821\nv -0.143802002 -0.002295 0.015015\nv -0.150304005 -0.001464 0.000844\nv -0.150304005 -0.001464 0.000844\nv -0.156802997 -0.014151 -0.005519\nv -0.156802997 -0.027671 0.002287\nv -0.150304005 -0.028503999 0.016456001\nv -0.131410003 -0.023344999 0.015032\nv -0.131410003 -0.007867 0.012993\nv -0.137911007 -0.001674 0.00022\nv -0.137911007 -0.001674 0.00022\nv -0.144410998 -0.010962 -0.010515\nv -0.144410998 -0.02644 -0.008477\nv -0.137911007 -0.032632001 0.004296\nv -0.119018003 -0.027319999 0.004953\nv -0.119018003 -0.01224 0.008994\nv -0.125519007 -0.001631 -0.000437\nv -0.125519007 -0.001631 -0.000437\nv -0.132018998 -0.006103 -0.013909\nv -0.132018998 -0.021183001 -0.01795\nv -0.125519007 -0.031792998 -0.008519\nv -0.106625997 -0.027136 -0.005879\nv -0.106625997 -0.014751 0.003625\nv -0.113126002 -0.00134 -0.001029\nv -0.113126002 -0.00134 -0.001029\nv -0.119626999 -0.000316 -0.015187\nv -0.119626999 -0.012702 -0.024691001\nv -0.113126002 -0.026113 -0.020036999\nv -0.094233997 -0.022821 -0.015815999\nv -0.094233997 -0.015015 -0.002295\nv -0.100734003 -0.000844 -0.001464\nv -0.100734003 -0.000844 -0.001464\nv -0.107235 0.005519 -0.014151\nv -0.107235 -0.002287 -0.027671\nv -0.100734003 -0.016456001 -0.028503999\nv -0.081841998 -0.015032 -0.023344999\nv -0.081841998 -0.012993 -0.007867\nv -0.088342004 -0.000221 -0.001674\nv -0.088342004 -0.000221 -0.001674\nv -0.094843 0.010515 -0.010962\nv -0.094843 0.008477 -0.02644\nv -0.088342004 -0.004296 -0.032632001\nv -0.069449998 -0.004953 -0.027319999\nv -0.069449998 -0.008994 -0.01224\nv -0.075949997 0.000437 -0.001631\nv -0.075949997 0.000437 -0.001631\nv -0.082451001 0.013909 -0.006103\nv -0.082451001 0.01795 -0.021183001\nv -0.075949997 0.008519 -0.031792998\nv -0.057057999 0.005879 -0.027136\nv -0.057057999 -0.003625 -0.014751\nv -0.063557997 0.001028 -0.00134\nv -0.063557997 0.001028 -0.00134\nv -0.070059001 0.015187 -0.000316\nv -0.070059001 0.024691001 -0.012702\nv -0.063557997 0.020036999 -0.026113\nv -0.044666 0.015815999 -0.022821\nv -0.044666 0.002295 -0.015015\nv -0.051165 0.001464 -0.000844\nv -0.051165 0.001464 -0.000844\nv -0.057665002 0.014151 0.005519\nv -0.057665002 0.027671 -0.002287\nv -0.051165 0.028503999 -0.016456001\nv -0.032272998 0.023344999 -0.015032\nv -0.032272998 0.007867 -0.012993\nv -0.038773 0.001674 -0.00022\nv -0.038773 0.001674 -0.00022\nv -0.045272999 0.010962 0.010515\nv -0.045272999 0.02644 0.008477\nv -0.038773 0.032632001 -0.004296\nv -0.019881001 0.027319999 -0.004953\nv -0.019881001 0.01224 -0.008994\nv -0.026381001 0.001631 0.000437\nv -0.026381001 0.001631 0.000437\nv -0.032880999 0.006103 0.013909\nv -0.032880999 0.021183001 0.01795\nv -0.026381001 0.031791002 0.008519\nv -0.007489 0.027136 0.005879\nv -0.007489 0.014751 -0.003625\nv -0.013989 0.00134 0.001029\nv -0.013989 0.00134 0.001029\nv -0.020489 0.000316 0.015187\nv -0.020489 0.012702 0.024691001\nv -0.013989 0.026113 0.020036999\nv 0.000111 0.022821 0.015815999\nv 0.000111 0.015015 0.002295\nv 0.00011 0.000844 0.001464\nv 0.00011 0.000844 0.001464\nv 0.000109 -0.005519 0.014151\nv 0.000109 0.002287 0.027671\nv 0.00011 0.016456001 0.028503999\nv -0.199872002 0.002287 -0.027671\nv -0.180979997 0.012702 -0.024691001\nv -0.180979997 0.000316 -0.015187\nv -0.199872002 -0.005519 -0.014151\nv -0.187480003 0.00134 -0.001029\nv -0.199872002 0.000844 -0.001464\nv -0.199872002 0.000844 -0.001464\nv -0.187480003 0.00134 -0.001029\nv -0.193979993 0.014751 0.003625\nv -0.199872002 0.015015 -0.002295\nv -0.193979993 0.027136 -0.005879\nv -0.199872002 0.022821 -0.015815999\nv -0.187480003 0.026113 -0.020036999\nv -0.199872002 0.016456001 -0.028503999\nv -0.168587998 0.021183001 -0.01795\nv -0.168587998 0.006103 -0.013909\nv -0.175088003 0.001631 -0.000437\nv -0.175088003 0.001631 -0.000437\nv -0.181587994 0.01224 0.008994\nv -0.181587994 0.027319999 0.004953\nv -0.175088003 0.031792998 -0.008519\nv -0.156195 0.02644 -0.008477\nv -0.156195 0.010962 -0.010515\nv -0.162696004 0.001674 0.00022\nv -0.162696004 0.001674 0.00022\nv -0.169194996 0.007867 0.012993\nv -0.169194996 0.023344999 0.015032\nv -0.162696004 0.032632001 0.004296\nv -0.143802002 0.027671 0.002287\nv -0.143802002 0.014151 -0.005519\nv -0.150304005 0.001464 0.000844\nv -0.150304005 0.001464 0.000844\nv -0.156802997 0.002295 0.015015\nv -0.156802997 0.015815999 0.022821\nv -0.150304005 0.028503999 0.016456001\nv -0.131410003 0.024691001 0.012702\nv -0.131410003 0.015187 0.000316\nv -0.137911007 0.001028 0.00134\nv -0.137911007 0.001028 0.00134\nv -0.144410998 -0.003625 0.014751\nv -0.144410998 0.005879 0.027136\nv -0.137911007 0.020036999 0.026113\nv -0.119018003 0.01795 0.021183001\nv -0.119018003 0.013909 0.006103\nv -0.125519007 0.000437 0.001631\nv -0.125519007 0.000437 0.001631\nv -0.132018998 -0.008994 0.01224\nv -0.132018998 -0.004953 0.027319999\nv -0.125519007 0.008519 0.031792998\nv -0.106625997 0.008477 0.02644\nv -0.106625997 0.010515 0.010962\nv -0.113126002 -0.000221 0.001674\nv -0.113126002 -0.000221 0.001674\nv -0.119626999 -0.012993 0.007867\nv -0.119626999 -0.015032 0.023344999\nv -0.113126002 -0.004296 0.032632001\nv -0.094233997 -0.002287 0.027671\nv -0.094233997 0.005519 0.014151\nv -0.100734003 -0.000844 0.001464\nv -0.100734003 -0.000844 0.001464\nv -0.107235 -0.015015 0.002295\nv -0.107235 -0.022821 0.015815999\nv -0.100734003 -0.016456001 0.028503999\nv -0.081841998 -0.012702 0.024691001\nv -0.081841998 -0.000316 0.015187\nv -0.088342004 -0.00134 0.001029\nv -0.088342004 -0.00134 0.001029\nv -0.094843 -0.014751 -0.003625\nv -0.094843 -0.027136 0.005879\nv -0.088342004 -0.026113 0.020036999\nv -0.069449998 -0.021183001 0.01795\nv -0.069449998 -0.006103 0.013909\nv -0.075949997 -0.001631 0.000437\nv -0.075949997 -0.001631 0.000437\nv -0.082451001 -0.01224 -0.008994\nv -0.082451001 -0.027319999 -0.004953\nv -0.075949997 -0.031792998 0.008519\nv -0.057057999 -0.02644 0.008477\nv -0.057057999 -0.010962 0.010515\nv -0.063557997 -0.001674 -0.00022\nv -0.063557997 -0.001674 -0.00022\nv -0.070059001 -0.007867 -0.012993\nv -0.070059001 -0.023344999 -0.015032\nv -0.063557997 -0.032632001 -0.004296\nv -0.044666 -0.027671 -0.002287\nv -0.044666 -0.014151 0.005519\nv -0.051165 -0.001464 -0.000844\nv -0.051165 -0.001464 -0.000844\nv -0.057665002 -0.002295 -0.015015\nv -0.057665002 -0.015815999 -0.022821\nv -0.051165 -0.028503999 -0.016456001\nv -0.032272998 -0.024691001 -0.012702\nv -0.032272998 -0.015187 -0.000316\nv -0.038773 -0.001029 -0.00134\nv -0.038773 -0.001029 -0.00134\nv -0.045272999 0.003625 -0.014751\nv -0.045272999 -0.005879 -0.027136\nv -0.038773 -0.020036999 -0.026113\nv -0.019881001 -0.01795 -0.021183001\nv -0.019881001 -0.013909 -0.006103\nv -0.026381001 -0.000437 -0.001631\nv -0.026381001 -0.000437 -0.001631\nv -0.032880999 0.008994 -0.01224\nv -0.032880999 0.004953 -0.027319999\nv -0.026381001 -0.008519 -0.031792998\nv -0.007489 -0.008477 -0.02644\nv -0.007489 -0.010515 -0.010962\nv -0.013989 0.00022 -0.001674\nv -0.013989 0.00022 -0.001674\nv -0.020489 0.012993 -0.007867\nv -0.020489 0.015032 -0.023344999\nv -0.013989 0.004296 -0.032632001\nv 0.000111 0.002287 -0.027671\nv 0.000111 -0.005519 -0.014151\nv 0.00011 0.000844 -0.001464\nv 0.00011 0.000844 -0.001464\nv 0.000109 0.015015 -0.002295\nv 0.000109 0.022821 -0.015815999\nv 0.00011 0.016456001 -0.028503999\nv -0.000111 -0.025108 0.011856\nv 0.018781999 -0.027734 0.001345\nv 0.018781999 -0.013309 0.007319\nv -0.000111 -0.009496 0.011856\nv 0.012282 -0.001561 -0.000647\nv -0.000111 -0.00169 0\nv -0.000111 -0.00169 0\nv 0.012282 -0.001561 -0.000647\nv 0.005781 -0.004236 -0.014587\nv -0.000111 -0.009496 -0.011856\nv 0.005781 -0.018658999 -0.020561\nv -0.000111 -0.025108 -0.011856\nv 0.012282 -0.030408001 -0.012595\nv -0.000111 -0.032914001 0\nv 0.031174 -0.026137 -0.009371\nv 0.031174 -0.015097 0.001669\nv 0.024674 -0.001194 -0.001194\nv 0.024674 -0.001194 -0.001194\nv 0.018173 0.001669 -0.015097\nv 0.018173 -0.009371 -0.026137\nv 0.024674 -0.023274001 -0.023274001\nv 0.043566 -0.020561 -0.018658999\nv 0.043566 -0.014587 -0.004236\nv 0.037066001 -0.000647 -0.001561\nv 0.037066001 -0.000647 -0.001561\nv 0.030564999 0.007319 -0.013309\nv 0.030564999 0.001345 -0.027734\nv 0.037066001 -0.012595 -0.030408001\nv 0.055957999 -0.011856 -0.025108\nv 0.055957999 -0.011856 -0.009496\nv 0.049458999 0 -0.00169\nv 0.049458999 0 -0.00169\nv 0.042959001 0.011856 -0.009496\nv 0.042959001 0.011856 -0.025108\nv 0.049458999 0 -0.032914001\nv 0.068350002 -0.001345 -0.027734\nv 0.068350002 -0.007319 -0.013309\nv 0.061850999 0.000647 -0.001561\nv 0.061850999 0.000647 -0.001561\nv 0.055351 0.014587 -0.004236\nv 0.055351 0.020561 -0.018658999\nv 0.061850999 0.012595 -0.030408001\nv 0.080742002 0.009371 -0.026137\nv 0.080742002 -0.001669 -0.015097\nv 0.074243002 0.001194 -0.001194\nv 0.074243002 0.001194 -0.001194\nv 0.067743003 0.015097 0.001669\nv 0.067743003 0.026137 -0.009371\nv 0.074243002 0.023274001 -0.023274001\nv 0.093134999 0.018658999 -0.020561\nv 0.093134999 0.004236 -0.014587\nv 0.086635001 0.001561 -0.000647\nv 0.086635001 0.001561 -0.000647\nv 0.080135003 0.013309 0.007319\nv 0.080135003 0.027734 0.001345\nv 0.086635001 0.030408001 -0.012595\nv 0.105526999 0.025108 -0.011856\nv 0.105526999 0.009496 -0.011856\nv 0.099027 0.00169 0\nv 0.099027 0.00169 0\nv 0.092527002 0.009496 0.011856\nv 0.092527002 0.025108 0.011856\nv 0.099027 0.032914001 0\nv 0.117918998 0.027734 -0.001345\nv 0.117918998 0.013309 -0.007319\nv 0.111419 0.001561 0.000647\nv 0.111419 0.001561 0.000647\nv 0.104919001 0.004236 0.014587\nv 0.104919001 0.018658999 0.020561\nv 0.111419 0.030408001 0.012595\nv 0.130310997 0.026137 0.009371\nv 0.130310997 0.015097 -0.001669\nv 0.123810999 0.001194 0.001194\nv 0.123810999 0.001194 0.001194\nv 0.117311001 -0.001669 0.015097\nv 0.117311001 0.009371 0.026137\nv 0.123810999 0.023274001 0.023274001\nv 0.142702997 0.020561 0.018658999\nv 0.142702997 0.014587 0.004236\nv 0.136203006 0.000647 0.001561\nv 0.136203006 0.000647 0.001561\nv 0.129703 -0.007319 0.013309\nv 0.129703 -0.001345 0.027734\nv 0.136203006 0.012595 0.030408001\nv 0.155094996 0.011856 0.025108\nv 0.155094996 0.011856 0.009496\nv 0.148595005 0 0.00169\nv 0.148595005 0 0.00169\nv 0.142095 -0.011856 0.009496\nv 0.142095 -0.011856 0.025108\nv 0.148595005 0 0.032914001\nv 0.167486995 0.001345 0.027734\nv 0.167486995 0.007319 0.013309\nv 0.160987005 -0.000647 0.001561\nv 0.160987005 -0.000647 0.001561\nv 0.154487997 -0.014587 0.004236\nv 0.154487997 -0.020561 0.018658999\nv 0.160987005 -0.012595 0.030408001\nv 0.179878995 -0.009371 0.026137\nv 0.179878995 0.001669 0.015097\nv 0.173379004 -0.001194 0.001194\nv 0.173379004 -0.001194 0.001194\nv 0.166879997 -0.015097 -0.001669\nv 0.166879997 -0.026137 0.009371\nv 0.173379004 -0.023274001 0.023274001\nv 0.192270994 -0.018658999 0.020561\nv 0.192270994 -0.004236 0.014587\nv 0.185772002 -0.001561 0.000647\nv 0.185772002 -0.001561 0.000647\nv 0.179271996 -0.013309 -0.007319\nv 0.179271996 -0.027734 -0.001345\nv 0.185772002 -0.030408001 0.012595\nv 0.199872002 -0.025108 0.011856\nv 0.199872002 -0.009496 0.011856\nv 0.199871004 -0.00169 0\nv 0.199871004 -0.00169 0\nv 0.199869007 -0.009496 -0.011856\nv 0.199869007 -0.025108 -0.011856\nv 0.199871004 -0.032914001 0\nv -0.000111 0.022821 0.015815999\nv 0.018781999 0.015032 0.023344999\nv 0.018781999 0.012993 0.007867\nv -0.000111 0.015015 0.002295\nv 0.012282 0.00022 0.001674\nv -0.000111 0.000844 0.001464\nv -0.000111 0.000844 0.001464\nv 0.012282 0.00022 0.001674\nv 0.005781 -0.010515 0.010962\nv -0.000111 -0.005519 0.014151\nv 0.005781 -0.008477 0.02644\nv -0.000111 0.002287 0.027671\nv 0.012282 0.004296 0.032632001\nv -0.000111 0.016456001 0.028503999\nv 0.031174 0.004953 0.027319999\nv 0.031174 0.008994 0.01224\nv 0.024674 -0.000437 0.001631\nv 0.024674 -0.000437 0.001631\nv 0.018173 -0.013909 0.006103\nv 0.018173 -0.01795 0.021183001\nv 0.024674 -0.008519 0.031792998\nv 0.043566 -0.005879 0.027136\nv 0.043566 0.003625 0.014751\nv 0.037066001 -0.001029 0.00134\nv 0.037066001 -0.001029 0.00134\nv 0.030564999 -0.015187 0.000316\nv 0.030564999 -0.024691001 0.012702\nv 0.037066001 -0.020036999 0.026113\nv 0.055957999 -0.015815999 0.022821\nv 0.055957999 -0.002295 0.015015\nv 0.049458999 -0.001464 0.000844\nv 0.049458999 -0.001464 0.000844\nv 0.042959001 -0.014151 -0.005519\nv 0.042959001 -0.027671 0.002287\nv 0.049458999 -0.028503999 0.016456001\nv 0.068350002 -0.023344999 0.015032\nv 0.068350002 -0.007867 0.012993\nv 0.061850999 -0.001674 0.00022\nv 0.061850999 -0.001674 0.00022\nv 0.055351 -0.010962 -0.010515\nv 0.055351 -0.02644 -0.008477\nv 0.061850999 -0.032632001 0.004296\nv 0.080742002 -0.027319999 0.004953\nv 0.080742002 -0.01224 0.008994\nv 0.074243002 -0.001631 -0.000437\nv 0.074243002 -0.001631 -0.000437\nv 0.067743003 -0.006103 -0.013909\nv 0.067743003 -0.021183001 -0.01795\nv 0.074243002 -0.031792998 -0.008519\nv 0.093134999 -0.027136 -0.005879\nv 0.093134999 -0.014751 0.003625\nv 0.086635001 -0.00134 -0.001029\nv 0.086635001 -0.00134 -0.001029\nv 0.080135003 -0.000316 -0.015187\nv 0.080135003 -0.012702 -0.024691001\nv 0.086635001 -0.026113 -0.020036999\nv 0.105526999 -0.022821 -0.015815999\nv 0.105526999 -0.015015 -0.002295\nv 0.099027 -0.000844 -0.001464\nv 0.099027 -0.000844 -0.001464\nv 0.092527002 0.005519 -0.014151\nv 0.092527002 -0.002287 -0.027671\nv 0.099027 -0.016456001 -0.028503999\nv 0.117918998 -0.015032 -0.023344999\nv 0.117918998 -0.012993 -0.007867\nv 0.111419 -0.000221 -0.001674\nv 0.111419 -0.000221 -0.001674\nv 0.104919001 0.010515 -0.010962\nv 0.104919001 0.008477 -0.02644\nv 0.111419 -0.004296 -0.032632001\nv 0.130310997 -0.004953 -0.027319999\nv 0.130310997 -0.008994 -0.01224\nv 0.123810999 0.000437 -0.001631\nv 0.123810999 0.000437 -0.001631\nv 0.117311001 0.013909 -0.006103\nv 0.117311001 0.01795 -0.021183001\nv 0.123810999 0.008519 -0.031792998\nv 0.142702997 0.005879 -0.027136\nv 0.142702997 -0.003625 -0.014751\nv 0.136203006 0.001028 -0.00134\nv 0.136203006 0.001028 -0.00134\nv 0.129703 0.015187 -0.000316\nv 0.129703 0.024691001 -0.012702\nv 0.136203006 0.020036999 -0.026113\nv 0.155094996 0.015815999 -0.022821\nv 0.155094996 0.002295 -0.015015\nv 0.148595005 0.001464 -0.000844\nv 0.148595005 0.001464 -0.000844\nv 0.142095 0.014151 0.005519\nv 0.142095 0.027671 -0.002287\nv 0.148595005 0.028503999 -0.016456001\nv 0.167486995 0.023344999 -0.015032\nv 0.167486995 0.007867 -0.012993\nv 0.160987005 0.001674 -0.00022\nv 0.160987005 0.001674 -0.00022\nv 0.154487997 0.010962 0.010515\nv 0.154487997 0.02644 0.008477\nv 0.160987005 0.032632001 -0.004296\nv 0.179878995 0.027319999 -0.004953\nv 0.179878995 0.01224 -0.008994\nv 0.173379004 0.001631 0.000437\nv 0.173379004 0.001631 0.000437\nv 0.166879997 0.006103 0.013909\nv 0.166879997 0.021183001 0.01795\nv 0.173379004 0.031791002 0.008519\nv 0.192270994 0.027136 0.005879\nv 0.192270994 0.014751 -0.003625\nv 0.185772002 0.00134 0.001029\nv 0.185772002 0.00134 0.001029\nv 0.179271996 0.000316 0.015187\nv 0.179271996 0.012702 0.024691001\nv 0.185772002 0.026113 0.020036999\nv 0.199872002 0.022821 0.015815999\nv 0.199872002 0.015015 0.002295\nv 0.199871004 0.000844 0.001464\nv 0.199871004 0.000844 0.001464\nv 0.199869007 -0.005519 0.014151\nv 0.199869007 0.002287 0.027671\nv 0.199871004 0.016456001 0.028503999\nv -0.000111 0.002287 -0.027671\nv 0.018781999 0.012702 -0.024691001\nv 0.018781999 0.000316 -0.015187\nv -0.000111 -0.005519 -0.014151\nv 0.012282 0.00134 -0.001029\nv -0.000111 0.000844 -0.001464\nv -0.000111 0.000844 -0.001464\nv 0.012282 0.00134 -0.001029\nv 0.005781 0.014751 0.003625\nv -0.000111 0.015015 -0.002295\nv 0.005781 0.027136 -0.005879\nv -0.000111 0.022821 -0.015815999\nv 0.012282 0.026113 -0.020036999\nv -0.000111 0.016456001 -0.028503999\nv 0.031174 0.021183001 -0.01795\nv 0.031174 0.006103 -0.013909\nv 0.024674 0.001631 -0.000437\nv 0.024674 0.001631 -0.000437\nv 0.018173 0.01224 0.008994\nv 0.018173 0.027319999 0.004953\nv 0.024674 0.031792998 -0.008519\nv 0.043566 0.02644 -0.008477\nv 0.043566 0.010962 -0.010515\nv 0.037066001 0.001674 0.00022\nv 0.037066001 0.001674 0.00022\nv 0.030564999 0.007867 0.012993\nv 0.030564999 0.023344999 0.015032\nv 0.037066001 0.032632001 0.004296\nv 0.055957999 0.027671 0.002287\nv 0.055957999 0.014151 -0.005519\nv 0.049458999 0.001464 0.000844\nv 0.049458999 0.001464 0.000844\nv 0.042959001 0.002295 0.015015\nv 0.042959001 0.015815999 0.022821\nv 0.049458999 0.028503999 0.016456001\nv 0.068350002 0.024691001 0.012702\nv 0.068350002 0.015187 0.000316\nv 0.061850999 0.001028 0.00134\nv 0.061850999 0.001028 0.00134\nv 0.055351 -0.003625 0.014751\nv 0.055351 0.005879 0.027136\nv 0.061850999 0.020036999 0.026113\nv 0.080742002 0.01795 0.021183001\nv 0.080742002 0.013909 0.006103\nv 0.074243002 0.000437 0.001631\nv 0.074243002 0.000437 0.001631\nv 0.067743003 -0.008994 0.01224\nv 0.067743003 -0.004953 0.027319999\nv 0.074243002 0.008519 0.031792998\nv 0.093134999 0.008477 0.02644\nv 0.093134999 0.010515 0.010962\nv 0.086635001 -0.000221 0.001674\nv 0.086635001 -0.000221 0.001674\nv 0.080135003 -0.012993 0.007867\nv 0.080135003 -0.015032 0.023344999\nv 0.086635001 -0.004296 0.032632001\nv 0.105526999 -0.002287 0.027671\nv 0.105526999 0.005519 0.014151\nv 0.099027 -0.000844 0.001464\nv 0.099027 -0.000844 0.001464\nv 0.092527002 -0.015015 0.002295\nv 0.092527002 -0.022821 0.015815999\nv 0.099027 -0.016456001 0.028503999\nv 0.117918998 -0.012702 0.024691001\nv 0.117918998 -0.000316 0.015187\nv 0.111419 -0.00134 0.001029\nv 0.111419 -0.00134 0.001029\nv 0.104919001 -0.014751 -0.003625\nv 0.104919001 -0.027136 0.005879\nv 0.111419 -0.026113 0.020036999\nv 0.130310997 -0.021183001 0.01795\nv 0.130310997 -0.006103 0.013909\nv 0.123810999 -0.001631 0.000437\nv 0.123810999 -0.001631 0.000437\nv 0.117311001 -0.01224 -0.008994\nv 0.117311001 -0.027319999 -0.004953\nv 0.123810999 -0.031792998 0.008519\nv 0.142702997 -0.02644 0.008477\nv 0.142702997 -0.010962 0.010515\nv 0.136203006 -0.001674 -0.00022\nv 0.136203006 -0.001674 -0.00022\nv 0.129703 -0.007867 -0.012993\nv 0.129703 -0.023344999 -0.015032\nv 0.136203006 -0.032632001 -0.004296\nv 0.155094996 -0.027671 -0.002287\nv 0.155094996 -0.014151 0.005519\nv 0.148595005 -0.001464 -0.000844\nv 0.148595005 -0.001464 -0.000844\nv 0.142095 -0.002295 -0.015015\nv 0.142095 -0.015815999 -0.022821\nv 0.148595005 -0.028503999 -0.016456001\nv 0.167486995 -0.024691001 -0.012702\nv 0.167486995 -0.015187 -0.000316\nv 0.160987005 -0.001029 -0.00134\nv 0.160987005 -0.001029 -0.00134\nv 0.154487997 0.003625 -0.014751\nv 0.154487997 -0.005879 -0.027136\nv 0.160987005 -0.020036999 -0.026113\nv 0.179878995 -0.01795 -0.021183001\nv 0.179878995 -0.013909 -0.006103\nv 0.173379004 -0.000437 -0.001631\nv 0.173379004 -0.000437 -0.001631\nv 0.166879997 0.008994 -0.01224\nv 0.166879997 0.004953 -0.027319999\nv 0.173379004 -0.008519 -0.031792998\nv 0.192270994 -0.008477 -0.02644\nv 0.192270994 -0.010515 -0.010962\nv 0.185772002 0.00022 -0.001674\nv 0.185772002 0.00022 -0.001674\nv 0.179271996 0.012993 -0.007867\nv 0.179271996 0.015032 -0.023344999\nv 0.185772002 0.004296 -0.032632001\nv 0.199872002 0.002287 -0.027671\nv 0.199872002 -0.005519 -0.014151\nv 0.199871004 0.000844 -0.001464\nv 0.199871004 0.000844 -0.001464\nv 0.199869007 0.015015 -0.002295\nv 0.199869007 0.022821 -0.015815999\nv 0.199871004 0.016456001 -0.028503999\nv 0.199651003 -0.025108 0.011856\nv 0.218542993 -0.027734 0.001345\nv 0.218542993 -0.013309 0.007319\nv 0.199651003 -0.009496 0.011856\nv 0.212043002 -0.001561 -0.000647\nv 0.199651003 -0.00169 0\nv 0.199651003 -0.00169 0\nv 0.212043002 -0.001561 -0.000647\nv 0.205542997 -0.004236 -0.014587\nv 0.199649006 -0.009496 -0.011856\nv 0.205542997 -0.018658999 -0.020561\nv 0.199649006 -0.025108 -0.011856\nv 0.212043002 -0.030408001 -0.012595\nv 0.199651003 -0.032914001 0\nv 0.230935007 -0.026137 -0.009371\nv 0.230935007 -0.015097 0.001669\nv 0.224435002 -0.001194 -0.001194\nv 0.224435002 -0.001194 -0.001194\nv 0.217934996 0.001669 -0.015097\nv 0.217934996 -0.009371 -0.026137\nv 0.224435002 -0.023274001 -0.023274001\nv 0.243327007 -0.020561 -0.018658999\nv 0.243327007 -0.014587 -0.004236\nv 0.236827001 -0.000647 -0.001561\nv 0.236827001 -0.000647 -0.001561\nv 0.230326995 0.007319 -0.013309\nv 0.230326995 0.001345 -0.027734\nv 0.236827001 -0.012595 -0.030408001\nv 0.255719006 -0.011856 -0.025108\nv 0.255719006 -0.011856 -0.009496\nv 0.249219 0 -0.00169\nv 0.249219 0 -0.00169\nv 0.242718995 0.011856 -0.009496\nv 0.242718995 0.011856 -0.025108\nv 0.249219 0 -0.032914001\nv 0.268110991 -0.001345 -0.027734\nv 0.268110991 -0.007319 -0.013309\nv 0.261611015 0.000647 -0.001561\nv 0.261611015 0.000647 -0.001561\nv 0.255111009 0.014587 -0.004236\nv 0.255111009 0.020561 -0.018658999\nv 0.261611015 0.012595 -0.030408001\nv 0.280503005 0.009371 -0.026137\nv 0.280503005 -0.001669 -0.015097\nv 0.274002999 0.001194 -0.001194\nv 0.274002999 0.001194 -0.001194\nv 0.267504007 0.015097 0.001669\nv 0.267504007 0.026137 -0.009371\nv 0.274002999 0.023274001 -0.023274001\nv 0.292894989 0.018658999 -0.020561\nv 0.292894989 0.004236 -0.014587\nv 0.286395997 0.001561 -0.000647\nv 0.286395997 0.001561 -0.000647\nv 0.279895991 0.013309 0.007319\nv 0.279895991 0.027734 0.001345\nv 0.286395997 0.030408001 -0.012595\nv 0.305287004 0.025108 -0.011856\nv 0.305287004 0.009496 -0.011856\nv 0.298788011 0.00169 0\nv 0.298788011 0.00169 0\nv 0.292288005 0.009496 0.011856\nv 0.292288005 0.025108 0.011856\nv 0.298788011 0.032914001 0\nv 0.317678988 0.027734 -0.001345\nv 0.317678988 0.013309 -0.007319\nv 0.311179996 0.001561 0.000647\nv 0.311179996 0.001561 0.000647\nv 0.30467999 0.004236 0.014587\nv 0.30467999 0.018658999 0.020561\nv 0.311179996 0.030408001 0.012595\nv 0.330071986 0.026137 0.009371\nv 0.330071986 0.015097 -0.001669\nv 0.32357201 0.001194 0.001194\nv 0.32357201 0.001194 0.001194\nv 0.317072004 -0.001669 0.015097\nv 0.317072004 0.009371 0.026137\nv 0.32357201 0.023274001 0.023274001\nv 0.342464 0.020561 0.018658999\nv 0.342464 0.014587 0.004236\nv 0.335963994 0.000647 0.001561\nv 0.335963994 0.000647 0.001561\nv 0.329463989 -0.007319 0.013309\nv 0.329463989 -0.001345 0.027734\nv 0.335963994 0.012595 0.030408001\nv 0.354856014 0.011856 0.025108\nv 0.354856014 0.011856 0.009496\nv 0.348356009 0 0.00169\nv 0.348356009 0 0.00169\nv 0.341856003 -0.011856 0.009496\nv 0.341856003 -0.011856 0.025108\nv 0.348356009 0 0.032914001\nv 0.367247999 0.001345 0.027734\nv 0.367247999 0.007319 0.013309\nv 0.360747993 -0.000647 0.001561\nv 0.360747993 -0.000647 0.001561\nv 0.354247987 -0.014587 0.004236\nv 0.354247987 -0.020561 0.018658999\nv 0.360747993 -0.012595 0.030408001\nv 0.379640996 -0.009371 0.026137\nv 0.379640996 0.001669 0.015097\nv 0.373140007 -0.001194 0.001194\nv 0.373140007 -0.001194 0.001194\nv 0.366640002 -0.015097 -0.001669\nv 0.366640002 -0.026137 0.009371\nv 0.373140007 -0.023274001 0.023274001\nv 0.392033011 -0.018658999 0.020561\nv 0.392033011 -0.004236 0.014587\nv 0.385531992 -0.001561 0.000647\nv 0.385531992 -0.001561 0.000647\nv 0.379032999 -0.013309 -0.007319\nv 0.379032999 -0.027734 -0.001345\nv 0.385531992 -0.030408001 0.012595\nv 0.39963299 -0.025108 0.011856\nv 0.39963299 -0.009496 0.011856\nv 0.399630994 -0.00169 0\nv 0.399630994 -0.00169 0\nv 0.39963001 -0.009496 -0.011856\nv 0.39963001 -0.025108 -0.011856\nv 0.399630994 -0.032914001 0\nv 0.199651003 0.022821 0.015815999\nv 0.218542993 0.015032 0.023344999\nv 0.218542993 0.012993 0.007867\nv 0.199651003 0.015015 0.002295\nv 0.212043002 0.00022 0.001674\nv 0.199651003 0.000844 0.001464\nv 0.199651003 0.000844 0.001464\nv 0.212043002 0.00022 0.001674\nv 0.205542997 -0.010515 0.010962\nv 0.199649006 -0.005519 0.014151\nv 0.205542997 -0.008477 0.02644\nv 0.199649006 0.002287 0.027671\nv 0.212043002 0.004296 0.032632001\nv 0.199651003 0.016456001 0.028503999\nv 0.230935007 0.004953 0.027319999\nv 0.230935007 0.008994 0.01224\nv 0.224435002 -0.000437 0.001631\nv 0.224435002 -0.000437 0.001631\nv 0.217934996 -0.013909 0.006103\nv 0.217934996 -0.01795 0.021183001\nv 0.224435002 -0.008519 0.031792998\nv 0.243327007 -0.005879 0.027136\nv 0.243327007 0.003625 0.014751\nv 0.236827001 -0.001029 0.00134\nv 0.236827001 -0.001029 0.00134\nv 0.230326995 -0.015187 0.000316\nv 0.230326995 -0.024691001 0.012702\nv 0.236827001 -0.020036999 0.026113\nv 0.255719006 -0.015815999 0.022821\nv 0.255719006 -0.002295 0.015015\nv 0.249219 -0.001464 0.000844\nv 0.249219 -0.001464 0.000844\nv 0.242718995 -0.014151 -0.005519\nv 0.242718995 -0.027671 0.002287\nv 0.249219 -0.028503999 0.016456001\nv 0.268110991 -0.023344999 0.015032\nv 0.268110991 -0.007867 0.012993\nv 0.261611015 -0.001674 0.00022\nv 0.261611015 -0.001674 0.00022\nv 0.255111009 -0.010962 -0.010515\nv 0.255111009 -0.02644 -0.008477\nv 0.261611015 -0.032632001 0.004296\nv 0.280503005 -0.027319999 0.004953\nv 0.280503005 -0.01224 0.008994\nv 0.274002999 -0.001631 -0.000437\nv 0.274002999 -0.001631 -0.000437\nv 0.267504007 -0.006103 -0.013909\nv 0.267504007 -0.021183001 -0.01795\nv 0.274002999 -0.031792998 -0.008519\nv 0.292894989 -0.027136 -0.005879\nv 0.292894989 -0.014751 0.003625\nv 0.286395997 -0.00134 -0.001029\nv 0.286395997 -0.00134 -0.001029\nv 0.279895991 -0.000316 -0.015187\nv 0.279895991 -0.012702 -0.024691001\nv 0.286395997 -0.026113 -0.020036999\nv 0.305287004 -0.022821 -0.015815999\nv 0.305287004 -0.015015 -0.002295\nv 0.298788011 -0.000844 -0.001464\nv 0.298788011 -0.000844 -0.001464\nv 0.292288005 0.005519 -0.014151\nv 0.292288005 -0.002287 -0.027671\nv 0.298788011 -0.016456001 -0.028503999\nv 0.317678988 -0.015032 -0.023344999\nv 0.317678988 -0.012993 -0.007867\nv 0.311179996 -0.000221 -0.001674\nv 0.311179996 -0.000221 -0.001674\nv 0.30467999 0.010515 -0.010962\nv 0.30467999 0.008477 -0.02644\nv 0.311179996 -0.004296 -0.032632001\nv 0.330071986 -0.004953 -0.027319999\nv 0.330071986 -0.008994 -0.01224\nv 0.32357201 0.000437 -0.001631\nv 0.32357201 0.000437 -0.001631\nv 0.317072004 0.013909 -0.006103\nv 0.317072004 0.01795 -0.021183001\nv 0.32357201 0.008519 -0.031792998\nv 0.342464 0.005879 -0.027136\nv 0.342464 -0.003625 -0.014751\nv 0.335963994 0.001028 -0.00134\nv 0.335963994 0.001028 -0.00134\nv 0.329463989 0.015187 -0.000316\nv 0.329463989 0.024691001 -0.012702\nv 0.335963994 0.020036999 -0.026113\nv 0.354856014 0.015815999 -0.022821\nv 0.354856014 0.002295 -0.015015\nv 0.348356009 0.001464 -0.000844\nv 0.348356009 0.001464 -0.000844\nv 0.341856003 0.014151 0.005519\nv 0.341856003 0.027671 -0.002287\nv 0.348356009 0.028503999 -0.016456001\nv 0.367247999 0.023344999 -0.015032\nv 0.367247999 0.007867 -0.012993\nv 0.360747993 0.001674 -0.00022\nv 0.360747993 0.001674 -0.00022\nv 0.354247987 0.010962 0.010515\nv 0.354247987 0.02644 0.008477\nv 0.360747993 0.032632001 -0.004296\nv 0.379640996 0.027319999 -0.004953\nv 0.379640996 0.01224 -0.008994\nv 0.373140007 0.001631 0.000437\nv 0.373140007 0.001631 0.000437\nv 0.366640002 0.006103 0.013909\nv 0.366640002 0.021183001 0.01795\nv 0.373140007 0.031791002 0.008519\nv 0.392033011 0.027136 0.005879\nv 0.392033011 0.014751 -0.003625\nv 0.385531992 0.00134 0.001029\nv 0.385531992 0.00134 0.001029\nv 0.379032999 0.000316 0.015187\nv 0.379032999 0.012702 0.024691001\nv 0.385531992 0.026113 0.020036999\nv 0.39963299 0.022821 0.015815999\nv 0.39963299 0.015015 0.002295\nv 0.399630994 0.000844 0.001464\nv 0.399630994 0.000844 0.001464\nv 0.39963001 -0.005519 0.014151\nv 0.39963001 0.002287 0.027671\nv 0.399630994 0.016456001 0.028503999\nv 0.199651003 0.002287 -0.027671\nv 0.218542993 0.012702 -0.024691001\nv 0.218542993 0.000316 -0.015187\nv 0.199651003 -0.005519 -0.014151\nv 0.212043002 0.00134 -0.001029\nv 0.199651003 0.000844 -0.001464\nv 0.199651003 0.000844 -0.001464\nv 0.212043002 0.00134 -0.001029\nv 0.205542997 0.014751 0.003625\nv 0.199649006 0.015015 -0.002295\nv 0.205542997 0.027136 -0.005879\nv 0.199649006 0.022821 -0.015815999\nv 0.212043002 0.026113 -0.020036999\nv 0.199651003 0.016456001 -0.028503999\nv 0.230935007 0.021183001 -0.01795\nv 0.230935007 0.006103 -0.013909\nv 0.224435002 0.001631 -0.000437\nv 0.224435002 0.001631 -0.000437\nv 0.217934996 0.01224 0.008994\nv 0.217934996 0.027319999 0.004953\nv 0.224435002 0.031792998 -0.008519\nv 0.243327007 0.02644 -0.008477\nv 0.243327007 0.010962 -0.010515\nv 0.236827001 0.001674 0.00022\nv 0.236827001 0.001674 0.00022\nv 0.230326995 0.007867 0.012993\nv 0.230326995 0.023344999 0.015032\nv 0.236827001 0.032632001 0.004296\nv 0.255719006 0.027671 0.002287\nv 0.255719006 0.014151 -0.005519\nv 0.249219 0.001464 0.000844\nv 0.249219 0.001464 0.000844\nv 0.242718995 0.002295 0.015015\nv 0.242718995 0.015815999 0.022821\nv 0.249219 0.028503999 0.016456001\nv 0.268110991 0.024691001 0.012702\nv 0.268110991 0.015187 0.000316\nv 0.261611015 0.001028 0.00134\nv 0.261611015 0.001028 0.00134\nv 0.255111009 -0.003625 0.014751\nv 0.255111009 0.005879 0.027136\nv 0.261611015 0.020036999 0.026113\nv 0.280503005 0.01795 0.021183001\nv 0.280503005 0.013909 0.006103\nv 0.274002999 0.000437 0.001631\nv 0.274002999 0.000437 0.001631\nv 0.267504007 -0.008994 0.01224\nv 0.267504007 -0.004953 0.027319999\nv 0.274002999 0.008519 0.031792998\nv 0.292894989 0.008477 0.02644\nv 0.292894989 0.010515 0.010962\nv 0.286395997 -0.000221 0.001674\nv 0.286395997 -0.000221 0.001674\nv 0.279895991 -0.012993 0.007867\nv 0.279895991 -0.015032 0.023344999\nv 0.286395997 -0.004296 0.032632001\nv 0.305287004 -0.002287 0.027671\nv 0.305287004 0.005519 0.014151\nv 0.298788011 -0.000844 0.001464\nv 0.298788011 -0.000844 0.001464\nv 0.292288005 -0.015015 0.002295\nv 0.292288005 -0.022821 0.015815999\nv 0.298788011 -0.016456001 0.028503999\nv 0.317678988 -0.012702 0.024691001\nv 0.317678988 -0.000316 0.015187\nv 0.311179996 -0.00134 0.001029\nv 0.311179996 -0.00134 0.001029\nv 0.30467999 -0.014751 -0.003625\nv 0.30467999 -0.027136 0.005879\nv 0.311179996 -0.026113 0.020036999\nv 0.330071986 -0.021183001 0.01795\nv 0.330071986 -0.006103 0.013909\nv 0.32357201 -0.001631 0.000437\nv 0.32357201 -0.001631 0.000437\nv 0.317072004 -0.01224 -0.008994\nv 0.317072004 -0.027319999 -0.004953\nv 0.32357201 -0.031792998 0.008519\nv 0.342464 -0.02644 0.008477\nv 0.342464 -0.010962 0.010515\nv 0.335963994 -0.001674 -0.00022\nv 0.335963994 -0.001674 -0.00022\nv 0.329463989 -0.007867 -0.012993\nv 0.329463989 -0.023344999 -0.015032\nv 0.335963994 -0.032632001 -0.004296\nv 0.354856014 -0.027671 -0.002287\nv 0.354856014 -0.014151 0.005519\nv 0.348356009 -0.001464 -0.000844\nv 0.348356009 -0.001464 -0.000844\nv 0.341856003 -0.002295 -0.015015\nv 0.341856003 -0.015815999 -0.022821\nv 0.348356009 -0.028503999 -0.016456001\nv 0.367247999 -0.024691001 -0.012702\nv 0.367247999 -0.015187 -0.000316\nv 0.360747993 -0.001029 -0.00134\nv 0.360747993 -0.001029 -0.00134\nv 0.354247987 0.003625 -0.014751\nv 0.354247987 -0.005879 -0.027136\nv 0.360747993 -0.020036999 -0.026113\nv 0.379640996 -0.01795 -0.021183001\nv 0.379640996 -0.013909 -0.006103\nv 0.373140007 -0.000437 -0.001631\nv 0.373140007 -0.000437 -0.001631\nv 0.366640002 0.008994 -0.01224\nv 0.366640002 0.004953 -0.027319999\nv 0.373140007 -0.008519 -0.031792998\nv 0.392033011 -0.008477 -0.02644\nv 0.392033011 -0.010515 -0.010962\nv 0.385531992 0.00022 -0.001674\nv 0.385531992 0.00022 -0.001674\nv 0.379032999 0.012993 -0.007867\nv 0.379032999 0.015032 -0.023344999\nv 0.385531992 0.004296 -0.032632001\nv 0.39963299 0.002287 -0.027671\nv 0.39963299 -0.005519 -0.014151\nv 0.399630994 0.000844 -0.001464\nv 0.399630994 0.000844 -0.001464\nv 0.39963001 0.015015 -0.002295\nv 0.39963001 0.022821 -0.015815999\nv 0.399630994 0.016456001 -0.028503999\nv 0.399410993 -0.025108 0.011856\nv 0.418303013 -0.027734 0.001345\nv 0.418303013 -0.013309 0.007319\nv 0.399410993 -0.009496 0.011856\nv 0.411803991 -0.001561 -0.000647\nv 0.399410993 -0.00169 0\nv 0.399410993 -0.00169 0\nv 0.411803991 -0.001561 -0.000647\nv 0.405304015 -0.004236 -0.014587\nv 0.399410993 -0.009496 -0.011856\nv 0.405304015 -0.018658999 -0.020561\nv 0.399410993 -0.025108 -0.011856\nv 0.411803991 -0.030408001 -0.012595\nv 0.399410993 -0.032914001 0\nv 0.430696011 -0.026137 -0.009371\nv 0.430696011 -0.015097 0.001669\nv 0.424196005 -0.001194 -0.001194\nv 0.424196005 -0.001194 -0.001194\nv 0.417695999 0.001669 -0.015097\nv 0.417695999 -0.009371 -0.026137\nv 0.424196005 -0.023274001 -0.023274001\nv 0.443087995 -0.020561 -0.018658999\nv 0.443087995 -0.014587 -0.004236\nv 0.436587989 -0.000647 -0.001561\nv 0.436587989 -0.000647 -0.001561\nv 0.430088013 0.007319 -0.013309\nv 0.430088013 0.001345 -0.027734\nv 0.436587989 -0.012595 -0.030408001\nv 0.455480009 -0.011856 -0.025108\nv 0.455480009 -0.011856 -0.009496\nv 0.448980004 0 -0.00169\nv 0.448980004 0 -0.00169\nv 0.442479998 0.011856 -0.009496\nv 0.442479998 0.011856 -0.025108\nv 0.448980004 0 -0.032914001\nv 0.467873007 -0.001345 -0.027734\nv 0.467873007 -0.007319 -0.013309\nv 0.461371988 0.000647 -0.001561\nv 0.461371988 0.000647 -0.001561\nv 0.454872012 0.014587 -0.004236\nv 0.454872012 0.020561 -0.018658999\nv 0.461371988 0.012595 -0.030408001\nv 0.480264992 0.009371 -0.026137\nv 0.480264992 -0.001669 -0.015097\nv 0.473764002 0.001194 -0.001194\nv 0.473764002 0.001194 -0.001194\nv 0.467263997 0.015097 0.001669\nv 0.467263997 0.026137 -0.009371\nv 0.473764002 0.023274001 -0.023274001\nv 0.492657006 0.018658999 -0.020561\nv 0.492657006 0.004236 -0.014587\nv 0.486155987 0.001561 -0.000647\nv 0.486155987 0.001561 -0.000647\nv 0.479656011 0.013309 0.007319\nv 0.479656011 0.027734 0.001345\nv 0.486155987 0.030408001 -0.012595\nv 0.50504899 0.025108 -0.011856\nv 0.50504899 0.009496 -0.011856\nv 0.498548001 0.00169 0\nv 0.498548001 0.00169 0\nv 0.492047995 0.009496 0.011856\nv 0.492047995 0.025108 0.011856\nv 0.498548001 0.032914001 0\nv 0.517441988 0.027734 -0.001345\nv 0.517441988 0.013309 -0.007319\nv 0.510940015 0.001561 0.000647\nv 0.510940015 0.001561 0.000647\nv 0.504441023 0.004236 0.014587\nv 0.504441023 0.018658999 0.020561\nv 0.510940015 0.030408001 0.012595\nv 0.529833972 0.026137 0.009371\nv 0.529833972 0.015097 -0.001669\nv 0.523334026 0.001194 0.001194\nv 0.523334026 0.001194 0.001194\nv 0.516833007 -0.001669 0.015097\nv 0.516833007 0.009371 0.026137\nv 0.523334026 0.023274001 0.023274001\nv 0.542226017 0.020561 0.018658999\nv 0.542226017 0.014587 0.004236\nv 0.535726011 0.000647 0.001561\nv 0.535726011 0.000647 0.001561\nv 0.529224992 -0.007319 0.013309\nv 0.529224992 -0.001345 0.027734\nv 0.535726011 0.012595 0.030408001\nv 0.554618001 0.011856 0.025108\nv 0.554618001 0.011856 0.009496\nv 0.548117995 0 0.00169\nv 0.548117995 0 0.00169\nv 0.541616976 -0.011856 0.009496\nv 0.541616976 -0.011856 0.025108\nv 0.548117995 0 0.032914001\nv 0.567009985 0.001345 0.027734\nv 0.567009985 0.007319 0.013309\nv 0.56050998 -0.000647 0.001561\nv 0.56050998 -0.000647 0.001561\nv 0.554009974 -0.014587 0.004236\nv 0.554009974 -0.020561 0.018658999\nv 0.56050998 -0.012595 0.030408001\nv 0.57940203 -0.009371 0.026137\nv 0.57940203 0.001669 0.015097\nv 0.572902024 -0.001194 0.001194\nv 0.572902024 -0.001194 0.001194\nv 0.566402018 -0.015097 -0.001669\nv 0.566402018 -0.026137 0.009371\nv 0.572902024 -0.023274001 0.023274001\nv 0.591794014 -0.018658999 0.020561\nv 0.591794014 -0.004236 0.014587\nv 0.585294008 -0.001561 0.000647\nv 0.585294008 -0.001561 0.000647\nv 0.578795016 -0.013309 -0.007319\nv 0.578795016 -0.027734 -0.001345\nv 0.585294008 -0.030408001 0.012595\nv 0.599394977 -0.025108 0.011856\nv 0.599394977 -0.009496 0.011856\nv 0.59939301 -0.00169 0\nv 0.59939301 -0.00169 0\nv 0.599391997 -0.009496 -0.011856\nv 0.599391997 -0.025108 -0.011856\nv 0.59939301 -0.032914001 0\nv 0.399410993 0.022821 0.015815999\nv 0.418303013 0.015032 0.023344999\nv 0.418303013 0.012993 0.007867\nv 0.399410993 0.015015 0.002295\nv 0.411803991 0.00022 0.001674\nv 0.399410993 0.000844 0.001464\nv 0.399410993 0.000844 0.001464\nv 0.411803991 0.00022 0.001674\nv 0.405304015 -0.010515 0.010962\nv 0.399410993 -0.005519 0.014151\nv 0.405304015 -0.008477 0.02644\nv 0.399410993 0.002287 0.027671\nv 0.411803991 0.004296 0.032632001\nv 0.399410993 0.016456001 0.028503999\nv 0.430696011 0.004953 0.027319999\nv 0.430696011 0.008994 0.01224\nv 0.424196005 -0.000437 0.001631\nv 0.424196005 -0.000437 0.001631\nv 0.417695999 -0.013909 0.006103\nv 0.417695999 -0.01795 0.021183001\nv 0.424196005 -0.008519 0.031792998\nv 0.443087995 -0.005879 0.027136\nv 0.443087995 0.003625 0.014751\nv 0.436587989 -0.001029 0.00134\nv 0.436587989 -0.001029 0.00134\nv 0.430088013 -0.015187 0.000316\nv 0.430088013 -0.024691001 0.012702\nv 0.436587989 -0.020036999 0.026113\nv 0.455480009 -0.015815999 0.022821\nv 0.455480009 -0.002295 0.015015\nv 0.448980004 -0.001464 0.000844\nv 0.448980004 -0.001464 0.000844\nv 0.442479998 -0.014151 -0.005519\nv 0.442479998 -0.027671 0.002287\nv 0.448980004 -0.028503999 0.016456001\nv 0.467873007 -0.023344999 0.015032\nv 0.467873007 -0.007867 0.012993\nv 0.461371988 -0.001674 0.00022\nv 0.461371988 -0.001674 0.00022\nv 0.454872012 -0.010962 -0.010515\nv 0.454872012 -0.02644 -0.008477\nv 0.461371988 -0.032632001 0.004296\nv 0.480264992 -0.027319999 0.004953\nv 0.480264992 -0.01224 0.008994\nv 0.473764002 -0.001631 -0.000437\nv 0.473764002 -0.001631 -0.000437\nv 0.467263997 -0.006103 -0.013909\nv 0.467263997 -0.021183001 -0.01795\nv 0.473764002 -0.031792998 -0.008519\nv 0.492657006 -0.027136 -0.005879\nv 0.492657006 -0.014751 0.003625\nv 0.486155987 -0.00134 -0.001029\nv 0.486155987 -0.00134 -0.001029\nv 0.479656011 -0.000316 -0.015187\nv 0.479656011 -0.012702 -0.024691001\nv 0.486155987 -0.026113 -0.020036999\nv 0.50504899 -0.022821 -0.015815999\nv 0.50504899 -0.015015 -0.002295\nv 0.498548001 -0.000844 -0.001464\nv 0.498548001 -0.000844 -0.001464\nv 0.492047995 0.005519 -0.014151\nv 0.492047995 -0.002287 -0.027671\nv 0.498548001 -0.016456001 -0.028503999\nv 0.517441988 -0.015032 -0.023344999\nv 0.517441988 -0.012993 -0.007867\nv 0.510940015 -0.000221 -0.001674\nv 0.510940015 -0.000221 -0.001674\nv 0.504441023 0.010515 -0.010962\nv 0.504441023 0.008477 -0.02644\nv 0.510940015 -0.004296 -0.032632001\nv 0.529833972 -0.004953 -0.027319999\nv 0.529833972 -0.008994 -0.01224\nv 0.523334026 0.000437 -0.001631\nv 0.523334026 0.000437 -0.001631\nv 0.516833007 0.013909 -0.006103\nv 0.516833007 0.01795 -0.021183001\nv 0.523334026 0.008519 -0.031792998\nv 0.542226017 0.005879 -0.027136\nv 0.542226017 -0.003625 -0.014751\nv 0.535726011 0.001028 -0.00134\nv 0.535726011 0.001028 -0.00134\nv 0.529224992 0.015187 -0.000316\nv 0.529224992 0.024691001 -0.012702\nv 0.535726011 0.020036999 -0.026113\nv 0.554618001 0.015815999 -0.022821\nv 0.554618001 0.002295 -0.015015\nv 0.548117995 0.001464 -0.000844\nv 0.548117995 0.001464 -0.000844\nv 0.541616976 0.014151 0.005519\nv 0.541616976 0.027671 -0.002287\nv 0.548117995 0.028503999 -0.016456001\nv 0.567009985 0.023344999 -0.015032\nv 0.567009985 0.007867 -0.012993\nv 0.56050998 0.001674 -0.00022\nv 0.56050998 0.001674 -0.00022\nv 0.554009974 0.010962 0.010515\nv 0.554009974 0.02644 0.008477\nv 0.56050998 0.032632001 -0.004296\nv 0.57940203 0.027319999 -0.004953\nv 0.57940203 0.01224 -0.008994\nv 0.572902024 0.001631 0.000437\nv 0.572902024 0.001631 0.000437\nv 0.566402018 0.006103 0.013909\nv 0.566402018 0.021183001 0.01795\nv 0.572902024 0.031791002 0.008519\nv 0.591794014 0.027136 0.005879\nv 0.591794014 0.014751 -0.003625\nv 0.585294008 0.00134 0.001029\nv 0.585294008 0.00134 0.001029\nv 0.578795016 0.000316 0.015187\nv 0.578795016 0.012702 0.024691001\nv 0.585294008 0.026113 0.020036999\nv 0.599394977 0.022821 0.015815999\nv 0.599394977 0.015015 0.002295\nv 0.59939301 0.000844 0.001464\nv 0.59939301 0.000844 0.001464\nv 0.599391997 -0.005519 0.014151\nv 0.599391997 0.002287 0.027671\nv 0.59939301 0.016456001 0.028503999\nv 0.399410993 0.002287 -0.027671\nv 0.418303013 0.012702 -0.024691001\nv 0.418303013 0.000316 -0.015187\nv 0.399410993 -0.005519 -0.014151\nv 0.411803991 0.00134 -0.001029\nv 0.399410993 0.000844 -0.001464\nv 0.399410993 0.000844 -0.001464\nv 0.411803991 0.00134 -0.001029\nv 0.405304015 0.014751 0.003625\nv 0.399410993 0.015015 -0.002295\nv 0.405304015 0.027136 -0.005879\nv 0.399410993 0.022821 -0.015815999\nv 0.411803991 0.026113 -0.020036999\nv 0.399410993 0.016456001 -0.028503999\nv 0.430696011 0.021183001 -0.01795\nv 0.430696011 0.006103 -0.013909\nv 0.424196005 0.001631 -0.000437\nv 0.424196005 0.001631 -0.000437\nv 0.417695999 0.01224 0.008994\nv 0.417695999 0.027319999 0.004953\nv 0.424196005 0.031792998 -0.008519\nv 0.443087995 0.02644 -0.008477\nv 0.443087995 0.010962 -0.010515\nv 0.436587989 0.001674 0.00022\nv 0.436587989 0.001674 0.00022\nv 0.430088013 0.007867 0.012993\nv 0.430088013 0.023344999 0.015032\nv 0.436587989 0.032632001 0.004296\nv 0.455480009 0.027671 0.002287\nv 0.455480009 0.014151 -0.005519\nv 0.448980004 0.001464 0.000844\nv 0.448980004 0.001464 0.000844\nv 0.442479998 0.002295 0.015015\nv 0.442479998 0.015815999 0.022821\nv 0.448980004 0.028503999 0.016456001\nv 0.467873007 0.024691001 0.012702\nv 0.467873007 0.015187 0.000316\nv 0.461371988 0.001028 0.00134\nv 0.461371988 0.001028 0.00134\nv 0.454872012 -0.003625 0.014751\nv 0.454872012 0.005879 0.027136\nv 0.461371988 0.020036999 0.026113\nv 0.480264992 0.01795 0.021183001\nv 0.480264992 0.013909 0.006103\nv 0.473764002 0.000437 0.001631\nv 0.473764002 0.000437 0.001631\nv 0.467263997 -0.008994 0.01224\nv 0.467263997 -0.004953 0.027319999\nv 0.473764002 0.008519 0.031792998\nv 0.492657006 0.008477 0.02644\nv 0.492657006 0.010515 0.010962\nv 0.486155987 -0.000221 0.001674\nv 0.486155987 -0.000221 0.001674\nv 0.479656011 -0.012993 0.007867\nv 0.479656011 -0.015032 0.023344999\nv 0.486155987 -0.004296 0.032632001\nv 0.50504899 -0.002287 0.027671\nv 0.50504899 0.005519 0.014151\nv 0.498548001 -0.000844 0.001464\nv 0.498548001 -0.000844 0.001464\nv 0.492047995 -0.015015 0.002295\nv 0.492047995 -0.022821 0.015815999\nv 0.498548001 -0.016456001 0.028503999\nv 0.517441988 -0.012702 0.024691001\nv 0.517441988 -0.000316 0.015187\nv 0.510940015 -0.00134 0.001029\nv 0.510940015 -0.00134 0.001029\nv 0.504441023 -0.014751 -0.003625\nv 0.504441023 -0.027136 0.005879\nv 0.510940015 -0.026113 0.020036999\nv 0.529833972 -0.021183001 0.01795\nv 0.529833972 -0.006103 0.013909\nv 0.523334026 -0.001631 0.000437\nv 0.523334026 -0.001631 0.000437\nv 0.516833007 -0.01224 -0.008994\nv 0.516833007 -0.027319999 -0.004953\nv 0.523334026 -0.031792998 0.008519\nv 0.542226017 -0.02644 0.008477\nv 0.542226017 -0.010962 0.010515\nv 0.535726011 -0.001674 -0.00022\nv 0.535726011 -0.001674 -0.00022\nv 0.529224992 -0.007867 -0.012993\nv 0.529224992 -0.023344999 -0.015032\nv 0.535726011 -0.032632001 -0.004296\nv 0.554618001 -0.027671 -0.002287\nv 0.554618001 -0.014151 0.005519\nv 0.548117995 -0.001464 -0.000844\nv 0.548117995 -0.001464 -0.000844\nv 0.541616976 -0.002295 -0.015015\nv 0.541616976 -0.015815999 -0.022821\nv 0.548117995 -0.028503999 -0.016456001\nv 0.567009985 -0.024691001 -0.012702\nv 0.567009985 -0.015187 -0.000316\nv 0.56050998 -0.001029 -0.00134\nv 0.56050998 -0.001029 -0.00134\nv 0.554009974 0.003625 -0.014751\nv 0.554009974 -0.005879 -0.027136\nv 0.56050998 -0.020036999 -0.026113\nv 0.57940203 -0.01795 -0.021183001\nv 0.57940203 -0.013909 -0.006103\nv 0.572902024 -0.000437 -0.001631\nv 0.572902024 -0.000437 -0.001631\nv 0.566402018 0.008994 -0.01224\nv 0.566402018 0.004953 -0.027319999\nv 0.572902024 -0.008519 -0.031792998\nv 0.591794014 -0.008477 -0.02644\nv 0.591794014 -0.010515 -0.010962\nv 0.585294008 0.00022 -0.001674\nv 0.585294008 0.00022 -0.001674\nv 0.578795016 0.012993 -0.007867\nv 0.578795016 0.015032 -0.023344999\nv 0.585294008 0.004296 -0.032632001\nv 0.599394977 0.002287 -0.027671\nv 0.599394977 -0.005519 -0.014151\nv 0.59939301 0.000844 -0.001464\nv 0.59939301 0.000844 -0.001464\nv 0.599391997 0.015015 -0.002295\nv 0.599391997 0.022821 -0.015815999\nv 0.59939301 0.016456001 -0.028503999\nv 0.599171996 -0.025108 0.011856\nv 0.618065 -0.027734 0.001345\nv 0.618065 -0.013309 0.007319\nv 0.599171996 -0.009496 0.011856\nv 0.611566007 -0.001561 -0.000647\nv 0.599171996 -0.00169 0\nv 0.599171996 -0.00169 0\nv 0.611566007 -0.001561 -0.000647\nv 0.605063975 -0.004236 -0.014587\nv 0.599171996 -0.009496 -0.011856\nv 0.605063975 -0.018658999 -0.020561\nv 0.599171996 -0.025108 -0.011856\nv 0.611566007 -0.030408001 -0.012595\nv 0.599171996 -0.032914001 0\nv 0.630457997 -0.026137 -0.009371\nv 0.630457997 -0.015097 0.001669\nv 0.623957992 -0.001194 -0.001194\nv 0.623957992 -0.001194 -0.001194\nv 0.617456973 0.001669 -0.015097\nv 0.617456973 -0.009371 -0.026137\nv 0.623957992 -0.023274001 -0.023274001\nv 0.642849982 -0.020561 -0.018658999\nv 0.642849982 -0.014587 -0.004236\nv 0.636349976 -0.000647 -0.001561\nv 0.636349976 -0.000647 -0.001561\nv 0.629849017 0.007319 -0.013309\nv 0.629849017 0.001345 -0.027734\nv 0.636349976 -0.012595 -0.030408001\nv 0.655242026 -0.011856 -0.025108\nv 0.655242026 -0.011856 -0.009496\nv 0.64874202 0 -0.00169\nv 0.64874202 0 -0.00169\nv 0.642242014 0.011856 -0.009496\nv 0.642242014 0.011856 -0.025108\nv 0.64874202 0 -0.032914001\nv 0.66763401 -0.001345 -0.027734\nv 0.66763401 -0.007319 -0.013309\nv 0.661134005 0.000647 -0.001561\nv 0.661134005 0.000647 -0.001561\nv 0.654632986 0.014587 -0.004236\nv 0.654632986 0.020561 -0.018658999\nv 0.661134005 0.012595 -0.030408001\nv 0.680025995 0.009371 -0.026137\nv 0.680025995 -0.001669 -0.015097\nv 0.673525989 0.001194 -0.001194\nv 0.673525989 0.001194 -0.001194\nv 0.66702503 0.015097 0.001669\nv 0.66702503 0.026137 -0.009371\nv 0.673525989 0.023274001 -0.023274001\nv 0.692417979 0.018658999 -0.020561\nv 0.692417979 0.004236 -0.014587\nv 0.685917974 0.001561 -0.000647\nv 0.685917974 0.001561 -0.000647\nv 0.679418027 0.013309 0.007319\nv 0.679418027 0.027734 0.001345\nv 0.685917974 0.030408001 -0.012595\nv 0.704810023 0.025108 -0.011856\nv 0.704810023 0.009496 -0.011856\nv 0.698310018 0.00169 0\nv 0.698310018 0.00169 0\nv 0.691810012 0.009496 0.011856\nv 0.691810012 0.025108 0.011856\nv 0.698310018 0.032914001 0\nv 0.717202008 0.027734 -0.001345\nv 0.717202008 0.013309 -0.007319\nv 0.710702002 0.001561 0.000647\nv 0.710702002 0.001561 0.000647\nv 0.704201996 0.004236 0.014587\nv 0.704201996 0.018658999 0.020561\nv 0.710702002 0.030408001 0.012595\nv 0.729593992 0.026137 0.009371\nv 0.729593992 0.015097 -0.001669\nv 0.723093987 0.001194 0.001194\nv 0.723093987 0.001194 0.001194\nv 0.716594994 -0.001669 0.015097\nv 0.716594994 0.009371 0.026137\nv 0.723093987 0.023274001 0.023274001\nv 0.741985977 0.020561 0.018658999\nv 0.741985977 0.014587 0.004236\nv 0.735486984 0.000647 0.001561\nv 0.735486984 0.000647 0.001561\nv 0.728986979 -0.007319 0.013309\nv 0.728986979 -0.001345 0.027734\nv 0.735486984 0.012595 0.030408001\nv 0.754378974 0.011856 0.025108\nv 0.754378974 0.011856 0.009496\nv 0.747879028 0 0.00169\nv 0.747879028 0 0.00169\nv 0.741379023 -0.011856 0.009496\nv 0.741379023 -0.011856 0.025108\nv 0.747879028 0 0.032914001\nv 0.766771019 0.001345 0.027734\nv 0.766771019 0.007319 0.013309\nv 0.760271013 -0.000647 0.001561\nv 0.760271013 -0.000647 0.001561\nv 0.753771007 -0.014587 0.004236\nv 0.753771007 -0.020561 0.018658999\nv 0.760271013 -0.012595 0.030408001\nv 0.779163003 -0.009371 0.026137\nv 0.779163003 0.001669 0.015097\nv 0.772662997 -0.001194 0.001194\nv 0.772662997 -0.001194 0.001194\nv 0.766162992 -0.015097 -0.001669\nv 0.766162992 -0.026137 0.009371\nv 0.772662997 -0.023274001 0.023274001\nv 0.791554987 -0.018658999 0.020561\nv 0.791554987 -0.004236 0.014587\nv 0.785054982 -0.001561 0.000647\nv 0.785054982 -0.001561 0.000647\nv 0.778554976 -0.013309 -0.007319\nv 0.778554976 -0.027734 -0.001345\nv 0.785054982 -0.030408001 0.012595\nv 0.799154997 -0.025108 0.011856\nv 0.799154997 -0.009496 0.011856\nv 0.799153984 -0.00169 0\nv 0.799153984 -0.00169 0\nv 0.79915297 -0.009496 -0.011856\nv 0.79915297 -0.025108 -0.011856\nv 0.799153984 -0.032914001 0\nv 0.599171996 0.022821 0.015815999\nv 0.618065 0.015032 0.023344999\nv 0.618065 0.012993 0.007867\nv 0.599171996 0.015015 0.002295\nv 0.611566007 0.00022 0.001674\nv 0.599171996 0.000844 0.001464\nv 0.599171996 0.000844 0.001464\nv 0.611566007 0.00022 0.001674\nv 0.605063975 -0.010515 0.010962\nv 0.599171996 -0.005519 0.014151\nv 0.605063975 -0.008477 0.02644\nv 0.599171996 0.002287 0.027671\nv 0.611566007 0.004296 0.032632001\nv 0.599171996 0.016456001 0.028503999\nv 0.630457997 0.004953 0.027319999\nv 0.630457997 0.008994 0.01224\nv 0.623957992 -0.000437 0.001631\nv 0.623957992 -0.000437 0.001631\nv 0.617456973 -0.013909 0.006103\nv 0.617456973 -0.01795 0.021183001\nv 0.623957992 -0.008519 0.031792998\nv 0.642849982 -0.005879 0.027136\nv 0.642849982 0.003625 0.014751\nv 0.636349976 -0.001029 0.00134\nv 0.636349976 -0.001029 0.00134\nv 0.629849017 -0.015187 0.000316\nv 0.629849017 -0.024691001 0.012702\nv 0.636349976 -0.020036999 0.026113\nv 0.655242026 -0.015815999 0.022821\nv 0.655242026 -0.002295 0.015015\nv 0.64874202 -0.001464 0.000844\nv 0.64874202 -0.001464 0.000844\nv 0.642242014 -0.014151 -0.005519\nv 0.642242014 -0.027671 0.002287\nv 0.64874202 -0.028503999 0.016456001\nv 0.66763401 -0.023344999 0.015032\nv 0.66763401 -0.007867 0.012993\nv 0.661134005 -0.001674 0.00022\nv 0.661134005 -0.001674 0.00022\nv 0.654632986 -0.010962 -0.010515\nv 0.654632986 -0.02644 -0.008477\nv 0.661134005 -0.032632001 0.004296\nv 0.680025995 -0.027319999 0.004953\nv 0.680025995 -0.01224 0.008994\nv 0.673525989 -0.001631 -0.000437\nv 0.673525989 -0.001631 -0.000437\nv 0.66702503 -0.006103 -0.013909\nv 0.66702503 -0.021183001 -0.01795\nv 0.673525989 -0.031792998 -0.008519\nv 0.692417979 -0.027136 -0.005879\nv 0.692417979 -0.014751 0.003625\nv 0.685917974 -0.00134 -0.001029\nv 0.685917974 -0.00134 -0.001029\nv 0.679418027 -0.000316 -0.015187\nv 0.679418027 -0.012702 -0.024691001\nv 0.685917974 -0.026113 -0.020036999\nv 0.704810023 -0.022821 -0.015815999\nv 0.704810023 -0.015015 -0.002295\nv 0.698310018 -0.000844 -0.001464\nv 0.698310018 -0.000844 -0.001464\nv 0.691810012 0.005519 -0.014151\nv 0.691810012 -0.002287 -0.027671\nv 0.698310018 -0.016456001 -0.028503999\nv 0.717202008 -0.015032 -0.023344999\nv 0.717202008 -0.012993 -0.007867\nv 0.710702002 -0.000221 -0.001674\nv 0.710702002 -0.000221 -0.001674\nv 0.704201996 0.010515 -0.010962\nv 0.704201996 0.008477 -0.02644\nv 0.710702002 -0.004296 -0.032632001\nv 0.729593992 -0.004953 -0.027319999\nv 0.729593992 -0.008994 -0.01224\nv 0.723093987 0.000437 -0.001631\nv 0.723093987 0.000437 -0.001631\nv 0.716594994 0.013909 -0.006103\nv 0.716594994 0.01795 -0.021183001\nv 0.723093987 0.008519 -0.031792998\nv 0.741985977 0.005879 -0.027136\nv 0.741985977 -0.003625 -0.014751\nv 0.735486984 0.001028 -0.00134\nv 0.735486984 0.001028 -0.00134\nv 0.728986979 0.015187 -0.000316\nv 0.728986979 0.024691001 -0.012702\nv 0.735486984 0.020036999 -0.026113\nv 0.754378974 0.015815999 -0.022821\nv 0.754378974 0.002295 -0.015015\nv 0.747879028 0.001464 -0.000844\nv 0.747879028 0.001464 -0.000844\nv 0.741379023 0.014151 0.005519\nv 0.741379023 0.027671 -0.002287\nv 0.747879028 0.028503999 -0.016456001\nv 0.766771019 0.023344999 -0.015032\nv 0.766771019 0.007867 -0.012993\nv 0.760271013 0.001674 -0.00022\nv 0.760271013 0.001674 -0.00022\nv 0.753771007 0.010962 0.010515\nv 0.753771007 0.02644 0.008477\nv 0.760271013 0.032632001 -0.004296\nv 0.779163003 0.027319999 -0.004953\nv 0.779163003 0.01224 -0.008994\nv 0.772662997 0.001631 0.000437\nv 0.772662997 0.001631 0.000437\nv 0.766162992 0.006103 0.013909\nv 0.766162992 0.021183001 0.01795\nv 0.772662997 0.031791002 0.008519\nv 0.791554987 0.027136 0.005879\nv 0.791554987 0.014751 -0.003625\nv 0.785054982 0.00134 0.001029\nv 0.785054982 0.00134 0.001029\nv 0.778554976 0.000316 0.015187\nv 0.778554976 0.012702 0.024691001\nv 0.785054982 0.026113 0.020036999\nv 0.799154997 0.022821 0.015815999\nv 0.799154997 0.015015 0.002295\nv 0.799153984 0.000844 0.001464\nv 0.799153984 0.000844 0.001464\nv 0.79915297 -0.005519 0.014151\nv 0.79915297 0.002287 0.027671\nv 0.799153984 0.016456001 0.028503999\nv 0.599171996 0.002287 -0.027671\nv 0.618065 0.012702 -0.024691001\nv 0.618065 0.000316 -0.015187\nv 0.599171996 -0.005519 -0.014151\nv 0.611566007 0.00134 -0.001029\nv 0.599171996 0.000844 -0.001464\nv 0.599171996 0.000844 -0.001464\nv 0.611566007 0.00134 -0.001029\nv 0.605063975 0.014751 0.003625\nv 0.599171996 0.015015 -0.002295\nv 0.605063975 0.027136 -0.005879\nv 0.599171996 0.022821 -0.015815999\nv 0.611566007 0.026113 -0.020036999\nv 0.599171996 0.016456001 -0.028503999\nv 0.630457997 0.021183001 -0.01795\nv 0.630457997 0.006103 -0.013909\nv 0.623957992 0.001631 -0.000437\nv 0.623957992 0.001631 -0.000437\nv 0.617456973 0.01224 0.008994\nv 0.617456973 0.027319999 0.004953\nv 0.623957992 0.031792998 -0.008519\nv 0.642849982 0.02644 -0.008477\nv 0.642849982 0.010962 -0.010515\nv 0.636349976 0.001674 0.00022\nv 0.636349976 0.001674 0.00022\nv 0.629849017 0.007867 0.012993\nv 0.629849017 0.023344999 0.015032\nv 0.636349976 0.032632001 0.004296\nv 0.655242026 0.027671 0.002287\nv 0.655242026 0.014151 -0.005519\nv 0.64874202 0.001464 0.000844\nv 0.64874202 0.001464 0.000844\nv 0.642242014 0.002295 0.015015\nv 0.642242014 0.015815999 0.022821\nv 0.64874202 0.028503999 0.016456001\nv 0.66763401 0.024691001 0.012702\nv 0.66763401 0.015187 0.000316\nv 0.661134005 0.001028 0.00134\nv 0.661134005 0.001028 0.00134\nv 0.654632986 -0.003625 0.014751\nv 0.654632986 0.005879 0.027136\nv 0.661134005 0.020036999 0.026113\nv 0.680025995 0.01795 0.021183001\nv 0.680025995 0.013909 0.006103\nv 0.673525989 0.000437 0.001631\nv 0.673525989 0.000437 0.001631\nv 0.66702503 -0.008994 0.01224\nv 0.66702503 -0.004953 0.027319999\nv 0.673525989 0.008519 0.031792998\nv 0.692417979 0.008477 0.02644\nv 0.692417979 0.010515 0.010962\nv 0.685917974 -0.000221 0.001674\nv 0.685917974 -0.000221 0.001674\nv 0.679418027 -0.012993 0.007867\nv 0.679418027 -0.015032 0.023344999\nv 0.685917974 -0.004296 0.032632001\nv 0.704810023 -0.002287 0.027671\nv 0.704810023 0.005519 0.014151\nv 0.698310018 -0.000844 0.001464\nv 0.698310018 -0.000844 0.001464\nv 0.691810012 -0.015015 0.002295\nv 0.691810012 -0.022821 0.015815999\nv 0.698310018 -0.016456001 0.028503999\nv 0.717202008 -0.012702 0.024691001\nv 0.717202008 -0.000316 0.015187\nv 0.710702002 -0.00134 0.001029\nv 0.710702002 -0.00134 0.001029\nv 0.704201996 -0.014751 -0.003625\nv 0.704201996 -0.027136 0.005879\nv 0.710702002 -0.026113 0.020036999\nv 0.729593992 -0.021183001 0.01795\nv 0.729593992 -0.006103 0.013909\nv 0.723093987 -0.001631 0.000437\nv 0.723093987 -0.001631 0.000437\nv 0.716594994 -0.01224 -0.008994\nv 0.716594994 -0.027319999 -0.004953\nv 0.723093987 -0.031792998 0.008519\nv 0.741985977 -0.02644 0.008477\nv 0.741985977 -0.010962 0.010515\nv 0.735486984 -0.001674 -0.00022\nv 0.735486984 -0.001674 -0.00022\nv 0.728986979 -0.007867 -0.012993\nv 0.728986979 -0.023344999 -0.015032\nv 0.735486984 -0.032632001 -0.004296\nv 0.754378974 -0.027671 -0.002287\nv 0.754378974 -0.014151 0.005519\nv 0.747879028 -0.001464 -0.000844\nv 0.747879028 -0.001464 -0.000844\nv 0.741379023 -0.002295 -0.015015\nv 0.741379023 -0.015815999 -0.022821\nv 0.747879028 -0.028503999 -0.016456001\nv 0.766771019 -0.024691001 -0.012702\nv 0.766771019 -0.015187 -0.000316\nv 0.760271013 -0.001029 -0.00134\nv 0.760271013 -0.001029 -0.00134\nv 0.753771007 0.003625 -0.014751\nv 0.753771007 -0.005879 -0.027136\nv 0.760271013 -0.020036999 -0.026113\nv 0.779163003 -0.01795 -0.021183001\nv 0.779163003 -0.013909 -0.006103\nv 0.772662997 -0.000437 -0.001631\nv 0.772662997 -0.000437 -0.001631\nv 0.766162992 0.008994 -0.01224\nv 0.766162992 0.004953 -0.027319999\nv 0.772662997 -0.008519 -0.031792998\nv 0.791554987 -0.008477 -0.02644\nv 0.791554987 -0.010515 -0.010962\nv 0.785054982 0.00022 -0.001674\nv 0.785054982 0.00022 -0.001674\nv 0.778554976 0.012993 -0.007867\nv 0.778554976 0.015032 -0.023344999\nv 0.785054982 0.004296 -0.032632001\nv 0.799154997 0.002287 -0.027671\nv 0.799154997 -0.005519 -0.014151\nv 0.799153984 0.000844 -0.001464\nv 0.799153984 0.000844 -0.001464\nv 0.79915297 0.015015 -0.002295\nv 0.79915297 0.022821 -0.015815999\nv 0.799153984 0.016456001 -0.028503999\nv 0.798933983 -0.025108 0.011856\nv 0.817825973 -0.027734 0.001345\nv 0.817825973 -0.013309 0.007319\nv 0.798933983 -0.009496 0.011856\nv 0.811326027 -0.001561 -0.000647\nv 0.798933029 -0.00169 0\nv 0.798933029 -0.00169 0\nv 0.811326027 -0.001561 -0.000647\nv 0.804826975 -0.004236 -0.014587\nv 0.798933029 -0.009496 -0.011856\nv 0.804826975 -0.018658999 -0.020561\nv 0.798933029 -0.025108 -0.011856\nv 0.811326027 -0.030408001 -0.012595\nv 0.798933029 -0.032914001 0\nv 0.830218017 -0.026137 -0.009371\nv 0.830218017 -0.015097 0.001669\nv 0.823718011 -0.001194 -0.001194\nv 0.823718011 -0.001194 -0.001194\nv 0.817219019 0.001669 -0.015097\nv 0.817219019 -0.009371 -0.026137\nv 0.823718011 -0.023274001 -0.023274001\nv 0.842610002 -0.020561 -0.018658999\nv 0.842610002 -0.014587 -0.004236\nv 0.836109996 -0.000647 -0.001561\nv 0.836109996 -0.000647 -0.001561\nv 0.829611003 0.007319 -0.013309\nv 0.829611003 0.001345 -0.027734\nv 0.836109996 -0.012595 -0.030408001\nv 0.855001986 -0.011856 -0.025108\nv 0.855001986 -0.011856 -0.009496\nv 0.848502994 0 -0.00169\nv 0.848502994 0 -0.00169\nv 0.842002988 0.011856 -0.009496\nv 0.842002988 0.011856 -0.025108\nv 0.848502994 0 -0.032914001\nv 0.867394984 -0.001345 -0.027734\nv 0.867394984 -0.007319 -0.013309\nv 0.860894978 0.000647 -0.001561\nv 0.860894978 0.000647 -0.001561\nv 0.854394972 0.014587 -0.004236\nv 0.854394972 0.020561 -0.018658999\nv 0.860894978 0.012595 -0.030408001\nv 0.879787028 0.009371 -0.026137\nv 0.879787028 -0.001669 -0.015097\nv 0.873287022 0.001194 -0.001194\nv 0.873287022 0.001194 -0.001194\nv 0.866787016 0.015097 0.001669\nv 0.866787016 0.026137 -0.009371\nv 0.873287022 0.023274001 -0.023274001\nv 0.892179012 0.018658999 -0.020561\nv 0.892179012 0.004236 -0.014587\nv 0.885679007 0.001561 -0.000647\nv 0.885679007 0.001561 -0.000647\nv 0.879179001 0.013309 0.007319\nv 0.879179001 0.027734 0.001345\nv 0.885679007 0.030408001 -0.012595\nv 0.904570997 0.025108 -0.011856\nv 0.904570997 0.009496 -0.011856\nv 0.898070991 0.00169 0\nv 0.898070991 0.00169 0\nv 0.891570985 0.009496 0.011856\nv 0.891570985 0.025108 0.011856\nv 0.898070991 0.032914001 0\nv 0.916962981 0.027734 -0.001345\nv 0.916962981 0.013309 -0.007319\nv 0.910462976 0.001561 0.000647\nv 0.910462976 0.001561 0.000647\nv 0.903963029 0.004236 0.014587\nv 0.903963029 0.018658999 0.020561\nv 0.910462976 0.030408001 0.012595\nv 0.929355025 0.026137 0.009371\nv 0.929355025 0.015097 -0.001669\nv 0.92285502 0.001194 0.001194\nv 0.92285502 0.001194 0.001194\nv 0.916355014 -0.001669 0.015097\nv 0.916355014 0.009371 0.026137\nv 0.92285502 0.023274001 0.023274001\nv 0.94174701 0.020561 0.018658999\nv 0.94174701 0.014587 0.004236\nv 0.935247004 0.000647 0.001561\nv 0.935247004 0.000647 0.001561\nv 0.928748012 -0.007319 0.013309\nv 0.928748012 -0.001345 0.027734\nv 0.935247004 0.012595 0.030408001\nv 0.954138994 0.011856 0.025108\nv 0.954138994 0.011856 0.009496\nv 0.947638988 0 0.00169\nv 0.947638988 0 0.00169\nv 0.941139996 -0.011856 0.009496\nv 0.941139996 -0.011856 0.025108\nv 0.947638988 0 0.032914001\nv 0.966533005 0.001345 0.027734\nv 0.966533005 0.007319 0.013309\nv 0.960031986 -0.000647 0.001561\nv 0.960031986 -0.000647 0.001561\nv 0.953531981 -0.014587 0.004236\nv 0.953531981 -0.020561 0.018658999\nv 0.960031986 -0.012595 0.030408001\nv 0.97892499 -0.009371 0.026137\nv 0.97892499 0.001669 0.015097\nv 0.972423971 -0.001194 0.001194\nv 0.972423971 -0.001194 0.001194\nv 0.965924025 -0.015097 -0.001669\nv 0.965924025 -0.026137 0.009371\nv 0.972423971 -0.023274001 0.023274001\nv 0.991316974 -0.018658999 0.020561\nv 0.991316974 -0.004236 0.014587\nv 0.984816015 -0.001561 0.000647\nv 0.984816015 -0.001561 0.000647\nv 0.978316009 -0.013309 -0.007319\nv 0.978316009 -0.027734 -0.001345\nv 0.984816015 -0.030408001 0.012595\nv 0.99891597 -0.025108 0.011856\nv 0.99891597 -0.009496 0.011856\nv 0.998915017 -0.00169 0\nv 0.998915017 -0.00169 0\nv 0.998914003 -0.009496 -0.011856\nv 0.998914003 -0.025108 -0.011856\nv 0.998915017 -0.032914001 0\nv 0.798933983 0.022821 0.015815999\nv 0.817825973 0.015032 0.023344999\nv 0.817825973 0.012993 0.007867\nv 0.798933983 0.015015 0.002295\nv 0.811326027 0.00022 0.001674\nv 0.798933029 0.000844 0.001464\nv 0.798933029 0.000844 0.001464\nv 0.811326027 0.00022 0.001674\nv 0.804826975 -0.010515 0.010962\nv 0.798933029 -0.005519 0.014151\nv 0.804826975 -0.008477 0.02644\nv 0.798933029 0.002287 0.027671\nv 0.811326027 0.004296 0.032632001\nv 0.798933029 0.016456001 0.028503999\nv 0.830218017 0.004953 0.027319999\nv 0.830218017 0.008994 0.01224\nv 0.823718011 -0.000437 0.001631\nv 0.823718011 -0.000437 0.001631\nv 0.817219019 -0.013909 0.006103\nv 0.817219019 -0.01795 0.021183001\nv 0.823718011 -0.008519 0.031792998\nv 0.842610002 -0.005879 0.027136\nv 0.842610002 0.003625 0.014751\nv 0.836109996 -0.001029 0.00134\nv 0.836109996 -0.001029 0.00134\nv 0.829611003 -0.015187 0.000316\nv 0.829611003 -0.024691001 0.012702\nv 0.836109996 -0.020036999 0.026113\nv 0.855001986 -0.015815999 0.022821\nv 0.855001986 -0.002295 0.015015\nv 0.848502994 -0.001464 0.000844\nv 0.848502994 -0.001464 0.000844\nv 0.842002988 -0.014151 -0.005519\nv 0.842002988 -0.027671 0.002287\nv 0.848502994 -0.028503999 0.016456001\nv 0.867394984 -0.023344999 0.015032\nv 0.867394984 -0.007867 0.012993\nv 0.860894978 -0.001674 0.00022\nv 0.860894978 -0.001674 0.00022\nv 0.854394972 -0.010962 -0.010515\nv 0.854394972 -0.02644 -0.008477\nv 0.860894978 -0.032632001 0.004296\nv 0.879787028 -0.027319999 0.004953\nv 0.879787028 -0.01224 0.008994\nv 0.873287022 -0.001631 -0.000437\nv 0.873287022 -0.001631 -0.000437\nv 0.866787016 -0.006103 -0.013909\nv 0.866787016 -0.021183001 -0.01795\nv 0.873287022 -0.031792998 -0.008519\nv 0.892179012 -0.027136 -0.005879\nv 0.892179012 -0.014751 0.003625\nv 0.885679007 -0.00134 -0.001029\nv 0.885679007 -0.00134 -0.001029\nv 0.879179001 -0.000316 -0.015187\nv 0.879179001 -0.012702 -0.024691001\nv 0.885679007 -0.026113 -0.020036999\nv 0.904570997 -0.022821 -0.015815999\nv 0.904570997 -0.015015 -0.002295\nv 0.898070991 -0.000844 -0.001464\nv 0.898070991 -0.000844 -0.001464\nv 0.891570985 0.005519 -0.014151\nv 0.891570985 -0.002287 -0.027671\nv 0.898070991 -0.016456001 -0.028503999\nv 0.916962981 -0.015032 -0.023344999\nv 0.916962981 -0.012993 -0.007867\nv 0.910462976 -0.000221 -0.001674\nv 0.910462976 -0.000221 -0.001674\nv 0.903963029 0.010515 -0.010962\nv 0.903963029 0.008477 -0.02644\nv 0.910462976 -0.004296 -0.032632001\nv 0.929355025 -0.004953 -0.027319999\nv 0.929355025 -0.008994 -0.01224\nv 0.92285502 0.000437 -0.001631\nv 0.92285502 0.000437 -0.001631\nv 0.916355014 0.013909 -0.006103\nv 0.916355014 0.01795 -0.021183001\nv 0.92285502 0.008519 -0.031792998\nv 0.94174701 0.005879 -0.027136\nv 0.94174701 -0.003625 -0.014751\nv 0.935247004 0.001028 -0.00134\nv 0.935247004 0.001028 -0.00134\nv 0.928748012 0.015187 -0.000316\nv 0.928748012 0.024691001 -0.012702\nv 0.935247004 0.020036999 -0.026113\nv 0.954138994 0.015815999 -0.022821\nv 0.954138994 0.002295 -0.015015\nv 0.947638988 0.001464 -0.000844\nv 0.947638988 0.001464 -0.000844\nv 0.941139996 0.014151 0.005519\nv 0.941139996 0.027671 -0.002287\nv 0.947638988 0.028503999 -0.016456001\nv 0.966533005 0.023344999 -0.015032\nv 0.966533005 0.007867 -0.012993\nv 0.960031986 0.001674 -0.00022\nv 0.960031986 0.001674 -0.00022\nv 0.953531981 0.010962 0.010515\nv 0.953531981 0.02644 0.008477\nv 0.960031986 0.032632001 -0.004296\nv 0.97892499 0.027319999 -0.004953\nv 0.97892499 0.01224 -0.008994\nv 0.972423971 0.001631 0.000437\nv 0.972423971 0.001631 0.000437\nv 0.965924025 0.006103 0.013909\nv 0.965924025 0.021183001 0.01795\nv 0.972423971 0.031791002 0.008519\nv 0.991316974 0.027136 0.005879\nv 0.991316974 0.014751 -0.003625\nv 0.984816015 0.00134 0.001029\nv 0.984816015 0.00134 0.001029\nv 0.978316009 0.000316 0.015187\nv 0.978316009 0.012702 0.024691001\nv 0.984816015 0.026113 0.020036999\nv 0.99891597 0.022821 0.015815999\nv 0.99891597 0.015015 0.002295\nv 0.998915017 0.000844 0.001464\nv 0.998915017 0.000844 0.001464\nv 0.998914003 -0.005519 0.014151\nv 0.998914003 0.002287 0.027671\nv 0.998915017 0.016456001 0.028503999\nv 0.798933983 0.002287 -0.027671\nv 0.817825973 0.012702 -0.024691001\nv 0.817825973 0.000316 -0.015187\nv 0.798933983 -0.005519 -0.014151\nv 0.811326027 0.00134 -0.001029\nv 0.798933029 0.000844 -0.001464\nv 0.798933029 0.000844 -0.001464\nv 0.811326027 0.00134 -0.001029\nv 0.804826975 0.014751 0.003625\nv 0.798933029 0.015015 -0.002295\nv 0.804826975 0.027136 -0.005879\nv 0.798933029 0.022821 -0.015815999\nv 0.811326027 0.026113 -0.020036999\nv 0.798933029 0.016456001 -0.028503999\nv 0.830218017 0.021183001 -0.01795\nv 0.830218017 0.006103 -0.013909\nv 0.823718011 0.001631 -0.000437\nv 0.823718011 0.001631 -0.000437\nv 0.817219019 0.01224 0.008994\nv 0.817219019 0.027319999 0.004953\nv 0.823718011 0.031792998 -0.008519\nv 0.842610002 0.02644 -0.008477\nv 0.842610002 0.010962 -0.010515\nv 0.836109996 0.001674 0.00022\nv 0.836109996 0.001674 0.00022\nv 0.829611003 0.007867 0.012993\nv 0.829611003 0.023344999 0.015032\nv 0.836109996 0.032632001 0.004296\nv 0.855001986 0.027671 0.002287\nv 0.855001986 0.014151 -0.005519\nv 0.848502994 0.001464 0.000844\nv 0.848502994 0.001464 0.000844\nv 0.842002988 0.002295 0.015015\nv 0.842002988 0.015815999 0.022821\nv 0.848502994 0.028503999 0.016456001\nv 0.867394984 0.024691001 0.012702\nv 0.867394984 0.015187 0.000316\nv 0.860894978 0.001028 0.00134\nv 0.860894978 0.001028 0.00134\nv 0.854394972 -0.003625 0.014751\nv 0.854394972 0.005879 0.027136\nv 0.860894978 0.020036999 0.026113\nv 0.879787028 0.01795 0.021183001\nv 0.879787028 0.013909 0.006103\nv 0.873287022 0.000437 0.001631\nv 0.873287022 0.000437 0.001631\nv 0.866787016 -0.008994 0.01224\nv 0.866787016 -0.004953 0.027319999\nv 0.873287022 0.008519 0.031792998\nv 0.892179012 0.008477 0.02644\nv 0.892179012 0.010515 0.010962\nv 0.885679007 -0.000221 0.001674\nv 0.885679007 -0.000221 0.001674\nv 0.879179001 -0.012993 0.007867\nv 0.879179001 -0.015032 0.023344999\nv 0.885679007 -0.004296 0.032632001\nv 0.904570997 -0.002287 0.027671\nv 0.904570997 0.005519 0.014151\nv 0.898070991 -0.000844 0.001464\nv 0.898070991 -0.000844 0.001464\nv 0.891570985 -0.015015 0.002295\nv 0.891570985 -0.022821 0.015815999\nv 0.898070991 -0.016456001 0.028503999\nv 0.916962981 -0.012702 0.024691001\nv 0.916962981 -0.000316 0.015187\nv 0.910462976 -0.00134 0.001029\nv 0.910462976 -0.00134 0.001029\nv 0.903963029 -0.014751 -0.003625\nv 0.903963029 -0.027136 0.005879\nv 0.910462976 -0.026113 0.020036999\nv 0.929355025 -0.021183001 0.01795\nv 0.929355025 -0.006103 0.013909\nv 0.92285502 -0.001631 0.000437\nv 0.92285502 -0.001631 0.000437\nv 0.916355014 -0.01224 -0.008994\nv 0.916355014 -0.027319999 -0.004953\nv 0.92285502 -0.031792998 0.008519\nv 0.94174701 -0.02644 0.008477\nv 0.94174701 -0.010962 0.010515\nv 0.935247004 -0.001674 -0.00022\nv 0.935247004 -0.001674 -0.00022\nv 0.928748012 -0.007867 -0.012993\nv 0.928748012 -0.023344999 -0.015032\nv 0.935247004 -0.032632001 -0.004296\nv 0.954138994 -0.027671 -0.002287\nv 0.954138994 -0.014151 0.005519\nv 0.947638988 -0.001464 -0.000844\nv 0.947638988 -0.001464 -0.000844\nv 0.941139996 -0.002295 -0.015015\nv 0.941139996 -0.015815999 -0.022821\nv 0.947638988 -0.028503999 -0.016456001\nv 0.966533005 -0.024691001 -0.012702\nv 0.966533005 -0.015187 -0.000316\nv 0.960031986 -0.001029 -0.00134\nv 0.960031986 -0.001029 -0.00134\nv 0.953531981 0.003625 -0.014751\nv 0.953531981 -0.005879 -0.027136\nv 0.960031986 -0.020036999 -0.026113\nv 0.97892499 -0.01795 -0.021183001\nv 0.97892499 -0.013909 -0.006103\nv 0.972423971 -0.000437 -0.001631\nv 0.972423971 -0.000437 -0.001631\nv 0.965924025 0.008994 -0.01224\nv 0.965924025 0.004953 -0.027319999\nv 0.972423971 -0.008519 -0.031792998\nv 0.991316974 -0.008477 -0.02644\nv 0.991316974 -0.010515 -0.010962\nv 0.984816015 0.00022 -0.001674\nv 0.984816015 0.00022 -0.001674\nv 0.978316009 0.012993 -0.007867\nv 0.978316009 0.015032 -0.023344999\nv 0.984816015 0.004296 -0.032632001\nv 0.99891597 0.002287 -0.027671\nv 0.99891597 -0.005519 -0.014151\nv 0.998915017 0.000844 -0.001464\nv 0.998915017 0.000844 -0.001464\nv 0.998914003 0.015015 -0.002295\nv 0.998914003 0.022821 -0.015815999\nv 0.998915017 0.016456001 -0.028503999\nv -0.99891597 0.000844 -0.001464\nv -0.99891597 0.015015 -0.002295\nv -0.99891597 0.022821 -0.015815999\nv -0.99891597 0.002287 -0.027671\nv -0.99891597 0.016456001 -0.028503999\nv -0.99891597 -0.005519 -0.014151\nv -0.99891597 0.000844 0.001464\nv -0.99891597 -0.005519 0.014151\nv -0.99891597 0.002287 0.027671\nv -0.99891597 0.022821 0.015815999\nv -0.99891597 0.016456001 0.028503999\nv -0.99891597 0.015015 0.002295\nv -0.99891597 -0.00169 0\nv -0.99891597 -0.009496 -0.011856\nv -0.99891597 -0.025108 -0.011856\nv -0.99891597 -0.025108 0.011856\nv -0.99891597 -0.032914001 0\nv -0.99891597 -0.009496 0.011856\nv 0.998915017 0.016456001 -0.028503999\nv 0.998914003 0.022821 -0.015815999\nv 0.998914003 0.015015 -0.002295\nv 0.99891597 -0.005519 -0.014151\nv 0.998915017 0.000844 -0.001464\nv 0.99891597 0.002287 -0.027671\nv 0.998915017 0.016456001 0.028503999\nv 0.998914003 0.002287 0.027671\nv 0.998914003 -0.005519 0.014151\nv 0.99891597 0.015015 0.002295\nv 0.998915017 0.000844 0.001464\nv 0.99891597 0.022821 0.015815999\nv 0.998915017 -0.032914001 0\nv 0.998914003 -0.025108 -0.011856\nv 0.998914003 -0.009496 -0.011856\nv 0.99891597 -0.009496 0.011856\nv 0.998915017 -0.00169 0\nv 0.99891597 -0.025108 0.011856\nvt 0.999800026 0.432999998\nvt 0.93779999 0.432999998\nvt 0.93779999 0.365999997\nvt 0.999800026 0.365999997\nvt 0.93779999 0.299400002\nvt 0.999800026 0.299400002\nvt 0.999800026 0.700699985\nvt 0.93779999 0.700699985\nvt 0.93779999 0.633700013\nvt 0.999800026 0.633700013\nvt 0.93779999 0.566699982\nvt 0.999800026 0.566699982\nvt 0.93779999 0.5\nvt 0.999800026 0.5\nvt 0.874800026 0.432999998\nvt 0.874800026 0.365999997\nvt 0.874800026 0.299400002\nvt 0.874800026 0.700699985\nvt 0.874800026 0.633700013\nvt 0.874800026 0.566699982\nvt 0.874800026 0.5\nvt 0.811800003 0.432999998\nvt 0.811800003 0.365999997\nvt 0.811800003 0.299400002\nvt 0.811800003 0.700699985\nvt 0.811800003 0.633700013\nvt 0.811800003 0.566699982\nvt 0.811800003 0.5\nvt 0.749800026 0.432999998\nvt 0.749800026 0.365999997\nvt 0.749800026 0.299400002\nvt 0.749800026 0.700699985\nvt 0.749800026 0.633700013\nvt 0.749800026 0.566699982\nvt 0.749800026 0.5\nvt 0.683799982 0.432999998\nvt 0.683799982 0.365999997\nvt 0.683799982 0.299400002\nvt 0.683799982 0.700699985\nvt 0.683799982 0.633700013\nvt 0.683799982 0.566699982\nvt 0.683799982 0.5\nvt 0.624800026 0.432999998\nvt 0.624800026 0.365999997\nvt 0.624800026 0.299400002\nvt 0.624800026 0.700699985\nvt 0.624800026 0.633700013\nvt 0.624800026 0.566699982\nvt 0.624800026 0.5\nvt 0.561800003 0.432999998\nvt 0.561800003 0.365999997\nvt 0.561800003 0.299400002\nvt 0.561800003 0.700699985\nvt 0.561800003 0.633700013\nvt 0.561800003 0.566699982\nvt 0.561800003 0.5\nvt 0.499799997 0.432999998\nvt 0.499799997 0.365999997\nvt 0.499799997 0.299400002\nvt 0.499799997 0.700699985\nvt 0.499799997 0.633700013\nvt 0.499799997 0.566699982\nvt 0.499799997 0.5\nvt 0.436800003 0.432999998\nvt 0.436800003 0.365999997\nvt 0.436800003 0.299400002\nvt 0.436800003 0.700699985\nvt 0.436800003 0.633700013\nvt 0.436800003 0.566699982\nvt 0.436800003 0.5\nvt 0.374799997 0.432999998\nvt 0.374799997 0.365999997\nvt 0.374799997 0.299400002\nvt 0.374799997 0.700699985\nvt 0.374799997 0.633700013\nvt 0.374799997 0.566699982\nvt 0.374799997 0.5\nvt 0.311800003 0.432999998\nvt 0.311800003 0.365999997\nvt 0.311800003 0.299400002\nvt 0.311800003 0.700699985\nvt 0.311800003 0.633700013\nvt 0.311800003 0.566699982\nvt 0.311800003 0.5\nvt 0.249799997 0.432999998\nvt 0.249799997 0.365999997\nvt 0.249799997 0.299400002\nvt 0.249799997 0.700699985\nvt 0.249799997 0.633700013\nvt 0.249799997 0.566699982\nvt 0.249799997 0.5\nvt 0.186800003 0.432999998\nvt 0.186800003 0.365999997\nvt 0.186800003 0.299400002\nvt 0.186800003 0.700699985\nvt 0.186800003 0.633700013\nvt 0.186800003 0.566699982\nvt 0.186800003 0.5\nvt 0.124799997 0.432999998\nvt 0.124799997 0.365999997\nvt 0.124799997 0.299400002\nvt 0.124799997 0.700699985\nvt 0.124799997 0.633700013\nvt 0.124799997 0.566699982\nvt 0.124799997 0.5\nvt 0.061799999 0.432999998\nvt 0.061799999 0.365999997\nvt 0.061799999 0.299400002\nvt 0.061799999 0.700699985\nvt 0.061799999 0.633700013\nvt 0.061799999 0.566699982\nvt 0.061799999 0.5\nvt -0.0002 0.432999998\nvt -0.0002 0.365999997\nvt -0.0002 0.299199998\nvt -0.0002 0.700699985\nvt -0.0002 0.633700013\nvt -0.0002 0.566699982\nvt -0.0002 0.5\nvt 0.999800026 0.432999998\nvt 0.93779999 0.432999998\nvt 0.93779999 0.365999997\nvt 0.999800026 0.365999997\nvt 0.93779999 0.299400002\nvt 0.999800026 0.299400002\nvt 0.999800026 0.700699985\nvt 0.93779999 0.700699985\nvt 0.93779999 0.633700013\nvt 0.999800026 0.633700013\nvt 0.93779999 0.566699982\nvt 0.999800026 0.566699982\nvt 0.93779999 0.5\nvt 0.999800026 0.5\nvt 0.874800026 0.432999998\nvt 0.874800026 0.365999997\nvt 0.874800026 0.299400002\nvt 0.874800026 0.700699985\nvt 0.874800026 0.633700013\nvt 0.874800026 0.566699982\nvt 0.874800026 0.5\nvt 0.811800003 0.432999998\nvt 0.811800003 0.365999997\nvt 0.811800003 0.299400002\nvt 0.811800003 0.700699985\nvt 0.811800003 0.633700013\nvt 0.811800003 0.566699982\nvt 0.811800003 0.5\nvt 0.749800026 0.432999998\nvt 0.749800026 0.365999997\nvt 0.749800026 0.299400002\nvt 0.749800026 0.700699985\nvt 0.749800026 0.633700013\nvt 0.749800026 0.566699982\nvt 0.749800026 0.5\nvt 0.683799982 0.432999998\nvt 0.683799982 0.365999997\nvt 0.683799982 0.299400002\nvt 0.683799982 0.700699985\nvt 0.683799982 0.633700013\nvt 0.683799982 0.566699982\nvt 0.683799982 0.5\nvt 0.624800026 0.432999998\nvt 0.624800026 0.365999997\nvt 0.624800026 0.299400002\nvt 0.624800026 0.700699985\nvt 0.624800026 0.633700013\nvt 0.624800026 0.566699982\nvt 0.624800026 0.5\nvt 0.561800003 0.432999998\nvt 0.561800003 0.365999997\nvt 0.561800003 0.299400002\nvt 0.561800003 0.700699985\nvt 0.561800003 0.633700013\nvt 0.561800003 0.566699982\nvt 0.561800003 0.5\nvt 0.499799997 0.432999998\nvt 0.499799997 0.365999997\nvt 0.499799997 0.299400002\nvt 0.499799997 0.700699985\nvt 0.499799997 0.633700013\nvt 0.499799997 0.566699982\nvt 0.499799997 0.5\nvt 0.436800003 0.432999998\nvt 0.436800003 0.365999997\nvt 0.436800003 0.299400002\nvt 0.436800003 0.700699985\nvt 0.436800003 0.633700013\nvt 0.436800003 0.566699982\nvt 0.436800003 0.5\nvt 0.374799997 0.432999998\nvt 0.374799997 0.365999997\nvt 0.374799997 0.299400002\nvt 0.374799997 0.700699985\nvt 0.374799997 0.633700013\nvt 0.374799997 0.566699982\nvt 0.374799997 0.5\nvt 0.311800003 0.432999998\nvt 0.311800003 0.365999997\nvt 0.311800003 0.299400002\nvt 0.311800003 0.700699985\nvt 0.311800003 0.633700013\nvt 0.311800003 0.566699982\nvt 0.311800003 0.5\nvt 0.249799997 0.432999998\nvt 0.249799997 0.365999997\nvt 0.249799997 0.299400002\nvt 0.249799997 0.700699985\nvt 0.249799997 0.633700013\nvt 0.249799997 0.566699982\nvt 0.249799997 0.5\nvt 0.186800003 0.432999998\nvt 0.186800003 0.365999997\nvt 0.186800003 0.299400002\nvt 0.186800003 0.700699985\nvt 0.186800003 0.633700013\nvt 0.186800003 0.566699982\nvt 0.186800003 0.5\nvt 0.124799997 0.432999998\nvt 0.124799997 0.365999997\nvt 0.124799997 0.299400002\nvt 0.124799997 0.700699985\nvt 0.124799997 0.633700013\nvt 0.124799997 0.566699982\nvt 0.124799997 0.5\nvt 0.061799999 0.432999998\nvt 0.061799999 0.365999997\nvt 0.061799999 0.299400002\nvt 0.061799999 0.700699985\nvt 0.061799999 0.633700013\nvt 0.061799999 0.566699982\nvt 0.061799999 0.5\nvt -0.0002 0.432999998\nvt -0.0002 0.365999997\nvt -0.0002 0.299199998\nvt -0.0002 0.700699985\nvt -0.0002 0.633700013\nvt -0.0002 0.566699982\nvt -0.0002 0.5\nvt 0.999800026 0.432999998\nvt 0.93779999 0.432999998\nvt 0.93779999 0.365999997\nvt 0.999800026 0.365999997\nvt 0.93779999 0.299400002\nvt 0.999800026 0.299400002\nvt 0.999800026 0.700699985\nvt 0.93779999 0.700699985\nvt 0.93779999 0.633700013\nvt 0.999800026 0.633700013\nvt 0.93779999 0.566699982\nvt 0.999800026 0.566699982\nvt 0.93779999 0.5\nvt 0.999800026 0.5\nvt 0.874800026 0.432999998\nvt 0.874800026 0.365999997\nvt 0.874800026 0.299400002\nvt 0.874800026 0.700699985\nvt 0.874800026 0.633700013\nvt 0.874800026 0.566699982\nvt 0.874800026 0.5\nvt 0.811800003 0.432999998\nvt 0.811800003 0.365999997\nvt 0.811800003 0.299400002\nvt 0.811800003 0.700699985\nvt 0.811800003 0.633700013\nvt 0.811800003 0.566699982\nvt 0.811800003 0.5\nvt 0.749800026 0.432999998\nvt 0.749800026 0.365999997\nvt 0.749800026 0.299400002\nvt 0.749800026 0.700699985\nvt 0.749800026 0.633700013\nvt 0.749800026 0.566699982\nvt 0.749800026 0.5\nvt 0.683799982 0.432999998\nvt 0.683799982 0.365999997\nvt 0.683799982 0.299400002\nvt 0.683799982 0.700699985\nvt 0.683799982 0.633700013\nvt 0.683799982 0.566699982\nvt 0.683799982 0.5\nvt 0.624800026 0.432999998\nvt 0.624800026 0.365999997\nvt 0.624800026 0.299400002\nvt 0.624800026 0.700699985\nvt 0.624800026 0.633700013\nvt 0.624800026 0.566699982\nvt 0.624800026 0.5\nvt 0.561800003 0.432999998\nvt 0.561800003 0.365999997\nvt 0.561800003 0.299400002\nvt 0.561800003 0.700699985\nvt 0.561800003 0.633700013\nvt 0.561800003 0.566699982\nvt 0.561800003 0.5\nvt 0.499799997 0.432999998\nvt 0.499799997 0.365999997\nvt 0.499799997 0.299400002\nvt 0.499799997 0.700699985\nvt 0.499799997 0.633700013\nvt 0.499799997 0.566699982\nvt 0.499799997 0.5\nvt 0.436800003 0.432999998\nvt 0.436800003 0.365999997\nvt 0.436800003 0.299400002\nvt 0.436800003 0.700699985\nvt 0.436800003 0.633700013\nvt 0.436800003 0.566699982\nvt 0.436800003 0.5\nvt 0.374799997 0.432999998\nvt 0.374799997 0.365999997\nvt 0.374799997 0.299400002\nvt 0.374799997 0.700699985\nvt 0.374799997 0.633700013\nvt 0.374799997 0.566699982\nvt 0.374799997 0.5\nvt 0.311800003 0.432999998\nvt 0.311800003 0.365999997\nvt 0.311800003 0.299400002\nvt 0.311800003 0.700699985\nvt 0.311800003 0.633700013\nvt 0.311800003 0.566699982\nvt 0.311800003 0.5\nvt 0.249799997 0.432999998\nvt 0.249799997 0.365999997\nvt 0.249799997 0.299400002\nvt 0.249799997 0.700699985\nvt 0.249799997 0.633700013\nvt 0.249799997 0.566699982\nvt 0.249799997 0.5\nvt 0.186800003 0.432999998\nvt 0.186800003 0.365999997\nvt 0.186800003 0.299400002\nvt 0.186800003 0.700699985\nvt 0.186800003 0.633700013\nvt 0.186800003 0.566699982\nvt 0.186800003 0.5\nvt 0.124799997 0.432999998\nvt 0.124799997 0.365999997\nvt 0.124799997 0.299400002\nvt 0.124799997 0.700699985\nvt 0.124799997 0.633700013\nvt 0.124799997 0.566699982\nvt 0.124799997 0.5\nvt 0.061799999 0.432999998\nvt 0.061799999 0.365999997\nvt 0.061799999 0.299400002\nvt 0.061799999 0.700699985\nvt 0.061799999 0.633700013\nvt 0.061799999 0.566699982\nvt 0.061799999 0.5\nvt -0.0002 0.432999998\nvt -0.0002 0.365999997\nvt -0.0002 0.299199998\nvt -0.0002 0.700699985\nvt -0.0002 0.633700013\nvt -0.0002 0.566699982\nvt -0.0002 0.5\nvt 0.999800026 0.432999998\nvt 0.93779999 0.432999998\nvt 0.93779999 0.365999997\nvt 0.999800026 0.365999997\nvt 0.93779999 0.299400002\nvt 0.999800026 0.299400002\nvt 0.999800026 0.700699985\nvt 0.93779999 0.700699985\nvt 0.93779999 0.633700013\nvt 0.999800026 0.633700013\nvt 0.93779999 0.566699982\nvt 0.999800026 0.566699982\nvt 0.93779999 0.5\nvt 0.999800026 0.5\nvt 0.874800026 0.432999998\nvt 0.874800026 0.365999997\nvt 0.874800026 0.299400002\nvt 0.874800026 0.700699985\nvt 0.874800026 0.633700013\nvt 0.874800026 0.566699982\nvt 0.874800026 0.5\nvt 0.811800003 0.432999998\nvt 0.811800003 0.365999997\nvt 0.811800003 0.299400002\nvt 0.811800003 0.700699985\nvt 0.811800003 0.633700013\nvt 0.811800003 0.566699982\nvt 0.811800003 0.5\nvt 0.749800026 0.432999998\nvt 0.749800026 0.365999997\nvt 0.749800026 0.299400002\nvt 0.749800026 0.700699985\nvt 0.749800026 0.633700013\nvt 0.749800026 0.566699982\nvt 0.749800026 0.5\nvt 0.683799982 0.432999998\nvt 0.683799982 0.365999997\nvt 0.683799982 0.299400002\nvt 0.683799982 0.700699985\nvt 0.683799982 0.633700013\nvt 0.683799982 0.566699982\nvt 0.683799982 0.5\nvt 0.624800026 0.432999998\nvt 0.624800026 0.365999997\nvt 0.624800026 0.299400002\nvt 0.624800026 0.700699985\nvt 0.624800026 0.633700013\nvt 0.624800026 0.566699982\nvt 0.624800026 0.5\nvt 0.561800003 0.432999998\nvt 0.561800003 0.365999997\nvt 0.561800003 0.299400002\nvt 0.561800003 0.700699985\nvt 0.561800003 0.633700013\nvt 0.561800003 0.566699982\nvt 0.561800003 0.5\nvt 0.499799997 0.432999998\nvt 0.499799997 0.365999997\nvt 0.499799997 0.299400002\nvt 0.499799997 0.700699985\nvt 0.499799997 0.633700013\nvt 0.499799997 0.566699982\nvt 0.499799997 0.5\nvt 0.436800003 0.432999998\nvt 0.436800003 0.365999997\nvt 0.436800003 0.299400002\nvt 0.436800003 0.700699985\nvt 0.436800003 0.633700013\nvt 0.436800003 0.566699982\nvt 0.436800003 0.5\nvt 0.374799997 0.432999998\nvt 0.374799997 0.365999997\nvt 0.374799997 0.299400002\nvt 0.374799997 0.700699985\nvt 0.374799997 0.633700013\nvt 0.374799997 0.566699982\nvt 0.374799997 0.5\nvt 0.311800003 0.432999998\nvt 0.311800003 0.365999997\nvt 0.311800003 0.299400002\nvt 0.311800003 0.700699985\nvt 0.311800003 0.633700013\nvt 0.311800003 0.566699982\nvt 0.311800003 0.5\nvt 0.249799997 0.432999998\nvt 0.249799997 0.365999997\nvt 0.249799997 0.299400002\nvt 0.249799997 0.700699985\nvt 0.249799997 0.633700013\nvt 0.249799997 0.566699982\nvt 0.249799997 0.5\nvt 0.186800003 0.432999998\nvt 0.186800003 0.365999997\nvt 0.186800003 0.299400002\nvt 0.186800003 0.700699985\nvt 0.186800003 0.633700013\nvt 0.186800003 0.566699982\nvt 0.186800003 0.5\nvt 0.124799997 0.432999998\nvt 0.124799997 0.365999997\nvt 0.124799997 0.299400002\nvt 0.124799997 0.700699985\nvt 0.124799997 0.633700013\nvt 0.124799997 0.566699982\nvt 0.124799997 0.5\nvt 0.061799999 0.432999998\nvt 0.061799999 0.365999997\nvt 0.061799999 0.299400002\nvt 0.061799999 0.700699985\nvt 0.061799999 0.633700013\nvt 0.061799999 0.566699982\nvt 0.061799999 0.5\nvt -0.0002 0.432999998\nvt -0.0002 0.365999997\nvt -0.0002 0.299199998\nvt -0.0002 0.700699985\nvt -0.0002 0.633700013\nvt -0.0002 0.566699982\nvt -0.0002 0.5\nvt 0.999800026 0.432999998\nvt 0.93779999 0.432999998\nvt 0.93779999 0.365999997\nvt 0.999800026 0.365999997\nvt 0.93779999 0.299400002\nvt 0.999800026 0.299400002\nvt 0.999800026 0.700699985\nvt 0.93779999 0.700699985\nvt 0.93779999 0.633700013\nvt 0.999800026 0.633700013\nvt 0.93779999 0.566699982\nvt 0.999800026 0.566699982\nvt 0.93779999 0.5\nvt 0.999800026 0.5\nvt 0.874800026 0.432999998\nvt 0.874800026 0.365999997\nvt 0.874800026 0.299400002\nvt 0.874800026 0.700699985\nvt 0.874800026 0.633700013\nvt 0.874800026 0.566699982\nvt 0.874800026 0.5\nvt 0.811800003 0.432999998\nvt 0.811800003 0.365999997\nvt 0.811800003 0.299400002\nvt 0.811800003 0.700699985\nvt 0.811800003 0.633700013\nvt 0.811800003 0.566699982\nvt 0.811800003 0.5\nvt 0.749800026 0.432999998\nvt 0.749800026 0.365999997\nvt 0.749800026 0.299400002\nvt 0.749800026 0.700699985\nvt 0.749800026 0.633700013\nvt 0.749800026 0.566699982\nvt 0.749800026 0.5\nvt 0.683799982 0.432999998\nvt 0.683799982 0.365999997\nvt 0.683799982 0.299400002\nvt 0.683799982 0.700699985\nvt 0.683799982 0.633700013\nvt 0.683799982 0.566699982\nvt 0.683799982 0.5\nvt 0.624800026 0.432999998\nvt 0.624800026 0.365999997\nvt 0.624800026 0.299400002\nvt 0.624800026 0.700699985\nvt 0.624800026 0.633700013\nvt 0.624800026 0.566699982\nvt 0.624800026 0.5\nvt 0.561800003 0.432999998\nvt 0.561800003 0.365999997\nvt 0.561800003 0.299400002\nvt 0.561800003 0.700699985\nvt 0.561800003 0.633700013\nvt 0.561800003 0.566699982\nvt 0.561800003 0.5\nvt 0.499799997 0.432999998\nvt 0.499799997 0.365999997\nvt 0.499799997 0.299400002\nvt 0.499799997 0.700699985\nvt 0.499799997 0.633700013\nvt 0.499799997 0.566699982\nvt 0.499799997 0.5\nvt 0.436800003 0.432999998\nvt 0.436800003 0.365999997\nvt 0.436800003 0.299400002\nvt 0.436800003 0.700699985\nvt 0.436800003 0.633700013\nvt 0.436800003 0.566699982\nvt 0.436800003 0.5\nvt 0.374799997 0.432999998\nvt 0.374799997 0.365999997\nvt 0.374799997 0.299400002\nvt 0.374799997 0.700699985\nvt 0.374799997 0.633700013\nvt 0.374799997 0.566699982\nvt 0.374799997 0.5\nvt 0.311800003 0.432999998\nvt 0.311800003 0.365999997\nvt 0.311800003 0.299400002\nvt 0.311800003 0.700699985\nvt 0.311800003 0.633700013\nvt 0.311800003 0.566699982\nvt 0.311800003 0.5\nvt 0.249799997 0.432999998\nvt 0.249799997 0.365999997\nvt 0.249799997 0.299400002\nvt 0.249799997 0.700699985\nvt 0.249799997 0.633700013\nvt 0.249799997 0.566699982\nvt 0.249799997 0.5\nvt 0.186800003 0.432999998\nvt 0.186800003 0.365999997\nvt 0.186800003 0.299400002\nvt 0.186800003 0.700699985\nvt 0.186800003 0.633700013\nvt 0.186800003 0.566699982\nvt 0.186800003 0.5\nvt 0.124799997 0.432999998\nvt 0.124799997 0.365999997\nvt 0.124799997 0.299400002\nvt 0.124799997 0.700699985\nvt 0.124799997 0.633700013\nvt 0.124799997 0.566699982\nvt 0.124799997 0.5\nvt 0.061799999 0.432999998\nvt 0.061799999 0.365999997\nvt 0.061799999 0.299400002\nvt 0.061799999 0.700699985\nvt 0.061799999 0.633700013\nvt 0.061799999 0.566699982\nvt 0.061799999 0.5\nvt -0.0002 0.432999998\nvt -0.0002 0.365999997\nvt -0.0002 0.299199998\nvt -0.0002 0.700699985\nvt -0.0002 0.633700013\nvt -0.0002 0.566699982\nvt -0.0002 0.5\nvt 0.999800026 0.432999998\nvt 0.93779999 0.432999998\nvt 0.93779999 0.365999997\nvt 0.999800026 0.365999997\nvt 0.93779999 0.299400002\nvt 0.999800026 0.299400002\nvt 0.999800026 0.700699985\nvt 0.93779999 0.700699985\nvt 0.93779999 0.633700013\nvt 0.999800026 0.633700013\nvt 0.93779999 0.566699982\nvt 0.999800026 0.566699982\nvt 0.93779999 0.5\nvt 0.999800026 0.5\nvt 0.874800026 0.432999998\nvt 0.874800026 0.365999997\nvt 0.874800026 0.299400002\nvt 0.874800026 0.700699985\nvt 0.874800026 0.633700013\nvt 0.874800026 0.566699982\nvt 0.874800026 0.5\nvt 0.811800003 0.432999998\nvt 0.811800003 0.365999997\nvt 0.811800003 0.299400002\nvt 0.811800003 0.700699985\nvt 0.811800003 0.633700013\nvt 0.811800003 0.566699982\nvt 0.811800003 0.5\nvt 0.749800026 0.432999998\nvt 0.749800026 0.365999997\nvt 0.749800026 0.299400002\nvt 0.749800026 0.700699985\nvt 0.749800026 0.633700013\nvt 0.749800026 0.566699982\nvt 0.749800026 0.5\nvt 0.683799982 0.432999998\nvt 0.683799982 0.365999997\nvt 0.683799982 0.299400002\nvt 0.683799982 0.700699985\nvt 0.683799982 0.633700013\nvt 0.683799982 0.566699982\nvt 0.683799982 0.5\nvt 0.624800026 0.432999998\nvt 0.624800026 0.365999997\nvt 0.624800026 0.299400002\nvt 0.624800026 0.700699985\nvt 0.624800026 0.633700013\nvt 0.624800026 0.566699982\nvt 0.624800026 0.5\nvt 0.561800003 0.432999998\nvt 0.561800003 0.365999997\nvt 0.561800003 0.299400002\nvt 0.561800003 0.700699985\nvt 0.561800003 0.633700013\nvt 0.561800003 0.566699982\nvt 0.561800003 0.5\nvt 0.499799997 0.432999998\nvt 0.499799997 0.365999997\nvt 0.499799997 0.299400002\nvt 0.499799997 0.700699985\nvt 0.499799997 0.633700013\nvt 0.499799997 0.566699982\nvt 0.499799997 0.5\nvt 0.436800003 0.432999998\nvt 0.436800003 0.365999997\nvt 0.436800003 0.299400002\nvt 0.436800003 0.700699985\nvt 0.436800003 0.633700013\nvt 0.436800003 0.566699982\nvt 0.436800003 0.5\nvt 0.374799997 0.432999998\nvt 0.374799997 0.365999997\nvt 0.374799997 0.299400002\nvt 0.374799997 0.700699985\nvt 0.374799997 0.633700013\nvt 0.374799997 0.566699982\nvt 0.374799997 0.5\nvt 0.311800003 0.432999998\nvt 0.311800003 0.365999997\nvt 0.311800003 0.299400002\nvt 0.311800003 0.700699985\nvt 0.311800003 0.633700013\nvt 0.311800003 0.566699982\nvt 0.311800003 0.5\nvt 0.249799997 0.432999998\nvt 0.249799997 0.365999997\nvt 0.249799997 0.299400002\nvt 0.249799997 0.700699985\nvt 0.249799997 0.633700013\nvt 0.249799997 0.566699982\nvt 0.249799997 0.5\nvt 0.186800003 0.432999998\nvt 0.186800003 0.365999997\nvt 0.186800003 0.299400002\nvt 0.186800003 0.700699985\nvt 0.186800003 0.633700013\nvt 0.186800003 0.566699982\nvt 0.186800003 0.5\nvt 0.124799997 0.432999998\nvt 0.124799997 0.365999997\nvt 0.124799997 0.299400002\nvt 0.124799997 0.700699985\nvt 0.124799997 0.633700013\nvt 0.124799997 0.566699982\nvt 0.124799997 0.5\nvt 0.061799999 0.432999998\nvt 0.061799999 0.365999997\nvt 0.061799999 0.299400002\nvt 0.061799999 0.700699985\nvt 0.061799999 0.633700013\nvt 0.061799999 0.566699982\nvt 0.061799999 0.5\nvt -0.0002 0.432999998\nvt -0.0002 0.365999997\nvt -0.0002 0.299199998\nvt -0.0002 0.700699985\nvt -0.0002 0.633700013\nvt -0.0002 0.566699982\nvt -0.0002 0.5\nvt 0.999800026 0.432999998\nvt 0.93779999 0.432999998\nvt 0.93779999 0.365999997\nvt 0.999800026 0.365999997\nvt 0.93779999 0.299400002\nvt 0.999800026 0.299400002\nvt 0.999800026 0.700699985\nvt 0.93779999 0.700699985\nvt 0.93779999 0.633700013\nvt 0.999800026 0.633700013\nvt 0.93779999 0.566699982\nvt 0.999800026 0.566699982\nvt 0.93779999 0.5\nvt 0.999800026 0.5\nvt 0.874800026 0.432999998\nvt 0.874800026 0.365999997\nvt 0.874800026 0.299400002\nvt 0.874800026 0.700699985\nvt 0.874800026 0.633700013\nvt 0.874800026 0.566699982\nvt 0.874800026 0.5\nvt 0.811800003 0.432999998\nvt 0.811800003 0.365999997\nvt 0.811800003 0.299400002\nvt 0.811800003 0.700699985\nvt 0.811800003 0.633700013\nvt 0.811800003 0.566699982\nvt 0.811800003 0.5\nvt 0.749800026 0.432999998\nvt 0.749800026 0.365999997\nvt 0.749800026 0.299400002\nvt 0.749800026 0.700699985\nvt 0.749800026 0.633700013\nvt 0.749800026 0.566699982\nvt 0.749800026 0.5\nvt 0.683799982 0.432999998\nvt 0.683799982 0.365999997\nvt 0.683799982 0.299400002\nvt 0.683799982 0.700699985\nvt 0.683799982 0.633700013\nvt 0.683799982 0.566699982\nvt 0.683799982 0.5\nvt 0.624800026 0.432999998\nvt 0.624800026 0.365999997\nvt 0.624800026 0.299400002\nvt 0.624800026 0.700699985\nvt 0.624800026 0.633700013\nvt 0.624800026 0.566699982\nvt 0.624800026 0.5\nvt 0.561800003 0.432999998\nvt 0.561800003 0.365999997\nvt 0.561800003 0.299400002\nvt 0.561800003 0.700699985\nvt 0.561800003 0.633700013\nvt 0.561800003 0.566699982\nvt 0.561800003 0.5\nvt 0.499799997 0.432999998\nvt 0.499799997 0.365999997\nvt 0.499799997 0.299400002\nvt 0.499799997 0.700699985\nvt 0.499799997 0.633700013\nvt 0.499799997 0.566699982\nvt 0.499799997 0.5\nvt 0.436800003 0.432999998\nvt 0.436800003 0.365999997\nvt 0.436800003 0.299400002\nvt 0.436800003 0.700699985\nvt 0.436800003 0.633700013\nvt 0.436800003 0.566699982\nvt 0.436800003 0.5\nvt 0.374799997 0.432999998\nvt 0.374799997 0.365999997\nvt 0.374799997 0.299400002\nvt 0.374799997 0.700699985\nvt 0.374799997 0.633700013\nvt 0.374799997 0.566699982\nvt 0.374799997 0.5\nvt 0.311800003 0.432999998\nvt 0.311800003 0.365999997\nvt 0.311800003 0.299400002\nvt 0.311800003 0.700699985\nvt 0.311800003 0.633700013\nvt 0.311800003 0.566699982\nvt 0.311800003 0.5\nvt 0.249799997 0.432999998\nvt 0.249799997 0.365999997\nvt 0.249799997 0.299400002\nvt 0.249799997 0.700699985\nvt 0.249799997 0.633700013\nvt 0.249799997 0.566699982\nvt 0.249799997 0.5\nvt 0.186800003 0.432999998\nvt 0.186800003 0.365999997\nvt 0.186800003 0.299400002\nvt 0.186800003 0.700699985\nvt 0.186800003 0.633700013\nvt 0.186800003 0.566699982\nvt 0.186800003 0.5\nvt 0.124799997 0.432999998\nvt 0.124799997 0.365999997\nvt 0.124799997 0.299400002\nvt 0.124799997 0.700699985\nvt 0.124799997 0.633700013\nvt 0.124799997 0.566699982\nvt 0.124799997 0.5\nvt 0.061799999 0.432999998\nvt 0.061799999 0.365999997\nvt 0.061799999 0.299400002\nvt 0.061799999 0.700699985\nvt 0.061799999 0.633700013\nvt 0.061799999 0.566699982\nvt 0.061799999 0.5\nvt -0.0002 0.432999998\nvt -0.0002 0.365999997\nvt -0.0002 0.299199998\nvt -0.0002 0.700699985\nvt -0.0002 0.633700013\nvt -0.0002 0.566699982\nvt -0.0002 0.5\nvt 0.999800026 0.432999998\nvt 0.93779999 0.432999998\nvt 0.93779999 0.365999997\nvt 0.999800026 0.365999997\nvt 0.93779999 0.299400002\nvt 0.999800026 0.299400002\nvt 0.999800026 0.700699985\nvt 0.93779999 0.700699985\nvt 0.93779999 0.633700013\nvt 0.999800026 0.633700013\nvt 0.93779999 0.566699982\nvt 0.999800026 0.566699982\nvt 0.93779999 0.5\nvt 0.999800026 0.5\nvt 0.874800026 0.432999998\nvt 0.874800026 0.365999997\nvt 0.874800026 0.299400002\nvt 0.874800026 0.700699985\nvt 0.874800026 0.633700013\nvt 0.874800026 0.566699982\nvt 0.874800026 0.5\nvt 0.811800003 0.432999998\nvt 0.811800003 0.365999997\nvt 0.811800003 0.299400002\nvt 0.811800003 0.700699985\nvt 0.811800003 0.633700013\nvt 0.811800003 0.566699982\nvt 0.811800003 0.5\nvt 0.749800026 0.432999998\nvt 0.749800026 0.365999997\nvt 0.749800026 0.299400002\nvt 0.749800026 0.700699985\nvt 0.749800026 0.633700013\nvt 0.749800026 0.566699982\nvt 0.749800026 0.5\nvt 0.683799982 0.432999998\nvt 0.683799982 0.365999997\nvt 0.683799982 0.299400002\nvt 0.683799982 0.700699985\nvt 0.683799982 0.633700013\nvt 0.683799982 0.566699982\nvt 0.683799982 0.5\nvt 0.624800026 0.432999998\nvt 0.624800026 0.365999997\nvt 0.624800026 0.299400002\nvt 0.624800026 0.700699985\nvt 0.624800026 0.633700013\nvt 0.624800026 0.566699982\nvt 0.624800026 0.5\nvt 0.561800003 0.432999998\nvt 0.561800003 0.365999997\nvt 0.561800003 0.299400002\nvt 0.561800003 0.700699985\nvt 0.561800003 0.633700013\nvt 0.561800003 0.566699982\nvt 0.561800003 0.5\nvt 0.499799997 0.432999998\nvt 0.499799997 0.365999997\nvt 0.499799997 0.299400002\nvt 0.499799997 0.700699985\nvt 0.499799997 0.633700013\nvt 0.499799997 0.566699982\nvt 0.499799997 0.5\nvt 0.436800003 0.432999998\nvt 0.436800003 0.365999997\nvt 0.436800003 0.299400002\nvt 0.436800003 0.700699985\nvt 0.436800003 0.633700013\nvt 0.436800003 0.566699982\nvt 0.436800003 0.5\nvt 0.374799997 0.432999998\nvt 0.374799997 0.365999997\nvt 0.374799997 0.299400002\nvt 0.374799997 0.700699985\nvt 0.374799997 0.633700013\nvt 0.374799997 0.566699982\nvt 0.374799997 0.5\nvt 0.311800003 0.432999998\nvt 0.311800003 0.365999997\nvt 0.311800003 0.299400002\nvt 0.311800003 0.700699985\nvt 0.311800003 0.633700013\nvt 0.311800003 0.566699982\nvt 0.311800003 0.5\nvt 0.249799997 0.432999998\nvt 0.249799997 0.365999997\nvt 0.249799997 0.299400002\nvt 0.249799997 0.700699985\nvt 0.249799997 0.633700013\nvt 0.249799997 0.566699982\nvt 0.249799997 0.5\nvt 0.186800003 0.432999998\nvt 0.186800003 0.365999997\nvt 0.186800003 0.299400002\nvt 0.186800003 0.700699985\nvt 0.186800003 0.633700013\nvt 0.186800003 0.566699982\nvt 0.186800003 0.5\nvt 0.124799997 0.432999998\nvt 0.124799997 0.365999997\nvt 0.124799997 0.299400002\nvt 0.124799997 0.700699985\nvt 0.124799997 0.633700013\nvt 0.124799997 0.566699982\nvt 0.124799997 0.5\nvt 0.061799999 0.432999998\nvt 0.061799999 0.365999997\nvt 0.061799999 0.299400002\nvt 0.061799999 0.700699985\nvt 0.061799999 0.633700013\nvt 0.061799999 0.566699982\nvt 0.061799999 0.5\nvt -0.0002 0.432999998\nvt -0.0002 0.365999997\nvt -0.0002 0.299199998\nvt -0.0002 0.700699985\nvt -0.0002 0.633700013\nvt -0.0002 0.566699982\nvt -0.0002 0.5\nvt 0.999800026 0.432999998\nvt 0.93779999 0.432999998\nvt 0.93779999 0.365999997\nvt 0.999800026 0.365999997\nvt 0.93779999 0.299400002\nvt 0.999800026 0.299400002\nvt 0.999800026 0.700699985\nvt 0.93779999 0.700699985\nvt 0.93779999 0.633700013\nvt 0.999800026 0.633700013\nvt 0.93779999 0.566699982\nvt 0.999800026 0.566699982\nvt 0.93779999 0.5\nvt 0.999800026 0.5\nvt 0.874800026 0.432999998\nvt 0.874800026 0.365999997\nvt 0.874800026 0.299400002\nvt 0.874800026 0.700699985\nvt 0.874800026 0.633700013\nvt 0.874800026 0.566699982\nvt 0.874800026 0.5\nvt 0.811800003 0.432999998\nvt 0.811800003 0.365999997\nvt 0.811800003 0.299400002\nvt 0.811800003 0.700699985\nvt 0.811800003 0.633700013\nvt 0.811800003 0.566699982\nvt 0.811800003 0.5\nvt 0.749800026 0.432999998\nvt 0.749800026 0.365999997\nvt 0.749800026 0.299400002\nvt 0.749800026 0.700699985\nvt 0.749800026 0.633700013\nvt 0.749800026 0.566699982\nvt 0.749800026 0.5\nvt 0.683799982 0.432999998\nvt 0.683799982 0.365999997\nvt 0.683799982 0.299400002\nvt 0.683799982 0.700699985\nvt 0.683799982 0.633700013\nvt 0.683799982 0.566699982\nvt 0.683799982 0.5\nvt 0.624800026 0.432999998\nvt 0.624800026 0.365999997\nvt 0.624800026 0.299400002\nvt 0.624800026 0.700699985\nvt 0.624800026 0.633700013\nvt 0.624800026 0.566699982\nvt 0.624800026 0.5\nvt 0.561800003 0.432999998\nvt 0.561800003 0.365999997\nvt 0.561800003 0.299400002\nvt 0.561800003 0.700699985\nvt 0.561800003 0.633700013\nvt 0.561800003 0.566699982\nvt 0.561800003 0.5\nvt 0.499799997 0.432999998\nvt 0.499799997 0.365999997\nvt 0.499799997 0.299400002\nvt 0.499799997 0.700699985\nvt 0.499799997 0.633700013\nvt 0.499799997 0.566699982\nvt 0.499799997 0.5\nvt 0.436800003 0.432999998\nvt 0.436800003 0.365999997\nvt 0.436800003 0.299400002\nvt 0.436800003 0.700699985\nvt 0.436800003 0.633700013\nvt 0.436800003 0.566699982\nvt 0.436800003 0.5\nvt 0.374799997 0.432999998\nvt 0.374799997 0.365999997\nvt 0.374799997 0.299400002\nvt 0.374799997 0.700699985\nvt 0.374799997 0.633700013\nvt 0.374799997 0.566699982\nvt 0.374799997 0.5\nvt 0.311800003 0.432999998\nvt 0.311800003 0.365999997\nvt 0.311800003 0.299400002\nvt 0.311800003 0.700699985\nvt 0.311800003 0.633700013\nvt 0.311800003 0.566699982\nvt 0.311800003 0.5\nvt 0.249799997 0.432999998\nvt 0.249799997 0.365999997\nvt 0.249799997 0.299400002\nvt 0.249799997 0.700699985\nvt 0.249799997 0.633700013\nvt 0.249799997 0.566699982\nvt 0.249799997 0.5\nvt 0.186800003 0.432999998\nvt 0.186800003 0.365999997\nvt 0.186800003 0.299400002\nvt 0.186800003 0.700699985\nvt 0.186800003 0.633700013\nvt 0.186800003 0.566699982\nvt 0.186800003 0.5\nvt 0.124799997 0.432999998\nvt 0.124799997 0.365999997\nvt 0.124799997 0.299400002\nvt 0.124799997 0.700699985\nvt 0.124799997 0.633700013\nvt 0.124799997 0.566699982\nvt 0.124799997 0.5\nvt 0.061799999 0.432999998\nvt 0.061799999 0.365999997\nvt 0.061799999 0.299400002\nvt 0.061799999 0.700699985\nvt 0.061799999 0.633700013\nvt 0.061799999 0.566699982\nvt 0.061799999 0.5\nvt -0.0002 0.432999998\nvt -0.0002 0.365999997\nvt -0.0002 0.299199998\nvt -0.0002 0.700699985\nvt -0.0002 0.633700013\nvt -0.0002 0.566699982\nvt -0.0002 0.5\nvt 0.999800026 0.432999998\nvt 0.93779999 0.432999998\nvt 0.93779999 0.365999997\nvt 0.999800026 0.365999997\nvt 0.93779999 0.299400002\nvt 0.999800026 0.299400002\nvt 0.999800026 0.700699985\nvt 0.93779999 0.700699985\nvt 0.93779999 0.633700013\nvt 0.999800026 0.633700013\nvt 0.93779999 0.566699982\nvt 0.999800026 0.566699982\nvt 0.93779999 0.5\nvt 0.999800026 0.5\nvt 0.874800026 0.432999998\nvt 0.874800026 0.365999997\nvt 0.874800026 0.299400002\nvt 0.874800026 0.700699985\nvt 0.874800026 0.633700013\nvt 0.874800026 0.566699982\nvt 0.874800026 0.5\nvt 0.811800003 0.432999998\nvt 0.811800003 0.365999997\nvt 0.811800003 0.299400002\nvt 0.811800003 0.700699985\nvt 0.811800003 0.633700013\nvt 0.811800003 0.566699982\nvt 0.811800003 0.5\nvt 0.749800026 0.432999998\nvt 0.749800026 0.365999997\nvt 0.749800026 0.299400002\nvt 0.749800026 0.700699985\nvt 0.749800026 0.633700013\nvt 0.749800026 0.566699982\nvt 0.749800026 0.5\nvt 0.683799982 0.432999998\nvt 0.683799982 0.365999997\nvt 0.683799982 0.299400002\nvt 0.683799982 0.700699985\nvt 0.683799982 0.633700013\nvt 0.683799982 0.566699982\nvt 0.683799982 0.5\nvt 0.624800026 0.432999998\nvt 0.624800026 0.365999997\nvt 0.624800026 0.299400002\nvt 0.624800026 0.700699985\nvt 0.624800026 0.633700013\nvt 0.624800026 0.566699982\nvt 0.624800026 0.5\nvt 0.561800003 0.432999998\nvt 0.561800003 0.365999997\nvt 0.561800003 0.299400002\nvt 0.561800003 0.700699985\nvt 0.561800003 0.633700013\nvt 0.561800003 0.566699982\nvt 0.561800003 0.5\nvt 0.499799997 0.432999998\nvt 0.499799997 0.365999997\nvt 0.499799997 0.299400002\nvt 0.499799997 0.700699985\nvt 0.499799997 0.633700013\nvt 0.499799997 0.566699982\nvt 0.499799997 0.5\nvt 0.436800003 0.432999998\nvt 0.436800003 0.365999997\nvt 0.436800003 0.299400002\nvt 0.436800003 0.700699985\nvt 0.436800003 0.633700013\nvt 0.436800003 0.566699982\nvt 0.436800003 0.5\nvt 0.374799997 0.432999998\nvt 0.374799997 0.365999997\nvt 0.374799997 0.299400002\nvt 0.374799997 0.700699985\nvt 0.374799997 0.633700013\nvt 0.374799997 0.566699982\nvt 0.374799997 0.5\nvt 0.311800003 0.432999998\nvt 0.311800003 0.365999997\nvt 0.311800003 0.299400002\nvt 0.311800003 0.700699985\nvt 0.311800003 0.633700013\nvt 0.311800003 0.566699982\nvt 0.311800003 0.5\nvt 0.249799997 0.432999998\nvt 0.249799997 0.365999997\nvt 0.249799997 0.299400002\nvt 0.249799997 0.700699985\nvt 0.249799997 0.633700013\nvt 0.249799997 0.566699982\nvt 0.249799997 0.5\nvt 0.186800003 0.432999998\nvt 0.186800003 0.365999997\nvt 0.186800003 0.299400002\nvt 0.186800003 0.700699985\nvt 0.186800003 0.633700013\nvt 0.186800003 0.566699982\nvt 0.186800003 0.5\nvt 0.124799997 0.432999998\nvt 0.124799997 0.365999997\nvt 0.124799997 0.299400002\nvt 0.124799997 0.700699985\nvt 0.124799997 0.633700013\nvt 0.124799997 0.566699982\nvt 0.124799997 0.5\nvt 0.061799999 0.432999998\nvt 0.061799999 0.365999997\nvt 0.061799999 0.299400002\nvt 0.061799999 0.700699985\nvt 0.061799999 0.633700013\nvt 0.061799999 0.566699982\nvt 0.061799999 0.5\nvt -0.0002 0.432999998\nvt -0.0002 0.365999997\nvt -0.0002 0.299199998\nvt -0.0002 0.700699985\nvt -0.0002 0.633700013\nvt -0.0002 0.566699982\nvt -0.0002 0.5\nvt 0.999800026 0.432999998\nvt 0.93779999 0.432999998\nvt 0.93779999 0.365999997\nvt 0.999800026 0.365999997\nvt 0.93779999 0.299400002\nvt 0.999800026 0.299400002\nvt 0.999800026 0.700699985\nvt 0.93779999 0.700699985\nvt 0.93779999 0.633700013\nvt 0.999800026 0.633700013\nvt 0.93779999 0.566699982\nvt 0.999800026 0.566699982\nvt 0.93779999 0.5\nvt 0.999800026 0.5\nvt 0.874800026 0.432999998\nvt 0.874800026 0.365999997\nvt 0.874800026 0.299400002\nvt 0.874800026 0.700699985\nvt 0.874800026 0.633700013\nvt 0.874800026 0.566699982\nvt 0.874800026 0.5\nvt 0.811800003 0.432999998\nvt 0.811800003 0.365999997\nvt 0.811800003 0.299400002\nvt 0.811800003 0.700699985\nvt 0.811800003 0.633700013\nvt 0.811800003 0.566699982\nvt 0.811800003 0.5\nvt 0.749800026 0.432999998\nvt 0.749800026 0.365999997\nvt 0.749800026 0.299400002\nvt 0.749800026 0.700699985\nvt 0.749800026 0.633700013\nvt 0.749800026 0.566699982\nvt 0.749800026 0.5\nvt 0.683799982 0.432999998\nvt 0.683799982 0.365999997\nvt 0.683799982 0.299400002\nvt 0.683799982 0.700699985\nvt 0.683799982 0.633700013\nvt 0.683799982 0.566699982\nvt 0.683799982 0.5\nvt 0.624800026 0.432999998\nvt 0.624800026 0.365999997\nvt 0.624800026 0.299400002\nvt 0.624800026 0.700699985\nvt 0.624800026 0.633700013\nvt 0.624800026 0.566699982\nvt 0.624800026 0.5\nvt 0.561800003 0.432999998\nvt 0.561800003 0.365999997\nvt 0.561800003 0.299400002\nvt 0.561800003 0.700699985\nvt 0.561800003 0.633700013\nvt 0.561800003 0.566699982\nvt 0.561800003 0.5\nvt 0.499799997 0.432999998\nvt 0.499799997 0.365999997\nvt 0.499799997 0.299400002\nvt 0.499799997 0.700699985\nvt 0.499799997 0.633700013\nvt 0.499799997 0.566699982\nvt 0.499799997 0.5\nvt 0.436800003 0.432999998\nvt 0.436800003 0.365999997\nvt 0.436800003 0.299400002\nvt 0.436800003 0.700699985\nvt 0.436800003 0.633700013\nvt 0.436800003 0.566699982\nvt 0.436800003 0.5\nvt 0.374799997 0.432999998\nvt 0.374799997 0.365999997\nvt 0.374799997 0.299400002\nvt 0.374799997 0.700699985\nvt 0.374799997 0.633700013\nvt 0.374799997 0.566699982\nvt 0.374799997 0.5\nvt 0.311800003 0.432999998\nvt 0.311800003 0.365999997\nvt 0.311800003 0.299400002\nvt 0.311800003 0.700699985\nvt 0.311800003 0.633700013\nvt 0.311800003 0.566699982\nvt 0.311800003 0.5\nvt 0.249799997 0.432999998\nvt 0.249799997 0.365999997\nvt 0.249799997 0.299400002\nvt 0.249799997 0.700699985\nvt 0.249799997 0.633700013\nvt 0.249799997 0.566699982\nvt 0.249799997 0.5\nvt 0.186800003 0.432999998\nvt 0.186800003 0.365999997\nvt 0.186800003 0.299400002\nvt 0.186800003 0.700699985\nvt 0.186800003 0.633700013\nvt 0.186800003 0.566699982\nvt 0.186800003 0.5\nvt 0.124799997 0.432999998\nvt 0.124799997 0.365999997\nvt 0.124799997 0.299400002\nvt 0.124799997 0.700699985\nvt 0.124799997 0.633700013\nvt 0.124799997 0.566699982\nvt 0.124799997 0.5\nvt 0.061799999 0.432999998\nvt 0.061799999 0.365999997\nvt 0.061799999 0.299400002\nvt 0.061799999 0.700699985\nvt 0.061799999 0.633700013\nvt 0.061799999 0.566699982\nvt 0.061799999 0.5\nvt -0.0002 0.432999998\nvt -0.0002 0.365999997\nvt -0.0002 0.299199998\nvt -0.0002 0.700699985\nvt -0.0002 0.633700013\nvt -0.0002 0.566699982\nvt -0.0002 0.5\nvt 0.999800026 0.432999998\nvt 0.93779999 0.432999998\nvt 0.93779999 0.365999997\nvt 0.999800026 0.365999997\nvt 0.93779999 0.299400002\nvt 0.999800026 0.299400002\nvt 0.999800026 0.700699985\nvt 0.93779999 0.700699985\nvt 0.93779999 0.633700013\nvt 0.999800026 0.633700013\nvt 0.93779999 0.566699982\nvt 0.999800026 0.566699982\nvt 0.93779999 0.5\nvt 0.999800026 0.5\nvt 0.874800026 0.432999998\nvt 0.874800026 0.365999997\nvt 0.874800026 0.299400002\nvt 0.874800026 0.700699985\nvt 0.874800026 0.633700013\nvt 0.874800026 0.566699982\nvt 0.874800026 0.5\nvt 0.811800003 0.432999998\nvt 0.811800003 0.365999997\nvt 0.811800003 0.299400002\nvt 0.811800003 0.700699985\nvt 0.811800003 0.633700013\nvt 0.811800003 0.566699982\nvt 0.811800003 0.5\nvt 0.749800026 0.432999998\nvt 0.749800026 0.365999997\nvt 0.749800026 0.299400002\nvt 0.749800026 0.700699985\nvt 0.749800026 0.633700013\nvt 0.749800026 0.566699982\nvt 0.749800026 0.5\nvt 0.683799982 0.432999998\nvt 0.683799982 0.365999997\nvt 0.683799982 0.299400002\nvt 0.683799982 0.700699985\nvt 0.683799982 0.633700013\nvt 0.683799982 0.566699982\nvt 0.683799982 0.5\nvt 0.624800026 0.432999998\nvt 0.624800026 0.365999997\nvt 0.624800026 0.299400002\nvt 0.624800026 0.700699985\nvt 0.624800026 0.633700013\nvt 0.624800026 0.566699982\nvt 0.624800026 0.5\nvt 0.561800003 0.432999998\nvt 0.561800003 0.365999997\nvt 0.561800003 0.299400002\nvt 0.561800003 0.700699985\nvt 0.561800003 0.633700013\nvt 0.561800003 0.566699982\nvt 0.561800003 0.5\nvt 0.499799997 0.432999998\nvt 0.499799997 0.365999997\nvt 0.499799997 0.299400002\nvt 0.499799997 0.700699985\nvt 0.499799997 0.633700013\nvt 0.499799997 0.566699982\nvt 0.499799997 0.5\nvt 0.436800003 0.432999998\nvt 0.436800003 0.365999997\nvt 0.436800003 0.299400002\nvt 0.436800003 0.700699985\nvt 0.436800003 0.633700013\nvt 0.436800003 0.566699982\nvt 0.436800003 0.5\nvt 0.374799997 0.432999998\nvt 0.374799997 0.365999997\nvt 0.374799997 0.299400002\nvt 0.374799997 0.700699985\nvt 0.374799997 0.633700013\nvt 0.374799997 0.566699982\nvt 0.374799997 0.5\nvt 0.311800003 0.432999998\nvt 0.311800003 0.365999997\nvt 0.311800003 0.299400002\nvt 0.311800003 0.700699985\nvt 0.311800003 0.633700013\nvt 0.311800003 0.566699982\nvt 0.311800003 0.5\nvt 0.249799997 0.432999998\nvt 0.249799997 0.365999997\nvt 0.249799997 0.299400002\nvt 0.249799997 0.700699985\nvt 0.249799997 0.633700013\nvt 0.249799997 0.566699982\nvt 0.249799997 0.5\nvt 0.186800003 0.432999998\nvt 0.186800003 0.365999997\nvt 0.186800003 0.299400002\nvt 0.186800003 0.700699985\nvt 0.186800003 0.633700013\nvt 0.186800003 0.566699982\nvt 0.186800003 0.5\nvt 0.124799997 0.432999998\nvt 0.124799997 0.365999997\nvt 0.124799997 0.299400002\nvt 0.124799997 0.700699985\nvt 0.124799997 0.633700013\nvt 0.124799997 0.566699982\nvt 0.124799997 0.5\nvt 0.061799999 0.432999998\nvt 0.061799999 0.365999997\nvt 0.061799999 0.299400002\nvt 0.061799999 0.700699985\nvt 0.061799999 0.633700013\nvt 0.061799999 0.566699982\nvt 0.061799999 0.5\nvt -0.0002 0.432999998\nvt -0.0002 0.365999997\nvt -0.0002 0.299199998\nvt -0.0002 0.700699985\nvt -0.0002 0.633700013\nvt -0.0002 0.566699982\nvt -0.0002 0.5\nvt 0.999800026 0.432999998\nvt 0.93779999 0.432999998\nvt 0.93779999 0.365999997\nvt 0.999800026 0.365999997\nvt 0.93779999 0.299400002\nvt 0.999800026 0.299400002\nvt 0.999800026 0.700699985\nvt 0.93779999 0.700699985\nvt 0.93779999 0.633700013\nvt 0.999800026 0.633700013\nvt 0.93779999 0.566699982\nvt 0.999800026 0.566699982\nvt 0.93779999 0.5\nvt 0.999800026 0.5\nvt 0.874800026 0.432999998\nvt 0.874800026 0.365999997\nvt 0.874800026 0.299400002\nvt 0.874800026 0.700699985\nvt 0.874800026 0.633700013\nvt 0.874800026 0.566699982\nvt 0.874800026 0.5\nvt 0.811800003 0.432999998\nvt 0.811800003 0.365999997\nvt 0.811800003 0.299400002\nvt 0.811800003 0.700699985\nvt 0.811800003 0.633700013\nvt 0.811800003 0.566699982\nvt 0.811800003 0.5\nvt 0.749800026 0.432999998\nvt 0.749800026 0.365999997\nvt 0.749800026 0.299400002\nvt 0.749800026 0.700699985\nvt 0.749800026 0.633700013\nvt 0.749800026 0.566699982\nvt 0.749800026 0.5\nvt 0.683799982 0.432999998\nvt 0.683799982 0.365999997\nvt 0.683799982 0.299400002\nvt 0.683799982 0.700699985\nvt 0.683799982 0.633700013\nvt 0.683799982 0.566699982\nvt 0.683799982 0.5\nvt 0.624800026 0.432999998\nvt 0.624800026 0.365999997\nvt 0.624800026 0.299400002\nvt 0.624800026 0.700699985\nvt 0.624800026 0.633700013\nvt 0.624800026 0.566699982\nvt 0.624800026 0.5\nvt 0.561800003 0.432999998\nvt 0.561800003 0.365999997\nvt 0.561800003 0.299400002\nvt 0.561800003 0.700699985\nvt 0.561800003 0.633700013\nvt 0.561800003 0.566699982\nvt 0.561800003 0.5\nvt 0.499799997 0.432999998\nvt 0.499799997 0.365999997\nvt 0.499799997 0.299400002\nvt 0.499799997 0.700699985\nvt 0.499799997 0.633700013\nvt 0.499799997 0.566699982\nvt 0.499799997 0.5\nvt 0.436800003 0.432999998\nvt 0.436800003 0.365999997\nvt 0.436800003 0.299400002\nvt 0.436800003 0.700699985\nvt 0.436800003 0.633700013\nvt 0.436800003 0.566699982\nvt 0.436800003 0.5\nvt 0.374799997 0.432999998\nvt 0.374799997 0.365999997\nvt 0.374799997 0.299400002\nvt 0.374799997 0.700699985\nvt 0.374799997 0.633700013\nvt 0.374799997 0.566699982\nvt 0.374799997 0.5\nvt 0.311800003 0.432999998\nvt 0.311800003 0.365999997\nvt 0.311800003 0.299400002\nvt 0.311800003 0.700699985\nvt 0.311800003 0.633700013\nvt 0.311800003 0.566699982\nvt 0.311800003 0.5\nvt 0.249799997 0.432999998\nvt 0.249799997 0.365999997\nvt 0.249799997 0.299400002\nvt 0.249799997 0.700699985\nvt 0.249799997 0.633700013\nvt 0.249799997 0.566699982\nvt 0.249799997 0.5\nvt 0.186800003 0.432999998\nvt 0.186800003 0.365999997\nvt 0.186800003 0.299400002\nvt 0.186800003 0.700699985\nvt 0.186800003 0.633700013\nvt 0.186800003 0.566699982\nvt 0.186800003 0.5\nvt 0.124799997 0.432999998\nvt 0.124799997 0.365999997\nvt 0.124799997 0.299400002\nvt 0.124799997 0.700699985\nvt 0.124799997 0.633700013\nvt 0.124799997 0.566699982\nvt 0.124799997 0.5\nvt 0.061799999 0.432999998\nvt 0.061799999 0.365999997\nvt 0.061799999 0.299400002\nvt 0.061799999 0.700699985\nvt 0.061799999 0.633700013\nvt 0.061799999 0.566699982\nvt 0.061799999 0.5\nvt -0.0002 0.432999998\nvt -0.0002 0.365999997\nvt -0.0002 0.299199998\nvt -0.0002 0.700699985\nvt -0.0002 0.633700013\nvt -0.0002 0.566699982\nvt -0.0002 0.5\nvt 0.999800026 0.432999998\nvt 0.93779999 0.432999998\nvt 0.93779999 0.365999997\nvt 0.999800026 0.365999997\nvt 0.93779999 0.299400002\nvt 0.999800026 0.299400002\nvt 0.999800026 0.700699985\nvt 0.93779999 0.700699985\nvt 0.93779999 0.633700013\nvt 0.999800026 0.633700013\nvt 0.93779999 0.566699982\nvt 0.999800026 0.566699982\nvt 0.93779999 0.5\nvt 0.999800026 0.5\nvt 0.874800026 0.432999998\nvt 0.874800026 0.365999997\nvt 0.874800026 0.299400002\nvt 0.874800026 0.700699985\nvt 0.874800026 0.633700013\nvt 0.874800026 0.566699982\nvt 0.874800026 0.5\nvt 0.811800003 0.432999998\nvt 0.811800003 0.365999997\nvt 0.811800003 0.299400002\nvt 0.811800003 0.700699985\nvt 0.811800003 0.633700013\nvt 0.811800003 0.566699982\nvt 0.811800003 0.5\nvt 0.749800026 0.432999998\nvt 0.749800026 0.365999997\nvt 0.749800026 0.299400002\nvt 0.749800026 0.700699985\nvt 0.749800026 0.633700013\nvt 0.749800026 0.566699982\nvt 0.749800026 0.5\nvt 0.683799982 0.432999998\nvt 0.683799982 0.365999997\nvt 0.683799982 0.299400002\nvt 0.683799982 0.700699985\nvt 0.683799982 0.633700013\nvt 0.683799982 0.566699982\nvt 0.683799982 0.5\nvt 0.624800026 0.432999998\nvt 0.624800026 0.365999997\nvt 0.624800026 0.299400002\nvt 0.624800026 0.700699985\nvt 0.624800026 0.633700013\nvt 0.624800026 0.566699982\nvt 0.624800026 0.5\nvt 0.561800003 0.432999998\nvt 0.561800003 0.365999997\nvt 0.561800003 0.299400002\nvt 0.561800003 0.700699985\nvt 0.561800003 0.633700013\nvt 0.561800003 0.566699982\nvt 0.561800003 0.5\nvt 0.499799997 0.432999998\nvt 0.499799997 0.365999997\nvt 0.499799997 0.299400002\nvt 0.499799997 0.700699985\nvt 0.499799997 0.633700013\nvt 0.499799997 0.566699982\nvt 0.499799997 0.5\nvt 0.436800003 0.432999998\nvt 0.436800003 0.365999997\nvt 0.436800003 0.299400002\nvt 0.436800003 0.700699985\nvt 0.436800003 0.633700013\nvt 0.436800003 0.566699982\nvt 0.436800003 0.5\nvt 0.374799997 0.432999998\nvt 0.374799997 0.365999997\nvt 0.374799997 0.299400002\nvt 0.374799997 0.700699985\nvt 0.374799997 0.633700013\nvt 0.374799997 0.566699982\nvt 0.374799997 0.5\nvt 0.311800003 0.432999998\nvt 0.311800003 0.365999997\nvt 0.311800003 0.299400002\nvt 0.311800003 0.700699985\nvt 0.311800003 0.633700013\nvt 0.311800003 0.566699982\nvt 0.311800003 0.5\nvt 0.249799997 0.432999998\nvt 0.249799997 0.365999997\nvt 0.249799997 0.299400002\nvt 0.249799997 0.700699985\nvt 0.249799997 0.633700013\nvt 0.249799997 0.566699982\nvt 0.249799997 0.5\nvt 0.186800003 0.432999998\nvt 0.186800003 0.365999997\nvt 0.186800003 0.299400002\nvt 0.186800003 0.700699985\nvt 0.186800003 0.633700013\nvt 0.186800003 0.566699982\nvt 0.186800003 0.5\nvt 0.124799997 0.432999998\nvt 0.124799997 0.365999997\nvt 0.124799997 0.299400002\nvt 0.124799997 0.700699985\nvt 0.124799997 0.633700013\nvt 0.124799997 0.566699982\nvt 0.124799997 0.5\nvt 0.061799999 0.432999998\nvt 0.061799999 0.365999997\nvt 0.061799999 0.299400002\nvt 0.061799999 0.700699985\nvt 0.061799999 0.633700013\nvt 0.061799999 0.566699982\nvt 0.061799999 0.5\nvt -0.0002 0.432999998\nvt -0.0002 0.365999997\nvt -0.0002 0.299199998\nvt -0.0002 0.700699985\nvt -0.0002 0.633700013\nvt -0.0002 0.566699982\nvt -0.0002 0.5\nvt 0.999800026 0.432999998\nvt 0.93779999 0.432999998\nvt 0.93779999 0.365999997\nvt 0.999800026 0.365999997\nvt 0.93779999 0.299400002\nvt 0.999800026 0.299400002\nvt 0.999800026 0.700699985\nvt 0.93779999 0.700699985\nvt 0.93779999 0.633700013\nvt 0.999800026 0.633700013\nvt 0.93779999 0.566699982\nvt 0.999800026 0.566699982\nvt 0.93779999 0.5\nvt 0.999800026 0.5\nvt 0.874800026 0.432999998\nvt 0.874800026 0.365999997\nvt 0.874800026 0.299400002\nvt 0.874800026 0.700699985\nvt 0.874800026 0.633700013\nvt 0.874800026 0.566699982\nvt 0.874800026 0.5\nvt 0.811800003 0.432999998\nvt 0.811800003 0.365999997\nvt 0.811800003 0.299400002\nvt 0.811800003 0.700699985\nvt 0.811800003 0.633700013\nvt 0.811800003 0.566699982\nvt 0.811800003 0.5\nvt 0.749800026 0.432999998\nvt 0.749800026 0.365999997\nvt 0.749800026 0.299400002\nvt 0.749800026 0.700699985\nvt 0.749800026 0.633700013\nvt 0.749800026 0.566699982\nvt 0.749800026 0.5\nvt 0.683799982 0.432999998\nvt 0.683799982 0.365999997\nvt 0.683799982 0.299400002\nvt 0.683799982 0.700699985\nvt 0.683799982 0.633700013\nvt 0.683799982 0.566699982\nvt 0.683799982 0.5\nvt 0.624800026 0.432999998\nvt 0.624800026 0.365999997\nvt 0.624800026 0.299400002\nvt 0.624800026 0.700699985\nvt 0.624800026 0.633700013\nvt 0.624800026 0.566699982\nvt 0.624800026 0.5\nvt 0.561800003 0.432999998\nvt 0.561800003 0.365999997\nvt 0.561800003 0.299400002\nvt 0.561800003 0.700699985\nvt 0.561800003 0.633700013\nvt 0.561800003 0.566699982\nvt 0.561800003 0.5\nvt 0.499799997 0.432999998\nvt 0.499799997 0.365999997\nvt 0.499799997 0.299400002\nvt 0.499799997 0.700699985\nvt 0.499799997 0.633700013\nvt 0.499799997 0.566699982\nvt 0.499799997 0.5\nvt 0.436800003 0.432999998\nvt 0.436800003 0.365999997\nvt 0.436800003 0.299400002\nvt 0.436800003 0.700699985\nvt 0.436800003 0.633700013\nvt 0.436800003 0.566699982\nvt 0.436800003 0.5\nvt 0.374799997 0.432999998\nvt 0.374799997 0.365999997\nvt 0.374799997 0.299400002\nvt 0.374799997 0.700699985\nvt 0.374799997 0.633700013\nvt 0.374799997 0.566699982\nvt 0.374799997 0.5\nvt 0.311800003 0.432999998\nvt 0.311800003 0.365999997\nvt 0.311800003 0.299400002\nvt 0.311800003 0.700699985\nvt 0.311800003 0.633700013\nvt 0.311800003 0.566699982\nvt 0.311800003 0.5\nvt 0.249799997 0.432999998\nvt 0.249799997 0.365999997\nvt 0.249799997 0.299400002\nvt 0.249799997 0.700699985\nvt 0.249799997 0.633700013\nvt 0.249799997 0.566699982\nvt 0.249799997 0.5\nvt 0.186800003 0.432999998\nvt 0.186800003 0.365999997\nvt 0.186800003 0.299400002\nvt 0.186800003 0.700699985\nvt 0.186800003 0.633700013\nvt 0.186800003 0.566699982\nvt 0.186800003 0.5\nvt 0.124799997 0.432999998\nvt 0.124799997 0.365999997\nvt 0.124799997 0.299400002\nvt 0.124799997 0.700699985\nvt 0.124799997 0.633700013\nvt 0.124799997 0.566699982\nvt 0.124799997 0.5\nvt 0.061799999 0.432999998\nvt 0.061799999 0.365999997\nvt 0.061799999 0.299400002\nvt 0.061799999 0.700699985\nvt 0.061799999 0.633700013\nvt 0.061799999 0.566699982\nvt 0.061799999 0.5\nvt -0.0002 0.432999998\nvt -0.0002 0.365999997\nvt -0.0002 0.299199998\nvt -0.0002 0.700699985\nvt -0.0002 0.633700013\nvt -0.0002 0.566699982\nvt -0.0002 0.5\nvt 0.999800026 0.432999998\nvt 0.93779999 0.432999998\nvt 0.93779999 0.365999997\nvt 0.999800026 0.365999997\nvt 0.93779999 0.299400002\nvt 0.999800026 0.299400002\nvt 0.999800026 0.700699985\nvt 0.93779999 0.700699985\nvt 0.93779999 0.633700013\nvt 0.999800026 0.633700013\nvt 0.93779999 0.566699982\nvt 0.999800026 0.566699982\nvt 0.93779999 0.5\nvt 0.999800026 0.5\nvt 0.874800026 0.432999998\nvt 0.874800026 0.365999997\nvt 0.874800026 0.299400002\nvt 0.874800026 0.700699985\nvt 0.874800026 0.633700013\nvt 0.874800026 0.566699982\nvt 0.874800026 0.5\nvt 0.811800003 0.432999998\nvt 0.811800003 0.365999997\nvt 0.811800003 0.299400002\nvt 0.811800003 0.700699985\nvt 0.811800003 0.633700013\nvt 0.811800003 0.566699982\nvt 0.811800003 0.5\nvt 0.749800026 0.432999998\nvt 0.749800026 0.365999997\nvt 0.749800026 0.299400002\nvt 0.749800026 0.700699985\nvt 0.749800026 0.633700013\nvt 0.749800026 0.566699982\nvt 0.749800026 0.5\nvt 0.683799982 0.432999998\nvt 0.683799982 0.365999997\nvt 0.683799982 0.299400002\nvt 0.683799982 0.700699985\nvt 0.683799982 0.633700013\nvt 0.683799982 0.566699982\nvt 0.683799982 0.5\nvt 0.624800026 0.432999998\nvt 0.624800026 0.365999997\nvt 0.624800026 0.299400002\nvt 0.624800026 0.700699985\nvt 0.624800026 0.633700013\nvt 0.624800026 0.566699982\nvt 0.624800026 0.5\nvt 0.561800003 0.432999998\nvt 0.561800003 0.365999997\nvt 0.561800003 0.299400002\nvt 0.561800003 0.700699985\nvt 0.561800003 0.633700013\nvt 0.561800003 0.566699982\nvt 0.561800003 0.5\nvt 0.499799997 0.432999998\nvt 0.499799997 0.365999997\nvt 0.499799997 0.299400002\nvt 0.499799997 0.700699985\nvt 0.499799997 0.633700013\nvt 0.499799997 0.566699982\nvt 0.499799997 0.5\nvt 0.436800003 0.432999998\nvt 0.436800003 0.365999997\nvt 0.436800003 0.299400002\nvt 0.436800003 0.700699985\nvt 0.436800003 0.633700013\nvt 0.436800003 0.566699982\nvt 0.436800003 0.5\nvt 0.374799997 0.432999998\nvt 0.374799997 0.365999997\nvt 0.374799997 0.299400002\nvt 0.374799997 0.700699985\nvt 0.374799997 0.633700013\nvt 0.374799997 0.566699982\nvt 0.374799997 0.5\nvt 0.311800003 0.432999998\nvt 0.311800003 0.365999997\nvt 0.311800003 0.299400002\nvt 0.311800003 0.700699985\nvt 0.311800003 0.633700013\nvt 0.311800003 0.566699982\nvt 0.311800003 0.5\nvt 0.249799997 0.432999998\nvt 0.249799997 0.365999997\nvt 0.249799997 0.299400002\nvt 0.249799997 0.700699985\nvt 0.249799997 0.633700013\nvt 0.249799997 0.566699982\nvt 0.249799997 0.5\nvt 0.186800003 0.432999998\nvt 0.186800003 0.365999997\nvt 0.186800003 0.299400002\nvt 0.186800003 0.700699985\nvt 0.186800003 0.633700013\nvt 0.186800003 0.566699982\nvt 0.186800003 0.5\nvt 0.124799997 0.432999998\nvt 0.124799997 0.365999997\nvt 0.124799997 0.299400002\nvt 0.124799997 0.700699985\nvt 0.124799997 0.633700013\nvt 0.124799997 0.566699982\nvt 0.124799997 0.5\nvt 0.061799999 0.432999998\nvt 0.061799999 0.365999997\nvt 0.061799999 0.299400002\nvt 0.061799999 0.700699985\nvt 0.061799999 0.633700013\nvt 0.061799999 0.566699982\nvt 0.061799999 0.5\nvt -0.0002 0.432999998\nvt -0.0002 0.365999997\nvt -0.0002 0.299199998\nvt -0.0002 0.700699985\nvt -0.0002 0.633700013\nvt -0.0002 0.566699982\nvt -0.0002 0.5\nvt 0.999800026 0.432999998\nvt 0.93779999 0.432999998\nvt 0.93779999 0.365999997\nvt 0.999800026 0.365999997\nvt 0.93779999 0.299400002\nvt 0.999800026 0.299400002\nvt 0.999800026 0.700699985\nvt 0.93779999 0.700699985\nvt 0.93779999 0.633700013\nvt 0.999800026 0.633700013\nvt 0.93779999 0.566699982\nvt 0.999800026 0.566699982\nvt 0.93779999 0.5\nvt 0.999800026 0.5\nvt 0.874800026 0.432999998\nvt 0.874800026 0.365999997\nvt 0.874800026 0.299400002\nvt 0.874800026 0.700699985\nvt 0.874800026 0.633700013\nvt 0.874800026 0.566699982\nvt 0.874800026 0.5\nvt 0.811800003 0.432999998\nvt 0.811800003 0.365999997\nvt 0.811800003 0.299400002\nvt 0.811800003 0.700699985\nvt 0.811800003 0.633700013\nvt 0.811800003 0.566699982\nvt 0.811800003 0.5\nvt 0.749800026 0.432999998\nvt 0.749800026 0.365999997\nvt 0.749800026 0.299400002\nvt 0.749800026 0.700699985\nvt 0.749800026 0.633700013\nvt 0.749800026 0.566699982\nvt 0.749800026 0.5\nvt 0.683799982 0.432999998\nvt 0.683799982 0.365999997\nvt 0.683799982 0.299400002\nvt 0.683799982 0.700699985\nvt 0.683799982 0.633700013\nvt 0.683799982 0.566699982\nvt 0.683799982 0.5\nvt 0.624800026 0.432999998\nvt 0.624800026 0.365999997\nvt 0.624800026 0.299400002\nvt 0.624800026 0.700699985\nvt 0.624800026 0.633700013\nvt 0.624800026 0.566699982\nvt 0.624800026 0.5\nvt 0.561800003 0.432999998\nvt 0.561800003 0.365999997\nvt 0.561800003 0.299400002\nvt 0.561800003 0.700699985\nvt 0.561800003 0.633700013\nvt 0.561800003 0.566699982\nvt 0.561800003 0.5\nvt 0.499799997 0.432999998\nvt 0.499799997 0.365999997\nvt 0.499799997 0.299400002\nvt 0.499799997 0.700699985\nvt 0.499799997 0.633700013\nvt 0.499799997 0.566699982\nvt 0.499799997 0.5\nvt 0.436800003 0.432999998\nvt 0.436800003 0.365999997\nvt 0.436800003 0.299400002\nvt 0.436800003 0.700699985\nvt 0.436800003 0.633700013\nvt 0.436800003 0.566699982\nvt 0.436800003 0.5\nvt 0.374799997 0.432999998\nvt 0.374799997 0.365999997\nvt 0.374799997 0.299400002\nvt 0.374799997 0.700699985\nvt 0.374799997 0.633700013\nvt 0.374799997 0.566699982\nvt 0.374799997 0.5\nvt 0.311800003 0.432999998\nvt 0.311800003 0.365999997\nvt 0.311800003 0.299400002\nvt 0.311800003 0.700699985\nvt 0.311800003 0.633700013\nvt 0.311800003 0.566699982\nvt 0.311800003 0.5\nvt 0.249799997 0.432999998\nvt 0.249799997 0.365999997\nvt 0.249799997 0.299400002\nvt 0.249799997 0.700699985\nvt 0.249799997 0.633700013\nvt 0.249799997 0.566699982\nvt 0.249799997 0.5\nvt 0.186800003 0.432999998\nvt 0.186800003 0.365999997\nvt 0.186800003 0.299400002\nvt 0.186800003 0.700699985\nvt 0.186800003 0.633700013\nvt 0.186800003 0.566699982\nvt 0.186800003 0.5\nvt 0.124799997 0.432999998\nvt 0.124799997 0.365999997\nvt 0.124799997 0.299400002\nvt 0.124799997 0.700699985\nvt 0.124799997 0.633700013\nvt 0.124799997 0.566699982\nvt 0.124799997 0.5\nvt 0.061799999 0.432999998\nvt 0.061799999 0.365999997\nvt 0.061799999 0.299400002\nvt 0.061799999 0.700699985\nvt 0.061799999 0.633700013\nvt 0.061799999 0.566699982\nvt 0.061799999 0.5\nvt -0.0002 0.432999998\nvt -0.0002 0.365999997\nvt -0.0002 0.299199998\nvt -0.0002 0.700699985\nvt -0.0002 0.633700013\nvt -0.0002 0.566699982\nvt -0.0002 0.5\nvt 0.999800026 0.432999998\nvt 0.93779999 0.432999998\nvt 0.93779999 0.365999997\nvt 0.999800026 0.365999997\nvt 0.93779999 0.299400002\nvt 0.999800026 0.299400002\nvt 0.999800026 0.700699985\nvt 0.93779999 0.700699985\nvt 0.93779999 0.633700013\nvt 0.999800026 0.633700013\nvt 0.93779999 0.566699982\nvt 0.999800026 0.566699982\nvt 0.93779999 0.5\nvt 0.999800026 0.5\nvt 0.874800026 0.432999998\nvt 0.874800026 0.365999997\nvt 0.874800026 0.299400002\nvt 0.874800026 0.700699985\nvt 0.874800026 0.633700013\nvt 0.874800026 0.566699982\nvt 0.874800026 0.5\nvt 0.811800003 0.432999998\nvt 0.811800003 0.365999997\nvt 0.811800003 0.299400002\nvt 0.811800003 0.700699985\nvt 0.811800003 0.633700013\nvt 0.811800003 0.566699982\nvt 0.811800003 0.5\nvt 0.749800026 0.432999998\nvt 0.749800026 0.365999997\nvt 0.749800026 0.299400002\nvt 0.749800026 0.700699985\nvt 0.749800026 0.633700013\nvt 0.749800026 0.566699982\nvt 0.749800026 0.5\nvt 0.683799982 0.432999998\nvt 0.683799982 0.365999997\nvt 0.683799982 0.299400002\nvt 0.683799982 0.700699985\nvt 0.683799982 0.633700013\nvt 0.683799982 0.566699982\nvt 0.683799982 0.5\nvt 0.624800026 0.432999998\nvt 0.624800026 0.365999997\nvt 0.624800026 0.299400002\nvt 0.624800026 0.700699985\nvt 0.624800026 0.633700013\nvt 0.624800026 0.566699982\nvt 0.624800026 0.5\nvt 0.561800003 0.432999998\nvt 0.561800003 0.365999997\nvt 0.561800003 0.299400002\nvt 0.561800003 0.700699985\nvt 0.561800003 0.633700013\nvt 0.561800003 0.566699982\nvt 0.561800003 0.5\nvt 0.499799997 0.432999998\nvt 0.499799997 0.365999997\nvt 0.499799997 0.299400002\nvt 0.499799997 0.700699985\nvt 0.499799997 0.633700013\nvt 0.499799997 0.566699982\nvt 0.499799997 0.5\nvt 0.436800003 0.432999998\nvt 0.436800003 0.365999997\nvt 0.436800003 0.299400002\nvt 0.436800003 0.700699985\nvt 0.436800003 0.633700013\nvt 0.436800003 0.566699982\nvt 0.436800003 0.5\nvt 0.374799997 0.432999998\nvt 0.374799997 0.365999997\nvt 0.374799997 0.299400002\nvt 0.374799997 0.700699985\nvt 0.374799997 0.633700013\nvt 0.374799997 0.566699982\nvt 0.374799997 0.5\nvt 0.311800003 0.432999998\nvt 0.311800003 0.365999997\nvt 0.311800003 0.299400002\nvt 0.311800003 0.700699985\nvt 0.311800003 0.633700013\nvt 0.311800003 0.566699982\nvt 0.311800003 0.5\nvt 0.249799997 0.432999998\nvt 0.249799997 0.365999997\nvt 0.249799997 0.299400002\nvt 0.249799997 0.700699985\nvt 0.249799997 0.633700013\nvt 0.249799997 0.566699982\nvt 0.249799997 0.5\nvt 0.186800003 0.432999998\nvt 0.186800003 0.365999997\nvt 0.186800003 0.299400002\nvt 0.186800003 0.700699985\nvt 0.186800003 0.633700013\nvt 0.186800003 0.566699982\nvt 0.186800003 0.5\nvt 0.124799997 0.432999998\nvt 0.124799997 0.365999997\nvt 0.124799997 0.299400002\nvt 0.124799997 0.700699985\nvt 0.124799997 0.633700013\nvt 0.124799997 0.566699982\nvt 0.124799997 0.5\nvt 0.061799999 0.432999998\nvt 0.061799999 0.365999997\nvt 0.061799999 0.299400002\nvt 0.061799999 0.700699985\nvt 0.061799999 0.633700013\nvt 0.061799999 0.566699982\nvt 0.061799999 0.5\nvt -0.0002 0.432999998\nvt -0.0002 0.365999997\nvt -0.0002 0.299199998\nvt -0.0002 0.700699985\nvt -0.0002 0.633700013\nvt -0.0002 0.566699982\nvt -0.0002 0.5\nvt 0.999800026 0.432999998\nvt 0.93779999 0.432999998\nvt 0.93779999 0.365999997\nvt 0.999800026 0.365999997\nvt 0.93779999 0.299400002\nvt 0.999800026 0.299400002\nvt 0.999800026 0.700699985\nvt 0.93779999 0.700699985\nvt 0.93779999 0.633700013\nvt 0.999800026 0.633700013\nvt 0.93779999 0.566699982\nvt 0.999800026 0.566699982\nvt 0.93779999 0.5\nvt 0.999800026 0.5\nvt 0.874800026 0.432999998\nvt 0.874800026 0.365999997\nvt 0.874800026 0.299400002\nvt 0.874800026 0.700699985\nvt 0.874800026 0.633700013\nvt 0.874800026 0.566699982\nvt 0.874800026 0.5\nvt 0.811800003 0.432999998\nvt 0.811800003 0.365999997\nvt 0.811800003 0.299400002\nvt 0.811800003 0.700699985\nvt 0.811800003 0.633700013\nvt 0.811800003 0.566699982\nvt 0.811800003 0.5\nvt 0.749800026 0.432999998\nvt 0.749800026 0.365999997\nvt 0.749800026 0.299400002\nvt 0.749800026 0.700699985\nvt 0.749800026 0.633700013\nvt 0.749800026 0.566699982\nvt 0.749800026 0.5\nvt 0.683799982 0.432999998\nvt 0.683799982 0.365999997\nvt 0.683799982 0.299400002\nvt 0.683799982 0.700699985\nvt 0.683799982 0.633700013\nvt 0.683799982 0.566699982\nvt 0.683799982 0.5\nvt 0.624800026 0.432999998\nvt 0.624800026 0.365999997\nvt 0.624800026 0.299400002\nvt 0.624800026 0.700699985\nvt 0.624800026 0.633700013\nvt 0.624800026 0.566699982\nvt 0.624800026 0.5\nvt 0.561800003 0.432999998\nvt 0.561800003 0.365999997\nvt 0.561800003 0.299400002\nvt 0.561800003 0.700699985\nvt 0.561800003 0.633700013\nvt 0.561800003 0.566699982\nvt 0.561800003 0.5\nvt 0.499799997 0.432999998\nvt 0.499799997 0.365999997\nvt 0.499799997 0.299400002\nvt 0.499799997 0.700699985\nvt 0.499799997 0.633700013\nvt 0.499799997 0.566699982\nvt 0.499799997 0.5\nvt 0.436800003 0.432999998\nvt 0.436800003 0.365999997\nvt 0.436800003 0.299400002\nvt 0.436800003 0.700699985\nvt 0.436800003 0.633700013\nvt 0.436800003 0.566699982\nvt 0.436800003 0.5\nvt 0.374799997 0.432999998\nvt 0.374799997 0.365999997\nvt 0.374799997 0.299400002\nvt 0.374799997 0.700699985\nvt 0.374799997 0.633700013\nvt 0.374799997 0.566699982\nvt 0.374799997 0.5\nvt 0.311800003 0.432999998\nvt 0.311800003 0.365999997\nvt 0.311800003 0.299400002\nvt 0.311800003 0.700699985\nvt 0.311800003 0.633700013\nvt 0.311800003 0.566699982\nvt 0.311800003 0.5\nvt 0.249799997 0.432999998\nvt 0.249799997 0.365999997\nvt 0.249799997 0.299400002\nvt 0.249799997 0.700699985\nvt 0.249799997 0.633700013\nvt 0.249799997 0.566699982\nvt 0.249799997 0.5\nvt 0.186800003 0.432999998\nvt 0.186800003 0.365999997\nvt 0.186800003 0.299400002\nvt 0.186800003 0.700699985\nvt 0.186800003 0.633700013\nvt 0.186800003 0.566699982\nvt 0.186800003 0.5\nvt 0.124799997 0.432999998\nvt 0.124799997 0.365999997\nvt 0.124799997 0.299400002\nvt 0.124799997 0.700699985\nvt 0.124799997 0.633700013\nvt 0.124799997 0.566699982\nvt 0.124799997 0.5\nvt 0.061799999 0.432999998\nvt 0.061799999 0.365999997\nvt 0.061799999 0.299400002\nvt 0.061799999 0.700699985\nvt 0.061799999 0.633700013\nvt 0.061799999 0.566699982\nvt 0.061799999 0.5\nvt -0.0002 0.432999998\nvt -0.0002 0.365999997\nvt -0.0002 0.299199998\nvt -0.0002 0.700699985\nvt -0.0002 0.633700013\nvt -0.0002 0.566699982\nvt -0.0002 0.5\nvt 0.999800026 0.432999998\nvt 0.93779999 0.432999998\nvt 0.93779999 0.365999997\nvt 0.999800026 0.365999997\nvt 0.93779999 0.299400002\nvt 0.999800026 0.299400002\nvt 0.999800026 0.700699985\nvt 0.93779999 0.700699985\nvt 0.93779999 0.633700013\nvt 0.999800026 0.633700013\nvt 0.93779999 0.566699982\nvt 0.999800026 0.566699982\nvt 0.93779999 0.5\nvt 0.999800026 0.5\nvt 0.874800026 0.432999998\nvt 0.874800026 0.365999997\nvt 0.874800026 0.299400002\nvt 0.874800026 0.700699985\nvt 0.874800026 0.633700013\nvt 0.874800026 0.566699982\nvt 0.874800026 0.5\nvt 0.811800003 0.432999998\nvt 0.811800003 0.365999997\nvt 0.811800003 0.299400002\nvt 0.811800003 0.700699985\nvt 0.811800003 0.633700013\nvt 0.811800003 0.566699982\nvt 0.811800003 0.5\nvt 0.749800026 0.432999998\nvt 0.749800026 0.365999997\nvt 0.749800026 0.299400002\nvt 0.749800026 0.700699985\nvt 0.749800026 0.633700013\nvt 0.749800026 0.566699982\nvt 0.749800026 0.5\nvt 0.683799982 0.432999998\nvt 0.683799982 0.365999997\nvt 0.683799982 0.299400002\nvt 0.683799982 0.700699985\nvt 0.683799982 0.633700013\nvt 0.683799982 0.566699982\nvt 0.683799982 0.5\nvt 0.624800026 0.432999998\nvt 0.624800026 0.365999997\nvt 0.624800026 0.299400002\nvt 0.624800026 0.700699985\nvt 0.624800026 0.633700013\nvt 0.624800026 0.566699982\nvt 0.624800026 0.5\nvt 0.561800003 0.432999998\nvt 0.561800003 0.365999997\nvt 0.561800003 0.299400002\nvt 0.561800003 0.700699985\nvt 0.561800003 0.633700013\nvt 0.561800003 0.566699982\nvt 0.561800003 0.5\nvt 0.499799997 0.432999998\nvt 0.499799997 0.365999997\nvt 0.499799997 0.299400002\nvt 0.499799997 0.700699985\nvt 0.499799997 0.633700013\nvt 0.499799997 0.566699982\nvt 0.499799997 0.5\nvt 0.436800003 0.432999998\nvt 0.436800003 0.365999997\nvt 0.436800003 0.299400002\nvt 0.436800003 0.700699985\nvt 0.436800003 0.633700013\nvt 0.436800003 0.566699982\nvt 0.436800003 0.5\nvt 0.374799997 0.432999998\nvt 0.374799997 0.365999997\nvt 0.374799997 0.299400002\nvt 0.374799997 0.700699985\nvt 0.374799997 0.633700013\nvt 0.374799997 0.566699982\nvt 0.374799997 0.5\nvt 0.311800003 0.432999998\nvt 0.311800003 0.365999997\nvt 0.311800003 0.299400002\nvt 0.311800003 0.700699985\nvt 0.311800003 0.633700013\nvt 0.311800003 0.566699982\nvt 0.311800003 0.5\nvt 0.249799997 0.432999998\nvt 0.249799997 0.365999997\nvt 0.249799997 0.299400002\nvt 0.249799997 0.700699985\nvt 0.249799997 0.633700013\nvt 0.249799997 0.566699982\nvt 0.249799997 0.5\nvt 0.186800003 0.432999998\nvt 0.186800003 0.365999997\nvt 0.186800003 0.299400002\nvt 0.186800003 0.700699985\nvt 0.186800003 0.633700013\nvt 0.186800003 0.566699982\nvt 0.186800003 0.5\nvt 0.124799997 0.432999998\nvt 0.124799997 0.365999997\nvt 0.124799997 0.299400002\nvt 0.124799997 0.700699985\nvt 0.124799997 0.633700013\nvt 0.124799997 0.566699982\nvt 0.124799997 0.5\nvt 0.061799999 0.432999998\nvt 0.061799999 0.365999997\nvt 0.061799999 0.299400002\nvt 0.061799999 0.700699985\nvt 0.061799999 0.633700013\nvt 0.061799999 0.566699982\nvt 0.061799999 0.5\nvt -0.0002 0.432999998\nvt -0.0002 0.365999997\nvt -0.0002 0.299199998\nvt -0.0002 0.700699985\nvt -0.0002 0.633700013\nvt -0.0002 0.566699982\nvt -0.0002 0.5\nvt 0.999800026 0.432999998\nvt 0.93779999 0.432999998\nvt 0.93779999 0.365999997\nvt 0.999800026 0.365999997\nvt 0.93779999 0.299400002\nvt 0.999800026 0.299400002\nvt 0.999800026 0.700699985\nvt 0.93779999 0.700699985\nvt 0.93779999 0.633700013\nvt 0.999800026 0.633700013\nvt 0.93779999 0.566699982\nvt 0.999800026 0.566699982\nvt 0.93779999 0.5\nvt 0.999800026 0.5\nvt 0.874800026 0.432999998\nvt 0.874800026 0.365999997\nvt 0.874800026 0.299400002\nvt 0.874800026 0.700699985\nvt 0.874800026 0.633700013\nvt 0.874800026 0.566699982\nvt 0.874800026 0.5\nvt 0.811800003 0.432999998\nvt 0.811800003 0.365999997\nvt 0.811800003 0.299400002\nvt 0.811800003 0.700699985\nvt 0.811800003 0.633700013\nvt 0.811800003 0.566699982\nvt 0.811800003 0.5\nvt 0.749800026 0.432999998\nvt 0.749800026 0.365999997\nvt 0.749800026 0.299400002\nvt 0.749800026 0.700699985\nvt 0.749800026 0.633700013\nvt 0.749800026 0.566699982\nvt 0.749800026 0.5\nvt 0.683799982 0.432999998\nvt 0.683799982 0.365999997\nvt 0.683799982 0.299400002\nvt 0.683799982 0.700699985\nvt 0.683799982 0.633700013\nvt 0.683799982 0.566699982\nvt 0.683799982 0.5\nvt 0.624800026 0.432999998\nvt 0.624800026 0.365999997\nvt 0.624800026 0.299400002\nvt 0.624800026 0.700699985\nvt 0.624800026 0.633700013\nvt 0.624800026 0.566699982\nvt 0.624800026 0.5\nvt 0.561800003 0.432999998\nvt 0.561800003 0.365999997\nvt 0.561800003 0.299400002\nvt 0.561800003 0.700699985\nvt 0.561800003 0.633700013\nvt 0.561800003 0.566699982\nvt 0.561800003 0.5\nvt 0.499799997 0.432999998\nvt 0.499799997 0.365999997\nvt 0.499799997 0.299400002\nvt 0.499799997 0.700699985\nvt 0.499799997 0.633700013\nvt 0.499799997 0.566699982\nvt 0.499799997 0.5\nvt 0.436800003 0.432999998\nvt 0.436800003 0.365999997\nvt 0.436800003 0.299400002\nvt 0.436800003 0.700699985\nvt 0.436800003 0.633700013\nvt 0.436800003 0.566699982\nvt 0.436800003 0.5\nvt 0.374799997 0.432999998\nvt 0.374799997 0.365999997\nvt 0.374799997 0.299400002\nvt 0.374799997 0.700699985\nvt 0.374799997 0.633700013\nvt 0.374799997 0.566699982\nvt 0.374799997 0.5\nvt 0.311800003 0.432999998\nvt 0.311800003 0.365999997\nvt 0.311800003 0.299400002\nvt 0.311800003 0.700699985\nvt 0.311800003 0.633700013\nvt 0.311800003 0.566699982\nvt 0.311800003 0.5\nvt 0.249799997 0.432999998\nvt 0.249799997 0.365999997\nvt 0.249799997 0.299400002\nvt 0.249799997 0.700699985\nvt 0.249799997 0.633700013\nvt 0.249799997 0.566699982\nvt 0.249799997 0.5\nvt 0.186800003 0.432999998\nvt 0.186800003 0.365999997\nvt 0.186800003 0.299400002\nvt 0.186800003 0.700699985\nvt 0.186800003 0.633700013\nvt 0.186800003 0.566699982\nvt 0.186800003 0.5\nvt 0.124799997 0.432999998\nvt 0.124799997 0.365999997\nvt 0.124799997 0.299400002\nvt 0.124799997 0.700699985\nvt 0.124799997 0.633700013\nvt 0.124799997 0.566699982\nvt 0.124799997 0.5\nvt 0.061799999 0.432999998\nvt 0.061799999 0.365999997\nvt 0.061799999 0.299400002\nvt 0.061799999 0.700699985\nvt 0.061799999 0.633700013\nvt 0.061799999 0.566699982\nvt 0.061799999 0.5\nvt -0.0002 0.432999998\nvt -0.0002 0.365999997\nvt -0.0002 0.299199998\nvt -0.0002 0.700699985\nvt -0.0002 0.633700013\nvt -0.0002 0.566699982\nvt -0.0002 0.5\nvt 0.999800026 0.432999998\nvt 0.93779999 0.432999998\nvt 0.93779999 0.365999997\nvt 0.999800026 0.365999997\nvt 0.93779999 0.299400002\nvt 0.999800026 0.299400002\nvt 0.999800026 0.700699985\nvt 0.93779999 0.700699985\nvt 0.93779999 0.633700013\nvt 0.999800026 0.633700013\nvt 0.93779999 0.566699982\nvt 0.999800026 0.566699982\nvt 0.93779999 0.5\nvt 0.999800026 0.5\nvt 0.874800026 0.432999998\nvt 0.874800026 0.365999997\nvt 0.874800026 0.299400002\nvt 0.874800026 0.700699985\nvt 0.874800026 0.633700013\nvt 0.874800026 0.566699982\nvt 0.874800026 0.5\nvt 0.811800003 0.432999998\nvt 0.811800003 0.365999997\nvt 0.811800003 0.299400002\nvt 0.811800003 0.700699985\nvt 0.811800003 0.633700013\nvt 0.811800003 0.566699982\nvt 0.811800003 0.5\nvt 0.749800026 0.432999998\nvt 0.749800026 0.365999997\nvt 0.749800026 0.299400002\nvt 0.749800026 0.700699985\nvt 0.749800026 0.633700013\nvt 0.749800026 0.566699982\nvt 0.749800026 0.5\nvt 0.683799982 0.432999998\nvt 0.683799982 0.365999997\nvt 0.683799982 0.299400002\nvt 0.683799982 0.700699985\nvt 0.683799982 0.633700013\nvt 0.683799982 0.566699982\nvt 0.683799982 0.5\nvt 0.624800026 0.432999998\nvt 0.624800026 0.365999997\nvt 0.624800026 0.299400002\nvt 0.624800026 0.700699985\nvt 0.624800026 0.633700013\nvt 0.624800026 0.566699982\nvt 0.624800026 0.5\nvt 0.561800003 0.432999998\nvt 0.561800003 0.365999997\nvt 0.561800003 0.299400002\nvt 0.561800003 0.700699985\nvt 0.561800003 0.633700013\nvt 0.561800003 0.566699982\nvt 0.561800003 0.5\nvt 0.499799997 0.432999998\nvt 0.499799997 0.365999997\nvt 0.499799997 0.299400002\nvt 0.499799997 0.700699985\nvt 0.499799997 0.633700013\nvt 0.499799997 0.566699982\nvt 0.499799997 0.5\nvt 0.436800003 0.432999998\nvt 0.436800003 0.365999997\nvt 0.436800003 0.299400002\nvt 0.436800003 0.700699985\nvt 0.436800003 0.633700013\nvt 0.436800003 0.566699982\nvt 0.436800003 0.5\nvt 0.374799997 0.432999998\nvt 0.374799997 0.365999997\nvt 0.374799997 0.299400002\nvt 0.374799997 0.700699985\nvt 0.374799997 0.633700013\nvt 0.374799997 0.566699982\nvt 0.374799997 0.5\nvt 0.311800003 0.432999998\nvt 0.311800003 0.365999997\nvt 0.311800003 0.299400002\nvt 0.311800003 0.700699985\nvt 0.311800003 0.633700013\nvt 0.311800003 0.566699982\nvt 0.311800003 0.5\nvt 0.249799997 0.432999998\nvt 0.249799997 0.365999997\nvt 0.249799997 0.299400002\nvt 0.249799997 0.700699985\nvt 0.249799997 0.633700013\nvt 0.249799997 0.566699982\nvt 0.249799997 0.5\nvt 0.186800003 0.432999998\nvt 0.186800003 0.365999997\nvt 0.186800003 0.299400002\nvt 0.186800003 0.700699985\nvt 0.186800003 0.633700013\nvt 0.186800003 0.566699982\nvt 0.186800003 0.5\nvt 0.124799997 0.432999998\nvt 0.124799997 0.365999997\nvt 0.124799997 0.299400002\nvt 0.124799997 0.700699985\nvt 0.124799997 0.633700013\nvt 0.124799997 0.566699982\nvt 0.124799997 0.5\nvt 0.061799999 0.432999998\nvt 0.061799999 0.365999997\nvt 0.061799999 0.299400002\nvt 0.061799999 0.700699985\nvt 0.061799999 0.633700013\nvt 0.061799999 0.566699982\nvt 0.061799999 0.5\nvt -0.0002 0.432999998\nvt -0.0002 0.365999997\nvt -0.0002 0.299199998\nvt -0.0002 0.700699985\nvt -0.0002 0.633700013\nvt -0.0002 0.566699982\nvt -0.0002 0.5\nvt 0.999800026 0.432999998\nvt 0.93779999 0.432999998\nvt 0.93779999 0.365999997\nvt 0.999800026 0.365999997\nvt 0.93779999 0.299400002\nvt 0.999800026 0.299400002\nvt 0.999800026 0.700699985\nvt 0.93779999 0.700699985\nvt 0.93779999 0.633700013\nvt 0.999800026 0.633700013\nvt 0.93779999 0.566699982\nvt 0.999800026 0.566699982\nvt 0.93779999 0.5\nvt 0.999800026 0.5\nvt 0.874800026 0.432999998\nvt 0.874800026 0.365999997\nvt 0.874800026 0.299400002\nvt 0.874800026 0.700699985\nvt 0.874800026 0.633700013\nvt 0.874800026 0.566699982\nvt 0.874800026 0.5\nvt 0.811800003 0.432999998\nvt 0.811800003 0.365999997\nvt 0.811800003 0.299400002\nvt 0.811800003 0.700699985\nvt 0.811800003 0.633700013\nvt 0.811800003 0.566699982\nvt 0.811800003 0.5\nvt 0.749800026 0.432999998\nvt 0.749800026 0.365999997\nvt 0.749800026 0.299400002\nvt 0.749800026 0.700699985\nvt 0.749800026 0.633700013\nvt 0.749800026 0.566699982\nvt 0.749800026 0.5\nvt 0.683799982 0.432999998\nvt 0.683799982 0.365999997\nvt 0.683799982 0.299400002\nvt 0.683799982 0.700699985\nvt 0.683799982 0.633700013\nvt 0.683799982 0.566699982\nvt 0.683799982 0.5\nvt 0.624800026 0.432999998\nvt 0.624800026 0.365999997\nvt 0.624800026 0.299400002\nvt 0.624800026 0.700699985\nvt 0.624800026 0.633700013\nvt 0.624800026 0.566699982\nvt 0.624800026 0.5\nvt 0.561800003 0.432999998\nvt 0.561800003 0.365999997\nvt 0.561800003 0.299400002\nvt 0.561800003 0.700699985\nvt 0.561800003 0.633700013\nvt 0.561800003 0.566699982\nvt 0.561800003 0.5\nvt 0.499799997 0.432999998\nvt 0.499799997 0.365999997\nvt 0.499799997 0.299400002\nvt 0.499799997 0.700699985\nvt 0.499799997 0.633700013\nvt 0.499799997 0.566699982\nvt 0.499799997 0.5\nvt 0.436800003 0.432999998\nvt 0.436800003 0.365999997\nvt 0.436800003 0.299400002\nvt 0.436800003 0.700699985\nvt 0.436800003 0.633700013\nvt 0.436800003 0.566699982\nvt 0.436800003 0.5\nvt 0.374799997 0.432999998\nvt 0.374799997 0.365999997\nvt 0.374799997 0.299400002\nvt 0.374799997 0.700699985\nvt 0.374799997 0.633700013\nvt 0.374799997 0.566699982\nvt 0.374799997 0.5\nvt 0.311800003 0.432999998\nvt 0.311800003 0.365999997\nvt 0.311800003 0.299400002\nvt 0.311800003 0.700699985\nvt 0.311800003 0.633700013\nvt 0.311800003 0.566699982\nvt 0.311800003 0.5\nvt 0.249799997 0.432999998\nvt 0.249799997 0.365999997\nvt 0.249799997 0.299400002\nvt 0.249799997 0.700699985\nvt 0.249799997 0.633700013\nvt 0.249799997 0.566699982\nvt 0.249799997 0.5\nvt 0.186800003 0.432999998\nvt 0.186800003 0.365999997\nvt 0.186800003 0.299400002\nvt 0.186800003 0.700699985\nvt 0.186800003 0.633700013\nvt 0.186800003 0.566699982\nvt 0.186800003 0.5\nvt 0.124799997 0.432999998\nvt 0.124799997 0.365999997\nvt 0.124799997 0.299400002\nvt 0.124799997 0.700699985\nvt 0.124799997 0.633700013\nvt 0.124799997 0.566699982\nvt 0.124799997 0.5\nvt 0.061799999 0.432999998\nvt 0.061799999 0.365999997\nvt 0.061799999 0.299400002\nvt 0.061799999 0.700699985\nvt 0.061799999 0.633700013\nvt 0.061799999 0.566699982\nvt 0.061799999 0.5\nvt -0.0002 0.432999998\nvt -0.0002 0.365999997\nvt -0.0002 0.299199998\nvt -0.0002 0.700699985\nvt -0.0002 0.633700013\nvt -0.0002 0.566699982\nvt -0.0002 0.5\nvt 0.999800026 0.432999998\nvt 0.93779999 0.432999998\nvt 0.93779999 0.365999997\nvt 0.999800026 0.365999997\nvt 0.93779999 0.299400002\nvt 0.999800026 0.299400002\nvt 0.999800026 0.700699985\nvt 0.93779999 0.700699985\nvt 0.93779999 0.633700013\nvt 0.999800026 0.633700013\nvt 0.93779999 0.566699982\nvt 0.999800026 0.566699982\nvt 0.93779999 0.5\nvt 0.999800026 0.5\nvt 0.874800026 0.432999998\nvt 0.874800026 0.365999997\nvt 0.874800026 0.299400002\nvt 0.874800026 0.700699985\nvt 0.874800026 0.633700013\nvt 0.874800026 0.566699982\nvt 0.874800026 0.5\nvt 0.811800003 0.432999998\nvt 0.811800003 0.365999997\nvt 0.811800003 0.299400002\nvt 0.811800003 0.700699985\nvt 0.811800003 0.633700013\nvt 0.811800003 0.566699982\nvt 0.811800003 0.5\nvt 0.749800026 0.432999998\nvt 0.749800026 0.365999997\nvt 0.749800026 0.299400002\nvt 0.749800026 0.700699985\nvt 0.749800026 0.633700013\nvt 0.749800026 0.566699982\nvt 0.749800026 0.5\nvt 0.683799982 0.432999998\nvt 0.683799982 0.365999997\nvt 0.683799982 0.299400002\nvt 0.683799982 0.700699985\nvt 0.683799982 0.633700013\nvt 0.683799982 0.566699982\nvt 0.683799982 0.5\nvt 0.624800026 0.432999998\nvt 0.624800026 0.365999997\nvt 0.624800026 0.299400002\nvt 0.624800026 0.700699985\nvt 0.624800026 0.633700013\nvt 0.624800026 0.566699982\nvt 0.624800026 0.5\nvt 0.561800003 0.432999998\nvt 0.561800003 0.365999997\nvt 0.561800003 0.299400002\nvt 0.561800003 0.700699985\nvt 0.561800003 0.633700013\nvt 0.561800003 0.566699982\nvt 0.561800003 0.5\nvt 0.499799997 0.432999998\nvt 0.499799997 0.365999997\nvt 0.499799997 0.299400002\nvt 0.499799997 0.700699985\nvt 0.499799997 0.633700013\nvt 0.499799997 0.566699982\nvt 0.499799997 0.5\nvt 0.436800003 0.432999998\nvt 0.436800003 0.365999997\nvt 0.436800003 0.299400002\nvt 0.436800003 0.700699985\nvt 0.436800003 0.633700013\nvt 0.436800003 0.566699982\nvt 0.436800003 0.5\nvt 0.374799997 0.432999998\nvt 0.374799997 0.365999997\nvt 0.374799997 0.299400002\nvt 0.374799997 0.700699985\nvt 0.374799997 0.633700013\nvt 0.374799997 0.566699982\nvt 0.374799997 0.5\nvt 0.311800003 0.432999998\nvt 0.311800003 0.365999997\nvt 0.311800003 0.299400002\nvt 0.311800003 0.700699985\nvt 0.311800003 0.633700013\nvt 0.311800003 0.566699982\nvt 0.311800003 0.5\nvt 0.249799997 0.432999998\nvt 0.249799997 0.365999997\nvt 0.249799997 0.299400002\nvt 0.249799997 0.700699985\nvt 0.249799997 0.633700013\nvt 0.249799997 0.566699982\nvt 0.249799997 0.5\nvt 0.186800003 0.432999998\nvt 0.186800003 0.365999997\nvt 0.186800003 0.299400002\nvt 0.186800003 0.700699985\nvt 0.186800003 0.633700013\nvt 0.186800003 0.566699982\nvt 0.186800003 0.5\nvt 0.124799997 0.432999998\nvt 0.124799997 0.365999997\nvt 0.124799997 0.299400002\nvt 0.124799997 0.700699985\nvt 0.124799997 0.633700013\nvt 0.124799997 0.566699982\nvt 0.124799997 0.5\nvt 0.061799999 0.432999998\nvt 0.061799999 0.365999997\nvt 0.061799999 0.299400002\nvt 0.061799999 0.700699985\nvt 0.061799999 0.633700013\nvt 0.061799999 0.566699982\nvt 0.061799999 0.5\nvt -0.0002 0.432999998\nvt -0.0002 0.365999997\nvt -0.0002 0.299199998\nvt -0.0002 0.700699985\nvt -0.0002 0.633700013\nvt -0.0002 0.566699982\nvt -0.0002 0.5\nvt 0.999800026 0.432999998\nvt 0.93779999 0.432999998\nvt 0.93779999 0.365999997\nvt 0.999800026 0.365999997\nvt 0.93779999 0.299400002\nvt 0.999800026 0.299400002\nvt 0.999800026 0.700699985\nvt 0.93779999 0.700699985\nvt 0.93779999 0.633700013\nvt 0.999800026 0.633700013\nvt 0.93779999 0.566699982\nvt 0.999800026 0.566699982\nvt 0.93779999 0.5\nvt 0.999800026 0.5\nvt 0.874800026 0.432999998\nvt 0.874800026 0.365999997\nvt 0.874800026 0.299400002\nvt 0.874800026 0.700699985\nvt 0.874800026 0.633700013\nvt 0.874800026 0.566699982\nvt 0.874800026 0.5\nvt 0.811800003 0.432999998\nvt 0.811800003 0.365999997\nvt 0.811800003 0.299400002\nvt 0.811800003 0.700699985\nvt 0.811800003 0.633700013\nvt 0.811800003 0.566699982\nvt 0.811800003 0.5\nvt 0.749800026 0.432999998\nvt 0.749800026 0.365999997\nvt 0.749800026 0.299400002\nvt 0.749800026 0.700699985\nvt 0.749800026 0.633700013\nvt 0.749800026 0.566699982\nvt 0.749800026 0.5\nvt 0.683799982 0.432999998\nvt 0.683799982 0.365999997\nvt 0.683799982 0.299400002\nvt 0.683799982 0.700699985\nvt 0.683799982 0.633700013\nvt 0.683799982 0.566699982\nvt 0.683799982 0.5\nvt 0.624800026 0.432999998\nvt 0.624800026 0.365999997\nvt 0.624800026 0.299400002\nvt 0.624800026 0.700699985\nvt 0.624800026 0.633700013\nvt 0.624800026 0.566699982\nvt 0.624800026 0.5\nvt 0.561800003 0.432999998\nvt 0.561800003 0.365999997\nvt 0.561800003 0.299400002\nvt 0.561800003 0.700699985\nvt 0.561800003 0.633700013\nvt 0.561800003 0.566699982\nvt 0.561800003 0.5\nvt 0.499799997 0.432999998\nvt 0.499799997 0.365999997\nvt 0.499799997 0.299400002\nvt 0.499799997 0.700699985\nvt 0.499799997 0.633700013\nvt 0.499799997 0.566699982\nvt 0.499799997 0.5\nvt 0.436800003 0.432999998\nvt 0.436800003 0.365999997\nvt 0.436800003 0.299400002\nvt 0.436800003 0.700699985\nvt 0.436800003 0.633700013\nvt 0.436800003 0.566699982\nvt 0.436800003 0.5\nvt 0.374799997 0.432999998\nvt 0.374799997 0.365999997\nvt 0.374799997 0.299400002\nvt 0.374799997 0.700699985\nvt 0.374799997 0.633700013\nvt 0.374799997 0.566699982\nvt 0.374799997 0.5\nvt 0.311800003 0.432999998\nvt 0.311800003 0.365999997\nvt 0.311800003 0.299400002\nvt 0.311800003 0.700699985\nvt 0.311800003 0.633700013\nvt 0.311800003 0.566699982\nvt 0.311800003 0.5\nvt 0.249799997 0.432999998\nvt 0.249799997 0.365999997\nvt 0.249799997 0.299400002\nvt 0.249799997 0.700699985\nvt 0.249799997 0.633700013\nvt 0.249799997 0.566699982\nvt 0.249799997 0.5\nvt 0.186800003 0.432999998\nvt 0.186800003 0.365999997\nvt 0.186800003 0.299400002\nvt 0.186800003 0.700699985\nvt 0.186800003 0.633700013\nvt 0.186800003 0.566699982\nvt 0.186800003 0.5\nvt 0.124799997 0.432999998\nvt 0.124799997 0.365999997\nvt 0.124799997 0.299400002\nvt 0.124799997 0.700699985\nvt 0.124799997 0.633700013\nvt 0.124799997 0.566699982\nvt 0.124799997 0.5\nvt 0.061799999 0.432999998\nvt 0.061799999 0.365999997\nvt 0.061799999 0.299400002\nvt 0.061799999 0.700699985\nvt 0.061799999 0.633700013\nvt 0.061799999 0.566699982\nvt 0.061799999 0.5\nvt -0.0002 0.432999998\nvt -0.0002 0.365999997\nvt -0.0002 0.299199998\nvt -0.0002 0.700699985\nvt -0.0002 0.633700013\nvt -0.0002 0.566699982\nvt -0.0002 0.5\nvt 0.999800026 0.432999998\nvt 0.93779999 0.432999998\nvt 0.93779999 0.365999997\nvt 0.999800026 0.365999997\nvt 0.93779999 0.299400002\nvt 0.999800026 0.299400002\nvt 0.999800026 0.700699985\nvt 0.93779999 0.700699985\nvt 0.93779999 0.633700013\nvt 0.999800026 0.633700013\nvt 0.93779999 0.566699982\nvt 0.999800026 0.566699982\nvt 0.93779999 0.5\nvt 0.999800026 0.5\nvt 0.874800026 0.432999998\nvt 0.874800026 0.365999997\nvt 0.874800026 0.299400002\nvt 0.874800026 0.700699985\nvt 0.874800026 0.633700013\nvt 0.874800026 0.566699982\nvt 0.874800026 0.5\nvt 0.811800003 0.432999998\nvt 0.811800003 0.365999997\nvt 0.811800003 0.299400002\nvt 0.811800003 0.700699985\nvt 0.811800003 0.633700013\nvt 0.811800003 0.566699982\nvt 0.811800003 0.5\nvt 0.749800026 0.432999998\nvt 0.749800026 0.365999997\nvt 0.749800026 0.299400002\nvt 0.749800026 0.700699985\nvt 0.749800026 0.633700013\nvt 0.749800026 0.566699982\nvt 0.749800026 0.5\nvt 0.683799982 0.432999998\nvt 0.683799982 0.365999997\nvt 0.683799982 0.299400002\nvt 0.683799982 0.700699985\nvt 0.683799982 0.633700013\nvt 0.683799982 0.566699982\nvt 0.683799982 0.5\nvt 0.624800026 0.432999998\nvt 0.624800026 0.365999997\nvt 0.624800026 0.299400002\nvt 0.624800026 0.700699985\nvt 0.624800026 0.633700013\nvt 0.624800026 0.566699982\nvt 0.624800026 0.5\nvt 0.561800003 0.432999998\nvt 0.561800003 0.365999997\nvt 0.561800003 0.299400002\nvt 0.561800003 0.700699985\nvt 0.561800003 0.633700013\nvt 0.561800003 0.566699982\nvt 0.561800003 0.5\nvt 0.499799997 0.432999998\nvt 0.499799997 0.365999997\nvt 0.499799997 0.299400002\nvt 0.499799997 0.700699985\nvt 0.499799997 0.633700013\nvt 0.499799997 0.566699982\nvt 0.499799997 0.5\nvt 0.436800003 0.432999998\nvt 0.436800003 0.365999997\nvt 0.436800003 0.299400002\nvt 0.436800003 0.700699985\nvt 0.436800003 0.633700013\nvt 0.436800003 0.566699982\nvt 0.436800003 0.5\nvt 0.374799997 0.432999998\nvt 0.374799997 0.365999997\nvt 0.374799997 0.299400002\nvt 0.374799997 0.700699985\nvt 0.374799997 0.633700013\nvt 0.374799997 0.566699982\nvt 0.374799997 0.5\nvt 0.311800003 0.432999998\nvt 0.311800003 0.365999997\nvt 0.311800003 0.299400002\nvt 0.311800003 0.700699985\nvt 0.311800003 0.633700013\nvt 0.311800003 0.566699982\nvt 0.311800003 0.5\nvt 0.249799997 0.432999998\nvt 0.249799997 0.365999997\nvt 0.249799997 0.299400002\nvt 0.249799997 0.700699985\nvt 0.249799997 0.633700013\nvt 0.249799997 0.566699982\nvt 0.249799997 0.5\nvt 0.186800003 0.432999998\nvt 0.186800003 0.365999997\nvt 0.186800003 0.299400002\nvt 0.186800003 0.700699985\nvt 0.186800003 0.633700013\nvt 0.186800003 0.566699982\nvt 0.186800003 0.5\nvt 0.124799997 0.432999998\nvt 0.124799997 0.365999997\nvt 0.124799997 0.299400002\nvt 0.124799997 0.700699985\nvt 0.124799997 0.633700013\nvt 0.124799997 0.566699982\nvt 0.124799997 0.5\nvt 0.061799999 0.432999998\nvt 0.061799999 0.365999997\nvt 0.061799999 0.299400002\nvt 0.061799999 0.700699985\nvt 0.061799999 0.633700013\nvt 0.061799999 0.566699982\nvt 0.061799999 0.5\nvt -0.0002 0.432999998\nvt -0.0002 0.365999997\nvt -0.0002 0.299199998\nvt -0.0002 0.700699985\nvt -0.0002 0.633700013\nvt -0.0002 0.566699982\nvt -0.0002 0.5\nvt 0.999800026 0.432999998\nvt 0.93779999 0.432999998\nvt 0.93779999 0.365999997\nvt 0.999800026 0.365999997\nvt 0.93779999 0.299400002\nvt 0.999800026 0.299400002\nvt 0.999800026 0.700699985\nvt 0.93779999 0.700699985\nvt 0.93779999 0.633700013\nvt 0.999800026 0.633700013\nvt 0.93779999 0.566699982\nvt 0.999800026 0.566699982\nvt 0.93779999 0.5\nvt 0.999800026 0.5\nvt 0.874800026 0.432999998\nvt 0.874800026 0.365999997\nvt 0.874800026 0.299400002\nvt 0.874800026 0.700699985\nvt 0.874800026 0.633700013\nvt 0.874800026 0.566699982\nvt 0.874800026 0.5\nvt 0.811800003 0.432999998\nvt 0.811800003 0.365999997\nvt 0.811800003 0.299400002\nvt 0.811800003 0.700699985\nvt 0.811800003 0.633700013\nvt 0.811800003 0.566699982\nvt 0.811800003 0.5\nvt 0.749800026 0.432999998\nvt 0.749800026 0.365999997\nvt 0.749800026 0.299400002\nvt 0.749800026 0.700699985\nvt 0.749800026 0.633700013\nvt 0.749800026 0.566699982\nvt 0.749800026 0.5\nvt 0.683799982 0.432999998\nvt 0.683799982 0.365999997\nvt 0.683799982 0.299400002\nvt 0.683799982 0.700699985\nvt 0.683799982 0.633700013\nvt 0.683799982 0.566699982\nvt 0.683799982 0.5\nvt 0.624800026 0.432999998\nvt 0.624800026 0.365999997\nvt 0.624800026 0.299400002\nvt 0.624800026 0.700699985\nvt 0.624800026 0.633700013\nvt 0.624800026 0.566699982\nvt 0.624800026 0.5\nvt 0.561800003 0.432999998\nvt 0.561800003 0.365999997\nvt 0.561800003 0.299400002\nvt 0.561800003 0.700699985\nvt 0.561800003 0.633700013\nvt 0.561800003 0.566699982\nvt 0.561800003 0.5\nvt 0.499799997 0.432999998\nvt 0.499799997 0.365999997\nvt 0.499799997 0.299400002\nvt 0.499799997 0.700699985\nvt 0.499799997 0.633700013\nvt 0.499799997 0.566699982\nvt 0.499799997 0.5\nvt 0.436800003 0.432999998\nvt 0.436800003 0.365999997\nvt 0.436800003 0.299400002\nvt 0.436800003 0.700699985\nvt 0.436800003 0.633700013\nvt 0.436800003 0.566699982\nvt 0.436800003 0.5\nvt 0.374799997 0.432999998\nvt 0.374799997 0.365999997\nvt 0.374799997 0.299400002\nvt 0.374799997 0.700699985\nvt 0.374799997 0.633700013\nvt 0.374799997 0.566699982\nvt 0.374799997 0.5\nvt 0.311800003 0.432999998\nvt 0.311800003 0.365999997\nvt 0.311800003 0.299400002\nvt 0.311800003 0.700699985\nvt 0.311800003 0.633700013\nvt 0.311800003 0.566699982\nvt 0.311800003 0.5\nvt 0.249799997 0.432999998\nvt 0.249799997 0.365999997\nvt 0.249799997 0.299400002\nvt 0.249799997 0.700699985\nvt 0.249799997 0.633700013\nvt 0.249799997 0.566699982\nvt 0.249799997 0.5\nvt 0.186800003 0.432999998\nvt 0.186800003 0.365999997\nvt 0.186800003 0.299400002\nvt 0.186800003 0.700699985\nvt 0.186800003 0.633700013\nvt 0.186800003 0.566699982\nvt 0.186800003 0.5\nvt 0.124799997 0.432999998\nvt 0.124799997 0.365999997\nvt 0.124799997 0.299400002\nvt 0.124799997 0.700699985\nvt 0.124799997 0.633700013\nvt 0.124799997 0.566699982\nvt 0.124799997 0.5\nvt 0.061799999 0.432999998\nvt 0.061799999 0.365999997\nvt 0.061799999 0.299400002\nvt 0.061799999 0.700699985\nvt 0.061799999 0.633700013\nvt 0.061799999 0.566699982\nvt 0.061799999 0.5\nvt -0.0002 0.432999998\nvt -0.0002 0.365999997\nvt -0.0002 0.299199998\nvt -0.0002 0.700699985\nvt -0.0002 0.633700013\nvt -0.0002 0.566699982\nvt -0.0002 0.5\nvt 0.999800026 0.432999998\nvt 0.93779999 0.432999998\nvt 0.93779999 0.365999997\nvt 0.999800026 0.365999997\nvt 0.93779999 0.299400002\nvt 0.999800026 0.299400002\nvt 0.999800026 0.700699985\nvt 0.93779999 0.700699985\nvt 0.93779999 0.633700013\nvt 0.999800026 0.633700013\nvt 0.93779999 0.566699982\nvt 0.999800026 0.566699982\nvt 0.93779999 0.5\nvt 0.999800026 0.5\nvt 0.874800026 0.432999998\nvt 0.874800026 0.365999997\nvt 0.874800026 0.299400002\nvt 0.874800026 0.700699985\nvt 0.874800026 0.633700013\nvt 0.874800026 0.566699982\nvt 0.874800026 0.5\nvt 0.811800003 0.432999998\nvt 0.811800003 0.365999997\nvt 0.811800003 0.299400002\nvt 0.811800003 0.700699985\nvt 0.811800003 0.633700013\nvt 0.811800003 0.566699982\nvt 0.811800003 0.5\nvt 0.749800026 0.432999998\nvt 0.749800026 0.365999997\nvt 0.749800026 0.299400002\nvt 0.749800026 0.700699985\nvt 0.749800026 0.633700013\nvt 0.749800026 0.566699982\nvt 0.749800026 0.5\nvt 0.683799982 0.432999998\nvt 0.683799982 0.365999997\nvt 0.683799982 0.299400002\nvt 0.683799982 0.700699985\nvt 0.683799982 0.633700013\nvt 0.683799982 0.566699982\nvt 0.683799982 0.5\nvt 0.624800026 0.432999998\nvt 0.624800026 0.365999997\nvt 0.624800026 0.299400002\nvt 0.624800026 0.700699985\nvt 0.624800026 0.633700013\nvt 0.624800026 0.566699982\nvt 0.624800026 0.5\nvt 0.561800003 0.432999998\nvt 0.561800003 0.365999997\nvt 0.561800003 0.299400002\nvt 0.561800003 0.700699985\nvt 0.561800003 0.633700013\nvt 0.561800003 0.566699982\nvt 0.561800003 0.5\nvt 0.499799997 0.432999998\nvt 0.499799997 0.365999997\nvt 0.499799997 0.299400002\nvt 0.499799997 0.700699985\nvt 0.499799997 0.633700013\nvt 0.499799997 0.566699982\nvt 0.499799997 0.5\nvt 0.436800003 0.432999998\nvt 0.436800003 0.365999997\nvt 0.436800003 0.299400002\nvt 0.436800003 0.700699985\nvt 0.436800003 0.633700013\nvt 0.436800003 0.566699982\nvt 0.436800003 0.5\nvt 0.374799997 0.432999998\nvt 0.374799997 0.365999997\nvt 0.374799997 0.299400002\nvt 0.374799997 0.700699985\nvt 0.374799997 0.633700013\nvt 0.374799997 0.566699982\nvt 0.374799997 0.5\nvt 0.311800003 0.432999998\nvt 0.311800003 0.365999997\nvt 0.311800003 0.299400002\nvt 0.311800003 0.700699985\nvt 0.311800003 0.633700013\nvt 0.311800003 0.566699982\nvt 0.311800003 0.5\nvt 0.249799997 0.432999998\nvt 0.249799997 0.365999997\nvt 0.249799997 0.299400002\nvt 0.249799997 0.700699985\nvt 0.249799997 0.633700013\nvt 0.249799997 0.566699982\nvt 0.249799997 0.5\nvt 0.186800003 0.432999998\nvt 0.186800003 0.365999997\nvt 0.186800003 0.299400002\nvt 0.186800003 0.700699985\nvt 0.186800003 0.633700013\nvt 0.186800003 0.566699982\nvt 0.186800003 0.5\nvt 0.124799997 0.432999998\nvt 0.124799997 0.365999997\nvt 0.124799997 0.299400002\nvt 0.124799997 0.700699985\nvt 0.124799997 0.633700013\nvt 0.124799997 0.566699982\nvt 0.124799997 0.5\nvt 0.061799999 0.432999998\nvt 0.061799999 0.365999997\nvt 0.061799999 0.299400002\nvt 0.061799999 0.700699985\nvt 0.061799999 0.633700013\nvt 0.061799999 0.566699982\nvt 0.061799999 0.5\nvt -0.0002 0.432999998\nvt -0.0002 0.365999997\nvt -0.0002 0.299199998\nvt -0.0002 0.700699985\nvt -0.0002 0.633700013\nvt -0.0002 0.566699982\nvt -0.0002 0.5\nvt 0.999800026 0.432999998\nvt 0.93779999 0.432999998\nvt 0.93779999 0.365999997\nvt 0.999800026 0.365999997\nvt 0.93779999 0.299400002\nvt 0.999800026 0.299400002\nvt 0.999800026 0.700699985\nvt 0.93779999 0.700699985\nvt 0.93779999 0.633700013\nvt 0.999800026 0.633700013\nvt 0.93779999 0.566699982\nvt 0.999800026 0.566699982\nvt 0.93779999 0.5\nvt 0.999800026 0.5\nvt 0.874800026 0.432999998\nvt 0.874800026 0.365999997\nvt 0.874800026 0.299400002\nvt 0.874800026 0.700699985\nvt 0.874800026 0.633700013\nvt 0.874800026 0.566699982\nvt 0.874800026 0.5\nvt 0.811800003 0.432999998\nvt 0.811800003 0.365999997\nvt 0.811800003 0.299400002\nvt 0.811800003 0.700699985\nvt 0.811800003 0.633700013\nvt 0.811800003 0.566699982\nvt 0.811800003 0.5\nvt 0.749800026 0.432999998\nvt 0.749800026 0.365999997\nvt 0.749800026 0.299400002\nvt 0.749800026 0.700699985\nvt 0.749800026 0.633700013\nvt 0.749800026 0.566699982\nvt 0.749800026 0.5\nvt 0.683799982 0.432999998\nvt 0.683799982 0.365999997\nvt 0.683799982 0.299400002\nvt 0.683799982 0.700699985\nvt 0.683799982 0.633700013\nvt 0.683799982 0.566699982\nvt 0.683799982 0.5\nvt 0.624800026 0.432999998\nvt 0.624800026 0.365999997\nvt 0.624800026 0.299400002\nvt 0.624800026 0.700699985\nvt 0.624800026 0.633700013\nvt 0.624800026 0.566699982\nvt 0.624800026 0.5\nvt 0.561800003 0.432999998\nvt 0.561800003 0.365999997\nvt 0.561800003 0.299400002\nvt 0.561800003 0.700699985\nvt 0.561800003 0.633700013\nvt 0.561800003 0.566699982\nvt 0.561800003 0.5\nvt 0.499799997 0.432999998\nvt 0.499799997 0.365999997\nvt 0.499799997 0.299400002\nvt 0.499799997 0.700699985\nvt 0.499799997 0.633700013\nvt 0.499799997 0.566699982\nvt 0.499799997 0.5\nvt 0.436800003 0.432999998\nvt 0.436800003 0.365999997\nvt 0.436800003 0.299400002\nvt 0.436800003 0.700699985\nvt 0.436800003 0.633700013\nvt 0.436800003 0.566699982\nvt 0.436800003 0.5\nvt 0.374799997 0.432999998\nvt 0.374799997 0.365999997\nvt 0.374799997 0.299400002\nvt 0.374799997 0.700699985\nvt 0.374799997 0.633700013\nvt 0.374799997 0.566699982\nvt 0.374799997 0.5\nvt 0.311800003 0.432999998\nvt 0.311800003 0.365999997\nvt 0.311800003 0.299400002\nvt 0.311800003 0.700699985\nvt 0.311800003 0.633700013\nvt 0.311800003 0.566699982\nvt 0.311800003 0.5\nvt 0.249799997 0.432999998\nvt 0.249799997 0.365999997\nvt 0.249799997 0.299400002\nvt 0.249799997 0.700699985\nvt 0.249799997 0.633700013\nvt 0.249799997 0.566699982\nvt 0.249799997 0.5\nvt 0.186800003 0.432999998\nvt 0.186800003 0.365999997\nvt 0.186800003 0.299400002\nvt 0.186800003 0.700699985\nvt 0.186800003 0.633700013\nvt 0.186800003 0.566699982\nvt 0.186800003 0.5\nvt 0.124799997 0.432999998\nvt 0.124799997 0.365999997\nvt 0.124799997 0.299400002\nvt 0.124799997 0.700699985\nvt 0.124799997 0.633700013\nvt 0.124799997 0.566699982\nvt 0.124799997 0.5\nvt 0.061799999 0.432999998\nvt 0.061799999 0.365999997\nvt 0.061799999 0.299400002\nvt 0.061799999 0.700699985\nvt 0.061799999 0.633700013\nvt 0.061799999 0.566699982\nvt 0.061799999 0.5\nvt -0.0002 0.432999998\nvt -0.0002 0.365999997\nvt -0.0002 0.299199998\nvt -0.0002 0.700699985\nvt -0.0002 0.633700013\nvt -0.0002 0.566699982\nvt -0.0002 0.5\nvt 0.999800026 0.432999998\nvt 0.93779999 0.432999998\nvt 0.93779999 0.365999997\nvt 0.999800026 0.365999997\nvt 0.93779999 0.299400002\nvt 0.999800026 0.299400002\nvt 0.999800026 0.700699985\nvt 0.93779999 0.700699985\nvt 0.93779999 0.633700013\nvt 0.999800026 0.633700013\nvt 0.93779999 0.566699982\nvt 0.999800026 0.566699982\nvt 0.93779999 0.5\nvt 0.999800026 0.5\nvt 0.874800026 0.432999998\nvt 0.874800026 0.365999997\nvt 0.874800026 0.299400002\nvt 0.874800026 0.700699985\nvt 0.874800026 0.633700013\nvt 0.874800026 0.566699982\nvt 0.874800026 0.5\nvt 0.811800003 0.432999998\nvt 0.811800003 0.365999997\nvt 0.811800003 0.299400002\nvt 0.811800003 0.700699985\nvt 0.811800003 0.633700013\nvt 0.811800003 0.566699982\nvt 0.811800003 0.5\nvt 0.749800026 0.432999998\nvt 0.749800026 0.365999997\nvt 0.749800026 0.299400002\nvt 0.749800026 0.700699985\nvt 0.749800026 0.633700013\nvt 0.749800026 0.566699982\nvt 0.749800026 0.5\nvt 0.683799982 0.432999998\nvt 0.683799982 0.365999997\nvt 0.683799982 0.299400002\nvt 0.683799982 0.700699985\nvt 0.683799982 0.633700013\nvt 0.683799982 0.566699982\nvt 0.683799982 0.5\nvt 0.624800026 0.432999998\nvt 0.624800026 0.365999997\nvt 0.624800026 0.299400002\nvt 0.624800026 0.700699985\nvt 0.624800026 0.633700013\nvt 0.624800026 0.566699982\nvt 0.624800026 0.5\nvt 0.561800003 0.432999998\nvt 0.561800003 0.365999997\nvt 0.561800003 0.299400002\nvt 0.561800003 0.700699985\nvt 0.561800003 0.633700013\nvt 0.561800003 0.566699982\nvt 0.561800003 0.5\nvt 0.499799997 0.432999998\nvt 0.499799997 0.365999997\nvt 0.499799997 0.299400002\nvt 0.499799997 0.700699985\nvt 0.499799997 0.633700013\nvt 0.499799997 0.566699982\nvt 0.499799997 0.5\nvt 0.436800003 0.432999998\nvt 0.436800003 0.365999997\nvt 0.436800003 0.299400002\nvt 0.436800003 0.700699985\nvt 0.436800003 0.633700013\nvt 0.436800003 0.566699982\nvt 0.436800003 0.5\nvt 0.374799997 0.432999998\nvt 0.374799997 0.365999997\nvt 0.374799997 0.299400002\nvt 0.374799997 0.700699985\nvt 0.374799997 0.633700013\nvt 0.374799997 0.566699982\nvt 0.374799997 0.5\nvt 0.311800003 0.432999998\nvt 0.311800003 0.365999997\nvt 0.311800003 0.299400002\nvt 0.311800003 0.700699985\nvt 0.311800003 0.633700013\nvt 0.311800003 0.566699982\nvt 0.311800003 0.5\nvt 0.249799997 0.432999998\nvt 0.249799997 0.365999997\nvt 0.249799997 0.299400002\nvt 0.249799997 0.700699985\nvt 0.249799997 0.633700013\nvt 0.249799997 0.566699982\nvt 0.249799997 0.5\nvt 0.186800003 0.432999998\nvt 0.186800003 0.365999997\nvt 0.186800003 0.299400002\nvt 0.186800003 0.700699985\nvt 0.186800003 0.633700013\nvt 0.186800003 0.566699982\nvt 0.186800003 0.5\nvt 0.124799997 0.432999998\nvt 0.124799997 0.365999997\nvt 0.124799997 0.299400002\nvt 0.124799997 0.700699985\nvt 0.124799997 0.633700013\nvt 0.124799997 0.566699982\nvt 0.124799997 0.5\nvt 0.061799999 0.432999998\nvt 0.061799999 0.365999997\nvt 0.061799999 0.299400002\nvt 0.061799999 0.700699985\nvt 0.061799999 0.633700013\nvt 0.061799999 0.566699982\nvt 0.061799999 0.5\nvt -0.0002 0.432999998\nvt -0.0002 0.365999997\nvt -0.0002 0.299199998\nvt -0.0002 0.700699985\nvt -0.0002 0.633700013\nvt -0.0002 0.566699982\nvt -0.0002 0.5\nvt 0.999800026 0.299400002\nvt 0.999800026 0.633700013\nvt 0.999800026 0.566699982\nvt 0.999800026 0.432999998\nvt 0.999800026 0.5\nvt 0.999800026 0.365999997\nvt 0.999800026 0.299400002\nvt 0.999800026 0.633700013\nvt 0.999800026 0.566699982\nvt 0.999800026 0.432999998\nvt 0.999800026 0.5\nvt 0.999800026 0.365999997\nvt 0.999800026 0.299400002\nvt 0.999800026 0.633700013\nvt 0.999800026 0.566699982\nvt 0.999800026 0.432999998\nvt 0.999800026 0.5\nvt 0.999800026 0.365999997\nvt -0.0002 0.5\nvt -0.0002 0.566699982\nvt -0.0002 0.633700013\nvt -0.0002 0.365999997\nvt -0.0002 0.700699985\nvt -0.0002 0.432999998\nvt -0.0002 0.5\nvt -0.0002 0.566699982\nvt -0.0002 0.633700013\nvt -0.0002 0.365999997\nvt -0.0002 0.700699985\nvt -0.0002 0.432999998\nvt -0.0002 0.5\nvt -0.0002 0.566699982\nvt -0.0002 0.633700013\nvt -0.0002 0.365999997\nvt -0.0002 0.700699985\nvt -0.0002 0.432999998\nvn 0.309988976 -0.405222952 0.860058904\nvn 0.366941124 -0.747057259 0.554310203\nvn 0.334551007 0.125011995 0.93404901\nvn 0.228435993 0.472553015 0.851181984\nvn 0.145673066 0.689304292 0.709675312\nvn 0.020013001 0.835056007 0.549800992\nvn -0.319191128 0.903317273 -0.286592096\nvn -0.169083953 0.985396743 0.020099994\nvn -0.479997993 0.715983987 -0.506920993\nvn -0.762415707 0.275812924 -0.585362732\nvn -0.486398071 -0.221957028 -0.84507513\nvn -0.547192156 -0.536538184 -0.642423213\nvn -0.000005 -0.934159875 -0.356854975\nvn 0.080673978 -0.990972757 0.107073978\nvn 0.396225989 -0.902758002 0.167430997\nvn 0.411763936 -0.213329971 0.885968864\nvn 0.169019893 0.395647764 0.902715445\nvn -0.169020101 0.902715564 0.395647198\nvn -0.411763936 0.885968864 -0.213329971\nvn -0.396225989 0.167430997 -0.902758002\nvn 0 -0.707106829 -0.707106829\nvn 0.396214038 -0.898114145 -0.190802008\nvn 0.411753803 -0.536126733 0.736903667\nvn 0.169083953 0.020099994 0.985396743\nvn -0.168992996 0.682569027 0.711013973\nvn -0.411738873 0.90017575 0.141966969\nvn -0.396233171 0.500160217 -0.769960344\nvn 0.000005 -0.382699907 -0.923872769\nvn 0.396198988 -0.756753027 -0.519953012\nvn 0.411741853 -0.777316689 0.475654811\nvn 0.169049978 -0.358522981 0.918086886\nvn -0.169046044 0.358529091 0.918085217\nvn -0.41172716 0.777324319 0.475655168\nvn -0.396194816 0.756759644 -0.519946754\nvn 0 0 -1\nvn 0.396234065 -0.500160038 -0.769960105\nvn 0.411738873 -0.90017575 0.141966969\nvn 0.16899398 -0.682568967 0.711013913\nvn -0.169084951 -0.020087995 0.985396743\nvn -0.411743224 0.536139309 0.736900389\nvn -0.396210045 0.898120105 -0.190782011\nvn -0.000005 0.382701099 -0.923872232\nvn 0.396225989 -0.167430997 -0.902758002\nvn 0.411759049 -0.885971129 -0.21333003\nvn 0.169015065 -0.902718306 0.395643115\nvn -0.169015944 -0.395641863 0.902718723\nvn -0.411762953 0.21333997 0.885966897\nvn -0.396227002 0.902755976 0.167438999\nvn 0 0.707106829 -0.707106829\nvn 0.396202981 0.190788984 -0.898121893\nvn 0.411743224 -0.736900389 -0.536139309\nvn 0.169080094 -0.985397577 0.020094011\nvn -0.168990001 -0.711010993 0.68257302\nvn -0.411734849 -0.141966954 0.900177717\nvn -0.396234065 0.769960105 0.500160038\nvn 0.000005 0.923871398 -0.382703185\nvn 0.396184146 0.519945204 -0.756766319\nvn 0.41171816 -0.475656182 -0.777328253\nvn 0.169046044 -0.918085217 -0.358529091\nvn -0.169050023 -0.918087125 0.358522058\nvn -0.411740988 -0.475654989 0.777316988\nvn -0.396199137 0.519954205 0.756752312\nvn 0 1 -0.000004\nvn 0.396220863 0.769967675 -0.500158846\nvn 0.411725044 -0.141973019 -0.900181115\nvn 0.168988988 -0.71101892 -0.682564914\nvn -0.169083953 -0.985396743 -0.020099994\nvn -0.411752939 -0.736903965 0.536126912\nvn -0.396212846 0.190801919 0.898114681\nvn -0.000005 0.923873425 0.382698178\nvn 0.396218002 0.902764022 -0.167417005\nvn 0.41176492 0.213319957 -0.885970771\nvn 0.169019014 -0.395658046 -0.902711093\nvn -0.169020101 -0.902715564 -0.395647198\nvn -0.411763936 -0.885968864 0.213329971\nvn -0.396225989 -0.167430997 0.902758002\nvn 0 0.707108319 0.707105279\nvn 0.396205753 0.898114443 0.190817878\nvn 0.411754787 0.536117733 -0.736909628\nvn 0.16908294 -0.020111993 -0.985396624\nvn -0.16899398 -0.682568967 -0.711013913\nvn -0.411738873 -0.90017575 -0.141966969\nvn -0.396233857 -0.500160813 0.769959688\nvn 0.000005 0.382701099 0.923872232\nvn 0.396192163 0.756746292 0.519968152\nvn 0.411743134 0.777310312 -0.475664169\nvn 0.169049039 0.358512104 -0.918091238\nvn -0.169049978 -0.358522981 -0.918086886\nvn -0.411741853 -0.777316689 -0.475654811\nvn -0.396198988 -0.756753027 0.519953012\nvn 0 0.000002 1\nvn 0.396215141 0.500156164 0.769972324\nvn 0.411722004 0.900182009 -0.141976997\nvn 0.168984979 0.682568967 -0.71101594\nvn -0.169074997 0.020111 -0.985397995\nvn -0.411753803 -0.536126733 -0.736903667\nvn -0.396201015 -0.898117006 0.190816\nvn -0.000005 -0.382697821 0.923873603\nvn 0.396207243 0.167429104 0.902766526\nvn 0.411749154 0.885974288 0.21333608\nvn 0.169007003 0.902715981 -0.395651996\nvn -0.16900605 0.395654082 -0.902715266\nvn -0.411742985 -0.213315994 -0.885981977\nvn -0.396205187 -0.9027704 -0.167413071\nvn 0 -0.707106829 0.707106829\nvn 0.45952782 -0.212742925 0.862307727\nvn 0.450607777 0.726638675 0.518602788\nvn 0.162029058 0.986723363 -0.011118004\nvn -0.135448992 0.691407919 -0.709653914\nvn -0.318578005 0.121466003 -0.940082014\nvn -0.350812912 -0.751300812 -0.558996856\nvn 0.000005 -0.932407856 0.361407965\nvn 0.486523926 -0.541545928 0.685581923\nvn 0.674440324 0.314733148 0.66788727\nvn 0.273819 0.913142025 0.301984996\nvn -0.017593009 0.835094392 -0.549825251\nvn -0.208218932 0.475268811 -0.854847729\nvn -0.286518991 -0.408356994 -0.86668998\nvn -0.073226973 -0.99190563 -0.103735961\nvn 0.309962124 0.94745338 -0.079093032\nvn 0.366920859 0.853575706 0.36983484\nvn 0.334550083 0.746406198 -0.57528609\nvn 0.22842297 0.500892937 -0.834822893\nvn 0.145683035 0.269983053 -0.95178026\nvn 0.019861002 0.058529008 -0.998088121\nvn -0.31922704 -0.69986707 -0.63896805\nvn -0.169076949 -0.475336879 -0.86340481\nvn -0.480017006 -0.796997011 -0.366578013\nvn -0.762455881 -0.644795954 0.053844992\nvn -0.48642993 -0.620873928 0.614736915\nvn -0.547292054 -0.288071036 0.785803139\nvn -0.000013 0.158069015 0.987428129\nvn 0.080635034 0.588230312 0.80466336\nvn 0.39622283 0.596380711 0.69809562\nvn 0.411758989 0.873933971 -0.258251995\nvn 0.169036046 0.583975136 -0.793977201\nvn -0.169009075 -0.108733051 -0.979598463\nvn -0.411756039 -0.627737105 -0.660608113\nvn -0.396237135 -0.865524292 0.306372106\nvn -0.000009 -0.258804917 0.965929627\nvn 0.396216929 0.283846974 0.873179853\nvn 0.411735773 0.906250477 0.095831938\nvn 0.16908212 0.843329608 -0.510104358\nvn -0.169020995 0.274410009 -0.946641982\nvn -0.411709011 -0.327161998 -0.850565016\nvn -0.396201998 -0.916899025 -0.048168\nvn 0.000013 -0.608772099 0.793345153\nvn 0.396225065 -0.07192301 0.915332139\nvn 0.411731094 0.800585151 0.435363084\nvn 0.168972984 0.97435689 -0.14858298\nvn -0.169078007 0.615794003 -0.769551992\nvn -0.411740154 0.023224007 -0.911005318\nvn -0.396190226 -0.828665495 -0.39540723\nvn 0.000019 -0.866035163 0.499983132\nvn 0.396212101 -0.41674009 0.818134189\nvn 0.411737949 0.573033929 0.708592951\nvn 0.169007063 0.957026362 0.235663086\nvn -0.169078007 0.863399029 -0.475347012\nvn -0.41176194 0.370082974 -0.83276087\nvn -0.396240056 -0.614266038 -0.682401061\nvn -0.000011 -0.991442978 0.130540997\nvn 0.39622283 -0.69809562 0.596380711\nvn 0.411754102 0.258252054 0.873936176\nvn 0.169032067 0.79397434 0.583980322\nvn -0.169005081 0.979598463 -0.108739056\nvn -0.411755085 0.660601199 -0.627745152\nvn -0.396238774 -0.306363821 -0.865526438\nvn -0.000009 -0.965929627 -0.258804917\nvn 0.396205992 -0.873179972 0.283861995\nvn 0.411725074 -0.095844015 0.906254113\nvn 0.169078991 0.510099947 0.843332887\nvn -0.169017032 0.946644127 0.274405032\nvn -0.411704838 0.850566685 -0.327162892\nvn -0.396201998 0.048168 -0.916899025\nvn 0.000013 -0.793347716 -0.608768761\nvn 0.396209061 -0.915340126 -0.07190901\nvn 0.411707938 -0.435379952 0.800587893\nvn 0.16896902 0.148579016 0.974358141\nvn -0.169064105 0.769544482 0.615807354\nvn -0.411754787 0.910998583 0.023227992\nvn -0.396194905 0.395397902 -0.828667819\nvn 0.000019 -0.499986231 -0.866033435\nvn 0.396198988 -0.81813699 -0.416747004\nvn 0.411729991 -0.708599985 0.573031008\nvn 0.169009954 -0.235667944 0.957024753\nvn -0.169069946 0.475317836 0.863416731\nvn -0.411766082 0.832748175 0.370107085\nvn -0.396242946 0.682385921 -0.614280939\nvn -0.000011 -0.13054505 -0.991442382\nvn 0.396214902 -0.59637183 -0.698107839\nvn 0.411751062 -0.873939097 0.258247018\nvn 0.169030994 -0.583976984 0.793977022\nvn -0.169015944 0.108729966 0.979597628\nvn -0.411758155 0.627728224 0.660615265\nvn -0.396237135 0.865524292 -0.306372106\nvn -0.000009 0.25880304 -0.965930104\nvn 0.396208853 -0.283833921 -0.873187721\nvn 0.411744863 -0.906245708 -0.095837966\nvn 0.169086948 -0.843342841 0.510080874\nvn -0.16901499 -0.274396956 0.946646869\nvn -0.411708146 0.32715711 0.850567281\nvn -0.396201998 0.916899025 0.048168998\nvn 0.000013 0.608769894 -0.793346822\nvn 0.396218002 0.071938999 -0.915333986\nvn 0.411732048 -0.800590098 -0.43535307\nvn 0.168997094 -0.974352479 0.148584068\nvn -0.169069007 -0.615794003 0.769554019\nvn -0.411747903 -0.023226995 0.911001742\nvn -0.396194845 0.8286677 0.395397842\nvn 0.000019 0.866034508 -0.499984294\nvn 0.396192998 0.416752994 -0.81813699\nvn 0.411722094 -0.573045135 -0.70859319\nvn 0.168998063 -0.957028329 -0.235662088\nvn -0.169068053 -0.863411307 0.475328177\nvn -0.411772013 -0.370092005 0.832751989\nvn -0.396204293 0.61430639 0.682385504\nvn 0.000008 0.991446972 -0.130510002\nvn 0.396203011 0.698127985 -0.596355975\nvn 0.411743939 -0.258248985 -0.873941898\nvn 0.169023082 -0.793981373 -0.583973289\nvn -0.168994948 -0.979601741 0.10872598\nvn -0.411733955 -0.660626948 0.627731919\nvn -0.396218836 0.306408882 0.865519702\nvn -0.000009 0.965929627 0.258804917\nvn 0.459498048 0.853160143 -0.246940032\nvn 0.450589895 0.085785978 -0.888599753\nvn 0.162027985 -0.502989948 -0.848968863\nvn -0.135470048 -0.960296333 -0.243883088\nvn -0.31855312 -0.874868274 0.364869118\nvn -0.350786179 -0.10844405 0.930155396\nvn -0.000005 0.779193878 0.626782954\nvn 0.486616045 0.864453137 0.12619701\nvn 0.674438298 0.421037197 -0.606515288\nvn 0.273767114 -0.195084095 -0.941803455\nvn -0.017613996 -0.893737733 -0.448243886\nvn -0.208188921 -0.977959633 0.015884994\nvn -0.286445946 -0.546411872 0.787008822\nvn -0.073153988 0.406077921 0.910905778\nvn 0.309910864 -0.542238772 -0.78098166\nvn 0.366912991 -0.106507003 -0.92413801\nvn 0.334525883 -0.871417701 -0.358780891\nvn 0.22840406 -0.973428249 -0.016404003\nvn 0.145695046 -0.959262371 0.242051095\nvn 0.020036994 -0.893697739 0.448221892\nvn -0.319132 -0.203500003 0.925603986\nvn -0.169082999 -0.510105014 0.843329012\nvn -0.479980111 0.080998026 0.873532176\nvn -0.7624138 0.369029909 0.531546891\nvn -0.486403108 0.842823207 0.230350062\nvn -0.54728806 0.824561059 -0.14343901\nvn -0.000015 0.776108027 -0.630599976\nvn 0.08059299 0.402720928 -0.9117679\nvn 0.396237135 0.306372106 -0.865524292\nvn 0.411756039 -0.660608113 -0.627737105\nvn 0.169009075 -0.979598463 -0.108733051\nvn -0.169036061 -0.79397732 0.583975196\nvn -0.411758989 -0.258251995 0.873933971\nvn -0.39622283 0.69809562 0.596380711\nvn 0.000009 0.965929627 -0.258804917\nvn 0.396244049 0.614280045 -0.682386041\nvn 0.411772013 -0.370092005 -0.832751989\nvn 0.169076949 -0.86340481 -0.475336879\nvn -0.169006959 -0.95702678 0.235661939\nvn -0.411737949 -0.573033929 0.708592951\nvn -0.396211952 0.416740954 0.818133891\nvn 0.000011 0.991442621 0.130542949\nvn 0.396194845 0.8286677 -0.395397842\nvn 0.411747903 -0.023226995 -0.911001742\nvn 0.169069007 -0.615794003 -0.769554019\nvn -0.168993965 -0.974355876 -0.148565978\nvn -0.411716014 -0.800589025 0.435369998\nvn -0.396219999 0.071914002 0.915335\nvn -0.000019 0.866035163 0.499983132\nvn 0.396201998 0.916899025 -0.048168998\nvn 0.411708146 0.32715711 -0.850567281\nvn 0.16901499 -0.274396956 -0.946646869\nvn -0.169089004 -0.843355 -0.510060012\nvn -0.41173324 -0.90624851 0.095861055\nvn -0.396212935 -0.283867985 0.873174906\nvn -0.000013 0.60877043 0.793346584\nvn 0.396237135 0.865524292 0.306372106\nvn 0.411753207 0.627729297 -0.660617292\nvn 0.169010952 0.108735979 -0.979597747\nvn -0.169028074 -0.583992302 -0.793966353\nvn -0.41174978 -0.873945594 -0.258226871\nvn -0.396223903 -0.596386909 0.698089838\nvn 0.000009 0.258804917 0.965929627\nvn 0.396233231 0.682398379 0.614273369\nvn 0.411756068 0.832757115 -0.370098025\nvn 0.169065997 0.475324005 -0.86341399\nvn -0.169010043 -0.235678062 -0.95702225\nvn -0.411738843 -0.70860076 -0.573023796\nvn -0.396212816 -0.818133593 0.416740805\nvn 0.000011 -0.130540013 0.991443098\nvn 0.396178901 0.395413905 0.828667819\nvn 0.411731988 0.911009014 -0.023223\nvn 0.169059992 0.769548893 -0.615802944\nvn -0.168973088 0.148585081 -0.974356472\nvn -0.411731154 -0.435370147 -0.800581276\nvn -0.396225065 -0.915332139 0.07192301\nvn -0.000019 -0.499980003 0.866037011\nvn 0.396189004 0.048163999 0.916904986\nvn 0.411695778 0.850572586 0.327158839\nvn 0.169016078 0.946641505 -0.274415106\nvn -0.16908212 0.510104358 -0.843329608\nvn -0.411734939 -0.095831983 -0.906250894\nvn -0.396216005 -0.873179972 -0.283847988\nvn -0.000013 -0.793344319 0.608773232\nvn 0.396228909 -0.306386948 0.865522802\nvn 0.411755949 0.660614967 0.627729952\nvn 0.169008002 0.979600012 0.108721003\nvn -0.169036061 0.79397732 -0.583975196\nvn -0.411758989 0.258251995 -0.873933971\nvn -0.39622283 -0.69809562 -0.596380711\nvn 0.000009 -0.965929091 0.258807033\nvn 0.396236062 -0.614294052 0.682378054\nvn 0.41177386 0.370101839 0.832746685\nvn 0.169076949 0.86341083 0.475325882\nvn -0.169007063 0.957026362 -0.235663086\nvn -0.411737949 0.573033929 -0.708592951\nvn -0.396212101 -0.41674009 -0.818134189\nvn 0.000011 -0.991442978 -0.130540997\nvn 0.396188051 -0.828677118 0.395385057\nvn 0.411756754 0.023238987 0.91099745\nvn 0.169082001 0.61580801 0.769540012\nvn -0.168972984 0.97435689 0.14858298\nvn -0.411731094 0.800585151 -0.435363084\nvn -0.396225065 -0.07192301 -0.915332139\nvn -0.000019 -0.866036296 -0.499981165\nvn 0.396182925 -0.916907787 0.048158988\nvn 0.411692053 -0.327157021 0.850575089\nvn 0.16901204 0.274411052 0.946643233\nvn -0.169074059 0.843325317 0.510114193\nvn -0.411735773 0.906250477 -0.095831938\nvn -0.396204084 0.283836067 -0.873189151\nvn -0.000013 -0.608773887 -0.793343842\nvn 0.396218807 -0.86553061 -0.306377858\nvn 0.411740988 -0.627744973 0.66061002\nvn 0.168996021 -0.108729012 0.979601145\nvn -0.169022039 0.583971143 0.793983161\nvn -0.411737859 0.87393868 0.258269906\nvn -0.396202832 0.596370697 -0.698115647\nvn 0.000009 -0.258804917 -0.965929627\nvn 0.459559947 -0.64040494 -0.615374923\nvn 0.450626999 -0.812442005 0.369964004\nvn 0.162022978 -0.483778954 0.860061884\nvn -0.135458976 0.268911928 0.953591764\nvn -0.318577081 0.7534042 0.575231135\nvn -0.350794166 0.859755397 -0.37116617\nvn 0.000012 0.153248936 -0.988187671\nvn 0.486620873 -0.322949916 -0.811728835\nvn 0.674487293 -0.735728383 -0.061406031\nvn 0.273849994 -0.718114018 0.639779985\nvn -0.01746 0.058529999 0.998133004\nvn -0.208206922 0.502708793 0.839007676\nvn -0.286493957 0.954761863 0.07969299\nvn -0.073192023 0.585805178 -0.807140291\nvn 0.309974074 -0.405225098 0.860063195\nvn 0.366930008 -0.747065008 0.554306984\nvn 0.334542125 0.125019044 0.934051335\nvn 0.228427082 0.472553194 0.851184309\nvn 0.145669937 0.689308703 0.709671676\nvn 0.020013001 0.835056007 0.549800992\nvn -0.319191128 0.903317273 -0.286592096\nvn -0.169083953 0.985396743 0.020099994\nvn -0.479997009 0.715983987 -0.506922007\nvn -0.762415707 0.275812924 -0.585362732\nvn -0.486397773 -0.221955895 -0.845075607\nvn -0.547192156 -0.536538184 -0.642423213\nvn -0.000005 -0.934160233 -0.356854081\nvn 0.080669969 -0.990972638 0.107077964\nvn 0.396218002 -0.902764022 0.167417005\nvn 0.41176492 -0.213319957 0.885970771\nvn 0.169019014 0.395658046 0.902711093\nvn -0.169019967 0.902715862 0.39564696\nvn -0.411763847 0.885968685 -0.213330925\nvn -0.396225035 0.167432025 -0.902758121\nvn 0 -0.707107842 -0.707105815\nvn 0.396204174 -0.898115396 -0.190817088\nvn 0.411753774 -0.536118686 0.736909568\nvn 0.16908294 0.020111993 0.985396624\nvn -0.168992996 0.682569027 0.711013973\nvn -0.411738873 0.90017575 0.141966969\nvn -0.396234065 0.500160038 -0.769960105\nvn 0.000005 -0.382701933 -0.923871875\nvn 0.396191001 -0.756747007 -0.519967973\nvn 0.411742002 -0.777311027 0.47566399\nvn 0.169049039 -0.358512104 0.918091238\nvn -0.169050023 0.358522058 0.918087125\nvn -0.411741138 0.777316272 0.475656182\nvn -0.396199137 0.756752312 -0.519954205\nvn 0 -0.000002 -1\nvn 0.396226078 -0.500149131 -0.769971192\nvn 0.411730915 -0.900177777 0.141977966\nvn 0.168984979 -0.682568967 0.71101594\nvn -0.169074997 -0.020111 0.985397995\nvn -0.411752939 0.536126912 0.736903965\nvn -0.396198928 0.8981179 -0.19081597\nvn -0.000005 0.382701933 -0.923871875\nvn 0.396220058 -0.167433009 -0.902760148\nvn 0.411762953 -0.885966897 -0.21333997\nvn 0.169011071 -0.902717412 0.395647168\nvn -0.169010058 -0.395659149 0.902712286\nvn -0.411756843 0.213310927 0.885976732\nvn -0.396210074 0.902770102 0.167403013\nvn 0 0.707108319 -0.707105279\nvn 0.396210045 0.190782011 -0.898120105\nvn 0.411743224 -0.736900389 -0.536139309\nvn 0.169083998 -0.985396981 0.020088\nvn -0.168987975 -0.711026907 0.682556868\nvn -0.41172722 -0.141984075 0.900178432\nvn -0.39621377 0.769978523 0.5001477\nvn 0.000005 0.923873603 -0.382697821\nvn 0.396194994 0.519945979 -0.756760001\nvn 0.411726803 -0.475654751 -0.777324617\nvn 0.169046044 -0.918085217 -0.358529091\nvn -0.169049039 -0.918091238 0.358512104\nvn -0.411733866 -0.475664824 0.777314723\nvn -0.396180987 0.51996702 0.756753027\nvn 0 1 0.000006\nvn 0.396234065 0.769960105 -0.500160038\nvn 0.411738962 -0.141966984 -0.900175869\nvn 0.16899398 -0.711013913 -0.682568967\nvn -0.16907908 -0.985397458 -0.02010601\nvn -0.411740988 -0.736912012 0.536125004\nvn -0.396201253 0.190808117 0.898118556\nvn -0.000005 0.923872232 0.382701099\nvn 0.396225989 0.902758002 -0.167430997\nvn 0.411763936 0.213329971 -0.885968864\nvn 0.169019893 -0.395647764 -0.902715445\nvn -0.169020101 -0.902715564 -0.395647198\nvn -0.411755204 -0.88597244 0.213332102\nvn -0.396214068 -0.167437017 0.902762115\nvn 0 0.707104325 0.707109272\nvn 0.396212846 0.898114681 0.190801919\nvn 0.411752939 0.536126912 -0.736903965\nvn 0.169083953 -0.020099994 -0.985396743\nvn -0.168992996 -0.682569027 -0.711013973\nvn -0.411738873 -0.90017575 -0.141966969\nvn -0.396233171 -0.500160217 0.769960344\nvn 0.000005 0.382699907 0.923872769\nvn 0.396199137 0.756752312 0.519954205\nvn 0.411740988 0.777316988 -0.475654989\nvn 0.169050023 0.358522058 -0.918087125\nvn -0.169049978 -0.358522981 -0.918086886\nvn -0.411741138 -0.777316272 -0.475656182\nvn -0.396199316 -0.75675267 0.51995343\nvn 0 0 1\nvn 0.396234065 0.500160038 0.769960105\nvn 0.411738873 0.90017575 -0.141966969\nvn 0.16899398 0.682568967 -0.711013913\nvn -0.16907993 0.02009399 -0.985397518\nvn -0.4117392 -0.536134243 -0.73690635\nvn -0.396209091 -0.898118258 0.190793037\nvn -0.000005 -0.382699907 0.923872769\nvn 0.396225989 0.167430997 0.902758002\nvn 0.411763936 0.885968864 0.213329971\nvn 0.169019893 0.902715445 -0.395647764\nvn -0.169020012 0.395637065 -0.902720094\nvn -0.411754161 -0.213343069 -0.885970294\nvn -0.396221936 -0.902755857 -0.167451978\nvn 0 -0.707108319 0.707105279\nvn 0.459513068 -0.212737024 0.862317145\nvn 0.450580955 0.726648867 0.518611968\nvn 0.162018076 0.98672545 -0.011103004\nvn -0.135441035 0.69140619 -0.709657192\nvn -0.318581909 0.12144997 -0.940082788\nvn -0.350818902 -0.751295805 -0.558999896\nvn 0.000005 -0.932405889 0.361412972\nvn 0.486483872 -0.541538894 0.685615838\nvn 0.674380362 0.314736158 0.667946339\nvn 0.273772985 0.913144886 0.302017957\nvn -0.017589005 0.835095286 -0.549824178\nvn -0.208208025 0.475280046 -0.854844093\nvn -0.286516845 -0.408365816 -0.866686583\nvn -0.073223002 -0.991907001 -0.103726\nvn 0.309947073 0.947458267 -0.079093024\nvn 0.366909921 0.853576839 0.369842917\nvn 0.334540993 0.746405005 -0.575293005\nvn 0.228413999 0.500895023 -0.834824026\nvn 0.145680025 0.269978046 -0.951782227\nvn 0.019861002 0.058529008 -0.998088121\nvn -0.31922704 -0.69986707 -0.63896805\nvn -0.169076949 -0.475336879 -0.86340481\nvn -0.480015874 -0.796997845 -0.366577923\nvn -0.762455881 -0.644795954 0.053844992\nvn -0.486430228 -0.620874286 0.614736319\nvn -0.547292054 -0.288071036 0.785803139\nvn -0.000013 0.158070952 0.987427771\nvn 0.080632001 0.588234007 0.804660976\nvn 0.396215081 0.596371174 0.698108196\nvn 0.411759794 0.873930573 -0.258261889\nvn 0.169035017 0.583966076 -0.793984115\nvn -0.169009075 -0.108733051 -0.979598463\nvn -0.411754996 -0.627737999 -0.660607994\nvn -0.396236897 -0.865524828 0.306370944\nvn -0.000009 -0.25880304 0.965930104\nvn 0.396207929 0.283834964 0.8731879\nvn 0.411735833 0.906251609 0.095821954\nvn 0.169081986 0.843323886 -0.510113955\nvn -0.169020995 0.274410009 -0.946641982\nvn -0.411709011 -0.327161998 -0.850565016\nvn -0.396201998 -0.916899025 -0.048168\nvn 0.000013 -0.608769894 0.793346822\nvn 0.396217138 -0.071938023 0.915334284\nvn 0.411731064 0.800590098 0.435354054\nvn 0.168971062 0.97435534 -0.148595065\nvn -0.169082046 0.615799129 -0.769547164\nvn -0.411754787 0.023228988 -0.910998583\nvn -0.396194994 -0.828667998 -0.395397007\nvn 0.000019 -0.866034091 0.499985069\nvn 0.396204859 -0.416755855 0.818129718\nvn 0.411731005 0.573045015 0.708588004\nvn 0.168998063 0.957028329 0.235662088\nvn -0.169068053 0.863411307 -0.475328177\nvn -0.411771148 0.370092124 -0.832752287\nvn -0.396229029 -0.614294052 -0.682382107\nvn -0.000011 -0.991442978 0.130540997\nvn 0.396217287 -0.698096454 0.596383393\nvn 0.411758155 0.2582421 0.873937309\nvn 0.169027939 0.793977678 0.583976805\nvn -0.168999076 0.979601502 -0.108721055\nvn -0.411747962 0.660624862 -0.627724886\nvn -0.396221012 -0.306401998 -0.865521014\nvn -0.000009 -0.965929091 -0.258807033\nvn 0.396212935 -0.873174906 0.283867985\nvn 0.411725074 -0.095844015 0.906254113\nvn 0.169082955 0.510093868 0.843335807\nvn -0.169016004 0.946637988 0.274426997\nvn -0.411696941 0.850575864 -0.327148974\nvn -0.396181911 0.048147988 -0.916908741\nvn 0.000013 -0.793344319 -0.608773232\nvn 0.396220863 -0.915334702 -0.071912974\nvn 0.411716938 -0.435376942 0.800584853\nvn 0.16896902 0.148579016 0.974358141\nvn -0.169063985 0.769536853 0.615816951\nvn -0.411747009 0.91100198 0.023236999\nvn -0.396175861 0.395391852 -0.828679681\nvn 0.000019 -0.499978065 -0.866038144\nvn 0.396212101 -0.818134189 -0.41674009\nvn 0.411742896 -0.708599806 0.573021889\nvn 0.169014946 -0.235672906 0.957022667\nvn -0.169066012 0.475313067 0.863420129\nvn -0.411752909 0.832750797 0.370115906\nvn -0.396231145 0.68238622 -0.614288211\nvn -0.000011 -0.130540997 -0.991442978\nvn 0.39622283 -0.596380711 -0.69809562\nvn 0.411751062 -0.873942137 0.258237034\nvn 0.169031918 -0.5839867 0.793969631\nvn -0.169015944 0.108729966 0.979597628\nvn -0.411749095 0.627732158 0.660617173\nvn -0.396225929 0.865530908 -0.306367964\nvn -0.000009 0.258807957 -0.965928853\nvn 0.396216005 -0.283847988 -0.873179972\nvn 0.411743194 -0.90624541 -0.095848046\nvn 0.169088051 -0.843349159 0.510070145\nvn -0.169014946 -0.27439791 0.946646631\nvn -0.411708146 0.32715711 0.850567281\nvn -0.396201998 0.916899025 0.048168\nvn 0.000013 0.608772099 -0.793345153\nvn 0.396225065 0.07192301 -0.915332139\nvn 0.411730766 -0.800585508 -0.435362726\nvn 0.168998018 -0.974354148 0.148572013\nvn -0.169069007 -0.615794003 0.769554019\nvn -0.411747903 -0.023227995 0.911001742\nvn -0.396194845 0.8286677 0.395397842\nvn 0.000019 0.866035163 -0.499983132\nvn 0.396212816 0.416740805 -0.818133593\nvn 0.411739081 -0.573034108 -0.708592176\nvn 0.169008076 -0.957026482 -0.235662118\nvn -0.169072956 -0.863402843 0.475341886\nvn -0.411758095 -0.370091081 0.832759202\nvn -0.396212101 0.614287138 0.6823982\nvn 0.000008 0.99144733 -0.13050805\nvn 0.396221101 0.698120177 -0.596353114\nvn 0.411758989 -0.258251995 -0.873933971\nvn 0.169036061 -0.79397732 -0.583975196\nvn -0.169009015 -0.979597092 0.108745016\nvn -0.41174522 -0.660603285 0.627749324\nvn -0.3962349 0.306367934 0.865526795\nvn -0.000009 0.965929091 0.258807033\nvn 0.459482789 0.853165567 -0.246949881\nvn 0.450563133 0.085788019 -0.888613224\nvn 0.162016049 -0.502978146 -0.848978162\nvn -0.135462061 -0.960298479 -0.243879125\nvn -0.318556994 -0.874861002 0.364883006\nvn -0.350791812 -0.108449951 0.930152595\nvn -0.000005 0.779197991 0.626778007\nvn 0.486576051 0.864479125 0.126173019\nvn 0.674378157 0.421086103 -0.606548131\nvn 0.27372089 -0.195056915 -0.941822529\nvn -0.017610004 -0.893737257 -0.448245108\nvn -0.208178028 -0.977962136 0.015874002\nvn -0.286443144 -0.546405256 0.787014365\nvn -0.073150001 0.406087011 0.910902023\nvn 0.309894949 -0.542241871 -0.780985832\nvn 0.366902024 -0.106501013 -0.924143136\nvn 0.334515989 -0.871423006 -0.358776987\nvn 0.228395075 -0.973430336 -0.016405005\nvn 0.145690933 -0.959261537 0.242056876\nvn 0.020036994 -0.893697739 0.448221892\nvn -0.319132 -0.203500003 0.925603986\nvn -0.16908212 -0.510104358 0.843329608\nvn -0.47997883 0.080998972 0.873532712\nvn -0.7624138 0.369029909 0.531546891\nvn -0.486402243 0.842823446 0.230351105\nvn -0.54728806 0.824561059 -0.14343901\nvn -0.000015 0.776107073 -0.630601108\nvn 0.080590002 0.402716994 -0.911769986\nvn 0.396230102 0.306387067 -0.865522206\nvn 0.411757022 -0.660615146 -0.627729118\nvn 0.169008002 -0.979600012 -0.108721003\nvn -0.169035941 -0.793976724 0.583975792\nvn -0.411758244 -0.25825116 0.873934507\nvn -0.396221995 0.698095024 0.596382022\nvn 0.000009 0.965929329 -0.25880608\nvn 0.39623487 0.614293873 -0.682378888\nvn 0.411772013 -0.370101005 -0.832747996\nvn 0.169075921 -0.863410592 -0.475326747\nvn -0.169006959 -0.95702678 0.235661939\nvn -0.411739081 -0.573034108 0.708592176\nvn -0.396211952 0.416740954 0.818133891\nvn 0.000011 0.991442978 0.130540997\nvn 0.396187067 0.828677118 -0.39538607\nvn 0.411748201 -0.023238009 -0.911001444\nvn 0.169068009 -0.615803063 -0.769547105\nvn -0.168998018 -0.974354148 -0.148572013\nvn -0.411730081 -0.800586164 0.435362101\nvn -0.396225005 0.071924001 0.915332019\nvn -0.000019 0.866036296 0.499981165\nvn 0.396194935 0.9169029 -0.048152994\nvn 0.411701083 0.32714808 -0.850574195\nvn 0.16900599 -0.274398983 -0.946647882\nvn -0.169079006 -0.843344986 -0.51007998\nvn -0.411742806 -0.906245589 0.095848955\nvn -0.396201998 -0.283836991 0.873189986\nvn -0.000013 0.608769894 0.793346822\nvn 0.396232009 0.865526974 0.306371003\nvn 0.411757201 0.62773627 -0.660608292\nvn 0.169007003 0.108731002 -0.979598999\nvn -0.169022009 -0.583978057 -0.793978095\nvn -0.411742896 -0.873939812 -0.258257926\nvn -0.396206945 -0.596362948 0.698119938\nvn 0.000009 0.25880304 0.965930104\nvn 0.396239996 0.682401001 0.614265978\nvn 0.411756068 0.832757115 -0.370098025\nvn 0.169070989 0.475327939 -0.86341089\nvn -0.169008985 -0.235655963 -0.957027853\nvn -0.411732048 -0.708593071 -0.573038042\nvn -0.396192104 -0.818132162 0.416763097\nvn 0.000011 -0.13054505 0.991442382\nvn 0.396190047 0.395408064 0.828665137\nvn 0.411740988 0.91100502 -0.023223\nvn 0.169059992 0.769548893 -0.615802944\nvn -0.168971986 0.148596987 -0.974354863\nvn -0.411723971 -0.435362965 -0.800588965\nvn -0.39620617 -0.91533941 0.071934037\nvn -0.000019 -0.499987692 0.866032481\nvn 0.396201998 0.048168998 0.916899025\nvn 0.411709011 0.850565016 0.327161998\nvn 0.169021055 0.946642339 -0.274409086\nvn -0.169078007 0.510110021 -0.843326986\nvn -0.411722988 -0.095826 -0.906256974\nvn -0.396203905 -0.873186827 -0.283843935\nvn -0.000013 -0.793346584 0.60877043\nvn 0.396237135 -0.306372106 0.865524292\nvn 0.411756039 0.660608113 0.627737105\nvn 0.169009075 0.979598463 0.108733051\nvn -0.169036061 0.79397732 -0.583975196\nvn -0.411750138 0.258251101 -0.873938322\nvn -0.396211058 -0.698096037 -0.596388042\nvn 0.000009 -0.965930641 0.258800924\nvn 0.396242946 -0.614280939 0.682385921\nvn 0.411772013 0.370092005 0.832751989\nvn 0.169076949 0.86340481 0.475336879\nvn -0.169006959 0.95702678 -0.235661939\nvn -0.411737949 0.573033929 -0.708592951\nvn -0.396211952 -0.416740954 -0.818133891\nvn 0.000011 -0.991442621 -0.130542949\nvn 0.396194845 -0.8286677 0.395397842\nvn 0.411754787 0.023227992 0.910998583\nvn 0.169082046 0.615799129 0.769547164\nvn -0.168972984 0.97435689 0.14858298\nvn -0.411730766 0.800585508 -0.435362726\nvn -0.396225065 -0.07192301 -0.915332139\nvn -0.000019 -0.866035163 -0.499983132\nvn 0.396201998 -0.916899025 0.048168\nvn 0.411709845 -0.327161878 0.850564718\nvn 0.169020995 0.274410009 0.946641982\nvn -0.169078007 0.843333006 0.510100007\nvn -0.41172123 0.906256557 -0.095837057\nvn -0.396211952 0.283856958 -0.873178899\nvn -0.000013 -0.608772099 -0.793345153\nvn 0.396237135 -0.865524292 -0.306372106\nvn 0.411756039 -0.627737105 0.660608113\nvn 0.169009075 -0.108733051 0.979598463\nvn -0.169036984 0.583984911 0.79396987\nvn -0.411748946 0.873941898 0.258240968\nvn -0.396219045 0.596398056 -0.698083043\nvn 0.000009 -0.25880304 -0.965930104\nvn 0.459544063 -0.640416145 -0.615375042\nvn 0.450599283 -0.812455475 0.369968206\nvn 0.162010953 -0.483793885 0.860055804\nvn -0.135450974 0.268915951 0.953591764\nvn -0.318580896 0.753412724 0.575217843\nvn -0.350799888 0.859755695 -0.371159881\nvn 0.000012 0.153244063 -0.988188386\nvn 0.486580014 -0.322982997 -0.811739981\nvn 0.674427271 -0.735781312 -0.06143203\nvn 0.273803979 -0.718144953 0.639764965\nvn -0.017456003 0.058529008 0.998133123\nvn -0.208195999 0.502700984 0.839015007\nvn -0.286491126 0.954763353 0.079685032\nvn -0.073187985 0.585797906 -0.807145834\nvn 0.309959859 -0.405226827 0.860067606\nvn 0.366920978 -0.747062922 0.554315925\nvn 0.33453092 0.125007972 0.934056759\nvn 0.228410065 0.472556114 0.85118717\nvn 0.145660028 0.689307153 0.709675193\nvn 0.02001 0.835056007 0.549800992\nvn -0.319144905 0.903331757 -0.286597937\nvn -0.16907005 0.985399246 0.020095006\nvn -0.479956001 0.716005027 -0.506931007\nvn -0.762360752 0.275839925 -0.585421741\nvn -0.486363053 -0.221958026 -0.845095098\nvn -0.547130048 -0.536562085 -0.642456114\nvn -0.000005 -0.934158266 -0.356859088\nvn 0.080664001 -0.990974009 0.107069001\nvn 0.396225154 -0.9027583 0.167431056\nvn 0.411763102 -0.213330045 0.885969222\nvn 0.169018924 0.395647824 0.902715564\nvn -0.169019967 0.902715862 0.39564696\nvn -0.411755204 0.88597244 -0.213332102\nvn -0.396214068 0.167437017 -0.902762115\nvn 0 -0.707104325 -0.707109272\nvn 0.396214038 -0.898114145 -0.190802008\nvn 0.411753803 -0.536126733 0.736903667\nvn 0.169083953 0.020099994 0.985396743\nvn -0.16899398 0.682568967 0.711013913\nvn -0.411738873 0.90017575 0.141966969\nvn -0.396234065 0.500160038 -0.769960105\nvn 0.000005 -0.382699907 -0.923872769\nvn 0.396200001 -0.756752014 -0.519954026\nvn 0.411742151 -0.777316272 0.475655168\nvn 0.169050023 -0.358522058 0.918087125\nvn -0.169049978 0.358522981 0.918086886\nvn -0.411740988 0.777316988 0.475654989\nvn -0.39620018 0.756752372 -0.519953251\nvn 0 0 -1\nvn 0.396233171 -0.500160217 -0.769960344\nvn 0.411738873 -0.90017575 0.141966969\nvn 0.16899398 -0.682568967 0.711013913\nvn -0.169083953 -0.020099994 0.985396743\nvn -0.411753237 0.536127269 0.736903489\nvn -0.396212935 0.89811486 -0.190800965\nvn -0.000005 0.382699907 -0.923872769\nvn 0.396225154 -0.167431056 -0.9027583\nvn 0.411763102 -0.885969222 -0.213330045\nvn 0.169018924 -0.902715564 0.395647824\nvn -0.169019967 -0.39564696 0.902715862\nvn -0.411763936 0.213329971 0.885968864\nvn -0.396225989 0.902758002 0.167430997\nvn 0 0.707106829 -0.707106829\nvn 0.396214068 0.190802023 -0.898114145\nvn 0.411753803 -0.736903667 -0.536126733\nvn 0.169083953 -0.985396743 0.020099994\nvn -0.168990001 -0.711009979 0.682573974\nvn -0.411724865 -0.141963959 0.900182724\nvn -0.396229297 0.769956529 0.500169337\nvn 0.000005 0.923872769 -0.382699907\nvn 0.396200001 0.519954026 -0.756752014\nvn 0.411736995 -0.475656986 -0.777318001\nvn 0.16904594 -0.918085635 -0.358527869\nvn -0.169046044 -0.918085217 0.358529091\nvn -0.411730915 -0.475647867 0.777326822\nvn -0.396188945 0.519944966 0.756763875\nvn 0 1 0.000004\nvn 0.396235049 0.769955099 -0.500167072\nvn 0.411738008 -0.141956002 -0.900178015\nvn 0.168990001 -0.711009979 -0.682573974\nvn -0.169078946 -0.985397637 -0.020094993\nvn -0.411748856 -0.736905694 0.536127806\nvn -0.396212846 0.190801919 0.898114681\nvn -0.000005 0.923872769 0.382699907\nvn 0.396221936 0.902755857 -0.167451978\nvn 0.411753774 0.21334286 -0.885970473\nvn 0.169020101 -0.395636231 -0.902720511\nvn -0.169019893 -0.902715445 -0.395647764\nvn -0.411763936 -0.885968864 0.213329971\nvn -0.396225154 -0.167431056 0.9027583\nvn 0 0.707108319 0.707105279\nvn 0.396207988 0.898118973 0.190791994\nvn 0.4117392 0.536134243 -0.73690635\nvn 0.16907993 -0.02009399 -0.985397518\nvn -0.16899398 -0.682568967 -0.711013913\nvn -0.411738873 -0.90017575 -0.141966969\nvn -0.396234065 -0.500160038 0.769960105\nvn 0.000005 0.382699907 0.923872769\nvn 0.39620018 0.756752372 0.519953251\nvn 0.411742151 0.777316272 -0.475655168\nvn 0.169049978 0.358522981 -0.918086886\nvn -0.169050023 -0.358522058 -0.918087125\nvn -0.411742151 -0.777316272 -0.475655168\nvn -0.396200001 -0.756752014 0.519954026\nvn 0 0 1\nvn 0.396234065 0.500160038 0.769960105\nvn 0.411738873 0.90017575 -0.141966969\nvn 0.16899398 0.682568967 -0.711013913\nvn -0.169083953 0.020099994 -0.985396743\nvn -0.411753803 -0.536126733 -0.736903667\nvn -0.396212846 -0.898114681 0.190801919\nvn -0.000005 -0.382699907 0.923872769\nvn 0.396225035 0.167432025 0.902758121\nvn 0.411763102 0.885969222 0.213330045\nvn 0.169019967 0.902715862 -0.39564696\nvn -0.169019893 0.395647764 -0.902715445\nvn -0.411763936 -0.213329971 -0.885968864\nvn -0.396225154 -0.9027583 -0.167431056\nvn 0 -0.707106829 0.707106829\nvn 0.459513068 -0.212737024 0.862317145\nvn 0.450585783 0.726646662 0.518610775\nvn 0.162020981 0.986724854 -0.011107999\nvn -0.135441035 0.69140619 -0.709657192\nvn -0.31857416 0.121457063 -0.940084457\nvn -0.350814044 -0.751297116 -0.559001088\nvn 0.000005 -0.932405889 0.361412972\nvn 0.486487895 -0.541542888 0.685609818\nvn 0.674386024 0.314743996 0.667936981\nvn 0.273783982 0.9131459 0.302004963\nvn -0.017591011 0.835094452 -0.549825311\nvn -0.208204001 0.475270987 -0.854849994\nvn -0.286506057 -0.408359081 -0.866693199\nvn -0.07322301 -0.991906106 -0.103734016\nvn 0.309932977 0.947462857 -0.079093993\nvn 0.366900891 0.853583694 0.369835883\nvn 0.334530085 0.746415198 -0.57528609\nvn 0.228397131 0.500895321 -0.834828496\nvn 0.14567104 0.2699821 -0.951782346\nvn 0.019858006 0.058529016 -0.998088241\nvn -0.319180995 -0.699880004 -0.638976991\nvn -0.169064075 -0.475342244 -0.863404393\nvn -0.479974926 -0.797015905 -0.36659196\nvn -0.762401164 -0.644860208 0.05385001\nvn -0.486395121 -0.620890141 0.61474812\nvn -0.547229588 -0.288087785 0.785840452\nvn -0.000013 0.158064961 0.987428784\nvn 0.080625981 0.588226855 0.804666817\nvn 0.396221936 0.596380949 0.698095918\nvn 0.411758244 0.873934507 -0.25825116\nvn 0.169036046 0.583975136 -0.793977201\nvn -0.169009075 -0.108733051 -0.979598463\nvn -0.411746204 -0.627741277 -0.660610318\nvn -0.396225929 -0.865530908 0.306367964\nvn -0.000009 -0.258807957 0.965928853\nvn 0.396216929 0.283846974 0.873179853\nvn 0.411736161 0.906250298 0.095832035\nvn 0.169082999 0.843329012 -0.510105014\nvn -0.169020995 0.274410009 -0.946641982\nvn -0.411709845 -0.327161878 -0.850564718\nvn -0.396201998 -0.916899025 -0.048168\nvn 0.000013 -0.608772099 0.793345153\nvn 0.39622584 -0.071923979 0.915331721\nvn 0.411731243 0.800585449 0.435362279\nvn 0.168972954 0.974356771 -0.148583949\nvn -0.169081897 0.615798652 -0.769547522\nvn -0.411754787 0.023227992 -0.910998583\nvn -0.396194845 -0.8286677 -0.395397842\nvn 0.000019 -0.866035163 0.499983132\nvn 0.396212101 -0.41674009 0.818134189\nvn 0.411738783 0.57303369 0.708592653\nvn 0.169007123 0.95702666 0.235662162\nvn -0.169076949 0.86340481 -0.475336879\nvn -0.411772013 0.370092005 -0.832751989\nvn -0.396242917 -0.614279866 -0.682386816\nvn -0.000011 -0.991442621 0.130542949\nvn 0.396221936 -0.698095918 0.596380949\nvn 0.411758244 0.25825116 0.873934507\nvn 0.169036061 0.79397732 0.583975196\nvn -0.169009075 0.979598463 -0.108733051\nvn -0.411756039 0.660608113 -0.627737105\nvn -0.396237135 -0.306372106 -0.865524292\nvn -0.000009 -0.965929627 -0.258804917\nvn 0.396216929 -0.873179853 0.283846974\nvn 0.411736161 -0.095832035 0.906250298\nvn 0.169082999 0.510105014 0.843329012\nvn -0.169017062 0.946644366 0.274404079\nvn -0.411695153 0.850569308 -0.327168107\nvn -0.396198094 0.04817801 -0.916900218\nvn 0.000013 -0.793345153 -0.608772099\nvn 0.396225899 -0.915331841 -0.071922988\nvn 0.411727011 -0.435371011 0.800583005\nvn 0.168969005 0.14858 0.974358022\nvn -0.169059992 0.769548893 0.615802944\nvn -0.411745161 0.911003292 0.023216007\nvn -0.396184921 0.395411909 -0.828665793\nvn 0.000019 -0.499980003 -0.866037011\nvn 0.396214008 -0.81813699 -0.416732997\nvn 0.411742181 -0.708606362 0.573014319\nvn 0.169010967 -0.235678971 0.957021892\nvn -0.169065937 0.475322813 0.863414705\nvn -0.411761075 0.832750201 0.370108098\nvn -0.396242946 0.682385921 -0.614280939\nvn -0.000011 -0.130542949 -0.991442621\nvn 0.396219045 -0.596398056 -0.698083043\nvn 0.411740214 -0.873950422 0.258226126\nvn 0.169031993 -0.583997011 0.793962002\nvn -0.169014961 0.108729981 0.979597747\nvn -0.411758155 0.627728224 0.660615265\nvn -0.396237135 0.865524292 -0.306372106\nvn -0.000009 0.25880304 -0.965930104\nvn 0.396211833 -0.283857852 -0.873178601\nvn 0.411729097 -0.906251252 -0.095853023\nvn 0.169083998 -0.843352973 0.510065019\nvn -0.169014946 -0.27439791 0.946646631\nvn -0.411709011 0.327156991 0.850566983\nvn -0.396201998 0.916899025 0.048168\nvn 0.000013 0.608772099 -0.793345153\nvn 0.396225899 0.071922988 -0.915331781\nvn 0.411730766 -0.800585508 -0.435362726\nvn 0.168998018 -0.974354148 0.148572013\nvn -0.169069007 -0.615794003 0.769554019\nvn -0.411747903 -0.023227995 0.911001742\nvn -0.396194994 0.828667998 0.395397007\nvn 0.000019 0.866035163 -0.499983132\nvn 0.396212101 0.41674009 -0.818134189\nvn 0.411739051 -0.573033035 -0.708593071\nvn 0.169008076 -0.957026482 -0.235662118\nvn -0.169076949 -0.86340481 0.475336879\nvn -0.411772013 -0.370092005 0.832751989\nvn -0.396217048 0.614293039 0.682390034\nvn 0.000008 0.99144733 -0.13050805\nvn 0.396220863 0.69811976 -0.596353769\nvn 0.411758155 -0.258252084 -0.873934269\nvn 0.169035941 -0.793976724 -0.583975792\nvn -0.169008926 -0.979598522 0.108732946\nvn -0.411754996 -0.660607994 0.627737999\nvn -0.396239072 0.306387037 0.865518093\nvn -0.000009 0.965929627 0.258804917\nvn 0.459482789 0.853165567 -0.246949881\nvn 0.450567871 0.085787974 -0.88861078\nvn 0.162019998 -0.50298202 -0.848975003\nvn -0.135462031 -0.96029824 -0.243880063\nvn -0.318548888 -0.874865711 0.364878893\nvn -0.350787103 -0.108450025 0.930154264\nvn -0.000005 0.779197991 0.626778007\nvn 0.486579955 0.864475906 0.126179978\nvn 0.674383998 0.421074003 -0.606549978\nvn 0.273732007 -0.195068002 -0.941816986\nvn -0.017611999 -0.893737853 -0.448243946\nvn -0.208174929 -0.977962613 0.015883995\nvn -0.286433011 -0.546414018 0.787011981\nvn -0.073150009 0.406080067 0.910905123\nvn 0.309881061 -0.54224509 -0.78098917\nvn 0.366892904 -0.106509976 -0.924145758\nvn 0.334506005 -0.871421993 -0.358788997\nvn 0.228378072 -0.973434329 -0.016404005\nvn 0.145681992 -0.959263861 0.242052972\nvn 0.020033997 -0.893697858 0.448221952\nvn -0.319085181 -0.203502119 0.925619543\nvn -0.169069052 -0.51010114 0.843334198\nvn -0.479938239 0.080996037 0.873555422\nvn -0.762358844 0.369065911 0.531600893\nvn -0.486368001 0.842841029 0.230359003\nvn -0.547225773 0.824601591 -0.143443927\nvn -0.000015 0.776110709 -0.630596757\nvn 0.08058399 0.402724952 -0.911766887\nvn 0.396236807 0.306371838 -0.86552459\nvn 0.411754996 -0.660607994 -0.627737999\nvn 0.169007942 -0.979598641 -0.108732961\nvn -0.169035941 -0.793976724 0.583975792\nvn -0.41174978 -0.258250892 0.87393856\nvn -0.396211058 0.698096037 0.596388042\nvn 0.000009 0.965930641 -0.258800924\nvn 0.396244049 0.614280045 -0.682386041\nvn 0.411772013 -0.370092005 -0.832751989\nvn 0.169077054 -0.863405287 -0.475336164\nvn -0.169008076 -0.957026482 0.235662118\nvn -0.411739081 -0.573034108 0.708592176\nvn -0.396212816 0.416740805 0.818133593\nvn 0.000011 0.991442621 0.130542949\nvn 0.396195859 0.8286677 -0.395396858\nvn 0.411749035 -0.023228005 -0.911001146\nvn 0.169069991 -0.615793943 -0.7695539\nvn -0.168998018 -0.974354148 -0.148572013\nvn -0.411729902 -0.800585806 0.435362905\nvn -0.396225899 0.071922988 0.915331781\nvn -0.000019 0.866035163 0.499983132\nvn 0.396201998 0.916899025 -0.048168998\nvn 0.411708146 0.32715711 -0.850567281\nvn 0.16901499 -0.274396956 -0.946646869\nvn -0.169088051 -0.843349159 -0.510070145\nvn -0.411743134 -0.906245291 0.095849037\nvn -0.396216005 -0.283847988 0.873179972\nvn -0.000013 0.608772099 0.793345153\nvn 0.396236807 0.86552459 0.306371838\nvn 0.411757022 0.627728105 -0.6606161\nvn 0.169014961 0.108729981 -0.979597747\nvn -0.169031084 -0.583987355 -0.793969452\nvn -0.411751062 -0.873942137 -0.258237034\nvn -0.39622283 -0.596380711 0.69809562\nvn 0.000009 0.258804917 0.965929627\nvn 0.396244049 0.682386041 0.614280045\nvn 0.411766082 0.832748175 -0.370107085\nvn 0.169069946 0.475317836 -0.863416731\nvn -0.169010967 -0.235678971 -0.957021892\nvn -0.411729008 -0.708607018 -0.573023021\nvn -0.396207988 -0.81813997 0.416732997\nvn 0.000011 -0.130542949 0.991442621\nvn 0.396194994 0.395397007 0.828667998\nvn 0.411749959 0.911000907 -0.023227997\nvn 0.169059992 0.769548893 -0.615802944\nvn -0.16896902 0.148579016 -0.974358141\nvn -0.411720842 -0.435382843 -0.800579786\nvn -0.3962152 -0.915337443 0.071910031\nvn -0.000019 -0.499986231 0.866033435\nvn 0.396203071 0.048177008 0.916898131\nvn 0.411707848 0.850561678 0.327171892\nvn 0.169016927 0.946644545 -0.27440387\nvn -0.169078007 0.510100007 -0.843333006\nvn -0.411730856 -0.09583196 -0.906252682\nvn -0.396216005 -0.873179972 -0.283847988\nvn -0.000013 -0.793345153 0.608772099\nvn 0.396232992 -0.306353003 0.865532994\nvn 0.41174522 0.660603285 0.627749324\nvn 0.169009015 0.979597092 0.108745016\nvn -0.169036061 0.79397732 -0.583975196\nvn -0.411758989 0.258251995 -0.873933971\nvn -0.39622283 -0.69809562 -0.596380711\nvn 0.000009 -0.965929091 0.258807033\nvn 0.396239102 -0.614274144 0.682394207\nvn 0.411757767 0.370090783 0.8327595\nvn 0.169073045 0.863402188 0.475343108\nvn -0.169007927 0.957026541 -0.235661879\nvn -0.411738783 0.57303369 -0.708592653\nvn -0.396211952 -0.416740954 -0.818133891\nvn 0.000011 -0.991442621 -0.130542949\nvn 0.396194845 -0.8286677 0.395397842\nvn 0.411755204 0.023228012 0.910998404\nvn 0.169082135 0.615798533 0.769547641\nvn -0.168972954 0.974356771 0.148583949\nvn -0.411731094 0.800585151 -0.435363084\nvn -0.396225899 -0.071922988 -0.915331781\nvn -0.000019 -0.866035163 -0.499983132\nvn 0.396201998 -0.916899025 0.048168998\nvn 0.411709011 -0.327161998 0.850565016\nvn 0.169020995 0.274410009 0.946641982\nvn -0.169082999 0.843329012 0.510105014\nvn -0.411735773 0.906250477 -0.095831938\nvn -0.396216005 0.283847988 -0.873179972\nvn -0.000013 -0.608772099 -0.793345153\nvn 0.396236897 -0.865524828 -0.306370944\nvn 0.411754996 -0.627737999 0.660607994\nvn 0.169009075 -0.108733051 0.979598463\nvn -0.169036046 0.583975136 0.793977201\nvn -0.411758989 0.873933971 0.258251995\nvn -0.39622283 0.596380711 -0.69809562\nvn 0.000009 -0.258804917 -0.965929627\nvn 0.459544063 -0.640416145 -0.615375042\nvn 0.450604945 -0.812452853 0.369966984\nvn 0.162014961 -0.483788878 0.860057831\nvn -0.135451004 0.268914998 0.953592002\nvn -0.318573087 0.753411174 0.575224102\nvn -0.350795031 0.859757125 -0.371161044\nvn 0.000012 0.153244063 -0.988188386\nvn 0.486583948 -0.32297498 -0.811740875\nvn 0.674432933 -0.735776961 -0.061420992\nvn 0.273816019 -0.718134046 0.639772058\nvn -0.017457001 0.058529999 0.998133004\nvn -0.20819205 0.502709091 0.839011192\nvn -0.286480933 0.954765737 0.079693981\nvn -0.073188022 0.585804164 -0.807141185\nvn 0.309988976 -0.405222952 0.860058904\nvn 0.366940022 -0.74705708 0.554311037\nvn 0.334547997 0.125012994 0.934050024\nvn 0.228435993 0.472553015 0.851181984\nvn 0.145669907 0.68930161 0.70967859\nvn 0.020013001 0.835056007 0.549800992\nvn -0.319177091 0.903317213 -0.28660807\nvn -0.169080094 0.985397577 0.020094011\nvn -0.479984105 0.715981185 -0.5069381\nvn -0.762360752 0.275839925 -0.585421741\nvn -0.486382991 -0.221940994 -0.845088005\nvn -0.547176898 -0.536521852 -0.642449796\nvn -0.000005 -0.934158266 -0.356859088\nvn 0.080673978 -0.990972757 0.107073978\nvn 0.396226168 -0.902756393 0.167439073\nvn 0.411762148 -0.213340074 0.885967314\nvn 0.16901499 0.395641953 0.902718902\nvn -0.169014916 0.902718484 0.395642757\nvn -0.411759049 0.885971129 -0.21333003\nvn -0.396225154 0.167431056 -0.9027583\nvn 0 -0.707106829 -0.707106829\nvn 0.396210045 -0.898120105 -0.190782011\nvn 0.411743224 -0.536139309 0.736900389\nvn 0.169083998 0.020089 0.985396981\nvn -0.16899398 0.682568967 0.711013913\nvn -0.411738098 0.900176227 0.141967028\nvn -0.396232992 0.500160992 -0.769959986\nvn 0.000005 -0.382701099 -0.923872232\nvn 0.396194816 -0.756759644 -0.519946754\nvn 0.41172716 -0.777324319 0.475655168\nvn 0.169046044 -0.358529091 0.918085217\nvn -0.169049978 0.358522981 0.918086886\nvn -0.411742151 0.777316272 0.475655168\nvn -0.39620018 0.756752372 -0.519953251\nvn 0 0 -1\nvn 0.396234065 -0.500160038 -0.769960105\nvn 0.411738873 -0.90017575 0.141966969\nvn 0.16899398 -0.682568967 0.711013913\nvn -0.169083953 -0.020099994 0.985396743\nvn -0.411752939 0.536126912 0.736903965\nvn -0.396212846 0.898114681 -0.190801919\nvn -0.000005 0.382699907 -0.923872769\nvn 0.396225154 -0.167431056 -0.9027583\nvn 0.411763936 -0.885968864 -0.213329971\nvn 0.169019967 -0.902715862 0.39564696\nvn -0.169019967 -0.39564696 0.902715862\nvn -0.411763936 0.213329971 0.885968864\nvn -0.396225065 0.902758121 0.16743201\nvn 0 0.707106829 -0.707106829\nvn 0.396212846 0.190801919 -0.898114681\nvn 0.411753803 -0.736903667 -0.536126733\nvn 0.169083953 -0.985396743 0.020099994\nvn -0.16899398 -0.711013913 0.682568967\nvn -0.411738962 -0.141966984 0.900175869\nvn -0.396234065 0.769960105 0.500160038\nvn 0.000005 0.923872769 -0.382699907\nvn 0.396200001 0.519954026 -0.756752014\nvn 0.411742151 -0.475655168 -0.777316272\nvn 0.169049963 -0.918086886 -0.358522952\nvn -0.169049963 -0.918086886 0.358522952\nvn -0.411742151 -0.475655168 0.777316272\nvn -0.39620018 0.519953251 0.756752372\nvn 0 1 0\nvn 0.396234065 0.769960105 -0.500160038\nvn 0.411738962 -0.141966984 -0.900175869\nvn 0.16899398 -0.711013913 -0.682568967\nvn -0.16907993 -0.985397518 -0.02009399\nvn -0.411738902 -0.736906826 0.536133885\nvn -0.396209091 0.190793037 0.898118258\nvn -0.000005 0.923872769 0.382699907\nvn 0.396225154 0.9027583 -0.167431056\nvn 0.411763936 0.213329971 -0.885968864\nvn 0.169019967 -0.39564696 -0.902715862\nvn -0.169020012 -0.902720094 -0.395637065\nvn -0.411752939 -0.885970891 0.213342965\nvn -0.396221101 -0.167452037 0.902756214\nvn 0 0.707105279 0.707108319\nvn 0.396189809 0.898126602 0.190793917\nvn 0.411729991 0.536135018 -0.736910999\nvn 0.169078946 -0.020094993 -0.985397637\nvn -0.168990001 -0.682573974 -0.711009979\nvn -0.411738008 -0.900178015 -0.141956002\nvn -0.396235049 -0.500167072 0.769955099\nvn 0.000005 0.38270691 0.923869789\nvn 0.39617601 0.756758988 0.519962013\nvn 0.411713928 0.777325869 -0.47566393\nvn 0.16903697 0.358518928 -0.91809088\nvn -0.16904594 -0.358527869 -0.918085635\nvn -0.411736995 -0.777318001 -0.475656986\nvn -0.396200001 -0.756752014 0.519954026\nvn 0 0.000004 1\nvn 0.396226078 0.500149131 0.769971192\nvn 0.411739916 0.900173783 -0.141976967\nvn 0.168993071 0.682560325 -0.711022377\nvn -0.169083953 0.020099994 -0.985396743\nvn -0.411752939 -0.536126912 -0.736903965\nvn -0.396212935 -0.89811486 0.190800965\nvn -0.000005 -0.382698178 0.923873425\nvn 0.396218002 0.167417005 0.902764022\nvn 0.41176492 0.885970771 0.213319957\nvn 0.169019014 0.902711093 -0.395658046\nvn -0.169019967 0.39564696 -0.902715862\nvn -0.411763936 -0.213329971 -0.885968864\nvn -0.396225065 -0.902758121 -0.16743201\nvn 0 -0.707105279 0.707108319\nvn 0.459532827 -0.212764919 0.862299681\nvn 0.450609118 0.726646185 0.518591106\nvn 0.162020952 0.986724734 -0.011118997\nvn -0.135441035 0.69140619 -0.709657192\nvn -0.31857419 0.121456072 -0.940084517\nvn -0.350814044 -0.751297116 -0.559001088\nvn 0.000005 -0.932408214 0.361407101\nvn 0.486529946 -0.541551948 0.685572922\nvn 0.674478352 0.314698189 0.667865336\nvn 0.273807049 0.913141251 0.301998049\nvn -0.017591011 0.835094452 -0.549825311\nvn -0.208204001 0.475270987 -0.854849994\nvn -0.286506057 -0.408359081 -0.866693199\nvn -0.073224045 -0.99190557 -0.10373906\nvn 0.309962124 0.94745338 -0.079093032\nvn 0.366920978 0.853575885 0.369833976\nvn 0.334546089 0.746407151 -0.575287104\nvn 0.22842297 0.500892937 -0.834822893\nvn 0.145680025 0.26998806 -0.951779246\nvn 0.019861002 0.058529008 -0.998088121\nvn -0.319212973 -0.699881911 -0.638958931\nvn -0.16907312 -0.475342333 -0.863402605\nvn -0.480002999 -0.797010005 -0.366567999\nvn -0.762401164 -0.644860208 0.05385001\nvn -0.48641488 -0.620892823 0.614729822\nvn -0.547276258 -0.288103163 0.785802364\nvn -0.000013 0.158064961 0.987428784\nvn 0.080635034 0.588230312 0.80466336\nvn 0.396223068 0.596387088 0.698090076\nvn 0.411756933 0.873937905 -0.258241981\nvn 0.169031978 0.583980918 -0.793973863\nvn -0.169003949 -0.108737975 -0.979598761\nvn -0.411750048 -0.627739072 -0.66061008\nvn -0.396236807 -0.86552459 0.306371838\nvn -0.000009 -0.258804917 0.965929627\nvn 0.396213055 0.283867031 0.873175144\nvn 0.411725074 0.906254113 0.095844015\nvn 0.169083118 0.843335569 -0.510094345\nvn -0.169021055 0.274409086 -0.946642339\nvn -0.411709011 -0.327161998 -0.850565016\nvn -0.396201998 -0.916899025 -0.048168998\nvn 0.000013 -0.60877043 0.793346584\nvn 0.396220893 -0.071913972 0.915334702\nvn 0.411716282 0.800589502 0.435369283\nvn 0.168969065 0.97435838 -0.148577064\nvn -0.169082999 0.61579901 -0.769546986\nvn -0.411755204 0.023228012 -0.910998404\nvn -0.396194845 -0.8286677 -0.395397842\nvn 0.000019 -0.866035163 0.499983132\nvn 0.396211952 -0.416740954 0.818133891\nvn 0.411738783 0.57303369 0.708592653\nvn 0.169006959 0.95702678 0.235661939\nvn -0.169076949 0.86340481 -0.475336879\nvn -0.411772013 0.370092005 -0.832751989\nvn -0.396244049 -0.614280045 -0.682386041\nvn -0.000011 -0.991442621 0.130542949\nvn 0.39622283 -0.69809562 0.596380711\nvn 0.411758989 0.258251995 0.873933971\nvn 0.169036061 0.79397732 0.583975196\nvn -0.169009075 0.979598463 -0.108733051\nvn -0.4117558 0.660607696 -0.627737701\nvn -0.396236897 -0.306370944 -0.865524828\nvn -0.000009 -0.965929627 -0.258804917\nvn 0.396216005 -0.873179972 0.283847988\nvn 0.411735773 -0.095831938 0.906250477\nvn 0.169082046 0.510105133 0.843329191\nvn -0.169021055 0.946642339 0.274409086\nvn -0.411709011 0.850565016 -0.327161998\nvn -0.396201998 0.048168 -0.916899025\nvn 0.000013 -0.793345153 -0.608772099\nvn 0.396225899 -0.915331841 -0.071922988\nvn 0.411731988 -0.435369998 0.800580978\nvn 0.168973088 0.148585081 0.974356472\nvn -0.169064105 0.769544482 0.615807354\nvn -0.411755204 0.910998404 0.023228012\nvn -0.396194905 0.395397902 -0.828667819\nvn 0.000019 -0.499983132 -0.866035163\nvn 0.396211952 -0.818133891 -0.416740954\nvn 0.411743194 -0.708599329 0.573022306\nvn 0.169014946 -0.235672906 0.957022667\nvn -0.169065997 0.475324005 0.86341399\nvn -0.411751837 0.832755685 0.370105892\nvn -0.396238863 0.682393789 -0.61427474\nvn -0.000011 -0.130542949 -0.991442621\nvn 0.39622283 -0.596380711 -0.69809562\nvn 0.411750168 -0.873942435 0.258237123\nvn 0.169030935 -0.583986819 0.793969691\nvn -0.169016048 0.108742021 0.979596257\nvn -0.411747009 0.627740026 0.660610974\nvn -0.396232992 0.865532994 -0.306353003\nvn -0.000009 0.258807033 -0.965929091\nvn 0.396193057 -0.283861041 -0.873186111\nvn 0.411720216 -0.906255424 -0.095852047\nvn 0.169083104 -0.843352497 0.510066271\nvn -0.169010997 -0.274392009 0.946649015\nvn -0.411707014 0.327167004 0.850564003\nvn -0.396203071 0.916898131 0.048177008\nvn 0.000013 0.60876596 -0.793349862\nvn 0.396201968 0.071926996 -0.915341854\nvn 0.411704004 -0.800597012 -0.435366988\nvn 0.16898492 -0.974355519 0.148577929\nvn -0.169065014 -0.615790069 0.769558132\nvn -0.41174379 -0.02322799 0.91100359\nvn -0.396194994 0.828667998 0.395397007\nvn 0.000019 0.866033435 -0.499986231\nvn 0.396204859 0.416755855 -0.818129718\nvn 0.411740065 -0.573041081 -0.708586037\nvn 0.169007063 -0.957029343 -0.235651091\nvn -0.169076949 -0.86340481 0.475336879\nvn -0.411772013 -0.370092005 0.832751989\nvn -0.396216989 0.614292026 0.682390988\nvn 0.000008 0.991446972 -0.130510002\nvn 0.396213114 0.698132277 -0.596344233\nvn 0.411759913 -0.258260936 -0.873930812\nvn 0.169036001 -0.793983996 -0.583966017\nvn -0.169009075 -0.979598463 0.108733051\nvn -0.411754996 -0.660607994 0.627737999\nvn -0.396238863 0.306385875 0.865518689\nvn -0.000009 0.965930104 0.25880304\nvn 0.459503055 0.853164136 -0.246917024\nvn 0.450591266 0.085772045 -0.888600528\nvn 0.162020117 -0.502991378 -0.848969579\nvn -0.135462061 -0.960298479 -0.243879125\nvn -0.318548888 -0.874865711 0.364878893\nvn -0.350787103 -0.108450025 0.930154264\nvn -0.000005 0.779193878 0.626782954\nvn 0.486622185 0.864448309 0.126207039\nvn 0.674475968 0.421034932 -0.606474936\nvn 0.273755074 -0.195073038 -0.941809237\nvn -0.017611999 -0.893737853 -0.448243946\nvn -0.208174929 -0.977962613 0.015883995\nvn -0.286433011 -0.546414018 0.787011981\nvn -0.07315103 0.40607515 0.910907269\nvn 0.309910864 -0.542238772 -0.78098166\nvn 0.366912127 -0.106507041 -0.924138367\nvn 0.33452189 -0.871418715 -0.358781874\nvn 0.22840406 -0.973428249 -0.016404003\nvn 0.145691007 -0.95926398 0.242046997\nvn 0.020036994 -0.893697739 0.448221892\nvn -0.319117039 -0.203486025 0.925612092\nvn -0.169078991 -0.510099947 0.843332887\nvn -0.479966193 0.08101403 0.873538315\nvn -0.762358844 0.369065911 0.531600893\nvn -0.486387759 0.842826605 0.230369896\nvn -0.547272325 0.824576497 -0.143411085\nvn -0.000015 0.776110709 -0.630596757\nvn 0.08059299 0.402720928 -0.9117679\nvn 0.39623794 0.30636397 -0.865526855\nvn 0.411754012 -0.66060102 -0.627745986\nvn 0.169003934 -0.979598641 -0.108738966\nvn -0.169031098 -0.793974459 0.583980381\nvn -0.411753207 -0.258253127 0.873936415\nvn -0.396221936 0.698095918 0.596380949\nvn 0.000009 0.965929627 -0.258804917\nvn 0.396239758 0.614266634 -0.682400584\nvn 0.41176194 -0.370082974 -0.83276087\nvn 0.169078007 -0.863399029 -0.475347012\nvn -0.169007063 -0.957026362 0.235663086\nvn -0.411737949 -0.573033929 0.708592951\nvn -0.396212101 0.41674009 0.818134189\nvn 0.000011 0.99144274 0.130541965\nvn 0.396190226 0.828665495 -0.39540723\nvn 0.411734074 -0.023224002 -0.91100812\nvn 0.169065014 -0.615790069 -0.769558132\nvn -0.168998018 -0.974354148 -0.148572013\nvn -0.411731094 -0.800585151 0.435363084\nvn -0.396225899 0.071922988 0.915331781\nvn -0.000019 0.866035163 0.499983132\nvn 0.396201998 0.916899025 -0.048168\nvn 0.411709011 0.327156991 -0.850566983\nvn 0.169014946 -0.27439791 -0.946646631\nvn -0.169088051 -0.843349159 -0.510070145\nvn -0.411743194 -0.90624541 0.095848046\nvn -0.39621678 -0.283847868 0.873179555\nvn -0.000013 0.608772099 0.793345153\nvn 0.396236807 0.86552459 0.306371838\nvn 0.411757916 0.627727807 -0.660615802\nvn 0.169014961 0.108729981 -0.979597747\nvn -0.169030935 -0.583986819 -0.793969691\nvn -0.411751151 -0.873942316 -0.25823608\nvn -0.396223098 -0.596381128 0.698095202\nvn 0.000009 0.258804917 0.965929627\nvn 0.396242946 0.682385921 0.614280939\nvn 0.411766082 0.832748175 -0.370107085\nvn 0.169069946 0.475317836 -0.863416731\nvn -0.169014946 -0.235672906 -0.957022667\nvn -0.411743194 -0.708599329 -0.573022306\nvn -0.396212995 -0.81813401 0.41674\nvn 0.000011 -0.130542949 0.991442621\nvn 0.396194994 0.395397007 0.828667998\nvn 0.411755204 0.910998404 -0.023228012\nvn 0.169064105 0.769544482 -0.615807354\nvn -0.168973088 0.148585081 -0.974356472\nvn -0.411731988 -0.435369998 -0.800580978\nvn -0.396225899 -0.915331841 0.071922988\nvn -0.000019 -0.499983132 0.866035163\nvn 0.396201998 0.048168 0.916899025\nvn 0.411709011 0.850565016 0.327161998\nvn 0.169020995 0.946641982 -0.274410009\nvn -0.169078007 0.510100007 -0.843333006\nvn -0.411720902 -0.095836975 -0.906256735\nvn -0.396211952 -0.873178899 -0.283856958\nvn -0.000013 -0.793345153 0.608772099\nvn 0.396236807 -0.306371838 0.86552459\nvn 0.411755234 0.660608411 0.627737343\nvn 0.169008926 0.979598522 0.108732946\nvn -0.169036984 0.79396987 -0.583984911\nvn -0.411748141 0.258241087 -0.873942316\nvn -0.396218747 -0.69808358 -0.596397638\nvn 0.000009 -0.965930104 0.25880304\nvn 0.396220058 -0.614280045 0.682400048\nvn 0.411748797 0.370093822 0.832762599\nvn 0.169072956 0.863402843 0.475341886\nvn -0.169003919 0.957025528 -0.235668883\nvn -0.411737859 0.573025763 -0.708599687\nvn -0.396214008 -0.416732997 -0.81813699\nvn 0.000011 -0.991443634 -0.13053596\nvn 0.396171182 -0.828678429 0.395399183\nvn 0.411727905 0.023230994 0.911010802\nvn 0.169069007 0.615804017 0.769545972\nvn -0.168968081 0.974358499 0.148578078\nvn -0.411726087 0.800587177 -0.435364097\nvn -0.396225899 -0.071922988 -0.915331781\nvn -0.000019 -0.866037011 -0.499980003\nvn 0.3961941 -0.916903257 0.048153013\nvn 0.411710143 -0.327152133 0.850568295\nvn 0.169019997 0.274421006 0.946639001\nvn -0.16908212 0.843329608 0.510104358\nvn -0.411734939 0.906250894 -0.095831983\nvn -0.396216005 0.283847988 -0.873179972\nvn -0.000013 -0.608773232 -0.793344319\nvn 0.396228909 -0.865522802 -0.306386948\nvn 0.411756784 -0.627729714 0.660614729\nvn 0.169008002 -0.108721003 0.979600012\nvn -0.169036046 0.583975136 0.793977201\nvn -0.411759079 0.87393415 0.258251071\nvn -0.396223098 0.596381128 -0.698095202\nvn 0.000009 -0.258807033 -0.965929091\nvn 0.459563881 -0.64038682 -0.615390837\nvn 0.450628012 -0.812435985 0.369976014\nvn 0.162014067 -0.483779252 0.860063434\nvn -0.135451004 0.268914998 0.953592002\nvn -0.318573087 0.753411174 0.575224102\nvn -0.350795031 0.859757125 -0.371161044\nvn 0.000012 0.153250068 -0.988187492\nvn 0.486625999 -0.322939008 -0.811730027\nvn 0.674525142 -0.735692143 -0.061425015\nvn 0.273838162 -0.718125403 0.639772356\nvn -0.017457001 0.058529999 0.998133004\nvn -0.20819205 0.502709091 0.839011192\nvn -0.286480933 0.954765737 0.079693981\nvn -0.07318902 0.585808158 -0.807138205\nvn 0.309988022 -0.405223072 0.860059142\nvn 0.36694023 -0.747057498 0.554310381\nvn 0.334551007 0.125011995 0.93404901\nvn 0.228435993 0.472553015 0.851181984\nvn 0.145673066 0.689304292 0.709675312\nvn 0.020013001 0.835056007 0.549800992\nvn -0.319190174 0.903317511 -0.286592185\nvn -0.169083953 0.985396743 0.020099994\nvn -0.479997009 0.715983987 -0.506922007\nvn -0.762413979 0.275813013 -0.585364997\nvn -0.486396879 -0.221956939 -0.845075846\nvn -0.547191143 -0.536538124 -0.642424166\nvn -0.000005 -0.934159875 -0.356854975\nvn 0.080673993 -0.990972877 0.107072987\nvn 0.396214068 -0.902762115 0.167437017\nvn 0.411755085 -0.21333304 0.885972261\nvn 0.169019967 0.39564696 0.902715862\nvn -0.169015959 0.902718842 0.395641923\nvn -0.411749154 0.885974288 -0.21333608\nvn -0.396221012 0.167441994 -0.902758002\nvn 0 -0.707109809 -0.707103848\nvn 0.396188974 -0.898124874 -0.19080399\nvn 0.411730975 -0.536128938 0.736914873\nvn 0.16907908 0.02010601 0.985397458\nvn -0.168994009 0.682577074 0.711006045\nvn -0.411729008 0.900182009 0.141956002\nvn -0.396230191 0.500178218 -0.76995033\nvn 0.000005 -0.382703185 -0.923871398\nvn 0.396179765 -0.756747544 -0.519975722\nvn 0.411724955 -0.777313888 0.475673944\nvn 0.16903998 -0.358511984 0.918092906\nvn -0.169046044 0.358529091 0.918085217\nvn -0.411740988 0.777321994 0.475647002\nvn -0.396200955 0.756756902 -0.51994592\nvn 0 -0.000004 -1\nvn 0.396219164 -0.500145257 -0.769977331\nvn 0.411739916 -0.900173783 0.141976967\nvn 0.168988943 -0.682556748 0.711026788\nvn -0.169078946 -0.020094993 0.985397637\nvn -0.411748856 0.536127806 0.736905694\nvn -0.396212935 0.89811486 -0.190800965\nvn -0.000005 0.382696092 -0.923874259\nvn 0.396218002 -0.167417005 -0.902764022\nvn 0.411760062 -0.885973096 -0.213320032\nvn 0.169014946 -0.902713716 0.395653844\nvn -0.169015005 -0.395653009 0.902714014\nvn -0.411763936 0.213329971 0.885968864\nvn -0.396219045 0.902762115 0.167425022\nvn 0 0.707106829 -0.707106829\nvn 0.396206945 0.190808967 -0.898115873\nvn 0.411752939 -0.736903965 -0.536126912\nvn 0.16907908 -0.985397458 0.02010601\nvn -0.168988988 -0.71101892 0.682564914\nvn -0.411734998 -0.141976997 0.900175989\nvn -0.396226078 0.769971192 0.500149131\nvn 0.000005 0.923872769 -0.382699907\nvn 0.396200001 0.519954026 -0.756752014\nvn 0.411742151 -0.475655168 -0.777316272\nvn 0.169049963 -0.918086886 -0.358522952\nvn -0.169049039 -0.918091238 0.358512104\nvn -0.411743134 -0.475664169 0.777310312\nvn -0.396191865 0.519967794 0.756746709\nvn 0 1 0.000002\nvn 0.396234065 0.769960105 -0.500160038\nvn 0.411738962 -0.141966984 -0.900175869\nvn 0.16899398 -0.711013913 -0.682568967\nvn -0.16908294 -0.985396624 -0.020111993\nvn -0.411755145 -0.736909211 0.53611815\nvn -0.396205008 0.190816998 0.898114979\nvn -0.000005 0.923872232 0.382701099\nvn 0.396225154 0.9027583 -0.167431056\nvn 0.411763936 0.213329971 -0.885968864\nvn 0.169019967 -0.39564696 -0.902715862\nvn -0.169019014 -0.902711093 -0.395658046\nvn -0.41176492 -0.885970771 0.213319957\nvn -0.396217197 -0.167417079 0.90276444\nvn 0 0.707105279 0.707108319\nvn 0.396212846 0.898114681 0.190801919\nvn 0.411748856 0.536127806 -0.736905694\nvn 0.169078946 -0.020094993 -0.985397637\nvn -0.168980017 -0.68256706 -0.711019039\nvn -0.411711007 -0.900188029 -0.141971007\nvn -0.396210134 -0.500163198 0.769970238\nvn 0.000005 0.382696092 0.923874259\nvn 0.396188945 0.756763875 0.519944966\nvn 0.411730915 0.777326822 -0.475647867\nvn 0.169046044 0.358529091 -0.918085217\nvn -0.16904594 -0.358527869 -0.918085635\nvn -0.411718935 -0.777326882 -0.47565794\nvn -0.396176696 -0.756766438 0.519950628\nvn 0 -0.000004 1\nvn 0.396228999 0.500168979 0.769957006\nvn 0.411724865 0.900182724 -0.141963959\nvn 0.168990001 0.682573974 -0.711009979\nvn -0.169083953 0.020099994 -0.985396743\nvn -0.411752939 -0.536126912 -0.736903965\nvn -0.396212846 -0.898114681 0.190801919\nvn -0.000005 -0.382699907 0.923872769\nvn 0.396225035 0.167432025 0.902758121\nvn 0.411763936 0.885968864 0.213329971\nvn 0.169019967 0.902715862 -0.39564696\nvn -0.169019967 0.39564696 -0.902715862\nvn -0.411763936 -0.213329971 -0.885968864\nvn -0.396225065 -0.902758121 -0.16743201\nvn 0 -0.707106829 0.707106829\nvn 0.45952794 -0.212741971 0.862307906\nvn 0.450597048 0.726643085 0.518606067\nvn 0.162020981 0.986724854 -0.011107999\nvn -0.135441035 0.69140619 -0.709657192\nvn -0.31857419 0.121456072 -0.940084517\nvn -0.350814044 -0.751297116 -0.559001088\nvn 0.000005 -0.932407379 0.361409128\nvn 0.486516953 -0.541536927 0.685593963\nvn 0.674430132 0.314717054 0.667905092\nvn 0.273796052 0.913140237 0.302011073\nvn -0.017591011 0.835094452 -0.549825311\nvn -0.208204001 0.475270987 -0.854849994\nvn -0.286506057 -0.408359081 -0.866693199\nvn -0.073224045 -0.99190557 -0.10373906\nvn 0.309960932 0.947453737 -0.079092979\nvn 0.366920859 0.853575706 0.36983484\nvn 0.334550083 0.746406198 -0.57528609\nvn 0.22842297 0.500892937 -0.834822893\nvn 0.145683005 0.269984007 -0.951780021\nvn 0.019861002 0.058529008 -0.998088121\nvn -0.319225907 -0.699867845 -0.638967812\nvn -0.169076949 -0.475336879 -0.86340481\nvn -0.480015874 -0.796997845 -0.366577923\nvn -0.762454987 -0.644797027 0.053845\nvn -0.486429185 -0.620874226 0.614737213\nvn -0.547290802 -0.288071901 0.785803676\nvn -0.000013 0.158069015 0.987428129\nvn 0.080634966 0.588229775 0.804663718\nvn 0.396211058 0.596388042 0.698096037\nvn 0.411749005 0.873938978 -0.258251011\nvn 0.169036046 0.583975136 -0.793977201\nvn -0.169004932 -0.108738951 -0.979598522\nvn -0.411740988 -0.627744973 -0.66061002\nvn -0.396231949 -0.865529895 0.306362957\nvn -0.000009 -0.258800924 0.965930641\nvn 0.396192104 0.283850074 0.873190165\nvn 0.411713034 0.906261146 0.095828004\nvn 0.169078007 0.843326986 -0.510110021\nvn -0.169022039 0.274398059 -0.94664526\nvn -0.411698937 -0.327174962 -0.850564897\nvn -0.396197915 -0.916899741 -0.048188988\nvn 0.000013 -0.608768761 0.793347716\nvn 0.396205008 -0.071944997 0.915338993\nvn 0.411714137 0.800600231 0.435351163\nvn 0.168962941 0.974356651 -0.148595944\nvn -0.169078991 0.615793943 -0.769551873\nvn -0.411754102 0.023218006 -0.910999238\nvn -0.396195948 -0.828663886 -0.395404935\nvn 0.000019 -0.866033435 0.499986231\nvn 0.396198153 -0.416763157 0.818129301\nvn 0.411740065 0.573041081 0.708586037\nvn 0.169002071 0.957031488 0.235646114\nvn -0.169072956 0.863402843 -0.475341886\nvn -0.411767006 0.370092988 -0.832754016\nvn -0.396244049 -0.614280045 -0.682386041\nvn -0.000011 -0.991442144 0.130547017\nvn 0.396214902 -0.698107839 0.59637183\nvn 0.411754936 0.258261979 0.873932898\nvn 0.169031054 0.793981314 0.583971202\nvn -0.169003978 0.979599893 -0.108727984\nvn -0.411754996 0.660607994 -0.627737999\nvn -0.396230847 -0.306378901 -0.865524709\nvn -0.000009 -0.965929627 -0.258804917\nvn 0.396209866 -0.873184681 0.283841908\nvn 0.411734939 -0.095831983 0.906250894\nvn 0.169078007 0.510110021 0.843326986\nvn -0.169016019 0.946641147 0.274416029\nvn -0.411705941 0.850569904 -0.327152967\nvn -0.3961941 0.048153013 -0.916903257\nvn 0.000013 -0.793345153 -0.608772099\nvn 0.396225899 -0.915331841 -0.071922988\nvn 0.411731988 -0.435369998 0.800580978\nvn 0.168973088 0.148585081 0.974356472\nvn -0.169063985 0.769536853 0.615816951\nvn -0.411755949 0.910997868 0.023238998\nvn -0.396187186 0.395385176 -0.828677416\nvn 0.000019 -0.499981165 -0.866036296\nvn 0.396211952 -0.818133891 -0.416740954\nvn 0.411743194 -0.708599329 0.573022306\nvn 0.169014946 -0.235672906 0.957022667\nvn -0.169068992 0.475306928 0.863422871\nvn -0.411767095 0.832743168 0.370117098\nvn -0.396236062 0.682378054 -0.614294052\nvn -0.000011 -0.130540997 -0.991442978\nvn 0.39622283 -0.596380711 -0.69809562\nvn 0.411750168 -0.873942435 0.258237123\nvn 0.169030935 -0.583986819 0.793969691\nvn -0.16901502 0.108718015 0.979599118\nvn -0.411759138 0.627720237 0.660622239\nvn -0.396228909 0.865522802 -0.306386948\nvn -0.000009 0.258807033 -0.965929091\nvn 0.396216005 -0.283847988 -0.873179972\nvn 0.411739081 -0.906247258 -0.095848024\nvn 0.169083938 -0.843352675 0.510065794\nvn -0.169001922 -0.274402887 0.946647525\nvn -0.411680907 0.327158898 0.850579798\nvn -0.396178186 0.916909397 0.048166022\nvn 0.000013 0.60877502 -0.793343008\nvn 0.396215171 0.071910039 -0.915337443\nvn 0.411720097 -0.800584197 -0.435375094\nvn 0.168993965 -0.974355876 0.148565978\nvn -0.169065014 -0.615790069 0.769558132\nvn -0.411725074 -0.023225002 0.911012113\nvn -0.396172136 0.82867229 0.395411164\nvn 0.000019 0.866037011 -0.499980003\nvn 0.396207988 0.416732997 -0.81813997\nvn 0.411725163 -0.573034167 -0.708600223\nvn 0.169002995 -0.957026005 -0.235668004\nvn -0.169076949 -0.86340481 0.475336879\nvn -0.411772013 -0.370092005 0.832751989\nvn -0.39621675 0.614292622 0.682390571\nvn 0.000008 0.99144733 -0.13050805\nvn 0.396220863 0.69811976 -0.596353769\nvn 0.411758989 -0.258251995 -0.873933971\nvn 0.169036061 -0.79397732 -0.583975196\nvn -0.169009075 -0.979598463 0.108733051\nvn -0.411754996 -0.660607994 0.627737999\nvn -0.396238714 0.306386799 0.865518391\nvn -0.000009 0.965929627 0.258804917\nvn 0.459497929 0.853159904 -0.24694097\nvn 0.450579107 0.085786022 -0.888605237\nvn 0.162020087 -0.502981305 -0.84897548\nvn -0.135462031 -0.96029824 -0.243880063\nvn -0.318548888 -0.874865711 0.364878893\nvn -0.350787103 -0.108450025 0.930154264\nvn -0.000005 0.779195309 0.626781225\nvn 0.486609131 0.864459157 0.126182035\nvn 0.674427927 0.421059936 -0.606510937\nvn 0.273743987 -0.195060998 -0.941815019\nvn -0.017611999 -0.893737853 -0.448243946\nvn -0.208174929 -0.977962613 0.015883995\nvn -0.286433011 -0.546414018 0.787011981\nvn -0.07315103 0.40607515 0.910907269\nvn 0.30990997 -0.542238951 -0.780981898\nvn 0.366912127 -0.106507041 -0.924138367\nvn 0.334524989 -0.871417999 -0.35878101\nvn 0.228403106 -0.973428488 -0.016404007\nvn 0.145694077 -0.95926249 0.242051125\nvn 0.020036994 -0.893697739 0.448221892\nvn -0.319131076 -0.203500047 0.925604224\nvn -0.169082046 -0.510105133 0.843329191\nvn -0.47997883 0.080998972 0.873532712\nvn -0.762411892 0.369030982 0.531548917\nvn -0.486401826 0.842823684 0.230350912\nvn -0.547286928 0.824561894 -0.14343898\nvn -0.000015 0.776108027 -0.630599976\nvn 0.08059299 0.402720928 -0.9117679\nvn 0.396225095 0.306368053 -0.865531206\nvn 0.411745936 -0.660609961 -0.627741933\nvn 0.169009075 -0.979598463 -0.108733051\nvn -0.169031978 -0.793973863 0.583980918\nvn -0.411743939 -0.258248985 0.873941898\nvn -0.396217853 0.698090732 0.596389771\nvn 0.000009 0.965928853 -0.258807957\nvn 0.396219134 0.614288211 -0.682393253\nvn 0.411749929 -0.370100975 -0.832758904\nvn 0.169073045 -0.863408208 -0.475332111\nvn -0.169007942 -0.957023621 0.235673904\nvn -0.411728889 -0.573026896 0.708603859\nvn -0.396208853 0.416722864 0.818144679\nvn 0.000011 0.991443098 0.130540013\nvn 0.396174818 0.828684628 -0.395382822\nvn 0.41173178 -0.023244988 -0.911008596\nvn 0.169059902 -0.615804613 -0.769547522\nvn -0.168993965 -0.974355876 -0.148565978\nvn -0.411729932 -0.800580859 0.435371935\nvn -0.396226943 0.071914993 0.9153319\nvn -0.000019 0.866037011 0.499980003\nvn 0.396188021 0.916906118 -0.048147004\nvn 0.411710083 0.327147096 -0.850570202\nvn 0.169009984 -0.274413973 -0.946642876\nvn -0.169083938 -0.843352675 -0.510065794\nvn -0.411739081 -0.906247258 0.095848024\nvn -0.39621678 -0.283847868 0.873179555\nvn -0.000013 0.60877502 0.793343008\nvn 0.396228909 0.865522802 0.306386948\nvn 0.411753982 0.627721906 -0.660623908\nvn 0.169010043 0.10872402 -0.979599237\nvn -0.169027045 -0.583983183 -0.793973207\nvn -0.411750168 -0.873942435 -0.258237123\nvn -0.396215945 -0.596377969 0.698101938\nvn 0.000009 0.258804917 0.965929627\nvn 0.396236688 0.682383537 0.614287555\nvn 0.411766082 0.832748175 -0.370107085\nvn 0.169066012 0.475313067 -0.863420129\nvn -0.169009998 -0.235667005 -0.957024992\nvn -0.411740065 -0.708594084 -0.573031068\nvn -0.396205008 -0.818130016 0.416754991\nvn 0.000011 -0.130542949 0.991442621\nvn 0.396194994 0.395397007 0.828667998\nvn 0.411755204 0.910998404 -0.023228012\nvn 0.169064105 0.769544482 -0.615807354\nvn -0.168972954 0.148596972 -0.974354744\nvn -0.411732942 -0.435359955 -0.800585866\nvn -0.396217942 -0.915333867 0.071938992\nvn -0.000019 -0.499985069 0.866034091\nvn 0.396201998 0.048168 0.916899025\nvn 0.411709011 0.850565016 0.327161998\nvn 0.169020995 0.946641982 -0.274410009\nvn -0.169082016 0.510115087 -0.843323112\nvn -0.411736995 -0.095821999 -0.906251013\nvn -0.396208853 -0.873187721 -0.283833921\nvn -0.000013 -0.793346584 0.60877043\nvn 0.396237135 -0.306372106 0.865524292\nvn 0.411754996 0.660607994 0.627737999\nvn 0.169009075 0.979598463 0.108733051\nvn -0.169036001 0.793983996 -0.583966017\nvn -0.411759794 0.258261889 -0.873930573\nvn -0.396214902 -0.698107839 -0.59637183\nvn 0.000009 -0.965930104 0.25880304\nvn 0.396243244 -0.614280343 0.682386339\nvn 0.411767006 0.370092988 0.832754016\nvn 0.169072956 0.863402843 0.475341886\nvn -0.168993995 0.957029998 -0.235658005\nvn -0.411711097 0.573043108 -0.708601177\nvn -0.396188885 -0.416747838 -0.818141699\nvn 0.000011 -0.991442144 -0.130547017\nvn 0.396184921 -0.828665793 0.395411909\nvn 0.411745161 0.023216007 0.911003292\nvn 0.169078991 0.615793943 0.769551873\nvn -0.168968081 0.974358499 0.148578078\nvn -0.411708057 0.800593138 -0.435370058\nvn -0.396201968 -0.071913995 -0.915342867\nvn -0.000019 -0.866033435 -0.499986231\nvn 0.396196902 -0.916900754 0.048177987\nvn 0.411695153 -0.327168107 0.850569308\nvn 0.169017062 0.274404079 0.946644366\nvn -0.16908212 0.843329608 0.510104358\nvn -0.411734939 0.906250894 -0.095831983\nvn -0.396216005 0.283847988 -0.873179972\nvn -0.000013 -0.608772099 -0.793345153\nvn 0.396236807 -0.86552459 -0.306371838\nvn 0.411754996 -0.627737999 0.660607994\nvn 0.169009075 -0.108733051 0.979598463\nvn -0.169036046 0.583975136 0.793977201\nvn -0.411759079 0.87393415 0.258251071\nvn -0.396223098 0.596381128 -0.698095202\nvn 0.000009 -0.258804917 -0.965929627\nvn 0.459559947 -0.64040494 -0.615374923\nvn 0.450616062 -0.812447131 0.36996603\nvn 0.162014961 -0.483788878 0.860057831\nvn -0.135451004 0.268914998 0.953592002\nvn -0.318573087 0.753411174 0.575224102\nvn -0.350795031 0.859757125 -0.371161044\nvn 0.000012 0.153247967 -0.98818779\nvn 0.486613184 -0.322965115 -0.811727285\nvn 0.674476981 -0.735736012 -0.061427999\nvn 0.27382794 -0.718135893 0.639764905\nvn -0.017457001 0.058529999 0.998133004\nvn -0.20819205 0.502709091 0.839011192\nvn -0.286480933 0.954765737 0.079693981\nvn -0.07318902 0.585808158 -0.807138205\nvn 0.309974074 -0.405225098 0.860063195\nvn 0.366931021 -0.747060061 0.554313064\nvn 0.334540993 0.125009999 0.934053004\nvn 0.228423059 0.472555131 0.851184189\nvn 0.145666003 0.689306021 0.709675014\nvn 0.020011 0.835056007 0.549800992\nvn -0.319174886 0.903324723 -0.286586881\nvn -0.16907908 0.985397458 0.020107009\nvn -0.479992986 0.715992987 -0.506913006\nvn -0.762414336 0.275813162 -0.585364282\nvn -0.48638618 -0.221975073 -0.845077276\nvn -0.547167778 -0.536558747 -0.642426729\nvn -0.000005 -0.934159398 -0.356856167\nvn 0.080669038 -0.990973473 0.10707105\nvn 0.396225065 -0.902758121 0.16743201\nvn 0.411763936 -0.213329971 0.885968864\nvn 0.169019967 0.39564696 0.902715862\nvn -0.169019014 0.902711093 0.395658046\nvn -0.41176492 0.885970771 -0.213319957\nvn -0.396218002 0.167417005 -0.902764022\nvn 0 -0.707105279 -0.707108319\nvn 0.396212846 -0.898114681 -0.190801919\nvn 0.411748856 -0.536127806 0.736905694\nvn 0.169078946 0.020094993 0.985397637\nvn -0.168980017 0.68256706 0.711019039\nvn -0.411711007 0.900188029 0.141971007\nvn -0.396210134 0.500163198 -0.769970238\nvn 0.000005 -0.382696092 -0.923874259\nvn 0.396200955 -0.756756902 -0.51994592\nvn 0.411740988 -0.777321994 0.475647002\nvn 0.169046044 -0.358529091 0.918085217\nvn -0.16904594 0.358527869 0.918085635\nvn -0.411718935 0.777326882 0.47565794\nvn -0.396176994 0.756766021 -0.519950986\nvn 0 0.000008 -1\nvn 0.396241099 -0.500171125 -0.769949198\nvn 0.411737949 -0.900177896 0.141956985\nvn 0.168994009 -0.682577074 0.711006045\nvn -0.169083953 -0.020099994 0.985396743\nvn -0.411752939 0.536126912 0.736903965\nvn -0.396212846 0.898114681 -0.190801919\nvn -0.000005 0.382701099 -0.923872232\nvn 0.396221936 -0.167451978 -0.902755857\nvn 0.411753774 -0.885970473 -0.21334286\nvn 0.169020012 -0.902720094 0.395637065\nvn -0.169019967 -0.39564696 0.902715862\nvn -0.411763936 0.213329971 0.885968864\nvn -0.396225065 0.902758121 0.16743201\nvn 0 0.707105279 -0.707108319\nvn 0.396207958 0.190792978 -0.898118854\nvn 0.411738902 -0.736906826 -0.536133885\nvn 0.16907993 -0.985397518 0.02009399\nvn -0.16899398 -0.711013913 0.682568967\nvn -0.411738962 -0.141966984 0.900175869\nvn -0.396234065 0.769960105 0.500160038\nvn 0.000005 0.923872769 -0.382699907\nvn 0.39620018 0.519953251 -0.756752372\nvn 0.411742151 -0.475655168 -0.777316272\nvn 0.169049963 -0.918086886 -0.358522952\nvn -0.169049963 -0.918086886 0.358522952\nvn -0.411742151 -0.475655168 0.777316272\nvn -0.396200001 0.519954026 0.756752014\nvn 0 1 0\nvn 0.396234065 0.769960105 -0.500160038\nvn 0.411738962 -0.141966984 -0.900175869\nvn 0.16899398 -0.711013913 -0.682568967\nvn -0.169083953 -0.985396743 -0.020099994\nvn -0.411753803 -0.736903667 0.536126733\nvn -0.396212846 0.190801919 0.898114681\nvn -0.000005 0.923872769 0.382699907\nvn 0.396225065 0.902758121 -0.16743201\nvn 0.411763936 0.213329971 -0.885968864\nvn 0.169019967 -0.39564696 -0.902715862\nvn -0.169019967 -0.902715862 -0.39564696\nvn -0.411763936 -0.885968864 0.213329971\nvn -0.396225154 -0.167431056 0.9027583\nvn 0 0.707106829 0.707106829\nvn 0.396212846 0.898114681 0.190801919\nvn 0.411753803 0.536126733 -0.736903667\nvn 0.169083953 -0.020099994 -0.985396743\nvn -0.16899398 -0.682568967 -0.711013913\nvn -0.411738873 -0.90017575 -0.141966969\nvn -0.396234065 -0.500160038 0.769960105\nvn 0.000005 0.382699907 0.923872769\nvn 0.39620018 0.756752372 0.519953251\nvn 0.411742151 0.777316272 -0.475655168\nvn 0.169049978 0.358522981 -0.918086886\nvn -0.169046104 -0.358528197 -0.918085515\nvn -0.41172716 -0.777324319 -0.475655168\nvn -0.396195084 -0.756759167 0.519947112\nvn 0 0 1\nvn 0.396234065 0.500160038 0.769960105\nvn 0.411738873 0.90017575 -0.141966969\nvn 0.16899398 0.682568967 -0.711013913\nvn -0.169083998 0.020089 -0.985396981\nvn -0.411743224 -0.536139309 -0.736900389\nvn -0.39620924 -0.898120522 0.190782115\nvn -0.000005 -0.382701933 0.923871875\nvn 0.396225035 0.167432025 0.902758121\nvn 0.411758989 0.88597101 0.213330999\nvn 0.169014916 0.902718484 -0.395642757\nvn -0.169015944 0.395641863 -0.902718723\nvn -0.411762953 -0.21333997 -0.885966897\nvn -0.396226078 -0.902756214 -0.167440042\nvn 0 -0.707106829 0.707106829\nvn 0.459513932 -0.212727964 0.862318873\nvn 0.450584859 0.726640761 0.518619835\nvn 0.162018076 0.98672545 -0.011102005\nvn -0.135440946 0.691406667 -0.709656656\nvn -0.318580061 0.121459015 -0.940082133\nvn -0.350817919 -0.751300812 -0.558993876\nvn 0.000005 -0.932405889 0.361412972\nvn 0.486503124 -0.541521132 0.685616195\nvn 0.674380958 0.314735979 0.667945921\nvn 0.273785055 0.913139224 0.302024066\nvn -0.017591003 0.835095167 -0.549824119\nvn -0.208211005 0.475279003 -0.854843974\nvn -0.286517084 -0.408366144 -0.866686285\nvn -0.073225006 -0.991906106 -0.103732005\nvn 0.309947073 0.947458267 -0.079093024\nvn 0.366910964 0.853579879 0.36983496\nvn 0.33453995 0.746410906 -0.575285912\nvn 0.228409946 0.500893891 -0.834825814\nvn 0.14567703 0.269983053 -0.951781213\nvn 0.019860003 0.058529008 -0.998088121\nvn -0.319209933 -0.699866891 -0.638976872\nvn -0.169071943 -0.475331813 -0.863408685\nvn -0.480010867 -0.796994805 -0.366590917\nvn -0.762454987 -0.644797027 0.053845\nvn -0.48641783 -0.620866776 0.614753783\nvn -0.547267079 -0.288064033 0.785823107\nvn -0.000013 0.158068046 0.987428248\nvn 0.08062999 0.588228941 0.80466491\nvn 0.396223098 0.596381128 0.698095202\nvn 0.411758989 0.873933971 -0.258251995\nvn 0.169036046 0.583975136 -0.793977201\nvn -0.169008002 -0.108721003 -0.979600012\nvn -0.411756784 -0.627729714 -0.660614729\nvn -0.396228909 -0.865522802 0.306386948\nvn -0.000009 -0.258807033 0.965929091\nvn 0.396216005 0.283847988 0.873179972\nvn 0.411730856 0.906252682 0.09583196\nvn 0.169078007 0.843333006 -0.510100007\nvn -0.169007987 0.274414957 -0.946642876\nvn -0.41168201 -0.327165008 -0.850576997\nvn -0.396178186 -0.916909397 -0.048166022\nvn 0.000013 -0.60877502 0.793343008\nvn 0.396226943 -0.071914993 0.9153319\nvn 0.411729932 0.800580859 0.435371935\nvn 0.168969065 0.97435838 -0.148577064\nvn -0.169078052 0.615795135 -0.769551158\nvn -0.411731988 0.023226 -0.911009014\nvn -0.396172136 -0.82867229 -0.395411164\nvn 0.000019 -0.866039157 0.499976128\nvn 0.396220058 -0.416725069 0.818138123\nvn 0.411737859 0.573025763 0.708599687\nvn 0.169007942 0.957023621 0.235673904\nvn -0.169076949 0.86340481 -0.475336879\nvn -0.411772013 0.370092005 -0.832751989\nvn -0.396243244 -0.614280343 -0.682386339\nvn -0.000011 -0.991442978 0.130540997\nvn 0.396218747 -0.69808358 0.596397638\nvn 0.411748141 0.258241087 0.873942316\nvn 0.169036984 0.79396987 0.583984911\nvn -0.169009075 0.979598463 -0.108733051\nvn -0.411754996 0.660607994 -0.627737999\nvn -0.396236807 -0.306371838 -0.86552459\nvn -0.000009 -0.965930104 -0.25880304\nvn 0.396211952 -0.873178899 0.283856958\nvn 0.411720902 -0.095836975 0.906256735\nvn 0.169078007 0.510100007 0.843333006\nvn -0.169020995 0.946641982 0.274410009\nvn -0.411709011 0.850565016 -0.327161998\nvn -0.396201998 0.048168 -0.916899025\nvn 0.000013 -0.793345153 -0.608772099\nvn 0.396225899 -0.915331841 -0.071922988\nvn 0.411731988 -0.435369998 0.800580978\nvn 0.168973088 0.148585081 0.974356472\nvn -0.169063956 0.76954484 0.615806878\nvn -0.411755204 0.910998404 0.023228012\nvn -0.396194905 0.395397902 -0.828667819\nvn 0.000019 -0.499983132 -0.866035163\nvn 0.396212101 -0.818134189 -0.41674009\nvn 0.411743194 -0.708599329 0.573022306\nvn 0.169014946 -0.235672906 0.957022667\nvn -0.169069946 0.475317836 0.863416731\nvn -0.411766082 0.832748175 0.370107085\nvn -0.396243244 0.682386339 -0.614280343\nvn -0.000011 -0.130542949 -0.991442621\nvn 0.396223098 -0.596381128 -0.698095202\nvn 0.411750168 -0.873942435 0.258237123\nvn 0.169030935 -0.583986819 0.793969691\nvn -0.169014961 0.108729981 0.979597747\nvn -0.411757916 0.627727807 0.660615802\nvn -0.396236807 0.86552459 -0.306371838\nvn -0.000009 0.258804917 -0.965929627\nvn 0.396216005 -0.283847988 -0.873179972\nvn 0.411743999 -0.906244993 -0.095848002\nvn 0.169088051 -0.843349159 0.510070145\nvn -0.169014946 -0.27439791 0.946646631\nvn -0.411709011 0.327156991 0.850566983\nvn -0.396201998 0.916899025 0.048168\nvn 0.000013 0.608772099 -0.793345153\nvn 0.396225899 0.071922988 -0.915331781\nvn 0.411731094 -0.800585151 -0.435363084\nvn 0.168998018 -0.974354148 0.148572013\nvn -0.169065014 -0.615790069 0.769558132\nvn -0.411734074 -0.023224002 0.91100812\nvn -0.396190226 0.828665495 0.39540723\nvn 0.000019 0.866035163 -0.499983132\nvn 0.396212101 0.41674009 -0.818134189\nvn 0.411738783 -0.57303369 -0.708592653\nvn 0.169006959 -0.95702678 -0.235661939\nvn -0.169078007 -0.863399029 0.475347012\nvn -0.41176194 -0.370082974 0.83276087\nvn -0.396212995 0.614278972 0.682404995\nvn 0.000008 0.991447628 -0.130505949\nvn 0.396220863 0.69811976 -0.596353769\nvn 0.411754102 -0.258252054 -0.873936176\nvn 0.169032067 -0.79397434 -0.583980322\nvn -0.169004932 -0.979598522 0.108738951\nvn -0.411754012 -0.66060102 0.627745986\nvn -0.396239847 0.306378871 0.865520716\nvn -0.000009 0.965929627 0.258804917\nvn 0.45948413 0.853162169 -0.24695906\nvn 0.450567007 0.0858 -0.888610005\nvn 0.16201596 -0.502976894 -0.848978817\nvn -0.135461047 -0.960298359 -0.243880093\nvn -0.318555027 -0.874865115 0.364875019\nvn -0.350790918 -0.108441979 0.930153787\nvn -0.000005 0.779197991 0.626778007\nvn 0.486596048 0.864470124 0.126158014\nvn 0.674378693 0.421085805 -0.606547713\nvn 0.27373293 -0.195048958 -0.941820741\nvn -0.017612005 -0.893737257 -0.448245108\nvn -0.208182052 -0.977961242 0.015875004\nvn -0.286443144 -0.546405256 0.787014365\nvn -0.073151007 0.406082064 0.910904109\nvn 0.309895843 -0.542241752 -0.780985653\nvn 0.366902947 -0.10650897 -0.924141765\nvn 0.334515035 -0.871420145 -0.358785033\nvn 0.228391081 -0.973431349 -0.016404005\nvn 0.145688027 -0.959263265 0.242052063\nvn 0.020034997 -0.893697858 0.448221952\nvn -0.319115013 -0.203508005 0.925607979\nvn -0.169078007 -0.510110021 0.843326986\nvn -0.47997424 0.080987036 0.873536408\nvn -0.76241219 0.369030088 0.531549096\nvn -0.486391127 0.842834175 0.230335057\nvn -0.547262967 0.824574888 -0.143455982\nvn -0.000015 0.776108861 -0.630598962\nvn 0.080588028 0.402723163 -0.911767304\nvn 0.396237135 0.306372106 -0.865524292\nvn 0.411754996 -0.660607994 -0.627737999\nvn 0.169009075 -0.979598463 -0.108733051\nvn -0.169036001 -0.793983996 0.583966017\nvn -0.411759913 -0.258260936 0.873930812\nvn -0.396214902 0.698107839 0.59637183\nvn 0.000009 0.965930104 -0.25880304\nvn 0.396243244 0.614280343 -0.682386339\nvn 0.411767006 -0.370092988 -0.832754016\nvn 0.169072956 -0.863402843 -0.475341886\nvn -0.168993995 -0.957029998 0.235658005\nvn -0.411711097 -0.573043108 0.708601177\nvn -0.396188885 0.416747838 0.818141699\nvn 0.000011 0.991442144 0.130547017\nvn 0.396195948 0.828663886 -0.395404935\nvn 0.411747217 -0.023217011 -0.911002398\nvn 0.169065997 -0.615790009 -0.769558012\nvn -0.168993935 -0.974355638 -0.148566946\nvn -0.411708057 -0.800593138 0.435370058\nvn -0.396201968 0.071913995 0.915342867\nvn -0.000019 0.866031408 0.499989629\nvn 0.396209955 0.916894853 -0.048182994\nvn 0.411707014 0.327167004 -0.850564003\nvn 0.169015989 -0.274385959 -0.946649909\nvn -0.169088051 -0.843349159 -0.510070145\nvn -0.411743194 -0.90624541 0.095848046\nvn -0.396216005 -0.283847988 0.873179972\nvn -0.000013 0.608769894 0.793346822\nvn 0.396232992 0.865532994 0.306353003\nvn 0.411747843 0.627739787 -0.660610735\nvn 0.169016048 0.108742021 -0.979596257\nvn -0.169030935 -0.583986819 -0.793969691\nvn -0.411750168 -0.873942435 -0.258237123\nvn -0.39622283 -0.596380711 0.69809562\nvn 0.000009 0.258807033 0.965929091\nvn 0.396238863 0.682393789 0.61427474\nvn 0.411751837 0.832755685 -0.370105892\nvn 0.169066086 0.47532323 -0.863414407\nvn -0.169014946 -0.235672906 -0.957022667\nvn -0.411743194 -0.708599329 -0.573022306\nvn -0.396211952 -0.818133891 0.416740954\nvn 0.000011 -0.130542949 0.991442621\nvn 0.396194905 0.395397902 0.828667819\nvn 0.411755204 0.910998404 -0.023228012\nvn 0.169063956 0.76954484 -0.615806878\nvn -0.168973088 0.148585081 -0.974356472\nvn -0.411731988 -0.435369998 -0.800580978\nvn -0.396225899 -0.915331841 0.071922988\nvn -0.000019 -0.499983132 0.866035163\nvn 0.396201998 0.048168 0.916899025\nvn 0.411709011 0.850565016 0.327161998\nvn 0.169020995 0.946641982 -0.274410009\nvn -0.169082046 0.510105133 -0.843329191\nvn -0.411734939 -0.095831983 -0.906250894\nvn -0.396216005 -0.873179972 -0.283847988\nvn -0.000013 -0.793345153 0.608772099\nvn 0.396237135 -0.306372106 0.865524292\nvn 0.411754996 0.660607994 0.627737999\nvn 0.169009075 0.979598463 0.108733051\nvn -0.169036061 0.79397732 -0.583975196\nvn -0.411758989 0.258251995 -0.873933971\nvn -0.396223098 -0.698095202 -0.596381128\nvn 0.000009 -0.965929627 0.258804917\nvn 0.396243244 -0.614280343 0.682386339\nvn 0.411772013 0.370092005 0.832751989\nvn 0.169076949 0.86340481 0.475336879\nvn -0.169006959 0.95702678 -0.235661939\nvn -0.411738783 0.57303369 -0.708592653\nvn -0.396211952 -0.416740954 -0.818133891\nvn 0.000011 -0.991442621 -0.130542949\nvn 0.396194845 -0.8286677 0.395397842\nvn 0.411755204 0.023228012 0.910998404\nvn 0.169082999 0.61579901 0.769546986\nvn -0.16896905 0.974358261 0.148578048\nvn -0.411717057 0.800589144 -0.435369074\nvn -0.396220893 -0.071913972 -0.915334702\nvn -0.000019 -0.866035163 -0.499983132\nvn 0.396201998 -0.916899025 0.048168998\nvn 0.411709011 -0.327161998 0.850565016\nvn 0.169020995 0.274410009 0.946641982\nvn -0.169083118 0.843335569 0.510094345\nvn -0.411725074 0.906254113 -0.095844015\nvn -0.396213055 0.283867031 -0.873175144\nvn -0.000013 -0.608769894 -0.793346822\nvn 0.396236897 -0.865524828 -0.306370944\nvn 0.411750853 -0.627738774 0.660609782\nvn 0.169003934 -0.108738966 0.979598641\nvn -0.169031978 0.583980918 0.793973863\nvn -0.411756933 0.873937905 0.258241981\nvn -0.396223903 0.596386909 -0.698089838\nvn 0.000009 -0.258804917 -0.965929627\nvn 0.459546119 -0.640422165 -0.615367174\nvn 0.450602859 -0.812458754 0.369956851\nvn 0.162011012 -0.483795047 0.860055149\nvn -0.135451004 0.268914998 0.953592002\nvn -0.318578988 0.753408015 0.575224996\nvn -0.350798845 0.859752595 -0.371167839\nvn 0.000012 0.153244063 -0.988188386\nvn 0.486599773 -0.322991848 -0.811724663\nvn 0.674427748 -0.735780776 -0.061431978\nvn 0.27381593 -0.718146801 0.639757812\nvn -0.017457003 0.058529008 0.998133123\nvn -0.208199039 0.502701104 0.839014173\nvn -0.286491156 0.954763472 0.079684034\nvn -0.073190041 0.585802317 -0.807142377\nvn 0.309988976 -0.405222952 0.860058904\nvn 0.366940916 -0.747056842 0.554310858\nvn 0.334551007 0.125011995 0.93404901\nvn 0.228435993 0.472553015 0.851181984\nvn 0.145673066 0.689304292 0.709675312\nvn 0.020013001 0.835056007 0.549800992\nvn -0.319159031 0.903332114 -0.286581039\nvn -0.169083953 0.985396743 0.020099994\nvn -0.479973108 0.715992153 -0.506933093\nvn -0.76231581 0.275884926 -0.585458875\nvn -0.48636499 -0.221946001 -0.845097005\nvn -0.547121048 -0.536557078 -0.642468035\nvn -0.000005 -0.934156358 -0.356864125\nvn 0.080671027 -0.990974367 0.107061036\nvn 0.396225065 -0.902758121 0.16743201\nvn 0.411763936 -0.213329971 0.885968864\nvn 0.169019967 0.39564696 0.902715862\nvn -0.169019967 0.902715862 0.39564696\nvn -0.411763936 0.885968864 -0.213329971\nvn -0.396225154 0.167431056 -0.9027583\nvn 0 -0.707106829 -0.707106829\nvn 0.396212846 -0.898114681 -0.190801919\nvn 0.411753803 -0.536126733 0.736903667\nvn 0.169083953 0.020099994 0.985396743\nvn -0.16899398 0.682568967 0.711013913\nvn -0.411738873 0.90017575 0.141966969\nvn -0.396234065 0.500160038 -0.769960105\nvn 0.000005 -0.382699907 -0.923872769\nvn 0.396200001 -0.756752014 -0.519954026\nvn 0.411742151 -0.777316272 0.475655168\nvn 0.169049978 -0.358522981 0.918086886\nvn -0.169050023 0.358522058 0.918087125\nvn -0.411742151 0.777316272 0.475655168\nvn -0.396200001 0.756752014 -0.519954026\nvn 0 0 -1\nvn 0.396234065 -0.500160038 -0.769960105\nvn 0.411738873 -0.90017575 0.141966969\nvn 0.16899398 -0.682568967 0.711013913\nvn -0.16907993 -0.02009399 0.985397518\nvn -0.411738843 0.536133826 0.736906767\nvn -0.396207869 0.898118734 -0.190792933\nvn -0.000005 0.382699907 -0.923872769\nvn 0.396225899 -0.167431951 -0.902757764\nvn 0.411759049 -0.885971129 -0.21333003\nvn 0.169014916 -0.902718484 0.395642757\nvn -0.169015944 -0.395641863 0.902718723\nvn -0.411754161 0.213343069 0.885970294\nvn -0.396214992 0.902760029 0.167446002\nvn 0 0.707109809 -0.707103848\nvn 0.396214068 0.190793023 -0.898116112\nvn 0.411751986 -0.736898005 -0.536135972\nvn 0.16907993 -0.985397518 0.02009399\nvn -0.168989018 -0.711011052 0.68257308\nvn -0.411734015 -0.141966999 0.900178015\nvn -0.396234065 0.769960105 0.500160038\nvn 0.000005 0.923872769 -0.382699907\nvn 0.396207988 0.519939005 -0.756757975\nvn 0.411740988 -0.475647002 -0.777321994\nvn 0.169050902 -0.918082476 -0.3585338\nvn -0.169049963 -0.918086886 0.358522952\nvn -0.411742002 -0.475656003 0.777315974\nvn -0.396200001 0.519954026 0.756752014\nvn 0 1 0.000002\nvn 0.396230191 0.76995033 -0.500178218\nvn 0.411729008 -0.141956002 -0.900182009\nvn 0.168994009 -0.711006045 -0.682577074\nvn -0.169083953 -0.985396743 -0.020099994\nvn -0.411753803 -0.736903667 0.536126733\nvn -0.396212846 0.190801919 0.898114681\nvn -0.000005 0.923873603 0.382697821\nvn 0.396221071 0.902758121 -0.167442009\nvn 0.411749154 0.21333608 -0.885974288\nvn 0.169015944 -0.395641863 -0.902718723\nvn -0.169019967 -0.902715862 -0.39564696\nvn -0.411763936 -0.885968864 0.213329971\nvn -0.396225154 -0.167431056 0.9027583\nvn 0 0.707106829 0.707106829\nvn 0.396212935 0.89811486 0.190800965\nvn 0.411752939 0.536126912 -0.736903965\nvn 0.169083953 -0.020099994 -0.985396743\nvn -0.16899398 -0.682568967 -0.711013913\nvn -0.411738873 -0.90017575 -0.141966969\nvn -0.396234065 -0.500160038 0.769960105\nvn 0.000005 0.382699907 0.923872769\nvn 0.396200001 0.756752014 0.519954026\nvn 0.411742151 0.777316272 -0.475655168\nvn 0.169050023 0.358522058 -0.918087125\nvn -0.169049978 -0.358522981 -0.918086886\nvn -0.411742002 -0.777315974 -0.475656003\nvn -0.396200001 -0.756752014 0.519954026\nvn 0 0 1\nvn 0.396221966 0.500166953 0.769961953\nvn 0.411730051 0.900180101 -0.141966015\nvn 0.16899398 0.682568967 -0.711013913\nvn -0.169083953 0.020099994 -0.985396743\nvn -0.411753803 -0.536126733 -0.736903667\nvn -0.396212846 -0.898114681 0.190801919\nvn -0.000005 -0.382696092 0.923874259\nvn 0.396211952 0.167426988 0.902764857\nvn 0.411750197 0.885976434 0.213325098\nvn 0.169015005 0.902714014 -0.395653009\nvn -0.16901499 0.395641953 -0.902718902\nvn -0.411749154 -0.21333608 -0.885974288\nvn -0.396220177 -0.90275842 -0.167442068\nvn 0 -0.707105279 0.707108319\nvn 0.459517121 -0.212760046 0.862309158\nvn 0.45059821 0.726649344 0.518596232\nvn 0.162020952 0.986724734 -0.011119997\nvn -0.135443971 0.691401839 -0.709660828\nvn -0.318575919 0.12144997 -0.940084755\nvn -0.350814104 -0.751291156 -0.559009135\nvn 0.000005 -0.932407379 0.361409128\nvn 0.486500949 -0.541558921 0.685587943\nvn 0.674435198 0.314725101 0.667896152\nvn 0.273794979 0.913146853 0.301991969\nvn -0.017591011 0.835094452 -0.549825311\nvn -0.208211079 0.475271165 -0.854848325\nvn -0.286518991 -0.408356994 -0.86668998\nvn -0.073226027 -0.991906345 -0.103730038\nvn 0.309962124 0.94745338 -0.079093032\nvn 0.366920978 0.853575885 0.369833976\nvn 0.334550083 0.746406198 -0.57528609\nvn 0.22842297 0.500892937 -0.834822893\nvn 0.145683005 0.269984007 -0.951780021\nvn 0.019861002 0.058529008 -0.998088121\nvn -0.319193959 -0.699865937 -0.638985932\nvn -0.169076949 -0.475336879 -0.86340481\nvn -0.479992062 -0.797011137 -0.366580039\nvn -0.762356162 -0.644915164 0.053830013\nvn -0.486396879 -0.620898902 0.614737868\nvn -0.547220111 -0.288101047 0.78584218\nvn -0.000013 0.15805994 0.987429619\nvn 0.080632024 0.588220119 0.804671168\nvn 0.396223098 0.596381128 0.698095202\nvn 0.411758155 0.873934269 -0.258252084\nvn 0.169036046 0.583975136 -0.793977201\nvn -0.169009075 -0.108733051 -0.979598463\nvn -0.411754996 -0.627737999 -0.660607994\nvn -0.396237135 -0.865524292 0.306372106\nvn -0.000009 -0.258804917 0.965929627\nvn 0.396216005 0.283847988 0.873179972\nvn 0.411735773 0.906250477 0.095831938\nvn 0.169082046 0.843329191 -0.510105133\nvn -0.169020995 0.274410009 -0.946641982\nvn -0.411709011 -0.327161998 -0.850565016\nvn -0.396201998 -0.916899025 -0.048168\nvn 0.000013 -0.608772099 0.793345153\nvn 0.396225899 -0.071922988 0.915331781\nvn 0.411731094 0.800585151 0.435363084\nvn 0.168972954 0.974356771 -0.148583949\nvn -0.169082046 0.615799129 -0.769547164\nvn -0.411755204 0.023228012 -0.910998404\nvn -0.396194994 -0.828667998 -0.395397007\nvn 0.000019 -0.866035163 0.499983132\nvn 0.396212101 -0.41674009 0.818134189\nvn 0.411739051 0.573033035 0.708593071\nvn 0.169008076 0.957026482 0.235662118\nvn -0.16907312 0.863402605 -0.475342333\nvn -0.411758095 0.370091081 -0.832759202\nvn -0.396238863 -0.61427474 -0.682393789\nvn -0.000011 -0.991442621 0.130542949\nvn 0.396223098 -0.698095202 0.596381128\nvn 0.411754102 0.258252054 0.873936176\nvn 0.169032067 0.79397434 0.583980322\nvn -0.169005081 0.979598463 -0.108739056\nvn -0.41174522 0.660603285 -0.627749324\nvn -0.396227092 -0.306360066 -0.865533173\nvn -0.000009 -0.965928853 -0.258807957\nvn 0.396217912 -0.873176813 0.283854932\nvn 0.411734074 -0.095843017 0.906250119\nvn 0.169079065 0.510099173 0.843333304\nvn -0.169017032 0.946644127 0.274405032\nvn -0.411704004 0.850566983 -0.327163011\nvn -0.396201998 0.048168 -0.916899025\nvn 0.000013 -0.793345153 -0.608772099\nvn 0.396232933 -0.915329874 -0.07190799\nvn 0.411730856 -0.43537885 0.800576687\nvn 0.168973997 0.148573995 0.974358022\nvn -0.169064105 0.769544482 0.615807354\nvn -0.411755204 0.910998404 0.023228012\nvn -0.396194994 0.395397007 -0.828667998\nvn 0.000019 -0.499981165 -0.866036296\nvn 0.396208853 -0.818144679 -0.416722864\nvn 0.41173315 -0.708610237 0.573016167\nvn 0.16901499 -0.235683978 0.957019866\nvn -0.169069946 0.475317836 0.863416731\nvn -0.411766082 0.832748175 0.370107085\nvn -0.396242946 0.682385921 -0.614280939\nvn -0.000011 -0.13054505 -0.991442382\nvn 0.396217853 -0.596389771 -0.698090732\nvn 0.411736012 -0.873950005 0.258233994\nvn 0.169027105 -0.583992362 0.793966472\nvn -0.169014961 0.108729981 0.979597747\nvn -0.411757916 0.627727807 0.660615802\nvn -0.396236807 0.86552459 -0.306371838\nvn -0.000009 0.258804917 -0.965929627\nvn 0.396216005 -0.283847988 -0.873179972\nvn 0.411743194 -0.90624541 -0.095848046\nvn 0.169088051 -0.843349159 0.510070145\nvn -0.169014946 -0.27439791 0.946646631\nvn -0.411709011 0.327156991 0.850566983\nvn -0.396201998 0.916899025 0.048168\nvn 0.000013 0.608772099 -0.793345153\nvn 0.396225899 0.071922988 -0.915331781\nvn 0.411731094 -0.800585151 -0.435363084\nvn 0.168998018 -0.974354148 0.148572013\nvn -0.169069007 -0.615794003 0.769554019\nvn -0.411747903 -0.023227995 0.911001742\nvn -0.396194994 0.828667998 0.395397007\nvn 0.000019 0.866035163 -0.499983132\nvn 0.396200925 0.416737914 -0.818140805\nvn 0.411729962 -0.573034942 -0.708596885\nvn 0.169007927 -0.957026541 -0.235661879\nvn -0.169076949 -0.86340481 0.475336879\nvn -0.411772013 -0.370092005 0.832751989\nvn -0.396217048 0.614293039 0.682390034\nvn 0.000008 0.991446733 -0.130511969\nvn 0.396207929 0.698127925 -0.596352935\nvn 0.411745161 -0.258259088 -0.873938322\nvn 0.169031054 -0.793981314 -0.583971202\nvn -0.169003934 -0.979598641 0.108738966\nvn -0.411740988 -0.66061002 0.627744973\nvn -0.396233052 0.306378037 0.865524113\nvn -0.000009 0.965930104 0.25880304\nvn 0.459487051 0.853170097 -0.246926025\nvn 0.450580806 0.08577396 -0.888605595\nvn 0.162018999 -0.502991021 -0.848969996\nvn -0.135465026 -0.960299253 -0.243874058\nvn -0.318550915 -0.87486285 0.3648839\nvn -0.350787103 -0.108459026 0.930153251\nvn -0.000005 0.779195309 0.626781225\nvn 0.486593008 0.864464998 0.126204997\nvn 0.674433231 0.421048135 -0.606513262\nvn 0.273743063 -0.195080042 -0.941811264\nvn -0.017611999 -0.893737853 -0.448243946\nvn -0.208182037 -0.977961123 0.015884003\nvn -0.286445946 -0.546411872 0.787008822\nvn -0.073153034 0.406083167 0.910903394\nvn 0.309910864 -0.542238772 -0.78098166\nvn 0.366912991 -0.106507003 -0.92413801\nvn 0.334524989 -0.871417999 -0.35878101\nvn 0.22840406 -0.973428249 -0.016404003\nvn 0.145694911 -0.959262431 0.242050856\nvn 0.020036994 -0.893697739 0.448221892\nvn -0.319099158 -0.203517109 0.925611436\nvn -0.169082046 -0.510105133 0.843329191\nvn -0.479955167 0.081004031 0.873545289\nvn -0.762314022 0.369076014 0.531657994\nvn -0.486369073 0.842837095 0.230371028\nvn -0.547215998 0.824609995 -0.143433005\nvn -0.000015 0.776114345 -0.630592287\nvn 0.080590025 0.402732104 -0.911763251\nvn 0.396236807 0.306371838 -0.86552459\nvn 0.411754996 -0.660607994 -0.627737999\nvn 0.169009075 -0.979598463 -0.108733051\nvn -0.169036061 -0.79397732 0.583975196\nvn -0.411758989 -0.258251995 0.873933971\nvn -0.39622283 0.69809562 0.596380711\nvn 0.000009 0.965929627 -0.258804917\nvn 0.396242946 0.614280939 -0.682385921\nvn 0.411772013 -0.370092005 -0.832751989\nvn 0.169076949 -0.86340481 -0.475336879\nvn -0.169006959 -0.95702678 0.235661939\nvn -0.411738783 -0.57303369 0.708592653\nvn -0.396211952 0.416740954 0.818133891\nvn 0.000011 0.991442621 0.130542949\nvn 0.396194994 0.828667998 -0.395397007\nvn 0.41174823 -0.023228014 -0.911001563\nvn 0.169069007 -0.615794003 -0.769554019\nvn -0.168998018 -0.974354148 -0.148572013\nvn -0.411730766 -0.800585508 0.435362726\nvn -0.396225065 0.07192301 0.915332139\nvn -0.000019 0.866035163 0.499983132\nvn 0.396201998 0.916899025 -0.048168998\nvn 0.411709011 0.327156991 -0.850566983\nvn 0.16901499 -0.274396956 -0.946646869\nvn -0.169083998 -0.843352973 -0.510065019\nvn -0.411729097 -0.906251252 0.095853023\nvn -0.396211952 -0.283856958 0.873178899\nvn -0.000013 0.608772099 0.793345153\nvn 0.396237284 0.86552459 0.306371212\nvn 0.411752939 0.627729952 -0.660616934\nvn 0.169010952 0.108735979 -0.979597747\nvn -0.169028074 -0.583992302 -0.793966353\nvn -0.411740214 -0.873950422 -0.258226126\nvn -0.396212161 -0.596394241 0.698090255\nvn 0.000009 0.258800924 0.965930641\nvn 0.396245003 0.682390988 0.614274025\nvn 0.41176492 0.832752824 -0.370097905\nvn 0.169065997 0.475324005 -0.86341399\nvn -0.169010043 -0.235678062 -0.95702225\nvn -0.411738843 -0.70860076 -0.573023796\nvn -0.396211952 -0.818133891 0.416740954\nvn 0.000011 -0.130542949 0.991442621\nvn 0.396203011 0.395410001 0.828657985\nvn 0.411754102 0.910999238 -0.023217006\nvn 0.169064969 0.769551933 -0.615797937\nvn -0.168973088 0.148585081 -0.974356472\nvn -0.411731988 -0.435369998 -0.800580978\nvn -0.396225899 -0.915331841 0.071922988\nvn -0.000019 -0.499985069 0.866034091\nvn 0.396199077 0.04818901 0.916899264\nvn 0.411698937 0.850564897 0.327174962\nvn 0.169022039 0.94664526 -0.274398059\nvn -0.169082046 0.510105133 -0.843329191\nvn -0.411735773 -0.095831938 -0.906250477\nvn -0.396216154 -0.87318027 -0.283847094\nvn -0.000013 -0.793344319 0.608773232\nvn 0.396231949 -0.306362957 0.865529895\nvn 0.411740988 0.66061002 0.627744973\nvn 0.169004932 0.979598522 0.108738951\nvn -0.169036061 0.79397732 -0.583975196\nvn -0.411758989 0.258251995 -0.873933971\nvn -0.39622283 -0.69809562 -0.596380711\nvn 0.000009 -0.965929627 0.258804917\nvn 0.396243244 -0.614280343 0.682386339\nvn 0.411772013 0.370092005 0.832751989\nvn 0.169076949 0.86340481 0.475336879\nvn -0.169006959 0.95702678 -0.235661939\nvn -0.411738783 0.57303369 -0.708592653\nvn -0.396211952 -0.416740954 -0.818133891\nvn 0.000011 -0.991442621 -0.130542949\nvn 0.396194994 -0.828667998 0.395397007\nvn 0.411755204 0.023228012 0.910998404\nvn 0.169082046 0.615799129 0.769547164\nvn -0.168972954 0.974356771 0.148583949\nvn -0.411730766 0.800585508 -0.435362726\nvn -0.396225899 -0.071922988 -0.915331781\nvn -0.000019 -0.866035163 -0.499983132\nvn 0.396189988 -0.916903973 0.048174001\nvn 0.41170007 -0.327165037 0.850568116\nvn 0.169020995 0.274410009 0.946641982\nvn -0.169082046 0.843329191 0.510105133\nvn -0.411735773 0.906250477 -0.095831938\nvn -0.396216094 0.283847064 -0.873180151\nvn -0.000013 -0.60877502 -0.793343008\nvn 0.396223992 -0.865527987 -0.30637899\nvn 0.411742002 -0.627736986 0.660616994\nvn 0.169003993 -0.108727001 0.979600012\nvn -0.169031978 0.583980918 0.793973863\nvn -0.411743939 0.873941898 0.258248985\nvn -0.396216989 0.596390009 -0.698090971\nvn 0.000009 -0.258807033 -0.965929091\nvn 0.459549069 -0.640397131 -0.615391076\nvn 0.450616837 -0.812441707 0.369976878\nvn 0.162014067 -0.483779252 0.860063434\nvn -0.135454029 0.268920064 0.953590214\nvn -0.318575084 0.753414154 0.575219095\nvn -0.350795001 0.859761 -0.371152014\nvn 0.000012 0.153247967 -0.98818779\nvn 0.486596942 -0.322947979 -0.811743855\nvn 0.674482167 -0.735732198 -0.061417013\nvn 0.273826957 -0.718122959 0.639779925\nvn -0.017457001 0.058529999 0.998133004\nvn -0.208198994 0.502708018 0.83901\nvn -0.286493957 0.954761863 0.079693995\nvn -0.073190965 0.585800707 -0.807143629\nvn 0.309988022 -0.405223072 0.860059142\nvn 0.366931051 -0.7470541 0.55432111\nvn 0.334543914 0.125003964 0.934052765\nvn 0.228431135 0.472554266 0.85118252\nvn 0.145670012 0.689301074 0.709679067\nvn 0.020011 0.835056007 0.549800992\nvn -0.319159925 0.903324783 -0.286602944\nvn -0.169078946 0.985397637 0.020094993\nvn -0.47997877 0.715990663 -0.506929755\nvn -0.762359202 0.275841057 -0.585423112\nvn -0.486380816 -0.221950918 -0.845086694\nvn -0.547152042 -0.536542058 -0.642454088\nvn -0.000005 -0.934159875 -0.356854975\nvn 0.080671974 -0.990973651 0.107066959\nvn 0.396221101 -0.902758241 0.16744104\nvn 0.411749929 -0.213335976 0.885973871\nvn 0.169015944 0.395641863 0.902718723\nvn -0.169019967 0.902715862 0.39564696\nvn -0.411763936 0.885968864 -0.213329971\nvn -0.396225899 0.167431951 -0.902757764\nvn 0 -0.707106829 -0.707106829\nvn 0.396212846 -0.898114681 -0.190801919\nvn 0.411753803 -0.536126733 0.736903667\nvn 0.169083953 0.020099994 0.985396743\nvn -0.16899398 0.682568967 0.711013913\nvn -0.411738873 0.90017575 0.141966969\nvn -0.396234065 0.500160038 -0.769960105\nvn 0.000005 -0.382699907 -0.923872769\nvn 0.39618817 -0.756759346 -0.519952238\nvn 0.411732048 -0.7773211 0.475656062\nvn 0.169050023 -0.358522058 0.918087125\nvn -0.169049978 0.358522981 0.918086886\nvn -0.411742151 0.777316272 0.475655168\nvn -0.39620018 0.756752372 -0.519953251\nvn 0 -0.000004 -1\nvn 0.396221071 -0.500158072 -0.769968092\nvn 0.411725849 -0.900180697 0.141973957\nvn 0.168988988 -0.682564914 0.71101892\nvn -0.169083953 -0.020099994 0.985396743\nvn -0.411753803 0.536126733 0.736903667\nvn -0.396212935 0.89811486 -0.190800965\nvn -0.000005 0.382697821 -0.923873603\nvn 0.396218002 -0.167417005 -0.902764022\nvn 0.41176492 -0.885970771 -0.213319957\nvn 0.169019014 -0.902711093 0.395658046\nvn -0.169019967 -0.39564696 0.902715862\nvn -0.411763936 0.213329971 0.885968864\nvn -0.396225959 0.902757883 0.167431965\nvn 0 0.707105279 -0.707108319\nvn 0.396205842 0.190816924 -0.898114681\nvn 0.411754787 -0.736909628 -0.536117733\nvn 0.16908294 -0.985396624 0.020111993\nvn -0.16899398 -0.711013913 0.682568967\nvn -0.411738962 -0.141966984 0.900175869\nvn -0.396234065 0.769960105 0.500160038\nvn 0.000005 0.923872232 -0.382701099\nvn 0.396180987 0.51996702 -0.756753027\nvn 0.411733866 -0.475664824 -0.777314723\nvn 0.169049039 -0.918091238 -0.358512104\nvn -0.169046044 -0.918085217 0.358529091\nvn -0.411727101 -0.475655109 0.7773242\nvn -0.396195143 0.519947171 0.756759286\nvn 0 1 -0.000006\nvn 0.39621377 0.769978523 -0.5001477\nvn 0.411717802 -0.141984925 -0.900182605\nvn 0.168980002 -0.711019993 -0.682565987\nvn -0.169075042 -0.985398233 -0.020099005\nvn -0.411742866 -0.736900866 0.536138892\nvn -0.396196038 0.190797016 0.898123145\nvn -0.000005 0.923871875 0.382701933\nvn 0.396212071 0.902766109 -0.167420015\nvn 0.411763847 0.213330925 -0.885968685\nvn 0.169010937 -0.395657837 -0.902712703\nvn -0.169010937 -0.902716696 -0.395648837\nvn -0.411756009 -0.885975003 0.213320002\nvn -0.396218002 -0.167417005 0.902764022\nvn 0 0.707108319 0.707105279\nvn 0.396212935 0.89811486 0.190800965\nvn 0.411752939 0.536126912 -0.736903965\nvn 0.169083953 -0.020099994 -0.985396743\nvn -0.168992952 -0.682559848 -0.711022794\nvn -0.411741078 -0.900173247 -0.141977027\nvn -0.396226078 -0.500149131 0.769971192\nvn 0.000005 0.382697821 0.923873603\nvn 0.396200001 0.756752014 0.519954026\nvn 0.411742151 0.777316272 -0.475655168\nvn 0.169050023 0.358522058 -0.918087125\nvn -0.169045016 -0.358517021 -0.918090105\nvn -0.411728948 -0.777317882 -0.47566393\nvn -0.396187305 -0.756753564 0.519961357\nvn 0 -0.000002 1\nvn 0.396233171 0.500160217 0.769960344\nvn 0.411738873 0.90017575 -0.141966969\nvn 0.16899398 0.682568967 -0.711013913\nvn -0.169082984 0.020099998 -0.985396862\nvn -0.411743999 -0.536131024 -0.736905992\nvn -0.396200985 -0.89812088 0.190797985\nvn -0.000005 -0.382703185 0.923871398\nvn 0.396225154 0.167431056 0.9027583\nvn 0.411763102 0.885969222 0.213330045\nvn 0.169018924 0.902715564 -0.395647824\nvn -0.16901499 0.395641953 -0.902718902\nvn -0.411749154 -0.21333608 -0.885974288\nvn -0.396220177 -0.90275842 -0.167442068\nvn 0 -0.707106829 0.707106829\nvn 0.459513724 -0.212737873 0.862316489\nvn 0.450587153 0.726646245 0.518610179\nvn 0.162021935 0.986724615 -0.011107996\nvn -0.13544406 0.691402376 -0.709660351\nvn -0.318577111 0.121450044 -0.940084338\nvn -0.350814968 -0.751290858 -0.559008956\nvn 0.000005 -0.932406664 0.361410886\nvn 0.486488253 -0.541543245 0.685609281\nvn 0.674387157 0.314743102 0.667936206\nvn 0.273785055 0.913145244 0.302006066\nvn -0.017591011 0.835094452 -0.549825311\nvn -0.208212033 0.475271046 -0.854848146\nvn -0.286518991 -0.408356994 -0.86668998\nvn -0.073226027 -0.991906345 -0.103730038\nvn 0.309960932 0.947453737 -0.079092979\nvn 0.366911203 0.853583515 0.369826198\nvn 0.334542841 0.746413648 -0.575280726\nvn 0.228418022 0.500893056 -0.834824145\nvn 0.145680025 0.26998806 -0.951779246\nvn 0.019860003 0.058529008 -0.998088121\nvn -0.319196075 -0.699881196 -0.63896817\nvn -0.169072956 -0.475341886 -0.863402843\nvn -0.479997873 -0.797007799 -0.36657992\nvn -0.762399793 -0.644861817 0.05385099\nvn -0.486413062 -0.620887041 0.614737034\nvn -0.54725194 -0.288095981 0.785821855\nvn -0.000013 0.158069015 0.987428129\nvn 0.080633029 0.588225245 0.804667294\nvn 0.396218091 0.596389115 0.698091149\nvn 0.411745161 0.873941302 -0.258249104\nvn 0.169031978 0.583980918 -0.793973863\nvn -0.169009075 -0.108733051 -0.979598463\nvn -0.411754996 -0.627737999 -0.660607994\nvn -0.396237284 -0.86552459 0.306371212\nvn -0.000009 -0.258804917 0.965929627\nvn 0.396216005 0.283847988 0.873179972\nvn 0.411735773 0.906250477 0.095831938\nvn 0.169082999 0.843329012 -0.510105014\nvn -0.169020995 0.274410009 -0.946641982\nvn -0.411709011 -0.327161998 -0.850565016\nvn -0.396201998 -0.916899025 -0.048168998\nvn 0.000013 -0.608772099 0.793345153\nvn 0.396214068 -0.071919009 0.915337145\nvn 0.411722094 0.800588191 0.435366094\nvn 0.168972954 0.974356771 -0.148583949\nvn -0.169082135 0.615798533 -0.769547641\nvn -0.411755204 0.023228012 -0.910998404\nvn -0.396194845 -0.8286677 -0.395397842\nvn 0.000019 -0.866033435 0.499986231\nvn 0.396200061 -0.416748047 0.818136096\nvn 0.411726147 0.573042154 0.708593249\nvn 0.169002935 0.957028627 0.235656917\nvn -0.169076949 0.86340481 -0.475336879\nvn -0.411772013 0.370092005 -0.832751989\nvn -0.396243244 -0.614280343 -0.682386339\nvn -0.000011 -0.991442382 0.13054505\nvn 0.396214902 -0.698107839 0.59637183\nvn 0.411759913 0.258260936 0.873930812\nvn 0.169036001 0.793983996 0.583966017\nvn -0.169009075 0.979598463 -0.108733051\nvn -0.411754996 0.660607994 -0.627737999\nvn -0.396237284 -0.306371212 -0.86552459\nvn -0.000009 -0.965930104 -0.25880304\nvn 0.396208853 -0.873187721 0.283833921\nvn 0.411737055 -0.095821016 0.906251132\nvn 0.169082016 0.510115087 0.843323112\nvn -0.169020995 0.946641982 0.274410009\nvn -0.411709011 0.850565016 -0.327161998\nvn -0.396201998 0.048168998 -0.916899025\nvn 0.000013 -0.793346584 -0.60877043\nvn 0.39620617 -0.91533941 -0.071934037\nvn 0.411724091 -0.435364097 0.800588191\nvn 0.168971986 0.148596987 0.974354863\nvn -0.169059992 0.769548893 0.615802944\nvn -0.411740988 0.91100502 0.023224\nvn -0.396190226 0.39540723 -0.828665495\nvn 0.000019 -0.499988168 -0.866032302\nvn 0.396192938 -0.818131864 -0.416762948\nvn 0.411722153 -0.70859623 0.573041201\nvn 0.169001073 -0.235667124 0.957026482\nvn -0.169061944 0.475318819 0.863417685\nvn -0.411755234 0.832757473 0.370098203\nvn -0.396226108 0.682396233 -0.614280224\nvn -0.000011 -0.130540997 -0.991442978\nvn 0.396209151 -0.596375167 -0.698108256\nvn 0.411749989 -0.873942971 0.258235991\nvn 0.169022039 -0.583979189 0.793977201\nvn -0.169006079 0.10872905 0.979599476\nvn -0.41174978 0.627722681 0.660625696\nvn -0.396230102 0.865522206 -0.306387067\nvn -0.000009 0.25880304 -0.965930104\nvn 0.396216005 -0.283847988 -0.873179972\nvn 0.411743194 -0.90624541 -0.095848046\nvn 0.169088051 -0.843349159 0.510070145\nvn -0.169015065 -0.274409086 0.946643353\nvn -0.411710173 0.327146173 0.85057044\nvn -0.396194935 0.9169029 0.048152994\nvn 0.000013 0.608773232 -0.793344319\nvn 0.39622584 0.071923979 -0.915331721\nvn 0.411731243 -0.800585449 -0.435362279\nvn 0.168998018 -0.974354148 0.148572013\nvn -0.169064999 -0.61579901 0.769550979\nvn -0.411736012 -0.023234 0.911006987\nvn -0.396182954 0.828674853 0.395394951\nvn 0.000019 0.866036296 -0.499981165\nvn 0.396212101 0.41674009 -0.818134189\nvn 0.411738783 -0.57303369 -0.708592653\nvn 0.169007123 -0.95702666 -0.235662162\nvn -0.169076949 -0.86340481 0.475336879\nvn -0.41176194 -0.370091975 0.832756877\nvn -0.396204948 0.614291966 0.682397962\nvn 0.000008 0.991447866 -0.130503982\nvn 0.396220863 0.69811976 -0.596353769\nvn 0.411758244 -0.25825116 -0.873934507\nvn 0.169036061 -0.79397732 -0.583975196\nvn -0.169003934 -0.979598641 0.108738966\nvn -0.411740988 -0.66061002 0.627744973\nvn -0.396233052 0.306378037 0.865524113\nvn -0.000009 0.965929627 0.258804917\nvn 0.459484071 0.85316509 -0.246949032\nvn 0.450569063 0.085788004 -0.888610125\nvn 0.162019998 -0.50298202 -0.848975003\nvn -0.135465026 -0.960299253 -0.243874058\nvn -0.318552107 -0.874862313 0.364884138\nvn -0.350787967 -0.108458988 0.930152893\nvn -0.000005 0.77919662 0.626779675\nvn 0.486580431 0.864475727 0.126180097\nvn 0.674385011 0.421074003 -0.606549025\nvn 0.27373293 -0.195067957 -0.941816747\nvn -0.017611999 -0.893737853 -0.448243946\nvn -0.208182022 -0.977961123 0.015883002\nvn -0.286445946 -0.546411872 0.787008822\nvn -0.073153004 0.406084061 0.910903096\nvn 0.30990997 -0.542238951 -0.780981898\nvn 0.366902918 -0.106517978 -0.924140751\nvn 0.334517866 -0.871416688 -0.358790874\nvn 0.228399068 -0.973429382 -0.016403006\nvn 0.145691037 -0.959264219 0.242046058\nvn 0.020034997 -0.893697858 0.448221952\nvn -0.319100976 -0.203493968 0.925615907\nvn -0.169078007 -0.510100007 0.843333006\nvn -0.479961187 0.081002027 0.873542309\nvn -0.762356997 0.369067997 0.531602025\nvn -0.486385286 0.842830479 0.230361134\nvn -0.547247946 0.824589908 -0.143426985\nvn -0.000015 0.776108861 -0.630598962\nvn 0.080590956 0.402726769 -0.911765456\nvn 0.396232367 0.306363225 -0.865529716\nvn 0.411740988 -0.66061002 -0.627744973\nvn 0.169004932 -0.979598522 -0.108738951\nvn -0.169035941 -0.793976724 0.583975792\nvn -0.411758155 -0.258252084 0.873934269\nvn -0.396223098 0.698095202 0.596381128\nvn 0.000009 0.965929627 -0.258804917\nvn 0.396242946 0.614280939 -0.682385921\nvn 0.411772013 -0.370092005 -0.832751989\nvn 0.169076949 -0.86340481 -0.475336879\nvn -0.169008076 -0.957026482 0.235662118\nvn -0.411739051 -0.573033035 0.708593071\nvn -0.396212101 0.41674009 0.818134189\nvn 0.000011 0.991442621 0.130542949\nvn 0.396183163 0.828670323 -0.39540416\nvn 0.411738932 -0.023225999 -0.911005855\nvn 0.169069007 -0.615794003 -0.769554019\nvn -0.168998018 -0.974354148 -0.148572013\nvn -0.411730766 -0.800585508 0.435362726\nvn -0.396225899 0.071922988 0.915331781\nvn -0.000019 0.866037011 0.499980003\nvn 0.396189809 0.916904569 -0.048162978\nvn 0.411695898 0.327152908 -0.850574791\nvn 0.169009998 -0.274403006 -0.946645975\nvn -0.169088051 -0.843349159 -0.510070145\nvn -0.411743999 -0.906244993 0.095849\nvn -0.396216005 -0.283847988 0.873179972\nvn -0.000013 0.608773232 0.793344319\nvn 0.396228909 0.865522802 0.306386948\nvn 0.411759138 0.627720237 -0.660622239\nvn 0.16901502 0.108718015 -0.979599118\nvn -0.169031084 -0.583987355 -0.793969452\nvn -0.411750168 -0.873942435 -0.258237123\nvn -0.396223098 -0.596381128 0.698095202\nvn 0.000009 0.258807033 0.965929091\nvn 0.396236062 0.682378054 0.614294052\nvn 0.411767095 0.832743168 -0.370117098\nvn 0.16907011 0.475307286 -0.863422513\nvn -0.169014946 -0.235672906 -0.957022667\nvn -0.411743194 -0.708599329 -0.573022306\nvn -0.396212101 -0.818134189 0.41674009\nvn 0.000011 -0.130541965 0.99144274\nvn 0.396175861 0.395391852 0.828679681\nvn 0.411747009 0.91100198 -0.023236999\nvn 0.169063985 0.769536853 -0.615816951\nvn -0.16896902 0.148579016 -0.974358141\nvn -0.411716938 -0.435376942 -0.800584853\nvn -0.396220893 -0.915334702 0.071913972\nvn -0.000019 -0.499978065 0.866038144\nvn 0.396181911 0.048147988 0.916908741\nvn 0.411687911 0.850579798 0.327149898\nvn 0.169006959 0.946642756 -0.27441594\nvn -0.169073984 0.510104954 -0.84333086\nvn -0.411725014 -0.095844999 -0.906253994\nvn -0.396198988 -0.873184979 -0.283856004\nvn -0.000013 -0.793346822 0.608769894\nvn 0.396223813 -0.306385845 0.865525603\nvn 0.411754996 0.660607994 0.627737999\nvn 0.169000015 0.979601145 0.108723015\nvn -0.169027045 0.793979168 -0.583975136\nvn -0.411750793 0.258262873 -0.873934567\nvn -0.396215081 -0.698108196 -0.596371174\nvn 0.000009 -0.965929091 0.258807033\nvn 0.396243244 -0.614280343 0.682386339\nvn 0.411772013 0.370092005 0.832751989\nvn 0.169076949 0.86340481 0.475336879\nvn -0.169007063 0.957029343 -0.235651091\nvn -0.411741138 0.573041201 -0.708585262\nvn -0.396204859 -0.416755855 -0.818129718\nvn 0.000011 -0.991442382 -0.13054505\nvn 0.396195859 -0.8286677 0.395396858\nvn 0.411756068 0.023228003 0.910998106\nvn 0.169082999 0.61579901 0.769546986\nvn -0.168967947 0.974356651 0.148589939\nvn -0.411717862 0.800593674 -0.435359865\nvn -0.396212906 -0.071929984 -0.915336788\nvn -0.000019 -0.866034091 -0.499985069\nvn 0.396201998 -0.916899025 0.048168998\nvn 0.411709011 -0.327161998 0.850565016\nvn 0.169021055 0.274409086 0.946642339\nvn -0.169082046 0.843329191 0.510105133\nvn -0.411725909 0.906254768 -0.09583398\nvn -0.396204144 0.283854097 -0.87318331\nvn -0.000013 -0.608768761 -0.793347716\nvn 0.396236807 -0.86552459 -0.306371838\nvn 0.411754996 -0.627737999 0.660607994\nvn 0.169007942 -0.108732961 0.979598641\nvn -0.169031978 0.583980918 0.793973863\nvn -0.411743939 0.873941898 0.258248985\nvn -0.396216989 0.596390009 -0.698090971\nvn 0.000009 -0.258804917 -0.965929627\nvn 0.459545165 -0.640415251 -0.615375221\nvn 0.45060572 -0.812452495 0.369966805\nvn 0.162014961 -0.483788878 0.860057831\nvn -0.135454029 0.268920064 0.953590214\nvn -0.318575084 0.753414154 0.575219095\nvn -0.350795895 0.859760702 -0.371151894\nvn 0.000012 0.153246015 -0.988188148\nvn 0.48658511 -0.322975099 -0.81174016\nvn 0.674434006 -0.735776007 -0.061420999\nvn 0.273816019 -0.718134046 0.639772058\nvn -0.017457001 0.058529999 0.998133004\nvn -0.208199963 0.502707958 0.839009881\nvn -0.286493957 0.954761863 0.07969299\nvn -0.073190965 0.585800707 -0.807143629\nvn 0.309974074 -0.405225098 0.860063195\nvn 0.366921246 -0.747056484 0.554324329\nvn 0.3345339 0.125000969 0.934056759\nvn 0.228417993 0.472555995 0.851185024\nvn 0.145664036 0.689302206 0.709679186\nvn 0.02001 0.835056007 0.549800992\nvn -0.319158137 0.903332412 -0.286581159\nvn -0.169070005 0.985399008 0.020106999\nvn -0.479968876 0.716007829 -0.506914854\nvn -0.762415707 0.275812924 -0.585362732\nvn -0.486367881 -0.221982941 -0.8450858\nvn -0.547143817 -0.536580801 -0.642428756\nvn -0.000005 -0.934159875 -0.356854975\nvn 0.080667019 -0.990974247 0.107065022\nvn 0.396221101 -0.902758241 0.16744104\nvn 0.411749929 -0.213335976 0.885973871\nvn 0.169015944 0.395641863 0.902718723\nvn -0.169019014 0.902711093 0.395658046\nvn -0.411754996 0.885975003 -0.213321999\nvn -0.396206051 0.16742301 -0.902768135\nvn 0 -0.707102835 -0.707110822\nvn 0.396212846 -0.898114681 -0.190801919\nvn 0.411752939 -0.536126912 0.736903965\nvn 0.169083953 0.020099994 0.985396743\nvn -0.168988988 0.682564914 0.71101892\nvn -0.411725044 0.900181115 0.141973019\nvn -0.396221161 0.500159204 -0.769967318\nvn 0.000005 -0.382698178 -0.923873425\nvn 0.396199137 -0.756752312 -0.519954205\nvn 0.411740988 -0.777316988 0.475654989\nvn 0.169050023 -0.358522058 0.918087125\nvn -0.169054061 0.35851711 0.918088377\nvn -0.411746919 0.777312815 0.475656867\nvn -0.396193057 0.756752133 -0.519959033\nvn 0 0.000004 -1\nvn 0.396234065 -0.500160038 -0.769960105\nvn 0.411738873 -0.90017575 0.141966969\nvn 0.16899398 -0.682568967 0.711013913\nvn -0.16908294 -0.020111993 0.985396624\nvn -0.411764026 0.536114037 0.736907125\nvn -0.396216929 0.8981089 -0.190820977\nvn -0.000005 0.382698178 -0.923873425\nvn 0.396225989 -0.167430997 -0.902758002\nvn 0.411763936 -0.885968864 -0.213329971\nvn 0.169019893 -0.902715445 0.395647764\nvn -0.169015005 -0.395653009 0.902714014\nvn -0.411750078 0.213326052 0.885976255\nvn -0.396213055 0.902764142 0.167428017\nvn 0 0.707108319 -0.707105279\nvn 0.396212846 0.190801919 -0.898114681\nvn 0.411752939 -0.736903965 -0.536126912\nvn 0.169083953 -0.985396743 0.020099994\nvn -0.16899398 -0.711013913 0.682568967\nvn -0.411730081 -0.141965032 0.900180221\nvn -0.396222055 0.769961119 0.500168085\nvn 0.000005 0.923874259 -0.382696092\nvn 0.396199137 0.519954205 -0.756752312\nvn 0.411740988 -0.475654989 -0.777316988\nvn 0.169050023 -0.918087125 -0.358522058\nvn -0.169049963 -0.918086886 0.358522952\nvn -0.411742151 -0.475655168 0.777316272\nvn -0.396200001 0.519954026 0.756752014\nvn 0 1 0\nvn 0.396234065 0.769960105 -0.500160038\nvn 0.411738962 -0.141966984 -0.900175869\nvn 0.16899398 -0.711013913 -0.682568967\nvn -0.16907993 -0.985397518 -0.02009399\nvn -0.4117392 -0.73690635 0.536134243\nvn -0.396209091 0.190793037 0.898118258\nvn -0.000005 0.923872769 0.382699907\nvn 0.396225989 0.902758002 -0.167430997\nvn 0.411759049 0.21333003 -0.885971129\nvn 0.16901508 -0.395643204 -0.902718425\nvn -0.169015959 -0.902718842 -0.395641923\nvn -0.411754161 -0.885970294 0.213343069\nvn -0.396214992 -0.167446002 0.902760029\nvn 0 0.707103848 0.707109809\nvn 0.396202087 0.898122251 0.190789044\nvn 0.411742866 0.536138892 -0.736900866\nvn 0.169080094 -0.020094011 -0.985397577\nvn -0.168989018 -0.68257308 -0.711011052\nvn -0.411734015 -0.900178015 -0.141966999\nvn -0.396233171 -0.500160217 0.769960344\nvn 0.000005 0.382703185 0.923871398\nvn 0.396193951 0.756759882 0.519946933\nvn 0.411725998 0.777324975 -0.475654989\nvn 0.169045061 0.358529121 -0.918085337\nvn -0.169049978 -0.358522981 -0.918086886\nvn -0.411740005 -0.777316988 -0.475656003\nvn -0.396198809 -0.75675267 0.519953787\nvn 0 0 1\nvn 0.396233171 0.500160217 0.769960344\nvn 0.411738873 0.90017575 -0.141966969\nvn 0.168992996 0.682569027 -0.711013973\nvn -0.169083953 0.020099994 -0.985396743\nvn -0.411752939 -0.536126912 -0.736903965\nvn -0.396212846 -0.898114681 0.190801919\nvn -0.000005 -0.382699907 0.923872769\nvn 0.396225989 0.167430997 0.902758002\nvn 0.411763936 0.885968864 0.213329971\nvn 0.169019893 0.902715445 -0.395647764\nvn -0.169020101 0.395647198 -0.902715564\nvn -0.411763936 -0.213329971 -0.885968864\nvn -0.396225989 -0.902758002 -0.167430997\nvn 0 -0.707106829 0.707106829\nvn 0.45952782 -0.212742925 0.862307727\nvn 0.450597048 0.726643085 0.518606067\nvn 0.162021935 0.986724615 -0.011107996\nvn -0.135441035 0.69140619 -0.709657192\nvn -0.31857416 0.121457063 -0.940084457\nvn -0.350814044 -0.751297116 -0.559001088\nvn 0.000005 -0.932407379 0.361409128\nvn 0.486516178 -0.541537166 0.685594261\nvn 0.674429119 0.314717054 0.667906106\nvn 0.273796052 0.913140237 0.302011073\nvn -0.017591011 0.835094452 -0.549825311\nvn -0.208204001 0.475270987 -0.854849994\nvn -0.286506057 -0.408359081 -0.866693199\nvn -0.073224045 -0.99190557 -0.10373906\nvn 0.309947073 0.947458267 -0.079093024\nvn 0.366902024 0.853587091 0.369827032\nvn 0.334532946 0.74641788 -0.575280905\nvn 0.228405029 0.50089407 -0.834827125\nvn 0.145674035 0.26998806 -0.95178026\nvn 0.019858006 0.058529016 -0.998088241\nvn -0.319193959 -0.699865937 -0.638985932\nvn -0.169063047 -0.475332111 -0.863410175\nvn -0.479988188 -0.797003269 -0.366602123\nvn -0.762455881 -0.644795954 0.053844992\nvn -0.486399889 -0.620869875 0.614764869\nvn -0.547243774 -0.288054854 0.785842657\nvn -0.000013 0.158069983 0.98742789\nvn 0.080629021 0.5882231 0.804669201\nvn 0.396217853 0.596389771 0.698090732\nvn 0.411745161 0.873941302 -0.258249104\nvn 0.169031978 0.583980918 -0.793973863\nvn -0.169008002 -0.108721003 -0.979600012\nvn -0.411746889 -0.627733886 -0.660616875\nvn -0.396217942 -0.865528882 0.306383967\nvn -0.000009 -0.258810073 0.965928257\nvn 0.396216005 0.283847988 0.873179972\nvn 0.411734939 0.906250894 0.095831983\nvn 0.16908212 0.843329608 -0.510104358\nvn -0.169016063 0.274415076 -0.946641386\nvn -0.411695778 -0.327158839 -0.850572586\nvn -0.396189004 -0.916904986 -0.048163999\nvn 0.000013 -0.608773232 0.793344319\nvn 0.396225065 -0.07192301 0.915332139\nvn 0.411730766 0.800585508 0.435362726\nvn 0.168971986 0.97435689 -0.148583978\nvn -0.169086993 0.615803003 -0.769542992\nvn -0.411760896 0.023230994 -0.910995781\nvn -0.396189004 -0.828671992 -0.395395011\nvn 0.000019 -0.866037011 0.499980003\nvn 0.396212816 -0.416740805 0.818133593\nvn 0.411739081 0.573034108 0.708592176\nvn 0.169008076 0.957026482 0.235662118\nvn -0.169076949 0.86341083 -0.475325882\nvn -0.411781996 0.370101005 -0.832742989\nvn -0.396247178 -0.614294291 -0.682371378\nvn -0.000011 -0.991442382 0.13054505\nvn 0.39622283 -0.69809562 0.596380711\nvn 0.411758989 0.258251995 0.873933971\nvn 0.169036061 0.79397732 0.583975196\nvn -0.169003978 0.979599893 -0.108727984\nvn -0.411742002 0.660615981 -0.627737999\nvn -0.396224916 -0.306377947 -0.865527809\nvn -0.000009 -0.965929091 -0.258807033\nvn 0.396216005 -0.873179972 0.283847988\nvn 0.411734939 -0.095831983 0.906250894\nvn 0.16908212 0.510104358 0.843329608\nvn -0.169021055 0.946642339 0.274409086\nvn -0.41170007 0.850568116 -0.327165037\nvn -0.396190822 0.048173979 -0.916903555\nvn 0.000013 -0.793343008 -0.60877502\nvn 0.396225065 -0.915332139 -0.07192301\nvn 0.411731154 -0.435370147 0.800581276\nvn 0.168973088 0.148585081 0.974356472\nvn -0.169063956 0.76954484 0.615806878\nvn -0.411755204 0.910998404 0.023228012\nvn -0.396195859 0.395396858 -0.8286677\nvn 0.000019 -0.499983132 -0.866035163\nvn 0.396212816 -0.818133593 -0.416740805\nvn 0.411744058 -0.708599031 0.573022068\nvn 0.169014946 -0.235672906 0.957022667\nvn -0.169066086 0.47532323 0.863414407\nvn -0.411751837 0.832755685 0.370105892\nvn -0.396238863 0.682393789 -0.61427474\nvn -0.000011 -0.130542949 -0.991442621\nvn 0.39622283 -0.596380711 -0.69809562\nvn 0.411746204 -0.873944402 0.258237123\nvn 0.169026986 -0.583991945 0.793966889\nvn -0.169011921 0.108736947 0.979597509\nvn -0.411748081 0.627740204 0.660610199\nvn -0.396227092 0.865533173 -0.306360066\nvn -0.000009 0.258807957 -0.965928853\nvn 0.396205992 -0.283861995 -0.873179972\nvn 0.411732912 -0.906248748 -0.09586098\nvn 0.169083998 -0.843352973 0.510065019\nvn -0.169010028 -0.274392039 0.946649134\nvn -0.411704093 0.32715708 0.850569189\nvn -0.396201998 0.916899025 0.048168\nvn 0.000013 0.608768761 -0.793347716\nvn 0.396219999 0.071914002 -0.915335\nvn 0.411714911 -0.8005898 -0.435369909\nvn 0.168992996 -0.974355996 0.148565993\nvn -0.169069007 -0.615794003 0.769554019\nvn -0.411747038 -0.023228005 0.9110021\nvn -0.396194011 0.828667998 0.395397991\nvn 0.000019 0.866035163 -0.499983132\nvn 0.396211952 0.416740954 -0.818133891\nvn 0.411737949 -0.573033929 -0.708592951\nvn 0.169006959 -0.95702678 -0.235661939\nvn -0.169076949 -0.86340481 0.475336879\nvn -0.411772013 -0.370092005 0.832751989\nvn -0.39621675 0.614292622 0.682390571\nvn 0.000008 0.99144733 -0.13050805\nvn 0.396221101 0.698120177 -0.596353114\nvn 0.411758989 -0.258251995 -0.873933971\nvn 0.169036061 -0.79397732 -0.583975196\nvn -0.169009075 -0.979598463 0.108733051\nvn -0.411756039 -0.660608113 0.627737105\nvn -0.396239072 0.306387037 0.865518093\nvn -0.000009 0.965929627 0.258804917\nvn 0.459497929 0.853159904 -0.24694097\nvn 0.450579107 0.085786022 -0.888605237\nvn 0.162019998 -0.50298202 -0.848975003\nvn -0.135462031 -0.96029824 -0.243880063\nvn -0.318549812 -0.874865472 0.364878803\nvn -0.350787193 -0.108449049 0.930154443\nvn -0.000005 0.779195309 0.626781225\nvn 0.486607939 0.864459872 0.12618199\nvn 0.67442739 0.421060234 -0.606511354\nvn 0.273743987 -0.195060998 -0.941815019\nvn -0.017611999 -0.893737853 -0.448243946\nvn -0.208174929 -0.977962613 0.015883995\nvn -0.286433011 -0.546414018 0.787011981\nvn -0.07315103 0.40607515 0.910907269\nvn 0.309894949 -0.542241871 -0.780985832\nvn 0.366893172 -0.106520049 -0.924144447\nvn 0.334507912 -0.871418834 -0.358794898\nvn 0.228386104 -0.973432481 -0.016403008\nvn 0.145685002 -0.959264994 0.242046997\nvn 0.020033997 -0.893697858 0.448221952\nvn -0.319099158 -0.203517109 0.925611436\nvn -0.169068947 -0.510111809 0.843327701\nvn -0.479950875 0.080980979 0.873549819\nvn -0.7624138 0.369029909 0.531546891\nvn -0.486373067 0.842845082 0.23033303\nvn -0.547240078 0.824587107 -0.143473014\nvn -0.000015 0.776108027 -0.630599976\nvn 0.080586992 0.402728945 -0.91176486\nvn 0.396232814 0.306362838 -0.865529597\nvn 0.411740988 -0.66061002 -0.627744973\nvn 0.169004932 -0.979598522 -0.108738951\nvn -0.169036001 -0.793983996 0.583966017\nvn -0.411750197 -0.258261114 0.873935401\nvn -0.396203101 0.698108196 0.596379101\nvn 0.000009 0.965931237 -0.258799046\nvn 0.396242946 0.614280939 -0.682385921\nvn 0.411772013 -0.370092005 -0.832751989\nvn 0.169076949 -0.86340481 -0.475336879\nvn -0.169002935 -0.957028627 0.235656917\nvn -0.411725014 -0.573041975 0.708594024\nvn -0.396198899 0.416747898 0.818136811\nvn 0.000011 0.991442382 0.13054505\nvn 0.396194845 0.8286677 -0.395397842\nvn 0.411747903 -0.023227995 -0.911001742\nvn 0.169069007 -0.615794003 -0.769554019\nvn -0.169001937 -0.974352658 -0.148577943\nvn -0.411735952 -0.800584853 0.435358942\nvn -0.396219134 0.071928024 0.915334284\nvn -0.000019 0.866033435 0.499986231\nvn 0.396201998 0.916899025 -0.048168\nvn 0.4117091 0.327156097 -0.850567162\nvn 0.169014946 -0.27439791 -0.946646631\nvn -0.169087052 -0.843343318 -0.510080159\nvn -0.411753923 -0.906241775 0.095835976\nvn -0.396220177 -0.283828139 0.873184443\nvn -0.000013 0.608773232 0.793344319\nvn 0.396237135 0.865524292 0.306372106\nvn 0.411758155 0.627728224 -0.660615265\nvn 0.169015944 0.108729966 -0.979597628\nvn -0.169027045 -0.583983183 -0.793973207\nvn -0.411736846 -0.873946726 -0.258243918\nvn -0.396209925 -0.596380889 0.698102832\nvn 0.000009 0.25880304 0.965930104\nvn 0.396242946 0.682385921 0.614280939\nvn 0.411766082 0.832748175 -0.370107085\nvn 0.169069946 0.475317836 -0.863416731\nvn -0.169014946 -0.235672906 -0.957022667\nvn -0.411734074 -0.708604038 -0.573023081\nvn -0.396200925 -0.818140805 0.416737914\nvn 0.000011 -0.130547017 0.991442144\nvn 0.396194905 0.395397902 0.828667819\nvn 0.411754787 0.910998583 -0.023227992\nvn 0.169064105 0.769544482 -0.615807354\nvn -0.168972939 0.148584947 -0.974356651\nvn -0.411731988 -0.435369998 -0.800580978\nvn -0.39622584 -0.915331721 0.071923979\nvn -0.000019 -0.499983132 0.866035163\nvn 0.396201998 0.048168 0.916899025\nvn 0.411709845 0.850564718 0.327161878\nvn 0.169020995 0.946641982 -0.274410009\nvn -0.169078007 0.510100007 -0.843333006\nvn -0.41172123 -0.095837057 -0.906256557\nvn -0.396211952 -0.873178899 -0.283856958\nvn -0.000013 -0.793345153 0.608772099\nvn 0.396237135 -0.306372106 0.865524292\nvn 0.411750853 0.660609782 0.627738774\nvn 0.169004947 0.979598641 0.10873796\nvn -0.169031978 0.793973863 -0.583980918\nvn -0.411748946 0.258240968 -0.873941898\nvn -0.396212161 -0.698090255 -0.596394241\nvn 0.000009 -0.965930641 0.258800924\nvn 0.396232933 -0.614272952 0.682398915\nvn 0.411761135 0.370083123 0.832761288\nvn 0.169073045 0.863402188 0.475343108\nvn -0.169002995 0.957026005 -0.235668004\nvn -0.411734104 0.573035121 -0.708594203\nvn -0.396211952 -0.416740954 -0.818133891\nvn 0.000011 -0.991443217 -0.13053903\nvn 0.396188915 -0.828665793 0.395407915\nvn 0.411739796 0.023223989 0.911005557\nvn 0.169078007 0.615794003 0.769551992\nvn -0.168972 0.974357009 0.148582995\nvn -0.411729902 0.800585806 -0.435362905\nvn -0.396225065 -0.07192301 -0.915332139\nvn -0.000019 -0.866035163 -0.499983132\nvn 0.396201998 -0.916899025 0.048168\nvn 0.411709011 -0.327161998 0.850565016\nvn 0.169020995 0.274410009 0.946641982\nvn -0.16908212 0.843329608 0.510104358\nvn -0.411734939 0.906250894 -0.095831983\nvn -0.396216005 0.283847988 -0.873179972\nvn -0.000013 -0.608772099 -0.793345153\nvn 0.396237135 -0.865524292 -0.306372106\nvn 0.411756039 -0.627737105 0.660608113\nvn 0.169009075 -0.108733051 0.979598463\nvn -0.169036046 0.583975136 0.793977201\nvn -0.411758989 0.873933971 0.258251995\nvn -0.39622283 0.596380711 -0.69809562\nvn 0.000009 -0.258804917 -0.965929627\nvn 0.459559947 -0.64040494 -0.615374923\nvn 0.450616062 -0.812447131 0.36996603\nvn 0.162014961 -0.483788878 0.860057831\nvn -0.135451004 0.268914998 0.953592002\nvn -0.318573087 0.753411174 0.575224102\nvn -0.350795031 0.859757125 -0.371161044\nvn 0.000012 0.153247967 -0.98818779\nvn 0.486613184 -0.322965115 -0.811727285\nvn 0.674475968 -0.735736966 -0.061427992\nvn 0.273827016 -0.718136072 0.639765084\nvn -0.017457001 0.058529999 0.998133004\nvn -0.20819205 0.502709091 0.839011192\nvn -0.286480933 0.954765737 0.079693981\nvn -0.07318902 0.585808158 -0.807138205\nvn 0.309985936 -0.405231923 0.860055804\nvn 0.366934896 -0.747062743 0.554306805\nvn 0.334551007 0.125011995 0.93404901\nvn 0.228432 0.472561985 0.85117799\nvn 0.145670027 0.689308167 0.709672153\nvn 0.020011012 0.835056484 0.549800277\nvn -0.319146007 0.903325021 -0.286617994\nvn -0.169079959 0.985397756 0.020082995\nvn -0.479965061 0.715989053 -0.506945074\nvn -0.762308896 0.275865972 -0.585476935\nvn -0.486376166 -0.221928075 -0.845095277\nvn -0.547137916 -0.536526918 -0.642478883\nvn -0.000005 -0.934158266 -0.356859088\nvn 0.080669016 -0.990974128 0.107064009\nvn 0.396225065 -0.902758121 0.16743201\nvn 0.411763102 -0.213330045 0.885969222\nvn 0.169019967 0.39564696 0.902715862\nvn -0.169020012 0.902720094 0.395637065\nvn -0.411762059 0.885967135 -0.213341027\nvn -0.396232992 0.167446002 -0.902751982\nvn 0 -0.707107842 -0.707105815\nvn 0.396214038 -0.898114145 -0.190802008\nvn 0.411748856 -0.536127806 0.736905694\nvn 0.16907993 0.020094991 0.985397518\nvn -0.168990001 0.682573974 0.711009979\nvn -0.411738008 0.900178015 0.141956002\nvn -0.396235049 0.500167072 -0.769955099\nvn 0.000005 -0.382699907 -0.923872769\nvn 0.396189809 -0.756763637 -0.519944787\nvn 0.41173169 -0.777326465 0.475647658\nvn 0.169046044 -0.358529091 0.918085217\nvn -0.16904594 0.358527869 0.918085635\nvn -0.411736995 0.777318001 0.475656986\nvn -0.396200001 0.756752014 -0.519954026\nvn 0 -0.000004 -1\nvn 0.39622876 -0.500169694 -0.769956529\nvn 0.411724061 -0.900183141 0.141964018\nvn 0.168989033 -0.682574093 0.711010098\nvn -0.169082984 -0.020099998 0.985396862\nvn -0.411752939 0.536126912 0.736903965\nvn -0.396212846 0.898114681 -0.190801919\nvn -0.000005 0.382699907 -0.923872769\nvn 0.396225154 -0.167431056 -0.9027583\nvn 0.411763102 -0.885969222 -0.213330045\nvn 0.169018924 -0.902715564 0.395647824\nvn -0.169019967 -0.39564696 0.902715862\nvn -0.411763102 0.213330045 0.885969222\nvn -0.396225065 0.902758121 0.16743201\nvn 0 0.707106829 -0.707106829\nvn 0.396214068 0.190802023 -0.898114145\nvn 0.411753803 -0.736903667 -0.536126733\nvn 0.169083953 -0.985396743 0.020099994\nvn -0.16899398 -0.711013913 0.682568967\nvn -0.411738962 -0.141966984 0.900175869\nvn -0.396234065 0.769960105 0.500160038\nvn 0.000005 0.923872769 -0.382699907\nvn 0.396200001 0.519954026 -0.756752014\nvn 0.411742151 -0.475655168 -0.777316272\nvn 0.169050023 -0.918087125 -0.358522058\nvn -0.169049963 -0.918086886 0.358522952\nvn -0.411740988 -0.475654989 0.777316988\nvn -0.39620018 0.519953251 0.756752372\nvn 0 1 0\nvn 0.396233231 0.769960463 -0.500160277\nvn 0.411738962 -0.141966984 -0.900175869\nvn 0.16899398 -0.711013913 -0.682568967\nvn -0.169083953 -0.985396743 -0.020099994\nvn -0.411753297 -0.736903548 0.536127329\nvn -0.396212935 0.190800965 0.89811486\nvn -0.000005 0.923872769 0.382699907\nvn 0.396225154 0.9027583 -0.167431056\nvn 0.411763102 0.213330045 -0.885969222\nvn 0.169018924 -0.395647824 -0.902715564\nvn -0.16901499 -0.902718902 -0.395641953\nvn -0.411749154 -0.885974288 0.21333608\nvn -0.396221101 -0.16744104 0.902758241\nvn 0 0.707106829 0.707106829\nvn 0.396214038 0.898114145 0.190802008\nvn 0.411753803 0.536126733 -0.736903667\nvn 0.169083953 -0.020099994 -0.985396743\nvn -0.168994978 -0.682576954 -0.711005926\nvn -0.411729008 -0.900182009 -0.141956002\nvn -0.396230191 -0.500178218 0.76995033\nvn 0.000005 0.382697821 0.923873603\nvn 0.396176994 0.756766021 0.519950986\nvn 0.411718935 0.777326882 -0.47565794\nvn 0.16904594 0.358527869 -0.918085635\nvn -0.169046044 -0.358529091 -0.918085217\nvn -0.411740988 -0.777321994 -0.475647002\nvn -0.396201253 -0.756756425 0.519946277\nvn 0 0.000008 1\nvn 0.396210134 0.500163198 0.769970238\nvn 0.411711782 0.900187612 -0.141970932\nvn 0.168980017 0.68256706 -0.711019039\nvn -0.169078946 0.020094993 -0.985397637\nvn -0.411747992 -0.536127985 -0.736905992\nvn -0.396212935 -0.89811486 0.190800965\nvn -0.000005 -0.382696092 0.923874259\nvn 0.396218002 0.167417005 0.902764022\nvn 0.41176492 0.885970771 0.213319957\nvn 0.169019014 0.902711093 -0.395658046\nvn -0.169019967 0.39564696 -0.902715862\nvn -0.411763847 -0.213330925 -0.885968685\nvn -0.396225065 -0.902758121 -0.16743201\nvn 0 -0.707105815 0.707107842\nvn 0.459532827 -0.212764919 0.862299681\nvn 0.450608879 0.726645827 0.518591881\nvn 0.162020952 0.986724734 -0.011118997\nvn -0.135441035 0.69140619 -0.709657192\nvn -0.31857416 0.121457063 -0.940084457\nvn -0.350814044 -0.751297116 -0.559001088\nvn 0.000005 -0.932407856 0.361407965\nvn 0.486530244 -0.541551232 0.68557328\nvn 0.674477875 0.314697951 0.667865872\nvn 0.273806989 0.913141012 0.301999003\nvn -0.017591011 0.835094452 -0.549825311\nvn -0.208204001 0.475270987 -0.854849994\nvn -0.286506057 -0.408359081 -0.866693199\nvn -0.073224045 -0.99190557 -0.10373906\nvn 0.309959054 0.947455227 -0.079083025\nvn 0.366915137 0.853575408 0.369841158\nvn 0.334550083 0.746406198 -0.57528609\nvn 0.228418946 0.500884891 -0.834828794\nvn 0.145679981 0.26997897 -0.951781869\nvn 0.019860005 0.058527015 -0.998088241\nvn -0.319182009 -0.699894011 -0.638961017\nvn -0.169073045 -0.475352108 -0.863397181\nvn -0.479984045 -0.797020137 -0.366571039\nvn -0.762349546 -0.644920647 0.053855967\nvn -0.486407995 -0.620905995 0.614722013\nvn -0.547237992 -0.288125008 0.785821021\nvn -0.000013 0.158064961 0.987428784\nvn 0.080630995 0.588221967 0.804669857\nvn 0.396223098 0.596381128 0.698095202\nvn 0.411758244 0.873934507 -0.25825116\nvn 0.169035956 0.583975792 -0.793976843\nvn -0.169009015 -0.108745016 -0.979597092\nvn -0.411754012 -0.627745986 -0.66060102\nvn -0.396244824 -0.865526557 0.306355864\nvn -0.000009 -0.25880304 0.965930104\nvn 0.396216929 0.283846974 0.873179853\nvn 0.411730856 0.906252682 0.09583196\nvn 0.169078007 0.843333006 -0.510100007\nvn -0.169017062 0.274404079 -0.946644366\nvn -0.411708206 -0.32717216 -0.85056144\nvn -0.396203905 -0.916897774 -0.048176989\nvn 0.000013 -0.608772099 0.793345153\nvn 0.396215171 -0.071910039 0.915337443\nvn 0.411720932 0.800583899 0.435374945\nvn 0.168969065 0.97435838 -0.148577064\nvn -0.169078052 0.615795135 -0.769551158\nvn -0.411751151 0.023228008 -0.911000311\nvn -0.396195859 -0.8286677 -0.395396858\nvn 0.000019 -0.866033435 0.499986231\nvn 0.396207154 -0.416733146 0.818140268\nvn 0.411724031 0.573035061 0.708600104\nvn 0.16900295 0.957025766 0.235668942\nvn -0.169076949 0.86340481 -0.475336879\nvn -0.411772013 0.370092005 -0.832751989\nvn -0.396242946 -0.614280939 -0.682385921\nvn -0.000011 -0.991442621 0.130542949\nvn 0.396221936 -0.698095918 0.596380949\nvn 0.411758244 0.25825116 0.873934507\nvn 0.169036061 0.79397732 0.583975196\nvn -0.169009075 0.979598463 -0.108733051\nvn -0.411754996 0.660607994 -0.627737999\nvn -0.396236807 -0.306371838 -0.86552459\nvn -0.000009 -0.965929627 -0.258804917\nvn 0.396216929 -0.873179853 0.283846974\nvn 0.411736161 -0.095832035 0.906250298\nvn 0.169082999 0.510105014 0.843329012\nvn -0.169020995 0.946641982 0.274410009\nvn -0.411709845 0.850564718 -0.327161878\nvn -0.396201998 0.048168 -0.916899025\nvn 0.000013 -0.793345153 -0.608772099\nvn 0.39622584 -0.915331721 -0.071923979\nvn 0.411731988 -0.435369998 0.800580978\nvn 0.168973058 0.148586065 0.974356353\nvn -0.169063956 0.76954484 0.615806878\nvn -0.411754787 0.910998583 0.023227992\nvn -0.396194905 0.395397902 -0.828667819\nvn 0.000019 -0.499983132 -0.866035163\nvn 0.396212101 -0.818134189 -0.41674009\nvn 0.411743194 -0.708599329 0.573022306\nvn 0.169014946 -0.235672906 0.957022667\nvn -0.169069946 0.475317836 0.863416731\nvn -0.411766082 0.832748175 0.370107085\nvn -0.396242917 0.682386816 -0.614279866\nvn -0.000011 -0.130542949 -0.991442621\nvn 0.396221936 -0.596380949 -0.698095918\nvn 0.41174984 -0.873942673 0.258236915\nvn 0.169030935 -0.583986819 0.793969691\nvn -0.169010937 0.108736962 0.979597628\nvn -0.411743075 0.627736151 0.660617173\nvn -0.396232814 0.865529597 -0.306362838\nvn -0.000009 0.258804917 -0.965929627\nvn 0.396216929 -0.283846974 -0.873179853\nvn 0.411743999 -0.906244993 -0.095848002\nvn 0.169088051 -0.843349159 0.510070145\nvn -0.169015989 -0.274385959 0.946649909\nvn -0.411699057 0.327169031 0.850567102\nvn -0.396199077 0.916899264 0.04818901\nvn 0.000013 0.608773232 -0.793344319\nvn 0.396201968 0.071913995 -0.915342867\nvn 0.411708057 -0.800593138 -0.435370058\nvn 0.168993935 -0.974355638 0.148566946\nvn -0.169065997 -0.615790009 0.769558012\nvn -0.411747992 -0.023217 0.91100198\nvn -0.396196753 0.828663528 0.395404756\nvn 0.000019 0.86603117 -0.499990106\nvn 0.396188885 0.416747838 -0.818141699\nvn 0.411711872 -0.57304287 -0.708600879\nvn 0.168993995 -0.957029998 -0.235658005\nvn -0.169072956 -0.863402843 0.475341886\nvn -0.411767006 -0.370092988 0.832754016\nvn -0.396216989 0.614292026 0.682390988\nvn 0.000008 0.991446972 -0.130511001\nvn 0.396212906 0.698132813 -0.596343875\nvn 0.411759794 -0.258261889 -0.873930573\nvn 0.169035017 -0.793984115 -0.583966076\nvn -0.169009075 -0.979598463 0.108733051\nvn -0.411754996 -0.660607994 0.627737999\nvn -0.396237999 0.306385994 0.865518987\nvn -0.000009 0.965930104 0.25880304\nvn 0.459503055 0.853164136 -0.246917024\nvn 0.450592011 0.085772 -0.888599992\nvn 0.162019953 -0.502990901 -0.848969817\nvn -0.135461077 -0.960298598 -0.243879154\nvn -0.318548888 -0.874865711 0.364878893\nvn -0.350787193 -0.108449049 0.930154443\nvn -0.000005 0.779193878 0.626782954\nvn 0.486622185 0.864448309 0.12620604\nvn 0.674476326 0.4210352 -0.60647428\nvn 0.273755133 -0.195072085 -0.941809475\nvn -0.017611999 -0.893737853 -0.448243946\nvn -0.208174929 -0.977962613 0.015883995\nvn -0.286433011 -0.546414018 0.787011981\nvn -0.07315103 0.40607515 0.910907269\nvn 0.309907883 -0.542231798 -0.78098768\nvn 0.36690703 -0.106501013 -0.924141109\nvn 0.33452487 -0.871417701 -0.358781874\nvn 0.228399128 -0.97342962 -0.01639401\nvn 0.145690978 -0.959261775 0.242055938\nvn 0.020034995 -0.893696785 0.448223889\nvn -0.319087178 -0.203481123 0.925623536\nvn -0.169079006 -0.510089993 0.843339026\nvn -0.479947299 0.081016041 0.873548508\nvn -0.762307346 0.369101167 0.531650245\nvn -0.486381054 0.842826128 0.230386034\nvn -0.54723388 0.824603796 -0.143400967\nvn -0.000015 0.776111186 -0.630596161\nvn 0.080589011 0.402730018 -0.911764145\nvn 0.396236897 0.306370944 -0.865524828\nvn 0.411754996 -0.660607994 -0.627737999\nvn 0.169009075 -0.979598463 -0.108733051\nvn -0.169036984 -0.79396987 0.583984911\nvn -0.411756903 -0.258241951 0.873937845\nvn -0.396229953 0.698082924 0.596390963\nvn 0.000009 0.965929329 -0.25880608\nvn 0.396244049 0.614280045 -0.682386041\nvn 0.411767781 -0.370092809 -0.832753599\nvn 0.169072956 -0.863402843 -0.475341886\nvn -0.169003919 -0.957025528 0.235668883\nvn -0.411737859 -0.573025763 0.708599687\nvn -0.396214008 0.416732997 0.81813699\nvn 0.000011 0.991442621 0.130542949\nvn 0.396184921 0.828665793 -0.395411909\nvn 0.411738217 -0.023216011 -0.911006391\nvn 0.169065997 -0.615790009 -0.769558012\nvn -0.168993935 -0.974355638 -0.148566946\nvn -0.411727101 -0.800587177 0.435363084\nvn -0.39622584 0.071923979 0.915331721\nvn -0.000019 0.866037011 0.499980003\nvn 0.396196902 0.916900754 -0.048177987\nvn 0.411693931 0.327162981 -0.850571871\nvn 0.169010997 -0.274392009 -0.946649015\nvn -0.169088051 -0.843349159 -0.510070145\nvn -0.411743194 -0.90624541 0.095848046\nvn -0.396216005 -0.283847988 0.873179972\nvn -0.000013 0.608772099 0.793345153\nvn 0.396236807 0.86552459 0.306371838\nvn 0.411757022 0.627728105 -0.6606161\nvn 0.169014961 0.108729981 -0.979597747\nvn -0.169031084 -0.583987355 -0.793969452\nvn -0.41174984 -0.873942673 -0.258236915\nvn -0.396221936 -0.596380949 0.698095918\nvn 0.000009 0.258804917 0.965929627\nvn 0.396244049 0.682386041 0.614280045\nvn 0.411766082 0.832748175 -0.370107085\nvn 0.169069946 0.475317836 -0.863416731\nvn -0.169014946 -0.235672906 -0.957022667\nvn -0.411744058 -0.708599031 -0.573022068\nvn -0.396212816 -0.818133593 0.416740805\nvn 0.000011 -0.130542949 0.991442621\nvn 0.396195859 0.395396858 0.8286677\nvn 0.411756068 0.910998106 -0.023228003\nvn 0.169064105 0.769544482 -0.615807354\nvn -0.168973088 0.148585081 -0.974356472\nvn -0.411731154 -0.435370147 -0.800581276\nvn -0.396225899 -0.915331841 0.071922988\nvn -0.000019 -0.499983132 0.866035163\nvn 0.396201998 0.048168998 0.916899025\nvn 0.411709011 0.850565016 0.327161998\nvn 0.169021055 0.946642339 -0.274409086\nvn -0.169081986 0.510103941 -0.843329906\nvn -0.411734909 -0.095832981 -0.906250775\nvn -0.396216005 -0.873179972 -0.283847988\nvn -0.000013 -0.793345153 0.608772099\nvn 0.396236807 -0.306371838 0.86552459\nvn 0.411754996 0.660607994 0.627737999\nvn 0.169007942 0.979598641 0.108732961\nvn -0.169031978 0.793973863 -0.583980918\nvn -0.411743939 0.258248985 -0.873941898\nvn -0.396217853 -0.698090732 -0.596389771\nvn 0.000009 -0.965929627 0.258804917\nvn 0.396244049 -0.614280045 0.682386041\nvn 0.411772013 0.370092005 0.832751989\nvn 0.169077054 0.863405287 0.475336164\nvn -0.169007942 0.957023621 -0.235673904\nvn -0.411728889 0.573026896 -0.708603859\nvn -0.396208853 -0.416722864 -0.818144679\nvn 0.000011 -0.991442382 -0.13054505\nvn 0.396172136 -0.82867229 0.395411164\nvn 0.411731988 0.023226 0.911009014\nvn 0.169078052 0.615795135 0.769551158\nvn -0.168969065 0.97435838 0.148577064\nvn -0.411729932 0.800580859 -0.435371935\nvn -0.396226943 -0.071914993 -0.9153319\nvn -0.000019 -0.866039157 -0.499976128\nvn 0.396178186 -0.916909397 0.048166022\nvn 0.411682099 -0.327164084 0.850577176\nvn 0.169007987 0.274414957 0.946642876\nvn -0.169078007 0.843333006 0.510100007\nvn -0.411730051 0.906253099 -0.095832013\nvn -0.396216005 0.283847988 -0.873179972\nvn -0.000013 -0.60877502 -0.793343008\nvn 0.396230102 -0.865522206 -0.306387067\nvn 0.411757022 -0.627729118 0.660615146\nvn 0.169008002 -0.108721003 0.979600012\nvn -0.169035956 0.583975792 0.793976843\nvn -0.411758244 0.873934507 0.25825116\nvn -0.396221995 0.596382022 -0.698095024\nvn 0.000009 -0.25880608 -0.965929329\nvn 0.459564894 -0.640386879 -0.615389884\nvn 0.450628161 -0.812436283 0.36997512\nvn 0.162014067 -0.483779252 0.860063434\nvn -0.135451004 0.268914998 0.953592002\nvn -0.318573087 0.753411174 0.575224102\nvn -0.350795031 0.859757125 -0.371161044\nvn 0.000012 0.153249919 -0.988187551\nvn 0.486627132 -0.322939098 -0.811729193\nvn 0.674525142 -0.735692143 -0.061425015\nvn 0.273838878 -0.718125641 0.6397717\nvn -0.017457001 0.058529999 0.998133004\nvn -0.20819205 0.502709091 0.839011192\nvn -0.286480933 0.954765737 0.079693981\nvn -0.07318902 0.585808158 -0.807138205\nvn -1 0 0\nvn -1 0 0\nvn -1 0 0\nvn -1 0 0\nvn -1 0 0\nvn -1 0 0\nvn -1 0 0\nvn -1 0 0\nvn -1 0 0\nvn -1 0 0\nvn -1 0 0\nvn -1 0 0\nvn -1 0 0\nvn -1 0 0\nvn -1 0 0\nvn -1 0 0\nvn -1 0 0\nvn -1 0 0\nvn 1 0.000071 0.000042\nvn 1 0.000074 0.000043\nvn 1 0.000072 0.000042\nvn 1 0.000071 0.000041\nvn 1 0.000074 0.000038\nvn 1 0.00007 0.00004\nvn 1 -0.000072 0.000041\nvn 1 -0.000074 0.000043\nvn 1 -0.000072 0.000042\nvn 1 -0.000071 0.000041\nvn 1 -0.00007 0.000045\nvn 1 -0.00007 0.00004\nvn 1 0.000001 -0.000083\nvn 1 0 -0.000085\nvn 1 0 -0.000083\nvn 1 0 -0.000082\nvn 1 -0.000004 -0.000083\nvn 1 0 -0.00008\nusemtl rope\nf 1/1/1 2/2/2 3/3/3\nf 1/1/1 3/3/3 4/4/4\nf 4/4/4 3/3/3 5/5/5\nf 4/4/4 5/5/5 6/6/6\nf 7/7/7 8/8/8 9/9/9\nf 7/7/7 9/9/9 10/10/10\nf 10/10/10 9/9/9 11/11/11\nf 10/10/10 11/11/11 12/12/12\nf 12/12/12 11/11/11 13/13/13\nf 12/12/12 13/13/13 14/14/14\nf 14/14/14 13/13/13 2/2/2\nf 14/14/14 2/2/2 1/1/1\nf 2/2/2 15/15/15 16/16/16\nf 2/2/2 16/16/16 3/3/3\nf 3/3/3 16/16/16 17/17/17\nf 3/3/3 17/17/17 5/5/5\nf 8/8/8 18/18/18 19/19/19\nf 8/8/8 19/19/19 9/9/9\nf 9/9/9 19/19/19 20/20/20\nf 9/9/9 20/20/20 11/11/11\nf 11/11/11 20/20/20 21/21/21\nf 11/11/11 21/21/21 13/13/13\nf 13/13/13 21/21/21 15/15/15\nf 13/13/13 15/15/15 2/2/2\nf 15/15/15 22/22/22 23/23/23\nf 15/15/15 23/23/23 16/16/16\nf 16/16/16 23/23/23 24/24/24\nf 16/16/16 24/24/24 17/17/17\nf 18/18/18 25/25/25 26/26/26\nf 18/18/18 26/26/26 19/19/19\nf 19/19/19 26/26/26 27/27/27\nf 19/19/19 27/27/27 20/20/20\nf 20/20/20 27/27/27 28/28/28\nf 20/20/20 28/28/28 21/21/21\nf 21/21/21 28/28/28 22/22/22\nf 21/21/21 22/22/22 15/15/15\nf 22/22/22 29/29/29 30/30/30\nf 22/22/22 30/30/30 23/23/23\nf 23/23/23 30/30/30 31/31/31\nf 23/23/23 31/31/31 24/24/24\nf 25/25/25 32/32/32 33/33/33\nf 25/25/25 33/33/33 26/26/26\nf 26/26/26 33/33/33 34/34/34\nf 26/26/26 34/34/34 27/27/27\nf 27/27/27 34/34/34 35/35/35\nf 27/27/27 35/35/35 28/28/28\nf 28/28/28 35/35/35 29/29/29\nf 28/28/28 29/29/29 22/22/22\nf 29/29/29 36/36/36 37/37/37\nf 29/29/29 37/37/37 30/30/30\nf 30/30/30 37/37/37 38/38/38\nf 30/30/30 38/38/38 31/31/31\nf 32/32/32 39/39/39 40/40/40\nf 32/32/32 40/40/40 33/33/33\nf 33/33/33 40/40/40 41/41/41\nf 33/33/33 41/41/41 34/34/34\nf 34/34/34 41/41/41 42/42/42\nf 34/34/34 42/42/42 35/35/35\nf 35/35/35 42/42/42 36/36/36\nf 35/35/35 36/36/36 29/29/29\nf 36/36/36 43/43/43 44/44/44\nf 36/36/36 44/44/44 37/37/37\nf 37/37/37 44/44/44 45/45/45\nf 37/37/37 45/45/45 38/38/38\nf 39/39/39 46/46/46 47/47/47\nf 39/39/39 47/47/47 40/40/40\nf 40/40/40 47/47/47 48/48/48\nf 40/40/40 48/48/48 41/41/41\nf 41/41/41 48/48/48 49/49/49\nf 41/41/41 49/49/49 42/42/42\nf 42/42/42 49/49/49 43/43/43\nf 42/42/42 43/43/43 36/36/36\nf 43/43/43 50/50/50 51/51/51\nf 43/43/43 51/51/51 44/44/44\nf 44/44/44 51/51/51 52/52/52\nf 44/44/44 52/52/52 45/45/45\nf 46/46/46 53/53/53 54/54/54\nf 46/46/46 54/54/54 47/47/47\nf 47/47/47 54/54/54 55/55/55\nf 47/47/47 55/55/55 48/48/48\nf 48/48/48 55/55/55 56/56/56\nf 48/48/48 56/56/56 49/49/49\nf 49/49/49 56/56/56 50/50/50\nf 49/49/49 50/50/50 43/43/43\nf 50/50/50 57/57/57 58/58/58\nf 50/50/50 58/58/58 51/51/51\nf 51/51/51 58/58/58 59/59/59\nf 51/51/51 59/59/59 52/52/52\nf 53/53/53 60/60/60 61/61/61\nf 53/53/53 61/61/61 54/54/54\nf 54/54/54 61/61/61 62/62/62\nf 54/54/54 62/62/62 55/55/55\nf 55/55/55 62/62/62 63/63/63\nf 55/55/55 63/63/63 56/56/56\nf 56/56/56 63/63/63 57/57/57\nf 56/56/56 57/57/57 50/50/50\nf 57/57/57 64/64/64 65/65/65\nf 57/57/57 65/65/65 58/58/58\nf 58/58/58 65/65/65 66/66/66\nf 58/58/58 66/66/66 59/59/59\nf 60/60/60 67/67/67 68/68/68\nf 60/60/60 68/68/68 61/61/61\nf 61/61/61 68/68/68 69/69/69\nf 61/61/61 69/69/69 62/62/62\nf 62/62/62 69/69/69 70/70/70\nf 62/62/62 70/70/70 63/63/63\nf 63/63/63 70/70/70 64/64/64\nf 63/63/63 64/64/64 57/57/57\nf 64/64/64 71/71/71 72/72/72\nf 64/64/64 72/72/72 65/65/65\nf 65/65/65 72/72/72 73/73/73\nf 65/65/65 73/73/73 66/66/66\nf 67/67/67 74/74/74 75/75/75\nf 67/67/67 75/75/75 68/68/68\nf 68/68/68 75/75/75 76/76/76\nf 68/68/68 76/76/76 69/69/69\nf 69/69/69 76/76/76 77/77/77\nf 69/69/69 77/77/77 70/70/70\nf 70/70/70 77/77/77 71/71/71\nf 70/70/70 71/71/71 64/64/64\nf 71/71/71 78/78/78 79/79/79\nf 71/71/71 79/79/79 72/72/72\nf 72/72/72 79/79/79 80/80/80\nf 72/72/72 80/80/80 73/73/73\nf 74/74/74 81/81/81 82/82/82\nf 74/74/74 82/82/82 75/75/75\nf 75/75/75 82/82/82 83/83/83\nf 75/75/75 83/83/83 76/76/76\nf 76/76/76 83/83/83 84/84/84\nf 76/76/76 84/84/84 77/77/77\nf 77/77/77 84/84/84 78/78/78\nf 77/77/77 78/78/78 71/71/71\nf 78/78/78 85/85/85 86/86/86\nf 78/78/78 86/86/86 79/79/79\nf 79/79/79 86/86/86 87/87/87\nf 79/79/79 87/87/87 80/80/80\nf 81/81/81 88/88/88 89/89/89\nf 81/81/81 89/89/89 82/82/82\nf 82/82/82 89/89/89 90/90/90\nf 82/82/82 90/90/90 83/83/83\nf 83/83/83 90/90/90 91/91/91\nf 83/83/83 91/91/91 84/84/84\nf 84/84/84 91/91/91 85/85/85\nf 84/84/84 85/85/85 78/78/78\nf 85/85/85 92/92/92 93/93/93\nf 85/85/85 93/93/93 86/86/86\nf 86/86/86 93/93/93 94/94/94\nf 86/86/86 94/94/94 87/87/87\nf 88/88/88 95/95/95 96/96/96\nf 88/88/88 96/96/96 89/89/89\nf 89/89/89 96/96/96 97/97/97\nf 89/89/89 97/97/97 90/90/90\nf 90/90/90 97/97/97 98/98/98\nf 90/90/90 98/98/98 91/91/91\nf 91/91/91 98/98/98 92/92/92\nf 91/91/91 92/92/92 85/85/85\nf 92/92/92 99/99/99 100/100/100\nf 92/92/92 100/100/100 93/93/93\nf 93/93/93 100/100/100 101/101/101\nf 93/93/93 101/101/101 94/94/94\nf 95/95/95 102/102/102 103/103/103\nf 95/95/95 103/103/103 96/96/96\nf 96/96/96 103/103/103 104/104/104\nf 96/96/96 104/104/104 97/97/97\nf 97/97/97 104/104/104 105/105/105\nf 97/97/97 105/105/105 98/98/98\nf 98/98/98 105/105/105 99/99/99\nf 98/98/98 99/99/99 92/92/92\nf 99/99/99 106/106/106 107/107/107\nf 99/99/99 107/107/107 100/100/100\nf 100/100/100 107/107/107 108/108/108\nf 100/100/100 108/108/108 101/101/101\nf 102/102/102 109/109/109 110/110/110\nf 102/102/102 110/110/110 103/103/103\nf 103/103/103 110/110/110 111/111/111\nf 103/103/103 111/111/111 104/104/104\nf 104/104/104 111/111/111 112/112/112\nf 104/104/104 112/112/112 105/105/105\nf 105/105/105 112/112/112 106/106/106\nf 105/105/105 106/106/106 99/99/99\nf 106/106/106 113/113/113 114/114/114\nf 106/106/106 114/114/114 107/107/107\nf 107/107/107 114/114/114 115/115/115\nf 107/107/107 115/115/115 108/108/108\nf 109/109/109 116/116/116 117/117/117\nf 109/109/109 117/117/117 110/110/110\nf 110/110/110 117/117/117 118/118/118\nf 110/110/110 118/118/118 111/111/111\nf 111/111/111 118/118/118 119/119/119\nf 111/111/111 119/119/119 112/112/112\nf 112/112/112 119/119/119 113/113/113\nf 112/112/112 113/113/113 106/106/106\nf 120/120/120 121/121/121 122/122/122\nf 120/120/120 122/122/122 123/123/123\nf 123/123/123 122/122/122 124/124/124\nf 123/123/123 124/124/124 125/125/125\nf 126/126/126 127/127/127 128/128/128\nf 126/126/126 128/128/128 129/129/129\nf 129/129/129 128/128/128 130/130/130\nf 129/129/129 130/130/130 131/131/131\nf 131/131/131 130/130/130 132/132/132\nf 131/131/131 132/132/132 133/133/133\nf 133/133/133 132/132/132 121/121/121\nf 133/133/133 121/121/121 120/120/120\nf 121/121/121 134/134/134 135/135/135\nf 121/121/121 135/135/135 122/122/122\nf 122/122/122 135/135/135 136/136/136\nf 122/122/122 136/136/136 124/124/124\nf 127/127/127 137/137/137 138/138/138\nf 127/127/127 138/138/138 128/128/128\nf 128/128/128 138/138/138 139/139/139\nf 128/128/128 139/139/139 130/130/130\nf 130/130/130 139/139/139 140/140/140\nf 130/130/130 140/140/140 132/132/132\nf 132/132/132 140/140/140 134/134/134\nf 132/132/132 134/134/134 121/121/121\nf 134/134/134 141/141/141 142/142/142\nf 134/134/134 142/142/142 135/135/135\nf 135/135/135 142/142/142 143/143/143\nf 135/135/135 143/143/143 136/136/136\nf 137/137/137 144/144/144 145/145/145\nf 137/137/137 145/145/145 138/138/138\nf 138/138/138 145/145/145 146/146/146\nf 138/138/138 146/146/146 139/139/139\nf 139/139/139 146/146/146 147/147/147\nf 139/139/139 147/147/147 140/140/140\nf 140/140/140 147/147/147 141/141/141\nf 140/140/140 141/141/141 134/134/134\nf 141/141/141 148/148/148 149/149/149\nf 141/141/141 149/149/149 142/142/142\nf 142/142/142 149/149/149 150/150/150\nf 142/142/142 150/150/150 143/143/143\nf 144/144/144 151/151/151 152/152/152\nf 144/144/144 152/152/152 145/145/145\nf 145/145/145 152/152/152 153/153/153\nf 145/145/145 153/153/153 146/146/146\nf 146/146/146 153/153/153 154/154/154\nf 146/146/146 154/154/154 147/147/147\nf 147/147/147 154/154/154 148/148/148\nf 147/147/147 148/148/148 141/141/141\nf 148/148/148 155/155/155 156/156/156\nf 148/148/148 156/156/156 149/149/149\nf 149/149/149 156/156/156 157/157/157\nf 149/149/149 157/157/157 150/150/150\nf 151/151/151 158/158/158 159/159/159\nf 151/151/151 159/159/159 152/152/152\nf 152/152/152 159/159/159 160/160/160\nf 152/152/152 160/160/160 153/153/153\nf 153/153/153 160/160/160 161/161/161\nf 153/153/153 161/161/161 154/154/154\nf 154/154/154 161/161/161 155/155/155\nf 154/154/154 155/155/155 148/148/148\nf 155/155/155 162/162/162 163/163/163\nf 155/155/155 163/163/163 156/156/156\nf 156/156/156 163/163/163 164/164/164\nf 156/156/156 164/164/164 157/157/157\nf 158/158/158 165/165/165 166/166/166\nf 158/158/158 166/166/166 159/159/159\nf 159/159/159 166/166/166 167/167/167\nf 159/159/159 167/167/167 160/160/160\nf 160/160/160 167/167/167 168/168/168\nf 160/160/160 168/168/168 161/161/161\nf 161/161/161 168/168/168 162/162/162\nf 161/161/161 162/162/162 155/155/155\nf 162/162/162 169/169/169 170/170/170\nf 162/162/162 170/170/170 163/163/163\nf 163/163/163 170/170/170 171/171/171\nf 163/163/163 171/171/171 164/164/164\nf 165/165/165 172/172/172 173/173/173\nf 165/165/165 173/173/173 166/166/166\nf 166/166/166 173/173/173 174/174/174\nf 166/166/166 174/174/174 167/167/167\nf 167/167/167 174/174/174 175/175/175\nf 167/167/167 175/175/175 168/168/168\nf 168/168/168 175/175/175 169/169/169\nf 168/168/168 169/169/169 162/162/162\nf 169/169/169 176/176/176 177/177/177\nf 169/169/169 177/177/177 170/170/170\nf 170/170/170 177/177/177 178/178/178\nf 170/170/170 178/178/178 171/171/171\nf 172/172/172 179/179/179 180/180/180\nf 172/172/172 180/180/180 173/173/173\nf 173/173/173 180/180/180 181/181/181\nf 173/173/173 181/181/181 174/174/174\nf 174/174/174 181/181/181 182/182/182\nf 174/174/174 182/182/182 175/175/175\nf 175/175/175 182/182/182 176/176/176\nf 175/175/175 176/176/176 169/169/169\nf 176/176/176 183/183/183 184/184/184\nf 176/176/176 184/184/184 177/177/177\nf 177/177/177 184/184/184 185/185/185\nf 177/177/177 185/185/185 178/178/178\nf 179/179/179 186/186/186 187/187/187\nf 179/179/179 187/187/187 180/180/180\nf 180/180/180 187/187/187 188/188/188\nf 180/180/180 188/188/188 181/181/181\nf 181/181/181 188/188/188 189/189/189\nf 181/181/181 189/189/189 182/182/182\nf 182/182/182 189/189/189 183/183/183\nf 182/182/182 183/183/183 176/176/176\nf 183/183/183 190/190/190 191/191/191\nf 183/183/183 191/191/191 184/184/184\nf 184/184/184 191/191/191 192/192/192\nf 184/184/184 192/192/192 185/185/185\nf 186/186/186 193/193/193 194/194/194\nf 186/186/186 194/194/194 187/187/187\nf 187/187/187 194/194/194 195/195/195\nf 187/187/187 195/195/195 188/188/188\nf 188/188/188 195/195/195 196/196/196\nf 188/188/188 196/196/196 189/189/189\nf 189/189/189 196/196/196 190/190/190\nf 189/189/189 190/190/190 183/183/183\nf 190/190/190 197/197/197 198/198/198\nf 190/190/190 198/198/198 191/191/191\nf 191/191/191 198/198/198 199/199/199\nf 191/191/191 199/199/199 192/192/192\nf 193/193/193 200/200/200 201/201/201\nf 193/193/193 201/201/201 194/194/194\nf 194/194/194 201/201/201 202/202/202\nf 194/194/194 202/202/202 195/195/195\nf 195/195/195 202/202/202 203/203/203\nf 195/195/195 203/203/203 196/196/196\nf 196/196/196 203/203/203 197/197/197\nf 196/196/196 197/197/197 190/190/190\nf 197/197/197 204/204/204 205/205/205\nf 197/197/197 205/205/205 198/198/198\nf 198/198/198 205/205/205 206/206/206\nf 198/198/198 206/206/206 199/199/199\nf 200/200/200 207/207/207 208/208/208\nf 200/200/200 208/208/208 201/201/201\nf 201/201/201 208/208/208 209/209/209\nf 201/201/201 209/209/209 202/202/202\nf 202/202/202 209/209/209 210/210/210\nf 202/202/202 210/210/210 203/203/203\nf 203/203/203 210/210/210 204/204/204\nf 203/203/203 204/204/204 197/197/197\nf 204/204/204 211/211/211 212/212/212\nf 204/204/204 212/212/212 205/205/205\nf 205/205/205 212/212/212 213/213/213\nf 205/205/205 213/213/213 206/206/206\nf 207/207/207 214/214/214 215/215/215\nf 207/207/207 215/215/215 208/208/208\nf 208/208/208 215/215/215 216/216/216\nf 208/208/208 216/216/216 209/209/209\nf 209/209/209 216/216/216 217/217/217\nf 209/209/209 217/217/217 210/210/210\nf 210/210/210 217/217/217 211/211/211\nf 210/210/210 211/211/211 204/204/204\nf 211/211/211 218/218/218 219/219/219\nf 211/211/211 219/219/219 212/212/212\nf 212/212/212 219/219/219 220/220/220\nf 212/212/212 220/220/220 213/213/213\nf 214/214/214 221/221/221 222/222/222\nf 214/214/214 222/222/222 215/215/215\nf 215/215/215 222/222/222 223/223/223\nf 215/215/215 223/223/223 216/216/216\nf 216/216/216 223/223/223 224/224/224\nf 216/216/216 224/224/224 217/217/217\nf 217/217/217 224/224/224 218/218/218\nf 217/217/217 218/218/218 211/211/211\nf 218/218/218 225/225/225 226/226/226\nf 218/218/218 226/226/226 219/219/219\nf 219/219/219 226/226/226 227/227/227\nf 219/219/219 227/227/227 220/220/220\nf 221/221/221 228/228/228 229/229/229\nf 221/221/221 229/229/229 222/222/222\nf 222/222/222 229/229/229 230/230/230\nf 222/222/222 230/230/230 223/223/223\nf 223/223/223 230/230/230 231/231/231\nf 223/223/223 231/231/231 224/224/224\nf 224/224/224 231/231/231 225/225/225\nf 224/224/224 225/225/225 218/218/218\nf 225/225/225 232/232/232 233/233/233\nf 225/225/225 233/233/233 226/226/226\nf 226/226/226 233/233/233 234/234/234\nf 226/226/226 234/234/234 227/227/227\nf 228/228/228 235/235/235 236/236/236\nf 228/228/228 236/236/236 229/229/229\nf 229/229/229 236/236/236 237/237/237\nf 229/229/229 237/237/237 230/230/230\nf 230/230/230 237/237/237 238/238/238\nf 230/230/230 238/238/238 231/231/231\nf 231/231/231 238/238/238 232/232/232\nf 231/231/231 232/232/232 225/225/225\nf 239/239/239 240/240/240 241/241/241\nf 239/239/239 241/241/241 242/242/242\nf 242/242/242 241/241/241 243/243/243\nf 242/242/242 243/243/243 244/244/244\nf 245/245/245 246/246/246 247/247/247\nf 245/245/245 247/247/247 248/248/248\nf 248/248/248 247/247/247 249/249/249\nf 248/248/248 249/249/249 250/250/250\nf 250/250/250 249/249/249 251/251/251\nf 250/250/250 251/251/251 252/252/252\nf 252/252/252 251/251/251 240/240/240\nf 252/252/252 240/240/240 239/239/239\nf 240/240/240 253/253/253 254/254/254\nf 240/240/240 254/254/254 241/241/241\nf 241/241/241 254/254/254 255/255/255\nf 241/241/241 255/255/255 243/243/243\nf 246/246/246 256/256/256 257/257/257\nf 246/246/246 257/257/257 247/247/247\nf 247/247/247 257/257/257 258/258/258\nf 247/247/247 258/258/258 249/249/249\nf 249/249/249 258/258/258 259/259/259\nf 249/249/249 259/259/259 251/251/251\nf 251/251/251 259/259/259 253/253/253\nf 251/251/251 253/253/253 240/240/240\nf 253/253/253 260/260/260 261/261/261\nf 253/253/253 261/261/261 254/254/254\nf 254/254/254 261/261/261 262/262/262\nf 254/254/254 262/262/262 255/255/255\nf 256/256/256 263/263/263 264/264/264\nf 256/256/256 264/264/264 257/257/257\nf 257/257/257 264/264/264 265/265/265\nf 257/257/257 265/265/265 258/258/258\nf 258/258/258 265/265/265 266/266/266\nf 258/258/258 266/266/266 259/259/259\nf 259/259/259 266/266/266 260/260/260\nf 259/259/259 260/260/260 253/253/253\nf 260/260/260 267/267/267 268/268/268\nf 260/260/260 268/268/268 261/261/261\nf 261/261/261 268/268/268 269/269/269\nf 261/261/261 269/269/269 262/262/262\nf 263/263/263 270/270/270 271/271/271\nf 263/263/263 271/271/271 264/264/264\nf 264/264/264 271/271/271 272/272/272\nf 264/264/264 272/272/272 265/265/265\nf 265/265/265 272/272/272 273/273/273\nf 265/265/265 273/273/273 266/266/266\nf 266/266/266 273/273/273 267/267/267\nf 266/266/266 267/267/267 260/260/260\nf 267/267/267 274/274/274 275/275/275\nf 267/267/267 275/275/275 268/268/268\nf 268/268/268 275/275/275 276/276/276\nf 268/268/268 276/276/276 269/269/269\nf 270/270/270 277/277/277 278/278/278\nf 270/270/270 278/278/278 271/271/271\nf 271/271/271 278/278/278 279/279/279\nf 271/271/271 279/279/279 272/272/272\nf 272/272/272 279/279/279 280/280/280\nf 272/272/272 280/280/280 273/273/273\nf 273/273/273 280/280/280 274/274/274\nf 273/273/273 274/274/274 267/267/267\nf 274/274/274 281/281/281 282/282/282\nf 274/274/274 282/282/282 275/275/275\nf 275/275/275 282/282/282 283/283/283\nf 275/275/275 283/283/283 276/276/276\nf 277/277/277 284/284/284 285/285/285\nf 277/277/277 285/285/285 278/278/278\nf 278/278/278 285/285/285 286/286/286\nf 278/278/278 286/286/286 279/279/279\nf 279/279/279 286/286/286 287/287/287\nf 279/279/279 287/287/287 280/280/280\nf 280/280/280 287/287/287 281/281/281\nf 280/280/280 281/281/281 274/274/274\nf 281/281/281 288/288/288 289/289/289\nf 281/281/281 289/289/289 282/282/282\nf 282/282/282 289/289/289 290/290/290\nf 282/282/282 290/290/290 283/283/283\nf 284/284/284 291/291/291 292/292/292\nf 284/284/284 292/292/292 285/285/285\nf 285/285/285 292/292/292 293/293/293\nf 285/285/285 293/293/293 286/286/286\nf 286/286/286 293/293/293 294/294/294\nf 286/286/286 294/294/294 287/287/287\nf 287/287/287 294/294/294 288/288/288\nf 287/287/287 288/288/288 281/281/281\nf 288/288/288 295/295/295 296/296/296\nf 288/288/288 296/296/296 289/289/289\nf 289/289/289 296/296/296 297/297/297\nf 289/289/289 297/297/297 290/290/290\nf 291/291/291 298/298/298 299/299/299\nf 291/291/291 299/299/299 292/292/292\nf 292/292/292 299/299/299 300/300/300\nf 292/292/292 300/300/300 293/293/293\nf 293/293/293 300/300/300 301/301/301\nf 293/293/293 301/301/301 294/294/294\nf 294/294/294 301/301/301 295/295/295\nf 294/294/294 295/295/295 288/288/288\nf 295/295/295 302/302/302 303/303/303\nf 295/295/295 303/303/303 296/296/296\nf 296/296/296 303/303/303 304/304/304\nf 296/296/296 304/304/304 297/297/297\nf 298/298/298 305/305/305 306/306/306\nf 298/298/298 306/306/306 299/299/299\nf 299/299/299 306/306/306 307/307/307\nf 299/299/299 307/307/307 300/300/300\nf 300/300/300 307/307/307 308/308/308\nf 300/300/300 308/308/308 301/301/301\nf 301/301/301 308/308/308 302/302/302\nf 301/301/301 302/302/302 295/295/295\nf 302/302/302 309/309/309 310/310/310\nf 302/302/302 310/310/310 303/303/303\nf 303/303/303 310/310/310 311/311/311\nf 303/303/303 311/311/311 304/304/304\nf 305/305/305 312/312/312 313/313/313\nf 305/305/305 313/313/313 306/306/306\nf 306/306/306 313/313/313 314/314/314\nf 306/306/306 314/314/314 307/307/307\nf 307/307/307 314/314/314 315/315/315\nf 307/307/307 315/315/315 308/308/308\nf 308/308/308 315/315/315 309/309/309\nf 308/308/308 309/309/309 302/302/302\nf 309/309/309 316/316/316 317/317/317\nf 309/309/309 317/317/317 310/310/310\nf 310/310/310 317/317/317 318/318/318\nf 310/310/310 318/318/318 311/311/311\nf 312/312/312 319/319/319 320/320/320\nf 312/312/312 320/320/320 313/313/313\nf 313/313/313 320/320/320 321/321/321\nf 313/313/313 321/321/321 314/314/314\nf 314/314/314 321/321/321 322/322/322\nf 314/314/314 322/322/322 315/315/315\nf 315/315/315 322/322/322 316/316/316\nf 315/315/315 316/316/316 309/309/309\nf 316/316/316 323/323/323 324/324/324\nf 316/316/316 324/324/324 317/317/317\nf 317/317/317 324/324/324 325/325/325\nf 317/317/317 325/325/325 318/318/318\nf 319/319/319 326/326/326 327/327/327\nf 319/319/319 327/327/327 320/320/320\nf 320/320/320 327/327/327 328/328/328\nf 320/320/320 328/328/328 321/321/321\nf 321/321/321 328/328/328 329/329/329\nf 321/321/321 329/329/329 322/322/322\nf 322/322/322 329/329/329 323/323/323\nf 322/322/322 323/323/323 316/316/316\nf 323/323/323 330/330/330 331/331/331\nf 323/323/323 331/331/331 324/324/324\nf 324/324/324 331/331/331 332/332/332\nf 324/324/324 332/332/332 325/325/325\nf 326/326/326 333/333/333 334/334/334\nf 326/326/326 334/334/334 327/327/327\nf 327/327/327 334/334/334 335/335/335\nf 327/327/327 335/335/335 328/328/328\nf 328/328/328 335/335/335 336/336/336\nf 328/328/328 336/336/336 329/329/329\nf 329/329/329 336/336/336 330/330/330\nf 329/329/329 330/330/330 323/323/323\nf 330/330/330 337/337/337 338/338/338\nf 330/330/330 338/338/338 331/331/331\nf 331/331/331 338/338/338 339/339/339\nf 331/331/331 339/339/339 332/332/332\nf 333/333/333 340/340/340 341/341/341\nf 333/333/333 341/341/341 334/334/334\nf 334/334/334 341/341/341 342/342/342\nf 334/334/334 342/342/342 335/335/335\nf 335/335/335 342/342/342 343/343/343\nf 335/335/335 343/343/343 336/336/336\nf 336/336/336 343/343/343 337/337/337\nf 336/336/336 337/337/337 330/330/330\nf 337/337/337 344/344/344 345/345/345\nf 337/337/337 345/345/345 338/338/338\nf 338/338/338 345/345/345 346/346/346\nf 338/338/338 346/346/346 339/339/339\nf 340/340/340 347/347/347 348/348/348\nf 340/340/340 348/348/348 341/341/341\nf 341/341/341 348/348/348 349/349/349\nf 341/341/341 349/349/349 342/342/342\nf 342/342/342 349/349/349 350/350/350\nf 342/342/342 350/350/350 343/343/343\nf 343/343/343 350/350/350 344/344/344\nf 343/343/343 344/344/344 337/337/337\nf 344/344/344 351/351/351 352/352/352\nf 344/344/344 352/352/352 345/345/345\nf 345/345/345 352/352/352 353/353/353\nf 345/345/345 353/353/353 346/346/346\nf 347/347/347 354/354/354 355/355/355\nf 347/347/347 355/355/355 348/348/348\nf 348/348/348 355/355/355 356/356/356\nf 348/348/348 356/356/356 349/349/349\nf 349/349/349 356/356/356 357/357/357\nf 349/349/349 357/357/357 350/350/350\nf 350/350/350 357/357/357 351/351/351\nf 350/350/350 351/351/351 344/344/344\nf 358/358/358 359/359/359 360/360/360\nf 358/358/358 360/360/360 361/361/361\nf 361/361/361 360/360/360 362/362/362\nf 361/361/361 362/362/362 363/363/363\nf 364/364/364 365/365/365 366/366/366\nf 364/364/364 366/366/366 367/367/367\nf 367/367/367 366/366/366 368/368/368\nf 367/367/367 368/368/368 369/369/369\nf 369/369/369 368/368/368 370/370/370\nf 369/369/369 370/370/370 371/371/371\nf 371/371/371 370/370/370 359/359/359\nf 371/371/371 359/359/359 358/358/358\nf 359/359/359 372/372/372 373/373/373\nf 359/359/359 373/373/373 360/360/360\nf 360/360/360 373/373/373 374/374/374\nf 360/360/360 374/374/374 362/362/362\nf 365/365/365 375/375/375 376/376/376\nf 365/365/365 376/376/376 366/366/366\nf 366/366/366 376/376/376 377/377/377\nf 366/366/366 377/377/377 368/368/368\nf 368/368/368 377/377/377 378/378/378\nf 368/368/368 378/378/378 370/370/370\nf 370/370/370 378/378/378 372/372/372\nf 370/370/370 372/372/372 359/359/359\nf 372/372/372 379/379/379 380/380/380\nf 372/372/372 380/380/380 373/373/373\nf 373/373/373 380/380/380 381/381/381\nf 373/373/373 381/381/381 374/374/374\nf 375/375/375 382/382/382 383/383/383\nf 375/375/375 383/383/383 376/376/376\nf 376/376/376 383/383/383 384/384/384\nf 376/376/376 384/384/384 377/377/377\nf 377/377/377 384/384/384 385/385/385\nf 377/377/377 385/385/385 378/378/378\nf 378/378/378 385/385/385 379/379/379\nf 378/378/378 379/379/379 372/372/372\nf 379/379/379 386/386/386 387/387/387\nf 379/379/379 387/387/387 380/380/380\nf 380/380/380 387/387/387 388/388/388\nf 380/380/380 388/388/388 381/381/381\nf 382/382/382 389/389/389 390/390/390\nf 382/382/382 390/390/390 383/383/383\nf 383/383/383 390/390/390 391/391/391\nf 383/383/383 391/391/391 384/384/384\nf 384/384/384 391/391/391 392/392/392\nf 384/384/384 392/392/392 385/385/385\nf 385/385/385 392/392/392 386/386/386\nf 385/385/385 386/386/386 379/379/379\nf 386/386/386 393/393/393 394/394/394\nf 386/386/386 394/394/394 387/387/387\nf 387/387/387 394/394/394 395/395/395\nf 387/387/387 395/395/395 388/388/388\nf 389/389/389 396/396/396 397/397/397\nf 389/389/389 397/397/397 390/390/390\nf 390/390/390 397/397/397 398/398/398\nf 390/390/390 398/398/398 391/391/391\nf 391/391/391 398/398/398 399/399/399\nf 391/391/391 399/399/399 392/392/392\nf 392/392/392 399/399/399 393/393/393\nf 392/392/392 393/393/393 386/386/386\nf 393/393/393 400/400/400 401/401/401\nf 393/393/393 401/401/401 394/394/394\nf 394/394/394 401/401/401 402/402/402\nf 394/394/394 402/402/402 395/395/395\nf 396/396/396 403/403/403 404/404/404\nf 396/396/396 404/404/404 397/397/397\nf 397/397/397 404/404/404 405/405/405\nf 397/397/397 405/405/405 398/398/398\nf 398/398/398 405/405/405 406/406/406\nf 398/398/398 406/406/406 399/399/399\nf 399/399/399 406/406/406 400/400/400\nf 399/399/399 400/400/400 393/393/393\nf 400/400/400 407/407/407 408/408/408\nf 400/400/400 408/408/408 401/401/401\nf 401/401/401 408/408/408 409/409/409\nf 401/401/401 409/409/409 402/402/402\nf 403/403/403 410/410/410 411/411/411\nf 403/403/403 411/411/411 404/404/404\nf 404/404/404 411/411/411 412/412/412\nf 404/404/404 412/412/412 405/405/405\nf 405/405/405 412/412/412 413/413/413\nf 405/405/405 413/413/413 406/406/406\nf 406/406/406 413/413/413 407/407/407\nf 406/406/406 407/407/407 400/400/400\nf 407/407/407 414/414/414 415/415/415\nf 407/407/407 415/415/415 408/408/408\nf 408/408/408 415/415/415 416/416/416\nf 408/408/408 416/416/416 409/409/409\nf 410/410/410 417/417/417 418/418/418\nf 410/410/410 418/418/418 411/411/411\nf 411/411/411 418/418/418 419/419/419\nf 411/411/411 419/419/419 412/412/412\nf 412/412/412 419/419/419 420/420/420\nf 412/412/412 420/420/420 413/413/413\nf 413/413/413 420/420/420 414/414/414\nf 413/413/413 414/414/414 407/407/407\nf 414/414/414 421/421/421 422/422/422\nf 414/414/414 422/422/422 415/415/415\nf 415/415/415 422/422/422 423/423/423\nf 415/415/415 423/423/423 416/416/416\nf 417/417/417 424/424/424 425/425/425\nf 417/417/417 425/425/425 418/418/418\nf 418/418/418 425/425/425 426/426/426\nf 418/418/418 426/426/426 419/419/419\nf 419/419/419 426/426/426 427/427/427\nf 419/419/419 427/427/427 420/420/420\nf 420/420/420 427/427/427 421/421/421\nf 420/420/420 421/421/421 414/414/414\nf 421/421/421 428/428/428 429/429/429\nf 421/421/421 429/429/429 422/422/422\nf 422/422/422 429/429/429 430/430/430\nf 422/422/422 430/430/430 423/423/423\nf 424/424/424 431/431/431 432/432/432\nf 424/424/424 432/432/432 425/425/425\nf 425/425/425 432/432/432 433/433/433\nf 425/425/425 433/433/433 426/426/426\nf 426/426/426 433/433/433 434/434/434\nf 426/426/426 434/434/434 427/427/427\nf 427/427/427 434/434/434 428/428/428\nf 427/427/427 428/428/428 421/421/421\nf 428/428/428 435/435/435 436/436/436\nf 428/428/428 436/436/436 429/429/429\nf 429/429/429 436/436/436 437/437/437\nf 429/429/429 437/437/437 430/430/430\nf 431/431/431 438/438/438 439/439/439\nf 431/431/431 439/439/439 432/432/432\nf 432/432/432 439/439/439 440/440/440\nf 432/432/432 440/440/440 433/433/433\nf 433/433/433 440/440/440 441/441/441\nf 433/433/433 441/441/441 434/434/434\nf 434/434/434 441/441/441 435/435/435\nf 434/434/434 435/435/435 428/428/428\nf 435/435/435 442/442/442 443/443/443\nf 435/435/435 443/443/443 436/436/436\nf 436/436/436 443/443/443 444/444/444\nf 436/436/436 444/444/444 437/437/437\nf 438/438/438 445/445/445 446/446/446\nf 438/438/438 446/446/446 439/439/439\nf 439/439/439 446/446/446 447/447/447\nf 439/439/439 447/447/447 440/440/440\nf 440/440/440 447/447/447 448/448/448\nf 440/440/440 448/448/448 441/441/441\nf 441/441/441 448/448/448 442/442/442\nf 441/441/441 442/442/442 435/435/435\nf 442/442/442 449/449/449 450/450/450\nf 442/442/442 450/450/450 443/443/443\nf 443/443/443 450/450/450 451/451/451\nf 443/443/443 451/451/451 444/444/444\nf 445/445/445 452/452/452 453/453/453\nf 445/445/445 453/453/453 446/446/446\nf 446/446/446 453/453/453 454/454/454\nf 446/446/446 454/454/454 447/447/447\nf 447/447/447 454/454/454 455/455/455\nf 447/447/447 455/455/455 448/448/448\nf 448/448/448 455/455/455 449/449/449\nf 448/448/448 449/449/449 442/442/442\nf 449/449/449 456/456/456 457/457/457\nf 449/449/449 457/457/457 450/450/450\nf 450/450/450 457/457/457 458/458/458\nf 450/450/450 458/458/458 451/451/451\nf 452/452/452 459/459/459 460/460/460\nf 452/452/452 460/460/460 453/453/453\nf 453/453/453 460/460/460 461/461/461\nf 453/453/453 461/461/461 454/454/454\nf 454/454/454 461/461/461 462/462/462\nf 454/454/454 462/462/462 455/455/455\nf 455/455/455 462/462/462 456/456/456\nf 455/455/455 456/456/456 449/449/449\nf 456/456/456 463/463/463 464/464/464\nf 456/456/456 464/464/464 457/457/457\nf 457/457/457 464/464/464 465/465/465\nf 457/457/457 465/465/465 458/458/458\nf 459/459/459 466/466/466 467/467/467\nf 459/459/459 467/467/467 460/460/460\nf 460/460/460 467/467/467 468/468/468\nf 460/460/460 468/468/468 461/461/461\nf 461/461/461 468/468/468 469/469/469\nf 461/461/461 469/469/469 462/462/462\nf 462/462/462 469/469/469 463/463/463\nf 462/462/462 463/463/463 456/456/456\nf 463/463/463 470/470/470 471/471/471\nf 463/463/463 471/471/471 464/464/464\nf 464/464/464 471/471/471 472/472/472\nf 464/464/464 472/472/472 465/465/465\nf 466/466/466 473/473/473 474/474/474\nf 466/466/466 474/474/474 467/467/467\nf 467/467/467 474/474/474 475/475/475\nf 467/467/467 475/475/475 468/468/468\nf 468/468/468 475/475/475 476/476/476\nf 468/468/468 476/476/476 469/469/469\nf 469/469/469 476/476/476 470/470/470\nf 469/469/469 470/470/470 463/463/463\nf 477/477/477 478/478/478 479/479/479\nf 477/477/477 479/479/479 480/480/480\nf 480/480/480 479/479/479 481/481/481\nf 480/480/480 481/481/481 482/482/482\nf 483/483/483 484/484/484 485/485/485\nf 483/483/483 485/485/485 486/486/486\nf 486/486/486 485/485/485 487/487/487\nf 486/486/486 487/487/487 488/488/488\nf 488/488/488 487/487/487 489/489/489\nf 488/488/488 489/489/489 490/490/490\nf 490/490/490 489/489/489 478/478/478\nf 490/490/490 478/478/478 477/477/477\nf 478/478/478 491/491/491 492/492/492\nf 478/478/478 492/492/492 479/479/479\nf 479/479/479 492/492/492 493/493/493\nf 479/479/479 493/493/493 481/481/481\nf 484/484/484 494/494/494 495/495/495\nf 484/484/484 495/495/495 485/485/485\nf 485/485/485 495/495/495 496/496/496\nf 485/485/485 496/496/496 487/487/487\nf 487/487/487 496/496/496 497/497/497\nf 487/487/487 497/497/497 489/489/489\nf 489/489/489 497/497/497 491/491/491\nf 489/489/489 491/491/491 478/478/478\nf 491/491/491 498/498/498 499/499/499\nf 491/491/491 499/499/499 492/492/492\nf 492/492/492 499/499/499 500/500/500\nf 492/492/492 500/500/500 493/493/493\nf 494/494/494 501/501/501 502/502/502\nf 494/494/494 502/502/502 495/495/495\nf 495/495/495 502/502/502 503/503/503\nf 495/495/495 503/503/503 496/496/496\nf 496/496/496 503/503/503 504/504/504\nf 496/496/496 504/504/504 497/497/497\nf 497/497/497 504/504/504 498/498/498\nf 497/497/497 498/498/498 491/491/491\nf 498/498/498 505/505/505 506/506/506\nf 498/498/498 506/506/506 499/499/499\nf 499/499/499 506/506/506 507/507/507\nf 499/499/499 507/507/507 500/500/500\nf 501/501/501 508/508/508 509/509/509\nf 501/501/501 509/509/509 502/502/502\nf 502/502/502 509/509/509 510/510/510\nf 502/502/502 510/510/510 503/503/503\nf 503/503/503 510/510/510 511/511/511\nf 503/503/503 511/511/511 504/504/504\nf 504/504/504 511/511/511 505/505/505\nf 504/504/504 505/505/505 498/498/498\nf 505/505/505 512/512/512 513/513/513\nf 505/505/505 513/513/513 506/506/506\nf 506/506/506 513/513/513 514/514/514\nf 506/506/506 514/514/514 507/507/507\nf 508/508/508 515/515/515 516/516/516\nf 508/508/508 516/516/516 509/509/509\nf 509/509/509 516/516/516 517/517/517\nf 509/509/509 517/517/517 510/510/510\nf 510/510/510 517/517/517 518/518/518\nf 510/510/510 518/518/518 511/511/511\nf 511/511/511 518/518/518 512/512/512\nf 511/511/511 512/512/512 505/505/505\nf 512/512/512 519/519/519 520/520/520\nf 512/512/512 520/520/520 513/513/513\nf 513/513/513 520/520/520 521/521/521\nf 513/513/513 521/521/521 514/514/514\nf 515/515/515 522/522/522 523/523/523\nf 515/515/515 523/523/523 516/516/516\nf 516/516/516 523/523/523 524/524/524\nf 516/516/516 524/524/524 517/517/517\nf 517/517/517 524/524/524 525/525/525\nf 517/517/517 525/525/525 518/518/518\nf 518/518/518 525/525/525 519/519/519\nf 518/518/518 519/519/519 512/512/512\nf 519/519/519 526/526/526 527/527/527\nf 519/519/519 527/527/527 520/520/520\nf 520/520/520 527/527/527 528/528/528\nf 520/520/520 528/528/528 521/521/521\nf 522/522/522 529/529/529 530/530/530\nf 522/522/522 530/530/530 523/523/523\nf 523/523/523 530/530/530 531/531/531\nf 523/523/523 531/531/531 524/524/524\nf 524/524/524 531/531/531 532/532/532\nf 524/524/524 532/532/532 525/525/525\nf 525/525/525 532/532/532 526/526/526\nf 525/525/525 526/526/526 519/519/519\nf 526/526/526 533/533/533 534/534/534\nf 526/526/526 534/534/534 527/527/527\nf 527/527/527 534/534/534 535/535/535\nf 527/527/527 535/535/535 528/528/528\nf 529/529/529 536/536/536 537/537/537\nf 529/529/529 537/537/537 530/530/530\nf 530/530/530 537/537/537 538/538/538\nf 530/530/530 538/538/538 531/531/531\nf 531/531/531 538/538/538 539/539/539\nf 531/531/531 539/539/539 532/532/532\nf 532/532/532 539/539/539 533/533/533\nf 532/532/532 533/533/533 526/526/526\nf 533/533/533 540/540/540 541/541/541\nf 533/533/533 541/541/541 534/534/534\nf 534/534/534 541/541/541 542/542/542\nf 534/534/534 542/542/542 535/535/535\nf 536/536/536 543/543/543 544/544/544\nf 536/536/536 544/544/544 537/537/537\nf 537/537/537 544/544/544 545/545/545\nf 537/537/537 545/545/545 538/538/538\nf 538/538/538 545/545/545 546/546/546\nf 538/538/538 546/546/546 539/539/539\nf 539/539/539 546/546/546 540/540/540\nf 539/539/539 540/540/540 533/533/533\nf 540/540/540 547/547/547 548/548/548\nf 540/540/540 548/548/548 541/541/541\nf 541/541/541 548/548/548 549/549/549\nf 541/541/541 549/549/549 542/542/542\nf 543/543/543 550/550/550 551/551/551\nf 543/543/543 551/551/551 544/544/544\nf 544/544/544 551/551/551 552/552/552\nf 544/544/544 552/552/552 545/545/545\nf 545/545/545 552/552/552 553/553/553\nf 545/545/545 553/553/553 546/546/546\nf 546/546/546 553/553/553 547/547/547\nf 546/546/546 547/547/547 540/540/540\nf 547/547/547 554/554/554 555/555/555\nf 547/547/547 555/555/555 548/548/548\nf 548/548/548 555/555/555 556/556/556\nf 548/548/548 556/556/556 549/549/549\nf 550/550/550 557/557/557 558/558/558\nf 550/550/550 558/558/558 551/551/551\nf 551/551/551 558/558/558 559/559/559\nf 551/551/551 559/559/559 552/552/552\nf 552/552/552 559/559/559 560/560/560\nf 552/552/552 560/560/560 553/553/553\nf 553/553/553 560/560/560 554/554/554\nf 553/553/553 554/554/554 547/547/547\nf 554/554/554 561/561/561 562/562/562\nf 554/554/554 562/562/562 555/555/555\nf 555/555/555 562/562/562 563/563/563\nf 555/555/555 563/563/563 556/556/556\nf 557/557/557 564/564/564 565/565/565\nf 557/557/557 565/565/565 558/558/558\nf 558/558/558 565/565/565 566/566/566\nf 558/558/558 566/566/566 559/559/559\nf 559/559/559 566/566/566 567/567/567\nf 559/559/559 567/567/567 560/560/560\nf 560/560/560 567/567/567 561/561/561\nf 560/560/560 561/561/561 554/554/554\nf 561/561/561 568/568/568 569/569/569\nf 561/561/561 569/569/569 562/562/562\nf 562/562/562 569/569/569 570/570/570\nf 562/562/562 570/570/570 563/563/563\nf 564/564/564 571/571/571 572/572/572\nf 564/564/564 572/572/572 565/565/565\nf 565/565/565 572/572/572 573/573/573\nf 565/565/565 573/573/573 566/566/566\nf 566/566/566 573/573/573 574/574/574\nf 566/566/566 574/574/574 567/567/567\nf 567/567/567 574/574/574 568/568/568\nf 567/567/567 568/568/568 561/561/561\nf 568/568/568 575/575/575 576/576/576\nf 568/568/568 576/576/576 569/569/569\nf 569/569/569 576/576/576 577/577/577\nf 569/569/569 577/577/577 570/570/570\nf 571/571/571 578/578/578 579/579/579\nf 571/571/571 579/579/579 572/572/572\nf 572/572/572 579/579/579 580/580/580\nf 572/572/572 580/580/580 573/573/573\nf 573/573/573 580/580/580 581/581/581\nf 573/573/573 581/581/581 574/574/574\nf 574/574/574 581/581/581 575/575/575\nf 574/574/574 575/575/575 568/568/568\nf 575/575/575 582/582/582 583/583/583\nf 575/575/575 583/583/583 576/576/576\nf 576/576/576 583/583/583 584/584/584\nf 576/576/576 584/584/584 577/577/577\nf 578/578/578 585/585/585 586/586/586\nf 578/578/578 586/586/586 579/579/579\nf 579/579/579 586/586/586 587/587/587\nf 579/579/579 587/587/587 580/580/580\nf 580/580/580 587/587/587 588/588/588\nf 580/580/580 588/588/588 581/581/581\nf 581/581/581 588/588/588 582/582/582\nf 581/581/581 582/582/582 575/575/575\nf 582/582/582 589/589/589 590/590/590\nf 582/582/582 590/590/590 583/583/583\nf 583/583/583 590/590/590 591/591/591\nf 583/583/583 591/591/591 584/584/584\nf 585/585/585 592/592/592 593/593/593\nf 585/585/585 593/593/593 586/586/586\nf 586/586/586 593/593/593 594/594/594\nf 586/586/586 594/594/594 587/587/587\nf 587/587/587 594/594/594 595/595/595\nf 587/587/587 595/595/595 588/588/588\nf 588/588/588 595/595/595 589/589/589\nf 588/588/588 589/589/589 582/582/582\nf 596/596/596 597/597/597 598/598/598\nf 596/596/596 598/598/598 599/599/599\nf 599/599/599 598/598/598 600/600/600\nf 599/599/599 600/600/600 601/601/601\nf 602/602/602 603/603/603 604/604/604\nf 602/602/602 604/604/604 605/605/605\nf 605/605/605 604/604/604 606/606/606\nf 605/605/605 606/606/606 607/607/607\nf 607/607/607 606/606/606 608/608/608\nf 607/607/607 608/608/608 609/609/609\nf 609/609/609 608/608/608 597/597/597\nf 609/609/609 597/597/597 596/596/596\nf 597/597/597 610/610/610 611/611/611\nf 597/597/597 611/611/611 598/598/598\nf 598/598/598 611/611/611 612/612/612\nf 598/598/598 612/612/612 600/600/600\nf 603/603/603 613/613/613 614/614/614\nf 603/603/603 614/614/614 604/604/604\nf 604/604/604 614/614/614 615/615/615\nf 604/604/604 615/615/615 606/606/606\nf 606/606/606 615/615/615 616/616/616\nf 606/606/606 616/616/616 608/608/608\nf 608/608/608 616/616/616 610/610/610\nf 608/608/608 610/610/610 597/597/597\nf 610/610/610 617/617/617 618/618/618\nf 610/610/610 618/618/618 611/611/611\nf 611/611/611 618/618/618 619/619/619\nf 611/611/611 619/619/619 612/612/612\nf 613/613/613 620/620/620 621/621/621\nf 613/613/613 621/621/621 614/614/614\nf 614/614/614 621/621/621 622/622/622\nf 614/614/614 622/622/622 615/615/615\nf 615/615/615 622/622/622 623/623/623\nf 615/615/615 623/623/623 616/616/616\nf 616/616/616 623/623/623 617/617/617\nf 616/616/616 617/617/617 610/610/610\nf 617/617/617 624/624/624 625/625/625\nf 617/617/617 625/625/625 618/618/618\nf 618/618/618 625/625/625 626/626/626\nf 618/618/618 626/626/626 619/619/619\nf 620/620/620 627/627/627 628/628/628\nf 620/620/620 628/628/628 621/621/621\nf 621/621/621 628/628/628 629/629/629\nf 621/621/621 629/629/629 622/622/622\nf 622/622/622 629/629/629 630/630/630\nf 622/622/622 630/630/630 623/623/623\nf 623/623/623 630/630/630 624/624/624\nf 623/623/623 624/624/624 617/617/617\nf 624/624/624 631/631/631 632/632/632\nf 624/624/624 632/632/632 625/625/625\nf 625/625/625 632/632/632 633/633/633\nf 625/625/625 633/633/633 626/626/626\nf 627/627/627 634/634/634 635/635/635\nf 627/627/627 635/635/635 628/628/628\nf 628/628/628 635/635/635 636/636/636\nf 628/628/628 636/636/636 629/629/629\nf 629/629/629 636/636/636 637/637/637\nf 629/629/629 637/637/637 630/630/630\nf 630/630/630 637/637/637 631/631/631\nf 630/630/630 631/631/631 624/624/624\nf 631/631/631 638/638/638 639/639/639\nf 631/631/631 639/639/639 632/632/632\nf 632/632/632 639/639/639 640/640/640\nf 632/632/632 640/640/640 633/633/633\nf 634/634/634 641/641/641 642/642/642\nf 634/634/634 642/642/642 635/635/635\nf 635/635/635 642/642/642 643/643/643\nf 635/635/635 643/643/643 636/636/636\nf 636/636/636 643/643/643 644/644/644\nf 636/636/636 644/644/644 637/637/637\nf 637/637/637 644/644/644 638/638/638\nf 637/637/637 638/638/638 631/631/631\nf 638/638/638 645/645/645 646/646/646\nf 638/638/638 646/646/646 639/639/639\nf 639/639/639 646/646/646 647/647/647\nf 639/639/639 647/647/647 640/640/640\nf 641/641/641 648/648/648 649/649/649\nf 641/641/641 649/649/649 642/642/642\nf 642/642/642 649/649/649 650/650/650\nf 642/642/642 650/650/650 643/643/643\nf 643/643/643 650/650/650 651/651/651\nf 643/643/643 651/651/651 644/644/644\nf 644/644/644 651/651/651 645/645/645\nf 644/644/644 645/645/645 638/638/638\nf 645/645/645 652/652/652 653/653/653\nf 645/645/645 653/653/653 646/646/646\nf 646/646/646 653/653/653 654/654/654\nf 646/646/646 654/654/654 647/647/647\nf 648/648/648 655/655/655 656/656/656\nf 648/648/648 656/656/656 649/649/649\nf 649/649/649 656/656/656 657/657/657\nf 649/649/649 657/657/657 650/650/650\nf 650/650/650 657/657/657 658/658/658\nf 650/650/650 658/658/658 651/651/651\nf 651/651/651 658/658/658 652/652/652\nf 651/651/651 652/652/652 645/645/645\nf 652/652/652 659/659/659 660/660/660\nf 652/652/652 660/660/660 653/653/653\nf 653/653/653 660/660/660 661/661/661\nf 653/653/653 661/661/661 654/654/654\nf 655/655/655 662/662/662 663/663/663\nf 655/655/655 663/663/663 656/656/656\nf 656/656/656 663/663/663 664/664/664\nf 656/656/656 664/664/664 657/657/657\nf 657/657/657 664/664/664 665/665/665\nf 657/657/657 665/665/665 658/658/658\nf 658/658/658 665/665/665 659/659/659\nf 658/658/658 659/659/659 652/652/652\nf 659/659/659 666/666/666 667/667/667\nf 659/659/659 667/667/667 660/660/660\nf 660/660/660 667/667/667 668/668/668\nf 660/660/660 668/668/668 661/661/661\nf 662/662/662 669/669/669 670/670/670\nf 662/662/662 670/670/670 663/663/663\nf 663/663/663 670/670/670 671/671/671\nf 663/663/663 671/671/671 664/664/664\nf 664/664/664 671/671/671 672/672/672\nf 664/664/664 672/672/672 665/665/665\nf 665/665/665 672/672/672 666/666/666\nf 665/665/665 666/666/666 659/659/659\nf 666/666/666 673/673/673 674/674/674\nf 666/666/666 674/674/674 667/667/667\nf 667/667/667 674/674/674 675/675/675\nf 667/667/667 675/675/675 668/668/668\nf 669/669/669 676/676/676 677/677/677\nf 669/669/669 677/677/677 670/670/670\nf 670/670/670 677/677/677 678/678/678\nf 670/670/670 678/678/678 671/671/671\nf 671/671/671 678/678/678 679/679/679\nf 671/671/671 679/679/679 672/672/672\nf 672/672/672 679/679/679 673/673/673\nf 672/672/672 673/673/673 666/666/666\nf 673/673/673 680/680/680 681/681/681\nf 673/673/673 681/681/681 674/674/674\nf 674/674/674 681/681/681 682/682/682\nf 674/674/674 682/682/682 675/675/675\nf 676/676/676 683/683/683 684/684/684\nf 676/676/676 684/684/684 677/677/677\nf 677/677/677 684/684/684 685/685/685\nf 677/677/677 685/685/685 678/678/678\nf 678/678/678 685/685/685 686/686/686\nf 678/678/678 686/686/686 679/679/679\nf 679/679/679 686/686/686 680/680/680\nf 679/679/679 680/680/680 673/673/673\nf 680/680/680 687/687/687 688/688/688\nf 680/680/680 688/688/688 681/681/681\nf 681/681/681 688/688/688 689/689/689\nf 681/681/681 689/689/689 682/682/682\nf 683/683/683 690/690/690 691/691/691\nf 683/683/683 691/691/691 684/684/684\nf 684/684/684 691/691/691 692/692/692\nf 684/684/684 692/692/692 685/685/685\nf 685/685/685 692/692/692 693/693/693\nf 685/685/685 693/693/693 686/686/686\nf 686/686/686 693/693/693 687/687/687\nf 686/686/686 687/687/687 680/680/680\nf 687/687/687 694/694/694 695/695/695\nf 687/687/687 695/695/695 688/688/688\nf 688/688/688 695/695/695 696/696/696\nf 688/688/688 696/696/696 689/689/689\nf 690/690/690 697/697/697 698/698/698\nf 690/690/690 698/698/698 691/691/691\nf 691/691/691 698/698/698 699/699/699\nf 691/691/691 699/699/699 692/692/692\nf 692/692/692 699/699/699 700/700/700\nf 692/692/692 700/700/700 693/693/693\nf 693/693/693 700/700/700 694/694/694\nf 693/693/693 694/694/694 687/687/687\nf 694/694/694 701/701/701 702/702/702\nf 694/694/694 702/702/702 695/695/695\nf 695/695/695 702/702/702 703/703/703\nf 695/695/695 703/703/703 696/696/696\nf 697/697/697 704/704/704 705/705/705\nf 697/697/697 705/705/705 698/698/698\nf 698/698/698 705/705/705 706/706/706\nf 698/698/698 706/706/706 699/699/699\nf 699/699/699 706/706/706 707/707/707\nf 699/699/699 707/707/707 700/700/700\nf 700/700/700 707/707/707 701/701/701\nf 700/700/700 701/701/701 694/694/694\nf 701/701/701 708/708/708 709/709/709\nf 701/701/701 709/709/709 702/702/702\nf 702/702/702 709/709/709 710/710/710\nf 702/702/702 710/710/710 703/703/703\nf 704/704/704 711/711/711 712/712/712\nf 704/704/704 712/712/712 705/705/705\nf 705/705/705 712/712/712 713/713/713\nf 705/705/705 713/713/713 706/706/706\nf 706/706/706 713/713/713 714/714/714\nf 706/706/706 714/714/714 707/707/707\nf 707/707/707 714/714/714 708/708/708\nf 707/707/707 708/708/708 701/701/701\nf 715/715/715 716/716/716 717/717/717\nf 715/715/715 717/717/717 718/718/718\nf 718/718/718 717/717/717 719/719/719\nf 718/718/718 719/719/719 720/720/720\nf 721/721/721 722/722/722 723/723/723\nf 721/721/721 723/723/723 724/724/724\nf 724/724/724 723/723/723 725/725/725\nf 724/724/724 725/725/725 726/726/726\nf 726/726/726 725/725/725 727/727/727\nf 726/726/726 727/727/727 728/728/728\nf 728/728/728 727/727/727 716/716/716\nf 728/728/728 716/716/716 715/715/715\nf 716/716/716 729/729/729 730/730/730\nf 716/716/716 730/730/730 717/717/717\nf 717/717/717 730/730/730 731/731/731\nf 717/717/717 731/731/731 719/719/719\nf 722/722/722 732/732/732 733/733/733\nf 722/722/722 733/733/733 723/723/723\nf 723/723/723 733/733/733 734/734/734\nf 723/723/723 734/734/734 725/725/725\nf 725/725/725 734/734/734 735/735/735\nf 725/725/725 735/735/735 727/727/727\nf 727/727/727 735/735/735 729/729/729\nf 727/727/727 729/729/729 716/716/716\nf 729/729/729 736/736/736 737/737/737\nf 729/729/729 737/737/737 730/730/730\nf 730/730/730 737/737/737 738/738/738\nf 730/730/730 738/738/738 731/731/731\nf 732/732/732 739/739/739 740/740/740\nf 732/732/732 740/740/740 733/733/733\nf 733/733/733 740/740/740 741/741/741\nf 733/733/733 741/741/741 734/734/734\nf 734/734/734 741/741/741 742/742/742\nf 734/734/734 742/742/742 735/735/735\nf 735/735/735 742/742/742 736/736/736\nf 735/735/735 736/736/736 729/729/729\nf 736/736/736 743/743/743 744/744/744\nf 736/736/736 744/744/744 737/737/737\nf 737/737/737 744/744/744 745/745/745\nf 737/737/737 745/745/745 738/738/738\nf 739/739/739 746/746/746 747/747/747\nf 739/739/739 747/747/747 740/740/740\nf 740/740/740 747/747/747 748/748/748\nf 740/740/740 748/748/748 741/741/741\nf 741/741/741 748/748/748 749/749/749\nf 741/741/741 749/749/749 742/742/742\nf 742/742/742 749/749/749 743/743/743\nf 742/742/742 743/743/743 736/736/736\nf 743/743/743 750/750/750 751/751/751\nf 743/743/743 751/751/751 744/744/744\nf 744/744/744 751/751/751 752/752/752\nf 744/744/744 752/752/752 745/745/745\nf 746/746/746 753/753/753 754/754/754\nf 746/746/746 754/754/754 747/747/747\nf 747/747/747 754/754/754 755/755/755\nf 747/747/747 755/755/755 748/748/748\nf 748/748/748 755/755/755 756/756/756\nf 748/748/748 756/756/756 749/749/749\nf 749/749/749 756/756/756 750/750/750\nf 749/749/749 750/750/750 743/743/743\nf 750/750/750 757/757/757 758/758/758\nf 750/750/750 758/758/758 751/751/751\nf 751/751/751 758/758/758 759/759/759\nf 751/751/751 759/759/759 752/752/752\nf 753/753/753 760/760/760 761/761/761\nf 753/753/753 761/761/761 754/754/754\nf 754/754/754 761/761/761 762/762/762\nf 754/754/754 762/762/762 755/755/755\nf 755/755/755 762/762/762 763/763/763\nf 755/755/755 763/763/763 756/756/756\nf 756/756/756 763/763/763 757/757/757\nf 756/756/756 757/757/757 750/750/750\nf 757/757/757 764/764/764 765/765/765\nf 757/757/757 765/765/765 758/758/758\nf 758/758/758 765/765/765 766/766/766\nf 758/758/758 766/766/766 759/759/759\nf 760/760/760 767/767/767 768/768/768\nf 760/760/760 768/768/768 761/761/761\nf 761/761/761 768/768/768 769/769/769\nf 761/761/761 769/769/769 762/762/762\nf 762/762/762 769/769/769 770/770/770\nf 762/762/762 770/770/770 763/763/763\nf 763/763/763 770/770/770 764/764/764\nf 763/763/763 764/764/764 757/757/757\nf 764/764/764 771/771/771 772/772/772\nf 764/764/764 772/772/772 765/765/765\nf 765/765/765 772/772/772 773/773/773\nf 765/765/765 773/773/773 766/766/766\nf 767/767/767 774/774/774 775/775/775\nf 767/767/767 775/775/775 768/768/768\nf 768/768/768 775/775/775 776/776/776\nf 768/768/768 776/776/776 769/769/769\nf 769/769/769 776/776/776 777/777/777\nf 769/769/769 777/777/777 770/770/770\nf 770/770/770 777/777/777 771/771/771\nf 770/770/770 771/771/771 764/764/764\nf 771/771/771 778/778/778 779/779/779\nf 771/771/771 779/779/779 772/772/772\nf 772/772/772 779/779/779 780/780/780\nf 772/772/772 780/780/780 773/773/773\nf 774/774/774 781/781/781 782/782/782\nf 774/774/774 782/782/782 775/775/775\nf 775/775/775 782/782/782 783/783/783\nf 775/775/775 783/783/783 776/776/776\nf 776/776/776 783/783/783 784/784/784\nf 776/776/776 784/784/784 777/777/777\nf 777/777/777 784/784/784 778/778/778\nf 777/777/777 778/778/778 771/771/771\nf 778/778/778 785/785/785 786/786/786\nf 778/778/778 786/786/786 779/779/779\nf 779/779/779 786/786/786 787/787/787\nf 779/779/779 787/787/787 780/780/780\nf 781/781/781 788/788/788 789/789/789\nf 781/781/781 789/789/789 782/782/782\nf 782/782/782 789/789/789 790/790/790\nf 782/782/782 790/790/790 783/783/783\nf 783/783/783 790/790/790 791/791/791\nf 783/783/783 791/791/791 784/784/784\nf 784/784/784 791/791/791 785/785/785\nf 784/784/784 785/785/785 778/778/778\nf 785/785/785 792/792/792 793/793/793\nf 785/785/785 793/793/793 786/786/786\nf 786/786/786 793/793/793 794/794/794\nf 786/786/786 794/794/794 787/787/787\nf 788/788/788 795/795/795 796/796/796\nf 788/788/788 796/796/796 789/789/789\nf 789/789/789 796/796/796 797/797/797\nf 789/789/789 797/797/797 790/790/790\nf 790/790/790 797/797/797 798/798/798\nf 790/790/790 798/798/798 791/791/791\nf 791/791/791 798/798/798 792/792/792\nf 791/791/791 792/792/792 785/785/785\nf 792/792/792 799/799/799 800/800/800\nf 792/792/792 800/800/800 793/793/793\nf 793/793/793 800/800/800 801/801/801\nf 793/793/793 801/801/801 794/794/794\nf 795/795/795 802/802/802 803/803/803\nf 795/795/795 803/803/803 796/796/796\nf 796/796/796 803/803/803 804/804/804\nf 796/796/796 804/804/804 797/797/797\nf 797/797/797 804/804/804 805/805/805\nf 797/797/797 805/805/805 798/798/798\nf 798/798/798 805/805/805 799/799/799\nf 798/798/798 799/799/799 792/792/792\nf 799/799/799 806/806/806 807/807/807\nf 799/799/799 807/807/807 800/800/800\nf 800/800/800 807/807/807 808/808/808\nf 800/800/800 808/808/808 801/801/801\nf 802/802/802 809/809/809 810/810/810\nf 802/802/802 810/810/810 803/803/803\nf 803/803/803 810/810/810 811/811/811\nf 803/803/803 811/811/811 804/804/804\nf 804/804/804 811/811/811 812/812/812\nf 804/804/804 812/812/812 805/805/805\nf 805/805/805 812/812/812 806/806/806\nf 805/805/805 806/806/806 799/799/799\nf 806/806/806 813/813/813 814/814/814\nf 806/806/806 814/814/814 807/807/807\nf 807/807/807 814/814/814 815/815/815\nf 807/807/807 815/815/815 808/808/808\nf 809/809/809 816/816/816 817/817/817\nf 809/809/809 817/817/817 810/810/810\nf 810/810/810 817/817/817 818/818/818\nf 810/810/810 818/818/818 811/811/811\nf 811/811/811 818/818/818 819/819/819\nf 811/811/811 819/819/819 812/812/812\nf 812/812/812 819/819/819 813/813/813\nf 812/812/812 813/813/813 806/806/806\nf 813/813/813 820/820/820 821/821/821\nf 813/813/813 821/821/821 814/814/814\nf 814/814/814 821/821/821 822/822/822\nf 814/814/814 822/822/822 815/815/815\nf 816/816/816 823/823/823 824/824/824\nf 816/816/816 824/824/824 817/817/817\nf 817/817/817 824/824/824 825/825/825\nf 817/817/817 825/825/825 818/818/818\nf 818/818/818 825/825/825 826/826/826\nf 818/818/818 826/826/826 819/819/819\nf 819/819/819 826/826/826 820/820/820\nf 819/819/819 820/820/820 813/813/813\nf 820/820/820 827/827/827 828/828/828\nf 820/820/820 828/828/828 821/821/821\nf 821/821/821 828/828/828 829/829/829\nf 821/821/821 829/829/829 822/822/822\nf 823/823/823 830/830/830 831/831/831\nf 823/823/823 831/831/831 824/824/824\nf 824/824/824 831/831/831 832/832/832\nf 824/824/824 832/832/832 825/825/825\nf 825/825/825 832/832/832 833/833/833\nf 825/825/825 833/833/833 826/826/826\nf 826/826/826 833/833/833 827/827/827\nf 826/826/826 827/827/827 820/820/820\nf 834/834/834 835/835/835 836/836/836\nf 834/834/834 836/836/836 837/837/837\nf 837/837/837 836/836/836 838/838/838\nf 837/837/837 838/838/838 839/839/839\nf 840/840/840 841/841/841 842/842/842\nf 840/840/840 842/842/842 843/843/843\nf 843/843/843 842/842/842 844/844/844\nf 843/843/843 844/844/844 845/845/845\nf 845/845/845 844/844/844 846/846/846\nf 845/845/845 846/846/846 847/847/847\nf 847/847/847 846/846/846 835/835/835\nf 847/847/847 835/835/835 834/834/834\nf 835/835/835 848/848/848 849/849/849\nf 835/835/835 849/849/849 836/836/836\nf 836/836/836 849/849/849 850/850/850\nf 836/836/836 850/850/850 838/838/838\nf 841/841/841 851/851/851 852/852/852\nf 841/841/841 852/852/852 842/842/842\nf 842/842/842 852/852/852 853/853/853\nf 842/842/842 853/853/853 844/844/844\nf 844/844/844 853/853/853 854/854/854\nf 844/844/844 854/854/854 846/846/846\nf 846/846/846 854/854/854 848/848/848\nf 846/846/846 848/848/848 835/835/835\nf 848/848/848 855/855/855 856/856/856\nf 848/848/848 856/856/856 849/849/849\nf 849/849/849 856/856/856 857/857/857\nf 849/849/849 857/857/857 850/850/850\nf 851/851/851 858/858/858 859/859/859\nf 851/851/851 859/859/859 852/852/852\nf 852/852/852 859/859/859 860/860/860\nf 852/852/852 860/860/860 853/853/853\nf 853/853/853 860/860/860 861/861/861\nf 853/853/853 861/861/861 854/854/854\nf 854/854/854 861/861/861 855/855/855\nf 854/854/854 855/855/855 848/848/848\nf 855/855/855 862/862/862 863/863/863\nf 855/855/855 863/863/863 856/856/856\nf 856/856/856 863/863/863 864/864/864\nf 856/856/856 864/864/864 857/857/857\nf 858/858/858 865/865/865 866/866/866\nf 858/858/858 866/866/866 859/859/859\nf 859/859/859 866/866/866 867/867/867\nf 859/859/859 867/867/867 860/860/860\nf 860/860/860 867/867/867 868/868/868\nf 860/860/860 868/868/868 861/861/861\nf 861/861/861 868/868/868 862/862/862\nf 861/861/861 862/862/862 855/855/855\nf 862/862/862 869/869/869 870/870/870\nf 862/862/862 870/870/870 863/863/863\nf 863/863/863 870/870/870 871/871/871\nf 863/863/863 871/871/871 864/864/864\nf 865/865/865 872/872/872 873/873/873\nf 865/865/865 873/873/873 866/866/866\nf 866/866/866 873/873/873 874/874/874\nf 866/866/866 874/874/874 867/867/867\nf 867/867/867 874/874/874 875/875/875\nf 867/867/867 875/875/875 868/868/868\nf 868/868/868 875/875/875 869/869/869\nf 868/868/868 869/869/869 862/862/862\nf 869/869/869 876/876/876 877/877/877\nf 869/869/869 877/877/877 870/870/870\nf 870/870/870 877/877/877 878/878/878\nf 870/870/870 878/878/878 871/871/871\nf 872/872/872 879/879/879 880/880/880\nf 872/872/872 880/880/880 873/873/873\nf 873/873/873 880/880/880 881/881/881\nf 873/873/873 881/881/881 874/874/874\nf 874/874/874 881/881/881 882/882/882\nf 874/874/874 882/882/882 875/875/875\nf 875/875/875 882/882/882 876/876/876\nf 875/875/875 876/876/876 869/869/869\nf 876/876/876 883/883/883 884/884/884\nf 876/876/876 884/884/884 877/877/877\nf 877/877/877 884/884/884 885/885/885\nf 877/877/877 885/885/885 878/878/878\nf 879/879/879 886/886/886 887/887/887\nf 879/879/879 887/887/887 880/880/880\nf 880/880/880 887/887/887 888/888/888\nf 880/880/880 888/888/888 881/881/881\nf 881/881/881 888/888/888 889/889/889\nf 881/881/881 889/889/889 882/882/882\nf 882/882/882 889/889/889 883/883/883\nf 882/882/882 883/883/883 876/876/876\nf 883/883/883 890/890/890 891/891/891\nf 883/883/883 891/891/891 884/884/884\nf 884/884/884 891/891/891 892/892/892\nf 884/884/884 892/892/892 885/885/885\nf 886/886/886 893/893/893 894/894/894\nf 886/886/886 894/894/894 887/887/887\nf 887/887/887 894/894/894 895/895/895\nf 887/887/887 895/895/895 888/888/888\nf 888/888/888 895/895/895 896/896/896\nf 888/888/888 896/896/896 889/889/889\nf 889/889/889 896/896/896 890/890/890\nf 889/889/889 890/890/890 883/883/883\nf 890/890/890 897/897/897 898/898/898\nf 890/890/890 898/898/898 891/891/891\nf 891/891/891 898/898/898 899/899/899\nf 891/891/891 899/899/899 892/892/892\nf 893/893/893 900/900/900 901/901/901\nf 893/893/893 901/901/901 894/894/894\nf 894/894/894 901/901/901 902/902/902\nf 894/894/894 902/902/902 895/895/895\nf 895/895/895 902/902/902 903/903/903\nf 895/895/895 903/903/903 896/896/896\nf 896/896/896 903/903/903 897/897/897\nf 896/896/896 897/897/897 890/890/890\nf 897/897/897 904/904/904 905/905/905\nf 897/897/897 905/905/905 898/898/898\nf 898/898/898 905/905/905 906/906/906\nf 898/898/898 906/906/906 899/899/899\nf 900/900/900 907/907/907 908/908/908\nf 900/900/900 908/908/908 901/901/901\nf 901/901/901 908/908/908 909/909/909\nf 901/901/901 909/909/909 902/902/902\nf 902/902/902 909/909/909 910/910/910\nf 902/902/902 910/910/910 903/903/903\nf 903/903/903 910/910/910 904/904/904\nf 903/903/903 904/904/904 897/897/897\nf 904/904/904 911/911/911 912/912/912\nf 904/904/904 912/912/912 905/905/905\nf 905/905/905 912/912/912 913/913/913\nf 905/905/905 913/913/913 906/906/906\nf 907/907/907 914/914/914 915/915/915\nf 907/907/907 915/915/915 908/908/908\nf 908/908/908 915/915/915 916/916/916\nf 908/908/908 916/916/916 909/909/909\nf 909/909/909 916/916/916 917/917/917\nf 909/909/909 917/917/917 910/910/910\nf 910/910/910 917/917/917 911/911/911\nf 910/910/910 911/911/911 904/904/904\nf 911/911/911 918/918/918 919/919/919\nf 911/911/911 919/919/919 912/912/912\nf 912/912/912 919/919/919 920/920/920\nf 912/912/912 920/920/920 913/913/913\nf 914/914/914 921/921/921 922/922/922\nf 914/914/914 922/922/922 915/915/915\nf 915/915/915 922/922/922 923/923/923\nf 915/915/915 923/923/923 916/916/916\nf 916/916/916 923/923/923 924/924/924\nf 916/916/916 924/924/924 917/917/917\nf 917/917/917 924/924/924 918/918/918\nf 917/917/917 918/918/918 911/911/911\nf 918/918/918 925/925/925 926/926/926\nf 918/918/918 926/926/926 919/919/919\nf 919/919/919 926/926/926 927/927/927\nf 919/919/919 927/927/927 920/920/920\nf 921/921/921 928/928/928 929/929/929\nf 921/921/921 929/929/929 922/922/922\nf 922/922/922 929/929/929 930/930/930\nf 922/922/922 930/930/930 923/923/923\nf 923/923/923 930/930/930 931/931/931\nf 923/923/923 931/931/931 924/924/924\nf 924/924/924 931/931/931 925/925/925\nf 924/924/924 925/925/925 918/918/918\nf 925/925/925 932/932/932 933/933/933\nf 925/925/925 933/933/933 926/926/926\nf 926/926/926 933/933/933 934/934/934\nf 926/926/926 934/934/934 927/927/927\nf 928/928/928 935/935/935 936/936/936\nf 928/928/928 936/936/936 929/929/929\nf 929/929/929 936/936/936 937/937/937\nf 929/929/929 937/937/937 930/930/930\nf 930/930/930 937/937/937 938/938/938\nf 930/930/930 938/938/938 931/931/931\nf 931/931/931 938/938/938 932/932/932\nf 931/931/931 932/932/932 925/925/925\nf 932/932/932 939/939/939 940/940/940\nf 932/932/932 940/940/940 933/933/933\nf 933/933/933 940/940/940 941/941/941\nf 933/933/933 941/941/941 934/934/934\nf 935/935/935 942/942/942 943/943/943\nf 935/935/935 943/943/943 936/936/936\nf 936/936/936 943/943/943 944/944/944\nf 936/936/936 944/944/944 937/937/937\nf 937/937/937 944/944/944 945/945/945\nf 937/937/937 945/945/945 938/938/938\nf 938/938/938 945/945/945 939/939/939\nf 938/938/938 939/939/939 932/932/932\nf 939/939/939 946/946/946 947/947/947\nf 939/939/939 947/947/947 940/940/940\nf 940/940/940 947/947/947 948/948/948\nf 940/940/940 948/948/948 941/941/941\nf 942/942/942 949/949/949 950/950/950\nf 942/942/942 950/950/950 943/943/943\nf 943/943/943 950/950/950 951/951/951\nf 943/943/943 951/951/951 944/944/944\nf 944/944/944 951/951/951 952/952/952\nf 944/944/944 952/952/952 945/945/945\nf 945/945/945 952/952/952 946/946/946\nf 945/945/945 946/946/946 939/939/939\nf 953/953/953 954/954/954 955/955/955\nf 953/953/953 955/955/955 956/956/956\nf 956/956/956 955/955/955 957/957/957\nf 956/956/956 957/957/957 958/958/958\nf 959/959/959 960/960/960 961/961/961\nf 959/959/959 961/961/961 962/962/962\nf 962/962/962 961/961/961 963/963/963\nf 962/962/962 963/963/963 964/964/964\nf 964/964/964 963/963/963 965/965/965\nf 964/964/964 965/965/965 966/966/966\nf 966/966/966 965/965/965 954/954/954\nf 966/966/966 954/954/954 953/953/953\nf 954/954/954 967/967/967 968/968/968\nf 954/954/954 968/968/968 955/955/955\nf 955/955/955 968/968/968 969/969/969\nf 955/955/955 969/969/969 957/957/957\nf 960/960/960 970/970/970 971/971/971\nf 960/960/960 971/971/971 961/961/961\nf 961/961/961 971/971/971 972/972/972\nf 961/961/961 972/972/972 963/963/963\nf 963/963/963 972/972/972 973/973/973\nf 963/963/963 973/973/973 965/965/965\nf 965/965/965 973/973/973 967/967/967\nf 965/965/965 967/967/967 954/954/954\nf 967/967/967 974/974/974 975/975/975\nf 967/967/967 975/975/975 968/968/968\nf 968/968/968 975/975/975 976/976/976\nf 968/968/968 976/976/976 969/969/969\nf 970/970/970 977/977/977 978/978/978\nf 970/970/970 978/978/978 971/971/971\nf 971/971/971 978/978/978 979/979/979\nf 971/971/971 979/979/979 972/972/972\nf 972/972/972 979/979/979 980/980/980\nf 972/972/972 980/980/980 973/973/973\nf 973/973/973 980/980/980 974/974/974\nf 973/973/973 974/974/974 967/967/967\nf 974/974/974 981/981/981 982/982/982\nf 974/974/974 982/982/982 975/975/975\nf 975/975/975 982/982/982 983/983/983\nf 975/975/975 983/983/983 976/976/976\nf 977/977/977 984/984/984 985/985/985\nf 977/977/977 985/985/985 978/978/978\nf 978/978/978 985/985/985 986/986/986\nf 978/978/978 986/986/986 979/979/979\nf 979/979/979 986/986/986 987/987/987\nf 979/979/979 987/987/987 980/980/980\nf 980/980/980 987/987/987 981/981/981\nf 980/980/980 981/981/981 974/974/974\nf 981/981/981 988/988/988 989/989/989\nf 981/981/981 989/989/989 982/982/982\nf 982/982/982 989/989/989 990/990/990\nf 982/982/982 990/990/990 983/983/983\nf 984/984/984 991/991/991 992/992/992\nf 984/984/984 992/992/992 985/985/985\nf 985/985/985 992/992/992 993/993/993\nf 985/985/985 993/993/993 986/986/986\nf 986/986/986 993/993/993 994/994/994\nf 986/986/986 994/994/994 987/987/987\nf 987/987/987 994/994/994 988/988/988\nf 987/987/987 988/988/988 981/981/981\nf 988/988/988 995/995/995 996/996/996\nf 988/988/988 996/996/996 989/989/989\nf 989/989/989 996/996/996 997/997/997\nf 989/989/989 997/997/997 990/990/990\nf 991/991/991 998/998/998 999/999/999\nf 991/991/991 999/999/999 992/992/992\nf 992/992/992 999/999/999 1000/1000/1000\nf 992/992/992 1000/1000/1000 993/993/993\nf 993/993/993 1000/1000/1000 1001/1001/1001\nf 993/993/993 1001/1001/1001 994/994/994\nf 994/994/994 1001/1001/1001 995/995/995\nf 994/994/994 995/995/995 988/988/988\nf 995/995/995 1002/1002/1002 1003/1003/1003\nf 995/995/995 1003/1003/1003 996/996/996\nf 996/996/996 1003/1003/1003 1004/1004/1004\nf 996/996/996 1004/1004/1004 997/997/997\nf 998/998/998 1005/1005/1005 1006/1006/1006\nf 998/998/998 1006/1006/1006 999/999/999\nf 999/999/999 1006/1006/1006 1007/1007/1007\nf 999/999/999 1007/1007/1007 1000/1000/1000\nf 1000/1000/1000 1007/1007/1007 1008/1008/1008\nf 1000/1000/1000 1008/1008/1008 1001/1001/1001\nf 1001/1001/1001 1008/1008/1008 1002/1002/1002\nf 1001/1001/1001 1002/1002/1002 995/995/995\nf 1002/1002/1002 1009/1009/1009 1010/1010/1010\nf 1002/1002/1002 1010/1010/1010 1003/1003/1003\nf 1003/1003/1003 1010/1010/1010 1011/1011/1011\nf 1003/1003/1003 1011/1011/1011 1004/1004/1004\nf 1005/1005/1005 1012/1012/1012 1013/1013/1013\nf 1005/1005/1005 1013/1013/1013 1006/1006/1006\nf 1006/1006/1006 1013/1013/1013 1014/1014/1014\nf 1006/1006/1006 1014/1014/1014 1007/1007/1007\nf 1007/1007/1007 1014/1014/1014 1015/1015/1015\nf 1007/1007/1007 1015/1015/1015 1008/1008/1008\nf 1008/1008/1008 1015/1015/1015 1009/1009/1009\nf 1008/1008/1008 1009/1009/1009 1002/1002/1002\nf 1009/1009/1009 1016/1016/1016 1017/1017/1017\nf 1009/1009/1009 1017/1017/1017 1010/1010/1010\nf 1010/1010/1010 1017/1017/1017 1018/1018/1018\nf 1010/1010/1010 1018/1018/1018 1011/1011/1011\nf 1012/1012/1012 1019/1019/1019 1020/1020/1020\nf 1012/1012/1012 1020/1020/1020 1013/1013/1013\nf 1013/1013/1013 1020/1020/1020 1021/1021/1021\nf 1013/1013/1013 1021/1021/1021 1014/1014/1014\nf 1014/1014/1014 1021/1021/1021 1022/1022/1022\nf 1014/1014/1014 1022/1022/1022 1015/1015/1015\nf 1015/1015/1015 1022/1022/1022 1016/1016/1016\nf 1015/1015/1015 1016/1016/1016 1009/1009/1009\nf 1016/1016/1016 1023/1023/1023 1024/1024/1024\nf 1016/1016/1016 1024/1024/1024 1017/1017/1017\nf 1017/1017/1017 1024/1024/1024 1025/1025/1025\nf 1017/1017/1017 1025/1025/1025 1018/1018/1018\nf 1019/1019/1019 1026/1026/1026 1027/1027/1027\nf 1019/1019/1019 1027/1027/1027 1020/1020/1020\nf 1020/1020/1020 1027/1027/1027 1028/1028/1028\nf 1020/1020/1020 1028/1028/1028 1021/1021/1021\nf 1021/1021/1021 1028/1028/1028 1029/1029/1029\nf 1021/1021/1021 1029/1029/1029 1022/1022/1022\nf 1022/1022/1022 1029/1029/1029 1023/1023/1023\nf 1022/1022/1022 1023/1023/1023 1016/1016/1016\nf 1023/1023/1023 1030/1030/1030 1031/1031/1031\nf 1023/1023/1023 1031/1031/1031 1024/1024/1024\nf 1024/1024/1024 1031/1031/1031 1032/1032/1032\nf 1024/1024/1024 1032/1032/1032 1025/1025/1025\nf 1026/1026/1026 1033/1033/1033 1034/1034/1034\nf 1026/1026/1026 1034/1034/1034 1027/1027/1027\nf 1027/1027/1027 1034/1034/1034 1035/1035/1035\nf 1027/1027/1027 1035/1035/1035 1028/1028/1028\nf 1028/1028/1028 1035/1035/1035 1036/1036/1036\nf 1028/1028/1028 1036/1036/1036 1029/1029/1029\nf 1029/1029/1029 1036/1036/1036 1030/1030/1030\nf 1029/1029/1029 1030/1030/1030 1023/1023/1023\nf 1030/1030/1030 1037/1037/1037 1038/1038/1038\nf 1030/1030/1030 1038/1038/1038 1031/1031/1031\nf 1031/1031/1031 1038/1038/1038 1039/1039/1039\nf 1031/1031/1031 1039/1039/1039 1032/1032/1032\nf 1033/1033/1033 1040/1040/1040 1041/1041/1041\nf 1033/1033/1033 1041/1041/1041 1034/1034/1034\nf 1034/1034/1034 1041/1041/1041 1042/1042/1042\nf 1034/1034/1034 1042/1042/1042 1035/1035/1035\nf 1035/1035/1035 1042/1042/1042 1043/1043/1043\nf 1035/1035/1035 1043/1043/1043 1036/1036/1036\nf 1036/1036/1036 1043/1043/1043 1037/1037/1037\nf 1036/1036/1036 1037/1037/1037 1030/1030/1030\nf 1037/1037/1037 1044/1044/1044 1045/1045/1045\nf 1037/1037/1037 1045/1045/1045 1038/1038/1038\nf 1038/1038/1038 1045/1045/1045 1046/1046/1046\nf 1038/1038/1038 1046/1046/1046 1039/1039/1039\nf 1040/1040/1040 1047/1047/1047 1048/1048/1048\nf 1040/1040/1040 1048/1048/1048 1041/1041/1041\nf 1041/1041/1041 1048/1048/1048 1049/1049/1049\nf 1041/1041/1041 1049/1049/1049 1042/1042/1042\nf 1042/1042/1042 1049/1049/1049 1050/1050/1050\nf 1042/1042/1042 1050/1050/1050 1043/1043/1043\nf 1043/1043/1043 1050/1050/1050 1044/1044/1044\nf 1043/1043/1043 1044/1044/1044 1037/1037/1037\nf 1044/1044/1044 1051/1051/1051 1052/1052/1052\nf 1044/1044/1044 1052/1052/1052 1045/1045/1045\nf 1045/1045/1045 1052/1052/1052 1053/1053/1053\nf 1045/1045/1045 1053/1053/1053 1046/1046/1046\nf 1047/1047/1047 1054/1054/1054 1055/1055/1055\nf 1047/1047/1047 1055/1055/1055 1048/1048/1048\nf 1048/1048/1048 1055/1055/1055 1056/1056/1056\nf 1048/1048/1048 1056/1056/1056 1049/1049/1049\nf 1049/1049/1049 1056/1056/1056 1057/1057/1057\nf 1049/1049/1049 1057/1057/1057 1050/1050/1050\nf 1050/1050/1050 1057/1057/1057 1051/1051/1051\nf 1050/1050/1050 1051/1051/1051 1044/1044/1044\nf 1051/1051/1051 1058/1058/1058 1059/1059/1059\nf 1051/1051/1051 1059/1059/1059 1052/1052/1052\nf 1052/1052/1052 1059/1059/1059 1060/1060/1060\nf 1052/1052/1052 1060/1060/1060 1053/1053/1053\nf 1054/1054/1054 1061/1061/1061 1062/1062/1062\nf 1054/1054/1054 1062/1062/1062 1055/1055/1055\nf 1055/1055/1055 1062/1062/1062 1063/1063/1063\nf 1055/1055/1055 1063/1063/1063 1056/1056/1056\nf 1056/1056/1056 1063/1063/1063 1064/1064/1064\nf 1056/1056/1056 1064/1064/1064 1057/1057/1057\nf 1057/1057/1057 1064/1064/1064 1058/1058/1058\nf 1057/1057/1057 1058/1058/1058 1051/1051/1051\nf 1058/1058/1058 1065/1065/1065 1066/1066/1066\nf 1058/1058/1058 1066/1066/1066 1059/1059/1059\nf 1059/1059/1059 1066/1066/1066 1067/1067/1067\nf 1059/1059/1059 1067/1067/1067 1060/1060/1060\nf 1061/1061/1061 1068/1068/1068 1069/1069/1069\nf 1061/1061/1061 1069/1069/1069 1062/1062/1062\nf 1062/1062/1062 1069/1069/1069 1070/1070/1070\nf 1062/1062/1062 1070/1070/1070 1063/1063/1063\nf 1063/1063/1063 1070/1070/1070 1071/1071/1071\nf 1063/1063/1063 1071/1071/1071 1064/1064/1064\nf 1064/1064/1064 1071/1071/1071 1065/1065/1065\nf 1064/1064/1064 1065/1065/1065 1058/1058/1058\nf 1072/1072/1072 1073/1073/1073 1074/1074/1074\nf 1072/1072/1072 1074/1074/1074 1075/1075/1075\nf 1075/1075/1075 1074/1074/1074 1076/1076/1076\nf 1075/1075/1075 1076/1076/1076 1077/1077/1077\nf 1078/1078/1078 1079/1079/1079 1080/1080/1080\nf 1078/1078/1078 1080/1080/1080 1081/1081/1081\nf 1081/1081/1081 1080/1080/1080 1082/1082/1082\nf 1081/1081/1081 1082/1082/1082 1083/1083/1083\nf 1083/1083/1083 1082/1082/1082 1084/1084/1084\nf 1083/1083/1083 1084/1084/1084 1085/1085/1085\nf 1085/1085/1085 1084/1084/1084 1073/1073/1073\nf 1085/1085/1085 1073/1073/1073 1072/1072/1072\nf 1073/1073/1073 1086/1086/1086 1087/1087/1087\nf 1073/1073/1073 1087/1087/1087 1074/1074/1074\nf 1074/1074/1074 1087/1087/1087 1088/1088/1088\nf 1074/1074/1074 1088/1088/1088 1076/1076/1076\nf 1079/1079/1079 1089/1089/1089 1090/1090/1090\nf 1079/1079/1079 1090/1090/1090 1080/1080/1080\nf 1080/1080/1080 1090/1090/1090 1091/1091/1091\nf 1080/1080/1080 1091/1091/1091 1082/1082/1082\nf 1082/1082/1082 1091/1091/1091 1092/1092/1092\nf 1082/1082/1082 1092/1092/1092 1084/1084/1084\nf 1084/1084/1084 1092/1092/1092 1086/1086/1086\nf 1084/1084/1084 1086/1086/1086 1073/1073/1073\nf 1086/1086/1086 1093/1093/1093 1094/1094/1094\nf 1086/1086/1086 1094/1094/1094 1087/1087/1087\nf 1087/1087/1087 1094/1094/1094 1095/1095/1095\nf 1087/1087/1087 1095/1095/1095 1088/1088/1088\nf 1089/1089/1089 1096/1096/1096 1097/1097/1097\nf 1089/1089/1089 1097/1097/1097 1090/1090/1090\nf 1090/1090/1090 1097/1097/1097 1098/1098/1098\nf 1090/1090/1090 1098/1098/1098 1091/1091/1091\nf 1091/1091/1091 1098/1098/1098 1099/1099/1099\nf 1091/1091/1091 1099/1099/1099 1092/1092/1092\nf 1092/1092/1092 1099/1099/1099 1093/1093/1093\nf 1092/1092/1092 1093/1093/1093 1086/1086/1086\nf 1093/1093/1093 1100/1100/1100 1101/1101/1101\nf 1093/1093/1093 1101/1101/1101 1094/1094/1094\nf 1094/1094/1094 1101/1101/1101 1102/1102/1102\nf 1094/1094/1094 1102/1102/1102 1095/1095/1095\nf 1096/1096/1096 1103/1103/1103 1104/1104/1104\nf 1096/1096/1096 1104/1104/1104 1097/1097/1097\nf 1097/1097/1097 1104/1104/1104 1105/1105/1105\nf 1097/1097/1097 1105/1105/1105 1098/1098/1098\nf 1098/1098/1098 1105/1105/1105 1106/1106/1106\nf 1098/1098/1098 1106/1106/1106 1099/1099/1099\nf 1099/1099/1099 1106/1106/1106 1100/1100/1100\nf 1099/1099/1099 1100/1100/1100 1093/1093/1093\nf 1100/1100/1100 1107/1107/1107 1108/1108/1108\nf 1100/1100/1100 1108/1108/1108 1101/1101/1101\nf 1101/1101/1101 1108/1108/1108 1109/1109/1109\nf 1101/1101/1101 1109/1109/1109 1102/1102/1102\nf 1103/1103/1103 1110/1110/1110 1111/1111/1111\nf 1103/1103/1103 1111/1111/1111 1104/1104/1104\nf 1104/1104/1104 1111/1111/1111 1112/1112/1112\nf 1104/1104/1104 1112/1112/1112 1105/1105/1105\nf 1105/1105/1105 1112/1112/1112 1113/1113/1113\nf 1105/1105/1105 1113/1113/1113 1106/1106/1106\nf 1106/1106/1106 1113/1113/1113 1107/1107/1107\nf 1106/1106/1106 1107/1107/1107 1100/1100/1100\nf 1107/1107/1107 1114/1114/1114 1115/1115/1115\nf 1107/1107/1107 1115/1115/1115 1108/1108/1108\nf 1108/1108/1108 1115/1115/1115 1116/1116/1116\nf 1108/1108/1108 1116/1116/1116 1109/1109/1109\nf 1110/1110/1110 1117/1117/1117 1118/1118/1118\nf 1110/1110/1110 1118/1118/1118 1111/1111/1111\nf 1111/1111/1111 1118/1118/1118 1119/1119/1119\nf 1111/1111/1111 1119/1119/1119 1112/1112/1112\nf 1112/1112/1112 1119/1119/1119 1120/1120/1120\nf 1112/1112/1112 1120/1120/1120 1113/1113/1113\nf 1113/1113/1113 1120/1120/1120 1114/1114/1114\nf 1113/1113/1113 1114/1114/1114 1107/1107/1107\nf 1114/1114/1114 1121/1121/1121 1122/1122/1122\nf 1114/1114/1114 1122/1122/1122 1115/1115/1115\nf 1115/1115/1115 1122/1122/1122 1123/1123/1123\nf 1115/1115/1115 1123/1123/1123 1116/1116/1116\nf 1117/1117/1117 1124/1124/1124 1125/1125/1125\nf 1117/1117/1117 1125/1125/1125 1118/1118/1118\nf 1118/1118/1118 1125/1125/1125 1126/1126/1126\nf 1118/1118/1118 1126/1126/1126 1119/1119/1119\nf 1119/1119/1119 1126/1126/1126 1127/1127/1127\nf 1119/1119/1119 1127/1127/1127 1120/1120/1120\nf 1120/1120/1120 1127/1127/1127 1121/1121/1121\nf 1120/1120/1120 1121/1121/1121 1114/1114/1114\nf 1121/1121/1121 1128/1128/1128 1129/1129/1129\nf 1121/1121/1121 1129/1129/1129 1122/1122/1122\nf 1122/1122/1122 1129/1129/1129 1130/1130/1130\nf 1122/1122/1122 1130/1130/1130 1123/1123/1123\nf 1124/1124/1124 1131/1131/1131 1132/1132/1132\nf 1124/1124/1124 1132/1132/1132 1125/1125/1125\nf 1125/1125/1125 1132/1132/1132 1133/1133/1133\nf 1125/1125/1125 1133/1133/1133 1126/1126/1126\nf 1126/1126/1126 1133/1133/1133 1134/1134/1134\nf 1126/1126/1126 1134/1134/1134 1127/1127/1127\nf 1127/1127/1127 1134/1134/1134 1128/1128/1128\nf 1127/1127/1127 1128/1128/1128 1121/1121/1121\nf 1128/1128/1128 1135/1135/1135 1136/1136/1136\nf 1128/1128/1128 1136/1136/1136 1129/1129/1129\nf 1129/1129/1129 1136/1136/1136 1137/1137/1137\nf 1129/1129/1129 1137/1137/1137 1130/1130/1130\nf 1131/1131/1131 1138/1138/1138 1139/1139/1139\nf 1131/1131/1131 1139/1139/1139 1132/1132/1132\nf 1132/1132/1132 1139/1139/1139 1140/1140/1140\nf 1132/1132/1132 1140/1140/1140 1133/1133/1133\nf 1133/1133/1133 1140/1140/1140 1141/1141/1141\nf 1133/1133/1133 1141/1141/1141 1134/1134/1134\nf 1134/1134/1134 1141/1141/1141 1135/1135/1135\nf 1134/1134/1134 1135/1135/1135 1128/1128/1128\nf 1135/1135/1135 1142/1142/1142 1143/1143/1143\nf 1135/1135/1135 1143/1143/1143 1136/1136/1136\nf 1136/1136/1136 1143/1143/1143 1144/1144/1144\nf 1136/1136/1136 1144/1144/1144 1137/1137/1137\nf 1138/1138/1138 1145/1145/1145 1146/1146/1146\nf 1138/1138/1138 1146/1146/1146 1139/1139/1139\nf 1139/1139/1139 1146/1146/1146 1147/1147/1147\nf 1139/1139/1139 1147/1147/1147 1140/1140/1140\nf 1140/1140/1140 1147/1147/1147 1148/1148/1148\nf 1140/1140/1140 1148/1148/1148 1141/1141/1141\nf 1141/1141/1141 1148/1148/1148 1142/1142/1142\nf 1141/1141/1141 1142/1142/1142 1135/1135/1135\nf 1142/1142/1142 1149/1149/1149 1150/1150/1150\nf 1142/1142/1142 1150/1150/1150 1143/1143/1143\nf 1143/1143/1143 1150/1150/1150 1151/1151/1151\nf 1143/1143/1143 1151/1151/1151 1144/1144/1144\nf 1145/1145/1145 1152/1152/1152 1153/1153/1153\nf 1145/1145/1145 1153/1153/1153 1146/1146/1146\nf 1146/1146/1146 1153/1153/1153 1154/1154/1154\nf 1146/1146/1146 1154/1154/1154 1147/1147/1147\nf 1147/1147/1147 1154/1154/1154 1155/1155/1155\nf 1147/1147/1147 1155/1155/1155 1148/1148/1148\nf 1148/1148/1148 1155/1155/1155 1149/1149/1149\nf 1148/1148/1148 1149/1149/1149 1142/1142/1142\nf 1149/1149/1149 1156/1156/1156 1157/1157/1157\nf 1149/1149/1149 1157/1157/1157 1150/1150/1150\nf 1150/1150/1150 1157/1157/1157 1158/1158/1158\nf 1150/1150/1150 1158/1158/1158 1151/1151/1151\nf 1152/1152/1152 1159/1159/1159 1160/1160/1160\nf 1152/1152/1152 1160/1160/1160 1153/1153/1153\nf 1153/1153/1153 1160/1160/1160 1161/1161/1161\nf 1153/1153/1153 1161/1161/1161 1154/1154/1154\nf 1154/1154/1154 1161/1161/1161 1162/1162/1162\nf 1154/1154/1154 1162/1162/1162 1155/1155/1155\nf 1155/1155/1155 1162/1162/1162 1156/1156/1156\nf 1155/1155/1155 1156/1156/1156 1149/1149/1149\nf 1156/1156/1156 1163/1163/1163 1164/1164/1164\nf 1156/1156/1156 1164/1164/1164 1157/1157/1157\nf 1157/1157/1157 1164/1164/1164 1165/1165/1165\nf 1157/1157/1157 1165/1165/1165 1158/1158/1158\nf 1159/1159/1159 1166/1166/1166 1167/1167/1167\nf 1159/1159/1159 1167/1167/1167 1160/1160/1160\nf 1160/1160/1160 1167/1167/1167 1168/1168/1168\nf 1160/1160/1160 1168/1168/1168 1161/1161/1161\nf 1161/1161/1161 1168/1168/1168 1169/1169/1169\nf 1161/1161/1161 1169/1169/1169 1162/1162/1162\nf 1162/1162/1162 1169/1169/1169 1163/1163/1163\nf 1162/1162/1162 1163/1163/1163 1156/1156/1156\nf 1163/1163/1163 1170/1170/1170 1171/1171/1171\nf 1163/1163/1163 1171/1171/1171 1164/1164/1164\nf 1164/1164/1164 1171/1171/1171 1172/1172/1172\nf 1164/1164/1164 1172/1172/1172 1165/1165/1165\nf 1166/1166/1166 1173/1173/1173 1174/1174/1174\nf 1166/1166/1166 1174/1174/1174 1167/1167/1167\nf 1167/1167/1167 1174/1174/1174 1175/1175/1175\nf 1167/1167/1167 1175/1175/1175 1168/1168/1168\nf 1168/1168/1168 1175/1175/1175 1176/1176/1176\nf 1168/1168/1168 1176/1176/1176 1169/1169/1169\nf 1169/1169/1169 1176/1176/1176 1170/1170/1170\nf 1169/1169/1169 1170/1170/1170 1163/1163/1163\nf 1170/1170/1170 1177/1177/1177 1178/1178/1178\nf 1170/1170/1170 1178/1178/1178 1171/1171/1171\nf 1171/1171/1171 1178/1178/1178 1179/1179/1179\nf 1171/1171/1171 1179/1179/1179 1172/1172/1172\nf 1173/1173/1173 1180/1180/1180 1181/1181/1181\nf 1173/1173/1173 1181/1181/1181 1174/1174/1174\nf 1174/1174/1174 1181/1181/1181 1182/1182/1182\nf 1174/1174/1174 1182/1182/1182 1175/1175/1175\nf 1175/1175/1175 1182/1182/1182 1183/1183/1183\nf 1175/1175/1175 1183/1183/1183 1176/1176/1176\nf 1176/1176/1176 1183/1183/1183 1177/1177/1177\nf 1176/1176/1176 1177/1177/1177 1170/1170/1170\nf 1177/1177/1177 1184/1184/1184 1185/1185/1185\nf 1177/1177/1177 1185/1185/1185 1178/1178/1178\nf 1178/1178/1178 1185/1185/1185 1186/1186/1186\nf 1178/1178/1178 1186/1186/1186 1179/1179/1179\nf 1180/1180/1180 1187/1187/1187 1188/1188/1188\nf 1180/1180/1180 1188/1188/1188 1181/1181/1181\nf 1181/1181/1181 1188/1188/1188 1189/1189/1189\nf 1181/1181/1181 1189/1189/1189 1182/1182/1182\nf 1182/1182/1182 1189/1189/1189 1190/1190/1190\nf 1182/1182/1182 1190/1190/1190 1183/1183/1183\nf 1183/1183/1183 1190/1190/1190 1184/1184/1184\nf 1183/1183/1183 1184/1184/1184 1177/1177/1177\nf 1191/1191/1191 1192/1192/1192 1193/1193/1193\nf 1191/1191/1191 1193/1193/1193 1194/1194/1194\nf 1194/1194/1194 1193/1193/1193 1195/1195/1195\nf 1194/1194/1194 1195/1195/1195 1196/1196/1196\nf 1197/1197/1197 1198/1198/1198 1199/1199/1199\nf 1197/1197/1197 1199/1199/1199 1200/1200/1200\nf 1200/1200/1200 1199/1199/1199 1201/1201/1201\nf 1200/1200/1200 1201/1201/1201 1202/1202/1202\nf 1202/1202/1202 1201/1201/1201 1203/1203/1203\nf 1202/1202/1202 1203/1203/1203 1204/1204/1204\nf 1204/1204/1204 1203/1203/1203 1192/1192/1192\nf 1204/1204/1204 1192/1192/1192 1191/1191/1191\nf 1192/1192/1192 1205/1205/1205 1206/1206/1206\nf 1192/1192/1192 1206/1206/1206 1193/1193/1193\nf 1193/1193/1193 1206/1206/1206 1207/1207/1207\nf 1193/1193/1193 1207/1207/1207 1195/1195/1195\nf 1198/1198/1198 1208/1208/1208 1209/1209/1209\nf 1198/1198/1198 1209/1209/1209 1199/1199/1199\nf 1199/1199/1199 1209/1209/1209 1210/1210/1210\nf 1199/1199/1199 1210/1210/1210 1201/1201/1201\nf 1201/1201/1201 1210/1210/1210 1211/1211/1211\nf 1201/1201/1201 1211/1211/1211 1203/1203/1203\nf 1203/1203/1203 1211/1211/1211 1205/1205/1205\nf 1203/1203/1203 1205/1205/1205 1192/1192/1192\nf 1205/1205/1205 1212/1212/1212 1213/1213/1213\nf 1205/1205/1205 1213/1213/1213 1206/1206/1206\nf 1206/1206/1206 1213/1213/1213 1214/1214/1214\nf 1206/1206/1206 1214/1214/1214 1207/1207/1207\nf 1208/1208/1208 1215/1215/1215 1216/1216/1216\nf 1208/1208/1208 1216/1216/1216 1209/1209/1209\nf 1209/1209/1209 1216/1216/1216 1217/1217/1217\nf 1209/1209/1209 1217/1217/1217 1210/1210/1210\nf 1210/1210/1210 1217/1217/1217 1218/1218/1218\nf 1210/1210/1210 1218/1218/1218 1211/1211/1211\nf 1211/1211/1211 1218/1218/1218 1212/1212/1212\nf 1211/1211/1211 1212/1212/1212 1205/1205/1205\nf 1212/1212/1212 1219/1219/1219 1220/1220/1220\nf 1212/1212/1212 1220/1220/1220 1213/1213/1213\nf 1213/1213/1213 1220/1220/1220 1221/1221/1221\nf 1213/1213/1213 1221/1221/1221 1214/1214/1214\nf 1215/1215/1215 1222/1222/1222 1223/1223/1223\nf 1215/1215/1215 1223/1223/1223 1216/1216/1216\nf 1216/1216/1216 1223/1223/1223 1224/1224/1224\nf 1216/1216/1216 1224/1224/1224 1217/1217/1217\nf 1217/1217/1217 1224/1224/1224 1225/1225/1225\nf 1217/1217/1217 1225/1225/1225 1218/1218/1218\nf 1218/1218/1218 1225/1225/1225 1219/1219/1219\nf 1218/1218/1218 1219/1219/1219 1212/1212/1212\nf 1219/1219/1219 1226/1226/1226 1227/1227/1227\nf 1219/1219/1219 1227/1227/1227 1220/1220/1220\nf 1220/1220/1220 1227/1227/1227 1228/1228/1228\nf 1220/1220/1220 1228/1228/1228 1221/1221/1221\nf 1222/1222/1222 1229/1229/1229 1230/1230/1230\nf 1222/1222/1222 1230/1230/1230 1223/1223/1223\nf 1223/1223/1223 1230/1230/1230 1231/1231/1231\nf 1223/1223/1223 1231/1231/1231 1224/1224/1224\nf 1224/1224/1224 1231/1231/1231 1232/1232/1232\nf 1224/1224/1224 1232/1232/1232 1225/1225/1225\nf 1225/1225/1225 1232/1232/1232 1226/1226/1226\nf 1225/1225/1225 1226/1226/1226 1219/1219/1219\nf 1226/1226/1226 1233/1233/1233 1234/1234/1234\nf 1226/1226/1226 1234/1234/1234 1227/1227/1227\nf 1227/1227/1227 1234/1234/1234 1235/1235/1235\nf 1227/1227/1227 1235/1235/1235 1228/1228/1228\nf 1229/1229/1229 1236/1236/1236 1237/1237/1237\nf 1229/1229/1229 1237/1237/1237 1230/1230/1230\nf 1230/1230/1230 1237/1237/1237 1238/1238/1238\nf 1230/1230/1230 1238/1238/1238 1231/1231/1231\nf 1231/1231/1231 1238/1238/1238 1239/1239/1239\nf 1231/1231/1231 1239/1239/1239 1232/1232/1232\nf 1232/1232/1232 1239/1239/1239 1233/1233/1233\nf 1232/1232/1232 1233/1233/1233 1226/1226/1226\nf 1233/1233/1233 1240/1240/1240 1241/1241/1241\nf 1233/1233/1233 1241/1241/1241 1234/1234/1234\nf 1234/1234/1234 1241/1241/1241 1242/1242/1242\nf 1234/1234/1234 1242/1242/1242 1235/1235/1235\nf 1236/1236/1236 1243/1243/1243 1244/1244/1244\nf 1236/1236/1236 1244/1244/1244 1237/1237/1237\nf 1237/1237/1237 1244/1244/1244 1245/1245/1245\nf 1237/1237/1237 1245/1245/1245 1238/1238/1238\nf 1238/1238/1238 1245/1245/1245 1246/1246/1246\nf 1238/1238/1238 1246/1246/1246 1239/1239/1239\nf 1239/1239/1239 1246/1246/1246 1240/1240/1240\nf 1239/1239/1239 1240/1240/1240 1233/1233/1233\nf 1240/1240/1240 1247/1247/1247 1248/1248/1248\nf 1240/1240/1240 1248/1248/1248 1241/1241/1241\nf 1241/1241/1241 1248/1248/1248 1249/1249/1249\nf 1241/1241/1241 1249/1249/1249 1242/1242/1242\nf 1243/1243/1243 1250/1250/1250 1251/1251/1251\nf 1243/1243/1243 1251/1251/1251 1244/1244/1244\nf 1244/1244/1244 1251/1251/1251 1252/1252/1252\nf 1244/1244/1244 1252/1252/1252 1245/1245/1245\nf 1245/1245/1245 1252/1252/1252 1253/1253/1253\nf 1245/1245/1245 1253/1253/1253 1246/1246/1246\nf 1246/1246/1246 1253/1253/1253 1247/1247/1247\nf 1246/1246/1246 1247/1247/1247 1240/1240/1240\nf 1247/1247/1247 1254/1254/1254 1255/1255/1255\nf 1247/1247/1247 1255/1255/1255 1248/1248/1248\nf 1248/1248/1248 1255/1255/1255 1256/1256/1256\nf 1248/1248/1248 1256/1256/1256 1249/1249/1249\nf 1250/1250/1250 1257/1257/1257 1258/1258/1258\nf 1250/1250/1250 1258/1258/1258 1251/1251/1251\nf 1251/1251/1251 1258/1258/1258 1259/1259/1259\nf 1251/1251/1251 1259/1259/1259 1252/1252/1252\nf 1252/1252/1252 1259/1259/1259 1260/1260/1260\nf 1252/1252/1252 1260/1260/1260 1253/1253/1253\nf 1253/1253/1253 1260/1260/1260 1254/1254/1254\nf 1253/1253/1253 1254/1254/1254 1247/1247/1247\nf 1254/1254/1254 1261/1261/1261 1262/1262/1262\nf 1254/1254/1254 1262/1262/1262 1255/1255/1255\nf 1255/1255/1255 1262/1262/1262 1263/1263/1263\nf 1255/1255/1255 1263/1263/1263 1256/1256/1256\nf 1257/1257/1257 1264/1264/1264 1265/1265/1265\nf 1257/1257/1257 1265/1265/1265 1258/1258/1258\nf 1258/1258/1258 1265/1265/1265 1266/1266/1266\nf 1258/1258/1258 1266/1266/1266 1259/1259/1259\nf 1259/1259/1259 1266/1266/1266 1267/1267/1267\nf 1259/1259/1259 1267/1267/1267 1260/1260/1260\nf 1260/1260/1260 1267/1267/1267 1261/1261/1261\nf 1260/1260/1260 1261/1261/1261 1254/1254/1254\nf 1261/1261/1261 1268/1268/1268 1269/1269/1269\nf 1261/1261/1261 1269/1269/1269 1262/1262/1262\nf 1262/1262/1262 1269/1269/1269 1270/1270/1270\nf 1262/1262/1262 1270/1270/1270 1263/1263/1263\nf 1264/1264/1264 1271/1271/1271 1272/1272/1272\nf 1264/1264/1264 1272/1272/1272 1265/1265/1265\nf 1265/1265/1265 1272/1272/1272 1273/1273/1273\nf 1265/1265/1265 1273/1273/1273 1266/1266/1266\nf 1266/1266/1266 1273/1273/1273 1274/1274/1274\nf 1266/1266/1266 1274/1274/1274 1267/1267/1267\nf 1267/1267/1267 1274/1274/1274 1268/1268/1268\nf 1267/1267/1267 1268/1268/1268 1261/1261/1261\nf 1268/1268/1268 1275/1275/1275 1276/1276/1276\nf 1268/1268/1268 1276/1276/1276 1269/1269/1269\nf 1269/1269/1269 1276/1276/1276 1277/1277/1277\nf 1269/1269/1269 1277/1277/1277 1270/1270/1270\nf 1271/1271/1271 1278/1278/1278 1279/1279/1279\nf 1271/1271/1271 1279/1279/1279 1272/1272/1272\nf 1272/1272/1272 1279/1279/1279 1280/1280/1280\nf 1272/1272/1272 1280/1280/1280 1273/1273/1273\nf 1273/1273/1273 1280/1280/1280 1281/1281/1281\nf 1273/1273/1273 1281/1281/1281 1274/1274/1274\nf 1274/1274/1274 1281/1281/1281 1275/1275/1275\nf 1274/1274/1274 1275/1275/1275 1268/1268/1268\nf 1275/1275/1275 1282/1282/1282 1283/1283/1283\nf 1275/1275/1275 1283/1283/1283 1276/1276/1276\nf 1276/1276/1276 1283/1283/1283 1284/1284/1284\nf 1276/1276/1276 1284/1284/1284 1277/1277/1277\nf 1278/1278/1278 1285/1285/1285 1286/1286/1286\nf 1278/1278/1278 1286/1286/1286 1279/1279/1279\nf 1279/1279/1279 1286/1286/1286 1287/1287/1287\nf 1279/1279/1279 1287/1287/1287 1280/1280/1280\nf 1280/1280/1280 1287/1287/1287 1288/1288/1288\nf 1280/1280/1280 1288/1288/1288 1281/1281/1281\nf 1281/1281/1281 1288/1288/1288 1282/1282/1282\nf 1281/1281/1281 1282/1282/1282 1275/1275/1275\nf 1282/1282/1282 1289/1289/1289 1290/1290/1290\nf 1282/1282/1282 1290/1290/1290 1283/1283/1283\nf 1283/1283/1283 1290/1290/1290 1291/1291/1291\nf 1283/1283/1283 1291/1291/1291 1284/1284/1284\nf 1285/1285/1285 1292/1292/1292 1293/1293/1293\nf 1285/1285/1285 1293/1293/1293 1286/1286/1286\nf 1286/1286/1286 1293/1293/1293 1294/1294/1294\nf 1286/1286/1286 1294/1294/1294 1287/1287/1287\nf 1287/1287/1287 1294/1294/1294 1295/1295/1295\nf 1287/1287/1287 1295/1295/1295 1288/1288/1288\nf 1288/1288/1288 1295/1295/1295 1289/1289/1289\nf 1288/1288/1288 1289/1289/1289 1282/1282/1282\nf 1289/1289/1289 1296/1296/1296 1297/1297/1297\nf 1289/1289/1289 1297/1297/1297 1290/1290/1290\nf 1290/1290/1290 1297/1297/1297 1298/1298/1298\nf 1290/1290/1290 1298/1298/1298 1291/1291/1291\nf 1292/1292/1292 1299/1299/1299 1300/1300/1300\nf 1292/1292/1292 1300/1300/1300 1293/1293/1293\nf 1293/1293/1293 1300/1300/1300 1301/1301/1301\nf 1293/1293/1293 1301/1301/1301 1294/1294/1294\nf 1294/1294/1294 1301/1301/1301 1302/1302/1302\nf 1294/1294/1294 1302/1302/1302 1295/1295/1295\nf 1295/1295/1295 1302/1302/1302 1296/1296/1296\nf 1295/1295/1295 1296/1296/1296 1289/1289/1289\nf 1296/1296/1296 1303/1303/1303 1304/1304/1304\nf 1296/1296/1296 1304/1304/1304 1297/1297/1297\nf 1297/1297/1297 1304/1304/1304 1305/1305/1305\nf 1297/1297/1297 1305/1305/1305 1298/1298/1298\nf 1299/1299/1299 1306/1306/1306 1307/1307/1307\nf 1299/1299/1299 1307/1307/1307 1300/1300/1300\nf 1300/1300/1300 1307/1307/1307 1308/1308/1308\nf 1300/1300/1300 1308/1308/1308 1301/1301/1301\nf 1301/1301/1301 1308/1308/1308 1309/1309/1309\nf 1301/1301/1301 1309/1309/1309 1302/1302/1302\nf 1302/1302/1302 1309/1309/1309 1303/1303/1303\nf 1302/1302/1302 1303/1303/1303 1296/1296/1296\nf 1310/1310/1310 1311/1311/1311 1312/1312/1312\nf 1310/1310/1310 1312/1312/1312 1313/1313/1313\nf 1313/1313/1313 1312/1312/1312 1314/1314/1314\nf 1313/1313/1313 1314/1314/1314 1315/1315/1315\nf 1316/1316/1316 1317/1317/1317 1318/1318/1318\nf 1316/1316/1316 1318/1318/1318 1319/1319/1319\nf 1319/1319/1319 1318/1318/1318 1320/1320/1320\nf 1319/1319/1319 1320/1320/1320 1321/1321/1321\nf 1321/1321/1321 1320/1320/1320 1322/1322/1322\nf 1321/1321/1321 1322/1322/1322 1323/1323/1323\nf 1323/1323/1323 1322/1322/1322 1311/1311/1311\nf 1323/1323/1323 1311/1311/1311 1310/1310/1310\nf 1311/1311/1311 1324/1324/1324 1325/1325/1325\nf 1311/1311/1311 1325/1325/1325 1312/1312/1312\nf 1312/1312/1312 1325/1325/1325 1326/1326/1326\nf 1312/1312/1312 1326/1326/1326 1314/1314/1314\nf 1317/1317/1317 1327/1327/1327 1328/1328/1328\nf 1317/1317/1317 1328/1328/1328 1318/1318/1318\nf 1318/1318/1318 1328/1328/1328 1329/1329/1329\nf 1318/1318/1318 1329/1329/1329 1320/1320/1320\nf 1320/1320/1320 1329/1329/1329 1330/1330/1330\nf 1320/1320/1320 1330/1330/1330 1322/1322/1322\nf 1322/1322/1322 1330/1330/1330 1324/1324/1324\nf 1322/1322/1322 1324/1324/1324 1311/1311/1311\nf 1324/1324/1324 1331/1331/1331 1332/1332/1332\nf 1324/1324/1324 1332/1332/1332 1325/1325/1325\nf 1325/1325/1325 1332/1332/1332 1333/1333/1333\nf 1325/1325/1325 1333/1333/1333 1326/1326/1326\nf 1327/1327/1327 1334/1334/1334 1335/1335/1335\nf 1327/1327/1327 1335/1335/1335 1328/1328/1328\nf 1328/1328/1328 1335/1335/1335 1336/1336/1336\nf 1328/1328/1328 1336/1336/1336 1329/1329/1329\nf 1329/1329/1329 1336/1336/1336 1337/1337/1337\nf 1329/1329/1329 1337/1337/1337 1330/1330/1330\nf 1330/1330/1330 1337/1337/1337 1331/1331/1331\nf 1330/1330/1330 1331/1331/1331 1324/1324/1324\nf 1331/1331/1331 1338/1338/1338 1339/1339/1339\nf 1331/1331/1331 1339/1339/1339 1332/1332/1332\nf 1332/1332/1332 1339/1339/1339 1340/1340/1340\nf 1332/1332/1332 1340/1340/1340 1333/1333/1333\nf 1334/1334/1334 1341/1341/1341 1342/1342/1342\nf 1334/1334/1334 1342/1342/1342 1335/1335/1335\nf 1335/1335/1335 1342/1342/1342 1343/1343/1343\nf 1335/1335/1335 1343/1343/1343 1336/1336/1336\nf 1336/1336/1336 1343/1343/1343 1344/1344/1344\nf 1336/1336/1336 1344/1344/1344 1337/1337/1337\nf 1337/1337/1337 1344/1344/1344 1338/1338/1338\nf 1337/1337/1337 1338/1338/1338 1331/1331/1331\nf 1338/1338/1338 1345/1345/1345 1346/1346/1346\nf 1338/1338/1338 1346/1346/1346 1339/1339/1339\nf 1339/1339/1339 1346/1346/1346 1347/1347/1347\nf 1339/1339/1339 1347/1347/1347 1340/1340/1340\nf 1341/1341/1341 1348/1348/1348 1349/1349/1349\nf 1341/1341/1341 1349/1349/1349 1342/1342/1342\nf 1342/1342/1342 1349/1349/1349 1350/1350/1350\nf 1342/1342/1342 1350/1350/1350 1343/1343/1343\nf 1343/1343/1343 1350/1350/1350 1351/1351/1351\nf 1343/1343/1343 1351/1351/1351 1344/1344/1344\nf 1344/1344/1344 1351/1351/1351 1345/1345/1345\nf 1344/1344/1344 1345/1345/1345 1338/1338/1338\nf 1345/1345/1345 1352/1352/1352 1353/1353/1353\nf 1345/1345/1345 1353/1353/1353 1346/1346/1346\nf 1346/1346/1346 1353/1353/1353 1354/1354/1354\nf 1346/1346/1346 1354/1354/1354 1347/1347/1347\nf 1348/1348/1348 1355/1355/1355 1356/1356/1356\nf 1348/1348/1348 1356/1356/1356 1349/1349/1349\nf 1349/1349/1349 1356/1356/1356 1357/1357/1357\nf 1349/1349/1349 1357/1357/1357 1350/1350/1350\nf 1350/1350/1350 1357/1357/1357 1358/1358/1358\nf 1350/1350/1350 1358/1358/1358 1351/1351/1351\nf 1351/1351/1351 1358/1358/1358 1352/1352/1352\nf 1351/1351/1351 1352/1352/1352 1345/1345/1345\nf 1352/1352/1352 1359/1359/1359 1360/1360/1360\nf 1352/1352/1352 1360/1360/1360 1353/1353/1353\nf 1353/1353/1353 1360/1360/1360 1361/1361/1361\nf 1353/1353/1353 1361/1361/1361 1354/1354/1354\nf 1355/1355/1355 1362/1362/1362 1363/1363/1363\nf 1355/1355/1355 1363/1363/1363 1356/1356/1356\nf 1356/1356/1356 1363/1363/1363 1364/1364/1364\nf 1356/1356/1356 1364/1364/1364 1357/1357/1357\nf 1357/1357/1357 1364/1364/1364 1365/1365/1365\nf 1357/1357/1357 1365/1365/1365 1358/1358/1358\nf 1358/1358/1358 1365/1365/1365 1359/1359/1359\nf 1358/1358/1358 1359/1359/1359 1352/1352/1352\nf 1359/1359/1359 1366/1366/1366 1367/1367/1367\nf 1359/1359/1359 1367/1367/1367 1360/1360/1360\nf 1360/1360/1360 1367/1367/1367 1368/1368/1368\nf 1360/1360/1360 1368/1368/1368 1361/1361/1361\nf 1362/1362/1362 1369/1369/1369 1370/1370/1370\nf 1362/1362/1362 1370/1370/1370 1363/1363/1363\nf 1363/1363/1363 1370/1370/1370 1371/1371/1371\nf 1363/1363/1363 1371/1371/1371 1364/1364/1364\nf 1364/1364/1364 1371/1371/1371 1372/1372/1372\nf 1364/1364/1364 1372/1372/1372 1365/1365/1365\nf 1365/1365/1365 1372/1372/1372 1366/1366/1366\nf 1365/1365/1365 1366/1366/1366 1359/1359/1359\nf 1366/1366/1366 1373/1373/1373 1374/1374/1374\nf 1366/1366/1366 1374/1374/1374 1367/1367/1367\nf 1367/1367/1367 1374/1374/1374 1375/1375/1375\nf 1367/1367/1367 1375/1375/1375 1368/1368/1368\nf 1369/1369/1369 1376/1376/1376 1377/1377/1377\nf 1369/1369/1369 1377/1377/1377 1370/1370/1370\nf 1370/1370/1370 1377/1377/1377 1378/1378/1378\nf 1370/1370/1370 1378/1378/1378 1371/1371/1371\nf 1371/1371/1371 1378/1378/1378 1379/1379/1379\nf 1371/1371/1371 1379/1379/1379 1372/1372/1372\nf 1372/1372/1372 1379/1379/1379 1373/1373/1373\nf 1372/1372/1372 1373/1373/1373 1366/1366/1366\nf 1373/1373/1373 1380/1380/1380 1381/1381/1381\nf 1373/1373/1373 1381/1381/1381 1374/1374/1374\nf 1374/1374/1374 1381/1381/1381 1382/1382/1382\nf 1374/1374/1374 1382/1382/1382 1375/1375/1375\nf 1376/1376/1376 1383/1383/1383 1384/1384/1384\nf 1376/1376/1376 1384/1384/1384 1377/1377/1377\nf 1377/1377/1377 1384/1384/1384 1385/1385/1385\nf 1377/1377/1377 1385/1385/1385 1378/1378/1378\nf 1378/1378/1378 1385/1385/1385 1386/1386/1386\nf 1378/1378/1378 1386/1386/1386 1379/1379/1379\nf 1379/1379/1379 1386/1386/1386 1380/1380/1380\nf 1379/1379/1379 1380/1380/1380 1373/1373/1373\nf 1380/1380/1380 1387/1387/1387 1388/1388/1388\nf 1380/1380/1380 1388/1388/1388 1381/1381/1381\nf 1381/1381/1381 1388/1388/1388 1389/1389/1389\nf 1381/1381/1381 1389/1389/1389 1382/1382/1382\nf 1383/1383/1383 1390/1390/1390 1391/1391/1391\nf 1383/1383/1383 1391/1391/1391 1384/1384/1384\nf 1384/1384/1384 1391/1391/1391 1392/1392/1392\nf 1384/1384/1384 1392/1392/1392 1385/1385/1385\nf 1385/1385/1385 1392/1392/1392 1393/1393/1393\nf 1385/1385/1385 1393/1393/1393 1386/1386/1386\nf 1386/1386/1386 1393/1393/1393 1387/1387/1387\nf 1386/1386/1386 1387/1387/1387 1380/1380/1380\nf 1387/1387/1387 1394/1394/1394 1395/1395/1395\nf 1387/1387/1387 1395/1395/1395 1388/1388/1388\nf 1388/1388/1388 1395/1395/1395 1396/1396/1396\nf 1388/1388/1388 1396/1396/1396 1389/1389/1389\nf 1390/1390/1390 1397/1397/1397 1398/1398/1398\nf 1390/1390/1390 1398/1398/1398 1391/1391/1391\nf 1391/1391/1391 1398/1398/1398 1399/1399/1399\nf 1391/1391/1391 1399/1399/1399 1392/1392/1392\nf 1392/1392/1392 1399/1399/1399 1400/1400/1400\nf 1392/1392/1392 1400/1400/1400 1393/1393/1393\nf 1393/1393/1393 1400/1400/1400 1394/1394/1394\nf 1393/1393/1393 1394/1394/1394 1387/1387/1387\nf 1394/1394/1394 1401/1401/1401 1402/1402/1402\nf 1394/1394/1394 1402/1402/1402 1395/1395/1395\nf 1395/1395/1395 1402/1402/1402 1403/1403/1403\nf 1395/1395/1395 1403/1403/1403 1396/1396/1396\nf 1397/1397/1397 1404/1404/1404 1405/1405/1405\nf 1397/1397/1397 1405/1405/1405 1398/1398/1398\nf 1398/1398/1398 1405/1405/1405 1406/1406/1406\nf 1398/1398/1398 1406/1406/1406 1399/1399/1399\nf 1399/1399/1399 1406/1406/1406 1407/1407/1407\nf 1399/1399/1399 1407/1407/1407 1400/1400/1400\nf 1400/1400/1400 1407/1407/1407 1401/1401/1401\nf 1400/1400/1400 1401/1401/1401 1394/1394/1394\nf 1401/1401/1401 1408/1408/1408 1409/1409/1409\nf 1401/1401/1401 1409/1409/1409 1402/1402/1402\nf 1402/1402/1402 1409/1409/1409 1410/1410/1410\nf 1402/1402/1402 1410/1410/1410 1403/1403/1403\nf 1404/1404/1404 1411/1411/1411 1412/1412/1412\nf 1404/1404/1404 1412/1412/1412 1405/1405/1405\nf 1405/1405/1405 1412/1412/1412 1413/1413/1413\nf 1405/1405/1405 1413/1413/1413 1406/1406/1406\nf 1406/1406/1406 1413/1413/1413 1414/1414/1414\nf 1406/1406/1406 1414/1414/1414 1407/1407/1407\nf 1407/1407/1407 1414/1414/1414 1408/1408/1408\nf 1407/1407/1407 1408/1408/1408 1401/1401/1401\nf 1408/1408/1408 1415/1415/1415 1416/1416/1416\nf 1408/1408/1408 1416/1416/1416 1409/1409/1409\nf 1409/1409/1409 1416/1416/1416 1417/1417/1417\nf 1409/1409/1409 1417/1417/1417 1410/1410/1410\nf 1411/1411/1411 1418/1418/1418 1419/1419/1419\nf 1411/1411/1411 1419/1419/1419 1412/1412/1412\nf 1412/1412/1412 1419/1419/1419 1420/1420/1420\nf 1412/1412/1412 1420/1420/1420 1413/1413/1413\nf 1413/1413/1413 1420/1420/1420 1421/1421/1421\nf 1413/1413/1413 1421/1421/1421 1414/1414/1414\nf 1414/1414/1414 1421/1421/1421 1415/1415/1415\nf 1414/1414/1414 1415/1415/1415 1408/1408/1408\nf 1415/1415/1415 1422/1422/1422 1423/1423/1423\nf 1415/1415/1415 1423/1423/1423 1416/1416/1416\nf 1416/1416/1416 1423/1423/1423 1424/1424/1424\nf 1416/1416/1416 1424/1424/1424 1417/1417/1417\nf 1418/1418/1418 1425/1425/1425 1426/1426/1426\nf 1418/1418/1418 1426/1426/1426 1419/1419/1419\nf 1419/1419/1419 1426/1426/1426 1427/1427/1427\nf 1419/1419/1419 1427/1427/1427 1420/1420/1420\nf 1420/1420/1420 1427/1427/1427 1428/1428/1428\nf 1420/1420/1420 1428/1428/1428 1421/1421/1421\nf 1421/1421/1421 1428/1428/1428 1422/1422/1422\nf 1421/1421/1421 1422/1422/1422 1415/1415/1415\nf 1429/1429/1429 1430/1430/1430 1431/1431/1431\nf 1429/1429/1429 1431/1431/1431 1432/1432/1432\nf 1432/1432/1432 1431/1431/1431 1433/1433/1433\nf 1432/1432/1432 1433/1433/1433 1434/1434/1434\nf 1435/1435/1435 1436/1436/1436 1437/1437/1437\nf 1435/1435/1435 1437/1437/1437 1438/1438/1438\nf 1438/1438/1438 1437/1437/1437 1439/1439/1439\nf 1438/1438/1438 1439/1439/1439 1440/1440/1440\nf 1440/1440/1440 1439/1439/1439 1441/1441/1441\nf 1440/1440/1440 1441/1441/1441 1442/1442/1442\nf 1442/1442/1442 1441/1441/1441 1430/1430/1430\nf 1442/1442/1442 1430/1430/1430 1429/1429/1429\nf 1430/1430/1430 1443/1443/1443 1444/1444/1444\nf 1430/1430/1430 1444/1444/1444 1431/1431/1431\nf 1431/1431/1431 1444/1444/1444 1445/1445/1445\nf 1431/1431/1431 1445/1445/1445 1433/1433/1433\nf 1436/1436/1436 1446/1446/1446 1447/1447/1447\nf 1436/1436/1436 1447/1447/1447 1437/1437/1437\nf 1437/1437/1437 1447/1447/1447 1448/1448/1448\nf 1437/1437/1437 1448/1448/1448 1439/1439/1439\nf 1439/1439/1439 1448/1448/1448 1449/1449/1449\nf 1439/1439/1439 1449/1449/1449 1441/1441/1441\nf 1441/1441/1441 1449/1449/1449 1443/1443/1443\nf 1441/1441/1441 1443/1443/1443 1430/1430/1430\nf 1443/1443/1443 1450/1450/1450 1451/1451/1451\nf 1443/1443/1443 1451/1451/1451 1444/1444/1444\nf 1444/1444/1444 1451/1451/1451 1452/1452/1452\nf 1444/1444/1444 1452/1452/1452 1445/1445/1445\nf 1446/1446/1446 1453/1453/1453 1454/1454/1454\nf 1446/1446/1446 1454/1454/1454 1447/1447/1447\nf 1447/1447/1447 1454/1454/1454 1455/1455/1455\nf 1447/1447/1447 1455/1455/1455 1448/1448/1448\nf 1448/1448/1448 1455/1455/1455 1456/1456/1456\nf 1448/1448/1448 1456/1456/1456 1449/1449/1449\nf 1449/1449/1449 1456/1456/1456 1450/1450/1450\nf 1449/1449/1449 1450/1450/1450 1443/1443/1443\nf 1450/1450/1450 1457/1457/1457 1458/1458/1458\nf 1450/1450/1450 1458/1458/1458 1451/1451/1451\nf 1451/1451/1451 1458/1458/1458 1459/1459/1459\nf 1451/1451/1451 1459/1459/1459 1452/1452/1452\nf 1453/1453/1453 1460/1460/1460 1461/1461/1461\nf 1453/1453/1453 1461/1461/1461 1454/1454/1454\nf 1454/1454/1454 1461/1461/1461 1462/1462/1462\nf 1454/1454/1454 1462/1462/1462 1455/1455/1455\nf 1455/1455/1455 1462/1462/1462 1463/1463/1463\nf 1455/1455/1455 1463/1463/1463 1456/1456/1456\nf 1456/1456/1456 1463/1463/1463 1457/1457/1457\nf 1456/1456/1456 1457/1457/1457 1450/1450/1450\nf 1457/1457/1457 1464/1464/1464 1465/1465/1465\nf 1457/1457/1457 1465/1465/1465 1458/1458/1458\nf 1458/1458/1458 1465/1465/1465 1466/1466/1466\nf 1458/1458/1458 1466/1466/1466 1459/1459/1459\nf 1460/1460/1460 1467/1467/1467 1468/1468/1468\nf 1460/1460/1460 1468/1468/1468 1461/1461/1461\nf 1461/1461/1461 1468/1468/1468 1469/1469/1469\nf 1461/1461/1461 1469/1469/1469 1462/1462/1462\nf 1462/1462/1462 1469/1469/1469 1470/1470/1470\nf 1462/1462/1462 1470/1470/1470 1463/1463/1463\nf 1463/1463/1463 1470/1470/1470 1464/1464/1464\nf 1463/1463/1463 1464/1464/1464 1457/1457/1457\nf 1464/1464/1464 1471/1471/1471 1472/1472/1472\nf 1464/1464/1464 1472/1472/1472 1465/1465/1465\nf 1465/1465/1465 1472/1472/1472 1473/1473/1473\nf 1465/1465/1465 1473/1473/1473 1466/1466/1466\nf 1467/1467/1467 1474/1474/1474 1475/1475/1475\nf 1467/1467/1467 1475/1475/1475 1468/1468/1468\nf 1468/1468/1468 1475/1475/1475 1476/1476/1476\nf 1468/1468/1468 1476/1476/1476 1469/1469/1469\nf 1469/1469/1469 1476/1476/1476 1477/1477/1477\nf 1469/1469/1469 1477/1477/1477 1470/1470/1470\nf 1470/1470/1470 1477/1477/1477 1471/1471/1471\nf 1470/1470/1470 1471/1471/1471 1464/1464/1464\nf 1471/1471/1471 1478/1478/1478 1479/1479/1479\nf 1471/1471/1471 1479/1479/1479 1472/1472/1472\nf 1472/1472/1472 1479/1479/1479 1480/1480/1480\nf 1472/1472/1472 1480/1480/1480 1473/1473/1473\nf 1474/1474/1474 1481/1481/1481 1482/1482/1482\nf 1474/1474/1474 1482/1482/1482 1475/1475/1475\nf 1475/1475/1475 1482/1482/1482 1483/1483/1483\nf 1475/1475/1475 1483/1483/1483 1476/1476/1476\nf 1476/1476/1476 1483/1483/1483 1484/1484/1484\nf 1476/1476/1476 1484/1484/1484 1477/1477/1477\nf 1477/1477/1477 1484/1484/1484 1478/1478/1478\nf 1477/1477/1477 1478/1478/1478 1471/1471/1471\nf 1478/1478/1478 1485/1485/1485 1486/1486/1486\nf 1478/1478/1478 1486/1486/1486 1479/1479/1479\nf 1479/1479/1479 1486/1486/1486 1487/1487/1487\nf 1479/1479/1479 1487/1487/1487 1480/1480/1480\nf 1481/1481/1481 1488/1488/1488 1489/1489/1489\nf 1481/1481/1481 1489/1489/1489 1482/1482/1482\nf 1482/1482/1482 1489/1489/1489 1490/1490/1490\nf 1482/1482/1482 1490/1490/1490 1483/1483/1483\nf 1483/1483/1483 1490/1490/1490 1491/1491/1491\nf 1483/1483/1483 1491/1491/1491 1484/1484/1484\nf 1484/1484/1484 1491/1491/1491 1485/1485/1485\nf 1484/1484/1484 1485/1485/1485 1478/1478/1478\nf 1485/1485/1485 1492/1492/1492 1493/1493/1493\nf 1485/1485/1485 1493/1493/1493 1486/1486/1486\nf 1486/1486/1486 1493/1493/1493 1494/1494/1494\nf 1486/1486/1486 1494/1494/1494 1487/1487/1487\nf 1488/1488/1488 1495/1495/1495 1496/1496/1496\nf 1488/1488/1488 1496/1496/1496 1489/1489/1489\nf 1489/1489/1489 1496/1496/1496 1497/1497/1497\nf 1489/1489/1489 1497/1497/1497 1490/1490/1490\nf 1490/1490/1490 1497/1497/1497 1498/1498/1498\nf 1490/1490/1490 1498/1498/1498 1491/1491/1491\nf 1491/1491/1491 1498/1498/1498 1492/1492/1492\nf 1491/1491/1491 1492/1492/1492 1485/1485/1485\nf 1492/1492/1492 1499/1499/1499 1500/1500/1500\nf 1492/1492/1492 1500/1500/1500 1493/1493/1493\nf 1493/1493/1493 1500/1500/1500 1501/1501/1501\nf 1493/1493/1493 1501/1501/1501 1494/1494/1494\nf 1495/1495/1495 1502/1502/1502 1503/1503/1503\nf 1495/1495/1495 1503/1503/1503 1496/1496/1496\nf 1496/1496/1496 1503/1503/1503 1504/1504/1504\nf 1496/1496/1496 1504/1504/1504 1497/1497/1497\nf 1497/1497/1497 1504/1504/1504 1505/1505/1505\nf 1497/1497/1497 1505/1505/1505 1498/1498/1498\nf 1498/1498/1498 1505/1505/1505 1499/1499/1499\nf 1498/1498/1498 1499/1499/1499 1492/1492/1492\nf 1499/1499/1499 1506/1506/1506 1507/1507/1507\nf 1499/1499/1499 1507/1507/1507 1500/1500/1500\nf 1500/1500/1500 1507/1507/1507 1508/1508/1508\nf 1500/1500/1500 1508/1508/1508 1501/1501/1501\nf 1502/1502/1502 1509/1509/1509 1510/1510/1510\nf 1502/1502/1502 1510/1510/1510 1503/1503/1503\nf 1503/1503/1503 1510/1510/1510 1511/1511/1511\nf 1503/1503/1503 1511/1511/1511 1504/1504/1504\nf 1504/1504/1504 1511/1511/1511 1512/1512/1512\nf 1504/1504/1504 1512/1512/1512 1505/1505/1505\nf 1505/1505/1505 1512/1512/1512 1506/1506/1506\nf 1505/1505/1505 1506/1506/1506 1499/1499/1499\nf 1506/1506/1506 1513/1513/1513 1514/1514/1514\nf 1506/1506/1506 1514/1514/1514 1507/1507/1507\nf 1507/1507/1507 1514/1514/1514 1515/1515/1515\nf 1507/1507/1507 1515/1515/1515 1508/1508/1508\nf 1509/1509/1509 1516/1516/1516 1517/1517/1517\nf 1509/1509/1509 1517/1517/1517 1510/1510/1510\nf 1510/1510/1510 1517/1517/1517 1518/1518/1518\nf 1510/1510/1510 1518/1518/1518 1511/1511/1511\nf 1511/1511/1511 1518/1518/1518 1519/1519/1519\nf 1511/1511/1511 1519/1519/1519 1512/1512/1512\nf 1512/1512/1512 1519/1519/1519 1513/1513/1513\nf 1512/1512/1512 1513/1513/1513 1506/1506/1506\nf 1513/1513/1513 1520/1520/1520 1521/1521/1521\nf 1513/1513/1513 1521/1521/1521 1514/1514/1514\nf 1514/1514/1514 1521/1521/1521 1522/1522/1522\nf 1514/1514/1514 1522/1522/1522 1515/1515/1515\nf 1516/1516/1516 1523/1523/1523 1524/1524/1524\nf 1516/1516/1516 1524/1524/1524 1517/1517/1517\nf 1517/1517/1517 1524/1524/1524 1525/1525/1525\nf 1517/1517/1517 1525/1525/1525 1518/1518/1518\nf 1518/1518/1518 1525/1525/1525 1526/1526/1526\nf 1518/1518/1518 1526/1526/1526 1519/1519/1519\nf 1519/1519/1519 1526/1526/1526 1520/1520/1520\nf 1519/1519/1519 1520/1520/1520 1513/1513/1513\nf 1520/1520/1520 1527/1527/1527 1528/1528/1528\nf 1520/1520/1520 1528/1528/1528 1521/1521/1521\nf 1521/1521/1521 1528/1528/1528 1529/1529/1529\nf 1521/1521/1521 1529/1529/1529 1522/1522/1522\nf 1523/1523/1523 1530/1530/1530 1531/1531/1531\nf 1523/1523/1523 1531/1531/1531 1524/1524/1524\nf 1524/1524/1524 1531/1531/1531 1532/1532/1532\nf 1524/1524/1524 1532/1532/1532 1525/1525/1525\nf 1525/1525/1525 1532/1532/1532 1533/1533/1533\nf 1525/1525/1525 1533/1533/1533 1526/1526/1526\nf 1526/1526/1526 1533/1533/1533 1527/1527/1527\nf 1526/1526/1526 1527/1527/1527 1520/1520/1520\nf 1527/1527/1527 1534/1534/1534 1535/1535/1535\nf 1527/1527/1527 1535/1535/1535 1528/1528/1528\nf 1528/1528/1528 1535/1535/1535 1536/1536/1536\nf 1528/1528/1528 1536/1536/1536 1529/1529/1529\nf 1530/1530/1530 1537/1537/1537 1538/1538/1538\nf 1530/1530/1530 1538/1538/1538 1531/1531/1531\nf 1531/1531/1531 1538/1538/1538 1539/1539/1539\nf 1531/1531/1531 1539/1539/1539 1532/1532/1532\nf 1532/1532/1532 1539/1539/1539 1540/1540/1540\nf 1532/1532/1532 1540/1540/1540 1533/1533/1533\nf 1533/1533/1533 1540/1540/1540 1534/1534/1534\nf 1533/1533/1533 1534/1534/1534 1527/1527/1527\nf 1534/1534/1534 1541/1541/1541 1542/1542/1542\nf 1534/1534/1534 1542/1542/1542 1535/1535/1535\nf 1535/1535/1535 1542/1542/1542 1543/1543/1543\nf 1535/1535/1535 1543/1543/1543 1536/1536/1536\nf 1537/1537/1537 1544/1544/1544 1545/1545/1545\nf 1537/1537/1537 1545/1545/1545 1538/1538/1538\nf 1538/1538/1538 1545/1545/1545 1546/1546/1546\nf 1538/1538/1538 1546/1546/1546 1539/1539/1539\nf 1539/1539/1539 1546/1546/1546 1547/1547/1547\nf 1539/1539/1539 1547/1547/1547 1540/1540/1540\nf 1540/1540/1540 1547/1547/1547 1541/1541/1541\nf 1540/1540/1540 1541/1541/1541 1534/1534/1534\nf 1548/1548/1548 1549/1549/1549 1550/1550/1550\nf 1548/1548/1548 1550/1550/1550 1551/1551/1551\nf 1551/1551/1551 1550/1550/1550 1552/1552/1552\nf 1551/1551/1551 1552/1552/1552 1553/1553/1553\nf 1554/1554/1554 1555/1555/1555 1556/1556/1556\nf 1554/1554/1554 1556/1556/1556 1557/1557/1557\nf 1557/1557/1557 1556/1556/1556 1558/1558/1558\nf 1557/1557/1557 1558/1558/1558 1559/1559/1559\nf 1559/1559/1559 1558/1558/1558 1560/1560/1560\nf 1559/1559/1559 1560/1560/1560 1561/1561/1561\nf 1561/1561/1561 1560/1560/1560 1549/1549/1549\nf 1561/1561/1561 1549/1549/1549 1548/1548/1548\nf 1549/1549/1549 1562/1562/1562 1563/1563/1563\nf 1549/1549/1549 1563/1563/1563 1550/1550/1550\nf 1550/1550/1550 1563/1563/1563 1564/1564/1564\nf 1550/1550/1550 1564/1564/1564 1552/1552/1552\nf 1555/1555/1555 1565/1565/1565 1566/1566/1566\nf 1555/1555/1555 1566/1566/1566 1556/1556/1556\nf 1556/1556/1556 1566/1566/1566 1567/1567/1567\nf 1556/1556/1556 1567/1567/1567 1558/1558/1558\nf 1558/1558/1558 1567/1567/1567 1568/1568/1568\nf 1558/1558/1558 1568/1568/1568 1560/1560/1560\nf 1560/1560/1560 1568/1568/1568 1562/1562/1562\nf 1560/1560/1560 1562/1562/1562 1549/1549/1549\nf 1562/1562/1562 1569/1569/1569 1570/1570/1570\nf 1562/1562/1562 1570/1570/1570 1563/1563/1563\nf 1563/1563/1563 1570/1570/1570 1571/1571/1571\nf 1563/1563/1563 1571/1571/1571 1564/1564/1564\nf 1565/1565/1565 1572/1572/1572 1573/1573/1573\nf 1565/1565/1565 1573/1573/1573 1566/1566/1566\nf 1566/1566/1566 1573/1573/1573 1574/1574/1574\nf 1566/1566/1566 1574/1574/1574 1567/1567/1567\nf 1567/1567/1567 1574/1574/1574 1575/1575/1575\nf 1567/1567/1567 1575/1575/1575 1568/1568/1568\nf 1568/1568/1568 1575/1575/1575 1569/1569/1569\nf 1568/1568/1568 1569/1569/1569 1562/1562/1562\nf 1569/1569/1569 1576/1576/1576 1577/1577/1577\nf 1569/1569/1569 1577/1577/1577 1570/1570/1570\nf 1570/1570/1570 1577/1577/1577 1578/1578/1578\nf 1570/1570/1570 1578/1578/1578 1571/1571/1571\nf 1572/1572/1572 1579/1579/1579 1580/1580/1580\nf 1572/1572/1572 1580/1580/1580 1573/1573/1573\nf 1573/1573/1573 1580/1580/1580 1581/1581/1581\nf 1573/1573/1573 1581/1581/1581 1574/1574/1574\nf 1574/1574/1574 1581/1581/1581 1582/1582/1582\nf 1574/1574/1574 1582/1582/1582 1575/1575/1575\nf 1575/1575/1575 1582/1582/1582 1576/1576/1576\nf 1575/1575/1575 1576/1576/1576 1569/1569/1569\nf 1576/1576/1576 1583/1583/1583 1584/1584/1584\nf 1576/1576/1576 1584/1584/1584 1577/1577/1577\nf 1577/1577/1577 1584/1584/1584 1585/1585/1585\nf 1577/1577/1577 1585/1585/1585 1578/1578/1578\nf 1579/1579/1579 1586/1586/1586 1587/1587/1587\nf 1579/1579/1579 1587/1587/1587 1580/1580/1580\nf 1580/1580/1580 1587/1587/1587 1588/1588/1588\nf 1580/1580/1580 1588/1588/1588 1581/1581/1581\nf 1581/1581/1581 1588/1588/1588 1589/1589/1589\nf 1581/1581/1581 1589/1589/1589 1582/1582/1582\nf 1582/1582/1582 1589/1589/1589 1583/1583/1583\nf 1582/1582/1582 1583/1583/1583 1576/1576/1576\nf 1583/1583/1583 1590/1590/1590 1591/1591/1591\nf 1583/1583/1583 1591/1591/1591 1584/1584/1584\nf 1584/1584/1584 1591/1591/1591 1592/1592/1592\nf 1584/1584/1584 1592/1592/1592 1585/1585/1585\nf 1586/1586/1586 1593/1593/1593 1594/1594/1594\nf 1586/1586/1586 1594/1594/1594 1587/1587/1587\nf 1587/1587/1587 1594/1594/1594 1595/1595/1595\nf 1587/1587/1587 1595/1595/1595 1588/1588/1588\nf 1588/1588/1588 1595/1595/1595 1596/1596/1596\nf 1588/1588/1588 1596/1596/1596 1589/1589/1589\nf 1589/1589/1589 1596/1596/1596 1590/1590/1590\nf 1589/1589/1589 1590/1590/1590 1583/1583/1583\nf 1590/1590/1590 1597/1597/1597 1598/1598/1598\nf 1590/1590/1590 1598/1598/1598 1591/1591/1591\nf 1591/1591/1591 1598/1598/1598 1599/1599/1599\nf 1591/1591/1591 1599/1599/1599 1592/1592/1592\nf 1593/1593/1593 1600/1600/1600 1601/1601/1601\nf 1593/1593/1593 1601/1601/1601 1594/1594/1594\nf 1594/1594/1594 1601/1601/1601 1602/1602/1602\nf 1594/1594/1594 1602/1602/1602 1595/1595/1595\nf 1595/1595/1595 1602/1602/1602 1603/1603/1603\nf 1595/1595/1595 1603/1603/1603 1596/1596/1596\nf 1596/1596/1596 1603/1603/1603 1597/1597/1597\nf 1596/1596/1596 1597/1597/1597 1590/1590/1590\nf 1597/1597/1597 1604/1604/1604 1605/1605/1605\nf 1597/1597/1597 1605/1605/1605 1598/1598/1598\nf 1598/1598/1598 1605/1605/1605 1606/1606/1606\nf 1598/1598/1598 1606/1606/1606 1599/1599/1599\nf 1600/1600/1600 1607/1607/1607 1608/1608/1608\nf 1600/1600/1600 1608/1608/1608 1601/1601/1601\nf 1601/1601/1601 1608/1608/1608 1609/1609/1609\nf 1601/1601/1601 1609/1609/1609 1602/1602/1602\nf 1602/1602/1602 1609/1609/1609 1610/1610/1610\nf 1602/1602/1602 1610/1610/1610 1603/1603/1603\nf 1603/1603/1603 1610/1610/1610 1604/1604/1604\nf 1603/1603/1603 1604/1604/1604 1597/1597/1597\nf 1604/1604/1604 1611/1611/1611 1612/1612/1612\nf 1604/1604/1604 1612/1612/1612 1605/1605/1605\nf 1605/1605/1605 1612/1612/1612 1613/1613/1613\nf 1605/1605/1605 1613/1613/1613 1606/1606/1606\nf 1607/1607/1607 1614/1614/1614 1615/1615/1615\nf 1607/1607/1607 1615/1615/1615 1608/1608/1608\nf 1608/1608/1608 1615/1615/1615 1616/1616/1616\nf 1608/1608/1608 1616/1616/1616 1609/1609/1609\nf 1609/1609/1609 1616/1616/1616 1617/1617/1617\nf 1609/1609/1609 1617/1617/1617 1610/1610/1610\nf 1610/1610/1610 1617/1617/1617 1611/1611/1611\nf 1610/1610/1610 1611/1611/1611 1604/1604/1604\nf 1611/1611/1611 1618/1618/1618 1619/1619/1619\nf 1611/1611/1611 1619/1619/1619 1612/1612/1612\nf 1612/1612/1612 1619/1619/1619 1620/1620/1620\nf 1612/1612/1612 1620/1620/1620 1613/1613/1613\nf 1614/1614/1614 1621/1621/1621 1622/1622/1622\nf 1614/1614/1614 1622/1622/1622 1615/1615/1615\nf 1615/1615/1615 1622/1622/1622 1623/1623/1623\nf 1615/1615/1615 1623/1623/1623 1616/1616/1616\nf 1616/1616/1616 1623/1623/1623 1624/1624/1624\nf 1616/1616/1616 1624/1624/1624 1617/1617/1617\nf 1617/1617/1617 1624/1624/1624 1618/1618/1618\nf 1617/1617/1617 1618/1618/1618 1611/1611/1611\nf 1618/1618/1618 1625/1625/1625 1626/1626/1626\nf 1618/1618/1618 1626/1626/1626 1619/1619/1619\nf 1619/1619/1619 1626/1626/1626 1627/1627/1627\nf 1619/1619/1619 1627/1627/1627 1620/1620/1620\nf 1621/1621/1621 1628/1628/1628 1629/1629/1629\nf 1621/1621/1621 1629/1629/1629 1622/1622/1622\nf 1622/1622/1622 1629/1629/1629 1630/1630/1630\nf 1622/1622/1622 1630/1630/1630 1623/1623/1623\nf 1623/1623/1623 1630/1630/1630 1631/1631/1631\nf 1623/1623/1623 1631/1631/1631 1624/1624/1624\nf 1624/1624/1624 1631/1631/1631 1625/1625/1625\nf 1624/1624/1624 1625/1625/1625 1618/1618/1618\nf 1625/1625/1625 1632/1632/1632 1633/1633/1633\nf 1625/1625/1625 1633/1633/1633 1626/1626/1626\nf 1626/1626/1626 1633/1633/1633 1634/1634/1634\nf 1626/1626/1626 1634/1634/1634 1627/1627/1627\nf 1628/1628/1628 1635/1635/1635 1636/1636/1636\nf 1628/1628/1628 1636/1636/1636 1629/1629/1629\nf 1629/1629/1629 1636/1636/1636 1637/1637/1637\nf 1629/1629/1629 1637/1637/1637 1630/1630/1630\nf 1630/1630/1630 1637/1637/1637 1638/1638/1638\nf 1630/1630/1630 1638/1638/1638 1631/1631/1631\nf 1631/1631/1631 1638/1638/1638 1632/1632/1632\nf 1631/1631/1631 1632/1632/1632 1625/1625/1625\nf 1632/1632/1632 1639/1639/1639 1640/1640/1640\nf 1632/1632/1632 1640/1640/1640 1633/1633/1633\nf 1633/1633/1633 1640/1640/1640 1641/1641/1641\nf 1633/1633/1633 1641/1641/1641 1634/1634/1634\nf 1635/1635/1635 1642/1642/1642 1643/1643/1643\nf 1635/1635/1635 1643/1643/1643 1636/1636/1636\nf 1636/1636/1636 1643/1643/1643 1644/1644/1644\nf 1636/1636/1636 1644/1644/1644 1637/1637/1637\nf 1637/1637/1637 1644/1644/1644 1645/1645/1645\nf 1637/1637/1637 1645/1645/1645 1638/1638/1638\nf 1638/1638/1638 1645/1645/1645 1639/1639/1639\nf 1638/1638/1638 1639/1639/1639 1632/1632/1632\nf 1639/1639/1639 1646/1646/1646 1647/1647/1647\nf 1639/1639/1639 1647/1647/1647 1640/1640/1640\nf 1640/1640/1640 1647/1647/1647 1648/1648/1648\nf 1640/1640/1640 1648/1648/1648 1641/1641/1641\nf 1642/1642/1642 1649/1649/1649 1650/1650/1650\nf 1642/1642/1642 1650/1650/1650 1643/1643/1643\nf 1643/1643/1643 1650/1650/1650 1651/1651/1651\nf 1643/1643/1643 1651/1651/1651 1644/1644/1644\nf 1644/1644/1644 1651/1651/1651 1652/1652/1652\nf 1644/1644/1644 1652/1652/1652 1645/1645/1645\nf 1645/1645/1645 1652/1652/1652 1646/1646/1646\nf 1645/1645/1645 1646/1646/1646 1639/1639/1639\nf 1646/1646/1646 1653/1653/1653 1654/1654/1654\nf 1646/1646/1646 1654/1654/1654 1647/1647/1647\nf 1647/1647/1647 1654/1654/1654 1655/1655/1655\nf 1647/1647/1647 1655/1655/1655 1648/1648/1648\nf 1649/1649/1649 1656/1656/1656 1657/1657/1657\nf 1649/1649/1649 1657/1657/1657 1650/1650/1650\nf 1650/1650/1650 1657/1657/1657 1658/1658/1658\nf 1650/1650/1650 1658/1658/1658 1651/1651/1651\nf 1651/1651/1651 1658/1658/1658 1659/1659/1659\nf 1651/1651/1651 1659/1659/1659 1652/1652/1652\nf 1652/1652/1652 1659/1659/1659 1653/1653/1653\nf 1652/1652/1652 1653/1653/1653 1646/1646/1646\nf 1653/1653/1653 1660/1660/1660 1661/1661/1661\nf 1653/1653/1653 1661/1661/1661 1654/1654/1654\nf 1654/1654/1654 1661/1661/1661 1662/1662/1662\nf 1654/1654/1654 1662/1662/1662 1655/1655/1655\nf 1656/1656/1656 1663/1663/1663 1664/1664/1664\nf 1656/1656/1656 1664/1664/1664 1657/1657/1657\nf 1657/1657/1657 1664/1664/1664 1665/1665/1665\nf 1657/1657/1657 1665/1665/1665 1658/1658/1658\nf 1658/1658/1658 1665/1665/1665 1666/1666/1666\nf 1658/1658/1658 1666/1666/1666 1659/1659/1659\nf 1659/1659/1659 1666/1666/1666 1660/1660/1660\nf 1659/1659/1659 1660/1660/1660 1653/1653/1653\nf 1667/1667/1667 1668/1668/1668 1669/1669/1669\nf 1667/1667/1667 1669/1669/1669 1670/1670/1670\nf 1670/1670/1670 1669/1669/1669 1671/1671/1671\nf 1670/1670/1670 1671/1671/1671 1672/1672/1672\nf 1673/1673/1673 1674/1674/1674 1675/1675/1675\nf 1673/1673/1673 1675/1675/1675 1676/1676/1676\nf 1676/1676/1676 1675/1675/1675 1677/1677/1677\nf 1676/1676/1676 1677/1677/1677 1678/1678/1678\nf 1678/1678/1678 1677/1677/1677 1679/1679/1679\nf 1678/1678/1678 1679/1679/1679 1680/1680/1680\nf 1680/1680/1680 1679/1679/1679 1668/1668/1668\nf 1680/1680/1680 1668/1668/1668 1667/1667/1667\nf 1668/1668/1668 1681/1681/1681 1682/1682/1682\nf 1668/1668/1668 1682/1682/1682 1669/1669/1669\nf 1669/1669/1669 1682/1682/1682 1683/1683/1683\nf 1669/1669/1669 1683/1683/1683 1671/1671/1671\nf 1674/1674/1674 1684/1684/1684 1685/1685/1685\nf 1674/1674/1674 1685/1685/1685 1675/1675/1675\nf 1675/1675/1675 1685/1685/1685 1686/1686/1686\nf 1675/1675/1675 1686/1686/1686 1677/1677/1677\nf 1677/1677/1677 1686/1686/1686 1687/1687/1687\nf 1677/1677/1677 1687/1687/1687 1679/1679/1679\nf 1679/1679/1679 1687/1687/1687 1681/1681/1681\nf 1679/1679/1679 1681/1681/1681 1668/1668/1668\nf 1681/1681/1681 1688/1688/1688 1689/1689/1689\nf 1681/1681/1681 1689/1689/1689 1682/1682/1682\nf 1682/1682/1682 1689/1689/1689 1690/1690/1690\nf 1682/1682/1682 1690/1690/1690 1683/1683/1683\nf 1684/1684/1684 1691/1691/1691 1692/1692/1692\nf 1684/1684/1684 1692/1692/1692 1685/1685/1685\nf 1685/1685/1685 1692/1692/1692 1693/1693/1693\nf 1685/1685/1685 1693/1693/1693 1686/1686/1686\nf 1686/1686/1686 1693/1693/1693 1694/1694/1694\nf 1686/1686/1686 1694/1694/1694 1687/1687/1687\nf 1687/1687/1687 1694/1694/1694 1688/1688/1688\nf 1687/1687/1687 1688/1688/1688 1681/1681/1681\nf 1688/1688/1688 1695/1695/1695 1696/1696/1696\nf 1688/1688/1688 1696/1696/1696 1689/1689/1689\nf 1689/1689/1689 1696/1696/1696 1697/1697/1697\nf 1689/1689/1689 1697/1697/1697 1690/1690/1690\nf 1691/1691/1691 1698/1698/1698 1699/1699/1699\nf 1691/1691/1691 1699/1699/1699 1692/1692/1692\nf 1692/1692/1692 1699/1699/1699 1700/1700/1700\nf 1692/1692/1692 1700/1700/1700 1693/1693/1693\nf 1693/1693/1693 1700/1700/1700 1701/1701/1701\nf 1693/1693/1693 1701/1701/1701 1694/1694/1694\nf 1694/1694/1694 1701/1701/1701 1695/1695/1695\nf 1694/1694/1694 1695/1695/1695 1688/1688/1688\nf 1695/1695/1695 1702/1702/1702 1703/1703/1703\nf 1695/1695/1695 1703/1703/1703 1696/1696/1696\nf 1696/1696/1696 1703/1703/1703 1704/1704/1704\nf 1696/1696/1696 1704/1704/1704 1697/1697/1697\nf 1698/1698/1698 1705/1705/1705 1706/1706/1706\nf 1698/1698/1698 1706/1706/1706 1699/1699/1699\nf 1699/1699/1699 1706/1706/1706 1707/1707/1707\nf 1699/1699/1699 1707/1707/1707 1700/1700/1700\nf 1700/1700/1700 1707/1707/1707 1708/1708/1708\nf 1700/1700/1700 1708/1708/1708 1701/1701/1701\nf 1701/1701/1701 1708/1708/1708 1702/1702/1702\nf 1701/1701/1701 1702/1702/1702 1695/1695/1695\nf 1702/1702/1702 1709/1709/1709 1710/1710/1710\nf 1702/1702/1702 1710/1710/1710 1703/1703/1703\nf 1703/1703/1703 1710/1710/1710 1711/1711/1711\nf 1703/1703/1703 1711/1711/1711 1704/1704/1704\nf 1705/1705/1705 1712/1712/1712 1713/1713/1713\nf 1705/1705/1705 1713/1713/1713 1706/1706/1706\nf 1706/1706/1706 1713/1713/1713 1714/1714/1714\nf 1706/1706/1706 1714/1714/1714 1707/1707/1707\nf 1707/1707/1707 1714/1714/1714 1715/1715/1715\nf 1707/1707/1707 1715/1715/1715 1708/1708/1708\nf 1708/1708/1708 1715/1715/1715 1709/1709/1709\nf 1708/1708/1708 1709/1709/1709 1702/1702/1702\nf 1709/1709/1709 1716/1716/1716 1717/1717/1717\nf 1709/1709/1709 1717/1717/1717 1710/1710/1710\nf 1710/1710/1710 1717/1717/1717 1718/1718/1718\nf 1710/1710/1710 1718/1718/1718 1711/1711/1711\nf 1712/1712/1712 1719/1719/1719 1720/1720/1720\nf 1712/1712/1712 1720/1720/1720 1713/1713/1713\nf 1713/1713/1713 1720/1720/1720 1721/1721/1721\nf 1713/1713/1713 1721/1721/1721 1714/1714/1714\nf 1714/1714/1714 1721/1721/1721 1722/1722/1722\nf 1714/1714/1714 1722/1722/1722 1715/1715/1715\nf 1715/1715/1715 1722/1722/1722 1716/1716/1716\nf 1715/1715/1715 1716/1716/1716 1709/1709/1709\nf 1716/1716/1716 1723/1723/1723 1724/1724/1724\nf 1716/1716/1716 1724/1724/1724 1717/1717/1717\nf 1717/1717/1717 1724/1724/1724 1725/1725/1725\nf 1717/1717/1717 1725/1725/1725 1718/1718/1718\nf 1719/1719/1719 1726/1726/1726 1727/1727/1727\nf 1719/1719/1719 1727/1727/1727 1720/1720/1720\nf 1720/1720/1720 1727/1727/1727 1728/1728/1728\nf 1720/1720/1720 1728/1728/1728 1721/1721/1721\nf 1721/1721/1721 1728/1728/1728 1729/1729/1729\nf 1721/1721/1721 1729/1729/1729 1722/1722/1722\nf 1722/1722/1722 1729/1729/1729 1723/1723/1723\nf 1722/1722/1722 1723/1723/1723 1716/1716/1716\nf 1723/1723/1723 1730/1730/1730 1731/1731/1731\nf 1723/1723/1723 1731/1731/1731 1724/1724/1724\nf 1724/1724/1724 1731/1731/1731 1732/1732/1732\nf 1724/1724/1724 1732/1732/1732 1725/1725/1725\nf 1726/1726/1726 1733/1733/1733 1734/1734/1734\nf 1726/1726/1726 1734/1734/1734 1727/1727/1727\nf 1727/1727/1727 1734/1734/1734 1735/1735/1735\nf 1727/1727/1727 1735/1735/1735 1728/1728/1728\nf 1728/1728/1728 1735/1735/1735 1736/1736/1736\nf 1728/1728/1728 1736/1736/1736 1729/1729/1729\nf 1729/1729/1729 1736/1736/1736 1730/1730/1730\nf 1729/1729/1729 1730/1730/1730 1723/1723/1723\nf 1730/1730/1730 1737/1737/1737 1738/1738/1738\nf 1730/1730/1730 1738/1738/1738 1731/1731/1731\nf 1731/1731/1731 1738/1738/1738 1739/1739/1739\nf 1731/1731/1731 1739/1739/1739 1732/1732/1732\nf 1733/1733/1733 1740/1740/1740 1741/1741/1741\nf 1733/1733/1733 1741/1741/1741 1734/1734/1734\nf 1734/1734/1734 1741/1741/1741 1742/1742/1742\nf 1734/1734/1734 1742/1742/1742 1735/1735/1735\nf 1735/1735/1735 1742/1742/1742 1743/1743/1743\nf 1735/1735/1735 1743/1743/1743 1736/1736/1736\nf 1736/1736/1736 1743/1743/1743 1737/1737/1737\nf 1736/1736/1736 1737/1737/1737 1730/1730/1730\nf 1737/1737/1737 1744/1744/1744 1745/1745/1745\nf 1737/1737/1737 1745/1745/1745 1738/1738/1738\nf 1738/1738/1738 1745/1745/1745 1746/1746/1746\nf 1738/1738/1738 1746/1746/1746 1739/1739/1739\nf 1740/1740/1740 1747/1747/1747 1748/1748/1748\nf 1740/1740/1740 1748/1748/1748 1741/1741/1741\nf 1741/1741/1741 1748/1748/1748 1749/1749/1749\nf 1741/1741/1741 1749/1749/1749 1742/1742/1742\nf 1742/1742/1742 1749/1749/1749 1750/1750/1750\nf 1742/1742/1742 1750/1750/1750 1743/1743/1743\nf 1743/1743/1743 1750/1750/1750 1744/1744/1744\nf 1743/1743/1743 1744/1744/1744 1737/1737/1737\nf 1744/1744/1744 1751/1751/1751 1752/1752/1752\nf 1744/1744/1744 1752/1752/1752 1745/1745/1745\nf 1745/1745/1745 1752/1752/1752 1753/1753/1753\nf 1745/1745/1745 1753/1753/1753 1746/1746/1746\nf 1747/1747/1747 1754/1754/1754 1755/1755/1755\nf 1747/1747/1747 1755/1755/1755 1748/1748/1748\nf 1748/1748/1748 1755/1755/1755 1756/1756/1756\nf 1748/1748/1748 1756/1756/1756 1749/1749/1749\nf 1749/1749/1749 1756/1756/1756 1757/1757/1757\nf 1749/1749/1749 1757/1757/1757 1750/1750/1750\nf 1750/1750/1750 1757/1757/1757 1751/1751/1751\nf 1750/1750/1750 1751/1751/1751 1744/1744/1744\nf 1751/1751/1751 1758/1758/1758 1759/1759/1759\nf 1751/1751/1751 1759/1759/1759 1752/1752/1752\nf 1752/1752/1752 1759/1759/1759 1760/1760/1760\nf 1752/1752/1752 1760/1760/1760 1753/1753/1753\nf 1754/1754/1754 1761/1761/1761 1762/1762/1762\nf 1754/1754/1754 1762/1762/1762 1755/1755/1755\nf 1755/1755/1755 1762/1762/1762 1763/1763/1763\nf 1755/1755/1755 1763/1763/1763 1756/1756/1756\nf 1756/1756/1756 1763/1763/1763 1764/1764/1764\nf 1756/1756/1756 1764/1764/1764 1757/1757/1757\nf 1757/1757/1757 1764/1764/1764 1758/1758/1758\nf 1757/1757/1757 1758/1758/1758 1751/1751/1751\nf 1758/1758/1758 1765/1765/1765 1766/1766/1766\nf 1758/1758/1758 1766/1766/1766 1759/1759/1759\nf 1759/1759/1759 1766/1766/1766 1767/1767/1767\nf 1759/1759/1759 1767/1767/1767 1760/1760/1760\nf 1761/1761/1761 1768/1768/1768 1769/1769/1769\nf 1761/1761/1761 1769/1769/1769 1762/1762/1762\nf 1762/1762/1762 1769/1769/1769 1770/1770/1770\nf 1762/1762/1762 1770/1770/1770 1763/1763/1763\nf 1763/1763/1763 1770/1770/1770 1771/1771/1771\nf 1763/1763/1763 1771/1771/1771 1764/1764/1764\nf 1764/1764/1764 1771/1771/1771 1765/1765/1765\nf 1764/1764/1764 1765/1765/1765 1758/1758/1758\nf 1765/1765/1765 1772/1772/1772 1773/1773/1773\nf 1765/1765/1765 1773/1773/1773 1766/1766/1766\nf 1766/1766/1766 1773/1773/1773 1774/1774/1774\nf 1766/1766/1766 1774/1774/1774 1767/1767/1767\nf 1768/1768/1768 1775/1775/1775 1776/1776/1776\nf 1768/1768/1768 1776/1776/1776 1769/1769/1769\nf 1769/1769/1769 1776/1776/1776 1777/1777/1777\nf 1769/1769/1769 1777/1777/1777 1770/1770/1770\nf 1770/1770/1770 1777/1777/1777 1778/1778/1778\nf 1770/1770/1770 1778/1778/1778 1771/1771/1771\nf 1771/1771/1771 1778/1778/1778 1772/1772/1772\nf 1771/1771/1771 1772/1772/1772 1765/1765/1765\nf 1772/1772/1772 1779/1779/1779 1780/1780/1780\nf 1772/1772/1772 1780/1780/1780 1773/1773/1773\nf 1773/1773/1773 1780/1780/1780 1781/1781/1781\nf 1773/1773/1773 1781/1781/1781 1774/1774/1774\nf 1775/1775/1775 1782/1782/1782 1783/1783/1783\nf 1775/1775/1775 1783/1783/1783 1776/1776/1776\nf 1776/1776/1776 1783/1783/1783 1784/1784/1784\nf 1776/1776/1776 1784/1784/1784 1777/1777/1777\nf 1777/1777/1777 1784/1784/1784 1785/1785/1785\nf 1777/1777/1777 1785/1785/1785 1778/1778/1778\nf 1778/1778/1778 1785/1785/1785 1779/1779/1779\nf 1778/1778/1778 1779/1779/1779 1772/1772/1772\nf 1786/1786/1786 1787/1787/1787 1788/1788/1788\nf 1786/1786/1786 1788/1788/1788 1789/1789/1789\nf 1789/1789/1789 1788/1788/1788 1790/1790/1790\nf 1789/1789/1789 1790/1790/1790 1791/1791/1791\nf 1792/1792/1792 1793/1793/1793 1794/1794/1794\nf 1792/1792/1792 1794/1794/1794 1795/1795/1795\nf 1795/1795/1795 1794/1794/1794 1796/1796/1796\nf 1795/1795/1795 1796/1796/1796 1797/1797/1797\nf 1797/1797/1797 1796/1796/1796 1798/1798/1798\nf 1797/1797/1797 1798/1798/1798 1799/1799/1799\nf 1799/1799/1799 1798/1798/1798 1787/1787/1787\nf 1799/1799/1799 1787/1787/1787 1786/1786/1786\nf 1787/1787/1787 1800/1800/1800 1801/1801/1801\nf 1787/1787/1787 1801/1801/1801 1788/1788/1788\nf 1788/1788/1788 1801/1801/1801 1802/1802/1802\nf 1788/1788/1788 1802/1802/1802 1790/1790/1790\nf 1793/1793/1793 1803/1803/1803 1804/1804/1804\nf 1793/1793/1793 1804/1804/1804 1794/1794/1794\nf 1794/1794/1794 1804/1804/1804 1805/1805/1805\nf 1794/1794/1794 1805/1805/1805 1796/1796/1796\nf 1796/1796/1796 1805/1805/1805 1806/1806/1806\nf 1796/1796/1796 1806/1806/1806 1798/1798/1798\nf 1798/1798/1798 1806/1806/1806 1800/1800/1800\nf 1798/1798/1798 1800/1800/1800 1787/1787/1787\nf 1800/1800/1800 1807/1807/1807 1808/1808/1808\nf 1800/1800/1800 1808/1808/1808 1801/1801/1801\nf 1801/1801/1801 1808/1808/1808 1809/1809/1809\nf 1801/1801/1801 1809/1809/1809 1802/1802/1802\nf 1803/1803/1803 1810/1810/1810 1811/1811/1811\nf 1803/1803/1803 1811/1811/1811 1804/1804/1804\nf 1804/1804/1804 1811/1811/1811 1812/1812/1812\nf 1804/1804/1804 1812/1812/1812 1805/1805/1805\nf 1805/1805/1805 1812/1812/1812 1813/1813/1813\nf 1805/1805/1805 1813/1813/1813 1806/1806/1806\nf 1806/1806/1806 1813/1813/1813 1807/1807/1807\nf 1806/1806/1806 1807/1807/1807 1800/1800/1800\nf 1807/1807/1807 1814/1814/1814 1815/1815/1815\nf 1807/1807/1807 1815/1815/1815 1808/1808/1808\nf 1808/1808/1808 1815/1815/1815 1816/1816/1816\nf 1808/1808/1808 1816/1816/1816 1809/1809/1809\nf 1810/1810/1810 1817/1817/1817 1818/1818/1818\nf 1810/1810/1810 1818/1818/1818 1811/1811/1811\nf 1811/1811/1811 1818/1818/1818 1819/1819/1819\nf 1811/1811/1811 1819/1819/1819 1812/1812/1812\nf 1812/1812/1812 1819/1819/1819 1820/1820/1820\nf 1812/1812/1812 1820/1820/1820 1813/1813/1813\nf 1813/1813/1813 1820/1820/1820 1814/1814/1814\nf 1813/1813/1813 1814/1814/1814 1807/1807/1807\nf 1814/1814/1814 1821/1821/1821 1822/1822/1822\nf 1814/1814/1814 1822/1822/1822 1815/1815/1815\nf 1815/1815/1815 1822/1822/1822 1823/1823/1823\nf 1815/1815/1815 1823/1823/1823 1816/1816/1816\nf 1817/1817/1817 1824/1824/1824 1825/1825/1825\nf 1817/1817/1817 1825/1825/1825 1818/1818/1818\nf 1818/1818/1818 1825/1825/1825 1826/1826/1826\nf 1818/1818/1818 1826/1826/1826 1819/1819/1819\nf 1819/1819/1819 1826/1826/1826 1827/1827/1827\nf 1819/1819/1819 1827/1827/1827 1820/1820/1820\nf 1820/1820/1820 1827/1827/1827 1821/1821/1821\nf 1820/1820/1820 1821/1821/1821 1814/1814/1814\nf 1821/1821/1821 1828/1828/1828 1829/1829/1829\nf 1821/1821/1821 1829/1829/1829 1822/1822/1822\nf 1822/1822/1822 1829/1829/1829 1830/1830/1830\nf 1822/1822/1822 1830/1830/1830 1823/1823/1823\nf 1824/1824/1824 1831/1831/1831 1832/1832/1832\nf 1824/1824/1824 1832/1832/1832 1825/1825/1825\nf 1825/1825/1825 1832/1832/1832 1833/1833/1833\nf 1825/1825/1825 1833/1833/1833 1826/1826/1826\nf 1826/1826/1826 1833/1833/1833 1834/1834/1834\nf 1826/1826/1826 1834/1834/1834 1827/1827/1827\nf 1827/1827/1827 1834/1834/1834 1828/1828/1828\nf 1827/1827/1827 1828/1828/1828 1821/1821/1821\nf 1828/1828/1828 1835/1835/1835 1836/1836/1836\nf 1828/1828/1828 1836/1836/1836 1829/1829/1829\nf 1829/1829/1829 1836/1836/1836 1837/1837/1837\nf 1829/1829/1829 1837/1837/1837 1830/1830/1830\nf 1831/1831/1831 1838/1838/1838 1839/1839/1839\nf 1831/1831/1831 1839/1839/1839 1832/1832/1832\nf 1832/1832/1832 1839/1839/1839 1840/1840/1840\nf 1832/1832/1832 1840/1840/1840 1833/1833/1833\nf 1833/1833/1833 1840/1840/1840 1841/1841/1841\nf 1833/1833/1833 1841/1841/1841 1834/1834/1834\nf 1834/1834/1834 1841/1841/1841 1835/1835/1835\nf 1834/1834/1834 1835/1835/1835 1828/1828/1828\nf 1835/1835/1835 1842/1842/1842 1843/1843/1843\nf 1835/1835/1835 1843/1843/1843 1836/1836/1836\nf 1836/1836/1836 1843/1843/1843 1844/1844/1844\nf 1836/1836/1836 1844/1844/1844 1837/1837/1837\nf 1838/1838/1838 1845/1845/1845 1846/1846/1846\nf 1838/1838/1838 1846/1846/1846 1839/1839/1839\nf 1839/1839/1839 1846/1846/1846 1847/1847/1847\nf 1839/1839/1839 1847/1847/1847 1840/1840/1840\nf 1840/1840/1840 1847/1847/1847 1848/1848/1848\nf 1840/1840/1840 1848/1848/1848 1841/1841/1841\nf 1841/1841/1841 1848/1848/1848 1842/1842/1842\nf 1841/1841/1841 1842/1842/1842 1835/1835/1835\nf 1842/1842/1842 1849/1849/1849 1850/1850/1850\nf 1842/1842/1842 1850/1850/1850 1843/1843/1843\nf 1843/1843/1843 1850/1850/1850 1851/1851/1851\nf 1843/1843/1843 1851/1851/1851 1844/1844/1844\nf 1845/1845/1845 1852/1852/1852 1853/1853/1853\nf 1845/1845/1845 1853/1853/1853 1846/1846/1846\nf 1846/1846/1846 1853/1853/1853 1854/1854/1854\nf 1846/1846/1846 1854/1854/1854 1847/1847/1847\nf 1847/1847/1847 1854/1854/1854 1855/1855/1855\nf 1847/1847/1847 1855/1855/1855 1848/1848/1848\nf 1848/1848/1848 1855/1855/1855 1849/1849/1849\nf 1848/1848/1848 1849/1849/1849 1842/1842/1842\nf 1849/1849/1849 1856/1856/1856 1857/1857/1857\nf 1849/1849/1849 1857/1857/1857 1850/1850/1850\nf 1850/1850/1850 1857/1857/1857 1858/1858/1858\nf 1850/1850/1850 1858/1858/1858 1851/1851/1851\nf 1852/1852/1852 1859/1859/1859 1860/1860/1860\nf 1852/1852/1852 1860/1860/1860 1853/1853/1853\nf 1853/1853/1853 1860/1860/1860 1861/1861/1861\nf 1853/1853/1853 1861/1861/1861 1854/1854/1854\nf 1854/1854/1854 1861/1861/1861 1862/1862/1862\nf 1854/1854/1854 1862/1862/1862 1855/1855/1855\nf 1855/1855/1855 1862/1862/1862 1856/1856/1856\nf 1855/1855/1855 1856/1856/1856 1849/1849/1849\nf 1856/1856/1856 1863/1863/1863 1864/1864/1864\nf 1856/1856/1856 1864/1864/1864 1857/1857/1857\nf 1857/1857/1857 1864/1864/1864 1865/1865/1865\nf 1857/1857/1857 1865/1865/1865 1858/1858/1858\nf 1859/1859/1859 1866/1866/1866 1867/1867/1867\nf 1859/1859/1859 1867/1867/1867 1860/1860/1860\nf 1860/1860/1860 1867/1867/1867 1868/1868/1868\nf 1860/1860/1860 1868/1868/1868 1861/1861/1861\nf 1861/1861/1861 1868/1868/1868 1869/1869/1869\nf 1861/1861/1861 1869/1869/1869 1862/1862/1862\nf 1862/1862/1862 1869/1869/1869 1863/1863/1863\nf 1862/1862/1862 1863/1863/1863 1856/1856/1856\nf 1863/1863/1863 1870/1870/1870 1871/1871/1871\nf 1863/1863/1863 1871/1871/1871 1864/1864/1864\nf 1864/1864/1864 1871/1871/1871 1872/1872/1872\nf 1864/1864/1864 1872/1872/1872 1865/1865/1865\nf 1866/1866/1866 1873/1873/1873 1874/1874/1874\nf 1866/1866/1866 1874/1874/1874 1867/1867/1867\nf 1867/1867/1867 1874/1874/1874 1875/1875/1875\nf 1867/1867/1867 1875/1875/1875 1868/1868/1868\nf 1868/1868/1868 1875/1875/1875 1876/1876/1876\nf 1868/1868/1868 1876/1876/1876 1869/1869/1869\nf 1869/1869/1869 1876/1876/1876 1870/1870/1870\nf 1869/1869/1869 1870/1870/1870 1863/1863/1863\nf 1870/1870/1870 1877/1877/1877 1878/1878/1878\nf 1870/1870/1870 1878/1878/1878 1871/1871/1871\nf 1871/1871/1871 1878/1878/1878 1879/1879/1879\nf 1871/1871/1871 1879/1879/1879 1872/1872/1872\nf 1873/1873/1873 1880/1880/1880 1881/1881/1881\nf 1873/1873/1873 1881/1881/1881 1874/1874/1874\nf 1874/1874/1874 1881/1881/1881 1882/1882/1882\nf 1874/1874/1874 1882/1882/1882 1875/1875/1875\nf 1875/1875/1875 1882/1882/1882 1883/1883/1883\nf 1875/1875/1875 1883/1883/1883 1876/1876/1876\nf 1876/1876/1876 1883/1883/1883 1877/1877/1877\nf 1876/1876/1876 1877/1877/1877 1870/1870/1870\nf 1877/1877/1877 1884/1884/1884 1885/1885/1885\nf 1877/1877/1877 1885/1885/1885 1878/1878/1878\nf 1878/1878/1878 1885/1885/1885 1886/1886/1886\nf 1878/1878/1878 1886/1886/1886 1879/1879/1879\nf 1880/1880/1880 1887/1887/1887 1888/1888/1888\nf 1880/1880/1880 1888/1888/1888 1881/1881/1881\nf 1881/1881/1881 1888/1888/1888 1889/1889/1889\nf 1881/1881/1881 1889/1889/1889 1882/1882/1882\nf 1882/1882/1882 1889/1889/1889 1890/1890/1890\nf 1882/1882/1882 1890/1890/1890 1883/1883/1883\nf 1883/1883/1883 1890/1890/1890 1884/1884/1884\nf 1883/1883/1883 1884/1884/1884 1877/1877/1877\nf 1884/1884/1884 1891/1891/1891 1892/1892/1892\nf 1884/1884/1884 1892/1892/1892 1885/1885/1885\nf 1885/1885/1885 1892/1892/1892 1893/1893/1893\nf 1885/1885/1885 1893/1893/1893 1886/1886/1886\nf 1887/1887/1887 1894/1894/1894 1895/1895/1895\nf 1887/1887/1887 1895/1895/1895 1888/1888/1888\nf 1888/1888/1888 1895/1895/1895 1896/1896/1896\nf 1888/1888/1888 1896/1896/1896 1889/1889/1889\nf 1889/1889/1889 1896/1896/1896 1897/1897/1897\nf 1889/1889/1889 1897/1897/1897 1890/1890/1890\nf 1890/1890/1890 1897/1897/1897 1891/1891/1891\nf 1890/1890/1890 1891/1891/1891 1884/1884/1884\nf 1891/1891/1891 1898/1898/1898 1899/1899/1899\nf 1891/1891/1891 1899/1899/1899 1892/1892/1892\nf 1892/1892/1892 1899/1899/1899 1900/1900/1900\nf 1892/1892/1892 1900/1900/1900 1893/1893/1893\nf 1894/1894/1894 1901/1901/1901 1902/1902/1902\nf 1894/1894/1894 1902/1902/1902 1895/1895/1895\nf 1895/1895/1895 1902/1902/1902 1903/1903/1903\nf 1895/1895/1895 1903/1903/1903 1896/1896/1896\nf 1896/1896/1896 1903/1903/1903 1904/1904/1904\nf 1896/1896/1896 1904/1904/1904 1897/1897/1897\nf 1897/1897/1897 1904/1904/1904 1898/1898/1898\nf 1897/1897/1897 1898/1898/1898 1891/1891/1891\nf 1905/1905/1905 1906/1906/1906 1907/1907/1907\nf 1905/1905/1905 1907/1907/1907 1908/1908/1908\nf 1908/1908/1908 1907/1907/1907 1909/1909/1909\nf 1908/1908/1908 1909/1909/1909 1910/1910/1910\nf 1911/1911/1911 1912/1912/1912 1913/1913/1913\nf 1911/1911/1911 1913/1913/1913 1914/1914/1914\nf 1914/1914/1914 1913/1913/1913 1915/1915/1915\nf 1914/1914/1914 1915/1915/1915 1916/1916/1916\nf 1916/1916/1916 1915/1915/1915 1917/1917/1917\nf 1916/1916/1916 1917/1917/1917 1918/1918/1918\nf 1918/1918/1918 1917/1917/1917 1906/1906/1906\nf 1918/1918/1918 1906/1906/1906 1905/1905/1905\nf 1906/1906/1906 1919/1919/1919 1920/1920/1920\nf 1906/1906/1906 1920/1920/1920 1907/1907/1907\nf 1907/1907/1907 1920/1920/1920 1921/1921/1921\nf 1907/1907/1907 1921/1921/1921 1909/1909/1909\nf 1912/1912/1912 1922/1922/1922 1923/1923/1923\nf 1912/1912/1912 1923/1923/1923 1913/1913/1913\nf 1913/1913/1913 1923/1923/1923 1924/1924/1924\nf 1913/1913/1913 1924/1924/1924 1915/1915/1915\nf 1915/1915/1915 1924/1924/1924 1925/1925/1925\nf 1915/1915/1915 1925/1925/1925 1917/1917/1917\nf 1917/1917/1917 1925/1925/1925 1919/1919/1919\nf 1917/1917/1917 1919/1919/1919 1906/1906/1906\nf 1919/1919/1919 1926/1926/1926 1927/1927/1927\nf 1919/1919/1919 1927/1927/1927 1920/1920/1920\nf 1920/1920/1920 1927/1927/1927 1928/1928/1928\nf 1920/1920/1920 1928/1928/1928 1921/1921/1921\nf 1922/1922/1922 1929/1929/1929 1930/1930/1930\nf 1922/1922/1922 1930/1930/1930 1923/1923/1923\nf 1923/1923/1923 1930/1930/1930 1931/1931/1931\nf 1923/1923/1923 1931/1931/1931 1924/1924/1924\nf 1924/1924/1924 1931/1931/1931 1932/1932/1932\nf 1924/1924/1924 1932/1932/1932 1925/1925/1925\nf 1925/1925/1925 1932/1932/1932 1926/1926/1926\nf 1925/1925/1925 1926/1926/1926 1919/1919/1919\nf 1926/1926/1926 1933/1933/1933 1934/1934/1934\nf 1926/1926/1926 1934/1934/1934 1927/1927/1927\nf 1927/1927/1927 1934/1934/1934 1935/1935/1935\nf 1927/1927/1927 1935/1935/1935 1928/1928/1928\nf 1929/1929/1929 1936/1936/1936 1937/1937/1937\nf 1929/1929/1929 1937/1937/1937 1930/1930/1930\nf 1930/1930/1930 1937/1937/1937 1938/1938/1938\nf 1930/1930/1930 1938/1938/1938 1931/1931/1931\nf 1931/1931/1931 1938/1938/1938 1939/1939/1939\nf 1931/1931/1931 1939/1939/1939 1932/1932/1932\nf 1932/1932/1932 1939/1939/1939 1933/1933/1933\nf 1932/1932/1932 1933/1933/1933 1926/1926/1926\nf 1933/1933/1933 1940/1940/1940 1941/1941/1941\nf 1933/1933/1933 1941/1941/1941 1934/1934/1934\nf 1934/1934/1934 1941/1941/1941 1942/1942/1942\nf 1934/1934/1934 1942/1942/1942 1935/1935/1935\nf 1936/1936/1936 1943/1943/1943 1944/1944/1944\nf 1936/1936/1936 1944/1944/1944 1937/1937/1937\nf 1937/1937/1937 1944/1944/1944 1945/1945/1945\nf 1937/1937/1937 1945/1945/1945 1938/1938/1938\nf 1938/1938/1938 1945/1945/1945 1946/1946/1946\nf 1938/1938/1938 1946/1946/1946 1939/1939/1939\nf 1939/1939/1939 1946/1946/1946 1940/1940/1940\nf 1939/1939/1939 1940/1940/1940 1933/1933/1933\nf 1940/1940/1940 1947/1947/1947 1948/1948/1948\nf 1940/1940/1940 1948/1948/1948 1941/1941/1941\nf 1941/1941/1941 1948/1948/1948 1949/1949/1949\nf 1941/1941/1941 1949/1949/1949 1942/1942/1942\nf 1943/1943/1943 1950/1950/1950 1951/1951/1951\nf 1943/1943/1943 1951/1951/1951 1944/1944/1944\nf 1944/1944/1944 1951/1951/1951 1952/1952/1952\nf 1944/1944/1944 1952/1952/1952 1945/1945/1945\nf 1945/1945/1945 1952/1952/1952 1953/1953/1953\nf 1945/1945/1945 1953/1953/1953 1946/1946/1946\nf 1946/1946/1946 1953/1953/1953 1947/1947/1947\nf 1946/1946/1946 1947/1947/1947 1940/1940/1940\nf 1947/1947/1947 1954/1954/1954 1955/1955/1955\nf 1947/1947/1947 1955/1955/1955 1948/1948/1948\nf 1948/1948/1948 1955/1955/1955 1956/1956/1956\nf 1948/1948/1948 1956/1956/1956 1949/1949/1949\nf 1950/1950/1950 1957/1957/1957 1958/1958/1958\nf 1950/1950/1950 1958/1958/1958 1951/1951/1951\nf 1951/1951/1951 1958/1958/1958 1959/1959/1959\nf 1951/1951/1951 1959/1959/1959 1952/1952/1952\nf 1952/1952/1952 1959/1959/1959 1960/1960/1960\nf 1952/1952/1952 1960/1960/1960 1953/1953/1953\nf 1953/1953/1953 1960/1960/1960 1954/1954/1954\nf 1953/1953/1953 1954/1954/1954 1947/1947/1947\nf 1954/1954/1954 1961/1961/1961 1962/1962/1962\nf 1954/1954/1954 1962/1962/1962 1955/1955/1955\nf 1955/1955/1955 1962/1962/1962 1963/1963/1963\nf 1955/1955/1955 1963/1963/1963 1956/1956/1956\nf 1957/1957/1957 1964/1964/1964 1965/1965/1965\nf 1957/1957/1957 1965/1965/1965 1958/1958/1958\nf 1958/1958/1958 1965/1965/1965 1966/1966/1966\nf 1958/1958/1958 1966/1966/1966 1959/1959/1959\nf 1959/1959/1959 1966/1966/1966 1967/1967/1967\nf 1959/1959/1959 1967/1967/1967 1960/1960/1960\nf 1960/1960/1960 1967/1967/1967 1961/1961/1961\nf 1960/1960/1960 1961/1961/1961 1954/1954/1954\nf 1961/1961/1961 1968/1968/1968 1969/1969/1969\nf 1961/1961/1961 1969/1969/1969 1962/1962/1962\nf 1962/1962/1962 1969/1969/1969 1970/1970/1970\nf 1962/1962/1962 1970/1970/1970 1963/1963/1963\nf 1964/1964/1964 1971/1971/1971 1972/1972/1972\nf 1964/1964/1964 1972/1972/1972 1965/1965/1965\nf 1965/1965/1965 1972/1972/1972 1973/1973/1973\nf 1965/1965/1965 1973/1973/1973 1966/1966/1966\nf 1966/1966/1966 1973/1973/1973 1974/1974/1974\nf 1966/1966/1966 1974/1974/1974 1967/1967/1967\nf 1967/1967/1967 1974/1974/1974 1968/1968/1968\nf 1967/1967/1967 1968/1968/1968 1961/1961/1961\nf 1968/1968/1968 1975/1975/1975 1976/1976/1976\nf 1968/1968/1968 1976/1976/1976 1969/1969/1969\nf 1969/1969/1969 1976/1976/1976 1977/1977/1977\nf 1969/1969/1969 1977/1977/1977 1970/1970/1970\nf 1971/1971/1971 1978/1978/1978 1979/1979/1979\nf 1971/1971/1971 1979/1979/1979 1972/1972/1972\nf 1972/1972/1972 1979/1979/1979 1980/1980/1980\nf 1972/1972/1972 1980/1980/1980 1973/1973/1973\nf 1973/1973/1973 1980/1980/1980 1981/1981/1981\nf 1973/1973/1973 1981/1981/1981 1974/1974/1974\nf 1974/1974/1974 1981/1981/1981 1975/1975/1975\nf 1974/1974/1974 1975/1975/1975 1968/1968/1968\nf 1975/1975/1975 1982/1982/1982 1983/1983/1983\nf 1975/1975/1975 1983/1983/1983 1976/1976/1976\nf 1976/1976/1976 1983/1983/1983 1984/1984/1984\nf 1976/1976/1976 1984/1984/1984 1977/1977/1977\nf 1978/1978/1978 1985/1985/1985 1986/1986/1986\nf 1978/1978/1978 1986/1986/1986 1979/1979/1979\nf 1979/1979/1979 1986/1986/1986 1987/1987/1987\nf 1979/1979/1979 1987/1987/1987 1980/1980/1980\nf 1980/1980/1980 1987/1987/1987 1988/1988/1988\nf 1980/1980/1980 1988/1988/1988 1981/1981/1981\nf 1981/1981/1981 1988/1988/1988 1982/1982/1982\nf 1981/1981/1981 1982/1982/1982 1975/1975/1975\nf 1982/1982/1982 1989/1989/1989 1990/1990/1990\nf 1982/1982/1982 1990/1990/1990 1983/1983/1983\nf 1983/1983/1983 1990/1990/1990 1991/1991/1991\nf 1983/1983/1983 1991/1991/1991 1984/1984/1984\nf 1985/1985/1985 1992/1992/1992 1993/1993/1993\nf 1985/1985/1985 1993/1993/1993 1986/1986/1986\nf 1986/1986/1986 1993/1993/1993 1994/1994/1994\nf 1986/1986/1986 1994/1994/1994 1987/1987/1987\nf 1987/1987/1987 1994/1994/1994 1995/1995/1995\nf 1987/1987/1987 1995/1995/1995 1988/1988/1988\nf 1988/1988/1988 1995/1995/1995 1989/1989/1989\nf 1988/1988/1988 1989/1989/1989 1982/1982/1982\nf 1989/1989/1989 1996/1996/1996 1997/1997/1997\nf 1989/1989/1989 1997/1997/1997 1990/1990/1990\nf 1990/1990/1990 1997/1997/1997 1998/1998/1998\nf 1990/1990/1990 1998/1998/1998 1991/1991/1991\nf 1992/1992/1992 1999/1999/1999 2000/2000/2000\nf 1992/1992/1992 2000/2000/2000 1993/1993/1993\nf 1993/1993/1993 2000/2000/2000 2001/2001/2001\nf 1993/1993/1993 2001/2001/2001 1994/1994/1994\nf 1994/1994/1994 2001/2001/2001 2002/2002/2002\nf 1994/1994/1994 2002/2002/2002 1995/1995/1995\nf 1995/1995/1995 2002/2002/2002 1996/1996/1996\nf 1995/1995/1995 1996/1996/1996 1989/1989/1989\nf 1996/1996/1996 2003/2003/2003 2004/2004/2004\nf 1996/1996/1996 2004/2004/2004 1997/1997/1997\nf 1997/1997/1997 2004/2004/2004 2005/2005/2005\nf 1997/1997/1997 2005/2005/2005 1998/1998/1998\nf 1999/1999/1999 2006/2006/2006 2007/2007/2007\nf 1999/1999/1999 2007/2007/2007 2000/2000/2000\nf 2000/2000/2000 2007/2007/2007 2008/2008/2008\nf 2000/2000/2000 2008/2008/2008 2001/2001/2001\nf 2001/2001/2001 2008/2008/2008 2009/2009/2009\nf 2001/2001/2001 2009/2009/2009 2002/2002/2002\nf 2002/2002/2002 2009/2009/2009 2003/2003/2003\nf 2002/2002/2002 2003/2003/2003 1996/1996/1996\nf 2003/2003/2003 2010/2010/2010 2011/2011/2011\nf 2003/2003/2003 2011/2011/2011 2004/2004/2004\nf 2004/2004/2004 2011/2011/2011 2012/2012/2012\nf 2004/2004/2004 2012/2012/2012 2005/2005/2005\nf 2006/2006/2006 2013/2013/2013 2014/2014/2014\nf 2006/2006/2006 2014/2014/2014 2007/2007/2007\nf 2007/2007/2007 2014/2014/2014 2015/2015/2015\nf 2007/2007/2007 2015/2015/2015 2008/2008/2008\nf 2008/2008/2008 2015/2015/2015 2016/2016/2016\nf 2008/2008/2008 2016/2016/2016 2009/2009/2009\nf 2009/2009/2009 2016/2016/2016 2010/2010/2010\nf 2009/2009/2009 2010/2010/2010 2003/2003/2003\nf 2010/2010/2010 2017/2017/2017 2018/2018/2018\nf 2010/2010/2010 2018/2018/2018 2011/2011/2011\nf 2011/2011/2011 2018/2018/2018 2019/2019/2019\nf 2011/2011/2011 2019/2019/2019 2012/2012/2012\nf 2013/2013/2013 2020/2020/2020 2021/2021/2021\nf 2013/2013/2013 2021/2021/2021 2014/2014/2014\nf 2014/2014/2014 2021/2021/2021 2022/2022/2022\nf 2014/2014/2014 2022/2022/2022 2015/2015/2015\nf 2015/2015/2015 2022/2022/2022 2023/2023/2023\nf 2015/2015/2015 2023/2023/2023 2016/2016/2016\nf 2016/2016/2016 2023/2023/2023 2017/2017/2017\nf 2016/2016/2016 2017/2017/2017 2010/2010/2010\nf 2024/2024/2024 2025/2025/2025 2026/2026/2026\nf 2024/2024/2024 2026/2026/2026 2027/2027/2027\nf 2027/2027/2027 2026/2026/2026 2028/2028/2028\nf 2027/2027/2027 2028/2028/2028 2029/2029/2029\nf 2030/2030/2030 2031/2031/2031 2032/2032/2032\nf 2030/2030/2030 2032/2032/2032 2033/2033/2033\nf 2033/2033/2033 2032/2032/2032 2034/2034/2034\nf 2033/2033/2033 2034/2034/2034 2035/2035/2035\nf 2035/2035/2035 2034/2034/2034 2036/2036/2036\nf 2035/2035/2035 2036/2036/2036 2037/2037/2037\nf 2037/2037/2037 2036/2036/2036 2025/2025/2025\nf 2037/2037/2037 2025/2025/2025 2024/2024/2024\nf 2025/2025/2025 2038/2038/2038 2039/2039/2039\nf 2025/2025/2025 2039/2039/2039 2026/2026/2026\nf 2026/2026/2026 2039/2039/2039 2040/2040/2040\nf 2026/2026/2026 2040/2040/2040 2028/2028/2028\nf 2031/2031/2031 2041/2041/2041 2042/2042/2042\nf 2031/2031/2031 2042/2042/2042 2032/2032/2032\nf 2032/2032/2032 2042/2042/2042 2043/2043/2043\nf 2032/2032/2032 2043/2043/2043 2034/2034/2034\nf 2034/2034/2034 2043/2043/2043 2044/2044/2044\nf 2034/2034/2034 2044/2044/2044 2036/2036/2036\nf 2036/2036/2036 2044/2044/2044 2038/2038/2038\nf 2036/2036/2036 2038/2038/2038 2025/2025/2025\nf 2038/2038/2038 2045/2045/2045 2046/2046/2046\nf 2038/2038/2038 2046/2046/2046 2039/2039/2039\nf 2039/2039/2039 2046/2046/2046 2047/2047/2047\nf 2039/2039/2039 2047/2047/2047 2040/2040/2040\nf 2041/2041/2041 2048/2048/2048 2049/2049/2049\nf 2041/2041/2041 2049/2049/2049 2042/2042/2042\nf 2042/2042/2042 2049/2049/2049 2050/2050/2050\nf 2042/2042/2042 2050/2050/2050 2043/2043/2043\nf 2043/2043/2043 2050/2050/2050 2051/2051/2051\nf 2043/2043/2043 2051/2051/2051 2044/2044/2044\nf 2044/2044/2044 2051/2051/2051 2045/2045/2045\nf 2044/2044/2044 2045/2045/2045 2038/2038/2038\nf 2045/2045/2045 2052/2052/2052 2053/2053/2053\nf 2045/2045/2045 2053/2053/2053 2046/2046/2046\nf 2046/2046/2046 2053/2053/2053 2054/2054/2054\nf 2046/2046/2046 2054/2054/2054 2047/2047/2047\nf 2048/2048/2048 2055/2055/2055 2056/2056/2056\nf 2048/2048/2048 2056/2056/2056 2049/2049/2049\nf 2049/2049/2049 2056/2056/2056 2057/2057/2057\nf 2049/2049/2049 2057/2057/2057 2050/2050/2050\nf 2050/2050/2050 2057/2057/2057 2058/2058/2058\nf 2050/2050/2050 2058/2058/2058 2051/2051/2051\nf 2051/2051/2051 2058/2058/2058 2052/2052/2052\nf 2051/2051/2051 2052/2052/2052 2045/2045/2045\nf 2052/2052/2052 2059/2059/2059 2060/2060/2060\nf 2052/2052/2052 2060/2060/2060 2053/2053/2053\nf 2053/2053/2053 2060/2060/2060 2061/2061/2061\nf 2053/2053/2053 2061/2061/2061 2054/2054/2054\nf 2055/2055/2055 2062/2062/2062 2063/2063/2063\nf 2055/2055/2055 2063/2063/2063 2056/2056/2056\nf 2056/2056/2056 2063/2063/2063 2064/2064/2064\nf 2056/2056/2056 2064/2064/2064 2057/2057/2057\nf 2057/2057/2057 2064/2064/2064 2065/2065/2065\nf 2057/2057/2057 2065/2065/2065 2058/2058/2058\nf 2058/2058/2058 2065/2065/2065 2059/2059/2059\nf 2058/2058/2058 2059/2059/2059 2052/2052/2052\nf 2059/2059/2059 2066/2066/2066 2067/2067/2067\nf 2059/2059/2059 2067/2067/2067 2060/2060/2060\nf 2060/2060/2060 2067/2067/2067 2068/2068/2068\nf 2060/2060/2060 2068/2068/2068 2061/2061/2061\nf 2062/2062/2062 2069/2069/2069 2070/2070/2070\nf 2062/2062/2062 2070/2070/2070 2063/2063/2063\nf 2063/2063/2063 2070/2070/2070 2071/2071/2071\nf 2063/2063/2063 2071/2071/2071 2064/2064/2064\nf 2064/2064/2064 2071/2071/2071 2072/2072/2072\nf 2064/2064/2064 2072/2072/2072 2065/2065/2065\nf 2065/2065/2065 2072/2072/2072 2066/2066/2066\nf 2065/2065/2065 2066/2066/2066 2059/2059/2059\nf 2066/2066/2066 2073/2073/2073 2074/2074/2074\nf 2066/2066/2066 2074/2074/2074 2067/2067/2067\nf 2067/2067/2067 2074/2074/2074 2075/2075/2075\nf 2067/2067/2067 2075/2075/2075 2068/2068/2068\nf 2069/2069/2069 2076/2076/2076 2077/2077/2077\nf 2069/2069/2069 2077/2077/2077 2070/2070/2070\nf 2070/2070/2070 2077/2077/2077 2078/2078/2078\nf 2070/2070/2070 2078/2078/2078 2071/2071/2071\nf 2071/2071/2071 2078/2078/2078 2079/2079/2079\nf 2071/2071/2071 2079/2079/2079 2072/2072/2072\nf 2072/2072/2072 2079/2079/2079 2073/2073/2073\nf 2072/2072/2072 2073/2073/2073 2066/2066/2066\nf 2073/2073/2073 2080/2080/2080 2081/2081/2081\nf 2073/2073/2073 2081/2081/2081 2074/2074/2074\nf 2074/2074/2074 2081/2081/2081 2082/2082/2082\nf 2074/2074/2074 2082/2082/2082 2075/2075/2075\nf 2076/2076/2076 2083/2083/2083 2084/2084/2084\nf 2076/2076/2076 2084/2084/2084 2077/2077/2077\nf 2077/2077/2077 2084/2084/2084 2085/2085/2085\nf 2077/2077/2077 2085/2085/2085 2078/2078/2078\nf 2078/2078/2078 2085/2085/2085 2086/2086/2086\nf 2078/2078/2078 2086/2086/2086 2079/2079/2079\nf 2079/2079/2079 2086/2086/2086 2080/2080/2080\nf 2079/2079/2079 2080/2080/2080 2073/2073/2073\nf 2080/2080/2080 2087/2087/2087 2088/2088/2088\nf 2080/2080/2080 2088/2088/2088 2081/2081/2081\nf 2081/2081/2081 2088/2088/2088 2089/2089/2089\nf 2081/2081/2081 2089/2089/2089 2082/2082/2082\nf 2083/2083/2083 2090/2090/2090 2091/2091/2091\nf 2083/2083/2083 2091/2091/2091 2084/2084/2084\nf 2084/2084/2084 2091/2091/2091 2092/2092/2092\nf 2084/2084/2084 2092/2092/2092 2085/2085/2085\nf 2085/2085/2085 2092/2092/2092 2093/2093/2093\nf 2085/2085/2085 2093/2093/2093 2086/2086/2086\nf 2086/2086/2086 2093/2093/2093 2087/2087/2087\nf 2086/2086/2086 2087/2087/2087 2080/2080/2080\nf 2087/2087/2087 2094/2094/2094 2095/2095/2095\nf 2087/2087/2087 2095/2095/2095 2088/2088/2088\nf 2088/2088/2088 2095/2095/2095 2096/2096/2096\nf 2088/2088/2088 2096/2096/2096 2089/2089/2089\nf 2090/2090/2090 2097/2097/2097 2098/2098/2098\nf 2090/2090/2090 2098/2098/2098 2091/2091/2091\nf 2091/2091/2091 2098/2098/2098 2099/2099/2099\nf 2091/2091/2091 2099/2099/2099 2092/2092/2092\nf 2092/2092/2092 2099/2099/2099 2100/2100/2100\nf 2092/2092/2092 2100/2100/2100 2093/2093/2093\nf 2093/2093/2093 2100/2100/2100 2094/2094/2094\nf 2093/2093/2093 2094/2094/2094 2087/2087/2087\nf 2094/2094/2094 2101/2101/2101 2102/2102/2102\nf 2094/2094/2094 2102/2102/2102 2095/2095/2095\nf 2095/2095/2095 2102/2102/2102 2103/2103/2103\nf 2095/2095/2095 2103/2103/2103 2096/2096/2096\nf 2097/2097/2097 2104/2104/2104 2105/2105/2105\nf 2097/2097/2097 2105/2105/2105 2098/2098/2098\nf 2098/2098/2098 2105/2105/2105 2106/2106/2106\nf 2098/2098/2098 2106/2106/2106 2099/2099/2099\nf 2099/2099/2099 2106/2106/2106 2107/2107/2107\nf 2099/2099/2099 2107/2107/2107 2100/2100/2100\nf 2100/2100/2100 2107/2107/2107 2101/2101/2101\nf 2100/2100/2100 2101/2101/2101 2094/2094/2094\nf 2101/2101/2101 2108/2108/2108 2109/2109/2109\nf 2101/2101/2101 2109/2109/2109 2102/2102/2102\nf 2102/2102/2102 2109/2109/2109 2110/2110/2110\nf 2102/2102/2102 2110/2110/2110 2103/2103/2103\nf 2104/2104/2104 2111/2111/2111 2112/2112/2112\nf 2104/2104/2104 2112/2112/2112 2105/2105/2105\nf 2105/2105/2105 2112/2112/2112 2113/2113/2113\nf 2105/2105/2105 2113/2113/2113 2106/2106/2106\nf 2106/2106/2106 2113/2113/2113 2114/2114/2114\nf 2106/2106/2106 2114/2114/2114 2107/2107/2107\nf 2107/2107/2107 2114/2114/2114 2108/2108/2108\nf 2107/2107/2107 2108/2108/2108 2101/2101/2101\nf 2108/2108/2108 2115/2115/2115 2116/2116/2116\nf 2108/2108/2108 2116/2116/2116 2109/2109/2109\nf 2109/2109/2109 2116/2116/2116 2117/2117/2117\nf 2109/2109/2109 2117/2117/2117 2110/2110/2110\nf 2111/2111/2111 2118/2118/2118 2119/2119/2119\nf 2111/2111/2111 2119/2119/2119 2112/2112/2112\nf 2112/2112/2112 2119/2119/2119 2120/2120/2120\nf 2112/2112/2112 2120/2120/2120 2113/2113/2113\nf 2113/2113/2113 2120/2120/2120 2121/2121/2121\nf 2113/2113/2113 2121/2121/2121 2114/2114/2114\nf 2114/2114/2114 2121/2121/2121 2115/2115/2115\nf 2114/2114/2114 2115/2115/2115 2108/2108/2108\nf 2115/2115/2115 2122/2122/2122 2123/2123/2123\nf 2115/2115/2115 2123/2123/2123 2116/2116/2116\nf 2116/2116/2116 2123/2123/2123 2124/2124/2124\nf 2116/2116/2116 2124/2124/2124 2117/2117/2117\nf 2118/2118/2118 2125/2125/2125 2126/2126/2126\nf 2118/2118/2118 2126/2126/2126 2119/2119/2119\nf 2119/2119/2119 2126/2126/2126 2127/2127/2127\nf 2119/2119/2119 2127/2127/2127 2120/2120/2120\nf 2120/2120/2120 2127/2127/2127 2128/2128/2128\nf 2120/2120/2120 2128/2128/2128 2121/2121/2121\nf 2121/2121/2121 2128/2128/2128 2122/2122/2122\nf 2121/2121/2121 2122/2122/2122 2115/2115/2115\nf 2122/2122/2122 2129/2129/2129 2130/2130/2130\nf 2122/2122/2122 2130/2130/2130 2123/2123/2123\nf 2123/2123/2123 2130/2130/2130 2131/2131/2131\nf 2123/2123/2123 2131/2131/2131 2124/2124/2124\nf 2125/2125/2125 2132/2132/2132 2133/2133/2133\nf 2125/2125/2125 2133/2133/2133 2126/2126/2126\nf 2126/2126/2126 2133/2133/2133 2134/2134/2134\nf 2126/2126/2126 2134/2134/2134 2127/2127/2127\nf 2127/2127/2127 2134/2134/2134 2135/2135/2135\nf 2127/2127/2127 2135/2135/2135 2128/2128/2128\nf 2128/2128/2128 2135/2135/2135 2129/2129/2129\nf 2128/2128/2128 2129/2129/2129 2122/2122/2122\nf 2129/2129/2129 2136/2136/2136 2137/2137/2137\nf 2129/2129/2129 2137/2137/2137 2130/2130/2130\nf 2130/2130/2130 2137/2137/2137 2138/2138/2138\nf 2130/2130/2130 2138/2138/2138 2131/2131/2131\nf 2132/2132/2132 2139/2139/2139 2140/2140/2140\nf 2132/2132/2132 2140/2140/2140 2133/2133/2133\nf 2133/2133/2133 2140/2140/2140 2141/2141/2141\nf 2133/2133/2133 2141/2141/2141 2134/2134/2134\nf 2134/2134/2134 2141/2141/2141 2142/2142/2142\nf 2134/2134/2134 2142/2142/2142 2135/2135/2135\nf 2135/2135/2135 2142/2142/2142 2136/2136/2136\nf 2135/2135/2135 2136/2136/2136 2129/2129/2129\nf 2143/2143/2143 2144/2144/2144 2145/2145/2145\nf 2143/2143/2143 2145/2145/2145 2146/2146/2146\nf 2146/2146/2146 2145/2145/2145 2147/2147/2147\nf 2146/2146/2146 2147/2147/2147 2148/2148/2148\nf 2149/2149/2149 2150/2150/2150 2151/2151/2151\nf 2149/2149/2149 2151/2151/2151 2152/2152/2152\nf 2152/2152/2152 2151/2151/2151 2153/2153/2153\nf 2152/2152/2152 2153/2153/2153 2154/2154/2154\nf 2154/2154/2154 2153/2153/2153 2155/2155/2155\nf 2154/2154/2154 2155/2155/2155 2156/2156/2156\nf 2156/2156/2156 2155/2155/2155 2144/2144/2144\nf 2156/2156/2156 2144/2144/2144 2143/2143/2143\nf 2144/2144/2144 2157/2157/2157 2158/2158/2158\nf 2144/2144/2144 2158/2158/2158 2145/2145/2145\nf 2145/2145/2145 2158/2158/2158 2159/2159/2159\nf 2145/2145/2145 2159/2159/2159 2147/2147/2147\nf 2150/2150/2150 2160/2160/2160 2161/2161/2161\nf 2150/2150/2150 2161/2161/2161 2151/2151/2151\nf 2151/2151/2151 2161/2161/2161 2162/2162/2162\nf 2151/2151/2151 2162/2162/2162 2153/2153/2153\nf 2153/2153/2153 2162/2162/2162 2163/2163/2163\nf 2153/2153/2153 2163/2163/2163 2155/2155/2155\nf 2155/2155/2155 2163/2163/2163 2157/2157/2157\nf 2155/2155/2155 2157/2157/2157 2144/2144/2144\nf 2157/2157/2157 2164/2164/2164 2165/2165/2165\nf 2157/2157/2157 2165/2165/2165 2158/2158/2158\nf 2158/2158/2158 2165/2165/2165 2166/2166/2166\nf 2158/2158/2158 2166/2166/2166 2159/2159/2159\nf 2160/2160/2160 2167/2167/2167 2168/2168/2168\nf 2160/2160/2160 2168/2168/2168 2161/2161/2161\nf 2161/2161/2161 2168/2168/2168 2169/2169/2169\nf 2161/2161/2161 2169/2169/2169 2162/2162/2162\nf 2162/2162/2162 2169/2169/2169 2170/2170/2170\nf 2162/2162/2162 2170/2170/2170 2163/2163/2163\nf 2163/2163/2163 2170/2170/2170 2164/2164/2164\nf 2163/2163/2163 2164/2164/2164 2157/2157/2157\nf 2164/2164/2164 2171/2171/2171 2172/2172/2172\nf 2164/2164/2164 2172/2172/2172 2165/2165/2165\nf 2165/2165/2165 2172/2172/2172 2173/2173/2173\nf 2165/2165/2165 2173/2173/2173 2166/2166/2166\nf 2167/2167/2167 2174/2174/2174 2175/2175/2175\nf 2167/2167/2167 2175/2175/2175 2168/2168/2168\nf 2168/2168/2168 2175/2175/2175 2176/2176/2176\nf 2168/2168/2168 2176/2176/2176 2169/2169/2169\nf 2169/2169/2169 2176/2176/2176 2177/2177/2177\nf 2169/2169/2169 2177/2177/2177 2170/2170/2170\nf 2170/2170/2170 2177/2177/2177 2171/2171/2171\nf 2170/2170/2170 2171/2171/2171 2164/2164/2164\nf 2171/2171/2171 2178/2178/2178 2179/2179/2179\nf 2171/2171/2171 2179/2179/2179 2172/2172/2172\nf 2172/2172/2172 2179/2179/2179 2180/2180/2180\nf 2172/2172/2172 2180/2180/2180 2173/2173/2173\nf 2174/2174/2174 2181/2181/2181 2182/2182/2182\nf 2174/2174/2174 2182/2182/2182 2175/2175/2175\nf 2175/2175/2175 2182/2182/2182 2183/2183/2183\nf 2175/2175/2175 2183/2183/2183 2176/2176/2176\nf 2176/2176/2176 2183/2183/2183 2184/2184/2184\nf 2176/2176/2176 2184/2184/2184 2177/2177/2177\nf 2177/2177/2177 2184/2184/2184 2178/2178/2178\nf 2177/2177/2177 2178/2178/2178 2171/2171/2171\nf 2178/2178/2178 2185/2185/2185 2186/2186/2186\nf 2178/2178/2178 2186/2186/2186 2179/2179/2179\nf 2179/2179/2179 2186/2186/2186 2187/2187/2187\nf 2179/2179/2179 2187/2187/2187 2180/2180/2180\nf 2181/2181/2181 2188/2188/2188 2189/2189/2189\nf 2181/2181/2181 2189/2189/2189 2182/2182/2182\nf 2182/2182/2182 2189/2189/2189 2190/2190/2190\nf 2182/2182/2182 2190/2190/2190 2183/2183/2183\nf 2183/2183/2183 2190/2190/2190 2191/2191/2191\nf 2183/2183/2183 2191/2191/2191 2184/2184/2184\nf 2184/2184/2184 2191/2191/2191 2185/2185/2185\nf 2184/2184/2184 2185/2185/2185 2178/2178/2178\nf 2185/2185/2185 2192/2192/2192 2193/2193/2193\nf 2185/2185/2185 2193/2193/2193 2186/2186/2186\nf 2186/2186/2186 2193/2193/2193 2194/2194/2194\nf 2186/2186/2186 2194/2194/2194 2187/2187/2187\nf 2188/2188/2188 2195/2195/2195 2196/2196/2196\nf 2188/2188/2188 2196/2196/2196 2189/2189/2189\nf 2189/2189/2189 2196/2196/2196 2197/2197/2197\nf 2189/2189/2189 2197/2197/2197 2190/2190/2190\nf 2190/2190/2190 2197/2197/2197 2198/2198/2198\nf 2190/2190/2190 2198/2198/2198 2191/2191/2191\nf 2191/2191/2191 2198/2198/2198 2192/2192/2192\nf 2191/2191/2191 2192/2192/2192 2185/2185/2185\nf 2192/2192/2192 2199/2199/2199 2200/2200/2200\nf 2192/2192/2192 2200/2200/2200 2193/2193/2193\nf 2193/2193/2193 2200/2200/2200 2201/2201/2201\nf 2193/2193/2193 2201/2201/2201 2194/2194/2194\nf 2195/2195/2195 2202/2202/2202 2203/2203/2203\nf 2195/2195/2195 2203/2203/2203 2196/2196/2196\nf 2196/2196/2196 2203/2203/2203 2204/2204/2204\nf 2196/2196/2196 2204/2204/2204 2197/2197/2197\nf 2197/2197/2197 2204/2204/2204 2205/2205/2205\nf 2197/2197/2197 2205/2205/2205 2198/2198/2198\nf 2198/2198/2198 2205/2205/2205 2199/2199/2199\nf 2198/2198/2198 2199/2199/2199 2192/2192/2192\nf 2199/2199/2199 2206/2206/2206 2207/2207/2207\nf 2199/2199/2199 2207/2207/2207 2200/2200/2200\nf 2200/2200/2200 2207/2207/2207 2208/2208/2208\nf 2200/2200/2200 2208/2208/2208 2201/2201/2201\nf 2202/2202/2202 2209/2209/2209 2210/2210/2210\nf 2202/2202/2202 2210/2210/2210 2203/2203/2203\nf 2203/2203/2203 2210/2210/2210 2211/2211/2211\nf 2203/2203/2203 2211/2211/2211 2204/2204/2204\nf 2204/2204/2204 2211/2211/2211 2212/2212/2212\nf 2204/2204/2204 2212/2212/2212 2205/2205/2205\nf 2205/2205/2205 2212/2212/2212 2206/2206/2206\nf 2205/2205/2205 2206/2206/2206 2199/2199/2199\nf 2206/2206/2206 2213/2213/2213 2214/2214/2214\nf 2206/2206/2206 2214/2214/2214 2207/2207/2207\nf 2207/2207/2207 2214/2214/2214 2215/2215/2215\nf 2207/2207/2207 2215/2215/2215 2208/2208/2208\nf 2209/2209/2209 2216/2216/2216 2217/2217/2217\nf 2209/2209/2209 2217/2217/2217 2210/2210/2210\nf 2210/2210/2210 2217/2217/2217 2218/2218/2218\nf 2210/2210/2210 2218/2218/2218 2211/2211/2211\nf 2211/2211/2211 2218/2218/2218 2219/2219/2219\nf 2211/2211/2211 2219/2219/2219 2212/2212/2212\nf 2212/2212/2212 2219/2219/2219 2213/2213/2213\nf 2212/2212/2212 2213/2213/2213 2206/2206/2206\nf 2213/2213/2213 2220/2220/2220 2221/2221/2221\nf 2213/2213/2213 2221/2221/2221 2214/2214/2214\nf 2214/2214/2214 2221/2221/2221 2222/2222/2222\nf 2214/2214/2214 2222/2222/2222 2215/2215/2215\nf 2216/2216/2216 2223/2223/2223 2224/2224/2224\nf 2216/2216/2216 2224/2224/2224 2217/2217/2217\nf 2217/2217/2217 2224/2224/2224 2225/2225/2225\nf 2217/2217/2217 2225/2225/2225 2218/2218/2218\nf 2218/2218/2218 2225/2225/2225 2226/2226/2226\nf 2218/2218/2218 2226/2226/2226 2219/2219/2219\nf 2219/2219/2219 2226/2226/2226 2220/2220/2220\nf 2219/2219/2219 2220/2220/2220 2213/2213/2213\nf 2220/2220/2220 2227/2227/2227 2228/2228/2228\nf 2220/2220/2220 2228/2228/2228 2221/2221/2221\nf 2221/2221/2221 2228/2228/2228 2229/2229/2229\nf 2221/2221/2221 2229/2229/2229 2222/2222/2222\nf 2223/2223/2223 2230/2230/2230 2231/2231/2231\nf 2223/2223/2223 2231/2231/2231 2224/2224/2224\nf 2224/2224/2224 2231/2231/2231 2232/2232/2232\nf 2224/2224/2224 2232/2232/2232 2225/2225/2225\nf 2225/2225/2225 2232/2232/2232 2233/2233/2233\nf 2225/2225/2225 2233/2233/2233 2226/2226/2226\nf 2226/2226/2226 2233/2233/2233 2227/2227/2227\nf 2226/2226/2226 2227/2227/2227 2220/2220/2220\nf 2227/2227/2227 2234/2234/2234 2235/2235/2235\nf 2227/2227/2227 2235/2235/2235 2228/2228/2228\nf 2228/2228/2228 2235/2235/2235 2236/2236/2236\nf 2228/2228/2228 2236/2236/2236 2229/2229/2229\nf 2230/2230/2230 2237/2237/2237 2238/2238/2238\nf 2230/2230/2230 2238/2238/2238 2231/2231/2231\nf 2231/2231/2231 2238/2238/2238 2239/2239/2239\nf 2231/2231/2231 2239/2239/2239 2232/2232/2232\nf 2232/2232/2232 2239/2239/2239 2240/2240/2240\nf 2232/2232/2232 2240/2240/2240 2233/2233/2233\nf 2233/2233/2233 2240/2240/2240 2234/2234/2234\nf 2233/2233/2233 2234/2234/2234 2227/2227/2227\nf 2234/2234/2234 2241/2241/2241 2242/2242/2242\nf 2234/2234/2234 2242/2242/2242 2235/2235/2235\nf 2235/2235/2235 2242/2242/2242 2243/2243/2243\nf 2235/2235/2235 2243/2243/2243 2236/2236/2236\nf 2237/2237/2237 2244/2244/2244 2245/2245/2245\nf 2237/2237/2237 2245/2245/2245 2238/2238/2238\nf 2238/2238/2238 2245/2245/2245 2246/2246/2246\nf 2238/2238/2238 2246/2246/2246 2239/2239/2239\nf 2239/2239/2239 2246/2246/2246 2247/2247/2247\nf 2239/2239/2239 2247/2247/2247 2240/2240/2240\nf 2240/2240/2240 2247/2247/2247 2241/2241/2241\nf 2240/2240/2240 2241/2241/2241 2234/2234/2234\nf 2241/2241/2241 2248/2248/2248 2249/2249/2249\nf 2241/2241/2241 2249/2249/2249 2242/2242/2242\nf 2242/2242/2242 2249/2249/2249 2250/2250/2250\nf 2242/2242/2242 2250/2250/2250 2243/2243/2243\nf 2244/2244/2244 2251/2251/2251 2252/2252/2252\nf 2244/2244/2244 2252/2252/2252 2245/2245/2245\nf 2245/2245/2245 2252/2252/2252 2253/2253/2253\nf 2245/2245/2245 2253/2253/2253 2246/2246/2246\nf 2246/2246/2246 2253/2253/2253 2254/2254/2254\nf 2246/2246/2246 2254/2254/2254 2247/2247/2247\nf 2247/2247/2247 2254/2254/2254 2248/2248/2248\nf 2247/2247/2247 2248/2248/2248 2241/2241/2241\nf 2248/2248/2248 2255/2255/2255 2256/2256/2256\nf 2248/2248/2248 2256/2256/2256 2249/2249/2249\nf 2249/2249/2249 2256/2256/2256 2257/2257/2257\nf 2249/2249/2249 2257/2257/2257 2250/2250/2250\nf 2251/2251/2251 2258/2258/2258 2259/2259/2259\nf 2251/2251/2251 2259/2259/2259 2252/2252/2252\nf 2252/2252/2252 2259/2259/2259 2260/2260/2260\nf 2252/2252/2252 2260/2260/2260 2253/2253/2253\nf 2253/2253/2253 2260/2260/2260 2261/2261/2261\nf 2253/2253/2253 2261/2261/2261 2254/2254/2254\nf 2254/2254/2254 2261/2261/2261 2255/2255/2255\nf 2254/2254/2254 2255/2255/2255 2248/2248/2248\nf 2262/2262/2262 2263/2263/2263 2264/2264/2264\nf 2262/2262/2262 2264/2264/2264 2265/2265/2265\nf 2265/2265/2265 2264/2264/2264 2266/2266/2266\nf 2265/2265/2265 2266/2266/2266 2267/2267/2267\nf 2268/2268/2268 2269/2269/2269 2270/2270/2270\nf 2268/2268/2268 2270/2270/2270 2271/2271/2271\nf 2271/2271/2271 2270/2270/2270 2272/2272/2272\nf 2271/2271/2271 2272/2272/2272 2273/2273/2273\nf 2273/2273/2273 2272/2272/2272 2274/2274/2274\nf 2273/2273/2273 2274/2274/2274 2275/2275/2275\nf 2275/2275/2275 2274/2274/2274 2263/2263/2263\nf 2275/2275/2275 2263/2263/2263 2262/2262/2262\nf 2263/2263/2263 2276/2276/2276 2277/2277/2277\nf 2263/2263/2263 2277/2277/2277 2264/2264/2264\nf 2264/2264/2264 2277/2277/2277 2278/2278/2278\nf 2264/2264/2264 2278/2278/2278 2266/2266/2266\nf 2269/2269/2269 2279/2279/2279 2280/2280/2280\nf 2269/2269/2269 2280/2280/2280 2270/2270/2270\nf 2270/2270/2270 2280/2280/2280 2281/2281/2281\nf 2270/2270/2270 2281/2281/2281 2272/2272/2272\nf 2272/2272/2272 2281/2281/2281 2282/2282/2282\nf 2272/2272/2272 2282/2282/2282 2274/2274/2274\nf 2274/2274/2274 2282/2282/2282 2276/2276/2276\nf 2274/2274/2274 2276/2276/2276 2263/2263/2263\nf 2276/2276/2276 2283/2283/2283 2284/2284/2284\nf 2276/2276/2276 2284/2284/2284 2277/2277/2277\nf 2277/2277/2277 2284/2284/2284 2285/2285/2285\nf 2277/2277/2277 2285/2285/2285 2278/2278/2278\nf 2279/2279/2279 2286/2286/2286 2287/2287/2287\nf 2279/2279/2279 2287/2287/2287 2280/2280/2280\nf 2280/2280/2280 2287/2287/2287 2288/2288/2288\nf 2280/2280/2280 2288/2288/2288 2281/2281/2281\nf 2281/2281/2281 2288/2288/2288 2289/2289/2289\nf 2281/2281/2281 2289/2289/2289 2282/2282/2282\nf 2282/2282/2282 2289/2289/2289 2283/2283/2283\nf 2282/2282/2282 2283/2283/2283 2276/2276/2276\nf 2283/2283/2283 2290/2290/2290 2291/2291/2291\nf 2283/2283/2283 2291/2291/2291 2284/2284/2284\nf 2284/2284/2284 2291/2291/2291 2292/2292/2292\nf 2284/2284/2284 2292/2292/2292 2285/2285/2285\nf 2286/2286/2286 2293/2293/2293 2294/2294/2294\nf 2286/2286/2286 2294/2294/2294 2287/2287/2287\nf 2287/2287/2287 2294/2294/2294 2295/2295/2295\nf 2287/2287/2287 2295/2295/2295 2288/2288/2288\nf 2288/2288/2288 2295/2295/2295 2296/2296/2296\nf 2288/2288/2288 2296/2296/2296 2289/2289/2289\nf 2289/2289/2289 2296/2296/2296 2290/2290/2290\nf 2289/2289/2289 2290/2290/2290 2283/2283/2283\nf 2290/2290/2290 2297/2297/2297 2298/2298/2298\nf 2290/2290/2290 2298/2298/2298 2291/2291/2291\nf 2291/2291/2291 2298/2298/2298 2299/2299/2299\nf 2291/2291/2291 2299/2299/2299 2292/2292/2292\nf 2293/2293/2293 2300/2300/2300 2301/2301/2301\nf 2293/2293/2293 2301/2301/2301 2294/2294/2294\nf 2294/2294/2294 2301/2301/2301 2302/2302/2302\nf 2294/2294/2294 2302/2302/2302 2295/2295/2295\nf 2295/2295/2295 2302/2302/2302 2303/2303/2303\nf 2295/2295/2295 2303/2303/2303 2296/2296/2296\nf 2296/2296/2296 2303/2303/2303 2297/2297/2297\nf 2296/2296/2296 2297/2297/2297 2290/2290/2290\nf 2297/2297/2297 2304/2304/2304 2305/2305/2305\nf 2297/2297/2297 2305/2305/2305 2298/2298/2298\nf 2298/2298/2298 2305/2305/2305 2306/2306/2306\nf 2298/2298/2298 2306/2306/2306 2299/2299/2299\nf 2300/2300/2300 2307/2307/2307 2308/2308/2308\nf 2300/2300/2300 2308/2308/2308 2301/2301/2301\nf 2301/2301/2301 2308/2308/2308 2309/2309/2309\nf 2301/2301/2301 2309/2309/2309 2302/2302/2302\nf 2302/2302/2302 2309/2309/2309 2310/2310/2310\nf 2302/2302/2302 2310/2310/2310 2303/2303/2303\nf 2303/2303/2303 2310/2310/2310 2304/2304/2304\nf 2303/2303/2303 2304/2304/2304 2297/2297/2297\nf 2304/2304/2304 2311/2311/2311 2312/2312/2312\nf 2304/2304/2304 2312/2312/2312 2305/2305/2305\nf 2305/2305/2305 2312/2312/2312 2313/2313/2313\nf 2305/2305/2305 2313/2313/2313 2306/2306/2306\nf 2307/2307/2307 2314/2314/2314 2315/2315/2315\nf 2307/2307/2307 2315/2315/2315 2308/2308/2308\nf 2308/2308/2308 2315/2315/2315 2316/2316/2316\nf 2308/2308/2308 2316/2316/2316 2309/2309/2309\nf 2309/2309/2309 2316/2316/2316 2317/2317/2317\nf 2309/2309/2309 2317/2317/2317 2310/2310/2310\nf 2310/2310/2310 2317/2317/2317 2311/2311/2311\nf 2310/2310/2310 2311/2311/2311 2304/2304/2304\nf 2311/2311/2311 2318/2318/2318 2319/2319/2319\nf 2311/2311/2311 2319/2319/2319 2312/2312/2312\nf 2312/2312/2312 2319/2319/2319 2320/2320/2320\nf 2312/2312/2312 2320/2320/2320 2313/2313/2313\nf 2314/2314/2314 2321/2321/2321 2322/2322/2322\nf 2314/2314/2314 2322/2322/2322 2315/2315/2315\nf 2315/2315/2315 2322/2322/2322 2323/2323/2323\nf 2315/2315/2315 2323/2323/2323 2316/2316/2316\nf 2316/2316/2316 2323/2323/2323 2324/2324/2324\nf 2316/2316/2316 2324/2324/2324 2317/2317/2317\nf 2317/2317/2317 2324/2324/2324 2318/2318/2318\nf 2317/2317/2317 2318/2318/2318 2311/2311/2311\nf 2318/2318/2318 2325/2325/2325 2326/2326/2326\nf 2318/2318/2318 2326/2326/2326 2319/2319/2319\nf 2319/2319/2319 2326/2326/2326 2327/2327/2327\nf 2319/2319/2319 2327/2327/2327 2320/2320/2320\nf 2321/2321/2321 2328/2328/2328 2329/2329/2329\nf 2321/2321/2321 2329/2329/2329 2322/2322/2322\nf 2322/2322/2322 2329/2329/2329 2330/2330/2330\nf 2322/2322/2322 2330/2330/2330 2323/2323/2323\nf 2323/2323/2323 2330/2330/2330 2331/2331/2331\nf 2323/2323/2323 2331/2331/2331 2324/2324/2324\nf 2324/2324/2324 2331/2331/2331 2325/2325/2325\nf 2324/2324/2324 2325/2325/2325 2318/2318/2318\nf 2325/2325/2325 2332/2332/2332 2333/2333/2333\nf 2325/2325/2325 2333/2333/2333 2326/2326/2326\nf 2326/2326/2326 2333/2333/2333 2334/2334/2334\nf 2326/2326/2326 2334/2334/2334 2327/2327/2327\nf 2328/2328/2328 2335/2335/2335 2336/2336/2336\nf 2328/2328/2328 2336/2336/2336 2329/2329/2329\nf 2329/2329/2329 2336/2336/2336 2337/2337/2337\nf 2329/2329/2329 2337/2337/2337 2330/2330/2330\nf 2330/2330/2330 2337/2337/2337 2338/2338/2338\nf 2330/2330/2330 2338/2338/2338 2331/2331/2331\nf 2331/2331/2331 2338/2338/2338 2332/2332/2332\nf 2331/2331/2331 2332/2332/2332 2325/2325/2325\nf 2332/2332/2332 2339/2339/2339 2340/2340/2340\nf 2332/2332/2332 2340/2340/2340 2333/2333/2333\nf 2333/2333/2333 2340/2340/2340 2341/2341/2341\nf 2333/2333/2333 2341/2341/2341 2334/2334/2334\nf 2335/2335/2335 2342/2342/2342 2343/2343/2343\nf 2335/2335/2335 2343/2343/2343 2336/2336/2336\nf 2336/2336/2336 2343/2343/2343 2344/2344/2344\nf 2336/2336/2336 2344/2344/2344 2337/2337/2337\nf 2337/2337/2337 2344/2344/2344 2345/2345/2345\nf 2337/2337/2337 2345/2345/2345 2338/2338/2338\nf 2338/2338/2338 2345/2345/2345 2339/2339/2339\nf 2338/2338/2338 2339/2339/2339 2332/2332/2332\nf 2339/2339/2339 2346/2346/2346 2347/2347/2347\nf 2339/2339/2339 2347/2347/2347 2340/2340/2340\nf 2340/2340/2340 2347/2347/2347 2348/2348/2348\nf 2340/2340/2340 2348/2348/2348 2341/2341/2341\nf 2342/2342/2342 2349/2349/2349 2350/2350/2350\nf 2342/2342/2342 2350/2350/2350 2343/2343/2343\nf 2343/2343/2343 2350/2350/2350 2351/2351/2351\nf 2343/2343/2343 2351/2351/2351 2344/2344/2344\nf 2344/2344/2344 2351/2351/2351 2352/2352/2352\nf 2344/2344/2344 2352/2352/2352 2345/2345/2345\nf 2345/2345/2345 2352/2352/2352 2346/2346/2346\nf 2345/2345/2345 2346/2346/2346 2339/2339/2339\nf 2346/2346/2346 2353/2353/2353 2354/2354/2354\nf 2346/2346/2346 2354/2354/2354 2347/2347/2347\nf 2347/2347/2347 2354/2354/2354 2355/2355/2355\nf 2347/2347/2347 2355/2355/2355 2348/2348/2348\nf 2349/2349/2349 2356/2356/2356 2357/2357/2357\nf 2349/2349/2349 2357/2357/2357 2350/2350/2350\nf 2350/2350/2350 2357/2357/2357 2358/2358/2358\nf 2350/2350/2350 2358/2358/2358 2351/2351/2351\nf 2351/2351/2351 2358/2358/2358 2359/2359/2359\nf 2351/2351/2351 2359/2359/2359 2352/2352/2352\nf 2352/2352/2352 2359/2359/2359 2353/2353/2353\nf 2352/2352/2352 2353/2353/2353 2346/2346/2346\nf 2353/2353/2353 2360/2360/2360 2361/2361/2361\nf 2353/2353/2353 2361/2361/2361 2354/2354/2354\nf 2354/2354/2354 2361/2361/2361 2362/2362/2362\nf 2354/2354/2354 2362/2362/2362 2355/2355/2355\nf 2356/2356/2356 2363/2363/2363 2364/2364/2364\nf 2356/2356/2356 2364/2364/2364 2357/2357/2357\nf 2357/2357/2357 2364/2364/2364 2365/2365/2365\nf 2357/2357/2357 2365/2365/2365 2358/2358/2358\nf 2358/2358/2358 2365/2365/2365 2366/2366/2366\nf 2358/2358/2358 2366/2366/2366 2359/2359/2359\nf 2359/2359/2359 2366/2366/2366 2360/2360/2360\nf 2359/2359/2359 2360/2360/2360 2353/2353/2353\nf 2360/2360/2360 2367/2367/2367 2368/2368/2368\nf 2360/2360/2360 2368/2368/2368 2361/2361/2361\nf 2361/2361/2361 2368/2368/2368 2369/2369/2369\nf 2361/2361/2361 2369/2369/2369 2362/2362/2362\nf 2363/2363/2363 2370/2370/2370 2371/2371/2371\nf 2363/2363/2363 2371/2371/2371 2364/2364/2364\nf 2364/2364/2364 2371/2371/2371 2372/2372/2372\nf 2364/2364/2364 2372/2372/2372 2365/2365/2365\nf 2365/2365/2365 2372/2372/2372 2373/2373/2373\nf 2365/2365/2365 2373/2373/2373 2366/2366/2366\nf 2366/2366/2366 2373/2373/2373 2367/2367/2367\nf 2366/2366/2366 2367/2367/2367 2360/2360/2360\nf 2367/2367/2367 2374/2374/2374 2375/2375/2375\nf 2367/2367/2367 2375/2375/2375 2368/2368/2368\nf 2368/2368/2368 2375/2375/2375 2376/2376/2376\nf 2368/2368/2368 2376/2376/2376 2369/2369/2369\nf 2370/2370/2370 2377/2377/2377 2378/2378/2378\nf 2370/2370/2370 2378/2378/2378 2371/2371/2371\nf 2371/2371/2371 2378/2378/2378 2379/2379/2379\nf 2371/2371/2371 2379/2379/2379 2372/2372/2372\nf 2372/2372/2372 2379/2379/2379 2380/2380/2380\nf 2372/2372/2372 2380/2380/2380 2373/2373/2373\nf 2373/2373/2373 2380/2380/2380 2374/2374/2374\nf 2373/2373/2373 2374/2374/2374 2367/2367/2367\nf 2381/2381/2381 2382/2382/2382 2383/2383/2383\nf 2381/2381/2381 2383/2383/2383 2384/2384/2384\nf 2384/2384/2384 2383/2383/2383 2385/2385/2385\nf 2384/2384/2384 2385/2385/2385 2386/2386/2386\nf 2387/2387/2387 2388/2388/2388 2389/2389/2389\nf 2387/2387/2387 2389/2389/2389 2390/2390/2390\nf 2390/2390/2390 2389/2389/2389 2391/2391/2391\nf 2390/2390/2390 2391/2391/2391 2392/2392/2392\nf 2392/2392/2392 2391/2391/2391 2393/2393/2393\nf 2392/2392/2392 2393/2393/2393 2394/2394/2394\nf 2394/2394/2394 2393/2393/2393 2382/2382/2382\nf 2394/2394/2394 2382/2382/2382 2381/2381/2381\nf 2382/2382/2382 2395/2395/2395 2396/2396/2396\nf 2382/2382/2382 2396/2396/2396 2383/2383/2383\nf 2383/2383/2383 2396/2396/2396 2397/2397/2397\nf 2383/2383/2383 2397/2397/2397 2385/2385/2385\nf 2388/2388/2388 2398/2398/2398 2399/2399/2399\nf 2388/2388/2388 2399/2399/2399 2389/2389/2389\nf 2389/2389/2389 2399/2399/2399 2400/2400/2400\nf 2389/2389/2389 2400/2400/2400 2391/2391/2391\nf 2391/2391/2391 2400/2400/2400 2401/2401/2401\nf 2391/2391/2391 2401/2401/2401 2393/2393/2393\nf 2393/2393/2393 2401/2401/2401 2395/2395/2395\nf 2393/2393/2393 2395/2395/2395 2382/2382/2382\nf 2395/2395/2395 2402/2402/2402 2403/2403/2403\nf 2395/2395/2395 2403/2403/2403 2396/2396/2396\nf 2396/2396/2396 2403/2403/2403 2404/2404/2404\nf 2396/2396/2396 2404/2404/2404 2397/2397/2397\nf 2398/2398/2398 2405/2405/2405 2406/2406/2406\nf 2398/2398/2398 2406/2406/2406 2399/2399/2399\nf 2399/2399/2399 2406/2406/2406 2407/2407/2407\nf 2399/2399/2399 2407/2407/2407 2400/2400/2400\nf 2400/2400/2400 2407/2407/2407 2408/2408/2408\nf 2400/2400/2400 2408/2408/2408 2401/2401/2401\nf 2401/2401/2401 2408/2408/2408 2402/2402/2402\nf 2401/2401/2401 2402/2402/2402 2395/2395/2395\nf 2402/2402/2402 2409/2409/2409 2410/2410/2410\nf 2402/2402/2402 2410/2410/2410 2403/2403/2403\nf 2403/2403/2403 2410/2410/2410 2411/2411/2411\nf 2403/2403/2403 2411/2411/2411 2404/2404/2404\nf 2405/2405/2405 2412/2412/2412 2413/2413/2413\nf 2405/2405/2405 2413/2413/2413 2406/2406/2406\nf 2406/2406/2406 2413/2413/2413 2414/2414/2414\nf 2406/2406/2406 2414/2414/2414 2407/2407/2407\nf 2407/2407/2407 2414/2414/2414 2415/2415/2415\nf 2407/2407/2407 2415/2415/2415 2408/2408/2408\nf 2408/2408/2408 2415/2415/2415 2409/2409/2409\nf 2408/2408/2408 2409/2409/2409 2402/2402/2402\nf 2409/2409/2409 2416/2416/2416 2417/2417/2417\nf 2409/2409/2409 2417/2417/2417 2410/2410/2410\nf 2410/2410/2410 2417/2417/2417 2418/2418/2418\nf 2410/2410/2410 2418/2418/2418 2411/2411/2411\nf 2412/2412/2412 2419/2419/2419 2420/2420/2420\nf 2412/2412/2412 2420/2420/2420 2413/2413/2413\nf 2413/2413/2413 2420/2420/2420 2421/2421/2421\nf 2413/2413/2413 2421/2421/2421 2414/2414/2414\nf 2414/2414/2414 2421/2421/2421 2422/2422/2422\nf 2414/2414/2414 2422/2422/2422 2415/2415/2415\nf 2415/2415/2415 2422/2422/2422 2416/2416/2416\nf 2415/2415/2415 2416/2416/2416 2409/2409/2409\nf 2416/2416/2416 2423/2423/2423 2424/2424/2424\nf 2416/2416/2416 2424/2424/2424 2417/2417/2417\nf 2417/2417/2417 2424/2424/2424 2425/2425/2425\nf 2417/2417/2417 2425/2425/2425 2418/2418/2418\nf 2419/2419/2419 2426/2426/2426 2427/2427/2427\nf 2419/2419/2419 2427/2427/2427 2420/2420/2420\nf 2420/2420/2420 2427/2427/2427 2428/2428/2428\nf 2420/2420/2420 2428/2428/2428 2421/2421/2421\nf 2421/2421/2421 2428/2428/2428 2429/2429/2429\nf 2421/2421/2421 2429/2429/2429 2422/2422/2422\nf 2422/2422/2422 2429/2429/2429 2423/2423/2423\nf 2422/2422/2422 2423/2423/2423 2416/2416/2416\nf 2423/2423/2423 2430/2430/2430 2431/2431/2431\nf 2423/2423/2423 2431/2431/2431 2424/2424/2424\nf 2424/2424/2424 2431/2431/2431 2432/2432/2432\nf 2424/2424/2424 2432/2432/2432 2425/2425/2425\nf 2426/2426/2426 2433/2433/2433 2434/2434/2434\nf 2426/2426/2426 2434/2434/2434 2427/2427/2427\nf 2427/2427/2427 2434/2434/2434 2435/2435/2435\nf 2427/2427/2427 2435/2435/2435 2428/2428/2428\nf 2428/2428/2428 2435/2435/2435 2436/2436/2436\nf 2428/2428/2428 2436/2436/2436 2429/2429/2429\nf 2429/2429/2429 2436/2436/2436 2430/2430/2430\nf 2429/2429/2429 2430/2430/2430 2423/2423/2423\nf 2430/2430/2430 2437/2437/2437 2438/2438/2438\nf 2430/2430/2430 2438/2438/2438 2431/2431/2431\nf 2431/2431/2431 2438/2438/2438 2439/2439/2439\nf 2431/2431/2431 2439/2439/2439 2432/2432/2432\nf 2433/2433/2433 2440/2440/2440 2441/2441/2441\nf 2433/2433/2433 2441/2441/2441 2434/2434/2434\nf 2434/2434/2434 2441/2441/2441 2442/2442/2442\nf 2434/2434/2434 2442/2442/2442 2435/2435/2435\nf 2435/2435/2435 2442/2442/2442 2443/2443/2443\nf 2435/2435/2435 2443/2443/2443 2436/2436/2436\nf 2436/2436/2436 2443/2443/2443 2437/2437/2437\nf 2436/2436/2436 2437/2437/2437 2430/2430/2430\nf 2437/2437/2437 2444/2444/2444 2445/2445/2445\nf 2437/2437/2437 2445/2445/2445 2438/2438/2438\nf 2438/2438/2438 2445/2445/2445 2446/2446/2446\nf 2438/2438/2438 2446/2446/2446 2439/2439/2439\nf 2440/2440/2440 2447/2447/2447 2448/2448/2448\nf 2440/2440/2440 2448/2448/2448 2441/2441/2441\nf 2441/2441/2441 2448/2448/2448 2449/2449/2449\nf 2441/2441/2441 2449/2449/2449 2442/2442/2442\nf 2442/2442/2442 2449/2449/2449 2450/2450/2450\nf 2442/2442/2442 2450/2450/2450 2443/2443/2443\nf 2443/2443/2443 2450/2450/2450 2444/2444/2444\nf 2443/2443/2443 2444/2444/2444 2437/2437/2437\nf 2444/2444/2444 2451/2451/2451 2452/2452/2452\nf 2444/2444/2444 2452/2452/2452 2445/2445/2445\nf 2445/2445/2445 2452/2452/2452 2453/2453/2453\nf 2445/2445/2445 2453/2453/2453 2446/2446/2446\nf 2447/2447/2447 2454/2454/2454 2455/2455/2455\nf 2447/2447/2447 2455/2455/2455 2448/2448/2448\nf 2448/2448/2448 2455/2455/2455 2456/2456/2456\nf 2448/2448/2448 2456/2456/2456 2449/2449/2449\nf 2449/2449/2449 2456/2456/2456 2457/2457/2457\nf 2449/2449/2449 2457/2457/2457 2450/2450/2450\nf 2450/2450/2450 2457/2457/2457 2451/2451/2451\nf 2450/2450/2450 2451/2451/2451 2444/2444/2444\nf 2451/2451/2451 2458/2458/2458 2459/2459/2459\nf 2451/2451/2451 2459/2459/2459 2452/2452/2452\nf 2452/2452/2452 2459/2459/2459 2460/2460/2460\nf 2452/2452/2452 2460/2460/2460 2453/2453/2453\nf 2454/2454/2454 2461/2461/2461 2462/2462/2462\nf 2454/2454/2454 2462/2462/2462 2455/2455/2455\nf 2455/2455/2455 2462/2462/2462 2463/2463/2463\nf 2455/2455/2455 2463/2463/2463 2456/2456/2456\nf 2456/2456/2456 2463/2463/2463 2464/2464/2464\nf 2456/2456/2456 2464/2464/2464 2457/2457/2457\nf 2457/2457/2457 2464/2464/2464 2458/2458/2458\nf 2457/2457/2457 2458/2458/2458 2451/2451/2451\nf 2458/2458/2458 2465/2465/2465 2466/2466/2466\nf 2458/2458/2458 2466/2466/2466 2459/2459/2459\nf 2459/2459/2459 2466/2466/2466 2467/2467/2467\nf 2459/2459/2459 2467/2467/2467 2460/2460/2460\nf 2461/2461/2461 2468/2468/2468 2469/2469/2469\nf 2461/2461/2461 2469/2469/2469 2462/2462/2462\nf 2462/2462/2462 2469/2469/2469 2470/2470/2470\nf 2462/2462/2462 2470/2470/2470 2463/2463/2463\nf 2463/2463/2463 2470/2470/2470 2471/2471/2471\nf 2463/2463/2463 2471/2471/2471 2464/2464/2464\nf 2464/2464/2464 2471/2471/2471 2465/2465/2465\nf 2464/2464/2464 2465/2465/2465 2458/2458/2458\nf 2465/2465/2465 2472/2472/2472 2473/2473/2473\nf 2465/2465/2465 2473/2473/2473 2466/2466/2466\nf 2466/2466/2466 2473/2473/2473 2474/2474/2474\nf 2466/2466/2466 2474/2474/2474 2467/2467/2467\nf 2468/2468/2468 2475/2475/2475 2476/2476/2476\nf 2468/2468/2468 2476/2476/2476 2469/2469/2469\nf 2469/2469/2469 2476/2476/2476 2477/2477/2477\nf 2469/2469/2469 2477/2477/2477 2470/2470/2470\nf 2470/2470/2470 2477/2477/2477 2478/2478/2478\nf 2470/2470/2470 2478/2478/2478 2471/2471/2471\nf 2471/2471/2471 2478/2478/2478 2472/2472/2472\nf 2471/2471/2471 2472/2472/2472 2465/2465/2465\nf 2472/2472/2472 2479/2479/2479 2480/2480/2480\nf 2472/2472/2472 2480/2480/2480 2473/2473/2473\nf 2473/2473/2473 2480/2480/2480 2481/2481/2481\nf 2473/2473/2473 2481/2481/2481 2474/2474/2474\nf 2475/2475/2475 2482/2482/2482 2483/2483/2483\nf 2475/2475/2475 2483/2483/2483 2476/2476/2476\nf 2476/2476/2476 2483/2483/2483 2484/2484/2484\nf 2476/2476/2476 2484/2484/2484 2477/2477/2477\nf 2477/2477/2477 2484/2484/2484 2485/2485/2485\nf 2477/2477/2477 2485/2485/2485 2478/2478/2478\nf 2478/2478/2478 2485/2485/2485 2479/2479/2479\nf 2478/2478/2478 2479/2479/2479 2472/2472/2472\nf 2479/2479/2479 2486/2486/2486 2487/2487/2487\nf 2479/2479/2479 2487/2487/2487 2480/2480/2480\nf 2480/2480/2480 2487/2487/2487 2488/2488/2488\nf 2480/2480/2480 2488/2488/2488 2481/2481/2481\nf 2482/2482/2482 2489/2489/2489 2490/2490/2490\nf 2482/2482/2482 2490/2490/2490 2483/2483/2483\nf 2483/2483/2483 2490/2490/2490 2491/2491/2491\nf 2483/2483/2483 2491/2491/2491 2484/2484/2484\nf 2484/2484/2484 2491/2491/2491 2492/2492/2492\nf 2484/2484/2484 2492/2492/2492 2485/2485/2485\nf 2485/2485/2485 2492/2492/2492 2486/2486/2486\nf 2485/2485/2485 2486/2486/2486 2479/2479/2479\nf 2486/2486/2486 2493/2493/2493 2494/2494/2494\nf 2486/2486/2486 2494/2494/2494 2487/2487/2487\nf 2487/2487/2487 2494/2494/2494 2495/2495/2495\nf 2487/2487/2487 2495/2495/2495 2488/2488/2488\nf 2489/2489/2489 2496/2496/2496 2497/2497/2497\nf 2489/2489/2489 2497/2497/2497 2490/2490/2490\nf 2490/2490/2490 2497/2497/2497 2498/2498/2498\nf 2490/2490/2490 2498/2498/2498 2491/2491/2491\nf 2491/2491/2491 2498/2498/2498 2499/2499/2499\nf 2491/2491/2491 2499/2499/2499 2492/2492/2492\nf 2492/2492/2492 2499/2499/2499 2493/2493/2493\nf 2492/2492/2492 2493/2493/2493 2486/2486/2486\nf 2500/2500/2500 2501/2501/2501 2502/2502/2502\nf 2500/2500/2500 2502/2502/2502 2503/2503/2503\nf 2503/2503/2503 2502/2502/2502 2504/2504/2504\nf 2503/2503/2503 2504/2504/2504 2505/2505/2505\nf 2506/2506/2506 2507/2507/2507 2508/2508/2508\nf 2506/2506/2506 2508/2508/2508 2509/2509/2509\nf 2509/2509/2509 2508/2508/2508 2510/2510/2510\nf 2509/2509/2509 2510/2510/2510 2511/2511/2511\nf 2511/2511/2511 2510/2510/2510 2512/2512/2512\nf 2511/2511/2511 2512/2512/2512 2513/2513/2513\nf 2513/2513/2513 2512/2512/2512 2501/2501/2501\nf 2513/2513/2513 2501/2501/2501 2500/2500/2500\nf 2501/2501/2501 2514/2514/2514 2515/2515/2515\nf 2501/2501/2501 2515/2515/2515 2502/2502/2502\nf 2502/2502/2502 2515/2515/2515 2516/2516/2516\nf 2502/2502/2502 2516/2516/2516 2504/2504/2504\nf 2507/2507/2507 2517/2517/2517 2518/2518/2518\nf 2507/2507/2507 2518/2518/2518 2508/2508/2508\nf 2508/2508/2508 2518/2518/2518 2519/2519/2519\nf 2508/2508/2508 2519/2519/2519 2510/2510/2510\nf 2510/2510/2510 2519/2519/2519 2520/2520/2520\nf 2510/2510/2510 2520/2520/2520 2512/2512/2512\nf 2512/2512/2512 2520/2520/2520 2514/2514/2514\nf 2512/2512/2512 2514/2514/2514 2501/2501/2501\nf 2514/2514/2514 2521/2521/2521 2522/2522/2522\nf 2514/2514/2514 2522/2522/2522 2515/2515/2515\nf 2515/2515/2515 2522/2522/2522 2523/2523/2523\nf 2515/2515/2515 2523/2523/2523 2516/2516/2516\nf 2517/2517/2517 2524/2524/2524 2525/2525/2525\nf 2517/2517/2517 2525/2525/2525 2518/2518/2518\nf 2518/2518/2518 2525/2525/2525 2526/2526/2526\nf 2518/2518/2518 2526/2526/2526 2519/2519/2519\nf 2519/2519/2519 2526/2526/2526 2527/2527/2527\nf 2519/2519/2519 2527/2527/2527 2520/2520/2520\nf 2520/2520/2520 2527/2527/2527 2521/2521/2521\nf 2520/2520/2520 2521/2521/2521 2514/2514/2514\nf 2521/2521/2521 2528/2528/2528 2529/2529/2529\nf 2521/2521/2521 2529/2529/2529 2522/2522/2522\nf 2522/2522/2522 2529/2529/2529 2530/2530/2530\nf 2522/2522/2522 2530/2530/2530 2523/2523/2523\nf 2524/2524/2524 2531/2531/2531 2532/2532/2532\nf 2524/2524/2524 2532/2532/2532 2525/2525/2525\nf 2525/2525/2525 2532/2532/2532 2533/2533/2533\nf 2525/2525/2525 2533/2533/2533 2526/2526/2526\nf 2526/2526/2526 2533/2533/2533 2534/2534/2534\nf 2526/2526/2526 2534/2534/2534 2527/2527/2527\nf 2527/2527/2527 2534/2534/2534 2528/2528/2528\nf 2527/2527/2527 2528/2528/2528 2521/2521/2521\nf 2528/2528/2528 2535/2535/2535 2536/2536/2536\nf 2528/2528/2528 2536/2536/2536 2529/2529/2529\nf 2529/2529/2529 2536/2536/2536 2537/2537/2537\nf 2529/2529/2529 2537/2537/2537 2530/2530/2530\nf 2531/2531/2531 2538/2538/2538 2539/2539/2539\nf 2531/2531/2531 2539/2539/2539 2532/2532/2532\nf 2532/2532/2532 2539/2539/2539 2540/2540/2540\nf 2532/2532/2532 2540/2540/2540 2533/2533/2533\nf 2533/2533/2533 2540/2540/2540 2541/2541/2541\nf 2533/2533/2533 2541/2541/2541 2534/2534/2534\nf 2534/2534/2534 2541/2541/2541 2535/2535/2535\nf 2534/2534/2534 2535/2535/2535 2528/2528/2528\nf 2535/2535/2535 2542/2542/2542 2543/2543/2543\nf 2535/2535/2535 2543/2543/2543 2536/2536/2536\nf 2536/2536/2536 2543/2543/2543 2544/2544/2544\nf 2536/2536/2536 2544/2544/2544 2537/2537/2537\nf 2538/2538/2538 2545/2545/2545 2546/2546/2546\nf 2538/2538/2538 2546/2546/2546 2539/2539/2539\nf 2539/2539/2539 2546/2546/2546 2547/2547/2547\nf 2539/2539/2539 2547/2547/2547 2540/2540/2540\nf 2540/2540/2540 2547/2547/2547 2548/2548/2548\nf 2540/2540/2540 2548/2548/2548 2541/2541/2541\nf 2541/2541/2541 2548/2548/2548 2542/2542/2542\nf 2541/2541/2541 2542/2542/2542 2535/2535/2535\nf 2542/2542/2542 2549/2549/2549 2550/2550/2550\nf 2542/2542/2542 2550/2550/2550 2543/2543/2543\nf 2543/2543/2543 2550/2550/2550 2551/2551/2551\nf 2543/2543/2543 2551/2551/2551 2544/2544/2544\nf 2545/2545/2545 2552/2552/2552 2553/2553/2553\nf 2545/2545/2545 2553/2553/2553 2546/2546/2546\nf 2546/2546/2546 2553/2553/2553 2554/2554/2554\nf 2546/2546/2546 2554/2554/2554 2547/2547/2547\nf 2547/2547/2547 2554/2554/2554 2555/2555/2555\nf 2547/2547/2547 2555/2555/2555 2548/2548/2548\nf 2548/2548/2548 2555/2555/2555 2549/2549/2549\nf 2548/2548/2548 2549/2549/2549 2542/2542/2542\nf 2549/2549/2549 2556/2556/2556 2557/2557/2557\nf 2549/2549/2549 2557/2557/2557 2550/2550/2550\nf 2550/2550/2550 2557/2557/2557 2558/2558/2558\nf 2550/2550/2550 2558/2558/2558 2551/2551/2551\nf 2552/2552/2552 2559/2559/2559 2560/2560/2560\nf 2552/2552/2552 2560/2560/2560 2553/2553/2553\nf 2553/2553/2553 2560/2560/2560 2561/2561/2561\nf 2553/2553/2553 2561/2561/2561 2554/2554/2554\nf 2554/2554/2554 2561/2561/2561 2562/2562/2562\nf 2554/2554/2554 2562/2562/2562 2555/2555/2555\nf 2555/2555/2555 2562/2562/2562 2556/2556/2556\nf 2555/2555/2555 2556/2556/2556 2549/2549/2549\nf 2556/2556/2556 2563/2563/2563 2564/2564/2564\nf 2556/2556/2556 2564/2564/2564 2557/2557/2557\nf 2557/2557/2557 2564/2564/2564 2565/2565/2565\nf 2557/2557/2557 2565/2565/2565 2558/2558/2558\nf 2559/2559/2559 2566/2566/2566 2567/2567/2567\nf 2559/2559/2559 2567/2567/2567 2560/2560/2560\nf 2560/2560/2560 2567/2567/2567 2568/2568/2568\nf 2560/2560/2560 2568/2568/2568 2561/2561/2561\nf 2561/2561/2561 2568/2568/2568 2569/2569/2569\nf 2561/2561/2561 2569/2569/2569 2562/2562/2562\nf 2562/2562/2562 2569/2569/2569 2563/2563/2563\nf 2562/2562/2562 2563/2563/2563 2556/2556/2556\nf 2563/2563/2563 2570/2570/2570 2571/2571/2571\nf 2563/2563/2563 2571/2571/2571 2564/2564/2564\nf 2564/2564/2564 2571/2571/2571 2572/2572/2572\nf 2564/2564/2564 2572/2572/2572 2565/2565/2565\nf 2566/2566/2566 2573/2573/2573 2574/2574/2574\nf 2566/2566/2566 2574/2574/2574 2567/2567/2567\nf 2567/2567/2567 2574/2574/2574 2575/2575/2575\nf 2567/2567/2567 2575/2575/2575 2568/2568/2568\nf 2568/2568/2568 2575/2575/2575 2576/2576/2576\nf 2568/2568/2568 2576/2576/2576 2569/2569/2569\nf 2569/2569/2569 2576/2576/2576 2570/2570/2570\nf 2569/2569/2569 2570/2570/2570 2563/2563/2563\nf 2570/2570/2570 2577/2577/2577 2578/2578/2578\nf 2570/2570/2570 2578/2578/2578 2571/2571/2571\nf 2571/2571/2571 2578/2578/2578 2579/2579/2579\nf 2571/2571/2571 2579/2579/2579 2572/2572/2572\nf 2573/2573/2573 2580/2580/2580 2581/2581/2581\nf 2573/2573/2573 2581/2581/2581 2574/2574/2574\nf 2574/2574/2574 2581/2581/2581 2582/2582/2582\nf 2574/2574/2574 2582/2582/2582 2575/2575/2575\nf 2575/2575/2575 2582/2582/2582 2583/2583/2583\nf 2575/2575/2575 2583/2583/2583 2576/2576/2576\nf 2576/2576/2576 2583/2583/2583 2577/2577/2577\nf 2576/2576/2576 2577/2577/2577 2570/2570/2570\nf 2577/2577/2577 2584/2584/2584 2585/2585/2585\nf 2577/2577/2577 2585/2585/2585 2578/2578/2578\nf 2578/2578/2578 2585/2585/2585 2586/2586/2586\nf 2578/2578/2578 2586/2586/2586 2579/2579/2579\nf 2580/2580/2580 2587/2587/2587 2588/2588/2588\nf 2580/2580/2580 2588/2588/2588 2581/2581/2581\nf 2581/2581/2581 2588/2588/2588 2589/2589/2589\nf 2581/2581/2581 2589/2589/2589 2582/2582/2582\nf 2582/2582/2582 2589/2589/2589 2590/2590/2590\nf 2582/2582/2582 2590/2590/2590 2583/2583/2583\nf 2583/2583/2583 2590/2590/2590 2584/2584/2584\nf 2583/2583/2583 2584/2584/2584 2577/2577/2577\nf 2584/2584/2584 2591/2591/2591 2592/2592/2592\nf 2584/2584/2584 2592/2592/2592 2585/2585/2585\nf 2585/2585/2585 2592/2592/2592 2593/2593/2593\nf 2585/2585/2585 2593/2593/2593 2586/2586/2586\nf 2587/2587/2587 2594/2594/2594 2595/2595/2595\nf 2587/2587/2587 2595/2595/2595 2588/2588/2588\nf 2588/2588/2588 2595/2595/2595 2596/2596/2596\nf 2588/2588/2588 2596/2596/2596 2589/2589/2589\nf 2589/2589/2589 2596/2596/2596 2597/2597/2597\nf 2589/2589/2589 2597/2597/2597 2590/2590/2590\nf 2590/2590/2590 2597/2597/2597 2591/2591/2591\nf 2590/2590/2590 2591/2591/2591 2584/2584/2584\nf 2591/2591/2591 2598/2598/2598 2599/2599/2599\nf 2591/2591/2591 2599/2599/2599 2592/2592/2592\nf 2592/2592/2592 2599/2599/2599 2600/2600/2600\nf 2592/2592/2592 2600/2600/2600 2593/2593/2593\nf 2594/2594/2594 2601/2601/2601 2602/2602/2602\nf 2594/2594/2594 2602/2602/2602 2595/2595/2595\nf 2595/2595/2595 2602/2602/2602 2603/2603/2603\nf 2595/2595/2595 2603/2603/2603 2596/2596/2596\nf 2596/2596/2596 2603/2603/2603 2604/2604/2604\nf 2596/2596/2596 2604/2604/2604 2597/2597/2597\nf 2597/2597/2597 2604/2604/2604 2598/2598/2598\nf 2597/2597/2597 2598/2598/2598 2591/2591/2591\nf 2598/2598/2598 2605/2605/2605 2606/2606/2606\nf 2598/2598/2598 2606/2606/2606 2599/2599/2599\nf 2599/2599/2599 2606/2606/2606 2607/2607/2607\nf 2599/2599/2599 2607/2607/2607 2600/2600/2600\nf 2601/2601/2601 2608/2608/2608 2609/2609/2609\nf 2601/2601/2601 2609/2609/2609 2602/2602/2602\nf 2602/2602/2602 2609/2609/2609 2610/2610/2610\nf 2602/2602/2602 2610/2610/2610 2603/2603/2603\nf 2603/2603/2603 2610/2610/2610 2611/2611/2611\nf 2603/2603/2603 2611/2611/2611 2604/2604/2604\nf 2604/2604/2604 2611/2611/2611 2605/2605/2605\nf 2604/2604/2604 2605/2605/2605 2598/2598/2598\nf 2605/2605/2605 2612/2612/2612 2613/2613/2613\nf 2605/2605/2605 2613/2613/2613 2606/2606/2606\nf 2606/2606/2606 2613/2613/2613 2614/2614/2614\nf 2606/2606/2606 2614/2614/2614 2607/2607/2607\nf 2608/2608/2608 2615/2615/2615 2616/2616/2616\nf 2608/2608/2608 2616/2616/2616 2609/2609/2609\nf 2609/2609/2609 2616/2616/2616 2617/2617/2617\nf 2609/2609/2609 2617/2617/2617 2610/2610/2610\nf 2610/2610/2610 2617/2617/2617 2618/2618/2618\nf 2610/2610/2610 2618/2618/2618 2611/2611/2611\nf 2611/2611/2611 2618/2618/2618 2612/2612/2612\nf 2611/2611/2611 2612/2612/2612 2605/2605/2605\nf 2619/2619/2619 2620/2620/2620 2621/2621/2621\nf 2619/2619/2619 2621/2621/2621 2622/2622/2622\nf 2622/2622/2622 2621/2621/2621 2623/2623/2623\nf 2622/2622/2622 2623/2623/2623 2624/2624/2624\nf 2625/2625/2625 2626/2626/2626 2627/2627/2627\nf 2625/2625/2625 2627/2627/2627 2628/2628/2628\nf 2628/2628/2628 2627/2627/2627 2629/2629/2629\nf 2628/2628/2628 2629/2629/2629 2630/2630/2630\nf 2630/2630/2630 2629/2629/2629 2631/2631/2631\nf 2630/2630/2630 2631/2631/2631 2632/2632/2632\nf 2632/2632/2632 2631/2631/2631 2620/2620/2620\nf 2632/2632/2632 2620/2620/2620 2619/2619/2619\nf 2620/2620/2620 2633/2633/2633 2634/2634/2634\nf 2620/2620/2620 2634/2634/2634 2621/2621/2621\nf 2621/2621/2621 2634/2634/2634 2635/2635/2635\nf 2621/2621/2621 2635/2635/2635 2623/2623/2623\nf 2626/2626/2626 2636/2636/2636 2637/2637/2637\nf 2626/2626/2626 2637/2637/2637 2627/2627/2627\nf 2627/2627/2627 2637/2637/2637 2638/2638/2638\nf 2627/2627/2627 2638/2638/2638 2629/2629/2629\nf 2629/2629/2629 2638/2638/2638 2639/2639/2639\nf 2629/2629/2629 2639/2639/2639 2631/2631/2631\nf 2631/2631/2631 2639/2639/2639 2633/2633/2633\nf 2631/2631/2631 2633/2633/2633 2620/2620/2620\nf 2633/2633/2633 2640/2640/2640 2641/2641/2641\nf 2633/2633/2633 2641/2641/2641 2634/2634/2634\nf 2634/2634/2634 2641/2641/2641 2642/2642/2642\nf 2634/2634/2634 2642/2642/2642 2635/2635/2635\nf 2636/2636/2636 2643/2643/2643 2644/2644/2644\nf 2636/2636/2636 2644/2644/2644 2637/2637/2637\nf 2637/2637/2637 2644/2644/2644 2645/2645/2645\nf 2637/2637/2637 2645/2645/2645 2638/2638/2638\nf 2638/2638/2638 2645/2645/2645 2646/2646/2646\nf 2638/2638/2638 2646/2646/2646 2639/2639/2639\nf 2639/2639/2639 2646/2646/2646 2640/2640/2640\nf 2639/2639/2639 2640/2640/2640 2633/2633/2633\nf 2640/2640/2640 2647/2647/2647 2648/2648/2648\nf 2640/2640/2640 2648/2648/2648 2641/2641/2641\nf 2641/2641/2641 2648/2648/2648 2649/2649/2649\nf 2641/2641/2641 2649/2649/2649 2642/2642/2642\nf 2643/2643/2643 2650/2650/2650 2651/2651/2651\nf 2643/2643/2643 2651/2651/2651 2644/2644/2644\nf 2644/2644/2644 2651/2651/2651 2652/2652/2652\nf 2644/2644/2644 2652/2652/2652 2645/2645/2645\nf 2645/2645/2645 2652/2652/2652 2653/2653/2653\nf 2645/2645/2645 2653/2653/2653 2646/2646/2646\nf 2646/2646/2646 2653/2653/2653 2647/2647/2647\nf 2646/2646/2646 2647/2647/2647 2640/2640/2640\nf 2647/2647/2647 2654/2654/2654 2655/2655/2655\nf 2647/2647/2647 2655/2655/2655 2648/2648/2648\nf 2648/2648/2648 2655/2655/2655 2656/2656/2656\nf 2648/2648/2648 2656/2656/2656 2649/2649/2649\nf 2650/2650/2650 2657/2657/2657 2658/2658/2658\nf 2650/2650/2650 2658/2658/2658 2651/2651/2651\nf 2651/2651/2651 2658/2658/2658 2659/2659/2659\nf 2651/2651/2651 2659/2659/2659 2652/2652/2652\nf 2652/2652/2652 2659/2659/2659 2660/2660/2660\nf 2652/2652/2652 2660/2660/2660 2653/2653/2653\nf 2653/2653/2653 2660/2660/2660 2654/2654/2654\nf 2653/2653/2653 2654/2654/2654 2647/2647/2647\nf 2654/2654/2654 2661/2661/2661 2662/2662/2662\nf 2654/2654/2654 2662/2662/2662 2655/2655/2655\nf 2655/2655/2655 2662/2662/2662 2663/2663/2663\nf 2655/2655/2655 2663/2663/2663 2656/2656/2656\nf 2657/2657/2657 2664/2664/2664 2665/2665/2665\nf 2657/2657/2657 2665/2665/2665 2658/2658/2658\nf 2658/2658/2658 2665/2665/2665 2666/2666/2666\nf 2658/2658/2658 2666/2666/2666 2659/2659/2659\nf 2659/2659/2659 2666/2666/2666 2667/2667/2667\nf 2659/2659/2659 2667/2667/2667 2660/2660/2660\nf 2660/2660/2660 2667/2667/2667 2661/2661/2661\nf 2660/2660/2660 2661/2661/2661 2654/2654/2654\nf 2661/2661/2661 2668/2668/2668 2669/2669/2669\nf 2661/2661/2661 2669/2669/2669 2662/2662/2662\nf 2662/2662/2662 2669/2669/2669 2670/2670/2670\nf 2662/2662/2662 2670/2670/2670 2663/2663/2663\nf 2664/2664/2664 2671/2671/2671 2672/2672/2672\nf 2664/2664/2664 2672/2672/2672 2665/2665/2665\nf 2665/2665/2665 2672/2672/2672 2673/2673/2673\nf 2665/2665/2665 2673/2673/2673 2666/2666/2666\nf 2666/2666/2666 2673/2673/2673 2674/2674/2674\nf 2666/2666/2666 2674/2674/2674 2667/2667/2667\nf 2667/2667/2667 2674/2674/2674 2668/2668/2668\nf 2667/2667/2667 2668/2668/2668 2661/2661/2661\nf 2668/2668/2668 2675/2675/2675 2676/2676/2676\nf 2668/2668/2668 2676/2676/2676 2669/2669/2669\nf 2669/2669/2669 2676/2676/2676 2677/2677/2677\nf 2669/2669/2669 2677/2677/2677 2670/2670/2670\nf 2671/2671/2671 2678/2678/2678 2679/2679/2679\nf 2671/2671/2671 2679/2679/2679 2672/2672/2672\nf 2672/2672/2672 2679/2679/2679 2680/2680/2680\nf 2672/2672/2672 2680/2680/2680 2673/2673/2673\nf 2673/2673/2673 2680/2680/2680 2681/2681/2681\nf 2673/2673/2673 2681/2681/2681 2674/2674/2674\nf 2674/2674/2674 2681/2681/2681 2675/2675/2675\nf 2674/2674/2674 2675/2675/2675 2668/2668/2668\nf 2675/2675/2675 2682/2682/2682 2683/2683/2683\nf 2675/2675/2675 2683/2683/2683 2676/2676/2676\nf 2676/2676/2676 2683/2683/2683 2684/2684/2684\nf 2676/2676/2676 2684/2684/2684 2677/2677/2677\nf 2678/2678/2678 2685/2685/2685 2686/2686/2686\nf 2678/2678/2678 2686/2686/2686 2679/2679/2679\nf 2679/2679/2679 2686/2686/2686 2687/2687/2687\nf 2679/2679/2679 2687/2687/2687 2680/2680/2680\nf 2680/2680/2680 2687/2687/2687 2688/2688/2688\nf 2680/2680/2680 2688/2688/2688 2681/2681/2681\nf 2681/2681/2681 2688/2688/2688 2682/2682/2682\nf 2681/2681/2681 2682/2682/2682 2675/2675/2675\nf 2682/2682/2682 2689/2689/2689 2690/2690/2690\nf 2682/2682/2682 2690/2690/2690 2683/2683/2683\nf 2683/2683/2683 2690/2690/2690 2691/2691/2691\nf 2683/2683/2683 2691/2691/2691 2684/2684/2684\nf 2685/2685/2685 2692/2692/2692 2693/2693/2693\nf 2685/2685/2685 2693/2693/2693 2686/2686/2686\nf 2686/2686/2686 2693/2693/2693 2694/2694/2694\nf 2686/2686/2686 2694/2694/2694 2687/2687/2687\nf 2687/2687/2687 2694/2694/2694 2695/2695/2695\nf 2687/2687/2687 2695/2695/2695 2688/2688/2688\nf 2688/2688/2688 2695/2695/2695 2689/2689/2689\nf 2688/2688/2688 2689/2689/2689 2682/2682/2682\nf 2689/2689/2689 2696/2696/2696 2697/2697/2697\nf 2689/2689/2689 2697/2697/2697 2690/2690/2690\nf 2690/2690/2690 2697/2697/2697 2698/2698/2698\nf 2690/2690/2690 2698/2698/2698 2691/2691/2691\nf 2692/2692/2692 2699/2699/2699 2700/2700/2700\nf 2692/2692/2692 2700/2700/2700 2693/2693/2693\nf 2693/2693/2693 2700/2700/2700 2701/2701/2701\nf 2693/2693/2693 2701/2701/2701 2694/2694/2694\nf 2694/2694/2694 2701/2701/2701 2702/2702/2702\nf 2694/2694/2694 2702/2702/2702 2695/2695/2695\nf 2695/2695/2695 2702/2702/2702 2696/2696/2696\nf 2695/2695/2695 2696/2696/2696 2689/2689/2689\nf 2696/2696/2696 2703/2703/2703 2704/2704/2704\nf 2696/2696/2696 2704/2704/2704 2697/2697/2697\nf 2697/2697/2697 2704/2704/2704 2705/2705/2705\nf 2697/2697/2697 2705/2705/2705 2698/2698/2698\nf 2699/2699/2699 2706/2706/2706 2707/2707/2707\nf 2699/2699/2699 2707/2707/2707 2700/2700/2700\nf 2700/2700/2700 2707/2707/2707 2708/2708/2708\nf 2700/2700/2700 2708/2708/2708 2701/2701/2701\nf 2701/2701/2701 2708/2708/2708 2709/2709/2709\nf 2701/2701/2701 2709/2709/2709 2702/2702/2702\nf 2702/2702/2702 2709/2709/2709 2703/2703/2703\nf 2702/2702/2702 2703/2703/2703 2696/2696/2696\nf 2703/2703/2703 2710/2710/2710 2711/2711/2711\nf 2703/2703/2703 2711/2711/2711 2704/2704/2704\nf 2704/2704/2704 2711/2711/2711 2712/2712/2712\nf 2704/2704/2704 2712/2712/2712 2705/2705/2705\nf 2706/2706/2706 2713/2713/2713 2714/2714/2714\nf 2706/2706/2706 2714/2714/2714 2707/2707/2707\nf 2707/2707/2707 2714/2714/2714 2715/2715/2715\nf 2707/2707/2707 2715/2715/2715 2708/2708/2708\nf 2708/2708/2708 2715/2715/2715 2716/2716/2716\nf 2708/2708/2708 2716/2716/2716 2709/2709/2709\nf 2709/2709/2709 2716/2716/2716 2710/2710/2710\nf 2709/2709/2709 2710/2710/2710 2703/2703/2703\nf 2710/2710/2710 2717/2717/2717 2718/2718/2718\nf 2710/2710/2710 2718/2718/2718 2711/2711/2711\nf 2711/2711/2711 2718/2718/2718 2719/2719/2719\nf 2711/2711/2711 2719/2719/2719 2712/2712/2712\nf 2713/2713/2713 2720/2720/2720 2721/2721/2721\nf 2713/2713/2713 2721/2721/2721 2714/2714/2714\nf 2714/2714/2714 2721/2721/2721 2722/2722/2722\nf 2714/2714/2714 2722/2722/2722 2715/2715/2715\nf 2715/2715/2715 2722/2722/2722 2723/2723/2723\nf 2715/2715/2715 2723/2723/2723 2716/2716/2716\nf 2716/2716/2716 2723/2723/2723 2717/2717/2717\nf 2716/2716/2716 2717/2717/2717 2710/2710/2710\nf 2717/2717/2717 2724/2724/2724 2725/2725/2725\nf 2717/2717/2717 2725/2725/2725 2718/2718/2718\nf 2718/2718/2718 2725/2725/2725 2726/2726/2726\nf 2718/2718/2718 2726/2726/2726 2719/2719/2719\nf 2720/2720/2720 2727/2727/2727 2728/2728/2728\nf 2720/2720/2720 2728/2728/2728 2721/2721/2721\nf 2721/2721/2721 2728/2728/2728 2729/2729/2729\nf 2721/2721/2721 2729/2729/2729 2722/2722/2722\nf 2722/2722/2722 2729/2729/2729 2730/2730/2730\nf 2722/2722/2722 2730/2730/2730 2723/2723/2723\nf 2723/2723/2723 2730/2730/2730 2724/2724/2724\nf 2723/2723/2723 2724/2724/2724 2717/2717/2717\nf 2724/2724/2724 2731/2731/2731 2732/2732/2732\nf 2724/2724/2724 2732/2732/2732 2725/2725/2725\nf 2725/2725/2725 2732/2732/2732 2733/2733/2733\nf 2725/2725/2725 2733/2733/2733 2726/2726/2726\nf 2727/2727/2727 2734/2734/2734 2735/2735/2735\nf 2727/2727/2727 2735/2735/2735 2728/2728/2728\nf 2728/2728/2728 2735/2735/2735 2736/2736/2736\nf 2728/2728/2728 2736/2736/2736 2729/2729/2729\nf 2729/2729/2729 2736/2736/2736 2737/2737/2737\nf 2729/2729/2729 2737/2737/2737 2730/2730/2730\nf 2730/2730/2730 2737/2737/2737 2731/2731/2731\nf 2730/2730/2730 2731/2731/2731 2724/2724/2724\nf 2738/2738/2738 2739/2739/2739 2740/2740/2740\nf 2738/2738/2738 2740/2740/2740 2741/2741/2741\nf 2741/2741/2741 2740/2740/2740 2742/2742/2742\nf 2741/2741/2741 2742/2742/2742 2743/2743/2743\nf 2744/2744/2744 2745/2745/2745 2746/2746/2746\nf 2744/2744/2744 2746/2746/2746 2747/2747/2747\nf 2747/2747/2747 2746/2746/2746 2748/2748/2748\nf 2747/2747/2747 2748/2748/2748 2749/2749/2749\nf 2749/2749/2749 2748/2748/2748 2750/2750/2750\nf 2749/2749/2749 2750/2750/2750 2751/2751/2751\nf 2751/2751/2751 2750/2750/2750 2739/2739/2739\nf 2751/2751/2751 2739/2739/2739 2738/2738/2738\nf 2739/2739/2739 2752/2752/2752 2753/2753/2753\nf 2739/2739/2739 2753/2753/2753 2740/2740/2740\nf 2740/2740/2740 2753/2753/2753 2754/2754/2754\nf 2740/2740/2740 2754/2754/2754 2742/2742/2742\nf 2745/2745/2745 2755/2755/2755 2756/2756/2756\nf 2745/2745/2745 2756/2756/2756 2746/2746/2746\nf 2746/2746/2746 2756/2756/2756 2757/2757/2757\nf 2746/2746/2746 2757/2757/2757 2748/2748/2748\nf 2748/2748/2748 2757/2757/2757 2758/2758/2758\nf 2748/2748/2748 2758/2758/2758 2750/2750/2750\nf 2750/2750/2750 2758/2758/2758 2752/2752/2752\nf 2750/2750/2750 2752/2752/2752 2739/2739/2739\nf 2752/2752/2752 2759/2759/2759 2760/2760/2760\nf 2752/2752/2752 2760/2760/2760 2753/2753/2753\nf 2753/2753/2753 2760/2760/2760 2761/2761/2761\nf 2753/2753/2753 2761/2761/2761 2754/2754/2754\nf 2755/2755/2755 2762/2762/2762 2763/2763/2763\nf 2755/2755/2755 2763/2763/2763 2756/2756/2756\nf 2756/2756/2756 2763/2763/2763 2764/2764/2764\nf 2756/2756/2756 2764/2764/2764 2757/2757/2757\nf 2757/2757/2757 2764/2764/2764 2765/2765/2765\nf 2757/2757/2757 2765/2765/2765 2758/2758/2758\nf 2758/2758/2758 2765/2765/2765 2759/2759/2759\nf 2758/2758/2758 2759/2759/2759 2752/2752/2752\nf 2759/2759/2759 2766/2766/2766 2767/2767/2767\nf 2759/2759/2759 2767/2767/2767 2760/2760/2760\nf 2760/2760/2760 2767/2767/2767 2768/2768/2768\nf 2760/2760/2760 2768/2768/2768 2761/2761/2761\nf 2762/2762/2762 2769/2769/2769 2770/2770/2770\nf 2762/2762/2762 2770/2770/2770 2763/2763/2763\nf 2763/2763/2763 2770/2770/2770 2771/2771/2771\nf 2763/2763/2763 2771/2771/2771 2764/2764/2764\nf 2764/2764/2764 2771/2771/2771 2772/2772/2772\nf 2764/2764/2764 2772/2772/2772 2765/2765/2765\nf 2765/2765/2765 2772/2772/2772 2766/2766/2766\nf 2765/2765/2765 2766/2766/2766 2759/2759/2759\nf 2766/2766/2766 2773/2773/2773 2774/2774/2774\nf 2766/2766/2766 2774/2774/2774 2767/2767/2767\nf 2767/2767/2767 2774/2774/2774 2775/2775/2775\nf 2767/2767/2767 2775/2775/2775 2768/2768/2768\nf 2769/2769/2769 2776/2776/2776 2777/2777/2777\nf 2769/2769/2769 2777/2777/2777 2770/2770/2770\nf 2770/2770/2770 2777/2777/2777 2778/2778/2778\nf 2770/2770/2770 2778/2778/2778 2771/2771/2771\nf 2771/2771/2771 2778/2778/2778 2779/2779/2779\nf 2771/2771/2771 2779/2779/2779 2772/2772/2772\nf 2772/2772/2772 2779/2779/2779 2773/2773/2773\nf 2772/2772/2772 2773/2773/2773 2766/2766/2766\nf 2773/2773/2773 2780/2780/2780 2781/2781/2781\nf 2773/2773/2773 2781/2781/2781 2774/2774/2774\nf 2774/2774/2774 2781/2781/2781 2782/2782/2782\nf 2774/2774/2774 2782/2782/2782 2775/2775/2775\nf 2776/2776/2776 2783/2783/2783 2784/2784/2784\nf 2776/2776/2776 2784/2784/2784 2777/2777/2777\nf 2777/2777/2777 2784/2784/2784 2785/2785/2785\nf 2777/2777/2777 2785/2785/2785 2778/2778/2778\nf 2778/2778/2778 2785/2785/2785 2786/2786/2786\nf 2778/2778/2778 2786/2786/2786 2779/2779/2779\nf 2779/2779/2779 2786/2786/2786 2780/2780/2780\nf 2779/2779/2779 2780/2780/2780 2773/2773/2773\nf 2780/2780/2780 2787/2787/2787 2788/2788/2788\nf 2780/2780/2780 2788/2788/2788 2781/2781/2781\nf 2781/2781/2781 2788/2788/2788 2789/2789/2789\nf 2781/2781/2781 2789/2789/2789 2782/2782/2782\nf 2783/2783/2783 2790/2790/2790 2791/2791/2791\nf 2783/2783/2783 2791/2791/2791 2784/2784/2784\nf 2784/2784/2784 2791/2791/2791 2792/2792/2792\nf 2784/2784/2784 2792/2792/2792 2785/2785/2785\nf 2785/2785/2785 2792/2792/2792 2793/2793/2793\nf 2785/2785/2785 2793/2793/2793 2786/2786/2786\nf 2786/2786/2786 2793/2793/2793 2787/2787/2787\nf 2786/2786/2786 2787/2787/2787 2780/2780/2780\nf 2787/2787/2787 2794/2794/2794 2795/2795/2795\nf 2787/2787/2787 2795/2795/2795 2788/2788/2788\nf 2788/2788/2788 2795/2795/2795 2796/2796/2796\nf 2788/2788/2788 2796/2796/2796 2789/2789/2789\nf 2790/2790/2790 2797/2797/2797 2798/2798/2798\nf 2790/2790/2790 2798/2798/2798 2791/2791/2791\nf 2791/2791/2791 2798/2798/2798 2799/2799/2799\nf 2791/2791/2791 2799/2799/2799 2792/2792/2792\nf 2792/2792/2792 2799/2799/2799 2800/2800/2800\nf 2792/2792/2792 2800/2800/2800 2793/2793/2793\nf 2793/2793/2793 2800/2800/2800 2794/2794/2794\nf 2793/2793/2793 2794/2794/2794 2787/2787/2787\nf 2794/2794/2794 2801/2801/2801 2802/2802/2802\nf 2794/2794/2794 2802/2802/2802 2795/2795/2795\nf 2795/2795/2795 2802/2802/2802 2803/2803/2803\nf 2795/2795/2795 2803/2803/2803 2796/2796/2796\nf 2797/2797/2797 2804/2804/2804 2805/2805/2805\nf 2797/2797/2797 2805/2805/2805 2798/2798/2798\nf 2798/2798/2798 2805/2805/2805 2806/2806/2806\nf 2798/2798/2798 2806/2806/2806 2799/2799/2799\nf 2799/2799/2799 2806/2806/2806 2807/2807/2807\nf 2799/2799/2799 2807/2807/2807 2800/2800/2800\nf 2800/2800/2800 2807/2807/2807 2801/2801/2801\nf 2800/2800/2800 2801/2801/2801 2794/2794/2794\nf 2801/2801/2801 2808/2808/2808 2809/2809/2809\nf 2801/2801/2801 2809/2809/2809 2802/2802/2802\nf 2802/2802/2802 2809/2809/2809 2810/2810/2810\nf 2802/2802/2802 2810/2810/2810 2803/2803/2803\nf 2804/2804/2804 2811/2811/2811 2812/2812/2812\nf 2804/2804/2804 2812/2812/2812 2805/2805/2805\nf 2805/2805/2805 2812/2812/2812 2813/2813/2813\nf 2805/2805/2805 2813/2813/2813 2806/2806/2806\nf 2806/2806/2806 2813/2813/2813 2814/2814/2814\nf 2806/2806/2806 2814/2814/2814 2807/2807/2807\nf 2807/2807/2807 2814/2814/2814 2808/2808/2808\nf 2807/2807/2807 2808/2808/2808 2801/2801/2801\nf 2808/2808/2808 2815/2815/2815 2816/2816/2816\nf 2808/2808/2808 2816/2816/2816 2809/2809/2809\nf 2809/2809/2809 2816/2816/2816 2817/2817/2817\nf 2809/2809/2809 2817/2817/2817 2810/2810/2810\nf 2811/2811/2811 2818/2818/2818 2819/2819/2819\nf 2811/2811/2811 2819/2819/2819 2812/2812/2812\nf 2812/2812/2812 2819/2819/2819 2820/2820/2820\nf 2812/2812/2812 2820/2820/2820 2813/2813/2813\nf 2813/2813/2813 2820/2820/2820 2821/2821/2821\nf 2813/2813/2813 2821/2821/2821 2814/2814/2814\nf 2814/2814/2814 2821/2821/2821 2815/2815/2815\nf 2814/2814/2814 2815/2815/2815 2808/2808/2808\nf 2815/2815/2815 2822/2822/2822 2823/2823/2823\nf 2815/2815/2815 2823/2823/2823 2816/2816/2816\nf 2816/2816/2816 2823/2823/2823 2824/2824/2824\nf 2816/2816/2816 2824/2824/2824 2817/2817/2817\nf 2818/2818/2818 2825/2825/2825 2826/2826/2826\nf 2818/2818/2818 2826/2826/2826 2819/2819/2819\nf 2819/2819/2819 2826/2826/2826 2827/2827/2827\nf 2819/2819/2819 2827/2827/2827 2820/2820/2820\nf 2820/2820/2820 2827/2827/2827 2828/2828/2828\nf 2820/2820/2820 2828/2828/2828 2821/2821/2821\nf 2821/2821/2821 2828/2828/2828 2822/2822/2822\nf 2821/2821/2821 2822/2822/2822 2815/2815/2815\nf 2822/2822/2822 2829/2829/2829 2830/2830/2830\nf 2822/2822/2822 2830/2830/2830 2823/2823/2823\nf 2823/2823/2823 2830/2830/2830 2831/2831/2831\nf 2823/2823/2823 2831/2831/2831 2824/2824/2824\nf 2825/2825/2825 2832/2832/2832 2833/2833/2833\nf 2825/2825/2825 2833/2833/2833 2826/2826/2826\nf 2826/2826/2826 2833/2833/2833 2834/2834/2834\nf 2826/2826/2826 2834/2834/2834 2827/2827/2827\nf 2827/2827/2827 2834/2834/2834 2835/2835/2835\nf 2827/2827/2827 2835/2835/2835 2828/2828/2828\nf 2828/2828/2828 2835/2835/2835 2829/2829/2829\nf 2828/2828/2828 2829/2829/2829 2822/2822/2822\nf 2829/2829/2829 2836/2836/2836 2837/2837/2837\nf 2829/2829/2829 2837/2837/2837 2830/2830/2830\nf 2830/2830/2830 2837/2837/2837 2838/2838/2838\nf 2830/2830/2830 2838/2838/2838 2831/2831/2831\nf 2832/2832/2832 2839/2839/2839 2840/2840/2840\nf 2832/2832/2832 2840/2840/2840 2833/2833/2833\nf 2833/2833/2833 2840/2840/2840 2841/2841/2841\nf 2833/2833/2833 2841/2841/2841 2834/2834/2834\nf 2834/2834/2834 2841/2841/2841 2842/2842/2842\nf 2834/2834/2834 2842/2842/2842 2835/2835/2835\nf 2835/2835/2835 2842/2842/2842 2836/2836/2836\nf 2835/2835/2835 2836/2836/2836 2829/2829/2829\nf 2836/2836/2836 2843/2843/2843 2844/2844/2844\nf 2836/2836/2836 2844/2844/2844 2837/2837/2837\nf 2837/2837/2837 2844/2844/2844 2845/2845/2845\nf 2837/2837/2837 2845/2845/2845 2838/2838/2838\nf 2839/2839/2839 2846/2846/2846 2847/2847/2847\nf 2839/2839/2839 2847/2847/2847 2840/2840/2840\nf 2840/2840/2840 2847/2847/2847 2848/2848/2848\nf 2840/2840/2840 2848/2848/2848 2841/2841/2841\nf 2841/2841/2841 2848/2848/2848 2849/2849/2849\nf 2841/2841/2841 2849/2849/2849 2842/2842/2842\nf 2842/2842/2842 2849/2849/2849 2843/2843/2843\nf 2842/2842/2842 2843/2843/2843 2836/2836/2836\nf 2843/2843/2843 2850/2850/2850 2851/2851/2851\nf 2843/2843/2843 2851/2851/2851 2844/2844/2844\nf 2844/2844/2844 2851/2851/2851 2852/2852/2852\nf 2844/2844/2844 2852/2852/2852 2845/2845/2845\nf 2846/2846/2846 2853/2853/2853 2854/2854/2854\nf 2846/2846/2846 2854/2854/2854 2847/2847/2847\nf 2847/2847/2847 2854/2854/2854 2855/2855/2855\nf 2847/2847/2847 2855/2855/2855 2848/2848/2848\nf 2848/2848/2848 2855/2855/2855 2856/2856/2856\nf 2848/2848/2848 2856/2856/2856 2849/2849/2849\nf 2849/2849/2849 2856/2856/2856 2850/2850/2850\nf 2849/2849/2849 2850/2850/2850 2843/2843/2843\nf 2857/2857/2857 2858/2858/2858 2859/2859/2859\nf 2857/2857/2857 2859/2859/2859 2860/2860/2860\nf 2860/2860/2860 2859/2859/2859 2861/2861/2861\nf 2860/2860/2860 2861/2861/2861 2862/2862/2862\nf 2863/2863/2863 2864/2864/2864 2865/2865/2865\nf 2863/2863/2863 2865/2865/2865 2866/2866/2866\nf 2866/2866/2866 2865/2865/2865 2867/2867/2867\nf 2866/2866/2866 2867/2867/2867 2868/2868/2868\nf 2868/2868/2868 2867/2867/2867 2869/2869/2869\nf 2868/2868/2868 2869/2869/2869 2870/2870/2870\nf 2870/2870/2870 2869/2869/2869 2858/2858/2858\nf 2870/2870/2870 2858/2858/2858 2857/2857/2857\nf 2858/2858/2858 2871/2871/2871 2872/2872/2872\nf 2858/2858/2858 2872/2872/2872 2859/2859/2859\nf 2859/2859/2859 2872/2872/2872 2873/2873/2873\nf 2859/2859/2859 2873/2873/2873 2861/2861/2861\nf 2864/2864/2864 2874/2874/2874 2875/2875/2875\nf 2864/2864/2864 2875/2875/2875 2865/2865/2865\nf 2865/2865/2865 2875/2875/2875 2876/2876/2876\nf 2865/2865/2865 2876/2876/2876 2867/2867/2867\nf 2867/2867/2867 2876/2876/2876 2877/2877/2877\nf 2867/2867/2867 2877/2877/2877 2869/2869/2869\nf 2869/2869/2869 2877/2877/2877 2871/2871/2871\nf 2869/2869/2869 2871/2871/2871 2858/2858/2858\nf 2871/2871/2871 2878/2878/2878 2879/2879/2879\nf 2871/2871/2871 2879/2879/2879 2872/2872/2872\nf 2872/2872/2872 2879/2879/2879 2880/2880/2880\nf 2872/2872/2872 2880/2880/2880 2873/2873/2873\nf 2874/2874/2874 2881/2881/2881 2882/2882/2882\nf 2874/2874/2874 2882/2882/2882 2875/2875/2875\nf 2875/2875/2875 2882/2882/2882 2883/2883/2883\nf 2875/2875/2875 2883/2883/2883 2876/2876/2876\nf 2876/2876/2876 2883/2883/2883 2884/2884/2884\nf 2876/2876/2876 2884/2884/2884 2877/2877/2877\nf 2877/2877/2877 2884/2884/2884 2878/2878/2878\nf 2877/2877/2877 2878/2878/2878 2871/2871/2871\nf 2878/2878/2878 2885/2885/2885 2886/2886/2886\nf 2878/2878/2878 2886/2886/2886 2879/2879/2879\nf 2879/2879/2879 2886/2886/2886 2887/2887/2887\nf 2879/2879/2879 2887/2887/2887 2880/2880/2880\nf 2881/2881/2881 2888/2888/2888 2889/2889/2889\nf 2881/2881/2881 2889/2889/2889 2882/2882/2882\nf 2882/2882/2882 2889/2889/2889 2890/2890/2890\nf 2882/2882/2882 2890/2890/2890 2883/2883/2883\nf 2883/2883/2883 2890/2890/2890 2891/2891/2891\nf 2883/2883/2883 2891/2891/2891 2884/2884/2884\nf 2884/2884/2884 2891/2891/2891 2885/2885/2885\nf 2884/2884/2884 2885/2885/2885 2878/2878/2878\nf 2885/2885/2885 2892/2892/2892 2893/2893/2893\nf 2885/2885/2885 2893/2893/2893 2886/2886/2886\nf 2886/2886/2886 2893/2893/2893 2894/2894/2894\nf 2886/2886/2886 2894/2894/2894 2887/2887/2887\nf 2888/2888/2888 2895/2895/2895 2896/2896/2896\nf 2888/2888/2888 2896/2896/2896 2889/2889/2889\nf 2889/2889/2889 2896/2896/2896 2897/2897/2897\nf 2889/2889/2889 2897/2897/2897 2890/2890/2890\nf 2890/2890/2890 2897/2897/2897 2898/2898/2898\nf 2890/2890/2890 2898/2898/2898 2891/2891/2891\nf 2891/2891/2891 2898/2898/2898 2892/2892/2892\nf 2891/2891/2891 2892/2892/2892 2885/2885/2885\nf 2892/2892/2892 2899/2899/2899 2900/2900/2900\nf 2892/2892/2892 2900/2900/2900 2893/2893/2893\nf 2893/2893/2893 2900/2900/2900 2901/2901/2901\nf 2893/2893/2893 2901/2901/2901 2894/2894/2894\nf 2895/2895/2895 2902/2902/2902 2903/2903/2903\nf 2895/2895/2895 2903/2903/2903 2896/2896/2896\nf 2896/2896/2896 2903/2903/2903 2904/2904/2904\nf 2896/2896/2896 2904/2904/2904 2897/2897/2897\nf 2897/2897/2897 2904/2904/2904 2905/2905/2905\nf 2897/2897/2897 2905/2905/2905 2898/2898/2898\nf 2898/2898/2898 2905/2905/2905 2899/2899/2899\nf 2898/2898/2898 2899/2899/2899 2892/2892/2892\nf 2899/2899/2899 2906/2906/2906 2907/2907/2907\nf 2899/2899/2899 2907/2907/2907 2900/2900/2900\nf 2900/2900/2900 2907/2907/2907 2908/2908/2908\nf 2900/2900/2900 2908/2908/2908 2901/2901/2901\nf 2902/2902/2902 2909/2909/2909 2910/2910/2910\nf 2902/2902/2902 2910/2910/2910 2903/2903/2903\nf 2903/2903/2903 2910/2910/2910 2911/2911/2911\nf 2903/2903/2903 2911/2911/2911 2904/2904/2904\nf 2904/2904/2904 2911/2911/2911 2912/2912/2912\nf 2904/2904/2904 2912/2912/2912 2905/2905/2905\nf 2905/2905/2905 2912/2912/2912 2906/2906/2906\nf 2905/2905/2905 2906/2906/2906 2899/2899/2899\nf 2906/2906/2906 2913/2913/2913 2914/2914/2914\nf 2906/2906/2906 2914/2914/2914 2907/2907/2907\nf 2907/2907/2907 2914/2914/2914 2915/2915/2915\nf 2907/2907/2907 2915/2915/2915 2908/2908/2908\nf 2909/2909/2909 2916/2916/2916 2917/2917/2917\nf 2909/2909/2909 2917/2917/2917 2910/2910/2910\nf 2910/2910/2910 2917/2917/2917 2918/2918/2918\nf 2910/2910/2910 2918/2918/2918 2911/2911/2911\nf 2911/2911/2911 2918/2918/2918 2919/2919/2919\nf 2911/2911/2911 2919/2919/2919 2912/2912/2912\nf 2912/2912/2912 2919/2919/2919 2913/2913/2913\nf 2912/2912/2912 2913/2913/2913 2906/2906/2906\nf 2913/2913/2913 2920/2920/2920 2921/2921/2921\nf 2913/2913/2913 2921/2921/2921 2914/2914/2914\nf 2914/2914/2914 2921/2921/2921 2922/2922/2922\nf 2914/2914/2914 2922/2922/2922 2915/2915/2915\nf 2916/2916/2916 2923/2923/2923 2924/2924/2924\nf 2916/2916/2916 2924/2924/2924 2917/2917/2917\nf 2917/2917/2917 2924/2924/2924 2925/2925/2925\nf 2917/2917/2917 2925/2925/2925 2918/2918/2918\nf 2918/2918/2918 2925/2925/2925 2926/2926/2926\nf 2918/2918/2918 2926/2926/2926 2919/2919/2919\nf 2919/2919/2919 2926/2926/2926 2920/2920/2920\nf 2919/2919/2919 2920/2920/2920 2913/2913/2913\nf 2920/2920/2920 2927/2927/2927 2928/2928/2928\nf 2920/2920/2920 2928/2928/2928 2921/2921/2921\nf 2921/2921/2921 2928/2928/2928 2929/2929/2929\nf 2921/2921/2921 2929/2929/2929 2922/2922/2922\nf 2923/2923/2923 2930/2930/2930 2931/2931/2931\nf 2923/2923/2923 2931/2931/2931 2924/2924/2924\nf 2924/2924/2924 2931/2931/2931 2932/2932/2932\nf 2924/2924/2924 2932/2932/2932 2925/2925/2925\nf 2925/2925/2925 2932/2932/2932 2933/2933/2933\nf 2925/2925/2925 2933/2933/2933 2926/2926/2926\nf 2926/2926/2926 2933/2933/2933 2927/2927/2927\nf 2926/2926/2926 2927/2927/2927 2920/2920/2920\nf 2927/2927/2927 2934/2934/2934 2935/2935/2935\nf 2927/2927/2927 2935/2935/2935 2928/2928/2928\nf 2928/2928/2928 2935/2935/2935 2936/2936/2936\nf 2928/2928/2928 2936/2936/2936 2929/2929/2929\nf 2930/2930/2930 2937/2937/2937 2938/2938/2938\nf 2930/2930/2930 2938/2938/2938 2931/2931/2931\nf 2931/2931/2931 2938/2938/2938 2939/2939/2939\nf 2931/2931/2931 2939/2939/2939 2932/2932/2932\nf 2932/2932/2932 2939/2939/2939 2940/2940/2940\nf 2932/2932/2932 2940/2940/2940 2933/2933/2933\nf 2933/2933/2933 2940/2940/2940 2934/2934/2934\nf 2933/2933/2933 2934/2934/2934 2927/2927/2927\nf 2934/2934/2934 2941/2941/2941 2942/2942/2942\nf 2934/2934/2934 2942/2942/2942 2935/2935/2935\nf 2935/2935/2935 2942/2942/2942 2943/2943/2943\nf 2935/2935/2935 2943/2943/2943 2936/2936/2936\nf 2937/2937/2937 2944/2944/2944 2945/2945/2945\nf 2937/2937/2937 2945/2945/2945 2938/2938/2938\nf 2938/2938/2938 2945/2945/2945 2946/2946/2946\nf 2938/2938/2938 2946/2946/2946 2939/2939/2939\nf 2939/2939/2939 2946/2946/2946 2947/2947/2947\nf 2939/2939/2939 2947/2947/2947 2940/2940/2940\nf 2940/2940/2940 2947/2947/2947 2941/2941/2941\nf 2940/2940/2940 2941/2941/2941 2934/2934/2934\nf 2941/2941/2941 2948/2948/2948 2949/2949/2949\nf 2941/2941/2941 2949/2949/2949 2942/2942/2942\nf 2942/2942/2942 2949/2949/2949 2950/2950/2950\nf 2942/2942/2942 2950/2950/2950 2943/2943/2943\nf 2944/2944/2944 2951/2951/2951 2952/2952/2952\nf 2944/2944/2944 2952/2952/2952 2945/2945/2945\nf 2945/2945/2945 2952/2952/2952 2953/2953/2953\nf 2945/2945/2945 2953/2953/2953 2946/2946/2946\nf 2946/2946/2946 2953/2953/2953 2954/2954/2954\nf 2946/2946/2946 2954/2954/2954 2947/2947/2947\nf 2947/2947/2947 2954/2954/2954 2948/2948/2948\nf 2947/2947/2947 2948/2948/2948 2941/2941/2941\nf 2948/2948/2948 2955/2955/2955 2956/2956/2956\nf 2948/2948/2948 2956/2956/2956 2949/2949/2949\nf 2949/2949/2949 2956/2956/2956 2957/2957/2957\nf 2949/2949/2949 2957/2957/2957 2950/2950/2950\nf 2951/2951/2951 2958/2958/2958 2959/2959/2959\nf 2951/2951/2951 2959/2959/2959 2952/2952/2952\nf 2952/2952/2952 2959/2959/2959 2960/2960/2960\nf 2952/2952/2952 2960/2960/2960 2953/2953/2953\nf 2953/2953/2953 2960/2960/2960 2961/2961/2961\nf 2953/2953/2953 2961/2961/2961 2954/2954/2954\nf 2954/2954/2954 2961/2961/2961 2955/2955/2955\nf 2954/2954/2954 2955/2955/2955 2948/2948/2948\nf 2955/2955/2955 2962/2962/2962 2963/2963/2963\nf 2955/2955/2955 2963/2963/2963 2956/2956/2956\nf 2956/2956/2956 2963/2963/2963 2964/2964/2964\nf 2956/2956/2956 2964/2964/2964 2957/2957/2957\nf 2958/2958/2958 2965/2965/2965 2966/2966/2966\nf 2958/2958/2958 2966/2966/2966 2959/2959/2959\nf 2959/2959/2959 2966/2966/2966 2967/2967/2967\nf 2959/2959/2959 2967/2967/2967 2960/2960/2960\nf 2960/2960/2960 2967/2967/2967 2968/2968/2968\nf 2960/2960/2960 2968/2968/2968 2961/2961/2961\nf 2961/2961/2961 2968/2968/2968 2962/2962/2962\nf 2961/2961/2961 2962/2962/2962 2955/2955/2955\nf 2962/2962/2962 2969/2969/2969 2970/2970/2970\nf 2962/2962/2962 2970/2970/2970 2963/2963/2963\nf 2963/2963/2963 2970/2970/2970 2971/2971/2971\nf 2963/2963/2963 2971/2971/2971 2964/2964/2964\nf 2965/2965/2965 2972/2972/2972 2973/2973/2973\nf 2965/2965/2965 2973/2973/2973 2966/2966/2966\nf 2966/2966/2966 2973/2973/2973 2974/2974/2974\nf 2966/2966/2966 2974/2974/2974 2967/2967/2967\nf 2967/2967/2967 2974/2974/2974 2975/2975/2975\nf 2967/2967/2967 2975/2975/2975 2968/2968/2968\nf 2968/2968/2968 2975/2975/2975 2969/2969/2969\nf 2968/2968/2968 2969/2969/2969 2962/2962/2962\nf 2976/2976/2976 2977/2977/2977 2978/2978/2978\nf 2976/2976/2976 2978/2978/2978 2979/2979/2979\nf 2979/2979/2979 2978/2978/2978 2980/2980/2980\nf 2979/2979/2979 2980/2980/2980 2981/2981/2981\nf 2982/2982/2982 2983/2983/2983 2984/2984/2984\nf 2982/2982/2982 2984/2984/2984 2985/2985/2985\nf 2985/2985/2985 2984/2984/2984 2986/2986/2986\nf 2985/2985/2985 2986/2986/2986 2987/2987/2987\nf 2987/2987/2987 2986/2986/2986 2988/2988/2988\nf 2987/2987/2987 2988/2988/2988 2989/2989/2989\nf 2989/2989/2989 2988/2988/2988 2977/2977/2977\nf 2989/2989/2989 2977/2977/2977 2976/2976/2976\nf 2977/2977/2977 2990/2990/2990 2991/2991/2991\nf 2977/2977/2977 2991/2991/2991 2978/2978/2978\nf 2978/2978/2978 2991/2991/2991 2992/2992/2992\nf 2978/2978/2978 2992/2992/2992 2980/2980/2980\nf 2983/2983/2983 2993/2993/2993 2994/2994/2994\nf 2983/2983/2983 2994/2994/2994 2984/2984/2984\nf 2984/2984/2984 2994/2994/2994 2995/2995/2995\nf 2984/2984/2984 2995/2995/2995 2986/2986/2986\nf 2986/2986/2986 2995/2995/2995 2996/2996/2996\nf 2986/2986/2986 2996/2996/2996 2988/2988/2988\nf 2988/2988/2988 2996/2996/2996 2990/2990/2990\nf 2988/2988/2988 2990/2990/2990 2977/2977/2977\nf 2990/2990/2990 2997/2997/2997 2998/2998/2998\nf 2990/2990/2990 2998/2998/2998 2991/2991/2991\nf 2991/2991/2991 2998/2998/2998 2999/2999/2999\nf 2991/2991/2991 2999/2999/2999 2992/2992/2992\nf 2993/2993/2993 3000/3000/3000 3001/3001/3001\nf 2993/2993/2993 3001/3001/3001 2994/2994/2994\nf 2994/2994/2994 3001/3001/3001 3002/3002/3002\nf 2994/2994/2994 3002/3002/3002 2995/2995/2995\nf 2995/2995/2995 3002/3002/3002 3003/3003/3003\nf 2995/2995/2995 3003/3003/3003 2996/2996/2996\nf 2996/2996/2996 3003/3003/3003 2997/2997/2997\nf 2996/2996/2996 2997/2997/2997 2990/2990/2990\nf 2997/2997/2997 3004/3004/3004 3005/3005/3005\nf 2997/2997/2997 3005/3005/3005 2998/2998/2998\nf 2998/2998/2998 3005/3005/3005 3006/3006/3006\nf 2998/2998/2998 3006/3006/3006 2999/2999/2999\nf 3000/3000/3000 3007/3007/3007 3008/3008/3008\nf 3000/3000/3000 3008/3008/3008 3001/3001/3001\nf 3001/3001/3001 3008/3008/3008 3009/3009/3009\nf 3001/3001/3001 3009/3009/3009 3002/3002/3002\nf 3002/3002/3002 3009/3009/3009 3010/3010/3010\nf 3002/3002/3002 3010/3010/3010 3003/3003/3003\nf 3003/3003/3003 3010/3010/3010 3004/3004/3004\nf 3003/3003/3003 3004/3004/3004 2997/2997/2997\nf 3004/3004/3004 3011/3011/3011 3012/3012/3012\nf 3004/3004/3004 3012/3012/3012 3005/3005/3005\nf 3005/3005/3005 3012/3012/3012 3013/3013/3013\nf 3005/3005/3005 3013/3013/3013 3006/3006/3006\nf 3007/3007/3007 3014/3014/3014 3015/3015/3015\nf 3007/3007/3007 3015/3015/3015 3008/3008/3008\nf 3008/3008/3008 3015/3015/3015 3016/3016/3016\nf 3008/3008/3008 3016/3016/3016 3009/3009/3009\nf 3009/3009/3009 3016/3016/3016 3017/3017/3017\nf 3009/3009/3009 3017/3017/3017 3010/3010/3010\nf 3010/3010/3010 3017/3017/3017 3011/3011/3011\nf 3010/3010/3010 3011/3011/3011 3004/3004/3004\nf 3011/3011/3011 3018/3018/3018 3019/3019/3019\nf 3011/3011/3011 3019/3019/3019 3012/3012/3012\nf 3012/3012/3012 3019/3019/3019 3020/3020/3020\nf 3012/3012/3012 3020/3020/3020 3013/3013/3013\nf 3014/3014/3014 3021/3021/3021 3022/3022/3022\nf 3014/3014/3014 3022/3022/3022 3015/3015/3015\nf 3015/3015/3015 3022/3022/3022 3023/3023/3023\nf 3015/3015/3015 3023/3023/3023 3016/3016/3016\nf 3016/3016/3016 3023/3023/3023 3024/3024/3024\nf 3016/3016/3016 3024/3024/3024 3017/3017/3017\nf 3017/3017/3017 3024/3024/3024 3018/3018/3018\nf 3017/3017/3017 3018/3018/3018 3011/3011/3011\nf 3018/3018/3018 3025/3025/3025 3026/3026/3026\nf 3018/3018/3018 3026/3026/3026 3019/3019/3019\nf 3019/3019/3019 3026/3026/3026 3027/3027/3027\nf 3019/3019/3019 3027/3027/3027 3020/3020/3020\nf 3021/3021/3021 3028/3028/3028 3029/3029/3029\nf 3021/3021/3021 3029/3029/3029 3022/3022/3022\nf 3022/3022/3022 3029/3029/3029 3030/3030/3030\nf 3022/3022/3022 3030/3030/3030 3023/3023/3023\nf 3023/3023/3023 3030/3030/3030 3031/3031/3031\nf 3023/3023/3023 3031/3031/3031 3024/3024/3024\nf 3024/3024/3024 3031/3031/3031 3025/3025/3025\nf 3024/3024/3024 3025/3025/3025 3018/3018/3018\nf 3025/3025/3025 3032/3032/3032 3033/3033/3033\nf 3025/3025/3025 3033/3033/3033 3026/3026/3026\nf 3026/3026/3026 3033/3033/3033 3034/3034/3034\nf 3026/3026/3026 3034/3034/3034 3027/3027/3027\nf 3028/3028/3028 3035/3035/3035 3036/3036/3036\nf 3028/3028/3028 3036/3036/3036 3029/3029/3029\nf 3029/3029/3029 3036/3036/3036 3037/3037/3037\nf 3029/3029/3029 3037/3037/3037 3030/3030/3030\nf 3030/3030/3030 3037/3037/3037 3038/3038/3038\nf 3030/3030/3030 3038/3038/3038 3031/3031/3031\nf 3031/3031/3031 3038/3038/3038 3032/3032/3032\nf 3031/3031/3031 3032/3032/3032 3025/3025/3025\nf 3032/3032/3032 3039/3039/3039 3040/3040/3040\nf 3032/3032/3032 3040/3040/3040 3033/3033/3033\nf 3033/3033/3033 3040/3040/3040 3041/3041/3041\nf 3033/3033/3033 3041/3041/3041 3034/3034/3034\nf 3035/3035/3035 3042/3042/3042 3043/3043/3043\nf 3035/3035/3035 3043/3043/3043 3036/3036/3036\nf 3036/3036/3036 3043/3043/3043 3044/3044/3044\nf 3036/3036/3036 3044/3044/3044 3037/3037/3037\nf 3037/3037/3037 3044/3044/3044 3045/3045/3045\nf 3037/3037/3037 3045/3045/3045 3038/3038/3038\nf 3038/3038/3038 3045/3045/3045 3039/3039/3039\nf 3038/3038/3038 3039/3039/3039 3032/3032/3032\nf 3039/3039/3039 3046/3046/3046 3047/3047/3047\nf 3039/3039/3039 3047/3047/3047 3040/3040/3040\nf 3040/3040/3040 3047/3047/3047 3048/3048/3048\nf 3040/3040/3040 3048/3048/3048 3041/3041/3041\nf 3042/3042/3042 3049/3049/3049 3050/3050/3050\nf 3042/3042/3042 3050/3050/3050 3043/3043/3043\nf 3043/3043/3043 3050/3050/3050 3051/3051/3051\nf 3043/3043/3043 3051/3051/3051 3044/3044/3044\nf 3044/3044/3044 3051/3051/3051 3052/3052/3052\nf 3044/3044/3044 3052/3052/3052 3045/3045/3045\nf 3045/3045/3045 3052/3052/3052 3046/3046/3046\nf 3045/3045/3045 3046/3046/3046 3039/3039/3039\nf 3046/3046/3046 3053/3053/3053 3054/3054/3054\nf 3046/3046/3046 3054/3054/3054 3047/3047/3047\nf 3047/3047/3047 3054/3054/3054 3055/3055/3055\nf 3047/3047/3047 3055/3055/3055 3048/3048/3048\nf 3049/3049/3049 3056/3056/3056 3057/3057/3057\nf 3049/3049/3049 3057/3057/3057 3050/3050/3050\nf 3050/3050/3050 3057/3057/3057 3058/3058/3058\nf 3050/3050/3050 3058/3058/3058 3051/3051/3051\nf 3051/3051/3051 3058/3058/3058 3059/3059/3059\nf 3051/3051/3051 3059/3059/3059 3052/3052/3052\nf 3052/3052/3052 3059/3059/3059 3053/3053/3053\nf 3052/3052/3052 3053/3053/3053 3046/3046/3046\nf 3053/3053/3053 3060/3060/3060 3061/3061/3061\nf 3053/3053/3053 3061/3061/3061 3054/3054/3054\nf 3054/3054/3054 3061/3061/3061 3062/3062/3062\nf 3054/3054/3054 3062/3062/3062 3055/3055/3055\nf 3056/3056/3056 3063/3063/3063 3064/3064/3064\nf 3056/3056/3056 3064/3064/3064 3057/3057/3057\nf 3057/3057/3057 3064/3064/3064 3065/3065/3065\nf 3057/3057/3057 3065/3065/3065 3058/3058/3058\nf 3058/3058/3058 3065/3065/3065 3066/3066/3066\nf 3058/3058/3058 3066/3066/3066 3059/3059/3059\nf 3059/3059/3059 3066/3066/3066 3060/3060/3060\nf 3059/3059/3059 3060/3060/3060 3053/3053/3053\nf 3060/3060/3060 3067/3067/3067 3068/3068/3068\nf 3060/3060/3060 3068/3068/3068 3061/3061/3061\nf 3061/3061/3061 3068/3068/3068 3069/3069/3069\nf 3061/3061/3061 3069/3069/3069 3062/3062/3062\nf 3063/3063/3063 3070/3070/3070 3071/3071/3071\nf 3063/3063/3063 3071/3071/3071 3064/3064/3064\nf 3064/3064/3064 3071/3071/3071 3072/3072/3072\nf 3064/3064/3064 3072/3072/3072 3065/3065/3065\nf 3065/3065/3065 3072/3072/3072 3073/3073/3073\nf 3065/3065/3065 3073/3073/3073 3066/3066/3066\nf 3066/3066/3066 3073/3073/3073 3067/3067/3067\nf 3066/3066/3066 3067/3067/3067 3060/3060/3060\nf 3067/3067/3067 3074/3074/3074 3075/3075/3075\nf 3067/3067/3067 3075/3075/3075 3068/3068/3068\nf 3068/3068/3068 3075/3075/3075 3076/3076/3076\nf 3068/3068/3068 3076/3076/3076 3069/3069/3069\nf 3070/3070/3070 3077/3077/3077 3078/3078/3078\nf 3070/3070/3070 3078/3078/3078 3071/3071/3071\nf 3071/3071/3071 3078/3078/3078 3079/3079/3079\nf 3071/3071/3071 3079/3079/3079 3072/3072/3072\nf 3072/3072/3072 3079/3079/3079 3080/3080/3080\nf 3072/3072/3072 3080/3080/3080 3073/3073/3073\nf 3073/3073/3073 3080/3080/3080 3074/3074/3074\nf 3073/3073/3073 3074/3074/3074 3067/3067/3067\nf 3074/3074/3074 3081/3081/3081 3082/3082/3082\nf 3074/3074/3074 3082/3082/3082 3075/3075/3075\nf 3075/3075/3075 3082/3082/3082 3083/3083/3083\nf 3075/3075/3075 3083/3083/3083 3076/3076/3076\nf 3077/3077/3077 3084/3084/3084 3085/3085/3085\nf 3077/3077/3077 3085/3085/3085 3078/3078/3078\nf 3078/3078/3078 3085/3085/3085 3086/3086/3086\nf 3078/3078/3078 3086/3086/3086 3079/3079/3079\nf 3079/3079/3079 3086/3086/3086 3087/3087/3087\nf 3079/3079/3079 3087/3087/3087 3080/3080/3080\nf 3080/3080/3080 3087/3087/3087 3081/3081/3081\nf 3080/3080/3080 3081/3081/3081 3074/3074/3074\nf 3081/3081/3081 3088/3088/3088 3089/3089/3089\nf 3081/3081/3081 3089/3089/3089 3082/3082/3082\nf 3082/3082/3082 3089/3089/3089 3090/3090/3090\nf 3082/3082/3082 3090/3090/3090 3083/3083/3083\nf 3084/3084/3084 3091/3091/3091 3092/3092/3092\nf 3084/3084/3084 3092/3092/3092 3085/3085/3085\nf 3085/3085/3085 3092/3092/3092 3093/3093/3093\nf 3085/3085/3085 3093/3093/3093 3086/3086/3086\nf 3086/3086/3086 3093/3093/3093 3094/3094/3094\nf 3086/3086/3086 3094/3094/3094 3087/3087/3087\nf 3087/3087/3087 3094/3094/3094 3088/3088/3088\nf 3087/3087/3087 3088/3088/3088 3081/3081/3081\nf 3095/3095/3095 3096/3096/3096 3097/3097/3097\nf 3095/3095/3095 3097/3097/3097 3098/3098/3098\nf 3098/3098/3098 3097/3097/3097 3099/3099/3099\nf 3098/3098/3098 3099/3099/3099 3100/3100/3100\nf 3101/3101/3101 3102/3102/3102 3103/3103/3103\nf 3101/3101/3101 3103/3103/3103 3104/3104/3104\nf 3104/3104/3104 3103/3103/3103 3105/3105/3105\nf 3104/3104/3104 3105/3105/3105 3106/3106/3106\nf 3106/3106/3106 3105/3105/3105 3107/3107/3107\nf 3106/3106/3106 3107/3107/3107 3108/3108/3108\nf 3108/3108/3108 3107/3107/3107 3096/3096/3096\nf 3108/3108/3108 3096/3096/3096 3095/3095/3095\nf 3096/3096/3096 3109/3109/3109 3110/3110/3110\nf 3096/3096/3096 3110/3110/3110 3097/3097/3097\nf 3097/3097/3097 3110/3110/3110 3111/3111/3111\nf 3097/3097/3097 3111/3111/3111 3099/3099/3099\nf 3102/3102/3102 3112/3112/3112 3113/3113/3113\nf 3102/3102/3102 3113/3113/3113 3103/3103/3103\nf 3103/3103/3103 3113/3113/3113 3114/3114/3114\nf 3103/3103/3103 3114/3114/3114 3105/3105/3105\nf 3105/3105/3105 3114/3114/3114 3115/3115/3115\nf 3105/3105/3105 3115/3115/3115 3107/3107/3107\nf 3107/3107/3107 3115/3115/3115 3109/3109/3109\nf 3107/3107/3107 3109/3109/3109 3096/3096/3096\nf 3109/3109/3109 3116/3116/3116 3117/3117/3117\nf 3109/3109/3109 3117/3117/3117 3110/3110/3110\nf 3110/3110/3110 3117/3117/3117 3118/3118/3118\nf 3110/3110/3110 3118/3118/3118 3111/3111/3111\nf 3112/3112/3112 3119/3119/3119 3120/3120/3120\nf 3112/3112/3112 3120/3120/3120 3113/3113/3113\nf 3113/3113/3113 3120/3120/3120 3121/3121/3121\nf 3113/3113/3113 3121/3121/3121 3114/3114/3114\nf 3114/3114/3114 3121/3121/3121 3122/3122/3122\nf 3114/3114/3114 3122/3122/3122 3115/3115/3115\nf 3115/3115/3115 3122/3122/3122 3116/3116/3116\nf 3115/3115/3115 3116/3116/3116 3109/3109/3109\nf 3116/3116/3116 3123/3123/3123 3124/3124/3124\nf 3116/3116/3116 3124/3124/3124 3117/3117/3117\nf 3117/3117/3117 3124/3124/3124 3125/3125/3125\nf 3117/3117/3117 3125/3125/3125 3118/3118/3118\nf 3119/3119/3119 3126/3126/3126 3127/3127/3127\nf 3119/3119/3119 3127/3127/3127 3120/3120/3120\nf 3120/3120/3120 3127/3127/3127 3128/3128/3128\nf 3120/3120/3120 3128/3128/3128 3121/3121/3121\nf 3121/3121/3121 3128/3128/3128 3129/3129/3129\nf 3121/3121/3121 3129/3129/3129 3122/3122/3122\nf 3122/3122/3122 3129/3129/3129 3123/3123/3123\nf 3122/3122/3122 3123/3123/3123 3116/3116/3116\nf 3123/3123/3123 3130/3130/3130 3131/3131/3131\nf 3123/3123/3123 3131/3131/3131 3124/3124/3124\nf 3124/3124/3124 3131/3131/3131 3132/3132/3132\nf 3124/3124/3124 3132/3132/3132 3125/3125/3125\nf 3126/3126/3126 3133/3133/3133 3134/3134/3134\nf 3126/3126/3126 3134/3134/3134 3127/3127/3127\nf 3127/3127/3127 3134/3134/3134 3135/3135/3135\nf 3127/3127/3127 3135/3135/3135 3128/3128/3128\nf 3128/3128/3128 3135/3135/3135 3136/3136/3136\nf 3128/3128/3128 3136/3136/3136 3129/3129/3129\nf 3129/3129/3129 3136/3136/3136 3130/3130/3130\nf 3129/3129/3129 3130/3130/3130 3123/3123/3123\nf 3130/3130/3130 3137/3137/3137 3138/3138/3138\nf 3130/3130/3130 3138/3138/3138 3131/3131/3131\nf 3131/3131/3131 3138/3138/3138 3139/3139/3139\nf 3131/3131/3131 3139/3139/3139 3132/3132/3132\nf 3133/3133/3133 3140/3140/3140 3141/3141/3141\nf 3133/3133/3133 3141/3141/3141 3134/3134/3134\nf 3134/3134/3134 3141/3141/3141 3142/3142/3142\nf 3134/3134/3134 3142/3142/3142 3135/3135/3135\nf 3135/3135/3135 3142/3142/3142 3143/3143/3143\nf 3135/3135/3135 3143/3143/3143 3136/3136/3136\nf 3136/3136/3136 3143/3143/3143 3137/3137/3137\nf 3136/3136/3136 3137/3137/3137 3130/3130/3130\nf 3137/3137/3137 3144/3144/3144 3145/3145/3145\nf 3137/3137/3137 3145/3145/3145 3138/3138/3138\nf 3138/3138/3138 3145/3145/3145 3146/3146/3146\nf 3138/3138/3138 3146/3146/3146 3139/3139/3139\nf 3140/3140/3140 3147/3147/3147 3148/3148/3148\nf 3140/3140/3140 3148/3148/3148 3141/3141/3141\nf 3141/3141/3141 3148/3148/3148 3149/3149/3149\nf 3141/3141/3141 3149/3149/3149 3142/3142/3142\nf 3142/3142/3142 3149/3149/3149 3150/3150/3150\nf 3142/3142/3142 3150/3150/3150 3143/3143/3143\nf 3143/3143/3143 3150/3150/3150 3144/3144/3144\nf 3143/3143/3143 3144/3144/3144 3137/3137/3137\nf 3144/3144/3144 3151/3151/3151 3152/3152/3152\nf 3144/3144/3144 3152/3152/3152 3145/3145/3145\nf 3145/3145/3145 3152/3152/3152 3153/3153/3153\nf 3145/3145/3145 3153/3153/3153 3146/3146/3146\nf 3147/3147/3147 3154/3154/3154 3155/3155/3155\nf 3147/3147/3147 3155/3155/3155 3148/3148/3148\nf 3148/3148/3148 3155/3155/3155 3156/3156/3156\nf 3148/3148/3148 3156/3156/3156 3149/3149/3149\nf 3149/3149/3149 3156/3156/3156 3157/3157/3157\nf 3149/3149/3149 3157/3157/3157 3150/3150/3150\nf 3150/3150/3150 3157/3157/3157 3151/3151/3151\nf 3150/3150/3150 3151/3151/3151 3144/3144/3144\nf 3151/3151/3151 3158/3158/3158 3159/3159/3159\nf 3151/3151/3151 3159/3159/3159 3152/3152/3152\nf 3152/3152/3152 3159/3159/3159 3160/3160/3160\nf 3152/3152/3152 3160/3160/3160 3153/3153/3153\nf 3154/3154/3154 3161/3161/3161 3162/3162/3162\nf 3154/3154/3154 3162/3162/3162 3155/3155/3155\nf 3155/3155/3155 3162/3162/3162 3163/3163/3163\nf 3155/3155/3155 3163/3163/3163 3156/3156/3156\nf 3156/3156/3156 3163/3163/3163 3164/3164/3164\nf 3156/3156/3156 3164/3164/3164 3157/3157/3157\nf 3157/3157/3157 3164/3164/3164 3158/3158/3158\nf 3157/3157/3157 3158/3158/3158 3151/3151/3151\nf 3158/3158/3158 3165/3165/3165 3166/3166/3166\nf 3158/3158/3158 3166/3166/3166 3159/3159/3159\nf 3159/3159/3159 3166/3166/3166 3167/3167/3167\nf 3159/3159/3159 3167/3167/3167 3160/3160/3160\nf 3161/3161/3161 3168/3168/3168 3169/3169/3169\nf 3161/3161/3161 3169/3169/3169 3162/3162/3162\nf 3162/3162/3162 3169/3169/3169 3170/3170/3170\nf 3162/3162/3162 3170/3170/3170 3163/3163/3163\nf 3163/3163/3163 3170/3170/3170 3171/3171/3171\nf 3163/3163/3163 3171/3171/3171 3164/3164/3164\nf 3164/3164/3164 3171/3171/3171 3165/3165/3165\nf 3164/3164/3164 3165/3165/3165 3158/3158/3158\nf 3165/3165/3165 3172/3172/3172 3173/3173/3173\nf 3165/3165/3165 3173/3173/3173 3166/3166/3166\nf 3166/3166/3166 3173/3173/3173 3174/3174/3174\nf 3166/3166/3166 3174/3174/3174 3167/3167/3167\nf 3168/3168/3168 3175/3175/3175 3176/3176/3176\nf 3168/3168/3168 3176/3176/3176 3169/3169/3169\nf 3169/3169/3169 3176/3176/3176 3177/3177/3177\nf 3169/3169/3169 3177/3177/3177 3170/3170/3170\nf 3170/3170/3170 3177/3177/3177 3178/3178/3178\nf 3170/3170/3170 3178/3178/3178 3171/3171/3171\nf 3171/3171/3171 3178/3178/3178 3172/3172/3172\nf 3171/3171/3171 3172/3172/3172 3165/3165/3165\nf 3172/3172/3172 3179/3179/3179 3180/3180/3180\nf 3172/3172/3172 3180/3180/3180 3173/3173/3173\nf 3173/3173/3173 3180/3180/3180 3181/3181/3181\nf 3173/3173/3173 3181/3181/3181 3174/3174/3174\nf 3175/3175/3175 3182/3182/3182 3183/3183/3183\nf 3175/3175/3175 3183/3183/3183 3176/3176/3176\nf 3176/3176/3176 3183/3183/3183 3184/3184/3184\nf 3176/3176/3176 3184/3184/3184 3177/3177/3177\nf 3177/3177/3177 3184/3184/3184 3185/3185/3185\nf 3177/3177/3177 3185/3185/3185 3178/3178/3178\nf 3178/3178/3178 3185/3185/3185 3179/3179/3179\nf 3178/3178/3178 3179/3179/3179 3172/3172/3172\nf 3179/3179/3179 3186/3186/3186 3187/3187/3187\nf 3179/3179/3179 3187/3187/3187 3180/3180/3180\nf 3180/3180/3180 3187/3187/3187 3188/3188/3188\nf 3180/3180/3180 3188/3188/3188 3181/3181/3181\nf 3182/3182/3182 3189/3189/3189 3190/3190/3190\nf 3182/3182/3182 3190/3190/3190 3183/3183/3183\nf 3183/3183/3183 3190/3190/3190 3191/3191/3191\nf 3183/3183/3183 3191/3191/3191 3184/3184/3184\nf 3184/3184/3184 3191/3191/3191 3192/3192/3192\nf 3184/3184/3184 3192/3192/3192 3185/3185/3185\nf 3185/3185/3185 3192/3192/3192 3186/3186/3186\nf 3185/3185/3185 3186/3186/3186 3179/3179/3179\nf 3186/3186/3186 3193/3193/3193 3194/3194/3194\nf 3186/3186/3186 3194/3194/3194 3187/3187/3187\nf 3187/3187/3187 3194/3194/3194 3195/3195/3195\nf 3187/3187/3187 3195/3195/3195 3188/3188/3188\nf 3189/3189/3189 3196/3196/3196 3197/3197/3197\nf 3189/3189/3189 3197/3197/3197 3190/3190/3190\nf 3190/3190/3190 3197/3197/3197 3198/3198/3198\nf 3190/3190/3190 3198/3198/3198 3191/3191/3191\nf 3191/3191/3191 3198/3198/3198 3199/3199/3199\nf 3191/3191/3191 3199/3199/3199 3192/3192/3192\nf 3192/3192/3192 3199/3199/3199 3193/3193/3193\nf 3192/3192/3192 3193/3193/3193 3186/3186/3186\nf 3193/3193/3193 3200/3200/3200 3201/3201/3201\nf 3193/3193/3193 3201/3201/3201 3194/3194/3194\nf 3194/3194/3194 3201/3201/3201 3202/3202/3202\nf 3194/3194/3194 3202/3202/3202 3195/3195/3195\nf 3196/3196/3196 3203/3203/3203 3204/3204/3204\nf 3196/3196/3196 3204/3204/3204 3197/3197/3197\nf 3197/3197/3197 3204/3204/3204 3205/3205/3205\nf 3197/3197/3197 3205/3205/3205 3198/3198/3198\nf 3198/3198/3198 3205/3205/3205 3206/3206/3206\nf 3198/3198/3198 3206/3206/3206 3199/3199/3199\nf 3199/3199/3199 3206/3206/3206 3200/3200/3200\nf 3199/3199/3199 3200/3200/3200 3193/3193/3193\nf 3200/3200/3200 3207/3207/3207 3208/3208/3208\nf 3200/3200/3200 3208/3208/3208 3201/3201/3201\nf 3201/3201/3201 3208/3208/3208 3209/3209/3209\nf 3201/3201/3201 3209/3209/3209 3202/3202/3202\nf 3203/3203/3203 3210/3210/3210 3211/3211/3211\nf 3203/3203/3203 3211/3211/3211 3204/3204/3204\nf 3204/3204/3204 3211/3211/3211 3212/3212/3212\nf 3204/3204/3204 3212/3212/3212 3205/3205/3205\nf 3205/3205/3205 3212/3212/3212 3213/3213/3213\nf 3205/3205/3205 3213/3213/3213 3206/3206/3206\nf 3206/3206/3206 3213/3213/3213 3207/3207/3207\nf 3206/3206/3206 3207/3207/3207 3200/3200/3200\nf 3214/3214/3214 3215/3215/3215 3216/3216/3216\nf 3214/3214/3214 3216/3216/3216 3217/3217/3217\nf 3217/3217/3217 3216/3216/3216 3218/3218/3218\nf 3217/3217/3217 3218/3218/3218 3219/3219/3219\nf 3220/3220/3220 3221/3221/3221 3222/3222/3222\nf 3220/3220/3220 3222/3222/3222 3223/3223/3223\nf 3223/3223/3223 3222/3222/3222 3224/3224/3224\nf 3223/3223/3223 3224/3224/3224 3225/3225/3225\nf 3225/3225/3225 3224/3224/3224 3226/3226/3226\nf 3225/3225/3225 3226/3226/3226 3227/3227/3227\nf 3227/3227/3227 3226/3226/3226 3215/3215/3215\nf 3227/3227/3227 3215/3215/3215 3214/3214/3214\nf 3215/3215/3215 3228/3228/3228 3229/3229/3229\nf 3215/3215/3215 3229/3229/3229 3216/3216/3216\nf 3216/3216/3216 3229/3229/3229 3230/3230/3230\nf 3216/3216/3216 3230/3230/3230 3218/3218/3218\nf 3221/3221/3221 3231/3231/3231 3232/3232/3232\nf 3221/3221/3221 3232/3232/3232 3222/3222/3222\nf 3222/3222/3222 3232/3232/3232 3233/3233/3233\nf 3222/3222/3222 3233/3233/3233 3224/3224/3224\nf 3224/3224/3224 3233/3233/3233 3234/3234/3234\nf 3224/3224/3224 3234/3234/3234 3226/3226/3226\nf 3226/3226/3226 3234/3234/3234 3228/3228/3228\nf 3226/3226/3226 3228/3228/3228 3215/3215/3215\nf 3228/3228/3228 3235/3235/3235 3236/3236/3236\nf 3228/3228/3228 3236/3236/3236 3229/3229/3229\nf 3229/3229/3229 3236/3236/3236 3237/3237/3237\nf 3229/3229/3229 3237/3237/3237 3230/3230/3230\nf 3231/3231/3231 3238/3238/3238 3239/3239/3239\nf 3231/3231/3231 3239/3239/3239 3232/3232/3232\nf 3232/3232/3232 3239/3239/3239 3240/3240/3240\nf 3232/3232/3232 3240/3240/3240 3233/3233/3233\nf 3233/3233/3233 3240/3240/3240 3241/3241/3241\nf 3233/3233/3233 3241/3241/3241 3234/3234/3234\nf 3234/3234/3234 3241/3241/3241 3235/3235/3235\nf 3234/3234/3234 3235/3235/3235 3228/3228/3228\nf 3235/3235/3235 3242/3242/3242 3243/3243/3243\nf 3235/3235/3235 3243/3243/3243 3236/3236/3236\nf 3236/3236/3236 3243/3243/3243 3244/3244/3244\nf 3236/3236/3236 3244/3244/3244 3237/3237/3237\nf 3238/3238/3238 3245/3245/3245 3246/3246/3246\nf 3238/3238/3238 3246/3246/3246 3239/3239/3239\nf 3239/3239/3239 3246/3246/3246 3247/3247/3247\nf 3239/3239/3239 3247/3247/3247 3240/3240/3240\nf 3240/3240/3240 3247/3247/3247 3248/3248/3248\nf 3240/3240/3240 3248/3248/3248 3241/3241/3241\nf 3241/3241/3241 3248/3248/3248 3242/3242/3242\nf 3241/3241/3241 3242/3242/3242 3235/3235/3235\nf 3242/3242/3242 3249/3249/3249 3250/3250/3250\nf 3242/3242/3242 3250/3250/3250 3243/3243/3243\nf 3243/3243/3243 3250/3250/3250 3251/3251/3251\nf 3243/3243/3243 3251/3251/3251 3244/3244/3244\nf 3245/3245/3245 3252/3252/3252 3253/3253/3253\nf 3245/3245/3245 3253/3253/3253 3246/3246/3246\nf 3246/3246/3246 3253/3253/3253 3254/3254/3254\nf 3246/3246/3246 3254/3254/3254 3247/3247/3247\nf 3247/3247/3247 3254/3254/3254 3255/3255/3255\nf 3247/3247/3247 3255/3255/3255 3248/3248/3248\nf 3248/3248/3248 3255/3255/3255 3249/3249/3249\nf 3248/3248/3248 3249/3249/3249 3242/3242/3242\nf 3249/3249/3249 3256/3256/3256 3257/3257/3257\nf 3249/3249/3249 3257/3257/3257 3250/3250/3250\nf 3250/3250/3250 3257/3257/3257 3258/3258/3258\nf 3250/3250/3250 3258/3258/3258 3251/3251/3251\nf 3252/3252/3252 3259/3259/3259 3260/3260/3260\nf 3252/3252/3252 3260/3260/3260 3253/3253/3253\nf 3253/3253/3253 3260/3260/3260 3261/3261/3261\nf 3253/3253/3253 3261/3261/3261 3254/3254/3254\nf 3254/3254/3254 3261/3261/3261 3262/3262/3262\nf 3254/3254/3254 3262/3262/3262 3255/3255/3255\nf 3255/3255/3255 3262/3262/3262 3256/3256/3256\nf 3255/3255/3255 3256/3256/3256 3249/3249/3249\nf 3256/3256/3256 3263/3263/3263 3264/3264/3264\nf 3256/3256/3256 3264/3264/3264 3257/3257/3257\nf 3257/3257/3257 3264/3264/3264 3265/3265/3265\nf 3257/3257/3257 3265/3265/3265 3258/3258/3258\nf 3259/3259/3259 3266/3266/3266 3267/3267/3267\nf 3259/3259/3259 3267/3267/3267 3260/3260/3260\nf 3260/3260/3260 3267/3267/3267 3268/3268/3268\nf 3260/3260/3260 3268/3268/3268 3261/3261/3261\nf 3261/3261/3261 3268/3268/3268 3269/3269/3269\nf 3261/3261/3261 3269/3269/3269 3262/3262/3262\nf 3262/3262/3262 3269/3269/3269 3263/3263/3263\nf 3262/3262/3262 3263/3263/3263 3256/3256/3256\nf 3263/3263/3263 3270/3270/3270 3271/3271/3271\nf 3263/3263/3263 3271/3271/3271 3264/3264/3264\nf 3264/3264/3264 3271/3271/3271 3272/3272/3272\nf 3264/3264/3264 3272/3272/3272 3265/3265/3265\nf 3266/3266/3266 3273/3273/3273 3274/3274/3274\nf 3266/3266/3266 3274/3274/3274 3267/3267/3267\nf 3267/3267/3267 3274/3274/3274 3275/3275/3275\nf 3267/3267/3267 3275/3275/3275 3268/3268/3268\nf 3268/3268/3268 3275/3275/3275 3276/3276/3276\nf 3268/3268/3268 3276/3276/3276 3269/3269/3269\nf 3269/3269/3269 3276/3276/3276 3270/3270/3270\nf 3269/3269/3269 3270/3270/3270 3263/3263/3263\nf 3270/3270/3270 3277/3277/3277 3278/3278/3278\nf 3270/3270/3270 3278/3278/3278 3271/3271/3271\nf 3271/3271/3271 3278/3278/3278 3279/3279/3279\nf 3271/3271/3271 3279/3279/3279 3272/3272/3272\nf 3273/3273/3273 3280/3280/3280 3281/3281/3281\nf 3273/3273/3273 3281/3281/3281 3274/3274/3274\nf 3274/3274/3274 3281/3281/3281 3282/3282/3282\nf 3274/3274/3274 3282/3282/3282 3275/3275/3275\nf 3275/3275/3275 3282/3282/3282 3283/3283/3283\nf 3275/3275/3275 3283/3283/3283 3276/3276/3276\nf 3276/3276/3276 3283/3283/3283 3277/3277/3277\nf 3276/3276/3276 3277/3277/3277 3270/3270/3270\nf 3277/3277/3277 3284/3284/3284 3285/3285/3285\nf 3277/3277/3277 3285/3285/3285 3278/3278/3278\nf 3278/3278/3278 3285/3285/3285 3286/3286/3286\nf 3278/3278/3278 3286/3286/3286 3279/3279/3279\nf 3280/3280/3280 3287/3287/3287 3288/3288/3288\nf 3280/3280/3280 3288/3288/3288 3281/3281/3281\nf 3281/3281/3281 3288/3288/3288 3289/3289/3289\nf 3281/3281/3281 3289/3289/3289 3282/3282/3282\nf 3282/3282/3282 3289/3289/3289 3290/3290/3290\nf 3282/3282/3282 3290/3290/3290 3283/3283/3283\nf 3283/3283/3283 3290/3290/3290 3284/3284/3284\nf 3283/3283/3283 3284/3284/3284 3277/3277/3277\nf 3284/3284/3284 3291/3291/3291 3292/3292/3292\nf 3284/3284/3284 3292/3292/3292 3285/3285/3285\nf 3285/3285/3285 3292/3292/3292 3293/3293/3293\nf 3285/3285/3285 3293/3293/3293 3286/3286/3286\nf 3287/3287/3287 3294/3294/3294 3295/3295/3295\nf 3287/3287/3287 3295/3295/3295 3288/3288/3288\nf 3288/3288/3288 3295/3295/3295 3296/3296/3296\nf 3288/3288/3288 3296/3296/3296 3289/3289/3289\nf 3289/3289/3289 3296/3296/3296 3297/3297/3297\nf 3289/3289/3289 3297/3297/3297 3290/3290/3290\nf 3290/3290/3290 3297/3297/3297 3291/3291/3291\nf 3290/3290/3290 3291/3291/3291 3284/3284/3284\nf 3291/3291/3291 3298/3298/3298 3299/3299/3299\nf 3291/3291/3291 3299/3299/3299 3292/3292/3292\nf 3292/3292/3292 3299/3299/3299 3300/3300/3300\nf 3292/3292/3292 3300/3300/3300 3293/3293/3293\nf 3294/3294/3294 3301/3301/3301 3302/3302/3302\nf 3294/3294/3294 3302/3302/3302 3295/3295/3295\nf 3295/3295/3295 3302/3302/3302 3303/3303/3303\nf 3295/3295/3295 3303/3303/3303 3296/3296/3296\nf 3296/3296/3296 3303/3303/3303 3304/3304/3304\nf 3296/3296/3296 3304/3304/3304 3297/3297/3297\nf 3297/3297/3297 3304/3304/3304 3298/3298/3298\nf 3297/3297/3297 3298/3298/3298 3291/3291/3291\nf 3298/3298/3298 3305/3305/3305 3306/3306/3306\nf 3298/3298/3298 3306/3306/3306 3299/3299/3299\nf 3299/3299/3299 3306/3306/3306 3307/3307/3307\nf 3299/3299/3299 3307/3307/3307 3300/3300/3300\nf 3301/3301/3301 3308/3308/3308 3309/3309/3309\nf 3301/3301/3301 3309/3309/3309 3302/3302/3302\nf 3302/3302/3302 3309/3309/3309 3310/3310/3310\nf 3302/3302/3302 3310/3310/3310 3303/3303/3303\nf 3303/3303/3303 3310/3310/3310 3311/3311/3311\nf 3303/3303/3303 3311/3311/3311 3304/3304/3304\nf 3304/3304/3304 3311/3311/3311 3305/3305/3305\nf 3304/3304/3304 3305/3305/3305 3298/3298/3298\nf 3305/3305/3305 3312/3312/3312 3313/3313/3313\nf 3305/3305/3305 3313/3313/3313 3306/3306/3306\nf 3306/3306/3306 3313/3313/3313 3314/3314/3314\nf 3306/3306/3306 3314/3314/3314 3307/3307/3307\nf 3308/3308/3308 3315/3315/3315 3316/3316/3316\nf 3308/3308/3308 3316/3316/3316 3309/3309/3309\nf 3309/3309/3309 3316/3316/3316 3317/3317/3317\nf 3309/3309/3309 3317/3317/3317 3310/3310/3310\nf 3310/3310/3310 3317/3317/3317 3318/3318/3318\nf 3310/3310/3310 3318/3318/3318 3311/3311/3311\nf 3311/3311/3311 3318/3318/3318 3312/3312/3312\nf 3311/3311/3311 3312/3312/3312 3305/3305/3305\nf 3312/3312/3312 3319/3319/3319 3320/3320/3320\nf 3312/3312/3312 3320/3320/3320 3313/3313/3313\nf 3313/3313/3313 3320/3320/3320 3321/3321/3321\nf 3313/3313/3313 3321/3321/3321 3314/3314/3314\nf 3315/3315/3315 3322/3322/3322 3323/3323/3323\nf 3315/3315/3315 3323/3323/3323 3316/3316/3316\nf 3316/3316/3316 3323/3323/3323 3324/3324/3324\nf 3316/3316/3316 3324/3324/3324 3317/3317/3317\nf 3317/3317/3317 3324/3324/3324 3325/3325/3325\nf 3317/3317/3317 3325/3325/3325 3318/3318/3318\nf 3318/3318/3318 3325/3325/3325 3319/3319/3319\nf 3318/3318/3318 3319/3319/3319 3312/3312/3312\nf 3319/3319/3319 3326/3326/3326 3327/3327/3327\nf 3319/3319/3319 3327/3327/3327 3320/3320/3320\nf 3320/3320/3320 3327/3327/3327 3328/3328/3328\nf 3320/3320/3320 3328/3328/3328 3321/3321/3321\nf 3322/3322/3322 3329/3329/3329 3330/3330/3330\nf 3322/3322/3322 3330/3330/3330 3323/3323/3323\nf 3323/3323/3323 3330/3330/3330 3331/3331/3331\nf 3323/3323/3323 3331/3331/3331 3324/3324/3324\nf 3324/3324/3324 3331/3331/3331 3332/3332/3332\nf 3324/3324/3324 3332/3332/3332 3325/3325/3325\nf 3325/3325/3325 3332/3332/3332 3326/3326/3326\nf 3325/3325/3325 3326/3326/3326 3319/3319/3319\nf 3333/3333/3333 3334/3334/3334 3335/3335/3335\nf 3333/3333/3333 3335/3335/3335 3336/3336/3336\nf 3336/3336/3336 3335/3335/3335 3337/3337/3337\nf 3336/3336/3336 3337/3337/3337 3338/3338/3338\nf 3339/3339/3339 3340/3340/3340 3341/3341/3341\nf 3339/3339/3339 3341/3341/3341 3342/3342/3342\nf 3342/3342/3342 3341/3341/3341 3343/3343/3343\nf 3342/3342/3342 3343/3343/3343 3344/3344/3344\nf 3344/3344/3344 3343/3343/3343 3345/3345/3345\nf 3344/3344/3344 3345/3345/3345 3346/3346/3346\nf 3346/3346/3346 3345/3345/3345 3334/3334/3334\nf 3346/3346/3346 3334/3334/3334 3333/3333/3333\nf 3334/3334/3334 3347/3347/3347 3348/3348/3348\nf 3334/3334/3334 3348/3348/3348 3335/3335/3335\nf 3335/3335/3335 3348/3348/3348 3349/3349/3349\nf 3335/3335/3335 3349/3349/3349 3337/3337/3337\nf 3340/3340/3340 3350/3350/3350 3351/3351/3351\nf 3340/3340/3340 3351/3351/3351 3341/3341/3341\nf 3341/3341/3341 3351/3351/3351 3352/3352/3352\nf 3341/3341/3341 3352/3352/3352 3343/3343/3343\nf 3343/3343/3343 3352/3352/3352 3353/3353/3353\nf 3343/3343/3343 3353/3353/3353 3345/3345/3345\nf 3345/3345/3345 3353/3353/3353 3347/3347/3347\nf 3345/3345/3345 3347/3347/3347 3334/3334/3334\nf 3347/3347/3347 3354/3354/3354 3355/3355/3355\nf 3347/3347/3347 3355/3355/3355 3348/3348/3348\nf 3348/3348/3348 3355/3355/3355 3356/3356/3356\nf 3348/3348/3348 3356/3356/3356 3349/3349/3349\nf 3350/3350/3350 3357/3357/3357 3358/3358/3358\nf 3350/3350/3350 3358/3358/3358 3351/3351/3351\nf 3351/3351/3351 3358/3358/3358 3359/3359/3359\nf 3351/3351/3351 3359/3359/3359 3352/3352/3352\nf 3352/3352/3352 3359/3359/3359 3360/3360/3360\nf 3352/3352/3352 3360/3360/3360 3353/3353/3353\nf 3353/3353/3353 3360/3360/3360 3354/3354/3354\nf 3353/3353/3353 3354/3354/3354 3347/3347/3347\nf 3354/3354/3354 3361/3361/3361 3362/3362/3362\nf 3354/3354/3354 3362/3362/3362 3355/3355/3355\nf 3355/3355/3355 3362/3362/3362 3363/3363/3363\nf 3355/3355/3355 3363/3363/3363 3356/3356/3356\nf 3357/3357/3357 3364/3364/3364 3365/3365/3365\nf 3357/3357/3357 3365/3365/3365 3358/3358/3358\nf 3358/3358/3358 3365/3365/3365 3366/3366/3366\nf 3358/3358/3358 3366/3366/3366 3359/3359/3359\nf 3359/3359/3359 3366/3366/3366 3367/3367/3367\nf 3359/3359/3359 3367/3367/3367 3360/3360/3360\nf 3360/3360/3360 3367/3367/3367 3361/3361/3361\nf 3360/3360/3360 3361/3361/3361 3354/3354/3354\nf 3361/3361/3361 3368/3368/3368 3369/3369/3369\nf 3361/3361/3361 3369/3369/3369 3362/3362/3362\nf 3362/3362/3362 3369/3369/3369 3370/3370/3370\nf 3362/3362/3362 3370/3370/3370 3363/3363/3363\nf 3364/3364/3364 3371/3371/3371 3372/3372/3372\nf 3364/3364/3364 3372/3372/3372 3365/3365/3365\nf 3365/3365/3365 3372/3372/3372 3373/3373/3373\nf 3365/3365/3365 3373/3373/3373 3366/3366/3366\nf 3366/3366/3366 3373/3373/3373 3374/3374/3374\nf 3366/3366/3366 3374/3374/3374 3367/3367/3367\nf 3367/3367/3367 3374/3374/3374 3368/3368/3368\nf 3367/3367/3367 3368/3368/3368 3361/3361/3361\nf 3368/3368/3368 3375/3375/3375 3376/3376/3376\nf 3368/3368/3368 3376/3376/3376 3369/3369/3369\nf 3369/3369/3369 3376/3376/3376 3377/3377/3377\nf 3369/3369/3369 3377/3377/3377 3370/3370/3370\nf 3371/3371/3371 3378/3378/3378 3379/3379/3379\nf 3371/3371/3371 3379/3379/3379 3372/3372/3372\nf 3372/3372/3372 3379/3379/3379 3380/3380/3380\nf 3372/3372/3372 3380/3380/3380 3373/3373/3373\nf 3373/3373/3373 3380/3380/3380 3381/3381/3381\nf 3373/3373/3373 3381/3381/3381 3374/3374/3374\nf 3374/3374/3374 3381/3381/3381 3375/3375/3375\nf 3374/3374/3374 3375/3375/3375 3368/3368/3368\nf 3375/3375/3375 3382/3382/3382 3383/3383/3383\nf 3375/3375/3375 3383/3383/3383 3376/3376/3376\nf 3376/3376/3376 3383/3383/3383 3384/3384/3384\nf 3376/3376/3376 3384/3384/3384 3377/3377/3377\nf 3378/3378/3378 3385/3385/3385 3386/3386/3386\nf 3378/3378/3378 3386/3386/3386 3379/3379/3379\nf 3379/3379/3379 3386/3386/3386 3387/3387/3387\nf 3379/3379/3379 3387/3387/3387 3380/3380/3380\nf 3380/3380/3380 3387/3387/3387 3388/3388/3388\nf 3380/3380/3380 3388/3388/3388 3381/3381/3381\nf 3381/3381/3381 3388/3388/3388 3382/3382/3382\nf 3381/3381/3381 3382/3382/3382 3375/3375/3375\nf 3382/3382/3382 3389/3389/3389 3390/3390/3390\nf 3382/3382/3382 3390/3390/3390 3383/3383/3383\nf 3383/3383/3383 3390/3390/3390 3391/3391/3391\nf 3383/3383/3383 3391/3391/3391 3384/3384/3384\nf 3385/3385/3385 3392/3392/3392 3393/3393/3393\nf 3385/3385/3385 3393/3393/3393 3386/3386/3386\nf 3386/3386/3386 3393/3393/3393 3394/3394/3394\nf 3386/3386/3386 3394/3394/3394 3387/3387/3387\nf 3387/3387/3387 3394/3394/3394 3395/3395/3395\nf 3387/3387/3387 3395/3395/3395 3388/3388/3388\nf 3388/3388/3388 3395/3395/3395 3389/3389/3389\nf 3388/3388/3388 3389/3389/3389 3382/3382/3382\nf 3389/3389/3389 3396/3396/3396 3397/3397/3397\nf 3389/3389/3389 3397/3397/3397 3390/3390/3390\nf 3390/3390/3390 3397/3397/3397 3398/3398/3398\nf 3390/3390/3390 3398/3398/3398 3391/3391/3391\nf 3392/3392/3392 3399/3399/3399 3400/3400/3400\nf 3392/3392/3392 3400/3400/3400 3393/3393/3393\nf 3393/3393/3393 3400/3400/3400 3401/3401/3401\nf 3393/3393/3393 3401/3401/3401 3394/3394/3394\nf 3394/3394/3394 3401/3401/3401 3402/3402/3402\nf 3394/3394/3394 3402/3402/3402 3395/3395/3395\nf 3395/3395/3395 3402/3402/3402 3396/3396/3396\nf 3395/3395/3395 3396/3396/3396 3389/3389/3389\nf 3396/3396/3396 3403/3403/3403 3404/3404/3404\nf 3396/3396/3396 3404/3404/3404 3397/3397/3397\nf 3397/3397/3397 3404/3404/3404 3405/3405/3405\nf 3397/3397/3397 3405/3405/3405 3398/3398/3398\nf 3399/3399/3399 3406/3406/3406 3407/3407/3407\nf 3399/3399/3399 3407/3407/3407 3400/3400/3400\nf 3400/3400/3400 3407/3407/3407 3408/3408/3408\nf 3400/3400/3400 3408/3408/3408 3401/3401/3401\nf 3401/3401/3401 3408/3408/3408 3409/3409/3409\nf 3401/3401/3401 3409/3409/3409 3402/3402/3402\nf 3402/3402/3402 3409/3409/3409 3403/3403/3403\nf 3402/3402/3402 3403/3403/3403 3396/3396/3396\nf 3403/3403/3403 3410/3410/3410 3411/3411/3411\nf 3403/3403/3403 3411/3411/3411 3404/3404/3404\nf 3404/3404/3404 3411/3411/3411 3412/3412/3412\nf 3404/3404/3404 3412/3412/3412 3405/3405/3405\nf 3406/3406/3406 3413/3413/3413 3414/3414/3414\nf 3406/3406/3406 3414/3414/3414 3407/3407/3407\nf 3407/3407/3407 3414/3414/3414 3415/3415/3415\nf 3407/3407/3407 3415/3415/3415 3408/3408/3408\nf 3408/3408/3408 3415/3415/3415 3416/3416/3416\nf 3408/3408/3408 3416/3416/3416 3409/3409/3409\nf 3409/3409/3409 3416/3416/3416 3410/3410/3410\nf 3409/3409/3409 3410/3410/3410 3403/3403/3403\nf 3410/3410/3410 3417/3417/3417 3418/3418/3418\nf 3410/3410/3410 3418/3418/3418 3411/3411/3411\nf 3411/3411/3411 3418/3418/3418 3419/3419/3419\nf 3411/3411/3411 3419/3419/3419 3412/3412/3412\nf 3413/3413/3413 3420/3420/3420 3421/3421/3421\nf 3413/3413/3413 3421/3421/3421 3414/3414/3414\nf 3414/3414/3414 3421/3421/3421 3422/3422/3422\nf 3414/3414/3414 3422/3422/3422 3415/3415/3415\nf 3415/3415/3415 3422/3422/3422 3423/3423/3423\nf 3415/3415/3415 3423/3423/3423 3416/3416/3416\nf 3416/3416/3416 3423/3423/3423 3417/3417/3417\nf 3416/3416/3416 3417/3417/3417 3410/3410/3410\nf 3417/3417/3417 3424/3424/3424 3425/3425/3425\nf 3417/3417/3417 3425/3425/3425 3418/3418/3418\nf 3418/3418/3418 3425/3425/3425 3426/3426/3426\nf 3418/3418/3418 3426/3426/3426 3419/3419/3419\nf 3420/3420/3420 3427/3427/3427 3428/3428/3428\nf 3420/3420/3420 3428/3428/3428 3421/3421/3421\nf 3421/3421/3421 3428/3428/3428 3429/3429/3429\nf 3421/3421/3421 3429/3429/3429 3422/3422/3422\nf 3422/3422/3422 3429/3429/3429 3430/3430/3430\nf 3422/3422/3422 3430/3430/3430 3423/3423/3423\nf 3423/3423/3423 3430/3430/3430 3424/3424/3424\nf 3423/3423/3423 3424/3424/3424 3417/3417/3417\nf 3424/3424/3424 3431/3431/3431 3432/3432/3432\nf 3424/3424/3424 3432/3432/3432 3425/3425/3425\nf 3425/3425/3425 3432/3432/3432 3433/3433/3433\nf 3425/3425/3425 3433/3433/3433 3426/3426/3426\nf 3427/3427/3427 3434/3434/3434 3435/3435/3435\nf 3427/3427/3427 3435/3435/3435 3428/3428/3428\nf 3428/3428/3428 3435/3435/3435 3436/3436/3436\nf 3428/3428/3428 3436/3436/3436 3429/3429/3429\nf 3429/3429/3429 3436/3436/3436 3437/3437/3437\nf 3429/3429/3429 3437/3437/3437 3430/3430/3430\nf 3430/3430/3430 3437/3437/3437 3431/3431/3431\nf 3430/3430/3430 3431/3431/3431 3424/3424/3424\nf 3431/3431/3431 3438/3438/3438 3439/3439/3439\nf 3431/3431/3431 3439/3439/3439 3432/3432/3432\nf 3432/3432/3432 3439/3439/3439 3440/3440/3440\nf 3432/3432/3432 3440/3440/3440 3433/3433/3433\nf 3434/3434/3434 3441/3441/3441 3442/3442/3442\nf 3434/3434/3434 3442/3442/3442 3435/3435/3435\nf 3435/3435/3435 3442/3442/3442 3443/3443/3443\nf 3435/3435/3435 3443/3443/3443 3436/3436/3436\nf 3436/3436/3436 3443/3443/3443 3444/3444/3444\nf 3436/3436/3436 3444/3444/3444 3437/3437/3437\nf 3437/3437/3437 3444/3444/3444 3438/3438/3438\nf 3437/3437/3437 3438/3438/3438 3431/3431/3431\nf 3438/3438/3438 3445/3445/3445 3446/3446/3446\nf 3438/3438/3438 3446/3446/3446 3439/3439/3439\nf 3439/3439/3439 3446/3446/3446 3447/3447/3447\nf 3439/3439/3439 3447/3447/3447 3440/3440/3440\nf 3441/3441/3441 3448/3448/3448 3449/3449/3449\nf 3441/3441/3441 3449/3449/3449 3442/3442/3442\nf 3442/3442/3442 3449/3449/3449 3450/3450/3450\nf 3442/3442/3442 3450/3450/3450 3443/3443/3443\nf 3443/3443/3443 3450/3450/3450 3451/3451/3451\nf 3443/3443/3443 3451/3451/3451 3444/3444/3444\nf 3444/3444/3444 3451/3451/3451 3445/3445/3445\nf 3444/3444/3444 3445/3445/3445 3438/3438/3438\nf 3452/3452/3452 3453/3453/3453 3454/3454/3454\nf 3452/3452/3452 3454/3454/3454 3455/3455/3455\nf 3455/3455/3455 3454/3454/3454 3456/3456/3456\nf 3455/3455/3455 3456/3456/3456 3457/3457/3457\nf 3458/3458/3458 3459/3459/3459 3460/3460/3460\nf 3458/3458/3458 3460/3460/3460 3461/3461/3461\nf 3461/3461/3461 3460/3460/3460 3462/3462/3462\nf 3461/3461/3461 3462/3462/3462 3463/3463/3463\nf 3463/3463/3463 3462/3462/3462 3464/3464/3464\nf 3463/3463/3463 3464/3464/3464 3465/3465/3465\nf 3465/3465/3465 3464/3464/3464 3453/3453/3453\nf 3465/3465/3465 3453/3453/3453 3452/3452/3452\nf 3453/3453/3453 3466/3466/3466 3467/3467/3467\nf 3453/3453/3453 3467/3467/3467 3454/3454/3454\nf 3454/3454/3454 3467/3467/3467 3468/3468/3468\nf 3454/3454/3454 3468/3468/3468 3456/3456/3456\nf 3459/3459/3459 3469/3469/3469 3470/3470/3470\nf 3459/3459/3459 3470/3470/3470 3460/3460/3460\nf 3460/3460/3460 3470/3470/3470 3471/3471/3471\nf 3460/3460/3460 3471/3471/3471 3462/3462/3462\nf 3462/3462/3462 3471/3471/3471 3472/3472/3472\nf 3462/3462/3462 3472/3472/3472 3464/3464/3464\nf 3464/3464/3464 3472/3472/3472 3466/3466/3466\nf 3464/3464/3464 3466/3466/3466 3453/3453/3453\nf 3466/3466/3466 3473/3473/3473 3474/3474/3474\nf 3466/3466/3466 3474/3474/3474 3467/3467/3467\nf 3467/3467/3467 3474/3474/3474 3475/3475/3475\nf 3467/3467/3467 3475/3475/3475 3468/3468/3468\nf 3469/3469/3469 3476/3476/3476 3477/3477/3477\nf 3469/3469/3469 3477/3477/3477 3470/3470/3470\nf 3470/3470/3470 3477/3477/3477 3478/3478/3478\nf 3470/3470/3470 3478/3478/3478 3471/3471/3471\nf 3471/3471/3471 3478/3478/3478 3479/3479/3479\nf 3471/3471/3471 3479/3479/3479 3472/3472/3472\nf 3472/3472/3472 3479/3479/3479 3473/3473/3473\nf 3472/3472/3472 3473/3473/3473 3466/3466/3466\nf 3473/3473/3473 3480/3480/3480 3481/3481/3481\nf 3473/3473/3473 3481/3481/3481 3474/3474/3474\nf 3474/3474/3474 3481/3481/3481 3482/3482/3482\nf 3474/3474/3474 3482/3482/3482 3475/3475/3475\nf 3476/3476/3476 3483/3483/3483 3484/3484/3484\nf 3476/3476/3476 3484/3484/3484 3477/3477/3477\nf 3477/3477/3477 3484/3484/3484 3485/3485/3485\nf 3477/3477/3477 3485/3485/3485 3478/3478/3478\nf 3478/3478/3478 3485/3485/3485 3486/3486/3486\nf 3478/3478/3478 3486/3486/3486 3479/3479/3479\nf 3479/3479/3479 3486/3486/3486 3480/3480/3480\nf 3479/3479/3479 3480/3480/3480 3473/3473/3473\nf 3480/3480/3480 3487/3487/3487 3488/3488/3488\nf 3480/3480/3480 3488/3488/3488 3481/3481/3481\nf 3481/3481/3481 3488/3488/3488 3489/3489/3489\nf 3481/3481/3481 3489/3489/3489 3482/3482/3482\nf 3483/3483/3483 3490/3490/3490 3491/3491/3491\nf 3483/3483/3483 3491/3491/3491 3484/3484/3484\nf 3484/3484/3484 3491/3491/3491 3492/3492/3492\nf 3484/3484/3484 3492/3492/3492 3485/3485/3485\nf 3485/3485/3485 3492/3492/3492 3493/3493/3493\nf 3485/3485/3485 3493/3493/3493 3486/3486/3486\nf 3486/3486/3486 3493/3493/3493 3487/3487/3487\nf 3486/3486/3486 3487/3487/3487 3480/3480/3480\nf 3487/3487/3487 3494/3494/3494 3495/3495/3495\nf 3487/3487/3487 3495/3495/3495 3488/3488/3488\nf 3488/3488/3488 3495/3495/3495 3496/3496/3496\nf 3488/3488/3488 3496/3496/3496 3489/3489/3489\nf 3490/3490/3490 3497/3497/3497 3498/3498/3498\nf 3490/3490/3490 3498/3498/3498 3491/3491/3491\nf 3491/3491/3491 3498/3498/3498 3499/3499/3499\nf 3491/3491/3491 3499/3499/3499 3492/3492/3492\nf 3492/3492/3492 3499/3499/3499 3500/3500/3500\nf 3492/3492/3492 3500/3500/3500 3493/3493/3493\nf 3493/3493/3493 3500/3500/3500 3494/3494/3494\nf 3493/3493/3493 3494/3494/3494 3487/3487/3487\nf 3494/3494/3494 3501/3501/3501 3502/3502/3502\nf 3494/3494/3494 3502/3502/3502 3495/3495/3495\nf 3495/3495/3495 3502/3502/3502 3503/3503/3503\nf 3495/3495/3495 3503/3503/3503 3496/3496/3496\nf 3497/3497/3497 3504/3504/3504 3505/3505/3505\nf 3497/3497/3497 3505/3505/3505 3498/3498/3498\nf 3498/3498/3498 3505/3505/3505 3506/3506/3506\nf 3498/3498/3498 3506/3506/3506 3499/3499/3499\nf 3499/3499/3499 3506/3506/3506 3507/3507/3507\nf 3499/3499/3499 3507/3507/3507 3500/3500/3500\nf 3500/3500/3500 3507/3507/3507 3501/3501/3501\nf 3500/3500/3500 3501/3501/3501 3494/3494/3494\nf 3501/3501/3501 3508/3508/3508 3509/3509/3509\nf 3501/3501/3501 3509/3509/3509 3502/3502/3502\nf 3502/3502/3502 3509/3509/3509 3510/3510/3510\nf 3502/3502/3502 3510/3510/3510 3503/3503/3503\nf 3504/3504/3504 3511/3511/3511 3512/3512/3512\nf 3504/3504/3504 3512/3512/3512 3505/3505/3505\nf 3505/3505/3505 3512/3512/3512 3513/3513/3513\nf 3505/3505/3505 3513/3513/3513 3506/3506/3506\nf 3506/3506/3506 3513/3513/3513 3514/3514/3514\nf 3506/3506/3506 3514/3514/3514 3507/3507/3507\nf 3507/3507/3507 3514/3514/3514 3508/3508/3508\nf 3507/3507/3507 3508/3508/3508 3501/3501/3501\nf 3508/3508/3508 3515/3515/3515 3516/3516/3516\nf 3508/3508/3508 3516/3516/3516 3509/3509/3509\nf 3509/3509/3509 3516/3516/3516 3517/3517/3517\nf 3509/3509/3509 3517/3517/3517 3510/3510/3510\nf 3511/3511/3511 3518/3518/3518 3519/3519/3519\nf 3511/3511/3511 3519/3519/3519 3512/3512/3512\nf 3512/3512/3512 3519/3519/3519 3520/3520/3520\nf 3512/3512/3512 3520/3520/3520 3513/3513/3513\nf 3513/3513/3513 3520/3520/3520 3521/3521/3521\nf 3513/3513/3513 3521/3521/3521 3514/3514/3514\nf 3514/3514/3514 3521/3521/3521 3515/3515/3515\nf 3514/3514/3514 3515/3515/3515 3508/3508/3508\nf 3515/3515/3515 3522/3522/3522 3523/3523/3523\nf 3515/3515/3515 3523/3523/3523 3516/3516/3516\nf 3516/3516/3516 3523/3523/3523 3524/3524/3524\nf 3516/3516/3516 3524/3524/3524 3517/3517/3517\nf 3518/3518/3518 3525/3525/3525 3526/3526/3526\nf 3518/3518/3518 3526/3526/3526 3519/3519/3519\nf 3519/3519/3519 3526/3526/3526 3527/3527/3527\nf 3519/3519/3519 3527/3527/3527 3520/3520/3520\nf 3520/3520/3520 3527/3527/3527 3528/3528/3528\nf 3520/3520/3520 3528/3528/3528 3521/3521/3521\nf 3521/3521/3521 3528/3528/3528 3522/3522/3522\nf 3521/3521/3521 3522/3522/3522 3515/3515/3515\nf 3522/3522/3522 3529/3529/3529 3530/3530/3530\nf 3522/3522/3522 3530/3530/3530 3523/3523/3523\nf 3523/3523/3523 3530/3530/3530 3531/3531/3531\nf 3523/3523/3523 3531/3531/3531 3524/3524/3524\nf 3525/3525/3525 3532/3532/3532 3533/3533/3533\nf 3525/3525/3525 3533/3533/3533 3526/3526/3526\nf 3526/3526/3526 3533/3533/3533 3534/3534/3534\nf 3526/3526/3526 3534/3534/3534 3527/3527/3527\nf 3527/3527/3527 3534/3534/3534 3535/3535/3535\nf 3527/3527/3527 3535/3535/3535 3528/3528/3528\nf 3528/3528/3528 3535/3535/3535 3529/3529/3529\nf 3528/3528/3528 3529/3529/3529 3522/3522/3522\nf 3529/3529/3529 3536/3536/3536 3537/3537/3537\nf 3529/3529/3529 3537/3537/3537 3530/3530/3530\nf 3530/3530/3530 3537/3537/3537 3538/3538/3538\nf 3530/3530/3530 3538/3538/3538 3531/3531/3531\nf 3532/3532/3532 3539/3539/3539 3540/3540/3540\nf 3532/3532/3532 3540/3540/3540 3533/3533/3533\nf 3533/3533/3533 3540/3540/3540 3541/3541/3541\nf 3533/3533/3533 3541/3541/3541 3534/3534/3534\nf 3534/3534/3534 3541/3541/3541 3542/3542/3542\nf 3534/3534/3534 3542/3542/3542 3535/3535/3535\nf 3535/3535/3535 3542/3542/3542 3536/3536/3536\nf 3535/3535/3535 3536/3536/3536 3529/3529/3529\nf 3536/3536/3536 3543/3543/3543 3544/3544/3544\nf 3536/3536/3536 3544/3544/3544 3537/3537/3537\nf 3537/3537/3537 3544/3544/3544 3545/3545/3545\nf 3537/3537/3537 3545/3545/3545 3538/3538/3538\nf 3539/3539/3539 3546/3546/3546 3547/3547/3547\nf 3539/3539/3539 3547/3547/3547 3540/3540/3540\nf 3540/3540/3540 3547/3547/3547 3548/3548/3548\nf 3540/3540/3540 3548/3548/3548 3541/3541/3541\nf 3541/3541/3541 3548/3548/3548 3549/3549/3549\nf 3541/3541/3541 3549/3549/3549 3542/3542/3542\nf 3542/3542/3542 3549/3549/3549 3543/3543/3543\nf 3542/3542/3542 3543/3543/3543 3536/3536/3536\nf 3543/3543/3543 3550/3550/3550 3551/3551/3551\nf 3543/3543/3543 3551/3551/3551 3544/3544/3544\nf 3544/3544/3544 3551/3551/3551 3552/3552/3552\nf 3544/3544/3544 3552/3552/3552 3545/3545/3545\nf 3546/3546/3546 3553/3553/3553 3554/3554/3554\nf 3546/3546/3546 3554/3554/3554 3547/3547/3547\nf 3547/3547/3547 3554/3554/3554 3555/3555/3555\nf 3547/3547/3547 3555/3555/3555 3548/3548/3548\nf 3548/3548/3548 3555/3555/3555 3556/3556/3556\nf 3548/3548/3548 3556/3556/3556 3549/3549/3549\nf 3549/3549/3549 3556/3556/3556 3550/3550/3550\nf 3549/3549/3549 3550/3550/3550 3543/3543/3543\nf 3550/3550/3550 3557/3557/3557 3558/3558/3558\nf 3550/3550/3550 3558/3558/3558 3551/3551/3551\nf 3551/3551/3551 3558/3558/3558 3559/3559/3559\nf 3551/3551/3551 3559/3559/3559 3552/3552/3552\nf 3553/3553/3553 3560/3560/3560 3561/3561/3561\nf 3553/3553/3553 3561/3561/3561 3554/3554/3554\nf 3554/3554/3554 3561/3561/3561 3562/3562/3562\nf 3554/3554/3554 3562/3562/3562 3555/3555/3555\nf 3555/3555/3555 3562/3562/3562 3563/3563/3563\nf 3555/3555/3555 3563/3563/3563 3556/3556/3556\nf 3556/3556/3556 3563/3563/3563 3557/3557/3557\nf 3556/3556/3556 3557/3557/3557 3550/3550/3550\nf 3557/3557/3557 3564/3564/3564 3565/3565/3565\nf 3557/3557/3557 3565/3565/3565 3558/3558/3558\nf 3558/3558/3558 3565/3565/3565 3566/3566/3566\nf 3558/3558/3558 3566/3566/3566 3559/3559/3559\nf 3560/3560/3560 3567/3567/3567 3568/3568/3568\nf 3560/3560/3560 3568/3568/3568 3561/3561/3561\nf 3561/3561/3561 3568/3568/3568 3569/3569/3569\nf 3561/3561/3561 3569/3569/3569 3562/3562/3562\nf 3562/3562/3562 3569/3569/3569 3570/3570/3570\nf 3562/3562/3562 3570/3570/3570 3563/3563/3563\nf 3563/3563/3563 3570/3570/3570 3564/3564/3564\nf 3563/3563/3563 3564/3564/3564 3557/3557/3557\nf 3571/3571/3571 3572/3572/3572 3573/3573/3573\nf 3571/3571/3571 3573/3573/3573 3574/3574/3574\nf 3573/3573/3573 3575/3575/3575 3574/3574/3574\nf 3576/3576/3576 3571/3571/3571 3574/3574/3574\nf 3577/3577/3577 3578/3578/3578 3579/3579/3579\nf 3577/3577/3577 3579/3579/3579 3580/3580/3580\nf 3579/3579/3579 3581/3581/3581 3580/3580/3580\nf 3582/3582/3582 3577/3577/3577 3580/3580/3580\nf 3583/3583/3583 3584/3584/3584 3585/3585/3585\nf 3583/3583/3583 3585/3585/3585 3586/3586/3586\nf 3585/3585/3585 3587/3587/3587 3586/3586/3586\nf 3588/3588/3588 3583/3583/3583 3586/3586/3586\nf 3589/3589/3589 3590/3590/3590 3591/3591/3591\nf 3589/3589/3589 3591/3591/3591 3592/3592/3592\nf 3591/3591/3591 3593/3593/3593 3592/3592/3592\nf 3594/3594/3594 3589/3589/3589 3592/3592/3592\nf 3595/3595/3595 3596/3596/3596 3597/3597/3597\nf 3595/3595/3595 3597/3597/3597 3598/3598/3598\nf 3597/3597/3597 3599/3599/3599 3598/3598/3598\nf 3600/3600/3600 3595/3595/3595 3598/3598/3598\nf 3601/3601/3601 3602/3602/3602 3603/3603/3603\nf 3601/3601/3601 3603/3603/3603 3604/3604/3604\nf 3603/3603/3603 3605/3605/3605 3604/3604/3604\nf 3606/3606/3606 3601/3601/3601 3604/3604/3604\n"
  },
  {
    "path": "data/sandcastle.obj",
    "content": "# This file uses centimeters as units for non-parametric coordinates.\n\nv 0.317019 0.000000 -0.103006\nv 0.269673 0.000000 -0.195929\nv 0.195929 0.000000 -0.269673\nv 0.103006 0.000000 -0.317019\nv 0.000000 0.000000 -0.333333\nv -0.103006 0.000000 -0.317019\nv -0.195928 0.000000 -0.269672\nv -0.269672 0.000000 -0.195928\nv -0.317019 0.000000 -0.103006\nv -0.333333 0.000000 0.000000\nv -0.317019 0.000000 0.103006\nv -0.269672 0.000000 0.195928\nv -0.195928 0.000000 0.269672\nv -0.103006 0.000000 0.317019\nv -0.000000 0.000000 0.333333\nv 0.103006 0.000000 0.317019\nv 0.195928 0.000000 0.269672\nv 0.269672 0.000000 0.195928\nv 0.317019 0.000000 0.103006\nv 0.333333 0.000000 0.000000\nv 0.634038 0.000000 -0.206011\nv 0.539345 0.000000 -0.391857\nv 0.391857 0.000000 -0.539345\nv 0.206011 0.000000 -0.634038\nv 0.000000 0.000000 -0.666667\nv -0.206011 0.000000 -0.634038\nv -0.391857 0.000000 -0.539345\nv -0.539345 0.000000 -0.391857\nv -0.634038 0.000000 -0.206011\nv -0.666667 0.000000 0.000000\nv -0.634038 0.000000 0.206011\nv -0.539345 0.000000 0.391857\nv -0.391857 0.000000 0.539345\nv -0.206011 0.000000 0.634038\nv -0.000000 0.000000 0.666667\nv 0.206011 0.000000 0.634038\nv 0.391857 0.000000 0.539345\nv 0.539345 0.000000 0.391857\nv 0.634038 0.000000 0.206011\nv 0.666667 0.000000 0.000000\nv 0.951057 0.000000 -0.309017\nv 0.809018 0.000000 -0.587786\nv 0.587786 0.000000 -0.809017\nv 0.309017 0.000000 -0.951057\nv 0.000000 0.000000 -1.000000\nv -0.309017 0.000000 -0.951057\nv -0.587785 0.000000 -0.809017\nv -0.809017 0.000000 -0.587785\nv -0.951057 0.000000 -0.309017\nv -1.000000 0.000000 0.000000\nv -0.951057 0.000000 0.309017\nv -0.809017 0.000000 0.587785\nv -0.587785 0.000000 0.809017\nv -0.309017 0.000000 0.951057\nv -0.000000 0.000000 1.000000\nv 0.309017 0.000000 0.951057\nv 0.587785 0.000000 0.809017\nv 0.809017 0.000000 0.587785\nv 0.951057 0.000000 0.309017\nv 1.000000 0.000000 0.000000\nv 0.951057 3.000000 -0.309017\nv 0.809018 3.000000 -0.587786\nv 0.587786 3.000000 -0.809017\nv 0.309017 3.000000 -0.951057\nv 0.000000 3.000000 -1.000000\nv -0.309017 3.000000 -0.951057\nv -0.587785 3.000000 -0.809017\nv -0.809017 3.000000 -0.587785\nv -0.951057 3.000000 -0.309017\nv -1.000000 3.000000 0.000000\nv -0.951057 3.000000 0.309017\nv -0.809017 3.000000 0.587785\nv -0.587785 3.000000 0.809017\nv -0.309017 3.000000 0.951057\nv -0.000000 3.000000 1.000000\nv 0.309017 3.000000 0.951057\nv 0.587785 3.000000 0.809017\nv 0.809017 3.000000 0.587785\nv 0.951057 3.000000 0.309017\nv 1.000000 3.000000 0.000000\nv 0.634038 3.000000 -0.206011\nv 0.539345 3.000000 -0.391857\nv 0.391857 3.000000 -0.539345\nv 0.206011 3.000000 -0.634038\nv 0.000000 3.000000 -0.666667\nv -0.206011 3.000000 -0.634038\nv -0.391857 3.000000 -0.539345\nv -0.539345 3.000000 -0.391857\nv -0.634038 3.000000 -0.206011\nv -0.666667 3.000000 0.000000\nv -0.634038 3.000000 0.206011\nv -0.539345 3.000000 0.391857\nv -0.391857 3.000000 0.539345\nv -0.206011 3.000000 0.634038\nv -0.000000 3.000000 0.666667\nv 0.206011 3.000000 0.634038\nv 0.391857 3.000000 0.539345\nv 0.539345 3.000000 0.391857\nv 0.634038 3.000000 0.206011\nv 0.666667 3.000000 0.000000\nv 0.317019 3.000000 -0.103006\nv 0.269673 3.000000 -0.195929\nv 0.195929 3.000000 -0.269673\nv 0.103006 3.000000 -0.317019\nv 0.000000 3.000000 -0.333333\nv -0.103006 3.000000 -0.317019\nv -0.195928 3.000000 -0.269672\nv -0.269672 3.000000 -0.195928\nv -0.317019 3.000000 -0.103006\nv -0.333333 3.000000 0.000000\nv -0.317019 3.000000 0.103006\nv -0.269672 3.000000 0.195928\nv -0.195928 3.000000 0.269672\nv -0.103006 3.000000 0.317019\nv -0.000000 3.000000 0.333333\nv 0.103006 3.000000 0.317019\nv 0.195928 3.000000 0.269672\nv 0.269672 3.000000 0.195928\nv 0.317019 3.000000 0.103006\nv 0.333333 3.000000 0.000000\nv 0.000000 0.000000 0.000000\nv 0.000000 3.000000 0.000000\nv 0.951057 3.274075 -0.309017\nv 0.809018 3.274075 -0.587786\nv 0.539345 3.274075 -0.391857\nv 0.634038 3.274075 -0.206012\nv 0.587786 3.274075 -0.809017\nv 0.309017 3.274075 -0.951057\nv 0.206011 3.274075 -0.634038\nv 0.391857 3.274075 -0.539345\nv 0.000000 3.274075 -1.000001\nv -0.309017 3.274075 -0.951057\nv -0.206011 3.274075 -0.634038\nv 0.000000 3.274075 -0.666667\nv -0.587785 3.274075 -0.809017\nv -0.809017 3.274075 -0.587785\nv -0.539345 3.274075 -0.391857\nv -0.391857 3.274075 -0.539345\nv -0.951057 3.274075 -0.309017\nv -1.000000 3.274075 0.000000\nv -0.666667 3.274075 0.000000\nv -0.634038 3.274075 -0.206011\nv -0.951057 3.274075 0.309017\nv -0.809017 3.274075 0.587785\nv -0.539345 3.274075 0.391857\nv -0.634038 3.274075 0.206011\nv -0.587785 3.274075 0.809017\nv -0.309017 3.274075 0.951057\nv -0.206011 3.274075 0.634038\nv -0.391857 3.274075 0.539345\nv -0.000000 3.274075 1.000000\nv 0.309017 3.274075 0.951056\nv 0.206011 3.274075 0.634038\nv -0.000000 3.274075 0.666667\nv 0.587785 3.274075 0.809017\nv 0.809017 3.274075 0.587785\nv 0.539345 3.274075 0.391857\nv 0.391857 3.274075 0.539345\nv 0.951057 3.274075 0.309017\nv 1.000000 3.274075 0.000000\nv 0.666667 3.274075 0.000000\nv 0.634038 3.274075 0.206011\nvt 0.549534 0.140155\nvt 0.542136 0.125636\nvt 0.530614 0.114114\nvt 0.516095 0.106716\nvt 0.500000 0.104167\nvt 0.483905 0.106716\nvt 0.469386 0.114114\nvt 0.457864 0.125636\nvt 0.450466 0.140155\nvt 0.447917 0.156250\nvt 0.450466 0.172345\nvt 0.457864 0.186864\nvt 0.469386 0.198386\nvt 0.483905 0.205784\nvt 0.500000 0.208333\nvt 0.516095 0.205784\nvt 0.530614 0.198386\nvt 0.542136 0.186864\nvt 0.549534 0.172345\nvt 0.552083 0.156250\nvt 0.599068 0.124061\nvt 0.584273 0.095022\nvt 0.561228 0.071977\nvt 0.532189 0.057182\nvt 0.500000 0.052083\nvt 0.467811 0.057182\nvt 0.438772 0.071977\nvt 0.415727 0.095022\nvt 0.400932 0.124061\nvt 0.395833 0.156250\nvt 0.400932 0.188439\nvt 0.415727 0.217478\nvt 0.438772 0.240523\nvt 0.467811 0.255318\nvt 0.500000 0.260417\nvt 0.532189 0.255318\nvt 0.561228 0.240523\nvt 0.584273 0.217478\nvt 0.599068 0.188439\nvt 0.604167 0.156250\nvt 0.648603 0.107966\nvt 0.626409 0.064408\nvt 0.591842 0.029841\nvt 0.548284 0.007647\nvt 0.500000 -0.000000\nvt 0.451716 0.007647\nvt 0.408159 0.029841\nvt 0.373591 0.064409\nvt 0.351397 0.107966\nvt 0.343750 0.156250\nvt 0.351397 0.204534\nvt 0.373591 0.248091\nvt 0.408159 0.282659\nvt 0.451716 0.304853\nvt 0.500000 0.312500\nvt 0.548284 0.304853\nvt 0.591841 0.282659\nvt 0.626409 0.248091\nvt 0.648603 0.204534\nvt 0.656250 0.156250\nvt 0.375000 0.312500\nvt 0.387500 0.312500\nvt 0.400000 0.312500\nvt 0.412500 0.312500\nvt 0.425000 0.312500\nvt 0.437500 0.312500\nvt 0.450000 0.312500\nvt 0.462500 0.312500\nvt 0.475000 0.312500\nvt 0.487500 0.312500\nvt 0.500000 0.312500\nvt 0.512500 0.312500\nvt 0.525000 0.312500\nvt 0.537500 0.312500\nvt 0.550000 0.312500\nvt 0.562500 0.312500\nvt 0.575000 0.312500\nvt 0.587500 0.312500\nvt 0.600000 0.312500\nvt 0.612500 0.312500\nvt 0.625000 0.312500\nvt 0.375000 0.688440\nvt 0.387500 0.688440\nvt 0.400000 0.688440\nvt 0.412500 0.688440\nvt 0.425000 0.688440\nvt 0.437500 0.688440\nvt 0.450000 0.688440\nvt 0.462500 0.688440\nvt 0.475000 0.688440\nvt 0.487500 0.688440\nvt 0.500000 0.688440\nvt 0.512500 0.688440\nvt 0.525000 0.688440\nvt 0.537500 0.688440\nvt 0.550000 0.688440\nvt 0.562500 0.688440\nvt 0.575000 0.688440\nvt 0.587500 0.688440\nvt 0.600000 0.688440\nvt 0.612500 0.688440\nvt 0.625000 0.688440\nvt 0.648603 0.795466\nvt 0.626409 0.751908\nvt 0.591842 0.717341\nvt 0.548284 0.695147\nvt 0.500000 0.687500\nvt 0.451716 0.695147\nvt 0.408159 0.717341\nvt 0.373591 0.751909\nvt 0.351397 0.795466\nvt 0.343750 0.843750\nvt 0.351397 0.892034\nvt 0.373591 0.935591\nvt 0.408159 0.970159\nvt 0.451716 0.992353\nvt 0.500000 1.000000\nvt 0.548284 0.992353\nvt 0.591841 0.970159\nvt 0.626409 0.935591\nvt 0.648603 0.892034\nvt 0.656250 0.843750\nvt 0.599068 0.811561\nvt 0.584273 0.782522\nvt 0.561228 0.759477\nvt 0.532189 0.744682\nvt 0.500000 0.739583\nvt 0.467811 0.744682\nvt 0.438772 0.759477\nvt 0.415727 0.782522\nvt 0.400932 0.811561\nvt 0.395833 0.843750\nvt 0.400932 0.875939\nvt 0.415727 0.904978\nvt 0.438772 0.928023\nvt 0.467811 0.942818\nvt 0.500000 0.947917\nvt 0.532189 0.942818\nvt 0.561228 0.928023\nvt 0.584273 0.904978\nvt 0.599068 0.875939\nvt 0.604167 0.843750\nvt 0.549534 0.827655\nvt 0.542136 0.813136\nvt 0.530614 0.801614\nvt 0.516095 0.794216\nvt 0.500000 0.791667\nvt 0.483905 0.794216\nvt 0.469386 0.801614\nvt 0.457864 0.813136\nvt 0.450466 0.827655\nvt 0.447917 0.843750\nvt 0.450466 0.859845\nvt 0.457864 0.874364\nvt 0.469386 0.885886\nvt 0.483905 0.893284\nvt 0.500000 0.895833\nvt 0.516095 0.893284\nvt 0.530614 0.885886\nvt 0.542136 0.874364\nvt 0.549534 0.859845\nvt 0.552083 0.843750\nvt 0.500000 0.150000\nvt 0.500000 0.837500\nvt 0.648603 0.892034\nvt 0.626409 0.935591\nvt 0.584273 0.904978\nvt 0.599068 0.875939\nvt 0.591841 0.970159\nvt 0.548284 0.992353\nvt 0.532189 0.942818\nvt 0.561228 0.928023\nvt 0.500000 1.000000\nvt 0.451716 0.992353\nvt 0.467811 0.942818\nvt 0.500000 0.947917\nvt 0.408159 0.970159\nvt 0.373591 0.935591\nvt 0.415727 0.904978\nvt 0.438772 0.928023\nvt 0.351397 0.892034\nvt 0.343750 0.843750\nvt 0.395833 0.843750\nvt 0.400932 0.875939\nvt 0.351397 0.795466\nvt 0.373591 0.751909\nvt 0.415727 0.782522\nvt 0.400932 0.811561\nvt 0.408159 0.717341\nvt 0.451716 0.695147\nvt 0.467811 0.744682\nvt 0.438772 0.759477\nvt 0.500000 0.687500\nvt 0.548284 0.695147\nvt 0.532189 0.744682\nvt 0.500000 0.739583\nvt 0.591842 0.717341\nvt 0.626409 0.751908\nvt 0.584273 0.782522\nvt 0.561228 0.759477\nvt 0.648603 0.795466\nvt 0.656250 0.843750\nvt 0.604167 0.843750\nvt 0.599068 0.811561\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 0.000001\nvn 0.000000 -1.000000 0.000001\nvn 0.000000 -1.000000 0.000001\nvn 0.000000 -1.000000 0.000001\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 0.000001\nvn 0.000000 -1.000000 0.000001\nvn 0.000000 -1.000000 0.000001\nvn 0.000000 -1.000000 0.000001\nvn 0.000000 -1.000000 -0.000001\nvn 0.000000 -1.000000 -0.000001\nvn 0.000000 -1.000000 -0.000001\nvn 0.000000 -1.000000 -0.000001\nvn 0.000000 -1.000000 0.000001\nvn 0.000000 -1.000000 0.000001\nvn 0.000000 -1.000000 0.000001\nvn 0.000000 -1.000000 0.000001\nvn 0.000000 -1.000000 0.000001\nvn 0.000000 -1.000000 0.000001\nvn 0.000000 -1.000000 0.000001\nvn 0.000000 -1.000000 0.000001\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 -0.000000\nvn 0.000000 -1.000000 -0.000000\nvn 0.000000 -1.000000 -0.000000\nvn 0.000000 -1.000000 -0.000000\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 -0.000001\nvn 0.000000 -1.000000 -0.000001\nvn 0.000000 -1.000000 -0.000001\nvn 0.000000 -1.000000 -0.000001\nvn 0.000000 -1.000000 0.000001\nvn 0.000000 -1.000000 0.000001\nvn 0.000000 -1.000000 0.000001\nvn 0.000000 -1.000000 0.000001\nvn 0.000000 -1.000000 0.000001\nvn 0.000000 -1.000000 0.000001\nvn 0.000000 -1.000000 0.000001\nvn 0.000000 -1.000000 0.000001\nvn 0.000000 -1.000000 -0.000001\nvn 0.000000 -1.000000 -0.000001\nvn 0.000000 -1.000000 -0.000001\nvn 0.000000 -1.000000 -0.000001\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 -0.000000\nvn 0.000000 -1.000000 -0.000000\nvn 0.000000 -1.000000 -0.000000\nvn 0.000000 -1.000000 -0.000000\nvn 0.000000 -1.000000 -0.000000\nvn 0.000000 -1.000000 -0.000000\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 0.000001\nvn 0.000000 -1.000000 0.000001\nvn 0.000000 -1.000000 0.000001\nvn 0.000000 -1.000000 0.000001\nvn 0.000000 -1.000000 -0.000000\nvn 0.000000 -1.000000 -0.000000\nvn 0.000000 -1.000000 -0.000000\nvn 0.000000 -1.000000 -0.000000\nvn 0.000000 -1.000000 0.000001\nvn 0.000000 -1.000000 0.000001\nvn 0.000000 -1.000000 0.000001\nvn 0.000000 -1.000000 0.000001\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 -0.000000\nvn 0.000000 -1.000000 -0.000000\nvn 0.000000 -1.000000 -0.000000\nvn 0.000000 -1.000000 -0.000000\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 0.000000\nvn 0.891007 0.000000 -0.453990\nvn 0.891007 0.000000 -0.453990\nvn 0.891007 0.000000 -0.453990\nvn 0.891007 0.000000 -0.453990\nvn 0.707107 0.000000 -0.707107\nvn 0.707107 0.000000 -0.707107\nvn 0.707107 0.000000 -0.707107\nvn 0.707107 0.000000 -0.707107\nvn 0.453990 0.000000 -0.891007\nvn 0.453990 0.000000 -0.891007\nvn 0.453990 0.000000 -0.891007\nvn 0.453990 0.000000 -0.891007\nvn 0.156434 0.000000 -0.987688\nvn 0.156434 0.000000 -0.987688\nvn 0.156434 0.000000 -0.987688\nvn 0.156434 0.000000 -0.987688\nvn -0.156435 0.000000 -0.987688\nvn -0.156435 0.000000 -0.987688\nvn -0.156435 0.000000 -0.987688\nvn -0.156435 0.000000 -0.987688\nvn -0.453991 0.000000 -0.891007\nvn -0.453991 0.000000 -0.891007\nvn -0.453991 0.000000 -0.891007\nvn -0.453991 0.000000 -0.891007\nvn -0.707107 0.000000 -0.707106\nvn -0.707107 0.000000 -0.707106\nvn -0.707107 0.000000 -0.707106\nvn -0.707107 0.000000 -0.707106\nvn -0.891007 0.000000 -0.453990\nvn -0.891007 0.000000 -0.453990\nvn -0.891007 0.000000 -0.453990\nvn -0.891007 0.000000 -0.453990\nvn -0.987688 0.000000 -0.156434\nvn -0.987688 0.000000 -0.156434\nvn -0.987688 0.000000 -0.156434\nvn -0.987688 0.000000 -0.156434\nvn -0.987688 0.000000 0.156434\nvn -0.987688 0.000000 0.156434\nvn -0.987688 0.000000 0.156434\nvn -0.987688 0.000000 0.156434\nvn -0.891006 0.000000 0.453991\nvn -0.891006 0.000000 0.453991\nvn -0.891006 0.000000 0.453991\nvn -0.891006 0.000000 0.453991\nvn -0.707107 0.000000 0.707107\nvn -0.707107 0.000000 0.707107\nvn -0.707107 0.000000 0.707107\nvn -0.707107 0.000000 0.707107\nvn -0.453991 0.000000 0.891007\nvn -0.453991 0.000000 0.891007\nvn -0.453991 0.000000 0.891007\nvn -0.453991 0.000000 0.891007\nvn -0.156435 0.000000 0.987688\nvn -0.156435 0.000000 0.987688\nvn -0.156435 0.000000 0.987688\nvn -0.156435 0.000000 0.987688\nvn 0.156435 0.000000 0.987688\nvn 0.156435 0.000000 0.987688\nvn 0.156435 0.000000 0.987688\nvn 0.156435 0.000000 0.987688\nvn 0.453991 0.000000 0.891006\nvn 0.453991 0.000000 0.891006\nvn 0.453991 0.000000 0.891006\nvn 0.453991 0.000000 0.891006\nvn 0.707107 0.000000 0.707107\nvn 0.707107 0.000000 0.707107\nvn 0.707107 0.000000 0.707107\nvn 0.707107 0.000000 0.707107\nvn 0.891007 0.000000 0.453990\nvn 0.891007 0.000000 0.453990\nvn 0.891007 0.000000 0.453990\nvn 0.891007 0.000000 0.453990\nvn 0.987688 0.000000 0.156434\nvn 0.987688 0.000000 0.156434\nvn 0.987688 0.000000 0.156434\nvn 0.987688 0.000000 0.156434\nvn 0.987689 0.000000 -0.156432\nvn 0.987689 0.000000 -0.156432\nvn 0.987689 0.000000 -0.156432\nvn 0.987689 0.000000 -0.156432\nvn 0.000000 1.000000 -0.000001\nvn 0.000000 1.000000 -0.000001\nvn 0.000000 1.000000 -0.000001\nvn 0.000000 1.000000 -0.000001\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 -0.000001\nvn 0.000000 1.000000 -0.000001\nvn 0.000000 1.000000 -0.000001\nvn 0.000000 1.000000 -0.000001\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000001\nvn 0.000000 1.000000 0.000001\nvn 0.000000 1.000000 0.000001\nvn 0.000000 1.000000 0.000001\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 -0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 -0.000001\nvn 0.000000 1.000000 -0.000001\nvn 0.000000 1.000000 -0.000001\nvn 0.000000 1.000000 -0.000001\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 -0.000001\nvn 0.000000 1.000000 -0.000001\nvn 0.000000 1.000000 -0.000001\nvn 0.000000 1.000000 -0.000001\nvn 0.000000 1.000000 0.000001\nvn 0.000000 1.000000 0.000001\nvn 0.000000 1.000000 0.000001\nvn 0.000000 1.000000 0.000001\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 -0.000001\nvn 0.000000 1.000000 -0.000001\nvn 0.000000 1.000000 -0.000001\nvn 0.000000 1.000000 -0.000001\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000001\nvn 0.000000 1.000000 0.000001\nvn 0.000000 1.000000 0.000001\nvn 0.000000 1.000000 0.000001\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 -0.000001\nvn 0.000000 1.000000 -0.000001\nvn 0.000000 1.000000 -0.000001\nvn 0.000000 1.000000 -0.000001\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 0.000002\nvn 0.000000 -1.000000 0.000002\nvn 0.000000 -1.000000 0.000002\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 -0.000002\nvn 0.000000 -1.000000 -0.000002\nvn 0.000000 -1.000000 -0.000002\nvn 0.000000 -1.000000 0.000002\nvn 0.000000 -1.000000 0.000002\nvn 0.000000 -1.000000 0.000002\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 -0.000002\nvn 0.000000 -1.000000 -0.000002\nvn 0.000000 -1.000000 -0.000002\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 -0.000001\nvn 0.000000 -1.000000 -0.000001\nvn 0.000000 -1.000000 -0.000001\nvn 0.000000 -1.000000 0.000001\nvn 0.000000 -1.000000 0.000001\nvn 0.000000 -1.000000 0.000001\nvn 0.000000 -1.000000 -0.000002\nvn 0.000000 -1.000000 -0.000002\nvn 0.000000 -1.000000 -0.000002\nvn 0.000000 -1.000000 0.000002\nvn 0.000000 -1.000000 0.000002\nvn 0.000000 -1.000000 0.000002\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 0.000000\nvn 0.000000 -1.000000 0.000002\nvn 0.000000 -1.000000 0.000002\nvn 0.000000 -1.000000 0.000002\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000002\nvn 0.000000 1.000000 0.000002\nvn 0.000000 1.000000 0.000002\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000001\nvn 0.000000 1.000000 0.000001\nvn 0.000000 1.000000 0.000001\nvn 0.000000 1.000000 -0.000002\nvn 0.000000 1.000000 -0.000002\nvn 0.000000 1.000000 -0.000002\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000002\nvn 0.000000 1.000000 0.000002\nvn 0.000000 1.000000 0.000002\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 -0.000001\nvn 0.000000 1.000000 -0.000001\nvn 0.000000 1.000000 -0.000001\nvn 0.000000 1.000000 0.000001\nvn 0.000000 1.000000 0.000001\nvn 0.000000 1.000000 0.000001\nvn 0.000000 1.000000 -0.000002\nvn 0.000000 1.000000 -0.000002\nvn 0.000000 1.000000 -0.000002\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.000000 1.000000 0.000000\nvn 0.891007 -0.000000 -0.453990\nvn 0.891007 -0.000000 -0.453990\nvn 0.891007 -0.000000 -0.453990\nvn 0.891007 -0.000000 -0.453990\nvn -0.587785 -0.000001 -0.809017\nvn -0.587785 -0.000001 -0.809017\nvn -0.587785 -0.000001 -0.809017\nvn -0.587785 -0.000001 -0.809017\nvn -0.891007 0.000000 0.453991\nvn -0.891007 0.000000 0.453991\nvn -0.891007 0.000000 0.453991\nvn -0.891007 0.000000 0.453991\nvn 0.309017 0.000001 0.951057\nvn 0.309017 0.000001 0.951057\nvn 0.309017 0.000001 0.951057\nvn 0.309017 0.000001 0.951057\nvn 0.453990 0.000001 -0.891007\nvn 0.453991 0.000001 -0.891007\nvn 0.453990 0.000001 -0.891007\nvn 0.453991 0.000001 -0.891007\nvn -0.951057 0.000000 -0.309017\nvn -0.951057 0.000000 -0.309017\nvn -0.951057 0.000000 -0.309017\nvn -0.951057 0.000000 -0.309017\nvn -0.453991 -0.000001 0.891007\nvn -0.453990 -0.000001 0.891007\nvn -0.453991 -0.000001 0.891007\nvn -0.453990 -0.000001 0.891007\nvn 0.809017 -0.000000 0.587785\nvn 0.809017 -0.000000 0.587785\nvn 0.809017 -0.000000 0.587785\nvn 0.809017 -0.000000 0.587785\nvn -0.156434 -0.000001 -0.987688\nvn -0.156434 -0.000001 -0.987688\nvn -0.156434 -0.000001 -0.987688\nvn -0.156434 -0.000001 -0.987688\nvn -0.951057 0.000000 0.309017\nvn -0.951057 0.000000 0.309017\nvn -0.951057 0.000000 0.309017\nvn -0.951057 0.000000 0.309017\nvn 0.156435 0.000001 0.987688\nvn 0.156435 0.000001 0.987688\nvn 0.156435 0.000001 0.987688\nvn 0.156435 0.000001 0.987688\nvn 1.000000 0.000000 0.000000\nvn 1.000000 0.000000 0.000000\nvn 1.000000 0.000000 0.000000\nvn 1.000000 0.000000 0.000000\nvn -0.707107 0.000000 -0.707107\nvn -0.707107 0.000000 -0.707107\nvn -0.707107 0.000000 -0.707107\nvn -0.707107 0.000000 -0.707107\nvn -0.587785 0.000000 0.809017\nvn -0.587785 0.000000 0.809017\nvn -0.587785 0.000000 0.809017\nvn -0.587785 0.000000 0.809017\nvn 0.707107 0.000000 0.707107\nvn 0.707107 0.000000 0.707107\nvn 0.707107 0.000000 0.707107\nvn 0.707107 0.000000 0.707107\nvn 0.809017 0.000000 -0.587785\nvn 0.809017 0.000000 -0.587785\nvn 0.809017 0.000000 -0.587785\nvn 0.809017 0.000000 -0.587785\nvn -0.987688 0.000000 -0.156434\nvn -0.987688 0.000000 -0.156434\nvn -0.987688 0.000000 -0.156434\nvn -0.987688 0.000000 -0.156434\nvn 0.000000 -0.000000 1.000000\nvn 0.000000 -0.000000 1.000000\nvn 0.000000 -0.000000 1.000000\nvn 0.000000 -0.000000 1.000000\nvn 0.987688 -0.000000 0.156435\nvn 0.987688 -0.000000 0.156435\nvn 0.987688 -0.000000 0.156435\nvn 0.987688 -0.000000 0.156435\nvn 0.309017 0.000000 -0.951057\nvn 0.309017 0.000000 -0.951057\nvn 0.309017 0.000000 -0.951057\nvn 0.309017 0.000000 -0.951057\nvn -0.891007 0.000000 0.453991\nvn -0.891006 0.000000 0.453991\nvn -0.891006 0.000000 0.453991\nvn -0.891007 0.000000 0.453991\nvn 0.587785 0.000001 0.809017\nvn 0.587785 0.000001 0.809017\nvn 0.587785 0.000001 0.809017\nvn 0.587785 0.000001 0.809017\nvn 0.891006 -0.000000 -0.453991\nvn 0.891006 -0.000000 -0.453991\nvn 0.891006 -0.000000 -0.453991\nvn 0.891006 -0.000000 -0.453991\nvn -0.309017 -0.000001 -0.951056\nvn -0.309017 -0.000001 -0.951056\nvn -0.309017 -0.000001 -0.951056\nvn -0.309017 -0.000001 -0.951056\nvn -0.453991 0.000000 0.891007\nvn -0.453991 0.000000 0.891007\nvn -0.453991 0.000000 0.891007\nvn -0.453991 0.000000 0.891007\nvn 0.951056 0.000000 0.309017\nvn 0.951056 0.000000 0.309017\nvn 0.951056 0.000000 0.309017\nvn 0.951056 0.000000 0.309017\nvn 0.453991 0.000000 -0.891006\nvn 0.453991 0.000000 -0.891006\nvn 0.453991 0.000000 -0.891006\nvn 0.453991 0.000000 -0.891006\nvn -0.809017 0.000000 -0.587785\nvn -0.809017 0.000000 -0.587785\nvn -0.809017 0.000000 -0.587785\nvn -0.809017 0.000000 -0.587785\nvn 0.156435 0.000000 0.987688\nvn 0.156435 0.000000 0.987688\nvn 0.156435 0.000000 0.987688\nvn 0.156435 0.000000 0.987688\nvn 0.951057 -0.000000 -0.309017\nvn 0.951057 -0.000000 -0.309017\nvn 0.951057 -0.000000 -0.309017\nvn 0.951057 -0.000000 -0.309017\nvn -0.156435 -0.000000 -0.987688\nvn -0.156435 -0.000000 -0.987688\nvn -0.156435 -0.000000 -0.987688\nvn -0.156435 -0.000000 -0.987688\nvn -1.000000 -0.000000 -0.000000\nvn -1.000000 -0.000000 -0.000000\nvn -1.000000 -0.000000 -0.000000\nvn -1.000000 -0.000000 -0.000000\nvn 0.707107 0.000000 0.707107\nvn 0.707107 0.000000 0.707107\nvn 0.707107 0.000000 0.707107\nvn 0.707107 0.000000 0.707107\nvn 0.587785 0.000000 -0.809017\nvn 0.587785 0.000000 -0.809017\nvn 0.587785 0.000000 -0.809017\nvn 0.587785 0.000000 -0.809017\nvn -0.707107 0.000000 -0.707107\nvn -0.707107 0.000000 -0.707107\nvn -0.707107 0.000000 -0.707107\nvn -0.707107 0.000000 -0.707107\nvn -0.809017 0.000000 0.587785\nvn -0.809017 0.000000 0.587785\nvn -0.809017 0.000000 0.587785\nvn -0.809017 0.000000 0.587785\nvn 0.987688 0.000000 0.156434\nvn 0.987688 0.000000 0.156434\nvn 0.987688 0.000000 0.156434\nvn 0.987688 0.000000 0.156434\nvn 0.000000 0.000000 -1.000000\nvn 0.000000 0.000000 -1.000000\nvn 0.000000 0.000000 -1.000000\nvn 0.000000 0.000000 -1.000000\nvn -0.987688 0.000000 -0.156434\nvn -0.987688 0.000000 -0.156434\nvn -0.987688 0.000000 -0.156434\nvn -0.987688 0.000000 -0.156434\nvn -0.309017 0.000000 0.951057\nvn -0.309017 0.000000 0.951057\nvn -0.309017 0.000000 0.951057\nvn -0.309017 0.000000 0.951057\ns 1\nf 1/1/1 2/2/2 22/22/3 21/21/4\nf 2/2/2 3/3/5 23/23/6 22/22/3\ns off\nf 3/3/7 4/4/8 24/24/9 23/23/10\ns 2\nf 4/4/11 5/5/12 25/25/13 24/24/14\ns 3\nf 5/5/15 6/6/16 26/26/17 25/25/18\ns off\nf 6/6/19 7/7/20 27/27/21 26/26/22\nf 7/7/23 8/8/24 28/28/25 27/27/26\nf 8/8/27 9/9/28 29/29/29 28/28/30\nf 9/9/31 10/10/32 30/30/33 29/29/34\ns 4\nf 10/10/35 11/11/36 31/31/37 30/30/38\nf 11/11/36 12/12/39 32/32/40 31/31/37\nf 12/12/39 13/13/41 33/33/42 32/32/40\ns 5\nf 13/13/43 14/14/44 34/34/45 33/33/46\ns off\nf 14/14/47 15/15/48 35/35/49 34/34/50\nf 15/15/51 16/16/52 36/36/53 35/35/54\nf 16/16/55 17/17/56 37/37/57 36/36/58\nf 17/17/59 18/18/60 38/38/61 37/37/62\nf 18/18/63 19/19/64 39/39/65 38/38/66\nf 19/19/67 20/20/68 40/40/69 39/39/70\ns 1\nf 20/20/71 1/1/1 21/21/4 40/40/72\ns 6\nf 21/21/73 22/22/74 42/42/75 41/41/76\ns off\nf 22/22/77 23/23/78 43/43/79 42/42/80\nf 23/23/81 24/24/82 44/44/83 43/43/84\ns 7\nf 24/24/85 25/25/86 45/45/87 44/44/88\nf 25/25/86 26/26/89 46/46/90 45/45/87\ns off\nf 26/26/91 27/27/92 47/47/93 46/46/94\nf 27/27/95 28/28/96 48/48/97 47/47/98\ns 4\nf 28/28/99 29/29/100 49/49/101 48/48/102\nf 29/29/100 30/30/38 50/50/103 49/49/101\nf 30/30/38 31/31/37 51/51/104 50/50/103\nf 31/31/37 32/32/40 52/52/105 51/51/104\nf 32/32/40 33/33/42 53/53/106 52/52/105\nf 33/33/42 34/34/107 54/54/108 53/53/106\ns off\nf 34/34/109 35/35/110 55/55/111 54/54/112\nf 35/35/113 36/36/114 56/56/115 55/55/116\nf 36/36/117 37/37/118 57/57/119 56/56/120\nf 37/37/121 38/38/122 58/58/123 57/57/124\nf 38/38/125 39/39/126 59/59/127 58/58/128\nf 39/39/129 40/40/130 60/60/131 59/59/132\ns 6\nf 40/40/133 21/21/73 41/41/76 60/60/134\ns off\nf 41/61/135 42/62/136 62/83/137 61/82/138\nf 42/62/139 43/63/140 63/84/141 62/83/142\nf 43/63/143 44/64/144 64/85/145 63/84/146\nf 44/64/147 45/65/148 65/86/149 64/85/150\nf 45/65/151 46/66/152 66/87/153 65/86/154\nf 46/66/155 47/67/156 67/88/157 66/87/158\nf 47/67/159 48/68/160 68/89/161 67/88/162\nf 48/68/163 49/69/164 69/90/165 68/89/166\nf 49/69/167 50/70/168 70/91/169 69/90/170\nf 50/70/171 51/71/172 71/92/173 70/91/174\nf 51/71/175 52/72/176 72/93/177 71/92/178\nf 52/72/179 53/73/180 73/94/181 72/93/182\nf 53/73/183 54/74/184 74/95/185 73/94/186\nf 54/74/187 55/75/188 75/96/189 74/95/190\nf 55/75/191 56/76/192 76/97/193 75/96/194\nf 56/76/195 57/77/196 77/98/197 76/97/198\nf 57/77/199 58/78/200 78/99/201 77/98/202\nf 58/78/203 59/79/204 79/100/205 78/99/206\nf 59/79/207 60/80/208 80/101/209 79/100/210\nf 60/80/211 41/81/212 61/102/213 80/101/214\nf 123/165/215 124/166/216 125/167/217 126/168/218\nf 62/120/219 63/119/220 83/139/221 82/140/222\nf 127/169/223 128/170/224 129/171/225 130/172/226\nf 64/118/227 65/117/228 85/137/229 84/138/230\nf 131/173/231 132/174/232 133/175/233 134/176/234\nf 66/116/235 67/115/236 87/135/237 86/136/238\nf 135/177/239 136/178/240 137/179/241 138/180/242\ns 9\nf 68/114/243 69/113/244 89/133/245 88/134/246\ns off\nf 139/181/247 140/182/248 141/183/249 142/184/250\ns 10\nf 70/112/251 71/111/252 91/131/253 90/132/254\ns off\nf 143/185/255 144/186/256 145/187/257 146/188/258\ns 11\nf 72/110/259 73/109/260 93/129/261 92/130/262\ns off\nf 147/189/263 148/190/264 149/191/265 150/192/266\nf 74/108/267 75/107/268 95/127/269 94/128/270\nf 151/193/271 152/194/272 153/195/273 154/196/274\nf 76/106/275 77/105/276 97/125/277 96/126/278\nf 155/197/279 156/198/280 157/199/281 158/200/282\nf 78/104/283 79/103/284 99/123/285 98/124/286\nf 159/201/287 160/202/288 161/203/289 162/204/290\nf 80/122/291 61/121/292 81/141/293 100/142/294\ns 12\nf 81/141/295 82/140/296 102/160/297 101/161/298\ns off\nf 82/140/299 83/139/300 103/159/301 102/160/302\nf 83/139/303 84/138/304 104/158/305 103/159/306\ns 13\nf 84/138/307 85/137/308 105/157/309 104/158/310\ns 14\nf 85/137/311 86/136/312 106/156/313 105/157/314\ns off\nf 86/136/315 87/135/316 107/155/317 106/156/318\nf 87/135/319 88/134/320 108/154/321 107/155/322\ns 9\nf 88/134/246 89/133/245 109/153/323 108/154/324\ns off\nf 89/133/325 90/132/326 110/152/327 109/153/328\ns 10\nf 90/132/254 91/131/253 111/151/329 110/152/330\ns off\nf 91/131/331 92/130/332 112/150/333 111/151/334\ns 11\nf 92/130/262 93/129/261 113/149/335 112/150/336\ns 15\nf 93/129/337 94/128/338 114/148/339 113/149/340\ns off\nf 94/128/341 95/127/342 115/147/343 114/148/344\nf 95/127/345 96/126/346 116/146/347 115/147/348\nf 96/126/349 97/125/350 117/145/351 116/146/352\ns 16\nf 97/125/353 98/124/354 118/144/355 117/145/356\nf 98/124/354 99/123/357 119/143/358 118/144/355\ns 12\nf 99/123/359 100/142/360 120/162/361 119/143/362\nf 100/142/360 81/141/295 101/161/298 120/162/361\ns 1\nf 2/2/2 1/1/1 121/163/363\nf 3/3/5 2/2/2 121/163/363\ns off\nf 4/4/364 3/3/365 121/163/366\ns 2\nf 5/5/12 4/4/11 121/163/367\ns 3\nf 6/6/16 5/5/15 121/163/368\nf 7/7/369 6/6/16 121/163/368\ns off\nf 8/8/370 7/7/371 121/163/372\nf 9/9/373 8/8/374 121/163/375\nf 10/10/376 9/9/377 121/163/378\nf 11/11/379 10/10/380 121/163/381\ns 4\nf 12/12/39 11/11/36 121/163/382\nf 13/13/41 12/12/39 121/163/382\ns 5\nf 14/14/44 13/13/43 121/163/383\ns off\nf 15/15/384 14/14/385 121/163/386\nf 16/16/387 15/15/388 121/163/389\nf 17/17/390 16/16/391 121/163/392\nf 18/18/393 17/17/394 121/163/395\ns 17\nf 19/19/396 18/18/397 121/163/398\nf 20/20/399 19/19/396 121/163/398\ns off\nf 1/1/400 20/20/401 121/163/402\ns 12\nf 101/161/298 102/160/297 122/164/403\ns off\nf 102/160/404 103/159/405 122/164/406\nf 103/159/407 104/158/408 122/164/409\ns 13\nf 104/158/310 105/157/309 122/164/410\ns 14\nf 105/157/314 106/156/313 122/164/411\ns off\nf 106/156/412 107/155/413 122/164/414\nf 107/155/415 108/154/416 122/164/417\ns 9\nf 108/154/324 109/153/323 122/164/418\ns off\nf 109/153/419 110/152/420 122/164/421\nf 110/152/422 111/151/423 122/164/424\nf 111/151/425 112/150/426 122/164/427\ns 15\nf 112/150/428 113/149/340 122/164/429\nf 113/149/340 114/148/339 122/164/429\ns off\nf 114/148/430 115/147/431 122/164/432\nf 115/147/433 116/146/434 122/164/435\nf 116/146/436 117/145/437 122/164/438\nf 117/145/439 118/144/440 122/164/441\ns 16\nf 118/144/355 119/143/358 122/164/442\nf 119/143/358 120/162/443 122/164/442\nf 120/162/443 101/161/444 122/164/442\ns off\nf 61/121/445 62/120/446 124/166/447 123/165/448\nf 62/120/449 82/140/450 125/167/451 124/166/452\nf 82/140/453 81/141/454 126/168/455 125/167/456\nf 81/141/457 61/121/458 123/165/459 126/168/460\nf 63/119/461 64/118/462 128/170/463 127/169/464\nf 64/118/465 84/138/466 129/171/467 128/170/468\nf 84/138/469 83/139/470 130/172/471 129/171/472\nf 83/139/473 63/119/474 127/169/475 130/172/476\nf 65/117/477 66/116/478 132/174/479 131/173/480\nf 66/116/481 86/136/482 133/175/483 132/174/484\nf 86/136/485 85/137/486 134/176/487 133/175/488\nf 85/137/489 65/117/490 131/173/491 134/176/492\nf 67/115/493 68/114/494 136/178/495 135/177/496\nf 68/114/497 88/134/498 137/179/499 136/178/500\nf 88/134/501 87/135/502 138/180/503 137/179/504\nf 87/135/505 67/115/506 135/177/507 138/180/508\nf 69/113/509 70/112/510 140/182/511 139/181/512\nf 70/112/513 90/132/514 141/183/515 140/182/516\nf 90/132/517 89/133/518 142/184/519 141/183/520\nf 89/133/521 69/113/522 139/181/523 142/184/524\nf 71/111/525 72/110/526 144/186/527 143/185/528\nf 72/110/529 92/130/530 145/187/531 144/186/532\nf 92/130/533 91/131/534 146/188/535 145/187/536\nf 91/131/537 71/111/538 143/185/539 146/188/540\nf 73/109/541 74/108/542 148/190/543 147/189/544\nf 74/108/545 94/128/546 149/191/547 148/190/548\nf 94/128/549 93/129/550 150/192/551 149/191/552\nf 93/129/553 73/109/554 147/189/555 150/192/556\nf 75/107/557 76/106/558 152/194/559 151/193/560\nf 76/106/561 96/126/562 153/195/563 152/194/564\nf 96/126/565 95/127/566 154/196/567 153/195/568\nf 95/127/569 75/107/570 151/193/571 154/196/572\nf 77/105/573 78/104/574 156/198/575 155/197/576\nf 78/104/577 98/124/578 157/199/579 156/198/580\nf 98/124/581 97/125/582 158/200/583 157/199/584\nf 97/125/585 77/105/586 155/197/587 158/200/588\nf 79/103/589 80/122/590 160/202/591 159/201/592\nf 80/122/593 100/142/594 161/203/595 160/202/596\nf 100/142/597 99/123/598 162/204/599 161/203/600\nf 99/123/601 79/103/602 159/201/603 162/204/604\n"
  },
  {
    "path": "data/softs/octopus.obj",
    "content": "# Asset ''\nmtllib F:\\sw\\physx\\research\\ParticleMeshEditor\\data\\octopus.mtl\nv 0.248180002 0.295316994 0.09578\nv 0.280081004 0.307316005 0.089945003\nv 0.273535997 0.327982008 0.050452001\nv 0.242752001 0.317672014 0.053833\nv 0.314794987 0.317791998 0.082277\nv 0.307197005 0.335916996 0.046041001\nv 0.303734988 0.344199985 0\nv 0.270850003 0.337765008 0\nv 0.240765005 0.328561991 0\nv 0.214524001 0.048787002 0.104732998\nv 0.205737993 0.085460998 0.119585998\nv 0.191762999 0.088258997 0.113835\nv 0.189731002 0.072129004 0.108277999\nv 0.189538002 0.124555998 0.119264998\nv 0.177748993 0.114058003 0.112342\nv 0.171097994 0.098681003 0.106317997\nv 0.332174987 0.096562997 0.110583\nv 0.360323995 0.121468998 0.102261998\nv 0.340442002 0.164169997 0.120843001\nv 0.310947001 0.142228007 0.129264995\nv 0.388036996 0.146484002 0.092238002\nv 0.372402996 0.185090005 0.109545998\nv 0.353670001 0.226447001 0.114292003\nv 0.321105987 0.208443999 0.12348\nv 0.290197998 0.189963996 0.130661994\nv 0.333068013 0.274423987 0.105547003\nv 0.323742002 0.296550989 0.098907001\nv 0.288973004 0.284453988 0.107519999\nv 0.298866004 0.260890007 0.114015996\nv 0.256520987 0.271813989 0.113957003\nv 0.266413003 0.247477993 0.120306998\nv 0.432287991 0.181315005 0.062913999\nv 0.44026801 0.178929001 0.038075998\nv 0.446754009 0.191421002 0.035978001\nv 0.435598999 0.194566995 0.068107001\nv 0.442007989 0.176002994 0\nv 0.448426992 0.191383004 0\nv 0.450856 0.208382994 0\nv 0.448655993 0.206185997 0.03427\nv 0.440921992 0.208845004 0.063378997\nv 0.43028599 0.317461014 0\nv 0.410044014 0.331775993 0\nv 0.409722 0.328583002 0.030874001\nv 0.428341001 0.315284014 0.0286\nv 0.382360011 0.341410011 0\nv 0.383832008 0.336717993 0.034085002\nv 0.387109995 0.326115996 0.061221998\nv 0.408794999 0.321970999 0.055424999\nv 0.423096001 0.310353011 0.052779\nv 0.243433997 0.047543 0.114138\nv 0.227488995 0.090159997 0.131310999\nv 0.272569001 0.052978002 0.122199997\nv 0.253915995 0.101942003 0.140251994\nv 0.233761996 0.155395001 0.139134005\nv 0.209085003 0.138898998 0.130623996\nv 0.208303005 0.222553998 0.127409995\nv 0.198076993 0.246980995 0.121238001\nv 0.169071004 0.229460001 0.113894999\nv 0.181355 0.208738998 0.119879998\nv 0.190292999 0.269468993 0.103479996\nv 0.164058 0.246941 0.100354999\nv 0.143759996 0.228386 0.099684\nv 0.145279005 0.216278002 0.103666\nv 0.153718993 0.211796999 0.107469998\nv 0.157352 0.193375006 0.108696997\nv 0.152337998 0.257575989 0.063197002\nv 0.138721004 0.234013006 0.085715003\nv 0.181371003 0.289920986 0.05996\nv 0.178259999 0.30260101 0\nv 0.151339993 0.273032993 0\nv 0.131924003 0.250234008 0\nv 0.134322003 0.243718997 0.037712\nv 0.130675003 0.234360993 0.053840999\nv 0.136907995 0.239050001 0.070519\nv 0.130976006 0.232887998 0.079672001\nv 0.194904 0.042013001 0.084091\nv 0.204481006 0.031435002 0.040994\nv 0.223984003 0.030548999 0.055054002\nv 0.180847004 0.036573999 0.073248997\nv 0.184048995 0.033732001 0.045400001\nv 0.186501995 0.031557001 0.024072001\nv 0.200892001 0.028724 0.012382\nv 0.208238006 0.027564 0\nv 0.226549998 0.026353 0\nv 0.416372001 0.171848997 0.078594998\nv 0.40882799 0.203858003 0.092537999\nv 0.426521003 0.225609004 0.082163997\nv 0.414299011 0.257194996 0.087343998\nv 0.387897015 0.242633 0.101423003\nv 0.397864014 0.297639996 0.079723999\nv 0.391057998 0.313077003 0.074464001\nv 0.360487998 0.306524992 0.086438999\nv 0.368286014 0.287182987 0.093158998\nv 0.353123993 0.324389994 0.071438\nv 0.346810013 0.33899501 0.039861999\nv 0.343914986 0.345483005 0\nv 0.374653995 0.096510999 0.057641\nv 0.399253994 0.124454997 0.051881\nv 0.347315997 0.070118003 0.062613003\nv 0.353363991 0.061701 0\nv 0.38043201 0.088468 0\nv 0.403759003 0.117583998 0\nv 0.094127998 0.121829003 0.078874998\nv 0.085529 0.134517998 0.076941997\nv 0.075375997 0.133431002 0.075149\nv 0.086684003 0.111757003 0.077238001\nv 0.086240001 0.150029004 0.076877996\nv 0.077514 0.158373997 0.075909004\nv 0.069780998 0.171797007 0.072894\nv 0.063621998 0.148461998 0.071736999\nv 0.057564002 0.119409002 0.072022997\nv 0.067950003 0.108268999 0.075778998\nv 0.080503002 0.094839998 0.078096002\nv 0.183831006 0.019006001 0.009698\nv 0.190722004 0.006354 0.008677\nv 0.184377998 0.020195 -0.00009\nv 0.194389999 0.004102 0\nv 0.227906004 -0.024503 0\nv 0.204347998 -0.008507 0\nv 0.198921993 -0.007949 0.031360999\nv 0.224291995 -0.024923 0.020237001\nv 0.184323996 0.014377 0.029820999\nv 0.180827007 0.017168 0.053509999\nv 0.191916004 -0.003318 0.056729\nv 0.200066999 -0.020466 0.059503\nv 0.209865004 -0.032074001 0.072966002\nv 0.214521006 -0.027341001 0.047040001\nv 0.229209006 -0.032976002 0.034926999\nv 0.00015 -0.004581 0.117983997\nv 0.019597 0.019200999 0.096923999\nv 0.011403 0.013691 0.095315002\nv -0.007546 -0.007851 0.111133002\nv 0.036956999 0.044098001 0.078713998\nv 0.013926 0.015883001 0.086226001\nv -0.010068 -0.01333 0.101127997\nv 0.109045997 -0.006748 0.152768999\nv 0.113388002 0.008045 0.126145005\nv 0.104175001 0.005241 0.126729995\nv 0.096270002 -0.010698 0.151526004\nv 0.118653998 0.022188 0.101706997\nv 0.098668002 0.004381 0.113394\nv 0.0898 -0.013783 0.144021004\nv 0.122285001 -0.007063 0.144778997\nv 0.132329002 -0.017407 0.142098993\nv 0.128261 0.003845 0.115734003\nv 0.120820999 0.009282 0.118642002\nv 0.146535993 -0.034166001 0.140814006\nv 0.139195994 -0.006277 0.115069002\nv 0.134498 0.017416 0.098021001\nv 0.181630999 0.026286 0.032820001\nv 0.184890002 0.032986 0.038088001\nv 0.181946993 0.035597999 0.063683003\nv 0.179057002 0.028636999 0.056935001\nv 0.060059 0.177844003 0.027587\nv 0.063978001 0.167445004 0.015245\nv 0.053702001 0.141397998 0.010932\nv 0.051541999 0.152606994 0.025666\nv 0.067201003 0.160043001 0.004934\nv 0.059119999 0.141011998 0\nv 0.052820001 0.131170005 0\nv 0.048407 0.119368002 0\nv 0.047322001 0.120820001 0.012662\nv 0.045809001 0.124511003 0.025954001\nv 0.081857003 0.191257 0.020992\nv 0.084890999 0.183346003 0.012616\nv 0.077358998 0.200826004 0.031684998\nv 0.098283999 0.218731999 0.039179001\nv 0.101095997 0.210262001 0.029058\nv 0.10362 0.203924999 0.022162\nv 0.136344999 0.044222001 0.092096999\nv 0.142405003 0.051059999 0.091494001\nv 0.127195999 0.068793997 0.087995\nv 0.121187001 0.056793001 0.089302003\nv 0.148580998 0.065263003 0.091144003\nv 0.134283006 0.082098 0.089034997\nv 0.119439997 0.096395001 0.085224003\nv 0.113219 0.082359999 0.084178999\nv 0.108387999 0.069251999 0.085446998\nv 0.162323996 0.143556997 0.108199999\nv 0.153775007 0.123522997 0.102173999\nv 0.174207002 0.161856994 0.115351997\nv 0.148371994 0.166297004 0.103299998\nv 0.139315993 0.143132001 0.097607002\nv 0.054125998 0.155194998 0.064459004\nv 0.050016999 0.122385003 0.064652003\nv 0.060892999 0.180223003 0.065614998\nv 0.054892 0.183942005 0.054882001\nv 0.048609 0.156918004 0.053849\nv 0.045906998 0.123914003 0.054335002\nv 0.075207002 0.198758006 0.069952004\nv 0.070822999 0.206223994 0.059094001\nv 0.081767999 0.187892005 0.077157997\nv 0.098993003 0.200522006 0.083994001\nv 0.094906002 0.212042004 0.076998003\nv 0.092445001 0.221717998 0.066321999\nv 0.088555999 0.174758002 0.079853997\nv 0.103981003 0.191342995 0.086355999\nv 0.124697998 0.166541994 0.092197001\nv 0.140039995 0.183905005 0.100749001\nv 0.140792996 0.193042994 0.097186998\nv 0.097673997 0.142571002 0.081437998\nv 0.104176998 0.153254002 0.082947999\nv 0.106905997 0.139308006 0.084536001\nv 0.135355994 0.178709999 0.089132003\nv 0.144247994 0.204045996 0.093700998\nv 0.123958997 0.187456995 0.091853999\nv 0.128175005 0.170224994 0.085093997\nv 0.123582996 0.208102003 0.094998002\nv 0.117826998 0.221313998 0.086282998\nv 0.115801997 0.228375003 0.076405004\nv 0.119461998 0.221705005 0.037376001\nv 0.117674001 0.228738993 0.051284999\nv 0.117014997 0.223646998 0.021571999\nv 0.100597002 0.201840997 0.011918\nv 0.113733001 0.225170001 0\nv 0.097699001 0.201862007 0\nv 0.040718999 0.083691001 0.054682001\nv 0.043680001 0.080500998 0.064366996\nv 0.037785001 0.049534999 0.057994001\nv 0.028716 0.036963999 0.062334999\nv 0.032887001 0.046703 0.069859996\nv 0.049295001 0.082312003 0.072337002\nv 0.056747999 0.073036 0.076929003\nv 0.051863998 0.041960001 0.081896\nv 0.062380999 0.046105001 0.081338003\nv 0.069705002 0.068089999 0.079519004\nv 0.114918001 0.041111 0.090600997\nv 0.103095002 0.050184 0.086966\nv 0.103851996 0.031109 0.088927001\nv 0.104171 0.023238 0.095554002\nv 0.133514002 0.031002 0.092648998\nv 0.028448001 0.066326 0.022949999\nv 0.025993999 0.056705002 0.027598999\nv 0.035695001 0.076352999 0.040493\nv 0.036164001 0.087939002 0.025751\nv 0.017701 0.040353999 0.032864999\nv 0.023359001 0.043896999 0.045168001\nv 0.044447999 0.122810997 0.040628999\nv 0.048796002 0.156918004 0.040445\nv 0.055822 0.183246002 0.041503001\nv 0.072610997 0.206364006 0.045361999\nv 0.094485 0.223249003 0.052657999\nv 0.116770998 0.230875999 0.064024001\nv 0.106742002 0.172692999 0.077489004\nv 0.117408998 0.189098001 0.082737997\nv 0.105485 0.161175996 0.076171003\nv 0.117317997 0.163372993 0.081003003\nv 0.132909998 0.201525003 0.089353003\nv 0.113200001 0.175659001 0.083587997\nv 0.218291998 0.284148008 0.101124004\nv 0.226724997 0.260210991 0.119893998\nv 0.236441001 0.235082999 0.126161993\nv 0.260940999 0.172349006 0.137513995\nv 0.281919986 0.120390996 0.137652993\nv 0.302536994 0.071525 0.119121999\nv 0.315575004 0.044959001 0.067767002\nv 0.282445997 0.028027 0.069709003\nv 0.285191 0.021555999 0\nv 0.320199996 0.037250999 0\nv 0.002254 0.032359 0.01581\nv -0.018743001 0.008522 0.037101999\nv -0.008623 0.009286 0.039719999\nv 0.014741 0.039866 0.022049\nv -0.052221999 -0.023073999 0.058437001\nv -0.040801 -0.026059 0.060168002\nv -0.031978998 -0.029256999 0.062063999\nv -0.030484 0.012129 0.013218\nv -0.044555999 0.010473 0.023298999\nv -0.036231998 0.013653 0.029503999\nv -0.070354998 -0.01295 0.01746\nv -0.080647998 -0.010818 0.031060999\nv -0.079278998 -0.011481 0.044009\nv -0.00231 0.001054 0.059487998\nv 0.001328 -0.004811 0.076017998\nv -0.029141 -0.038874 0.075874001\nv -0.026195001 -0.045164 0.089659996\nv 0.042300999 0.016129 0.097919002\nv 0.046951 0.009088 0.104125999\nv 0.030191001 -0.008921 0.118584998\nv 0.035611 -0.015194 0.122955002\nv 0.037152 -0.022117 0.128887996\nv 0.143785 0.101687998 0.094774\nv 0.128904998 0.118242003 0.090640001\nv 0.160311997 0.081674002 0.097574003\nv 0.177192003 0.058545001 0.096799001\nv 0.162540004 0.054758999 0.090723\nv 0.172359005 0.045322999 0.088280998\nv 0.138779998 0.171818003 0.099533997\nv 0.129273996 0.153986007 0.094375998\nv 0.116963997 0.130989999 0.087416001\nv 0.105743997 0.109379999 0.081736997\nv 0.099506997 0.095706999 0.080421001\nv 0.093892001 0.080395997 0.081616998\nv 0.084540002 0.053874001 0.083475001\nv 0.059912998 0.033209 0.087774001\nv 0.077581003 0.032147001 0.090139002\nv 0.093084998 0.025195999 0.092872001\nv 0.068998002 0.002671 0.107689999\nv 0.08935 -0.00068 0.110178001\nv 0.045997001 -0.026983 0.132335007\nv 0.058325998 -0.029429 0.133132994\nv 0.076072998 -0.030574 0.134734005\nv 0.226931006 -0.003072 0.132960007\nv 0.204295993 0.010205 0.109656997\nv 0.198973998 0.006014 0.117660001\nv 0.214855999 -0.008248 0.137776002\nv 0.177314997 0.022961 0.086708002\nv 0.184992999 0.004825 0.110170998\nv 0.197779998 -0.015574 0.134689003\nv 0.163164005 0.027021 0.087182\nv 0.166146994 0.018146999 0.092210002\nv 0.172471002 0.035486002 0.084347002\nv 0.156542003 0.047187001 0.088974997\nv 0.154203996 0.037978999 0.089359999\nv 0.150534004 0.029287999 0.089681\nv 0.150084004 0.01699 0.095371999\nv 0.154686004 -0.008045 0.112030998\nv 0.170384005 -0.006494 0.108845003\nv 0.163918003 -0.036449999 0.136380002\nv 0.182062998 -0.034375001 0.132037997\nv 0.177564994 0.030425999 0.072549999\nv 0.180007994 0.019018 0.070805997\nv 0.193014994 -0.002128 0.074648999\nv 0.196777001 0.005983 0.090138003\nv 0.217849001 -0.011583 0.101140998\nv 0.211792007 -0.019548999 0.086393997\nv 0.201600999 -0.026071999 0.068792999\nv 0.250943989 0.026318001 0.065048002\nv 0.252591014 0.021055 0\nv 0.084953003 0.183711007 0.002358\nv 0.074717999 0.170598999 0.000104\nv 0.422780007 0.154266998 0.044367999\nv 0.425700992 0.149083003 0\nv 0.197905004 0.028253 -0.000085\nv 0.02472 0.058263998 0.008958\nv 0.028749 0.069491997 0\nv 0.016709 0.044257998 0.000219\nv 0.008318 0.034722999 0.000027\nv 0.022621 0.050034001 0.022585999\nv 0.033709001 0.079705998 0.011303\nv 0.039331 0.093598001 0\nv 0.038346998 0.093370996 0.014109\nv 0.043745998 0.105136 0\nv 0.211769 0.30746901 0.056919999\nv 0.208985001 0.318976015 0\nv -0.024152 -0.107276998 0\nv -0.051325999 -0.119848996 0.00157\nv -0.126665995 -0.150772005 0.003823\nv -0.118502997 -0.146294996 0\nv -0.059004001 -0.126503006 0.002634\nv -0.093921997 -0.140257999 0.00404\nv -0.118855998 -0.155846998 0.007362\nv -0.148511007 -0.163985997 0.007971\nv -0.176409006 -0.166126996 0.006618\nv -0.163829997 -0.157114998 -0.000064\nv -0.149249002 -0.071532004 0.027442999\nv -0.162952006 -0.071505003 0.048202001\nv -0.123304002 -0.040470999 0.039944001\nv -0.110435002 -0.041529 0.022203\nv -0.164346993 -0.074450001 0.068494998\nv -0.124825001 -0.043334998 0.057477999\nv -0.118780002 -0.083088003 0.091078997\nv -0.096137002 -0.087350003 0.093176998\nv -0.070285 -0.058715001 0.078613997\nv -0.087402001 -0.054496001 0.076595001\nv -0.072632998 -0.090448 0.092583999\nv -0.053707 -0.062284999 0.078818999\nv -0.044961002 -0.062585004 0.086749002\nv -0.057826001 -0.081757002 0.097281002\nv -0.044911999 -0.073017001 0.103835002\nv -0.036924999 -0.061370999 0.095335998\nv -0.063794002 -0.073762998 0.147364005\nv -0.064324997 -0.068696998 0.165583998\nv -0.035902001 -0.037209 0.137508005\nv -0.037671 -0.043651 0.123548999\nv -0.055516999 -0.064306997 0.178274006\nv -0.027855 -0.033849999 0.147718996\nv -0.014477 -0.07141 0.183033004\nv -0.001812 -0.078041002 0.185765997\nv 0.017958 -0.047115002 0.154361993\nv 0.009257 -0.040135 0.150280997\nv 0.007863 -0.084807001 0.189421996\nv 0.024506999 -0.055773001 0.160834\nv 0.045097999 -0.059025999 0.163477004\nv 0.017886 -0.086544998 0.191165999\nv 0.033243001 -0.086937003 0.193070993\nv 0.054969002 -0.086203001 0.197883993\nv 0.064003997 -0.059317 0.166088998\nv 0.068625003 -0.074929997 0.225231007\nv 0.083425999 -0.069199003 0.240208998\nv 0.088905998 -0.038059998 0.194959\nv 0.077693 -0.043076999 0.184318006\nv 0.101411998 -0.062822998 0.247911006\nv 0.102123 -0.033628002 0.200606003\nv 0.133939996 -0.053546999 0.225004002\nv 0.148396 -0.063827001 0.214321002\nv 0.139973998 -0.039606001 0.178132996\nv 0.127330005 -0.028321 0.184442997\nv 0.165319994 -0.080785997 0.203713998\nv 0.155766994 -0.058045 0.172620997\nv 0.177355006 -0.058859002 0.165144995\nv 0.191302001 -0.080196999 0.193241\nv 0.209347993 -0.079048 0.186730996\nv 0.198739007 -0.056735002 0.158807993\nv 0.238952994 -0.065079004 0.193436995\nv 0.261467993 -0.056646001 0.190723002\nv 0.237194002 -0.030890999 0.163892001\nv 0.217311993 -0.039563999 0.164193004\nv 0.280559987 -0.051442001 0.179693997\nv 0.253679007 -0.025838999 0.156672001\nv 0.274509996 -0.061849002 0.134564996\nv 0.267352998 -0.068478003 0.119208999\nv 0.238472998 -0.042470001 0.102017\nv 0.245399997 -0.035339002 0.117073998\nv 0.260785013 -0.075005002 0.105428003\nv 0.232501999 -0.050278001 0.087090001\nv 0.235138997 -0.050643999 0.078341998\nv 0.242948994 -0.049547002 0.060687002\nv 0.264108986 -0.075266004 0.094841003\nv 0.274800986 -0.073683999 0.073320001\nv 0.288423985 -0.071491003 0.046946\nv 0.252898008 -0.047897998 0.039108001\nv -0.056758001 -0.030826 0.005538\nv -0.044693999 -0.027458999 -0.000132\nv -0.052381001 -0.037633002 0.000202\nv -0.062196001 -0.043871999 0.000877\nv 0.283161998 -0.080246001 0.212980002\nv 0.30469501 -0.074263997 0.199339002\nv 0.258064002 -0.090053 0.21717\nv 0.273290008 -0.115002997 0.239796996\nv 0.299412012 -0.103119999 0.235976994\nv 0.322454005 -0.095971003 0.221952006\nv 0.202061996 -0.105392002 0.215587005\nv 0.224162996 -0.104493 0.207799003\nv 0.180089995 -0.105971999 0.223918006\nv 0.184090003 -0.132716998 0.245058\nv 0.210079998 -0.134307995 0.235679001\nv 0.236009002 -0.134165004 0.225933999\nv 0.154792994 -0.091141 0.241146997\nv 0.170797005 -0.105925001 0.228152007\nv 0.140100002 -0.081798002 0.253838003\nv 0.145721003 -0.110746004 0.277776003\nv 0.159881994 -0.119796999 0.264279991\nv 0.173219994 -0.130215004 0.248742998\nv 0.081174001 -0.096469 0.270460993\nv 0.102081001 -0.089024 0.279502988\nv 0.064511001 -0.103395 0.253170013\nv 0.064396001 -0.128622994 0.275196999\nv 0.081696004 -0.120082997 0.293181002\nv 0.103987999 -0.112337001 0.302785009\nv 0.026687 -0.113977 0.216264993\nv 0.052154999 -0.112521 0.221462995\nv 0.008842 -0.114428997 0.214176998\nv 0.003323 -0.140604004 0.231279999\nv 0.023887999 -0.140783995 0.234886006\nv 0.044174999 -0.139625996 0.238281995\nv -0.015319 -0.106114998 0.210583001\nv -0.000197 -0.114092 0.213115007\nv -0.030796001 -0.099012002 0.20871\nv -0.042693 -0.122288004 0.229888007\nv -0.024592999 -0.130979002 0.230222002\nv -0.010157 -0.138251007 0.229736999\nv -0.083475001 -0.096630998 0.186499\nv -0.073935002 -0.091654003 0.201793\nv -0.083347999 -0.102348998 0.166446999\nv -0.098977998 -0.126681998 0.182043999\nv -0.097442001 -0.119172998 0.202850997\nv -0.086905003 -0.114000998 0.220460996\nv -0.075792 -0.108066 0.112640001\nv -0.062634997 -0.101328999 0.12483\nv -0.090841003 -0.1149 0.101800002\nv -0.108112 -0.137050003 0.108217001\nv -0.093727 -0.135701999 0.127608001\nv -0.082382999 -0.133865997 0.147781\nv -0.116068996 -0.110916004 0.103329003\nv -0.140854999 -0.106190003 0.101392001\nv -0.159777999 -0.126239002 0.109050997\nv -0.135199994 -0.132762 0.110574998\nv -0.190017998 -0.096941002 0.054090001\nv -0.189322993 -0.097369999 0.075644001\nv -0.175474003 -0.098338 0.031235\nv -0.199542001 -0.122550003 0.036532\nv -0.209417 -0.117270999 0.058600001\nv -0.206264004 -0.115270004 0.080628999\nv -0.157846004 -0.133965999 0.003735\nv -0.151819006 -0.125177994 0.000031\nv -0.146430999 -0.115699999 0.003598\nv -0.133663997 -0.098874003 0.000099\nv 0.300675005 -0.098867998 0.085955001\nv 0.315757006 -0.094972998 0.054320998\nv 0.288771987 -0.101834998 0.111868002\nv 0.312388986 -0.125090003 0.132347003\nv 0.32546401 -0.120980002 0.102011003\nv 0.340719014 -0.115578003 0.063984998\nv 0.292726994 -0.095158003 0.135663003\nv 0.285066009 -0.102245003 0.123254001\nv 0.300262988 -0.087678 0.150242999\nv 0.323365986 -0.109672002 0.172177002\nv 0.316825986 -0.118061997 0.157576993\nv 0.306986004 -0.125312999 0.143140003\nv -0.037287001 0.004793 0.039172001\nv -0.069857001 -0.018553 0.054354001\nv -0.109219998 -0.048689999 0.069622003\nv -0.145569995 -0.078550003 0.082819\nv -0.169103995 -0.101063997 0.091788001\nv -0.186591998 -0.119333997 0.098258004\nv -0.027858 0.001279 0.006326\nv -0.01788 0.003118 -0.000102\nv -0.061195001 -0.02282 0.008758\nv -0.091995001 -0.047940999 0.009442\nv -0.08929 -0.062756002 0.000036\nv -0.117609002 -0.081629999 -0.000413\nv -0.131104007 -0.076348998 0.011721\nv -0.149977997 -0.100121997 0.011184\nv -0.126445994 -0.088854998 0\nv -0.171676993 -0.133643001 0.011482\nv -0.180129007 -0.128321007 0.018787\nv 0.009827 0.00846 0.080921002\nv -0.016549001 -0.026757 0.095113002\nv -0.037285998 -0.051479001 0.109999999\nv -0.055654999 -0.074073002 0.126736\nv -0.074925996 -0.102906004 0.146477997\nv -0.092817999 -0.131862998 0.164862007\nv 0.027353 0.014459 0.100861996\nv 0.015027 -0.006598 0.119808003\nv -0.009408 -0.035269 0.150022\nv -0.035640001 -0.066021003 0.182312995\nv -0.053355001 -0.093319997 0.207488\nv -0.066059999 -0.115833998 0.228054002\nv 0.114822 -0.028355001 0.194517002\nv 0.118263997 -0.055408999 0.239521995\nv 0.122126997 -0.082612999 0.270292997\nv 0.126210004 -0.108741999 0.294131011\nv 0.084151998 -0.020721 0.139109999\nv 0.071007997 -0.050106 0.175428003\nv 0.061326001 -0.080406003 0.211788997\nv 0.057195 -0.108253002 0.237635002\nv 0.05277 -0.137241006 0.240744993\nv 0.057151001 -0.134593993 0.25871101\nv 0.177386001 0.000286 0.107969001\nv 0.189237997 -0.024227001 0.132853001\nv 0.207358003 -0.047710001 0.161928996\nv 0.218925998 -0.077362001 0.184885994\nv 0.227330998 -0.071532004 0.190335006\nv 0.244743004 -0.097061999 0.213211\nv 0.234289005 -0.103376999 0.205392003\nv 0.247209996 -0.131243005 0.222525001\nv 0.258661002 -0.124945 0.233972996\nv 0.226795003 -0.005903 0.119644001\nv 0.253441006 -0.028558999 0.138179004\nv 0.281910002 -0.054673001 0.157849997\nv 0.307323992 -0.078727998 0.174946994\nv 0.32784 -0.100231998 0.197160006\nv 0.081742004 -0.155476004 0.194600999\nv 0.093079999 -0.160304993 0.193148002\nv 0.095527001 -0.188080996 0.227767006\nv 0.081436999 -0.183223993 0.231263995\nv 0.104992002 -0.162248999 0.192204997\nv 0.110816002 -0.189711004 0.226488993\nv 0.117113002 -0.214990005 0.252490014\nv 0.099214002 -0.213949993 0.253693998\nv 0.081076004 -0.212326005 0.263175994\nv 0.275139004 -0.135504007 0.119069003\nv 0.320657015 -0.146120995 0.153787002\nv 0.311527014 -0.157710999 0.163168997\nv 0.268858999 -0.147071004 0.131376997\nv 0.359306991 -0.152496994 0.199845001\nv 0.349566996 -0.167904004 0.197516993\nv 0.344747007 -0.181530997 0.193468004\nv 0.303683996 -0.170167997 0.161946997\nv 0.264418989 -0.159137994 0.135814995\nv -0.185966998 -0.152737007 0.011342\nv -0.204462007 -0.148267999 0.023279\nv -0.213338003 -0.175159007 0.014723\nv -0.225885004 -0.164087996 0.026215\nv -0.233915001 -0.157005996 0.034898002\nv -0.219730005 -0.139332995 0.040734999\nv -0.226062998 -0.132984996 0.062720999\nv -0.239116997 -0.145192996 0.065664999\nv -0.236173004 -0.146052003 0.090525001\nv -0.221680999 -0.131326005 0.085156001\nv -0.204803005 -0.136461005 0.103960998\nv -0.219218001 -0.151675999 0.109159\nv -0.201279998 -0.161777005 0.120523997\nv -0.181702003 -0.145669997 0.115571998\nv -0.158649996 -0.156232998 0.116421998\nv -0.182209 -0.174404994 0.121032\nv -0.160784006 -0.191892996 0.114247002\nv -0.139034003 -0.162634 0.113315001\nv -0.116617002 -0.155169994 0.119607002\nv -0.106503002 -0.158856004 0.136966005\nv -0.120916001 -0.166088 0.120525002\nv -0.109245002 -0.171930999 0.138904005\nv -0.105856001 -0.189612001 0.167598993\nv -0.092889003 -0.157049999 0.158115\nv -0.098048002 -0.161089003 0.164728001\nv -0.107049003 -0.154826999 0.177526996\nv -0.120232001 -0.171340004 0.187595993\nv -0.126732007 -0.156994 0.206480995\nv -0.113325998 -0.144034997 0.195399001\nv -0.110315003 -0.134483993 0.217234999\nv -0.122314997 -0.146464005 0.228787005\nv -0.109708004 -0.142804995 0.252505988\nv -0.098223999 -0.129455999 0.236463994\nv -0.077261001 -0.132232994 0.246512994\nv -0.086011998 -0.146584004 0.261849999\nv -0.063386001 -0.155838996 0.265179008\nv -0.053162001 -0.140582994 0.249136999\nv -0.031661998 -0.152273998 0.246090993\nv -0.041825999 -0.168534994 0.259976\nv -0.014333 -0.185834005 0.247614995\nv -0.009432 -0.158099994 0.238341004\nv -0.000188 -0.164399996 0.24244\nv 0.023304 -0.167997003 0.250759006\nv 0.024836 -0.182782993 0.252956003\nv 0.057248998 -0.193719 0.277869999\nv 0.046521001 -0.166889995 0.256954014\nv 0.056956999 -0.164701 0.265475005\nv 0.059730001 -0.160375997 0.280761003\nv 0.061980002 -0.181253999 0.301517993\nv 0.070145003 -0.169872999 0.323345989\nv 0.067328997 -0.150759995 0.29837501\nv 0.084537998 -0.140257001 0.315838009\nv 0.089533001 -0.156071007 0.336544007\nv 0.111680001 -0.149977997 0.344188988\nv 0.106989004 -0.132862002 0.325156003\nv 0.130315006 -0.132568002 0.318336993\nv 0.134305 -0.152382001 0.339038998\nv 0.156652004 -0.163369998 0.329041004\nv 0.150711998 -0.138063997 0.303656012\nv 0.164378002 -0.148039997 0.289388001\nv 0.168063 -0.171228006 0.311782002\nv 0.177965999 -0.183030993 0.291334003\nv 0.172297001 -0.154905006 0.276477009\nv 0.186535001 -0.159813002 0.267217994\nv 0.215801999 -0.166808993 0.25701201\nv 0.214728996 -0.184165999 0.261725992\nv 0.259425998 -0.202723995 0.256213009\nv 0.244404003 -0.167863995 0.243560001\nv 0.259164006 -0.164655998 0.243392006\nv 0.268150985 -0.155824006 0.25604099\nv 0.275752008 -0.183834001 0.278384\nv 0.291000992 -0.165593997 0.297324002\nv 0.283273995 -0.140450999 0.26572001\nv 0.307357997 -0.126698002 0.265026987\nv 0.312254995 -0.148261994 0.295464993\nv 0.333424002 -0.139064997 0.288363993\nv 0.33020401 -0.118225999 0.253874987\nv 0.341614991 -0.118695997 0.232179001\nv 0.350593001 -0.135560006 0.271109998\nv 0.365786999 -0.139151007 0.253259987\nv 0.344527006 -0.124677002 0.208436996\nv 0.341881007 -0.132742003 0.191150993\nv 0.364277005 -0.146228001 0.227427006\nv 0.335361987 -0.138681993 0.177371994\nv 0.338221014 -0.139771 0.159198999\nv 0.354059011 -0.135899007 0.124906003\nv 0.364452988 -0.142315999 0.136598006\nv 0.378957003 -0.137737006 0.086264998\nv 0.369132012 -0.130541995 0.07869\nv 0.385825992 -0.136269003 0.041701999\nv 0.378405988 -0.127568007 0.037971001\nv 0.375667989 -0.135141999 0\nv 0.381592989 -0.126675993 0\nv 0.35848701 -0.109476998 0\nv 0.353051007 -0.111321002 0.030786\nv 0.3292 -0.091565996 0.026265999\nv 0.335512012 -0.089984998 0\nv 0.306802988 -0.068577997 0\nv 0.300871998 -0.069513001 0.022893\nv 0.262089014 -0.046372 0.019149\nv 0.266496003 -0.045639001 0\nv -0.126240999 -0.159355 0.113049999\nv -0.133707002 -0.173041001 0.113073997\nv -0.186719 -0.178023994 0.010915\nv -0.198391005 -0.178545997 0.010431\nv -0.205924004 -0.181125998 0.013197\nv -0.190746993 -0.170045003 0.008479\nv -0.169954002 -0.145691007 0.005916\nv 0.054225001 -0.159327999 0.254994988\nv 0.175453007 -0.151069 0.265863001\nv 0.253490001 -0.158784002 0.235176995\nv 0.32665801 -0.138291001 0.164152995\nv 0.407297999 0.314904988 0.067327999\nv 0.415143013 0.304264992 0.068113998\nv 0.444265991 0.269230992 0.048409998\nv 0.432036012 0.267237991 0.069383003\nv 0.436865002 0.243111998 0.070185997\nv 0.445717007 0.236535996 0.053978998\nv 0.194199994 0.178489 0.126135007\nv 0.219377995 0.193811998 0.134113997\nv 0.246813998 0.208187997 0.132859007\nv 0.276495993 0.222620994 0.126775995\nv 0.308411986 0.238119006 0.120269999\nv 0.341800988 0.253639996 0.111817002\nv 0.375901997 0.268146992 0.099891998\nv 0.405178994 0.280108988 0.085274003\nv 0.424093008 0.287999004 0.068746001\nv 0.435822994 0.293303996 0.049224999\nv 0.443549007 0.297513008 0.025630999\nv 0.452511013 0.27254799 0.024851\nv 0.455637008 0.274536997 0\nv 0.44641 0.29934299 0\nv 0.45518899 0.240159005 0\nv 0.452394009 0.237666994 0.029146001\nv -0.153605998 -0.214197993 0.049637999\nv -0.158794999 -0.207666993 0.036913\nv -0.133085996 -0.195644006 0.030726001\nv -0.126683995 -0.200406 0.041404001\nv -0.182574004 -0.197117001 0.026285\nv -0.142807007 -0.187031001 0.021806\nv -0.106510997 -0.171223 0.014911\nv -0.100542001 -0.180354998 0.023482\nv -0.095634997 -0.185139999 0.034201\nv -0.151601002 -0.201291993 0.097957\nv -0.121379003 -0.188180998 0.085560001\nv -0.124307998 -0.180207998 0.098365001\nv -0.146736994 -0.207898006 0.082213998\nv -0.117620997 -0.194166005 0.069955997\nv -0.084122002 -0.175675005 0.059305999\nv -0.087352999 -0.169899002 0.072837003\nv -0.091756999 -0.163631007 0.084403999\nv -0.030432001 -0.131197006 0.006386\nv -0.030862 -0.139807001 0.013149\nv -0.066630997 -0.161448002 0.017821001\nv -0.069884002 -0.152804002 0.009934\nv -0.026653999 -0.141735002 0.020919999\nv -0.063427001 -0.165829003 0.027704\nv -0.016178999 -0.133637995 0.036433998\nv -0.019595001 -0.130660996 0.045249999\nv -0.053614002 -0.150700003 0.059367001\nv -0.051339999 -0.155965 0.048468001\nv -0.020540001 -0.120338 0.058348998\nv -0.058192 -0.139458001 0.075001001\nv 0.085363001 -0.071181998 0.005512\nv 0.018093999 -0.112121001 0.012854\nv 0.007255 -0.116314001 0.008873\nv 0.014336 -0.105825 0.003781\nv 0.022461001 -0.102049001 0.03077\nv 0.015267 -0.109855004 0.030587001\nv 0.024457 -0.107293002 0.022198001\nv -0.146736994 -0.211814001 0.065889001\nv -0.120458998 -0.199076995 0.054859001\nv -0.088522002 -0.182166994 0.046285\nv -0.056471001 -0.162504002 0.037916999\nv -0.023207 -0.140559003 0.029307\nv 0.01237 -0.116802 0.020006999\nv -0.190825999 -0.191406995 0.020771001\nv -0.158993006 -0.176807001 0.013621\nv -0.076987997 -0.143337995 0.005708\nv -0.039611999 -0.124536 0.003062\nv -0.004758 -0.105935 0.001451\nv 0.025192 -0.090412997 0.000602\nv -0.118982002 -0.169334993 0.105066001\nv -0.108779997 -0.163170993 0.113527\nv -0.090875 -0.155663997 0.091537997\nv -0.084890001 -0.151528999 0.100234002\nv -0.09708 -0.169328004 0.131608993\nv -0.084475003 -0.180813 0.149538994\nv -0.073985003 -0.156760007 0.116489001\nv -0.061264999 -0.166793004 0.132189006\nv -0.020153999 -0.197637007 0.232226998\nv -0.00908 -0.184814006 0.208627999\nv 0.002926 -0.175511003 0.220066994\nv -0.024984 -0.207565993 0.218303993\nv -0.015615 -0.195352003 0.196617007\nv -0.004797 -0.179360002 0.171066999\nv 0.001338 -0.168307006 0.180292994\nv 0.012313 -0.157297999 0.188826993\nv -0.046705998 -0.220285997 0.185709\nv -0.059923999 -0.214844003 0.176394001\nv -0.046726 -0.203483999 0.166354001\nv -0.035326 -0.205109 0.173755005\nv -0.073946998 -0.208712995 0.172571003\nv -0.058818001 -0.198339999 0.161266997\nv -0.039500002 -0.185275003 0.143141001\nv -0.030075001 -0.189103007 0.149502993\nv -0.021207999 -0.189178005 0.156827003\nv -0.053929999 -0.136270002 0.082269996\nv -0.04394 -0.139936998 0.094953001\nv -0.010778 -0.121266 0.070603997\nv 0.00072 -0.125580996 0.077085003\nv -0.032203998 -0.147797003 0.107000999\nv -0.007854 -0.167588994 0.122060999\nv -0.0148 -0.164866 0.115797997\nv 0.01369 -0.139458999 0.083896004\nv 0.030347999 -0.136962995 0.099082001\nv 0.005601 -0.164713994 0.133183002\nv 0.034979001 -0.129058003 0.107263997\nv 0.017028 -0.149342999 0.145071\nv 0.011951 -0.159310997 0.137877002\nv 0.042539999 -0.119483002 0.109976999\nv 0.026004 -0.138863996 0.151656002\nv 0.013132 -0.103814997 0.038212001\nv 0.024645999 -0.097840004 0.036582999\nv 0.021666 -0.103151001 0.047045\nv 0.035519 -0.101902001 0.045554999\nv 0.048401002 -0.110753998 0.055562001\nv 0.040047001 -0.117496997 0.059787001\nv 0.043072 -0.110036001 0.049327999\nv 0.060460001 -0.098431997 0.06521\nv 0.052181002 -0.108592004 0.071176\nv 0.054186001 -0.107974999 0.059245002\nv -0.033312 -0.214665994 0.201684996\nv -0.024660001 -0.202258006 0.184416994\nv -0.012548 -0.186123997 0.163629994\nv 0.046456002 -0.116269998 0.065509997\nv -0.088849001 -0.201374993 0.169349998\nv -0.071561001 -0.190632999 0.157544002\nv -0.049833 -0.177067995 0.139220998\nv -0.022702999 -0.157187998 0.112363003\nv 0.033363 -0.111925997 0.054397002\nv 0.028386001 -0.172312006 0.230548993\nv 0.054951001 -0.173619002 0.236833006\nv 0.034582 -0.150666997 0.194188997\nv 0.057838 -0.148481995 0.196588993\nv 0.162946999 -0.191514 0.279754013\nv 0.151586995 -0.169771001 0.238643005\nv 0.170039997 -0.165031001 0.239925995\nv 0.152457997 -0.204650998 0.272327989\nv 0.139324993 -0.177892998 0.233209997\nv 0.127933994 -0.151317999 0.192543998\nv 0.138555005 -0.144399002 0.19325\nv 0.154925004 -0.139586002 0.192055002\nv 0.044054002 -0.131929994 0.154528007\nv 0.054942001 -0.115036003 0.114169002\nv 0.074142002 -0.113017999 0.113435\nv 0.062923998 -0.128975004 0.155196995\nv 0.096601002 -0.120174997 0.112363003\nv 0.091311999 -0.138474002 0.154377997\nv 0.074363001 -0.130431995 0.155175999\nv 0.100496002 -0.140319005 0.153909996\nv 0.127168998 -0.125953004 0.152253002\nv 0.118523002 -0.131438002 0.152802005\nv 0.116682 -0.111091003 0.113760002\nv 0.125388995 -0.106991 0.109598003\nv 0.140294001 -0.121720001 0.150251999\nv 0.065387003 -0.098922998 0.075717002\nv 0.075846002 -0.093757004 0.066353001\nv 0.092151001 -0.098633997 0.066566996\nv 0.088533998 -0.102236003 0.075928003\nv 0.084434003 -0.095996 0.066457003\nv 0.109449998 -0.090954997 0.065173\nv 0.106348999 -0.096472003 0.075875998\nv 0.099982999 -0.095147997 0.066519998\nv 0.134474993 -0.210607007 0.257611006\nv 0.125575006 -0.185427994 0.228731006\nv 0.116678998 -0.158260003 0.192099005\nv 0.109599002 -0.137100995 0.153368995\nv 0.097563997 -0.101787999 0.075966001\nv 0.068714 -0.201856002 0.268795013\nv 0.070272997 -0.177829996 0.235678002\nv 0.071776003 -0.150810003 0.196237996\nv 0.080273002 -0.098076001 0.075774997\nv 0.202360004 -0.167647004 0.231957003\nv 0.234274 -0.174575001 0.218696997\nv 0.183425993 -0.138961002 0.186794996\nv 0.212068006 -0.143533006 0.178737998\nv 0.30062601 -0.120171003 0.011921\nv 0.324800014 -0.124746002 0.009082\nv 0.355870992 -0.133386999 0.035861999\nv 0.307339996 -0.123764001 0.026550001\nv 0.348150998 -0.135038003 0.074539997\nv 0.298240989 -0.126018003 0.055620998\nv 0.31061101 -0.202392995 0.194650993\nv 0.29540801 -0.209377006 0.203786999\nv 0.27184999 -0.190022007 0.179363996\nv 0.282503009 -0.186715007 0.170999005\nv 0.28215 -0.215983003 0.221426994\nv 0.261539012 -0.189003006 0.190292001\nv 0.238638997 -0.165268004 0.159897998\nv 0.250719011 -0.170554996 0.148715004\nv 0.162654996 -0.119817004 0.145326003\nv 0.141793996 -0.105871998 0.106861003\nv 0.156619996 -0.107484996 0.098996997\nv 0.185560003 -0.123028003 0.138981998\nv 0.175935 -0.127248004 0.092174999\nv 0.186947003 -0.133579999 0.087355003\nv 0.217890993 -0.153047994 0.121446997\nv 0.209594995 -0.146262005 0.127204001\nv 0.188308001 -0.126081005 0.078382999\nv 0.19066 -0.117297001 0.074978001\nv 0.228597 -0.133147001 0.102103002\nv 0.226780996 -0.144645005 0.108034998\nv 0.190387994 -0.106896996 0.064648002\nv 0.232353002 -0.122092001 0.090522997\nv 0.203667 -0.100895002 0.029928001\nv 0.211906001 -0.098626003 0.006753\nv 0.259030014 -0.112245001 0.019864\nv 0.250748992 -0.114251003 0.041616\nv 0.253479004 -0.108254999 0.005189\nv 0.122589 -0.092786998 0.070708998\nv 0.127122 -0.091325998 0.058348998\nv 0.145077005 -0.107762001 0.052241001\nv 0.151030004 -0.112810999 0.061329\nv 0.139189005 -0.103491001 0.054779001\nv 0.147331998 -0.090934001 0.037944999\nv 0.154970005 -0.100878999 0.049632002\nv 0.146534994 -0.102835 0.046634\nv 0.173379004 -0.088738002 0.002827\nv 0.154985994 -0.087107003 0.017963\nv 0.269151986 -0.210099995 0.236396\nv 0.251507014 -0.182774007 0.204106003\nv 0.228861004 -0.154309005 0.169149995\nv 0.200315997 -0.134140998 0.132725999\nv 0.169778004 -0.117904998 0.096954003\nv 0.141158 -0.101239003 0.063951001\nv 0.32566601 -0.192537993 0.189737007\nv 0.293561012 -0.179966003 0.164875001\nv 0.258857995 -0.166933 0.141136006\nv 0.224160999 -0.151403993 0.113848999\nv 0.154923007 -0.112244003 0.056765001\nv 0.334639013 -0.138923004 0.119046003\nv 0.286220014 -0.129208997 0.090139002\nv 0.240796998 -0.116663001 0.067764997\nv 0.198599994 -0.103257 0.049439002\nv 0.15986 -0.090960003 0.032676999\nv -0.240032002 -0.191598997 0.028666999\nv -0.233542994 -0.198906004 0.022789\nv -0.255612999 -0.227882996 0.030393001\nv -0.261604995 -0.219888002 0.036561001\nv -0.223552004 -0.206202999 0.020545\nv -0.245330006 -0.237020001 0.027782001\nv -0.282231003 -0.26472801 0.038615\nv -0.285589993 -0.253838003 0.041542999\nv -0.279408008 -0.240115002 0.042886\nv -0.207782 -0.216633007 0.024981\nv -0.225847006 -0.249237001 0.031661\nv -0.189524993 -0.219970003 0.031094\nv -0.192396998 -0.237092003 0.030236\nv -0.206506997 -0.253486007 0.031184999\nv -0.213798001 -0.264809996 0.036782\nv -0.235120997 -0.277577013 0.040794\nv -0.271611005 -0.294968992 0.049628999\nv -0.273882002 -0.277911991 0.042185999\nv -0.179159999 -0.232076004 0.039359\nv -0.359048009 -0.283695012 0.129930004\nv -0.377025008 -0.283831 0.130297005\nv -0.382735997 -0.291236997 0.128328994\nv -0.363276988 -0.292937994 0.127662003\nv -0.400941998 -0.274618 0.129572004\nv -0.398710012 -0.294384986 0.125705004\nv -0.383103013 -0.307761997 0.123617999\nv -0.378463 -0.300094008 0.12494\nv -0.27601701 -0.251796991 0.129852995\nv -0.279949009 -0.242734 0.124052003\nv -0.322385997 -0.254673988 0.121859998\nv -0.317598999 -0.264376014 0.130107999\nv -0.274753004 -0.230287999 0.116508998\nv -0.289837986 -0.234483004 0.111483999\nv -0.294104993 -0.228325993 0.098370001\nv -0.324959993 -0.244205996 0.105296001\nv -0.371782005 -0.238004997 0.110496998\nv -0.373622 -0.246264994 0.123191997\nv -0.385812998 -0.256217986 0.130992994\nv -0.356386006 -0.267499 0.130601004\nv -0.345005989 -0.269472003 0.131697997\nv -0.296766996 -0.227556005 0.080072999\nv -0.327152997 -0.241217002 0.087531\nv -0.296692014 -0.231742993 0.062318001\nv -0.326680988 -0.245471001 0.070473\nv -0.374837011 -0.237835005 0.082594998\nv -0.372415006 -0.235137999 0.096216999\nv -0.292744994 -0.240459993 0.050833002\nv -0.321260005 -0.25672701 0.056031\nv -0.328171015 -0.27095601 0.051690999\nv -0.396699995 -0.254951 0.068301\nv -0.37836501 -0.246266007 0.071874\nv -0.329831988 -0.284393996 0.054304\nv -0.327735007 -0.29718101 0.060890999\nv -0.394888014 -0.277866989 0.074317001\nv -0.39101401 -0.268265992 0.068951003\nv -0.267951995 -0.306867987 0.056954\nv -0.323372006 -0.309460014 0.068471998\nv -0.252231002 -0.32090801 0.062953003\nv -0.274798006 -0.321025014 0.059728\nv -0.284175992 -0.318908006 0.068314999\nv -0.303146988 -0.315863997 0.067753002\nv -0.314622015 -0.314868987 0.072218999\nv -0.333198994 -0.317189008 0.071450002\nv -0.358332992 -0.314034998 0.076231003\nv -0.376859993 -0.306977004 0.079313003\nv -0.405625999 -0.302150011 0.085322998\nv -0.398074001 -0.285347998 0.080427997\nv -0.459520996 -0.235413 0.129271001\nv -0.445466012 -0.222361997 0.132285997\nv -0.489890993 -0.200871006 0.132247999\nv -0.510235012 -0.194968998 0.131343007\nv -0.441417992 -0.212294996 0.125887007\nv -0.439770997 -0.206316993 0.116993003\nv -0.508247018 -0.175933003 0.124931999\nv -0.507182002 -0.184247002 0.132850006\nv -0.440165013 -0.204220995 0.106764004\nv -0.442454994 -0.206202 0.097029999\nv -0.509639978 -0.174908996 0.112466998\nv -0.446494997 -0.212458998 0.089620002\nv -0.455920994 -0.214775994 0.086727001\nv -0.515452981 -0.182824999 0.102957003\nv -0.462871999 -0.213036001 0.087026998\nv -0.474364996 -0.204938993 0.090544\nv -0.457964987 -0.219134003 0.086144999\nv -0.474348009 -0.205134004 0.090600997\nv -0.454742014 -0.229110003 0.087061003\nv -0.459477991 -0.235523999 0.091666996\nv -0.513894022 -0.198827997 0.109384\nv -0.466643989 -0.241354004 0.100110002\nv -0.419268996 -0.289231986 0.088154003\nv -0.434347987 -0.273802996 0.091609001\nv -0.447697997 -0.25990501 0.093976997\nv -0.450093001 -0.26166299 0.10007\nv -0.459571987 -0.250611007 0.099665001\nv -0.475217015 -0.235581994 0.106454998\nv -0.484726012 -0.225989997 0.107632004\nv -0.495218009 -0.215049997 0.109644003\nv -0.503921986 -0.207002997 0.114763997\nv -0.497754008 -0.209821999 0.107357003\nv -0.512093008 -0.196968004 0.113608003\nv -0.503081024 -0.204288006 0.108882003\nv -0.51859498 -0.190503001 0.114168003\nv -0.467619985 -0.231738001 0.128411993\nv -0.418199986 -0.27670899 0.126857996\nv -0.516848028 -0.188428998 0.128261998\nv -0.501070023 -0.199669003 0.130061001\nv -0.508543015 -0.193683997 0.129758\nv -0.494556993 -0.205895007 0.129795\nv -0.503405988 -0.203490004 0.125221997\nv -0.487904012 -0.212322995 0.129442006\nv -0.479954988 -0.219352007 0.129334003\nv -0.482437998 -0.223526001 0.124867\nv -0.452859998 -0.244301006 0.128407001\nv -0.441745996 -0.255277008 0.127401993\nv -0.427426994 -0.269080997 0.126399994\nv -0.411660999 -0.283755004 0.125572994\nv -0.475508004 -0.222778007 0.129444003\nv -0.54975301 -0.183681995 0.131429002\nv -0.554467976 -0.171981007 0.132208005\nv -0.584244013 -0.182495996 0.133837\nv -0.557411015 -0.169854999 0.120819002\nv -0.58565098 -0.183446005 0.121901996\nv -0.555177987 -0.176605999 0.112761997\nv -0.578387022 -0.183076993 0.128564999\nv -0.550360978 -0.186046004 0.122460999\nv -0.532393992 -0.187874004 0.117059\nv -0.565648019 -0.184118003 0.122615002\nv -0.530420005 -0.188065007 0.124913\nv -0.567906976 -0.183548003 0.130179003\nv -0.538350999 -0.183883995 0.131784007\nv -0.602212012 -0.203345001 0.130310997\nv -0.59641701 -0.203149006 0.136062995\nv -0.601316988 -0.225628003 0.137430996\nv -0.604312003 -0.227564007 0.133385003\nv -0.594223976 -0.204199001 0.129071996\nv -0.601117015 -0.226251006 0.131493002\nv -0.596445978 -0.246352002 0.135685995\nv -0.596050978 -0.243966997 0.140202999\nv -0.583580971 -0.256882012 0.142449006\nv -0.583023012 -0.256725013 0.137569994\nv -0.595103979 -0.242730007 0.136003003\nv -0.583908975 -0.253553987 0.141259\nv -0.566411972 -0.257355005 0.143378004\nv -0.56734401 -0.254076004 0.143166006\nv -0.548554003 -0.250259012 0.145179003\nv -0.566344023 -0.256323993 0.140618995\nv -0.245140001 -0.207902998 0.123291001\nv -0.256556004 -0.207301006 0.114161\nv -0.243459001 -0.219853997 0.128135994\nv -0.219293997 -0.190475002 0.126160994\nv -0.221166998 -0.178504005 0.123356998\nv -0.231249005 -0.180735007 0.118821003\nv -0.240881994 -0.176919997 0.109344997\nv -0.25582099 -0.175020993 0.048289001\nv -0.248741001 -0.182867005 0.036125001\nv -0.268216997 -0.211097002 0.043350998\nv -0.27303499 -0.203540996 0.054366\nv -0.249100998 -0.173067003 0.100910999\nv -0.265076995 -0.202896997 0.105056003\nv -0.254776001 -0.169524997 0.088395\nv -0.270756006 -0.198833004 0.092547998\nv -0.273645014 -0.199249998 0.073207997\nv -0.257423997 -0.170375004 0.068283997\nv -0.230597004 -0.240438998 0.128037006\nv -0.244797006 -0.255562991 0.127666995\nv -0.243967995 -0.272965997 0.125790998\nv -0.232483998 -0.256359994 0.126973003\nv -0.271135002 -0.275070012 0.128325\nv -0.267885 -0.28887099 0.125674993\nv -0.248447999 -0.303855985 0.120590001\nv -0.239433005 -0.289938003 0.124105997\nv -0.228125006 -0.26909399 0.122979999\nv -0.179869995 -0.224021003 0.130842\nv -0.171507999 -0.227193996 0.125083998\nv -0.175784007 -0.219624996 0.110224999\nv -0.166428 -0.230266005 0.115741998\nv -0.195938006 -0.220980003 0.128607005\nv -0.189804003 -0.226258993 0.136677995\nv -0.206507996 -0.229594007 0.133311003\nv -0.197613999 -0.234675005 0.140910998\nv -0.213511005 -0.239571005 0.133669004\nv -0.205195993 -0.242394999 0.141096994\nv -0.220292002 -0.246610001 0.130149007\nv -0.209130004 -0.251958996 0.137737006\nv -0.218143001 -0.257968992 0.125522003\nv -0.215377003 -0.265675008 0.117968999\nv -0.207864001 -0.269717008 0.124142997\nv -0.209930003 -0.261675 0.131962001\nv -0.212770998 -0.275339991 0.107107997\nv -0.202647001 -0.274913013 0.115507998\nv -0.198954001 -0.27146399 0.098728999\nv -0.193965003 -0.27552101 0.108262002\nv -0.198413 -0.262345999 0.114830002\nv -0.194067001 -0.246408001 0.127663001\nv -0.199210003 -0.255178005 0.121592999\nv -0.188115999 -0.254244 0.121633999\nv -0.182252005 -0.241723999 0.122087002\nv -0.179996997 -0.249988005 0.117174\nv -0.177874997 -0.243887007 0.111474998\nv -0.180592999 -0.252635986 0.112493999\nv -0.193050995 -0.25898701 0.118479997\nv -0.187444001 -0.258417994 0.110716\nv -0.163446993 -0.239463001 0.109794997\nv -0.164156005 -0.248279005 0.102725998\nv -0.169039994 -0.257057011 0.097603999\nv -0.175510004 -0.265832007 0.100544997\nv -0.184724003 -0.272807986 0.101815999\nv -0.187904 -0.266299009 0.093555003\nv -0.181002006 -0.259415001 0.088721\nv -0.172609001 -0.238224998 0.096169002\nv -0.168993995 -0.232281998 0.104266003\nv -0.201354995 -0.282525003 0.084337004\nv -0.179465994 -0.264472991 0.079190999\nv -0.168991998 -0.249601007 0.072251998\nv -0.166557997 -0.227163002 0.090002\nv -0.174432993 -0.247892007 0.088367\nv -0.171280995 -0.223305002 0.099711999\nv -0.202561006 -0.200995997 0.124651\nv -0.220791996 -0.220083997 0.127637997\nv -0.206110001 -0.218538001 0.127309993\nv -0.191163003 -0.207855001 0.120935\nv -0.216901004 -0.232537001 0.130122006\nv -0.167971 -0.238080993 0.064184003\nv -0.236335993 -0.298723012 0.051736999\nv -0.215066999 -0.272392988 0.044741001\nv -0.219861999 -0.283623993 0.050872002\nv -0.172866002 -0.258336008 0.076382004\nv -0.166049004 -0.262672007 0.071828999\nv -0.172631994 -0.271651 0.072998002\nv -0.161749005 -0.255778015 0.064046003\nv -0.187757999 -0.27224201 0.079926997\nv -0.197092995 -0.27799499 0.073886\nv -0.190371007 -0.283888012 0.067374997\nv -0.202972993 -0.283556998 0.050700001\nv -0.198043004 -0.285380989 0.059735\nv -0.208849996 -0.28222999 0.063754\nv -0.211747006 -0.277687997 0.055171002\nv -0.207589999 -0.278800011 0.041338\nv -0.206366003 -0.271726012 0.032407999\nv -0.203820005 -0.262943 0.025842\nv -0.200100005 -0.247162998 0.027636001\nv -0.195728004 -0.255484015 0.023533\nv -0.197945997 -0.26069501 0.037448999\nv -0.189962 -0.271425009 0.053814001\nv -0.197603002 -0.267071009 0.045667998\nv -0.183640003 -0.261907011 0.043382\nv -0.177990004 -0.26415199 0.057177\nv -0.177835003 -0.262730002 0.051892001\nv -0.175977007 -0.255194992 0.055043999\nv -0.179112002 -0.254599988 0.044564001\nv -0.188115001 -0.25316599 0.038690001\nv -0.191322997 -0.263175011 0.040461\nv -0.181167006 -0.278890014 0.071500003\nv -0.161311999 -0.248776004 0.055206999\nv -0.163938999 -0.244302005 0.045146\nv -0.169751003 -0.241667002 0.036302999\nv -0.177691996 -0.243555993 0.029064\nv -0.186783999 -0.248472005 0.024366001\nv -0.171756998 -0.232506007 0.050461002\nv -0.218340993 -0.280690998 0.118931003\nv -0.231344 -0.285387993 0.124831997\nv -0.221202999 -0.288331985 0.126503006\nv -0.230704993 -0.295033991 0.129020005\nv -0.238918006 -0.306053996 0.125666007\nv -0.240015998 -0.31427899 0.117294997\nv -0.243843004 -0.314731002 0.103794001\nv -0.236330003 -0.320389986 0.105434999\nv -0.233232006 -0.315263003 0.091508001\nv -0.226495996 -0.319389999 0.095822997\nv -0.218624994 -0.31310299 0.089369997\nv -0.205758005 -0.296243995 0.098503001\nv -0.205581993 -0.288534999 0.106500998\nv -0.211297005 -0.28699401 0.117242001\nv -0.222007006 -0.307018995 0.104158998\nv -0.229481995 -0.306715012 0.113732003\nv -0.222719997 -0.296155989 0.116278\nv -0.216371 -0.297509998 0.106293999\nv -0.211685002 -0.306849986 0.089767002\nv -0.210704997 -0.294555992 0.089455001\nv -0.209049001 -0.285596997 0.098297998\nv -0.243964002 -0.320639014 0.091178\nv -0.219931006 -0.302765995 0.087125003\nv -0.213753998 -0.291768014 0.049066\nv -0.226162001 -0.297627985 0.043602999\nv -0.245602995 -0.315109015 0.059356\nv -0.237838 -0.322820008 0.063495003\nv -0.243146002 -0.319483995 0.072892003\nv -0.231836006 -0.323484004 0.075831003\nv -0.233734995 -0.317360014 0.082777001\nv -0.221871004 -0.31862399 0.081427999\nv -0.225547001 -0.311704993 0.087020002\nv -0.205973998 -0.293808997 0.062831998\nv -0.229839996 -0.311879992 0.059436001\nv -0.240649998 -0.312983006 0.049649\nv -0.221745998 -0.302583009 0.055543002\nv -0.234196007 -0.305308998 0.043722998\nv -0.223308995 -0.311425 0.068953\nv -0.212338999 -0.310038 0.082047999\nv -0.206457004 -0.301894009 0.075870998\nv -0.211051002 -0.296772987 0.081998996\nv -0.208761007 -0.289810985 0.072433002\nv -0.252303988 -0.328218013 0.080007002\nv -0.28422001 -0.325533986 0.068363003\nv -0.286195993 -0.324894994 0.077541001\nv -0.281282991 -0.324045986 0.086889997\nv -0.274396002 -0.329926997 0.089576997\nv -0.269338012 -0.321406007 0.094246998\nv -0.25228101 -0.328413993 0.068056002\nv -0.263704002 -0.325744987 0.057939999\nv -0.266295999 -0.327396005 0.072310001\nv -0.258713007 -0.326977998 0.088772997\nv -0.261299014 -0.324795991 0.099875003\nv -0.288973004 -0.319911987 0.094563\nv -0.266806006 -0.308380008 0.128151998\nv -0.280921996 -0.306160986 0.123196997\nv -0.277188003 -0.312528014 0.129021004\nv -0.285840988 -0.318006009 0.117762998\nv -0.282494992 -0.320257008 0.103367999\nv -0.276560009 -0.327612013 0.102222003\nv -0.264658004 -0.321011007 0.112864003\nv -0.266647011 -0.316991001 0.120834999\nv -0.256437987 -0.310357004 0.123778999\nv -0.251913995 -0.318040013 0.118539996\nv -0.253342003 -0.321399003 0.107050002\nv -0.299820989 -0.310575992 0.125799999\nv -0.313079 -0.30646801 0.120627999\nv -0.317277998 -0.315019011 0.114496998\nv -0.294782013 -0.325702012 0.100215003\nv -0.287687004 -0.32415399 0.107610002\nv -0.310929 -0.321471989 0.098803997\nv -0.299618006 -0.321336001 0.109480999\nv -0.291981995 -0.315798014 0.124003001\nv -0.30962199 -0.322964013 0.067157\nv -0.316424996 -0.323655993 0.075401999\nv -0.316408008 -0.318839014 0.085028999\nv -0.297327995 -0.326950014 0.095082998\nv -0.295536995 -0.325774997 0.067318\nv -0.288168997 -0.326577991 0.087683\nv -0.300440013 -0.325800002 0.082084998\nv -0.324306995 -0.322355002 0.092352003\nv -0.323962986 -0.321027994 0.077330001\nv -0.342680991 -0.320172012 0.094591998\nv -0.350923985 -0.316229999 0.087176003\nv -0.344105005 -0.319085002 0.075337999\nv -0.332446009 -0.320926011 0.083567999\nv -0.32870999 -0.319261998 0.102064997\nv -0.353983015 -0.31486699 0.100048997\nv -0.339673012 -0.319050014 0.104354002\nv -0.331750005 -0.314224988 0.117394999\nv -0.347862005 -0.313737988 0.114292003\nv -0.342133999 -0.306717008 0.124445997\nv -0.328988999 -0.309886009 0.126181006\nv -0.272029996 -0.261054009 0.130419999\nv -0.238258004 -0.230443999 0.128711998\nv -0.213999003 -0.198345006 0.126592994\nv -0.371419996 -0.276569009 0.132234007\nv -0.354795992 -0.275557011 0.131999999\nv -0.393108994 -0.263913989 0.132423997\nv -0.368084997 -0.316982001 0.098178998\nv -0.379343987 -0.31152299 0.086847\nv -0.361382008 -0.317357987 0.089330003\nv -0.370472997 -0.313437998 0.077497996\nv -0.381648004 -0.311439991 0.099105\nv -0.366649002 -0.303088009 0.124201\nv -0.377555013 -0.310869992 0.112212002\nv -0.358422011 -0.314123988 0.111529\nv -0.35294199 -0.309881002 0.122584\nv -0.399365008 -0.310651988 0.094681002\nv -0.392706007 -0.309361994 0.082856998\nv -0.389373004 -0.311834991 0.092293002\nv -0.389135003 -0.312723011 0.104516\nv -0.407674998 -0.304538995 0.109890997\nv -0.404294014 -0.301140994 0.121018998\nv -0.397626013 -0.309415013 0.109567001\nv -0.388318986 -0.310270995 0.114459001\nv -0.409574986 -0.304571986 0.100213997\nv -0.422767997 -0.291023999 0.096363999\nv -0.416249007 -0.294055015 0.109158002\nv -0.422574013 -0.290010989 0.115085997\nv -0.432399005 -0.283115 0.092886999\nv -0.435438991 -0.278461009 0.101478003\nv -0.429136992 -0.286852986 0.108020999\nv -0.434985012 -0.272473007 0.120948002\nv -0.425808012 -0.280808002 0.125562996\nv -0.444099993 -0.271393001 0.109866999\nv -0.443733007 -0.27026999 0.094913997\nv -0.447441012 -0.262533993 0.114430003\nv -0.443230003 -0.263325006 0.125221997\nv -0.45718801 -0.254186988 0.112643003\nv -0.463239998 -0.247189 0.107515998\nv -0.451501012 -0.251722991 0.126371995\nv -0.462873995 -0.245087996 0.121247001\nv -0.469668001 -0.240660995 0.114950001\nv -0.475333005 -0.231399 0.123737998\nv -0.481451005 -0.228238001 0.116149999\nv -0.491223991 -0.220100999 0.117210999\nv -0.496174008 -0.213247001 0.120407\nv -0.496410996 -0.208892003 0.129177004\nv -0.510910988 -0.197889999 0.122720003\nv -0.316000998 -0.297764003 0.125929996\nv -0.316404015 -0.283591986 0.129023001\nv -0.316271007 -0.273238987 0.131456003\nv -0.560014009 -0.185331002 0.126689002\nv -0.247742996 -0.155006006 0.066643998\nv -0.246026993 -0.154203996 0.086475998\nv -0.245159999 -0.160340995 0.045761\nv -0.225081995 -0.164804995 0.028666999\nv -0.235382006 -0.169995993 0.031697001\nv -0.207935005 -0.179079995 0.020374\nv -0.221594006 -0.186946005 0.018935001\nv -0.211912006 -0.191058993 0.017858\nv -0.191020995 -0.191430002 0.022865999\nv -0.197465003 -0.200030997 0.022799\nv -0.182733998 -0.209916994 0.030924\nv -0.172203004 -0.216775998 0.039402999\nv -0.165717006 -0.221525997 0.048579998\nv -0.162119001 -0.224102005 0.062031001\nv -0.161809996 -0.218958005 0.081624001\nv -0.166369006 -0.213329002 0.097875997\nv -0.173927993 -0.204978004 0.11045\nv -0.183714002 -0.196449995 0.119029\nv -0.194789007 -0.189392 0.123124003\nv -0.201666996 -0.180353001 0.124567002\nv -0.213168994 -0.171856999 0.123478003\nv -0.225320995 -0.164214 0.114110999\nv -0.235955998 -0.159088999 0.103175998\nv -0.242910996 -0.158147007 0.097382002\nv -0.144866005 -0.204515994 0.201379001\nv -0.141508996 -0.212917 0.193672001\nv -0.15817 -0.240732998 0.213615999\nv -0.161335006 -0.231885999 0.221343994\nv -0.132369995 -0.220791996 0.187665999\nv -0.149424002 -0.250452012 0.207623005\nv -0.176999003 -0.27621901 0.236137003\nv -0.179103002 -0.265013009 0.239318997\nv -0.173545003 -0.251255989 0.236708999\nv -0.115323998 -0.231161997 0.186104\nv -0.129186004 -0.262800992 0.204311997\nv -0.095549002 -0.234484002 0.184439003\nv -0.097981997 -0.251482993 0.188355997\nv -0.111250997 -0.266889006 0.197137997\nv -0.114802003 -0.277390003 0.205886006\nv -0.132901996 -0.289727986 0.219527006\nv -0.161932006 -0.30557999 0.244400993\nv -0.167509004 -0.289251 0.237036005\nv -0.083353996 -0.246576995 0.190511003\nv -0.207890004 -0.286168009 0.352768987\nv -0.224057004 -0.285950005 0.360637009\nv -0.229934007 -0.293388993 0.361853004\nv -0.212513 -0.295488 0.35324499\nv -0.245222002 -0.275036007 0.369040012\nv -0.245364994 -0.296014011 0.366611987\nv -0.237969995 -0.308470011 0.36215499\nv -0.227072999 -0.301277995 0.358417004\nv -0.133043006 -0.255769998 0.315784991\nv -0.139261007 -0.247088 0.311515003\nv -0.178498998 -0.258569002 0.327751011\nv -0.170525998 -0.267648011 0.334001988\nv -0.138135001 -0.235226005 0.301694989\nv -0.153878003 -0.239659995 0.303425014\nv -0.163451999 -0.234503999 0.292764992\nv -0.187958002 -0.249447003 0.31299001\nv -0.228407994 -0.241999999 0.336782992\nv -0.224616006 -0.249158993 0.349712014\nv -0.232242003 -0.258219004 0.362684995\nv -0.205483004 -0.270022005 0.350937009\nv -0.194655001 -0.272103012 0.347328007\nv -0.173638001 -0.235209003 0.277119011\nv -0.197438002 -0.247883007 0.297594011\nv -0.180983007 -0.240888 0.261215001\nv -0.204071999 -0.253526002 0.282315999\nv -0.242862999 -0.244058996 0.312810004\nv -0.235010996 -0.2403 0.323897004\nv -0.182037994 -0.250652999 0.249778003\nv -0.204991996 -0.26602301 0.267904997\nv -0.212827995 -0.280431986 0.268036008\nv -0.26839 -0.261891991 0.310431987\nv -0.25040099 -0.253273994 0.30528\nv -0.213000998 -0.293579012 0.272195011\nv -0.208110005 -0.305819988 0.278322011\nv -0.263814002 -0.284267008 0.316991001\nv -0.262715012 -0.275207996 0.30972901\nv -0.155298993 -0.316870004 0.250532001\nv -0.200754002 -0.317512989 0.284357995\nv -0.134375006 -0.327731997 0.248852\nv -0.159572005 -0.331862003 0.255367994\nv -0.166822001 -0.332349986 0.269625992\nv -0.179845005 -0.329347014 0.273205012\nv -0.191245005 -0.322539985 0.28421101\nv -0.209995002 -0.325477004 0.292486995\nv -0.225687996 -0.316845 0.302924991\nv -0.244195998 -0.314390987 0.316202998\nv -0.267753005 -0.306930006 0.331140012\nv -0.264014989 -0.291164011 0.324463993\nv -0.300265998 -0.236303002 0.390273988\nv -0.327217996 -0.201093003 0.402850002\nv -0.345919997 -0.195052996 0.409970999\nv -0.285661012 -0.213868007 0.377743989\nv -0.286475986 -0.223304003 0.386049986\nv -0.287995011 -0.208669007 0.368521005\nv -0.347397 -0.176511005 0.401874989\nv -0.34296599 -0.184166998 0.409271002\nv -0.292670995 -0.207409993 0.35926199\nv -0.298788995 -0.210140005 0.351577997\nv -0.353895992 -0.176485002 0.391099006\nv -0.305447012 -0.216907993 0.347077996\nv -0.315174013 -0.219284996 0.348596007\nv -0.363038987 -0.185065001 0.385632008\nv -0.321392 -0.217400998 0.351635009\nv -0.330502003 -0.208838001 0.358963013\nv -0.317196012 -0.223637998 0.349281996\nv -0.330457985 -0.209028006 0.359023988\nv -0.313706011 -0.233561993 0.349577993\nv -0.315963 -0.239491001 0.356252015\nv -0.359052002 -0.197427005 0.393817008\nv -0.320145994 -0.242486998 0.366494\nv -0.280851007 -0.292609006 0.340770006\nv -0.294506997 -0.275644988 0.348933995\nv -0.292255998 -0.278364986 0.348800987\nv -0.303162009 -0.267129004 0.356231004\nv -0.308871001 -0.258255988 0.363617003\nv -0.312619001 -0.249698997 0.372970015\nv -0.323424011 -0.237664998 0.37718001\nv -0.333124995 -0.227062002 0.380672991\nv -0.341619998 -0.214690998 0.390886992\nv -0.339394003 -0.218474001 0.380641013\nv -0.348354995 -0.208275005 0.389517993\nv -0.344613999 -0.211906999 0.384359986\nv -0.351054996 -0.204584002 0.390466005\nv -0.308331996 -0.233376995 0.392154992\nv -0.263013005 -0.278394014 0.374177009\nv -0.352198005 -0.186592996 0.410907\nv -0.338304996 -0.199873 0.405452013\nv -0.347285002 -0.193691 0.407793999\nv -0.336466998 -0.202667996 0.404157013\nv -0.325942993 -0.212744996 0.400467992\nv -0.330666006 -0.214329004 0.400124997\nv -0.319083005 -0.219926 0.397567987\nv -0.322499007 -0.224044994 0.395209014\nv -0.301669002 -0.246473998 0.38618201\nv -0.294420004 -0.245350003 0.387432009\nv -0.284550995 -0.256568998 0.382768989\nv -0.271488011 -0.271037012 0.376798004\nv -0.257485986 -0.285638005 0.370853007\nv -0.314936996 -0.223409995 0.396086991\nv -0.381278008 -0.182188004 0.425747007\nv -0.385960996 -0.171440005 0.427569002\nv -0.409857988 -0.181007996 0.441228002\nv -0.393869013 -0.169907004 0.418233007\nv -0.418413997 -0.180470005 0.437743992\nv -0.395043999 -0.177388996 0.41059199\nv -0.415295988 -0.184156999 0.430833995\nv -0.386085987 -0.185944006 0.419046015\nv -0.366573989 -0.189919993 0.403512001\nv -0.375257999 -0.188080996 0.406314999\nv -0.372893006 -0.188079 0.412750006\nv -0.395633012 -0.180555999 0.433930993\nv -0.356243014 -0.190870002 0.405106008\nv -0.367247999 -0.184740007 0.418076992\nv -0.430097997 -0.201793998 0.447876006\nv -0.423225999 -0.201036006 0.451465994\nv -0.425848007 -0.223371997 0.45648399\nv -0.42950201 -0.225179002 0.451994985\nv -0.423947006 -0.202848002 0.443634003\nv -0.425624013 -0.223227993 0.451169014\nv -0.407059014 -0.254759014 0.455585986\nv -0.407566011 -0.25129199 0.455529988\nv -0.419553012 -0.241639003 0.458074003\nv -0.421745986 -0.243991002 0.453880012\nv -0.408657998 -0.253399998 0.451386005\nv -0.420405 -0.240541995 0.453693986\nv -0.391250014 -0.253183007 0.450612009\nv -0.391847998 -0.25463599 0.447517991\nv -0.377833992 -0.249571994 0.443455011\nv -0.392524987 -0.251731992 0.448040009\nv -0.108593002 -0.212569997 0.294966996\nv -0.123268999 -0.212417006 0.290969014\nv -0.104599997 -0.224333003 0.299331009\nv -0.081449002 -0.193556994 0.285625011\nv -0.084787004 -0.180317998 0.282308012\nv -0.097498 -0.184045002 0.283089995\nv -0.111088999 -0.180782005 0.278079003\nv -0.152094007 -0.184573993 0.225673005\nv -0.150207996 -0.194323003 0.211539999\nv -0.164835006 -0.222156003 0.229863003\nv -0.164783999 -0.213361993 0.241661996\nv -0.123071998 -0.177662998 0.273449004\nv -0.135333002 -0.208486006 0.285659999\nv -0.133847997 -0.174677998 0.263516009\nv -0.146201998 -0.205286995 0.276073009\nv -0.157296002 -0.207325995 0.259236008\nv -0.145080999 -0.177503005 0.245294005\nv -0.092644997 -0.245535001 0.294135004\nv -0.105502002 -0.260325015 0.300949991\nv -0.105319999 -0.27788499 0.299982995\nv -0.094696 -0.261447012 0.294887006\nv -0.128865004 -0.279273003 0.313905001\nv -0.126800001 -0.29331401 0.311190009\nv -0.111933 -0.310723007 0.300493985\nv -0.096965 -0.292504996 0.296514988\nv -0.092179999 -0.274542004 0.290493995\nv -0.052315999 -0.231750995 0.283448994\nv -0.046015002 -0.229493007 0.273593992\nv -0.048353001 -0.229003996 0.254489005\nv -0.068663999 -0.234869003 0.287822008\nv -0.057585001 -0.239172995 0.291258991\nv -0.074968003 -0.244510993 0.291628987\nv -0.064309001 -0.246840999 0.295058012\nv -0.082015 -0.252106994 0.291770011\nv -0.067672998 -0.256754011 0.293540001\nv -0.081968002 -0.263473988 0.287831992\nv -0.082763001 -0.271773994 0.280344993\nv -0.073585004 -0.275552988 0.283261001\nv -0.070758 -0.266745001 0.289981008\nv -0.084769003 -0.282341003 0.270222008\nv -0.071625002 -0.281253994 0.273627013\nv -0.075565003 -0.279376 0.257045001\nv -0.066690996 -0.282460988 0.263767004\nv -0.051429 -0.247886002 0.268725008\nv -0.051252998 -0.256844014 0.263534993\nv -0.051391002 -0.249245003 0.258269012\nv -0.054269001 -0.260993987 0.260879993\nv -0.061106 -0.264600009 0.271346003\nv -0.060123 -0.252990007 0.278393\nv -0.040284999 -0.233747005 0.265464991\nv -0.040277999 -0.237517998 0.254857987\nv -0.039995 -0.246255994 0.247661993\nv -0.042947002 -0.256608009 0.243696004\nv -0.048142999 -0.266151994 0.244166002\nv -0.054283999 -0.274572998 0.246980995\nv -0.061517999 -0.280790001 0.253508002\nv -0.067886002 -0.275029987 0.246787995\nv -0.063009001 -0.268813998 0.239213005\nv -0.052053999 -0.248117 0.240961\nv -0.083800003 -0.291574001 0.245434999\nv -0.066335998 -0.274720013 0.229881003\nv -0.060040001 -0.260529995 0.218403995\nv -0.048097 -0.239085004 0.231618002\nv -0.057128999 -0.258340001 0.234919995\nv -0.048411001 -0.234042004 0.242769003\nv -0.065678 -0.205200002 0.277934998\nv -0.083737999 -0.225476995 0.289139003\nv -0.070257999 -0.224574998 0.282445014\nv -0.056400999 -0.213038996 0.270399004\nv -0.079400003 -0.237822995 0.289609998\nv -0.062405001 -0.251733005 0.208891004\nv -0.128921002 -0.309749007 0.231914997\nv -0.113008998 -0.284465998 0.214530006\nv -0.114436001 -0.295392007 0.222692996\nv -0.057353999 -0.273703009 0.217427\nv -0.062581003 -0.282160014 0.222506002\nv -0.057181001 -0.267627001 0.208168998\nv -0.073412001 -0.281984001 0.234844998\nv -0.083976999 -0.289032996 0.233382002\nv -0.070883997 -0.289243996 0.225613996\nv -0.099403001 -0.295372009 0.215803996\nv -0.091032997 -0.296243995 0.221954003\nv -0.097556002 -0.293693006 0.231435001\nv -0.105535001 -0.288949013 0.223008007\nv -0.107899003 -0.291166008 0.209123999\nv -0.110281996 -0.284967989 0.199679002\nv -0.111284003 -0.276124001 0.192522004\nv -0.106922001 -0.260627002 0.190925002\nv -0.104713999 -0.269605994 0.185857996\nv -0.100725003 -0.273714989 0.199810997\nv -0.086489998 -0.282922 0.211420998\nv -0.096808001 -0.279430002 0.207573995\nv -0.086731002 -0.278005987 0.201737002\nv -0.093560003 -0.276012987 0.199880004\nv -0.080329001 -0.269428998 0.198700994\nv -0.090209 -0.268041998 0.196667001\nv -0.080926999 -0.294477999 0.22462\nv -0.074141003 -0.275662005 0.209020004\nv -0.066854998 -0.256837994 0.191370994\nv -0.059806999 -0.259350985 0.200343996\nv -0.076025002 -0.255874991 0.185577005\nv -0.085934997 -0.25820601 0.182276994\nv -0.096089996 -0.263071001 0.182431996\nv -0.071424 -0.247517005 0.197696\nv -0.084583998 -0.294907987 0.292934\nv -0.080271997 -0.290793985 0.284682006\nv -0.088564999 -0.28620401 0.286980987\nv -0.095269002 -0.303427011 0.300761014\nv -0.105838999 -0.322584003 0.290302008\nv -0.102306001 -0.316222012 0.297408015\nv -0.116493002 -0.322187006 0.286361009\nv -0.105875 -0.326983988 0.282285988\nv -0.104740001 -0.325491995 0.268711001\nv -0.078267001 -0.295208991 0.269463003\nv -0.094278 -0.314678997 0.276311994\nv -0.096228004 -0.311928988 0.285425007\nv -0.088808998 -0.305736005 0.270794004\nv -0.084237002 -0.305236995 0.258607\nv -0.090421997 -0.315095991 0.257440001\nv -0.097197004 -0.321004987 0.260019004\nv -0.084891997 -0.293348998 0.261534989\nv -0.08901 -0.303038001 0.283630997\nv -0.118946001 -0.32822299 0.272574991\nv -0.099141002 -0.311176986 0.257389009\nv -0.124932997 -0.310149997 0.220789999\nv -0.115387999 -0.306445986 0.218511\nv -0.127400994 -0.332038999 0.242813006\nv -0.133823007 -0.322548002 0.232140005\nv -0.117323004 -0.332911998 0.252050996\nv -0.125746995 -0.328561008 0.255295008\nv -0.112318002 -0.32564199 0.260430992\nv -0.103084996 -0.327455014 0.254081994\nv -0.104124002 -0.319992006 0.260376006\nv -0.101939 -0.303878993 0.224012002\nv -0.094434999 -0.306066006 0.231867999\nv -0.119103 -0.321738988 0.237224996\nv -0.105846003 -0.316377997 0.238741994\nv -0.110486999 -0.322438985 0.246175006\nv -0.112176999 -0.312404007 0.230407\nv -0.130213007 -0.317005992 0.224308997\nv -0.093367003 -0.317155987 0.248561993\nv -0.093400002 -0.304560989 0.246411994\nv -0.130588993 -0.331829995 0.262401015\nv -0.147218004 -0.337072015 0.284492999\nv -0.140417993 -0.327715009 0.286383986\nv -0.154563993 -0.331239998 0.284604013\nv -0.162413001 -0.333067 0.279262006\nv -0.148846 -0.33544001 0.251069993\nv -0.150381997 -0.33555299 0.272785008\nv -0.147414997 -0.335974008 0.260652006\nv -0.136020005 -0.337682009 0.256159008\nv -0.131485999 -0.338757992 0.269158989\nv -0.141572997 -0.336766005 0.268656999\nv -0.135863006 -0.337704986 0.279893011\nv -0.131403998 -0.330720991 0.275570989\nv -0.129562005 -0.330913007 0.288123995\nv -0.160594001 -0.33040899 0.295058012\nv -0.123558 -0.31013 0.312433988\nv -0.118125997 -0.317930013 0.31200099\nv -0.133671001 -0.316983998 0.31980899\nv -0.146520004 -0.322154999 0.31230399\nv -0.139386997 -0.310580999 0.315733999\nv -0.149122 -0.324667007 0.297639996\nv -0.148460999 -0.328637987 0.305900991\nv -0.141267002 -0.334183991 0.294701993\nv -0.121123001 -0.32990399 0.294227004\nv -0.115374997 -0.322521001 0.298433006\nv -0.136958003 -0.327681005 0.301362008\nv -0.129565001 -0.322602987 0.308622003\nv -0.150220007 -0.318951994 0.323617995\nv -0.157372996 -0.309423 0.325129002\nv -0.160206005 -0.316861987 0.329979986\nv -0.169088006 -0.310369015 0.327412009\nv -0.176145002 -0.320244014 0.323491007\nv -0.179546997 -0.327100009 0.304196\nv -0.170043007 -0.330478996 0.304632992\nv -0.154587001 -0.330428004 0.304827988\nv -0.163059995 -0.324458987 0.317313999\nv -0.191136003 -0.330531001 0.288854986\nv -0.174845994 -0.332572013 0.287618011\nv -0.186857998 -0.323390007 0.295224011\nv -0.192713007 -0.323594987 0.317010999\nv -0.207695007 -0.325902998 0.317128986\nv -0.191441 -0.327726007 0.305142999\nv -0.217207998 -0.321738005 0.312142998\nv -0.216719002 -0.326168001 0.30112201\nv -0.198194996 -0.328832 0.293172985\nv -0.219620004 -0.322355002 0.321433008\nv -0.200742006 -0.323123991 0.32486999\nv -0.191229001 -0.31239599 0.34335801\nv -0.202949002 -0.316026002 0.338400006\nv -0.181288004 -0.313905001 0.338808\nv -0.190789998 -0.320932001 0.328997999\nv -0.197889 -0.306239992 0.34277001\nv -0.128978997 -0.265082002 0.315288007\nv -0.099284001 -0.235177994 0.298144996\nv -0.076318003 -0.202267006 0.284471989\nv -0.218288004 -0.278654993 0.359448999\nv -0.203309 -0.277965993 0.352196991\nv -0.238130003 -0.265639991 0.367662013\nv -0.232979 -0.321714997 0.30764401\nv -0.242055997 -0.31733799 0.324932992\nv -0.235625997 -0.318486005 0.330624998\nv -0.227448002 -0.319445014 0.339064002\nv -0.219025999 -0.30418399 0.35332799\nv -0.207258999 -0.312364012 0.349092007\nv -0.228285998 -0.312229991 0.348428011\nv -0.218776003 -0.317461997 0.341686994\nv -0.215018004 -0.321446002 0.33011499\nv -0.264362991 -0.312171996 0.339500993\nv -0.258056998 -0.315620005 0.326582998\nv -0.249054998 -0.316248 0.34404701\nv -0.241484001 -0.315582991 0.337157011\nv -0.249149993 -0.316830993 0.333447993\nv -0.263204992 -0.310061991 0.348221987\nv -0.250310004 -0.313652992 0.354606986\nv -0.254429013 -0.306510001 0.36005199\nv -0.238172993 -0.313360006 0.352688998\nv -0.238903999 -0.316796988 0.343735009\nv -0.277413011 -0.29580301 0.350396007\nv -0.273640007 -0.305590987 0.338151008\nv -0.269623011 -0.302917987 0.353965014\nv -0.272603989 -0.29470399 0.358251005\nv -0.253017992 -0.298893988 0.368743986\nv -0.247527003 -0.301452011 0.363898009\nv -0.263552994 -0.293141991 0.365938008\nv -0.289701015 -0.287010014 0.351265013\nv -0.283807009 -0.287773997 0.362962008\nv -0.289278001 -0.279785991 0.35748899\nv -0.281179011 -0.279466003 0.368555009\nv -0.272403985 -0.280541986 0.376549006\nv -0.272287011 -0.291563988 0.367536992\nv -0.265814006 -0.286363989 0.373598009\nv -0.29164499 -0.274183989 0.369724989\nv -0.300691009 -0.264616996 0.367989987\nv -0.282180995 -0.272008002 0.377490014\nv -0.285394013 -0.26412499 0.381695986\nv -0.294037014 -0.261830986 0.378261\nv -0.30420199 -0.256500006 0.376560986\nv -0.292600006 -0.25445199 0.384977996\nv -0.314590991 -0.243913993 0.382916987\nv -0.326624006 -0.229982004 0.387273014\nv -0.340981007 -0.205587 0.402267009\nv -0.351141006 -0.199304 0.401930004\nv -0.170222998 -0.301288992 0.332286\nv -0.169550002 -0.286906004 0.334093988\nv -0.168596998 -0.276392996 0.335391015\nv -0.133662 -0.159009993 0.236642003\nv -0.124031998 -0.155557007 0.255697995\nv -0.139532 -0.168145001 0.215259001\nv -0.134979993 -0.180944994 0.198192\nv -0.128462002 -0.193351001 0.186781004\nv -0.117962003 -0.205283001 0.176981002\nv -0.128435999 -0.201305002 0.182363003\nv -0.102658004 -0.212785006 0.176660001\nv -0.086080998 -0.221044004 0.179450005\nv -0.071787 -0.227295995 0.183403\nv -0.061019 -0.232197002 0.189513996\nv -0.047442 -0.231557995 0.205456004\nv -0.055018 -0.236405 0.19878\nv -0.041081998 -0.224897996 0.221571997\nv -0.037390001 -0.216279 0.239906996\nv -0.037813999 -0.205551997 0.253237993\nv -0.043232001 -0.195984006 0.263283998\nv -0.054522 -0.190840006 0.271759987\nv -0.060380001 -0.178299993 0.273665994\nv -0.074547999 -0.170001 0.276733994\nv -0.091364004 -0.162952006 0.273047\nv -0.106918998 -0.158953995 0.26769799\nv -0.117303997 -0.159805 0.265780985\nv 0.066353001 -0.200239003 0.346879989\nv 0.060612999 -0.207865 0.336703002\nv 0.064957999 -0.238803998 0.359825999\nv 0.070851997 -0.231098995 0.367168009\nv 0.058998 -0.216692001 0.32465899\nv 0.063346997 -0.247602001 0.348562986\nv 0.070028 -0.277056992 0.384965003\nv 0.072910003 -0.266393989 0.389218986\nv 0.075203001 -0.252400994 0.384128004\nv 0.065227002 -0.227322996 0.308622986\nv 0.069707997 -0.259355992 0.328702003\nv 0.073491998 -0.230325997 0.291480005\nv 0.073968999 -0.245706007 0.294607013\nv 0.072557002 -0.262401998 0.309403002\nv 0.076872997 -0.274002999 0.316199005\nv 0.077500001 -0.288112015 0.337796003\nv 0.081491999 -0.307249993 0.374273002\nv 0.074243002 -0.290077001 0.376397014\nv 0.085065 -0.242390007 0.282855004\nv 0.151216 -0.302872002 0.470979005\nv 0.149430007 -0.303752005 0.488849998\nv 0.146523997 -0.311295003 0.493948996\nv 0.148121998 -0.312175989 0.474489987\nv 0.146718994 -0.29411599 0.512032986\nv 0.139523 -0.318704993 0.514802992\nv 0.141579002 -0.326216012 0.497193009\nv 0.143350005 -0.31981501 0.488995999\nv 0.162640005 -0.267607987 0.390233994\nv 0.156784996 -0.258433014 0.393952012\nv 0.148649007 -0.272076011 0.434971988\nv 0.157048002 -0.281911999 0.430754989\nv 0.150453001 -0.245340005 0.388765991\nv 0.143168002 -0.249991 0.402758986\nv 0.129755005 -0.243441001 0.405773014\nv 0.132292002 -0.261038005 0.436051011\nv 0.132091001 -0.256963015 0.483392\nv 0.144164994 -0.26581499 0.486337006\nv 0.150085002 -0.276571006 0.498898\nv 0.152794003 -0.286624014 0.469150007\nv 0.155167997 -0.288177013 0.457899988\nv 0.111134 -0.242017999 0.406300008\nv 0.114513002 -0.25740099 0.436271012\nv 0.093206003 -0.245483994 0.403912008\nv 0.097488999 -0.260915995 0.433602989\nv 0.104048997 -0.255751997 0.483146995\nv 0.117951997 -0.253531009 0.482468992\nv 0.081868 -0.253598988 0.398178995\nv 0.083393998 -0.271329999 0.426016986\nv 0.077742003 -0.285634011 0.431719005\nv 0.086630002 -0.273128986 0.502380013\nv 0.092681997 -0.263864011 0.485004008\nv 0.079643004 -0.299225003 0.433066994\nv 0.085960001 -0.312180996 0.431183994\nv 0.091975003 -0.29618299 0.500253022\nv 0.087465003 -0.286217004 0.496212989\nv 0.088832997 -0.319261998 0.370974988\nv 0.093552999 -0.324577987 0.427192003\nv 0.096225001 -0.329392999 0.351691991\nv 0.088913001 -0.334638 0.374846011\nv 0.098070003 -0.335895985 0.390985996\nv 0.094111003 -0.333124012 0.407864004\nv 0.097569004 -0.329468995 0.418208987\nv 0.095559001 -0.335164994 0.443392009\nv 0.096661001 -0.330814004 0.46428299\nv 0.101030998 -0.327127993 0.483536988\nv 0.099243999 -0.320571005 0.509294987\nv 0.097383 -0.304035991 0.503795028\nv 0.140341997 -0.258718997 0.572757006\nv 0.140937999 -0.225592002 0.604797006\nv 0.137869 -0.220609993 0.624858022\nv 0.139991999 -0.234763995 0.555446029\nv 0.145490006 -0.245245993 0.559759021\nv 0.131584004 -0.228358001 0.553035975\nv 0.130712003 -0.199921995 0.623232007\nv 0.139333993 -0.208570004 0.622892022\nv 0.121464998 -0.225853994 0.552317977\nv 0.111460999 -0.227518007 0.553354979\nv 0.119566001 -0.199530005 0.62322998\nv 0.103396997 -0.233618006 0.556208014\nv 0.099316999 -0.236193001 0.565113008\nv 0.109471999 -0.207447007 0.627435982\nv 0.098848999 -0.234750003 0.572122991\nv 0.101263002 -0.227280006 0.584303975\nv 0.098336004 -0.240602002 0.566874981\nv 0.101315998 -0.227476999 0.584285021\nv 0.099262998 -0.250468999 0.563335001\nv 0.103033997 -0.257256001 0.568284988\nv 0.115487002 -0.223617002 0.626017988\nv 0.110050999 -0.263280004 0.576668978\nv 0.102182001 -0.307716012 0.526485026\nv 0.104571 -0.294449002 0.54161799\nv 0.106712997 -0.280644 0.55677098\nv 0.110372998 -0.275649011 0.56526202\nv 0.116423003 -0.258846998 0.584510028\nv 0.11552 -0.250093013 0.594172001\nv 0.118502997 -0.239026994 0.607352018\nv 0.113805003 -0.239795998 0.602410972\nv 0.116488002 -0.232565999 0.613593996\nv 0.120118998 -0.224151 0.623839021\nv 0.116054997 -0.228561997 0.614978015\nv 0.119990997 -0.216141 0.63093698\nv 0.137008995 -0.256099999 0.582948029\nv 0.141365007 -0.298168004 0.529613972\nv 0.134174004 -0.213824004 0.63121599\nv 0.137477994 -0.224753007 0.615683019\nv 0.135596007 -0.220155999 0.623417974\nv 0.137244999 -0.228348002 0.611943007\nv 0.138245001 -0.236808002 0.601631999\nv 0.133875996 -0.238049001 0.605306029\nv 0.138555005 -0.243515998 0.593761027\nv 0.132219002 -0.247196004 0.595806003\nv 0.132449001 -0.268583 0.574015975\nv 0.139954001 -0.267284989 0.565645993\nv 0.139709994 -0.277846992 0.553978026\nv 0.140089005 -0.290908009 0.53905803\nv 0.140612006 -0.304883003 0.522656977\nv 0.139069006 -0.246760994 0.589208007\nv 0.134379998 -0.210464001 0.663740993\nv 0.13425 -0.199367002 0.670161009\nv 0.131989002 -0.211145997 0.699428022\nv 0.122676998 -0.196888998 0.671836019\nv 0.119520999 -0.21187 0.698969007\nv 0.114670001 -0.203144997 0.668394983\nv 0.123120002 -0.212482005 0.664013028\nv 0.127140999 -0.211439997 0.691767991\nv 0.120134003 -0.213888004 0.640577972\nv 0.128208995 -0.214131996 0.651000023\nv 0.125707999 -0.212073997 0.682645977\nv 0.135551006 -0.211239994 0.641404986\nv 0.132787004 -0.210396007 0.681478024\nv 0.131620005 -0.214038 0.641523004\nv 0.135015994 -0.210702002 0.654129982\nv 0.123595998 -0.232783005 0.713733971\nv 0.131927997 -0.232317001 0.71134001\nv 0.127070993 -0.256511986 0.716337979\nv 0.132501006 -0.254900008 0.714725971\nv 0.128473997 -0.254135013 0.712098002\nv 0.125989005 -0.233015999 0.706830978\nv 0.134546995 -0.273508012 0.709177017\nv 0.130790994 -0.276230007 0.709290981\nv 0.137839004 -0.284260005 0.696681976\nv 0.13301 -0.285055012 0.69532901\nv 0.129041001 -0.273586988 0.708006978\nv 0.134709999 -0.281769007 0.696326971\nv 0.138748005 -0.284967989 0.679104984\nv 0.141723007 -0.28371501 0.680351019\nv 0.144150004 -0.278535992 0.664685011\nv 0.139433995 -0.281870008 0.680333972\nv 0.162839994 -0.221937001 0.361743987\nv 0.151805997 -0.221259996 0.372195005\nv 0.167253003 -0.234180003 0.359748006\nv 0.170956001 -0.202236995 0.338481009\nv 0.166536003 -0.189611003 0.340867996\nv 0.162558004 -0.194595993 0.34868601\nv 0.152465001 -0.190194994 0.356097996\nv 0.083222002 -0.186408997 0.364161015\nv 0.072499998 -0.193213999 0.357313991\nv 0.077339999 -0.222626999 0.375268996\nv 0.088348001 -0.215526 0.381974995\nv 0.140707999 -0.184634998 0.364093989\nv 0.141469002 -0.216658995 0.380012989\nv 0.125069007 -0.180877998 0.369419008\nv 0.128058001 -0.212196007 0.384543002\nv 0.107802004 -0.211933002 0.385132015\nv 0.103326 -0.181883007 0.368818998\nv 0.166666999 -0.25445801 0.345328987\nv 0.163988993 -0.270056993 0.358745009\nv 0.161237001 -0.287321001 0.35681501\nv 0.164389998 -0.270327002 0.346313\nv 0.160520002 -0.290627986 0.383994013\nv 0.157684997 -0.304163992 0.379808992\nv 0.15456 -0.317972004 0.359701991\nv 0.161202997 -0.300935 0.346192986\nv 0.160482004 -0.282696009 0.340943009\nv 0.176318005 -0.236798003 0.295760989\nv 0.170877993 -0.238667995 0.286913991\nv 0.158315003 -0.233659998 0.28688699\nv 0.173068002 -0.234311 0.311425\nv 0.180689007 -0.239420995 0.306217015\nv 0.175109997 -0.242998004 0.322393\nv 0.183354005 -0.247525007 0.314550996\nv 0.173914 -0.253077 0.329039007\nv 0.182104006 -0.256049007 0.321206987\nv 0.169699997 -0.261429995 0.333635986\nv 0.178492993 -0.265834004 0.32326299\nv 0.164929003 -0.271194011 0.331826001\nv 0.164074004 -0.282312006 0.320463002\nv 0.171981007 -0.274949998 0.323888987\nv 0.157353997 -0.278703988 0.327663004\nv 0.146337003 -0.287645996 0.323561996\nv 0.156213 -0.287014991 0.314200997\nv 0.140365005 -0.282898009 0.309107006\nv 0.150454998 -0.286736995 0.304776013\nv 0.164284006 -0.243203998 0.280288994\nv 0.156204998 -0.249938995 0.276564002\nv 0.160552993 -0.269499987 0.302561015\nv 0.168602005 -0.26118499 0.309601009\nv 0.165251002 -0.252793998 0.29559201\nv 0.157239005 -0.262995988 0.292989999\nv 0.149004996 -0.258632004 0.276230991\nv 0.143423006 -0.267435998 0.279900014\nv 0.143637002 -0.276737988 0.286094993\nv 0.143937007 -0.283955991 0.295325011\nv 0.136222005 -0.277182013 0.297565013\nv 0.133093998 -0.269982994 0.289936006\nv 0.142692 -0.249703005 0.283004999\nv 0.150722995 -0.242874995 0.281809986\nv 0.124844 -0.293408006 0.309228003\nv 0.122762002 -0.274581999 0.287261009\nv 0.118032001 -0.258933008 0.277227998\nv 0.137915999 -0.239475995 0.275447994\nv 0.133754998 -0.25901401 0.283459991\nv 0.147751004 -0.236001998 0.281857014\nv 0.169989005 -0.213704005 0.319114\nv 0.169424996 -0.233894005 0.336605012\nv 0.170926005 -0.232069001 0.321714014\nv 0.169140995 -0.220275998 0.308537006\nv 0.170663998 -0.246182993 0.332255989\nv 0.096022002 -0.243247002 0.277218014\nv 0.110665999 -0.240079999 0.271306992\nv 0.110053003 -0.249344006 0.275139004\nv 0.087729 -0.30963099 0.339367002\nv 0.084292002 -0.282191008 0.318634003\nv 0.089391001 -0.293853015 0.323605001\nv 0.117388003 -0.271632999 0.273622006\nv 0.117553003 -0.280703992 0.280084014\nv 0.110633999 -0.264010012 0.268947005\nv 0.114867002 -0.289247006 0.303321987\nv 0.115645997 -0.288410991 0.288347989\nv 0.120742999 -0.283899009 0.296086013\nv 0.094462998 -0.288740009 0.315557986\nv 0.101070002 -0.294862002 0.303438991\nv 0.103065997 -0.293087006 0.314758003\nv 0.081616998 -0.28807199 0.310395986\nv 0.07299 -0.280618012 0.309273005\nv 0.067713 -0.271212995 0.305831999\nv 0.070297003 -0.255344987 0.302949995\nv 0.066134997 -0.263545007 0.297791988\nv 0.079529002 -0.269513994 0.301321\nv 0.095164001 -0.280212998 0.294872999\nv 0.086925998 -0.275474995 0.300799012\nv 0.087977998 -0.274008006 0.290078998\nv 0.101954997 -0.272652 0.284015\nv 0.091812998 -0.268029004 0.282766998\nv 0.098973997 -0.261723995 0.281015009\nv 0.089846 -0.264025003 0.283086002\nv 0.083357997 -0.272240996 0.295587003\nv 0.083305001 -0.264135987 0.290776014\nv 0.091077 -0.293397993 0.306784987\nv 0.108407997 -0.293404996 0.295780987\nv 0.102274999 -0.256422013 0.267969012\nv 0.073953003 -0.250862986 0.280997992\nv 0.082534999 -0.249262005 0.274212003\nv 0.068401001 -0.256067991 0.289476991\nv 0.092293002 -0.251114011 0.269248992\nv 0.123576 -0.281482011 0.295251995\nv 0.164018005 -0.302044988 0.333694994\nv 0.159879997 -0.297834992 0.326640993\nv 0.158058003 -0.293765008 0.335197002\nv 0.162773997 -0.315820009 0.348098993\nv 0.150930002 -0.328204006 0.350075006\nv 0.138767004 -0.329614997 0.356180996\nv 0.138033003 -0.33345899 0.341841012\nv 0.128317997 -0.330698013 0.345975995\nv 0.127409995 -0.326963991 0.330982\nv 0.147598997 -0.300247997 0.316698998\nv 0.149464995 -0.319599003 0.339994997\nv 0.152498007 -0.309040993 0.332275987\nv 0.142168999 -0.312047005 0.325870991\nv 0.137715995 -0.307716995 0.314516008\nv 0.142847002 -0.320239991 0.332230985\nv 0.128349006 -0.318257987 0.319272012\nv 0.128363997 -0.306006998 0.318565995\nv 0.137664005 -0.297365993 0.318369001\nv 0.124650002 -0.31448099 0.327073008\nv 0.088195004 -0.301849991 0.317250997\nv 0.082369998 -0.306383997 0.322584987\nv 0.080746002 -0.306281 0.331818998\nv 0.083564997 -0.323139012 0.342548996\nv 0.095384002 -0.333297998 0.343398005\nv 0.109788001 -0.335529 0.337581009\nv 0.107344002 -0.332592994 0.349433005\nv 0.118720002 -0.329187006 0.339013994\nv 0.118046999 -0.330231011 0.32752499\nv 0.123548001 -0.323628008 0.332228005\nv 0.114995003 -0.312584996 0.312420011\nv 0.099832997 -0.304093987 0.311484993\nv 0.110036999 -0.300076991 0.314323992\nv 0.094920002 -0.320883989 0.331622988\nv 0.103940003 -0.316967994 0.322665006\nv 0.107495002 -0.324328989 0.329928011\nv 0.079774 -0.315476 0.336367995\nv 0.094227999 -0.312418997 0.32497099\nv 0.120062001 -0.321314991 0.318558007\nv 0.120843999 -0.307922989 0.31793201\nv 0.117527001 -0.336564988 0.386492014\nv 0.108539999 -0.339989007 0.391514003\nv 0.120190002 -0.343802005 0.379743993\nv 0.125306994 -0.335260987 0.376567006\nv 0.113837004 -0.343383014 0.358437002\nv 0.091922998 -0.338481992 0.361882001\nv 0.100279003 -0.339336008 0.355760992\nv 0.101241 -0.340090007 0.372292012\nv 0.121304996 -0.343980014 0.368344992\nv 0.110195003 -0.341203988 0.377489001\nv 0.120653003 -0.336477011 0.362441987\nv 0.132872999 -0.336944014 0.365651995\nv 0.123572998 -0.334829986 0.395962\nv 0.155653998 -0.327969015 0.365134001\nv 0.159709007 -0.324550003 0.382360995\nv 0.161130995 -0.328213006 0.372871995\nv 0.152498007 -0.322016001 0.392295003\nv 0.152841002 -0.331505001 0.393835992\nv 0.131980002 -0.338261992 0.387477994\nv 0.131503999 -0.342151999 0.373383999\nv 0.143782005 -0.336205989 0.361947\nv 0.149994999 -0.333023995 0.380346\nv 0.143428996 -0.335662991 0.373553008\nv 0.143102005 -0.335337996 0.395283014\nv 0.152919993 -0.330067992 0.41642499\nv 0.152146995 -0.331124991 0.402767986\nv 0.146973997 -0.323251009 0.423034996\nv 0.137420997 -0.333095014 0.426422\nv 0.137777999 -0.335824013 0.414202005\nv 0.133649006 -0.339644998 0.397897005\nv 0.126078993 -0.341621011 0.407822996\nv 0.123602003 -0.336771995 0.417180002\nv 0.099385001 -0.338346988 0.419815004\nv 0.109761 -0.335545987 0.422223002\nv 0.122874998 -0.341874003 0.403346986\nv 0.111757003 -0.340912014 0.407734007\nv 0.105852 -0.333229989 0.456862986\nv 0.120754004 -0.336376011 0.446159005\nv 0.117642 -0.338968992 0.432323009\nv 0.098706 -0.335321009 0.430142999\nv 0.10458 -0.336760014 0.439886987\nv 0.114905998 -0.334156007 0.460379988\nv 0.128046006 -0.335694999 0.434684992\nv 0.137843996 -0.332823992 0.443181992\nv 0.135633007 -0.330778003 0.456366986\nv 0.150364995 -0.328691989 0.438850999\nv 0.146574005 -0.32506299 0.452562988\nv 0.163268998 -0.276758999 0.385836989\nv 0.167778999 -0.244755 0.353816986\nv 0.170867994 -0.210730001 0.330220997\nv 0.152287006 -0.296355009 0.483846009\nv 0.154075995 -0.294661999 0.467373013\nv 0.150351003 -0.284610003 0.505957007\nv 0.122570001 -0.335063994 0.466515005\nv 0.108401 -0.334268987 0.470218986\nv 0.114715002 -0.335065007 0.478343993\nv 0.116719 -0.330192 0.488043994\nv 0.141954005 -0.324806988 0.479734004\nv 0.133138001 -0.329019994 0.484369993\nv 0.141022995 -0.329228997 0.467451006\nv 0.124632001 -0.334111989 0.477317989\nv 0.102320001 -0.32861799 0.502456009\nv 0.108877003 -0.330599993 0.494755\nv 0.120875999 -0.331611007 0.501469016\nv 0.121714003 -0.322818995 0.518016994\nv 0.113274999 -0.325652987 0.515501022\nv 0.133215994 -0.325390011 0.509181976\nv 0.132165 -0.329531014 0.496455014\nv 0.102151997 -0.319148004 0.518342972\nv 0.111685 -0.314363003 0.526741982\nv 0.124136001 -0.314020991 0.52670902\nv 0.121707998 -0.306073993 0.539557993\nv 0.109435 -0.303288996 0.541095018\nv 0.104990996 -0.307787001 0.534089029\nv 0.121611997 -0.297039986 0.543326974\nv 0.112131 -0.295679986 0.547905982\nv 0.138442993 -0.301726997 0.538196981\nv 0.131775007 -0.296855003 0.544579983\nv 0.137879997 -0.308167011 0.531219006\nv 0.121656001 -0.292421997 0.553743005\nv 0.116827004 -0.285800993 0.558429003\nv 0.107809998 -0.288392007 0.555589974\nv 0.127286002 -0.285201997 0.557814002\nv 0.137925997 -0.286704004 0.55419302\nv 0.118456997 -0.269921988 0.573472023\nv 0.123493999 -0.27828601 0.564921975\nv 0.138338 -0.274394989 0.563247025\nv 0.124475002 -0.264887989 0.57999599\nv 0.123806 -0.25564301 0.590686977\nv 0.125424996 -0.245268002 0.602494001\nv 0.132092997 -0.230974004 0.615462005\nv 0.145870999 -0.318791986 0.473531008\nv 0.151868999 -0.315003991 0.427168995\nv 0.155410007 -0.301001996 0.428573996\nv 0.158218995 -0.290762007 0.429196\nv 0.128767997 -0.212639004 0.671818972\nv 0.138044998 -0.166474 0.352364004\nv 0.152955994 -0.173296005 0.344749987\nv 0.118657999 -0.163060993 0.357454985\nv 0.096515998 -0.166603997 0.353413999\nv 0.078135997 -0.173503995 0.346841007\nv 0.065647997 -0.184168994 0.332460999\nv 0.070037 -0.180159003 0.34434101\nv 0.060947001 -0.192883 0.318717003\nv 0.059773002 -0.203508005 0.304419011\nv 0.065963998 -0.213255003 0.290881991\nv 0.074891001 -0.221660003 0.28086099\nv 0.089899004 -0.228239998 0.271198004\nv 0.081924997 -0.228257999 0.277112991\nv 0.104702003 -0.230064005 0.266389012\nv 0.123026997 -0.23037 0.26593399\nv 0.141565993 -0.225801006 0.273084998\nv 0.156662002 -0.219445005 0.284406006\nv 0.164802 -0.212143004 0.297452003\nv 0.169315994 -0.199074998 0.307906985\nv 0.172683999 -0.191493005 0.317900002\nv 0.170717001 -0.184717 0.326772988\nv 0.163901001 -0.180163994 0.337884009\nv 0.318480015 -0.193966001 0.344271004\nv 0.309421003 -0.202409998 0.343659997\nv 0.328078002 -0.231990993 0.362562001\nv 0.336930007 -0.223708004 0.363584012\nv 0.301409006 -0.210403994 0.335913986\nv 0.320152998 -0.242024004 0.355973989\nv 0.349418998 -0.267062992 0.383430988\nv 0.353864014 -0.256094009 0.383598\nv 0.351857007 -0.242942005 0.376529008\nv 0.295587987 -0.223877996 0.320122004\nv 0.313181013 -0.256384999 0.338135004\nv 0.290142 -0.230783001 0.300595999\nv 0.294414014 -0.247817993 0.307870001\nv 0.303449988 -0.261891007 0.321862012\nv 0.311567008 -0.272747993 0.325814009\nv 0.326186001 -0.28412199 0.343780994\nv 0.352959007 -0.298804998 0.371717006\nv 0.347900003 -0.281203002 0.375788003\nv 0.291119993 -0.236059994 0.286128998\nv 0.295471996 -0.245330006 0.291729003\nv 0.300725013 -0.247831002 0.279771\nv 0.467595994 -0.285645008 0.40200901\nv 0.477430999 -0.284253001 0.416996986\nv 0.477057993 -0.293790996 0.422973007\nv 0.467788011 -0.29430601 0.407788008\nv 0.488029003 -0.263217986 0.427251995\nv 0.490011007 -0.275451988 0.43888101\nv 0.485446006 -0.292481989 0.440842003\nv 0.477055013 -0.305164009 0.430218995\nv 0.424416006 -0.261058003 0.328355014\nv 0.421788007 -0.251251996 0.333761007\nv 0.441722989 -0.259406 0.372115999\nv 0.446049005 -0.270038009 0.364814013\nv 0.413044006 -0.238630995 0.332127988\nv 0.41633299 -0.241212994 0.348035008\nv 0.407492995 -0.233769998 0.357950985\nv 0.429185003 -0.247621 0.381835997\nv 0.458489001 -0.237776995 0.417921007\nv 0.470115989 -0.246715993 0.413713992\nv 0.483054996 -0.256099999 0.420998991\nv 0.466975987 -0.269825995 0.397623986\nv 0.461849988 -0.272846013 0.387663007\nv 0.393263996 -0.231488004 0.369839996\nv 0.415322989 -0.243219003 0.392690003\nv 0.377959013 -0.234440997 0.379649013\nv 0.400550008 -0.246292993 0.401722997\nv 0.436450005 -0.235392004 0.435140014\nv 0.446754009 -0.233873993 0.425642014\nv 0.36589399 -0.242697999 0.383325011\nv 0.385277003 -0.256936997 0.405979007\nv 0.385064989 -0.270177007 0.415659994\nv 0.435680002 -0.249513999 0.462983012\nv 0.429113001 -0.242715999 0.444678009\nv 0.387977988 -0.283571005 0.417171001\nv 0.392277986 -0.296921015 0.413352013\nv 0.439507991 -0.272864997 0.460821003\nv 0.433036 -0.263282001 0.459313005\nv 0.357129991 -0.311437011 0.366052002\nv 0.396227002 -0.310030997 0.407041997\nv 0.352732986 -0.325340986 0.348484993\nv 0.361746997 -0.325780988 0.372105002\nv 0.375577003 -0.326220006 0.375838012\nv 0.384813994 -0.318093002 0.391063988\nv 0.393992007 -0.322463006 0.398817986\nv 0.402422011 -0.320326 0.410239995\nv 0.420044988 -0.312972009 0.425731987\nv 0.434437007 -0.305893987 0.445331007\nv 0.45343101 -0.29648301 0.466585994\nv 0.446276009 -0.280451 0.461124986\nv 0.520627022 -0.229049996 0.481146991\nv 0.540021002 -0.192193002 0.502040982\nv 0.549872994 -0.184475005 0.518464983\nv 0.508786976 -0.207287997 0.465748996\nv 0.516220987 -0.217390999 0.466912001\nv 0.500454009 -0.200866997 0.468371987\nv 0.543883979 -0.165312007 0.518620014\nv 0.549920022 -0.174219996 0.514478981\nv 0.492018014 -0.198034003 0.473847985\nv 0.484950006 -0.199123994 0.481112987\nv 0.534065008 -0.163301006 0.526230991\nv 0.480720997 -0.204474002 0.489104986\nv 0.483231008 -0.205761001 0.498831987\nv 0.529017985 -0.169954002 0.537039995\nv 0.487192005 -0.203452006 0.50434798\nv 0.496374995 -0.194657996 0.511303008\nv 0.483761013 -0.209874004 0.501344025\nv 0.496412009 -0.194858 0.511278987\nv 0.482694 -0.220130995 0.499244004\nv 0.489021987 -0.226418003 0.501527011\nv 0.533405006 -0.186535999 0.534075022\nv 0.500756025 -0.230550006 0.504648983\nv 0.467014998 -0.285484999 0.474427998\nv 0.475735992 -0.263972014 0.486221999\nv 0.478460997 -0.271429002 0.482735008\nv 0.48586601 -0.258276999 0.491721004\nv 0.492927998 -0.247529998 0.494998991\nv 0.519720972 -0.214965001 0.512215018\nv 0.512234986 -0.213369995 0.514450014\nv 0.511207998 -0.221386001 0.511318982\nv 0.524276018 -0.203992993 0.520201981\nv 0.518016994 -0.205394998 0.518927991\nv 0.528623998 -0.193821996 0.525355995\nv 0.537203014 -0.188334003 0.527468026\nv 0.527149975 -0.192814007 0.525821984\nv 0.53965199 -0.178228006 0.534139991\nv 0.527558029 -0.218865007 0.492561996\nv 0.49643001 -0.273375988 0.452757001\nv 0.551204979 -0.177330002 0.525660992\nv 0.547515988 -0.183672994 0.517509997\nv 0.540345013 -0.196610004 0.507821023\nv 0.541640997 -0.196510002 0.512052\nv 0.536222994 -0.203936994 0.503628016\nv 0.532033026 -0.211212993 0.497227997\nv 0.52996403 -0.215564996 0.499729007\nv 0.517484009 -0.237312004 0.483770996\nv 0.516550004 -0.238282993 0.477609009\nv 0.509585977 -0.250128001 0.470019996\nv 0.501295984 -0.264591992 0.460094988\nv 0.491777986 -0.280853987 0.448691994\nv 0.570456982 -0.169311002 0.549012005\nv 0.574598014 -0.157900006 0.553357005\nv 0.590448022 -0.165034994 0.578978002\nv 0.566659987 -0.154645994 0.561532021\nv 0.582298994 -0.165827006 0.586380005\nv 0.558411002 -0.161014006 0.564716995\nv 0.56141001 -0.170864001 0.558359027\nv 0.582221985 -0.167103007 0.577268004\nv 0.553161025 -0.176249996 0.538630009\nv 0.55992502 -0.173856005 0.54767698\nv 0.572622001 -0.167790994 0.570576012\nv 0.557902992 -0.173445001 0.53185302\nv 0.581269979 -0.166719005 0.563017011\nv 0.578116 -0.168470994 0.565513015\nv 0.597640991 -0.184824005 0.598239005\nv 0.59930402 -0.185583994 0.590035021\nv 0.603969991 -0.208222002 0.597651005\nv 0.59928602 -0.208485007 0.600601971\nv 0.592076004 -0.186193004 0.593262017\nv 0.599254012 -0.206827998 0.595780015\nv 0.597213984 -0.240927994 0.582036972\nv 0.596728981 -0.236971006 0.582457006\nv 0.602450013 -0.226951003 0.592464983\nv 0.598165989 -0.228176996 0.595327973\nv 0.59306401 -0.240027994 0.584006011\nv 0.598744988 -0.224782005 0.593164027\nv 0.588919997 -0.242357999 0.567148983\nv 0.590653002 -0.239373997 0.567019999\nv 0.58188802 -0.237241 0.551181018\nv 0.587571979 -0.239795998 0.568260014\nv 0.40475899 -0.219270006 0.300698996\nv 0.402680993 -0.216840997 0.315571994\nv 0.407476008 -0.231845006 0.297897995\nv 0.393096 -0.200528994 0.268909991\nv 0.389180005 -0.186359003 0.265439987\nv 0.392986 -0.190101996 0.281709999\nv 0.390767008 -0.184899002 0.295417011\nv 0.345295012 -0.177080005 0.343641013\nv 0.330293 -0.184705004 0.345912993\nv 0.346684992 -0.214597002 0.36472401\nv 0.359147012 -0.207211003 0.36212799\nv 0.388318002 -0.180102006 0.308672011\nv 0.39932701 -0.210874006 0.327500999\nv 0.380236 -0.174432993 0.318767995\nv 0.391528994 -0.205313995 0.338838995\nv 0.376114994 -0.204105005 0.351940989\nv 0.36391899 -0.173540995 0.332507998\nv 0.398871005 -0.253690004 0.289642006\nv 0.405860007 -0.267399013 0.303559989\nv 0.403257012 -0.284633994 0.305909991\nv 0.398400992 -0.269205987 0.293767989\nv 0.419854999 -0.284554988 0.327695012\nv 0.415614009 -0.29836601 0.327903986\nv 0.401737005 -0.313946009 0.316089004\nv 0.397168994 -0.299432009 0.299416989\nv 0.392531991 -0.281958014 0.293592989\nv 0.374525994 -0.242571995 0.243309006\nv 0.364659011 -0.244609997 0.240107998\nv 0.355637014 -0.238611996 0.248289004\nv 0.354321986 -0.248459995 0.240100995\nv 0.345696986 -0.249527007 0.248650998\nv 0.381758004 -0.238141999 0.257057011\nv 0.384651989 -0.244175002 0.248901993\nv 0.390590012 -0.245499998 0.265289992\nv 0.392044991 -0.251648992 0.254624993\nv 0.394255012 -0.254628986 0.272390991\nv 0.396077991 -0.258637995 0.261835009\nv 0.394766986 -0.260791987 0.280737996\nv 0.394939989 -0.268121004 0.266873002\nv 0.38963601 -0.272038013 0.282319993\nv 0.381574005 -0.279311001 0.285093009\nv 0.382990003 -0.284572989 0.276134998\nv 0.390464008 -0.27679801 0.272435009\nv 0.370851994 -0.28838101 0.289667994\nv 0.372655004 -0.289350003 0.276228994\nv 0.356947988 -0.285185009 0.281693012\nv 0.362179011 -0.290069997 0.272626013\nv 0.367201 -0.25870201 0.251915991\nv 0.362367004 -0.266721994 0.253931999\nv 0.357416004 -0.258767009 0.253648996\nv 0.358417004 -0.269134998 0.256924987\nv 0.36808899 -0.273995996 0.262867004\nv 0.378371 -0.263996005 0.259936005\nv 0.347481012 -0.257174999 0.242679998\nv 0.341746002 -0.265381008 0.247969002\nv 0.339926988 -0.273324996 0.255742997\nv 0.344823003 -0.282036006 0.261168987\nv 0.351538002 -0.287918001 0.268505991\nv 0.346248001 -0.28075099 0.274697989\nv 0.338726014 -0.274410993 0.269899994\nv 0.34098199 -0.255567014 0.256069988\nv 0.345393986 -0.294919014 0.292789012\nv 0.329382986 -0.278806001 0.275041997\nv 0.318686008 -0.264310002 0.268252999\nv 0.33208999 -0.246143997 0.251989007\nv 0.334710985 -0.264355987 0.263155997\nv 0.343609005 -0.242340997 0.250342011\nv 0.382865012 -0.212938994 0.256399989\nv 0.394665986 -0.234487996 0.278679997\nv 0.386433989 -0.234565005 0.266048014\nv 0.373180985 -0.221113995 0.248583004\nv 0.393440992 -0.247259006 0.276059002\nv 0.308131993 -0.246246994 0.26236999\nv 0.31062901 -0.254759997 0.270402014\nv 0.336066008 -0.305709004 0.341221005\nv 0.319222987 -0.280889988 0.324046999\nv 0.326804012 -0.292488992 0.325870007\nv 0.315914989 -0.277606994 0.267652988\nv 0.307592005 -0.270395011 0.267297\nv 0.320652992 -0.285757005 0.273375005\nv 0.334508985 -0.285618991 0.282444\nv 0.333532989 -0.290944993 0.293929011\nv 0.325035006 -0.292142004 0.281823009\nv 0.325498998 -0.288199991 0.316110998\nv 0.322786987 -0.296012998 0.303232014\nv 0.332100987 -0.292380989 0.309733987\nv 0.312617004 -0.287551999 0.320553005\nv 0.303865999 -0.280261993 0.322643012\nv 0.297367007 -0.271147996 0.323444992\nv 0.297345012 -0.255585015 0.317443013\nv 0.291220993 -0.264319003 0.316962004\nv 0.304127008 -0.270233989 0.312142998\nv 0.313057005 -0.282276988 0.297239006\nv 0.310346007 -0.27689299 0.308131009\nv 0.303862005 -0.276432008 0.29874599\nv 0.303501993 -0.273602009 0.305651009\nv 0.300215989 -0.26561901 0.301369011\nv 0.301028997 -0.267428011 0.290675998\nv 0.324571997 -0.296014011 0.292641997\nv 0.310007989 -0.275999993 0.285885006\nv 0.300390005 -0.262021005 0.270227998\nv 0.293047011 -0.257133991 0.277585\nv 0.288587004 -0.253526986 0.28687799\nv 0.286496997 -0.254330993 0.297576994\nv 0.287382007 -0.258565009 0.308010012\nv 0.317510992 -0.293678999 0.311948001\nv 0.391710997 -0.301883012 0.287992001\nv 0.381119996 -0.299914002 0.284613997\nv 0.387526006 -0.293532014 0.29203999\nv 0.398470014 -0.307224005 0.294928998\nv 0.400406986 -0.317535013 0.305839002\nv 0.393157005 -0.325489998 0.310930014\nv 0.383967012 -0.324611992 0.321969002\nv 0.381327987 -0.331099987 0.315670013\nv 0.367264003 -0.328565001 0.314428002\nv 0.357959986 -0.310948998 0.292288005\nv 0.360682994 -0.298725992 0.292611003\nv 0.366429001 -0.302121013 0.285845011\nv 0.373847008 -0.319900006 0.303467005\nv 0.384566009 -0.317984015 0.303920001\nv 0.383419007 -0.309495002 0.295471996\nv 0.370242 -0.311587006 0.297078013\nv 0.355756015 -0.318937987 0.300855011\nv 0.358756989 -0.324344993 0.307669014\nv 0.354525 -0.306421012 0.299320012\nv 0.393972009 -0.330808014 0.327235997\nv 0.373252988 -0.329589993 0.329351991\nv 0.357327014 -0.313621014 0.30923301\nv 0.324494004 -0.305301994 0.338734001\nv 0.321653008 -0.301986009 0.325969011\nv 0.335074008 -0.317295998 0.347784996\nv 0.343286991 -0.327697992 0.34326601\nv 0.345095992 -0.320021987 0.348403007\nv 0.357255012 -0.327347994 0.33812499\nv 0.352584988 -0.33227101 0.330778003\nv 0.360805005 -0.326729 0.325668991\nv 0.355064988 -0.330401003 0.318443\nv 0.360091001 -0.322012007 0.315012991\nv 0.339038998 -0.319460988 0.332773\nv 0.338272989 -0.315928012 0.319465995\nv 0.345649004 -0.321731001 0.322831005\nv 0.328038007 -0.311877012 0.344363987\nv 0.339439988 -0.312516004 0.304345995\nv 0.331916988 -0.311475992 0.327277988\nv 0.328981996 -0.303642988 0.309792995\nv 0.349132001 -0.321114987 0.306064993\nv 0.348356009 -0.308073014 0.303772986\nv 0.337749988 -0.299957991 0.306887001\nv 0.363198012 -0.333442986 0.344309002\nv 0.354775995 -0.332563013 0.355769992\nv 0.356146991 -0.329934001 0.365954995\nv 0.388105005 -0.333570004 0.363628\nv 0.385219008 -0.336975008 0.349294007\nv 0.389537007 -0.328233004 0.34859401\nv 0.370227993 -0.333965003 0.354270995\nv 0.377986014 -0.333786994 0.359497994\nv 0.371194988 -0.33159399 0.366427988\nv 0.38459 -0.329696 0.372489989\nv 0.374550015 -0.335070997 0.342386007\nv 0.387800008 -0.329982013 0.337992013\nv 0.398826987 -0.325554013 0.355574995\nv 0.400494993 -0.325318009 0.365453005\nv 0.405618995 -0.321253002 0.321249008\nv 0.41722101 -0.316484988 0.329580992\nv 0.415151 -0.323300987 0.323406011\nv 0.416368991 -0.326449007 0.351707011\nv 0.40506801 -0.332230002 0.353677005\nv 0.392457992 -0.335673988 0.343329996\nv 0.420773 -0.315829992 0.341854006\nv 0.403663993 -0.330309987 0.342969\nv 0.409083992 -0.327547014 0.335096002\nv 0.430251986 -0.314034998 0.356058002\nv 0.435663015 -0.31973201 0.360805988\nv 0.424971998 -0.32278499 0.351435006\nv 0.435947001 -0.31745401 0.372090012\nv 0.408957005 -0.331476003 0.362026989\nv 0.406895012 -0.329041988 0.372702003\nv 0.430000007 -0.320686013 0.381846994\nv 0.423420012 -0.324306011 0.362013012\nv 0.413515002 -0.326828986 0.381736994\nv 0.395087004 -0.332347989 0.369782001\nv 0.407130003 -0.322887003 0.392262012\nv 0.395052999 -0.329277009 0.379177988\nv 0.381669015 -0.326678008 0.390505999\nv 0.41644299 -0.324086994 0.396730989\nv 0.433670998 -0.316608012 0.419995993\nv 0.408549011 -0.318468988 0.419925004\nv 0.417591006 -0.32209301 0.407839\nv 0.426308006 -0.322340995 0.400887996\nv 0.442611009 -0.317196995 0.38776201\nv 0.44986099 -0.314013004 0.401080012\nv 0.437537014 -0.319498003 0.404549986\nv 0.45014599 -0.314233989 0.383370996\nv 0.453597009 -0.306962997 0.39568001\nv 0.422549009 -0.270696998 0.325695992\nv 0.404628992 -0.243077993 0.294295013\nv 0.391106009 -0.210045993 0.266627014\nv 0.476202995 -0.277653992 0.410450011\nv 0.467209995 -0.27806899 0.396436006\nv 0.442773014 -0.309873015 0.441855997\nv 0.425747007 -0.311486006 0.440972\nv 0.449113995 -0.315189987 0.428429991\nv 0.435144991 -0.314765006 0.434271008\nv 0.455264002 -0.309561014 0.439307004\nv 0.453882992 -0.314067006 0.415253013\nv 0.462962002 -0.309370995 0.407337993\nv 0.466491997 -0.307294995 0.416072011\nv 0.443821013 -0.317344993 0.411996007\nv 0.462015003 -0.308975995 0.426943988\nv 0.444988996 -0.304022014 0.45887199\nv 0.452666998 -0.308569014 0.449566007\nv 0.461975992 -0.309677988 0.445719004\nv 0.454921991 -0.305422992 0.459953994\nv 0.46825701 -0.300538987 0.46153\nv 0.469283015 -0.308845997 0.438097\nv 0.479725003 -0.301912993 0.443347007\nv 0.471145004 -0.307806998 0.447755992\nv 0.475576013 -0.291972995 0.466271013\nv 0.488031 -0.287205994 0.457226992\nv 0.476415992 -0.302130014 0.454338014\nv 0.488543004 -0.271346986 0.476485997\nv 0.486317992 -0.281942993 0.471675009\nv 0.472972006 -0.279475987 0.480185986\nv 0.49663499 -0.28045699 0.457852006\nv 0.49623999 -0.272590995 0.470602006\nv 0.495487988 -0.264757007 0.482317001\nv 0.501110971 -0.25592199 0.482528001\nv 0.507762015 -0.256765991 0.474397987\nv 0.505677998 -0.26423201 0.468672007\nv 0.506094992 -0.246354997 0.490267992\nv 0.503253996 -0.239663005 0.497996002\nv 0.513108015 -0.247731999 0.477055013\nv 0.517244995 -0.231209993 0.496989995\nv 0.519859016 -0.223367006 0.503876984\nv 0.528523028 -0.213113993 0.508906007\nv 0.533418 -0.204734996 0.513139009\nv 0.536018014 -0.195987999 0.521022975\nv 0.441202998 -0.303065002 0.369345009\nv 0.444234014 -0.289162993 0.366495997\nv 0.446366996 -0.279056013 0.363963991\nv 0.356720001 -0.152266994 0.305058986\nv 0.372561008 -0.153302997 0.292003006\nv 0.337586999 -0.156524003 0.318668991\nv 0.319357991 -0.165096 0.322627008\nv 0.30547899 -0.175468996 0.323457003\nv 0.291604996 -0.188714996 0.316459\nv 0.299398005 -0.185130998 0.327681988\nv 0.284004986 -0.203106001 0.299975008\nv 0.279926002 -0.218941003 0.281628996\nv 0.282698989 -0.226852998 0.264822006\nv 0.289986998 -0.231411994 0.253197998\nv 0.304740012 -0.232703 0.237278998\nv 0.299454987 -0.237186 0.25040099\nv 0.319400012 -0.226432994 0.227293998\nv 0.337365001 -0.217913002 0.221359998\nv 0.352566004 -0.206679001 0.220393002\nv 0.365426987 -0.197264999 0.225751996\nv 0.375710011 -0.181158006 0.234230995\nv 0.37637201 -0.194202006 0.238798007\nv 0.379523993 -0.173463002 0.243544996\nv 0.380401999 -0.165551007 0.257450014\nv 0.380293995 -0.160137996 0.273671001\nv 0.380915999 -0.160609007 0.289707989\nv 0.047853999 -0.080852002 0.000239\nv 0.038359001 -0.084197 0\nv 0.110579997 -0.079526998 0.000015\nv 0.221938998 -0.099890001 0.000268\nv 0.233695999 -0.102715999 0\nv 0.248180002 0.295316994 -0.09578\nv 0.242752001 0.317672014 -0.053833\nv 0.273535997 0.327982008 -0.050452001\nv 0.280081004 0.307316005 -0.089945003\nv 0.307197005 0.335916996 -0.046041001\nv 0.314794987 0.317791998 -0.082277\nv 0.214524001 0.048785999 -0.104732998\nv 0.189731002 0.072129004 -0.108277999\nv 0.191762999 0.088258997 -0.113835\nv 0.205737993 0.085460998 -0.119585998\nv 0.171097994 0.098681003 -0.106317997\nv 0.177748993 0.114058003 -0.112342\nv 0.189538002 0.124555998 -0.119264998\nv 0.332174987 0.096562997 -0.110583\nv 0.310947001 0.142228007 -0.129264995\nv 0.340442002 0.164169997 -0.120843001\nv 0.360323995 0.121468998 -0.102261998\nv 0.290197998 0.189963996 -0.130661994\nv 0.321105987 0.208443999 -0.12348\nv 0.353670001 0.226447001 -0.114292003\nv 0.372402996 0.185090005 -0.109545998\nv 0.388036996 0.146484002 -0.092238002\nv 0.333068013 0.274423987 -0.105547003\nv 0.298866004 0.260890007 -0.114015996\nv 0.288973004 0.284453988 -0.107519999\nv 0.323742002 0.296550989 -0.098907001\nv 0.266413003 0.247477993 -0.120306998\nv 0.256520987 0.271813989 -0.113957003\nv 0.432287991 0.181315005 -0.062913999\nv 0.435598999 0.194566995 -0.068107001\nv 0.446754009 0.191421002 -0.035978001\nv 0.44026801 0.178929001 -0.038075998\nv 0.440921992 0.208845004 -0.063378997\nv 0.448655993 0.206185997 -0.03427\nv 0.428341001 0.315284014 -0.0286\nv 0.409722 0.328583002 -0.030874001\nv 0.423096001 0.310353011 -0.052779\nv 0.408794999 0.321970999 -0.055424999\nv 0.387109995 0.326115996 -0.061221998\nv 0.383832008 0.336717993 -0.034085002\nv 0.227488995 0.090159997 -0.131310999\nv 0.243433997 0.047543 -0.114138\nv 0.209085003 0.138898998 -0.130622998\nv 0.233761996 0.155395001 -0.139134005\nv 0.253915995 0.101942003 -0.140251994\nv 0.272569001 0.052978002 -0.122199997\nv 0.208303005 0.222553998 -0.127409995\nv 0.181355 0.208738998 -0.119879998\nv 0.169071004 0.229460001 -0.113894999\nv 0.198076993 0.246980995 -0.121238001\nv 0.157352 0.193375006 -0.108696997\nv 0.153718993 0.211796999 -0.107469998\nv 0.145279005 0.216278002 -0.103666\nv 0.143759996 0.228386 -0.099684\nv 0.164058 0.246941 -0.100354999\nv 0.190292999 0.269468993 -0.103479996\nv 0.138721004 0.234013006 -0.085715003\nv 0.152337998 0.257575989 -0.063197002\nv 0.130976006 0.232887998 -0.079672001\nv 0.136907995 0.239050001 -0.070519\nv 0.130675003 0.234360993 -0.053840999\nv 0.134322003 0.243718997 -0.037712\nv 0.181371003 0.289920986 -0.05996\nv 0.223984003 0.030548999 -0.055054002\nv 0.204481006 0.031435002 -0.040994\nv 0.194904 0.042013001 -0.084091\nv 0.200892001 0.028724 -0.012382\nv 0.186501995 0.031557001 -0.024072001\nv 0.184048995 0.033732001 -0.045400001\nv 0.180895999 0.036529999 -0.072823003\nv 0.40882799 0.203858003 -0.092537999\nv 0.416372001 0.171848997 -0.078594998\nv 0.387897015 0.242633 -0.101423003\nv 0.414299011 0.257194996 -0.087343998\nv 0.426521003 0.225609004 -0.082163997\nv 0.397864014 0.297639996 -0.079723999\nv 0.368286014 0.287182987 -0.093158998\nv 0.360487998 0.306524992 -0.086438999\nv 0.391057998 0.313077003 -0.074464001\nv 0.353123993 0.324389994 -0.071438\nv 0.346810013 0.33899501 -0.039861999\nv 0.399253994 0.124454997 -0.051881\nv 0.374653995 0.096510999 -0.057641\nv 0.347315997 0.070118003 -0.062613003\nv 0.094127998 0.121829003 -0.078874998\nv 0.086684003 0.111757003 -0.077238001\nv 0.075375997 0.133431002 -0.075149\nv 0.085529 0.134517998 -0.076941997\nv 0.080503002 0.094839998 -0.078096002\nv 0.067950003 0.108268999 -0.075778998\nv 0.057564002 0.119409002 -0.072022997\nv 0.063621998 0.148461998 -0.071736999\nv 0.069780998 0.171797007 -0.072894\nv 0.077514 0.158373997 -0.075909004\nv 0.086240001 0.150029004 -0.076877996\nv 0.190722004 0.006354 -0.008677\nv 0.183831006 0.019006001 -0.009698\nv 0.224291995 -0.024923 -0.020237001\nv 0.198921993 -0.007949 -0.031360999\nv 0.229209006 -0.032976002 -0.034926999\nv 0.214521006 -0.027341001 -0.047040001\nv 0.209865004 -0.032074001 -0.072966002\nv 0.200066999 -0.020466 -0.059503\nv 0.191916004 -0.003318 -0.056729\nv 0.180827007 0.017168 -0.053509999\nv 0.184323996 0.014377 -0.029820999\nv 0.00015 -0.004581 -0.117983997\nv -0.007546 -0.007851 -0.111133002\nv 0.011403 0.013691 -0.095315002\nv 0.019597 0.019200999 -0.096923999\nv -0.010068 -0.01333 -0.101127997\nv 0.013926 0.015883001 -0.086226001\nv 0.036956999 0.044098001 -0.078713998\nv 0.109045997 -0.006748 -0.152768999\nv 0.096270002 -0.010698 -0.151526004\nv 0.104175001 0.005241 -0.126729995\nv 0.113388002 0.008045 -0.126145005\nv 0.0898 -0.013783 -0.144021004\nv 0.098668002 0.004381 -0.113394\nv 0.118653998 0.022188 -0.101706997\nv 0.122285001 -0.007063 -0.144778997\nv 0.120820999 0.009282 -0.118642002\nv 0.128261 0.003845 -0.115734003\nv 0.132329002 -0.017407 -0.142098993\nv 0.134498 0.017416 -0.098020002\nv 0.139195994 -0.006277 -0.115069002\nv 0.146535993 -0.034166001 -0.140814006\nv 0.181630999 0.026286 -0.032820001\nv 0.179057002 0.028636999 -0.056935001\nv 0.181946993 0.035597999 -0.063683003\nv 0.184890002 0.032986 -0.038088001\nv 0.060059 0.177844003 -0.027587\nv 0.051541999 0.152606994 -0.025666\nv 0.053702001 0.141397998 -0.010932\nv 0.063978001 0.167445004 -0.015245\nv 0.045809001 0.124511003 -0.025954001\nv 0.047322001 0.120820001 -0.012662\nv 0.066974998 0.159777001 -0.005463\nv 0.084962003 0.183231995 -0.011272\nv 0.081857003 0.191257 -0.020990999\nv 0.10362 0.203924999 -0.022162\nv 0.101095997 0.210262001 -0.029058\nv 0.098283999 0.218731999 -0.039179001\nv 0.077358998 0.200826004 -0.031684998\nv 0.136344999 0.044222001 -0.092096999\nv 0.121187001 0.056793001 -0.089302003\nv 0.127195999 0.068793997 -0.087995\nv 0.142405003 0.051059999 -0.091494001\nv 0.108387999 0.069251999 -0.085446998\nv 0.113219 0.082359999 -0.084178999\nv 0.119439997 0.096395001 -0.085224003\nv 0.134283006 0.082098 -0.089034997\nv 0.148580998 0.065263003 -0.091144003\nv 0.153775007 0.123522997 -0.102173999\nv 0.162323996 0.143556997 -0.108199999\nv 0.139315993 0.143132001 -0.097607002\nv 0.148371994 0.166297004 -0.103299998\nv 0.174207002 0.161856994 -0.115351997\nv 0.050016999 0.122385003 -0.064652003\nv 0.054125998 0.155194998 -0.064457998\nv 0.045906998 0.123914003 -0.054335002\nv 0.048609 0.156918004 -0.053849\nv 0.054892 0.183942005 -0.054882001\nv 0.060892999 0.180223003 -0.065614998\nv 0.070822999 0.206223994 -0.059094001\nv 0.075207002 0.198758006 -0.069952004\nv 0.092445001 0.221717998 -0.066321999\nv 0.094906002 0.212042004 -0.076998003\nv 0.098993003 0.200522006 -0.083994001\nv 0.081767999 0.187892005 -0.077157997\nv 0.103981003 0.191342995 -0.086355999\nv 0.088555999 0.174758002 -0.079853997\nv 0.140854999 0.192972004 -0.097057\nv 0.140039995 0.183905005 -0.100749001\nv 0.124697998 0.166541994 -0.092197001\nv 0.104176998 0.153254002 -0.082947999\nv 0.097673997 0.142571002 -0.081437998\nv 0.106905997 0.139308006 -0.084536001\nv 0.135355994 0.178709999 -0.089132003\nv 0.128175005 0.170224994 -0.085093997\nv 0.123958997 0.187456995 -0.091853999\nv 0.144247994 0.204045996 -0.093700998\nv 0.123582996 0.208102003 -0.094998002\nv 0.117826998 0.221313998 -0.086282998\nv 0.115801997 0.228375003 -0.076405004\nv 0.117674001 0.228738993 -0.051284999\nv 0.119461998 0.221705005 -0.037376001\nv 0.100597002 0.201840997 -0.011918\nv 0.117014997 0.223646998 -0.021571999\nv 0.043680001 0.080500998 -0.064366996\nv 0.040718999 0.083691001 -0.054682001\nv 0.049295001 0.082312003 -0.072337002\nv 0.032887001 0.046703 -0.069859996\nv 0.028716 0.036963999 -0.062334001\nv 0.037785001 0.049534999 -0.057994001\nv 0.056747999 0.073036 -0.076929003\nv 0.069705002 0.068089999 -0.079519004\nv 0.062380999 0.046105001 -0.081338003\nv 0.051863998 0.041960001 -0.081896\nv 0.103851996 0.031109 -0.088927001\nv 0.103095002 0.050184 -0.086966\nv 0.114918001 0.041111 -0.090600997\nv 0.133514002 0.031002 -0.092648998\nv 0.104171 0.023238 -0.095554002\nv 0.028448001 0.066326 -0.022949999\nv 0.036164001 0.087939002 -0.025751\nv 0.035695001 0.076352999 -0.040493\nv 0.025993999 0.056705002 -0.027598999\nv 0.044447999 0.122810997 -0.040628999\nv 0.023359001 0.043896999 -0.045168001\nv 0.017701 0.040353999 -0.032864999\nv 0.048796002 0.156918004 -0.040445\nv 0.055822 0.183246002 -0.041503001\nv 0.072610997 0.206364006 -0.045361999\nv 0.094485 0.223249003 -0.052657999\nv 0.116770998 0.230875999 -0.064024001\nv 0.117408998 0.189098001 -0.082737997\nv 0.106742002 0.172692999 -0.077489004\nv 0.105485 0.161175996 -0.076171003\nv 0.117317997 0.163372993 -0.081003003\nv 0.132909998 0.201525003 -0.089353003\nv 0.113200001 0.175659001 -0.083587997\nv 0.226724997 0.260210991 -0.119893998\nv 0.218291998 0.284148008 -0.101124004\nv 0.236441001 0.235082999 -0.126161993\nv 0.281919986 0.120390996 -0.137652993\nv 0.260940999 0.172349006 -0.137513995\nv 0.302536994 0.071525 -0.119121999\nv 0.315575004 0.044959001 -0.067767002\nv 0.282445997 0.028027 -0.069709003\nv -0.031978998 -0.029256999 -0.062063999\nv -0.040801 -0.026059 -0.060168002\nv -0.008623 0.009286 -0.039719999\nv -0.052221999 -0.023073999 -0.058437001\nv -0.018743001 0.008522 -0.037101999\nv 0.002254 0.032359 -0.015809\nv 0.014741 0.039866 -0.022049\nv -0.036231998 0.013653 -0.029503999\nv -0.044555999 0.010473 -0.023298999\nv -0.030484 0.012129 -0.013218\nv -0.079278998 -0.011481 -0.044009\nv -0.080647998 -0.010818 -0.031060999\nv -0.070354998 -0.01295 -0.01746\nv 0.001328 -0.004811 -0.076017998\nv -0.00231 0.001054 -0.059487998\nv -0.026195001 -0.045164 -0.089659996\nv -0.029141 -0.038874 -0.075874001\nv 0.046951 0.009088 -0.104125999\nv 0.042300999 0.016129 -0.097919002\nv 0.037152 -0.022117 -0.128887996\nv 0.035611 -0.015194 -0.122955002\nv 0.030191001 -0.008921 -0.118584998\nv 0.128904998 0.118242003 -0.090640001\nv 0.143785 0.101687998 -0.094774\nv 0.160311997 0.081674002 -0.097574003\nv 0.177192003 0.058545001 -0.096799001\nv 0.172359005 0.045322999 -0.088280998\nv 0.162540004 0.054758999 -0.090723\nv 0.138779998 0.171818003 -0.099533997\nv 0.129273996 0.153986007 -0.094375998\nv 0.116963997 0.130989999 -0.087416001\nv 0.105743997 0.109379999 -0.081735998\nv 0.099506997 0.095706999 -0.080421001\nv 0.093892001 0.080395997 -0.081616998\nv 0.084540002 0.053874001 -0.083475001\nv 0.093084998 0.025195999 -0.092872001\nv 0.077581003 0.032147001 -0.090139002\nv 0.059912998 0.033209 -0.087774001\nv 0.08935 -0.00068 -0.110178001\nv 0.068998002 0.002671 -0.107689999\nv 0.076072998 -0.030574 -0.134734005\nv 0.058325998 -0.029429 -0.133132994\nv 0.045997001 -0.026983 -0.132335007\nv 0.226931006 -0.003072 -0.132960007\nv 0.214855999 -0.008248 -0.137776002\nv 0.198973998 0.006014 -0.117660001\nv 0.204295993 0.010205 -0.109656997\nv 0.197779998 -0.015574 -0.134689003\nv 0.184992999 0.004825 -0.110170998\nv 0.177314997 0.022961 -0.086708002\nv 0.166146994 0.018146999 -0.092210002\nv 0.163164005 0.027021 -0.087182\nv 0.172471002 0.035486002 -0.084347002\nv 0.156542003 0.047187001 -0.088974997\nv 0.154203996 0.037978999 -0.089359999\nv 0.150534004 0.029287999 -0.089681\nv 0.150084004 0.01699 -0.095371999\nv 0.170384005 -0.006494 -0.108845003\nv 0.154686004 -0.008045 -0.112030998\nv 0.182062998 -0.034375001 -0.132037997\nv 0.163918003 -0.036449999 -0.136380002\nv 0.177564994 0.030425999 -0.072549999\nv 0.180007994 0.019018 -0.070805997\nv 0.193014994 -0.002128 -0.074648999\nv 0.201600999 -0.026071999 -0.068792999\nv 0.211792007 -0.019548999 -0.086393997\nv 0.217849001 -0.011583 -0.101140998\nv 0.196777001 0.005983 -0.090138003\nv 0.250943989 0.026318001 -0.065048002\nv 0.422780007 0.154266998 -0.044367999\nv 0.02472 0.058263998 -0.008958\nv 0.033709001 0.079705998 -0.011303\nv 0.022621 0.050034001 -0.022585999\nv 0.038346998 0.093370996 -0.014109\nv 0.211769 0.30746901 -0.056919999\nv -0.126665995 -0.150772005 -0.003823\nv -0.051325999 -0.119848996 -0.00157\nv -0.176409006 -0.166126996 -0.006618\nv -0.148511007 -0.163985997 -0.007971\nv -0.118855998 -0.155846998 -0.007362\nv -0.093921997 -0.140257999 -0.00404\nv -0.059004001 -0.126503006 -0.002634\nv -0.149249002 -0.071532004 -0.027442999\nv -0.110435002 -0.041529 -0.022203\nv -0.123304002 -0.040470999 -0.039942998\nv -0.162952006 -0.071505003 -0.048202001\nv -0.124825001 -0.043334998 -0.057477999\nv -0.164346993 -0.074450001 -0.068494998\nv -0.118780002 -0.083088003 -0.091078997\nv -0.087402001 -0.054496001 -0.076595001\nv -0.070285 -0.058715001 -0.078613997\nv -0.096137002 -0.087350003 -0.093176998\nv -0.053707 -0.062284999 -0.078818999\nv -0.072632998 -0.090448 -0.092583999\nv -0.044961002 -0.062585004 -0.086749002\nv -0.036924999 -0.061370999 -0.095335998\nv -0.044911999 -0.073017001 -0.103835002\nv -0.057826001 -0.081757002 -0.097281002\nv -0.063794002 -0.073762998 -0.147364005\nv -0.037671 -0.043651 -0.123548999\nv -0.035902001 -0.037209 -0.137508005\nv -0.064324997 -0.068696998 -0.165583998\nv -0.027855 -0.033849999 -0.147718996\nv -0.055516999 -0.064306997 -0.178274006\nv -0.014477 -0.07141 -0.183033004\nv 0.009257 -0.040135 -0.150280997\nv 0.017958 -0.047115002 -0.154361993\nv -0.001812 -0.078041002 -0.185765997\nv 0.024506999 -0.055773001 -0.160834\nv 0.007863 -0.084807001 -0.189421996\nv 0.045097999 -0.059025999 -0.163477004\nv 0.064003997 -0.059317 -0.166088998\nv 0.054969002 -0.086203001 -0.197883993\nv 0.033243001 -0.086937003 -0.193070993\nv 0.017886 -0.086544998 -0.191165999\nv 0.068625003 -0.074929997 -0.225231007\nv 0.077693 -0.043076999 -0.184318006\nv 0.088905998 -0.038059998 -0.194959\nv 0.083425999 -0.069199003 -0.240208998\nv 0.102123 -0.033628002 -0.200606003\nv 0.101411998 -0.062822998 -0.247911006\nv 0.133939996 -0.053546999 -0.225004002\nv 0.127330005 -0.028321 -0.184441999\nv 0.139973998 -0.039606001 -0.178132996\nv 0.148396 -0.063827001 -0.214321002\nv 0.155766994 -0.058045 -0.172620997\nv 0.165319994 -0.080785997 -0.203713998\nv 0.177355006 -0.058859002 -0.165144995\nv 0.198739007 -0.056735002 -0.158807993\nv 0.209347993 -0.079048 -0.186730996\nv 0.191302001 -0.080196999 -0.193241\nv 0.238952994 -0.065079004 -0.193436995\nv 0.217311993 -0.039563999 -0.164193004\nv 0.237194002 -0.030890999 -0.163892001\nv 0.261467993 -0.056646001 -0.190723002\nv 0.253679007 -0.025838999 -0.156672001\nv 0.280559987 -0.051442001 -0.179693997\nv 0.274509996 -0.061849002 -0.134564996\nv 0.245399997 -0.035339002 -0.117073998\nv 0.238472998 -0.042470001 -0.102017\nv 0.267352998 -0.068478003 -0.119208999\nv 0.232501999 -0.050278001 -0.087090001\nv 0.260785013 -0.075005002 -0.105428003\nv 0.242948994 -0.049547002 -0.060687002\nv 0.235138997 -0.050643999 -0.078341998\nv 0.252898008 -0.047897998 -0.039108001\nv 0.288423985 -0.071491003 -0.046946\nv 0.274800986 -0.073683999 -0.073320001\nv 0.264108986 -0.075266004 -0.094839998\nv -0.056758001 -0.030826 -0.005538\nv 0.30469501 -0.074263997 -0.199339002\nv 0.283161998 -0.080246001 -0.212980002\nv 0.322486013 -0.096373998 -0.221952006\nv 0.29856199 -0.104841001 -0.235976994\nv 0.271768987 -0.117611997 -0.239796996\nv 0.258064002 -0.090053 -0.21717\nv 0.224162996 -0.104493 -0.207799003\nv 0.202061996 -0.105392002 -0.215587005\nv 0.236009002 -0.134165004 -0.225933999\nv 0.210079998 -0.134307995 -0.235679001\nv 0.184090003 -0.132716998 -0.245058\nv 0.180089995 -0.105971999 -0.223918006\nv 0.170797005 -0.105925001 -0.228152007\nv 0.154792994 -0.091141 -0.241146997\nv 0.173219994 -0.130215004 -0.248742998\nv 0.159881994 -0.119796999 -0.264279991\nv 0.145721003 -0.110746004 -0.277776003\nv 0.140100002 -0.081798002 -0.253838003\nv 0.102081001 -0.089024 -0.279502988\nv 0.081174001 -0.096469 -0.270460993\nv 0.103987999 -0.112337001 -0.302785009\nv 0.081696004 -0.120082997 -0.293181002\nv 0.064396001 -0.128622994 -0.275196999\nv 0.064511001 -0.103395 -0.253170013\nv 0.052154999 -0.112521 -0.221462995\nv 0.026687 -0.113977 -0.216264993\nv 0.044174999 -0.139625996 -0.238280997\nv 0.023887999 -0.140783995 -0.234885007\nv 0.003323 -0.140604004 -0.231279999\nv 0.008842 -0.114428997 -0.214176998\nv -0.000197 -0.114092 -0.213115007\nv -0.015319 -0.106114998 -0.210583001\nv -0.010157 -0.138251007 -0.229736999\nv -0.024592999 -0.130979002 -0.230222002\nv -0.042693 -0.122288004 -0.229888007\nv -0.030796001 -0.099012002 -0.20871\nv -0.073935002 -0.091654003 -0.201793\nv -0.083475001 -0.096630998 -0.186499\nv -0.086905003 -0.114000998 -0.220460996\nv -0.097442001 -0.119172998 -0.202850997\nv -0.098977998 -0.126681998 -0.182043999\nv -0.083347999 -0.102348998 -0.166446999\nv -0.062634997 -0.101328999 -0.12483\nv -0.075792 -0.108066 -0.112640001\nv -0.082382999 -0.133865997 -0.147781\nv -0.093727 -0.135701999 -0.127607003\nv -0.108112 -0.137050003 -0.108217001\nv -0.090841003 -0.1149 -0.101800002\nv -0.116068996 -0.110916004 -0.103329003\nv -0.135199994 -0.132762 -0.110574998\nv -0.159777999 -0.126239002 -0.109050997\nv -0.140854999 -0.106190003 -0.101392001\nv -0.189322993 -0.097369999 -0.075644001\nv -0.190017998 -0.096941002 -0.054090001\nv -0.206264004 -0.115270004 -0.080628999\nv -0.209417 -0.117270999 -0.058600001\nv -0.199542001 -0.122550003 -0.036532\nv -0.175474003 -0.098338 -0.031235\nv -0.146430999 -0.115699999 -0.003598\nv -0.157846004 -0.133965999 -0.003735\nv 0.315757006 -0.094972998 -0.054320998\nv 0.300675005 -0.098867998 -0.085955001\nv 0.340719014 -0.115578003 -0.063984998\nv 0.32546401 -0.120980002 -0.102011003\nv 0.312388986 -0.125090003 -0.132347003\nv 0.288771987 -0.101834998 -0.111868002\nv 0.285066009 -0.102245003 -0.123254001\nv 0.292726994 -0.095158003 -0.135663003\nv 0.306986004 -0.125312999 -0.143140003\nv 0.316825986 -0.118061997 -0.157576993\nv 0.323415011 -0.109667003 -0.172177002\nv 0.300262988 -0.087678 -0.150242999\nv -0.037287001 0.004793 -0.039172001\nv -0.069857001 -0.018553 -0.054354001\nv -0.109219998 -0.048689999 -0.069622003\nv -0.145569995 -0.078550003 -0.082819\nv -0.169103995 -0.101063997 -0.091788001\nv -0.186591998 -0.119333997 -0.098258004\nv -0.027858 0.001279 -0.006326\nv -0.061195001 -0.02282 -0.008758\nv -0.091995001 -0.047940999 -0.009441\nv -0.131104007 -0.076348998 -0.011721\nv -0.149977997 -0.100121997 -0.011184\nv -0.180129007 -0.128321007 -0.018787\nv -0.171676993 -0.133643001 -0.011482\nv 0.009827 0.00846 -0.080921002\nv -0.016549001 -0.026757 -0.095113002\nv -0.037285998 -0.051479001 -0.109999999\nv -0.055654999 -0.074073002 -0.126736\nv -0.074925996 -0.102906004 -0.146477997\nv -0.092817999 -0.131862998 -0.164862007\nv 0.027353 0.014459 -0.100861996\nv 0.015027 -0.006598 -0.119808003\nv -0.009408 -0.035269 -0.150022\nv -0.035640001 -0.066021003 -0.182312995\nv -0.053355001 -0.093319997 -0.207488\nv -0.066059999 -0.115833998 -0.228054002\nv 0.114822 -0.028355001 -0.194517002\nv 0.118263997 -0.055408999 -0.239521995\nv 0.122126997 -0.082612999 -0.270292997\nv 0.126210004 -0.108741999 -0.294131011\nv 0.084151998 -0.020721 -0.139109999\nv 0.071007997 -0.050106 -0.175428003\nv 0.061326001 -0.080406003 -0.211788997\nv 0.057195 -0.108253002 -0.237635002\nv 0.057151001 -0.134593993 -0.25871101\nv 0.05277 -0.137241006 -0.240744993\nv 0.177386001 0.000286 -0.107969001\nv 0.189237997 -0.024227001 -0.132853001\nv 0.207358003 -0.047710001 -0.161928996\nv 0.227330998 -0.071532004 -0.190335006\nv 0.218925998 -0.077362001 -0.184885994\nv 0.244743004 -0.097061999 -0.213211\nv 0.257613987 -0.126687005 -0.233972996\nv 0.247619003 -0.131346002 -0.222909003\nv 0.234289005 -0.103376999 -0.205392003\nv 0.226795003 -0.005903 -0.119644001\nv 0.253441006 -0.028558999 -0.138179004\nv 0.281910002 -0.054673001 -0.157849997\nv 0.307323992 -0.078727998 -0.174946994\nv 0.32803601 -0.100210004 -0.197160006\nv 0.081742004 -0.155476004 -0.194600999\nv 0.081436999 -0.183223993 -0.231263995\nv 0.095527001 -0.188080996 -0.227767006\nv 0.093079999 -0.160304993 -0.193148002\nv 0.081076004 -0.212326005 -0.263175994\nv 0.099214002 -0.213949993 -0.253693998\nv 0.117113002 -0.214990005 -0.252490014\nv 0.110816002 -0.189711004 -0.226488993\nv 0.104992002 -0.162248999 -0.192204997\nv 0.275139004 -0.135504007 -0.119069003\nv 0.268858999 -0.147071004 -0.131376997\nv 0.311527014 -0.157710999 -0.163168997\nv 0.320657015 -0.146120995 -0.153787002\nv 0.264418989 -0.159137994 -0.135814995\nv 0.303683996 -0.170167997 -0.161946997\nv 0.344747007 -0.181530997 -0.193468004\nv 0.349566996 -0.167904004 -0.197516993\nv 0.359306991 -0.152496994 -0.199845001\nv -0.204462007 -0.148267999 -0.023279\nv -0.185966998 -0.152737007 -0.011342\nv -0.219730005 -0.139332995 -0.040734999\nv -0.233915001 -0.157005996 -0.034898002\nv -0.225885004 -0.164087996 -0.026215\nv -0.213338003 -0.175159007 -0.014723\nv -0.226062998 -0.132984996 -0.062720999\nv -0.221680999 -0.131326005 -0.085156001\nv -0.236173004 -0.146052003 -0.090525001\nv -0.239116997 -0.145192996 -0.065664999\nv -0.204803005 -0.136461005 -0.103960998\nv -0.181702003 -0.145669997 -0.115571998\nv -0.201279998 -0.161777005 -0.120523997\nv -0.219218001 -0.151675999 -0.109159\nv -0.158649996 -0.156232998 -0.116421998\nv -0.139034003 -0.162634 -0.113315001\nv -0.160784006 -0.191892996 -0.114247002\nv -0.182209 -0.174404994 -0.121032\nv -0.106503002 -0.158856004 -0.136966005\nv -0.116617002 -0.155169994 -0.119607002\nv -0.092889003 -0.157049999 -0.158115\nv -0.105856001 -0.189612001 -0.167597994\nv -0.109245002 -0.171930999 -0.138904005\nv -0.120916001 -0.166088 -0.120525002\nv -0.107049003 -0.154826999 -0.177526996\nv -0.098048002 -0.161089003 -0.164728001\nv -0.113325998 -0.144034997 -0.195399001\nv -0.126732007 -0.156994 -0.206480995\nv -0.120232001 -0.171340004 -0.187595993\nv -0.110315003 -0.134483993 -0.217234999\nv -0.098223999 -0.129455999 -0.236463994\nv -0.109708004 -0.142804995 -0.252505988\nv -0.122314997 -0.146464005 -0.228787005\nv -0.077261001 -0.132232994 -0.246512994\nv -0.053162001 -0.140582994 -0.249136999\nv -0.063386001 -0.155838996 -0.265179008\nv -0.086011998 -0.146584004 -0.261849999\nv -0.031661998 -0.152273998 -0.246090993\nv -0.009432 -0.158099994 -0.238341004\nv -0.014333 -0.185834005 -0.247614995\nv -0.041825999 -0.168534994 -0.259976\nv 0.023304 -0.167997003 -0.250759006\nv -0.000188 -0.164399996 -0.24244\nv 0.046521001 -0.166889995 -0.256954014\nv 0.057248998 -0.193719 -0.277869999\nv 0.024836 -0.182782993 -0.252956003\nv 0.059730001 -0.160375997 -0.280761003\nv 0.056956999 -0.164701 -0.265475005\nv 0.067328997 -0.150759995 -0.29837501\nv 0.070145003 -0.169872999 -0.323345989\nv 0.061980002 -0.181253999 -0.301517993\nv 0.084537998 -0.140257001 -0.315838009\nv 0.106989004 -0.132862002 -0.325156003\nv 0.111680001 -0.149977997 -0.344188988\nv 0.089533001 -0.156071007 -0.336544007\nv 0.130315006 -0.132568002 -0.318336993\nv 0.150711998 -0.138063997 -0.303656012\nv 0.156652004 -0.163369998 -0.329041004\nv 0.134305 -0.152382001 -0.339038998\nv 0.164378002 -0.148039997 -0.289388001\nv 0.172297001 -0.154905006 -0.276477009\nv 0.177965999 -0.183030993 -0.291334003\nv 0.168063 -0.171228006 -0.311782002\nv 0.215801999 -0.166808993 -0.25701201\nv 0.186535001 -0.159813002 -0.267217994\nv 0.244404003 -0.167863995 -0.243560001\nv 0.258913994 -0.203577995 -0.256213009\nv 0.214728996 -0.184165999 -0.261725992\nv 0.263963014 -0.162793994 -0.25604099\nv 0.25811699 -0.166399002 -0.243392006\nv 0.277188987 -0.150884002 -0.26572001\nv 0.280247003 -0.183788002 -0.297324002\nv 0.26947099 -0.194288999 -0.278384\nv 0.303956002 -0.133579999 -0.265026987\nv 0.330336004 -0.119836003 -0.253874987\nv 0.333620995 -0.141480997 -0.288363993\nv 0.307152003 -0.158584997 -0.295464993\nv 0.342400014 -0.118607998 -0.232179001\nv 0.344722986 -0.124655999 -0.208436996\nv 0.365974993 -0.139129996 -0.253259987\nv 0.351770997 -0.135427997 -0.271109998\nv 0.341881007 -0.132742003 -0.191150993\nv 0.335361987 -0.138681993 -0.177371994\nv 0.364277005 -0.146228001 -0.227427006\nv 0.354059011 -0.135899007 -0.124906003\nv 0.338221014 -0.139771 -0.159198999\nv 0.369132012 -0.130541995 -0.07869\nv 0.378957003 -0.137737006 -0.086264998\nv 0.364452988 -0.142315999 -0.136598006\nv 0.378405988 -0.127568007 -0.037971001\nv 0.385825992 -0.136269003 -0.041701999\nv 0.353051007 -0.111321002 -0.030786\nv 0.3292 -0.091565996 -0.026265999\nv 0.300871998 -0.069513001 -0.022893\nv 0.262089014 -0.046372 -0.019149\nv -0.126240999 -0.159355 -0.113049999\nv -0.133707002 -0.173041001 -0.113073997\nv -0.198391005 -0.178545997 -0.010431\nv -0.186719 -0.178023994 -0.010915\nv -0.190746993 -0.170045003 -0.008479\nv -0.205924004 -0.181125998 -0.013197\nv -0.169954002 -0.145691007 -0.005916\nv 0.054225001 -0.159327999 -0.254994988\nv 0.175453007 -0.151069 -0.265863001\nv 0.253490001 -0.158784002 -0.235176995\nv 0.32665801 -0.138291001 -0.164152995\nv 0.407297999 0.314904988 -0.067327999\nv 0.415143013 0.304264992 -0.068113998\nv 0.444265991 0.269230992 -0.048409\nv 0.445717007 0.236535996 -0.053978998\nv 0.436865002 0.243111998 -0.070185997\nv 0.432036012 0.267237991 -0.069383003\nv 0.194199994 0.178489 -0.126133993\nv 0.219377995 0.193811998 -0.134113997\nv 0.246813998 0.208187997 -0.132859007\nv 0.276495993 0.222620994 -0.126775995\nv 0.308411986 0.238119006 -0.120269999\nv 0.341800988 0.253639996 -0.111817002\nv 0.375901997 0.268146992 -0.099891998\nv 0.405178994 0.280108988 -0.085274003\nv 0.424093008 0.287999004 -0.068746001\nv 0.435822994 0.293303996 -0.049224999\nv 0.443549007 0.297513008 -0.025630999\nv 0.452511013 0.27254799 -0.024851\nv 0.452394009 0.237666994 -0.029146001\nv -0.153605998 -0.214197993 -0.049637999\nv -0.126683995 -0.200406 -0.041404001\nv -0.133085996 -0.195644006 -0.030726001\nv -0.158794999 -0.207666993 -0.036913\nv -0.095634997 -0.185139999 -0.034201\nv -0.100542001 -0.180354998 -0.023482\nv -0.106510997 -0.171223 -0.014911\nv -0.142807007 -0.187031001 -0.021806\nv -0.182574004 -0.197117001 -0.026285\nv -0.124307998 -0.180207998 -0.098365001\nv -0.121379003 -0.188180998 -0.085560001\nv -0.151601002 -0.201291993 -0.097957\nv -0.091756999 -0.163631007 -0.084403999\nv -0.087352999 -0.169899002 -0.072837003\nv -0.084122002 -0.175675005 -0.059305999\nv -0.117620997 -0.194166005 -0.069955997\nv -0.146736994 -0.207898006 -0.082213998\nv -0.030432001 -0.131197006 -0.006386\nv -0.069884002 -0.152804002 -0.009934\nv -0.066630997 -0.161448002 -0.017821001\nv -0.030862 -0.139807001 -0.013149\nv -0.063427001 -0.165829003 -0.027704\nv -0.026653999 -0.141735002 -0.020919999\nv -0.016178999 -0.133637995 -0.036433998\nv -0.051339999 -0.155965 -0.048468001\nv -0.053614002 -0.150700003 -0.059365999\nv -0.019595001 -0.130660996 -0.045249999\nv -0.058192 -0.139458001 -0.075001001\nv -0.020540001 -0.120338 -0.058348998\nv 0.085363001 -0.071181998 -0.005512\nv 0.014336 -0.105825 -0.003781\nv 0.007255 -0.116314001 -0.008873\nv 0.018093999 -0.112121001 -0.012854\nv 0.024457 -0.107293002 -0.022198001\nv 0.015267 -0.109855004 -0.030587001\nv 0.022461001 -0.102049001 -0.03077\nv -0.120458998 -0.199076995 -0.054859001\nv -0.146736994 -0.211814001 -0.065889001\nv -0.088522002 -0.182166994 -0.046285\nv -0.056471001 -0.162504002 -0.037916999\nv -0.023207 -0.140559003 -0.029307\nv 0.01237 -0.116802 -0.020006999\nv -0.158993006 -0.176807001 -0.013621\nv -0.190825999 -0.191406995 -0.020771001\nv -0.076987997 -0.143337995 -0.005708\nv -0.039611999 -0.124536 -0.003062\nv -0.004758 -0.105935 -0.001451\nv 0.025192 -0.090412997 -0.000602\nv -0.108779997 -0.163170993 -0.113527\nv -0.118982002 -0.169334993 -0.105066001\nv -0.084890001 -0.151528999 -0.100234002\nv -0.090875 -0.155663997 -0.091537997\nv -0.084475003 -0.180813 -0.149538994\nv -0.09708 -0.169328004 -0.131608993\nv -0.061264999 -0.166793004 -0.132189006\nv -0.073985003 -0.156760007 -0.116489001\nv 0.002926 -0.175511003 -0.220066994\nv -0.00908 -0.184814006 -0.208627999\nv -0.020153999 -0.197637007 -0.232226998\nv 0.012313 -0.157297999 -0.188825995\nv 0.001338 -0.168307006 -0.180292994\nv -0.004797 -0.179360002 -0.171066999\nv -0.015615 -0.195352003 -0.196617007\nv -0.024984 -0.207565993 -0.218303993\nv -0.046705998 -0.220285997 -0.185709\nv -0.035326 -0.205109 -0.173754007\nv -0.046726 -0.203483999 -0.166354001\nv -0.059923999 -0.214844003 -0.176394001\nv -0.021207999 -0.189178005 -0.156827003\nv -0.030075001 -0.189103007 -0.149502993\nv -0.039500002 -0.185275003 -0.143141001\nv -0.058818001 -0.198339999 -0.161266997\nv -0.073946998 -0.208712995 -0.172571003\nv -0.053929999 -0.136270002 -0.082269996\nv -0.04394 -0.139936998 -0.094953001\nv -0.032203998 -0.147797003 -0.107000999\nv 0.00072 -0.125580996 -0.077085003\nv -0.010778 -0.121266 -0.070603997\nv 0.01369 -0.139458999 -0.083896004\nv -0.0148 -0.164866 -0.115797997\nv -0.007854 -0.167588994 -0.122060999\nv 0.005601 -0.164713994 -0.133183002\nv 0.030347999 -0.136962995 -0.099082001\nv 0.011951 -0.159310997 -0.137877002\nv 0.017028 -0.149342999 -0.145070001\nv 0.034979001 -0.129058003 -0.107263997\nv 0.026004 -0.138863996 -0.151656002\nv 0.042539999 -0.119483002 -0.109976999\nv 0.013132 -0.103814997 -0.038212001\nv 0.024645999 -0.097840004 -0.036582001\nv 0.021666 -0.103151001 -0.047045\nv 0.035519 -0.101902001 -0.045554999\nv 0.043072 -0.110036001 -0.049327999\nv 0.040047001 -0.117496997 -0.059787001\nv 0.048401002 -0.110753998 -0.055562001\nv 0.054186001 -0.107974999 -0.059245002\nv 0.052181002 -0.108592004 -0.071176\nv 0.060460001 -0.098431997 -0.06521\nv -0.024660001 -0.202258006 -0.184416994\nv -0.033312 -0.214665994 -0.201684996\nv -0.012548 -0.186123997 -0.163629994\nv 0.046456002 -0.116269998 -0.065509997\nv -0.071561001 -0.190632999 -0.157544002\nv -0.088849001 -0.201374993 -0.169349998\nv -0.049833 -0.177067995 -0.139220998\nv -0.022702999 -0.157187998 -0.112363003\nv 0.033363 -0.111925997 -0.054397002\nv 0.054951001 -0.173619002 -0.236833006\nv 0.028386001 -0.172312006 -0.230548993\nv 0.057838 -0.148481995 -0.196588993\nv 0.034582 -0.150666997 -0.194188997\nv 0.170039997 -0.165031001 -0.239925995\nv 0.151586995 -0.169771001 -0.238643005\nv 0.162946999 -0.191514 -0.279754013\nv 0.154925004 -0.139586002 -0.192055002\nv 0.138555005 -0.144399002 -0.19325\nv 0.127933994 -0.151317999 -0.192543998\nv 0.139324993 -0.177892998 -0.233209997\nv 0.152457997 -0.204650998 -0.272327989\nv 0.044054002 -0.131929994 -0.154528007\nv 0.062923998 -0.128975004 -0.155196995\nv 0.069247 -0.111823998 -0.112002999\nv 0.054942001 -0.115036003 -0.114169002\nv 0.078005999 -0.114007004 -0.114152998\nv 0.074363001 -0.130431995 -0.155175999\nv 0.091311999 -0.138474002 -0.154377997\nv 0.098903 -0.119847998 -0.112951003\nv 0.100496002 -0.140319005 -0.153909996\nv 0.118523002 -0.131438002 -0.152802005\nv 0.127168998 -0.125953004 -0.152253002\nv 0.116682 -0.111091003 -0.113760002\nv 0.140294001 -0.121720001 -0.150251999\nv 0.125388995 -0.106991 -0.109598003\nv 0.065387003 -0.098922998 -0.075717002\nv 0.075846002 -0.093757004 -0.066353001\nv 0.084434003 -0.095996 -0.066457003\nv 0.088533998 -0.102236003 -0.075928003\nv 0.092151001 -0.098633997 -0.066566996\nv 0.099982999 -0.095147997 -0.066519998\nv 0.106348999 -0.096472003 -0.075875998\nv 0.109449998 -0.090954997 -0.065173\nv 0.125575006 -0.185427994 -0.228731006\nv 0.134474993 -0.210607007 -0.257611006\nv 0.116678998 -0.158260003 -0.192099005\nv 0.109599002 -0.137100995 -0.153368995\nv 0.097563997 -0.101787999 -0.075966001\nv 0.070272997 -0.177829996 -0.235678002\nv 0.068714 -0.201856002 -0.268795013\nv 0.071776003 -0.150810003 -0.196237996\nv 0.080273002 -0.098076001 -0.075774997\nv 0.234274 -0.174575001 -0.218696997\nv 0.202360004 -0.167647004 -0.231957003\nv 0.212068006 -0.143533006 -0.178737998\nv 0.183425993 -0.138961002 -0.186794996\nv 0.30062601 -0.120171003 -0.011921\nv 0.307339996 -0.123764001 -0.026550001\nv 0.355870992 -0.133386999 -0.035861999\nv 0.324800014 -0.124746002 -0.009082\nv 0.298240989 -0.126018003 -0.055620998\nv 0.348150998 -0.135038003 -0.074539997\nv 0.31061101 -0.202392995 -0.194650993\nv 0.282503009 -0.186715007 -0.170999005\nv 0.271849006 -0.190022007 -0.179363996\nv 0.29540801 -0.209377006 -0.203786999\nv 0.250719011 -0.170554996 -0.148715004\nv 0.238638997 -0.165268004 -0.159897998\nv 0.261539012 -0.189003006 -0.190292001\nv 0.28215 -0.215983003 -0.221426994\nv 0.162654996 -0.119817004 -0.145326003\nv 0.185560003 -0.123028003 -0.138981998\nv 0.156619996 -0.107484996 -0.098996997\nv 0.141793996 -0.105871998 -0.106861003\nv 0.175935 -0.127248004 -0.092174999\nv 0.209594995 -0.146262005 -0.127204001\nv 0.217890993 -0.153047994 -0.121446997\nv 0.186947003 -0.133579999 -0.087355003\nv 0.188308001 -0.126081005 -0.078382999\nv 0.226780996 -0.144645005 -0.108034998\nv 0.228597 -0.133147001 -0.102103002\nv 0.19066 -0.117297001 -0.074978001\nv 0.232353002 -0.122092001 -0.090522997\nv 0.190387994 -0.106896996 -0.064648002\nv 0.203667 -0.100895002 -0.029928001\nv 0.250748992 -0.114251003 -0.041616\nv 0.259030014 -0.112245001 -0.019864\nv 0.211906001 -0.098626003 -0.006753\nv 0.253479004 -0.108254999 -0.005189\nv 0.122589 -0.092786998 -0.070708998\nv 0.127122 -0.091325998 -0.058348998\nv 0.139189005 -0.103491001 -0.054779001\nv 0.151030004 -0.112810999 -0.061329\nv 0.145077005 -0.107762001 -0.052241001\nv 0.146534994 -0.102835 -0.046634\nv 0.154970005 -0.100878999 -0.049631\nv 0.147331998 -0.090934001 -0.037944999\nv 0.154985994 -0.087107003 -0.017963\nv 0.173379004 -0.088738002 -0.002827\nv 0.251507014 -0.182774007 -0.204106003\nv 0.269151986 -0.210099995 -0.236396\nv 0.228861004 -0.154309005 -0.169149995\nv 0.200315997 -0.134140998 -0.132725999\nv 0.169778004 -0.117904998 -0.096954003\nv 0.141158 -0.101239003 -0.063951001\nv 0.293561012 -0.179966003 -0.164875001\nv 0.32566601 -0.192537993 -0.189737007\nv 0.258857995 -0.166933 -0.141135007\nv 0.224160999 -0.151403993 -0.113848999\nv 0.154923007 -0.112244003 -0.056765001\nv 0.334639013 -0.138923004 -0.119046003\nv 0.286220014 -0.129208997 -0.090139002\nv 0.240796998 -0.116663001 -0.067764997\nv 0.198599994 -0.103257 -0.049439002\nv 0.15986 -0.090960003 -0.032676999\nv -0.240032002 -0.191598997 -0.028666999\nv -0.261604995 -0.219888002 -0.036561001\nv -0.255612999 -0.227882996 -0.030393001\nv -0.233542994 -0.198906004 -0.022789\nv -0.279408008 -0.240115002 -0.042886\nv -0.285589993 -0.253838003 -0.041542999\nv -0.282231003 -0.26472801 -0.038615\nv -0.245330006 -0.237020001 -0.027782001\nv -0.223552004 -0.206202999 -0.020545\nv -0.225847006 -0.249237001 -0.031661\nv -0.207782 -0.216633007 -0.024981\nv -0.273882002 -0.277911991 -0.042185999\nv -0.271611005 -0.294968992 -0.049628999\nv -0.235120997 -0.277577013 -0.040794\nv -0.213798001 -0.264809996 -0.036782\nv -0.206506997 -0.253486007 -0.031184001\nv -0.192396998 -0.237092003 -0.030236\nv -0.189524993 -0.219970003 -0.031094\nv -0.178891003 -0.232791007 -0.039657999\nv -0.359048009 -0.283695012 -0.129930004\nv -0.363276988 -0.292937994 -0.127662003\nv -0.382735997 -0.291236997 -0.128328994\nv -0.377025008 -0.283831 -0.130297005\nv -0.380674988 -0.303759009 -0.124098003\nv -0.398692995 -0.293965995 -0.125960007\nv -0.399955988 -0.273261994 -0.129933\nv -0.27601701 -0.251796991 -0.129852995\nv -0.317598999 -0.264376014 -0.130107999\nv -0.322385997 -0.254673988 -0.121859998\nv -0.279949009 -0.242734 -0.124052003\nv -0.345005989 -0.269472003 -0.131697997\nv -0.356386006 -0.267499 -0.130601004\nv -0.385812998 -0.256217986 -0.130992994\nv -0.373622 -0.246264994 -0.123191997\nv -0.371782005 -0.238004997 -0.110496998\nv -0.324959993 -0.244205996 -0.105296001\nv -0.294104993 -0.228325993 -0.098370001\nv -0.289837986 -0.234483004 -0.111483999\nv -0.274753004 -0.230288997 -0.116508998\nv -0.327152997 -0.241217002 -0.087531\nv -0.296766996 -0.227556005 -0.080072999\nv -0.372415006 -0.235137999 -0.096216999\nv -0.374837011 -0.237835005 -0.082594998\nv -0.326680988 -0.245471001 -0.070473\nv -0.296692014 -0.231742993 -0.062318001\nv -0.321260005 -0.25672701 -0.056030001\nv -0.292744994 -0.240459993 -0.050833002\nv -0.37836501 -0.246266007 -0.071874\nv -0.396699995 -0.254951 -0.068301\nv -0.328171015 -0.27095601 -0.051690999\nv -0.329831988 -0.284393996 -0.054304\nv -0.39101401 -0.268265992 -0.068951003\nv -0.394888014 -0.277866989 -0.074317001\nv -0.32773599 -0.29718101 -0.060890999\nv -0.323372006 -0.309460014 -0.068471998\nv -0.267951995 -0.306867987 -0.056954\nv -0.398074001 -0.285347998 -0.080427997\nv -0.40397799 -0.301537007 -0.083612002\nv -0.375853986 -0.309991986 -0.080300003\nv -0.353480995 -0.310059994 -0.075006001\nv -0.334012002 -0.32011199 -0.071728997\nv -0.314615995 -0.314859986 -0.072217003\nv -0.307411999 -0.321781009 -0.066877\nv -0.284460008 -0.319402009 -0.068980999\nv -0.279522985 -0.323437005 -0.062401\nv -0.248350993 -0.317582011 -0.062442001\nv -0.459520996 -0.235413 -0.129271001\nv -0.509949028 -0.195109993 -0.131355003\nv -0.489890993 -0.200871006 -0.132247999\nv -0.445466012 -0.222361997 -0.132285997\nv -0.441417992 -0.212294996 -0.125887007\nv -0.507182002 -0.184247002 -0.132850006\nv -0.508247018 -0.175933003 -0.124931999\nv -0.439770997 -0.206316993 -0.116993003\nv -0.440165013 -0.204220995 -0.106764004\nv -0.509639978 -0.174908996 -0.112466998\nv -0.442454994 -0.206202 -0.097029999\nv -0.446494997 -0.212458998 -0.089620002\nv -0.515439987 -0.182875007 -0.102969997\nv -0.455920994 -0.214775994 -0.086727001\nv -0.474364996 -0.204938993 -0.090544\nv -0.462871999 -0.213036001 -0.087026998\nv -0.474348009 -0.205134004 -0.090600997\nv -0.457964987 -0.219134003 -0.086144999\nv -0.454742014 -0.229110003 -0.087061003\nv -0.514653027 -0.196823001 -0.110735998\nv -0.459477991 -0.235523999 -0.091666996\nv -0.467840999 -0.240728006 -0.100252002\nv -0.503081024 -0.204288006 -0.108882003\nv -0.511085987 -0.199399993 -0.114003003\nv -0.497754008 -0.209821999 -0.107357003\nv -0.503820002 -0.206549004 -0.112457998\nv -0.491338998 -0.216154993 -0.105641\nv -0.49566099 -0.214192003 -0.111051999\nv -0.484890014 -0.225881994 -0.109417997\nv -0.479310989 -0.231466994 -0.104423001\nv -0.448114008 -0.265183985 -0.097727999\nv -0.447697997 -0.25990501 -0.093976997\nv -0.458905011 -0.252348989 -0.100740999\nv -0.434347987 -0.273802996 -0.091609001\nv -0.418168008 -0.291269988 -0.090933003\nv -0.425511003 -0.281807989 -0.088258997\nv -0.418199986 -0.27670899 -0.126857996\nv -0.463582993 -0.234160006 -0.128881007\nv -0.411660999 -0.283755004 -0.125572994\nv -0.430142999 -0.265854001 -0.127434\nv -0.427125007 -0.269439995 -0.126285002\nv -0.442003012 -0.255142987 -0.127602994\nv -0.452859998 -0.244301006 -0.128407001\nv -0.461176991 -0.243973002 -0.124716997\nv -0.482306987 -0.223076999 -0.124741003\nv -0.479954988 -0.219352007 -0.129334003\nv -0.47191 -0.226812005 -0.128939003\nv -0.49079299 -0.213187993 -0.127717003\nv -0.487527013 -0.212310001 -0.129673004\nv -0.497860014 -0.203742996 -0.129417002\nv -0.50861901 -0.194378003 -0.129311994\nv -0.501070023 -0.199669003 -0.130061001\nv -0.515783012 -0.187763005 -0.129524007\nv -0.475508004 -0.222778007 -0.129444003\nv -0.549995005 -0.184742004 -0.130219996\nv -0.54479599 -0.177808002 -0.133727998\nv -0.581152022 -0.184056997 -0.134892002\nv -0.554111004 -0.172289997 -0.132447004\nv -0.587741017 -0.181483999 -0.127425998\nv -0.557456017 -0.169717997 -0.120985001\nv -0.583724976 -0.184865996 -0.119806997\nv -0.555191994 -0.176579997 -0.112750001\nv -0.578464985 -0.183586001 -0.127676994\nv -0.551593006 -0.185114995 -0.118791997\nv -0.568090022 -0.183759004 -0.129004002\nv -0.540920019 -0.187191993 -0.123677\nv -0.534202993 -0.18761 -0.116806999\nv -0.522765994 -0.189638004 -0.117214002\nv -0.524653018 -0.185266003 -0.130412996\nv -0.529331028 -0.187661007 -0.126782\nv -0.538350999 -0.183883995 -0.131784007\nv -0.599476993 -0.224895999 -0.136179\nv -0.603402019 -0.226640999 -0.137409002\nv -0.596056998 -0.203202993 -0.135866001\nv -0.602231979 -0.203356996 -0.130196005\nv -0.602916002 -0.227072999 -0.131825998\nv -0.595336974 -0.204234004 -0.127947003\nv -0.596081018 -0.244072005 -0.14012\nv -0.584017992 -0.253627002 -0.142195001\nv -0.583513021 -0.257138014 -0.142182007\nv -0.596816003 -0.24707 -0.136591002\nv -0.583235979 -0.255497992 -0.137979999\nv -0.595503986 -0.244092003 -0.13493\nv -0.567182004 -0.255178005 -0.144314006\nv -0.566268027 -0.256852001 -0.141210005\nv -0.54806602 -0.250138015 -0.145030007\nv -0.567272007 -0.25376001 -0.141987994\nv -0.256556004 -0.207301006 -0.114161\nv -0.245140001 -0.207902998 -0.123291001\nv -0.240881994 -0.176919997 -0.109344997\nv -0.231249005 -0.180735007 -0.118821003\nv -0.221166998 -0.178504005 -0.123356998\nv -0.219293997 -0.190475002 -0.126160994\nv -0.243459001 -0.219853997 -0.128135994\nv -0.25582099 -0.175020993 -0.048289001\nv -0.27303499 -0.203540996 -0.054366\nv -0.268216997 -0.211097002 -0.043350998\nv -0.248741001 -0.182867005 -0.036125001\nv -0.265076995 -0.202896997 -0.105056003\nv -0.249100998 -0.173067003 -0.100910999\nv -0.270756006 -0.198833004 -0.092547998\nv -0.254776001 -0.169524997 -0.088395\nv -0.273645014 -0.199249998 -0.073207997\nv -0.257423997 -0.170375004 -0.068282999\nv -0.230597004 -0.240438998 -0.128037006\nv -0.232483998 -0.256359994 -0.126973003\nv -0.243967995 -0.272965997 -0.125790998\nv -0.244797006 -0.255562991 -0.127666995\nv -0.228125006 -0.26909399 -0.122979999\nv -0.233986005 -0.287039012 -0.125075996\nv -0.248871997 -0.303678989 -0.120785996\nv -0.267885 -0.28887099 -0.125674993\nv -0.271135002 -0.275070012 -0.128325\nv -0.166512996 -0.230821997 -0.116217002\nv -0.171455994 -0.227061003 -0.125081003\nv -0.175784007 -0.219624996 -0.110224999\nv -0.179910004 -0.223793 -0.130882993\nv -0.189401001 -0.226903006 -0.137318\nv -0.195938006 -0.220980003 -0.128607005\nv -0.206507996 -0.229594007 -0.133311003\nv -0.197791994 -0.234331995 -0.141090006\nv -0.204873994 -0.242583007 -0.140866995\nv -0.213511005 -0.239571005 -0.133669004\nv -0.220292002 -0.246610001 -0.130149007\nv -0.208830997 -0.252131999 -0.137943998\nv -0.218143001 -0.257968992 -0.125522003\nv -0.209520996 -0.261709988 -0.132058993\nv -0.207864001 -0.269717008 -0.124142997\nv -0.215377003 -0.265675008 -0.117968999\nv -0.202358007 -0.274843991 -0.115737997\nv -0.212338999 -0.274468988 -0.106980003\nv -0.198954001 -0.27146399 -0.098728999\nv -0.193652004 -0.275256991 -0.108825997\nv -0.177355006 -0.242391005 -0.111750998\nv -0.179996997 -0.249988005 -0.117174\nv -0.181911007 -0.241730005 -0.121940002\nv -0.178399995 -0.252651006 -0.104979001\nv -0.183521003 -0.255620003 -0.113389\nv -0.193635002 -0.247181997 -0.127029002\nv -0.191611007 -0.257532001 -0.119942002\nv -0.168991998 -0.257239997 -0.098231003\nv -0.175484002 -0.266245008 -0.099564999\nv -0.184896007 -0.273021013 -0.10125\nv -0.181002006 -0.259415001 -0.088721\nv -0.187904 -0.266299009 -0.093555003\nv -0.164561003 -0.248165995 -0.102596998\nv -0.172330007 -0.238461003 -0.096378997\nv -0.172481999 -0.229531005 -0.105515003\nv -0.163103998 -0.238725007 -0.108907998\nv -0.201354995 -0.282525003 -0.084337004\nv -0.179465994 -0.264472991 -0.079190999\nv -0.166557997 -0.227163002 -0.090002\nv -0.169147 -0.249544993 -0.072337002\nv -0.174432993 -0.247892007 -0.088367\nv -0.171280995 -0.223305002 -0.099711999\nv -0.202561006 -0.200995997 -0.124651\nv -0.191163003 -0.207855001 -0.120935\nv -0.206110001 -0.218538001 -0.127309993\nv -0.220791996 -0.220083997 -0.127637997\nv -0.216901004 -0.232537001 -0.130122006\nv -0.168006003 -0.238275006 -0.064338997\nv -0.220065996 -0.284408003 -0.050678998\nv -0.215066999 -0.272392988 -0.044741001\nv -0.237020001 -0.295843989 -0.048386\nv -0.161933005 -0.255860001 -0.063960001\nv -0.166035995 -0.262674004 -0.071840003\nv -0.172866002 -0.258336008 -0.076382004\nv -0.173071995 -0.271133006 -0.073766001\nv -0.187658995 -0.272294015 -0.079892002\nv -0.181362003 -0.278871 -0.072094999\nv -0.196512997 -0.279008001 -0.073569998\nv -0.198183998 -0.285187006 -0.059847001\nv -0.208425999 -0.283870995 -0.065260001\nv -0.211065993 -0.278697014 -0.054744001\nv -0.207451001 -0.278735012 -0.041363001\nv -0.206366003 -0.271726012 -0.032407999\nv -0.203834996 -0.262939006 -0.025831001\nv -0.195728004 -0.255484015 -0.023533\nv -0.200100005 -0.247162998 -0.027636001\nv -0.175815001 -0.254781008 -0.054839998\nv -0.178013995 -0.259600997 -0.047391001\nv -0.178584993 -0.263781995 -0.057289999\nv -0.181274995 -0.255683988 -0.042833\nv -0.202956006 -0.283868015 -0.050547\nv -0.190329999 -0.270776004 -0.053252\nv -0.189963996 -0.283702999 -0.066384003\nv -0.163947001 -0.243127003 -0.045669999\nv -0.161522999 -0.248961002 -0.055112001\nv -0.186812997 -0.248401001 -0.024305999\nv -0.177763999 -0.243441999 -0.029106\nv -0.169741005 -0.242449999 -0.036244001\nv -0.171893999 -0.231907994 -0.050423\nv -0.189014003 -0.264512002 -0.042591002\nv -0.223162994 -0.280492991 -0.120361999\nv -0.214442998 -0.285456002 -0.121477999\nv -0.224206999 -0.290728986 -0.127574995\nv -0.236430004 -0.301620007 -0.127443001\nv -0.239583001 -0.313811004 -0.118118003\nv -0.236601993 -0.320535004 -0.105302997\nv -0.243843004 -0.314731002 -0.103794001\nv -0.230037004 -0.320659995 -0.099137999\nv -0.233181 -0.315118015 -0.091436997\nv -0.223541006 -0.318060011 -0.093322001\nv -0.229472995 -0.306618005 -0.113025002\nv -0.217819005 -0.301203012 -0.106533997\nv -0.224325001 -0.309109986 -0.103836998\nv -0.20781 -0.287454993 -0.111276999\nv -0.222278997 -0.295722008 -0.116181001\nv -0.211904004 -0.306755006 -0.090034999\nv -0.205994993 -0.297464013 -0.096685\nv -0.210704997 -0.294555992 -0.089455001\nv -0.209049001 -0.285596997 -0.098297998\nv -0.243964002 -0.320639014 -0.091178\nv -0.219931006 -0.302765995 -0.087125003\nv -0.227273002 -0.297461987 -0.043005999\nv -0.210135996 -0.292661995 -0.054203\nv -0.240832999 -0.310703009 -0.047587\nv -0.233209997 -0.306364 -0.043297\nv -0.240082994 -0.320748001 -0.058419\nv -0.239364997 -0.322118998 -0.070320003\nv -0.217617005 -0.314675987 -0.083609998\nv -0.227231994 -0.321844995 -0.078064002\nv -0.227152005 -0.313116014 -0.086280003\nv -0.237499997 -0.319195986 -0.079917997\nv -0.205307007 -0.297179013 -0.067980997\nv -0.209537998 -0.298124999 -0.080173001\nv -0.225032002 -0.312961996 -0.070052996\nv -0.226615995 -0.310692996 -0.060621999\nv -0.222261995 -0.302446991 -0.055668\nv -0.216376007 -0.303876996 -0.066408999\nv -0.25059399 -0.326205999 -0.076807\nv -0.272727996 -0.327569991 -0.080413997\nv -0.262861013 -0.328386992 -0.078317001\nv -0.273519993 -0.326469988 -0.07079\nv -0.285288006 -0.324330986 -0.079948001\nv -0.255631 -0.328514993 -0.085233003\nv -0.252308995 -0.327140003 -0.067359\nv -0.259676009 -0.325973988 -0.059916999\nv -0.270081997 -0.322443008 -0.057029001\nv -0.278028995 -0.326530993 -0.088973999\nv -0.264631003 -0.330451995 -0.090925999\nv -0.269562989 -0.32129699 -0.094617002\nv -0.264183015 -0.326207995 -0.068046004\nv -0.259366006 -0.321880996 -0.098539002\nv -0.289478987 -0.320122004 -0.095495999\nv -0.261231989 -0.31308499 -0.129296005\nv -0.267295986 -0.30516699 -0.126030996\nv -0.254642993 -0.312611997 -0.122624002\nv -0.276930988 -0.312485009 -0.128894001\nv -0.280910999 -0.306243002 -0.123125002\nv -0.285546005 -0.318399996 -0.114435002\nv -0.280387014 -0.323442996 -0.103119001\nv -0.266092002 -0.327899992 -0.100319996\nv -0.255816013 -0.325428009 -0.107205003\nv -0.251213014 -0.317681998 -0.110298999\nv -0.266146988 -0.318001986 -0.118470997\nv -0.272531986 -0.322266012 -0.110344999\nv -0.31448701 -0.315472007 -0.119620003\nv -0.312840015 -0.306416988 -0.120872997\nv -0.300550997 -0.31199801 -0.126340002\nv -0.319696993 -0.316128999 -0.110636003\nv -0.313827008 -0.31901601 -0.101135999\nv -0.289831012 -0.324858993 -0.105370998\nv -0.290993005 -0.315268993 -0.123419002\nv -0.301254004 -0.318975002 -0.116185002\nv -0.30270499 -0.325518012 -0.098383002\nv -0.316628009 -0.323354989 -0.075961001\nv -0.316094011 -0.320775002 -0.086579002\nv -0.292156994 -0.324221998 -0.069750004\nv -0.290704995 -0.327706993 -0.089708999\nv -0.307069987 -0.324579 -0.077367\nv -0.29885599 -0.326283008 -0.083812997\nv -0.322506994 -0.320728004 -0.078365996\nv -0.325217009 -0.322735012 -0.092348002\nv -0.345798999 -0.318415999 -0.077597\nv -0.340431988 -0.319207996 -0.095383003\nv -0.353183001 -0.317025989 -0.083936997\nv -0.352782011 -0.316875994 -0.101122998\nv -0.345995009 -0.312602013 -0.117972001\nv -0.344117999 -0.30479899 -0.122588001\nv -0.337756991 -0.309673011 -0.126778007\nv -0.323150992 -0.313102007 -0.121698998\nv -0.335763007 -0.315245003 -0.114422001\nv -0.342943996 -0.317669988 -0.106196001\nv -0.327872992 -0.30419901 -0.125277996\nv -0.331321001 -0.318868995 -0.102862999\nv -0.238258004 -0.230443999 -0.128711998\nv -0.272029996 -0.261054009 -0.130419999\nv -0.213999003 -0.198345006 -0.126592994\nv -0.354795992 -0.275557011 -0.131999999\nv -0.371419996 -0.276569009 -0.132234007\nv -0.393108994 -0.263913989 -0.132423997\nv -0.367069989 -0.315539986 -0.102094002\nv -0.378571987 -0.311221004 -0.093103997\nv -0.365667999 -0.316834003 -0.088831998\nv -0.361813009 -0.314332008 -0.075930998\nv -0.353677005 -0.309540004 -0.122335002\nv -0.369753987 -0.305844992 -0.122882001\nv -0.375445992 -0.310514003 -0.112627998\nv -0.396418005 -0.3116 -0.097540997\nv -0.387905002 -0.312599987 -0.102549002\nv -0.397096008 -0.309965998 -0.086374\nv -0.40802899 -0.305456012 -0.092463002\nv -0.409262002 -0.303250015 -0.105769001\nv -0.397413999 -0.305321008 -0.120820999\nv -0.387757003 -0.309906989 -0.115947001\nv -0.396086007 -0.311886013 -0.108907998\nv -0.419905007 -0.293145001 -0.099581003\nv -0.413587004 -0.298689008 -0.087543003\nv -0.415569991 -0.297295988 -0.110638\nv -0.417335987 -0.290107012 -0.117941998\nv -0.408255011 -0.295671999 -0.124178998\nv -0.429524004 -0.285248011 -0.092243001\nv -0.428862005 -0.286341012 -0.109452002\nv -0.437615007 -0.276459008 -0.099108003\nv -0.435202003 -0.274830997 -0.117043003\nv -0.425213009 -0.280369997 -0.124577999\nv -0.443843007 -0.270936996 -0.110930003\nv -0.446437001 -0.261514992 -0.118588999\nv -0.437673986 -0.267084002 -0.125709996\nv -0.463921994 -0.246397004 -0.108994998\nv -0.456928015 -0.253996015 -0.113972999\nv -0.467620999 -0.243325993 -0.117147997\nv -0.474961013 -0.235973999 -0.112556003\nv -0.474059999 -0.231589004 -0.125209004\nv -0.490848005 -0.220605001 -0.118960001\nv -0.500579 -0.209611997 -0.121616997\nv -0.362863004 -0.299668998 -0.125591993\nv -0.316000998 -0.297764003 -0.125929996\nv -0.316404015 -0.283591986 -0.129023001\nv -0.316271007 -0.273238987 -0.131456003\nv -0.246026993 -0.154203996 -0.086475998\nv -0.247742996 -0.155006006 -0.066643998\nv -0.245159999 -0.160340995 -0.045761\nv -0.235382006 -0.169995993 -0.031697001\nv -0.225081995 -0.164804995 -0.028666999\nv -0.221594006 -0.186946005 -0.018935001\nv -0.207935005 -0.179079995 -0.020374\nv -0.211912006 -0.191058993 -0.017858\nv -0.197465003 -0.200030997 -0.022799\nv -0.191020995 -0.191430002 -0.022865999\nv -0.182733998 -0.209916994 -0.030924\nv -0.172203004 -0.216775998 -0.039402999\nv -0.165717006 -0.221525997 -0.048579998\nv -0.162119001 -0.224102005 -0.062031001\nv -0.161809996 -0.218958005 -0.081624001\nv -0.166369006 -0.213329002 -0.097875997\nv -0.173927993 -0.204978004 -0.11045\nv -0.183714002 -0.196449995 -0.119029\nv -0.194789007 -0.189392 -0.123124003\nv -0.201666996 -0.180353001 -0.124567002\nv -0.213168994 -0.171856999 -0.123478003\nv -0.225320995 -0.164214 -0.114110999\nv -0.235955998 -0.159088999 -0.103175998\nv -0.242910996 -0.158147007 -0.097382002\nv -0.144866005 -0.204515994 -0.201379001\nv -0.161335006 -0.231885999 -0.221343994\nv -0.15817 -0.240732998 -0.213615999\nv -0.141508996 -0.212917 -0.193672001\nv -0.173545003 -0.251255989 -0.236708999\nv -0.179103002 -0.265013009 -0.239318997\nv -0.176999003 -0.27621901 -0.236137003\nv -0.149424002 -0.250452012 -0.207623005\nv -0.132369995 -0.220791996 -0.187665999\nv -0.129186004 -0.262800992 -0.204311997\nv -0.115323998 -0.231161997 -0.186104\nv -0.167509004 -0.289251 -0.237036005\nv -0.161932006 -0.30557999 -0.244400993\nv -0.132901996 -0.289727986 -0.219525993\nv -0.114802003 -0.277390003 -0.205886006\nv -0.111250997 -0.266889006 -0.197137997\nv -0.097981997 -0.251482993 -0.188355997\nv -0.095550001 -0.234484002 -0.184439003\nv -0.083353996 -0.246576995 -0.190511003\nv -0.207890004 -0.286168009 -0.352768987\nv -0.212513 -0.295488 -0.35324499\nv -0.229934007 -0.293388993 -0.361853004\nv -0.224057004 -0.285950005 -0.360637009\nv -0.227312997 -0.302569002 -0.357724011\nv -0.236488 -0.307922006 -0.362242997\nv -0.245364994 -0.296014011 -0.366611987\nv -0.248287007 -0.279123008 -0.369632006\nv -0.238130003 -0.265639991 -0.367662013\nv -0.133043006 -0.255769998 -0.315784991\nv -0.170525998 -0.267648011 -0.334001988\nv -0.178498998 -0.258569002 -0.327751011\nv -0.139261007 -0.247088 -0.311515003\nv -0.194655001 -0.272103012 -0.347328007\nv -0.205483004 -0.270022005 -0.350937009\nv -0.232242003 -0.258219004 -0.362684995\nv -0.224616006 -0.249158993 -0.349712014\nv -0.228407994 -0.241999999 -0.336782992\nv -0.187958002 -0.249447003 -0.31299001\nv -0.163451999 -0.234503999 -0.292764992\nv -0.153878003 -0.239659995 -0.303425014\nv -0.138135001 -0.235226005 -0.301694989\nv -0.197438002 -0.247883007 -0.297594011\nv -0.173638001 -0.235209003 -0.277119011\nv -0.235010996 -0.2403 -0.323897004\nv -0.242862999 -0.244058996 -0.312810004\nv -0.204071999 -0.253526002 -0.282315999\nv -0.180983007 -0.240888 -0.261215001\nv -0.204991996 -0.26602301 -0.267904997\nv -0.182037994 -0.250652999 -0.249778003\nv -0.25040099 -0.253273994 -0.305278987\nv -0.26839 -0.261891991 -0.310431987\nv -0.212827995 -0.280431986 -0.268036008\nv -0.213000998 -0.293579012 -0.272195011\nv -0.262715012 -0.275207996 -0.30972901\nv -0.263814002 -0.284267008 -0.316991001\nv -0.208110005 -0.305819988 -0.278322011\nv -0.200754002 -0.317512989 -0.284357995\nv -0.155298993 -0.316870004 -0.250532001\nv -0.264014989 -0.291164011 -0.324463993\nv -0.269540012 -0.306685001 -0.335067987\nv -0.244828999 -0.313190013 -0.316347003\nv -0.228272006 -0.320369989 -0.306423992\nv -0.203513995 -0.328381985 -0.291552007\nv -0.190463006 -0.32742101 -0.282678008\nv -0.184375003 -0.322658002 -0.277031988\nv -0.165347993 -0.326839 -0.270271003\nv -0.159933001 -0.332466006 -0.256038994\nv -0.138227001 -0.330523014 -0.250501007\nv -0.300265998 -0.236303002 -0.390273988\nv -0.286857992 -0.224420995 -0.38657099\nv -0.345990002 -0.195121005 -0.409985989\nv -0.327217996 -0.201093003 -0.402850002\nv -0.285661012 -0.213868007 -0.377743989\nv -0.34296599 -0.184166998 -0.409271002\nv -0.347395986 -0.176511005 -0.401874989\nv -0.287995011 -0.208669007 -0.368521005\nv -0.292670995 -0.207409993 -0.35926199\nv -0.353895992 -0.176485002 -0.391099006\nv -0.298788995 -0.210140005 -0.351577997\nv -0.305447012 -0.216907993 -0.347077996\nv -0.363011986 -0.185047001 -0.385578007\nv -0.315174013 -0.219284996 -0.348596007\nv -0.330502003 -0.208838001 -0.358963013\nv -0.321392 -0.217400998 -0.351635009\nv -0.330457985 -0.209028006 -0.359023988\nv -0.317196012 -0.223637998 -0.349281996\nv -0.313706011 -0.233561993 -0.349577993\nv -0.358619004 -0.200496003 -0.392049015\nv -0.315963 -0.239491001 -0.356252015\nv -0.319772005 -0.242882997 -0.366272986\nv -0.360210001 -0.191504002 -0.399585992\nv -0.348995 -0.207119003 -0.389171004\nv -0.339394003 -0.218474001 -0.380641013\nv -0.338456988 -0.218263 -0.389492989\nv -0.331815004 -0.227955997 -0.382156998\nv -0.326747 -0.235935003 -0.375896007\nv -0.300114006 -0.274062008 -0.355347008\nv -0.303860992 -0.263808995 -0.355405003\nv -0.313282996 -0.251341999 -0.368643999\nv -0.29152 -0.280898005 -0.350263\nv -0.294506997 -0.275644988 -0.348933995\nv -0.282965004 -0.290942013 -0.343677998\nv -0.263013005 -0.278394014 -0.374177009\nv -0.30925101 -0.231066003 -0.393225014\nv -0.257485986 -0.285638005 -0.370853007\nv -0.273811996 -0.267315 -0.378807992\nv -0.271488011 -0.271037012 -0.376798004\nv -0.284384996 -0.256274015 -0.383130014\nv -0.286734015 -0.258457005 -0.382250994\nv -0.294420004 -0.245350003 -0.387432009\nv -0.304228991 -0.243718997 -0.388475001\nv -0.324912012 -0.225131005 -0.393123001\nv -0.319083005 -0.219926 -0.397567987\nv -0.331016988 -0.213135004 -0.400534987\nv -0.325942993 -0.212744996 -0.400467992\nv -0.339744985 -0.204953998 -0.403317988\nv -0.332390994 -0.206214994 -0.402996004\nv -0.34672001 -0.193241999 -0.408084005\nv -0.338304996 -0.199873 -0.405452013\nv -0.353819996 -0.187579006 -0.410297006\nv -0.314936996 -0.223409995 -0.396086991\nv -0.412550986 -0.180967003 -0.442265987\nv -0.386391997 -0.171146005 -0.427477002\nv -0.379974008 -0.181955993 -0.425318003\nv -0.393842995 -0.169754997 -0.418392003\nv -0.418644011 -0.183173999 -0.431627005\nv -0.395043999 -0.177388996 -0.41059199\nv -0.410535008 -0.182898998 -0.434119999\nv -0.385412991 -0.186570004 -0.419853002\nv -0.396465003 -0.182220995 -0.430480987\nv -0.376367003 -0.187700003 -0.41504401\nv -0.368876994 -0.189199001 -0.403095007\nv -0.366398007 -0.188348994 -0.412461013\nv -0.421294987 -0.202217996 -0.446476996\nv -0.42693001 -0.200979993 -0.451568991\nv -0.424827009 -0.222828999 -0.453756005\nv -0.427605003 -0.224278003 -0.45718199\nv -0.429497004 -0.225178003 -0.452089012\nv -0.428608 -0.202785999 -0.443583995\nv -0.419634998 -0.241823003 -0.458043009\nv -0.40712899 -0.253158987 -0.456048012\nv -0.408170998 -0.255246013 -0.452086985\nv -0.421797007 -0.243836001 -0.453503996\nv -0.408556998 -0.251044005 -0.45263499\nv -0.420379996 -0.240476996 -0.453682989\nv -0.392100006 -0.251682997 -0.449380994\nv -0.391122997 -0.255017996 -0.449342996\nv -0.378049999 -0.248908997 -0.443708003\nv -0.392289013 -0.254034013 -0.446738988\nv -0.123268999 -0.212417006 -0.290969014\nv -0.108593002 -0.212569997 -0.294966996\nv -0.111088999 -0.180782005 -0.278079003\nv -0.097498 -0.184045002 -0.283089995\nv -0.084787004 -0.180317998 -0.282308012\nv -0.081449002 -0.193556994 -0.285625011\nv -0.104599997 -0.224333003 -0.299331009\nv -0.152094007 -0.184573993 -0.225672007\nv -0.164783999 -0.213361993 -0.241661996\nv -0.164835006 -0.222156003 -0.229863003\nv -0.150207996 -0.194323003 -0.211539999\nv -0.135333002 -0.208486006 -0.285659999\nv -0.123071998 -0.177662998 -0.273449004\nv -0.146201998 -0.205286995 -0.276071995\nv -0.133847997 -0.174677998 -0.263516009\nv -0.157296002 -0.207325995 -0.259236008\nv -0.145080999 -0.177503005 -0.245294005\nv -0.092644997 -0.245535001 -0.294135004\nv -0.094696 -0.261447012 -0.294887006\nv -0.105319999 -0.27788499 -0.299982995\nv -0.105502002 -0.260325015 -0.300949991\nv -0.092179999 -0.274542004 -0.290493995\nv -0.096302003 -0.292145997 -0.296310008\nv -0.110422 -0.308687001 -0.299582005\nv -0.126800001 -0.29331401 -0.311190009\nv -0.128865004 -0.279273003 -0.313903987\nv -0.040931001 -0.236671999 -0.253935993\nv -0.040550001 -0.233473003 -0.265246004\nv -0.048379999 -0.228968993 -0.254476011\nv -0.045324001 -0.230519995 -0.274203002\nv -0.051955 -0.231858 -0.283663988\nv -0.060369998 -0.227295995 -0.279231995\nv -0.068663999 -0.234869003 -0.287822008\nv -0.057675 -0.238969997 -0.291341007\nv -0.064437002 -0.246759996 -0.295044988\nv -0.074968003 -0.244510993 -0.291628987\nv -0.082471997 -0.251691014 -0.291859001\nv -0.069063999 -0.256601006 -0.294488013\nv -0.081968002 -0.263473988 -0.287831992\nv -0.071649 -0.266707003 -0.290217012\nv -0.073747002 -0.275582999 -0.283300996\nv -0.082491003 -0.271912009 -0.280429006\nv -0.071585998 -0.281085998 -0.273575991\nv -0.084445 -0.281491011 -0.269854009\nv -0.075565003 -0.279376 -0.257045001\nv -0.066690996 -0.282460988 -0.263767004\nv -0.067247003 -0.259609997 -0.277709991\nv -0.059959002 -0.251911998 -0.278777987\nv -0.069150001 -0.269302011 -0.270273\nv -0.056681 -0.260574013 -0.271315008\nv -0.051259 -0.249763995 -0.256902009\nv -0.051252998 -0.256844014 -0.263534009\nv -0.051128 -0.248206005 -0.267921001\nv -0.054319002 -0.260527015 -0.259263992\nv -0.060702 -0.265219986 -0.269446999\nv -0.063009001 -0.268813998 -0.239213005\nv -0.067886002 -0.275029987 -0.246787995\nv -0.061900999 -0.281049013 -0.253087014\nv -0.053853001 -0.274073988 -0.247913003\nv -0.048744999 -0.26583901 -0.243184999\nv -0.043370001 -0.256498992 -0.243740007\nv -0.052053999 -0.248117 -0.240961\nv -0.041106001 -0.245342001 -0.246592\nv -0.083800003 -0.291574001 -0.245434999\nv -0.066138998 -0.274758011 -0.229729995\nv -0.048097 -0.239085004 -0.231618002\nv -0.060040001 -0.260529995 -0.218403995\nv -0.057128999 -0.258340001 -0.234919995\nv -0.048411001 -0.234042004 -0.242769003\nv -0.065678 -0.205200002 -0.277934998\nv -0.056400999 -0.213038996 -0.270399004\nv -0.070257999 -0.224574998 -0.282445014\nv -0.083737999 -0.225476995 -0.289139003\nv -0.079400003 -0.237822995 -0.289609998\nv -0.062405001 -0.251733005 -0.208891004\nv -0.115120001 -0.29560101 -0.222902998\nv -0.113008998 -0.284465998 -0.214530006\nv -0.128921002 -0.309749007 -0.231914997\nv -0.057512 -0.273766011 -0.217285007\nv -0.056857001 -0.26701501 -0.208560005\nv -0.062587 -0.281973004 -0.222773999\nv -0.070796996 -0.289523005 -0.225126997\nv -0.074730001 -0.283580989 -0.233867005\nv -0.080972001 -0.294393986 -0.225389004\nv -0.084491 -0.288069993 -0.234145999\nv -0.091041997 -0.296487987 -0.222029999\nv -0.099229999 -0.292825013 -0.229929999\nv -0.099403001 -0.295372009 -0.215803996\nv -0.105535001 -0.288949013 -0.223008007\nv -0.107182004 -0.291173011 -0.208697006\nv -0.110937998 -0.284895003 -0.199922994\nv -0.110597998 -0.276802987 -0.192065999\nv -0.106922001 -0.260627002 -0.190925002\nv -0.104451999 -0.269775003 -0.186101004\nv -0.087304004 -0.282341003 -0.211343005\nv -0.087108001 -0.274688989 -0.198791996\nv -0.094907999 -0.275047004 -0.199086994\nv -0.073237002 -0.265222996 -0.204651996\nv -0.078484997 -0.272170007 -0.200372994\nv -0.073971003 -0.274753988 -0.209497005\nv -0.080260001 -0.265969992 -0.197423995\nv -0.091415003 -0.266286999 -0.196202993\nv -0.060036 -0.260185987 -0.199967995\nv -0.066854998 -0.256837994 -0.191370994\nv -0.075983003 -0.255748987 -0.185491994\nv -0.086161003 -0.257656991 -0.182321995\nv -0.095936 -0.263292998 -0.182494998\nv -0.071424 -0.247517005 -0.197695002\nv -0.072534002 -0.280918986 -0.235497996\nv -0.088904999 -0.286388993 -0.287712991\nv -0.082924999 -0.293255001 -0.289999008\nv -0.091393001 -0.299964011 -0.299129009\nv -0.100479998 -0.310775012 -0.300590008\nv -0.104672998 -0.321159989 -0.29281199\nv -0.114914 -0.320580006 -0.288805991\nv -0.106073 -0.327073991 -0.282288998\nv -0.109159 -0.323031992 -0.267942011\nv -0.100861996 -0.326855004 -0.268572003\nv -0.096435003 -0.321404994 -0.260140985\nv -0.096464001 -0.312465012 -0.285089999\nv -0.089507997 -0.308786005 -0.273799986\nv -0.096248999 -0.315876991 -0.27313\nv -0.089686997 -0.302938014 -0.284289002\nv -0.078400999 -0.293327987 -0.274509013\nv -0.082705997 -0.305491 -0.259842008\nv -0.089936003 -0.302971005 -0.254961997\nv -0.090476997 -0.31517899 -0.256642997\nv -0.085079998 -0.293888003 -0.260968\nv -0.118946001 -0.32822299 -0.272574991\nv -0.099141002 -0.311176986 -0.257389009\nv -0.124852002 -0.310202986 -0.220497996\nv -0.112034999 -0.305213004 -0.219319001\nv -0.131725997 -0.328047007 -0.240482002\nv -0.122725002 -0.328117996 -0.257299989\nv -0.122028001 -0.333521992 -0.249649003\nv -0.111212 -0.331440985 -0.254440993\nv -0.097420998 -0.322479993 -0.25267601\nv -0.106524996 -0.321839988 -0.260603994\nv -0.110342003 -0.322317004 -0.245835006\nv -0.117032997 -0.322057009 -0.238163993\nv -0.113540001 -0.313802987 -0.230289996\nv -0.130485997 -0.316877991 -0.224243\nv -0.096740998 -0.304033011 -0.228936002\nv -0.092349999 -0.309269011 -0.237455994\nv -0.104116999 -0.313798994 -0.238545999\nv -0.093330003 -0.305783987 -0.248545006\nv -0.095380001 -0.299670994 -0.238363996\nv -0.132726997 -0.322921991 -0.230740994\nv -0.132740006 -0.336167991 -0.260235995\nv -0.165053993 -0.333804011 -0.269134015\nv -0.161963001 -0.332861006 -0.279217988\nv -0.140897006 -0.328126013 -0.286336988\nv -0.147011995 -0.336591989 -0.285232008\nv -0.153516993 -0.329686999 -0.285142988\nv -0.146336004 -0.335561007 -0.251157999\nv -0.138260007 -0.338137001 -0.281109005\nv -0.131750003 -0.333115995 -0.274904996\nv -0.149808004 -0.336142004 -0.271003008\nv -0.147202 -0.336290002 -0.261682004\nv -0.130123004 -0.330139995 -0.287122011\nv -0.158488005 -0.326516002 -0.295453012\nv -0.116898999 -0.315616995 -0.307334006\nv -0.127449006 -0.316307008 -0.318751991\nv -0.125743002 -0.309592992 -0.312577009\nv -0.139363006 -0.310510993 -0.315820009\nv -0.141144007 -0.319487989 -0.318177015\nv -0.147428006 -0.324037999 -0.311637014\nv -0.143913001 -0.333209008 -0.297926009\nv -0.149122 -0.324667007 -0.297639996\nv -0.122254997 -0.330864012 -0.291830987\nv -0.135345995 -0.323760986 -0.309437007\nv -0.126681 -0.321341008 -0.308548987\nv -0.114546999 -0.323031008 -0.300956994\nv -0.126917005 -0.326425999 -0.299807996\nv -0.158357993 -0.317400008 -0.329185992\nv -0.157372996 -0.309423 -0.325129002\nv -0.149268001 -0.318185002 -0.321972013\nv -0.170049995 -0.316204011 -0.327764004\nv -0.169903994 -0.331357986 -0.305851996\nv -0.178560004 -0.327215999 -0.305958003\nv -0.178738996 -0.319348007 -0.319781989\nv -0.162171006 -0.323498994 -0.318670005\nv -0.153667003 -0.329658985 -0.304785013\nv -0.161332995 -0.334670991 -0.289499015\nv -0.167429 -0.332691997 -0.300532997\nv -0.179241002 -0.332304001 -0.287925988\nv -0.188566998 -0.327924997 -0.297251999\nv -0.176874995 -0.33347401 -0.27313\nv -0.216411993 -0.326481998 -0.308499992\nv -0.215931997 -0.325159013 -0.298734009\nv -0.216692999 -0.322149992 -0.317263007\nv -0.202111006 -0.326153994 -0.317369014\nv -0.193707004 -0.327737987 -0.306208014\nv -0.212816998 -0.320475012 -0.328166008\nv -0.183164999 -0.313122988 -0.340128988\nv -0.204558 -0.318580002 -0.335013986\nv -0.196397007 -0.308571994 -0.342546999\nv -0.202384993 -0.322351992 -0.326375008\nv -0.190363005 -0.319860995 -0.330502987\nv -0.180167004 -0.304957986 -0.336160988\nv -0.099284001 -0.235177994 -0.298144996\nv -0.128978997 -0.265082002 -0.315288007\nv -0.076318003 -0.202267006 -0.284471989\nv -0.203309 -0.277965993 -0.352196991\nv -0.218288004 -0.278654993 -0.359448999\nv -0.227524996 -0.321657985 -0.331667006\nv -0.239903003 -0.320291013 -0.313722998\nv -0.24007 -0.316612005 -0.33030501\nv -0.229644001 -0.32230401 -0.31546399\nv -0.207799003 -0.311113 -0.349660993\nv -0.227883995 -0.312528014 -0.348526001\nv -0.217014998 -0.304953992 -0.352661014\nv -0.214104995 -0.318177015 -0.338939011\nv -0.258179009 -0.315019011 -0.34148401\nv -0.252144009 -0.315544009 -0.32436201\nv -0.261179 -0.315429986 -0.332130998\nv -0.245554999 -0.316184014 -0.343542993\nv -0.261222005 -0.308824986 -0.354016989\nv -0.250977993 -0.313755006 -0.351222008\nv -0.249439001 -0.308340013 -0.360671014\nv -0.239710003 -0.313048989 -0.353877008\nv -0.275595993 -0.299578011 -0.349130988\nv -0.26888299 -0.298907995 -0.356718987\nv -0.251883 -0.300691009 -0.367906004\nv -0.268215001 -0.292777002 -0.367314994\nv -0.28373 -0.278649986 -0.370160997\nv -0.278789997 -0.292861998 -0.359418988\nv -0.266663015 -0.286190003 -0.374790996\nv -0.296712011 -0.268303007 -0.371591002\nv -0.306017011 -0.260006994 -0.363177001\nv -0.281677991 -0.270839006 -0.379709005\nv -0.303034008 -0.256684989 -0.377021015\nv -0.314895988 -0.238142997 -0.38715601\nv -0.324357986 -0.233124003 -0.387230992\nv -0.342305988 -0.210929006 -0.396706998\nv -0.170222998 -0.301288992 -0.332286\nv -0.169550002 -0.286906004 -0.334093988\nv -0.168596998 -0.276392996 -0.335391015\nv -0.124031998 -0.155557007 -0.255697995\nv -0.133662 -0.159009993 -0.236642003\nv -0.139532 -0.168145001 -0.215259001\nv -0.134979993 -0.180944994 -0.198192\nv -0.128462002 -0.193351001 -0.186780006\nv -0.128435999 -0.201305002 -0.182363003\nv -0.117962003 -0.205283001 -0.176981002\nv -0.102658004 -0.212785006 -0.176660001\nv -0.086080998 -0.221044004 -0.179450005\nv -0.071787 -0.227295995 -0.183403\nv -0.061019 -0.232197002 -0.189513996\nv -0.055018 -0.236405 -0.19878\nv -0.047442 -0.231557995 -0.205456004\nv -0.041081998 -0.224897996 -0.221571997\nv -0.037390001 -0.216279 -0.239906996\nv -0.037813999 -0.205551997 -0.253237993\nv -0.043232001 -0.195984006 -0.263283998\nv -0.054522 -0.190840006 -0.271759987\nv -0.060380001 -0.178299993 -0.273665994\nv -0.074547999 -0.170001 -0.276733994\nv -0.091364004 -0.162952006 -0.273047\nv -0.106918998 -0.158953995 -0.26769799\nv -0.117303997 -0.159805 -0.265780985\nv 0.066353001 -0.200239003 -0.346879989\nv 0.070851997 -0.231098995 -0.367168009\nv 0.064957999 -0.238803998 -0.359825999\nv 0.060612999 -0.207865 -0.336703002\nv 0.075203001 -0.252400994 -0.384128004\nv 0.072910003 -0.266393989 -0.389218986\nv 0.070028 -0.277056992 -0.384965003\nv 0.063346997 -0.247602001 -0.348562986\nv 0.058998 -0.216692001 -0.32465899\nv 0.069707997 -0.259355992 -0.328702003\nv 0.065227002 -0.227322996 -0.308622986\nv 0.074243002 -0.290077001 -0.376397014\nv 0.081491999 -0.307249993 -0.374273002\nv 0.077500001 -0.288112015 -0.337796003\nv 0.076872997 -0.274002999 -0.316199005\nv 0.072557002 -0.262401998 -0.309403002\nv 0.073473997 -0.246112004 -0.295359999\nv 0.073491998 -0.230325997 -0.291480005\nv 0.084944002 -0.242322996 -0.283073992\nv 0.151216 -0.302872002 -0.470979005\nv 0.148121998 -0.312175989 -0.474489987\nv 0.146346003 -0.311953008 -0.49347499\nv 0.149430007 -0.303752005 -0.488849998\nv 0.140567005 -0.316145986 -0.512265027\nv 0.146193996 -0.29549399 -0.512907028\nv 0.141048998 -0.326373011 -0.492808998\nv 0.162640005 -0.267607987 -0.390233994\nv 0.157048002 -0.281911999 -0.430754989\nv 0.148649007 -0.272076011 -0.434971988\nv 0.156784996 -0.258433014 -0.393952012\nv 0.155167997 -0.288177013 -0.457899988\nv 0.152794003 -0.286624014 -0.469150007\nv 0.150085002 -0.276571006 -0.498898\nv 0.144164994 -0.26581499 -0.486337006\nv 0.132091001 -0.256963015 -0.483392\nv 0.132292002 -0.261038005 -0.436051011\nv 0.129755005 -0.243441001 -0.405773014\nv 0.143168002 -0.249991 -0.402758986\nv 0.150453001 -0.245340005 -0.388765991\nv 0.114513002 -0.25740099 -0.436271012\nv 0.111134 -0.242017999 -0.406300008\nv 0.117951997 -0.253531009 -0.482468992\nv 0.104048997 -0.255751997 -0.483146995\nv 0.097488999 -0.260915995 -0.433602989\nv 0.093206003 -0.245483994 -0.403912008\nv 0.083393998 -0.271329999 -0.426016986\nv 0.081868 -0.253598988 -0.398178995\nv 0.092681997 -0.263864011 -0.485004008\nv 0.086630002 -0.273128986 -0.502380013\nv 0.077742003 -0.285634011 -0.431719005\nv 0.079643004 -0.299225003 -0.433066994\nv 0.087465003 -0.286217004 -0.496212989\nv 0.091975003 -0.29618299 -0.500253022\nv 0.085960001 -0.312180996 -0.431183994\nv 0.093552999 -0.324577987 -0.427192003\nv 0.088832997 -0.319261998 -0.370974988\nv 0.097383 -0.304035991 -0.503795028\nv 0.099243999 -0.320571005 -0.509294987\nv 0.097928002 -0.324838012 -0.481231987\nv 0.096564002 -0.328837007 -0.460509986\nv 0.097788997 -0.336273998 -0.431255996\nv 0.098148003 -0.329526991 -0.418769002\nv 0.094117001 -0.332325995 -0.406839013\nv 0.097998999 -0.336308002 -0.388339996\nv 0.089064002 -0.334592015 -0.375907987\nv 0.096257001 -0.333164006 -0.355623007\nv 0.140341997 -0.258718997 -0.572757006\nv 0.140937999 -0.225592002 -0.604797006\nv 0.145490006 -0.245245993 -0.559759021\nv 0.135878995 -0.217014998 -0.628039002\nv 0.139991999 -0.234763995 -0.555446029\nv 0.140081003 -0.209721997 -0.622772992\nv 0.131839007 -0.200729996 -0.623260021\nv 0.131584004 -0.228358001 -0.553035975\nv 0.121464998 -0.225853994 -0.552317977\nv 0.119566001 -0.199531004 -0.62322998\nv 0.111460999 -0.227518007 -0.553354979\nv 0.103396997 -0.233618006 -0.556208014\nv 0.109499998 -0.207438007 -0.627511024\nv 0.099316999 -0.236193001 -0.565113008\nv 0.101263002 -0.227280006 -0.584303975\nv 0.098848999 -0.234750003 -0.572122991\nv 0.101315998 -0.227476999 -0.584285021\nv 0.098336004 -0.240602002 -0.566874981\nv 0.099262998 -0.250468999 -0.563335001\nv 0.115487002 -0.223617002 -0.626017988\nv 0.103033997 -0.257256001 -0.568283975\nv 0.109554 -0.26196599 -0.577260971\nv 0.121251002 -0.215766996 -0.632439017\nv 0.118596002 -0.225399002 -0.621406972\nv 0.114974998 -0.233805999 -0.609263003\nv 0.117183998 -0.231384993 -0.61521399\nv 0.113805003 -0.239795998 -0.602410972\nv 0.116866998 -0.237691 -0.608295023\nv 0.114081003 -0.251960993 -0.592073977\nv 0.118286997 -0.259213001 -0.585089982\nv 0.115234002 -0.269986987 -0.572413981\nv 0.112274997 -0.277797997 -0.563079\nv 0.108847998 -0.285149992 -0.556665003\nv 0.105916999 -0.294919997 -0.542393982\nv 0.109127 -0.312566996 -0.526750982\nv 0.102008 -0.301943004 -0.532095015\nv 0.139826998 -0.30519399 -0.526367009\nv 0.139657006 -0.257784992 -0.57634902\nv 0.139997005 -0.291249007 -0.538729012\nv 0.139880002 -0.277749985 -0.554005027\nv 0.139954001 -0.267284989 -0.565645993\nv 0.138955995 -0.270395994 -0.566094995\nv 0.136566997 -0.260939002 -0.580311\nv 0.136545002 -0.244562 -0.596445978\nv 0.138555005 -0.243515998 -0.593761027\nv 0.136095002 -0.235130996 -0.609422982\nv 0.138245001 -0.236808002 -0.601631999\nv 0.136691004 -0.225843996 -0.615476012\nv 0.139069006 -0.246760994 -0.589208007\nv 0.132338002 -0.211308002 -0.699048996\nv 0.13425 -0.199367002 -0.670161009\nv 0.132842004 -0.211641997 -0.663326979\nv 0.122841999 -0.196759999 -0.671907008\nv 0.119875997 -0.211641997 -0.69937402\nv 0.114712 -0.203226 -0.668354988\nv 0.124442004 -0.213603005 -0.692242026\nv 0.122691996 -0.212456003 -0.666227996\nv 0.127002001 -0.211604998 -0.680815995\nv 0.131099001 -0.213613003 -0.642566979\nv 0.132575005 -0.254963994 -0.714868009\nv 0.127675995 -0.256522 -0.716521978\nv 0.127878994 -0.232403994 -0.715184987\nv 0.123225003 -0.233060002 -0.709370971\nv 0.128406003 -0.254110008 -0.712027013\nv 0.131541997 -0.232517004 -0.708091974\nv 0.134481996 -0.273182988 -0.709052026\nv 0.137688994 -0.285885006 -0.696345985\nv 0.130917996 -0.276259989 -0.709327996\nv 0.133065999 -0.285427988 -0.695273995\nv 0.129162997 -0.27344799 -0.707983017\nv 0.136981994 -0.282492995 -0.696788013\nv 0.143747002 -0.278795004 -0.666258991\nv 0.138619006 -0.284842998 -0.679112017\nv 0.141564995 -0.285086006 -0.679838002\nv 0.140520006 -0.282222986 -0.680522978\nv 0.151805997 -0.221259996 -0.372195005\nv 0.162839994 -0.221937001 -0.361743987\nv 0.152465001 -0.190194994 -0.356097996\nv 0.162558004 -0.194595993 -0.348684996\nv 0.166536003 -0.189611003 -0.340867996\nv 0.170956001 -0.202236995 -0.338481009\nv 0.167253003 -0.234180003 -0.359748006\nv 0.083222002 -0.186408997 -0.364161015\nv 0.088348001 -0.215526 -0.381974995\nv 0.077339999 -0.222626999 -0.375268996\nv 0.072499998 -0.193213999 -0.357313991\nv 0.141469002 -0.216658995 -0.380012989\nv 0.140707999 -0.184634998 -0.364093989\nv 0.128058001 -0.212196007 -0.384543002\nv 0.125069007 -0.180877998 -0.369419008\nv 0.107802004 -0.211933002 -0.385132015\nv 0.103326 -0.181883007 -0.368818998\nv 0.166666999 -0.25445801 -0.345328987\nv 0.164389998 -0.270327002 -0.346313\nv 0.161237001 -0.287321001 -0.35681501\nv 0.163988993 -0.270056993 -0.358745009\nv 0.160482004 -0.282696009 -0.340943009\nv 0.160993993 -0.30152601 -0.346785992\nv 0.154658005 -0.317770004 -0.358763993\nv 0.157684997 -0.304163992 -0.379808992\nv 0.160520002 -0.290627986 -0.383994013\nv 0.158261001 -0.232611001 -0.288242996\nv 0.175972 -0.236043006 -0.295989007\nv 0.180326998 -0.239289001 -0.306419998\nv 0.183295995 -0.247584999 -0.314514011\nv 0.175109997 -0.242998004 -0.322393\nv 0.182024002 -0.255760998 -0.321648985\nv 0.173914 -0.253077 -0.329039007\nv 0.178310007 -0.265641004 -0.324308008\nv 0.169459999 -0.260215014 -0.334973007\nv 0.171981007 -0.274949998 -0.323888987\nv 0.164602995 -0.271290988 -0.331842005\nv 0.164074004 -0.282312006 -0.320463002\nv 0.157353997 -0.278703004 -0.327663004\nv 0.156195998 -0.287039012 -0.314222991\nv 0.146293998 -0.286752999 -0.323157012\nv 0.140365005 -0.282898009 -0.309107006\nv 0.149719998 -0.287111014 -0.305032998\nv 0.163337007 -0.267325014 -0.313454986\nv 0.169765994 -0.260113001 -0.308425993\nv 0.156808004 -0.274089009 -0.310258001\nv 0.164465994 -0.266193002 -0.301766008\nv 0.155987993 -0.255012989 -0.290879995\nv 0.161164999 -0.261427999 -0.293379992\nv 0.166306004 -0.253711998 -0.296400011\nv 0.156479001 -0.264164001 -0.292989999\nv 0.161329001 -0.270769 -0.306033999\nv 0.156204998 -0.249938995 -0.276564002\nv 0.148782998 -0.258475989 -0.276042998\nv 0.161633998 -0.240704998 -0.280750006\nv 0.144746006 -0.276270002 -0.286336988\nv 0.142802998 -0.267230004 -0.279882014\nv 0.144527003 -0.283760011 -0.295231014\nv 0.133093998 -0.269982994 -0.289936006\nv 0.136222005 -0.277182013 -0.297565013\nv 0.142692 -0.249703005 -0.283004999\nv 0.150722995 -0.242874995 -0.281809986\nv 0.171118006 -0.238414004 -0.286682993\nv 0.124844 -0.293408006 -0.309228003\nv 0.122791 -0.274565995 -0.287510008\nv 0.137915999 -0.239475995 -0.275447994\nv 0.118084997 -0.25889799 -0.277359009\nv 0.133754998 -0.25901401 -0.283459991\nv 0.147751004 -0.236001998 -0.281857014\nv 0.169989005 -0.213704005 -0.319114\nv 0.169140995 -0.220275998 -0.308537006\nv 0.170926005 -0.232069001 -0.321714014\nv 0.169424996 -0.233894005 -0.336605012\nv 0.170663998 -0.246182993 -0.332255989\nv 0.110053003 -0.249344006 -0.275139004\nv 0.110665999 -0.240079999 -0.271306992\nv 0.096022002 -0.243247002 -0.277218014\nv 0.089368001 -0.293879986 -0.32357201\nv 0.084292002 -0.282191008 -0.318634003\nv 0.087729 -0.30963099 -0.339367002\nv 0.110729001 -0.263889998 -0.269035995\nv 0.117388003 -0.271632999 -0.273622006\nv 0.118147999 -0.280441999 -0.280447006\nv 0.122442998 -0.282449007 -0.29558599\nv 0.115645997 -0.288410991 -0.288347989\nv 0.109683 -0.293289006 -0.296824008\nv 0.115355 -0.288397998 -0.304224998\nv 0.100752003 -0.294791996 -0.302983999\nv 0.104342997 -0.293677002 -0.314388007\nv 0.094462998 -0.288738996 -0.315557986\nv 0.081616998 -0.28807199 -0.310395986\nv 0.073043004 -0.280701995 -0.308739007\nv 0.067492999 -0.271537006 -0.305474997\nv 0.070297003 -0.255344987 -0.302949995\nv 0.066458002 -0.263745993 -0.297681987\nv 0.086576998 -0.275215 -0.300787002\nv 0.095562004 -0.280267 -0.294896007\nv 0.079529002 -0.269513994 -0.301321\nv 0.085294999 -0.269706011 -0.288955003\nv 0.098973997 -0.261723995 -0.281015009\nv 0.091812998 -0.268029004 -0.282766998\nv 0.101245001 -0.272724003 -0.283944994\nv 0.088353999 -0.262531012 -0.284298003\nv 0.082209997 -0.261651009 -0.292055011\nv 0.083264001 -0.271757007 -0.295258999\nv 0.091077 -0.293397993 -0.306784987\nv 0.102945 -0.255436003 -0.267630994\nv 0.082511999 -0.249163002 -0.274163008\nv 0.074233003 -0.251199007 -0.281013995\nv 0.068616003 -0.256819993 -0.289025992\nv 0.091665998 -0.252487987 -0.269295007\nv 0.158058003 -0.293765008 -0.335197002\nv 0.162797004 -0.301064014 -0.331510991\nv 0.165280998 -0.308373988 -0.342253\nv 0.160455003 -0.319815993 -0.350942999\nv 0.149735004 -0.329634994 -0.34928301\nv 0.141343996 -0.327675998 -0.354757994\nv 0.140419006 -0.333521008 -0.344437003\nv 0.129959002 -0.330350995 -0.336935014\nv 0.139118999 -0.32200101 -0.333573997\nv 0.147973999 -0.318720996 -0.334710002\nv 0.152423993 -0.308824986 -0.332060993\nv 0.153431997 -0.298902988 -0.320546001\nv 0.128565997 -0.318486005 -0.319049001\nv 0.140071005 -0.302543014 -0.315820009\nv 0.129930004 -0.308061987 -0.317234993\nv 0.126654997 -0.324840993 -0.325574011\nv 0.141895995 -0.31171 -0.325670987\nv 0.125147 -0.333467007 -0.350582987\nv 0.124650002 -0.31448099 -0.327073008\nv 0.086461 -0.302644998 -0.318675995\nv 0.080324002 -0.308486998 -0.330190986\nv 0.118695997 -0.329194009 -0.3389\nv 0.109030999 -0.335296988 -0.337945014\nv 0.106959 -0.331454009 -0.347406\nv 0.090898998 -0.328119993 -0.345407993\nv 0.123548001 -0.323628008 -0.332228005\nv 0.118231997 -0.330123991 -0.327663004\nv 0.10531 -0.321952999 -0.327033013\nv 0.095694996 -0.322335988 -0.33277899\nv 0.083103001 -0.321960986 -0.342027992\nv 0.079673 -0.315562993 -0.336295009\nv 0.120251 -0.321227014 -0.318605989\nv 0.117362 -0.311269999 -0.314249009\nv 0.103389002 -0.304057986 -0.310543001\nv 0.093832999 -0.313704014 -0.324934006\nv 0.105278 -0.313344985 -0.320865005\nv 0.107387997 -0.340047002 -0.355670989\nv 0.090209 -0.338171005 -0.364672005\nv 0.121046998 -0.343905002 -0.375638992\nv 0.107924998 -0.339038014 -0.390457004\nv 0.117527001 -0.336564988 -0.386492014\nv 0.125140995 -0.335370988 -0.37618801\nv 0.100865997 -0.339762986 -0.377357006\nv 0.109512001 -0.341387004 -0.375303\nv 0.099407002 -0.339340001 -0.368034005\nv 0.118717 -0.340626001 -0.361393005\nv 0.130505994 -0.336203992 -0.367561013\nv 0.124109 -0.334757 -0.395877004\nv 0.159694999 -0.329288989 -0.370101988\nv 0.157747999 -0.320681006 -0.377579004\nv 0.154216006 -0.322766989 -0.36630401\nv 0.161414996 -0.327078015 -0.383307993\nv 0.140544996 -0.335047007 -0.394692987\nv 0.131775007 -0.34167999 -0.385109007\nv 0.130943 -0.333406001 -0.389542997\nv 0.132605001 -0.342642993 -0.375907004\nv 0.139198005 -0.339222997 -0.363712996\nv 0.153674006 -0.325291008 -0.392080992\nv 0.145265996 -0.335251004 -0.382530987\nv 0.144281 -0.335920006 -0.371358007\nv 0.150727004 -0.332650006 -0.361631006\nv 0.152080998 -0.331811994 -0.375685006\nv 0.148043007 -0.331487 -0.422646999\nv 0.150649995 -0.317799002 -0.425296992\nv 0.153890997 -0.33002001 -0.414131999\nv 0.151784003 -0.329558998 -0.402709991\nv 0.137079 -0.33316499 -0.427329987\nv 0.137348995 -0.336944997 -0.413008988\nv 0.123345003 -0.337137997 -0.416034997\nv 0.145263001 -0.334066987 -0.40783\nv 0.1303 -0.341360003 -0.400936991\nv 0.096280001 -0.338510007 -0.416579008\nv 0.108432002 -0.334755003 -0.423393995\nv 0.115996003 -0.340440989 -0.42028901\nv 0.123035997 -0.341719002 -0.403742999\nv 0.115707003 -0.341910005 -0.394158006\nv 0.096478 -0.338800013 -0.397071004\nv 0.106531002 -0.339210987 -0.411080003\nv 0.117077 -0.338319004 -0.432920992\nv 0.100396 -0.335144013 -0.451047003\nv 0.114748999 -0.335296988 -0.450760007\nv 0.094567999 -0.335292011 -0.442963004\nv 0.125801995 -0.33593899 -0.446420014\nv 0.120474003 -0.334212989 -0.458478004\nv 0.141660005 -0.331261009 -0.440715998\nv 0.141914994 -0.327877998 -0.455401987\nv 0.150353 -0.327894986 -0.445434988\nv 0.146883994 -0.328951001 -0.432981014\nv 0.128663003 -0.335819989 -0.434127003\nv 0.167778999 -0.244755 -0.353816986\nv 0.163268998 -0.276758999 -0.385836989\nv 0.170867994 -0.210730001 -0.330220997\nv 0.154075995 -0.294661999 -0.467373013\nv 0.152287006 -0.296355009 -0.483846009\nv 0.150351003 -0.284610003 -0.505957007\nv 0.095895998 -0.329533011 -0.47340101\nv 0.101594999 -0.332558006 -0.480138987\nv 0.110062003 -0.329470009 -0.483469993\nv 0.120309003 -0.334571987 -0.473500013\nv 0.107496001 -0.334333003 -0.469303012\nv 0.122838996 -0.331155986 -0.489298999\nv 0.135491997 -0.330482006 -0.480868995\nv 0.142129004 -0.32189101 -0.479846001\nv 0.145187005 -0.325480014 -0.470270008\nv 0.134011999 -0.332053989 -0.465707988\nv 0.133619994 -0.327971995 -0.486220002\nv 0.117787004 -0.331849009 -0.498365015\nv 0.100832 -0.327461004 -0.490350008\nv 0.102714002 -0.328693002 -0.503564\nv 0.108773001 -0.33050701 -0.493719995\nv 0.114111997 -0.326368988 -0.513514996\nv 0.128643006 -0.329705 -0.506549001\nv 0.138969004 -0.326983988 -0.504616022\nv 0.132512003 -0.323377013 -0.511852026\nv 0.122583002 -0.323318005 -0.515635014\nv 0.116975002 -0.318316996 -0.525488973\nv 0.103207 -0.320944011 -0.517718017\nv 0.128756002 -0.312555999 -0.527965009\nv 0.122354001 -0.303526014 -0.540259004\nv 0.112383001 -0.302879989 -0.542497993\nv 0.104524001 -0.305352002 -0.536692977\nv 0.137528002 -0.299598008 -0.537957013\nv 0.123158 -0.290302992 -0.555415988\nv 0.133728996 -0.280443996 -0.560054004\nv 0.138120994 -0.289310992 -0.549390972\nv 0.131902993 -0.296070009 -0.546649992\nv 0.124480002 -0.277413011 -0.567258\nv 0.124825999 -0.266983002 -0.578534007\nv 0.132469997 -0.268996 -0.572705984\nv 0.126087993 -0.246751994 -0.598626971\nv 0.125149995 -0.254696995 -0.591988981\nv 0.135114998 -0.251599997 -0.590936005\nv 0.115001999 -0.244708002 -0.601141989\nv 0.127241999 -0.237171993 -0.611424029\nv 0.125973001 -0.228726998 -0.619017005\nv 0.155410007 -0.301001996 -0.428573996\nv 0.158218995 -0.290762991 -0.429196\nv 0.152955994 -0.173296005 -0.344749987\nv 0.138044998 -0.166474 -0.352364004\nv 0.118657999 -0.163060993 -0.357454985\nv 0.096515998 -0.166603997 -0.353413999\nv 0.078135997 -0.173503995 -0.346841007\nv 0.070037 -0.180159003 -0.34434101\nv 0.065647997 -0.184168994 -0.332460999\nv 0.060947001 -0.192883 -0.318717003\nv 0.059773002 -0.203508005 -0.304419011\nv 0.065963998 -0.213255003 -0.290881991\nv 0.074891001 -0.221660003 -0.28086099\nv 0.081924997 -0.228257999 -0.277112991\nv 0.089899004 -0.228239998 -0.271198004\nv 0.104702003 -0.230064005 -0.266389012\nv 0.123026997 -0.23037 -0.26593399\nv 0.141565993 -0.225801006 -0.273084998\nv 0.156662002 -0.219445005 -0.284406006\nv 0.164802 -0.212143004 -0.297452003\nv 0.169315994 -0.199074998 -0.307906985\nv 0.172683999 -0.191493005 -0.317900002\nv 0.170717001 -0.184717 -0.326772988\nv 0.163901001 -0.180163994 -0.337884009\nv 0.316870987 -0.196719006 -0.344271004\nv 0.336930007 -0.223708004 -0.363584012\nv 0.328078002 -0.231990993 -0.362562001\nv 0.308025986 -0.204732999 -0.343659997\nv 0.351857007 -0.242942005 -0.376529992\nv 0.353864014 -0.256094009 -0.383598\nv 0.349418998 -0.267062992 -0.383432001\nv 0.320152998 -0.242024004 -0.355973989\nv 0.299751997 -0.213163003 -0.335913986\nv 0.313181013 -0.256384999 -0.338135004\nv 0.294541001 -0.225620002 -0.320122004\nv 0.347900003 -0.281203002 -0.375788003\nv 0.352959007 -0.298804998 -0.371717006\nv 0.326186001 -0.28412199 -0.343780994\nv 0.311899006 -0.272908986 -0.326326013\nv 0.303449988 -0.261891007 -0.321862012\nv 0.294667006 -0.247497007 -0.308477998\nv 0.289880008 -0.231218994 -0.300595999\nv 0.295471996 -0.245330006 -0.291729003\nv 0.291119993 -0.236059994 -0.286128998\nv 0.300725013 -0.247831002 -0.279771\nv 0.467595994 -0.285645008 -0.40200901\nv 0.467788011 -0.29430601 -0.407788008\nv 0.478686988 -0.290980995 -0.423667014\nv 0.477430999 -0.284253001 -0.416996986\nv 0.473650992 -0.29983899 -0.423000008\nv 0.475405991 -0.306172013 -0.428893\nv 0.485096991 -0.292149007 -0.438674986\nv 0.489318013 -0.271124005 -0.434783995\nv 0.424416006 -0.261058003 -0.328355014\nv 0.446049005 -0.270038009 -0.364814013\nv 0.441722989 -0.259406 -0.372115999\nv 0.421788007 -0.251251996 -0.333761007\nv 0.461849988 -0.272846997 -0.387663007\nv 0.466975987 -0.269825995 -0.397623986\nv 0.483054996 -0.256099999 -0.420998991\nv 0.470115989 -0.246715993 -0.413713992\nv 0.458489001 -0.237776995 -0.417921007\nv 0.429185003 -0.247621 -0.381835014\nv 0.407492995 -0.233769998 -0.357950985\nv 0.41633299 -0.241212994 -0.348035008\nv 0.413044006 -0.238630995 -0.332127988\nv 0.415322989 -0.243219003 -0.392690003\nv 0.393263996 -0.231488004 -0.369839996\nv 0.446754009 -0.233873993 -0.425642014\nv 0.436450005 -0.235392004 -0.435140014\nv 0.400550008 -0.246292993 -0.401722997\nv 0.377959013 -0.234440997 -0.379649013\nv 0.385277003 -0.256936997 -0.405979007\nv 0.36589399 -0.242697999 -0.383325011\nv 0.429113001 -0.242715999 -0.444678009\nv 0.435680002 -0.249513999 -0.462983012\nv 0.385064989 -0.270177007 -0.415659994\nv 0.387977988 -0.283571005 -0.417171001\nv 0.433036 -0.263282001 -0.459313005\nv 0.439507991 -0.272864997 -0.460821003\nv 0.392277986 -0.296921015 -0.413352013\nv 0.396227002 -0.310030997 -0.407041997\nv 0.357129991 -0.311437011 -0.366052002\nv 0.446276009 -0.280451 -0.461124986\nv 0.451882988 -0.296252996 -0.466219008\nv 0.428943992 -0.308804005 -0.442701995\nv 0.421182007 -0.310786009 -0.433310986\nv 0.402274996 -0.319880992 -0.411013991\nv 0.394050986 -0.316554993 -0.398108006\nv 0.38055101 -0.325414002 -0.385224015\nv 0.379806012 -0.326451004 -0.374734998\nv 0.36737299 -0.326496989 -0.374700993\nv 0.352432996 -0.325112998 -0.347761005\nv 0.520932972 -0.228936002 -0.481794\nv 0.540021002 -0.192193002 -0.502040982\nv 0.516220987 -0.217390999 -0.466912001\nv 0.549764991 -0.185132995 -0.518603027\nv 0.508786976 -0.207287997 -0.465748996\nv 0.549920022 -0.174219996 -0.514478981\nv 0.543883979 -0.165312007 -0.518620014\nv 0.500454009 -0.200866997 -0.468371987\nv 0.492018014 -0.198034003 -0.473847985\nv 0.534066021 -0.163301006 -0.526230991\nv 0.484950006 -0.199123994 -0.481112987\nv 0.480720997 -0.204474002 -0.489104986\nv 0.528931975 -0.170098007 -0.536957979\nv 0.483231008 -0.205761001 -0.498831987\nv 0.496374995 -0.194657996 -0.511303008\nv 0.487192005 -0.203452006 -0.50434798\nv 0.496412009 -0.194858 -0.511278987\nv 0.483761013 -0.209874004 -0.501344025\nv 0.482694 -0.220130995 -0.499244004\nv 0.533379972 -0.186489001 -0.534079015\nv 0.489021987 -0.226418003 -0.501527011\nv 0.499736995 -0.231143996 -0.504410982\nv 0.539404988 -0.178377002 -0.534310997\nv 0.527149975 -0.192814007 -0.525821984\nv 0.535385013 -0.187772006 -0.529210985\nv 0.522957981 -0.198667005 -0.522740006\nv 0.533895016 -0.192735001 -0.526080012\nv 0.520062029 -0.204714 -0.519554019\nv 0.51750499 -0.214791998 -0.513755023\nv 0.510001004 -0.225702003 -0.507333994\nv 0.493683994 -0.250937015 -0.492042989\nv 0.484405994 -0.251827002 -0.493065\nv 0.475201994 -0.266332 -0.484762013\nv 0.464376003 -0.281531006 -0.476045996\nv 0.49643001 -0.273375988 -0.452757001\nv 0.524459004 -0.224583 -0.488799989\nv 0.491777986 -0.280853987 -0.448691994\nv 0.501034021 -0.264966995 -0.459941\nv 0.50980401 -0.249989003 -0.469873995\nv 0.516550004 -0.238282993 -0.477609009\nv 0.516569972 -0.237335995 -0.484975994\nv 0.529062986 -0.215055004 -0.503051996\nv 0.532033026 -0.211212993 -0.497227997\nv 0.536679029 -0.202875003 -0.503551006\nv 0.541410983 -0.196719006 -0.510390997\nv 0.546334982 -0.186185002 -0.520381987\nv 0.544106007 -0.189879 -0.512489021\nv 0.551958978 -0.17633 -0.525651991\nv 0.529722989 -0.215010002 -0.493797004\nv 0.591580987 -0.166071996 -0.578405023\nv 0.574598014 -0.157900006 -0.553357005\nv 0.570986986 -0.168843001 -0.549278975\nv 0.569575012 -0.153899997 -0.559692025\nv 0.580991983 -0.166543007 -0.586117983\nv 0.559449017 -0.160243005 -0.564306021\nv 0.583253026 -0.166474998 -0.575689018\nv 0.562228978 -0.171614006 -0.555779994\nv 0.572622001 -0.167790994 -0.570576012\nv 0.578711987 -0.168478996 -0.569287002\nv 0.569185019 -0.168616995 -0.567043006\nv 0.572461009 -0.170379996 -0.560607016\nv 0.551117003 -0.174410999 -0.546010017\nv 0.551248014 -0.176870003 -0.53719002\nv 0.565122008 -0.171213001 -0.540772974\nv 0.562834978 -0.173537999 -0.543155015\nv 0.581269979 -0.166719005 -0.563017011\nv 0.594002008 -0.186288998 -0.59029001\nv 0.601378024 -0.184939995 -0.593120992\nv 0.603402019 -0.207378 -0.595480025\nv 0.602100015 -0.208880007 -0.600426018\nv 0.595848024 -0.185080007 -0.598079026\nv 0.598073006 -0.207579002 -0.598509014\nv 0.602384984 -0.226269007 -0.592127979\nv 0.599852026 -0.229203001 -0.595019996\nv 0.597527027 -0.239776999 -0.581951976\nv 0.593038976 -0.240042999 -0.584016025\nv 0.597450018 -0.226488993 -0.594769001\nv 0.594874978 -0.236558005 -0.583321989\nv 0.589066029 -0.238995999 -0.567772985\nv 0.590152979 -0.241942003 -0.566700995\nv 0.581076026 -0.237268999 -0.549763978\nv 0.587311983 -0.241899997 -0.567942977\nv 0.402680993 -0.216840997 -0.315571994\nv 0.40475899 -0.219270006 -0.300698996\nv 0.390767008 -0.184899002 -0.295417011\nv 0.392986 -0.190101996 -0.281709999\nv 0.389180005 -0.186359003 -0.265439987\nv 0.393096 -0.200528994 -0.268909991\nv 0.407476008 -0.231845006 -0.297897995\nv 0.345328003 -0.177483007 -0.343641013\nv 0.359147012 -0.207211003 -0.36212799\nv 0.346684992 -0.214597002 -0.36472401\nv 0.329441994 -0.186425999 -0.345912993\nv 0.39932701 -0.210874006 -0.327500999\nv 0.388318002 -0.180102006 -0.308672011\nv 0.391528994 -0.205313995 -0.338838995\nv 0.380284995 -0.174427003 -0.318767995\nv 0.376114994 -0.204105005 -0.351940989\nv 0.364115 -0.173519 -0.332507998\nv 0.398871005 -0.253690004 -0.289642006\nv 0.398400992 -0.269205987 -0.293767989\nv 0.403257012 -0.284633994 -0.305909991\nv 0.405860007 -0.267399013 -0.303559989\nv 0.392531991 -0.281958014 -0.293592989\nv 0.397421986 -0.299724996 -0.300094992\nv 0.40389201 -0.316358 -0.319644988\nv 0.415614009 -0.29836601 -0.327903986\nv 0.419854999 -0.284554988 -0.327695012\nv 0.355643004 -0.238652006 -0.248265997\nv 0.374365985 -0.242115006 -0.243584007\nv 0.38449201 -0.244003996 -0.249268994\nv 0.392230004 -0.251367986 -0.254658997\nv 0.390590012 -0.245499998 -0.265289992\nv 0.396099001 -0.258747011 -0.261694014\nv 0.394255012 -0.254628986 -0.272390991\nv 0.394214004 -0.262165993 -0.279592007\nv 0.394757986 -0.268182993 -0.266636997\nv 0.389788985 -0.271862 -0.282380015\nv 0.390132993 -0.276879996 -0.271708012\nv 0.38271001 -0.284285009 -0.276214004\nv 0.381610006 -0.279489994 -0.284835011\nv 0.372615993 -0.289418995 -0.276665986\nv 0.370525986 -0.287544012 -0.289274007\nv 0.356947988 -0.285185009 -0.281693012\nv 0.362179011 -0.290069997 -0.272626013\nv 0.366053998 -0.267273992 -0.254923999\nv 0.370586008 -0.274787009 -0.265509993\nv 0.378199011 -0.263588011 -0.259831011\nv 0.356472999 -0.259021014 -0.253713012\nv 0.367792994 -0.257788002 -0.252110004\nv 0.360165 -0.271082014 -0.259131998\nv 0.351155996 -0.288121998 -0.268925995\nv 0.345672995 -0.281691998 -0.260630012\nv 0.338726014 -0.274410993 -0.269899994\nv 0.346248001 -0.28075099 -0.274697989\nv 0.341416001 -0.265249997 -0.247969002\nv 0.340658009 -0.256083995 -0.255863994\nv 0.340831995 -0.273624986 -0.255140007\nv 0.346487999 -0.256417006 -0.242641002\nv 0.346190989 -0.249290004 -0.249286994\nv 0.354375005 -0.248335004 -0.241091996\nv 0.365025014 -0.245533004 -0.239739001\nv 0.345393986 -0.294919014 -0.292789012\nv 0.329382986 -0.278806001 -0.275041997\nv 0.33208999 -0.246143997 -0.251989007\nv 0.318563998 -0.264358997 -0.268189013\nv 0.334710985 -0.264355987 -0.263155997\nv 0.343609005 -0.242340997 -0.250342011\nv 0.382865012 -0.212938994 -0.256399989\nv 0.373180985 -0.221113995 -0.248583004\nv 0.386433989 -0.234565005 -0.266048014\nv 0.394665986 -0.234487996 -0.278679997\nv 0.393440992 -0.247259006 -0.276059002\nv 0.310487986 -0.254790008 -0.270372003\nv 0.308131993 -0.246246994 -0.26236999\nv 0.326795995 -0.292107999 -0.326117992\nv 0.322333992 -0.285275996 -0.331182986\nv 0.336066008 -0.305709004 -0.341221005\nv 0.316204011 -0.277435005 -0.26749301\nv 0.307482988 -0.270545006 -0.267426997\nv 0.320652992 -0.285757005 -0.273375005\nv 0.334508985 -0.285618991 -0.282444\nv 0.32494399 -0.292122006 -0.281854987\nv 0.326003999 -0.295754999 -0.292663991\nv 0.334656 -0.290152997 -0.294263005\nv 0.32388401 -0.296177 -0.303564996\nv 0.332410008 -0.293437988 -0.309967995\nv 0.325132996 -0.288702995 -0.316192001\nv 0.311646014 -0.287824988 -0.319536\nv 0.31923601 -0.28104201 -0.323594004\nv 0.304605007 -0.279891014 -0.32378599\nv 0.297625989 -0.270898998 -0.323531002\nv 0.297345012 -0.255585015 -0.317443013\nv 0.291422009 -0.264393985 -0.316817999\nv 0.310770005 -0.277204007 -0.308198005\nv 0.312896997 -0.282003999 -0.298395008\nv 0.304127008 -0.270233989 -0.312142998\nv 0.303862005 -0.276432008 -0.29874599\nv 0.306102991 -0.265969008 -0.283389002\nv 0.302011997 -0.271564007 -0.289981991\nv 0.309928 -0.277067989 -0.286287993\nv 0.300370008 -0.267111003 -0.292100996\nv 0.303195 -0.273414999 -0.305550992\nv 0.300215989 -0.26561901 -0.301369011\nv 0.317467004 -0.293767005 -0.311975986\nv 0.287384003 -0.258679986 -0.307951987\nv 0.28648299 -0.255492985 -0.297271013\nv 0.292860001 -0.258038998 -0.278055012\nv 0.28847599 -0.253679007 -0.286859006\nv 0.300684988 -0.261317015 -0.269731998\nv 0.388276011 -0.293751001 -0.292317003\nv 0.390177011 -0.301308006 -0.287321001\nv 0.396822989 -0.306571007 -0.292495996\nv 0.400348991 -0.311177999 -0.299448997\nv 0.39734301 -0.320501 -0.309610009\nv 0.381278008 -0.330992013 -0.314797997\nv 0.387153 -0.325610012 -0.324561\nv 0.389647007 -0.327396989 -0.314521015\nv 0.368835002 -0.33039099 -0.312083989\nv 0.367920011 -0.325197011 -0.319530994\nv 0.358397007 -0.32416299 -0.308091998\nv 0.381776005 -0.318199992 -0.301993012\nv 0.372202992 -0.320273012 -0.304242998\nv 0.38319999 -0.309534997 -0.295561999\nv 0.371091992 -0.31111899 -0.296097994\nv 0.374864995 -0.299611986 -0.284067988\nv 0.361268997 -0.303265005 -0.289876997\nv 0.355123997 -0.318574011 -0.301344007\nv 0.356334001 -0.311670005 -0.295255989\nv 0.373252988 -0.329589993 -0.329351991\nv 0.357327014 -0.313621014 -0.30923301\nv 0.323736995 -0.301946998 -0.318805993\nv 0.324229985 -0.302877992 -0.336212993\nv 0.345941991 -0.32900399 -0.34275499\nv 0.335597992 -0.319483012 -0.347263992\nv 0.34512201 -0.319700003 -0.348356992\nv 0.356700987 -0.327156007 -0.337947994\nv 0.360406011 -0.327753991 -0.329696\nv 0.352391005 -0.332183987 -0.330731004\nv 0.360424995 -0.323119015 -0.317001998\nv 0.354770005 -0.330419004 -0.318455011\nv 0.346736014 -0.322333008 -0.323487014\nv 0.337404013 -0.313437015 -0.318883002\nv 0.339657992 -0.319828004 -0.332318008\nv 0.337511003 -0.310950994 -0.304421991\nv 0.330707014 -0.303927988 -0.307696015\nv 0.331858993 -0.311111987 -0.327924997\nv 0.328355998 -0.311479986 -0.344547987\nv 0.349132001 -0.321114987 -0.306064993\nv 0.345710009 -0.306143999 -0.303961009\nv 0.363687992 -0.330487013 -0.342862993\nv 0.359245002 -0.326563001 -0.370732993\nv 0.355017006 -0.330868006 -0.363110989\nv 0.356694013 -0.334354997 -0.351702988\nv 0.388547003 -0.328294009 -0.349635005\nv 0.385648012 -0.337118 -0.351767987\nv 0.388601005 -0.332639992 -0.362621993\nv 0.372213989 -0.332603008 -0.363132\nv 0.363380015 -0.331721991 -0.367873996\nv 0.37529999 -0.334942013 -0.342671007\nv 0.37174201 -0.334708989 -0.353038013\nv 0.389512002 -0.332590014 -0.336993009\nv 0.400887012 -0.325305015 -0.365029007\nv 0.400229007 -0.325302988 -0.355677009\nv 0.412236989 -0.324252009 -0.322151005\nv 0.414813995 -0.315560013 -0.32703799\nv 0.421806008 -0.320964992 -0.331409007\nv 0.408351988 -0.330772012 -0.354689002\nv 0.416909009 -0.324773997 -0.350470006\nv 0.398602992 -0.334475011 -0.350427985\nv 0.42067799 -0.314808011 -0.342215002\nv 0.394237995 -0.333420008 -0.328139007\nv 0.399468988 -0.327205986 -0.321761996\nv 0.405654997 -0.329571992 -0.343203992\nv 0.409743011 -0.326425999 -0.332720995\nv 0.400541991 -0.329625994 -0.334724993\nv 0.435638011 -0.319826007 -0.362105012\nv 0.42957601 -0.314855009 -0.354898989\nv 0.426059991 -0.323105007 -0.352618992\nv 0.435122997 -0.311583012 -0.370288998\nv 0.431012988 -0.320351005 -0.379413009\nv 0.409348994 -0.331070989 -0.360390991\nv 0.417295009 -0.327151 -0.36391601\nv 0.409197986 -0.330747008 -0.372938007\nv 0.414110005 -0.32309401 -0.382569999\nv 0.398387015 -0.325046003 -0.399006009\nv 0.384746999 -0.324856013 -0.395047009\nv 0.406711012 -0.323004991 -0.393886\nv 0.406581014 -0.331248999 -0.374381006\nv 0.402280003 -0.328016013 -0.384716004\nv 0.393159002 -0.329026997 -0.380760014\nv 0.397828996 -0.332253009 -0.370620996\nv 0.426845998 -0.319067001 -0.415868014\nv 0.42782101 -0.320183009 -0.399468988\nv 0.419620007 -0.324227005 -0.397803009\nv 0.416027009 -0.321996003 -0.408282012\nv 0.414315999 -0.318165004 -0.422122002\nv 0.432698011 -0.315250009 -0.417816997\nv 0.450645 -0.314619988 -0.400844991\nv 0.456048995 -0.304533005 -0.396311998\nv 0.447869003 -0.312101007 -0.381747007\nv 0.438156009 -0.319483995 -0.404484987\nv 0.439173013 -0.318677008 -0.392033994\nv 0.404628992 -0.243077993 -0.294295013\nv 0.422549009 -0.270696998 -0.325695992\nv 0.391106009 -0.210045993 -0.266627014\nv 0.467209995 -0.27806899 -0.396436006\nv 0.476202995 -0.277653992 -0.410450011\nv 0.488029003 -0.263217986 -0.427251995\nv 0.445385993 -0.315230995 -0.433046013\nv 0.442714006 -0.308945 -0.442645013\nv 0.432974994 -0.315153003 -0.431791008\nv 0.440232992 -0.317952007 -0.423352003\nv 0.424576014 -0.315048993 -0.425202012\nv 0.452794999 -0.309154987 -0.44015801\nv 0.462096989 -0.308378994 -0.427870989\nv 0.466554999 -0.303283989 -0.413419008\nv 0.463784993 -0.308876991 -0.408100992\nv 0.453871012 -0.312649012 -0.428121001\nv 0.452822 -0.314188004 -0.41288501\nv 0.442873001 -0.317093998 -0.414200008\nv 0.448899001 -0.303977996 -0.460179001\nv 0.459008008 -0.306629986 -0.457673013\nv 0.441428989 -0.305373996 -0.451629996\nv 0.451155007 -0.309091985 -0.449295998\nv 0.462098986 -0.309368998 -0.446319997\nv 0.467601001 -0.301764011 -0.460247993\nv 0.478042006 -0.30340299 -0.44452101\nv 0.467164993 -0.308959007 -0.437305987\nv 0.475567013 -0.297165006 -0.460599989\nv 0.472959012 -0.289716989 -0.470454007\nv 0.460617006 -0.294324011 -0.470811993\nv 0.480159014 -0.282281995 -0.475317001\nv 0.486414999 -0.297632009 -0.446148008\nv 0.486180991 -0.286803007 -0.457650006\nv 0.471565992 -0.279967993 -0.480791986\nv 0.483850986 -0.270951986 -0.482365996\nv 0.487307996 -0.284855992 -0.467545986\nv 0.490805 -0.272772014 -0.473724008\nv 0.497393996 -0.27125001 -0.467610002\nv 0.494428009 -0.282287002 -0.457352012\nv 0.483022004 -0.26207301 -0.491149008\nv 0.499543011 -0.260760009 -0.483150005\nv 0.506747007 -0.250918001 -0.483058006\nv 0.505605996 -0.262216985 -0.470562994\nv 0.507176995 -0.245523006 -0.49060601\nv 0.499545991 -0.240342006 -0.498690993\nv 0.51097399 -0.235807002 -0.496706009\nv 0.51483202 -0.245352998 -0.477629989\nv 0.518710017 -0.222130001 -0.505925\nv 0.529232979 -0.206430003 -0.515367985\nv 0.441202998 -0.303065002 -0.369345009\nv 0.444234014 -0.289162993 -0.366495997\nv 0.446366996 -0.279056013 -0.363963991\nv 0.372756988 -0.153281003 -0.292003006\nv 0.357504994 -0.152179003 -0.305058986\nv 0.33771801 -0.158133999 -0.318668991\nv 0.315955997 -0.171977997 -0.322627008\nv 0.299044997 -0.186482996 -0.323457003\nv 0.293814987 -0.194425002 -0.327681988\nv 0.284974992 -0.199751005 -0.316459\nv 0.279816985 -0.210076004 -0.299975008\nv 0.278878987 -0.220682994 -0.281628996\nv 0.282698989 -0.226852998 -0.264822006\nv 0.289986998 -0.231411994 -0.253197998\nv 0.299454987 -0.237186 -0.25040099\nv 0.304740012 -0.232703 -0.237278998\nv 0.319400012 -0.226432994 -0.227293998\nv 0.337365001 -0.217913002 -0.221359998\nv 0.352566004 -0.206679001 -0.220393002\nv 0.365426987 -0.197264999 -0.225751996\nv 0.37637201 -0.194202006 -0.238798007\nv 0.375710011 -0.181158006 -0.234230995\nv 0.379523993 -0.173463002 -0.243544996\nv 0.380401999 -0.165551007 -0.257450014\nv 0.380293995 -0.160137996 -0.273671001\nv 0.380915999 -0.160609007 -0.289707989\nv 0.047853999 -0.080852002 -0.000239\nv 0.221938998 -0.099890001 -0.000268\nvt 0.608664989 1\nvt 0.673852026 1\nvt 0.674499989 0.234641001\nvt 0.616488993 0.235754997\nvt 0.739040017 1\nvt 0.751384974 0.232869998\nvt 0.725793004 0.467090011\nvt 0.675146997 0.469283015\nvt 0.62450099 0.471475989\nvt 0.241563007 0\nvt 0.276156992 0.275438011\nvt 0.224264994 0.340516001\nvt 0.179865003 0.27474001\nvt 0.282839 0.493346989\nvt 0.220528007 0.50869\nvt 0.167188004 0.488436997\nvt 0.64160502 0\nvt 0.707524002 0\nvt 0.69799298 0.25\nvt 0.631280005 0.25\nvt 0.773442984 0\nvt 0.783577979 0.237499997\nvt 0.77264899 0.463764995\nvt 0.689978004 0.467563987\nvt 0.623778999 0.469316989\nvt 0.763226986 0.738838017\nvt 0.759374976 0.867559016\nvt 0.677690983 0.870254993\nvt 0.681437016 0.742882013\nvt 0.614085019 0.877269983\nvt 0.616787016 0.753404975\nvt 0 0\nvt 0.227886006 0\nvt 0.228487998 0.031222001\nvt 0 0\nvt 0 0.455772012\nvt 0.456975996 0.062444001\nvt 0.458180994 0.124888003\nvt 0.235969007 0.109333001\nvt 0 0\nvt 0.458243996 0.765326977\nvt 0.455071002 0.882664025\nvt 0.237201005 0.895411015\nvt 0.250247985 0.780616999\nvt 1 0.451898992\nvt 0.225950003 1\nvt 0 1\nvt 0.072186999 0.893703997\nvt 0.089106999 0.788752019\nvt 0.370781004 0\nvt 0.37607199 0.252247006\nvt 0.5 0\nvt 0.485374987 0.250562012\nvt 0.485798001 0.474225014\nvt 0.382165015 0.48179999\nvt 0.487300009 0.778400004\nvt 0.484342992 0.895399988\nvt 0.381644011 0.921202004\nvt 0.392057002 0.810504019\nvt 0.5 1\nvt 0.40369001 0.996621013\nvt 0.307379007 0.993241012\nvt 0.293356001 0.954483986\nvt 0.310894996 0.917267025\nvt 0.294281989 0.845233977\nvt 0.360913992 0.210204005\nvt 0.289783001 0.095592\nvt 0.479800999 0.230810001\nvt 0.5 0.476134002\nvt 0.39071399 0.482477993\nvt 0.281428009 0.488822997\nvt 0.285636008 0.309258014\nvt 0.263116002 0.216101006\nvt 0.290280014 0.160285994\nvt 0.263651013 0.114485003\nvt 0.120780997 0\nvt 0.863967001 0.29162699\nvt 0.758440971 0.255674988\nvt 0.009004 0.004469\nvt 0.980301023 0.238352001\nvt 0.881807983 0.437602997\nvt 0.842737019 0.456308007\nvt 0.802358985 0.481294006\nvt 0.777399004 0.488804996\nvt 0.886722028 0\nvt 0.906053007 0.200000003\nvt 0 0.25\nvt 0 0.5\nvt 0.884820998 0.456146002\nvt 0 0.772933006\nvt 0 0.88646698\nvt 0.871962011 0.874583006\nvt 0.874293983 0.749373972\nvt 0.869520009 1\nvt 0.866208017 0.229746997\nvt 0.862896979 0.459493995\nvt 0.298305005 0.236315995\nvt 0.22078 0.234457999\nvt 0.363754988 0.237597004\nvt 0.366977006 0.475203991\nvt 0.304134995 0.472631991\nvt 0.241293997 0.470059007\nvt 0.05923 0.877601981\nvt 0.057967 0.911511004\nvt 0.045286 0.880765975\nvt 0.041386001 0.842037976\nvt 0.066754997 0.936417997\nvt 0.061299 0.941676021\nvt 0.052156001 0.980735004\nvt 0 0.042052999\nvt 0 0.042052999\nvt 0.038493998 0.763083994\nvt 0.036233999 0.755675972\nvt 0.960602999 0.476705015\nvt 0.960602999 0.476705015\nvt 0.884437978 0.426789999\nvt 0.960602999 0.476705015\nvt 0.930886984 0.461957991\nvt 0.945744991 0.46933201\nvt 0.650478005 0.322802991\nvt 0.750476003 0.372428\nvt 0.655332983 0.325212985\nvt 0.390879989 0.193976998\nvt 0.398461014 0.197739005\nvt 0.394876987 0.19596\nvt 0.311296999 0.154483005\nvt 0.527831972 0.261940002\nvt 0.634422004 0.314835995\nvt 0 0.042052999\nvt 0 0.042052999\nvt 0 0.061624002\nvt 0 0.069030002\nvt 0 0.042052999\nvt 0 0.076954\nvt 0 0.093468003\nvt 0.010377 0.475847989\nvt 0.010373 0.476648986\nvt 0.011137 0.498560011\nvt 0.0111 0.494545013\nvt 0.01091 0.489515007\nvt 0.011893 0.477921009\nvt 0.011014 0.474004\nvt 0.008806 0.40555501\nvt 0.007992 0.368099988\nvt 0.008415 0.387553006\nvt 0.009444 0.43494001\nvt 0.006811 0.313686013\nvt 0.006656 0.306555003\nvt 0.006974 0.321168989\nvt 0.622309029 0.308824986\nvt 0.570344985 0.283037007\nvt 0.25514099 0.126615003\nvt 0.335067987 0.166280001\nvt 0.018448999 0.243144006\nvt 0.019714 0.308863014\nvt 0 0.335292011\nvt 0 0.256853014\nvt 0.001379 0.403957009\nvt 0 0.482360005\nvt 0 0.423512012\nvt 0 0.393270999\nvt 0 0.328081995\nvt 0 0.262201011\nvt 0.078856997 0.267233014\nvt 0.079598002 0.322398007\nvt 0.073798001 0.221122995\nvt 0.145800993 0.199654996\nvt 0.149154007 0.228042006\nvt 0.151765004 0.272929996\nvt 0.010705 0.469002008\nvt 0.010451 0.47428301\nvt 0.019262001 0.604874015\nvt 0.017821001 0.580421984\nvt 0.024336999 0.494462013\nvt 0.039186999 0.620615005\nvt 0.047219999 0.719173014\nvt 0.027186999 0.690325022\nvt 0.024389001 0.645277023\nvt 0.226614997 0.672694027\nvt 0.167631 0.653289974\nvt 0.293980986 0.681326985\nvt 0.230266005 0.799690008\nvt 0.172298998 0.771484017\nvt 0 0.096965998\nvt 0 0.096725002\nvt 0.014398 0.096078001\nvt 0.01519 0.147973001\nvt 0 0.149975002\nvt 0 0.149150997\nvt 0.057590999 0.089721002\nvt 0.060759999 0.138549998\nvt 0.100152001 0.983087003\nvt 0.148148 0.985439003\nvt 0.123418003 0.079415999\nvt 0.128003001 0.124560997\nvt 0.09894 0.960115016\nvt 0.155371994 0.962745011\nvt 0.180634007 0.900498986\nvt 0.239868 0.887018025\nvt 0.246224001 0.924373984\nvt 0.092254996 0.916640997\nvt 0.113025002 0.918600976\nvt 0.107376002 0.889469981\nvt 0.201409996 0.916146994\nvt 0.258249998 0.949527979\nvt 0.179708004 0.94679302\nvt 0.164364994 0.913242996\nvt 0.226793006 0.970552981\nvt 0.205715999 0.066684\nvt 0.208212003 0.108863004\nvt 0.215665996 0.242281005\nvt 0.214217007 0.187602997\nvt 0.208645001 0.347218007\nvt 0.135928005 0.361721009\nvt 0.188481003 0.480536014\nvt 0.095533997 0.472250015\nvt 0 0.150095999\nvt 0 0.099696003\nvt 0 0.137718007\nvt 0 0.138561994\nvt 0 0.093064003\nvt 0 0.042052999\nvt 0.028746 0.597113013\nvt 0.020128001 0.472268999\nvt 0.020609999 0.503772974\nvt 0.027883001 0.616409004\nvt 0.015562 0.53856498\nvt 0.019872 0.570410013\nvt 0.015281 0.501197994\nvt 0.013997 0.494868994\nvt 0.008498 0.387805998\nvt 0 0.294804007\nvt 0 0.276603997\nvt 0 0.213448003\nvt 0 0.274141014\nvt 0 0.271762013\nvt 0 0.215906993\nvt 0 0.203942999\nvt 0 0.199175999\nvt 0.016741 0.193255007\nvt 0.066964 0.180289999\nvt 0.137107998 0.164901003\nvt 0.213612005 0.151709005\nvt 0.10368 0.947889984\nvt 0.155935004 0.953585029\nvt 0.085920997 0.93740499\nvt 0.124920003 0.920768976\nvt 0.219677001 0.956045985\nvt 0.127579004 0.944693983\nvt 0.554332018 1\nvt 0.555728972 0.883203983\nvt 0.557142019 0.762305021\nvt 0.561028004 0.470800996\nvt 0.565425992 0.25\nvt 0.570802987 0\nvt 0.431342989 0.238867\nvt 0.516324997 0.240348995\nvt 0.5 0.480262995\nvt 0.433488011 0.477732986\nvt 0 0.380650014\nvt 0 0.338441998\nvt 0 0.30409199\nvt 0 0.331553012\nvt 0 0.311751008\nvt 0 0.287597001\nvt 0 0.258774012\nvt 0 0.41068399\nvt 0 0.392980009\nvt 0 0.375187993\nvt 0 0.420235991\nvt 0 0.395994991\nvt 0 0.369675994\nvt 0 0.211048007\nvt 0 0.143557996\nvt 0 0.203024998\nvt 0 0.148929998\nvt 0.016151 0.378758013\nvt 0.01545 0.400891989\nvt 0.010873 0.27879101\nvt 0.011152 0.306286991\nvt 0.011231 0.328900993\nvt 0.096899003 0.636341989\nvt 0.103436999 0.745434999\nvt 0.090448 0.478325993\nvt 0.085127003 0.245885\nvt 0.026846001 0.317716986\nvt 0.022213999 0.147735998\nvt 0.219220996 0.856837988\nvt 0.172295004 0.845198989\nvt 0.109016001 0.83110702\nvt 0.054774001 0.809162021\nvt 0.034956999 0.773968995\nvt 0.030582 0.702690005\nvt 0.022665 0.57249099\nvt 0.018292001 0.467207015\nvt 0.017859999 0.493526995\nvt 0.015593 0.48921901\nvt 0.014169 0.433288008\nvt 0.013001 0.461681992\nvt 0.011224 0.355778992\nvt 0.011212 0.385293007\nvt 0.011166 0.429403991\nvt 0.023737 0.019292001\nvt 0.041528001 0.024211001\nvt 0.011017 0.026054\nvt 0.003301 0.031686999\nvt 0.044946 0.032924\nvt 0.013855 0.042888999\nvt 0.004538 0.060206998\nvt 0.008446 0.093411997\nvt 0.010568 0.081106998\nvt 0.021218 0.076825999\nvt 0.00669 0.308118999\nvt 0.005627 0.259162009\nvt 0.004623 0.212919995\nvt 0.004227 0.194686994\nvt 0.004409 0.203073993\nvt 0.005044 0.110120997\nvt 0.004832 0.222526997\nvt 0.00348 0.131142005\nvt 0.149931997 0.074404001\nvt 0.202859998 0.100670002\nvt 0.241869003 0.120029002\nvt 0.132157996 0.065583996\nvt 0.158138007 0.078477003\nvt 0.231849 0.115056001\nvt 0.316069007 0.156850994\nvt 0.633958995 0.242266998\nvt 0.638698995 0.484533995\nvt 0.067744002 0.435050011\nvt 0.026494 0.470102996\nvt 0.116962999 0.231457993\nvt 0.120646998 0.462915987\nvt 0.851863027 0.440995008\nvt 0 0.388078988\nvt 0 0.435384005\nvt 0 0.467402995\nvt 0 0.450668991\nvt 0 0.301450014\nvt 0 0.353329003\nvt 0 0.393651009\nvt 0 0.328803986\nvt 0 0.393460989\nvt 0.558291018 0.236901999\nvt 0.562250018 0.47380501\nvt 0.387573987 0.485653996\nvt 0.365727007 0.485704005\nvt 0.146509007 0.483458996\nvt 0.193786994 0.479003012\nvt 0.343879014 0.485753\nvt 0.243534997 0.485980004\nvt 0.143358007 0.481236994\nvt 0.073798999 0.486364007\nvt 0.008162 0.484165013\nvt 0.021244001 0.47725901\nvt 0 0.426618993\nvt 0 0.395025015\nvt 0 0.395837009\nvt 0 0.425264001\nvt 0 0.361591995\nvt 0 0.364807993\nvt 0 0.289698005\nvt 0 0.262071013\nvt 0 0.270615011\nvt 0 0.296467006\nvt 0 0.231753007\nvt 0 0.242452994\nvt 0 0.195993006\nvt 0 0.191366002\nvt 0 0.150772005\nvt 0 0.150331005\nvt 0 0.099728003\nvt 0 0.071813002\nvt 0 0.071676001\nvt 0 0.099367999\nvt 0.001194 0.077261001\nvt 0 0.042052999\nvt 0.003166 0.149474993\nvt 0.004125 0.192344993\nvt 0.006953 0.239142999\nvt 0.006327 0.203615993\nvt 0.005101 0.236185998\nvt 0.007671 0.281280011\nvt 0.008609 0.343061\nvt 0.005776 0.267196\nvt 0.006789 0.313549995\nvt 0.008281 0.38203001\nvt 0.009481 0.401286006\nvt 0.009817 0.452261001\nvt 0.01053 0.484970003\nvt 0.010828 0.489475995\nvt 0.010406 0.461452007\nvt 0.010786 0.496746004\nvt 0.01082 0.496019006\nvt 0.009068 0.417643994\nvt 0.00831 0.38271901\nvt 0.008058 0.371102005\nvt 0.008804 0.405470997\nvt 0.00744 0.34265399\nvt 0.007202 0.331701994\nvt 0.005157 0.237490997\nvt 0.005364 0.247042\nvt 0.003934 0.181168005\nvt 0.003179 0.146412998\nvt 0.001791 0.082464002\nvt 0.000938 0.043191999\nvt 0.000831 0.038259\nvt 0.001606 0.073978998\nvt 0.017790999 0.019510999\nvt 0.020165 0.019469\nvt 0.134544998 0.066768996\nvt 0.187040001 0.092820004\nvt 0.209370002 0.103900999\nvt 0.152128994 0.075494997\nvt 0.244953007 0.121559002\nvt 0.276147008 0.137040004\nvt 0.334327012 0.165912002\nvt 0.461095989 0.228821993\nvt 0.303537011 0.150631994\nvt 0.43293801 0.214847997\nvt 0.593304992 0.294431001\nvt 0.617700994 0.306537986\nvt 0 0.461540014\nvt 0 0.472900987\nvt 0 0.478623003\nvt 0 0.479849994\nvt 0.000953 0.043907002\nvt 0.016524 0.019059001\nvt 0.001822 0.083924003\nvt 0.001833 0.082029998\nvt 0.000924 0.042562\nvt 0.015857 0.018394999\nvt 0.005434 0.250250995\nvt 0.003967 0.182699993\nvt 0.006905 0.317992002\nvt 0.007283 0.320125997\nvt 0.005824 0.250526994\nvt 0.004307 0.181171998\nvt 0.008449 0.389111012\nvt 0.007542 0.347353011\nvt 0.009229 0.425027996\nvt 0.009377 0.429834008\nvt 0.008697 0.392396003\nvt 0.00785 0.350450993\nvt 0.010411 0.482643992\nvt 0.010781 0.497321993\nvt 0.009591 0.447939008\nvt 0.009596 0.44600901\nvt 0.010382 0.481411994\nvt 0.010791 0.497810006\nvt 0.006183 0.303714991\nvt 0.00791 0.376834989\nvt 0.005018 0.254397988\nvt 0.005035 0.25308001\nvt 0.006389 0.303844988\nvt 0.007708 0.354546994\nvt 0.003225 0.178543001\nvt 0.004442 0.230021\nvt 0.002171 0.133947998\nvt 0.002259 0.137666002\nvt 0.003292 0.181459993\nvt 0.004199 0.219869003\nvt 0 0.071691997\nvt 0.000273 0.061016999\nvt 0 0.099620998\nvt 0.000001 0.099335\nvt 0 0.071445003\nvt 0.000287 0.061553001\nvt 0 0.190559998\nvt 0 0.150633007\nvt 0 0.230731994\nvt 0 0.231619999\nvt 0.000002 0.191230997\nvt 0.000003 0.149869993\nvt 0 0.259972006\nvt 0 0.288551003\nvt 0 0.290188015\nvt 0 0.261013001\nvt 0 0.396077007\nvt 0 0.361036003\nvt 0 0.430732012\nvt 0 0.431501001\nvt 0 0.397783995\nvt 0 0.361737996\nvt 0 0.485397995\nvt 0 0.482468992\nvt 0 0.486530989\nvt 0 0.486371994\nvt 0.426028013 0.211419001\nvt 0.589724004 0.292654008\nvt 0.292995006 0.145401001\nvt 0.290780991 0.144519001\nvt 0.426964998 0.212020993\nvt 0.593686998 0.294654995\nvt 0.177465007 0.088068001\nvt 0.236789003 0.117508002\nvt 0.125793993 0.062426001\nvt 0.121872 0.060513999\nvt 0.174976006 0.086970001\nvt 0.235255003 0.116933003\nvt 0 0.352551013\nvt 0 0.339051008\nvt 0 0.329775006\nvt 0 0.324678004\nvt 0 0.323716015\nvt 0 0.324817985\nvt 0 0.44226101\nvt 0 0.46953401\nvt 0 0.446925014\nvt 0 0.45549199\nvt 0 0.482217014\nvt 0 0.482825011\nvt 0 0.458018005\nvt 0 0.466892004\nvt 0 0.484908015\nvt 0 0.474620998\nvt 0 0.461434007\nvt 0 0.103375003\nvt 0 0.117720999\nvt 0 0.123195998\nvt 0 0.123948999\nvt 0 0.124127999\nvt 0.000002 0.124222003\nvt 0.014539 0.318646014\nvt 0.010262 0.247618005\nvt 0.005715 0.168679997\nvt 0.002218 0.107130997\nvt 0.001092 0.088270999\nvt 0.001149 0.090662003\nvt 0.009935 0.457563013\nvt 0.010096 0.464978993\nvt 0.010197 0.469606996\nvt 0.010266 0.47279501\nvt 0.011045 0.455334991\nvt 0.010001 0.435461015\nvt 0.009136 0.421229005\nvt 0.008826 0.415567994\nvt 0.008242 0.378843009\nvt 0.008994 0.414011002\nvt 0.011355 0.067336999\nvt 0.004404 0.088908002\nvt 0.002272 0.104618996\nvt 0.003205 0.147621006\nvt 0.002473 0.113894999\nvt 0.002522 0.116159\nvt 0.003311 0.152498007\nvt 0.003554 0.150452003\nvt 0.002712 0.115309\nvt 0.083724998 0.041549001\nvt 0.079829998 0.039616\nvt 0.070228003 0.034851\nvt 0.065141998 0.032327\nvt 0.062503003 0.031017\nvt 0.210883006 0.453220993\nvt 0.227650002 0.478680015\nvt 0.166639999 0.477901995\nvt 0.141185001 0.44848299\nvt 0.238334 0.491315007\nvt 0.181227997 0.492276013\nvt 0.160903007 0.460853994\nvt 0.114247002 0.459944993\nvt 0.078215003 0.437552989\nvt 0.361526012 0.221268997\nvt 0.312828004 0.178197995\nvt 0.254480004 0.160842001\nvt 0.31131199 0.206035003\nvt 0.234396994 0.132801995\nvt 0.191226006 0.152207002\nvt 0.200982004 0.194051996\nvt 0.231964007 0.165055007\nvt 0.291994005 0.209674001\nvt 0 0.478726\nvt 0 0.460240006\nvt 0 0.478720993\nvt 0 0.461178988\nvt 1 0\nvt 0 0.432639986\nvt 0 0.398934007\nvt 0 0.399587989\nvt 0 0.360139996\nvt 0 0.362298012\nvt 0 0.325910002\nvt 0 0.324409008\nvt 0 0.293267012\nvt 0 0.291774005\nvt 0 0.261891991\nvt 0 0.266101003\nvt 0 0.233555004\nvt 0 0.240499005\nvt 0.000002 0.220478997\nvt 0.000009 0.191036999\nvt 0.014746 0.226248994\nvt 0.013484 0.196503997\nvt 0.003317 0.172242001\nvt 0.000011 0.150768995\nvt 0.000013 0.143417001\nvt 0.000009 0.124720998\nvt 0.000013 0.165833995\nvt 0.000003 0.140586004\nvt 0.000002 0.099157996\nvt 0 0.071203001\nvt 0 0.112129003\nvt 0.000173 0.098085999\nvt 0.0003 0.062043\nvt 0.001201 0.092864998\nvt 0.001082 0.121132001\nvt 0.002101 0.162798002\nvt 0.002342 0.141259\nvt 0.003366 0.184817001\nvt 0.002994 0.200398996\nvt 0.025374999 0.251316994\nvt 0.004411 0.229135007\nvt 0.005126 0.250806987\nvt 0.007007 0.304226995\nvt 0.028793 0.310438991\nvt 0.019216999 0.383459985\nvt 0.008749 0.357535005\nvt 0.009484 0.388563007\nvt 0.009562 0.412092\nvt 0.008848 0.418404996\nvt 0.00825 0.442178994\nvt 0.009702 0.443996012\nvt 0.010353 0.480185002\nvt 0.009041 0.469372988\nvt 0.009456 0.482145011\nvt 0.010801 0.498277009\nvt 0.010333 0.475888014\nvt 0.009083 0.461259007\nvt 0.008285 0.419378012\nvt 0.009606 0.434273988\nvt 0.009277 0.394692987\nvt 0.008585 0.382930994\nvt 0.019963 0.350111991\nvt 0.009032 0.364360988\nvt 0.008356 0.323664993\nvt 0.006995 0.251278013\nvt 0.030471001 0.259481013\nvt 0.015431 0.170430005\nvt 0.005379 0.178964004\nvt 0.004374 0.140820995\nvt 0.003334 0.115239002\nvt 0.003441 0.157502994\nvt 0.001676 0.136522993\nvt 0.001955 0.080453001\nvt 0.000897 0.041315001\nvt 0.000769 0.091665998\nvt 0.013045 0.069127999\nvt 0.015284 0.017802\nvt 0.060238998 0.029894\nvt 0.051410999 0.075488999\nvt 0.09956 0.100359\nvt 0.118772998 0.059080001\nvt 0.173901007 0.086850002\nvt 0.151933998 0.114780001\nvt 0.215978995 0.108052\nvt 0.284974009 0.142290995\nvt 0.422345996 0.210142002\nvt 0.423579007 0.215756997\nvt 0.590404987 0.298182011\nvt 0.591924012 0.293882996\nvt 0.733705997 0.369300991\nvt 0.738153994 0.36631301\nvt 0.872708976 0.433086991\nvt 0.872708976 0.433086991\nvt 0.872708976 0.433086991\nvt 0.73864001 0.366555005\nvt 0.735656977 0.365074009\nvt 0.872708976 0.433086991\nvt 0.872708976 0.433086991\nvt 0.740049005 0.367253989\nvt 0.76266098 0.37847501\nvt 0.90179801 0.447522998\nvt 0 0.231830001\nvt 0 0.231115997\nvt 0.015585 0.478758007\nvt 0.000881 0.484201014\nvt 0 0.479236007\nvt 0.00022 0.484620005\nvt 0 0.485092014\nvt 0.009018 0.377499014\nvt 0.008554 0.350497991\nvt 0.004416 0.152346998\nvt 0.235365003 0.117535003\nvt 0.012887 0.863084018\nvt 0.021880001 0.774912\nvt 0.121320002 0.482724994\nvt 0.044073001 0.49516201\nvt 0.035078999 0.333332986\nvt 0.099381 0.278638989\nvt 0.389862001 0.665961027\nvt 0.487111986 0.644088984\nvt 0.558588028 0.633203983\nvt 0.619482994 0.627269983\nvt 0.684994996 0.620254993\nvt 0.766758978 0.617559016\nvt 0.876407981 0.624583006\nvt 0 0.63646698\nvt 0.035974 0.647312999\nvt 0.11169 0.652261019\nvt 0.266889006 0.645411015\nvt 0.273687989 0.481658012\nvt 0.465416998 0.5\nvt 0.46182999 0.632664025\nvt 0.461798996 0.312444001\nvt 0.257209003 0.281221986\nvt 0.030898999 0.360646993\nvt 0.016935 0.397267014\nvt 0.067737997 0.404089004\nvt 0.068120003 0.380169988\nvt 1 0\nvt 0.065612003 0.429962009\nvt 0.143619001 0.435754001\nvt 0.141958997 0.413773\nvt 0.142386004 0.393007994\nvt 0.273950011 0.524577022\nvt 0.081488997 0.296175003\nvt 0.081509002 0.271196991\nvt 0.176234007 0.342940986\nvt 0.076358996 0.326144993\nvt 0.156995997 0.347934008\nvt 0.166094005 0.323657006\nvt 0.166604996 0.302320004\nvt 0.338254005 0.451658994\nvt 0.327298999 0.437002003\nvt 0.229142994 0.424632013\nvt 0.233253002 0.442598999\nvt 0.333561987 0.425617009\nvt 0.228944004 0.407779992\nvt 0.349427998 0.399488986\nvt 0.352966011 0.38391\nvt 0.256933004 0.353011012\nvt 0.246191993 0.371897012\nvt 0.342546999 0.359405011\nvt 0.242918 0.323543996\nvt 0.657691002 0.481490999\nvt 0.462004006 0.447650999\nvt 0.434435993 0.451216996\nvt 0.462359995 0.46409899\nvt 0.480340987 0.417212993\nvt 0.453155994 0.41602999\nvt 0.472184002 0.43216601\nvt 0.142862007 0.300035\nvt 0.071447998 0.354166001\nvt 0.148246005 0.371057004\nvt 0.235744998 0.390177011\nvt 0.332807004 0.411276996\nvt 0.438293993 0.434105992\nvt 0 0.451281995\nvt 0.057052001 0.461827993\nvt 0.238187999 0.463544995\nvt 0.334845006 0.468246013\nvt 0.429291993 0.475317001\nvt 0.524700999 0.483512998\nvt 0.071092002 0.258148998\nvt 0.058974002 0.243610993\nvt 0.149593994 0.288015008\nvt 0.129972994 0.271771014\nvt 0.053895 0.214160994\nvt 0.052310001 0.188473001\nvt 0.122653998 0.244617\nvt 0.120913997 0.221689999\nvt 0.276214987 0.481063992\nvt 0.081033997 0.249541998\nvt 0.08941 0.275795013\nvt 0.176598996 0.259916008\nvt 0.069732003 0.236159995\nvt 0.146643996 0.268124014\nvt 0.164927006 0.283158004\nvt 0.177956 0.307812989\nvt 0.029352 0.208893001\nvt 0.012855 0.212050006\nvt 0.047359001 0.200954005\nvt 0.049157001 0.210220993\nvt 0.012943 0.207507998\nvt 0.049015 0.193141997\nvt 0.114575997 0.224227995\nvt 0.111123003 0.230290994\nvt 0.113466002 0.238839999\nvt 0.225032002 0.309639007\nvt 0.221176997 0.28848201\nvt 0.33315599 0.338279009\nvt 0.343894988 0.329937994\nvt 0.222435996 0.270934999\nvt 0.210947007 0.276192993\nvt 0.215433002 0.272026002\nvt 0.336906999 0.330042005\nvt 0.350951999 0.351720005\nvt 0.225658 0.29480499\nvt 0.364374012 0.363395989\nvt 0.262151986 0.322245002\nvt 0.244387001 0.308887005\nvt 0.380185992 0.381051004\nvt 0.274980992 0.342869997\nvt 0.448332995 0.401766986\nvt 0.46835801 0.406008989\nvt 0.442285001 0.386532009\nvt 0.472312987 0.392428994\nvt 0.466125011 0.396075994\nvt 0.438430995 0.380748987\nvt 0.468832999 0.392060012\nvt 0.493272007 0.422437012\nvt 0.463259012 0.403207988\nvt 0.479658008 0.407126993\nvt 0.141141996 0.179914996\nvt 0.057859998 0.222505003\nvt 0.127397999 0.252400994\nvt 0.444750011 0.389472991\nvt 0.013025 0.203234002\nvt 0.050673999 0.185223997\nvt 0.118031003 0.218127996\nvt 0.219891995 0.267861009\nvt 0.445235014 0.377837986\nvt 0.092502996 0.328058004\nvt 0.098803997 0.38381201\nvt 0.181439996 0.352394015\nvt 0.184244007 0.398972005\nvt 0.063037001 0.384131998\nvt 0.131771997 0.407725006\nvt 0.112466998 0.359124005\nvt 0.197603002 0.449725002\nvt 0.152886003 0.441763997\nvt 0.226430997 0.448074996\nvt 0.217024997 0.420199007\nvt 0.205568001 0.379808009\nvt 0.278903008 0.378757\nvt 0.378286988 0.405568004\nvt 0.385986 0.444278985\nvt 0.280954987 0.415861994\nvt 0.408827007 0.485673994\nvt 0.309677005 0.479359001\nvt 0.288174987 0.440144002\nvt 0.317104012 0.489578009\nvt 0.305541009 0.432660013\nvt 0.310685009 0.454748988\nvt 0.394986004 0.445032001\nvt 0.39645499 0.423123002\nvt 0.298797995 0.40101099\nvt 0.472983986 0.431252003\nvt 0.497731 0.453159004\nvt 0.511026025 0.48428601\nvt 0.487372994 0.480488002\nvt 0.50445801 0.471931994\nvt 0.502837002 0.446534008\nvt 0.483024001 0.457239985\nvt 0.507547975 0.469909012\nvt 0.242659003 0.414772987\nvt 0.173006997 0.475089014\nvt 0.235731006 0.476446986\nvt 0.315990001 0.477548987\nvt 0.489241987 0.479512006\nvt 0.057712998 0.419214994\nvt 0.116802 0.420536995\nvt 0.195235997 0.429616988\nvt 0.47814101 0.461427003\nvt 0.097777002 0.282112986\nvt 0.096887998 0.212257996\nvt 0.190118 0.313892007\nvt 0.183688998 0.253385007\nvt 0.814143002 0.446496993\nvt 0.843425989 0.439792007\nvt 0.724804997 0.380468994\nvt 0.713445008 0.396598011\nvt 0.595098019 0.315391988\nvt 0.604000986 0.340974003\nvt 0.284956992 0.196658\nvt 0.234266996 0.129075006\nvt 0.170715004 0.176235005\nvt 0.189658999 0.172896996\nvt 0.101179004 0.16956\nvt 0.148715004 0.180016994\nvt 0.222903997 0.223900005\nvt 0.25128001 0.217574\nvt 0.288693994 0.349534005\nvt 0.387239993 0.385580003\nvt 0.392477989 0.354285985\nvt 0.284195989 0.301784009\nvt 0.406078011 0.332253009\nvt 0.419838011 0.322259992\nvt 0.325845987 0.26919499\nvt 0.309709013 0.275211006\nvt 0.445255995 0.323736995\nvt 0.455157012 0.320591003\nvt 0.381184995 0.261685997\nvt 0.364156991 0.263390005\nvt 0.490249991 0.334376007\nvt 0.422268987 0.27474001\nvt 0.627309978 0.402130008\nvt 0.748207986 0.461593002\nvt 0.701617002 0.414469987\nvt 0.615112007 0.370386988\nvt 0.781175017 0.454044998\nvt 0.479490012 0.418568999\nvt 0.502605975 0.40772\nvt 0.516153991 0.388137996\nvt 0.491030991 0.376920015\nvt 0.508960009 0.393325001\nvt 0.560663998 0.395938993\nvt 0.524282992 0.375542015\nvt 0.532095015 0.38825199\nvt 0.705017984 0.471482009\nvt 0.639476001 0.434702009\nvt 0.058497 0.186298996\nvt 0.118987001 0.185126007\nvt 0.199301004 0.229222\nvt 0.294272006 0.281318009\nvt 0.392755002 0.335397005\nvt 0.483610004 0.385439992\nvt 0.401531994 0.404899001\nvt 0.210216001 0.169121996\nvt 0.273317993 0.213172004\nvt 0.347472012 0.265008003\nvt 0.503997982 0.374321997\nvt 0.442070007 0.238841996\nvt 0.472891986 0.274390012\nvt 0.511120021 0.317391992\nvt 0.551286995 0.362219989\nvt 0.587930024 0.403245002\nvt 0.114583001 0.409321994\nvt 0.083333001 0.43365401\nvt 0 0.473012\nvt 0 0.462069005\nvt 0.114583001 0.418063015\nvt 0 0.470254004\nvt 0 0.471460015\nvt 0 0.469920993\nvt 0 0.461647987\nvt 0.125 0.392637014\nvt 0 0.441188991\nvt 0.09375 0.38121599\nvt -0.839206994 -2.420198917\nvt -5.276692867 -1.99138999\nvt -7.141962051 0.138758004\nvt 0 0.419086009\nvt 0 0.420194\nvt 0 0.449104995\nvt 1.622900009 -3.679858923\nvt 0 0.262679011\nvt 0 0.262805015\nvt 0 0.248035997\nvt 0 0.246121004\nvt 0 0.254298002\nvt 0.986185014 0.380923986\nvt 9.840415955 2.712029934\nvt 3.259229898 0.888805985\nvt 0 0.293191999\nvt 0 0.310579985\nvt 0 0.320764005\nvt 0 0.295681\nvt 0 0.324739993\nvt 0 0.33781299\nvt 0 0.365491986\nvt 0 0.361229986\nvt 0 0.362399012\nvt 0 0.32543999\nvt 0 0.296671987\nvt 0 0.295444012\nvt 0 0.288738012\nvt 0 0.399805993\nvt 0 0.399805993\nvt 0 0.431840986\nvt 0 0.433876991\nvt 0 0.433824986\nvt 0 0.399805993\nvt 0 0.452683002\nvt 0 0.46082601\nvt 0 0.46984601\nvt 0 0.477344006\nvt 0 0.460617006\nvt 0 0.45174399\nvt 0 0.418240011\nvt 0 0.419753999\nvt 0 0.451685995\nvt 0 0.391508996\nvt 0 0.381056011\nvt 4.273418903 0.656324983\nvt 1.690304995 8.161408424\nvt -2.947777987 5.42592001\nvt 1.420037031 3.669826031\nvt -0.676414013 2.845973969\nvt 5.210125923 6.774663925\nvt 6.395298004 4.137708187\nvt 0.406271994 1.295032978\nvt 2.680882931 1.931121945\nvt 0 0.387167007\nvt 0 0.237718001\nvt 0 0.287889987\nvt 0 0.264921993\nvt 0 0.242405996\nvt 0 0.326999009\nvt 0 0.362789005\nvt 0 0.352052003\nvt 0 0.292335004\nvt 0 0.399805993\nvt 0 0.433869988\nvt 0 0.421916008\nvt 0 0.460799992\nvt 0 0.478210002\nvt 0 0.480809987\nvt 0 0.483209997\nvt 0 0.483714014\nvt 0 0.47507599\nvt 0 0.48290199\nvt 0 0.451512992\nvt 0 0.41732499\nvt 0 0.390091002\nvt 4.422173977 2.121180058\nvt 0.200396001 2.046967983\nvt 0.406271994 1.294883966\nvt 0.507156014 1.549980044\nvt -0.746116996 3.917304039\nvt 0.162502006 8.965177536\nvt 3.163335085 2.762090921\nvt 0.40922901 4.138103962\nvt 2.916647911 3.15170598\nvt -2.474325895 0.385951996\nvt 0.507156014 1.549980044\nvt 4.441246986 2.525861979\nvt 0.507156014 1.549980044\nvt 0.010166 2.194461107\nvt -0.029728999 2.074521065\nvt 1.224382997 0.711026013\nvt 0.169435993 3.617811918\nvt 0.507156014 1.42781198\nvt 2.458117962 1.804962993\nvt 1.224382997 0.710619986\nvt 1.44581902 0.630567014\nvt 1.249554038 1.052216053\nvt 1.224382997 0.710696995\nvt 1.307703972 2.318566084\nvt 1.224382997 0.710842013\nvt 1.089074969 0.653120995\nvt 0.980829 0.606971979\nvt 0.953767002 0.595498025\nvt 0 0.233423993\nvt 2.322540998 1.493828058\nvt 0 0.317007989\nvt 0.068441004 0.463023007\nvt 0 0.416776001\nvt 0 0.460153013\nvt 0 0.480073005\nvt -1.233230948 2.607018948\nvt -2.155550957 -0.235459998\nvt 3.509849072 3.070002079\nvt 0.611751974 5.194478035\nvt -2.366631031 0.997793019\nvt -0.115827002 -1.442389965\nvt 1.224382997 0.710489988\nvt 0 0.413563997\nvt 0 0.263415009\nvt 0 0.283266008\nvt 0 0.423716992\nvt 0 0.38626501\nvt 0 0.450226009\nvt 0 0.440118998\nvt 0 0.263020992\nvt 0 0.30786401\nvt 0 0.464695007\nvt 0 0.380636007\nvt 0 0.280598998\nvt 0 0.355470002\nvt 0 0.297046989\nvt 0 0.344067991\nvt 0 0.47152701\nvt 0 0.304969013\nvt 0 0.324593008\nvt 0 0.291530997\nvt 0 0.286902994\nvt 0 0.29817301\nvt 0 0.309902012\nvt 0 0.328606993\nvt 0.03125 0.417127997\nvt 0.125 0.393830001\nvt 0 0.450028002\nvt 0 0.43117699\nvt 0 0.345156997\nvt 0 0.34355101\nvt 0 0.367327988\nvt 0 0.366926998\nvt 0 0.399805993\nvt 0 0.399805993\nvt -0.063395001 1.500805974\nvt 0 0.265938014\nvt 0 0.250418007\nvt -0.507156014 1.443856955\nvt 0 0.264752001\nvt 0 0.247576997\nvt -0.562210023 3.585773945\nvt 2.017824888 4.989349842\nvt 0 0.76049\nvt 7.256789207 7.153346062\nvt 9.486153603 3.896908998\nvt 1.803717017 0.293980986\nvt 10.460585594 0.001936\nvt 2.077692032 7.270277023\nvt 3.864309072 9.698640823\nvt -0.380367011 9.10447979\nvt -0.158703998 10.28976059\nvt -3.599159956 8.720514297\nvt -4.093679905 9.809947968\nvt -3.452018023 5.538350105\nvt -7.344528198 7.469161034\nvt -8.37332058 3.722250938\nvt -9.15550518 0.091169998\nvt -10.709031105 -0.065858997\nvt -9.669534683 4.004107952\nvt -0.022907 -1.998664021\nvt -10.158279419 -4.207677841\nvt -6.048447132 -5.928469181\nvt -7.611852169 -7.510870934\nvt -5.886423111 -2.359989882\nvt -1.421648026 3.789527893\nvt -4.668579102 1.063354015\nvt -1.452999949 -0.313407004\nvt 3.190205097 1.593978047\nvt 2.002907038 -1.77265799\nvt 4.360307217 -2.320544004\nvt 1.421036959 -3.49326992\nvt -3.795031071 -1.44601202\nvt -1.761247993 -4.202335835\nvt 9.419068336 -3.901982069\nvt 7.404266834 -7.537705898\nvt 4.149325848 -10.035717964\nvt 0.127588004 -10.177804947\nvt -4.136201859 -9.9845438\nvt -3.497726917 -8.39823246\nvt -0.938238025 -5.948598862\nvt 3.456120014 -3.999795914\nvt 9.0666008 -3.242357016\nvt 0.218428001 -0.115291998\nvt 5.601571083 4.374416828\nvt 6.439455032 0.062601\nvt 0 0.367141008\nvt 0.000001 -5.554244995\nvt 1 0\nvt 0.380367011 0.817179978\nvt 0.253578007 1.220602036\nvt 1.014312029 4.064175129\nvt 1.521468043 2.459825039\nvt -0.253578007 5.207912922\nvt 2.914031982 -0.970939994\nvt 0.867236972 2.390993118\nvt -6.793335915 2.937325954\nvt 2.231226921 0.909366012\nvt 8.68914032 3.637520075\nvt 10.084742546 4.170251846\nvt 7.468510151 7.310391903\nvt 10.480763435 0.094437003\nvt 3.822278023 6.134881973\nvt 0.042263001 9.572731018\nvt -0.091721997 10.494552612\nvt -7.07521677 7.254802227\nvt -4.013845921 9.587986946\nvt 1.55863905 2.656807899\nvt -6.380127907 6.439974785\nvt -9.80200386 4.059550762\nvt -10.508016586 -0.099568002\nvt -10.172522545 -4.213582993\nvt -6.329389095 -6.346142769\nvt -7.512210846 -7.371294022\nvt -5.886423111 -2.359989882\nvt -1.400483966 3.85404706\nvt -4.797502995 1.313549042\nvt -0.678882003 -1.72617197\nvt 3.509880066 1.850033998\nvt 2.63479495 0.146383002\nvt 4.607676029 -1.153434992\nvt 1.642236948 -3.67897296\nvt -1.997154951 -4.787292957\nvt -3.624933958 -1.50633204\nvt 3.932729006 9.492844582\nvt 9.558013916 -3.959465981\nvt 7.235060215 -7.419215202\nvt 4.043241978 -9.841174126\nvt 0.082470998 -10.523286819\nvt -4.016677856 -9.69537735\nvt 2.597881079 -2.35630703\nvt 10.045845032 0.054703001\nvt 7.186723232 6.129599094\nvt 9.785558701 4.133285999\nvt 6.253050804 8.525639534\nvt -0.059935998 10.790502548\nvt -5.273130894 8.773130417\nvt -5.655854225 2.457489014\nvt -9.7641716 4.043593884\nvt -8.170131683 -2.16138196\nvt -9.984757423 -2.483679056\nvt -7.673775196 -7.612652779\nvt 2.836746931 -9.852617264\nvt 7.637585163 -7.705160141\nvt 9.786997795 -2.320739985\nvt -2.626322985 -1.932499051\nvt -1.521149993 3.720988989\nvt 4.175140858 1.696382999\nvt 2.386890888 -3.657721043\nvt -4.203432083 -10.146857262\nvt 0.054942999 -9.109792709\nvt 5.325792789 -7.404051781\nvt -0.510519981 -0.364942014\nvt -1.906906962 -4.441036224\nvt 10.94908905 0.032784\nvt 7.826436043 6.361692905\nvt -4.837122917 8.107408524\nvt -7.995415211 5.895823002\nvt -8.057198524 3.401695013\nvt -10.508016586 -0.099568002\nvt -9.407821655 -2.278438091\nvt -8.537595749 -5.645737171\nvt -6.512767792 -6.389358044\nvt 7.93393898 -6.891777039\nvt -1.705922008 3.647773981\nvt -1.318469048 10.365526199\nvt 4.019861221 1.463233948\nvt 3.9921 9.64053154\nvt -2.954510927 -1.683984041\nvt -4.031280041 -9.730536461\nvt 1.524464011 -10.335654259\nvt 0.054942999 -9.109792709\nvt 5.18768692 -7.772208214\nvt 5.612117767 -8.040372849\nvt -5.87984705 8.574217796\nvt -1.644080043 1.212594986\nvt -9.636127472 -1.304458976\nvt -8.553926468 -5.828905106\nvt -2.839827061 -2.972002029\nvt 10.237478256 -2.844975948\nvt 8.056797028 6.458222866\nvt 1.692338943 0.105660997\nvt -0.136758 -8.562921524\nvt -3.017853975 -9.206314087\nvt -0.088114999 -2.445874929\nvt 5.875911236 4.043694973\nvt 0.406343997 4.525660992\nvt 2.434053898 10.406029701\nvt 0.35403201 3.558327913\nvt -7.159821987 2.055408001\nvt -9.863430023 -3.996228933\nvt 0.729090989 -3.121346951\nvt 3.467858076 1.800711989\nvt 7.456931114 -0.524905026\nvt 9.195590973 -5.395333767\nvt 2.746884108 -8.791980743\nvt 5.713850021 7.141160965\nvt -1.410575986 4.860617161\nvt -0.298537999 1.283408046\nvt -2.071698904 -10.272274017\nvt 4.926784992 -9.525856018\nvt -8.024114609 -2.52153492\nvt -0.489508986 -2.944761038\nvt 9.833331108 2.383960009\nvt 1.404500961 10.595059395\nvt -5.647492886 8.623511314\nvt -3.107781887 0.354683995\nvt -2.734157085 -10.137275696\nvt 9.320676804 4.73180294\nvt 5.229941845 -9.300722122\nvt 0.681388021 -1.571586013\nvt 3.099342108 -10.050767899\nvt 9.78276825 -0.369188011\nvt -9.230474472 -2.805882931\nvt 1.061944962 -1.569569945\nvt -1.859845996 10.039682388\nvt 1.898080945 -0.638469994\nvt -2.235090971 -9.132440567\nvt -0.656930029 -7.728559017\nvt -9.561618805 -3.915900946\nvt 2.359436035 0.286843985\nvt -0.413771003 -0.199058995\nvt 1.205463052 6.972943783\nvt 8.286949158 4.654362202\nvt 0 0.278663993\nvt 0 0.277987987\nvt 0 0.276452988\nvt 0 0.277366012\nvt 0 0.277648002\nvt 0 0.277603\nvt -7.868267059 -4.844902992\nvt 1.443768978 2.491911888\nvt 1.173287988 -3.381175995\nvt 0.507845998 9.642616272\nvt 2.055182934 -7.862127781\nvt 1.528650045 4.158703804\nvt 1.393934011 -4.855219841\nvt 0.093656003 -3.260133028\nvt 10.096158981 1.275437951\nvt -9.091115952 2.574399948\nvt 2.809318066 9.029568672\nvt 0.393368989 -0.873158991\nvt -6.081597805 -6.704121113\nvt -1.20441103 -7.8660779\nvt 6.796185017 1.472116947\nvt -9.308440208 2.673065901\nvt -0.442898989 -0.515684009\nvt 2.432106018 -6.878067017\nvt 3.29203701 1.168300033\nvt -6.597208023 0.827614009\nvt 0.461834013 -6.267414093\nvt -0.384728998 9.57443428\nvt -2.677695036 0.96945101\nvt -4.752546787 -6.498185158\nvt 4.704419136 -0.492888004\nvt 4.590332031 8.546015739\nvt -4.652100086 -7.620986938\nvt 5.723918915 6.671549797\nvt -4.958415985 1.983721972\nvt 2.01406002 9.745930672\nvt -4.411108017 -5.950007915\nvt -2.257395983 -0.811787009\nvt 6.832376003 3.168931007\nvt 0.844992995 -3.318983078\nvt -6.128933907 -4.172179222\nvt 5.175543785 -1.983106017\nvt -3.611109018 -2.984396935\nvt -5.99673605 -5.491869926\nvt -3.108323097 -3.50564003\nvt 8.307441711 3.814831018\nvt -2.251933098 -1.698444009\nvt 0 0.240196005\nvt 0 0.262032002\nvt 0 0.278315008\nvt -4.277433872 -2.863423109\nvt 0 0.399805993\nvt 0 0.368492007\nvt 0.5 0.218719006\nvt 1 0\nvt 0.5 0.225058004\nvt 1 0\nvt 0.333332986 0.315400004\nvt 0.458332986 0.256170005\nvt 1 0\nvt 0.5 0.225871995\nvt 0 0.42008099\nvt 0 0.394993007\nvt 0 0.370925009\nvt 0.200000003 0.283318013\nvt 0.5 0.169194996\nvt 2.028624058 2.273847103\nvt 1.014312029 1.262876034\nvt 0.253578007 0.507934988\nvt 0 0.264270991\nvt 0 0.277135998\nvt 0 0.294627011\nvt 0 0.317727\nvt 0 0.33870101\nvt 0 0.349813014\nvt 0.000003 0.42582199\nvt 0.000003 0.446233988\nvt 0 0.473012\nvt 0 0.462069005\nvt 0.000021 0.435667008\nvt 0 0.470254004\nvt 0 0.471460015\nvt 0 0.469920993\nvt 0 0.461647987\nvt 0.000071 0.412728995\nvt 0 0.441188991\nvt 0.000138 0.390174001\nvt -0.84850502 -3.253127098\nvt -5.276692867 -1.991390944\nvt -7.787799835 0.113797002\nvt 0 0.419086009\nvt 0 0.420194\nvt 0 0.449104995\nvt 1.622903943 -3.680020094\nvt 0 0.262679011\nvt 0 0.262805015\nvt 0 0.248035997\nvt 0 0.246121004\nvt 0 0.257259995\nvt 0.45956099 0.430159003\nvt 5.303414822 7.804910183\nvt 1.942049026 1.020748973\nvt 0 0.293191999\nvt 0 0.310579985\nvt 0 0.320764005\nvt 0 0.295681\nvt 0 0.324739993\nvt 0 0.33781299\nvt 0 0.365491986\nvt 0 0.361229986\nvt 0 0.362399012\nvt 0 0.32543999\nvt 0 0.296671987\nvt 0 0.295444012\nvt 0 0.288738012\nvt 0 0.399805993\nvt 0 0.399805993\nvt 0 0.431840986\nvt 0 0.433876991\nvt 0 0.433824986\nvt 0 0.399805993\nvt 0 0.452683002\nvt 0 0.46082601\nvt 0 0.46984601\nvt 0 0.477344006\nvt 0 0.460617006\nvt 0 0.45174399\nvt 0 0.418240011\nvt 0 0.419753999\nvt 0 0.451685995\nvt 0 0.391508996\nvt 0 0.381056011\nvt -3.907110929 4.511847973\nvt 2.948367119 9.719209671\nvt 1.059847951 5.626369953\nvt 5.832119942 6.654846191\nvt -0.249096006 2.400296926\nvt 4.362270832 7.374489784\nvt 0.451110005 1.40872395\nvt 1.017781019 3.028713942\nvt 0.302469999 1.057350039\nvt 0 0.387167007\nvt 0 0.237718001\nvt 0 0.264921993\nvt 0 0.242804006\nvt 0 0.326999009\nvt 0 0.287889987\nvt 0 0.362789005\nvt 0 0.352052003\nvt 0 0.292335004\nvt 0 0.399805993\nvt 0 0.433869988\nvt 0 0.421916008\nvt 0 0.460799992\nvt 0 0.478210002\nvt 0 0.480506986\nvt 0 0.483209997\nvt 0 0.483714014\nvt 0 0.47507599\nvt 0 0.48290199\nvt 0 0.451512992\nvt 0 0.41732499\nvt 0.486685991 2.1162889\nvt 0.749208987 1.947088957\nvt 0.406271994 1.294883966\nvt 0.507156014 1.549980044\nvt 0.395063013 1.266540051\nvt 0.945052028 5.570878029\nvt 6.305544853 5.202332973\nvt -2.350127935 -0.401154011\nvt -0.248728007 2.463597059\nvt 2.541009903 3.365583897\nvt 0.482879013 -1.387949944\nvt 0.507156014 1.549980044\nvt -1.399606943 5.952911854\nvt 0.507156014 1.549980044\nvt 4.026381969 2.538521051\nvt 0.346686989 1.831125021\nvt 1.224382997 0.711026013\nvt 0.302469999 0.937734008\nvt 0.507156014 1.42781198\nvt 6.626520157 1.06162405\nvt 0.953767002 0.59504199\nvt 1.224382997 0.710657001\nvt 3.889991999 1.171573997\nvt 1.224382997 0.710696995\nvt 3.845664978 1.753445029\nvt 2.361540079 1.087211013\nvt 1.224382997 0.710842013\nvt 1.089074969 0.653120995\nvt 0.953767002 0.595417976\nvt 0.953767002 0.595498025\nvt 0 0.233423993\nvt 1.692499042 2.223537922\nvt 0 0.313677996\nvt 0.665906012 0.522210002\nvt 0 0.416776001\nvt 0 0.400099993\nvt 0 0.479523987\nvt -0.472777009 1.738083959\nvt -0.882825971 -1.199985027\nvt -1.851819992 1.597910047\nvt 0.507156014 1.550140977\nvt -1.746016026 0.565805972\nvt 1.224382997 0.710489988\nvt -0.733554006 0.014869\nvt 2.047656059 0.524904013\nvt 0 0.420758009\nvt 0 0.277868003\nvt 0 0.278109998\nvt 0 0.457560986\nvt 0 0.401832998\nvt 0 0.378960997\nvt 0 0.321204007\nvt 0 0.250310004\nvt 0 0.267062992\nvt 0 0.450845987\nvt 0 0.440418988\nvt 0 0.37906\nvt 0 0.271706998\nvt 0 0.447182\nvt 0 0.417872012\nvt 0 0.375313014\nvt 0 0.304969013\nvt 0 0.324593008\nvt 0 0.291530997\nvt 0.000456 0.281621009\nvt 0.000539 0.265163004\nvt 0.000156 0.280898988\nvt 0.000039 0.294678986\nvt 0.000001 0.389672995\nvt 0.000002 0.409507006\nvt 0 0.450028002\nvt 0 0.43117699\nvt 0 0.318480015\nvt 0 0.34355101\nvt 0 0.330374986\nvt 0 0.366926998\nvt 0 0.399805993\nvt 0 0.358700991\nvt -0.063395001 1.500805974\nvt 0 0.265938014\nvt 0 0.250418007\nvt -0.507156014 1.443856955\nvt 0 0.264752001\nvt 0 0.247576997\nvt 0.737049997 3.343302965\nvt 5.346633911 6.214954853\nvt 0 0.76049\nvt 3.778361082 9.523094177\nvt 7.22802496 7.143456936\nvt 1.813796043 0.294030994\nvt -0.380367011 9.10447979\nvt -0.145071 10.362523079\nvt -3.599159956 8.720514297\nvt -4.091716766 9.805210114\nvt -3.926481962 5.710124016\nvt -6.907245159 7.133837223\nvt -8.501872063 3.773225069\nvt -9.15550518 0.091169998\nvt -10.829305649 -0.046592999\nvt -9.317392349 3.857888937\nvt -0.022907 -1.998664021\nvt -10.038240433 -4.157947063\nvt -6.34716177 -6.249680042\nvt -7.490383148 -7.349465847\nvt 3.163060904 1.796293974\nvt 2.002907038 -1.77265799\nvt 4.706861973 -1.495092988\nvt 0.83009702 -3.43074894\nvt -3.382464886 -1.148452044\nvt -1.669432998 3.542140961\nvt 9.534472466 3.927627087\nvt 10.352823257 -0.028572001\nvt 9.798402786 -4.058793068\nvt 7.404266834 -7.537705898\nvt 3.892132998 -9.50438118\nvt 0.080085002 -10.549943924\nvt -4.137772083 -9.988333702\nvt -3.497726917 -8.39823246\nvt -0.767072976 -6.502273083\nvt 3.869302988 -4.254052162\nvt 0.218428001 -0.115291998\nvt 6.138775826 5.016100883\nvt 6.182425022 0.067151003\nvt 0 0.367141008\nvt 0.000001 -5.554244995\nvt 1 0\nvt 0.380852014 0.815297008\nvt 0.253578007 1.220602036\nvt 1.014312029 4.064175129\nvt 1.521944046 2.453454018\nvt -0.253578007 5.207912922\nvt 3.624183893 -1.290578961\nvt 0.867236972 2.390993118\nvt -6.793335915 2.937325954\nvt 2.457082987 0.897652984\nvt 10.033025742 4.147562981\nvt 7.512142181 7.376190186\nvt 10.306879044 0.118959002\nvt 3.839750051 6.176139832\nvt 0.043954 9.643413544\nvt 3.984330893 9.617837906\nvt -7.103689194 7.273439884\nvt -3.986332893 9.509682655\nvt 1.738044024 1.292966008\nvt -6.380127907 6.439974785\nvt -9.903406143 4.101480961\nvt -10.508016586 -0.099568002\nvt -10.203923225 -4.226592064\nvt -6.156641006 -6.175255775\nvt -7.530673981 -7.399827957\nvt -5.886423111 -2.359989882\nvt -1.425541997 3.578392982\nvt -4.78579092 1.308171034\nvt -1.452999949 -0.313407004\nvt -3.677279949 -1.547106981\nvt 1.597072959 -2.951935053\nvt -1.761247993 -4.202335835\nvt -0.148003995 10.207039833\nvt 3.557985067 1.63902998\nvt 7.327388763 -7.491082191\nvt 9.94797802 -4.120721817\nvt 3.963576078 -9.676862717\nvt 0.093143001 -10.413502693\nvt -3.973512888 -9.590787888\nvt 3.425936937 -3.226315975\nvt 9.198892593 4.507688999\nvt 10.932883263 0.032784\nvt 8.998025894 1.889153004\nvt 4.115038872 9.934187889\nvt -7.011077881 7.178545952\nvt -2.968257904 9.907307625\nvt -1.420979977 -2.125732899\nvt -9.731505394 4.030063152\nvt -9.428887367 -2.360377073\nvt 8.007499695 -6.950102806\nvt -2.74822402 -0.816784978\nvt -1.144562006 3.48269105\nvt 1.448251009 -4.386325836\nvt 1.331724048 -10.118049622\nvt -4.05555582 -9.787671089\nvt -7.51525116 -7.423395157\nvt 5.325792789 -7.404051781\nvt 3.895353079 1.290567994\nvt -0.510519981 -0.364942014\nvt -1.906906962 -4.441036224\nvt 7.246088982 7.118412018\nvt 10.090123177 3.002258062\nvt -7.060905933 7.251262188\nvt -0.461365998 10.349687576\nvt -10.131967545 1.532729983\nvt -8.452157974 3.552180052\nvt -9.441487312 -2.693022013\nvt -8.460089684 -5.563306808\nvt -6.512767792 -6.389358044\nvt 9.59277153 -3.973951101\nvt 6.491271019 -8.21352005\nvt -1.494766951 3.382441044\nvt 0.281971991 -3.19729805\nvt -4.490180969 -1.677096963\nvt 4.155560017 0.409309\nvt 3.9921 9.64053154\nvt -2.840827942 -10.057570457\nvt 1.172520995 -9.106740952\nvt 6.393746853 -4.812747002\nvt -8.525453568 -5.717054844\nvt -2.391772032 -1.896443963\nvt -9.642936707 -1.30389905\nvt -0.314900994 -0.271856993\nvt 8.493392944 5.530849934\nvt -3.296049118 -0.334517986\nvt 4.098703861 1.798159003\nvt 10.03795433 -2.967631102\nvt 4.524281979 -9.440472603\nvt 1.64093399 -3.810173988\nvt -2.576647043 -10.352858543\nvt 1.529975057 -6.159274101\nvt -2.148816109 -9.386099815\nvt 0.428732008 -7.020915031\nvt 5.333786011 2.456115007\nvt 9.815671921 2.690466881\nvt 2.149830103 10.19717598\nvt 0.002348 3.124233961\nvt 0.41743499 4.518658161\nvt -5.702682018 2.094136\nvt -10.346894264 3.006303072\nvt -8.78629303 -5.7266922\nvt 3.463027 -9.018538475\nvt 8.376935005 -6.037896156\nvt -4.174427986 -1.480546951\nvt 1.949391007 2.084815025\nvt 9.349020958 3.838313103\nvt 2.017824888 4.989093781\nvt 4.142598152 10.001116753\nvt -1.078202009 5.344438076\nvt -2.843827963 2.671968937\nvt -7.47200489 -1.876042962\nvt -6.543704033 -6.656122208\nvt 2.734718084 -9.7237463\nvt -0.415618002 0.722177029\nvt -5.635830879 8.570384026\nvt 0.797037005 -0.73626399\nvt -1.714136004 0.917282999\nvt -3.144344091 -8.765114784\nvt -10.08962059 -2.731739044\nvt 4.342607021 -8.622504234\nvt -2.259134054 1.185690999\nvt -2.679887056 9.714804649\nvt 9.925221443 0.288924009\nvt 2.446193933 -7.791269779\nvt -9.291379929 -3.246471882\nvt 2.894768953 10.323101997\nvt 2.960705996 -0.230750993\nvt 8.794941902 4.220620155\nvt -1.104912043 -2.270431042\nvt 0.560926974 0.619171977\nvt 0 0.278663993\nvt 0 0.277987987\nvt 0.000366 0.276163012\nvt 0 0.277366012\nvt 0 0.277648002\nvt 0 0.277603\nvt 7.242937088 7.050188065\nvt 1.089275002 1.346150994\nvt -8.253062248 -0.176739007\nvt -10.160474777 0.305644989\nvt 1.331845045 1.242670059\nvt 9.213834763 4.608428001\nvt 0.148862004 1.337262034\nvt -2.590605021 0.543875992\nvt -2.54867506 -9.49576664\nvt 2.437005997 1.534939051\nvt 2.527244091 9.568469048\nvt -6.990359783 -5.157155991\nvt 2.102057934 -9.546378136\nvt 1.470986009 -2.048751116\nvt 4.356329918 -7.639007092\nvt -9.072867393 4.017334938\nvt 2.315645933 -3.113445044\nvt 1.545286059 -1.747462988\nvt -2.477380991 -10.076967239\nvt 2.892164946 -1.225721002\nvt 5.723173141 7.913489819\nvt -7.30381012 -4.781649113\nvt -1.819121957 -3.354765892\nvt 8.003106117 6.248393059\nvt 6.547643185 -1.011227965\nvt -1.833425045 4.699231148\nvt -1.488389015 8.212203026\nvt -8.297444344 -4.063026905\nvt -0.788967013 0.231575996\nvt -4.23515892 2.655646086\nvt 2.014769077 9.821436882\nvt 1.745141983 -6.415277004\nvt 8.516234398 1.491325974\nvt -3.327228069 -7.594706059\nvt -0.672559977 -1.836640954\nvt 7.042832851 -0.773371994\nvt 3.142931938 9.202793121\nvt -0.530905008 -2.060280085\nvt -4.968245029 -6.80616188\nvt 8.455579758 0.965510011\nvt -6.540603161 -5.394454002\nvt -5.31653595 -3.330212116\nvt 1.513231993 2.36243701\nvt -4.136557102 -2.848884106\nvt 0 0.240196005\nvt 0 0.262032002\nvt 0 0.278315008\nvt 0 0.235385001\nvt 0 0.220679998\nvt 0.000002 0.26511699\nvt 0.000009 0.28776899\nvt 0.000013 0.316814005\nvt 0.000083 0.326584995\nvt 0.000011 0.365723014\nvt 0.000285 0.306239992\nvt 0.000551 0.296068013\nvt 0.000812 0.287447006\nvt 0.000917 0.283834994\nvt 0.501070023 0.094648004\nvt 0.000714 0.288691998\nvt 0.501341999 0.099431001\nvt 2.030236959 2.224623919\nvt 1.016214967 1.237393022\nvt 0.255515993 0.50040102\nvt 0.001462 0.263889015\nvt 0.001722 0.239988998\nvt 0.001212 0.220355004\nvt 0.000625 0.201715007\nvt 0.000156 0.202989995\nvt 0 0.243104994\nvt 0.001105 0.458512008\nvt 0.001291 0.465189993\nvt 0 0.473012\nvt 0 0.462069005\nvt 0.002453 0.462614\nvt 0 0.470254004\nvt 0 0.471460015\nvt 0 0.469920993\nvt 0 0.461647987\nvt 0.005702 0.444160014\nvt 0 0.441188991\nvt 0.008089 0.422849\nvt -0.614080012 -2.749232054\nvt -5.276692867 -1.991390944\nvt -7.787799835 0.113797002\nvt 0 0.419086009\nvt 0 0.420194\nvt 0 0.449104995\nvt 2.185678005 -5.094007969\nvt 0 0.262679011\nvt 0 0.262805015\nvt 0 0.248035997\nvt 0 0.246121004\nvt 0 0.257259995\nvt 7.997990131 3.771639109\nvt 7.649012089 6.232030869\nvt 3.247242928 0.917743981\nvt 0 0.293191999\nvt 0 0.310579985\nvt 0 0.320764005\nvt 0 0.295681\nvt 0 0.324739993\nvt 0 0.33781299\nvt 0 0.365491986\nvt 0 0.361229986\nvt 0 0.362399012\nvt 0 0.32543999\nvt 0 0.296671987\nvt 0 0.295444012\nvt 0 0.288738012\nvt 0 0.399805993\nvt 0 0.399805993\nvt 0 0.431840986\nvt 0 0.433876991\nvt 0 0.433824986\nvt 0 0.399805993\nvt 0 0.452683002\nvt 0 0.46082601\nvt 0 0.46984601\nvt 0 0.477344006\nvt 0 0.460617006\nvt 0 0.45174399\nvt 0 0.418240011\nvt 0 0.419753999\nvt 0 0.451685995\nvt 0 0.391508996\nvt 0 0.381056011\nvt -3.225791931 4.423010826\nvt 3.595968008 9.444307327\nvt 2.291265965 4.439871788\nvt 2.283572912 6.15870285\nvt 0.052710999 2.31337595\nvt 2.223309994 9.652215004\nvt 6.112882137 5.18312788\nvt 1.87551105 2.064480066\nvt 0.302469999 1.057350039\nvt 0 0.387167007\nvt 0 0.237718001\nvt 0 0.264921993\nvt 0 0.242806002\nvt 0 0.326999009\nvt 0 0.287889987\nvt 0 0.362789005\nvt 0 0.362789005\nvt 0 0.299268007\nvt 0 0.399805993\nvt 0 0.433869988\nvt 0 0.423700988\nvt 0 0.460799992\nvt 0 0.478210002\nvt 0 0.480765998\nvt 0 0.483209997\nvt 0 0.483714014\nvt 0 0.47507599\nvt 0 0.48290199\nvt 0 0.451512992\nvt 0 0.41732499\nvt 0 0.389771998\nvt 3.370116949 3.124680042\nvt 0.406271994 1.294883966\nvt 0.406271994 1.294883966\nvt 0.439900011 1.379915953\nvt 4.876216888 6.554780006\nvt -0.302002013 2.581506014\nvt -2.898931026 5.145452976\nvt -0.414564997 2.991246939\nvt 0.507156014 1.549980044\nvt 1.805158019 6.593852997\nvt -3.044284105 4.783658981\nvt 0.507156014 1.549980044\nvt 0.611994028 4.364155769\nvt 3.356127977 2.658303976\nvt 1.224382997 0.711026013\nvt -0.144305006 1.604904056\nvt 0.507156014 1.42781198\nvt 1.871706009 3.125102043\nvt 1.034952044 0.629715025\nvt 1.224382997 0.710657001\nvt 0.134593993 2.893281937\nvt 1.224382997 0.710696995\nvt 1.722285032 0.522854984\nvt 2.784646988 -3.352416992\nvt 1.224382997 0.710842013\nvt 1.034952044 0.630008996\nvt 0.980829 0.606971979\nvt 0.953767002 0.595498025\nvt 0 0.233423993\nvt 1.579432011 2.696341991\nvt 0 0.317007989\nvt 0.045627002 0.412652999\nvt 0 0.416776001\nvt 0 0.46468699\nvt 0 0.480609\nvt 0.932519019 0.012412\nvt -1.034597993 1.05665803\nvt 0.417481989 1.323271036\nvt -1.562013984 0.337188989\nvt -1.788985968 2.037045956\nvt 0.560926974 0.618055999\nvt 2.515754938 2.480154037\nvt 4.43232584 0.940392017\nvt 1.034952044 0.629610002\nvt 0 0.44730401\nvt 0 0.269632012\nvt 0 0.434996992\nvt 0 0.261990011\nvt 0 0.356905013\nvt 0 0.364793986\nvt 0 0.274190009\nvt 0 0.416884989\nvt 0 0.272453994\nvt 0 0.462794006\nvt 0 0.455740005\nvt 0 0.355728\nvt 0 0.443919003\nvt 0 0.269800007\nvt 0 0.356332988\nvt 0 0.354719996\nvt 0 0.304969013\nvt 0 0.324593008\nvt 0 0.291530997\nvt 0.002108 0.30262199\nvt 0.00197 0.325816005\nvt 0.000795 0.318491995\nvt 0.00112 0.339419007\nvt 0.001105 0.433566988\nvt 0.000782 0.449202001\nvt 0 0.450028002\nvt 0 0.43117699\nvt 0.0013 0.360523999\nvt 0 0.34355101\nvt 0.001351 0.383415014\nvt 0 0.366926998\nvt 0 0.399805993\nvt 0.00129 0.40970099\nvt -0.063395001 1.500805974\nvt 0 0.265938014\nvt 0 0.250418007\nvt -0.507156014 1.443856955\nvt 0 0.264752001\nvt 0 0.247576997\nvt -0.35848701 2.889179945\nvt 5.822177887 6.390041828\nvt 0 0.76049\nvt 7.273511887 7.14651823\nvt 9.486153603 3.896908998\nvt 3.615962982 0.187346995\nvt 2.077692032 7.270277023\nvt 3.892862082 9.693476677\nvt -0.380367011 9.10447979\nvt -0.131081998 10.434942245\nvt -3.599159956 8.720514297\nvt -4.053722858 9.697666168\nvt -4.87541008 6.053672791\nvt -7.098596096 7.268346786\nvt -8.346908569 3.799700022\nvt -10.520879745 -0.099568002\nvt -9.572872162 3.964140892\nvt -9.300696373 0.084858999\nvt -0.022907 -1.998664021\nvt -10.038240433 -4.157947063\nvt -6.34716177 -6.249680042\nvt -7.453352928 -7.297743797\nvt 10.127178192 0.138866007\nvt 9.421053886 -3.902801991\nvt -2.487247944 -1.804996014\nvt -2.239362955 3.137439966\nvt 3.6285851 1.336159945\nvt 1.729532003 -3.149806023\nvt 7.312838078 -7.476530075\nvt 4.089898109 -9.914923668\nvt 0.081500001 -10.529982567\nvt -4.206936836 -10.156023026\nvt -3.497726917 -8.39823246\nvt -0.767072976 -6.502273083\nvt 3.869302988 -4.254052162\nvt 9.008253098 -3.183648109\nvt 0.218428001 -0.115291998\nvt 6.209012985 5.080643177\nvt 6.182425022 0.067151003\nvt 0 0.367141008\nvt 0.000001 -5.554244995\nvt 1 0\nvt 0.410153002 0.858714998\nvt 0.253578007 1.220602036\nvt 1.014312029 4.064175129\nvt 1.61314404 2.556529999\nvt -0.253578007 5.207912922\nvt 3.426384926 -3.224935055\nvt 0.014517 0.353098989\nvt 3.624174118 -1.290305972\nvt 0.867236972 2.390993118\nvt -6.793335915 2.937325954\nvt 2.231226921 0.909366012\nvt 10.090511322 4.172753811\nvt 7.474485874 7.303647995\nvt 10.511146545 0.097205997\nvt 0.043954 9.643413544\nvt 4.046072006 9.767587662\nvt 3.705552101 8.97693634\nvt -6.717307091 6.765183926\nvt -4.039041996 9.65596199\nvt 2.495966911 1.661764026\nvt -9.749984741 4.037717819\nvt -10.712908745 -0.071388997\nvt -10.063295364 -4.168315887\nvt -6.156641006 -6.175255775\nvt -7.530673981 -7.399827957\nvt -5.886423111 -2.359989882\nvt -1.646306992 3.489309072\nvt -4.63079977 0.900285006\nvt -1.452999949 -0.313407004\nvt 3.604594946 1.930541039\nvt 2.002907038 -1.77265799\nvt 4.855642796 -2.007579088\nvt 1.886124015 -3.276443958\nvt -3.7873981 -1.308807015\nvt -1.675871015 -3.989469051\nvt -7.134471893 7.295002937\nvt -0.148116007 10.190784454\nvt 9.58971405 -3.972501993\nvt 0.055303998 -10.694488525\nvt 4.034708977 -9.827012062\nvt -4.028453827 -9.723808289\nvt 7.448546886 -7.574839115\nvt 3.929214954 4.308942795\nvt 9.652825356 4.161801815\nvt 10.971714973 0.020863\nvt 8.998025894 1.889153004\nvt 2.423437119 10.268224716\nvt -5.54600811 8.514234543\nvt -1.303192019 -2.417186022\nvt -9.975629807 2.364665031\nvt -6.828763962 -0.115258999\nvt -8.196324348 -5.232740879\nvt 8.016451836 -6.95387888\nvt -1.547798038 3.787837029\nvt 4.134954929 0.92314899\nvt 1.040668011 -4.142053127\nvt 2.867866039 -9.958366394\nvt -2.59108305 -0.90861398\nvt -4.13353014 -9.977149963\nvt 0.054942999 -9.109792709\nvt 5.325792789 -7.404051781\nvt -1.906906962 -4.441036224\nvt 10.781864166 0.068190999\nvt 9.498044968 4.135770798\nvt 7.188095093 7.165041924\nvt -0.756503999 10.655583382\nvt -7.430457115 7.536551952\nvt -10.476320267 0.750943005\nvt -4.204566002 1.344920993\nvt -9.321026802 -2.661565065\nvt -8.513086319 -5.611620903\nvt -6.512767792 -6.389358044\nvt 1.559118032 -10.288715363\nvt 8.397001266 -5.672687054\nvt 5.982272148 -7.539124966\nvt -0.510510981 3.298717976\nvt 0.554639995 -2.915384054\nvt -4.410281181 -1.544589996\nvt 4.020835876 9.710794449\nvt 4.005735874 0.933664024\nvt -4.005930901 -9.668820381\nvt 0.054942999 -9.109792709\nvt -8.99802494 -1.818289995\nvt 2.802917957 -2.467263937\nvt -8.500973701 -6.260375023\nvt -2.862421036 -2.617206097\nvt 4.881161213 -9.178916931\nvt 9.410082817 3.95362711\nvt 10.211720467 -2.305721998\nvt 1.249145985 1.950685978\nvt -2.686853886 -10.250682831\nvt -4.236073017 -1.361359954\nvt 1.639912963 -6.432742119\nvt -0.909529984 -9.415873528\nvt -0.071273997 -3.033941984\nvt 8.957426071 -1.91613698\nvt 4.676986217 6.408023834\nvt 9.613186836 4.002801895\nvt 0.238414004 4.463606834\nvt -3.001564026 10.113604546\nvt -8.470799446 -0.716529012\nvt -5.779966831 -9.029100418\nvt 5.002511978 -8.754647255\nvt 0.959919989 2.558088064\nvt 0.435535997 -3.452408075\nvt -0.705789983 1.31091702\nvt 3.879050016 9.873835564\nvt 9.449621201 2.653034925\nvt -1.196488023 4.87255621\nvt -2.617022038 0.979454994\nvt -2.853288889 0.872794986\nvt 2.671528101 -9.39951992\nvt -5.93009901 -8.615021706\nvt -7.567574978 -2.925628901\nvt -4.804778099 9.251251221\nvt -4.92832613 1.687044978\nvt -2.675555944 -10.501776695\nvt -1.629179001 -2.337296009\nvt 2.495609045 0.271403015\nvt -8.246813774 -4.775053024\nvt 1.325513005 -9.997031212\nvt 9.367886543 2.575018883\nvt 1.137439013 2.022476912\nvt 3.520219088 -8.506999016\nvt -2.304810047 -10.060459137\nvt -0.730096996 -0.176811993\nvt -2.865617037 1.803629041\nvt 9.461652756 4.243354797\nvt 1.060253978 6.181178093\nvt 0 0.278663993\nvt 0 0.277987987\nvt 0.006019 0.294768989\nvt 0 0.277366012\nvt 0 0.277648002\nvt 0 0.277603\nvt -4.514866829 -8.45341301\nvt -0.875689983 -1.137613058\nvt -9.45662117 -2.585400105\nvt 2.459779978 -7.641224861\nvt 0.186731994 6.863690853\nvt -0.094636001 0.506465018\nvt 5.795557022 2.522644997\nvt -10.264234543 -0.769576013\nvt -2.791018009 8.729317665\nvt 1.111593008 -0.836471021\nvt -8.685565948 -2.657674074\nvt -3.431299925 -6.874365807\nvt 4.924416065 -6.383165836\nvt 2.392390013 0.133163005\nvt 0.547113001 -0.385726005\nvt 4.824655056 8.322406769\nvt -4.837327003 1.967887998\nvt -5.191436768 0.54497999\nvt -7.044105053 -4.754333019\nvt -4.02379179 6.376377106\nvt 7.070285797 6.267609119\nvt -0.458977014 -0.183470994\nvt 7.952079773 -2.231462002\nvt 2.977689981 9.355941772\nvt 0.792245984 -0.037029002\nvt 9.711478233 0.430301011\nvt -4.917403221 -7.240951061\nvt -9.090817451 1.463418007\nvt -0.890762985 8.843478203\nvt -5.793109894 3.186148882\nvt 3.59663105 9.384943962\nvt -0.947866023 -2.00377202\nvt -1.625581026 -7.598816872\nvt 7.441627026 3.307054043\nvt -6.10394907 -6.582859993\nvt -2.329731941 -7.025455952\nvt -3.871752977 -6.413043022\nvt 0.146180004 2.199271917\nvt 1.23982501 0.675651014\nvt 0 0.240196005\nvt 0 0.262032002\nvt 0 0.278315008\nvt -1.970613956 -2.918838978\nvt 0.005199 0.411282003\nvt 0.00448 0.381951004\nvt 0.005405 0.43283999\nvt 0.005162 0.439384013\nvt 0.00442 0.440694004\nvt 0.004421 0.44757399\nvt 0.00313 0.446545988\nvt 0.005166 0.441545993\nvt 0.009812 0.434372008\nvt 0.022810001 0.431962013\nvt 0.032357998 0.426771998\nvt 0.041173 0.408170015\nvt 0.026655 0.411258012\nvt 0.058068998 0.40773201\nvt 0.57615602 0.255180001\nvt 0.559526026 0.236800998\nvt 2.07152009 2.338831902\nvt 1.07852602 1.357010007\nvt 0.024075 0.33831501\nvt 0.009899 0.331835985\nvt 0.005012 0.344040006\nvt 0.003806 0.354456007\nvt 0.000172 0.417261004\nvt 0.000145 0.440340012\nvt 0 0.473012\nvt 0 0.462069005\nvt 0.000276 0.428359985\nvt 0 0.470254004\nvt 0 0.471460015\nvt 0 0.469920993\nvt 0 0.461647987\nvt 0.000521 0.407081991\nvt 0 0.441188991\nvt 0.00198 0.386445999\nvt -1.328475952 -4.459807873\nvt -5.276692867 -1.991390944\nvt -7.787799835 0.113797002\nvt 0 0.419086009\nvt 0 0.420194\nvt 0 0.449104995\nvt 0.00575 0.365837991\nvt 1.967110991 -4.544270992\nvt 3.426306963 -3.226551056\nvt 0 0.262679011\nvt 0 0.262805015\nvt 0.435997009 0.564365029\nvt 0 0.246121004\nvt 0 0.277603\nvt 0 0.248372003\nvt 3.427258015 1.453475952\nvt 8.197518349 5.59540987\nvt 0 0.293191999\nvt 0 0.310579985\nvt 0 0.320764005\nvt 0 0.295681\nvt 0 0.324739993\nvt 0 0.33781299\nvt 0 0.365491986\nvt 0 0.361229986\nvt 0 0.362399012\nvt 0 0.32543999\nvt 0 0.296671987\nvt 0 0.295444012\nvt 0 0.288738012\nvt 0 0.399805993\nvt 0 0.399805993\nvt 0 0.431840986\nvt 0 0.433876991\nvt 0 0.433824986\nvt 0 0.399805993\nvt 0 0.452683002\nvt 0 0.46082601\nvt 0 0.46984601\nvt 0 0.477344006\nvt 0 0.460617006\nvt 0 0.45174399\nvt 0 0.418240011\nvt 0 0.419753999\nvt 0 0.451685995\nvt 0 0.391508996\nvt 0 0.381056011\nvt -0.730404973 3.085896015\nvt 2.421133995 9.486115456\nvt -3.239132881 6.470980167\nvt 1.420037031 3.669826031\nvt -2.139034033 7.735881805\nvt 8.88056469 4.34986496\nvt 1.103667974 4.504959106\nvt -1.793447971 4.344196796\nvt 1.760313988 1.657745957\nvt 0 0.387167007\nvt 0 0.238902003\nvt 0 0.264921993\nvt 0 0.244416997\nvt 0 0.326999009\nvt 0 0.287889987\nvt 0 0.362789005\nvt 0 0.352052003\nvt 0 0.292335004\nvt 0 0.399805993\nvt 0 0.433869988\nvt 0 0.421916008\nvt 0 0.460799992\nvt 0 0.478210002\nvt 0 0.480809003\nvt 0 0.483209997\nvt 0 0.483714014\nvt 0 0.47507599\nvt 0 0.48290199\nvt 0 0.451512992\nvt 0 0.41732499\nvt 0 0.389771998\nvt 1.254907012 3.043104887\nvt 0.113635004 3.366023064\nvt 0.507156014 1.549980044\nvt -2.315607071 5.406516075\nvt 0.712028027 6.020926952\nvt 5.643834114 4.084167957\nvt 0.35383299 0.094108999\nvt 0.507156014 1.549980044\nvt 5.431217194 6.349237919\nvt 0.635086 3.692003012\nvt 0.507156014 1.549980044\nvt -0.866649985 3.271413088\nvt 0.872537017 1.186352015\nvt 0.507156014 1.549980044\nvt 0.229617 1.329282999\nvt 2.311085939 0.869504988\nvt 1.224382997 0.711026013\nvt 1.86966598 0.805136025\nvt 0.953767002 1.153697968\nvt 1.224382997 0.710619986\nvt 6.274553776 2.37962389\nvt 1.524481058 2.170635939\nvt 1.224382997 0.710696995\nvt 2.34551692 5.712677956\nvt 2.762104988 2.888439894\nvt 1.224382997 0.710842013\nvt 1.06201303 0.641565025\nvt 1.007889986 0.618526995\nvt 0.953767002 0.595498025\nvt 1.306059957 1.677147985\nvt 0 0.317007989\nvt 0.870953023 1.599635005\nvt 0 0.415677994\nvt 0 0.45976299\nvt 0 0.480609\nvt 2.376471043 2.82188797\nvt -2.236388922 1.693505049\nvt -1.982529044 -0.994610012\nvt -0.117711 -0.395639002\nvt 0.507156014 1.550140977\nvt 0.780452013 0.846500993\nvt 1.224382997 0.710489988\nvt 0.69621402 0.409583002\nvt 0 0.417643994\nvt 0 0.267782003\nvt 0 0.313921988\nvt 0 0.459012002\nvt 0 0.41217199\nvt 0 0.342159986\nvt 0 0.32365799\nvt 0 0.280615985\nvt 0 0.279417992\nvt 0 0.457782\nvt 0 0.466847986\nvt 0 0.362522006\nvt 0 0.370306998\nvt 0 0.232381001\nvt 0 0.343382001\nvt 0 0.422271013\nvt 0 0.304969013\nvt 0 0.324593008\nvt 0 0.291530997\nvt 0.022916 0.271786988\nvt 0.046622001 0.257515997\nvt 0.021692 0.279929012\nvt 0.015117 0.295742989\nvt 0.001845 0.379449993\nvt 0.000109 0.398844004\nvt 0 0.450028002\nvt 0 0.43117699\nvt 0.009694 0.319786012\nvt 0 0.34355101\nvt 0.011511 0.330365002\nvt 0 0.366926998\nvt 0 0.399805993\nvt 0.00727 0.35343799\nvt -0.063395001 1.500805974\nvt 0 0.265938014\nvt 0 0.250418007\nvt -0.507156014 1.443856955\nvt 0 0.264752001\nvt 0 0.247576997\nvt 0.008556 2.225111008\nvt 5.822177887 6.390041828\nvt 0 0.76049\nvt 7.245623112 7.126557827\nvt 9.6687994 3.967204094\nvt 1.803715944 0.293980986\nvt 10.704611778 0.045336001\nvt 9.557310104 -3.300652981\nvt 2.077692032 7.270277023\nvt 3.892862082 9.693476677\nvt -0.380367011 9.10447979\nvt -0.158703998 10.28976059\nvt -3.599159956 8.720514297\nvt -4.091716766 9.805210114\nvt -3.452018023 5.538350105\nvt -7.171484947 7.326368809\nvt -8.501872063 3.773225069\nvt -9.15550518 0.091169998\nvt -10.82578373 -0.040881\nvt -9.584718704 3.96904707\nvt -0.022907 -1.998664021\nvt -10.049865723 -4.16276598\nvt -6.347160816 -6.249680042\nvt -7.490383148 -7.349465847\nvt 3.393238068 1.408280015\nvt 2.002907038 -1.77265799\nvt 4.756455898 -1.665922046\nvt 1.492161989 -3.59442997\nvt -2.712759972 -1.880579948\nvt -1.65504396 3.40200901\nvt 9.421053886 -3.902801991\nvt 7.404266834 -7.537705898\nvt 4.140384197 -10.017344475\nvt 0.081500001 -10.529982567\nvt -4.136201859 -9.9845438\nvt -3.497726917 -8.39823246\nvt -0.767072976 -6.502273083\nvt 3.869302988 -4.254052162\nvt 0.218428001 -0.115291998\nvt 6.138775826 5.016100883\nvt 6.113812923 0.068723999\nvt 0 0.367141008\nvt 0.000001 -5.554244995\nvt 1 0\nvt 0.399937004 0.803839982\nvt 0.253578007 1.220602036\nvt 1.014312029 4.064175129\nvt 1.540547967 2.442241907\nvt -0.253578007 5.207912922\nvt 0.007117 0.319162011\nvt 3.624174118 -1.290307045\nvt 0.867236972 2.390993118\nvt -6.793335915 2.937325954\nvt 3.211086035 0.801760972\nvt 9.963409424 4.116670132\nvt 10.401591301 0.109105997\nvt 7.449243069 7.283645153\nvt 3.839750051 6.176139832\nvt 0.033810001 9.934454918\nvt 4.058234215 9.796834946\nvt -6.717307091 6.765183926\nvt -3.990257978 9.519159317\nvt 1.266860008 2.801553011\nvt -9.903406143 4.101480961\nvt -10.353930473 -0.119480997\nvt -10.172522545 -4.213582993\nvt -6.156641006 -6.175255775\nvt -7.498569012 -7.357651234\nvt -5.886423111 -2.359989882\nvt -1.109195948 3.615147114\nvt -4.749639988 1.120738983\nvt -1.452999949 -0.313407004\nvt -3.772197008 -1.396512032\nvt -1.761247993 -4.202335835\nvt 2.00534606 -3.145644903\nvt -0.122043997 10.336267471\nvt 3.353212118 1.567720056\nvt 9.749414444 -4.038747787\nvt 7.26267004 -7.446879864\nvt 4.048542023 -9.853967667\nvt 0.081500001 -10.537699699\nvt -3.955648899 -9.548368454\nvt -7.095797062 7.264962196\nvt 9.822860718 4.183910847\nvt 10.315958023 -1.146193027\nvt 8.998025894 1.889153004\nvt 6.636037827 8.338319778\nvt -0.026497999 10.997200012\nvt -5.115331173 8.611779213\nvt -5.655854225 2.457489014\nvt -9.881846428 4.092551231\nvt -9.52349472 -2.688352108\nvt 1.514155984 -10.295198441\nvt 5.048472881 -7.637927055\nvt 7.483993053 -7.612829208\nvt -3.157808065 -1.295637012\nvt -1.412858009 3.557847977\nvt 3.957093954 1.633224964\nvt 1.222054005 -4.10488081\nvt -4.100112915 -9.896871567\nvt -7.580488205 -7.486633778\nvt 0.054942999 -9.109792709\nvt 4.40121603 -8.429305077\nvt -0.510519981 -0.364942014\nvt -1.906906962 -4.441036224\nvt 7.285399914 7.176251888\nvt 10.406438828 1.572445035\nvt -0.127864003 10.43457222\nvt -6.270338058 8.122711182\nvt -3.680193901 8.975710869\nvt -8.068571091 3.406404972\nvt -10.243097305 1.534759045\nvt -9.397586823 -1.874071956\nvt -9.806071281 -4.47887516\nvt -6.512767792 -6.389358044\nvt -1.569651008 3.45261693\nvt 0.564207971 -2.712722063\nvt -4.015796185 -1.757969022\nvt 3.994466066 9.646460533\nvt 2.101298094 -9.919757843\nvt 3.752605915 1.406569004\nvt 8.25419426 -6.605298042\nvt -4.087214947 -9.866031647\nvt 0.054942999 -9.109792709\nvt 5.879955769 -7.438461781\nvt 7.676212788 -5.418218136\nvt 10.499821663 1.783939004\nvt 7.079395771 7.461174011\nvt -10.11164093 -1.757874966\nvt -5.226875782 -9.509654999\nvt -2.764388084 -2.596082926\nvt 2.084081888 -2.83108902\nvt -3.564815044 -1.736783981\nvt -1.367267966 3.979692936\nvt -0.156320006 0.053220998\nvt 2.644128084 -8.824011803\nvt -1.533568978 -8.496804237\nvt -3.919157982 0.98310101\nvt -0.071273997 -3.033941984\nvt 7.185059071 -1.897017956\nvt 4.585165977 3.804332972\nvt 9.576753616 4.077003002\nvt -0.186058 2.129441023\nvt -10.349727631 -0.322104007\nvt -5.405713081 -9.321103096\nvt 0.324357986 5.815702915\nvt -3.78136301 -1.84818697\nvt 1.639333963 0.974285007\nvt 4.730853081 5.172914982\nvt 4.845208168 9.498744965\nvt 10.009293556 1.371374011\nvt -1.045343995 7.509262085\nvt 2.059709072 -10.377866745\nvt -3.187906027 -8.345597267\nvt -1.818014979 -1.392132998\nvt 3.143517971 0.645126998\nvt -7.697920799 -3.712837934\nvt 4.284033775 -9.715741158\nvt -6.591012955 1.202172041\nvt 1.712000012 -3.442370892\nvt 7.041602135 7.438139915\nvt 3.226804018 -9.561785698\nvt 2.078963995 -7.706088066\nvt 1.975365996 9.896103859\nvt -0.91000098 -2.04470706\nvt -4.702334881 -8.474127769\nvt 3.360810041 0.599237978\nvt -0.26959601 3.237962961\nvt -10.001067162 -1.633345008\nvt 7.455314159 6.361845016\nvt 0.205206007 2.180541992\nvt 0 0.278663993\nvt 0 0.277987987\nvt 0.0148 0.267509013\nvt 0 0.277366012\nvt 0 0.277648002\nvt -2.422286987 1.302513957\nvt 3.67115593 9.841597557\nvt -8.936181068 -2.465240955\nvt -1.62737298 0.636976004\nvt 0.714128971 -8.569285393\nvt -0.187603995 -0.898797989\nvt 7.704323769 6.442379951\nvt 0.785019994 7.873176098\nvt 1.13372004 -10.121685028\nvt -1.576341033 1.113394976\nvt 2.53173399 9.923012733\nvt -0.425886005 -2.294222116\nvt -7.343822956 -5.912746906\nvt -6.675707817 6.675283909\nvt 3.013493061 -6.276793003\nvt -0.859001994 -0.888378024\nvt 3.22684598 2.441385984\nvt -9.693713188 3.032423019\nvt -8.629635811 -1.680907011\nvt 2.107255936 0.522349\nvt 0.941610992 -9.790031433\nvt -3.36620307 -0.281657994\nvt -4.368862152 -7.21405077\nvt 4.255915165 5.606409073\nvt 8.339569092 3.512644053\nvt -3.041260958 0.731733978\nvt -3.376434088 -7.189675808\nvt -5.285596848 1.80508101\nvt -0.064643003 9.42556572\nvt 9.88182354 2.786217928\nvt -5.488378048 -5.784070015\nvt -2.579293966 1.424373031\nvt 9.456915855 0.611644983\nvt -6.051610947 0.183449998\nvt -1.515452027 -6.571463108\nvt -0.104592003 -8.283529282\nvt -1.498399019 -2.343559027\nvt -5.375069141 -0.822142005\nvt 0 0.240196005\nvt 0 0.262032002\nvt 0 0.278315008\nvt 0.029081 0.214334995\nvt 0.046045002 0.220642\nvt 0.007379 0.224222004\nvt 0.000436 0.245115995\nvt 0.00069 0.282572001\nvt 0.001102 0.29735899\nvt 0.000581 0.342144012\nvt 0.002086 0.283652008\nvt 0.007922 0.281158\nvt 0.023 0.270011008\nvt 0.034216002 0.262768\nvt 0.542699993 0.069585003\nvt 0.028465999 0.271984011\nvt 0.553269982 0.068012998\nvt 2.092466116 2.186851025\nvt 1.090631962 1.192545056\nvt 0.331856996 0.454573989\nvt 0.100349002 0.206905007\nvt 0.059199002 0.229274005\nvt 0.104898997 0.203149006\nvt 0.086767003 0.197836995\nvt 0.060467001 0.207246006\nvt 0.038775001 0.248329997\nvt 0.569950998 0.482825011\nvt 0.524012029 0.483552009\nvt 0.660758018 0.478305012\nvt 0.75146699 0.460799992\nvt 0.766579986 0.457269013\nvt 0.608664989 1\nvt 0.616488993 0.235754997\nvt 0.674499989 0.234641001\nvt 0.673852026 1\nvt 0.751384974 0.232869998\nvt 0.739040017 1\nvt 0.758437991 0\nvt 0.179865003 0.27474001\nvt 0.224264994 0.340516001\nvt 0.276156992 0.275438011\nvt 0.167188004 0.488436997\nvt 0.220528007 0.50869\nvt 0.282839 0.493346989\nvt 0.35839501 0\nvt 0.631280005 0.25\nvt 0.69799298 0.25\nvt 0.707524002 0\nvt 0.623778999 0.469316989\nvt 0.689978004 0.467563987\nvt 0.77264899 0.463764995\nvt 0.783577979 0.237499997\nvt 0.226557001 0\nvt 0.763226986 0.738838017\nvt 0.681437016 0.742882013\nvt 0.677690983 0.870254993\nvt 0.759374976 0.867559016\nvt 0.616787016 0.753404975\nvt 0.614085019 0.877269983\nvt 0 0\nvt 0 0\nvt 0.228487998 0.031222001\nvt 0.227886006 0\nvt 1 0\nvt 0.235969007 0.109333001\nvt 0.250247985 0.780616999\nvt 0.237201005 0.895411015\nvt 0.089106999 0.788752019\nvt 0.072186999 0.893703997\nvt 1 0\nvt 0.225950003 1\nvt 0.37607199 0.252247006\nvt 0.370781004 0\nvt 0.382165015 0.48179999\nvt 0.485798001 0.474225014\nvt 0.485374987 0.250562012\nvt 0.5 0\nvt 0.487300009 0.778400004\nvt 0.392057002 0.810504019\nvt 0.381644011 0.921202004\nvt 0.484342992 0.895399988\nvt 0.294281989 0.845233977\nvt 0.310894996 0.917267025\nvt 0.293356001 0.954483986\nvt 0.297464013 0.017034\nvt 0.40369001 0.996621013\nvt 0.5 0\nvt 0.289783001 0.095592\nvt 0.360913992 0.210204005\nvt 0.263651013 0.114485003\nvt 0.290280014 0.160285994\nvt 0.263116002 0.216101006\nvt 0.285636008 0.309258014\nvt 0.479800999 0.230810001\nvt 0.758440971 0.255674988\nvt 0.863967001 0.29162699\nvt 0.120780997 0\nvt 0.842737019 0.456308007\nvt 0.881807983 0.437602997\nvt 0.980301023 0.238352001\nvt 0 0\nvt 0.906053007 0.200000003\nvt 0.886722028 0\nvt 0.884820998 0.456146002\nvt 0 0.5\nvt 0 0.25\nvt 0 0.772933006\nvt 0.874293983 0.749373972\nvt 0.871962011 0.874583006\nvt 0 0.88646698\nvt 0.869520009 1\nvt 0.866208017 0.229746997\nvt 0.22078 0.234457999\nvt 0.298305005 0.236315995\nvt 0.363754988 0.237597004\nvt 0.05923 0.877601981\nvt 0.041386001 0.842037976\nvt 0.045286 0.880765975\nvt 0.057967 0.911511004\nvt 0.036233999 0.755675972\nvt 0.038493998 0.763083994\nvt 0 0.042052999\nvt 0 0.042052999\nvt 0 0.042052999\nvt 0.061299 0.941676021\nvt 0.066754997 0.936417997\nvt 0.960602999 0.476705015\nvt 0.960602999 0.476705015\nvt 0.750476003 0.372428\nvt 0.650478005 0.322804004\nvt 0.634422004 0.314835995\nvt 0.527831972 0.261940002\nvt 0.311296999 0.154483005\nvt 0.394876987 0.19596\nvt 0.398461014 0.197739005\nvt 0.390879989 0.193976\nvt 0.655332983 0.325212985\nvt 0.010222 0.226025999\nvt 0 0.069030002\nvt 0 0.061624002\nvt 0 0.042052999\nvt 0 0.093468003\nvt 0 0.076954\nvt 0.022822 0.452791989\nvt 0.010377 0.475847989\nvt 0.0111 0.494545013\nvt 0.011137 0.498560011\nvt 0.010373 0.476648986\nvt 0.011014 0.474004\nvt 0.011893 0.477921009\nvt 0.01091 0.489515007\nvt 0.008806 0.40555501\nvt 0.009444 0.43494001\nvt 0.008415 0.387553006\nvt 0.007992 0.368099988\nvt 0.006974 0.321168989\nvt 0.006656 0.306555003\nvt 0.006811 0.313686013\nvt 0.622309029 0.308824986\nvt 0.335067987 0.166280001\nvt 0.25514099 0.126615003\nvt 0.570344985 0.283037007\nvt 0.018448999 0.243144006\nvt 0 0.256853014\nvt 0 0.335292011\nvt 0.019714 0.308863014\nvt 0 0.262201011\nvt 0 0.328081995\nvt 0 0.491706997\nvt 0.078373998 0.335997999\nvt 0.078856997 0.267233014\nvt 0.151765004 0.272929996\nvt 0.149154007 0.228042006\nvt 0.145800993 0.199654996\nvt 0.073798001 0.221122995\nvt 0.010705 0.469002008\nvt 0.017821001 0.580421984\nvt 0.019262001 0.604874015\nvt 0.010451 0.47428301\nvt 0.024389001 0.645277023\nvt 0.027186999 0.690325022\nvt 0.047219999 0.719173014\nvt 0.039186999 0.620615005\nvt 0.024336999 0.494462013\nvt 0.167631 0.653289974\nvt 0.226614997 0.672694027\nvt 0.172298998 0.771484017\nvt 0.230266005 0.799690008\nvt 0.293980986 0.681326985\nvt 0 0.096725002\nvt 0 0.096965998\nvt 0 0.149150997\nvt 0 0.149975002\nvt 0.01519 0.147973001\nvt 0.014398 0.096078001\nvt 0.060759999 0.138549998\nvt 0.057590999 0.089721002\nvt 0.128003001 0.124560997\nvt 0.123418003 0.079415999\nvt 0.148148 0.985439003\nvt 0.100152001 0.983087003\nvt 0.155371994 0.962745011\nvt 0.09894 0.960115016\nvt 0.245919004 0.924332023\nvt 0.239868 0.887018025\nvt 0.180634007 0.900498986\nvt 0.113025002 0.918600976\nvt 0.092254996 0.916640997\nvt 0.107376002 0.889469981\nvt 0.201409996 0.916146994\nvt 0.164364994 0.913242996\nvt 0.179708004 0.94679302\nvt 0.258249998 0.949527979\nvt 0.226793006 0.970553994\nvt 0.205715999 0.066684\nvt 0.208212003 0.108863004\nvt 0.214217007 0.187602997\nvt 0.215665996 0.242281005\nvt 0.135928005 0.361721009\nvt 0.208645001 0.347218007\nvt 0 0.099696003\nvt 0 0.150095999\nvt 0 0.042052999\nvt 0 0.093064003\nvt 0 0.138561994\nvt 0 0.137718007\nvt 0.028746 0.597113013\nvt 0.027883001 0.616409004\nvt 0.020609999 0.503772974\nvt 0.020128001 0.472268999\nvt 0.015281 0.501197994\nvt 0.019872 0.570410013\nvt 0.015562 0.53856498\nvt 0.008498 0.387805998\nvt 0.013997 0.494868994\nvt 0 0.294804007\nvt 0 0.274141014\nvt 0 0.213448003\nvt 0 0.276603997\nvt 0 0.203942999\nvt 0 0.215906993\nvt 0 0.271762013\nvt 0 0.199175999\nvt 0.016741 0.193255007\nvt 0.066964 0.180289999\nvt 0.137107998 0.164901003\nvt 0.213612005 0.151709005\nvt 0.155935004 0.953585029\nvt 0.10368 0.947889984\nvt 0.085920997 0.93740499\nvt 0.124920003 0.920768976\nvt 0.219677001 0.956045985\nvt 0.127579004 0.944693983\nvt 0.555728972 0.883203983\nvt 0.554332018 1\nvt 0.557142019 0.762305021\nvt 0.565425992 0.25\nvt 0.561028004 0.470800996\nvt 0.570802987 0\nvt 0.431342989 0.238867\nvt 0.516324997 0.240348995\nvt 0 0.258774012\nvt 0 0.287597001\nvt 0 0.30409199\nvt 0 0.311751008\nvt 0 0.338441998\nvt 0 0.380650014\nvt 0 0.331553012\nvt 0 0.375187993\nvt 0 0.392980009\nvt 0 0.41068399\nvt 0 0.369675994\nvt 0 0.395994991\nvt 0 0.420235991\nvt 0 0.143557996\nvt 0 0.211048007\nvt 0 0.148929998\nvt 0 0.203024998\nvt 0.01545 0.400891989\nvt 0.016151 0.378758013\nvt 0.011231 0.328900993\nvt 0.011152 0.306286991\nvt 0.010873 0.27879101\nvt 0.103436999 0.745434999\nvt 0.096899003 0.636341989\nvt 0.090448 0.478325993\nvt 0.085127003 0.245885\nvt 0.022213999 0.147735998\nvt 0.026846001 0.317716986\nvt 0.219220996 0.856837988\nvt 0.172295004 0.845198989\nvt 0.109016001 0.83110702\nvt 0.054774001 0.809162021\nvt 0.034956999 0.773968995\nvt 0.030582 0.702690005\nvt 0.022665 0.57249099\nvt 0.015593 0.48921901\nvt 0.017859999 0.493526995\nvt 0.018292001 0.467207015\nvt 0.013001 0.461681992\nvt 0.014169 0.433288008\nvt 0.011166 0.429403991\nvt 0.011212 0.385293007\nvt 0.011224 0.355778992\nvt 0.023737 0.019292001\nvt 0.003301 0.031686999\nvt 0.011017 0.026054\nvt 0.041528001 0.024211001\nvt 0.004538 0.060206998\nvt 0.013855 0.042888999\nvt 0.044946 0.032924\nvt 0.010568 0.081106998\nvt 0.008446 0.093411997\nvt 0.021218 0.076825999\nvt 0.00669 0.308118999\nvt 0.005627 0.259162009\nvt 0.004623 0.212919995\nvt 0.004227 0.194686994\nvt 0.005044 0.110120997\nvt 0.004409 0.203073993\nvt 0.00348 0.131142005\nvt 0.004832 0.222526997\nvt 0.149931997 0.074404001\nvt 0.202859998 0.100670002\nvt 0.241869003 0.120029002\nvt 0.316069007 0.156850994\nvt 0.231849 0.115056001\nvt 0.158138007 0.078477003\nvt 0.132157996 0.065583996\nvt 0.633958995 0.242266998\nvt 0.116962999 0.231457993\nvt 0 0.388078988\nvt 0 0.353329003\nvt 0 0.301450014\nvt 0 0.328803986\nvt 0.558291018 0.236901999\nvt 0.146509007 0.483458996\nvt 0.365727007 0.485704005\nvt 0.008162 0.484165013\nvt 0.073798999 0.486364007\nvt 0.143358007 0.481236994\nvt 0.243534997 0.485980004\nvt 0.343879014 0.485753\nvt 0 0.426618993\nvt 0 0.425264001\nvt 0 0.395837009\nvt 0 0.395025015\nvt 0 0.364807993\nvt 0 0.361591995\nvt 0 0.289698005\nvt 0 0.296467006\nvt 0 0.270615011\nvt 0 0.262071013\nvt 0 0.242452994\nvt 0 0.231753007\nvt 0 0.195993006\nvt 0 0.150331005\nvt 0 0.150772005\nvt 0 0.191366002\nvt 0 0.099728003\nvt 0 0.099367999\nvt 0 0.071676001\nvt 0 0.071813002\nvt 0 0.042052999\nvt 0.001194 0.077261001\nvt 0.003166 0.149474993\nvt 0.006327 0.203615993\nvt 0.006953 0.239142999\nvt 0.004125 0.192344993\nvt 0.007671 0.281280011\nvt 0.005101 0.236185998\nvt 0.008609 0.343061\nvt 0.009481 0.401286006\nvt 0.008281 0.38203001\nvt 0.006789 0.313549995\nvt 0.005776 0.267196\nvt 0.009817 0.452261001\nvt 0.010406 0.461452007\nvt 0.010828 0.489475995\nvt 0.01053 0.484970003\nvt 0.01082 0.496019006\nvt 0.010786 0.496746004\nvt 0.009068 0.417643994\nvt 0.008804 0.405470997\nvt 0.008058 0.371102005\nvt 0.00831 0.38271901\nvt 0.007202 0.331701994\nvt 0.00744 0.34265399\nvt 0.005157 0.237490997\nvt 0.003179 0.146412998\nvt 0.003934 0.181168005\nvt 0.005364 0.247042\nvt 0.001791 0.082464002\nvt 0.001606 0.073978998\nvt 0.000831 0.038259\nvt 0.000938 0.043191999\nvt 0.020165 0.019469\nvt 0.017790999 0.019510999\nvt 0.134544998 0.066768996\nvt 0.152128994 0.075494997\nvt 0.209370002 0.103900999\nvt 0.187040001 0.092820004\nvt 0.276147008 0.137040004\nvt 0.244953007 0.121559002\nvt 0.461095989 0.228821993\nvt 0.334327012 0.165912002\nvt 0.617700994 0.306537986\nvt 0.593304992 0.294431001\nvt 0.43293801 0.214847997\nvt 0.303537011 0.150631994\nvt 0 0.461540014\nvt 0.016524 0.019059001\nvt 0.000953 0.043907002\nvt 0.015857 0.018394999\nvt 0.000924 0.042562\nvt 0.001833 0.082029998\nvt 0.001822 0.083924003\nvt 0.003967 0.182699993\nvt 0.005434 0.250250995\nvt 0.004307 0.181171998\nvt 0.005824 0.250526994\nvt 0.007283 0.320125997\nvt 0.006905 0.317992002\nvt 0.007542 0.347353011\nvt 0.008449 0.389111012\nvt 0.00785 0.350450993\nvt 0.008697 0.392396003\nvt 0.009377 0.429834992\nvt 0.009229 0.425027996\nvt 0.010781 0.497321993\nvt 0.010411 0.482643992\nvt 0.010791 0.497810006\nvt 0.010382 0.481411994\nvt 0.009596 0.44600901\nvt 0.009591 0.447939008\nvt 0.00791 0.376834989\nvt 0.006183 0.303714991\nvt 0.007708 0.354546994\nvt 0.006389 0.303844988\nvt 0.005035 0.25308001\nvt 0.005018 0.254397988\nvt 0.004442 0.230021\nvt 0.003225 0.178543001\nvt 0.004199 0.219869003\nvt 0.003292 0.181459993\nvt 0.002259 0.137666002\nvt 0.002171 0.133947998\nvt 0.000273 0.061016999\nvt 0 0.071691997\nvt 0.000287 0.061553001\nvt 0 0.071445003\nvt 0.000001 0.099335\nvt 0 0.099620998\nvt 0 0.150633007\nvt 0 0.190559998\nvt 0.000003 0.149869993\nvt 0.000002 0.191230997\nvt 0 0.231619999\nvt 0 0.230731994\nvt 0 0.259972006\nvt 0 0.261013001\nvt 0 0.290188015\nvt 0 0.288551003\nvt 0 0.361036003\nvt 0 0.396077007\nvt 0 0.361737996\nvt 0 0.397783995\nvt 0 0.431501001\nvt 0 0.430732012\nvt 0 0.486530989\nvt 0 0.485397995\nvt 0.589724004 0.292654008\nvt 0.426028013 0.211419001\nvt 0.593686998 0.294654995\nvt 0.426964998 0.212020993\nvt 0.290780991 0.144519001\nvt 0.292995006 0.145401001\nvt 0.236789003 0.117508002\nvt 0.177465007 0.088068001\nvt 0.235255003 0.116933003\nvt 0.174976006 0.086970001\nvt 0.121872 0.060513999\nvt 0.125793993 0.062426001\nvt 0 0.352551013\nvt 0 0.339051008\nvt 0 0.329775006\nvt 0 0.324678004\nvt 0 0.323716015\nvt 0 0.324817985\nvt 0 0.44226101\nvt 0 0.446925014\nvt 0 0.45549199\nvt 0 0.458018005\nvt 0 0.466892004\nvt 0 0.461434007\nvt 0 0.474620998\nvt 0 0.103375003\nvt 0 0.117720999\nvt 0 0.123195998\nvt 0 0.123948999\nvt 0 0.124127999\nvt 0.000002 0.124222003\nvt 0.014539 0.318646014\nvt 0.010262 0.247618005\nvt 0.005715 0.168679997\nvt 0.002218 0.107130997\nvt 0.001092 0.088270999\nvt 0.001149 0.090662003\nvt 0.009935 0.457563996\nvt 0.010096 0.464978993\nvt 0.010197 0.469606996\nvt 0.010266 0.47279501\nvt 0.011045 0.455334991\nvt 0.010001 0.435461015\nvt 0.009136 0.421229005\nvt 0.008826 0.415567994\nvt 0.008994 0.414011002\nvt 0.008242 0.378843009\nvt 0.011355 0.067336999\nvt 0.004404 0.088908002\nvt 0.002272 0.104618996\nvt 0.002473 0.113894999\nvt 0.003205 0.147621006\nvt 0.002522 0.116159\nvt 0.002712 0.115309\nvt 0.00353 0.149127007\nvt 0.003311 0.152498007\nvt 0.083724998 0.041549001\nvt 0.079829998 0.039616\nvt 0.070228003 0.034851\nvt 0.065141998 0.032327\nvt 0.062503003 0.031017\nvt 0.210883006 0.453220993\nvt 0.141185001 0.44848299\nvt 0.166639999 0.477901995\nvt 0.227650002 0.478680015\nvt 0.078215003 0.437552989\nvt 0.114247002 0.459944993\nvt 0.160903007 0.460853994\nvt 0.181227997 0.492276013\nvt 0.238334 0.491315007\nvt 0.361526996 0.221268997\nvt 0.31131199 0.206035003\nvt 0.254480004 0.160842001\nvt 0.312828004 0.178197995\nvt 0.291994005 0.209674001\nvt 0.231964007 0.165055007\nvt 0.200982004 0.194051996\nvt 0.191226006 0.152207002\nvt 0.234396994 0.132801995\nvt 0 0.460240006\nvt 0 0.478726\nvt 0 0.432639986\nvt 1 0\nvt 0 0.461178988\nvt 0 0.478720993\nvt 0 0.398934007\nvt 0 0.362298012\nvt 0 0.360139996\nvt 0 0.399587989\nvt 0 0.325910002\nvt 0 0.291774005\nvt 0 0.293267012\nvt 0 0.324409008\nvt 0 0.261891991\nvt 0 0.240499005\nvt 0 0.232381001\nvt 0 0.266101003\nvt 0.000009 0.191036999\nvt 0.000002 0.220478997\nvt 0.000011 0.150768995\nvt 0.003317 0.172242001\nvt 0.013484 0.196503997\nvt 0.014746 0.226248994\nvt 0.000009 0.124720998\nvt 0.000013 0.143417001\nvt 0.000002 0.099157996\nvt 0.000003 0.140586004\nvt 0.000013 0.165833995\nvt 0 0.071203001\nvt 0.0003 0.062043\nvt 0.000173 0.098085999\nvt 0 0.112129003\nvt 0.001201 0.092864998\nvt 0.002342 0.141259\nvt 0.002101 0.162798002\nvt 0.001082 0.121132001\nvt 0.003366 0.184817001\nvt 0.004411 0.229135007\nvt 0.025374999 0.251316994\nvt 0.002994 0.200398996\nvt 0.007007 0.304226995\nvt 0.005126 0.250806987\nvt 0.008749 0.357535005\nvt 0.019216999 0.383459985\nvt 0.028793 0.310438991\nvt 0.009562 0.412092\nvt 0.009484 0.388563007\nvt 0.009702 0.443996012\nvt 0.00825 0.442178994\nvt 0.008848 0.418404996\nvt 0.010353 0.480185002\nvt 0.010801 0.498277009\nvt 0.009456 0.482145011\nvt 0.009041 0.469372988\nvt 0.010333 0.475888014\nvt 0.009606 0.434273988\nvt 0.008285 0.419378012\nvt 0.009083 0.461259007\nvt 0.009277 0.394692987\nvt 0.009032 0.364360988\nvt 0.019963 0.350111991\nvt 0.008585 0.382930994\nvt 0.006995 0.251278013\nvt 0.008356 0.323664993\nvt 0.005379 0.178964004\nvt 0.015431 0.170430005\nvt 0.030471001 0.259481013\nvt 0.003334 0.115239002\nvt 0.004374 0.140820995\nvt 0.001955 0.080453001\nvt 0.001676 0.136522993\nvt 0.003441 0.157502994\nvt 0.000897 0.041315001\nvt 0.015284 0.017802\nvt 0.013045 0.069127999\nvt 0.000769 0.091665998\nvt 0.060238998 0.029894\nvt 0.118772998 0.059080001\nvt 0.09956 0.100359\nvt 0.051410999 0.075488999\nvt 0.173901007 0.086850002\nvt 0.215978995 0.108052\nvt 0.151933998 0.114780001\nvt 0.422345996 0.210142002\nvt 0.284974009 0.142290995\nvt 0.591924012 0.293882996\nvt 0.590404987 0.298182011\nvt 0.423579007 0.215756997\nvt 0.738153994 0.36631301\nvt 0.733705997 0.369300991\nvt 0.73864001 0.366555005\nvt 0.735656977 0.365074009\nvt 0.740049005 0.367253989\nvt 0.76266098 0.37847501\nvt 0 0.231830001\nvt 0 0.231115997\nvt 0.000881 0.484201014\nvt 0.015585 0.478758007\nvt 0.00022 0.484620005\nvt 0 0.479236007\nvt 0 0.485092014\nvt 0.009018 0.377499014\nvt 0.008554 0.350497991\nvt 0.004416 0.152346998\nvt 0.235365003 0.117535003\nvt 0.012887 0.863084018\nvt 0.021880001 0.774912\nvt 0.121320002 0.482724994\nvt 0.099381 0.278638989\nvt 0.035078999 0.333332986\nvt 0.044073001 0.49516201\nvt 0.389862001 0.665961027\nvt 0.487111986 0.644088984\nvt 0.558588028 0.633203983\nvt 0.619482994 0.627269983\nvt 0.684994996 0.620254993\nvt 0.766758978 0.617559016\nvt 0.876407981 0.624583006\nvt 0 0.63646698\nvt 0.035974 0.647312999\nvt 0.11169 0.652261019\nvt 0.266889006 0.645411015\nvt 0.273687989 0.481658012\nvt 0.257209003 0.281221986\nvt 0.030898999 0.360646993\nvt 0.068120003 0.380169988\nvt 0.067737997 0.404089004\nvt 0.016935 0.397267014\nvt 0.142386004 0.393007994\nvt 0.141958997 0.413773\nvt 0.143619001 0.435754001\nvt 0.065612003 0.429962009\nvt 1 0\nvt 0.081509002 0.271196991\nvt 0.081488997 0.296175003\nvt 0.273950011 0.524577022\nvt 0.166604996 0.302320004\nvt 0.166094005 0.323657006\nvt 0.156995997 0.347934008\nvt 0.076358996 0.326144993\nvt 0.176234007 0.342940986\nvt 0.338254005 0.451658994\nvt 0.233253002 0.442598999\nvt 0.229142994 0.424632013\nvt 0.327298999 0.437002003\nvt 0.228944004 0.407779992\nvt 0.333561987 0.425617009\nvt 0.349427998 0.399488986\nvt 0.246191993 0.371897012\nvt 0.256933004 0.353011012\nvt 0.352966011 0.38391\nvt 0.242918 0.323543996\nvt 0.342546999 0.359405011\nvt 0.661827981 0.481370986\nvt 0.462359995 0.46409899\nvt 0.434435993 0.451216996\nvt 0.462004006 0.447650999\nvt 0.472184002 0.43216601\nvt 0.453155994 0.41602999\nvt 0.480340987 0.417212993\nvt 0.071447998 0.354166001\nvt 0.142862007 0.300035\nvt 0.148246005 0.371057004\nvt 0.235744998 0.390177011\nvt 0.332807004 0.411276996\nvt 0.438293993 0.434105992\nvt 0.057052001 0.461827993\nvt 0 0.451281995\nvt 0.238187999 0.463544995\nvt 0.334845006 0.468246013\nvt 0.429291993 0.475317001\nvt 0.524700999 0.483512998\nvt 0.058974002 0.243610993\nvt 0.071092002 0.258148998\nvt 0.129972994 0.271771014\nvt 0.149593994 0.288015008\nvt 0.052310001 0.188473001\nvt 0.053895 0.214160994\nvt 0.120913997 0.221689999\nvt 0.122653998 0.244617\nvt 0.08941 0.275795013\nvt 0.081033997 0.249541998\nvt 0.276214987 0.481063992\nvt 0.177956 0.307812989\nvt 0.164927006 0.283158004\nvt 0.146643996 0.268124014\nvt 0.069732003 0.236159995\nvt 0.176598996 0.259916008\nvt 0.029352 0.208893001\nvt 0.049157001 0.210220993\nvt 0.047359001 0.200954005\nvt 0.012855 0.212050006\nvt 0.113466002 0.238839999\nvt 0.111123003 0.230290994\nvt 0.114575997 0.224227995\nvt 0.049015 0.193141997\nvt 0.012943 0.207507998\nvt 0.225032002 0.309639007\nvt 0.221176997 0.28848201\nvt 0.222435996 0.270934999\nvt 0.343894988 0.329937994\nvt 0.33315599 0.338279009\nvt 0.336906999 0.330042005\nvt 0.215433002 0.272026002\nvt 0.210947007 0.276192993\nvt 0.225658 0.29480499\nvt 0.350951999 0.351720005\nvt 0.244387001 0.308887005\nvt 0.262151986 0.322245002\nvt 0.364374012 0.363395989\nvt 0.274980992 0.342869997\nvt 0.380185992 0.381051004\nvt 0.448332995 0.401766986\nvt 0.46835801 0.406008989\nvt 0.442285001 0.386532009\nvt 0.472312987 0.392428994\nvt 0.468832999 0.392060012\nvt 0.438430995 0.380748987\nvt 0.466125011 0.396075994\nvt 0.479658008 0.407126993\nvt 0.463259012 0.403207988\nvt 0.493272007 0.422437012\nvt 0.057859998 0.222505003\nvt 0.141141996 0.179914996\nvt 0.127397999 0.252400994\nvt 0.444750011 0.389472991\nvt 0.050673999 0.185223997\nvt 0.013025 0.203234002\nvt 0.118031003 0.218127996\nvt 0.219891995 0.267861009\nvt 0.445235014 0.377837986\nvt 0.098803997 0.38381201\nvt 0.092502996 0.328058004\nvt 0.184244007 0.398972005\nvt 0.181439996 0.352394015\nvt 0.112466998 0.359124005\nvt 0.131771997 0.407725006\nvt 0.063037001 0.384131998\nvt 0.205568001 0.379808009\nvt 0.217024997 0.420199007\nvt 0.226430997 0.448074996\nvt 0.152886003 0.441763997\nvt 0.197603002 0.449725002\nvt 0.278903008 0.378757\nvt 0.280954987 0.415861994\nvt 0.386321992 0.434062988\nvt 0.378286988 0.405568004\nvt 0.387006998 0.452502012\nvt 0.288174987 0.440144002\nvt 0.309677005 0.479359001\nvt 0.407157004 0.483291\nvt 0.317104012 0.489578009\nvt 0.310685009 0.454748988\nvt 0.305541009 0.432660013\nvt 0.394986004 0.445032001\nvt 0.298797995 0.40101099\nvt 0.39645499 0.423123002\nvt 0.472983986 0.431252003\nvt 0.497731 0.453159004\nvt 0.50445801 0.471931994\nvt 0.487372994 0.480488002\nvt 0.511026025 0.48428601\nvt 0.507547975 0.469909012\nvt 0.483024001 0.457239985\nvt 0.502837002 0.446534008\nvt 0.173006997 0.475089014\nvt 0.242659003 0.414772987\nvt 0.235731006 0.476446986\nvt 0.315990001 0.477548987\nvt 0.489241987 0.479512006\nvt 0.116802 0.420536995\nvt 0.057712998 0.419214994\nvt 0.195235997 0.429616988\nvt 0.47814101 0.461427003\nvt 0.096887998 0.212257996\nvt 0.097777002 0.282112986\nvt 0.183688998 0.253385007\nvt 0.190118 0.313892007\nvt 0.814143002 0.446496993\nvt 0.713445008 0.396598011\nvt 0.724804997 0.380468994\nvt 0.843425989 0.439792007\nvt 0.604000986 0.340974003\nvt 0.595098019 0.315391988\nvt 0.284956992 0.196658\nvt 0.189658999 0.172896996\nvt 0.170715004 0.176235005\nvt 0.234266996 0.129075006\nvt 0.25128001 0.217574\nvt 0.222903997 0.223900005\nvt 0.148715004 0.180016994\nvt 0.101179004 0.16956\nvt 0.288693994 0.349534005\nvt 0.284195989 0.301784009\nvt 0.392477989 0.354285985\nvt 0.387239993 0.385580003\nvt 0.406078011 0.332253009\nvt 0.309709013 0.275211006\nvt 0.325845987 0.26919499\nvt 0.419838011 0.322259992\nvt 0.445255995 0.323736995\nvt 0.364156991 0.263388991\nvt 0.381184995 0.261685997\nvt 0.455157012 0.320591003\nvt 0.422268987 0.27474001\nvt 0.490249991 0.334376007\nvt 0.627309978 0.402130008\nvt 0.615112007 0.370386988\nvt 0.701617002 0.414469987\nvt 0.748207986 0.461593002\nvt 0.781175017 0.454044998\nvt 0.479490012 0.418568999\nvt 0.502605975 0.40772\nvt 0.508960009 0.393325001\nvt 0.491030991 0.376920015\nvt 0.516153991 0.388137996\nvt 0.532095015 0.38825199\nvt 0.524282992 0.375542015\nvt 0.560663998 0.395938993\nvt 0.639476001 0.434702009\nvt 0.705017984 0.471482009\nvt 0.118987001 0.185126007\nvt 0.058497 0.186298996\nvt 0.199301004 0.229222\nvt 0.294272006 0.281318009\nvt 0.392755002 0.335397005\nvt 0.483610004 0.385439992\nvt 0.210216001 0.169121996\nvt 0.401531994 0.404899001\nvt 0.273317993 0.213172004\nvt 0.347472012 0.265008003\nvt 0.503997982 0.374321997\nvt 0.442070007 0.238841996\nvt 0.472891986 0.274390012\nvt 0.511120021 0.317391992\nvt 0.551286995 0.362219989\nvt 0.587930024 0.403245002\nvt 0.114583001 0.409321994\nvt 0 0.462069005\nvt 0 0.473012\nvt 0.083333001 0.43365401\nvt 0 0.461647987\nvt 0 0.469920993\nvt 0 0.471460015\nvt 0 0.470254004\nvt 0.114583001 0.418063015\nvt 0 0.441188991\nvt 0.125 0.392637014\nvt 0 0.449104995\nvt 0 0.420194\nvt 0 0.419086009\nvt -7.141963005 0.138758004\nvt -5.276692867 -1.991390944\nvt -0.839206994 -2.420198917\nvt 0.09375 0.38121599\nvt 1.825762987 -4.189947128\nvt 0 0.262679011\nvt 0 0.246121004\nvt 0 0.248035997\nvt 0 0.262805015\nvt 6.396882057 1.602138996\nvt 0.45956099 0.430159003\nvt 0 0.257259995\nvt 0 0.293191999\nvt 0 0.295681\nvt 0 0.320764005\nvt 0 0.310579985\nvt 0 0.288738012\nvt 0 0.295444012\nvt 0 0.296671987\nvt 0 0.32543999\nvt 0 0.362399012\nvt 0 0.361229986\nvt 0 0.365491986\nvt 0 0.33781299\nvt 0 0.324739993\nvt 0 0.399805993\nvt 0 0.399805993\nvt 0 0.399805993\nvt 0 0.433824986\nvt 0 0.433876991\nvt 0 0.431840986\nvt 0 0.46082601\nvt 0 0.452683002\nvt 0 0.460617006\nvt 0 0.477344006\nvt 0 0.46984601\nvt 0 0.45174399\nvt 0 0.451685995\nvt 0 0.419753999\nvt 0 0.418240011\nvt 0 0.381056011\nvt 0 0.391508996\nvt 0 0.387167007\nvt 0.302469999 1.057350039\nvt -1.470492959 4.322775841\nvt 0.439900011 1.380300999\nvt 6.241769791 7.831552982\nvt -0.670795977 2.840840101\nvt 2.240200043 9.285909653\nvt -3.503516912 5.39261198\nvt -1.500123024 9.171250343\nvt -3.225791931 4.423010826\nvt 0 0.237718001\nvt 0 0.242807999\nvt 0 0.264921993\nvt 0 0.287889987\nvt 0 0.326999009\nvt 0 0.292335004\nvt 0 0.352052003\nvt 0 0.362789005\nvt 0 0.399805993\nvt 0 0.421916008\nvt 0 0.433869988\nvt 0 0.460799992\nvt 0 0.480574995\nvt 0 0.478210002\nvt 0 0.483714014\nvt 0 0.483209997\nvt 0 0.48290199\nvt 0 0.47507599\nvt 0 0.451512992\nvt 0.419669002 1.624675035\nvt 0 0.41732499\nvt 3.357116938 4.102948189\nvt 0.507156014 1.549980044\nvt -1.510637999 5.535513878\nvt 0.507156014 1.549980044\nvt 1.401445031 2.292351007\nvt 0.507156014 1.549980044\nvt 4.09260416 0.669586003\nvt -0.101323999 1.476120949\nvt 6.759306908 6.329835892\nvt -2.705533028 7.283401966\nvt 0.507156014 1.549980044\nvt 1.32861805 7.036108017\nvt 0.406271994 1.294883966\nvt -3.473932028 5.203025818\nvt 0.507156014 1.549980044\nvt 1.224382997 0.711026013\nvt 0.208883002 0.526805997\nvt 0.953767002 0.595498025\nvt 1.224382997 0.710963011\nvt 0.953767002 0.595417976\nvt 1.539791942 0.713533998\nvt 1.224382997 0.710842013\nvt 1.286813021 4.040417194\nvt 1.895441055 0.95132798\nvt 1.224382997 0.710696995\nvt 1.224382997 0.71073997\nvt 1.967370987 4.234955788\nvt 1.224382997 0.710657001\nvt 2.606017113 1.669538021\nvt 3.509552002 1.452226043\nvt 0.507156014 1.42781198\nvt 0.664331019 2.04440999\nvt 0 0.233423993\nvt -0.678290009 1.510195017\nvt 0 0.264142007\nvt 0 0.275889993\nvt 0 0.313677996\nvt 0 0.399010986\nvt 0 0.415414989\nvt 0 0.483868003\nvt 0 0.480271012\nvt -0.577883005 2.118731022\nvt 0.120908998 0.541143\nvt -1.940806985 -1.152642012\nvt 1.392724037 1.646034002\nvt 0.583486974 1.969743967\nvt 2.983412027 0.335121989\nvt 0.395063013 0.59494698\nvt -0.584470987 -0.733590007\nvt 1.224382997 0.710489988\nvt 0 0.283861995\nvt 0 0.321256012\nvt 0 0.266265988\nvt 0 0.415414989\nvt 0 0.459807992\nvt 0 0.417571008\nvt 0 0.270033985\nvt 0 0.244462997\nvt 0 0.317956001\nvt 0 0.416884989\nvt 0 0.432020992\nvt 0 0.438309014\nvt 0 0.262299001\nvt 0 0.447885007\nvt 0 0.366802007\nvt 0 0.356806993\nvt 0 0.324593008\nvt 0 0.304969013\nvt 0 0.328606993\nvt 0 0.309902012\nvt 0 0.29817301\nvt 0 0.286902994\nvt 0 0.291530997\nvt 0.03125 0.417127997\nvt 0 0.43117699\nvt 0 0.450028002\nvt 0.125 0.393830001\nvt 0 0.34355101\nvt 0 0.345156997\nvt 0 0.366926998\nvt 0 0.367327988\nvt 0 0.399805993\nvt 0 0.399805993\nvt -0.063395001 1.500805974\nvt -0.507156014 1.443856955\nvt 0 0.250418007\nvt 0 0.265938014\nvt 0 0.76049\nvt 5.822177887 6.390041828\nvt -0.35848701 2.889179945\nvt 0 0.247576997\nvt 0 0.264752001\nvt 10.288694382 0.027845001\nvt 9.533141136 3.916834116\nvt 1.803715944 0.293980986\nvt 7.300351143 7.217739105\nvt 3.935703993 9.723071098\nvt 2.077691078 7.270277023\nvt -0.380367011 9.104478836\nvt -0.131081998 10.434941292\nvt -4.041985989 9.663069725\nvt -3.599159956 8.720514297\nvt -3.452018023 5.538350105\nvt -7.317142963 7.445569038\nvt -8.37332058 3.722250938\nvt -9.572872162 3.964140892\nvt -10.709031105 -0.065858997\nvt -9.155506134 0.091169998\nvt -10.074575424 -4.173007965\nvt -1.511594057 -1.98563695\nvt -6.048447132 -5.928468227\nvt -7.490383148 -7.349464893\nvt 4.855642796 -2.007580042\nvt 2.002907038 -1.77265799\nvt 3.287736893 1.504930019\nvt 2.379915953 -5.818425179\nvt -0.147077993 -3.461388111\nvt -1.465044975 3.396063089\nvt -3.121040106 -0.955681026\nvt 4.089898109 -9.914923668\nvt 0.081500001 -10.529981613\nvt -4.206936836 -10.156023026\nvt -0.938238025 -5.948597908\nvt -3.497726917 -8.39823246\nvt 7.329508781 -7.490632057\nvt 3.869302988 -4.254052162\nvt 7.518426895 -2.015584946\nvt 9.737178802 -4.033411026\nvt 0.218428001 -0.115291998\nvt 5.601571083 4.374416828\nvt 0 0.367141008\nvt 6.353691101 0.064567998\nvt 0.000001 -5.554244995\nvt 1 0\nvt 0.380367011 0.817179978\nvt 1.521468043 2.459825039\nvt 1.014312029 4.064175129\nvt 0.253578007 1.220602036\nvt -0.253578007 5.207912922\nvt 2.914031982 -0.971255004\nvt 3.619796991 1.079138041\nvt -6.793335915 2.937325954\nvt 1.096497059 2.935553074\nvt 10.401591301 0.109105997\nvt 10.090511322 4.172752857\nvt 8.68914032 3.637520075\nvt 7.551715851 7.405282974\nvt 3.839750051 6.176139832\nvt 3.998694897 9.65310955\nvt 0.043954 9.64341259\nvt -4.011408806 9.57773304\nvt 2.715401888 0.25860101\nvt -6.717306137 6.765183926\nvt -9.749984741 4.037717819\nvt -10.508016586 -0.099568002\nvt -10.178336143 -4.215993881\nvt -7.512210846 -7.371293068\nvt -6.329389095 -6.346142769\nvt 4.657269001 -1.32426405\nvt 2.002907038 -1.77265799\nvt 3.399950027 1.831750989\nvt 0.552111983 -3.657891989\nvt -7.134471893 7.295002937\nvt -1.552276015 3.575900078\nvt -0.154857993 10.165240288\nvt 7.463099003 -7.589389801\nvt 9.458106995 -3.918286085\nvt -4.029513836 -9.726410866\nvt 0.082470998 -10.536148071\nvt 3.951199055 -9.655225754\nvt 2.088979959 -1.822690964\nvt -2.667804003 -0.816496015\nvt 8.998025894 1.889153004\nvt 10.823522568 0.043712001\nvt 8.631875038 5.630622864\nvt 2.440572023 10.29312706\nvt -4.839282036 8.910822868\nvt -9.89675045 4.098723888\nvt -5.655854225 2.457489967\nvt -10.277349472 -0.127685994\nvt -7.905200005 -2.177819967\nvt -9.571577072 -4.376453876\nvt -1.653103948 3.476883888\nvt 0.825266004 -2.877588987\nvt -3.880892992 -1.145333052\nvt 8.794104576 -5.43827486\nvt 4.389033794 1.491606951\nvt -4.13353014 -9.97714901\nvt 1.908352017 -10.307296753\nvt 0.054942999 -9.109792709\nvt 5.325791836 -7.404051781\nvt -0.510519981 -0.364942014\nvt -1.906906962 -4.441036224\nvt 7.830152988 6.906497955\nvt 9.921829224 -2.771667957\nvt -0.026900999 10.900208473\nvt 3.981374025 9.610424042\nvt -6.330305099 8.126373291\nvt -8.973711014 3.742105961\nvt -7.026909828 -8.115298271\nvt -9.695981979 -2.489412069\nvt -7.35841608 -5.625995159\nvt -9.71591568 -0.005505\nvt 5.514095783 -8.514465332\nvt 0.569092989 -9.64700222\nvt -4.105473995 -1.349280953\nvt -1.017670989 2.096348047\nvt 3.927172899 1.576887012\nvt 1.591464043 -3.780343056\nvt 7.201777935 -6.345608234\nvt -4.430757999 -1.645015955\nvt 1.264245033 -4.176167011\nvt -1.383821964 3.502309084\nvt -1.886301041 -0.284518003\nvt 2.56754303 -8.900723457\nvt 10.210421562 -2.301422119\nvt 9.014674187 4.022593975\nvt 5.174886227 9.467261314\nvt -9.353672981 -3.807163954\nvt -4.14004612 -9.994957924\nvt -3.005415916 -2.771306038\nvt 4.282115936 1.59107697\nvt -1.895249963 -8.167525291\nvt -0.056968 -3.700333118\nvt 9.768472672 3.867110968\nvt 4.05633688 1.565376997\nvt 8.260233879 -1.984336019\nvt 2.514961004 10.25831604\nvt 0.41743499 4.539888859\nvt -2.320436954 3.343172073\nvt -8.437867165 -0.26838401\nvt -5.789055824 -9.118728638\nvt 1.903100967 -9.990486145\nvt 5.214557171 -7.23694706\nvt 2.649296999 0.416619986\nvt -4.04579401 -1.192499042\nvt -3.795783043 9.63352108\nvt -1.224529982 4.951244831\nvt 5.985097885 7.605021954\nvt 1.134291053 -4.733059883\nvt -6.05299902 0.117620997\nvt 2.761042118 -9.655520439\nvt 9.862051964 1.867385983\nvt 1.614923954 1.580935001\nvt -6.132392883 -7.501484871\nvt -5.997392178 8.417016983\nvt -6.795836926 0.911185026\nvt 9.3696661 2.111850023\nvt 3.140568018 -9.812302589\nvt -1.179746985 3.769912958\nvt 0.894021988 -3.198704004\nvt 10.294192314 -1.671084046\nvt 2.521238089 -9.628211975\nvt -3.951411963 9.298142433\nvt -7.525602818 -4.101734161\nvt 9.541905403 -3.546574116\nvt -0.232491001 -6.665597916\nvt -3.942682981 6.936343193\nvt -0.281939 4.149724007\nvt 4.185011864 9.739685059\nvt 9.822491646 -1.553907037\nvt -1.714717031 0.505400002\nvt -9.78618145 -0.84969002\nvt 4.456441879 4.448585987\nvt -4.948720932 -8.566883087\nvt 0 0.277987987\nvt 0 0.278663993\nvt 0 0.276452988\nvt 0 0.277648002\nvt 0 0.277366012\nvt 0 0.277603\nvt -7.734060764 -3.600338936\nvt 1.605232 -3.094397068\nvt -1.669384003 -0.78729701\nvt 7.270155907 6.660823822\nvt 9.391872406 1.306249022\nvt 0.188350007 6.313414097\nvt -2.239444017 -0.122040004\nvt -8.339797974 -1.445996046\nvt -4.014822006 -7.995492935\nvt -2.83959794 8.523693085\nvt 8.723814964 -0.531109989\nvt -2.180046082 -7.64204216\nvt 2.382091999 5.683343887\nvt 1.014490008 0.190966994\nvt -9.862833023 0.641295016\nvt -1.34534502 -1.167700052\nvt 3.439635038 9.374530792\nvt -8.926374435 -0.455354989\nvt 2.365622997 -1.307410955\nvt 5.901982784 7.680259228\nvt 3.846719027 7.658544064\nvt -5.08003521 -4.996461868\nvt 2.087353945 1.352000952\nvt 1.243252039 -3.012887955\nvt 3.607970953 6.992670059\nvt -5.349535942 -6.896487236\nvt -2.877656937 4.424595833\nvt 8.116253853 4.387794018\nvt -0.474552989 -3.933656931\nvt -5.996184826 -6.767065048\nvt -6.160740852 -4.755925179\nvt -1.118286967 -5.169939995\nvt 5.560702801 1.59197998\nvt -5.960259914 -5.684791088\nvt -4.02126503 -5.097257137\nvt 1.23982501 0.675651014\nvt 0 0.240196005\nvt 0 0.262032002\nvt 0 0.278315008\nvt 0 0.368492007\nvt 0 0.399805993\nvt 0.5 0.218719006\nvt 0.5 0.225058004\nvt 1 0\nvt 0.333332986 0.315400004\nvt 1 0\nvt 0.458332986 0.256170005\nvt 0.5 0.225871995\nvt 1 0\nvt 0 0.42008099\nvt 0 0.394993007\nvt 0 0.370925009\nvt 0.200000003 0.283318013\nvt 0.5 0.169194996\nvt 2.028624058 2.273847103\nvt 1.014312029 1.262876034\nvt 0.253578007 0.507934988\nvt 0 0.264270008\nvt 0 0.277135998\nvt 0 0.294627011\nvt 0 0.317727\nvt 0 0.33870101\nvt 0 0.349813014\nvt 0.000003 0.42582199\nvt 0 0.462069005\nvt 0 0.473012\nvt 0.000003 0.446233988\nvt 0 0.461647987\nvt 0 0.469920993\nvt 0 0.471460015\nvt 0 0.470254004\nvt 0.000021 0.435667008\nvt 0 0.441188991\nvt 0.000071 0.412728995\nvt 0 0.449104995\nvt 0 0.420194\nvt 0 0.419086009\nvt -7.787799835 0.113797002\nvt -5.276692867 -1.991390944\nvt -0.84850502 -3.253127098\nvt 0.000138 0.390174001\nvt 1.622903943 -3.680020094\nvt 0 0.262679011\nvt 0 0.246121004\nvt 0 0.248035997\nvt 0 0.262805015\nvt 3.259229898 0.888805985\nvt 6.796419144 7.468009949\nvt 0.45956099 0.430159003\nvt 0 0.248372003\nvt 0 0.277603\nvt 0 0.293191999\nvt 0 0.295681\nvt 0 0.320764005\nvt 0 0.310579985\nvt 0 0.288738012\nvt 0 0.295444012\nvt 0 0.296671987\nvt 0 0.32543999\nvt 0 0.362399012\nvt 0 0.361229986\nvt 0 0.365491986\nvt 0 0.33781299\nvt 0 0.324739993\nvt 0 0.399805993\nvt 0 0.399805993\nvt 0 0.399805993\nvt 0 0.433824986\nvt 0 0.433876991\nvt 0 0.431840986\nvt 0 0.46082601\nvt 0 0.452683002\nvt 0 0.460617006\nvt 0 0.477344006\nvt 0 0.46984601\nvt 0 0.45174399\nvt 0 0.451685995\nvt 0 0.419753999\nvt 0 0.418240011\nvt 0 0.381056011\nvt 0 0.391508996\nvt 0 0.387167007\nvt 3.441572905 3.029083967\nvt 0.406271994 1.295032978\nvt 6.708752155 3.46072197\nvt 8.980472565 4.395278931\nvt -0.814339995 7.330986023\nvt 0.507156014 1.550837994\nvt -2.212217093 3.079344034\nvt 2.527257919 9.44077301\nvt 4.293999195 0.656324983\nvt 0 0.237718001\nvt 0 0.284132004\nvt 0 0.242358997\nvt 0 0.264921993\nvt 0 0.326999009\nvt 0 0.292335004\nvt 0 0.352052003\nvt 0 0.362789005\nvt 0 0.399805993\nvt 0 0.421916008\nvt 0 0.433869988\nvt 0 0.460799992\nvt 0 0.480809987\nvt 0 0.478210002\nvt 0 0.483714014\nvt 0 0.483209997\nvt 0 0.48290199\nvt 0 0.47507599\nvt 0 0.451512992\nvt 0 0.390091002\nvt 0 0.41732499\nvt 1.594990969 1.565011024\nvt 1.42888999 0.173122004\nvt -0.41169399 4.331353188\nvt 0.507156014 1.549980044\nvt -1.434666991 -1.122161984\nvt -1.751701951 2.780668974\nvt 5.342936039 4.380228996\nvt 5.682428837 7.146171093\nvt 0.507156014 1.549980044\nvt -1.941213012 4.752561092\nvt -0.392765999 3.439512014\nvt 0.507156014 1.549980044\nvt 2.786592007 1.630694985\nvt 1.224382997 0.711026013\nvt 1.79291296 1.066277027\nvt 0.953767002 0.595498025\nvt 1.224382997 0.710963011\nvt 0.953767002 0.595417976\nvt 1.224382997 0.710901976\nvt 1.909950018 2.152262926\nvt 1.224382997 0.710842013\nvt 5.686538219 1.257053018\nvt -0.400563985 0.717477977\nvt 1.224382997 0.710696995\nvt 3.557749033 2.851509094\nvt 1.224382997 0.710657001\nvt 0.692574024 4.130637169\nvt 1.224382997 0.710619986\nvt 4.167720795 2.478135109\nvt 0.507156014 1.42781198\nvt -0.965067029 2.933239937\nvt 0 0.233423993\nvt 0.068441004 0.462846994\nvt 0 0.317007989\nvt 2.209080935 0.828191996\nvt 0 0.415414989\nvt 0 0.464994997\nvt 0 0.479523987\nvt -0.557690978 2.704855919\nvt -4.779232025 0.105107002\nvt 0.642436028 1.071285963\nvt 0.406991005 1.575063944\nvt 1.991281033 1.167143941\nvt 0.059418999 -1.81120801\nvt 0 0.312786013\nvt 0 0.335956991\nvt 0 0.299326003\nvt 0 0.319465995\nvt 0 0.453489006\nvt 0 0.472580999\nvt 0 0.275478989\nvt 0 0.275534004\nvt 0 0.438672006\nvt 0 0.460225999\nvt 0 0.360637009\nvt 0 0.378012002\nvt 0 0.300664008\nvt 0 0.364538997\nvt 0 0.385767996\nvt 0 0.48180899\nvt 0 0.324593008\nvt 0 0.304969013\nvt 0.000039 0.294678986\nvt 0.000156 0.280898988\nvt 0.000539 0.265163004\nvt 0.000456 0.281621009\nvt 0 0.291530997\nvt 0.000001 0.389672995\nvt 0 0.43117699\nvt 0 0.450028002\nvt 0.000002 0.409507006\nvt 0 0.34355101\nvt 0 0.318480015\nvt 0 0.366926998\nvt 0 0.330374986\nvt 0 0.399805993\nvt 0 0.358700991\nvt -0.063395001 1.500805974\nvt -0.507156014 1.443856955\nvt 0 0.250418007\nvt 0 0.265938014\nvt 0 0.76049\nvt 5.822177887 6.390041828\nvt -0.498802006 4.28633213\nvt 0 0.247576997\nvt 0 0.264752001\nvt 10.507169724 -0.102321997\nvt 9.550445557 3.924339056\nvt 1.803715944 0.293980986\nvt 7.273511887 7.1465168\nvt 3.892205 9.691864014\nvt 2.077691078 7.270277023\nvt -0.380367011 9.104478836\nvt -0.131081998 10.434941292\nvt -4.098392963 9.823285103\nvt -3.599159956 8.720514297\nvt -3.452018023 5.538350105\nvt -7.344528198 7.469161034\nvt -8.501872063 3.773225069\nvt -9.545631409 3.952828884\nvt -10.879102707 -0.038784001\nvt -9.300697327 0.084858999\nvt -9.980854034 -4.134179115\nvt -1.511594057 -1.98563695\nvt -6.347160816 -6.249679089\nvt -7.490383148 -7.349464893\nvt -4.678421021 1.957043052\nvt -1.446831942 3.899379969\nvt -6.069846153 -2.377650976\nvt -1.452999949 -0.313407004\nvt 4.855642796 -2.007580042\nvt 2.002907038 -1.77265799\nvt 3.296304941 1.48663497\nvt 1.216675997 -3.780064106\nvt -3.103100061 -1.841909051\nvt -0.767072976 -6.502273083\nvt -3.497726917 -8.39823246\nvt -4.208703995 -10.160286903\nvt 0.127589002 -10.177803993\nvt 3.988954067 -9.687720299\nvt 7.329508781 -7.490632057\nvt 3.869302988 -4.254052162\nvt 9.961277008 -4.126163006\nvt 0.218428001 -0.115291998\nvt 6.209012985 5.080643177\nvt 0 0.367141008\nvt 6.182425022 0.067151003\nvt 0.000001 -5.554244995\nvt 1 0\nvt 0.380852014 0.815297008\nvt 1.521944046 2.453454018\nvt 1.014312029 4.064175129\nvt 0.253578007 1.220602036\nvt -0.253578007 5.207912922\nvt 3.624183893 -1.290578961\nvt 2.866487026 1.178915024\nvt -6.793335915 2.937325954\nvt 0.867236972 2.390993118\nvt 9.963409424 4.116670132\nvt 10.511146545 0.097205997\nvt 7.54638195 7.408029079\nvt 3.95570302 9.548960686\nvt 3.705552101 8.97693634\nvt -0.112346999 10.402557373\nvt 0.054942001 9.202496529\nvt -4.013846874 9.587986946\nvt 1.558640003 2.656807899\nvt -7.103689194 7.273439884\nvt -6.380127907 6.439974785\nvt -9.679485321 4.008230209\nvt -10.712908745 -0.071388997\nvt -10.070714951 -4.171402931\nvt -6.156641006 -6.175255775\nvt -7.447235107 -7.28219223\nvt -1.642848969 3.391277075\nvt -1.353124022 -1.934635997\nvt -4.072196007 -2.044977903\nvt 4.855642796 -2.007580042\nvt 2.002907038 -1.77265799\nvt 3.748387098 1.566791058\nvt 1.956472039 -4.120438099\nvt -1.997154951 -4.787292004\nvt 9.751115799 -4.039451122\nvt 7.327388763 -7.491082191\nvt 3.988465071 -9.728912354\nvt 0.081500001 -10.537698746\nvt -3.942564011 -9.515361786\nvt 3.425936937 -3.226315975\nvt 3.929214954 4.308942795\nvt 8.966529846 2.248749018\nvt 9.920012474 2.89112711\nvt 6.239625931 8.493466377\nvt -0.047949001 10.888092995\nvt -5.989151001 8.370969772\nvt -1.81377995 0.107610002\nvt -9.815616608 4.065331936\nvt -8.170131683 -2.161382914\nvt -9.977219582 -2.885979891\nvt -7.580486774 -7.486633778\nvt -1.448390961 3.385183096\nvt 0.438057989 -2.856419086\nvt -4.067234039 -1.884662986\nvt 3.837677956 1.689831972\nvt 9.271789551 -4.731093884\nvt 1.835085034 -10.25105381\nvt 0.054942999 -9.109792709\nvt -4.206641197 -10.154616356\nvt 5.048472881 -7.637926102\nvt -0.510519981 -0.364942014\nvt -1.906906962 -4.441036224\nvt 7.417625904 7.14998579\nvt 10.34840107 1.285411954\nvt -4.875732899 8.662470818\nvt -8.637654305 2.009435892\nvt -9.698162079 4.016232967\nvt -10.22773838 -1.653856993\nvt -6.150579929 -8.350991249\nvt -7.593432903 -5.351106167\nvt -4.32186985 -1.700186014\nvt -1.818218946 2.373864889\nvt 3.705557108 1.174496055\nvt 4.03913784 9.754645348\nvt 8.038931847 -6.981535912\nvt 3.614602089 -9.635809898\nvt 1.217937946 -4.203969002\nvt 0.054942999 -9.109792709\nvt 5.18768692 -7.772209167\nvt -0.116281003 10.275381088\nvt 8.207448006 -5.066971779\nvt -5.894135952 8.672240257\nvt -1.710554004 0.295163006\nvt -2.855191946 -2.695723057\nvt -8.872831345 -6.019447803\nvt -9.069442749 -1.849534035\nvt 9.282916069 4.16689682\nvt -3.944770098 -9.489868164\nvt 1.715229988 -7.851428032\nvt -2.150207043 -0.132150993\nvt 3.625066996 1.346575022\nvt -2.338988066 -8.996623039\nvt -0.054432001 -3.622008085\nvt 7.681828022 -0.080528997\nvt 5.688214779 8.540863991\nvt 4.18713522 1.619825006\nvt 0.406343997 4.525660992\nvt -2.788021088 10.230910301\nvt 1.936058998 0.412407011\nvt -9.69316864 -3.252202988\nvt -5.702682018 2.094136\nvt 2.334681988 -10.282344818\nvt -1.470460057 3.401940107\nvt 3.841155052 1.775575995\nvt 9.427269936 -5.111361027\nvt 1.588565946 -4.032821178\nvt 5.19123888 9.037444115\nvt 2.017824888 4.989093781\nvt 9.340707779 2.959259033\nvt -2.521496058 8.566280365\nvt -7.364714146 -6.917375088\nvt -8.383266449 -1.926681995\nvt -1.307391047 -2.011823893\nvt 0.476415992 1.656985998\nvt 3.436676025 -9.640442848\nvt 4.452446938 -9.484704971\nvt -4.311954021 -9.602347374\nvt -0.899949014 1.770815015\nvt -4.204041004 1.209135056\nvt 8.611562729 5.408823967\nvt -7.675529957 6.716107845\nvt -0.703953981 9.89029026\nvt 0.893248975 -5.024165154\nvt -7.611020088 -5.928380013\nvt 2.862931967 -7.669848919\nvt -0.960776985 -8.188533783\nvt 7.602170944 5.879907131\nvt -1.983832002 -0.742347002\nvt 0.521588027 4.297472954\nvt -10.108780861 -1.594215989\nvt -0.29084 -1.001129031\nvt 0.507156014 1.430158973\nvt 0 0.277987987\nvt 0 0.278663993\nvt 0.000366 0.276163012\nvt 0 0.277648002\nvt 0 0.277366012\nvt -8.092786789 -4.947649956\nvt -0.335402995 9.606939316\nvt 1.282037973 -3.286438942\nvt 2.998934984 1.079916954\nvt 8.821335793 5.30834198\nvt -0.057622999 1.787435055\nvt 1.610422969 3.052004099\nvt 0.469309986 -2.986447096\nvt -9.976183891 1.349614024\nvt 6.69218111 5.176163197\nvt -3.949831009 9.100144386\nvt -5.059227943 -7.459787846\nvt 0.177561998 -9.107747078\nvt -10.118821144 1.269703984\nvt 1.722565055 1.647310972\nvt 0.525780976 -0.076918997\nvt -7.961732864 3.595113993\nvt -8.01101017 -1.195076942\nvt 9.224078178 4.036687851\nvt 4.281596184 -5.821712017\nvt -1.908869982 -2.712148905\nvt 0.53629899 -8.521572113\nvt 8.603878021 3.102186918\nvt -8.385271072 -0.945137978\nvt 8.058210373 2.436619997\nvt 8.525009155 1.787369967\nvt -4.801175117 -7.599490166\nvt -1.642128944 -2.072760105\nvt -5.540081978 -6.874766827\nvt -6.351027966 -5.480095863\nvt 0 0.240196005\nvt 0 0.262032002\nvt 0 0.278315008\nvt 0 0.220679998\nvt 0 0.235385001\nvt 0.000002 0.26511699\nvt 0.000009 0.28776899\nvt 0.000013 0.316814005\nvt 0.000011 0.365723014\nvt 0.000083 0.326584995\nvt 0.000285 0.306239992\nvt 0.000551 0.296068013\nvt 0.000812 0.287447006\nvt 0.000917 0.283834994\nvt 0.000714 0.288691998\nvt 0.501070023 0.094648004\nvt 0.501341999 0.099431001\nvt 2.030236959 2.224623919\nvt 1.016214967 1.237393022\nvt 0.255515993 0.50040102\nvt 0.001462 0.263889015\nvt 0.001722 0.239988998\nvt 0.001212 0.220355004\nvt 0.000625 0.201715007\nvt 0.000156 0.202989995\nvt 0 0.243104994\nvt 0.001105 0.458512008\nvt 0 0.462069005\nvt 0 0.473012\nvt 0.001291 0.465189993\nvt 0 0.461647987\nvt 0 0.469920993\nvt 0 0.471460015\nvt 0 0.470254004\nvt 0.002453 0.462614\nvt 0 0.441188991\nvt 0.005702 0.444160014\nvt 0 0.449104995\nvt 0 0.420194\nvt 0 0.419086009\nvt -7.787799835 0.113797002\nvt -5.276692867 -1.991390944\nvt -0.94136101 -2.720665932\nvt 0.008089 0.422849\nvt 2.028625011 -4.700035095\nvt 0 0.262679011\nvt 0 0.246121004\nvt 0.108998999 0.327118009\nvt 0 0.262805015\nvt 3.384459972 2.201421976\nvt 0 0.254298002\nvt 9.440365791 2.603341103\nvt 0 0.293191999\nvt 0 0.295681\nvt 0 0.320764005\nvt 0 0.310579985\nvt 0 0.288738012\nvt 0 0.295444012\nvt 0 0.296671987\nvt 0 0.32543999\nvt 0 0.362399012\nvt 0 0.361229986\nvt 0 0.365491986\nvt 0 0.33781299\nvt 0 0.324739993\nvt 0 0.399805993\nvt 0 0.399805993\nvt 0 0.399805993\nvt 0 0.433824986\nvt 0 0.433876991\nvt 0 0.431840986\nvt 0 0.46082601\nvt 0 0.452683002\nvt 0 0.460617006\nvt 0 0.477344006\nvt 0 0.46984601\nvt 0 0.45174399\nvt 0 0.451685995\nvt 0 0.419753999\nvt 0 0.418240011\nvt 0 0.381056011\nvt 0 0.391508996\nvt 0 0.387167007\nvt 0.302469999 1.057350039\nvt 0.355502009 1.71161902\nvt 3.4732759 3.005759001\nvt 9.620276451 3.516823053\nvt -0.363395005 2.215472937\nvt 2.588221073 5.425198078\nvt -2.918589115 6.359362125\nvt 2.949703932 9.505004883\nvt 4.565165997 0.624927998\nvt 0 0.237718001\nvt 0 0.264921993\nvt 0 0.287889987\nvt 2.462780952 2.088228941\nvt 0 0.326999009\nvt 0 0.292335004\nvt 0 0.355630994\nvt 0 0.362789005\nvt 0 0.399805993\nvt 0 0.423700988\nvt 0 0.433869988\nvt 0 0.460799992\nvt 0 0.480574995\nvt 0 0.478210002\nvt 0 0.483714014\nvt 0 0.483209997\nvt 0 0.48290199\nvt 0 0.47507599\nvt 0 0.451512992\nvt 0 0.389771998\nvt 0 0.41732499\nvt 1.525269985 3.421459913\nvt 0.643432021 2.514797926\nvt 4.137485981 4.997625828\nvt 0.507156014 1.549980044\nvt -0.874836981 6.883133888\nvt 0.507156014 1.549980044\nvt 4.954515934 3.831013918\nvt 1.176962018 7.133320808\nvt -2.288139105 -0.334897012\nvt -0.720465004 2.798877001\nvt 7.511804104 2.10373497\nvt -2.610321999 5.985175133\nvt 1.809563994 0.913232982\nvt -0.878971994 2.235635996\nvt 0.507156014 1.549980044\nvt 4.060431004 0.992098987\nvt 0 0.232916996\nvt 0.953767002 0.595417976\nvt 1.089074969 0.653120995\nvt 1.224382997 0.710842013\nvt 4.581026077 6.13860321\nvt 2.615339994 7.276965141\nvt 6.757070065 0.042613\nvt 1.224382997 0.710696995\nvt 7.492078781 1.905550003\nvt 1.224382997 0.710657001\nvt 1.484967947 0.995976985\nvt 0 0.233423993\nvt 0.053231999 0.423792988\nvt 0 0.317007989\nvt 1.036527038 2.08621192\nvt 0 0.415414989\nvt 0 0.460276991\nvt 0 0.479889989\nvt -1.383285046 0.661512017\nvt 0.909583986 2.133593082\nvt -1.237247944 1.598405957\nvt 0.049017999 0.970009029\nvt 0 0.264028996\nvt 0 0.420406997\nvt 0 0.371533006\nvt 0 0.436152011\nvt 0 0.358882993\nvt 0 0.247612\nvt 0 0.266566992\nvt 0 0.313665003\nvt 0 0.41347\nvt 0 0.464742005\nvt 0 0.450435996\nvt 0 0.271239996\nvt 0 0.348269999\nvt 0 0.449642003\nvt 0 0.315854013\nvt 0 0.297351986\nvt 0 0.324593008\nvt 0 0.304969013\nvt 0.00112 0.339419007\nvt 0.000795 0.318491995\nvt 0.00197 0.325816005\nvt 0.002108 0.30262199\nvt 0 0.291530997\nvt 0.001105 0.433566988\nvt 0 0.43117699\nvt 0 0.450028002\nvt 0.000782 0.449202001\nvt 0 0.34355101\nvt 0.0013 0.360523999\nvt 0 0.366926998\nvt 0.001351 0.383415014\nvt 0 0.399805993\nvt 0.00129 0.40970099\nvt -0.063395001 1.500805974\nvt -0.507156014 1.443856955\nvt 0 0.250418007\nvt 0 0.265938014\nvt 0 0.76049\nvt 5.4009161 6.342813015\nvt -0.502605021 4.174413204\nvt 0 0.247576997\nvt 0 0.264752001\nvt 1.813796043 0.294030994\nvt 7.289514065 7.202693939\nvt 3.778361082 9.523094177\nvt -0.136565 10.401502609\nvt -0.380367011 9.104478836\nvt -4.093999863 9.813197136\nvt -3.599159956 8.720514297\nvt -7.320782185 7.449205875\nvt -3.485342979 5.572649956\nvt -9.572872162 3.964140892\nvt -8.37332058 3.722250938\nvt -10.520879745 -0.099568002\nvt -9.300697327 0.084858999\nvt -10.049865723 -4.162766933\nvt -1.511594057 -1.98563695\nvt -6.347160816 -6.249679089\nvt -7.611852169 -7.510870934\nvt -4.797502995 1.313547969\nvt -1.663231015 3.426877975\nvt -5.661635876 -2.24070406\nvt -1.452999949 -0.313407004\nvt 4.360307217 -2.320544004\nvt 2.002907038 -1.77265799\nvt 3.170856953 1.577031016\nvt 1.433125019 -3.568861961\nvt -3.731326103 -1.216734052\nvt 9.421053886 -3.902801991\nvt 7.404266834 -7.537705898\nvt 10.518619537 -0.028607\nvt 0.130905002 -10.112093925\nvt 4.149325848 -10.035717964\nvt -4.136200905 -9.9845438\nvt -0.767072976 -6.502273083\nvt -3.497726917 -8.39823246\nvt 3.869302988 -4.254052162\nvt 9.008253098 -3.183648109\nvt 9.640439987 3.975110054\nvt 0.218428001 -0.115291998\nvt 6.138775826 5.016100883\nvt 0 0.367141008\nvt 6.113813877 0.068723999\nvt 0.000001 -5.554244995\nvt 1 0\nvt 0.410153002 0.858714998\nvt 1.61314404 2.556529999\nvt 1.014312029 4.064175129\nvt 0.253578007 1.220602036\nvt -0.253578007 5.207912922\nvt 3.624174118 -1.290305972\nvt 0.014517 0.353098989\nvt 3.426384926 -3.224935055\nvt 2.260266066 0.907859981\nvt -6.793335915 2.937325954\nvt 0.867236972 2.390993118\nvt 10.524061203 0.095468\nvt 10.090511322 4.172753811\nvt 7.551715851 7.405282974\nvt 3.839750051 6.176139832\nvt 4.046072006 9.767587662\nvt -0.099728003 10.55510807\nvt 0.054942001 9.202496529\nvt -3.990257978 9.519159317\nvt 2.580246925 0.866397023\nvt -6.717306137 6.765183926\nvt -9.749984741 4.037717819\nvt -10.571521759 -0.089235999\nvt -10.059088707 -4.166584015\nvt -6.156641006 -6.175255775\nvt -7.447235107 -7.28219223\nvt -4.68319416 0.748562992\nvt -1.562618971 3.597565889\nvt -5.886423111 -2.359989882\nvt -1.336477995 -2.204839945\nvt 4.855642796 -2.007580042\nvt 2.002907038 -1.77265799\nvt 3.444830894 1.780271053\nvt 1.37924099 -3.903949976\nvt -1.997154951 -4.787292004\nvt -3.672553062 -1.49368\nvt -7.134471893 7.295002937\nvt 9.936751366 -4.115801811\nvt 4.052594185 -9.863758087\nvt 0.081500001 -10.537698746\nvt -3.942564011 -9.515361786\nvt 7.136994839 -7.342477798\nvt 8.998025894 1.889153004\nvt 9.959424973 2.925024986\nvt 6.582652092 8.20686245\nvt -0.035962 10.985683441\nvt -6.340433121 8.134817123\nvt -4.469573975 2.70915103\nvt -9.680883408 4.00880909\nvt -9.408426285 -2.124269009\nvt -4.423025131 -1.340518951\nvt -0.956076026 1.347066998\nvt 4.221200943 0.804840028\nvt 9.604997635 -3.978790998\nvt -4.13944912 -9.991769791\nvt 5.002099037 -8.640325546\nvt 0.048781 -9.852483749\nvt -7.673775196 -7.612651825\nvt 1.115654945 -4.323015213\nvt -0.510519981 -0.364942014\nvt -1.906906962 -4.441036224\nvt 10.626577377 1.183670998\nvt 7.26113987 7.139307976\nvt -9.393090248 -2.693205118\nvt -10.288985252 1.113461018\nvt -8.452157974 3.552180052\nvt -4.497487068 8.825172424\nvt -6.512767792 -6.389358044\nvt -8.551101685 -5.651309013\nvt -2.436260939 -1.75504601\nvt -1.448410988 3.464361906\nvt -0.077699997 10.512025833\nvt 4.029975891 9.73345089\nvt -4.033636093 -9.736362457\nvt 0.893230975 -10.206316948\nvt 7.741847992 -7.262868881\nvt 3.666414022 1.185951948\nvt 1.864143968 -4.243173122\nvt 8.009303093 -5.541818142\nvt 8.685684204 5.730864048\nvt -6.542868137 -7.942290783\nvt 0.88240999 -0.950716019\nvt -8.99802494 -1.818289995\nvt -2.860785961 -2.908885002\nvt -1.359655976 3.687627077\nvt -2.863092899 -1.66939497\nvt 4.116555214 1.739539027\nvt 2.167135954 -8.764292717\nvt -2.376807928 -8.55048275\nvt -0.074548997 -2.976785898\nvt 9.920841217 2.003410101\nvt 4.544720173 1.741793036\nvt 4.897531986 -1.912042022\nvt 5.724806786 9.14952755\nvt -3.306917906 1.822110057\nvt -10.326080322 -3.408423901\nvt -5.702682018 2.094136\nvt -6.435677052 -7.547335148\nvt 1.947975993 -10.192045212\nvt -0.391131997 6.887275219\nvt -2.349863052 1.453032017\nvt 1.632959962 -4.206607819\nvt 8.851066589 -5.767301083\nvt 3.963088036 1.372382045\nvt -1.60670805 10.394897461\nvt 0.079939 1.712550044\nvt 5.457802773 9.211454391\nvt 8.945543289 2.672606945\nvt -0.699180007 -1.367630959\nvt -2.595570087 -0.142350003\nvt -7.201473236 -3.744501114\nvt 3.982496023 1.497563004\nvt -0.559862018 -10.011821747\nvt -1.824727058 10.026117325\nvt -0.009041 0.034492999\nvt -10.595515251 -0.698760986\nvt -2.968132019 -10.453726768\nvt 5.23583889 -9.246279716\nvt 9.342206001 3.416296959\nvt -1.915673018 2.037400007\nvt 1.088143945 -9.187259674\nvt -4.909002781 9.120214462\nvt -9.544120789 -0.839654982\nvt 2.85194993 10.312905312\nvt -8.451430321 -4.086854935\nvt 0.263056993 -4.291996002\nvt 3.039202929 0.552942991\nvt -0.090865999 4.763391972\nvt 5.750130177 8.26833725\nvt 10.065921783 -0.732383013\nvt -1.680986047 -10.250089645\nvt 0 0.277987987\nvt 0 0.278663993\nvt 0.006019 0.294768989\nvt 0 0.277648002\nvt 0 0.277366012\nvt 0 0.277603\nvt 1.843129039 9.431259155\nvt -5.568673134 8.390845299\nvt -1.094740033 -0.910355985\nvt -7.948548794 -4.828440189\nvt 0.218118995 -0.851405025\nvt -0.333779007 -9.248815536\nvt -5.128189087 7.967870235\nvt 0.345382005 3.580602884\nvt 6.862897873 6.446694851\nvt 2.077199936 -2.783529997\nvt 6.702828884 -5.990224838\nvt -6.091045856 -5.846841812\nvt 8.201185226 4.686748981\nvt -3.950392008 8.891975403\nvt 2.121140957 -1.202100039\nvt 6.026305199 -6.586087227\nvt -8.191613197 5.225633144\nvt 0.947373986 10.23128891\nvt 5.012406826 -4.154295921\nvt -2.293908119 -8.545213699\nvt -9.760910988 -3.23940897\nvt 6.029661179 6.408263206\nvt -1.340836048 -2.2600739\nvt -6.300862789 -2.765945911\nvt -7.36055994 4.130556107\nvt 3.569097996 8.775854111\nvt 1.777825952 8.977534294\nvt -5.972886086 -3.061055899\nvt 5.030033112 -2.92552495\nvt 8.075946808 4.240375996\nvt 7.351314068 -7.379944801\nvt -4.871611118 -8.06789875\nvt -3.345254898 -8.572195053\nvt -0.565414011 0.823035002\nvt -0.050829001 -4.740108967\nvt -4.898313999 -6.363276005\nvt 3.664900064 5.642268181\nvt 6.683949947 6.699007034\nvt -4.159794807 -6.401721954\nvt -1.438894987 -2.01640296\nvt 0 0.262032002\nvt 0 0.278315008\nvt 0.00448 0.381951004\nvt 0.005199 0.411282003\nvt 0.005405 0.43283999\nvt 0.005162 0.439384013\nvt 0.00442 0.440694004\nvt 0.00313 0.446545988\nvt 0.004421 0.44757399\nvt 0.005166 0.441545993\nvt 0.009812 0.434372008\nvt 0.022810001 0.431962013\nvt 0.032357998 0.426771998\nvt 0.026655 0.411258012\nvt 0.041173 0.408170015\nvt 0.058068998 0.40773201\nvt 0.57615602 0.255180001\nvt 0.559526026 0.236800998\nvt 2.07152009 2.338831902\nvt 1.07852602 1.357010007\nvt 0.024075 0.33831501\nvt 0.009899 0.331835985\nvt 0.005012 0.344040006\nvt 0.003806 0.354456007\nvt 0.000172 0.417261004\nvt 0 0.462069005\nvt 0 0.473012\nvt 0.000145 0.440340012\nvt 0 0.461647987\nvt 0 0.469920993\nvt 0 0.471460015\nvt 0 0.470254004\nvt 0.000276 0.428359985\nvt 0 0.441188991\nvt 0.000521 0.407081991\nvt 0 0.449104995\nvt 0 0.420194\nvt 0 0.419086009\nvt -7.141963005 0.138758004\nvt -5.276692867 -1.991390944\nvt -0.94136101 -2.720665932\nvt 0.00198 0.386445999\nvt 1.967110991 -4.544271946\nvt 0.00575 0.365837991\nvt 3.426306963 -3.226550102\nvt 0 0.262679011\nvt 0 0.246121004\nvt 0 0.248035997\nvt 0 0.262805015\nvt 3.205148935 1.02975595\nvt 9.15914917 3.679335117\nvt 0.45956099 0.430159003\nvt 0 0.258742005\nvt 0 0.293191999\nvt 0 0.295681\nvt 0 0.320764005\nvt 0 0.310579985\nvt 0 0.288738012\nvt 0 0.295444012\nvt 0 0.296671987\nvt 0 0.32543999\nvt 0 0.362399012\nvt 0 0.361229986\nvt 0 0.365491986\nvt 0 0.33781299\nvt 0 0.324739993\nvt 0 0.399805993\nvt 0 0.399805993\nvt 0 0.399805993\nvt 0 0.433824986\nvt 0 0.433876991\nvt 0 0.431840986\nvt 0 0.46082601\nvt 0 0.452683002\nvt 0 0.460617006\nvt 0 0.477344006\nvt 0 0.46984601\nvt 0 0.45174399\nvt 0 0.451685995\nvt 0 0.419753999\nvt 0 0.418240011\nvt 0 0.381056011\nvt 0 0.391508996\nvt 0 0.387167007\nvt 0.302469999 1.057350039\nvt 1.264390945 7.752954006\nvt 5.861351013 4.423017025\nvt 8.737885475 5.026754856\nvt -0.527575016 3.231785059\nvt 7.756658077 4.092740059\nvt -1.053195953 3.35711503\nvt -1.361256003 9.099538803\nvt -1.991881967 3.801343918\nvt 0 0.237718001\nvt 0 0.264921993\nvt 0 0.287889987\nvt 0 0.242259994\nvt 0 0.326999009\nvt 0 0.292335004\nvt 0 0.352052003\nvt 0 0.362789005\nvt 0 0.399805993\nvt 0 0.421916008\nvt 0 0.433869988\nvt 0 0.460799992\nvt 0 0.480576992\nvt 0 0.478210002\nvt 0 0.483714014\nvt 0 0.483209997\nvt 0 0.48290199\nvt 0 0.47507599\nvt 0 0.451512992\nvt 0 0.390091002\nvt 0 0.41732499\nvt 2.791320086 2.626844883\nvt 1.330358028 2.417253017\nvt 0.507156014 1.549980044\nvt 0.191223994 4.673682213\nvt 0.507156014 1.549980044\nvt 2.434715033 0.723307014\nvt -0.039703999 4.346187115\nvt 1.812754035 2.73448801\nvt 0.514186025 3.709949017\nvt 3.382009029 0.44332999\nvt 0.507156014 1.549980044\nvt 0.417481989 1.323228002\nvt 0.406271994 1.294883966\nvt 1.224382997 0.711026013\nvt 0.865077019 1.087514997\nvt 0.953767002 0.595498025\nvt 0.980829 0.606971979\nvt 1.143198013 0.676234007\nvt 1.224382997 0.710842013\nvt 2.355453968 0.240688995\nvt 0.135049999 2.232894897\nvt 1.224382997 0.710696995\nvt 1.089074969 0.652873993\nvt 5.249931812 2.674484015\nvt 1.383556008 5.379845142\nvt 0.507156014 1.42781198\nvt 2.369105101 1.457013965\nvt 0 0.233423993\nvt 0.079847999 0.484091997\nvt 0 0.317007989\nvt 1.012207985 1.281481981\nvt 0 0.388700992\nvt 0 0.469677001\nvt 0 0.470759988\nvt -0.864684999 1.049293041\nvt 0.249657005 -0.837688029\nvt 0.507156014 1.550140977\nvt 0.211723 -2.575515032\nvt 0.507156014 1.550140977\nvt 0.106003001 -2.843688965\nvt 1.543344021 3.284315109\nvt -1.202962995 -4.360438824\nvt 1.208145976 0.703557014\nvt 4.614984035 -0.149039\nvt 1.224382997 0.710489988\nvt 0 0.333541989\nvt 0 0.309287995\nvt 0 0.260619998\nvt 0 0.401396006\nvt 0 0.440517992\nvt 0 0.433582008\nvt 0 0.266119987\nvt 0 0.41347\nvt 0 0.292793989\nvt 0 0.467218995\nvt 0 0.453150004\nvt 0 0.358785003\nvt 0 0.328487992\nvt 0 0.312613994\nvt 0 0.363561004\nvt 0 0.448107988\nvt 0 0.324593008\nvt 0 0.304969013\nvt 0.015117 0.295742989\nvt 0.021692 0.279929012\nvt 0.046622001 0.257515997\nvt 0.022916 0.271786988\nvt 0 0.291530997\nvt 0.001845 0.379449993\nvt 0 0.43117699\nvt 0 0.450028002\nvt 0.000109 0.398844004\nvt 0 0.34355101\nvt 0.009694 0.319786012\nvt 0 0.366926998\nvt 0.011511 0.330365002\nvt 0 0.399805993\nvt 0.00727 0.35343799\nvt -0.063395001 1.500805974\nvt -0.507156014 1.443856955\nvt 0 0.250418007\nvt 0 0.265938014\nvt 0 0.76049\nvt 5.346633911 6.214954853\nvt 2.694519043 -0.568422019\nvt 0 0.247576997\nvt 0 0.264752001\nvt 1.813796043 0.294030994\nvt 7.242339134 7.133285046\nvt 3.778361082 9.523094177\nvt -0.136565 10.401502609\nvt -0.380367011 9.104478836\nvt -4.08779192 9.795733452\nvt -3.599159956 8.720514297\nvt -4.87541008 6.053672791\nvt -7.098596096 7.268346786\nvt -8.346908569 3.799700022\nvt -9.377285004 3.882879019\nvt -10.72834301 -0.071388997\nvt -9.300697327 0.084858999\nvt -10.158279419 -4.207678795\nvt -1.511594057 -1.98563695\nvt -6.34716177 -6.249679089\nvt -7.490383148 -7.349464893\nvt 0.983838975 -0.801881015\nvt -3.947235107 -1.392130971\nvt -1.508178949 3.436558008\nvt 4.855642796 -2.007580042\nvt 3.447352886 1.764773965\nvt 0.232759997 -3.549190044\nvt -4.208703995 -10.160286903\nvt 0.127589002 -10.177803993\nvt -0.767072976 -6.502273083\nvt -3.497726917 -8.39823246\nvt 7.493832111 -7.611865997\nvt 3.95442605 -4.445575237\nvt 4.027142048 -9.766303062\nvt 9.780197144 -4.051174164\nvt 9.008253098 -3.183648109\nvt 10.39982605 0.01079\nvt 9.534472466 3.927627087\nvt 0.218428001 -0.115291998\nvt 6.138775826 5.016100883\nvt 0 0.367141008\nvt 6.182425022 0.067151003\nvt 0.000001 -5.554244995\nvt 1 0\nvt 0.399937004 0.803839982\nvt 1.540547967 2.442241907\nvt 1.014312029 4.064175129\nvt 0.253578007 1.220602036\nvt -0.253578007 5.207912922\nvt 3.897170067 -1.412521958\nvt 0.007117 0.319162011\nvt 2.307442904 0.904345989\nvt -1.224382997 0.852774978\nvt 0.867236972 2.390993118\nvt 10.038533211 4.149262905\nvt 10.342650414 0.116994999\nvt 7.449243069 7.283645153\nvt 3.839750051 6.176139832\nvt 4.046072006 9.767587662\nvt -0.084260002 10.627963066\nvt 0.054942001 9.202496529\nvt -4.099359035 9.828121185\nvt 2.552154064 1.131520033\nvt -6.682119846 6.733682156\nvt -9.572872162 3.964140892\nvt -7.551658154 3.22180891\nvt -10.72834301 -0.071388997\nvt -10.181734085 -4.217393875\nvt -6.156641006 -6.175255775\nvt -7.447235107 -7.28219223\nvt -4.785789967 1.308171034\nvt -1.512698054 3.461865902\nvt -5.886423111 -2.359989882\nvt -1.452999949 -0.313407004\nvt 4.840620041 -2.001718998\nvt 2.002907038 -1.77265799\nvt 3.135139942 1.817837954\nvt 1.497272968 -3.445583105\nvt -3.729808092 -1.520262003\nvt -1.761247993 -4.202335835\nvt -7.112789154 7.276246071\nvt -3.942564011 -9.515361786\nvt 0.115459003 -10.221219063\nvt 7.028888226 -7.269535065\nvt 4.043241978 -9.841174126\nvt 9.981624603 -4.134591103\nvt 8.966529846 2.248749018\nvt 10.048841476 3.376111031\nvt 7.427690029 7.27763319\nvt 4.107435226 9.915615082\nvt -2.534869909 9.772471428\nvt -9.57761097 3.966103077\nvt -1.371902943 -2.246746063\nvt -7.237996101 7.361979961\nvt -9.967702866 -2.063601971\nvt -8.170131683 -2.161382914\nvt -7.673775196 -7.612651825\nvt -1.204399943 2.076909065\nvt -3.717298985 -1.941001058\nvt 3.890023947 1.545443058\nvt 1.785104036 -3.850811958\nvt 9.863031387 -4.085536003\nvt 4.970088005 -8.76584816\nvt -4.206641197 -10.154616356\nvt 0.076966003 -10.226181984\nvt -0.510519981 -0.364942014\nvt -1.906906962 -4.441036224\nvt 10.099539757 -1.95006299\nvt 8.134437561 5.920914173\nvt -7.569867134 7.644616127\nvt -1.110034943 10.379733086\nvt -3.31259203 8.582090378\nvt -8.84711647 3.702663898\nvt -9.697908401 -0.005505\nvt -10.146478653 1.531200051\nvt -7.288117886 -5.595342159\nvt -9.712389946 -4.440064907\nvt -4.616520882 -1.553985\nvt 1.704921961 -2.981173992\nvt -1.875205994 3.1890769\nvt 3.262938023 -9.732228279\nvt 7.689137936 -7.74826622\nvt 3.856147051 1.695767999\nvt 3.996618986 9.653824806\nvt -4.087214947 -9.866031647\nvt 1.545047045 -9.105723381\nvt 6.626226902 -4.53597784\nvt 4.247620106 9.911305428\nvt 8.607168198 6.020330906\nvt 10.392677307 -1.180376053\nvt -2.137533903 -2.82156992\nvt -6.053781986 -8.28286171\nvt -9.781179428 -2.216109037\nvt -1.155608058 1.77592802\nvt 2.737065077 6.546862125\nvt 2.156699896 -8.68387413\nvt 1.523671031 -3.978228092\nvt -1.268381953 -9.420969009\nvt -0.077085003 -3.055111885\nvt -4.648364067 1.473158002\nvt 10.018806458 2.085473061\nvt 5.302669048 2.359728098\nvt 5.508988857 9.213723183\nvt -10.558105469 1.963639021\nvt -2.363110065 5.061275005\nvt -9.009235382 -4.687415123\nvt 0.436531007 4.789833069\nvt 4.099289894 -9.456251144\nvt 8.674030304 -5.721367836\nvt -3.699229002 -0.535278976\nvt 3.246900082 1.337080002\nvt 1.041851044 -4.351362228\nvt 3.952887058 9.544341087\nvt 5.743978977 5.171304226\nvt 9.428442955 2.034718037\nvt -1.224529982 4.951244831\nvt -3.15219903 2.568109035\nvt 3.213017941 -10.132288933\nvt 1.391378999 -3.844774961\nvt -5.373633862 -9.301304817\nvt -6.356081963 -2.19678092\nvt -5.724205017 8.523017883\nvt 3.911202908 9.716344833\nvt -4.361033916 0.676156998\nvt -4.259722233 -9.736314774\nvt -4.371425152 -1.736876011\nvt 2.495497942 -1.931223989\nvt 2.27403307 -9.745540619\nvt -9.911982536 1.25802505\nvt -4.474259853 -6.488986969\nvt 0.615240991 -9.907652855\nvt 0.109015003 -1.231284976\nvt -2.953269958 9.725482941\nvt 3.179552078 -4.340725899\nvt -0.000075 3.909087896\nvt 0.84384799 1.545516014\nvt 7.409567833 4.954546928\nvt -10.19545269 -1.188493013\nvt -0.495772988 -1.808109999\nvt 0 0.277987987\nvt 0 0.278663993\nvt 0.0148 0.267509013\nvt 0 0.277648002\nvt 0 0.277366012\nvt 0 0.277603\nvt -9.199121475 -3.795034885\nvt 0.86698699 0.390110999\nvt 0.998664975 -0.669009984\nvt -1.914091945 -9.179009438\nvt 9.079341888 -2.663839102\nvt 2.251424074 -7.664078236\nvt 0.466325015 -1.82337904\nvt 1.203076959 3.920288086\nvt 6.997251987 6.73555994\nvt -10.054012299 1.301036954\nvt 1.677103043 -2.097234964\nvt -0.841364026 -10.15210247\nvt -1.549754977 9.391757011\nvt -9.432112694 2.733253956\nvt 7.797221184 4.832764149\nvt 1.113044977 -2.049366951\nvt -7.107075214 -5.691473961\nvt 4.554547787 -6.980903149\nvt -0.116475001 3.055695057\nvt -0.484452009 -3.044181108\nvt -4.988050938 -7.457429886\nvt -7.416031837 1.555127978\nvt 4.236042976 7.424407005\nvt 0.380001009 -2.996530056\nvt 9.518503189 2.765063047\nvt -3.003778934 3.829216003\nvt 6.317143917 7.243229866\nvt -1.148947001 0.894468009\nvt -1.076670051 -9.183364868\nvt -5.973797798 0.812789023\nvt -0.468638003 3.124172926\nvt 8.606985092 -0.337870985\nvt 5.235219955 7.984745979\nvt -7.845057964 -2.552445889\nvt 2.062884092 -9.175205231\nvt 6.374550819 3.734438896\nvt -6.921382904 -5.312719822\nvt -4.873434067 7.288320065\nvt -1.339056015 -6.038567066\nvt 8.07164669 4.425102234\nvt -2.50784111 -6.079126835\nvt -5.030192852 1.096135974\nvt 0 0.240196005\nvt 0 0.262032002\nvt 0 0.278315008\nvt 0.046045002 0.220642\nvt 0.029081 0.214334995\nvt 0.007379 0.224222004\nvt 0.000436 0.245115995\nvt 0.00069 0.282572001\nvt 0.000581 0.342144012\nvt 0.001102 0.29735899\nvt 0.002086 0.283652008\nvt 0.007922 0.281158\nvt 0.023 0.270011008\nvt 0.034216002 0.262768\nvt 0.028465999 0.271984011\nvt 0.542699993 0.069585003\nvt 0.553269982 0.068012998\nvt 2.092466116 2.186851025\nvt 1.090631962 1.192545056\nvt 0.331856996 0.454573989\nvt 0.059199002 0.229274005\nvt 0.100349002 0.206905007\nvt 0.104898997 0.203149006\nvt 0.086767003 0.197836995\nvt 0.060467001 0.207246006\nvt 0.038775001 0.248329997\nvt 0.569950998 0.482825011\nvt 0.75146699 0.460799992\nvn -0.172430009 0.76317209 0.622765064\nvn -0.133466005 0.770262003 0.623605013\nvn -0.220258892 0.916507602 0.333915859\nvn -0.265295982 0.904310882 0.334424943\nvn -0.033892989 0.798315704 0.601284742\nvn -0.09622702 0.943901241 0.315897077\nvn -0.118360959 0.992970645 0\nvn -0.241015121 0.97052145 0\nvn -0.293178886 0.956057668 0\nvn -0.252577931 -0.768131793 0.588368893\nvn -0.406319708 -0.299550802 0.863234401\nvn -0.373627007 -0.252950996 0.892422974\nvn -0.348868787 -0.331499785 0.876583457\nvn -0.426999003 -0.118658997 0.896432996\nvn -0.431240261 -0.138731077 0.891507566\nvn -0.413533151 -0.191166073 0.890194297\nvn 0.547165215 -0.41361618 0.727689385\nvn 0.577926993 -0.381615013 0.721367002\nvn 0.346177191 -0.072928034 0.935330391\nvn 0.31733799 -0.060823001 0.946359992\nvn 0.622788012 -0.372314006 0.688126028\nvn 0.416381031 -0.071033008 0.906411111\nvn 0.286897987 0.091325998 0.953598022\nvn 0.198014095 0.093324043 0.975746453\nvn 0.17633906 0.104990035 0.978714347\nvn 0.146103024 0.343741089 0.927629232\nvn 0.098210976 0.502327859 0.859081805\nvn 0.022041999 0.468321949 0.8832829\nvn 0.089511991 0.298976958 0.950052857\nvn -0.000682 0.456012994 0.889972985\nvn 0.071009018 0.278917074 0.957686245\nvn 0.77507472 -0.395635843 0.492677808\nvn 0.844918191 -0.506057143 0.173261046\nvn 0.946213365 -0.273279101 0.173202053\nvn 0.776776135 -0.253347039 0.576571047\nvn 0.864530146 -0.50258106 0\nvn 0.964628875 -0.263611972 0.000001\nvn 0.992140353 -0.125130042 0\nvn 0.983166337 -0.097042032 0.154812053\nvn 0.873930573 -0.094267957 0.47682175\nvn 0.671107829 0.74135983 0\nvn 0.447001219 0.894533396 0\nvn 0.438065052 0.880993128 0.178746015\nvn 0.680050015 0.708630025 0.188084006\nvn 0.185271084 0.982687473 0\nvn 0.190199092 0.955841482 0.224034101\nvn 0.174608946 0.862904727 0.47424382\nvn 0.443132788 0.829220593 0.340626866\nvn 0.702268362 0.598536313 0.385452181\nvn -0.145149097 -0.737684429 0.659358442\nvn -0.288139999 -0.271546006 0.918280005\nvn 0.188430041 -0.645430207 0.740212202\nvn -0.020087007 -0.170503065 0.985152364\nvn -0.132100016 0.011204001 0.991173148\nvn -0.360643923 -0.081467979 0.92913878\nvn -0.191034079 0.15281406 0.96961534\nvn -0.279257029 0.349059016 0.894524097\nvn -0.416322201 0.233945116 0.878604412\nvn -0.365949124 0.042818014 0.929649353\nvn -0.47240901 0.663550973 0.58011198\nvn -0.584204793 0.612500846 0.532491863\nvn -0.540878832 0.549142838 0.637096763\nvn -0.469712883 -0.101224981 0.876996756\nvn -0.461127996 -0.048431002 0.886011004\nvn -0.438437998 -0.016928 0.898602009\nvn -0.699398279 0.665789306 0.259936124\nvn -0.471157938 0.747021914 0.469007939\nvn -0.592614055 0.744563043 0.307302028\nvn -0.630473077 0.776211143 0\nvn -0.748916924 0.662663937 0\nvn -0.778074384 0.628172278 0\nvn -0.776060998 0.609577 0.161695004\nvn -0.693037093 0.719194114 0.049593005\nvn -0.59873426 0.79921931 0.052591018\nvn -0.476621985 0.806355 0.350176007\nvn -0.057067994 -0.908694863 0.413541943\nvn -0.06207497 -0.98290652 0.173324913\nvn -0.200765923 -0.962378621 0.183085933\nvn 0.153456062 -0.896385312 0.415866137\nvn -0.091960028 -0.991633356 0.090591028\nvn 0.286729097 -0.940984368 0.179819062\nvn -0.082542002 -0.992506981 0.090093002\nvn -0.050934009 -0.998702109 0\nvn -0.151636079 -0.98843646 0\nvn 0.701026976 -0.385518998 0.599946976\nvn 0.507940114 -0.078585021 0.857800186\nvn 0.643922329 -0.024471015 0.764699459\nvn 0.501285017 0.153394997 0.851576984\nvn 0.369206965 0.083217993 0.92561388\nvn 0.321618229 0.399721295 0.858361602\nvn 0.213422954 0.58768785 0.780431807\nvn 0.167594045 0.545238137 0.821357191\nvn 0.212883994 0.398256004 0.892229021\nvn 0.067001 0.827612996 0.557286024\nvn 0.025222994 0.959975779 0.278944939\nvn 0.035461999 0.999370992 0\nvn 0.710933268 -0.619418263 0.333009124\nvn 0.76454711 -0.566351056 0.30775702\nvn 0.650882244 -0.67934823 0.338878125\nvn 0.658393741 -0.752673686 0\nvn 0.74263376 -0.669697762 0\nvn 0.791748464 -0.610847354 0\nvn -0.274376035 -0.036248002 0.960939109\nvn -0.268793881 -0.006970997 0.963172495\nvn -0.192337036 0.037995003 0.980593145\nvn -0.145582035 0.044980012 0.988323212\nvn -0.150423065 0.063344024 0.986590385\nvn -0.266119987 -0.024835 0.963620007\nvn -0.442498118 0.085865021 0.892649233\nvn -0.386026949 0.074739993 0.919454873\nvn -0.485621989 0.109347001 0.867303014\nvn -0.172081023 0.082010016 0.981663108\nvn -0.123995982 0.094381988 0.987783909\nvn 0.951239884 0.297528982 0.081358992\nvn 0.839573145 0.535567045 0.091022007\nvn 0.945080757 -0.326836914 -0.000001\nvn 0.788751364 0.614712298 0\nvn 0.528673291 0.848825455 0\nvn 0.649175048 0.760639131 0\nvn 0.72142899 0.673614025 0.160575002\nvn 0.536359251 0.824570417 0.180007085\nvn 0.891127586 0.446673781 0.079838961\nvn 0.909965754 0.410981923 0.055283986\nvn 0.885035872 0.46181193 0.058662992\nvn 0.827667117 0.542028069 0.145509019\nvn 0.681246996 0.728528976 -0.07175\nvn 0.561804175 0.782946289 0.267154098\nvn 0.519138098 0.807712197 0.279458046\nvn -0.272604018 0.786247134 0.554529071\nvn -0.259367079 0.717570305 0.646391213\nvn -0.712315857 0.692024887 0.117079988\nvn -0.70539993 0.706176937 0.061033994\nvn -0.463751942 0.541429937 0.701275945\nvn -0.791438103 0.597187042 -0.130359009\nvn -0.800575495 0.562950373 -0.205343112\nvn -0.141121954 0.876280725 0.460669816\nvn 0.126300037 0.856990159 0.499616116\nvn -0.477558941 0.813594878 0.331663966\nvn -0.468647987 0.789555013 0.396196991\nvn -0.008308001 0.727961123 0.685568094\nvn -0.624029279 0.701076329 0.345079184\nvn -0.725332022 0.648024976 0.232287005\nvn 0.532888174 0.758623242 0.374861151\nvn 0.733899236 0.614253223 0.289974093\nvn 0.624688983 0.624714971 0.468502998\nvn 0.519800663 0.726450503 0.449529678\nvn 0.50660497 0.718274951 0.476898938\nvn 0.381815106 0.641274095 0.665571094\nvn 0.283178002 0.545167029 0.78905201\nvn 0.982221246 -0.135957032 0.129450023\nvn 0.837638676 -0.525250793 0.149910942\nvn 0.852870882 -0.50185293 0.144065991\nvn 0.985919654 -0.122643955 0.11367096\nvn -0.745378077 0.456026047 -0.486263067\nvn -0.649405003 0.484894007 -0.585790992\nvn -0.872143805 0.334908903 -0.356652915\nvn -0.92301023 0.255428046 -0.287765056\nvn -0.75787884 0.545509875 -0.357824922\nvn -0.876359701 0.48165682 0.000678\nvn -0.896233261 0.443583131 0\nvn -0.951430023 0.307864994 0\nvn -0.944258451 0.291829139 -0.152354077\nvn -0.970862746 0.217523962 -0.100542977\nvn -0.437234074 0.596297085 -0.673243046\nvn -0.633771122 0.674585104 -0.378509045\nvn -0.502973914 0.636096895 -0.585147917\nvn -0.323384911 0.803269804 -0.500179887\nvn -0.260062963 0.686557949 -0.678973913\nvn -0.666560233 0.706379235 -0.238172084\nvn 0.019089999 0.062508993 0.997861862\nvn -0.000034 0.045258015 0.998975337\nvn -0.143949047 0.087023027 0.985751331\nvn -0.108191051 0.140634075 0.984132469\nvn -0.205467075 -0.126067042 0.970510364\nvn -0.264690071 -0.064781018 0.962155223\nvn -0.297366947 -0.04334899 0.953778744\nvn -0.186255008 0.083882004 0.978914142\nvn -0.154479966 0.136581972 0.978509784\nvn -0.425696999 -0.082772002 0.901072025\nvn -0.404963076 -0.11169403 0.907485247\nvn -0.434175998 -0.065095998 0.898473024\nvn -0.403934926 -0.056537993 0.913038909\nvn -0.39561817 -0.088041045 0.914185405\nvn -0.751473188 0.128030032 0.647222161\nvn -0.816060305 0.113428034 0.566727161\nvn -0.666431963 0.233208969 0.708153963\nvn -0.891382098 0.391037047 0.229190037\nvn -0.964108109 0.142268017 0.224177033\nvn -0.962266266 0.127596036 0.240339056\nvn -0.595842063 0.370298028 0.712637067\nvn -0.722336173 0.635448158 0.272830069\nvn -0.449847072 0.115220018 0.885642111\nvn -0.456356317 0.201056153 0.866784573\nvn -0.51678282 0.448413849 0.729287744\nvn -0.535901725 0.771954536 0.341899812\nvn -0.183780998 -0.105984002 0.977236986\nvn -0.045992021 -0.356338173 0.93322444\nvn -0.582311749 0.212824926 0.784613788\nvn -0.537384093 0.142873034 0.831147194\nvn -0.806584477 0.205403119 0.554284334\nvn -0.354701191 0.001559001 0.934978426\nvn -0.495023876 0.482582867 0.722540796\nvn -0.326868981 -0.057581991 0.943313897\nvn -0.634103835 0.258035928 0.728923798\nvn -0.499520242 -0.045711022 0.865095437\nvn -0.295581847 -0.06433697 0.953148544\nvn -0.080957003 -0.390785009 0.916914999\nvn -0.35413605 -0.009550001 0.93514514\nvn -0.47714299 0.535929978 0.696501017\nvn -0.376701921 0.844513834 0.380646914\nvn -0.497325242 0.808241367 -0.315299153\nvn -0.280723035 0.898467124 -0.337567031\nvn -0.81082499 0.56199199 0.163487002\nvn -0.806116283 0.569039166 0.162392065\nvn -0.816330731 0.577584803 0\nvn -0.820032299 0.572310209 -0.002837001\nvn -0.947715104 0.118080013 0.296468019\nvn -0.905708015 0.222607002 0.360747993\nvn -0.924005985 0.280007005 0.260401994\nvn -0.808762014 0.529706001 0.255569011\nvn -0.858466148 0.456926048 0.232926026\nvn -0.601730049 0.232534036 0.764100134\nvn -0.195351958 0.135899976 0.971271753\nvn -0.102953039 0.409664154 0.90640831\nvn -0.138703957 0.240020916 0.960807621\nvn -0.148172975 0.120394967 0.981605768\nvn -0.145687997 0.262861013 0.953770995\nvn -0.182602942 0.110851966 0.976917624\nvn -0.121079028 0.287346065 0.950143218\nvn -0.30021596 0.606172919 0.736494958\nvn 0.162511051 0.298194051 0.940569222\nvn -0.93743813 0.337597072 0.085076012\nvn -0.911772132 0.404472053 0.071232006\nvn -0.93204999 0.278995991 0.231179997\nvn -0.95597446 0.280850112 0.085065037\nvn -0.784636497 0.562910616 0.259763837\nvn -0.795972109 0.491037071 0.353993028\nvn -0.987010896 0.160509989 0.006785999\nvn -0.973680854 0.195663989 -0.116881981\nvn -0.859342694 0.439825863 -0.260927916\nvn -0.653318882 0.706965864 -0.270875961\nvn -0.415067941 0.890318871 -0.187218979\nvn -0.328711092 0.943804264 -0.034390006\nvn -0.001568999 -0.2247269 0.974420547\nvn -0.327785015 -0.105244018 0.938872099\nvn -0.28018406 0.043675013 0.958952248\nvn -0.51196909 0.319423079 0.797406197\nvn -0.135642976 -0.402508914 0.90531075\nvn -0.566984653 -0.054423966 0.821928501\nvn -0.250345081 0.744885266 0.618444264\nvn -0.07338997 0.43172285 0.899015725\nvn 0.012761002 0.246439055 0.969074249\nvn 0.092918023 0.091287024 0.991480231\nvn 0.238004938 -0.084597975 0.967572749\nvn 0.485781878 -0.467505872 0.738548815\nvn 0.54291594 -0.78371191 0.30172497\nvn 0.256849885 -0.929272592 0.265481889\nvn 0.255303025 -0.966861129 0\nvn 0.507436216 -0.861689389 0\nvn -0.523772955 0.844531894 0.111479983\nvn -0.119947985 0.676573932 0.726539969\nvn -0.451827109 0.672155201 0.586566091\nvn -0.684242308 0.660416305 0.309294134\nvn -0.053962994 0.553205967 0.831294894\nvn -0.003050999 0.498566926 0.866845906\nvn -0.36313498 0.603114963 0.710200965\nvn -0.387534142 0.59539026 -0.703795254\nvn -0.497437119 0.835370183 -0.233908057\nvn -0.30203405 0.845261157 0.440805107\nvn -0.464764118 0.564641118 -0.682037175\nvn -0.562460959 0.793323874 -0.23296997\nvn -0.392601013 0.808731019 0.437970996\nvn -0.678252757 0.606326759 0.415139854\nvn -0.771241188 0.592803121 0.231887057\nvn -0.614922225 0.620563209 0.486592174\nvn -0.790979981 0.599597991 0.121790998\nvn -0.007485996 0.593835652 0.804551542\nvn 0.006189999 0.592723966 0.805381894\nvn 0.144379988 0.636388898 0.757735968\nvn 0.093139999 0.642768979 0.76037699\nvn 0.054552034 0.649170339 0.758684456\nvn -0.367753029 -0.125455022 0.921422124\nvn -0.357659131 -0.094068035 0.929102361\nvn -0.320057005 -0.204400003 0.925086021\nvn -0.281732082 -0.483974189 0.828490317\nvn -0.167998016 -0.333549023 0.92764312\nvn 0.252292097 -0.348593116 0.902680278\nvn -0.406058103 -0.05206101 0.912363231\nvn -0.414079994 -0.048528001 0.908945978\nvn -0.350843012 -0.074562997 0.93346101\nvn -0.287533969 -0.047380995 0.956597865\nvn -0.181474 0.072155997 0.980745018\nvn -0.145286977 0.123647973 0.981632769\nvn -0.11695797 0.204544961 0.971844733\nvn -0.066510022 0.499617189 0.863689303\nvn -0.033054993 0.435468912 0.899596751\nvn 0.014460002 0.478517056 0.877959132\nvn 0.013542998 0.582969904 0.81238085\nvn -0.16579999 0.634639919 0.754812896\nvn 0.053231999 0.65168798 0.75661701\nvn 0.020104004 0.666257143 0.745451093\nvn -0.363555908 0.72098583 0.589920878\nvn 0.339049101 0.87473315 0.34624809\nvn 0.559406042 0.810149133 -0.175281018\nvn -0.232044131 0.737955391 0.633701384\nvn -0.237758905 0.653741777 0.71839577\nvn 0.437753946 0.842406869 0.314200968\nvn -0.455846936 0.58889693 0.667385936\nvn -0.435504735 0.53592068 0.723273575\nvn 0.187390983 0.109537981 0.976158857\nvn 0.066093996 0.565010965 0.822431862\nvn 0.706269979 -0.009106 0.707884014\nvn 0.085042991 -0.081018992 0.993077874\nvn 0.169132978 -0.017890997 0.985430896\nvn 0.181537077 0.254159093 0.949972332\nvn 0.142622054 0.520027161 0.842158318\nvn 0.160040051 0.634176195 0.756444156\nvn -0.07199201 0.58872503 0.805121124\nvn 0.163636029 0.746792138 0.644612134\nvn -0.179399043 0.654505193 0.734465182\nvn 0.985895872 0.039492995 0.162633985\nvn 0.902719319 0.429741144 0.020506008\nvn 0.811005294 0.501246154 -0.301700085\nvn 0.669484973 0.606215 -0.42929399\nvn 0.70871383 0.508903861 -0.488611877\nvn 0.718502998 0.449649006 -0.530631006\nvn 0.8497352 0.489171118 -0.196626037\nvn -0.077042997 -0.97180301 0.222853005\nvn -0.081537031 -0.996670365 0\nvn -0.790390134 0.610639036 0.049025007\nvn -0.797687709 0.602961779 -0.011464996\nvn 0.795315385 -0.549399257 0.256191105\nvn 0.836625814 -0.547774851 0\nvn 0.227662995 -0.973739982 0\nvn -0.855623901 0.514567912 0.055924993\nvn -0.909012973 0.416768014 0\nvn -0.862175286 0.506610155 0\nvn -0.738699675 0.674034715 0.000001\nvn -0.874896109 0.46679306 0.129078016\nvn -0.931674898 0.363147944 -0.010277998\nvn -0.928010583 0.372553825 0\nvn -0.947407663 0.307258874 -0.089502968\nvn -0.943210006 0.332197011 0\nvn -0.356562734 0.874626398 0.32846877\nvn -0.383576989 0.923509002 0\nvn 0.362134904 -0.932125747 0.000001\nvn 0.088397004 -0.290742993 -0.952709019\nvn 0.185707986 -0.615176916 -0.766204894\nvn 0.33606109 -0.941840231 0\nvn 0.060964987 -0.237229943 -0.969538748\nvn 0.08419203 -0.323581129 -0.942447364\nvn 0.082149997 -0.395821005 -0.914646029\nvn 0.091568008 -0.448327065 -0.88916713\nvn -0.089517027 -0.295742124 -0.951064348\nvn -0.234520093 -0.972111344 0\nvn -0.567094088 0.559710085 -0.604259074\nvn -0.657470942 0.729140937 -0.18996197\nvn -0.603897035 0.771543145 -0.200074032\nvn -0.502490878 0.5652439 -0.654218793\nvn -0.515549123 0.755380154 0.404487103\nvn -0.453341991 0.780103981 0.43118301\nvn -0.089469977 0.494993895 0.86427784\nvn 0.034423009 0.402837098 0.914624214\nvn 0.032023989 0.445118845 0.894898713\nvn -0.059923954 0.52742064 0.847488403\nvn -0.182933003 0.510932028 0.839931011\nvn -0.183607996 0.533712983 0.825492978\nvn -0.572850943 0.639280915 0.512992918\nvn -0.599067926 0.662278891 0.450004935\nvn -0.853035986 0.516866028 -0.071966\nvn -0.828561425 0.559865236 0.006076003\nvn -0.847029269 0.471488178 -0.245439082\nvn -0.774840117 0.631999075 0.014144002\nvn -0.722910047 0.690705061 0.018101001\nvn -0.809141874 0.537256956 -0.238000974\nvn -0.369307995 0.774057984 0.514243007\nvn -0.302148014 0.801900029 0.515425026\nvn 0.152428001 0.637598991 0.75513798\nvn 0.161751002 0.631422997 0.758381009\nvn 0.157875001 0.649269998 0.743991971\nvn 0.163252026 0.649346113 0.742764115\nvn 0.110220015 0.640029073 0.76040411\nvn 0.052074999 0.685697019 0.726022005\nvn -0.039628997 0.730584919 0.681670964\nvn -0.042467985 0.683297753 0.72890377\nvn -0.131967023 0.709353209 0.69238919\nvn -0.520267785 0.662701726 0.538653791\nvn -0.476430833 0.732593715 0.486127824\nvn -0.749892354 0.559469223 0.353066176\nvn -0.571309865 0.676437795 0.464797884\nvn -0.537447095 0.739132106 0.405998111\nvn -0.727829993 0.625464976 0.281170994\nvn -0.28283003 0.778149128 0.560795069\nvn -0.303391993 0.831349015 0.465631008\nvn 0.570880175 0.695960224 0.435586154\nvn 0.7351982 0.5991171 0.317084104\nvn 0.739013076 0.628108084 0.243598029\nvn 0.563401043 0.747729063 0.351398021\nvn 0.522019029 0.706336975 0.478105009\nvn 0.525635064 0.750991046 0.399650037\nvn 0.161297992 0.812456906 0.560264945\nvn 0.204172 0.767338991 0.607869029\nvn 0.133011013 0.742080033 0.656982064\nvn -0.160348937 0.701853693 0.694038689\nvn -0.278951168 0.567362368 0.774781466\nvn 0.002336 0.706270874 0.707937896\nvn -0.102526017 0.690946043 0.71559906\nvn -0.36837405 0.567490101 0.7363801\nvn 0.468371212 0.815287411 0.340492159\nvn 0.438733131 0.826723158 0.352196097\nvn 0.745421171 0.475269109 -0.467404127\nvn 0.735627413 0.416209251 -0.534436285\nvn 0.714780211 0.450612158 -0.534825206\nvn 0.722478151 0.490171105 -0.487604111\nvn 0.760521114 0.515041053 -0.395399064\nvn 0.709236324 0.668954313 -0.222450107\nvn 0.544557095 0.804323196 0.237743065\nvn 0.502956092 0.816128194 0.284552068\nvn 0.56669116 0.775129318 0.279349089\nvn 0.526096284 0.784252465 0.328893214\nvn 0.518463194 0.789502323 0.328454107\nvn 0.481271774 0.828900576 0.285133839\nvn -0.328732044 0.354911029 -0.875199139\nvn -0.747986734 0.663713753 0.000001\nvn -0.68406868 0.729417622 0\nvn -0.562863111 0.826550186 0\nvn 0.012985004 0.702044129 0.712015092\nvn 0.49607724 0.795951366 0.346942186\nvn -0.242675066 0.565237105 0.788426161\nvn -0.376254886 0.548322856 0.746842861\nvn -0.039791007 0.736223102 0.675568104\nvn 0.425569922 0.806005836 0.411393911\nvn 0.25461784 0.646231651 0.719412565\nvn 0.198176026 0.629959047 0.75091809\nvn 0.27125296 0.657597959 0.702841938\nvn 0.334378004 0.600156009 0.726638973\nvn 0.296032935 0.578752875 0.759874821\nvn 0.26879397 0.546285927 0.793297887\nvn 0.753013968 0.516077936 0.408207983\nvn 0.627041936 0.570323944 0.530611932\nvn 0.614209056 0.599721074 0.512915075\nvn 0.645194232 0.57095921 0.507671177\nvn 0.774641216 0.479794174 0.411981136\nvn 0.752025723 0.478553832 0.453258842\nvn -0.605426908 0.579197884 0.545882881\nvn -0.23929897 0.715249896 0.656622887\nvn -0.79046917 0.449470133 0.416095078\nvn -0.829134405 0.35862717 0.428862214\nvn -0.619047284 0.541705251 0.568626285\nvn -0.179481938 0.695843756 0.695404768\nvn -0.151546016 0.617366076 0.771941125\nvn -0.525779009 0.543532014 0.654316008\nvn -0.094838023 0.609563112 0.787044168\nvn -0.122163013 0.513725042 0.849213123\nvn -0.154840946 0.538559794 0.828237712\nvn -0.229268089 0.54068315 0.809381306\nvn 0.191170007 0.57971102 0.792078972\nvn 0.051661026 0.586247325 0.808483362\nvn 0.147661045 0.624446154 0.766983151\nvn 0.197449997 0.61480999 0.763558984\nvn 0.262838989 0.52809298 0.807485998\nvn 0.202875927 0.49374482 0.845610678\nvn -0.815841496 0.57630533 0.047695026\nvn -0.445069134 0.726083219 0.524134159\nvn -0.873829424 0.415906191 -0.251881123\nvn -0.866516292 0.419051141 -0.271193087\nvn -0.794998825 0.604523897 0.050277989\nvn -0.447116107 0.753464162 0.482057124\nvn -0.64589119 0.650290191 0.399934083\nvn -0.867032409 0.495386243 -0.053360026\nvn -0.230632067 0.462735116 0.855970204\nvn -0.287436843 0.427923799 0.856890559\nvn -0.687810302 0.60674423 0.398470134\nvn -0.886327446 0.459373206 -0.058309026\nvn 0.049790014 0.316705108 0.947216332\nvn -0.104753003 0.465544999 0.878803015\nvn -0.096939035 0.404319137 0.909466326\nvn 0.06228197 0.222590894 0.972920537\nvn -0.707064629 0.665948629 -0.237848878\nvn -0.578039169 0.712058246 0.39855215\nvn -0.615388095 0.49775511 -0.611177146\nvn -0.610755146 0.5110901 -0.604785144\nvn -0.715668917 0.663346946 -0.218606964\nvn -0.597734988 0.70420599 0.383154005\nvn -0.587712944 0.304502964 -0.74958092\nvn -0.890840709 0.454315841 0.000001\nvn -0.545424998 0.329694003 -0.770592988\nvn -0.861450911 0.507840931 0.000002\nvn 0.533575773 0.775569618 0.337325841\nvn 0.534672916 0.769338906 0.349631965\nvn 0.559554994 0.771035016 0.303979009\nvn 0.402858049 0.872822106 0.275476038\nvn 0.396641076 0.87236619 0.285750061\nvn 0.444048107 0.853398204 0.273007065\nvn 0.762193203 0.308588058 -0.569065094\nvn 0.766517997 0.63202101 -0.114015996\nvn 0.775559187 0.4256441 -0.466192126\nvn 0.834214807 0.411908925 -0.366628915\nvn 0.798261106 0.211224034 -0.564060032\nvn 0.803440452 0.418001235 -0.423979253\nvn -0.110276029 0.674106181 0.730356157\nvn -0.140763029 0.62601018 0.767005205\nvn -0.208875 0.62075299 0.755670011\nvn -0.256009996 0.61006999 0.749849021\nvn -0.295028001 0.578666985 0.760330975\nvn -0.320552081 0.580669105 0.748378158\nvn -0.46410805 0.503791034 -0.728559077\nvn -0.760984838 0.648769796 0.000002\nvn -0.312344164 0.351139188 -0.88269043\nvn -0.38083899 0.460619003 -0.801742971\nvn -0.563099205 0.826389313 0\nvn -0.652310193 0.757952154 0\nvn -0.474803895 0.503491879 -0.721842885\nvn -0.532629907 0.389591902 -0.75134784\nvn -0.731860995 0.681454003 0.000001\nvn -0.467606783 0.326542854 -0.821409583\nvn -0.520133972 0.398889005 -0.755213976\nvn -0.832439899 0.548455954 -0.078992993\nvn -0.816305876 0.510738969 -0.269796968\nvn -0.827786982 0.464652985 -0.314429998\nvn -0.855525315 0.367399126 -0.364821106\nvn -0.865288019 0.268626004 -0.423222005\nvn -0.850262403 0.248610124 -0.463947207\nvn 0.059450015 0.620439112 0.781998158\nvn 0.081920981 0.66937989 0.738389909\nvn 0.063644037 0.694580436 0.716594398\nvn 0.035417978 0.689414561 0.723500609\nvn -0.000177 0.671371758 0.741120756\nvn -0.015866997 0.712868869 0.701117873\nvn 0.135843039 0.866724312 0.479933172\nvn 0.166031957 0.809277833 0.56347388\nvn 0.308572978 0.70251596 0.641290963\nvn 0.359236926 0.676835895 0.642527878\nvn -0.804145336 0.575896323 0.147288069\nvn -0.830451012 0.527051985 0.180464\nvn -0.856093824 0.458509892 0.238478944\nvn -0.913726091 0.301603019 0.272287041\nvn -0.914696097 0.205746025 0.347850025\nvn -0.944742143 0.180468008 0.273667037\nvn -0.441808134 0.515576184 0.734157264\nvn -0.599169254 0.403363109 0.691588283\nvn -0.572275102 0.396891087 0.717620194\nvn -0.490960002 0.409534991 0.768921018\nvn -0.546688437 0.367611259 0.752325535\nvn -0.574839175 0.290749103 0.764869273\nvn -0.222682998 0.476188987 0.850679994\nvn -0.608414292 0.238922119 0.756801367\nvn -0.642293811 0.267635942 0.718212843\nvn 0.697834253 0.616774261 -0.364166111\nvn 0.738241017 0.606137991 -0.295967996\nvn 0.744659245 0.62157023 -0.243173093\nvn 0.775117815 0.593594909 -0.21641995\nvn 0.837227821 0.530976892 -0.130817965\nvn -0.425369859 -0.758576691 -0.493580818\nvn -0.287455976 -0.80109787 -0.524986923\nvn -0.267402023 -0.733235061 -0.625190079\nvn -0.455976784 -0.68298471 -0.570628703\nvn 0.059365034 -0.816018462 -0.574969351\nvn 0.086787984 -0.741072893 -0.665791869\nvn 0.143314034 -0.666043162 -0.732016206\nvn -0.253356934 -0.684345841 -0.683725834\nvn -0.536420107 -0.615291119 -0.577642143\nvn 0.027365992 -0.921358764 -0.387748897\nvn 0.128636032 -0.934921265 -0.330719084\nvn 0.486688107 -0.492286116 -0.721657157\nvn 0.323349983 -0.640345931 -0.696707964\nvn 0.851221979 -0.210339993 -0.480809987\nvn 0.6945768 -0.196312949 -0.692115843\nvn 0.611068964 -0.341981977 -0.713892937\nvn 0.44800216 -0.422057152 -0.78813827\nvn 0.377435923 -0.509529889 -0.773253798\nvn -0.438665867 0.376480907 -0.815986812\nvn -0.465279996 0.44214201 -0.766828001\nvn -0.38554734 0.306761235 -0.870201707\nvn -0.419751763 0.418989748 -0.805143535\nvn -0.60681808 0.595376074 -0.526592076\nvn -0.578022957 0.602725923 -0.550100923\nvn -0.693451822 0.697731793 -0.179707959\nvn -0.717454076 0.677385032 -0.162509009\nvn -0.598460913 0.694812894 0.398847967\nvn -0.603714049 0.705767035 0.370705038\nvn -0.332847983 0.585224926 0.739407957\nvn -0.384708941 0.554338932 0.738042951\nvn -0.080470011 0.358261019 0.930147111\nvn -0.08051198 0.390130907 0.917232752\nvn 0.112557054 0.101939052 0.988402486\nvn 0.171911046 0.025926005 0.984771252\nvn 0.334015101 -0.354360104 0.873420179\nvn 0.104375035 0.009104003 0.994496346\nvn -0.663890898 0.520382881 0.537075877\nvn -0.75691998 0.478825003 0.444745988\nvn -0.451034278 -0.788921475 0.417338282\nvn -0.760701835 -0.644322813 -0.078618981\nvn -0.705072165 -0.168458045 -0.688836157\nvn -0.839693308 0.457553148 0.292507112\nvn -0.794915378 0.123546056 -0.594008327\nvn -0.800457895 0.239473969 -0.549471915\nvn -0.72682035 0.281591147 -0.626449287\nvn -0.773401797 0.532789886 -0.343488902\nvn -0.812845707 0.488565832 -0.317151874\nvn -0.726921082 0.686189055 0.027026003\nvn -0.706246972 0.706634998 0.043384999\nvn -0.404154986 0.774859011 0.486057997\nvn -0.425388098 0.802405179 0.418558091\nvn 0.004690002 0.737957239 0.674831212\nvn -0.020339999 0.658864021 0.75198698\nvn 0.275550097 0.534891188 0.79872632\nvn 0.275374949 0.61091888 0.742257893\nvn 0.399464995 0.426609993 0.811438024\nvn 0.487491012 0.321981996 0.811591029\nvn 0.548825979 -0.401560009 0.733170986\nvn 0.186252043 0.344686091 0.920055211\nvn -0.214765966 0.404829949 0.8888129\nvn -0.256164998 0.409889013 0.875425994\nvn -0.175879002 -0.970807016 0.163095996\nvn -0.867127597 -0.497902751 0.013515993\nvn -0.259009033 0.52888608 0.808204114\nvn -0.975571334 0.061301023 0.21095708\nvn -0.961854458 0.128337055 0.241590112\nvn -0.967392743 0.176212952 0.181934953\nvn -0.824114025 0.435649008 0.362002999\nvn -0.847815573 0.348438829 0.399748832\nvn -0.615123928 0.547651947 0.567185938\nvn -0.569960237 0.576251209 0.585730314\nvn -0.086155981 0.72851181 0.679593801\nvn -0.157394975 0.715977907 0.6801489\nvn 0.391756862 0.696831763 0.600792825\nvn 0.406936884 0.6916219 0.596708894\nvn 0.676927865 0.586659968 0.44452095\nvn 0.661695063 0.589182079 0.46370706\nvn 0.817916989 0.453110993 0.354544997\nvn 0.865347207 0.423201084 0.268468052\nvn 0.769370973 -0.637031019 0.047538999\nvn 0.859401107 0.36552304 0.357523024\nvn 0.387249947 0.598160923 0.701598942\nvn 0.377953917 0.484851867 0.788713813\nvn -0.180039987 -0.975137889 0.129196987\nvn -0.783679307 -0.52773416 0.327633113\nvn 0.362219006 0.477306008 0.800610006\nvn -0.820104301 0.123186044 0.558797181\nvn -0.788646638 0.239024878 0.566483676\nvn -0.850847423 0.175032094 0.495401233\nvn -0.689371824 0.482361883 0.540456891\nvn -0.546757877 0.538060904 0.641518831\nvn -0.201598972 0.756035864 0.62270993\nvn -0.34612599 0.745754004 0.569252014\nvn 0.064368024 0.868961275 0.490676165\nvn 0.277193993 0.826263011 0.490359992\nvn 0.670702159 0.733233154 0.111928031\nvn 0.358424038 0.873935103 0.328283042\nvn 0.711935163 0.702216208 0.006388002\nvn 0.784299016 0.588479996 -0.196382999\nvn 0.822866082 0.41009903 -0.393332034\nvn 0.828468025 0.511399984 -0.228277996\nvn 0.761296868 0.398831934 -0.511233926\nvn 0.234463006 0.946582019 0.221380994\nvn 0.309170008 0.924315989 0.223727003\nvn 0.181345016 -0.978740096 -0.095822014\nvn 0.213980079 -0.97683537 -0.002278001\nvn 0.402354836 0.893741727 0.198333919\nvn 0.253232002 -0.966629982 -0.038729999\nvn 0.588869989 0.795804977 0.141161993\nvn -0.027666006 -0.999617219 0\nvn 0.830991685 0.556284845 0\nvn 0.592788279 0.80535835 0\nvn 0.539294004 0.810923994 0.227078006\nvn 0.576188922 0.772348881 0.267363966\nvn 0.620538831 0.784175813 0\nvn 0.547184169 0.837012291 0\nvn 0.521436155 0.814402282 0.25466308\nvn 0.483592987 0.848375022 0.215400994\nvn 0.487702131 0.873010159 0\nvn -0.278398097 0.261495084 0.924183369\nvn 0.203687102 -0.516946256 0.831431389\nvn 0.091523968 -0.545499802 -0.83309871\nvn -0.125728995 -0.227153003 -0.965708971\nvn 0.035185013 -0.587560177 -0.808415294\nvn -0.229008973 0.06474299 -0.971268892\nvn -0.350768834 0.2192159 -0.910442591\nvn -0.567206919 0.424035937 0.706023932\nvn 0.531964958 0.56121397 0.63407594\nvn -0.019632993 0.436131865 0.899668694\nvn 0.417721003 0.906428993 0.062415\nvn 0.414176077 0.611780107 0.673931181\nvn 0.570670068 0.394184053 0.720385075\nvn 0.894635975 0.191368997 0.403737992\nvn 0.735632122 0.229757026 0.637226105\nvn 0.790065169 0.094994023 0.605618119\nvn 0.936232984 0.034827001 0.349649996\nvn -0.3772479 -0.007144998 0.926084757\nvn -0.18235001 0.101602018 0.977970123\nvn 0.032334995 0.188608989 0.981519878\nvn 0.094623014 0.214181036 0.972200096\nvn 0.119549982 0.225188971 0.96695286\nvn 0.176549941 0.249378905 0.95217663\nvn 0.266328841 0.285067827 0.920763493\nvn 0.413695991 0.328117013 0.849232018\nvn 0.657686055 0.336406022 0.674003065\nvn 0.813063025 0.370891005 0.448740989\nvn 0.854678273 0.465752184 0.229347095\nvn 0.957686901 0.155767992 0.242016971\nvn 0.98955375 0.144164965 0\nvn 0.861047208 0.508525133 -0.000001\nvn 0.99739933 -0.072074026 0.000001\nvn 0.983282745 -0.036867991 0.178313956\nvn 0.442623198 -0.857444406 -0.262438118\nvn 0.195642948 -0.659962833 -0.725377798\nvn 0.178145975 -0.721518874 -0.669084907\nvn 0.357872009 -0.879948974 -0.312438011\nvn 0.13136895 -0.553889811 -0.822160721\nvn 0.08628799 -0.602105916 -0.793739855\nvn 0.11147397 -0.511096895 -0.852263808\nvn 0.241992086 -0.716992259 -0.65372926\nvn 0.408501148 -0.865024269 -0.291307092\nvn 0.479411989 -0.682754993 0.551370978\nvn 0.525546253 -0.688933372 0.499171227\nvn 0.509837091 -0.649141192 0.564519107\nvn 0.521660984 -0.769846022 0.367704988\nvn 0.520911753 -0.799401641 0.299345851\nvn 0.547073126 -0.770767152 0.326541096\nvn 0.559234202 -0.668152213 0.490744174\nvn 0.563919127 -0.606036127 0.560995102\nvn 0.188577041 -0.45650211 -0.869508207\nvn 0.359334916 -0.708625793 -0.607229829\nvn 0.314056158 -0.702922344 -0.638176322\nvn 0.158584058 -0.484643191 -0.86021632\nvn 0.490272999 -0.826856971 -0.275572002\nvn 0.471397132 -0.835535169 -0.28225106\nvn 0.587486744 -0.739827693 0.327893883\nvn 0.586593091 -0.63531518 0.50227809\nvn 0.57429409 -0.633616149 0.518379092\nvn 0.57470566 -0.746889591 0.334468782\nvn 0.486535996 -0.862358987 0.140070006\nvn 0.559761882 -0.71160382 0.424601912\nvn 0.10920196 -0.957122624 -0.268311918\nvn 0.488521814 -0.832616687 -0.260951906\nvn 0.368534118 -0.693853259 -0.618668258\nvn 0.202477932 -0.403668851 -0.892218709\nvn 0.563124835 -0.563734829 0.604229748\nvn 0.578388333 -0.635604382 0.511345327\nvn 0.565617025 -0.751856029 0.338806987\nvn 0.469287992 -0.880165994 0.071252003\nvn 0.472591937 -0.878467858 0.070364989\nvn 0.511694193 -0.85469228 0.087580033\nvn 0.547966003 -0.833365023 0.072360002\nvn 0.5616678 -0.825740695 0.051785983\nvn 0.554316044 -0.830494106 0.054894008\nvn 0.074234031 -0.564462185 -0.822114289\nvn 0.076171003 -0.513975978 -0.854416013\nvn 0.073631994 -0.328263938 -0.941711903\nvn 0.082077019 -0.267771065 -0.959980249\nvn 0.117601968 -0.280022949 -0.952762783\nvn 0.188644007 -0.438169003 -0.878875017\nvn 0.49943611 -0.758116186 0.419313103\nvn 0.259863913 -0.94158864 -0.21419993\nvn 0.546130121 -0.762794197 0.346247077\nvn 0.310412914 -0.918053746 -0.24661994\nvn 0.058607984 -0.873303831 -0.483637869\nvn -0.063203998 -0.800764024 -0.59563601\nvn 0.126660064 -0.855400443 -0.502242267\nvn -0.044275984 -0.766590714 -0.640607774\nvn 0.75314182 -0.629005849 0.192688957\nvn 0.781513989 -0.623879015 -0.003291\nvn 0.426855206 -0.874337435 -0.230930105\nvn 0.773344696 -0.628385782 0.084078968\nvn 0.775250316 -0.630055249 -0.044915017\nvn 0.79241091 -0.609876931 -0.011624999\nvn 0.794837177 -0.606702149 -0.012099002\nvn 0.519465089 -0.811283112 -0.268283039\nvn 0.515431821 -0.719916701 -0.464811862\nvn 0.093573019 -0.642825186 -0.760276198\nvn 0.119658999 -0.771305978 -0.625114977\nvn 0.423283011 -0.777997017 -0.464275986\nvn -0.061022006 -0.569680035 -0.819598138\nvn -0.117110968 -0.705518901 -0.698947906\nvn -0.109157965 -0.733727753 -0.670617759\nvn 0.199139044 -0.839494169 -0.505562127\nvn 0.424784929 -0.82760489 -0.366916984\nvn 0.296484917 -0.925922751 -0.23401694\nvn 0.121665016 -0.865094125 -0.486631066\nvn 0.171648994 -0.880804002 -0.441271991\nvn -0.127836064 -0.723843336 -0.678018272\nvn -0.078152977 -0.75420481 -0.651971817\nvn 0.34451887 -0.841369689 -0.416417837\nvn -0.091891043 -0.746091366 -0.659472287\nvn 0.058841024 -0.79050529 -0.60962224\nvn 0.630258799 -0.757138848 -0.171798959\nvn 0.562771916 -0.792727888 -0.234243974\nvn 0.802749515 -0.593829632 0.054402966\nvn 0.800066888 -0.598628938 0.039197996\nvn 0.791961908 -0.609954953 0.027409997\nvn 0.592712998 -0.793964982 -0.135317996\nvn 0.57426995 -0.801974893 -0.164469987\nvn 0.533506215 -0.767589331 0.355215192\nvn 0.311886996 -0.921352029 -0.232027993\nvn 0.135707065 -0.866795421 -0.479843229\nvn -0.11287003 -0.722214103 -0.68239814\nvn 0.44791314 -0.833773315 -0.32279411\nvn 0.396085083 -0.842634201 -0.364807099\nvn -0.054896016 -0.727511168 -0.683896184\nvn 0.611714184 -0.783201277 -0.111363046\nvn 0.80816263 -0.585552692 0.063256972\nvn 0.789374113 -0.613016069 0.033166002\nvn 0.66165328 -0.733693302 -0.154626071\nvn 0.648018003 -0.733305991 -0.205754995\nvn 0.620578825 -0.760573804 -0.19081296\nvn 0.542438984 -0.803327978 -0.245812997\nvn -0.166626081 -0.499655247 -0.85004741\nvn -0.182178006 -0.660336018 -0.728537977\nvn -0.205846995 -0.666822016 -0.716223001\nvn -0.244541034 -0.640809059 -0.727711082\nvn -0.261985987 -0.602267981 -0.754079998\nvn 0.156479076 -0.889364421 -0.429587215\nvn -0.055394001 -0.872274995 -0.485868007\nvn 0.240754977 -0.876839876 -0.416159958\nvn 0.006036997 -0.876763582 -0.480883747\nvn 0.747995496 -0.520581365 -0.411701292\nvn 0.492226988 -0.705740988 -0.509550989\nvn -0.014053997 -0.917225778 -0.398119897\nvn 0.724396944 -0.421221942 -0.545729935\nvn 0.572138488 -0.589675486 -0.570035458\nvn 0.503147006 -0.684849024 -0.527091026\nvn 0.337615103 -0.797536194 -0.499952108\nvn 0.024805998 -0.887513876 -0.460112929\nvn 0.251275003 -0.907648981 -0.336205989\nvn 0.223525077 -0.919119358 -0.324432105\nvn -0.129370004 -0.916621983 -0.378242999\nvn 0.053757973 -0.922267556 -0.382795811\nvn 0.042142007 -0.898164093 -0.437636048\nvn -0.31875813 -0.848404288 -0.422615141\nvn -0.295551062 -0.860759199 -0.414419085\nvn 0.040352009 -0.882205129 -0.469133049\nvn 0.318134099 -0.836954176 -0.445307106\nvn 0.456142157 -0.764495313 -0.455501139\nvn 0.386851013 -0.817882001 -0.42592901\nvn 0.089348987 -0.92551589 -0.368017942\nvn 0.082012989 -0.916452885 -0.391647965\nvn 0.261783063 -0.915566266 -0.305300057\nvn 0.054512005 -0.932906091 -0.355970055\nvn 0.046607979 -0.906149566 -0.420381784\nvn -0.296330959 -0.8771649 -0.377848983\nvn -0.413127989 -0.833809018 -0.366180003\nvn 0.097188957 -0.929038584 -0.356989831\nvn 0.293460011 -0.865249991 -0.406477004\nvn 0.466342926 -0.77765888 -0.421628952\nvn 0.528228104 -0.524433136 -0.667791188\nvn 0.440724909 -0.641998827 -0.627374828\nvn 0.364133 -0.747008026 -0.556225002\nvn 0.377606004 -0.796894014 -0.471565008\nvn 0.383760154 -0.823429286 -0.417962164\nvn -0.705156982 -0.570452988 -0.421113998\nvn -0.455054045 -0.730197072 -0.509645045\nvn -0.28145504 -0.820575118 -0.497433066\nvn -0.229863942 -0.899135768 -0.372447908\nvn -0.263123006 -0.877399981 -0.401167989\nvn -0.451379955 -0.820440888 -0.350902975\nvn -0.159607068 -0.893343389 -0.420075208\nvn -0.416811943 -0.860365868 -0.29332298\nvn -0.197878972 -0.966581881 -0.162982985\nvn -0.211974069 -0.970410347 -0.115632042\nvn -0.142315984 -0.987059891 -0.073885992\nvn -0.188988924 -0.971896648 -0.140356958\nvn -0.108203024 -0.989723265 -0.093488023\nvn -0.163920954 -0.977667749 -0.131513968\nvn 0.151195973 -0.762111843 -0.629543841\nvn -0.102881961 -0.838574708 -0.534983814\nvn -0.276683003 -0.860028982 -0.428714991\nvn 0.000273 -0.821727157 -0.569881141\nvn -0.456883013 -0.815173984 -0.35601899\nvn -0.572468877 -0.783675849 -0.241104946\nvn -0.618361712 -0.785298645 -0.030576985\nvn -0.212815002 -0.904080987 -0.370604008\nvn -0.122198015 -0.937238097 -0.326577038\nvn -0.111740023 -0.952032268 -0.284866065\nvn -0.404576153 -0.912209272 -0.064749025\nvn -0.392197251 -0.909409523 -0.138404086\nvn -0.644607127 -0.739684105 0.193259016\nvn -0.254264086 -0.909508288 -0.32885313\nvn -0.44602105 -0.891102135 -0.083679013\nvn -0.655975223 -0.728203237 0.198536068\nvn 0.28205508 -0.583056152 -0.761899292\nvn 0.29048714 -0.577663302 -0.762838364\nvn 0.283065975 -0.62578696 -0.726817966\nvn 0.32547304 -0.566249073 -0.757251143\nvn -0.027342003 -0.878961146 -0.476109058\nvn -0.021434 -0.898313999 -0.438831002\nvn -0.228194028 -0.957757115 -0.175011009\nvn -0.22826308 -0.958028376 -0.173429057\nvn -0.215890929 -0.962761641 -0.162730947\nvn -0.209977001 -0.96303302 -0.168752\nvn -0.221824005 -0.95758599 -0.183910996\nvn -0.116535954 -0.956026614 -0.269132912\nvn -0.422914237 -0.905694544 -0.029344017\nvn -0.273638874 -0.897866607 -0.34490186\nvn -0.542877913 -0.839476883 0.023708995\nvn -0.691954255 -0.657726228 0.297650129\nvn -0.007904999 -0.862123907 -0.506635964\nvn 0.263942987 -0.580691993 -0.770150006\nvn 0.300584018 -0.507905066 -0.807268143\nvn -0.216682896 -0.968690515 -0.121190943\nvn -0.20786798 -0.963981867 -0.165921971\nvn -0.678180754 -0.714829743 -0.170555934\nvn -0.650482714 -0.735851645 -0.188134909\nvn -0.652400434 -0.756386459 -0.047469031\nvn -0.638611257 -0.757800281 0.133845046\nvn -0.658018231 -0.719613314 0.221740082\nvn -0.657229841 -0.719113827 0.225663945\nvn 0.361313909 -0.630207837 -0.687233806\nvn 0.246222064 -0.67614609 -0.694407105\nvn 0.107212961 -0.798281729 -0.592664838\nvn 0.05122897 -0.819253504 -0.57113862\nvn 0.057160001 -0.76216799 -0.644851029\nvn -0.055839986 -0.985691786 -0.159039959\nvn -0.126235023 -0.97334224 -0.191493049\nvn -0.177348956 -0.959510744 -0.218829945\nvn -0.197799087 -0.950419486 -0.239955112\nvn -0.182479084 -0.952300489 -0.244592115\nvn -0.531530082 0.200842023 -0.822884142\nvn -0.391504228 0.068509035 -0.917622566\nvn -0.412937909 0.095581979 -0.905729771\nvn -0.550647914 0.210147977 -0.807851911\nvn -0.038397986 -0.177902937 -0.983298659\nvn -0.10141404 -0.199248075 -0.974687338\nvn -0.202545032 -0.115834013 -0.972398102\nvn -0.432041138 0.202088073 -0.878920317\nvn -0.492019892 0.286320955 -0.822153807\nvn 0.181541041 -0.274777055 -0.944214225\nvn 0.011716999 -0.273414969 -0.961824894\nvn 0.271908909 -0.196704924 -0.942004621\nvn 0.077582009 0.256152034 -0.963518143\nvn -0.316864103 -0.027499007 -0.948072255\nvn -0.101148002 -0.434873015 -0.894792974\nvn -0.011033 -0.373896003 -0.927405\nvn -0.086860985 -0.450931937 -0.888321877\nvn -0.078445978 -0.365365922 -0.92755276\nvn 0.608865976 0.101259001 -0.786783993\nvn 0.020056007 -0.239410087 0.97071135\nvn -0.055300012 -0.216828048 0.974642217\nvn -0.050707988 -0.249063939 0.967158735\nvn 0.005300001 -0.296828061 0.954916239\nvn -0.116148055 -0.170637071 0.978464484\nvn -0.161403075 -0.250507116 0.954565465\nvn -0.053236991 -0.608515918 0.791753888\nvn 0.056349974 -0.435480803 0.898432612\nvn -0.141219005 0.287560999 0.947293997\nvn -0.324922889 0.51231581 0.794957697\nvn -0.060050987 0.683425903 0.727545857\nvn -0.087365001 0.434556991 0.896396995\nvn -0.425772935 0.579963923 0.69452095\nvn -0.457378149 0.688783228 0.562479198\nvn -0.556202829 0.766910672 0.320134878\nvn -0.057509001 0.926746011 0.371261001\nvn 0.303959012 0.877928972 0.369931996\nvn 0.249979123 0.63247031 0.733138382\nvn 0.162296981 0.332613975 0.928992867\nvn 0.075606041 0.283627152 0.955949485\nvn -0.015085005 0.35643512 0.93419838\nvn -0.62175715 0.782652318 -0.029557012\nvn -0.129859954 0.991043627 -0.03112899\nvn -0.633768022 0.662499011 -0.399291009\nvn -0.187427998 0.866900027 -0.461903989\nvn 0.169460982 0.8694309 -0.464082927\nvn 0.306726009 0.951391995 -0.027797\nvn -0.558163881 0.45626387 -0.693019807\nvn -0.238564998 0.546231985 -0.802942991\nvn -0.23805809 0.133795038 -0.96199137\nvn -0.177958086 0.197321087 -0.964051485\nvn 0.014435005 0.62998724 -0.776471317\nvn -0.232107937 -0.330879897 -0.914682746\nvn -0.236553088 -0.523603201 -0.818463326\nvn -0.385854065 -0.437527061 -0.812211096\nvn -0.35218206 -0.263623029 -0.898037136\nvn -0.100615039 -0.513065159 -0.852432311\nvn -0.207752034 -0.406220049 -0.889845133\nvn 0.083630025 -0.320995092 -0.94338125\nvn -0.244314089 0.02893501 -0.969264328\nvn -0.210674897 -0.730022728 -0.650140703\nvn -0.089482009 -0.002936 -0.995984137\nvn -0.250472009 -0.552398026 -0.795059979\nvn -0.062413 -0.502923012 -0.862074971\nvn -0.210954994 -0.558378994 -0.80231601\nvn -0.224720031 -0.194865033 -0.954740107\nvn -0.352798879 -0.257990897 -0.899429679\nvn -0.326869011 -0.266406 -0.906744003\nvn -0.110420004 -0.170588002 0.97913599\nvn 0.038115993 0.063968986 0.997223735\nvn -0.065088019 -0.134913042 0.988717377\nvn -0.397475094 -0.683108151 0.612680137\nvn 0.334504873 0.599264741 0.727315784\nvn 0.416255951 0.827549875 0.376685947\nvn 0.317539155 0.883649409 0.343995184\nvn 0.162546933 0.337594837 0.927150607\nvn 0.402458161 0.914838314 -0.033142012\nvn 0.274235874 0.823350608 -0.496878773\nvn 0.225825056 0.886687219 -0.403471082\nvn 0.124604017 0.634051144 -0.763186038\nvn 0.136522949 0.602584779 -0.786290705\nvn -0.186658993 0.262672991 -0.946658015\nvn -0.426721841 -0.291165918 -0.856230676\nvn 0.107046962 0.568260849 -0.815855682\nvn -0.367547005 -0.165415004 -0.915175974\nvn -0.365717024 -0.161733016 -0.916566133\nvn -0.431409061 -0.280749023 -0.857360125\nvn -0.482309997 -0.374949008 -0.791701019\nvn -0.493804246 -0.529080212 -0.690095365\nvn -0.514618218 -0.393848181 -0.761611342\nvn -0.589366436 -0.603802443 -0.536721349\nvn -0.540032983 -0.339551002 -0.770110011\nvn -0.65479511 -0.404027015 -0.638753116\nvn -0.792626143 -0.598587036 -0.115920015\nvn -0.759325147 -0.644821048 -0.087357007\nvn -0.676206827 -0.731522799 0.087285981\nvn -0.704925001 -0.699662983 -0.116415001\nvn -0.74279511 -0.659204125 -0.117070012\nvn -0.733313799 -0.672644794 -0.098994978\nvn -0.70530194 -0.614926934 -0.352723956\nvn -0.741101146 -0.650414109 -0.166525036\nvn -0.706409156 -0.705324173 -0.059195016\nvn -0.251437843 -0.741460502 0.622105658\nvn -0.581733227 -0.621091306 0.525197268\nvn -0.333015084 -0.395055085 0.856173158\nvn -0.371868968 -0.888062894 -0.270291984\nvn 0.457955986 0.518028975 -0.722441971\nvn -0.532685995 -0.590444028 0.606317997\nvn -0.504872859 -0.565979898 0.651743889\nvn -0.623330772 -0.603369772 0.497396827\nvn -0.478227168 -0.548262179 0.686081231\nvn -0.45993489 -0.5187729 0.720648825\nvn -0.572001874 -0.605541885 0.553292871\nvn -0.438566118 -0.434084088 0.786912203\nvn -0.398859084 -0.453981102 0.796751201\nvn -0.297484994 -0.238057002 0.924570978\nvn -0.348358184 -0.49736923 0.794525385\nvn -0.245074004 -0.326694995 0.912802994\nvn -0.047899999 -0.44540301 0.894047976\nvn 0.024387999 0.639413893 0.76847595\nvn -0.331865102 0.57605809 0.747009158\nvn -0.100986011 0.968890131 -0.225951031\nvn -0.479508877 0.453906894 -0.751025796\nvn -0.318884075 -0.3811481 -0.867778182\nvn 0.223480999 -0.93422699 -0.27798599\nvn -0.235355064 -0.965447247 -0.111891024\nvn -0.112412967 -0.988555789 0.100602977\nvn -0.115752988 -0.991595864 0.057783991\nvn -0.125415936 -0.980422497 0.15179792\nvn -0.09639702 -0.970322251 0.221771061\nvn -0.128901958 -0.956710637 0.260938913\nvn -0.918974996 0.370756 -0.134257004\nvn 0.155466974 0.020772994 0.987622738\nvn 0.162622958 -0.010935998 0.986627758\nvn -0.990630984 -0.135214001 -0.019168001\nvn 0.801019013 -0.508126974 -0.316505015\nvn 0.38155207 -0.118485019 -0.916722119\nvn -0.814446151 -0.555560112 -0.16742304\nvn -0.226559922 0.088232964 0.969992638\nvn -0.434967935 -0.633411944 0.639993966\nvn 0.151563972 -0.192871958 -0.969447732\nvn 0.860695541 0.447868258 -0.242110148\nvn 0.471495181 0.865127325 0.171018064\nvn 0.067852996 -0.901544988 0.427332014\nvn -0.040056013 0.975984216 0.214127049\nvn 0.951815009 0.278869003 0.127595007\nvn 0.215880975 -0.001887 -0.976417899\nvn -0.438781798 0.397152811 0.806064665\nvn -0.54308778 0.440627784 0.714774668\nvn -0.142330021 0.190150008 0.971383095\nvn -0.071232982 0.139647976 0.987635791\nvn -0.280043066 0.280098051 0.918216228\nvn -0.511630952 0.392665952 0.764229894\nvn -0.55708921 0.403431207 0.725875318\nvn -0.806239843 0.445328891 -0.389434904\nvn -0.615836442 0.283550203 -0.735081553\nvn -0.642649353 0.30205518 -0.704105437\nvn -0.800672293 0.492583185 -0.341007113\nvn -0.671753049 0.435507059 0.599234045\nvn -0.613526881 0.501663864 0.609850883\nvn -0.831352592 0.497368366 0.247947186\nvn -0.777290881 0.566361964 0.273957968\nvn -0.826853693 0.561975837 -0.022278991\nvn -0.865032971 0.499608994 -0.045922998\nvn -0.042312019 0.006773003 0.999081492\nvn 0.073882036 -0.078211039 0.994195461\nvn 0.095669962 -0.137148961 0.985919654\nvn 0.011105002 -0.172824025 0.984890103\nvn 0.078493021 -0.155216023 0.984757245\nvn 0.072496027 -0.20512408 0.976047337\nvn 0.071412981 -0.12584196 0.989476621\nvn -0.130872041 0.021990007 0.991155386\nvn 0.311153919 -0.168054953 0.935382783\nvn 0.524221301 0.278523177 0.804746449\nvn 0.76522398 0.115929 0.633239985\nvn 0.731355608 0.422079772 0.535693705\nvn 0.924677789 0.104448974 0.366143912\nvn 0.108796977 0.85171783 0.512581885\nvn 0.314575881 0.526422799 0.789886713\nvn -0.348383009 0.482187003 0.803819001\nvn 0.417364866 -0.211593926 0.883761704\nvn -0.611261249 0.36462912 0.702428222\nvn -0.097159997 -0.094407998 0.990781009\nvn -0.322461128 -0.106174037 0.940609336\nvn -0.060978986 -0.456224889 0.887772739\nvn -0.367020965 -0.544410944 0.754262865\nvn -0.109393977 -0.779898822 0.616271794\nvn 0.042672995 -0.749623954 0.660486937\nvn 0.344302118 -0.548499167 0.761974275\nvn 0.744688213 -0.339823127 0.574421167\nvn 0.113926053 -0.908552408 0.401937187\nvn 0.374356031 -0.925417125 0.058829006\nvn 0.402271926 -0.823510885 0.400008947\nvn 0.200676024 -0.678884089 0.706290066\nvn 0.533090115 -0.490274131 0.6895262\nvn 0.167906046 0.590054095 -0.789711177\nvn 0.411062002 -0.612545013 0.67514199\nvn 0.551139176 -0.425820142 0.717581213\nvn 0.762790978 -0.451456994 0.462965012\nvn 0.828701973 0.435250998 -0.351866007\nvn 0.536469877 -0.505488873 0.675781846\nvn 0.63756907 -0.378528059 0.670986056\nvn 0.516343772 -0.76207763 0.390674829\nvn 0.749013245 -0.34593913 0.565071166\nvn 0.958988667 -0.283439904 0.001632999\nvn 0.884496093 -0.374688029 -0.277985036\nvn 0.720670104 -0.669873118 0.178619027\nvn 0.548090994 -0.802442014 0.235973001\nvn 0.085051022 -0.708564162 -0.700502157\nvn 0.81396699 -0.578787029 0.049633998\nvn 0.955743015 -0.022232 -0.293361992\nvn 0.770174861 0.448591948 -0.453426927\nvn 0.730252981 -0.642444015 0.232371002\nvn 0.633096755 -0.442294866 0.635266781\nvn 0.916933358 -0.132761046 0.376308143\nvn 0.927613556 -0.306772172 0.213129133\nvn 0.900172234 -0.409082085 0.149472028\nvn 0.877779007 -0.148041993 0.455617994\nvn 0.221809939 0.000548 0.975089788\nvn 0.015989993 0.074235961 0.997112513\nvn 0.140483961 0.252585918 0.957321644\nvn 0.467897832 -0.011728995 0.883704722\nvn -0.313532174 0.25101915 0.915798545\nvn 0.99620688 -0.082341984 0.028139995\nvn -0.056932986 -0.376344919 -0.924728751\nvn 0.257242948 -0.747869849 -0.611977875\nvn 0.386444092 0.084398024 -0.918443263\nvn 0.471532106 0.077745013 0.878415227\nvn 0.847831011 -0.460848004 0.262300998\nvn 0.715359807 -0.66650182 0.209846959\nvn 0.892594099 -0.436995059 -0.110956013\nvn 0.348363012 -0.717140019 0.603617013\nvn 0.257500023 -0.935496092 0.241952032\nvn 0.273160934 -0.948458791 0.160651952\nvn 0.105959989 -0.900211871 -0.422363967\nvn 0.357091933 -0.888719857 -0.287510961\nvn 0.653456807 -0.716858804 -0.243120939\nvn -0.170442045 -0.907513261 -0.383887082\nvn -0.067808978 -0.83003968 -0.553566813\nvn 0.347265005 -0.707100987 -0.615966976\nvn -0.128240004 -0.377094001 -0.917253971\nvn -0.496774942 0.354211956 -0.792305887\nvn 0.226143062 -0.293096066 -0.92895323\nvn 0.123105958 -0.86416173 -0.487923831\nvn 0.561025083 -0.654396057 -0.506968081\nvn 0.08333797 0.851523697 0.517650843\nvn 0.416799933 -0.600567937 -0.682345927\nvn 0.560584128 -0.67268616 -0.482948124\nvn 0.74317503 -0.561702013 -0.363568008\nvn 0.967853248 0.234335065 0.09136302\nvn 0.578157961 -0.681580961 -0.448531926\nvn 0.375710011 -0.083587997 -0.922959983\nvn 0.655540526 -0.646962523 -0.389494717\nvn 0.584294975 -0.782784998 -0.214119002\nvn 0.960079134 -0.172140017 -0.220490023\nvn 0.874505401 -0.169877067 -0.454293221\nvn 0.678450227 0.255338103 -0.688845217\nvn 0.638398647 -0.380159765 -0.669272602\nvn 0.459104061 -0.307795018 -0.833358109\nvn 0.920764983 0.099366002 -0.377250999\nvn 0.540514112 0.408363104 0.735584199\nvn 0.077423044 0.295209169 0.952290595\nvn 0.519527972 -0.096761003 0.848957002\nvn 0.286848009 -0.361981988 0.88695401\nvn -0.198759079 -0.438008159 0.876723289\nvn 0.074403033 -0.823665321 0.562174201\nvn 0.038389985 -0.93959564 0.340126872\nvn 0.24907206 -0.914695263 0.318270087\nvn -0.047069993 -0.840462863 -0.539820969\nvn 0.481040061 -0.865865111 0.137398019\nvn 0.51628089 -0.753894806 -0.4063209\nvn 0.8352018 -0.48463589 0.259934932\nvn 0.954867125 0.265638024 0.132911012\nvn 0.744558632 -0.28794685 0.602261722\nvn 0.633022249 -0.594884217 0.495374173\nvn 0.631868243 -0.588891268 0.503934205\nvn 0.61747992 -0.625853956 0.476471931\nvn 0.55283004 -0.642415047 0.530737042\nvn 0.784768999 -0.602005005 -0.147403002\nvn 0.889375687 -0.284039915 -0.358234882\nvn 0.995891094 0.014807002 0.089341007\nvn 0.451653868 -0.865868807 0.21512796\nvn 0.764850795 -0.640243828 -0.071352988\nvn 0.700341225 0.13090004 -0.70170325\nvn 0.270136923 -0.211385921 -0.939330637\nvn -0.58532095 -0.60215497 -0.542962968\nvn 0.211036071 -0.891018271 -0.401933163\nvn 0.198420927 -0.978005648 -0.064296976\nvn 0.266033918 -0.963852644 -0.014636995\nvn 0.118465029 -0.906659245 0.404889077\nvn 0.506187141 -0.845940173 0.167809039\nvn 0.346686006 -0.517382026 0.782383978\nvn 0.781916976 -0.49336201 -0.381051004\nvn 0.576829731 -0.677183688 -0.456825793\nvn -0.254927993 -0.557089984 -0.79035598\nvn 0.587811053 -0.679266036 -0.43940407\nvn 0.27482909 -0.557851195 -0.783116281\nvn 0.601185203 -0.686467171 -0.409071088\nvn 0.738398254 -0.57489419 0.352512121\nvn 0.879837573 -0.461552799 -0.113379948\nvn 0.850628018 -0.269941986 0.451180011\nvn 0.993149221 -0.116776027 -0.004252001\nvn 0.325789988 -0.945218027 -0.020586001\nvn -0.291616023 -0.909506142 -0.296241015\nvn -0.036541019 -0.999063492 -0.023172012\nvn -0.355269015 -0.776338995 0.520654976\nvn -0.125861049 -0.975583375 0.17998907\nvn -0.230934933 -0.95652163 0.178144932\nvn 0.488074988 -0.802963972 -0.342099011\nvn -0.032101005 -0.892890096 -0.449129045\nvn -0.007367002 -0.995229244 -0.097286023\nvn 0.124567047 -0.963008344 0.238952085\nvn 0.159368053 -0.97872138 0.129253045\nvn 0.270134896 -0.944727659 0.185786948\nvn 0.121766001 0.048402 0.991378009\nvn -0.069865979 -0.237165913 0.968953669\nvn -0.222053081 -0.478066176 0.849791288\nvn -0.053130981 -0.879560709 0.472810835\nvn -0.436559916 -0.881708741 -0.178899959\nvn -0.161991999 -0.982264996 0.094415002\nvn 0.084146015 -0.896057129 0.435891032\nvn 0.060805 -0.847123981 0.527904987\nvn 0.418493152 -0.229293093 0.878799319\nvn 0.438932121 -0.677028179 0.590738118\nvn 0.469331056 -0.821732104 0.323241025\nvn -0.154745057 -0.280401081 0.947327375\nvn -0.002170999 -0.552204847 0.833705723\nvn -0.112066016 -0.860831141 0.496398062\nvn 0.007694999 -0.950729907 -0.30992496\nvn 0.188795954 -0.952665746 0.238293946\nvn -0.174889952 -0.96920979 0.173337951\nvn -0.168561965 -0.914256871 0.368403941\nvn -0.035025001 -0.758476973 0.650758028\nvn -0.313547075 -0.716251194 -0.623436093\nvn -0.592655897 -0.804492831 -0.039374989\nvn -0.165509 -0.986105025 -0.014276\nvn 0.021884002 -0.972741127 0.230859026\nvn 0.073713027 -0.87880832 -0.47144717\nvn 0.62343502 -0.717079997 0.311648995\nvn -0.271574914 -0.962065637 0.026016992\nvn 0.015030004 -0.999873221 0.005261001\nvn 0.125794053 -0.948628485 -0.290310144\nvn -0.205010891 -0.97368753 0.099513948\nvn -0.16859296 -0.985641778 0.009307998\nvn -0.222610936 -0.955791771 -0.192110956\nvn -0.102339037 -0.994743347 0.003525001\nvn -0.067382008 -0.966869116 0.246219024\nvn -0.125591978 -0.984967887 0.118595988\nvn -0.140711993 -0.96617502 0.216115996\nvn -0.063577004 -0.900919139 0.429305047\nvn -0.069941968 -0.937284589 0.341475844\nvn -0.081418969 -0.418262839 0.904669702\nvn 0.115915 -0.558542013 0.821336985\nvn 0.063643023 -0.052109018 0.996611357\nvn 0.055115994 -0.002034 0.998477876\nvn 0.104948007 0.024203002 0.994183123\nvn -0.008225004 -0.039278019 0.999194503\nvn 0.022738999 -0.145452991 0.989103854\nvn -0.034795016 -0.048490021 0.998217463\nvn -0.126440063 -0.986765504 0.101522043\nvn -0.25136596 -0.945870876 -0.205288976\nvn -0.141575038 -0.978514373 -0.149887055\nvn -0.30983001 -0.857747018 -0.410214007\nvn -0.15486297 -0.987766743 0.018283997\nvn -0.117936984 -0.538526952 0.834313869\nvn -0.055399999 -0.914623022 0.400494009\nvn -0.155284017 -0.884591103 0.439756066\nvn -0.124630973 -0.784736812 0.607169867\nvn -0.458457947 -0.883846879 -0.092902996\nvn -0.247978002 -0.798063993 -0.549181998\nvn -0.053250007 -0.992372096 -0.111185014\nvn -0.175116062 -0.973850369 0.144741043\nvn -0.552350283 -0.824947536 0.119879074\nvn -0.407104135 -0.671111226 0.619577229\nvn -0.287975192 -0.887948513 0.35863322\nvn -0.232196972 -0.921088874 0.312537968\nvn -0.663315773 -0.740024745 -0.11124596\nvn -0.651168168 -0.755775154 -0.069167018\nvn -0.66290319 -0.745110154 0.073282018\nvn -0.577784896 -0.67610383 0.457217872\nvn -0.710941017 -0.585605979 -0.389394999\nvn -0.713607252 -0.700466216 0.010571004\nvn -0.70417583 -0.699519813 0.121689968\nvn -0.615497649 -0.614053667 0.494065702\nvn -0.396607012 -0.505982995 0.765953004\nvn -0.715205014 -0.677357018 0.172248006\nvn -0.704272866 -0.630114853 -0.327039927\nvn -0.738960266 -0.591349244 0.322868109\nvn -0.678462744 -0.493238807 0.544429839\nvn -0.701313198 -0.694038153 0.162699044\nvn -0.724369943 -0.689246953 -0.015064999\nvn -0.520255208 -0.64165926 0.563567162\nvn -0.646999955 -0.613288939 0.453064948\nvn -0.768667281 -0.580684185 0.268247098\nvn -0.496436179 -0.80256331 0.33082211\nvn -0.649020612 -0.738919675 0.181025162\nvn -0.687124729 -0.710882723 0.150017932\nvn -0.653172374 -0.680699348 0.331684172\nvn -0.5221771 -0.655957162 0.545024097\nvn -0.705297351 -0.661456347 0.255012125\nvn 0.028376013 -0.159584075 0.986776471\nvn 0.039306983 -0.219240919 0.974878669\nvn 0.02679901 -0.081313029 0.996328354\nvn -0.066169001 -0.98357898 0.167910993\nvn -0.77968365 0.616668701 -0.108688951\nvn -0.778431058 0.600249052 0.183701023\nvn -0.713808894 0.515818894 -0.473716885\nvn -0.359666109 0.179181054 -0.915715277\nvn -0.493450105 0.315247089 -0.810633183\nvn -0.05189202 0.220059082 -0.974105358\nvn -0.315180033 0.224155024 -0.922180116\nvn 0.118226029 -0.074339017 -0.990200222\nvn 0.152953997 -0.106904998 -0.982433975\nvn 0.22515808 -0.205267072 -0.952454329\nvn 0.377582878 -0.299259871 -0.876284719\nvn 0.451395065 -0.456382066 -0.766784132\nvn 0.613306105 -0.629465163 -0.477105111\nvn 0.857671022 -0.510479987 -0.061728999\nvn 0.721904933 -0.652323961 0.230925977\nvn 0.701856017 -0.478906989 0.527301013\nvn 0.516138017 -0.42938599 0.741100013\nvn 0.295500934 -0.332670897 0.895549774\nvn 0.205723926 -0.022659993 0.978347659\nvn 0.125695959 0.063948974 0.990005672\nvn -0.165950939 0.353241891 0.920695662\nvn -0.433248222 0.484248251 0.760131359\nvn -0.496464014 0.505833983 0.705447018\nvn -0.6571486 0.492042691 0.571007669\nvn -0.809166491 0.173521101 -0.561373353\nvn -0.731959999 0.012 -0.681241989\nvn -0.766582072 0.009008001 -0.642083108\nvn -0.850582004 0.138453007 -0.507287979\nvn -0.431985915 -0.279836953 -0.857367814\nvn -0.496200234 -0.309758157 -0.811070383\nvn -0.595075011 -0.209435999 -0.77590102\nvn -0.778988719 0.121859953 -0.615082741\nvn -0.813120127 0.206699029 -0.544161081\nvn -0.220039964 -0.380005926 -0.898430884\nvn -0.370653838 -0.389563888 -0.843122721\nvn -0.100847058 -0.347649217 -0.932185531\nvn -0.304179072 0.096051022 -0.947760224\nvn -0.65053612 -0.142337024 -0.746018112\nvn -0.426337093 -0.525364101 -0.736362159\nvn -0.371002108 -0.472215176 -0.799606323\nvn -0.440461934 -0.530128956 -0.724538922\nvn -0.456315875 -0.450194895 -0.767528832\nvn 0.242553085 -0.159304053 -0.95696938\nvn 0.428791076 -0.159488052 0.889214218\nvn 0.361660004 -0.135355994 0.922432005\nvn 0.362443805 -0.153737918 0.919238448\nvn 0.414575011 -0.194040999 0.889087021\nvn 0.30933702 -0.084876016 0.947157145\nvn 0.229471892 -0.174628913 0.957521498\nvn 0.213300899 -0.550708771 0.80698365\nvn 0.424339145 -0.376548141 0.823497295\nvn 0.253055006 0.349909991 0.901956975\nvn 0.012515998 0.567665935 0.823163867\nvn 0.233506873 0.740125597 0.630625665\nvn 0.28285405 0.506307125 0.814645171\nvn -0.124708988 0.625903964 0.769864857\nvn -0.209272996 0.728542984 0.652249992\nvn -0.403205007 0.784913003 0.470465004\nvn 0.083518997 0.954639018 0.285813004\nvn 0.41504097 0.899649858 0.135540992\nvn 0.522454917 0.685748875 0.506743968\nvn 0.530200064 0.404553056 0.745134056\nvn 0.463646054 0.359504044 0.809808135\nvn 0.370884806 0.431905746 0.822132528\nvn -0.607829094 0.773090184 0.181316048\nvn -0.152824983 0.986845911 -0.052722994\nvn -0.772196114 0.620692074 -0.135848016\nvn -0.383165836 0.828377724 -0.408624858\nvn -0.055994999 0.825345993 -0.561843991\nvn 0.24977003 0.940255105 -0.231377035\nvn -0.821140826 0.391784906 -0.415008903\nvn -0.567762017 0.480491012 -0.66841203\nvn -0.623973966 0.060044993 -0.77913487\nvn -0.568625808 0.120930955 -0.813658714\nvn -0.323200971 0.563967943 -0.759921908\nvn -0.588577211 -0.403390139 -0.700609267\nvn -0.548367798 -0.584503829 -0.598036826\nvn -0.680119812 -0.492600888 -0.542937875\nvn -0.690906227 -0.329857111 -0.643306255\nvn -0.407685071 -0.638344049 -0.652924061\nvn -0.553838134 -0.450101107 -0.700480163\nvn -0.459223777 -0.378045827 -0.803862631\nvn -0.53937602 0.001832 -0.84206301\nvn -0.285679936 -0.939961791 -0.186704963\nvn -0.5720734 -0.611483395 -0.54664439\nvn -0.443624794 -0.739644647 -0.506085753\nvn -0.452537924 -0.531829894 -0.715797842\nvn -0.599455059 -0.433950067 -0.672563076\nvn -0.546168029 -0.549674988 -0.632106006\nvn -0.643449008 -0.231778994 -0.729556024\nvn -0.663340151 -0.309932053 -0.68111819\nvn 0.314465106 -0.084638029 0.945488334\nvn 0.35864982 -0.052234974 0.932009578\nvn -0.112822957 -0.608521819 0.785475731\nvn 0.597365975 0.650663972 0.468818009\nvn 0.453630954 0.149621978 0.87853986\nvn 0.520741999 0.847980976 0.098773003\nvn 0.416343153 0.902824283 0.107548036\nvn 0.533425093 0.420891106 0.73369509\nvn 0.335118026 0.901671112 -0.273286045\nvn 0.026245 0.774859011 -0.631588995\nvn 0.019390998 0.846032858 -0.532777965\nvn -0.218124971 0.566818953 -0.794441879\nvn -0.215520039 0.534444094 -0.817264199\nvn -0.584661126 0.169435039 -0.793387175\nvn -0.74060607 -0.352431029 -0.572097063\nvn -0.254070908 0.498350829 -0.828911722\nvn -0.713910639 -0.233264893 -0.660241723\nvn -0.712899029 -0.229742005 -0.662566006\nvn -0.752406299 -0.358671129 -0.552485168\nvn -0.76782918 -0.397812098 -0.502179146\nvn -0.723495722 -0.611188769 -0.320939869\nvn -0.78495568 -0.429290354 -0.446715385\nvn -0.79895252 -0.479796708 -0.36258778\nvn -0.808136284 -0.406950146 -0.425802141\nvn -0.847340822 -0.527509868 -0.061212987\nvn -0.748864949 -0.658130944 0.077877991\nvn -0.725616992 -0.636566997 0.261271\nvn -0.645194829 -0.657708824 0.388770908\nvn -0.587715924 -0.68591392 0.42908293\nvn -0.714260936 -0.67532897 0.183744982\nvn -0.621888995 -0.671689987 0.40259999\nvn -0.697474658 -0.694355667 0.177198917\nvn -0.652225077 -0.687796056 0.318652034\nvn -0.815311134 -0.549574077 -0.182308018\nvn -0.403732926 -0.710555911 0.576289952\nvn -0.319335014 -0.581099987 0.748564005\nvn -0.021201994 -0.399385899 0.916537762\nvn -0.485146999 -0.850641012 -0.202589005\nvn -0.24990806 -0.528808117 0.811115205\nvn -0.239376977 -0.445677936 0.862594903\nvn -0.28095302 -0.602039039 0.747405112\nvn 0.025279004 -0.315472037 0.948598146\nvn -0.333240122 -0.609762251 0.719125211\nvn -0.208392978 -0.575279951 0.790964961\nvn -0.336743802 -0.616046667 0.712102592\nvn -0.351102829 -0.572670698 0.740793645\nvn -0.002372001 -0.323923141 0.946080506\nvn 0.09873502 -0.307729095 0.946337223\nvn 0.053401001 -0.273005992 0.960529029\nvn 0.126690999 -0.304841995 0.943938971\nvn 0.115104049 -0.292981148 0.94916445\nvn 0.336654156 -0.356707186 0.871449411\nvn 0.27316305 0.762146175 0.586954117\nvn 0.531033158 -0.025734009 0.846960306\nvn -0.210560963 0.931697786 -0.295978904\nvn -0.485459 0.836688995 0.253536999\nvn -0.648304284 -0.410287201 -0.641378284\nvn -0.248291999 -0.780758023 -0.573382974\nvn -0.187100947 -0.982225657 0.015036995\nvn 0.147136986 -0.789218903 0.596224964\nvn -0.097763985 -0.98671186 0.129776984\nvn -0.007835 -0.947417974 0.319902986\nvn 0.102262944 -0.942150474 0.319209814\nvn -0.169666022 -0.814611137 0.554637074\nvn 0.051578008 -0.896658123 0.439709067\nvn -0.976163268 0.217031047 -0.001663\nvn 0.678174078 -0.011516001 0.734811068\nvn 0.255377948 0.075540982 0.963885784\nvn -0.842084408 -0.240849122 -0.482582241\nvn 0.544307172 -0.427555144 -0.721752226\nvn 0.789538205 -0.087913021 -0.607372105\nvn -0.220614031 -0.828984141 0.513921082\nvn 0.449123949 0.875013888 0.180660978\nvn 0.021823995 0.014285997 0.999659777\nvn -0.815476 -0.520153999 0.253847986\nvn -0.194941029 -0.034097005 -0.980222106\nvn 0.679006994 0.394203007 -0.619316995\nvn 0.414570898 -0.015629996 0.909882784\nvn -0.010075995 -0.911985457 -0.410098761\nvn 0.914791405 0.267626107 -0.302544147\nvn -0.134879053 0.901527405 -0.411164194\nvn -0.084260032 0.441898137 0.893099308\nvn -0.222428128 0.478866309 0.849242449\nvn 0.259548962 0.23843497 0.935832858\nvn 0.308429837 0.200370908 0.92990458\nvn 0.106042966 0.349918872 0.930758655\nvn -0.149935991 0.442626953 0.8840819\nvn -0.216118023 0.446622074 0.868229091\nvn -0.890036583 0.445814788 -0.095310956\nvn -0.847660184 0.257712066 -0.463742107\nvn -0.893118143 0.233840033 -0.384264052\nvn -0.890151441 0.455662221 -0.001580001\nvn -0.384126931 0.467406929 0.796226859\nvn -0.332359076 0.530838132 0.779582202\nvn -0.678443015 0.523497999 0.515426993\nvn -0.61922729 0.570298314 0.539738238\nvn -0.786927283 0.545716166 0.28799209\nvn -0.815121412 0.519024253 0.257276118\nvn 0.408630997 0.034747999 0.912038028\nvn 0.502980173 -0.03391701 0.863632321\nvn 0.494928181 -0.052683018 0.86733532\nvn 0.432297915 -0.105484977 0.895539761\nvn 0.486905992 -0.089674003 0.868839025\nvn 0.475705177 -0.115707047 0.871961296\nvn 0.454441845 -0.045615986 0.889607728\nvn 0.372698009 0.189517006 0.908393979\nvn 0.689174354 -0.154359072 0.707963347\nvn 0.571559072 0.645124078 0.507085085\nvn 0.816155493 0.257156163 0.517456293\nvn 0.946578026 0.075782999 0.313443989\nvn -0.004124 0.47951895 0.877521873\nvn 0.753865004 -0.172223002 0.634055972\nvn -0.284521997 0.417948008 0.862766981\nvn 0.33655104 -0.032271005 0.941112101\nvn 0.119058028 -0.056135014 0.991299212\nvn 0.341435879 -0.367573887 0.86504972\nvn 0.018509002 -0.459739059 0.887861133\nvn 0.167522028 -0.734442115 0.657671094\nvn 0.323993087 -0.700162172 0.636240184\nvn 0.631752074 -0.479428053 0.609129071\nvn 0.919127584 -0.282174855 0.274921894\nvn 0.293768823 -0.869488537 0.39710176\nvn 0.376106828 -0.926546574 -0.007424996\nvn 0.552747965 -0.791947901 0.25939998\nvn 0.802858174 -0.399771094 0.442269117\nvn 0.900527775 -0.349711925 0.258362949\nvn 0.069403008 0.501215041 -0.862535119\nvn 0.797852099 -0.437051058 0.415233046\nvn 0.804377675 -0.42400685 0.416166842\nvn 0.819721401 -0.410110205 0.399833173\nvn 0.960731626 0.049336981 0.273057908\nvn 0.996965766 -0.068030983 -0.037828993\nvn 0.989024341 -0.146995053 0.014943006\nvn 0.925510108 -0.356576025 -0.127611011\nvn 0.731446385 -0.433726221 -0.526182234\nvn 0.723621964 -0.688835919 -0.043317996\nvn 0.59508568 -0.803257644 0.025499986\nvn -0.230007917 -0.757671714 -0.610761762\nvn 0.752511919 -0.606602967 -0.256434977\nvn 0.759553015 -0.028856 -0.649805009\nvn 0.763422847 -0.641354799 -0.076482981\nvn 0.866022408 -0.377154171 0.328268141\nvn 0.981014013 -0.191522002 -0.030510001\nvn 0.871245444 -0.469452739 -0.143336907\nvn 0.884021103 -0.461857051 -0.072076008\nvn 0.936434984 -0.317054987 0.150218993\nvn 0.56836319 -0.049188018 0.821306288\nvn 0.461917192 0.046899017 0.885682285\nvn 0.536838889 0.333500922 0.774971843\nvn 0.710311055 -0.158493012 0.685812056\nvn 0.132692948 0.266641915 0.95461762\nvn 0.876953006 -0.30665499 -0.370021999\nvn -0.430871934 -0.468810946 -0.771080852\nvn -0.014961996 -0.786179841 -0.617816806\nvn 0.063444003 0.067309 -0.995712996\nvn 0.903832018 -0.426160008 -0.038410999\nvn 0.735415101 -0.674432099 -0.065621018\nvn 0.645381927 -0.533541918 -0.546639919\nvn 0.638170242 -0.64383322 0.422158152\nvn 0.352706999 -0.892445028 0.281318009\nvn 0.478490114 -0.839685202 -0.256858051\nvn 0.06968303 -0.885731399 -0.458938211\nvn 0.231659994 -0.958965003 -0.163461998\nvn 0.611491263 -0.631957233 -0.476139188\nvn -0.277447999 -0.935247004 -0.219853997\nvn -0.292659163 -0.867227435 -0.402824193\nvn -0.135316044 -0.747805238 -0.649982214\nvn -0.500541925 -0.444507927 -0.742879927\nvn -0.779662013 0.331045985 -0.53154099\nvn -0.208380967 -0.379548937 -0.901398897\nvn -0.066347025 -0.795134306 -0.602793217\nvn 0.31810984 -0.704594672 -0.634312689\nvn 0.281799167 0.88942951 0.359867215\nvn 0.167357981 -0.701837957 -0.692397952\nvn 0.402565926 -0.691251934 -0.600092947\nvn 0.353213936 -0.695683897 -0.625510871\nvn 0.068736024 -0.543786168 -0.836404324\nvn 0.360530913 -0.887142777 -0.288088948\nvn 0.358761996 -0.713174999 -0.602222025\nvn 0.61199224 -0.282595098 -0.738651216\nvn 0.854366183 -0.05267401 -0.516995132\nvn 0.362630039 0.123804018 -0.923673093\nvn 0.248457029 -0.288599044 -0.924651146\nvn 0.16402705 -0.54047513 -0.825216174\nvn 0.579659164 -0.188093081 -0.792853296\nvn 0.80613327 -0.312692106 0.502367198\nvn 0.844468415 0.471528232 0.254036129\nvn 0.719381869 0.454258889 0.525488853\nvn 0.526373863 -0.264120936 0.808189809\nvn 0.214809 -0.80419898 0.554184973\nvn 0.600478053 -0.612121046 0.514523089\nvn 0.330041081 -0.923317254 0.196362048\nvn 0.474673927 -0.859670877 0.188813969\nvn 0.207366094 -0.955036461 -0.211907089\nvn 0.966130257 -0.257602066 -0.015287003\nvn 0.77218926 -0.611746252 0.171727061\nvn 0.771632254 -0.577863216 0.265815079\nvn 0.786204159 -0.585125208 0.198775038\nvn 0.81357199 -0.452039003 -0.365734011\nvn 0.794681907 -0.58365792 -0.166805983\nvn 0.418843865 -0.867562711 -0.268150896\nvn 0.970708489 0.12624906 -0.204417109\nvn 0.792293012 -0.566362023 0.226949006\nvn 0.355485916 -0.934473753 0.019712994\nvn 0.54851228 -0.656956434 -0.517245293\nvn -0.470358878 -0.013050998 -0.882378757\nvn 0.228522107 -0.376690179 -0.897709429\nvn -0.051288027 -0.929813445 -0.364440173\nvn -0.664371192 -0.517234147 -0.539518118\nvn 0.300879151 -0.937187433 -0.176498085\nvn 0.04725001 -0.992276251 0.114697032\nvn 0.279018134 -0.886045396 0.370233148\nvn 0.500905991 -0.854987025 -0.134499997\nvn 0.680368185 -0.435994089 0.589074135\nvn 0.503235102 -0.165445045 -0.848164201\nvn 0.743566811 -0.443850875 -0.500104904\nvn 0.377923012 -0.719512999 -0.582644999\nvn 0.34143579 -0.754059494 -0.561084628\nvn 0.360682905 -0.723835826 -0.588191867\nvn 0.338268131 -0.749775231 -0.568693161\nvn 0.008637 -0.652073026 -0.758107007\nvn 0.850307107 -0.522776067 -0.060688008\nvn 0.965502501 -0.228215098 -0.125391066\nvn 0.624249816 -0.762823701 -0.16855894\nvn -0.133986026 -0.929127216 0.344631046\nvn 0.080529019 -0.918054223 0.388190091\nvn 0.023085006 -0.832189202 0.554011106\nvn -0.072290979 -0.983050644 0.168479934\nvn -0.200774089 -0.898298442 -0.390832186\nvn -0.179017007 -0.983061016 -0.039294999\nvn -0.16651395 -0.985982776 -0.010544998\nvn 0.317993075 -0.863953173 -0.390468091\nvn 0.412184209 -0.910831392 0.022148009\nvn -0.147265002 -0.988903999 -0.019540999\nvn 0.390365183 -0.785669386 0.479936242\nvn 0.493603766 -0.841445565 0.219828889\nvn 0.229407057 -0.966435254 -0.115652032\nvn 0.175920054 -0.974923372 0.136296049\nvn 0.427636057 0.484484047 0.763153136\nvn 0.588581681 -0.487317771 0.645052731\nvn 0.109300986 -0.344377965 0.932446897\nvn 0.286086053 -0.817286193 0.500198126\nvn 0.332965046 -0.162302032 0.928866148\nvn -0.294235021 -0.953862131 0.059774008\nvn -0.183024913 -0.853133559 0.488533765\nvn -0.185591951 -0.982459784 0.018120997\nvn 0.352954149 -0.887114286 0.297408134\nvn 0.876256883 -0.463208944 0.132707983\nvn 0.187995955 -0.826936841 0.52993691\nvn 0.150569007 -0.842462003 0.517288029\nvn 0.36734882 -0.658445716 0.656889677\nvn 0.403345168 0.093617044 0.910246432\nvn 0.070975006 -0.268551022 0.960647106\nvn 0.379609138 -0.317320108 0.86902529\nvn 0.059003014 -0.884560227 0.462679118\nvn -0.129786953 -0.954979658 0.266775906\nvn -0.133717 -0.950730026 0.279700011\nvn 0.237010121 -0.927361429 0.289529145\nvn 0.024200017 -0.865538597 0.500257373\nvn -0.474520743 -0.879838467 0.026725983\nvn -0.054320998 -0.987852991 0.145587996\nvn -0.131361037 -0.991285384 -0.009878004\nvn 0.078189023 -0.948610246 0.306635082\nvn -0.102059014 -0.97361809 0.204088032\nvn 0.114246964 -0.989708662 0.086164974\nvn -0.29155013 -0.955453336 -0.045906018\nvn -0.38776809 -0.921739221 0.005731001\nvn 0.019160997 -0.993222773 -0.114635967\nvn -0.104645982 -0.981907904 0.157816991\nvn -0.004251 -0.95588702 0.293704003\nvn 0.023775 -0.417838991 0.90820998\nvn 0.153780967 -0.810912848 0.564598858\nvn 0.402489185 -0.521859229 0.752107382\nvn 0.105568938 -0.890845478 0.441870719\nvn 0.302615881 -0.162344947 0.939184666\nvn 0.467579991 0.012393 0.883863986\nvn 0.466239005 0.035105001 0.883961976\nvn 0.468424201 0.051945027 0.881975412\nvn 0.413546801 0.046423979 0.909298599\nvn 0.437235057 -0.064407006 0.897038102\nvn 0.393446863 0.043351986 0.918324649\nvn -0.274324059 -0.939323246 -0.20595704\nvn -0.231877998 -0.971349001 0.052095\nvn -0.179598019 -0.973605096 0.140846014\nvn -0.160302982 -0.941165864 0.297505975\nvn 0.357261956 -0.39387995 0.846889853\nvn 0.196024984 -0.644330859 0.739196897\nvn 0.13875097 -0.790820837 0.596112907\nvn 0.085890993 -0.883687854 0.460128933\nvn 0.140672952 -0.963696659 0.226935923\nvn -0.493156999 -0.863448024 0.106082998\nvn -0.393058807 -0.895667613 -0.208048895\nvn -0.169045016 -0.973871112 0.15165402\nvn -0.170491055 -0.985339344 -0.006263002\nvn -0.115126014 -0.989612103 -0.086105004\nvn -0.41516 -0.829864979 0.372781992\nvn -0.187312007 -0.868228018 0.459450006\nvn -0.337869763 -0.634804547 0.694886506\nvn 0.129066989 -0.920453906 0.368925959\nvn 0.135613039 -0.96149534 0.239031091\nvn -0.65439409 -0.721205115 0.227226064\nvn -0.751482129 -0.658289075 0.043934003\nvn -0.571529031 -0.689858079 0.444354057\nvn -0.433271736 -0.726273596 0.533668697\nvn -0.133084998 -0.470849007 0.872117996\nvn 0.310923934 -0.4023709 0.861059844\nvn -0.292870015 -0.65320605 0.698247075\nvn -0.778714001 -0.624410987 0.060954999\nvn -0.610504687 -0.618055701 0.495268762\nvn -0.731770217 -0.60969317 0.30460909\nvn -0.502980769 -0.550064743 0.666662693\nvn -0.436349988 -0.367199004 0.821439981\nvn -0.300968051 -0.754903197 0.582700133\nvn 0.168696001 -0.445612013 0.879188001\nvn -0.542286217 -0.6891433 0.480632246\nvn -0.660664082 -0.66397804 0.350223035\nvn -0.148082063 -0.588350236 0.794931293\nvn -0.238700092 -0.346783131 0.907063305\nvn -0.443812132 -0.569293141 0.692052186\nvn -0.563670099 -0.613421142 0.553164124\nvn -0.219156161 -0.52180934 0.824430585\nvn -0.559359014 -0.633458018 0.534648001\nvn -0.448677003 -0.715315998 0.535735011\nvn -0.39179793 -0.61094594 0.687923968\nvn -0.525273025 -0.667788029 0.527396977\nvn 0.442831844 -0.113327965 0.889413714\nvn 0.446781158 -0.139393046 0.883717299\nvn 0.440135121 -0.005429002 0.897915244\nvn -0.755153716 0.645776749 0.112761959\nvn -0.664072037 0.63775605 0.390225053\nvn -0.795737624 0.537390769 -0.279307872\nvn -0.732888937 0.335146964 -0.592072964\nvn -0.687398016 0.295038015 -0.663654029\nvn -0.330156177 -0.296096146 -0.896283388\nvn -0.640461743 0.098194964 -0.761686683\nvn -0.151212066 -0.384284139 -0.91074729\nvn 0.001271 -0.419176072 -0.907904148\nvn 0.160303056 -0.508051157 -0.84627831\nvn 0.326604962 -0.613096952 -0.719333947\nvn 0.800966144 -0.562178075 -0.205935031\nvn 0.652705848 -0.646717846 -0.394627899\nvn 0.802967012 -0.595898986 -0.012182\nvn 0.826423883 -0.514395952 0.228954971\nvn 0.725527942 -0.45586893 0.515550911\nvn 0.567731977 -0.313515007 0.76117599\nvn 0.502098143 0.016661003 0.86465019\nvn 0.437997848 0.227766931 0.869643688\nvn 0.199715093 0.43851921 0.876250446\nvn -0.074379966 0.543151736 0.836333573\nvn -0.161169931 0.555270791 0.815903604\nvn -0.377624899 0.547374904 0.746846795\nvn -0.902233899 0.191737965 0.386277944\nvn -0.965652347 0.121345043 0.229763091\nvn -0.945248783 0.09315598 0.3127729\nvn -0.855271161 0.197106048 0.479229122\nvn -0.988137245 -0.139678031 -0.063835017\nvn -0.980036139 -0.197922036 -0.018870002\nvn -0.990646005 -0.102420002 0.090170003\nvn -0.912723601 0.203574896 0.354249835\nvn -0.860873997 0.277897 0.426227003\nvn -0.913197696 -0.300229877 -0.275557905\nvn -0.949306786 -0.278831929 -0.145152971\nvn -0.872658134 -0.297432035 -0.387301058\nvn -0.943414211 0.22370106 -0.244801059\nvn -0.987223625 -0.042431984 0.153586954\nvn -0.906091511 -0.419269234 -0.056670032\nvn -0.923857749 -0.359195918 -0.13215597\nvn -0.903485239 -0.426907092 -0.038274009\nvn -0.93884033 -0.341876119 -0.041227017\nvn -0.70179081 0.024114994 -0.7119748\nvn 0.956729352 -0.278744102 0.083490029\nvn 0.952463329 -0.259463102 0.159664065\nvn 0.946052372 -0.279181093 0.164447054\nvn 0.937348545 -0.335567206 0.093661055\nvn 0.949317753 -0.219842941 0.224643946\nvn 0.843016982 -0.389133006 0.371345997\nvn 0.749180973 -0.650393009 0.125367001\nvn 0.888648987 -0.455354005 0.054366\nvn 0.934469521 0.223905131 0.276827186\nvn 0.767308295 0.450043142 0.456836134\nvn 0.740220964 0.647468925 0.181264982\nvn 0.894399285 0.390796155 0.217551067\nvn 0.657265902 0.51481986 0.550419867\nvn 0.525583208 0.632431209 0.569028199\nvn 0.277166814 0.712811589 0.644265652\nvn 0.39539215 0.906821311 0.146083057\nvn 0.435511053 0.873311102 -0.218307033\nvn 0.780430615 0.610905707 -0.133124948\nvn 0.953290999 0.299820989 -0.036658\nvn 0.967894018 0.246274993 0.050299\nvn 0.938159227 0.316190094 0.141000032\nvn -0.075391002 0.740272999 0.668066025\nvn -0.010369996 0.98459655 0.174533904\nvn -0.446806014 0.632354021 0.632844985\nvn -0.449700952 0.875858903 0.175043985\nvn -0.408340991 0.894217014 -0.183394998\nvn 0.04391899 0.963377774 -0.264526933\nvn -0.73460716 0.443616122 0.513378143\nvn -0.805837452 0.566422343 0.172603101\nvn -0.977339268 0.164941043 0.132674024\nvn -0.970510125 0.230046034 0.072034009\nvn -0.74556917 0.661943197 -0.077188015\nvn -0.946086109 -0.304825038 0.109558016\nvn -0.859374821 -0.498183876 0.115272969\nvn -0.869549811 -0.416279912 0.26569593\nvn -0.942709863 -0.239940971 0.231789976\nvn -0.847669005 -0.529440999 -0.033904001\nvn -0.930089891 -0.358363956 0.080672994\nvn -0.976662099 -0.21450603 -0.010880001\nvn -0.967556655 -0.244141906 0.065030977\nvn -0.454160988 -0.888715029 0.062638\nvn -0.900541544 -0.426549226 0.084146053\nvn -0.782089829 -0.616719842 0.089399979\nvn -0.564673185 -0.820288301 0.090947032\nvn -0.817532182 -0.545575142 0.184361041\nvn -0.734126091 -0.662167132 0.150312036\nvn -0.947399139 -0.264817029 0.17974101\nvn -0.957571149 -0.213724032 0.193338037\nvn 0.950479984 -0.219018996 0.220495999\nvn 0.976701617 -0.142230943 0.160699934\nvn 0.550418973 -0.701775014 0.452273011\nvn 0.778828621 0.587033689 -0.220946893\nvn 0.99640733 0.035246011 0.077008031\nvn 0.453738064 0.826686144 -0.332734019\nvn 0.395056158 0.887601316 -0.236843094\nvn 0.932799995 0.356032997 -0.055899002\nvn 0.036506984 0.930665672 -0.364044875\nvn -0.430150002 0.853264987 -0.29480499\nvn -0.386337996 0.893965006 -0.227089003\nvn -0.721999347 0.66699934 -0.183926091\nvn -0.741639972 0.640065014 -0.200716004\nvn -0.954554856 0.284388959 0.089151993\nvn -0.911114872 -0.272268981 0.309417963\nvn -0.775764108 0.60583508 -0.176505014\nvn -0.957952857 -0.141790986 0.249442965\nvn -0.958980024 -0.137978002 0.247628003\nvn -0.912396014 -0.262019008 0.314451009\nvn -0.863753319 -0.349418133 0.363094121\nvn -0.771285117 -0.50823307 0.383169055\nvn -0.833516896 -0.376627952 0.404228926\nvn -0.808929801 -0.397306919 0.4333359\nvn -0.653064847 -0.486192882 0.580622852\nvn -0.62707895 -0.44865194 0.636775911\nvn -0.224610895 -0.677683651 0.700210631\nvn -0.231841058 -0.723911107 0.649771094\nvn -0.12769106 -0.742608368 0.657440364\nvn -0.159519002 -0.70314002 0.692927003\nvn -0.290264904 -0.710225761 0.641346753\nvn 0.19517307 -0.747890234 0.634482265\nvn -0.160474971 -0.681391895 0.714109898\nvn -0.654802918 -0.50710994 0.560421944\nvn 0.604158044 -0.746343136 0.279222041\nvn 0.001817 -0.747229099 0.664564133\nvn -0.955323756 0.199253961 -0.218298957\nvn -0.343479037 -0.790345132 0.507323086\nvn -0.357380897 0.692071795 -0.627148807\nvn 0.613119245 -0.577654183 0.538888156\nvn -0.225408942 -0.787095845 0.574169874\nvn 0.607742012 -0.581268013 0.541088998\nvn 0.315307111 -0.695113242 0.646064222\nvn 0.348488003 -0.704823017 0.61788398\nvn 0.31983009 -0.710205197 0.627150178\nvn 0.331347883 -0.692723751 0.64057976\nvn 0.739526987 -0.467644989 0.484156996\nvn 0.782137871 -0.35540396 0.511808932\nvn 0.909036696 -0.298542887 0.290730923\nvn 0.62051481 -0.619794846 0.480432808\nvn 0.831195831 -0.408775896 0.37684992\nvn 0.891157985 -0.435380995 0.127597004\nvn 0.760105014 0.643676996 0.088996999\nvn 0.688463271 0.530418158 0.494646192\nvn -0.226433948 0.965368748 0.129579976\nvn -0.703883886 0.518441856 0.485556871\nvn -0.929374754 -0.317172915 0.188848957\nvn -0.228378102 -0.95589447 0.184687093\nvn -0.391754061 -0.865192115 -0.313004017\nvn 0.03915602 -0.995723486 0.08367604\nvn 0.123991027 -0.987635255 0.095932022\nvn 0.092766002 -0.993409991 0.067313999\nvn 0.436990052 -0.894985139 0.089674011\nvn 0.358141094 -0.929779232 0.085121021\nvn 0.209041104 -0.973958492 0.087788045\nvn 0.330634087 -0.93736124 0.109704025\nvn -0.796357274 0.162252054 0.582657158\nvn 0.80940181 0.142723978 0.569647908\nvn -0.176252082 -0.07523904 0.981465459\nvn 0.97439909 -0.041980006 -0.220871031\nvn -0.473854065 -0.019694004 -0.880383134\nvn 0.211015075 -0.395242155 -0.894011319\nvn 0.958164632 0.279694915 -0.060755979\nvn -0.127400979 -0.656647921 0.74335897\nvn 0.737224221 -0.540073156 0.405982137\nvn -0.841626406 -0.538648248 -0.03902702\nvn -0.683444142 0.292691022 -0.668757141\nvn 0.003336 0.898387015 -0.439191997\nvn -0.260339081 -0.941618383 -0.213491067\nvn 0.953439116 -0.266967028 0.140294015\nvn 0.254561901 0.307355881 -0.916913629\nvn -0.282770991 0.958003998 -0.047635\nvn 0.746012688 0.329009861 0.57897979\nvn 0.655114591 0.367239803 0.660272598\nvn 0.951957762 0.106264979 0.287200928\nvn 0.977912664 0.05143398 0.202586919\nvn 0.841778278 0.267300099 0.468999177\nvn 0.681371152 0.349890083 0.642892182\nvn 0.640017033 0.380956054 0.667271078\nvn -0.451589882 0.474584877 0.755536795\nvn -0.787840843 0.26827395 0.554378867\nvn -0.758460104 0.278909028 0.589023054\nvn -0.4153229 0.458492875 0.785678804\nvn 0.509324253 0.441664219 0.738594353\nvn 0.540047824 0.433747858 0.721256733\nvn 0.133752063 0.515400231 0.846447408\nvn 0.198525965 0.503487945 0.840884864\nvn -0.110967003 0.511793017 0.851912022\nvn -0.174580961 0.534954906 0.826646805\nvn 0.987474978 -0.089162998 0.130165994\nvn 0.988439739 -0.150755972 0.016112996\nvn 0.984871745 -0.171662956 0.023656994\nvn 0.968665123 -0.227603033 0.099422008\nvn 0.977985144 -0.206724033 0.028465005\nvn 0.969768345 -0.241639093 0.034060013\nvn 0.989843786 -0.136886969 0.038356993\nvn 0.985255122 0.044892002 0.165097013\nvn 0.939353764 -0.252410948 -0.232170939\nvn 0.887037992 0.118571997 -0.44621101\nvn 0.788204014 0.005765 -0.615387022\nvn 0.691757083 0.351880044 -0.630597055\nvn 0.555230916 0.830518901 -0.044237997\nvn 0.918569982 0.187546998 -0.347930014\nvn 0.7893641 0.399453074 0.46619907\nvn 0.952179134 -0.155876011 -0.262788028\nvn 0.622095942 0.266450971 0.736206949\nvn 0.971274853 -0.149101987 0.185455978\nvn 0.89088273 -0.176909938 0.418366849\nvn 0.882024646 -0.462566316 -0.089806065\nvn 0.683521032 -0.601351082 0.413734049\nvn 0.644757926 -0.763483882 -0.037142996\nvn 0.756523132 -0.636537075 -0.149978012\nvn 0.573870957 -0.807205856 0.138169989\nvn 0.677753985 -0.323121995 -0.660485983\nvn 0.403940082 -0.906094253 -0.125800028\nvn 0.085662968 -0.917673647 -0.387990862\nvn 0.508438945 -0.725020945 -0.46457994\nvn 0.631885171 -0.119353026 -0.765817165\nvn 0.546038032 -0.237714022 -0.803327084\nvn 0.725534201 -0.455560118 -0.515815139\nvn 0.720899165 -0.424117088 -0.548114121\nvn 0.749599934 -0.496451944 -0.437761933\nvn 0.700509191 -0.493617117 -0.515392125\nvn 0.158209994 -0.258370012 -0.953002989\nvn -0.113596998 -0.353211999 -0.928620994\nvn 0.277737051 -0.650971174 -0.706469178\nvn 0.09235701 -0.846279144 -0.524673045\nvn -0.753476143 -0.641046047 -0.146061018\nvn 0.112128966 -0.571989834 -0.812560678\nvn -0.105645984 -0.079374991 -0.991230905\nvn -0.371109962 0.478040934 -0.796086907\nvn 0.300574869 -0.635089755 -0.711558759\nvn 0.687791824 -0.432098925 -0.583294868\nvn 0.461839885 -0.17675595 -0.869172812\nvn 0.269971997 -0.389286995 -0.880665004\nvn 0.348057956 -0.44647795 -0.82432586\nvn 0.530376971 -0.303490013 -0.791576982\nvn 0.997900367 -0.011370004 -0.063762024\nvn 0.995825112 -0.024640003 0.087894008\nvn 0.989905238 0.141195029 -0.012316003\nvn 0.951277614 -0.072529048 -0.299684167\nvn 0.909818769 0.122959971 0.396371901\nvn -0.272733122 -0.029821014 -0.961627483\nvn -0.001226 -0.413584054 -0.910465121\nvn 0.131557956 -0.056349982 -0.989705622\nvn -0.927867889 -0.367964983 -0.060522992\nvn -0.62153393 -0.704337955 -0.342933983\nvn -0.85746181 0.173907951 -0.48426789\nvn 0.371386021 -0.425538063 -0.825221121\nvn 0.247506976 -0.66858387 -0.701238871\nvn -0.052161999 -0.393023014 -0.918048024\nvn 0.288628966 -0.942052901 -0.170966983\nvn 0.077330962 -0.813578606 -0.576289713\nvn 0.616048217 -0.690229297 -0.379563123\nvn -0.386761993 -0.915262997 0.112733997\nvn -0.14345403 -0.967734218 -0.20715104\nvn -0.27302599 -0.484308988 -0.83120501\nvn -0.595392048 -0.770669103 -0.227107033\nvn -0.703079998 -0.65485698 -0.27720201\nvn -0.938624859 -0.344857961 0.007516999\nvn -0.850934029 0.397735 0.343100995\nvn -0.795376003 -0.427688986 -0.42948699\nvn -0.654877067 -0.695521057 -0.295612037\nvn -0.463609129 -0.601228118 -0.65083909\nvn 0.55863899 0.829138994 -0.021242\nvn -0.549937785 -0.642390728 -0.533762753\nvn -0.404347241 -0.615463376 -0.676541388\nvn -0.383545071 -0.406543046 -0.829226136\nvn 0.197932005 0.174008995 -0.964646995\nvn -0.428444058 -0.638373077 -0.639465034\nvn -0.359328806 -0.607171714 -0.708678663\nvn -0.754255295 -0.326758116 -0.569498181\nvn -0.419248939 -0.834266901 -0.358090967\nvn -0.278050929 -0.755919814 -0.592682898\nvn -0.109572962 -0.164383933 -0.980291665\nvn -0.690103233 -0.153300062 -0.707288265\nvn -0.56693393 0.28401497 -0.773253858\nvn -0.746252954 -0.345962971 -0.568696916\nvn -0.349128008 -0.157131001 -0.923807025\nvn 0.412758917 -0.671912849 -0.614949822\nvn 0.862098277 -0.318572134 -0.394079149\nvn 0.693167984 0.461519003 -0.553641021\nvn 0.859700203 0.392171085 -0.327288091\nvn 0.870073974 -0.476610005 -0.125753999\nvn 0.595602036 -0.793586135 -0.124416016\nvn 0.306139022 -0.943543136 -0.126512021\nvn 0.292945951 -0.892796755 -0.342193902\nvn -0.014364994 -0.957514644 -0.288026899\nvn -0.247104093 -0.809417307 -0.532713175\nvn 0.513458192 -0.266783088 -0.815590322\nvn 0.617058694 -0.575687706 -0.536490738\nvn 0.528036058 -0.622085035 -0.578090072\nvn 0.555224061 -0.606532037 -0.569074035\nvn 0.196328983 -0.315969944 -0.928233862\nvn 0.496943951 -0.613850951 -0.613378942\nvn 0.030653989 -0.637582779 -0.769771695\nvn -0.260822952 -0.243546948 -0.934160769\nvn 0.224435076 0.061770022 -0.972529352\nvn -0.030515986 -0.61011672 -0.791723669\nvn -0.53093487 -0.007349998 -0.847380817\nvn -0.743369997 -0.283066005 -0.606032014\nvn -0.762390375 0.545011222 0.348889172\nvn -0.863066435 -0.465637207 0.195700094\nvn -0.426305741 -0.871895492 -0.240959853\nvn -0.103338987 -0.904726863 -0.41326794\nvn 0.111777 -0.938081026 -0.327886999\nvn 0.411796093 -0.905438244 -0.102984026\nvn 0.204918995 -0.837352991 -0.506802022\nvn 0.762301028 -0.549282014 -0.342325002\nvn 0.030141985 -0.347318828 -0.937262595\nvn -0.29579097 -0.345176965 -0.89070791\nvn 0.075351037 -0.06047703 -0.995321453\nvn -0.390014052 -0.634157062 -0.667633057\nvn -0.366226912 -0.682276845 -0.632752836\nvn -0.370350182 -0.64274931 -0.670607269\nvn -0.738607049 -0.558016062 -0.378256053\nvn -0.373321235 -0.670024455 -0.641637444\nvn 0.290106982 -0.620610952 -0.728477955\nvn 0.517091811 -0.258272916 -0.816033721\nvn 0.51656431 -0.790327489 0.329460174\nvn -0.003408002 -0.999497473 0.031517014\nvn 0.252366036 -0.924308121 0.286297023\nvn 0.137375996 -0.988721013 0.059655\nvn 0.053511035 -0.935205519 -0.350039214\nvn -0.54608202 -0.823125005 -0.155754998\nvn -0.283658952 -0.682041824 -0.674059808\nvn -0.255851954 -0.961314738 0.10204798\nvn 0.32873407 -0.938271105 -0.107616007\nvn -0.283225983 -0.95242691 0.112543985\nvn 0.324522108 -0.855791271 -0.402873158\nvn -0.022607001 -0.92750603 -0.373124003\nvn 0.044649988 -0.976768732 -0.209592953\nvn 0.77930516 -0.486927122 -0.394443095\nvn 0.995504856 0.017098999 0.093154989\nvn 0.582366168 -0.811204314 -0.052889019\nvn 0.862461984 -0.464578003 0.200815007\nvn 0.697667778 -0.593762755 0.400880843\nvn 0.119322971 -0.98394078 0.132749975\nvn -0.101529025 -0.992764235 -0.064118013\nvn 0.430774987 -0.811550021 -0.394739985\nvn 0.423122138 -0.904723287 0.049431019\nvn 0.388529927 -0.921143889 -0.023206998\nvn 0.347359866 -0.937558651 -0.018024994\nvn 0.722218513 -0.562277615 0.402795762\nvn 0.749430001 -0.658953011 0.064309999\nvn 0.889398754 -0.450218886 0.079200976\nvn 0.36382091 -0.92705375 0.090585977\nvn 0.324762017 -0.922419131 0.208980024\nvn 0.254393935 -0.959517777 -0.120868973\nvn -0.154349953 -0.985777617 0.066471979\nvn 0.107864052 -0.986429453 0.123783059\nvn -0.424250066 -0.879570127 0.21533303\nvn -0.115616016 -0.987207115 0.109796017\nvn 0.346078187 -0.934258401 -0.085972048\nvn -0.053760026 -0.995256484 0.081083037\nvn -0.113118969 -0.988803744 0.097320981\nvn 0.11624597 -0.982457757 0.145820975\nvn -0.038007002 -0.998659134 -0.035151005\nvn -0.304114044 -0.934518099 -0.184907019\nvn -0.119967967 -0.987716734 0.100116976\nvn 0.082874022 -0.994945228 0.056709014\nvn 0.234203964 -0.971509874 0.036292996\nvn 0.315703988 -0.939378977 0.133783996\nvn 0.29056114 -0.954315484 0.06968604\nvn 0.758538485 -0.651232421 -0.022711013\nvn 0.83641386 -0.508558929 0.204400972\nvn 0.992365241 -0.107687019 0.060124014\nvn 0.995270491 -0.082007043 0.052072022\nvn 0.998445213 -0.052480012 -0.018791003\nvn 0.989520252 -0.077521011 0.121820033\nvn 0.978743732 -0.185605958 0.087241977\nvn 0.986275613 -0.081826054 0.143405095\nvn 0.124553062 -0.992186487 -0.007249003\nvn -0.258228004 -0.962071002 0.087963998\nvn -0.130455941 -0.951522529 0.278542876\nvn -0.011247005 -0.990587473 0.136419058\nvn 0.85568887 -0.488571942 0.170569986\nvn 0.35288313 -0.931496382 0.088250026\nvn 0.447302133 -0.890567243 0.082528025\nvn 0.208098993 -0.957262993 0.200854003\nvn -0.449523836 -0.846268713 0.285932899\nvn -0.167849988 -0.983971894 -0.060214993\nvn -0.003726 -0.969380021 0.245536998\nvn 0.167059019 -0.786763132 0.594218075\nvn -0.215044975 -0.86776489 0.448039949\nvn 0.294165969 -0.862882853 0.410973936\nvn 0.276366919 -0.951050639 0.138289958\nvn -0.485433131 -0.654926181 0.579160094\nvn -0.14818798 -0.760281861 0.632464945\nvn 0.265055031 -0.769001126 0.58170706\nvn 0.043523028 -0.715448558 0.697308481\nvn -0.182598978 -0.629432917 0.755295873\nvn -0.632871211 -0.595611215 0.49469319\nvn 0.074177995 -0.718380868 0.691683888\nvn -0.187648997 -0.787074983 0.587623\nvn 0.474700809 -0.552746832 0.684930742\nvn 0.305759847 -0.671476722 0.675003707\nvn 0.579430699 -0.728497624 0.365446836\nvn 0.052228987 -0.765890837 0.640845835\nvn -0.126027003 -0.548484027 0.826609015\nvn -0.43516621 -0.594540298 0.676130295\nvn 0.223104104 -0.632720292 0.741545379\nvn 0.608816564 -0.541043639 0.580184579\nvn -0.121988982 -0.726819932 0.675907969\nvn 0.078872032 -0.73393923 0.674620211\nvn 0.479279131 -0.669811189 0.567137122\nvn 0.112486988 -0.730200946 0.673908949\nvn 0.119917013 -0.708099067 0.695856035\nvn 0.099284939 -0.752847552 0.650663555\nvn 0.224781036 -0.719696045 0.656895041\nvn 0.902011991 -0.421914011 0.091449998\nvn 0.974321008 -0.208849996 0.084145002\nvn 0.963818371 -0.258063078 0.066766024\nvn 0.98781836 -0.127297044 0.089501031\nvn 0.198104963 -0.980152786 0.007422998\nvn 0.438992083 0.619713187 0.650570154\nvn 0.609905005 0.513562977 0.603546977\nvn 0.017492 0.636900008 0.770748019\nvn -0.369583875 0.650517762 0.66350174\nvn -0.524410069 0.71737504 0.458658069\nvn -0.941538215 0.271839052 0.199021041\nvn -0.806513131 0.427970052 0.407895058\nvn -0.973096788 0.193979949 0.12431597\nvn -0.983344495 -0.174978092 -0.049155023\nvn -0.855151832 -0.418011904 -0.306563944\nvn -0.785063803 -0.405500919 -0.468234867\nvn -0.395015091 -0.531279147 -0.749470174\nvn -0.625754178 -0.478748113 -0.615818143\nvn -0.165448904 -0.600186706 -0.78256166\nvn 0.210250109 -0.56768328 -0.79594636\nvn 0.534568012 -0.379723012 -0.755015016\nvn 0.75813812 -0.163716018 -0.631208062\nvn 0.916077256 -0.032594007 -0.399675101\nvn 0.919935226 -0.312387079 -0.236925066\nvn 0.979902148 -0.186971009 0.069524005\nvn 0.902661264 0.342085093 0.261114061\nvn 0.724510133 0.459667057 0.513606071\nvn -0.409199059 0.418220073 0.810955107\nvn -0.590100765 0.217546925 0.777466714\nvn -0.541024148 0.185297042 0.820340157\nvn -0.388379812 0.307492852 0.868682563\nvn -0.835916996 -0.062059999 0.545336008\nvn -0.775853097 -0.141831011 0.614765048\nvn -0.710436165 -0.047628012 0.702148199\nvn -0.497693002 0.284729004 0.819287002\nvn -0.415480852 0.364986867 0.833162725\nvn -0.893398285 -0.201734081 0.401426136\nvn -0.823119283 -0.236092091 0.516464174\nvn -0.916434407 -0.272083133 0.29346016\nvn -0.891121984 0.225825995 0.393579006\nvn -0.659793198 0.017980004 0.751232207\nvn -0.719578803 -0.383760899 0.578734875\nvn -0.786499858 -0.332336962 0.520547926\nvn -0.708934069 -0.388866067 0.588384032\nvn -0.741992235 -0.303384125 0.597834229\nvn -0.837108135 -0.54659307 0.022046002\nvn -0.991059124 -0.003156 -0.133386016\nvn -0.790430844 -0.483714879 -0.375817925\nvn 0.80929029 -0.308052123 -0.500153184\nvn 0.85344702 -0.290547997 -0.432678014\nvn 0.837567449 -0.317009181 -0.444956273\nvn 0.813329995 -0.314655989 -0.489372998\nvn 0.875485241 -0.164427042 -0.454411119\nvn 0.888516784 -0.255432934 -0.381171912\nvn 0.899688423 -0.335833162 -0.278885126\nvn 0.695484996 -0.675603986 -0.244663\nvn 0.891186774 0.21543996 -0.39921391\nvn 0.863933802 0.468938887 -0.183615953\nvn 0.661783218 0.632132232 -0.403053135\nvn 0.815654814 0.375397921 -0.440208912\nvn 0.834036171 0.549386144 -0.050583012\nvn 0.738066733 0.673978746 0.031784989\nvn 0.588268876 0.773643792 0.23540394\nvn 0.360047013 0.899909973 -0.246024996\nvn 0.164617062 0.820341289 -0.547669172\nvn 0.497858047 0.555653036 -0.66587311\nvn 0.706307054 0.251525044 -0.661714077\nvn 0.774430871 0.208446965 -0.597332954\nvn 0.805033803 0.290156931 -0.517425895\nvn 0.327475995 0.819049001 0.471082002\nvn 0.058563981 0.998075664 0.020382993\nvn 0.020916004 0.72381109 0.689681113\nvn -0.27847293 0.909339786 0.309117943\nvn -0.471455932 0.881875873 0.004929999\nvn -0.173109993 0.920940995 -0.349142998\nvn -0.269785166 0.534505367 0.800949574\nvn -0.543893993 0.617641985 0.568064988\nvn -0.685041726 0.222095892 0.693823636\nvn -0.720504999 0.278930992 0.63487798\nvn -0.657478809 0.67916882 0.326268911\nvn -0.654843092 -0.247874036 0.713960111\nvn -0.575380087 -0.44265306 0.687747061\nvn -0.489551187 -0.345744133 0.800500274\nvn -0.578504026 -0.168721005 0.798039019\nvn -0.658173919 -0.492741942 0.56922096\nvn -0.645134151 -0.333527088 0.687431157\nvn -0.80808419 -0.227565065 0.543336093\nvn -0.748276174 0.203281045 0.631474197\nvn -0.279636085 -0.812148273 0.512073159\nvn -0.784084201 0.073523022 0.616284192\nvn -0.199055001 -0.835264981 0.512552023\nvn -0.420099914 -0.768825829 0.482102871\nvn -0.474133134 -0.669771194 0.571493149\nvn -0.645105064 -0.342913032 0.682825089\nvn -0.575291991 -0.158020005 0.802538991\nvn -0.603150129 -0.165093049 0.780355155\nvn 0.891422272 -0.239520088 -0.384703159\nvn 0.870524287 -0.19534108 -0.451696157\nvn 0.761449993 -0.647229016 0.035898998\nvn 0.447683126 0.515758097 -0.73046118\nvn 0.80417031 0.037113015 -0.593239248\nvn 0.110154033 0.760101199 -0.640400171\nvn 0.136162966 0.825937808 -0.547070861\nvn 0.694727004 0.272309989 -0.665733993\nvn -0.228865072 0.876717269 -0.423069149\nvn -0.555411994 0.829324007 -0.061149999\nvn -0.449515015 0.889957011 -0.076895997\nvn -0.704520106 0.672802091 0.225807026\nvn -0.730911076 0.642007053 0.231508031\nvn -0.700147092 0.344069064 0.625628114\nvn -0.503872216 -0.192647085 0.842021406\nvn -0.740828216 0.612505198 0.275701076\nvn -0.583543003 -0.068607002 0.809179008\nvn -0.585650086 -0.064994007 0.807954133\nvn -0.502178252 -0.181818083 0.845434427\nvn -0.418974042 -0.277825028 0.864450037\nvn -0.338645995 -0.420195013 0.84187597\nvn -0.32162112 -0.331424117 0.886971295\nvn 0.099265978 -0.647234797 0.75579983\nvn -0.334287077 -0.262731045 0.90511024\nvn 0.147401094 -0.535641313 0.831481457\nvn 0.245749995 -0.556150019 0.793917\nvn 0.404619902 -0.570218861 0.714935839\nvn 0.318102956 -0.627185941 0.710948944\nvn 0.224228919 -0.632686734 0.741234779\nvn 0.28097403 -0.673712134 0.683495104\nvn 0.284310073 -0.603684127 0.744804204\nvn -0.15619199 -0.392485946 0.906398892\nvn 0.184404001 0.623099029 -0.760093987\nvn 0.490462244 -0.608707309 0.623636305\nvn 0.155433923 -0.570209682 0.806660652\nvn 0.571151018 -0.819133997 0.052972998\nvn 0.813058853 -0.568119943 0.127180979\nvn -0.70317626 -0.09299203 0.704908252\nvn 0.055847008 -0.799503148 0.598060071\nvn 0.599438071 -0.625084043 0.499944061\nvn 0.899843276 -0.264272094 -0.347048134\nvn 0.770080149 -0.559199095 0.307039052\nvn 0.749145806 -0.617742836 0.239111945\nvn 0.889386892 -0.447719932 -0.092399992\nvn 0.721310854 -0.639543891 0.265883952\nvn 0.737050533 -0.588471591 0.332351774\nvn 0.914954245 -0.351945072 -0.197468057\nvn 0.927203894 -0.354633957 -0.120530985\nvn 0.906319022 -0.346641988 -0.241713002\nvn 0.855539978 -0.492213994 -0.160551995\nvn 0.789382875 -0.496888936 -0.360521972\nvn 0.634657204 0.600263119 -0.486718118\nvn 0.788056493 0.610072374 -0.082333051\nvn -0.134751081 0.986303568 0.095119059\nvn -0.360873014 0.554162979 0.750115991\nvn -0.620784044 -0.157636017 0.767970145\nvn 0.006951002 -0.932326376 0.361551106\nvn -0.414828986 -0.906000972 -0.084137999\nvn 0.188350007 -0.974789023 0.119626999\nvn 0.348576963 -0.936196864 0.045051996\nvn 0.10882996 -0.991048634 0.077322967\nvn 0.373068035 -0.927803099 -0.001353\nvn 0.407721043 -0.901786149 -0.143336013\nvn 0.18463999 -0.982652903 0.017360998\nvn 0.433208227 0.466038257 0.771452427\nvn 0.53105396 -0.233071968 -0.81465286\nvn 0.964066625 0.014253995 0.265277922\nvn -0.501073897 -0.095402978 0.860129833\nvn -0.894498765 -0.444519877 -0.047687989\nvn -0.491187871 -0.127621964 -0.861653805\nvn 0.682240188 -0.713540196 0.159401044\nvn 0.005172001 0.866421163 -0.499287128\nvn 0.886569858 -0.027844997 -0.461755931\nvn -0.094512023 -0.45749113 0.884177268\nvn -0.930491328 -0.167697057 0.325674117\nvn -0.630919993 0.461093992 -0.623965025\nvn -0.032468002 -0.996839106 -0.072510004\nvn 0.810278356 0.406915218 -0.421745211\nvn -0.388420999 0.186615005 -0.902387977\nvn -0.744320571 0.623095632 0.240288854\nvn 0.931605875 0.354249984 -0.081347995\nvn 0.908659399 0.413968205 0.054484025\nvn 0.918197334 0.098220035 -0.383753151\nvn 0.914301395 0.049168024 -0.40203917\nvn 0.940801024 0.223019004 -0.25525701\nvn 0.927878976 0.366820008 -0.06696\nvn 0.926227629 0.376857847 0.008972997\nvn 0.082090035 0.674659312 0.73355037\nvn -0.304712117 0.513802171 0.801971316\nvn -0.239216998 0.414052993 0.878256977\nvn 0.140165091 0.582446337 0.800693452\nvn 0.868968308 0.458427191 0.186383054\nvn 0.859031022 0.486919999 0.158033997\nvn 0.613074064 0.637488067 0.466636062\nvn 0.655507088 0.602114081 0.455817074\nvn 0.430907071 0.63063705 0.645458043\nvn 0.381620079 0.694457173 0.6099962\nvn 0.851329446 -0.11637605 -0.511561215\nvn 0.786214709 -0.190297931 -0.587922752\nvn 0.789493382 -0.205850109 -0.578209281\nvn 0.816718698 -0.255451918 -0.517411828\nvn 0.788230836 -0.243826941 -0.565013885\nvn 0.789933026 -0.269448012 -0.550821006\nvn 0.819824696 -0.21316193 -0.531459808\nvn 0.858841002 0.045212001 -0.510242999\nvn 0.59726876 -0.311751872 -0.738972783\nvn 0.400560886 0.065589979 -0.913919687\nvn 0.177652001 -0.074886002 -0.981239974\nvn 0.327167004 -0.35988301 -0.873754025\nvn -0.125178963 -0.056365985 -0.990531743\nvn -0.789594293 0.429787159 -0.437977135\nvn 0.388736755 0.78591454 -0.480855703\nvn 0.505645871 0.156386957 -0.848448813\nvn 0.886465013 0.419788986 -0.194826007\nvn 0.620725691 -0.189874917 -0.760688663\nvn 0.927145898 0.359600961 0.105297983\nvn 0.886533141 -0.146702021 -0.438791066\nvn 0.963680625 -0.163262933 -0.211340919\nvn 0.784240127 -0.502645075 -0.363752037\nvn 0.832980275 -0.552531183 -0.029212011\nvn 0.561203182 -0.81672132 -0.134229049\nvn 0.51761502 -0.789249003 -0.330395013\nvn 0.456106722 -0.636577666 -0.621880651\nvn 0.123839937 -0.429786801 -0.894397557\nvn 0.273086935 -0.935215771 -0.225377962\nvn -0.14079906 -0.959986329 -0.242078096\nvn 0.108358964 -0.881421685 -0.459732831\nvn 0.329706877 -0.550962806 -0.766637683\nvn 0.071019992 -0.479644954 -0.8745839\nvn -0.672703147 0.228607029 -0.703711092\nvn 0.23736006 -0.617108107 -0.750225186\nvn 0.263296038 -0.569774032 -0.778481126\nvn 0.250630945 -0.542818904 -0.801580846\nvn 0.073696993 -0.475747943 -0.876488864\nvn -0.46828413 -0.400752097 -0.787469208\nvn -0.671472073 -0.451094061 -0.587911069\nvn -0.223474026 -0.736361086 -0.638617039\nvn -0.13829799 -0.871185899 -0.471071929\nvn -0.644175112 -0.652283132 0.399456024\nvn -0.397839099 -0.6764552 -0.619784176\nvn -0.711794794 -0.17285496 -0.680785835\nvn -0.188935071 -0.732462227 -0.654066265\nvn 0.172356054 -0.520230174 -0.836453319\nvn -0.173165083 -0.307927161 -0.935518444\nvn -0.190805867 -0.713605464 -0.67406255\nvn -0.225721076 -0.55867219 -0.798082292\nvn 0.095354035 -0.662885249 -0.742624223\nvn 0.746891797 -0.263609946 -0.610460877\nvn 0.811894178 -0.14286603 -0.566054106\nvn 0.750731885 -0.061683994 -0.657720923\nvn 0.59375006 -0.411225051 -0.691632032\nvn 0.950388908 0.149041981 -0.273033977\nvn -0.382649004 -0.789466023 -0.47992\nvn -0.485358775 -0.294733852 -0.823139608\nvn -0.757370889 -0.320011973 0.569193959\nvn -0.681540251 -0.701646268 0.207835078\nvn -0.990627229 0.133721024 0.027863005\nvn -0.214433029 -0.54163903 -0.812801123\nvn -0.60204798 -0.496374995 -0.625419974\nvn -0.431065083 -0.759905159 -0.486546129\nvn 0.278370947 -0.752307832 -0.597111881\nvn 0.175366983 -0.963187873 -0.203753963\nvn -0.234107003 -0.891866982 -0.386997998\nvn -0.16119802 -0.892996132 0.42020607\nvn -0.180770934 -0.982056618 0.053727981\nvn -0.584151328 -0.744799376 -0.322554141\nvn -0.472873062 -0.767888129 0.432133049\nvn -0.717979908 -0.686704874 0.113759972\nvn -0.713958144 -0.292483062 0.636174142\nvn -0.407089233 0.470962256 0.782606483\nvn -0.881168723 -0.450082839 0.144800946\nvn -0.650191009 -0.718025029 0.248377994\nvn -0.737580955 -0.656658947 -0.157395989\nvn 0.3412669 0.820520818 -0.458565891\nvn -0.774729192 -0.631880164 -0.022853006\nvn -0.672413707 -0.649747729 -0.354524821\nvn -0.935995221 -0.340146095 0.090629019\nvn -0.709839046 -0.679774046 -0.184488013\nvn -0.40941897 -0.889295876 -0.203786984\nvn -0.723744988 -0.664708018 -0.185354993\nvn -0.692838371 -0.261364132 -0.672059357\nvn -0.845138311 -0.26988408 -0.461415172\nvn -0.94653374 0.193045959 -0.258470953\nvn -0.967002749 -0.229822934 -0.109941967\nvn -0.933984995 -0.354476005 0.04493\nvn -0.538946092 -0.83724016 0.09255302\nvn 0.509364188 -0.11176604 -0.853262305\nvn 0.117098987 -0.240495965 -0.963560879\nvn 0.411875993 0.307312995 -0.857855976\nvn 0.558046043 -0.472251058 -0.682322145\nvn 0.826027811 -0.48772189 -0.282498926\nvn 0.373177916 -0.847542822 -0.377371907\nvn 0.2760351 -0.953706384 -0.119369045\nvn 0.075092003 -0.955735981 -0.284482002\nvn -0.334183097 -0.942209244 -0.023739006\nvn -0.398382902 -0.437758893 -0.806013823\nvn -0.449682057 -0.082125016 -0.889405131\nvn -0.205510005 -0.235845 -0.949811995\nvn 0.033965006 -0.698181093 -0.71511513\nvn 0.08514297 -0.665128767 -0.74185878\nvn 0.069551997 -0.70828402 -0.702493012\nvn 0.094114959 -0.709178746 -0.698718786\nvn -0.576556861 -0.665497839 -0.474019885\nvn -0.262299001 -0.831463993 -0.489762008\nvn -0.79256016 -0.359505087 -0.492549121\nvn 0.121964 -0.88222301 -0.454760998\nvn -0.133871049 -0.946901381 -0.292329133\nvn -0.597308099 -0.712146163 -0.368878096\nvn -0.847417295 0.146741062 0.510246158\nvn -0.949649453 -0.267809123 -0.162617072\nvn -0.632255137 -0.406532109 0.659534097\nvn -0.440092891 -0.864680767 0.242167935\nvn 0.003155999 0.093643978 0.99560076\nvn -0.092121996 -0.995710909 -0.008563999\nvn -0.327948898 -0.939671755 -0.097296976\nvn 0.272359937 -0.948087752 -0.164163962\nvn -0.230601132 -0.911741555 -0.339927197\nvn 0.487406701 -0.601319671 -0.633126616\nvn -0.681719184 -0.707952201 -0.184561044\nvn -0.648456156 -0.739386201 -0.181143045\nvn -0.666399002 -0.719350994 -0.196078002\nvn -0.807329893 -0.548625946 0.217319965\nvn -0.600231767 -0.52310282 -0.605049789\nvn -0.692976952 -0.700155914 -0.171943992\nvn -0.838518202 -0.235998064 -0.491113126\nvn -0.145820007 -0.692399025 -0.706625998\nvn -0.124153003 -0.362939 -0.923505008\nvn -0.540201068 -0.211071029 -0.814636111\nvn -0.34851104 -0.903525114 -0.249364033\nvn -0.442463011 -0.896785975 0.001264\nvn -0.425046146 -0.77954632 0.460047185\nvn 0.208940089 -0.959138453 0.190781087\nvn 0.485945165 -0.83719629 -0.25091809\nvn 0.313478112 -0.947609365 0.061385021\nvn -0.078530036 -0.98890847 0.126068056\nvn -0.081539027 -0.976996362 0.197052076\nvn -0.082851999 -0.927842021 0.363655001\nvn -0.093656026 -0.986155212 0.136845022\nvn 0.055258982 -0.986904621 -0.151544943\nvn -0.064378977 -0.992575645 -0.103193961\nvn -0.001326 -0.862638116 0.505820036\nvn 0.098887987 -0.963813901 -0.247555971\nvn 0.281218082 -0.307681113 -0.908982277\nvn 0.860124588 0.025167989 -0.509462774\nvn 0.585699618 -0.71105957 -0.389037758\nvn 0.466239929 -0.879687905 -0.09364599\nvn 0.194736958 -0.934309781 0.298567951\nvn -0.197076038 -0.977368236 0.076892026\nvn 0.751163185 -0.52159214 -0.40459308\nvn 0.350974113 -0.923166335 -0.156784058\nvn 0.332961202 -0.932698548 -0.138601094\nvn 0.859921873 -0.141909987 -0.490301937\nvn 0.867500007 -0.32415399 -0.377317011\nvn 0.565524876 -0.748328865 -0.346677929\nvn 0.653680086 -0.703950047 -0.277771026\nvn -0.272605002 -0.932177007 -0.238186002\nvn 0.275034934 -0.96118474 -0.021903994\nvn 0.336575896 -0.941326618 -0.02491799\nvn 0.371383041 -0.928442121 0.008359001\nvn 0.199067906 -0.966500521 0.162014931\nvn 0.056873973 -0.989867508 -0.130106941\nvn -0.051881 -0.977823973 0.202901006\nvn 0.037176002 -0.95480901 0.294885993\nvn -0.353951991 -0.830497026 0.430108011\nvn -0.070721008 -0.984361112 0.161344022\nvn 0.09120097 -0.955973625 0.278920919\nvn -0.037280999 -0.888212979 0.457917005\nvn 0.041281983 -0.967224658 0.250543922\nvn 0.221905977 -0.969949901 0.099774987\nvn 0.343390912 -0.938748777 -0.028871993\nvn 0.446487933 -0.891652882 -0.074858993\nvn 0.318355918 -0.945061743 0.074215978\nvn 0.739664018 -0.577062011 -0.346260995\nvn 0.88611114 -0.230588034 -0.402040035\nvn 0.814957976 -0.142378002 -0.561757982\nvn 0.818591475 -0.128156081 -0.55989635\nvn 0.828936696 -0.136624962 -0.542399824\nvn 0.840408146 -0.07523901 -0.53670603\nvn 0.82470268 -0.215722919 -0.52280885\nvn -0.011426 -0.909264982 0.416061014\nvn -0.310842872 -0.751083791 0.582451761\nvn 0.150456056 -0.96942538 0.193849072\nvn -0.030680999 -0.972675979 0.230131\nvn 0.144460052 -0.972918332 0.180447072\nvn 0.401574135 -0.915823281 -0.002433001\nvn 0.570154309 -0.769534349 -0.287647158\nvn 0.735520899 -0.564190865 -0.375096887\nvn 0.115498044 -0.992518365 -0.039592016\nvn 0.30517602 -0.952198148 0.013656002\nvn -0.346283019 -0.775016129 0.528619051\nvn -0.072200984 -0.967757761 0.241312936\nvn 0.106036052 -0.969771504 0.2197721\nvn 0.066119969 -0.834496558 0.54703176\nvn 0.236179054 -0.756815195 0.609467149\nvn 0.331551105 -0.943254352 -0.018581007\nvn 0.695515871 -0.70626086 0.132110968\nvn 0.415314943 -0.851528883 0.320018977\nvn 0.506577253 -0.532429218 0.678158283\nvn 0.667582929 -0.676125944 0.311747968\nvn 0.569385052 -0.711615086 0.411588073\nvn 0.410110921 -0.628266811 0.661127806\nvn 0.43033427 -0.71467644 0.551407337\nvn 0.12551704 -0.578525186 0.805949271\nvn 0.820752323 -0.561900198 0.103121035\nvn 0.691083848 -0.608098805 0.390664905\nvn 0.479741991 -0.604946971 0.635520995\nvn 0.610866904 -0.579449892 0.539517879\nvn 0.755391836 -0.448773891 0.477477878\nvn 0.853562295 -0.509910166 -0.106879041\nvn 0.548498929 -0.616090953 0.565314949\nvn 0.437658221 -0.615068316 0.655855358\nvn 0.745521784 -0.633012772 0.20854792\nvn 0.570319295 -0.651361287 0.500464261\nvn 0.514616728 -0.67982161 0.522505701\nvn 0.484809816 -0.696831763 0.528568804\nvn 0.655125976 -0.631657004 0.414510995\nvn 0.483274877 -0.61398381 0.624074817\nvn 0.816066325 -0.249555096 -0.52130419\nvn 0.803399622 -0.289429843 -0.520364761\nvn 0.83065784 -0.158026949 -0.533886909\nvn 0.316906869 0.835997701 0.447970837\nvn 0.487274945 0.809174895 0.328327984\nvn -0.014921996 0.822366834 0.568761885\nvn -0.345179141 0.710496306 0.613226235\nvn -0.457180947 0.617047966 0.640497863\nvn -0.901577115 0.142399013 0.408511072\nvn -0.677650273 0.37977618 0.629730284\nvn -0.904300213 -0.017287003 0.42654708\nvn -0.847653806 -0.424496919 0.318253905\nvn -0.727813303 -0.684953272 -0.033569016\nvn -0.635174036 -0.744842052 -0.204363033\nvn -0.172830045 -0.827486157 -0.534225106\nvn -0.381781131 -0.849054277 -0.365171134\nvn 0.021189013 -0.793573499 -0.608105361\nvn 0.264166117 -0.681820333 -0.682156384\nvn 0.493544877 -0.555542886 -0.669167817\nvn 0.68252784 -0.398819923 -0.612452865\nvn 0.837931156 -0.110773019 -0.534416139\nvn 0.806698978 -0.182708994 -0.562008977\nvn 0.926590025 0.197556004 -0.320003986\nvn 0.906232536 0.385849237 -0.172809109\nvn 0.903728604 0.420777798 -0.07887096\nvn 0.816831827 0.562654853 0.127299964\nvn 0.109052055 -0.716767371 0.688732386\nvn 0.201727927 -0.979441643 0\nvn -0.108476996 -0.994099021 0.000001\nvn -0.212278068 -0.975312352 0.060859021\nvn -0.205329984 -0.978692889 -0.000011\nvn -0.172430009 0.76317209 -0.622765064\nvn -0.265295029 0.904311121 -0.334425032\nvn -0.220258892 0.916507602 -0.333915859\nvn -0.133466005 0.770262003 -0.623605013\nvn -0.09622702 0.943901241 -0.315897077\nvn -0.033892989 0.798315704 -0.601284742\nvn -0.25257808 -0.768132269 -0.588368237\nvn -0.348869085 -0.331500083 -0.876583219\nvn -0.373627007 -0.252950996 -0.892422974\nvn -0.406320095 -0.29955107 -0.863234162\nvn -0.413533151 -0.191166073 -0.890194297\nvn -0.431241006 -0.138732001 -0.89150703\nvn -0.426999003 -0.118658997 -0.896432996\nvn 0.54716599 -0.413616002 -0.727689028\nvn 0.31733799 -0.060823001 -0.946359992\nvn 0.346176803 -0.072927952 -0.935330451\nvn 0.577926815 -0.381615847 -0.721366763\nvn 0.17633906 0.104990035 -0.978714347\nvn 0.198014095 0.093324043 -0.975746453\nvn 0.286897987 0.091325998 -0.953598022\nvn 0.416381031 -0.071033008 -0.906411111\nvn 0.622787774 -0.37231487 -0.688125789\nvn 0.146103024 0.343741089 -0.927629232\nvn 0.089511991 0.298976958 -0.950052857\nvn 0.022041999 0.468321949 -0.8832829\nvn 0.09821102 0.502327144 -0.859082162\nvn 0.071009003 0.278917998 -0.957686007\nvn -0.000682 0.456012994 -0.889972985\nvn 0.775075376 -0.395635188 -0.492677242\nvn 0.776776135 -0.253347039 -0.576571047\nvn 0.946213365 -0.273279101 -0.173202053\nvn 0.844917834 -0.506057858 -0.173260957\nvn 0.873930275 -0.094268039 -0.476822168\nvn 0.983166575 -0.097041056 -0.154811084\nvn 0.680051029 0.708629012 -0.188084006\nvn 0.438065052 0.880993128 -0.178746015\nvn 0.702268362 0.598536313 -0.385452181\nvn 0.443131953 0.829220891 -0.340626985\nvn 0.174608946 0.862904727 -0.47424382\nvn 0.190198928 0.95584166 -0.224033922\nvn -0.288139999 -0.271546006 -0.918280005\nvn -0.145149097 -0.737684429 -0.659358442\nvn -0.360643923 -0.081467979 -0.92913878\nvn -0.132100016 0.011204001 -0.991173148\nvn -0.020087007 -0.170503065 -0.985152364\nvn 0.188430041 -0.645430207 -0.740212202\nvn -0.191034079 0.15281406 -0.96961534\nvn -0.365947932 0.042817991 -0.929649889\nvn -0.416322201 0.233945116 -0.878604412\nvn -0.279257029 0.349059016 -0.894524097\nvn -0.439076275 -0.016544009 -0.898297548\nvn -0.463414013 -0.049915001 -0.884734988\nvn -0.469323009 -0.102503002 -0.877057016\nvn -0.54087913 0.549142122 -0.63709718\nvn -0.584204793 0.612500846 -0.532491863\nvn -0.47240901 0.663550973 -0.58011198\nvn -0.471158266 0.747021496 -0.469008267\nvn -0.699397802 0.665789843 -0.259935945\nvn -0.476622701 0.806354523 -0.350175798\nvn -0.598734915 0.799218893 -0.052589994\nvn -0.693038106 0.719193101 -0.049594015\nvn -0.776060998 0.609577 -0.161695004\nvn -0.592614055 0.744563043 -0.307302028\nvn -0.200766087 -0.962378502 -0.183086082\nvn -0.062420014 -0.982878268 -0.173361048\nvn -0.059929971 -0.909064591 -0.412322789\nvn -0.082189023 -0.992507219 -0.090412021\nvn 0.285890996 -0.941119015 -0.180447996\nvn -0.091960028 -0.991633356 -0.090591028\nvn 0.153456062 -0.896385312 -0.415866137\nvn 0.507940114 -0.078585021 -0.857800186\nvn 0.701026976 -0.385518998 -0.599946976\nvn 0.369206965 0.083217993 -0.92561388\nvn 0.501285732 0.153394923 -0.851576567\nvn 0.643922985 -0.024471 -0.764698982\nvn 0.321617961 0.399720937 -0.8583619\nvn 0.212883994 0.398256004 -0.892229021\nvn 0.167594045 0.545238137 -0.821357191\nvn 0.213422954 0.58768785 -0.780431807\nvn 0.067001 0.827612996 -0.557286024\nvn 0.025222994 0.959975779 -0.278944939\nvn 0.76454711 -0.566351056 -0.30775702\nvn 0.710933268 -0.619418263 -0.333009124\nvn 0.650882244 -0.67934823 -0.338878125\nvn -0.274376035 -0.036248002 -0.960939109\nvn -0.145581052 0.044980016 -0.988323331\nvn -0.192337036 0.037995003 -0.980593145\nvn -0.268792957 -0.006969999 -0.963172853\nvn -0.123995982 0.094381988 -0.987783909\nvn -0.172081023 0.082010016 -0.981663108\nvn -0.485621989 0.109347001 -0.867303014\nvn -0.386026949 0.074739993 -0.919454873\nvn -0.442498952 0.085864983 -0.892648876\nvn -0.266119987 -0.024836 -0.963620007\nvn -0.150422081 0.063344032 -0.986590505\nvn 0.839644134 0.535398066 -0.091361009\nvn 0.951096892 0.297918975 -0.081602991\nvn 0.536359251 0.824570417 -0.180007085\nvn 0.72142899 0.673614025 -0.160575002\nvn 0.519138098 0.807712197 -0.279458046\nvn 0.561804175 0.782946289 -0.267154098\nvn 0.681246996 0.728528976 0.07175\nvn 0.827667117 0.542028069 -0.145509019\nvn 0.88503617 0.461811125 -0.058663014\nvn 0.909965754 0.410981923 -0.055283986\nvn 0.891127586 0.446673781 -0.079838961\nvn -0.272604018 0.786247134 -0.554529071\nvn -0.705399871 0.706176877 -0.061034985\nvn -0.712315381 0.692025363 -0.117080055\nvn -0.2593669 0.717570782 -0.646390736\nvn -0.800575852 0.562949955 0.205342963\nvn -0.791438103 0.597187042 0.130359009\nvn -0.463751942 0.541429937 -0.701275945\nvn -0.141123071 0.876280427 -0.460670203\nvn -0.468647987 0.789555013 -0.396196991\nvn -0.477558941 0.813594878 -0.331663966\nvn 0.126299039 0.856990278 -0.499616176\nvn -0.725332022 0.648024976 -0.232287005\nvn -0.624028027 0.701076984 -0.345079988\nvn -0.008307995 0.7279616 -0.685567558\nvn 0.532887995 0.758623004 -0.374861985\nvn 0.519800961 0.726450861 -0.449528933\nvn 0.624688983 0.624714971 -0.468502998\nvn 0.733899236 0.614253223 -0.289974093\nvn 0.283178002 0.545167029 -0.78905201\nvn 0.381816179 0.641274273 -0.665570319\nvn 0.50660497 0.718274951 -0.476898938\nvn 0.982221365 -0.135957047 -0.12944904\nvn 0.985919595 -0.122644074 -0.113671064\nvn 0.852800131 -0.501980066 -0.144042015\nvn 0.837638974 -0.525250018 -0.149911001\nvn -0.745377779 0.456025839 0.486263812\nvn -0.92301023 0.255428046 0.287765056\nvn -0.871719718 0.335093886 0.357514888\nvn -0.64243716 0.482837111 0.595099092\nvn -0.970862865 0.217523977 0.100541987\nvn -0.944258332 0.291829109 0.15235506\nvn -0.750000894 0.533070922 0.391578943\nvn -0.726767063 0.662795067 0.180312008\nvn -0.446890056 0.59949404 0.664000094\nvn -0.642350912 0.714197934 0.278040975\nvn -0.260064065 0.686558187 0.678973198\nvn -0.323385179 0.803269506 0.500180304\nvn -0.502973139 0.636097193 0.585148156\nvn 0.019089999 0.062508993 -0.997861862\nvn -0.108191051 0.140634075 -0.984132469\nvn -0.143949047 0.087023027 -0.985751331\nvn -0.000035 0.045258015 -0.998975337\nvn -0.154479966 0.136581972 -0.978509784\nvn -0.186256006 0.083881997 -0.978914022\nvn -0.297366947 -0.04334899 -0.953778744\nvn -0.264690071 -0.064781018 -0.962155223\nvn -0.205467075 -0.126067042 -0.970510364\nvn -0.404963076 -0.11169403 -0.907485247\nvn -0.425696999 -0.082772002 -0.901072025\nvn -0.395617783 -0.088040963 -0.914185584\nvn -0.403934926 -0.056538992 -0.913038909\nvn -0.434175998 -0.065095998 -0.898473024\nvn -0.816060305 0.113428034 -0.566727161\nvn -0.751473188 0.128030032 -0.647222161\nvn -0.962266624 0.127595961 -0.240337908\nvn -0.96410799 0.142268002 -0.224178001\nvn -0.891382098 0.391037047 -0.229190037\nvn -0.666431963 0.233208969 -0.708153963\nvn -0.722335935 0.635447919 -0.272830963\nvn -0.595842063 0.370298028 -0.712637067\nvn -0.535902143 0.771954179 -0.34190008\nvn -0.516783178 0.448414147 -0.729287267\nvn -0.456356198 0.201057091 -0.866784394\nvn -0.449847013 0.115221001 -0.885641992\nvn -0.045991026 -0.356338203 -0.933224559\nvn -0.183780998 -0.105984002 -0.977236986\nvn -0.806584179 0.205402046 -0.554285109\nvn -0.541293025 0.149963006 -0.827353001\nvn -0.582328856 0.21349895 -0.784417808\nvn -0.495023876 0.482582867 -0.722540796\nvn -0.354701191 0.001560001 -0.934978426\nvn -0.326868981 -0.057581991 -0.943313897\nvn -0.627560079 0.254279017 -0.735874057\nvn -0.080957003 -0.390785009 -0.916914999\nvn -0.295582145 -0.064336032 -0.953148484\nvn -0.493579 -0.048707999 -0.868336022\nvn -0.35413605 -0.009550001 -0.93514514\nvn -0.477143228 0.535929263 -0.696501374\nvn -0.3767021 0.844514191 -0.38064608\nvn -0.280724019 0.898467124 0.337566048\nvn -0.497326165 0.808241308 0.31529811\nvn -0.792876184 0.588807106 -0.157015041\nvn -0.81082499 0.56199199 -0.163487002\nvn -0.905708015 0.222607002 -0.360747993\nvn -0.947715342 0.118080042 -0.296467125\nvn -0.601728976 0.232534006 -0.764101028\nvn -0.858466029 0.456925988 -0.232926995\nvn -0.808762014 0.529706001 -0.255569011\nvn -0.924006402 0.280007124 -0.260400116\nvn -0.195351958 0.135899976 -0.971271753\nvn -0.148172975 0.120394967 -0.981605768\nvn -0.138704032 0.240022063 -0.960807264\nvn -0.102953985 0.409664929 -0.906407893\nvn -0.121078044 0.287346095 -0.950143337\nvn -0.182602942 0.110851966 -0.976917624\nvn -0.145687997 0.262861013 -0.953770995\nvn 0.162510052 0.29819411 -0.940569341\nvn -0.300215065 0.606173098 -0.736495197\nvn -0.93743813 0.337597072 -0.085076012\nvn -0.95597446 0.280850112 -0.085066035\nvn -0.932049751 0.278995931 -0.231180936\nvn -0.911771774 0.404472917 -0.071231984\nvn -0.987011015 0.160509005 -0.006786\nvn -0.795971811 0.491036892 -0.353993922\nvn -0.784636497 0.562910616 -0.259763837\nvn -0.973680854 0.195663974 0.116880983\nvn -0.859342992 0.439826012 0.260926992\nvn -0.653319299 0.706965387 0.27087611\nvn -0.415067136 0.890319288 0.187219054\nvn -0.328711092 0.943804264 0.034390006\nvn -0.327784121 -0.10524404 -0.938872337\nvn -0.001569001 -0.224727109 -0.974420488\nvn -0.280183136 0.043675024 -0.958952487\nvn -0.511968911 0.319423974 -0.797405899\nvn -0.135642976 -0.402508914 -0.90531075\nvn -0.566983998 -0.054423999 -0.821928978\nvn -0.07338997 0.43172285 -0.899015725\nvn -0.250345081 0.744885266 -0.618444264\nvn 0.012761 0.246439993 -0.969074011\nvn 0.238004938 -0.084597975 -0.967572749\nvn 0.092918023 0.091287024 -0.991480231\nvn 0.485781878 -0.467505872 -0.738548815\nvn 0.54291594 -0.78371191 -0.30172497\nvn 0.256849885 -0.929272592 -0.265481889\nvn -0.36313498 0.603114963 -0.710200965\nvn -0.003050999 0.498566926 -0.866845906\nvn -0.451826841 0.672154784 -0.586566746\nvn -0.053962994 0.553205967 -0.831294894\nvn -0.119947985 0.676573932 -0.726539969\nvn -0.524017096 0.844395161 -0.111368023\nvn -0.684241593 0.660416603 -0.30929482\nvn -0.302035123 0.845261276 -0.440804154\nvn -0.497437119 0.835370183 0.233908057\nvn -0.387534142 0.59539026 0.703795254\nvn -0.392601013 0.808731019 -0.437970996\nvn -0.562460959 0.793323874 0.23296997\nvn -0.464764118 0.564641118 0.682037175\nvn -0.771240711 0.592803776 -0.231886908\nvn -0.678252757 0.606326759 -0.415139854\nvn -0.790979981 0.599597991 -0.121790998\nvn -0.614922225 0.620563209 -0.486592174\nvn 0.006189999 0.592723966 -0.805381894\nvn -0.007487002 0.593836129 -0.804551184\nvn 0.054551002 0.649170995 -0.75868398\nvn 0.093138009 0.642769039 -0.760377109\nvn 0.144380957 0.636388779 -0.757735729\nvn -0.357659131 -0.094068035 -0.929102361\nvn -0.367753029 -0.125455022 -0.921422124\nvn -0.320057005 -0.204400003 -0.925086021\nvn -0.281652987 -0.485511988 -0.82761699\nvn 0.260072976 -0.349599957 -0.900078893\nvn -0.167997047 -0.333549082 -0.927643239\nvn -0.406058103 -0.05206101 -0.912363231\nvn -0.414079994 -0.048528001 -0.908945978\nvn -0.350843906 -0.074561983 -0.933460772\nvn -0.287534863 -0.047380976 -0.956597507\nvn -0.181474 0.072155997 -0.980745018\nvn -0.145286977 0.123647973 -0.981632769\nvn -0.11695797 0.204544961 -0.971844733\nvn 0.014460002 0.478517056 -0.877959132\nvn -0.033054993 0.435468912 -0.899596751\nvn -0.066510022 0.499617189 -0.863689303\nvn -0.16579999 0.634639919 -0.754812896\nvn 0.013542998 0.582969904 -0.81238085\nvn -0.363555044 0.720986068 -0.589921057\nvn 0.020104004 0.666257143 -0.745451093\nvn 0.053232994 0.65168792 -0.75661689\nvn 0.339049101 0.87473315 -0.34624809\nvn -0.237759054 0.653741181 -0.718396187\nvn -0.232044131 0.737955391 -0.633701384\nvn 0.559405923 0.810148895 0.175281987\nvn -0.435505092 0.535921097 -0.723273158\nvn -0.455846667 0.588897586 -0.667385519\nvn 0.437753946 0.842406869 -0.314200968\nvn 0.066094033 0.565010309 -0.822432399\nvn 0.187390983 0.109537981 -0.976158857\nvn 0.710605085 -0.006614001 -0.703560054\nvn 0.085042976 -0.081019975 -0.993077755\nvn 0.169132978 -0.017890997 -0.985430896\nvn 0.181537077 0.254159093 -0.949972332\nvn 0.142622054 0.520027161 -0.842158318\nvn -0.07199201 0.58872503 -0.805121124\nvn 0.160041019 0.634176075 -0.756444097\nvn -0.179399043 0.654505193 -0.734465182\nvn 0.163636982 0.746792912 -0.644610941\nvn 0.985807776 0.042761989 -0.162340954\nvn 0.902719319 0.429741144 -0.020506008\nvn 0.811005294 0.501246154 0.301700085\nvn 0.849734426 0.489171237 0.196629092\nvn 0.718502998 0.449649006 0.530631006\nvn 0.70871383 0.508903861 0.488611877\nvn 0.669484973 0.606215 0.42929399\nvn -0.077042997 -0.97180301 -0.222853005\nvn 0.795315027 -0.549399972 -0.256190985\nvn -0.855610907 0.514635921 -0.055495992\nvn -0.931674778 0.363147914 0.010278997\nvn -0.874896109 0.46679306 -0.129078016\nvn -0.947407663 0.307258874 0.089502968\nvn -0.356562734 0.874626398 -0.32846877\nvn 0.184986055 -0.613231242 0.767937303\nvn 0.088397004 -0.290742993 0.952709019\nvn -0.088762023 -0.294355065 0.951565266\nvn 0.091568008 -0.448327065 0.88916713\nvn 0.082148999 -0.395821005 0.914646029\nvn 0.084191039 -0.323581159 0.942447484\nvn 0.060964987 -0.237229943 0.969538748\nvn -0.567094445 0.559710443 0.604258418\nvn -0.502490878 0.5652439 0.654218793\nvn -0.603897035 0.771543145 0.200074032\nvn -0.657470405 0.729141414 0.189962119\nvn -0.453341991 0.780103981 -0.43118301\nvn -0.515549123 0.755380154 -0.404487103\nvn -0.089468993 0.494993955 -0.864277899\nvn -0.059924014 0.527421117 -0.847488165\nvn 0.032023989 0.445118845 -0.894898713\nvn 0.034422997 0.402837932 -0.914623857\nvn -0.183607996 0.533712983 -0.825492978\nvn -0.182933003 0.510932028 -0.839931011\nvn -0.572850943 0.639280915 -0.512992918\nvn -0.828561008 0.559866011 -0.006076\nvn -0.853035986 0.516866028 0.071966\nvn -0.599068522 0.662278473 -0.450004607\nvn -0.84702909 0.471489072 0.245438024\nvn -0.809142113 0.537257075 0.238000035\nvn -0.722910047 0.690705061 -0.018101001\nvn -0.774840117 0.631999075 -0.014143002\nvn -0.302148908 0.80189985 -0.515424907\nvn -0.369307995 0.774057984 -0.514243007\nvn 0.152428001 0.637598991 -0.75513798\nvn 0.163251057 0.649346232 -0.742764235\nvn 0.157874033 0.649271131 -0.743991137\nvn 0.161750019 0.631423056 -0.758381128\nvn 0.052074999 0.685697019 -0.726022005\nvn 0.110220999 0.640029013 -0.760403991\nvn -0.039628997 0.730584919 -0.681670964\nvn -0.476431012 0.732594013 -0.486126989\nvn -0.520268142 0.66270119 -0.538654149\nvn -0.131967023 0.709353209 -0.69238919\nvn -0.042467985 0.683297753 -0.72890377\nvn -0.749892354 0.559469223 -0.353066176\nvn -0.727829993 0.625464976 -0.281170994\nvn -0.537447095 0.739132106 -0.405998111\nvn -0.571309865 0.676437795 -0.464797884\nvn -0.303392112 0.831349313 -0.465630144\nvn -0.28283003 0.778149128 -0.560795069\nvn 0.570880175 0.695960224 -0.435586154\nvn 0.563401043 0.747729063 -0.351398021\nvn 0.739013076 0.628108084 -0.243598029\nvn 0.7351982 0.5991171 -0.317084104\nvn 0.525634885 0.750990808 -0.399650902\nvn 0.522019029 0.706336975 -0.478105009\nvn 0.161297992 0.812456906 -0.560264945\nvn -0.160349041 0.701853156 -0.694039166\nvn 0.133011013 0.742080033 -0.656982064\nvn 0.204172954 0.767338812 -0.60786891\nvn -0.278951168 0.567362368 -0.774781466\nvn -0.36837405 0.567490101 -0.7363801\nvn -0.102526017 0.690946043 -0.71559906\nvn 0.002335 0.706270874 -0.707937896\nvn 0.438733131 0.826723158 -0.352196097\nvn 0.468371212 0.815287411 -0.340492159\nvn 0.745421171 0.475270122 0.467403114\nvn 0.722478151 0.490171105 0.487604111\nvn 0.714780211 0.450612158 0.534825206\nvn 0.735627413 0.416209251 0.534436285\nvn 0.709236622 0.668953717 0.222450897\nvn 0.760521889 0.515039921 0.395398945\nvn 0.502956092 0.816128194 -0.284552068\nvn 0.544557095 0.804323196 -0.237743065\nvn 0.481271774 0.828900576 -0.285133839\nvn 0.518462837 0.78950274 -0.328453869\nvn 0.526095927 0.784252882 -0.328892976\nvn 0.56669116 0.775129318 -0.279349089\nvn -0.33108288 0.38713184 0.860530674\nvn 0.498915225 0.793429375 -0.34864518\nvn 0.012275998 0.690227926 -0.723487914\nvn 0.385214925 0.800254822 -0.459566891\nvn -0.035253 0.690916002 -0.722074986\nvn -0.366269797 0.526610672 -0.767155528\nvn -0.238059878 0.554814756 -0.797187626\nvn 0.198176026 0.629959047 -0.75091809\nvn 0.254618019 0.646231055 -0.719413042\nvn 0.264994055 0.545778096 -0.7949242\nvn 0.296031862 0.57875371 -0.759874642\nvn 0.334378004 0.600156009 -0.726638973\nvn 0.271252036 0.657598138 -0.702842116\nvn 0.627041936 0.570323944 -0.530611932\nvn 0.753013968 0.516077936 -0.408207983\nvn 0.752025723 0.478553832 -0.453258842\nvn 0.774641991 0.479793996 -0.411980003\nvn 0.645193875 0.570959926 -0.507670939\nvn 0.614208698 0.59972173 -0.512914777\nvn -0.239298031 0.715250075 -0.656623065\nvn -0.605426252 0.579198241 -0.545883179\nvn -0.179481938 0.695843756 -0.695404768\nvn -0.619047284 0.541705251 -0.568626285\nvn -0.829134405 0.35862717 -0.428862214\nvn -0.790468931 0.449470937 -0.416094959\nvn -0.525780022 0.543531001 -0.654316008\nvn -0.151547 0.617366016 -0.771941006\nvn -0.229267135 0.54068327 -0.809381485\nvn -0.154840946 0.538559794 -0.828237712\nvn -0.122163013 0.513725042 -0.849213123\nvn -0.094838023 0.609563112 -0.787044168\nvn 0.051660981 0.586246789 -0.80848372\nvn 0.191170007 0.57971102 -0.792078972\nvn 0.202877 0.493743986 -0.845610976\nvn 0.262838989 0.52809298 -0.807485998\nvn 0.197449997 0.61480999 -0.763558984\nvn 0.147661045 0.624446154 -0.766983151\nvn -0.445069939 0.726082921 -0.524133921\nvn -0.815841496 0.57630533 -0.047695026\nvn -0.447116107 0.753464162 -0.482057124\nvn -0.794998348 0.604524314 -0.050279021\nvn -0.866516292 0.419051141 0.271193087\nvn -0.873829126 0.415907055 0.251881033\nvn -0.867032707 0.495385826 0.053359982\nvn -0.64589119 0.650290191 -0.399934083\nvn -0.886327684 0.459372818 0.058308978\nvn -0.687810302 0.60674423 -0.398470134\nvn -0.287436843 0.427923799 -0.856890559\nvn -0.230632067 0.462735116 -0.855970204\nvn 0.049789976 0.316704839 -0.947216511\nvn 0.06228203 0.222591102 -0.972920477\nvn -0.096939035 0.404319137 -0.909466326\nvn -0.104753941 0.465545744 -0.878802478\nvn -0.578039169 0.712058246 -0.39855215\nvn -0.707064629 0.665948629 0.237848878\nvn -0.597734988 0.70420599 -0.383154005\nvn -0.715668917 0.663346946 0.218606964\nvn -0.610755146 0.5110901 0.604785144\nvn -0.615387738 0.497755826 0.611176789\nvn -0.548468053 0.329929024 0.768329144\nvn -0.591910005 0.307262987 0.745139003\nvn 0.534672916 0.769338906 -0.349631965\nvn 0.533576131 0.775569201 -0.33732608\nvn 0.444048107 0.853398204 -0.273007065\nvn 0.396641076 0.87236619 -0.285750061\nvn 0.402857929 0.872821867 -0.275476962\nvn 0.559554994 0.771035016 -0.303979009\nvn 0.766517997 0.63202101 0.114015996\nvn 0.762077689 0.308467895 0.569284797\nvn 0.803440809 0.418000907 0.423978925\nvn 0.798104763 0.210040927 0.564722776\nvn 0.833309293 0.409302145 0.371574134\nvn 0.775252998 0.426111996 0.466273993\nvn -0.110276029 0.674106181 -0.730356157\nvn -0.140763029 0.62601018 -0.767005205\nvn -0.208875 0.62075299 -0.755670011\nvn -0.256009996 0.61006999 -0.749849021\nvn -0.295028001 0.578666985 -0.760330975\nvn -0.320551157 0.580669284 -0.748378336\nvn -0.461171001 0.501075983 0.73228699\nvn -0.312344164 0.351139188 0.88269043\nvn -0.386495173 0.462581217 0.797897339\nvn -0.467564046 0.495098054 0.73229903\nvn -0.531738997 0.390902996 0.75129801\nvn -0.520133972 0.398889005 0.755213976\nvn -0.46760717 0.326543123 0.821409285\nvn -0.832439899 0.548455954 0.078992993\nvn -0.816306114 0.510738075 0.26979804\nvn -0.827786982 0.464652985 0.314429998\nvn -0.855525017 0.367399991 0.364820987\nvn -0.865288019 0.268626004 0.423222005\nvn -0.850262165 0.248609066 0.463948131\nvn 0.059451006 0.620439053 -0.781998098\nvn 0.081921972 0.669379771 -0.73838979\nvn 0.063643984 0.694579899 -0.716594875\nvn 0.035417978 0.689414561 -0.723500609\nvn -0.000177 0.671371758 -0.741120756\nvn -0.015866997 0.712868869 -0.701117873\nvn 0.135843039 0.866724312 -0.479933172\nvn 0.166031957 0.809277833 -0.56347388\nvn 0.308572978 0.70251596 -0.641290963\nvn 0.359236926 0.676835895 -0.642527878\nvn -0.8041448 0.575896859 -0.147288963\nvn -0.830451012 0.527051985 -0.180464\nvn -0.856093824 0.458509892 -0.238478944\nvn -0.913726091 0.301603019 -0.272287041\nvn -0.94474256 0.180467099 -0.273666143\nvn -0.914696753 0.205744952 -0.347848922\nvn -0.441808134 0.515576184 -0.734157264\nvn -0.59916997 0.40336293 -0.691587925\nvn -0.572275102 0.396891087 -0.717620194\nvn -0.546687126 0.367612094 -0.75232619\nvn -0.490960926 0.409533948 -0.768920898\nvn -0.575561106 0.291059047 -0.764208198\nvn -0.650527179 0.27186507 -0.709157169\nvn -0.628413022 0.239316002 -0.740152001\nvn -0.226280063 0.475639105 -0.850038171\nvn 0.697834253 0.616774261 0.364166111\nvn 0.738241017 0.606137991 0.295967996\nvn 0.744659245 0.62157023 0.243173093\nvn 0.774450183 0.594868124 0.21531105\nvn 0.829393506 0.543411314 0.129656076\nvn -0.425369859 -0.758576691 0.493580818\nvn -0.455976009 -0.682985008 0.570629001\nvn -0.267402023 -0.733235061 0.625190079\nvn -0.287457019 -0.801098108 0.524986088\nvn -0.536420047 -0.615292072 0.57764107\nvn -0.25335601 -0.68434602 0.683726013\nvn 0.143314034 -0.666043162 0.732016206\nvn 0.086786993 -0.741072953 0.665791929\nvn 0.059366032 -0.816018462 0.574969351\nvn 0.027365992 -0.921358764 0.387748897\nvn 0.323349088 -0.640346169 0.696708202\nvn 0.486688107 -0.492286116 0.721657157\nvn 0.128636032 -0.934921265 0.330719084\nvn 0.377435923 -0.509529889 0.773253798\nvn 0.44800216 -0.422057152 0.78813827\nvn 0.611068964 -0.341981977 0.713892937\nvn 0.694576323 -0.196313053 0.69211632\nvn 0.851221979 -0.210339993 0.480809987\nvn -0.465279996 0.44214201 0.766828001\nvn -0.438665867 0.376480907 0.815986812\nvn -0.578022957 0.602725923 0.550100923\nvn -0.606817722 0.595375717 0.526592791\nvn -0.419752091 0.418990076 0.805143178\nvn -0.385546952 0.306760967 0.870201886\nvn -0.693451822 0.697731793 0.179707959\nvn -0.60371387 0.70576781 -0.370703906\nvn -0.598460913 0.694812894 -0.398847967\nvn -0.717454076 0.677385032 0.162509009\nvn -0.332847983 0.585224926 -0.739407957\nvn -0.08051198 0.390130907 -0.917232752\nvn -0.080470011 0.358261019 -0.930147111\nvn -0.384709835 0.554338753 -0.738042653\nvn 0.112557054 0.101939052 -0.988402486\nvn 0.104375035 0.009104003 -0.994496346\nvn 0.334015101 -0.354360104 -0.873420179\nvn 0.171911046 0.025926005 -0.984771252\nvn -0.756919503 0.478825301 -0.444746256\nvn -0.663890898 0.520382881 -0.537075877\nvn -0.83969301 0.457552999 -0.292508006\nvn -0.705072165 -0.168458045 0.688836157\nvn -0.760702312 -0.644322217 0.078619033\nvn -0.451034993 -0.788920999 -0.417338014\nvn -0.800457895 0.239473969 0.549471915\nvn -0.794915676 0.123546958 0.59400779\nvn -0.812846124 0.488565058 0.317152023\nvn -0.773401797 0.532789886 0.343488902\nvn -0.72682035 0.281591147 0.626449287\nvn -0.726921082 0.686189055 -0.027026003\nvn -0.425388098 0.802405179 -0.418558091\nvn -0.404154986 0.774859011 -0.486057997\nvn -0.706246972 0.706634998 -0.043384001\nvn 0.004691002 0.737957239 -0.674831212\nvn 0.275374949 0.61091888 -0.742257893\nvn 0.275549948 0.534891903 -0.798725843\nvn -0.020339001 0.658864081 -0.7519871\nvn 0.399464995 0.426609993 -0.811438024\nvn 0.186253011 0.344686031 -0.920055091\nvn 0.548826694 -0.40155977 -0.733170569\nvn 0.487491012 0.321981996 -0.811591029\nvn -0.256164998 0.409889013 -0.875425994\nvn -0.214765891 0.404830813 -0.888812602\nvn -0.25900808 0.528886199 -0.808204293\nvn -0.867127419 -0.497903228 -0.013515007\nvn -0.175879002 -0.970807016 -0.163095996\nvn -0.961854458 0.128337055 -0.241590112\nvn -0.975571573 0.061300036 -0.210956126\nvn -0.847814977 0.348439008 -0.399749994\nvn -0.824114025 0.435649008 -0.362002999\nvn -0.967392743 0.176212952 -0.181934953\nvn -0.615123928 0.547651947 -0.567185938\nvn -0.157395944 0.715977788 -0.68014878\nvn -0.086156972 0.728511751 -0.679593742\nvn -0.569959939 0.576251924 -0.585729957\nvn 0.391756862 0.696831763 -0.600792825\nvn 0.6616956 0.589181662 -0.463706732\nvn 0.676927865 0.586659968 -0.44452095\nvn 0.406935841 0.69162178 -0.596709788\nvn 0.817917407 0.453110218 -0.354545176\nvn 0.859402001 0.365521997 -0.357522011\nvn 0.769370854 -0.637030959 -0.047539994\nvn 0.865347207 0.423201084 -0.268468052\nvn 0.379145145 0.482877165 -0.789353311\nvn 0.387249947 0.598160923 -0.701598942\nvn 0.365074962 0.47081393 -0.803152859\nvn -0.747462094 -0.621364117 -0.234962061\nvn -0.188858017 -0.972839117 -0.133853018\nvn -0.821534991 0.230679005 -0.521408975\nvn -0.885641992 0.072962001 -0.458600998\nvn -0.528973043 0.517150044 -0.672862053\nvn -0.681793869 0.490505934 -0.542734921\nvn -0.901207268 0.091454029 -0.423629135\nvn -0.265989095 0.699381232 -0.663412213\nvn 0.138566971 0.829897821 -0.540433884\nvn -0.098403968 0.853217721 -0.512187839\nvn -0.456226856 0.693626761 -0.557439804\nvn 0.649802804 0.749803841 -0.124701969\nvn 0.792483151 0.573477149 0.20759204\nvn 0.725118101 0.688615143 0.003604001\nvn 0.309141994 0.886507988 -0.344289005\nvn 0.823762 0.405802995 0.395904005\nvn 0.761296988 0.398833007 0.511232972\nvn 0.829846859 0.508049965 0.230736971\nvn 0.309170008 0.924315989 -0.223727003\nvn 0.234462053 0.946582258 -0.221381038\nvn 0.402354836 0.893741727 -0.198333919\nvn 0.21397987 -0.97683543 0.002276999\nvn 0.181345016 -0.978740096 0.095822014\nvn 0.588869989 0.795804977 -0.141161993\nvn 0.253232002 -0.966629982 0.038729999\nvn 0.539293885 0.810923815 -0.227078959\nvn 0.576188922 0.772348881 -0.267363966\nvn 0.521436155 0.814402282 -0.25466308\nvn 0.483592987 0.848375022 -0.215400994\nvn -0.27839902 0.261495024 -0.92418313\nvn 0.203686997 -0.516946971 -0.831430972\nvn -0.125728965 -0.227153942 0.965708733\nvn 0.091523968 -0.545499802 0.83309871\nvn -0.229009002 0.064741999 0.971269011\nvn 0.035185013 -0.587560177 0.808415294\nvn -0.350768924 0.219214946 0.91044277\nvn -0.567208052 0.424036056 -0.706023037\nvn 0.531964958 0.56121397 -0.63407594\nvn 0.009878 0.435833991 -0.899972975\nvn 0.417720199 0.90642941 -0.06241503\nvn 0.414176077 0.611780107 -0.673931181\nvn 0.570670307 0.394183189 -0.720385373\nvn 0.894635677 0.191368923 -0.403738856\nvn 0.936232865 0.034827996 -0.349649966\nvn 0.790065169 0.094994023 -0.605618119\nvn 0.735632122 0.229757026 -0.637226105\nvn -0.3772479 -0.007144998 -0.926084757\nvn -0.182350993 0.101602003 -0.977970004\nvn 0.032334995 0.188608989 -0.981519878\nvn 0.094623014 0.214181036 -0.972200096\nvn 0.119549982 0.225188971 -0.96695286\nvn 0.176549941 0.249378905 -0.95217663\nvn 0.266328841 0.285067827 -0.920763493\nvn 0.413695991 0.328117013 -0.849232018\nvn 0.657686055 0.336406022 -0.674003065\nvn 0.813063025 0.370891005 -0.448740989\nvn 0.854678988 0.465750992 -0.229347005\nvn 0.957686901 0.155767992 -0.242016971\nvn 0.983282745 -0.036867991 -0.178313956\nvn 0.442624152 -0.857444286 0.262437075\nvn 0.357872874 -0.879948676 0.312437892\nvn 0.178145975 -0.721518874 0.669084907\nvn 0.195643082 -0.65996331 0.725377381\nvn 0.408501297 -0.865024567 0.291306198\nvn 0.241993025 -0.716993034 0.653728068\nvn 0.111473039 -0.511096179 0.852264285\nvn 0.086287044 -0.602105319 0.793740332\nvn 0.131367981 -0.55388993 0.8221609\nvn 0.509837091 -0.649141192 -0.564519107\nvn 0.525546253 -0.688933372 -0.499171227\nvn 0.479411989 -0.682754993 -0.551370978\nvn 0.563919127 -0.606036127 -0.560995102\nvn 0.559234202 -0.668152213 -0.490744174\nvn 0.547073126 -0.770767152 -0.326541096\nvn 0.520911753 -0.799401641 -0.299345851\nvn 0.521660984 -0.769846022 -0.367704988\nvn 0.188577041 -0.45650211 0.869508207\nvn 0.158583045 -0.484642118 0.860217154\nvn 0.31405592 -0.702922821 0.638175845\nvn 0.359334916 -0.708625793 0.607229829\nvn 0.471397132 -0.835535169 0.28225106\nvn 0.49027288 -0.826856792 0.275572926\nvn 0.587486982 -0.739826977 -0.327894986\nvn 0.574705899 -0.746888876 -0.334469944\nvn 0.574293137 -0.633616149 -0.518380105\nvn 0.586593032 -0.635316074 -0.502277076\nvn 0.559761882 -0.71160382 -0.424601912\nvn 0.486535251 -0.862359405 -0.140070081\nvn 0.109141 -0.957149982 0.268238991\nvn 0.202477932 -0.403668851 0.892218709\nvn 0.368534118 -0.693853259 0.618668258\nvn 0.488521814 -0.832616687 0.260951906\nvn 0.565616786 -0.751855791 -0.338807881\nvn 0.578388035 -0.635604084 -0.511346042\nvn 0.563124478 -0.563734472 -0.604230464\nvn 0.472591937 -0.878467858 -0.070364989\nvn 0.469287992 -0.880165994 -0.071252003\nvn 0.511693835 -0.854692698 -0.08757896\nvn 0.547966003 -0.833365023 -0.072360002\nvn 0.5616678 -0.825740695 -0.051785983\nvn 0.554316044 -0.830494106 -0.054894008\nvn 0.076171041 -0.513975263 0.85441643\nvn 0.074234031 -0.564462185 0.822114289\nvn 0.073631994 -0.328263938 0.941711903\nvn 0.082077041 -0.267770112 0.959980488\nvn 0.117601968 -0.280022949 0.952762783\nvn 0.188644007 -0.438169003 0.878875017\nvn 0.259863913 -0.94158864 0.21419993\nvn 0.49943611 -0.758116186 -0.419313103\nvn 0.310412914 -0.918053746 0.24661994\nvn 0.5461303 -0.762794495 -0.346246213\nvn -0.063203998 -0.800764024 0.59563601\nvn 0.058607984 -0.873303831 0.483637869\nvn -0.044275984 -0.766590714 0.640607774\nvn 0.12665996 -0.855400681 0.50224185\nvn 0.426855206 -0.874337435 0.230930105\nvn 0.781513989 -0.623879015 0.003291\nvn 0.753141701 -0.62900579 -0.192689925\nvn 0.519465089 -0.811283112 0.268283039\nvn 0.794838011 -0.606701016 0.012099\nvn 0.79241091 -0.609876931 0.011624999\nvn 0.775249839 -0.630055845 0.044914991\nvn 0.773344696 -0.628385782 -0.084078968\nvn 0.515431821 -0.719916701 0.464811862\nvn 0.423282802 -0.777996659 0.464276791\nvn 0.119658999 -0.771305978 0.625114977\nvn 0.093572952 -0.642824709 0.760276616\nvn 0.424783945 -0.82760489 0.366917968\nvn 0.199139953 -0.839494824 0.505560875\nvn -0.109158039 -0.73372823 0.670617223\nvn -0.117110968 -0.705518901 0.698947906\nvn -0.061021008 -0.569680035 0.819598138\nvn 0.296484828 -0.925922453 0.234017864\nvn 0.121665016 -0.865094125 0.486631066\nvn -0.078152977 -0.75420481 0.651971817\nvn -0.127834991 -0.723843932 0.678017914\nvn 0.171649069 -0.88080442 0.441271216\nvn 0.058840979 -0.790504694 0.609622836\nvn -0.091890983 -0.746090889 0.659472883\nvn 0.34451887 -0.841369689 0.416417837\nvn 0.56277132 -0.792728364 0.234244108\nvn 0.630258799 -0.757138848 0.171798959\nvn 0.791961908 -0.609954953 -0.027409997\nvn 0.800066888 -0.598628938 -0.039197996\nvn 0.802749991 -0.593828976 -0.054403\nvn 0.57426995 -0.801974893 0.164469987\nvn 0.592712998 -0.793964982 0.135317996\nvn 0.533506215 -0.767589331 -0.355215192\nvn 0.311886996 -0.921352029 0.232027993\nvn 0.135707065 -0.866795421 0.479843229\nvn -0.11287003 -0.722214103 0.68239814\nvn -0.054896016 -0.727511168 0.683896184\nvn 0.396085083 -0.842634201 0.364807099\nvn 0.44791314 -0.833773315 0.32279411\nvn 0.789374113 -0.613016069 -0.033166002\nvn 0.808162987 -0.585551977 -0.063257001\nvn 0.611714184 -0.783201277 0.111363046\nvn 0.648018003 -0.733305991 0.205754995\nvn 0.66165334 -0.733693361 0.154625073\nvn 0.620576978 -0.760574996 0.190814003\nvn 0.542438149 -0.803328276 0.245814085\nvn -0.182178006 -0.660336018 0.728537977\nvn -0.166626081 -0.499655247 0.85004741\nvn -0.205846995 -0.666822016 0.716223001\nvn -0.244541034 -0.640809059 0.727711082\nvn -0.261985987 -0.602267981 0.754079998\nvn -0.055394001 -0.872274995 0.485868007\nvn 0.156479076 -0.889364421 0.429587215\nvn 0.006036997 -0.876763582 0.480883747\nvn 0.240754977 -0.876839876 0.416159958\nvn -0.014054009 -0.91722554 0.398120224\nvn 0.492225885 -0.705741823 0.509550869\nvn 0.747995079 -0.52058208 0.411701053\nvn 0.024805998 -0.887513876 0.460112929\nvn 0.337615103 -0.797536194 0.499952108\nvn 0.503147006 -0.684849024 0.527091026\nvn 0.572139204 -0.589675188 0.57003516\nvn 0.724396944 -0.421221942 0.545729935\nvn 0.262442112 -0.904310405 0.33667016\nvn 0.053763017 -0.918837368 0.390957147\nvn 0.047597989 -0.930726767 0.362604916\nvn 0.283854097 -0.909392297 0.30402711\nvn -0.291156024 -0.874933124 0.386937052\nvn -0.279162079 -0.865621269 0.415654153\nvn -0.312174052 -0.845263183 0.433679104\nvn 0.154435992 -0.882972896 0.443292946\nvn 0.039916005 -0.879759133 0.473741055\nvn 0.452812076 -0.760275185 0.465771109\nvn 0.335497916 -0.830848813 0.44399488\nvn 0.35299778 -0.836505532 0.419107765\nvn 0.082011998 -0.916453004 0.391647995\nvn 0.089348987 -0.92551589 0.368017942\nvn 0.291763067 -0.911078215 0.291223049\nvn 0.054636993 -0.935602903 0.348800957\nvn -0.414703012 -0.836629987 0.357870996\nvn -0.282071143 -0.886138439 0.367688179\nvn 0.046670012 -0.907694221 0.417029083\nvn 0.468500823 -0.781073689 0.412832856\nvn 0.339480042 -0.845512092 0.412144065\nvn 0.097188957 -0.929038584 0.356989831\nvn 0.440725952 -0.641997933 0.627374947\nvn 0.528227866 -0.524433851 0.66779083\nvn 0.364133 -0.747008026 0.556225002\nvn 0.372207999 -0.794219017 0.480289012\nvn 0.366505027 -0.829300106 0.421824068\nvn -0.455054045 -0.730197072 0.509645045\nvn -0.70515734 -0.570453286 0.421113223\nvn -0.28145504 -0.820575118 0.497433066\nvn -0.201202065 -0.905313313 0.374066144\nvn -0.453971833 -0.815975726 0.357900888\nvn -0.265860975 -0.876120865 0.402156949\nvn -0.416811943 -0.860365868 0.29332298\nvn -0.159607068 -0.893343389 0.420075208\nvn -0.197878972 -0.966581881 0.162982985\nvn -0.188988909 -0.971896529 0.140357941\nvn -0.142315984 -0.987059891 0.073885992\nvn -0.211974069 -0.970410347 0.115632042\nvn -0.163920954 -0.977667749 0.131513968\nvn -0.108203024 -0.989723265 0.093488023\nvn 0.151196063 -0.762112319 0.629543245\nvn 0.000273 -0.82172668 0.569881797\nvn -0.276683003 -0.860028982 0.428714991\nvn -0.102881961 -0.838574708 0.534983814\nvn -0.212815002 -0.904080987 0.370604008\nvn -0.618362188 -0.785298288 0.030577011\nvn -0.572470009 -0.783675015 0.241105005\nvn -0.456883937 -0.815173924 0.356017947\nvn -0.122198015 -0.937238097 0.326577038\nvn -0.392197192 -0.909409404 0.138405055\nvn -0.404576153 -0.912209272 0.064749025\nvn -0.111739039 -0.952032387 0.284866124\nvn -0.644607008 -0.739683986 -0.193259999\nvn -0.655975103 -0.728203118 -0.198537067\nvn -0.44602105 -0.891102135 0.083679013\nvn -0.254264086 -0.909508288 0.32885313\nvn 0.28205508 -0.583056152 0.761899292\nvn 0.32547304 -0.566249073 0.757251143\nvn 0.283065975 -0.62578696 0.726817966\nvn 0.290486932 -0.577662885 0.76283884\nvn -0.021434 -0.898313999 0.438831002\nvn -0.027342003 -0.878961146 0.476109058\nvn -0.228193998 -0.957756996 0.175012007\nvn -0.209977001 -0.96303302 0.168752\nvn -0.215890929 -0.962761641 0.162730947\nvn -0.22826308 -0.958028376 0.173429057\nvn -0.221824005 -0.95758599 0.183910996\nvn -0.116535984 -0.956026852 0.269131958\nvn -0.422914237 -0.905694544 0.029344017\nvn -0.691954076 -0.657726049 -0.297651023\nvn -0.542877913 -0.839476883 -0.023708995\nvn -0.27363798 -0.897866905 0.344901979\nvn 0.300584018 -0.507905066 0.807268143\nvn 0.263942987 -0.580691993 0.770150006\nvn -0.007903999 -0.862123907 0.506635964\nvn -0.20786798 -0.963981867 0.165921971\nvn -0.216682896 -0.968690515 0.121190943\nvn -0.648129284 -0.736424387 0.193927094\nvn -0.663847029 -0.724618971 0.185026005\nvn -0.652399957 -0.756386876 0.047468994\nvn -0.638611257 -0.757800281 -0.133845046\nvn -0.658018231 -0.719613314 -0.221740082\nvn -0.65723002 -0.719114006 -0.225663006\nvn 0.246222064 -0.67614609 0.694407105\nvn 0.361314178 -0.630208313 0.687233269\nvn 0.107212998 -0.798281014 0.59266597\nvn 0.051229011 -0.819253206 0.571139097\nvn 0.057160992 -0.762167871 0.644850969\nvn -0.055839986 -0.985691786 0.159039959\nvn -0.126235053 -0.973342478 0.191492096\nvn -0.177348956 -0.959510744 0.218829945\nvn -0.197800085 -0.950419486 0.239954114\nvn -0.182479084 -0.952300489 0.244592115\nvn -0.531530082 0.200842023 0.822884142\nvn -0.550649643 0.210148886 0.80785054\nvn -0.412937909 0.095581979 0.905729771\nvn -0.391504228 0.068509035 0.917622566\nvn -0.492020309 0.286321193 0.822153449\nvn -0.432041794 0.202089906 0.878919601\nvn -0.202545032 -0.115834013 0.972398102\nvn -0.101414025 -0.199249044 0.974687219\nvn -0.038397994 -0.177901953 0.983298779\nvn 0.011716999 -0.273414969 0.961824894\nvn 0.181541041 -0.274777055 0.944214225\nvn -0.07844498 -0.365365922 0.92755276\nvn -0.096717045 -0.44289121 0.891343415\nvn -0.037759997 -0.329477966 0.943407893\nvn -0.12218 -0.418482989 0.899968982\nvn -0.317127973 -0.027191997 0.947992861\nvn 0.049759001 0.222662002 0.973625004\nvn 0.274447143 -0.196335122 0.941345513\nvn 0.620404243 0.250957102 0.743047237\nvn 0.020055993 -0.23940891 -0.970711648\nvn 0.006522001 -0.28559202 -0.958329141\nvn -0.053340025 -0.252420127 -0.966146469\nvn -0.055238999 -0.216872007 -0.974636018\nvn -0.032574993 -0.484854877 -0.873987794\nvn -0.124707043 -0.236100093 -0.96369338\nvn -0.114004016 -0.167653009 -0.979232132\nvn -0.141219005 0.287560999 -0.947293997\nvn -0.087365001 0.434556991 -0.896396995\nvn -0.060050987 0.683425903 -0.727545857\nvn -0.324923873 0.512316823 -0.794956684\nvn -0.015084998 0.356433928 -0.934198856\nvn 0.075605966 0.283626854 -0.955949545\nvn 0.162296981 0.332613975 -0.928992867\nvn 0.249979883 0.632470727 -0.733137667\nvn 0.303959012 0.877928972 -0.369931996\nvn -0.057508975 0.926745594 -0.371261835\nvn -0.556201994 0.76691097 -0.320136011\nvn -0.457376868 0.688782811 -0.562480867\nvn -0.425772935 0.579963923 -0.69452095\nvn -0.129859954 0.991043627 0.03112899\nvn -0.62175715 0.782652318 0.029557012\nvn 0.306726009 0.951391995 0.027796\nvn 0.169460982 0.8694309 0.464082927\nvn -0.187428951 0.866899848 0.46190387\nvn -0.633767724 0.662498713 0.399291813\nvn -0.238564998 0.546231985 0.802942991\nvn -0.558162987 0.456263006 0.693020999\nvn 0.014435005 0.62998724 0.776471317\nvn -0.177958086 0.197321087 0.964051485\nvn -0.23805809 0.133795038 0.96199137\nvn -0.232107937 -0.330879897 0.914682746\nvn -0.35218206 -0.263623029 0.898037136\nvn -0.385004878 -0.435866863 0.813505709\nvn -0.236552909 -0.523602843 0.818463683\nvn -0.198263928 -0.398389846 0.895531714\nvn -0.100786015 -0.566936076 0.81757313\nvn -0.315796077 -0.239241064 0.918170214\nvn -0.273218989 -0.198607996 0.941226006\nvn -0.266467035 -0.769077122 0.580961049\nvn -0.268375933 -0.498835891 0.824097812\nvn -0.138884977 -0.840938807 0.523003876\nvn -0.243425027 -0.731783032 0.63658303\nvn -0.187796995 -0.49555099 0.848034024\nvn -0.118687987 -0.690234959 0.713784933\nvn -0.327877015 -0.470474005 0.819238007\nvn -0.137713984 -0.351050973 0.926173866\nvn -0.108648069 -0.167368099 -0.979889572\nvn -0.2611821 -0.541962206 -0.798787296\nvn -0.059194993 -0.136035979 -0.988933861\nvn 0.041519985 0.06903898 -0.99674964\nvn 0.334505111 0.599265218 -0.727315307\nvn 0.205813125 0.428320259 -0.879876554\nvn 0.317475915 0.882543743 -0.3468799\nvn 0.4162561 0.827550173 -0.376685083\nvn 0.402458996 0.914838016 0.033140998\nvn 0.225630999 0.886211991 0.404621989\nvn 0.274236083 0.82335031 0.49687919\nvn 0.124294974 0.633802831 0.763442814\nvn -0.199203983 0.247249976 0.94825387\nvn 0.136699051 0.603175223 0.785807312\nvn 0.107211001 0.568844974 0.815427005\nvn -0.426762909 -0.29122293 0.856190801\nvn -0.36583209 -0.161835045 0.916502237\nvn -0.367661268 -0.165517122 0.915111661\nvn -0.442716986 -0.295071006 0.84671998\nvn -0.510448277 -0.555791378 0.656154394\nvn -0.485147178 -0.358555108 0.797540307\nvn -0.509621859 -0.365315914 0.778992832\nvn -0.660627067 -0.737653077 -0.139427021\nvn -0.726589739 -0.666505754 -0.166845948\nvn -0.709029257 -0.681016266 0.183015063\nvn -0.700779974 -0.700725019 0.133761004\nvn -0.677153945 -0.733547926 -0.058051992\nvn -0.729487121 -0.679262102 0.080322012\nvn -0.703126967 -0.706669927 -0.078931995\nvn -0.694852114 -0.707534134 0.128748029\nvn -0.777328134 -0.604611039 0.173800021\nvn -0.563499749 -0.378766805 0.734168708\nvn -0.73359406 -0.673168063 -0.093191005\nvn -0.333634079 -0.131633028 0.933467209\nvn -0.664428949 -0.604689956 0.439185947\nvn -0.650921166 -0.480410129 0.587799132\nvn -0.279445976 -0.320539981 -0.905076861\nvn -0.471525997 -0.549709022 -0.689553022\nvn -0.358991981 -0.427755952 -0.829547882\nvn -0.166481063 -0.227576077 -0.959423363\nvn -0.420573145 -0.453284144 -0.785908282\nvn -0.436352015 -0.453390986 -0.77719599\nvn -0.378214091 -0.43861711 -0.815211177\nvn -0.517791033 -0.602510035 -0.607350051\nvn -0.557457149 -0.680404246 -0.475701183\nvn -0.498178989 -0.612290025 -0.61393702\nvn -0.3825939 -0.323016912 -0.865610838\nvn -0.596017182 -0.623540163 -0.505926132\nvn -0.357993096 -0.418140084 -0.834865153\nvn -0.525588751 -0.546554744 -0.651946723\nvn -0.64783901 -0.602461994 -0.466201991\nvn -0.359182984 -0.415684938 -0.835579872\nvn -0.453845859 -0.827492714 0.33057487\nvn -0.165508926 -0.238493875 -0.956936538\nvn -0.067007966 -0.950882375 -0.302212834\nvn -0.012930007 -0.147091076 -0.989038467\nvn -0.076649047 -0.070147045 -0.9945876\nvn -0.018037995 0.814777672 -0.579492807\nvn -0.550244153 0.810379326 -0.201288074\nvn -0.085442975 0.959787786 0.267407954\nvn -0.280461073 0.125321031 0.951649249\nvn -0.279430926 -0.29902193 0.912416756\nvn 0.350839823 -0.914725602 0.200470909\nvn -0.241656095 -0.938098371 0.248141095\nvn -0.043994009 -0.99828124 -0.038718008\nvn -0.115911998 -0.982038975 -0.148875996\nvn -0.123579063 -0.991933465 -0.028220013\nvn -0.184955955 -0.876789749 -0.443881869\nvn -0.075828969 -0.937317669 -0.340125889\nvn -0.102000959 -0.967023671 -0.233368903\nvn -0.099503018 -0.96927911 -0.224938035\nvn 0.993897259 -0.029682007 -0.106242023\nvn -0.785929203 0.020575006 -0.617974102\nvn 0.162938058 -0.000084 -0.986636341\nvn -0.923622906 0.292740971 0.247433975\nvn -0.332759887 -0.212367922 0.918787658\nvn 0.669440925 -0.508313954 0.54172492\nvn 0.16407606 0.15902406 -0.973545372\nvn 0.350718111 0.882762313 -0.312614113\nvn -0.356796116 -0.827198327 -0.434096158\nvn -0.821833372 -0.555677295 0.125748053\nvn 0.10684105 -0.064567029 0.992177486\nvn 0.777978301 0.361947119 0.513560176\nvn -0.014808995 -0.171443939 -0.985082626\nvn 0.198603913 -0.873306572 0.444850802\nvn 0.95212698 0.275916994 -0.131621003\nvn 0.026912 0.894227028 0.446803987\nvn -0.543087244 0.440627217 -0.714775383\nvn -0.438782156 0.397153139 -0.806064308\nvn -0.557088852 0.403430909 -0.725875795\nvn -0.511630952 0.392665952 -0.764229894\nvn -0.280043066 0.280098051 -0.918216228\nvn -0.071232982 0.139647976 -0.987635791\nvn -0.142330021 0.190150008 -0.971383095\nvn -0.806239188 0.44532913 0.389436096\nvn -0.800672352 0.492582232 0.341008157\nvn -0.642649174 0.302054048 0.704106152\nvn -0.615836143 0.28354907 0.73508215\nvn -0.613526285 0.501664221 -0.609851301\nvn -0.671752691 0.435506791 -0.5992347\nvn -0.777290881 0.566361964 -0.273957968\nvn -0.83135283 0.497367889 -0.247946948\nvn -0.826853693 0.561975837 0.022278991\nvn -0.865032971 0.499608994 0.045922\nvn -0.042311981 0.006772997 -0.999081552\nvn 0.011104004 -0.172823057 -0.984890342\nvn 0.081973016 -0.126755014 -0.988541126\nvn 0.073883027 -0.078211032 -0.994195342\nvn 0.337903053 -0.218066022 -0.91557014\nvn -0.051893994 0.08644899 -0.994903862\nvn 0.032432001 -0.172867998 -0.984411001\nvn 0.071376041 -0.201868087 -0.976808488\nvn 0.078493021 -0.155216023 -0.984757245\nvn 0.943289459 0.089368045 -0.319716156\nvn 0.761729956 0.125675991 -0.635588884\nvn 0.722725153 0.394392103 -0.567559123\nvn 0.544075966 0.27015397 -0.794353902\nvn 0.407380015 0.327369988 -0.852567017\nvn 0.11412596 0.84775573 -0.517962813\nvn -0.351590037 0.48181805 -0.80264312\nvn 0.31980902 -0.102420017 -0.941930115\nvn -0.082104981 -0.096438974 -0.991946757\nvn -0.594758928 0.347037971 -0.725138962\nvn -0.321617901 -0.104909979 -0.941039741\nvn -0.054669999 -0.448926002 -0.891894996\nvn -0.367197037 -0.544573069 -0.75406009\nvn 0.309227973 -0.547291934 -0.777720928\nvn 0.043840013 -0.750349283 -0.659586251\nvn -0.122248031 -0.798520207 -0.589424193\nvn 0.102489017 -0.911097109 -0.39924705\nvn 0.681497037 -0.413214058 -0.604000032\nvn 0.350423962 -0.934616864 -0.060781993\nvn 0.480036229 -0.742169321 -0.467707247\nvn -0.501773775 0.676271677 0.539332747\nvn 0.774313688 -0.395408839 -0.494054824\nvn 0.530504942 -0.453169942 -0.716380954\nvn 0.883480906 -0.433711946 0.177074984\nvn 0.539332032 -0.523809075 -0.659352064\nvn 0.584332049 -0.445616066 -0.678220034\nvn 0.552624881 -0.468730867 -0.689127803\nvn 0.896892905 -0.381015927 0.224521965\nvn 0.709963024 -0.681547999 -0.177327007\nvn 0.480857015 -0.876798987 -0.000146\nvn 0.818866909 -0.57257092 -0.040243994\nvn 0.054471966 -0.684779584 0.726711571\nvn 0.793328881 -0.451787949 -0.408064932\nvn 0.957701027 0.005697 0.287708998\nvn 0.742932439 0.522094309 0.418890238\nvn 0.979657471 -0.040241018 -0.196601093\nvn 0.728157878 -0.630819857 -0.268052936\nvn 0.636448801 -0.436081916 -0.636211812\nvn 0.928949356 -0.306503117 -0.207627073\nvn 0.917985737 -0.134661973 -0.373052925\nvn 0.907142878 -0.410026938 -0.094708987\nvn 0.881884575 -0.133647934 -0.452125788\nvn 0.221809939 0.000548 -0.975089788\nvn 0.467897832 -0.011728995 -0.883704722\nvn 0.14048399 0.252584964 -0.957321882\nvn 0.015989995 0.07423497 -0.997112632\nvn -0.313533992 0.251019001 -0.915798008\nvn 0.995825112 -0.087824009 -0.024888003\nvn 0.516922832 -0.002018999 0.856029689\nvn 0.252846062 -0.719549119 0.646775126\nvn -0.070895992 -0.371193975 0.925844908\nvn 0.884047985 -0.449057013 0.129641995\nvn 0.838642001 -0.487760991 -0.242422998\nvn 0.470546067 0.078259014 -0.878898144\nvn 0.716464818 -0.673426807 -0.18213895\nvn 0.414974988 -0.681699991 -0.60256201\nvn 0.548903167 -0.831670284 -0.083844028\nvn 0.231062055 -0.916224241 -0.327328056\nvn 0.184703022 -0.970664144 0.153935015\nvn 0.855718017 -0.454005003 0.248245999\nvn -0.141123921 -0.922273576 0.359854817\nvn 0.115718015 -0.832616091 0.541627049\nvn 0.168698996 -0.710443974 0.68323499\nvn -0.083032034 -0.406358212 0.909933388\nvn 0.381954104 -0.414033085 0.826249182\nvn -0.496587932 0.354750961 0.792181909\nvn 0.457563877 0.809345841 -0.368231922\nvn 0.757901251 -0.49883619 0.42041415\nvn 0.571613789 -0.677440703 0.462959766\nvn 0.568738878 -0.653007805 0.500116885\nvn 0.292043149 -0.847932398 0.442404211\nvn 0.604008079 -0.626590073 0.492503047\nvn 0.51496619 -0.788391292 0.336525112\nvn 0.874491572 0.011314995 0.48490876\nvn 0.949562252 -0.212999046 0.230137065\nvn 0.45769611 -0.294566065 0.838895202\nvn 0.557589114 0.074790016 0.826741159\nvn 0.758770287 -0.166346058 0.629759252\nvn 0.927957356 0.007539003 0.372610122\nvn 0.572652996 -0.672770023 0.468454003\nvn 0.50968498 0.40941301 -0.756704986\nvn 0.595676959 0.421156943 -0.683955967\nvn 0.451363146 -0.276957095 -0.848272324\nvn 0.228116944 -0.446036875 -0.865455806\nvn -0.04790999 -0.801001847 -0.596741855\nvn 0.038863 -0.970557988 -0.237711996\nvn -0.047632985 -0.946183622 -0.32010588\nvn 0.466346949 -0.823861897 -0.322136968\nvn -0.024111005 -0.85989213 0.509906054\nvn 0.579044044 -0.80429709 0.133470014\nvn 0.623854876 -0.580186903 -0.523629904\nvn 0.60272795 -0.61470896 -0.508774936\nvn 0.61577183 -0.58659482 -0.526052833\nvn 0.855792165 -0.167483047 -0.489458114\nvn 0.590734482 -0.635642529 -0.496982425\nvn 0.756962121 -0.639564037 0.134038016\nvn 0.923515975 -0.354369998 -0.146766007\nvn 0.878534853 -0.304761976 0.367826968\nvn 0.991626024 0.017028 -0.128014997\nvn 0.418406218 -0.866342425 -0.272740126\nvn 0.721870363 -0.692002356 0.006002003\nvn 0.354354084 -0.067552015 0.932668209\nvn 0.737480283 -0.265979081 0.620788217\nvn -0.715968072 -0.183322012 0.673634052\nvn 0.399642289 -0.574066401 0.714656532\nvn 0.254619092 -0.869507313 0.423233151\nvn 0.321230143 -0.931750417 0.169270068\nvn 0.728637099 -0.671620131 -0.134218037\nvn 0.32715413 -0.942863345 -0.063079022\nvn 0.273440063 -0.655367136 -0.704077125\nvn 0.210858956 -0.911601782 -0.352874905\nvn 0.902538896 -0.405512959 0.144854978\nvn 0.910678744 -0.292455941 -0.291776955\nvn 0.56734401 -0.707453012 0.421463013\nvn 0.614721 -0.717104018 0.328451008\nvn 0.617007434 -0.647769451 0.446874321\nvn 0.561888337 -0.721530437 0.404568225\nvn 0.456313074 -0.886421144 0.07769201\nvn -0.149489939 -0.98866564 0.013892995\nvn -0.041117996 -0.993130863 0.109546982\nvn -0.165171951 -0.972655773 0.163275957\nvn -0.092321046 -0.992679477 0.077874035\nvn 0.137558982 -0.976379871 -0.166612983\nvn 0.461196989 -0.848444998 0.259689003\nvn 0.067036018 -0.909457266 0.410358101\nvn -0.068503983 0.371149898 0.926042736\nvn -0.22241807 -0.942649364 -0.248882085\nvn 0.04045501 -0.762060165 -0.646241188\nvn -0.064244024 -0.961419344 -0.267480075\nvn -0.111642987 -0.976054907 0.186688989\nvn 0.300127983 -0.948922873 -0.097306982\nvn 0.146196052 -0.972845376 -0.179440066\nvn 0.197857037 -0.603670061 -0.772292137\nvn 0.10314399 0.354389936 -0.929391861\nvn 0.659689009 -0.29974699 -0.68917501\nvn -0.296802908 -0.514013886 -0.804796815\nvn -0.019584993 -0.154506937 -0.987797618\nvn -0.037707981 -0.887034595 -0.460160792\nvn -0.241547912 -0.967071652 -0.08016897\nvn 0.002158 -0.94945699 0.31389001\nvn 0.22569792 -0.903535724 -0.364257872\nvn 0.628966093 -0.711125135 -0.314170063\nvn -0.07932701 -0.884954095 -0.45887205\nvn -0.110335015 -0.900172114 -0.421327055\nvn -0.356387109 -0.773530304 -0.52406019\nvn -0.12387006 -0.451188207 -0.883790433\nvn -0.093962967 -0.318528891 -0.943244636\nvn -0.020152997 -0.932439864 -0.360762984\nvn -0.170334995 -0.953844011 -0.247320995\nvn 0.197238028 -0.955284119 -0.220294029\nvn 0.186819971 -0.749633908 -0.634938896\nvn -0.17444694 -0.902591705 -0.393568844\nvn -0.199698001 -0.963753998 -0.176915005\nvn -0.686902821 -0.675445795 0.268211931\nvn -0.22388193 -0.974083662 -0.03221599\nvn 0.076462016 -0.942460239 0.325457096\nvn 0.190535039 -0.97888422 -0.074041016\nvn -0.168873057 -0.982039332 0.08414603\nvn -0.183497012 -0.983003139 0.005803001\nvn 0.188766032 -0.944196105 0.269928038\nvn -0.043438986 -0.996933639 -0.065086976\nvn -0.469155192 -0.878123283 0.09377104\nvn -0.182522938 -0.981998622 -0.048621982\nvn 0.045534 -0.973461986 0.224272996\nvn -0.122888982 -0.964413881 -0.234102964\nvn -0.165867046 -0.873469174 -0.457755119\nvn -0.104727 -0.166012004 -0.980547011\nvn -0.143067092 -0.455394268 -0.878719509\nvn 0.14645794 -0.795467675 -0.588031769\nvn -0.029579004 -0.94472909 -0.326515019\nvn -0.123703972 -0.953380764 -0.275249928\nvn 0.107233964 -0.093530968 -0.989824653\nvn -0.022967 -0.977864027 -0.207976997\nvn 0.055116992 -0.002034 -0.998477876\nvn 0.063643023 -0.052109018 -0.996611357\nvn 0.104947023 0.024204006 -0.994183242\nvn 0.022738 -0.145451993 -0.989103973\nvn -0.005895 -0.035592001 -0.999348998\nvn -0.027870007 -0.039032008 -0.998849213\nvn -0.295215011 -0.951537013 -0.086171001\nvn -0.11228504 -0.992553353 0.04722302\nvn -0.22904107 -0.970912337 0.06978102\nvn -0.166372046 -0.819610178 0.548233092\nvn -0.130482018 -0.840637147 -0.525646031\nvn -0.064239018 -0.734819174 -0.675214171\nvn -0.058429986 -0.950673759 -0.304639906\nvn -0.251111031 -0.965542138 0.068349004\nvn -0.078618981 -0.996142745 -0.038971994\nvn -0.305537879 -0.842824697 0.443049848\nvn -0.572113097 -0.808487177 0.137968034\nvn -0.560527205 -0.817079306 -0.134873047\nvn -0.360929221 -0.73081243 -0.579347372\nvn -0.009129002 -0.909233212 -0.416187078\nvn -0.365451872 -0.914400697 -0.174115941\nvn -0.677344799 -0.735628843 -0.007372998\nvn -0.700630069 -0.579492033 0.416301072\nvn -0.652465284 -0.700356364 -0.289465159\nvn -0.581623018 -0.673929989 -0.455558002\nvn -0.483247936 -0.531299949 -0.695838928\nvn -0.67089802 -0.682999015 0.288805008\nvn -0.660109818 -0.726069808 -0.192555949\nvn -0.738779604 -0.670440555 0.068659961\nvn -0.652881682 -0.639628708 -0.405734807\nvn -0.498797894 -0.557359874 -0.66373986\nvn -0.738199949 -0.65357393 -0.167038992\nvn -0.702249825 -0.630260825 -0.331083924\nvn -0.493142933 -0.537317932 -0.684177935\nvn -0.69355911 -0.71848011 0.052556004\nvn -0.64347589 -0.731606901 -0.225144967\nvn -0.683450341 -0.686190367 -0.249075115\nvn -0.728392303 -0.674684286 -0.119356059\nvn -0.648029804 -0.606718898 -0.460379869\nvn -0.69744283 -0.674278796 -0.242737934\nvn -0.654149771 -0.68734175 -0.315672874\nvn 0.015521997 -0.441581875 -0.89708674\nvn 0.025035005 -0.196819052 -0.980120242\nvn 0.039306983 -0.219240919 -0.974878669\nvn 0.02679901 -0.081313029 -0.996328354\nvn -0.778431058 0.600249052 -0.183701023\nvn -0.779683292 0.616669238 0.108688034\nvn -0.713808 0.515820026 0.473717004\nvn -0.493450105 0.315247089 0.810633183\nvn -0.359666109 0.179181054 0.915715277\nvn -0.315180033 0.224155024 0.922180116\nvn -0.05189202 0.220059082 0.974105358\nvn 0.118226029 -0.074338011 0.990200222\nvn 0.22515808 -0.205267072 0.952454329\nvn 0.152953997 -0.106904998 0.982433975\nvn 0.377582878 -0.299259871 0.876284719\nvn 0.453278124 -0.456265122 0.765742183\nvn 0.601265013 -0.641957998 0.475784004\nvn 0.856145859 -0.512672961 0.064657994\nvn 0.721904933 -0.652323961 -0.230925977\nvn 0.701856315 -0.478906184 -0.527301192\nvn 0.51613909 -0.429386079 -0.741099179\nvn 0.295500934 -0.332670897 -0.895549774\nvn 0.205723956 -0.022658994 -0.978347778\nvn 0.125695959 0.063947976 -0.990005672\nvn -0.165950939 0.353241891 -0.920695662\nvn -0.433248997 0.484248012 -0.760131001\nvn -0.496462882 0.505833864 -0.705447853\nvn -0.657148957 0.492041945 -0.571007967\nvn -0.809166849 0.173520952 0.561372876\nvn -0.850581884 0.13845399 0.50728792\nvn -0.766582072 0.009008001 0.642083108\nvn -0.731960475 0.012000007 0.681241393\nvn -0.813120127 0.206699029 0.544161081\nvn -0.778988719 0.121859953 0.615082741\nvn -0.595074356 -0.209436119 0.775901496\nvn -0.496200114 -0.309759051 0.811070204\nvn -0.431986272 -0.279837191 0.857367516\nvn -0.370653838 -0.389563888 0.843122721\nvn -0.220039129 -0.380007237 0.898430526\nvn -0.456315875 -0.450194895 0.767528832\nvn -0.440462202 -0.530128241 0.72453934\nvn -0.371001869 -0.472214818 0.799606681\nvn -0.42829901 -0.524205983 0.736048996\nvn -0.652332067 -0.146145016 0.743710041\nvn -0.308041126 0.091917031 0.946922362\nvn -0.100847021 -0.347650081 0.932185233\nvn 0.242053121 -0.157554075 0.95738548\nvn 0.428791136 -0.159487054 -0.889214277\nvn 0.409814268 -0.217730135 -0.885802507\nvn 0.360223085 -0.145362034 -0.921471238\nvn 0.362061977 -0.135705978 -0.922222853\nvn 0.425001949 -0.347942978 -0.835648894\nvn 0.283356905 -0.5134148 -0.810008705\nvn 0.28590399 -0.128547996 -0.949597001\nvn 0.289757103 -0.101918034 -0.951658368\nvn 0.370414883 -0.001796999 -0.928864658\nvn 0.253055006 0.349909991 -0.901956975\nvn 0.28285405 0.506307125 -0.814645171\nvn 0.233507067 0.74012512 -0.630626142\nvn 0.012516998 0.567665935 -0.823163867\nvn 0.370883912 0.431905925 -0.822132826\nvn 0.463646799 0.359501809 -0.809808671\nvn 0.529046059 0.402031064 -0.747316062\nvn 0.522454798 0.685749769 -0.506742835\nvn 0.41504097 0.899649858 -0.135540992\nvn 0.083518028 0.954639375 -0.28581208\nvn -0.403205186 0.784913361 -0.47046423\nvn -0.209272996 0.728542984 -0.652249992\nvn -0.124708988 0.625903964 -0.769864857\nvn -0.152824998 0.98684603 0.052722\nvn -0.607829094 0.773090184 -0.181316048\nvn 0.249771029 0.940255105 0.231376037\nvn -0.055994999 0.825345993 0.561843991\nvn -0.383166045 0.828378141 0.408624053\nvn -0.772196114 0.620692074 0.135848016\nvn -0.567762017 0.480491012 0.66841203\nvn -0.821140826 0.391784906 0.415008903\nvn -0.323202044 0.563967049 0.759922147\nvn -0.568626344 0.120930076 0.813658476\nvn -0.623973966 0.060044993 0.77913487\nvn -0.588576913 -0.403390944 0.700608969\nvn -0.690906465 -0.32986024 0.643304408\nvn -0.680123091 -0.492532134 0.542996109\nvn -0.548368812 -0.584501803 0.598037839\nvn -0.556460083 -0.473081052 0.683042049\nvn -0.437082946 -0.582887948 0.684981942\nvn -0.670659959 -0.35420996 0.651728928\nvn -0.705297172 -0.358479083 0.611595154\nvn -0.616759121 -0.377724081 0.690603197\nvn -0.503486097 -0.617164135 0.604657114\nvn -0.354082882 -0.835407674 0.420379847\nvn -0.437344104 -0.796736181 0.417063087\nvn -0.442112893 -0.030850993 0.896428764\nvn -0.411654174 -0.866132438 0.283470154\nvn -0.623804986 -0.278055012 0.730446994\nvn -0.389012992 -0.390011013 0.834601998\nvn 0.316754907 -0.090001978 -0.944227755\nvn 0.421463072 0.09180101 -0.902187109\nvn 0.177044913 -0.307335854 -0.934986591\nvn 0.367857099 -0.041017011 -0.928977251\nvn 0.597329378 0.641653359 -0.481122285\nvn 0.53477782 0.426111847 -0.729685783\nvn 0.417651772 0.902278483 -0.107053936\nvn 0.520742059 0.847981095 -0.098772012\nvn 0.33511892 0.901670754 0.273285955\nvn 0.020478999 0.846397996 0.532157004\nvn 0.026245 0.774859011 0.631588995\nvn -0.217679098 0.567121327 0.794348359\nvn -0.570443988 0.188335001 0.799452007\nvn -0.215961948 0.533659875 0.817659795\nvn -0.254472077 0.49757719 0.829253316\nvn -0.740550697 -0.352245837 0.572282791\nvn -0.712784767 -0.229600906 0.662737787\nvn -0.713798165 -0.233121052 0.660414159\nvn -0.745513201 -0.342169076 0.571953118\nvn -0.716889262 -0.60655123 0.343752116\nvn -0.76054728 -0.408675134 0.504532158\nvn -0.779387534 -0.43776533 0.44823733\nvn -0.190670952 -0.724788845 -0.66206181\nvn -0.668325722 -0.639423728 -0.380102813\nvn -0.721599162 -0.678309202 -0.138533026\nvn -0.641873121 -0.693937123 -0.326267064\nvn -0.717094302 -0.618405223 -0.321482122\nvn -0.642853916 -0.716105938 -0.271902978\nvn -0.711734354 -0.677751303 -0.184628084\nvn -0.531224847 -0.038367987 0.846361697\nvn -0.623746693 -0.672617674 -0.398152828\nvn -0.738283813 -0.662609816 -0.126036972\nvn -0.812488019 -0.445455998 0.376075\nvn -0.742552578 -0.669003606 -0.032403983\nvn 0.125890061 -0.24577412 -0.961117506\nvn -0.198850915 -0.507086754 -0.838642597\nvn 0.115645953 -0.318054885 -0.940992653\nvn 0.363505006 -0.030525999 -0.931092024\nvn -0.111764982 -0.416334927 -0.902315855\nvn 0.173827961 -0.20668295 -0.962842762\nvn -0.292042166 -0.502285302 -0.813892484\nvn 0.055992 -0.331295997 -0.941864014\nvn -0.366670012 -0.589949012 -0.719384015\nvn -0.380234241 -0.607164383 -0.697691441\nvn -0.229908004 -0.593549013 -0.771260023\nvn -0.305453151 -0.616410315 -0.725766361\nvn 0.413482845 0.134789959 -0.900479674\nvn -0.464120895 -0.589629829 -0.661005795\nvn -0.032753002 -0.393404067 -0.918782115\nvn -0.37856397 -0.591374934 -0.712014854\nvn 0.007508998 0.372083902 0.928168774\nvn -0.394371182 -0.910405397 0.125034064\nvn 0.177764907 -0.233654901 -0.955931544\nvn 0.022968007 0.615794182 -0.787572324\nvn 0.322317153 0.727212369 -0.606031299\nvn 0.336407006 -0.352631003 -0.873202026\nvn -0.208259076 0.947160363 0.243958086\nvn -0.785709679 0.561027825 0.260591924\nvn -0.642042816 -0.465205878 0.609396875\nvn 0.156416997 -0.937959015 0.309462011\nvn -0.230463058 -0.968939245 -0.089686021\nvn 0.14297995 -0.905525684 -0.399474859\nvn 0.038787995 -0.944198906 -0.327083975\nvn 0.003412002 -0.970185459 -0.242340118\nvn 0.043333989 -0.934344769 -0.35372591\nvn 0.908053577 -0.416355789 -0.045677982\nvn -0.572903931 0.479487926 -0.6647349\nvn 0.94899863 -0.023874991 0.314374894\nvn -0.543134928 -0.043921996 -0.83849591\nvn -0.960601866 -0.107491992 0.256299973\nvn -0.243890122 -0.406350195 0.880566418\nvn 0.248388067 -0.017297003 -0.968506217\nvn 0.230791003 -0.055957001 -0.971392989\nvn -0.438611865 -0.897411704 0.04766598\nvn -0.770581365 -0.477537245 0.422093213\nvn 0.245311975 0.781662881 0.573432922\nvn 0.721169174 0.437199086 0.537375093\nvn 0.141032964 0.914872766 -0.378308922\nvn 0.301066071 -0.790955186 -0.532681108\nvn 0.912665129 0.270838022 0.306087017\nvn -0.230094939 0.004052999 0.97315979\nvn -0.222426996 0.478866011 -0.849242985\nvn -0.084259003 0.441897005 -0.893100023\nvn -0.216117069 0.446622163 -0.86822927\nvn -0.149936944 0.442626864 -0.884081721\nvn 0.106041975 0.349918902 -0.930758774\nvn 0.308429927 0.200369954 -0.929904759\nvn 0.259549975 0.238433972 -0.935832858\nvn -0.890037 0.445814013 0.095311001\nvn -0.89015156 0.455661803 0.001580999\nvn -0.893117785 0.233839944 0.384264916\nvn -0.847660184 0.257712066 0.463742107\nvn -0.33235997 0.530837953 -0.779581904\nvn -0.38412708 0.467408121 -0.796226203\nvn -0.619228303 0.570298314 -0.539737225\nvn -0.678443015 0.523499012 -0.51542598\nvn -0.786927462 0.545716286 -0.287991166\nvn -0.815121412 0.519024253 -0.257276118\nvn 0.410320997 0.034483999 -0.911288977\nvn 0.437924951 -0.10505899 -0.892851889\nvn 0.494714111 -0.054597013 -0.867339194\nvn 0.502978265 -0.033916015 -0.863633394\nvn 0.686675429 -0.153893083 -0.710488439\nvn 0.387070864 0.185206935 -0.903257728\nvn 0.401742995 -0.044534001 -0.914668977\nvn 0.477618068 -0.124041013 -0.869767129\nvn 0.486907184 -0.089674033 -0.86883831\nvn 0.951527119 0.110794015 0.286916018\nvn 0.977721334 0.007006002 -0.209790081\nvn 0.944819212 0.05433901 -0.323054075\nvn 0.8365376 0.2285759 -0.497953773\nvn 0.739851892 0.327077955 -0.587910891\nvn 0.325478911 0.87711674 -0.353170902\nvn 0.019621007 0.527579188 -0.849279284\nvn 0.69224596 -0.029094996 -0.721074939\nvn 0.328878969 -0.018903999 -0.944182873\nvn -0.269471079 0.428183138 -0.862580299\nvn 0.109876975 -0.035815991 -0.993299782\nvn 0.332091987 -0.373171002 -0.866289973\nvn -0.004472003 -0.463905275 -0.885873556\nvn 0.652478933 -0.471370935 -0.593363941\nvn 0.354449064 -0.687822104 -0.633456111\nvn 0.147942066 -0.756352305 -0.63721621\nvn 0.278390974 -0.876600862 -0.392516971\nvn 0.880737126 -0.370499045 -0.29501304\nvn 0.356433213 -0.934312522 -0.003950002\nvn 0.667903721 -0.684075713 -0.293163866\nvn -0.341307104 0.552349091 0.760539174\nvn 0.79772383 -0.409145921 -0.442985922\nvn 0.398672104 -0.541341126 -0.740277171\nvn 0.648077369 -0.435082257 -0.625059366\nvn 0.580765188 0.361926109 0.729192257\nvn 0.906891406 -0.404092193 -0.119405061\nvn 0.815311313 -0.387772113 -0.430000156\nvn 0.797736704 -0.457623839 -0.392678857\nvn 0.854032278 -0.414029151 -0.314974129\nvn 0.753786981 -0.609023988 0.246768996\nvn -0.270584017 -0.732646048 0.624511063\nvn 0.479559004 -0.871765018 0.100244001\nvn 0.741129458 -0.669896424 0.044339031\nvn 0.732257247 -0.417396158 0.538126171\nvn 0.915666103 -0.392705053 -0.08566501\nvn 0.757433712 -0.036343988 0.651899755\nvn 0.993925095 -0.104513004 0.034495004\nvn 0.761860132 -0.646721065 0.036347006\nvn 0.860973835 -0.382627904 -0.335141897\nvn 0.87124598 -0.469451994 0.143336996\nvn 0.981382787 -0.18926096 0.032684993\nvn 0.884021759 -0.461855888 0.072073989\nvn 0.936567783 -0.31605792 -0.151486963\nvn 0.568362713 -0.049187977 -0.821306646\nvn 0.71049118 -0.15941304 -0.685412169\nvn 0.549151123 0.177176043 -0.816726208\nvn 0.461915106 0.04690101 -0.885683239\nvn 0.129745007 0.272527009 -0.953360021\nvn 0.877619445 -0.301634163 0.372560173\nvn -0.023945011 -0.001337001 0.999712467\nvn -0.018758003 -0.796047091 0.60494405\nvn -0.446459889 -0.458629876 0.768330812\nvn 0.897691429 -0.437021196 0.056239028\nvn 0.760201871 -0.452805936 0.465896934\nvn 0.732471824 -0.677620828 0.065688983\nvn 0.510042131 -0.813697159 0.278844059\nvn 0.567305028 -0.685675979 -0.456084996\nvn 0.337866813 -0.921403468 0.191993877\nvn 0.322564065 -0.929979265 -0.176327035\nvn 0.234653935 -0.903357744 0.359001905\nvn 0.489756107 -0.727914095 0.479875118\nvn -0.051582001 -0.928986013 0.366503\nvn -0.279376 -0.931429029 0.233215004\nvn -0.084439024 -0.854254186 0.512952149\nvn -0.126610026 -0.763286173 0.63353318\nvn -0.52151984 -0.428990841 0.737552762\nvn -0.773600638 0.303987861 0.555997789\nvn -0.205353051 -0.3448641 0.915914237\nvn 0.337529153 -0.681942284 0.648867309\nvn 0.230707899 -0.67972672 0.69623667\nvn 0.346613139 -0.728539288 0.590838253\nvn 0.900928974 0.053098001 0.430705994\nvn 0.595675111 -0.46937713 0.65181011\nvn 0.324097902 -0.706412792 0.629238844\nvn 0.326130867 -0.729250789 0.60152477\nvn -0.03149401 -0.130778044 0.990911365\nvn 0.758117795 -0.253783941 0.600708902\nvn 0.602335989 -0.27739799 0.748493016\nvn 0.346904188 0.170091078 0.92234844\nvn 0.245426029 -0.280563027 0.92792809\nvn 0.20630011 -0.551315248 0.808388352\nvn 0.586210072 -0.187640026 0.788130105\nvn 0.739080191 -0.66252315 -0.121752031\nvn 0.799202204 0.413210094 -0.436501086\nvn 0.851792276 -0.001265 -0.523878157\nvn 0.655155838 -0.296160936 -0.695024848\nvn 0.201830998 -0.393693 -0.896811008\nvn 0.500962079 -0.713104069 -0.49042806\nvn 0.439833879 -0.871840835 -0.215498954\nvn 0.213658974 -0.954033852 -0.210164964\nvn -0.226318896 -0.907666564 0.353441864\nvn 0.615067005 -0.786538005 -0.055232\nvn 0.251491994 -0.77383697 0.581315994\nvn 0.794340134 -0.558131039 -0.239820033\nvn 0.75664562 -0.599977732 -0.259834886\nvn 0.778314173 -0.595215142 -0.199865043\nvn 0.77329284 -0.585015833 -0.24448894\nvn 0.99062109 -0.073822007 -0.114979014\nvn 0.895285785 -0.428878903 0.120524973\nvn 0.636767209 -0.345383078 0.689375162\nvn 0.640158236 -0.632053256 0.436699152\nvn 0.957692981 0.007436 0.287696004\nvn 0.496466368 -0.861243606 -0.108539075\nvn 0.669699788 -0.693933785 0.264495909\nvn -0.378365993 -0.051739998 0.924208999\nvn 0.355043799 -0.207784861 0.911465466\nvn -0.376177102 -0.836668193 0.398092091\nvn 0.229208097 -0.971837461 -0.054733027\nvn 0.150539055 -0.923470378 0.352903128\nvn 0.369700998 -0.921561003 -0.118518002\nvn 0.734218121 -0.675148129 0.071406014\nvn 0.511995256 -0.680149317 -0.524650216\nvn 0.410657138 -0.704405248 0.57894218\nvn 0.365789086 -0.751279175 0.549343109\nvn 0.352793932 -0.744192898 0.567197859\nvn -0.224689931 -0.522986829 0.822191715\nvn 0.652068973 -0.332305014 0.681454003\nvn 0.738612294 -0.541731179 0.40122211\nvn 0.351249963 -0.772610903 0.528862953\nvn 0.958791614 -0.275420904 -0.069728978\nvn 0.895020127 -0.145161018 0.421743035\nvn -0.123185061 -0.782499373 0.610344291\nvn 0.292351067 -0.944149256 0.152030036\nvn -0.412693918 -0.908512771 0.065484986\nvn -0.065589011 -0.996801138 -0.045668002\nvn -0.007209 -0.917276025 -0.398187011\nvn -0.128678992 -0.606814921 -0.784357905\nvn -0.058387991 -0.742893934 -0.666857958\nvn -0.101857021 -0.91657424 0.386674076\nvn 0.146734938 -0.97214967 -0.182739943\nvn 0.429310858 -0.859762728 -0.27658692\nvn -0.123803973 -0.992306769 -0.000143\nvn -0.084924035 -0.995416462 0.043978021\nvn 0.241292119 -0.969519496 0.042546019\nvn 0.366346955 -0.923179865 -0.116313986\nvn 0.810138702 -0.228592932 -0.539833844\nvn 0.377687097 -0.294782072 -0.877756238\nvn 0.460914254 0.418357283 -0.782646477\nvn 0.299479991 -0.084177002 -0.950381994\nvn -0.133112997 -0.462624997 -0.876504004\nvn 0.140338987 -0.877606869 -0.458378941\nvn -0.108847 -0.971866012 -0.208875\nvn -0.422247231 -0.905710518 -0.037359022\nvn 0.398465842 -0.915240705 -0.059660979\nvn 0.205888078 -0.837456286 -0.506238163\nvn 0.341685086 -0.778538167 -0.526431143\nvn 0.631159008 -0.663695991 -0.401430011\nvn 0.238397971 -0.821426868 -0.518096924\nvn 0.196592972 -0.463526934 -0.86399889\nvn 0.388894945 0.044683997 -0.920197904\nvn 0.520537019 -0.488097012 -0.700573027\nvn 0.125878006 -0.685558021 -0.717052996\nvn -0.130699977 -0.959234774 -0.250571936\nvn -0.079899028 -0.937555373 -0.33853513\nvn 0.169439018 -0.918698132 -0.356769025\nvn 0.088414989 -0.857818902 -0.506289959\nvn 0.26660502 -0.949460149 -0.165672019\nvn 0.073174998 -0.987846017 -0.137134001\nvn 0.377832949 -0.628300965 -0.680058956\nvn -0.194468975 -0.975095868 -0.106629983\nvn -0.098663017 -0.992854118 -0.067129008\nvn -0.262953997 -0.802900016 0.534982979\nvn -0.193523034 -0.976832092 -0.091367006\nvn -0.262381077 -0.964544356 -0.028467009\nvn -0.168660015 -0.976773143 -0.132167011\nvn 0.039666999 -0.94868499 -0.313724995\nvn -0.046227995 -0.996975899 -0.062466994\nvn -0.045250997 -0.9719069 -0.230974972\nvn 0.267874837 -0.558802724 -0.784845531\nvn 0.122382939 -0.860555589 -0.494435757\nvn 0.346424997 -0.287627995 -0.89289403\nvn -0.015731994 -0.919587672 -0.39256984\nvn 0.168697044 -0.920021236 -0.353698075\nvn 0.496191889 0.032328993 -0.867610812\nvn 0.466239005 0.035105001 -0.883961976\nvn 0.467579991 0.012394 -0.883863986\nvn 0.468423009 0.051945999 -0.881976008\nvn 0.437234014 -0.064401001 -0.897038996\nvn 0.431276858 0.077501968 -0.898884714\nvn -0.121149957 -0.960326672 -0.251187921\nvn -0.472784877 -0.879734755 0.05041099\nvn -0.22785911 -0.962747455 -0.145594075\nvn -0.072371036 -0.996188462 0.048694022\nvn 0.223612934 -0.683848798 -0.694512844\nvn 0.073708974 -0.866163731 -0.494294822\nvn 0.318144232 -0.270904213 -0.908512652\nvn 0.043148 -0.881878018 -0.469498992\nvn -0.333855838 -0.923594594 -0.188449904\nvn -0.235981062 -0.935167253 0.264150053\nvn -0.523986042 -0.83674103 0.159069031\nvn -0.028286014 -0.98427248 -0.174378082\nvn -0.481845051 -0.791350126 -0.376285046\nvn -0.175360888 -0.909547448 -0.376791775\nvn -0.174840972 -0.72951889 -0.661235869\nvn 0.039574996 -0.920918882 -0.387739927\nvn -0.684511244 -0.679234266 -0.264736086\nvn -0.493019015 -0.706475019 -0.507764995\nvn -0.180931091 -0.558261275 -0.809696376\nvn -0.323928058 -0.655549109 -0.682148099\nvn -0.501689851 -0.656004846 -0.563883901\nvn -0.627440214 -0.702301264 -0.336291105\nvn -0.140256956 -0.420538843 -0.896367729\nvn -0.57982111 -0.594408095 -0.557213128\nvn -0.690873027 -0.606647015 -0.39328599\nvn -0.203141004 -0.512902975 -0.83406502\nvn -0.533999324 -0.617545366 -0.577479362\nvn -0.46243301 -0.693517029 -0.552439988\nvn -0.461761177 -0.653471231 -0.599793255\nvn -0.555928946 -0.624097943 -0.54903996\nvn 0.437866002 -0.124371998 -0.890395999\nvn 0.446781933 -0.139392987 -0.883716881\nvn 0.440135121 -0.005427002 -0.897915244\nvn -0.664072037 0.63775605 -0.390225053\nvn -0.755154252 0.645776212 -0.112761036\nvn -0.795737803 0.537390888 0.279306948\nvn -0.732888937 0.335146964 0.592072964\nvn -0.687398016 0.295038015 0.663654029\nvn -0.64046216 0.098195024 0.761686206\nvn -0.330156982 -0.296096981 0.896282852\nvn -0.151212007 -0.384285003 0.910746992\nvn 0.00127 -0.419176847 0.907903731\nvn 0.160301939 -0.508050799 0.846278727\nvn 0.326605201 -0.61309737 0.71933347\nvn 0.652705848 -0.646717846 0.394627899\nvn 0.800966859 -0.562176943 0.205934972\nvn 0.802990019 -0.595874012 0.011879\nvn 0.825876892 -0.515066922 -0.229419976\nvn 0.725327015 -0.45627901 -0.515470982\nvn 0.567733049 -0.313515037 -0.761175096\nvn 0.502098799 0.016661994 -0.864649713\nvn 0.437998205 0.22776711 -0.86964339\nvn 0.199716076 0.438521147 -0.876249313\nvn -0.074379005 0.543151081 -0.836334109\nvn -0.161169931 0.555270791 -0.815903604\nvn -0.377625763 0.547374725 -0.746846557\nvn -0.902233899 0.191737965 -0.386277944\nvn -0.855270684 0.197105929 -0.479229808\nvn -0.945248246 0.093157023 -0.312774092\nvn -0.965652347 0.121345043 -0.229763091\nvn -0.860873997 0.277897 -0.426227003\nvn -0.912722707 0.203576922 -0.354250878\nvn -0.990646005 -0.102420002 -0.090170003\nvn -0.980036139 -0.197922036 0.018870002\nvn -0.988137245 -0.139678031 0.063835017\nvn -0.949640751 -0.278519928 0.143558964\nvn -0.913197517 -0.300230175 0.275558174\nvn -0.93884033 -0.341876119 0.041227017\nvn -0.903485239 -0.426907092 0.038274009\nvn -0.923857749 -0.359195918 0.13215597\nvn -0.906092227 -0.419666082 0.05364101\nvn -0.985779345 -0.056600019 -0.158226058\nvn -0.947198212 0.228607059 0.224843055\nvn -0.874724388 -0.293064147 0.385967165\nvn -0.707044363 0.027293013 0.70664233\nvn 0.954182863 -0.288067967 -0.080943994\nvn 0.950749993 -0.297912002 -0.085574001\nvn 0.922297001 -0.36232999 -0.134481996\nvn 0.951273978 -0.263411999 -0.160286993\nvn 0.885564864 -0.347508967 -0.30824098\nvn 0.948358893 -0.22265397 -0.225921974\nvn 0.758470118 -0.650675058 -0.036675002\nvn 0.934469879 0.223904967 -0.276825964\nvn 0.894400001 0.390794992 -0.217549995\nvn 0.740221441 0.647468328 -0.181265101\nvn 0.767308652 0.450042784 -0.456835777\nvn 0.938159466 0.316189826 -0.140999913\nvn 0.967894137 0.246274024 -0.050299004\nvn 0.953291237 0.299820065 0.036658008\nvn 0.780430198 0.610906184 0.133125037\nvn 0.435511053 0.873311102 0.218307033\nvn 0.39539215 0.906821311 -0.146083057\nvn 0.277167022 0.712812066 -0.644265056\nvn 0.525583923 0.632430911 -0.56902796\nvn 0.657265306 0.514820218 -0.550420225\nvn -0.010371005 0.984596491 -0.174534082\nvn -0.075391002 0.740272999 -0.668066025\nvn 0.043917987 0.963377774 0.264526933\nvn -0.408340991 0.894217014 0.183394998\nvn -0.449700952 0.875858903 -0.175043985\nvn -0.446806014 0.632354021 -0.632844985\nvn -0.805837452 0.566422343 -0.172603101\nvn -0.734609127 0.443614066 -0.51337707\nvn -0.745568693 0.661943734 0.07718797\nvn -0.970510125 0.230046034 -0.072034009\nvn -0.977339149 0.164942011 -0.132674009\nvn -0.946086109 -0.304825038 -0.109558016\nvn -0.942709625 -0.23994191 -0.231789917\nvn -0.870437801 -0.415500909 -0.264001936\nvn -0.859374702 -0.498183817 -0.115273952\nvn -0.926278114 -0.368764073 -0.077601008\nvn -0.875929773 -0.481844872 0.023929995\nvn -0.957765222 -0.214430049 -0.191587046\nvn -0.975054026 -0.155275002 -0.158617005\nvn -0.925431371 -0.341742128 -0.163674057\nvn -0.720493019 -0.689279974 -0.076045997\nvn -0.691065013 -0.703785002 0.164669007\nvn -0.773304999 -0.618417025 -0.139855996\nvn -0.989128351 -0.138933048 -0.048196018\nvn -0.505590796 -0.854496717 -0.119219959\nvn -0.998580635 0.000709 -0.053256981\nvn -0.957042217 -0.257868052 0.132568032\nvn 0.945721626 -0.228654921 -0.230927929\nvn 0.943069994 -0.252920985 -0.215985999\nvn 0.99631536 0.023744009 -0.082413033\nvn 0.306113869 -0.815688729 -0.490862817\nvn 0.782086849 0.583161891 0.21968694\nvn 0.95299834 0.301058114 0.03403201\nvn 0.412281841 0.880216718 0.23503691\nvn 0.453757107 0.827088177 0.33170709\nvn 0.045460001 0.930786014 0.362726986\nvn -0.356745809 0.905434608 0.230044901\nvn -0.430150002 0.853264987 0.29480499\nvn -0.722205698 0.666826785 0.183741927\nvn -0.954348981 0.285019994 -0.089340001\nvn -0.741223156 0.640525162 0.200788051\nvn -0.77538383 0.606300831 0.176576957\nvn -0.911102891 -0.272268981 -0.309452981\nvn -0.958928466 -0.138100073 -0.247759119\nvn -0.957900226 -0.141915023 -0.249574065\nvn -0.912406325 -0.261994094 -0.314442128\nvn -0.766481161 -0.516217113 -0.38213408\nvn -0.868325114 -0.341714025 -0.359504044\nvn -0.812967718 -0.400148839 -0.42304185\nvn 0.34258008 -0.884968221 -0.315389097\nvn 0.140529931 -0.692137659 -0.707952619\nvn -0.984135211 0.165178046 -0.064763017\nvn -0.342172951 -0.662853897 -0.665989876\nvn -0.443562955 -0.652221918 -0.614701927\nvn -0.423904896 -0.621706903 -0.658623815\nvn -0.257183045 -0.704899192 -0.661040187\nvn -0.090632975 -0.753918827 -0.650685847\nvn -0.251152128 -0.685339272 -0.683544278\nvn -0.191899955 -0.660746813 -0.725663841\nvn -0.338680029 -0.671042085 -0.659544051\nvn -0.504509866 -0.569679856 -0.64879483\nvn -0.216309965 -0.726227939 -0.652535915\nvn -0.611710072 -0.528478086 -0.588661075\nvn 0.506331682 -0.661135554 -0.553649664\nvn 0.795185685 -0.431065857 -0.426452845\nvn 0.714984775 -0.562400818 -0.415333837\nvn 0.842041671 -0.377251834 -0.385547817\nvn 0.952569008 -0.222156003 -0.207987994\nvn 0.68238771 -0.555639744 -0.474985749\nvn 0.367194861 -0.687715709 -0.626270711\nvn 0.519176245 -0.644103289 -0.561771274\nvn 0.416330367 -0.728600621 -0.543884456\nvn 0.468742222 -0.644550323 -0.604016304\nvn 0.939059019 -0.227972999 -0.257286996\nvn 0.364385068 -0.663845122 -0.653095126\nvn 0.9412269 -0.236797974 -0.240870968\nvn 0.79662317 0.408573091 -0.445488125\nvn 0.819578111 0.565411031 -0.092748009\nvn 0.797749281 -0.586832225 -0.138651043\nvn -0.206053004 0.970634997 -0.124136999\nvn -0.65110302 0.548352003 -0.524761975\nvn -0.958023369 -0.223787069 -0.179194078\nvn -0.29851386 -0.845715582 0.442328781\nvn -0.149261981 -0.978783906 -0.140366986\nvn 0.17317602 -0.984753132 0.016471002\nvn 0.019489007 -0.991944373 -0.125166044\nvn 0.941099763 0.046482988 -0.334918916\nvn -0.564348161 -0.166524053 -0.808567286\nvn 0.096442997 0.368277997 -0.924700022\nvn -0.863338709 -0.345948875 0.367376894\nvn -0.152648985 -0.055641994 0.986712873\nvn 0.712330222 -0.30620113 0.631527245\nvn 0.989832103 0.141978011 -0.008646001\nvn 0.404365987 -0.831541002 -0.380825013\nvn -0.158067986 -0.640290916 -0.751692891\nvn -0.980653226 -0.064720012 0.184745044\nvn -0.655350327 0.351409167 0.668601274\nvn 0.312829852 0.879187584 0.359397829\nvn 0.251272053 0.311056048 0.916573226\nvn -0.643940032 -0.706553042 0.293469042\nvn 0.928463101 -0.359338015 -0.093981013\nvn -0.253300905 0.967349648 0.008562997\nvn 0.655112982 0.367240012 -0.660274029\nvn 0.746012688 0.329009861 -0.57897979\nvn 0.640016317 0.380955189 -0.66727227\nvn 0.681371152 0.349890083 -0.642892182\nvn 0.841777802 0.26729995 -0.468999892\nvn 0.977912664 0.05143398 -0.202586919\nvn 0.951958001 0.106265001 -0.287200004\nvn -0.451589882 0.474584877 -0.755536795\nvn -0.4153229 0.458492875 -0.785678804\nvn -0.758460283 0.278908104 -0.589023232\nvn -0.787840843 0.26827395 -0.554378867\nvn 0.540047824 0.433747858 -0.721256733\nvn 0.509323895 0.441663891 -0.73859483\nvn 0.198527113 0.503488302 -0.840884447\nvn 0.133753031 0.515400112 -0.84644717\nvn -0.110966027 0.511793137 -0.8519122\nvn -0.174579978 0.534954965 -0.826646864\nvn 0.988026977 -0.088877 -0.126110002\nvn 0.970449746 -0.225779951 -0.085151978\nvn 0.984738648 -0.172611937 -0.022245992\nvn 0.988439739 -0.150755972 -0.016113997\nvn 0.940906763 -0.247942939 0.23069194\nvn 0.979980886 0.065574996 -0.187982991\nvn 0.977273643 -0.189447939 -0.095109969\nvn 0.968345582 -0.246379152 -0.040053021\nvn 0.976311266 -0.214305043 -0.029826008\nvn 0.731875718 0.354243845 0.58212477\nvn 0.894028425 0.182737082 0.4090482\nvn 0.805880189 0.565932095 0.174006045\nvn 0.915367126 -0.240832031 0.322650015\nvn 0.793751121 0.357360035 -0.49219206\nvn 0.97022748 -0.137435064 -0.199425086\nvn 0.639732778 0.305394888 -0.705319762\nvn 0.862401009 -0.482358009 -0.153607994\nvn 0.891519427 -0.172819093 -0.418720186\nvn 0.77011019 -0.586807191 0.250175059\nvn 0.685203075 -0.593922079 -0.421608061\nvn 0.631900132 -0.775021076 -0.006665001\nvn 0.550162792 -0.821673691 -0.148906946\nvn 0.367969096 -0.925220251 0.092554025\nvn 0.669701695 -0.305294842 0.676974714\nvn 0.076509982 -0.923463762 0.3759799\nvn 0.41545701 -0.818592012 0.396613985\nvn -0.722716987 0.63400197 0.275175989\nvn 0.736007571 -0.488482714 0.468697727\nvn 0.687142849 -0.705123842 0.17502895\nvn 0.682868421 -0.622840345 0.381786227\nvn -0.203972027 0.471667051 0.857861102\nvn 0.580142975 -0.298144013 0.757987022\nvn 0.759662986 -0.428736001 0.488976002\nvn 0.682341993 -0.541936994 0.490626007\nvn 0.711509943 -0.406302929 0.573298931\nvn 0.640112996 -0.321339995 0.697851002\nvn 0.145770028 -0.261030048 0.954261243\nvn 0.500043988 0.057801001 0.864068985\nvn 0.254410088 -0.643686235 0.721764266\nvn -0.135369018 -0.352390021 0.926011145\nvn 0.273077965 -0.788396955 0.551233947\nvn 0.11125803 -0.578613102 0.807978153\nvn -0.723385811 -0.66777283 0.175477952\nvn -0.099719964 -0.065298975 0.992870629\nvn -0.363005012 0.51198101 0.778526008\nvn 0.726516962 0.011403999 0.687053919\nvn 0.285242021 -0.54650104 0.787384093\nvn 0.684657037 -0.41784507 0.597202063\nvn 0.268822879 -0.390483826 0.880486608\nvn 0.469137013 -0.182380006 0.864087999\nvn 0.348053008 -0.446478009 0.824328005\nvn 0.577645123 -0.289495051 0.763229191\nvn 0.997900367 -0.011370004 0.063762024\nvn 0.947531879 -0.084243983 0.308360964\nvn 0.955041647 0.296173871 0.013283995\nvn 0.995824993 -0.024638999 -0.087894998\nvn 0.903368771 0.143365964 -0.404191911\nvn 0.142931953 -0.054829981 0.988212645\nvn -0.001226 -0.413584918 0.910464764\nvn -0.282555878 -0.018177992 0.95907867\nvn -0.869524717 0.106261961 0.482322812\nvn -0.623449147 -0.702922106 0.342362046\nvn -0.935561776 -0.348241925 0.058752984\nvn -0.046535004 -0.382796049 0.922660112\nvn 0.37296313 -0.43396914 0.820103288\nvn 0.237440035 -0.655802131 0.716621101\nvn 0.617004752 -0.729027748 0.296350867\nvn -0.017052997 -0.7823928 0.622551858\nvn -0.032214999 -0.890591979 0.453660995\nvn 0.246859029 -0.91794914 0.310532033\nvn -0.283664167 -0.905891538 0.314476192\nvn -0.18517904 -0.418402076 0.889184237\nvn -0.388335019 -0.91655314 -0.095531009\nvn -0.587812006 -0.771839023 0.242366999\nvn -0.686635077 -0.670309067 0.281457037\nvn -0.940452218 -0.339925081 0.000877\nvn -0.844679236 0.357274055 -0.398588121\nvn -0.90396589 -0.255258977 0.34305793\nvn 0.569301188 0.820783317 -0.04702102\nvn -0.456129164 -0.600315213 0.656938255\nvn -0.510087788 -0.851837575 0.11909394\nvn -0.606584013 -0.585201025 0.538141012\nvn 0.322110832 0.436425745 0.840105534\nvn -0.305319935 -0.355540901 0.883385777\nvn -0.420074701 -0.620323598 0.662371516\nvn -0.384149224 -0.649744332 0.655943394\nvn -0.900151134 0.110357016 0.421366066\nvn -0.335171998 -0.608906984 0.718952\nvn -0.430571079 -0.826800168 0.36195308\nvn -0.142659992 -0.186323985 0.97207588\nvn -0.586236954 0.302144974 0.751687884\nvn -0.685985982 -0.140753001 0.713871002\nvn -0.65078187 -0.415784985 0.635299861\nvn -0.352617115 -0.195742071 0.915066302\nvn 0.847288013 0.352247 0.397523999\nvn 0.906267881 -0.042589996 0.420552939\nvn 0.768552899 -0.479353935 0.423728943\nvn 0.869627714 -0.314514875 -0.380562842\nvn 0.575257957 -0.782928884 0.236855969\nvn 0.218637034 -0.945555091 0.241088033\nvn 0.204674959 -0.939904749 0.273289949\nvn -0.220599994 -0.930522978 0.29234001\nvn 0.456850052 -0.651242077 0.605947077\nvn 0.515819907 -0.588506877 0.622566879\nvn 0.520723879 -0.595661879 0.611582875\nvn 0.640194714 -0.111754946 0.760040641\nvn 0.228625894 -0.568582714 0.790217638\nvn 0.391314238 -0.182954103 0.901887536\nvn -0.329623967 -0.386275947 0.861474872\nvn -0.189571962 -0.824946821 0.532470882\nvn 0.507608116 -0.592906117 0.62513715\nvn 0.188745007 -0.895568013 0.402906001\nvn -0.024087004 -0.630333066 0.775951147\nvn -0.602994621 -0.066405959 0.794976532\nvn -0.930612147 -0.146759018 0.335295051\nvn 0.364505023 -0.925080121 0.106597014\nvn -0.228999004 -0.913514972 0.336228997\nvn -0.073640026 -0.948522329 0.308030128\nvn -0.602701366 -0.797716498 0.01999101\nvn 0.811972022 -0.514711022 0.275270998\nvn 0.026136005 -0.800516188 0.598741114\nvn -0.344945103 -0.623092115 0.701975167\nvn -0.427437842 -0.680251777 0.595444739\nvn -0.792772889 -0.585273921 -0.170192987\nvn -0.872927129 -0.410969049 0.262874037\nvn 0.335662842 -0.543851733 0.769126654\nvn 0.194094911 -0.331445813 0.923293591\nvn -0.228676975 -0.376730949 0.897652864\nvn -0.372587949 -0.658000886 0.654379904\nvn -0.304617941 -0.625320852 0.718457878\nvn -0.109089993 -0.909549892 0.401021957\nvn -0.490234882 -0.864683807 0.109506972\nvn 0.337662905 -0.925995767 -0.168865949\nvn -0.008121998 -0.999689758 0.023546994\nvn 0.439457059 -0.841618121 -0.313937038\nvn 0.108760037 -0.985347331 -0.131385043\nvn -0.231158063 -0.964462221 -0.127979025\nvn -0.168495998 -0.985650003 -0.010167\nvn -0.147419065 -0.988576353 0.031376012\nvn 0.259232104 -0.94538033 0.197623074\nvn 0.061842985 -0.934851766 0.349610925\nvn 0.206785962 -0.928413749 0.308686942\nvn 0.722535074 -0.690661073 0.030502005\nvn 0.922631264 0.384137094 -0.034500007\nvn 0.914652884 0.00207 0.404234946\nvn 0.96375376 -0.013458997 -0.266453952\nvn 0.356382012 -0.933961987 0.026590999\nvn -0.166152939 -0.908128679 -0.384311855\nvn -0.356591165 -0.880524397 -0.312281162\nvn 0.046348006 -0.9940961 0.098106012\nvn 0.069318011 -0.863294184 0.499918133\nvn 0.790063858 -0.578892946 -0.201697975\nvn 0.521754086 -0.835056126 -0.174511015\nvn 0.463806063 -0.885688126 -0.020990001\nvn 0.592368066 -0.596817076 0.541211069\nvn 0.396443158 -0.917842329 -0.019961007\nvn 0.51052475 -0.736495614 -0.4437778\nvn 0.965709984 -0.240228996 -0.098458998\nvn 0.89345479 -0.431133896 -0.125944972\nvn 0.814421177 -0.571435094 0.100897022\nvn 0.35660404 -0.924830139 -0.132374018\nvn 0.217838973 -0.952112854 -0.214539975\nvn 0.084384955 -0.990712523 -0.106620945\nvn 0.427711099 -0.903872252 -0.008849001\nvn 0.116565973 -0.987702787 0.104190975\nvn -0.528293967 -0.767381907 -0.363359958\nvn -0.227297977 -0.957369864 -0.178265974\nvn 0.054409027 -0.941597462 -0.33231616\nvn 0.654486179 -0.753346205 0.064168014\nvn 0.016892996 -0.998843789 0.045008987\nvn -0.37842077 -0.923474491 0.063186966\nvn -0.021401992 -0.99893266 -0.040934984\nvn -0.036195006 -0.99916023 -0.019205004\nvn -0.099361978 -0.961411774 -0.256543934\nvn -0.042995989 -0.964898765 -0.25907895\nvn -0.309791178 -0.946065545 -0.094813056\nvn 0.233965084 -0.963611364 -0.129281044\nvn 0.101594962 -0.994668663 -0.017682994\nvn 0.327335209 -0.939367533 -0.10217806\nvn 0.669994175 -0.705184162 -0.231998056\nvn 0.908408105 -0.356508017 -0.218396023\nvn 0.639973998 -0.723568976 0.258614004\nvn 0.265235096 -0.964041352 -0.016578006\nvn 0.99527055 -0.082006961 -0.052071974\nvn 0.992365122 -0.107687011 -0.060125008\nvn 0.998445213 -0.052480012 0.018791003\nvn 0.978743851 -0.185605988 -0.087240994\nvn 0.988953531 -0.081289962 -0.123946942\nvn 0.984475255 -0.091523021 -0.149773031\nvn -0.885905266 -0.441129118 -0.143447027\nvn -0.287001938 -0.912254751 -0.292268932\nvn -0.177323058 -0.967793345 -0.178697065\nvn 0.060433999 -0.987334013 -0.146695003\nvn -0.187660068 -0.978209376 0.088827029\nvn 0.163747057 -0.981279373 -0.101379037\nvn 0.417291999 -0.867173016 -0.271806002\nvn 0.869343162 -0.483061105 -0.104376025\nvn 0.57583189 -0.817531824 -0.007706998\nvn 0.334681153 -0.939885497 0.067852028\nvn 0.295052171 -0.910355508 0.290167183\nvn -0.05299402 -0.989703357 -0.132962048\nvn -0.368888021 -0.924170136 0.099153012\nvn -0.478575051 -0.83832711 -0.261101037\nvn -0.229688063 -0.972158253 0.046388011\nvn -0.104063988 -0.871116877 -0.47992295\nvn 0.156932965 -0.937096894 -0.311803967\nvn 0.475620002 -0.850598991 -0.224203005\nvn 0.33950299 -0.707863986 -0.619408011\nvn 0.174928993 -0.740593016 -0.648784995\nvn -0.007557999 -0.693545878 -0.720372856\nvn -0.46187982 -0.676251769 -0.573890805\nvn 0.25122115 -0.73801744 -0.626273334\nvn 0.108585 -0.753147006 -0.648828983\nvn -0.07917998 -0.669282794 -0.738776803\nvn -0.684226871 -0.549497902 -0.479463875\nvn 0.489982873 -0.628977835 -0.603575826\nvn 0.037486009 -0.718349159 -0.694672167\nvn 0.444357932 -0.629204929 -0.637688935\nvn 0.600938976 -0.566174984 -0.564197004\nvn 0.145435005 -0.968594015 -0.201679006\nvn 0.033102009 -0.709976256 -0.703447223\nvn -0.014878002 -0.703665078 -0.710376084\nvn 0.349763095 -0.69851017 -0.624299109\nvn 0.139527038 -0.746170223 -0.650970221\nvn 0.070334964 -0.745529652 -0.662750721\nvn 0.475081831 -0.608757734 -0.635382771\nvn -0.080949977 -0.764592826 -0.63940984\nvn 0.054368019 -0.742246211 -0.667918265\nvn 0.141119048 -0.675976217 -0.723285258\nvn 0.958622873 -0.277512968 -0.063472994\nvn 0.987818241 -0.127297029 -0.089502022\nvn 0.609903991 0.513562977 -0.60354799\nvn 0.438991845 0.61971277 -0.65057075\nvn 0.017492 0.636900008 -0.770748019\nvn -0.369583011 0.650518 -0.663501978\nvn -0.524410069 0.71737504 -0.458658069\nvn -0.806513131 0.427970052 -0.407895058\nvn -0.941537976 0.271840006 -0.199020997\nvn -0.973096788 0.193979949 -0.12431597\nvn -0.983344376 -0.174979061 0.049156018\nvn -0.855151832 -0.418011904 0.306563944\nvn -0.785064876 -0.405500948 0.46823293\nvn -0.625891387 -0.480400294 0.614390373\nvn -0.395014107 -0.5312801 0.749470115\nvn -0.165450022 -0.600187063 0.782561123\nvn 0.210251004 -0.567682028 0.795947015\nvn 0.54086566 -0.383462697 0.748612523\nvn 0.761922002 -0.193646997 0.618041992\nvn 0.916014612 -0.043239977 0.398807824\nvn 0.919935226 -0.312387079 0.236925066\nvn 0.979902029 -0.186972007 -0.069522999\nvn 0.902661443 0.342084795 -0.261113852\nvn 0.724510968 0.459665954 -0.513605952\nvn -0.433281779 0.438049793 -0.787641644\nvn -0.390271902 0.30971995 -0.867041826\nvn -0.537786007 0.181667 -0.823275983\nvn -0.580178857 0.203179955 -0.7887398\nvn -0.415481091 0.364988089 -0.833162189\nvn -0.497693121 0.28472805 -0.819287181\nvn -0.710436165 -0.047628012 -0.702148199\nvn -0.766123176 -0.156393051 -0.623375118\nvn -0.806879699 -0.141342953 -0.57355684\nvn -0.818385303 -0.253328085 -0.515820205\nvn -0.868187785 -0.299406946 -0.395733893\nvn -0.741991997 -0.30338499 -0.597833991\nvn -0.708934069 -0.388866067 -0.588384032\nvn -0.785969138 -0.332029045 -0.521545053\nvn -0.73721087 -0.354638934 -0.575109899\nvn -0.66625905 0.014971002 -0.745570064\nvn -0.896100879 0.217134967 -0.387111932\nvn -0.889858425 -0.376626194 -0.257497132\nvn -0.991072118 -0.009568001 0.132983014\nvn -0.83047384 -0.556932867 -0.011793997\nvn -0.795277894 -0.477424949 0.373628974\nvn 0.809245288 -0.30758211 0.500515163\nvn 0.803598106 -0.359113038 0.474624068\nvn 0.843898892 -0.306065977 0.440633953\nvn 0.852756023 -0.278981 0.441561997\nvn 0.723544955 -0.509213924 0.466029942\nvn 0.672497988 -0.680395007 0.291220009\nvn 0.884173274 -0.305478126 0.353441149\nvn 0.888481975 -0.225284994 0.39980799\nvn 0.891186774 0.21543996 0.39921391\nvn 0.815654993 0.375396997 0.440209001\nvn 0.661783218 0.632132232 0.403053135\nvn 0.863933802 0.468938887 0.183615953\nvn 0.805033803 0.290156931 0.517425895\nvn 0.774430871 0.208446965 0.597332954\nvn 0.706307054 0.251525044 0.661714077\nvn 0.497857809 0.555653811 0.665872753\nvn 0.164616048 0.820342183 0.547668099\nvn 0.360046923 0.899909735 0.246025935\nvn 0.588268876 0.773643792 -0.23540394\nvn 0.738066256 0.673979223 -0.03178601\nvn 0.834036112 0.549386084 0.050584007\nvn 0.058563981 0.998075664 -0.020381993\nvn 0.327477038 0.81904912 -0.471081048\nvn -0.173109993 0.920940995 0.349142998\nvn -0.471455932 0.881875873 -0.004929999\nvn -0.278474122 0.909339428 -0.309118152\nvn 0.020916004 0.72381109 -0.689681113\nvn -0.543893993 0.617641985 -0.568064988\nvn -0.269785881 0.534504771 -0.800949633\nvn -0.657479286 0.679168284 -0.32626915\nvn -0.720505476 0.278931171 -0.634877443\nvn -0.685042024 0.222096995 -0.69382298\nvn -0.654842377 -0.247875124 -0.71396035\nvn -0.578503072 -0.168724015 -0.798039138\nvn -0.493280947 -0.342648983 -0.799540877\nvn -0.575379133 -0.442654133 -0.68774718\nvn -0.661736846 -0.314083904 -0.680775821\nvn -0.654640675 -0.501766741 -0.565398693\nvn -0.615859151 -0.147225052 -0.773978174\nvn -0.655889213 -0.062512025 -0.752264321\nvn -0.510286808 -0.504672825 -0.696356773\nvn -0.435624003 -0.677637994 -0.592485011\nvn -0.496217012 -0.763818979 -0.412734002\nvn -0.553737164 -0.44792816 -0.701951265\nvn -0.595799744 -0.717720747 -0.360415876\nvn -0.161956996 -0.926684022 -0.339156002\nvn -0.570252061 -0.276753038 -0.773447096\nvn -0.790414989 -0.255593985 -0.556701005\nvn 0.886302114 -0.225465029 0.404517025\nvn 0.870061398 -0.197655097 0.45158121\nvn 0.823046148 -0.002258 0.567970037\nvn 0.752090096 -0.656517088 -0.057844009\nvn 0.44768101 0.515760005 0.730461001\nvn 0.691165626 0.277937889 0.667113721\nvn 0.145934001 0.813135982 0.563483\nvn 0.110154033 0.760101199 0.640400171\nvn -0.228866026 0.876717091 0.42306903\nvn -0.451353997 0.891040981 0.048225001\nvn -0.555410802 0.829324722 0.061150979\nvn -0.704602361 0.672515273 -0.226404101\nvn -0.701519847 0.27827993 -0.656071842\nvn -0.730503082 0.642682076 -0.230922028\nvn -0.740471244 0.613179266 -0.275161088\nvn -0.504042149 -0.192422047 -0.841971159\nvn -0.585559011 -0.065071002 -0.808013976\nvn -0.583451986 -0.068686001 -0.809238017\nvn -0.502298117 -0.181711048 -0.845386207\nvn -0.340265006 -0.415867001 -0.843370974\nvn -0.431532055 -0.262903035 -0.862938106\nvn -0.359082222 -0.305899173 -0.881751537\nvn 0.59762311 -0.801603198 0.016705004\nvn -0.06528002 -0.45434016 -0.888433278\nvn 0.401426941 -0.577846944 -0.710597932\nvn 0.093898974 -0.551220894 -0.829058826\nvn 0.439962804 -0.634931684 -0.635054708\nvn 0.200910002 -0.587360024 -0.783991992\nvn 0.311068028 -0.616459072 -0.723336041\nvn 0.254808009 -0.65574801 -0.710681021\nvn 0.28490296 -0.537181914 -0.79389286\nvn -0.062110022 -0.364794105 -0.929014385\nvn -0.347180009 -0.282025009 -0.894387007\nvn -0.327278852 -0.324226856 -0.88756156\nvn 0.91198051 -0.350654215 0.212916136\nvn 0.735988379 -0.622521281 -0.266061127\nvn 0.854884803 -0.512097895 -0.083233975\nvn 0.903182149 -0.385498047 0.188821033\nvn 0.901375294 -0.425488144 0.080514029\nvn 0.922172248 -0.373580098 0.100182019\nvn 0.776015997 -0.535147011 -0.333792001\nvn 0.676474929 -0.642401934 -0.360140979\nvn 0.843491852 -0.530782938 -0.08240699\nvn 0.688164115 -0.632289112 -0.355866045\nvn 0.571896017 -0.671805024 -0.470757991\nvn 0.733278155 -0.599750102 -0.32031709\nvn 0.86785984 -0.49680087 -0.002878999\nvn 0.084714971 -0.81895268 -0.567573786\nvn 0.89857626 -0.382902086 0.214352041\nvn 0.834996283 0.542416155 0.092552029\nvn 0.680434048 0.502667069 0.53323108\nvn 0.79189235 -0.467326194 0.393081188\nvn -0.016750004 0.998623252 -0.049710013\nvn -0.422333986 0.557672024 -0.714587986\nvn -0.656113088 0.121086016 -0.744885087\nvn -0.431423217 -0.901734412 -0.027369013\nvn -0.026908005 -0.905026138 -0.424504071\nvn -0.144018009 -0.910691142 -0.387170047\nvn 0.268121034 -0.963136137 -0.021906003\nvn 0.025587995 -0.980206788 -0.196315959\nvn 0.163680941 -0.986082613 -0.029147988\nvn 0.197538957 -0.967656791 -0.156903952\nvn 0.183041066 -0.979937375 -0.078859031\nvn 0.625576973 -0.731190979 0.272053987\nvn 0.309052855 -0.948938549 -0.063260972\nvn 0.654326141 -0.717242122 0.239627033\nvn -0.477006108 -0.586830139 0.654290199\nvn 0.973613143 0.201580033 0.106972016\nvn 0.417578995 -0.118701003 0.900853992\nvn 0.545997202 -0.002491001 -0.837783277\nvn -0.044074003 0.434872061 -0.899413109\nvn -0.968900979 -0.107982002 0.222645\nvn 0.478595108 0.276934057 0.833219171\nvn 0.402038008 -0.554350972 -0.728739023\nvn 0.840594113 -0.535207033 0.083397008\nvn -0.712131262 -0.418872148 -0.563396156\nvn -0.964369774 0.241671935 -0.107636981\nvn -0.289604038 0.823270142 0.488217056\nvn -0.053842019 0.995443344 0.078700028\nvn 0.762525976 -0.485554993 0.427540004\nvn -0.39154315 0.183691055 0.901638269\nvn -0.564074934 -0.791128874 -0.236504972\nvn 0.908659399 0.413968205 -0.054484025\nvn 0.931605875 0.354249984 0.081347995\nvn 0.926227987 0.376857013 -0.008973\nvn 0.927878976 0.366820008 0.06696\nvn 0.940801144 0.223018035 0.25525704\nvn 0.914301395 0.049168024 0.40203917\nvn 0.918197334 0.098220035 0.383753151\nvn 0.026478 0.682856023 -0.730072975\nvn 0.138722003 0.584752023 -0.799263\nvn -0.246200114 0.415560216 -0.875611424\nvn -0.338541001 0.526331007 -0.779977977\nvn 0.859232605 0.486652762 -0.157760918\nvn 0.869634867 0.457690954 -0.185078979\nvn 0.655663967 0.60175395 -0.456066936\nvn 0.618786097 0.633008122 -0.465193123\nvn 0.42966184 0.630674779 -0.646250784\nvn 0.377760977 0.691402853 -0.615839958\nvn 0.854196846 -0.115223967 0.507021904\nvn 0.826296687 -0.255442917 0.501978815\nvn 0.790057123 -0.202697024 0.578553081\nvn 0.786215186 -0.190298051 0.587922096\nvn 0.598895073 -0.32169202 0.733375072\nvn 0.878292561 -0.008171996 0.478053749\nvn 0.78349334 -0.203299105 0.587203324\nvn 0.793808579 -0.259205878 0.550163746\nvn 0.788230658 -0.243827879 0.565013707\nvn 0.332804143 -0.348707169 0.876153409\nvn 0.431753099 0.093888022 0.897092223\nvn 0.490837991 0.510972023 0.705681026\nvn 0.502352893 -0.316649914 0.804595828\nvn 0.912565887 0.378123939 0.15571098\nvn 0.885731816 -0.157816961 0.436546922\nvn 0.925917268 0.34091109 -0.162656039\nvn 0.963545263 -0.164045051 0.21135205\nvn 0.764204204 -0.506093144 0.399827093\nvn 0.819975436 -0.570907295 0.041295018\nvn 0.433554143 -0.660678267 0.612809241\nvn 0.521817207 -0.800335228 0.295246124\nvn 0.552155852 -0.824463844 0.124029972\nvn 0.274295002 -0.943636 0.185239002\nvn 0.115106061 -0.412346214 0.903726399\nvn -0.132983029 -0.966088235 0.221335053\nvn 0.170750082 -0.792885363 0.584959269\nvn 0.175143003 -0.539507985 0.82356298\nvn 0.261851132 -0.592326283 0.761960387\nvn 0.263907045 -0.551952124 0.791013181\nvn -0.503473997 -0.159587994 0.849143982\nvn 0.288074017 -0.542293072 0.789260149\nvn 0.267675042 -0.580632031 0.768906116\nvn -0.251758039 -0.9112041 0.326075047\nvn -0.202302963 -0.746686816 0.6336658\nvn -0.397677094 -0.673193157 0.623429179\nvn -0.650363803 -0.620763898 -0.437811881\nvn -0.397772908 -0.405322909 0.823097825\nvn -0.699688137 -0.19869101 0.686264098\nvn -0.627652764 -0.480727822 0.612333834\nvn 0.029484 -0.39576599 0.917877972\nvn -0.784359992 0.458880007 0.417382985\nvn 0.027565014 -0.29800114 0.954167485\nvn 0.153657019 -0.099951014 0.983056128\nvn -0.289415002 -0.686356008 0.667199016\nvn 0.176145941 -0.522755802 0.834085703\nvn -0.193592057 -0.711571276 0.675417244\nvn -0.168470055 -0.309812129 0.935753345\nvn -0.300170958 -0.559831917 0.77232486\nvn 0.090492047 -0.656614304 0.748778343\nvn 0.746891797 -0.263609946 0.610460877\nvn 0.59434092 -0.410439938 0.691590965\nvn 0.736762762 0.094253965 0.669549763\nvn 0.811894178 -0.14286603 0.566054106\nvn 0.951200902 0.131048992 0.279361963\nvn -0.482806057 -0.292295039 0.825507104\nvn -0.384401083 -0.787481189 0.481777132\nvn -0.994873106 -0.058175009 -0.082723014\nvn -0.786484659 -0.609196723 0.101593949\nvn -0.739052832 -0.300267935 -0.603025854\nvn -0.208656102 -0.540363252 0.81515044\nvn -0.683003247 -0.560914159 0.467848182\nvn -0.231999964 -0.749071956 0.620537937\nvn 0.325120896 -0.779004812 0.536141872\nvn -0.356123865 -0.866324723 0.350224853\nvn -0.260036975 -0.945314884 0.196876973\nvn 0.043195002 -0.961898029 0.269975007\nvn -0.386508852 -0.921977639 -0.023836991\nvn -0.590581 -0.632426023 0.501250029\nvn -0.202562079 -0.871302307 -0.446991175\nvn -0.618130744 -0.769753695 -0.159353942\nvn -0.441069156 -0.687250257 -0.577187181\nvn -0.61980921 -0.641016245 -0.452697158\nvn -0.714423001 -0.295204014 -0.634392977\nvn -0.423330069 0.451644063 -0.785372138\nvn -0.904049754 -0.255408943 -0.342724919\nvn 0.387194067 0.807743132 0.444558054\nvn -0.720847011 -0.676249981 0.151874006\nvn -0.660171807 -0.71138984 -0.24103494\nvn -0.746991873 -0.66306591 -0.048443995\nvn -0.166713923 0.372902811 0.912770569\nvn -0.834240854 -0.449751943 0.319006979\nvn -0.696941972 -0.696883976 0.169187993\nvn -0.701773763 -0.696473777 0.149792939\nvn -0.689027846 -0.67352283 0.267595947\nvn -0.914393723 -0.399361849 -0.066289976\nvn -0.525653005 -0.849682987 -0.041568\nvn -0.883499026 -0.468421996 0.003212\nvn -0.974578977 -0.201374993 0.098204002\nvn -0.836048603 -0.284606844 0.469064772\nvn -0.944251895 0.207252964 0.255801976\nvn -0.620151699 -0.112228945 0.776412666\nvn 0.400326014 0.284226 0.871179998\nvn 0.420765996 -0.098981999 0.901753008\nvn 0.376326919 -0.487829894 0.787654817\nvn 0.635345161 -0.589344144 0.499009132\nvn 0.682561338 -0.573263288 0.453298211\nvn 0.072099023 -0.970045328 0.231978089\nvn 0.008309999 -0.960051775 0.279698938\nvn 0.452647865 -0.858159721 0.242222905\nvn -0.173887983 -0.922086895 0.345714957\nvn -0.421417147 -0.829871297 -0.365679115\nvn -0.646163821 -0.757131815 0.096040979\nvn 0.122215018 -0.702960134 0.700650096\nvn 0.031896997 -0.671716928 0.740120947\nvn 0.028846003 -0.684273124 0.7286551\nvn 0.014464 -0.664659977 0.747005999\nvn 0.017169997 -0.218705952 0.97563976\nvn -0.222439036 -0.233524024 0.946566105\nvn -0.487188011 -0.663691998 0.567592025\nvn -0.425606102 -0.616244137 0.662648201\nvn -0.08078704 -0.920886397 0.38136819\nvn -0.563916028 -0.670072019 0.482703\nvn -0.93283242 -0.273972124 0.234015107\nvn -0.932225764 0.045873988 -0.358957916\nvn -0.403547853 -0.882011712 -0.243319914\nvn -0.708239257 -0.594924212 -0.38008216\nvn -0.008693004 0.062046029 -0.998035491\nvn 0.007490003 -0.994685352 -0.102689035\nvn 0.261034966 -0.956657887 0.129098982\nvn -0.362178117 -0.926551342 0.101635039\nvn 0.454975933 -0.664375961 0.59295994\nvn -0.27136296 -0.90987289 0.313836932\nvn -0.688125372 -0.690656364 0.222435102\nvn -0.654627025 -0.736479998 0.170471996\nvn -0.677173972 -0.700698972 0.224625006\nvn -0.610887229 -0.656740248 0.442164153\nvn -0.542734146 0.10576202 0.833219171\nvn -0.698532224 -0.69981426 0.149375066\nvn -0.858035803 -0.320168912 -0.401579916\nvn -0.156433046 -0.676251173 0.71987015\nvn -0.251893997 -0.273871005 0.928193986\nvn -0.381813079 -0.843039155 0.378819078\nvn -0.597166002 0.712836027 -0.36777401\nvn -0.596489787 -0.72711575 -0.339856893\nvn -0.329670906 -0.940181732 0.08588098\nvn 0.331120998 -0.942333996 -0.048636999\nvn 0.242423996 -0.96993202 0.021509999\nvn 0.347653836 -0.888992608 -0.29804185\nvn -0.026167991 -0.94069463 -0.338243872\nvn -0.090896994 -0.895912886 -0.434830934\nvn 0.001525001 -0.969608486 0.244657114\nvn -0.094764963 -0.990569651 -0.098951966\nvn 0.020383999 -0.988841891 0.147567987\nvn 0.038592022 -0.975804567 0.215212137\nvn 0.005882999 -0.768215954 -0.640163898\nvn 0.490935892 -0.58948791 0.641471803\nvn 0.687419057 0.406614065 0.601764083\nvn 0.841690719 -0.502142847 0.198517919\nvn 0.270448029 -0.513850033 -0.814135075\nvn 0.413406849 -0.895687699 0.163823947\nvn 0.037650995 -0.98049289 -0.192914963\nvn 0.868903995 -0.289196014 0.401710987\nvn 0.105936021 -0.957247257 0.269175053\nvn -0.064721018 -0.415136099 0.907454252\nvn 0.35848093 -0.915795863 0.181133971\nvn 0.402381092 -0.912693262 0.071278013\nvn 0.295274109 -0.955198348 -0.020234007\nvn 0.87729156 -0.454783797 0.153398931\nvn 0.857119679 -0.153426945 0.491737813\nvn 0.492372006 -0.833602011 0.250355005\nvn 0.811633706 -0.451743841 0.370375872\nvn 0.373869032 -0.927478135 0.002539\nvn -0.041102998 -0.962353885 0.268673956\nvn 0.399892002 -0.907764971 -0.126684994\nvn -0.080991022 -0.932242215 -0.352654099\nvn 0.284467161 -0.951591492 -0.116414055\nvn 0.004469999 -0.869418681 -0.494055808\nvn -0.593451202 -0.221155047 -0.773890197\nvn 0.058185976 -0.963583648 -0.260999918\nvn 0.536646128 -0.842913151 0.038839009\nvn 0.112697974 -0.950735748 -0.288791955\nvn -0.151133016 -0.964659095 -0.215851024\nvn -0.145091966 -0.97126174 0.188676953\nvn 0.242249906 -0.928836644 -0.280316919\nvn 0.227434933 -0.972921789 -0.041189987\nvn 0.082797989 -0.994099855 -0.070071995\nvn -0.014983004 -0.970964253 -0.238755062\nvn -0.052331969 -0.907322466 -0.417165756\nvn 0.106268011 -0.986528099 -0.124376014\nvn 0.472883105 -0.871928155 0.126976028\nvn 0.835560679 -0.306482881 0.455967844\nvn 0.668819666 -0.630485654 0.393913776\nvn 0.222370058 -0.95761323 -0.183108047\nvn 0.32368499 -0.941726983 0.091532998\nvn 0.818591893 -0.128155991 0.559895933\nvn 0.814957976 -0.142378002 0.561757982\nvn 0.828937173 -0.136625037 0.542399108\nvn 0.824702024 -0.215728 0.522808015\nvn 0.84950757 -0.102997951 0.517424762\nvn 0.859499872 -0.101365983 0.500983953\nvn 0.068592981 -0.896026731 -0.43866986\nvn -0.026984992 -0.914838731 -0.402916849\nvn -0.166250065 -0.925419331 -0.340529114\nvn 0.137624994 -0.984615982 -0.107661001\nvn -0.053275011 -0.969382226 -0.239708066\nvn 0.194634959 -0.966465771 -0.16751495\nvn 0.385608137 -0.921695352 0.042240016\nvn 0.820710838 -0.483897895 0.3037709\nvn 0.667579114 -0.718074143 0.196743056\nvn 0.355042875 -0.910660684 -0.211285919\nvn 0.382971227 -0.92257756 -0.046731025\nvn 0.018428002 -0.990248144 0.138091013\nvn -0.26729396 -0.719315946 -0.64120096\nvn 0.015575998 -0.848329902 -0.529238939\nvn -0.111578025 -0.938429236 -0.326957077\nvn -0.099550046 -0.968920469 -0.226457104\nvn 0.205033958 -0.964099765 -0.168738961\nvn 0.349758029 -0.797970116 -0.490829051\nvn 0.527816057 -0.833316147 -0.16430001\nvn 0.269714087 -0.962492347 -0.029374011\nvn 0.552350938 -0.685400963 -0.474482954\nvn 0.203653052 -0.66438514 -0.719109118\nvn 0.044997986 -0.608122766 -0.792566717\nvn 0.442373842 -0.68961978 -0.573349833\nvn 0.801825643 -0.568010688 -0.185578912\nvn 0.666300952 -0.666858912 -0.333679974\nvn 0.00154 -0.521938026 -0.852981985\nvn 0.368777007 -0.580815971 -0.725710988\nvn 0.576414347 -0.657246411 -0.485565305\nvn 0.565113008 -0.631061018 -0.531422019\nvn 0.735254824 -0.600461841 -0.314397901\nvn 0.818704903 -0.572964966 -0.037860997\nvn 0.064248979 -0.488632828 -0.870120704\nvn 0.510797977 -0.633051991 -0.581661999\nvn 0.781190813 -0.54971391 -0.295897931\nvn 0.837272167 -0.526823103 -0.146399051\nvn 0.543272138 -0.591433108 -0.595871091\nvn 0.298796147 -0.575964272 -0.760911345\nvn 0.547127366 -0.627331436 -0.554172397\nvn 0.791120112 -0.580527067 -0.192659035\nvn 0.580817223 -0.666454256 -0.467429161\nvn 0.551065981 -0.65148598 -0.521432996\nvn 0.814003408 -0.260895133 0.518972218\nvn 0.803399801 -0.289428949 0.520364881\nvn 0.830657601 -0.158027932 0.53388679\nvn 0.500992239 0.802855372 -0.323156148\nvn 0.285916984 0.84314388 -0.455367953\nvn -0.150178939 0.813596725 -0.561699808\nvn -0.449010879 0.694963813 -0.561617851\nvn -0.513507187 0.636181235 -0.575833201\nvn -0.673562944 0.379450947 -0.634294927\nvn -0.89252758 -0.000163 -0.450992793\nvn -0.895595014 -0.217475995 -0.388090014\nvn -0.798585355 -0.56601131 -0.204677105\nvn -0.704152942 -0.707512915 0.059950992\nvn -0.635174036 -0.744842052 0.204363033\nvn -0.381781131 -0.849054277 0.365171134\nvn -0.172830045 -0.827486157 0.534225106\nvn 0.020855 -0.79361099 0.608067989\nvn 0.263898969 -0.681514919 0.682564914\nvn 0.493668109 -0.555269122 0.669304192\nvn 0.68252784 -0.398819923 0.612452865\nvn 0.806698978 -0.182708994 0.562008977\nvn 0.837931514 -0.11077293 0.534415722\nvn 0.926590025 0.197556004 0.320003986\nvn 0.906831443 0.384116173 0.173527092\nvn 0.905068099 0.417966068 0.078461006\nvn 0.820753157 0.557502091 -0.124722026\nvn 0.109427966 -0.717660725 -0.687741697\nvn -0.212272957 -0.975318789 -0.060773984\nusemtl default\nf 1/1/1 2/2/2 3/3/3\nf 3/3/3 4/4/4 1/1/1\nf 5/5/5 6/6/6 3/3/3\nf 3/3/3 2/2/2 5/5/5\nf 7/7/7 8/8/8 3/3/3\nf 3/3/3 6/6/6 7/7/7\nf 9/9/9 4/4/4 3/3/3\nf 3/3/3 8/8/8 9/9/9\nf 10/10/10 11/11/11 12/12/12\nf 12/12/12 13/13/13 10/10/10\nf 14/14/14 15/15/15 12/12/12\nf 12/12/12 11/11/11 14/14/14\nf 16/16/16 13/13/13 12/12/12\nf 12/12/12 15/15/15 16/16/16\nf 17/17/17 18/18/18 19/19/19\nf 19/19/19 20/20/20 17/17/17\nf 21/21/21 22/22/22 19/19/19\nf 19/19/19 18/18/18 21/21/21\nf 23/23/23 24/24/24 19/19/19\nf 19/19/19 22/22/22 23/23/23\nf 25/25/25 20/20/20 19/19/19\nf 19/19/19 24/24/24 25/25/25\nf 26/26/26 27/27/27 28/28/28\nf 28/28/28 29/29/29 26/26/26\nf 5/5/5 2/2/2 28/28/28\nf 28/28/28 27/27/27 5/5/5\nf 1/1/1 30/30/30 28/28/28\nf 28/28/28 2/2/2 1/1/1\nf 31/31/31 29/29/29 28/28/28\nf 28/28/28 30/30/30 31/31/31\nf 32/32/32 33/33/33 34/34/34\nf 34/34/34 35/35/35 32/32/32\nf 36/36/36 37/37/37 34/34/34\nf 34/34/34 33/33/33 36/36/36\nf 38/38/38 39/39/39 34/34/34\nf 34/34/34 37/37/37 38/38/38\nf 40/40/40 35/35/35 34/34/34\nf 34/34/34 39/39/39 40/40/40\nf 41/41/41 42/42/42 43/43/43\nf 43/43/43 44/44/44 41/41/41\nf 45/45/45 46/46/46 43/43/43\nf 43/43/43 42/42/42 45/45/45\nf 47/47/47 48/48/48 43/43/43\nf 43/43/43 46/46/46 47/47/47\nf 49/49/49 44/44/44 43/43/43\nf 43/43/43 48/48/48 49/49/49\nf 10/10/10 50/50/50 51/51/51\nf 51/51/51 11/11/11 10/10/10\nf 52/52/52 53/53/53 51/51/51\nf 51/51/51 50/50/50 52/52/52\nf 54/54/54 55/55/55 51/51/51\nf 51/51/51 53/53/53 54/54/54\nf 14/14/14 11/11/11 51/51/51\nf 51/51/51 55/55/55 14/14/14\nf 56/56/56 57/57/57 58/58/58\nf 58/58/58 59/59/59 56/56/56\nf 60/60/60 61/61/61 58/58/58\nf 58/58/58 57/57/57 60/60/60\nf 62/62/62 63/63/63 58/58/58\nf 58/58/58 61/61/61 62/62/62\nf 63/63/63 64/64/64 58/58/58\nf 65/65/65 59/59/59 58/58/58\nf 58/58/58 64/64/64 65/65/65\nf 62/62/62 61/61/61 66/66/66\nf 66/66/66 67/67/67 62/62/62\nf 60/60/60 68/68/68 66/66/66\nf 66/66/66 61/61/61 60/60/60\nf 69/69/69 70/70/70 66/66/66\nf 66/66/66 68/68/68 69/69/69\nf 71/71/71 72/72/72 66/66/66\nf 66/66/66 70/70/70 71/71/71\nf 73/73/73 74/74/74 66/66/66\nf 66/66/66 72/72/72 73/73/73\nf 75/75/75 67/67/67 66/66/66\nf 66/66/66 74/74/74 75/75/75\nf 10/10/10 76/76/76 77/77/77\nf 77/77/77 78/78/78 10/10/10\nf 79/79/79 80/80/80 77/77/77\nf 77/77/77 76/76/76 79/79/79\nf 81/81/81 82/82/82 77/77/77\nf 77/77/77 80/80/80 81/81/81\nf 77/77/77 82/82/82 83/83/83\nf 84/84/84 78/78/78 77/77/77\nf 77/77/77 83/83/83 84/84/84\nf 21/21/21 85/85/85 86/86/86\nf 86/86/86 22/22/22 21/21/21\nf 32/32/32 35/35/35 86/86/86\nf 86/86/86 85/85/85 32/32/32\nf 40/40/40 87/87/87 86/86/86\nf 86/86/86 35/35/35 40/40/40\nf 88/88/88 89/89/89 86/86/86\nf 86/86/86 87/87/87 88/88/88\nf 23/23/23 22/22/22 86/86/86\nf 86/86/86 89/89/89 23/23/23\nf 90/90/90 91/91/91 92/92/92\nf 92/92/92 93/93/93 90/90/90\nf 47/47/47 94/94/94 92/92/92\nf 92/92/92 91/91/91 47/47/47\nf 5/5/5 27/27/27 92/92/92\nf 92/92/92 94/94/94 5/5/5\nf 26/26/26 93/93/93 92/92/92\nf 92/92/92 27/27/27 26/26/26\nf 5/5/5 94/94/94 95/95/95\nf 95/95/95 6/6/6 5/5/5\nf 47/47/47 46/46/46 95/95/95\nf 95/95/95 94/94/94 47/47/47\nf 45/45/45 96/96/96 95/95/95\nf 95/95/95 46/46/46 45/45/45\nf 7/7/7 6/6/6 95/95/95\nf 95/95/95 96/96/96 7/7/7\nf 21/21/21 18/18/18 97/97/97\nf 97/97/97 98/98/98 21/21/21\nf 17/17/17 99/99/99 97/97/97\nf 97/97/97 18/18/18 17/17/17\nf 100/100/100 101/101/101 97/97/97\nf 97/97/97 99/99/99 100/100/100\nf 102/102/102 98/98/98 97/97/97\nf 97/97/97 101/101/101 102/102/102\nf 103/103/103 104/104/104 105/105/105\nf 105/105/105 106/106/106 103/103/103\nf 107/107/107 108/108/108 105/105/105\nf 105/105/105 104/104/104 107/107/107\nf 109/109/109 110/110/110 105/105/105\nf 105/105/105 108/108/108 109/109/109\nf 111/111/111 112/112/112 105/105/105\nf 105/105/105 110/110/110 111/111/111\nf 113/113/113 106/106/106 105/105/105\nf 105/105/105 112/112/112 113/113/113\nf 114/114/114 115/115/115 116/116/116\nf 116/116/116 115/115/115 117/117/117\nf 118/118/118 119/119/119 120/120/120\nf 120/120/120 121/121/121 118/118/118\nf 117/117/117 115/115/115 120/120/120\nf 120/120/120 119/119/119 117/117/117\nf 114/114/114 122/122/122 120/120/120\nf 120/120/120 115/115/115 114/114/114\nf 123/123/123 124/124/124 120/120/120\nf 120/120/120 122/122/122 123/123/123\nf 120/120/120 124/124/124 125/125/125\nf 126/126/126 127/127/127 120/120/120\nf 120/120/120 125/125/125 126/126/126\nf 128/128/128 121/121/121 120/120/120\nf 120/120/120 127/127/127 128/128/128\nf 129/129/129 130/130/130 131/131/131\nf 131/131/131 132/132/132 129/129/129\nf 133/133/133 134/134/134 131/131/131\nf 131/131/131 130/130/130 133/133/133\nf 135/135/135 132/132/132 131/131/131\nf 131/131/131 134/134/134 135/135/135\nf 136/136/136 137/137/137 138/138/138\nf 138/138/138 139/139/139 136/136/136\nf 140/140/140 141/141/141 138/138/138\nf 138/138/138 137/137/137 140/140/140\nf 142/142/142 139/139/139 138/138/138\nf 138/138/138 141/141/141 142/142/142\nf 143/143/143 144/144/144 145/145/145\nf 145/145/145 146/146/146 143/143/143\nf 147/147/147 148/148/148 145/145/145\nf 145/145/145 144/144/144 147/147/147\nf 145/145/145 148/148/148 149/149/149\nf 140/140/140 146/146/146 145/145/145\nf 145/145/145 149/149/149 140/140/140\nf 150/150/150 122/122/122 114/114/114\nf 81/81/81 151/151/151 150/150/150\nf 150/150/150 114/114/114 81/81/81\nf 152/152/152 153/153/153 150/150/150\nf 150/150/150 151/151/151 152/152/152\nf 123/123/123 122/122/122 150/150/150\nf 150/150/150 153/153/153 123/123/123\nf 154/154/154 155/155/155 156/156/156\nf 156/156/156 157/157/157 154/154/154\nf 158/158/158 159/159/159 156/156/156\nf 156/156/156 155/155/155 158/158/158\nf 156/156/156 159/159/159 160/160/160\nf 161/161/161 162/162/162 156/156/156\nf 156/156/156 160/160/160 161/161/161\nf 163/163/163 157/157/157 156/156/156\nf 156/156/156 162/162/162 163/163/163\nf 158/158/158 155/155/155 164/164/164\nf 164/164/164 165/165/165 158/158/158\nf 154/154/154 166/166/166 164/164/164\nf 164/164/164 155/155/155 154/154/154\nf 167/167/167 168/168/168 164/164/164\nf 164/164/164 166/166/166 167/167/167\nf 169/169/169 165/165/165 164/164/164\nf 164/164/164 168/168/168 169/169/169\nf 170/170/170 171/171/171 172/172/172\nf 172/172/172 173/173/173 170/170/170\nf 174/174/174 175/175/175 172/172/172\nf 172/172/172 171/171/171 174/174/174\nf 176/176/176 177/177/177 172/172/172\nf 172/172/172 175/175/175 176/176/176\nf 178/178/178 173/173/173 172/172/172\nf 172/172/172 177/177/177 178/178/178\nf 16/16/16 15/15/15 179/179/179\nf 179/179/179 180/180/180 16/16/16\nf 14/14/14 181/181/181 179/179/179\nf 179/179/179 15/15/15 14/14/14\nf 65/65/65 182/182/182 179/179/179\nf 179/179/179 181/181/181 65/65/65\nf 183/183/183 180/180/180 179/179/179\nf 179/179/179 182/182/182 183/183/183\nf 111/111/111 110/110/110 184/184/184\nf 184/184/184 185/185/185 111/111/111\nf 109/109/109 186/186/186 184/184/184\nf 184/184/184 110/110/110 109/109/109\nf 187/187/187 188/188/188 184/184/184\nf 184/184/184 186/186/186 187/187/187\nf 189/189/189 185/185/185 184/184/184\nf 184/184/184 188/188/188 189/189/189\nf 187/187/187 186/186/186 190/190/190\nf 190/190/190 191/191/191 187/187/187\nf 109/109/109 192/192/192 190/190/190\nf 190/190/190 186/186/186 109/109/109\nf 193/193/193 194/194/194 190/190/190\nf 190/190/190 192/192/192 193/193/193\nf 195/195/195 191/191/191 190/190/190\nf 190/190/190 194/194/194 195/195/195\nf 193/193/193 192/192/192 196/196/196\nf 196/196/196 197/197/197 193/193/193\nf 109/109/109 108/108/108 196/196/196\nf 196/196/196 192/192/192 109/109/109\nf 196/196/196 108/108/108 107/107/107\nf 198/198/198 199/199/199 200/200/200\nf 65/65/65 64/64/64 200/200/200\nf 200/200/200 199/199/199 65/65/65\nf 200/200/200 64/64/64 63/63/63\nf 107/107/107 104/104/104 201/201/201\nf 201/201/201 202/202/202 107/107/107\nf 103/103/103 203/203/203 201/201/201\nf 201/201/201 104/104/104 103/103/103\nf 198/198/198 202/202/202 201/201/201\nf 201/201/201 203/203/203 198/198/198\nf 204/204/204 200/200/200 205/205/205\nf 204/204/204 205/205/205 206/206/206\nf 206/206/206 207/207/207 204/204/204\nf 208/208/208 63/63/63 62/62/62\nf 193/193/193 197/197/197 208/208/208\nf 193/193/193 208/208/208 209/209/209\nf 209/209/209 194/194/194 193/193/193\nf 62/62/62 67/67/67 209/209/209\nf 209/209/209 208/208/208 62/62/62\nf 75/75/75 210/210/210 209/209/209\nf 209/209/209 67/67/67 75/75/75\nf 195/195/195 194/194/194 209/209/209\nf 209/209/209 210/210/210 195/195/195\nf 211/211/211 212/212/212 73/73/73\nf 169/169/169 168/168/168 211/211/211\nf 167/167/167 212/212/212 211/211/211\nf 211/211/211 168/168/168 167/167/167\nf 169/169/169 211/211/211 213/213/213\nf 213/213/213 214/214/214 169/169/169\nf 73/73/73 72/72/72 213/213/213\nf 213/213/213 211/211/211 73/73/73\nf 71/71/71 215/215/215 213/213/213\nf 213/213/213 72/72/72 71/71/71\nf 216/216/216 214/214/214 213/213/213\nf 213/213/213 215/215/215 216/216/216\nf 189/189/189 217/217/217 218/218/218\nf 218/218/218 185/185/185 189/189/189\nf 218/218/218 217/217/217 219/219/219\nf 220/220/220 221/221/221 218/218/218\nf 218/218/218 219/219/219 220/220/220\nf 133/133/133 222/222/222 218/218/218\nf 218/218/218 221/221/221 133/133/133\nf 111/111/111 185/185/185 218/218/218\nf 218/218/218 222/222/222 111/111/111\nf 111/111/111 222/222/222 223/223/223\nf 223/223/223 112/112/112 111/111/111\nf 133/133/133 224/224/224 223/223/223\nf 223/223/223 222/222/222 133/133/133\nf 225/225/225 226/226/226 223/223/223\nf 223/223/223 224/224/224 225/225/225\nf 113/113/113 112/112/112 223/223/223\nf 223/223/223 226/226/226 113/113/113\nf 227/227/227 228/228/228 229/229/229\nf 227/227/227 229/229/229 230/230/230\nf 140/140/140 231/231/231 227/227/227\nf 227/227/227 230/230/230 140/140/140\nf 170/170/170 173/173/173 227/227/227\nf 227/227/227 231/231/231 170/170/170\nf 178/178/178 228/228/228 227/227/227\nf 227/227/227 173/173/173 178/178/178\nf 140/140/140 149/149/149 231/231/231\nf 232/232/232 233/233/233 234/234/234\nf 234/234/234 235/235/235 232/232/232\nf 236/236/236 237/237/237 234/234/234\nf 234/234/234 233/233/233 236/236/236\nf 220/220/220 219/219/219 234/234/234\nf 234/234/234 237/237/237 220/220/220\nf 219/219/219 217/217/217 234/234/234\nf 189/189/189 238/238/238 234/234/234\nf 234/234/234 217/217/217 189/189/189\nf 163/163/163 235/235/235 234/234/234\nf 234/234/234 238/238/238 163/163/163\nf 163/163/163 238/238/238 239/239/239\nf 239/239/239 157/157/157 163/163/163\nf 189/189/189 188/188/188 239/239/239\nf 239/239/239 238/238/238 189/189/189\nf 187/187/187 240/240/240 239/239/239\nf 239/239/239 188/188/188 187/187/187\nf 154/154/154 157/157/157 239/239/239\nf 239/239/239 240/240/240 154/154/154\nf 154/154/154 240/240/240 241/241/241\nf 241/241/241 166/166/166 154/154/154\nf 187/187/187 191/191/191 241/241/241\nf 241/241/241 240/240/240 187/187/187\nf 195/195/195 242/242/242 241/241/241\nf 241/241/241 191/191/191 195/195/195\nf 167/167/167 166/166/166 241/241/241\nf 241/241/241 242/242/242 167/167/167\nf 167/167/167 242/242/242 243/243/243\nf 243/243/243 212/212/212 167/167/167\nf 195/195/195 210/210/210 243/243/243\nf 243/243/243 242/242/242 195/195/195\nf 75/75/75 74/74/74 243/243/243\nf 243/243/243 210/210/210 75/75/75\nf 73/73/73 212/212/212 243/243/243\nf 243/243/243 74/74/74 73/73/73\nf 197/197/197 196/196/196 244/244/244\nf 244/244/244 245/245/245 197/197/197\nf 107/107/107 246/246/246 244/244/244\nf 244/244/244 196/196/196 107/107/107\nf 107/107/107 202/202/202 247/247/247\nf 247/247/247 246/246/246 107/107/107\nf 247/247/247 202/202/202 198/198/198\nf 204/204/204 207/207/207 247/247/247\nf 247/247/247 198/198/198 204/204/204\nf 63/63/63 205/205/205 200/200/200\nf 204/204/204 198/198/198 200/200/200\nf 63/63/63 208/208/208 248/248/248\nf 248/248/248 205/205/205 63/63/63\nf 197/197/197 245/245/245 248/248/248\nf 248/248/248 208/208/208 197/197/197\nf 248/248/248 245/245/245 206/206/206\nf 206/206/206 205/205/205 248/248/248\nf 245/245/245 244/244/244 249/249/249\nf 249/249/249 244/244/244 246/246/246\nf 206/206/206 245/245/245 249/249/249\nf 247/247/247 206/206/206 249/249/249\nf 247/247/247 249/249/249 246/246/246\nf 247/247/247 207/207/207 206/206/206\nf 1/1/1 250/250/250 251/251/251\nf 251/251/251 30/30/30 1/1/1\nf 60/60/60 57/57/57 251/251/251\nf 251/251/251 250/250/250 60/60/60\nf 56/56/56 252/252/252 251/251/251\nf 251/251/251 57/57/57 56/56/56\nf 31/31/31 30/30/30 251/251/251\nf 251/251/251 252/252/252 31/31/31\nf 25/25/25 253/253/253 254/254/254\nf 254/254/254 20/20/20 25/25/25\nf 54/54/54 53/53/53 254/254/254\nf 254/254/254 253/253/253 54/54/54\nf 52/52/52 255/255/255 254/254/254\nf 254/254/254 53/53/53 52/52/52\nf 17/17/17 20/20/20 254/254/254\nf 254/254/254 255/255/255 17/17/17\nf 17/17/17 255/255/255 256/256/256\nf 256/256/256 99/99/99 17/17/17\nf 52/52/52 257/257/257 256/256/256\nf 256/256/256 255/255/255 52/52/52\nf 258/258/258 259/259/259 256/256/256\nf 256/256/256 257/257/257 258/258/258\nf 100/100/100 99/99/99 256/256/256\nf 256/256/256 259/259/259 100/100/100\nf 260/260/260 261/261/261 262/262/262\nf 262/262/262 263/263/263 260/260/260\nf 264/264/264 265/265/265 262/262/262\nf 262/262/262 261/261/261 264/264/264\nf 262/262/262 265/265/265 266/266/266\nf 260/260/260 267/267/267 268/268/268\nf 268/268/268 269/269/269 260/260/260\nf 270/270/270 271/271/271 268/268/268\nf 268/268/268 267/267/267 270/270/270\nf 272/272/272 269/269/269 268/268/268\nf 268/268/268 271/271/271 272/272/272\nf 220/220/220 237/237/237 273/273/273\nf 273/273/273 274/274/274 220/220/220\nf 236/236/236 262/262/262 273/273/273\nf 273/273/273 237/237/237 236/236/236\nf 266/266/266 275/275/275 273/273/273\nf 273/273/273 262/262/262 266/266/266\nf 276/276/276 274/274/274 273/273/273\nf 273/273/273 275/275/275 276/276/276\nf 277/277/277 278/278/278 224/224/224\nf 277/277/277 224/224/224 133/133/133\nf 279/279/279 280/280/280 277/277/277\nf 281/281/281 278/278/278 277/277/277\nf 277/277/277 280/280/280 281/281/281\nf 176/176/176 175/175/175 282/282/282\nf 282/282/282 283/283/283 176/176/176\nf 174/174/174 284/284/284 282/282/282\nf 282/282/282 175/175/175 174/174/174\nf 16/16/16 180/180/180 282/282/282\nf 282/282/282 284/284/284 16/16/16\nf 183/183/183 283/283/283 282/282/282\nf 282/282/282 180/180/180 183/183/183\nf 16/16/16 284/284/284 285/285/285\nf 285/285/285 13/13/13 16/16/16\nf 174/174/174 286/286/286 285/285/285\nf 285/285/285 284/284/284 174/174/174\nf 285/285/285 286/286/286 287/287/287\nf 79/79/79 76/76/76 285/285/285\nf 285/285/285 287/287/287 79/79/79\nf 10/10/10 13/13/13 285/285/285\nf 285/285/285 76/76/76 10/10/10\nf 65/65/65 199/199/199 288/288/288\nf 288/288/288 182/182/182 65/65/65\nf 198/198/198 289/289/289 288/288/288\nf 288/288/288 199/199/199 198/198/198\nf 183/183/183 182/182/182 288/288/288\nf 288/288/288 289/289/289 183/183/183\nf 183/183/183 289/289/289 290/290/290\nf 290/290/290 283/283/283 183/183/183\nf 198/198/198 203/203/203 290/290/290\nf 290/290/290 289/289/289 198/198/198\nf 103/103/103 291/291/291 290/290/290\nf 290/290/290 203/203/203 103/103/103\nf 176/176/176 283/283/283 290/290/290\nf 290/290/290 291/291/291 176/176/176\nf 176/176/176 291/291/291 292/292/292\nf 292/292/292 177/177/177 176/176/176\nf 103/103/103 106/106/106 292/292/292\nf 292/292/292 291/291/291 103/103/103\nf 113/113/113 293/293/293 292/292/292\nf 292/292/292 106/106/106 113/113/113\nf 178/178/178 177/177/177 292/292/292\nf 292/292/292 293/293/293 178/178/178\nf 178/178/178 293/293/293 294/294/294\nf 294/294/294 228/228/228 178/178/178\nf 113/113/113 226/226/226 294/294/294\nf 294/294/294 293/293/293 113/113/113\nf 294/294/294 226/226/226 225/225/225\nf 295/295/295 296/296/296 294/294/294\nf 294/294/294 225/225/225 295/295/295\nf 297/297/297 229/229/229 294/294/294\nf 294/294/294 296/296/296 297/297/297\nf 229/229/229 228/228/228 294/294/294\nf 297/297/297 296/296/296 298/298/298\nf 298/298/298 299/299/299 297/297/297\nf 295/295/295 278/278/278 298/298/298\nf 298/298/298 296/296/296 295/295/295\nf 300/300/300 301/301/301 298/298/298\nf 298/298/298 278/278/278 300/300/300\nf 302/302/302 299/299/299 298/298/298\nf 298/298/298 301/301/301 302/302/302\nf 303/303/303 304/304/304 305/305/305\nf 305/305/305 306/306/306 303/303/303\nf 307/307/307 308/308/308 305/305/305\nf 305/305/305 304/304/304 307/307/307\nf 309/309/309 306/306/306 305/305/305\nf 305/305/305 308/308/308 309/309/309\nf 310/310/310 311/311/311 307/307/307\nf 312/312/312 287/287/287 310/310/310\nf 312/312/312 310/310/310 307/307/307\nf 79/79/79 287/287/287 312/312/312\nf 287/287/287 286/286/286 313/313/313\nf 174/174/174 171/171/171 313/313/313\nf 313/313/313 286/286/286 174/174/174\nf 170/170/170 314/314/314 313/313/313\nf 313/313/313 171/171/171 170/170/170\nf 310/310/310 287/287/287 313/313/313\nf 313/313/313 314/314/314 310/310/310\nf 310/310/310 314/314/314 315/315/315\nf 170/170/170 231/231/231 315/315/315\nf 315/315/315 314/314/314 170/170/170\nf 149/149/149 316/316/316 315/315/315\nf 315/315/315 231/231/231 149/149/149\nf 311/311/311 310/310/310 315/315/315\nf 315/315/315 316/316/316 311/311/311\nf 311/311/311 316/316/316 317/317/317\nf 317/317/317 318/318/318 311/311/311\nf 149/149/149 148/148/148 317/317/317\nf 317/317/317 316/316/316 149/149/149\nf 147/147/147 319/319/319 317/317/317\nf 317/317/317 148/148/148 147/147/147\nf 320/320/320 318/318/318 317/317/317\nf 317/317/317 319/319/319 320/320/320\nf 152/152/152 79/79/79 321/321/321\nf 321/321/321 153/153/153 152/152/152\nf 79/79/79 312/312/312 321/321/321\nf 307/307/307 322/322/322 321/321/321\nf 321/321/321 312/312/312 307/307/307\nf 123/123/123 153/153/153 321/321/321\nf 321/321/321 322/322/322 123/123/123\nf 123/123/123 322/322/322 323/323/323\nf 323/323/323 124/124/124 123/123/123\nf 307/307/307 324/324/324 323/323/323\nf 323/323/323 322/322/322 307/307/307\nf 325/325/325 326/326/326 323/323/323\nf 323/323/323 324/324/324 325/325/325\nf 126/126/126 327/327/327 323/323/323\nf 323/323/323 326/326/326 126/126/126\nf 125/125/125 124/124/124 323/323/323\nf 323/323/323 327/327/327 125/125/125\nf 258/258/258 257/257/257 328/328/328\nf 328/328/328 329/329/329 258/258/258\nf 52/52/52 50/50/50 328/328/328\nf 328/328/328 257/257/257 52/52/52\nf 10/10/10 78/78/78 328/328/328\nf 328/328/328 50/50/50 10/10/10\nf 84/84/84 329/329/329 328/328/328\nf 328/328/328 78/78/78 84/84/84\nf 158/158/158 165/165/165 330/330/330\nf 330/330/330 331/331/331 158/158/158\nf 169/169/169 214/214/214 330/330/330\nf 330/330/330 165/165/165 169/169/169\nf 330/330/330 214/214/214 216/216/216\nf 36/36/36 33/33/33 332/332/332\nf 332/332/332 333/333/333 36/36/36\nf 32/32/32 85/85/85 332/332/332\nf 332/332/332 33/33/33 32/32/32\nf 21/21/21 98/98/98 332/332/332\nf 332/332/332 85/85/85 21/21/21\nf 102/102/102 333/333/333 332/332/332\nf 332/332/332 98/98/98 102/102/102\nf 83/83/83 82/82/82 334/334/334\nf 81/81/81 116/116/116 334/334/334\nf 334/334/334 82/82/82 81/81/81\nf 81/81/81 114/114/114 116/116/116\nf 335/335/335 336/336/336 337/337/337\nf 335/335/335 337/337/337 338/338/338\nf 260/260/260 263/263/263 335/335/335\nf 335/335/335 338/338/338 260/260/260\nf 263/263/263 339/339/339 335/335/335\nf 232/232/232 340/340/340 335/335/335\nf 335/335/335 339/339/339 232/232/232\nf 341/341/341 336/336/336 335/335/335\nf 335/335/335 340/340/340 341/341/341\nf 341/341/341 340/340/340 342/342/342\nf 342/342/342 343/343/343 341/341/341\nf 342/342/342 340/340/340 232/232/232\nf 232/232/232 235/235/235 342/342/342\nf 163/163/163 162/162/162 342/342/342\nf 342/342/342 235/235/235 163/163/163\nf 161/161/161 343/343/343 342/342/342\nf 342/342/342 162/162/162 161/161/161\nf 69/69/69 68/68/68 344/344/344\nf 344/344/344 345/345/345 69/69/69\nf 60/60/60 250/250/250 344/344/344\nf 344/344/344 68/68/68 60/60/60\nf 1/1/1 4/4/4 344/344/344\nf 344/344/344 250/250/250 1/1/1\nf 9/9/9 345/345/345 344/344/344\nf 344/344/344 4/4/4 9/9/9\nf 346/346/346 347/347/347 348/348/348\nf 348/348/348 349/349/349 346/346/346\nf 350/350/350 351/351/351 348/348/348\nf 348/348/348 347/347/347 350/350/350\nf 352/352/352 353/353/353 348/348/348\nf 348/348/348 351/351/351 352/352/352\nf 348/348/348 353/353/353 354/354/354\nf 354/354/354 355/355/355 348/348/348\nf 355/355/355 349/349/349 348/348/348\nf 356/356/356 357/357/357 358/358/358\nf 358/358/358 359/359/359 356/356/356\nf 360/360/360 361/361/361 358/358/358\nf 358/358/358 357/357/357 360/360/360\nf 272/272/272 271/271/271 358/358/358\nf 358/358/358 361/361/361 272/272/272\nf 270/270/270 359/359/359 358/358/358\nf 358/358/358 271/271/271 270/270/270\nf 362/362/362 363/363/363 364/364/364\nf 364/364/364 365/365/365 362/362/362\nf 366/366/366 367/367/367 364/364/364\nf 364/364/364 363/363/363 366/366/366\nf 266/266/266 265/265/265 364/364/364\nf 364/364/364 367/367/367 266/266/266\nf 264/264/264 365/365/365 364/364/364\nf 364/364/364 265/265/265 264/264/264\nf 266/266/266 367/367/367 368/368/368\nf 368/368/368 275/275/275 266/266/266\nf 366/366/366 369/369/369 368/368/368\nf 368/368/368 367/367/367 366/366/366\nf 370/370/370 371/371/371 368/368/368\nf 368/368/368 369/369/369 370/370/370\nf 276/276/276 275/275/275 368/368/368\nf 368/368/368 371/371/371 276/276/276\nf 372/372/372 373/373/373 374/374/374\nf 374/374/374 375/375/375 372/372/372\nf 376/376/376 377/377/377 374/374/374\nf 374/374/374 373/373/373 376/376/376\nf 129/129/129 132/132/132 374/374/374\nf 374/374/374 377/377/377 129/129/129\nf 135/135/135 375/375/375 374/374/374\nf 374/374/374 132/132/132 135/135/135\nf 378/378/378 379/379/379 380/380/380\nf 380/380/380 381/381/381 378/378/378\nf 382/382/382 383/383/383 380/380/380\nf 380/380/380 379/379/379 382/382/382\nf 281/281/281 280/280/280 380/380/380\nf 380/380/380 383/383/383 281/281/281\nf 279/279/279 381/381/381 380/380/380\nf 380/380/380 280/280/280 279/279/279\nf 300/300/300 383/383/383 384/384/384\nf 384/384/384 301/301/301 300/300/300\nf 385/385/385 386/386/386 384/384/384\nf 384/384/384 383/383/383 385/385/385\nf 387/387/387 388/388/388 384/384/384\nf 384/384/384 386/386/386 387/387/387\nf 302/302/302 301/301/301 384/384/384\nf 384/384/384 388/388/388 302/302/302\nf 389/389/389 390/390/390 391/391/391\nf 391/391/391 392/392/392 389/389/389\nf 393/393/393 394/394/394 391/391/391\nf 391/391/391 390/390/390 393/393/393\nf 136/136/136 139/139/139 391/391/391\nf 391/391/391 394/394/394 136/136/136\nf 142/142/142 392/392/392 391/391/391\nf 391/391/391 139/139/139 142/142/142\nf 395/395/395 396/396/396 397/397/397\nf 397/397/397 398/398/398 395/395/395\nf 399/399/399 400/400/400 397/397/397\nf 397/397/397 396/396/396 399/399/399\nf 147/147/147 144/144/144 397/397/397\nf 397/397/397 400/400/400 147/147/147\nf 143/143/143 398/398/398 397/397/397\nf 397/397/397 144/144/144 143/143/143\nf 147/147/147 400/400/400 401/401/401\nf 401/401/401 319/319/319 147/147/147\nf 399/399/399 402/402/402 401/401/401\nf 401/401/401 400/400/400 399/399/399\nf 403/403/403 404/404/404 401/401/401\nf 401/401/401 402/402/402 403/403/403\nf 320/320/320 319/319/319 401/401/401\nf 401/401/401 404/404/404 320/320/320\nf 405/405/405 406/406/406 407/407/407\nf 407/407/407 408/408/408 405/405/405\nf 409/409/409 410/410/410 407/407/407\nf 407/407/407 406/406/406 409/409/409\nf 303/303/303 306/306/306 407/407/407\nf 407/407/407 410/410/410 303/303/303\nf 309/309/309 408/408/408 407/407/407\nf 407/407/407 306/306/306 309/309/309\nf 411/411/411 412/412/412 413/413/413\nf 413/413/413 414/414/414 411/411/411\nf 415/415/415 416/416/416 413/413/413\nf 413/413/413 412/412/412 415/415/415\nf 126/126/126 326/326/326 413/413/413\nf 413/413/413 416/416/416 126/126/126\nf 325/325/325 414/414/414 413/413/413\nf 413/413/413 326/326/326 325/325/325\nf 126/126/126 417/417/417 418/418/418\nf 418/418/418 127/127/127 126/126/126\nf 419/419/419 420/420/420 418/418/418\nf 418/418/418 417/417/417 419/419/419\nf 421/421/421 422/422/422 418/418/418\nf 418/418/418 420/420/420 421/421/421\nf 128/128/128 127/127/127 418/418/418\nf 418/418/418 422/422/422 128/128/128\nf 423/423/423 424/424/424 425/425/425\nf 425/425/425 426/426/426 423/423/423\nf 409/409/409 406/406/406 427/427/427\nf 427/427/427 428/428/428 409/409/409\nf 405/405/405 429/429/429 427/427/427\nf 427/427/427 406/406/406 405/405/405\nf 430/430/430 431/431/431 427/427/427\nf 427/427/427 429/429/429 430/430/430\nf 432/432/432 428/428/428 427/427/427\nf 427/427/427 431/431/431 432/432/432\nf 403/403/403 402/402/402 433/433/433\nf 433/433/433 434/434/434 403/403/403\nf 399/399/399 435/435/435 433/433/433\nf 433/433/433 402/402/402 399/399/399\nf 436/436/436 437/437/437 433/433/433\nf 433/433/433 435/435/435 436/436/436\nf 438/438/438 434/434/434 433/433/433\nf 433/433/433 437/437/437 438/438/438\nf 399/399/399 396/396/396 439/439/439\nf 439/439/439 440/440/440 399/399/399\nf 395/395/395 441/441/441 439/439/439\nf 439/439/439 396/396/396 395/395/395\nf 442/442/442 443/443/443 439/439/439\nf 439/439/439 441/441/441 442/442/442\nf 444/444/444 440/440/440 439/439/439\nf 439/439/439 443/443/443 444/444/444\nf 393/393/393 390/390/390 445/445/445\nf 445/445/445 446/446/446 393/393/393\nf 389/389/389 447/447/447 445/445/445\nf 445/445/445 390/390/390 389/389/389\nf 448/448/448 449/449/449 445/445/445\nf 445/445/445 447/447/447 448/448/448\nf 450/450/450 446/446/446 445/445/445\nf 445/445/445 449/449/449 450/450/450\nf 387/387/387 386/386/386 451/451/451\nf 451/451/451 452/452/452 387/387/387\nf 385/385/385 453/453/453 451/451/451\nf 451/451/451 386/386/386 385/385/385\nf 454/454/454 455/455/455 451/451/451\nf 451/451/451 453/453/453 454/454/454\nf 456/456/456 452/452/452 451/451/451\nf 451/451/451 455/455/455 456/456/456\nf 382/382/382 379/379/379 457/457/457\nf 457/457/457 458/458/458 382/382/382\nf 378/378/378 459/459/459 457/457/457\nf 457/457/457 379/379/379 378/378/378\nf 460/460/460 461/461/461 457/457/457\nf 457/457/457 459/459/459 460/460/460\nf 462/462/462 458/458/458 457/457/457\nf 457/457/457 461/461/461 462/462/462\nf 376/376/376 373/373/373 463/463/463\nf 463/463/463 464/464/464 376/376/376\nf 372/372/372 465/465/465 463/463/463\nf 463/463/463 373/373/373 372/372/372\nf 466/466/466 467/467/467 463/463/463\nf 463/463/463 465/465/465 466/466/466\nf 468/468/468 464/464/464 463/463/463\nf 463/463/463 467/467/467 468/468/468\nf 370/370/370 369/369/369 469/469/469\nf 469/469/469 470/470/470 370/370/370\nf 366/366/366 471/471/471 469/469/469\nf 469/469/469 369/369/369 366/366/366\nf 472/472/472 473/473/473 469/469/469\nf 469/469/469 471/471/471 472/472/472\nf 474/474/474 470/470/470 469/469/469\nf 469/469/469 473/473/473 474/474/474\nf 366/366/366 363/363/363 475/475/475\nf 475/475/475 471/471/471 366/366/366\nf 362/362/362 476/476/476 475/475/475\nf 475/475/475 363/363/363 362/362/362\nf 477/477/477 478/478/478 475/475/475\nf 475/475/475 476/476/476 477/477/477\nf 472/472/472 471/471/471 475/475/475\nf 475/475/475 478/478/478 472/472/472\nf 360/360/360 357/357/357 479/479/479\nf 479/479/479 480/480/480 360/360/360\nf 356/356/356 481/481/481 479/479/479\nf 479/479/479 357/357/357 356/356/356\nf 482/482/482 483/483/483 479/479/479\nf 479/479/479 481/481/481 482/482/482\nf 484/484/484 480/480/480 479/479/479\nf 479/479/479 483/483/483 484/484/484\nf 354/354/354 485/485/485 486/486/486\nf 486/486/486 355/355/355 354/354/354\nf 487/487/487 488/488/488 486/486/486\nf 486/486/486 485/485/485 487/487/487\nf 421/421/421 420/420/420 489/489/489\nf 489/489/489 490/490/490 421/421/421\nf 419/419/419 491/491/491 489/489/489\nf 489/489/489 420/420/420 419/419/419\nf 492/492/492 493/493/493 489/489/489\nf 489/489/489 491/491/491 492/492/492\nf 494/494/494 490/490/490 489/489/489\nf 489/489/489 493/493/493 494/494/494\nf 415/415/415 412/412/412 495/495/495\nf 495/495/495 496/496/496 415/415/415\nf 411/411/411 497/497/497 495/495/495\nf 495/495/495 412/412/412 411/411/411\nf 498/498/498 499/499/499 495/495/495\nf 495/495/495 497/497/497 498/498/498\nf 500/500/500 496/496/496 495/495/495\nf 495/495/495 499/499/499 500/500/500\nf 260/260/260 269/269/269 501/501/501\nf 501/501/501 261/261/261 260/260/260\nf 272/272/272 502/502/502 501/501/501\nf 501/501/501 269/269/269 272/272/272\nf 264/264/264 261/261/261 501/501/501\nf 501/501/501 502/502/502 264/264/264\nf 264/264/264 502/502/502 503/503/503\nf 503/503/503 365/365/365 264/264/264\nf 272/272/272 361/361/361 503/503/503\nf 503/503/503 502/502/502 272/272/272\nf 360/360/360 504/504/504 503/503/503\nf 503/503/503 361/361/361 360/360/360\nf 362/362/362 365/365/365 503/503/503\nf 503/503/503 504/504/504 362/362/362\nf 362/362/362 504/504/504 505/505/505\nf 505/505/505 476/476/476 362/362/362\nf 360/360/360 480/480/480 505/505/505\nf 505/505/505 504/504/504 360/360/360\nf 484/484/484 506/506/506 505/505/505\nf 505/505/505 480/480/480 484/484/484\nf 477/477/477 476/476/476 505/505/505\nf 505/505/505 506/506/506 477/477/477\nf 260/260/260 338/338/338 507/507/507\nf 507/507/507 267/267/267 260/260/260\nf 338/338/338 508/508/508 507/507/507\nf 507/507/507 508/508/508 424/424/424\nf 423/423/423 509/509/509 507/507/507\nf 507/507/507 424/424/424 423/423/423\nf 270/270/270 267/267/267 507/507/507\nf 507/507/507 509/509/509 270/270/270\nf 270/270/270 509/509/509 510/510/510\nf 510/510/510 359/359/359 270/270/270\nf 423/423/423 426/426/426 510/510/510\nf 510/510/510 509/509/509 423/423/423\nf 426/426/426 511/511/511 510/510/510\nf 512/512/512 513/513/513 510/510/510\nf 510/510/510 511/511/511 512/512/512\nf 356/356/356 359/359/359 510/510/510\nf 510/510/510 513/513/513 356/356/356\nf 356/356/356 513/513/513 514/514/514\nf 514/514/514 481/481/481 356/356/356\nf 512/512/512 515/515/515 514/514/514\nf 514/514/514 513/513/513 512/512/512\nf 514/514/514 515/515/515 488/488/488\nf 514/514/514 488/488/488 487/487/487\nf 516/516/516 517/517/517 514/514/514\nf 514/514/514 487/487/487 516/516/516\nf 482/482/482 481/481/481 514/514/514\nf 514/514/514 517/517/517 482/482/482\nf 133/133/133 221/221/221 518/518/518\nf 518/518/518 134/134/134 133/133/133\nf 220/220/220 274/274/274 518/518/518\nf 518/518/518 221/221/221 220/220/220\nf 276/276/276 519/519/519 518/518/518\nf 518/518/518 274/274/274 276/276/276\nf 135/135/135 134/134/134 518/518/518\nf 518/518/518 519/519/519 135/135/135\nf 135/135/135 519/519/519 520/520/520\nf 520/520/520 375/375/375 135/135/135\nf 276/276/276 371/371/371 520/520/520\nf 520/520/520 519/519/519 276/276/276\nf 370/370/370 521/521/521 520/520/520\nf 520/520/520 371/371/371 370/370/370\nf 372/372/372 375/375/375 520/520/520\nf 520/520/520 521/521/521 372/372/372\nf 372/372/372 521/521/521 522/522/522\nf 522/522/522 465/465/465 372/372/372\nf 370/370/370 470/470/470 522/522/522\nf 522/522/522 521/521/521 370/370/370\nf 474/474/474 523/523/523 522/522/522\nf 522/522/522 470/470/470 474/474/474\nf 466/466/466 465/465/465 522/522/522\nf 522/522/522 523/523/523 466/466/466\nf 133/133/133 130/130/130 524/524/524\nf 524/524/524 277/277/277 133/133/133\nf 129/129/129 525/525/525 524/524/524\nf 524/524/524 130/130/130 129/129/129\nf 279/279/279 277/277/277 524/524/524\nf 524/524/524 525/525/525 279/279/279\nf 279/279/279 525/525/525 526/526/526\nf 526/526/526 381/381/381 279/279/279\nf 129/129/129 377/377/377 526/526/526\nf 526/526/526 525/525/525 129/129/129\nf 376/376/376 527/527/527 526/526/526\nf 526/526/526 377/377/377 376/376/376\nf 378/378/378 381/381/381 526/526/526\nf 526/526/526 527/527/527 378/378/378\nf 378/378/378 527/527/527 528/528/528\nf 528/528/528 459/459/459 378/378/378\nf 376/376/376 464/464/464 528/528/528\nf 528/528/528 527/527/527 376/376/376\nf 468/468/468 529/529/529 528/528/528\nf 528/528/528 464/464/464 468/468/468\nf 460/460/460 459/459/459 528/528/528\nf 528/528/528 529/529/529 460/460/460\nf 137/137/137 146/146/146 140/140/140\nf 143/143/143 146/146/146 137/137/137\nf 137/137/137 136/136/136 143/143/143\nf 143/143/143 136/136/136 530/530/530\nf 530/530/530 398/398/398 143/143/143\nf 136/136/136 394/394/394 530/530/530\nf 393/393/393 531/531/531 530/530/530\nf 530/530/530 394/394/394 393/393/393\nf 395/395/395 398/398/398 530/530/530\nf 530/530/530 531/531/531 395/395/395\nf 395/395/395 531/531/531 532/532/532\nf 532/532/532 441/441/441 395/395/395\nf 393/393/393 446/446/446 532/532/532\nf 532/532/532 531/531/531 393/393/393\nf 450/450/450 533/533/533 532/532/532\nf 532/532/532 446/446/446 450/450/450\nf 442/442/442 441/441/441 532/532/532\nf 532/532/532 533/533/533 442/442/442\nf 140/140/140 230/230/230 141/141/141\nf 230/230/230 299/299/299 141/141/141\nf 302/302/302 534/534/534 141/141/141\nf 141/141/141 299/299/299 302/302/302\nf 141/141/141 534/534/534 142/142/142\nf 142/142/142 534/534/534 535/535/535\nf 535/535/535 392/392/392 142/142/142\nf 302/302/302 388/388/388 535/535/535\nf 535/535/535 534/534/534 302/302/302\nf 387/387/387 536/536/536 535/535/535\nf 535/535/535 388/388/388 387/387/387\nf 389/389/389 392/392/392 535/535/535\nf 535/535/535 536/536/536 389/389/389\nf 389/389/389 536/536/536 537/537/537\nf 537/537/537 447/447/447 389/389/389\nf 387/387/387 452/452/452 537/537/537\nf 537/537/537 536/536/536 387/387/387\nf 538/538/538 539/539/539 537/537/537\nf 537/537/537 452/452/452 538/538/538\nf 448/448/448 447/447/447 537/537/537\nf 537/537/537 539/539/539 448/448/448\nf 307/307/307 311/311/311 540/540/540\nf 540/540/540 308/308/308 307/307/307\nf 311/311/311 318/318/318 540/540/540\nf 320/320/320 541/541/541 540/540/540\nf 540/540/540 318/318/318 320/320/320\nf 309/309/309 308/308/308 540/540/540\nf 540/540/540 541/541/541 309/309/309\nf 309/309/309 541/541/541 542/542/542\nf 542/542/542 408/408/408 309/309/309\nf 320/320/320 404/404/404 542/542/542\nf 542/542/542 541/541/541 320/320/320\nf 543/543/543 544/544/544 542/542/542\nf 542/542/542 404/404/404 543/543/543\nf 405/405/405 408/408/408 542/542/542\nf 542/542/542 544/544/544 405/405/405\nf 405/405/405 544/544/544 545/545/545\nf 545/545/545 429/429/429 405/405/405\nf 543/543/543 546/546/546 545/545/545\nf 545/545/545 544/544/544 543/543/543\nf 547/547/547 548/548/548 545/545/545\nf 545/545/545 546/546/546 547/547/547\nf 430/430/430 429/429/429 545/545/545\nf 545/545/545 548/548/548 430/430/430\nf 304/304/304 324/324/324 307/307/307\nf 303/303/303 549/549/549 304/304/304\nf 325/325/325 324/324/324 304/304/304\nf 304/304/304 549/549/549 325/325/325\nf 325/325/325 549/549/549 550/550/550\nf 550/550/550 414/414/414 325/325/325\nf 303/303/303 410/410/410 550/550/550\nf 550/550/550 549/549/549 303/303/303\nf 409/409/409 551/551/551 550/550/550\nf 550/550/550 410/410/410 409/409/409\nf 411/411/411 414/414/414 550/550/550\nf 550/550/550 551/551/551 411/411/411\nf 411/411/411 551/551/551 552/552/552\nf 552/552/552 497/497/497 411/411/411\nf 409/409/409 428/428/428 552/552/552\nf 552/552/552 551/551/551 409/409/409\nf 432/432/432 553/553/553 552/552/552\nf 552/552/552 428/428/428 432/432/432\nf 498/498/498 497/497/497 552/552/552\nf 552/552/552 553/553/553 498/498/498\nf 554/554/554 555/555/555 556/556/556\nf 556/556/556 557/557/557 554/554/554\nf 558/558/558 559/559/559 556/556/556\nf 556/556/556 555/555/555 558/558/558\nf 560/560/560 561/561/561 556/556/556\nf 556/556/556 559/559/559 560/560/560\nf 562/562/562 557/557/557 556/556/556\nf 556/556/556 561/561/561 562/562/562\nf 563/563/563 564/564/564 565/565/565\nf 565/565/565 566/566/566 563/563/563\nf 567/567/567 568/568/568 565/565/565\nf 565/565/565 564/564/564 567/567/567\nf 569/569/569 570/570/570 565/565/565\nf 565/565/565 568/568/568 569/569/569\nf 571/571/571 566/566/566 565/565/565\nf 565/565/565 570/570/570 571/571/571\nf 516/516/516 572/572/572 573/573/573\nf 573/573/573 517/517/517 516/516/516\nf 574/574/574 575/575/575 573/573/573\nf 573/573/573 572/572/572 574/574/574\nf 576/576/576 577/577/577 573/573/573\nf 573/573/573 575/575/575 576/576/576\nf 482/482/482 517/517/517 573/573/573\nf 573/573/573 577/577/577 482/482/482\nf 482/482/482 577/577/577 578/578/578\nf 578/578/578 483/483/483 482/482/482\nf 576/576/576 579/579/579 578/578/578\nf 578/578/578 577/577/577 576/576/576\nf 580/580/580 581/581/581 578/578/578\nf 578/578/578 579/579/579 580/580/580\nf 484/484/484 483/483/483 578/578/578\nf 578/578/578 581/581/581 484/484/484\nf 484/484/484 581/581/581 582/582/582\nf 582/582/582 506/506/506 484/484/484\nf 580/580/580 583/583/583 582/582/582\nf 582/582/582 581/581/581 580/580/580\nf 584/584/584 585/585/585 582/582/582\nf 582/582/582 583/583/583 584/584/584\nf 477/477/477 506/506/506 582/582/582\nf 582/582/582 585/585/585 477/477/477\nf 477/477/477 585/585/585 586/586/586\nf 586/586/586 478/478/478 477/477/477\nf 584/584/584 587/587/587 586/586/586\nf 586/586/586 585/585/585 584/584/584\nf 588/588/588 589/589/589 586/586/586\nf 586/586/586 587/587/587 588/588/588\nf 472/472/472 478/478/478 586/586/586\nf 586/586/586 589/589/589 472/472/472\nf 472/472/472 590/590/590 591/591/591\nf 591/591/591 473/473/473 472/472/472\nf 592/592/592 593/593/593 591/591/591\nf 591/591/591 590/590/590 592/592/592\nf 594/594/594 595/595/595 591/591/591\nf 591/591/591 593/593/593 594/594/594\nf 474/474/474 473/473/473 591/591/591\nf 591/591/591 595/595/595 474/474/474\nf 474/474/474 596/596/596 597/597/597\nf 597/597/597 523/523/523 474/474/474\nf 594/594/594 598/598/598 597/597/597\nf 597/597/597 596/596/596 594/594/594\nf 599/599/599 600/600/600 597/597/597\nf 597/597/597 598/598/598 599/599/599\nf 466/466/466 523/523/523 597/597/597\nf 597/597/597 600/600/600 466/466/466\nf 466/466/466 600/600/600 601/601/601\nf 601/601/601 467/467/467 466/466/466\nf 599/599/599 602/602/602 601/601/601\nf 601/601/601 600/600/600 599/599/599\nf 603/603/603 604/604/604 601/601/601\nf 601/601/601 602/602/602 603/603/603\nf 468/468/468 467/467/467 601/601/601\nf 601/601/601 604/604/604 468/468/468\nf 468/468/468 604/604/604 605/605/605\nf 605/605/605 529/529/529 468/468/468\nf 603/603/603 606/606/606 605/605/605\nf 605/605/605 604/604/604 603/603/603\nf 607/607/607 608/608/608 605/605/605\nf 605/605/605 606/606/606 607/607/607\nf 460/460/460 529/529/529 605/605/605\nf 605/605/605 608/608/608 460/460/460\nf 460/460/460 608/608/608 609/609/609\nf 609/609/609 461/461/461 460/460/460\nf 607/607/607 610/610/610 609/609/609\nf 609/609/609 608/608/608 607/607/607\nf 611/611/611 612/612/612 609/609/609\nf 609/609/609 610/610/610 611/611/611\nf 462/462/462 461/461/461 609/609/609\nf 609/609/609 612/612/612 462/462/462\nf 454/454/454 613/613/613 614/614/614\nf 614/614/614 455/455/455 454/454/454\nf 611/611/611 615/615/615 614/614/614\nf 614/614/614 613/613/613 611/611/611\nf 616/616/616 617/617/617 614/614/614\nf 614/614/614 615/615/615 616/616/616\nf 456/456/456 455/455/455 614/614/614\nf 614/614/614 617/617/617 456/456/456\nf 538/538/538 618/618/618 619/619/619\nf 619/619/619 539/539/539 538/538/538\nf 616/616/616 620/620/620 619/619/619\nf 619/619/619 618/618/618 616/616/616\nf 621/621/621 622/622/622 619/619/619\nf 619/619/619 620/620/620 621/621/621\nf 448/448/448 539/539/539 619/619/619\nf 619/619/619 622/622/622 448/448/448\nf 448/448/448 622/622/622 623/623/623\nf 623/623/623 449/449/449 448/448/448\nf 621/621/621 624/624/624 623/623/623\nf 623/623/623 622/622/622 621/621/621\nf 625/625/625 626/626/626 623/623/623\nf 623/623/623 624/624/624 625/625/625\nf 450/450/450 449/449/449 623/623/623\nf 623/623/623 626/626/626 450/450/450\nf 450/450/450 626/626/626 627/627/627\nf 627/627/627 533/533/533 450/450/450\nf 625/625/625 628/628/628 627/627/627\nf 627/627/627 626/626/626 625/625/625\nf 629/629/629 630/630/630 627/627/627\nf 627/627/627 628/628/628 629/629/629\nf 442/442/442 533/533/533 627/627/627\nf 627/627/627 630/630/630 442/442/442\nf 442/442/442 630/630/630 631/631/631\nf 631/631/631 443/443/443 442/442/442\nf 629/629/629 632/632/632 631/631/631\nf 631/631/631 630/630/630 629/629/629\nf 633/633/633 634/634/634 631/631/631\nf 631/631/631 632/632/632 633/633/633\nf 444/444/444 443/443/443 631/631/631\nf 631/631/631 634/634/634 444/444/444\nf 436/436/436 635/635/635 636/636/636\nf 636/636/636 437/437/437 436/436/436\nf 633/633/633 637/637/637 636/636/636\nf 636/636/636 635/635/635 633/633/633\nf 638/638/638 639/639/639 636/636/636\nf 636/636/636 637/637/637 638/638/638\nf 438/438/438 437/437/437 636/636/636\nf 636/636/636 639/639/639 438/438/438\nf 547/547/547 640/640/640 641/641/641\nf 641/641/641 548/548/548 547/547/547\nf 638/638/638 642/642/642 641/641/641\nf 641/641/641 640/640/640 638/638/638\nf 643/643/643 644/644/644 641/641/641\nf 641/641/641 642/642/642 643/643/643\nf 430/430/430 548/548/548 641/641/641\nf 641/641/641 644/644/644 430/430/430\nf 430/430/430 644/644/644 645/645/645\nf 645/645/645 431/431/431 430/430/430\nf 643/643/643 646/646/646 645/645/645\nf 645/645/645 644/644/644 643/643/643\nf 647/647/647 648/648/648 645/645/645\nf 645/645/645 646/646/646 647/647/647\nf 432/432/432 431/431/431 645/645/645\nf 645/645/645 648/648/648 432/432/432\nf 432/432/432 648/648/648 649/649/649\nf 649/649/649 553/553/553 432/432/432\nf 647/647/647 650/650/650 649/649/649\nf 649/649/649 648/648/648 647/647/647\nf 651/651/651 652/652/652 649/649/649\nf 649/649/649 650/650/650 651/651/651\nf 498/498/498 553/553/553 649/649/649\nf 649/649/649 652/652/652 498/498/498\nf 498/498/498 652/652/652 653/653/653\nf 653/653/653 499/499/499 498/498/498\nf 651/651/651 654/654/654 653/653/653\nf 653/653/653 652/652/652 651/651/651\nf 567/567/567 655/655/655 653/653/653\nf 653/653/653 654/654/654 567/567/567\nf 500/500/500 499/499/499 653/653/653\nf 653/653/653 655/655/655 500/500/500\nf 492/492/492 656/656/656 657/657/657\nf 657/657/657 493/493/493 492/492/492\nf 567/567/567 658/658/658 657/657/657\nf 657/657/657 656/656/656 567/567/567\nf 659/659/659 660/660/660 657/657/657\nf 657/657/657 658/658/658 659/659/659\nf 494/494/494 493/493/493 657/657/657\nf 657/657/657 660/660/660 494/494/494\nf 659/659/659 661/661/661 662/662/662\nf 662/662/662 660/660/660 659/659/659\nf 663/663/663 664/664/664 662/662/662\nf 662/662/662 661/661/661 663/663/663\nf 665/665/665 666/666/666 662/662/662\nf 662/662/662 664/664/664 665/665/665\nf 494/494/494 660/660/660 662/662/662\nf 662/662/662 666/666/666 494/494/494\nf 494/494/494 666/666/666 667/667/667\nf 667/667/667 490/490/490 494/494/494\nf 665/665/665 668/668/668 667/667/667\nf 667/667/667 666/666/666 665/665/665\nf 669/669/669 670/670/670 667/667/667\nf 667/667/667 668/668/668 669/669/669\nf 421/421/421 490/490/490 667/667/667\nf 667/667/667 670/670/670 421/421/421\nf 421/421/421 670/670/670 671/671/671\nf 671/671/671 422/422/422 421/421/421\nf 669/669/669 672/672/672 671/671/671\nf 671/671/671 670/670/670 669/669/669\nf 118/118/118 121/121/121 671/671/671\nf 671/671/671 672/672/672 118/118/118\nf 128/128/128 422/422/422 671/671/671\nf 671/671/671 121/121/121 128/128/128\nf 236/236/236 233/233/233 339/339/339\nf 339/339/339 233/233/233 232/232/232\nf 263/263/263 236/236/236 339/339/339\nf 262/262/262 236/236/236 263/263/263\nf 673/673/673 590/590/590 472/472/472\nf 472/472/472 589/589/589 673/673/673\nf 588/588/588 674/674/674 673/673/673\nf 673/673/673 589/589/589 588/588/588\nf 592/592/592 590/590/590 673/673/673\nf 673/673/673 674/674/674 592/592/592\nf 595/595/595 596/596/596 474/474/474\nf 594/594/594 596/596/596 595/595/595\nf 354/354/354 675/675/675 676/676/676\nf 676/676/676 675/675/675 677/677/677\nf 574/574/574 678/678/678 676/676/676\nf 676/676/676 677/677/677 574/574/574\nf 676/676/676 678/678/678 354/354/354\nf 516/516/516 487/487/487 679/679/679\nf 679/679/679 572/572/572 516/516/516\nf 487/487/487 485/485/485 679/679/679\nf 354/354/354 678/678/678 679/679/679\nf 679/679/679 485/485/485 354/354/354\nf 574/574/574 572/572/572 679/679/679\nf 679/679/679 678/678/678 574/574/574\nf 295/295/295 225/225/225 224/224/224\nf 297/297/297 230/230/230 229/229/229\nf 126/126/126 125/125/125 327/327/327\nf 295/295/295 224/224/224 278/278/278\nf 278/278/278 281/281/281 300/300/300\nf 299/299/299 230/230/230 297/297/297\nf 300/300/300 281/281/281 383/383/383\nf 383/383/383 382/382/382 385/385/385\nf 403/403/403 543/543/543 404/404/404\nf 416/416/416 417/417/417 126/126/126\nf 419/419/419 417/417/417 416/416/416\nf 416/416/416 415/415/415 419/419/419\nf 403/403/403 434/434/434 546/546/546\nf 546/546/546 543/543/543 403/403/403\nf 438/438/438 547/547/547 546/546/546\nf 546/546/546 434/434/434 438/438/438\nf 440/440/440 435/435/435 399/399/399\nf 436/436/436 435/435/435 440/440/440\nf 440/440/440 444/444/444 436/436/436\nf 456/456/456 538/538/538 452/452/452\nf 385/385/385 382/382/382 458/458/458\nf 458/458/458 453/453/453 385/385/385\nf 454/454/454 453/453/453 458/458/458\nf 458/458/458 462/462/462 454/454/454\nf 419/419/419 415/415/415 496/496/496\nf 496/496/496 491/491/491 419/419/419\nf 492/492/492 491/491/491 496/496/496\nf 496/496/496 500/500/500 492/492/492\nf 454/454/454 462/462/462 612/612/612\nf 612/612/612 613/613/613 454/454/454\nf 611/611/611 613/613/613 612/612/612\nf 680/680/680 618/618/618 538/538/538\nf 456/456/456 617/617/617 680/680/680\nf 680/680/680 538/538/538 456/456/456\nf 616/616/616 618/618/618 680/680/680\nf 680/680/680 617/617/617 616/616/616\nf 436/436/436 444/444/444 681/681/681\nf 681/681/681 635/635/635 436/436/436\nf 444/444/444 634/634/634 681/681/681\nf 633/633/633 635/635/635 681/681/681\nf 681/681/681 634/634/634 633/633/633\nf 682/682/682 640/640/640 547/547/547\nf 438/438/438 639/639/639 682/682/682\nf 682/682/682 547/547/547 438/438/438\nf 638/638/638 640/640/640 682/682/682\nf 682/682/682 639/639/639 638/638/638\nf 492/492/492 500/500/500 683/683/683\nf 683/683/683 656/656/656 492/492/492\nf 500/500/500 655/655/655 683/683/683\nf 567/567/567 656/656/656 683/683/683\nf 683/683/683 655/655/655 567/567/567\nf 47/47/47 91/91/91 684/684/684\nf 684/684/684 48/48/48 47/47/47\nf 90/90/90 685/685/685 684/684/684\nf 684/684/684 91/91/91 90/90/90\nf 49/49/49 48/48/48 684/684/684\nf 684/684/684 685/685/685 49/49/49\nf 686/686/686 687/687/687 688/688/688\nf 688/688/688 689/689/689 686/686/686\nf 88/88/88 87/87/87 688/688/688\nf 688/688/688 687/687/687 88/88/88\nf 40/40/40 689/689/689 688/688/688\nf 688/688/688 87/87/87 40/40/40\nf 65/65/65 181/181/181 690/690/690\nf 690/690/690 59/59/59 65/65/65\nf 14/14/14 55/55/55 690/690/690\nf 690/690/690 181/181/181 14/14/14\nf 54/54/54 691/691/691 690/690/690\nf 690/690/690 55/55/55 54/54/54\nf 56/56/56 59/59/59 690/690/690\nf 690/690/690 691/691/691 56/56/56\nf 56/56/56 691/691/691 692/692/692\nf 692/692/692 252/252/252 56/56/56\nf 54/54/54 253/253/253 692/692/692\nf 692/692/692 691/691/691 54/54/54\nf 25/25/25 693/693/693 692/692/692\nf 692/692/692 253/253/253 25/25/25\nf 31/31/31 252/252/252 692/692/692\nf 692/692/692 693/693/693 31/31/31\nf 31/31/31 693/693/693 694/694/694\nf 694/694/694 29/29/29 31/31/31\nf 25/25/25 24/24/24 694/694/694\nf 694/694/694 693/693/693 25/25/25\nf 23/23/23 695/695/695 694/694/694\nf 694/694/694 24/24/24 23/23/23\nf 26/26/26 29/29/29 694/694/694\nf 694/694/694 695/695/695 26/26/26\nf 26/26/26 695/695/695 696/696/696\nf 696/696/696 93/93/93 26/26/26\nf 23/23/23 89/89/89 696/696/696\nf 696/696/696 695/695/695 23/23/23\nf 88/88/88 697/697/697 696/696/696\nf 696/696/696 89/89/89 88/88/88\nf 90/90/90 93/93/93 696/696/696\nf 696/696/696 697/697/697 90/90/90\nf 90/90/90 697/697/697 698/698/698\nf 698/698/698 685/685/685 90/90/90\nf 88/88/88 687/687/687 698/698/698\nf 698/698/698 697/697/697 88/88/88\nf 686/686/686 699/699/699 698/698/698\nf 698/698/698 687/687/687 686/686/686\nf 49/49/49 685/685/685 698/698/698\nf 698/698/698 699/699/699 49/49/49\nf 49/49/49 699/699/699 700/700/700\nf 700/700/700 44/44/44 49/49/49\nf 686/686/686 701/701/701 700/700/700\nf 700/700/700 699/699/699 686/686/686\nf 702/702/702 703/703/703 700/700/700\nf 700/700/700 701/701/701 702/702/702\nf 41/41/41 44/44/44 700/700/700\nf 700/700/700 703/703/703 41/41/41\nf 38/38/38 704/704/704 705/705/705\nf 705/705/705 39/39/39 38/38/38\nf 702/702/702 701/701/701 705/705/705\nf 705/705/705 704/704/704 702/702/702\nf 686/686/686 689/689/689 705/705/705\nf 705/705/705 701/701/701 686/686/686\nf 40/40/40 39/39/39 705/705/705\nf 705/705/705 689/689/689 40/40/40\nf 706/706/706 707/707/707 708/708/708\nf 708/708/708 709/709/709 706/706/706\nf 710/710/710 711/711/711 708/708/708\nf 708/708/708 707/707/707 710/710/710\nf 712/712/712 713/713/713 708/708/708\nf 708/708/708 711/711/711 712/712/712\nf 714/714/714 709/709/709 708/708/708\nf 708/708/708 713/713/713 714/714/714\nf 588/588/588 715/715/715 716/716/716\nf 716/716/716 717/717/717 588/588/588\nf 718/718/718 719/719/719 716/716/716\nf 716/716/716 715/715/715 718/718/718\nf 720/720/720 721/721/721 716/716/716\nf 716/716/716 719/719/719 720/720/720\nf 722/722/722 717/717/717 716/716/716\nf 716/716/716 721/721/721 722/722/722\nf 723/723/723 724/724/724 725/725/725\nf 725/725/725 726/726/726 723/723/723\nf 727/727/727 728/728/728 725/725/725\nf 725/725/725 724/724/724 727/727/727\nf 714/714/714 713/713/713 725/725/725\nf 725/725/725 728/728/728 714/714/714\nf 712/712/712 726/726/726 725/725/725\nf 725/725/725 713/713/713 712/712/712\nf 729/729/729 730/730/730 731/731/731\nf 731/731/731 732/732/732 729/729/729\nf 733/733/733 734/734/734 731/731/731\nf 731/731/731 730/730/730 733/733/733\nf 722/722/722 721/721/721 731/731/731\nf 731/731/731 734/734/734 722/722/722\nf 720/720/720 732/732/732 731/731/731\nf 731/731/731 721/721/721 720/720/720\nf 735/735/735 736/736/736 737/737/737\nf 737/737/737 738/738/738 735/735/735\nf 727/727/727 724/724/724 737/737/737\nf 737/737/737 736/736/736 727/727/727\nf 723/723/723 738/738/738 737/737/737\nf 737/737/737 724/724/724 723/723/723\nf 735/735/735 739/739/739 740/740/740\nf 740/740/740 741/741/741 735/735/735\nf 733/733/733 730/730/730 740/740/740\nf 740/740/740 739/739/739 733/733/733\nf 729/729/729 741/741/741 740/740/740\nf 740/740/740 730/730/730 729/729/729\nf 718/718/718 742/742/742 743/743/743\nf 743/743/743 719/719/719 718/718/718\nf 706/706/706 709/709/709 743/743/743\nf 743/743/743 742/742/742 706/706/706\nf 714/714/714 744/744/744 743/743/743\nf 743/743/743 709/709/709 714/714/714\nf 720/720/720 719/719/719 743/743/743\nf 743/743/743 744/744/744 720/720/720\nf 720/720/720 744/744/744 745/745/745\nf 745/745/745 732/732/732 720/720/720\nf 714/714/714 728/728/728 745/745/745\nf 745/745/745 744/744/744 714/714/714\nf 727/727/727 746/746/746 745/745/745\nf 745/745/745 728/728/728 727/727/727\nf 729/729/729 732/732/732 745/745/745\nf 745/745/745 746/746/746 729/729/729\nf 729/729/729 746/746/746 747/747/747\nf 747/747/747 741/741/741 729/729/729\nf 727/727/727 736/736/736 747/747/747\nf 747/747/747 746/746/746 727/727/727\nf 735/735/735 741/741/741 747/747/747\nf 747/747/747 736/736/736 735/735/735\nf 710/710/710 748/748/748 749/749/749\nf 749/749/749 711/711/711 710/710/710\nf 677/677/677 675/675/675 749/749/749\nf 749/749/749 748/748/748 677/677/677\nf 354/354/354 353/353/353 749/749/749\nf 749/749/749 675/675/675 354/354/354\nf 749/749/749 353/353/353 352/352/352\nf 712/712/712 711/711/711 749/749/749\nf 749/749/749 352/352/352 712/712/712\nf 712/712/712 352/352/352 750/750/750\nf 750/750/750 726/726/726 712/712/712\nf 352/352/352 351/351/351 750/750/750\nf 350/350/350 751/751/751 750/750/750\nf 750/750/750 351/351/351 350/350/350\nf 723/723/723 726/726/726 750/750/750\nf 750/750/750 751/751/751 723/723/723\nf 723/723/723 751/751/751 752/752/752\nf 752/752/752 738/738/738 723/723/723\nf 350/350/350 347/347/347 752/752/752\nf 752/752/752 751/751/751 350/350/350\nf 346/346/346 753/753/753 752/752/752\nf 752/752/752 347/347/347 346/346/346\nf 735/735/735 738/738/738 752/752/752\nf 752/752/752 753/753/753 735/735/735\nf 592/592/592 674/674/674 754/754/754\nf 754/754/754 755/755/755 592/592/592\nf 588/588/588 717/717/717 754/754/754\nf 754/754/754 674/674/674 588/588/588\nf 722/722/722 756/756/756 754/754/754\nf 754/754/754 717/717/717 722/722/722\nf 757/757/757 755/755/755 754/754/754\nf 754/754/754 756/756/756 757/757/757\nf 594/594/594 593/593/593 758/758/758\nf 758/758/758 759/759/759 594/594/594\nf 592/592/592 755/755/755 758/758/758\nf 758/758/758 593/593/593 592/592/592\nf 757/757/757 760/760/760 758/758/758\nf 758/758/758 755/755/755 757/757/757\nf 761/761/761 759/759/759 758/758/758\nf 758/758/758 760/760/760 761/761/761\nf 611/611/611 762/762/762 763/763/763\nf 763/763/763 764/764/764 611/611/611\nf 765/765/765 766/766/766 763/763/763\nf 763/763/763 762/762/762 765/765/765\nf 767/767/767 768/768/768 763/763/763\nf 763/763/763 766/766/766 767/767/767\nf 769/769/769 764/764/764 763/763/763\nf 763/763/763 768/768/768 769/769/769\nf 770/770/770 771/771/771 772/772/772\nf 772/772/772 773/773/773 770/770/770\nf 774/774/774 775/775/775 772/772/772\nf 772/772/772 771/771/771 774/774/774\nf 776/776/776 777/777/777 772/772/772\nf 772/772/772 775/775/775 776/776/776\nf 778/778/778 773/773/773 772/772/772\nf 772/772/772 777/777/777 778/778/778\nf 734/734/734 756/756/756 722/722/722\nf 733/733/733 779/779/779 734/734/734\nf 757/757/757 756/756/756 734/734/734\nf 734/734/734 779/779/779 757/757/757\nf 757/757/757 779/779/779 780/780/780\nf 780/780/780 760/760/760 757/757/757\nf 733/733/733 781/781/781 780/780/780\nf 780/780/780 779/779/779 733/733/733\nf 782/782/782 783/783/783 780/780/780\nf 780/780/780 781/781/781 782/782/782\nf 761/761/761 760/760/760 780/780/780\nf 780/780/780 783/783/783 761/761/761\nf 784/784/784 785/785/785 786/786/786\nf 787/787/787 788/788/788 784/784/784\nf 784/784/784 786/786/786 787/787/787\nf 778/778/778 777/777/777 784/784/784\nf 784/784/784 788/788/788 778/778/778\nf 776/776/776 785/785/785 784/784/784\nf 784/784/784 777/777/777 776/776/776\nf 787/787/787 789/789/789 790/790/790\nf 790/790/790 791/791/791 787/787/787\nf 792/792/792 793/793/793 790/790/790\nf 790/790/790 789/789/789 792/792/792\nf 769/769/769 768/768/768 790/790/790\nf 790/790/790 793/793/793 769/769/769\nf 767/767/767 791/791/791 790/790/790\nf 790/790/790 768/768/768 767/767/767\nf 733/733/733 739/739/739 794/794/794\nf 735/735/735 795/795/795 794/794/794\nf 794/794/794 739/739/739 735/735/735\nf 794/794/794 795/795/795 733/733/733\nf 733/733/733 795/795/795 796/796/796\nf 796/796/796 781/781/781 733/733/733\nf 735/735/735 797/797/797 796/796/796\nf 796/796/796 795/795/795 735/735/735\nf 782/782/782 781/781/781 796/796/796\nf 796/796/796 797/797/797 782/782/782\nf 735/735/735 798/798/798 799/799/799\nf 799/799/799 800/800/800 735/735/735\nf 787/787/787 786/786/786 799/799/799\nf 799/799/799 798/798/798 787/787/787\nf 786/786/786 800/800/800 799/799/799\nf 735/735/735 801/801/801 802/802/802\nf 802/802/802 803/803/803 735/735/735\nf 792/792/792 789/789/789 802/802/802\nf 802/802/802 801/801/801 792/792/792\nf 787/787/787 803/803/803 802/802/802\nf 802/802/802 789/789/789 787/787/787\nf 765/765/765 804/804/804 805/805/805\nf 805/805/805 766/766/766 765/765/765\nf 770/770/770 773/773/773 805/805/805\nf 805/805/805 804/804/804 770/770/770\nf 778/778/778 806/806/806 805/805/805\nf 805/805/805 773/773/773 778/778/778\nf 767/767/767 766/766/766 805/805/805\nf 805/805/805 806/806/806 767/767/767\nf 767/767/767 806/806/806 788/788/788\nf 788/788/788 791/791/791 767/767/767\nf 788/788/788 806/806/806 778/778/778\nf 787/787/787 791/791/791 788/788/788\nf 807/807/807 803/803/803 787/787/787\nf 787/787/787 798/798/798 807/807/807\nf 735/735/735 803/803/803 807/807/807\nf 807/807/807 798/798/798 735/735/735\nf 774/774/774 808/808/808 809/809/809\nf 809/809/809 775/775/775 774/774/774\nf 594/594/594 759/759/759 809/809/809\nf 809/809/809 808/808/808 594/594/594\nf 761/761/761 810/810/810 809/809/809\nf 809/809/809 759/759/759 761/761/761\nf 776/776/776 775/775/775 809/809/809\nf 809/809/809 810/810/810 776/776/776\nf 776/776/776 810/810/810 811/811/811\nf 811/811/811 785/785/785 776/776/776\nf 761/761/761 783/783/783 811/811/811\nf 811/811/811 810/810/810 761/761/761\nf 782/782/782 786/786/786 811/811/811\nf 811/811/811 783/783/783 782/782/782\nf 786/786/786 785/785/785 811/811/811\nf 812/812/812 800/800/800 786/786/786\nf 782/782/782 797/797/797 812/812/812\nf 812/812/812 786/786/786 782/782/782\nf 735/735/735 800/800/800 812/812/812\nf 812/812/812 797/797/797 735/735/735\nf 616/616/616 615/615/615 813/813/813\nf 813/813/813 814/814/814 616/616/616\nf 611/611/611 764/764/764 813/813/813\nf 813/813/813 615/615/615 611/611/611\nf 769/769/769 815/815/815 813/813/813\nf 813/813/813 764/764/764 769/769/769\nf 816/816/816 814/814/814 813/813/813\nf 813/813/813 815/815/815 816/816/816\nf 633/633/633 817/817/817 818/818/818\nf 818/818/818 819/819/819 633/633/633\nf 820/820/820 821/821/821 818/818/818\nf 818/818/818 817/817/817 820/820/820\nf 822/822/822 823/823/823 818/818/818\nf 818/818/818 821/821/821 822/822/822\nf 824/824/824 819/819/819 818/818/818\nf 818/818/818 823/823/823 824/824/824\nf 769/769/769 793/793/793 825/825/825\nf 825/825/825 815/815/815 769/769/769\nf 792/792/792 826/826/826 825/825/825\nf 825/825/825 793/793/793 792/792/792\nf 827/827/827 828/828/828 825/825/825\nf 825/825/825 826/826/826 827/827/827\nf 816/816/816 815/815/815 825/825/825\nf 825/825/825 828/828/828 816/816/816\nf 827/827/827 829/829/829 830/830/830\nf 830/830/830 831/831/831 827/827/827\nf 829/829/829 832/832/832 830/830/830\nf 558/558/558 555/555/555 830/830/830\nf 830/830/830 832/832/832 558/558/558\nf 554/554/554 831/831/831 830/830/830\nf 830/830/830 555/555/555 554/554/554\nf 833/833/833 834/834/834 835/835/835\nf 836/836/836 837/837/837 833/833/833\nf 833/833/833 835/835/835 836/836/836\nf 824/824/824 823/823/823 833/833/833\nf 833/833/833 837/837/837 824/824/824\nf 822/822/822 834/834/834 833/833/833\nf 833/833/833 823/823/823 822/822/822\nf 792/792/792 801/801/801 838/838/838\nf 838/838/838 826/826/826 792/792/792\nf 735/735/735 839/839/839 838/838/838\nf 838/838/838 801/801/801 735/735/735\nf 827/827/827 826/826/826 838/838/838\nf 838/838/838 839/839/839 827/827/827\nf 735/735/735 840/840/840 841/841/841\nf 841/841/841 842/842/842 735/735/735\nf 841/841/841 840/840/840 829/829/829\nf 827/827/827 842/842/842 841/841/841\nf 841/841/841 829/829/829 827/827/827\nf 735/735/735 843/843/843 844/844/844\nf 844/844/844 845/845/845 735/735/735\nf 836/836/836 835/835/835 844/844/844\nf 844/844/844 843/843/843 836/836/836\nf 835/835/835 845/845/845 844/844/844\nf 820/820/820 846/846/846 847/847/847\nf 847/847/847 821/821/821 820/820/820\nf 560/560/560 559/559/559 847/847/847\nf 847/847/847 846/846/846 560/560/560\nf 558/558/558 848/848/848 847/847/847\nf 847/847/847 559/559/559 558/558/558\nf 822/822/822 821/821/821 847/847/847\nf 847/847/847 848/848/848 822/822/822\nf 822/822/822 848/848/848 849/849/849\nf 849/849/849 834/834/834 822/822/822\nf 558/558/558 832/832/832 849/849/849\nf 849/849/849 848/848/848 558/558/558\nf 849/849/849 832/832/832 829/829/829\nf 835/835/835 834/834/834 849/849/849\nf 849/849/849 829/829/829 835/835/835\nf 835/835/835 829/829/829 850/850/850\nf 850/850/850 845/845/845 835/835/835\nf 829/829/829 840/840/840 850/850/850\nf 735/735/735 845/845/845 850/850/850\nf 850/850/850 840/840/840 735/735/735\nf 562/562/562 851/851/851 852/852/852\nf 852/852/852 557/557/557 562/562/562\nf 616/616/616 814/814/814 852/852/852\nf 852/852/852 851/851/851 616/616/616\nf 816/816/816 853/853/853 852/852/852\nf 852/852/852 814/814/814 816/816/816\nf 554/554/554 557/557/557 852/852/852\nf 852/852/852 853/853/853 554/554/554\nf 554/554/554 853/853/853 831/831/831\nf 816/816/816 828/828/828 831/831/831\nf 831/831/831 853/853/853 816/816/816\nf 831/831/831 828/828/828 827/827/827\nf 854/854/854 842/842/842 827/827/827\nf 827/827/827 839/839/839 854/854/854\nf 735/735/735 842/842/842 854/854/854\nf 854/854/854 839/839/839 735/735/735\nf 638/638/638 637/637/637 855/855/855\nf 855/855/855 856/856/856 638/638/638\nf 633/633/633 819/819/819 855/855/855\nf 855/855/855 637/637/637 633/633/633\nf 824/824/824 857/857/857 855/855/855\nf 855/855/855 819/819/819 824/824/824\nf 858/858/858 856/856/856 855/855/855\nf 855/855/855 857/857/857 858/858/858\nf 859/859/859 860/860/860 861/861/861\nf 861/861/861 862/862/862 859/859/859\nf 663/663/663 661/661/661 861/861/861\nf 861/861/861 860/860/860 663/663/663\nf 659/659/659 863/863/863 861/861/861\nf 861/861/861 661/661/661 659/659/659\nf 864/864/864 862/862/862 861/861/861\nf 861/861/861 863/863/863 864/864/864\nf 865/865/865 866/866/866 867/867/867\nf 867/867/867 868/868/868 865/865/865\nf 869/869/869 870/870/870 867/867/867\nf 867/867/867 866/866/866 869/869/869\nf 871/871/871 872/872/872 867/867/867\nf 867/867/867 870/870/870 871/871/871\nf 872/872/872 868/868/868 867/867/867\nf 824/824/824 837/837/837 873/873/873\nf 873/873/873 857/857/857 824/824/824\nf 836/836/836 874/874/874 873/873/873\nf 873/873/873 837/837/837 836/836/836\nf 875/875/875 876/876/876 873/873/873\nf 873/873/873 874/874/874 875/875/875\nf 858/858/858 857/857/857 873/873/873\nf 873/873/873 876/876/876 858/858/858\nf 877/877/877 878/878/878 879/879/879\nf 879/879/879 880/880/880 877/877/877\nf 871/871/871 880/880/880 879/879/879\nf 879/879/879 872/872/872 871/871/871\nf 881/881/881 882/882/882 883/883/883\nf 883/883/883 884/884/884 881/881/881\nf 885/885/885 886/886/886 883/883/883\nf 883/883/883 882/882/882 885/885/885\nf 563/563/563 566/566/566 883/883/883\nf 883/883/883 886/886/886 563/563/563\nf 571/571/571 884/884/884 883/883/883\nf 883/883/883 566/566/566 571/571/571\nf 887/887/887 888/888/888 889/889/889\nf 889/889/889 890/890/890 887/887/887\nf 888/888/888 891/891/891 889/889/889\nf 859/859/859 862/862/862 889/889/889\nf 889/889/889 891/891/891 859/859/859\nf 864/864/864 890/890/890 889/889/889\nf 889/889/889 862/862/862 864/864/864\nf 836/836/836 843/843/843 892/892/892\nf 892/892/892 874/874/874 836/836/836\nf 735/735/735 893/893/893 892/892/892\nf 892/892/892 843/843/843 735/735/735\nf 875/875/875 874/874/874 892/892/892\nf 892/892/892 893/893/893 875/875/875\nf 735/735/735 894/894/894 895/895/895\nf 895/895/895 896/896/896 735/735/735\nf 895/895/895 894/894/894 878/878/878\nf 877/877/877 896/896/896 895/895/895\nf 895/895/895 878/878/878 877/877/877\nf 735/735/735 897/897/897 898/898/898\nf 898/898/898 899/899/899 735/735/735\nf 885/885/885 882/882/882 898/898/898\nf 898/898/898 897/897/897 885/885/885\nf 881/881/881 899/899/899 898/898/898\nf 898/898/898 882/882/882 881/881/881\nf 900/900/900 901/901/901 735/735/735\nf 887/887/887 901/901/901 900/900/900\nf 900/900/900 888/888/888 887/887/887\nf 869/869/869 902/902/902 903/903/903\nf 903/903/903 870/870/870 869/869/869\nf 638/638/638 856/856/856 903/903/903\nf 903/903/903 902/902/902 638/638/638\nf 858/858/858 904/904/904 903/903/903\nf 903/903/903 856/856/856 858/858/858\nf 871/871/871 870/870/870 903/903/903\nf 903/903/903 904/904/904 871/871/871\nf 871/871/871 904/904/904 905/905/905\nf 905/905/905 880/880/880 871/871/871\nf 858/858/858 876/876/876 905/905/905\nf 905/905/905 904/904/904 858/858/858\nf 875/875/875 906/906/906 905/905/905\nf 905/905/905 876/876/876 875/875/875\nf 877/877/877 880/880/880 905/905/905\nf 905/905/905 906/906/906 877/877/877\nf 877/877/877 906/906/906 907/907/907\nf 907/907/907 896/896/896 877/877/877\nf 875/875/875 893/893/893 907/907/907\nf 907/907/907 906/906/906 875/875/875\nf 735/735/735 896/896/896 907/907/907\nf 907/907/907 893/893/893 735/735/735\nf 569/569/569 908/908/908 909/909/909\nf 909/909/909 570/570/570 569/569/569\nf 865/865/865 868/868/868 909/909/909\nf 909/909/909 908/908/908 865/865/865\nf 872/872/872 910/910/910 909/909/909\nf 909/909/909 868/868/868 872/872/872\nf 571/571/571 570/570/570 909/909/909\nf 909/909/909 910/910/910 571/571/571\nf 571/571/571 910/910/910 911/911/911\nf 911/911/911 884/884/884 571/571/571\nf 872/872/872 879/879/879 911/911/911\nf 911/911/911 910/910/910 872/872/872\nf 911/911/911 879/879/879 878/878/878\nf 881/881/881 884/884/884 911/911/911\nf 911/911/911 878/878/878 881/881/881\nf 881/881/881 878/878/878 912/912/912\nf 912/912/912 899/899/899 881/881/881\nf 878/878/878 894/894/894 912/912/912\nf 735/735/735 899/899/899 912/912/912\nf 912/912/912 894/894/894 735/735/735\nf 659/659/659 658/658/658 913/913/913\nf 913/913/913 863/863/863 659/659/659\nf 567/567/567 564/564/564 913/913/913\nf 913/913/913 658/658/658 567/567/567\nf 563/563/563 914/914/914 913/913/913\nf 913/913/913 564/564/564 563/563/563\nf 864/864/864 863/863/863 913/913/913\nf 913/913/913 914/914/914 864/864/864\nf 864/864/864 914/914/914 915/915/915\nf 915/915/915 890/890/890 864/864/864\nf 563/563/563 886/886/886 915/915/915\nf 915/915/915 914/914/914 563/563/563\nf 885/885/885 916/916/916 915/915/915\nf 915/915/915 886/886/886 885/885/885\nf 887/887/887 890/890/890 915/915/915\nf 915/915/915 916/916/916 887/887/887\nf 887/887/887 916/916/916 917/917/917\nf 917/917/917 901/901/901 887/887/887\nf 885/885/885 897/897/897 917/917/917\nf 917/917/917 916/916/916 885/885/885\nf 735/735/735 901/901/901 917/917/917\nf 917/917/917 897/897/897 735/735/735\nf 918/918/918 919/919/919 920/920/920\nf 920/920/920 921/921/921 918/918/918\nf 922/922/922 923/923/923 920/920/920\nf 920/920/920 919/919/919 922/922/922\nf 924/924/924 925/925/925 920/920/920\nf 920/920/920 923/923/923 924/924/924\nf 926/926/926 921/921/921 920/920/920\nf 920/920/920 925/925/925 926/926/926\nf 922/922/922 927/927/927 928/928/928\nf 928/928/928 923/923/923 922/922/922\nf 929/929/929 930/930/930 928/928/928\nf 928/928/928 927/927/927 929/929/929\nf 930/930/930 931/931/931 928/928/928\nf 932/932/932 933/933/933 928/928/928\nf 928/928/928 931/931/931 932/932/932\nf 934/934/934 935/935/935 928/928/928\nf 928/928/928 933/933/933 934/934/934\nf 924/924/924 923/923/923 928/928/928\nf 928/928/928 935/935/935 924/924/924\nf 936/936/936 930/930/930 929/929/929\nf 937/937/937 938/938/938 939/939/939\nf 939/939/939 940/940/940 937/937/937\nf 939/939/939 938/938/938 941/941/941\nf 942/942/942 943/943/943 939/939/939\nf 939/939/939 941/941/941 942/942/942\nf 944/944/944 940/940/940 939/939/939\nf 939/939/939 943/943/943 944/944/944\nf 945/945/945 946/946/946 947/947/947\nf 947/947/947 948/948/948 945/945/945\nf 949/949/949 950/950/950 947/947/947\nf 947/947/947 946/946/946 949/949/949\nf 951/951/951 952/952/952 947/947/947\nf 947/947/947 950/950/950 951/951/951\nf 953/953/953 954/954/954 947/947/947\nf 947/947/947 952/952/952 953/953/953\nf 955/955/955 956/956/956 947/947/947\nf 947/947/947 954/954/954 955/955/955\nf 957/957/957 948/948/948 947/947/947\nf 947/947/947 956/956/956 957/957/957\nf 951/951/951 958/958/958 959/959/959\nf 959/959/959 952/952/952 951/951/951\nf 960/960/960 961/961/961 959/959/959\nf 959/959/959 958/958/958 960/960/960\nf 962/962/962 963/963/963 959/959/959\nf 959/959/959 961/961/961 962/962/962\nf 953/953/953 952/952/952 959/959/959\nf 959/959/959 963/963/963 953/953/953\nf 960/960/960 964/964/964 965/965/965\nf 965/965/965 961/961/961 960/960/960\nf 926/926/926 925/925/925 965/965/965\nf 965/965/965 964/964/964 926/926/926\nf 924/924/924 966/966/966 965/965/965\nf 965/965/965 925/925/925 924/924/924\nf 967/967/967 968/968/968 965/965/965\nf 965/965/965 966/966/966 967/967/967\nf 962/962/962 961/961/961 965/965/965\nf 965/965/965 968/968/968 962/962/962\nf 924/924/924 935/935/935 969/969/969\nf 969/969/969 966/966/966 924/924/924\nf 934/934/934 970/970/970 969/969/969\nf 969/969/969 935/935/935 934/934/934\nf 971/971/971 972/972/972 969/969/969\nf 969/969/969 970/970/970 971/971/971\nf 967/967/967 966/966/966 969/969/969\nf 969/969/969 972/972/972 967/967/967\nf 934/934/934 973/973/973 974/974/974\nf 974/974/974 970/970/970 934/934/934\nf 975/975/975 976/976/976 974/974/974\nf 974/974/974 973/973/973 975/975/975\nf 976/976/976 977/977/977 974/974/974\nf 977/977/977 978/978/978 974/974/974\nf 979/979/979 980/980/980 974/974/974\nf 974/974/974 978/978/978 979/979/979\nf 974/974/974 980/980/980 981/981/981\nf 974/974/974 981/981/981 982/982/982\nf 983/983/983 984/984/984 974/974/974\nf 974/974/974 982/982/982 983/983/983\nf 971/971/971 970/970/970 974/974/974\nf 974/974/974 984/984/984 971/971/971\nf 942/942/942 941/941/941 985/985/985\nf 941/941/941 986/986/986 985/985/985\nf 987/987/987 988/988/988 985/985/985\nf 985/985/985 986/986/986 987/987/987\nf 955/955/955 954/954/954 989/989/989\nf 989/989/989 986/986/986 955/955/955\nf 953/953/953 990/990/990 989/989/989\nf 989/989/989 954/954/954 953/953/953\nf 989/989/989 990/990/990 991/991/991\nf 992/992/992 986/986/986 989/989/989\nf 989/989/989 991/991/991 992/992/992\nf 953/953/953 963/963/963 993/993/993\nf 993/993/993 990/990/990 953/953/953\nf 962/962/962 994/994/994 993/993/993\nf 993/993/993 963/963/963 962/962/962\nf 993/993/993 994/994/994 995/995/995\nf 991/991/991 990/990/990 993/993/993\nf 993/993/993 995/995/995 991/991/991\nf 962/962/962 968/968/968 996/996/996\nf 996/996/996 994/994/994 962/962/962\nf 967/967/967 997/997/997 996/996/996\nf 996/996/996 968/968/968 967/967/967\nf 998/998/998 995/995/995 996/996/996\nf 996/996/996 997/997/997 998/998/998\nf 995/995/995 994/994/994 996/996/996\nf 967/967/967 999/999/999 1000/1000/1000\nf 1000/1000/1000 997/997/997 967/967/967\nf 1000/1000/1000 999/999/999 998/998/998\nf 998/998/998 997/997/997 1000/1000/1000\nf 967/967/967 1001/1001/1001 1002/1002/1002\nf 1002/1002/1002 999/999/999 967/967/967\nf 1002/1002/1002 1001/1001/1001 998/998/998\nf 998/998/998 999/999/999 1002/1002/1002\nf 967/967/967 972/972/972 1003/1003/1003\nf 1003/1003/1003 1001/1001/1001 967/967/967\nf 971/971/971 1004/1004/1004 1003/1003/1003\nf 1003/1003/1003 972/972/972 971/971/971\nf 1003/1003/1003 1004/1004/1004 1005/1005/1005\nf 998/998/998 1001/1001/1001 1003/1003/1003\nf 1003/1003/1003 1005/1005/1005 998/998/998\nf 971/971/971 984/984/984 1006/1006/1006\nf 1006/1006/1006 1004/1004/1004 971/971/971\nf 983/983/983 1007/1007/1007 1006/1006/1006\nf 1006/1006/1006 984/984/984 983/983/983\nf 1007/1007/1007 1008/1008/1008 1006/1006/1006\nf 1008/1008/1008 1009/1009/1009 1006/1006/1006\nf 1010/1010/1010 1011/1011/1011 1006/1006/1006\nf 1006/1006/1006 1009/1009/1009 1010/1010/1010\nf 1012/1012/1012 1013/1013/1013 1006/1006/1006\nf 1006/1006/1006 1013/1013/1013 1014/1014/1014\nf 1015/1015/1015 1016/1016/1016 1006/1006/1006\nf 1006/1006/1006 1014/1014/1014 1015/1015/1015\nf 1017/1017/1017 1018/1018/1018 1006/1006/1006\nf 1006/1006/1006 1016/1016/1016 1017/1017/1017\nf 1019/1019/1019 1005/1005/1005 1006/1006/1006\nf 1006/1006/1006 1018/1018/1018 1019/1019/1019\nf 1005/1005/1005 1004/1004/1004 1006/1006/1006\nf 1020/1020/1020 1021/1021/1021 942/942/942\nf 1022/1022/1022 1023/1023/1023 1020/1020/1020\nf 1020/1020/1020 988/988/988 1022/1022/1022\nf 1024/1024/1024 1025/1025/1025 1020/1020/1020\nf 1020/1020/1020 1023/1023/1023 1024/1024/1024\nf 1026/1026/1026 1027/1027/1027 1020/1020/1020\nf 1020/1020/1020 1025/1025/1025 1026/1026/1026\nf 1027/1027/1027 1028/1028/1028 1020/1020/1020\nf 1020/1020/1020 1028/1028/1028 1029/1029/1029\nf 1020/1020/1020 1030/1030/1030 1031/1031/1031\nf 1020/1020/1020 1031/1031/1031 1032/1032/1032\nf 1033/1033/1033 1021/1021/1021 1020/1020/1020\nf 1020/1020/1020 1032/1032/1032 1033/1033/1033\nf 942/942/942 985/985/985 1034/1034/1034\nf 1034/1034/1034 1020/1020/1020 942/942/942\nf 1034/1034/1034 985/985/985 988/988/988\nf 988/988/988 1020/1020/1020 1034/1034/1034\nf 987/987/987 992/992/992 1035/1035/1035\nf 1035/1035/1035 988/988/988 987/987/987\nf 992/992/992 1036/1036/1036 1035/1035/1035\nf 1035/1035/1035 1036/1036/1036 1037/1037/1037\nf 992/992/992 991/991/991 1036/1036/1036\nf 991/991/991 1038/1038/1038 1036/1036/1036\nf 1036/1036/1036 1038/1038/1038 1037/1037/1037\nf 991/991/991 995/995/995 1038/1038/1038\nf 1039/1039/1039 1037/1037/1037 1038/1038/1038\nf 998/998/998 1040/1040/1040 1038/1038/1038\nf 1038/1038/1038 995/995/995 998/998/998\nf 1038/1038/1038 1040/1040/1040 1039/1039/1039\nf 998/998/998 1005/1005/1005 1040/1040/1040\nf 1041/1041/1041 1039/1039/1039 1040/1040/1040\nf 1042/1042/1042 1040/1040/1040 1005/1005/1005\nf 1019/1019/1019 1043/1043/1043 1042/1042/1042\nf 1042/1042/1042 1005/1005/1005 1019/1019/1019\nf 1042/1042/1042 1044/1044/1044 1041/1041/1041\nf 1041/1041/1041 1040/1040/1040 1042/1042/1042\nf 1022/1022/1022 988/988/988 1035/1035/1035\nf 1035/1035/1035 1045/1045/1045 1022/1022/1022\nf 1037/1037/1037 1041/1041/1041 1035/1035/1035\nf 1041/1041/1041 1046/1046/1046 1035/1035/1035\nf 1042/1042/1042 1047/1047/1047 1035/1035/1035\nf 1035/1035/1035 1047/1047/1047 1045/1045/1045\nf 1037/1037/1037 1048/1048/1048 1049/1049/1049\nf 1049/1049/1049 1048/1048/1048 1050/1050/1050\nf 1048/1048/1048 1037/1037/1037 1039/1039/1039\nf 1048/1048/1048 1051/1051/1051 1050/1050/1050\nf 1039/1039/1039 1052/1052/1052 1048/1048/1048\nf 1053/1053/1053 1051/1051/1051 1048/1048/1048\nf 1048/1048/1048 1052/1052/1052 1053/1053/1053\nf 1052/1052/1052 1039/1039/1039 1041/1041/1041\nf 1052/1052/1052 1050/1050/1050 1053/1053/1053\nf 1041/1041/1041 1037/1037/1037 1052/1052/1052\nf 1037/1037/1037 1049/1049/1049 1052/1052/1052\nf 1052/1052/1052 1049/1049/1049 1050/1050/1050\nf 1050/1050/1050 1051/1051/1051 1054/1054/1054\nf 1054/1054/1054 1055/1055/1055 1050/1050/1050\nf 1056/1056/1056 1055/1055/1055 1054/1054/1054\nf 1054/1054/1054 1057/1057/1057 1056/1056/1056\nf 1054/1054/1054 1051/1051/1051 1053/1053/1053\nf 1058/1058/1058 1054/1054/1054 1053/1053/1053\nf 1059/1059/1059 1057/1057/1057 1058/1058/1058\nf 1057/1057/1057 1054/1054/1054 1058/1058/1058\nf 1053/1053/1053 1050/1050/1050 1058/1058/1058\nf 1055/1055/1055 1058/1058/1058 1050/1050/1050\nf 1059/1059/1059 1058/1058/1058 1055/1055/1055\nf 1056/1056/1056 1059/1059/1059 1055/1055/1055\nf 1060/1060/1060 1061/1061/1061 1056/1056/1056\nf 1062/1062/1062 1061/1061/1061 1060/1060/1060\nf 1056/1056/1056 1057/1057/1057 1060/1060/1060\nf 1057/1057/1057 1063/1063/1063 1060/1060/1060\nf 1060/1060/1060 1063/1063/1063 1062/1062/1062\nf 1057/1057/1057 1061/1061/1061 1063/1063/1063\nf 1063/1063/1063 1061/1061/1061 1062/1062/1062\nf 1061/1061/1061 1057/1057/1057 1059/1059/1059\nf 1061/1061/1061 1059/1059/1059 1056/1056/1056\nf 949/949/949 946/946/946 1064/1064/1064\nf 1064/1064/1064 1065/1065/1065 949/949/949\nf 945/945/945 1066/1066/1066 1064/1064/1064\nf 1064/1064/1064 946/946/946 945/945/945\nf 1064/1064/1064 1066/1066/1066 1067/1067/1067\nf 1068/1068/1068 1069/1069/1069 1064/1064/1064\nf 1064/1064/1064 1067/1067/1067 1068/1068/1068\nf 1070/1070/1070 1065/1065/1065 1064/1064/1064\nf 1064/1064/1064 1069/1069/1069 1070/1070/1070\nf 1071/1071/1071 1072/1072/1072 1073/1073/1073\nf 1073/1073/1073 1074/1074/1074 1071/1071/1071\nf 918/918/918 921/921/921 1073/1073/1073\nf 1073/1073/1073 1072/1072/1072 918/918/918\nf 926/926/926 964/964/964 1073/1073/1073\nf 1073/1073/1073 921/921/921 926/926/926\nf 960/960/960 1074/1074/1074 1073/1073/1073\nf 1073/1073/1073 964/964/964 960/960/960\nf 1070/1070/1070 1075/1075/1075 1076/1076/1076\nf 1076/1076/1076 1065/1065/1065 1070/1070/1070\nf 1077/1077/1077 1078/1078/1078 1076/1076/1076\nf 1076/1076/1076 1075/1075/1075 1077/1077/1077\nf 951/951/951 950/950/950 1076/1076/1076\nf 1076/1076/1076 1078/1078/1078 951/951/951\nf 949/949/949 1065/1065/1065 1076/1076/1076\nf 1076/1076/1076 950/950/950 949/949/949\nf 960/960/960 958/958/958 1079/1079/1079\nf 1079/1079/1079 1074/1074/1074 960/960/960\nf 951/951/951 1078/1078/1078 1079/1079/1079\nf 1079/1079/1079 958/958/958 951/951/951\nf 1077/1077/1077 1080/1080/1080 1079/1079/1079\nf 1079/1079/1079 1078/1078/1078 1077/1077/1077\nf 1071/1071/1071 1074/1074/1074 1079/1079/1079\nf 1079/1079/1079 1080/1080/1080 1071/1071/1071\nf 1081/1081/1081 1082/1082/1082 1083/1083/1083\nf 1083/1083/1083 1084/1084/1084 1081/1081/1081\nf 1085/1085/1085 1086/1086/1086 1083/1083/1083\nf 1083/1083/1083 1082/1082/1082 1085/1085/1085\nf 1087/1087/1087 1088/1088/1088 1083/1083/1083\nf 1083/1083/1083 1086/1086/1086 1087/1087/1087\nf 1089/1089/1089 1084/1084/1084 1083/1083/1083\nf 1083/1083/1083 1088/1088/1088 1089/1089/1089\nf 1090/1090/1090 1091/1091/1091 1092/1092/1092\nf 1092/1092/1092 1091/1091/1091 1093/1093/1093\nf 1092/1092/1092 1094/1094/1094 1095/1095/1095\nf 1095/1095/1095 1090/1090/1090 1092/1092/1092\nf 1096/1096/1096 1097/1097/1097 1095/1095/1095\nf 1095/1095/1095 1094/1094/1094 1096/1096/1096\nf 1096/1096/1096 1098/1098/1098 1099/1099/1099\nf 1099/1099/1099 1097/1097/1097 1096/1096/1096\nf 1100/1100/1100 1101/1101/1101 1099/1099/1099\nf 1099/1099/1099 1098/1098/1098 1100/1100/1100\nf 1102/1102/1102 1101/1101/1101 1100/1100/1100\nf 1103/1103/1103 1104/1104/1104 1102/1102/1102\nf 1104/1104/1104 1105/1105/1105 1102/1102/1102\nf 1102/1102/1102 1105/1105/1105 1101/1101/1101\nf 1103/1103/1103 1106/1106/1106 1107/1107/1107\nf 1107/1107/1107 1104/1104/1104 1103/1103/1103\nf 1108/1108/1108 1109/1109/1109 1107/1107/1107\nf 1107/1107/1107 1106/1106/1106 1108/1108/1108\nf 1110/1110/1110 1111/1111/1111 1112/1112/1112\nf 1110/1110/1110 1113/1113/1113 1111/1111/1111\nf 1114/1114/1114 1115/1115/1115 1116/1116/1116\nf 1116/1116/1116 1115/1115/1115 1117/1117/1117\nf 1111/1111/1111 1118/1118/1118 1112/1112/1112\nf 1110/1110/1110 1112/1112/1112 1118/1118/1118\nf 1118/1118/1118 1117/1117/1117 1119/1119/1119\nf 1110/1110/1110 1118/1118/1118 1119/1119/1119\nf 1116/1116/1116 1117/1117/1117 1114/1114/1114\nf 1105/1105/1105 1104/1104/1104 1118/1118/1118\nf 1097/1097/1097 1114/1114/1114 1095/1095/1095\nf 1114/1114/1114 1090/1090/1090 1095/1095/1095\nf 1091/1091/1091 1090/1090/1090 1114/1114/1114\nf 1114/1114/1114 1093/1093/1093 1091/1091/1091\nf 1120/1120/1120 1093/1093/1093 1114/1114/1114\nf 1117/1117/1117 1121/1121/1121 1120/1120/1120\nf 1122/1122/1122 1121/1121/1121 1117/1117/1117\nf 1122/1122/1122 1117/1117/1117 1123/1123/1123\nf 1123/1123/1123 1117/1117/1117 1124/1124/1124\nf 1118/1118/1118 1109/1109/1109 1124/1124/1124\nf 1124/1124/1124 1117/1117/1117 1118/1118/1118\nf 1107/1107/1107 1109/1109/1109 1118/1118/1118\nf 1118/1118/1118 1104/1104/1104 1107/1107/1107\nf 1108/1108/1108 1125/1125/1125 1124/1124/1124\nf 1124/1124/1124 1109/1109/1109 1108/1108/1108\nf 1126/1126/1126 1123/1123/1123 1124/1124/1124\nf 1124/1124/1124 1125/1125/1125 1126/1126/1126\nf 1122/1122/1122 1123/1123/1123 1126/1126/1126\nf 1127/1127/1127 1121/1121/1121 1122/1122/1122\nf 1128/1128/1128 1120/1120/1120 1121/1121/1121\nf 1128/1128/1128 1121/1121/1121 1127/1127/1127\nf 1093/1093/1093 1120/1120/1120 1128/1128/1128\nf 1114/1114/1114 1111/1111/1111 1113/1113/1113\nf 1119/1119/1119 1113/1113/1113 1110/1110/1110\nf 1117/1117/1117 1115/1115/1115 1119/1119/1119\nf 1119/1119/1119 1115/1115/1115 1113/1113/1113\nf 1115/1115/1115 1114/1114/1114 1113/1113/1113\nf 1117/1117/1117 1120/1120/1120 1114/1114/1114\nf 1111/1111/1111 1105/1105/1105 1118/1118/1118\nf 1101/1101/1101 1105/1105/1105 1111/1111/1111\nf 1111/1111/1111 1099/1099/1099 1101/1101/1101\nf 1097/1097/1097 1099/1099/1099 1111/1111/1111\nf 1097/1097/1097 1111/1111/1111 1114/1114/1114\nf 1106/1106/1106 1103/1103/1103 1089/1089/1089\nf 1129/1129/1129 1108/1108/1108 1106/1106/1106\nf 1129/1129/1129 1130/1130/1130 1126/1126/1126\nf 1126/1126/1126 1108/1108/1108 1129/1129/1129\nf 1126/1126/1126 1130/1130/1130 1131/1131/1131\nf 1132/1132/1132 1133/1133/1133 1126/1126/1126\nf 1126/1126/1126 1131/1131/1131 1132/1132/1132\nf 1126/1126/1126 1125/1125/1125 1108/1108/1108\nf 1132/1132/1132 1134/1134/1134 1127/1127/1127\nf 1127/1127/1127 1133/1133/1133 1132/1132/1132\nf 1092/1092/1092 1128/1128/1128 1127/1127/1127\nf 1127/1127/1127 1134/1134/1134 1092/1092/1092\nf 1126/1126/1126 1133/1133/1133 1127/1127/1127\nf 1127/1127/1127 1122/1122/1122 1126/1126/1126\nf 1128/1128/1128 1092/1092/1092 1093/1093/1093\nf 1135/1135/1135 1136/1136/1136 1137/1137/1137\nf 1137/1137/1137 1138/1138/1138 1135/1135/1135\nf 1081/1081/1081 1139/1139/1139 1137/1137/1137\nf 1137/1137/1137 1136/1136/1136 1081/1081/1081\nf 1096/1096/1096 1094/1094/1094 1137/1137/1137\nf 1137/1137/1137 1139/1139/1139 1096/1096/1096\nf 1092/1092/1092 1138/1138/1138 1137/1137/1137\nf 1137/1137/1137 1094/1094/1094 1092/1092/1092\nf 1081/1081/1081 1084/1084/1084 1100/1100/1100\nf 1100/1100/1100 1139/1139/1139 1081/1081/1081\nf 1089/1089/1089 1102/1102/1102 1100/1100/1100\nf 1100/1100/1100 1084/1084/1084 1089/1089/1089\nf 1096/1096/1096 1139/1139/1139 1100/1100/1100\nf 1100/1100/1100 1098/1098/1098 1096/1096/1096\nf 1089/1089/1089 1103/1103/1103 1102/1102/1102\nf 1132/1132/1132 1131/1131/1131 1140/1140/1140\nf 1141/1141/1141 1142/1142/1142 1143/1143/1143\nf 975/975/975 973/973/973 1141/1141/1141\nf 934/934/934 933/933/933 1141/1141/1141\nf 1141/1141/1141 973/973/973 934/934/934\nf 932/932/932 1142/1142/1142 1141/1141/1141\nf 1141/1141/1141 933/933/933 932/932/932\nf 1131/1131/1131 1144/1144/1144 1145/1145/1145\nf 1130/1130/1130 1146/1146/1146 1145/1145/1145\nf 1145/1145/1145 1144/1144/1144 1130/1130/1130\nf 1147/1147/1147 1131/1131/1131 1145/1145/1145\nf 1148/1148/1148 1146/1146/1146 1130/1130/1130\nf 1148/1148/1148 1149/1149/1149 1150/1150/1150\nf 1151/1151/1151 1152/1152/1152 1153/1153/1153\nf 1153/1153/1153 1154/1154/1154 1151/1151/1151\nf 1150/1150/1150 1149/1149/1149 1153/1153/1153\nf 1153/1153/1153 1152/1152/1152 1150/1150/1150\nf 1154/1154/1154 1142/1142/1142 1155/1155/1155\nf 1155/1155/1155 1142/1142/1142 932/932/932\nf 1155/1155/1155 932/932/932 1156/1156/1156\nf 1151/1151/1151 1154/1154/1154 1155/1155/1155\nf 932/932/932 931/931/931 1157/1157/1157\nf 1157/1157/1157 931/931/931 1158/1158/1158\nf 1157/1157/1157 1158/1158/1158 1159/1159/1159\nf 1156/1156/1156 932/932/932 1157/1157/1157\nf 1160/1160/1160 1161/1161/1161 1162/1162/1162\nf 1160/1160/1160 1163/1163/1163 1161/1161/1161\nf 1164/1164/1164 1165/1165/1165 1166/1166/1166\nf 1166/1166/1166 1165/1165/1165 1167/1167/1167\nf 1168/1168/1168 1163/1163/1163 1160/1160/1160\nf 1167/1167/1167 1163/1163/1163 1168/1168/1168\nf 1162/1162/1162 1161/1161/1161 1169/1169/1169\nf 1160/1160/1160 1162/1162/1162 1169/1169/1169\nf 1160/1160/1160 1169/1169/1169 1167/1167/1167\nf 1167/1167/1167 1168/1168/1168 1160/1160/1160\nf 1167/1167/1167 1164/1164/1164 1166/1166/1166\nf 1156/1156/1156 1161/1161/1161 1155/1155/1155\nf 1155/1155/1155 1161/1161/1161 1151/1151/1151\nf 1164/1164/1164 1146/1146/1146 1170/1170/1170\nf 1145/1145/1145 1146/1146/1146 1164/1164/1164\nf 1164/1164/1164 1147/1147/1147 1145/1145/1145\nf 1171/1171/1171 1147/1147/1147 1164/1164/1164\nf 1167/1167/1167 1172/1172/1172 1171/1171/1171\nf 1173/1173/1173 1172/1172/1172 1167/1167/1167\nf 1173/1173/1173 1167/1167/1167 1174/1174/1174\nf 1159/1159/1159 1169/1169/1169 1157/1157/1157\nf 1157/1157/1157 1169/1169/1169 1156/1156/1156\nf 1159/1159/1159 1158/1158/1158 930/930/930\nf 930/930/930 1175/1175/1175 1159/1159/1159\nf 1174/1174/1174 1175/1175/1175 930/930/930\nf 930/930/930 936/936/936 1173/1173/1173\nf 1173/1173/1173 1174/1174/1174 930/930/930\nf 1176/1176/1176 1172/1172/1172 1173/1173/1173\nf 1173/1173/1173 936/936/936 1176/1176/1176\nf 1176/1176/1176 1140/1140/1140 1171/1171/1171\nf 1171/1171/1171 1172/1172/1172 1176/1176/1176\nf 1171/1171/1171 1140/1140/1140 1131/1131/1131\nf 1171/1171/1171 1131/1131/1131 1147/1147/1147\nf 1170/1170/1170 1148/1148/1148 1150/1150/1150\nf 1146/1146/1146 1148/1148/1148 1170/1170/1170\nf 1161/1161/1161 1165/1165/1165 1164/1164/1164\nf 1163/1163/1163 1165/1165/1165 1161/1161/1161\nf 1165/1165/1165 1163/1163/1163 1167/1167/1167\nf 1167/1167/1167 1171/1171/1171 1164/1164/1164\nf 1174/1174/1174 1167/1167/1167 1169/1169/1169\nf 1169/1169/1169 1175/1175/1175 1174/1174/1174\nf 1159/1159/1159 1175/1175/1175 1169/1169/1169\nf 1156/1156/1156 1169/1169/1169 1161/1161/1161\nf 1161/1161/1161 1152/1152/1152 1151/1151/1151\nf 1150/1150/1150 1152/1152/1152 1161/1161/1161\nf 1161/1161/1161 1170/1170/1170 1150/1150/1150\nf 1164/1164/1164 1170/1170/1170 1161/1161/1161\nf 1129/1129/1129 1148/1148/1148 1130/1130/1130\nf 1130/1130/1130 1144/1144/1144 1131/1131/1131\nf 1129/1129/1129 1149/1149/1149 1148/1148/1148\nf 1153/1153/1153 1149/1149/1149 1129/1129/1129\nf 1143/1143/1143 1154/1154/1154 1153/1153/1153\nf 1142/1142/1142 1154/1154/1154 1143/1143/1143\nf 930/930/930 1158/1158/1158 931/931/931\nf 1177/1177/1177 1178/1178/1178 1179/1179/1179\nf 1178/1178/1178 1180/1180/1180 1179/1179/1179\nf 1178/1178/1178 1088/1088/1088 1180/1180/1180\nf 1087/1087/1087 1181/1181/1181 1180/1180/1180\nf 1180/1180/1180 1088/1088/1088 1087/1087/1087\nf 1182/1182/1182 1181/1181/1181 1087/1087/1087\nf 1182/1182/1182 1183/1183/1183 1184/1184/1184\nf 1184/1184/1184 1183/1183/1183 1185/1185/1185\nf 1184/1184/1184 1185/1185/1185 1186/1186/1186\nf 1186/1186/1186 1185/1185/1185 1187/1187/1187\nf 1188/1188/1188 1189/1189/1189 1190/1190/1190\nf 1180/1180/1180 1181/1181/1181 1182/1182/1182\nf 1184/1184/1184 1186/1186/1186 1191/1191/1191\nf 1192/1192/1192 1182/1182/1182 1184/1184/1184\nf 1184/1184/1184 1191/1191/1191 1192/1192/1192\nf 1180/1180/1180 1182/1182/1182 1192/1192/1192\nf 1193/1193/1193 1190/1190/1190 1179/1179/1179\nf 1193/1193/1193 1194/1194/1194 1190/1190/1190\nf 1194/1194/1194 1188/1188/1188 1190/1190/1190\nf 1188/1188/1188 1194/1194/1194 1191/1191/1191\nf 1195/1195/1195 1188/1188/1188 1191/1191/1191\nf 1191/1191/1191 1187/1187/1187 1195/1195/1195\nf 1186/1186/1186 1187/1187/1187 1191/1191/1191\nf 1195/1195/1195 1196/1196/1196 1188/1188/1188\nf 1196/1196/1196 1197/1197/1197 1188/1188/1188\nf 1197/1197/1197 1189/1189/1189 1188/1188/1188\nf 1106/1106/1106 1190/1190/1190 1189/1189/1189\nf 1106/1106/1106 1189/1189/1189 1197/1197/1197\nf 1177/1177/1177 1190/1190/1190 1106/1106/1106\nf 1179/1179/1179 1190/1190/1190 1177/1177/1177\nf 1191/1191/1191 1193/1193/1193 1192/1192/1192\nf 1194/1194/1194 1193/1193/1193 1191/1191/1191\nf 1193/1193/1193 1180/1180/1180 1192/1192/1192\nf 1179/1179/1179 1180/1180/1180 1193/1193/1193\nf 1106/1106/1106 1197/1197/1197 1129/1129/1129\nf 1089/1089/1089 1177/1177/1177 1106/1106/1106\nf 1178/1178/1178 1177/1177/1177 1089/1089/1089\nf 1088/1088/1088 1178/1178/1178 1089/1089/1089\nf 1183/1183/1183 1182/1182/1182 1087/1087/1087\nf 1198/1198/1198 1185/1185/1185 1183/1183/1183\nf 1199/1199/1199 1185/1185/1185 1198/1198/1198\nf 1129/1129/1129 1196/1196/1196 1199/1199/1199\nf 1196/1196/1196 1195/1195/1195 1199/1199/1199\nf 1187/1187/1187 1185/1185/1185 1199/1199/1199\nf 1199/1199/1199 1195/1195/1195 1187/1187/1187\nf 1197/1197/1197 1196/1196/1196 1129/1129/1129\nf 1200/1200/1200 1201/1201/1201 1143/1143/1143\nf 1202/1202/1202 1203/1203/1203 1204/1204/1204\nf 1205/1205/1205 1206/1206/1206 1204/1204/1204\nf 1204/1204/1204 1203/1203/1203 1205/1205/1205\nf 1205/1205/1205 1207/1207/1207 1206/1206/1206\nf 1206/1206/1206 1207/1207/1207 1208/1208/1208\nf 1201/1201/1201 1200/1200/1200 1209/1209/1209\nf 1210/1210/1210 1203/1203/1203 1211/1211/1211\nf 1201/1201/1201 1212/1212/1212 1213/1213/1213\nf 1210/1210/1210 1211/1211/1211 1213/1213/1213\nf 1213/1213/1213 1212/1212/1212 1210/1210/1210\nf 1212/1212/1212 1201/1201/1201 1209/1209/1209\nf 1207/1207/1207 1214/1214/1214 1215/1215/1215\nf 1215/1215/1215 1214/1214/1214 1216/1216/1216\nf 1215/1215/1215 1216/1216/1216 1217/1217/1217\nf 1208/1208/1208 1207/1207/1207 1215/1215/1215\nf 1216/1216/1216 1209/1209/1209 1218/1218/1218\nf 1216/1216/1216 1218/1218/1218 1217/1217/1217\nf 1153/1153/1153 1209/1209/1209 1200/1200/1200\nf 1153/1153/1153 1200/1200/1200 1143/1143/1143\nf 1218/1218/1218 1209/1209/1209 1153/1153/1153\nf 1211/1211/1211 1203/1203/1203 1202/1202/1202\nf 1210/1210/1210 1212/1212/1212 1214/1214/1214\nf 1209/1209/1209 1214/1214/1214 1212/1212/1212\nf 1209/1209/1209 1216/1216/1216 1214/1214/1214\nf 1214/1214/1214 1207/1207/1207 1205/1205/1205\nf 1205/1205/1205 1203/1203/1203 1214/1214/1214\nf 1214/1214/1214 1203/1203/1203 1210/1210/1210\nf 1129/1129/1129 1218/1218/1218 1153/1153/1153\nf 1129/1129/1129 1217/1217/1217 1218/1218/1218\nf 1199/1199/1199 1217/1217/1217 1129/1129/1129\nf 1198/1198/1198 1208/1208/1208 1199/1199/1199\nf 1208/1208/1208 1215/1215/1215 1199/1199/1199\nf 1199/1199/1199 1215/1215/1215 1217/1217/1217\nf 1206/1206/1206 1208/1208/1208 1198/1198/1198\nf 1198/1198/1198 1219/1219/1219 1204/1204/1204\nf 1204/1204/1204 1206/1206/1206 1198/1198/1198\nf 975/975/975 1202/1202/1202 1204/1204/1204\nf 1204/1204/1204 1219/1219/1219 975/975/975\nf 1141/1141/1141 1202/1202/1202 975/975/975\nf 1143/1143/1143 1201/1201/1201 1141/1141/1141\nf 1201/1201/1201 1213/1213/1213 1141/1141/1141\nf 1211/1211/1211 1202/1202/1202 1141/1141/1141\nf 1141/1141/1141 1213/1213/1213 1211/1211/1211\nf 976/976/976 1220/1220/1220 977/977/977\nf 977/977/977 1220/1220/1220 1221/1221/1221\nf 1222/1222/1222 1223/1223/1223 1224/1224/1224\nf 1223/1223/1223 1222/1222/1222 1221/1221/1221\nf 1225/1225/1225 1219/1219/1219 1226/1226/1226\nf 1226/1226/1226 1220/1220/1220 976/976/976\nf 1220/1220/1220 1227/1227/1227 1223/1223/1223\nf 1223/1223/1223 1221/1221/1221 1220/1220/1220\nf 1227/1227/1227 1220/1220/1220 1226/1226/1226\nf 1226/1226/1226 1219/1219/1219 1227/1227/1227\nf 1228/1228/1228 1227/1227/1227 1219/1219/1219\nf 1227/1227/1227 1228/1228/1228 1223/1223/1223\nf 1224/1224/1224 1223/1223/1223 1228/1228/1228\nf 1219/1219/1219 1225/1225/1225 975/975/975\nf 1226/1226/1226 975/975/975 1225/1225/1225\nf 1198/1198/1198 1229/1229/1229 1228/1228/1228\nf 1228/1228/1228 1219/1219/1219 1198/1198/1198\nf 1228/1228/1228 1229/1229/1229 1224/1224/1224\nf 1222/1222/1222 1224/1224/1224 1230/1230/1230\nf 1221/1221/1221 1222/1222/1222 1230/1230/1230\nf 975/975/975 1226/1226/1226 976/976/976\nf 1231/1231/1231 1232/1232/1232 1233/1233/1233\nf 1234/1234/1234 1233/1233/1233 1232/1232/1232\nf 1235/1235/1235 1224/1224/1224 1236/1236/1236\nf 1236/1236/1236 1224/1224/1224 1229/1229/1229\nf 1235/1235/1235 1236/1236/1236 1234/1234/1234\nf 1234/1234/1234 1236/1236/1236 1237/1237/1237\nf 1231/1231/1231 1233/1233/1233 1238/1238/1238\nf 1239/1239/1239 1231/1231/1231 1240/1240/1240\nf 1240/1240/1240 1231/1231/1231 1238/1238/1238\nf 1238/1238/1238 1237/1237/1237 1241/1241/1241\nf 1241/1241/1241 1240/1240/1240 1238/1238/1238\nf 1229/1229/1229 1241/1241/1241 1237/1237/1237\nf 1237/1237/1237 1236/1236/1236 1229/1229/1229\nf 1237/1237/1237 1238/1238/1238 1234/1234/1234\nf 1233/1233/1233 1234/1234/1234 1238/1238/1238\nf 1198/1198/1198 1183/1183/1183 1241/1241/1241\nf 1241/1241/1241 1229/1229/1229 1198/1198/1198\nf 1087/1087/1087 1240/1240/1240 1241/1241/1241\nf 1241/1241/1241 1183/1183/1183 1087/1087/1087\nf 1087/1087/1087 1231/1231/1231 1239/1239/1239\nf 1239/1239/1239 1240/1240/1240 1087/1087/1087\nf 1230/1230/1230 1224/1224/1224 1235/1235/1235\nf 1235/1235/1235 1234/1234/1234 1230/1230/1230\nf 1242/1242/1242 1243/1243/1243 1244/1244/1244\nf 1245/1245/1245 1246/1246/1246 1247/1247/1247\nf 1247/1247/1247 1248/1248/1248 1244/1244/1244\nf 1249/1249/1249 1242/1242/1242 1244/1244/1244\nf 1249/1249/1249 1248/1248/1248 1234/1234/1234\nf 1248/1248/1248 1246/1246/1246 1234/1234/1234\nf 1247/1247/1247 1246/1246/1246 1248/1248/1248\nf 1248/1248/1248 1249/1249/1249 1244/1244/1244\nf 1230/1230/1230 1245/1245/1245 1247/1247/1247\nf 1246/1246/1246 1245/1245/1245 1230/1230/1230\nf 1234/1234/1234 1246/1246/1246 1230/1230/1230\nf 1232/1232/1232 1249/1249/1249 1234/1234/1234\nf 1242/1242/1242 1249/1249/1249 1232/1232/1232\nf 1250/1250/1250 1251/1251/1251 979/979/979\nf 1252/1252/1252 979/979/979 1251/1251/1251\nf 1221/1221/1221 1253/1253/1253 1254/1254/1254\nf 1255/1255/1255 1253/1253/1253 1221/1221/1221\nf 1256/1256/1256 1252/1252/1252 1251/1251/1251\nf 1250/1250/1250 1256/1256/1256 1251/1251/1251\nf 1256/1256/1256 1250/1250/1250 1254/1254/1254\nf 1254/1254/1254 1253/1253/1253 1256/1256/1256\nf 1247/1247/1247 1252/1252/1252 1256/1256/1256\nf 1230/1230/1230 1247/1247/1247 1253/1253/1253\nf 1230/1230/1230 1253/1253/1253 1255/1255/1255\nf 1253/1253/1253 1247/1247/1247 1256/1256/1256\nf 977/977/977 1254/1254/1254 978/978/978\nf 1254/1254/1254 1250/1250/1250 978/978/978\nf 978/978/978 1250/1250/1250 979/979/979\nf 1254/1254/1254 977/977/977 1221/1221/1221\nf 1230/1230/1230 1255/1255/1255 1221/1221/1221\nf 1252/1252/1252 1257/1257/1257 1258/1258/1258\nf 1259/1259/1259 1260/1260/1260 1261/1261/1261\nf 1258/1258/1258 1261/1261/1261 980/980/980\nf 1262/1262/1262 1259/1259/1259 1261/1261/1261\nf 1262/1262/1262 1261/1261/1261 1258/1258/1258\nf 1258/1258/1258 1257/1257/1257 1262/1262/1262\nf 1257/1257/1257 1263/1263/1263 1262/1262/1262\nf 1263/1263/1263 1259/1259/1259 1262/1262/1262\nf 981/981/981 1261/1261/1261 1260/1260/1260\nf 980/980/980 1261/1261/1261 981/981/981\nf 979/979/979 1258/1258/1258 980/980/980\nf 1252/1252/1252 1258/1258/1258 979/979/979\nf 1257/1257/1257 1252/1252/1252 1247/1247/1247\nf 1263/1263/1263 1257/1257/1257 1247/1247/1247\nf 1264/1264/1264 1259/1259/1259 1263/1263/1263\nf 1264/1264/1264 1260/1260/1260 1259/1259/1259\nf 1265/1265/1265 1266/1266/1266 1267/1267/1267\nf 1266/1266/1266 1268/1268/1268 1267/1267/1267\nf 1269/1269/1269 1268/1268/1268 1266/1266/1266\nf 1269/1269/1269 1266/1266/1266 1244/1244/1244\nf 1263/1263/1263 1244/1244/1244 1266/1266/1266\nf 1263/1263/1263 1266/1266/1266 1265/1265/1265\nf 1243/1243/1243 1269/1269/1269 1244/1244/1244\nf 1264/1264/1264 1265/1265/1265 1267/1267/1267\nf 1263/1263/1263 1265/1265/1265 1264/1264/1264\nf 1244/1244/1244 1263/1263/1263 1247/1247/1247\nf 945/945/945 1270/1270/1270 1271/1271/1271\nf 1271/1271/1271 1066/1066/1066 945/945/945\nf 1085/1085/1085 1082/1082/1082 1271/1271/1271\nf 1271/1271/1271 1270/1270/1270 1085/1085/1085\nf 1081/1081/1081 1136/1136/1136 1271/1271/1271\nf 1271/1271/1271 1082/1082/1082 1081/1081/1081\nf 1135/1135/1135 1272/1272/1272 1271/1271/1271\nf 1271/1271/1271 1136/1136/1136 1135/1135/1135\nf 1067/1067/1067 1066/1066/1066 1271/1271/1271\nf 1271/1271/1271 1272/1272/1272 1067/1067/1067\nf 957/957/957 956/956/956 1273/1273/1273\nf 1273/1273/1273 1274/1274/1274 957/957/957\nf 955/955/955 1275/1275/1275 1273/1273/1273\nf 1273/1273/1273 956/956/956 955/955/955\nf 941/941/941 938/938/938 1273/1273/1273\nf 1273/1273/1273 1275/1275/1275 941/941/941\nf 937/937/937 1274/1274/1274 1273/1273/1273\nf 1273/1273/1273 938/938/938 937/937/937\nf 1260/1260/1260 1264/1264/1264 1276/1276/1276\nf 1276/1276/1276 1277/1277/1277 1278/1278/1278\nf 1277/1277/1277 1279/1279/1279 1278/1278/1278\nf 1278/1278/1278 1279/1279/1279 981/981/981\nf 981/981/981 1260/1260/1260 1278/1278/1278\nf 1260/1260/1260 1276/1276/1276 1278/1278/1278\nf 1277/1277/1277 1276/1276/1276 1280/1280/1280\nf 982/982/982 1279/1279/1279 1277/1277/1277\nf 982/982/982 981/981/981 1279/1279/1279\nf 1281/1281/1281 1282/1282/1282 1283/1283/1283\nf 1281/1281/1281 1283/1283/1283 1284/1284/1284\nf 1267/1267/1267 1284/1284/1284 1283/1283/1283\nf 1283/1283/1283 1276/1276/1276 1267/1267/1267\nf 1282/1282/1282 1276/1276/1276 1283/1283/1283\nf 1267/1267/1267 1276/1276/1276 1264/1264/1264\nf 1276/1276/1276 1282/1282/1282 1280/1280/1280\nf 1284/1284/1284 1267/1267/1267 1268/1268/1268\nf 1281/1281/1281 1284/1284/1284 1268/1268/1268\nf 1285/1285/1285 1286/1286/1286 1287/1287/1287\nf 1277/1277/1277 1287/1287/1287 1286/1286/1286\nf 1280/1280/1280 1287/1287/1287 1277/1277/1277\nf 1285/1285/1285 1287/1287/1287 1288/1288/1288\nf 1280/1280/1280 1288/1288/1288 1287/1287/1287\nf 1289/1289/1289 983/983/983 1285/1285/1285\nf 983/983/983 1286/1286/1286 1285/1285/1285\nf 983/983/983 982/982/982 1286/1286/1286\nf 982/982/982 1277/1277/1277 1286/1286/1286\nf 1285/1285/1285 1288/1288/1288 1289/1289/1289\nf 1290/1290/1290 1291/1291/1291 1288/1288/1288\nf 1290/1290/1290 1292/1292/1292 943/943/943\nf 1292/1292/1292 1282/1282/1282 943/943/943\nf 1288/1288/1288 1282/1282/1282 1292/1292/1292\nf 1292/1292/1292 1290/1290/1290 1288/1288/1288\nf 1288/1288/1288 1291/1291/1291 1289/1289/1289\nf 1280/1280/1280 1282/1282/1282 1288/1288/1288\nf 1281/1281/1281 944/944/944 1282/1282/1282\nf 1282/1282/1282 944/944/944 943/943/943\nf 1290/1290/1290 943/943/943 942/942/942\nf 1289/1289/1289 1291/1291/1291 1290/1290/1290\nf 983/983/983 1293/1293/1293 1007/1007/1007\nf 1294/1294/1294 1293/1293/1293 1295/1295/1295\nf 1294/1294/1294 1007/1007/1007 1293/1293/1293\nf 1295/1295/1295 1293/1293/1293 1289/1289/1289\nf 1289/1289/1289 1293/1293/1293 983/983/983\nf 1289/1289/1289 1296/1296/1296 1295/1295/1295\nf 1296/1296/1296 1289/1289/1289 1290/1290/1290\nf 942/942/942 1021/1021/1021 1290/1290/1290\nf 1290/1290/1290 1021/1021/1021 1033/1033/1033\nf 1296/1296/1296 1290/1290/1290 1033/1033/1033\nf 1297/1297/1297 1294/1294/1294 1298/1298/1298\nf 1299/1299/1299 1298/1298/1298 1294/1294/1294\nf 1008/1008/1008 1297/1297/1297 1298/1298/1298\nf 1297/1297/1297 1008/1008/1008 1007/1007/1007\nf 1294/1294/1294 1297/1297/1297 1007/1007/1007\nf 1299/1299/1299 1294/1294/1294 1295/1295/1295\nf 1300/1300/1300 1299/1299/1299 1296/1296/1296\nf 1301/1301/1301 1300/1300/1300 1296/1296/1296\nf 1033/1033/1033 1032/1032/1032 1301/1301/1301\nf 1300/1300/1300 1301/1301/1301 1032/1032/1032\nf 1298/1298/1298 1299/1299/1299 1300/1300/1300\nf 1296/1296/1296 1299/1299/1299 1295/1295/1295\nf 1033/1033/1033 1301/1301/1301 1296/1296/1296\nf 1302/1302/1302 1303/1303/1303 1298/1298/1298\nf 1303/1303/1303 1302/1302/1302 1010/1010/1010\nf 1010/1010/1010 1009/1009/1009 1303/1303/1303\nf 1303/1303/1303 1009/1009/1009 1008/1008/1008\nf 1008/1008/1008 1298/1298/1298 1303/1303/1303\nf 1304/1304/1304 1010/1010/1010 1302/1302/1302\nf 1302/1302/1302 1305/1305/1305 1304/1304/1304\nf 1300/1300/1300 1305/1305/1305 1302/1302/1302\nf 1300/1300/1300 1302/1302/1302 1298/1298/1298\nf 1032/1032/1032 1031/1031/1031 1300/1300/1300\nf 1300/1300/1300 1031/1031/1031 1305/1305/1305\nf 1304/1304/1304 1305/1305/1305 1031/1031/1031\nf 1306/1306/1306 1307/1307/1307 1011/1011/1011\nf 1306/1306/1306 1011/1011/1011 1010/1010/1010\nf 1010/1010/1010 1304/1304/1304 1306/1306/1306\nf 1308/1308/1308 1306/1306/1306 1304/1304/1304\nf 1308/1308/1308 1309/1309/1309 1306/1306/1306\nf 1308/1308/1308 1030/1030/1030 1309/1309/1309\nf 1031/1031/1031 1308/1308/1308 1304/1304/1304\nf 1031/1031/1031 1030/1030/1030 1308/1308/1308\nf 1307/1307/1307 1306/1306/1306 1309/1309/1309\nf 1012/1012/1012 1307/1307/1307 1310/1310/1310\nf 1006/1006/1006 1307/1307/1307 1012/1012/1012\nf 1011/1011/1011 1307/1307/1307 1006/1006/1006\nf 1309/1309/1309 1020/1020/1020 1310/1310/1310\nf 1030/1030/1030 1020/1020/1020 1309/1309/1309\nf 1012/1012/1012 1310/1310/1310 1020/1020/1020\nf 1020/1020/1020 1311/1311/1311 1012/1012/1012\nf 1309/1309/1309 1310/1310/1310 1307/1307/1307\nf 1012/1012/1012 1312/1312/1312 1013/1013/1013\nf 1311/1311/1311 1029/1029/1029 1312/1312/1312\nf 1012/1012/1012 1311/1311/1311 1312/1312/1312\nf 1311/1311/1311 1020/1020/1020 1029/1029/1029\nf 1014/1014/1014 1013/1013/1013 1313/1313/1313\nf 1014/1014/1014 1313/1313/1313 1314/1314/1314\nf 1013/1013/1013 1312/1312/1312 1313/1313/1313\nf 1029/1029/1029 1027/1027/1027 1314/1314/1314\nf 1314/1314/1314 1313/1313/1313 1029/1029/1029\nf 1029/1029/1029 1313/1313/1313 1312/1312/1312\nf 1029/1029/1029 1028/1028/1028 1027/1027/1027\nf 1014/1014/1014 1314/1314/1314 1015/1015/1015\nf 1314/1314/1314 1026/1026/1026 1015/1015/1015\nf 1315/1315/1315 1026/1026/1026 1314/1314/1314\nf 1027/1027/1027 1315/1315/1315 1314/1314/1314\nf 1315/1315/1315 1027/1027/1027 1026/1026/1026\nf 1015/1015/1015 1316/1316/1316 1017/1017/1017\nf 1017/1017/1017 1016/1016/1016 1015/1015/1015\nf 1316/1316/1316 1015/1015/1015 1026/1026/1026\nf 1026/1026/1026 1025/1025/1025 1024/1024/1024\nf 1024/1024/1024 1316/1316/1316 1026/1026/1026\nf 1019/1019/1019 1017/1017/1017 1316/1316/1316\nf 1022/1022/1022 1019/1019/1019 1316/1316/1316\nf 1019/1019/1019 1018/1018/1018 1017/1017/1017\nf 1316/1316/1316 1024/1024/1024 1022/1022/1022\nf 1024/1024/1024 1023/1023/1023 1022/1022/1022\nf 941/941/941 1275/1275/1275 986/986/986\nf 986/986/986 1275/1275/1275 955/955/955\nf 986/986/986 992/992/992 987/987/987\nf 944/944/944 1281/1281/1281 1317/1317/1317\nf 1317/1317/1317 940/940/940 944/944/944\nf 1281/1281/1281 1268/1268/1268 1317/1317/1317\nf 1268/1268/1268 1269/1269/1269 1317/1317/1317\nf 1243/1243/1243 1242/1242/1242 1317/1317/1317\nf 1317/1317/1317 1269/1269/1269 1243/1243/1243\nf 1317/1317/1317 1242/1242/1242 1232/1232/1232\nf 1317/1317/1317 1232/1232/1232 1231/1231/1231\nf 1087/1087/1087 1086/1086/1086 1317/1317/1317\nf 1317/1317/1317 1231/1231/1231 1087/1087/1087\nf 1085/1085/1085 1318/1318/1318 1317/1317/1317\nf 1317/1317/1317 1086/1086/1086 1085/1085/1085\nf 937/937/937 940/940/940 1317/1317/1317\nf 1317/1317/1317 1318/1318/1318 937/937/937\nf 937/937/937 1318/1318/1318 1319/1319/1319\nf 1319/1319/1319 1274/1274/1274 937/937/937\nf 1085/1085/1085 1270/1270/1270 1319/1319/1319\nf 1319/1319/1319 1318/1318/1318 1085/1085/1085\nf 945/945/945 948/948/948 1319/1319/1319\nf 1319/1319/1319 1270/1270/1270 945/945/945\nf 957/957/957 1274/1274/1274 1319/1319/1319\nf 1319/1319/1319 948/948/948 957/957/957\nf 1019/1019/1019 1022/1022/1022 1045/1045/1045\nf 1045/1045/1045 1043/1043/1043 1019/1019/1019\nf 1045/1045/1045 1042/1042/1042 1043/1043/1043\nf 1045/1045/1045 1047/1047/1047 1042/1042/1042\nf 1042/1042/1042 1320/1320/1320 1044/1044/1044\nf 1035/1035/1035 1046/1046/1046 1320/1320/1320\nf 1042/1042/1042 1035/1035/1035 1320/1320/1320\nf 1046/1046/1046 1044/1044/1044 1320/1320/1320\nf 1041/1041/1041 1044/1044/1044 1046/1046/1046\nf 580/580/580 579/579/579 1321/1321/1321\nf 1321/1321/1321 1322/1322/1322 580/580/580\nf 576/576/576 1323/1323/1323 1321/1321/1321\nf 1321/1321/1321 579/579/579 576/576/576\nf 1071/1071/1071 1080/1080/1080 1321/1321/1321\nf 1321/1321/1321 1323/1323/1323 1071/1071/1071\nf 1077/1077/1077 1322/1322/1322 1321/1321/1321\nf 1321/1321/1321 1080/1080/1080 1077/1077/1077\nf 576/576/576 1324/1324/1324 1325/1325/1325\nf 1325/1325/1325 1323/1323/1323 576/576/576\nf 1326/1326/1326 1327/1327/1327 1325/1325/1325\nf 1325/1325/1325 1324/1324/1324 1326/1326/1326\nf 918/918/918 1072/1072/1072 1325/1325/1325\nf 1325/1325/1325 1327/1327/1327 918/918/918\nf 1071/1071/1071 1323/1323/1323 1325/1325/1325\nf 1325/1325/1325 1072/1072/1072 1071/1071/1071\nf 1326/1326/1326 1328/1328/1328 1327/1327/1327\nf 922/922/922 919/919/919 1327/1327/1327\nf 1327/1327/1327 1328/1328/1328 922/922/922\nf 1327/1327/1327 919/919/919 918/918/918\nf 1326/1326/1326 1329/1329/1329 1330/1330/1330\nf 1330/1330/1330 1328/1328/1328 1326/1326/1326\nf 710/710/710 1331/1331/1331 1330/1330/1330\nf 1330/1330/1330 1329/1329/1329 710/710/710\nf 929/929/929 927/927/927 1330/1330/1330\nf 1330/1330/1330 1331/1331/1331 929/929/929\nf 922/922/922 1328/1328/1328 1330/1330/1330\nf 1330/1330/1330 927/927/927 922/922/922\nf 710/710/710 707/707/707 1332/1332/1332\nf 1332/1332/1332 1331/1331/1331 710/710/710\nf 706/706/706 1333/1333/1333 1332/1332/1332\nf 1332/1332/1332 707/707/707 706/706/706\nf 1176/1176/1176 936/936/936 1332/1332/1332\nf 1332/1332/1332 1333/1333/1333 1176/1176/1176\nf 929/929/929 1331/1331/1331 1332/1332/1332\nf 1332/1332/1332 936/936/936 929/929/929\nf 1334/1334/1334 1333/1333/1333 706/706/706\nf 1132/1132/1132 1140/1140/1140 1334/1334/1334\nf 1176/1176/1176 1333/1333/1333 1334/1334/1334\nf 1334/1334/1334 1140/1140/1140 1176/1176/1176\nf 706/706/706 742/742/742 1335/1335/1335\nf 1335/1335/1335 1334/1334/1334 706/706/706\nf 718/718/718 1336/1336/1336 1335/1335/1335\nf 1335/1335/1335 742/742/742 718/718/718\nf 1092/1092/1092 1134/1134/1134 1335/1335/1335\nf 1335/1335/1335 1336/1336/1336 1092/1092/1092\nf 1132/1132/1132 1334/1334/1334 1335/1335/1335\nf 1335/1335/1335 1134/1134/1134 1132/1132/1132\nf 718/718/718 715/715/715 1337/1337/1337\nf 1337/1337/1337 1336/1336/1336 718/718/718\nf 588/588/588 1338/1338/1338 1337/1337/1337\nf 1337/1337/1337 715/715/715 588/588/588\nf 1135/1135/1135 1138/1138/1138 1337/1337/1337\nf 1337/1337/1337 1338/1338/1338 1135/1135/1135\nf 1092/1092/1092 1336/1336/1336 1337/1337/1337\nf 1337/1337/1337 1138/1138/1138 1092/1092/1092\nf 1339/1339/1339 1338/1338/1338 588/588/588\nf 1067/1067/1067 1272/1272/1272 1339/1339/1339\nf 1135/1135/1135 1338/1338/1338 1339/1339/1339\nf 1339/1339/1339 1272/1272/1272 1135/1135/1135\nf 588/588/588 587/587/587 1340/1340/1340\nf 1340/1340/1340 1339/1339/1339 588/588/588\nf 584/584/584 1341/1341/1341 1340/1340/1340\nf 1340/1340/1340 587/587/587 584/584/584\nf 1068/1068/1068 1067/1067/1067 1340/1340/1340\nf 1340/1340/1340 1341/1341/1341 1068/1068/1068\nf 1067/1067/1067 1339/1339/1339 1340/1340/1340\nf 584/584/584 583/583/583 1342/1342/1342\nf 1342/1342/1342 1341/1341/1341 584/584/584\nf 580/580/580 1343/1343/1343 1342/1342/1342\nf 1342/1342/1342 583/583/583 580/580/580\nf 1070/1070/1070 1069/1069/1069 1342/1342/1342\nf 1342/1342/1342 1343/1343/1343 1070/1070/1070\nf 1068/1068/1068 1341/1341/1341 1342/1342/1342\nf 1342/1342/1342 1069/1069/1069 1068/1068/1068\nf 580/580/580 1322/1322/1322 1344/1344/1344\nf 1344/1344/1344 1343/1343/1343 580/580/580\nf 1077/1077/1077 1075/1075/1075 1344/1344/1344\nf 1344/1344/1344 1322/1322/1322 1077/1077/1077\nf 1070/1070/1070 1343/1343/1343 1344/1344/1344\nf 1344/1344/1344 1075/1075/1075 1070/1070/1070\nf 1345/1345/1345 1346/1346/1346 1347/1347/1347\nf 1347/1347/1347 1348/1348/1348 1345/1345/1345\nf 1349/1349/1349 1350/1350/1350 1347/1347/1347\nf 1347/1347/1347 1346/1346/1346 1349/1349/1349\nf 1351/1351/1351 1352/1352/1352 1347/1347/1347\nf 1347/1347/1347 1350/1350/1350 1351/1351/1351\nf 1353/1353/1353 1348/1348/1348 1347/1347/1347\nf 1347/1347/1347 1352/1352/1352 1353/1353/1353\nf 1349/1349/1349 1354/1354/1354 1355/1355/1355\nf 1355/1355/1355 1350/1350/1350 1349/1349/1349\nf 1356/1356/1356 1357/1357/1357 1355/1355/1355\nf 1355/1355/1355 1354/1354/1354 1356/1356/1356\nf 1357/1357/1357 1358/1358/1358 1355/1355/1355\nf 1359/1359/1359 1360/1360/1360 1355/1355/1355\nf 1355/1355/1355 1358/1358/1358 1359/1359/1359\nf 1361/1361/1361 1362/1362/1362 1355/1355/1355\nf 1355/1355/1355 1360/1360/1360 1361/1361/1361\nf 1351/1351/1351 1350/1350/1350 1355/1355/1355\nf 1355/1355/1355 1362/1362/1362 1351/1351/1351\nf 1363/1363/1363 1357/1357/1357 1356/1356/1356\nf 1364/1364/1364 1365/1365/1365 1366/1366/1366\nf 1366/1366/1366 1367/1367/1367 1364/1364/1364\nf 1366/1366/1366 1365/1365/1365 1368/1368/1368\nf 1369/1369/1369 1370/1370/1370 1366/1366/1366\nf 1366/1366/1366 1368/1368/1368 1369/1369/1369\nf 1371/1371/1371 1367/1367/1367 1366/1366/1366\nf 1366/1366/1366 1370/1370/1370 1371/1371/1371\nf 1372/1372/1372 1373/1373/1373 1374/1374/1374\nf 1374/1374/1374 1375/1375/1375 1372/1372/1372\nf 1376/1376/1376 1377/1377/1377 1374/1374/1374\nf 1374/1374/1374 1373/1373/1373 1376/1376/1376\nf 1378/1378/1378 1379/1379/1379 1374/1374/1374\nf 1374/1374/1374 1377/1377/1377 1378/1378/1378\nf 1380/1380/1380 1381/1381/1381 1374/1374/1374\nf 1374/1374/1374 1379/1379/1379 1380/1380/1380\nf 1382/1382/1382 1383/1383/1383 1374/1374/1374\nf 1374/1374/1374 1381/1381/1381 1382/1382/1382\nf 1384/1384/1384 1375/1375/1375 1374/1374/1374\nf 1374/1374/1374 1383/1383/1383 1384/1384/1384\nf 1378/1378/1378 1385/1385/1385 1386/1386/1386\nf 1386/1386/1386 1379/1379/1379 1378/1378/1378\nf 1387/1387/1387 1388/1388/1388 1386/1386/1386\nf 1386/1386/1386 1385/1385/1385 1387/1387/1387\nf 1389/1389/1389 1390/1390/1390 1386/1386/1386\nf 1386/1386/1386 1388/1388/1388 1389/1389/1389\nf 1380/1380/1380 1379/1379/1379 1386/1386/1386\nf 1386/1386/1386 1390/1390/1390 1380/1380/1380\nf 1387/1387/1387 1391/1391/1391 1392/1392/1392\nf 1392/1392/1392 1388/1388/1388 1387/1387/1387\nf 1353/1353/1353 1352/1352/1352 1392/1392/1392\nf 1392/1392/1392 1391/1391/1391 1353/1353/1353\nf 1351/1351/1351 1393/1393/1393 1392/1392/1392\nf 1392/1392/1392 1352/1352/1352 1351/1351/1351\nf 1394/1394/1394 1395/1395/1395 1392/1392/1392\nf 1392/1392/1392 1393/1393/1393 1394/1394/1394\nf 1389/1389/1389 1388/1388/1388 1392/1392/1392\nf 1392/1392/1392 1395/1395/1395 1389/1389/1389\nf 1351/1351/1351 1362/1362/1362 1396/1396/1396\nf 1396/1396/1396 1393/1393/1393 1351/1351/1351\nf 1361/1361/1361 1397/1397/1397 1396/1396/1396\nf 1396/1396/1396 1362/1362/1362 1361/1361/1361\nf 1398/1398/1398 1399/1399/1399 1396/1396/1396\nf 1396/1396/1396 1397/1397/1397 1398/1398/1398\nf 1394/1394/1394 1393/1393/1393 1396/1396/1396\nf 1396/1396/1396 1399/1399/1399 1394/1394/1394\nf 1361/1361/1361 1400/1400/1400 1401/1401/1401\nf 1401/1401/1401 1397/1397/1397 1361/1361/1361\nf 1402/1402/1402 1403/1403/1403 1401/1401/1401\nf 1401/1401/1401 1400/1400/1400 1402/1402/1402\nf 1403/1403/1403 1404/1404/1404 1401/1401/1401\nf 1404/1404/1404 1405/1405/1405 1401/1401/1401\nf 1406/1406/1406 1407/1407/1407 1401/1401/1401\nf 1401/1401/1401 1405/1405/1405 1406/1406/1406\nf 1401/1401/1401 1407/1407/1407 1408/1408/1408\nf 1401/1401/1401 1408/1408/1408 1409/1409/1409\nf 1410/1410/1410 1411/1411/1411 1401/1401/1401\nf 1401/1401/1401 1409/1409/1409 1410/1410/1410\nf 1398/1398/1398 1397/1397/1397 1401/1401/1401\nf 1401/1401/1401 1411/1411/1411 1398/1398/1398\nf 1369/1369/1369 1368/1368/1368 1412/1412/1412\nf 1413/1413/1413 1414/1414/1414 1412/1412/1412\nf 1382/1382/1382 1381/1381/1381 1415/1415/1415\nf 1415/1415/1415 1416/1416/1416 1382/1382/1382\nf 1380/1380/1380 1417/1417/1417 1415/1415/1415\nf 1415/1415/1415 1381/1381/1381 1380/1380/1380\nf 1415/1415/1415 1417/1417/1417 1418/1418/1418\nf 1419/1419/1419 1416/1416/1416 1415/1415/1415\nf 1415/1415/1415 1418/1418/1418 1419/1419/1419\nf 1380/1380/1380 1390/1390/1390 1420/1420/1420\nf 1420/1420/1420 1417/1417/1417 1380/1380/1380\nf 1389/1389/1389 1421/1421/1421 1420/1420/1420\nf 1420/1420/1420 1390/1390/1390 1389/1389/1389\nf 1420/1420/1420 1421/1421/1421 1422/1422/1422\nf 1418/1418/1418 1417/1417/1417 1420/1420/1420\nf 1420/1420/1420 1422/1422/1422 1418/1418/1418\nf 1389/1389/1389 1395/1395/1395 1423/1423/1423\nf 1423/1423/1423 1421/1421/1421 1389/1389/1389\nf 1394/1394/1394 1424/1424/1424 1423/1423/1423\nf 1423/1423/1423 1395/1395/1395 1394/1394/1394\nf 1425/1425/1425 1422/1422/1422 1423/1423/1423\nf 1423/1423/1423 1424/1424/1424 1425/1425/1425\nf 1422/1422/1422 1421/1421/1421 1423/1423/1423\nf 1394/1394/1394 1426/1426/1426 1427/1427/1427\nf 1427/1427/1427 1424/1424/1424 1394/1394/1394\nf 1427/1427/1427 1426/1426/1426 1425/1425/1425\nf 1425/1425/1425 1424/1424/1424 1427/1427/1427\nf 1394/1394/1394 1428/1428/1428 1429/1429/1429\nf 1429/1429/1429 1426/1426/1426 1394/1394/1394\nf 1429/1429/1429 1428/1428/1428 1425/1425/1425\nf 1425/1425/1425 1426/1426/1426 1429/1429/1429\nf 1394/1394/1394 1399/1399/1399 1430/1430/1430\nf 1430/1430/1430 1428/1428/1428 1394/1394/1394\nf 1398/1398/1398 1431/1431/1431 1430/1430/1430\nf 1430/1430/1430 1399/1399/1399 1398/1398/1398\nf 1432/1432/1432 1425/1425/1425 1430/1430/1430\nf 1430/1430/1430 1431/1431/1431 1432/1432/1432\nf 1425/1425/1425 1428/1428/1428 1430/1430/1430\nf 1398/1398/1398 1411/1411/1411 1433/1433/1433\nf 1433/1433/1433 1431/1431/1431 1398/1398/1398\nf 1410/1410/1410 1434/1434/1434 1433/1433/1433\nf 1433/1433/1433 1411/1411/1411 1410/1410/1410\nf 1434/1434/1434 1435/1435/1435 1433/1433/1433\nf 1436/1436/1436 1437/1437/1437 1433/1433/1433\nf 1433/1433/1433 1435/1435/1435 1436/1436/1436\nf 1437/1437/1437 1438/1438/1438 1433/1433/1433\nf 1433/1433/1433 1438/1438/1438 1439/1439/1439\nf 1440/1440/1440 1441/1441/1441 1433/1433/1433\nf 1442/1442/1442 1443/1443/1443 1433/1433/1433\nf 1433/1433/1433 1441/1441/1441 1442/1442/1442\nf 1444/1444/1444 1445/1445/1445 1433/1433/1433\nf 1433/1433/1433 1443/1443/1443 1444/1444/1444\nf 1433/1433/1433 1445/1445/1445 1446/1446/1446\nf 1433/1433/1433 1446/1446/1446 1432/1432/1432\nf 1432/1432/1432 1431/1431/1431 1433/1433/1433\nf 1447/1447/1447 1448/1448/1448 1369/1369/1369\nf 1449/1449/1449 1450/1450/1450 1447/1447/1447\nf 1447/1447/1447 1414/1414/1414 1449/1449/1449\nf 1451/1451/1451 1452/1452/1452 1447/1447/1447\nf 1447/1447/1447 1450/1450/1450 1451/1451/1451\nf 1452/1452/1452 1453/1453/1453 1447/1447/1447\nf 1454/1454/1454 1455/1455/1455 1447/1447/1447\nf 1447/1447/1447 1453/1453/1453 1454/1454/1454\nf 1447/1447/1447 1455/1455/1455 1456/1456/1456\nf 1457/1457/1457 1458/1458/1458 1447/1447/1447\nf 1447/1447/1447 1458/1458/1458 1459/1459/1459\nf 1447/1447/1447 1459/1459/1459 1460/1460/1460\nf 1461/1461/1461 1448/1448/1448 1447/1447/1447\nf 1447/1447/1447 1460/1460/1460 1461/1461/1461\nf 1369/1369/1369 1412/1412/1412 1462/1462/1462\nf 1462/1462/1462 1447/1447/1447 1369/1369/1369\nf 1462/1462/1462 1412/1412/1412 1414/1414/1414\nf 1414/1414/1414 1447/1447/1447 1462/1462/1462\nf 1413/1413/1413 1419/1419/1419 1463/1463/1463\nf 1463/1463/1463 1414/1414/1414 1413/1413/1413\nf 1419/1419/1419 1464/1464/1464 1463/1463/1463\nf 1463/1463/1463 1464/1464/1464 1465/1465/1465\nf 1419/1419/1419 1418/1418/1418 1464/1464/1464\nf 1418/1418/1418 1466/1466/1466 1464/1464/1464\nf 1467/1467/1467 1465/1465/1465 1464/1464/1464\nf 1464/1464/1464 1466/1466/1466 1467/1467/1467\nf 1418/1418/1418 1422/1422/1422 1466/1466/1466\nf 1425/1425/1425 1468/1468/1468 1466/1466/1466\nf 1466/1466/1466 1422/1422/1422 1425/1425/1425\nf 1469/1469/1469 1467/1467/1467 1466/1466/1466\nf 1466/1466/1466 1468/1468/1468 1469/1469/1469\nf 1468/1468/1468 1425/1425/1425 1432/1432/1432\nf 1470/1470/1470 1468/1468/1468 1432/1432/1432\nf 1432/1432/1432 1471/1471/1471 1470/1470/1470\nf 1471/1471/1471 1472/1472/1472 1470/1470/1470\nf 1470/1470/1470 1472/1472/1472 1473/1473/1473\nf 1470/1470/1470 1474/1474/1474 1469/1469/1469\nf 1469/1469/1469 1468/1468/1468 1470/1470/1470\nf 1449/1449/1449 1414/1414/1414 1463/1463/1463\nf 1463/1463/1463 1475/1475/1475 1449/1449/1449\nf 1465/1465/1465 1474/1474/1474 1463/1463/1463\nf 1473/1473/1473 1476/1476/1476 1463/1463/1463\nf 1463/1463/1463 1476/1476/1476 1475/1475/1475\nf 1467/1467/1467 1477/1477/1477 1478/1478/1478\nf 1478/1478/1478 1465/1465/1465 1467/1467/1467\nf 1478/1478/1478 1477/1477/1477 1479/1479/1479\nf 1477/1477/1477 1480/1480/1480 1479/1479/1479\nf 1477/1477/1477 1467/1467/1467 1469/1469/1469\nf 1481/1481/1481 1477/1477/1477 1469/1469/1469\nf 1480/1480/1480 1477/1477/1477 1481/1481/1481\nf 1482/1482/1482 1480/1480/1480 1481/1481/1481\nf 1481/1481/1481 1479/1479/1479 1482/1482/1482\nf 1469/1469/1469 1465/1465/1465 1478/1478/1478\nf 1478/1478/1478 1481/1481/1481 1469/1469/1469\nf 1479/1479/1479 1481/1481/1481 1478/1478/1478\nf 1483/1483/1483 1484/1484/1484 1485/1485/1485\nf 1479/1479/1479 1480/1480/1480 1486/1486/1486\nf 1486/1486/1486 1485/1485/1485 1479/1479/1479\nf 1483/1483/1483 1485/1485/1485 1486/1486/1486\nf 1486/1486/1486 1487/1487/1487 1483/1483/1483\nf 1480/1480/1480 1488/1488/1488 1486/1486/1486\nf 1486/1486/1486 1488/1488/1488 1487/1487/1487\nf 1488/1488/1488 1480/1480/1480 1482/1482/1482\nf 1482/1482/1482 1479/1479/1479 1488/1488/1488\nf 1488/1488/1488 1484/1484/1484 1487/1487/1487\nf 1485/1485/1485 1488/1488/1488 1479/1479/1479\nf 1484/1484/1484 1488/1488/1488 1485/1485/1485\nf 1489/1489/1489 1484/1484/1484 1483/1483/1483\nf 1483/1483/1483 1490/1490/1490 1489/1489/1489\nf 1489/1489/1489 1490/1490/1490 1491/1491/1491\nf 1483/1483/1483 1487/1487/1487 1490/1490/1490\nf 1487/1487/1487 1492/1492/1492 1490/1490/1490\nf 1490/1490/1490 1492/1492/1492 1491/1491/1491\nf 1487/1487/1487 1484/1484/1484 1492/1492/1492\nf 1489/1489/1489 1492/1492/1492 1484/1484/1484\nf 1491/1491/1491 1492/1492/1492 1489/1489/1489\nf 1376/1376/1376 1373/1373/1373 1493/1493/1493\nf 1493/1493/1493 1494/1494/1494 1376/1376/1376\nf 1372/1372/1372 1495/1495/1495 1493/1493/1493\nf 1493/1493/1493 1373/1373/1373 1372/1372/1372\nf 1493/1493/1493 1495/1495/1495 1496/1496/1496\nf 1497/1497/1497 1498/1498/1498 1493/1493/1493\nf 1493/1493/1493 1496/1496/1496 1497/1497/1497\nf 1499/1499/1499 1494/1494/1494 1493/1493/1493\nf 1493/1493/1493 1498/1498/1498 1499/1499/1499\nf 1500/1500/1500 1501/1501/1501 1502/1502/1502\nf 1502/1502/1502 1503/1503/1503 1500/1500/1500\nf 1345/1345/1345 1348/1348/1348 1502/1502/1502\nf 1502/1502/1502 1501/1501/1501 1345/1345/1345\nf 1353/1353/1353 1391/1391/1391 1502/1502/1502\nf 1502/1502/1502 1348/1348/1348 1353/1353/1353\nf 1387/1387/1387 1503/1503/1503 1502/1502/1502\nf 1502/1502/1502 1391/1391/1391 1387/1387/1387\nf 1499/1499/1499 1504/1504/1504 1505/1505/1505\nf 1505/1505/1505 1494/1494/1494 1499/1499/1499\nf 1506/1506/1506 1507/1507/1507 1505/1505/1505\nf 1505/1505/1505 1504/1504/1504 1506/1506/1506\nf 1378/1378/1378 1377/1377/1377 1505/1505/1505\nf 1505/1505/1505 1507/1507/1507 1378/1378/1378\nf 1376/1376/1376 1494/1494/1494 1505/1505/1505\nf 1505/1505/1505 1377/1377/1377 1376/1376/1376\nf 1387/1387/1387 1385/1385/1385 1508/1508/1508\nf 1508/1508/1508 1503/1503/1503 1387/1387/1387\nf 1378/1378/1378 1507/1507/1507 1508/1508/1508\nf 1508/1508/1508 1385/1385/1385 1378/1378/1378\nf 1506/1506/1506 1509/1509/1509 1508/1508/1508\nf 1508/1508/1508 1507/1507/1507 1506/1506/1506\nf 1500/1500/1500 1503/1503/1503 1508/1508/1508\nf 1508/1508/1508 1509/1509/1509 1500/1500/1500\nf 1510/1510/1510 1511/1511/1511 1512/1512/1512\nf 1512/1512/1512 1513/1513/1513 1510/1510/1510\nf 1514/1514/1514 1515/1515/1515 1512/1512/1512\nf 1512/1512/1512 1511/1511/1511 1514/1514/1514\nf 1516/1516/1516 1517/1517/1517 1512/1512/1512\nf 1512/1512/1512 1515/1515/1515 1516/1516/1516\nf 1518/1518/1518 1513/1513/1513 1512/1512/1512\nf 1512/1512/1512 1517/1517/1517 1518/1518/1518\nf 1519/1519/1519 1520/1520/1520 1521/1521/1521\nf 1522/1522/1522 1523/1523/1523 1519/1519/1519\nf 1522/1522/1522 1524/1524/1524 1525/1525/1525\nf 1525/1525/1525 1523/1523/1523 1522/1522/1522\nf 1526/1526/1526 1527/1527/1527 1525/1525/1525\nf 1525/1525/1525 1524/1524/1524 1526/1526/1526\nf 1528/1528/1528 1527/1527/1527 1526/1526/1526\nf 1529/1529/1529 1530/1530/1530 1528/1528/1528\nf 1530/1530/1530 1531/1531/1531 1528/1528/1528\nf 1528/1528/1528 1531/1531/1531 1527/1527/1527\nf 1529/1529/1529 1532/1532/1532 1533/1533/1533\nf 1533/1533/1533 1530/1530/1530 1529/1529/1529\nf 1534/1534/1534 1535/1535/1535 1533/1533/1533\nf 1533/1533/1533 1532/1532/1532 1534/1534/1534\nf 1536/1536/1536 1537/1537/1537 1538/1538/1538\nf 1538/1538/1538 1537/1537/1537 1539/1539/1539\nf 1538/1538/1538 1539/1539/1539 1536/1536/1536\nf 1540/1540/1540 1541/1541/1541 1531/1531/1531\nf 1531/1531/1531 1530/1530/1530 1540/1540/1540\nf 1531/1531/1531 1541/1541/1541 1527/1527/1527\nf 1520/1520/1520 1536/1536/1536 1542/1542/1542\nf 1542/1542/1542 1536/1536/1536 1543/1543/1543\nf 1543/1543/1543 1539/1539/1539 1544/1544/1544\nf 1539/1539/1539 1545/1545/1545 1544/1544/1544\nf 1546/1546/1546 1545/1545/1545 1539/1539/1539\nf 1539/1539/1539 1547/1547/1547 1546/1546/1546\nf 1539/1539/1539 1540/1540/1540 1548/1548/1548\nf 1548/1548/1548 1547/1547/1547 1539/1539/1539\nf 1548/1548/1548 1540/1540/1540 1535/1535/1535\nf 1540/1540/1540 1530/1530/1530 1533/1533/1533\nf 1534/1534/1534 1549/1549/1549 1548/1548/1548\nf 1548/1548/1548 1535/1535/1535 1534/1534/1534\nf 1550/1550/1550 1547/1547/1547 1548/1548/1548\nf 1548/1548/1548 1549/1549/1549 1550/1550/1550\nf 1546/1546/1546 1547/1547/1547 1550/1550/1550\nf 1551/1551/1551 1545/1545/1545 1546/1546/1546\nf 1551/1551/1551 1543/1543/1543 1544/1544/1544\nf 1544/1544/1544 1545/1545/1545 1551/1551/1551\nf 1542/1542/1542 1521/1521/1521 1520/1520/1520\nf 1543/1543/1543 1521/1521/1521 1542/1542/1542\nf 1536/1536/1536 1541/1541/1541 1540/1540/1540\nf 1539/1539/1539 1537/1537/1537 1540/1540/1540\nf 1537/1537/1537 1536/1536/1536 1540/1540/1540\nf 1543/1543/1543 1536/1536/1536 1539/1539/1539\nf 1540/1540/1540 1533/1533/1533 1535/1535/1535\nf 1541/1541/1541 1525/1525/1525 1527/1527/1527\nf 1523/1523/1523 1525/1525/1525 1541/1541/1541\nf 1523/1523/1523 1541/1541/1541 1536/1536/1536\nf 1536/1536/1536 1519/1519/1519 1523/1523/1523\nf 1520/1520/1520 1519/1519/1519 1536/1536/1536\nf 1532/1532/1532 1529/1529/1529 1518/1518/1518\nf 1552/1552/1552 1534/1534/1534 1532/1532/1532\nf 1552/1552/1552 1553/1553/1553 1550/1550/1550\nf 1550/1550/1550 1534/1534/1534 1552/1552/1552\nf 1550/1550/1550 1553/1553/1553 1554/1554/1554\nf 1555/1555/1555 1556/1556/1556 1550/1550/1550\nf 1550/1550/1550 1554/1554/1554 1555/1555/1555\nf 1550/1550/1550 1549/1549/1549 1534/1534/1534\nf 1555/1555/1555 1557/1557/1557 1551/1551/1551\nf 1551/1551/1551 1556/1556/1556 1555/1555/1555\nf 1521/1521/1521 1543/1543/1543 1551/1551/1551\nf 1551/1551/1551 1557/1557/1557 1521/1521/1521\nf 1550/1550/1550 1556/1556/1556 1551/1551/1551\nf 1551/1551/1551 1546/1546/1546 1550/1550/1550\nf 1558/1558/1558 1559/1559/1559 1560/1560/1560\nf 1560/1560/1560 1561/1561/1561 1558/1558/1558\nf 1510/1510/1510 1562/1562/1562 1560/1560/1560\nf 1560/1560/1560 1559/1559/1559 1510/1510/1510\nf 1522/1522/1522 1519/1519/1519 1560/1560/1560\nf 1560/1560/1560 1562/1562/1562 1522/1522/1522\nf 1521/1521/1521 1561/1561/1561 1560/1560/1560\nf 1560/1560/1560 1519/1519/1519 1521/1521/1521\nf 1510/1510/1510 1513/1513/1513 1526/1526/1526\nf 1526/1526/1526 1562/1562/1562 1510/1510/1510\nf 1518/1518/1518 1528/1528/1528 1526/1526/1526\nf 1526/1526/1526 1513/1513/1513 1518/1518/1518\nf 1522/1522/1522 1562/1562/1562 1526/1526/1526\nf 1526/1526/1526 1524/1524/1524 1522/1522/1522\nf 1518/1518/1518 1529/1529/1529 1528/1528/1528\nf 1555/1555/1555 1554/1554/1554 1563/1563/1563\nf 1564/1564/1564 1565/1565/1565 1566/1566/1566\nf 1402/1402/1402 1400/1400/1400 1564/1564/1564\nf 1361/1361/1361 1360/1360/1360 1564/1564/1564\nf 1564/1564/1564 1400/1400/1400 1361/1361/1361\nf 1359/1359/1359 1565/1565/1565 1564/1564/1564\nf 1564/1564/1564 1360/1360/1360 1359/1359/1359\nf 1554/1554/1554 1553/1553/1553 1567/1567/1567\nf 1553/1553/1553 1568/1568/1568 1567/1567/1567\nf 1569/1569/1569 1554/1554/1554 1567/1567/1567\nf 1570/1570/1570 1568/1568/1568 1553/1553/1553\nf 1571/1571/1571 1572/1572/1572 1570/1570/1570\nf 1570/1570/1570 1572/1572/1572 1568/1568/1568\nf 1573/1573/1573 1574/1574/1574 1575/1575/1575\nf 1575/1575/1575 1576/1576/1576 1573/1573/1573\nf 1575/1575/1575 1574/1574/1574 1571/1571/1571\nf 1576/1576/1576 1565/1565/1565 1577/1577/1577\nf 1577/1577/1577 1565/1565/1565 1359/1359/1359\nf 1577/1577/1577 1359/1359/1359 1578/1578/1578\nf 1573/1573/1573 1576/1576/1576 1577/1577/1577\nf 1359/1359/1359 1358/1358/1358 1579/1579/1579\nf 1580/1580/1580 1581/1581/1581 1579/1579/1579\nf 1579/1579/1579 1358/1358/1358 1580/1580/1580\nf 1578/1578/1578 1359/1359/1359 1579/1579/1579\nf 1582/1582/1582 1583/1583/1583 1584/1584/1584\nf 1582/1582/1582 1585/1585/1585 1583/1583/1583\nf 1584/1584/1584 1583/1583/1583 1586/1586/1586\nf 1582/1582/1582 1584/1584/1584 1586/1586/1586\nf 1586/1586/1586 1587/1587/1587 1588/1588/1588\nf 1582/1582/1582 1586/1586/1586 1588/1588/1588\nf 1583/1583/1583 1589/1589/1589 1574/1574/1574\nf 1583/1583/1583 1590/1590/1590 1572/1572/1572\nf 1572/1572/1572 1589/1589/1589 1583/1583/1583\nf 1572/1572/1572 1590/1590/1590 1568/1568/1568\nf 1587/1587/1587 1591/1591/1591 1592/1592/1592\nf 1593/1593/1593 1591/1591/1591 1587/1587/1587\nf 1587/1587/1587 1594/1594/1594 1593/1593/1593\nf 1595/1595/1595 1594/1594/1594 1587/1587/1587\nf 1586/1586/1586 1581/1581/1581 1595/1595/1595\nf 1595/1595/1595 1587/1587/1587 1586/1586/1586\nf 1579/1579/1579 1581/1581/1581 1586/1586/1586\nf 1579/1579/1579 1586/1586/1586 1578/1578/1578\nf 1357/1357/1357 1595/1595/1595 1581/1581/1581\nf 1357/1357/1357 1581/1581/1581 1580/1580/1580\nf 1594/1594/1594 1595/1595/1595 1357/1357/1357\nf 1594/1594/1594 1357/1357/1357 1593/1593/1593\nf 1357/1357/1357 1363/1363/1363 1593/1593/1593\nf 1593/1593/1593 1363/1363/1363 1596/1596/1596\nf 1593/1593/1593 1596/1596/1596 1591/1591/1591\nf 1591/1591/1591 1596/1596/1596 1592/1592/1592\nf 1596/1596/1596 1563/1563/1563 1592/1592/1592\nf 1592/1592/1592 1563/1563/1563 1554/1554/1554\nf 1592/1592/1592 1554/1554/1554 1569/1569/1569\nf 1574/1574/1574 1589/1589/1589 1571/1571/1571\nf 1571/1571/1571 1589/1589/1589 1572/1572/1572\nf 1590/1590/1590 1583/1583/1583 1585/1585/1585\nf 1588/1588/1588 1585/1585/1585 1582/1582/1582\nf 1588/1588/1588 1587/1587/1587 1585/1585/1585\nf 1587/1587/1587 1590/1590/1590 1585/1585/1585\nf 1569/1569/1569 1590/1590/1590 1587/1587/1587\nf 1587/1587/1587 1592/1592/1592 1569/1569/1569\nf 1586/1586/1586 1577/1577/1577 1578/1578/1578\nf 1573/1573/1573 1577/1577/1577 1586/1586/1586\nf 1586/1586/1586 1583/1583/1583 1573/1573/1573\nf 1583/1583/1583 1574/1574/1574 1573/1573/1573\nf 1590/1590/1590 1567/1567/1567 1568/1568/1568\nf 1569/1569/1569 1567/1567/1567 1590/1590/1590\nf 1552/1552/1552 1570/1570/1570 1553/1553/1553\nf 1552/1552/1552 1571/1571/1571 1570/1570/1570\nf 1575/1575/1575 1571/1571/1571 1552/1552/1552\nf 1566/1566/1566 1576/1576/1576 1575/1575/1575\nf 1565/1565/1565 1576/1576/1576 1566/1566/1566\nf 1357/1357/1357 1580/1580/1580 1358/1358/1358\nf 1597/1597/1597 1598/1598/1598 1599/1599/1599\nf 1597/1597/1597 1599/1599/1599 1517/1517/1517\nf 1600/1600/1600 1597/1597/1597 1517/1517/1517\nf 1600/1600/1600 1517/1517/1517 1516/1516/1516\nf 1601/1601/1601 1602/1602/1602 1516/1516/1516\nf 1601/1601/1601 1603/1603/1603 1604/1604/1604\nf 1604/1604/1604 1603/1603/1603 1605/1605/1605\nf 1606/1606/1606 1598/1598/1598 1597/1597/1597\nf 1607/1607/1607 1608/1608/1608 1604/1604/1604\nf 1604/1604/1604 1605/1605/1605 1607/1607/1607\nf 1604/1604/1604 1608/1608/1608 1601/1601/1601\nf 1597/1597/1597 1609/1609/1609 1606/1606/1606\nf 1609/1609/1609 1610/1610/1610 1606/1606/1606\nf 1611/1611/1611 1610/1610/1610 1609/1609/1609\nf 1607/1607/1607 1612/1612/1612 1611/1611/1611\nf 1611/1611/1611 1609/1609/1609 1607/1607/1607\nf 1605/1605/1605 1612/1612/1612 1607/1607/1607\nf 1613/1613/1613 1606/1606/1606 1610/1610/1610\nf 1532/1532/1532 1606/1606/1606 1613/1613/1613\nf 1599/1599/1599 1598/1598/1598 1532/1532/1532\nf 1598/1598/1598 1606/1606/1606 1532/1532/1532\nf 1516/1516/1516 1602/1602/1602 1600/1600/1600\nf 1607/1607/1607 1614/1614/1614 1608/1608/1608\nf 1607/1607/1607 1609/1609/1609 1614/1614/1614\nf 1597/1597/1597 1614/1614/1614 1609/1609/1609\nf 1608/1608/1608 1602/1602/1602 1601/1601/1601\nf 1602/1602/1602 1608/1608/1608 1614/1614/1614\nf 1614/1614/1614 1600/1600/1600 1602/1602/1602\nf 1597/1597/1597 1600/1600/1600 1614/1614/1614\nf 1532/1532/1532 1613/1613/1613 1552/1552/1552\nf 1518/1518/1518 1599/1599/1599 1532/1532/1532\nf 1518/1518/1518 1517/1517/1517 1599/1599/1599\nf 1603/1603/1603 1601/1601/1601 1516/1516/1516\nf 1615/1615/1615 1605/1605/1605 1603/1603/1603\nf 1616/1616/1616 1605/1605/1605 1615/1615/1615\nf 1552/1552/1552 1610/1610/1610 1616/1616/1616\nf 1610/1610/1610 1611/1611/1611 1616/1616/1616\nf 1612/1612/1612 1605/1605/1605 1616/1616/1616\nf 1616/1616/1616 1611/1611/1611 1612/1612/1612\nf 1613/1613/1613 1610/1610/1610 1552/1552/1552\nf 1617/1617/1617 1566/1566/1566 1618/1618/1618\nf 1619/1619/1619 1402/1402/1402 1620/1620/1620\nf 1619/1619/1619 1621/1621/1621 1622/1622/1622\nf 1622/1622/1622 1402/1402/1402 1619/1619/1619\nf 1621/1621/1621 1623/1623/1623 1622/1622/1622\nf 1621/1621/1621 1624/1624/1624 1623/1623/1623\nf 1624/1624/1624 1625/1625/1625 1623/1623/1623\nf 1626/1626/1626 1618/1618/1618 1566/1566/1566\nf 1575/1575/1575 1627/1627/1627 1626/1626/1626\nf 1628/1628/1628 1629/1629/1629 1630/1630/1630\nf 1620/1620/1620 1628/1628/1628 1619/1619/1619\nf 1617/1617/1617 1631/1631/1631 1632/1632/1632\nf 1628/1628/1628 1620/1620/1620 1632/1632/1632\nf 1632/1632/1632 1631/1631/1631 1628/1628/1628\nf 1627/1627/1627 1631/1631/1631 1626/1626/1626\nf 1631/1631/1631 1618/1618/1618 1626/1626/1626\nf 1633/1633/1633 1625/1625/1625 1624/1624/1624\nf 1634/1634/1634 1616/1616/1616 1633/1633/1633\nf 1633/1633/1633 1616/1616/1616 1625/1625/1625\nf 1633/1633/1633 1627/1627/1627 1634/1634/1634\nf 1634/1634/1634 1627/1627/1627 1575/1575/1575\nf 1575/1575/1575 1626/1626/1626 1566/1566/1566\nf 1628/1628/1628 1631/1631/1631 1629/1629/1629\nf 1629/1629/1629 1631/1631/1631 1627/1627/1627\nf 1629/1629/1629 1627/1627/1627 1633/1633/1633\nf 1624/1624/1624 1630/1630/1630 1629/1629/1629\nf 1629/1629/1629 1633/1633/1633 1624/1624/1624\nf 1630/1630/1630 1624/1624/1624 1621/1621/1621\nf 1628/1628/1628 1630/1630/1630 1621/1621/1621\nf 1628/1628/1628 1621/1621/1621 1619/1619/1619\nf 1617/1617/1617 1618/1618/1618 1631/1631/1631\nf 1634/1634/1634 1575/1575/1575 1552/1552/1552\nf 1616/1616/1616 1634/1634/1634 1552/1552/1552\nf 1615/1615/1615 1625/1625/1625 1616/1616/1616\nf 1623/1623/1623 1625/1625/1625 1615/1615/1615\nf 1615/1615/1615 1635/1635/1635 1622/1622/1622\nf 1622/1622/1622 1623/1623/1623 1615/1615/1615\nf 1622/1622/1622 1635/1635/1635 1402/1402/1402\nf 1564/1564/1564 1620/1620/1620 1402/1402/1402\nf 1566/1566/1566 1617/1617/1617 1564/1564/1564\nf 1617/1617/1617 1632/1632/1632 1564/1564/1564\nf 1564/1564/1564 1632/1632/1632 1620/1620/1620\nf 1636/1636/1636 1637/1637/1637 1638/1638/1638\nf 1636/1636/1636 1638/1638/1638 1639/1639/1639\nf 1403/1403/1403 1640/1640/1640 1404/1404/1404\nf 1636/1636/1636 1639/1639/1639 1404/1404/1404\nf 1404/1404/1404 1641/1641/1641 1636/1636/1636\nf 1404/1404/1404 1640/1640/1640 1641/1641/1641\nf 1640/1640/1640 1642/1642/1642 1641/1641/1641\nf 1642/1642/1642 1640/1640/1640 1643/1643/1643\nf 1644/1644/1644 1645/1645/1645 1642/1642/1642\nf 1642/1642/1642 1643/1643/1643 1644/1644/1644\nf 1646/1646/1646 1645/1645/1645 1644/1644/1644\nf 1646/1646/1646 1637/1637/1637 1636/1636/1636\nf 1647/1647/1647 1637/1637/1637 1646/1646/1646\nf 1635/1635/1635 1647/1647/1647 1644/1644/1644\nf 1647/1647/1647 1646/1646/1646 1644/1644/1644\nf 1635/1635/1635 1644/1644/1644 1643/1643/1643\nf 1641/1641/1641 1642/1642/1642 1645/1645/1645\nf 1646/1646/1646 1636/1636/1636 1645/1645/1645\nf 1636/1636/1636 1641/1641/1641 1645/1645/1645\nf 1635/1635/1635 1643/1643/1643 1402/1402/1402\nf 1615/1615/1615 1648/1648/1648 1647/1647/1647\nf 1647/1647/1647 1635/1635/1635 1615/1615/1615\nf 1647/1647/1647 1648/1648/1648 1637/1637/1637\nf 1638/1638/1638 1637/1637/1637 1649/1649/1649\nf 1639/1639/1639 1638/1638/1638 1649/1649/1649\nf 1402/1402/1402 1640/1640/1640 1403/1403/1403\nf 1402/1402/1402 1643/1643/1643 1640/1640/1640\nf 1516/1516/1516 1650/1650/1650 1651/1651/1651\nf 1651/1651/1651 1650/1650/1650 1652/1652/1652\nf 1653/1653/1653 1652/1652/1652 1654/1654/1654\nf 1653/1653/1653 1655/1655/1655 1656/1656/1656\nf 1655/1655/1655 1637/1637/1637 1657/1657/1657\nf 1657/1657/1657 1656/1656/1656 1655/1655/1655\nf 1658/1658/1658 1657/1657/1657 1648/1648/1648\nf 1659/1659/1659 1651/1651/1651 1658/1658/1658\nf 1656/1656/1656 1660/1660/1660 1661/1661/1661\nf 1656/1656/1656 1661/1661/1661 1653/1653/1653\nf 1661/1661/1661 1651/1651/1651 1652/1652/1652\nf 1658/1658/1658 1660/1660/1660 1657/1657/1657\nf 1657/1657/1657 1660/1660/1660 1656/1656/1656\nf 1648/1648/1648 1657/1657/1657 1637/1637/1637\nf 1648/1648/1648 1603/1603/1603 1658/1658/1658\nf 1658/1658/1658 1603/1603/1603 1659/1659/1659\nf 1659/1659/1659 1516/1516/1516 1651/1651/1651\nf 1658/1658/1658 1661/1661/1661 1660/1660/1660\nf 1651/1651/1651 1661/1661/1661 1658/1658/1658\nf 1652/1652/1652 1653/1653/1653 1661/1661/1661\nf 1603/1603/1603 1648/1648/1648 1615/1615/1615\nf 1516/1516/1516 1659/1659/1659 1603/1603/1603\nf 1654/1654/1654 1652/1652/1652 1650/1650/1650\nf 1649/1649/1649 1637/1637/1637 1655/1655/1655\nf 1655/1655/1655 1653/1653/1653 1649/1649/1649\nf 1662/1662/1662 1663/1663/1663 1664/1664/1664\nf 1664/1664/1664 1663/1663/1663 1665/1665/1665\nf 1664/1664/1664 1665/1665/1665 1666/1666/1666\nf 1666/1666/1666 1667/1667/1667 1668/1668/1668\nf 1653/1653/1653 1662/1662/1662 1669/1669/1669\nf 1662/1662/1662 1664/1664/1664 1666/1666/1666\nf 1662/1662/1662 1670/1670/1670 1669/1669/1669\nf 1669/1669/1669 1670/1670/1670 1668/1668/1668\nf 1668/1668/1668 1670/1670/1670 1666/1666/1666\nf 1668/1668/1668 1649/1649/1649 1669/1669/1669\nf 1662/1662/1662 1666/1666/1666 1670/1670/1670\nf 1653/1653/1653 1669/1669/1669 1649/1649/1649\nf 1654/1654/1654 1662/1662/1662 1653/1653/1653\nf 1663/1663/1663 1662/1662/1662 1654/1654/1654\nf 1405/1405/1405 1671/1671/1671 1406/1406/1406\nf 1649/1649/1649 1668/1668/1668 1667/1667/1667\nf 1404/1404/1404 1671/1671/1671 1405/1405/1405\nf 1672/1672/1672 1667/1667/1667 1671/1671/1671\nf 1672/1672/1672 1671/1671/1671 1404/1404/1404\nf 1404/1404/1404 1639/1639/1639 1672/1672/1672\nf 1672/1672/1672 1639/1639/1639 1649/1649/1649\nf 1667/1667/1667 1672/1672/1672 1649/1649/1649\nf 1406/1406/1406 1671/1671/1671 1673/1673/1673\nf 1673/1673/1673 1671/1671/1671 1667/1667/1667\nf 1674/1674/1674 1675/1675/1675 1676/1676/1676\nf 1677/1677/1677 1678/1678/1678 1675/1675/1675\nf 1679/1679/1679 1675/1675/1675 1678/1678/1678\nf 1678/1678/1678 1407/1407/1407 1679/1679/1679\nf 1679/1679/1679 1676/1676/1676 1675/1675/1675\nf 1677/1677/1677 1675/1675/1675 1680/1680/1680\nf 1408/1408/1408 1678/1678/1678 1677/1677/1677\nf 1407/1407/1407 1678/1678/1678 1408/1408/1408\nf 1406/1406/1406 1679/1679/1679 1407/1407/1407\nf 1673/1673/1673 1679/1679/1679 1406/1406/1406\nf 1667/1667/1667 1676/1676/1676 1673/1673/1673\nf 1676/1676/1676 1679/1679/1679 1673/1673/1673\nf 1674/1674/1674 1676/1676/1676 1667/1667/1667\nf 1675/1675/1675 1674/1674/1674 1680/1680/1680\nf 1674/1674/1674 1666/1666/1666 1681/1681/1681\nf 1682/1682/1682 1683/1683/1683 1684/1684/1684\nf 1685/1685/1685 1683/1683/1683 1681/1681/1681\nf 1681/1681/1681 1666/1666/1666 1685/1685/1685\nf 1685/1685/1685 1666/1666/1666 1684/1684/1684\nf 1683/1683/1683 1685/1685/1685 1684/1684/1684\nf 1684/1684/1684 1666/1666/1666 1665/1665/1665\nf 1686/1686/1686 1682/1682/1682 1684/1684/1684\nf 1683/1683/1683 1682/1682/1682 1686/1686/1686\nf 1680/1680/1680 1681/1681/1681 1683/1683/1683\nf 1674/1674/1674 1681/1681/1681 1680/1680/1680\nf 1667/1667/1667 1666/1666/1666 1674/1674/1674\nf 1372/1372/1372 1687/1687/1687 1688/1688/1688\nf 1688/1688/1688 1495/1495/1495 1372/1372/1372\nf 1514/1514/1514 1511/1511/1511 1688/1688/1688\nf 1688/1688/1688 1687/1687/1687 1514/1514/1514\nf 1510/1510/1510 1559/1559/1559 1688/1688/1688\nf 1688/1688/1688 1511/1511/1511 1510/1510/1510\nf 1558/1558/1558 1689/1689/1689 1688/1688/1688\nf 1688/1688/1688 1559/1559/1559 1558/1558/1558\nf 1496/1496/1496 1495/1495/1495 1688/1688/1688\nf 1688/1688/1688 1689/1689/1689 1496/1496/1496\nf 1384/1384/1384 1383/1383/1383 1690/1690/1690\nf 1690/1690/1690 1691/1691/1691 1384/1384/1384\nf 1382/1382/1382 1692/1692/1692 1690/1690/1690\nf 1690/1690/1690 1383/1383/1383 1382/1382/1382\nf 1368/1368/1368 1365/1365/1365 1690/1690/1690\nf 1690/1690/1690 1692/1692/1692 1368/1368/1368\nf 1364/1364/1364 1691/1691/1691 1690/1690/1690\nf 1690/1690/1690 1365/1365/1365 1364/1364/1364\nf 1680/1680/1680 1693/1693/1693 1677/1677/1677\nf 1694/1694/1694 1409/1409/1409 1693/1693/1693\nf 1680/1680/1680 1695/1695/1695 1694/1694/1694\nf 1694/1694/1694 1693/1693/1693 1680/1680/1680\nf 1695/1695/1695 1680/1680/1680 1696/1696/1696\nf 1408/1408/1408 1693/1693/1693 1409/1409/1409\nf 1408/1408/1408 1677/1677/1677 1693/1693/1693\nf 1683/1683/1683 1697/1697/1697 1698/1698/1698\nf 1698/1698/1698 1697/1697/1697 1699/1699/1699\nf 1683/1683/1683 1698/1698/1698 1700/1700/1700\nf 1683/1683/1683 1700/1700/1700 1701/1701/1701\nf 1700/1700/1700 1696/1696/1696 1701/1701/1701\nf 1699/1699/1699 1696/1696/1696 1700/1700/1700\nf 1698/1698/1698 1699/1699/1699 1700/1700/1700\nf 1680/1680/1680 1701/1701/1701 1696/1696/1696\nf 1683/1683/1683 1701/1701/1701 1680/1680/1680\nf 1697/1697/1697 1683/1683/1683 1686/1686/1686\nf 1695/1695/1695 1696/1696/1696 1699/1699/1699\nf 1702/1702/1702 1703/1703/1703 1704/1704/1704\nf 1705/1705/1705 1704/1704/1704 1694/1694/1694\nf 1703/1703/1703 1706/1706/1706 1704/1704/1704\nf 1706/1706/1706 1703/1703/1703 1409/1409/1409\nf 1409/1409/1409 1694/1694/1694 1706/1706/1706\nf 1694/1694/1694 1704/1704/1704 1706/1706/1706\nf 1410/1410/1410 1703/1703/1703 1702/1702/1702\nf 1410/1410/1410 1409/1409/1409 1703/1703/1703\nf 1694/1694/1694 1695/1695/1695 1705/1705/1705\nf 1704/1704/1704 1705/1705/1705 1695/1695/1695\nf 1702/1702/1702 1704/1704/1704 1707/1707/1707\nf 1708/1708/1708 1370/1370/1370 1709/1709/1709\nf 1708/1708/1708 1710/1710/1710 1370/1370/1370\nf 1699/1699/1699 1370/1370/1370 1710/1710/1710\nf 1710/1710/1710 1711/1711/1711 1699/1699/1699\nf 1704/1704/1704 1711/1711/1711 1710/1710/1710\nf 1708/1708/1708 1704/1704/1704 1710/1710/1710\nf 1704/1704/1704 1708/1708/1708 1707/1707/1707\nf 1695/1695/1695 1711/1711/1711 1704/1704/1704\nf 1699/1699/1699 1711/1711/1711 1695/1695/1695\nf 1697/1697/1697 1371/1371/1371 1699/1699/1699\nf 1709/1709/1709 1370/1370/1370 1369/1369/1369\nf 1708/1708/1708 1709/1709/1709 1707/1707/1707\nf 1712/1712/1712 1713/1713/1713 1714/1714/1714\nf 1713/1713/1713 1702/1702/1702 1714/1714/1714\nf 1702/1702/1702 1707/1707/1707 1714/1714/1714\nf 1715/1715/1715 1712/1712/1712 1714/1714/1714\nf 1713/1713/1713 1712/1712/1712 1434/1434/1434\nf 1713/1713/1713 1434/1434/1434 1410/1410/1410\nf 1713/1713/1713 1410/1410/1410 1702/1702/1702\nf 1714/1714/1714 1709/1709/1709 1715/1715/1715\nf 1716/1716/1716 1709/1709/1709 1717/1717/1717\nf 1709/1709/1709 1718/1718/1718 1715/1715/1715\nf 1716/1716/1716 1718/1718/1718 1709/1709/1709\nf 1369/1369/1369 1448/1448/1448 1717/1717/1717\nf 1461/1461/1461 1716/1716/1716 1717/1717/1717\nf 1717/1717/1717 1448/1448/1448 1461/1461/1461\nf 1718/1718/1718 1716/1716/1716 1461/1461/1461\nf 1709/1709/1709 1714/1714/1714 1707/1707/1707\nf 1369/1369/1369 1717/1717/1717 1709/1709/1709\nf 1719/1719/1719 1720/1720/1720 1721/1721/1721\nf 1712/1712/1712 1715/1715/1715 1720/1720/1720\nf 1719/1719/1719 1712/1712/1712 1720/1720/1720\nf 1436/1436/1436 1719/1719/1719 1721/1721/1721\nf 1436/1436/1436 1435/1435/1435 1719/1719/1719\nf 1719/1719/1719 1435/1435/1435 1434/1434/1434\nf 1712/1712/1712 1719/1719/1719 1434/1434/1434\nf 1722/1722/1722 1721/1721/1721 1720/1720/1720\nf 1723/1723/1723 1722/1722/1722 1720/1720/1720\nf 1723/1723/1723 1724/1724/1724 1725/1725/1725\nf 1718/1718/1718 1725/1725/1725 1724/1724/1724\nf 1724/1724/1724 1723/1723/1723 1720/1720/1720\nf 1461/1461/1461 1460/1460/1460 1725/1725/1725\nf 1723/1723/1723 1725/1725/1725 1460/1460/1460\nf 1722/1722/1722 1723/1723/1723 1460/1460/1460\nf 1724/1724/1724 1720/1720/1720 1715/1715/1715\nf 1718/1718/1718 1724/1724/1724 1715/1715/1715\nf 1461/1461/1461 1725/1725/1725 1718/1718/1718\nf 1721/1721/1721 1726/1726/1726 1727/1727/1727\nf 1721/1721/1721 1727/1727/1727 1437/1437/1437\nf 1721/1721/1721 1437/1437/1437 1436/1436/1436\nf 1726/1726/1726 1721/1721/1721 1722/1722/1722\nf 1728/1728/1728 1729/1729/1729 1730/1730/1730\nf 1726/1726/1726 1728/1728/1728 1730/1730/1730\nf 1726/1726/1726 1730/1730/1730 1727/1727/1727\nf 1728/1728/1728 1726/1726/1726 1722/1722/1722\nf 1728/1728/1728 1722/1722/1722 1460/1460/1460\nf 1460/1460/1460 1459/1459/1459 1728/1728/1728\nf 1728/1728/1728 1459/1459/1459 1729/1729/1729\nf 1730/1730/1730 1729/1729/1729 1459/1459/1459\nf 1438/1438/1438 1727/1727/1727 1731/1731/1731\nf 1438/1438/1438 1731/1731/1731 1439/1439/1439\nf 1727/1727/1727 1438/1438/1438 1437/1437/1437\nf 1731/1731/1731 1732/1732/1732 1457/1457/1457\nf 1730/1730/1730 1732/1732/1732 1731/1731/1731\nf 1730/1730/1730 1459/1459/1459 1732/1732/1732\nf 1459/1459/1459 1458/1458/1458 1732/1732/1732\nf 1732/1732/1732 1458/1458/1458 1457/1457/1457\nf 1731/1731/1731 1457/1457/1457 1439/1439/1439\nf 1730/1730/1730 1731/1731/1731 1727/1727/1727\nf 1433/1433/1433 1733/1733/1733 1440/1440/1440\nf 1733/1733/1733 1433/1433/1433 1439/1439/1439\nf 1733/1733/1733 1457/1457/1457 1447/1447/1447\nf 1440/1440/1440 1733/1733/1733 1447/1447/1447\nf 1457/1457/1457 1733/1733/1733 1439/1439/1439\nf 1440/1440/1440 1734/1734/1734 1441/1441/1441\nf 1456/1456/1456 1734/1734/1734 1447/1447/1447\nf 1440/1440/1440 1447/1447/1447 1734/1734/1734\nf 1441/1441/1441 1734/1734/1734 1442/1442/1442\nf 1442/1442/1442 1456/1456/1456 1454/1454/1454\nf 1456/1456/1456 1442/1442/1442 1734/1734/1734\nf 1456/1456/1456 1455/1455/1455 1454/1454/1454\nf 1444/1444/1444 1442/1442/1442 1735/1735/1735\nf 1444/1444/1444 1443/1443/1443 1442/1442/1442\nf 1442/1442/1442 1454/1454/1454 1735/1735/1735\nf 1454/1454/1454 1453/1453/1453 1735/1735/1735\nf 1735/1735/1735 1453/1453/1453 1452/1452/1452\nf 1444/1444/1444 1736/1736/1736 1446/1446/1446\nf 1446/1446/1446 1445/1445/1445 1444/1444/1444\nf 1735/1735/1735 1736/1736/1736 1444/1444/1444\nf 1451/1451/1451 1735/1735/1735 1452/1452/1452\nf 1736/1736/1736 1735/1735/1735 1451/1451/1451\nf 1475/1475/1475 1432/1432/1432 1736/1736/1736\nf 1736/1736/1736 1432/1432/1432 1446/1446/1446\nf 1736/1736/1736 1451/1451/1451 1475/1475/1475\nf 1451/1451/1451 1450/1450/1450 1475/1475/1475\nf 1475/1475/1475 1450/1450/1450 1449/1449/1449\nf 1368/1368/1368 1692/1692/1692 1416/1416/1416\nf 1416/1416/1416 1412/1412/1412 1368/1368/1368\nf 1416/1416/1416 1692/1692/1692 1382/1382/1382\nf 1413/1413/1413 1412/1412/1412 1416/1416/1416\nf 1416/1416/1416 1419/1419/1419 1413/1413/1413\nf 1371/1371/1371 1370/1370/1370 1699/1699/1699\nf 1371/1371/1371 1697/1697/1697 1737/1737/1737\nf 1737/1737/1737 1367/1367/1367 1371/1371/1371\nf 1697/1697/1697 1686/1686/1686 1737/1737/1737\nf 1686/1686/1686 1684/1684/1684 1737/1737/1737\nf 1665/1665/1665 1663/1663/1663 1737/1737/1737\nf 1737/1737/1737 1684/1684/1684 1665/1665/1665\nf 1737/1737/1737 1663/1663/1663 1654/1654/1654\nf 1737/1737/1737 1654/1654/1654 1650/1650/1650\nf 1516/1516/1516 1515/1515/1515 1737/1737/1737\nf 1737/1737/1737 1650/1650/1650 1516/1516/1516\nf 1514/1514/1514 1738/1738/1738 1737/1737/1737\nf 1737/1737/1737 1515/1515/1515 1514/1514/1514\nf 1364/1364/1364 1367/1367/1367 1737/1737/1737\nf 1737/1737/1737 1738/1738/1738 1364/1364/1364\nf 1364/1364/1364 1738/1738/1738 1739/1739/1739\nf 1739/1739/1739 1691/1691/1691 1364/1364/1364\nf 1514/1514/1514 1687/1687/1687 1739/1739/1739\nf 1739/1739/1739 1738/1738/1738 1514/1514/1514\nf 1372/1372/1372 1375/1375/1375 1739/1739/1739\nf 1739/1739/1739 1687/1687/1687 1372/1372/1372\nf 1384/1384/1384 1691/1691/1691 1739/1739/1739\nf 1739/1739/1739 1375/1375/1375 1384/1384/1384\nf 1432/1432/1432 1475/1475/1475 1471/1471/1471\nf 1473/1473/1473 1471/1471/1471 1475/1475/1475\nf 1473/1473/1473 1472/1472/1472 1471/1471/1471\nf 1475/1475/1475 1476/1476/1476 1473/1473/1473\nf 1463/1463/1463 1470/1470/1470 1473/1473/1473\nf 1463/1463/1463 1474/1474/1474 1470/1470/1470\nf 1474/1474/1474 1465/1465/1465 1469/1469/1469\nf 603/603/603 602/602/602 1740/1740/1740\nf 1740/1740/1740 1741/1741/1741 603/603/603\nf 599/599/599 1742/1742/1742 1740/1740/1740\nf 1740/1740/1740 602/602/602 599/599/599\nf 1500/1500/1500 1509/1509/1509 1740/1740/1740\nf 1740/1740/1740 1742/1742/1742 1500/1500/1500\nf 1506/1506/1506 1741/1741/1741 1740/1740/1740\nf 1740/1740/1740 1509/1509/1509 1506/1506/1506\nf 599/599/599 598/598/598 1743/1743/1743\nf 1743/1743/1743 1742/1742/1742 599/599/599\nf 594/594/594 1744/1744/1744 1743/1743/1743\nf 1743/1743/1743 598/598/598 594/594/594\nf 1345/1345/1345 1501/1501/1501 1743/1743/1743\nf 1743/1743/1743 1744/1744/1744 1345/1345/1345\nf 1500/1500/1500 1742/1742/1742 1743/1743/1743\nf 1743/1743/1743 1501/1501/1501 1500/1500/1500\nf 594/594/594 1745/1745/1745 1746/1746/1746\nf 1746/1746/1746 1744/1744/1744 594/594/594\nf 1349/1349/1349 1346/1346/1346 1746/1746/1746\nf 1746/1746/1746 1745/1745/1745 1349/1349/1349\nf 1345/1345/1345 1744/1744/1744 1746/1746/1746\nf 1746/1746/1746 1346/1346/1346 1345/1345/1345\nf 594/594/594 808/808/808 1747/1747/1747\nf 1747/1747/1747 1745/1745/1745 594/594/594\nf 774/774/774 1748/1748/1748 1747/1747/1747\nf 1747/1747/1747 808/808/808 774/774/774\nf 1356/1356/1356 1354/1354/1354 1747/1747/1747\nf 1747/1747/1747 1748/1748/1748 1356/1356/1356\nf 1349/1349/1349 1745/1745/1745 1747/1747/1747\nf 1747/1747/1747 1354/1354/1354 1349/1349/1349\nf 774/774/774 771/771/771 1749/1749/1749\nf 1749/1749/1749 1748/1748/1748 774/774/774\nf 770/770/770 1750/1750/1750 1749/1749/1749\nf 1749/1749/1749 771/771/771 770/770/770\nf 1596/1596/1596 1363/1363/1363 1749/1749/1749\nf 1749/1749/1749 1750/1750/1750 1596/1596/1596\nf 1356/1356/1356 1748/1748/1748 1749/1749/1749\nf 1749/1749/1749 1363/1363/1363 1356/1356/1356\nf 770/770/770 1751/1751/1751 1752/1752/1752\nf 1752/1752/1752 1750/1750/1750 770/770/770\nf 1555/1555/1555 1563/1563/1563 1752/1752/1752\nf 1752/1752/1752 1751/1751/1751 1555/1555/1555\nf 1596/1596/1596 1750/1750/1750 1752/1752/1752\nf 1752/1752/1752 1563/1563/1563 1596/1596/1596\nf 770/770/770 804/804/804 1753/1753/1753\nf 1753/1753/1753 1751/1751/1751 770/770/770\nf 765/765/765 1754/1754/1754 1753/1753/1753\nf 1753/1753/1753 804/804/804 765/765/765\nf 1521/1521/1521 1557/1557/1557 1753/1753/1753\nf 1753/1753/1753 1754/1754/1754 1521/1521/1521\nf 1555/1555/1555 1751/1751/1751 1753/1753/1753\nf 1753/1753/1753 1557/1557/1557 1555/1555/1555\nf 765/765/765 762/762/762 1755/1755/1755\nf 1755/1755/1755 1754/1754/1754 765/765/765\nf 611/611/611 1756/1756/1756 1755/1755/1755\nf 1755/1755/1755 762/762/762 611/611/611\nf 1558/1558/1558 1561/1561/1561 1755/1755/1755\nf 1755/1755/1755 1756/1756/1756 1558/1558/1558\nf 1521/1521/1521 1754/1754/1754 1755/1755/1755\nf 1755/1755/1755 1561/1561/1561 1521/1521/1521\nf 1757/1757/1757 1756/1756/1756 611/611/611\nf 1496/1496/1496 1689/1689/1689 1757/1757/1757\nf 1558/1558/1558 1756/1756/1756 1757/1757/1757\nf 1757/1757/1757 1689/1689/1689 1558/1558/1558\nf 611/611/611 610/610/610 1758/1758/1758\nf 1758/1758/1758 1757/1757/1757 611/611/611\nf 607/607/607 1759/1759/1759 1758/1758/1758\nf 1758/1758/1758 610/610/610 607/607/607\nf 1497/1497/1497 1496/1496/1496 1758/1758/1758\nf 1758/1758/1758 1759/1759/1759 1497/1497/1497\nf 1496/1496/1496 1757/1757/1757 1758/1758/1758\nf 607/607/607 606/606/606 1760/1760/1760\nf 1760/1760/1760 1759/1759/1759 607/607/607\nf 603/603/603 1761/1761/1761 1760/1760/1760\nf 1760/1760/1760 606/606/606 603/603/603\nf 1499/1499/1499 1498/1498/1498 1760/1760/1760\nf 1760/1760/1760 1761/1761/1761 1499/1499/1499\nf 1497/1497/1497 1759/1759/1759 1760/1760/1760\nf 1760/1760/1760 1498/1498/1498 1497/1497/1497\nf 603/603/603 1741/1741/1741 1762/1762/1762\nf 1762/1762/1762 1761/1761/1761 603/603/603\nf 1506/1506/1506 1504/1504/1504 1762/1762/1762\nf 1762/1762/1762 1741/1741/1741 1506/1506/1506\nf 1499/1499/1499 1761/1761/1761 1762/1762/1762\nf 1762/1762/1762 1504/1504/1504 1499/1499/1499\nf 1763/1763/1763 1764/1764/1764 1765/1765/1765\nf 1765/1765/1765 1766/1766/1766 1763/1763/1763\nf 1767/1767/1767 1768/1768/1768 1765/1765/1765\nf 1765/1765/1765 1764/1764/1764 1767/1767/1767\nf 1769/1769/1769 1770/1770/1770 1765/1765/1765\nf 1765/1765/1765 1768/1768/1768 1769/1769/1769\nf 1771/1771/1771 1766/1766/1766 1765/1765/1765\nf 1765/1765/1765 1770/1770/1770 1771/1771/1771\nf 1767/1767/1767 1772/1772/1772 1773/1773/1773\nf 1773/1773/1773 1768/1768/1768 1767/1767/1767\nf 1774/1774/1774 1775/1775/1775 1773/1773/1773\nf 1773/1773/1773 1772/1772/1772 1774/1774/1774\nf 1775/1775/1775 1776/1776/1776 1773/1773/1773\nf 1777/1777/1777 1778/1778/1778 1773/1773/1773\nf 1773/1773/1773 1776/1776/1776 1777/1777/1777\nf 1779/1779/1779 1780/1780/1780 1773/1773/1773\nf 1773/1773/1773 1778/1778/1778 1779/1779/1779\nf 1769/1769/1769 1768/1768/1768 1773/1773/1773\nf 1773/1773/1773 1780/1780/1780 1769/1769/1769\nf 1781/1781/1781 1775/1775/1775 1774/1774/1774\nf 1782/1782/1782 1783/1783/1783 1784/1784/1784\nf 1784/1784/1784 1785/1785/1785 1782/1782/1782\nf 1784/1784/1784 1783/1783/1783 1786/1786/1786\nf 1787/1787/1787 1788/1788/1788 1784/1784/1784\nf 1784/1784/1784 1786/1786/1786 1787/1787/1787\nf 1789/1789/1789 1785/1785/1785 1784/1784/1784\nf 1784/1784/1784 1788/1788/1788 1789/1789/1789\nf 1790/1790/1790 1791/1791/1791 1792/1792/1792\nf 1792/1792/1792 1793/1793/1793 1790/1790/1790\nf 1794/1794/1794 1795/1795/1795 1792/1792/1792\nf 1792/1792/1792 1791/1791/1791 1794/1794/1794\nf 1796/1796/1796 1797/1797/1797 1792/1792/1792\nf 1792/1792/1792 1795/1795/1795 1796/1796/1796\nf 1798/1798/1798 1799/1799/1799 1792/1792/1792\nf 1792/1792/1792 1797/1797/1797 1798/1798/1798\nf 1800/1800/1800 1801/1801/1801 1792/1792/1792\nf 1792/1792/1792 1799/1799/1799 1800/1800/1800\nf 1802/1802/1802 1793/1793/1793 1792/1792/1792\nf 1792/1792/1792 1801/1801/1801 1802/1802/1802\nf 1796/1796/1796 1803/1803/1803 1804/1804/1804\nf 1804/1804/1804 1797/1797/1797 1796/1796/1796\nf 1805/1805/1805 1806/1806/1806 1804/1804/1804\nf 1804/1804/1804 1803/1803/1803 1805/1805/1805\nf 1807/1807/1807 1808/1808/1808 1804/1804/1804\nf 1804/1804/1804 1806/1806/1806 1807/1807/1807\nf 1798/1798/1798 1797/1797/1797 1804/1804/1804\nf 1804/1804/1804 1808/1808/1808 1798/1798/1798\nf 1805/1805/1805 1809/1809/1809 1810/1810/1810\nf 1810/1810/1810 1806/1806/1806 1805/1805/1805\nf 1771/1771/1771 1770/1770/1770 1810/1810/1810\nf 1810/1810/1810 1809/1809/1809 1771/1771/1771\nf 1769/1769/1769 1811/1811/1811 1810/1810/1810\nf 1810/1810/1810 1770/1770/1770 1769/1769/1769\nf 1812/1812/1812 1813/1813/1813 1810/1810/1810\nf 1810/1810/1810 1811/1811/1811 1812/1812/1812\nf 1807/1807/1807 1806/1806/1806 1810/1810/1810\nf 1810/1810/1810 1813/1813/1813 1807/1807/1807\nf 1769/1769/1769 1780/1780/1780 1814/1814/1814\nf 1814/1814/1814 1811/1811/1811 1769/1769/1769\nf 1779/1779/1779 1815/1815/1815 1814/1814/1814\nf 1814/1814/1814 1780/1780/1780 1779/1779/1779\nf 1816/1816/1816 1817/1817/1817 1814/1814/1814\nf 1814/1814/1814 1815/1815/1815 1816/1816/1816\nf 1812/1812/1812 1811/1811/1811 1814/1814/1814\nf 1814/1814/1814 1817/1817/1817 1812/1812/1812\nf 1779/1779/1779 1818/1818/1818 1819/1819/1819\nf 1819/1819/1819 1815/1815/1815 1779/1779/1779\nf 1820/1820/1820 1821/1821/1821 1819/1819/1819\nf 1819/1819/1819 1818/1818/1818 1820/1820/1820\nf 1821/1821/1821 1822/1822/1822 1819/1819/1819\nf 1822/1822/1822 1823/1823/1823 1819/1819/1819\nf 1824/1824/1824 1825/1825/1825 1819/1819/1819\nf 1819/1819/1819 1823/1823/1823 1824/1824/1824\nf 1819/1819/1819 1825/1825/1825 1826/1826/1826\nf 1819/1819/1819 1826/1826/1826 1827/1827/1827\nf 1828/1828/1828 1829/1829/1829 1819/1819/1819\nf 1819/1819/1819 1827/1827/1827 1828/1828/1828\nf 1816/1816/1816 1815/1815/1815 1819/1819/1819\nf 1819/1819/1819 1829/1829/1829 1816/1816/1816\nf 1787/1787/1787 1786/1786/1786 1830/1830/1830\nf 1831/1831/1831 1832/1832/1832 1830/1830/1830\nf 1800/1800/1800 1799/1799/1799 1833/1833/1833\nf 1833/1833/1833 1834/1834/1834 1800/1800/1800\nf 1798/1798/1798 1835/1835/1835 1833/1833/1833\nf 1833/1833/1833 1799/1799/1799 1798/1798/1798\nf 1836/1836/1836 1837/1837/1837 1833/1833/1833\nf 1833/1833/1833 1835/1835/1835 1836/1836/1836\nf 1837/1837/1837 1834/1834/1834 1833/1833/1833\nf 1798/1798/1798 1808/1808/1808 1838/1838/1838\nf 1838/1838/1838 1835/1835/1835 1798/1798/1798\nf 1807/1807/1807 1839/1839/1839 1838/1838/1838\nf 1838/1838/1838 1808/1808/1808 1807/1807/1807\nf 1838/1838/1838 1839/1839/1839 1840/1840/1840\nf 1836/1836/1836 1835/1835/1835 1838/1838/1838\nf 1838/1838/1838 1840/1840/1840 1836/1836/1836\nf 1807/1807/1807 1813/1813/1813 1841/1841/1841\nf 1841/1841/1841 1839/1839/1839 1807/1807/1807\nf 1812/1812/1812 1842/1842/1842 1841/1841/1841\nf 1841/1841/1841 1813/1813/1813 1812/1812/1812\nf 1841/1841/1841 1842/1842/1842 1843/1843/1843\nf 1840/1840/1840 1839/1839/1839 1841/1841/1841\nf 1841/1841/1841 1843/1843/1843 1840/1840/1840\nf 1812/1812/1812 1844/1844/1844 1845/1845/1845\nf 1845/1845/1845 1842/1842/1842 1812/1812/1812\nf 1845/1845/1845 1844/1844/1844 1843/1843/1843\nf 1843/1843/1843 1842/1842/1842 1845/1845/1845\nf 1812/1812/1812 1846/1846/1846 1847/1847/1847\nf 1847/1847/1847 1844/1844/1844 1812/1812/1812\nf 1847/1847/1847 1846/1846/1846 1843/1843/1843\nf 1843/1843/1843 1844/1844/1844 1847/1847/1847\nf 1812/1812/1812 1817/1817/1817 1848/1848/1848\nf 1848/1848/1848 1846/1846/1846 1812/1812/1812\nf 1816/1816/1816 1849/1849/1849 1848/1848/1848\nf 1848/1848/1848 1817/1817/1817 1816/1816/1816\nf 1850/1850/1850 1843/1843/1843 1848/1848/1848\nf 1848/1848/1848 1849/1849/1849 1850/1850/1850\nf 1843/1843/1843 1846/1846/1846 1848/1848/1848\nf 1816/1816/1816 1829/1829/1829 1851/1851/1851\nf 1851/1851/1851 1849/1849/1849 1816/1816/1816\nf 1828/1828/1828 1852/1852/1852 1851/1851/1851\nf 1851/1851/1851 1829/1829/1829 1828/1828/1828\nf 1852/1852/1852 1853/1853/1853 1851/1851/1851\nf 1853/1853/1853 1854/1854/1854 1851/1851/1851\nf 1854/1854/1854 1855/1855/1855 1851/1851/1851\nf 1851/1851/1851 1856/1856/1856 1857/1857/1857\nf 1858/1858/1858 1859/1859/1859 1851/1851/1851\nf 1851/1851/1851 1857/1857/1857 1858/1858/1858\nf 1851/1851/1851 1859/1859/1859 1860/1860/1860\nf 1861/1861/1861 1862/1862/1862 1851/1851/1851\nf 1851/1851/1851 1860/1860/1860 1861/1861/1861\nf 1863/1863/1863 1850/1850/1850 1851/1851/1851\nf 1851/1851/1851 1862/1862/1862 1863/1863/1863\nf 1850/1850/1850 1849/1849/1849 1851/1851/1851\nf 1864/1864/1864 1865/1865/1865 1787/1787/1787\nf 1866/1866/1866 1867/1867/1867 1864/1864/1864\nf 1864/1864/1864 1832/1832/1832 1866/1866/1866\nf 1868/1868/1868 1869/1869/1869 1864/1864/1864\nf 1864/1864/1864 1867/1867/1867 1868/1868/1868\nf 1869/1869/1869 1870/1870/1870 1864/1864/1864\nf 1871/1871/1871 1872/1872/1872 1864/1864/1864\nf 1864/1864/1864 1870/1870/1870 1871/1871/1871\nf 1864/1864/1864 1872/1872/1872 1873/1873/1873\nf 1874/1874/1874 1875/1875/1875 1864/1864/1864\nf 1864/1864/1864 1875/1875/1875 1876/1876/1876\nf 1864/1864/1864 1876/1876/1876 1877/1877/1877\nf 1878/1878/1878 1865/1865/1865 1864/1864/1864\nf 1864/1864/1864 1877/1877/1877 1878/1878/1878\nf 1787/1787/1787 1830/1830/1830 1879/1879/1879\nf 1879/1879/1879 1864/1864/1864 1787/1787/1787\nf 1879/1879/1879 1830/1830/1830 1832/1832/1832\nf 1832/1832/1832 1864/1864/1864 1879/1879/1879\nf 1831/1831/1831 1837/1837/1837 1880/1880/1880\nf 1880/1880/1880 1832/1832/1832 1831/1831/1831\nf 1837/1837/1837 1881/1881/1881 1880/1880/1880\nf 1880/1880/1880 1881/1881/1881 1882/1882/1882\nf 1836/1836/1836 1883/1883/1883 1881/1881/1881\nf 1881/1881/1881 1837/1837/1837 1836/1836/1836\nf 1881/1881/1881 1883/1883/1883 1882/1882/1882\nf 1836/1836/1836 1840/1840/1840 1883/1883/1883\nf 1884/1884/1884 1882/1882/1882 1883/1883/1883\nf 1840/1840/1840 1843/1843/1843 1883/1883/1883\nf 1843/1843/1843 1885/1885/1885 1883/1883/1883\nf 1883/1883/1883 1885/1885/1885 1884/1884/1884\nf 1850/1850/1850 1886/1886/1886 1885/1885/1885\nf 1885/1885/1885 1843/1843/1843 1850/1850/1850\nf 1885/1885/1885 1886/1886/1886 1887/1887/1887\nf 1885/1885/1885 1887/1887/1887 1884/1884/1884\nf 1863/1863/1863 1888/1888/1888 1886/1886/1886\nf 1886/1886/1886 1850/1850/1850 1863/1863/1863\nf 1886/1886/1886 1888/1888/1888 1889/1889/1889\nf 1886/1886/1886 1890/1890/1890 1887/1887/1887\nf 1866/1866/1866 1832/1832/1832 1880/1880/1880\nf 1880/1880/1880 1891/1891/1891 1866/1866/1866\nf 1882/1882/1882 1887/1887/1887 1880/1880/1880\nf 1887/1887/1887 1892/1892/1892 1880/1880/1880\nf 1893/1893/1893 1891/1891/1891 1880/1880/1880\nf 1880/1880/1880 1894/1894/1894 1893/1893/1893\nf 1882/1882/1882 1895/1895/1895 1896/1896/1896\nf 1897/1897/1897 1898/1898/1898 1896/1896/1896\nf 1896/1896/1896 1895/1895/1895 1897/1897/1897\nf 1895/1895/1895 1882/1882/1882 1884/1884/1884\nf 1884/1884/1884 1887/1887/1887 1895/1895/1895\nf 1899/1899/1899 1897/1897/1897 1895/1895/1895\nf 1900/1900/1900 1895/1895/1895 1887/1887/1887\nf 1899/1899/1899 1895/1895/1895 1900/1900/1900\nf 1887/1887/1887 1882/1882/1882 1900/1900/1900\nf 1882/1882/1882 1896/1896/1896 1900/1900/1900\nf 1900/1900/1900 1896/1896/1896 1898/1898/1898\nf 1900/1900/1900 1898/1898/1898 1899/1899/1899\nf 1901/1901/1901 1898/1898/1898 1897/1897/1897\nf 1902/1902/1902 1901/1901/1901 1897/1897/1897\nf 1903/1903/1903 1901/1901/1901 1902/1902/1902\nf 1902/1902/1902 1904/1904/1904 1903/1903/1903\nf 1905/1905/1905 1902/1902/1902 1897/1897/1897\nf 1904/1904/1904 1902/1902/1902 1905/1905/1905\nf 1905/1905/1905 1897/1897/1897 1899/1899/1899\nf 1905/1905/1905 1906/1906/1906 1904/1904/1904\nf 1899/1899/1899 1901/1901/1901 1905/1905/1905\nf 1905/1905/1905 1901/1901/1901 1906/1906/1906\nf 1899/1899/1899 1898/1898/1898 1901/1901/1901\nf 1901/1901/1901 1903/1903/1903 1906/1906/1906\nf 1903/1903/1903 1907/1907/1907 1908/1908/1908\nf 1908/1908/1908 1907/1907/1907 1909/1909/1909\nf 1903/1903/1903 1904/1904/1904 1907/1907/1907\nf 1904/1904/1904 1910/1910/1910 1907/1907/1907\nf 1907/1907/1907 1910/1910/1910 1909/1909/1909\nf 1904/1904/1904 1906/1906/1906 1910/1910/1910\nf 1906/1906/1906 1903/1903/1903 1910/1910/1910\nf 1903/1903/1903 1908/1908/1908 1910/1910/1910\nf 1910/1910/1910 1908/1908/1908 1909/1909/1909\nf 1794/1794/1794 1791/1791/1791 1911/1911/1911\nf 1911/1911/1911 1912/1912/1912 1794/1794/1794\nf 1790/1790/1790 1913/1913/1913 1911/1911/1911\nf 1911/1911/1911 1791/1791/1791 1790/1790/1790\nf 1911/1911/1911 1913/1913/1913 1914/1914/1914\nf 1915/1915/1915 1916/1916/1916 1911/1911/1911\nf 1911/1911/1911 1914/1914/1914 1915/1915/1915\nf 1917/1917/1917 1912/1912/1912 1911/1911/1911\nf 1911/1911/1911 1916/1916/1916 1917/1917/1917\nf 1918/1918/1918 1919/1919/1919 1920/1920/1920\nf 1920/1920/1920 1921/1921/1921 1918/1918/1918\nf 1763/1763/1763 1766/1766/1766 1920/1920/1920\nf 1920/1920/1920 1919/1919/1919 1763/1763/1763\nf 1771/1771/1771 1809/1809/1809 1920/1920/1920\nf 1920/1920/1920 1766/1766/1766 1771/1771/1771\nf 1805/1805/1805 1921/1921/1921 1920/1920/1920\nf 1920/1920/1920 1809/1809/1809 1805/1805/1805\nf 1917/1917/1917 1922/1922/1922 1923/1923/1923\nf 1923/1923/1923 1912/1912/1912 1917/1917/1917\nf 1924/1924/1924 1925/1925/1925 1923/1923/1923\nf 1923/1923/1923 1922/1922/1922 1924/1924/1924\nf 1796/1796/1796 1795/1795/1795 1923/1923/1923\nf 1923/1923/1923 1925/1925/1925 1796/1796/1796\nf 1794/1794/1794 1912/1912/1912 1923/1923/1923\nf 1923/1923/1923 1795/1795/1795 1794/1794/1794\nf 1805/1805/1805 1803/1803/1803 1926/1926/1926\nf 1926/1926/1926 1921/1921/1921 1805/1805/1805\nf 1796/1796/1796 1925/1925/1925 1926/1926/1926\nf 1926/1926/1926 1803/1803/1803 1796/1796/1796\nf 1924/1924/1924 1927/1927/1927 1926/1926/1926\nf 1926/1926/1926 1925/1925/1925 1924/1924/1924\nf 1918/1918/1918 1921/1921/1921 1926/1926/1926\nf 1926/1926/1926 1927/1927/1927 1918/1918/1918\nf 1928/1928/1928 1929/1929/1929 1930/1930/1930\nf 1930/1930/1930 1931/1931/1931 1928/1928/1928\nf 1932/1932/1932 1933/1933/1933 1930/1930/1930\nf 1930/1930/1930 1929/1929/1929 1932/1932/1932\nf 1934/1934/1934 1935/1935/1935 1930/1930/1930\nf 1930/1930/1930 1933/1933/1933 1934/1934/1934\nf 1936/1936/1936 1931/1931/1931 1930/1930/1930\nf 1930/1930/1930 1935/1935/1935 1936/1936/1936\nf 1937/1937/1937 1938/1938/1938 1939/1939/1939\nf 1939/1939/1939 1940/1940/1940 1941/1941/1941\nf 1941/1941/1941 1937/1937/1937 1939/1939/1939\nf 1942/1942/1942 1943/1943/1943 1941/1941/1941\nf 1941/1941/1941 1940/1940/1940 1942/1942/1942\nf 1942/1942/1942 1944/1944/1944 1945/1945/1945\nf 1945/1945/1945 1943/1943/1943 1942/1942/1942\nf 1946/1946/1946 1947/1947/1947 1945/1945/1945\nf 1945/1945/1945 1944/1944/1944 1946/1946/1946\nf 1948/1948/1948 1947/1947/1947 1946/1946/1946\nf 1949/1949/1949 1950/1950/1950 1948/1948/1948\nf 1948/1948/1948 1951/1951/1951 1949/1949/1949\nf 1948/1948/1948 1950/1950/1950 1947/1947/1947\nf 1951/1951/1951 1952/1952/1952 1953/1953/1953\nf 1954/1954/1954 1955/1955/1955 1953/1953/1953\nf 1953/1953/1953 1952/1952/1952 1954/1954/1954\nf 1949/1949/1949 1951/1951/1951 1953/1953/1953\nf 1939/1939/1939 1956/1956/1956 1957/1957/1957\nf 1949/1949/1949 1958/1958/1958 1950/1950/1950\nf 1950/1950/1950 1958/1958/1958 1947/1947/1947\nf 1947/1947/1947 1959/1959/1959 1945/1945/1945\nf 1959/1959/1959 1943/1943/1943 1945/1945/1945\nf 1941/1941/1941 1943/1943/1943 1959/1959/1959\nf 1960/1960/1960 1937/1937/1937 1941/1941/1941\nf 1938/1938/1938 1937/1937/1937 1960/1960/1960\nf 1938/1938/1938 1960/1960/1960 1956/1956/1956\nf 1956/1956/1956 1960/1960/1960 1957/1957/1957\nf 1961/1961/1961 1962/1962/1962 1957/1957/1957\nf 1957/1957/1957 1960/1960/1960 1961/1961/1961\nf 1963/1963/1963 1962/1962/1962 1961/1961/1961\nf 1961/1961/1961 1964/1964/1964 1963/1963/1963\nf 1965/1965/1965 1964/1964/1964 1961/1961/1961\nf 1965/1965/1965 1961/1961/1961 1955/1955/1955\nf 1954/1954/1954 1966/1966/1966 1965/1965/1965\nf 1965/1965/1965 1955/1955/1955 1954/1954/1954\nf 1967/1967/1967 1964/1964/1964 1965/1965/1965\nf 1965/1965/1965 1966/1966/1966 1967/1967/1967\nf 1963/1963/1963 1964/1964/1964 1967/1967/1967\nf 1968/1968/1968 1962/1962/1962 1963/1963/1963\nf 1969/1969/1969 1957/1957/1957 1962/1962/1962\nf 1969/1969/1969 1962/1962/1962 1968/1968/1968\nf 1939/1939/1939 1957/1957/1957 1969/1969/1969\nf 1938/1938/1938 1956/1956/1956 1939/1939/1939\nf 1960/1960/1960 1959/1959/1959 1958/1958/1958\nf 1961/1961/1961 1960/1960/1960 1958/1958/1958\nf 1961/1961/1961 1958/1958/1958 1955/1955/1955\nf 1958/1958/1958 1953/1953/1953 1955/1955/1955\nf 1949/1949/1949 1953/1953/1953 1958/1958/1958\nf 1958/1958/1958 1959/1959/1959 1947/1947/1947\nf 1960/1960/1960 1941/1941/1941 1959/1959/1959\nf 1952/1952/1952 1951/1951/1951 1936/1936/1936\nf 1970/1970/1970 1954/1954/1954 1952/1952/1952\nf 1970/1970/1970 1971/1971/1971 1967/1967/1967\nf 1967/1967/1967 1954/1954/1954 1970/1970/1970\nf 1967/1967/1967 1971/1971/1971 1972/1972/1972\nf 1973/1973/1973 1974/1974/1974 1967/1967/1967\nf 1967/1967/1967 1972/1972/1972 1973/1973/1973\nf 1967/1967/1967 1966/1966/1966 1954/1954/1954\nf 1973/1973/1973 1975/1975/1975 1968/1968/1968\nf 1968/1968/1968 1974/1974/1974 1973/1973/1973\nf 1939/1939/1939 1969/1969/1969 1968/1968/1968\nf 1968/1968/1968 1975/1975/1975 1939/1939/1939\nf 1967/1967/1967 1974/1974/1974 1968/1968/1968\nf 1968/1968/1968 1963/1963/1963 1967/1967/1967\nf 1976/1976/1976 1977/1977/1977 1978/1978/1978\nf 1978/1978/1978 1979/1979/1979 1976/1976/1976\nf 1928/1928/1928 1980/1980/1980 1978/1978/1978\nf 1978/1978/1978 1977/1977/1977 1928/1928/1928\nf 1942/1942/1942 1940/1940/1940 1978/1978/1978\nf 1978/1978/1978 1980/1980/1980 1942/1942/1942\nf 1939/1939/1939 1979/1979/1979 1978/1978/1978\nf 1978/1978/1978 1940/1940/1940 1939/1939/1939\nf 1928/1928/1928 1931/1931/1931 1946/1946/1946\nf 1946/1946/1946 1980/1980/1980 1928/1928/1928\nf 1936/1936/1936 1948/1948/1948 1946/1946/1946\nf 1946/1946/1946 1931/1931/1931 1936/1936/1936\nf 1942/1942/1942 1980/1980/1980 1946/1946/1946\nf 1946/1946/1946 1944/1944/1944 1942/1942/1942\nf 1936/1936/1936 1951/1951/1951 1948/1948/1948\nf 1981/1981/1981 1982/1982/1982 1983/1983/1983\nf 1973/1973/1973 1972/1972/1972 1983/1983/1983\nf 1983/1983/1983 1982/1982/1982 1973/1973/1973\nf 1984/1984/1984 1985/1985/1985 1986/1986/1986\nf 1820/1820/1820 1818/1818/1818 1984/1984/1984\nf 1779/1779/1779 1778/1778/1778 1984/1984/1984\nf 1984/1984/1984 1818/1818/1818 1779/1779/1779\nf 1777/1777/1777 1985/1985/1985 1984/1984/1984\nf 1984/1984/1984 1778/1778/1778 1777/1777/1777\nf 1972/1972/1972 1971/1971/1971 1987/1987/1987\nf 1987/1987/1987 1971/1971/1971 1988/1988/1988\nf 1989/1989/1989 1972/1972/1972 1987/1987/1987\nf 1990/1990/1990 1991/1991/1991 1992/1992/1992\nf 1988/1988/1988 1971/1971/1971 1992/1992/1992\nf 1992/1992/1992 1991/1991/1991 1988/1988/1988\nf 1993/1993/1993 1994/1994/1994 1995/1995/1995\nf 1995/1995/1995 1994/1994/1994 1990/1990/1990\nf 1993/1993/1993 1985/1985/1985 1996/1996/1996\nf 1996/1996/1996 1985/1985/1985 1777/1777/1777\nf 1996/1996/1996 1777/1777/1777 1997/1997/1997\nf 1777/1777/1777 1776/1776/1776 1998/1998/1998\nf 1999/1999/1999 2000/2000/2000 1998/1998/1998\nf 1998/1998/1998 1776/1776/1776 1999/1999/1999\nf 1997/1997/1997 1777/1777/1777 1998/1998/1998\nf 2001/2001/2001 2002/2002/2002 2003/2003/2003\nf 2001/2001/2001 2004/2004/2004 2002/2002/2002\nf 2005/2005/2005 2006/2006/2006 2007/2007/2007\nf 2007/2007/2007 2006/2006/2006 2008/2008/2008\nf 2002/2002/2002 2009/2009/2009 2003/2003/2003\nf 2001/2001/2001 2003/2003/2003 2009/2009/2009\nf 2009/2009/2009 2008/2008/2008 2010/2010/2010\nf 2001/2001/2001 2009/2009/2009 2010/2010/2010\nf 2005/2005/2005 2007/2007/2007 2008/2008/2008\nf 1996/1996/1996 1997/1997/1997 2009/2009/2009\nf 2002/2002/2002 2011/2011/2011 1996/1996/1996\nf 1994/1994/1994 2011/2011/2011 2002/2002/2002\nf 2012/2012/2012 2005/2005/2005 1991/1991/1991\nf 1991/1991/1991 2005/2005/2005 1988/1988/1988\nf 1988/1988/1988 2005/2005/2005 1987/1987/1987\nf 2005/2005/2005 1989/1989/1989 1987/1987/1987\nf 2013/2013/2013 1989/1989/1989 2005/2005/2005\nf 2008/2008/2008 2014/2014/2014 2015/2015/2015\nf 2016/2016/2016 2014/2014/2014 2008/2008/2008\nf 2009/2009/2009 2000/2000/2000 2016/2016/2016\nf 1998/1998/1998 2000/2000/2000 2009/2009/2009\nf 2009/2009/2009 1997/1997/1997 1998/1998/1998\nf 1999/1999/1999 1775/1775/1775 2016/2016/2016\nf 2016/2016/2016 2000/2000/2000 1999/1999/1999\nf 2016/2016/2016 1775/1775/1775 2014/2014/2014\nf 2014/2014/2014 1775/1775/1775 2015/2015/2015\nf 1775/1775/1775 1781/1781/1781 2015/2015/2015\nf 2015/2015/2015 1781/1781/1781 1981/1981/1981\nf 2015/2015/2015 1981/1981/1981 2017/2017/2017\nf 2017/2017/2017 1981/1981/1981 2013/2013/2013\nf 1981/1981/1981 1983/1983/1983 2013/2013/2013\nf 2013/2013/2013 1983/1983/1983 1972/1972/1972\nf 2013/2013/2013 1972/1972/1972 1989/1989/1989\nf 1996/1996/1996 2011/2011/2011 1993/1993/1993\nf 1993/1993/1993 2011/2011/2011 1994/1994/1994\nf 1994/1994/1994 2012/2012/2012 1990/1990/1990\nf 1990/1990/1990 2012/2012/2012 1991/1991/1991\nf 2005/2005/2005 2002/2002/2002 2004/2004/2004\nf 2010/2010/2010 2004/2004/2004 2001/2001/2001\nf 2008/2008/2008 2006/2006/2006 2010/2010/2010\nf 2010/2010/2010 2006/2006/2006 2004/2004/2004\nf 2006/2006/2006 2005/2005/2005 2004/2004/2004\nf 2008/2008/2008 2013/2013/2013 2005/2005/2005\nf 2017/2017/2017 2013/2013/2013 2008/2008/2008\nf 2008/2008/2008 2015/2015/2015 2017/2017/2017\nf 2009/2009/2009 2016/2016/2016 2008/2008/2008\nf 2002/2002/2002 1996/1996/1996 2009/2009/2009\nf 2012/2012/2012 1994/1994/1994 2002/2002/2002\nf 2012/2012/2012 2002/2002/2002 2005/2005/2005\nf 1970/1970/1970 2018/2018/2018 1971/1971/1971\nf 1970/1970/1970 1990/1990/1990 1992/1992/1992\nf 1992/1992/1992 2018/2018/2018 1970/1970/1970\nf 1971/1971/1971 2018/2018/2018 1992/1992/1992\nf 1995/1995/1995 1990/1990/1990 1970/1970/1970\nf 1986/1986/1986 1993/1993/1993 1995/1995/1995\nf 1985/1985/1985 1993/1993/1993 1986/1986/1986\nf 1775/1775/1775 1999/1999/1999 1776/1776/1776\nf 2019/2019/2019 2020/2020/2020 2021/2021/2021\nf 2019/2019/2019 2021/2021/2021 1935/1935/1935\nf 2022/2022/2022 2019/2019/2019 1935/1935/1935\nf 2022/2022/2022 1935/1935/1935 1934/1934/1934\nf 1934/1934/1934 2023/2023/2023 2022/2022/2022\nf 2023/2023/2023 2024/2024/2024 2025/2025/2025\nf 2025/2025/2025 2024/2024/2024 2026/2026/2026\nf 2027/2027/2027 2025/2025/2025 2026/2026/2026\nf 2020/2020/2020 2019/2019/2019 2028/2028/2028\nf 2029/2029/2029 2023/2023/2023 2025/2025/2025\nf 2028/2028/2028 2019/2019/2019 2030/2030/2030\nf 2031/2031/2031 2032/2032/2032 2028/2028/2028\nf 2028/2028/2028 2030/2030/2030 2031/2031/2031\nf 2031/2031/2031 2033/2033/2033 2034/2034/2034\nf 2034/2034/2034 2032/2032/2032 2031/2031/2031\nf 2034/2034/2034 2033/2033/2033 2027/2027/2027\nf 2034/2034/2034 2035/2035/2035 2032/2032/2032\nf 2035/2035/2035 2036/2036/2036 2032/2032/2032\nf 2036/2036/2036 2028/2028/2028 2032/2032/2032\nf 1952/1952/1952 2028/2028/2028 2036/2036/2036\nf 2021/2021/2021 2020/2020/2020 1952/1952/1952\nf 2020/2020/2020 2028/2028/2028 1952/1952/1952\nf 2033/2033/2033 2030/2030/2030 2029/2029/2029\nf 2033/2033/2033 2031/2031/2031 2030/2030/2030\nf 2025/2025/2025 2027/2027/2027 2033/2033/2033\nf 2029/2029/2029 2025/2025/2025 2033/2033/2033\nf 2029/2029/2029 2030/2030/2030 2023/2023/2023\nf 2030/2030/2030 2022/2022/2022 2023/2023/2023\nf 2019/2019/2019 2022/2022/2022 2030/2030/2030\nf 1952/1952/1952 2036/2036/2036 1970/1970/1970\nf 1936/1936/1936 2021/2021/2021 1952/1952/1952\nf 1936/1936/1936 1935/1935/1935 2021/2021/2021\nf 2024/2024/2024 2023/2023/2023 1934/1934/1934\nf 2037/2037/2037 2027/2027/2027 2026/2026/2026\nf 1970/1970/1970 2035/2035/2035 2037/2037/2037\nf 2035/2035/2035 2034/2034/2034 2037/2037/2037\nf 2037/2037/2037 2034/2034/2034 2027/2027/2027\nf 2036/2036/2036 2035/2035/2035 1970/1970/1970\nf 2038/2038/2038 2039/2039/2039 1986/1986/1986\nf 1986/1986/1986 2039/2039/2039 2040/2040/2040\nf 1820/1820/1820 2041/2041/2041 2042/2042/2042\nf 2042/2042/2042 2043/2043/2043 2044/2044/2044\nf 2044/2044/2044 1820/1820/1820 2042/2042/2042\nf 2044/2044/2044 2043/2043/2043 2045/2045/2045\nf 2045/2045/2045 2046/2046/2046 2047/2047/2047\nf 2048/2048/2048 2049/2049/2049 2050/2050/2050\nf 2051/2051/2051 2052/2052/2052 2053/2053/2053\nf 2040/2040/2040 2039/2039/2039 2054/2054/2054\nf 2039/2039/2039 2055/2055/2055 2054/2054/2054\nf 2051/2051/2051 2041/2041/2041 2054/2054/2054\nf 2039/2039/2039 2038/2038/2038 2055/2055/2055\nf 2055/2055/2055 2038/2038/2038 2049/2049/2049\nf 2049/2049/2049 2052/2052/2052 2055/2055/2055\nf 2052/2052/2052 2049/2049/2049 2048/2048/2048\nf 2046/2046/2046 2053/2053/2053 2056/2056/2056\nf 2052/2052/2052 2048/2048/2048 2056/2056/2056\nf 2056/2056/2056 2053/2053/2053 2052/2052/2052\nf 2056/2056/2056 2048/2048/2048 2057/2057/2057\nf 2047/2047/2047 2046/2046/2046 2056/2056/2056\nf 2048/2048/2048 2050/2050/2050 2057/2057/2057\nf 2050/2050/2050 2049/2049/2049 1995/1995/1995\nf 2038/2038/2038 1986/1986/1986 1995/1995/1995\nf 1995/1995/1995 2049/2049/2049 2038/2038/2038\nf 2046/2046/2046 2045/2045/2045 2043/2043/2043\nf 2051/2051/2051 2055/2055/2055 2052/2052/2052\nf 2053/2053/2053 2046/2046/2046 2043/2043/2043\nf 2051/2051/2051 2053/2053/2053 2043/2043/2043\nf 2051/2051/2051 2043/2043/2043 2042/2042/2042\nf 2042/2042/2042 2041/2041/2041 2051/2051/2051\nf 2051/2051/2051 2054/2054/2054 2055/2055/2055\nf 1970/1970/1970 2050/2050/2050 1995/1995/1995\nf 1970/1970/1970 2057/2057/2057 2050/2050/2050\nf 2037/2037/2037 2057/2057/2057 1970/1970/1970\nf 2026/2026/2026 2047/2047/2047 2037/2037/2037\nf 2047/2047/2047 2056/2056/2056 2037/2037/2037\nf 2037/2037/2037 2056/2056/2056 2057/2057/2057\nf 2045/2045/2045 2047/2047/2047 2026/2026/2026\nf 2044/2044/2044 2045/2045/2045 2026/2026/2026\nf 1986/1986/1986 2040/2040/2040 1984/1984/1984\nf 2040/2040/2040 2054/2054/2054 1984/1984/1984\nf 2041/2041/2041 1820/1820/1820 1984/1984/1984\nf 1984/1984/1984 2054/2054/2054 2041/2041/2041\nf 2058/2058/2058 2059/2059/2059 2060/2060/2060\nf 2061/2061/2061 2058/2058/2058 2060/2060/2060\nf 2062/2062/2062 2063/2063/2063 2064/2064/2064\nf 1821/1821/1821 2063/2063/2063 2065/2065/2065\nf 2065/2065/2065 2063/2063/2063 2062/2062/2062\nf 2062/2062/2062 2066/2066/2066 2065/2065/2065\nf 2060/2060/2060 2065/2065/2065 2066/2066/2066\nf 2059/2059/2059 2067/2067/2067 2060/2060/2060\nf 2066/2066/2066 2061/2061/2061 2060/2060/2060\nf 2068/2068/2068 2061/2061/2061 2066/2066/2066\nf 2044/2044/2044 2068/2068/2068 2062/2062/2062\nf 2068/2068/2068 2066/2066/2066 2062/2062/2062\nf 2062/2062/2062 2064/2064/2064 2044/2044/2044\nf 2060/2060/2060 2067/2067/2067 2065/2065/2065\nf 1822/1822/1822 2065/2065/2065 2067/2067/2067\nf 2067/2067/2067 2059/2059/2059 1822/1822/1822\nf 1822/1822/1822 1821/1821/1821 2065/2065/2065\nf 2044/2044/2044 2064/2064/2064 1820/1820/1820\nf 2026/2026/2026 2069/2069/2069 2068/2068/2068\nf 2068/2068/2068 2044/2044/2044 2026/2026/2026\nf 2068/2068/2068 2069/2069/2069 2061/2061/2061\nf 2058/2058/2058 2061/2061/2061 2070/2070/2070\nf 2059/2059/2059 2058/2058/2058 2070/2070/2070\nf 1820/1820/1820 2063/2063/2063 1821/1821/1821\nf 1820/1820/1820 2064/2064/2064 2063/2063/2063\nf 2071/2071/2071 2072/2072/2072 2073/2073/2073\nf 2074/2074/2074 2075/2075/2075 2072/2072/2072\nf 2076/2076/2076 2061/2061/2061 2077/2077/2077\nf 2078/2078/2078 2076/2076/2076 2077/2077/2077\nf 2077/2077/2077 2069/2069/2069 2078/2078/2078\nf 2079/2079/2079 2073/2073/2073 2072/2072/2072\nf 2071/2071/2071 2073/2073/2073 2080/2080/2080\nf 2078/2078/2078 2071/2071/2071 2080/2080/2080\nf 2078/2078/2078 2080/2080/2080 2076/2076/2076\nf 2061/2061/2061 2069/2069/2069 2077/2077/2077\nf 2024/2024/2024 2078/2078/2078 2069/2069/2069\nf 2079/2079/2079 2080/2080/2080 2073/2073/2073\nf 2076/2076/2076 2080/2080/2080 2079/2079/2079\nf 2079/2079/2079 2081/2081/2081 2076/2076/2076\nf 2075/2075/2075 2081/2081/2081 2079/2079/2079\nf 2079/2079/2079 2072/2072/2072 2075/2075/2075\nf 2024/2024/2024 2069/2069/2069 2026/2026/2026\nf 1934/1934/1934 2078/2078/2078 2024/2024/2024\nf 1934/1934/1934 2072/2072/2072 2071/2071/2071\nf 2071/2071/2071 2078/2078/2078 1934/1934/1934\nf 2081/2081/2081 2075/2075/2075 2074/2074/2074\nf 2070/2070/2070 2061/2061/2061 2076/2076/2076\nf 2076/2076/2076 2081/2081/2081 2070/2070/2070\nf 2082/2082/2082 2083/2083/2083 2084/2084/2084\nf 2082/2082/2082 2084/2084/2084 2085/2085/2085\nf 2085/2085/2085 2083/2083/2083 2082/2082/2082\nf 2085/2085/2085 2086/2086/2086 2083/2083/2083\nf 2087/2087/2087 2081/2081/2081 2083/2083/2083\nf 2070/2070/2070 2087/2087/2087 2088/2088/2088\nf 2086/2086/2086 2087/2087/2087 2083/2083/2083\nf 2087/2087/2087 2086/2086/2086 2088/2088/2088\nf 2086/2086/2086 2089/2089/2089 2088/2088/2088\nf 2086/2086/2086 2085/2085/2085 2089/2089/2089\nf 2070/2070/2070 2088/2088/2088 2089/2089/2089\nf 2081/2081/2081 2087/2087/2087 2070/2070/2070\nf 2074/2074/2074 2083/2083/2083 2081/2081/2081\nf 2090/2090/2090 1824/1824/1824 1823/1823/1823\nf 1824/1824/1824 2090/2090/2090 2091/2091/2091\nf 2092/2092/2092 2089/2089/2089 2059/2059/2059\nf 1823/1823/1823 1822/1822/1822 2090/2090/2090\nf 2059/2059/2059 2093/2093/2093 1822/1822/1822\nf 2070/2070/2070 2089/2089/2089 2092/2092/2092\nf 2059/2059/2059 2070/2070/2070 2092/2092/2092\nf 2059/2059/2059 2089/2089/2089 2093/2093/2093\nf 2089/2089/2089 2091/2091/2091 2093/2093/2093\nf 2093/2093/2093 2091/2091/2091 2090/2090/2090\nf 2090/2090/2090 1822/1822/1822 2093/2093/2093\nf 2094/2094/2094 1825/1825/1825 2095/2095/2095\nf 2091/2091/2091 2096/2096/2096 2097/2097/2097\nf 1825/1825/1825 2098/2098/2098 2095/2095/2095\nf 2098/2098/2098 1825/1825/1825 2097/2097/2097\nf 2097/2097/2097 2096/2096/2096 2098/2098/2098\nf 2095/2095/2095 2098/2098/2098 2096/2096/2096\nf 2094/2094/2094 2095/2095/2095 2099/2099/2099\nf 2094/2094/2094 1826/1826/1826 1825/1825/1825\nf 1824/1824/1824 2097/2097/2097 1825/1825/1825\nf 2091/2091/2091 2097/2097/2097 1824/1824/1824\nf 2096/2096/2096 2091/2091/2091 2089/2089/2089\nf 2095/2095/2095 2096/2096/2096 2089/2089/2089\nf 2085/2085/2085 2095/2095/2095 2100/2100/2100\nf 2095/2095/2095 2101/2101/2101 2102/2102/2102\nf 2103/2103/2103 2104/2104/2104 2101/2101/2101\nf 2101/2101/2101 2085/2085/2085 2103/2103/2103\nf 2085/2085/2085 2101/2101/2101 2095/2095/2095\nf 2104/2104/2104 2102/2102/2102 2101/2101/2101\nf 2103/2103/2103 2085/2085/2085 2084/2084/2084\nf 2099/2099/2099 2095/2095/2095 2102/2102/2102\nf 2089/2089/2089 2100/2100/2100 2095/2095/2095\nf 2085/2085/2085 2100/2100/2100 2089/2089/2089\nf 1790/1790/1790 2105/2105/2105 2106/2106/2106\nf 2106/2106/2106 1913/1913/1913 1790/1790/1790\nf 1932/1932/1932 1929/1929/1929 2106/2106/2106\nf 2106/2106/2106 2105/2105/2105 1932/1932/1932\nf 1928/1928/1928 1977/1977/1977 2106/2106/2106\nf 2106/2106/2106 1929/1929/1929 1928/1928/1928\nf 1976/1976/1976 2107/2107/2107 2106/2106/2106\nf 2106/2106/2106 1977/1977/1977 1976/1976/1976\nf 1914/1914/1914 1913/1913/1913 2106/2106/2106\nf 2106/2106/2106 2107/2107/2107 1914/1914/1914\nf 1802/1802/1802 1801/1801/1801 2108/2108/2108\nf 2108/2108/2108 2109/2109/2109 1802/1802/1802\nf 1800/1800/1800 2110/2110/2110 2108/2108/2108\nf 2108/2108/2108 1801/1801/1801 1800/1800/1800\nf 1786/1786/1786 1783/1783/1783 2108/2108/2108\nf 2108/2108/2108 2110/2110/2110 1786/1786/1786\nf 1782/1782/1782 2109/2109/2109 2108/2108/2108\nf 2108/2108/2108 1783/1783/1783 1782/1782/1782\nf 2099/2099/2099 2111/2111/2111 2094/2094/2094\nf 2112/2112/2112 2113/2113/2113 1827/1827/1827\nf 1826/1826/1826 2112/2112/2112 1827/1827/1827\nf 1826/1826/1826 2094/2094/2094 2112/2112/2112\nf 2094/2094/2094 2111/2111/2111 2112/2112/2112\nf 2113/2113/2113 2112/2112/2112 2111/2111/2111\nf 1827/1827/1827 2113/2113/2113 2114/2114/2114\nf 2113/2113/2113 2111/2111/2111 2114/2114/2114\nf 2115/2115/2115 2116/2116/2116 2117/2117/2117\nf 2117/2117/2117 2116/2116/2116 2118/2118/2118\nf 2102/2102/2102 2117/2117/2117 2111/2111/2111\nf 2111/2111/2111 2117/2117/2117 2118/2118/2118\nf 2111/2111/2111 2118/2118/2118 2114/2114/2114\nf 2102/2102/2102 2111/2111/2111 2099/2099/2099\nf 2104/2104/2104 2117/2117/2117 2102/2102/2102\nf 2117/2117/2117 2104/2104/2104 2115/2115/2115\nf 2118/2118/2118 2116/2116/2116 2114/2114/2114\nf 2119/2119/2119 2120/2120/2120 2121/2121/2121\nf 2120/2120/2120 2119/2119/2119 1827/1827/1827\nf 2120/2120/2120 1827/1827/1827 2114/2114/2114\nf 2114/2114/2114 2121/2121/2121 2120/2120/2120\nf 2122/2122/2122 2123/2123/2123 2121/2121/2121\nf 1828/1828/1828 2119/2119/2119 2121/2121/2121\nf 2121/2121/2121 2123/2123/2123 1828/1828/1828\nf 1828/1828/1828 1827/1827/1827 2119/2119/2119\nf 1788/1788/1788 2124/2124/2124 2125/2125/2125\nf 2125/2125/2125 2116/2116/2116 1788/1788/1788\nf 2125/2125/2125 2121/2121/2121 2116/2116/2116\nf 2124/2124/2124 2121/2121/2121 2125/2125/2125\nf 2116/2116/2116 2121/2121/2121 2114/2114/2114\nf 2115/2115/2115 1789/1789/1789 2116/2116/2116\nf 2124/2124/2124 1788/1788/1788 1787/1787/1787\nf 2122/2122/2122 2121/2121/2121 2124/2124/2124\nf 2126/2126/2126 2123/2123/2123 2127/2127/2127\nf 2123/2123/2123 2122/2122/2122 2127/2127/2127\nf 2122/2122/2122 2128/2128/2128 2127/2127/2127\nf 1852/1852/1852 2126/2126/2126 2127/2127/2127\nf 2126/2126/2126 1852/1852/1852 1828/1828/1828\nf 2123/2123/2123 2126/2126/2126 1828/1828/1828\nf 1787/1787/1787 2122/2122/2122 2124/2124/2124\nf 1787/1787/1787 2128/2128/2128 2122/2122/2122\nf 1787/1787/1787 1865/1865/1865 1878/1878/1878\nf 1878/1878/1878 2128/2128/2128 1787/1787/1787\nf 2129/2129/2129 2130/2130/2130 2127/2127/2127\nf 2127/2127/2127 2130/2130/2130 2131/2131/2131\nf 2132/2132/2132 2133/2133/2133 2129/2129/2129\nf 1853/1853/1853 2130/2130/2130 2129/2129/2129\nf 2129/2129/2129 2133/2133/2133 1853/1853/1853\nf 2131/2131/2131 2130/2130/2130 1853/1853/1853\nf 2131/2131/2131 1853/1853/1853 1852/1852/1852\nf 2131/2131/2131 1852/1852/1852 2127/2127/2127\nf 2129/2129/2129 2127/2127/2127 2128/2128/2128\nf 2129/2129/2129 2134/2134/2134 2135/2135/2135\nf 2128/2128/2128 2136/2136/2136 2129/2129/2129\nf 2134/2134/2134 2129/2129/2129 2136/2136/2136\nf 1878/1878/1878 1877/1877/1877 2136/2136/2136\nf 2134/2134/2134 2136/2136/2136 1877/1877/1877\nf 2135/2135/2135 2134/2134/2134 1877/1877/1877\nf 2132/2132/2132 2129/2129/2129 2135/2135/2135\nf 1878/1878/1878 2136/2136/2136 2128/2128/2128\nf 2137/2137/2137 2138/2138/2138 2139/2139/2139\nf 2137/2137/2137 2139/2139/2139 2133/2133/2133\nf 2140/2140/2140 1855/1855/1855 2138/2138/2138\nf 1854/1854/1854 2139/2139/2139 2138/2138/2138\nf 2138/2138/2138 1855/1855/1855 1854/1854/1854\nf 2139/2139/2139 1854/1854/1854 1853/1853/1853\nf 2133/2133/2133 2139/2139/2139 1853/1853/1853\nf 2132/2132/2132 2137/2137/2137 2133/2133/2133\nf 2140/2140/2140 2138/2138/2138 2137/2137/2137\nf 2140/2140/2140 2137/2137/2137 2135/2135/2135\nf 2135/2135/2135 2141/2141/2141 2140/2140/2140\nf 2135/2135/2135 2137/2137/2137 2132/2132/2132\nf 1877/1877/1877 2141/2141/2141 2135/2135/2135\nf 1877/1877/1877 1876/1876/1876 2141/2141/2141\nf 2140/2140/2140 2141/2141/2141 1876/1876/1876\nf 2142/2142/2142 1855/1855/1855 2143/2143/2143\nf 1851/1851/1851 1855/1855/1855 2142/2142/2142\nf 2143/2143/2143 1855/1855/1855 2140/2140/2140\nf 2143/2143/2143 2144/2144/2144 1874/1874/1874\nf 1876/1876/1876 2144/2144/2144 2140/2140/2140\nf 2144/2144/2144 2143/2143/2143 2140/2140/2140\nf 1876/1876/1876 1875/1875/1875 2144/2144/2144\nf 2144/2144/2144 1875/1875/1875 1874/1874/1874\nf 2143/2143/2143 1874/1874/1874 2142/2142/2142\nf 2145/2145/2145 1856/1856/1856 2142/2142/2142\nf 1856/1856/1856 1851/1851/1851 2142/2142/2142\nf 2146/2146/2146 1856/1856/1856 2145/2145/2145\nf 1864/1864/1864 2145/2145/2145 1874/1874/1874\nf 2145/2145/2145 1864/1864/1864 2146/2146/2146\nf 2142/2142/2142 1874/1874/1874 2145/2145/2145\nf 2146/2146/2146 1857/1857/1857 1856/1856/1856\nf 1873/1873/1873 1857/1857/1857 2146/2146/2146\nf 1864/1864/1864 1873/1873/1873 2146/2146/2146\nf 2147/2147/2147 1858/1858/1858 1857/1857/1857\nf 1857/1857/1857 1873/1873/1873 2147/2147/2147\nf 1871/1871/1871 1858/1858/1858 2147/2147/2147\nf 2147/2147/2147 1873/1873/1873 1871/1871/1871\nf 1873/1873/1873 1872/1872/1872 1871/1871/1871\nf 1858/1858/1858 2148/2148/2148 1860/1860/1860\nf 1860/1860/1860 1859/1859/1859 1858/1858/1858\nf 1871/1871/1871 2148/2148/2148 1858/1858/1858\nf 1871/1871/1871 1870/1870/1870 2148/2148/2148\nf 2148/2148/2148 1870/1870/1870 1869/1869/1869\nf 1860/1860/1860 2148/2148/2148 1861/1861/1861\nf 1866/1866/1866 1861/1861/1861 2148/2148/2148\nf 1868/1868/1868 1866/1866/1866 2148/2148/2148\nf 1868/1868/1868 2148/2148/2148 1869/1869/1869\nf 1863/1863/1863 1862/1862/1862 1861/1861/1861\nf 1861/1861/1861 1866/1866/1866 1863/1863/1863\nf 1868/1868/1868 1867/1867/1867 1866/1866/1866\nf 1786/1786/1786 2110/2110/2110 1834/1834/1834\nf 1834/1834/1834 1830/1830/1830 1786/1786/1786\nf 1834/1834/1834 2110/2110/2110 1800/1800/1800\nf 1831/1831/1831 1830/1830/1830 1834/1834/1834\nf 1834/1834/1834 1837/1837/1837 1831/1831/1831\nf 1788/1788/1788 2116/2116/2116 1789/1789/1789\nf 2115/2115/2115 2149/2149/2149 1789/1789/1789\nf 1789/1789/1789 2149/2149/2149 2150/2150/2150\nf 2150/2150/2150 1785/1785/1785 1789/1789/1789\nf 2115/2115/2115 2104/2104/2104 2150/2150/2150\nf 2150/2150/2150 2149/2149/2149 2115/2115/2115\nf 2104/2104/2104 2103/2103/2103 2150/2150/2150\nf 2084/2084/2084 2083/2083/2083 2150/2150/2150\nf 2150/2150/2150 2103/2103/2103 2084/2084/2084\nf 2150/2150/2150 2083/2083/2083 2074/2074/2074\nf 2150/2150/2150 2074/2074/2074 2072/2072/2072\nf 1934/1934/1934 1933/1933/1933 2150/2150/2150\nf 2150/2150/2150 2072/2072/2072 1934/1934/1934\nf 1932/1932/1932 2151/2151/2151 2150/2150/2150\nf 2150/2150/2150 1933/1933/1933 1932/1932/1932\nf 1782/1782/1782 1785/1785/1785 2150/2150/2150\nf 2150/2150/2150 2151/2151/2151 1782/1782/1782\nf 1782/1782/1782 2151/2151/2151 2152/2152/2152\nf 2152/2152/2152 2109/2109/2109 1782/1782/1782\nf 1932/1932/1932 2105/2105/2105 2152/2152/2152\nf 2152/2152/2152 2151/2151/2151 1932/1932/1932\nf 1790/1790/1790 1793/1793/1793 2152/2152/2152\nf 2152/2152/2152 2105/2105/2105 1790/1790/1790\nf 1802/1802/1802 2109/2109/2109 2152/2152/2152\nf 2152/2152/2152 1793/1793/1793 1802/1802/1802\nf 1863/1863/1863 1866/1866/1866 1893/1893/1893\nf 1893/1893/1893 1888/1888/1888 1863/1863/1863\nf 1893/1893/1893 1866/1866/1866 1891/1891/1891\nf 1888/1888/1888 1893/1893/1893 1889/1889/1889\nf 1893/1893/1893 1894/1894/1894 1889/1889/1889\nf 1889/1889/1889 1880/1880/1880 1886/1886/1886\nf 1880/1880/1880 1889/1889/1889 1894/1894/1894\nf 1880/1880/1880 2153/2153/2153 1886/1886/1886\nf 1886/1886/1886 2153/2153/2153 1890/1890/1890\nf 1892/1892/1892 2153/2153/2153 1880/1880/1880\nf 2153/2153/2153 1892/1892/1892 1890/1890/1890\nf 1892/1892/1892 1887/1887/1887 1890/1890/1890\nf 629/629/629 628/628/628 2154/2154/2154\nf 2154/2154/2154 2155/2155/2155 629/629/629\nf 625/625/625 2156/2156/2156 2154/2154/2154\nf 2154/2154/2154 628/628/628 625/625/625\nf 1924/1924/1924 1922/1922/1922 2154/2154/2154\nf 2154/2154/2154 2156/2156/2156 1924/1924/1924\nf 1917/1917/1917 2155/2155/2155 2154/2154/2154\nf 2154/2154/2154 1922/1922/1922 1917/1917/1917\nf 625/625/625 624/624/624 2157/2157/2157\nf 2157/2157/2157 2156/2156/2156 625/625/625\nf 621/621/621 2158/2158/2158 2157/2157/2157\nf 2157/2157/2157 624/624/624 621/621/621\nf 1918/1918/1918 1927/1927/1927 2157/2157/2157\nf 2157/2157/2157 2158/2158/2158 1918/1918/1918\nf 1924/1924/1924 2156/2156/2156 2157/2157/2157\nf 2157/2157/2157 1927/1927/1927 1924/1924/1924\nf 621/621/621 2159/2159/2159 2160/2160/2160\nf 2160/2160/2160 2158/2158/2158 621/621/621\nf 1763/1763/1763 1919/1919/1919 2160/2160/2160\nf 2160/2160/2160 2159/2159/2159 1763/1763/1763\nf 1918/1918/1918 2158/2158/2158 2160/2160/2160\nf 2160/2160/2160 1919/1919/1919 1918/1918/1918\nf 621/621/621 620/620/620 2161/2161/2161\nf 2161/2161/2161 2159/2159/2159 621/621/621\nf 616/616/616 2162/2162/2162 2161/2161/2161\nf 2161/2161/2161 620/620/620 616/616/616\nf 1767/1767/1767 1764/1764/1764 2161/2161/2161\nf 2161/2161/2161 2162/2162/2162 1767/1767/1767\nf 1763/1763/1763 2159/2159/2159 2161/2161/2161\nf 2161/2161/2161 1764/1764/1764 1763/1763/1763\nf 616/616/616 851/851/851 2163/2163/2163\nf 2163/2163/2163 2162/2162/2162 616/616/616\nf 562/562/562 2164/2164/2164 2163/2163/2163\nf 2163/2163/2163 851/851/851 562/562/562\nf 1774/1774/1774 1772/1772/1772 2163/2163/2163\nf 2163/2163/2163 2164/2164/2164 1774/1774/1774\nf 1767/1767/1767 2162/2162/2162 2163/2163/2163\nf 2163/2163/2163 1772/1772/1772 1767/1767/1767\nf 562/562/562 2165/2165/2165 2166/2166/2166\nf 2166/2166/2166 2164/2164/2164 562/562/562\nf 1981/1981/1981 1781/1781/1781 2166/2166/2166\nf 2166/2166/2166 2165/2165/2165 1981/1981/1981\nf 1774/1774/1774 2164/2164/2164 2166/2166/2166\nf 2166/2166/2166 1781/1781/1781 1774/1774/1774\nf 562/562/562 561/561/561 2167/2167/2167\nf 2167/2167/2167 2165/2165/2165 562/562/562\nf 560/560/560 2168/2168/2168 2167/2167/2167\nf 2167/2167/2167 561/561/561 560/560/560\nf 1973/1973/1973 1982/1982/1982 2167/2167/2167\nf 2167/2167/2167 2168/2168/2168 1973/1973/1973\nf 1981/1981/1981 2165/2165/2165 2167/2167/2167\nf 2167/2167/2167 1982/1982/1982 1981/1981/1981\nf 560/560/560 846/846/846 2169/2169/2169\nf 2169/2169/2169 2168/2168/2168 560/560/560\nf 820/820/820 2170/2170/2170 2169/2169/2169\nf 2169/2169/2169 846/846/846 820/820/820\nf 1939/1939/1939 1975/1975/1975 2169/2169/2169\nf 2169/2169/2169 2170/2170/2170 1939/1939/1939\nf 1973/1973/1973 2168/2168/2168 2169/2169/2169\nf 2169/2169/2169 1975/1975/1975 1973/1973/1973\nf 2171/2171/2171 2170/2170/2170 820/820/820\nf 1976/1976/1976 1979/1979/1979 2171/2171/2171\nf 1939/1939/1939 2170/2170/2170 2171/2171/2171\nf 2171/2171/2171 1979/1979/1979 1939/1939/1939\nf 820/820/820 817/817/817 2172/2172/2172\nf 2172/2172/2172 2171/2171/2171 820/820/820\nf 633/633/633 2173/2173/2173 2172/2172/2172\nf 2172/2172/2172 817/817/817 633/633/633\nf 1914/1914/1914 2107/2107/2107 2172/2172/2172\nf 2172/2172/2172 2173/2173/2173 1914/1914/1914\nf 1976/1976/1976 2171/2171/2171 2172/2172/2172\nf 2172/2172/2172 2107/2107/2107 1976/1976/1976\nf 633/633/633 632/632/632 2174/2174/2174\nf 2174/2174/2174 2173/2173/2173 633/633/633\nf 629/629/629 2175/2175/2175 2174/2174/2174\nf 2174/2174/2174 632/632/632 629/629/629\nf 1915/1915/1915 1914/1914/1914 2174/2174/2174\nf 2174/2174/2174 2175/2175/2175 1915/1915/1915\nf 1914/1914/1914 2173/2173/2173 2174/2174/2174\nf 629/629/629 2155/2155/2155 2175/2175/2175\nf 1917/1917/1917 1916/1916/1916 2175/2175/2175\nf 2175/2175/2175 2155/2155/2155 1917/1917/1917\nf 2175/2175/2175 1916/1916/1916 1915/1915/1915\nf 2176/2176/2176 2177/2177/2177 2178/2178/2178\nf 2178/2178/2178 2179/2179/2179 2176/2176/2176\nf 2180/2180/2180 2181/2181/2181 2178/2178/2178\nf 2178/2178/2178 2177/2177/2177 2180/2180/2180\nf 2182/2182/2182 2183/2183/2183 2178/2178/2178\nf 2178/2178/2178 2181/2181/2181 2182/2182/2182\nf 2184/2184/2184 2179/2179/2179 2178/2178/2178\nf 2178/2178/2178 2183/2183/2183 2184/2184/2184\nf 2180/2180/2180 2185/2185/2185 2186/2186/2186\nf 2186/2186/2186 2181/2181/2181 2180/2180/2180\nf 2187/2187/2187 2188/2188/2188 2186/2186/2186\nf 2186/2186/2186 2185/2185/2185 2187/2187/2187\nf 2188/2188/2188 2189/2189/2189 2186/2186/2186\nf 2190/2190/2190 2191/2191/2191 2186/2186/2186\nf 2186/2186/2186 2189/2189/2189 2190/2190/2190\nf 2192/2192/2192 2193/2193/2193 2186/2186/2186\nf 2186/2186/2186 2191/2191/2191 2192/2192/2192\nf 2182/2182/2182 2181/2181/2181 2186/2186/2186\nf 2186/2186/2186 2193/2193/2193 2182/2182/2182\nf 2187/2187/2187 2194/2194/2194 2195/2195/2195\nf 2195/2195/2195 2188/2188/2188 2187/2187/2187\nf 2195/2195/2195 2194/2194/2194 2196/2196/2196\nf 2197/2197/2197 2198/2198/2198 2199/2199/2199\nf 2199/2199/2199 2200/2200/2200 2197/2197/2197\nf 2201/2201/2201 2202/2202/2202 2199/2199/2199\nf 2199/2199/2199 2198/2198/2198 2201/2201/2201\nf 2203/2203/2203 2204/2204/2204 2199/2199/2199\nf 2199/2199/2199 2202/2202/2202 2203/2203/2203\nf 2205/2205/2205 2206/2206/2206 2207/2207/2207\nf 2207/2207/2207 2208/2208/2208 2205/2205/2205\nf 2209/2209/2209 2210/2210/2210 2207/2207/2207\nf 2207/2207/2207 2206/2206/2206 2209/2209/2209\nf 2211/2211/2211 2212/2212/2212 2207/2207/2207\nf 2207/2207/2207 2210/2210/2210 2211/2211/2211\nf 2213/2213/2213 2214/2214/2214 2207/2207/2207\nf 2207/2207/2207 2212/2212/2212 2213/2213/2213\nf 2215/2215/2215 2216/2216/2216 2207/2207/2207\nf 2207/2207/2207 2214/2214/2214 2215/2215/2215\nf 2217/2217/2217 2208/2208/2208 2207/2207/2207\nf 2207/2207/2207 2216/2216/2216 2217/2217/2217\nf 2211/2211/2211 2218/2218/2218 2219/2219/2219\nf 2219/2219/2219 2212/2212/2212 2211/2211/2211\nf 2220/2220/2220 2221/2221/2221 2219/2219/2219\nf 2219/2219/2219 2218/2218/2218 2220/2220/2220\nf 2222/2222/2222 2223/2223/2223 2219/2219/2219\nf 2219/2219/2219 2221/2221/2221 2222/2222/2222\nf 2213/2213/2213 2212/2212/2212 2219/2219/2219\nf 2219/2219/2219 2223/2223/2223 2213/2213/2213\nf 2220/2220/2220 2224/2224/2224 2225/2225/2225\nf 2225/2225/2225 2221/2221/2221 2220/2220/2220\nf 2184/2184/2184 2183/2183/2183 2225/2225/2225\nf 2225/2225/2225 2224/2224/2224 2184/2184/2184\nf 2182/2182/2182 2226/2226/2226 2225/2225/2225\nf 2225/2225/2225 2183/2183/2183 2182/2182/2182\nf 2227/2227/2227 2228/2228/2228 2225/2225/2225\nf 2225/2225/2225 2226/2226/2226 2227/2227/2227\nf 2222/2222/2222 2221/2221/2221 2225/2225/2225\nf 2225/2225/2225 2228/2228/2228 2222/2222/2222\nf 2182/2182/2182 2193/2193/2193 2229/2229/2229\nf 2229/2229/2229 2226/2226/2226 2182/2182/2182\nf 2192/2192/2192 2230/2230/2230 2229/2229/2229\nf 2229/2229/2229 2193/2193/2193 2192/2192/2192\nf 2231/2231/2231 2232/2232/2232 2229/2229/2229\nf 2229/2229/2229 2230/2230/2230 2231/2231/2231\nf 2227/2227/2227 2226/2226/2226 2229/2229/2229\nf 2229/2229/2229 2232/2232/2232 2227/2227/2227\nf 2192/2192/2192 2233/2233/2233 2234/2234/2234\nf 2234/2234/2234 2230/2230/2230 2192/2192/2192\nf 2235/2235/2235 2236/2236/2236 2234/2234/2234\nf 2234/2234/2234 2233/2233/2233 2235/2235/2235\nf 2236/2236/2236 2237/2237/2237 2234/2234/2234\nf 2237/2237/2237 2238/2238/2238 2234/2234/2234\nf 2239/2239/2239 2240/2240/2240 2234/2234/2234\nf 2234/2234/2234 2238/2238/2238 2239/2239/2239\nf 2234/2234/2234 2240/2240/2240 2241/2241/2241\nf 2234/2234/2234 2241/2241/2241 2242/2242/2242\nf 2243/2243/2243 2244/2244/2244 2234/2234/2234\nf 2234/2234/2234 2242/2242/2242 2243/2243/2243\nf 2231/2231/2231 2230/2230/2230 2234/2234/2234\nf 2234/2234/2234 2244/2244/2244 2231/2231/2231\nf 2203/2203/2203 2202/2202/2202 2245/2245/2245\nf 2245/2245/2245 2202/2202/2202 2201/2201/2201\nf 2246/2246/2246 2247/2247/2247 2245/2245/2245\nf 2215/2215/2215 2214/2214/2214 2248/2248/2248\nf 2248/2248/2248 2249/2249/2249 2215/2215/2215\nf 2213/2213/2213 2250/2250/2250 2248/2248/2248\nf 2248/2248/2248 2214/2214/2214 2213/2213/2213\nf 2248/2248/2248 2250/2250/2250 2251/2251/2251\nf 2252/2252/2252 2249/2249/2249 2248/2248/2248\nf 2248/2248/2248 2251/2251/2251 2252/2252/2252\nf 2213/2213/2213 2223/2223/2223 2253/2253/2253\nf 2253/2253/2253 2250/2250/2250 2213/2213/2213\nf 2222/2222/2222 2254/2254/2254 2253/2253/2253\nf 2253/2253/2253 2223/2223/2223 2222/2222/2222\nf 2253/2253/2253 2254/2254/2254 2255/2255/2255\nf 2251/2251/2251 2250/2250/2250 2253/2253/2253\nf 2253/2253/2253 2255/2255/2255 2251/2251/2251\nf 2222/2222/2222 2228/2228/2228 2256/2256/2256\nf 2256/2256/2256 2254/2254/2254 2222/2222/2222\nf 2227/2227/2227 2257/2257/2257 2256/2256/2256\nf 2256/2256/2256 2228/2228/2228 2227/2227/2227\nf 2258/2258/2258 2255/2255/2255 2256/2256/2256\nf 2256/2256/2256 2257/2257/2257 2258/2258/2258\nf 2255/2255/2255 2254/2254/2254 2256/2256/2256\nf 2227/2227/2227 2259/2259/2259 2260/2260/2260\nf 2260/2260/2260 2257/2257/2257 2227/2227/2227\nf 2260/2260/2260 2259/2259/2259 2258/2258/2258\nf 2258/2258/2258 2257/2257/2257 2260/2260/2260\nf 2227/2227/2227 2261/2261/2261 2262/2262/2262\nf 2262/2262/2262 2259/2259/2259 2227/2227/2227\nf 2262/2262/2262 2261/2261/2261 2258/2258/2258\nf 2258/2258/2258 2259/2259/2259 2262/2262/2262\nf 2227/2227/2227 2232/2232/2232 2263/2263/2263\nf 2263/2263/2263 2261/2261/2261 2227/2227/2227\nf 2231/2231/2231 2264/2264/2264 2263/2263/2263\nf 2263/2263/2263 2232/2232/2232 2231/2231/2231\nf 2265/2265/2265 2258/2258/2258 2263/2263/2263\nf 2263/2263/2263 2264/2264/2264 2265/2265/2265\nf 2258/2258/2258 2261/2261/2261 2263/2263/2263\nf 2231/2231/2231 2244/2244/2244 2266/2266/2266\nf 2266/2266/2266 2264/2264/2264 2231/2231/2231\nf 2243/2243/2243 2267/2267/2267 2266/2266/2266\nf 2266/2266/2266 2244/2244/2244 2243/2243/2243\nf 2267/2267/2267 2268/2268/2268 2266/2266/2266\nf 2269/2269/2269 2270/2270/2270 2266/2266/2266\nf 2266/2266/2266 2268/2268/2268 2269/2269/2269\nf 2270/2270/2270 2271/2271/2271 2266/2266/2266\nf 2272/2272/2272 2273/2273/2273 2266/2266/2266\nf 2266/2266/2266 2274/2274/2274 2272/2272/2272\nf 2275/2275/2275 2276/2276/2276 2266/2266/2266\nf 2266/2266/2266 2273/2273/2273 2275/2275/2275\nf 2266/2266/2266 2276/2276/2276 2277/2277/2277\nf 2278/2278/2278 2279/2279/2279 2266/2266/2266\nf 2266/2266/2266 2277/2277/2277 2278/2278/2278\nf 2280/2280/2280 2265/2265/2265 2266/2266/2266\nf 2266/2266/2266 2279/2279/2279 2280/2280/2280\nf 2265/2265/2265 2264/2264/2264 2266/2266/2266\nf 2281/2281/2281 2282/2282/2282 2203/2203/2203\nf 2283/2283/2283 2284/2284/2284 2281/2281/2281\nf 2281/2281/2281 2247/2247/2247 2283/2283/2283\nf 2284/2284/2284 2285/2285/2285 2281/2281/2281\nf 2286/2286/2286 2287/2287/2287 2281/2281/2281\nf 2281/2281/2281 2285/2285/2285 2286/2286/2286\nf 2287/2287/2287 2288/2288/2288 2281/2281/2281\nf 2281/2281/2281 2288/2288/2288 2289/2289/2289\nf 2290/2290/2290 2291/2291/2291 2281/2281/2281\nf 2281/2281/2281 2291/2291/2291 2292/2292/2292\nf 2281/2281/2281 2292/2292/2292 2293/2293/2293\nf 2294/2294/2294 2282/2282/2282 2281/2281/2281\nf 2281/2281/2281 2293/2293/2293 2294/2294/2294\nf 2203/2203/2203 2245/2245/2245 2281/2281/2281\nf 2281/2281/2281 2245/2245/2245 2247/2247/2247\nf 2246/2246/2246 2252/2252/2252 2295/2295/2295\nf 2295/2295/2295 2247/2247/2247 2246/2246/2246\nf 2252/2252/2252 2296/2296/2296 2295/2295/2295\nf 2295/2295/2295 2296/2296/2296 2297/2297/2297\nf 2252/2252/2252 2251/2251/2251 2296/2296/2296\nf 2251/2251/2251 2298/2298/2298 2296/2296/2296\nf 2296/2296/2296 2298/2298/2298 2297/2297/2297\nf 2251/2251/2251 2255/2255/2255 2298/2298/2298\nf 2299/2299/2299 2297/2297/2297 2298/2298/2298\nf 2298/2298/2298 2255/2255/2255 2258/2258/2258\nf 2300/2300/2300 2298/2298/2298 2258/2258/2258\nf 2299/2299/2299 2298/2298/2298 2300/2300/2300\nf 2265/2265/2265 2301/2301/2301 2300/2300/2300\nf 2300/2300/2300 2258/2258/2258 2265/2265/2265\nf 2302/2302/2302 2299/2299/2299 2300/2300/2300\nf 2300/2300/2300 2301/2301/2301 2302/2302/2302\nf 2280/2280/2280 2303/2303/2303 2301/2301/2301\nf 2301/2301/2301 2265/2265/2265 2280/2280/2280\nf 2301/2301/2301 2303/2303/2303 2304/2304/2304\nf 2301/2301/2301 2305/2305/2305 2302/2302/2302\nf 2283/2283/2283 2247/2247/2247 2295/2295/2295\nf 2295/2295/2295 2306/2306/2306 2283/2283/2283\nf 2297/2297/2297 2307/2307/2307 2295/2295/2295\nf 2295/2295/2295 2307/2307/2307 2308/2308/2308\nf 2297/2297/2297 2309/2309/2309 2310/2310/2310\nf 2310/2310/2310 2309/2309/2309 2311/2311/2311\nf 2309/2309/2309 2297/2297/2297 2299/2299/2299\nf 2309/2309/2309 2312/2312/2312 2311/2311/2311\nf 2313/2313/2313 2309/2309/2309 2299/2299/2299\nf 2312/2312/2312 2309/2309/2309 2313/2313/2313\nf 2313/2313/2313 2299/2299/2299 2302/2302/2302\nf 2314/2314/2314 2312/2312/2312 2313/2313/2313\nf 2302/2302/2302 2310/2310/2310 2313/2313/2313\nf 2313/2313/2313 2310/2310/2310 2314/2314/2314\nf 2302/2302/2302 2297/2297/2297 2310/2310/2310\nf 2310/2310/2310 2311/2311/2311 2314/2314/2314\nf 2315/2315/2315 2316/2316/2316 2317/2317/2317\nf 2311/2311/2311 2312/2312/2312 2318/2318/2318\nf 2318/2318/2318 2317/2317/2317 2311/2311/2311\nf 2315/2315/2315 2317/2317/2317 2318/2318/2318\nf 2318/2318/2318 2319/2319/2319 2315/2315/2315\nf 2318/2318/2318 2312/2312/2312 2314/2314/2314\nf 2320/2320/2320 2318/2318/2318 2314/2314/2314\nf 2319/2319/2319 2318/2318/2318 2320/2320/2320\nf 2320/2320/2320 2316/2316/2316 2319/2319/2319\nf 2314/2314/2314 2311/2311/2311 2317/2317/2317\nf 2317/2317/2317 2320/2320/2320 2314/2314/2314\nf 2316/2316/2316 2320/2320/2320 2317/2317/2317\nf 2315/2315/2315 2321/2321/2321 2322/2322/2322\nf 2322/2322/2322 2316/2316/2316 2315/2315/2315\nf 2322/2322/2322 2321/2321/2321 2323/2323/2323\nf 2315/2315/2315 2319/2319/2319 2321/2321/2321\nf 2319/2319/2319 2324/2324/2324 2321/2321/2321\nf 2321/2321/2321 2324/2324/2324 2323/2323/2323\nf 2319/2319/2319 2316/2316/2316 2324/2324/2324\nf 2322/2322/2322 2324/2324/2324 2316/2316/2316\nf 2323/2323/2323 2324/2324/2324 2322/2322/2322\nf 2209/2209/2209 2206/2206/2206 2325/2325/2325\nf 2325/2325/2325 2326/2326/2326 2209/2209/2209\nf 2205/2205/2205 2327/2327/2327 2325/2325/2325\nf 2325/2325/2325 2206/2206/2206 2205/2205/2205\nf 2325/2325/2325 2327/2327/2327 2328/2328/2328\nf 2329/2329/2329 2330/2330/2330 2325/2325/2325\nf 2325/2325/2325 2328/2328/2328 2329/2329/2329\nf 2331/2331/2331 2326/2326/2326 2325/2325/2325\nf 2325/2325/2325 2330/2330/2330 2331/2331/2331\nf 2332/2332/2332 2333/2333/2333 2334/2334/2334\nf 2334/2334/2334 2335/2335/2335 2332/2332/2332\nf 2176/2176/2176 2179/2179/2179 2334/2334/2334\nf 2334/2334/2334 2333/2333/2333 2176/2176/2176\nf 2184/2184/2184 2224/2224/2224 2334/2334/2334\nf 2334/2334/2334 2179/2179/2179 2184/2184/2184\nf 2220/2220/2220 2335/2335/2335 2334/2334/2334\nf 2334/2334/2334 2224/2224/2224 2220/2220/2220\nf 2331/2331/2331 2336/2336/2336 2337/2337/2337\nf 2337/2337/2337 2326/2326/2326 2331/2331/2331\nf 2338/2338/2338 2339/2339/2339 2337/2337/2337\nf 2337/2337/2337 2336/2336/2336 2338/2338/2338\nf 2211/2211/2211 2210/2210/2210 2337/2337/2337\nf 2337/2337/2337 2339/2339/2339 2211/2211/2211\nf 2209/2209/2209 2326/2326/2326 2337/2337/2337\nf 2337/2337/2337 2210/2210/2210 2209/2209/2209\nf 2220/2220/2220 2218/2218/2218 2340/2340/2340\nf 2340/2340/2340 2335/2335/2335 2220/2220/2220\nf 2211/2211/2211 2339/2339/2339 2340/2340/2340\nf 2340/2340/2340 2218/2218/2218 2211/2211/2211\nf 2338/2338/2338 2341/2341/2341 2340/2340/2340\nf 2340/2340/2340 2339/2339/2339 2338/2338/2338\nf 2332/2332/2332 2335/2335/2335 2340/2340/2340\nf 2340/2340/2340 2341/2341/2341 2332/2332/2332\nf 2342/2342/2342 2343/2343/2343 2344/2344/2344\nf 2344/2344/2344 2345/2345/2345 2342/2342/2342\nf 2346/2346/2346 2347/2347/2347 2344/2344/2344\nf 2344/2344/2344 2343/2343/2343 2346/2346/2346\nf 2348/2348/2348 2349/2349/2349 2344/2344/2344\nf 2344/2344/2344 2347/2347/2347 2348/2348/2348\nf 2350/2350/2350 2345/2345/2345 2344/2344/2344\nf 2344/2344/2344 2349/2349/2349 2350/2350/2350\nf 2351/2351/2351 2352/2352/2352 2353/2353/2353\nf 2354/2354/2354 2355/2355/2355 2353/2353/2353\nf 2353/2353/2353 2352/2352/2352 2354/2354/2354\nf 2353/2353/2353 2356/2356/2356 2357/2357/2357\nf 2357/2357/2357 2351/2351/2351 2353/2353/2353\nf 2358/2358/2358 2359/2359/2359 2357/2357/2357\nf 2357/2357/2357 2356/2356/2356 2358/2358/2358\nf 2358/2358/2358 2360/2360/2360 2361/2361/2361\nf 2361/2361/2361 2359/2359/2359 2358/2358/2358\nf 2362/2362/2362 2363/2363/2363 2361/2361/2361\nf 2361/2361/2361 2360/2360/2360 2362/2362/2362\nf 2364/2364/2364 2363/2363/2363 2362/2362/2362\nf 2365/2365/2365 2366/2366/2366 2364/2364/2364\nf 2366/2366/2366 2367/2367/2367 2364/2364/2364\nf 2364/2364/2364 2367/2367/2367 2363/2363/2363\nf 2365/2365/2365 2368/2368/2368 2369/2369/2369\nf 2369/2369/2369 2366/2366/2366 2365/2365/2365\nf 2370/2370/2370 2371/2371/2371 2369/2369/2369\nf 2369/2369/2369 2368/2368/2368 2370/2370/2370\nf 2372/2372/2372 2373/2373/2373 2374/2374/2374\nf 2374/2374/2374 2373/2373/2373 2375/2375/2375\nf 2375/2375/2375 2372/2372/2372 2374/2374/2374\nf 2367/2367/2367 2366/2366/2366 2376/2376/2376\nf 2359/2359/2359 2377/2377/2377 2357/2357/2357\nf 2372/2372/2372 2351/2351/2351 2357/2357/2357\nf 2357/2357/2357 2377/2377/2377 2372/2372/2372\nf 2352/2352/2352 2351/2351/2351 2372/2372/2372\nf 2372/2372/2372 2354/2354/2354 2352/2352/2352\nf 2372/2372/2372 2375/2375/2375 2378/2378/2378\nf 2378/2378/2378 2354/2354/2354 2372/2372/2372\nf 2375/2375/2375 2379/2379/2379 2378/2378/2378\nf 2380/2380/2380 2379/2379/2379 2375/2375/2375\nf 2375/2375/2375 2381/2381/2381 2380/2380/2380\nf 2382/2382/2382 2381/2381/2381 2375/2375/2375\nf 2376/2376/2376 2366/2366/2366 2369/2369/2369\nf 2370/2370/2370 2383/2383/2383 2382/2382/2382\nf 2382/2382/2382 2371/2371/2371 2370/2370/2370\nf 2384/2384/2384 2381/2381/2381 2382/2382/2382\nf 2382/2382/2382 2383/2383/2383 2384/2384/2384\nf 2380/2380/2380 2381/2381/2381 2384/2384/2384\nf 2385/2385/2385 2379/2379/2379 2380/2380/2380\nf 2355/2355/2355 2378/2378/2378 2379/2379/2379\nf 2355/2355/2355 2379/2379/2379 2385/2385/2385\nf 2354/2354/2354 2378/2378/2378 2355/2355/2355\nf 2372/2372/2372 2377/2377/2377 2376/2376/2376\nf 2375/2375/2375 2373/2373/2373 2376/2376/2376\nf 2373/2373/2373 2372/2372/2372 2376/2376/2376\nf 2376/2376/2376 2382/2382/2382 2375/2375/2375\nf 2371/2371/2371 2382/2382/2382 2376/2376/2376\nf 2376/2376/2376 2369/2369/2369 2371/2371/2371\nf 2377/2377/2377 2367/2367/2367 2376/2376/2376\nf 2363/2363/2363 2367/2367/2367 2377/2377/2377\nf 2377/2377/2377 2361/2361/2361 2363/2363/2363\nf 2359/2359/2359 2361/2361/2361 2377/2377/2377\nf 2368/2368/2368 2365/2365/2365 2350/2350/2350\nf 2386/2386/2386 2370/2370/2370 2368/2368/2368\nf 2386/2386/2386 2387/2387/2387 2384/2384/2384\nf 2384/2384/2384 2370/2370/2370 2386/2386/2386\nf 2384/2384/2384 2387/2387/2387 2388/2388/2388\nf 2389/2389/2389 2390/2390/2390 2384/2384/2384\nf 2384/2384/2384 2388/2388/2388 2389/2389/2389\nf 2384/2384/2384 2383/2383/2383 2370/2370/2370\nf 2389/2389/2389 2391/2391/2391 2385/2385/2385\nf 2385/2385/2385 2390/2390/2390 2389/2389/2389\nf 2353/2353/2353 2355/2355/2355 2385/2385/2385\nf 2385/2385/2385 2391/2391/2391 2353/2353/2353\nf 2384/2384/2384 2390/2390/2390 2385/2385/2385\nf 2385/2385/2385 2380/2380/2380 2384/2384/2384\nf 2392/2392/2392 2393/2393/2393 2394/2394/2394\nf 2394/2394/2394 2395/2395/2395 2392/2392/2392\nf 2342/2342/2342 2396/2396/2396 2394/2394/2394\nf 2394/2394/2394 2393/2393/2393 2342/2342/2342\nf 2358/2358/2358 2356/2356/2356 2394/2394/2394\nf 2394/2394/2394 2396/2396/2396 2358/2358/2358\nf 2353/2353/2353 2395/2395/2395 2394/2394/2394\nf 2394/2394/2394 2356/2356/2356 2353/2353/2353\nf 2342/2342/2342 2345/2345/2345 2362/2362/2362\nf 2362/2362/2362 2396/2396/2396 2342/2342/2342\nf 2350/2350/2350 2364/2364/2364 2362/2362/2362\nf 2362/2362/2362 2345/2345/2345 2350/2350/2350\nf 2358/2358/2358 2396/2396/2396 2362/2362/2362\nf 2362/2362/2362 2360/2360/2360 2358/2358/2358\nf 2350/2350/2350 2365/2365/2365 2364/2364/2364\nf 2196/2196/2196 2397/2397/2397 2398/2398/2398\nf 2389/2389/2389 2388/2388/2388 2398/2398/2398\nf 2398/2398/2398 2397/2397/2397 2389/2389/2389\nf 2399/2399/2399 2400/2400/2400 2401/2401/2401\nf 2235/2235/2235 2233/2233/2233 2399/2399/2399\nf 2192/2192/2192 2191/2191/2191 2399/2399/2399\nf 2399/2399/2399 2233/2233/2233 2192/2192/2192\nf 2190/2190/2190 2400/2400/2400 2399/2399/2399\nf 2399/2399/2399 2191/2191/2191 2190/2190/2190\nf 2388/2388/2388 2387/2387/2387 2402/2402/2402\nf 2402/2402/2402 2403/2403/2403 2388/2388/2388\nf 2387/2387/2387 2404/2404/2404 2402/2402/2402\nf 2405/2405/2405 2404/2404/2404 2387/2387/2387\nf 2406/2406/2406 2407/2407/2407 2405/2405/2405\nf 2405/2405/2405 2407/2407/2407 2404/2404/2404\nf 2408/2408/2408 2409/2409/2409 2410/2410/2410\nf 2410/2410/2410 2409/2409/2409 2406/2406/2406\nf 2408/2408/2408 2400/2400/2400 2411/2411/2411\nf 2190/2190/2190 2412/2412/2412 2411/2411/2411\nf 2411/2411/2411 2400/2400/2400 2190/2190/2190\nf 2190/2190/2190 2189/2189/2189 2413/2413/2413\nf 2413/2413/2413 2412/2412/2412 2190/2190/2190\nf 2414/2414/2414 2415/2415/2415 2413/2413/2413\nf 2413/2413/2413 2189/2189/2189 2414/2414/2414\nf 2416/2416/2416 2417/2417/2417 2418/2418/2418\nf 2416/2416/2416 2419/2419/2419 2417/2417/2417\nf 2418/2418/2418 2417/2417/2417 2420/2420/2420\nf 2416/2416/2416 2418/2418/2418 2420/2420/2420\nf 2421/2421/2421 2420/2420/2420 2422/2422/2422\nf 2416/2416/2416 2420/2420/2420 2421/2421/2421\nf 2417/2417/2417 2423/2423/2423 2409/2409/2409\nf 2417/2417/2417 2407/2407/2407 2423/2423/2423\nf 2424/2424/2424 2404/2404/2404 2417/2417/2417\nf 2404/2404/2404 2407/2407/2407 2417/2417/2417\nf 2402/2402/2402 2404/2404/2404 2424/2424/2424\nf 2424/2424/2424 2403/2403/2403 2402/2402/2402\nf 2425/2425/2425 2403/2403/2403 2424/2424/2424\nf 2422/2422/2422 2426/2426/2426 2425/2425/2425\nf 2427/2427/2427 2426/2426/2426 2422/2422/2422\nf 2422/2422/2422 2428/2428/2428 2427/2427/2427\nf 2429/2429/2429 2428/2428/2428 2422/2422/2422\nf 2429/2429/2429 2422/2422/2422 2415/2415/2415\nf 2188/2188/2188 2429/2429/2429 2415/2415/2415\nf 2188/2188/2188 2415/2415/2415 2414/2414/2414\nf 2428/2428/2428 2429/2429/2429 2188/2188/2188\nf 2188/2188/2188 2195/2195/2195 2427/2427/2427\nf 2427/2427/2427 2428/2428/2428 2188/2188/2188\nf 2427/2427/2427 2195/2195/2195 2196/2196/2196\nf 2427/2427/2427 2196/2196/2196 2426/2426/2426\nf 2426/2426/2426 2196/2196/2196 2425/2425/2425\nf 2196/2196/2196 2398/2398/2398 2425/2425/2425\nf 2388/2388/2388 2403/2403/2403 2425/2425/2425\nf 2425/2425/2425 2398/2398/2398 2388/2388/2388\nf 2411/2411/2411 2430/2430/2430 2408/2408/2408\nf 2408/2408/2408 2430/2430/2430 2409/2409/2409\nf 2409/2409/2409 2423/2423/2423 2406/2406/2406\nf 2406/2406/2406 2423/2423/2423 2407/2407/2407\nf 2424/2424/2424 2417/2417/2417 2419/2419/2419\nf 2421/2421/2421 2419/2419/2419 2416/2416/2416\nf 2421/2421/2421 2422/2422/2422 2419/2419/2419\nf 2422/2422/2422 2424/2424/2424 2419/2419/2419\nf 2422/2422/2422 2425/2425/2425 2424/2424/2424\nf 2422/2422/2422 2420/2420/2420 2415/2415/2415\nf 2420/2420/2420 2413/2413/2413 2415/2415/2415\nf 2412/2412/2412 2413/2413/2413 2420/2420/2420\nf 2412/2412/2412 2420/2420/2420 2417/2417/2417\nf 2417/2417/2417 2411/2411/2411 2412/2412/2412\nf 2430/2430/2430 2411/2411/2411 2417/2417/2417\nf 2417/2417/2417 2409/2409/2409 2430/2430/2430\nf 2386/2386/2386 2405/2405/2405 2387/2387/2387\nf 2386/2386/2386 2406/2406/2406 2405/2405/2405\nf 2410/2410/2410 2406/2406/2406 2386/2386/2386\nf 2401/2401/2401 2408/2408/2408 2410/2410/2410\nf 2400/2400/2400 2408/2408/2408 2401/2401/2401\nf 2188/2188/2188 2414/2414/2414 2189/2189/2189\nf 2431/2431/2431 2432/2432/2432 2433/2433/2433\nf 2349/2349/2349 2434/2434/2434 2431/2431/2431\nf 2431/2431/2431 2433/2433/2433 2349/2349/2349\nf 2434/2434/2434 2349/2349/2349 2348/2348/2348\nf 2434/2434/2434 2348/2348/2348 2435/2435/2435\nf 2348/2348/2348 2436/2436/2436 2435/2435/2435\nf 2436/2436/2436 2437/2437/2437 2438/2438/2438\nf 2438/2438/2438 2437/2437/2437 2439/2439/2439\nf 2440/2440/2440 2441/2441/2441 2442/2442/2442\nf 2435/2435/2435 2436/2436/2436 2434/2434/2434\nf 2439/2439/2439 2443/2443/2443 2438/2438/2438\nf 2438/2438/2438 2443/2443/2443 2436/2436/2436\nf 2434/2434/2434 2436/2436/2436 2444/2444/2444\nf 2445/2445/2445 2431/2431/2431 2434/2434/2434\nf 2434/2434/2434 2444/2444/2444 2445/2445/2445\nf 2445/2445/2445 2432/2432/2432 2431/2431/2431\nf 2446/2446/2446 2432/2432/2432 2445/2445/2445\nf 2442/2442/2442 2432/2432/2432 2446/2446/2446\nf 2442/2442/2442 2446/2446/2446 2440/2440/2440\nf 2440/2440/2440 2446/2446/2446 2447/2447/2447\nf 2447/2447/2447 2446/2446/2446 2448/2448/2448\nf 2448/2448/2448 2443/2443/2443 2439/2439/2439\nf 2449/2449/2449 2440/2440/2440 2447/2447/2447\nf 2441/2441/2441 2440/2440/2440 2449/2449/2449\nf 2368/2368/2368 2432/2432/2432 2442/2442/2442\nf 2368/2368/2368 2442/2442/2442 2441/2441/2441\nf 2433/2433/2433 2432/2432/2432 2368/2368/2368\nf 2443/2443/2443 2445/2445/2445 2444/2444/2444\nf 2445/2445/2445 2443/2443/2443 2446/2446/2446\nf 2448/2448/2448 2446/2446/2446 2443/2443/2443\nf 2443/2443/2443 2444/2444/2444 2436/2436/2436\nf 2368/2368/2368 2441/2441/2441 2386/2386/2386\nf 2350/2350/2350 2433/2433/2433 2368/2368/2368\nf 2350/2350/2350 2349/2349/2349 2433/2433/2433\nf 2348/2348/2348 2450/2450/2450 2437/2437/2437\nf 2437/2437/2437 2436/2436/2436 2348/2348/2348\nf 2451/2451/2451 2439/2439/2439 2437/2437/2437\nf 2437/2437/2437 2450/2450/2450 2451/2451/2451\nf 2452/2452/2452 2439/2439/2439 2451/2451/2451\nf 2386/2386/2386 2449/2449/2449 2452/2452/2452\nf 2449/2449/2449 2447/2447/2447 2452/2452/2452\nf 2448/2448/2448 2439/2439/2439 2452/2452/2452\nf 2452/2452/2452 2447/2447/2447 2448/2448/2448\nf 2441/2441/2441 2449/2449/2449 2386/2386/2386\nf 2453/2453/2453 2401/2401/2401 2454/2454/2454\nf 2455/2455/2455 2456/2456/2456 2457/2457/2457\nf 2456/2456/2456 2235/2235/2235 2457/2457/2457\nf 2458/2458/2458 2235/2235/2235 2456/2456/2456\nf 2459/2459/2459 2460/2460/2460 2458/2458/2458\nf 2461/2461/2461 2460/2460/2460 2459/2459/2459\nf 2462/2462/2462 2460/2460/2460 2461/2461/2461\nf 2463/2463/2463 2464/2464/2464 2465/2465/2465\nf 2463/2463/2463 2455/2455/2455 2466/2466/2466\nf 2467/2467/2467 2468/2468/2468 2469/2469/2469\nf 2468/2468/2468 2454/2454/2454 2469/2469/2469\nf 2464/2464/2464 2467/2467/2467 2470/2470/2470\nf 2470/2470/2470 2461/2461/2461 2464/2464/2464\nf 2461/2461/2461 2459/2459/2459 2465/2465/2465\nf 2470/2470/2470 2467/2467/2467 2471/2471/2471\nf 2462/2462/2462 2461/2461/2461 2470/2470/2470\nf 2469/2469/2469 2472/2472/2472 2467/2467/2467\nf 2467/2467/2467 2472/2472/2472 2471/2471/2471\nf 2454/2454/2454 2401/2401/2401 2469/2469/2469\nf 2401/2401/2401 2410/2410/2410 2469/2469/2469\nf 2469/2469/2469 2410/2410/2410 2472/2472/2472\nf 2459/2459/2459 2458/2458/2458 2456/2456/2456\nf 2463/2463/2463 2468/2468/2468 2464/2464/2464\nf 2467/2467/2467 2464/2464/2464 2468/2468/2468\nf 2461/2461/2461 2465/2465/2465 2464/2464/2464\nf 2465/2465/2465 2459/2459/2459 2463/2463/2463\nf 2463/2463/2463 2459/2459/2459 2456/2456/2456\nf 2456/2456/2456 2455/2455/2455 2463/2463/2463\nf 2463/2463/2463 2466/2466/2466 2468/2468/2468\nf 2468/2468/2468 2466/2466/2466 2453/2453/2453\nf 2453/2453/2453 2454/2454/2454 2468/2468/2468\nf 2386/2386/2386 2472/2472/2472 2410/2410/2410\nf 2386/2386/2386 2471/2471/2471 2472/2472/2472\nf 2452/2452/2452 2471/2471/2471 2386/2386/2386\nf 2451/2451/2451 2462/2462/2462 2452/2452/2452\nf 2462/2462/2462 2470/2470/2470 2452/2452/2452\nf 2452/2452/2452 2470/2470/2470 2471/2471/2471\nf 2460/2460/2460 2462/2462/2462 2451/2451/2451\nf 2451/2451/2451 2473/2473/2473 2458/2458/2458\nf 2458/2458/2458 2460/2460/2460 2451/2451/2451\nf 2458/2458/2458 2473/2473/2473 2235/2235/2235\nf 2399/2399/2399 2457/2457/2457 2235/2235/2235\nf 2401/2401/2401 2453/2453/2453 2399/2399/2399\nf 2453/2453/2453 2466/2466/2466 2399/2399/2399\nf 2455/2455/2455 2457/2457/2457 2399/2399/2399\nf 2399/2399/2399 2466/2466/2466 2455/2455/2455\nf 2235/2235/2235 2474/2474/2474 2475/2475/2475\nf 2476/2476/2476 2477/2477/2477 2478/2478/2478\nf 2479/2479/2479 2480/2480/2480 2481/2481/2481\nf 2237/2237/2237 2476/2476/2476 2482/2482/2482\nf 2477/2477/2477 2476/2476/2476 2483/2483/2483\nf 2237/2237/2237 2236/2236/2236 2475/2475/2475\nf 2237/2237/2237 2481/2481/2481 2476/2476/2476\nf 2479/2479/2479 2475/2475/2475 2474/2474/2474\nf 2479/2479/2479 2474/2474/2474 2473/2473/2473\nf 2473/2473/2473 2483/2483/2483 2479/2479/2479\nf 2476/2476/2476 2479/2479/2479 2483/2483/2483\nf 2476/2476/2476 2480/2480/2480 2479/2479/2479\nf 2483/2483/2483 2478/2478/2478 2477/2477/2477\nf 2473/2473/2473 2474/2474/2474 2235/2235/2235\nf 2481/2481/2481 2480/2480/2480 2476/2476/2476\nf 2237/2237/2237 2475/2475/2475 2481/2481/2481\nf 2481/2481/2481 2475/2475/2475 2479/2479/2479\nf 2451/2451/2451 2484/2484/2484 2483/2483/2483\nf 2483/2483/2483 2473/2473/2473 2451/2451/2451\nf 2483/2483/2483 2484/2484/2484 2478/2478/2478\nf 2478/2478/2478 2485/2485/2485 2486/2486/2486\nf 2476/2476/2476 2478/2478/2478 2486/2486/2486\nf 2482/2482/2482 2476/2476/2476 2486/2486/2486\nf 2235/2235/2235 2475/2475/2475 2236/2236/2236\nf 2487/2487/2487 2488/2488/2488 2489/2489/2489\nf 2490/2490/2490 2485/2485/2485 2491/2491/2491\nf 2485/2485/2485 2478/2478/2478 2491/2491/2491\nf 2491/2491/2491 2478/2478/2478 2492/2492/2492\nf 2484/2484/2484 2450/2450/2450 2492/2492/2492\nf 2450/2450/2450 2491/2491/2491 2492/2492/2492\nf 2488/2488/2488 2490/2490/2490 2489/2489/2489\nf 2488/2488/2488 2493/2493/2493 2490/2490/2490\nf 2491/2491/2491 2494/2494/2494 2490/2490/2490\nf 2495/2495/2495 2489/2489/2489 2490/2490/2490\nf 2495/2495/2495 2450/2450/2450 2489/2489/2489\nf 2450/2450/2450 2487/2487/2487 2489/2489/2489\nf 2478/2478/2478 2484/2484/2484 2492/2492/2492\nf 2494/2494/2494 2450/2450/2450 2495/2495/2495\nf 2450/2450/2450 2494/2494/2494 2491/2491/2491\nf 2494/2494/2494 2495/2495/2495 2490/2490/2490\nf 2450/2450/2450 2484/2484/2484 2451/2451/2451\nf 2348/2348/2348 2488/2488/2488 2487/2487/2487\nf 2487/2487/2487 2450/2450/2450 2348/2348/2348\nf 2485/2485/2485 2490/2490/2490 2486/2486/2486\nf 2496/2496/2496 2497/2497/2497 2498/2498/2498\nf 2497/2497/2497 2496/2496/2496 2499/2499/2499\nf 2500/2500/2500 2490/2490/2490 2501/2501/2501\nf 2497/2497/2497 2499/2499/2499 2498/2498/2498\nf 2502/2502/2502 2503/2503/2503 2499/2499/2499\nf 2499/2499/2499 2503/2503/2503 2498/2498/2498\nf 2498/2498/2498 2503/2503/2503 2490/2490/2490\nf 2501/2501/2501 2490/2490/2490 2503/2503/2503\nf 2486/2486/2486 2500/2500/2500 2501/2501/2501\nf 2490/2490/2490 2500/2500/2500 2486/2486/2486\nf 2504/2504/2504 2501/2501/2501 2503/2503/2503\nf 2502/2502/2502 2504/2504/2504 2503/2503/2503\nf 2493/2493/2493 2498/2498/2498 2490/2490/2490\nf 2496/2496/2496 2498/2498/2498 2493/2493/2493\nf 2504/2504/2504 2505/2505/2505 2501/2501/2501\nf 2239/2239/2239 2504/2504/2504 2506/2506/2506\nf 2507/2507/2507 2239/2239/2239 2508/2508/2508\nf 2482/2482/2482 2507/2507/2507 2508/2508/2508\nf 2482/2482/2482 2505/2505/2505 2507/2507/2507\nf 2507/2507/2507 2505/2505/2505 2504/2504/2504\nf 2486/2486/2486 2501/2501/2501 2505/2505/2505\nf 2482/2482/2482 2508/2508/2508 2237/2237/2237\nf 2504/2504/2504 2239/2239/2239 2507/2507/2507\nf 2237/2237/2237 2508/2508/2508 2238/2238/2238\nf 2238/2238/2238 2508/2508/2508 2239/2239/2239\nf 2486/2486/2486 2505/2505/2505 2482/2482/2482\nf 2240/2240/2240 2506/2506/2506 2509/2509/2509\nf 2510/2510/2510 2511/2511/2511 2512/2512/2512\nf 2240/2240/2240 2512/2512/2512 2511/2511/2511\nf 2240/2240/2240 2509/2509/2509 2512/2512/2512\nf 2509/2509/2509 2513/2513/2513 2512/2512/2512\nf 2510/2510/2510 2241/2241/2241 2511/2511/2511\nf 2513/2513/2513 2510/2510/2510 2512/2512/2512\nf 2240/2240/2240 2511/2511/2511 2241/2241/2241\nf 2506/2506/2506 2240/2240/2240 2239/2239/2239\nf 2509/2509/2509 2506/2506/2506 2504/2504/2504\nf 2513/2513/2513 2509/2509/2509 2504/2504/2504\nf 2514/2514/2514 2515/2515/2515 2516/2516/2516\nf 2499/2499/2499 2517/2517/2517 2502/2502/2502\nf 2514/2514/2514 2516/2516/2516 2502/2502/2502\nf 2502/2502/2502 2516/2516/2516 2513/2513/2513\nf 2515/2515/2515 2517/2517/2517 2518/2518/2518\nf 2514/2514/2514 2502/2502/2502 2517/2517/2517\nf 2517/2517/2517 2515/2515/2515 2514/2514/2514\nf 2510/2510/2510 2516/2516/2516 2515/2515/2515\nf 2513/2513/2513 2516/2516/2516 2510/2510/2510\nf 2504/2504/2504 2502/2502/2502 2513/2513/2513\nf 2205/2205/2205 2519/2519/2519 2520/2520/2520\nf 2520/2520/2520 2327/2327/2327 2205/2205/2205\nf 2346/2346/2346 2343/2343/2343 2520/2520/2520\nf 2520/2520/2520 2519/2519/2519 2346/2346/2346\nf 2342/2342/2342 2393/2393/2393 2520/2520/2520\nf 2520/2520/2520 2343/2343/2343 2342/2342/2342\nf 2392/2392/2392 2521/2521/2521 2520/2520/2520\nf 2520/2520/2520 2393/2393/2393 2392/2392/2392\nf 2328/2328/2328 2327/2327/2327 2520/2520/2520\nf 2520/2520/2520 2521/2521/2521 2328/2328/2328\nf 2217/2217/2217 2216/2216/2216 2522/2522/2522\nf 2522/2522/2522 2523/2523/2523 2217/2217/2217\nf 2215/2215/2215 2201/2201/2201 2522/2522/2522\nf 2522/2522/2522 2216/2216/2216 2215/2215/2215\nf 2201/2201/2201 2198/2198/2198 2522/2522/2522\nf 2197/2197/2197 2523/2523/2523 2522/2522/2522\nf 2522/2522/2522 2198/2198/2198 2197/2197/2197\nf 2524/2524/2524 2242/2242/2242 2525/2525/2525\nf 2526/2526/2526 2241/2241/2241 2510/2510/2510\nf 2524/2524/2524 2525/2525/2525 2527/2527/2527\nf 2527/2527/2527 2525/2525/2525 2241/2241/2241\nf 2527/2527/2527 2241/2241/2241 2526/2526/2526\nf 2526/2526/2526 2524/2524/2524 2527/2527/2527\nf 2524/2524/2524 2526/2526/2526 2528/2528/2528\nf 2242/2242/2242 2241/2241/2241 2525/2525/2525\nf 2529/2529/2529 2530/2530/2530 2531/2531/2531\nf 2529/2529/2529 2515/2515/2515 2530/2530/2530\nf 2532/2532/2532 2515/2515/2515 2529/2529/2529\nf 2526/2526/2526 2532/2532/2532 2529/2529/2529\nf 2533/2533/2533 2526/2526/2526 2529/2529/2529\nf 2531/2531/2531 2533/2533/2533 2529/2529/2529\nf 2532/2532/2532 2526/2526/2526 2510/2510/2510\nf 2515/2515/2515 2532/2532/2532 2510/2510/2510\nf 2518/2518/2518 2530/2530/2530 2515/2515/2515\nf 2530/2530/2530 2518/2518/2518 2531/2531/2531\nf 2528/2528/2528 2526/2526/2526 2533/2533/2533\nf 2534/2534/2534 2524/2524/2524 2535/2535/2535\nf 2528/2528/2528 2535/2535/2535 2524/2524/2524\nf 2536/2536/2536 2535/2535/2535 2528/2528/2528\nf 2535/2535/2535 2536/2536/2536 2537/2537/2537\nf 2537/2537/2537 2534/2534/2534 2535/2535/2535\nf 2538/2538/2538 2243/2243/2243 2537/2537/2537\nf 2243/2243/2243 2534/2534/2534 2537/2537/2537\nf 2243/2243/2243 2242/2242/2242 2534/2534/2534\nf 2524/2524/2524 2534/2534/2534 2242/2242/2242\nf 2537/2537/2537 2536/2536/2536 2538/2538/2538\nf 2533/2533/2533 2536/2536/2536 2528/2528/2528\nf 2539/2539/2539 2204/2204/2204 2540/2540/2540\nf 2539/2539/2539 2533/2533/2533 2204/2204/2204\nf 2539/2539/2539 2536/2536/2536 2533/2533/2533\nf 2536/2536/2536 2539/2539/2539 2541/2541/2541\nf 2540/2540/2540 2541/2541/2541 2539/2539/2539\nf 2536/2536/2536 2541/2541/2541 2538/2538/2538\nf 2540/2540/2540 2204/2204/2204 2203/2203/2203\nf 2538/2538/2538 2541/2541/2541 2540/2540/2540\nf 2542/2542/2542 2267/2267/2267 2538/2538/2538\nf 2243/2243/2243 2538/2538/2538 2267/2267/2267\nf 2267/2267/2267 2542/2542/2542 2543/2543/2543\nf 2543/2543/2543 2544/2544/2544 2540/2540/2540\nf 2543/2543/2543 2542/2542/2542 2544/2544/2544\nf 2543/2543/2543 2540/2540/2540 2203/2203/2203\nf 2294/2294/2294 2543/2543/2543 2203/2203/2203\nf 2203/2203/2203 2282/2282/2282 2294/2294/2294\nf 2544/2544/2544 2542/2542/2542 2538/2538/2538\nf 2540/2540/2540 2544/2544/2544 2538/2538/2538\nf 2545/2545/2545 2269/2269/2269 2546/2546/2546\nf 2546/2546/2546 2547/2547/2547 2267/2267/2267\nf 2546/2546/2546 2269/2269/2269 2547/2547/2547\nf 2269/2269/2269 2268/2268/2268 2547/2547/2547\nf 2547/2547/2547 2268/2268/2268 2267/2267/2267\nf 2546/2546/2546 2267/2267/2267 2543/2543/2543\nf 2548/2548/2548 2549/2549/2549 2546/2546/2546\nf 2546/2546/2546 2543/2543/2543 2548/2548/2548\nf 2294/2294/2294 2293/2293/2293 2548/2548/2548\nf 2549/2549/2549 2548/2548/2548 2293/2293/2293\nf 2546/2546/2546 2549/2549/2549 2545/2545/2545\nf 2294/2294/2294 2548/2548/2548 2543/2543/2543\nf 2550/2550/2550 2270/2270/2270 2269/2269/2269\nf 2271/2271/2271 2270/2270/2270 2550/2550/2550\nf 2545/2545/2545 2550/2550/2550 2269/2269/2269\nf 2551/2551/2551 2271/2271/2271 2550/2550/2550\nf 2551/2551/2551 2550/2550/2550 2552/2552/2552\nf 2552/2552/2552 2550/2550/2550 2549/2549/2549\nf 2552/2552/2552 2549/2549/2549 2553/2553/2553\nf 2545/2545/2545 2549/2549/2549 2550/2550/2550\nf 2293/2293/2293 2553/2553/2553 2549/2549/2549\nf 2293/2293/2293 2292/2292/2292 2553/2553/2553\nf 2553/2553/2553 2292/2292/2292 2552/2552/2552\nf 2551/2551/2551 2552/2552/2552 2292/2292/2292\nf 2554/2554/2554 2555/2555/2555 2271/2271/2271\nf 2271/2271/2271 2555/2555/2555 2266/2266/2266\nf 2554/2554/2554 2271/2271/2271 2551/2551/2551\nf 2556/2556/2556 2290/2290/2290 2554/2554/2554\nf 2556/2556/2556 2551/2551/2551 2292/2292/2292\nf 2292/2292/2292 2291/2291/2291 2556/2556/2556\nf 2556/2556/2556 2291/2291/2291 2290/2290/2290\nf 2290/2290/2290 2555/2555/2555 2554/2554/2554\nf 2556/2556/2556 2554/2554/2554 2551/2551/2551\nf 2557/2557/2557 2266/2266/2266 2555/2555/2555\nf 2266/2266/2266 2557/2557/2557 2558/2558/2558\nf 2266/2266/2266 2558/2558/2558 2274/2274/2274\nf 2290/2290/2290 2281/2281/2281 2557/2557/2557\nf 2281/2281/2281 2558/2558/2558 2557/2557/2557\nf 2290/2290/2290 2557/2557/2557 2555/2555/2555\nf 2274/2274/2274 2558/2558/2558 2272/2272/2272\nf 2558/2558/2558 2281/2281/2281 2289/2289/2289\nf 2289/2289/2289 2272/2272/2272 2558/2558/2558\nf 2559/2559/2559 2275/2275/2275 2272/2272/2272\nf 2275/2275/2275 2559/2559/2559 2560/2560/2560\nf 2275/2275/2275 2273/2273/2273 2272/2272/2272\nf 2287/2287/2287 2560/2560/2560 2289/2289/2289\nf 2289/2289/2289 2560/2560/2560 2559/2559/2559\nf 2272/2272/2272 2289/2289/2289 2559/2559/2559\nf 2289/2289/2289 2288/2288/2288 2287/2287/2287\nf 2561/2561/2561 2277/2277/2277 2275/2275/2275\nf 2277/2277/2277 2276/2276/2276 2275/2275/2275\nf 2561/2561/2561 2275/2275/2275 2560/2560/2560\nf 2286/2286/2286 2561/2561/2561 2560/2560/2560\nf 2286/2286/2286 2560/2560/2560 2287/2287/2287\nf 2277/2277/2277 2561/2561/2561 2278/2278/2278\nf 2286/2286/2286 2278/2278/2278 2561/2561/2561\nf 2286/2286/2286 2285/2285/2285 2284/2284/2284\nf 2284/2284/2284 2278/2278/2278 2286/2286/2286\nf 2280/2280/2280 2279/2279/2279 2278/2278/2278\nf 2278/2278/2278 2283/2283/2283 2280/2280/2280\nf 2283/2283/2283 2278/2278/2278 2284/2284/2284\nf 2249/2249/2249 2245/2245/2245 2201/2201/2201\nf 2249/2249/2249 2201/2201/2201 2215/2215/2215\nf 2246/2246/2246 2245/2245/2245 2249/2249/2249\nf 2249/2249/2249 2252/2252/2252 2246/2246/2246\nf 2204/2204/2204 2533/2533/2533 2531/2531/2531\nf 2204/2204/2204 2531/2531/2531 2199/2199/2199\nf 2199/2199/2199 2531/2531/2531 2562/2562/2562\nf 2562/2562/2562 2200/2200/2200 2199/2199/2199\nf 2531/2531/2531 2518/2518/2518 2562/2562/2562\nf 2518/2518/2518 2517/2517/2517 2562/2562/2562\nf 2499/2499/2499 2496/2496/2496 2562/2562/2562\nf 2562/2562/2562 2517/2517/2517 2499/2499/2499\nf 2562/2562/2562 2496/2496/2496 2493/2493/2493\nf 2562/2562/2562 2493/2493/2493 2488/2488/2488\nf 2348/2348/2348 2347/2347/2347 2562/2562/2562\nf 2562/2562/2562 2488/2488/2488 2348/2348/2348\nf 2346/2346/2346 2563/2563/2563 2562/2562/2562\nf 2562/2562/2562 2347/2347/2347 2346/2346/2346\nf 2197/2197/2197 2200/2200/2200 2562/2562/2562\nf 2562/2562/2562 2563/2563/2563 2197/2197/2197\nf 2197/2197/2197 2563/2563/2563 2564/2564/2564\nf 2564/2564/2564 2523/2523/2523 2197/2197/2197\nf 2346/2346/2346 2519/2519/2519 2564/2564/2564\nf 2564/2564/2564 2563/2563/2563 2346/2346/2346\nf 2205/2205/2205 2208/2208/2208 2564/2564/2564\nf 2564/2564/2564 2519/2519/2519 2205/2205/2205\nf 2217/2217/2217 2523/2523/2523 2564/2564/2564\nf 2564/2564/2564 2208/2208/2208 2217/2217/2217\nf 2303/2303/2303 2283/2283/2283 2306/2306/2306\nf 2283/2283/2283 2303/2303/2303 2280/2280/2280\nf 2306/2306/2306 2304/2304/2304 2303/2303/2303\nf 2304/2304/2304 2295/2295/2295 2301/2301/2301\nf 2306/2306/2306 2295/2295/2295 2304/2304/2304\nf 2308/2308/2308 2301/2301/2301 2295/2295/2295\nf 2305/2305/2305 2301/2301/2301 2308/2308/2308\nf 2308/2308/2308 2302/2302/2302 2305/2305/2305\nf 2308/2308/2308 2307/2307/2307 2297/2297/2297\nf 2297/2297/2297 2302/2302/2302 2308/2308/2308\nf 651/651/651 650/650/650 2565/2565/2565\nf 2565/2565/2565 2566/2566/2566 651/651/651\nf 647/647/647 2567/2567/2567 2565/2565/2565\nf 2565/2565/2565 650/650/650 647/647/647\nf 2332/2332/2332 2341/2341/2341 2565/2565/2565\nf 2565/2565/2565 2567/2567/2567 2332/2332/2332\nf 2338/2338/2338 2566/2566/2566 2565/2565/2565\nf 2565/2565/2565 2341/2341/2341 2338/2338/2338\nf 647/647/647 646/646/646 2568/2568/2568\nf 2568/2568/2568 2567/2567/2567 647/647/647\nf 643/643/643 2569/2569/2569 2568/2568/2568\nf 2568/2568/2568 646/646/646 643/643/643\nf 2176/2176/2176 2333/2333/2333 2568/2568/2568\nf 2568/2568/2568 2569/2569/2569 2176/2176/2176\nf 2332/2332/2332 2567/2567/2567 2568/2568/2568\nf 2568/2568/2568 2333/2333/2333 2332/2332/2332\nf 643/643/643 2570/2570/2570 2571/2571/2571\nf 2571/2571/2571 2569/2569/2569 643/643/643\nf 2180/2180/2180 2177/2177/2177 2571/2571/2571\nf 2571/2571/2571 2570/2570/2570 2180/2180/2180\nf 2176/2176/2176 2569/2569/2569 2571/2571/2571\nf 2571/2571/2571 2177/2177/2177 2176/2176/2176\nf 643/643/643 642/642/642 2572/2572/2572\nf 2572/2572/2572 2570/2570/2570 643/643/643\nf 638/638/638 2573/2573/2573 2572/2572/2572\nf 2572/2572/2572 642/642/642 638/638/638\nf 2187/2187/2187 2185/2185/2185 2572/2572/2572\nf 2572/2572/2572 2573/2573/2573 2187/2187/2187\nf 2180/2180/2180 2570/2570/2570 2572/2572/2572\nf 2572/2572/2572 2185/2185/2185 2180/2180/2180\nf 638/638/638 902/902/902 2574/2574/2574\nf 2574/2574/2574 2573/2573/2573 638/638/638\nf 869/869/869 2575/2575/2575 2574/2574/2574\nf 2574/2574/2574 902/902/902 869/869/869\nf 2196/2196/2196 2194/2194/2194 2574/2574/2574\nf 2574/2574/2574 2575/2575/2575 2196/2196/2196\nf 2187/2187/2187 2573/2573/2573 2574/2574/2574\nf 2574/2574/2574 2194/2194/2194 2187/2187/2187\nf 869/869/869 2576/2576/2576 2577/2577/2577\nf 2577/2577/2577 2575/2575/2575 869/869/869\nf 2389/2389/2389 2397/2397/2397 2577/2577/2577\nf 2577/2577/2577 2576/2576/2576 2389/2389/2389\nf 2196/2196/2196 2575/2575/2575 2577/2577/2577\nf 2577/2577/2577 2397/2397/2397 2196/2196/2196\nf 869/869/869 866/866/866 2578/2578/2578\nf 2578/2578/2578 2576/2576/2576 869/869/869\nf 865/865/865 2579/2579/2579 2578/2578/2578\nf 2578/2578/2578 866/866/866 865/865/865\nf 2353/2353/2353 2391/2391/2391 2578/2578/2578\nf 2578/2578/2578 2579/2579/2579 2353/2353/2353\nf 2389/2389/2389 2576/2576/2576 2578/2578/2578\nf 2578/2578/2578 2391/2391/2391 2389/2389/2389\nf 865/865/865 908/908/908 2580/2580/2580\nf 2580/2580/2580 2579/2579/2579 865/865/865\nf 569/569/569 2581/2581/2581 2580/2580/2580\nf 2580/2580/2580 908/908/908 569/569/569\nf 2392/2392/2392 2395/2395/2395 2580/2580/2580\nf 2580/2580/2580 2581/2581/2581 2392/2392/2392\nf 2353/2353/2353 2579/2579/2579 2580/2580/2580\nf 2580/2580/2580 2395/2395/2395 2353/2353/2353\nf 569/569/569 2582/2582/2582 2583/2583/2583\nf 2583/2583/2583 2581/2581/2581 569/569/569\nf 2328/2328/2328 2521/2521/2521 2583/2583/2583\nf 2583/2583/2583 2582/2582/2582 2328/2328/2328\nf 2392/2392/2392 2581/2581/2581 2583/2583/2583\nf 2583/2583/2583 2521/2521/2521 2392/2392/2392\nf 569/569/569 568/568/568 2582/2582/2582\nf 567/567/567 2584/2584/2584 2582/2582/2582\nf 2582/2582/2582 568/568/568 567/567/567\nf 2329/2329/2329 2328/2328/2328 2582/2582/2582\nf 2582/2582/2582 2584/2584/2584 2329/2329/2329\nf 567/567/567 654/654/654 2585/2585/2585\nf 2585/2585/2585 2584/2584/2584 567/567/567\nf 651/651/651 2586/2586/2586 2585/2585/2585\nf 2585/2585/2585 654/654/654 651/651/651\nf 2331/2331/2331 2330/2330/2330 2585/2585/2585\nf 2585/2585/2585 2586/2586/2586 2331/2331/2331\nf 2329/2329/2329 2584/2584/2584 2585/2585/2585\nf 2585/2585/2585 2330/2330/2330 2329/2329/2329\nf 651/651/651 2566/2566/2566 2587/2587/2587\nf 2587/2587/2587 2586/2586/2586 651/651/651\nf 2338/2338/2338 2336/2336/2336 2587/2587/2587\nf 2587/2587/2587 2566/2566/2566 2338/2338/2338\nf 2331/2331/2331 2586/2586/2586 2587/2587/2587\nf 2587/2587/2587 2336/2336/2336 2331/2331/2331\nf 2588/2588/2588 2589/2589/2589 2590/2590/2590\nf 735/735/735 753/753/753 2588/2588/2588\nf 2588/2588/2588 2590/2590/2590 735/735/735\nf 346/346/346 2589/2589/2589 2588/2588/2588\nf 2588/2588/2588 753/753/753 346/346/346\nf 663/663/663 860/860/860 2591/2591/2591\nf 2591/2591/2591 2592/2592/2592 663/663/663\nf 859/859/859 891/891/891 2591/2591/2591\nf 2591/2591/2591 860/860/860 859/859/859\nf 888/888/888 900/900/900 2591/2591/2591\nf 2591/2591/2591 891/891/891 888/888/888\nf 735/735/735 2590/2590/2590 2591/2591/2591\nf 2591/2591/2591 900/900/900 735/735/735\nf 2590/2590/2590 2592/2592/2592 2591/2591/2591\nf 2593/2593/2593 2594/2594/2594 2595/2595/2595\nf 2595/2595/2595 2596/2596/2596 2593/2593/2593\nf 9/9/9 8/8/8 2595/2595/2595\nf 2595/2595/2595 2594/2594/2594 9/9/9\nf 7/7/7 2597/2597/2597 2595/2595/2595\nf 2595/2595/2595 8/8/8 7/7/7\nf 2598/2598/2598 2596/2596/2596 2595/2595/2595\nf 2595/2595/2595 2597/2597/2597 2598/2598/2598\nf 2599/2599/2599 2600/2600/2600 2601/2601/2601\nf 2601/2601/2601 2602/2602/2602 2599/2599/2599\nf 2603/2603/2603 2604/2604/2604 2601/2601/2601\nf 2601/2601/2601 2600/2600/2600 2603/2603/2603\nf 2605/2605/2605 2602/2602/2602 2601/2601/2601\nf 2601/2601/2601 2604/2604/2604 2605/2605/2605\nf 2606/2606/2606 2607/2607/2607 2608/2608/2608\nf 2608/2608/2608 2609/2609/2609 2606/2606/2606\nf 2610/2610/2610 2611/2611/2611 2608/2608/2608\nf 2608/2608/2608 2607/2607/2607 2610/2610/2610\nf 2612/2612/2612 2613/2613/2613 2608/2608/2608\nf 2608/2608/2608 2611/2611/2611 2612/2612/2612\nf 2614/2614/2614 2609/2609/2609 2608/2608/2608\nf 2608/2608/2608 2613/2613/2613 2614/2614/2614\nf 2615/2615/2615 2616/2616/2616 2617/2617/2617\nf 2617/2617/2617 2618/2618/2618 2615/2615/2615\nf 2619/2619/2619 2620/2620/2620 2617/2617/2617\nf 2617/2617/2617 2616/2616/2616 2619/2619/2619\nf 2593/2593/2593 2596/2596/2596 2617/2617/2617\nf 2617/2617/2617 2620/2620/2620 2593/2593/2593\nf 2598/2598/2598 2618/2618/2618 2617/2617/2617\nf 2617/2617/2617 2596/2596/2596 2598/2598/2598\nf 2621/2621/2621 2622/2622/2622 2623/2623/2623\nf 2623/2623/2623 2624/2624/2624 2621/2621/2621\nf 2625/2625/2625 2626/2626/2626 2623/2623/2623\nf 2623/2623/2623 2622/2622/2622 2625/2625/2625\nf 38/38/38 37/37/37 2623/2623/2623\nf 2623/2623/2623 2626/2626/2626 38/38/38\nf 36/36/36 2624/2624/2624 2623/2623/2623\nf 2623/2623/2623 37/37/37 36/36/36\nf 41/41/41 2627/2627/2627 2628/2628/2628\nf 2628/2628/2628 42/42/42 41/41/41\nf 2629/2629/2629 2630/2630/2630 2628/2628/2628\nf 2628/2628/2628 2627/2627/2627 2629/2629/2629\nf 2631/2631/2631 2632/2632/2632 2628/2628/2628\nf 2628/2628/2628 2630/2630/2630 2631/2631/2631\nf 45/45/45 42/42/42 2628/2628/2628\nf 2628/2628/2628 2632/2632/2632 45/45/45\nf 2599/2599/2599 2602/2602/2602 2633/2633/2633\nf 2633/2633/2633 2634/2634/2634 2599/2599/2599\nf 2605/2605/2605 2635/2635/2635 2633/2633/2633\nf 2633/2633/2633 2602/2602/2602 2605/2605/2605\nf 2636/2636/2636 2637/2637/2637 2633/2633/2633\nf 2633/2633/2633 2635/2635/2635 2636/2636/2636\nf 2638/2638/2638 2634/2634/2634 2633/2633/2633\nf 2633/2633/2633 2637/2637/2637 2638/2638/2638\nf 2639/2639/2639 2640/2640/2640 2641/2641/2641\nf 2641/2641/2641 2642/2642/2642 2639/2639/2639\nf 2643/2643/2643 2644/2644/2644 2641/2641/2641\nf 2641/2641/2641 2640/2640/2640 2643/2643/2643\nf 2641/2641/2641 2644/2644/2644 2645/2645/2645\nf 2646/2646/2646 2647/2647/2647 2641/2641/2641\nf 2641/2641/2641 2645/2645/2645 2646/2646/2646\nf 2648/2648/2648 2642/2642/2642 2641/2641/2641\nf 2641/2641/2641 2647/2647/2647 2648/2648/2648\nf 2646/2646/2646 2649/2649/2649 2650/2650/2650\nf 2650/2650/2650 2647/2647/2647 2646/2646/2646\nf 2651/2651/2651 2652/2652/2652 2650/2650/2650\nf 2650/2650/2650 2649/2649/2649 2651/2651/2651\nf 2653/2653/2653 2654/2654/2654 2650/2650/2650\nf 2650/2650/2650 2652/2652/2652 2653/2653/2653\nf 71/71/71 70/70/70 2650/2650/2650\nf 2650/2650/2650 2654/2654/2654 71/71/71\nf 69/69/69 2655/2655/2655 2650/2650/2650\nf 2650/2650/2650 70/70/70 69/69/69\nf 2648/2648/2648 2647/2647/2647 2650/2650/2650\nf 2650/2650/2650 2655/2655/2655 2648/2648/2648\nf 2599/2599/2599 2656/2656/2656 2657/2657/2657\nf 2657/2657/2657 2658/2658/2658 2599/2599/2599\nf 84/84/84 83/83/83 2657/2657/2657\nf 2657/2657/2657 2656/2656/2656 84/84/84\nf 83/83/83 2659/2659/2659 2657/2657/2657\nf 2660/2660/2660 2661/2661/2661 2657/2657/2657\nf 2657/2657/2657 2659/2659/2659 2660/2660/2660\nf 2662/2662/2662 2658/2658/2658 2657/2657/2657\nf 2657/2657/2657 2661/2661/2661 2662/2662/2662\nf 2614/2614/2614 2613/2613/2613 2663/2663/2663\nf 2663/2663/2663 2664/2664/2664 2614/2614/2614\nf 2612/2612/2612 2665/2665/2665 2663/2663/2663\nf 2663/2663/2663 2613/2613/2613 2612/2612/2612\nf 2666/2666/2666 2667/2667/2667 2663/2663/2663\nf 2663/2663/2663 2665/2665/2665 2666/2666/2666\nf 2625/2625/2625 2622/2622/2622 2663/2663/2663\nf 2663/2663/2663 2667/2667/2667 2625/2625/2625\nf 2621/2621/2621 2664/2664/2664 2663/2663/2663\nf 2663/2663/2663 2622/2622/2622 2621/2621/2621\nf 2668/2668/2668 2669/2669/2669 2670/2670/2670\nf 2670/2670/2670 2671/2671/2671 2668/2668/2668\nf 2615/2615/2615 2618/2618/2618 2670/2670/2670\nf 2670/2670/2670 2669/2669/2669 2615/2615/2615\nf 2598/2598/2598 2672/2672/2672 2670/2670/2670\nf 2670/2670/2670 2618/2618/2618 2598/2598/2598\nf 2631/2631/2631 2671/2671/2671 2670/2670/2670\nf 2670/2670/2670 2672/2672/2672 2631/2631/2631\nf 2598/2598/2598 2597/2597/2597 2673/2673/2673\nf 2673/2673/2673 2672/2672/2672 2598/2598/2598\nf 7/7/7 96/96/96 2673/2673/2673\nf 2673/2673/2673 2597/2597/2597 7/7/7\nf 45/45/45 2632/2632/2632 2673/2673/2673\nf 2673/2673/2673 96/96/96 45/45/45\nf 2631/2631/2631 2672/2672/2672 2673/2673/2673\nf 2673/2673/2673 2632/2632/2632 2631/2631/2631\nf 2614/2614/2614 2674/2674/2674 2675/2675/2675\nf 2675/2675/2675 2609/2609/2609 2614/2614/2614\nf 102/102/102 101/101/101 2675/2675/2675\nf 2675/2675/2675 2674/2674/2674 102/102/102\nf 100/100/100 2676/2676/2676 2675/2675/2675\nf 2675/2675/2675 101/101/101 100/100/100\nf 2606/2606/2606 2609/2609/2609 2675/2675/2675\nf 2675/2675/2675 2676/2676/2676 2606/2606/2606\nf 2677/2677/2677 2678/2678/2678 2679/2679/2679\nf 2679/2679/2679 2680/2680/2680 2677/2677/2677\nf 2681/2681/2681 2682/2682/2682 2679/2679/2679\nf 2679/2679/2679 2678/2678/2678 2681/2681/2681\nf 2683/2683/2683 2684/2684/2684 2679/2679/2679\nf 2679/2679/2679 2682/2682/2682 2683/2683/2683\nf 2685/2685/2685 2686/2686/2686 2679/2679/2679\nf 2679/2679/2679 2684/2684/2684 2685/2685/2685\nf 2687/2687/2687 2680/2680/2680 2679/2679/2679\nf 2679/2679/2679 2686/2686/2686 2687/2687/2687\nf 116/116/116 2688/2688/2688 2689/2689/2689\nf 117/117/117 2688/2688/2688 116/116/116\nf 118/118/118 2690/2690/2690 2691/2691/2691\nf 2691/2691/2691 119/119/119 118/118/118\nf 2692/2692/2692 2693/2693/2693 2691/2691/2691\nf 2691/2691/2691 2690/2690/2690 2692/2692/2692\nf 2694/2694/2694 2695/2695/2695 2691/2691/2691\nf 2691/2691/2691 2693/2693/2693 2694/2694/2694\nf 2695/2695/2695 2696/2696/2696 2691/2691/2691\nf 2697/2697/2697 2698/2698/2698 2691/2691/2691\nf 2691/2691/2691 2696/2696/2696 2697/2697/2697\nf 2689/2689/2689 2688/2688/2688 2691/2691/2691\nf 2691/2691/2691 2698/2698/2698 2689/2689/2689\nf 117/117/117 119/119/119 2691/2691/2691\nf 2691/2691/2691 2688/2688/2688 117/117/117\nf 2699/2699/2699 2700/2700/2700 2701/2701/2701\nf 2701/2701/2701 2702/2702/2702 2699/2699/2699\nf 2703/2703/2703 2704/2704/2704 2701/2701/2701\nf 2701/2701/2701 2700/2700/2700 2703/2703/2703\nf 2705/2705/2705 2702/2702/2702 2701/2701/2701\nf 2701/2701/2701 2704/2704/2704 2705/2705/2705\nf 2706/2706/2706 2707/2707/2707 2708/2708/2708\nf 2708/2708/2708 2709/2709/2709 2706/2706/2706\nf 2710/2710/2710 2711/2711/2711 2708/2708/2708\nf 2708/2708/2708 2707/2707/2707 2710/2710/2710\nf 2712/2712/2712 2709/2709/2709 2708/2708/2708\nf 2708/2708/2708 2711/2711/2711 2712/2712/2712\nf 2713/2713/2713 2714/2714/2714 2715/2715/2715\nf 2715/2715/2715 2716/2716/2716 2713/2713/2713\nf 2712/2712/2712 2717/2717/2717 2715/2715/2715\nf 2715/2715/2715 2714/2714/2714 2712/2712/2712\nf 2717/2717/2717 2718/2718/2718 2715/2715/2715\nf 2719/2719/2719 2716/2716/2716 2715/2715/2715\nf 2715/2715/2715 2718/2718/2718 2719/2719/2719\nf 2689/2689/2689 2698/2698/2698 2720/2720/2720\nf 2697/2697/2697 2721/2721/2721 2720/2720/2720\nf 2720/2720/2720 2698/2698/2698 2697/2697/2697\nf 2722/2722/2722 2723/2723/2723 2720/2720/2720\nf 2720/2720/2720 2721/2721/2721 2722/2722/2722\nf 2660/2660/2660 2689/2689/2689 2720/2720/2720\nf 2720/2720/2720 2723/2723/2723 2660/2660/2660\nf 2724/2724/2724 2725/2725/2725 2726/2726/2726\nf 2726/2726/2726 2727/2727/2727 2724/2724/2724\nf 2728/2728/2728 2729/2729/2729 2726/2726/2726\nf 2726/2726/2726 2725/2725/2725 2728/2728/2728\nf 161/161/161 160/160/160 2726/2726/2726\nf 2726/2726/2726 2729/2729/2729 161/161/161\nf 160/160/160 159/159/159 2726/2726/2726\nf 2730/2730/2730 2727/2727/2727 2726/2726/2726\nf 2726/2726/2726 159/159/159 2730/2730/2730\nf 2730/2730/2730 2731/2731/2731 2732/2732/2732\nf 2732/2732/2732 2727/2727/2727 2730/2730/2730\nf 2733/2733/2733 2734/2734/2734 2732/2732/2732\nf 2732/2732/2732 2731/2731/2731 2733/2733/2733\nf 2735/2735/2735 2736/2736/2736 2732/2732/2732\nf 2732/2732/2732 2734/2734/2734 2735/2735/2735\nf 2724/2724/2724 2727/2727/2727 2732/2732/2732\nf 2732/2732/2732 2736/2736/2736 2724/2724/2724\nf 2737/2737/2737 2738/2738/2738 2739/2739/2739\nf 2739/2739/2739 2740/2740/2740 2737/2737/2737\nf 2741/2741/2741 2742/2742/2742 2739/2739/2739\nf 2739/2739/2739 2738/2738/2738 2741/2741/2741\nf 2743/2743/2743 2744/2744/2744 2739/2739/2739\nf 2739/2739/2739 2742/2742/2742 2743/2743/2743\nf 2745/2745/2745 2740/2740/2740 2739/2739/2739\nf 2739/2739/2739 2744/2744/2744 2745/2745/2745\nf 2603/2603/2603 2746/2746/2746 2747/2747/2747\nf 2747/2747/2747 2604/2604/2604 2603/2603/2603\nf 2748/2748/2748 2749/2749/2749 2747/2747/2747\nf 2747/2747/2747 2746/2746/2746 2748/2748/2748\nf 2643/2643/2643 2750/2750/2750 2747/2747/2747\nf 2747/2747/2747 2749/2749/2749 2643/2643/2643\nf 2605/2605/2605 2604/2604/2604 2747/2747/2747\nf 2747/2747/2747 2750/2750/2750 2605/2605/2605\nf 2683/2683/2683 2751/2751/2751 2752/2752/2752\nf 2752/2752/2752 2684/2684/2684 2683/2683/2683\nf 2753/2753/2753 2754/2754/2754 2752/2752/2752\nf 2752/2752/2752 2751/2751/2751 2753/2753/2753\nf 2755/2755/2755 2756/2756/2756 2752/2752/2752\nf 2752/2752/2752 2754/2754/2754 2755/2755/2755\nf 2685/2685/2685 2684/2684/2684 2752/2752/2752\nf 2752/2752/2752 2756/2756/2756 2685/2685/2685\nf 2755/2755/2755 2757/2757/2757 2758/2758/2758\nf 2758/2758/2758 2756/2756/2756 2755/2755/2755\nf 2759/2759/2759 2760/2760/2760 2758/2758/2758\nf 2758/2758/2758 2757/2757/2757 2759/2759/2759\nf 2761/2761/2761 2762/2762/2762 2758/2758/2758\nf 2758/2758/2758 2760/2760/2760 2761/2761/2761\nf 2685/2685/2685 2756/2756/2756 2758/2758/2758\nf 2758/2758/2758 2762/2762/2762 2685/2685/2685\nf 2761/2761/2761 2763/2763/2763 2764/2764/2764\nf 2764/2764/2764 2762/2762/2762 2761/2761/2761\nf 2687/2687/2687 2686/2686/2686 2764/2764/2764\nf 2685/2685/2685 2762/2762/2762 2764/2764/2764\nf 2764/2764/2764 2686/2686/2686 2685/2685/2685\nf 2765/2765/2765 2766/2766/2766 2767/2767/2767\nf 2645/2645/2645 2644/2644/2644 2765/2765/2765\nf 2643/2643/2643 2766/2766/2766 2765/2765/2765\nf 2765/2765/2765 2644/2644/2644 2643/2643/2643\nf 2687/2687/2687 2768/2768/2768 2769/2769/2769\nf 2769/2769/2769 2680/2680/2680 2687/2687/2687\nf 2767/2767/2767 2770/2770/2770 2769/2769/2769\nf 2769/2769/2769 2768/2768/2768 2767/2767/2767\nf 2677/2677/2677 2680/2680/2680 2769/2769/2769\nf 2769/2769/2769 2770/2770/2770 2677/2677/2677\nf 2771/2771/2771 2772/2772/2772 2773/2773/2773\nf 2773/2773/2773 2774/2774/2774 2771/2771/2771\nf 2774/2774/2774 2765/2765/2765 2771/2771/2771\nf 2775/2775/2775 2763/2763/2763 2761/2761/2761\nf 2646/2646/2646 2645/2645/2645 2775/2775/2775\nf 2761/2761/2761 2760/2760/2760 2776/2776/2776\nf 2776/2776/2776 2775/2775/2775 2761/2761/2761\nf 2759/2759/2759 2777/2777/2777 2776/2776/2776\nf 2776/2776/2776 2760/2760/2760 2759/2759/2759\nf 2651/2651/2651 2649/2649/2649 2776/2776/2776\nf 2776/2776/2776 2777/2777/2777 2651/2651/2651\nf 2646/2646/2646 2775/2775/2775 2776/2776/2776\nf 2776/2776/2776 2649/2649/2649 2646/2646/2646\nf 2653/2653/2653 2778/2778/2778 2779/2779/2779\nf 2735/2735/2735 2734/2734/2734 2779/2779/2779\nf 2779/2779/2779 2778/2778/2778 2735/2735/2735\nf 2779/2779/2779 2734/2734/2734 2733/2733/2733\nf 2733/2733/2733 2780/2780/2780 2781/2781/2781\nf 2781/2781/2781 2779/2779/2779 2733/2733/2733\nf 216/216/216 215/215/215 2781/2781/2781\nf 2781/2781/2781 2780/2780/2780 216/216/216\nf 71/71/71 2654/2654/2654 2781/2781/2781\nf 2781/2781/2781 215/215/215 71/71/71\nf 2653/2653/2653 2779/2779/2779 2781/2781/2781\nf 2781/2781/2781 2654/2654/2654 2653/2653/2653\nf 2753/2753/2753 2751/2751/2751 2782/2782/2782\nf 2782/2782/2782 2783/2783/2783 2753/2753/2753\nf 2683/2683/2683 2784/2784/2784 2782/2782/2782\nf 2782/2782/2782 2751/2751/2751 2683/2683/2683\nf 2705/2705/2705 2785/2785/2785 2782/2782/2782\nf 2782/2782/2782 2784/2784/2784 2705/2705/2705\nf 2786/2786/2786 2787/2787/2787 2782/2782/2782\nf 2782/2782/2782 2785/2785/2785 2786/2786/2786\nf 2787/2787/2787 2783/2783/2783 2782/2782/2782\nf 2683/2683/2683 2682/2682/2682 2788/2788/2788\nf 2788/2788/2788 2784/2784/2784 2683/2683/2683\nf 2681/2681/2681 2789/2789/2789 2788/2788/2788\nf 2788/2788/2788 2682/2682/2682 2681/2681/2681\nf 2790/2790/2790 2791/2791/2791 2788/2788/2788\nf 2788/2788/2788 2789/2789/2789 2790/2790/2790\nf 2705/2705/2705 2784/2784/2784 2788/2788/2788\nf 2788/2788/2788 2791/2791/2791 2705/2705/2705\nf 2792/2792/2792 2793/2793/2793 2794/2794/2794\nf 2741/2741/2741 2738/2738/2738 2794/2794/2794\nf 2794/2794/2794 2793/2793/2793 2741/2741/2741\nf 2737/2737/2737 2795/2795/2795 2794/2794/2794\nf 2794/2794/2794 2738/2738/2738 2737/2737/2737\nf 2712/2712/2712 2796/2796/2796 2794/2794/2794\nf 2794/2794/2794 2795/2795/2795 2712/2712/2712\nf 2796/2796/2796 2792/2792/2792 2794/2794/2794\nf 2795/2795/2795 2717/2717/2717 2712/2712/2712\nf 2797/2797/2797 2798/2798/2798 2799/2799/2799\nf 2799/2799/2799 2800/2800/2800 2797/2797/2797\nf 2728/2728/2728 2801/2801/2801 2799/2799/2799\nf 2799/2799/2799 2798/2798/2798 2728/2728/2728\nf 2753/2753/2753 2783/2783/2783 2799/2799/2799\nf 2799/2799/2799 2801/2801/2801 2753/2753/2753\nf 2799/2799/2799 2783/2783/2783 2787/2787/2787\nf 2786/2786/2786 2802/2802/2802 2799/2799/2799\nf 2799/2799/2799 2787/2787/2787 2786/2786/2786\nf 2803/2803/2803 2800/2800/2800 2799/2799/2799\nf 2799/2799/2799 2802/2802/2802 2803/2803/2803\nf 2728/2728/2728 2725/2725/2725 2804/2804/2804\nf 2804/2804/2804 2801/2801/2801 2728/2728/2728\nf 2724/2724/2724 2805/2805/2805 2804/2804/2804\nf 2804/2804/2804 2725/2725/2725 2724/2724/2724\nf 2755/2755/2755 2754/2754/2754 2804/2804/2804\nf 2804/2804/2804 2805/2805/2805 2755/2755/2755\nf 2753/2753/2753 2801/2801/2801 2804/2804/2804\nf 2804/2804/2804 2754/2754/2754 2753/2753/2753\nf 2724/2724/2724 2736/2736/2736 2806/2806/2806\nf 2806/2806/2806 2805/2805/2805 2724/2724/2724\nf 2735/2735/2735 2807/2807/2807 2806/2806/2806\nf 2806/2806/2806 2736/2736/2736 2735/2735/2735\nf 2759/2759/2759 2757/2757/2757 2806/2806/2806\nf 2806/2806/2806 2807/2807/2807 2759/2759/2759\nf 2755/2755/2755 2805/2805/2805 2806/2806/2806\nf 2806/2806/2806 2757/2757/2757 2755/2755/2755\nf 2735/2735/2735 2778/2778/2778 2808/2808/2808\nf 2808/2808/2808 2807/2807/2807 2735/2735/2735\nf 2653/2653/2653 2652/2652/2652 2808/2808/2808\nf 2808/2808/2808 2778/2778/2778 2653/2653/2653\nf 2651/2651/2651 2777/2777/2777 2808/2808/2808\nf 2808/2808/2808 2652/2652/2652 2651/2651/2651\nf 2759/2759/2759 2807/2807/2807 2808/2808/2808\nf 2808/2808/2808 2777/2777/2777 2759/2759/2759\nf 2763/2763/2763 2809/2809/2809 2810/2810/2810\nf 2810/2810/2810 2764/2764/2764 2763/2763/2763\nf 2687/2687/2687 2764/2764/2764 2810/2810/2810\nf 2810/2810/2810 2811/2811/2811 2687/2687/2687\nf 2687/2687/2687 2811/2811/2811 2812/2812/2812\nf 2812/2812/2812 2768/2768/2768 2687/2687/2687\nf 2771/2771/2771 2767/2767/2767 2812/2812/2812\nf 2812/2812/2812 2772/2772/2772 2771/2771/2771\nf 2767/2767/2767 2768/2768/2768 2812/2812/2812\nf 2765/2765/2765 2767/2767/2767 2771/2771/2771\nf 2765/2765/2765 2774/2774/2774 2645/2645/2645\nf 2645/2645/2645 2774/2774/2774 2813/2813/2813\nf 2813/2813/2813 2775/2775/2775 2645/2645/2645\nf 2763/2763/2763 2775/2775/2775 2813/2813/2813\nf 2813/2813/2813 2809/2809/2809 2763/2763/2763\nf 2813/2813/2813 2774/2774/2774 2773/2773/2773\nf 2773/2773/2773 2809/2809/2809 2813/2813/2813\nf 2814/2814/2814 2810/2810/2810 2809/2809/2809\nf 2814/2814/2814 2809/2809/2809 2773/2773/2773\nf 2811/2811/2811 2810/2810/2810 2814/2814/2814\nf 2814/2814/2814 2773/2773/2773 2812/2812/2812\nf 2773/2773/2773 2772/2772/2772 2812/2812/2812\nf 2811/2811/2811 2814/2814/2814 2812/2812/2812\nf 2593/2593/2593 2620/2620/2620 2815/2815/2815\nf 2815/2815/2815 2816/2816/2816 2593/2593/2593\nf 2619/2619/2619 2817/2817/2817 2815/2815/2815\nf 2815/2815/2815 2620/2620/2620 2619/2619/2619\nf 2639/2639/2639 2642/2642/2642 2815/2815/2815\nf 2815/2815/2815 2817/2817/2817 2639/2639/2639\nf 2648/2648/2648 2816/2816/2816 2815/2815/2815\nf 2815/2815/2815 2642/2642/2642 2648/2648/2648\nf 2610/2610/2610 2607/2607/2607 2818/2818/2818\nf 2818/2818/2818 2819/2819/2819 2610/2610/2610\nf 2606/2606/2606 2820/2820/2820 2818/2818/2818\nf 2818/2818/2818 2607/2607/2607 2606/2606/2606\nf 2638/2638/2638 2637/2637/2637 2818/2818/2818\nf 2818/2818/2818 2820/2820/2820 2638/2638/2638\nf 2636/2636/2636 2819/2819/2819 2818/2818/2818\nf 2818/2818/2818 2637/2637/2637 2636/2636/2636\nf 2606/2606/2606 2676/2676/2676 2821/2821/2821\nf 2821/2821/2821 2820/2820/2820 2606/2606/2606\nf 100/100/100 259/259/259 2821/2821/2821\nf 2821/2821/2821 2676/2676/2676 100/100/100\nf 258/258/258 2822/2822/2822 2821/2821/2821\nf 2821/2821/2821 259/259/259 258/258/258\nf 2638/2638/2638 2820/2820/2820 2821/2821/2821\nf 2821/2821/2821 2822/2822/2822 2638/2638/2638\nf 2823/2823/2823 2824/2824/2824 2825/2825/2825\nf 2826/2826/2826 2827/2827/2827 2825/2825/2825\nf 2825/2825/2825 2824/2824/2824 2826/2826/2826\nf 2828/2828/2828 2829/2829/2829 2825/2825/2825\nf 2825/2825/2825 2827/2827/2827 2828/2828/2828\nf 2828/2828/2828 2830/2830/2830 2831/2831/2831\nf 2831/2831/2831 2832/2832/2832 2828/2828/2828\nf 2833/2833/2833 2834/2834/2834 2831/2831/2831\nf 2831/2831/2831 2830/2830/2830 2833/2833/2833\nf 2835/2835/2835 2832/2832/2832 2831/2831/2831\nf 2831/2831/2831 2834/2834/2834 2835/2835/2835\nf 2786/2786/2786 2836/2836/2836 2837/2837/2837\nf 2837/2837/2837 2802/2802/2802 2786/2786/2786\nf 2838/2838/2838 2839/2839/2839 2837/2837/2837\nf 2837/2837/2837 2836/2836/2836 2838/2838/2838\nf 2823/2823/2823 2825/2825/2825 2837/2837/2837\nf 2837/2837/2837 2839/2839/2839 2823/2823/2823\nf 2803/2803/2803 2802/2802/2802 2837/2837/2837\nf 2837/2837/2837 2825/2825/2825 2803/2803/2803\nf 2791/2791/2791 2840/2840/2840 2841/2841/2841\nf 2842/2842/2842 2843/2843/2843 2841/2841/2841\nf 2841/2841/2841 2840/2840/2840 2842/2842/2842\nf 2841/2841/2841 2843/2843/2843 2844/2844/2844\nf 2705/2705/2705 2791/2791/2791 2841/2841/2841\nf 2743/2743/2743 2845/2845/2845 2846/2846/2846\nf 2846/2846/2846 2744/2744/2744 2743/2743/2743\nf 2748/2748/2748 2746/2746/2746 2846/2846/2846\nf 2846/2846/2846 2845/2845/2845 2748/2748/2748\nf 2603/2603/2603 2847/2847/2847 2846/2846/2846\nf 2846/2846/2846 2746/2746/2746 2603/2603/2603\nf 2745/2745/2745 2744/2744/2744 2846/2846/2846\nf 2846/2846/2846 2847/2847/2847 2745/2745/2745\nf 2603/2603/2603 2600/2600/2600 2848/2848/2848\nf 2848/2848/2848 2847/2847/2847 2603/2603/2603\nf 2599/2599/2599 2658/2658/2658 2848/2848/2848\nf 2848/2848/2848 2600/2600/2600 2599/2599/2599\nf 2662/2662/2662 2849/2849/2849 2848/2848/2848\nf 2848/2848/2848 2658/2658/2658 2662/2662/2662\nf 2849/2849/2849 2850/2850/2850 2848/2848/2848\nf 2745/2745/2745 2847/2847/2847 2848/2848/2848\nf 2848/2848/2848 2850/2850/2850 2745/2745/2745\nf 2643/2643/2643 2749/2749/2749 2851/2851/2851\nf 2851/2851/2851 2766/2766/2766 2643/2643/2643\nf 2748/2748/2748 2852/2852/2852 2851/2851/2851\nf 2851/2851/2851 2749/2749/2749 2748/2748/2748\nf 2767/2767/2767 2766/2766/2766 2851/2851/2851\nf 2851/2851/2851 2852/2852/2852 2767/2767/2767\nf 2748/2748/2748 2845/2845/2845 2853/2853/2853\nf 2853/2853/2853 2852/2852/2852 2748/2748/2748\nf 2743/2743/2743 2854/2854/2854 2853/2853/2853\nf 2853/2853/2853 2845/2845/2845 2743/2743/2743\nf 2677/2677/2677 2770/2770/2770 2853/2853/2853\nf 2853/2853/2853 2854/2854/2854 2677/2677/2677\nf 2767/2767/2767 2852/2852/2852 2853/2853/2853\nf 2853/2853/2853 2770/2770/2770 2767/2767/2767\nf 2743/2743/2743 2742/2742/2742 2855/2855/2855\nf 2855/2855/2855 2854/2854/2854 2743/2743/2743\nf 2741/2741/2741 2856/2856/2856 2855/2855/2855\nf 2855/2855/2855 2742/2742/2742 2741/2741/2741\nf 2681/2681/2681 2678/2678/2678 2855/2855/2855\nf 2855/2855/2855 2856/2856/2856 2681/2681/2681\nf 2677/2677/2677 2854/2854/2854 2855/2855/2855\nf 2855/2855/2855 2678/2678/2678 2677/2677/2677\nf 2741/2741/2741 2793/2793/2793 2857/2857/2857\nf 2857/2857/2857 2856/2856/2856 2741/2741/2741\nf 2857/2857/2857 2793/2793/2793 2792/2792/2792\nf 2858/2858/2858 2859/2859/2859 2857/2857/2857\nf 2857/2857/2857 2792/2792/2792 2858/2858/2858\nf 2860/2860/2860 2790/2790/2790 2857/2857/2857\nf 2857/2857/2857 2859/2859/2859 2860/2860/2860\nf 2790/2790/2790 2789/2789/2789 2857/2857/2857\nf 2681/2681/2681 2856/2856/2856 2857/2857/2857\nf 2857/2857/2857 2789/2789/2789 2681/2681/2681\nf 2858/2858/2858 2861/2861/2861 2862/2862/2862\nf 2862/2862/2862 2859/2859/2859 2858/2858/2858\nf 2863/2863/2863 2864/2864/2864 2862/2862/2862\nf 2862/2862/2862 2861/2861/2861 2863/2863/2863\nf 2865/2865/2865 2840/2840/2840 2862/2862/2862\nf 2862/2862/2862 2864/2864/2864 2865/2865/2865\nf 2860/2860/2860 2859/2859/2859 2862/2862/2862\nf 2862/2862/2862 2840/2840/2840 2860/2860/2860\nf 2866/2866/2866 2867/2867/2867 2868/2868/2868\nf 2868/2868/2868 2869/2869/2869 2866/2866/2866\nf 2870/2870/2870 2871/2871/2871 2868/2868/2868\nf 2868/2868/2868 2867/2867/2867 2870/2870/2870\nf 2872/2872/2872 2869/2869/2869 2868/2868/2868\nf 2868/2868/2868 2871/2871/2871 2872/2872/2872\nf 2872/2872/2872 2873/2873/2873 2874/2874/2874\nf 2874/2874/2874 2849/2849/2849 2875/2875/2875\nf 2875/2875/2875 2849/2849/2849 2662/2662/2662\nf 2872/2872/2872 2874/2874/2874 2875/2875/2875\nf 2876/2876/2876 2850/2850/2850 2849/2849/2849\nf 2874/2874/2874 2877/2877/2877 2876/2876/2876\nf 2876/2876/2876 2849/2849/2849 2874/2874/2874\nf 2737/2737/2737 2740/2740/2740 2876/2876/2876\nf 2876/2876/2876 2877/2877/2877 2737/2737/2737\nf 2745/2745/2745 2850/2850/2850 2876/2876/2876\nf 2876/2876/2876 2740/2740/2740 2745/2745/2745\nf 2878/2878/2878 2877/2877/2877 2874/2874/2874\nf 2873/2873/2873 2879/2879/2879 2878/2878/2878\nf 2878/2878/2878 2874/2874/2874 2873/2873/2873\nf 2717/2717/2717 2795/2795/2795 2878/2878/2878\nf 2878/2878/2878 2879/2879/2879 2717/2717/2717\nf 2737/2737/2737 2877/2877/2877 2878/2878/2878\nf 2878/2878/2878 2795/2795/2795 2737/2737/2737\nf 2873/2873/2873 2880/2880/2880 2881/2881/2881\nf 2881/2881/2881 2879/2879/2879 2873/2873/2873\nf 2882/2882/2882 2883/2883/2883 2881/2881/2881\nf 2881/2881/2881 2880/2880/2880 2882/2882/2882\nf 2719/2719/2719 2718/2718/2718 2881/2881/2881\nf 2881/2881/2881 2883/2883/2883 2719/2719/2719\nf 2717/2717/2717 2879/2879/2879 2881/2881/2881\nf 2881/2881/2881 2718/2718/2718 2717/2717/2717\nf 2722/2722/2722 2721/2721/2721 2884/2884/2884\nf 2884/2884/2884 2662/2662/2662 2722/2722/2722\nf 2697/2697/2697 2885/2885/2885 2884/2884/2884\nf 2884/2884/2884 2721/2721/2721 2697/2697/2697\nf 2872/2872/2872 2875/2875/2875 2884/2884/2884\nf 2884/2884/2884 2885/2885/2885 2872/2872/2872\nf 2884/2884/2884 2875/2875/2875 2662/2662/2662\nf 2697/2697/2697 2696/2696/2696 2886/2886/2886\nf 2886/2886/2886 2885/2885/2885 2697/2697/2697\nf 2695/2695/2695 2887/2887/2887 2886/2886/2886\nf 2886/2886/2886 2696/2696/2696 2695/2695/2695\nf 2694/2694/2694 2888/2888/2888 2886/2886/2886\nf 2886/2886/2886 2887/2887/2887 2694/2694/2694\nf 2889/2889/2889 2890/2890/2890 2886/2886/2886\nf 2886/2886/2886 2888/2888/2888 2889/2889/2889\nf 2872/2872/2872 2885/2885/2885 2886/2886/2886\nf 2886/2886/2886 2890/2890/2890 2872/2872/2872\nf 258/258/258 329/329/329 2891/2891/2891\nf 2891/2891/2891 2822/2822/2822 258/258/258\nf 84/84/84 2656/2656/2656 2891/2891/2891\nf 2891/2891/2891 329/329/329 84/84/84\nf 2599/2599/2599 2634/2634/2634 2891/2891/2891\nf 2891/2891/2891 2656/2656/2656 2599/2599/2599\nf 2638/2638/2638 2822/2822/2822 2891/2891/2891\nf 2891/2891/2891 2634/2634/2634 2638/2638/2638\nf 331/331/331 330/330/330 2731/2731/2731\nf 216/216/216 2780/2780/2780 2731/2731/2731\nf 2731/2731/2731 330/330/330 216/216/216\nf 2731/2731/2731 2780/2780/2780 2733/2733/2733\nf 2730/2730/2730 331/331/331 2731/2731/2731\nf 36/36/36 333/333/333 2892/2892/2892\nf 2892/2892/2892 2624/2624/2624 36/36/36\nf 102/102/102 2674/2674/2674 2892/2892/2892\nf 2892/2892/2892 333/333/333 102/102/102\nf 2614/2614/2614 2664/2664/2664 2892/2892/2892\nf 2892/2892/2892 2674/2674/2674 2614/2614/2614\nf 2621/2621/2621 2624/2624/2624 2892/2892/2892\nf 2892/2892/2892 2664/2664/2664 2621/2621/2621\nf 158/158/158 331/331/331 2730/2730/2730\nf 334/334/334 2659/2659/2659 83/83/83\nf 2660/2660/2660 2659/2659/2659 334/334/334\nf 334/334/334 116/116/116 2660/2660/2660\nf 159/159/159 158/158/158 2730/2730/2730\nf 116/116/116 2689/2689/2689 2660/2660/2660\nf 337/337/337 336/336/336 2893/2893/2893\nf 341/341/341 2894/2894/2894 2893/2893/2893\nf 2893/2893/2893 336/336/336 341/341/341\nf 2797/2797/2797 2895/2895/2895 2893/2893/2893\nf 2893/2893/2893 2894/2894/2894 2797/2797/2797\nf 2893/2893/2893 2895/2895/2895 2829/2829/2829\nf 2828/2828/2828 338/338/338 2893/2893/2893\nf 2893/2893/2893 2829/2829/2829 2828/2828/2828\nf 338/338/338 337/337/337 2893/2893/2893\nf 341/341/341 343/343/343 2896/2896/2896\nf 2896/2896/2896 2894/2894/2894 341/341/341\nf 161/161/161 2729/2729/2729 2896/2896/2896\nf 2896/2896/2896 343/343/343 161/161/161\nf 2728/2728/2728 2798/2798/2798 2896/2896/2896\nf 2896/2896/2896 2729/2729/2729 2728/2728/2728\nf 2896/2896/2896 2798/2798/2798 2797/2797/2797\nf 2797/2797/2797 2894/2894/2894 2896/2896/2896\nf 69/69/69 345/345/345 2897/2897/2897\nf 2897/2897/2897 2655/2655/2655 69/69/69\nf 9/9/9 2594/2594/2594 2897/2897/2897\nf 2897/2897/2897 345/345/345 9/9/9\nf 2593/2593/2593 2816/2816/2816 2897/2897/2897\nf 2897/2897/2897 2594/2594/2594 2593/2593/2593\nf 2648/2648/2648 2655/2655/2655 2897/2897/2897\nf 2897/2897/2897 2816/2816/2816 2648/2648/2648\nf 346/346/346 349/349/349 2898/2898/2898\nf 2898/2898/2898 2899/2899/2899 346/346/346\nf 2898/2898/2898 349/349/349 355/355/355\nf 2898/2898/2898 355/355/355 2900/2900/2900\nf 2900/2900/2900 2901/2901/2901 2898/2898/2898\nf 2902/2902/2902 2903/2903/2903 2898/2898/2898\nf 2898/2898/2898 2901/2901/2901 2902/2902/2902\nf 2904/2904/2904 2899/2899/2899 2898/2898/2898\nf 2898/2898/2898 2903/2903/2903 2904/2904/2904\nf 2905/2905/2905 2906/2906/2906 2907/2907/2907\nf 2907/2907/2907 2908/2908/2908 2905/2905/2905\nf 2835/2835/2835 2834/2834/2834 2907/2907/2907\nf 2907/2907/2907 2906/2906/2906 2835/2835/2835\nf 2833/2833/2833 2909/2909/2909 2907/2907/2907\nf 2907/2907/2907 2834/2834/2834 2833/2833/2833\nf 2910/2910/2910 2908/2908/2908 2907/2907/2907\nf 2907/2907/2907 2909/2909/2909 2910/2910/2910\nf 2911/2911/2911 2912/2912/2912 2913/2913/2913\nf 2913/2913/2913 2914/2914/2914 2911/2911/2911\nf 2826/2826/2826 2824/2824/2824 2913/2913/2913\nf 2913/2913/2913 2912/2912/2912 2826/2826/2826\nf 2823/2823/2823 2915/2915/2915 2913/2913/2913\nf 2913/2913/2913 2824/2824/2824 2823/2823/2823\nf 2916/2916/2916 2914/2914/2914 2913/2913/2913\nf 2913/2913/2913 2915/2915/2915 2916/2916/2916\nf 2823/2823/2823 2839/2839/2839 2917/2917/2917\nf 2917/2917/2917 2915/2915/2915 2823/2823/2823\nf 2838/2838/2838 2918/2918/2918 2917/2917/2917\nf 2917/2917/2917 2839/2839/2839 2838/2838/2838\nf 2919/2919/2919 2920/2920/2920 2917/2917/2917\nf 2917/2917/2917 2918/2918/2918 2919/2919/2919\nf 2916/2916/2916 2915/2915/2915 2917/2917/2917\nf 2917/2917/2917 2920/2920/2920 2916/2916/2916\nf 2921/2921/2921 2922/2922/2922 2923/2923/2923\nf 2923/2923/2923 2924/2924/2924 2921/2921/2921\nf 2703/2703/2703 2700/2700/2700 2923/2923/2923\nf 2923/2923/2923 2922/2922/2922 2703/2703/2703\nf 2699/2699/2699 2925/2925/2925 2923/2923/2923\nf 2923/2923/2923 2700/2700/2700 2699/2699/2699\nf 2926/2926/2926 2924/2924/2924 2923/2923/2923\nf 2923/2923/2923 2925/2925/2925 2926/2926/2926\nf 2927/2927/2927 2928/2928/2928 2929/2929/2929\nf 2929/2929/2929 2930/2930/2930 2927/2927/2927\nf 2844/2844/2844 2843/2843/2843 2929/2929/2929\nf 2929/2929/2929 2928/2928/2928 2844/2844/2844\nf 2842/2842/2842 2931/2931/2931 2929/2929/2929\nf 2929/2929/2929 2843/2843/2843 2842/2842/2842\nf 2932/2932/2932 2930/2930/2930 2929/2929/2929\nf 2929/2929/2929 2931/2931/2931 2932/2932/2932\nf 2865/2865/2865 2864/2864/2864 2933/2933/2933\nf 2933/2933/2933 2931/2931/2931 2865/2865/2865\nf 2863/2863/2863 2934/2934/2934 2933/2933/2933\nf 2933/2933/2933 2864/2864/2864 2863/2863/2863\nf 2935/2935/2935 2936/2936/2936 2933/2933/2933\nf 2933/2933/2933 2934/2934/2934 2935/2935/2935\nf 2937/2937/2937 2931/2931/2931 2933/2933/2933\nf 2933/2933/2933 2936/2936/2936 2937/2937/2937\nf 2938/2938/2938 2939/2939/2939 2940/2940/2940\nf 2940/2940/2940 2941/2941/2941 2938/2938/2938\nf 2710/2710/2710 2707/2707/2707 2940/2940/2940\nf 2940/2940/2940 2939/2939/2939 2710/2710/2710\nf 2706/2706/2706 2942/2942/2942 2940/2940/2940\nf 2940/2940/2940 2707/2707/2707 2706/2706/2706\nf 2943/2943/2943 2941/2941/2941 2940/2940/2940\nf 2940/2940/2940 2942/2942/2942 2943/2943/2943\nf 2944/2944/2944 2945/2945/2945 2946/2946/2946\nf 2946/2946/2946 2947/2947/2947 2944/2944/2944\nf 2713/2713/2713 2716/2716/2716 2946/2946/2946\nf 2946/2946/2946 2945/2945/2945 2713/2713/2713\nf 2719/2719/2719 2948/2948/2948 2946/2946/2946\nf 2946/2946/2946 2716/2716/2716 2719/2719/2719\nf 2949/2949/2949 2947/2947/2947 2946/2946/2946\nf 2946/2946/2946 2948/2948/2948 2949/2949/2949\nf 2719/2719/2719 2883/2883/2883 2950/2950/2950\nf 2950/2950/2950 2948/2948/2948 2719/2719/2719\nf 2882/2882/2882 2951/2951/2951 2950/2950/2950\nf 2950/2950/2950 2883/2883/2883 2882/2882/2882\nf 2952/2952/2952 2953/2953/2953 2950/2950/2950\nf 2950/2950/2950 2951/2951/2951 2952/2952/2952\nf 2949/2949/2949 2948/2948/2948 2950/2950/2950\nf 2950/2950/2950 2953/2953/2953 2949/2949/2949\nf 2954/2954/2954 2955/2955/2955 2956/2956/2956\nf 2956/2956/2956 2957/2957/2957 2954/2954/2954\nf 2870/2870/2870 2867/2867/2867 2956/2956/2956\nf 2956/2956/2956 2955/2955/2955 2870/2870/2870\nf 2866/2866/2866 2958/2958/2958 2956/2956/2956\nf 2956/2956/2956 2867/2867/2867 2866/2866/2866\nf 2959/2959/2959 2957/2957/2957 2956/2956/2956\nf 2956/2956/2956 2958/2958/2958 2959/2959/2959\nf 2960/2960/2960 2961/2961/2961 2962/2962/2962\nf 2962/2962/2962 2963/2963/2963 2960/2960/2960\nf 2889/2889/2889 2888/2888/2888 2962/2962/2962\nf 2962/2962/2962 2961/2961/2961 2889/2889/2889\nf 2694/2694/2694 2964/2964/2964 2962/2962/2962\nf 2962/2962/2962 2888/2888/2888 2694/2694/2694\nf 2965/2965/2965 2963/2963/2963 2962/2962/2962\nf 2962/2962/2962 2964/2964/2964 2965/2965/2965\nf 2694/2694/2694 2693/2693/2693 2966/2966/2966\nf 2966/2966/2966 2967/2967/2967 2694/2694/2694\nf 2692/2692/2692 2968/2968/2968 2966/2966/2966\nf 2966/2966/2966 2693/2693/2693 2692/2692/2692\nf 2969/2969/2969 2970/2970/2970 2966/2966/2966\nf 2966/2966/2966 2968/2968/2968 2969/2969/2969\nf 2971/2971/2971 2967/2967/2967 2966/2966/2966\nf 2966/2966/2966 2970/2970/2970 2971/2971/2971\nf 2972/2972/2972 426/426/426 425/425/425\nf 425/425/425 424/424/424 2972/2972/2972\nf 2959/2959/2959 2973/2973/2973 2974/2974/2974\nf 2974/2974/2974 2957/2957/2957 2959/2959/2959\nf 2975/2975/2975 2976/2976/2976 2974/2974/2974\nf 2974/2974/2974 2973/2973/2973 2975/2975/2975\nf 2977/2977/2977 2978/2978/2978 2974/2974/2974\nf 2974/2974/2974 2976/2976/2976 2977/2977/2977\nf 2954/2954/2954 2957/2957/2957 2974/2974/2974\nf 2974/2974/2974 2978/2978/2978 2954/2954/2954\nf 2952/2952/2952 2979/2979/2979 2980/2980/2980\nf 2980/2980/2980 2953/2953/2953 2952/2952/2952\nf 2981/2981/2981 2982/2982/2982 2980/2980/2980\nf 2980/2980/2980 2979/2979/2979 2981/2981/2981\nf 2983/2983/2983 2984/2984/2984 2980/2980/2980\nf 2980/2980/2980 2982/2982/2982 2983/2983/2983\nf 2949/2949/2949 2953/2953/2953 2980/2980/2980\nf 2980/2980/2980 2984/2984/2984 2949/2949/2949\nf 2949/2949/2949 2985/2985/2985 2986/2986/2986\nf 2986/2986/2986 2947/2947/2947 2949/2949/2949\nf 2987/2987/2987 2988/2988/2988 2986/2986/2986\nf 2986/2986/2986 2985/2985/2985 2987/2987/2987\nf 2989/2989/2989 2990/2990/2990 2986/2986/2986\nf 2986/2986/2986 2988/2988/2988 2989/2989/2989\nf 2944/2944/2944 2947/2947/2947 2986/2986/2986\nf 2986/2986/2986 2990/2990/2990 2944/2944/2944\nf 2943/2943/2943 2991/2991/2991 2992/2992/2992\nf 2992/2992/2992 2941/2941/2941 2943/2943/2943\nf 2993/2993/2993 2994/2994/2994 2992/2992/2992\nf 2992/2992/2992 2991/2991/2991 2993/2993/2993\nf 2995/2995/2995 2996/2996/2996 2992/2992/2992\nf 2992/2992/2992 2994/2994/2994 2995/2995/2995\nf 2938/2938/2938 2941/2941/2941 2992/2992/2992\nf 2992/2992/2992 2996/2996/2996 2938/2938/2938\nf 2935/2935/2935 2997/2997/2997 2998/2998/2998\nf 2998/2998/2998 2936/2936/2936 2935/2935/2935\nf 2999/2999/2999 3000/3000/3000 2998/2998/2998\nf 2998/2998/2998 2997/2997/2997 2999/2999/2999\nf 3001/3001/3001 3002/3002/3002 2998/2998/2998\nf 2998/2998/2998 3000/3000/3000 3001/3001/3001\nf 2937/2937/2937 2936/2936/2936 2998/2998/2998\nf 2998/2998/2998 3002/3002/3002 2937/2937/2937\nf 2932/2932/2932 3003/3003/3003 3004/3004/3004\nf 3004/3004/3004 2930/2930/2930 2932/2932/2932\nf 3005/3005/3005 3006/3006/3006 3004/3004/3004\nf 3004/3004/3004 3003/3003/3003 3005/3005/3005\nf 3007/3007/3007 3008/3008/3008 3004/3004/3004\nf 3004/3004/3004 3006/3006/3006 3007/3007/3007\nf 2927/2927/2927 2930/2930/2930 3004/3004/3004\nf 3004/3004/3004 3008/3008/3008 2927/2927/2927\nf 2926/2926/2926 3009/3009/3009 3010/3010/3010\nf 3010/3010/3010 2924/2924/2924 2926/2926/2926\nf 3011/3011/3011 3012/3012/3012 3010/3010/3010\nf 3010/3010/3010 3009/3009/3009 3011/3011/3011\nf 3013/3013/3013 3014/3014/3014 3010/3010/3010\nf 3010/3010/3010 3012/3012/3012 3013/3013/3013\nf 2921/2921/2921 2924/2924/2924 3010/3010/3010\nf 3010/3010/3010 3014/3014/3014 2921/2921/2921\nf 2919/2919/2919 3015/3015/3015 3016/3016/3016\nf 3016/3016/3016 2920/2920/2920 2919/2919/2919\nf 3017/3017/3017 3018/3018/3018 3016/3016/3016\nf 3016/3016/3016 3015/3015/3015 3017/3017/3017\nf 3019/3019/3019 3020/3020/3020 3016/3016/3016\nf 3016/3016/3016 3018/3018/3018 3019/3019/3019\nf 2916/2916/2916 2920/2920/2920 3016/3016/3016\nf 3016/3016/3016 3020/3020/3020 2916/2916/2916\nf 2916/2916/2916 3020/3020/3020 3021/3021/3021\nf 3021/3021/3021 2914/2914/2914 2916/2916/2916\nf 3019/3019/3019 3022/3022/3022 3021/3021/3021\nf 3021/3021/3021 3020/3020/3020 3019/3019/3019\nf 3023/3023/3023 3024/3024/3024 3021/3021/3021\nf 3021/3021/3021 3022/3022/3022 3023/3023/3023\nf 2911/2911/2911 2914/2914/2914 3021/3021/3021\nf 3021/3021/3021 3024/3024/3024 2911/2911/2911\nf 2910/2910/2910 3025/3025/3025 3026/3026/3026\nf 3026/3026/3026 2908/2908/2908 2910/2910/2910\nf 3027/3027/3027 3028/3028/3028 3026/3026/3026\nf 3026/3026/3026 3025/3025/3025 3027/3027/3027\nf 3029/3029/3029 3030/3030/3030 3026/3026/3026\nf 3026/3026/3026 3028/3028/3028 3029/3029/3029\nf 2905/2905/2905 2908/2908/2908 3026/3026/3026\nf 3026/3026/3026 3030/3030/3030 2905/2905/2905\nf 3031/3031/3031 3032/3032/3032 486/486/486\nf 486/486/486 488/488/488 3031/3031/3031\nf 2900/2900/2900 355/355/355 486/486/486\nf 486/486/486 3032/3032/3032 2900/2900/2900\nf 2969/2969/2969 3033/3033/3033 3034/3034/3034\nf 3034/3034/3034 2970/2970/2970 2969/2969/2969\nf 3035/3035/3035 3036/3036/3036 3034/3034/3034\nf 3034/3034/3034 3033/3033/3033 3035/3035/3035\nf 3037/3037/3037 3038/3038/3038 3034/3034/3034\nf 3034/3034/3034 3036/3036/3036 3037/3037/3037\nf 2971/2971/2971 2970/2970/2970 3034/3034/3034\nf 3034/3034/3034 3038/3038/3038 2971/2971/2971\nf 2965/2965/2965 3039/3039/3039 3040/3040/3040\nf 3040/3040/3040 2963/2963/2963 2965/2965/2965\nf 3041/3041/3041 3042/3042/3042 3040/3040/3040\nf 3040/3040/3040 3039/3039/3039 3041/3041/3041\nf 3043/3043/3043 3044/3044/3044 3040/3040/3040\nf 3040/3040/3040 3042/3042/3042 3043/3043/3043\nf 2960/2960/2960 2963/2963/2963 3040/3040/3040\nf 3040/3040/3040 3044/3044/3044 2960/2960/2960\nf 2828/2828/2828 2827/2827/2827 3045/3045/3045\nf 3045/3045/3045 2830/2830/2830 2828/2828/2828\nf 2826/2826/2826 3046/3046/3046 3045/3045/3045\nf 3045/3045/3045 2827/2827/2827 2826/2826/2826\nf 2833/2833/2833 2830/2830/2830 3045/3045/3045\nf 3045/3045/3045 3046/3046/3046 2833/2833/2833\nf 2826/2826/2826 2912/2912/2912 3047/3047/3047\nf 3047/3047/3047 3046/3046/3046 2826/2826/2826\nf 2911/2911/2911 3048/3048/3048 3047/3047/3047\nf 3047/3047/3047 2912/2912/2912 2911/2911/2911\nf 2910/2910/2910 2909/2909/2909 3047/3047/3047\nf 3047/3047/3047 3048/3048/3048 2910/2910/2910\nf 2833/2833/2833 3046/3046/3046 3047/3047/3047\nf 3047/3047/3047 2909/2909/2909 2833/2833/2833\nf 2911/2911/2911 3024/3024/3024 3049/3049/3049\nf 3049/3049/3049 3048/3048/3048 2911/2911/2911\nf 3023/3023/3023 3050/3050/3050 3049/3049/3049\nf 3049/3049/3049 3024/3024/3024 3023/3023/3023\nf 3027/3027/3027 3025/3025/3025 3049/3049/3049\nf 3049/3049/3049 3050/3050/3050 3027/3027/3027\nf 2910/2910/2910 3048/3048/3048 3049/3049/3049\nf 3049/3049/3049 3025/3025/3025 2910/2910/2910\nf 2828/2828/2828 2832/2832/2832 3051/3051/3051\nf 3051/3051/3051 338/338/338 2828/2828/2828\nf 2835/2835/2835 3052/3052/3052 3051/3051/3051\nf 3051/3051/3051 2832/2832/2832 2835/2835/2835\nf 2972/2972/2972 424/424/424 3051/3051/3051\nf 3051/3051/3051 3052/3052/3052 2972/2972/2972\nf 424/424/424 508/508/508 3051/3051/3051\nf 3051/3051/3051 508/508/508 338/338/338\nf 2835/2835/2835 2906/2906/2906 3053/3053/3053\nf 3053/3053/3053 3052/3052/3052 2835/2835/2835\nf 2905/2905/2905 3054/3054/3054 3053/3053/3053\nf 3053/3053/3053 2906/2906/2906 2905/2905/2905\nf 512/512/512 511/511/511 3053/3053/3053\nf 3053/3053/3053 3054/3054/3054 512/512/512\nf 3053/3053/3053 511/511/511 426/426/426\nf 2972/2972/2972 3052/3052/3052 3053/3053/3053\nf 3053/3053/3053 426/426/426 2972/2972/2972\nf 2905/2905/2905 3030/3030/3030 3055/3055/3055\nf 3055/3055/3055 3054/3054/3054 2905/2905/2905\nf 3029/3029/3029 3056/3056/3056 3055/3055/3055\nf 3055/3055/3055 3030/3030/3030 3029/3029/3029\nf 3057/3057/3057 3031/3031/3031 3055/3055/3055\nf 3055/3055/3055 3056/3056/3056 3057/3057/3057\nf 3031/3031/3031 488/488/488 3055/3055/3055\nf 488/488/488 515/515/515 3055/3055/3055\nf 512/512/512 3054/3054/3054 3055/3055/3055\nf 3055/3055/3055 515/515/515 512/512/512\nf 2705/2705/2705 2704/2704/2704 3058/3058/3058\nf 3058/3058/3058 2785/2785/2785 2705/2705/2705\nf 2703/2703/2703 3059/3059/3059 3058/3058/3058\nf 3058/3058/3058 2704/2704/2704 2703/2703/2703\nf 2838/2838/2838 2836/2836/2836 3058/3058/3058\nf 3058/3058/3058 3059/3059/3059 2838/2838/2838\nf 2786/2786/2786 2785/2785/2785 3058/3058/3058\nf 3058/3058/3058 2836/2836/2836 2786/2786/2786\nf 2703/2703/2703 2922/2922/2922 3060/3060/3060\nf 3060/3060/3060 3059/3059/3059 2703/2703/2703\nf 2921/2921/2921 3061/3061/3061 3060/3060/3060\nf 3060/3060/3060 2922/2922/2922 2921/2921/2921\nf 2919/2919/2919 2918/2918/2918 3060/3060/3060\nf 3060/3060/3060 3061/3061/3061 2919/2919/2919\nf 2838/2838/2838 3059/3059/3059 3060/3060/3060\nf 3060/3060/3060 2918/2918/2918 2838/2838/2838\nf 2921/2921/2921 3014/3014/3014 3062/3062/3062\nf 3062/3062/3062 3061/3061/3061 2921/2921/2921\nf 3013/3013/3013 3063/3063/3063 3062/3062/3062\nf 3062/3062/3062 3014/3014/3014 3013/3013/3013\nf 3017/3017/3017 3015/3015/3015 3062/3062/3062\nf 3062/3062/3062 3063/3063/3063 3017/3017/3017\nf 2919/2919/2919 3061/3061/3061 3062/3062/3062\nf 3062/3062/3062 3015/3015/3015 2919/2919/2919\nf 2705/2705/2705 2841/2841/2841 3064/3064/3064\nf 3064/3064/3064 2702/2702/2702 2705/2705/2705\nf 2844/2844/2844 3065/3065/3065 3064/3064/3064\nf 3064/3064/3064 2841/2841/2841 2844/2844/2844\nf 2699/2699/2699 2702/2702/2702 3064/3064/3064\nf 3064/3064/3064 3065/3065/3065 2699/2699/2699\nf 2844/2844/2844 2928/2928/2928 3066/3066/3066\nf 3066/3066/3066 3065/3065/3065 2844/2844/2844\nf 2927/2927/2927 3067/3067/3067 3066/3066/3066\nf 3066/3066/3066 2928/2928/2928 2927/2927/2927\nf 2926/2926/2926 2925/2925/2925 3066/3066/3066\nf 3066/3066/3066 3067/3067/3067 2926/2926/2926\nf 2699/2699/2699 3065/3065/3065 3066/3066/3066\nf 3066/3066/3066 2925/2925/2925 2699/2699/2699\nf 2927/2927/2927 3008/3008/3008 3068/3068/3068\nf 3068/3068/3068 3067/3067/3067 2927/2927/2927\nf 3007/3007/3007 3069/3069/3069 3068/3068/3068\nf 3068/3068/3068 3008/3008/3008 3007/3007/3007\nf 3011/3011/3011 3009/3009/3009 3068/3068/3068\nf 3068/3068/3068 3069/3069/3069 3011/3011/3011\nf 2926/2926/2926 3067/3067/3067 3068/3068/3068\nf 3068/3068/3068 3009/3009/3009 2926/2926/2926\nf 2712/2712/2712 2714/2714/2714 2709/2709/2709\nf 2713/2713/2713 2706/2706/2706 2709/2709/2709\nf 2709/2709/2709 2714/2714/2714 2713/2713/2713\nf 2713/2713/2713 2945/2945/2945 3070/3070/3070\nf 3070/3070/3070 2706/2706/2706 2713/2713/2713\nf 2944/2944/2944 3071/3071/3071 3070/3070/3070\nf 3070/3070/3070 2945/2945/2945 2944/2944/2944\nf 2943/2943/2943 2942/2942/2942 3070/3070/3070\nf 3070/3070/3070 3071/3071/3071 2943/2943/2943\nf 3070/3070/3070 2942/2942/2942 2706/2706/2706\nf 2944/2944/2944 2990/2990/2990 3072/3072/3072\nf 3072/3072/3072 3071/3071/3071 2944/2944/2944\nf 2989/2989/2989 3073/3073/3073 3072/3072/3072\nf 3072/3072/3072 2990/2990/2990 2989/2989/2989\nf 2993/2993/2993 2991/2991/2991 3072/3072/3072\nf 3072/3072/3072 3073/3073/3073 2993/2993/2993\nf 2943/2943/2943 3071/3071/3071 3072/3072/3072\nf 3072/3072/3072 2991/2991/2991 2943/2943/2943\nf 2711/2711/2711 2796/2796/2796 2712/2712/2712\nf 2710/2710/2710 3074/3074/3074 2711/2711/2711\nf 2863/2863/2863 2861/2861/2861 2711/2711/2711\nf 2711/2711/2711 3074/3074/3074 2863/2863/2863\nf 2711/2711/2711 2861/2861/2861 2796/2796/2796\nf 2710/2710/2710 2939/2939/2939 3075/3075/3075\nf 3075/3075/3075 3074/3074/3074 2710/2710/2710\nf 2938/2938/2938 3076/3076/3076 3075/3075/3075\nf 3075/3075/3075 2939/2939/2939 2938/2938/2938\nf 2935/2935/2935 2934/2934/2934 3075/3075/3075\nf 3075/3075/3075 3076/3076/3076 2935/2935/2935\nf 2863/2863/2863 3074/3074/3074 3075/3075/3075\nf 3075/3075/3075 2934/2934/2934 2863/2863/2863\nf 2938/2938/2938 2996/2996/2996 3077/3077/3077\nf 3077/3077/3077 3076/3076/3076 2938/2938/2938\nf 2995/2995/2995 3078/3078/3078 3077/3077/3077\nf 3077/3077/3077 2996/2996/2996 2995/2995/2995\nf 3079/3079/3079 2997/2997/2997 3077/3077/3077\nf 3077/3077/3077 3078/3078/3078 3079/3079/3079\nf 2935/2935/2935 3076/3076/3076 3077/3077/3077\nf 3077/3077/3077 2997/2997/2997 2935/2935/2935\nf 2872/2872/2872 2871/2871/2871 3080/3080/3080\nf 3080/3080/3080 2873/2873/2873 2872/2872/2872\nf 2870/2870/2870 3081/3081/3081 3080/3080/3080\nf 3080/3080/3080 2871/2871/2871 2870/2870/2870\nf 2882/2882/2882 2880/2880/2880 3080/3080/3080\nf 3080/3080/3080 3081/3081/3081 2882/2882/2882\nf 3080/3080/3080 2880/2880/2880 2873/2873/2873\nf 2870/2870/2870 2955/2955/2955 3082/3082/3082\nf 3082/3082/3082 3081/3081/3081 2870/2870/2870\nf 2954/2954/2954 3083/3083/3083 3082/3082/3082\nf 3082/3082/3082 2955/2955/2955 2954/2954/2954\nf 3084/3084/3084 2951/2951/2951 3082/3082/3082\nf 3082/3082/3082 3083/3083/3083 3084/3084/3084\nf 2882/2882/2882 3081/3081/3081 3082/3082/3082\nf 3082/3082/3082 2951/2951/2951 2882/2882/2882\nf 2954/2954/2954 2978/2978/2978 3085/3085/3085\nf 3085/3085/3085 3083/3083/3083 2954/2954/2954\nf 2977/2977/2977 3086/3086/3086 3085/3085/3085\nf 3085/3085/3085 2978/2978/2978 2977/2977/2977\nf 3087/3087/3087 3088/3088/3088 3085/3085/3085\nf 3085/3085/3085 3086/3086/3086 3087/3087/3087\nf 3084/3084/3084 3083/3083/3083 3085/3085/3085\nf 3085/3085/3085 3088/3088/3088 3084/3084/3084\nf 2872/2872/2872 2890/2890/2890 2869/2869/2869\nf 2889/2889/2889 3089/3089/3089 2869/2869/2869\nf 2869/2869/2869 2890/2890/2890 2889/2889/2889\nf 2869/2869/2869 3089/3089/3089 2866/2866/2866\nf 2889/2889/2889 2961/2961/2961 3090/3090/3090\nf 3090/3090/3090 3089/3089/3089 2889/2889/2889\nf 2960/2960/2960 3091/3091/3091 3090/3090/3090\nf 3090/3090/3090 2961/2961/2961 2960/2960/2960\nf 2959/2959/2959 2958/2958/2958 3090/3090/3090\nf 3090/3090/3090 3091/3091/3091 2959/2959/2959\nf 2866/2866/2866 3089/3089/3089 3090/3090/3090\nf 3090/3090/3090 2958/2958/2958 2866/2866/2866\nf 2960/2960/2960 3044/3044/3044 3092/3092/3092\nf 3092/3092/3092 3091/3091/3091 2960/2960/2960\nf 3043/3043/3043 3093/3093/3093 3092/3092/3092\nf 3092/3092/3092 3044/3044/3044 3043/3043/3043\nf 2975/2975/2975 2973/2973/2973 3092/3092/3092\nf 3092/3092/3092 3093/3093/3093 2975/2975/2975\nf 2959/2959/2959 3091/3091/3091 3092/3092/3092\nf 3092/3092/3092 2973/2973/2973 2959/2959/2959\nf 3094/3094/3094 3095/3095/3095 3096/3096/3096\nf 3096/3096/3096 3097/3097/3097 3094/3094/3094\nf 3098/3098/3098 3099/3099/3099 3096/3096/3096\nf 3096/3096/3096 3095/3095/3095 3098/3098/3098\nf 3100/3100/3100 3101/3101/3101 3096/3096/3096\nf 3096/3096/3096 3099/3099/3099 3100/3100/3100\nf 3102/3102/3102 3097/3097/3097 3096/3096/3096\nf 3096/3096/3096 3101/3101/3101 3102/3102/3102\nf 3103/3103/3103 3104/3104/3104 3105/3105/3105\nf 3105/3105/3105 3106/3106/3106 3103/3103/3103\nf 3107/3107/3107 3108/3108/3108 3105/3105/3105\nf 3105/3105/3105 3104/3104/3104 3107/3107/3107\nf 3109/3109/3109 3110/3110/3110 3105/3105/3105\nf 3105/3105/3105 3108/3108/3108 3109/3109/3109\nf 3111/3111/3111 3106/3106/3106 3105/3105/3105\nf 3105/3105/3105 3110/3110/3110 3111/3111/3111\nf 3057/3057/3057 3056/3056/3056 3112/3112/3112\nf 3112/3112/3112 3113/3113/3113 3057/3057/3057\nf 3029/3029/3029 3114/3114/3114 3112/3112/3112\nf 3112/3112/3112 3056/3056/3056 3029/3029/3029\nf 3115/3115/3115 3116/3116/3116 3112/3112/3112\nf 3112/3112/3112 3114/3114/3114 3115/3115/3115\nf 3117/3117/3117 3113/3113/3113 3112/3112/3112\nf 3112/3112/3112 3116/3116/3116 3117/3117/3117\nf 3029/3029/3029 3028/3028/3028 3118/3118/3118\nf 3118/3118/3118 3114/3114/3114 3029/3029/3029\nf 3027/3027/3027 3119/3119/3119 3118/3118/3118\nf 3118/3118/3118 3028/3028/3028 3027/3027/3027\nf 3120/3120/3120 3121/3121/3121 3118/3118/3118\nf 3118/3118/3118 3119/3119/3119 3120/3120/3120\nf 3115/3115/3115 3114/3114/3114 3118/3118/3118\nf 3118/3118/3118 3121/3121/3121 3115/3115/3115\nf 3027/3027/3027 3050/3050/3050 3122/3122/3122\nf 3122/3122/3122 3119/3119/3119 3027/3027/3027\nf 3023/3023/3023 3123/3123/3123 3122/3122/3122\nf 3122/3122/3122 3050/3050/3050 3023/3023/3023\nf 3124/3124/3124 3125/3125/3125 3122/3122/3122\nf 3122/3122/3122 3123/3123/3123 3124/3124/3124\nf 3120/3120/3120 3119/3119/3119 3122/3122/3122\nf 3122/3122/3122 3125/3125/3125 3120/3120/3120\nf 3023/3023/3023 3022/3022/3022 3126/3126/3126\nf 3126/3126/3126 3123/3123/3123 3023/3023/3023\nf 3019/3019/3019 3127/3127/3127 3126/3126/3126\nf 3126/3126/3126 3022/3022/3022 3019/3019/3019\nf 3128/3128/3128 3129/3129/3129 3126/3126/3126\nf 3126/3126/3126 3127/3127/3127 3128/3128/3128\nf 3124/3124/3124 3123/3123/3123 3126/3126/3126\nf 3126/3126/3126 3129/3129/3129 3124/3124/3124\nf 3019/3019/3019 3018/3018/3018 3130/3130/3130\nf 3130/3130/3130 3131/3131/3131 3019/3019/3019\nf 3017/3017/3017 3132/3132/3132 3130/3130/3130\nf 3130/3130/3130 3018/3018/3018 3017/3017/3017\nf 3133/3133/3133 3134/3134/3134 3130/3130/3130\nf 3130/3130/3130 3132/3132/3132 3133/3133/3133\nf 3135/3135/3135 3131/3131/3131 3130/3130/3130\nf 3130/3130/3130 3134/3134/3134 3135/3135/3135\nf 3017/3017/3017 3063/3063/3063 3136/3136/3136\nf 3136/3136/3136 3137/3137/3137 3017/3017/3017\nf 3013/3013/3013 3138/3138/3138 3136/3136/3136\nf 3136/3136/3136 3063/3063/3063 3013/3013/3013\nf 3139/3139/3139 3140/3140/3140 3136/3136/3136\nf 3136/3136/3136 3138/3138/3138 3139/3139/3139\nf 3133/3133/3133 3137/3137/3137 3136/3136/3136\nf 3136/3136/3136 3140/3140/3140 3133/3133/3133\nf 3013/3013/3013 3012/3012/3012 3141/3141/3141\nf 3141/3141/3141 3138/3138/3138 3013/3013/3013\nf 3011/3011/3011 3142/3142/3142 3141/3141/3141\nf 3141/3141/3141 3012/3012/3012 3011/3011/3011\nf 3143/3143/3143 3144/3144/3144 3141/3141/3141\nf 3141/3141/3141 3142/3142/3142 3143/3143/3143\nf 3139/3139/3139 3138/3138/3138 3141/3141/3141\nf 3141/3141/3141 3144/3144/3144 3139/3139/3139\nf 3011/3011/3011 3069/3069/3069 3145/3145/3145\nf 3145/3145/3145 3142/3142/3142 3011/3011/3011\nf 3007/3007/3007 3146/3146/3146 3145/3145/3145\nf 3145/3145/3145 3069/3069/3069 3007/3007/3007\nf 3147/3147/3147 3148/3148/3148 3145/3145/3145\nf 3145/3145/3145 3146/3146/3146 3147/3147/3147\nf 3143/3143/3143 3142/3142/3142 3145/3145/3145\nf 3145/3145/3145 3148/3148/3148 3143/3143/3143\nf 3007/3007/3007 3006/3006/3006 3149/3149/3149\nf 3149/3149/3149 3146/3146/3146 3007/3007/3007\nf 3005/3005/3005 3150/3150/3150 3149/3149/3149\nf 3149/3149/3149 3006/3006/3006 3005/3005/3005\nf 3151/3151/3151 3152/3152/3152 3149/3149/3149\nf 3149/3149/3149 3150/3150/3150 3151/3151/3151\nf 3147/3147/3147 3146/3146/3146 3149/3149/3149\nf 3149/3149/3149 3152/3152/3152 3147/3147/3147\nf 3001/3001/3001 3000/3000/3000 3153/3153/3153\nf 3153/3153/3153 3154/3154/3154 3001/3001/3001\nf 2999/2999/2999 3155/3155/3155 3153/3153/3153\nf 3153/3153/3153 3000/3000/3000 2999/2999/2999\nf 3156/3156/3156 3157/3157/3157 3153/3153/3153\nf 3153/3153/3153 3155/3155/3155 3156/3156/3156\nf 3151/3151/3151 3154/3154/3154 3153/3153/3153\nf 3153/3153/3153 3157/3157/3157 3151/3151/3151\nf 3079/3079/3079 3078/3078/3078 3158/3158/3158\nf 3158/3158/3158 3159/3159/3159 3079/3079/3079\nf 2995/2995/2995 3160/3160/3160 3158/3158/3158\nf 3158/3158/3158 3078/3078/3078 2995/2995/2995\nf 3161/3161/3161 3162/3162/3162 3158/3158/3158\nf 3158/3158/3158 3160/3160/3160 3161/3161/3161\nf 3156/3156/3156 3159/3159/3159 3158/3158/3158\nf 3158/3158/3158 3162/3162/3162 3156/3156/3156\nf 2995/2995/2995 2994/2994/2994 3163/3163/3163\nf 3163/3163/3163 3160/3160/3160 2995/2995/2995\nf 2993/2993/2993 3164/3164/3164 3163/3163/3163\nf 3163/3163/3163 2994/2994/2994 2993/2993/2993\nf 3165/3165/3165 3166/3166/3166 3163/3163/3163\nf 3163/3163/3163 3164/3164/3164 3165/3165/3165\nf 3161/3161/3161 3160/3160/3160 3163/3163/3163\nf 3163/3163/3163 3166/3166/3166 3161/3161/3161\nf 2993/2993/2993 3073/3073/3073 3167/3167/3167\nf 3167/3167/3167 3164/3164/3164 2993/2993/2993\nf 2989/2989/2989 3168/3168/3168 3167/3167/3167\nf 3167/3167/3167 3073/3073/3073 2989/2989/2989\nf 3169/3169/3169 3170/3170/3170 3167/3167/3167\nf 3167/3167/3167 3168/3168/3168 3169/3169/3169\nf 3165/3165/3165 3164/3164/3164 3167/3167/3167\nf 3167/3167/3167 3170/3170/3170 3165/3165/3165\nf 2989/2989/2989 2988/2988/2988 3171/3171/3171\nf 3171/3171/3171 3168/3168/3168 2989/2989/2989\nf 2987/2987/2987 3172/3172/3172 3171/3171/3171\nf 3171/3171/3171 2988/2988/2988 2987/2987/2987\nf 3173/3173/3173 3174/3174/3174 3171/3171/3171\nf 3171/3171/3171 3172/3172/3172 3173/3173/3173\nf 3169/3169/3169 3168/3168/3168 3171/3171/3171\nf 3171/3171/3171 3174/3174/3174 3169/3169/3169\nf 2983/2983/2983 2982/2982/2982 3175/3175/3175\nf 3175/3175/3175 3176/3176/3176 2983/2983/2983\nf 2981/2981/2981 3177/3177/3177 3175/3175/3175\nf 3175/3175/3175 2982/2982/2982 2981/2981/2981\nf 3178/3178/3178 3179/3179/3179 3175/3175/3175\nf 3175/3175/3175 3177/3177/3177 3178/3178/3178\nf 3173/3173/3173 3176/3176/3176 3175/3175/3175\nf 3175/3175/3175 3179/3179/3179 3173/3173/3173\nf 3087/3087/3087 3086/3086/3086 3180/3180/3180\nf 3180/3180/3180 3181/3181/3181 3087/3087/3087\nf 2977/2977/2977 3182/3182/3182 3180/3180/3180\nf 3180/3180/3180 3086/3086/3086 2977/2977/2977\nf 3183/3183/3183 3184/3184/3184 3180/3180/3180\nf 3180/3180/3180 3182/3182/3182 3183/3183/3183\nf 3178/3178/3178 3181/3181/3181 3180/3180/3180\nf 3180/3180/3180 3184/3184/3184 3178/3178/3178\nf 2977/2977/2977 2976/2976/2976 3185/3185/3185\nf 3185/3185/3185 3182/3182/3182 2977/2977/2977\nf 2975/2975/2975 3186/3186/3186 3185/3185/3185\nf 3185/3185/3185 2976/2976/2976 2975/2975/2975\nf 3187/3187/3187 3188/3188/3188 3185/3185/3185\nf 3185/3185/3185 3186/3186/3186 3187/3187/3187\nf 3183/3183/3183 3182/3182/3182 3185/3185/3185\nf 3185/3185/3185 3188/3188/3188 3183/3183/3183\nf 2975/2975/2975 3093/3093/3093 3189/3189/3189\nf 3189/3189/3189 3186/3186/3186 2975/2975/2975\nf 3043/3043/3043 3190/3190/3190 3189/3189/3189\nf 3189/3189/3189 3093/3093/3093 3043/3043/3043\nf 3191/3191/3191 3192/3192/3192 3189/3189/3189\nf 3189/3189/3189 3190/3190/3190 3191/3191/3191\nf 3187/3187/3187 3186/3186/3186 3189/3189/3189\nf 3189/3189/3189 3192/3192/3192 3187/3187/3187\nf 3043/3043/3043 3042/3042/3042 3193/3193/3193\nf 3193/3193/3193 3190/3190/3190 3043/3043/3043\nf 3041/3041/3041 3194/3194/3194 3193/3193/3193\nf 3193/3193/3193 3042/3042/3042 3041/3041/3041\nf 3111/3111/3111 3195/3195/3195 3193/3193/3193\nf 3193/3193/3193 3194/3194/3194 3111/3111/3111\nf 3191/3191/3191 3190/3190/3190 3193/3193/3193\nf 3193/3193/3193 3195/3195/3195 3191/3191/3191\nf 3037/3037/3037 3036/3036/3036 3196/3196/3196\nf 3196/3196/3196 3197/3197/3197 3037/3037/3037\nf 3035/3035/3035 3198/3198/3198 3196/3196/3196\nf 3196/3196/3196 3036/3036/3036 3035/3035/3035\nf 3199/3199/3199 3200/3200/3200 3196/3196/3196\nf 3196/3196/3196 3198/3198/3198 3199/3199/3199\nf 3111/3111/3111 3197/3197/3197 3196/3196/3196\nf 3196/3196/3196 3200/3200/3200 3111/3111/3111\nf 3199/3199/3199 3198/3198/3198 3201/3201/3201\nf 3201/3201/3201 3202/3202/3202 3199/3199/3199\nf 3035/3035/3035 3203/3203/3203 3201/3201/3201\nf 3201/3201/3201 3198/3198/3198 3035/3035/3035\nf 665/665/665 664/664/664 3201/3201/3201\nf 3201/3201/3201 3203/3203/3203 665/665/665\nf 663/663/663 3202/3202/3202 3201/3201/3201\nf 3201/3201/3201 664/664/664 663/663/663\nf 3035/3035/3035 3033/3033/3033 3204/3204/3204\nf 3204/3204/3204 3203/3203/3203 3035/3035/3035\nf 2969/2969/2969 3205/3205/3205 3204/3204/3204\nf 3204/3204/3204 3033/3033/3033 2969/2969/2969\nf 669/669/669 668/668/668 3204/3204/3204\nf 3204/3204/3204 3205/3205/3205 669/669/669\nf 665/665/665 3203/3203/3203 3204/3204/3204\nf 3204/3204/3204 668/668/668 665/665/665\nf 2969/2969/2969 2968/2968/2968 3206/3206/3206\nf 3206/3206/3206 3205/3205/3205 2969/2969/2969\nf 2692/2692/2692 2690/2690/2690 3206/3206/3206\nf 3206/3206/3206 2968/2968/2968 2692/2692/2692\nf 118/118/118 672/672/672 3206/3206/3206\nf 3206/3206/3206 2690/2690/2690 118/118/118\nf 669/669/669 3205/3205/3205 3206/3206/3206\nf 3206/3206/3206 672/672/672 669/669/669\nf 2803/2803/2803 2829/2829/2829 2895/2895/2895\nf 2895/2895/2895 2800/2800/2800 2803/2803/2803\nf 2797/2797/2797 2800/2800/2800 2895/2895/2895\nf 2825/2825/2825 2829/2829/2829 2803/2803/2803\nf 3019/3019/3019 3131/3131/3131 3207/3207/3207\nf 3135/3135/3135 3208/3208/3208 3207/3207/3207\nf 3207/3207/3207 3131/3131/3131 3135/3135/3135\nf 3128/3128/3128 3127/3127/3127 3207/3207/3207\nf 3207/3207/3207 3208/3208/3208 3128/3128/3128\nf 3207/3207/3207 3127/3127/3127 3019/3019/3019\nf 3017/3017/3017 3137/3137/3137 3132/3132/3132\nf 3132/3132/3132 3137/3137/3137 3133/3133/3133\nf 3209/3209/3209 3210/3210/3210 2900/2900/2900\nf 2900/2900/2900 3211/3211/3211 3209/3209/3209\nf 3117/3117/3117 3212/3212/3212 3209/3209/3209\nf 3209/3209/3209 3211/3211/3211 3117/3117/3117\nf 3212/3212/3212 3210/3210/3210 3209/3209/3209\nf 3057/3057/3057 3113/3113/3113 3213/3213/3213\nf 3213/3213/3213 3031/3031/3031 3057/3057/3057\nf 3117/3117/3117 3211/3211/3211 3213/3213/3213\nf 3213/3213/3213 3113/3113/3113 3117/3117/3117\nf 2900/2900/2900 3032/3032/3032 3213/3213/3213\nf 3213/3213/3213 3211/3211/3211 2900/2900/2900\nf 3213/3213/3213 3032/3032/3032 3031/3031/3031\nf 2791/2791/2791 2790/2790/2790 2860/2860/2860\nf 2792/2792/2792 2796/2796/2796 2858/2858/2858\nf 2887/2887/2887 2695/2695/2695 2694/2694/2694\nf 2840/2840/2840 2791/2791/2791 2860/2860/2860\nf 2865/2865/2865 2842/2842/2842 2840/2840/2840\nf 2858/2858/2858 2796/2796/2796 2861/2861/2861\nf 2931/2931/2931 2842/2842/2842 2865/2865/2865\nf 2937/2937/2937 2932/2932/2932 2931/2931/2931\nf 2951/2951/2951 3084/3084/3084 2952/2952/2952\nf 2694/2694/2694 2967/2967/2967 2964/2964/2964\nf 2971/2971/2971 2965/2965/2965 2964/2964/2964\nf 2964/2964/2964 2967/2967/2967 2971/2971/2971\nf 2981/2981/2981 2979/2979/2979 3088/3088/3088\nf 3088/3088/3088 3087/3087/3087 2981/2981/2981\nf 2952/2952/2952 3084/3084/3084 3088/3088/3088\nf 3088/3088/3088 2979/2979/2979 2952/2952/2952\nf 2949/2949/2949 2984/2984/2984 2985/2985/2985\nf 2983/2983/2983 2987/2987/2987 2985/2985/2985\nf 2985/2985/2985 2984/2984/2984 2983/2983/2983\nf 2997/2997/2997 3079/3079/3079 2999/2999/2999\nf 2937/2937/2937 3002/3002/3002 3003/3003/3003\nf 3003/3003/3003 2932/2932/2932 2937/2937/2937\nf 3001/3001/3001 3005/3005/3005 3003/3003/3003\nf 3003/3003/3003 3002/3002/3002 3001/3001/3001\nf 2971/2971/2971 3038/3038/3038 3039/3039/3039\nf 3039/3039/3039 2965/2965/2965 2971/2971/2971\nf 3037/3037/3037 3041/3041/3041 3039/3039/3039\nf 3039/3039/3039 3038/3038/3038 3037/3037/3037\nf 3001/3001/3001 3154/3154/3154 3150/3150/3150\nf 3150/3150/3150 3005/3005/3005 3001/3001/3001\nf 3150/3150/3150 3154/3154/3154 3151/3151/3151\nf 3079/3079/3079 3159/3159/3159 3214/3214/3214\nf 3156/3156/3156 3155/3155/3155 3214/3214/3214\nf 3214/3214/3214 3159/3159/3159 3156/3156/3156\nf 2999/2999/2999 3079/3079/3079 3214/3214/3214\nf 3214/3214/3214 3155/3155/3155 2999/2999/2999\nf 2983/2983/2983 3176/3176/3176 3215/3215/3215\nf 3215/3215/3215 2987/2987/2987 2983/2983/2983\nf 3173/3173/3173 3172/3172/3172 3215/3215/3215\nf 3215/3215/3215 3176/3176/3176 3173/3173/3173\nf 3215/3215/3215 3172/3172/3172 2987/2987/2987\nf 3087/3087/3087 3181/3181/3181 3216/3216/3216\nf 3178/3178/3178 3177/3177/3177 3216/3216/3216\nf 3216/3216/3216 3181/3181/3181 3178/3178/3178\nf 2981/2981/2981 3087/3087/3087 3216/3216/3216\nf 3216/3216/3216 3177/3177/3177 2981/2981/2981\nf 3037/3037/3037 3197/3197/3197 3217/3217/3217\nf 3217/3217/3217 3041/3041/3041 3037/3037/3037\nf 3111/3111/3111 3194/3194/3194 3217/3217/3217\nf 3217/3217/3217 3197/3197/3197 3111/3111/3111\nf 3217/3217/3217 3194/3194/3194 3041/3041/3041\nf 2631/2631/2631 2630/2630/2630 3218/3218/3218\nf 3218/3218/3218 2671/2671/2671 2631/2631/2631\nf 2629/2629/2629 3219/3219/3219 3218/3218/3218\nf 3218/3218/3218 2630/2630/2630 2629/2629/2629\nf 2668/2668/2668 2671/2671/2671 3218/3218/3218\nf 3218/3218/3218 3219/3219/3219 2668/2668/2668\nf 3220/3220/3220 3221/3221/3221 3222/3222/3222\nf 3222/3222/3222 3223/3223/3223 3220/3220/3220\nf 2625/2625/2625 2667/2667/2667 3222/3222/3222\nf 3222/3222/3222 3221/3221/3221 2625/2625/2625\nf 2666/2666/2666 3223/3223/3223 3222/3222/3222\nf 3222/3222/3222 2667/2667/2667 2666/2666/2666\nf 2643/2643/2643 2640/2640/2640 3224/3224/3224\nf 3224/3224/3224 2750/2750/2750 2643/2643/2643\nf 2639/2639/2639 3225/3225/3225 3224/3224/3224\nf 3224/3224/3224 2640/2640/2640 2639/2639/2639\nf 2636/2636/2636 2635/2635/2635 3224/3224/3224\nf 3224/3224/3224 3225/3225/3225 2636/2636/2636\nf 2605/2605/2605 2750/2750/2750 3224/3224/3224\nf 3224/3224/3224 2635/2635/2635 2605/2605/2605\nf 2639/2639/2639 2817/2817/2817 3226/3226/3226\nf 3226/3226/3226 3225/3225/3225 2639/2639/2639\nf 2619/2619/2619 3227/3227/3227 3226/3226/3226\nf 3226/3226/3226 2817/2817/2817 2619/2619/2619\nf 2610/2610/2610 2819/2819/2819 3226/3226/3226\nf 3226/3226/3226 3227/3227/3227 2610/2610/2610\nf 2636/2636/2636 3225/3225/3225 3226/3226/3226\nf 3226/3226/3226 2819/2819/2819 2636/2636/2636\nf 2619/2619/2619 2616/2616/2616 3228/3228/3228\nf 3228/3228/3228 3227/3227/3227 2619/2619/2619\nf 2615/2615/2615 3229/3229/3229 3228/3228/3228\nf 3228/3228/3228 2616/2616/2616 2615/2615/2615\nf 2612/2612/2612 2611/2611/2611 3228/3228/3228\nf 3228/3228/3228 3229/3229/3229 2612/2612/2612\nf 2610/2610/2610 3227/3227/3227 3228/3228/3228\nf 3228/3228/3228 2611/2611/2611 2610/2610/2610\nf 2615/2615/2615 2669/2669/2669 3230/3230/3230\nf 3230/3230/3230 3229/3229/3229 2615/2615/2615\nf 2668/2668/2668 3231/3231/3231 3230/3230/3230\nf 3230/3230/3230 2669/2669/2669 2668/2668/2668\nf 2666/2666/2666 2665/2665/2665 3230/3230/3230\nf 3230/3230/3230 3231/3231/3231 2666/2666/2666\nf 2612/2612/2612 3229/3229/3229 3230/3230/3230\nf 3230/3230/3230 2665/2665/2665 2612/2612/2612\nf 2668/2668/2668 3219/3219/3219 3232/3232/3232\nf 3232/3232/3232 3231/3231/3231 2668/2668/2668\nf 2629/2629/2629 3233/3233/3233 3232/3232/3232\nf 3232/3232/3232 3219/3219/3219 2629/2629/2629\nf 3220/3220/3220 3223/3223/3223 3232/3232/3232\nf 3232/3232/3232 3233/3233/3233 3220/3220/3220\nf 2666/2666/2666 3231/3231/3231 3232/3232/3232\nf 3232/3232/3232 3223/3223/3223 2666/2666/2666\nf 2629/2629/2629 2627/2627/2627 3234/3234/3234\nf 3234/3234/3234 3233/3233/3233 2629/2629/2629\nf 41/41/41 703/703/703 3234/3234/3234\nf 3234/3234/3234 2627/2627/2627 41/41/41\nf 702/702/702 3235/3235/3235 3234/3234/3234\nf 3234/3234/3234 703/703/703 702/702/702\nf 3220/3220/3220 3233/3233/3233 3234/3234/3234\nf 3234/3234/3234 3235/3235/3235 3220/3220/3220\nf 38/38/38 2626/2626/2626 3236/3236/3236\nf 3236/3236/3236 704/704/704 38/38/38\nf 2625/2625/2625 3221/3221/3221 3236/3236/3236\nf 3236/3236/3236 2626/2626/2626 2625/2625/2625\nf 3220/3220/3220 3235/3235/3235 3236/3236/3236\nf 3236/3236/3236 3221/3221/3221 3220/3220/3220\nf 702/702/702 704/704/704 3236/3236/3236\nf 3236/3236/3236 3235/3235/3235 702/702/702\nf 3237/3237/3237 3238/3238/3238 3239/3239/3239\nf 3239/3239/3239 3240/3240/3240 3237/3237/3237\nf 3241/3241/3241 3242/3242/3242 3239/3239/3239\nf 3239/3239/3239 3238/3238/3238 3241/3241/3241\nf 3243/3243/3243 3244/3244/3244 3239/3239/3239\nf 3239/3239/3239 3242/3242/3242 3243/3243/3243\nf 3245/3245/3245 3240/3240/3240 3239/3239/3239\nf 3239/3239/3239 3244/3244/3244 3245/3245/3245\nf 3128/3128/3128 3246/3246/3246 3247/3247/3247\nf 3247/3247/3247 3248/3248/3248 3128/3128/3128\nf 3249/3249/3249 3250/3250/3250 3247/3247/3247\nf 3247/3247/3247 3246/3246/3246 3249/3249/3249\nf 3251/3251/3251 3252/3252/3252 3247/3247/3247\nf 3247/3247/3247 3250/3250/3250 3251/3251/3251\nf 3253/3253/3253 3248/3248/3248 3247/3247/3247\nf 3247/3247/3247 3252/3252/3252 3253/3253/3253\nf 3254/3254/3254 3255/3255/3255 3256/3256/3256\nf 3256/3256/3256 3257/3257/3257 3254/3254/3254\nf 3243/3243/3243 3242/3242/3242 3256/3256/3256\nf 3256/3256/3256 3255/3255/3255 3243/3243/3243\nf 3241/3241/3241 3258/3258/3258 3256/3256/3256\nf 3256/3256/3256 3242/3242/3242 3241/3241/3241\nf 3259/3259/3259 3257/3257/3257 3256/3256/3256\nf 3256/3256/3256 3258/3258/3258 3259/3259/3259\nf 3260/3260/3260 3261/3261/3261 3262/3262/3262\nf 3262/3262/3262 3263/3263/3263 3260/3260/3260\nf 3251/3251/3251 3250/3250/3250 3262/3262/3262\nf 3262/3262/3262 3261/3261/3261 3251/3251/3251\nf 3249/3249/3249 3264/3264/3264 3262/3262/3262\nf 3262/3262/3262 3250/3250/3250 3249/3249/3249\nf 3265/3265/3265 3263/3263/3263 3262/3262/3262\nf 3262/3262/3262 3264/3264/3264 3265/3265/3265\nf 3266/3266/3266 3267/3267/3267 3268/3268/3268\nf 3268/3268/3268 3269/3269/3269 3266/3266/3266\nf 3254/3254/3254 3257/3257/3257 3268/3268/3268\nf 3268/3268/3268 3267/3267/3267 3254/3254/3254\nf 3259/3259/3259 3269/3269/3269 3268/3268/3268\nf 3268/3268/3268 3257/3257/3257 3259/3259/3259\nf 3266/3266/3266 3270/3270/3270 3271/3271/3271\nf 3271/3271/3271 3272/3272/3272 3266/3266/3266\nf 3260/3260/3260 3263/3263/3263 3271/3271/3271\nf 3271/3271/3271 3270/3270/3270 3260/3260/3260\nf 3265/3265/3265 3272/3272/3272 3271/3271/3271\nf 3271/3271/3271 3263/3263/3263 3265/3265/3265\nf 3253/3253/3253 3252/3252/3252 3273/3273/3273\nf 3273/3273/3273 3274/3274/3274 3253/3253/3253\nf 3251/3251/3251 3275/3275/3275 3273/3273/3273\nf 3273/3273/3273 3252/3252/3252 3251/3251/3251\nf 3241/3241/3241 3238/3238/3238 3273/3273/3273\nf 3273/3273/3273 3275/3275/3275 3241/3241/3241\nf 3237/3237/3237 3274/3274/3274 3273/3273/3273\nf 3273/3273/3273 3238/3238/3238 3237/3237/3237\nf 3251/3251/3251 3261/3261/3261 3276/3276/3276\nf 3276/3276/3276 3275/3275/3275 3251/3251/3251\nf 3260/3260/3260 3277/3277/3277 3276/3276/3276\nf 3276/3276/3276 3261/3261/3261 3260/3260/3260\nf 3259/3259/3259 3258/3258/3258 3276/3276/3276\nf 3276/3276/3276 3277/3277/3277 3259/3259/3259\nf 3241/3241/3241 3275/3275/3275 3276/3276/3276\nf 3276/3276/3276 3258/3258/3258 3241/3241/3241\nf 3260/3260/3260 3270/3270/3270 3278/3278/3278\nf 3278/3278/3278 3277/3277/3277 3260/3260/3260\nf 3266/3266/3266 3269/3269/3269 3278/3278/3278\nf 3278/3278/3278 3270/3270/3270 3266/3266/3266\nf 3259/3259/3259 3277/3277/3277 3278/3278/3278\nf 3278/3278/3278 3269/3269/3269 3259/3259/3259\nf 3245/3245/3245 3244/3244/3244 3279/3279/3279\nf 3279/3279/3279 3280/3280/3280 3245/3245/3245\nf 3243/3243/3243 2902/2902/2902 3279/3279/3279\nf 3279/3279/3279 3244/3244/3244 3243/3243/3243\nf 2902/2902/2902 2901/2901/2901 3279/3279/3279\nf 2900/2900/2900 3210/3210/3210 3279/3279/3279\nf 3279/3279/3279 2901/2901/2901 2900/2900/2900\nf 3212/3212/3212 3280/3280/3280 3279/3279/3279\nf 3279/3279/3279 3210/3210/3210 3212/3212/3212\nf 3243/3243/3243 3255/3255/3255 3281/3281/3281\nf 3281/3281/3281 2902/2902/2902 3243/3243/3243\nf 3254/3254/3254 3282/3282/3282 3281/3281/3281\nf 3281/3281/3281 3255/3255/3255 3254/3254/3254\nf 2904/2904/2904 2903/2903/2903 3281/3281/3281\nf 3281/3281/3281 3282/3282/3282 2904/2904/2904\nf 3281/3281/3281 2903/2903/2903 2902/2902/2902\nf 3254/3254/3254 3267/3267/3267 3283/3283/3283\nf 3283/3283/3283 3282/3282/3282 3254/3254/3254\nf 3266/3266/3266 3284/3284/3284 3283/3283/3283\nf 3283/3283/3283 3267/3267/3267 3266/3266/3266\nf 346/346/346 2899/2899/2899 3283/3283/3283\nf 3283/3283/3283 3284/3284/3284 346/346/346\nf 2904/2904/2904 3282/3282/3282 3283/3283/3283\nf 3283/3283/3283 2899/2899/2899 2904/2904/2904\nf 3135/3135/3135 3285/3285/3285 3286/3286/3286\nf 3286/3286/3286 3208/3208/3208 3135/3135/3135\nf 3287/3287/3287 3288/3288/3288 3286/3286/3286\nf 3286/3286/3286 3285/3285/3285 3287/3287/3287\nf 3249/3249/3249 3246/3246/3246 3286/3286/3286\nf 3286/3286/3286 3288/3288/3288 3249/3249/3249\nf 3128/3128/3128 3208/3208/3208 3286/3286/3286\nf 3286/3286/3286 3246/3246/3246 3128/3128/3128\nf 3133/3133/3133 3289/3289/3289 3290/3290/3290\nf 3290/3290/3290 3134/3134/3134 3133/3133/3133\nf 3291/3291/3291 3292/3292/3292 3290/3290/3290\nf 3290/3290/3290 3289/3289/3289 3291/3291/3291\nf 3287/3287/3287 3285/3285/3285 3290/3290/3290\nf 3290/3290/3290 3292/3292/3292 3287/3287/3287\nf 3135/3135/3135 3134/3134/3134 3290/3290/3290\nf 3290/3290/3290 3285/3285/3285 3135/3135/3135\nf 3151/3151/3151 3293/3293/3293 3294/3294/3294\nf 3294/3294/3294 3295/3295/3295 3151/3151/3151\nf 3296/3296/3296 3297/3297/3297 3294/3294/3294\nf 3294/3294/3294 3293/3293/3293 3296/3296/3296\nf 3298/3298/3298 3299/3299/3299 3294/3294/3294\nf 3294/3294/3294 3297/3297/3297 3298/3298/3298\nf 3300/3300/3300 3295/3295/3295 3294/3294/3294\nf 3294/3294/3294 3299/3299/3299 3300/3300/3300\nf 3301/3301/3301 3302/3302/3302 3303/3303/3303\nf 3303/3303/3303 3304/3304/3304 3301/3301/3301\nf 3305/3305/3305 3306/3306/3306 3303/3303/3303\nf 3303/3303/3303 3302/3302/3302 3305/3305/3305\nf 3307/3307/3307 3308/3308/3308 3303/3303/3303\nf 3303/3303/3303 3306/3306/3306 3307/3307/3307\nf 3309/3309/3309 3304/3304/3304 3303/3303/3303\nf 3303/3303/3303 3308/3308/3308 3309/3309/3309\nf 3249/3249/3249 3288/3288/3288 3264/3264/3264\nf 3287/3287/3287 3310/3310/3310 3264/3264/3264\nf 3264/3264/3264 3288/3288/3288 3287/3287/3287\nf 3264/3264/3264 3310/3310/3310 3265/3265/3265\nf 3287/3287/3287 3292/3292/3292 3311/3311/3311\nf 3311/3311/3311 3310/3310/3310 3287/3287/3287\nf 3291/3291/3291 3312/3312/3312 3311/3311/3311\nf 3311/3311/3311 3292/3292/3292 3291/3291/3291\nf 3313/3313/3313 3314/3314/3314 3311/3311/3311\nf 3311/3311/3311 3312/3312/3312 3313/3313/3313\nf 3265/3265/3265 3310/3310/3310 3311/3311/3311\nf 3311/3311/3311 3314/3314/3314 3265/3265/3265\nf 3315/3315/3315 3316/3316/3316 3317/3317/3317\nf 3307/3307/3307 3306/3306/3306 3317/3317/3317\nf 3317/3317/3317 3316/3316/3316 3307/3307/3307\nf 3305/3305/3305 3318/3318/3318 3317/3317/3317\nf 3317/3317/3317 3306/3306/3306 3305/3305/3305\nf 3319/3319/3319 3315/3315/3315 3317/3317/3317\nf 3317/3317/3317 3318/3318/3318 3319/3319/3319\nf 3319/3319/3319 3320/3320/3320 3321/3321/3321\nf 3321/3321/3321 3322/3322/3322 3319/3319/3319\nf 3298/3298/3298 3297/3297/3297 3321/3321/3321\nf 3321/3321/3321 3320/3320/3320 3298/3298/3298\nf 3296/3296/3296 3323/3323/3323 3321/3321/3321\nf 3321/3321/3321 3297/3297/3297 3296/3296/3296\nf 3324/3324/3324 3322/3322/3322 3321/3321/3321\nf 3321/3321/3321 3323/3323/3323 3324/3324/3324\nf 3325/3325/3325 3272/3272/3272 3265/3265/3265\nf 3265/3265/3265 3326/3326/3326 3325/3325/3325\nf 3266/3266/3266 3272/3272/3272 3325/3325/3325\nf 3325/3325/3325 3326/3326/3326 3266/3266/3266\nf 3265/3265/3265 3314/3314/3314 3327/3327/3327\nf 3327/3327/3327 3326/3326/3326 3265/3265/3265\nf 3313/3313/3313 3328/3328/3328 3327/3327/3327\nf 3327/3327/3327 3314/3314/3314 3313/3313/3313\nf 3266/3266/3266 3326/3326/3326 3327/3327/3327\nf 3327/3327/3327 3328/3328/3328 3266/3266/3266\nf 3266/3266/3266 3329/3329/3329 3330/3330/3330\nf 3330/3330/3330 3331/3331/3331 3266/3266/3266\nf 3330/3330/3330 3329/3329/3329 3315/3315/3315\nf 3319/3319/3319 3331/3331/3331 3330/3330/3330\nf 3330/3330/3330 3315/3315/3315 3319/3319/3319\nf 3266/3266/3266 3332/3332/3332 3333/3333/3333\nf 3333/3333/3333 3334/3334/3334 3266/3266/3266\nf 3319/3319/3319 3322/3322/3322 3333/3333/3333\nf 3333/3333/3333 3332/3332/3332 3319/3319/3319\nf 3324/3324/3324 3334/3334/3334 3333/3333/3333\nf 3333/3333/3333 3322/3322/3322 3324/3324/3324\nf 3300/3300/3300 3299/3299/3299 3335/3335/3335\nf 3335/3335/3335 3336/3336/3336 3300/3300/3300\nf 3298/3298/3298 3337/3337/3337 3335/3335/3335\nf 3335/3335/3335 3299/3299/3299 3298/3298/3298\nf 3305/3305/3305 3302/3302/3302 3335/3335/3335\nf 3335/3335/3335 3337/3337/3337 3305/3305/3305\nf 3301/3301/3301 3336/3336/3336 3335/3335/3335\nf 3335/3335/3335 3302/3302/3302 3301/3301/3301\nf 3298/3298/3298 3320/3320/3320 3318/3318/3318\nf 3318/3318/3318 3337/3337/3337 3298/3298/3298\nf 3318/3318/3318 3320/3320/3320 3319/3319/3319\nf 3305/3305/3305 3337/3337/3337 3318/3318/3318\nf 3319/3319/3319 3332/3332/3332 3338/3338/3338\nf 3266/3266/3266 3331/3331/3331 3338/3338/3338\nf 3338/3338/3338 3332/3332/3332 3266/3266/3266\nf 3338/3338/3338 3331/3331/3331 3319/3319/3319\nf 3309/3309/3309 3308/3308/3308 3339/3339/3339\nf 3339/3339/3339 3340/3340/3340 3309/3309/3309\nf 3307/3307/3307 3341/3341/3341 3339/3339/3339\nf 3339/3339/3339 3308/3308/3308 3307/3307/3307\nf 3291/3291/3291 3289/3289/3289 3339/3339/3339\nf 3339/3339/3339 3341/3341/3341 3291/3291/3291\nf 3133/3133/3133 3340/3340/3340 3339/3339/3339\nf 3339/3339/3339 3289/3289/3289 3133/3133/3133\nf 3307/3307/3307 3316/3316/3316 3342/3342/3342\nf 3342/3342/3342 3341/3341/3341 3307/3307/3307\nf 3342/3342/3342 3316/3316/3316 3315/3315/3315\nf 3313/3313/3313 3312/3312/3312 3342/3342/3342\nf 3342/3342/3342 3315/3315/3315 3313/3313/3313\nf 3291/3291/3291 3341/3341/3341 3342/3342/3342\nf 3342/3342/3342 3312/3312/3312 3291/3291/3291\nf 3315/3315/3315 3329/3329/3329 3343/3343/3343\nf 3266/3266/3266 3328/3328/3328 3343/3343/3343\nf 3343/3343/3343 3329/3329/3329 3266/3266/3266\nf 3313/3313/3313 3315/3315/3315 3343/3343/3343\nf 3343/3343/3343 3328/3328/3328 3313/3313/3313\nf 3156/3156/3156 3344/3344/3344 3345/3345/3345\nf 3345/3345/3345 3157/3157/3157 3156/3156/3156\nf 3346/3346/3346 3347/3347/3347 3345/3345/3345\nf 3345/3345/3345 3344/3344/3344 3346/3346/3346\nf 3296/3296/3296 3293/3293/3293 3345/3345/3345\nf 3345/3345/3345 3347/3347/3347 3296/3296/3296\nf 3151/3151/3151 3157/3157/3157 3345/3345/3345\nf 3345/3345/3345 3293/3293/3293 3151/3151/3151\nf 3173/3173/3173 3348/3348/3348 3349/3349/3349\nf 3349/3349/3349 3350/3350/3350 3173/3173/3173\nf 3351/3351/3351 3352/3352/3352 3349/3349/3349\nf 3349/3349/3349 3348/3348/3348 3351/3351/3351\nf 3353/3353/3353 3354/3354/3354 3349/3349/3349\nf 3349/3349/3349 3352/3352/3352 3353/3353/3353\nf 3355/3355/3355 3350/3350/3350 3349/3349/3349\nf 3349/3349/3349 3354/3354/3354 3355/3355/3355\nf 3296/3296/3296 3347/3347/3347 3356/3356/3356\nf 3356/3356/3356 3323/3323/3323 3296/3296/3296\nf 3346/3346/3346 3357/3357/3357 3356/3356/3356\nf 3356/3356/3356 3347/3347/3347 3346/3346/3346\nf 3358/3358/3358 3359/3359/3359 3356/3356/3356\nf 3356/3356/3356 3357/3357/3357 3358/3358/3358\nf 3324/3324/3324 3323/3323/3323 3356/3356/3356\nf 3356/3356/3356 3359/3359/3359 3324/3324/3324\nf 3360/3360/3360 3361/3361/3361 3362/3362/3362\nf 3362/3362/3362 3363/3363/3363 3360/3360/3360\nf 3094/3094/3094 3097/3097/3097 3362/3362/3362\nf 3362/3362/3362 3361/3361/3361 3094/3094/3094\nf 3102/3102/3102 3364/3364/3364 3362/3362/3362\nf 3362/3362/3362 3097/3097/3097 3102/3102/3102\nf 3362/3362/3362 3364/3364/3364 3363/3363/3363\nf 3363/3363/3363 3365/3365/3365 3366/3366/3366\nf 3366/3366/3366 3367/3367/3367 3363/3363/3363\nf 3353/3353/3353 3352/3352/3352 3366/3366/3366\nf 3366/3366/3366 3365/3365/3365 3353/3353/3353\nf 3351/3351/3351 3368/3368/3368 3366/3366/3366\nf 3366/3366/3366 3352/3352/3352 3351/3351/3351\nf 3369/3369/3369 3367/3367/3367 3366/3366/3366\nf 3366/3366/3366 3368/3368/3368 3369/3369/3369\nf 3324/3324/3324 3359/3359/3359 3370/3370/3370\nf 3370/3370/3370 3334/3334/3334 3324/3324/3324\nf 3358/3358/3358 3371/3371/3371 3370/3370/3370\nf 3370/3370/3370 3359/3359/3359 3358/3358/3358\nf 3266/3266/3266 3334/3334/3334 3370/3370/3370\nf 3370/3370/3370 3371/3371/3371 3266/3266/3266\nf 3266/3266/3266 3372/3372/3372 3373/3373/3373\nf 3373/3373/3373 3374/3374/3374 3266/3266/3266\nf 3360/3360/3360 3363/3363/3363 3373/3373/3373\nf 3373/3373/3373 3372/3372/3372 3360/3360/3360\nf 3363/3363/3363 3374/3374/3374 3373/3373/3373\nf 3266/3266/3266 3375/3375/3375 3376/3376/3376\nf 3376/3376/3376 3377/3377/3377 3266/3266/3266\nf 3363/3363/3363 3367/3367/3367 3376/3376/3376\nf 3376/3376/3376 3375/3375/3375 3363/3363/3363\nf 3369/3369/3369 3377/3377/3377 3376/3376/3376\nf 3376/3376/3376 3367/3367/3367 3369/3369/3369\nf 3355/3355/3355 3354/3354/3354 3378/3378/3378\nf 3378/3378/3378 3379/3379/3379 3355/3355/3355\nf 3353/3353/3353 3380/3380/3380 3378/3378/3378\nf 3378/3378/3378 3354/3354/3354 3353/3353/3353\nf 3102/3102/3102 3101/3101/3101 3378/3378/3378\nf 3378/3378/3378 3380/3380/3380 3102/3102/3102\nf 3100/3100/3100 3379/3379/3379 3378/3378/3378\nf 3378/3378/3378 3101/3101/3101 3100/3100/3100\nf 3353/3353/3353 3365/3365/3365 3381/3381/3381\nf 3381/3381/3381 3380/3380/3380 3353/3353/3353\nf 3381/3381/3381 3365/3365/3365 3363/3363/3363\nf 3363/3363/3363 3364/3364/3364 3381/3381/3381\nf 3102/3102/3102 3380/3380/3380 3381/3381/3381\nf 3381/3381/3381 3364/3364/3364 3102/3102/3102\nf 3363/3363/3363 3375/3375/3375 3382/3382/3382\nf 3266/3266/3266 3374/3374/3374 3382/3382/3382\nf 3382/3382/3382 3375/3375/3375 3266/3266/3266\nf 3382/3382/3382 3374/3374/3374 3363/3363/3363\nf 3098/3098/3098 3095/3095/3095 3383/3383/3383\nf 3383/3383/3383 3384/3384/3384 3098/3098/3098\nf 3094/3094/3094 3385/3385/3385 3383/3383/3383\nf 3383/3383/3383 3095/3095/3095 3094/3094/3094\nf 3346/3346/3346 3344/3344/3344 3383/3383/3383\nf 3383/3383/3383 3385/3385/3385 3346/3346/3346\nf 3156/3156/3156 3384/3384/3384 3383/3383/3383\nf 3383/3383/3383 3344/3344/3344 3156/3156/3156\nf 3361/3361/3361 3385/3385/3385 3094/3094/3094\nf 3358/3358/3358 3357/3357/3357 3361/3361/3361\nf 3361/3361/3361 3360/3360/3360 3358/3358/3358\nf 3346/3346/3346 3385/3385/3385 3361/3361/3361\nf 3361/3361/3361 3357/3357/3357 3346/3346/3346\nf 3360/3360/3360 3372/3372/3372 3386/3386/3386\nf 3266/3266/3266 3371/3371/3371 3386/3386/3386\nf 3386/3386/3386 3372/3372/3372 3266/3266/3266\nf 3358/3358/3358 3360/3360/3360 3386/3386/3386\nf 3386/3386/3386 3371/3371/3371 3358/3358/3358\nf 3178/3178/3178 3387/3387/3387 3388/3388/3388\nf 3388/3388/3388 3179/3179/3179 3178/3178/3178\nf 3389/3389/3389 3390/3390/3390 3388/3388/3388\nf 3388/3388/3388 3387/3387/3387 3389/3389/3389\nf 3351/3351/3351 3348/3348/3348 3388/3388/3388\nf 3388/3388/3388 3390/3390/3390 3351/3351/3351\nf 3173/3173/3173 3179/3179/3179 3388/3388/3388\nf 3388/3388/3388 3348/3348/3348 3173/3173/3173\nf 3391/3391/3391 3392/3392/3392 3393/3393/3393\nf 3393/3393/3393 3394/3394/3394 3391/3391/3391\nf 3395/3395/3395 3396/3396/3396 3393/3393/3393\nf 3393/3393/3393 3392/3392/3392 3395/3395/3395\nf 3199/3199/3199 3202/3202/3202 3393/3393/3393\nf 3393/3393/3393 3396/3396/3396 3199/3199/3199\nf 663/663/663 3394/3394/3394 3393/3393/3393\nf 3393/3393/3393 3202/3202/3202 663/663/663\nf 3397/3397/3397 3398/3398/3398 3399/3399/3399\nf 3399/3399/3399 3400/3400/3400 3397/3397/3397\nf 3399/3399/3399 3398/3398/3398 3401/3401/3401\nf 3402/3402/3402 3403/3403/3403 3399/3399/3399\nf 3399/3399/3399 3401/3401/3401 3402/3402/3402\nf 3404/3404/3404 3400/3400/3400 3399/3399/3399\nf 3399/3399/3399 3403/3403/3403 3404/3404/3404\nf 3351/3351/3351 3390/3390/3390 3405/3405/3405\nf 3405/3405/3405 3368/3368/3368 3351/3351/3351\nf 3389/3389/3389 3406/3406/3406 3405/3405/3405\nf 3405/3405/3405 3390/3390/3390 3389/3389/3389\nf 3407/3407/3407 3408/3408/3408 3405/3405/3405\nf 3405/3405/3405 3406/3406/3406 3407/3407/3407\nf 3369/3369/3369 3368/3368/3368 3405/3405/3405\nf 3405/3405/3405 3408/3408/3408 3369/3369/3369\nf 3409/3409/3409 3410/3410/3410 3411/3411/3411\nf 3411/3411/3411 3412/3412/3412 3409/3409/3409\nf 3402/3402/3402 3401/3401/3401 3411/3411/3411\nf 3411/3411/3411 3410/3410/3410 3402/3402/3402\nf 3413/3413/3413 3414/3414/3414 3415/3415/3415\nf 3415/3415/3415 3416/3416/3416 3413/3413/3413\nf 3107/3107/3107 3104/3104/3104 3415/3415/3415\nf 3415/3415/3415 3414/3414/3414 3107/3107/3107\nf 3103/3103/3103 3417/3417/3417 3415/3415/3415\nf 3415/3415/3415 3104/3104/3104 3103/3103/3103\nf 3418/3418/3418 3416/3416/3416 3415/3415/3415\nf 3415/3415/3415 3417/3417/3417 3418/3418/3418\nf 3419/3419/3419 3420/3420/3420 3421/3421/3421\nf 3421/3421/3421 3422/3422/3422 3419/3419/3419\nf 3395/3395/3395 3392/3392/3392 3421/3421/3421\nf 3421/3421/3421 3420/3420/3420 3395/3395/3395\nf 3391/3391/3391 3423/3423/3423 3421/3421/3421\nf 3421/3421/3421 3392/3392/3392 3391/3391/3391\nf 3421/3421/3421 3423/3423/3423 3422/3422/3422\nf 3369/3369/3369 3408/3408/3408 3424/3424/3424\nf 3424/3424/3424 3377/3377/3377 3369/3369/3369\nf 3407/3407/3407 3425/3425/3425 3424/3424/3424\nf 3424/3424/3424 3408/3408/3408 3407/3407/3407\nf 3266/3266/3266 3377/3377/3377 3424/3424/3424\nf 3424/3424/3424 3425/3425/3425 3266/3266/3266\nf 3266/3266/3266 3426/3426/3426 3427/3427/3427\nf 3427/3427/3427 3428/3428/3428 3266/3266/3266\nf 3409/3409/3409 3412/3412/3412 3427/3427/3427\nf 3427/3427/3427 3426/3426/3426 3409/3409/3409\nf 3412/3412/3412 3428/3428/3428 3427/3427/3427\nf 3266/3266/3266 3429/3429/3429 3430/3430/3430\nf 3430/3430/3430 3431/3431/3431 3266/3266/3266\nf 3413/3413/3413 3416/3416/3416 3430/3430/3430\nf 3430/3430/3430 3429/3429/3429 3413/3413/3413\nf 3418/3418/3418 3431/3431/3431 3430/3430/3430\nf 3430/3430/3430 3416/3416/3416 3418/3418/3418\nf 3266/3266/3266 3432/3432/3432 3433/3433/3433\nf 3419/3419/3419 3422/3422/3422 3433/3433/3433\nf 3433/3433/3433 3432/3432/3432 3419/3419/3419\nf 3404/3404/3404 3403/3403/3403 3434/3434/3434\nf 3434/3434/3434 3435/3435/3435 3404/3404/3404\nf 3402/3402/3402 3436/3436/3436 3434/3434/3434\nf 3434/3434/3434 3403/3403/3403 3402/3402/3402\nf 3389/3389/3389 3387/3387/3387 3434/3434/3434\nf 3434/3434/3434 3436/3436/3436 3389/3389/3389\nf 3178/3178/3178 3435/3435/3435 3434/3434/3434\nf 3434/3434/3434 3387/3387/3387 3178/3178/3178\nf 3402/3402/3402 3410/3410/3410 3437/3437/3437\nf 3437/3437/3437 3436/3436/3436 3402/3402/3402\nf 3409/3409/3409 3438/3438/3438 3437/3437/3437\nf 3437/3437/3437 3410/3410/3410 3409/3409/3409\nf 3407/3407/3407 3406/3406/3406 3437/3437/3437\nf 3437/3437/3437 3438/3438/3438 3407/3407/3407\nf 3389/3389/3389 3436/3436/3436 3437/3437/3437\nf 3437/3437/3437 3406/3406/3406 3389/3389/3389\nf 3409/3409/3409 3426/3426/3426 3439/3439/3439\nf 3439/3439/3439 3438/3438/3438 3409/3409/3409\nf 3266/3266/3266 3425/3425/3425 3439/3439/3439\nf 3439/3439/3439 3426/3426/3426 3266/3266/3266\nf 3407/3407/3407 3438/3438/3438 3439/3439/3439\nf 3439/3439/3439 3425/3425/3425 3407/3407/3407\nf 3109/3109/3109 3108/3108/3108 3440/3440/3440\nf 3440/3440/3440 3441/3441/3441 3109/3109/3109\nf 3107/3107/3107 3442/3442/3442 3440/3440/3440\nf 3440/3440/3440 3108/3108/3108 3107/3107/3107\nf 3401/3401/3401 3398/3398/3398 3440/3440/3440\nf 3440/3440/3440 3442/3442/3442 3401/3401/3401\nf 3397/3397/3397 3441/3441/3441 3440/3440/3440\nf 3440/3440/3440 3398/3398/3398 3397/3397/3397\nf 3107/3107/3107 3414/3414/3414 3443/3443/3443\nf 3443/3443/3443 3442/3442/3442 3107/3107/3107\nf 3413/3413/3413 3412/3412/3412 3443/3443/3443\nf 3443/3443/3443 3414/3414/3414 3413/3413/3413\nf 3412/3412/3412 3411/3411/3411 3443/3443/3443\nf 3401/3401/3401 3442/3442/3442 3443/3443/3443\nf 3443/3443/3443 3411/3411/3411 3401/3401/3401\nf 3413/3413/3413 3429/3429/3429 3444/3444/3444\nf 3444/3444/3444 3412/3412/3412 3413/3413/3413\nf 3266/3266/3266 3428/3428/3428 3444/3444/3444\nf 3444/3444/3444 3429/3429/3429 3266/3266/3266\nf 3444/3444/3444 3428/3428/3428 3412/3412/3412\nf 3199/3199/3199 3396/3396/3396 3445/3445/3445\nf 3445/3445/3445 3200/3200/3200 3199/3199/3199\nf 3395/3395/3395 3446/3446/3446 3445/3445/3445\nf 3445/3445/3445 3396/3396/3396 3395/3395/3395\nf 3103/3103/3103 3106/3106/3106 3445/3445/3445\nf 3445/3445/3445 3446/3446/3446 3103/3103/3103\nf 3111/3111/3111 3200/3200/3200 3445/3445/3445\nf 3445/3445/3445 3106/3106/3106 3111/3111/3111\nf 3395/3395/3395 3420/3420/3420 3447/3447/3447\nf 3447/3447/3447 3446/3446/3446 3395/3395/3395\nf 3419/3419/3419 3448/3448/3448 3447/3447/3447\nf 3447/3447/3447 3420/3420/3420 3419/3419/3419\nf 3418/3418/3418 3417/3417/3417 3447/3447/3447\nf 3447/3447/3447 3448/3448/3448 3418/3418/3418\nf 3103/3103/3103 3446/3446/3446 3447/3447/3447\nf 3447/3447/3447 3417/3417/3417 3103/3103/3103\nf 3419/3419/3419 3432/3432/3432 3449/3449/3449\nf 3449/3449/3449 3448/3448/3448 3419/3419/3419\nf 3266/3266/3266 3431/3431/3431 3449/3449/3449\nf 3449/3449/3449 3432/3432/3432 3266/3266/3266\nf 3418/3418/3418 3448/3448/3448 3449/3449/3449\nf 3449/3449/3449 3431/3431/3431 3418/3418/3418\nf 3450/3450/3450 3451/3451/3451 3452/3452/3452\nf 3452/3452/3452 3453/3453/3453 3450/3450/3450\nf 3454/3454/3454 3455/3455/3455 3452/3452/3452\nf 3452/3452/3452 3451/3451/3451 3454/3454/3454\nf 3456/3456/3456 3457/3457/3457 3452/3452/3452\nf 3452/3452/3452 3455/3455/3455 3456/3456/3456\nf 3458/3458/3458 3453/3453/3453 3452/3452/3452\nf 3452/3452/3452 3457/3457/3457 3458/3458/3458\nf 3458/3458/3458 3457/3457/3457 3459/3459/3459\nf 3459/3459/3459 3460/3460/3460 3458/3458/3458\nf 3456/3456/3456 3461/3461/3461 3459/3459/3459\nf 3459/3459/3459 3457/3457/3457 3456/3456/3456\nf 3462/3462/3462 3463/3463/3463 3459/3459/3459\nf 3459/3459/3459 3461/3461/3461 3462/3462/3462\nf 3464/3464/3464 3465/3465/3465 3459/3459/3459\nf 3459/3459/3459 3463/3463/3463 3464/3464/3464\nf 3459/3459/3459 3465/3465/3465 3466/3466/3466\nf 3467/3467/3467 3460/3460/3460 3459/3459/3459\nf 3459/3459/3459 3466/3466/3466 3467/3467/3467\nf 3467/3467/3467 3466/3466/3466 3468/3468/3468\nf 3469/3469/3469 3470/3470/3470 3471/3471/3471\nf 3471/3471/3471 3472/3472/3472 3469/3469/3469\nf 3471/3471/3471 3470/3470/3470 3473/3473/3473\nf 3474/3474/3474 3475/3475/3475 3471/3471/3471\nf 3471/3471/3471 3473/3473/3473 3474/3474/3474\nf 3475/3475/3475 3472/3472/3472 3471/3471/3471\nf 3476/3476/3476 3477/3477/3477 3478/3478/3478\nf 3478/3478/3478 3479/3479/3479 3476/3476/3476\nf 3480/3480/3480 3481/3481/3481 3478/3478/3478\nf 3478/3478/3478 3477/3477/3477 3480/3480/3480\nf 3482/3482/3482 3483/3483/3483 3478/3478/3478\nf 3478/3478/3478 3481/3481/3481 3482/3482/3482\nf 3484/3484/3484 3485/3485/3485 3478/3478/3478\nf 3478/3478/3478 3483/3483/3483 3484/3484/3484\nf 3486/3486/3486 3487/3487/3487 3478/3478/3478\nf 3478/3478/3478 3485/3485/3485 3486/3486/3486\nf 3488/3488/3488 3479/3479/3479 3478/3478/3478\nf 3478/3478/3478 3487/3487/3487 3488/3488/3488\nf 3486/3486/3486 3485/3485/3485 3489/3489/3489\nf 3489/3489/3489 3490/3490/3490 3486/3486/3486\nf 3484/3484/3484 3491/3491/3491 3489/3489/3489\nf 3489/3489/3489 3485/3485/3485 3484/3484/3484\nf 3492/3492/3492 3493/3493/3493 3489/3489/3489\nf 3489/3489/3489 3491/3491/3491 3492/3492/3492\nf 3494/3494/3494 3490/3490/3490 3489/3489/3489\nf 3489/3489/3489 3493/3493/3493 3494/3494/3494\nf 3494/3494/3494 3493/3493/3493 3495/3495/3495\nf 3495/3495/3495 3496/3496/3496 3494/3494/3494\nf 3492/3492/3492 3497/3497/3497 3495/3495/3495\nf 3495/3495/3495 3493/3493/3493 3492/3492/3492\nf 3498/3498/3498 3499/3499/3499 3495/3495/3495\nf 3495/3495/3495 3497/3497/3497 3498/3498/3498\nf 3456/3456/3456 3455/3455/3455 3495/3495/3495\nf 3495/3495/3495 3499/3499/3499 3456/3456/3456\nf 3454/3454/3454 3496/3496/3496 3495/3495/3495\nf 3495/3495/3495 3455/3455/3455 3454/3454/3454\nf 3456/3456/3456 3499/3499/3499 3500/3500/3500\nf 3500/3500/3500 3461/3461/3461 3456/3456/3456\nf 3498/3498/3498 3501/3501/3501 3500/3500/3500\nf 3500/3500/3500 3499/3499/3499 3498/3498/3498\nf 3502/3502/3502 3503/3503/3503 3500/3500/3500\nf 3500/3500/3500 3501/3501/3501 3502/3502/3502\nf 3462/3462/3462 3461/3461/3461 3500/3500/3500\nf 3500/3500/3500 3503/3503/3503 3462/3462/3462\nf 3462/3462/3462 3503/3503/3503 3504/3504/3504\nf 3504/3504/3504 3505/3505/3505 3462/3462/3462\nf 3502/3502/3502 3506/3506/3506 3504/3504/3504\nf 3504/3504/3504 3503/3503/3503 3502/3502/3502\nf 3507/3507/3507 3508/3508/3508 3504/3504/3504\nf 3504/3504/3504 3506/3506/3506 3507/3507/3507\nf 3508/3508/3508 3509/3509/3509 3504/3504/3504\nf 3509/3509/3509 3510/3510/3510 3504/3504/3504\nf 3511/3511/3511 3512/3512/3512 3504/3504/3504\nf 3504/3504/3504 3510/3510/3510 3511/3511/3511\nf 3504/3504/3504 3512/3512/3512 3513/3513/3513\nf 3504/3504/3504 3513/3513/3513 3514/3514/3514\nf 3515/3515/3515 3505/3505/3505 3504/3504/3504\nf 3504/3504/3504 3514/3514/3514 3515/3515/3515\nf 3516/3516/3516 3475/3475/3475 3474/3474/3474\nf 3516/3516/3516 3517/3517/3517 3518/3518/3518\nf 3482/3482/3482 3519/3519/3519 3520/3520/3520\nf 3520/3520/3520 3483/3483/3483 3482/3482/3482\nf 3521/3521/3521 3522/3522/3522 3520/3520/3520\nf 3520/3520/3520 3519/3519/3519 3521/3521/3521\nf 3522/3522/3522 3523/3523/3523 3520/3520/3520\nf 3484/3484/3484 3483/3483/3483 3520/3520/3520\nf 3520/3520/3520 3523/3523/3523 3484/3484/3484\nf 3484/3484/3484 3523/3523/3523 3524/3524/3524\nf 3524/3524/3524 3491/3491/3491 3484/3484/3484\nf 3522/3522/3522 3525/3525/3525 3524/3524/3524\nf 3524/3524/3524 3523/3523/3523 3522/3522/3522\nf 3525/3525/3525 3526/3526/3526 3524/3524/3524\nf 3492/3492/3492 3491/3491/3491 3524/3524/3524\nf 3524/3524/3524 3526/3526/3526 3492/3492/3492\nf 3492/3492/3492 3526/3526/3526 3527/3527/3527\nf 3527/3527/3527 3497/3497/3497 3492/3492/3492\nf 3527/3527/3527 3526/3526/3526 3525/3525/3525\nf 3528/3528/3528 3529/3529/3529 3527/3527/3527\nf 3527/3527/3527 3525/3525/3525 3528/3528/3528\nf 3498/3498/3498 3497/3497/3497 3527/3527/3527\nf 3527/3527/3527 3529/3529/3529 3498/3498/3498\nf 3498/3498/3498 3529/3529/3529 3530/3530/3530\nf 3530/3530/3530 3531/3531/3531 3498/3498/3498\nf 3530/3530/3530 3529/3529/3529 3528/3528/3528\nf 3528/3528/3528 3531/3531/3531 3530/3530/3530\nf 3498/3498/3498 3531/3531/3531 3532/3532/3532\nf 3532/3532/3532 3533/3533/3533 3498/3498/3498\nf 3532/3532/3532 3531/3531/3531 3528/3528/3528\nf 3528/3528/3528 3533/3533/3533 3532/3532/3532\nf 3498/3498/3498 3533/3533/3533 3534/3534/3534\nf 3534/3534/3534 3501/3501/3501 3498/3498/3498\nf 3534/3534/3534 3533/3533/3533 3528/3528/3528\nf 3535/3535/3535 3536/3536/3536 3534/3534/3534\nf 3534/3534/3534 3528/3528/3528 3535/3535/3535\nf 3502/3502/3502 3501/3501/3501 3534/3534/3534\nf 3534/3534/3534 3536/3536/3536 3502/3502/3502\nf 3502/3502/3502 3536/3536/3536 3537/3537/3537\nf 3537/3537/3537 3506/3506/3506 3502/3502/3502\nf 3537/3537/3537 3536/3536/3536 3535/3535/3535\nf 3535/3535/3535 3538/3538/3538 3537/3537/3537\nf 3539/3539/3539 3540/3540/3540 3537/3537/3537\nf 3537/3537/3537 3538/3538/3538 3539/3539/3539\nf 3541/3541/3541 3542/3542/3542 3537/3537/3537\nf 3537/3537/3537 3540/3540/3540 3541/3541/3541\nf 3543/3543/3543 3544/3544/3544 3537/3537/3537\nf 3537/3537/3537 3542/3542/3542 3543/3543/3543\nf 3544/3544/3544 3545/3545/3545 3537/3537/3537\nf 3546/3546/3546 3547/3547/3547 3537/3537/3537\nf 3537/3537/3537 3548/3548/3548 3546/3546/3546\nf 3537/3537/3537 3547/3547/3547 3549/3549/3549\nf 3550/3550/3550 3551/3551/3551 3537/3537/3537\nf 3537/3537/3537 3549/3549/3549 3550/3550/3550\nf 3507/3507/3507 3506/3506/3506 3537/3537/3537\nf 3537/3537/3537 3551/3551/3551 3507/3507/3507\nf 3474/3474/3474 3552/3552/3552 3553/3553/3553\nf 3554/3554/3554 3555/3555/3555 3553/3553/3553\nf 3553/3553/3553 3552/3552/3552 3554/3554/3554\nf 3556/3556/3556 3557/3557/3557 3553/3553/3553\nf 3553/3553/3553 3555/3555/3555 3556/3556/3556\nf 3557/3557/3557 3558/3558/3558 3553/3553/3553\nf 3553/3553/3553 3558/3558/3558 3559/3559/3559\nf 3560/3560/3560 3561/3561/3561 3553/3553/3553\nf 3553/3553/3553 3562/3562/3562 3560/3560/3560\nf 3563/3563/3563 3564/3564/3564 3553/3553/3553\nf 3553/3553/3553 3561/3561/3561 3563/3563/3563\nf 3553/3553/3553 3564/3564/3564 3565/3565/3565\nf 3566/3566/3566 3567/3567/3567 3553/3553/3553\nf 3553/3553/3553 3565/3565/3565 3566/3566/3566\nf 3568/3568/3568 3517/3517/3517 3553/3553/3553\nf 3553/3553/3553 3567/3567/3567 3568/3568/3568\nf 3474/3474/3474 3553/3553/3553 3569/3569/3569\nf 3569/3569/3569 3516/3516/3516 3474/3474/3474\nf 3569/3569/3569 3553/3553/3553 3517/3517/3517\nf 3517/3517/3517 3516/3516/3516 3569/3569/3569\nf 3517/3517/3517 3570/3570/3570 3571/3571/3571\nf 3571/3571/3571 3570/3570/3570 3572/3572/3572\nf 3572/3572/3572 3573/3573/3573 3571/3571/3571\nf 3571/3571/3571 3573/3573/3573 3521/3521/3521\nf 3518/3518/3518 3517/3517/3517 3571/3571/3571\nf 3571/3571/3571 3521/3521/3521 3518/3518/3518\nf 3573/3573/3573 3522/3522/3522 3521/3521/3521\nf 3574/3574/3574 3575/3575/3575 3573/3573/3573\nf 3573/3573/3573 3572/3572/3572 3574/3574/3574\nf 3573/3573/3573 3575/3575/3575 3522/3522/3522\nf 3575/3575/3575 3525/3525/3525 3522/3522/3522\nf 3576/3576/3576 3577/3577/3577 3575/3575/3575\nf 3575/3575/3575 3574/3574/3574 3576/3576/3576\nf 3528/3528/3528 3525/3525/3525 3575/3575/3575\nf 3575/3575/3575 3577/3577/3577 3528/3528/3528\nf 3577/3577/3577 3576/3576/3576 3578/3578/3578\nf 3535/3535/3535 3528/3528/3528 3577/3577/3577\nf 3535/3535/3535 3577/3577/3577 3579/3579/3579\nf 3579/3579/3579 3577/3577/3577 3578/3578/3578\nf 3578/3578/3578 3580/3580/3580 3579/3579/3579\nf 3579/3579/3579 3581/3581/3581 3582/3582/3582\nf 3579/3579/3579 3582/3582/3582 3583/3583/3583\nf 3579/3579/3579 3583/3583/3583 3535/3535/3535\nf 3568/3568/3568 3584/3584/3584 3570/3570/3570\nf 3570/3570/3570 3517/3517/3517 3568/3568/3568\nf 3585/3585/3585 3586/3586/3586 3570/3570/3570\nf 3570/3570/3570 3584/3584/3584 3585/3585/3585\nf 3570/3570/3570 3586/3586/3586 3581/3581/3581\nf 3578/3578/3578 3572/3572/3572 3570/3570/3570\nf 3570/3570/3570 3580/3580/3580 3578/3578/3578\nf 3587/3587/3587 3588/3588/3588 3589/3589/3589\nf 3588/3588/3588 3590/3590/3590 3589/3589/3589\nf 3574/3574/3574 3572/3572/3572 3589/3589/3589\nf 3589/3589/3589 3590/3590/3590 3574/3574/3574\nf 3588/3588/3588 3591/3591/3591 3590/3590/3590\nf 3591/3591/3591 3592/3592/3592 3590/3590/3590\nf 3576/3576/3576 3574/3574/3574 3590/3590/3590\nf 3590/3590/3590 3592/3592/3592 3576/3576/3576\nf 3592/3592/3592 3591/3591/3591 3587/3587/3587\nf 3578/3578/3578 3576/3576/3576 3592/3592/3592\nf 3578/3578/3578 3592/3592/3592 3589/3589/3589\nf 3589/3589/3589 3592/3592/3592 3587/3587/3587\nf 3589/3589/3589 3572/3572/3572 3578/3578/3578\nf 3593/3593/3593 3588/3588/3588 3587/3587/3587\nf 3594/3594/3594 3595/3595/3595 3593/3593/3593\nf 3595/3595/3595 3596/3596/3596 3593/3593/3593\nf 3593/3593/3593 3596/3596/3596 3588/3588/3588\nf 3596/3596/3596 3591/3591/3591 3588/3588/3588\nf 3595/3595/3595 3597/3597/3597 3596/3596/3596\nf 3591/3591/3591 3596/3596/3596 3598/3598/3598\nf 3598/3598/3598 3596/3596/3596 3597/3597/3597\nf 3587/3587/3587 3591/3591/3591 3598/3598/3598\nf 3594/3594/3594 3593/3593/3593 3598/3598/3598\nf 3598/3598/3598 3597/3597/3597 3594/3594/3594\nf 3598/3598/3598 3593/3593/3593 3587/3587/3587\nf 3599/3599/3599 3595/3595/3595 3594/3594/3594\nf 3595/3595/3595 3599/3599/3599 3600/3600/3600\nf 3600/3600/3600 3597/3597/3597 3595/3595/3595\nf 3600/3600/3600 3599/3599/3599 3601/3601/3601\nf 3597/3597/3597 3600/3600/3600 3602/3602/3602\nf 3602/3602/3602 3600/3600/3600 3601/3601/3601\nf 3594/3594/3594 3597/3597/3597 3602/3602/3602\nf 3594/3594/3594 3602/3602/3602 3599/3599/3599\nf 3599/3599/3599 3602/3602/3602 3601/3601/3601\nf 3488/3488/3488 3603/3603/3603 3604/3604/3604\nf 3604/3604/3604 3479/3479/3479 3488/3488/3488\nf 3605/3605/3605 3606/3606/3606 3604/3604/3604\nf 3604/3604/3604 3603/3603/3603 3605/3605/3605\nf 3607/3607/3607 3608/3608/3608 3604/3604/3604\nf 3604/3604/3604 3606/3606/3606 3607/3607/3607\nf 3608/3608/3608 3609/3609/3609 3604/3604/3604\nf 3476/3476/3476 3479/3479/3479 3604/3604/3604\nf 3604/3604/3604 3609/3609/3609 3476/3476/3476\nf 3610/3610/3610 3611/3611/3611 3612/3612/3612\nf 3612/3612/3612 3613/3613/3613 3610/3610/3610\nf 3494/3494/3494 3496/3496/3496 3612/3612/3612\nf 3612/3612/3612 3611/3611/3611 3494/3494/3494\nf 3454/3454/3454 3451/3451/3451 3612/3612/3612\nf 3612/3612/3612 3496/3496/3496 3454/3454/3454\nf 3450/3450/3450 3613/3613/3613 3612/3612/3612\nf 3612/3612/3612 3451/3451/3451 3450/3450/3450\nf 3605/3605/3605 3603/3603/3603 3614/3614/3614\nf 3614/3614/3614 3615/3615/3615 3605/3605/3605\nf 3488/3488/3488 3487/3487/3487 3614/3614/3614\nf 3614/3614/3614 3603/3603/3603 3488/3488/3488\nf 3486/3486/3486 3616/3616/3616 3614/3614/3614\nf 3614/3614/3614 3487/3487/3487 3486/3486/3486\nf 3617/3617/3617 3615/3615/3615 3614/3614/3614\nf 3614/3614/3614 3616/3616/3616 3617/3617/3617\nf 3494/3494/3494 3611/3611/3611 3618/3618/3618\nf 3618/3618/3618 3490/3490/3490 3494/3494/3494\nf 3610/3610/3610 3619/3619/3619 3618/3618/3618\nf 3618/3618/3618 3611/3611/3611 3610/3610/3610\nf 3617/3617/3617 3616/3616/3616 3618/3618/3618\nf 3618/3618/3618 3619/3619/3619 3617/3617/3617\nf 3486/3486/3486 3490/3490/3490 3618/3618/3618\nf 3618/3618/3618 3616/3616/3616 3486/3486/3486\nf 3620/3620/3620 3621/3621/3621 3622/3622/3622\nf 3622/3622/3622 3623/3623/3623 3620/3620/3620\nf 3624/3624/3624 3625/3625/3625 3622/3622/3622\nf 3622/3622/3622 3621/3621/3621 3624/3624/3624\nf 3626/3626/3626 3627/3627/3627 3622/3622/3622\nf 3622/3622/3622 3625/3625/3625 3626/3626/3626\nf 3628/3628/3628 3623/3623/3623 3622/3622/3622\nf 3622/3622/3622 3627/3627/3627 3628/3628/3628\nf 3629/3629/3629 3630/3630/3630 3631/3631/3631\nf 3631/3631/3631 3630/3630/3630 3632/3632/3632\nf 3631/3631/3631 3632/3632/3632 3633/3633/3633\nf 3633/3633/3633 3634/3634/3634 3631/3631/3631\nf 3635/3635/3635 3634/3634/3634 3633/3633/3633\nf 3633/3633/3633 3636/3636/3636 3635/3635/3635\nf 3635/3635/3635 3636/3636/3636 3637/3637/3637\nf 3637/3637/3637 3638/3638/3638 3635/3635/3635\nf 3639/3639/3639 3638/3638/3638 3637/3637/3637\nf 3637/3637/3637 3640/3640/3640 3639/3639/3639\nf 3639/3639/3639 3640/3640/3640 3641/3641/3641\nf 3640/3640/3640 3642/3642/3642 3641/3641/3641\nf 3641/3641/3641 3642/3642/3642 3643/3643/3643\nf 3641/3641/3641 3643/3643/3643 3644/3644/3644\nf 3644/3644/3644 3643/3643/3643 3645/3645/3645\nf 3645/3645/3645 3646/3646/3646 3644/3644/3644\nf 3647/3647/3647 3646/3646/3646 3645/3645/3645\nf 3645/3645/3645 3648/3648/3648 3647/3647/3647\nf 3649/3649/3649 3650/3650/3650 3651/3651/3651\nf 3652/3652/3652 3650/3650/3650 3649/3649/3649\nf 3652/3652/3652 3649/3649/3649 3653/3653/3653\nf 3653/3653/3653 3649/3649/3649 3651/3651/3651\nf 3642/3642/3642 3640/3640/3640 3654/3654/3654\nf 3655/3655/3655 3643/3643/3643 3642/3642/3642\nf 3642/3642/3642 3654/3654/3654 3655/3655/3655\nf 3636/3636/3636 3654/3654/3654 3637/3637/3637\nf 3654/3654/3654 3640/3640/3640 3637/3637/3637\nf 3633/3633/3633 3654/3654/3654 3636/3636/3636\nf 3632/3632/3632 3651/3651/3651 3633/3633/3633\nf 3630/3630/3630 3651/3651/3651 3632/3632/3632\nf 3656/3656/3656 3657/3657/3657 3653/3653/3653\nf 3653/3653/3653 3657/3657/3657 3658/3658/3658\nf 3645/3645/3645 3643/3643/3643 3655/3655/3655\nf 3659/3659/3659 3660/3660/3660 3658/3658/3658\nf 3658/3658/3658 3657/3657/3657 3659/3659/3659\nf 3647/3647/3647 3648/3648/3648 3658/3658/3658\nf 3658/3658/3658 3660/3660/3660 3647/3647/3647\nf 3656/3656/3656 3661/3661/3661 3662/3662/3662\nf 3659/3659/3659 3657/3657/3657 3656/3656/3656\nf 3629/3629/3629 3663/3663/3663 3664/3664/3664\nf 3662/3662/3662 3661/3661/3661 3664/3664/3664\nf 3664/3664/3664 3663/3663/3663 3662/3662/3662\nf 3655/3655/3655 3654/3654/3654 3651/3651/3651\nf 3655/3655/3655 3650/3650/3650 3653/3653/3653\nf 3653/3653/3653 3650/3650/3650 3652/3652/3652\nf 3655/3655/3655 3651/3651/3651 3650/3650/3650\nf 3629/3629/3629 3664/3664/3664 3651/3651/3651\nf 3661/3661/3661 3653/3653/3653 3651/3651/3651\nf 3651/3651/3651 3664/3664/3664 3661/3661/3661\nf 3661/3661/3661 3656/3656/3656 3653/3653/3653\nf 3648/3648/3648 3655/3655/3655 3653/3653/3653\nf 3653/3653/3653 3658/3658/3658 3648/3648/3648\nf 3648/3648/3648 3645/3645/3645 3655/3655/3655\nf 3654/3654/3654 3633/3633/3633 3651/3651/3651\nf 3651/3651/3651 3630/3630/3630 3629/3629/3629\nf 3624/3624/3624 3644/3644/3644 3646/3646/3646\nf 3646/3646/3646 3647/3647/3647 3665/3665/3665\nf 3665/3665/3665 3647/3647/3647 3659/3659/3659\nf 3659/3659/3659 3666/3666/3666 3665/3665/3665\nf 3647/3647/3647 3660/3660/3660 3659/3659/3659\nf 3667/3667/3667 3668/3668/3668 3659/3659/3659\nf 3659/3659/3659 3669/3669/3669 3667/3667/3667\nf 3668/3668/3668 3666/3666/3666 3659/3659/3659\nf 3667/3667/3667 3669/3669/3669 3662/3662/3662\nf 3662/3662/3662 3670/3670/3670 3667/3667/3667\nf 3659/3659/3659 3656/3656/3656 3662/3662/3662\nf 3662/3662/3662 3669/3669/3669 3659/3659/3659\nf 3631/3631/3631 3670/3670/3670 3662/3662/3662\nf 3662/3662/3662 3663/3663/3663 3631/3631/3631\nf 3629/3629/3629 3631/3631/3631 3663/3663/3663\nf 3671/3671/3671 3672/3672/3672 3673/3673/3673\nf 3673/3673/3673 3674/3674/3674 3671/3671/3671\nf 3631/3631/3631 3634/3634/3634 3673/3673/3673\nf 3673/3673/3673 3672/3672/3672 3631/3631/3631\nf 3635/3635/3635 3675/3675/3675 3673/3673/3673\nf 3673/3673/3673 3634/3634/3634 3635/3635/3635\nf 3620/3620/3620 3674/3674/3674 3673/3673/3673\nf 3673/3673/3673 3675/3675/3675 3620/3620/3620\nf 3620/3620/3620 3675/3675/3675 3639/3639/3639\nf 3639/3639/3639 3621/3621/3621 3620/3620/3620\nf 3635/3635/3635 3638/3638/3638 3639/3639/3639\nf 3639/3639/3639 3675/3675/3675 3635/3635/3635\nf 3624/3624/3624 3621/3621/3621 3639/3639/3639\nf 3639/3639/3639 3641/3641/3641 3624/3624/3624\nf 3641/3641/3641 3644/3644/3644 3624/3624/3624\nf 3676/3676/3676 3668/3668/3668 3667/3667/3667\nf 3677/3677/3677 3678/3678/3678 3679/3679/3679\nf 3464/3464/3464 3463/3463/3463 3679/3679/3679\nf 3679/3679/3679 3678/3678/3678 3464/3464/3464\nf 3462/3462/3462 3505/3505/3505 3679/3679/3679\nf 3679/3679/3679 3463/3463/3463 3462/3462/3462\nf 3679/3679/3679 3505/3505/3505 3515/3515/3515\nf 3668/3668/3668 3680/3680/3680 3681/3681/3681\nf 3681/3681/3681 3682/3682/3682 3668/3668/3668\nf 3666/3666/3666 3682/3682/3682 3681/3681/3681\nf 3681/3681/3681 3683/3683/3683 3666/3666/3666\nf 3666/3666/3666 3683/3683/3683 3684/3684/3684\nf 3683/3683/3683 3685/3685/3685 3684/3684/3684\nf 3684/3684/3684 3685/3685/3685 3686/3686/3686\nf 3686/3686/3686 3687/3687/3687 3688/3688/3688\nf 3688/3688/3688 3687/3687/3687 3689/3689/3689\nf 3690/3690/3690 3678/3678/3678 3689/3689/3689\nf 3691/3691/3691 3464/3464/3464 3690/3690/3690\nf 3464/3464/3464 3678/3678/3678 3690/3690/3690\nf 3692/3692/3692 3465/3465/3465 3464/3464/3464\nf 3692/3692/3692 3464/3464/3464 3691/3691/3691\nf 3693/3693/3693 3694/3694/3694 3692/3692/3692\nf 3694/3694/3694 3465/3465/3465 3692/3692/3692\nf 3695/3695/3695 3696/3696/3696 3697/3697/3697\nf 3698/3698/3698 3696/3696/3696 3695/3695/3695\nf 3697/3697/3697 3698/3698/3698 3695/3695/3695\nf 3690/3690/3690 3699/3699/3699 3700/3700/3700\nf 3701/3701/3701 3700/3700/3700 3687/3687/3687\nf 3700/3700/3700 3699/3699/3699 3687/3687/3687\nf 3683/3683/3683 3697/3697/3697 3685/3685/3685\nf 3685/3685/3685 3697/3697/3697 3701/3701/3701\nf 3681/3681/3681 3680/3680/3680 3697/3697/3697\nf 3681/3681/3681 3697/3697/3697 3683/3683/3683\nf 3702/3702/3702 3698/3698/3698 3703/3703/3703\nf 3697/3697/3697 3680/3680/3680 3703/3703/3703\nf 3703/3703/3703 3698/3698/3698 3697/3697/3697\nf 3693/3693/3693 3704/3704/3704 3466/3466/3466\nf 3466/3466/3466 3694/3694/3694 3693/3693/3693\nf 3466/3466/3466 3704/3704/3704 3705/3705/3705\nf 3705/3705/3705 3706/3706/3706 3468/3468/3468\nf 3468/3468/3468 3466/3466/3466 3705/3705/3705\nf 3702/3702/3702 3707/3707/3707 3468/3468/3468\nf 3468/3468/3468 3706/3706/3706 3702/3702/3702\nf 3703/3703/3703 3707/3707/3707 3702/3702/3702\nf 3668/3668/3668 3676/3676/3676 3703/3703/3703\nf 3703/3703/3703 3680/3680/3680 3668/3668/3668\nf 3703/3703/3703 3676/3676/3676 3707/3707/3707\nf 3689/3689/3689 3699/3699/3699 3690/3690/3690\nf 3687/3687/3687 3699/3699/3699 3689/3689/3689\nf 3686/3686/3686 3701/3701/3701 3687/3687/3687\nf 3685/3685/3685 3701/3701/3701 3686/3686/3686\nf 3708/3708/3708 3700/3700/3700 3697/3697/3697\nf 3708/3708/3708 3696/3696/3696 3698/3698/3698\nf 3708/3708/3708 3697/3697/3697 3696/3696/3696\nf 3702/3702/3702 3706/3706/3706 3698/3698/3698\nf 3698/3698/3698 3706/3706/3706 3705/3705/3705\nf 3705/3705/3705 3704/3704/3704 3698/3698/3698\nf 3693/3693/3693 3708/3708/3708 3698/3698/3698\nf 3698/3698/3698 3704/3704/3704 3693/3693/3693\nf 3693/3693/3693 3692/3692/3692 3708/3708/3708\nf 3708/3708/3708 3692/3692/3692 3691/3691/3691\nf 3691/3691/3691 3690/3690/3690 3708/3708/3708\nf 3708/3708/3708 3690/3690/3690 3700/3700/3700\nf 3697/3697/3697 3700/3700/3700 3701/3701/3701\nf 3668/3668/3668 3682/3682/3682 3666/3666/3666\nf 3666/3666/3666 3684/3684/3684 3665/3665/3665\nf 3684/3684/3684 3686/3686/3686 3665/3665/3665\nf 3665/3665/3665 3686/3686/3686 3688/3688/3688\nf 3688/3688/3688 3689/3689/3689 3677/3677/3677\nf 3677/3677/3677 3689/3689/3689 3678/3678/3678\nf 3465/3465/3465 3694/3694/3694 3466/3466/3466\nf 3709/3709/3709 3710/3710/3710 3711/3711/3711\nf 3625/3625/3625 3709/3709/3709 3711/3711/3711\nf 3625/3625/3625 3711/3711/3711 3712/3712/3712\nf 3626/3626/3626 3625/3625/3625 3712/3712/3712\nf 3712/3712/3712 3713/3713/3713 3626/3626/3626\nf 3714/3714/3714 3715/3715/3715 3713/3713/3713\nf 3716/3716/3716 3717/3717/3717 3714/3714/3714\nf 3717/3717/3717 3715/3715/3715 3714/3714/3714\nf 3718/3718/3718 3717/3717/3717 3716/3716/3716\nf 3719/3719/3719 3720/3720/3720 3721/3721/3721\nf 3711/3711/3711 3710/3710/3710 3722/3722/3722\nf 3712/3712/3712 3719/3719/3719 3713/3713/3713\nf 3712/3712/3712 3711/3711/3711 3723/3723/3723\nf 3712/3712/3712 3723/3723/3723 3719/3719/3719\nf 3723/3723/3723 3711/3711/3711 3722/3722/3722\nf 3724/3724/3724 3725/3725/3725 3726/3726/3726\nf 3725/3725/3725 3722/3722/3722 3727/3727/3727\nf 3725/3725/3725 3727/3727/3727 3726/3726/3726\nf 3709/3709/3709 3646/3646/3646 3722/3722/3722\nf 3722/3722/3722 3710/3710/3710 3709/3709/3709\nf 3722/3722/3722 3646/3646/3646 3727/3727/3727\nf 3719/3719/3719 3723/3723/3723 3720/3720/3720\nf 3722/3722/3722 3720/3720/3720 3723/3723/3723\nf 3722/3722/3722 3725/3725/3725 3720/3720/3720\nf 3725/3725/3725 3724/3724/3724 3720/3720/3720\nf 3718/3718/3718 3721/3721/3721 3720/3720/3720\nf 3720/3720/3720 3724/3724/3724 3718/3718/3718\nf 3721/3721/3721 3718/3718/3718 3716/3716/3716\nf 3716/3716/3716 3714/3714/3714 3719/3719/3719\nf 3719/3719/3719 3721/3721/3721 3716/3716/3716\nf 3719/3719/3719 3714/3714/3714 3713/3713/3713\nf 3665/3665/3665 3727/3727/3727 3646/3646/3646\nf 3646/3646/3646 3709/3709/3709 3624/3624/3624\nf 3709/3709/3709 3625/3625/3625 3624/3624/3624\nf 3626/3626/3626 3713/3713/3713 3715/3715/3715\nf 3715/3715/3715 3717/3717/3717 3728/3728/3728\nf 3728/3728/3728 3717/3717/3717 3729/3729/3729\nf 3718/3718/3718 3724/3724/3724 3729/3729/3729\nf 3729/3729/3729 3717/3717/3717 3718/3718/3718\nf 3729/3729/3729 3724/3724/3724 3726/3726/3726\nf 3729/3729/3729 3726/3726/3726 3665/3665/3665\nf 3665/3665/3665 3726/3726/3726 3727/3727/3727\nf 3730/3730/3730 3731/3731/3731 3677/3677/3677\nf 3732/3732/3732 3733/3733/3733 3679/3679/3679\nf 3679/3679/3679 3733/3733/3733 3730/3730/3730\nf 3515/3515/3515 3734/3734/3734 3732/3732/3732\nf 3734/3734/3734 3515/3515/3515 3735/3735/3735\nf 3736/3736/3736 3737/3737/3737 3738/3738/3738\nf 3738/3738/3738 3737/3737/3737 3739/3739/3739\nf 3731/3731/3731 3740/3740/3740 3688/3688/3688\nf 3736/3736/3736 3741/3741/3741 3740/3740/3740\nf 3733/3733/3733 3732/3732/3732 3734/3734/3734\nf 3742/3742/3742 3743/3743/3743 3735/3735/3735\nf 3735/3735/3735 3737/3737/3737 3742/3742/3742\nf 3735/3735/3735 3743/3743/3743 3734/3734/3734\nf 3734/3734/3734 3743/3743/3743 3733/3733/3733\nf 3744/3744/3744 3730/3730/3730 3733/3733/3733\nf 3731/3731/3731 3745/3745/3745 3740/3740/3740\nf 3745/3745/3745 3742/3742/3742 3736/3736/3736\nf 3736/3736/3736 3740/3740/3740 3745/3745/3745\nf 3742/3742/3742 3737/3737/3737 3736/3736/3736\nf 3738/3738/3738 3729/3729/3729 3736/3736/3736\nf 3736/3736/3736 3729/3729/3729 3741/3741/3741\nf 3688/3688/3688 3740/3740/3740 3741/3741/3741\nf 3677/3677/3677 3731/3731/3731 3688/3688/3688\nf 3739/3739/3739 3737/3737/3737 3735/3735/3735\nf 3745/3745/3745 3743/3743/3743 3742/3742/3742\nf 3743/3743/3743 3745/3745/3745 3744/3744/3744\nf 3744/3744/3744 3733/3733/3733 3743/3743/3743\nf 3731/3731/3731 3730/3730/3730 3744/3744/3744\nf 3744/3744/3744 3745/3745/3745 3731/3731/3731\nf 3665/3665/3665 3688/3688/3688 3741/3741/3741\nf 3665/3665/3665 3741/3741/3741 3729/3729/3729\nf 3729/3729/3729 3738/3738/3738 3728/3728/3728\nf 3738/3738/3738 3739/3739/3739 3728/3728/3728\nf 3728/3728/3728 3739/3739/3739 3735/3735/3735\nf 3735/3735/3735 3746/3746/3746 3728/3728/3728\nf 3515/3515/3515 3746/3746/3746 3735/3735/3735\nf 3679/3679/3679 3515/3515/3515 3732/3732/3732\nf 3679/3679/3679 3730/3730/3730 3677/3677/3677\nf 3747/3747/3747 3748/3748/3748 3749/3749/3749\nf 3514/3514/3514 3513/3513/3513 3750/3750/3750\nf 3751/3751/3751 3746/3746/3746 3752/3752/3752\nf 3514/3514/3514 3753/3753/3753 3754/3754/3754\nf 3747/3747/3747 3749/3749/3749 3750/3750/3750\nf 3749/3749/3749 3514/3514/3514 3750/3750/3750\nf 3751/3751/3751 3752/3752/3752 3753/3753/3753\nf 3753/3753/3753 3748/3748/3748 3751/3751/3751\nf 3747/3747/3747 3755/3755/3755 3751/3751/3751\nf 3751/3751/3751 3748/3748/3748 3747/3747/3747\nf 3755/3755/3755 3756/3756/3756 3751/3751/3751\nf 3750/3750/3750 3755/3755/3755 3747/3747/3747\nf 3755/3755/3755 3757/3757/3757 3756/3756/3756\nf 3756/3756/3756 3757/3757/3757 3751/3751/3751\nf 3749/3749/3749 3748/3748/3748 3758/3758/3758\nf 3753/3753/3753 3758/3758/3758 3748/3748/3748\nf 3749/3749/3749 3758/3758/3758 3514/3514/3514\nf 3758/3758/3758 3753/3753/3753 3514/3514/3514\nf 3515/3515/3515 3752/3752/3752 3746/3746/3746\nf 3728/3728/3728 3746/3746/3746 3751/3751/3751\nf 3751/3751/3751 3759/3759/3759 3728/3728/3728\nf 3757/3757/3757 3759/3759/3759 3751/3751/3751\nf 3760/3760/3760 3757/3757/3757 3755/3755/3755\nf 3760/3760/3760 3755/3755/3755 3750/3750/3750\nf 3515/3515/3515 3514/3514/3514 3754/3754/3754\nf 3754/3754/3754 3753/3753/3753 3515/3515/3515\nf 3753/3753/3753 3752/3752/3752 3515/3515/3515\nf 3761/3761/3761 3762/3762/3762 3763/3763/3763\nf 3764/3764/3764 3762/3762/3762 3761/3761/3761\nf 3764/3764/3764 3765/3765/3765 3762/3762/3762\nf 3766/3766/3766 3765/3765/3765 3764/3764/3764\nf 3767/3767/3767 3768/3768/3768 3757/3757/3757\nf 3768/3768/3768 3769/3769/3769 3759/3759/3759\nf 3768/3768/3768 3767/3767/3767 3769/3769/3769\nf 3763/3763/3763 3769/3769/3769 3761/3761/3761\nf 3770/3770/3770 3769/3769/3769 3763/3763/3763\nf 3766/3766/3766 3764/3764/3764 3771/3771/3771\nf 3764/3764/3764 3761/3761/3761 3771/3771/3771\nf 3761/3761/3761 3769/3769/3769 3771/3771/3771\nf 3757/3757/3757 3768/3768/3768 3759/3759/3759\nf 3759/3759/3759 3769/3769/3769 3770/3770/3770\nf 3769/3769/3769 3767/3767/3767 3772/3772/3772\nf 3772/3772/3772 3771/3771/3771 3769/3769/3769\nf 3767/3767/3767 3766/3766/3766 3772/3772/3772\nf 3772/3772/3772 3766/3766/3766 3771/3771/3771\nf 3728/3728/3728 3759/3759/3759 3770/3770/3770\nf 3770/3770/3770 3715/3715/3715 3728/3728/3728\nf 3626/3626/3626 3715/3715/3715 3770/3770/3770\nf 3626/3626/3626 3770/3770/3770 3763/3763/3763\nf 3763/3763/3763 3762/3762/3762 3626/3626/3626\nf 3760/3760/3760 3766/3766/3766 3767/3767/3767\nf 3767/3767/3767 3757/3757/3757 3760/3760/3760\nf 3773/3773/3773 3774/3774/3774 3775/3775/3775\nf 3773/3773/3773 3776/3776/3776 3774/3774/3774\nf 3777/3777/3777 3776/3776/3776 3773/3773/3773\nf 3766/3766/3766 3778/3778/3778 3779/3779/3779\nf 3780/3780/3780 3777/3777/3777 3773/3773/3773\nf 3775/3775/3775 3779/3779/3779 3780/3780/3780\nf 3778/3778/3778 3780/3780/3780 3779/3779/3779\nf 3781/3781/3781 3778/3778/3778 3760/3760/3760\nf 3781/3781/3781 3780/3780/3780 3778/3778/3778\nf 3781/3781/3781 3777/3777/3777 3780/3780/3780\nf 3773/3773/3773 3775/3775/3775 3780/3780/3780\nf 3760/3760/3760 3778/3778/3778 3766/3766/3766\nf 3766/3766/3766 3779/3779/3779 3765/3765/3765\nf 3765/3765/3765 3779/3779/3779 3775/3775/3775\nf 3511/3511/3511 3782/3782/3782 3512/3512/3512\nf 3783/3783/3783 3782/3782/3782 3511/3511/3511\nf 3784/3784/3784 3785/3785/3785 3750/3750/3750\nf 3786/3786/3786 3782/3782/3782 3783/3783/3783\nf 3785/3785/3785 3784/3784/3784 3786/3786/3786\nf 3781/3781/3781 3785/3785/3785 3787/3787/3787\nf 3781/3781/3781 3787/3787/3787 3786/3786/3786\nf 3783/3783/3783 3781/3781/3781 3786/3786/3786\nf 3781/3781/3781 3760/3760/3760 3785/3785/3785\nf 3787/3787/3787 3785/3785/3785 3786/3786/3786\nf 3512/3512/3512 3782/3782/3782 3786/3786/3786\nf 3784/3784/3784 3512/3512/3512 3786/3786/3786\nf 3512/3512/3512 3784/3784/3784 3513/3513/3513\nf 3750/3750/3750 3513/3513/3513 3784/3784/3784\nf 3750/3750/3750 3785/3785/3785 3760/3760/3760\nf 3781/3781/3781 3783/3783/3783 3777/3777/3777\nf 3788/3788/3788 3789/3789/3789 3783/3783/3783\nf 3788/3788/3788 3510/3510/3510 3789/3789/3789\nf 3790/3790/3790 3791/3791/3791 3510/3510/3510\nf 3791/3791/3791 3789/3789/3789 3510/3510/3510\nf 3791/3791/3791 3792/3792/3792 3793/3793/3793\nf 3790/3790/3790 3509/3509/3509 3791/3791/3791\nf 3509/3509/3509 3792/3792/3792 3791/3791/3791\nf 3509/3509/3509 3790/3790/3790 3510/3510/3510\nf 3510/3510/3510 3788/3788/3788 3511/3511/3511\nf 3511/3511/3511 3788/3788/3788 3783/3783/3783\nf 3777/3777/3777 3783/3783/3783 3789/3789/3789\nf 3777/3777/3777 3789/3789/3789 3791/3791/3791\nf 3794/3794/3794 3795/3795/3795 3796/3796/3796\nf 3797/3797/3797 3794/3794/3794 3796/3796/3796\nf 3798/3798/3798 3799/3799/3799 3794/3794/3794\nf 3798/3798/3798 3794/3794/3794 3797/3797/3797\nf 3797/3797/3797 3776/3776/3776 3798/3798/3798\nf 3796/3796/3796 3800/3800/3800 3797/3797/3797\nf 3776/3776/3776 3801/3801/3801 3798/3798/3798\nf 3798/3798/3798 3801/3801/3801 3799/3799/3799\nf 3776/3776/3776 3797/3797/3797 3774/3774/3774\nf 3774/3774/3774 3797/3797/3797 3800/3800/3800\nf 3800/3800/3800 3796/3796/3796 3795/3795/3795\nf 3794/3794/3794 3799/3799/3799 3793/3793/3793\nf 3799/3799/3799 3801/3801/3801 3793/3793/3793\nf 3801/3801/3801 3791/3791/3791 3793/3793/3793\nf 3777/3777/3777 3791/3791/3791 3801/3801/3801\nf 3777/3777/3777 3801/3801/3801 3776/3776/3776\nf 3476/3476/3476 3609/3609/3609 3802/3802/3802\nf 3802/3802/3802 3803/3803/3803 3476/3476/3476\nf 3608/3608/3608 3804/3804/3804 3802/3802/3802\nf 3802/3802/3802 3609/3609/3609 3608/3608/3608\nf 3671/3671/3671 3674/3674/3674 3802/3802/3802\nf 3802/3802/3802 3804/3804/3804 3671/3671/3671\nf 3620/3620/3620 3623/3623/3623 3802/3802/3802\nf 3802/3802/3802 3674/3674/3674 3620/3620/3620\nf 3628/3628/3628 3803/3803/3803 3802/3802/3802\nf 3802/3802/3802 3623/3623/3623 3628/3628/3628\nf 3480/3480/3480 3805/3805/3805 3806/3806/3806\nf 3806/3806/3806 3481/3481/3481 3480/3480/3480\nf 3469/3469/3469 3472/3472/3472 3806/3806/3806\nf 3806/3806/3806 3805/3805/3805 3469/3469/3469\nf 3475/3475/3475 3807/3807/3807 3806/3806/3806\nf 3806/3806/3806 3472/3472/3472 3475/3475/3475\nf 3482/3482/3482 3481/3481/3481 3806/3806/3806\nf 3806/3806/3806 3807/3807/3807 3482/3482/3482\nf 3808/3808/3808 3508/3508/3508 3809/3809/3809\nf 3808/3808/3808 3810/3810/3810 3508/3508/3508\nf 3811/3811/3811 3810/3810/3810 3792/3792/3792\nf 3793/3793/3793 3792/3792/3792 3810/3810/3810\nf 3810/3810/3810 3808/3808/3808 3793/3793/3793\nf 3810/3810/3810 3811/3811/3811 3508/3508/3508\nf 3508/3508/3508 3811/3811/3811 3509/3509/3509\nf 3811/3811/3811 3792/3792/3792 3509/3509/3509\nf 3794/3794/3794 3793/3793/3793 3812/3812/3812\nf 3813/3813/3813 3793/3793/3793 3814/3814/3814\nf 3812/3812/3812 3793/3793/3793 3813/3813/3813\nf 3793/3793/3793 3808/3808/3808 3814/3814/3814\nf 3795/3795/3795 3794/3794/3794 3812/3812/3812\nf 3813/3813/3813 3795/3795/3795 3812/3812/3812\nf 3814/3814/3814 3808/3808/3808 3809/3809/3809\nf 3809/3809/3809 3508/3508/3508 3815/3815/3815\nf 3809/3809/3809 3815/3815/3815 3816/3816/3816\nf 3815/3815/3815 3508/3508/3508 3817/3817/3817\nf 3815/3815/3815 3818/3818/3818 3819/3819/3819\nf 3507/3507/3507 3818/3818/3818 3815/3815/3815\nf 3815/3815/3815 3817/3817/3817 3507/3507/3507\nf 3817/3817/3817 3508/3508/3508 3507/3507/3507\nf 3816/3816/3816 3815/3815/3815 3819/3819/3819\nf 3820/3820/3820 3821/3821/3821 3822/3822/3822\nf 3821/3821/3821 3820/3820/3820 3473/3473/3473\nf 3473/3473/3473 3814/3814/3814 3821/3821/3821\nf 3816/3816/3816 3821/3821/3821 3814/3814/3814\nf 3822/3822/3822 3821/3821/3821 3816/3816/3816\nf 3819/3819/3819 3822/3822/3822 3816/3816/3816\nf 3809/3809/3809 3816/3816/3816 3814/3814/3814\nf 3814/3814/3814 3473/3473/3473 3813/3813/3813\nf 3474/3474/3474 3473/3473/3473 3820/3820/3820\nf 3820/3820/3820 3822/3822/3822 3819/3819/3819\nf 3550/3550/3550 3823/3823/3823 3824/3824/3824\nf 3818/3818/3818 3824/3824/3824 3823/3823/3823\nf 3823/3823/3823 3819/3819/3819 3818/3818/3818\nf 3824/3824/3824 3551/3551/3551 3550/3550/3550\nf 3507/3507/3507 3551/3551/3551 3824/3824/3824\nf 3507/3507/3507 3824/3824/3824 3818/3818/3818\nf 3825/3825/3825 3826/3826/3826 3827/3827/3827\nf 3825/3825/3825 3827/3827/3827 3820/3820/3820\nf 3825/3825/3825 3820/3820/3820 3819/3819/3819\nf 3474/3474/3474 3820/3820/3820 3827/3827/3827\nf 3827/3827/3827 3552/3552/3552 3474/3474/3474\nf 3554/3554/3554 3552/3552/3552 3827/3827/3827\nf 3827/3827/3827 3826/3826/3826 3554/3554/3554\nf 3826/3826/3826 3825/3825/3825 3823/3823/3823\nf 3823/3823/3823 3825/3825/3825 3819/3819/3819\nf 3828/3828/3828 3829/3829/3829 3823/3823/3823\nf 3828/3828/3828 3830/3830/3830 3829/3829/3829\nf 3830/3830/3830 3828/3828/3828 3549/3549/3549\nf 3550/3550/3550 3549/3549/3549 3828/3828/3828\nf 3823/3823/3823 3550/3550/3550 3828/3828/3828\nf 3829/3829/3829 3830/3830/3830 3831/3831/3831\nf 3829/3829/3829 3831/3831/3831 3832/3832/3832\nf 3832/3832/3832 3826/3826/3826 3829/3829/3829\nf 3832/3832/3832 3555/3555/3555 3554/3554/3554\nf 3556/3556/3556 3555/3555/3555 3832/3832/3832\nf 3556/3556/3556 3832/3832/3832 3831/3831/3831\nf 3823/3823/3823 3829/3829/3829 3826/3826/3826\nf 3826/3826/3826 3832/3832/3832 3554/3554/3554\nf 3546/3546/3546 3833/3833/3833 3830/3830/3830\nf 3549/3549/3549 3547/3547/3547 3546/3546/3546\nf 3549/3549/3549 3546/3546/3546 3830/3830/3830\nf 3833/3833/3833 3831/3831/3831 3830/3830/3830\nf 3833/3833/3833 3546/3546/3546 3834/3834/3834\nf 3835/3835/3835 3831/3831/3831 3834/3834/3834\nf 3831/3831/3831 3833/3833/3833 3834/3834/3834\nf 3831/3831/3831 3835/3835/3835 3556/3556/3556\nf 3835/3835/3835 3557/3557/3557 3556/3556/3556\nf 3835/3835/3835 3834/3834/3834 3557/3557/3557\nf 3834/3834/3834 3836/3836/3836 3837/3837/3837\nf 3836/3836/3836 3834/3834/3834 3548/3548/3548\nf 3537/3537/3537 3836/3836/3836 3548/3548/3548\nf 3546/3546/3546 3548/3548/3548 3834/3834/3834\nf 3837/3837/3837 3836/3836/3836 3838/3838/3838\nf 3838/3838/3838 3559/3559/3559 3837/3837/3837\nf 3557/3557/3557 3834/3834/3834 3559/3559/3559\nf 3559/3559/3559 3834/3834/3834 3837/3837/3837\nf 3559/3559/3559 3558/3558/3558 3557/3557/3557\nf 3836/3836/3836 3545/3545/3545 3839/3839/3839\nf 3537/3537/3537 3545/3545/3545 3836/3836/3836\nf 3840/3840/3840 3559/3559/3559 3838/3838/3838\nf 3559/3559/3559 3840/3840/3840 3553/3553/3553\nf 3840/3840/3840 3838/3838/3838 3839/3839/3839\nf 3838/3838/3838 3836/3836/3836 3839/3839/3839\nf 3545/3545/3545 3544/3544/3544 3839/3839/3839\nf 3544/3544/3544 3560/3560/3560 3840/3840/3840\nf 3839/3839/3839 3544/3544/3544 3840/3840/3840\nf 3840/3840/3840 3562/3562/3562 3553/3553/3553\nf 3560/3560/3560 3562/3562/3562 3840/3840/3840\nf 3543/3543/3543 3841/3841/3841 3544/3544/3544\nf 3563/3563/3563 3560/3560/3560 3841/3841/3841\nf 3563/3563/3563 3841/3841/3841 3543/3543/3543\nf 3544/3544/3544 3841/3841/3841 3560/3560/3560\nf 3563/3563/3563 3561/3561/3561 3560/3560/3560\nf 3842/3842/3842 3543/3543/3543 3541/3541/3541\nf 3543/3543/3543 3542/3542/3542 3541/3541/3541\nf 3565/3565/3565 3563/3563/3563 3842/3842/3842\nf 3842/3842/3842 3563/3563/3563 3543/3543/3543\nf 3565/3565/3565 3564/3564/3564 3563/3563/3563\nf 3541/3541/3541 3540/3540/3540 3539/3539/3539\nf 3541/3541/3541 3539/3539/3539 3842/3842/3842\nf 3842/3842/3842 3539/3539/3539 3566/3566/3566\nf 3565/3565/3565 3842/3842/3842 3566/3566/3566\nf 3568/3568/3568 3539/3539/3539 3535/3535/3535\nf 3535/3535/3535 3583/3583/3583 3568/3568/3568\nf 3539/3539/3539 3538/3538/3538 3535/3535/3535\nf 3566/3566/3566 3539/3539/3539 3568/3568/3568\nf 3568/3568/3568 3567/3567/3567 3566/3566/3566\nf 3475/3475/3475 3516/3516/3516 3519/3519/3519\nf 3519/3519/3519 3807/3807/3807 3475/3475/3475\nf 3518/3518/3518 3521/3521/3521 3519/3519/3519\nf 3519/3519/3519 3516/3516/3516 3518/3518/3518\nf 3482/3482/3482 3807/3807/3807 3519/3519/3519\nf 3473/3473/3473 3843/3843/3843 3813/3813/3813\nf 3473/3473/3473 3470/3470/3470 3844/3844/3844\nf 3844/3844/3844 3843/3843/3843 3473/3473/3473\nf 3469/3469/3469 3845/3845/3845 3844/3844/3844\nf 3844/3844/3844 3470/3470/3470 3469/3469/3469\nf 3628/3628/3628 3627/3627/3627 3844/3844/3844\nf 3844/3844/3844 3845/3845/3845 3628/3628/3628\nf 3626/3626/3626 3762/3762/3762 3844/3844/3844\nf 3844/3844/3844 3627/3627/3627 3626/3626/3626\nf 3762/3762/3762 3765/3765/3765 3844/3844/3844\nf 3765/3765/3765 3775/3775/3775 3844/3844/3844\nf 3774/3774/3774 3800/3800/3800 3844/3844/3844\nf 3844/3844/3844 3775/3775/3775 3774/3774/3774\nf 3844/3844/3844 3800/3800/3800 3795/3795/3795\nf 3813/3813/3813 3843/3843/3843 3844/3844/3844\nf 3844/3844/3844 3795/3795/3795 3813/3813/3813\nf 3469/3469/3469 3805/3805/3805 3846/3846/3846\nf 3846/3846/3846 3845/3845/3845 3469/3469/3469\nf 3480/3480/3480 3477/3477/3477 3846/3846/3846\nf 3846/3846/3846 3805/3805/3805 3480/3480/3480\nf 3476/3476/3476 3803/3803/3803 3846/3846/3846\nf 3846/3846/3846 3477/3477/3477 3476/3476/3476\nf 3628/3628/3628 3845/3845/3845 3846/3846/3846\nf 3846/3846/3846 3803/3803/3803 3628/3628/3628\nf 3585/3585/3585 3568/3568/3568 3583/3583/3583\nf 3568/3568/3568 3585/3585/3585 3584/3584/3584\nf 3583/3583/3583 3582/3582/3582 3585/3585/3585\nf 3585/3585/3585 3582/3582/3582 3581/3581/3581\nf 3581/3581/3581 3586/3586/3586 3585/3585/3585\nf 3579/3579/3579 3570/3570/3570 3581/3581/3581\nf 3570/3570/3570 3579/3579/3579 3580/3580/3580\nf 3120/3120/3120 3847/3847/3847 3848/3848/3848\nf 3848/3848/3848 3121/3121/3121 3120/3120/3120\nf 3617/3617/3617 3619/3619/3619 3848/3848/3848\nf 3848/3848/3848 3847/3847/3847 3617/3617/3617\nf 3610/3610/3610 3849/3849/3849 3848/3848/3848\nf 3848/3848/3848 3619/3619/3619 3610/3610/3610\nf 3115/3115/3115 3121/3121/3121 3848/3848/3848\nf 3848/3848/3848 3849/3849/3849 3115/3115/3115\nf 3115/3115/3115 3849/3849/3849 3850/3850/3850\nf 3850/3850/3850 3851/3851/3851 3115/3115/3115\nf 3610/3610/3610 3613/3613/3613 3850/3850/3850\nf 3850/3850/3850 3849/3849/3849 3610/3610/3610\nf 3450/3450/3450 3852/3852/3852 3850/3850/3850\nf 3850/3850/3850 3613/3613/3613 3450/3450/3450\nf 3853/3853/3853 3851/3851/3851 3850/3850/3850\nf 3850/3850/3850 3852/3852/3852 3853/3853/3853\nf 3852/3852/3852 3854/3854/3854 3853/3853/3853\nf 3450/3450/3450 3453/3453/3453 3852/3852/3852\nf 3458/3458/3458 3854/3854/3854 3852/3852/3852\nf 3852/3852/3852 3453/3453/3453 3458/3458/3458\nf 3853/3853/3853 3854/3854/3854 3855/3855/3855\nf 3855/3855/3855 3856/3856/3856 3853/3853/3853\nf 3458/3458/3458 3460/3460/3460 3855/3855/3855\nf 3855/3855/3855 3854/3854/3854 3458/3458/3458\nf 3467/3467/3467 3857/3857/3857 3855/3855/3855\nf 3855/3855/3855 3460/3460/3460 3467/3467/3467\nf 3245/3245/3245 3856/3856/3856 3855/3855/3855\nf 3855/3855/3855 3857/3857/3857 3245/3245/3245\nf 3245/3245/3245 3857/3857/3857 3858/3858/3858\nf 3858/3858/3858 3240/3240/3240 3245/3245/3245\nf 3467/3467/3467 3468/3468/3468 3858/3858/3858\nf 3858/3858/3858 3857/3857/3857 3467/3467/3467\nf 3707/3707/3707 3859/3859/3859 3858/3858/3858\nf 3858/3858/3858 3468/3468/3468 3707/3707/3707\nf 3237/3237/3237 3240/3240/3240 3858/3858/3858\nf 3858/3858/3858 3859/3859/3859 3237/3237/3237\nf 3237/3237/3237 3859/3859/3859 3860/3860/3860\nf 3707/3707/3707 3676/3676/3676 3860/3860/3860\nf 3860/3860/3860 3859/3859/3859 3707/3707/3707\nf 3860/3860/3860 3676/3676/3676 3667/3667/3667\nf 3237/3237/3237 3860/3860/3860 3861/3861/3861\nf 3861/3861/3861 3274/3274/3274 3237/3237/3237\nf 3667/3667/3667 3670/3670/3670 3861/3861/3861\nf 3861/3861/3861 3860/3860/3860 3667/3667/3667\nf 3631/3631/3631 3862/3862/3862 3861/3861/3861\nf 3861/3861/3861 3670/3670/3670 3631/3631/3631\nf 3253/3253/3253 3274/3274/3274 3861/3861/3861\nf 3861/3861/3861 3862/3862/3862 3253/3253/3253\nf 3253/3253/3253 3862/3862/3862 3863/3863/3863\nf 3863/3863/3863 3248/3248/3248 3253/3253/3253\nf 3631/3631/3631 3672/3672/3672 3863/3863/3863\nf 3863/3863/3863 3862/3862/3862 3631/3631/3631\nf 3671/3671/3671 3864/3864/3864 3863/3863/3863\nf 3863/3863/3863 3672/3672/3672 3671/3671/3671\nf 3128/3128/3128 3248/3248/3248 3863/3863/3863\nf 3863/3863/3863 3864/3864/3864 3128/3128/3128\nf 3128/3128/3128 3864/3864/3864 3865/3865/3865\nf 3671/3671/3671 3804/3804/3804 3865/3865/3865\nf 3865/3865/3865 3864/3864/3864 3671/3671/3671\nf 3865/3865/3865 3804/3804/3804 3608/3608/3608\nf 3128/3128/3128 3865/3865/3865 3866/3866/3866\nf 3866/3866/3866 3129/3129/3129 3128/3128/3128\nf 3866/3866/3866 3865/3865/3865 3608/3608/3608\nf 3607/3607/3607 3867/3867/3867 3866/3866/3866\nf 3866/3866/3866 3608/3608/3608 3607/3607/3607\nf 3124/3124/3124 3129/3129/3129 3866/3866/3866\nf 3866/3866/3866 3867/3867/3867 3124/3124/3124\nf 3124/3124/3124 3867/3867/3867 3868/3868/3868\nf 3868/3868/3868 3125/3125/3125 3124/3124/3124\nf 3607/3607/3607 3606/3606/3606 3868/3868/3868\nf 3868/3868/3868 3867/3867/3867 3607/3607/3607\nf 3605/3605/3605 3869/3869/3869 3868/3868/3868\nf 3868/3868/3868 3606/3606/3606 3605/3605/3605\nf 3120/3120/3120 3125/3125/3125 3868/3868/3868\nf 3868/3868/3868 3869/3869/3869 3120/3120/3120\nf 3120/3120/3120 3869/3869/3869 3870/3870/3870\nf 3870/3870/3870 3847/3847/3847 3120/3120/3120\nf 3605/3605/3605 3615/3615/3615 3870/3870/3870\nf 3870/3870/3870 3869/3869/3869 3605/3605/3605\nf 3617/3617/3617 3847/3847/3847 3870/3870/3870\nf 3870/3870/3870 3615/3615/3615 3617/3617/3617\nf 3871/3871/3871 3872/3872/3872 3873/3873/3873\nf 3873/3873/3873 3874/3874/3874 3871/3871/3871\nf 3875/3875/3875 3876/3876/3876 3873/3873/3873\nf 3873/3873/3873 3872/3872/3872 3875/3875/3875\nf 3877/3877/3877 3878/3878/3878 3873/3873/3873\nf 3873/3873/3873 3876/3876/3876 3877/3877/3877\nf 3879/3879/3879 3874/3874/3874 3873/3873/3873\nf 3873/3873/3873 3878/3878/3878 3879/3879/3879\nf 3879/3879/3879 3878/3878/3878 3880/3880/3880\nf 3880/3880/3880 3881/3881/3881 3879/3879/3879\nf 3877/3877/3877 3882/3882/3882 3880/3880/3880\nf 3880/3880/3880 3878/3878/3878 3877/3877/3877\nf 3883/3883/3883 3884/3884/3884 3880/3880/3880\nf 3880/3880/3880 3882/3882/3882 3883/3883/3883\nf 3885/3885/3885 3886/3886/3886 3880/3880/3880\nf 3880/3880/3880 3884/3884/3884 3885/3885/3885\nf 3880/3880/3880 3886/3886/3886 3887/3887/3887\nf 3888/3888/3888 3881/3881/3881 3880/3880/3880\nf 3880/3880/3880 3887/3887/3887 3888/3888/3888\nf 3888/3888/3888 3887/3887/3887 3889/3889/3889\nf 3890/3890/3890 3891/3891/3891 3892/3892/3892\nf 3892/3892/3892 3893/3893/3893 3890/3890/3890\nf 3894/3894/3894 3895/3895/3895 3892/3892/3892\nf 3892/3892/3892 3891/3891/3891 3894/3894/3894\nf 3896/3896/3896 3897/3897/3897 3892/3892/3892\nf 3892/3892/3892 3895/3895/3895 3896/3896/3896\nf 3898/3898/3898 3893/3893/3893 3892/3892/3892\nf 3892/3892/3892 3897/3897/3897 3898/3898/3898\nf 3899/3899/3899 3900/3900/3900 3901/3901/3901\nf 3901/3901/3901 3902/3902/3902 3899/3899/3899\nf 3903/3903/3903 3904/3904/3904 3901/3901/3901\nf 3901/3901/3901 3900/3900/3900 3903/3903/3903\nf 3905/3905/3905 3906/3906/3906 3901/3901/3901\nf 3901/3901/3901 3904/3904/3904 3905/3905/3905\nf 3907/3907/3907 3908/3908/3908 3901/3901/3901\nf 3901/3901/3901 3906/3906/3906 3907/3907/3907\nf 3909/3909/3909 3910/3910/3910 3901/3901/3901\nf 3901/3901/3901 3908/3908/3908 3909/3909/3909\nf 3911/3911/3911 3902/3902/3902 3901/3901/3901\nf 3901/3901/3901 3910/3910/3910 3911/3911/3911\nf 3909/3909/3909 3908/3908/3908 3912/3912/3912\nf 3912/3912/3912 3913/3913/3913 3909/3909/3909\nf 3907/3907/3907 3914/3914/3914 3912/3912/3912\nf 3912/3912/3912 3908/3908/3908 3907/3907/3907\nf 3915/3915/3915 3916/3916/3916 3912/3912/3912\nf 3912/3912/3912 3914/3914/3914 3915/3915/3915\nf 3917/3917/3917 3913/3913/3913 3912/3912/3912\nf 3912/3912/3912 3916/3916/3916 3917/3917/3917\nf 3917/3917/3917 3916/3916/3916 3918/3918/3918\nf 3918/3918/3918 3919/3919/3919 3917/3917/3917\nf 3915/3915/3915 3920/3920/3920 3918/3918/3918\nf 3918/3918/3918 3916/3916/3916 3915/3915/3915\nf 3921/3921/3921 3922/3922/3922 3918/3918/3918\nf 3918/3918/3918 3920/3920/3920 3921/3921/3921\nf 3877/3877/3877 3876/3876/3876 3918/3918/3918\nf 3918/3918/3918 3922/3922/3922 3877/3877/3877\nf 3875/3875/3875 3919/3919/3919 3918/3918/3918\nf 3918/3918/3918 3876/3876/3876 3875/3875/3875\nf 3877/3877/3877 3922/3922/3922 3923/3923/3923\nf 3923/3923/3923 3882/3882/3882 3877/3877/3877\nf 3921/3921/3921 3924/3924/3924 3923/3923/3923\nf 3923/3923/3923 3922/3922/3922 3921/3921/3921\nf 3925/3925/3925 3926/3926/3926 3923/3923/3923\nf 3923/3923/3923 3924/3924/3924 3925/3925/3925\nf 3883/3883/3883 3882/3882/3882 3923/3923/3923\nf 3923/3923/3923 3926/3926/3926 3883/3883/3883\nf 3883/3883/3883 3926/3926/3926 3927/3927/3927\nf 3927/3927/3927 3928/3928/3928 3883/3883/3883\nf 3925/3925/3925 3929/3929/3929 3927/3927/3927\nf 3927/3927/3927 3926/3926/3926 3925/3925/3925\nf 3930/3930/3930 3931/3931/3931 3927/3927/3927\nf 3927/3927/3927 3929/3929/3929 3930/3930/3930\nf 3931/3931/3931 3932/3932/3932 3927/3927/3927\nf 3932/3932/3932 3933/3933/3933 3927/3927/3927\nf 3934/3934/3934 3935/3935/3935 3927/3927/3927\nf 3927/3927/3927 3933/3933/3933 3934/3934/3934\nf 3927/3927/3927 3935/3935/3935 3936/3936/3936\nf 3927/3927/3927 3936/3936/3936 3937/3937/3937\nf 3938/3938/3938 3928/3928/3928 3927/3927/3927\nf 3927/3927/3927 3937/3937/3937 3938/3938/3938\nf 3896/3896/3896 3939/3939/3939 3940/3940/3940\nf 3940/3940/3940 3897/3897/3897 3896/3896/3896\nf 3940/3940/3940 3939/3939/3939 3941/3941/3941\nf 3940/3940/3940 3941/3941/3941 3942/3942/3942\nf 3898/3898/3898 3897/3897/3897 3940/3940/3940\nf 3905/3905/3905 3940/3940/3940 3943/3943/3943\nf 3943/3943/3943 3906/3906/3906 3905/3905/3905\nf 3944/3944/3944 3945/3945/3945 3943/3943/3943\nf 3943/3943/3943 3940/3940/3940 3944/3944/3944\nf 3945/3945/3945 3946/3946/3946 3943/3943/3943\nf 3907/3907/3907 3906/3906/3906 3943/3943/3943\nf 3943/3943/3943 3946/3946/3946 3907/3907/3907\nf 3907/3907/3907 3946/3946/3946 3947/3947/3947\nf 3947/3947/3947 3914/3914/3914 3907/3907/3907\nf 3945/3945/3945 3948/3948/3948 3947/3947/3947\nf 3947/3947/3947 3946/3946/3946 3945/3945/3945\nf 3948/3948/3948 3949/3949/3949 3947/3947/3947\nf 3915/3915/3915 3914/3914/3914 3947/3947/3947\nf 3947/3947/3947 3949/3949/3949 3915/3915/3915\nf 3915/3915/3915 3949/3949/3949 3950/3950/3950\nf 3950/3950/3950 3920/3920/3920 3915/3915/3915\nf 3950/3950/3950 3949/3949/3949 3948/3948/3948\nf 3951/3951/3951 3952/3952/3952 3950/3950/3950\nf 3950/3950/3950 3948/3948/3948 3951/3951/3951\nf 3921/3921/3921 3920/3920/3920 3950/3950/3950\nf 3950/3950/3950 3952/3952/3952 3921/3921/3921\nf 3921/3921/3921 3952/3952/3952 3953/3953/3953\nf 3953/3953/3953 3954/3954/3954 3921/3921/3921\nf 3953/3953/3953 3952/3952/3952 3951/3951/3951\nf 3951/3951/3951 3954/3954/3954 3953/3953/3953\nf 3921/3921/3921 3954/3954/3954 3955/3955/3955\nf 3955/3955/3955 3956/3956/3956 3921/3921/3921\nf 3955/3955/3955 3954/3954/3954 3951/3951/3951\nf 3951/3951/3951 3956/3956/3956 3955/3955/3955\nf 3921/3921/3921 3956/3956/3956 3957/3957/3957\nf 3957/3957/3957 3924/3924/3924 3921/3921/3921\nf 3951/3951/3951 3958/3958/3958 3957/3957/3957\nf 3957/3957/3957 3956/3956/3956 3951/3951/3951\nf 3958/3958/3958 3959/3959/3959 3957/3957/3957\nf 3925/3925/3925 3924/3924/3924 3957/3957/3957\nf 3957/3957/3957 3959/3959/3959 3925/3925/3925\nf 3925/3925/3925 3959/3959/3959 3960/3960/3960\nf 3960/3960/3960 3929/3929/3929 3925/3925/3925\nf 3960/3960/3960 3959/3959/3959 3958/3958/3958\nf 3961/3961/3961 3962/3962/3962 3960/3960/3960\nf 3960/3960/3960 3958/3958/3958 3961/3961/3961\nf 3962/3962/3962 3963/3963/3963 3960/3960/3960\nf 3964/3964/3964 3965/3965/3965 3960/3960/3960\nf 3960/3960/3960 3963/3963/3963 3964/3964/3964\nf 3965/3965/3965 3966/3966/3966 3960/3960/3960\nf 3967/3967/3967 3968/3968/3968 3960/3960/3960\nf 3960/3960/3960 3969/3969/3969 3967/3967/3967\nf 3970/3970/3970 3971/3971/3971 3960/3960/3960\nf 3960/3960/3960 3968/3968/3968 3970/3970/3970\nf 3960/3960/3960 3971/3971/3971 3972/3972/3972\nf 3930/3930/3930 3929/3929/3929 3960/3960/3960\nf 3960/3960/3960 3972/3972/3972 3930/3930/3930\nf 3896/3896/3896 3973/3973/3973 3974/3974/3974\nf 3975/3975/3975 3976/3976/3976 3974/3974/3974\nf 3974/3974/3974 3973/3973/3973 3975/3975/3975\nf 3977/3977/3977 3978/3978/3978 3974/3974/3974\nf 3974/3974/3974 3976/3976/3976 3977/3977/3977\nf 3979/3979/3979 3980/3980/3980 3974/3974/3974\nf 3974/3974/3974 3978/3978/3978 3979/3979/3979\nf 3974/3974/3974 3980/3980/3980 3981/3981/3981\nf 3982/3982/3982 3983/3983/3983 3974/3974/3974\nf 3984/3984/3984 3985/3985/3985 3974/3974/3974\nf 3974/3974/3974 3983/3983/3983 3984/3984/3984\nf 3986/3986/3986 3987/3987/3987 3974/3974/3974\nf 3974/3974/3974 3985/3985/3985 3986/3986/3986\nf 3988/3988/3988 3989/3989/3989 3974/3974/3974\nf 3974/3974/3974 3987/3987/3987 3988/3988/3988\nf 3990/3990/3990 3941/3941/3941 3974/3974/3974\nf 3974/3974/3974 3989/3989/3989 3990/3990/3990\nf 3896/3896/3896 3974/3974/3974 3991/3991/3991\nf 3991/3991/3991 3939/3939/3939 3896/3896/3896\nf 3991/3991/3991 3974/3974/3974 3941/3941/3941\nf 3941/3941/3941 3939/3939/3939 3991/3991/3991\nf 3992/3992/3992 3993/3993/3993 3994/3994/3994\nf 3994/3994/3994 3993/3993/3993 3944/3944/3944\nf 3942/3942/3942 3941/3941/3941 3994/3994/3994\nf 3994/3994/3994 3944/3944/3944 3942/3942/3942\nf 3993/3993/3993 3945/3945/3945 3944/3944/3944\nf 3992/3992/3992 3995/3995/3995 3993/3993/3993\nf 3993/3993/3993 3995/3995/3995 3945/3945/3945\nf 3995/3995/3995 3948/3948/3948 3945/3945/3945\nf 3995/3995/3995 3992/3992/3992 3996/3996/3996\nf 3996/3996/3996 3997/3997/3997 3995/3995/3995\nf 3951/3951/3951 3948/3948/3948 3995/3995/3995\nf 3995/3995/3995 3997/3997/3997 3951/3951/3951\nf 3997/3997/3997 3958/3958/3958 3951/3951/3951\nf 3997/3997/3997 3996/3996/3996 3998/3998/3998\nf 3958/3958/3958 3997/3997/3997 3999/3999/3999\nf 3999/3999/3999 3997/3997/3997 3998/3998/3998\nf 3998/3998/3998 4000/4000/4000 3999/3999/3999\nf 4001/4001/4001 4002/4002/4002 3999/3999/3999\nf 3961/3961/3961 3958/3958/3958 3999/3999/3999\nf 3999/3999/3999 4002/4002/4002 3961/3961/3961\nf 3994/3994/3994 3941/3941/3941 3990/3990/3990\nf 3994/3994/3994 3990/3990/3990 4003/4003/4003\nf 3994/3994/3994 4000/4000/4000 3992/3992/3992\nf 3992/3992/3992 4004/4004/4004 4005/4005/4005\nf 4006/4006/4006 4007/4007/4007 4005/4005/4005\nf 4005/4005/4005 4004/4004/4004 4006/4006/4006\nf 4007/4007/4007 4008/4008/4008 4005/4005/4005\nf 4008/4008/4008 4009/4009/4009 4005/4005/4005\nf 3996/3996/3996 3992/3992/3992 4005/4005/4005\nf 4005/4005/4005 4009/4009/4009 3996/3996/3996\nf 4009/4009/4009 4008/4008/4008 4006/4006/4006\nf 3998/3998/3998 3996/3996/3996 4009/4009/4009\nf 3998/3998/3998 4009/4009/4009 4004/4004/4004\nf 4004/4004/4004 4009/4009/4009 4006/4006/4006\nf 4004/4004/4004 3992/3992/3992 3998/3998/3998\nf 4010/4010/4010 4007/4007/4007 4006/4006/4006\nf 4010/4010/4010 4011/4011/4011 4012/4012/4012\nf 4007/4007/4007 4010/4010/4010 4013/4013/4013\nf 4013/4013/4013 4008/4008/4008 4007/4007/4007\nf 4013/4013/4013 4010/4010/4010 4012/4012/4012\nf 4013/4013/4013 4012/4012/4012 4014/4014/4014\nf 4006/4006/4006 4008/4008/4008 4013/4013/4013\nf 4006/4006/4006 4013/4013/4013 4015/4015/4015\nf 4015/4015/4015 4013/4013/4013 4014/4014/4014\nf 4014/4014/4014 4010/4010/4010 4015/4015/4015\nf 4015/4015/4015 4010/4010/4010 4006/4006/4006\nf 4014/4014/4014 4011/4011/4011 4010/4010/4010\nf 4011/4011/4011 4016/4016/4016 4017/4017/4017\nf 4017/4017/4017 4016/4016/4016 4018/4018/4018\nf 4012/4012/4012 4011/4011/4011 4017/4017/4017\nf 4012/4012/4012 4017/4017/4017 4019/4019/4019\nf 4019/4019/4019 4017/4017/4017 4018/4018/4018\nf 4014/4014/4014 4012/4012/4012 4019/4019/4019\nf 4014/4014/4014 4019/4019/4019 4016/4016/4016\nf 4016/4016/4016 4019/4019/4019 4018/4018/4018\nf 4016/4016/4016 4011/4011/4011 4014/4014/4014\nf 3911/3911/3911 4020/4020/4020 4021/4021/4021\nf 4021/4021/4021 3902/3902/3902 3911/3911/3911\nf 4022/4022/4022 4023/4023/4023 4021/4021/4021\nf 4021/4021/4021 4020/4020/4020 4022/4022/4022\nf 4024/4024/4024 4025/4025/4025 4021/4021/4021\nf 4021/4021/4021 4023/4023/4023 4024/4024/4024\nf 4025/4025/4025 4026/4026/4026 4021/4021/4021\nf 3899/3899/3899 3902/3902/3902 4021/4021/4021\nf 4021/4021/4021 4026/4026/4026 3899/3899/3899\nf 4027/4027/4027 4028/4028/4028 4029/4029/4029\nf 4029/4029/4029 4030/4030/4030 4027/4027/4027\nf 3917/3917/3917 3919/3919/3919 4029/4029/4029\nf 4029/4029/4029 4028/4028/4028 3917/3917/3917\nf 3875/3875/3875 3872/3872/3872 4029/4029/4029\nf 4029/4029/4029 3919/3919/3919 3875/3875/3875\nf 3871/3871/3871 4030/4030/4030 4029/4029/4029\nf 4029/4029/4029 3872/3872/3872 3871/3871/3871\nf 4022/4022/4022 4020/4020/4020 4031/4031/4031\nf 4031/4031/4031 4032/4032/4032 4022/4022/4022\nf 3911/3911/3911 3910/3910/3910 4031/4031/4031\nf 4031/4031/4031 4020/4020/4020 3911/3911/3911\nf 3909/3909/3909 4033/4033/4033 4031/4031/4031\nf 4031/4031/4031 3910/3910/3910 3909/3909/3909\nf 4034/4034/4034 4032/4032/4032 4031/4031/4031\nf 4031/4031/4031 4033/4033/4033 4034/4034/4034\nf 3917/3917/3917 4028/4028/4028 4035/4035/4035\nf 4035/4035/4035 3913/3913/3913 3917/3917/3917\nf 4027/4027/4027 4036/4036/4036 4035/4035/4035\nf 4035/4035/4035 4028/4028/4028 4027/4027/4027\nf 4034/4034/4034 4033/4033/4033 4035/4035/4035\nf 4035/4035/4035 4036/4036/4036 4034/4034/4034\nf 3909/3909/3909 3913/3913/3913 4035/4035/4035\nf 4035/4035/4035 4033/4033/4033 3909/3909/3909\nf 4037/4037/4037 4038/4038/4038 4039/4039/4039\nf 4039/4039/4039 4040/4040/4040 4037/4037/4037\nf 4041/4041/4041 4042/4042/4042 4039/4039/4039\nf 4039/4039/4039 4038/4038/4038 4041/4041/4041\nf 4043/4043/4043 4044/4044/4044 4039/4039/4039\nf 4039/4039/4039 4042/4042/4042 4043/4043/4043\nf 4045/4045/4045 4040/4040/4040 4039/4039/4039\nf 4039/4039/4039 4044/4044/4044 4045/4045/4045\nf 4046/4046/4046 4047/4047/4047 4048/4048/4048\nf 4048/4048/4048 4047/4047/4047 4049/4049/4049\nf 4048/4048/4048 4049/4049/4049 4050/4050/4050\nf 4050/4050/4050 4051/4051/4051 4048/4048/4048\nf 4052/4052/4052 4051/4051/4051 4050/4050/4050\nf 4050/4050/4050 4053/4053/4053 4052/4052/4052\nf 4052/4052/4052 4053/4053/4053 4054/4054/4054\nf 4054/4054/4054 4055/4055/4055 4052/4052/4052\nf 4056/4056/4056 4055/4055/4055 4054/4054/4054\nf 4054/4054/4054 4057/4057/4057 4056/4056/4056\nf 4056/4056/4056 4057/4057/4057 4058/4058/4058\nf 4057/4057/4057 4059/4059/4059 4058/4058/4058\nf 4060/4060/4060 4061/4061/4061 4058/4058/4058\nf 4058/4058/4058 4059/4059/4059 4060/4060/4060\nf 4062/4062/4062 4063/4063/4063 4061/4061/4061\nf 4062/4062/4062 4061/4061/4061 4060/4060/4060\nf 4064/4064/4064 4063/4063/4063 4062/4062/4062\nf 4062/4062/4062 4065/4065/4065 4064/4064/4064\nf 4066/4066/4066 4067/4067/4067 4068/4068/4068\nf 4067/4067/4067 4069/4069/4069 4068/4068/4068\nf 4070/4070/4070 4071/4071/4071 4072/4072/4072\nf 4073/4073/4073 4071/4071/4071 4070/4070/4070\nf 4074/4074/4074 4067/4067/4067 4066/4066/4066\nf 4066/4066/4066 4068/4068/4068 4074/4074/4074\nf 4073/4073/4073 4070/4070/4070 4072/4072/4072\nf 4074/4074/4074 4060/4060/4060 4059/4059/4059\nf 4054/4054/4054 4053/4053/4053 4067/4067/4067\nf 4054/4054/4054 4067/4067/4067 4057/4057/4057\nf 4050/4050/4050 4049/4049/4049 4072/4072/4072\nf 4067/4067/4067 4053/4053/4053 4050/4050/4050\nf 4072/4072/4072 4049/4049/4049 4047/4047/4047\nf 4062/4062/4062 4060/4060/4060 4074/4074/4074\nf 4075/4075/4075 4076/4076/4076 4077/4077/4077\nf 4077/4077/4077 4078/4078/4078 4075/4075/4075\nf 4064/4064/4064 4065/4065/4065 4077/4077/4077\nf 4077/4077/4077 4076/4076/4076 4064/4064/4064\nf 4079/4079/4079 4080/4080/4080 4081/4081/4081\nf 4075/4075/4075 4078/4078/4078 4079/4079/4079\nf 4081/4081/4081 4080/4080/4080 4082/4082/4082\nf 4082/4082/4082 4046/4046/4046 4081/4081/4081\nf 4069/4069/4069 4067/4067/4067 4072/4072/4072\nf 4068/4068/4068 4069/4069/4069 4074/4074/4074\nf 4069/4069/4069 4071/4071/4071 4074/4074/4074\nf 4074/4074/4074 4071/4071/4071 4073/4073/4073\nf 4069/4069/4069 4072/4072/4072 4071/4071/4071\nf 4046/4046/4046 4082/4082/4082 4072/4072/4072\nf 4080/4080/4080 4073/4073/4073 4072/4072/4072\nf 4072/4072/4072 4082/4082/4082 4080/4080/4080\nf 4080/4080/4080 4079/4079/4079 4073/4073/4073\nf 4073/4073/4073 4079/4079/4079 4078/4078/4078\nf 4078/4078/4078 4077/4077/4077 4073/4073/4073\nf 4065/4065/4065 4074/4074/4074 4073/4073/4073\nf 4073/4073/4073 4077/4077/4077 4065/4065/4065\nf 4065/4065/4065 4062/4062/4062 4074/4074/4074\nf 4074/4074/4074 4059/4059/4059 4067/4067/4067\nf 4067/4067/4067 4059/4059/4059 4057/4057/4057\nf 4067/4067/4067 4050/4050/4050 4072/4072/4072\nf 4072/4072/4072 4047/4047/4047 4046/4046/4046\nf 4041/4041/4041 4061/4061/4061 4063/4063/4063\nf 4063/4063/4063 4064/4064/4064 4083/4083/4083\nf 4083/4083/4083 4064/4064/4064 4075/4075/4075\nf 4075/4075/4075 4084/4084/4084 4083/4083/4083\nf 4064/4064/4064 4076/4076/4076 4075/4075/4075\nf 4085/4085/4085 4086/4086/4086 4075/4075/4075\nf 4075/4075/4075 4087/4087/4087 4085/4085/4085\nf 4086/4086/4086 4084/4084/4084 4075/4075/4075\nf 4085/4085/4085 4087/4087/4087 4081/4081/4081\nf 4081/4081/4081 4088/4088/4088 4085/4085/4085\nf 4075/4075/4075 4079/4079/4079 4081/4081/4081\nf 4081/4081/4081 4087/4087/4087 4075/4075/4075\nf 4048/4048/4048 4088/4088/4088 4081/4081/4081\nf 4081/4081/4081 4046/4046/4046 4048/4048/4048\nf 4089/4089/4089 4090/4090/4090 4091/4091/4091\nf 4091/4091/4091 4092/4092/4092 4089/4089/4089\nf 4048/4048/4048 4051/4051/4051 4091/4091/4091\nf 4091/4091/4091 4090/4090/4090 4048/4048/4048\nf 4052/4052/4052 4093/4093/4093 4091/4091/4091\nf 4091/4091/4091 4051/4051/4051 4052/4052/4052\nf 4037/4037/4037 4092/4092/4092 4091/4091/4091\nf 4091/4091/4091 4093/4093/4093 4037/4037/4037\nf 4037/4037/4037 4093/4093/4093 4056/4056/4056\nf 4056/4056/4056 4038/4038/4038 4037/4037/4037\nf 4052/4052/4052 4055/4055/4055 4056/4056/4056\nf 4056/4056/4056 4093/4093/4093 4052/4052/4052\nf 4041/4041/4041 4038/4038/4038 4056/4056/4056\nf 4056/4056/4056 4058/4058/4058 4041/4041/4041\nf 4058/4058/4058 4061/4061/4061 4041/4041/4041\nf 4094/4094/4094 4086/4086/4086 4085/4085/4085\nf 4095/4095/4095 4096/4096/4096 4097/4097/4097\nf 3885/3885/3885 3884/3884/3884 4097/4097/4097\nf 4097/4097/4097 4096/4096/4096 3885/3885/3885\nf 3883/3883/3883 3928/3928/3928 4097/4097/4097\nf 4097/4097/4097 3884/3884/3884 3883/3883/3883\nf 4097/4097/4097 3928/3928/3928 3938/3938/3938\nf 4098/4098/4098 4084/4084/4084 4086/4086/4086\nf 4098/4098/4098 4086/4086/4086 4099/4099/4099\nf 4100/4100/4100 4084/4084/4084 4098/4098/4098\nf 4100/4100/4100 4101/4101/4101 4102/4102/4102\nf 4102/4102/4102 4084/4084/4084 4100/4100/4100\nf 4103/4103/4103 4104/4104/4104 4102/4102/4102\nf 4102/4102/4102 4101/4101/4101 4103/4103/4103\nf 4103/4103/4103 4105/4105/4105 4106/4106/4106\nf 4106/4106/4106 4104/4104/4104 4103/4103/4103\nf 4107/4107/4107 4108/4108/4108 4106/4106/4106\nf 4106/4106/4106 4105/4105/4105 4107/4107/4107\nf 4109/4109/4109 4096/4096/4096 4108/4108/4108\nf 4109/4109/4109 4108/4108/4108 4107/4107/4107\nf 4110/4110/4110 3885/3885/3885 4109/4109/4109\nf 3885/3885/3885 4096/4096/4096 4109/4109/4109\nf 4111/4111/4111 3886/3886/3886 3885/3885/3885\nf 4111/4111/4111 3885/3885/3885 4110/4110/4110\nf 4112/4112/4112 3886/3886/3886 4111/4111/4111\nf 4111/4111/4111 4113/4113/4113 4112/4112/4112\nf 4114/4114/4114 4115/4115/4115 4116/4116/4116\nf 4117/4117/4117 4118/4118/4118 4119/4119/4119\nf 4120/4120/4120 4118/4118/4118 4117/4117/4117\nf 4116/4116/4116 4115/4115/4115 4121/4121/4121\nf 4121/4121/4121 4115/4115/4115 4120/4120/4120\nf 4116/4116/4116 4121/4121/4121 4120/4120/4120\nf 4120/4120/4120 4117/4117/4117 4119/4119/4119\nf 4107/4107/4107 4114/4114/4114 4109/4109/4109\nf 4116/4116/4116 4110/4110/4110 4109/4109/4109\nf 4109/4109/4109 4114/4114/4114 4116/4116/4116\nf 4101/4101/4101 4100/4100/4100 4119/4119/4119\nf 4101/4101/4101 4119/4119/4119 4103/4103/4103\nf 4098/4098/4098 4099/4099/4099 4119/4119/4119\nf 4119/4119/4119 4100/4100/4100 4098/4098/4098\nf 4122/4122/4122 4123/4123/4123 4120/4120/4120\nf 4119/4119/4119 4099/4099/4099 4122/4122/4122\nf 4122/4122/4122 4120/4120/4120 4119/4119/4119\nf 4124/4124/4124 4125/4125/4125 4120/4120/4120\nf 4120/4120/4120 4123/4123/4123 4124/4124/4124\nf 4120/4120/4120 4125/4125/4125 4126/4126/4126\nf 4111/4111/4111 4110/4110/4110 4116/4116/4116\nf 4113/4113/4113 4126/4126/4126 3887/3887/3887\nf 3887/3887/3887 4126/4126/4126 4125/4125/4125\nf 4112/4112/4112 4113/4113/4113 3887/3887/3887\nf 4123/4123/4123 4127/4127/4127 4124/4124/4124\nf 4127/4127/4127 3889/3889/3889 4124/4124/4124\nf 3887/3887/3887 4125/4125/4125 4124/4124/4124\nf 4124/4124/4124 3889/3889/3889 3887/3887/3887\nf 4122/4122/4122 4127/4127/4127 4123/4123/4123\nf 4099/4099/4099 4086/4086/4086 4122/4122/4122\nf 4086/4086/4086 4094/4094/4094 4122/4122/4122\nf 4122/4122/4122 4094/4094/4094 4127/4127/4127\nf 4115/4115/4115 4114/4114/4114 4119/4119/4119\nf 4115/4115/4115 4118/4118/4118 4120/4120/4120\nf 4115/4115/4115 4119/4119/4119 4118/4118/4118\nf 4120/4120/4120 4126/4126/4126 4116/4116/4116\nf 4116/4116/4116 4126/4126/4126 4113/4113/4113\nf 4113/4113/4113 4111/4111/4111 4116/4116/4116\nf 4107/4107/4107 4105/4105/4105 4114/4114/4114\nf 4114/4114/4114 4105/4105/4105 4103/4103/4103\nf 4119/4119/4119 4114/4114/4114 4103/4103/4103\nf 4084/4084/4084 4128/4128/4128 4083/4083/4083\nf 4083/4083/4083 4128/4128/4128 4102/4102/4102\nf 4102/4102/4102 4104/4104/4104 4083/4083/4083\nf 4102/4102/4102 4128/4128/4128 4084/4084/4084\nf 4083/4083/4083 4104/4104/4104 4106/4106/4106\nf 4106/4106/4106 4108/4108/4108 4095/4095/4095\nf 4095/4095/4095 4108/4108/4108 4096/4096/4096\nf 3886/3886/3886 4112/4112/4112 3887/3887/3887\nf 4042/4042/4042 4129/4129/4129 4130/4130/4130\nf 4130/4130/4130 4131/4131/4131 4042/4042/4042\nf 4132/4132/4132 4043/4043/4043 4131/4131/4131\nf 4043/4043/4043 4042/4042/4042 4131/4131/4131\nf 4133/4133/4133 4043/4043/4043 4132/4132/4132\nf 4134/4134/4134 4043/4043/4043 4133/4133/4133\nf 4135/4135/4135 4134/4134/4134 4133/4133/4133\nf 4136/4136/4136 4134/4134/4134 4135/4135/4135\nf 4135/4135/4135 4137/4137/4137 4136/4136/4136\nf 4138/4138/4138 4136/4136/4136 4137/4137/4137\nf 4139/4139/4139 4140/4140/4140 4141/4141/4141\nf 4133/4133/4133 4132/4132/4132 4131/4131/4131\nf 4135/4135/4135 4133/4133/4133 4139/4139/4139\nf 4135/4135/4135 4139/4139/4139 4137/4137/4137\nf 4133/4133/4133 4131/4131/4131 4142/4142/4142\nf 4142/4142/4142 4139/4139/4139 4133/4133/4133\nf 4142/4142/4142 4131/4131/4131 4130/4130/4130\nf 4142/4142/4142 4130/4130/4130 4143/4143/4143\nf 4144/4144/4144 4140/4140/4140 4143/4143/4143\nf 4144/4144/4144 4145/4145/4145 4146/4146/4146\nf 4144/4144/4144 4143/4143/4143 4147/4147/4147\nf 4144/4144/4144 4147/4147/4147 4145/4145/4145\nf 4129/4129/4129 4063/4063/4063 4143/4143/4143\nf 4143/4143/4143 4130/4130/4130 4129/4129/4129\nf 4143/4143/4143 4063/4063/4063 4147/4147/4147\nf 4139/4139/4139 4142/4142/4142 4140/4140/4140\nf 4142/4142/4142 4143/4143/4143 4140/4140/4140\nf 4144/4144/4144 4146/4146/4146 4141/4141/4141\nf 4141/4141/4141 4140/4140/4140 4144/4144/4144\nf 4141/4141/4141 4146/4146/4146 4138/4138/4138\nf 4138/4138/4138 4137/4137/4137 4141/4141/4141\nf 4139/4139/4139 4141/4141/4141 4137/4137/4137\nf 4083/4083/4083 4147/4147/4147 4063/4063/4063\nf 4063/4063/4063 4129/4129/4129 4041/4041/4041\nf 4129/4129/4129 4042/4042/4042 4041/4041/4041\nf 4134/4134/4134 4136/4136/4136 4148/4148/4148\nf 4148/4148/4148 4136/4136/4136 4149/4149/4149\nf 4138/4138/4138 4146/4146/4146 4149/4149/4149\nf 4149/4149/4149 4136/4136/4136 4138/4138/4138\nf 4149/4149/4149 4146/4146/4146 4145/4145/4145\nf 4149/4149/4149 4145/4145/4145 4083/4083/4083\nf 4083/4083/4083 4145/4145/4145 4147/4147/4147\nf 4150/4150/4150 4151/4151/4151 4095/4095/4095\nf 4152/4152/4152 4153/4153/4153 4154/4154/4154\nf 4154/4154/4154 4153/4153/4153 4155/4155/4155\nf 4156/4156/4156 4155/4155/4155 4157/4157/4157\nf 4155/4155/4155 4153/4153/4153 4157/4157/4157\nf 4154/4154/4154 4155/4155/4155 4158/4158/4158\nf 4159/4159/4159 4152/4152/4152 4154/4154/4154\nf 4160/4160/4160 4150/4150/4150 4161/4161/4161\nf 4150/4150/4150 4160/4160/4160 4151/4151/4151\nf 4162/4162/4162 4160/4160/4160 4163/4163/4163\nf 4156/4156/4156 4163/4163/4163 4164/4164/4164\nf 4155/4155/4155 4156/4156/4156 4158/4158/4158\nf 4165/4165/4165 4163/4163/4163 4156/4156/4156\nf 4165/4165/4165 4166/4166/4166 4163/4163/4163\nf 4163/4163/4163 4166/4166/4166 4162/4162/4162\nf 4162/4162/4162 4166/4166/4166 4106/4106/4106\nf 4095/4095/4095 4151/4151/4151 4106/4106/4106\nf 4151/4151/4151 4162/4162/4162 4106/4106/4106\nf 4164/4164/4164 4159/4159/4159 4158/4158/4158\nf 4159/4159/4159 4164/4164/4164 4160/4160/4160\nf 4160/4160/4160 4162/4162/4162 4151/4151/4151\nf 4164/4164/4164 4163/4163/4163 4160/4160/4160\nf 4158/4158/4158 4156/4156/4156 4164/4164/4164\nf 4159/4159/4159 4154/4154/4154 4158/4158/4158\nf 4167/4167/4167 4152/4152/4152 4159/4159/4159\nf 4167/4167/4167 4159/4159/4159 4160/4160/4160\nf 4160/4160/4160 4161/4161/4161 4167/4167/4167\nf 4106/4106/4106 4166/4166/4166 4083/4083/4083\nf 4166/4166/4166 4165/4165/4165 4083/4083/4083\nf 4083/4083/4083 4165/4165/4165 4149/4149/4149\nf 4165/4165/4165 4156/4156/4156 4149/4149/4149\nf 4149/4149/4149 4156/4156/4156 4157/4157/4157\nf 4149/4149/4149 4157/4157/4157 4148/4148/4148\nf 4157/4157/4157 4153/4153/4153 4148/4148/4148\nf 4153/4153/4153 4168/4168/4168 4148/4148/4148\nf 3938/3938/3938 4168/4168/4168 4153/4153/4153\nf 4153/4153/4153 4152/4152/4152 3938/3938/3938\nf 3938/3938/3938 4152/4152/4152 4097/4097/4097\nf 4167/4167/4167 4161/4161/4161 4097/4097/4097\nf 4097/4097/4097 4152/4152/4152 4167/4167/4167\nf 4097/4097/4097 4161/4161/4161 4150/4150/4150\nf 4097/4097/4097 4150/4150/4150 4095/4095/4095\nf 4169/4169/4169 3937/3937/3937 3936/3936/3936\nf 4170/4170/4170 4169/4169/4169 3936/3936/3936\nf 4171/4171/4171 4172/4172/4172 4173/4173/4173\nf 4173/4173/4173 4172/4172/4172 4170/4170/4170\nf 3938/3938/3938 4174/4174/4174 4168/4168/4168\nf 4175/4175/4175 4170/4170/4170 4172/4172/4172\nf 4176/4176/4176 4168/4168/4168 4175/4175/4175\nf 4169/4169/4169 4174/4174/4174 3937/3937/3937\nf 4170/4170/4170 4177/4177/4177 4169/4169/4169\nf 4168/4168/4168 4174/4174/4174 4178/4178/4178\nf 4175/4175/4175 4168/4168/4168 4177/4177/4177\nf 4170/4170/4170 4175/4175/4175 4177/4177/4177\nf 4175/4175/4175 4172/4172/4172 4171/4171/4171\nf 4175/4175/4175 4171/4171/4171 4176/4176/4176\nf 4178/4178/4178 4177/4177/4177 4168/4168/4168\nf 4169/4169/4169 4177/4177/4177 4178/4178/4178\nf 4174/4174/4174 4169/4169/4169 4178/4178/4178\nf 4148/4148/4148 4168/4168/4168 4176/4176/4176\nf 4176/4176/4176 4179/4179/4179 4148/4148/4148\nf 4171/4171/4171 4179/4179/4179 4176/4176/4176\nf 4180/4180/4180 4171/4171/4171 4173/4173/4173\nf 4180/4180/4180 4173/4173/4173 4170/4170/4170\nf 3937/3937/3937 4174/4174/4174 3938/3938/3938\nf 4181/4181/4181 4182/4182/4182 4183/4183/4183\nf 4182/4182/4182 4184/4184/4184 4183/4183/4183\nf 4182/4182/4182 4185/4185/4185 4184/4184/4184\nf 4186/4186/4186 4187/4187/4187 4188/4188/4188\nf 4187/4187/4187 4171/4171/4171 4188/4188/4188\nf 4189/4189/4189 4179/4179/4179 4187/4187/4187\nf 4186/4186/4186 4190/4190/4190 4187/4187/4187\nf 4190/4190/4190 4186/4186/4186 4185/4185/4185\nf 4182/4182/4182 4190/4190/4190 4185/4185/4185\nf 4181/4181/4181 4191/4191/4191 4182/4182/4182\nf 4192/4192/4192 4191/4191/4191 4181/4181/4181\nf 4192/4192/4192 4189/4189/4189 4193/4193/4193\nf 4189/4189/4189 4187/4187/4187 4193/4193/4193\nf 4171/4171/4171 4187/4187/4187 4179/4179/4179\nf 4189/4189/4189 4192/4192/4192 4134/4134/4134\nf 4189/4189/4189 4134/4134/4134 4179/4179/4179\nf 4187/4187/4187 4190/4190/4190 4193/4193/4193\nf 4190/4190/4190 4191/4191/4191 4193/4193/4193\nf 4191/4191/4191 4192/4192/4192 4193/4193/4193\nf 4190/4190/4190 4182/4182/4182 4191/4191/4191\nf 4148/4148/4148 4179/4179/4179 4134/4134/4134\nf 4043/4043/4043 4134/4134/4134 4181/4181/4181\nf 4181/4181/4181 4183/4183/4183 4043/4043/4043\nf 4134/4134/4134 4192/4192/4192 4181/4181/4181\nf 4184/4184/4184 4185/4185/4185 4186/4186/4186\nf 4180/4180/4180 4186/4186/4186 4188/4188/4188\nf 4188/4188/4188 4171/4171/4171 4180/4180/4180\nf 4194/4194/4194 4195/4195/4195 4196/4196/4196\nf 4197/4197/4197 4195/4195/4195 4194/4194/4194\nf 4197/4197/4197 4198/4198/4198 4199/4199/4199\nf 4200/4200/4200 4197/4197/4197 4199/4199/4199\nf 4198/4198/4198 4197/4197/4197 4201/4201/4201\nf 4196/4196/4196 4201/4201/4201 4194/4194/4194\nf 4201/4201/4201 4197/4197/4197 4194/4194/4194\nf 4201/4201/4201 4196/4196/4196 4186/4186/4186\nf 4198/4198/4198 4202/4202/4202 4180/4180/4180\nf 4201/4201/4201 4186/4186/4186 4202/4202/4202\nf 4198/4198/4198 4201/4201/4201 4202/4202/4202\nf 4199/4199/4199 4198/4198/4198 4180/4180/4180\nf 4180/4180/4180 4202/4202/4202 4186/4186/4186\nf 4186/4186/4186 4196/4196/4196 4184/4184/4184\nf 4184/4184/4184 4196/4196/4196 4195/4195/4195\nf 4203/4203/4203 4199/4199/4199 4204/4204/4204\nf 4205/4205/4205 3934/3934/3934 4206/4206/4206\nf 3934/3934/3934 4205/4205/4205 4207/4207/4207\nf 4170/4170/4170 4205/4205/4205 4203/4203/4203\nf 4203/4203/4203 4205/4205/4205 4199/4199/4199\nf 4206/4206/4206 4199/4199/4199 4205/4205/4205\nf 4203/4203/4203 4204/4204/4204 4180/4180/4180\nf 4170/4170/4170 4207/4207/4207 4205/4205/4205\nf 4207/4207/4207 3935/3935/3935 3934/3934/3934\nf 3936/3936/3936 3935/3935/3935 4207/4207/4207\nf 3936/3936/3936 4207/4207/4207 4170/4170/4170\nf 4170/4170/4170 4203/4203/4203 4180/4180/4180\nf 4180/4180/4180 4204/4204/4204 4199/4199/4199\nf 4208/4208/4208 4209/4209/4209 4210/4210/4210\nf 4210/4210/4210 4211/4211/4211 4208/4208/4208\nf 4208/4208/4208 4212/4212/4212 4209/4209/4209\nf 3933/3933/3933 4209/4209/4209 4212/4212/4212\nf 4212/4212/4212 4206/4206/4206 3933/3933/3933\nf 4212/4212/4212 4208/4208/4208 4211/4211/4211\nf 4210/4210/4210 4209/4209/4209 3932/3932/3932\nf 3932/3932/3932 4209/4209/4209 3933/3933/3933\nf 3933/3933/3933 4206/4206/4206 3934/3934/3934\nf 4199/4199/4199 4206/4206/4206 4212/4212/4212\nf 4199/4199/4199 4212/4212/4212 4211/4211/4211\nf 4211/4211/4211 4210/4210/4210 4213/4213/4213\nf 4214/4214/4214 4215/4215/4215 4216/4216/4216\nf 4217/4217/4217 4215/4215/4215 4218/4218/4218\nf 4218/4218/4218 4215/4215/4215 4214/4214/4214\nf 4197/4197/4197 4218/4218/4218 4214/4214/4214\nf 4200/4200/4200 4218/4218/4218 4197/4197/4197\nf 4211/4211/4211 4218/4218/4218 4200/4200/4200\nf 4211/4211/4211 4217/4217/4217 4218/4218/4218\nf 4214/4214/4214 4219/4219/4219 4197/4197/4197\nf 4216/4216/4216 4219/4219/4219 4214/4214/4214\nf 4215/4215/4215 4217/4217/4217 4213/4213/4213\nf 4217/4217/4217 4211/4211/4211 4213/4213/4213\nf 4211/4211/4211 4200/4200/4200 4199/4199/4199\nf 3899/3899/3899 4026/4026/4026 4220/4220/4220\nf 4220/4220/4220 4221/4221/4221 3899/3899/3899\nf 4025/4025/4025 4222/4222/4222 4220/4220/4220\nf 4220/4220/4220 4026/4026/4026 4025/4025/4025\nf 4089/4089/4089 4092/4092/4092 4220/4220/4220\nf 4220/4220/4220 4222/4222/4222 4089/4089/4089\nf 4037/4037/4037 4040/4040/4040 4220/4220/4220\nf 4220/4220/4220 4092/4092/4092 4037/4037/4037\nf 4045/4045/4045 4221/4221/4221 4220/4220/4220\nf 4220/4220/4220 4040/4040/4040 4045/4045/4045\nf 3903/3903/3903 4223/4223/4223 4224/4224/4224\nf 4224/4224/4224 3904/3904/3904 3903/3903/3903\nf 3890/3890/3890 3893/3893/3893 4224/4224/4224\nf 4224/4224/4224 4223/4223/4223 3890/3890/3890\nf 4224/4224/4224 3893/3893/3893 3898/3898/3898\nf 3905/3905/3905 3904/3904/3904 4224/4224/4224\nf 4224/4224/4224 3898/3898/3898 3905/3905/3905\nf 4225/4225/4225 4226/4226/4226 4227/4227/4227\nf 4225/4225/4225 4228/4228/4228 4226/4226/4226\nf 4228/4228/4228 4225/4225/4225 4210/4210/4210\nf 4228/4228/4228 4210/4210/4210 3932/3932/3932\nf 3932/3932/3932 4226/4226/4226 4228/4228/4228\nf 4227/4227/4227 4226/4226/4226 3931/3931/3931\nf 4226/4226/4226 3932/3932/3932 3931/3931/3931\nf 4213/4213/4213 4210/4210/4210 4225/4225/4225\nf 4225/4225/4225 4215/4215/4215 4213/4213/4213\nf 4229/4229/4229 4230/4230/4230 4231/4231/4231\nf 4232/4232/4232 4225/4225/4225 4230/4230/4230\nf 4232/4232/4232 4230/4230/4230 4229/4229/4229\nf 4232/4232/4232 4229/4229/4229 4215/4215/4215\nf 4225/4225/4225 4232/4232/4232 4215/4215/4215\nf 4216/4216/4216 4215/4215/4215 4229/4229/4229\nf 4231/4231/4231 4216/4216/4216 4229/4229/4229\nf 4230/4230/4230 4225/4225/4225 4227/4227/4227\nf 4233/4233/4233 4234/4234/4234 4235/4235/4235\nf 4234/4234/4234 4236/4236/4236 4227/4227/4227\nf 4233/4233/4233 4236/4236/4236 4234/4234/4234\nf 4233/4233/4233 3930/3930/3930 4237/4237/4237\nf 4233/4233/4233 4235/4235/4235 3930/3930/3930\nf 4235/4235/4235 4234/4234/4234 3930/3930/3930\nf 4234/4234/4234 3931/3931/3931 3930/3930/3930\nf 4234/4234/4234 4227/4227/4227 3931/3931/3931\nf 4233/4233/4233 4237/4237/4237 4236/4236/4236\nf 4238/4238/4238 4239/4239/4239 4236/4236/4236\nf 4236/4236/4236 4239/4239/4239 4240/4240/4240\nf 4239/4239/4239 3895/3895/3895 4240/4240/4240\nf 4240/4240/4240 3895/3895/3895 4230/4230/4230\nf 4240/4240/4240 4230/4230/4230 4236/4236/4236\nf 4237/4237/4237 4238/4238/4238 4236/4236/4236\nf 4227/4227/4227 4236/4236/4236 4230/4230/4230\nf 4230/4230/4230 3894/3894/3894 4231/4231/4231\nf 3894/3894/3894 4230/4230/4230 3895/3895/3895\nf 3895/3895/3895 4239/4239/4239 3896/3896/3896\nf 4239/4239/4239 4238/4238/4238 4237/4237/4237\nf 4237/4237/4237 4241/4241/4241 4242/4242/4242\nf 4237/4237/4237 3930/3930/3930 4241/4241/4241\nf 3972/3972/3972 4241/4241/4241 3930/3930/3930\nf 4243/4243/4243 4242/4242/4242 4244/4244/4244\nf 4242/4242/4242 4243/4243/4243 4239/4239/4239\nf 4237/4237/4237 4242/4242/4242 4239/4239/4239\nf 4243/4243/4243 3973/3973/3973 3896/3896/3896\nf 4243/4243/4243 3896/3896/3896 4239/4239/4239\nf 3975/3975/3975 3973/3973/3973 4243/4243/4243\nf 4243/4243/4243 4244/4244/4244 3975/3975/3975\nf 3970/3970/3970 4245/4245/4245 4246/4246/4246\nf 3970/3970/3970 4246/4246/4246 3972/3972/3972\nf 3972/3972/3972 3971/3971/3971 3970/3970/3970\nf 4242/4242/4242 4241/4241/4241 3972/3972/3972\nf 3972/3972/3972 4246/4246/4246 4242/4242/4242\nf 4244/4244/4244 4246/4246/4246 4245/4245/4245\nf 4247/4247/4247 4244/4244/4244 4245/4245/4245\nf 4247/4247/4247 3976/3976/3976 3975/3975/3975\nf 3977/3977/3977 3976/3976/3976 4247/4247/4247\nf 3977/3977/3977 4247/4247/4247 4245/4245/4245\nf 4246/4246/4246 4244/4244/4244 4242/4242/4242\nf 4244/4244/4244 4247/4247/4247 3975/3975/3975\nf 4245/4245/4245 3970/3970/3970 3967/3967/3967\nf 4248/4248/4248 4245/4245/4245 3967/3967/3967\nf 3967/3967/3967 4249/4249/4249 4248/4248/4248\nf 3970/3970/3970 3968/3968/3968 3967/3967/3967\nf 3979/3979/3979 4250/4250/4250 4248/4248/4248\nf 4245/4245/4245 4248/4248/4248 4250/4250/4250\nf 4245/4245/4245 4250/4250/4250 3977/3977/3977\nf 4250/4250/4250 3978/3978/3978 3977/3977/3977\nf 3979/3979/3979 3978/3978/3978 4250/4250/4250\nf 4251/4251/4251 4249/4249/4249 3969/3969/3969\nf 3969/3969/3969 4249/4249/4249 3967/3967/3967\nf 4249/4249/4249 4251/4251/4251 4248/4248/4248\nf 3979/3979/3979 4251/4251/4251 3981/3981/3981\nf 4251/4251/4251 3979/3979/3979 4248/4248/4248\nf 3981/3981/3981 3980/3980/3980 3979/3979/3979\nf 3969/3969/3969 3981/3981/3981 4251/4251/4251\nf 3966/3966/3966 4252/4252/4252 3969/3969/3969\nf 3960/3960/3960 3966/3966/3966 3969/3969/3969\nf 4252/4252/4252 3974/3974/3974 3981/3981/3981\nf 3969/3969/3969 4252/4252/4252 3981/3981/3981\nf 4253/4253/4253 3966/3966/3966 3965/3965/3965\nf 4253/4253/4253 3965/3965/3965 3982/3982/3982\nf 3974/3974/3974 4253/4253/4253 3982/3982/3982\nf 4252/4252/4252 4253/4253/4253 3974/3974/3974\nf 3966/3966/3966 4253/4253/4253 4252/4252/4252\nf 3965/3965/3965 3964/3964/3964 3982/3982/3982\nf 3984/3984/3984 3982/3982/3982 3964/3964/3964\nf 3984/3984/3984 3983/3983/3983 3982/3982/3982\nf 4254/4254/4254 3964/3964/3964 3962/3962/3962\nf 3986/3986/3986 4254/4254/4254 3962/3962/3962\nf 3964/3964/3964 3963/3963/3963 3962/3962/3962\nf 3986/3986/3986 3984/3984/3984 4254/4254/4254\nf 3964/3964/3964 4254/4254/4254 3984/3984/3984\nf 3986/3986/3986 3985/3985/3985 3984/3984/3984\nf 3986/3986/3986 3962/3962/3962 3961/3961/3961\nf 3988/3988/3988 3986/3986/3986 3961/3961/3961\nf 3988/3988/3988 3987/3987/3987 3986/3986/3986\nf 3988/3988/3988 3961/3961/3961 3990/3990/3990\nf 3990/3990/3990 3989/3989/3989 3988/3988/3988\nf 3942/3942/3942 3944/3944/3944 3940/3940/3940\nf 3905/3905/3905 3898/3898/3898 3940/3940/3940\nf 3894/3894/3894 3891/3891/3891 4255/4255/4255\nf 4255/4255/4255 4231/4231/4231 3894/3894/3894\nf 3890/3890/3890 4256/4256/4256 4255/4255/4255\nf 4255/4255/4255 3891/3891/3891 3890/3890/3890\nf 4045/4045/4045 4044/4044/4044 4255/4255/4255\nf 4255/4255/4255 4256/4256/4256 4045/4045/4045\nf 4043/4043/4043 4183/4183/4183 4255/4255/4255\nf 4255/4255/4255 4044/4044/4044 4043/4043/4043\nf 4183/4183/4183 4184/4184/4184 4255/4255/4255\nf 4184/4184/4184 4195/4195/4195 4255/4255/4255\nf 4197/4197/4197 4219/4219/4219 4255/4255/4255\nf 4255/4255/4255 4195/4195/4195 4197/4197/4197\nf 4255/4255/4255 4219/4219/4219 4216/4216/4216\nf 4255/4255/4255 4216/4216/4216 4231/4231/4231\nf 3890/3890/3890 4223/4223/4223 4257/4257/4257\nf 4257/4257/4257 4256/4256/4256 3890/3890/3890\nf 3903/3903/3903 3900/3900/3900 4257/4257/4257\nf 4257/4257/4257 4223/4223/4223 3903/3903/3903\nf 3899/3899/3899 4221/4221/4221 4257/4257/4257\nf 4257/4257/4257 3900/3900/3900 3899/3899/3899\nf 4045/4045/4045 4256/4256/4256 4257/4257/4257\nf 4257/4257/4257 4221/4221/4221 4045/4045/4045\nf 3961/3961/3961 4002/4002/4002 4003/4003/4003\nf 3990/3990/3990 3961/3961/3961 4003/4003/4003\nf 4003/4003/4003 4002/4002/4002 4001/4001/4001\nf 4001/4001/4001 3994/3994/3994 4003/4003/4003\nf 4001/4001/4001 3999/3999/3999 3994/3994/3994\nf 3994/3994/3994 3999/3999/3999 4000/4000/4000\nf 3992/3992/3992 4000/4000/4000 3998/3998/3998\nf 3143/3143/3143 4258/4258/4258 4259/4259/4259\nf 4259/4259/4259 3144/3144/3144 3143/3143/3143\nf 4034/4034/4034 4036/4036/4036 4259/4259/4259\nf 4259/4259/4259 4258/4258/4258 4034/4034/4034\nf 4027/4027/4027 4260/4260/4260 4259/4259/4259\nf 4259/4259/4259 4036/4036/4036 4027/4027/4027\nf 3139/3139/3139 3144/3144/3144 4259/4259/4259\nf 4259/4259/4259 4260/4260/4260 3139/3139/3139\nf 3139/3139/3139 4260/4260/4260 4261/4261/4261\nf 4261/4261/4261 3140/3140/3140 3139/3139/3139\nf 4027/4027/4027 4030/4030/4030 4261/4261/4261\nf 4261/4261/4261 4260/4260/4260 4027/4027/4027\nf 3871/3871/3871 4262/4262/4262 4261/4261/4261\nf 4261/4261/4261 4030/4030/4030 3871/3871/3871\nf 3133/3133/3133 3140/3140/3140 4261/4261/4261\nf 4261/4261/4261 4262/4262/4262 3133/3133/3133\nf 3133/3133/3133 4262/4262/4262 4263/4263/4263\nf 4263/4263/4263 4264/4264/4264 3133/3133/3133\nf 3871/3871/3871 3874/3874/3874 4263/4263/4263\nf 4263/4263/4263 4262/4262/4262 3871/3871/3871\nf 3879/3879/3879 4264/4264/4264 4263/4263/4263\nf 4263/4263/4263 3874/3874/3874 3879/3879/3879\nf 3133/3133/3133 4264/4264/4264 4265/4265/4265\nf 4265/4265/4265 3340/3340/3340 3133/3133/3133\nf 3879/3879/3879 3881/3881/3881 4265/4265/4265\nf 4265/4265/4265 4264/4264/4264 3879/3879/3879\nf 3888/3888/3888 4266/4266/4266 4265/4265/4265\nf 4265/4265/4265 3881/3881/3881 3888/3888/3888\nf 3309/3309/3309 3340/3340/3340 4265/4265/4265\nf 4265/4265/4265 4266/4266/4266 3309/3309/3309\nf 3309/3309/3309 4266/4266/4266 4267/4267/4267\nf 4267/4267/4267 3304/3304/3304 3309/3309/3309\nf 3888/3888/3888 3889/3889/3889 4267/4267/4267\nf 4267/4267/4267 4266/4266/4266 3888/3888/3888\nf 4127/4127/4127 4268/4268/4268 4267/4267/4267\nf 4267/4267/4267 3889/3889/3889 4127/4127/4127\nf 3301/3301/3301 3304/3304/3304 4267/4267/4267\nf 4267/4267/4267 4268/4268/4268 3301/3301/3301\nf 3301/3301/3301 4268/4268/4268 4269/4269/4269\nf 4269/4269/4269 4270/4270/4270 3301/3301/3301\nf 4127/4127/4127 4094/4094/4094 4269/4269/4269\nf 4269/4269/4269 4268/4268/4268 4127/4127/4127\nf 4085/4085/4085 4270/4270/4270 4269/4269/4269\nf 4269/4269/4269 4094/4094/4094 4085/4085/4085\nf 3301/3301/3301 4270/4270/4270 4271/4271/4271\nf 4271/4271/4271 3336/3336/3336 3301/3301/3301\nf 4085/4085/4085 4088/4088/4088 4271/4271/4271\nf 4271/4271/4271 4270/4270/4270 4085/4085/4085\nf 4048/4048/4048 4272/4272/4272 4271/4271/4271\nf 4271/4271/4271 4088/4088/4088 4048/4048/4048\nf 3300/3300/3300 3336/3336/3336 4271/4271/4271\nf 4271/4271/4271 4272/4272/4272 3300/3300/3300\nf 3300/3300/3300 4272/4272/4272 4273/4273/4273\nf 4273/4273/4273 3295/3295/3295 3300/3300/3300\nf 4048/4048/4048 4090/4090/4090 4273/4273/4273\nf 4273/4273/4273 4272/4272/4272 4048/4048/4048\nf 4089/4089/4089 4274/4274/4274 4273/4273/4273\nf 4273/4273/4273 4090/4090/4090 4089/4089/4089\nf 3151/3151/3151 3295/3295/3295 4273/4273/4273\nf 4273/4273/4273 4274/4274/4274 3151/3151/3151\nf 3151/3151/3151 4274/4274/4274 4275/4275/4275\nf 4089/4089/4089 4222/4222/4222 4275/4275/4275\nf 4275/4275/4275 4274/4274/4274 4089/4089/4089\nf 4275/4275/4275 4222/4222/4222 4025/4025/4025\nf 3151/3151/3151 4275/4275/4275 4276/4276/4276\nf 4276/4276/4276 3152/3152/3152 3151/3151/3151\nf 4276/4276/4276 4275/4275/4275 4025/4025/4025\nf 4024/4024/4024 4277/4277/4277 4276/4276/4276\nf 4276/4276/4276 4025/4025/4025 4024/4024/4024\nf 3147/3147/3147 3152/3152/3152 4276/4276/4276\nf 4276/4276/4276 4277/4277/4277 3147/3147/3147\nf 3147/3147/3147 4277/4277/4277 4278/4278/4278\nf 4278/4278/4278 3148/3148/3148 3147/3147/3147\nf 4024/4024/4024 4023/4023/4023 4278/4278/4278\nf 4278/4278/4278 4277/4277/4277 4024/4024/4024\nf 4022/4022/4022 4279/4279/4279 4278/4278/4278\nf 4278/4278/4278 4023/4023/4023 4022/4022/4022\nf 3143/3143/3143 3148/3148/3148 4278/4278/4278\nf 4278/4278/4278 4279/4279/4279 3143/3143/3143\nf 3143/3143/3143 4279/4279/4279 4280/4280/4280\nf 4280/4280/4280 4258/4258/4258 3143/3143/3143\nf 4022/4022/4022 4032/4032/4032 4280/4280/4280\nf 4280/4280/4280 4279/4279/4279 4022/4022/4022\nf 4034/4034/4034 4258/4258/4258 4280/4280/4280\nf 4280/4280/4280 4032/4032/4032 4034/4034/4034\nf 4281/4281/4281 4282/4282/4282 4283/4283/4283\nf 4283/4283/4283 4284/4284/4284 4281/4281/4281\nf 4285/4285/4285 4286/4286/4286 4283/4283/4283\nf 4283/4283/4283 4282/4282/4282 4285/4285/4285\nf 4287/4287/4287 4288/4288/4288 4283/4283/4283\nf 4283/4283/4283 4286/4286/4286 4287/4287/4287\nf 4289/4289/4289 4284/4284/4284 4283/4283/4283\nf 4283/4283/4283 4288/4288/4288 4289/4289/4289\nf 4289/4289/4289 4288/4288/4288 4290/4290/4290\nf 4290/4290/4290 4291/4291/4291 4289/4289/4289\nf 4287/4287/4287 4292/4292/4292 4290/4290/4290\nf 4290/4290/4290 4288/4288/4288 4287/4287/4287\nf 4293/4293/4293 4294/4294/4294 4290/4290/4290\nf 4290/4290/4290 4292/4292/4292 4293/4293/4293\nf 4295/4295/4295 4296/4296/4296 4290/4290/4290\nf 4290/4290/4290 4294/4294/4294 4295/4295/4295\nf 4290/4290/4290 4296/4296/4296 4297/4297/4297\nf 4298/4298/4298 4291/4291/4291 4290/4290/4290\nf 4290/4290/4290 4297/4297/4297 4298/4298/4298\nf 4298/4298/4298 4297/4297/4297 4299/4299/4299\nf 4300/4300/4300 4301/4301/4301 4302/4302/4302\nf 4302/4302/4302 4303/4303/4303 4300/4300/4300\nf 4304/4304/4304 4305/4305/4305 4302/4302/4302\nf 4302/4302/4302 4306/4306/4306 4304/4304/4304\nf 4305/4305/4305 4303/4303/4303 4302/4302/4302\nf 4307/4307/4307 4308/4308/4308 4309/4309/4309\nf 4309/4309/4309 4310/4310/4310 4307/4307/4307\nf 4311/4311/4311 4312/4312/4312 4309/4309/4309\nf 4309/4309/4309 4308/4308/4308 4311/4311/4311\nf 4313/4313/4313 4314/4314/4314 4309/4309/4309\nf 4309/4309/4309 4312/4312/4312 4313/4313/4313\nf 4315/4315/4315 4316/4316/4316 4309/4309/4309\nf 4309/4309/4309 4314/4314/4314 4315/4315/4315\nf 4317/4317/4317 4318/4318/4318 4309/4309/4309\nf 4309/4309/4309 4316/4316/4316 4317/4317/4317\nf 4319/4319/4319 4310/4310/4310 4309/4309/4309\nf 4309/4309/4309 4318/4318/4318 4319/4319/4319\nf 4317/4317/4317 4316/4316/4316 4320/4320/4320\nf 4320/4320/4320 4321/4321/4321 4317/4317/4317\nf 4315/4315/4315 4322/4322/4322 4320/4320/4320\nf 4320/4320/4320 4316/4316/4316 4315/4315/4315\nf 4323/4323/4323 4324/4324/4324 4320/4320/4320\nf 4320/4320/4320 4322/4322/4322 4323/4323/4323\nf 4325/4325/4325 4321/4321/4321 4320/4320/4320\nf 4320/4320/4320 4324/4324/4324 4325/4325/4325\nf 4325/4325/4325 4324/4324/4324 4326/4326/4326\nf 4326/4326/4326 4327/4327/4327 4325/4325/4325\nf 4323/4323/4323 4328/4328/4328 4326/4326/4326\nf 4326/4326/4326 4324/4324/4324 4323/4323/4323\nf 4329/4329/4329 4330/4330/4330 4326/4326/4326\nf 4326/4326/4326 4328/4328/4328 4329/4329/4329\nf 4287/4287/4287 4286/4286/4286 4326/4326/4326\nf 4326/4326/4326 4330/4330/4330 4287/4287/4287\nf 4285/4285/4285 4327/4327/4327 4326/4326/4326\nf 4326/4326/4326 4286/4286/4286 4285/4285/4285\nf 4287/4287/4287 4330/4330/4330 4331/4331/4331\nf 4331/4331/4331 4292/4292/4292 4287/4287/4287\nf 4329/4329/4329 4332/4332/4332 4331/4331/4331\nf 4331/4331/4331 4330/4330/4330 4329/4329/4329\nf 4333/4333/4333 4334/4334/4334 4331/4331/4331\nf 4331/4331/4331 4332/4332/4332 4333/4333/4333\nf 4293/4293/4293 4292/4292/4292 4331/4331/4331\nf 4331/4331/4331 4334/4334/4334 4293/4293/4293\nf 4293/4293/4293 4334/4334/4334 4335/4335/4335\nf 4335/4335/4335 4336/4336/4336 4293/4293/4293\nf 4333/4333/4333 4337/4337/4337 4335/4335/4335\nf 4335/4335/4335 4334/4334/4334 4333/4333/4333\nf 4338/4338/4338 4339/4339/4339 4335/4335/4335\nf 4335/4335/4335 4337/4337/4337 4338/4338/4338\nf 4339/4339/4339 4340/4340/4340 4335/4335/4335\nf 4340/4340/4340 4341/4341/4341 4335/4335/4335\nf 4342/4342/4342 4343/4343/4343 4335/4335/4335\nf 4335/4335/4335 4341/4341/4341 4342/4342/4342\nf 4335/4335/4335 4343/4343/4343 4344/4344/4344\nf 4335/4335/4335 4344/4344/4344 4345/4345/4345\nf 4346/4346/4346 4336/4336/4336 4335/4335/4335\nf 4335/4335/4335 4345/4345/4345 4346/4346/4346\nf 4347/4347/4347 4305/4305/4305 4304/4304/4304\nf 4348/4348/4348 4349/4349/4349 4347/4347/4347\nf 4347/4347/4347 4350/4350/4350 4348/4348/4348\nf 4347/4347/4347 4349/4349/4349 4305/4305/4305\nf 4313/4313/4313 4349/4349/4349 4351/4351/4351\nf 4351/4351/4351 4314/4314/4314 4313/4313/4313\nf 4352/4352/4352 4353/4353/4353 4351/4351/4351\nf 4351/4351/4351 4349/4349/4349 4352/4352/4352\nf 4353/4353/4353 4354/4354/4354 4351/4351/4351\nf 4315/4315/4315 4314/4314/4314 4351/4351/4351\nf 4351/4351/4351 4354/4354/4354 4315/4315/4315\nf 4315/4315/4315 4354/4354/4354 4355/4355/4355\nf 4355/4355/4355 4322/4322/4322 4315/4315/4315\nf 4353/4353/4353 4356/4356/4356 4355/4355/4355\nf 4355/4355/4355 4354/4354/4354 4353/4353/4353\nf 4356/4356/4356 4357/4357/4357 4355/4355/4355\nf 4323/4323/4323 4322/4322/4322 4355/4355/4355\nf 4355/4355/4355 4357/4357/4357 4323/4323/4323\nf 4323/4323/4323 4357/4357/4357 4358/4358/4358\nf 4358/4358/4358 4328/4328/4328 4323/4323/4323\nf 4356/4356/4356 4359/4359/4359 4358/4358/4358\nf 4358/4358/4358 4357/4357/4357 4356/4356/4356\nf 4359/4359/4359 4360/4360/4360 4358/4358/4358\nf 4329/4329/4329 4328/4328/4328 4358/4358/4358\nf 4358/4358/4358 4360/4360/4360 4329/4329/4329\nf 4329/4329/4329 4360/4360/4360 4361/4361/4361\nf 4361/4361/4361 4362/4362/4362 4329/4329/4329\nf 4361/4361/4361 4360/4360/4360 4359/4359/4359\nf 4359/4359/4359 4362/4362/4362 4361/4361/4361\nf 4329/4329/4329 4362/4362/4362 4363/4363/4363\nf 4363/4363/4363 4364/4364/4364 4329/4329/4329\nf 4363/4363/4363 4362/4362/4362 4359/4359/4359\nf 4359/4359/4359 4364/4364/4364 4363/4363/4363\nf 4329/4329/4329 4364/4364/4364 4365/4365/4365\nf 4365/4365/4365 4332/4332/4332 4329/4329/4329\nf 4365/4365/4365 4364/4364/4364 4359/4359/4359\nf 4366/4366/4366 4367/4367/4367 4365/4365/4365\nf 4365/4365/4365 4359/4359/4359 4366/4366/4366\nf 4333/4333/4333 4332/4332/4332 4365/4365/4365\nf 4365/4365/4365 4367/4367/4367 4333/4333/4333\nf 4333/4333/4333 4367/4367/4367 4368/4368/4368\nf 4368/4368/4368 4337/4337/4337 4333/4333/4333\nf 4368/4368/4368 4367/4367/4367 4366/4366/4366\nf 4369/4369/4369 4370/4370/4370 4368/4368/4368\nf 4368/4368/4368 4366/4366/4366 4369/4369/4369\nf 4370/4370/4370 4371/4371/4371 4368/4368/4368\nf 4372/4372/4372 4373/4373/4373 4368/4368/4368\nf 4368/4368/4368 4371/4371/4371 4372/4372/4372\nf 4374/4374/4374 4375/4375/4375 4368/4368/4368\nf 4368/4368/4368 4373/4373/4373 4374/4374/4374\nf 4368/4368/4368 4375/4375/4375 4376/4376/4376\nf 4377/4377/4377 4378/4378/4378 4368/4368/4368\nf 4368/4368/4368 4378/4378/4378 4379/4379/4379\nf 4368/4368/4368 4379/4379/4379 4380/4380/4380\nf 4381/4381/4381 4382/4382/4382 4368/4368/4368\nf 4368/4368/4368 4380/4380/4380 4381/4381/4381\nf 4338/4338/4338 4337/4337/4337 4368/4368/4368\nf 4368/4368/4368 4382/4382/4382 4338/4338/4338\nf 4304/4304/4304 4383/4383/4383 4384/4384/4384\nf 4383/4383/4383 4385/4385/4385 4384/4384/4384\nf 4385/4385/4385 4386/4386/4386 4384/4384/4384\nf 4386/4386/4386 4387/4387/4387 4384/4384/4384\nf 4388/4388/4388 4389/4389/4389 4384/4384/4384\nf 4384/4384/4384 4387/4387/4387 4388/4388/4388\nf 4390/4390/4390 4391/4391/4391 4384/4384/4384\nf 4392/4392/4392 4393/4393/4393 4384/4384/4384\nf 4384/4384/4384 4391/4391/4391 4392/4392/4392\nf 4384/4384/4384 4393/4393/4393 4394/4394/4394\nf 4384/4384/4384 4394/4394/4394 4350/4350/4350\nf 4304/4304/4304 4384/4384/4384 4395/4395/4395\nf 4395/4395/4395 4347/4347/4347 4304/4304/4304\nf 4395/4395/4395 4384/4384/4384 4350/4350/4350\nf 4350/4350/4350 4347/4347/4347 4395/4395/4395\nf 4396/4396/4396 4397/4397/4397 4398/4398/4398\nf 4398/4398/4398 4397/4397/4397 4352/4352/4352\nf 4348/4348/4348 4350/4350/4350 4398/4398/4398\nf 4398/4398/4398 4352/4352/4352 4348/4348/4348\nf 4397/4397/4397 4353/4353/4353 4352/4352/4352\nf 4396/4396/4396 4399/4399/4399 4397/4397/4397\nf 4397/4397/4397 4399/4399/4399 4353/4353/4353\nf 4399/4399/4399 4356/4356/4356 4353/4353/4353\nf 4399/4399/4399 4396/4396/4396 4400/4400/4400\nf 4399/4399/4399 4359/4359/4359 4356/4356/4356\nf 4400/4400/4400 4401/4401/4401 4399/4399/4399\nf 4399/4399/4399 4401/4401/4401 4359/4359/4359\nf 4400/4400/4400 4402/4402/4402 4401/4401/4401\nf 4366/4366/4366 4359/4359/4359 4401/4401/4401\nf 4366/4366/4366 4401/4401/4401 4403/4403/4403\nf 4403/4403/4403 4401/4401/4401 4402/4402/4402\nf 4402/4402/4402 4404/4404/4404 4403/4403/4403\nf 4405/4405/4405 4369/4369/4369 4403/4403/4403\nf 4369/4369/4369 4366/4366/4366 4403/4403/4403\nf 4350/4350/4350 4405/4405/4405 4398/4398/4398\nf 4398/4398/4398 4404/4404/4404 4396/4396/4396\nf 4406/4406/4406 4407/4407/4407 4408/4408/4408\nf 4400/4400/4400 4396/4396/4396 4408/4408/4408\nf 4407/4407/4407 4409/4409/4409 4408/4408/4408\nf 4408/4408/4408 4409/4409/4409 4400/4400/4400\nf 4407/4407/4407 4410/4410/4410 4409/4409/4409\nf 4409/4409/4409 4402/4402/4402 4400/4400/4400\nf 4402/4402/4402 4409/4409/4409 4411/4411/4411\nf 4411/4411/4411 4409/4409/4409 4410/4410/4410\nf 4411/4411/4411 4396/4396/4396 4402/4402/4402\nf 4410/4410/4410 4406/4406/4406 4411/4411/4411\nf 4406/4406/4406 4408/4408/4408 4411/4411/4411\nf 4411/4411/4411 4408/4408/4408 4396/4396/4396\nf 4412/4412/4412 4407/4407/4407 4406/4406/4406\nf 4413/4413/4413 4414/4414/4414 4412/4412/4412\nf 4412/4412/4412 4414/4414/4414 4407/4407/4407\nf 4413/4413/4413 4415/4415/4415 4414/4414/4414\nf 4407/4407/4407 4414/4414/4414 4416/4416/4416\nf 4416/4416/4416 4414/4414/4414 4415/4415/4415\nf 4416/4416/4416 4410/4410/4410 4407/4407/4407\nf 4415/4415/4415 4417/4417/4417 4416/4416/4416\nf 4417/4417/4417 4412/4412/4412 4416/4416/4416\nf 4416/4416/4416 4412/4412/4412 4410/4410/4410\nf 4412/4412/4412 4406/4406/4406 4410/4410/4410\nf 4412/4412/4412 4417/4417/4417 4413/4413/4413\nf 4418/4418/4418 4419/4419/4419 4420/4420/4420\nf 4420/4420/4420 4419/4419/4419 4413/4413/4413\nf 4419/4419/4419 4415/4415/4415 4413/4413/4413\nf 4415/4415/4415 4419/4419/4419 4421/4421/4421\nf 4421/4421/4421 4417/4417/4417 4415/4415/4415\nf 4421/4421/4421 4419/4419/4419 4418/4418/4418\nf 4418/4418/4418 4420/4420/4420 4421/4421/4421\nf 4421/4421/4421 4420/4420/4420 4417/4417/4417\nf 4413/4413/4413 4417/4417/4417 4420/4420/4420\nf 4319/4319/4319 4422/4422/4422 4423/4423/4423\nf 4423/4423/4423 4310/4310/4310 4319/4319/4319\nf 4424/4424/4424 4425/4425/4425 4423/4423/4423\nf 4423/4423/4423 4422/4422/4422 4424/4424/4424\nf 4426/4426/4426 4427/4427/4427 4423/4423/4423\nf 4423/4423/4423 4425/4425/4425 4426/4426/4426\nf 4427/4427/4427 4428/4428/4428 4423/4423/4423\nf 4307/4307/4307 4310/4310/4310 4423/4423/4423\nf 4423/4423/4423 4428/4428/4428 4307/4307/4307\nf 4429/4429/4429 4430/4430/4430 4431/4431/4431\nf 4431/4431/4431 4432/4432/4432 4429/4429/4429\nf 4325/4325/4325 4327/4327/4327 4431/4431/4431\nf 4431/4431/4431 4430/4430/4430 4325/4325/4325\nf 4285/4285/4285 4282/4282/4282 4431/4431/4431\nf 4431/4431/4431 4327/4327/4327 4285/4285/4285\nf 4281/4281/4281 4432/4432/4432 4431/4431/4431\nf 4431/4431/4431 4282/4282/4282 4281/4281/4281\nf 4424/4424/4424 4422/4422/4422 4433/4433/4433\nf 4433/4433/4433 4434/4434/4434 4424/4424/4424\nf 4319/4319/4319 4318/4318/4318 4433/4433/4433\nf 4433/4433/4433 4422/4422/4422 4319/4319/4319\nf 4317/4317/4317 4435/4435/4435 4433/4433/4433\nf 4433/4433/4433 4318/4318/4318 4317/4317/4317\nf 4436/4436/4436 4434/4434/4434 4433/4433/4433\nf 4433/4433/4433 4435/4435/4435 4436/4436/4436\nf 4325/4325/4325 4430/4430/4430 4437/4437/4437\nf 4437/4437/4437 4321/4321/4321 4325/4325/4325\nf 4429/4429/4429 4438/4438/4438 4437/4437/4437\nf 4437/4437/4437 4430/4430/4430 4429/4429/4429\nf 4436/4436/4436 4435/4435/4435 4437/4437/4437\nf 4437/4437/4437 4438/4438/4438 4436/4436/4436\nf 4317/4317/4317 4321/4321/4321 4437/4437/4437\nf 4437/4437/4437 4435/4435/4435 4317/4317/4317\nf 4439/4439/4439 4440/4440/4440 4441/4441/4441\nf 4441/4441/4441 4442/4442/4442 4439/4439/4439\nf 4443/4443/4443 4444/4444/4444 4441/4441/4441\nf 4441/4441/4441 4440/4440/4440 4443/4443/4443\nf 4445/4445/4445 4446/4446/4446 4441/4441/4441\nf 4441/4441/4441 4444/4444/4444 4445/4445/4445\nf 4447/4447/4447 4442/4442/4442 4441/4441/4441\nf 4441/4441/4441 4446/4446/4446 4447/4447/4447\nf 4448/4448/4448 4449/4449/4449 4450/4450/4450\nf 4450/4450/4450 4451/4451/4451 4452/4452/4452\nf 4452/4452/4452 4451/4451/4451 4453/4453/4453\nf 4453/4453/4453 4454/4454/4454 4452/4452/4452\nf 4455/4455/4455 4456/4456/4456 4453/4453/4453\nf 4456/4456/4456 4454/4454/4454 4453/4453/4453\nf 4455/4455/4455 4457/4457/4457 4458/4458/4458\nf 4458/4458/4458 4456/4456/4456 4455/4455/4455\nf 4459/4459/4459 4460/4460/4460 4458/4458/4458\nf 4458/4458/4458 4457/4457/4457 4459/4459/4459\nf 4461/4461/4461 4462/4462/4462 4460/4460/4460\nf 4461/4461/4461 4460/4460/4460 4459/4459/4459\nf 4463/4463/4463 4462/4462/4462 4461/4461/4461\nf 4461/4461/4461 4464/4464/4464 4463/4463/4463\nf 4465/4465/4465 4466/4466/4466 4467/4467/4467\nf 4466/4466/4466 4468/4468/4468 4467/4467/4467\nf 4469/4469/4469 4470/4470/4470 4471/4471/4471\nf 4472/4472/4472 4470/4470/4470 4469/4469/4469\nf 4473/4473/4473 4466/4466/4466 4465/4465/4465\nf 4473/4473/4473 4465/4465/4465 4467/4467/4467\nf 4473/4473/4473 4467/4467/4467 4472/4472/4472\nf 4471/4471/4471 4472/4472/4472 4469/4469/4469\nf 4455/4455/4455 4466/4466/4466 4457/4457/4457\nf 4466/4466/4466 4473/4473/4473 4457/4457/4457\nf 4457/4457/4457 4473/4473/4473 4459/4459/4459\nf 4453/4453/4453 4466/4466/4466 4455/4455/4455\nf 4451/4451/4451 4466/4466/4466 4453/4453/4453\nf 4449/4449/4449 4471/4471/4471 4450/4450/4450\nf 4450/4450/4450 4471/4471/4471 4451/4451/4451\nf 4472/4472/4472 4471/4471/4471 4474/4474/4474\nf 4474/4474/4474 4475/4475/4475 4472/4472/4472\nf 4474/4474/4474 4471/4471/4471 4476/4476/4476\nf 4477/4477/4477 4472/4472/4472 4478/4478/4478\nf 4472/4472/4472 4475/4475/4475 4478/4478/4478\nf 4479/4479/4479 4464/4464/4464 4473/4473/4473\nf 4459/4459/4459 4473/4473/4473 4461/4461/4461\nf 4473/4473/4473 4464/4464/4464 4461/4461/4461\nf 4480/4480/4480 4481/4481/4481 4479/4479/4479\nf 4479/4479/4479 4477/4477/4477 4480/4480/4480\nf 4463/4463/4463 4464/4464/4464 4479/4479/4479\nf 4479/4479/4479 4481/4481/4481 4463/4463/4463\nf 4478/4478/4478 4475/4475/4475 4482/4482/4482\nf 4480/4480/4480 4477/4477/4477 4478/4478/4478\nf 4475/4475/4475 4474/4474/4474 4483/4483/4483\nf 4483/4483/4483 4474/4474/4474 4476/4476/4476\nf 4482/4482/4482 4475/4475/4475 4483/4483/4483\nf 4449/4449/4449 4448/4448/4448 4484/4484/4484\nf 4484/4484/4484 4448/4448/4448 4476/4476/4476\nf 4468/4468/4468 4466/4466/4466 4471/4471/4471\nf 4467/4467/4467 4468/4468/4468 4472/4472/4472\nf 4468/4468/4468 4470/4470/4470 4472/4472/4472\nf 4468/4468/4468 4471/4471/4471 4470/4470/4470\nf 4477/4477/4477 4479/4479/4479 4472/4472/4472\nf 4472/4472/4472 4479/4479/4479 4473/4473/4473\nf 4471/4471/4471 4466/4466/4466 4451/4451/4451\nf 4449/4449/4449 4484/4484/4484 4471/4471/4471\nf 4471/4471/4471 4484/4484/4484 4476/4476/4476\nf 4443/4443/4443 4460/4460/4460 4462/4462/4462\nf 4462/4462/4462 4463/4463/4463 4485/4485/4485\nf 4485/4485/4485 4463/4463/4463 4480/4480/4480\nf 4480/4480/4480 4486/4486/4486 4485/4485/4485\nf 4463/4463/4463 4481/4481/4481 4480/4480/4480\nf 4487/4487/4487 4488/4488/4488 4480/4480/4480\nf 4480/4480/4480 4489/4489/4489 4487/4487/4487\nf 4488/4488/4488 4486/4486/4486 4480/4480/4480\nf 4487/4487/4487 4489/4489/4489 4482/4482/4482\nf 4482/4482/4482 4490/4490/4490 4487/4487/4487\nf 4480/4480/4480 4478/4478/4478 4482/4482/4482\nf 4482/4482/4482 4489/4489/4489 4480/4480/4480\nf 4448/4448/4448 4490/4490/4490 4482/4482/4482\nf 4482/4482/4482 4483/4483/4483 4448/4448/4448\nf 4476/4476/4476 4448/4448/4448 4483/4483/4483\nf 4491/4491/4491 4492/4492/4492 4493/4493/4493\nf 4493/4493/4493 4494/4494/4494 4491/4491/4491\nf 4448/4448/4448 4450/4450/4450 4493/4493/4493\nf 4493/4493/4493 4492/4492/4492 4448/4448/4448\nf 4452/4452/4452 4495/4495/4495 4493/4493/4493\nf 4493/4493/4493 4450/4450/4450 4452/4452/4452\nf 4439/4439/4439 4494/4494/4494 4493/4493/4493\nf 4493/4493/4493 4495/4495/4495 4439/4439/4439\nf 4439/4439/4439 4495/4495/4495 4456/4456/4456\nf 4456/4456/4456 4440/4440/4440 4439/4439/4439\nf 4452/4452/4452 4454/4454/4454 4456/4456/4456\nf 4456/4456/4456 4495/4495/4495 4452/4452/4452\nf 4443/4443/4443 4440/4440/4440 4456/4456/4456\nf 4456/4456/4456 4458/4458/4458 4443/4443/4443\nf 4458/4458/4458 4460/4460/4460 4443/4443/4443\nf 4496/4496/4496 4497/4497/4497 4498/4498/4498\nf 4487/4487/4487 4497/4497/4497 4496/4496/4496\nf 4496/4496/4496 4488/4488/4488 4487/4487/4487\nf 4499/4499/4499 4500/4500/4500 4501/4501/4501\nf 4295/4295/4295 4294/4294/4294 4501/4501/4501\nf 4501/4501/4501 4500/4500/4500 4295/4295/4295\nf 4293/4293/4293 4336/4336/4336 4501/4501/4501\nf 4501/4501/4501 4294/4294/4294 4293/4293/4293\nf 4501/4501/4501 4336/4336/4336 4346/4346/4346\nf 4488/4488/4488 4502/4502/4502 4503/4503/4503\nf 4503/4503/4503 4486/4486/4486 4488/4488/4488\nf 4503/4503/4503 4504/4504/4504 4486/4486/4486\nf 4486/4486/4486 4504/4504/4504 4505/4505/4505\nf 4504/4504/4504 4506/4506/4506 4505/4505/4505\nf 4507/4507/4507 4508/4508/4508 4505/4505/4505\nf 4505/4505/4505 4506/4506/4506 4507/4507/4507\nf 4507/4507/4507 4509/4509/4509 4510/4510/4510\nf 4510/4510/4510 4508/4508/4508 4507/4507/4507\nf 4510/4510/4510 4509/4509/4509 4511/4511/4511\nf 4512/4512/4512 4500/4500/4500 4511/4511/4511\nf 4295/4295/4295 4500/4500/4500 4512/4512/4512\nf 4512/4512/4512 4513/4513/4513 4295/4295/4295\nf 4295/4295/4295 4513/4513/4513 4514/4514/4514\nf 4514/4514/4514 4296/4296/4296 4295/4295/4295\nf 4515/4515/4515 4296/4296/4296 4514/4514/4514\nf 4514/4514/4514 4516/4516/4516 4515/4515/4515\nf 4517/4517/4517 4518/4518/4518 4519/4519/4519\nf 4518/4518/4518 4520/4520/4520 4519/4519/4519\nf 4521/4521/4521 4522/4522/4522 4523/4523/4523\nf 4524/4524/4524 4522/4522/4522 4521/4521/4521\nf 4519/4519/4519 4520/4520/4520 4525/4525/4525\nf 4525/4525/4525 4520/4520/4520 4524/4524/4524\nf 4526/4526/4526 4518/4518/4518 4517/4517/4517\nf 4526/4526/4526 4517/4517/4517 4519/4519/4519\nf 4519/4519/4519 4525/4525/4525 4524/4524/4524\nf 4524/4524/4524 4526/4526/4526 4519/4519/4519\nf 4524/4524/4524 4521/4521/4521 4523/4523/4523\nf 4512/4512/4512 4526/4526/4526 4513/4513/4513\nf 4512/4512/4512 4527/4527/4527 4518/4518/4518\nf 4512/4512/4512 4518/4518/4518 4526/4526/4526\nf 4518/4518/4518 4527/4527/4527 4509/4509/4509\nf 4503/4503/4503 4502/4502/4502 4523/4523/4523\nf 4523/4523/4523 4502/4502/4502 4528/4528/4528\nf 4529/4529/4529 4530/4530/4530 4524/4524/4524\nf 4524/4524/4524 4530/4530/4530 4531/4531/4531\nf 4513/4513/4513 4526/4526/4526 4514/4514/4514\nf 4514/4514/4514 4526/4526/4526 4516/4516/4516\nf 4516/4516/4516 4531/4531/4531 4297/4297/4297\nf 4297/4297/4297 4531/4531/4531 4530/4530/4530\nf 4515/4515/4515 4516/4516/4516 4297/4297/4297\nf 4529/4529/4529 4297/4297/4297 4530/4530/4530\nf 4532/4532/4532 4498/4498/4498 4529/4529/4529\nf 4498/4498/4498 4299/4299/4299 4529/4529/4529\nf 4529/4529/4529 4299/4299/4299 4297/4297/4297\nf 4528/4528/4528 4498/4498/4498 4532/4532/4532\nf 4528/4528/4528 4502/4502/4502 4488/4488/4488\nf 4511/4511/4511 4527/4527/4527 4512/4512/4512\nf 4509/4509/4509 4527/4527/4527 4511/4511/4511\nf 4520/4520/4520 4518/4518/4518 4523/4523/4523\nf 4520/4520/4520 4522/4522/4522 4524/4524/4524\nf 4520/4520/4520 4523/4523/4523 4522/4522/4522\nf 4523/4523/4523 4528/4528/4528 4524/4524/4524\nf 4524/4524/4524 4528/4528/4528 4532/4532/4532\nf 4532/4532/4532 4529/4529/4529 4524/4524/4524\nf 4524/4524/4524 4531/4531/4531 4526/4526/4526\nf 4526/4526/4526 4531/4531/4531 4516/4516/4516\nf 4518/4518/4518 4509/4509/4509 4507/4507/4507\nf 4507/4507/4507 4506/4506/4506 4523/4523/4523\nf 4523/4523/4523 4518/4518/4518 4507/4507/4507\nf 4523/4523/4523 4506/4506/4506 4504/4504/4504\nf 4504/4504/4504 4503/4503/4503 4523/4523/4523\nf 4498/4498/4498 4528/4528/4528 4496/4496/4496\nf 4496/4496/4496 4528/4528/4528 4488/4488/4488\nf 4486/4486/4486 4505/4505/4505 4485/4485/4485\nf 4505/4505/4505 4508/4508/4508 4485/4485/4485\nf 4485/4485/4485 4508/4508/4508 4510/4510/4510\nf 4510/4510/4510 4511/4511/4511 4499/4499/4499\nf 4499/4499/4499 4511/4511/4511 4500/4500/4500\nf 4296/4296/4296 4515/4515/4515 4297/4297/4297\nf 4444/4444/4444 4533/4533/4533 4534/4534/4534\nf 4534/4534/4534 4535/4535/4535 4444/4444/4444\nf 4444/4444/4444 4535/4535/4535 4536/4536/4536\nf 4444/4444/4444 4536/4536/4536 4445/4445/4445\nf 4445/4445/4445 4536/4536/4536 4537/4537/4537\nf 4538/4538/4538 4445/4445/4445 4537/4537/4537\nf 4538/4538/4538 4537/4537/4537 4539/4539/4539\nf 4540/4540/4540 4538/4538/4538 4539/4539/4539\nf 4537/4537/4537 4536/4536/4536 4535/4535/4535\nf 4539/4539/4539 4537/4537/4537 4541/4541/4541\nf 4541/4541/4541 4540/4540/4540 4539/4539/4539\nf 4537/4537/4537 4542/4542/4542 4541/4541/4541\nf 4535/4535/4535 4542/4542/4542 4537/4537/4537\nf 4543/4543/4543 4542/4542/4542 4535/4535/4535\nf 4535/4535/4535 4534/4534/4534 4543/4543/4543\nf 4543/4543/4543 4534/4534/4534 4544/4544/4544\nf 4545/4545/4545 4546/4546/4546 4547/4547/4547\nf 4545/4545/4545 4548/4548/4548 4541/4541/4541\nf 4541/4541/4541 4548/4548/4548 4540/4540/4540\nf 4533/4533/4533 4462/4462/4462 4544/4544/4544\nf 4544/4544/4544 4534/4534/4534 4533/4533/4533\nf 4544/4544/4544 4462/4462/4462 4546/4546/4546\nf 4541/4541/4541 4542/4542/4542 4549/4549/4549\nf 4543/4543/4543 4549/4549/4549 4542/4542/4542\nf 4543/4543/4543 4544/4544/4544 4549/4549/4549\nf 4549/4549/4549 4544/4544/4544 4546/4546/4546\nf 4546/4546/4546 4545/4545/4545 4549/4549/4549\nf 4549/4549/4549 4545/4545/4545 4541/4541/4541\nf 4485/4485/4485 4546/4546/4546 4462/4462/4462\nf 4462/4462/4462 4533/4533/4533 4443/4443/4443\nf 4533/4533/4533 4444/4444/4444 4443/4443/4443\nf 4538/4538/4538 4540/4540/4540 4550/4550/4550\nf 4550/4550/4550 4540/4540/4540 4551/4551/4551\nf 4548/4548/4548 4545/4545/4545 4551/4551/4551\nf 4551/4551/4551 4540/4540/4540 4548/4548/4548\nf 4551/4551/4551 4545/4545/4545 4547/4547/4547\nf 4551/4551/4551 4547/4547/4547 4485/4485/4485\nf 4485/4485/4485 4547/4547/4547 4546/4546/4546\nf 4552/4552/4552 4499/4499/4499 4553/4553/4553\nf 4554/4554/4554 4555/4555/4555 4556/4556/4556\nf 4556/4556/4556 4555/4555/4555 4557/4557/4557\nf 4558/4558/4558 4559/4559/4559 4554/4554/4554\nf 4554/4554/4554 4559/4559/4559 4555/4555/4555\nf 4560/4560/4560 4561/4561/4561 4555/4555/4555\nf 4561/4561/4561 4557/4557/4557 4555/4555/4555\nf 4557/4557/4557 4561/4561/4561 4562/4562/4562\nf 4562/4562/4562 4561/4561/4561 4563/4563/4563\nf 4563/4563/4563 4561/4561/4561 4553/4553/4553\nf 4560/4560/4560 4555/4555/4555 4559/4559/4559\nf 4558/4558/4558 4551/4551/4551 4564/4564/4564\nf 4564/4564/4564 4559/4559/4559 4558/4558/4558\nf 4564/4564/4564 4551/4551/4551 4565/4565/4565\nf 4510/4510/4510 4566/4566/4566 4565/4565/4565\nf 4552/4552/4552 4566/4566/4566 4510/4510/4510\nf 4510/4510/4510 4499/4499/4499 4552/4552/4552\nf 4560/4560/4560 4567/4567/4567 4561/4561/4561\nf 4567/4567/4567 4560/4560/4560 4568/4568/4568\nf 4567/4567/4567 4566/4566/4566 4552/4552/4552\nf 4567/4567/4567 4568/4568/4568 4566/4566/4566\nf 4568/4568/4568 4565/4565/4565 4566/4566/4566\nf 4568/4568/4568 4564/4564/4564 4565/4565/4565\nf 4559/4559/4559 4564/4564/4564 4568/4568/4568\nf 4568/4568/4568 4560/4560/4560 4559/4559/4559\nf 4561/4561/4561 4567/4567/4567 4553/4553/4553\nf 4567/4567/4567 4552/4552/4552 4553/4553/4553\nf 4485/4485/4485 4510/4510/4510 4565/4565/4565\nf 4485/4485/4485 4565/4565/4565 4551/4551/4551\nf 4551/4551/4551 4558/4558/4558 4550/4550/4550\nf 4550/4550/4550 4558/4558/4558 4554/4554/4554\nf 4550/4550/4550 4554/4554/4554 4556/4556/4556\nf 4556/4556/4556 4569/4569/4569 4550/4550/4550\nf 4346/4346/4346 4569/4569/4569 4556/4556/4556\nf 4556/4556/4556 4557/4557/4557 4346/4346/4346\nf 4346/4346/4346 4557/4557/4557 4501/4501/4501\nf 4562/4562/4562 4563/4563/4563 4501/4501/4501\nf 4501/4501/4501 4557/4557/4557 4562/4562/4562\nf 4501/4501/4501 4563/4563/4563 4553/4553/4553\nf 4501/4501/4501 4553/4553/4553 4499/4499/4499\nf 4346/4346/4346 4345/4345/4345 4570/4570/4570\nf 4571/4571/4571 4572/4572/4572 4573/4573/4573\nf 4571/4571/4571 4573/4573/4573 4574/4574/4574\nf 4569/4569/4569 4346/4346/4346 4570/4570/4570\nf 4344/4344/4344 4570/4570/4570 4345/4345/4345\nf 4575/4575/4575 4344/4344/4344 4576/4576/4576\nf 4344/4344/4344 4572/4572/4572 4576/4576/4576\nf 4344/4344/4344 4575/4575/4575 4570/4570/4570\nf 4575/4575/4575 4577/4577/4577 4570/4570/4570\nf 4572/4572/4572 4571/4571/4571 4576/4576/4576\nf 4571/4571/4571 4574/4574/4574 4578/4578/4578\nf 4577/4577/4577 4575/4575/4575 4576/4576/4576\nf 4577/4577/4577 4569/4569/4569 4570/4570/4570\nf 4577/4577/4577 4576/4576/4576 4569/4569/4569\nf 4576/4576/4576 4578/4578/4578 4569/4569/4569\nf 4576/4576/4576 4571/4571/4571 4578/4578/4578\nf 4550/4550/4550 4569/4569/4569 4578/4578/4578\nf 4578/4578/4578 4579/4579/4579 4550/4550/4550\nf 4574/4574/4574 4579/4579/4579 4578/4578/4578\nf 4580/4580/4580 4574/4574/4574 4573/4573/4573\nf 4580/4580/4580 4573/4573/4573 4572/4572/4572\nf 4581/4581/4581 4582/4582/4582 4583/4583/4583\nf 4581/4581/4581 4584/4584/4584 4582/4582/4582\nf 4585/4585/4585 4586/4586/4586 4587/4587/4587\nf 4586/4586/4586 4574/4574/4574 4587/4587/4587\nf 4588/4588/4588 4574/4574/4574 4586/4586/4586\nf 4579/4579/4579 4588/4588/4588 4589/4589/4589\nf 4584/4584/4584 4581/4581/4581 4590/4590/4590\nf 4585/4585/4585 4591/4591/4591 4586/4586/4586\nf 4590/4590/4590 4591/4591/4591 4585/4585/4585\nf 4590/4590/4590 4581/4581/4581 4591/4591/4591\nf 4592/4592/4592 4589/4589/4589 4588/4588/4588\nf 4586/4586/4586 4591/4591/4591 4588/4588/4588\nf 4579/4579/4579 4574/4574/4574 4588/4588/4588\nf 4593/4593/4593 4538/4538/4538 4589/4589/4589\nf 4589/4589/4589 4538/4538/4538 4579/4579/4579\nf 4581/4581/4581 4583/4583/4583 4593/4593/4593\nf 4594/4594/4594 4592/4592/4592 4591/4591/4591\nf 4581/4581/4581 4593/4593/4593 4592/4592/4592\nf 4592/4592/4592 4594/4594/4594 4581/4581/4581\nf 4592/4592/4592 4593/4593/4593 4589/4589/4589\nf 4591/4591/4591 4592/4592/4592 4588/4588/4588\nf 4591/4591/4591 4581/4581/4581 4594/4594/4594\nf 4550/4550/4550 4579/4579/4579 4538/4538/4538\nf 4538/4538/4538 4593/4593/4593 4445/4445/4445\nf 4445/4445/4445 4593/4593/4593 4583/4583/4583\nf 4583/4583/4583 4582/4582/4582 4445/4445/4445\nf 4582/4582/4582 4584/4584/4584 4590/4590/4590\nf 4580/4580/4580 4585/4585/4585 4587/4587/4587\nf 4587/4587/4587 4574/4574/4574 4580/4580/4580\nf 4595/4595/4595 4596/4596/4596 4597/4597/4597\nf 4596/4596/4596 4598/4598/4598 4597/4597/4597\nf 4596/4596/4596 4595/4595/4595 4599/4599/4599\nf 4599/4599/4599 4600/4600/4600 4601/4601/4601\nf 4599/4599/4599 4595/4595/4595 4600/4600/4600\nf 4595/4595/4595 4597/4597/4597 4602/4602/4602\nf 4602/4602/4602 4600/4600/4600 4595/4595/4595\nf 4602/4602/4602 4597/4597/4597 4598/4598/4598\nf 4598/4598/4598 4585/4585/4585 4603/4603/4603\nf 4598/4598/4598 4603/4603/4603 4602/4602/4602\nf 4603/4603/4603 4601/4601/4601 4600/4600/4600\nf 4580/4580/4580 4601/4601/4601 4603/4603/4603\nf 4603/4603/4603 4585/4585/4585 4580/4580/4580\nf 4600/4600/4600 4602/4602/4602 4603/4603/4603\nf 4585/4585/4585 4598/4598/4598 4590/4590/4590\nf 4342/4342/4342 4604/4604/4604 4343/4343/4343\nf 4605/4605/4605 4604/4604/4604 4342/4342/4342\nf 4605/4605/4605 4601/4601/4601 4606/4606/4606\nf 4606/4606/4606 4604/4604/4604 4605/4605/4605\nf 4601/4601/4601 4607/4607/4607 4608/4608/4608\nf 4572/4572/4572 4609/4609/4609 4608/4608/4608\nf 4609/4609/4609 4343/4343/4343 4604/4604/4604\nf 4610/4610/4610 4604/4604/4604 4606/4606/4606\nf 4610/4610/4610 4609/4609/4609 4604/4604/4604\nf 4609/4609/4609 4610/4610/4610 4608/4608/4608\nf 4608/4608/4608 4610/4610/4610 4601/4601/4601\nf 4610/4610/4610 4606/4606/4606 4601/4601/4601\nf 4607/4607/4607 4601/4601/4601 4580/4580/4580\nf 4608/4608/4608 4607/4607/4607 4580/4580/4580\nf 4572/4572/4572 4344/4344/4344 4609/4609/4609\nf 4343/4343/4343 4609/4609/4609 4344/4344/4344\nf 4572/4572/4572 4608/4608/4608 4580/4580/4580\nf 4611/4611/4611 4605/4605/4605 4341/4341/4341\nf 4612/4612/4612 4613/4613/4613 4611/4611/4611\nf 4611/4611/4611 4614/4614/4614 4612/4612/4612\nf 4611/4611/4611 4341/4341/4341 4614/4614/4614\nf 4613/4613/4613 4615/4615/4615 4611/4611/4611\nf 4613/4613/4613 4340/4340/4340 4616/4616/4616\nf 4613/4613/4613 4612/4612/4612 4340/4340/4340\nf 4612/4612/4612 4614/4614/4614 4340/4340/4340\nf 4340/4340/4340 4614/4614/4614 4341/4341/4341\nf 4342/4342/4342 4341/4341/4341 4605/4605/4605\nf 4601/4601/4601 4605/4605/4605 4611/4611/4611\nf 4601/4601/4601 4611/4611/4611 4615/4615/4615\nf 4616/4616/4616 4615/4615/4615 4613/4613/4613\nf 4617/4617/4617 4615/4615/4615 4618/4618/4618\nf 4619/4619/4619 4617/4617/4617 4618/4618/4618\nf 4617/4617/4617 4619/4619/4619 4620/4620/4620\nf 4615/4615/4615 4599/4599/4599 4621/4621/4621\nf 4617/4617/4617 4620/4620/4620 4599/4599/4599\nf 4617/4617/4617 4599/4599/4599 4615/4615/4615\nf 4599/4599/4599 4620/4620/4620 4596/4596/4596\nf 4596/4596/4596 4620/4620/4620 4619/4619/4619\nf 4618/4618/4618 4615/4615/4615 4616/4616/4616\nf 4615/4615/4615 4621/4621/4621 4601/4601/4601\nf 4601/4601/4601 4621/4621/4621 4599/4599/4599\nf 4307/4307/4307 4428/4428/4428 4622/4622/4622\nf 4622/4622/4622 4623/4623/4623 4307/4307/4307\nf 4427/4427/4427 4624/4624/4624 4622/4622/4622\nf 4622/4622/4622 4428/4428/4428 4427/4427/4427\nf 4491/4491/4491 4494/4494/4494 4622/4622/4622\nf 4622/4622/4622 4624/4624/4624 4491/4491/4491\nf 4439/4439/4439 4442/4442/4442 4622/4622/4622\nf 4622/4622/4622 4494/4494/4494 4439/4439/4439\nf 4447/4447/4447 4623/4623/4623 4622/4622/4622\nf 4622/4622/4622 4442/4442/4442 4447/4447/4447\nf 4311/4311/4311 4625/4625/4625 4626/4626/4626\nf 4626/4626/4626 4312/4312/4312 4311/4311/4311\nf 4300/4300/4300 4303/4303/4303 4626/4626/4626\nf 4626/4626/4626 4625/4625/4625 4300/4300/4300\nf 4305/4305/4305 4627/4627/4627 4626/4626/4626\nf 4626/4626/4626 4303/4303/4303 4305/4305/4305\nf 4313/4313/4313 4312/4312/4312 4626/4626/4626\nf 4626/4626/4626 4627/4627/4627 4313/4313/4313\nf 4340/4340/4340 4628/4628/4628 4629/4629/4629\nf 4630/4630/4630 4631/4631/4631 4629/4629/4629\nf 4629/4629/4629 4631/4631/4631 4632/4632/4632\nf 4340/4340/4340 4629/4629/4629 4632/4632/4632\nf 4340/4340/4340 4632/4632/4632 4616/4616/4616\nf 4632/4632/4632 4631/4631/4631 4616/4616/4616\nf 4630/4630/4630 4629/4629/4629 4339/4339/4339\nf 4339/4339/4339 4629/4629/4629 4628/4628/4628\nf 4628/4628/4628 4340/4340/4340 4339/4339/4339\nf 4633/4633/4633 4631/4631/4631 4630/4630/4630\nf 4634/4634/4634 4635/4635/4635 4636/4636/4636\nf 4616/4616/4616 4636/4636/4636 4618/4618/4618\nf 4631/4631/4631 4634/4634/4634 4637/4637/4637\nf 4637/4637/4637 4634/4634/4634 4636/4636/4636\nf 4631/4631/4631 4637/4637/4637 4616/4616/4616\nf 4636/4636/4636 4616/4616/4616 4637/4637/4637\nf 4635/4635/4635 4618/4618/4618 4636/4636/4636\nf 4633/4633/4633 4638/4638/4638 4635/4635/4635\nf 4635/4635/4635 4634/4634/4634 4633/4633/4633\nf 4634/4634/4634 4631/4631/4631 4633/4633/4633\nf 4639/4639/4639 4633/4633/4633 4630/4630/4630\nf 4640/4640/4640 4641/4641/4641 4642/4642/4642\nf 4630/4630/4630 4642/4642/4642 4639/4639/4639\nf 4639/4639/4639 4642/4642/4642 4641/4641/4641\nf 4642/4642/4642 4630/4630/4630 4640/4640/4640\nf 4643/4643/4643 4639/4639/4639 4641/4641/4641\nf 4338/4338/4338 4643/4643/4643 4641/4641/4641\nf 4641/4641/4641 4339/4339/4339 4338/4338/4338\nf 4641/4641/4641 4640/4640/4640 4339/4339/4339\nf 4339/4339/4339 4640/4640/4640 4630/4630/4630\nf 4633/4633/4633 4639/4639/4639 4644/4644/4644\nf 4644/4644/4644 4645/4645/4645 4633/4633/4633\nf 4306/4306/4306 4633/4633/4633 4645/4645/4645\nf 4644/4644/4644 4646/4646/4646 4645/4645/4645\nf 4306/4306/4306 4638/4638/4638 4633/4633/4633\nf 4643/4643/4643 4644/4644/4644 4639/4639/4639\nf 4638/4638/4638 4306/4306/4306 4635/4635/4635\nf 4304/4304/4304 4306/4306/4306 4645/4645/4645\nf 4304/4304/4304 4645/4645/4645 4646/4646/4646\nf 4646/4646/4646 4644/4644/4644 4643/4643/4643\nf 4381/4381/4381 4647/4647/4647 4648/4648/4648\nf 4647/4647/4647 4643/4643/4643 4648/4648/4648\nf 4648/4648/4648 4649/4649/4649 4381/4381/4381\nf 4643/4643/4643 4649/4649/4649 4648/4648/4648\nf 4647/4647/4647 4381/4381/4381 4650/4650/4650\nf 4649/4649/4649 4382/4382/4382 4381/4381/4381\nf 4338/4338/4338 4382/4382/4382 4649/4649/4649\nf 4338/4338/4338 4649/4649/4649 4643/4643/4643\nf 4304/4304/4304 4646/4646/4646 4650/4650/4650\nf 4650/4650/4650 4646/4646/4646 4647/4647/4647\nf 4383/4383/4383 4304/4304/4304 4650/4650/4650\nf 4643/4643/4643 4647/4647/4647 4646/4646/4646\nf 4651/4651/4651 4381/4381/4381 4652/4652/4652\nf 4381/4381/4381 4653/4653/4653 4652/4652/4652\nf 4651/4651/4651 4652/4652/4652 4380/4380/4380\nf 4652/4652/4652 4653/4653/4653 4380/4380/4380\nf 4381/4381/4381 4380/4380/4380 4653/4653/4653\nf 4650/4650/4650 4381/4381/4381 4651/4651/4651\nf 4654/4654/4654 4383/4383/4383 4651/4651/4651\nf 4651/4651/4651 4383/4383/4383 4650/4650/4650\nf 4383/4383/4383 4654/4654/4654 4385/4385/4385\nf 4655/4655/4655 4380/4380/4380 4379/4379/4379\nf 4379/4379/4379 4378/4378/4378 4655/4655/4655\nf 4380/4380/4380 4655/4655/4655 4651/4651/4651\nf 4656/4656/4656 4657/4657/4657 4655/4655/4655\nf 4657/4657/4657 4658/4658/4658 4655/4655/4655\nf 4655/4655/4655 4654/4654/4654 4651/4651/4651\nf 4658/4658/4658 4385/4385/4385 4655/4655/4655\nf 4385/4385/4385 4654/4654/4654 4655/4655/4655\nf 4658/4658/4658 4657/4657/4657 4385/4385/4385\nf 4657/4657/4657 4386/4386/4386 4385/4385/4385\nf 4657/4657/4657 4656/4656/4656 4386/4386/4386\nf 4378/4378/4378 4377/4377/4377 4659/4659/4659\nf 4378/4378/4378 4659/4659/4659 4655/4655/4655\nf 4660/4660/4660 4659/4659/4659 4377/4377/4377\nf 4661/4661/4661 4388/4388/4388 4656/4656/4656\nf 4661/4661/4661 4656/4656/4656 4659/4659/4659\nf 4388/4388/4388 4387/4387/4387 4386/4386/4386\nf 4388/4388/4388 4386/4386/4386 4656/4656/4656\nf 4660/4660/4660 4661/4661/4661 4659/4659/4659\nf 4656/4656/4656 4655/4655/4655 4659/4659/4659\nf 4368/4368/4368 4376/4376/4376 4660/4660/4660\nf 4660/4660/4660 4377/4377/4377 4368/4368/4368\nf 4660/4660/4660 4389/4389/4389 4661/4661/4661\nf 4388/4388/4388 4661/4661/4661 4389/4389/4389\nf 4389/4389/4389 4660/4660/4660 4376/4376/4376\nf 4375/4375/4375 4662/4662/4662 4663/4663/4663\nf 4376/4376/4376 4375/4375/4375 4663/4663/4663\nf 4664/4664/4664 4389/4389/4389 4663/4663/4663\nf 4376/4376/4376 4663/4663/4663 4389/4389/4389\nf 4389/4389/4389 4664/4664/4664 4384/4384/4384\nf 4390/4390/4390 4384/4384/4384 4664/4664/4664\nf 4664/4664/4664 4662/4662/4662 4390/4390/4390\nf 4662/4662/4662 4664/4664/4664 4663/4663/4663\nf 4665/4665/4665 4374/4374/4374 4666/4666/4666\nf 4666/4666/4666 4662/4662/4662 4665/4665/4665\nf 4665/4665/4665 4375/4375/4375 4374/4374/4374\nf 4375/4375/4375 4665/4665/4665 4662/4662/4662\nf 4390/4390/4390 4662/4662/4662 4392/4392/4392\nf 4392/4392/4392 4662/4662/4662 4666/4666/4666\nf 4392/4392/4392 4391/4391/4391 4390/4390/4390\nf 4374/4374/4374 4667/4667/4667 4666/4666/4666\nf 4374/4374/4374 4372/4372/4372 4667/4667/4667\nf 4374/4374/4374 4373/4373/4373 4372/4372/4372\nf 4667/4667/4667 4392/4392/4392 4666/4666/4666\nf 4394/4394/4394 4393/4393/4393 4392/4392/4392\nf 4667/4667/4667 4394/4394/4394 4392/4392/4392\nf 4372/4372/4372 4371/4371/4371 4370/4370/4370\nf 4372/4372/4372 4370/4370/4370 4667/4667/4667\nf 4350/4350/4350 4667/4667/4667 4370/4370/4370\nf 4370/4370/4370 4369/4369/4369 4350/4350/4350\nf 4667/4667/4667 4350/4350/4350 4394/4394/4394\nf 4349/4349/4349 4627/4627/4627 4305/4305/4305\nf 4348/4348/4348 4352/4352/4352 4349/4349/4349\nf 4313/4313/4313 4627/4627/4627 4349/4349/4349\nf 4302/4302/4302 4635/4635/4635 4306/4306/4306\nf 4302/4302/4302 4301/4301/4301 4596/4596/4596\nf 4596/4596/4596 4635/4635/4635 4302/4302/4302\nf 4300/4300/4300 4668/4668/4668 4596/4596/4596\nf 4596/4596/4596 4301/4301/4301 4300/4300/4300\nf 4447/4447/4447 4446/4446/4446 4596/4596/4596\nf 4596/4596/4596 4668/4668/4668 4447/4447/4447\nf 4445/4445/4445 4582/4582/4582 4596/4596/4596\nf 4596/4596/4596 4446/4446/4446 4445/4445/4445\nf 4582/4582/4582 4590/4590/4590 4596/4596/4596\nf 4590/4590/4590 4598/4598/4598 4596/4596/4596\nf 4596/4596/4596 4619/4619/4619 4618/4618/4618\nf 4596/4596/4596 4618/4618/4618 4635/4635/4635\nf 4300/4300/4300 4625/4625/4625 4669/4669/4669\nf 4669/4669/4669 4668/4668/4668 4300/4300/4300\nf 4311/4311/4311 4308/4308/4308 4669/4669/4669\nf 4669/4669/4669 4625/4625/4625 4311/4311/4311\nf 4307/4307/4307 4623/4623/4623 4669/4669/4669\nf 4669/4669/4669 4308/4308/4308 4307/4307/4307\nf 4447/4447/4447 4668/4668/4668 4669/4669/4669\nf 4669/4669/4669 4623/4623/4623 4447/4447/4447\nf 4405/4405/4405 4350/4350/4350 4369/4369/4369\nf 4403/4403/4403 4398/4398/4398 4405/4405/4405\nf 4398/4398/4398 4403/4403/4403 4404/4404/4404\nf 4396/4396/4396 4404/4404/4404 4402/4402/4402\nf 3169/3169/3169 4670/4670/4670 4671/4671/4671\nf 4671/4671/4671 3170/3170/3170 3169/3169/3169\nf 4424/4424/4424 4434/4434/4434 4671/4671/4671\nf 4671/4671/4671 4670/4670/4670 4424/4424/4424\nf 4436/4436/4436 4672/4672/4672 4671/4671/4671\nf 4671/4671/4671 4434/4434/4434 4436/4436/4436\nf 3165/3165/3165 3170/3170/3170 4671/4671/4671\nf 4671/4671/4671 4672/4672/4672 3165/3165/3165\nf 3165/3165/3165 4672/4672/4672 4673/4673/4673\nf 4673/4673/4673 3166/3166/3166 3165/3165/3165\nf 4436/4436/4436 4438/4438/4438 4673/4673/4673\nf 4673/4673/4673 4672/4672/4672 4436/4436/4436\nf 4429/4429/4429 4674/4674/4674 4673/4673/4673\nf 4673/4673/4673 4438/4438/4438 4429/4429/4429\nf 3161/3161/3161 3166/3166/3166 4673/4673/4673\nf 4673/4673/4673 4674/4674/4674 3161/3161/3161\nf 3161/3161/3161 4674/4674/4674 4675/4675/4675\nf 4675/4675/4675 4676/4676/4676 3161/3161/3161\nf 4429/4429/4429 4432/4432/4432 4675/4675/4675\nf 4675/4675/4675 4674/4674/4674 4429/4429/4429\nf 4281/4281/4281 4676/4676/4676 4675/4675/4675\nf 4675/4675/4675 4432/4432/4432 4281/4281/4281\nf 3161/3161/3161 4676/4676/4676 4677/4677/4677\nf 4677/4677/4677 3162/3162/3162 3161/3161/3161\nf 4281/4281/4281 4284/4284/4284 4677/4677/4677\nf 4677/4677/4677 4676/4676/4676 4281/4281/4281\nf 4289/4289/4289 4678/4678/4678 4677/4677/4677\nf 4677/4677/4677 4284/4284/4284 4289/4289/4289\nf 3156/3156/3156 3162/3162/3162 4677/4677/4677\nf 4677/4677/4677 4678/4678/4678 3156/3156/3156\nf 3156/3156/3156 4678/4678/4678 4679/4679/4679\nf 4679/4679/4679 3384/3384/3384 3156/3156/3156\nf 4289/4289/4289 4291/4291/4291 4679/4679/4679\nf 4679/4679/4679 4678/4678/4678 4289/4289/4289\nf 4298/4298/4298 4680/4680/4680 4679/4679/4679\nf 4679/4679/4679 4291/4291/4291 4298/4298/4298\nf 3098/3098/3098 3384/3384/3384 4679/4679/4679\nf 4679/4679/4679 4680/4680/4680 3098/3098/3098\nf 3098/3098/3098 4680/4680/4680 4681/4681/4681\nf 4681/4681/4681 4682/4682/4682 3098/3098/3098\nf 4298/4298/4298 4299/4299/4299 4681/4681/4681\nf 4681/4681/4681 4680/4680/4680 4298/4298/4298\nf 4498/4498/4498 4682/4682/4682 4681/4681/4681\nf 4681/4681/4681 4299/4299/4299 4498/4498/4498\nf 3098/3098/3098 4682/4682/4682 4683/4683/4683\nf 4683/4683/4683 3099/3099/3099 3098/3098/3098\nf 4498/4498/4498 4497/4497/4497 4683/4683/4683\nf 4683/4683/4683 4682/4682/4682 4498/4498/4498\nf 4487/4487/4487 4684/4684/4684 4683/4683/4683\nf 4683/4683/4683 4497/4497/4497 4487/4487/4487\nf 3100/3100/3100 3099/3099/3099 4683/4683/4683\nf 4683/4683/4683 4684/4684/4684 3100/3100/3100\nf 3100/3100/3100 4684/4684/4684 4685/4685/4685\nf 4685/4685/4685 3379/3379/3379 3100/3100/3100\nf 4487/4487/4487 4490/4490/4490 4685/4685/4685\nf 4685/4685/4685 4684/4684/4684 4487/4487/4487\nf 4448/4448/4448 4686/4686/4686 4685/4685/4685\nf 4685/4685/4685 4490/4490/4490 4448/4448/4448\nf 3355/3355/3355 3379/3379/3379 4685/4685/4685\nf 4685/4685/4685 4686/4686/4686 3355/3355/3355\nf 3355/3355/3355 4686/4686/4686 4687/4687/4687\nf 4448/4448/4448 4492/4492/4492 4687/4687/4687\nf 4687/4687/4687 4686/4686/4686 4448/4448/4448\nf 4687/4687/4687 4492/4492/4492 4491/4491/4491\nf 3355/3355/3355 4687/4687/4687 4688/4688/4688\nf 4688/4688/4688 3350/3350/3350 3355/3355/3355\nf 4491/4491/4491 4624/4624/4624 4688/4688/4688\nf 4688/4688/4688 4687/4687/4687 4491/4491/4491\nf 4427/4427/4427 4689/4689/4689 4688/4688/4688\nf 4688/4688/4688 4624/4624/4624 4427/4427/4427\nf 3173/3173/3173 3350/3350/3350 4688/4688/4688\nf 4688/4688/4688 4689/4689/4689 3173/3173/3173\nf 3173/3173/3173 4689/4689/4689 4690/4690/4690\nf 4690/4690/4690 3174/3174/3174 3173/3173/3173\nf 4690/4690/4690 4689/4689/4689 4427/4427/4427\nf 4426/4426/4426 4691/4691/4691 4690/4690/4690\nf 4690/4690/4690 4427/4427/4427 4426/4426/4426\nf 3169/3169/3169 3174/3174/3174 4690/4690/4690\nf 4690/4690/4690 4691/4691/4691 3169/3169/3169\nf 4691/4691/4691 4670/4670/4670 3169/3169/3169\nf 4426/4426/4426 4425/4425/4425 4691/4691/4691\nf 4424/4424/4424 4670/4670/4670 4691/4691/4691\nf 4691/4691/4691 4425/4425/4425 4424/4424/4424\nf 4692/4692/4692 4693/4693/4693 4694/4694/4694\nf 4694/4694/4694 4695/4695/4695 4692/4692/4692\nf 4696/4696/4696 4697/4697/4697 4694/4694/4694\nf 4694/4694/4694 4693/4693/4693 4696/4696/4696\nf 4698/4698/4698 4699/4699/4699 4694/4694/4694\nf 4694/4694/4694 4697/4697/4697 4698/4698/4698\nf 4700/4700/4700 4695/4695/4695 4694/4694/4694\nf 4694/4694/4694 4699/4699/4699 4700/4700/4700\nf 4700/4700/4700 4699/4699/4699 4701/4701/4701\nf 4701/4701/4701 4702/4702/4702 4700/4700/4700\nf 4698/4698/4698 4703/4703/4703 4701/4701/4701\nf 4701/4701/4701 4699/4699/4699 4698/4698/4698\nf 4704/4704/4704 4705/4705/4705 4701/4701/4701\nf 4701/4701/4701 4703/4703/4703 4704/4704/4704\nf 4706/4706/4706 4707/4707/4707 4701/4701/4701\nf 4701/4701/4701 4705/4705/4705 4706/4706/4706\nf 4701/4701/4701 4707/4707/4707 4708/4708/4708\nf 4709/4709/4709 4702/4702/4702 4701/4701/4701\nf 4701/4701/4701 4708/4708/4708 4709/4709/4709\nf 4709/4709/4709 4708/4708/4708 4710/4710/4710\nf 4710/4710/4710 4711/4711/4711 4709/4709/4709\nf 4712/4712/4712 4711/4711/4711 4710/4710/4710\nf 4713/4713/4713 4714/4714/4714 4715/4715/4715\nf 4715/4715/4715 4716/4716/4716 4713/4713/4713\nf 4717/4717/4717 4718/4718/4718 4715/4715/4715\nf 4715/4715/4715 4714/4714/4714 4717/4717/4717\nf 4719/4719/4719 4720/4720/4720 4715/4715/4715\nf 4715/4715/4715 4718/4718/4718 4719/4719/4719\nf 4720/4720/4720 4716/4716/4716 4715/4715/4715\nf 4721/4721/4721 4722/4722/4722 4723/4723/4723\nf 4723/4723/4723 4724/4724/4724 4721/4721/4721\nf 4725/4725/4725 4726/4726/4726 4723/4723/4723\nf 4723/4723/4723 4722/4722/4722 4725/4725/4725\nf 4727/4727/4727 4728/4728/4728 4723/4723/4723\nf 4723/4723/4723 4726/4726/4726 4727/4727/4727\nf 4729/4729/4729 4730/4730/4730 4723/4723/4723\nf 4723/4723/4723 4728/4728/4728 4729/4729/4729\nf 4731/4731/4731 4732/4732/4732 4723/4723/4723\nf 4723/4723/4723 4730/4730/4730 4731/4731/4731\nf 4733/4733/4733 4724/4724/4724 4723/4723/4723\nf 4723/4723/4723 4732/4732/4732 4733/4733/4733\nf 4731/4731/4731 4730/4730/4730 4734/4734/4734\nf 4734/4734/4734 4735/4735/4735 4731/4731/4731\nf 4729/4729/4729 4736/4736/4736 4734/4734/4734\nf 4734/4734/4734 4730/4730/4730 4729/4729/4729\nf 4737/4737/4737 4738/4738/4738 4734/4734/4734\nf 4734/4734/4734 4736/4736/4736 4737/4737/4737\nf 4739/4739/4739 4735/4735/4735 4734/4734/4734\nf 4734/4734/4734 4738/4738/4738 4739/4739/4739\nf 4739/4739/4739 4738/4738/4738 4740/4740/4740\nf 4740/4740/4740 4741/4741/4741 4739/4739/4739\nf 4737/4737/4737 4742/4742/4742 4740/4740/4740\nf 4740/4740/4740 4738/4738/4738 4737/4737/4737\nf 4743/4743/4743 4744/4744/4744 4740/4740/4740\nf 4740/4740/4740 4742/4742/4742 4743/4743/4743\nf 4698/4698/4698 4697/4697/4697 4740/4740/4740\nf 4740/4740/4740 4744/4744/4744 4698/4698/4698\nf 4696/4696/4696 4741/4741/4741 4740/4740/4740\nf 4740/4740/4740 4697/4697/4697 4696/4696/4696\nf 4698/4698/4698 4744/4744/4744 4745/4745/4745\nf 4745/4745/4745 4703/4703/4703 4698/4698/4698\nf 4743/4743/4743 4746/4746/4746 4745/4745/4745\nf 4745/4745/4745 4744/4744/4744 4743/4743/4743\nf 4747/4747/4747 4748/4748/4748 4745/4745/4745\nf 4745/4745/4745 4746/4746/4746 4747/4747/4747\nf 4704/4704/4704 4703/4703/4703 4745/4745/4745\nf 4745/4745/4745 4748/4748/4748 4704/4704/4704\nf 4704/4704/4704 4748/4748/4748 4749/4749/4749\nf 4749/4749/4749 4750/4750/4750 4704/4704/4704\nf 4747/4747/4747 4751/4751/4751 4749/4749/4749\nf 4749/4749/4749 4748/4748/4748 4747/4747/4747\nf 4752/4752/4752 4753/4753/4753 4749/4749/4749\nf 4749/4749/4749 4751/4751/4751 4752/4752/4752\nf 4753/4753/4753 4754/4754/4754 4749/4749/4749\nf 4754/4754/4754 4755/4755/4755 4749/4749/4749\nf 4756/4756/4756 4757/4757/4757 4749/4749/4749\nf 4749/4749/4749 4755/4755/4755 4756/4756/4756\nf 4749/4749/4749 4757/4757/4757 4758/4758/4758\nf 4749/4749/4749 4758/4758/4758 4759/4759/4759\nf 4760/4760/4760 4750/4750/4750 4749/4749/4749\nf 4749/4749/4749 4759/4759/4759 4760/4760/4760\nf 4761/4761/4761 4720/4720/4720 4719/4719/4719\nf 4762/4762/4762 4763/4763/4763 4761/4761/4761\nf 4761/4761/4761 4764/4764/4764 4762/4762/4762\nf 4761/4761/4761 4763/4763/4763 4720/4720/4720\nf 4727/4727/4727 4763/4763/4763 4765/4765/4765\nf 4765/4765/4765 4728/4728/4728 4727/4727/4727\nf 4766/4766/4766 4767/4767/4767 4765/4765/4765\nf 4765/4765/4765 4763/4763/4763 4766/4766/4766\nf 4767/4767/4767 4768/4768/4768 4765/4765/4765\nf 4729/4729/4729 4728/4728/4728 4765/4765/4765\nf 4765/4765/4765 4768/4768/4768 4729/4729/4729\nf 4729/4729/4729 4768/4768/4768 4769/4769/4769\nf 4769/4769/4769 4736/4736/4736 4729/4729/4729\nf 4767/4767/4767 4770/4770/4770 4769/4769/4769\nf 4769/4769/4769 4768/4768/4768 4767/4767/4767\nf 4770/4770/4770 4771/4771/4771 4769/4769/4769\nf 4737/4737/4737 4736/4736/4736 4769/4769/4769\nf 4769/4769/4769 4771/4771/4771 4737/4737/4737\nf 4737/4737/4737 4771/4771/4771 4772/4772/4772\nf 4772/4772/4772 4742/4742/4742 4737/4737/4737\nf 4772/4772/4772 4771/4771/4771 4770/4770/4770\nf 4773/4773/4773 4774/4774/4774 4772/4772/4772\nf 4772/4772/4772 4770/4770/4770 4773/4773/4773\nf 4743/4743/4743 4742/4742/4742 4772/4772/4772\nf 4772/4772/4772 4774/4774/4774 4743/4743/4743\nf 4743/4743/4743 4774/4774/4774 4775/4775/4775\nf 4775/4775/4775 4776/4776/4776 4743/4743/4743\nf 4775/4775/4775 4774/4774/4774 4773/4773/4773\nf 4773/4773/4773 4776/4776/4776 4775/4775/4775\nf 4743/4743/4743 4776/4776/4776 4777/4777/4777\nf 4777/4777/4777 4778/4778/4778 4743/4743/4743\nf 4777/4777/4777 4776/4776/4776 4773/4773/4773\nf 4773/4773/4773 4778/4778/4778 4777/4777/4777\nf 4743/4743/4743 4778/4778/4778 4779/4779/4779\nf 4779/4779/4779 4746/4746/4746 4743/4743/4743\nf 4773/4773/4773 4780/4780/4780 4779/4779/4779\nf 4779/4779/4779 4778/4778/4778 4773/4773/4773\nf 4780/4780/4780 4781/4781/4781 4779/4779/4779\nf 4747/4747/4747 4746/4746/4746 4779/4779/4779\nf 4779/4779/4779 4781/4781/4781 4747/4747/4747\nf 4747/4747/4747 4781/4781/4781 4782/4782/4782\nf 4782/4782/4782 4751/4751/4751 4747/4747/4747\nf 4782/4782/4782 4781/4781/4781 4780/4780/4780\nf 4783/4783/4783 4784/4784/4784 4782/4782/4782\nf 4782/4782/4782 4780/4780/4780 4783/4783/4783\nf 4785/4785/4785 4786/4786/4786 4782/4782/4782\nf 4782/4782/4782 4784/4784/4784 4785/4785/4785\nf 4787/4787/4787 4788/4788/4788 4782/4782/4782\nf 4782/4782/4782 4786/4786/4786 4787/4787/4787\nf 4788/4788/4788 4789/4789/4789 4782/4782/4782\nf 4789/4789/4789 4790/4790/4790 4782/4782/4782\nf 4791/4791/4791 4792/4792/4792 4782/4782/4782\nf 4782/4782/4782 4792/4792/4792 4793/4793/4793\nf 4782/4782/4782 4793/4793/4793 4794/4794/4794\nf 4752/4752/4752 4751/4751/4751 4782/4782/4782\nf 4782/4782/4782 4794/4794/4794 4752/4752/4752\nf 4719/4719/4719 4795/4795/4795 4796/4796/4796\nf 4797/4797/4797 4798/4798/4798 4796/4796/4796\nf 4796/4796/4796 4795/4795/4795 4797/4797/4797\nf 4798/4798/4798 4799/4799/4799 4796/4796/4796\nf 4799/4799/4799 4800/4800/4800 4796/4796/4796\nf 4796/4796/4796 4800/4800/4800 4801/4801/4801\nf 4802/4802/4802 4803/4803/4803 4796/4796/4796\nf 4796/4796/4796 4803/4803/4803 4804/4804/4804\nf 4796/4796/4796 4804/4804/4804 4805/4805/4805\nf 4806/4806/4806 4807/4807/4807 4796/4796/4796\nf 4796/4796/4796 4805/4805/4805 4806/4806/4806\nf 4808/4808/4808 4764/4764/4764 4796/4796/4796\nf 4796/4796/4796 4807/4807/4807 4808/4808/4808\nf 4719/4719/4719 4796/4796/4796 4809/4809/4809\nf 4809/4809/4809 4761/4761/4761 4719/4719/4719\nf 4809/4809/4809 4796/4796/4796 4764/4764/4764\nf 4764/4764/4764 4761/4761/4761 4809/4809/4809\nf 4810/4810/4810 4811/4811/4811 4812/4812/4812\nf 4812/4812/4812 4811/4811/4811 4766/4766/4766\nf 4762/4762/4762 4764/4764/4764 4812/4812/4812\nf 4812/4812/4812 4766/4766/4766 4762/4762/4762\nf 4811/4811/4811 4767/4767/4767 4766/4766/4766\nf 4810/4810/4810 4813/4813/4813 4811/4811/4811\nf 4811/4811/4811 4813/4813/4813 4767/4767/4767\nf 4813/4813/4813 4770/4770/4770 4767/4767/4767\nf 4814/4814/4814 4815/4815/4815 4813/4813/4813\nf 4813/4813/4813 4810/4810/4810 4814/4814/4814\nf 4813/4813/4813 4815/4815/4815 4770/4770/4770\nf 4773/4773/4773 4770/4770/4770 4815/4815/4815\nf 4815/4815/4815 4780/4780/4780 4773/4773/4773\nf 4814/4814/4814 4816/4816/4816 4815/4815/4815\nf 4780/4780/4780 4815/4815/4815 4817/4817/4817\nf 4817/4817/4817 4815/4815/4815 4816/4816/4816\nf 4816/4816/4816 4818/4818/4818 4817/4817/4817\nf 4819/4819/4819 4820/4820/4820 4817/4817/4817\nf 4817/4817/4817 4818/4818/4818 4819/4819/4819\nf 4817/4817/4817 4820/4820/4820 4821/4821/4821\nf 4817/4817/4817 4822/4822/4822 4823/4823/4823\nf 4783/4783/4783 4780/4780/4780 4817/4817/4817\nf 4817/4817/4817 4823/4823/4823 4783/4783/4783\nf 4812/4812/4812 4764/4764/4764 4808/4808/4808\nf 4808/4808/4808 4824/4824/4824 4812/4812/4812\nf 4812/4812/4812 4824/4824/4824 4825/4825/4825\nf 4819/4819/4819 4826/4826/4826 4812/4812/4812\nf 4812/4812/4812 4826/4826/4826 4816/4816/4816\nf 4812/4812/4812 4816/4816/4816 4810/4810/4810\nf 4810/4810/4810 4827/4827/4827 4828/4828/4828\nf 4828/4828/4828 4827/4827/4827 4829/4829/4829\nf 4828/4828/4828 4829/4829/4829 4830/4830/4830\nf 4810/4810/4810 4828/4828/4828 4831/4831/4831\nf 4831/4831/4831 4828/4828/4828 4830/4830/4830\nf 4814/4814/4814 4810/4810/4810 4831/4831/4831\nf 4830/4830/4830 4832/4832/4832 4831/4831/4831\nf 4832/4832/4832 4827/4827/4827 4831/4831/4831\nf 4831/4831/4831 4827/4827/4827 4814/4814/4814\nf 4827/4827/4827 4816/4816/4816 4814/4814/4814\nf 4827/4827/4827 4832/4832/4832 4829/4829/4829\nf 4827/4827/4827 4810/4810/4810 4816/4816/4816\nf 4830/4830/4830 4829/4829/4829 4833/4833/4833\nf 4830/4830/4830 4833/4833/4833 4834/4834/4834\nf 4834/4834/4834 4833/4833/4833 4835/4835/4835\nf 4834/4834/4834 4835/4835/4835 4836/4836/4836\nf 4830/4830/4830 4834/4834/4834 4837/4837/4837\nf 4837/4837/4837 4832/4832/4832 4830/4830/4830\nf 4837/4837/4837 4834/4834/4834 4836/4836/4836\nf 4837/4837/4837 4836/4836/4836 4838/4838/4838\nf 4832/4832/4832 4837/4837/4837 4833/4833/4833\nf 4833/4833/4833 4837/4837/4837 4838/4838/4838\nf 4829/4829/4829 4832/4832/4832 4833/4833/4833\nf 4838/4838/4838 4835/4835/4835 4833/4833/4833\nf 4835/4835/4835 4839/4839/4839 4840/4840/4840\nf 4840/4840/4840 4839/4839/4839 4841/4841/4841\nf 4835/4835/4835 4840/4840/4840 4842/4842/4842\nf 4842/4842/4842 4840/4840/4840 4841/4841/4841\nf 4836/4836/4836 4835/4835/4835 4842/4842/4842\nf 4836/4836/4836 4842/4842/4842 4839/4839/4839\nf 4839/4839/4839 4842/4842/4842 4841/4841/4841\nf 4838/4838/4838 4836/4836/4836 4839/4839/4839\nf 4839/4839/4839 4835/4835/4835 4838/4838/4838\nf 4733/4733/4733 4843/4843/4843 4844/4844/4844\nf 4844/4844/4844 4724/4724/4724 4733/4733/4733\nf 4845/4845/4845 4846/4846/4846 4844/4844/4844\nf 4844/4844/4844 4843/4843/4843 4845/4845/4845\nf 4847/4847/4847 4848/4848/4848 4844/4844/4844\nf 4844/4844/4844 4846/4846/4846 4847/4847/4847\nf 4848/4848/4848 4849/4849/4849 4844/4844/4844\nf 4721/4721/4721 4724/4724/4724 4844/4844/4844\nf 4844/4844/4844 4849/4849/4849 4721/4721/4721\nf 4850/4850/4850 4851/4851/4851 4852/4852/4852\nf 4852/4852/4852 4853/4853/4853 4850/4850/4850\nf 4739/4739/4739 4741/4741/4741 4852/4852/4852\nf 4852/4852/4852 4851/4851/4851 4739/4739/4739\nf 4696/4696/4696 4693/4693/4693 4852/4852/4852\nf 4852/4852/4852 4741/4741/4741 4696/4696/4696\nf 4692/4692/4692 4853/4853/4853 4852/4852/4852\nf 4852/4852/4852 4693/4693/4693 4692/4692/4692\nf 4845/4845/4845 4843/4843/4843 4854/4854/4854\nf 4854/4854/4854 4855/4855/4855 4845/4845/4845\nf 4733/4733/4733 4732/4732/4732 4854/4854/4854\nf 4854/4854/4854 4843/4843/4843 4733/4733/4733\nf 4731/4731/4731 4856/4856/4856 4854/4854/4854\nf 4854/4854/4854 4732/4732/4732 4731/4731/4731\nf 4857/4857/4857 4855/4855/4855 4854/4854/4854\nf 4854/4854/4854 4856/4856/4856 4857/4857/4857\nf 4739/4739/4739 4851/4851/4851 4858/4858/4858\nf 4858/4858/4858 4735/4735/4735 4739/4739/4739\nf 4850/4850/4850 4859/4859/4859 4858/4858/4858\nf 4858/4858/4858 4851/4851/4851 4850/4850/4850\nf 4857/4857/4857 4856/4856/4856 4858/4858/4858\nf 4858/4858/4858 4859/4859/4859 4857/4857/4857\nf 4731/4731/4731 4735/4735/4735 4858/4858/4858\nf 4858/4858/4858 4856/4856/4856 4731/4731/4731\nf 4860/4860/4860 4861/4861/4861 4862/4862/4862\nf 4862/4862/4862 4863/4863/4863 4860/4860/4860\nf 4864/4864/4864 4865/4865/4865 4862/4862/4862\nf 4862/4862/4862 4861/4861/4861 4864/4864/4864\nf 4866/4866/4866 4867/4867/4867 4862/4862/4862\nf 4862/4862/4862 4865/4865/4865 4866/4866/4866\nf 4868/4868/4868 4863/4863/4863 4862/4862/4862\nf 4862/4862/4862 4867/4867/4867 4868/4868/4868\nf 4869/4869/4869 4870/4870/4870 4871/4871/4871\nf 4871/4871/4871 4872/4872/4872 4873/4873/4873\nf 4873/4873/4873 4872/4872/4872 4874/4874/4874\nf 4874/4874/4874 4875/4875/4875 4873/4873/4873\nf 4876/4876/4876 4875/4875/4875 4874/4874/4874\nf 4874/4874/4874 4877/4877/4877 4876/4876/4876\nf 4876/4876/4876 4877/4877/4877 4878/4878/4878\nf 4877/4877/4877 4879/4879/4879 4878/4878/4878\nf 4880/4880/4880 4881/4881/4881 4878/4878/4878\nf 4878/4878/4878 4879/4879/4879 4880/4880/4880\nf 4882/4882/4882 4883/4883/4883 4881/4881/4881\nf 4882/4882/4882 4881/4881/4881 4880/4880/4880\nf 4884/4884/4884 4883/4883/4883 4882/4882/4882\nf 4882/4882/4882 4885/4885/4885 4884/4884/4884\nf 4886/4886/4886 4887/4887/4887 4888/4888/4888\nf 4889/4889/4889 4886/4886/4886 4890/4890/4890\nf 4891/4891/4891 4886/4886/4886 4889/4889/4889\nf 4891/4891/4891 4889/4889/4889 4890/4890/4890\nf 4887/4887/4887 4880/4880/4880 4879/4879/4879\nf 4872/4872/4872 4888/4888/4888 4874/4874/4874\nf 4874/4874/4874 4888/4888/4888 4877/4877/4877\nf 4885/4885/4885 4891/4891/4891 4892/4892/4892\nf 4892/4892/4892 4891/4891/4891 4893/4893/4893\nf 4882/4882/4882 4880/4880/4880 4887/4887/4887\nf 4882/4882/4882 4887/4887/4887 4885/4885/4885\nf 4894/4894/4894 4895/4895/4895 4892/4892/4892\nf 4892/4892/4892 4893/4893/4893 4894/4894/4894\nf 4884/4884/4884 4885/4885/4885 4892/4892/4892\nf 4892/4892/4892 4895/4895/4895 4884/4884/4884\nf 4896/4896/4896 4897/4897/4897 4898/4898/4898\nf 4894/4894/4894 4893/4893/4893 4898/4898/4898\nf 4896/4896/4896 4899/4899/4899 4900/4900/4900\nf 4900/4900/4900 4897/4897/4897 4896/4896/4896\nf 4900/4900/4900 4899/4899/4899 4901/4901/4901\nf 4870/4870/4870 4869/4869/4869 4902/4902/4902\nf 4902/4902/4902 4869/4869/4869 4901/4901/4901\nf 4886/4886/4886 4888/4888/4888 4890/4890/4890\nf 4891/4891/4891 4887/4887/4887 4886/4886/4886\nf 4901/4901/4901 4899/4899/4899 4891/4891/4891\nf 4891/4891/4891 4890/4890/4890 4901/4901/4901\nf 4891/4891/4891 4899/4899/4899 4896/4896/4896\nf 4896/4896/4896 4898/4898/4898 4891/4891/4891\nf 4891/4891/4891 4898/4898/4898 4893/4893/4893\nf 4885/4885/4885 4887/4887/4887 4891/4891/4891\nf 4887/4887/4887 4879/4879/4879 4888/4888/4888\nf 4888/4888/4888 4879/4879/4879 4877/4877/4877\nf 4872/4872/4872 4871/4871/4871 4890/4890/4890\nf 4890/4890/4890 4888/4888/4888 4872/4872/4872\nf 4890/4890/4890 4871/4871/4871 4870/4870/4870\nf 4870/4870/4870 4902/4902/4902 4890/4890/4890\nf 4890/4890/4890 4902/4902/4902 4901/4901/4901\nf 4864/4864/4864 4881/4881/4881 4883/4883/4883\nf 4883/4883/4883 4884/4884/4884 4903/4903/4903\nf 4903/4903/4903 4884/4884/4884 4894/4894/4894\nf 4894/4894/4894 4904/4904/4904 4903/4903/4903\nf 4884/4884/4884 4895/4895/4895 4894/4894/4894\nf 4905/4905/4905 4906/4906/4906 4894/4894/4894\nf 4894/4894/4894 4907/4907/4907 4905/4905/4905\nf 4906/4906/4906 4904/4904/4904 4894/4894/4894\nf 4905/4905/4905 4907/4907/4907 4897/4897/4897\nf 4897/4897/4897 4908/4908/4908 4905/4905/4905\nf 4894/4894/4894 4898/4898/4898 4897/4897/4897\nf 4897/4897/4897 4907/4907/4907 4894/4894/4894\nf 4869/4869/4869 4908/4908/4908 4897/4897/4897\nf 4897/4897/4897 4900/4900/4900 4869/4869/4869\nf 4901/4901/4901 4869/4869/4869 4900/4900/4900\nf 4909/4909/4909 4910/4910/4910 4911/4911/4911\nf 4911/4911/4911 4912/4912/4912 4909/4909/4909\nf 4869/4869/4869 4871/4871/4871 4911/4911/4911\nf 4911/4911/4911 4910/4910/4910 4869/4869/4869\nf 4873/4873/4873 4913/4913/4913 4911/4911/4911\nf 4911/4911/4911 4871/4871/4871 4873/4873/4873\nf 4860/4860/4860 4912/4912/4912 4911/4911/4911\nf 4911/4911/4911 4913/4913/4913 4860/4860/4860\nf 4860/4860/4860 4913/4913/4913 4876/4876/4876\nf 4876/4876/4876 4861/4861/4861 4860/4860/4860\nf 4873/4873/4873 4875/4875/4875 4876/4876/4876\nf 4876/4876/4876 4913/4913/4913 4873/4873/4873\nf 4864/4864/4864 4861/4861/4861 4876/4876/4876\nf 4876/4876/4876 4878/4878/4878 4864/4864/4864\nf 4878/4878/4878 4881/4881/4881 4864/4864/4864\nf 4914/4914/4914 4915/4915/4915 4712/4712/4712\nf 4905/4905/4905 4915/4915/4915 4914/4914/4914\nf 4914/4914/4914 4906/4906/4906 4905/4905/4905\nf 4916/4916/4916 4917/4917/4917 4918/4918/4918\nf 4706/4706/4706 4705/4705/4705 4918/4918/4918\nf 4918/4918/4918 4917/4917/4917 4706/4706/4706\nf 4704/4704/4704 4750/4750/4750 4918/4918/4918\nf 4918/4918/4918 4705/4705/4705 4704/4704/4704\nf 4918/4918/4918 4750/4750/4750 4760/4760/4760\nf 4919/4919/4919 4904/4904/4904 4906/4906/4906\nf 4919/4919/4919 4906/4906/4906 4920/4920/4920\nf 4919/4919/4919 4921/4921/4921 4904/4904/4904\nf 4904/4904/4904 4921/4921/4921 4922/4922/4922\nf 4921/4921/4921 4923/4923/4923 4922/4922/4922\nf 4924/4924/4924 4925/4925/4925 4922/4922/4922\nf 4922/4922/4922 4923/4923/4923 4924/4924/4924\nf 4924/4924/4924 4926/4926/4926 4927/4927/4927\nf 4927/4927/4927 4925/4925/4925 4924/4924/4924\nf 4927/4927/4927 4926/4926/4926 4928/4928/4928\nf 4928/4928/4928 4929/4929/4929 4930/4930/4930\nf 4930/4930/4930 4929/4929/4929 4931/4931/4931\nf 4930/4930/4930 4931/4931/4931 4706/4706/4706\nf 4706/4706/4706 4931/4931/4931 4932/4932/4932\nf 4932/4932/4932 4707/4707/4707 4706/4706/4706\nf 4933/4933/4933 4707/4707/4707 4932/4932/4932\nf 4932/4932/4932 4934/4934/4934 4933/4933/4933\nf 4935/4935/4935 4936/4936/4936 4937/4937/4937\nf 4936/4936/4936 4938/4938/4938 4937/4937/4937\nf 4939/4939/4939 4940/4940/4940 4941/4941/4941\nf 4942/4942/4942 4940/4940/4940 4939/4939/4939\nf 4943/4943/4943 4936/4936/4936 4935/4935/4935\nf 4943/4943/4943 4935/4935/4935 4937/4937/4937\nf 4944/4944/4944 4943/4943/4943 4937/4937/4937\nf 4942/4942/4942 4943/4943/4943 4944/4944/4944\nf 4942/4942/4942 4939/4939/4939 4941/4941/4941\nf 4929/4929/4929 4945/4945/4945 4936/4936/4936\nf 4943/4943/4943 4931/4931/4931 4929/4929/4929\nf 4936/4936/4936 4945/4945/4945 4926/4926/4926\nf 4943/4943/4943 4942/4942/4942 4946/4946/4946\nf 4946/4946/4946 4934/4934/4934 4943/4943/4943\nf 4946/4946/4946 4942/4942/4942 4947/4947/4947\nf 4932/4932/4932 4931/4931/4931 4943/4943/4943\nf 4943/4943/4943 4934/4934/4934 4932/4932/4932\nf 4934/4934/4934 4946/4946/4946 4708/4708/4708\nf 4708/4708/4708 4946/4946/4946 4947/4947/4947\nf 4933/4933/4933 4934/4934/4934 4708/4708/4708\nf 4948/4948/4948 4712/4712/4712 4949/4949/4949\nf 4712/4712/4712 4710/4710/4710 4949/4949/4949\nf 4708/4708/4708 4947/4947/4947 4949/4949/4949\nf 4949/4949/4949 4710/4710/4710 4708/4708/4708\nf 4950/4950/4950 4712/4712/4712 4948/4948/4948\nf 4920/4920/4920 4906/4906/4906 4950/4950/4950\nf 4906/4906/4906 4914/4914/4914 4950/4950/4950\nf 4950/4950/4950 4914/4914/4914 4712/4712/4712\nf 4928/4928/4928 4945/4945/4945 4929/4929/4929\nf 4926/4926/4926 4945/4945/4945 4928/4928/4928\nf 4938/4938/4938 4936/4936/4936 4941/4941/4941\nf 4937/4937/4937 4938/4938/4938 4944/4944/4944\nf 4938/4938/4938 4940/4940/4940 4944/4944/4944\nf 4944/4944/4944 4940/4940/4940 4942/4942/4942\nf 4938/4938/4938 4941/4941/4941 4940/4940/4940\nf 4920/4920/4920 4950/4950/4950 4942/4942/4942\nf 4942/4942/4942 4941/4941/4941 4920/4920/4920\nf 4942/4942/4942 4950/4950/4950 4948/4948/4948\nf 4948/4948/4948 4949/4949/4949 4942/4942/4942\nf 4942/4942/4942 4949/4949/4949 4947/4947/4947\nf 4943/4943/4943 4929/4929/4929 4936/4936/4936\nf 4936/4936/4936 4926/4926/4926 4924/4924/4924\nf 4924/4924/4924 4923/4923/4923 4941/4941/4941\nf 4941/4941/4941 4936/4936/4936 4924/4924/4924\nf 4941/4941/4941 4923/4923/4923 4921/4921/4921\nf 4921/4921/4921 4919/4919/4919 4941/4941/4941\nf 4941/4941/4941 4919/4919/4919 4920/4920/4920\nf 4904/4904/4904 4922/4922/4922 4903/4903/4903\nf 4922/4922/4922 4925/4925/4925 4903/4903/4903\nf 4903/4903/4903 4925/4925/4925 4927/4927/4927\nf 4927/4927/4927 4928/4928/4928 4916/4916/4916\nf 4916/4916/4916 4928/4928/4928 4930/4930/4930\nf 4930/4930/4930 4917/4917/4917 4916/4916/4916\nf 4706/4706/4706 4917/4917/4917 4930/4930/4930\nf 4707/4707/4707 4933/4933/4933 4708/4708/4708\nf 4865/4865/4865 4951/4951/4951 4952/4952/4952\nf 4952/4952/4952 4953/4953/4953 4865/4865/4865\nf 4865/4865/4865 4953/4953/4953 4954/4954/4954\nf 4955/4955/4955 4865/4865/4865 4954/4954/4954\nf 4956/4956/4956 4957/4957/4957 4958/4958/4958\nf 4959/4959/4959 4960/4960/4960 4956/4956/4956\nf 4960/4960/4960 4957/4957/4957 4956/4956/4956\nf 4961/4961/4961 4960/4960/4960 4959/4959/4959\nf 4958/4958/4958 4962/4962/4962 4956/4956/4956\nf 4963/4963/4963 4959/4959/4959 4956/4956/4956\nf 4958/4958/4958 4955/4955/4955 4962/4962/4962\nf 4952/4952/4952 4964/4964/4964 4953/4953/4953\nf 4965/4965/4965 4964/4964/4964 4966/4966/4966\nf 4966/4966/4966 4967/4967/4967 4965/4965/4965\nf 4966/4966/4966 4964/4964/4964 4952/4952/4952\nf 4968/4968/4968 4961/4961/4961 4963/4963/4963\nf 4963/4963/4963 4961/4961/4961 4959/4959/4959\nf 4951/4951/4951 4883/4883/4883 4966/4966/4966\nf 4966/4966/4966 4952/4952/4952 4951/4951/4951\nf 4966/4966/4966 4883/4883/4883 4967/4967/4967\nf 4963/4963/4963 4962/4962/4962 4965/4965/4965\nf 4964/4964/4964 4965/4965/4965 4962/4962/4962\nf 4965/4965/4965 4967/4967/4967 4969/4969/4969\nf 4969/4969/4969 4968/4968/4968 4963/4963/4963\nf 4963/4963/4963 4965/4965/4965 4969/4969/4969\nf 4963/4963/4963 4956/4956/4956 4962/4962/4962\nf 4955/4955/4955 4954/4954/4954 4962/4962/4962\nf 4953/4953/4953 4964/4964/4964 4962/4962/4962\nf 4962/4962/4962 4954/4954/4954 4953/4953/4953\nf 4903/4903/4903 4967/4967/4967 4883/4883/4883\nf 4883/4883/4883 4951/4951/4951 4864/4864/4864\nf 4951/4951/4951 4865/4865/4865 4864/4864/4864\nf 4865/4865/4865 4955/4955/4955 4866/4866/4866\nf 4955/4955/4955 4958/4958/4958 4866/4866/4866\nf 4866/4866/4866 4958/4958/4958 4957/4957/4957\nf 4957/4957/4957 4960/4960/4960 4970/4970/4970\nf 4970/4970/4970 4960/4960/4960 4971/4971/4971\nf 4961/4961/4961 4968/4968/4968 4971/4971/4971\nf 4971/4971/4971 4960/4960/4960 4961/4961/4961\nf 4971/4971/4971 4968/4968/4968 4969/4969/4969\nf 4971/4971/4971 4969/4969/4969 4903/4903/4903\nf 4903/4903/4903 4969/4969/4969 4967/4967/4967\nf 4972/4972/4972 4916/4916/4916 4973/4973/4973\nf 4974/4974/4974 4975/4975/4975 4976/4976/4976\nf 4976/4976/4976 4760/4760/4760 4974/4974/4974\nf 4977/4977/4977 4978/4978/4978 4979/4979/4979\nf 4974/4974/4974 4760/4760/4760 4977/4977/4977\nf 4977/4977/4977 4979/4979/4979 4974/4974/4974\nf 4978/4978/4978 4980/4980/4980 4981/4981/4981\nf 4979/4979/4979 4978/4978/4978 4981/4981/4981\nf 4982/4982/4982 4983/4983/4983 4984/4984/4984\nf 4985/4985/4985 4986/4986/4986 4972/4972/4972\nf 4984/4984/4984 4979/4979/4979 4982/4982/4982\nf 4974/4974/4974 4979/4979/4979 4984/4984/4984\nf 4975/4975/4975 4974/4974/4974 4984/4984/4984\nf 4975/4975/4975 4987/4987/4987 4988/4988/4988\nf 4988/4988/4988 4987/4987/4987 4973/4973/4973\nf 4982/4982/4982 4979/4979/4979 4981/4981/4981\nf 4981/4981/4981 4980/4980/4980 4989/4989/4989\nf 4990/4990/4990 4985/4985/4985 4989/4989/4989\nf 4927/4927/4927 4986/4986/4986 4990/4990/4990\nf 4986/4986/4986 4985/4985/4985 4990/4990/4990\nf 4927/4927/4927 4972/4972/4972 4986/4986/4986\nf 4927/4927/4927 4916/4916/4916 4972/4972/4972\nf 4983/4983/4983 4987/4987/4987 4984/4984/4984\nf 4985/4985/4985 4972/4972/4972 4987/4987/4987\nf 4987/4987/4987 4983/4983/4983 4985/4985/4985\nf 4983/4983/4983 4989/4989/4989 4985/4985/4985\nf 4981/4981/4981 4989/4989/4989 4983/4983/4983\nf 4983/4983/4983 4982/4982/4982 4981/4981/4981\nf 4984/4984/4984 4987/4987/4987 4975/4975/4975\nf 4972/4972/4972 4973/4973/4973 4987/4987/4987\nf 4903/4903/4903 4927/4927/4927 4990/4990/4990\nf 4903/4903/4903 4990/4990/4990 4971/4971/4971\nf 4990/4990/4990 4989/4989/4989 4971/4971/4971\nf 4971/4971/4971 4989/4989/4989 4980/4980/4980\nf 4971/4971/4971 4980/4980/4980 4970/4970/4970\nf 4980/4980/4980 4978/4978/4978 4970/4970/4970\nf 4970/4970/4970 4978/4978/4978 4977/4977/4977\nf 4977/4977/4977 4991/4991/4991 4970/4970/4970\nf 4760/4760/4760 4991/4991/4991 4977/4977/4977\nf 4760/4760/4760 4976/4976/4976 4918/4918/4918\nf 4975/4975/4975 4988/4988/4988 4918/4918/4918\nf 4918/4918/4918 4976/4976/4976 4975/4975/4975\nf 4918/4918/4918 4988/4988/4988 4973/4973/4973\nf 4918/4918/4918 4973/4973/4973 4916/4916/4916\nf 4992/4992/4992 4993/4993/4993 4760/4760/4760\nf 4760/4760/4760 4993/4993/4993 4994/4994/4994\nf 4995/4995/4995 4996/4996/4996 4997/4997/4997\nf 4759/4759/4759 4993/4993/4993 4992/4992/4992\nf 4997/4997/4997 4998/4998/4998 4758/4758/4758\nf 4998/4998/4998 4759/4759/4759 4758/4758/4758\nf 4759/4759/4759 4998/4998/4998 4999/4999/4999\nf 4999/4999/4999 4993/4993/4993 4759/4759/4759\nf 4999/4999/4999 4998/4998/4998 4993/4993/4993\nf 4998/4998/4998 4994/4994/4994 4993/4993/4993\nf 5000/5000/5000 5001/5001/5001 4996/4996/4996\nf 4996/4996/4996 4998/4998/4998 4997/4997/4997\nf 4996/4996/4996 4995/4995/4995 5000/5000/5000\nf 4991/4991/4991 4994/4994/4994 5000/5000/5000\nf 4991/4991/4991 4760/4760/4760 4994/4994/4994\nf 4994/4994/4994 4998/4998/4998 5001/5001/5001\nf 5000/5000/5000 4994/4994/4994 5001/5001/5001\nf 5001/5001/5001 4998/4998/4998 4996/4996/4996\nf 4970/4970/4970 4991/4991/4991 5000/5000/5000\nf 5000/5000/5000 5002/5002/5002 4970/4970/4970\nf 4995/4995/4995 5002/5002/5002 5000/5000/5000\nf 5003/5003/5003 5004/5004/5004 4995/4995/4995\nf 5003/5003/5003 4995/4995/4995 4997/4997/4997\nf 5003/5003/5003 4997/4997/4997 4758/4758/4758\nf 4760/4760/4760 4759/4759/4759 4992/4992/4992\nf 5005/5005/5005 5006/5006/5006 4866/4866/4866\nf 5007/5007/5007 5006/5006/5006 5005/5005/5005\nf 5008/5008/5008 5004/5004/5004 5009/5009/5009\nf 5010/5010/5010 5004/5004/5004 5008/5008/5008\nf 5009/5009/5009 5011/5011/5011 5007/5007/5007\nf 5008/5008/5008 5009/5009/5009 5010/5010/5010\nf 5012/5012/5012 5005/5005/5005 5013/5013/5013\nf 5010/5010/5010 5009/5009/5009 5014/5014/5014\nf 5015/5015/5015 5014/5014/5014 5009/5009/5009\nf 5009/5009/5009 5007/5007/5007 5015/5015/5015\nf 5012/5012/5012 5015/5015/5015 5005/5005/5005\nf 5010/5010/5010 5014/5014/5014 5002/5002/5002\nf 5002/5002/5002 5012/5012/5012 4957/4957/4957\nf 4957/4957/4957 5012/5012/5012 5013/5013/5013\nf 5013/5013/5013 5005/5005/5005 4866/4866/4866\nf 5014/5014/5014 5015/5015/5015 5016/5016/5016\nf 5012/5012/5012 5002/5002/5002 5016/5016/5016\nf 5016/5016/5016 5015/5015/5015 5012/5012/5012\nf 5014/5014/5014 5016/5016/5016 5002/5002/5002\nf 5015/5015/5015 5007/5007/5007 5005/5005/5005\nf 4995/4995/4995 5010/5010/5010 5002/5002/5002\nf 4970/4970/4970 5002/5002/5002 4957/4957/4957\nf 4957/4957/4957 5013/5013/5013 4866/4866/4866\nf 5006/5006/5006 5007/5007/5007 5011/5011/5011\nf 5003/5003/5003 5009/5009/5009 5004/5004/5004\nf 4995/4995/4995 5004/5004/5004 5010/5010/5010\nf 5017/5017/5017 5018/5018/5018 5019/5019/5019\nf 5020/5020/5020 5018/5018/5018 5017/5017/5017\nf 5021/5021/5021 5020/5020/5020 5017/5017/5017\nf 5022/5022/5022 5019/5019/5019 5009/5009/5009\nf 5017/5017/5017 5019/5019/5019 5021/5021/5021\nf 5019/5019/5019 5022/5022/5022 5023/5023/5023\nf 5023/5023/5023 5022/5022/5022 5024/5024/5024\nf 5023/5023/5023 5024/5024/5024 5025/5025/5025\nf 5021/5021/5021 5023/5023/5023 5025/5025/5025\nf 5003/5003/5003 5025/5025/5025 5024/5024/5024\nf 5024/5024/5024 5022/5022/5022 5003/5003/5003\nf 5021/5021/5021 5019/5019/5019 5023/5023/5023\nf 5003/5003/5003 5022/5022/5022 5009/5009/5009\nf 5009/5009/5009 5019/5019/5019 5011/5011/5011\nf 5011/5011/5011 5019/5019/5019 5018/5018/5018\nf 5026/5026/5026 5027/5027/5027 4756/4756/4756\nf 5028/5028/5028 5025/5025/5025 5029/5029/5029\nf 5026/5026/5026 4757/4757/4757 5027/5027/5027\nf 5028/5028/5028 5030/5030/5030 5026/5026/5026\nf 5031/5031/5031 4757/4757/4757 5026/5026/5026\nf 5030/5030/5030 5028/5028/5028 5029/5029/5029\nf 5029/5029/5029 5025/5025/5025 5003/5003/5003\nf 5029/5029/5029 5003/5003/5003 5032/5032/5032\nf 5031/5031/5031 4758/4758/4758 4757/4757/4757\nf 5032/5032/5032 4758/4758/4758 5031/5031/5031\nf 5032/5032/5032 5031/5031/5031 5030/5030/5030\nf 5030/5030/5030 5029/5029/5029 5032/5032/5032\nf 5026/5026/5026 5030/5030/5030 5031/5031/5031\nf 5026/5026/5026 4756/4756/4756 5028/5028/5028\nf 4756/4756/4756 5027/5027/5027 4757/4757/4757\nf 4758/4758/4758 5032/5032/5032 5003/5003/5003\nf 5033/5033/5033 5034/5034/5034 5035/5035/5035\nf 4755/4755/4755 5035/5035/5035 5028/5028/5028\nf 5033/5033/5033 5036/5036/5036 5037/5037/5037\nf 5037/5037/5037 5036/5036/5036 4755/4755/4755\nf 5036/5036/5036 5035/5035/5035 4755/4755/4755\nf 5036/5036/5036 5033/5033/5033 5035/5035/5035\nf 5037/5037/5037 4754/4754/4754 5033/5033/5033\nf 4754/4754/4754 5037/5037/5037 4755/4755/4755\nf 4756/4756/4756 4755/4755/4755 5028/5028/5028\nf 5025/5025/5025 5028/5028/5028 5035/5035/5035\nf 5025/5025/5025 5035/5035/5035 5034/5034/5034\nf 5034/5034/5034 5033/5033/5033 5038/5038/5038\nf 5039/5039/5039 5040/5040/5040 5041/5041/5041\nf 5042/5042/5042 5039/5039/5039 5043/5043/5043\nf 5039/5039/5039 5041/5041/5041 5043/5043/5043\nf 5043/5043/5043 5041/5041/5041 5021/5021/5021\nf 5034/5034/5034 5043/5043/5043 5021/5021/5021\nf 5043/5043/5043 5034/5034/5034 5042/5042/5042\nf 5021/5021/5021 5041/5041/5041 5020/5020/5020\nf 5039/5039/5039 5042/5042/5042 5038/5038/5038\nf 5038/5038/5038 5042/5042/5042 5034/5034/5034\nf 5034/5034/5034 5021/5021/5021 5025/5025/5025\nf 4721/4721/4721 4849/4849/4849 5044/5044/5044\nf 5044/5044/5044 5045/5045/5045 4721/4721/4721\nf 4848/4848/4848 5046/5046/5046 5044/5044/5044\nf 5044/5044/5044 4849/4849/4849 4848/4848/4848\nf 4909/4909/4909 4912/4912/4912 5044/5044/5044\nf 5044/5044/5044 5046/5046/5046 4909/4909/4909\nf 4860/4860/4860 4863/4863/4863 5044/5044/5044\nf 5044/5044/5044 4912/4912/4912 4860/4860/4860\nf 4868/4868/4868 5045/5045/5045 5044/5044/5044\nf 5044/5044/5044 4863/4863/4863 4868/4868/4868\nf 4725/4725/4725 5047/5047/5047 5048/5048/5048\nf 5048/5048/5048 4726/4726/4726 4725/4725/4725\nf 4713/4713/4713 4716/4716/4716 5048/5048/5048\nf 5048/5048/5048 5047/5047/5047 4713/4713/4713\nf 4720/4720/4720 5049/5049/5049 5048/5048/5048\nf 5048/5048/5048 4716/4716/4716 4720/4720/4720\nf 4727/4727/4727 4726/4726/4726 5048/5048/5048\nf 5048/5048/5048 5049/5049/5049 4727/4727/4727\nf 5050/5050/5050 4753/4753/4753 5051/5051/5051\nf 5050/5050/5050 5052/5052/5052 4753/4753/4753\nf 4753/4753/4753 5052/5052/5052 4754/4754/4754\nf 4754/4754/4754 5052/5052/5052 5053/5053/5053\nf 5053/5053/5053 5054/5054/5054 4754/4754/4754\nf 5054/5054/5054 5053/5053/5053 5038/5038/5038\nf 5050/5050/5050 5053/5053/5053 5052/5052/5052\nf 5055/5055/5055 5050/5050/5050 5051/5051/5051\nf 5054/5054/5054 5033/5033/5033 4754/4754/4754\nf 5038/5038/5038 5033/5033/5033 5054/5054/5054\nf 5055/5055/5055 5053/5053/5053 5050/5050/5050\nf 5056/5056/5056 5057/5057/5057 5058/5058/5058\nf 5053/5053/5053 5059/5059/5059 5056/5056/5056\nf 5053/5053/5053 5056/5056/5056 5060/5060/5060\nf 5060/5060/5060 5056/5056/5056 5058/5058/5058\nf 5053/5053/5053 5060/5060/5060 5061/5061/5061\nf 5039/5039/5039 5061/5061/5061 5060/5060/5060\nf 5060/5060/5060 5058/5058/5058 5039/5039/5039\nf 5055/5055/5055 5059/5059/5059 5053/5053/5053\nf 5053/5053/5053 5061/5061/5061 5038/5038/5038\nf 5038/5038/5038 5061/5061/5061 5039/5039/5039\nf 5040/5040/5040 5039/5039/5039 5058/5058/5058\nf 5057/5057/5057 5040/5040/5040 5058/5058/5058\nf 5056/5056/5056 5059/5059/5059 5055/5055/5055\nf 5062/5062/5062 5063/5063/5063 5064/5064/5064\nf 5064/5064/5064 5063/5063/5063 5065/5065/5065\nf 5064/5064/5064 5065/5065/5065 5051/5051/5051\nf 5051/5051/5051 5065/5065/5065 5055/5055/5055\nf 5055/5055/5055 5065/5065/5065 5066/5066/5066\nf 5063/5063/5063 5066/5066/5066 5065/5065/5065\nf 5063/5063/5063 5062/5062/5062 4752/4752/4752\nf 5062/5062/5062 4753/4753/4753 4752/4752/4752\nf 5062/5062/5062 5064/5064/5064 4753/4753/4753\nf 5064/5064/5064 5051/5051/5051 4753/4753/4753\nf 5066/5066/5066 5063/5063/5063 5067/5067/5067\nf 5066/5066/5066 5068/5068/5068 5069/5069/5069\nf 5069/5069/5069 5068/5068/5068 4718/4718/4718\nf 5069/5069/5069 4718/4718/4718 5056/5056/5056\nf 5056/5056/5056 5066/5066/5066 5069/5069/5069\nf 5055/5055/5055 5066/5066/5066 5056/5056/5056\nf 5056/5056/5056 4717/4717/4717 5057/5057/5057\nf 4718/4718/4718 4717/4717/4717 5056/5056/5056\nf 4719/4719/4719 4718/4718/4718 5068/5068/5068\nf 5068/5068/5068 5066/5066/5066 5067/5067/5067\nf 5070/5070/5070 5067/5067/5067 5071/5071/5071\nf 5071/5071/5071 5067/5067/5067 5072/5072/5072\nf 5070/5070/5070 5071/5071/5071 5073/5073/5073\nf 4794/4794/4794 5071/5071/5071 5072/5072/5072\nf 4752/4752/4752 4794/4794/4794 5072/5072/5072\nf 5072/5072/5072 5063/5063/5063 4752/4752/4752\nf 5067/5067/5067 5063/5063/5063 5072/5072/5072\nf 4797/4797/4797 5074/5074/5074 5075/5075/5075\nf 5068/5068/5068 5070/5070/5070 5074/5074/5074\nf 5070/5070/5070 5075/5075/5075 5074/5074/5074\nf 5074/5074/5074 4795/4795/4795 4719/4719/4719\nf 5074/5074/5074 4719/4719/4719 5068/5068/5068\nf 4797/4797/4797 4795/4795/4795 5074/5074/5074\nf 5073/5073/5073 5075/5075/5075 5070/5070/5070\nf 5067/5067/5067 5070/5070/5070 5068/5068/5068\nf 5073/5073/5073 5071/5071/5071 5076/5076/5076\nf 5077/5077/5077 5078/5078/5078 5073/5073/5073\nf 5073/5073/5073 5076/5076/5076 5077/5077/5077\nf 5077/5077/5077 5076/5076/5076 4793/4793/4793\nf 4794/4794/4794 4793/4793/4793 5076/5076/5076\nf 5076/5076/5076 5071/5071/5071 4794/4794/4794\nf 5078/5078/5078 5077/5077/5077 5079/5079/5079\nf 5079/5079/5079 5080/5080/5080 5078/5078/5078\nf 5081/5081/5081 5078/5078/5078 5080/5080/5080\nf 5081/5081/5081 4798/4798/4798 4797/4797/4797\nf 4798/4798/4798 5081/5081/5081 5080/5080/5080\nf 5073/5073/5073 5078/5078/5078 5075/5075/5075\nf 5075/5075/5075 5078/5078/5078 5081/5081/5081\nf 5075/5075/5075 5081/5081/5081 4797/4797/4797\nf 4791/4791/4791 5077/5077/5077 5082/5082/5082\nf 5083/5083/5083 5077/5077/5077 4791/4791/4791\nf 5082/5082/5082 4792/4792/4792 4791/4791/4791\nf 4793/4793/4793 4792/4792/4792 5082/5082/5082\nf 5077/5077/5077 4793/4793/4793 5082/5082/5082\nf 5079/5079/5079 5077/5077/5077 5083/5083/5083\nf 5084/5084/5084 5085/5085/5085 5083/5083/5083\nf 5080/5080/5080 5083/5083/5083 5085/5085/5085\nf 5079/5079/5079 5083/5083/5083 5080/5080/5080\nf 4798/4798/4798 5080/5080/5080 5085/5085/5085\nf 5085/5085/5085 4799/4799/4799 4798/4798/4798\nf 4799/4799/4799 5085/5085/5085 5084/5084/5084\nf 5086/5086/5086 4791/4791/4791 5087/5087/5087\nf 4782/4782/4782 5087/5087/5087 4791/4791/4791\nf 5086/5086/5086 5083/5083/5083 4791/4791/4791\nf 5086/5086/5086 5087/5087/5087 5088/5088/5088\nf 5086/5086/5086 4801/4801/4801 5089/5089/5089\nf 5089/5089/5089 5084/5084/5084 5086/5086/5086\nf 5084/5084/5084 5089/5089/5089 4799/4799/4799\nf 5089/5089/5089 4800/4800/4800 4799/4799/4799\nf 4801/4801/4801 4800/4800/4800 5089/5089/5089\nf 4801/4801/4801 5086/5086/5086 5088/5088/5088\nf 5086/5086/5086 5084/5084/5084 5083/5083/5083\nf 4790/4790/4790 5088/5088/5088 4782/4782/4782\nf 5088/5088/5088 5087/5087/5087 4782/4782/4782\nf 5090/5090/5090 5088/5088/5088 4790/4790/4790\nf 4796/4796/4796 4801/4801/4801 5088/5088/5088\nf 5090/5090/5090 4796/4796/4796 5088/5088/5088\nf 4789/4789/4789 5090/5090/5090 4790/4790/4790\nf 4789/4789/4789 4802/4802/4802 5090/5090/5090\nf 4796/4796/4796 5090/5090/5090 4802/4802/4802\nf 5091/5091/5091 4789/4789/4789 4788/4788/4788\nf 4789/4789/4789 5091/5091/5091 4802/4802/4802\nf 4804/4804/4804 4803/4803/4803 4802/4802/4802\nf 5091/5091/5091 4804/4804/4804 4802/4802/4802\nf 4788/4788/4788 4787/4787/4787 5091/5091/5091\nf 5091/5091/5091 4787/4787/4787 4805/4805/4805\nf 5091/5091/5091 4805/4805/4805 4804/4804/4804\nf 4787/4787/4787 4786/4786/4786 4785/4785/4785\nf 4787/4787/4787 4785/4785/4785 4806/4806/4806\nf 4787/4787/4787 4806/4806/4806 4805/4805/4805\nf 4783/4783/4783 4808/4808/4808 4785/4785/4785\nf 4785/4785/4785 4784/4784/4784 4783/4783/4783\nf 4806/4806/4806 4785/4785/4785 4808/4808/4808\nf 4808/4808/4808 4807/4807/4807 4806/4806/4806\nf 4763/4763/4763 5049/5049/5049 4720/4720/4720\nf 4762/4762/4762 4766/4766/4766 4763/4763/4763\nf 4727/4727/4727 5049/5049/5049 4763/4763/4763\nf 4717/4717/4717 4714/4714/4714 5092/5092/5092\nf 5092/5092/5092 5057/5057/5057 4717/4717/4717\nf 4713/4713/4713 5093/5093/5093 5092/5092/5092\nf 5092/5092/5092 4714/4714/4714 4713/4713/4713\nf 4868/4868/4868 4867/4867/4867 5092/5092/5092\nf 5092/5092/5092 5093/5093/5093 4868/4868/4868\nf 4866/4866/4866 5006/5006/5006 5092/5092/5092\nf 5092/5092/5092 4867/4867/4867 4866/4866/4866\nf 5006/5006/5006 5011/5011/5011 5092/5092/5092\nf 5011/5011/5011 5018/5018/5018 5092/5092/5092\nf 5020/5020/5020 5041/5041/5041 5092/5092/5092\nf 5092/5092/5092 5018/5018/5018 5020/5020/5020\nf 5092/5092/5092 5041/5041/5041 5040/5040/5040\nf 5092/5092/5092 5040/5040/5040 5057/5057/5057\nf 4713/4713/4713 5047/5047/5047 5094/5094/5094\nf 5094/5094/5094 5093/5093/5093 4713/4713/4713\nf 4725/4725/4725 4722/4722/4722 5094/5094/5094\nf 5094/5094/5094 5047/5047/5047 4725/4725/4725\nf 4721/4721/4721 5045/5045/5045 5094/5094/5094\nf 5094/5094/5094 4722/4722/4722 4721/4721/4721\nf 4868/4868/4868 5093/5093/5093 5094/5094/5094\nf 5094/5094/5094 5045/5045/5045 4868/4868/4868\nf 4783/4783/4783 4823/4823/4823 4808/4808/4808\nf 4822/4822/4822 4825/4825/4825 4823/4823/4823\nf 4808/4808/4808 4823/4823/4823 4825/4825/4825\nf 4825/4825/4825 4824/4824/4824 4808/4808/4808\nf 4817/4817/4817 4825/4825/4825 4822/4822/4822\nf 4817/4817/4817 4812/4812/4812 4825/4825/4825\nf 4812/4812/4812 4817/4817/4817 4821/4821/4821\nf 4821/4821/4821 4819/4819/4819 4812/4812/4812\nf 4821/4821/4821 4820/4820/4820 4819/4819/4819\nf 4819/4819/4819 4818/4818/4818 4816/4816/4816\nf 4816/4816/4816 4826/4826/4826 4819/4819/4819\nf 3191/3191/3191 5095/5095/5095 5096/5096/5096\nf 5096/5096/5096 3192/3192/3192 3191/3191/3191\nf 4857/4857/4857 4859/4859/4859 5096/5096/5096\nf 5096/5096/5096 5095/5095/5095 4857/4857/4857\nf 4850/4850/4850 5097/5097/5097 5096/5096/5096\nf 5096/5096/5096 4859/4859/4859 4850/4850/4850\nf 3187/3187/3187 3192/3192/3192 5096/5096/5096\nf 5096/5096/5096 5097/5097/5097 3187/3187/3187\nf 3187/3187/3187 5097/5097/5097 5098/5098/5098\nf 5098/5098/5098 3188/3188/3188 3187/3187/3187\nf 4850/4850/4850 4853/4853/4853 5098/5098/5098\nf 5098/5098/5098 5097/5097/5097 4850/4850/4850\nf 4692/4692/4692 5099/5099/5099 5098/5098/5098\nf 5098/5098/5098 4853/4853/4853 4692/4692/4692\nf 3183/3183/3183 3188/3188/3188 5098/5098/5098\nf 5098/5098/5098 5099/5099/5099 3183/3183/3183\nf 3183/3183/3183 5099/5099/5099 5100/5100/5100\nf 5100/5100/5100 5101/5101/5101 3183/3183/3183\nf 4692/4692/4692 4695/4695/4695 5100/5100/5100\nf 5100/5100/5100 5099/5099/5099 4692/4692/4692\nf 4700/4700/4700 5101/5101/5101 5100/5100/5100\nf 5100/5100/5100 4695/4695/4695 4700/4700/4700\nf 3183/3183/3183 5101/5101/5101 5102/5102/5102\nf 5102/5102/5102 3184/3184/3184 3183/3183/3183\nf 4700/4700/4700 4702/4702/4702 5102/5102/5102\nf 5102/5102/5102 5101/5101/5101 4700/4700/4700\nf 4709/4709/4709 5103/5103/5103 5102/5102/5102\nf 5102/5102/5102 4702/4702/4702 4709/4709/4709\nf 3178/3178/3178 3184/3184/3184 5102/5102/5102\nf 5102/5102/5102 5103/5103/5103 3178/3178/3178\nf 3178/3178/3178 5103/5103/5103 5104/5104/5104\nf 5104/5104/5104 3435/3435/3435 3178/3178/3178\nf 4709/4709/4709 4711/4711/4711 5104/5104/5104\nf 5104/5104/5104 5103/5103/5103 4709/4709/4709\nf 4712/4712/4712 5105/5105/5105 5104/5104/5104\nf 5104/5104/5104 4711/4711/4711 4712/4712/4712\nf 3404/3404/3404 3435/3435/3435 5104/5104/5104\nf 5104/5104/5104 5105/5105/5105 3404/3404/3404\nf 3404/3404/3404 5105/5105/5105 5106/5106/5106\nf 5106/5106/5106 5107/5107/5107 3404/3404/3404\nf 4712/4712/4712 4915/4915/4915 5106/5106/5106\nf 5106/5106/5106 5105/5105/5105 4712/4712/4712\nf 4905/4905/4905 5107/5107/5107 5106/5106/5106\nf 5106/5106/5106 4915/4915/4915 4905/4905/4905\nf 3404/3404/3404 5107/5107/5107 5108/5108/5108\nf 5108/5108/5108 3400/3400/3400 3404/3404/3404\nf 4905/4905/4905 4908/4908/4908 5108/5108/5108\nf 5108/5108/5108 5107/5107/5107 4905/4905/4905\nf 4869/4869/4869 5109/5109/5109 5108/5108/5108\nf 5108/5108/5108 4908/4908/4908 4869/4869/4869\nf 3397/3397/3397 3400/3400/3400 5108/5108/5108\nf 5108/5108/5108 5109/5109/5109 3397/3397/3397\nf 3397/3397/3397 5109/5109/5109 5110/5110/5110\nf 5110/5110/5110 3441/3441/3441 3397/3397/3397\nf 4869/4869/4869 4910/4910/4910 5110/5110/5110\nf 5110/5110/5110 5109/5109/5109 4869/4869/4869\nf 4909/4909/4909 5111/5111/5111 5110/5110/5110\nf 5110/5110/5110 4910/4910/4910 4909/4909/4909\nf 3109/3109/3109 3441/3441/3441 5110/5110/5110\nf 5110/5110/5110 5111/5111/5111 3109/3109/3109\nf 3109/3109/3109 5111/5111/5111 5112/5112/5112\nf 5112/5112/5112 5113/5113/5113 3109/3109/3109\nf 4909/4909/4909 5046/5046/5046 5112/5112/5112\nf 5112/5112/5112 5111/5111/5111 4909/4909/4909\nf 4848/4848/4848 5113/5113/5113 5112/5112/5112\nf 5112/5112/5112 5046/5046/5046 4848/4848/4848\nf 5113/5113/5113 3110/3110/3110 3109/3109/3109\nf 4847/4847/4847 5114/5114/5114 5113/5113/5113\nf 5113/5113/5113 4848/4848/4848 4847/4847/4847\nf 3111/3111/3111 3110/3110/3110 5113/5113/5113\nf 5113/5113/5113 5114/5114/5114 3111/3111/3111\nf 3111/3111/3111 5114/5114/5114 5115/5115/5115\nf 5115/5115/5115 3195/3195/3195 3111/3111/3111\nf 4847/4847/4847 4846/4846/4846 5115/5115/5115\nf 5115/5115/5115 5114/5114/5114 4847/4847/4847\nf 4845/4845/4845 5116/5116/5116 5115/5115/5115\nf 5115/5115/5115 4846/4846/4846 4845/4845/4845\nf 3191/3191/3191 3195/3195/3195 5115/5115/5115\nf 5115/5115/5115 5116/5116/5116 3191/3191/3191\nf 3191/3191/3191 5116/5116/5116 5117/5117/5117\nf 5117/5117/5117 5095/5095/5095 3191/3191/3191\nf 4845/4845/4845 4855/4855/4855 5117/5117/5117\nf 5117/5117/5117 5116/5116/5116 4845/4845/4845\nf 4857/4857/4857 5095/5095/5095 5117/5117/5117\nf 5117/5117/5117 4855/4855/4855 4857/4857/4857\nf 2590/2590/2590 2589/2589/2589 5118/5118/5118\nf 346/346/346 3284/3284/3284 5118/5118/5118\nf 5118/5118/5118 2589/2589/2589 346/346/346\nf 3266/3266/3266 2590/2590/2590 5118/5118/5118\nf 5118/5118/5118 3284/3284/3284 3266/3266/3266\nf 663/663/663 2592/2592/2592 5119/5119/5119\nf 5119/5119/5119 3394/3394/3394 663/663/663\nf 5119/5119/5119 2592/2592/2592 2590/2590/2590\nf 3266/3266/3266 3433/3433/3433 5119/5119/5119\nf 5119/5119/5119 2590/2590/2590 3266/3266/3266\nf 3422/3422/3422 3423/3423/3423 5119/5119/5119\nf 5119/5119/5119 3433/3433/3433 3422/3422/3422\nf 3391/3391/3391 3394/3394/3394 5119/5119/5119\nf 5119/5119/5119 3423/3423/3423 3391/3391/3391\n"
  },
  {
    "path": "data/sphere.ply",
    "content": "ply\nformat ascii 1.0\ncomment VCGLIB generated\nelement vertex 642\nproperty float x\nproperty float y\nproperty float z\nelement face 1280\nproperty list uchar int vertex_indices\nend_header\n0 0.850651 0.525731 \n0 0.850651 -0.525731 \n0 -0.850651 0.525731 \n0 -0.850651 -0.525731 \n0.850651 0.525731 0 \n0.850651 -0.525731 0 \n-0.850651 0.525731 0 \n-0.850651 -0.525731 0 \n0.525731 0 0.850651 \n-0.525731 0 0.850651 \n0.525731 0 -0.850651 \n-0.525731 0 -0.850651 \n0 1 0 \n0.5 0.809017 0.309017 \n0.5 0.809017 -0.309017 \n-0.5 0.809017 -0.309017 \n-0.5 0.809017 0.309017 \n0 -1 0 \n0.5 -0.809017 -0.309017 \n0.5 -0.809017 0.309017 \n-0.5 -0.809017 0.309017 \n-0.5 -0.809017 -0.309017 \n1 0 0 \n0.809017 -0.309017 -0.5 \n0.809017 0.309017 -0.5 \n0.809017 0.309017 0.5 \n0.809017 -0.309017 0.5 \n-1 0 0 \n-0.809017 -0.309017 0.5 \n-0.809017 0.309017 0.5 \n-0.809017 0.309017 -0.5 \n-0.809017 -0.309017 -0.5 \n0 0 1 \n-0.309017 -0.5 0.809017 \n0.309017 -0.5 0.809017 \n0.309017 0.5 0.809017 \n-0.309017 0.5 0.809017 \n0 0 -1 \n-0.309017 0.5 -0.809017 \n0.309017 0.5 -0.809017 \n0.309017 -0.5 -0.809017 \n-0.309017 -0.5 -0.809017 \n0.262866 0.951057 0.16246 \n0.525731 0.850651 0 \n0.262866 0.951057 -0.16246 \n-0.262866 0.951057 -0.16246 \n-0.525731 0.850651 0 \n-0.262866 0.951057 0.16246 \n0.262866 -0.951057 -0.16246 \n0.525731 -0.850651 0 \n0.262866 -0.951057 0.16246 \n-0.262866 -0.951057 0.16246 \n-0.525731 -0.850651 0 \n-0.262866 -0.951057 -0.16246 \n0.951057 -0.16246 -0.262866 \n0.850651 0 -0.525731 \n0.951057 0.16246 -0.262866 \n0.951057 0.16246 0.262866 \n0.850651 0 0.525731 \n0.951057 -0.16246 0.262866 \n-0.951057 -0.16246 0.262866 \n-0.850651 0 0.525731 \n-0.951057 0.16246 0.262866 \n-0.951057 0.16246 -0.262866 \n-0.850651 0 -0.525731 \n-0.951057 -0.16246 -0.262866 \n-0.16246 -0.262866 0.951057 \n0 -0.525731 0.850651 \n0.16246 -0.262866 0.951057 \n0.16246 0.262866 0.951057 \n0 0.525731 0.850651 \n-0.16246 0.262866 0.951057 \n-0.16246 0.262866 -0.951057 \n0 0.525731 -0.850651 \n0.16246 0.262866 -0.951057 \n0.16246 -0.262866 -0.951057 \n0 -0.525731 -0.850651 \n-0.16246 -0.262866 -0.951057 \n0.587785 0.425325 0.688191 \n0.688191 0.587785 0.425325 \n0.425325 0.688191 0.587785 \n-0.688191 0.587785 0.425325 \n-0.587785 0.425325 0.688191 \n-0.425325 0.688191 0.587785 \n0.688191 0.587785 -0.425325 \n0.587785 0.425325 -0.688191 \n0.425325 0.688191 -0.587785 \n-0.587785 0.425325 -0.688191 \n-0.688191 0.587785 -0.425325 \n-0.425325 0.688191 -0.587785 \n0.688191 -0.587785 0.425325 \n0.587785 -0.425325 0.688191 \n0.425325 -0.688191 0.587785 \n-0.587785 -0.425325 0.688191 \n-0.688191 -0.587785 0.425325 \n-0.425325 -0.688191 0.587785 \n0.587785 -0.425325 -0.688191 \n0.688191 -0.587785 -0.425325 \n0.425325 -0.688191 -0.587785 \n-0.688191 -0.587785 -0.425325 \n-0.587785 -0.425325 -0.688191 \n-0.425325 -0.688191 -0.587785 \n0 0.961938 -0.273267 \n0.259892 0.862668 -0.433889 \n0 0.961938 0.273267 \n0.259892 0.862668 0.433889 \n0.702046 0.69378 0.160622 \n0.702046 0.69378 -0.160622 \n-0.259892 0.862668 0.433889 \n-0.259892 0.862668 -0.433889 \n-0.702046 0.69378 -0.160622 \n-0.702046 0.69378 0.160622 \n0 -0.961938 0.273267 \n0.259892 -0.862668 0.433889 \n0 -0.961938 -0.273267 \n0.259892 -0.862668 -0.433889 \n0.702046 -0.69378 -0.160622 \n0.702046 -0.69378 0.160622 \n-0.259892 -0.862668 -0.433889 \n-0.259892 -0.862668 0.433889 \n-0.702046 -0.69378 0.160622 \n-0.702046 -0.69378 -0.160622 \n0.961938 0.273267 0 \n0.862668 0.433889 -0.259892 \n0.961938 -0.273267 0 \n0.862668 -0.433889 -0.259892 \n0.69378 -0.160622 -0.702046 \n0.69378 0.160622 -0.702046 \n0.862668 -0.433889 0.259892 \n0.862668 0.433889 0.259892 \n0.69378 0.160622 0.702046 \n0.69378 -0.160622 0.702046 \n-0.961938 0.273267 0 \n-0.862668 0.433889 0.259892 \n-0.961938 -0.273267 0 \n-0.862668 -0.433889 0.259892 \n-0.69378 -0.160622 0.702046 \n-0.69378 0.160622 0.702046 \n-0.862668 -0.433889 -0.259892 \n-0.862668 0.433889 -0.259892 \n-0.69378 0.160622 -0.702046 \n-0.69378 -0.160622 -0.702046 \n0.273267 0 0.961938 \n0.433889 -0.259892 0.862668 \n-0.273267 0 0.961938 \n-0.433889 -0.259892 0.862668 \n-0.160622 -0.702046 0.69378 \n0.160622 -0.702046 0.69378 \n-0.433889 0.259892 0.862668 \n0.433889 0.259892 0.862668 \n0.160622 0.702046 0.69378 \n-0.160622 0.702046 0.69378 \n0.273267 0 -0.961938 \n0.433889 0.259892 -0.862668 \n-0.273267 0 -0.961938 \n-0.433889 0.259892 -0.862668 \n-0.160622 0.702046 -0.69378 \n0.160622 0.702046 -0.69378 \n-0.433889 -0.259892 -0.862668 \n0.433889 -0.259892 -0.862668 \n0.160622 -0.702046 -0.69378 \n-0.160622 -0.702046 -0.69378 \n0.399607 0.912982 0.0823236 \n0.399607 0.912982 -0.0823236 \n0.266405 0.963861 0 \n-0.399607 0.912982 -0.0823236 \n-0.399607 0.912982 0.0823236 \n-0.266405 0.963861 0 \n0.399607 -0.912982 -0.0823236 \n0.399607 -0.912982 0.0823236 \n0.266405 -0.963861 0 \n-0.399607 -0.912982 0.0823236 \n-0.399607 -0.912982 -0.0823236 \n-0.266405 -0.963861 0 \n0.912982 -0.0823236 -0.399607 \n0.912982 0.0823236 -0.399607 \n0.963861 0 -0.266405 \n0.912982 0.0823236 0.399607 \n0.912982 -0.0823236 0.399607 \n0.963861 0 0.266405 \n-0.912982 -0.0823236 0.399607 \n-0.912982 0.0823236 0.399607 \n-0.963861 0 0.266405 \n-0.912982 0.0823236 -0.399607 \n-0.912982 -0.0823236 -0.399607 \n-0.963861 0 -0.266405 \n-0.0823236 -0.399607 0.912982 \n0.0823236 -0.399607 0.912982 \n0 -0.266405 0.963861 \n0.0823236 0.399607 0.912982 \n-0.0823236 0.399607 0.912982 \n0 0.266405 0.963861 \n-0.0823236 0.399607 -0.912982 \n0.0823236 0.399607 -0.912982 \n0 0.266405 -0.963861 \n0.0823236 -0.399607 -0.912982 \n-0.0823236 -0.399607 -0.912982 \n0 -0.266405 -0.963861 \n0.646578 0.513375 0.564254 \n0.564254 0.646578 0.513375 \n0.513375 0.564254 0.646578 \n-0.646578 0.513375 0.564254 \n-0.513375 0.564254 0.646578 \n-0.564254 0.646578 0.513375 \n0.646578 0.513375 -0.564254 \n0.513375 0.564254 -0.646578 \n0.564254 0.646578 -0.513375 \n-0.646578 0.513375 -0.564254 \n-0.564254 0.646578 -0.513375 \n-0.513375 0.564254 -0.646578 \n0.646578 -0.513375 0.564254 \n0.513375 -0.564254 0.646578 \n0.564254 -0.646578 0.513375 \n-0.646578 -0.513375 0.564254 \n-0.564254 -0.646578 0.513375 \n-0.513375 -0.564254 0.646578 \n0.646578 -0.513375 -0.564254 \n0.564254 -0.646578 -0.513375 \n0.513375 -0.564254 -0.646578 \n-0.646578 -0.513375 -0.564254 \n-0.513375 -0.564254 -0.646578 \n-0.564254 -0.646578 -0.513375 \n0.132792 0.966393 -0.220117 \n0.264083 0.916244 -0.301259 \n0.131655 0.924305 -0.358229 \n0.131655 0.924305 0.358229 \n0.264083 0.916244 0.301259 \n0.132792 0.966393 0.220117 \n0.62024 0.780204 0.0811418 \n0.711282 0.702907 0 \n0.62024 0.780204 -0.0811418 \n-0.132792 0.966393 0.220117 \n-0.264083 0.916244 0.301259 \n-0.131655 0.924305 0.358229 \n-0.131655 0.924305 -0.358229 \n-0.264083 0.916244 -0.301259 \n-0.132792 0.966393 -0.220117 \n-0.62024 0.780204 -0.0811418 \n-0.711282 0.702907 0 \n-0.62024 0.780204 0.0811418 \n0.132792 -0.966393 0.220117 \n0.264083 -0.916244 0.301259 \n0.131655 -0.924305 0.358229 \n0.131655 -0.924305 -0.358229 \n0.264083 -0.916244 -0.301259 \n0.132792 -0.966393 -0.220117 \n0.62024 -0.780204 -0.0811418 \n0.711282 -0.702907 0 \n0.62024 -0.780204 0.0811418 \n-0.132792 -0.966393 -0.220117 \n-0.264083 -0.916244 -0.301259 \n-0.131655 -0.924305 -0.358229 \n-0.131655 -0.924305 0.358229 \n-0.264083 -0.916244 0.301259 \n-0.132792 -0.966393 0.220117 \n-0.62024 -0.780204 0.0811418 \n-0.711282 -0.702907 0 \n-0.62024 -0.780204 -0.0811418 \n0.966393 0.220117 -0.132792 \n0.916244 0.301259 -0.264083 \n0.924305 0.358229 -0.131655 \n0.924305 -0.358229 -0.131655 \n0.916244 -0.301259 -0.264083 \n0.966393 -0.220117 -0.132792 \n0.780204 -0.0811418 -0.62024 \n0.702907 0 -0.711282 \n0.780204 0.0811418 -0.62024 \n0.966393 -0.220117 0.132792 \n0.916244 -0.301259 0.264083 \n0.924305 -0.358229 0.131655 \n0.924305 0.358229 0.131655 \n0.916244 0.301259 0.264083 \n0.966393 0.220117 0.132792 \n0.780204 0.0811418 0.62024 \n0.702907 0 0.711282 \n0.780204 -0.0811418 0.62024 \n-0.966393 0.220117 0.132792 \n-0.916244 0.301259 0.264083 \n-0.924305 0.358229 0.131655 \n-0.924305 -0.358229 0.131655 \n-0.916244 -0.301259 0.264083 \n-0.966393 -0.220117 0.132792 \n-0.780204 -0.0811418 0.62024 \n-0.702907 0 0.711282 \n-0.780204 0.0811418 0.62024 \n-0.966393 -0.220117 -0.132792 \n-0.916244 -0.301259 -0.264083 \n-0.924305 -0.358229 -0.131655 \n-0.924305 0.358229 -0.131655 \n-0.916244 0.301259 -0.264083 \n-0.966393 0.220117 -0.132792 \n-0.780204 0.0811418 -0.62024 \n-0.702907 0 -0.711282 \n-0.780204 -0.0811418 -0.62024 \n0.220117 -0.132792 0.966393 \n0.301259 -0.264083 0.916244 \n0.358229 -0.131655 0.924305 \n-0.358229 -0.131655 0.924305 \n-0.301259 -0.264083 0.916244 \n-0.220117 -0.132792 0.966393 \n-0.0811418 -0.62024 0.780204 \n0 -0.711282 0.702907 \n0.0811418 -0.62024 0.780204 \n-0.220117 0.132792 0.966393 \n-0.301259 0.264083 0.916244 \n-0.358229 0.131655 0.924305 \n0.358229 0.131655 0.924305 \n0.301259 0.264083 0.916244 \n0.220117 0.132792 0.966393 \n0.0811418 0.62024 0.780204 \n0 0.711282 0.702907 \n-0.0811418 0.62024 0.780204 \n0.220117 0.132792 -0.966393 \n0.301259 0.264083 -0.916244 \n0.358229 0.131655 -0.924305 \n-0.358229 0.131655 -0.924305 \n-0.301259 0.264083 -0.916244 \n-0.220117 0.132792 -0.966393 \n-0.0811418 0.62024 -0.780204 \n0 0.711282 -0.702907 \n0.0811418 0.62024 -0.780204 \n-0.220117 -0.132792 -0.966393 \n-0.301259 -0.264083 -0.916244 \n-0.358229 -0.131655 -0.924305 \n0.358229 -0.131655 -0.924305 \n0.301259 -0.264083 -0.916244 \n0.220117 -0.132792 -0.966393 \n0.0811418 -0.62024 -0.780204 \n0 -0.711282 -0.702907 \n-0.0811418 -0.62024 -0.780204 \n0.296005 0.70231 0.647412 \n0.346153 0.783452 0.516122 \n0.213023 0.792649 0.571252 \n0.571252 0.213023 0.792649 \n0.647412 0.296005 0.70231 \n0.516122 0.346153 0.783452 \n0.783452 0.516122 0.346153 \n0.792649 0.571252 0.213023 \n0.70231 0.647412 0.296005 \n-0.346153 0.783452 0.516122 \n-0.296005 0.70231 0.647412 \n-0.213023 0.792649 0.571252 \n-0.792649 0.571252 0.213023 \n-0.783452 0.516122 0.346153 \n-0.70231 0.647412 0.296005 \n-0.647412 0.296005 0.70231 \n-0.571252 0.213023 0.792649 \n-0.516122 0.346153 0.783452 \n0.346153 0.783452 -0.516122 \n0.296005 0.70231 -0.647412 \n0.213023 0.792649 -0.571252 \n0.792649 0.571252 -0.213023 \n0.783452 0.516122 -0.346153 \n0.70231 0.647412 -0.296005 \n0.647412 0.296005 -0.70231 \n0.571252 0.213023 -0.792649 \n0.516122 0.346153 -0.783452 \n-0.296005 0.70231 -0.647412 \n-0.346153 0.783452 -0.516122 \n-0.213023 0.792649 -0.571252 \n-0.571252 0.213023 -0.792649 \n-0.647412 0.296005 -0.70231 \n-0.516122 0.346153 -0.783452 \n-0.783452 0.516122 -0.346153 \n-0.792649 0.571252 -0.213023 \n-0.70231 0.647412 -0.296005 \n0.346153 -0.783452 0.516122 \n0.296005 -0.70231 0.647412 \n0.213023 -0.792649 0.571252 \n0.792649 -0.571252 0.213023 \n0.783452 -0.516122 0.346153 \n0.70231 -0.647412 0.296005 \n0.647412 -0.296005 0.70231 \n0.571252 -0.213023 0.792649 \n0.516122 -0.346153 0.783452 \n-0.296005 -0.70231 0.647412 \n-0.346153 -0.783452 0.516122 \n-0.213023 -0.792649 0.571252 \n-0.571252 -0.213023 0.792649 \n-0.647412 -0.296005 0.70231 \n-0.516122 -0.346153 0.783452 \n-0.783452 -0.516122 0.346153 \n-0.792649 -0.571252 0.213023 \n-0.70231 -0.647412 0.296005 \n0.296005 -0.70231 -0.647412 \n0.346153 -0.783452 -0.516122 \n0.213023 -0.792649 -0.571252 \n0.571252 -0.213023 -0.792649 \n0.647412 -0.296005 -0.70231 \n0.516122 -0.346153 -0.783452 \n0.783452 -0.516122 -0.346153 \n0.792649 -0.571252 -0.213023 \n0.70231 -0.647412 -0.296005 \n-0.346153 -0.783452 -0.516122 \n-0.296005 -0.70231 -0.647412 \n-0.213023 -0.792649 -0.571252 \n-0.792649 -0.571252 -0.213023 \n-0.783452 -0.516122 -0.346153 \n-0.70231 -0.647412 -0.296005 \n-0.647412 -0.296005 -0.70231 \n-0.571252 -0.213023 -0.792649 \n-0.516122 -0.346153 -0.783452 \n0.133071 0.987688 0.0822425 \n0.133071 0.987688 -0.0822425 \n0.386187 0.891007 0.238677 \n0.519258 0.840178 0.156434 \n0.519258 0.840178 -0.156434 \n0.386187 0.891007 -0.238677 \n-0.133071 0.987688 -0.0822425 \n-0.133071 0.987688 0.0822425 \n-0.386187 0.891007 -0.238677 \n-0.519258 0.840178 -0.156434 \n-0.519258 0.840178 0.156434 \n-0.386187 0.891007 0.238677 \n0.133071 -0.987688 -0.0822425 \n0.133071 -0.987688 0.0822425 \n0.386187 -0.891007 -0.238677 \n0.519258 -0.840178 -0.156434 \n0.519258 -0.840178 0.156434 \n0.386187 -0.891007 0.238677 \n-0.133071 -0.987688 0.0822425 \n-0.133071 -0.987688 -0.0822425 \n-0.386187 -0.891007 0.238677 \n-0.519258 -0.840178 0.156434 \n-0.519258 -0.840178 -0.156434 \n-0.386187 -0.891007 -0.238677 \n0.987688 -0.0822425 -0.133071 \n0.987688 0.0822425 -0.133071 \n0.891007 -0.238677 -0.386187 \n0.840178 -0.156434 -0.519258 \n0.840178 0.156434 -0.519258 \n0.891007 0.238677 -0.386187 \n0.987688 0.0822425 0.133071 \n0.987688 -0.0822425 0.133071 \n0.891007 0.238677 0.386187 \n0.840178 0.156434 0.519258 \n0.840178 -0.156434 0.519258 \n0.891007 -0.238677 0.386187 \n-0.987688 -0.0822425 0.133071 \n-0.987688 0.0822425 0.133071 \n-0.891007 -0.238677 0.386187 \n-0.840178 -0.156434 0.519258 \n-0.840178 0.156434 0.519258 \n-0.891007 0.238677 0.386187 \n-0.987688 0.0822425 -0.133071 \n-0.987688 -0.0822425 -0.133071 \n-0.891007 0.238677 -0.386187 \n-0.840178 0.156434 -0.519258 \n-0.840178 -0.156434 -0.519258 \n-0.891007 -0.238677 -0.386187 \n-0.0822425 -0.133071 0.987688 \n0.0822425 -0.133071 0.987688 \n-0.238677 -0.386187 0.891007 \n-0.156434 -0.519258 0.840178 \n0.156434 -0.519258 0.840178 \n0.238677 -0.386187 0.891007 \n0.0822425 0.133071 0.987688 \n-0.0822425 0.133071 0.987688 \n0.238677 0.386187 0.891007 \n0.156434 0.519258 0.840178 \n-0.156434 0.519258 0.840178 \n-0.238677 0.386187 0.891007 \n-0.0822425 0.133071 -0.987688 \n0.0822425 0.133071 -0.987688 \n-0.238677 0.386187 -0.891007 \n-0.156434 0.519258 -0.840178 \n0.156434 0.519258 -0.840178 \n0.238677 0.386187 -0.891007 \n0.0822425 -0.133071 -0.987688 \n-0.0822425 -0.133071 -0.987688 \n0.238677 -0.386187 -0.891007 \n0.156434 -0.519258 -0.840178 \n-0.156434 -0.519258 -0.840178 \n-0.238677 -0.386187 -0.891007 \n0.453991 0.46843 0.757935 \n0.371748 0.601501 0.707107 \n0.707107 0.371748 0.601501 \n0.757935 0.453991 0.46843 \n0.601501 0.707107 0.371748 \n0.46843 0.757935 0.453991 \n-0.601501 0.707107 0.371748 \n-0.46843 0.757935 0.453991 \n-0.757935 0.453991 0.46843 \n-0.707107 0.371748 0.601501 \n-0.453991 0.46843 0.757935 \n-0.371748 0.601501 0.707107 \n0.601501 0.707107 -0.371748 \n0.46843 0.757935 -0.453991 \n0.757935 0.453991 -0.46843 \n0.707107 0.371748 -0.601501 \n0.453991 0.46843 -0.757935 \n0.371748 0.601501 -0.707107 \n-0.453991 0.46843 -0.757935 \n-0.371748 0.601501 -0.707107 \n-0.707107 0.371748 -0.601501 \n-0.757935 0.453991 -0.46843 \n-0.601501 0.707107 -0.371748 \n-0.46843 0.757935 -0.453991 \n0.601501 -0.707107 0.371748 \n0.46843 -0.757935 0.453991 \n0.757935 -0.453991 0.46843 \n0.707107 -0.371748 0.601501 \n0.453991 -0.46843 0.757935 \n0.371748 -0.601501 0.707107 \n-0.453991 -0.46843 0.757935 \n-0.371748 -0.601501 0.707107 \n-0.707107 -0.371748 0.601501 \n-0.757935 -0.453991 0.46843 \n-0.601501 -0.707107 0.371748 \n-0.46843 -0.757935 0.453991 \n0.453991 -0.46843 -0.757935 \n0.371748 -0.601501 -0.707107 \n0.707107 -0.371748 -0.601501 \n0.757935 -0.453991 -0.46843 \n0.601501 -0.707107 -0.371748 \n0.46843 -0.757935 -0.453991 \n-0.601501 -0.707107 -0.371748 \n-0.46843 -0.757935 -0.453991 \n-0.757935 -0.453991 -0.46843 \n-0.707107 -0.371748 -0.601501 \n-0.453991 -0.46843 -0.757935 \n-0.371748 -0.601501 -0.707107 \n0 0.915043 -0.403355 \n0.1312 0.864929 -0.484442 \n0 0.990439 -0.137952 \n0.383614 0.843911 -0.375039 \n0 0.990439 0.137952 \n0 0.915043 0.403355 \n0.1312 0.864929 0.484442 \n0.383614 0.843911 0.375039 \n0.606825 0.758652 -0.237086 \n0.606825 0.758652 0.237086 \n0.783843 0.615642 0.0810863 \n0.783843 0.615642 -0.0810863 \n-0.1312 0.864929 0.484442 \n-0.383614 0.843911 0.375039 \n-0.1312 0.864929 -0.484442 \n-0.383614 0.843911 -0.375039 \n-0.606825 0.758652 0.237086 \n-0.606825 0.758652 -0.237086 \n-0.783843 0.615642 -0.0810863 \n-0.783843 0.615642 0.0810863 \n0 -0.915043 0.403355 \n0.1312 -0.864929 0.484442 \n0 -0.990439 0.137952 \n0.383614 -0.843911 0.375039 \n0 -0.990439 -0.137952 \n0 -0.915043 -0.403355 \n0.1312 -0.864929 -0.484442 \n0.383614 -0.843911 -0.375039 \n0.606825 -0.758652 0.237086 \n0.606825 -0.758652 -0.237086 \n0.783843 -0.615642 -0.0810863 \n0.783843 -0.615642 0.0810863 \n-0.1312 -0.864929 -0.484442 \n-0.383614 -0.843911 -0.375039 \n-0.1312 -0.864929 0.484442 \n-0.383614 -0.843911 0.375039 \n-0.606825 -0.758652 -0.237086 \n-0.606825 -0.758652 0.237086 \n-0.783843 -0.615642 0.0810863 \n-0.783843 -0.615642 -0.0810863 \n0.915043 0.403355 0 \n0.864929 0.484442 -0.1312 \n0.990439 0.137952 0 \n0.843911 0.375039 -0.383614 \n0.990439 -0.137952 0 \n0.915043 -0.403355 0 \n0.864929 -0.484442 -0.1312 \n0.843911 -0.375039 -0.383614 \n0.758652 0.237086 -0.606825 \n0.758652 -0.237086 -0.606825 \n0.615642 -0.0810863 -0.783843 \n0.615642 0.0810863 -0.783843 \n0.864929 -0.484442 0.1312 \n0.843911 -0.375039 0.383614 \n0.864929 0.484442 0.1312 \n0.843911 0.375039 0.383614 \n0.758652 -0.237086 0.606825 \n0.758652 0.237086 0.606825 \n0.615642 0.0810863 0.783843 \n0.615642 -0.0810863 0.783843 \n-0.915043 0.403355 0 \n-0.864929 0.484442 0.1312 \n-0.990439 0.137952 0 \n-0.843911 0.375039 0.383614 \n-0.990439 -0.137952 0 \n-0.915043 -0.403355 0 \n-0.864929 -0.484442 0.1312 \n-0.843911 -0.375039 0.383614 \n-0.758652 0.237086 0.606825 \n-0.758652 -0.237086 0.606825 \n-0.615642 -0.0810863 0.783843 \n-0.615642 0.0810863 0.783843 \n-0.864929 -0.484442 -0.1312 \n-0.843911 -0.375039 -0.383614 \n-0.864929 0.484442 -0.1312 \n-0.843911 0.375039 -0.383614 \n-0.758652 -0.237086 -0.606825 \n-0.758652 0.237086 -0.606825 \n-0.615642 0.0810863 -0.783843 \n-0.615642 -0.0810863 -0.783843 \n0.403355 0 0.915043 \n0.484442 -0.1312 0.864929 \n0.137952 0 0.990439 \n0.375039 -0.383614 0.843911 \n-0.137952 0 0.990439 \n-0.403355 0 0.915043 \n-0.484442 -0.1312 0.864929 \n-0.375039 -0.383614 0.843911 \n0.237086 -0.606825 0.758652 \n-0.237086 -0.606825 0.758652 \n-0.0810863 -0.783843 0.615642 \n0.0810863 -0.783843 0.615642 \n-0.484442 0.1312 0.864929 \n-0.375039 0.383614 0.843911 \n0.484442 0.1312 0.864929 \n0.375039 0.383614 0.843911 \n-0.237086 0.606825 0.758652 \n0.237086 0.606825 0.758652 \n0.0810863 0.783843 0.615642 \n-0.0810863 0.783843 0.615642 \n0.403355 0 -0.915043 \n0.484442 0.1312 -0.864929 \n0.137952 0 -0.990439 \n0.375039 0.383614 -0.843911 \n-0.137952 0 -0.990439 \n-0.403355 0 -0.915043 \n-0.484442 0.1312 -0.864929 \n-0.375039 0.383614 -0.843911 \n0.237086 0.606825 -0.758652 \n-0.237086 0.606825 -0.758652 \n-0.0810863 0.783843 -0.615642 \n0.0810863 0.783843 -0.615642 \n-0.484442 -0.1312 -0.864929 \n-0.375039 -0.383614 -0.843911 \n0.484442 -0.1312 -0.864929 \n0.375039 -0.383614 -0.843911 \n-0.237086 -0.606825 -0.758652 \n0.237086 -0.606825 -0.758652 \n0.0810863 -0.783843 -0.615642 \n-0.0810863 -0.783843 -0.615642 \n3 162 163 164 \n3 165 166 167 \n3 168 169 170 \n3 171 172 173 \n3 174 175 176 \n3 177 178 179 \n3 180 181 182 \n3 183 184 185 \n3 186 187 188 \n3 189 190 191 \n3 192 193 194 \n3 195 196 197 \n3 198 199 200 \n3 201 202 203 \n3 204 205 206 \n3 207 208 209 \n3 210 211 212 \n3 213 214 215 \n3 216 217 218 \n3 219 220 221 \n3 222 223 224 \n3 225 226 227 \n3 228 229 230 \n3 231 232 233 \n3 234 235 236 \n3 237 238 239 \n3 240 241 242 \n3 243 244 245 \n3 246 247 248 \n3 249 250 251 \n3 252 253 254 \n3 255 256 257 \n3 258 259 260 \n3 261 262 263 \n3 264 265 266 \n3 267 268 269 \n3 270 271 272 \n3 273 274 275 \n3 276 277 278 \n3 279 280 281 \n3 282 283 284 \n3 285 286 287 \n3 288 289 290 \n3 291 292 293 \n3 294 295 296 \n3 297 298 299 \n3 300 301 302 \n3 303 304 305 \n3 306 307 308 \n3 309 310 311 \n3 312 313 314 \n3 315 316 317 \n3 318 319 320 \n3 321 322 323 \n3 324 325 326 \n3 327 328 329 \n3 330 331 332 \n3 333 334 335 \n3 336 337 338 \n3 339 340 341 \n3 342 343 344 \n3 345 346 347 \n3 348 349 350 \n3 351 352 353 \n3 354 355 356 \n3 357 358 359 \n3 360 361 362 \n3 363 364 365 \n3 366 367 368 \n3 369 370 371 \n3 372 373 374 \n3 375 376 377 \n3 378 379 380 \n3 381 382 383 \n3 384 385 386 \n3 387 388 389 \n3 390 391 392 \n3 393 394 395 \n3 396 397 398 \n3 399 400 401 \n3 402 164 403 \n3 404 405 162 \n3 163 406 407 \n3 408 167 409 \n3 410 411 165 \n3 166 412 413 \n3 414 170 415 \n3 416 417 168 \n3 169 418 419 \n3 420 173 421 \n3 422 423 171 \n3 172 424 425 \n3 426 176 427 \n3 428 429 174 \n3 175 430 431 \n3 432 179 433 \n3 434 435 177 \n3 178 436 437 \n3 438 182 439 \n3 440 441 180 \n3 181 442 443 \n3 444 185 445 \n3 446 447 183 \n3 184 448 449 \n3 450 188 451 \n3 452 453 186 \n3 187 454 455 \n3 456 191 457 \n3 458 459 189 \n3 190 460 461 \n3 462 194 463 \n3 464 465 192 \n3 193 466 467 \n3 468 197 469 \n3 470 471 195 \n3 196 472 473 \n3 474 200 475 \n3 476 477 198 \n3 199 478 479 \n3 480 203 481 \n3 482 483 201 \n3 202 484 485 \n3 486 206 487 \n3 488 489 204 \n3 205 490 491 \n3 492 209 493 \n3 494 495 207 \n3 208 496 497 \n3 498 212 499 \n3 500 501 210 \n3 211 502 503 \n3 504 215 505 \n3 506 507 213 \n3 214 508 509 \n3 510 218 511 \n3 512 513 216 \n3 217 514 515 \n3 516 221 517 \n3 518 519 219 \n3 220 520 521 \n3 522 224 523 \n3 524 403 222 \n3 223 407 525 \n3 526 227 402 \n3 527 528 225 \n3 226 529 404 \n3 406 230 530 \n3 405 531 228 \n3 229 532 533 \n3 527 233 534 \n3 526 409 231 \n3 232 413 535 \n3 524 236 408 \n3 522 536 234 \n3 235 537 410 \n3 412 239 538 \n3 411 539 237 \n3 238 540 541 \n3 542 242 543 \n3 544 415 240 \n3 241 419 545 \n3 546 245 414 \n3 547 548 243 \n3 244 549 416 \n3 418 248 550 \n3 417 551 246 \n3 247 552 553 \n3 547 251 554 \n3 546 421 249 \n3 250 425 555 \n3 544 254 420 \n3 542 556 252 \n3 253 557 422 \n3 424 257 558 \n3 423 559 255 \n3 256 560 561 \n3 562 260 563 \n3 564 427 258 \n3 259 431 565 \n3 566 263 426 \n3 567 568 261 \n3 262 569 428 \n3 430 266 570 \n3 429 571 264 \n3 265 572 573 \n3 567 269 574 \n3 566 433 267 \n3 268 437 575 \n3 564 272 432 \n3 562 576 270 \n3 271 577 434 \n3 436 275 578 \n3 435 579 273 \n3 274 580 581 \n3 582 278 583 \n3 584 439 276 \n3 277 443 585 \n3 586 281 438 \n3 587 588 279 \n3 280 589 440 \n3 442 284 590 \n3 441 591 282 \n3 283 592 593 \n3 587 287 594 \n3 586 445 285 \n3 286 449 595 \n3 584 290 444 \n3 582 596 288 \n3 289 597 446 \n3 448 293 598 \n3 447 599 291 \n3 292 600 601 \n3 602 296 603 \n3 604 451 294 \n3 295 455 605 \n3 606 299 450 \n3 607 608 297 \n3 298 609 452 \n3 454 302 610 \n3 453 611 300 \n3 301 612 613 \n3 607 305 614 \n3 606 457 303 \n3 304 461 615 \n3 604 308 456 \n3 602 616 306 \n3 307 617 458 \n3 460 311 618 \n3 459 619 309 \n3 310 620 621 \n3 622 314 623 \n3 624 463 312 \n3 313 467 625 \n3 626 317 462 \n3 627 628 315 \n3 316 629 464 \n3 466 320 630 \n3 465 631 318 \n3 319 632 633 \n3 627 323 634 \n3 626 469 321 \n3 322 473 635 \n3 624 326 468 \n3 622 636 324 \n3 325 637 470 \n3 472 329 638 \n3 471 639 327 \n3 328 640 641 \n3 620 332 528 \n3 619 475 330 \n3 331 479 529 \n3 617 335 474 \n3 616 580 333 \n3 334 579 476 \n3 478 338 531 \n3 477 577 336 \n3 337 576 532 \n3 534 341 621 \n3 535 481 339 \n3 340 485 618 \n3 538 344 480 \n3 541 583 342 \n3 343 585 482 \n3 484 347 615 \n3 483 590 345 \n3 346 593 614 \n3 523 350 633 \n3 525 487 348 \n3 349 491 630 \n3 530 353 486 \n3 533 563 351 \n3 352 565 488 \n3 490 356 625 \n3 489 570 354 \n3 355 573 623 \n3 632 359 536 \n3 631 493 357 \n3 358 497 537 \n3 629 362 492 \n3 628 600 360 \n3 361 599 494 \n3 496 365 539 \n3 495 597 363 \n3 364 596 540 \n3 543 368 613 \n3 545 499 366 \n3 367 503 610 \n3 550 371 498 \n3 553 574 369 \n3 370 575 500 \n3 502 374 605 \n3 501 578 372 \n3 373 581 603 \n3 612 377 556 \n3 611 505 375 \n3 376 509 557 \n3 609 380 504 \n3 608 592 378 \n3 379 591 506 \n3 508 383 559 \n3 507 589 381 \n3 382 588 560 \n3 640 386 548 \n3 639 511 384 \n3 385 515 549 \n3 637 389 510 \n3 636 572 387 \n3 388 571 512 \n3 514 392 551 \n3 513 569 390 \n3 391 568 552 \n3 554 395 641 \n3 555 517 393 \n3 394 521 638 \n3 558 398 516 \n3 561 594 396 \n3 397 595 518 \n3 520 401 635 \n3 519 598 399 \n3 400 601 634 \n3 42 162 164 \n3 162 43 163 \n3 164 163 44 \n3 45 165 167 \n3 165 46 166 \n3 167 166 47 \n3 48 168 170 \n3 168 49 169 \n3 170 169 50 \n3 51 171 173 \n3 171 52 172 \n3 173 172 53 \n3 54 174 176 \n3 174 55 175 \n3 176 175 56 \n3 57 177 179 \n3 177 58 178 \n3 179 178 59 \n3 60 180 182 \n3 180 61 181 \n3 182 181 62 \n3 63 183 185 \n3 183 64 184 \n3 185 184 65 \n3 66 186 188 \n3 186 67 187 \n3 188 187 68 \n3 69 189 191 \n3 189 70 190 \n3 191 190 71 \n3 72 192 194 \n3 192 73 193 \n3 194 193 74 \n3 75 195 197 \n3 195 76 196 \n3 197 196 77 \n3 78 198 200 \n3 198 79 199 \n3 200 199 80 \n3 81 201 203 \n3 201 82 202 \n3 203 202 83 \n3 84 204 206 \n3 204 85 205 \n3 206 205 86 \n3 87 207 209 \n3 207 88 208 \n3 209 208 89 \n3 90 210 212 \n3 210 91 211 \n3 212 211 92 \n3 93 213 215 \n3 213 94 214 \n3 215 214 95 \n3 96 216 218 \n3 216 97 217 \n3 218 217 98 \n3 99 219 221 \n3 219 100 220 \n3 221 220 101 \n3 102 222 224 \n3 222 44 223 \n3 224 223 103 \n3 104 225 227 \n3 225 105 226 \n3 227 226 42 \n3 43 228 230 \n3 228 106 229 \n3 230 229 107 \n3 104 231 233 \n3 231 47 232 \n3 233 232 108 \n3 102 234 236 \n3 234 109 235 \n3 236 235 45 \n3 46 237 239 \n3 237 110 238 \n3 239 238 111 \n3 112 240 242 \n3 240 50 241 \n3 242 241 113 \n3 114 243 245 \n3 243 115 244 \n3 245 244 48 \n3 49 246 248 \n3 246 116 247 \n3 248 247 117 \n3 114 249 251 \n3 249 53 250 \n3 251 250 118 \n3 112 252 254 \n3 252 119 253 \n3 254 253 51 \n3 52 255 257 \n3 255 120 256 \n3 257 256 121 \n3 122 258 260 \n3 258 56 259 \n3 260 259 123 \n3 124 261 263 \n3 261 125 262 \n3 263 262 54 \n3 55 264 266 \n3 264 126 265 \n3 266 265 127 \n3 124 267 269 \n3 267 59 268 \n3 269 268 128 \n3 122 270 272 \n3 270 129 271 \n3 272 271 57 \n3 58 273 275 \n3 273 130 274 \n3 275 274 131 \n3 132 276 278 \n3 276 62 277 \n3 278 277 133 \n3 134 279 281 \n3 279 135 280 \n3 281 280 60 \n3 61 282 284 \n3 282 136 283 \n3 284 283 137 \n3 134 285 287 \n3 285 65 286 \n3 287 286 138 \n3 132 288 290 \n3 288 139 289 \n3 290 289 63 \n3 64 291 293 \n3 291 140 292 \n3 293 292 141 \n3 142 294 296 \n3 294 68 295 \n3 296 295 143 \n3 144 297 299 \n3 297 145 298 \n3 299 298 66 \n3 67 300 302 \n3 300 146 301 \n3 302 301 147 \n3 144 303 305 \n3 303 71 304 \n3 305 304 148 \n3 142 306 308 \n3 306 149 307 \n3 308 307 69 \n3 70 309 311 \n3 309 150 310 \n3 311 310 151 \n3 152 312 314 \n3 312 74 313 \n3 314 313 153 \n3 154 315 317 \n3 315 155 316 \n3 317 316 72 \n3 73 318 320 \n3 318 156 319 \n3 320 319 157 \n3 154 321 323 \n3 321 77 322 \n3 323 322 158 \n3 152 324 326 \n3 324 159 325 \n3 326 325 75 \n3 76 327 329 \n3 327 160 328 \n3 329 328 161 \n3 150 330 332 \n3 330 80 331 \n3 332 331 105 \n3 149 333 335 \n3 333 130 334 \n3 335 334 78 \n3 79 336 338 \n3 336 129 337 \n3 338 337 106 \n3 108 339 341 \n3 339 83 340 \n3 341 340 151 \n3 111 342 344 \n3 342 133 343 \n3 344 343 81 \n3 82 345 347 \n3 345 137 346 \n3 347 346 148 \n3 103 348 350 \n3 348 86 349 \n3 350 349 157 \n3 107 351 353 \n3 351 123 352 \n3 353 352 84 \n3 85 354 356 \n3 354 127 355 \n3 356 355 153 \n3 156 357 359 \n3 357 89 358 \n3 359 358 109 \n3 155 360 362 \n3 360 140 361 \n3 362 361 87 \n3 88 363 365 \n3 363 139 364 \n3 365 364 110 \n3 113 366 368 \n3 366 92 367 \n3 368 367 147 \n3 117 369 371 \n3 369 128 370 \n3 371 370 90 \n3 91 372 374 \n3 372 131 373 \n3 374 373 143 \n3 146 375 377 \n3 375 95 376 \n3 377 376 119 \n3 145 378 380 \n3 378 136 379 \n3 380 379 93 \n3 94 381 383 \n3 381 135 382 \n3 383 382 120 \n3 160 384 386 \n3 384 98 385 \n3 386 385 115 \n3 159 387 389 \n3 387 126 388 \n3 389 388 96 \n3 97 390 392 \n3 390 125 391 \n3 392 391 116 \n3 118 393 395 \n3 393 101 394 \n3 395 394 161 \n3 121 396 398 \n3 396 138 397 \n3 398 397 99 \n3 100 399 401 \n3 399 141 400 \n3 401 400 158 \n3 12 402 403 \n3 402 42 164 \n3 403 164 44 \n3 42 404 162 \n3 404 13 405 \n3 162 405 43 \n3 44 163 407 \n3 163 43 406 \n3 407 406 14 \n3 12 408 409 \n3 408 45 167 \n3 409 167 47 \n3 45 410 165 \n3 410 15 411 \n3 165 411 46 \n3 47 166 413 \n3 166 46 412 \n3 413 412 16 \n3 17 414 415 \n3 414 48 170 \n3 415 170 50 \n3 48 416 168 \n3 416 18 417 \n3 168 417 49 \n3 50 169 419 \n3 169 49 418 \n3 419 418 19 \n3 17 420 421 \n3 420 51 173 \n3 421 173 53 \n3 51 422 171 \n3 422 20 423 \n3 171 423 52 \n3 53 172 425 \n3 172 52 424 \n3 425 424 21 \n3 22 426 427 \n3 426 54 176 \n3 427 176 56 \n3 54 428 174 \n3 428 23 429 \n3 174 429 55 \n3 56 175 431 \n3 175 55 430 \n3 431 430 24 \n3 22 432 433 \n3 432 57 179 \n3 433 179 59 \n3 57 434 177 \n3 434 25 435 \n3 177 435 58 \n3 59 178 437 \n3 178 58 436 \n3 437 436 26 \n3 27 438 439 \n3 438 60 182 \n3 439 182 62 \n3 60 440 180 \n3 440 28 441 \n3 180 441 61 \n3 62 181 443 \n3 181 61 442 \n3 443 442 29 \n3 27 444 445 \n3 444 63 185 \n3 445 185 65 \n3 63 446 183 \n3 446 30 447 \n3 183 447 64 \n3 65 184 449 \n3 184 64 448 \n3 449 448 31 \n3 32 450 451 \n3 450 66 188 \n3 451 188 68 \n3 66 452 186 \n3 452 33 453 \n3 186 453 67 \n3 68 187 455 \n3 187 67 454 \n3 455 454 34 \n3 32 456 457 \n3 456 69 191 \n3 457 191 71 \n3 69 458 189 \n3 458 35 459 \n3 189 459 70 \n3 71 190 461 \n3 190 70 460 \n3 461 460 36 \n3 37 462 463 \n3 462 72 194 \n3 463 194 74 \n3 72 464 192 \n3 464 38 465 \n3 192 465 73 \n3 74 193 467 \n3 193 73 466 \n3 467 466 39 \n3 37 468 469 \n3 468 75 197 \n3 469 197 77 \n3 75 470 195 \n3 470 40 471 \n3 195 471 76 \n3 77 196 473 \n3 196 76 472 \n3 473 472 41 \n3 35 474 475 \n3 474 78 200 \n3 475 200 80 \n3 78 476 198 \n3 476 25 477 \n3 198 477 79 \n3 80 199 479 \n3 199 79 478 \n3 479 478 13 \n3 16 480 481 \n3 480 81 203 \n3 481 203 83 \n3 81 482 201 \n3 482 29 483 \n3 201 483 82 \n3 83 202 485 \n3 202 82 484 \n3 485 484 36 \n3 14 486 487 \n3 486 84 206 \n3 487 206 86 \n3 84 488 204 \n3 488 24 489 \n3 204 489 85 \n3 86 205 491 \n3 205 85 490 \n3 491 490 39 \n3 38 492 493 \n3 492 87 209 \n3 493 209 89 \n3 87 494 207 \n3 494 30 495 \n3 207 495 88 \n3 89 208 497 \n3 208 88 496 \n3 497 496 15 \n3 19 498 499 \n3 498 90 212 \n3 499 212 92 \n3 90 500 210 \n3 500 26 501 \n3 210 501 91 \n3 92 211 503 \n3 211 91 502 \n3 503 502 34 \n3 33 504 505 \n3 504 93 215 \n3 505 215 95 \n3 93 506 213 \n3 506 28 507 \n3 213 507 94 \n3 95 214 509 \n3 214 94 508 \n3 509 508 20 \n3 40 510 511 \n3 510 96 218 \n3 511 218 98 \n3 96 512 216 \n3 512 23 513 \n3 216 513 97 \n3 98 217 515 \n3 217 97 514 \n3 515 514 18 \n3 21 516 517 \n3 516 99 221 \n3 517 221 101 \n3 99 518 219 \n3 518 31 519 \n3 219 519 100 \n3 101 220 521 \n3 220 100 520 \n3 521 520 41 \n3 1 522 523 \n3 522 102 224 \n3 523 224 103 \n3 102 524 222 \n3 524 12 403 \n3 222 403 44 \n3 103 223 525 \n3 223 44 407 \n3 525 407 14 \n3 12 526 402 \n3 526 104 227 \n3 402 227 42 \n3 104 527 225 \n3 527 0 528 \n3 225 528 105 \n3 42 226 404 \n3 226 105 529 \n3 404 529 13 \n3 14 406 530 \n3 406 43 230 \n3 530 230 107 \n3 43 405 228 \n3 405 13 531 \n3 228 531 106 \n3 107 229 533 \n3 229 106 532 \n3 533 532 4 \n3 0 527 534 \n3 527 104 233 \n3 534 233 108 \n3 104 526 231 \n3 526 12 409 \n3 231 409 47 \n3 108 232 535 \n3 232 47 413 \n3 535 413 16 \n3 12 524 408 \n3 524 102 236 \n3 408 236 45 \n3 102 522 234 \n3 522 1 536 \n3 234 536 109 \n3 45 235 410 \n3 235 109 537 \n3 410 537 15 \n3 16 412 538 \n3 412 46 239 \n3 538 239 111 \n3 46 411 237 \n3 411 15 539 \n3 237 539 110 \n3 111 238 541 \n3 238 110 540 \n3 541 540 6 \n3 2 542 543 \n3 542 112 242 \n3 543 242 113 \n3 112 544 240 \n3 544 17 415 \n3 240 415 50 \n3 113 241 545 \n3 241 50 419 \n3 545 419 19 \n3 17 546 414 \n3 546 114 245 \n3 414 245 48 \n3 114 547 243 \n3 547 3 548 \n3 243 548 115 \n3 48 244 416 \n3 244 115 549 \n3 416 549 18 \n3 19 418 550 \n3 418 49 248 \n3 550 248 117 \n3 49 417 246 \n3 417 18 551 \n3 246 551 116 \n3 117 247 553 \n3 247 116 552 \n3 553 552 5 \n3 3 547 554 \n3 547 114 251 \n3 554 251 118 \n3 114 546 249 \n3 546 17 421 \n3 249 421 53 \n3 118 250 555 \n3 250 53 425 \n3 555 425 21 \n3 17 544 420 \n3 544 112 254 \n3 420 254 51 \n3 112 542 252 \n3 542 2 556 \n3 252 556 119 \n3 51 253 422 \n3 253 119 557 \n3 422 557 20 \n3 21 424 558 \n3 424 52 257 \n3 558 257 121 \n3 52 423 255 \n3 423 20 559 \n3 255 559 120 \n3 121 256 561 \n3 256 120 560 \n3 561 560 7 \n3 4 562 563 \n3 562 122 260 \n3 563 260 123 \n3 122 564 258 \n3 564 22 427 \n3 258 427 56 \n3 123 259 565 \n3 259 56 431 \n3 565 431 24 \n3 22 566 426 \n3 566 124 263 \n3 426 263 54 \n3 124 567 261 \n3 567 5 568 \n3 261 568 125 \n3 54 262 428 \n3 262 125 569 \n3 428 569 23 \n3 24 430 570 \n3 430 55 266 \n3 570 266 127 \n3 55 429 264 \n3 429 23 571 \n3 264 571 126 \n3 127 265 573 \n3 265 126 572 \n3 573 572 10 \n3 5 567 574 \n3 567 124 269 \n3 574 269 128 \n3 124 566 267 \n3 566 22 433 \n3 267 433 59 \n3 128 268 575 \n3 268 59 437 \n3 575 437 26 \n3 22 564 432 \n3 564 122 272 \n3 432 272 57 \n3 122 562 270 \n3 562 4 576 \n3 270 576 129 \n3 57 271 434 \n3 271 129 577 \n3 434 577 25 \n3 26 436 578 \n3 436 58 275 \n3 578 275 131 \n3 58 435 273 \n3 435 25 579 \n3 273 579 130 \n3 131 274 581 \n3 274 130 580 \n3 581 580 8 \n3 6 582 583 \n3 582 132 278 \n3 583 278 133 \n3 132 584 276 \n3 584 27 439 \n3 276 439 62 \n3 133 277 585 \n3 277 62 443 \n3 585 443 29 \n3 27 586 438 \n3 586 134 281 \n3 438 281 60 \n3 134 587 279 \n3 587 7 588 \n3 279 588 135 \n3 60 280 440 \n3 280 135 589 \n3 440 589 28 \n3 29 442 590 \n3 442 61 284 \n3 590 284 137 \n3 61 441 282 \n3 441 28 591 \n3 282 591 136 \n3 137 283 593 \n3 283 136 592 \n3 593 592 9 \n3 7 587 594 \n3 587 134 287 \n3 594 287 138 \n3 134 586 285 \n3 586 27 445 \n3 285 445 65 \n3 138 286 595 \n3 286 65 449 \n3 595 449 31 \n3 27 584 444 \n3 584 132 290 \n3 444 290 63 \n3 132 582 288 \n3 582 6 596 \n3 288 596 139 \n3 63 289 446 \n3 289 139 597 \n3 446 597 30 \n3 31 448 598 \n3 448 64 293 \n3 598 293 141 \n3 64 447 291 \n3 447 30 599 \n3 291 599 140 \n3 141 292 601 \n3 292 140 600 \n3 601 600 11 \n3 8 602 603 \n3 602 142 296 \n3 603 296 143 \n3 142 604 294 \n3 604 32 451 \n3 294 451 68 \n3 143 295 605 \n3 295 68 455 \n3 605 455 34 \n3 32 606 450 \n3 606 144 299 \n3 450 299 66 \n3 144 607 297 \n3 607 9 608 \n3 297 608 145 \n3 66 298 452 \n3 298 145 609 \n3 452 609 33 \n3 34 454 610 \n3 454 67 302 \n3 610 302 147 \n3 67 453 300 \n3 453 33 611 \n3 300 611 146 \n3 147 301 613 \n3 301 146 612 \n3 613 612 2 \n3 9 607 614 \n3 607 144 305 \n3 614 305 148 \n3 144 606 303 \n3 606 32 457 \n3 303 457 71 \n3 148 304 615 \n3 304 71 461 \n3 615 461 36 \n3 32 604 456 \n3 604 142 308 \n3 456 308 69 \n3 142 602 306 \n3 602 8 616 \n3 306 616 149 \n3 69 307 458 \n3 307 149 617 \n3 458 617 35 \n3 36 460 618 \n3 460 70 311 \n3 618 311 151 \n3 70 459 309 \n3 459 35 619 \n3 309 619 150 \n3 151 310 621 \n3 310 150 620 \n3 621 620 0 \n3 10 622 623 \n3 622 152 314 \n3 623 314 153 \n3 152 624 312 \n3 624 37 463 \n3 312 463 74 \n3 153 313 625 \n3 313 74 467 \n3 625 467 39 \n3 37 626 462 \n3 626 154 317 \n3 462 317 72 \n3 154 627 315 \n3 627 11 628 \n3 315 628 155 \n3 72 316 464 \n3 316 155 629 \n3 464 629 38 \n3 39 466 630 \n3 466 73 320 \n3 630 320 157 \n3 73 465 318 \n3 465 38 631 \n3 318 631 156 \n3 157 319 633 \n3 319 156 632 \n3 633 632 1 \n3 11 627 634 \n3 627 154 323 \n3 634 323 158 \n3 154 626 321 \n3 626 37 469 \n3 321 469 77 \n3 158 322 635 \n3 322 77 473 \n3 635 473 41 \n3 37 624 468 \n3 624 152 326 \n3 468 326 75 \n3 152 622 324 \n3 622 10 636 \n3 324 636 159 \n3 75 325 470 \n3 325 159 637 \n3 470 637 40 \n3 41 472 638 \n3 472 76 329 \n3 638 329 161 \n3 76 471 327 \n3 471 40 639 \n3 327 639 160 \n3 161 328 641 \n3 328 160 640 \n3 641 640 3 \n3 0 620 528 \n3 620 150 332 \n3 528 332 105 \n3 150 619 330 \n3 619 35 475 \n3 330 475 80 \n3 105 331 529 \n3 331 80 479 \n3 529 479 13 \n3 35 617 474 \n3 617 149 335 \n3 474 335 78 \n3 149 616 333 \n3 616 8 580 \n3 333 580 130 \n3 78 334 476 \n3 334 130 579 \n3 476 579 25 \n3 13 478 531 \n3 478 79 338 \n3 531 338 106 \n3 79 477 336 \n3 477 25 577 \n3 336 577 129 \n3 106 337 532 \n3 337 129 576 \n3 532 576 4 \n3 0 534 621 \n3 534 108 341 \n3 621 341 151 \n3 108 535 339 \n3 535 16 481 \n3 339 481 83 \n3 151 340 618 \n3 340 83 485 \n3 618 485 36 \n3 16 538 480 \n3 538 111 344 \n3 480 344 81 \n3 111 541 342 \n3 541 6 583 \n3 342 583 133 \n3 81 343 482 \n3 343 133 585 \n3 482 585 29 \n3 36 484 615 \n3 484 82 347 \n3 615 347 148 \n3 82 483 345 \n3 483 29 590 \n3 345 590 137 \n3 148 346 614 \n3 346 137 593 \n3 614 593 9 \n3 1 523 633 \n3 523 103 350 \n3 633 350 157 \n3 103 525 348 \n3 525 14 487 \n3 348 487 86 \n3 157 349 630 \n3 349 86 491 \n3 630 491 39 \n3 14 530 486 \n3 530 107 353 \n3 486 353 84 \n3 107 533 351 \n3 533 4 563 \n3 351 563 123 \n3 84 352 488 \n3 352 123 565 \n3 488 565 24 \n3 39 490 625 \n3 490 85 356 \n3 625 356 153 \n3 85 489 354 \n3 489 24 570 \n3 354 570 127 \n3 153 355 623 \n3 355 127 573 \n3 623 573 10 \n3 1 632 536 \n3 632 156 359 \n3 536 359 109 \n3 156 631 357 \n3 631 38 493 \n3 357 493 89 \n3 109 358 537 \n3 358 89 497 \n3 537 497 15 \n3 38 629 492 \n3 629 155 362 \n3 492 362 87 \n3 155 628 360 \n3 628 11 600 \n3 360 600 140 \n3 87 361 494 \n3 361 140 599 \n3 494 599 30 \n3 15 496 539 \n3 496 88 365 \n3 539 365 110 \n3 88 495 363 \n3 495 30 597 \n3 363 597 139 \n3 110 364 540 \n3 364 139 596 \n3 540 596 6 \n3 2 543 613 \n3 543 113 368 \n3 613 368 147 \n3 113 545 366 \n3 545 19 499 \n3 366 499 92 \n3 147 367 610 \n3 367 92 503 \n3 610 503 34 \n3 19 550 498 \n3 550 117 371 \n3 498 371 90 \n3 117 553 369 \n3 553 5 574 \n3 369 574 128 \n3 90 370 500 \n3 370 128 575 \n3 500 575 26 \n3 34 502 605 \n3 502 91 374 \n3 605 374 143 \n3 91 501 372 \n3 501 26 578 \n3 372 578 131 \n3 143 373 603 \n3 373 131 581 \n3 603 581 8 \n3 2 612 556 \n3 612 146 377 \n3 556 377 119 \n3 146 611 375 \n3 611 33 505 \n3 375 505 95 \n3 119 376 557 \n3 376 95 509 \n3 557 509 20 \n3 33 609 504 \n3 609 145 380 \n3 504 380 93 \n3 145 608 378 \n3 608 9 592 \n3 378 592 136 \n3 93 379 506 \n3 379 136 591 \n3 506 591 28 \n3 20 508 559 \n3 508 94 383 \n3 559 383 120 \n3 94 507 381 \n3 507 28 589 \n3 381 589 135 \n3 120 382 560 \n3 382 135 588 \n3 560 588 7 \n3 3 640 548 \n3 640 160 386 \n3 548 386 115 \n3 160 639 384 \n3 639 40 511 \n3 384 511 98 \n3 115 385 549 \n3 385 98 515 \n3 549 515 18 \n3 40 637 510 \n3 637 159 389 \n3 510 389 96 \n3 159 636 387 \n3 636 10 572 \n3 387 572 126 \n3 96 388 512 \n3 388 126 571 \n3 512 571 23 \n3 18 514 551 \n3 514 97 392 \n3 551 392 116 \n3 97 513 390 \n3 513 23 569 \n3 390 569 125 \n3 116 391 552 \n3 391 125 568 \n3 552 568 5 \n3 3 554 641 \n3 554 118 395 \n3 641 395 161 \n3 118 555 393 \n3 555 21 517 \n3 393 517 101 \n3 161 394 638 \n3 394 101 521 \n3 638 521 41 \n3 21 558 516 \n3 558 121 398 \n3 516 398 99 \n3 121 561 396 \n3 561 7 594 \n3 396 594 138 \n3 99 397 518 \n3 397 138 595 \n3 518 595 31 \n3 41 520 635 \n3 520 100 401 \n3 635 401 158 \n3 100 519 399 \n3 519 31 598 \n3 399 598 141 \n3 158 400 634 \n3 400 141 601 \n3 634 601 11 \n"
  },
  {
    "path": "data/sphere_high.ply",
    "content": "ply\nformat ascii 1.0\ncomment VCGLIB generated\nelement vertex 2562\nproperty float x\nproperty float y\nproperty float z\nproperty float nx\nproperty float ny\nproperty float nz\nelement face 5120\nproperty list uchar int vertex_indices\nend_header\n0 0.850651 0.525731 0 0.850651 0.525731 \n0 0.850651 -0.525731 0 0.850651 -0.525731 \n0 -0.850651 0.525731 0 -0.850651 0.525731 \n0 -0.850651 -0.525731 0 -0.850651 -0.525731 \n0.850651 0.525731 0 0.850651 0.525731 0 \n0.850651 -0.525731 0 0.850651 -0.525731 0 \n-0.850651 0.525731 0 -0.850651 0.525731 0 \n-0.850651 -0.525731 0 -0.850651 -0.525731 0 \n0.525731 0 0.850651 0.525731 0 0.850651 \n-0.525731 0 0.850651 -0.525731 0 0.850651 \n0.525731 0 -0.850651 0.525731 0 -0.850651 \n-0.525731 0 -0.850651 -0.525731 0 -0.850651 \n0 1 0 0 1 0 \n0.5 0.809017 0.309017 0.5 0.809017 0.309017 \n0.5 0.809017 -0.309017 0.5 0.809017 -0.309017 \n-0.5 0.809017 -0.309017 -0.5 0.809017 -0.309017 \n-0.5 0.809017 0.309017 -0.5 0.809017 0.309017 \n0 -1 0 0 -1 0 \n0.5 -0.809017 -0.309017 0.5 -0.809017 -0.309017 \n0.5 -0.809017 0.309017 0.5 -0.809017 0.309017 \n-0.5 -0.809017 0.309017 -0.5 -0.809017 0.309017 \n-0.5 -0.809017 -0.309017 -0.5 -0.809017 -0.309017 \n1 0 0 1 0 0 \n0.809017 -0.309017 -0.5 0.809017 -0.309017 -0.5 \n0.809017 0.309017 -0.5 0.809017 0.309017 -0.5 \n0.809017 0.309017 0.5 0.809017 0.309017 0.5 \n0.809017 -0.309017 0.5 0.809017 -0.309017 0.5 \n-1 0 0 -1 0 0 \n-0.809017 -0.309017 0.5 -0.809017 -0.309017 0.5 \n-0.809017 0.309017 0.5 -0.809017 0.309017 0.5 \n-0.809017 0.309017 -0.5 -0.809017 0.309017 -0.5 \n-0.809017 -0.309017 -0.5 -0.809017 -0.309017 -0.5 \n0 0 1 0 0 1 \n-0.309017 -0.5 0.809017 -0.309017 -0.5 0.809017 \n0.309017 -0.5 0.809017 0.309017 -0.5 0.809017 \n0.309017 0.5 0.809017 0.309017 0.5 0.809017 \n-0.309017 0.5 0.809017 -0.309017 0.5 0.809017 \n0 0 -1 0 0 -1 \n-0.309017 0.5 -0.809017 -0.309017 0.5 -0.809017 \n0.309017 0.5 -0.809017 0.309017 0.5 -0.809017 \n0.309017 -0.5 -0.809017 0.309017 -0.5 -0.809017 \n-0.309017 -0.5 -0.809017 -0.309017 -0.5 -0.809017 \n0.262866 0.951057 0.16246 0.265966 0.95104 0.157432 \n0.525731 0.850651 0 0.520697 0.853742 0 \n0.262866 0.951057 -0.16246 0.265966 0.95104 -0.157432 \n-0.262866 0.951057 -0.16246 -0.265966 0.95104 -0.157432 \n-0.525731 0.850651 0 -0.520697 0.853742 0 \n-0.262866 0.951057 0.16246 -0.265966 0.95104 0.157432 \n0.262866 -0.951057 -0.16246 0.265966 -0.95104 -0.157432 \n0.525731 -0.850651 0 0.520697 -0.853742 0 \n0.262866 -0.951057 0.16246 0.265966 -0.95104 0.157432 \n-0.262866 -0.951057 0.16246 -0.265966 -0.95104 0.157432 \n-0.525731 -0.850651 0 -0.520697 -0.853742 0 \n-0.262866 -0.951057 -0.16246 -0.265966 -0.95104 -0.157432 \n0.951057 -0.16246 -0.262866 0.95104 -0.157432 -0.265966 \n0.850651 0 -0.525731 0.853742 0 -0.520697 \n0.951057 0.16246 -0.262866 0.95104 0.157432 -0.265966 \n0.951057 0.16246 0.262866 0.95104 0.157432 0.265966 \n0.850651 0 0.525731 0.853742 0 0.520697 \n0.951057 -0.16246 0.262866 0.95104 -0.157432 0.265966 \n-0.951057 -0.16246 0.262866 -0.95104 -0.157432 0.265966 \n-0.850651 0 0.525731 -0.853742 0 0.520697 \n-0.951057 0.16246 0.262866 -0.95104 0.157432 0.265966 \n-0.951057 0.16246 -0.262866 -0.95104 0.157432 -0.265966 \n-0.850651 0 -0.525731 -0.853742 0 -0.520697 \n-0.951057 -0.16246 -0.262866 -0.95104 -0.157432 -0.265966 \n-0.16246 -0.262866 0.951057 -0.157432 -0.265967 0.95104 \n0 -0.525731 0.850651 0 -0.520697 0.853741 \n0.16246 -0.262866 0.951057 0.157432 -0.265967 0.95104 \n0.16246 0.262866 0.951057 0.157432 0.265967 0.95104 \n0 0.525731 0.850651 0 0.520697 0.853741 \n-0.16246 0.262866 0.951057 -0.157432 0.265967 0.95104 \n-0.16246 0.262866 -0.951057 -0.157432 0.265967 -0.95104 \n0 0.525731 -0.850651 0 0.520697 -0.853741 \n0.16246 0.262866 -0.951057 0.157432 0.265967 -0.95104 \n0.16246 -0.262866 -0.951057 0.157432 -0.265967 -0.95104 \n0 -0.525731 -0.850651 0 -0.520697 -0.853741 \n-0.16246 -0.262866 -0.951057 -0.157432 -0.265967 -0.95104 \n0.587785 0.425325 0.688191 0.587775 0.430342 0.685074 \n0.688191 0.587785 0.425325 0.685073 0.587775 0.430343 \n0.425325 0.688191 0.587785 0.430343 0.685074 0.587775 \n-0.688191 0.587785 0.425325 -0.685073 0.587775 0.430343 \n-0.587785 0.425325 0.688191 -0.587775 0.430342 0.685073 \n-0.425325 0.688191 0.587785 -0.430343 0.685074 0.587775 \n0.688191 0.587785 -0.425325 0.685073 0.587775 -0.430343 \n0.587785 0.425325 -0.688191 0.587775 0.430342 -0.685073 \n0.425325 0.688191 -0.587785 0.430343 0.685074 -0.587775 \n-0.587785 0.425325 -0.688191 -0.587775 0.430342 -0.685074 \n-0.688191 0.587785 -0.425325 -0.685073 0.587775 -0.430343 \n-0.425325 0.688191 -0.587785 -0.430343 0.685074 -0.587775 \n0.688191 -0.587785 0.425325 0.685073 -0.587775 0.430343 \n0.587785 -0.425325 0.688191 0.587775 -0.430342 0.685073 \n0.425325 -0.688191 0.587785 0.430343 -0.685074 0.587775 \n-0.587785 -0.425325 0.688191 -0.587775 -0.430342 0.685074 \n-0.688191 -0.587785 0.425325 -0.685073 -0.587775 0.430343 \n-0.425325 -0.688191 0.587785 -0.430343 -0.685074 0.587775 \n0.587785 -0.425325 -0.688191 0.587775 -0.430342 -0.685074 \n0.688191 -0.587785 -0.425325 0.685073 -0.587775 -0.430343 \n0.425325 -0.688191 -0.587785 0.430343 -0.685074 -0.587775 \n-0.688191 -0.587785 -0.425325 -0.685073 -0.587775 -0.430343 \n-0.587785 -0.425325 -0.688191 -0.587775 -0.430342 -0.685073 \n-0.425325 -0.688191 -0.587785 -0.430343 -0.685074 -0.587775 \n0 0.961938 -0.273267 1.04134e-009 0.961036 -0.276424 \n0.259892 0.862668 -0.433889 0.256886 0.862914 -0.435189 \n0 0.961938 0.273267 -1.04134e-009 0.961036 0.276424 \n0.259892 0.862668 0.433889 0.256886 0.862914 0.435189 \n0.702046 0.69378 0.160622 0.70415 0.692074 0.158764 \n0.702046 0.69378 -0.160622 0.70415 0.692074 -0.158764 \n-0.259892 0.862668 0.433889 -0.256886 0.862914 0.435189 \n-0.259892 0.862668 -0.433889 -0.256886 0.862914 -0.435189 \n-0.702046 0.69378 -0.160622 -0.70415 0.692074 -0.158764 \n-0.702046 0.69378 0.160622 -0.70415 0.692074 0.158764 \n0 -0.961938 0.273267 1.04134e-009 -0.961036 0.276424 \n0.259892 -0.862668 0.433889 0.256886 -0.862914 0.435189 \n0 -0.961938 -0.273267 -1.04134e-009 -0.961036 -0.276424 \n0.259892 -0.862668 -0.433889 0.256886 -0.862914 -0.435189 \n0.702046 -0.69378 -0.160622 0.70415 -0.692074 -0.158764 \n0.702046 -0.69378 0.160622 0.70415 -0.692074 0.158764 \n-0.259892 -0.862668 -0.433889 -0.256886 -0.862914 -0.435189 \n-0.259892 -0.862668 0.433889 -0.256886 -0.862914 0.435189 \n-0.702046 -0.69378 0.160622 -0.70415 -0.692074 0.158764 \n-0.702046 -0.69378 -0.160622 -0.70415 -0.692074 -0.158764 \n0.961938 0.273267 0 0.961036 0.276424 -1.04134e-009 \n0.862668 0.433889 -0.259892 0.862914 0.435189 -0.256886 \n0.961938 -0.273267 0 0.961036 -0.276424 1.04134e-009 \n0.862668 -0.433889 -0.259892 0.862914 -0.435189 -0.256886 \n0.69378 -0.160622 -0.702046 0.692074 -0.158764 -0.70415 \n0.69378 0.160622 -0.702046 0.692074 0.158764 -0.70415 \n0.862668 -0.433889 0.259892 0.862914 -0.435189 0.256886 \n0.862668 0.433889 0.259892 0.862914 0.435189 0.256886 \n0.69378 0.160622 0.702046 0.692074 0.158764 0.70415 \n0.69378 -0.160622 0.702046 0.692074 -0.158764 0.70415 \n-0.961938 0.273267 0 -0.961036 0.276424 1.04134e-009 \n-0.862668 0.433889 0.259892 -0.862914 0.435189 0.256886 \n-0.961938 -0.273267 0 -0.961036 -0.276424 -1.04134e-009 \n-0.862668 -0.433889 0.259892 -0.862914 -0.435189 0.256886 \n-0.69378 -0.160622 0.702046 -0.692074 -0.158764 0.70415 \n-0.69378 0.160622 0.702046 -0.692074 0.158764 0.70415 \n-0.862668 -0.433889 -0.259892 -0.862914 -0.435189 -0.256886 \n-0.862668 0.433889 -0.259892 -0.862914 0.435189 -0.256886 \n-0.69378 0.160622 -0.702046 -0.692074 0.158764 -0.70415 \n-0.69378 -0.160622 -0.702046 -0.692074 -0.158764 -0.70415 \n0.273267 0 0.961938 0.276425 1.04134e-009 0.961036 \n0.433889 -0.259892 0.862668 0.435189 -0.256885 0.862914 \n-0.273267 0 0.961938 -0.276425 -1.04134e-009 0.961036 \n-0.433889 -0.259892 0.862668 -0.435189 -0.256885 0.862914 \n-0.160622 -0.702046 0.69378 -0.158764 -0.70415 0.692074 \n0.160622 -0.702046 0.69378 0.158764 -0.70415 0.692074 \n-0.433889 0.259892 0.862668 -0.435189 0.256885 0.862914 \n0.433889 0.259892 0.862668 0.435189 0.256885 0.862914 \n0.160622 0.702046 0.69378 0.158764 0.70415 0.692074 \n-0.160622 0.702046 0.69378 -0.158764 0.70415 0.692074 \n0.273267 0 -0.961938 0.276425 -1.04134e-009 -0.961036 \n0.433889 0.259892 -0.862668 0.435189 0.256885 -0.862914 \n-0.273267 0 -0.961938 -0.276425 1.04134e-009 -0.961036 \n-0.433889 0.259892 -0.862668 -0.435189 0.256885 -0.862914 \n-0.160622 0.702046 -0.69378 -0.158764 0.70415 -0.692074 \n0.160622 0.702046 -0.69378 0.158764 0.70415 -0.692074 \n-0.433889 -0.259892 -0.862668 -0.435189 -0.256885 -0.862914 \n0.433889 -0.259892 -0.862668 0.435189 -0.256885 -0.862914 \n0.160622 -0.702046 -0.69378 0.158764 -0.70415 -0.692074 \n-0.160622 -0.702046 -0.69378 -0.158764 -0.70415 -0.692074 \n0.399607 0.912982 0.0823236 0.398828 0.913462 0.0807668 \n0.399607 0.912982 -0.0823236 0.398828 0.913462 -0.0807668 \n0.266405 0.963861 0 0.268145 0.963379 0 \n-0.399607 0.912982 -0.0823236 -0.398828 0.913462 -0.0807668 \n-0.399607 0.912982 0.0823236 -0.398828 0.913462 0.0807668 \n-0.266405 0.963861 0 -0.268145 0.963379 0 \n0.399607 -0.912982 -0.0823236 0.398828 -0.913462 -0.0807668 \n0.399607 -0.912982 0.0823236 0.398828 -0.913462 0.0807668 \n0.266405 -0.963861 0 0.268145 -0.963379 0 \n-0.399607 -0.912982 0.0823236 -0.398828 -0.913462 0.0807668 \n-0.399607 -0.912982 -0.0823236 -0.398828 -0.913462 -0.0807668 \n-0.266405 -0.963861 0 -0.268145 -0.963379 0 \n0.912982 -0.0823236 -0.399607 0.913462 -0.080767 -0.398828 \n0.912982 0.0823236 -0.399607 0.913462 0.080767 -0.398828 \n0.963861 0 -0.266405 0.963379 0 -0.268145 \n0.912982 0.0823236 0.399607 0.913462 0.080767 0.398828 \n0.912982 -0.0823236 0.399607 0.913462 -0.080767 0.398828 \n0.963861 0 0.266405 0.963379 0 0.268145 \n-0.912982 -0.0823236 0.399607 -0.913462 -0.080767 0.398828 \n-0.912982 0.0823236 0.399607 -0.913462 0.080767 0.398828 \n-0.963861 0 0.266405 -0.963379 0 0.268145 \n-0.912982 0.0823236 -0.399607 -0.913462 0.080767 -0.398828 \n-0.912982 -0.0823236 -0.399607 -0.913462 -0.080767 -0.398828 \n-0.963861 0 -0.266405 -0.963379 0 -0.268145 \n-0.0823236 -0.399607 0.912982 -0.0807669 -0.398828 0.913462 \n0.0823236 -0.399607 0.912982 0.0807669 -0.398828 0.913462 \n0 -0.266405 0.963861 0 -0.268145 0.963379 \n0.0823236 0.399607 0.912982 0.0807669 0.398828 0.913462 \n-0.0823236 0.399607 0.912982 -0.0807669 0.398828 0.913462 \n0 0.266405 0.963861 0 0.268145 0.963379 \n-0.0823236 0.399607 -0.912982 -0.0807669 0.398828 -0.913462 \n0.0823236 0.399607 -0.912982 0.0807669 0.398828 -0.913462 \n0 0.266405 -0.963861 0 0.268145 -0.963379 \n0.0823236 -0.399607 -0.912982 0.0807669 -0.398828 -0.913462 \n-0.0823236 -0.399607 -0.912982 -0.0807669 -0.398828 -0.913462 \n0 -0.266405 -0.963861 0 -0.268145 -0.963379 \n0.646578 0.513375 0.564254 0.645317 0.514634 0.564551 \n0.564254 0.646578 0.513375 0.56455 0.645318 0.514634 \n0.513375 0.564254 0.646578 0.514634 0.564551 0.645318 \n-0.646578 0.513375 0.564254 -0.645318 0.514634 0.564551 \n-0.513375 0.564254 0.646578 -0.514634 0.564551 0.645318 \n-0.564254 0.646578 0.513375 -0.56455 0.645318 0.514634 \n0.646578 0.513375 -0.564254 0.645318 0.514634 -0.564551 \n0.513375 0.564254 -0.646578 0.514634 0.564551 -0.645318 \n0.564254 0.646578 -0.513375 0.56455 0.645318 -0.514634 \n-0.646578 0.513375 -0.564254 -0.645317 0.514634 -0.564551 \n-0.564254 0.646578 -0.513375 -0.56455 0.645318 -0.514634 \n-0.513375 0.564254 -0.646578 -0.514634 0.564551 -0.645318 \n0.646578 -0.513375 0.564254 0.645318 -0.514634 0.564551 \n0.513375 -0.564254 0.646578 0.514634 -0.564551 0.645318 \n0.564254 -0.646578 0.513375 0.56455 -0.645318 0.514634 \n-0.646578 -0.513375 0.564254 -0.645317 -0.514634 0.564551 \n-0.564254 -0.646578 0.513375 -0.56455 -0.645318 0.514634 \n-0.513375 -0.564254 0.646578 -0.514634 -0.564551 0.645318 \n0.646578 -0.513375 -0.564254 0.645317 -0.514634 -0.564551 \n0.564254 -0.646578 -0.513375 0.56455 -0.645318 -0.514634 \n0.513375 -0.564254 -0.646578 0.514634 -0.564551 -0.645318 \n-0.646578 -0.513375 -0.564254 -0.645318 -0.514634 -0.564551 \n-0.513375 -0.564254 -0.646578 -0.514634 -0.564551 -0.645318 \n-0.564254 -0.646578 -0.513375 -0.56455 -0.645318 -0.514634 \n0.132792 0.966393 -0.220117 0.133332 0.966055 -0.22127 \n0.264083 0.916244 -0.301259 0.262814 0.916597 -0.301295 \n0.131655 0.924305 -0.358229 0.132513 0.924639 -0.357047 \n0.131655 0.924305 0.358229 0.132513 0.924639 0.357047 \n0.264083 0.916244 0.301259 0.262814 0.916597 0.301295 \n0.132792 0.966393 0.220117 0.133332 0.966055 0.22127 \n0.62024 0.780204 0.0811418 0.620837 0.779844 0.0800248 \n0.711282 0.702907 0 0.710228 0.703971 0 \n0.62024 0.780204 -0.0811418 0.620837 0.779844 -0.0800248 \n-0.132792 0.966393 0.220117 -0.133332 0.966055 0.22127 \n-0.264083 0.916244 0.301259 -0.262814 0.916597 0.301295 \n-0.131655 0.924305 0.358229 -0.132513 0.924639 0.357047 \n-0.131655 0.924305 -0.358229 -0.132513 0.924639 -0.357047 \n-0.264083 0.916244 -0.301259 -0.262814 0.916597 -0.301295 \n-0.132792 0.966393 -0.220117 -0.133332 0.966055 -0.22127 \n-0.62024 0.780204 -0.0811418 -0.620837 0.779844 -0.0800248 \n-0.711282 0.702907 0 -0.710228 0.703971 0 \n-0.62024 0.780204 0.0811418 -0.620837 0.779844 0.0800248 \n0.132792 -0.966393 0.220117 0.133332 -0.966055 0.22127 \n0.264083 -0.916244 0.301259 0.262814 -0.916597 0.301295 \n0.131655 -0.924305 0.358229 0.132513 -0.924639 0.357047 \n0.131655 -0.924305 -0.358229 0.132513 -0.924639 -0.357047 \n0.264083 -0.916244 -0.301259 0.262814 -0.916597 -0.301295 \n0.132792 -0.966393 -0.220117 0.133332 -0.966055 -0.22127 \n0.62024 -0.780204 -0.0811418 0.620837 -0.779844 -0.0800248 \n0.711282 -0.702907 0 0.710228 -0.703971 0 \n0.62024 -0.780204 0.0811418 0.620837 -0.779844 0.0800248 \n-0.132792 -0.966393 -0.220117 -0.133332 -0.966055 -0.22127 \n-0.264083 -0.916244 -0.301259 -0.262814 -0.916597 -0.301295 \n-0.131655 -0.924305 -0.358229 -0.132513 -0.924639 -0.357047 \n-0.131655 -0.924305 0.358229 -0.132513 -0.924639 0.357047 \n-0.264083 -0.916244 0.301259 -0.262814 -0.916597 0.301295 \n-0.132792 -0.966393 0.220117 -0.133332 -0.966055 0.22127 \n-0.62024 -0.780204 0.0811418 -0.620837 -0.779844 0.0800248 \n-0.711282 -0.702907 0 -0.710228 -0.703971 0 \n-0.62024 -0.780204 -0.0811418 -0.620837 -0.779844 -0.0800248 \n0.966393 0.220117 -0.132792 0.966055 0.22127 -0.133331 \n0.916244 0.301259 -0.264083 0.916597 0.301295 -0.262814 \n0.924305 0.358229 -0.131655 0.924639 0.357047 -0.132513 \n0.924305 -0.358229 -0.131655 0.924639 -0.357047 -0.132513 \n0.916244 -0.301259 -0.264083 0.916597 -0.301295 -0.262814 \n0.966393 -0.220117 -0.132792 0.966055 -0.22127 -0.133331 \n0.780204 -0.0811418 -0.62024 0.779844 -0.0800247 -0.620838 \n0.702907 0 -0.711282 0.703972 0 -0.710228 \n0.780204 0.0811418 -0.62024 0.779844 0.0800247 -0.620838 \n0.966393 -0.220117 0.132792 0.966055 -0.22127 0.133331 \n0.916244 -0.301259 0.264083 0.916597 -0.301295 0.262814 \n0.924305 -0.358229 0.131655 0.924639 -0.357047 0.132513 \n0.924305 0.358229 0.131655 0.924639 0.357047 0.132513 \n0.916244 0.301259 0.264083 0.916597 0.301295 0.262814 \n0.966393 0.220117 0.132792 0.966055 0.22127 0.133331 \n0.780204 0.0811418 0.62024 0.779844 0.0800247 0.620838 \n0.702907 0 0.711282 0.703972 0 0.710228 \n0.780204 -0.0811418 0.62024 0.779844 -0.0800247 0.620838 \n-0.966393 0.220117 0.132792 -0.966055 0.22127 0.133331 \n-0.916244 0.301259 0.264083 -0.916597 0.301295 0.262814 \n-0.924305 0.358229 0.131655 -0.924639 0.357047 0.132513 \n-0.924305 -0.358229 0.131655 -0.924639 -0.357047 0.132513 \n-0.916244 -0.301259 0.264083 -0.916597 -0.301295 0.262814 \n-0.966393 -0.220117 0.132792 -0.966055 -0.22127 0.133331 \n-0.780204 -0.0811418 0.62024 -0.779844 -0.0800247 0.620838 \n-0.702907 0 0.711282 -0.703972 0 0.710228 \n-0.780204 0.0811418 0.62024 -0.779844 0.0800247 0.620838 \n-0.966393 -0.220117 -0.132792 -0.966055 -0.22127 -0.133331 \n-0.916244 -0.301259 -0.264083 -0.916597 -0.301295 -0.262814 \n-0.924305 -0.358229 -0.131655 -0.924639 -0.357047 -0.132513 \n-0.924305 0.358229 -0.131655 -0.924639 0.357047 -0.132513 \n-0.916244 0.301259 -0.264083 -0.916597 0.301295 -0.262814 \n-0.966393 0.220117 -0.132792 -0.966055 0.22127 -0.133331 \n-0.780204 0.0811418 -0.62024 -0.779844 0.0800247 -0.620838 \n-0.702907 0 -0.711282 -0.703972 0 -0.710228 \n-0.780204 -0.0811418 -0.62024 -0.779844 -0.0800247 -0.620838 \n0.220117 -0.132792 0.966393 0.221271 -0.133331 0.966055 \n0.301259 -0.264083 0.916244 0.301295 -0.262814 0.916597 \n0.358229 -0.131655 0.924305 0.357047 -0.132513 0.924639 \n-0.358229 -0.131655 0.924305 -0.357047 -0.132513 0.924639 \n-0.301259 -0.264083 0.916244 -0.301295 -0.262814 0.916597 \n-0.220117 -0.132792 0.966393 -0.221271 -0.133331 0.966055 \n-0.0811418 -0.62024 0.780204 -0.0800247 -0.620838 0.779844 \n0 -0.711282 0.702907 0 -0.710228 0.703972 \n0.0811418 -0.62024 0.780204 0.0800247 -0.620838 0.779844 \n-0.220117 0.132792 0.966393 -0.221271 0.133331 0.966055 \n-0.301259 0.264083 0.916244 -0.301295 0.262814 0.916597 \n-0.358229 0.131655 0.924305 -0.357047 0.132513 0.924639 \n0.358229 0.131655 0.924305 0.357047 0.132513 0.924639 \n0.301259 0.264083 0.916244 0.301295 0.262814 0.916597 \n0.220117 0.132792 0.966393 0.221271 0.133331 0.966055 \n0.0811418 0.62024 0.780204 0.0800247 0.620838 0.779844 \n0 0.711282 0.702907 0 0.710228 0.703972 \n-0.0811418 0.62024 0.780204 -0.0800247 0.620838 0.779844 \n0.220117 0.132792 -0.966393 0.221271 0.133331 -0.966055 \n0.301259 0.264083 -0.916244 0.301295 0.262814 -0.916597 \n0.358229 0.131655 -0.924305 0.357047 0.132513 -0.924639 \n-0.358229 0.131655 -0.924305 -0.357047 0.132513 -0.924639 \n-0.301259 0.264083 -0.916244 -0.301295 0.262814 -0.916597 \n-0.220117 0.132792 -0.966393 -0.221271 0.133331 -0.966055 \n-0.0811418 0.62024 -0.780204 -0.0800247 0.620838 -0.779844 \n0 0.711282 -0.702907 0 0.710228 -0.703972 \n0.0811418 0.62024 -0.780204 0.0800247 0.620838 -0.779844 \n-0.220117 -0.132792 -0.966393 -0.221271 -0.133331 -0.966055 \n-0.301259 -0.264083 -0.916244 -0.301295 -0.262814 -0.916597 \n-0.358229 -0.131655 -0.924305 -0.357047 -0.132513 -0.924639 \n0.358229 -0.131655 -0.924305 0.357047 -0.132513 -0.924639 \n0.301259 -0.264083 -0.916244 0.301295 -0.262814 -0.916597 \n0.220117 -0.132792 -0.966393 0.221271 -0.133331 -0.966055 \n0.0811418 -0.62024 -0.780204 0.0800247 -0.620838 -0.779844 \n0 -0.711282 -0.702907 0 -0.710228 -0.703972 \n-0.0811418 -0.62024 -0.780204 -0.0800247 -0.620838 -0.779844 \n0.296005 0.70231 0.647412 0.295759 0.703241 0.646513 \n0.346153 0.783452 0.516122 0.345217 0.783266 0.51703 \n0.213023 0.792649 0.571252 0.214411 0.792126 0.571458 \n0.571252 0.213023 0.792649 0.571459 0.214411 0.792126 \n0.647412 0.296005 0.70231 0.646513 0.295759 0.703241 \n0.516122 0.346153 0.783452 0.51703 0.345217 0.783266 \n0.783452 0.516122 0.346153 0.783266 0.51703 0.345217 \n0.792649 0.571252 0.213023 0.792126 0.571459 0.214411 \n0.70231 0.647412 0.296005 0.703241 0.646513 0.295759 \n-0.346153 0.783452 0.516122 -0.345217 0.783266 0.51703 \n-0.296005 0.70231 0.647412 -0.295759 0.703241 0.646513 \n-0.213023 0.792649 0.571252 -0.214411 0.792126 0.571459 \n-0.792649 0.571252 0.213023 -0.792126 0.571459 0.214411 \n-0.783452 0.516122 0.346153 -0.783266 0.51703 0.345217 \n-0.70231 0.647412 0.296005 -0.703241 0.646513 0.295759 \n-0.647412 0.296005 0.70231 -0.646513 0.295759 0.703241 \n-0.571252 0.213023 0.792649 -0.571459 0.214411 0.792126 \n-0.516122 0.346153 0.783452 -0.51703 0.345217 0.783265 \n0.346153 0.783452 -0.516122 0.345217 0.783266 -0.51703 \n0.296005 0.70231 -0.647412 0.295759 0.703241 -0.646513 \n0.213023 0.792649 -0.571252 0.214411 0.792126 -0.571459 \n0.792649 0.571252 -0.213023 0.792126 0.571459 -0.214411 \n0.783452 0.516122 -0.346153 0.783266 0.51703 -0.345217 \n0.70231 0.647412 -0.296005 0.703241 0.646513 -0.295759 \n0.647412 0.296005 -0.70231 0.646513 0.295759 -0.703241 \n0.571252 0.213023 -0.792649 0.571459 0.214411 -0.792126 \n0.516122 0.346153 -0.783452 0.51703 0.345217 -0.783265 \n-0.296005 0.70231 -0.647412 -0.295759 0.703241 -0.646513 \n-0.346153 0.783452 -0.516122 -0.345217 0.783266 -0.51703 \n-0.213023 0.792649 -0.571252 -0.214411 0.792126 -0.571458 \n-0.571252 0.213023 -0.792649 -0.571459 0.214411 -0.792126 \n-0.647412 0.296005 -0.70231 -0.646513 0.295759 -0.703241 \n-0.516122 0.346153 -0.783452 -0.51703 0.345217 -0.783266 \n-0.783452 0.516122 -0.346153 -0.783266 0.51703 -0.345217 \n-0.792649 0.571252 -0.213023 -0.792126 0.571459 -0.214411 \n-0.70231 0.647412 -0.296005 -0.703241 0.646513 -0.295759 \n0.346153 -0.783452 0.516122 0.345217 -0.783266 0.51703 \n0.296005 -0.70231 0.647412 0.295759 -0.703241 0.646513 \n0.213023 -0.792649 0.571252 0.214411 -0.792126 0.571459 \n0.792649 -0.571252 0.213023 0.792126 -0.571459 0.214411 \n0.783452 -0.516122 0.346153 0.783266 -0.51703 0.345217 \n0.70231 -0.647412 0.296005 0.703241 -0.646513 0.295759 \n0.647412 -0.296005 0.70231 0.646513 -0.295759 0.703241 \n0.571252 -0.213023 0.792649 0.571459 -0.214411 0.792126 \n0.516122 -0.346153 0.783452 0.51703 -0.345217 0.783265 \n-0.296005 -0.70231 0.647412 -0.295759 -0.703241 0.646513 \n-0.346153 -0.783452 0.516122 -0.345217 -0.783266 0.51703 \n-0.213023 -0.792649 0.571252 -0.214411 -0.792126 0.571458 \n-0.571252 -0.213023 0.792649 -0.571459 -0.214411 0.792126 \n-0.647412 -0.296005 0.70231 -0.646513 -0.295759 0.703241 \n-0.516122 -0.346153 0.783452 -0.51703 -0.345217 0.783266 \n-0.783452 -0.516122 0.346153 -0.783266 -0.51703 0.345217 \n-0.792649 -0.571252 0.213023 -0.792126 -0.571459 0.214411 \n-0.70231 -0.647412 0.296005 -0.703241 -0.646513 0.295759 \n0.296005 -0.70231 -0.647412 0.295759 -0.703241 -0.646513 \n0.346153 -0.783452 -0.516122 0.345217 -0.783266 -0.51703 \n0.213023 -0.792649 -0.571252 0.214411 -0.792126 -0.571458 \n0.571252 -0.213023 -0.792649 0.571459 -0.214411 -0.792126 \n0.647412 -0.296005 -0.70231 0.646513 -0.295759 -0.703241 \n0.516122 -0.346153 -0.783452 0.51703 -0.345217 -0.783266 \n0.783452 -0.516122 -0.346153 0.783266 -0.51703 -0.345217 \n0.792649 -0.571252 -0.213023 0.792126 -0.571459 -0.214411 \n0.70231 -0.647412 -0.296005 0.703241 -0.646513 -0.295759 \n-0.346153 -0.783452 -0.516122 -0.345217 -0.783266 -0.51703 \n-0.296005 -0.70231 -0.647412 -0.295759 -0.703241 -0.646513 \n-0.213023 -0.792649 -0.571252 -0.214411 -0.792126 -0.571459 \n-0.792649 -0.571252 -0.213023 -0.792126 -0.571459 -0.214411 \n-0.783452 -0.516122 -0.346153 -0.783266 -0.51703 -0.345217 \n-0.70231 -0.647412 -0.296005 -0.703241 -0.646513 -0.295759 \n-0.647412 -0.296005 -0.70231 -0.646513 -0.295759 -0.703241 \n-0.571252 -0.213023 -0.792649 -0.571459 -0.214411 -0.792126 \n-0.516122 -0.346153 -0.783452 -0.51703 -0.345217 -0.783265 \n0.133071 0.987688 0.0822425 0.135348 0.987811 0.0768833 \n0.133071 0.987688 -0.0822425 0.135348 0.987811 -0.0768833 \n0.386187 0.891007 0.238677 0.389881 0.890587 0.234194 \n0.519258 0.840178 0.156434 0.51428 0.843071 0.157311 \n0.519258 0.840178 -0.156434 0.51428 0.843071 -0.157311 \n0.386187 0.891007 -0.238677 0.389881 0.890587 -0.234194 \n-0.133071 0.987688 -0.0822425 -0.135348 0.987811 -0.0768833 \n-0.133071 0.987688 0.0822425 -0.135348 0.987811 0.0768833 \n-0.386187 0.891007 -0.238677 -0.389881 0.890587 -0.234194 \n-0.519258 0.840178 -0.156434 -0.51428 0.843071 -0.157311 \n-0.519258 0.840178 0.156434 -0.51428 0.843071 0.157311 \n-0.386187 0.891007 0.238677 -0.389881 0.890587 0.234194 \n0.133071 -0.987688 -0.0822425 0.135348 -0.987811 -0.0768833 \n0.133071 -0.987688 0.0822425 0.135348 -0.987811 0.0768833 \n0.386187 -0.891007 -0.238677 0.389881 -0.890587 -0.234194 \n0.519258 -0.840178 -0.156434 0.51428 -0.843071 -0.157311 \n0.519258 -0.840178 0.156434 0.51428 -0.843071 0.157311 \n0.386187 -0.891007 0.238677 0.389881 -0.890587 0.234194 \n-0.133071 -0.987688 0.0822425 -0.135348 -0.987811 0.0768833 \n-0.133071 -0.987688 -0.0822425 -0.135348 -0.987811 -0.0768833 \n-0.386187 -0.891007 0.238677 -0.389881 -0.890587 0.234194 \n-0.519258 -0.840178 0.156434 -0.51428 -0.843071 0.157311 \n-0.519258 -0.840178 -0.156434 -0.51428 -0.843071 -0.157311 \n-0.386187 -0.891007 -0.238677 -0.389881 -0.890587 -0.234194 \n0.987688 -0.0822425 -0.133071 0.987811 -0.0768833 -0.135348 \n0.987688 0.0822425 -0.133071 0.987811 0.0768833 -0.135348 \n0.891007 -0.238677 -0.386187 0.890587 -0.234193 -0.389881 \n0.840178 -0.156434 -0.519258 0.843071 -0.157311 -0.51428 \n0.840178 0.156434 -0.519258 0.843071 0.157311 -0.51428 \n0.891007 0.238677 -0.386187 0.890587 0.234193 -0.389881 \n0.987688 0.0822425 0.133071 0.987811 0.0768833 0.135348 \n0.987688 -0.0822425 0.133071 0.987811 -0.0768833 0.135348 \n0.891007 0.238677 0.386187 0.890587 0.234193 0.389881 \n0.840178 0.156434 0.519258 0.843071 0.157311 0.51428 \n0.840178 -0.156434 0.519258 0.843071 -0.157311 0.51428 \n0.891007 -0.238677 0.386187 0.890587 -0.234193 0.389881 \n-0.987688 -0.0822425 0.133071 -0.987811 -0.0768833 0.135348 \n-0.987688 0.0822425 0.133071 -0.987811 0.0768833 0.135348 \n-0.891007 -0.238677 0.386187 -0.890587 -0.234193 0.389881 \n-0.840178 -0.156434 0.519258 -0.843071 -0.157311 0.51428 \n-0.840178 0.156434 0.519258 -0.843071 0.157311 0.51428 \n-0.891007 0.238677 0.386187 -0.890587 0.234193 0.389881 \n-0.987688 0.0822425 -0.133071 -0.987811 0.0768833 -0.135348 \n-0.987688 -0.0822425 -0.133071 -0.987811 -0.0768833 -0.135348 \n-0.891007 0.238677 -0.386187 -0.890587 0.234193 -0.389881 \n-0.840178 0.156434 -0.519258 -0.843071 0.157311 -0.51428 \n-0.840178 -0.156434 -0.519258 -0.843071 -0.157311 -0.51428 \n-0.891007 -0.238677 -0.386187 -0.890587 -0.234193 -0.389881 \n-0.0822425 -0.133071 0.987688 -0.0768831 -0.135347 0.987811 \n0.0822425 -0.133071 0.987688 0.0768831 -0.135347 0.987811 \n-0.238677 -0.386187 0.891007 -0.234193 -0.389881 0.890588 \n-0.156434 -0.519258 0.840178 -0.157311 -0.51428 0.843071 \n0.156434 -0.519258 0.840178 0.157311 -0.51428 0.843071 \n0.238677 -0.386187 0.891007 0.234193 -0.389881 0.890588 \n0.0822425 0.133071 0.987688 0.0768831 0.135347 0.987811 \n-0.0822425 0.133071 0.987688 -0.0768831 0.135347 0.987811 \n0.238677 0.386187 0.891007 0.234193 0.389881 0.890588 \n0.156434 0.519258 0.840178 0.157311 0.51428 0.843071 \n-0.156434 0.519258 0.840178 -0.157311 0.51428 0.843071 \n-0.238677 0.386187 0.891007 -0.234193 0.389881 0.890588 \n-0.0822425 0.133071 -0.987688 -0.0768831 0.135347 -0.987811 \n0.0822425 0.133071 -0.987688 0.0768831 0.135347 -0.987811 \n-0.238677 0.386187 -0.891007 -0.234193 0.389881 -0.890588 \n-0.156434 0.519258 -0.840178 -0.157311 0.51428 -0.843071 \n0.156434 0.519258 -0.840178 0.157311 0.51428 -0.843071 \n0.238677 0.386187 -0.891007 0.234193 0.389881 -0.890588 \n0.0822425 -0.133071 -0.987688 0.0768831 -0.135347 -0.987811 \n-0.0822425 -0.133071 -0.987688 -0.0768831 -0.135347 -0.987811 \n0.238677 -0.386187 -0.891007 0.234193 -0.389881 -0.890588 \n0.156434 -0.519258 -0.840178 0.157311 -0.51428 -0.843071 \n-0.156434 -0.519258 -0.840178 -0.157311 -0.51428 -0.843071 \n-0.238677 -0.386187 -0.891007 -0.234193 -0.389881 -0.890588 \n0.453991 0.46843 0.757935 0.45319 0.47353 0.75524 \n0.371748 0.601501 0.707107 0.376307 0.597929 0.707724 \n0.707107 0.371748 0.601501 0.707724 0.376307 0.597929 \n0.757935 0.453991 0.46843 0.75524 0.45319 0.473531 \n0.601501 0.707107 0.371748 0.597929 0.707724 0.376307 \n0.46843 0.757935 0.453991 0.473531 0.75524 0.45319 \n-0.601501 0.707107 0.371748 -0.597929 0.707724 0.376307 \n-0.46843 0.757935 0.453991 -0.473531 0.75524 0.45319 \n-0.757935 0.453991 0.46843 -0.75524 0.45319 0.473531 \n-0.707107 0.371748 0.601501 -0.707724 0.376307 0.597929 \n-0.453991 0.46843 0.757935 -0.45319 0.47353 0.75524 \n-0.371748 0.601501 0.707107 -0.376307 0.597929 0.707724 \n0.601501 0.707107 -0.371748 0.597929 0.707724 -0.376307 \n0.46843 0.757935 -0.453991 0.473531 0.75524 -0.45319 \n0.757935 0.453991 -0.46843 0.75524 0.45319 -0.473531 \n0.707107 0.371748 -0.601501 0.707724 0.376307 -0.597929 \n0.453991 0.46843 -0.757935 0.45319 0.47353 -0.75524 \n0.371748 0.601501 -0.707107 0.376307 0.597929 -0.707724 \n-0.453991 0.46843 -0.757935 -0.45319 0.47353 -0.75524 \n-0.371748 0.601501 -0.707107 -0.376307 0.597929 -0.707724 \n-0.707107 0.371748 -0.601501 -0.707724 0.376307 -0.597929 \n-0.757935 0.453991 -0.46843 -0.75524 0.45319 -0.473531 \n-0.601501 0.707107 -0.371748 -0.597929 0.707724 -0.376307 \n-0.46843 0.757935 -0.453991 -0.473531 0.75524 -0.45319 \n0.601501 -0.707107 0.371748 0.597929 -0.707724 0.376307 \n0.46843 -0.757935 0.453991 0.473531 -0.75524 0.45319 \n0.757935 -0.453991 0.46843 0.75524 -0.45319 0.473531 \n0.707107 -0.371748 0.601501 0.707724 -0.376307 0.597929 \n0.453991 -0.46843 0.757935 0.45319 -0.47353 0.75524 \n0.371748 -0.601501 0.707107 0.376307 -0.597929 0.707724 \n-0.453991 -0.46843 0.757935 -0.45319 -0.47353 0.75524 \n-0.371748 -0.601501 0.707107 -0.376307 -0.597929 0.707724 \n-0.707107 -0.371748 0.601501 -0.707724 -0.376307 0.597929 \n-0.757935 -0.453991 0.46843 -0.75524 -0.45319 0.473531 \n-0.601501 -0.707107 0.371748 -0.597929 -0.707724 0.376307 \n-0.46843 -0.757935 0.453991 -0.473531 -0.75524 0.45319 \n0.453991 -0.46843 -0.757935 0.45319 -0.47353 -0.75524 \n0.371748 -0.601501 -0.707107 0.376307 -0.597929 -0.707724 \n0.707107 -0.371748 -0.601501 0.707724 -0.376307 -0.597929 \n0.757935 -0.453991 -0.46843 0.75524 -0.45319 -0.473531 \n0.601501 -0.707107 -0.371748 0.597929 -0.707724 -0.376307 \n0.46843 -0.757935 -0.453991 0.473531 -0.75524 -0.45319 \n-0.601501 -0.707107 -0.371748 -0.597929 -0.707724 -0.376307 \n-0.46843 -0.757935 -0.453991 -0.473531 -0.75524 -0.45319 \n-0.757935 -0.453991 -0.46843 -0.75524 -0.45319 -0.473531 \n-0.707107 -0.371748 -0.601501 -0.707724 -0.376307 -0.597929 \n-0.453991 -0.46843 -0.757935 -0.45319 -0.47353 -0.75524 \n-0.371748 -0.601501 -0.707107 -0.376307 -0.597929 -0.707724 \n0 0.915043 -0.403355 3.18096e-009 0.913371 -0.407128 \n0.1312 0.864929 -0.484442 0.127312 0.864742 -0.485811 \n0 0.990439 -0.137952 1.04833e-009 0.990091 -0.140426 \n0.383614 0.843911 -0.375039 0.381439 0.844395 -0.376168 \n0 0.990439 0.137952 -7.86244e-010 0.990091 0.140426 \n0 0.915043 0.403355 -3.18096e-009 0.913371 0.407128 \n0.1312 0.864929 0.484442 0.127312 0.864742 0.485811 \n0.383614 0.843911 0.375039 0.381439 0.844395 0.376168 \n0.606825 0.758652 -0.237086 0.608653 0.757607 -0.235742 \n0.606825 0.758652 0.237086 0.608653 0.757607 0.235742 \n0.783843 0.615642 0.0810863 0.786059 0.613124 0.0786837 \n0.783843 0.615642 -0.0810863 0.786059 0.613124 -0.0786837 \n-0.1312 0.864929 0.484442 -0.127312 0.864742 0.485811 \n-0.383614 0.843911 0.375039 -0.381439 0.844395 0.376168 \n-0.1312 0.864929 -0.484442 -0.127312 0.864742 -0.485811 \n-0.383614 0.843911 -0.375039 -0.381439 0.844395 -0.376168 \n-0.606825 0.758652 0.237086 -0.608653 0.757607 0.235742 \n-0.606825 0.758652 -0.237086 -0.608653 0.757607 -0.235742 \n-0.783843 0.615642 -0.0810863 -0.786059 0.613124 -0.0786837 \n-0.783843 0.615642 0.0810863 -0.786059 0.613124 0.0786837 \n0 -0.915043 0.403355 3.18096e-009 -0.913371 0.407128 \n0.1312 -0.864929 0.484442 0.127312 -0.864742 0.485811 \n0 -0.990439 0.137952 1.04833e-009 -0.990091 0.140426 \n0.383614 -0.843911 0.375039 0.381439 -0.844395 0.376168 \n0 -0.990439 -0.137952 -7.86244e-010 -0.990091 -0.140426 \n0 -0.915043 -0.403355 -3.18096e-009 -0.913371 -0.407128 \n0.1312 -0.864929 -0.484442 0.127312 -0.864742 -0.485811 \n0.383614 -0.843911 -0.375039 0.381439 -0.844395 -0.376168 \n0.606825 -0.758652 0.237086 0.608653 -0.757607 0.235742 \n0.606825 -0.758652 -0.237086 0.608653 -0.757607 -0.235742 \n0.783843 -0.615642 -0.0810863 0.786059 -0.613124 -0.0786837 \n0.783843 -0.615642 0.0810863 0.786059 -0.613124 0.0786837 \n-0.1312 -0.864929 -0.484442 -0.127312 -0.864742 -0.485811 \n-0.383614 -0.843911 -0.375039 -0.381439 -0.844395 -0.376168 \n-0.1312 -0.864929 0.484442 -0.127312 -0.864742 0.485811 \n-0.383614 -0.843911 0.375039 -0.381439 -0.844395 0.376168 \n-0.606825 -0.758652 -0.237086 -0.608653 -0.757607 -0.235742 \n-0.606825 -0.758652 0.237086 -0.608653 -0.757607 0.235742 \n-0.783843 -0.615642 0.0810863 -0.786059 -0.613124 0.0786837 \n-0.783843 -0.615642 -0.0810863 -0.786059 -0.613124 -0.0786837 \n0.915043 0.403355 0 0.913371 0.407128 -3.18096e-009 \n0.864929 0.484442 -0.1312 0.864742 0.485811 -0.127312 \n0.990439 0.137952 0 0.990091 0.140426 -1.04833e-009 \n0.843911 0.375039 -0.383614 0.844395 0.376168 -0.381439 \n0.990439 -0.137952 0 0.990091 -0.140426 7.86244e-010 \n0.915043 -0.403355 0 0.913371 -0.407128 3.18096e-009 \n0.864929 -0.484442 -0.1312 0.864742 -0.485811 -0.127312 \n0.843911 -0.375039 -0.383614 0.844395 -0.376168 -0.381439 \n0.758652 0.237086 -0.606825 0.757607 0.235742 -0.608653 \n0.758652 -0.237086 -0.606825 0.757607 -0.235742 -0.608653 \n0.615642 -0.0810863 -0.783843 0.613123 -0.0786833 -0.786059 \n0.615642 0.0810863 -0.783843 0.613123 0.0786833 -0.786059 \n0.864929 -0.484442 0.1312 0.864742 -0.485811 0.127312 \n0.843911 -0.375039 0.383614 0.844395 -0.376168 0.381439 \n0.864929 0.484442 0.1312 0.864742 0.485811 0.127312 \n0.843911 0.375039 0.383614 0.844395 0.376168 0.381439 \n0.758652 -0.237086 0.606825 0.757607 -0.235742 0.608653 \n0.758652 0.237086 0.606825 0.757607 0.235742 0.608653 \n0.615642 0.0810863 0.783843 0.613123 0.0786833 0.786059 \n0.615642 -0.0810863 0.783843 0.613123 -0.0786833 0.786059 \n-0.915043 0.403355 0 -0.913371 0.407128 3.18096e-009 \n-0.864929 0.484442 0.1312 -0.864742 0.485811 0.127312 \n-0.990439 0.137952 0 -0.990091 0.140426 1.04833e-009 \n-0.843911 0.375039 0.383614 -0.844395 0.376168 0.381439 \n-0.990439 -0.137952 0 -0.990091 -0.140426 -7.86244e-010 \n-0.915043 -0.403355 0 -0.913371 -0.407128 -3.18096e-009 \n-0.864929 -0.484442 0.1312 -0.864742 -0.485811 0.127312 \n-0.843911 -0.375039 0.383614 -0.844395 -0.376168 0.381439 \n-0.758652 0.237086 0.606825 -0.757607 0.235742 0.608653 \n-0.758652 -0.237086 0.606825 -0.757607 -0.235742 0.608653 \n-0.615642 -0.0810863 0.783843 -0.613123 -0.0786833 0.786059 \n-0.615642 0.0810863 0.783843 -0.613123 0.0786833 0.786059 \n-0.864929 -0.484442 -0.1312 -0.864742 -0.485811 -0.127312 \n-0.843911 -0.375039 -0.383614 -0.844395 -0.376168 -0.381439 \n-0.864929 0.484442 -0.1312 -0.864742 0.485811 -0.127312 \n-0.843911 0.375039 -0.383614 -0.844395 0.376168 -0.381439 \n-0.758652 -0.237086 -0.606825 -0.757607 -0.235742 -0.608653 \n-0.758652 0.237086 -0.606825 -0.757607 0.235742 -0.608653 \n-0.615642 0.0810863 -0.783843 -0.613123 0.0786833 -0.786059 \n-0.615642 -0.0810863 -0.783843 -0.613123 -0.0786833 -0.786059 \n0.403355 0 0.915043 0.407128 -3.18096e-009 0.913371 \n0.484442 -0.1312 0.864929 0.485811 -0.127312 0.864742 \n0.137952 0 0.990439 0.140426 -1.04833e-009 0.990091 \n0.375039 -0.383614 0.843911 0.376168 -0.381439 0.844395 \n-0.137952 0 0.990439 -0.140426 7.86244e-010 0.990091 \n-0.403355 0 0.915043 -0.407128 3.18096e-009 0.913371 \n-0.484442 -0.1312 0.864929 -0.485811 -0.127312 0.864742 \n-0.375039 -0.383614 0.843911 -0.376168 -0.381439 0.844395 \n0.237086 -0.606825 0.758652 0.235742 -0.608653 0.757607 \n-0.237086 -0.606825 0.758652 -0.235742 -0.608653 0.757607 \n-0.0810863 -0.783843 0.615642 -0.0786835 -0.786059 0.613124 \n0.0810863 -0.783843 0.615642 0.0786835 -0.786059 0.613124 \n-0.484442 0.1312 0.864929 -0.485811 0.127312 0.864742 \n-0.375039 0.383614 0.843911 -0.376168 0.381439 0.844395 \n0.484442 0.1312 0.864929 0.485811 0.127312 0.864742 \n0.375039 0.383614 0.843911 0.376168 0.381439 0.844395 \n-0.237086 0.606825 0.758652 -0.235742 0.608653 0.757607 \n0.237086 0.606825 0.758652 0.235742 0.608653 0.757607 \n0.0810863 0.783843 0.615642 0.0786835 0.786059 0.613124 \n-0.0810863 0.783843 0.615642 -0.0786835 0.786059 0.613124 \n0.403355 0 -0.915043 0.407128 3.18096e-009 -0.913371 \n0.484442 0.1312 -0.864929 0.485811 0.127312 -0.864742 \n0.137952 0 -0.990439 0.140426 1.04833e-009 -0.990091 \n0.375039 0.383614 -0.843911 0.376168 0.381439 -0.844395 \n-0.137952 0 -0.990439 -0.140426 -7.86244e-010 -0.990091 \n-0.403355 0 -0.915043 -0.407128 -3.18096e-009 -0.913371 \n-0.484442 0.1312 -0.864929 -0.485811 0.127312 -0.864742 \n-0.375039 0.383614 -0.843911 -0.376168 0.381439 -0.844395 \n0.237086 0.606825 -0.758652 0.235742 0.608653 -0.757607 \n-0.237086 0.606825 -0.758652 -0.235742 0.608653 -0.757607 \n-0.0810863 0.783843 -0.615642 -0.0786835 0.786059 -0.613124 \n0.0810863 0.783843 -0.615642 0.0786835 0.786059 -0.613124 \n-0.484442 -0.1312 -0.864929 -0.485811 -0.127312 -0.864742 \n-0.375039 -0.383614 -0.843911 -0.376168 -0.381439 -0.844395 \n0.484442 -0.1312 -0.864929 0.485811 -0.127312 -0.864742 \n0.375039 -0.383614 -0.843911 0.376168 -0.381439 -0.844395 \n-0.237086 -0.606825 -0.758652 -0.235742 -0.608653 -0.757607 \n0.237086 -0.606825 -0.758652 0.235742 -0.608653 -0.757607 \n0.0810863 -0.783843 -0.615642 0.0786835 -0.786059 -0.613124 \n-0.0810863 -0.783843 -0.615642 -0.0786835 -0.786059 -0.613124 \n0.400968 0.916092 0 0.400529 0.916284 0 \n0.33414 0.941618 -0.041302 0.334372 0.941554 -0.0408872 \n0.33414 0.941618 0.041302 0.334372 0.941554 0.0408872 \n-0.400968 0.916092 0 -0.400529 0.916284 0 \n-0.33414 0.941618 0.041302 -0.334372 0.941554 0.0408872 \n-0.33414 0.941618 -0.041302 -0.334372 0.941554 -0.0408872 \n0.400968 -0.916092 0 0.400529 -0.916284 0 \n0.33414 -0.941618 0.041302 0.334372 -0.941554 0.0408872 \n0.33414 -0.941618 -0.041302 0.334372 -0.941554 -0.0408872 \n-0.400968 -0.916092 0 -0.400529 -0.916284 0 \n-0.33414 -0.941618 -0.041302 -0.334372 -0.941554 -0.0408872 \n-0.33414 -0.941618 0.041302 -0.334372 -0.941554 0.0408872 \n0.916092 0 -0.400968 0.916284 0 -0.400529 \n0.941618 0.041302 -0.33414 0.941554 0.0408872 -0.334372 \n0.941618 -0.041302 -0.33414 0.941554 -0.0408872 -0.334372 \n0.916092 0 0.400968 0.916284 0 0.400529 \n0.941618 -0.041302 0.33414 0.941554 -0.0408872 0.334372 \n0.941618 0.041302 0.33414 0.941554 0.0408872 0.334372 \n-0.916092 0 0.400968 -0.916284 0 0.400529 \n-0.941618 0.041302 0.33414 -0.941554 0.0408872 0.334372 \n-0.941618 -0.041302 0.33414 -0.941554 -0.0408872 0.334372 \n-0.916092 0 -0.400968 -0.916284 0 -0.400529 \n-0.941618 -0.041302 -0.33414 -0.941554 -0.0408872 -0.334372 \n-0.941618 0.041302 -0.33414 -0.941554 0.0408872 -0.334372 \n0 -0.400968 0.916092 4.14599e-010 -0.400529 0.916284 \n0.041302 -0.33414 0.941618 0.0408872 -0.334372 0.941554 \n-0.041302 -0.33414 0.941618 -0.0408872 -0.334372 0.941554 \n0 0.400968 0.916092 -4.14599e-010 0.400529 0.916284 \n-0.041302 0.33414 0.941618 -0.0408872 0.334372 0.941554 \n0.041302 0.33414 0.941618 0.0408872 0.334372 0.941554 \n0 0.400968 -0.916092 4.14599e-010 0.400529 -0.916284 \n0.041302 0.33414 -0.941618 0.0408872 0.334372 -0.941554 \n-0.041302 0.33414 -0.941618 -0.0408872 0.334372 -0.941554 \n0 -0.400968 -0.916092 -4.14599e-010 -0.400529 -0.916284 \n-0.041302 -0.33414 -0.941618 -0.0408872 -0.334372 -0.941554 \n0.041302 -0.33414 -0.941618 0.0408872 -0.334372 -0.941554 \n0.607478 0.581952 0.54065 0.607182 0.581912 0.541025 \n0.54065 0.607478 0.581952 0.541025 0.607182 0.581912 \n0.581952 0.54065 0.607478 0.581912 0.541025 0.607182 \n-0.581952 0.54065 0.607478 -0.581912 0.541025 0.607182 \n-0.54065 0.607478 0.581952 -0.541025 0.607182 0.581912 \n-0.607478 0.581952 0.54065 -0.607182 0.581912 0.541025 \n0.581952 0.54065 -0.607478 0.581912 0.541025 -0.607182 \n0.54065 0.607478 -0.581952 0.541025 0.607182 -0.581912 \n0.607478 0.581952 -0.54065 0.607182 0.581912 -0.541025 \n-0.607478 0.581952 -0.54065 -0.607182 0.581912 -0.541025 \n-0.54065 0.607478 -0.581952 -0.541025 0.607182 -0.581912 \n-0.581952 0.54065 -0.607478 -0.581912 0.541025 -0.607182 \n0.581952 -0.54065 0.607478 0.581912 -0.541025 0.607182 \n0.54065 -0.607478 0.581952 0.541025 -0.607182 0.581912 \n0.607478 -0.581952 0.54065 0.607182 -0.581912 0.541025 \n-0.607478 -0.581952 0.54065 -0.607182 -0.581912 0.541025 \n-0.54065 -0.607478 0.581952 -0.541025 -0.607182 0.581912 \n-0.581952 -0.54065 0.607478 -0.581912 -0.541025 0.607182 \n0.607478 -0.581952 -0.54065 0.607182 -0.581912 -0.541025 \n0.54065 -0.607478 -0.581952 0.541025 -0.607182 -0.581912 \n0.581952 -0.54065 -0.607478 0.581912 -0.541025 -0.607182 \n-0.581952 -0.54065 -0.607478 -0.581912 -0.541025 -0.607182 \n-0.54065 -0.607478 -0.581952 -0.541025 -0.607182 -0.581912 \n-0.607478 -0.581952 -0.54065 -0.607182 -0.581912 -0.541025 \n0.199094 0.944433 -0.26155 0.198878 0.944389 -0.261873 \n0.198387 0.922682 -0.330607 0.198252 0.922815 -0.330315 \n0.13257 0.947822 -0.289929 0.132914 0.947772 -0.289934 \n0.198387 0.922682 0.330607 0.198252 0.922815 0.330315 \n0.199094 0.944433 0.26155 0.198878 0.944389 0.261873 \n0.13257 0.947822 0.289929 0.132914 0.947772 0.289934 \n0.667502 0.743496 0.0406771 0.667375 0.743626 0.0403815 \n0.667502 0.743496 -0.0406771 0.667375 0.743626 -0.0403815 \n0.622292 0.782786 0 0.622597 0.782542 0 \n-0.199094 0.944433 0.26155 -0.198878 0.944389 0.261873 \n-0.198387 0.922682 0.330607 -0.198252 0.922815 0.330315 \n-0.13257 0.947822 0.289929 -0.132914 0.947772 0.289934 \n-0.198387 0.922682 -0.330607 -0.198252 0.922815 -0.330315 \n-0.199094 0.944433 -0.26155 -0.198878 0.944389 -0.261873 \n-0.13257 0.947822 -0.289929 -0.132914 0.947772 -0.289934 \n-0.667502 0.743496 -0.0406771 -0.667375 0.743626 -0.0403815 \n-0.667502 0.743496 0.0406771 -0.667375 0.743626 0.0403815 \n-0.622292 0.782786 0 -0.622597 0.782542 0 \n0.199094 -0.944433 0.26155 0.198878 -0.944389 0.261873 \n0.198387 -0.922682 0.330607 0.198252 -0.922815 0.330315 \n0.13257 -0.947822 0.289929 0.132914 -0.947772 0.289934 \n0.198387 -0.922682 -0.330607 0.198252 -0.922815 -0.330315 \n0.199094 -0.944433 -0.26155 0.198878 -0.944389 -0.261873 \n0.13257 -0.947822 -0.289929 0.132914 -0.947772 -0.289934 \n0.667502 -0.743496 -0.0406771 0.667375 -0.743626 -0.0403815 \n0.667502 -0.743496 0.0406771 0.667375 -0.743626 0.0403815 \n0.622292 -0.782786 0 0.622597 -0.782542 0 \n-0.199094 -0.944433 -0.26155 -0.198878 -0.944389 -0.261873 \n-0.198387 -0.922682 -0.330607 -0.198252 -0.922815 -0.330315 \n-0.13257 -0.947822 -0.289929 -0.132914 -0.947772 -0.289934 \n-0.198387 -0.922682 0.330607 -0.198252 -0.922815 0.330315 \n-0.199094 -0.944433 0.26155 -0.198878 -0.944389 0.261873 \n-0.13257 -0.947822 0.289929 -0.132914 -0.947772 0.289934 \n-0.667502 -0.743496 0.0406771 -0.667375 -0.743626 0.0403815 \n-0.667502 -0.743496 -0.0406771 -0.667375 -0.743626 -0.0403815 \n-0.622292 -0.782786 0 -0.622597 -0.782542 0 \n0.944433 0.26155 -0.199094 0.944389 0.261873 -0.198878 \n0.922682 0.330607 -0.198387 0.922815 0.330315 -0.198252 \n0.947822 0.289929 -0.13257 0.947772 0.289934 -0.132914 \n0.922682 -0.330607 -0.198387 0.922815 -0.330315 -0.198252 \n0.944433 -0.26155 -0.199094 0.944389 -0.261873 -0.198878 \n0.947822 -0.289929 -0.13257 0.947772 -0.289934 -0.132914 \n0.743496 -0.0406771 -0.667502 0.743626 -0.0403809 -0.667375 \n0.743496 0.0406771 -0.667502 0.743626 0.040381 -0.667375 \n0.782786 0 -0.622292 0.782542 0 -0.622598 \n0.944433 -0.26155 0.199094 0.944389 -0.261873 0.198878 \n0.922682 -0.330607 0.198387 0.922815 -0.330315 0.198252 \n0.947822 -0.289929 0.13257 0.947772 -0.289934 0.132914 \n0.922682 0.330607 0.198387 0.922815 0.330315 0.198252 \n0.944433 0.26155 0.199094 0.944389 0.261873 0.198878 \n0.947822 0.289929 0.13257 0.947772 0.289934 0.132914 \n0.743496 0.0406771 0.667502 0.743626 0.0403809 0.667375 \n0.743496 -0.0406771 0.667502 0.743626 -0.040381 0.667375 \n0.782786 0 0.622292 0.782542 0 0.622598 \n-0.944433 0.26155 0.199094 -0.944389 0.261873 0.198878 \n-0.922682 0.330607 0.198387 -0.922815 0.330315 0.198252 \n-0.947822 0.289929 0.13257 -0.947772 0.289934 0.132914 \n-0.922682 -0.330607 0.198387 -0.922815 -0.330315 0.198252 \n-0.944433 -0.26155 0.199094 -0.944389 -0.261873 0.198878 \n-0.947822 -0.289929 0.13257 -0.947772 -0.289934 0.132914 \n-0.743496 -0.0406771 0.667502 -0.743626 -0.0403809 0.667375 \n-0.743496 0.0406771 0.667502 -0.743626 0.040381 0.667375 \n-0.782786 0 0.622292 -0.782542 0 0.622598 \n-0.944433 -0.26155 -0.199094 -0.944389 -0.261873 -0.198878 \n-0.922682 -0.330607 -0.198387 -0.922815 -0.330315 -0.198252 \n-0.947822 -0.289929 -0.13257 -0.947772 -0.289934 -0.132914 \n-0.922682 0.330607 -0.198387 -0.922815 0.330315 -0.198252 \n-0.944433 0.26155 -0.199094 -0.944389 0.261873 -0.198878 \n-0.947822 0.289929 -0.13257 -0.947772 0.289934 -0.132914 \n-0.743496 0.0406771 -0.667502 -0.743626 0.0403809 -0.667375 \n-0.743496 -0.0406771 -0.667502 -0.743626 -0.040381 -0.667375 \n-0.782786 0 -0.622292 -0.782542 0 -0.622598 \n0.26155 -0.199094 0.944433 0.261874 -0.198878 0.944389 \n0.330607 -0.198387 0.922682 0.330315 -0.198252 0.922815 \n0.289929 -0.13257 0.947822 0.289934 -0.132914 0.947772 \n-0.330607 -0.198387 0.922682 -0.330315 -0.198252 0.922815 \n-0.26155 -0.199094 0.944433 -0.261874 -0.198878 0.944389 \n-0.289929 -0.13257 0.947822 -0.289934 -0.132914 0.947772 \n-0.0406771 -0.667502 0.743496 -0.0403809 -0.667375 0.743626 \n0.0406771 -0.667502 0.743496 0.040381 -0.667375 0.743626 \n0 -0.622292 0.782786 0 -0.622598 0.782542 \n-0.26155 0.199094 0.944433 -0.261874 0.198878 0.944389 \n-0.330607 0.198387 0.922682 -0.330315 0.198252 0.922815 \n-0.289929 0.13257 0.947822 -0.289934 0.132914 0.947772 \n0.330607 0.198387 0.922682 0.330315 0.198252 0.922815 \n0.26155 0.199094 0.944433 0.261874 0.198878 0.944389 \n0.289929 0.13257 0.947822 0.289934 0.132914 0.947772 \n0.0406771 0.667502 0.743496 0.0403809 0.667375 0.743626 \n-0.0406771 0.667502 0.743496 -0.040381 0.667375 0.743626 \n0 0.622292 0.782786 0 0.622598 0.782542 \n0.26155 0.199094 -0.944433 0.261874 0.198878 -0.944389 \n0.330607 0.198387 -0.922682 0.330315 0.198252 -0.922815 \n0.289929 0.13257 -0.947822 0.289934 0.132914 -0.947772 \n-0.330607 0.198387 -0.922682 -0.330315 0.198252 -0.922815 \n-0.26155 0.199094 -0.944433 -0.261874 0.198878 -0.944389 \n-0.289929 0.13257 -0.947822 -0.289934 0.132914 -0.947772 \n-0.0406771 0.667502 -0.743496 -0.0403809 0.667375 -0.743626 \n0.0406771 0.667502 -0.743496 0.040381 0.667375 -0.743626 \n0 0.622292 -0.782786 0 0.622598 -0.782542 \n-0.26155 -0.199094 -0.944433 -0.261874 -0.198878 -0.944389 \n-0.330607 -0.198387 -0.922682 -0.330315 -0.198252 -0.922815 \n-0.289929 -0.13257 -0.947822 -0.289934 -0.132914 -0.947772 \n0.330607 -0.198387 -0.922682 0.330315 -0.198252 -0.922815 \n0.26155 -0.199094 -0.944433 0.261874 -0.198878 -0.944389 \n0.289929 -0.13257 -0.947822 0.289934 -0.132914 -0.947772 \n0.0406771 -0.667502 -0.743496 0.0403809 -0.667375 -0.743626 \n-0.0406771 -0.667502 -0.743496 -0.040381 -0.667375 -0.743626 \n0 -0.622292 -0.782786 0 -0.622598 -0.782542 \n0.322141 0.745338 0.583691 0.321791 0.745511 0.583664 \n0.280319 0.790112 0.545109 0.280397 0.789901 0.545374 \n0.25518 0.749435 0.610926 0.25544 0.74952 0.610712 \n0.610926 0.25518 0.749435 0.610712 0.25544 0.74952 \n0.583691 0.322141 0.745338 0.583664 0.321791 0.745511 \n0.545109 0.280319 0.790112 0.545374 0.280397 0.789901 \n0.790112 0.545109 0.280319 0.789901 0.545374 0.280398 \n0.749435 0.610926 0.25518 0.74952 0.610713 0.25544 \n0.745338 0.583691 0.322141 0.745511 0.583665 0.321791 \n-0.322141 0.745338 0.583691 -0.321791 0.745511 0.583664 \n-0.25518 0.749435 0.610926 -0.25544 0.74952 0.610712 \n-0.280319 0.790112 0.545109 -0.280397 0.789901 0.545374 \n-0.790112 0.545109 0.280319 -0.789901 0.545374 0.280398 \n-0.745338 0.583691 0.322141 -0.745511 0.583665 0.321791 \n-0.749435 0.610926 0.25518 -0.74952 0.610713 0.25544 \n-0.610926 0.25518 0.749435 -0.610712 0.25544 0.74952 \n-0.545109 0.280319 0.790112 -0.545374 0.280397 0.789901 \n-0.583691 0.322141 0.745338 -0.583664 0.321791 0.745511 \n0.322141 0.745338 -0.583691 0.321791 0.745511 -0.583664 \n0.25518 0.749435 -0.610926 0.25544 0.74952 -0.610712 \n0.280319 0.790112 -0.545109 0.280397 0.789901 -0.545374 \n0.790112 0.545109 -0.280319 0.789901 0.545374 -0.280398 \n0.745338 0.583691 -0.322141 0.745511 0.583665 -0.321791 \n0.749435 0.610926 -0.25518 0.74952 0.610713 -0.25544 \n0.610926 0.25518 -0.749435 0.610712 0.25544 -0.74952 \n0.545109 0.280319 -0.790112 0.545374 0.280397 -0.789901 \n0.583691 0.322141 -0.745338 0.583664 0.321791 -0.745511 \n-0.322141 0.745338 -0.583691 -0.321791 0.745511 -0.583664 \n-0.280319 0.790112 -0.545109 -0.280397 0.789901 -0.545374 \n-0.25518 0.749435 -0.610926 -0.25544 0.74952 -0.610712 \n-0.610926 0.25518 -0.749435 -0.610712 0.25544 -0.74952 \n-0.583691 0.322141 -0.745338 -0.583664 0.321791 -0.745511 \n-0.545109 0.280319 -0.790112 -0.545374 0.280397 -0.789901 \n-0.790112 0.545109 -0.280319 -0.789901 0.545374 -0.280398 \n-0.749435 0.610926 -0.25518 -0.74952 0.610713 -0.25544 \n-0.745338 0.583691 -0.322141 -0.745511 0.583665 -0.321791 \n0.322141 -0.745338 0.583691 0.321791 -0.745511 0.583664 \n0.25518 -0.749435 0.610926 0.25544 -0.74952 0.610712 \n0.280319 -0.790112 0.545109 0.280397 -0.789901 0.545374 \n0.790112 -0.545109 0.280319 0.789901 -0.545374 0.280398 \n0.745338 -0.583691 0.322141 0.745511 -0.583665 0.321791 \n0.749435 -0.610926 0.25518 0.74952 -0.610713 0.25544 \n0.610926 -0.25518 0.749435 0.610712 -0.25544 0.74952 \n0.545109 -0.280319 0.790112 0.545374 -0.280397 0.789901 \n0.583691 -0.322141 0.745338 0.583664 -0.321791 0.745511 \n-0.322141 -0.745338 0.583691 -0.321791 -0.745511 0.583664 \n-0.280319 -0.790112 0.545109 -0.280397 -0.789901 0.545374 \n-0.25518 -0.749435 0.610926 -0.25544 -0.74952 0.610712 \n-0.610926 -0.25518 0.749435 -0.610712 -0.25544 0.74952 \n-0.583691 -0.322141 0.745338 -0.583664 -0.321791 0.745511 \n-0.545109 -0.280319 0.790112 -0.545374 -0.280397 0.789901 \n-0.790112 -0.545109 0.280319 -0.789901 -0.545374 0.280398 \n-0.749435 -0.610926 0.25518 -0.74952 -0.610713 0.25544 \n-0.745338 -0.583691 0.322141 -0.745511 -0.583665 0.321791 \n0.322141 -0.745338 -0.583691 0.321791 -0.745511 -0.583664 \n0.280319 -0.790112 -0.545109 0.280397 -0.789901 -0.545374 \n0.25518 -0.749435 -0.610926 0.25544 -0.74952 -0.610712 \n0.610926 -0.25518 -0.749435 0.610712 -0.25544 -0.74952 \n0.583691 -0.322141 -0.745338 0.583664 -0.321791 -0.745511 \n0.545109 -0.280319 -0.790112 0.545374 -0.280397 -0.789901 \n0.790112 -0.545109 -0.280319 0.789901 -0.545374 -0.280398 \n0.749435 -0.610926 -0.25518 0.74952 -0.610713 -0.25544 \n0.745338 -0.583691 -0.322141 0.745511 -0.583665 -0.321791 \n-0.322141 -0.745338 -0.583691 -0.321791 -0.745511 -0.583664 \n-0.25518 -0.749435 -0.610926 -0.25544 -0.74952 -0.610712 \n-0.280319 -0.790112 -0.545109 -0.280397 -0.789901 -0.545374 \n-0.790112 -0.545109 -0.280319 -0.789901 -0.545374 -0.280398 \n-0.745338 -0.583691 -0.322141 -0.745511 -0.583665 -0.321791 \n-0.749435 -0.610926 -0.25518 -0.74952 -0.610713 -0.25544 \n-0.610926 -0.25518 -0.749435 -0.610712 -0.25544 -0.74952 \n-0.545109 -0.280319 -0.790112 -0.545374 -0.280397 -0.789901 \n-0.583691 -0.322141 -0.745338 -0.583664 -0.321791 -0.745511 \n0.200368 0.978852 0.0412509 0.200154 0.978912 0.0408736 \n0.200368 0.978852 -0.0412509 0.200154 0.978912 -0.0408736 \n0.133523 0.991046 0 0.133975 0.990985 4.36944e-010 \n0.454262 0.868535 0.198227 0.454092 0.868711 0.197844 \n0.460882 0.879345 0.119755 0.460672 0.879402 0.120136 \n0.394136 0.904839 0.161006 0.394537 0.904664 0.161009 \n0.460882 0.879345 -0.119755 0.460672 0.879402 -0.120136 \n0.454262 0.868535 -0.198227 0.454092 0.868711 -0.197844 \n0.394136 0.904839 -0.161006 0.394537 0.904664 -0.161009 \n-0.200368 0.978852 -0.0412509 -0.200154 0.978912 -0.0408736 \n-0.200368 0.978852 0.0412509 -0.200154 0.978912 0.0408736 \n-0.133523 0.991046 0 -0.133975 0.990985 -4.36944e-010 \n-0.454262 0.868535 -0.198227 -0.454092 0.868711 -0.197844 \n-0.460882 0.879345 -0.119755 -0.460672 0.879402 -0.120136 \n-0.394136 0.904839 -0.161006 -0.394537 0.904664 -0.161009 \n-0.460882 0.879345 0.119755 -0.460672 0.879402 0.120136 \n-0.454262 0.868535 0.198227 -0.454092 0.868711 0.197844 \n-0.394136 0.904839 0.161006 -0.394537 0.904664 0.161009 \n0.200368 -0.978852 -0.0412509 0.200154 -0.978912 -0.0408736 \n0.200368 -0.978852 0.0412509 0.200154 -0.978912 0.0408736 \n0.133523 -0.991046 0 0.133975 -0.990985 -4.36944e-010 \n0.454262 -0.868535 -0.198227 0.454092 -0.868711 -0.197844 \n0.460882 -0.879345 -0.119755 0.460672 -0.879402 -0.120136 \n0.394136 -0.904839 -0.161006 0.394537 -0.904664 -0.161009 \n0.460882 -0.879345 0.119755 0.460672 -0.879402 0.120136 \n0.454262 -0.868535 0.198227 0.454092 -0.868711 0.197844 \n0.394136 -0.904839 0.161006 0.394537 -0.904664 0.161009 \n-0.200368 -0.978852 0.0412509 -0.200154 -0.978912 0.0408736 \n-0.200368 -0.978852 -0.0412509 -0.200154 -0.978912 -0.0408736 \n-0.133523 -0.991046 0 -0.133975 -0.990985 4.36944e-010 \n-0.454262 -0.868535 0.198227 -0.454092 -0.868711 0.197844 \n-0.460882 -0.879345 0.119755 -0.460672 -0.879402 0.120136 \n-0.394136 -0.904839 0.161006 -0.394537 -0.904664 0.161009 \n-0.460882 -0.879345 -0.119755 -0.460672 -0.879402 -0.120136 \n-0.454262 -0.868535 -0.198227 -0.454092 -0.868711 -0.197844 \n-0.394136 -0.904839 -0.161006 -0.394537 -0.904664 -0.161009 \n0.978852 -0.0412509 -0.200368 0.978912 -0.0408736 -0.200154 \n0.978852 0.0412509 -0.200368 0.978912 0.0408736 -0.200154 \n0.991046 0 -0.133523 0.990985 -4.36944e-010 -0.133975 \n0.868535 -0.198227 -0.454262 0.868711 -0.197844 -0.454092 \n0.879345 -0.119755 -0.460882 0.879402 -0.120136 -0.460672 \n0.904839 -0.161006 -0.394136 0.904664 -0.16101 -0.394537 \n0.879345 0.119755 -0.460882 0.879402 0.120136 -0.460672 \n0.868535 0.198227 -0.454262 0.868711 0.197844 -0.454092 \n0.904839 0.161006 -0.394136 0.904663 0.16101 -0.394537 \n0.978852 0.0412509 0.200368 0.978912 0.0408736 0.200154 \n0.978852 -0.0412509 0.200368 0.978912 -0.0408736 0.200154 \n0.991046 0 0.133523 0.990985 4.36944e-010 0.133975 \n0.868535 0.198227 0.454262 0.868711 0.197844 0.454092 \n0.879345 0.119755 0.460882 0.879402 0.120136 0.460672 \n0.904839 0.161006 0.394136 0.904664 0.16101 0.394537 \n0.879345 -0.119755 0.460882 0.879402 -0.120136 0.460672 \n0.868535 -0.198227 0.454262 0.868711 -0.197844 0.454092 \n0.904839 -0.161006 0.394136 0.904663 -0.16101 0.394537 \n-0.978852 -0.0412509 0.200368 -0.978912 -0.0408736 0.200154 \n-0.978852 0.0412509 0.200368 -0.978912 0.0408736 0.200154 \n-0.991046 0 0.133523 -0.990985 -4.36944e-010 0.133975 \n-0.868535 -0.198227 0.454262 -0.868711 -0.197844 0.454092 \n-0.879345 -0.119755 0.460882 -0.879402 -0.120136 0.460672 \n-0.904839 -0.161006 0.394136 -0.904664 -0.16101 0.394537 \n-0.879345 0.119755 0.460882 -0.879402 0.120136 0.460672 \n-0.868535 0.198227 0.454262 -0.868711 0.197844 0.454092 \n-0.904839 0.161006 0.394136 -0.904663 0.16101 0.394537 \n-0.978852 0.0412509 -0.200368 -0.978912 0.0408736 -0.200154 \n-0.978852 -0.0412509 -0.200368 -0.978912 -0.0408736 -0.200154 \n-0.991046 0 -0.133523 -0.990985 4.36944e-010 -0.133975 \n-0.868535 0.198227 -0.454262 -0.868711 0.197844 -0.454092 \n-0.879345 0.119755 -0.460882 -0.879402 0.120136 -0.460672 \n-0.904839 0.161006 -0.394136 -0.904664 0.16101 -0.394537 \n-0.879345 -0.119755 -0.460882 -0.879402 -0.120136 -0.460672 \n-0.868535 -0.198227 -0.454262 -0.868711 -0.197844 -0.454092 \n-0.904839 -0.161006 -0.394136 -0.904663 -0.16101 -0.394537 \n-0.0412509 -0.200368 0.978852 -0.0408738 -0.200154 0.978912 \n0.0412509 -0.200368 0.978852 0.0408738 -0.200154 0.978912 \n0 -0.133523 0.991046 4.36944e-010 -0.133974 0.990985 \n-0.198227 -0.454262 0.868535 -0.197844 -0.454092 0.868711 \n-0.119755 -0.460882 0.879345 -0.120136 -0.460672 0.879402 \n-0.161006 -0.394136 0.904839 -0.16101 -0.394537 0.904664 \n0.119755 -0.460882 0.879345 0.120136 -0.460672 0.879402 \n0.198227 -0.454262 0.868535 0.197844 -0.454092 0.868711 \n0.161006 -0.394136 0.904839 0.16101 -0.394537 0.904664 \n0.0412509 0.200368 0.978852 0.0408738 0.200154 0.978912 \n-0.0412509 0.200368 0.978852 -0.0408738 0.200154 0.978912 \n0 0.133523 0.991046 -4.36944e-010 0.133974 0.990985 \n0.198227 0.454262 0.868535 0.197844 0.454092 0.868711 \n0.119755 0.460882 0.879345 0.120136 0.460672 0.879402 \n0.161006 0.394136 0.904839 0.16101 0.394537 0.904664 \n-0.119755 0.460882 0.879345 -0.120136 0.460672 0.879402 \n-0.198227 0.454262 0.868535 -0.197844 0.454092 0.868711 \n-0.161006 0.394136 0.904839 -0.16101 0.394537 0.904664 \n-0.0412509 0.200368 -0.978852 -0.0408738 0.200154 -0.978912 \n0.0412509 0.200368 -0.978852 0.0408738 0.200154 -0.978912 \n0 0.133523 -0.991046 4.36944e-010 0.133974 -0.990985 \n-0.198227 0.454262 -0.868535 -0.197844 0.454092 -0.868711 \n-0.119755 0.460882 -0.879345 -0.120136 0.460672 -0.879402 \n-0.161006 0.394136 -0.904839 -0.16101 0.394537 -0.904664 \n0.119755 0.460882 -0.879345 0.120136 0.460672 -0.879402 \n0.198227 0.454262 -0.868535 0.197844 0.454092 -0.868711 \n0.161006 0.394136 -0.904839 0.16101 0.394537 -0.904664 \n0.0412509 -0.200368 -0.978852 0.0408738 -0.200154 -0.978912 \n-0.0412509 -0.200368 -0.978852 -0.0408738 -0.200154 -0.978912 \n0 -0.133523 -0.991046 -4.36944e-010 -0.133974 -0.990985 \n0.198227 -0.454262 -0.868535 0.197844 -0.454092 -0.868711 \n0.119755 -0.460882 -0.879345 0.120136 -0.460672 -0.879402 \n0.161006 -0.394136 -0.904839 0.16101 -0.394537 -0.904664 \n-0.119755 -0.460882 -0.879345 -0.120136 -0.460672 -0.879402 \n-0.198227 -0.454262 -0.868535 -0.197844 -0.454092 -0.868711 \n-0.161006 -0.394136 -0.904839 -0.16101 -0.394537 -0.904664 \n0.485208 0.51797 0.704471 0.484865 0.518239 0.70451 \n0.443957 0.584716 0.678977 0.443991 0.584374 0.679249 \n0.414273 0.536784 0.735011 0.414618 0.536893 0.734736 \n0.735011 0.414273 0.536784 0.734737 0.414618 0.536893 \n0.704471 0.485208 0.51797 0.70451 0.484865 0.518239 \n0.678977 0.443957 0.584716 0.679249 0.44399 0.584374 \n0.584716 0.678977 0.443957 0.584374 0.679249 0.443991 \n0.536784 0.735011 0.414273 0.536893 0.734737 0.414618 \n0.51797 0.704471 0.485208 0.518239 0.70451 0.484865 \n-0.584716 0.678977 0.443957 -0.584374 0.679249 0.443991 \n-0.51797 0.704471 0.485208 -0.518239 0.70451 0.484865 \n-0.536784 0.735011 0.414273 -0.536893 0.734737 0.414618 \n-0.735011 0.414273 0.536784 -0.734737 0.414618 0.536893 \n-0.678977 0.443957 0.584716 -0.679249 0.44399 0.584374 \n-0.704471 0.485208 0.51797 -0.70451 0.484865 0.518239 \n-0.485208 0.51797 0.704471 -0.484865 0.518239 0.70451 \n-0.414273 0.536784 0.735011 -0.414618 0.536893 0.734736 \n-0.443957 0.584716 0.678977 -0.443991 0.584374 0.679249 \n0.584716 0.678977 -0.443957 0.584374 0.679249 -0.443991 \n0.51797 0.704471 -0.485208 0.518239 0.70451 -0.484865 \n0.536784 0.735011 -0.414273 0.536893 0.734737 -0.414618 \n0.735011 0.414273 -0.536784 0.734737 0.414618 -0.536893 \n0.678977 0.443957 -0.584716 0.679249 0.44399 -0.584374 \n0.704471 0.485208 -0.51797 0.70451 0.484865 -0.518239 \n0.485208 0.51797 -0.704471 0.484865 0.518239 -0.70451 \n0.414273 0.536784 -0.735011 0.414618 0.536893 -0.734736 \n0.443957 0.584716 -0.678977 0.443991 0.584374 -0.679249 \n-0.485208 0.51797 -0.704471 -0.484865 0.518239 -0.70451 \n-0.443957 0.584716 -0.678977 -0.443991 0.584374 -0.679249 \n-0.414273 0.536784 -0.735011 -0.414618 0.536893 -0.734736 \n-0.735011 0.414273 -0.536784 -0.734737 0.414618 -0.536893 \n-0.704471 0.485208 -0.51797 -0.70451 0.484865 -0.518239 \n-0.678977 0.443957 -0.584716 -0.679249 0.44399 -0.584374 \n-0.584716 0.678977 -0.443957 -0.584374 0.679249 -0.443991 \n-0.536784 0.735011 -0.414273 -0.536893 0.734737 -0.414618 \n-0.51797 0.704471 -0.485208 -0.518239 0.70451 -0.484865 \n0.584716 -0.678977 0.443957 0.584374 -0.679249 0.443991 \n0.51797 -0.704471 0.485208 0.518239 -0.70451 0.484865 \n0.536784 -0.735011 0.414273 0.536893 -0.734737 0.414618 \n0.735011 -0.414273 0.536784 0.734737 -0.414618 0.536893 \n0.678977 -0.443957 0.584716 0.679249 -0.44399 0.584374 \n0.704471 -0.485208 0.51797 0.70451 -0.484865 0.518239 \n0.485208 -0.51797 0.704471 0.484865 -0.518239 0.70451 \n0.414273 -0.536784 0.735011 0.414618 -0.536893 0.734736 \n0.443957 -0.584716 0.678977 0.443991 -0.584374 0.679249 \n-0.485208 -0.51797 0.704471 -0.484865 -0.518239 0.70451 \n-0.443957 -0.584716 0.678977 -0.443991 -0.584374 0.679249 \n-0.414273 -0.536784 0.735011 -0.414618 -0.536893 0.734736 \n-0.735011 -0.414273 0.536784 -0.734737 -0.414618 0.536893 \n-0.704471 -0.485208 0.51797 -0.70451 -0.484865 0.518239 \n-0.678977 -0.443957 0.584716 -0.679249 -0.44399 0.584374 \n-0.584716 -0.678977 0.443957 -0.584374 -0.679249 0.443991 \n-0.536784 -0.735011 0.414273 -0.536893 -0.734737 0.414618 \n-0.51797 -0.704471 0.485208 -0.518239 -0.70451 0.484865 \n0.485208 -0.51797 -0.704471 0.484865 -0.518239 -0.70451 \n0.443957 -0.584716 -0.678977 0.443991 -0.584374 -0.679249 \n0.414273 -0.536784 -0.735011 0.414618 -0.536893 -0.734736 \n0.735011 -0.414273 -0.536784 0.734737 -0.414618 -0.536893 \n0.704471 -0.485208 -0.51797 0.70451 -0.484865 -0.518239 \n0.678977 -0.443957 -0.584716 0.679249 -0.44399 -0.584374 \n0.584716 -0.678977 -0.443957 0.584374 -0.679249 -0.443991 \n0.536784 -0.735011 -0.414273 0.536893 -0.734737 -0.414618 \n0.51797 -0.704471 -0.485208 0.518239 -0.70451 -0.484865 \n-0.584716 -0.678977 -0.443957 -0.584374 -0.679249 -0.443991 \n-0.51797 -0.704471 -0.485208 -0.518239 -0.70451 -0.484865 \n-0.536784 -0.735011 -0.414273 -0.536893 -0.734737 -0.414618 \n-0.735011 -0.414273 -0.536784 -0.734737 -0.414618 -0.536893 \n-0.678977 -0.443957 -0.584716 -0.679249 -0.44399 -0.584374 \n-0.704471 -0.485208 -0.51797 -0.70451 -0.484865 -0.518239 \n-0.485208 -0.51797 -0.704471 -0.484865 -0.518239 -0.70451 \n-0.414273 -0.536784 -0.735011 -0.414618 -0.536893 -0.734736 \n-0.443957 -0.584716 -0.678977 -0.443991 -0.584374 -0.679249 \n0.0659884 0.921919 -0.381722 0.0661102 0.921798 -0.381991 \n0.131749 0.896801 -0.422364 0.131433 0.896847 -0.422363 \n0.0658169 0.892927 -0.445365 0.0660342 0.893048 -0.445089 \n0.0667094 0.991648 -0.110385 0.0668515 0.991605 -0.110685 \n0.133256 0.979426 -0.151549 0.132937 0.97947 -0.151543 \n0.0666044 0.981483 -0.179596 0.0668051 0.981525 -0.179292 \n0.325929 0.905832 -0.270627 0.326054 0.905706 -0.270897 \n0.385906 0.869725 -0.307659 0.385599 0.869854 -0.307681 \n0.324863 0.882837 -0.339209 0.325068 0.882877 -0.338908 \n0.0666044 0.981483 0.179596 0.0668051 0.981525 0.179292 \n0.133256 0.979426 0.151549 0.132937 0.97947 0.151543 \n0.0667094 0.991648 0.110385 0.0668515 0.991605 0.110685 \n0.0658169 0.892927 0.445365 0.0660342 0.893048 0.445089 \n0.131749 0.896801 0.422364 0.131433 0.896847 0.422363 \n0.0659884 0.921919 0.381722 0.0661102 0.921798 0.381991 \n0.324863 0.882837 0.339209 0.325068 0.882877 0.338908 \n0.385906 0.869725 0.307659 0.385599 0.869854 0.307681 \n0.325929 0.905832 0.270627 0.326054 0.905706 0.270897 \n0.57114 0.812169 -0.119078 0.571257 0.812047 -0.119353 \n0.615456 0.771841 -0.159613 0.615169 0.772068 -0.159615 \n0.564513 0.801504 -0.197274 0.56469 0.801447 -0.196997 \n0.564513 0.801504 0.197274 0.56469 0.801447 0.196997 \n0.615456 0.771841 0.159613 0.615169 0.772068 0.159615 \n0.57114 0.812169 0.119078 0.571257 0.812047 0.119353 \n0.749387 0.660884 0.0406421 0.749507 0.660764 0.0403719 \n0.786433 0.617676 0 0.786203 0.617968 0 \n0.749387 0.660884 -0.0406421 0.749507 0.660764 -0.0403719 \n-0.0659884 0.921919 0.381722 -0.0661102 0.921798 0.381991 \n-0.131749 0.896801 0.422364 -0.131433 0.896847 0.422363 \n-0.0658169 0.892927 0.445365 -0.0660342 0.893048 0.445089 \n-0.0667094 0.991648 0.110385 -0.0668515 0.991605 0.110685 \n-0.133256 0.979426 0.151549 -0.132937 0.97947 0.151543 \n-0.0666044 0.981483 0.179596 -0.0668051 0.981525 0.179292 \n-0.325929 0.905832 0.270627 -0.326054 0.905706 0.270897 \n-0.385906 0.869725 0.307659 -0.385599 0.869854 0.307681 \n-0.324863 0.882837 0.339209 -0.325068 0.882877 0.338908 \n-0.0666044 0.981483 -0.179596 -0.0668051 0.981525 -0.179292 \n-0.133256 0.979426 -0.151549 -0.132937 0.97947 -0.151543 \n-0.0667094 0.991648 -0.110385 -0.0668515 0.991605 -0.110685 \n-0.0658169 0.892927 -0.445365 -0.0660342 0.893048 -0.445089 \n-0.131749 0.896801 -0.422364 -0.131433 0.896847 -0.422363 \n-0.0659884 0.921919 -0.381722 -0.0661102 0.921798 -0.381991 \n-0.324863 0.882837 -0.339209 -0.325068 0.882877 -0.338908 \n-0.385906 0.869725 -0.307659 -0.385599 0.869854 -0.307681 \n-0.325929 0.905832 -0.270627 -0.326054 0.905706 -0.270897 \n-0.57114 0.812169 0.119078 -0.571257 0.812047 0.119353 \n-0.615456 0.771841 0.159613 -0.615169 0.772068 0.159615 \n-0.564513 0.801504 0.197274 -0.56469 0.801447 0.196997 \n-0.564513 0.801504 -0.197274 -0.56469 0.801447 -0.196997 \n-0.615456 0.771841 -0.159613 -0.615169 0.772068 -0.159615 \n-0.57114 0.812169 -0.119078 -0.571257 0.812047 -0.119353 \n-0.749387 0.660884 -0.0406421 -0.749507 0.660764 -0.0403719 \n-0.786433 0.617676 0 -0.786203 0.617968 0 \n-0.749387 0.660884 0.0406421 -0.749507 0.660764 0.0403719 \n0.0659884 -0.921919 0.381722 0.0661102 -0.921798 0.381991 \n0.131749 -0.896801 0.422364 0.131433 -0.896847 0.422363 \n0.0658169 -0.892927 0.445365 0.0660342 -0.893048 0.445089 \n0.0667094 -0.991648 0.110385 0.0668515 -0.991605 0.110685 \n0.133256 -0.979426 0.151549 0.132937 -0.97947 0.151543 \n0.0666044 -0.981483 0.179596 0.0668051 -0.981525 0.179292 \n0.325929 -0.905832 0.270627 0.326054 -0.905706 0.270897 \n0.385906 -0.869725 0.307659 0.385599 -0.869854 0.307681 \n0.324863 -0.882837 0.339209 0.325068 -0.882877 0.338908 \n0.0666044 -0.981483 -0.179596 0.0668051 -0.981525 -0.179292 \n0.133256 -0.979426 -0.151549 0.132937 -0.97947 -0.151543 \n0.0667094 -0.991648 -0.110385 0.0668515 -0.991605 -0.110685 \n0.0658169 -0.892927 -0.445365 0.0660342 -0.893048 -0.445089 \n0.131749 -0.896801 -0.422364 0.131433 -0.896847 -0.422363 \n0.0659884 -0.921919 -0.381722 0.0661102 -0.921798 -0.381991 \n0.324863 -0.882837 -0.339209 0.325068 -0.882877 -0.338908 \n0.385906 -0.869725 -0.307659 0.385599 -0.869854 -0.307681 \n0.325929 -0.905832 -0.270627 0.326054 -0.905706 -0.270897 \n0.57114 -0.812169 0.119078 0.571257 -0.812047 0.119353 \n0.615456 -0.771841 0.159613 0.615169 -0.772068 0.159615 \n0.564513 -0.801504 0.197274 0.56469 -0.801447 0.196997 \n0.564513 -0.801504 -0.197274 0.56469 -0.801447 -0.196997 \n0.615456 -0.771841 -0.159613 0.615169 -0.772068 -0.159615 \n0.57114 -0.812169 -0.119078 0.571257 -0.812047 -0.119353 \n0.749387 -0.660884 -0.0406421 0.749507 -0.660764 -0.0403719 \n0.786433 -0.617676 0 0.786203 -0.617968 0 \n0.749387 -0.660884 0.0406421 0.749507 -0.660764 0.0403719 \n-0.0659884 -0.921919 -0.381722 -0.0661102 -0.921798 -0.381991 \n-0.131749 -0.896801 -0.422364 -0.131433 -0.896847 -0.422363 \n-0.0658169 -0.892927 -0.445365 -0.0660342 -0.893048 -0.445089 \n-0.0667094 -0.991648 -0.110385 -0.0668515 -0.991605 -0.110685 \n-0.133256 -0.979426 -0.151549 -0.132937 -0.97947 -0.151543 \n-0.0666044 -0.981483 -0.179596 -0.0668051 -0.981525 -0.179292 \n-0.325929 -0.905832 -0.270627 -0.326054 -0.905706 -0.270897 \n-0.385906 -0.869725 -0.307659 -0.385599 -0.869854 -0.307681 \n-0.324863 -0.882837 -0.339209 -0.325068 -0.882877 -0.338908 \n-0.0666044 -0.981483 0.179596 -0.0668051 -0.981525 0.179292 \n-0.133256 -0.979426 0.151549 -0.132937 -0.97947 0.151543 \n-0.0667094 -0.991648 0.110385 -0.0668515 -0.991605 0.110685 \n-0.0658169 -0.892927 0.445365 -0.0660342 -0.893048 0.445089 \n-0.131749 -0.896801 0.422364 -0.131433 -0.896847 0.422363 \n-0.0659884 -0.921919 0.381722 -0.0661102 -0.921798 0.381991 \n-0.324863 -0.882837 0.339209 -0.325068 -0.882877 0.338908 \n-0.385906 -0.869725 0.307659 -0.385599 -0.869854 0.307681 \n-0.325929 -0.905832 0.270627 -0.326054 -0.905706 0.270897 \n-0.57114 -0.812169 -0.119078 -0.571257 -0.812047 -0.119353 \n-0.615456 -0.771841 -0.159613 -0.615169 -0.772068 -0.159615 \n-0.564513 -0.801504 -0.197274 -0.56469 -0.801447 -0.196997 \n-0.564513 -0.801504 0.197274 -0.56469 -0.801447 0.196997 \n-0.615456 -0.771841 0.159613 -0.615169 -0.772068 0.159615 \n-0.57114 -0.812169 0.119078 -0.571257 -0.812047 0.119353 \n-0.749387 -0.660884 0.0406421 -0.749507 -0.660764 0.0403719 \n-0.786433 -0.617676 0 -0.786203 -0.617968 0 \n-0.749387 -0.660884 -0.0406421 -0.749507 -0.660764 -0.0403719 \n0.921919 0.381722 -0.0659884 0.921798 0.381991 -0.0661102 \n0.896801 0.422364 -0.131749 0.896847 0.422363 -0.131433 \n0.892927 0.445365 -0.0658169 0.893048 0.445089 -0.0660342 \n0.991648 0.110385 -0.0667094 0.991605 0.110685 -0.0668515 \n0.979426 0.151549 -0.133256 0.97947 0.151543 -0.132937 \n0.981483 0.179596 -0.0666044 0.981525 0.179292 -0.0668051 \n0.905832 0.270627 -0.325929 0.905706 0.270896 -0.326054 \n0.869725 0.307659 -0.385906 0.869854 0.307681 -0.385599 \n0.882837 0.339209 -0.324863 0.882877 0.338908 -0.325068 \n0.981483 -0.179596 -0.0666044 0.981525 -0.179292 -0.0668051 \n0.979426 -0.151549 -0.133256 0.97947 -0.151543 -0.132937 \n0.991648 -0.110385 -0.0667094 0.991605 -0.110685 -0.0668515 \n0.892927 -0.445365 -0.0658169 0.893048 -0.445089 -0.0660342 \n0.896801 -0.422364 -0.131749 0.896847 -0.422363 -0.131433 \n0.921919 -0.381722 -0.0659884 0.921798 -0.381991 -0.0661102 \n0.882837 -0.339209 -0.324863 0.882877 -0.338908 -0.325068 \n0.869725 -0.307659 -0.385906 0.869854 -0.307681 -0.385599 \n0.905832 -0.270627 -0.325929 0.905706 -0.270896 -0.326054 \n0.812169 0.119078 -0.57114 0.812047 0.119353 -0.571257 \n0.771841 0.159613 -0.615456 0.772068 0.159615 -0.615169 \n0.801504 0.197274 -0.564513 0.801447 0.196997 -0.56469 \n0.801504 -0.197274 -0.564513 0.801447 -0.196997 -0.56469 \n0.771841 -0.159613 -0.615456 0.772068 -0.159615 -0.615169 \n0.812169 -0.119078 -0.57114 0.812047 -0.119353 -0.571257 \n0.660884 -0.0406421 -0.749387 0.660764 -0.0403717 -0.749508 \n0.617676 0 -0.786433 0.617968 5.29036e-010 -0.786203 \n0.660884 0.0406421 -0.749387 0.660764 0.0403717 -0.749507 \n0.921919 -0.381722 0.0659884 0.921798 -0.381991 0.0661102 \n0.896801 -0.422364 0.131749 0.896847 -0.422363 0.131433 \n0.892927 -0.445365 0.0658169 0.893048 -0.445089 0.0660342 \n0.991648 -0.110385 0.0667094 0.991605 -0.110685 0.0668515 \n0.979426 -0.151549 0.133256 0.97947 -0.151543 0.132937 \n0.981483 -0.179596 0.0666044 0.981525 -0.179292 0.0668051 \n0.905832 -0.270627 0.325929 0.905706 -0.270896 0.326054 \n0.869725 -0.307659 0.385906 0.869854 -0.307681 0.385599 \n0.882837 -0.339209 0.324863 0.882877 -0.338908 0.325068 \n0.981483 0.179596 0.0666044 0.981525 0.179292 0.0668051 \n0.979426 0.151549 0.133256 0.97947 0.151543 0.132937 \n0.991648 0.110385 0.0667094 0.991605 0.110685 0.0668515 \n0.892927 0.445365 0.0658169 0.893048 0.445089 0.0660342 \n0.896801 0.422364 0.131749 0.896847 0.422363 0.131433 \n0.921919 0.381722 0.0659884 0.921798 0.381991 0.0661102 \n0.882837 0.339209 0.324863 0.882877 0.338908 0.325068 \n0.869725 0.307659 0.385906 0.869854 0.307681 0.385599 \n0.905832 0.270627 0.325929 0.905706 0.270896 0.326054 \n0.812169 -0.119078 0.57114 0.812047 -0.119353 0.571257 \n0.771841 -0.159613 0.615456 0.772068 -0.159615 0.615169 \n0.801504 -0.197274 0.564513 0.801447 -0.196997 0.56469 \n0.801504 0.197274 0.564513 0.801447 0.196997 0.56469 \n0.771841 0.159613 0.615456 0.772068 0.159615 0.615169 \n0.812169 0.119078 0.57114 0.812047 0.119353 0.571257 \n0.660884 0.0406421 0.749387 0.660764 0.0403717 0.749508 \n0.617676 0 0.786433 0.617968 -5.29036e-010 0.786203 \n0.660884 -0.0406421 0.749387 0.660764 -0.0403717 0.749507 \n-0.921919 0.381722 0.0659884 -0.921798 0.381991 0.0661102 \n-0.896801 0.422364 0.131749 -0.896847 0.422363 0.131433 \n-0.892927 0.445365 0.0658169 -0.893048 0.445089 0.0660342 \n-0.991648 0.110385 0.0667094 -0.991605 0.110685 0.0668515 \n-0.979426 0.151549 0.133256 -0.97947 0.151543 0.132937 \n-0.981483 0.179596 0.0666044 -0.981525 0.179292 0.0668051 \n-0.905832 0.270627 0.325929 -0.905706 0.270896 0.326054 \n-0.869725 0.307659 0.385906 -0.869854 0.307681 0.385599 \n-0.882837 0.339209 0.324863 -0.882877 0.338908 0.325068 \n-0.981483 -0.179596 0.0666044 -0.981525 -0.179292 0.0668051 \n-0.979426 -0.151549 0.133256 -0.97947 -0.151543 0.132937 \n-0.991648 -0.110385 0.0667094 -0.991605 -0.110685 0.0668515 \n-0.892927 -0.445365 0.0658169 -0.893048 -0.445089 0.0660342 \n-0.896801 -0.422364 0.131749 -0.896847 -0.422363 0.131433 \n-0.921919 -0.381722 0.0659884 -0.921798 -0.381991 0.0661102 \n-0.882837 -0.339209 0.324863 -0.882877 -0.338908 0.325068 \n-0.869725 -0.307659 0.385906 -0.869854 -0.307681 0.385599 \n-0.905832 -0.270627 0.325929 -0.905706 -0.270896 0.326054 \n-0.812169 0.119078 0.57114 -0.812047 0.119353 0.571257 \n-0.771841 0.159613 0.615456 -0.772068 0.159615 0.615169 \n-0.801504 0.197274 0.564513 -0.801447 0.196997 0.56469 \n-0.801504 -0.197274 0.564513 -0.801447 -0.196997 0.56469 \n-0.771841 -0.159613 0.615456 -0.772068 -0.159615 0.615169 \n-0.812169 -0.119078 0.57114 -0.812047 -0.119353 0.571257 \n-0.660884 -0.0406421 0.749387 -0.660764 -0.0403717 0.749508 \n-0.617676 0 0.786433 -0.617968 5.29036e-010 0.786203 \n-0.660884 0.0406421 0.749387 -0.660764 0.0403717 0.749507 \n-0.921919 -0.381722 -0.0659884 -0.921798 -0.381991 -0.0661102 \n-0.896801 -0.422364 -0.131749 -0.896847 -0.422363 -0.131433 \n-0.892927 -0.445365 -0.0658169 -0.893048 -0.445089 -0.0660342 \n-0.991648 -0.110385 -0.0667094 -0.991605 -0.110685 -0.0668515 \n-0.979426 -0.151549 -0.133256 -0.97947 -0.151543 -0.132937 \n-0.981483 -0.179596 -0.0666044 -0.981525 -0.179292 -0.0668051 \n-0.905832 -0.270627 -0.325929 -0.905706 -0.270896 -0.326054 \n-0.869725 -0.307659 -0.385906 -0.869854 -0.307681 -0.385599 \n-0.882837 -0.339209 -0.324863 -0.882877 -0.338908 -0.325068 \n-0.981483 0.179596 -0.0666044 -0.981525 0.179292 -0.0668051 \n-0.979426 0.151549 -0.133256 -0.97947 0.151543 -0.132937 \n-0.991648 0.110385 -0.0667094 -0.991605 0.110685 -0.0668515 \n-0.892927 0.445365 -0.0658169 -0.893048 0.445089 -0.0660342 \n-0.896801 0.422364 -0.131749 -0.896847 0.422363 -0.131433 \n-0.921919 0.381722 -0.0659884 -0.921798 0.381991 -0.0661102 \n-0.882837 0.339209 -0.324863 -0.882877 0.338908 -0.325068 \n-0.869725 0.307659 -0.385906 -0.869854 0.307681 -0.385599 \n-0.905832 0.270627 -0.325929 -0.905706 0.270896 -0.326054 \n-0.812169 -0.119078 -0.57114 -0.812047 -0.119353 -0.571257 \n-0.771841 -0.159613 -0.615456 -0.772068 -0.159615 -0.615169 \n-0.801504 -0.197274 -0.564513 -0.801447 -0.196997 -0.56469 \n-0.801504 0.197274 -0.564513 -0.801447 0.196997 -0.56469 \n-0.771841 0.159613 -0.615456 -0.772068 0.159615 -0.615169 \n-0.812169 0.119078 -0.57114 -0.812047 0.119353 -0.571257 \n-0.660884 0.0406421 -0.749387 -0.660764 0.0403717 -0.749508 \n-0.617676 0 -0.786433 -0.617968 -5.29036e-010 -0.786203 \n-0.660884 -0.0406421 -0.749387 -0.660764 -0.0403717 -0.749507 \n0.381722 -0.0659884 0.921919 0.381991 -0.0661103 0.921798 \n0.422364 -0.131749 0.896801 0.422363 -0.131433 0.896847 \n0.445365 -0.0658169 0.892927 0.445089 -0.0660342 0.893048 \n0.110385 -0.0667094 0.991648 0.110685 -0.0668513 0.991605 \n0.151549 -0.133256 0.979426 0.151543 -0.132937 0.97947 \n0.179596 -0.0666044 0.981483 0.179292 -0.0668049 0.981525 \n0.270627 -0.325929 0.905832 0.270896 -0.326054 0.905706 \n0.307659 -0.385906 0.869725 0.307681 -0.385599 0.869854 \n0.339209 -0.324863 0.882837 0.338908 -0.325068 0.882877 \n-0.179596 -0.0666044 0.981483 -0.179292 -0.0668049 0.981525 \n-0.151549 -0.133256 0.979426 -0.151543 -0.132937 0.97947 \n-0.110385 -0.0667094 0.991648 -0.110685 -0.0668513 0.991605 \n-0.445365 -0.0658169 0.892927 -0.445089 -0.0660342 0.893048 \n-0.422364 -0.131749 0.896801 -0.422363 -0.131433 0.896847 \n-0.381722 -0.0659884 0.921919 -0.381991 -0.0661103 0.921798 \n-0.339209 -0.324863 0.882837 -0.338908 -0.325068 0.882877 \n-0.307659 -0.385906 0.869725 -0.307681 -0.385599 0.869854 \n-0.270627 -0.325929 0.905832 -0.270896 -0.326054 0.905706 \n0.119078 -0.57114 0.812169 0.119353 -0.571257 0.812047 \n0.159613 -0.615456 0.771841 0.159615 -0.615169 0.772068 \n0.197274 -0.564513 0.801504 0.196997 -0.56469 0.801447 \n-0.197274 -0.564513 0.801504 -0.196997 -0.56469 0.801447 \n-0.159613 -0.615456 0.771841 -0.159615 -0.615169 0.772068 \n-0.119078 -0.57114 0.812169 -0.119353 -0.571257 0.812047 \n-0.0406421 -0.749387 0.660884 -0.0403717 -0.749508 0.660764 \n0 -0.786433 0.617676 0 -0.786203 0.617968 \n0.0406421 -0.749387 0.660884 0.0403717 -0.749507 0.660764 \n-0.381722 0.0659884 0.921919 -0.381991 0.0661103 0.921798 \n-0.422364 0.131749 0.896801 -0.422363 0.131433 0.896847 \n-0.445365 0.0658169 0.892927 -0.445089 0.0660342 0.893048 \n-0.110385 0.0667094 0.991648 -0.110685 0.0668513 0.991605 \n-0.151549 0.133256 0.979426 -0.151543 0.132937 0.97947 \n-0.179596 0.0666044 0.981483 -0.179292 0.0668049 0.981525 \n-0.270627 0.325929 0.905832 -0.270896 0.326054 0.905706 \n-0.307659 0.385906 0.869725 -0.307681 0.385599 0.869854 \n-0.339209 0.324863 0.882837 -0.338908 0.325068 0.882877 \n0.179596 0.0666044 0.981483 0.179292 0.0668049 0.981525 \n0.151549 0.133256 0.979426 0.151543 0.132937 0.97947 \n0.110385 0.0667094 0.991648 0.110685 0.0668513 0.991605 \n0.445365 0.0658169 0.892927 0.445089 0.0660342 0.893048 \n0.422364 0.131749 0.896801 0.422363 0.131433 0.896847 \n0.381722 0.0659884 0.921919 0.381991 0.0661103 0.921798 \n0.339209 0.324863 0.882837 0.338908 0.325068 0.882877 \n0.307659 0.385906 0.869725 0.307681 0.385599 0.869854 \n0.270627 0.325929 0.905832 0.270896 0.326054 0.905706 \n-0.119078 0.57114 0.812169 -0.119353 0.571257 0.812047 \n-0.159613 0.615456 0.771841 -0.159615 0.615169 0.772068 \n-0.197274 0.564513 0.801504 -0.196997 0.56469 0.801447 \n0.197274 0.564513 0.801504 0.196997 0.56469 0.801447 \n0.159613 0.615456 0.771841 0.159615 0.615169 0.772068 \n0.119078 0.57114 0.812169 0.119353 0.571257 0.812047 \n0.0406421 0.749387 0.660884 0.0403717 0.749508 0.660764 \n0 0.786433 0.617676 0 0.786203 0.617968 \n-0.0406421 0.749387 0.660884 -0.0403717 0.749507 0.660764 \n0.381722 0.0659884 -0.921919 0.381991 0.0661103 -0.921798 \n0.422364 0.131749 -0.896801 0.422363 0.131433 -0.896847 \n0.445365 0.0658169 -0.892927 0.445089 0.0660342 -0.893048 \n0.110385 0.0667094 -0.991648 0.110685 0.0668513 -0.991605 \n0.151549 0.133256 -0.979426 0.151543 0.132937 -0.97947 \n0.179596 0.0666044 -0.981483 0.179292 0.0668049 -0.981525 \n0.270627 0.325929 -0.905832 0.270896 0.326054 -0.905706 \n0.307659 0.385906 -0.869725 0.307681 0.385599 -0.869854 \n0.339209 0.324863 -0.882837 0.338908 0.325068 -0.882877 \n-0.179596 0.0666044 -0.981483 -0.179292 0.0668049 -0.981525 \n-0.151549 0.133256 -0.979426 -0.151543 0.132937 -0.97947 \n-0.110385 0.0667094 -0.991648 -0.110685 0.0668513 -0.991605 \n-0.445365 0.0658169 -0.892927 -0.445089 0.0660342 -0.893048 \n-0.422364 0.131749 -0.896801 -0.422363 0.131433 -0.896847 \n-0.381722 0.0659884 -0.921919 -0.381991 0.0661103 -0.921798 \n-0.339209 0.324863 -0.882837 -0.338908 0.325068 -0.882877 \n-0.307659 0.385906 -0.869725 -0.307681 0.385599 -0.869854 \n-0.270627 0.325929 -0.905832 -0.270896 0.326054 -0.905706 \n0.119078 0.57114 -0.812169 0.119353 0.571257 -0.812047 \n0.159613 0.615456 -0.771841 0.159615 0.615169 -0.772068 \n0.197274 0.564513 -0.801504 0.196997 0.56469 -0.801447 \n-0.197274 0.564513 -0.801504 -0.196997 0.56469 -0.801447 \n-0.159613 0.615456 -0.771841 -0.159615 0.615169 -0.772068 \n-0.119078 0.57114 -0.812169 -0.119353 0.571257 -0.812047 \n-0.0406421 0.749387 -0.660884 -0.0403717 0.749508 -0.660764 \n0 0.786433 -0.617676 0 0.786203 -0.617968 \n0.0406421 0.749387 -0.660884 0.0403717 0.749507 -0.660764 \n-0.381722 -0.0659884 -0.921919 -0.381991 -0.0661103 -0.921798 \n-0.422364 -0.131749 -0.896801 -0.422363 -0.131433 -0.896847 \n-0.445365 -0.0658169 -0.892927 -0.445089 -0.0660342 -0.893048 \n-0.110385 -0.0667094 -0.991648 -0.110685 -0.0668513 -0.991605 \n-0.151549 -0.133256 -0.979426 -0.151543 -0.132937 -0.97947 \n-0.179596 -0.0666044 -0.981483 -0.179292 -0.0668049 -0.981525 \n-0.270627 -0.325929 -0.905832 -0.270896 -0.326054 -0.905706 \n-0.307659 -0.385906 -0.869725 -0.307681 -0.385599 -0.869854 \n-0.339209 -0.324863 -0.882837 -0.338908 -0.325068 -0.882877 \n0.179596 -0.0666044 -0.981483 0.179292 -0.0668049 -0.981525 \n0.151549 -0.133256 -0.979426 0.151543 -0.132937 -0.97947 \n0.110385 -0.0667094 -0.991648 0.110685 -0.0668513 -0.991605 \n0.445365 -0.0658169 -0.892927 0.445089 -0.0660342 -0.893048 \n0.422364 -0.131749 -0.896801 0.422363 -0.131433 -0.896847 \n0.381722 -0.0659884 -0.921919 0.381991 -0.0661103 -0.921798 \n0.339209 -0.324863 -0.882837 0.338908 -0.325068 -0.882877 \n0.307659 -0.385906 -0.869725 0.307681 -0.385599 -0.869854 \n0.270627 -0.325929 -0.905832 0.270896 -0.326054 -0.905706 \n-0.119078 -0.57114 -0.812169 -0.119353 -0.571257 -0.812047 \n-0.159613 -0.615456 -0.771841 -0.159615 -0.615169 -0.772068 \n-0.197274 -0.564513 -0.801504 -0.196997 -0.56469 -0.801447 \n0.197274 -0.564513 -0.801504 0.196997 -0.56469 -0.801447 \n0.159613 -0.615456 -0.771841 0.159615 -0.615169 -0.772068 \n0.119078 -0.57114 -0.812169 0.119353 -0.571257 -0.812047 \n0.0406421 -0.749387 -0.660884 0.0403717 -0.749508 -0.660764 \n0 -0.786433 -0.617676 0 -0.786203 -0.617968 \n-0.0406421 -0.749387 -0.660884 -0.0403717 -0.749507 -0.660764 \n0.147414 0.79017 0.594895 0.14734 0.790365 0.594654 \n0.172532 0.830812 0.529135 0.172291 0.830737 0.529331 \n0.106494 0.82711 0.551859 0.106845 0.827014 0.551934 \n0.305212 0.605742 0.734794 0.305165 0.606006 0.734596 \n0.334692 0.653497 0.678913 0.33445 0.653416 0.67911 \n0.267381 0.65662 0.705236 0.267708 0.656457 0.705263 \n0.408286 0.772575 0.486241 0.408214 0.772769 0.485993 \n0.427135 0.803016 0.415597 0.426915 0.803003 0.415849 \n0.366027 0.816233 0.446977 0.366356 0.816072 0.447001 \n0.446977 0.366027 0.816233 0.447 0.366356 0.816072 \n0.486241 0.408286 0.772575 0.485993 0.408214 0.772769 \n0.415597 0.427135 0.803016 0.415849 0.426915 0.803003 \n0.551859 0.106494 0.82711 0.551934 0.106845 0.827014 \n0.594895 0.147414 0.79017 0.594654 0.14734 0.790365 \n0.529135 0.172532 0.830812 0.529331 0.172291 0.830737 \n0.705236 0.267381 0.65662 0.705263 0.267708 0.656457 \n0.734794 0.305212 0.605742 0.734596 0.305165 0.606006 \n0.678913 0.334692 0.653497 0.67911 0.33445 0.653416 \n0.653497 0.678913 0.334692 0.653416 0.67911 0.33445 \n0.65662 0.705236 0.267381 0.656457 0.705263 0.267708 \n0.605742 0.734794 0.305212 0.606006 0.734596 0.305165 \n0.803016 0.415597 0.427135 0.803003 0.415849 0.426915 \n0.816233 0.446977 0.366027 0.816072 0.447001 0.366356 \n0.772575 0.486241 0.408286 0.77277 0.485993 0.408214 \n0.830812 0.529135 0.172532 0.830737 0.529331 0.172291 \n0.82711 0.551859 0.106494 0.827014 0.551934 0.106846 \n0.79017 0.594895 0.147413 0.790365 0.594654 0.14734 \n-0.172532 0.830812 0.529135 -0.172291 0.830737 0.529331 \n-0.147414 0.79017 0.594895 -0.14734 0.790365 0.594654 \n-0.106494 0.82711 0.551859 -0.106845 0.827014 0.551934 \n-0.427135 0.803016 0.415597 -0.426915 0.803003 0.415849 \n-0.408286 0.772575 0.486241 -0.408214 0.772769 0.485993 \n-0.366027 0.816233 0.446977 -0.366356 0.816072 0.447001 \n-0.334692 0.653497 0.678913 -0.33445 0.653416 0.67911 \n-0.305212 0.605742 0.734794 -0.305165 0.606006 0.734596 \n-0.267381 0.65662 0.705236 -0.267708 0.656457 0.705263 \n-0.65662 0.705236 0.267381 -0.656457 0.705263 0.267708 \n-0.653497 0.678913 0.334692 -0.653416 0.67911 0.33445 \n-0.605742 0.734794 0.305212 -0.606006 0.734596 0.305165 \n-0.82711 0.551859 0.106494 -0.827014 0.551934 0.106846 \n-0.830812 0.529135 0.172532 -0.830737 0.529331 0.172291 \n-0.79017 0.594895 0.147413 -0.790365 0.594654 0.14734 \n-0.816233 0.446977 0.366027 -0.816072 0.447001 0.366356 \n-0.803016 0.415597 0.427135 -0.803003 0.415849 0.426915 \n-0.772575 0.486241 0.408286 -0.77277 0.485992 0.408214 \n-0.486241 0.408286 0.772575 -0.485993 0.408214 0.772769 \n-0.446977 0.366027 0.816233 -0.447001 0.366356 0.816072 \n-0.415597 0.427135 0.803016 -0.415849 0.426915 0.803003 \n-0.734794 0.305212 0.605742 -0.734596 0.305165 0.606006 \n-0.705236 0.267381 0.65662 -0.705263 0.267708 0.656457 \n-0.678913 0.334692 0.653497 -0.67911 0.33445 0.653416 \n-0.594895 0.147414 0.79017 -0.594654 0.14734 0.790365 \n-0.551859 0.106494 0.82711 -0.551934 0.106845 0.827014 \n-0.529135 0.172532 0.830812 -0.529331 0.172291 0.830737 \n0.172532 0.830812 -0.529135 0.172291 0.830737 -0.529331 \n0.147414 0.79017 -0.594895 0.14734 0.790365 -0.594654 \n0.106494 0.82711 -0.551859 0.106845 0.827014 -0.551934 \n0.427135 0.803016 -0.415597 0.426915 0.803003 -0.415849 \n0.408286 0.772575 -0.486241 0.408214 0.772769 -0.485993 \n0.366027 0.816233 -0.446977 0.366356 0.816072 -0.447001 \n0.334692 0.653497 -0.678913 0.33445 0.653416 -0.67911 \n0.305212 0.605742 -0.734794 0.305165 0.606006 -0.734596 \n0.267381 0.65662 -0.705236 0.267708 0.656457 -0.705263 \n0.65662 0.705236 -0.267381 0.656457 0.705263 -0.267708 \n0.653497 0.678913 -0.334692 0.653416 0.67911 -0.33445 \n0.605742 0.734794 -0.305212 0.606006 0.734596 -0.305165 \n0.82711 0.551859 -0.106494 0.827014 0.551934 -0.106846 \n0.830812 0.529135 -0.172532 0.830737 0.529331 -0.172291 \n0.79017 0.594895 -0.147413 0.790365 0.594654 -0.14734 \n0.816233 0.446977 -0.366027 0.816072 0.447001 -0.366356 \n0.803016 0.415597 -0.427135 0.803003 0.415849 -0.426915 \n0.772575 0.486241 -0.408286 0.77277 0.485992 -0.408214 \n0.486241 0.408286 -0.772575 0.485993 0.408214 -0.772769 \n0.446977 0.366027 -0.816233 0.447001 0.366356 -0.816072 \n0.415597 0.427135 -0.803016 0.415849 0.426915 -0.803003 \n0.734794 0.305212 -0.605742 0.734596 0.305165 -0.606006 \n0.705236 0.267381 -0.65662 0.705263 0.267708 -0.656457 \n0.678913 0.334692 -0.653497 0.67911 0.33445 -0.653416 \n0.594895 0.147414 -0.79017 0.594654 0.14734 -0.790365 \n0.551859 0.106494 -0.82711 0.551934 0.106845 -0.827014 \n0.529135 0.172532 -0.830812 0.529331 0.172291 -0.830737 \n-0.147414 0.79017 -0.594895 -0.14734 0.790365 -0.594654 \n-0.172532 0.830812 -0.529135 -0.172291 0.830737 -0.529331 \n-0.106494 0.82711 -0.551859 -0.106845 0.827014 -0.551934 \n-0.305212 0.605742 -0.734794 -0.305165 0.606006 -0.734596 \n-0.334692 0.653497 -0.678913 -0.33445 0.653416 -0.67911 \n-0.267381 0.65662 -0.705236 -0.267708 0.656457 -0.705263 \n-0.408286 0.772575 -0.486241 -0.408214 0.772769 -0.485993 \n-0.427135 0.803016 -0.415597 -0.426915 0.803003 -0.415849 \n-0.366027 0.816233 -0.446977 -0.366356 0.816072 -0.447001 \n-0.446977 0.366027 -0.816233 -0.447 0.366356 -0.816072 \n-0.486241 0.408286 -0.772575 -0.485993 0.408214 -0.772769 \n-0.415597 0.427135 -0.803016 -0.415849 0.426915 -0.803003 \n-0.551859 0.106494 -0.82711 -0.551934 0.106845 -0.827014 \n-0.594895 0.147414 -0.79017 -0.594654 0.14734 -0.790365 \n-0.529135 0.172532 -0.830812 -0.529331 0.172291 -0.830737 \n-0.705236 0.267381 -0.65662 -0.705263 0.267708 -0.656457 \n-0.734794 0.305212 -0.605742 -0.734596 0.305165 -0.606006 \n-0.678913 0.334692 -0.653497 -0.67911 0.33445 -0.653416 \n-0.653497 0.678913 -0.334692 -0.653416 0.67911 -0.33445 \n-0.65662 0.705236 -0.267381 -0.656457 0.705263 -0.267708 \n-0.605742 0.734794 -0.305212 -0.606006 0.734596 -0.305165 \n-0.803016 0.415597 -0.427135 -0.803003 0.415849 -0.426915 \n-0.816233 0.446977 -0.366027 -0.816072 0.447001 -0.366356 \n-0.772575 0.486241 -0.408286 -0.77277 0.485993 -0.408214 \n-0.830812 0.529135 -0.172532 -0.830737 0.529331 -0.172291 \n-0.82711 0.551859 -0.106494 -0.827014 0.551934 -0.106846 \n-0.79017 0.594895 -0.147413 -0.790365 0.594654 -0.14734 \n0.172532 -0.830812 0.529135 0.172291 -0.830737 0.529331 \n0.147414 -0.79017 0.594895 0.14734 -0.790365 0.594654 \n0.106494 -0.82711 0.551859 0.106845 -0.827014 0.551934 \n0.427135 -0.803016 0.415597 0.426915 -0.803003 0.415849 \n0.408286 -0.772575 0.486241 0.408214 -0.772769 0.485993 \n0.366027 -0.816233 0.446977 0.366356 -0.816072 0.447001 \n0.334692 -0.653497 0.678913 0.33445 -0.653416 0.67911 \n0.305212 -0.605742 0.734794 0.305165 -0.606006 0.734596 \n0.267381 -0.65662 0.705236 0.267708 -0.656457 0.705263 \n0.65662 -0.705236 0.267381 0.656457 -0.705263 0.267708 \n0.653497 -0.678913 0.334692 0.653416 -0.67911 0.33445 \n0.605742 -0.734794 0.305212 0.606006 -0.734596 0.305165 \n0.82711 -0.551859 0.106494 0.827014 -0.551934 0.106846 \n0.830812 -0.529135 0.172532 0.830737 -0.529331 0.172291 \n0.79017 -0.594895 0.147413 0.790365 -0.594654 0.14734 \n0.816233 -0.446977 0.366027 0.816072 -0.447001 0.366356 \n0.803016 -0.415597 0.427135 0.803003 -0.415849 0.426915 \n0.772575 -0.486241 0.408286 0.77277 -0.485992 0.408214 \n0.486241 -0.408286 0.772575 0.485993 -0.408214 0.772769 \n0.446977 -0.366027 0.816233 0.447001 -0.366356 0.816072 \n0.415597 -0.427135 0.803016 0.415849 -0.426915 0.803003 \n0.734794 -0.305212 0.605742 0.734596 -0.305165 0.606006 \n0.705236 -0.267381 0.65662 0.705263 -0.267708 0.656457 \n0.678913 -0.334692 0.653497 0.67911 -0.33445 0.653416 \n0.594895 -0.147414 0.79017 0.594654 -0.14734 0.790365 \n0.551859 -0.106494 0.82711 0.551934 -0.106845 0.827014 \n0.529135 -0.172532 0.830812 0.529331 -0.172291 0.830737 \n-0.147414 -0.79017 0.594895 -0.14734 -0.790365 0.594654 \n-0.172532 -0.830812 0.529135 -0.172291 -0.830737 0.529331 \n-0.106494 -0.82711 0.551859 -0.106845 -0.827014 0.551934 \n-0.305212 -0.605742 0.734794 -0.305165 -0.606006 0.734596 \n-0.334692 -0.653497 0.678913 -0.33445 -0.653416 0.67911 \n-0.267381 -0.65662 0.705236 -0.267708 -0.656457 0.705263 \n-0.408286 -0.772575 0.486241 -0.408214 -0.772769 0.485993 \n-0.427135 -0.803016 0.415597 -0.426915 -0.803003 0.415849 \n-0.366027 -0.816233 0.446977 -0.366356 -0.816072 0.447001 \n-0.446977 -0.366027 0.816233 -0.447 -0.366356 0.816072 \n-0.486241 -0.408286 0.772575 -0.485993 -0.408214 0.772769 \n-0.415597 -0.427135 0.803016 -0.415849 -0.426915 0.803003 \n-0.551859 -0.106494 0.82711 -0.551934 -0.106845 0.827014 \n-0.594895 -0.147414 0.79017 -0.594654 -0.14734 0.790365 \n-0.529135 -0.172532 0.830812 -0.529331 -0.172291 0.830737 \n-0.705236 -0.267381 0.65662 -0.705263 -0.267708 0.656457 \n-0.734794 -0.305212 0.605742 -0.734596 -0.305165 0.606006 \n-0.678913 -0.334692 0.653497 -0.67911 -0.33445 0.653416 \n-0.653497 -0.678913 0.334692 -0.653416 -0.67911 0.33445 \n-0.65662 -0.705236 0.267381 -0.656457 -0.705263 0.267708 \n-0.605742 -0.734794 0.305212 -0.606006 -0.734596 0.305165 \n-0.803016 -0.415597 0.427135 -0.803003 -0.415849 0.426915 \n-0.816233 -0.446977 0.366027 -0.816072 -0.447001 0.366356 \n-0.772575 -0.486241 0.408286 -0.77277 -0.485993 0.408214 \n-0.830812 -0.529135 0.172532 -0.830737 -0.529331 0.172291 \n-0.82711 -0.551859 0.106494 -0.827014 -0.551934 0.106846 \n-0.79017 -0.594895 0.147413 -0.790365 -0.594654 0.14734 \n0.147414 -0.79017 -0.594895 0.14734 -0.790365 -0.594654 \n0.172532 -0.830812 -0.529135 0.172291 -0.830737 -0.529331 \n0.106494 -0.82711 -0.551859 0.106845 -0.827014 -0.551934 \n0.305212 -0.605742 -0.734794 0.305165 -0.606006 -0.734596 \n0.334692 -0.653497 -0.678913 0.33445 -0.653416 -0.67911 \n0.267381 -0.65662 -0.705236 0.267708 -0.656457 -0.705263 \n0.408286 -0.772575 -0.486241 0.408214 -0.772769 -0.485993 \n0.427135 -0.803016 -0.415597 0.426915 -0.803003 -0.415849 \n0.366027 -0.816233 -0.446977 0.366356 -0.816072 -0.447001 \n0.446977 -0.366027 -0.816233 0.447 -0.366356 -0.816072 \n0.486241 -0.408286 -0.772575 0.485993 -0.408214 -0.772769 \n0.415597 -0.427135 -0.803016 0.415849 -0.426915 -0.803003 \n0.551859 -0.106494 -0.82711 0.551934 -0.106845 -0.827014 \n0.594895 -0.147414 -0.79017 0.594654 -0.14734 -0.790365 \n0.529135 -0.172532 -0.830812 0.529331 -0.172291 -0.830737 \n0.705236 -0.267381 -0.65662 0.705263 -0.267708 -0.656457 \n0.734794 -0.305212 -0.605742 0.734596 -0.305165 -0.606006 \n0.678913 -0.334692 -0.653497 0.67911 -0.33445 -0.653416 \n0.653497 -0.678913 -0.334692 0.653416 -0.67911 -0.33445 \n0.65662 -0.705236 -0.267381 0.656457 -0.705263 -0.267708 \n0.605742 -0.734794 -0.305212 0.606006 -0.734596 -0.305165 \n0.803016 -0.415597 -0.427135 0.803003 -0.415849 -0.426915 \n0.816233 -0.446977 -0.366027 0.816072 -0.447001 -0.366356 \n0.772575 -0.486241 -0.408286 0.77277 -0.485993 -0.408214 \n0.830812 -0.529135 -0.172532 0.830737 -0.529331 -0.172291 \n0.82711 -0.551859 -0.106494 0.827014 -0.551934 -0.106846 \n0.79017 -0.594895 -0.147413 0.790365 -0.594654 -0.14734 \n-0.172532 -0.830812 -0.529135 -0.172291 -0.830737 -0.529331 \n-0.147414 -0.79017 -0.594895 -0.14734 -0.790365 -0.594654 \n-0.106494 -0.82711 -0.551859 -0.106845 -0.827014 -0.551934 \n-0.427135 -0.803016 -0.415597 -0.426915 -0.803003 -0.415849 \n-0.408286 -0.772575 -0.486241 -0.408214 -0.772769 -0.485993 \n-0.366027 -0.816233 -0.446977 -0.366356 -0.816072 -0.447001 \n-0.334692 -0.653497 -0.678913 -0.33445 -0.653416 -0.67911 \n-0.305212 -0.605742 -0.734794 -0.305165 -0.606006 -0.734596 \n-0.267381 -0.65662 -0.705236 -0.267708 -0.656457 -0.705263 \n-0.65662 -0.705236 -0.267381 -0.656457 -0.705263 -0.267708 \n-0.653497 -0.678913 -0.334692 -0.653416 -0.67911 -0.33445 \n-0.605742 -0.734794 -0.305212 -0.606006 -0.734596 -0.305165 \n-0.82711 -0.551859 -0.106494 -0.827014 -0.551934 -0.106846 \n-0.830812 -0.529135 -0.172532 -0.830737 -0.529331 -0.172291 \n-0.79017 -0.594895 -0.147413 -0.790365 -0.594654 -0.14734 \n-0.816233 -0.446977 -0.366027 -0.816072 -0.447001 -0.366356 \n-0.803016 -0.415597 -0.427135 -0.803003 -0.415849 -0.426915 \n-0.772575 -0.486241 -0.408286 -0.77277 -0.485992 -0.408214 \n-0.486241 -0.408286 -0.772575 -0.485993 -0.408214 -0.772769 \n-0.446977 -0.366027 -0.816233 -0.447001 -0.366356 -0.816072 \n-0.415597 -0.427135 -0.803016 -0.415849 -0.426915 -0.803003 \n-0.734794 -0.305212 -0.605742 -0.734596 -0.305165 -0.606006 \n-0.705236 -0.267381 -0.65662 -0.705263 -0.267708 -0.656457 \n-0.678913 -0.334692 -0.653497 -0.67911 -0.33445 -0.653416 \n-0.594895 -0.147414 -0.79017 -0.594654 -0.14734 -0.790365 \n-0.551859 -0.106494 -0.82711 -0.551934 -0.106845 -0.827014 \n-0.529135 -0.172532 -0.830812 -0.529331 -0.172291 -0.830737 \n0.332342 0.93513 0.1228 0.331348 0.935668 0.121383 \n0.265518 0.960655 0.0815011 0.267241 0.960155 0.0817627 \n0.464213 0.88476 0.0412992 0.463643 0.885136 0.03962 \n0.464213 0.88476 -0.0412992 0.463643 0.885136 -0.03962 \n0.332342 0.93513 -0.1228 0.331348 0.935668 -0.121383 \n0.265518 0.960655 -0.0815011 0.267241 0.960155 -0.0817627 \n-0.332342 0.93513 -0.1228 -0.331348 0.935668 -0.121383 \n-0.265518 0.960655 -0.0815011 -0.267241 0.960155 -0.0817627 \n-0.464213 0.88476 -0.0412992 -0.463643 0.885136 -0.03962 \n-0.464213 0.88476 0.0412992 -0.463643 0.885136 0.03962 \n-0.332342 0.93513 0.1228 -0.331348 0.935668 0.121383 \n-0.265518 0.960655 0.0815011 -0.267241 0.960155 0.0817627 \n0.332342 -0.93513 -0.1228 0.331348 -0.935668 -0.121383 \n0.265518 -0.960655 -0.0815011 0.267241 -0.960155 -0.0817627 \n0.464213 -0.88476 -0.0412992 0.463643 -0.885136 -0.03962 \n0.464213 -0.88476 0.0412992 0.463643 -0.885136 0.03962 \n0.332342 -0.93513 0.1228 0.331348 -0.935668 0.121383 \n0.265518 -0.960655 0.0815011 0.267241 -0.960155 0.0817627 \n-0.332342 -0.93513 0.1228 -0.331348 -0.935668 0.121383 \n-0.265518 -0.960655 0.0815011 -0.267241 -0.960155 0.0817627 \n-0.464213 -0.88476 0.0412992 -0.463643 -0.885136 0.03962 \n-0.464213 -0.88476 -0.0412992 -0.463643 -0.885136 -0.03962 \n-0.332342 -0.93513 -0.1228 -0.331348 -0.935668 -0.121383 \n-0.265518 -0.960655 -0.0815011 -0.267241 -0.960155 -0.0817627 \n0.93513 -0.1228 -0.332342 0.935668 -0.121383 -0.331348 \n0.960655 -0.0815011 -0.265518 0.960155 -0.0817627 -0.267241 \n0.88476 -0.0412992 -0.464213 0.885136 -0.03962 -0.463643 \n0.88476 0.0412992 -0.464213 0.885136 0.03962 -0.463643 \n0.93513 0.1228 -0.332342 0.935668 0.121383 -0.331348 \n0.960655 0.0815011 -0.265518 0.960155 0.0817627 -0.267241 \n0.93513 0.1228 0.332342 0.935668 0.121383 0.331348 \n0.960655 0.0815011 0.265518 0.960155 0.0817627 0.267241 \n0.88476 0.0412992 0.464213 0.885136 0.03962 0.463643 \n0.88476 -0.0412992 0.464213 0.885136 -0.03962 0.463643 \n0.93513 -0.1228 0.332342 0.935668 -0.121383 0.331348 \n0.960655 -0.0815011 0.265518 0.960155 -0.0817627 0.267241 \n-0.93513 -0.1228 0.332342 -0.935668 -0.121383 0.331348 \n-0.960655 -0.0815011 0.265518 -0.960155 -0.0817627 0.267241 \n-0.88476 -0.0412992 0.464213 -0.885136 -0.03962 0.463643 \n-0.88476 0.0412992 0.464213 -0.885136 0.03962 0.463643 \n-0.93513 0.1228 0.332342 -0.935668 0.121383 0.331348 \n-0.960655 0.0815011 0.265518 -0.960155 0.0817627 0.267241 \n-0.93513 0.1228 -0.332342 -0.935668 0.121383 -0.331348 \n-0.960655 0.0815011 -0.265518 -0.960155 0.0817627 -0.267241 \n-0.88476 0.0412992 -0.464213 -0.885136 0.03962 -0.463643 \n-0.88476 -0.0412992 -0.464213 -0.885136 -0.03962 -0.463643 \n-0.93513 -0.1228 -0.332342 -0.935668 -0.121383 -0.331348 \n-0.960655 -0.0815011 -0.265518 -0.960155 -0.0817627 -0.267241 \n-0.1228 -0.332342 0.93513 -0.121383 -0.331348 0.935668 \n-0.0815011 -0.265518 0.960655 -0.0817628 -0.267241 0.960155 \n-0.0412992 -0.464213 0.88476 -0.0396202 -0.463643 0.885136 \n0.0412992 -0.464213 0.88476 0.0396202 -0.463643 0.885136 \n0.1228 -0.332342 0.93513 0.121383 -0.331348 0.935668 \n0.0815011 -0.265518 0.960655 0.0817628 -0.267241 0.960155 \n0.1228 0.332342 0.93513 0.121383 0.331348 0.935668 \n0.0815011 0.265518 0.960655 0.0817628 0.267241 0.960155 \n0.0412992 0.464213 0.88476 0.0396202 0.463643 0.885136 \n-0.0412992 0.464213 0.88476 -0.0396202 0.463643 0.885136 \n-0.1228 0.332342 0.93513 -0.121383 0.331348 0.935668 \n-0.0815011 0.265518 0.960655 -0.0817628 0.267241 0.960155 \n-0.1228 0.332342 -0.93513 -0.121383 0.331348 -0.935668 \n-0.0815011 0.265518 -0.960655 -0.0817628 0.267241 -0.960155 \n-0.0412992 0.464213 -0.88476 -0.0396202 0.463643 -0.885136 \n0.0412992 0.464213 -0.88476 0.0396202 0.463643 -0.885136 \n0.1228 0.332342 -0.93513 0.121383 0.331348 -0.935668 \n0.0815011 0.265518 -0.960655 0.0817628 0.267241 -0.960155 \n0.1228 -0.332342 -0.93513 0.121383 -0.331348 -0.935668 \n0.0815011 -0.265518 -0.960655 0.0817628 -0.267241 -0.960155 \n0.0412992 -0.464213 -0.88476 0.0396202 -0.463643 -0.885136 \n-0.0412992 -0.464213 -0.88476 -0.0396202 -0.463643 -0.885136 \n-0.1228 -0.332342 -0.93513 -0.121383 -0.331348 -0.935668 \n-0.0815011 -0.265518 -0.960655 -0.0817628 -0.267241 -0.960155 \n0.619242 0.470917 0.628313 0.617895 0.472025 0.628807 \n0.552418 0.496441 0.669612 0.553788 0.496512 0.668427 \n0.669612 0.552418 0.496441 0.668427 0.553788 0.496512 \n0.628313 0.619242 0.470917 0.628807 0.617895 0.472025 \n0.496441 0.669612 0.552418 0.496512 0.668427 0.553788 \n0.470917 0.628313 0.619242 0.472025 0.628807 0.617895 \n-0.669612 0.552418 0.496441 -0.668427 0.553788 0.496512 \n-0.628313 0.619242 0.470917 -0.628807 0.617895 0.472025 \n-0.619242 0.470917 0.628313 -0.617895 0.472025 0.628807 \n-0.552418 0.496441 0.669612 -0.553788 0.496512 0.668427 \n-0.470917 0.628313 0.619242 -0.472025 0.628807 0.617895 \n-0.496441 0.669612 0.552418 -0.496512 0.668427 0.553788 \n0.669612 0.552418 -0.496441 0.668427 0.553788 -0.496512 \n0.628313 0.619242 -0.470917 0.628807 0.617895 -0.472025 \n0.619242 0.470917 -0.628313 0.617895 0.472025 -0.628807 \n0.552418 0.496441 -0.669612 0.553788 0.496512 -0.668427 \n0.470917 0.628313 -0.619242 0.472025 0.628807 -0.617895 \n0.496441 0.669612 -0.552418 0.496512 0.668427 -0.553788 \n-0.619242 0.470917 -0.628313 -0.617895 0.472025 -0.628807 \n-0.552418 0.496441 -0.669612 -0.553788 0.496512 -0.668427 \n-0.669612 0.552418 -0.496441 -0.668427 0.553788 -0.496512 \n-0.628313 0.619242 -0.470917 -0.628807 0.617895 -0.472025 \n-0.496441 0.669612 -0.552418 -0.496512 0.668427 -0.553788 \n-0.470917 0.628313 -0.619242 -0.472025 0.628807 -0.617895 \n0.669612 -0.552418 0.496441 0.668427 -0.553788 0.496512 \n0.628313 -0.619242 0.470917 0.628807 -0.617895 0.472025 \n0.619242 -0.470917 0.628313 0.617895 -0.472025 0.628807 \n0.552418 -0.496441 0.669612 0.553788 -0.496512 0.668427 \n0.470917 -0.628313 0.619242 0.472025 -0.628807 0.617895 \n0.496441 -0.669612 0.552418 0.496512 -0.668427 0.553788 \n-0.619242 -0.470917 0.628313 -0.617895 -0.472025 0.628807 \n-0.552418 -0.496441 0.669612 -0.553788 -0.496512 0.668427 \n-0.669612 -0.552418 0.496441 -0.668427 -0.553788 0.496512 \n-0.628313 -0.619242 0.470917 -0.628807 -0.617895 0.472025 \n-0.496441 -0.669612 0.552418 -0.496512 -0.668427 0.553788 \n-0.470917 -0.628313 0.619242 -0.472025 -0.628807 0.617895 \n0.619242 -0.470917 -0.628313 0.617895 -0.472025 -0.628807 \n0.552418 -0.496441 -0.669612 0.553788 -0.496512 -0.668427 \n0.669612 -0.552418 -0.496441 0.668427 -0.553788 -0.496512 \n0.628313 -0.619242 -0.470917 0.628807 -0.617895 -0.472025 \n0.496441 -0.669612 -0.552418 0.496512 -0.668427 -0.553788 \n0.470917 -0.628313 -0.619242 0.472025 -0.628807 -0.617895 \n-0.669612 -0.552418 -0.496441 -0.668427 -0.553788 -0.496512 \n-0.628313 -0.619242 -0.470917 -0.628807 -0.617895 -0.472025 \n-0.619242 -0.470917 -0.628313 -0.617895 -0.472025 -0.628807 \n-0.552418 -0.496441 -0.669612 -0.553788 -0.496512 -0.668427 \n-0.470917 -0.628313 -0.619242 -0.472025 -0.628807 -0.617895 \n-0.496441 -0.669612 -0.552418 -0.496512 -0.668427 -0.553788 \n0.0665669 0.966643 -0.247326 0.0669374 0.96629 -0.248604 \n0.0660424 0.946198 -0.316778 0.0667471 0.946573 -0.315507 \n0.198337 0.961188 -0.19178 0.199034 0.960842 -0.19279 \n0.264151 0.93605 -0.232455 0.262945 0.93643 -0.23229 \n0.262661 0.891742 -0.368518 0.261335 0.892036 -0.368748 \n0.196412 0.896401 -0.397351 0.19741 0.896664 -0.396261 \n0.0660424 0.946198 0.316778 0.0667471 0.946573 0.315507 \n0.0665669 0.966643 0.247326 0.0669374 0.96629 0.248604 \n0.196412 0.896401 0.397351 0.19741 0.896664 0.396261 \n0.262661 0.891742 0.368518 0.261335 0.892036 0.368748 \n0.264151 0.93605 0.232455 0.262945 0.93643 0.23229 \n0.198337 0.961188 0.19178 0.199034 0.960842 0.19279 \n0.574458 0.817523 0.0406752 0.574887 0.817279 0.0394995 \n0.574458 0.817523 -0.0406752 0.574887 0.817279 -0.0394995 \n0.662842 0.738886 0.121193 0.663585 0.73839 0.120145 \n0.708969 0.700622 0.080573 0.707911 0.70167 0.0807546 \n0.708969 0.700622 -0.080573 0.707911 0.70167 -0.0807545 \n0.662842 0.738886 -0.121193 0.663585 0.73839 -0.120145 \n-0.0665669 0.966643 0.247326 -0.0669374 0.96629 0.248604 \n-0.0660424 0.946198 0.316778 -0.0667471 0.946573 0.315507 \n-0.198337 0.961188 0.19178 -0.199034 0.960842 0.19279 \n-0.264151 0.93605 0.232455 -0.262945 0.93643 0.23229 \n-0.262661 0.891742 0.368518 -0.261335 0.892036 0.368748 \n-0.196412 0.896401 0.397351 -0.19741 0.896664 0.396261 \n-0.0660424 0.946198 -0.316778 -0.0667471 0.946573 -0.315507 \n-0.0665669 0.966643 -0.247326 -0.0669374 0.96629 -0.248604 \n-0.196412 0.896401 -0.397351 -0.19741 0.896664 -0.396261 \n-0.262661 0.891742 -0.368518 -0.261335 0.892036 -0.368748 \n-0.264151 0.93605 -0.232455 -0.262945 0.93643 -0.23229 \n-0.198337 0.961188 -0.19178 -0.199034 0.960842 -0.19279 \n-0.574458 0.817523 -0.0406752 -0.574887 0.817279 -0.0394995 \n-0.574458 0.817523 0.0406752 -0.574887 0.817279 0.0394995 \n-0.662842 0.738886 -0.121193 -0.663585 0.73839 -0.120145 \n-0.708969 0.700622 -0.080573 -0.707911 0.70167 -0.0807546 \n-0.708969 0.700622 0.080573 -0.707911 0.70167 0.0807545 \n-0.662842 0.738886 0.121193 -0.663585 0.73839 0.120145 \n0.0665669 -0.966643 0.247326 0.0669374 -0.96629 0.248604 \n0.0660424 -0.946198 0.316778 0.0667471 -0.946573 0.315507 \n0.198337 -0.961188 0.19178 0.199034 -0.960842 0.19279 \n0.264151 -0.93605 0.232455 0.262945 -0.93643 0.23229 \n0.262661 -0.891742 0.368518 0.261335 -0.892036 0.368748 \n0.196412 -0.896401 0.397351 0.19741 -0.896664 0.396261 \n0.0660424 -0.946198 -0.316778 0.0667471 -0.946573 -0.315507 \n0.0665669 -0.966643 -0.247326 0.0669374 -0.96629 -0.248604 \n0.196412 -0.896401 -0.397351 0.19741 -0.896664 -0.396261 \n0.262661 -0.891742 -0.368518 0.261335 -0.892036 -0.368748 \n0.264151 -0.93605 -0.232455 0.262945 -0.93643 -0.23229 \n0.198337 -0.961188 -0.19178 0.199034 -0.960842 -0.19279 \n0.574458 -0.817523 -0.0406752 0.574887 -0.817279 -0.0394995 \n0.574458 -0.817523 0.0406752 0.574887 -0.817279 0.0394995 \n0.662842 -0.738886 -0.121193 0.663585 -0.73839 -0.120145 \n0.708969 -0.700622 -0.080573 0.707911 -0.70167 -0.0807546 \n0.708969 -0.700622 0.080573 0.707911 -0.70167 0.0807545 \n0.662842 -0.738886 0.121193 0.663585 -0.73839 0.120145 \n-0.0665669 -0.966643 -0.247326 -0.0669374 -0.96629 -0.248604 \n-0.0660424 -0.946198 -0.316778 -0.0667471 -0.946573 -0.315507 \n-0.198337 -0.961188 -0.19178 -0.199034 -0.960842 -0.19279 \n-0.264151 -0.93605 -0.232455 -0.262945 -0.93643 -0.23229 \n-0.262661 -0.891742 -0.368518 -0.261335 -0.892036 -0.368748 \n-0.196412 -0.896401 -0.397351 -0.19741 -0.896664 -0.396261 \n-0.0660424 -0.946198 0.316778 -0.0667471 -0.946573 0.315507 \n-0.0665669 -0.966643 0.247326 -0.0669374 -0.96629 0.248604 \n-0.196412 -0.896401 0.397351 -0.19741 -0.896664 0.396261 \n-0.262661 -0.891742 0.368518 -0.261335 -0.892036 0.368748 \n-0.264151 -0.93605 0.232455 -0.262945 -0.93643 0.23229 \n-0.198337 -0.961188 0.19178 -0.199034 -0.960842 0.19279 \n-0.574458 -0.817523 0.0406752 -0.574887 -0.817279 0.0394995 \n-0.574458 -0.817523 -0.0406752 -0.574887 -0.817279 -0.0394995 \n-0.662842 -0.738886 0.121193 -0.663585 -0.73839 0.120145 \n-0.708969 -0.700622 0.080573 -0.707911 -0.70167 0.0807546 \n-0.708969 -0.700622 -0.080573 -0.707911 -0.70167 -0.0807545 \n-0.662842 -0.738886 -0.121193 -0.663585 -0.73839 -0.120145 \n0.966643 0.247326 -0.0665669 0.96629 0.248604 -0.0669374 \n0.946198 0.316778 -0.0660424 0.946573 0.315507 -0.0667471 \n0.961188 0.19178 -0.198337 0.960842 0.19279 -0.199034 \n0.93605 0.232455 -0.264151 0.93643 0.23229 -0.262945 \n0.891742 0.368518 -0.262661 0.892036 0.368748 -0.261335 \n0.896401 0.397351 -0.196412 0.896664 0.396261 -0.19741 \n0.946198 -0.316778 -0.0660424 0.946573 -0.315507 -0.0667471 \n0.966643 -0.247326 -0.0665669 0.96629 -0.248604 -0.0669374 \n0.896401 -0.397351 -0.196412 0.896664 -0.396261 -0.19741 \n0.891742 -0.368518 -0.262661 0.892036 -0.368748 -0.261335 \n0.93605 -0.232455 -0.264151 0.93643 -0.23229 -0.262945 \n0.961188 -0.19178 -0.198337 0.960842 -0.19279 -0.199034 \n0.817523 -0.0406752 -0.574458 0.817279 -0.0394995 -0.574887 \n0.817523 0.0406752 -0.574458 0.817279 0.0394995 -0.574887 \n0.738886 -0.121193 -0.662842 0.738391 -0.120144 -0.663585 \n0.700622 -0.080573 -0.708969 0.70167 -0.0807544 -0.707911 \n0.700622 0.080573 -0.708969 0.70167 0.0807544 -0.707911 \n0.738886 0.121193 -0.662842 0.738391 0.120144 -0.663585 \n0.966643 -0.247326 0.0665669 0.96629 -0.248604 0.0669374 \n0.946198 -0.316778 0.0660424 0.946573 -0.315507 0.0667471 \n0.961188 -0.19178 0.198337 0.960842 -0.19279 0.199034 \n0.93605 -0.232455 0.264151 0.93643 -0.23229 0.262945 \n0.891742 -0.368518 0.262661 0.892036 -0.368748 0.261335 \n0.896401 -0.397351 0.196412 0.896664 -0.396261 0.19741 \n0.946198 0.316778 0.0660424 0.946573 0.315507 0.0667471 \n0.966643 0.247326 0.0665669 0.96629 0.248604 0.0669374 \n0.896401 0.397351 0.196412 0.896664 0.396261 0.19741 \n0.891742 0.368518 0.262661 0.892036 0.368748 0.261335 \n0.93605 0.232455 0.264151 0.93643 0.23229 0.262945 \n0.961188 0.19178 0.198337 0.960842 0.19279 0.199034 \n0.817523 0.0406752 0.574458 0.817279 0.0394995 0.574887 \n0.817523 -0.0406752 0.574458 0.817279 -0.0394995 0.574887 \n0.738886 0.121193 0.662842 0.738391 0.120144 0.663585 \n0.700622 0.080573 0.708969 0.70167 0.0807544 0.707911 \n0.700622 -0.080573 0.708969 0.70167 -0.0807544 0.707911 \n0.738886 -0.121193 0.662842 0.738391 -0.120144 0.663585 \n-0.966643 0.247326 0.0665669 -0.96629 0.248604 0.0669374 \n-0.946198 0.316778 0.0660424 -0.946573 0.315507 0.0667471 \n-0.961188 0.19178 0.198337 -0.960842 0.19279 0.199034 \n-0.93605 0.232455 0.264151 -0.93643 0.23229 0.262945 \n-0.891742 0.368518 0.262661 -0.892036 0.368748 0.261335 \n-0.896401 0.397351 0.196412 -0.896664 0.396261 0.19741 \n-0.946198 -0.316778 0.0660424 -0.946573 -0.315507 0.0667471 \n-0.966643 -0.247326 0.0665669 -0.96629 -0.248604 0.0669374 \n-0.896401 -0.397351 0.196412 -0.896664 -0.396261 0.19741 \n-0.891742 -0.368518 0.262661 -0.892036 -0.368748 0.261335 \n-0.93605 -0.232455 0.264151 -0.93643 -0.23229 0.262945 \n-0.961188 -0.19178 0.198337 -0.960842 -0.19279 0.199034 \n-0.817523 -0.0406752 0.574458 -0.817279 -0.0394995 0.574887 \n-0.817523 0.0406752 0.574458 -0.817279 0.0394995 0.574887 \n-0.738886 -0.121193 0.662842 -0.738391 -0.120144 0.663585 \n-0.700622 -0.080573 0.708969 -0.70167 -0.0807544 0.707911 \n-0.700622 0.080573 0.708969 -0.70167 0.0807544 0.707911 \n-0.738886 0.121193 0.662842 -0.738391 0.120144 0.663585 \n-0.966643 -0.247326 -0.0665669 -0.96629 -0.248604 -0.0669374 \n-0.946198 -0.316778 -0.0660424 -0.946573 -0.315507 -0.0667471 \n-0.961188 -0.19178 -0.198337 -0.960842 -0.19279 -0.199034 \n-0.93605 -0.232455 -0.264151 -0.93643 -0.23229 -0.262945 \n-0.891742 -0.368518 -0.262661 -0.892036 -0.368748 -0.261335 \n-0.896401 -0.397351 -0.196412 -0.896664 -0.396261 -0.19741 \n-0.946198 0.316778 -0.0660424 -0.946573 0.315507 -0.0667471 \n-0.966643 0.247326 -0.0665669 -0.96629 0.248604 -0.0669374 \n-0.896401 0.397351 -0.196412 -0.896664 0.396261 -0.19741 \n-0.891742 0.368518 -0.262661 -0.892036 0.368748 -0.261335 \n-0.93605 0.232455 -0.264151 -0.93643 0.23229 -0.262945 \n-0.961188 0.19178 -0.198337 -0.960842 0.19279 -0.199034 \n-0.817523 0.0406752 -0.574458 -0.817279 0.0394995 -0.574887 \n-0.817523 -0.0406752 -0.574458 -0.817279 -0.0394995 -0.574887 \n-0.738886 0.121193 -0.662842 -0.738391 0.120144 -0.663585 \n-0.700622 0.080573 -0.708969 -0.70167 0.0807544 -0.707911 \n-0.700622 -0.080573 -0.708969 -0.70167 -0.0807544 -0.707911 \n-0.738886 -0.121193 -0.662842 -0.738391 -0.120144 -0.663585 \n0.247326 -0.0665669 0.966643 0.248604 -0.0669374 0.966289 \n0.316778 -0.0660424 0.946198 0.315507 -0.0667471 0.946573 \n0.19178 -0.198337 0.961188 0.19279 -0.199034 0.960842 \n0.232455 -0.264151 0.93605 0.23229 -0.262946 0.93643 \n0.368518 -0.262661 0.891742 0.368748 -0.261335 0.892036 \n0.397351 -0.196412 0.896401 0.396261 -0.19741 0.896664 \n-0.316778 -0.0660424 0.946198 -0.315507 -0.0667471 0.946573 \n-0.247326 -0.0665669 0.966643 -0.248604 -0.0669374 0.966289 \n-0.397351 -0.196412 0.896401 -0.396261 -0.19741 0.896664 \n-0.368518 -0.262661 0.891742 -0.368748 -0.261335 0.892036 \n-0.232455 -0.264151 0.93605 -0.23229 -0.262946 0.93643 \n-0.19178 -0.198337 0.961188 -0.19279 -0.199034 0.960842 \n-0.0406752 -0.574458 0.817523 -0.0394995 -0.574887 0.817279 \n0.0406752 -0.574458 0.817523 0.0394995 -0.574887 0.817279 \n-0.121193 -0.662842 0.738886 -0.120144 -0.663585 0.738391 \n-0.080573 -0.708969 0.700622 -0.0807544 -0.707911 0.70167 \n0.080573 -0.708969 0.700622 0.0807544 -0.707911 0.70167 \n0.121193 -0.662842 0.738886 0.120144 -0.663585 0.738391 \n-0.247326 0.0665669 0.966643 -0.248604 0.0669374 0.966289 \n-0.316778 0.0660424 0.946198 -0.315507 0.0667471 0.946573 \n-0.19178 0.198337 0.961188 -0.19279 0.199034 0.960842 \n-0.232455 0.264151 0.93605 -0.23229 0.262946 0.93643 \n-0.368518 0.262661 0.891742 -0.368748 0.261335 0.892036 \n-0.397351 0.196412 0.896401 -0.396261 0.19741 0.896664 \n0.316778 0.0660424 0.946198 0.315507 0.0667471 0.946573 \n0.247326 0.0665669 0.966643 0.248604 0.0669374 0.966289 \n0.397351 0.196412 0.896401 0.396261 0.19741 0.896664 \n0.368518 0.262661 0.891742 0.368748 0.261335 0.892036 \n0.232455 0.264151 0.93605 0.23229 0.262946 0.93643 \n0.19178 0.198337 0.961188 0.19279 0.199034 0.960842 \n0.0406752 0.574458 0.817523 0.0394995 0.574887 0.817279 \n-0.0406752 0.574458 0.817523 -0.0394995 0.574887 0.817279 \n0.121193 0.662842 0.738886 0.120144 0.663585 0.738391 \n0.080573 0.708969 0.700622 0.0807544 0.707911 0.70167 \n-0.080573 0.708969 0.700622 -0.0807544 0.707911 0.70167 \n-0.121193 0.662842 0.738886 -0.120144 0.663585 0.738391 \n0.247326 0.0665669 -0.966643 0.248604 0.0669374 -0.966289 \n0.316778 0.0660424 -0.946198 0.315507 0.0667471 -0.946573 \n0.19178 0.198337 -0.961188 0.19279 0.199034 -0.960842 \n0.232455 0.264151 -0.93605 0.23229 0.262946 -0.93643 \n0.368518 0.262661 -0.891742 0.368748 0.261335 -0.892036 \n0.397351 0.196412 -0.896401 0.396261 0.19741 -0.896664 \n-0.316778 0.0660424 -0.946198 -0.315507 0.0667471 -0.946573 \n-0.247326 0.0665669 -0.966643 -0.248604 0.0669374 -0.966289 \n-0.397351 0.196412 -0.896401 -0.396261 0.19741 -0.896664 \n-0.368518 0.262661 -0.891742 -0.368748 0.261335 -0.892036 \n-0.232455 0.264151 -0.93605 -0.23229 0.262946 -0.93643 \n-0.19178 0.198337 -0.961188 -0.19279 0.199034 -0.960842 \n-0.0406752 0.574458 -0.817523 -0.0394995 0.574887 -0.817279 \n0.0406752 0.574458 -0.817523 0.0394995 0.574887 -0.817279 \n-0.121193 0.662842 -0.738886 -0.120144 0.663585 -0.738391 \n-0.080573 0.708969 -0.700622 -0.0807544 0.707911 -0.70167 \n0.080573 0.708969 -0.700622 0.0807544 0.707911 -0.70167 \n0.121193 0.662842 -0.738886 0.120144 0.663585 -0.738391 \n-0.247326 -0.0665669 -0.966643 -0.248604 -0.0669374 -0.966289 \n-0.316778 -0.0660424 -0.946198 -0.315507 -0.0667471 -0.946573 \n-0.19178 -0.198337 -0.961188 -0.19279 -0.199034 -0.960842 \n-0.232455 -0.264151 -0.93605 -0.23229 -0.262946 -0.93643 \n-0.368518 -0.262661 -0.891742 -0.368748 -0.261335 -0.892036 \n-0.397351 -0.196412 -0.896401 -0.396261 -0.19741 -0.896664 \n0.316778 -0.0660424 -0.946198 0.315507 -0.0667471 -0.946573 \n0.247326 -0.0665669 -0.966643 0.248604 -0.0669374 -0.966289 \n0.397351 -0.196412 -0.896401 0.396261 -0.19741 -0.896664 \n0.368518 -0.262661 -0.891742 0.368748 -0.261335 -0.892036 \n0.232455 -0.264151 -0.93605 0.23229 -0.262946 -0.93643 \n0.19178 -0.198337 -0.961188 0.19279 -0.199034 -0.960842 \n0.0406752 -0.574458 -0.817523 0.0394995 -0.574887 -0.817279 \n-0.0406752 -0.574458 -0.817523 -0.0394995 -0.574887 -0.817279 \n0.121193 -0.662842 -0.738886 0.120144 -0.663585 -0.738391 \n0.080573 -0.708969 -0.700622 0.0807544 -0.707911 -0.70167 \n-0.080573 -0.708969 -0.700622 -0.0807544 -0.707911 -0.70167 \n-0.121193 -0.662842 -0.738886 -0.120144 -0.663585 -0.738391 \n0.2289 0.703983 0.672319 0.228452 0.704955 0.671453 \n0.187432 0.749786 0.634579 0.188753 0.749163 0.634923 \n0.361592 0.697037 0.619186 0.361543 0.697897 0.618245 \n0.38673 0.737712 0.553372 0.385955 0.737396 0.554333 \n0.303801 0.825175 0.476226 0.302705 0.825099 0.477056 \n0.237229 0.830359 0.50421 0.238663 0.829917 0.50426 \n0.50421 0.237229 0.830359 0.50426 0.238662 0.829917 \n0.476226 0.303801 0.825175 0.477056 0.302705 0.825099 \n0.634579 0.187432 0.749786 0.634923 0.188753 0.749163 \n0.672319 0.2289 0.703983 0.671453 0.228452 0.704955 \n0.619186 0.361592 0.697037 0.618245 0.361543 0.697896 \n0.553372 0.38673 0.737712 0.554334 0.385955 0.737396 \n0.737712 0.553372 0.38673 0.737396 0.554333 0.385955 \n0.697037 0.619186 0.361592 0.697896 0.618246 0.361543 \n0.825175 0.476226 0.303801 0.825099 0.477055 0.302705 \n0.830359 0.504209 0.237229 0.829917 0.50426 0.238662 \n0.749786 0.634579 0.187432 0.749163 0.634923 0.188753 \n0.703983 0.672319 0.2289 0.704955 0.671453 0.228451 \n-0.303801 0.825175 0.476226 -0.302705 0.825099 0.477056 \n-0.237229 0.830359 0.50421 -0.238663 0.829917 0.50426 \n-0.38673 0.737712 0.553372 -0.385955 0.737396 0.554333 \n-0.361592 0.697037 0.619186 -0.361543 0.697897 0.618245 \n-0.2289 0.703983 0.672319 -0.228452 0.704955 0.671453 \n-0.187432 0.749786 0.634579 -0.188753 0.749163 0.634923 \n-0.749786 0.634579 0.187432 -0.749163 0.634923 0.188753 \n-0.703983 0.672319 0.2289 -0.704955 0.671453 0.228451 \n-0.830359 0.504209 0.237229 -0.829917 0.50426 0.238662 \n-0.825175 0.476226 0.303801 -0.825099 0.477055 0.302705 \n-0.737712 0.553372 0.38673 -0.737396 0.554334 0.385955 \n-0.697037 0.619186 0.361592 -0.697896 0.618246 0.361543 \n-0.619186 0.361592 0.697037 -0.618245 0.361543 0.697896 \n-0.553372 0.38673 0.737712 -0.554333 0.385955 0.737396 \n-0.672319 0.2289 0.703983 -0.671453 0.228452 0.704955 \n-0.634579 0.187432 0.749786 -0.634923 0.188753 0.749163 \n-0.50421 0.237229 0.830359 -0.50426 0.238662 0.829917 \n-0.476226 0.303801 0.825175 -0.477056 0.302705 0.825099 \n0.303801 0.825175 -0.476226 0.302705 0.825099 -0.477056 \n0.237229 0.830359 -0.50421 0.238663 0.829917 -0.50426 \n0.38673 0.737712 -0.553372 0.385955 0.737396 -0.554333 \n0.361592 0.697037 -0.619186 0.361543 0.697897 -0.618245 \n0.2289 0.703983 -0.672319 0.228452 0.704955 -0.671453 \n0.187432 0.749786 -0.634579 0.188753 0.749163 -0.634923 \n0.749786 0.634579 -0.187432 0.749163 0.634923 -0.188753 \n0.703983 0.672319 -0.2289 0.704955 0.671453 -0.228451 \n0.830359 0.504209 -0.237229 0.829917 0.50426 -0.238662 \n0.825175 0.476226 -0.303801 0.825099 0.477055 -0.302705 \n0.737712 0.553372 -0.38673 0.737396 0.554334 -0.385955 \n0.697037 0.619186 -0.361592 0.697896 0.618246 -0.361543 \n0.619186 0.361592 -0.697037 0.618245 0.361543 -0.697896 \n0.553372 0.38673 -0.737712 0.554333 0.385955 -0.737396 \n0.672319 0.2289 -0.703983 0.671453 0.228452 -0.704955 \n0.634579 0.187432 -0.749786 0.634923 0.188753 -0.749163 \n0.50421 0.237229 -0.830359 0.50426 0.238662 -0.829917 \n0.476226 0.303801 -0.825175 0.477056 0.302705 -0.825099 \n-0.2289 0.703983 -0.672319 -0.228452 0.704955 -0.671453 \n-0.187432 0.749786 -0.634579 -0.188753 0.749163 -0.634923 \n-0.361592 0.697037 -0.619186 -0.361543 0.697897 -0.618245 \n-0.38673 0.737712 -0.553372 -0.385955 0.737396 -0.554333 \n-0.303801 0.825175 -0.476226 -0.302705 0.825099 -0.477056 \n-0.237229 0.830359 -0.50421 -0.238663 0.829917 -0.50426 \n-0.50421 0.237229 -0.830359 -0.50426 0.238662 -0.829917 \n-0.476226 0.303801 -0.825175 -0.477056 0.302705 -0.825099 \n-0.634579 0.187432 -0.749786 -0.634923 0.188753 -0.749163 \n-0.672319 0.2289 -0.703983 -0.671453 0.228452 -0.704955 \n-0.619186 0.361592 -0.697037 -0.618245 0.361543 -0.697896 \n-0.553372 0.38673 -0.737712 -0.554334 0.385955 -0.737396 \n-0.737712 0.553372 -0.38673 -0.737396 0.554333 -0.385955 \n-0.697037 0.619186 -0.361592 -0.697896 0.618246 -0.361543 \n-0.825175 0.476226 -0.303801 -0.825099 0.477055 -0.302705 \n-0.830359 0.504209 -0.237229 -0.829917 0.50426 -0.238662 \n-0.749786 0.634579 -0.187432 -0.749163 0.634923 -0.188753 \n-0.703983 0.672319 -0.2289 -0.704955 0.671453 -0.228451 \n0.303801 -0.825175 0.476226 0.302705 -0.825099 0.477056 \n0.237229 -0.830359 0.50421 0.238663 -0.829917 0.50426 \n0.38673 -0.737712 0.553372 0.385955 -0.737396 0.554333 \n0.361592 -0.697037 0.619186 0.361543 -0.697897 0.618245 \n0.2289 -0.703983 0.672319 0.228452 -0.704955 0.671453 \n0.187432 -0.749786 0.634579 0.188753 -0.749163 0.634923 \n0.749786 -0.634579 0.187432 0.749163 -0.634923 0.188753 \n0.703983 -0.672319 0.2289 0.704955 -0.671453 0.228451 \n0.830359 -0.504209 0.237229 0.829917 -0.50426 0.238662 \n0.825175 -0.476226 0.303801 0.825099 -0.477055 0.302705 \n0.737712 -0.553372 0.38673 0.737396 -0.554334 0.385955 \n0.697037 -0.619186 0.361592 0.697896 -0.618246 0.361543 \n0.619186 -0.361592 0.697037 0.618245 -0.361543 0.697896 \n0.553372 -0.38673 0.737712 0.554333 -0.385955 0.737396 \n0.672319 -0.2289 0.703983 0.671453 -0.228452 0.704955 \n0.634579 -0.187432 0.749786 0.634923 -0.188753 0.749163 \n0.50421 -0.237229 0.830359 0.50426 -0.238662 0.829917 \n0.476226 -0.303801 0.825175 0.477056 -0.302705 0.825099 \n-0.2289 -0.703983 0.672319 -0.228452 -0.704955 0.671453 \n-0.187432 -0.749786 0.634579 -0.188753 -0.749163 0.634923 \n-0.361592 -0.697037 0.619186 -0.361543 -0.697897 0.618245 \n-0.38673 -0.737712 0.553372 -0.385955 -0.737396 0.554333 \n-0.303801 -0.825175 0.476226 -0.302705 -0.825099 0.477056 \n-0.237229 -0.830359 0.50421 -0.238663 -0.829917 0.50426 \n-0.50421 -0.237229 0.830359 -0.50426 -0.238662 0.829917 \n-0.476226 -0.303801 0.825175 -0.477056 -0.302705 0.825099 \n-0.634579 -0.187432 0.749786 -0.634923 -0.188753 0.749163 \n-0.672319 -0.2289 0.703983 -0.671453 -0.228452 0.704955 \n-0.619186 -0.361592 0.697037 -0.618245 -0.361543 0.697896 \n-0.553372 -0.38673 0.737712 -0.554334 -0.385955 0.737396 \n-0.737712 -0.553372 0.38673 -0.737396 -0.554333 0.385955 \n-0.697037 -0.619186 0.361592 -0.697896 -0.618246 0.361543 \n-0.825175 -0.476226 0.303801 -0.825099 -0.477055 0.302705 \n-0.830359 -0.504209 0.237229 -0.829917 -0.50426 0.238662 \n-0.749786 -0.634579 0.187432 -0.749163 -0.634923 0.188753 \n-0.703983 -0.672319 0.2289 -0.704955 -0.671453 0.228451 \n0.2289 -0.703983 -0.672319 0.228452 -0.704955 -0.671453 \n0.187432 -0.749786 -0.634579 0.188753 -0.749163 -0.634923 \n0.361592 -0.697037 -0.619186 0.361543 -0.697897 -0.618245 \n0.38673 -0.737712 -0.553372 0.385955 -0.737396 -0.554333 \n0.303801 -0.825175 -0.476226 0.302705 -0.825099 -0.477056 \n0.237229 -0.830359 -0.50421 0.238663 -0.829917 -0.50426 \n0.50421 -0.237229 -0.830359 0.50426 -0.238662 -0.829917 \n0.476226 -0.303801 -0.825175 0.477056 -0.302705 -0.825099 \n0.634579 -0.187432 -0.749786 0.634923 -0.188753 -0.749163 \n0.672319 -0.2289 -0.703983 0.671453 -0.228452 -0.704955 \n0.619186 -0.361592 -0.697037 0.618245 -0.361543 -0.697896 \n0.553372 -0.38673 -0.737712 0.554334 -0.385955 -0.737396 \n0.737712 -0.553372 -0.38673 0.737396 -0.554333 -0.385955 \n0.697037 -0.619186 -0.361592 0.697896 -0.618246 -0.361543 \n0.825175 -0.476226 -0.303801 0.825099 -0.477055 -0.302705 \n0.830359 -0.504209 -0.237229 0.829917 -0.50426 -0.238662 \n0.749786 -0.634579 -0.187432 0.749163 -0.634923 -0.188753 \n0.703983 -0.672319 -0.2289 0.704955 -0.671453 -0.228451 \n-0.303801 -0.825175 -0.476226 -0.302705 -0.825099 -0.477056 \n-0.237229 -0.830359 -0.50421 -0.238663 -0.829917 -0.50426 \n-0.38673 -0.737712 -0.553372 -0.385955 -0.737396 -0.554333 \n-0.361592 -0.697037 -0.619186 -0.361543 -0.697897 -0.618245 \n-0.2289 -0.703983 -0.672319 -0.228452 -0.704955 -0.671453 \n-0.187432 -0.749786 -0.634579 -0.188753 -0.749163 -0.634923 \n-0.749786 -0.634579 -0.187432 -0.749163 -0.634923 -0.188753 \n-0.703983 -0.672319 -0.2289 -0.704955 -0.671453 -0.228451 \n-0.830359 -0.504209 -0.237229 -0.829917 -0.50426 -0.238662 \n-0.825175 -0.476226 -0.303801 -0.825099 -0.477055 -0.302705 \n-0.737712 -0.553372 -0.38673 -0.737396 -0.554334 -0.385955 \n-0.697037 -0.619186 -0.361592 -0.697896 -0.618246 -0.361543 \n-0.619186 -0.361592 -0.697037 -0.618245 -0.361543 -0.697896 \n-0.553372 -0.38673 -0.737712 -0.554333 -0.385955 -0.737396 \n-0.672319 -0.2289 -0.703983 -0.671453 -0.228452 -0.704955 \n-0.634579 -0.187432 -0.749786 -0.634923 -0.188753 -0.749163 \n-0.50421 -0.237229 -0.830359 -0.50426 -0.238662 -0.829917 \n-0.476226 -0.303801 -0.825175 -0.477056 -0.302705 -0.825099 \n0.0667413 0.996917 0.0412484 0.0687998 0.996988 0.0357997 \n0.0667413 0.996917 -0.0412484 0.0687998 0.996988 -0.0357997 \n0.198581 0.97237 0.122729 0.201034 0.97251 0.117515 \n0.198581 0.97237 -0.122729 0.201034 0.97251 -0.117515 \n0.32553 0.92388 0.201189 0.32906 0.923608 0.19664 \n0.444464 0.85264 0.274694 0.448271 0.852043 0.270326 \n0.511205 0.827147 0.233445 0.506196 0.829917 0.234526 \n0.52411 0.848029 0.0784591 0.519204 0.85098 0.0791244 \n0.32553 0.92388 -0.201189 0.32906 0.923608 -0.19664 \n0.52411 0.848029 -0.0784591 0.519204 0.85098 -0.0791244 \n0.511205 0.827147 -0.233445 0.506196 0.829917 -0.234526 \n0.444464 0.85264 -0.274694 0.448271 0.852043 -0.270326 \n-0.0667413 0.996917 -0.0412484 -0.0687998 0.996988 -0.0357997 \n-0.0667413 0.996917 0.0412484 -0.0687998 0.996988 0.0357997 \n-0.198581 0.97237 -0.122729 -0.201034 0.97251 -0.117515 \n-0.198581 0.97237 0.122729 -0.201034 0.97251 0.117515 \n-0.32553 0.92388 -0.201189 -0.32906 0.923608 -0.19664 \n-0.444464 0.85264 -0.274694 -0.448271 0.852043 -0.270326 \n-0.511205 0.827147 -0.233445 -0.506196 0.829917 -0.234526 \n-0.52411 0.848029 -0.0784591 -0.519204 0.85098 -0.0791244 \n-0.32553 0.92388 0.201189 -0.32906 0.923608 0.19664 \n-0.52411 0.848029 0.0784591 -0.519204 0.85098 0.0791244 \n-0.511205 0.827147 0.233445 -0.506196 0.829917 0.234526 \n-0.444464 0.85264 0.274694 -0.448271 0.852043 0.270326 \n0.0667413 -0.996917 -0.0412484 0.0687998 -0.996988 -0.0357997 \n0.0667413 -0.996917 0.0412484 0.0687998 -0.996988 0.0357997 \n0.198581 -0.97237 -0.122729 0.201034 -0.97251 -0.117515 \n0.198581 -0.97237 0.122729 0.201034 -0.97251 0.117515 \n0.32553 -0.92388 -0.201189 0.32906 -0.923608 -0.19664 \n0.444464 -0.85264 -0.274694 0.448271 -0.852043 -0.270326 \n0.511205 -0.827147 -0.233445 0.506196 -0.829917 -0.234526 \n0.52411 -0.848029 -0.0784591 0.519204 -0.85098 -0.0791244 \n0.32553 -0.92388 0.201189 0.32906 -0.923608 0.19664 \n0.52411 -0.848029 0.0784591 0.519204 -0.85098 0.0791244 \n0.511205 -0.827147 0.233445 0.506196 -0.829917 0.234526 \n0.444464 -0.85264 0.274694 0.448271 -0.852043 0.270326 \n-0.0667413 -0.996917 0.0412484 -0.0687998 -0.996988 0.0357997 \n-0.0667413 -0.996917 -0.0412484 -0.0687998 -0.996988 -0.0357997 \n-0.198581 -0.97237 0.122729 -0.201034 -0.97251 0.117515 \n-0.198581 -0.97237 -0.122729 -0.201034 -0.97251 -0.117515 \n-0.32553 -0.92388 0.201189 -0.32906 -0.923608 0.19664 \n-0.444464 -0.85264 0.274694 -0.448271 -0.852043 0.270326 \n-0.511205 -0.827147 0.233445 -0.506196 -0.829917 0.234526 \n-0.52411 -0.848029 0.0784591 -0.519204 -0.85098 0.0791244 \n-0.32553 -0.92388 -0.201189 -0.32906 -0.923608 -0.19664 \n-0.52411 -0.848029 -0.0784591 -0.519204 -0.85098 -0.0791244 \n-0.511205 -0.827147 -0.233445 -0.506196 -0.829917 -0.234526 \n-0.444464 -0.85264 -0.274694 -0.448271 -0.852043 -0.270326 \n0.996917 -0.0412484 -0.0667413 0.996988 -0.0357997 -0.0687998 \n0.996917 0.0412484 -0.0667413 0.996988 0.0357997 -0.0687998 \n0.97237 -0.122729 -0.198581 0.97251 -0.117515 -0.201034 \n0.97237 0.122729 -0.198581 0.97251 0.117515 -0.201034 \n0.92388 -0.201189 -0.32553 0.923608 -0.19664 -0.329061 \n0.85264 -0.274694 -0.444464 0.852043 -0.270325 -0.448271 \n0.827147 -0.233445 -0.511205 0.829917 -0.234526 -0.506196 \n0.848029 -0.0784591 -0.52411 0.85098 -0.0791244 -0.519204 \n0.92388 0.201189 -0.32553 0.923608 0.19664 -0.329061 \n0.848029 0.0784591 -0.52411 0.85098 0.0791244 -0.519204 \n0.827147 0.233445 -0.511205 0.829917 0.234526 -0.506196 \n0.85264 0.274694 -0.444464 0.852043 0.270326 -0.448271 \n0.996917 0.0412484 0.0667413 0.996988 0.0357997 0.0687998 \n0.996917 -0.0412484 0.0667413 0.996988 -0.0357997 0.0687998 \n0.97237 0.122729 0.198581 0.97251 0.117515 0.201034 \n0.97237 -0.122729 0.198581 0.97251 -0.117515 0.201034 \n0.92388 0.201189 0.32553 0.923608 0.19664 0.329061 \n0.85264 0.274694 0.444464 0.852043 0.270325 0.448271 \n0.827147 0.233445 0.511205 0.829917 0.234526 0.506196 \n0.848029 0.0784591 0.52411 0.85098 0.0791244 0.519204 \n0.92388 -0.201189 0.32553 0.923608 -0.19664 0.329061 \n0.848029 -0.0784591 0.52411 0.85098 -0.0791244 0.519204 \n0.827147 -0.233445 0.511205 0.829917 -0.234526 0.506196 \n0.85264 -0.274694 0.444464 0.852043 -0.270326 0.448271 \n-0.996917 -0.0412484 0.0667413 -0.996988 -0.0357997 0.0687998 \n-0.996917 0.0412484 0.0667413 -0.996988 0.0357997 0.0687998 \n-0.97237 -0.122729 0.198581 -0.97251 -0.117515 0.201034 \n-0.97237 0.122729 0.198581 -0.97251 0.117515 0.201034 \n-0.92388 -0.201189 0.32553 -0.923608 -0.19664 0.329061 \n-0.85264 -0.274694 0.444464 -0.852043 -0.270325 0.448271 \n-0.827147 -0.233445 0.511205 -0.829917 -0.234526 0.506196 \n-0.848029 -0.0784591 0.52411 -0.85098 -0.0791244 0.519204 \n-0.92388 0.201189 0.32553 -0.923608 0.19664 0.329061 \n-0.848029 0.0784591 0.52411 -0.85098 0.0791244 0.519204 \n-0.827147 0.233445 0.511205 -0.829917 0.234526 0.506196 \n-0.85264 0.274694 0.444464 -0.852043 0.270326 0.448271 \n-0.996917 0.0412484 -0.0667413 -0.996988 0.0357997 -0.0687998 \n-0.996917 -0.0412484 -0.0667413 -0.996988 -0.0357997 -0.0687998 \n-0.97237 0.122729 -0.198581 -0.97251 0.117515 -0.201034 \n-0.97237 -0.122729 -0.198581 -0.97251 -0.117515 -0.201034 \n-0.92388 0.201189 -0.32553 -0.923608 0.19664 -0.329061 \n-0.85264 0.274694 -0.444464 -0.852043 0.270325 -0.448271 \n-0.827147 0.233445 -0.511205 -0.829917 0.234526 -0.506196 \n-0.848029 0.0784591 -0.52411 -0.85098 0.0791244 -0.519204 \n-0.92388 -0.201189 -0.32553 -0.923608 -0.19664 -0.329061 \n-0.848029 -0.0784591 -0.52411 -0.85098 -0.0791244 -0.519204 \n-0.827147 -0.233445 -0.511205 -0.829917 -0.234526 -0.506196 \n-0.85264 -0.274694 -0.444464 -0.852043 -0.270326 -0.448271 \n-0.0412484 -0.0667413 0.996917 -0.0357997 -0.0687998 0.996988 \n0.0412484 -0.0667413 0.996917 0.0357997 -0.0687998 0.996988 \n-0.122729 -0.198581 0.97237 -0.117515 -0.201034 0.97251 \n0.122729 -0.198581 0.97237 0.117515 -0.201034 0.97251 \n-0.201189 -0.32553 0.92388 -0.19664 -0.32906 0.923608 \n-0.274694 -0.444464 0.85264 -0.270325 -0.448271 0.852043 \n-0.233445 -0.511205 0.827147 -0.234526 -0.506196 0.829917 \n-0.0784591 -0.52411 0.848029 -0.0791245 -0.519204 0.85098 \n0.201189 -0.32553 0.92388 0.19664 -0.32906 0.923608 \n0.0784591 -0.52411 0.848029 0.0791245 -0.519204 0.85098 \n0.233445 -0.511205 0.827147 0.234526 -0.506196 0.829917 \n0.274694 -0.444464 0.85264 0.270326 -0.448271 0.852043 \n0.0412484 0.0667413 0.996917 0.0357997 0.0687998 0.996988 \n-0.0412484 0.0667413 0.996917 -0.0357997 0.0687998 0.996988 \n0.122729 0.198581 0.97237 0.117515 0.201034 0.97251 \n-0.122729 0.198581 0.97237 -0.117515 0.201034 0.97251 \n0.201189 0.32553 0.92388 0.19664 0.32906 0.923608 \n0.274694 0.444464 0.85264 0.270325 0.448271 0.852043 \n0.233445 0.511205 0.827147 0.234526 0.506196 0.829917 \n0.0784591 0.52411 0.848029 0.0791245 0.519204 0.85098 \n-0.201189 0.32553 0.92388 -0.19664 0.32906 0.923608 \n-0.0784591 0.52411 0.848029 -0.0791245 0.519204 0.85098 \n-0.233445 0.511205 0.827147 -0.234526 0.506196 0.829917 \n-0.274694 0.444464 0.85264 -0.270326 0.448271 0.852043 \n-0.0412484 0.0667413 -0.996917 -0.0357997 0.0687998 -0.996988 \n0.0412484 0.0667413 -0.996917 0.0357997 0.0687998 -0.996988 \n-0.122729 0.198581 -0.97237 -0.117515 0.201034 -0.97251 \n0.122729 0.198581 -0.97237 0.117515 0.201034 -0.97251 \n-0.201189 0.32553 -0.92388 -0.19664 0.32906 -0.923608 \n-0.274694 0.444464 -0.85264 -0.270325 0.448271 -0.852043 \n-0.233445 0.511205 -0.827147 -0.234526 0.506196 -0.829917 \n-0.0784591 0.52411 -0.848029 -0.0791245 0.519204 -0.85098 \n0.201189 0.32553 -0.92388 0.19664 0.32906 -0.923608 \n0.0784591 0.52411 -0.848029 0.0791245 0.519204 -0.85098 \n0.233445 0.511205 -0.827147 0.234526 0.506196 -0.829917 \n0.274694 0.444464 -0.85264 0.270326 0.448271 -0.852043 \n0.0412484 -0.0667413 -0.996917 0.0357997 -0.0687998 -0.996988 \n-0.0412484 -0.0667413 -0.996917 -0.0357997 -0.0687998 -0.996988 \n0.122729 -0.198581 -0.97237 0.117515 -0.201034 -0.97251 \n-0.122729 -0.198581 -0.97237 -0.117515 -0.201034 -0.97251 \n0.201189 -0.32553 -0.92388 0.19664 -0.32906 -0.923608 \n0.274694 -0.444464 -0.85264 0.270325 -0.448271 -0.852043 \n0.233445 -0.511205 -0.827147 0.234526 -0.506196 -0.829917 \n0.0784591 -0.52411 -0.848029 0.0791245 -0.519204 -0.85098 \n-0.201189 -0.32553 -0.92388 -0.19664 -0.32906 -0.923608 \n-0.0784591 -0.52411 -0.848029 -0.0791245 -0.519204 -0.85098 \n-0.233445 -0.511205 -0.827147 -0.234526 -0.506196 -0.829917 \n-0.274694 -0.444464 -0.85264 -0.270326 -0.448271 -0.852043 \n0.382683 0.485712 0.785899 0.381646 0.490792 0.783243 \n0.341435 0.552454 0.760406 0.345847 0.548717 0.761118 \n0.522499 0.448259 0.725299 0.52192 0.453306 0.722574 \n0.399769 0.64684 0.649448 0.404404 0.643449 0.649946 \n0.649448 0.399769 0.64684 0.649946 0.404404 0.64345 \n0.760406 0.341435 0.552454 0.761117 0.345847 0.548717 \n0.785899 0.382683 0.485712 0.783243 0.381647 0.490792 \n0.725299 0.522499 0.448259 0.722574 0.521919 0.453306 \n0.448259 0.725299 0.522499 0.453306 0.722574 0.52192 \n0.64684 0.649448 0.399769 0.64345 0.649946 0.404404 \n0.552454 0.760406 0.341435 0.548717 0.761117 0.345847 \n0.485712 0.785899 0.382683 0.490792 0.783243 0.381647 \n-0.552454 0.760406 0.341435 -0.548717 0.761117 0.345847 \n-0.485712 0.785899 0.382683 -0.490792 0.783243 0.381647 \n-0.64684 0.649448 0.399769 -0.64345 0.649946 0.404404 \n-0.448259 0.725299 0.522499 -0.453306 0.722574 0.52192 \n-0.725299 0.522499 0.448259 -0.722574 0.521919 0.453306 \n-0.785899 0.382683 0.485712 -0.783243 0.381647 0.490792 \n-0.760406 0.341435 0.552454 -0.761117 0.345847 0.548717 \n-0.649448 0.399769 0.64684 -0.649946 0.404404 0.64345 \n-0.399769 0.64684 0.649448 -0.404404 0.643449 0.649946 \n-0.522499 0.448259 0.725299 -0.52192 0.453306 0.722574 \n-0.382683 0.485712 0.785899 -0.381646 0.490792 0.783243 \n-0.341435 0.552454 0.760406 -0.345847 0.548717 0.761118 \n0.552454 0.760406 -0.341435 0.548717 0.761117 -0.345847 \n0.485712 0.785899 -0.382683 0.490792 0.783243 -0.381647 \n0.64684 0.649448 -0.399769 0.64345 0.649946 -0.404404 \n0.448259 0.725299 -0.522499 0.453306 0.722574 -0.52192 \n0.725299 0.522499 -0.448259 0.722574 0.521919 -0.453306 \n0.785899 0.382683 -0.485712 0.783243 0.381647 -0.490792 \n0.760406 0.341435 -0.552454 0.761117 0.345847 -0.548717 \n0.649448 0.399769 -0.64684 0.649946 0.404404 -0.64345 \n0.399769 0.64684 -0.649448 0.404404 0.643449 -0.649946 \n0.522499 0.448259 -0.725299 0.52192 0.453306 -0.722574 \n0.382683 0.485712 -0.785899 0.381646 0.490792 -0.783243 \n0.341435 0.552454 -0.760406 0.345847 0.548717 -0.761118 \n-0.382683 0.485712 -0.785899 -0.381646 0.490792 -0.783243 \n-0.341435 0.552454 -0.760406 -0.345847 0.548717 -0.761118 \n-0.522499 0.448259 -0.725299 -0.52192 0.453306 -0.722574 \n-0.399769 0.64684 -0.649448 -0.404404 0.643449 -0.649946 \n-0.649448 0.399769 -0.64684 -0.649946 0.404404 -0.64345 \n-0.760406 0.341435 -0.552454 -0.761117 0.345847 -0.548717 \n-0.785899 0.382683 -0.485712 -0.783243 0.381647 -0.490792 \n-0.725299 0.522499 -0.448259 -0.722574 0.521919 -0.453306 \n-0.448259 0.725299 -0.522499 -0.453306 0.722574 -0.52192 \n-0.64684 0.649448 -0.399769 -0.64345 0.649946 -0.404404 \n-0.552454 0.760406 -0.341435 -0.548717 0.761117 -0.345847 \n-0.485712 0.785899 -0.382683 -0.490792 0.783243 -0.381647 \n0.552454 -0.760406 0.341435 0.548717 -0.761117 0.345847 \n0.485712 -0.785899 0.382683 0.490792 -0.783243 0.381647 \n0.64684 -0.649448 0.399769 0.64345 -0.649946 0.404404 \n0.448259 -0.725299 0.522499 0.453306 -0.722574 0.52192 \n0.725299 -0.522499 0.448259 0.722574 -0.521919 0.453306 \n0.785899 -0.382683 0.485712 0.783243 -0.381647 0.490792 \n0.760406 -0.341435 0.552454 0.761117 -0.345847 0.548717 \n0.649448 -0.399769 0.64684 0.649946 -0.404404 0.64345 \n0.399769 -0.64684 0.649448 0.404404 -0.643449 0.649946 \n0.522499 -0.448259 0.725299 0.52192 -0.453306 0.722574 \n0.382683 -0.485712 0.785899 0.381646 -0.490792 0.783243 \n0.341435 -0.552454 0.760406 0.345847 -0.548717 0.761118 \n-0.382683 -0.485712 0.785899 -0.381646 -0.490792 0.783243 \n-0.341435 -0.552454 0.760406 -0.345847 -0.548717 0.761118 \n-0.522499 -0.448259 0.725299 -0.52192 -0.453306 0.722574 \n-0.399769 -0.64684 0.649448 -0.404404 -0.643449 0.649946 \n-0.649448 -0.399769 0.64684 -0.649946 -0.404404 0.64345 \n-0.760406 -0.341435 0.552454 -0.761117 -0.345847 0.548717 \n-0.785899 -0.382683 0.485712 -0.783243 -0.381647 0.490792 \n-0.725299 -0.522499 0.448259 -0.722574 -0.521919 0.453306 \n-0.448259 -0.725299 0.522499 -0.453306 -0.722574 0.52192 \n-0.64684 -0.649448 0.399769 -0.64345 -0.649946 0.404404 \n-0.552454 -0.760406 0.341435 -0.548717 -0.761117 0.345847 \n-0.485712 -0.785899 0.382683 -0.490792 -0.783243 0.381647 \n0.382683 -0.485712 -0.785899 0.381646 -0.490792 -0.783243 \n0.341435 -0.552454 -0.760406 0.345847 -0.548717 -0.761118 \n0.522499 -0.448259 -0.725299 0.52192 -0.453306 -0.722574 \n0.399769 -0.64684 -0.649448 0.404404 -0.643449 -0.649946 \n0.649448 -0.399769 -0.64684 0.649946 -0.404404 -0.64345 \n0.760406 -0.341435 -0.552454 0.761117 -0.345847 -0.548717 \n0.785899 -0.382683 -0.485712 0.783243 -0.381647 -0.490792 \n0.725299 -0.522499 -0.448259 0.722574 -0.521919 -0.453306 \n0.448259 -0.725299 -0.522499 0.453306 -0.722574 -0.52192 \n0.64684 -0.649448 -0.399769 0.64345 -0.649946 -0.404404 \n0.552454 -0.760406 -0.341435 0.548717 -0.761117 -0.345847 \n0.485712 -0.785899 -0.382683 0.490792 -0.783243 -0.381647 \n-0.552454 -0.760406 -0.341435 -0.548717 -0.761117 -0.345847 \n-0.485712 -0.785899 -0.382683 -0.490792 -0.783243 -0.381647 \n-0.64684 -0.649448 -0.399769 -0.64345 -0.649946 -0.404404 \n-0.448259 -0.725299 -0.522499 -0.453306 -0.722574 -0.52192 \n-0.725299 -0.522499 -0.448259 -0.722574 -0.521919 -0.453306 \n-0.785899 -0.382683 -0.485712 -0.783243 -0.381647 -0.490792 \n-0.760406 -0.341435 -0.552454 -0.761117 -0.345847 -0.548717 \n-0.649448 -0.399769 -0.64684 -0.649946 -0.404404 -0.64345 \n-0.399769 -0.64684 -0.649448 -0.404404 -0.643449 -0.649946 \n-0.522499 -0.448259 -0.725299 -0.52192 -0.453306 -0.722574 \n-0.382683 -0.485712 -0.785899 -0.381646 -0.490792 -0.783243 \n-0.341435 -0.552454 -0.760406 -0.345847 -0.548717 -0.761118 \n0 0.884965 -0.465658 0 0.882938 -0.46949 \n0.0657576 0.859848 -0.506298 0.0616436 0.859392 -0.507588 \n0 0.940742 -0.339123 5.30846e-009 0.939401 -0.342821 \n0.196015 0.865871 -0.460267 0.192353 0.865929 -0.461701 \n0 0.97853 -0.206103 0 0.977969 -0.208752 \n0 0.997607 -0.0691416 -5.252e-010 0.997445 -0.0714341 \n0.322525 0.855337 -0.405434 0.3201 0.855701 -0.406585 \n0.442867 0.828447 -0.342848 0.440931 0.829025 -0.343945 \n0 0.997607 0.0691416 2.626e-010 0.997445 0.0714341 \n0 0.97853 0.206103 0 0.977969 0.208752 \n0 0.940742 0.339123 -5.30846e-009 0.939401 0.342821 \n0 0.884965 0.465658 0 0.882938 0.46949 \n0.0657576 0.859848 0.506298 0.0616436 0.859392 0.507588 \n0.196015 0.865871 0.460267 0.192353 0.865929 0.461701 \n0.322525 0.855337 0.405434 0.3201 0.855701 0.406585 \n0.442867 0.828447 0.342848 0.440931 0.829025 0.343945 \n0.55474 0.785715 -0.273707 0.556514 0.784876 -0.272511 \n0.656006 0.727959 -0.199331 0.657869 0.726685 -0.197832 \n0.55474 0.785715 0.273707 0.556514 0.784876 0.272511 \n0.656006 0.727959 0.199331 0.657869 0.726685 0.197832 \n0.744727 0.656282 -0.121144 0.747048 0.654054 -0.118881 \n0.744727 0.656282 0.121144 0.747048 0.654054 0.118881 \n0.819207 0.572056 0.0406404 0.821294 0.569232 0.038098 \n0.819207 0.572056 -0.0406404 0.821294 0.569232 -0.038098 \n-0.0657576 0.859848 0.506298 -0.0616436 0.859392 0.507588 \n-0.196015 0.865871 0.460267 -0.192353 0.865929 0.461701 \n-0.322525 0.855337 0.405434 -0.3201 0.855701 0.406585 \n-0.442867 0.828447 0.342848 -0.440931 0.829025 0.343945 \n-0.0657576 0.859848 -0.506298 -0.0616436 0.859392 -0.507588 \n-0.196015 0.865871 -0.460267 -0.192353 0.865929 -0.461701 \n-0.322525 0.855337 -0.405434 -0.3201 0.855701 -0.406585 \n-0.442867 0.828447 -0.342848 -0.440931 0.829025 -0.343945 \n-0.55474 0.785715 0.273707 -0.556514 0.784876 0.272511 \n-0.656006 0.727959 0.199331 -0.657869 0.726685 0.197832 \n-0.55474 0.785715 -0.273707 -0.556514 0.784876 -0.272511 \n-0.656006 0.727959 -0.199331 -0.657869 0.726685 -0.197832 \n-0.744727 0.656282 0.121144 -0.747048 0.654054 0.118881 \n-0.744727 0.656282 -0.121144 -0.747048 0.654054 -0.118881 \n-0.819207 0.572056 -0.0406404 -0.821294 0.569232 -0.038098 \n-0.819207 0.572056 0.0406404 -0.821294 0.569232 0.038098 \n0 -0.884965 0.465658 0 -0.882938 0.46949 \n0.0657576 -0.859848 0.506298 0.0616436 -0.859392 0.507588 \n0 -0.940742 0.339123 5.30846e-009 -0.939401 0.342821 \n0.196015 -0.865871 0.460267 0.192353 -0.865929 0.461701 \n0 -0.97853 0.206103 0 -0.977969 0.208752 \n0 -0.997607 0.0691416 -5.252e-010 -0.997445 0.0714341 \n0.322525 -0.855337 0.405434 0.3201 -0.855701 0.406585 \n0.442867 -0.828447 0.342848 0.440931 -0.829025 0.343945 \n0 -0.997607 -0.0691416 2.626e-010 -0.997445 -0.0714341 \n0 -0.97853 -0.206103 0 -0.977969 -0.208752 \n0 -0.940742 -0.339123 -5.30846e-009 -0.939401 -0.342821 \n0 -0.884965 -0.465658 0 -0.882938 -0.46949 \n0.0657576 -0.859848 -0.506298 0.0616436 -0.859392 -0.507588 \n0.196015 -0.865871 -0.460267 0.192353 -0.865929 -0.461701 \n0.322525 -0.855337 -0.405434 0.3201 -0.855701 -0.406585 \n0.442867 -0.828447 -0.342848 0.440931 -0.829025 -0.343945 \n0.55474 -0.785715 0.273707 0.556514 -0.784876 0.272511 \n0.656006 -0.727959 0.199331 0.657869 -0.726685 0.197832 \n0.55474 -0.785715 -0.273707 0.556514 -0.784876 -0.272511 \n0.656006 -0.727959 -0.199331 0.657869 -0.726685 -0.197832 \n0.744727 -0.656282 0.121144 0.747048 -0.654054 0.118881 \n0.744727 -0.656282 -0.121144 0.747048 -0.654054 -0.118881 \n0.819207 -0.572056 -0.0406404 0.821294 -0.569232 -0.038098 \n0.819207 -0.572056 0.0406404 0.821294 -0.569232 0.038098 \n-0.0657576 -0.859848 -0.506298 -0.0616436 -0.859392 -0.507588 \n-0.196015 -0.865871 -0.460267 -0.192353 -0.865929 -0.461701 \n-0.322525 -0.855337 -0.405434 -0.3201 -0.855701 -0.406585 \n-0.442867 -0.828447 -0.342848 -0.440931 -0.829025 -0.343945 \n-0.0657576 -0.859848 0.506298 -0.0616436 -0.859392 0.507588 \n-0.196015 -0.865871 0.460267 -0.192353 -0.865929 0.461701 \n-0.322525 -0.855337 0.405434 -0.3201 -0.855701 0.406585 \n-0.442867 -0.828447 0.342848 -0.440931 -0.829025 0.343945 \n-0.55474 -0.785715 -0.273707 -0.556514 -0.784876 -0.272511 \n-0.656006 -0.727959 -0.199331 -0.657869 -0.726685 -0.197832 \n-0.55474 -0.785715 0.273707 -0.556514 -0.784876 0.272511 \n-0.656006 -0.727959 0.199331 -0.657869 -0.726685 0.197832 \n-0.744727 -0.656282 -0.121144 -0.747048 -0.654054 -0.118881 \n-0.744727 -0.656282 0.121144 -0.747048 -0.654054 0.118881 \n-0.819207 -0.572056 0.0406404 -0.821294 -0.569232 0.038098 \n-0.819207 -0.572056 -0.0406404 -0.821294 -0.569232 -0.038098 \n0.884965 0.465658 0 0.882938 0.46949 0 \n0.859848 0.506298 -0.0657576 0.859392 0.507588 -0.0616436 \n0.940742 0.339123 0 0.939401 0.342821 -5.30846e-009 \n0.865871 0.460267 -0.196015 0.865929 0.461701 -0.192353 \n0.97853 0.206103 0 0.977969 0.208752 0 \n0.997607 0.0691416 0 0.997445 0.0714341 5.252e-010 \n0.855337 0.405434 -0.322525 0.855701 0.406585 -0.3201 \n0.828447 0.342848 -0.442867 0.829024 0.343945 -0.440931 \n0.997607 -0.0691416 0 0.997445 -0.0714341 -2.626e-010 \n0.97853 -0.206103 0 0.977969 -0.208752 0 \n0.940742 -0.339123 0 0.939401 -0.342821 5.30846e-009 \n0.884965 -0.465658 0 0.882938 -0.46949 0 \n0.859848 -0.506298 -0.0657576 0.859392 -0.507588 -0.0616436 \n0.865871 -0.460267 -0.196015 0.865929 -0.461701 -0.192353 \n0.855337 -0.405434 -0.322525 0.855701 -0.406585 -0.3201 \n0.828447 -0.342848 -0.442867 0.829024 -0.343945 -0.440931 \n0.785715 0.273707 -0.55474 0.784876 0.272511 -0.556514 \n0.727959 0.199331 -0.656006 0.726685 0.197832 -0.657869 \n0.785715 -0.273707 -0.55474 0.784876 -0.272511 -0.556514 \n0.727959 -0.199331 -0.656006 0.726685 -0.197832 -0.657869 \n0.656282 0.121144 -0.744727 0.654054 0.118881 -0.747048 \n0.656282 -0.121144 -0.744727 0.654054 -0.118881 -0.747048 \n0.572056 -0.0406404 -0.819207 0.569232 -0.0380977 -0.821294 \n0.572056 0.0406404 -0.819207 0.569232 0.0380977 -0.821294 \n0.859848 -0.506298 0.0657576 0.859392 -0.507588 0.0616436 \n0.865871 -0.460267 0.196015 0.865929 -0.461701 0.192353 \n0.855337 -0.405434 0.322525 0.855701 -0.406585 0.3201 \n0.828447 -0.342848 0.442867 0.829024 -0.343945 0.440931 \n0.859848 0.506298 0.0657576 0.859392 0.507588 0.0616436 \n0.865871 0.460267 0.196015 0.865929 0.461701 0.192353 \n0.855337 0.405434 0.322525 0.855701 0.406585 0.3201 \n0.828447 0.342848 0.442867 0.829024 0.343945 0.440931 \n0.785715 -0.273707 0.55474 0.784876 -0.272511 0.556514 \n0.727959 -0.199331 0.656006 0.726685 -0.197832 0.657869 \n0.785715 0.273707 0.55474 0.784876 0.272511 0.556514 \n0.727959 0.199331 0.656006 0.726685 0.197832 0.657869 \n0.656282 -0.121144 0.744727 0.654054 -0.118881 0.747048 \n0.656282 0.121144 0.744727 0.654054 0.118881 0.747048 \n0.572056 0.0406404 0.819207 0.569232 0.0380977 0.821294 \n0.572056 -0.0406404 0.819207 0.569232 -0.0380977 0.821294 \n-0.884965 0.465658 0 -0.882938 0.46949 0 \n-0.859848 0.506298 0.0657576 -0.859392 0.507588 0.0616436 \n-0.940742 0.339123 0 -0.939401 0.342821 5.30846e-009 \n-0.865871 0.460267 0.196015 -0.865929 0.461701 0.192353 \n-0.97853 0.206103 0 -0.977969 0.208752 0 \n-0.997607 0.0691416 0 -0.997445 0.0714341 -5.252e-010 \n-0.855337 0.405434 0.322525 -0.855701 0.406585 0.3201 \n-0.828447 0.342848 0.442867 -0.829024 0.343945 0.440931 \n-0.997607 -0.0691416 0 -0.997445 -0.0714341 2.626e-010 \n-0.97853 -0.206103 0 -0.977969 -0.208752 0 \n-0.940742 -0.339123 0 -0.939401 -0.342821 -5.30846e-009 \n-0.884965 -0.465658 0 -0.882938 -0.46949 0 \n-0.859848 -0.506298 0.0657576 -0.859392 -0.507588 0.0616436 \n-0.865871 -0.460267 0.196015 -0.865929 -0.461701 0.192353 \n-0.855337 -0.405434 0.322525 -0.855701 -0.406585 0.3201 \n-0.828447 -0.342848 0.442867 -0.829024 -0.343945 0.440931 \n-0.785715 0.273707 0.55474 -0.784876 0.272511 0.556514 \n-0.727959 0.199331 0.656006 -0.726685 0.197832 0.657869 \n-0.785715 -0.273707 0.55474 -0.784876 -0.272511 0.556514 \n-0.727959 -0.199331 0.656006 -0.726685 -0.197832 0.657869 \n-0.656282 0.121144 0.744727 -0.654054 0.118881 0.747048 \n-0.656282 -0.121144 0.744727 -0.654054 -0.118881 0.747048 \n-0.572056 -0.0406404 0.819207 -0.569232 -0.0380977 0.821294 \n-0.572056 0.0406404 0.819207 -0.569232 0.0380977 0.821294 \n-0.859848 -0.506298 -0.0657576 -0.859392 -0.507588 -0.0616436 \n-0.865871 -0.460267 -0.196015 -0.865929 -0.461701 -0.192353 \n-0.855337 -0.405434 -0.322525 -0.855701 -0.406585 -0.3201 \n-0.828447 -0.342848 -0.442867 -0.829024 -0.343945 -0.440931 \n-0.859848 0.506298 -0.0657576 -0.859392 0.507588 -0.0616436 \n-0.865871 0.460267 -0.196015 -0.865929 0.461701 -0.192353 \n-0.855337 0.405434 -0.322525 -0.855701 0.406585 -0.3201 \n-0.828447 0.342848 -0.442867 -0.829024 0.343945 -0.440931 \n-0.785715 -0.273707 -0.55474 -0.784876 -0.272511 -0.556514 \n-0.727959 -0.199331 -0.656006 -0.726685 -0.197832 -0.657869 \n-0.785715 0.273707 -0.55474 -0.784876 0.272511 -0.556514 \n-0.727959 0.199331 -0.656006 -0.726685 0.197832 -0.657869 \n-0.656282 -0.121144 -0.744727 -0.654054 -0.118881 -0.747048 \n-0.656282 0.121144 -0.744727 -0.654054 0.118881 -0.747048 \n-0.572056 0.0406404 -0.819207 -0.569232 0.0380977 -0.821294 \n-0.572056 -0.0406404 -0.819207 -0.569232 -0.0380977 -0.821294 \n0.465658 0 0.884965 0.46949 0 0.882938 \n0.506298 -0.0657576 0.859848 0.507588 -0.0616435 0.859392 \n0.339123 0 0.940742 0.34282 -3.18508e-009 0.939401 \n0.460267 -0.196015 0.865871 0.461701 -0.192353 0.865929 \n0.206103 0 0.97853 0.208752 0 0.977969 \n0.0691416 0 0.997607 0.0714341 5.252e-010 0.997445 \n0.405434 -0.322525 0.855337 0.406585 -0.3201 0.855701 \n0.342848 -0.442867 0.828447 0.343945 -0.440931 0.829024 \n-0.0691416 0 0.997607 -0.0714341 -2.626e-010 0.997445 \n-0.206103 0 0.97853 -0.208752 0 0.977969 \n-0.339123 0 0.940742 -0.34282 3.18508e-009 0.939401 \n-0.465658 0 0.884965 -0.46949 0 0.882938 \n-0.506298 -0.0657576 0.859848 -0.507588 -0.0616435 0.859392 \n-0.460267 -0.196015 0.865871 -0.461701 -0.192353 0.865929 \n-0.405434 -0.322525 0.855337 -0.406585 -0.3201 0.855701 \n-0.342848 -0.442867 0.828447 -0.343945 -0.440931 0.829024 \n0.273707 -0.55474 0.785715 0.272511 -0.556514 0.784876 \n0.199331 -0.656006 0.727959 0.197832 -0.657869 0.726685 \n-0.273707 -0.55474 0.785715 -0.272511 -0.556514 0.784876 \n-0.199331 -0.656006 0.727959 -0.197832 -0.657869 0.726685 \n0.121144 -0.744727 0.656282 0.118881 -0.747048 0.654054 \n-0.121144 -0.744727 0.656282 -0.118881 -0.747048 0.654054 \n-0.0406404 -0.819207 0.572056 -0.038098 -0.821294 0.569231 \n0.0406404 -0.819207 0.572056 0.038098 -0.821294 0.569232 \n-0.506298 0.0657576 0.859848 -0.507588 0.0616435 0.859392 \n-0.460267 0.196015 0.865871 -0.461701 0.192353 0.865929 \n-0.405434 0.322525 0.855337 -0.406585 0.3201 0.855701 \n-0.342848 0.442867 0.828447 -0.343945 0.440931 0.829024 \n0.506298 0.0657576 0.859848 0.507588 0.0616435 0.859392 \n0.460267 0.196015 0.865871 0.461701 0.192353 0.865929 \n0.405434 0.322525 0.855337 0.406585 0.3201 0.855701 \n0.342848 0.442867 0.828447 0.343945 0.440931 0.829024 \n-0.273707 0.55474 0.785715 -0.272511 0.556514 0.784876 \n-0.199331 0.656006 0.727959 -0.197832 0.657869 0.726685 \n0.273707 0.55474 0.785715 0.272511 0.556514 0.784876 \n0.199331 0.656006 0.727959 0.197832 0.657869 0.726685 \n-0.121144 0.744727 0.656282 -0.118881 0.747048 0.654054 \n0.121144 0.744727 0.656282 0.118881 0.747048 0.654054 \n0.0406404 0.819207 0.572056 0.038098 0.821294 0.569231 \n-0.0406404 0.819207 0.572056 -0.038098 0.821294 0.569232 \n0.465658 0 -0.884965 0.46949 0 -0.882938 \n0.506298 0.0657576 -0.859848 0.507588 0.0616435 -0.859392 \n0.339123 0 -0.940742 0.34282 3.18508e-009 -0.939401 \n0.460267 0.196015 -0.865871 0.461701 0.192353 -0.865929 \n0.206103 0 -0.97853 0.208752 0 -0.977969 \n0.0691416 0 -0.997607 0.0714341 -5.252e-010 -0.997445 \n0.405434 0.322525 -0.855337 0.406585 0.3201 -0.855701 \n0.342848 0.442867 -0.828447 0.343945 0.440931 -0.829024 \n-0.0691416 0 -0.997607 -0.0714341 2.626e-010 -0.997445 \n-0.206103 0 -0.97853 -0.208752 0 -0.977969 \n-0.339123 0 -0.940742 -0.34282 -3.18508e-009 -0.939401 \n-0.465658 0 -0.884965 -0.46949 0 -0.882938 \n-0.506298 0.0657576 -0.859848 -0.507588 0.0616435 -0.859392 \n-0.460267 0.196015 -0.865871 -0.461701 0.192353 -0.865929 \n-0.405434 0.322525 -0.855337 -0.406585 0.3201 -0.855701 \n-0.342848 0.442867 -0.828447 -0.343945 0.440931 -0.829024 \n0.273707 0.55474 -0.785715 0.272511 0.556514 -0.784876 \n0.199331 0.656006 -0.727959 0.197832 0.657869 -0.726685 \n-0.273707 0.55474 -0.785715 -0.272511 0.556514 -0.784876 \n-0.199331 0.656006 -0.727959 -0.197832 0.657869 -0.726685 \n0.121144 0.744727 -0.656282 0.118881 0.747048 -0.654054 \n-0.121144 0.744727 -0.656282 -0.118881 0.747048 -0.654054 \n-0.0406404 0.819207 -0.572056 -0.038098 0.821294 -0.569231 \n0.0406404 0.819207 -0.572056 0.038098 0.821294 -0.569232 \n-0.506298 -0.0657576 -0.859848 -0.507588 -0.0616435 -0.859392 \n-0.460267 -0.196015 -0.865871 -0.461701 -0.192353 -0.865929 \n-0.405434 -0.322525 -0.855337 -0.406585 -0.3201 -0.855701 \n-0.342848 -0.442867 -0.828447 -0.343945 -0.440931 -0.829024 \n0.506298 -0.0657576 -0.859848 0.507588 -0.0616435 -0.859392 \n0.460267 -0.196015 -0.865871 0.461701 -0.192353 -0.865929 \n0.405434 -0.322525 -0.855337 0.406585 -0.3201 -0.855701 \n0.342848 -0.442867 -0.828447 0.343945 -0.440931 -0.829024 \n-0.273707 -0.55474 -0.785715 -0.272511 -0.556514 -0.784876 \n-0.199331 -0.656006 -0.727959 -0.197832 -0.657869 -0.726685 \n0.273707 -0.55474 -0.785715 0.272511 -0.556514 -0.784876 \n0.199331 -0.656006 -0.727959 0.197832 -0.657869 -0.726685 \n-0.121144 -0.744727 -0.656282 -0.118881 -0.747048 -0.654054 \n0.121144 -0.744727 -0.656282 0.118881 -0.747048 -0.654054 \n0.0406404 -0.819207 -0.572056 0.038098 -0.821294 -0.569231 \n-0.0406404 -0.819207 -0.572056 -0.038098 -0.821294 -0.569232 \n3 642 643 644 \n3 645 646 647 \n3 648 649 650 \n3 651 652 653 \n3 654 655 656 \n3 657 658 659 \n3 660 661 662 \n3 663 664 665 \n3 666 667 668 \n3 669 670 671 \n3 672 673 674 \n3 675 676 677 \n3 678 679 680 \n3 681 682 683 \n3 684 685 686 \n3 687 688 689 \n3 690 691 692 \n3 693 694 695 \n3 696 697 698 \n3 699 700 701 \n3 702 703 704 \n3 705 706 707 \n3 708 709 710 \n3 711 712 713 \n3 714 715 716 \n3 717 718 719 \n3 720 721 722 \n3 723 724 725 \n3 726 727 728 \n3 729 730 731 \n3 732 733 734 \n3 735 736 737 \n3 738 739 740 \n3 741 742 743 \n3 744 745 746 \n3 747 748 749 \n3 750 751 752 \n3 753 754 755 \n3 756 757 758 \n3 759 760 761 \n3 762 763 764 \n3 765 766 767 \n3 768 769 770 \n3 771 772 773 \n3 774 775 776 \n3 777 778 779 \n3 780 781 782 \n3 783 784 785 \n3 786 787 788 \n3 789 790 791 \n3 792 793 794 \n3 795 796 797 \n3 798 799 800 \n3 801 802 803 \n3 804 805 806 \n3 807 808 809 \n3 810 811 812 \n3 813 814 815 \n3 816 817 818 \n3 819 820 821 \n3 822 823 824 \n3 825 826 827 \n3 828 829 830 \n3 831 832 833 \n3 834 835 836 \n3 837 838 839 \n3 840 841 842 \n3 843 844 845 \n3 846 847 848 \n3 849 850 851 \n3 852 853 854 \n3 855 856 857 \n3 858 859 860 \n3 861 862 863 \n3 864 865 866 \n3 867 868 869 \n3 870 871 872 \n3 873 874 875 \n3 876 877 878 \n3 879 880 881 \n3 882 883 884 \n3 885 886 887 \n3 888 889 890 \n3 891 892 893 \n3 894 895 896 \n3 897 898 899 \n3 900 901 902 \n3 903 904 905 \n3 906 907 908 \n3 909 910 911 \n3 912 913 914 \n3 915 916 917 \n3 918 919 920 \n3 921 922 923 \n3 924 925 926 \n3 927 928 929 \n3 930 931 932 \n3 933 934 935 \n3 936 937 938 \n3 939 940 941 \n3 942 943 944 \n3 945 946 947 \n3 948 949 950 \n3 951 952 953 \n3 954 955 956 \n3 957 958 959 \n3 960 961 962 \n3 963 964 965 \n3 966 967 968 \n3 969 970 971 \n3 972 973 974 \n3 975 976 977 \n3 978 979 980 \n3 981 982 983 \n3 984 985 986 \n3 987 988 989 \n3 990 991 992 \n3 993 994 995 \n3 996 997 998 \n3 999 1000 1001 \n3 1002 1003 1004 \n3 1005 1006 1007 \n3 1008 1009 1010 \n3 1011 1012 1013 \n3 1014 1015 1016 \n3 1017 1018 1019 \n3 1020 1021 1022 \n3 1023 1024 1025 \n3 1026 1027 1028 \n3 1029 1030 1031 \n3 1032 1033 1034 \n3 1035 1036 1037 \n3 1038 1039 1040 \n3 1041 1042 1043 \n3 1044 1045 1046 \n3 1047 1048 1049 \n3 1050 1051 1052 \n3 1053 1054 1055 \n3 1056 1057 1058 \n3 1059 1060 1061 \n3 1062 1063 1064 \n3 1065 1066 1067 \n3 1068 1069 1070 \n3 1071 1072 1073 \n3 1074 1075 1076 \n3 1077 1078 1079 \n3 1080 1081 1082 \n3 1083 1084 1085 \n3 1086 1087 1088 \n3 1089 1090 1091 \n3 1092 1093 1094 \n3 1095 1096 1097 \n3 1098 1099 1100 \n3 1101 1102 1103 \n3 1104 1105 1106 \n3 1107 1108 1109 \n3 1110 1111 1112 \n3 1113 1114 1115 \n3 1116 1117 1118 \n3 1119 1120 1121 \n3 1122 1123 1124 \n3 1125 1126 1127 \n3 1128 1129 1130 \n3 1131 1132 1133 \n3 1134 1135 1136 \n3 1137 1138 1139 \n3 1140 1141 1142 \n3 1143 1144 1145 \n3 1146 1147 1148 \n3 1149 1150 1151 \n3 1152 1153 1154 \n3 1155 1156 1157 \n3 1158 1159 1160 \n3 1161 1162 1163 \n3 1164 1165 1166 \n3 1167 1168 1169 \n3 1170 1171 1172 \n3 1173 1174 1175 \n3 1176 1177 1178 \n3 1179 1180 1181 \n3 1182 1183 1184 \n3 1185 1186 1187 \n3 1188 1189 1190 \n3 1191 1192 1193 \n3 1194 1195 1196 \n3 1197 1198 1199 \n3 1200 1201 1202 \n3 1203 1204 1205 \n3 1206 1207 1208 \n3 1209 1210 1211 \n3 1212 1213 1214 \n3 1215 1216 1217 \n3 1218 1219 1220 \n3 1221 1222 1223 \n3 1224 1225 1226 \n3 1227 1228 1229 \n3 1230 1231 1232 \n3 1233 1234 1235 \n3 1236 1237 1238 \n3 1239 1240 1241 \n3 1242 1243 1244 \n3 1245 1246 1247 \n3 1248 1249 1250 \n3 1251 1252 1253 \n3 1254 1255 1256 \n3 1257 1258 1259 \n3 1260 1261 1262 \n3 1263 1264 1265 \n3 1266 1267 1268 \n3 1269 1270 1271 \n3 1272 1273 1274 \n3 1275 1276 1277 \n3 1278 1279 1280 \n3 1281 1282 1283 \n3 1284 1285 1286 \n3 1287 1288 1289 \n3 1290 1291 1292 \n3 1293 1294 1295 \n3 1296 1297 1298 \n3 1299 1300 1301 \n3 1302 1303 1304 \n3 1305 1306 1307 \n3 1308 1309 1310 \n3 1311 1312 1313 \n3 1314 1315 1316 \n3 1317 1318 1319 \n3 1320 1321 1322 \n3 1323 1324 1325 \n3 1326 1327 1328 \n3 1329 1330 1331 \n3 1332 1333 1334 \n3 1335 1336 1337 \n3 1338 1339 1340 \n3 1341 1342 1343 \n3 1344 1345 1346 \n3 1347 1348 1349 \n3 1350 1351 1352 \n3 1353 1354 1355 \n3 1356 1357 1358 \n3 1359 1360 1361 \n3 1362 1363 1364 \n3 1365 1366 1367 \n3 1368 1369 1370 \n3 1371 1372 1373 \n3 1374 1375 1376 \n3 1377 1378 1379 \n3 1380 1381 1382 \n3 1383 1384 1385 \n3 1386 1387 1388 \n3 1389 1390 1391 \n3 1392 1393 1394 \n3 1395 1396 1397 \n3 1398 1399 1400 \n3 1401 1402 1403 \n3 1404 1405 1406 \n3 1407 1408 1409 \n3 1410 1411 1412 \n3 1413 1414 1415 \n3 1416 1417 1418 \n3 1419 1420 1421 \n3 1422 1423 1424 \n3 1425 1426 1427 \n3 1428 1429 1430 \n3 1431 1432 1433 \n3 1434 1435 1436 \n3 1437 1438 1439 \n3 1440 1441 1442 \n3 1443 1444 1445 \n3 1446 1447 1448 \n3 1449 1450 1451 \n3 1452 1453 1454 \n3 1455 1456 1457 \n3 1458 1459 1460 \n3 1461 1462 1463 \n3 1464 1465 1466 \n3 1467 1468 1469 \n3 1470 1471 1472 \n3 1473 1474 1475 \n3 1476 1477 1478 \n3 1479 1480 1481 \n3 1482 1483 1484 \n3 1485 1486 1487 \n3 1488 1489 1490 \n3 1491 1492 1493 \n3 1494 1495 1496 \n3 1497 1498 1499 \n3 1500 1501 1502 \n3 1503 1504 1505 \n3 1506 1507 1508 \n3 1509 1510 1511 \n3 1512 1513 1514 \n3 1515 1516 1517 \n3 1518 1519 1520 \n3 1521 1522 1523 \n3 1524 1525 1526 \n3 1527 1528 1529 \n3 1530 1531 1532 \n3 1533 1534 1535 \n3 1536 1537 1538 \n3 1539 1540 1541 \n3 1542 1543 1544 \n3 1545 1546 1547 \n3 1548 1549 1550 \n3 1551 1552 1553 \n3 1554 1555 1556 \n3 1557 1558 1559 \n3 1560 1561 1562 \n3 1563 1564 1565 \n3 1566 1567 1568 \n3 1569 1570 1571 \n3 1572 1573 1574 \n3 1575 1576 1577 \n3 1578 1579 1580 \n3 1581 1582 1583 \n3 1584 1585 1586 \n3 1587 1588 1589 \n3 1590 1591 1592 \n3 1593 1594 1595 \n3 1596 1597 1598 \n3 1599 1600 1601 \n3 1602 644 1603 \n3 1604 1605 642 \n3 643 1606 1607 \n3 1608 647 1609 \n3 1610 1611 645 \n3 646 1612 1613 \n3 1614 650 1615 \n3 1616 1617 648 \n3 649 1618 1619 \n3 1620 653 1621 \n3 1622 1623 651 \n3 652 1624 1625 \n3 1626 656 1627 \n3 1628 1629 654 \n3 655 1630 1631 \n3 1632 659 1633 \n3 1634 1635 657 \n3 658 1636 1637 \n3 1638 662 1639 \n3 1640 1641 660 \n3 661 1642 1643 \n3 1644 665 1645 \n3 1646 1647 663 \n3 664 1648 1649 \n3 1650 668 1651 \n3 1652 1653 666 \n3 667 1654 1655 \n3 1656 671 1657 \n3 1658 1659 669 \n3 670 1660 1661 \n3 1662 674 1663 \n3 1664 1665 672 \n3 673 1666 1667 \n3 1668 677 1669 \n3 1670 1671 675 \n3 676 1672 1673 \n3 1674 680 1675 \n3 1676 1677 678 \n3 679 1678 1679 \n3 1680 683 1681 \n3 1682 1683 681 \n3 682 1684 1685 \n3 1686 686 1687 \n3 1688 1689 684 \n3 685 1690 1691 \n3 1692 689 1693 \n3 1694 1695 687 \n3 688 1696 1697 \n3 1698 692 1699 \n3 1700 1701 690 \n3 691 1702 1703 \n3 1704 695 1705 \n3 1706 1707 693 \n3 694 1708 1709 \n3 1710 698 1711 \n3 1712 1713 696 \n3 697 1714 1715 \n3 1716 701 1717 \n3 1718 1719 699 \n3 700 1720 1721 \n3 1722 704 1723 \n3 1724 1725 702 \n3 703 1726 1727 \n3 1728 707 1729 \n3 1730 1731 705 \n3 706 1732 1733 \n3 1734 710 1735 \n3 1736 1737 708 \n3 709 1738 1739 \n3 1740 713 1741 \n3 1742 1743 711 \n3 712 1744 1745 \n3 1746 716 1747 \n3 1748 1749 714 \n3 715 1750 1751 \n3 1752 719 1753 \n3 1754 1755 717 \n3 718 1756 1757 \n3 1758 722 1759 \n3 1760 1761 720 \n3 721 1762 1763 \n3 1764 725 1765 \n3 1766 1767 723 \n3 724 1768 1769 \n3 1770 728 1771 \n3 1772 1773 726 \n3 727 1774 1775 \n3 1776 731 1777 \n3 1778 1779 729 \n3 730 1780 1781 \n3 1782 734 1783 \n3 1784 1785 732 \n3 733 1786 1787 \n3 1788 737 1789 \n3 1790 1791 735 \n3 736 1792 1793 \n3 1794 740 1795 \n3 1796 1797 738 \n3 739 1798 1799 \n3 1800 743 1801 \n3 1802 1803 741 \n3 742 1804 1805 \n3 1806 746 1807 \n3 1808 1809 744 \n3 745 1810 1811 \n3 1812 749 1813 \n3 1814 1815 747 \n3 748 1816 1817 \n3 1818 752 1819 \n3 1820 1821 750 \n3 751 1822 1823 \n3 1824 755 1825 \n3 1826 1827 753 \n3 754 1828 1829 \n3 1830 758 1831 \n3 1832 1833 756 \n3 757 1834 1835 \n3 1836 761 1837 \n3 1838 1839 759 \n3 760 1840 1841 \n3 1842 764 1843 \n3 1844 1845 762 \n3 763 1846 1847 \n3 1848 767 1849 \n3 1850 1851 765 \n3 766 1852 1853 \n3 1854 770 1855 \n3 1856 1857 768 \n3 769 1858 1859 \n3 1860 773 1861 \n3 1862 1863 771 \n3 772 1864 1865 \n3 1866 776 1867 \n3 1868 1869 774 \n3 775 1870 1871 \n3 1872 779 1873 \n3 1874 1875 777 \n3 778 1876 1877 \n3 1878 782 1879 \n3 1880 1881 780 \n3 781 1882 1883 \n3 1884 785 1885 \n3 1886 1887 783 \n3 784 1888 1889 \n3 1890 788 1891 \n3 1892 1893 786 \n3 787 1894 1895 \n3 1896 791 1897 \n3 1898 1899 789 \n3 790 1900 1901 \n3 1902 794 1903 \n3 1904 1905 792 \n3 793 1906 1907 \n3 1908 797 1909 \n3 1910 1911 795 \n3 796 1912 1913 \n3 1914 800 1915 \n3 1916 1917 798 \n3 799 1918 1919 \n3 1920 803 1921 \n3 1922 1923 801 \n3 802 1924 1925 \n3 1926 806 1927 \n3 1928 1929 804 \n3 805 1930 1931 \n3 1932 809 1933 \n3 1934 1935 807 \n3 808 1936 1937 \n3 1938 812 1939 \n3 1940 1941 810 \n3 811 1942 1943 \n3 1944 815 1945 \n3 1946 1947 813 \n3 814 1948 1949 \n3 1950 818 1951 \n3 1952 1953 816 \n3 817 1954 1955 \n3 1956 821 1957 \n3 1958 1959 819 \n3 820 1960 1961 \n3 1962 824 1963 \n3 1964 1965 822 \n3 823 1966 1967 \n3 1968 827 1969 \n3 1970 1971 825 \n3 826 1972 1973 \n3 1974 830 1975 \n3 1976 1977 828 \n3 829 1978 1979 \n3 1980 833 1981 \n3 1982 1983 831 \n3 832 1984 1985 \n3 1986 836 1987 \n3 1988 1989 834 \n3 835 1990 1991 \n3 1992 839 1993 \n3 1994 1995 837 \n3 838 1996 1997 \n3 1998 842 1999 \n3 2000 2001 840 \n3 841 2002 2003 \n3 2004 845 2005 \n3 2006 2007 843 \n3 844 2008 2009 \n3 2010 848 2011 \n3 2012 2013 846 \n3 847 2014 2015 \n3 2016 851 2017 \n3 2018 2019 849 \n3 850 2020 2021 \n3 2022 854 2023 \n3 2024 2025 852 \n3 853 2026 2027 \n3 2028 857 2029 \n3 2030 2031 855 \n3 856 2032 2033 \n3 2034 860 2035 \n3 2036 2037 858 \n3 859 2038 2039 \n3 2040 863 2041 \n3 2042 2043 861 \n3 862 2044 2045 \n3 2046 866 2047 \n3 2048 2049 864 \n3 865 2050 2051 \n3 2052 869 2053 \n3 2054 2055 867 \n3 868 2056 2057 \n3 2058 872 2059 \n3 2060 2061 870 \n3 871 2062 2063 \n3 2064 875 2065 \n3 2066 2067 873 \n3 874 2068 2069 \n3 2070 878 2071 \n3 2072 2073 876 \n3 877 2074 2075 \n3 2076 881 2077 \n3 2078 2079 879 \n3 880 2080 2081 \n3 2082 884 2083 \n3 2084 1603 882 \n3 883 1607 2085 \n3 2086 887 1602 \n3 2087 2088 885 \n3 886 2089 1604 \n3 1606 890 2090 \n3 1605 2091 888 \n3 889 2092 2093 \n3 2094 893 2095 \n3 2096 1609 891 \n3 892 1613 2097 \n3 2098 896 1608 \n3 2099 2100 894 \n3 895 2101 1610 \n3 1612 899 2102 \n3 1611 2103 897 \n3 898 2104 2105 \n3 2106 902 2107 \n3 2108 1615 900 \n3 901 1619 2109 \n3 2110 905 1614 \n3 2111 2112 903 \n3 904 2113 1616 \n3 1618 908 2114 \n3 1617 2115 906 \n3 907 2116 2117 \n3 2118 911 2119 \n3 2120 1621 909 \n3 910 1625 2121 \n3 2122 914 1620 \n3 2123 2124 912 \n3 913 2125 1622 \n3 1624 917 2126 \n3 1623 2127 915 \n3 916 2128 2129 \n3 2130 920 2131 \n3 2132 1627 918 \n3 919 1631 2133 \n3 2134 923 1626 \n3 2135 2136 921 \n3 922 2137 1628 \n3 1630 926 2138 \n3 1629 2139 924 \n3 925 2140 2141 \n3 2142 929 2143 \n3 2144 1633 927 \n3 928 1637 2145 \n3 2146 932 1632 \n3 2147 2148 930 \n3 931 2149 1634 \n3 1636 935 2150 \n3 1635 2151 933 \n3 934 2152 2153 \n3 2154 938 2155 \n3 2156 1639 936 \n3 937 1643 2157 \n3 2158 941 1638 \n3 2159 2160 939 \n3 940 2161 1640 \n3 1642 944 2162 \n3 1641 2163 942 \n3 943 2164 2165 \n3 2166 947 2167 \n3 2168 1645 945 \n3 946 1649 2169 \n3 2170 950 1644 \n3 2171 2172 948 \n3 949 2173 1646 \n3 1648 953 2174 \n3 1647 2175 951 \n3 952 2176 2177 \n3 2178 956 2179 \n3 2180 1651 954 \n3 955 1655 2181 \n3 2182 959 1650 \n3 2183 2184 957 \n3 958 2185 1652 \n3 1654 962 2186 \n3 1653 2187 960 \n3 961 2188 2189 \n3 2190 965 2191 \n3 2192 1657 963 \n3 964 1661 2193 \n3 2194 968 1656 \n3 2195 2196 966 \n3 967 2197 1658 \n3 1660 971 2198 \n3 1659 2199 969 \n3 970 2200 2201 \n3 2202 974 2203 \n3 2204 1663 972 \n3 973 1667 2205 \n3 2206 977 1662 \n3 2207 2208 975 \n3 976 2209 1664 \n3 1666 980 2210 \n3 1665 2211 978 \n3 979 2212 2213 \n3 2214 983 2215 \n3 2216 1669 981 \n3 982 1673 2217 \n3 2218 986 1668 \n3 2219 2220 984 \n3 985 2221 1670 \n3 1672 989 2222 \n3 1671 2223 987 \n3 988 2224 2225 \n3 2226 992 2227 \n3 2228 1675 990 \n3 991 1679 2229 \n3 2230 995 1674 \n3 2231 2232 993 \n3 994 2233 1676 \n3 1678 998 2234 \n3 1677 2235 996 \n3 997 2236 2237 \n3 2238 1001 2239 \n3 2240 1681 999 \n3 1000 1685 2241 \n3 2242 1004 1680 \n3 2243 2244 1002 \n3 1003 2245 1682 \n3 1684 1007 2246 \n3 1683 2247 1005 \n3 1006 2248 2249 \n3 2250 1010 2251 \n3 2252 1687 1008 \n3 1009 1691 2253 \n3 2254 1013 1686 \n3 2255 2256 1011 \n3 1012 2257 1688 \n3 1690 1016 2258 \n3 1689 2259 1014 \n3 1015 2260 2261 \n3 2262 1019 2263 \n3 2264 1693 1017 \n3 1018 1697 2265 \n3 2266 1022 1692 \n3 2267 2268 1020 \n3 1021 2269 1694 \n3 1696 1025 2270 \n3 1695 2271 1023 \n3 1024 2272 2273 \n3 2274 1028 2275 \n3 2276 1699 1026 \n3 1027 1703 2277 \n3 2278 1031 1698 \n3 2279 2280 1029 \n3 1030 2281 1700 \n3 1702 1034 2282 \n3 1701 2283 1032 \n3 1033 2284 2285 \n3 2286 1037 2287 \n3 2288 1705 1035 \n3 1036 1709 2289 \n3 2290 1040 1704 \n3 2291 2292 1038 \n3 1039 2293 1706 \n3 1708 1043 2294 \n3 1707 2295 1041 \n3 1042 2296 2297 \n3 2298 1046 2299 \n3 2300 1711 1044 \n3 1045 1715 2301 \n3 2302 1049 1710 \n3 2303 2304 1047 \n3 1048 2305 1712 \n3 1714 1052 2306 \n3 1713 2307 1050 \n3 1051 2308 2309 \n3 2310 1055 2311 \n3 2312 1717 1053 \n3 1054 1721 2313 \n3 2314 1058 1716 \n3 2315 2316 1056 \n3 1057 2317 1718 \n3 1720 1061 2318 \n3 1719 2319 1059 \n3 1060 2320 2321 \n3 2322 1064 2323 \n3 2324 1723 1062 \n3 1063 1727 2325 \n3 2326 1067 1722 \n3 2327 2083 1065 \n3 1066 2085 1724 \n3 1726 1070 2328 \n3 1725 2090 1068 \n3 1069 2093 2329 \n3 2330 1073 2082 \n3 2331 1729 1071 \n3 1072 1733 2084 \n3 2332 1076 1728 \n3 2333 2334 1074 \n3 1075 2335 1730 \n3 1732 1079 2086 \n3 1731 2336 1077 \n3 1078 2337 2087 \n3 2092 1082 2338 \n3 2091 1735 1080 \n3 1081 1739 2339 \n3 2089 1085 1734 \n3 2088 2340 1083 \n3 1084 2341 1736 \n3 1738 1088 2342 \n3 1737 2343 1086 \n3 1087 2344 2345 \n3 2333 1091 2346 \n3 2332 1741 1089 \n3 1090 1745 2347 \n3 2331 1094 1740 \n3 2330 2095 1092 \n3 1093 2097 1742 \n3 1744 1097 2348 \n3 1743 2102 1095 \n3 1096 2105 2349 \n3 2327 1100 2094 \n3 2326 1747 1098 \n3 1099 1751 2096 \n3 2324 1103 1746 \n3 2322 2350 1101 \n3 1102 2351 1748 \n3 1750 1106 2098 \n3 1749 2352 1104 \n3 1105 2353 2099 \n3 2104 1109 2354 \n3 2103 1753 1107 \n3 1108 1757 2355 \n3 2101 1112 1752 \n3 2100 2356 1110 \n3 1111 2357 1754 \n3 1756 1115 2358 \n3 1755 2359 1113 \n3 1114 2360 2361 \n3 2362 1118 2363 \n3 2364 1759 1116 \n3 1117 1763 2365 \n3 2366 1121 1758 \n3 2367 2107 1119 \n3 1120 2109 1760 \n3 1762 1124 2368 \n3 1761 2114 1122 \n3 1123 2117 2369 \n3 2370 1127 2106 \n3 2371 1765 1125 \n3 1126 1769 2108 \n3 2372 1130 1764 \n3 2373 2374 1128 \n3 1129 2375 1766 \n3 1768 1133 2110 \n3 1767 2376 1131 \n3 1132 2377 2111 \n3 2116 1136 2378 \n3 2115 1771 1134 \n3 1135 1775 2379 \n3 2113 1139 1770 \n3 2112 2380 1137 \n3 1138 2381 1772 \n3 1774 1142 2382 \n3 1773 2383 1140 \n3 1141 2384 2385 \n3 2373 1145 2386 \n3 2372 1777 1143 \n3 1144 1781 2387 \n3 2371 1148 1776 \n3 2370 2119 1146 \n3 1147 2121 1778 \n3 1780 1151 2388 \n3 1779 2126 1149 \n3 1150 2129 2389 \n3 2367 1154 2118 \n3 2366 1783 1152 \n3 1153 1787 2120 \n3 2364 1157 1782 \n3 2362 2390 1155 \n3 1156 2391 1784 \n3 1786 1160 2122 \n3 1785 2392 1158 \n3 1159 2393 2123 \n3 2128 1163 2394 \n3 2127 1789 1161 \n3 1162 1793 2395 \n3 2125 1166 1788 \n3 2124 2396 1164 \n3 1165 2397 1790 \n3 1792 1169 2398 \n3 1791 2399 1167 \n3 1168 2400 2401 \n3 2402 1172 2403 \n3 2404 1795 1170 \n3 1171 1799 2405 \n3 2406 1175 1794 \n3 2407 2131 1173 \n3 1174 2133 1796 \n3 1798 1178 2408 \n3 1797 2138 1176 \n3 1177 2141 2409 \n3 2410 1181 2130 \n3 2411 1801 1179 \n3 1180 1805 2132 \n3 2412 1184 1800 \n3 2413 2414 1182 \n3 1183 2415 1802 \n3 1804 1187 2134 \n3 1803 2416 1185 \n3 1186 2417 2135 \n3 2140 1190 2418 \n3 2139 1807 1188 \n3 1189 1811 2419 \n3 2137 1193 1806 \n3 2136 2420 1191 \n3 1192 2421 1808 \n3 1810 1196 2422 \n3 1809 2423 1194 \n3 1195 2424 2425 \n3 2413 1199 2426 \n3 2412 1813 1197 \n3 1198 1817 2427 \n3 2411 1202 1812 \n3 2410 2143 1200 \n3 1201 2145 1814 \n3 1816 1205 2428 \n3 1815 2150 1203 \n3 1204 2153 2429 \n3 2407 1208 2142 \n3 2406 1819 1206 \n3 1207 1823 2144 \n3 2404 1211 1818 \n3 2402 2430 1209 \n3 1210 2431 1820 \n3 1822 1214 2146 \n3 1821 2432 1212 \n3 1213 2433 2147 \n3 2152 1217 2434 \n3 2151 1825 1215 \n3 1216 1829 2435 \n3 2149 1220 1824 \n3 2148 2436 1218 \n3 1219 2437 1826 \n3 1828 1223 2438 \n3 1827 2439 1221 \n3 1222 2440 2441 \n3 2442 1226 2443 \n3 2444 1831 1224 \n3 1225 1835 2445 \n3 2446 1229 1830 \n3 2447 2155 1227 \n3 1228 2157 1832 \n3 1834 1232 2448 \n3 1833 2162 1230 \n3 1231 2165 2449 \n3 2450 1235 2154 \n3 2451 1837 1233 \n3 1234 1841 2156 \n3 2452 1238 1836 \n3 2453 2454 1236 \n3 1237 2455 1838 \n3 1840 1241 2158 \n3 1839 2456 1239 \n3 1240 2457 2159 \n3 2164 1244 2458 \n3 2163 1843 1242 \n3 1243 1847 2459 \n3 2161 1247 1842 \n3 2160 2460 1245 \n3 1246 2461 1844 \n3 1846 1250 2462 \n3 1845 2463 1248 \n3 1249 2464 2465 \n3 2453 1253 2466 \n3 2452 1849 1251 \n3 1252 1853 2467 \n3 2451 1256 1848 \n3 2450 2167 1254 \n3 1255 2169 1850 \n3 1852 1259 2468 \n3 1851 2174 1257 \n3 1258 2177 2469 \n3 2447 1262 2166 \n3 2446 1855 1260 \n3 1261 1859 2168 \n3 2444 1265 1854 \n3 2442 2470 1263 \n3 1264 2471 1856 \n3 1858 1268 2170 \n3 1857 2472 1266 \n3 1267 2473 2171 \n3 2176 1271 2474 \n3 2175 1861 1269 \n3 1270 1865 2475 \n3 2173 1274 1860 \n3 2172 2476 1272 \n3 1273 2477 1862 \n3 1864 1277 2478 \n3 1863 2479 1275 \n3 1276 2480 2481 \n3 2482 1280 2483 \n3 2484 1867 1278 \n3 1279 1871 2485 \n3 2486 1283 1866 \n3 2487 2179 1281 \n3 1282 2181 1868 \n3 1870 1286 2488 \n3 1869 2186 1284 \n3 1285 2189 2489 \n3 2490 1289 2178 \n3 2491 1873 1287 \n3 1288 1877 2180 \n3 2492 1292 1872 \n3 2493 2494 1290 \n3 1291 2495 1874 \n3 1876 1295 2182 \n3 1875 2496 1293 \n3 1294 2497 2183 \n3 2188 1298 2498 \n3 2187 1879 1296 \n3 1297 1883 2499 \n3 2185 1301 1878 \n3 2184 2500 1299 \n3 1300 2501 1880 \n3 1882 1304 2502 \n3 1881 2503 1302 \n3 1303 2504 2505 \n3 2493 1307 2506 \n3 2492 1885 1305 \n3 1306 1889 2507 \n3 2491 1310 1884 \n3 2490 2191 1308 \n3 1309 2193 1886 \n3 1888 1313 2508 \n3 1887 2198 1311 \n3 1312 2201 2509 \n3 2487 1316 2190 \n3 2486 1891 1314 \n3 1315 1895 2192 \n3 2484 1319 1890 \n3 2482 2510 1317 \n3 1318 2511 1892 \n3 1894 1322 2194 \n3 1893 2512 1320 \n3 1321 2513 2195 \n3 2200 1325 2514 \n3 2199 1897 1323 \n3 1324 1901 2515 \n3 2197 1328 1896 \n3 2196 2516 1326 \n3 1327 2517 1898 \n3 1900 1331 2518 \n3 1899 2519 1329 \n3 1330 2520 2521 \n3 2522 1334 2523 \n3 2524 1903 1332 \n3 1333 1907 2525 \n3 2526 1337 1902 \n3 2527 2203 1335 \n3 1336 2205 1904 \n3 1906 1340 2528 \n3 1905 2210 1338 \n3 1339 2213 2529 \n3 2530 1343 2202 \n3 2531 1909 1341 \n3 1342 1913 2204 \n3 2532 1346 1908 \n3 2533 2534 1344 \n3 1345 2535 1910 \n3 1912 1349 2206 \n3 1911 2536 1347 \n3 1348 2537 2207 \n3 2212 1352 2538 \n3 2211 1915 1350 \n3 1351 1919 2539 \n3 2209 1355 1914 \n3 2208 2540 1353 \n3 1354 2541 1916 \n3 1918 1358 2542 \n3 1917 2543 1356 \n3 1357 2544 2545 \n3 2533 1361 2546 \n3 2532 1921 1359 \n3 1360 1925 2547 \n3 2531 1364 1920 \n3 2530 2215 1362 \n3 1363 2217 1922 \n3 1924 1367 2548 \n3 1923 2222 1365 \n3 1366 2225 2549 \n3 2527 1370 2214 \n3 2526 1927 1368 \n3 1369 1931 2216 \n3 2524 1373 1926 \n3 2522 2550 1371 \n3 1372 2551 1928 \n3 1930 1376 2218 \n3 1929 2552 1374 \n3 1375 2553 2219 \n3 2224 1379 2554 \n3 2223 1933 1377 \n3 1378 1937 2555 \n3 2221 1382 1932 \n3 2220 2556 1380 \n3 1381 2557 1934 \n3 1936 1385 2558 \n3 1935 2559 1383 \n3 1384 2560 2561 \n3 2520 1388 2334 \n3 2519 1939 1386 \n3 1387 1943 2335 \n3 2517 1391 1938 \n3 2516 2227 1389 \n3 1390 2229 1940 \n3 1942 1394 2336 \n3 1941 2234 1392 \n3 1393 2237 2337 \n3 2513 1397 2226 \n3 2512 1945 1395 \n3 1396 1949 2228 \n3 2511 1400 1944 \n3 2510 2440 1398 \n3 1399 2439 1946 \n3 1948 1403 2230 \n3 1947 2437 1401 \n3 1402 2436 2231 \n3 2236 1406 2340 \n3 2235 1951 1404 \n3 1405 1955 2341 \n3 2233 1409 1950 \n3 2232 2433 1407 \n3 1408 2432 1952 \n3 1954 1412 2343 \n3 1953 2431 1410 \n3 1411 2430 2344 \n3 2346 1415 2521 \n3 2347 1957 1413 \n3 1414 1961 2518 \n3 2348 1418 1956 \n3 2349 2239 1416 \n3 1417 2241 1958 \n3 1960 1421 2515 \n3 1959 2246 1419 \n3 1420 2249 2514 \n3 2354 1424 2238 \n3 2355 1963 1422 \n3 1423 1967 2240 \n3 2358 1427 1962 \n3 2361 2443 1425 \n3 1426 2445 1964 \n3 1966 1430 2242 \n3 1965 2448 1428 \n3 1429 2449 2243 \n3 2248 1433 2509 \n3 2247 1969 1431 \n3 1432 1973 2508 \n3 2245 1436 1968 \n3 2244 2458 1434 \n3 1435 2459 1970 \n3 1972 1439 2507 \n3 1971 2462 1437 \n3 1438 2465 2506 \n3 2323 1442 2545 \n3 2325 1975 1440 \n3 1441 1979 2542 \n3 2328 1445 1974 \n3 2329 2251 1443 \n3 1444 2253 1976 \n3 1978 1448 2539 \n3 1977 2258 1446 \n3 1447 2261 2538 \n3 2338 1451 2250 \n3 2339 1981 1449 \n3 1450 1985 2252 \n3 2342 1454 1980 \n3 2345 2403 1452 \n3 1453 2405 1982 \n3 1984 1457 2254 \n3 1983 2408 1455 \n3 1456 2409 2255 \n3 2260 1460 2529 \n3 2259 1987 1458 \n3 1459 1991 2528 \n3 2257 1463 1986 \n3 2256 2418 1461 \n3 1462 2419 1988 \n3 1990 1466 2525 \n3 1989 2422 1464 \n3 1465 2425 2523 \n3 2544 1469 2350 \n3 2543 1993 1467 \n3 1468 1997 2351 \n3 2541 1472 1992 \n3 2540 2263 1470 \n3 1471 2265 1994 \n3 1996 1475 2352 \n3 1995 2270 1473 \n3 1474 2273 2353 \n3 2537 1478 2262 \n3 2536 1999 1476 \n3 1477 2003 2264 \n3 2535 1481 1998 \n3 2534 2480 1479 \n3 1480 2479 2000 \n3 2002 1484 2266 \n3 2001 2477 1482 \n3 1483 2476 2267 \n3 2272 1487 2356 \n3 2271 2005 1485 \n3 1486 2009 2357 \n3 2269 1490 2004 \n3 2268 2473 1488 \n3 1489 2472 2006 \n3 2008 1493 2359 \n3 2007 2471 1491 \n3 1492 2470 2360 \n3 2363 1496 2505 \n3 2365 2011 1494 \n3 1495 2015 2502 \n3 2368 1499 2010 \n3 2369 2275 1497 \n3 1498 2277 2012 \n3 2014 1502 2499 \n3 2013 2282 1500 \n3 1501 2285 2498 \n3 2378 1505 2274 \n3 2379 2017 1503 \n3 1504 2021 2276 \n3 2382 1508 2016 \n3 2385 2426 1506 \n3 1507 2427 2018 \n3 2020 1511 2278 \n3 2019 2428 1509 \n3 1510 2429 2279 \n3 2284 1514 2489 \n3 2283 2023 1512 \n3 1513 2027 2488 \n3 2281 1517 2022 \n3 2280 2434 1515 \n3 1516 2435 2024 \n3 2026 1520 2485 \n3 2025 2438 1518 \n3 1519 2441 2483 \n3 2504 1523 2390 \n3 2503 2029 1521 \n3 1522 2033 2391 \n3 2501 1526 2028 \n3 2500 2287 1524 \n3 1525 2289 2030 \n3 2032 1529 2392 \n3 2031 2294 1527 \n3 1528 2297 2393 \n3 2497 1532 2286 \n3 2496 2035 1530 \n3 1531 2039 2288 \n3 2495 1535 2034 \n3 2494 2464 1533 \n3 1534 2463 2036 \n3 2038 1538 2290 \n3 2037 2461 1536 \n3 1537 2460 2291 \n3 2296 1541 2396 \n3 2295 2041 1539 \n3 1540 2045 2397 \n3 2293 1544 2040 \n3 2292 2457 1542 \n3 1543 2456 2042 \n3 2044 1547 2399 \n3 2043 2455 1545 \n3 1546 2454 2400 \n3 2560 1550 2374 \n3 2559 2047 1548 \n3 1549 2051 2375 \n3 2557 1553 2046 \n3 2556 2299 1551 \n3 1552 2301 2048 \n3 2050 1556 2376 \n3 2049 2306 1554 \n3 1555 2309 2377 \n3 2553 1559 2298 \n3 2552 2053 1557 \n3 1558 2057 2300 \n3 2551 1562 2052 \n3 2550 2424 1560 \n3 1561 2423 2054 \n3 2056 1565 2302 \n3 2055 2421 1563 \n3 1564 2420 2303 \n3 2308 1568 2380 \n3 2307 2059 1566 \n3 1567 2063 2381 \n3 2305 1571 2058 \n3 2304 2417 1569 \n3 1570 2416 2060 \n3 2062 1574 2383 \n3 2061 2415 1572 \n3 1573 2414 2384 \n3 2386 1577 2561 \n3 2387 2065 1575 \n3 1576 2069 2558 \n3 2388 1580 2064 \n3 2389 2311 1578 \n3 1579 2313 2066 \n3 2068 1583 2555 \n3 2067 2318 1581 \n3 1582 2321 2554 \n3 2394 1586 2310 \n3 2395 2071 1584 \n3 1585 2075 2312 \n3 2398 1589 2070 \n3 2401 2466 1587 \n3 1588 2467 2072 \n3 2074 1592 2314 \n3 2073 2468 1590 \n3 1591 2469 2315 \n3 2320 1595 2549 \n3 2319 2077 1593 \n3 1594 2081 2548 \n3 2317 1598 2076 \n3 2316 2474 1596 \n3 1597 2475 2078 \n3 2080 1601 2547 \n3 2079 2478 1599 \n3 1600 2481 2546 \n3 162 642 644 \n3 642 163 643 \n3 644 643 164 \n3 165 645 647 \n3 645 166 646 \n3 647 646 167 \n3 168 648 650 \n3 648 169 649 \n3 650 649 170 \n3 171 651 653 \n3 651 172 652 \n3 653 652 173 \n3 174 654 656 \n3 654 175 655 \n3 656 655 176 \n3 177 657 659 \n3 657 178 658 \n3 659 658 179 \n3 180 660 662 \n3 660 181 661 \n3 662 661 182 \n3 183 663 665 \n3 663 184 664 \n3 665 664 185 \n3 186 666 668 \n3 666 187 667 \n3 668 667 188 \n3 189 669 671 \n3 669 190 670 \n3 671 670 191 \n3 192 672 674 \n3 672 193 673 \n3 674 673 194 \n3 195 675 677 \n3 675 196 676 \n3 677 676 197 \n3 198 678 680 \n3 678 199 679 \n3 680 679 200 \n3 201 681 683 \n3 681 202 682 \n3 683 682 203 \n3 204 684 686 \n3 684 205 685 \n3 686 685 206 \n3 207 687 689 \n3 687 208 688 \n3 689 688 209 \n3 210 690 692 \n3 690 211 691 \n3 692 691 212 \n3 213 693 695 \n3 693 214 694 \n3 695 694 215 \n3 216 696 698 \n3 696 217 697 \n3 698 697 218 \n3 219 699 701 \n3 699 220 700 \n3 701 700 221 \n3 222 702 704 \n3 702 223 703 \n3 704 703 224 \n3 225 705 707 \n3 705 226 706 \n3 707 706 227 \n3 228 708 710 \n3 708 229 709 \n3 710 709 230 \n3 231 711 713 \n3 711 232 712 \n3 713 712 233 \n3 234 714 716 \n3 714 235 715 \n3 716 715 236 \n3 237 717 719 \n3 717 238 718 \n3 719 718 239 \n3 240 720 722 \n3 720 241 721 \n3 722 721 242 \n3 243 723 725 \n3 723 244 724 \n3 725 724 245 \n3 246 726 728 \n3 726 247 727 \n3 728 727 248 \n3 249 729 731 \n3 729 250 730 \n3 731 730 251 \n3 252 732 734 \n3 732 253 733 \n3 734 733 254 \n3 255 735 737 \n3 735 256 736 \n3 737 736 257 \n3 258 738 740 \n3 738 259 739 \n3 740 739 260 \n3 261 741 743 \n3 741 262 742 \n3 743 742 263 \n3 264 744 746 \n3 744 265 745 \n3 746 745 266 \n3 267 747 749 \n3 747 268 748 \n3 749 748 269 \n3 270 750 752 \n3 750 271 751 \n3 752 751 272 \n3 273 753 755 \n3 753 274 754 \n3 755 754 275 \n3 276 756 758 \n3 756 277 757 \n3 758 757 278 \n3 279 759 761 \n3 759 280 760 \n3 761 760 281 \n3 282 762 764 \n3 762 283 763 \n3 764 763 284 \n3 285 765 767 \n3 765 286 766 \n3 767 766 287 \n3 288 768 770 \n3 768 289 769 \n3 770 769 290 \n3 291 771 773 \n3 771 292 772 \n3 773 772 293 \n3 294 774 776 \n3 774 295 775 \n3 776 775 296 \n3 297 777 779 \n3 777 298 778 \n3 779 778 299 \n3 300 780 782 \n3 780 301 781 \n3 782 781 302 \n3 303 783 785 \n3 783 304 784 \n3 785 784 305 \n3 306 786 788 \n3 786 307 787 \n3 788 787 308 \n3 309 789 791 \n3 789 310 790 \n3 791 790 311 \n3 312 792 794 \n3 792 313 793 \n3 794 793 314 \n3 315 795 797 \n3 795 316 796 \n3 797 796 317 \n3 318 798 800 \n3 798 319 799 \n3 800 799 320 \n3 321 801 803 \n3 801 322 802 \n3 803 802 323 \n3 324 804 806 \n3 804 325 805 \n3 806 805 326 \n3 327 807 809 \n3 807 328 808 \n3 809 808 329 \n3 330 810 812 \n3 810 331 811 \n3 812 811 332 \n3 333 813 815 \n3 813 334 814 \n3 815 814 335 \n3 336 816 818 \n3 816 337 817 \n3 818 817 338 \n3 339 819 821 \n3 819 340 820 \n3 821 820 341 \n3 342 822 824 \n3 822 343 823 \n3 824 823 344 \n3 345 825 827 \n3 825 346 826 \n3 827 826 347 \n3 348 828 830 \n3 828 349 829 \n3 830 829 350 \n3 351 831 833 \n3 831 352 832 \n3 833 832 353 \n3 354 834 836 \n3 834 355 835 \n3 836 835 356 \n3 357 837 839 \n3 837 358 838 \n3 839 838 359 \n3 360 840 842 \n3 840 361 841 \n3 842 841 362 \n3 363 843 845 \n3 843 364 844 \n3 845 844 365 \n3 366 846 848 \n3 846 367 847 \n3 848 847 368 \n3 369 849 851 \n3 849 370 850 \n3 851 850 371 \n3 372 852 854 \n3 852 373 853 \n3 854 853 374 \n3 375 855 857 \n3 855 376 856 \n3 857 856 377 \n3 378 858 860 \n3 858 379 859 \n3 860 859 380 \n3 381 861 863 \n3 861 382 862 \n3 863 862 383 \n3 384 864 866 \n3 864 385 865 \n3 866 865 386 \n3 387 867 869 \n3 867 388 868 \n3 869 868 389 \n3 390 870 872 \n3 870 391 871 \n3 872 871 392 \n3 393 873 875 \n3 873 394 874 \n3 875 874 395 \n3 396 876 878 \n3 876 397 877 \n3 878 877 398 \n3 399 879 881 \n3 879 400 880 \n3 881 880 401 \n3 402 882 884 \n3 882 164 883 \n3 884 883 403 \n3 404 885 887 \n3 885 405 886 \n3 887 886 162 \n3 163 888 890 \n3 888 406 889 \n3 890 889 407 \n3 408 891 893 \n3 891 167 892 \n3 893 892 409 \n3 410 894 896 \n3 894 411 895 \n3 896 895 165 \n3 166 897 899 \n3 897 412 898 \n3 899 898 413 \n3 414 900 902 \n3 900 170 901 \n3 902 901 415 \n3 416 903 905 \n3 903 417 904 \n3 905 904 168 \n3 169 906 908 \n3 906 418 907 \n3 908 907 419 \n3 420 909 911 \n3 909 173 910 \n3 911 910 421 \n3 422 912 914 \n3 912 423 913 \n3 914 913 171 \n3 172 915 917 \n3 915 424 916 \n3 917 916 425 \n3 426 918 920 \n3 918 176 919 \n3 920 919 427 \n3 428 921 923 \n3 921 429 922 \n3 923 922 174 \n3 175 924 926 \n3 924 430 925 \n3 926 925 431 \n3 432 927 929 \n3 927 179 928 \n3 929 928 433 \n3 434 930 932 \n3 930 435 931 \n3 932 931 177 \n3 178 933 935 \n3 933 436 934 \n3 935 934 437 \n3 438 936 938 \n3 936 182 937 \n3 938 937 439 \n3 440 939 941 \n3 939 441 940 \n3 941 940 180 \n3 181 942 944 \n3 942 442 943 \n3 944 943 443 \n3 444 945 947 \n3 945 185 946 \n3 947 946 445 \n3 446 948 950 \n3 948 447 949 \n3 950 949 183 \n3 184 951 953 \n3 951 448 952 \n3 953 952 449 \n3 450 954 956 \n3 954 188 955 \n3 956 955 451 \n3 452 957 959 \n3 957 453 958 \n3 959 958 186 \n3 187 960 962 \n3 960 454 961 \n3 962 961 455 \n3 456 963 965 \n3 963 191 964 \n3 965 964 457 \n3 458 966 968 \n3 966 459 967 \n3 968 967 189 \n3 190 969 971 \n3 969 460 970 \n3 971 970 461 \n3 462 972 974 \n3 972 194 973 \n3 974 973 463 \n3 464 975 977 \n3 975 465 976 \n3 977 976 192 \n3 193 978 980 \n3 978 466 979 \n3 980 979 467 \n3 468 981 983 \n3 981 197 982 \n3 983 982 469 \n3 470 984 986 \n3 984 471 985 \n3 986 985 195 \n3 196 987 989 \n3 987 472 988 \n3 989 988 473 \n3 474 990 992 \n3 990 200 991 \n3 992 991 475 \n3 476 993 995 \n3 993 477 994 \n3 995 994 198 \n3 199 996 998 \n3 996 478 997 \n3 998 997 479 \n3 480 999 1001 \n3 999 203 1000 \n3 1001 1000 481 \n3 482 1002 1004 \n3 1002 483 1003 \n3 1004 1003 201 \n3 202 1005 1007 \n3 1005 484 1006 \n3 1007 1006 485 \n3 486 1008 1010 \n3 1008 206 1009 \n3 1010 1009 487 \n3 488 1011 1013 \n3 1011 489 1012 \n3 1013 1012 204 \n3 205 1014 1016 \n3 1014 490 1015 \n3 1016 1015 491 \n3 492 1017 1019 \n3 1017 209 1018 \n3 1019 1018 493 \n3 494 1020 1022 \n3 1020 495 1021 \n3 1022 1021 207 \n3 208 1023 1025 \n3 1023 496 1024 \n3 1025 1024 497 \n3 498 1026 1028 \n3 1026 212 1027 \n3 1028 1027 499 \n3 500 1029 1031 \n3 1029 501 1030 \n3 1031 1030 210 \n3 211 1032 1034 \n3 1032 502 1033 \n3 1034 1033 503 \n3 504 1035 1037 \n3 1035 215 1036 \n3 1037 1036 505 \n3 506 1038 1040 \n3 1038 507 1039 \n3 1040 1039 213 \n3 214 1041 1043 \n3 1041 508 1042 \n3 1043 1042 509 \n3 510 1044 1046 \n3 1044 218 1045 \n3 1046 1045 511 \n3 512 1047 1049 \n3 1047 513 1048 \n3 1049 1048 216 \n3 217 1050 1052 \n3 1050 514 1051 \n3 1052 1051 515 \n3 516 1053 1055 \n3 1053 221 1054 \n3 1055 1054 517 \n3 518 1056 1058 \n3 1056 519 1057 \n3 1058 1057 219 \n3 220 1059 1061 \n3 1059 520 1060 \n3 1061 1060 521 \n3 522 1062 1064 \n3 1062 224 1063 \n3 1064 1063 523 \n3 524 1065 1067 \n3 1065 403 1066 \n3 1067 1066 222 \n3 223 1068 1070 \n3 1068 407 1069 \n3 1070 1069 525 \n3 526 1071 1073 \n3 1071 227 1072 \n3 1073 1072 402 \n3 527 1074 1076 \n3 1074 528 1075 \n3 1076 1075 225 \n3 226 1077 1079 \n3 1077 529 1078 \n3 1079 1078 404 \n3 406 1080 1082 \n3 1080 230 1081 \n3 1082 1081 530 \n3 405 1083 1085 \n3 1083 531 1084 \n3 1085 1084 228 \n3 229 1086 1088 \n3 1086 532 1087 \n3 1088 1087 533 \n3 527 1089 1091 \n3 1089 233 1090 \n3 1091 1090 534 \n3 526 1092 1094 \n3 1092 409 1093 \n3 1094 1093 231 \n3 232 1095 1097 \n3 1095 413 1096 \n3 1097 1096 535 \n3 524 1098 1100 \n3 1098 236 1099 \n3 1100 1099 408 \n3 522 1101 1103 \n3 1101 536 1102 \n3 1103 1102 234 \n3 235 1104 1106 \n3 1104 537 1105 \n3 1106 1105 410 \n3 412 1107 1109 \n3 1107 239 1108 \n3 1109 1108 538 \n3 411 1110 1112 \n3 1110 539 1111 \n3 1112 1111 237 \n3 238 1113 1115 \n3 1113 540 1114 \n3 1115 1114 541 \n3 542 1116 1118 \n3 1116 242 1117 \n3 1118 1117 543 \n3 544 1119 1121 \n3 1119 415 1120 \n3 1121 1120 240 \n3 241 1122 1124 \n3 1122 419 1123 \n3 1124 1123 545 \n3 546 1125 1127 \n3 1125 245 1126 \n3 1127 1126 414 \n3 547 1128 1130 \n3 1128 548 1129 \n3 1130 1129 243 \n3 244 1131 1133 \n3 1131 549 1132 \n3 1133 1132 416 \n3 418 1134 1136 \n3 1134 248 1135 \n3 1136 1135 550 \n3 417 1137 1139 \n3 1137 551 1138 \n3 1139 1138 246 \n3 247 1140 1142 \n3 1140 552 1141 \n3 1142 1141 553 \n3 547 1143 1145 \n3 1143 251 1144 \n3 1145 1144 554 \n3 546 1146 1148 \n3 1146 421 1147 \n3 1148 1147 249 \n3 250 1149 1151 \n3 1149 425 1150 \n3 1151 1150 555 \n3 544 1152 1154 \n3 1152 254 1153 \n3 1154 1153 420 \n3 542 1155 1157 \n3 1155 556 1156 \n3 1157 1156 252 \n3 253 1158 1160 \n3 1158 557 1159 \n3 1160 1159 422 \n3 424 1161 1163 \n3 1161 257 1162 \n3 1163 1162 558 \n3 423 1164 1166 \n3 1164 559 1165 \n3 1166 1165 255 \n3 256 1167 1169 \n3 1167 560 1168 \n3 1169 1168 561 \n3 562 1170 1172 \n3 1170 260 1171 \n3 1172 1171 563 \n3 564 1173 1175 \n3 1173 427 1174 \n3 1175 1174 258 \n3 259 1176 1178 \n3 1176 431 1177 \n3 1178 1177 565 \n3 566 1179 1181 \n3 1179 263 1180 \n3 1181 1180 426 \n3 567 1182 1184 \n3 1182 568 1183 \n3 1184 1183 261 \n3 262 1185 1187 \n3 1185 569 1186 \n3 1187 1186 428 \n3 430 1188 1190 \n3 1188 266 1189 \n3 1190 1189 570 \n3 429 1191 1193 \n3 1191 571 1192 \n3 1193 1192 264 \n3 265 1194 1196 \n3 1194 572 1195 \n3 1196 1195 573 \n3 567 1197 1199 \n3 1197 269 1198 \n3 1199 1198 574 \n3 566 1200 1202 \n3 1200 433 1201 \n3 1202 1201 267 \n3 268 1203 1205 \n3 1203 437 1204 \n3 1205 1204 575 \n3 564 1206 1208 \n3 1206 272 1207 \n3 1208 1207 432 \n3 562 1209 1211 \n3 1209 576 1210 \n3 1211 1210 270 \n3 271 1212 1214 \n3 1212 577 1213 \n3 1214 1213 434 \n3 436 1215 1217 \n3 1215 275 1216 \n3 1217 1216 578 \n3 435 1218 1220 \n3 1218 579 1219 \n3 1220 1219 273 \n3 274 1221 1223 \n3 1221 580 1222 \n3 1223 1222 581 \n3 582 1224 1226 \n3 1224 278 1225 \n3 1226 1225 583 \n3 584 1227 1229 \n3 1227 439 1228 \n3 1229 1228 276 \n3 277 1230 1232 \n3 1230 443 1231 \n3 1232 1231 585 \n3 586 1233 1235 \n3 1233 281 1234 \n3 1235 1234 438 \n3 587 1236 1238 \n3 1236 588 1237 \n3 1238 1237 279 \n3 280 1239 1241 \n3 1239 589 1240 \n3 1241 1240 440 \n3 442 1242 1244 \n3 1242 284 1243 \n3 1244 1243 590 \n3 441 1245 1247 \n3 1245 591 1246 \n3 1247 1246 282 \n3 283 1248 1250 \n3 1248 592 1249 \n3 1250 1249 593 \n3 587 1251 1253 \n3 1251 287 1252 \n3 1253 1252 594 \n3 586 1254 1256 \n3 1254 445 1255 \n3 1256 1255 285 \n3 286 1257 1259 \n3 1257 449 1258 \n3 1259 1258 595 \n3 584 1260 1262 \n3 1260 290 1261 \n3 1262 1261 444 \n3 582 1263 1265 \n3 1263 596 1264 \n3 1265 1264 288 \n3 289 1266 1268 \n3 1266 597 1267 \n3 1268 1267 446 \n3 448 1269 1271 \n3 1269 293 1270 \n3 1271 1270 598 \n3 447 1272 1274 \n3 1272 599 1273 \n3 1274 1273 291 \n3 292 1275 1277 \n3 1275 600 1276 \n3 1277 1276 601 \n3 602 1278 1280 \n3 1278 296 1279 \n3 1280 1279 603 \n3 604 1281 1283 \n3 1281 451 1282 \n3 1283 1282 294 \n3 295 1284 1286 \n3 1284 455 1285 \n3 1286 1285 605 \n3 606 1287 1289 \n3 1287 299 1288 \n3 1289 1288 450 \n3 607 1290 1292 \n3 1290 608 1291 \n3 1292 1291 297 \n3 298 1293 1295 \n3 1293 609 1294 \n3 1295 1294 452 \n3 454 1296 1298 \n3 1296 302 1297 \n3 1298 1297 610 \n3 453 1299 1301 \n3 1299 611 1300 \n3 1301 1300 300 \n3 301 1302 1304 \n3 1302 612 1303 \n3 1304 1303 613 \n3 607 1305 1307 \n3 1305 305 1306 \n3 1307 1306 614 \n3 606 1308 1310 \n3 1308 457 1309 \n3 1310 1309 303 \n3 304 1311 1313 \n3 1311 461 1312 \n3 1313 1312 615 \n3 604 1314 1316 \n3 1314 308 1315 \n3 1316 1315 456 \n3 602 1317 1319 \n3 1317 616 1318 \n3 1319 1318 306 \n3 307 1320 1322 \n3 1320 617 1321 \n3 1322 1321 458 \n3 460 1323 1325 \n3 1323 311 1324 \n3 1325 1324 618 \n3 459 1326 1328 \n3 1326 619 1327 \n3 1328 1327 309 \n3 310 1329 1331 \n3 1329 620 1330 \n3 1331 1330 621 \n3 622 1332 1334 \n3 1332 314 1333 \n3 1334 1333 623 \n3 624 1335 1337 \n3 1335 463 1336 \n3 1337 1336 312 \n3 313 1338 1340 \n3 1338 467 1339 \n3 1340 1339 625 \n3 626 1341 1343 \n3 1341 317 1342 \n3 1343 1342 462 \n3 627 1344 1346 \n3 1344 628 1345 \n3 1346 1345 315 \n3 316 1347 1349 \n3 1347 629 1348 \n3 1349 1348 464 \n3 466 1350 1352 \n3 1350 320 1351 \n3 1352 1351 630 \n3 465 1353 1355 \n3 1353 631 1354 \n3 1355 1354 318 \n3 319 1356 1358 \n3 1356 632 1357 \n3 1358 1357 633 \n3 627 1359 1361 \n3 1359 323 1360 \n3 1361 1360 634 \n3 626 1362 1364 \n3 1362 469 1363 \n3 1364 1363 321 \n3 322 1365 1367 \n3 1365 473 1366 \n3 1367 1366 635 \n3 624 1368 1370 \n3 1368 326 1369 \n3 1370 1369 468 \n3 622 1371 1373 \n3 1371 636 1372 \n3 1373 1372 324 \n3 325 1374 1376 \n3 1374 637 1375 \n3 1376 1375 470 \n3 472 1377 1379 \n3 1377 329 1378 \n3 1379 1378 638 \n3 471 1380 1382 \n3 1380 639 1381 \n3 1382 1381 327 \n3 328 1383 1385 \n3 1383 640 1384 \n3 1385 1384 641 \n3 620 1386 1388 \n3 1386 332 1387 \n3 1388 1387 528 \n3 619 1389 1391 \n3 1389 475 1390 \n3 1391 1390 330 \n3 331 1392 1394 \n3 1392 479 1393 \n3 1394 1393 529 \n3 617 1395 1397 \n3 1395 335 1396 \n3 1397 1396 474 \n3 616 1398 1400 \n3 1398 580 1399 \n3 1400 1399 333 \n3 334 1401 1403 \n3 1401 579 1402 \n3 1403 1402 476 \n3 478 1404 1406 \n3 1404 338 1405 \n3 1406 1405 531 \n3 477 1407 1409 \n3 1407 577 1408 \n3 1409 1408 336 \n3 337 1410 1412 \n3 1410 576 1411 \n3 1412 1411 532 \n3 534 1413 1415 \n3 1413 341 1414 \n3 1415 1414 621 \n3 535 1416 1418 \n3 1416 481 1417 \n3 1418 1417 339 \n3 340 1419 1421 \n3 1419 485 1420 \n3 1421 1420 618 \n3 538 1422 1424 \n3 1422 344 1423 \n3 1424 1423 480 \n3 541 1425 1427 \n3 1425 583 1426 \n3 1427 1426 342 \n3 343 1428 1430 \n3 1428 585 1429 \n3 1430 1429 482 \n3 484 1431 1433 \n3 1431 347 1432 \n3 1433 1432 615 \n3 483 1434 1436 \n3 1434 590 1435 \n3 1436 1435 345 \n3 346 1437 1439 \n3 1437 593 1438 \n3 1439 1438 614 \n3 523 1440 1442 \n3 1440 350 1441 \n3 1442 1441 633 \n3 525 1443 1445 \n3 1443 487 1444 \n3 1445 1444 348 \n3 349 1446 1448 \n3 1446 491 1447 \n3 1448 1447 630 \n3 530 1449 1451 \n3 1449 353 1450 \n3 1451 1450 486 \n3 533 1452 1454 \n3 1452 563 1453 \n3 1454 1453 351 \n3 352 1455 1457 \n3 1455 565 1456 \n3 1457 1456 488 \n3 490 1458 1460 \n3 1458 356 1459 \n3 1460 1459 625 \n3 489 1461 1463 \n3 1461 570 1462 \n3 1463 1462 354 \n3 355 1464 1466 \n3 1464 573 1465 \n3 1466 1465 623 \n3 632 1467 1469 \n3 1467 359 1468 \n3 1469 1468 536 \n3 631 1470 1472 \n3 1470 493 1471 \n3 1472 1471 357 \n3 358 1473 1475 \n3 1473 497 1474 \n3 1475 1474 537 \n3 629 1476 1478 \n3 1476 362 1477 \n3 1478 1477 492 \n3 628 1479 1481 \n3 1479 600 1480 \n3 1481 1480 360 \n3 361 1482 1484 \n3 1482 599 1483 \n3 1484 1483 494 \n3 496 1485 1487 \n3 1485 365 1486 \n3 1487 1486 539 \n3 495 1488 1490 \n3 1488 597 1489 \n3 1490 1489 363 \n3 364 1491 1493 \n3 1491 596 1492 \n3 1493 1492 540 \n3 543 1494 1496 \n3 1494 368 1495 \n3 1496 1495 613 \n3 545 1497 1499 \n3 1497 499 1498 \n3 1499 1498 366 \n3 367 1500 1502 \n3 1500 503 1501 \n3 1502 1501 610 \n3 550 1503 1505 \n3 1503 371 1504 \n3 1505 1504 498 \n3 553 1506 1508 \n3 1506 574 1507 \n3 1508 1507 369 \n3 370 1509 1511 \n3 1509 575 1510 \n3 1511 1510 500 \n3 502 1512 1514 \n3 1512 374 1513 \n3 1514 1513 605 \n3 501 1515 1517 \n3 1515 578 1516 \n3 1517 1516 372 \n3 373 1518 1520 \n3 1518 581 1519 \n3 1520 1519 603 \n3 612 1521 1523 \n3 1521 377 1522 \n3 1523 1522 556 \n3 611 1524 1526 \n3 1524 505 1525 \n3 1526 1525 375 \n3 376 1527 1529 \n3 1527 509 1528 \n3 1529 1528 557 \n3 609 1530 1532 \n3 1530 380 1531 \n3 1532 1531 504 \n3 608 1533 1535 \n3 1533 592 1534 \n3 1535 1534 378 \n3 379 1536 1538 \n3 1536 591 1537 \n3 1538 1537 506 \n3 508 1539 1541 \n3 1539 383 1540 \n3 1541 1540 559 \n3 507 1542 1544 \n3 1542 589 1543 \n3 1544 1543 381 \n3 382 1545 1547 \n3 1545 588 1546 \n3 1547 1546 560 \n3 640 1548 1550 \n3 1548 386 1549 \n3 1550 1549 548 \n3 639 1551 1553 \n3 1551 511 1552 \n3 1553 1552 384 \n3 385 1554 1556 \n3 1554 515 1555 \n3 1556 1555 549 \n3 637 1557 1559 \n3 1557 389 1558 \n3 1559 1558 510 \n3 636 1560 1562 \n3 1560 572 1561 \n3 1562 1561 387 \n3 388 1563 1565 \n3 1563 571 1564 \n3 1565 1564 512 \n3 514 1566 1568 \n3 1566 392 1567 \n3 1568 1567 551 \n3 513 1569 1571 \n3 1569 569 1570 \n3 1571 1570 390 \n3 391 1572 1574 \n3 1572 568 1573 \n3 1574 1573 552 \n3 554 1575 1577 \n3 1575 395 1576 \n3 1577 1576 641 \n3 555 1578 1580 \n3 1578 517 1579 \n3 1580 1579 393 \n3 394 1581 1583 \n3 1581 521 1582 \n3 1583 1582 638 \n3 558 1584 1586 \n3 1584 398 1585 \n3 1586 1585 516 \n3 561 1587 1589 \n3 1587 594 1588 \n3 1589 1588 396 \n3 397 1590 1592 \n3 1590 595 1591 \n3 1592 1591 518 \n3 520 1593 1595 \n3 1593 401 1594 \n3 1595 1594 635 \n3 519 1596 1598 \n3 1596 598 1597 \n3 1598 1597 399 \n3 400 1599 1601 \n3 1599 601 1600 \n3 1601 1600 634 \n3 42 1602 1603 \n3 1602 162 644 \n3 1603 644 164 \n3 162 1604 642 \n3 1604 43 1605 \n3 642 1605 163 \n3 164 643 1607 \n3 643 163 1606 \n3 1607 1606 44 \n3 45 1608 1609 \n3 1608 165 647 \n3 1609 647 167 \n3 165 1610 645 \n3 1610 46 1611 \n3 645 1611 166 \n3 167 646 1613 \n3 646 166 1612 \n3 1613 1612 47 \n3 48 1614 1615 \n3 1614 168 650 \n3 1615 650 170 \n3 168 1616 648 \n3 1616 49 1617 \n3 648 1617 169 \n3 170 649 1619 \n3 649 169 1618 \n3 1619 1618 50 \n3 51 1620 1621 \n3 1620 171 653 \n3 1621 653 173 \n3 171 1622 651 \n3 1622 52 1623 \n3 651 1623 172 \n3 173 652 1625 \n3 652 172 1624 \n3 1625 1624 53 \n3 54 1626 1627 \n3 1626 174 656 \n3 1627 656 176 \n3 174 1628 654 \n3 1628 55 1629 \n3 654 1629 175 \n3 176 655 1631 \n3 655 175 1630 \n3 1631 1630 56 \n3 57 1632 1633 \n3 1632 177 659 \n3 1633 659 179 \n3 177 1634 657 \n3 1634 58 1635 \n3 657 1635 178 \n3 179 658 1637 \n3 658 178 1636 \n3 1637 1636 59 \n3 60 1638 1639 \n3 1638 180 662 \n3 1639 662 182 \n3 180 1640 660 \n3 1640 61 1641 \n3 660 1641 181 \n3 182 661 1643 \n3 661 181 1642 \n3 1643 1642 62 \n3 63 1644 1645 \n3 1644 183 665 \n3 1645 665 185 \n3 183 1646 663 \n3 1646 64 1647 \n3 663 1647 184 \n3 185 664 1649 \n3 664 184 1648 \n3 1649 1648 65 \n3 66 1650 1651 \n3 1650 186 668 \n3 1651 668 188 \n3 186 1652 666 \n3 1652 67 1653 \n3 666 1653 187 \n3 188 667 1655 \n3 667 187 1654 \n3 1655 1654 68 \n3 69 1656 1657 \n3 1656 189 671 \n3 1657 671 191 \n3 189 1658 669 \n3 1658 70 1659 \n3 669 1659 190 \n3 191 670 1661 \n3 670 190 1660 \n3 1661 1660 71 \n3 72 1662 1663 \n3 1662 192 674 \n3 1663 674 194 \n3 192 1664 672 \n3 1664 73 1665 \n3 672 1665 193 \n3 194 673 1667 \n3 673 193 1666 \n3 1667 1666 74 \n3 75 1668 1669 \n3 1668 195 677 \n3 1669 677 197 \n3 195 1670 675 \n3 1670 76 1671 \n3 675 1671 196 \n3 197 676 1673 \n3 676 196 1672 \n3 1673 1672 77 \n3 78 1674 1675 \n3 1674 198 680 \n3 1675 680 200 \n3 198 1676 678 \n3 1676 79 1677 \n3 678 1677 199 \n3 200 679 1679 \n3 679 199 1678 \n3 1679 1678 80 \n3 81 1680 1681 \n3 1680 201 683 \n3 1681 683 203 \n3 201 1682 681 \n3 1682 82 1683 \n3 681 1683 202 \n3 203 682 1685 \n3 682 202 1684 \n3 1685 1684 83 \n3 84 1686 1687 \n3 1686 204 686 \n3 1687 686 206 \n3 204 1688 684 \n3 1688 85 1689 \n3 684 1689 205 \n3 206 685 1691 \n3 685 205 1690 \n3 1691 1690 86 \n3 87 1692 1693 \n3 1692 207 689 \n3 1693 689 209 \n3 207 1694 687 \n3 1694 88 1695 \n3 687 1695 208 \n3 209 688 1697 \n3 688 208 1696 \n3 1697 1696 89 \n3 90 1698 1699 \n3 1698 210 692 \n3 1699 692 212 \n3 210 1700 690 \n3 1700 91 1701 \n3 690 1701 211 \n3 212 691 1703 \n3 691 211 1702 \n3 1703 1702 92 \n3 93 1704 1705 \n3 1704 213 695 \n3 1705 695 215 \n3 213 1706 693 \n3 1706 94 1707 \n3 693 1707 214 \n3 215 694 1709 \n3 694 214 1708 \n3 1709 1708 95 \n3 96 1710 1711 \n3 1710 216 698 \n3 1711 698 218 \n3 216 1712 696 \n3 1712 97 1713 \n3 696 1713 217 \n3 218 697 1715 \n3 697 217 1714 \n3 1715 1714 98 \n3 99 1716 1717 \n3 1716 219 701 \n3 1717 701 221 \n3 219 1718 699 \n3 1718 100 1719 \n3 699 1719 220 \n3 221 700 1721 \n3 700 220 1720 \n3 1721 1720 101 \n3 102 1722 1723 \n3 1722 222 704 \n3 1723 704 224 \n3 222 1724 702 \n3 1724 44 1725 \n3 702 1725 223 \n3 224 703 1727 \n3 703 223 1726 \n3 1727 1726 103 \n3 104 1728 1729 \n3 1728 225 707 \n3 1729 707 227 \n3 225 1730 705 \n3 1730 105 1731 \n3 705 1731 226 \n3 227 706 1733 \n3 706 226 1732 \n3 1733 1732 42 \n3 43 1734 1735 \n3 1734 228 710 \n3 1735 710 230 \n3 228 1736 708 \n3 1736 106 1737 \n3 708 1737 229 \n3 230 709 1739 \n3 709 229 1738 \n3 1739 1738 107 \n3 104 1740 1741 \n3 1740 231 713 \n3 1741 713 233 \n3 231 1742 711 \n3 1742 47 1743 \n3 711 1743 232 \n3 233 712 1745 \n3 712 232 1744 \n3 1745 1744 108 \n3 102 1746 1747 \n3 1746 234 716 \n3 1747 716 236 \n3 234 1748 714 \n3 1748 109 1749 \n3 714 1749 235 \n3 236 715 1751 \n3 715 235 1750 \n3 1751 1750 45 \n3 46 1752 1753 \n3 1752 237 719 \n3 1753 719 239 \n3 237 1754 717 \n3 1754 110 1755 \n3 717 1755 238 \n3 239 718 1757 \n3 718 238 1756 \n3 1757 1756 111 \n3 112 1758 1759 \n3 1758 240 722 \n3 1759 722 242 \n3 240 1760 720 \n3 1760 50 1761 \n3 720 1761 241 \n3 242 721 1763 \n3 721 241 1762 \n3 1763 1762 113 \n3 114 1764 1765 \n3 1764 243 725 \n3 1765 725 245 \n3 243 1766 723 \n3 1766 115 1767 \n3 723 1767 244 \n3 245 724 1769 \n3 724 244 1768 \n3 1769 1768 48 \n3 49 1770 1771 \n3 1770 246 728 \n3 1771 728 248 \n3 246 1772 726 \n3 1772 116 1773 \n3 726 1773 247 \n3 248 727 1775 \n3 727 247 1774 \n3 1775 1774 117 \n3 114 1776 1777 \n3 1776 249 731 \n3 1777 731 251 \n3 249 1778 729 \n3 1778 53 1779 \n3 729 1779 250 \n3 251 730 1781 \n3 730 250 1780 \n3 1781 1780 118 \n3 112 1782 1783 \n3 1782 252 734 \n3 1783 734 254 \n3 252 1784 732 \n3 1784 119 1785 \n3 732 1785 253 \n3 254 733 1787 \n3 733 253 1786 \n3 1787 1786 51 \n3 52 1788 1789 \n3 1788 255 737 \n3 1789 737 257 \n3 255 1790 735 \n3 1790 120 1791 \n3 735 1791 256 \n3 257 736 1793 \n3 736 256 1792 \n3 1793 1792 121 \n3 122 1794 1795 \n3 1794 258 740 \n3 1795 740 260 \n3 258 1796 738 \n3 1796 56 1797 \n3 738 1797 259 \n3 260 739 1799 \n3 739 259 1798 \n3 1799 1798 123 \n3 124 1800 1801 \n3 1800 261 743 \n3 1801 743 263 \n3 261 1802 741 \n3 1802 125 1803 \n3 741 1803 262 \n3 263 742 1805 \n3 742 262 1804 \n3 1805 1804 54 \n3 55 1806 1807 \n3 1806 264 746 \n3 1807 746 266 \n3 264 1808 744 \n3 1808 126 1809 \n3 744 1809 265 \n3 266 745 1811 \n3 745 265 1810 \n3 1811 1810 127 \n3 124 1812 1813 \n3 1812 267 749 \n3 1813 749 269 \n3 267 1814 747 \n3 1814 59 1815 \n3 747 1815 268 \n3 269 748 1817 \n3 748 268 1816 \n3 1817 1816 128 \n3 122 1818 1819 \n3 1818 270 752 \n3 1819 752 272 \n3 270 1820 750 \n3 1820 129 1821 \n3 750 1821 271 \n3 272 751 1823 \n3 751 271 1822 \n3 1823 1822 57 \n3 58 1824 1825 \n3 1824 273 755 \n3 1825 755 275 \n3 273 1826 753 \n3 1826 130 1827 \n3 753 1827 274 \n3 275 754 1829 \n3 754 274 1828 \n3 1829 1828 131 \n3 132 1830 1831 \n3 1830 276 758 \n3 1831 758 278 \n3 276 1832 756 \n3 1832 62 1833 \n3 756 1833 277 \n3 278 757 1835 \n3 757 277 1834 \n3 1835 1834 133 \n3 134 1836 1837 \n3 1836 279 761 \n3 1837 761 281 \n3 279 1838 759 \n3 1838 135 1839 \n3 759 1839 280 \n3 281 760 1841 \n3 760 280 1840 \n3 1841 1840 60 \n3 61 1842 1843 \n3 1842 282 764 \n3 1843 764 284 \n3 282 1844 762 \n3 1844 136 1845 \n3 762 1845 283 \n3 284 763 1847 \n3 763 283 1846 \n3 1847 1846 137 \n3 134 1848 1849 \n3 1848 285 767 \n3 1849 767 287 \n3 285 1850 765 \n3 1850 65 1851 \n3 765 1851 286 \n3 287 766 1853 \n3 766 286 1852 \n3 1853 1852 138 \n3 132 1854 1855 \n3 1854 288 770 \n3 1855 770 290 \n3 288 1856 768 \n3 1856 139 1857 \n3 768 1857 289 \n3 290 769 1859 \n3 769 289 1858 \n3 1859 1858 63 \n3 64 1860 1861 \n3 1860 291 773 \n3 1861 773 293 \n3 291 1862 771 \n3 1862 140 1863 \n3 771 1863 292 \n3 293 772 1865 \n3 772 292 1864 \n3 1865 1864 141 \n3 142 1866 1867 \n3 1866 294 776 \n3 1867 776 296 \n3 294 1868 774 \n3 1868 68 1869 \n3 774 1869 295 \n3 296 775 1871 \n3 775 295 1870 \n3 1871 1870 143 \n3 144 1872 1873 \n3 1872 297 779 \n3 1873 779 299 \n3 297 1874 777 \n3 1874 145 1875 \n3 777 1875 298 \n3 299 778 1877 \n3 778 298 1876 \n3 1877 1876 66 \n3 67 1878 1879 \n3 1878 300 782 \n3 1879 782 302 \n3 300 1880 780 \n3 1880 146 1881 \n3 780 1881 301 \n3 302 781 1883 \n3 781 301 1882 \n3 1883 1882 147 \n3 144 1884 1885 \n3 1884 303 785 \n3 1885 785 305 \n3 303 1886 783 \n3 1886 71 1887 \n3 783 1887 304 \n3 305 784 1889 \n3 784 304 1888 \n3 1889 1888 148 \n3 142 1890 1891 \n3 1890 306 788 \n3 1891 788 308 \n3 306 1892 786 \n3 1892 149 1893 \n3 786 1893 307 \n3 308 787 1895 \n3 787 307 1894 \n3 1895 1894 69 \n3 70 1896 1897 \n3 1896 309 791 \n3 1897 791 311 \n3 309 1898 789 \n3 1898 150 1899 \n3 789 1899 310 \n3 311 790 1901 \n3 790 310 1900 \n3 1901 1900 151 \n3 152 1902 1903 \n3 1902 312 794 \n3 1903 794 314 \n3 312 1904 792 \n3 1904 74 1905 \n3 792 1905 313 \n3 314 793 1907 \n3 793 313 1906 \n3 1907 1906 153 \n3 154 1908 1909 \n3 1908 315 797 \n3 1909 797 317 \n3 315 1910 795 \n3 1910 155 1911 \n3 795 1911 316 \n3 317 796 1913 \n3 796 316 1912 \n3 1913 1912 72 \n3 73 1914 1915 \n3 1914 318 800 \n3 1915 800 320 \n3 318 1916 798 \n3 1916 156 1917 \n3 798 1917 319 \n3 320 799 1919 \n3 799 319 1918 \n3 1919 1918 157 \n3 154 1920 1921 \n3 1920 321 803 \n3 1921 803 323 \n3 321 1922 801 \n3 1922 77 1923 \n3 801 1923 322 \n3 323 802 1925 \n3 802 322 1924 \n3 1925 1924 158 \n3 152 1926 1927 \n3 1926 324 806 \n3 1927 806 326 \n3 324 1928 804 \n3 1928 159 1929 \n3 804 1929 325 \n3 326 805 1931 \n3 805 325 1930 \n3 1931 1930 75 \n3 76 1932 1933 \n3 1932 327 809 \n3 1933 809 329 \n3 327 1934 807 \n3 1934 160 1935 \n3 807 1935 328 \n3 329 808 1937 \n3 808 328 1936 \n3 1937 1936 161 \n3 150 1938 1939 \n3 1938 330 812 \n3 1939 812 332 \n3 330 1940 810 \n3 1940 80 1941 \n3 810 1941 331 \n3 332 811 1943 \n3 811 331 1942 \n3 1943 1942 105 \n3 149 1944 1945 \n3 1944 333 815 \n3 1945 815 335 \n3 333 1946 813 \n3 1946 130 1947 \n3 813 1947 334 \n3 335 814 1949 \n3 814 334 1948 \n3 1949 1948 78 \n3 79 1950 1951 \n3 1950 336 818 \n3 1951 818 338 \n3 336 1952 816 \n3 1952 129 1953 \n3 816 1953 337 \n3 338 817 1955 \n3 817 337 1954 \n3 1955 1954 106 \n3 108 1956 1957 \n3 1956 339 821 \n3 1957 821 341 \n3 339 1958 819 \n3 1958 83 1959 \n3 819 1959 340 \n3 341 820 1961 \n3 820 340 1960 \n3 1961 1960 151 \n3 111 1962 1963 \n3 1962 342 824 \n3 1963 824 344 \n3 342 1964 822 \n3 1964 133 1965 \n3 822 1965 343 \n3 344 823 1967 \n3 823 343 1966 \n3 1967 1966 81 \n3 82 1968 1969 \n3 1968 345 827 \n3 1969 827 347 \n3 345 1970 825 \n3 1970 137 1971 \n3 825 1971 346 \n3 347 826 1973 \n3 826 346 1972 \n3 1973 1972 148 \n3 103 1974 1975 \n3 1974 348 830 \n3 1975 830 350 \n3 348 1976 828 \n3 1976 86 1977 \n3 828 1977 349 \n3 350 829 1979 \n3 829 349 1978 \n3 1979 1978 157 \n3 107 1980 1981 \n3 1980 351 833 \n3 1981 833 353 \n3 351 1982 831 \n3 1982 123 1983 \n3 831 1983 352 \n3 353 832 1985 \n3 832 352 1984 \n3 1985 1984 84 \n3 85 1986 1987 \n3 1986 354 836 \n3 1987 836 356 \n3 354 1988 834 \n3 1988 127 1989 \n3 834 1989 355 \n3 356 835 1991 \n3 835 355 1990 \n3 1991 1990 153 \n3 156 1992 1993 \n3 1992 357 839 \n3 1993 839 359 \n3 357 1994 837 \n3 1994 89 1995 \n3 837 1995 358 \n3 359 838 1997 \n3 838 358 1996 \n3 1997 1996 109 \n3 155 1998 1999 \n3 1998 360 842 \n3 1999 842 362 \n3 360 2000 840 \n3 2000 140 2001 \n3 840 2001 361 \n3 362 841 2003 \n3 841 361 2002 \n3 2003 2002 87 \n3 88 2004 2005 \n3 2004 363 845 \n3 2005 845 365 \n3 363 2006 843 \n3 2006 139 2007 \n3 843 2007 364 \n3 365 844 2009 \n3 844 364 2008 \n3 2009 2008 110 \n3 113 2010 2011 \n3 2010 366 848 \n3 2011 848 368 \n3 366 2012 846 \n3 2012 92 2013 \n3 846 2013 367 \n3 368 847 2015 \n3 847 367 2014 \n3 2015 2014 147 \n3 117 2016 2017 \n3 2016 369 851 \n3 2017 851 371 \n3 369 2018 849 \n3 2018 128 2019 \n3 849 2019 370 \n3 371 850 2021 \n3 850 370 2020 \n3 2021 2020 90 \n3 91 2022 2023 \n3 2022 372 854 \n3 2023 854 374 \n3 372 2024 852 \n3 2024 131 2025 \n3 852 2025 373 \n3 374 853 2027 \n3 853 373 2026 \n3 2027 2026 143 \n3 146 2028 2029 \n3 2028 375 857 \n3 2029 857 377 \n3 375 2030 855 \n3 2030 95 2031 \n3 855 2031 376 \n3 377 856 2033 \n3 856 376 2032 \n3 2033 2032 119 \n3 145 2034 2035 \n3 2034 378 860 \n3 2035 860 380 \n3 378 2036 858 \n3 2036 136 2037 \n3 858 2037 379 \n3 380 859 2039 \n3 859 379 2038 \n3 2039 2038 93 \n3 94 2040 2041 \n3 2040 381 863 \n3 2041 863 383 \n3 381 2042 861 \n3 2042 135 2043 \n3 861 2043 382 \n3 383 862 2045 \n3 862 382 2044 \n3 2045 2044 120 \n3 160 2046 2047 \n3 2046 384 866 \n3 2047 866 386 \n3 384 2048 864 \n3 2048 98 2049 \n3 864 2049 385 \n3 386 865 2051 \n3 865 385 2050 \n3 2051 2050 115 \n3 159 2052 2053 \n3 2052 387 869 \n3 2053 869 389 \n3 387 2054 867 \n3 2054 126 2055 \n3 867 2055 388 \n3 389 868 2057 \n3 868 388 2056 \n3 2057 2056 96 \n3 97 2058 2059 \n3 2058 390 872 \n3 2059 872 392 \n3 390 2060 870 \n3 2060 125 2061 \n3 870 2061 391 \n3 392 871 2063 \n3 871 391 2062 \n3 2063 2062 116 \n3 118 2064 2065 \n3 2064 393 875 \n3 2065 875 395 \n3 393 2066 873 \n3 2066 101 2067 \n3 873 2067 394 \n3 395 874 2069 \n3 874 394 2068 \n3 2069 2068 161 \n3 121 2070 2071 \n3 2070 396 878 \n3 2071 878 398 \n3 396 2072 876 \n3 2072 138 2073 \n3 876 2073 397 \n3 398 877 2075 \n3 877 397 2074 \n3 2075 2074 99 \n3 100 2076 2077 \n3 2076 399 881 \n3 2077 881 401 \n3 399 2078 879 \n3 2078 141 2079 \n3 879 2079 400 \n3 401 880 2081 \n3 880 400 2080 \n3 2081 2080 158 \n3 12 2082 2083 \n3 2082 402 884 \n3 2083 884 403 \n3 402 2084 882 \n3 2084 42 1603 \n3 882 1603 164 \n3 403 883 2085 \n3 883 164 1607 \n3 2085 1607 44 \n3 42 2086 1602 \n3 2086 404 887 \n3 1602 887 162 \n3 404 2087 885 \n3 2087 13 2088 \n3 885 2088 405 \n3 162 886 1604 \n3 886 405 2089 \n3 1604 2089 43 \n3 44 1606 2090 \n3 1606 163 890 \n3 2090 890 407 \n3 163 1605 888 \n3 1605 43 2091 \n3 888 2091 406 \n3 407 889 2093 \n3 889 406 2092 \n3 2093 2092 14 \n3 12 2094 2095 \n3 2094 408 893 \n3 2095 893 409 \n3 408 2096 891 \n3 2096 45 1609 \n3 891 1609 167 \n3 409 892 2097 \n3 892 167 1613 \n3 2097 1613 47 \n3 45 2098 1608 \n3 2098 410 896 \n3 1608 896 165 \n3 410 2099 894 \n3 2099 15 2100 \n3 894 2100 411 \n3 165 895 1610 \n3 895 411 2101 \n3 1610 2101 46 \n3 47 1612 2102 \n3 1612 166 899 \n3 2102 899 413 \n3 166 1611 897 \n3 1611 46 2103 \n3 897 2103 412 \n3 413 898 2105 \n3 898 412 2104 \n3 2105 2104 16 \n3 17 2106 2107 \n3 2106 414 902 \n3 2107 902 415 \n3 414 2108 900 \n3 2108 48 1615 \n3 900 1615 170 \n3 415 901 2109 \n3 901 170 1619 \n3 2109 1619 50 \n3 48 2110 1614 \n3 2110 416 905 \n3 1614 905 168 \n3 416 2111 903 \n3 2111 18 2112 \n3 903 2112 417 \n3 168 904 1616 \n3 904 417 2113 \n3 1616 2113 49 \n3 50 1618 2114 \n3 1618 169 908 \n3 2114 908 419 \n3 169 1617 906 \n3 1617 49 2115 \n3 906 2115 418 \n3 419 907 2117 \n3 907 418 2116 \n3 2117 2116 19 \n3 17 2118 2119 \n3 2118 420 911 \n3 2119 911 421 \n3 420 2120 909 \n3 2120 51 1621 \n3 909 1621 173 \n3 421 910 2121 \n3 910 173 1625 \n3 2121 1625 53 \n3 51 2122 1620 \n3 2122 422 914 \n3 1620 914 171 \n3 422 2123 912 \n3 2123 20 2124 \n3 912 2124 423 \n3 171 913 1622 \n3 913 423 2125 \n3 1622 2125 52 \n3 53 1624 2126 \n3 1624 172 917 \n3 2126 917 425 \n3 172 1623 915 \n3 1623 52 2127 \n3 915 2127 424 \n3 425 916 2129 \n3 916 424 2128 \n3 2129 2128 21 \n3 22 2130 2131 \n3 2130 426 920 \n3 2131 920 427 \n3 426 2132 918 \n3 2132 54 1627 \n3 918 1627 176 \n3 427 919 2133 \n3 919 176 1631 \n3 2133 1631 56 \n3 54 2134 1626 \n3 2134 428 923 \n3 1626 923 174 \n3 428 2135 921 \n3 2135 23 2136 \n3 921 2136 429 \n3 174 922 1628 \n3 922 429 2137 \n3 1628 2137 55 \n3 56 1630 2138 \n3 1630 175 926 \n3 2138 926 431 \n3 175 1629 924 \n3 1629 55 2139 \n3 924 2139 430 \n3 431 925 2141 \n3 925 430 2140 \n3 2141 2140 24 \n3 22 2142 2143 \n3 2142 432 929 \n3 2143 929 433 \n3 432 2144 927 \n3 2144 57 1633 \n3 927 1633 179 \n3 433 928 2145 \n3 928 179 1637 \n3 2145 1637 59 \n3 57 2146 1632 \n3 2146 434 932 \n3 1632 932 177 \n3 434 2147 930 \n3 2147 25 2148 \n3 930 2148 435 \n3 177 931 1634 \n3 931 435 2149 \n3 1634 2149 58 \n3 59 1636 2150 \n3 1636 178 935 \n3 2150 935 437 \n3 178 1635 933 \n3 1635 58 2151 \n3 933 2151 436 \n3 437 934 2153 \n3 934 436 2152 \n3 2153 2152 26 \n3 27 2154 2155 \n3 2154 438 938 \n3 2155 938 439 \n3 438 2156 936 \n3 2156 60 1639 \n3 936 1639 182 \n3 439 937 2157 \n3 937 182 1643 \n3 2157 1643 62 \n3 60 2158 1638 \n3 2158 440 941 \n3 1638 941 180 \n3 440 2159 939 \n3 2159 28 2160 \n3 939 2160 441 \n3 180 940 1640 \n3 940 441 2161 \n3 1640 2161 61 \n3 62 1642 2162 \n3 1642 181 944 \n3 2162 944 443 \n3 181 1641 942 \n3 1641 61 2163 \n3 942 2163 442 \n3 443 943 2165 \n3 943 442 2164 \n3 2165 2164 29 \n3 27 2166 2167 \n3 2166 444 947 \n3 2167 947 445 \n3 444 2168 945 \n3 2168 63 1645 \n3 945 1645 185 \n3 445 946 2169 \n3 946 185 1649 \n3 2169 1649 65 \n3 63 2170 1644 \n3 2170 446 950 \n3 1644 950 183 \n3 446 2171 948 \n3 2171 30 2172 \n3 948 2172 447 \n3 183 949 1646 \n3 949 447 2173 \n3 1646 2173 64 \n3 65 1648 2174 \n3 1648 184 953 \n3 2174 953 449 \n3 184 1647 951 \n3 1647 64 2175 \n3 951 2175 448 \n3 449 952 2177 \n3 952 448 2176 \n3 2177 2176 31 \n3 32 2178 2179 \n3 2178 450 956 \n3 2179 956 451 \n3 450 2180 954 \n3 2180 66 1651 \n3 954 1651 188 \n3 451 955 2181 \n3 955 188 1655 \n3 2181 1655 68 \n3 66 2182 1650 \n3 2182 452 959 \n3 1650 959 186 \n3 452 2183 957 \n3 2183 33 2184 \n3 957 2184 453 \n3 186 958 1652 \n3 958 453 2185 \n3 1652 2185 67 \n3 68 1654 2186 \n3 1654 187 962 \n3 2186 962 455 \n3 187 1653 960 \n3 1653 67 2187 \n3 960 2187 454 \n3 455 961 2189 \n3 961 454 2188 \n3 2189 2188 34 \n3 32 2190 2191 \n3 2190 456 965 \n3 2191 965 457 \n3 456 2192 963 \n3 2192 69 1657 \n3 963 1657 191 \n3 457 964 2193 \n3 964 191 1661 \n3 2193 1661 71 \n3 69 2194 1656 \n3 2194 458 968 \n3 1656 968 189 \n3 458 2195 966 \n3 2195 35 2196 \n3 966 2196 459 \n3 189 967 1658 \n3 967 459 2197 \n3 1658 2197 70 \n3 71 1660 2198 \n3 1660 190 971 \n3 2198 971 461 \n3 190 1659 969 \n3 1659 70 2199 \n3 969 2199 460 \n3 461 970 2201 \n3 970 460 2200 \n3 2201 2200 36 \n3 37 2202 2203 \n3 2202 462 974 \n3 2203 974 463 \n3 462 2204 972 \n3 2204 72 1663 \n3 972 1663 194 \n3 463 973 2205 \n3 973 194 1667 \n3 2205 1667 74 \n3 72 2206 1662 \n3 2206 464 977 \n3 1662 977 192 \n3 464 2207 975 \n3 2207 38 2208 \n3 975 2208 465 \n3 192 976 1664 \n3 976 465 2209 \n3 1664 2209 73 \n3 74 1666 2210 \n3 1666 193 980 \n3 2210 980 467 \n3 193 1665 978 \n3 1665 73 2211 \n3 978 2211 466 \n3 467 979 2213 \n3 979 466 2212 \n3 2213 2212 39 \n3 37 2214 2215 \n3 2214 468 983 \n3 2215 983 469 \n3 468 2216 981 \n3 2216 75 1669 \n3 981 1669 197 \n3 469 982 2217 \n3 982 197 1673 \n3 2217 1673 77 \n3 75 2218 1668 \n3 2218 470 986 \n3 1668 986 195 \n3 470 2219 984 \n3 2219 40 2220 \n3 984 2220 471 \n3 195 985 1670 \n3 985 471 2221 \n3 1670 2221 76 \n3 77 1672 2222 \n3 1672 196 989 \n3 2222 989 473 \n3 196 1671 987 \n3 1671 76 2223 \n3 987 2223 472 \n3 473 988 2225 \n3 988 472 2224 \n3 2225 2224 41 \n3 35 2226 2227 \n3 2226 474 992 \n3 2227 992 475 \n3 474 2228 990 \n3 2228 78 1675 \n3 990 1675 200 \n3 475 991 2229 \n3 991 200 1679 \n3 2229 1679 80 \n3 78 2230 1674 \n3 2230 476 995 \n3 1674 995 198 \n3 476 2231 993 \n3 2231 25 2232 \n3 993 2232 477 \n3 198 994 1676 \n3 994 477 2233 \n3 1676 2233 79 \n3 80 1678 2234 \n3 1678 199 998 \n3 2234 998 479 \n3 199 1677 996 \n3 1677 79 2235 \n3 996 2235 478 \n3 479 997 2237 \n3 997 478 2236 \n3 2237 2236 13 \n3 16 2238 2239 \n3 2238 480 1001 \n3 2239 1001 481 \n3 480 2240 999 \n3 2240 81 1681 \n3 999 1681 203 \n3 481 1000 2241 \n3 1000 203 1685 \n3 2241 1685 83 \n3 81 2242 1680 \n3 2242 482 1004 \n3 1680 1004 201 \n3 482 2243 1002 \n3 2243 29 2244 \n3 1002 2244 483 \n3 201 1003 1682 \n3 1003 483 2245 \n3 1682 2245 82 \n3 83 1684 2246 \n3 1684 202 1007 \n3 2246 1007 485 \n3 202 1683 1005 \n3 1683 82 2247 \n3 1005 2247 484 \n3 485 1006 2249 \n3 1006 484 2248 \n3 2249 2248 36 \n3 14 2250 2251 \n3 2250 486 1010 \n3 2251 1010 487 \n3 486 2252 1008 \n3 2252 84 1687 \n3 1008 1687 206 \n3 487 1009 2253 \n3 1009 206 1691 \n3 2253 1691 86 \n3 84 2254 1686 \n3 2254 488 1013 \n3 1686 1013 204 \n3 488 2255 1011 \n3 2255 24 2256 \n3 1011 2256 489 \n3 204 1012 1688 \n3 1012 489 2257 \n3 1688 2257 85 \n3 86 1690 2258 \n3 1690 205 1016 \n3 2258 1016 491 \n3 205 1689 1014 \n3 1689 85 2259 \n3 1014 2259 490 \n3 491 1015 2261 \n3 1015 490 2260 \n3 2261 2260 39 \n3 38 2262 2263 \n3 2262 492 1019 \n3 2263 1019 493 \n3 492 2264 1017 \n3 2264 87 1693 \n3 1017 1693 209 \n3 493 1018 2265 \n3 1018 209 1697 \n3 2265 1697 89 \n3 87 2266 1692 \n3 2266 494 1022 \n3 1692 1022 207 \n3 494 2267 1020 \n3 2267 30 2268 \n3 1020 2268 495 \n3 207 1021 1694 \n3 1021 495 2269 \n3 1694 2269 88 \n3 89 1696 2270 \n3 1696 208 1025 \n3 2270 1025 497 \n3 208 1695 1023 \n3 1695 88 2271 \n3 1023 2271 496 \n3 497 1024 2273 \n3 1024 496 2272 \n3 2273 2272 15 \n3 19 2274 2275 \n3 2274 498 1028 \n3 2275 1028 499 \n3 498 2276 1026 \n3 2276 90 1699 \n3 1026 1699 212 \n3 499 1027 2277 \n3 1027 212 1703 \n3 2277 1703 92 \n3 90 2278 1698 \n3 2278 500 1031 \n3 1698 1031 210 \n3 500 2279 1029 \n3 2279 26 2280 \n3 1029 2280 501 \n3 210 1030 1700 \n3 1030 501 2281 \n3 1700 2281 91 \n3 92 1702 2282 \n3 1702 211 1034 \n3 2282 1034 503 \n3 211 1701 1032 \n3 1701 91 2283 \n3 1032 2283 502 \n3 503 1033 2285 \n3 1033 502 2284 \n3 2285 2284 34 \n3 33 2286 2287 \n3 2286 504 1037 \n3 2287 1037 505 \n3 504 2288 1035 \n3 2288 93 1705 \n3 1035 1705 215 \n3 505 1036 2289 \n3 1036 215 1709 \n3 2289 1709 95 \n3 93 2290 1704 \n3 2290 506 1040 \n3 1704 1040 213 \n3 506 2291 1038 \n3 2291 28 2292 \n3 1038 2292 507 \n3 213 1039 1706 \n3 1039 507 2293 \n3 1706 2293 94 \n3 95 1708 2294 \n3 1708 214 1043 \n3 2294 1043 509 \n3 214 1707 1041 \n3 1707 94 2295 \n3 1041 2295 508 \n3 509 1042 2297 \n3 1042 508 2296 \n3 2297 2296 20 \n3 40 2298 2299 \n3 2298 510 1046 \n3 2299 1046 511 \n3 510 2300 1044 \n3 2300 96 1711 \n3 1044 1711 218 \n3 511 1045 2301 \n3 1045 218 1715 \n3 2301 1715 98 \n3 96 2302 1710 \n3 2302 512 1049 \n3 1710 1049 216 \n3 512 2303 1047 \n3 2303 23 2304 \n3 1047 2304 513 \n3 216 1048 1712 \n3 1048 513 2305 \n3 1712 2305 97 \n3 98 1714 2306 \n3 1714 217 1052 \n3 2306 1052 515 \n3 217 1713 1050 \n3 1713 97 2307 \n3 1050 2307 514 \n3 515 1051 2309 \n3 1051 514 2308 \n3 2309 2308 18 \n3 21 2310 2311 \n3 2310 516 1055 \n3 2311 1055 517 \n3 516 2312 1053 \n3 2312 99 1717 \n3 1053 1717 221 \n3 517 1054 2313 \n3 1054 221 1721 \n3 2313 1721 101 \n3 99 2314 1716 \n3 2314 518 1058 \n3 1716 1058 219 \n3 518 2315 1056 \n3 2315 31 2316 \n3 1056 2316 519 \n3 219 1057 1718 \n3 1057 519 2317 \n3 1718 2317 100 \n3 101 1720 2318 \n3 1720 220 1061 \n3 2318 1061 521 \n3 220 1719 1059 \n3 1719 100 2319 \n3 1059 2319 520 \n3 521 1060 2321 \n3 1060 520 2320 \n3 2321 2320 41 \n3 1 2322 2323 \n3 2322 522 1064 \n3 2323 1064 523 \n3 522 2324 1062 \n3 2324 102 1723 \n3 1062 1723 224 \n3 523 1063 2325 \n3 1063 224 1727 \n3 2325 1727 103 \n3 102 2326 1722 \n3 2326 524 1067 \n3 1722 1067 222 \n3 524 2327 1065 \n3 2327 12 2083 \n3 1065 2083 403 \n3 222 1066 1724 \n3 1066 403 2085 \n3 1724 2085 44 \n3 103 1726 2328 \n3 1726 223 1070 \n3 2328 1070 525 \n3 223 1725 1068 \n3 1725 44 2090 \n3 1068 2090 407 \n3 525 1069 2329 \n3 1069 407 2093 \n3 2329 2093 14 \n3 12 2330 2082 \n3 2330 526 1073 \n3 2082 1073 402 \n3 526 2331 1071 \n3 2331 104 1729 \n3 1071 1729 227 \n3 402 1072 2084 \n3 1072 227 1733 \n3 2084 1733 42 \n3 104 2332 1728 \n3 2332 527 1076 \n3 1728 1076 225 \n3 527 2333 1074 \n3 2333 0 2334 \n3 1074 2334 528 \n3 225 1075 1730 \n3 1075 528 2335 \n3 1730 2335 105 \n3 42 1732 2086 \n3 1732 226 1079 \n3 2086 1079 404 \n3 226 1731 1077 \n3 1731 105 2336 \n3 1077 2336 529 \n3 404 1078 2087 \n3 1078 529 2337 \n3 2087 2337 13 \n3 14 2092 2338 \n3 2092 406 1082 \n3 2338 1082 530 \n3 406 2091 1080 \n3 2091 43 1735 \n3 1080 1735 230 \n3 530 1081 2339 \n3 1081 230 1739 \n3 2339 1739 107 \n3 43 2089 1734 \n3 2089 405 1085 \n3 1734 1085 228 \n3 405 2088 1083 \n3 2088 13 2340 \n3 1083 2340 531 \n3 228 1084 1736 \n3 1084 531 2341 \n3 1736 2341 106 \n3 107 1738 2342 \n3 1738 229 1088 \n3 2342 1088 533 \n3 229 1737 1086 \n3 1737 106 2343 \n3 1086 2343 532 \n3 533 1087 2345 \n3 1087 532 2344 \n3 2345 2344 4 \n3 0 2333 2346 \n3 2333 527 1091 \n3 2346 1091 534 \n3 527 2332 1089 \n3 2332 104 1741 \n3 1089 1741 233 \n3 534 1090 2347 \n3 1090 233 1745 \n3 2347 1745 108 \n3 104 2331 1740 \n3 2331 526 1094 \n3 1740 1094 231 \n3 526 2330 1092 \n3 2330 12 2095 \n3 1092 2095 409 \n3 231 1093 1742 \n3 1093 409 2097 \n3 1742 2097 47 \n3 108 1744 2348 \n3 1744 232 1097 \n3 2348 1097 535 \n3 232 1743 1095 \n3 1743 47 2102 \n3 1095 2102 413 \n3 535 1096 2349 \n3 1096 413 2105 \n3 2349 2105 16 \n3 12 2327 2094 \n3 2327 524 1100 \n3 2094 1100 408 \n3 524 2326 1098 \n3 2326 102 1747 \n3 1098 1747 236 \n3 408 1099 2096 \n3 1099 236 1751 \n3 2096 1751 45 \n3 102 2324 1746 \n3 2324 522 1103 \n3 1746 1103 234 \n3 522 2322 1101 \n3 2322 1 2350 \n3 1101 2350 536 \n3 234 1102 1748 \n3 1102 536 2351 \n3 1748 2351 109 \n3 45 1750 2098 \n3 1750 235 1106 \n3 2098 1106 410 \n3 235 1749 1104 \n3 1749 109 2352 \n3 1104 2352 537 \n3 410 1105 2099 \n3 1105 537 2353 \n3 2099 2353 15 \n3 16 2104 2354 \n3 2104 412 1109 \n3 2354 1109 538 \n3 412 2103 1107 \n3 2103 46 1753 \n3 1107 1753 239 \n3 538 1108 2355 \n3 1108 239 1757 \n3 2355 1757 111 \n3 46 2101 1752 \n3 2101 411 1112 \n3 1752 1112 237 \n3 411 2100 1110 \n3 2100 15 2356 \n3 1110 2356 539 \n3 237 1111 1754 \n3 1111 539 2357 \n3 1754 2357 110 \n3 111 1756 2358 \n3 1756 238 1115 \n3 2358 1115 541 \n3 238 1755 1113 \n3 1755 110 2359 \n3 1113 2359 540 \n3 541 1114 2361 \n3 1114 540 2360 \n3 2361 2360 6 \n3 2 2362 2363 \n3 2362 542 1118 \n3 2363 1118 543 \n3 542 2364 1116 \n3 2364 112 1759 \n3 1116 1759 242 \n3 543 1117 2365 \n3 1117 242 1763 \n3 2365 1763 113 \n3 112 2366 1758 \n3 2366 544 1121 \n3 1758 1121 240 \n3 544 2367 1119 \n3 2367 17 2107 \n3 1119 2107 415 \n3 240 1120 1760 \n3 1120 415 2109 \n3 1760 2109 50 \n3 113 1762 2368 \n3 1762 241 1124 \n3 2368 1124 545 \n3 241 1761 1122 \n3 1761 50 2114 \n3 1122 2114 419 \n3 545 1123 2369 \n3 1123 419 2117 \n3 2369 2117 19 \n3 17 2370 2106 \n3 2370 546 1127 \n3 2106 1127 414 \n3 546 2371 1125 \n3 2371 114 1765 \n3 1125 1765 245 \n3 414 1126 2108 \n3 1126 245 1769 \n3 2108 1769 48 \n3 114 2372 1764 \n3 2372 547 1130 \n3 1764 1130 243 \n3 547 2373 1128 \n3 2373 3 2374 \n3 1128 2374 548 \n3 243 1129 1766 \n3 1129 548 2375 \n3 1766 2375 115 \n3 48 1768 2110 \n3 1768 244 1133 \n3 2110 1133 416 \n3 244 1767 1131 \n3 1767 115 2376 \n3 1131 2376 549 \n3 416 1132 2111 \n3 1132 549 2377 \n3 2111 2377 18 \n3 19 2116 2378 \n3 2116 418 1136 \n3 2378 1136 550 \n3 418 2115 1134 \n3 2115 49 1771 \n3 1134 1771 248 \n3 550 1135 2379 \n3 1135 248 1775 \n3 2379 1775 117 \n3 49 2113 1770 \n3 2113 417 1139 \n3 1770 1139 246 \n3 417 2112 1137 \n3 2112 18 2380 \n3 1137 2380 551 \n3 246 1138 1772 \n3 1138 551 2381 \n3 1772 2381 116 \n3 117 1774 2382 \n3 1774 247 1142 \n3 2382 1142 553 \n3 247 1773 1140 \n3 1773 116 2383 \n3 1140 2383 552 \n3 553 1141 2385 \n3 1141 552 2384 \n3 2385 2384 5 \n3 3 2373 2386 \n3 2373 547 1145 \n3 2386 1145 554 \n3 547 2372 1143 \n3 2372 114 1777 \n3 1143 1777 251 \n3 554 1144 2387 \n3 1144 251 1781 \n3 2387 1781 118 \n3 114 2371 1776 \n3 2371 546 1148 \n3 1776 1148 249 \n3 546 2370 1146 \n3 2370 17 2119 \n3 1146 2119 421 \n3 249 1147 1778 \n3 1147 421 2121 \n3 1778 2121 53 \n3 118 1780 2388 \n3 1780 250 1151 \n3 2388 1151 555 \n3 250 1779 1149 \n3 1779 53 2126 \n3 1149 2126 425 \n3 555 1150 2389 \n3 1150 425 2129 \n3 2389 2129 21 \n3 17 2367 2118 \n3 2367 544 1154 \n3 2118 1154 420 \n3 544 2366 1152 \n3 2366 112 1783 \n3 1152 1783 254 \n3 420 1153 2120 \n3 1153 254 1787 \n3 2120 1787 51 \n3 112 2364 1782 \n3 2364 542 1157 \n3 1782 1157 252 \n3 542 2362 1155 \n3 2362 2 2390 \n3 1155 2390 556 \n3 252 1156 1784 \n3 1156 556 2391 \n3 1784 2391 119 \n3 51 1786 2122 \n3 1786 253 1160 \n3 2122 1160 422 \n3 253 1785 1158 \n3 1785 119 2392 \n3 1158 2392 557 \n3 422 1159 2123 \n3 1159 557 2393 \n3 2123 2393 20 \n3 21 2128 2394 \n3 2128 424 1163 \n3 2394 1163 558 \n3 424 2127 1161 \n3 2127 52 1789 \n3 1161 1789 257 \n3 558 1162 2395 \n3 1162 257 1793 \n3 2395 1793 121 \n3 52 2125 1788 \n3 2125 423 1166 \n3 1788 1166 255 \n3 423 2124 1164 \n3 2124 20 2396 \n3 1164 2396 559 \n3 255 1165 1790 \n3 1165 559 2397 \n3 1790 2397 120 \n3 121 1792 2398 \n3 1792 256 1169 \n3 2398 1169 561 \n3 256 1791 1167 \n3 1791 120 2399 \n3 1167 2399 560 \n3 561 1168 2401 \n3 1168 560 2400 \n3 2401 2400 7 \n3 4 2402 2403 \n3 2402 562 1172 \n3 2403 1172 563 \n3 562 2404 1170 \n3 2404 122 1795 \n3 1170 1795 260 \n3 563 1171 2405 \n3 1171 260 1799 \n3 2405 1799 123 \n3 122 2406 1794 \n3 2406 564 1175 \n3 1794 1175 258 \n3 564 2407 1173 \n3 2407 22 2131 \n3 1173 2131 427 \n3 258 1174 1796 \n3 1174 427 2133 \n3 1796 2133 56 \n3 123 1798 2408 \n3 1798 259 1178 \n3 2408 1178 565 \n3 259 1797 1176 \n3 1797 56 2138 \n3 1176 2138 431 \n3 565 1177 2409 \n3 1177 431 2141 \n3 2409 2141 24 \n3 22 2410 2130 \n3 2410 566 1181 \n3 2130 1181 426 \n3 566 2411 1179 \n3 2411 124 1801 \n3 1179 1801 263 \n3 426 1180 2132 \n3 1180 263 1805 \n3 2132 1805 54 \n3 124 2412 1800 \n3 2412 567 1184 \n3 1800 1184 261 \n3 567 2413 1182 \n3 2413 5 2414 \n3 1182 2414 568 \n3 261 1183 1802 \n3 1183 568 2415 \n3 1802 2415 125 \n3 54 1804 2134 \n3 1804 262 1187 \n3 2134 1187 428 \n3 262 1803 1185 \n3 1803 125 2416 \n3 1185 2416 569 \n3 428 1186 2135 \n3 1186 569 2417 \n3 2135 2417 23 \n3 24 2140 2418 \n3 2140 430 1190 \n3 2418 1190 570 \n3 430 2139 1188 \n3 2139 55 1807 \n3 1188 1807 266 \n3 570 1189 2419 \n3 1189 266 1811 \n3 2419 1811 127 \n3 55 2137 1806 \n3 2137 429 1193 \n3 1806 1193 264 \n3 429 2136 1191 \n3 2136 23 2420 \n3 1191 2420 571 \n3 264 1192 1808 \n3 1192 571 2421 \n3 1808 2421 126 \n3 127 1810 2422 \n3 1810 265 1196 \n3 2422 1196 573 \n3 265 1809 1194 \n3 1809 126 2423 \n3 1194 2423 572 \n3 573 1195 2425 \n3 1195 572 2424 \n3 2425 2424 10 \n3 5 2413 2426 \n3 2413 567 1199 \n3 2426 1199 574 \n3 567 2412 1197 \n3 2412 124 1813 \n3 1197 1813 269 \n3 574 1198 2427 \n3 1198 269 1817 \n3 2427 1817 128 \n3 124 2411 1812 \n3 2411 566 1202 \n3 1812 1202 267 \n3 566 2410 1200 \n3 2410 22 2143 \n3 1200 2143 433 \n3 267 1201 1814 \n3 1201 433 2145 \n3 1814 2145 59 \n3 128 1816 2428 \n3 1816 268 1205 \n3 2428 1205 575 \n3 268 1815 1203 \n3 1815 59 2150 \n3 1203 2150 437 \n3 575 1204 2429 \n3 1204 437 2153 \n3 2429 2153 26 \n3 22 2407 2142 \n3 2407 564 1208 \n3 2142 1208 432 \n3 564 2406 1206 \n3 2406 122 1819 \n3 1206 1819 272 \n3 432 1207 2144 \n3 1207 272 1823 \n3 2144 1823 57 \n3 122 2404 1818 \n3 2404 562 1211 \n3 1818 1211 270 \n3 562 2402 1209 \n3 2402 4 2430 \n3 1209 2430 576 \n3 270 1210 1820 \n3 1210 576 2431 \n3 1820 2431 129 \n3 57 1822 2146 \n3 1822 271 1214 \n3 2146 1214 434 \n3 271 1821 1212 \n3 1821 129 2432 \n3 1212 2432 577 \n3 434 1213 2147 \n3 1213 577 2433 \n3 2147 2433 25 \n3 26 2152 2434 \n3 2152 436 1217 \n3 2434 1217 578 \n3 436 2151 1215 \n3 2151 58 1825 \n3 1215 1825 275 \n3 578 1216 2435 \n3 1216 275 1829 \n3 2435 1829 131 \n3 58 2149 1824 \n3 2149 435 1220 \n3 1824 1220 273 \n3 435 2148 1218 \n3 2148 25 2436 \n3 1218 2436 579 \n3 273 1219 1826 \n3 1219 579 2437 \n3 1826 2437 130 \n3 131 1828 2438 \n3 1828 274 1223 \n3 2438 1223 581 \n3 274 1827 1221 \n3 1827 130 2439 \n3 1221 2439 580 \n3 581 1222 2441 \n3 1222 580 2440 \n3 2441 2440 8 \n3 6 2442 2443 \n3 2442 582 1226 \n3 2443 1226 583 \n3 582 2444 1224 \n3 2444 132 1831 \n3 1224 1831 278 \n3 583 1225 2445 \n3 1225 278 1835 \n3 2445 1835 133 \n3 132 2446 1830 \n3 2446 584 1229 \n3 1830 1229 276 \n3 584 2447 1227 \n3 2447 27 2155 \n3 1227 2155 439 \n3 276 1228 1832 \n3 1228 439 2157 \n3 1832 2157 62 \n3 133 1834 2448 \n3 1834 277 1232 \n3 2448 1232 585 \n3 277 1833 1230 \n3 1833 62 2162 \n3 1230 2162 443 \n3 585 1231 2449 \n3 1231 443 2165 \n3 2449 2165 29 \n3 27 2450 2154 \n3 2450 586 1235 \n3 2154 1235 438 \n3 586 2451 1233 \n3 2451 134 1837 \n3 1233 1837 281 \n3 438 1234 2156 \n3 1234 281 1841 \n3 2156 1841 60 \n3 134 2452 1836 \n3 2452 587 1238 \n3 1836 1238 279 \n3 587 2453 1236 \n3 2453 7 2454 \n3 1236 2454 588 \n3 279 1237 1838 \n3 1237 588 2455 \n3 1838 2455 135 \n3 60 1840 2158 \n3 1840 280 1241 \n3 2158 1241 440 \n3 280 1839 1239 \n3 1839 135 2456 \n3 1239 2456 589 \n3 440 1240 2159 \n3 1240 589 2457 \n3 2159 2457 28 \n3 29 2164 2458 \n3 2164 442 1244 \n3 2458 1244 590 \n3 442 2163 1242 \n3 2163 61 1843 \n3 1242 1843 284 \n3 590 1243 2459 \n3 1243 284 1847 \n3 2459 1847 137 \n3 61 2161 1842 \n3 2161 441 1247 \n3 1842 1247 282 \n3 441 2160 1245 \n3 2160 28 2460 \n3 1245 2460 591 \n3 282 1246 1844 \n3 1246 591 2461 \n3 1844 2461 136 \n3 137 1846 2462 \n3 1846 283 1250 \n3 2462 1250 593 \n3 283 1845 1248 \n3 1845 136 2463 \n3 1248 2463 592 \n3 593 1249 2465 \n3 1249 592 2464 \n3 2465 2464 9 \n3 7 2453 2466 \n3 2453 587 1253 \n3 2466 1253 594 \n3 587 2452 1251 \n3 2452 134 1849 \n3 1251 1849 287 \n3 594 1252 2467 \n3 1252 287 1853 \n3 2467 1853 138 \n3 134 2451 1848 \n3 2451 586 1256 \n3 1848 1256 285 \n3 586 2450 1254 \n3 2450 27 2167 \n3 1254 2167 445 \n3 285 1255 1850 \n3 1255 445 2169 \n3 1850 2169 65 \n3 138 1852 2468 \n3 1852 286 1259 \n3 2468 1259 595 \n3 286 1851 1257 \n3 1851 65 2174 \n3 1257 2174 449 \n3 595 1258 2469 \n3 1258 449 2177 \n3 2469 2177 31 \n3 27 2447 2166 \n3 2447 584 1262 \n3 2166 1262 444 \n3 584 2446 1260 \n3 2446 132 1855 \n3 1260 1855 290 \n3 444 1261 2168 \n3 1261 290 1859 \n3 2168 1859 63 \n3 132 2444 1854 \n3 2444 582 1265 \n3 1854 1265 288 \n3 582 2442 1263 \n3 2442 6 2470 \n3 1263 2470 596 \n3 288 1264 1856 \n3 1264 596 2471 \n3 1856 2471 139 \n3 63 1858 2170 \n3 1858 289 1268 \n3 2170 1268 446 \n3 289 1857 1266 \n3 1857 139 2472 \n3 1266 2472 597 \n3 446 1267 2171 \n3 1267 597 2473 \n3 2171 2473 30 \n3 31 2176 2474 \n3 2176 448 1271 \n3 2474 1271 598 \n3 448 2175 1269 \n3 2175 64 1861 \n3 1269 1861 293 \n3 598 1270 2475 \n3 1270 293 1865 \n3 2475 1865 141 \n3 64 2173 1860 \n3 2173 447 1274 \n3 1860 1274 291 \n3 447 2172 1272 \n3 2172 30 2476 \n3 1272 2476 599 \n3 291 1273 1862 \n3 1273 599 2477 \n3 1862 2477 140 \n3 141 1864 2478 \n3 1864 292 1277 \n3 2478 1277 601 \n3 292 1863 1275 \n3 1863 140 2479 \n3 1275 2479 600 \n3 601 1276 2481 \n3 1276 600 2480 \n3 2481 2480 11 \n3 8 2482 2483 \n3 2482 602 1280 \n3 2483 1280 603 \n3 602 2484 1278 \n3 2484 142 1867 \n3 1278 1867 296 \n3 603 1279 2485 \n3 1279 296 1871 \n3 2485 1871 143 \n3 142 2486 1866 \n3 2486 604 1283 \n3 1866 1283 294 \n3 604 2487 1281 \n3 2487 32 2179 \n3 1281 2179 451 \n3 294 1282 1868 \n3 1282 451 2181 \n3 1868 2181 68 \n3 143 1870 2488 \n3 1870 295 1286 \n3 2488 1286 605 \n3 295 1869 1284 \n3 1869 68 2186 \n3 1284 2186 455 \n3 605 1285 2489 \n3 1285 455 2189 \n3 2489 2189 34 \n3 32 2490 2178 \n3 2490 606 1289 \n3 2178 1289 450 \n3 606 2491 1287 \n3 2491 144 1873 \n3 1287 1873 299 \n3 450 1288 2180 \n3 1288 299 1877 \n3 2180 1877 66 \n3 144 2492 1872 \n3 2492 607 1292 \n3 1872 1292 297 \n3 607 2493 1290 \n3 2493 9 2494 \n3 1290 2494 608 \n3 297 1291 1874 \n3 1291 608 2495 \n3 1874 2495 145 \n3 66 1876 2182 \n3 1876 298 1295 \n3 2182 1295 452 \n3 298 1875 1293 \n3 1875 145 2496 \n3 1293 2496 609 \n3 452 1294 2183 \n3 1294 609 2497 \n3 2183 2497 33 \n3 34 2188 2498 \n3 2188 454 1298 \n3 2498 1298 610 \n3 454 2187 1296 \n3 2187 67 1879 \n3 1296 1879 302 \n3 610 1297 2499 \n3 1297 302 1883 \n3 2499 1883 147 \n3 67 2185 1878 \n3 2185 453 1301 \n3 1878 1301 300 \n3 453 2184 1299 \n3 2184 33 2500 \n3 1299 2500 611 \n3 300 1300 1880 \n3 1300 611 2501 \n3 1880 2501 146 \n3 147 1882 2502 \n3 1882 301 1304 \n3 2502 1304 613 \n3 301 1881 1302 \n3 1881 146 2503 \n3 1302 2503 612 \n3 613 1303 2505 \n3 1303 612 2504 \n3 2505 2504 2 \n3 9 2493 2506 \n3 2493 607 1307 \n3 2506 1307 614 \n3 607 2492 1305 \n3 2492 144 1885 \n3 1305 1885 305 \n3 614 1306 2507 \n3 1306 305 1889 \n3 2507 1889 148 \n3 144 2491 1884 \n3 2491 606 1310 \n3 1884 1310 303 \n3 606 2490 1308 \n3 2490 32 2191 \n3 1308 2191 457 \n3 303 1309 1886 \n3 1309 457 2193 \n3 1886 2193 71 \n3 148 1888 2508 \n3 1888 304 1313 \n3 2508 1313 615 \n3 304 1887 1311 \n3 1887 71 2198 \n3 1311 2198 461 \n3 615 1312 2509 \n3 1312 461 2201 \n3 2509 2201 36 \n3 32 2487 2190 \n3 2487 604 1316 \n3 2190 1316 456 \n3 604 2486 1314 \n3 2486 142 1891 \n3 1314 1891 308 \n3 456 1315 2192 \n3 1315 308 1895 \n3 2192 1895 69 \n3 142 2484 1890 \n3 2484 602 1319 \n3 1890 1319 306 \n3 602 2482 1317 \n3 2482 8 2510 \n3 1317 2510 616 \n3 306 1318 1892 \n3 1318 616 2511 \n3 1892 2511 149 \n3 69 1894 2194 \n3 1894 307 1322 \n3 2194 1322 458 \n3 307 1893 1320 \n3 1893 149 2512 \n3 1320 2512 617 \n3 458 1321 2195 \n3 1321 617 2513 \n3 2195 2513 35 \n3 36 2200 2514 \n3 2200 460 1325 \n3 2514 1325 618 \n3 460 2199 1323 \n3 2199 70 1897 \n3 1323 1897 311 \n3 618 1324 2515 \n3 1324 311 1901 \n3 2515 1901 151 \n3 70 2197 1896 \n3 2197 459 1328 \n3 1896 1328 309 \n3 459 2196 1326 \n3 2196 35 2516 \n3 1326 2516 619 \n3 309 1327 1898 \n3 1327 619 2517 \n3 1898 2517 150 \n3 151 1900 2518 \n3 1900 310 1331 \n3 2518 1331 621 \n3 310 1899 1329 \n3 1899 150 2519 \n3 1329 2519 620 \n3 621 1330 2521 \n3 1330 620 2520 \n3 2521 2520 0 \n3 10 2522 2523 \n3 2522 622 1334 \n3 2523 1334 623 \n3 622 2524 1332 \n3 2524 152 1903 \n3 1332 1903 314 \n3 623 1333 2525 \n3 1333 314 1907 \n3 2525 1907 153 \n3 152 2526 1902 \n3 2526 624 1337 \n3 1902 1337 312 \n3 624 2527 1335 \n3 2527 37 2203 \n3 1335 2203 463 \n3 312 1336 1904 \n3 1336 463 2205 \n3 1904 2205 74 \n3 153 1906 2528 \n3 1906 313 1340 \n3 2528 1340 625 \n3 313 1905 1338 \n3 1905 74 2210 \n3 1338 2210 467 \n3 625 1339 2529 \n3 1339 467 2213 \n3 2529 2213 39 \n3 37 2530 2202 \n3 2530 626 1343 \n3 2202 1343 462 \n3 626 2531 1341 \n3 2531 154 1909 \n3 1341 1909 317 \n3 462 1342 2204 \n3 1342 317 1913 \n3 2204 1913 72 \n3 154 2532 1908 \n3 2532 627 1346 \n3 1908 1346 315 \n3 627 2533 1344 \n3 2533 11 2534 \n3 1344 2534 628 \n3 315 1345 1910 \n3 1345 628 2535 \n3 1910 2535 155 \n3 72 1912 2206 \n3 1912 316 1349 \n3 2206 1349 464 \n3 316 1911 1347 \n3 1911 155 2536 \n3 1347 2536 629 \n3 464 1348 2207 \n3 1348 629 2537 \n3 2207 2537 38 \n3 39 2212 2538 \n3 2212 466 1352 \n3 2538 1352 630 \n3 466 2211 1350 \n3 2211 73 1915 \n3 1350 1915 320 \n3 630 1351 2539 \n3 1351 320 1919 \n3 2539 1919 157 \n3 73 2209 1914 \n3 2209 465 1355 \n3 1914 1355 318 \n3 465 2208 1353 \n3 2208 38 2540 \n3 1353 2540 631 \n3 318 1354 1916 \n3 1354 631 2541 \n3 1916 2541 156 \n3 157 1918 2542 \n3 1918 319 1358 \n3 2542 1358 633 \n3 319 1917 1356 \n3 1917 156 2543 \n3 1356 2543 632 \n3 633 1357 2545 \n3 1357 632 2544 \n3 2545 2544 1 \n3 11 2533 2546 \n3 2533 627 1361 \n3 2546 1361 634 \n3 627 2532 1359 \n3 2532 154 1921 \n3 1359 1921 323 \n3 634 1360 2547 \n3 1360 323 1925 \n3 2547 1925 158 \n3 154 2531 1920 \n3 2531 626 1364 \n3 1920 1364 321 \n3 626 2530 1362 \n3 2530 37 2215 \n3 1362 2215 469 \n3 321 1363 1922 \n3 1363 469 2217 \n3 1922 2217 77 \n3 158 1924 2548 \n3 1924 322 1367 \n3 2548 1367 635 \n3 322 1923 1365 \n3 1923 77 2222 \n3 1365 2222 473 \n3 635 1366 2549 \n3 1366 473 2225 \n3 2549 2225 41 \n3 37 2527 2214 \n3 2527 624 1370 \n3 2214 1370 468 \n3 624 2526 1368 \n3 2526 152 1927 \n3 1368 1927 326 \n3 468 1369 2216 \n3 1369 326 1931 \n3 2216 1931 75 \n3 152 2524 1926 \n3 2524 622 1373 \n3 1926 1373 324 \n3 622 2522 1371 \n3 2522 10 2550 \n3 1371 2550 636 \n3 324 1372 1928 \n3 1372 636 2551 \n3 1928 2551 159 \n3 75 1930 2218 \n3 1930 325 1376 \n3 2218 1376 470 \n3 325 1929 1374 \n3 1929 159 2552 \n3 1374 2552 637 \n3 470 1375 2219 \n3 1375 637 2553 \n3 2219 2553 40 \n3 41 2224 2554 \n3 2224 472 1379 \n3 2554 1379 638 \n3 472 2223 1377 \n3 2223 76 1933 \n3 1377 1933 329 \n3 638 1378 2555 \n3 1378 329 1937 \n3 2555 1937 161 \n3 76 2221 1932 \n3 2221 471 1382 \n3 1932 1382 327 \n3 471 2220 1380 \n3 2220 40 2556 \n3 1380 2556 639 \n3 327 1381 1934 \n3 1381 639 2557 \n3 1934 2557 160 \n3 161 1936 2558 \n3 1936 328 1385 \n3 2558 1385 641 \n3 328 1935 1383 \n3 1935 160 2559 \n3 1383 2559 640 \n3 641 1384 2561 \n3 1384 640 2560 \n3 2561 2560 3 \n3 0 2520 2334 \n3 2520 620 1388 \n3 2334 1388 528 \n3 620 2519 1386 \n3 2519 150 1939 \n3 1386 1939 332 \n3 528 1387 2335 \n3 1387 332 1943 \n3 2335 1943 105 \n3 150 2517 1938 \n3 2517 619 1391 \n3 1938 1391 330 \n3 619 2516 1389 \n3 2516 35 2227 \n3 1389 2227 475 \n3 330 1390 1940 \n3 1390 475 2229 \n3 1940 2229 80 \n3 105 1942 2336 \n3 1942 331 1394 \n3 2336 1394 529 \n3 331 1941 1392 \n3 1941 80 2234 \n3 1392 2234 479 \n3 529 1393 2337 \n3 1393 479 2237 \n3 2337 2237 13 \n3 35 2513 2226 \n3 2513 617 1397 \n3 2226 1397 474 \n3 617 2512 1395 \n3 2512 149 1945 \n3 1395 1945 335 \n3 474 1396 2228 \n3 1396 335 1949 \n3 2228 1949 78 \n3 149 2511 1944 \n3 2511 616 1400 \n3 1944 1400 333 \n3 616 2510 1398 \n3 2510 8 2440 \n3 1398 2440 580 \n3 333 1399 1946 \n3 1399 580 2439 \n3 1946 2439 130 \n3 78 1948 2230 \n3 1948 334 1403 \n3 2230 1403 476 \n3 334 1947 1401 \n3 1947 130 2437 \n3 1401 2437 579 \n3 476 1402 2231 \n3 1402 579 2436 \n3 2231 2436 25 \n3 13 2236 2340 \n3 2236 478 1406 \n3 2340 1406 531 \n3 478 2235 1404 \n3 2235 79 1951 \n3 1404 1951 338 \n3 531 1405 2341 \n3 1405 338 1955 \n3 2341 1955 106 \n3 79 2233 1950 \n3 2233 477 1409 \n3 1950 1409 336 \n3 477 2232 1407 \n3 2232 25 2433 \n3 1407 2433 577 \n3 336 1408 1952 \n3 1408 577 2432 \n3 1952 2432 129 \n3 106 1954 2343 \n3 1954 337 1412 \n3 2343 1412 532 \n3 337 1953 1410 \n3 1953 129 2431 \n3 1410 2431 576 \n3 532 1411 2344 \n3 1411 576 2430 \n3 2344 2430 4 \n3 0 2346 2521 \n3 2346 534 1415 \n3 2521 1415 621 \n3 534 2347 1413 \n3 2347 108 1957 \n3 1413 1957 341 \n3 621 1414 2518 \n3 1414 341 1961 \n3 2518 1961 151 \n3 108 2348 1956 \n3 2348 535 1418 \n3 1956 1418 339 \n3 535 2349 1416 \n3 2349 16 2239 \n3 1416 2239 481 \n3 339 1417 1958 \n3 1417 481 2241 \n3 1958 2241 83 \n3 151 1960 2515 \n3 1960 340 1421 \n3 2515 1421 618 \n3 340 1959 1419 \n3 1959 83 2246 \n3 1419 2246 485 \n3 618 1420 2514 \n3 1420 485 2249 \n3 2514 2249 36 \n3 16 2354 2238 \n3 2354 538 1424 \n3 2238 1424 480 \n3 538 2355 1422 \n3 2355 111 1963 \n3 1422 1963 344 \n3 480 1423 2240 \n3 1423 344 1967 \n3 2240 1967 81 \n3 111 2358 1962 \n3 2358 541 1427 \n3 1962 1427 342 \n3 541 2361 1425 \n3 2361 6 2443 \n3 1425 2443 583 \n3 342 1426 1964 \n3 1426 583 2445 \n3 1964 2445 133 \n3 81 1966 2242 \n3 1966 343 1430 \n3 2242 1430 482 \n3 343 1965 1428 \n3 1965 133 2448 \n3 1428 2448 585 \n3 482 1429 2243 \n3 1429 585 2449 \n3 2243 2449 29 \n3 36 2248 2509 \n3 2248 484 1433 \n3 2509 1433 615 \n3 484 2247 1431 \n3 2247 82 1969 \n3 1431 1969 347 \n3 615 1432 2508 \n3 1432 347 1973 \n3 2508 1973 148 \n3 82 2245 1968 \n3 2245 483 1436 \n3 1968 1436 345 \n3 483 2244 1434 \n3 2244 29 2458 \n3 1434 2458 590 \n3 345 1435 1970 \n3 1435 590 2459 \n3 1970 2459 137 \n3 148 1972 2507 \n3 1972 346 1439 \n3 2507 1439 614 \n3 346 1971 1437 \n3 1971 137 2462 \n3 1437 2462 593 \n3 614 1438 2506 \n3 1438 593 2465 \n3 2506 2465 9 \n3 1 2323 2545 \n3 2323 523 1442 \n3 2545 1442 633 \n3 523 2325 1440 \n3 2325 103 1975 \n3 1440 1975 350 \n3 633 1441 2542 \n3 1441 350 1979 \n3 2542 1979 157 \n3 103 2328 1974 \n3 2328 525 1445 \n3 1974 1445 348 \n3 525 2329 1443 \n3 2329 14 2251 \n3 1443 2251 487 \n3 348 1444 1976 \n3 1444 487 2253 \n3 1976 2253 86 \n3 157 1978 2539 \n3 1978 349 1448 \n3 2539 1448 630 \n3 349 1977 1446 \n3 1977 86 2258 \n3 1446 2258 491 \n3 630 1447 2538 \n3 1447 491 2261 \n3 2538 2261 39 \n3 14 2338 2250 \n3 2338 530 1451 \n3 2250 1451 486 \n3 530 2339 1449 \n3 2339 107 1981 \n3 1449 1981 353 \n3 486 1450 2252 \n3 1450 353 1985 \n3 2252 1985 84 \n3 107 2342 1980 \n3 2342 533 1454 \n3 1980 1454 351 \n3 533 2345 1452 \n3 2345 4 2403 \n3 1452 2403 563 \n3 351 1453 1982 \n3 1453 563 2405 \n3 1982 2405 123 \n3 84 1984 2254 \n3 1984 352 1457 \n3 2254 1457 488 \n3 352 1983 1455 \n3 1983 123 2408 \n3 1455 2408 565 \n3 488 1456 2255 \n3 1456 565 2409 \n3 2255 2409 24 \n3 39 2260 2529 \n3 2260 490 1460 \n3 2529 1460 625 \n3 490 2259 1458 \n3 2259 85 1987 \n3 1458 1987 356 \n3 625 1459 2528 \n3 1459 356 1991 \n3 2528 1991 153 \n3 85 2257 1986 \n3 2257 489 1463 \n3 1986 1463 354 \n3 489 2256 1461 \n3 2256 24 2418 \n3 1461 2418 570 \n3 354 1462 1988 \n3 1462 570 2419 \n3 1988 2419 127 \n3 153 1990 2525 \n3 1990 355 1466 \n3 2525 1466 623 \n3 355 1989 1464 \n3 1989 127 2422 \n3 1464 2422 573 \n3 623 1465 2523 \n3 1465 573 2425 \n3 2523 2425 10 \n3 1 2544 2350 \n3 2544 632 1469 \n3 2350 1469 536 \n3 632 2543 1467 \n3 2543 156 1993 \n3 1467 1993 359 \n3 536 1468 2351 \n3 1468 359 1997 \n3 2351 1997 109 \n3 156 2541 1992 \n3 2541 631 1472 \n3 1992 1472 357 \n3 631 2540 1470 \n3 2540 38 2263 \n3 1470 2263 493 \n3 357 1471 1994 \n3 1471 493 2265 \n3 1994 2265 89 \n3 109 1996 2352 \n3 1996 358 1475 \n3 2352 1475 537 \n3 358 1995 1473 \n3 1995 89 2270 \n3 1473 2270 497 \n3 537 1474 2353 \n3 1474 497 2273 \n3 2353 2273 15 \n3 38 2537 2262 \n3 2537 629 1478 \n3 2262 1478 492 \n3 629 2536 1476 \n3 2536 155 1999 \n3 1476 1999 362 \n3 492 1477 2264 \n3 1477 362 2003 \n3 2264 2003 87 \n3 155 2535 1998 \n3 2535 628 1481 \n3 1998 1481 360 \n3 628 2534 1479 \n3 2534 11 2480 \n3 1479 2480 600 \n3 360 1480 2000 \n3 1480 600 2479 \n3 2000 2479 140 \n3 87 2002 2266 \n3 2002 361 1484 \n3 2266 1484 494 \n3 361 2001 1482 \n3 2001 140 2477 \n3 1482 2477 599 \n3 494 1483 2267 \n3 1483 599 2476 \n3 2267 2476 30 \n3 15 2272 2356 \n3 2272 496 1487 \n3 2356 1487 539 \n3 496 2271 1485 \n3 2271 88 2005 \n3 1485 2005 365 \n3 539 1486 2357 \n3 1486 365 2009 \n3 2357 2009 110 \n3 88 2269 2004 \n3 2269 495 1490 \n3 2004 1490 363 \n3 495 2268 1488 \n3 2268 30 2473 \n3 1488 2473 597 \n3 363 1489 2006 \n3 1489 597 2472 \n3 2006 2472 139 \n3 110 2008 2359 \n3 2008 364 1493 \n3 2359 1493 540 \n3 364 2007 1491 \n3 2007 139 2471 \n3 1491 2471 596 \n3 540 1492 2360 \n3 1492 596 2470 \n3 2360 2470 6 \n3 2 2363 2505 \n3 2363 543 1496 \n3 2505 1496 613 \n3 543 2365 1494 \n3 2365 113 2011 \n3 1494 2011 368 \n3 613 1495 2502 \n3 1495 368 2015 \n3 2502 2015 147 \n3 113 2368 2010 \n3 2368 545 1499 \n3 2010 1499 366 \n3 545 2369 1497 \n3 2369 19 2275 \n3 1497 2275 499 \n3 366 1498 2012 \n3 1498 499 2277 \n3 2012 2277 92 \n3 147 2014 2499 \n3 2014 367 1502 \n3 2499 1502 610 \n3 367 2013 1500 \n3 2013 92 2282 \n3 1500 2282 503 \n3 610 1501 2498 \n3 1501 503 2285 \n3 2498 2285 34 \n3 19 2378 2274 \n3 2378 550 1505 \n3 2274 1505 498 \n3 550 2379 1503 \n3 2379 117 2017 \n3 1503 2017 371 \n3 498 1504 2276 \n3 1504 371 2021 \n3 2276 2021 90 \n3 117 2382 2016 \n3 2382 553 1508 \n3 2016 1508 369 \n3 553 2385 1506 \n3 2385 5 2426 \n3 1506 2426 574 \n3 369 1507 2018 \n3 1507 574 2427 \n3 2018 2427 128 \n3 90 2020 2278 \n3 2020 370 1511 \n3 2278 1511 500 \n3 370 2019 1509 \n3 2019 128 2428 \n3 1509 2428 575 \n3 500 1510 2279 \n3 1510 575 2429 \n3 2279 2429 26 \n3 34 2284 2489 \n3 2284 502 1514 \n3 2489 1514 605 \n3 502 2283 1512 \n3 2283 91 2023 \n3 1512 2023 374 \n3 605 1513 2488 \n3 1513 374 2027 \n3 2488 2027 143 \n3 91 2281 2022 \n3 2281 501 1517 \n3 2022 1517 372 \n3 501 2280 1515 \n3 2280 26 2434 \n3 1515 2434 578 \n3 372 1516 2024 \n3 1516 578 2435 \n3 2024 2435 131 \n3 143 2026 2485 \n3 2026 373 1520 \n3 2485 1520 603 \n3 373 2025 1518 \n3 2025 131 2438 \n3 1518 2438 581 \n3 603 1519 2483 \n3 1519 581 2441 \n3 2483 2441 8 \n3 2 2504 2390 \n3 2504 612 1523 \n3 2390 1523 556 \n3 612 2503 1521 \n3 2503 146 2029 \n3 1521 2029 377 \n3 556 1522 2391 \n3 1522 377 2033 \n3 2391 2033 119 \n3 146 2501 2028 \n3 2501 611 1526 \n3 2028 1526 375 \n3 611 2500 1524 \n3 2500 33 2287 \n3 1524 2287 505 \n3 375 1525 2030 \n3 1525 505 2289 \n3 2030 2289 95 \n3 119 2032 2392 \n3 2032 376 1529 \n3 2392 1529 557 \n3 376 2031 1527 \n3 2031 95 2294 \n3 1527 2294 509 \n3 557 1528 2393 \n3 1528 509 2297 \n3 2393 2297 20 \n3 33 2497 2286 \n3 2497 609 1532 \n3 2286 1532 504 \n3 609 2496 1530 \n3 2496 145 2035 \n3 1530 2035 380 \n3 504 1531 2288 \n3 1531 380 2039 \n3 2288 2039 93 \n3 145 2495 2034 \n3 2495 608 1535 \n3 2034 1535 378 \n3 608 2494 1533 \n3 2494 9 2464 \n3 1533 2464 592 \n3 378 1534 2036 \n3 1534 592 2463 \n3 2036 2463 136 \n3 93 2038 2290 \n3 2038 379 1538 \n3 2290 1538 506 \n3 379 2037 1536 \n3 2037 136 2461 \n3 1536 2461 591 \n3 506 1537 2291 \n3 1537 591 2460 \n3 2291 2460 28 \n3 20 2296 2396 \n3 2296 508 1541 \n3 2396 1541 559 \n3 508 2295 1539 \n3 2295 94 2041 \n3 1539 2041 383 \n3 559 1540 2397 \n3 1540 383 2045 \n3 2397 2045 120 \n3 94 2293 2040 \n3 2293 507 1544 \n3 2040 1544 381 \n3 507 2292 1542 \n3 2292 28 2457 \n3 1542 2457 589 \n3 381 1543 2042 \n3 1543 589 2456 \n3 2042 2456 135 \n3 120 2044 2399 \n3 2044 382 1547 \n3 2399 1547 560 \n3 382 2043 1545 \n3 2043 135 2455 \n3 1545 2455 588 \n3 560 1546 2400 \n3 1546 588 2454 \n3 2400 2454 7 \n3 3 2560 2374 \n3 2560 640 1550 \n3 2374 1550 548 \n3 640 2559 1548 \n3 2559 160 2047 \n3 1548 2047 386 \n3 548 1549 2375 \n3 1549 386 2051 \n3 2375 2051 115 \n3 160 2557 2046 \n3 2557 639 1553 \n3 2046 1553 384 \n3 639 2556 1551 \n3 2556 40 2299 \n3 1551 2299 511 \n3 384 1552 2048 \n3 1552 511 2301 \n3 2048 2301 98 \n3 115 2050 2376 \n3 2050 385 1556 \n3 2376 1556 549 \n3 385 2049 1554 \n3 2049 98 2306 \n3 1554 2306 515 \n3 549 1555 2377 \n3 1555 515 2309 \n3 2377 2309 18 \n3 40 2553 2298 \n3 2553 637 1559 \n3 2298 1559 510 \n3 637 2552 1557 \n3 2552 159 2053 \n3 1557 2053 389 \n3 510 1558 2300 \n3 1558 389 2057 \n3 2300 2057 96 \n3 159 2551 2052 \n3 2551 636 1562 \n3 2052 1562 387 \n3 636 2550 1560 \n3 2550 10 2424 \n3 1560 2424 572 \n3 387 1561 2054 \n3 1561 572 2423 \n3 2054 2423 126 \n3 96 2056 2302 \n3 2056 388 1565 \n3 2302 1565 512 \n3 388 2055 1563 \n3 2055 126 2421 \n3 1563 2421 571 \n3 512 1564 2303 \n3 1564 571 2420 \n3 2303 2420 23 \n3 18 2308 2380 \n3 2308 514 1568 \n3 2380 1568 551 \n3 514 2307 1566 \n3 2307 97 2059 \n3 1566 2059 392 \n3 551 1567 2381 \n3 1567 392 2063 \n3 2381 2063 116 \n3 97 2305 2058 \n3 2305 513 1571 \n3 2058 1571 390 \n3 513 2304 1569 \n3 2304 23 2417 \n3 1569 2417 569 \n3 390 1570 2060 \n3 1570 569 2416 \n3 2060 2416 125 \n3 116 2062 2383 \n3 2062 391 1574 \n3 2383 1574 552 \n3 391 2061 1572 \n3 2061 125 2415 \n3 1572 2415 568 \n3 552 1573 2384 \n3 1573 568 2414 \n3 2384 2414 5 \n3 3 2386 2561 \n3 2386 554 1577 \n3 2561 1577 641 \n3 554 2387 1575 \n3 2387 118 2065 \n3 1575 2065 395 \n3 641 1576 2558 \n3 1576 395 2069 \n3 2558 2069 161 \n3 118 2388 2064 \n3 2388 555 1580 \n3 2064 1580 393 \n3 555 2389 1578 \n3 2389 21 2311 \n3 1578 2311 517 \n3 393 1579 2066 \n3 1579 517 2313 \n3 2066 2313 101 \n3 161 2068 2555 \n3 2068 394 1583 \n3 2555 1583 638 \n3 394 2067 1581 \n3 2067 101 2318 \n3 1581 2318 521 \n3 638 1582 2554 \n3 1582 521 2321 \n3 2554 2321 41 \n3 21 2394 2310 \n3 2394 558 1586 \n3 2310 1586 516 \n3 558 2395 1584 \n3 2395 121 2071 \n3 1584 2071 398 \n3 516 1585 2312 \n3 1585 398 2075 \n3 2312 2075 99 \n3 121 2398 2070 \n3 2398 561 1589 \n3 2070 1589 396 \n3 561 2401 1587 \n3 2401 7 2466 \n3 1587 2466 594 \n3 396 1588 2072 \n3 1588 594 2467 \n3 2072 2467 138 \n3 99 2074 2314 \n3 2074 397 1592 \n3 2314 1592 518 \n3 397 2073 1590 \n3 2073 138 2468 \n3 1590 2468 595 \n3 518 1591 2315 \n3 1591 595 2469 \n3 2315 2469 31 \n3 41 2320 2549 \n3 2320 520 1595 \n3 2549 1595 635 \n3 520 2319 1593 \n3 2319 100 2077 \n3 1593 2077 401 \n3 635 1594 2548 \n3 1594 401 2081 \n3 2548 2081 158 \n3 100 2317 2076 \n3 2317 519 1598 \n3 2076 1598 399 \n3 519 2316 1596 \n3 2316 31 2474 \n3 1596 2474 598 \n3 399 1597 2078 \n3 1597 598 2475 \n3 2078 2475 141 \n3 158 2080 2547 \n3 2080 400 1601 \n3 2547 1601 634 \n3 400 2079 1599 \n3 2079 141 2478 \n3 1599 2478 601 \n3 634 1600 2546 \n3 1600 601 2481 \n3 2546 2481 11 \n"
  },
  {
    "path": "data/teapot.ply",
    "content": "ply\nformat ascii 1.0\ncomment VCGLIB generated\nelement vertex 3241\nproperty float x\nproperty float y\nproperty float z\nproperty float nx\nproperty float ny\nproperty float nz\nelement face 6320\nproperty list uchar int vertex_indices\nend_header\n-3 1.8 0 -6.17582 0.135 -0.000757892 \n-2.9916 1.8 -0.081 -6.0036 0.135865 -1.36755 \n-2.9916 1.8 0.081 -6.00471 0.131945 1.36627 \n-2.98945 1.66616 0 -6.11953 -0.977769 -0.000254519 \n-2.985 1.92195 0 -5.87905 1.67113 -0.00332381 \n-2.98117 1.66784 -0.081 -5.94942 -0.95062 -1.37765 \n-2.98117 1.66784 0.081 -5.95001 -0.949003 1.37719 \n-2.97669 1.92024 -0.081 -5.70619 1.63728 -1.35968 \n-2.97669 1.92024 0.081 -5.7126 1.63237 1.35498 \n-2.9688 1.8 -0.144 -5.4129 0.131659 -2.88985 \n-2.9688 1.8 0.144 -5.41459 0.124514 2.88994 \n-2.95871 1.67241 -0.144 -5.36057 -0.854411 -2.91205 \n-2.95871 1.67241 0.144 -5.36152 -0.851613 2.91199 \n-2.9576 1.5348 0 -5.89217 -1.92498 -0.00146313 \n-2.95412 1.91561 -0.144 -5.13591 1.5097 -2.86387 \n-2.95412 1.91561 0.144 -5.14618 1.50005 2.86514 \n-2.94969 1.53779 -0.081 -5.72877 -1.86847 -1.3794 \n-2.94969 1.53779 0.081 -5.73137 -1.86574 1.37731 \n-2.94 2.0196 0 -5.01262 3.45452 -0.0057065 \n-2.9352 1.8 -0.189 -4.23922 0.114265 -4.41845 \n-2.9352 1.8 0.189 -4.24024 0.105681 4.41999 \n-2.93196 2.01653 0.081 -4.86697 3.37746 1.32999 \n-2.93196 2.01653 -0.081 -4.85903 3.37418 -1.33775 \n-2.92823 1.54591 -0.144 -5.16411 -1.67313 -2.91449 \n-2.92823 1.54591 0.144 -5.16836 -1.66815 2.91422 \n-2.92561 1.67913 -0.189 -4.18713 -0.663955 -4.44827 \n-2.92561 1.67913 0.189 -4.18802 -0.660684 4.44857 \n-2.92087 1.90878 -0.189 -4.0258 1.23057 -4.37473 \n-2.92087 1.90878 0.189 -4.03334 1.21695 4.38291 \n-2.91013 2.00818 -0.144 -4.36121 3.10035 -2.81797 \n-2.91013 2.00818 0.144 -4.37386 3.10473 2.81986 \n-2.90415 1.40614 0 -5.5417 -2.78991 -0.0030662 \n-2.89685 1.41014 0.081 -5.39861 -2.70472 1.35917 \n-2.89685 1.41014 -0.081 -5.39396 -2.70656 -1.36357 \n-2.8966 1.55787 -0.189 -4.03691 -1.29305 -4.45078 \n-2.8966 1.55787 0.189 -4.04028 -1.28702 4.45277 \n-2.8944 1.8 -0.216 -2.4101 0.0740616 -5.63547 \n-2.8944 1.8 0.216 -2.40885 0.0672457 5.6374 \n-2.88542 1.6873 -0.216 -2.36131 -0.370872 -5.6588 \n-2.88542 1.6873 0.216 -2.36138 -0.368379 5.65928 \n-2.88049 1.90049 -0.216 -2.31211 0.748392 -5.59687 \n-2.88049 1.90049 0.216 -2.30982 0.734019 5.60603 \n-2.87796 1.99588 -0.189 -3.40629 2.52537 -4.31693 \n-2.87796 1.99588 0.189 -3.41581 2.52377 4.33082 \n-2.87702 1.42098 -0.144 -4.88006 -2.42297 -2.88616 \n-2.87702 1.42098 0.144 -4.88758 -2.41934 2.88566 \n-2.865 2.09565 0 -3.70265 4.88711 -0.00597328 \n-2.8582 1.57239 0.216 -2.27793 -0.712986 5.66303 \n-2.8582 1.57239 -0.216 -2.27817 -0.717939 -5.66058 \n-2.85743 2.09151 -0.081 -3.59395 4.77456 -1.27543 \n-2.85743 2.09151 0.081 -3.59624 4.78312 1.26632 \n-2.85 1.8 -0.225 -0.089601 0.00423842 -6.15656 \n-2.85 1.8 0.225 -0.0864476 0.00358104 6.15667 \n-2.84781 1.43697 0.189 -3.84267 -1.86717 4.42776 \n-2.84781 1.43697 -0.189 -3.83696 -1.87273 -4.42343 \n-2.84168 1.69618 0.225 -0.057559 -0.0068542 6.15817 \n-2.84168 1.69618 -0.225 -0.0584155 -0.00698682 -6.15818 \n-2.83891 1.98095 -0.216 -1.94658 1.54412 -5.55553 \n-2.83891 1.98095 0.216 -1.944 1.52978 5.57196 \n-2.83689 2.08028 -0.144 -3.22992 4.39198 -2.70896 \n-2.83689 2.08028 0.144 -3.23391 4.40641 2.7076 \n-2.83655 1.89146 -0.225 -0.134178 0.0565566 -6.1549 \n-2.83655 1.89146 0.225 -0.12268 0.0494466 6.15573 \n-2.8288 1.2804 0 -5.10938 -3.5352 -0.00450812 \n-2.82233 1.28517 -0.081 -4.98471 -3.4332 -1.32512 \n-2.82233 1.28517 0.081 -4.99037 -3.43336 1.31844 \n-2.8164 1.5882 -0.225 -0.0532629 -0.0158485 -6.15821 \n-2.8164 1.5882 0.225 -0.0490779 -0.0145247 6.15822 \n-2.81233 1.45639 0.216 -2.17771 -1.03352 5.65302 \n-2.81233 1.45639 -0.216 -2.17904 -1.03978 -5.64769 \n-2.80662 2.06372 -0.189 -2.5217 3.58291 -4.20554 \n-2.80662 2.06372 0.189 -2.52524 3.59364 4.21575 \n-2.8056 1.8 -0.216 2.28621 -0.0906112 -5.75756 \n-2.8056 1.8 0.216 2.28883 -0.0821052 5.75561 \n-2.80475 1.29812 -0.144 -4.54273 -3.08639 -2.81835 \n-2.80475 1.29812 0.144 -4.55192 -3.08599 2.81746 \n-2.79793 1.70507 -0.216 2.28327 0.356216 -5.73858 \n-2.79793 1.70507 0.216 2.2845 0.353326 5.73795 \n-2.7964 1.9647 0.225 -0.0900881 0.113273 6.14715 \n-2.7964 1.9647 -0.225 -0.103993 0.133308 -6.14567 \n-2.79261 1.88244 -0.216 2.10794 -0.758294 -5.78925 \n-2.79261 1.88244 0.216 2.11937 -0.748048 5.78305 \n-2.77886 1.31721 -0.189 -3.61425 -2.40327 -4.35691 \n-2.77886 1.31721 0.189 -3.62096 -2.40054 4.3632 \n-2.77461 1.60401 0.216 2.22057 0.665988 5.73288 \n-2.77461 1.60401 -0.216 2.2156 0.670311 -5.73586 \n-2.77373 1.47752 0.225 -0.040256 -0.0214764 6.15447 \n-2.77373 1.47752 -0.225 -0.0487034 -0.0248917 -6.15441 \n-2.76985 2.04362 -0.216 -1.42454 2.18405 -5.49341 \n-2.76985 2.04362 0.216 -1.4233 2.17514 5.50958 \n-2.7648 1.8 -0.189 4.22267 -0.192057 -4.57153 \n-2.7648 1.8 0.189 4.22305 -0.176037 4.5704 \n-2.76 2.1528 0 -2.40595 5.70378 -0.00453492 \n-2.75774 1.71323 -0.189 4.1864 0.645215 -4.54934 \n-2.75774 1.71323 0.189 4.18737 0.640111 4.54869 \n-2.75389 1.94845 -0.216 1.75435 -1.50759 -5.75878 \n-2.75389 1.94845 0.216 1.76692 -1.51301 5.74735 \n-2.75312 2.14786 -0.081 -2.34317 5.58512 -1.19313 \n-2.75312 2.14786 0.081 -2.34048 5.59228 1.18502 \n-2.75223 1.87415 -0.189 3.91918 -1.52086 -4.59397 \n-2.75223 1.87415 0.189 3.92662 -1.49495 4.59416 \n-2.74742 1.34038 -0.216 -2.07924 -1.34504 -5.61455 \n-2.74742 1.34038 0.216 -2.07633 -1.33872 5.62277 \n-2.7362 1.61853 -0.189 4.06572 1.20085 -4.54376 \n-2.7362 1.61853 0.189 4.06872 1.19214 4.54084 \n-2.73512 1.49865 0.216 2.15058 0.952676 5.71442 \n-2.73512 1.49865 -0.216 2.14181 0.955514 -5.7205 \n-2.73446 2.13445 -0.144 -2.12036 5.16605 -2.56925 \n-2.73446 2.13445 0.144 -2.1161 5.17929 2.56504 \n-2.73125 1.15781 0 -4.63877 -4.14857 -0.00536009 \n-2.7312 1.8 -0.144 5.46824 -0.277383 -2.99661 \n-2.7312 1.8 0.144 5.46758 -0.260229 2.99849 \n-2.72985 2.02174 -0.225 -0.0391177 0.157383 -6.12461 \n-2.72985 2.02174 0.225 -0.0323653 0.129668 6.12555 \n-2.72583 1.16319 0.081 -4.54522 -4.0406 1.25866 \n-2.72583 1.16319 -0.081 -4.54001 -4.03821 -1.26706 \n-2.72464 1.71996 -0.144 5.41669 0.827074 -2.98403 \n-2.72464 1.71996 0.144 5.41722 0.821569 2.98405 \n-2.71898 1.86732 -0.144 5.04005 -2.07823 -2.98955 \n-2.71898 1.86732 0.144 5.04668 -2.05163 3.00158 \n-2.71483 1.93352 -0.189 3.16015 -2.95255 -4.48418 \n-2.71483 1.93352 0.189 3.16666 -2.9414 4.48298 \n-2.7132 1.3656 -0.225 -0.0438418 -0.0327631 -6.14536 \n-2.7132 1.3656 0.225 -0.0317725 -0.0262956 6.14546 \n-2.7111 1.1778 -0.144 -4.17877 -3.65901 -2.71476 \n-2.7111 1.1778 0.144 -4.18725 -3.66243 2.71333 \n-2.7084 1.8 -0.081 6.07568 -0.330628 -1.41074 \n-2.7084 1.8 0.081 6.07527 -0.320039 1.41523 \n-2.70695 2.1147 -0.189 -1.66804 4.24295 -4.07263 \n-2.70695 2.1147 0.189 -1.66458 4.2561 4.07625 \n-2.70457 1.63049 -0.144 5.26646 1.52109 -2.97691 \n-2.70457 1.63049 0.144 5.26718 1.5121 2.97737 \n-2.70217 1.72452 -0.081 6.02543 0.913385 -1.40787 \n-2.70217 1.72452 0.081 6.02564 0.910055 1.40869 \n-2.7 1.8 0 6.23754 -0.344939 0.00260794 \n-2.69964 1.51806 0.189 3.92997 1.68579 4.50286 \n-2.69964 1.51806 -0.189 3.92628 1.69419 -4.50818 \n-2.69641 1.86268 -0.081 5.55036 -2.3864 -1.39264 \n-2.69641 1.86268 0.081 5.5554 -2.37152 1.41122 \n-2.6939 1.7262 0 6.1929 0.935132 0.000535578 \n-2.68985 1.99986 -0.216 1.30366 -2.13001 -5.66644 \n-2.68985 1.99986 0.216 1.30767 -2.1477 5.65032 \n-2.6894 1.19932 -0.189 -3.37946 -2.88818 -4.25319 \n-2.6894 1.19932 0.189 -3.38558 -2.88918 4.26046 \n-2.6881 1.86098 0 5.67583 -2.47345 0.00964467 \n-2.68311 1.63861 -0.081 5.86314 1.66457 -1.40238 \n-2.68311 1.63861 0.081 5.8631 1.65904 1.4065 \n-2.68267 1.92122 -0.144 3.92842 -3.90518 -2.84705 \n-2.68267 1.92122 0.144 3.93222 -3.89375 2.8629 \n-2.67898 1.39082 -0.216 2.07309 1.2327 -5.68698 \n-2.67898 1.39082 0.216 2.08405 1.23302 5.6779 \n-2.6752 1.6416 0 6.02823 1.69833 0.00269999 \n-2.67355 2.09071 -0.216 -0.935511 2.57658 -5.43223 \n-2.67355 2.09071 0.216 -0.934089 2.57368 5.44336 \n-2.67043 1.53405 -0.144 5.07777 2.12349 -2.9369 \n-2.67043 1.53405 0.144 5.07758 2.11402 2.93818 \n-2.66305 1.22546 -0.216 -1.98 -1.64089 -5.56177 \n-2.66305 1.22546 0.216 -1.97567 -1.63532 5.5722 \n-2.66084 1.91287 0.081 4.22307 -4.37687 1.32609 \n-2.66084 1.91287 -0.081 4.22106 -4.3816 -1.30111 \n-2.65308 1.97976 -0.189 2.21346 -3.95861 -4.27649 \n-2.65308 1.97976 0.189 2.21194 -3.95871 4.26916 \n-2.6528 1.9098 0 4.27928 -4.51308 0.0136445 \n-2.6506 1.5449 0.081 5.64752 2.30089 1.38499 \n-2.6506 1.5449 -0.081 5.64837 2.30688 -1.37697 \n-2.64754 1.41399 -0.189 3.77994 2.16151 -4.43297 \n-2.64754 1.41399 0.189 3.78314 2.15483 4.4256 \n-2.6433 1.5489 0 5.80672 2.34778 0.0054232 \n-2.6372 2.0646 -0.225 0.00231822 0.126881 -6.10008 \n-2.6372 2.0646 0.225 0.00184297 0.102706 6.10001 \n-2.63438 1.25391 0.225 -0.0251742 -0.0291492 6.13047 \n-2.63438 1.25391 -0.225 -0.0398423 -0.0384912 -6.13033 \n-2.625 2.19375 0 -1.42842 6.06132 -0.00288076 \n-2.62281 1.9632 -0.144 2.63034 -5.01629 -2.63914 \n-2.62281 1.9632 0.144 2.62667 -5.01241 2.64811 \n-2.62164 1.43308 -0.144 4.85997 2.6788 -2.85474 \n-2.62164 1.43308 0.144 4.85817 2.67035 2.85719 \n-2.61905 2.18824 -0.081 -1.3957 5.94905 -1.1255 \n-2.61905 2.18824 0.081 -1.39214 5.95295 1.12013 \n-2.6112 1.0386 0 -4.16531 -4.63668 -0.00553559 \n-2.60703 1.0445 0.081 -4.09398 -4.53095 1.18994 \n-2.60703 1.0445 -0.081 -4.09042 -4.52707 -1.19874 \n-2.6057 1.28235 -0.216 2.00531 1.51596 -5.63387 \n-2.6057 1.28235 0.216 2.01665 1.51969 5.62226 \n-2.60407 1.44603 -0.081 5.38853 2.88987 -1.3271 \n-2.60407 1.44603 0.081 5.38653 2.88468 1.33882 \n-2.6029 2.17327 -0.144 -1.27324 5.53626 -2.45422 \n-2.6029 2.17327 0.144 -1.26711 5.54416 2.4501 \n-2.60227 1.95196 -0.081 2.75181 -5.48899 -1.18831 \n-2.60227 1.95196 0.081 2.7489 -5.48711 1.20786 \n-2.60085 2.03849 -0.216 0.870706 -2.53563 -5.55812 \n-2.60085 2.03849 0.216 0.86634 -2.55329 5.54233 \n-2.5976 1.4508 0 5.53456 2.93557 0.00768687 \n-2.59573 1.0605 -0.144 -3.80436 -4.14248 -2.59093 \n-2.59573 1.0605 0.144 -3.81034 -4.14882 2.58883 \n-2.5947 1.94782 0 2.76572 -5.61188 0.0115516 \n-2.57935 1.30849 -0.189 3.61997 2.62321 -4.31649 \n-2.57935 1.30849 0.189 3.62093 2.6194 4.30802 \n-2.5791 2.15123 -0.189 -1.01248 4.58472 -3.96621 \n-2.5791 2.15123 0.189 -1.00659 4.59383 3.9666 \n-2.57906 1.08409 -0.189 -3.13327 -3.32694 -4.12475 \n-2.57906 1.08409 0.189 -3.13738 -3.33138 4.13187 \n-2.56745 2.0145 -0.189 1.40178 -4.48466 -4.08856 \n-2.56745 2.0145 0.189 1.39517 -4.48686 4.07925 \n-2.55882 1.11273 0.216 -1.86975 -1.92388 5.50491 \n-2.55882 1.11273 -0.216 -1.87593 -1.92778 -5.49316 \n-2.55765 1.33001 -0.144 4.60623 3.20993 -2.73293 \n-2.55765 1.33001 0.144 4.60225 3.20371 2.73671 \n-2.5502 2.12445 -0.216 -0.567141 2.77944 -5.39202 \n-2.5502 2.12445 0.216 -0.564781 2.77934 5.39811 \n-2.54292 1.34462 0.081 5.07491 3.4344 1.27115 \n-2.54292 1.34462 -0.081 5.07789 3.43847 -1.25666 \n-2.53994 1.99475 -0.144 1.61342 -5.50981 -2.48188 \n-2.53994 1.99475 0.144 1.60733 -5.50716 2.48544 \n-2.5375 1.35 0 5.20745 3.48693 0.00919129 \n-2.5368 1.1439 0.225 -0.021429 -0.0299098 6.10987 \n-2.5368 1.1439 -0.225 -0.0375606 -0.0412044 -6.10969 \n-2.52128 1.98134 -0.081 1.66198 -5.93756 -1.11273 \n-2.52128 1.98134 0.081 1.65807 -5.93575 1.12512 \n-2.51875 2.09531 -0.225 0.0142113 0.0834202 -6.08094 \n-2.51875 2.09531 0.225 0.0113373 0.0679121 6.08045 \n-2.51478 1.17507 0.216 1.93566 1.81559 5.55021 \n-2.51478 1.17507 -0.216 1.92623 1.80887 -5.56338 \n-2.5144 1.9764 0 1.66289 -6.04508 0.0077675 \n-2.49454 1.20371 -0.189 3.4279 3.08273 -4.16903 \n-2.49454 1.20371 0.189 3.425 3.08178 4.16098 \n-2.4873 2.06617 -0.216 0.53265 -2.75114 -5.47521 \n-2.4873 2.06617 0.216 0.526139 -2.76277 5.46393 \n-2.47787 1.2273 -0.144 4.30179 3.72169 -2.58531 \n-2.47787 1.2273 0.144 4.29497 3.71869 2.5904 \n-2.46835 0.922987 0 -3.7123 -5.01687 -0.00502249 \n-2.46657 1.2433 0.081 4.70351 3.95877 1.18993 \n-2.46657 1.2433 -0.081 4.70787 3.96071 -1.17409 \n-2.46564 0.929375 -0.081 -3.65527 -4.91279 -1.13378 \n-2.46564 0.929375 0.081 -3.65687 -4.91705 1.12597 \n-2.4624 1.2492 0 4.81814 4.01125 0.00978422 \n-2.46 2.2212 0 -0.784589 6.19641 -0.0016165 \n-2.4584 2.0394 -0.189 0.829822 -4.71241 -3.97273 \n-2.4584 2.0394 0.189 0.822704 -4.71393 3.96533 \n-2.4583 0.946711 -0.144 -3.42926 -4.53939 -2.47073 \n-2.4583 0.946711 0.144 -3.43199 -4.54685 2.46834 \n-2.45523 2.2153 -0.081 -0.768294 6.091 -1.08506 \n-2.45523 2.2153 0.081 -0.765759 6.09275 1.08212 \n-2.44747 0.97226 0.189 -2.87182 -3.71711 3.99989 \n-2.44747 0.97226 -0.189 -2.87118 -3.71043 -3.99344 \n-2.44228 2.1993 -0.144 -0.705054 5.69114 -2.38555 \n-2.44228 2.1993 0.144 -0.700376 5.69495 2.38299 \n-2.4346 2.01735 -0.144 0.940281 -5.69682 -2.39811 \n-2.4346 2.01735 0.144 0.934488 -5.69484 2.39918 \n-2.43433 1.00328 -0.216 -1.75569 -2.19509 -5.41954 \n-2.43433 1.00328 0.216 -1.74714 -2.19319 5.43154 \n-2.42319 2.17571 -0.189 -0.565819 4.74068 -3.90471 \n-2.42319 2.17571 0.189 -0.560712 4.74536 3.90442 \n-2.42003 1.03704 -0.225 -0.0389855 -0.0414582 -6.08604 \n-2.42003 1.03704 0.225 -0.0223689 -0.0296624 6.08638 \n-2.41845 2.00239 -0.081 0.962422 -6.09747 -1.07616 \n-2.41845 2.00239 0.081 0.959157 -6.09594 1.08324 \n-2.4125 1.99688 0 0.961248 -6.19753 0.00475834 \n-2.40572 1.0708 -0.216 1.81598 2.09939 -5.48622 \n-2.40572 1.0708 0.216 1.82131 2.10741 5.4733 \n-2.40002 2.14707 -0.216 -0.317564 2.8709 -5.37375 \n-2.40002 2.14707 0.216 -0.315214 2.87121 5.3767 \n-2.39258 1.10183 -0.189 3.18124 3.52505 -4.01417 \n-2.39258 1.10183 0.189 3.17286 3.52671 4.00827 \n-2.38175 1.12738 -0.144 3.93226 4.20485 -2.43856 \n-2.38175 1.12738 0.144 3.92178 4.20519 2.44528 \n-2.3748 2.1159 -0.225 0.0120668 0.0485128 -6.06989 \n-2.3748 2.1159 0.225 0.00980899 0.0404943 6.06946 \n-2.37441 1.14471 0.081 4.264 4.45369 1.11073 \n-2.37441 1.14471 -0.081 4.2699 4.45334 -1.09564 \n-2.3717 1.1511 0 4.3604 4.5072 0.00934368 \n-2.34958 2.08473 -0.216 0.299112 -2.84955 -5.42613 \n-2.34958 2.08473 0.216 0.293912 -2.85578 5.41967 \n-2.32641 2.05609 -0.189 0.458856 -4.79826 -3.91622 \n-2.32641 2.05609 0.189 0.453248 -4.79898 3.9117 \n-2.30732 2.0325 -0.144 0.517178 -5.76039 -2.36299 \n-2.30732 2.0325 0.144 0.512619 -5.75915 2.36305 \n-2.3024 0.8112 0 -3.29183 -5.30932 -0.00377728 \n-2.30135 0.818122 0.081 -3.24523 -5.21525 1.0804 \n-2.30135 0.818122 -0.081 -3.24575 -5.2113 -1.0862 \n-2.29849 0.836909 0.144 -3.05831 -4.85856 2.38022 \n-2.29849 0.836909 -0.144 -3.05944 -4.85151 -2.38173 \n-2.29437 2.0165 -0.081 0.528388 -6.15035 -1.06306 \n-2.29437 2.0165 0.081 0.525786 -6.14931 1.06688 \n-2.29428 0.864595 0.189 -2.58351 -4.02704 3.89926 \n-2.29428 0.864595 -0.189 -2.58709 -4.02011 -3.89349 \n-2.2896 2.0106 0 0.527266 -6.24821 0.00266072 \n-2.28917 0.898214 0.216 -1.59481 -2.41766 5.37212 \n-2.28917 0.898214 -0.216 -1.60563 -2.41837 -5.36104 \n-2.2836 0.9348 0.225 -0.0292011 -0.0303958 6.06681 \n-2.2836 0.9348 -0.225 -0.0443956 -0.0412542 -6.06611 \n-2.27803 0.971386 0.216 1.65327 2.36261 5.41474 \n-2.27803 0.971386 -0.216 1.65396 2.35572 -5.42468 \n-2.27292 1.00501 0.189 2.84495 3.9196 3.89309 \n-2.27292 1.00501 -0.189 2.85969 3.91677 -3.89458 \n-2.26871 1.03269 -0.144 3.48799 4.63921 -2.332 \n-2.26871 1.03269 0.144 3.47356 4.64236 2.33981 \n-2.26585 1.05148 0.081 3.7531 4.90709 1.0543 \n-2.26585 1.05148 -0.081 3.76093 4.90475 -1.04146 \n-2.265 2.23785 0 -0.38739 6.24309 -0.000760471 \n-2.2648 1.0584 0 3.83203 4.96556 0.00749218 \n-2.26168 2.23172 -0.081 -0.37989 6.1413 -1.06742 \n-2.26168 2.23172 0.081 -0.378274 6.14203 1.06595 \n-2.25266 2.21508 -0.144 -0.349882 5.74962 -2.35575 \n-2.25266 2.21508 0.144 -0.346976 5.75114 2.35464 \n-2.23936 2.19056 -0.189 -0.28257 4.80242 -3.87971 \n-2.23936 2.19056 0.189 -0.279369 4.80435 3.87957 \n-2.22322 2.16079 -0.216 -0.159381 2.9035 -5.37096 \n-2.22322 2.16079 0.216 -0.157568 2.90355 5.37228 \n-2.20565 2.12839 0.225 0.00534647 0.0221514 6.06502 \n-2.20565 2.12839 -0.225 0.00638259 0.0255714 -6.06524 \n-2.18808 2.09599 -0.216 0.149659 -2.88743 -5.40234 \n-2.18808 2.09599 0.216 0.1464 -2.89021 5.39933 \n-2.17194 2.06621 -0.189 0.229034 -4.82364 -3.8946 \n-2.17194 2.06621 0.189 0.225199 -4.82394 3.89235 \n-2.15864 2.04169 -0.144 0.258224 -5.77746 -2.35307 \n-2.15864 2.04169 0.144 0.254875 -5.77677 2.35296 \n-2.14962 2.02505 -0.081 0.263832 -6.165 -1.06114 \n-2.14962 2.02505 0.081 0.261878 -6.16441 1.06301 \n-2.1463 2.01892 0 0.263088 -6.26308 0.00130158 \n-2.1411 0.9738 0 3.2366 5.3727 0.00434741 \n-2.14032 0.966231 0.081 3.17441 5.30247 1.0444 \n-2.14032 0.966231 -0.081 3.18408 5.29885 -1.03568 \n-2.13818 0.945685 0.144 2.95099 5.00127 2.32222 \n-2.13818 0.945685 -0.144 2.96849 4.9968 -2.31399 \n-2.13504 0.915407 0.189 2.43337 4.21098 3.87363 \n-2.13504 0.915407 -0.189 2.45266 4.20909 -3.86939 \n-2.13123 0.878641 0.216 1.41908 2.53121 5.40748 \n-2.13123 0.878641 -0.216 1.42676 2.52818 -5.41112 \n-2.12707 0.838631 0.225 -0.0416386 -0.0361486 6.06163 \n-2.12707 0.838631 -0.225 -0.0515432 -0.0436889 -6.06037 \n-2.12292 0.798621 0.216 -1.40523 -2.56252 5.35234 \n-2.12292 0.798621 -0.216 -1.41743 -2.56349 -5.34364 \n-2.11911 0.761855 0.189 -2.27144 -4.23723 3.87041 \n-2.11911 0.761855 -0.189 -2.27978 -4.23236 -3.86484 \n-2.11597 0.731578 0.144 -2.69344 -5.08467 2.35512 \n-2.11597 0.731578 -0.144 -2.6988 -5.07934 -2.35452 \n-2.11384 0.711032 0.081 -2.86403 -5.44027 1.06757 \n-2.11384 0.711032 -0.081 -2.8668 -5.43714 -1.07028 \n-2.11305 0.703463 0 -2.90867 -5.53251 -0.00197657 \n-2.04 2.2464 0 -0.158054 6.25789 -0.000293568 \n-2.03841 2.24015 -0.081 -0.155069 6.15756 -1.0628 \n-2.03841 2.24015 0.081 -0.154325 6.1578 1.06224 \n-2.03409 2.22319 -0.144 -0.143129 5.76817 -2.3492 \n-2.03409 2.22319 0.144 -0.141717 5.76864 2.34888 \n-2.02773 2.19819 -0.189 -0.116297 4.82014 -3.87748 \n-2.02773 2.19819 0.189 -0.114478 4.82073 3.8775 \n-2.02001 2.16783 0.216 -0.0652503 2.90812 5.37669 \n-2.02001 2.16783 -0.216 -0.0664655 2.90822 -5.37616 \n-2.0116 2.1348 0.225 0.00135294 0.0110001 6.06425 \n-2.0116 2.1348 -0.225 0.00161271 0.012188 -6.06431 \n-2.00319 2.10177 0.216 0.0597605 -2.899 5.39188 \n-2.00319 2.10177 -0.216 0.0613951 -2.89811 -5.39292 \n-2 0.9 0 -4.69326 2.74181 0.00128242 \n-1.9972 0.8916 0.081 1.50167 2.88908 0.586215 \n-1.9972 0.8916 -0.081 1.50711 2.88742 -0.583024 \n-1.99547 2.07141 -0.189 0.0950178 -4.82628 -3.88968 \n-1.99547 2.07141 0.189 0.0927727 -4.82633 3.88884 \n-1.99275 1.03718 -0 -6.21228 0.617765 -2.71201e-006 \n-1.9896 0.8688 0.144 1.39354 2.70689 1.32047 \n-1.9896 0.8688 -0.144 1.40322 2.70535 -1.3158 \n-1.98911 2.04641 0.144 0.105425 -5.77817 2.3534 \n-1.98911 2.04641 -0.144 0.107402 -5.77854 -2.35334 \n-1.986 0.771675 0 -6.05941 -1.30705 -1.05798e-006 \n-1.98479 2.02945 -0.081 0.109801 -6.16706 -1.06292 \n-1.98479 2.02945 0.081 0.108622 -6.16679 1.06368 \n-1.9832 2.0232 0 0.109359 -6.26594 0.000522681 \n-1.9784 0.8352 0.189 1.11164 2.18436 2.19604 \n-1.9784 0.8352 -0.189 1.12238 2.18493 -2.19194 \n-1.97424 0.9 -0.32816 -6.13856 -0.173 -0.974825 \n-1.97424 0.9 0.32816 -6.13856 -0.173022 0.974845 \n-1.972 1.1784 -0 -6.14304 1.14192 3.94881e-006 \n-1.96708 1.03718 -0.32697 -6.13486 0.618078 -0.974164 \n-1.96708 1.03718 0.32697 -6.13486 0.618112 0.974179 \n-1.9648 0.7944 0.216 0.553173 1.09844 2.95145 \n-1.9648 0.7944 -0.216 0.558813 1.09899 -2.95104 \n-1.96042 0.771675 -0.325863 -5.98355 -1.30761 -0.95025 \n-1.96042 0.771675 0.325863 -5.98355 -1.3076 0.950262 \n-1.95 0.75 -0.225 -0.179918 -0.361149 -3.03147 \n-1.95 0.75 0.225 -0.177004 -0.358652 3.03229 \n-1.948 0.6564 0 -5.70768 -2.46103 2.27243e-006 \n-1.9466 1.1784 -0.323566 -6.06642 1.1425 -0.963248 \n-1.9466 1.1784 0.323566 -6.06643 1.14246 0.963249 \n-1.93925 1.32323 0 -6.05373 1.56507 3.07709e-006 \n-1.9352 0.7056 0.216 -0.738063 -1.49933 2.43781 \n-1.9352 0.7056 -0.216 -0.744445 -1.50076 -2.43404 \n-1.92291 0.6564 -0.319628 -5.63598 -2.46199 -0.89497 \n-1.92291 0.6564 0.319628 -5.63599 -2.46198 0.894943 \n-1.9216 0.6648 0.189 -1.0452 -2.13576 1.69167 \n-1.9216 0.6648 -0.189 -1.05087 -2.13475 -1.68839 \n-1.91427 1.32323 -0.318192 -5.97818 1.56583 -0.949217 \n-1.91427 1.32323 0.318192 -5.97817 1.56587 0.949214 \n-1.9104 0.6312 0.144 -1.19898 -2.46084 1.03098 \n-1.9104 0.6312 -0.144 -1.20294 -2.45902 -1.02969 \n-1.9028 0.6084 0.081 -1.27386 -2.62108 0.475892 \n-1.9028 0.6084 -0.081 -1.27589 -2.61986 -0.476239 \n-1.9 0.6 0 -1.30255 -2.68072 -0.000470072 \n-1.89952 0.9 -0.63808 -5.90857 -0.173281 -1.92909 \n-1.89952 0.9 0.63808 -5.90856 -0.173273 1.9291 \n-1.896 1.4712 0 -5.96068 1.90085 5.36442e-007 \n-1.89263 1.03718 -0.635767 -5.905 0.618821 -1.92784 \n-1.89263 1.03718 0.635767 -5.90502 0.618784 1.92781 \n-1.892 0.553725 0 -5.24906 -3.36327 -7.75605e-006 \n-1.88622 0.771675 -0.633613 -5.75905 -1.30919 -1.88034 \n-1.88622 0.771675 0.633613 -5.75906 -1.30918 1.88032 \n-1.87293 1.1784 -0.629147 -5.83893 1.14382 -1.90626 \n-1.87293 1.1784 0.629147 -5.83893 1.14386 1.90623 \n-1.87158 1.4712 -0.311096 -5.8862 1.90181 -0.934559 \n-1.87158 1.4712 0.311096 -5.88621 1.90177 0.934567 \n-1.86763 0.553725 -0.310439 -5.1829 -3.36438 -0.822883 \n-1.86763 0.553725 0.310439 -5.18288 -3.36441 0.822891 \n-1.85013 0.6564 -0.62149 -5.42391 -2.46441 -1.77076 \n-1.85013 0.6564 0.62149 -5.4239 -2.46441 1.77079 \n-1.84375 1.62188 0 -5.87384 2.16281 -1.01328e-005 \n-1.84182 1.32323 -0.618698 -5.75382 1.56768 -1.87841 \n-1.84182 1.32323 0.618698 -5.75381 1.56767 1.87843 \n-1.824 0.4632 -0 -4.79065 -4.01299 -5.99027e-006 \n-1.82 1.62188 -0.302522 -5.80036 2.16391 -0.920938 \n-1.82 1.62188 0.302523 -5.80036 2.16391 0.920936 \n-1.8009 2.02478 0 0.0308554 -6.26539 0.000149094 \n-1.80075 1.4712 -0.6049 -5.66508 1.90392 -1.84941 \n-1.80075 1.4712 0.6049 -5.66509 1.9039 1.84939 \n-1.80051 0.4632 -0.299282 -4.72996 -4.01415 -0.750911 \n-1.80051 0.4632 0.299282 -4.72997 -4.01413 0.75094 \n-1.80045 2.03107 -0.081 0.0310967 -6.16569 -1.06506 \n-1.80045 2.03107 0.081 0.0306162 -6.1656 1.06532 \n-1.79925 2.04815 -0.144 0.0305688 -5.77553 -2.35634 \n-1.79925 2.04815 0.144 0.0296198 -5.77539 2.35641 \n-1.79747 2.07333 -0.189 0.0268789 -4.82278 -3.89033 \n-1.79747 2.07333 0.189 0.025876 -4.82269 3.89022 \n-1.79695 0.553725 -0.603624 -4.98694 -3.36735 -1.62799 \n-1.79695 0.553725 0.603624 -4.98693 -3.36737 1.62798 \n-1.7953 2.1039 -0.216 0.0167214 -2.89897 -5.38997 \n-1.7953 2.1039 0.216 0.0161324 -2.89908 5.38978 \n-1.79295 2.13716 -0.225 -0.000641926 0.00471498 -6.0649 \n-1.79295 2.13716 0.225 -0.000597739 0.00440316 6.0649 \n-1.7906 2.17043 -0.216 -0.0191253 2.90351 -5.3828 \n-1.7906 2.17043 0.216 -0.0186043 2.90341 5.38298 \n-1.78843 2.201 -0.189 -0.0321904 4.82165 -3.88364 \n-1.78843 2.201 0.189 -0.0315765 4.82171 3.88374 \n-1.78665 2.22617 -0.144 -0.0393638 5.7723 -2.35313 \n-1.78665 2.22617 0.144 -0.038766 5.77238 2.35311 \n-1.78544 2.24326 -0.081 -0.0426013 6.16218 -1.06447 \n-1.78544 2.24326 0.081 -0.0422438 6.16224 1.06432 \n-1.785 2.24955 0 -0.0433918 6.26244 -7.72346e-005 \n-1.784 1.7748 -0 -5.79895 2.36252 1.0483e-005 \n-1.77968 0.9 -0.92592 -5.53328 -0.173558 -2.83184 \n-1.77968 0.9 0.92592 -5.53331 -0.173543 2.83179 \n-1.77323 1.03718 -0.922564 -5.52983 0.619664 -2.82996 \n-1.77323 1.03718 0.922564 -5.52981 0.619657 2.82999 \n-1.76722 0.771675 -0.919439 -5.39303 -1.31063 -2.76002 \n-1.76722 0.771675 0.919439 -5.39303 -1.31064 2.76002 \n-1.76102 1.7748 -0.292719 -5.72637 2.36363 -0.909221 \n-1.76102 1.7748 0.292719 -5.72638 2.36363 0.909183 \n-1.75476 1.1784 -0.912957 -5.46788 1.14527 -2.79822 \n-1.75476 1.1784 0.912957 -5.46784 1.14531 2.79827 \n-1.75112 1.62188 -0.58823 -5.58226 2.16635 -1.82235 \n-1.75112 1.62188 0.58823 -5.58226 2.16636 1.82236 \n-1.75 0.384375 -0 -4.40231 -4.45132 1.86674e-005 \n-1.73341 0.6564 -0.901846 -5.07846 -2.467 -2.59892 \n-1.73341 0.6564 0.901846 -5.07845 -2.46702 2.59892 \n-1.73236 0.4632 -0.581929 -4.55045 -4.01722 -1.48545 \n-1.73236 0.4632 0.581929 -4.55047 -4.01721 1.48543 \n-1.72746 0.384375 -0.28714 -4.34627 -4.45253 -0.689993 \n-1.72746 0.384375 0.28714 -4.34628 -4.45253 0.689943 \n-1.72562 1.32323 -0.897795 -5.38793 1.56942 -2.75732 \n-1.72562 1.32323 0.897795 -5.38798 1.56935 2.75727 \n-1.71825 1.92953 -0 -5.73906 2.50922 -4.03821e-006 \n-1.69612 1.92953 -0.28193 -5.66715 2.51041 -0.89981 \n-1.69612 1.92953 0.28193 -5.66715 2.51042 0.899808 \n-1.69437 1.7748 -0.569167 -5.5109 2.36625 -1.79902 \n-1.69437 1.7748 0.569167 -5.51087 2.36627 1.79908 \n-1.68714 1.4712 -0.877772 -5.30463 1.90601 -2.7147 \n-1.68714 1.4712 0.877772 -5.30462 1.90609 2.71469 \n-1.68358 0.553725 -0.87592 -4.66858 -3.37037 -2.3891 \n-1.68358 0.553725 0.87592 -4.66859 -3.37034 2.38911 \n-1.676 0.3168 0 -4.12733 -4.71823 -8.67993e-007 \n-1.66208 0.384375 -0.55832 -4.18102 -4.45518 -1.36476 \n-1.66208 0.384375 0.55832 -4.181 -4.45518 1.36481 \n-1.65441 0.3168 -0.274998 -4.07475 -4.71934 -0.646836 \n-1.65441 0.3168 0.274998 -4.07473 -4.71935 0.646845 \n-1.648 2.0856 0 -5.69575 2.60972 3.56883e-006 \n-1.64064 1.62188 -0.853583 -5.22694 2.16867 -2.67485 \n-1.64064 1.62188 0.853583 -5.22692 2.16865 2.6749 \n-1.63192 1.92953 -0.54819 -5.45385 2.51307 -1.78036 \n-1.63192 1.92953 0.54819 -5.45383 2.51307 1.7804 \n-1.62677 2.0856 -0.270404 -5.6244 2.61091 -0.89299 \n-1.62677 2.0856 0.270404 -5.62438 2.61093 0.893013 \n-1.62307 0.4632 -0.844439 -4.25935 -4.02009 -2.1796 \n-1.62307 0.4632 0.844439 -4.25933 -4.02011 2.1796 \n-1.61856 0.9 -1.18784 -5.02455 -0.173489 -3.65983 \n-1.61856 0.9 1.18784 -5.02452 -0.173499 3.65988 \n-1.61269 1.03718 -1.18353 -5.02134 0.6201 -3.6575 \n-1.61269 1.03718 1.18353 -5.02134 0.620139 3.65749 \n-1.608 0.260025 -0 -4.01355 -4.82349 -9.45851e-006 \n-1.60723 0.771675 -1.17953 -4.89698 -1.31161 -3.56694 \n-1.60723 0.771675 1.17953 -4.89696 -1.31162 3.56696 \n-1.6 2.025 0 0.00355082 -3.20101 3.66047e-005 \n-1.5972 2.0313 -0.081 0.00365618 -3.1598 -0.5607 \n-1.5972 2.0313 0.081 0.00353458 -3.15978 0.560733 \n-1.5959 1.1784 -1.17121 -4.96496 1.14601 -3.61639 \n-1.5959 1.1784 1.17121 -4.96499 1.14599 3.61635 \n-1.5918 0.3168 -0.534711 -3.91931 -4.72196 -1.27934 \n-1.5918 0.3168 0.534711 -3.9193 -4.72197 1.27932 \n-1.5896 2.0484 -0.144 0.00358526 -2.96167 -1.25271 \n-1.5896 2.0484 0.144 0.00346307 -2.96166 1.25271 \n-1.58747 1.7748 -0.825921 -5.16001 2.36862 -2.64058 \n-1.58747 1.7748 0.825921 -5.16002 2.36862 2.64055 \n-1.58729 0.260025 0.263841 -3.96237 -4.82458 0.62903 \n-1.58729 0.260025 -0.263841 -3.96234 -4.8246 -0.629005 \n-1.5784 2.0736 -0.189 0.00308169 -2.43675 -2.0818 \n-1.5784 2.0736 0.189 0.00296405 -2.4367 2.08183 \n-1.57648 0.6564 -1.15696 -4.61087 -2.46883 -3.35851 \n-1.57648 0.6564 1.15696 -4.61087 -2.46882 3.35851 \n-1.57475 2.24257 0 -5.66987 2.66845 1.45435e-005 \n-1.5694 1.32323 -1.15176 -4.89224 1.57078 -3.56331 \n-1.5694 1.32323 1.15176 -4.89221 1.57075 3.56336 \n-1.5652 2.0856 -0.525778 -5.41263 2.61354 -1.76691 \n-1.5652 2.0856 0.525778 -5.41266 2.61351 1.76686 \n-1.5648 2.1042 -0.216 0.00179346 -1.34229 -2.84443 \n-1.5648 2.1042 0.216 0.00169811 -1.34227 2.84443 \n-1.55722 0.384375 -0.81018 -3.91297 -4.458 -2.00235 \n-1.55722 0.384375 0.81018 -3.91298 -4.45799 2.00233 \n-1.55447 2.24257 -0.258385 -5.59881 2.66967 -0.888867 \n-1.55447 2.24257 0.258385 -5.59883 2.66963 0.888859 \n-1.552 0.2136 0 -4.17508 -4.68858 2.63751e-006 \n-1.55 2.1375 -0.225 -0.000320825 0.212344 -3.03264 \n-1.55 2.1375 0.225 -0.000323368 0.212309 3.03265 \n-1.5352 2.1708 -0.216 -0.0023141 1.55723 -2.54316 \n-1.5352 2.1708 0.216 -0.00224277 1.55719 2.5432 \n-1.53439 1.4712 -1.12607 -4.8165 1.90755 -3.50824 \n-1.53439 1.4712 1.12607 -4.81649 1.90758 3.50824 \n-1.53201 0.2136 0.254652 -4.12186 -4.6899 0.654315 \n-1.53201 0.2136 -0.254652 -4.12186 -4.68989 -0.654348 \n-1.53116 0.553725 -1.1237 -4.23826 -3.37241 -3.08707 \n-1.53116 0.553725 1.1237 -4.23827 -3.3724 3.08706 \n-1.52897 1.92953 -0.795481 -5.10644 2.51552 -2.61314 \n-1.52897 1.92953 0.795481 -5.10649 2.5155 2.61308 \n-1.52721 0.260025 -0.513016 -3.81114 -4.8271 -1.24406 \n-1.52721 0.260025 0.513016 -3.81115 -4.82709 1.24405 \n-1.5216 2.2014 -0.189 -0.00365335 2.38403 -1.80734 \n-1.5216 2.2014 0.189 -0.00353772 2.38401 1.80739 \n-1.514 0.177075 0 -4.97208 -3.74943 -1.06543e-006 \n-1.5104 2.2266 -0.144 -0.00437687 2.81176 -1.10395 \n-1.5104 2.2266 0.144 -0.00431727 2.81177 1.10392 \n-1.5028 2.2437 -0.081 -0.00470651 3.0043 -0.505137 \n-1.5028 2.2437 0.081 -0.00467694 3.0043 0.505158 \n-1.5 0.15 0 -5.91768 -1.95569 -2.55331e-005 \n-1.5 2.25 0 -0.00480866 3.06321 -1.95876e-005 \n-1.5 2.4 0 -5.56514 2.85761 2.14577e-005 \n-1.49647 0.127575 -0 -5.59688 -2.25842 -1.93417e-005 \n-1.49564 2.24257 -0.502408 -5.38791 2.67237 -1.75884 \n-1.49564 2.24257 0.502408 -5.38791 2.67238 1.75881 \n-1.4945 0.177075 0.248417 -4.90944 -3.75122 0.779281 \n-1.4945 0.177075 -0.248417 -4.90945 -3.75121 -0.779268 \n-1.49211 1.62188 -1.09504 -4.74584 2.17003 -3.45681 \n-1.49211 1.62188 1.09504 -4.74588 2.17004 3.45674 \n-1.49137 0.3168 -0.775921 -3.66785 -4.72448 -1.87691 \n-1.49137 0.3168 0.775921 -3.66787 -4.72446 1.87692 \n-1.4808 0.1056 0 -4.16123 -4.45593 2.86922e-005 \n-1.48068 2.4 -0.24612 -5.49543 2.85851 -0.87253 \n-1.48068 0.15 0.24612 -5.8443 -1.95636 0.927597 \n-1.48068 2.4 0.24612 -5.49543 2.85853 0.872474 \n-1.48068 0.15 -0.24612 -5.8443 -1.95638 -0.927543 \n-1.48032 2.43544 0 -5.23749 3.38614 4.44055e-006 \n-1.4772 0.127575 0.245542 -5.52613 -2.25838 0.877758 \n-1.4772 0.127575 -0.245542 -5.52616 -2.25835 -0.877705 \n-1.47613 0.4632 -1.08331 -3.86634 -4.02211 -2.81612 \n-1.47613 0.4632 1.08331 -3.86635 -4.02211 2.81611 \n-1.47403 0.2136 0.49515 -3.96488 -4.69232 1.29426 \n-1.47403 0.2136 -0.49515 -3.96489 -4.69232 -1.29423 \n-1.46646 2.0856 -0.762958 -5.06769 2.61623 -2.59332 \n-1.46646 2.0856 0.762958 -5.0677 2.61623 2.59332 \n-1.46173 0.1056 -0.24297 -4.10812 -4.45667 -0.652156 \n-1.46173 0.1056 0.24297 -4.10813 -4.45665 0.652146 \n-1.46126 2.43544 -0.242892 -5.1713 3.38726 -0.821051 \n-1.46126 2.43544 0.242892 -5.17131 3.38726 0.821046 \n-1.4596 2.463 0 -4.67226 4.12514 -5.43892e-005 \n-1.44533 0.084525 0 -2.56685 -5.66867 8.65757e-006 \n-1.44376 1.7748 -1.05955 -4.68496 2.37029 -3.41233 \n-1.44376 1.7748 1.05955 -4.68495 2.37027 3.41236 \n-1.4408 2.463 -0.239491 -4.6125 4.12683 -0.732224 \n-1.4408 2.463 0.239491 -4.61249 4.12683 0.732313 \n-1.43903 2.48269 0 -3.82018 4.90887 -1.59293e-005 \n-1.43794 0.177075 0.483027 -4.72339 -3.75415 1.54172 \n-1.43794 0.177075 -0.483027 -4.72339 -3.75414 -1.54175 \n-1.43086 0.260025 0.74444 -3.56649 -4.8295 1.82503 \n-1.43086 0.260025 -0.74444 -3.56651 -4.82948 -1.82504 \n-1.42671 0.084525 -0.237149 -2.53394 -5.6691 -0.402089 \n-1.42671 0.084525 0.237149 -2.53395 -5.66909 0.402068 \n-1.42464 2.4 -0.47856 -5.28808 2.86164 -1.72629 \n-1.42464 0.15 -0.47856 -5.62447 -1.95885 -1.83576 \n-1.42464 0.15 0.47856 -5.62448 -1.95885 1.83573 \n-1.42464 2.4 0.47856 -5.28807 2.86164 1.72633 \n-1.42129 0.127575 0.477435 -5.31778 -2.26113 1.73643 \n-1.42129 0.127575 -0.477435 -5.31778 -2.26113 -1.73647 \n-1.42049 2.48269 -0.236115 -3.77139 4.9098 -0.598622 \n-1.42049 2.48269 0.236115 -3.77137 4.90982 0.598646 \n-1.42 0.9 -1.42 -4.39555 -0.173599 -4.39558 \n-1.42 0.9 1.42 -4.39558 -0.173599 4.39555 \n-1.4198 2.4945 0 -2.39993 5.69693 2.01911e-006 \n-1.41624 0.384375 -1.03936 -3.55164 -4.45987 -2.58688 \n-1.41624 0.384375 1.03936 -3.55166 -4.45987 2.58686 \n-1.41485 1.03718 -1.41485 -4.39273 0.620284 -4.39274 \n-1.41485 1.03718 1.41485 -4.39274 0.620284 4.39273 \n-1.41006 0.771675 -1.41006 -4.28392 -1.31207 -4.28395 \n-1.41006 0.771675 1.41006 -4.28395 -1.31207 4.28392 \n-1.4064 0.1056 -0.472434 -3.95176 -4.45959 -1.28998 \n-1.4064 0.1056 0.472434 -3.95179 -4.45957 1.28995 \n-1.40595 2.43544 -0.472283 -4.97591 3.39024 -1.62444 \n-1.40595 2.43544 0.472283 -4.9759 3.39026 1.62443 \n-1.40313 2.49844 0 0.114232 6.06627 -1.38711e-005 \n-1.40151 2.4945 -0.232961 -2.36938 5.69708 -0.375861 \n-1.40151 2.4945 0.232961 -2.3694 5.69708 0.375863 \n-1.40128 2.24257 -0.729046 -5.04451 2.67508 -2.5815 \n-1.40128 2.24257 0.729046 -5.04447 2.67513 2.58153 \n-1.40012 1.1784 -1.40012 -4.34337 1.14632 -4.34337 \n-1.40012 1.1784 1.40012 -4.34337 1.14632 4.34337 \n-1.4 2.4 0 2.8586 -1.13494 -6.143e-005 \n-1.39055 1.92953 -1.0205 -4.63623 2.51737 -3.37683 \n-1.39055 1.92953 1.0205 -4.63621 2.51736 3.37688 \n-1.3902 2.4945 0 3.4853 4.8525 6.94394e-006 \n-1.38627 2.463 -0.465671 -4.43762 4.12937 -1.44864 \n-1.38627 2.463 0.465671 -4.43764 4.12935 1.44859 \n-1.38593 2.43544 0 6.00671 -1.78761 -1.34259e-005 \n-1.38505 2.49844 -0.230225 0.112354 6.06654 0.0184162 \n-1.38505 2.49844 0.230225 0.112348 6.06655 -0.0184186 \n-1.38308 0.6564 -1.38308 -4.0335 -2.46948 -4.03351 \n-1.38308 0.6564 1.38308 -4.03351 -2.46948 4.0335 \n-1.3824 0.0648 -0 -1.52138 -6.07802 -1.58586e-005 \n-1.38223 2.48269 -0 5.77525 2.09108 -2.59876e-005 \n-1.38197 2.4 -0.229712 2.82189 -1.13596 0.448501 \n-1.38197 2.4 0.229712 2.82192 -1.13595 -0.448365 \n-1.38103 0.2136 0.718514 -3.71051 -4.69477 1.89877 \n-1.38103 0.2136 -0.718514 -3.71049 -4.69479 -1.89876 \n-1.3804 2.463 0 6.2342 -0.331064 1.27256e-005 \n-1.37687 1.32323 -1.37687 -4.27967 1.57113 -4.2797 \n-1.37687 1.32323 1.37687 -4.2797 1.57113 4.27967 \n-1.37271 0.084525 -0.461116 -2.43678 -5.67032 -0.795173 \n-1.37271 0.084525 0.461116 -2.43676 -5.67033 0.795168 \n-1.37229 2.4945 -0.228104 3.44064 4.85456 0.546445 \n-1.37229 2.4945 0.228104 3.44068 4.85452 -0.546433 \n-1.36807 2.43544 -0.227403 5.93196 -1.78857 0.941692 \n-1.36807 2.43544 0.227403 5.93197 -1.78857 -0.941634 \n-1.36673 2.48269 -0.459107 -3.62756 4.91204 -1.18405 \n-1.36673 2.48269 0.459107 -3.62757 4.91205 1.18403 \n-1.3646 0.0648 -0.226824 -1.50199 -6.07811 -0.238276 \n-1.3646 0.0648 0.226824 -1.50198 -6.07811 0.238286 \n-1.36442 2.48269 -0.226795 5.70349 2.09186 0.905141 \n-1.36442 2.48269 0.226795 5.70347 2.09193 -0.905079 \n-1.36262 2.463 -0.226496 6.15731 -0.331391 0.977256 \n-1.36262 2.463 0.226496 6.1573 -0.331439 -0.97732 \n-1.35635 0.3168 -0.99541 -3.32903 -4.72616 -2.42471 \n-1.35635 0.3168 0.99541 -3.32904 -4.72616 2.4247 \n-1.34847 2.4945 -0.452973 -2.27844 5.69827 -0.743385 \n-1.34847 2.4945 0.452973 -2.27843 5.69827 0.743389 \n-1.34722 0.177075 0.700921 -4.4215 -3.75638 2.26252 \n-1.34722 0.177075 -0.700921 -4.4215 -3.75639 -2.2625 \n-1.34616 1.4712 -1.34616 -4.21339 1.9081 -4.21337 \n-1.34616 1.4712 1.34616 -4.21337 1.9081 4.21339 \n-1.34332 0.553725 -1.34332 -3.70741 -3.3731 -3.7074 \n-1.34332 0.553725 1.34332 -3.7074 -3.3731 3.70741 \n-1.33476 2.4 -0.69444 -4.951 2.86433 -2.53362 \n-1.33476 0.15 0.69444 -5.26635 -1.96064 2.69467 \n-1.33476 2.4 0.69444 -4.95098 2.86432 2.53365 \n-1.33476 0.15 -0.69444 -5.26633 -1.96065 -2.6947 \n-1.33369 2.0856 -0.97878 -4.60098 2.61809 -3.35125 \n-1.33369 2.0856 0.97878 -4.60097 2.61809 3.35126 \n-1.33263 2.49844 -0.447653 0.108551 6.06696 0.0361618 \n-1.33263 2.49844 0.447653 0.108554 6.06696 -0.0361191 \n-1.33162 0.127575 0.692808 -4.97928 -2.26345 2.54842 \n-1.33162 0.127575 -0.692808 -4.97927 -2.26343 -2.54844 \n-1.32966 2.4 -0.446656 2.71614 -1.13637 0.887075 \n-1.32966 2.4 0.446656 2.7161 -1.13636 -0.887217 \n-1.32036 2.4945 -0.443529 3.30948 4.85708 1.08047 \n-1.32036 2.4945 0.443529 3.30949 4.85707 -1.0805 \n-1.31767 0.1056 -0.685551 -3.69877 -4.46215 -1.89265 \n-1.31767 0.1056 0.685551 -3.69874 -4.46215 1.89269 \n-1.31725 2.43544 -0.685331 -4.65817 3.39327 -2.38378 \n-1.31725 2.43544 0.685331 -4.6582 3.39323 2.38378 \n-1.3163 2.43544 -0.442166 5.70938 -1.79025 1.86352 \n-1.3163 2.43544 0.442166 5.70936 -1.79024 -1.86359 \n-1.31295 0.0648 0.441041 -1.44408 -6.07861 0.471196 \n-1.31295 0.0648 -0.441041 -1.44408 -6.07861 -0.471186 \n-1.31278 2.48269 -0.440985 5.48826 2.09462 1.79103 \n-1.31278 2.48269 0.440985 5.48824 2.09465 -1.79108 \n-1.31105 2.463 -0.440403 5.92648 -0.332694 1.93431 \n-1.31105 2.463 0.440403 5.92651 -0.332714 -1.93421 \n-1.30906 1.62188 -1.30906 -4.15159 2.17066 -4.15155 \n-1.30906 1.62188 1.30906 -4.15155 2.17066 4.15159 \n-1.30132 0.260025 0.955023 -3.23698 -4.83109 2.35765 \n-1.30132 0.260025 -0.955023 -3.23698 -4.83108 -2.35764 \n-1.3 2.4 0 -2.59101 1.61307 -3.64408e-005 \n-1.29881 2.463 -0.675736 -4.15342 4.13249 -2.12545 \n-1.29881 2.463 0.675736 -4.15341 4.13252 2.12543 \n-1.29504 0.4632 -1.29504 -3.38195 -4.02277 -3.38193 \n-1.29504 0.4632 1.29504 -3.38193 -4.02277 3.38195 \n-1.28611 0.084525 -0.669128 -2.27981 -5.67162 -1.16637 \n-1.28611 0.084525 0.669128 -2.2798 -5.67162 1.16641 \n-1.28437 0.046875 0 -0.923163 -6.20906 3.63402e-006 \n-1.28326 2.4 -0.213304 -2.55736 1.61355 -0.406509 \n-1.28326 2.4 0.213304 -2.55737 1.61353 0.406552 \n-1.2805 2.48269 -0.666211 -3.39447 4.91462 -1.73693 \n-1.2805 2.48269 0.666211 -3.39443 4.91464 1.73698 \n-1.2746 2.4408 0 -4.03183 4.40226 -3.90857e-005 \n-1.27441 2.24257 -0.935276 -4.57993 2.67682 -3.33598 \n-1.27441 2.24257 0.935276 -4.57994 2.67685 3.33595 \n-1.26783 0.046875 -0.21074 -0.91129 -6.20912 -0.144563 \n-1.26783 0.046875 0.21074 -0.911287 -6.20912 0.14455 \n-1.26664 1.7748 -1.26664 -4.09826 2.37081 -4.09828 \n-1.26664 1.7748 1.26664 -4.09828 2.37081 4.09826 \n-1.26339 2.4945 -0.657311 -2.13175 5.69962 -1.09057 \n-1.26339 2.4945 0.657311 -2.13176 5.69961 1.09059 \n-1.25818 2.4408 0.209136 -3.98063 4.40277 0.631913 \n-1.25818 2.4408 -0.209136 -3.98066 4.40275 -0.631867 \n-1.256 0.2136 0.921764 -3.36773 -4.69644 2.4529 \n-1.256 0.2136 -0.921764 -3.36773 -4.69643 -2.4529 \n-1.24856 2.49844 -0.649591 0.101347 6.0674 0.0524518 \n-1.24856 2.49844 0.649591 0.101333 6.0674 -0.052493 \n-1.24578 2.4 -0.648144 2.54301 -1.13839 1.30182 \n-1.24578 2.4 0.648144 2.54305 -1.13842 -1.30172 \n-1.2425 0.384375 -1.2425 -3.1066 -4.46046 -3.10658 \n-1.2425 0.384375 1.2425 -3.10658 -4.46046 3.1066 \n-1.23706 2.4945 -0.643607 3.09752 4.85798 1.58525 \n-1.23706 2.4945 0.643607 3.09748 4.85801 -1.58526 \n-1.23469 2.4 -0.414752 -2.46075 1.61499 -0.803908 \n-1.23469 2.4 0.414752 -2.46072 1.61502 0.803935 \n-1.23325 2.43544 -0.641628 5.34591 -1.79215 2.73562 \n-1.23325 2.43544 0.641628 5.34593 -1.79211 -2.7356 \n-1.23012 0.0648 -0.639996 -1.35074 -6.07913 -0.691043 \n-1.23012 0.0648 0.639996 -1.35074 -6.07913 0.691035 \n-1.22996 2.48269 -0.639915 5.1386 2.09589 2.6292 \n-1.22996 2.48269 0.639915 5.13863 2.09584 -2.6292 \n-1.22834 2.463 -0.63907 5.54981 -0.332266 2.8397 \n-1.22834 2.463 0.63907 5.5498 -0.332257 -2.83974 \n-1.22525 0.177075 0.899195 -4.0137 -3.75783 2.92337 \n-1.22525 0.177075 -0.899195 -4.0137 -3.75784 -2.92336 \n-1.21996 1.92953 1.21996 -4.05561 2.51792 4.05559 \n-1.21996 1.92953 -1.21996 -4.05559 2.51792 -4.05561 \n-1.21985 0.046875 -0.409767 -0.876135 -6.2093 -0.28586 \n-1.21985 0.046875 0.409767 -0.876125 -6.2093 0.285872 \n-1.21392 2.4 -0.89088 -4.49507 2.86589 -3.27414 \n-1.21392 0.15 -0.89088 -4.78156 -1.96107 -3.48255 \n-1.21392 0.15 0.89088 -4.78155 -1.96105 3.48257 \n-1.21392 2.4 0.89088 -4.49511 2.86587 3.27409 \n-1.21107 0.127575 0.888786 -4.52105 -2.2645 3.29309 \n-1.21107 0.127575 -0.888786 -4.52105 -2.26447 -3.2931 \n-1.21056 2.4408 0.406648 -3.82952 4.40503 1.25 \n-1.21056 2.4408 -0.406648 -3.82951 4.40506 -1.24996 \n-1.2048 2.4744 0 -2.20126 5.84279 5.87851e-006 \n-1.19838 0.1056 -0.879477 -3.35704 -4.46432 -2.44508 \n-1.19838 0.1056 0.879477 -3.35704 -4.46433 2.44504 \n-1.198 2.43544 -0.879195 -4.22873 3.39539 -3.08001 \n-1.198 2.43544 0.879195 -4.22869 3.3954 3.08004 \n-1.18996 0.3168 -1.18996 -2.91179 -4.72672 -2.91178 \n-1.18996 0.3168 1.18996 -2.91178 -4.72672 2.91179 \n-1.18928 2.4744 -0.197684 -2.17312 5.84304 -0.34479 \n-1.18928 2.4744 0.197684 -2.17312 5.84304 0.344793 \n-1.18784 0.9 -1.61856 -3.65988 -0.173499 -5.02452 \n-1.18784 0.9 1.61856 -3.65983 -0.173488 5.02455 \n-1.18353 1.03718 -1.61269 -3.65749 0.620139 -5.02134 \n-1.18353 1.03718 1.61269 -3.6575 0.6201 5.02134 \n-1.18122 2.463 -0.866886 -3.77003 4.13488 -2.74586 \n-1.18122 2.463 0.866886 -3.76998 4.13487 2.74594 \n-1.17953 0.771675 -1.60723 -3.56696 -1.31162 -4.89696 \n-1.17953 0.771675 1.60723 -3.56694 -1.31161 4.89698 \n-1.17121 1.1784 -1.5959 -3.61635 1.14599 -4.96499 \n-1.17121 1.1784 1.5959 -3.61639 1.14601 4.96496 \n-1.17008 2.0856 -1.17008 -4.02476 2.61873 -4.02475 \n-1.17008 2.0856 1.17008 -4.02475 2.61873 4.02476 \n-1.16967 0.084525 -0.858407 -2.06847 -5.67276 -1.50646 \n-1.16967 0.084525 0.858407 -2.06849 -5.67275 1.50646 \n-1.16457 2.48269 -0.854666 -3.08125 4.91591 -2.2442 \n-1.16457 2.48269 0.854666 -3.08129 4.91592 2.24414 \n-1.15696 0.6564 -1.57648 -3.35851 -2.46882 -4.61087 \n-1.15696 0.6564 1.57648 -3.35851 -2.46883 4.61087 \n-1.15679 2.4 -0.601848 -2.30415 1.6163 -1.17966 \n-1.15679 2.4 0.601848 -2.30414 1.61634 1.17962 \n-1.15176 1.32323 -1.5694 -3.56336 1.57075 -4.89221 \n-1.15176 1.32323 1.5694 -3.56331 1.57078 4.89224 \n-1.14902 2.4945 -0.843248 -1.93443 5.70029 -1.40875 \n-1.14902 2.4945 0.843248 -1.93447 5.70028 1.40872 \n-1.14427 2.4744 -0.384379 -2.08955 5.84402 -0.681839 \n-1.14427 2.4744 0.384379 -2.08956 5.84402 0.681818 \n-1.1436 0.0312 0 -0.567033 -6.25531 1.72108e-006 \n-1.14289 0.046875 -0.594614 -0.819441 -6.20949 -0.419232 \n-1.14289 0.046875 0.594614 -0.819445 -6.20949 0.419223 \n-1.14168 0.260025 1.14168 -2.83121 -4.83165 2.83121 \n-1.14168 0.260025 -1.14168 -2.83121 -4.83165 -2.83121 \n-1.13552 2.49844 -0.833344 0.0927535 6.06783 0.0679219 \n-1.13552 2.49844 0.833344 0.0927767 6.06783 -0.0679107 \n-1.13419 2.4408 0.590089 -3.58449 4.40727 1.83416 \n-1.13419 2.4408 -0.590089 -3.58445 4.40732 -1.83417 \n-1.13299 2.4 -0.831488 2.30932 -1.139 1.68227 \n-1.13299 2.4 0.831488 2.30931 -1.13898 -1.6823 \n-1.12887 0.0312 -0.187642 -0.559736 -6.25533 -0.0887893 \n-1.12887 0.0312 0.187642 -0.559736 -6.25533 0.088788 \n-1.12607 1.4712 -1.53439 -3.50824 1.90758 -4.81649 \n-1.12607 1.4712 1.53439 -3.50824 1.90755 4.8165 \n-1.12506 2.4945 -0.825668 2.81211 4.85773 2.04843 \n-1.12506 2.4945 0.825668 2.81213 4.85774 -2.04839 \n-1.1237 0.553725 -1.53116 -3.08706 -3.3724 -4.23827 \n-1.1237 0.553725 1.53116 -3.08707 -3.37241 4.23826 \n-1.1216 2.43544 -0.823129 4.85387 -1.79345 3.53533 \n-1.1216 2.43544 0.823129 4.85385 -1.7935 -3.53533 \n-1.11875 0.0648 -0.821035 -1.22551 -6.07949 -0.892524 \n-1.11875 0.0648 0.821035 -1.22551 -6.07949 0.892533 \n-1.11861 2.48269 -0.820931 4.66559 2.09683 3.39799 \n-1.11861 2.48269 0.820931 4.6656 2.0968 -3.398 \n-1.11807 2.24257 -1.11807 -4.00638 2.67748 -4.00636 \n-1.11807 2.24257 1.11807 -4.00636 2.67748 4.00638 \n-1.11713 2.463 -0.819847 5.03901 -0.332081 3.6701 \n-1.11713 2.463 0.819847 5.03899 -0.332037 -3.67013 \n-1.10192 0.2136 1.10192 -2.94559 -4.69704 2.94557 \n-1.10192 0.2136 -1.10192 -2.94557 -4.69704 -2.94559 \n-1.1002 2.5026 0 -1.41323 6.11377 3.60981e-006 \n-1.09504 1.62188 -1.49211 -3.45674 2.17004 -4.74588 \n-1.09504 1.62188 1.49211 -3.45681 2.17003 4.74584 \n-1.08615 0.0312 0.364854 -0.538108 -6.2554 0.175576 \n-1.08615 0.0312 -0.364854 -0.538107 -6.2554 -0.175574 \n-1.08603 2.5026 0.180521 -1.39505 6.1139 0.221344 \n-1.08603 2.5026 -0.180521 -1.39504 6.1139 -0.221345 \n-1.08331 0.4632 -1.47613 -2.81611 -4.02211 -3.86635 \n-1.08331 0.4632 1.47613 -2.81612 -4.02211 3.86634 \n-1.07494 0.177075 -1.07494 -3.51075 -3.7584 -3.51076 \n-1.07494 0.177075 1.07494 -3.51076 -3.7584 3.51075 \n-1.07208 2.4744 -0.557774 -1.95467 5.84508 -1.00002 \n-1.07208 2.4744 0.557774 -1.95466 5.84508 1.00003 \n-1.065 2.4 -1.065 -3.93206 2.86668 -3.93204 \n-1.065 0.15 -1.065 -4.18271 -1.96118 -4.18269 \n-1.065 0.15 1.065 -4.18269 -1.96118 4.18271 \n-1.065 2.4 1.065 -3.93204 2.86668 3.93206 \n-1.0625 0.127575 1.0625 -3.95505 -2.26465 3.95508 \n-1.0625 0.127575 -1.0625 -3.95508 -2.26465 -3.95505 \n-1.05955 1.7748 -1.44376 -3.41236 2.37027 -4.68495 \n-1.05955 1.7748 1.44376 -3.41233 2.37029 4.68496 \n-1.05206 2.4 -0.772096 -2.09217 1.61739 -1.5242 \n-1.05206 2.4 0.772096 -2.0922 1.61738 1.52418 \n-1.05137 0.1056 -1.05137 -2.93632 -4.46487 -2.93631 \n-1.05137 0.1056 1.05137 -2.93631 -4.46487 2.93632 \n-1.05103 2.43544 -1.05103 -3.69926 3.39566 -3.69932 \n-1.05103 2.43544 1.05103 -3.69932 3.39566 3.69926 \n-1.04493 2.5026 -0.351008 -1.34123 6.11431 -0.437681 \n-1.04493 2.5026 0.351008 -1.34123 6.11431 0.437673 \n-1.03942 0.046875 -0.762816 -0.743451 -6.20963 -0.541443 \n-1.03942 0.046875 0.762816 -0.743448 -6.20963 0.541445 \n-1.03936 0.384375 -1.41624 -2.58686 -4.45987 -3.55166 \n-1.03936 0.384375 1.41624 -2.58688 -4.45987 3.55164 \n-1.03632 2.463 -1.03632 -3.29779 4.13496 -3.29787 \n-1.03632 2.463 1.03632 -3.29787 4.13496 3.29779 \n-1.03151 2.4408 0.75701 -3.25367 4.40908 2.36975 \n-1.03151 2.4408 -0.75701 -3.25365 4.40908 -2.36979 \n-1.02618 0.084525 -1.02618 -1.80891 -5.67316 -1.80893 \n-1.02618 0.084525 1.02618 -1.80893 -5.67316 1.80891 \n-1.02171 2.48269 -1.02171 -2.69461 4.91687 -2.69456 \n-1.02171 2.48269 1.02171 -2.69456 4.91687 2.69461 \n-1.0205 1.92953 -1.39055 -3.37688 2.51736 -4.63621 \n-1.0205 1.92953 1.39055 -3.37683 2.51737 4.63623 \n-1.01762 0.0312 0.529441 -0.503285 -6.25548 0.257481 \n-1.01762 0.0312 -0.529441 -0.503281 -6.25548 -0.257482 \n-1.00806 2.4945 -1.00806 -1.69148 5.70091 -1.69145 \n-1.00806 2.4945 1.00806 -1.69145 5.70091 1.69148 \n-0.996219 2.49844 -0.996219 0.081324 6.06792 0.0813183 \n-0.996219 2.49844 0.996219 0.0813183 6.06792 -0.081324 \n-0.99541 0.3168 -1.35635 -2.4247 -4.72616 -3.32904 \n-0.99541 0.3168 1.35635 -2.42471 -4.72616 3.32903 \n-0.994 2.4 -0.994 2.02028 -1.13932 2.02029 \n-0.994 2.4 0.994 2.02029 -1.13932 -2.02028 \n-0.987042 2.4945 -0.987042 2.45961 4.85831 2.45959 \n-0.987042 2.4945 0.987042 2.45959 4.85831 -2.45961 \n-0.984007 2.43544 -0.984007 4.24598 -1.79403 4.24599 \n-0.984007 2.43544 0.984007 4.24599 -1.79403 -4.24598 \n-0.981504 0.0648 0.981504 -1.07172 -6.07963 1.07171 \n-0.981504 0.0648 -0.981504 -1.07171 -6.07963 -1.07172 \n-0.98138 2.48269 -0.98138 4.08096 2.09722 4.08095 \n-0.98138 2.48269 0.98138 4.08095 2.09722 -4.08096 \n-0.980084 2.463 -0.980084 4.40797 -0.332575 4.408 \n-0.980084 2.463 0.980084 4.408 -0.332575 -4.40797 \n-0.979002 2.5026 0.509349 -1.25452 6.11474 0.641867 \n-0.979002 2.5026 -0.509349 -1.25453 6.11474 -0.641866 \n-0.97878 2.0856 -1.33369 -3.35126 2.61809 -4.60097 \n-0.97878 2.0856 1.33369 -3.35125 2.61809 4.60098 \n-0.975021 2.4744 -0.715555 -1.77354 5.84582 -1.29165 \n-0.975021 2.4744 0.715555 -1.77354 5.84582 1.29166 \n-0.9704 2.5272 0 -1.07626 6.18808 -7.20844e-007 \n-0.957901 2.5272 -0.159223 -1.06234 6.18817 -0.168588 \n-0.957901 2.5272 0.159223 -1.06234 6.18817 0.168584 \n-0.955023 0.260025 1.30132 -2.35764 -4.83108 3.23698 \n-0.955023 0.260025 -1.30132 -2.35765 -4.83109 -3.23698 \n-0.952425 0.018225 -0 -0.340896 -6.273 -2.21189e-007 \n-0.940158 0.018225 0.156274 -0.336517 -6.27301 0.0533817 \n-0.940158 0.018225 -0.156274 -0.336516 -6.27301 -0.0533796 \n-0.935276 2.24257 -1.27441 -3.33595 2.67685 -4.57994 \n-0.935276 2.24257 1.27441 -3.33598 2.67682 4.57993 \n-0.92592 0.9 1.77968 -2.83184 -0.173558 5.53328 \n-0.92592 0.9 -1.77968 -2.83179 -0.173543 -5.53331 \n-0.925493 0.0312 0.679207 -0.456601 -6.25553 0.332531 \n-0.925493 0.0312 -0.679207 -0.456603 -6.25553 -0.332532 \n-0.923 2.4 -0.923 -1.83026 1.61795 -1.83023 \n-0.923 2.4 0.923 -1.83023 1.61795 1.83026 \n-0.922564 1.03718 1.77323 -2.82996 0.619664 5.52983 \n-0.922564 1.03718 -1.77323 -2.82999 0.619657 -5.52981 \n-0.921764 0.2136 1.256 -2.4529 -4.69643 3.36773 \n-0.921764 0.2136 -1.256 -2.4529 -4.69644 -3.36773 \n-0.921647 2.5272 -0.309596 -1.02131 6.1884 -0.333306 \n-0.921647 2.5272 0.309596 -1.02131 6.1884 0.333314 \n-0.919439 0.771675 -1.76722 -2.76002 -1.31064 -5.39303 \n-0.919439 0.771675 1.76722 -2.76002 -1.31063 5.39303 \n-0.912957 1.1784 -1.75476 -2.79827 1.14531 -5.46784 \n-0.912957 1.1784 1.75476 -2.79822 1.14527 5.46788 \n-0.911906 0.046875 -0.911906 -0.650153 -6.20967 -0.650153 \n-0.911906 0.046875 0.911906 -0.650153 -6.20967 0.650153 \n-0.904966 2.4408 0.904966 -2.84582 4.40995 2.84585 \n-0.904966 2.4408 -0.904966 -2.84585 4.40995 -2.84582 \n-0.904575 0.018225 0.303862 -0.323509 -6.27303 0.10555 \n-0.904575 0.018225 -0.303862 -0.323508 -6.27303 -0.105554 \n-0.901846 0.6564 -1.73341 -2.59892 -2.46702 -5.07845 \n-0.901846 0.6564 1.73341 -2.59892 -2.467 5.07846 \n-0.899195 0.177075 1.22525 -2.92336 -3.75784 4.0137 \n-0.899195 0.177075 -1.22525 -2.92337 -3.75783 -4.0137 \n-0.897795 1.32323 -1.72562 -2.75727 1.56935 -5.38798 \n-0.897795 1.32323 1.72562 -2.75732 1.56942 5.38793 \n-0.89088 0.15 -1.21392 -3.48257 -1.96105 -4.78155 \n-0.89088 0.15 1.21392 -3.48255 -1.96107 4.78156 \n-0.89088 2.4 -1.21392 -3.27409 2.86587 -4.49511 \n-0.89088 2.4 1.21392 -3.27414 2.86589 4.49507 \n-0.89037 2.5026 -0.653431 -1.13823 6.11503 -0.828973 \n-0.89037 2.5026 0.653431 -1.13823 6.11503 0.828974 \n-0.888786 0.127575 1.21107 -3.2931 -2.26447 4.52105 \n-0.888786 0.127575 -1.21107 -3.29309 -2.2645 -4.52105 \n-0.879477 0.1056 -1.19838 -2.44504 -4.46433 -3.35704 \n-0.879477 0.1056 1.19838 -2.44508 -4.46432 3.35704 \n-0.879195 2.43544 -1.198 -3.08004 3.3954 -4.22869 \n-0.879195 2.43544 1.198 -3.08001 3.39539 4.22873 \n-0.877772 1.4712 -1.68714 -2.71469 1.90609 -5.30462 \n-0.877772 1.4712 1.68714 -2.7147 1.90601 5.30463 \n-0.87592 0.553725 -1.68358 -2.38911 -3.37034 -4.66859 \n-0.87592 0.553725 1.68358 -2.3891 -3.37037 4.66858 \n-0.866886 2.463 -1.18122 -2.74594 4.13487 -3.76998 \n-0.866886 2.463 1.18122 -2.74586 4.13488 3.77003 \n-0.863501 2.5272 -0.449256 -0.955305 6.18863 -0.488793 \n-0.863501 2.5272 0.449256 -0.95531 6.18863 0.488791 \n-0.858407 0.084525 -1.16967 -1.50646 -5.67275 -2.06849 \n-0.858407 0.084525 1.16967 -1.50646 -5.67276 2.06847 \n-0.855408 2.4744 -0.855408 -1.55104 5.84608 -1.55104 \n-0.855408 2.4744 0.855408 -1.55104 5.84608 1.55104 \n-0.854666 2.48269 -1.16457 -2.24414 4.91592 -3.08129 \n-0.854666 2.48269 1.16457 -2.2442 4.91591 3.08125 \n-0.853583 1.62188 -1.64064 -2.6749 2.16865 -5.22692 \n-0.853583 1.62188 1.64064 -2.67485 2.16867 5.22694 \n-0.847506 0.018225 -0.440935 -0.302578 -6.27306 -0.154793 \n-0.847506 0.018225 0.440935 -0.302576 -6.27306 0.154794 \n-0.844439 0.4632 1.62307 -2.1796 -4.02009 4.25935 \n-0.844439 0.4632 -1.62307 -2.1796 -4.02011 -4.25933 \n-0.843248 2.4945 -1.14902 -1.40872 5.70028 -1.93447 \n-0.843248 2.4945 1.14902 -1.40875 5.70029 1.93443 \n-0.833344 2.49844 -1.13552 0.0679107 6.06783 0.0927767 \n-0.833344 2.49844 1.13552 0.0679219 6.06783 -0.0927535 \n-0.831488 2.4 -1.13299 1.6823 -1.13898 2.30931 \n-0.831488 2.4 1.13299 1.68227 -1.139 -2.30932 \n-0.825921 1.7748 1.58747 -2.64058 2.36862 5.16001 \n-0.825921 1.7748 -1.58747 -2.64055 2.36862 -5.16002 \n-0.825668 2.4945 -1.12506 2.04839 4.85774 2.81213 \n-0.825668 2.4945 1.12506 2.04843 4.85773 -2.81211 \n-0.825 2.55 0 -0.955352 6.2095 1.8999e-007 \n-0.823129 2.43544 -1.1216 3.53533 -1.7935 4.85385 \n-0.823129 2.43544 1.1216 3.53533 -1.79345 -4.85387 \n-0.821035 0.0648 1.11875 -0.892524 -6.07949 1.22551 \n-0.821035 0.0648 -1.11875 -0.892533 -6.07949 -1.22551 \n-0.820931 2.48269 1.11861 3.39799 2.09683 -4.66559 \n-0.820931 2.48269 -1.11861 3.398 2.0968 4.6656 \n-0.819847 2.463 -1.11713 3.67013 -0.332037 5.03899 \n-0.819847 2.463 1.11713 3.6701 -0.332081 -5.03901 \n-0.814374 2.55 -0.135366 -0.942961 6.20958 -0.149667 \n-0.814374 2.55 0.135366 -0.942962 6.20958 0.149667 \n-0.811956 0.0312 0.811956 -0.399298 -6.25555 0.399299 \n-0.811956 0.0312 -0.811956 -0.399299 -6.25555 -0.399298 \n-0.81018 0.384375 1.55722 -2.00235 -4.458 3.91297 \n-0.81018 0.384375 -1.55722 -2.00233 -4.45799 -3.91298 \n-0.795481 1.92953 1.52897 -2.61314 2.51552 5.10644 \n-0.795481 1.92953 -1.52897 -2.61308 2.5155 -5.10649 \n-0.785325 2.5272 -0.57634 -0.866747 6.18879 -0.631267 \n-0.785325 2.5272 0.57634 -0.866747 6.18879 0.631267 \n-0.783552 2.55 -0.263208 -0.906545 6.20976 -0.295885 \n-0.783552 2.55 0.263208 -0.906544 6.20976 0.295885 \n-0.781142 2.5026 -0.781142 -0.995415 6.11514 -0.995416 \n-0.781142 2.5026 0.781142 -0.995416 6.11514 0.995415 \n-0.775921 0.3168 -1.49137 -1.87692 -4.72446 -3.66787 \n-0.775921 0.3168 1.49137 -1.87691 -4.72448 3.66785 \n-0.772096 2.4 -1.05206 -1.52418 1.61738 -2.0922 \n-0.772096 2.4 1.05206 -1.5242 1.61739 2.09217 \n-0.770779 0.018225 0.565664 -0.274505 -6.27308 0.199913 \n-0.770779 0.018225 -0.565664 -0.274505 -6.27308 -0.199913 \n-0.762958 2.0856 -1.46646 -2.59332 2.61623 -5.0677 \n-0.762958 2.0856 1.46646 -2.59332 2.61623 5.06769 \n-0.762816 0.046875 -1.03942 -0.541445 -6.20963 -0.743448 \n-0.762816 0.046875 1.03942 -0.541443 -6.20963 0.743451 \n-0.75701 2.4408 1.03151 -2.36979 4.40908 3.25365 \n-0.75701 2.4408 -1.03151 -2.36975 4.40908 -3.25367 \n-0.74444 0.260025 1.43086 -1.82504 -4.82948 3.56651 \n-0.74444 0.260025 -1.43086 -1.82503 -4.8295 -3.56649 \n-0.734118 2.55 -0.381942 -0.847959 6.20994 -0.433888 \n-0.734118 2.55 0.381942 -0.847958 6.20994 0.433888 \n-0.729046 2.24257 -1.40128 -2.58153 2.67513 -5.04447 \n-0.729046 2.24257 1.40128 -2.5815 2.67508 5.04451 \n-0.718514 0.2136 1.38103 -1.89876 -4.69479 3.71049 \n-0.718514 0.2136 -1.38103 -1.89877 -4.69477 -3.71051 \n-0.715555 2.4744 -0.975021 -1.29166 5.84582 -1.77354 \n-0.715555 2.4744 0.975021 -1.29165 5.84582 1.77354 \n-0.7032 0.0084 0 -0.188909 -6.27993 1.80444e-008 \n-0.700921 0.177075 1.34722 -2.2625 -3.75639 4.4215 \n-0.700921 0.177075 -1.34722 -2.26252 -3.75638 -4.4215 \n-0.69444 0.15 -1.33476 -2.69467 -1.96064 -5.26635 \n-0.69444 0.15 1.33476 -2.6947 -1.96065 5.26633 \n-0.69444 2.4 1.33476 -2.53362 2.86433 4.951 \n-0.69444 2.4 -1.33476 -2.53365 2.86432 -4.95098 \n-0.694143 0.0084 -0.115381 -0.186489 -6.27993 -0.029578 \n-0.694143 0.0084 0.115381 -0.186489 -6.27993 0.0295781 \n-0.692808 0.127575 1.33162 -2.54844 -2.26343 4.97927 \n-0.692808 0.127575 -1.33162 -2.54842 -2.26345 -4.97928 \n-0.688984 2.5272 -0.688984 -0.758001 6.18885 -0.758002 \n-0.688984 2.5272 0.688984 -0.758002 6.18885 0.758001 \n-0.685551 0.1056 -1.31767 -1.89269 -4.46215 -3.69874 \n-0.685551 0.1056 1.31767 -1.89265 -4.46215 3.69877 \n-0.685331 2.43544 -1.31725 -2.38378 3.39323 -4.6582 \n-0.685331 2.43544 1.31725 -2.38378 3.39327 4.65817 \n-0.679207 0.0312 -0.925493 -0.332531 -6.25553 -0.456601 \n-0.679207 0.0312 0.925493 -0.332532 -6.25553 0.456603 \n-0.676222 0.018225 0.676222 -0.240052 -6.27309 0.240052 \n-0.676222 0.018225 -0.676222 -0.240052 -6.27309 -0.240052 \n-0.675736 2.463 -1.29881 -2.12543 4.13252 -4.15341 \n-0.675736 2.463 1.29881 -2.12545 4.13249 4.15342 \n-0.6736 2.5728 0 -0.981249 6.20581 1.77883e-007 \n-0.669128 0.084525 -1.28611 -1.16641 -5.67162 -2.2798 \n-0.669128 0.084525 1.28611 -1.16637 -5.67162 2.27981 \n-0.667871 0.0084 -0.224349 -0.179281 -6.27994 -0.0584894 \n-0.667871 0.0084 0.224349 -0.179281 -6.27994 0.0584896 \n-0.667656 2.55 -0.489984 -0.769361 6.21006 -0.560354 \n-0.667656 2.55 0.489984 -0.769362 6.21006 0.560353 \n-0.666211 2.48269 1.2805 -1.73693 4.91462 3.39447 \n-0.666211 2.48269 -1.2805 -1.73698 4.91464 -3.39443 \n-0.664924 2.5728 -0.110524 -0.968488 6.2059 -0.153744 \n-0.664924 2.5728 0.110524 -0.968487 6.2059 0.153744 \n-0.657311 2.4945 -1.26339 -1.09059 5.69961 -2.13176 \n-0.657311 2.4945 1.26339 -1.09057 5.69962 2.13175 \n-0.653431 2.5026 -0.89037 -0.828974 6.11503 -1.13823 \n-0.653431 2.5026 0.89037 -0.828973 6.11503 1.13823 \n-0.649591 2.49844 -1.24856 0.052493 6.0674 0.101333 \n-0.649591 2.49844 1.24856 0.0524518 6.0674 -0.101347 \n-0.648144 2.4 -1.24578 1.30172 -1.13842 2.54305 \n-0.648144 2.4 1.24578 1.30182 -1.13839 -2.54301 \n-0.643607 2.4945 -1.23706 1.58526 4.85801 3.09748 \n-0.643607 2.4945 1.23706 1.58525 4.85798 -3.09752 \n-0.641628 2.43544 -1.23325 2.7356 -1.79211 5.34593 \n-0.641628 2.43544 1.23325 2.73562 -1.79215 -5.34591 \n-0.639996 0.0648 -1.23012 -0.691035 -6.07913 -1.35074 \n-0.639996 0.0648 1.23012 -0.691043 -6.07913 1.35074 \n-0.639915 2.48269 1.22996 2.6292 2.09589 -5.1386 \n-0.639915 2.48269 -1.22996 2.62919 2.09584 5.13863 \n-0.639758 2.5728 -0.214905 -0.931088 6.20609 -0.303925 \n-0.639758 2.5728 0.214905 -0.931088 6.20609 0.303926 \n-0.63907 2.463 -1.22834 2.83974 -0.332257 5.5498 \n-0.63907 2.463 1.22834 2.8397 -0.332266 -5.54981 \n-0.63808 0.9 -1.89952 -1.9291 -0.173273 -5.90856 \n-0.63808 0.9 1.89952 -1.92909 -0.173281 5.90857 \n-0.635767 1.03718 -1.89263 -1.92781 0.618784 -5.90502 \n-0.635767 1.03718 1.89263 -1.92784 0.618821 5.905 \n-0.633613 0.771675 -1.88622 -1.88032 -1.30918 -5.75906 \n-0.633613 0.771675 1.88622 -1.88034 -1.30919 5.75905 \n-0.629147 1.1784 -1.87293 -1.90623 1.14386 -5.83893 \n-0.629147 1.1784 1.87293 -1.90626 1.14382 5.83893 \n-0.625735 0.0084 0.325553 -0.167676 -6.27995 0.0857747 \n-0.625735 0.0084 -0.325553 -0.167676 -6.27995 -0.085775 \n-0.62149 0.6564 -1.85013 -1.77079 -2.46441 -5.4239 \n-0.62149 0.6564 1.85013 -1.77076 -2.46441 5.42391 \n-0.618698 1.32323 -1.84182 -1.87843 1.56767 -5.75381 \n-0.618698 1.32323 1.84182 -1.87841 1.56768 5.75382 \n-0.6049 1.4712 -1.80075 -1.84939 1.9039 -5.66509 \n-0.6049 1.4712 1.80075 -1.84941 1.90392 5.66508 \n-0.603624 0.553725 -1.79695 -1.62798 -3.36737 -4.98693 \n-0.603624 0.553725 1.79695 -1.62799 -3.36735 4.98694 \n-0.601848 2.4 -1.15679 -1.17962 1.61634 -2.30414 \n-0.601848 2.4 1.15679 -1.17966 1.6163 2.30415 \n-0.599396 2.5728 -0.31185 -0.870932 6.20627 -0.445666 \n-0.599396 2.5728 0.31185 -0.870934 6.20627 0.445667 \n-0.594614 0.046875 -1.14289 -0.419223 -6.20949 -0.819445 \n-0.594614 0.046875 1.14289 -0.419232 -6.20949 0.819441 \n-0.590089 2.4408 1.13419 -1.83417 4.40732 3.58445 \n-0.590089 2.4408 -1.13419 -1.83416 4.40727 -3.58449 \n-0.58823 1.62188 -1.75112 -1.82236 2.16636 -5.58226 \n-0.58823 1.62188 1.75112 -1.82235 2.16635 5.58226 \n-0.58575 2.55 -0.58575 -0.672844 6.2101 -0.672843 \n-0.58575 2.55 0.58575 -0.672843 6.2101 0.672844 \n-0.581929 0.4632 -1.73236 -1.48543 -4.01721 -4.55047 \n-0.581929 0.4632 1.73236 -1.48545 -4.01722 4.55045 \n-0.57634 2.5272 -0.785325 -0.631267 6.18879 -0.866747 \n-0.57634 2.5272 0.785325 -0.631267 6.18879 0.866747 \n-0.569167 1.7748 -1.69437 -1.79908 2.36627 -5.51087 \n-0.569167 1.7748 1.69437 -1.79902 2.36625 5.5109 \n-0.569086 0.0084 -0.417645 -0.152117 -6.27996 -0.110778 \n-0.569086 0.0084 0.417645 -0.152116 -6.27996 0.110778 \n-0.565664 0.018225 0.770779 -0.199913 -6.27308 0.274505 \n-0.565664 0.018225 -0.770779 -0.199913 -6.27308 -0.274505 \n-0.55832 0.384375 -1.66208 -1.36481 -4.45518 -4.181 \n-0.55832 0.384375 1.66208 -1.36476 -4.45518 4.18102 \n-0.557774 2.4744 -1.07208 -1.00003 5.84508 -1.95466 \n-0.557774 2.4744 1.07208 -1.00002 5.84508 1.95467 \n-0.54819 1.92953 -1.63192 -1.7804 2.51307 -5.45383 \n-0.54819 1.92953 1.63192 -1.78036 2.51307 5.45385 \n-0.545131 2.5728 -0.400065 -0.790223 6.20639 -0.575561 \n-0.545131 2.5728 0.400065 -0.790222 6.20639 0.575561 \n-0.534711 0.3168 -1.5918 -1.27932 -4.72197 -3.9193 \n-0.534711 0.3168 1.5918 -1.27934 -4.72196 3.91931 \n-0.529441 0.0312 -1.01762 -0.257481 -6.25548 -0.503285 \n-0.529441 0.0312 1.01762 -0.257482 -6.25548 0.503281 \n-0.5258 2.5974 0 -1.15381 6.17551 -2.75671e-007 \n-0.525778 2.0856 -1.5652 -1.76686 2.61351 -5.41266 \n-0.525778 2.0856 1.5652 -1.76691 2.61354 5.41263 \n-0.519028 2.5974 0.086273 -1.13877 6.17566 0.1808 \n-0.519028 2.5974 -0.086273 -1.13877 6.17566 -0.180799 \n-0.513016 0.260025 -1.52721 -1.24405 -4.82709 -3.81115 \n-0.513016 0.260025 1.52721 -1.24406 -4.8271 3.81114 \n-0.509349 2.5026 0.979002 -0.641866 6.11474 1.25453 \n-0.509349 2.5026 -0.979002 -0.641867 6.11474 -1.25452 \n-0.502408 2.24257 -1.49564 -1.75881 2.67238 -5.38791 \n-0.502408 2.24257 1.49564 -1.75884 2.67237 5.38791 \n-0.499384 2.5974 -0.167751 -1.09481 6.17591 -0.357402 \n-0.499384 2.5974 0.167751 -1.09481 6.17591 0.3574 \n-0.499272 0.0084 -0.499272 -0.133022 -6.27996 -0.133022 \n-0.499272 0.0084 0.499272 -0.133022 -6.27996 0.133022 \n-0.49515 0.2136 -1.47403 -1.29426 -4.69232 -3.96488 \n-0.49515 0.2136 1.47403 -1.29422 -4.69232 3.96489 \n-0.489984 2.55 -0.667656 -0.560353 6.21006 -0.769362 \n-0.489984 2.55 0.667656 -0.560354 6.21006 0.769361 \n-0.483027 0.177075 -1.43794 -1.54172 -3.75415 -4.72339 \n-0.483027 0.177075 1.43794 -1.54175 -3.75414 4.72339 \n-0.47856 0.15 1.42464 -1.83576 -1.95885 5.62447 \n-0.47856 2.4 -1.42464 -1.72633 2.86164 -5.28807 \n-0.47856 0.15 -1.42464 -1.83573 -1.95885 -5.62448 \n-0.47856 2.4 1.42464 -1.72629 2.86164 5.28808 \n-0.478256 2.5728 -0.478256 -0.691099 6.20643 -0.6911 \n-0.478256 2.5728 0.478256 -0.6911 6.20643 0.691099 \n-0.477435 0.127575 1.42129 -1.73647 -2.26113 5.31778 \n-0.477435 0.127575 -1.42129 -1.73643 -2.26113 -5.31778 \n-0.472434 0.1056 1.4064 -1.28998 -4.45959 3.95176 \n-0.472434 0.1056 -1.4064 -1.28995 -4.45957 -3.95179 \n-0.472283 2.43544 -1.40595 -1.62443 3.39026 -4.9759 \n-0.472283 2.43544 1.40595 -1.62444 3.39024 4.97591 \n-0.467878 2.5974 -0.243424 -1.02411 6.17615 -0.524079 \n-0.467878 2.5974 0.243424 -1.02411 6.17615 0.524078 \n-0.465671 2.463 -1.38627 -1.44859 4.12935 -4.43764 \n-0.465671 2.463 1.38627 -1.44864 4.12937 4.43762 \n-0.461116 0.084525 1.37271 -0.795173 -5.67032 2.43678 \n-0.461116 0.084525 -1.37271 -0.795168 -5.67033 -2.43676 \n-0.459107 2.48269 -1.36673 -1.18403 4.91205 -3.62757 \n-0.459107 2.48269 1.36673 -1.18405 4.91204 3.62756 \n-0.452973 2.4945 -1.34847 -0.743389 5.69827 -2.27843 \n-0.452973 2.4945 1.34847 -0.743385 5.69827 2.27844 \n-0.449256 2.5272 -0.863501 -0.488791 6.18863 -0.95531 \n-0.449256 2.5272 0.863501 -0.488793 6.18863 0.955305 \n-0.447653 2.49844 -1.33263 0.0361191 6.06696 0.108554 \n-0.447653 2.49844 1.33263 0.0361616 6.06696 -0.108551 \n-0.446656 2.4 -1.32966 0.887217 -1.13636 2.7161 \n-0.446656 2.4 1.32966 0.887075 -1.13637 -2.71614 \n-0.443529 2.4945 -1.32036 1.0805 4.85707 3.30949 \n-0.443529 2.4945 1.32036 1.08047 4.85708 -3.30948 \n-0.442166 2.43544 -1.3163 1.86359 -1.79024 5.70936 \n-0.442166 2.43544 1.3163 1.86352 -1.79025 -5.70938 \n-0.441041 0.0648 1.31295 -0.471186 -6.07861 1.44408 \n-0.441041 0.0648 -1.31295 -0.471196 -6.07861 -1.44408 \n-0.440985 2.48269 -1.31278 1.79108 2.09465 5.48824 \n-0.440985 2.48269 1.31278 1.79103 2.09462 -5.48826 \n-0.440935 0.018225 0.847506 -0.154793 -6.27306 0.302578 \n-0.440935 0.018225 -0.847506 -0.154794 -6.27306 -0.302576 \n-0.440403 2.463 -1.31105 1.93421 -0.332714 5.92651 \n-0.440403 2.463 1.31105 1.93431 -0.332694 -5.92648 \n-0.425519 2.5974 0.312283 -0.929232 6.1763 0.676824 \n-0.425519 2.5974 -0.312283 -0.929232 6.1763 -0.676824 \n-0.417645 0.0084 -0.569086 -0.110778 -6.27996 -0.152116 \n-0.417645 0.0084 0.569086 -0.110778 -6.27996 0.152117 \n-0.414752 2.4 -1.23469 -0.803935 1.61502 -2.46072 \n-0.414752 2.4 1.23469 -0.803908 1.61499 2.46075 \n-0.409767 0.046875 1.21985 -0.28586 -6.2093 0.876135 \n-0.409767 0.046875 -1.21985 -0.285872 -6.2093 -0.876125 \n-0.406648 2.4408 -1.21056 -1.25 4.40503 -3.82952 \n-0.406648 2.4408 1.21056 -1.24996 4.40506 3.82951 \n-0.400065 2.5728 -0.545131 -0.575561 6.20639 -0.790223 \n-0.400065 2.5728 0.545131 -0.575561 6.20639 0.790223 \n-0.3912 2.6256 0 -1.53637 6.08874 -1.28988e-006 \n-0.388275 0.002175 -0 -0.0819025 -6.28246 2.9162e-008 \n-0.386161 2.6256 -0.064188 -1.51634 6.08901 -0.240775 \n-0.386161 2.6256 0.064188 -1.51633 6.08901 0.240777 \n-0.384379 2.4744 -1.14427 -0.681818 5.84402 -2.08956 \n-0.384379 2.4744 1.14427 -0.681839 5.84402 2.08955 \n-0.383274 0.002175 -0.063708 -0.0808629 -6.28246 -0.0128187 \n-0.383274 0.002175 0.063708 -0.0808629 -6.28246 0.0128186 \n-0.381942 2.55 -0.734118 -0.433888 6.20994 -0.847958 \n-0.381942 2.55 0.734118 -0.433888 6.20994 0.847959 \n-0.373318 2.5974 -0.373318 -0.812685 6.17636 -0.812685 \n-0.373318 2.5974 0.373318 -0.812685 6.17636 0.812685 \n-0.371546 2.6256 -0.124808 -1.45785 6.08946 -0.475949 \n-0.371546 2.6256 0.124808 -1.45785 6.08946 0.475947 \n-0.368768 0.002175 -0.123875 -0.0777374 -6.28246 -0.0253528 \n-0.368768 0.002175 0.123875 -0.0777373 -6.28246 0.0253527 \n-0.364854 0.0312 1.08615 -0.175574 -6.2554 0.538107 \n-0.364854 0.0312 -1.08615 -0.175576 -6.2554 -0.538108 \n-0.3584 3.0348 0 -5.72167 -1.6021 2.93367e-005 \n-0.3582 3.08115 0 -4.92192 2.43833 1.33142e-005 \n-0.353807 3.0348 -0.059016 -5.64984 -1.60246 -0.891302 \n-0.353807 3.0348 0.059016 -5.6498 -1.60247 0.891333 \n-0.35361 3.08115 -0.058988 -4.85963 2.43752 -0.766644 \n-0.35361 3.08115 0.058988 -4.85961 2.43748 0.766666 \n-0.351008 2.5026 -1.04493 -0.437673 6.11431 -1.34123 \n-0.351008 2.5026 1.04493 -0.437681 6.11431 1.34123 \n-0.348105 2.6256 -0.18111 -1.36377 6.08987 -0.697921 \n-0.348105 2.6256 0.18111 -1.36377 6.08986 0.697924 \n-0.345503 0.002175 -0.179756 -0.0727012 -6.28247 -0.0371838 \n-0.345503 0.002175 0.179756 -0.0727012 -6.28247 0.0371841 \n-0.340477 3.0348 -0.114676 -5.4384 -1.60444 -1.76661 \n-0.340477 3.0348 0.114676 -5.43836 -1.60445 1.76658 \n-0.340289 3.08115 -0.114619 -4.67704 2.43836 -1.51928 \n-0.340289 3.08115 0.114619 -4.67702 2.43832 1.51927 \n-0.32816 0.9 -1.97424 -0.974845 -0.173022 -6.13856 \n-0.32816 0.9 1.97424 -0.974825 -0.173 6.13856 \n-0.32697 1.03718 -1.96708 -0.974179 0.618112 -6.13486 \n-0.32697 1.03718 1.96708 -0.974164 0.618078 6.13486 \n-0.325863 0.771675 -1.96042 -0.950262 -1.3076 -5.98355 \n-0.325863 0.771675 1.96042 -0.95025 -1.30761 5.98355 \n-0.325553 0.0084 -0.625735 -0.0857747 -6.27995 -0.167676 \n-0.325553 0.0084 0.625735 -0.085775 -6.27995 0.167676 \n-0.325 2.98125 0 -5.0005 -3.71335 3.65227e-005 \n-0.323566 1.1784 -1.9466 -0.963249 1.14246 -6.06643 \n-0.323566 1.1784 1.9466 -0.963248 1.1425 6.06642 \n-0.320834 2.98125 -0.053508 -4.93767 -3.71482 -0.77862 \n-0.320834 2.98125 0.053508 -4.93764 -3.71482 0.778668 \n-0.319628 0.6564 -1.92291 -0.894943 -2.46198 -5.63599 \n-0.319628 0.6564 1.92291 -0.89497 -2.46199 5.63598 \n-0.319082 3.0348 -0.166306 -5.0929 -1.60663 -2.59759 \n-0.319082 3.0348 0.166306 -5.09286 -1.60664 2.59757 \n-0.318907 3.08115 -0.166221 -4.37934 2.43976 -2.23363 \n-0.318907 3.08115 0.166221 -4.37933 2.43972 2.23361 \n-0.318192 1.32323 -1.91427 -0.949214 1.56587 -5.97817 \n-0.318192 1.32323 1.91427 -0.949218 1.56583 5.97818 \n-0.31659 2.6256 -0.232342 -1.23747 6.09013 -0.901353 \n-0.31659 2.6256 0.232342 -1.23747 6.09013 0.901352 \n-0.314223 0.002175 -0.230604 -0.0659489 -6.28247 -0.0480241 \n-0.314223 0.002175 0.230604 -0.0659492 -6.28247 0.0480241 \n-0.312283 2.5974 -0.425519 -0.676824 6.1763 -0.929232 \n-0.312283 2.5974 0.425519 -0.676824 6.1763 0.929232 \n-0.31185 2.5728 -0.599396 -0.445667 6.20627 -0.870934 \n-0.31185 2.5728 0.599396 -0.445666 6.20627 0.870932 \n-0.311096 1.4712 -1.87158 -0.934567 1.90177 -5.88621 \n-0.311096 1.4712 1.87158 -0.934559 1.90181 5.8862 \n-0.310439 0.553725 -1.86763 -0.822891 -3.36441 -5.18288 \n-0.310439 0.553725 1.86763 -0.822883 -3.36438 5.1829 \n-0.309596 2.5272 -0.921647 -0.333314 6.1884 -1.02131 \n-0.309596 2.5272 0.921647 -0.333306 6.1884 1.02131 \n-0.3088 3.1176 0 -2.54844 5.55172 2.5332e-006 \n-0.308744 2.98125 -0.103976 -4.75135 -3.71876 -1.54304 \n-0.308744 2.98125 0.103976 -4.7513 -3.71877 1.54303 \n-0.304843 3.1176 -0.050855 -2.51654 5.55184 -0.396158 \n-0.304843 3.1176 0.050855 -2.51655 5.55184 0.396165 \n-0.303862 0.018225 0.904575 -0.105554 -6.27303 0.323508 \n-0.303862 0.018225 -0.904575 -0.10555 -6.27303 -0.323509 \n-0.302523 1.62188 -1.82 -0.920936 2.16391 -5.80036 \n-0.302522 1.62188 1.82 -0.920938 2.16391 5.80036 \n-0.299282 0.4632 -1.80051 -0.75094 -4.01413 -4.72997 \n-0.299282 0.4632 1.80051 -0.750911 -4.01415 4.72996 \n-0.29336 3.1176 -0.098814 -2.42062 5.55339 -0.785191 \n-0.29336 3.1176 0.098814 -2.42064 5.55338 0.785205 \n-0.292719 1.7748 -1.76102 -0.909183 2.36363 -5.72638 \n-0.292719 1.7748 1.76102 -0.909222 2.36363 5.72637 \n-0.290295 3.0348 -0.213234 -4.62341 -1.6083 -3.36194 \n-0.290295 3.0348 0.213234 -4.6234 -1.60829 3.3619 \n-0.290138 3.08115 -0.213123 -3.97528 2.44083 -2.89059 \n-0.290138 3.08115 0.213123 -3.97528 2.44079 2.89058 \n-0.28934 2.98125 -0.150793 -4.44771 -3.72287 -2.26825 \n-0.28934 2.98125 0.150793 -4.44769 -3.72287 2.26821 \n-0.28714 0.384375 -1.72746 -0.689943 -4.45253 -4.34628 \n-0.28714 0.384375 1.72746 -0.689993 -4.45253 4.34627 \n-0.28193 1.92953 1.69612 -0.899811 2.51041 5.66715 \n-0.28193 1.92953 -1.69612 -0.899808 2.51042 -5.66715 \n-0.2794 2.6592 0 -2.31844 5.82017 7.68341e-007 \n-0.277752 2.6256 -0.277752 -1.08229 6.09021 -1.08229 \n-0.277752 2.6256 0.277752 -1.08229 6.09021 1.08229 \n-0.275801 2.6592 -0.045844 -2.28829 5.82083 -0.363379 \n-0.275801 2.6592 0.045844 -2.2883 5.82083 0.363379 \n-0.275675 0.002175 -0.275675 -0.0576682 -6.28247 -0.0576681 \n-0.275675 0.002175 0.275675 -0.0576681 -6.28247 0.0576682 \n-0.274998 0.3168 -1.65441 -0.646845 -4.71935 -4.07473 \n-0.274998 0.3168 1.65441 -0.646836 -4.71934 4.07475 \n-0.274928 3.1176 -0.143301 -2.26478 5.55517 -1.15417 \n-0.274928 3.1176 0.143301 -2.2648 5.55516 1.15416 \n-0.2736 2.9232 0 -4.68039 -4.17468 5.57788e-005 \n-0.270404 2.0856 -1.62677 -0.893013 2.61093 -5.62438 \n-0.270404 2.0856 1.62677 -0.89299 2.61091 5.6244 \n-0.270092 2.9232 -0.045032 -4.62129 -4.17644 -0.729054 \n-0.270092 2.9232 0.045032 -4.62124 -4.17647 0.729119 \n-0.265363 2.6592 -0.08914 -2.20028 5.8218 -0.718367 \n-0.265363 2.6592 0.08914 -2.20028 5.8218 0.718367 \n-0.263841 0.260025 1.58729 -0.629005 -4.8246 3.96234 \n-0.263841 0.260025 -1.58729 -0.62903 -4.82458 -3.96237 \n-0.263232 2.98125 -0.193348 -4.03644 -3.72579 -2.93503 \n-0.263232 2.98125 0.193348 -4.03646 -3.72578 2.93499 \n-0.263208 2.55 -0.783552 -0.295885 6.20976 -0.906544 \n-0.263208 2.55 0.783552 -0.295885 6.20976 0.906545 \n-0.25991 2.9232 -0.087511 -4.44606 -4.18045 -1.44449 \n-0.25991 2.9232 0.087511 -4.44602 -4.18047 1.4445 \n-0.258385 2.24257 -1.55447 -0.888859 2.66963 -5.59883 \n-0.258385 2.24257 1.55447 -0.888867 2.66967 5.59881 \n-0.254788 3.0348 -0.254788 -4.04203 -1.60893 -4.04208 \n-0.254788 3.0348 0.254788 -4.04208 -1.60893 4.04203 \n-0.254653 3.08115 -0.254653 -3.47527 2.44118 -3.47529 \n-0.254653 3.08115 0.254653 -3.47529 2.44118 3.47527 \n-0.254652 0.2136 -1.53201 -0.654315 -4.6899 -4.12186 \n-0.254652 0.2136 1.53201 -0.654348 -4.68989 4.12186 \n-0.250127 3.1176 -0.183734 -2.05447 5.5565 -1.49333 \n-0.250127 3.1176 0.183734 -2.05447 5.5565 1.49333 \n-0.248621 2.6592 0.129351 -2.05852 5.82265 1.05351 \n-0.248621 2.6592 -0.129351 -2.05852 5.82265 -1.05351 \n-0.248417 0.177075 -1.4945 -0.779281 -3.75122 -4.90944 \n-0.248417 0.177075 1.4945 -0.779268 -3.75121 4.90945 \n-0.24612 0.15 1.48068 -0.927543 -1.95638 5.8443 \n-0.24612 2.4 -1.48068 -0.872474 2.85853 -5.49543 \n-0.24612 0.15 -1.48068 -0.927597 -1.95636 -5.8443 \n-0.24612 2.4 1.48068 -0.87253 2.85851 5.49543 \n-0.245542 0.127575 1.4772 -0.877705 -2.25835 5.52616 \n-0.245542 0.127575 -1.4772 -0.877758 -2.25838 -5.52613 \n-0.243569 2.9232 -0.12692 -4.16115 -4.18451 -2.12272 \n-0.243569 2.9232 0.12692 -4.16115 -4.18452 2.12265 \n-0.243424 2.5974 0.467878 -0.524079 6.17615 1.02411 \n-0.243424 2.5974 -0.467878 -0.524078 6.17615 -1.02411 \n-0.24297 0.1056 1.46173 -0.652156 -4.45667 4.10812 \n-0.24297 0.1056 -1.46173 -0.652146 -4.45665 -4.10813 \n-0.242892 2.43544 -1.46126 -0.821046 3.38726 -5.17131 \n-0.242892 2.43544 1.46126 -0.821051 3.38726 5.1713 \n-0.239491 2.463 -1.4408 -0.732313 4.12683 -4.61249 \n-0.239491 2.463 1.4408 -0.732224 4.12683 4.6125 \n-0.237149 0.084525 1.42671 -0.402089 -5.6691 2.53394 \n-0.237149 0.084525 -1.42671 -0.402068 -5.66909 -2.53395 \n-0.236115 2.48269 -1.42049 -0.598646 4.90982 -3.77137 \n-0.236115 2.48269 1.42049 -0.598622 4.9098 3.77139 \n-0.232961 2.4945 -1.40151 -0.375863 5.69708 -2.3694 \n-0.232961 2.4945 1.40151 -0.375861 5.69708 2.36938 \n-0.232342 2.6256 -0.31659 -0.901352 6.09013 -1.23747 \n-0.232342 2.6256 0.31659 -0.901353 6.09013 1.23747 \n-0.231031 2.98125 -0.231031 -3.52847 -3.72682 -3.5285 \n-0.231031 2.98125 0.231031 -3.5285 -3.72682 3.52847 \n-0.230604 0.002175 -0.314223 -0.0480241 -6.28247 -0.0659492 \n-0.230604 0.002175 0.314223 -0.0480241 -6.28247 0.0659489 \n-0.230225 2.49844 -1.38505 0.0184186 6.06655 0.112348 \n-0.230225 2.49844 1.38505 0.0184162 6.06654 -0.112354 \n-0.229712 2.4 -1.38197 0.448365 -1.13595 2.82192 \n-0.229712 2.4 1.38197 0.448501 -1.13596 -2.82189 \n-0.228104 2.4945 -1.37229 0.546433 4.85452 3.44068 \n-0.228104 2.4945 1.37229 0.546445 4.85456 -3.44064 \n-0.227403 2.43544 -1.36807 0.941634 -1.78857 5.93197 \n-0.227403 2.43544 1.36807 0.941692 -1.78857 -5.93196 \n-0.226824 0.0648 1.3646 -0.238276 -6.07811 1.50199 \n-0.226824 0.0648 -1.3646 -0.238286 -6.07811 -1.50198 \n-0.226795 2.48269 1.36442 0.905141 2.09186 -5.70349 \n-0.226795 2.48269 -1.36442 0.905079 2.09193 5.70347 \n-0.226496 2.463 -1.36262 0.97732 -0.331439 6.1573 \n-0.226496 2.463 1.36262 0.977256 -0.331391 -6.15731 \n-0.226113 2.6592 -0.165941 -1.86804 5.82319 -1.36065 \n-0.226113 2.6592 0.165941 -1.86804 5.82319 1.36066 \n-0.224349 0.0084 0.667871 -0.0584894 -6.27994 0.179281 \n-0.224349 0.0084 -0.667871 -0.0584896 -6.27994 -0.179281 \n-0.221585 2.9232 -0.162745 -3.776 -4.18733 -2.74599 \n-0.221585 2.9232 0.162745 -3.77602 -4.18734 2.74593 \n-0.2198 2.86335 0 -4.9191 -3.89454 0.000103081 \n-0.219536 3.1176 -0.219536 -1.79543 5.55699 -1.79542 \n-0.219536 3.1176 0.219536 -1.79542 5.55699 1.79543 \n-0.216979 2.86335 0.036157 -4.85703 -3.89673 0.767205 \n-0.216979 2.86335 -0.036157 -4.85709 -3.89667 -0.767099 \n-0.214905 2.5728 -0.639758 -0.303926 6.20609 -0.931088 \n-0.214905 2.5728 0.639758 -0.303925 6.20609 0.931088 \n-0.213304 2.4 -1.28326 -0.406552 1.61353 -2.55737 \n-0.213304 2.4 1.28326 -0.406509 1.61355 2.55736 \n-0.213234 3.0348 -0.290295 -3.3619 -1.60829 -4.6234 \n-0.213234 3.0348 0.290295 -3.36194 -1.6083 4.62341 \n-0.213123 3.08115 -0.290138 -2.89058 2.44079 -3.97528 \n-0.213123 3.08115 0.290138 -2.89059 2.44083 3.97528 \n-0.21074 0.046875 -1.26783 -0.14455 -6.20912 -0.911287 \n-0.21074 0.046875 1.26783 -0.144563 -6.20912 0.91129 \n-0.209136 2.4408 -1.25818 -0.631913 4.40277 -3.98063 \n-0.209136 2.4408 1.25818 -0.631867 4.40275 3.98066 \n-0.208794 2.86335 0.07027 -4.67296 -3.90106 1.51952 \n-0.208794 2.86335 -0.07027 -4.67301 -3.90098 -1.51953 \n-0.2 2.7 0 -4.03741 4.60366 2.7813e-005 \n-0.198374 2.6592 -0.198374 -1.63383 5.82337 -1.63383 \n-0.198374 2.6592 0.198374 -1.63383 5.82337 1.63383 \n-0.197684 2.4744 -1.18928 -0.344793 5.84304 -2.17312 \n-0.197684 2.4744 1.18928 -0.34479 5.84304 2.17312 \n-0.197424 2.7 0.032816 -3.98605 4.60539 0.632793 \n-0.197424 2.7 -0.032816 -3.98613 4.60529 -0.632765 \n-0.195658 2.86335 -0.101925 -4.37374 -3.90523 -2.23241 \n-0.195658 2.86335 0.101925 -4.37372 -3.90531 2.23235 \n-0.1946 3.14145 0 -0.804323 6.20719 1.99908e-006 \n-0.194472 2.9232 -0.194472 -3.30079 -4.18832 -3.30083 \n-0.194472 2.9232 0.194472 -3.30083 -4.18832 3.30079 \n-0.193348 2.98125 -0.263232 -2.93499 -3.72578 -4.03646 \n-0.193348 2.98125 0.263232 -2.93503 -3.72579 4.03644 \n-0.192107 3.14145 -0.032048 -0.794279 6.20721 -0.124923 \n-0.192107 3.14145 0.032048 -0.79428 6.20721 0.12492 \n-0.189952 2.7 -0.063808 -3.8347 4.60708 -1.25171 \n-0.189952 2.7 0.063808 -3.8346 4.60722 1.25168 \n-0.187642 0.0312 1.12887 -0.0887893 -6.25533 0.559736 \n-0.187642 0.0312 -1.12887 -0.088788 -6.25533 -0.559736 \n-0.18487 3.14145 -0.062272 -0.76374 6.20742 -0.247598 \n-0.18487 3.14145 0.062272 -0.763739 6.20742 0.247599 \n-0.183734 3.1176 -0.250127 -1.49333 5.5565 -2.05447 \n-0.183734 3.1176 0.250127 -1.49333 5.5565 2.05447 \n-0.18111 2.6256 0.348105 -0.697921 6.08987 1.36377 \n-0.18111 2.6256 -0.348105 -0.697924 6.08986 -1.36377 \n-0.180521 2.5026 -1.08603 -0.221344 6.1139 -1.39505 \n-0.180521 2.5026 1.08603 -0.221345 6.1139 1.39504 \n-0.179756 0.002175 -0.345503 -0.0371841 -6.28247 -0.0727012 \n-0.179756 0.002175 0.345503 -0.0371838 -6.28247 0.0727012 \n-0.1792 2.8044 0 -5.68651 -2.47489 0.000168428 \n-0.177989 2.86335 -0.130707 -3.96915 -3.90821 -2.88727 \n-0.177989 2.86335 0.130707 -3.96919 -3.90827 2.88715 \n-0.177968 2.7 0.092592 -3.58912 4.60861 1.83658 \n-0.177968 2.7 -0.092592 -3.5892 4.60847 -1.83663 \n-0.176897 2.8044 0.02945 -5.61586 -2.47727 0.888632 \n-0.176897 2.8044 -0.02945 -5.61584 -2.47718 -0.888434 \n-0.173255 3.14145 -0.090306 -0.714265 6.20767 -0.363862 \n-0.173255 3.14145 0.090306 -0.714266 6.20767 0.363865 \n-0.170215 2.8044 0.057246 -5.40452 -2.48143 1.75968 \n-0.170215 2.8044 -0.057246 -5.40447 -2.48126 -1.75963 \n-0.167751 2.5974 -0.499384 -0.3574 6.17591 -1.09481 \n-0.167751 2.5974 0.499384 -0.357401 6.17591 1.09481 \n-0.1674 2.74905 0 -5.77815 1.12303 0.000140879 \n-0.166306 3.0348 -0.319082 -2.59757 -1.60664 -5.09286 \n-0.166306 3.0348 0.319082 -2.59759 -1.60663 5.0929 \n-0.166221 3.08115 0.318907 -2.23363 2.43976 4.37934 \n-0.166221 3.08115 -0.318907 -2.23361 2.43972 -4.37933 \n-0.165941 2.6592 -0.226113 -1.36066 5.82319 -1.86804 \n-0.165941 2.6592 0.226113 -1.36065 5.82319 1.86804 \n-0.165245 2.74905 0.02748 -5.7072 1.12337 0.904388 \n-0.165245 2.74905 -0.02748 -5.7071 1.12313 -0.904207 \n-0.162745 2.9232 -0.221585 -2.74593 -4.18734 -3.77602 \n-0.162745 2.9232 0.221585 -2.74599 -4.18733 3.776 \n-0.161856 2.7 -0.118784 -3.25796 4.60928 -2.37295 \n-0.161856 2.7 0.118784 -3.25794 4.60935 2.37288 \n-0.159496 2.8044 0.083047 -5.05976 -2.48548 2.58477 \n-0.159496 2.8044 -0.083047 -5.05966 -2.48536 -2.58483 \n-0.159223 2.5272 -0.957901 -0.168584 6.18817 -1.06234 \n-0.159223 2.5272 0.957901 -0.168588 6.18817 1.06234 \n-0.158995 2.74905 0.053428 -5.49279 1.12287 1.79064 \n-0.158995 2.74905 -0.053428 -5.49262 1.12251 -1.79054 \n-0.157626 3.14145 -0.115787 -0.647713 6.20785 -0.470732 \n-0.157626 3.14145 0.115787 -0.647715 6.20785 0.470729 \n-0.156274 0.018225 0.940158 -0.0533796 -6.27301 0.336516 \n-0.156274 0.018225 -0.940158 -0.0533817 -6.27301 -0.336517 \n-0.1562 2.86335 -0.1562 -3.47 -3.90928 -3.47008 \n-0.1562 2.86335 0.1562 -3.47008 -3.90928 3.47 \n-0.150793 2.98125 -0.28934 -2.26821 -3.72287 -4.44769 \n-0.150793 2.98125 0.28934 -2.26825 -3.72287 4.44771 \n-0.148969 2.74905 0.077523 -5.14264 1.12189 2.62929 \n-0.148969 2.74905 -0.077523 -5.14244 1.12158 -2.62931 \n-0.145078 2.8044 0.106513 -4.59285 -2.48822 3.34235 \n-0.145078 2.8044 -0.106513 -4.59271 -2.48816 -3.34245 \n-0.143301 3.1176 -0.274928 -1.15416 5.55516 -2.2648 \n-0.143301 3.1176 0.274928 -1.15417 5.55517 2.26478 \n-0.142 2.7 0.142 -2.8497 4.60957 2.84969 \n-0.142 2.7 -0.142 -2.84969 4.60957 -2.8497 \n-0.138348 3.14145 -0.138348 -0.565945 6.20792 -0.565942 \n-0.138348 3.14145 0.138348 -0.565942 6.20792 0.565945 \n-0.135489 2.74905 0.099446 -4.66854 1.12107 3.39889 \n-0.135489 2.74905 -0.099446 -4.66838 1.12089 -3.39894 \n-0.135366 2.55 -0.814374 -0.149667 6.20958 -0.942962 \n-0.135366 2.55 0.814374 -0.149667 6.20958 0.942961 \n-0.130707 2.86335 -0.177989 -2.88715 -3.90827 -3.96919 \n-0.130707 2.86335 0.177989 -2.88727 -3.90821 3.96915 \n-0.129351 2.6592 0.248621 -1.05351 5.82265 2.05852 \n-0.129351 2.6592 -0.248621 -1.05351 5.82265 -2.05852 \n-0.127304 2.8044 0.127304 -4.01626 -2.48921 4.0161 \n-0.127304 2.8044 -0.127304 -4.0161 -2.48921 -4.01626 \n-0.12692 2.9232 -0.243569 -2.12265 -4.18453 -4.16115 \n-0.12692 2.9232 0.243569 -2.12272 -4.18451 4.16115 \n-0.124808 2.6256 -0.371546 -0.475947 6.08946 -1.45785 \n-0.124808 2.6256 0.371546 -0.475949 6.08946 1.45785 \n-0.123875 0.002175 0.368768 -0.0253528 -6.28246 0.0777374 \n-0.123875 0.002175 -0.368768 -0.0253527 -6.28246 -0.0777373 \n-0.118874 2.74905 0.118874 -4.08308 1.12063 4.08294 \n-0.118874 2.74905 -0.118874 -4.08294 1.12063 -4.08308 \n-0.118784 2.7 -0.161856 -2.37288 4.60935 -3.25794 \n-0.118784 2.7 0.161856 -2.37295 4.60928 3.25796 \n-0.115787 3.14145 -0.157626 -0.470729 6.20785 -0.647715 \n-0.115787 3.14145 0.157626 -0.470732 6.20785 0.647713 \n-0.115381 0.0084 0.694143 -0.029578 -6.27993 0.186489 \n-0.115381 0.0084 -0.694143 -0.0295781 -6.27993 -0.186489 \n-0.114676 3.0348 -0.340477 -1.76658 -1.60445 -5.43836 \n-0.114676 3.0348 0.340477 -1.76661 -1.60444 5.4384 \n-0.114619 3.08115 -0.340289 -1.51927 2.43832 -4.67702 \n-0.114619 3.08115 0.340289 -1.51928 2.43836 4.67704 \n-0.110524 2.5728 -0.664924 -0.153744 6.2059 -0.968487 \n-0.110524 2.5728 0.664924 -0.153744 6.2059 0.968488 \n-0.106513 2.8044 -0.145078 -3.34235 -2.48822 -4.59285 \n-0.106513 2.8044 0.145078 -3.34246 -2.48816 4.59271 \n-0.103976 2.98125 -0.308744 -1.54303 -3.71877 -4.7513 \n-0.103976 2.98125 0.308744 -1.54304 -3.71876 4.75135 \n-0.101925 2.86335 -0.195658 -2.23235 -3.90531 -4.37372 \n-0.101925 2.86335 0.195658 -2.23241 -3.90523 4.37374 \n-0.099446 2.74905 0.135489 -3.39894 1.12089 4.66838 \n-0.099446 2.74905 -0.135489 -3.39889 1.12107 -4.66854 \n-0.098814 3.1176 -0.29336 -0.785205 5.55337 -2.42064 \n-0.098814 3.1176 0.29336 -0.785191 5.55339 2.42062 \n-0.092592 2.7 -0.177968 -1.83657 4.60861 -3.58912 \n-0.092592 2.7 0.177968 -1.83662 4.60847 3.5892 \n-0.090306 3.14145 -0.173255 -0.363865 6.20767 -0.714266 \n-0.090306 3.14145 0.173255 -0.363862 6.20767 0.714265 \n-0.08914 2.6592 -0.265363 -0.718367 5.8218 -2.20028 \n-0.08914 2.6592 0.265363 -0.718367 5.8218 2.20028 \n-0.087511 2.9232 -0.25991 -1.4445 -4.18047 -4.44602 \n-0.087511 2.9232 0.25991 -1.44449 -4.18045 4.44606 \n-0.086273 2.5974 -0.519028 -0.1808 6.17566 -1.13877 \n-0.086273 2.5974 0.519028 -0.180799 6.17566 1.13877 \n-0.083047 2.8044 -0.159496 -2.58477 -2.48548 -5.05976 \n-0.083047 2.8044 0.159496 -2.58483 -2.48536 5.05966 \n-0.077523 2.74905 -0.148969 -2.62929 1.12189 -5.14264 \n-0.077523 2.74905 0.148969 -2.62931 1.12158 5.14244 \n-0.07027 2.86335 -0.208794 -1.51952 -3.90106 -4.67296 \n-0.07027 2.86335 0.208794 -1.51953 -3.90098 4.67301 \n-0.064188 2.6256 -0.386161 -0.240777 6.08901 -1.51633 \n-0.064188 2.6256 0.386161 -0.240775 6.08901 1.51634 \n-0.063808 2.7 0.189952 -1.25171 4.60708 3.8347 \n-0.063808 2.7 -0.189952 -1.25168 4.60722 -3.8346 \n-0.063708 0.002175 0.383274 -0.0128187 -6.28246 0.0808629 \n-0.063708 0.002175 -0.383274 -0.0128186 -6.28246 -0.0808629 \n-0.062272 3.14145 -0.18487 -0.247599 6.20742 -0.763739 \n-0.062272 3.14145 0.18487 -0.247598 6.20742 0.76374 \n-0.059016 3.0348 -0.353807 -0.891332 -1.60247 -5.6498 \n-0.059016 3.0348 0.353807 -0.891302 -1.60246 5.64984 \n-0.058988 3.08115 -0.35361 -0.766666 2.43748 -4.85961 \n-0.058988 3.08115 0.35361 -0.766644 2.43752 4.85963 \n-0.057246 2.8044 -0.170215 -1.75968 -2.48143 -5.40452 \n-0.057246 2.8044 0.170215 -1.75963 -2.48126 5.40447 \n-0.053508 2.98125 -0.320834 -0.778668 -3.71482 -4.93764 \n-0.053508 2.98125 0.320834 -0.77862 -3.71482 4.93767 \n-0.053428 2.74905 -0.158995 -1.79064 1.12287 -5.49279 \n-0.053428 2.74905 0.158995 -1.79054 1.12251 5.49262 \n-0.050855 3.1176 -0.304843 -0.396165 5.55184 -2.51655 \n-0.050855 3.1176 0.304843 -0.396158 5.55184 2.51654 \n-0.045844 2.6592 -0.275801 -0.363379 5.82083 -2.2883 \n-0.045844 2.6592 0.275801 -0.363379 5.82083 2.28829 \n-0.045032 2.9232 -0.270092 -0.729119 -4.17647 -4.62124 \n-0.045032 2.9232 0.270092 -0.729054 -4.17644 4.62129 \n-0.036157 2.86335 -0.216979 -0.767205 -3.89673 -4.85703 \n-0.036157 2.86335 0.216979 -0.767099 -3.89667 4.85709 \n-0.032816 2.7 -0.197424 -0.632793 4.60539 -3.98605 \n-0.032816 2.7 0.197424 -0.632765 4.60529 3.98613 \n-0.032048 3.14145 -0.192107 -0.12492 6.20721 -0.79428 \n-0.032048 3.14145 0.192107 -0.124923 6.20721 0.794279 \n-0.02945 2.8044 -0.176897 -0.888632 -2.47727 -5.61586 \n-0.02945 2.8044 0.176897 -0.888434 -2.47718 5.61584 \n-0.02748 2.74905 -0.165245 -0.904388 1.12337 -5.7072 \n-0.02748 2.74905 0.165245 -0.904207 1.12313 5.7071 \n-0 0.6564 -1.948 -2.27243e-006 -2.46103 -5.70768 \n-0 0.771675 -1.986 1.07288e-006 -1.30705 -6.05941 \n-0 2.48269 1.38223 -2.59876e-005 2.09108 -5.77525 \n-0 0.127575 1.49647 -1.93417e-005 -2.25842 5.59688 \n-0 2.4744 -1.2048 -5.87851e-006 5.84279 -2.20126 \n-0 0.018225 0.952425 -2.21189e-007 -6.273 0.340896 \n-0 0.553725 -1.892 7.77096e-006 -3.36327 -5.24906 \n-0 1.03718 1.99275 -2.71201e-006 0.617765 6.21228 \n-0 1.1784 1.972 3.94881e-006 1.14192 6.14304 \n-0 1.32323 -1.93925 -3.03239e-006 1.56507 -6.05373 \n-0 1.7748 1.784 1.0483e-005 2.36252 5.79895 \n-0 2.43544 -1.38593 1.34334e-005 -1.78761 6.00671 \n-0 2.463 -1.4596 5.43892e-005 4.12514 -4.67226 \n-0 2.463 -1.3804 -1.27405e-005 -0.331064 6.2342 \n-0 2.4945 -1.3902 -6.92904e-006 4.8525 3.4853 \n-0 2.5026 -1.1002 -3.60981e-006 6.11377 -1.41323 \n-0 2.86335 -0.2198 -0.000103066 -3.89454 -4.9191 \n-0 2.98125 -0.325 -3.65227e-005 -3.71335 -5.0005 \n0 0 0 0 -6.283 -9.09495e-010 \n-0 0.002175 0.388275 2.9162e-008 -6.28246 0.0819025 \n0 0.0084 -0.7032 -1.80444e-008 -6.27993 -0.188909 \n0 0.0084 0.7032 1.80444e-008 -6.27993 0.188909 \n0 0.018225 -0.952425 2.21189e-007 -6.273 -0.340896 \n0 0.0312 -1.1436 -1.72108e-006 -6.25531 -0.567033 \n0 0.0312 1.1436 1.72108e-006 -6.25531 0.567033 \n-0 0.046875 -1.28437 -3.63216e-006 -6.20906 -0.923163 \n-0 0.0648 1.3824 -1.58548e-005 -6.07802 1.52138 \n0 0.084525 -1.44533 -8.67248e-006 -5.66867 -2.56685 \n0 0.084525 1.44533 8.67248e-006 -5.66867 2.56685 \n0 0.1056 -1.4808 -2.86922e-005 -4.45593 -4.16123 \n-0 0.1056 1.4808 2.86922e-005 -4.45593 4.16123 \n0 0.15 -1.5 2.55331e-005 -1.95569 -5.91768 \n0 0.15 1.5 -2.55331e-005 -1.95569 5.91768 \n-0 0.177075 -1.514 1.06543e-006 -3.74943 -4.97208 \n0 0.177075 1.514 -1.06543e-006 -3.74943 4.97208 \n0 0.2136 -1.552 -2.66731e-006 -4.68858 -4.17508 \n0 0.2136 1.552 2.66731e-006 -4.68858 4.17508 \n0 0.260025 -1.608 9.45106e-006 -4.82349 -4.01355 \n-0 0.260025 1.608 -9.45106e-006 -4.82349 4.01355 \n0 0.3168 -1.676 8.64267e-007 -4.71823 -4.12733 \n0 0.3168 1.676 -8.64267e-007 -4.71823 4.12733 \n-0 0.384375 1.75 1.86674e-005 -4.45132 4.40231 \n0 0.4632 -1.824 5.99027e-006 -4.01299 -4.79065 \n-0 0.4632 1.824 -5.99027e-006 -4.01299 4.79065 \n0 0.771675 1.986 -1.07288e-006 -1.30705 6.05941 \n0 0.9 -2 1.1377e-005 -0.172984 -6.21617 \n0 0.9 2 -1.1377e-005 -0.172984 6.21617 \n0 1.03718 -1.99275 2.71201e-006 0.617765 -6.21228 \n0 1.32323 1.93925 3.03239e-006 1.56507 6.05373 \n0 1.4712 -1.896 -5.36442e-007 1.90085 -5.96068 \n0 1.4712 1.896 5.36442e-007 1.90085 5.96068 \n-0 1.62188 -1.84375 1.01328e-005 2.16281 -5.87384 \n0 1.62188 1.84375 -1.01328e-005 2.16281 5.87384 \n0 1.7748 -1.784 -1.0483e-005 2.36252 -5.79895 \n-0 1.92953 1.71825 -4.04567e-006 2.50922 5.73906 \n-0 2.0856 -1.648 -3.56138e-006 2.60972 -5.69575 \n0 2.0856 1.648 3.56138e-006 2.60972 5.69575 \n0 2.24257 -1.57475 -1.45435e-005 2.66845 -5.66987 \n0 2.24257 1.57475 1.45435e-005 2.66845 5.66987 \n0 2.4 -1.5 -2.14577e-005 2.85761 -5.56514 \n0 2.4 -1.4 6.14375e-005 -1.13494 2.8586 \n-0 2.4 -1.3 3.64259e-005 1.61307 -2.59101 \n0 2.4 1.3 -3.64259e-005 1.61307 2.59101 \n0 2.4 1.4 -6.14375e-005 -1.13494 -2.8586 \n0 2.4 1.5 2.14577e-005 2.85761 5.56514 \n-0 2.43544 -1.48032 -4.45545e-006 3.38614 -5.23749 \n0 2.43544 1.48032 4.45545e-006 3.38614 5.23749 \n0 2.4408 -1.2746 3.90932e-005 4.40226 -4.03183 \n0 2.4408 1.2746 -3.90932e-005 4.40226 4.03183 \n0 2.463 1.3804 1.27405e-005 -0.331064 -6.2342 \n0 2.463 1.4596 -5.43892e-005 4.12514 4.67226 \n0 2.48269 -1.43903 1.59293e-005 4.90887 -3.82018 \n0 2.48269 -1.38223 2.59876e-005 2.09108 5.77525 \n0 2.48269 1.43903 -1.59293e-005 4.90887 3.82018 \n-0 2.4945 -1.4198 -2.03401e-006 5.69693 -2.39993 \n0 2.4945 1.3902 6.92904e-006 4.8525 -3.4853 \n0 2.49844 -1.40313 1.38711e-005 6.06627 0.114232 \n0 2.49844 1.40313 -1.38711e-005 6.06627 -0.114232 \n0 2.5026 1.1002 3.60981e-006 6.11377 1.41323 \n-0 2.5272 -0.9704 7.20844e-007 6.18808 -1.07626 \n0 2.5272 0.9704 -7.20844e-007 6.18808 1.07626 \n0 2.55 -0.825 -1.8999e-007 6.2095 -0.955352 \n0 2.55 0.825 1.8999e-007 6.2095 0.955352 \n-0 2.5728 -0.6736 -1.77883e-007 6.20581 -0.981249 \n0 2.5728 0.6736 1.77883e-007 6.20581 0.981249 \n-0 2.5974 -0.5258 2.68221e-007 6.17551 -1.15381 \n0 2.5974 0.5258 -2.68221e-007 6.17551 1.15381 \n0 2.6256 -0.3912 1.28988e-006 6.08874 -1.53637 \n0 2.6256 0.3912 -1.28988e-006 6.08874 1.53637 \n0 2.6592 -0.2794 -7.68341e-007 5.82017 -2.31844 \n0 2.6592 0.2794 7.68341e-007 5.82017 2.31844 \n-0 2.7 -0.2 -2.7813e-005 4.60367 -4.03741 \n0 2.7 0.2 2.7813e-005 4.60367 4.03741 \n-0 2.74905 -0.1674 -0.000140887 1.12303 -5.77815 \n-0 2.8044 -0.1792 -0.000168428 -2.47489 -5.68651 \n-0 2.9232 -0.2736 -5.57601e-005 -4.17468 -4.68039 \n0 2.98125 0.325 3.65227e-005 -3.71335 5.0005 \n0 3.0348 -0.3584 -2.93367e-005 -1.6021 -5.72167 \n0 3.0348 0.3584 2.93367e-005 -1.6021 5.72167 \n-0 3.08115 -0.3582 -1.33142e-005 2.43833 -4.92192 \n0 3.08115 0.3582 1.33142e-005 2.43833 4.92192 \n-0 3.1176 -0.3088 -2.5332e-006 5.55172 -2.54844 \n-0 3.14145 -0.1946 -1.99908e-006 6.20719 -0.804323 \n0 3.15 0 -4.65661e-010 6.27111 6.0536e-009 \n0 0.002175 -0.388275 -2.9162e-008 -6.28246 -0.0819025 \n0 3.14145 0.1946 1.99908e-006 6.20719 0.804323 \n0 3.1176 0.3088 2.5332e-006 5.55172 2.54844 \n0 2.4945 1.4198 2.03401e-006 5.69693 2.39993 \n0 2.9232 0.2736 5.57601e-005 -4.17468 4.68039 \n0 2.86335 0.2198 0.000103066 -3.89454 4.9191 \n0 0.046875 1.28437 3.63216e-006 -6.20906 0.923163 \n0 0.0648 -1.3824 1.58548e-005 -6.07802 -1.52138 \n0 0.384375 -1.75 -1.86674e-005 -4.45132 -4.40231 \n0 0.553725 1.892 -7.77096e-006 -3.36327 5.24906 \n0 1.1784 -1.972 -3.94881e-006 1.14192 -6.14304 \n0 2.43544 1.38593 -1.34334e-005 -1.78761 -6.00671 \n0 2.8044 0.1792 0.000168428 -2.47489 5.68651 \n0 2.74905 0.1674 0.000140887 1.12303 5.77815 \n0 0.127575 -1.49647 1.93417e-005 -2.25842 -5.59688 \n0 2.4744 1.2048 5.87851e-006 5.84279 2.20126 \n0 0.6564 1.948 2.27243e-006 -2.46103 5.70768 \n0 1.92953 -1.71825 4.04567e-006 2.50922 -5.73906 \n0.02748 2.74905 -0.165245 0.904207 1.12313 -5.7071 \n0.02748 2.74905 0.165245 0.904388 1.12337 5.7072 \n0.02945 2.8044 -0.176897 0.888434 -2.47718 -5.61584 \n0.02945 2.8044 0.176897 0.888632 -2.47727 5.61586 \n0.032048 3.14145 -0.192107 0.124923 6.20721 -0.794279 \n0.032048 3.14145 0.192107 0.12492 6.20721 0.79428 \n0.032816 2.7 -0.197424 0.632765 4.60529 -3.98613 \n0.032816 2.7 0.197424 0.632793 4.60539 3.98605 \n0.036157 2.86335 -0.216979 0.767099 -3.89667 -4.85709 \n0.036157 2.86335 0.216979 0.767205 -3.89673 4.85703 \n0.045032 2.9232 -0.270092 0.729054 -4.17644 -4.62129 \n0.045032 2.9232 0.270092 0.729119 -4.17647 4.62124 \n0.045844 2.6592 -0.275801 0.363379 5.82083 -2.28829 \n0.045844 2.6592 0.275801 0.363379 5.82083 2.2883 \n0.050855 3.1176 -0.304843 0.396158 5.55184 -2.51654 \n0.050855 3.1176 0.304843 0.396165 5.55184 2.51655 \n0.053428 2.74905 -0.158995 1.79054 1.12251 -5.49262 \n0.053428 2.74905 0.158995 1.79064 1.12287 5.49279 \n0.053508 2.98125 -0.320834 0.77862 -3.71482 -4.93767 \n0.053508 2.98125 0.320834 0.778668 -3.71482 4.93764 \n0.057246 2.8044 -0.170215 1.75963 -2.48126 -5.40447 \n0.057246 2.8044 0.170215 1.75968 -2.48143 5.40452 \n0.058988 3.08115 -0.35361 0.766644 2.43752 -4.85963 \n0.058988 3.08115 0.35361 0.766666 2.43748 4.85961 \n0.059016 3.0348 -0.353807 0.891302 -1.60246 -5.64984 \n0.059016 3.0348 0.353807 0.891332 -1.60247 5.6498 \n0.062272 3.14145 -0.18487 0.247598 6.20742 -0.76374 \n0.062272 3.14145 0.18487 0.247599 6.20742 0.763739 \n0.063708 0.002175 0.383274 0.0128186 -6.28246 0.0808629 \n0.063708 0.002175 -0.383274 0.0128187 -6.28246 -0.0808629 \n0.063808 2.7 0.189952 1.25168 4.60722 3.8346 \n0.063808 2.7 -0.189952 1.25171 4.60708 -3.8347 \n0.064188 2.6256 -0.386161 0.240775 6.08901 -1.51634 \n0.064188 2.6256 0.386161 0.240777 6.08901 1.51633 \n0.07027 2.86335 -0.208794 1.51953 -3.90098 -4.67301 \n0.07027 2.86335 0.208794 1.51952 -3.90106 4.67296 \n0.077523 2.74905 -0.148969 2.62931 1.12158 -5.14244 \n0.077523 2.74905 0.148969 2.62929 1.12189 5.14264 \n0.083047 2.8044 -0.159496 2.58483 -2.48536 -5.05966 \n0.083047 2.8044 0.159496 2.58477 -2.48548 5.05976 \n0.086273 2.5974 -0.519028 0.180799 6.17566 -1.13877 \n0.086273 2.5974 0.519028 0.1808 6.17566 1.13877 \n0.087511 2.9232 -0.25991 1.44449 -4.18045 -4.44606 \n0.087511 2.9232 0.25991 1.4445 -4.18047 4.44602 \n0.08914 2.6592 -0.265363 0.718367 5.8218 -2.20028 \n0.08914 2.6592 0.265363 0.718367 5.8218 2.20028 \n0.090306 3.14145 -0.173255 0.363862 6.20767 -0.714265 \n0.090306 3.14145 0.173255 0.363865 6.20767 0.714266 \n0.092592 2.7 -0.177968 1.83662 4.60847 -3.5892 \n0.092592 2.7 0.177968 1.83657 4.60861 3.58912 \n0.098814 3.1176 -0.29336 0.785191 5.55339 -2.42062 \n0.098814 3.1176 0.29336 0.785205 5.55337 2.42064 \n0.099446 2.74905 0.135489 3.39889 1.12107 4.66854 \n0.099446 2.74905 -0.135489 3.39894 1.12089 -4.66838 \n0.101925 2.86335 -0.195658 2.23241 -3.90523 -4.37374 \n0.101925 2.86335 0.195658 2.23235 -3.90531 4.37372 \n0.103976 2.98125 -0.308744 1.54304 -3.71876 -4.75135 \n0.103976 2.98125 0.308744 1.54303 -3.71877 4.7513 \n0.106513 2.8044 -0.145078 3.34246 -2.48816 -4.59271 \n0.106513 2.8044 0.145078 3.34235 -2.48822 4.59285 \n0.110524 2.5728 -0.664924 0.153744 6.2059 -0.968488 \n0.110524 2.5728 0.664924 0.153744 6.2059 0.968487 \n0.114619 3.08115 -0.340289 1.51928 2.43836 -4.67704 \n0.114619 3.08115 0.340289 1.51927 2.43832 4.67702 \n0.114676 3.0348 -0.340477 1.76661 -1.60444 -5.4384 \n0.114676 3.0348 0.340477 1.76658 -1.60445 5.43836 \n0.115381 0.0084 0.694143 0.0295781 -6.27993 0.186489 \n0.115381 0.0084 -0.694143 0.029578 -6.27993 -0.186489 \n0.115787 3.14145 -0.157626 0.470732 6.20785 -0.647713 \n0.115787 3.14145 0.157626 0.470729 6.20785 0.647715 \n0.118784 2.7 0.161856 2.37288 4.60935 3.25794 \n0.118784 2.7 -0.161856 2.37295 4.60928 -3.25796 \n0.118874 2.74905 0.118874 4.08294 1.12063 4.08308 \n0.118874 2.74905 -0.118874 4.08308 1.12063 -4.08294 \n0.123875 0.002175 0.368768 0.0253527 -6.28246 0.0777373 \n0.123875 0.002175 -0.368768 0.0253528 -6.28246 -0.0777374 \n0.124808 2.6256 -0.371546 0.475949 6.08946 -1.45785 \n0.124808 2.6256 0.371546 0.475947 6.08946 1.45785 \n0.12692 2.9232 -0.243569 2.12272 -4.18451 -4.16115 \n0.12692 2.9232 0.243569 2.12265 -4.18453 4.16115 \n0.127304 2.8044 0.127304 4.0161 -2.48921 4.01626 \n0.127304 2.8044 -0.127304 4.01626 -2.48921 -4.0161 \n0.129351 2.6592 0.248621 1.05351 5.82265 2.05852 \n0.129351 2.6592 -0.248621 1.05351 5.82265 -2.05852 \n0.130707 2.86335 -0.177989 2.88727 -3.90821 -3.96915 \n0.130707 2.86335 0.177989 2.88715 -3.90827 3.96919 \n0.135366 2.55 -0.814374 0.149667 6.20958 -0.942961 \n0.135366 2.55 0.814374 0.149667 6.20958 0.942962 \n0.135489 2.74905 0.099446 4.66838 1.12089 3.39894 \n0.135489 2.74905 -0.099446 4.66854 1.12107 -3.39889 \n0.138348 3.14145 -0.138348 0.565942 6.20792 -0.565945 \n0.138348 3.14145 0.138348 0.565945 6.20792 0.565942 \n0.142 2.7 -0.142 2.8497 4.60957 -2.84969 \n0.142 2.7 0.142 2.84969 4.60957 2.8497 \n0.143301 3.1176 -0.274928 1.15417 5.55517 -2.26478 \n0.143301 3.1176 0.274928 1.15416 5.55516 2.2648 \n0.145078 2.8044 0.106513 4.59271 -2.48816 3.34245 \n0.145078 2.8044 -0.106513 4.59285 -2.48822 -3.34235 \n0.148969 2.74905 0.077523 5.14244 1.12158 2.62931 \n0.148969 2.74905 -0.077523 5.14264 1.12189 -2.62929 \n0.150793 2.98125 -0.28934 2.26825 -3.72287 -4.44771 \n0.150793 2.98125 0.28934 2.26821 -3.72287 4.44769 \n0.1562 2.86335 -0.1562 3.47008 -3.90928 -3.47 \n0.1562 2.86335 0.1562 3.47 -3.90928 3.47008 \n0.156274 0.018225 0.940158 0.0533817 -6.27301 0.336517 \n0.156274 0.018225 -0.940158 0.0533796 -6.27301 -0.336516 \n0.157626 3.14145 -0.115787 0.647715 6.20785 -0.470729 \n0.157626 3.14145 0.115787 0.647713 6.20785 0.470732 \n0.158995 2.74905 0.053428 5.49262 1.12251 1.79054 \n0.158995 2.74905 -0.053428 5.49279 1.12287 -1.79064 \n0.159223 2.5272 -0.957901 0.168588 6.18817 -1.06234 \n0.159223 2.5272 0.957901 0.168584 6.18817 1.06234 \n0.159496 2.8044 0.083047 5.05966 -2.48536 2.58483 \n0.159496 2.8044 -0.083047 5.05976 -2.48548 -2.58477 \n0.161856 2.7 -0.118784 3.25794 4.60935 -2.37288 \n0.161856 2.7 0.118784 3.25796 4.60928 2.37295 \n0.162745 2.9232 -0.221585 2.74599 -4.18733 -3.776 \n0.162745 2.9232 0.221585 2.74593 -4.18734 3.77602 \n0.165245 2.74905 0.02748 5.7071 1.12313 0.904207 \n0.165245 2.74905 -0.02748 5.7072 1.12337 -0.904388 \n0.165941 2.6592 -0.226113 1.36065 5.82319 -1.86804 \n0.165941 2.6592 0.226113 1.36066 5.82319 1.86804 \n0.166221 3.08115 0.318907 2.23361 2.43972 4.37933 \n0.166221 3.08115 -0.318907 2.23363 2.43976 -4.37934 \n0.166306 3.0348 -0.319082 2.59759 -1.60663 -5.0929 \n0.166306 3.0348 0.319082 2.59757 -1.60664 5.09286 \n0.1674 2.74905 -0 5.77815 1.12303 -0.000140876 \n0.167751 2.5974 -0.499384 0.357401 6.17591 -1.09481 \n0.167751 2.5974 0.499384 0.3574 6.17591 1.09481 \n0.170215 2.8044 0.057246 5.40447 -2.48126 1.75963 \n0.170215 2.8044 -0.057246 5.40452 -2.48143 -1.75968 \n0.173255 3.14145 -0.090306 0.714266 6.20767 -0.363865 \n0.173255 3.14145 0.090306 0.714265 6.20767 0.363862 \n0.176897 2.8044 0.02945 5.61584 -2.47718 0.888434 \n0.176897 2.8044 -0.02945 5.61586 -2.47727 -0.888632 \n0.177968 2.7 0.092592 3.5892 4.60847 1.83663 \n0.177968 2.7 -0.092592 3.58912 4.60861 -1.83658 \n0.177989 2.86335 -0.130707 3.96919 -3.90827 -2.88715 \n0.177989 2.86335 0.130707 3.96915 -3.90821 2.88727 \n0.1792 2.8044 -0 5.68651 -2.47489 -0.000168428 \n0.179756 0.002175 -0.345503 0.0371838 -6.28247 -0.0727012 \n0.179756 0.002175 0.345503 0.0371841 -6.28247 0.0727012 \n0.180521 2.5026 -1.08603 0.221345 6.1139 -1.39504 \n0.180521 2.5026 1.08603 0.221344 6.1139 1.39505 \n0.18111 2.6256 0.348105 0.697924 6.08986 1.36377 \n0.18111 2.6256 -0.348105 0.697921 6.08987 -1.36377 \n0.183734 3.1176 -0.250127 1.49333 5.5565 -2.05447 \n0.183734 3.1176 0.250127 1.49333 5.5565 2.05447 \n0.18487 3.14145 -0.062272 0.763739 6.20742 -0.247599 \n0.18487 3.14145 0.062272 0.76374 6.20742 0.247598 \n0.187642 0.0312 1.12887 0.088788 -6.25533 0.559736 \n0.187642 0.0312 -1.12887 0.0887893 -6.25533 -0.559736 \n0.189952 2.7 -0.063808 3.8346 4.60722 -1.25168 \n0.189952 2.7 0.063808 3.8347 4.60708 1.25171 \n0.192107 3.14145 -0.032048 0.79428 6.20721 -0.12492 \n0.192107 3.14145 0.032048 0.794279 6.20721 0.124923 \n0.193348 2.98125 -0.263232 2.93503 -3.72579 -4.03644 \n0.193348 2.98125 0.263232 2.93499 -3.72578 4.03646 \n0.194472 2.9232 -0.194472 3.30083 -4.18832 -3.30079 \n0.194472 2.9232 0.194472 3.30079 -4.18832 3.30083 \n0.1946 3.14145 0 0.804322 6.20719 -2.00234e-006 \n0.195658 2.86335 -0.101925 4.37372 -3.90531 -2.23235 \n0.195658 2.86335 0.101925 4.37374 -3.90523 2.23241 \n0.197424 2.7 0.032816 3.98613 4.60529 0.632765 \n0.197424 2.7 -0.032816 3.98605 4.60539 -0.632793 \n0.197684 2.4744 -1.18928 0.34479 5.84304 -2.17312 \n0.197684 2.4744 1.18928 0.344793 5.84304 2.17312 \n0.198374 2.6592 -0.198374 1.63383 5.82337 -1.63383 \n0.198374 2.6592 0.198374 1.63383 5.82337 1.63383 \n0.2 2.7 -0 4.03741 4.60367 -2.7813e-005 \n0.208794 2.86335 0.07027 4.67301 -3.90098 1.51953 \n0.208794 2.86335 -0.07027 4.67296 -3.90106 -1.51952 \n0.209136 2.4408 -1.25818 0.631867 4.40275 -3.98066 \n0.209136 2.4408 1.25818 0.631913 4.40277 3.98063 \n0.21074 0.046875 -1.26783 0.144563 -6.20912 -0.91129 \n0.21074 0.046875 1.26783 0.14455 -6.20912 0.911287 \n0.213123 3.08115 -0.290138 2.89059 2.44083 -3.97528 \n0.213123 3.08115 0.290138 2.89058 2.44079 3.97528 \n0.213234 3.0348 -0.290295 3.36194 -1.6083 -4.62341 \n0.213234 3.0348 0.290295 3.3619 -1.60829 4.6234 \n0.213304 2.4 -1.28326 0.406509 1.61355 -2.55736 \n0.213304 2.4 1.28326 0.406552 1.61353 2.55737 \n0.214905 2.5728 -0.639758 0.303925 6.20609 -0.931088 \n0.214905 2.5728 0.639758 0.303926 6.20609 0.931088 \n0.216979 2.86335 0.036157 4.85709 -3.89667 0.767099 \n0.216979 2.86335 -0.036157 4.85703 -3.89673 -0.767205 \n0.219536 3.1176 -0.219536 1.79542 5.55699 -1.79543 \n0.219536 3.1176 0.219536 1.79543 5.55699 1.79542 \n0.2198 2.86335 -0 4.9191 -3.89454 -0.000103086 \n0.221585 2.9232 -0.162745 3.77602 -4.18734 -2.74593 \n0.221585 2.9232 0.162745 3.776 -4.18733 2.74599 \n0.224349 0.0084 0.667871 0.0584896 -6.27994 0.179281 \n0.224349 0.0084 -0.667871 0.0584894 -6.27994 -0.179281 \n0.226113 2.6592 -0.165941 1.86804 5.82319 -1.36066 \n0.226113 2.6592 0.165941 1.86804 5.82319 1.36065 \n0.226496 2.463 -1.36262 -0.977256 -0.331391 6.15731 \n0.226496 2.463 1.36262 -0.97732 -0.331439 -6.1573 \n0.226795 2.48269 1.36442 -0.905079 2.09193 -5.70347 \n0.226795 2.48269 -1.36442 -0.905141 2.09186 5.70349 \n0.226824 0.0648 1.3646 0.238286 -6.07811 1.50198 \n0.226824 0.0648 -1.3646 0.238276 -6.07811 -1.50199 \n0.227403 2.43544 -1.36807 -0.941692 -1.78857 5.93196 \n0.227403 2.43544 1.36807 -0.941634 -1.78857 -5.93197 \n0.228104 2.4945 -1.37229 -0.546445 4.85456 3.44064 \n0.228104 2.4945 1.37229 -0.546433 4.85452 -3.44068 \n0.229712 2.4 -1.38197 -0.448501 -1.13596 2.82189 \n0.229712 2.4 1.38197 -0.448365 -1.13595 -2.82192 \n0.230225 2.49844 -1.38505 -0.0184162 6.06654 0.112354 \n0.230225 2.49844 1.38505 -0.0184186 6.06655 -0.112348 \n0.230604 0.002175 -0.314223 0.0480241 -6.28247 -0.0659489 \n0.230604 0.002175 0.314223 0.0480241 -6.28247 0.0659492 \n0.231031 2.98125 -0.231031 3.5285 -3.72682 -3.52847 \n0.231031 2.98125 0.231031 3.52847 -3.72682 3.5285 \n0.232342 2.6256 -0.31659 0.901353 6.09013 -1.23747 \n0.232342 2.6256 0.31659 0.901352 6.09013 1.23747 \n0.232961 2.4945 -1.40151 0.375861 5.69708 -2.36938 \n0.232961 2.4945 1.40151 0.375863 5.69708 2.3694 \n0.236115 2.48269 -1.42049 0.598622 4.9098 -3.77139 \n0.236115 2.48269 1.42049 0.598646 4.90982 3.77137 \n0.237149 0.084525 1.42671 0.402068 -5.66909 2.53395 \n0.237149 0.084525 -1.42671 0.402089 -5.6691 -2.53394 \n0.239491 2.463 -1.4408 0.732224 4.12683 -4.6125 \n0.239491 2.463 1.4408 0.732313 4.12683 4.61249 \n0.242892 2.43544 -1.46126 0.821051 3.38726 -5.1713 \n0.242892 2.43544 1.46126 0.821046 3.38726 5.17131 \n0.24297 0.1056 1.46173 0.652146 -4.45665 4.10813 \n0.24297 0.1056 -1.46173 0.652156 -4.45667 -4.10812 \n0.243424 2.5974 0.467878 0.524078 6.17615 1.02411 \n0.243424 2.5974 -0.467878 0.524079 6.17615 -1.02411 \n0.243569 2.9232 -0.12692 4.16115 -4.18452 -2.12265 \n0.243569 2.9232 0.12692 4.16115 -4.18451 2.12272 \n0.245542 0.127575 1.4772 0.877758 -2.25838 5.52613 \n0.245542 0.127575 -1.4772 0.877705 -2.25835 -5.52616 \n0.24612 2.4 -1.48068 0.87253 2.85851 -5.49543 \n0.24612 0.15 1.48068 0.927597 -1.95636 5.8443 \n0.24612 2.4 1.48068 0.872474 2.85853 5.49543 \n0.24612 0.15 -1.48068 0.927543 -1.95638 -5.8443 \n0.248417 0.177075 -1.4945 0.779268 -3.75121 -4.90945 \n0.248417 0.177075 1.4945 0.779281 -3.75122 4.90944 \n0.248621 2.6592 0.129351 2.05852 5.82265 1.05351 \n0.248621 2.6592 -0.129351 2.05852 5.82265 -1.05351 \n0.250127 3.1176 -0.183734 2.05447 5.5565 -1.49333 \n0.250127 3.1176 0.183734 2.05447 5.5565 1.49333 \n0.254652 0.2136 -1.53201 0.654348 -4.68989 -4.12186 \n0.254652 0.2136 1.53201 0.654315 -4.6899 4.12186 \n0.254653 3.08115 -0.254653 3.47529 2.44118 -3.47527 \n0.254653 3.08115 0.254653 3.47527 2.44118 3.47529 \n0.254788 3.0348 -0.254788 4.04208 -1.60893 -4.04203 \n0.254788 3.0348 0.254788 4.04203 -1.60893 4.04208 \n0.258385 2.24257 -1.55447 0.888867 2.66967 -5.59881 \n0.258385 2.24257 1.55447 0.888859 2.66963 5.59883 \n0.25991 2.9232 -0.087511 4.44602 -4.18047 -1.4445 \n0.25991 2.9232 0.087511 4.44606 -4.18045 1.44449 \n0.263208 2.55 -0.783552 0.295885 6.20976 -0.906545 \n0.263208 2.55 0.783552 0.295885 6.20976 0.906544 \n0.263232 2.98125 -0.193348 4.03646 -3.72578 -2.93499 \n0.263232 2.98125 0.193348 4.03644 -3.72579 2.93503 \n0.263841 0.260025 1.58729 0.62903 -4.82458 3.96237 \n0.263841 0.260025 -1.58729 0.629005 -4.8246 -3.96234 \n0.265363 2.6592 -0.08914 2.20028 5.8218 -0.718367 \n0.265363 2.6592 0.08914 2.20028 5.8218 0.718367 \n0.270092 2.9232 -0.045032 4.62124 -4.17647 -0.729119 \n0.270092 2.9232 0.045032 4.62129 -4.17644 0.729054 \n0.270404 2.0856 -1.62677 0.89299 2.61091 -5.6244 \n0.270404 2.0856 1.62677 0.893013 2.61093 5.62438 \n0.2736 2.9232 -0 4.68039 -4.17468 -5.57899e-005 \n0.274928 3.1176 -0.143301 2.2648 5.55516 -1.15416 \n0.274928 3.1176 0.143301 2.26478 5.55517 1.15417 \n0.274998 0.3168 -1.65441 0.646836 -4.71934 -4.07475 \n0.274998 0.3168 1.65441 0.646845 -4.71935 4.07473 \n0.275675 0.002175 -0.275675 0.0576681 -6.28247 -0.0576682 \n0.275675 0.002175 0.275675 0.0576682 -6.28247 0.0576681 \n0.275801 2.6592 -0.045844 2.2883 5.82083 -0.363379 \n0.275801 2.6592 0.045844 2.28829 5.82083 0.363379 \n0.277752 2.6256 -0.277752 1.08229 6.09021 -1.08229 \n0.277752 2.6256 0.277752 1.08229 6.09021 1.08229 \n0.2794 2.6592 0 2.31844 5.82017 -7.6741e-007 \n0.28193 1.92953 1.69612 0.899808 2.51042 5.66715 \n0.28193 1.92953 -1.69612 0.899811 2.51041 -5.66715 \n0.28714 0.384375 -1.72746 0.689993 -4.45253 -4.34627 \n0.28714 0.384375 1.72746 0.689943 -4.45253 4.34628 \n0.28934 2.98125 -0.150793 4.44769 -3.72287 -2.26821 \n0.28934 2.98125 0.150793 4.44771 -3.72287 2.26825 \n0.290138 3.08115 -0.213123 3.97528 2.44079 -2.89058 \n0.290138 3.08115 0.213123 3.97528 2.44083 2.89059 \n0.290295 3.0348 -0.213234 4.6234 -1.60829 -3.3619 \n0.290295 3.0348 0.213234 4.62341 -1.6083 3.36194 \n0.292719 1.7748 -1.76102 0.909222 2.36363 -5.72637 \n0.292719 1.7748 1.76102 0.909183 2.36363 5.72638 \n0.29336 3.1176 -0.098814 2.42064 5.55338 -0.785205 \n0.29336 3.1176 0.098814 2.42062 5.55339 0.785191 \n0.299282 0.4632 -1.80051 0.750911 -4.01415 -4.72996 \n0.299282 0.4632 1.80051 0.75094 -4.01413 4.72997 \n0.302522 1.62188 -1.82 0.920938 2.16391 -5.80036 \n0.302523 1.62188 1.82 0.920936 2.16391 5.80036 \n0.303862 0.018225 0.904575 0.10555 -6.27303 0.323509 \n0.303862 0.018225 -0.904575 0.105554 -6.27303 -0.323508 \n0.304843 3.1176 -0.050855 2.51655 5.55184 -0.396165 \n0.304843 3.1176 0.050855 2.51654 5.55184 0.396158 \n0.308744 2.98125 -0.103976 4.7513 -3.71877 -1.54303 \n0.308744 2.98125 0.103976 4.75135 -3.71876 1.54304 \n0.3088 3.1176 0 2.54844 5.55172 -2.54065e-006 \n0.309596 2.5272 -0.921647 0.333306 6.1884 -1.02131 \n0.309596 2.5272 0.921647 0.333314 6.1884 1.02131 \n0.310439 0.553725 -1.86763 0.822883 -3.36438 -5.1829 \n0.310439 0.553725 1.86763 0.822891 -3.36441 5.18288 \n0.311096 1.4712 -1.87158 0.934559 1.90181 -5.8862 \n0.311096 1.4712 1.87158 0.934567 1.90177 5.88621 \n0.31185 2.5728 -0.599396 0.445666 6.20627 -0.870932 \n0.31185 2.5728 0.599396 0.445667 6.20627 0.870934 \n0.312283 2.5974 -0.425519 0.676824 6.1763 -0.929232 \n0.312283 2.5974 0.425519 0.676824 6.1763 0.929232 \n0.314223 0.002175 -0.230604 0.0659492 -6.28247 -0.0480241 \n0.314223 0.002175 0.230604 0.0659489 -6.28247 0.0480241 \n0.31659 2.6256 -0.232342 1.23747 6.09013 -0.901352 \n0.31659 2.6256 0.232342 1.23747 6.09013 0.901353 \n0.318192 1.32323 -1.91427 0.949218 1.56583 -5.97818 \n0.318192 1.32323 1.91427 0.949214 1.56587 5.97817 \n0.318907 3.08115 -0.166221 4.37933 2.43972 -2.23361 \n0.318907 3.08115 0.166221 4.37934 2.43976 2.23363 \n0.319082 3.0348 -0.166306 5.09286 -1.60664 -2.59757 \n0.319082 3.0348 0.166306 5.0929 -1.60663 2.59759 \n0.319628 0.6564 -1.92291 0.89497 -2.46199 -5.63598 \n0.319628 0.6564 1.92291 0.894943 -2.46198 5.63599 \n0.320834 2.98125 -0.053508 4.93764 -3.71482 -0.778668 \n0.320834 2.98125 0.053508 4.93767 -3.71482 0.77862 \n0.323566 1.1784 -1.9466 0.963248 1.1425 -6.06642 \n0.323566 1.1784 1.9466 0.963249 1.14246 6.06643 \n0.325 2.98125 0 5.0005 -3.71335 -3.65302e-005 \n0.325553 0.0084 -0.625735 0.085775 -6.27995 -0.167676 \n0.325553 0.0084 0.625735 0.0857747 -6.27995 0.167676 \n0.325863 0.771675 -1.96042 0.95025 -1.30761 -5.98355 \n0.325863 0.771675 1.96042 0.950262 -1.3076 5.98355 \n0.32697 1.03718 -1.96708 0.974164 0.618078 -6.13486 \n0.32697 1.03718 1.96708 0.974179 0.618112 6.13486 \n0.32816 0.9 -1.97424 0.974825 -0.173 -6.13856 \n0.32816 0.9 1.97424 0.974845 -0.173022 6.13856 \n0.340289 3.08115 -0.114619 4.67702 2.43832 -1.51927 \n0.340289 3.08115 0.114619 4.67704 2.43836 1.51928 \n0.340477 3.0348 -0.114676 5.43836 -1.60445 -1.76658 \n0.340477 3.0348 0.114676 5.4384 -1.60444 1.76661 \n0.345503 0.002175 -0.179756 0.0727012 -6.28247 -0.0371841 \n0.345503 0.002175 0.179756 0.0727012 -6.28247 0.0371838 \n0.348105 2.6256 -0.18111 1.36377 6.08986 -0.697924 \n0.348105 2.6256 0.18111 1.36377 6.08987 0.697921 \n0.351008 2.5026 -1.04493 0.437681 6.11431 -1.34123 \n0.351008 2.5026 1.04493 0.437673 6.11431 1.34123 \n0.35361 3.08115 -0.058988 4.85961 2.43748 -0.766666 \n0.35361 3.08115 0.058988 4.85963 2.43752 0.766644 \n0.353807 3.0348 -0.059016 5.6498 -1.60247 -0.891333 \n0.353807 3.0348 0.059016 5.64984 -1.60246 0.891302 \n0.3582 3.08115 -0 4.92192 2.43833 -1.33067e-005 \n0.3584 3.0348 0 5.72167 -1.6021 -2.93329e-005 \n0.364854 0.0312 1.08615 0.175576 -6.2554 0.538108 \n0.364854 0.0312 -1.08615 0.175574 -6.2554 -0.538107 \n0.368768 0.002175 -0.123875 0.0777373 -6.28246 -0.0253527 \n0.368768 0.002175 0.123875 0.0777374 -6.28246 0.0253528 \n0.371546 2.6256 -0.124808 1.45785 6.08946 -0.475947 \n0.371546 2.6256 0.124808 1.45785 6.08946 0.475949 \n0.373318 2.5974 -0.373318 0.812685 6.17636 -0.812685 \n0.373318 2.5974 0.373318 0.812685 6.17636 0.812685 \n0.381942 2.55 -0.734118 0.433888 6.20994 -0.847959 \n0.381942 2.55 0.734118 0.433888 6.20994 0.847958 \n0.383274 0.002175 -0.063708 0.0808629 -6.28246 -0.0128186 \n0.383274 0.002175 0.063708 0.0808629 -6.28246 0.0128187 \n0.384379 2.4744 -1.14427 0.681839 5.84402 -2.08955 \n0.384379 2.4744 1.14427 0.681818 5.84402 2.08956 \n0.386161 2.6256 -0.064188 1.51633 6.08901 -0.240777 \n0.386161 2.6256 0.064188 1.51634 6.08901 0.240775 \n0.388275 0.002175 0 0.0819025 -6.28246 -2.86382e-008 \n0.3912 2.6256 0 1.53637 6.08874 1.28709e-006 \n0.400065 2.5728 -0.545131 0.575561 6.20639 -0.790223 \n0.400065 2.5728 0.545131 0.575561 6.20639 0.790223 \n0.406648 2.4408 -1.21056 1.24996 4.40506 -3.82951 \n0.406648 2.4408 1.21056 1.25 4.40503 3.82952 \n0.409767 0.046875 1.21985 0.285872 -6.2093 0.876125 \n0.409767 0.046875 -1.21985 0.28586 -6.2093 -0.876135 \n0.414752 2.4 -1.23469 0.803908 1.61499 -2.46075 \n0.414752 2.4 1.23469 0.803935 1.61502 2.46072 \n0.417645 0.0084 -0.569086 0.110778 -6.27996 -0.152117 \n0.417645 0.0084 0.569086 0.110778 -6.27996 0.152116 \n0.425519 2.5974 0.312283 0.929232 6.1763 0.676824 \n0.425519 2.5974 -0.312283 0.929232 6.1763 -0.676824 \n0.440403 2.463 -1.31105 -1.93431 -0.332694 5.92648 \n0.440403 2.463 1.31105 -1.93421 -0.332714 -5.92651 \n0.440935 0.018225 0.847506 0.154794 -6.27306 0.302576 \n0.440935 0.018225 -0.847506 0.154793 -6.27306 -0.302578 \n0.440985 2.48269 -1.31278 -1.79103 2.09462 5.48826 \n0.440985 2.48269 1.31278 -1.79108 2.09465 -5.48824 \n0.441041 0.0648 1.31295 0.471196 -6.07861 1.44408 \n0.441041 0.0648 -1.31295 0.471186 -6.07861 -1.44408 \n0.442166 2.43544 -1.3163 -1.86352 -1.79025 5.70938 \n0.442166 2.43544 1.3163 -1.86359 -1.79024 -5.70936 \n0.443529 2.4945 -1.32036 -1.08047 4.85708 3.30948 \n0.443529 2.4945 1.32036 -1.0805 4.85707 -3.30949 \n0.446656 2.4 -1.32966 -0.887075 -1.13637 2.71614 \n0.446656 2.4 1.32966 -0.887217 -1.13636 -2.7161 \n0.447653 2.49844 -1.33263 -0.0361616 6.06696 0.108551 \n0.447653 2.49844 1.33263 -0.0361191 6.06696 -0.108554 \n0.449256 2.5272 -0.863501 0.488793 6.18863 -0.955305 \n0.449256 2.5272 0.863501 0.488791 6.18863 0.95531 \n0.452973 2.4945 -1.34847 0.743385 5.69827 -2.27844 \n0.452973 2.4945 1.34847 0.743389 5.69827 2.27843 \n0.459107 2.48269 -1.36673 1.18405 4.91204 -3.62756 \n0.459107 2.48269 1.36673 1.18403 4.91205 3.62757 \n0.461116 0.084525 1.37271 0.795168 -5.67033 2.43676 \n0.461116 0.084525 -1.37271 0.795173 -5.67032 -2.43678 \n0.465671 2.463 -1.38627 1.44864 4.12937 -4.43762 \n0.465671 2.463 1.38627 1.44859 4.12935 4.43764 \n0.467878 2.5974 -0.243424 1.02411 6.17615 -0.524078 \n0.467878 2.5974 0.243424 1.02411 6.17615 0.524079 \n0.472283 2.43544 -1.40595 1.62444 3.39024 -4.97591 \n0.472283 2.43544 1.40595 1.62443 3.39026 4.9759 \n0.472434 0.1056 1.4064 1.28995 -4.45957 3.95179 \n0.472434 0.1056 -1.4064 1.28998 -4.45959 -3.95176 \n0.477435 0.127575 1.42129 1.73643 -2.26113 5.31778 \n0.477435 0.127575 -1.42129 1.73647 -2.26113 -5.31778 \n0.478256 2.5728 -0.478256 0.6911 6.20643 -0.691099 \n0.478256 2.5728 0.478256 0.691099 6.20643 0.6911 \n0.47856 0.15 -1.42464 1.83576 -1.95885 -5.62447 \n0.47856 2.4 -1.42464 1.72629 2.86164 -5.28808 \n0.47856 0.15 1.42464 1.83573 -1.95885 5.62448 \n0.47856 2.4 1.42464 1.72633 2.86164 5.28807 \n0.483027 0.177075 -1.43794 1.54175 -3.75414 -4.72339 \n0.483027 0.177075 1.43794 1.54172 -3.75415 4.72339 \n0.489984 2.55 -0.667656 0.560354 6.21006 -0.769361 \n0.489984 2.55 0.667656 0.560353 6.21006 0.769362 \n0.49515 0.2136 -1.47403 1.29422 -4.69232 -3.96489 \n0.49515 0.2136 1.47403 1.29426 -4.69232 3.96488 \n0.499272 0.0084 -0.499272 0.133022 -6.27996 -0.133022 \n0.499272 0.0084 0.499272 0.133022 -6.27996 0.133022 \n0.499384 2.5974 -0.167751 1.09481 6.17591 -0.3574 \n0.499384 2.5974 0.167751 1.09481 6.17591 0.357402 \n0.502408 2.24257 -1.49564 1.75884 2.67237 -5.38791 \n0.502408 2.24257 1.49564 1.75881 2.67238 5.38791 \n0.509349 2.5026 0.979002 0.641867 6.11474 1.25452 \n0.509349 2.5026 -0.979002 0.641866 6.11474 -1.25453 \n0.513016 0.260025 -1.52721 1.24406 -4.8271 -3.81114 \n0.513016 0.260025 1.52721 1.24405 -4.82709 3.81115 \n0.519028 2.5974 0.086273 1.13877 6.17566 0.180799 \n0.519028 2.5974 -0.086273 1.13877 6.17566 -0.1808 \n0.525778 2.0856 -1.5652 1.76691 2.61354 -5.41263 \n0.525778 2.0856 1.5652 1.76686 2.61351 5.41266 \n0.5258 2.5974 -0 1.15381 6.17551 2.77534e-007 \n0.529441 0.0312 -1.01762 0.257482 -6.25548 -0.503281 \n0.529441 0.0312 1.01762 0.257481 -6.25548 0.503285 \n0.534711 0.3168 -1.5918 1.27934 -4.72196 -3.91931 \n0.534711 0.3168 1.5918 1.27932 -4.72197 3.9193 \n0.545131 2.5728 -0.400065 0.790222 6.20639 -0.575561 \n0.545131 2.5728 0.400065 0.790223 6.20639 0.575561 \n0.54819 1.92953 -1.63192 1.78036 2.51307 -5.45385 \n0.54819 1.92953 1.63192 1.7804 2.51307 5.45383 \n0.557774 2.4744 -1.07208 1.00002 5.84508 -1.95467 \n0.557774 2.4744 1.07208 1.00003 5.84508 1.95466 \n0.55832 0.384375 -1.66208 1.36476 -4.45518 -4.18102 \n0.55832 0.384375 1.66208 1.36481 -4.45518 4.181 \n0.565664 0.018225 0.770779 0.199913 -6.27308 0.274505 \n0.565664 0.018225 -0.770779 0.199913 -6.27308 -0.274505 \n0.569086 0.0084 -0.417645 0.152116 -6.27996 -0.110778 \n0.569086 0.0084 0.417645 0.152117 -6.27996 0.110778 \n0.569167 1.7748 -1.69437 1.79902 2.36625 -5.5109 \n0.569167 1.7748 1.69437 1.79908 2.36627 5.51087 \n0.57634 2.5272 -0.785325 0.631267 6.18879 -0.866747 \n0.57634 2.5272 0.785325 0.631267 6.18879 0.866747 \n0.581929 0.4632 -1.73236 1.48545 -4.01722 -4.55045 \n0.581929 0.4632 1.73236 1.48543 -4.01721 4.55047 \n0.58575 2.55 -0.58575 0.672843 6.2101 -0.672844 \n0.58575 2.55 0.58575 0.672844 6.2101 0.672843 \n0.58823 1.62188 -1.75112 1.82235 2.16635 -5.58226 \n0.58823 1.62188 1.75112 1.82236 2.16636 5.58226 \n0.590089 2.4408 1.13419 1.83416 4.40727 3.58449 \n0.590089 2.4408 -1.13419 1.83417 4.40732 -3.58445 \n0.594614 0.046875 -1.14289 0.419232 -6.20949 -0.819441 \n0.594614 0.046875 1.14289 0.419223 -6.20949 0.819445 \n0.599396 2.5728 -0.31185 0.870934 6.20627 -0.445667 \n0.599396 2.5728 0.31185 0.870932 6.20627 0.445666 \n0.601848 2.4 -1.15679 1.17966 1.6163 -2.30415 \n0.601848 2.4 1.15679 1.17962 1.61634 2.30414 \n0.603624 0.553725 -1.79695 1.62799 -3.36735 -4.98694 \n0.603624 0.553725 1.79695 1.62798 -3.36737 4.98693 \n0.6049 1.4712 -1.80075 1.84941 1.90392 -5.66508 \n0.6049 1.4712 1.80075 1.84939 1.9039 5.66509 \n0.618698 1.32323 -1.84182 1.87841 1.56768 -5.75382 \n0.618698 1.32323 1.84182 1.87843 1.56767 5.75381 \n0.62149 0.6564 -1.85013 1.77076 -2.46441 -5.42391 \n0.62149 0.6564 1.85013 1.77079 -2.46441 5.4239 \n0.625735 0.0084 0.325553 0.167676 -6.27995 0.085775 \n0.625735 0.0084 -0.325553 0.167676 -6.27995 -0.0857747 \n0.629147 1.1784 -1.87293 1.90626 1.14382 -5.83893 \n0.629147 1.1784 1.87293 1.90623 1.14386 5.83893 \n0.633613 0.771675 -1.88622 1.88034 -1.30919 -5.75905 \n0.633613 0.771675 1.88622 1.88032 -1.30918 5.75906 \n0.635767 1.03718 -1.89263 1.92784 0.618821 -5.905 \n0.635767 1.03718 1.89263 1.92781 0.618784 5.90502 \n0.63808 0.9 -1.89952 1.92909 -0.173281 -5.90857 \n0.63808 0.9 1.89952 1.9291 -0.173273 5.90856 \n0.63907 2.463 -1.22834 -2.8397 -0.332266 5.54981 \n0.63907 2.463 1.22834 -2.83974 -0.332257 -5.5498 \n0.639758 2.5728 -0.214905 0.931088 6.20609 -0.303926 \n0.639758 2.5728 0.214905 0.931088 6.20609 0.303925 \n0.639915 2.48269 1.22996 -2.62919 2.09584 -5.13863 \n0.639915 2.48269 -1.22996 -2.6292 2.09589 5.1386 \n0.639996 0.0648 -1.23012 0.691043 -6.07913 -1.35074 \n0.639996 0.0648 1.23012 0.691035 -6.07913 1.35074 \n0.641628 2.43544 -1.23325 -2.73562 -1.79215 5.34591 \n0.641628 2.43544 1.23325 -2.7356 -1.79211 -5.34593 \n0.643607 2.4945 -1.23706 -1.58525 4.85798 3.09752 \n0.643607 2.4945 1.23706 -1.58526 4.85801 -3.09748 \n0.648144 2.4 -1.24578 -1.30182 -1.13839 2.54301 \n0.648144 2.4 1.24578 -1.30172 -1.13842 -2.54305 \n0.649591 2.49844 -1.24856 -0.0524518 6.0674 0.101347 \n0.649591 2.49844 1.24856 -0.052493 6.0674 -0.101333 \n0.653431 2.5026 -0.89037 0.828973 6.11503 -1.13823 \n0.653431 2.5026 0.89037 0.828974 6.11503 1.13823 \n0.657311 2.4945 -1.26339 1.09057 5.69962 -2.13175 \n0.657311 2.4945 1.26339 1.09059 5.69961 2.13176 \n0.664924 2.5728 -0.110524 0.968487 6.2059 -0.153744 \n0.664924 2.5728 0.110524 0.968488 6.2059 0.153744 \n0.666211 2.48269 1.2805 1.73698 4.91464 3.39443 \n0.666211 2.48269 -1.2805 1.73693 4.91462 -3.39447 \n0.667656 2.55 -0.489984 0.769362 6.21006 -0.560353 \n0.667656 2.55 0.489984 0.769361 6.21006 0.560354 \n0.667871 0.0084 -0.224349 0.179281 -6.27994 -0.0584896 \n0.667871 0.0084 0.224349 0.179281 -6.27994 0.0584894 \n0.669128 0.084525 -1.28611 1.16637 -5.67162 -2.27981 \n0.669128 0.084525 1.28611 1.16641 -5.67162 2.2798 \n0.6736 2.5728 0 0.981249 6.20581 -1.80677e-007 \n0.675736 2.463 -1.29881 2.12545 4.13249 -4.15342 \n0.675736 2.463 1.29881 2.12543 4.13252 4.15341 \n0.676222 0.018225 0.676222 0.240052 -6.27309 0.240052 \n0.676222 0.018225 -0.676222 0.240052 -6.27309 -0.240052 \n0.679207 0.0312 -0.925493 0.332532 -6.25553 -0.456603 \n0.679207 0.0312 0.925493 0.332531 -6.25553 0.456601 \n0.685331 2.43544 -1.31725 2.38378 3.39327 -4.65817 \n0.685331 2.43544 1.31725 2.38378 3.39323 4.6582 \n0.685551 0.1056 -1.31767 1.89265 -4.46215 -3.69877 \n0.685551 0.1056 1.31767 1.89269 -4.46215 3.69874 \n0.688984 2.5272 -0.688984 0.758002 6.18885 -0.758001 \n0.688984 2.5272 0.688984 0.758001 6.18885 0.758002 \n0.692808 0.127575 1.33162 2.54842 -2.26345 4.97928 \n0.692808 0.127575 -1.33162 2.54844 -2.26343 -4.97927 \n0.694143 0.0084 -0.115381 0.186489 -6.27993 -0.0295781 \n0.694143 0.0084 0.115381 0.186489 -6.27993 0.029578 \n0.69444 0.15 1.33476 2.69467 -1.96064 5.26635 \n0.69444 2.4 1.33476 2.53365 2.86432 4.95098 \n0.69444 0.15 -1.33476 2.6947 -1.96065 -5.26633 \n0.69444 2.4 -1.33476 2.53362 2.86433 -4.951 \n0.700921 0.177075 1.34722 2.26252 -3.75638 4.4215 \n0.700921 0.177075 -1.34722 2.2625 -3.75639 -4.4215 \n0.7032 0.0084 0 0.188909 -6.27993 -1.81608e-008 \n0.715555 2.4744 -0.975021 1.29165 5.84582 -1.77354 \n0.715555 2.4744 0.975021 1.29166 5.84582 1.77354 \n0.718514 0.2136 1.38103 1.89877 -4.69477 3.71051 \n0.718514 0.2136 -1.38103 1.89876 -4.69479 -3.71049 \n0.729046 2.24257 -1.40128 2.5815 2.67508 -5.04451 \n0.729046 2.24257 1.40128 2.58153 2.67513 5.04447 \n0.734118 2.55 -0.381942 0.847958 6.20994 -0.433888 \n0.734118 2.55 0.381942 0.847959 6.20994 0.433888 \n0.74444 0.260025 1.43086 1.82503 -4.8295 3.56649 \n0.74444 0.260025 -1.43086 1.82504 -4.82948 -3.56651 \n0.75701 2.4408 1.03151 2.36975 4.40908 3.25367 \n0.75701 2.4408 -1.03151 2.36979 4.40908 -3.25365 \n0.762816 0.046875 -1.03942 0.541443 -6.20963 -0.743451 \n0.762816 0.046875 1.03942 0.541445 -6.20963 0.743448 \n0.762958 2.0856 -1.46646 2.59332 2.61623 -5.06769 \n0.762958 2.0856 1.46646 2.59332 2.61623 5.0677 \n0.770779 0.018225 0.565664 0.274505 -6.27308 0.199913 \n0.770779 0.018225 -0.565664 0.274505 -6.27308 -0.199913 \n0.772096 2.4 -1.05206 1.5242 1.61739 -2.09217 \n0.772096 2.4 1.05206 1.52418 1.61738 2.0922 \n0.775921 0.3168 -1.49137 1.87691 -4.72448 -3.66785 \n0.775921 0.3168 1.49137 1.87692 -4.72446 3.66787 \n0.781142 2.5026 -0.781142 0.995416 6.11514 -0.995415 \n0.781142 2.5026 0.781142 0.995415 6.11514 0.995416 \n0.783552 2.55 -0.263208 0.906544 6.20976 -0.295885 \n0.783552 2.55 0.263208 0.906545 6.20976 0.295885 \n0.785325 2.5272 -0.57634 0.866747 6.18879 -0.631267 \n0.785325 2.5272 0.57634 0.866747 6.18879 0.631267 \n0.795481 1.92953 1.52897 2.61308 2.5155 5.10649 \n0.795481 1.92953 -1.52897 2.61314 2.51552 -5.10644 \n0.81018 0.384375 1.55722 2.00233 -4.45799 3.91298 \n0.81018 0.384375 -1.55722 2.00235 -4.458 -3.91297 \n0.811956 0.0312 0.811956 0.399299 -6.25555 0.399298 \n0.811956 0.0312 -0.811956 0.399298 -6.25555 -0.399299 \n0.814374 2.55 -0.135366 0.942962 6.20958 -0.149667 \n0.814374 2.55 0.135366 0.942961 6.20958 0.149667 \n0.819847 2.463 -1.11713 -3.6701 -0.332081 5.03901 \n0.819847 2.463 1.11713 -3.67013 -0.332037 -5.03899 \n0.820931 2.48269 1.11861 -3.398 2.0968 -4.6656 \n0.820931 2.48269 -1.11861 -3.39799 2.09683 4.66559 \n0.821035 0.0648 1.11875 0.892533 -6.07949 1.22551 \n0.821035 0.0648 -1.11875 0.892524 -6.07949 -1.22551 \n0.823129 2.43544 -1.1216 -3.53533 -1.79345 4.85387 \n0.823129 2.43544 1.1216 -3.53533 -1.7935 -4.85385 \n0.825 2.55 0 0.955352 6.2095 -1.91852e-007 \n0.825668 2.4945 -1.12506 -2.04843 4.85773 2.81211 \n0.825668 2.4945 1.12506 -2.04839 4.85774 -2.81213 \n0.825921 1.7748 1.58747 2.64055 2.36862 5.16002 \n0.825921 1.7748 -1.58747 2.64058 2.36862 -5.16001 \n0.831488 2.4 -1.13299 -1.68227 -1.139 2.30932 \n0.831488 2.4 1.13299 -1.6823 -1.13898 -2.30931 \n0.833344 2.49844 -1.13552 -0.0679219 6.06783 0.0927535 \n0.833344 2.49844 1.13552 -0.0679107 6.06783 -0.0927767 \n0.843248 2.4945 -1.14902 1.40875 5.70029 -1.93443 \n0.843248 2.4945 1.14902 1.40872 5.70028 1.93447 \n0.844439 0.4632 1.62307 2.1796 -4.02011 4.25933 \n0.844439 0.4632 -1.62307 2.1796 -4.02009 -4.25935 \n0.847506 0.018225 -0.440935 0.302576 -6.27306 -0.154794 \n0.847506 0.018225 0.440935 0.302578 -6.27306 0.154793 \n0.853583 1.62188 -1.64064 2.67485 2.16867 -5.22694 \n0.853583 1.62188 1.64064 2.6749 2.16865 5.22692 \n0.854666 2.48269 -1.16457 2.2442 4.91591 -3.08125 \n0.854666 2.48269 1.16457 2.24414 4.91592 3.08129 \n0.855408 2.4744 -0.855408 1.55104 5.84608 -1.55104 \n0.855408 2.4744 0.855408 1.55104 5.84608 1.55104 \n0.858407 0.084525 -1.16967 1.50646 -5.67276 -2.06847 \n0.858407 0.084525 1.16967 1.50646 -5.67275 2.06849 \n0.863501 2.5272 -0.449256 0.95531 6.18863 -0.488791 \n0.863501 2.5272 0.449256 0.955305 6.18863 0.488793 \n0.866886 2.463 -1.18122 2.74586 4.13488 -3.77003 \n0.866886 2.463 1.18122 2.74594 4.13487 3.76998 \n0.87592 0.553725 -1.68358 2.3891 -3.37037 -4.66858 \n0.87592 0.553725 1.68358 2.38911 -3.37034 4.66859 \n0.877772 1.4712 -1.68714 2.7147 1.90601 -5.30463 \n0.877772 1.4712 1.68714 2.71469 1.90609 5.30462 \n0.879195 2.43544 -1.198 3.08001 3.39539 -4.22873 \n0.879195 2.43544 1.198 3.08004 3.3954 4.22869 \n0.879477 0.1056 -1.19838 2.44508 -4.46432 -3.35704 \n0.879477 0.1056 1.19838 2.44504 -4.46433 3.35704 \n0.888786 0.127575 1.21107 3.29309 -2.2645 4.52105 \n0.888786 0.127575 -1.21107 3.2931 -2.26447 -4.52105 \n0.89037 2.5026 -0.653431 1.13823 6.11503 -0.828974 \n0.89037 2.5026 0.653431 1.13823 6.11503 0.828973 \n0.89088 2.4 -1.21392 3.27414 2.86589 -4.49507 \n0.89088 0.15 -1.21392 3.48255 -1.96107 -4.78156 \n0.89088 0.15 1.21392 3.48257 -1.96105 4.78155 \n0.89088 2.4 1.21392 3.27409 2.86587 4.49511 \n0.897795 1.32323 -1.72562 2.75732 1.56942 -5.38793 \n0.897795 1.32323 1.72562 2.75727 1.56935 5.38798 \n0.899195 0.177075 1.22525 2.92337 -3.75783 4.0137 \n0.899195 0.177075 -1.22525 2.92336 -3.75784 -4.0137 \n0.901846 0.6564 -1.73341 2.59892 -2.467 -5.07846 \n0.901846 0.6564 1.73341 2.59892 -2.46702 5.07845 \n0.904575 0.018225 0.303862 0.323508 -6.27303 0.105554 \n0.904575 0.018225 -0.303862 0.323509 -6.27303 -0.10555 \n0.904966 2.4408 0.904966 2.84585 4.40995 2.84582 \n0.904966 2.4408 -0.904966 2.84582 4.40995 -2.84585 \n0.911906 0.046875 -0.911906 0.650153 -6.20967 -0.650153 \n0.911906 0.046875 0.911906 0.650153 -6.20967 0.650153 \n0.912957 1.1784 -1.75476 2.79822 1.14527 -5.46788 \n0.912957 1.1784 1.75476 2.79827 1.14531 5.46784 \n0.919439 0.771675 -1.76722 2.76002 -1.31063 -5.39303 \n0.919439 0.771675 1.76722 2.76002 -1.31064 5.39303 \n0.921647 2.5272 -0.309596 1.02131 6.1884 -0.333314 \n0.921647 2.5272 0.309596 1.02131 6.1884 0.333306 \n0.921764 0.2136 1.256 2.4529 -4.69644 3.36773 \n0.921764 0.2136 -1.256 2.4529 -4.69643 -3.36773 \n0.922564 1.03718 1.77323 2.82999 0.619657 5.52981 \n0.922564 1.03718 -1.77323 2.82996 0.619664 -5.52983 \n0.923 2.4 -0.923 1.83023 1.61795 -1.83026 \n0.923 2.4 0.923 1.83026 1.61795 1.83023 \n0.925493 0.0312 0.679207 0.456603 -6.25553 0.332532 \n0.925493 0.0312 -0.679207 0.456601 -6.25553 -0.332531 \n0.92592 0.9 1.77968 2.83179 -0.173543 5.53331 \n0.92592 0.9 -1.77968 2.83184 -0.173558 -5.53328 \n0.935276 2.24257 -1.27441 3.33598 2.67682 -4.57993 \n0.935276 2.24257 1.27441 3.33595 2.67685 4.57994 \n0.940158 0.018225 0.156274 0.336516 -6.27301 0.0533796 \n0.940158 0.018225 -0.156274 0.336517 -6.27301 -0.0533817 \n0.952425 0.018225 0 0.340896 -6.273 2.22586e-007 \n0.955023 0.260025 1.30132 2.35765 -4.83109 3.23698 \n0.955023 0.260025 -1.30132 2.35764 -4.83108 -3.23698 \n0.957901 2.5272 -0.159223 1.06234 6.18817 -0.168584 \n0.957901 2.5272 0.159223 1.06234 6.18817 0.168588 \n0.9704 2.5272 0 1.07626 6.18808 7.18981e-007 \n0.975021 2.4744 -0.715555 1.77354 5.84582 -1.29166 \n0.975021 2.4744 0.715555 1.77354 5.84582 1.29165 \n0.97878 2.0856 -1.33369 3.35125 2.61809 -4.60098 \n0.97878 2.0856 1.33369 3.35126 2.61809 4.60097 \n0.979002 2.5026 0.509349 1.25453 6.11474 0.641866 \n0.979002 2.5026 -0.509349 1.25452 6.11474 -0.641867 \n0.980084 2.463 -0.980084 -4.408 -0.332575 4.40797 \n0.980084 2.463 0.980084 -4.40797 -0.332575 -4.408 \n0.98138 2.48269 -0.98138 -4.08095 2.09722 4.08096 \n0.98138 2.48269 0.98138 -4.08096 2.09722 -4.08095 \n0.981504 0.0648 0.981504 1.07171 -6.07963 1.07172 \n0.981504 0.0648 -0.981504 1.07172 -6.07963 -1.07171 \n0.984007 2.43544 -0.984007 -4.24599 -1.79403 4.24598 \n0.984007 2.43544 0.984007 -4.24598 -1.79403 -4.24599 \n0.987042 2.4945 -0.987042 -2.45959 4.85831 2.45961 \n0.987042 2.4945 0.987042 -2.45961 4.85831 -2.45959 \n0.994 2.4 -0.994 -2.02029 -1.13932 2.02028 \n0.994 2.4 0.994 -2.02028 -1.13932 -2.02029 \n0.99541 0.3168 -1.35635 2.42471 -4.72616 -3.32903 \n0.99541 0.3168 1.35635 2.4247 -4.72616 3.32904 \n0.996219 2.49844 -0.996219 -0.0813183 6.06792 0.081324 \n0.996219 2.49844 0.996219 -0.081324 6.06792 -0.0813183 \n1.00806 2.4945 -1.00806 1.69145 5.70091 -1.69148 \n1.00806 2.4945 1.00806 1.69148 5.70091 1.69145 \n1.01762 0.0312 0.529441 0.503281 -6.25548 0.257482 \n1.01762 0.0312 -0.529441 0.503285 -6.25548 -0.257481 \n1.0205 1.92953 -1.39055 3.37683 2.51737 -4.63623 \n1.0205 1.92953 1.39055 3.37688 2.51736 4.63621 \n1.02171 2.48269 -1.02171 2.69456 4.91687 -2.69461 \n1.02171 2.48269 1.02171 2.69461 4.91687 2.69456 \n1.02618 0.084525 -1.02618 1.80893 -5.67316 -1.80891 \n1.02618 0.084525 1.02618 1.80891 -5.67316 1.80893 \n1.03151 2.4408 0.75701 3.25365 4.40908 2.36979 \n1.03151 2.4408 -0.75701 3.25367 4.40908 -2.36975 \n1.03632 2.463 -1.03632 3.29787 4.13496 -3.29779 \n1.03632 2.463 1.03632 3.29779 4.13496 3.29787 \n1.03936 0.384375 -1.41624 2.58688 -4.45987 -3.55164 \n1.03936 0.384375 1.41624 2.58686 -4.45987 3.55166 \n1.03942 0.046875 -0.762816 0.743448 -6.20963 -0.541445 \n1.03942 0.046875 0.762816 0.743451 -6.20963 0.541443 \n1.04493 2.5026 -0.351008 1.34123 6.11431 -0.437673 \n1.04493 2.5026 0.351008 1.34123 6.11431 0.437681 \n1.05103 2.43544 -1.05103 3.69932 3.39566 -3.69926 \n1.05103 2.43544 1.05103 3.69926 3.39566 3.69932 \n1.05137 0.1056 -1.05137 2.93631 -4.46487 -2.93632 \n1.05137 0.1056 1.05137 2.93632 -4.46487 2.93631 \n1.05206 2.4 -0.772096 2.0922 1.61738 -1.52418 \n1.05206 2.4 0.772096 2.09217 1.61739 1.5242 \n1.05955 1.7748 -1.44376 3.41233 2.37029 -4.68496 \n1.05955 1.7748 1.44376 3.41236 2.37027 4.68495 \n1.0625 0.127575 1.0625 3.95508 -2.26465 3.95505 \n1.0625 0.127575 -1.0625 3.95505 -2.26465 -3.95508 \n1.065 0.15 -1.065 4.18269 -1.96118 -4.18271 \n1.065 0.15 1.065 4.18271 -1.96118 4.18269 \n1.065 2.4 -1.065 3.93204 2.86668 -3.93206 \n1.065 2.4 1.065 3.93206 2.86668 3.93204 \n1.07208 2.4744 -0.557774 1.95466 5.84508 -1.00003 \n1.07208 2.4744 0.557774 1.95467 5.84508 1.00002 \n1.07494 0.177075 -1.07494 3.51076 -3.7584 -3.51075 \n1.07494 0.177075 1.07494 3.51075 -3.7584 3.51076 \n1.08331 0.4632 -1.47613 2.81612 -4.02211 -3.86634 \n1.08331 0.4632 1.47613 2.81611 -4.02211 3.86635 \n1.08603 2.5026 0.180521 1.39504 6.1139 0.221345 \n1.08603 2.5026 -0.180521 1.39505 6.1139 -0.221344 \n1.08615 0.0312 0.364854 0.538107 -6.2554 0.175574 \n1.08615 0.0312 -0.364854 0.538108 -6.2554 -0.175576 \n1.09504 1.62188 -1.49211 3.45681 2.17003 -4.74584 \n1.09504 1.62188 1.49211 3.45674 2.17004 4.74588 \n1.1002 2.5026 -0 1.41323 6.11377 -3.60981e-006 \n1.10192 0.2136 1.10192 2.94557 -4.69704 2.94559 \n1.10192 0.2136 -1.10192 2.94559 -4.69704 -2.94557 \n1.11713 2.463 -0.819847 -5.03899 -0.332037 3.67013 \n1.11713 2.463 0.819847 -5.03901 -0.332081 -3.6701 \n1.11807 2.24257 -1.11807 4.00636 2.67748 -4.00638 \n1.11807 2.24257 1.11807 4.00638 2.67748 4.00636 \n1.11861 2.48269 -0.820931 -4.6656 2.0968 3.398 \n1.11861 2.48269 0.820931 -4.66559 2.09683 -3.39799 \n1.11875 0.0648 -0.821035 1.22551 -6.07949 -0.892533 \n1.11875 0.0648 0.821035 1.22551 -6.07949 0.892524 \n1.1216 2.43544 -0.823129 -4.85385 -1.7935 3.53533 \n1.1216 2.43544 0.823129 -4.85387 -1.79345 -3.53533 \n1.1237 0.553725 -1.53116 3.08707 -3.37241 -4.23826 \n1.1237 0.553725 1.53116 3.08706 -3.3724 4.23827 \n1.12506 2.4945 -0.825668 -2.81213 4.85774 2.04839 \n1.12506 2.4945 0.825668 -2.81211 4.85773 -2.04843 \n1.12607 1.4712 -1.53439 3.50824 1.90755 -4.8165 \n1.12607 1.4712 1.53439 3.50824 1.90758 4.81649 \n1.12887 0.0312 -0.187642 0.559736 -6.25533 -0.088788 \n1.12887 0.0312 0.187642 0.559736 -6.25533 0.0887893 \n1.13299 2.4 -0.831488 -2.30931 -1.13898 1.6823 \n1.13299 2.4 0.831488 -2.30932 -1.139 -1.68227 \n1.13419 2.4408 0.590089 3.58445 4.40732 1.83417 \n1.13419 2.4408 -0.590089 3.58449 4.40727 -1.83416 \n1.13552 2.49844 -0.833344 -0.0927767 6.06783 0.0679107 \n1.13552 2.49844 0.833344 -0.0927535 6.06783 -0.0679219 \n1.14168 0.260025 1.14168 2.83121 -4.83165 2.83121 \n1.14168 0.260025 -1.14168 2.83121 -4.83165 -2.83121 \n1.14289 0.046875 -0.594614 0.819445 -6.20949 -0.419223 \n1.14289 0.046875 0.594614 0.819441 -6.20949 0.419232 \n1.1436 0.0312 0 0.567033 -6.25531 -1.72108e-006 \n1.14427 2.4744 -0.384379 2.08956 5.84402 -0.681818 \n1.14427 2.4744 0.384379 2.08955 5.84402 0.681839 \n1.14902 2.4945 -0.843248 1.93447 5.70028 -1.40872 \n1.14902 2.4945 0.843248 1.93443 5.70029 1.40875 \n1.15176 1.32323 -1.5694 3.56331 1.57078 -4.89224 \n1.15176 1.32323 1.5694 3.56336 1.57075 4.89221 \n1.15679 2.4 -0.601848 2.30414 1.61634 -1.17962 \n1.15679 2.4 0.601848 2.30415 1.6163 1.17966 \n1.15696 0.6564 -1.57648 3.35851 -2.46883 -4.61087 \n1.15696 0.6564 1.57648 3.35851 -2.46882 4.61087 \n1.16457 2.48269 -0.854666 3.08129 4.91592 -2.24414 \n1.16457 2.48269 0.854666 3.08125 4.91591 2.2442 \n1.16967 0.084525 -0.858407 2.06849 -5.67275 -1.50646 \n1.16967 0.084525 0.858407 2.06847 -5.67276 1.50646 \n1.17008 2.0856 -1.17008 4.02475 2.61873 -4.02476 \n1.17008 2.0856 1.17008 4.02476 2.61873 4.02475 \n1.17121 1.1784 -1.5959 3.61639 1.14601 -4.96496 \n1.17121 1.1784 1.5959 3.61635 1.14599 4.96499 \n1.17953 0.771675 -1.60723 3.56694 -1.31161 -4.89698 \n1.17953 0.771675 1.60723 3.56696 -1.31162 4.89696 \n1.18122 2.463 -0.866886 3.76998 4.13487 -2.74594 \n1.18122 2.463 0.866886 3.77003 4.13488 2.74586 \n1.18353 1.03718 -1.61269 3.6575 0.6201 -5.02134 \n1.18353 1.03718 1.61269 3.65749 0.620139 5.02134 \n1.18784 0.9 -1.61856 3.65983 -0.173488 -5.02455 \n1.18784 0.9 1.61856 3.65988 -0.173499 5.02452 \n1.18928 2.4744 -0.197684 2.17312 5.84304 -0.344793 \n1.18928 2.4744 0.197684 2.17312 5.84304 0.34479 \n1.18996 0.3168 -1.18996 2.91178 -4.72672 -2.91179 \n1.18996 0.3168 1.18996 2.91179 -4.72672 2.91178 \n1.198 2.43544 -0.879195 4.22869 3.3954 -3.08004 \n1.198 2.43544 0.879195 4.22873 3.39539 3.08001 \n1.19838 0.1056 -0.879477 3.35704 -4.46433 -2.44504 \n1.19838 0.1056 0.879477 3.35704 -4.46432 2.44508 \n1.2048 2.4744 0 2.20126 5.84279 -5.89341e-006 \n1.21056 2.4408 0.406648 3.82951 4.40506 1.24996 \n1.21056 2.4408 -0.406648 3.82952 4.40503 -1.25 \n1.21107 0.127575 0.888786 4.52105 -2.26447 3.2931 \n1.21107 0.127575 -0.888786 4.52105 -2.2645 -3.29309 \n1.21392 0.15 -0.89088 4.78155 -1.96105 -3.48257 \n1.21392 0.15 0.89088 4.78156 -1.96107 3.48255 \n1.21392 2.4 -0.89088 4.49511 2.86587 -3.27409 \n1.21392 2.4 0.89088 4.49507 2.86589 3.27414 \n1.21985 0.046875 -0.409767 0.876125 -6.2093 -0.285872 \n1.21985 0.046875 0.409767 0.876135 -6.2093 0.28586 \n1.21996 1.92953 1.21996 4.05559 2.51792 4.05561 \n1.21996 1.92953 -1.21996 4.05561 2.51792 -4.05559 \n1.22525 0.177075 0.899195 4.0137 -3.75784 2.92336 \n1.22525 0.177075 -0.899195 4.0137 -3.75783 -2.92337 \n1.22834 2.463 -0.63907 -5.5498 -0.332257 2.83974 \n1.22834 2.463 0.63907 -5.54981 -0.332266 -2.8397 \n1.22996 2.48269 -0.639915 -5.13863 2.09584 2.6292 \n1.22996 2.48269 0.639915 -5.1386 2.09589 -2.6292 \n1.23012 0.0648 -0.639996 1.35074 -6.07913 -0.691035 \n1.23012 0.0648 0.639996 1.35074 -6.07913 0.691043 \n1.23325 2.43544 -0.641628 -5.34593 -1.79211 2.7356 \n1.23325 2.43544 0.641628 -5.34591 -1.79215 -2.73562 \n1.23469 2.4 -0.414752 2.46072 1.61502 -0.803935 \n1.23469 2.4 0.414752 2.46075 1.61499 0.803908 \n1.23706 2.4945 -0.643607 -3.09748 4.85801 1.58526 \n1.23706 2.4945 0.643607 -3.09752 4.85798 -1.58525 \n1.2425 0.384375 -1.2425 3.10658 -4.46046 -3.1066 \n1.2425 0.384375 1.2425 3.1066 -4.46046 3.10658 \n1.24578 2.4 -0.648144 -2.54305 -1.13842 1.30172 \n1.24578 2.4 0.648144 -2.54301 -1.13839 -1.30182 \n1.24856 2.49844 -0.649591 -0.101333 6.0674 0.052493 \n1.24856 2.49844 0.649591 -0.101347 6.0674 -0.0524518 \n1.256 0.2136 0.921764 3.36773 -4.69643 2.4529 \n1.256 0.2136 -0.921764 3.36773 -4.69644 -2.4529 \n1.25818 2.4408 0.209136 3.98066 4.40275 0.631867 \n1.25818 2.4408 -0.209136 3.98063 4.40277 -0.631913 \n1.26339 2.4945 -0.657311 2.13176 5.69961 -1.09059 \n1.26339 2.4945 0.657311 2.13175 5.69962 1.09057 \n1.26664 1.7748 -1.26664 4.09828 2.37081 -4.09826 \n1.26664 1.7748 1.26664 4.09826 2.37081 4.09828 \n1.26783 0.046875 -0.21074 0.911287 -6.20912 -0.14455 \n1.26783 0.046875 0.21074 0.91129 -6.20912 0.144563 \n1.27441 2.24257 -0.935276 4.57994 2.67685 -3.33595 \n1.27441 2.24257 0.935276 4.57993 2.67682 3.33598 \n1.2746 2.4408 0 4.03183 4.40226 3.90783e-005 \n1.2805 2.48269 -0.666211 3.39443 4.91464 -1.73698 \n1.2805 2.48269 0.666211 3.39447 4.91462 1.73693 \n1.28326 2.4 -0.213304 2.55737 1.61353 -0.406552 \n1.28326 2.4 0.213304 2.55736 1.61355 0.406509 \n1.28437 0.046875 0 0.923163 -6.20906 -3.63588e-006 \n1.28611 0.084525 -0.669128 2.2798 -5.67162 -1.16641 \n1.28611 0.084525 0.669128 2.27981 -5.67162 1.16637 \n1.29504 0.4632 -1.29504 3.38193 -4.02277 -3.38195 \n1.29504 0.4632 1.29504 3.38195 -4.02277 3.38193 \n1.29881 2.463 -0.675736 4.15341 4.13252 -2.12543 \n1.29881 2.463 0.675736 4.15342 4.13249 2.12545 \n1.3 2.4 0 2.59101 1.61307 3.64427e-005 \n1.30132 0.260025 0.955023 3.23698 -4.83108 2.35764 \n1.30132 0.260025 -0.955023 3.23698 -4.83109 -2.35765 \n1.30906 1.62188 -1.30906 4.15155 2.17066 -4.15159 \n1.30906 1.62188 1.30906 4.15159 2.17066 4.15155 \n1.31105 2.463 -0.440403 -5.92651 -0.332714 1.93421 \n1.31105 2.463 0.440403 -5.92648 -0.332694 -1.93431 \n1.31278 2.48269 -0.440985 -5.48824 2.09465 1.79108 \n1.31278 2.48269 0.440985 -5.48826 2.09462 -1.79103 \n1.31295 0.0648 0.441041 1.44408 -6.07861 0.471186 \n1.31295 0.0648 -0.441041 1.44408 -6.07861 -0.471196 \n1.3163 2.43544 -0.442166 -5.70936 -1.79024 1.86359 \n1.3163 2.43544 0.442166 -5.70938 -1.79025 -1.86352 \n1.31725 2.43544 -0.685331 4.6582 3.39323 -2.38378 \n1.31725 2.43544 0.685331 4.65817 3.39327 2.38378 \n1.31767 0.1056 -0.685551 3.69874 -4.46215 -1.89269 \n1.31767 0.1056 0.685551 3.69877 -4.46215 1.89265 \n1.32036 2.4945 -0.443529 -3.30949 4.85707 1.0805 \n1.32036 2.4945 0.443529 -3.30948 4.85708 -1.08047 \n1.32966 2.4 -0.446656 -2.7161 -1.13636 0.887217 \n1.32966 2.4 0.446656 -2.71614 -1.13637 -0.887075 \n1.33162 0.127575 0.692808 4.97927 -2.26343 2.54844 \n1.33162 0.127575 -0.692808 4.97928 -2.26345 -2.54842 \n1.33263 2.49844 -0.447653 -0.108554 6.06696 0.0361191 \n1.33263 2.49844 0.447653 -0.108551 6.06696 -0.0361618 \n1.33369 2.0856 -0.97878 4.60097 2.61809 -3.35126 \n1.33369 2.0856 0.97878 4.60098 2.61809 3.35125 \n1.33476 0.15 0.69444 5.26633 -1.96065 2.6947 \n1.33476 0.15 -0.69444 5.26635 -1.96064 -2.69467 \n1.33476 2.4 -0.69444 4.95098 2.86432 -2.53365 \n1.33476 2.4 0.69444 4.951 2.86433 2.53362 \n1.34332 0.553725 -1.34332 3.7074 -3.3731 -3.70741 \n1.34332 0.553725 1.34332 3.70741 -3.3731 3.7074 \n1.34616 1.4712 -1.34616 4.21337 1.9081 -4.21339 \n1.34616 1.4712 1.34616 4.21339 1.9081 4.21337 \n1.34722 0.177075 0.700921 4.4215 -3.75639 2.2625 \n1.34722 0.177075 -0.700921 4.4215 -3.75638 -2.26252 \n1.34847 2.4945 -0.452973 2.27843 5.69827 -0.743389 \n1.34847 2.4945 0.452973 2.27844 5.69827 0.743385 \n1.35635 0.3168 -0.99541 3.32904 -4.72616 -2.4247 \n1.35635 0.3168 0.99541 3.32903 -4.72616 2.42471 \n1.36262 2.463 -0.226496 -6.1573 -0.331439 0.97732 \n1.36262 2.463 0.226496 -6.15731 -0.331391 -0.977256 \n1.36442 2.48269 -0.226795 -5.70347 2.09193 0.905079 \n1.36442 2.48269 0.226795 -5.70349 2.09186 -0.905141 \n1.3646 0.0648 -0.226824 1.50198 -6.07811 -0.238286 \n1.3646 0.0648 0.226824 1.50199 -6.07811 0.238276 \n1.36673 2.48269 -0.459107 3.62757 4.91205 -1.18403 \n1.36673 2.48269 0.459107 3.62756 4.91204 1.18405 \n1.36807 2.43544 -0.227403 -5.93197 -1.78857 0.941634 \n1.36807 2.43544 0.227403 -5.93196 -1.78857 -0.941692 \n1.37229 2.4945 -0.228104 -3.44068 4.85452 0.546433 \n1.37229 2.4945 0.228104 -3.44064 4.85456 -0.546445 \n1.37271 0.084525 -0.461116 2.43676 -5.67033 -0.795168 \n1.37271 0.084525 0.461116 2.43678 -5.67032 0.795173 \n1.37687 1.32323 -1.37687 4.2797 1.57113 -4.27967 \n1.37687 1.32323 1.37687 4.27967 1.57113 4.2797 \n1.3804 2.463 0 -6.2342 -0.331064 -1.27256e-005 \n1.38103 0.2136 0.718514 3.71049 -4.69479 1.89876 \n1.38103 0.2136 -0.718514 3.71051 -4.69477 -1.89877 \n1.38197 2.4 -0.229712 -2.82192 -1.13595 0.448365 \n1.38197 2.4 0.229712 -2.82189 -1.13596 -0.448501 \n1.38223 2.48269 0 -5.77525 2.09108 2.59802e-005 \n1.3824 0.0648 0 1.52138 -6.07802 1.58623e-005 \n1.38308 0.6564 -1.38308 4.03351 -2.46948 -4.0335 \n1.38308 0.6564 1.38308 4.0335 -2.46948 4.03351 \n1.38505 2.49844 -0.230225 -0.112348 6.06655 0.0184186 \n1.38505 2.49844 0.230225 -0.112354 6.06654 -0.0184162 \n1.38593 2.43544 0 -6.00671 -1.78761 1.34334e-005 \n1.38627 2.463 -0.465671 4.43764 4.12935 -1.44859 \n1.38627 2.463 0.465671 4.43762 4.12937 1.44864 \n1.3902 2.4945 0 -3.4853 4.8525 -6.94767e-006 \n1.39055 1.92953 -1.0205 4.63621 2.51736 -3.37688 \n1.39055 1.92953 1.0205 4.63623 2.51737 3.37683 \n1.4 2.4 0 -2.8586 -1.13494 6.143e-005 \n1.40012 1.1784 -1.40012 4.34337 1.14632 -4.34337 \n1.40012 1.1784 1.40012 4.34337 1.14632 4.34337 \n1.40128 2.24257 -0.729046 5.04447 2.67513 -2.58153 \n1.40128 2.24257 0.729046 5.04451 2.67508 2.5815 \n1.40151 2.4945 -0.232961 2.3694 5.69708 -0.375863 \n1.40151 2.4945 0.232961 2.36938 5.69708 0.375861 \n1.40313 2.49844 0 -0.114232 6.06627 1.38693e-005 \n1.40595 2.43544 -0.472283 4.9759 3.39026 -1.62443 \n1.40595 2.43544 0.472283 4.97591 3.39024 1.62444 \n1.4064 0.1056 -0.472434 3.95179 -4.45957 -1.28995 \n1.4064 0.1056 0.472434 3.95176 -4.45959 1.28998 \n1.41006 0.771675 -1.41006 4.28395 -1.31207 -4.28392 \n1.41006 0.771675 1.41006 4.28392 -1.31207 4.28395 \n1.41485 1.03718 -1.41485 4.39274 0.620284 -4.39273 \n1.41485 1.03718 1.41485 4.39273 0.620284 4.39274 \n1.41624 0.384375 -1.03936 3.55166 -4.45987 -2.58686 \n1.41624 0.384375 1.03936 3.55164 -4.45987 2.58688 \n1.4198 2.4945 0 2.39993 5.69693 -2.01166e-006 \n1.42 0.9 -1.42 4.39558 -0.173599 -4.39555 \n1.42 0.9 1.42 4.39555 -0.173599 4.39558 \n1.42049 2.48269 -0.236115 3.77137 4.90982 -0.598646 \n1.42049 2.48269 0.236115 3.77139 4.9098 0.598622 \n1.42129 0.127575 0.477435 5.31778 -2.26113 1.73647 \n1.42129 0.127575 -0.477435 5.31778 -2.26113 -1.73643 \n1.42464 0.15 -0.47856 5.62448 -1.95885 -1.83573 \n1.42464 0.15 0.47856 5.62447 -1.95885 1.83576 \n1.42464 2.4 -0.47856 5.28807 2.86164 -1.72633 \n1.42464 2.4 0.47856 5.28808 2.86164 1.72629 \n1.42671 0.084525 -0.237149 2.53395 -5.66909 -0.402068 \n1.42671 0.084525 0.237149 2.53394 -5.6691 0.402089 \n1.43086 0.260025 0.74444 3.56651 -4.82948 1.82504 \n1.43086 0.260025 -0.74444 3.56649 -4.8295 -1.82503 \n1.43794 0.177075 0.483027 4.72339 -3.75414 1.54175 \n1.43794 0.177075 -0.483027 4.72339 -3.75415 -1.54172 \n1.43903 2.48269 0 3.82018 4.90887 1.59144e-005 \n1.4408 2.463 -0.239491 4.61249 4.12683 -0.732313 \n1.4408 2.463 0.239491 4.6125 4.12683 0.732224 \n1.44376 1.7748 -1.05955 4.68495 2.37027 -3.41236 \n1.44376 1.7748 1.05955 4.68496 2.37029 3.41233 \n1.44533 0.084525 0 2.56685 -5.66867 -8.65757e-006 \n1.4596 2.463 0 4.67226 4.12514 5.43818e-005 \n1.46126 2.43544 -0.242892 5.17131 3.38726 -0.821046 \n1.46126 2.43544 0.242892 5.1713 3.38726 0.821051 \n1.46173 0.1056 -0.24297 4.10813 -4.45665 -0.652146 \n1.46173 0.1056 0.24297 4.10812 -4.45667 0.652156 \n1.46646 2.0856 -0.762958 5.0677 2.61623 -2.59332 \n1.46646 2.0856 0.762958 5.06769 2.61623 2.59332 \n1.47403 0.2136 0.49515 3.96489 -4.69232 1.29423 \n1.47403 0.2136 -0.49515 3.96488 -4.69232 -1.29426 \n1.47613 0.4632 -1.08331 3.86635 -4.02211 -2.81611 \n1.47613 0.4632 1.08331 3.86634 -4.02211 2.81612 \n1.4772 0.127575 0.245542 5.52616 -2.25835 0.877705 \n1.4772 0.127575 -0.245542 5.52613 -2.25838 -0.877758 \n1.48032 2.43544 0 5.23749 3.38614 -4.448e-006 \n1.48068 0.15 -0.24612 5.8443 -1.95636 -0.927597 \n1.48068 0.15 0.24612 5.8443 -1.95638 0.927543 \n1.48068 2.4 -0.24612 5.49543 2.85853 -0.872474 \n1.48068 2.4 0.24612 5.49543 2.85851 0.87253 \n1.4808 0.1056 0 4.16123 -4.45593 -2.86847e-005 \n1.49137 0.3168 -0.775921 3.66787 -4.72446 -1.87692 \n1.49137 0.3168 0.775921 3.66785 -4.72448 1.87691 \n1.49211 1.62188 -1.09504 4.74588 2.17004 -3.45674 \n1.49211 1.62188 1.09504 4.74584 2.17003 3.45681 \n1.4945 0.177075 0.248417 4.90945 -3.75121 0.779268 \n1.4945 0.177075 -0.248417 4.90944 -3.75122 -0.779281 \n1.49564 2.24257 -0.502408 5.38791 2.67238 -1.75881 \n1.49564 2.24257 0.502408 5.38791 2.67237 1.75884 \n1.49647 0.127575 0 5.59688 -2.25842 1.93268e-005 \n1.5 0.15 0 5.91768 -1.95569 2.5535e-005 \n1.5 2.4 0 5.56514 2.85761 -2.14577e-005 \n1.514 0.177075 -0 4.97208 -3.74943 1.07288e-006 \n1.52721 0.260025 -0.513016 3.81115 -4.82709 -1.24405 \n1.52721 0.260025 0.513016 3.81114 -4.8271 1.24406 \n1.52897 1.92953 -0.795481 5.10649 2.5155 -2.61308 \n1.52897 1.92953 0.795481 5.10644 2.51552 2.61314 \n1.53116 0.553725 -1.1237 4.23827 -3.3724 -3.08706 \n1.53116 0.553725 1.1237 4.23826 -3.37241 3.08707 \n1.53201 0.2136 0.254652 4.12186 -4.68989 0.654348 \n1.53201 0.2136 -0.254652 4.12186 -4.6899 -0.654315 \n1.53439 1.4712 -1.12607 4.81649 1.90758 -3.50824 \n1.53439 1.4712 1.12607 4.8165 1.90755 3.50824 \n1.552 0.2136 0 4.17508 -4.68858 -2.64496e-006 \n1.55447 2.24257 -0.258385 5.59883 2.66963 -0.888859 \n1.55447 2.24257 0.258385 5.59881 2.66967 0.888867 \n1.55722 0.384375 -0.81018 3.91298 -4.45799 -2.00233 \n1.55722 0.384375 0.81018 3.91297 -4.458 2.00235 \n1.5652 2.0856 -0.525778 5.41266 2.61351 -1.76686 \n1.5652 2.0856 0.525778 5.41263 2.61354 1.76691 \n1.5694 1.32323 -1.15176 4.89221 1.57075 -3.56336 \n1.5694 1.32323 1.15176 4.89224 1.57078 3.56331 \n1.57475 2.24257 0 5.66987 2.66845 -1.45361e-005 \n1.57648 0.6564 -1.15696 4.61087 -2.46882 -3.35851 \n1.57648 0.6564 1.15696 4.61087 -2.46883 3.35851 \n1.58729 0.260025 0.263841 3.96234 -4.8246 0.629005 \n1.58729 0.260025 -0.263841 3.96237 -4.82458 -0.62903 \n1.58747 1.7748 -0.825921 5.16002 2.36862 -2.64055 \n1.58747 1.7748 0.825921 5.16001 2.36862 2.64058 \n1.5918 0.3168 -0.534711 3.9193 -4.72197 -1.27932 \n1.5918 0.3168 0.534711 3.91931 -4.72196 1.27934 \n1.5959 1.1784 -1.17121 4.96499 1.14599 -3.61635 \n1.5959 1.1784 1.17121 4.96496 1.14601 3.61639 \n1.60723 0.771675 -1.17953 4.89696 -1.31162 -3.56696 \n1.60723 0.771675 1.17953 4.89698 -1.31161 3.56694 \n1.608 0.260025 0 4.01355 -4.82349 9.46969e-006 \n1.61269 1.03718 -1.18353 5.02134 0.620139 -3.65749 \n1.61269 1.03718 1.18353 5.02134 0.6201 3.6575 \n1.61856 0.9 -1.18784 5.02452 -0.173499 -3.65988 \n1.61856 0.9 1.18784 5.02455 -0.173489 3.65983 \n1.62307 0.4632 -0.844439 4.25933 -4.02011 -2.1796 \n1.62307 0.4632 0.844439 4.25935 -4.02009 2.1796 \n1.62677 2.0856 -0.270404 5.62438 2.61093 -0.893013 \n1.62677 2.0856 0.270404 5.6244 2.61091 0.89299 \n1.63192 1.92953 -0.54819 5.45383 2.51307 -1.7804 \n1.63192 1.92953 0.54819 5.45385 2.51307 1.78036 \n1.64064 1.62188 -0.853583 5.22692 2.16865 -2.6749 \n1.64064 1.62188 0.853583 5.22694 2.16867 2.67485 \n1.648 2.0856 0 5.69575 2.60972 -3.56138e-006 \n1.65441 0.3168 -0.274998 4.07473 -4.71935 -0.646845 \n1.65441 0.3168 0.274998 4.07475 -4.71934 0.646836 \n1.66208 0.384375 -0.55832 4.181 -4.45518 -1.36481 \n1.66208 0.384375 0.55832 4.18102 -4.45518 1.36476 \n1.676 0.3168 0 4.12733 -4.71823 8.64267e-007 \n1.68358 0.553725 -0.87592 4.66859 -3.37034 -2.38911 \n1.68358 0.553725 0.87592 4.66858 -3.37037 2.3891 \n1.68714 1.4712 -0.877772 5.30462 1.90609 -2.71469 \n1.68714 1.4712 0.877772 5.30463 1.90601 2.7147 \n1.69437 1.7748 -0.569167 5.51087 2.36627 -1.79908 \n1.69437 1.7748 0.569167 5.5109 2.36625 1.79902 \n1.69612 1.92953 -0.28193 5.66715 2.51042 -0.899808 \n1.69612 1.92953 0.28193 5.66715 2.51041 0.89981 \n1.7 0.6 0 0.774844 -2.95249 -0.00182578 \n1.7 0.6231 0.1782 0.738958 -2.84061 0.785527 \n1.7 0.6231 -0.1782 0.746589 -2.83711 -0.78742 \n1.7 0.6858 -0.3168 0.655065 -2.48644 -1.60774 \n1.7 0.6858 0.3168 0.641869 -2.49072 1.60966 \n1.7 0.7782 0.4158 0.486583 -1.87368 2.3536 \n1.7 0.7782 -0.4158 0.501022 -1.87248 -2.34913 \n1.7 0.8904 -0.4752 0.305131 -1.03304 -2.87339 \n1.7 0.8904 0.4752 0.295889 -1.02986 2.87667 \n1.7 1.0125 -0.495 0.102285 -0.0603162 -3.08866 \n1.7 1.0125 0.495 0.104829 -0.0549386 3.08826 \n1.7 1.1346 -0.4752 -0.0739994 0.94336 -2.96037 \n1.7 1.1346 0.4752 -0.0561234 0.947477 2.9569 \n1.7 1.2468 0.4158 -0.16871 1.86927 2.48664 \n1.7 1.2468 -0.4158 -0.199196 1.86893 -2.48991 \n1.7 1.3392 -0.3168 -0.261673 2.58752 -1.73721 \n1.7 1.3392 0.3168 -0.228938 2.58436 1.73845 \n1.7 1.4019 0.1782 -0.250652 3.0001 0.85862 \n1.7 1.4019 -0.1782 -0.271617 3.00321 -0.851132 \n1.7 1.425 0 -0.260036 3.12624 0.0051353 \n1.71825 1.92953 0 5.73906 2.50922 4.02331e-006 \n1.72562 1.32323 -0.897795 5.38798 1.56935 -2.75727 \n1.72562 1.32323 0.897795 5.38793 1.56942 2.75732 \n1.72746 0.384375 -0.28714 4.34628 -4.45253 -0.689943 \n1.72746 0.384375 0.28714 4.34627 -4.45253 0.689993 \n1.73236 0.4632 -0.581929 4.55047 -4.01721 -1.48543 \n1.73236 0.4632 0.581929 4.55045 -4.01722 1.48545 \n1.73341 0.6564 -0.901846 5.07845 -2.46702 -2.59892 \n1.73341 0.6564 0.901846 5.07846 -2.467 2.59892 \n1.75 0.384375 0 4.40231 -4.45132 -1.86712e-005 \n1.75112 1.62188 -0.58823 5.58226 2.16636 -1.82236 \n1.75112 1.62188 0.58823 5.58226 2.16635 1.82235 \n1.75476 1.1784 -0.912957 5.46784 1.14531 -2.79827 \n1.75476 1.1784 0.912957 5.46788 1.14527 2.79822 \n1.76102 1.7748 -0.292719 5.72638 2.36363 -0.909183 \n1.76102 1.7748 0.292719 5.72637 2.36363 0.909221 \n1.76722 0.771675 -0.919439 5.39303 -1.31064 -2.76002 \n1.76722 0.771675 0.919439 5.39303 -1.31063 2.76002 \n1.77323 1.03718 -0.922564 5.52981 0.619657 -2.82999 \n1.77323 1.03718 0.922564 5.52983 0.619664 2.82996 \n1.77968 0.9 -0.92592 5.53331 -0.173543 -2.83179 \n1.77968 0.9 0.92592 5.53328 -0.173558 2.83184 \n1.784 1.7748 0 5.79895 2.36252 -1.0483e-005 \n1.79695 0.553725 -0.603624 4.98693 -3.36737 -1.62798 \n1.79695 0.553725 0.603624 4.98694 -3.36735 1.62799 \n1.80051 0.4632 -0.299282 4.72997 -4.01413 -0.75094 \n1.80051 0.4632 0.299282 4.72996 -4.01415 0.750911 \n1.80075 1.4712 -0.6049 5.66509 1.9039 -1.84939 \n1.80075 1.4712 0.6049 5.66508 1.90392 1.84941 \n1.82 1.62188 -0.302523 5.80036 2.16391 -0.920936 \n1.82 1.62188 0.302522 5.80036 2.16391 0.920938 \n1.824 0.4632 0 4.79065 -4.01299 5.98282e-006 \n1.84182 1.32323 -0.618698 5.75381 1.56767 -1.87843 \n1.84182 1.32323 0.618698 5.75382 1.56768 1.87841 \n1.84375 1.62188 0 5.87384 2.16281 1.01402e-005 \n1.85013 0.6564 -0.62149 5.4239 -2.46441 -1.77079 \n1.85013 0.6564 0.62149 5.42391 -2.46441 1.77076 \n1.86763 0.553725 -0.310439 5.18288 -3.36441 -0.822891 \n1.86763 0.553725 0.310439 5.1829 -3.36438 0.822883 \n1.87158 1.4712 -0.311096 5.88621 1.90177 -0.934567 \n1.87158 1.4712 0.311096 5.8862 1.90181 0.934559 \n1.87293 1.1784 -0.629147 5.83893 1.14386 -1.90623 \n1.87293 1.1784 0.629147 5.83893 1.14382 1.90626 \n1.88622 0.771675 -0.633613 5.75906 -1.30918 -1.88032 \n1.88622 0.771675 0.633613 5.75905 -1.30919 1.88034 \n1.892 0.553725 0 5.24906 -3.36327 7.7635e-006 \n1.89263 1.03718 -0.635767 5.90502 0.618784 -1.92781 \n1.89263 1.03718 0.635767 5.905 0.618821 1.92784 \n1.896 1.4712 0 5.96068 1.90085 -5.51343e-007 \n1.89952 0.9 -0.63808 5.90856 -0.173273 -1.9291 \n1.89952 0.9 0.63808 5.90857 -0.173281 1.92909 \n1.91427 1.32323 -0.318192 5.97817 1.56587 -0.949214 \n1.91427 1.32323 0.318192 5.97818 1.56583 0.949217 \n1.92291 0.6564 -0.319628 5.63599 -2.46198 -0.894943 \n1.92291 0.6564 0.319628 5.63598 -2.46199 0.89497 \n1.9359 1.4442 0 -1.18135 6.14039 0.00835104 \n1.93925 1.32323 0 6.05373 1.56507 -3.09199e-006 \n1.93939 1.42322 -0.1751 -1.13851 5.92143 -1.63092 \n1.93939 1.42322 0.1751 -1.14519 5.91562 1.64391 \n1.9466 1.1784 -0.323566 6.06643 1.14246 -0.963249 \n1.9466 1.1784 0.323566 6.06642 1.1425 0.963248 \n1.948 0.6564 0 5.70768 -2.46103 -2.27988e-006 \n1.94888 1.36628 -0.31129 -0.976465 5.16464 -3.35564 \n1.94888 1.36628 0.31129 -0.985378 5.15679 3.359 \n1.96042 0.771675 -0.325863 5.98355 -1.3076 -0.950262 \n1.96042 0.771675 0.325863 5.98355 -1.30761 0.95025 \n1.96286 1.28236 -0.408568 -0.647402 3.812 -4.87184 \n1.96286 1.28236 0.408568 -0.653554 3.80901 4.86623 \n1.96708 1.03718 -0.32697 6.13486 0.618112 -0.974179 \n1.96708 1.03718 0.32697 6.13486 0.618078 0.974164 \n1.972 1.1784 0 6.14304 1.14192 -3.94136e-006 \n1.97424 0.9 -0.32816 6.13856 -0.173022 -0.974845 \n1.97424 0.9 0.32816 6.13856 -0.173 0.974825 \n1.97983 1.18046 -0.466934 -0.159828 2.00309 -5.86041 \n1.97983 1.18046 0.466934 -0.160325 2.00793 5.8527 \n1.986 0.771675 0 6.05941 -1.30705 1.06543e-006 \n1.99275 1.03718 0 6.21228 0.617765 2.70456e-006 \n1.9983 1.06957 -0.48639 0.42666 -0.00714172 -6.14722 \n1.9983 1.06957 0.48639 0.432785 0.0021707 6.14353 \n2 0.9 0 6.21617 -0.172984 1.13696e-005 \n2.01677 0.958686 -0.466934 1.03052 -1.96007 -5.71063 \n2.01677 0.958686 0.466934 1.04255 -1.95185 5.71174 \n2.03374 0.856788 -0.408568 1.56663 -3.62507 -4.64566 \n2.03374 0.856788 0.408568 1.58183 -3.62106 4.648 \n2.04772 0.772872 0.31129 1.97909 -4.82297 3.16048 \n2.04772 0.772872 -0.31129 1.96524 -4.82356 -3.16065 \n2.05721 0.715929 0.1751 2.20394 -5.49125 1.53397 \n2.05721 0.715929 -0.1751 2.19586 -5.49089 -1.53728 \n2.0607 0.69495 0 2.2731 -5.6966 -0.00231101 \n2.1112 1.4976 0 -2.63851 5.66044 0.00410409 \n2.11698 1.47912 -0.166687 -2.51451 5.49688 -1.56267 \n2.11698 1.47912 0.166687 -2.52056 5.49214 1.56991 \n2.13267 1.42896 -0.296333 -2.08805 4.89529 -3.25517 \n2.13267 1.42896 0.296333 -2.09582 4.88783 3.2591 \n2.15578 1.35504 -0.388937 -1.30862 3.73551 -4.80101 \n2.15578 1.35504 0.388937 -1.31205 3.72895 4.79998 \n2.18385 1.26528 -0.444499 -0.252924 2.08104 -5.82323 \n2.18385 1.26528 0.444499 -0.249643 2.07899 5.81672 \n2.2144 1.1676 -0.46302 0.894118 0.189191 -6.07585 \n2.2144 1.1676 0.46302 0.902002 0.193414 6.06645 \n2.2373 1.5789 0 -4.11698 4.69385 -0.000540763 \n2.24446 1.56317 -0.154289 -3.93837 4.61638 -1.4703 \n2.24446 1.56317 0.154289 -3.94535 4.61064 1.46954 \n2.24495 1.06992 -0.444499 1.94269 -1.62756 -5.55085 \n2.24495 1.06992 0.444499 1.95239 -1.61842 5.54272 \n2.26388 1.52048 -0.274291 -3.31024 4.26978 -3.1219 \n2.26388 1.52048 0.274291 -3.31898 4.26157 3.1235 \n2.27302 0.98016 -0.388937 2.7671 -3.12092 -4.42118 \n2.27302 0.98016 0.388937 2.77676 -3.11038 4.41659 \n2.29251 1.45756 -0.360007 -2.1149 3.46034 -4.71512 \n2.29251 1.45756 0.360007 -2.11459 3.45253 4.7177 \n2.29613 0.90624 -0.296333 3.31626 -4.15239 -2.95196 \n2.29613 0.90624 0.296333 3.32405 -4.14377 2.95076 \n2.31182 0.85608 -0.166687 3.60591 -4.70867 -1.41759 \n2.31182 0.85608 0.166687 3.61026 -4.704 1.41831 \n2.3176 0.8376 0 3.69656 -4.87587 0.000717826 \n2.3256 1.6818 0 -5.18725 3.49897 -0.00532933 \n2.32727 1.38116 -0.411437 -0.458218 2.13167 -5.77966 \n2.32727 1.38116 0.411437 -0.446391 2.12609 5.77375 \n2.33353 1.66895 -0.139234 -4.99565 3.5045 -1.36873 \n2.33353 1.66895 0.139234 -5.00434 3.49588 1.35957 \n2.35505 1.63406 -0.247526 -4.29992 3.41815 -2.96363 \n2.35505 1.63406 0.247526 -4.31188 3.4068 2.96203 \n2.3651 1.29803 -0.42858 1.2876 0.512186 -5.97321 \n2.3651 1.29803 0.42858 1.29867 0.513407 5.95683 \n2.38677 1.58266 -0.324878 -2.88084 3.01356 -4.60025 \n2.38677 1.58266 0.324878 -2.87848 3.00546 4.60694 \n2.3875 1.8 0 -5.7276 2.54148 -0.0103445 \n2.3959 1.79002 0.12285 -5.54572 2.58807 1.31063 \n2.3959 1.79002 -0.12285 -5.53368 2.60043 -1.32741 \n2.40293 1.21489 -0.411437 2.76979 -1.04653 -5.33896 \n2.40293 1.21489 0.411437 2.77295 -1.03748 5.32274 \n2.4187 1.76295 -0.2184 -4.83184 2.67777 -2.8848 \n2.4187 1.76295 0.2184 -4.84805 2.66337 2.88256 \n2.42529 1.52023 -0.37129 -0.791903 2.11293 -5.73237 \n2.42529 1.52023 0.37129 -0.770441 2.1075 5.72814 \n2.4344 1.9272 0 -5.89859 2.08596 -0.0160877 \n2.43769 1.13849 -0.360007 3.83746 -2.29461 -4.15168 \n2.43769 1.13849 0.360007 3.83551 -2.28218 4.14337 \n2.44327 1.91998 0.106466 -5.69915 2.15492 1.36998 \n2.44327 1.91998 -0.106466 -5.68119 2.1691 -1.393 \n2.4523 1.72305 -0.28665 -3.37151 2.55643 -4.51775 \n2.4523 1.72305 0.28665 -3.36776 2.54936 4.53095 \n2.46632 1.07557 -0.274291 4.49195 -3.13227 -2.71851 \n2.46632 1.07557 0.274291 4.48941 -3.12128 2.71838 \n2.4672 1.4523 -0.38676 1.43567 0.852546 -5.9005 \n2.4672 1.4523 0.38676 1.44925 0.852628 5.87913 \n2.46735 1.90037 0.189274 -4.96093 2.2915 2.96841 \n2.46735 1.90037 -0.189274 -4.94058 2.30482 -2.96585 \n2.4777 2.0571 0 -5.82947 2.17717 -0.0226279 \n2.48574 1.03288 -0.154289 4.81324 -3.57655 -1.28898 \n2.48574 1.03288 0.154289 4.81201 -3.57027 1.29407 \n2.48734 2.05238 -0.091411 -5.55935 2.24999 -1.55909 \n2.48734 2.05238 0.091411 -5.58517 2.24133 1.53284 \n2.4929 1.01715 0 4.90707 -3.70745 0.00347 \n2.4931 1.6746 -0.3276 -1.15757 2.0173 -5.69458 \n2.4931 1.6746 0.3276 -1.12908 2.01316 5.69537 \n2.50283 1.87147 0.248422 -3.4935 2.27861 4.56521 \n2.50283 1.87147 -0.248422 -3.49964 2.28358 -4.54359 \n2.50911 1.38437 -0.37129 3.26116 -0.415563 -5.18084 \n2.50911 1.38437 0.37129 3.25675 -0.408648 5.16179 \n2.51352 2.03955 0.162509 -4.75656 2.34035 3.20124 \n2.51352 2.03955 -0.162509 -4.73486 2.34538 -3.18886 \n2.5288 2.1834 0 -5.49903 2.77658 -0.0282815 \n2.5375 1.62188 -0.34125 1.28276 1.08907 -5.91351 \n2.5375 1.62188 0.34125 1.29957 1.08688 5.8925 \n2.53982 2.1808 -0.079013 -5.17101 2.78531 -1.76667 \n2.53982 2.1808 0.079013 -5.20103 2.79543 1.74011 \n2.54591 1.83638 -0.28391 -1.41059 1.91378 -5.68447 \n2.54591 1.83638 0.28391 -1.37955 1.90836 5.69236 \n2.54763 1.32194 -0.324878 4.49948 -1.4325 -3.94677 \n2.54763 1.32194 0.324878 4.48793 -1.42276 3.93982 \n2.55209 2.02065 -0.213293 -3.32665 2.26701 -4.6745 \n2.55209 2.02065 0.213293 -3.31658 2.26211 4.70438 \n2.56973 2.17373 -0.140467 -4.27591 2.73288 -3.45324 \n2.56973 2.17373 0.140467 -4.29488 2.74255 3.47475 \n2.57935 1.27054 -0.247526 5.21413 -2.11261 -2.54429 \n2.57935 1.27054 0.247526 5.20446 -2.1038 2.54744 \n2.5819 1.56915 -0.3276 3.31743 0.0535025 -5.2038 \n2.5819 1.56915 0.3276 3.31083 0.0564354 5.18512 \n2.5928 1.7982 -0.29574 0.919113 1.17874 -5.99162 \n2.5928 1.7982 0.29574 0.939819 1.17126 5.97661 \n2.59893 1.9977 -0.243763 -1.48758 1.87476 -5.70446 \n2.59893 1.9977 0.243763 -1.45816 1.86062 5.71917 \n2.5991 2.2998 0 -4.79492 3.75094 -0.0297953 \n2.60087 1.23565 -0.139234 5.54802 -2.47714 -1.19493 \n2.60087 1.23565 0.139234 5.54317 -2.4718 1.20438 \n2.6088 1.2228 0 5.64004 -2.58563 0.0058209 \n2.61241 2.29881 0.0706 -4.47946 3.68662 1.87569 \n2.61241 2.29881 -0.0706 -4.45819 3.64808 -1.90563 \n2.61382 2.16331 -0.184363 -2.95054 2.46959 -4.8271 \n2.61382 2.16331 0.184363 -2.94006 2.45872 4.86396 \n2.6227 1.5207 -0.28665 4.69471 -0.827719 -3.95993 \n2.6227 1.5207 0.28665 4.6798 -0.821096 3.95482 \n2.63969 1.76002 -0.28391 2.98272 0.259203 -5.42627 \n2.63969 1.76002 0.28391 2.98065 0.256684 5.40882 \n2.64852 2.29613 0.12551 -3.61667 3.39438 3.622 \n2.64852 2.29613 -0.12551 -3.59795 3.3673 -3.60099 \n2.6499 1.97273 0.25392 0.529807 1.13469 6.06848 \n2.6499 1.97273 -0.25392 0.507323 1.15316 -6.07515 \n2.6563 1.4808 -0.2184 5.48389 -1.44433 -2.54984 \n2.6563 1.4808 0.2184 5.47158 -1.43686 2.5562 \n2.66735 2.15066 -0.210701 -1.41723 1.91281 -5.73264 \n2.66735 2.15066 0.210701 -1.39224 1.88039 5.75515 \n2.6791 1.45372 0.12285 5.8438 -1.78368 1.20958 \n2.6791 1.45372 -0.12285 5.84995 -1.78885 -1.19594 \n2.68277 1.72493 0.248422 4.48349 -0.609105 4.24515 \n2.68277 1.72493 -0.248422 4.49693 -0.613921 -4.2506 \n2.6875 1.44375 0 5.94804 -1.89482 0.00824615 \n2.7 2.4 0 -3.92807 4.69851 -0.0234641 \n2.70087 1.94775 -0.243763 2.40186 0.201203 -5.7301 \n2.70087 1.94775 0.243763 2.40658 0.190439 5.71514 \n2.70174 2.29219 0.164732 -2.46643 2.81005 4.93214 \n2.70174 2.29219 -0.164732 -2.46578 2.83117 -4.88592 \n2.7168 2.4 0.0675 -3.62229 4.54997 1.91071 \n2.7168 2.4 -0.0675 -3.6358 4.48839 -1.95471 \n2.71825 1.69603 0.189274 5.41369 -1.27191 2.80148 \n2.71825 1.69603 -0.189274 5.42644 -1.28047 -2.79304 \n2.7256 2.1369 -0.21948 0.18096 1.04803 -6.13576 \n2.7256 2.1369 0.21948 0.203006 1.0111 6.13629 \n2.7298 2.42025 0 -3.26411 5.26402 -0.0126152 \n2.74233 1.67642 0.106466 5.86814 -1.66746 1.34074 \n2.74233 1.67642 -0.106466 5.87473 -1.67402 -1.32225 \n2.74741 2.42041 -0.066744 -3.04065 5.08041 -1.74269 \n2.74741 2.42041 0.066744 -3.04252 5.09986 1.71701 \n2.74771 1.9248 -0.213293 3.98315 -0.804591 -4.71655 \n2.74771 1.9248 0.213293 3.9742 -0.801865 4.70974 \n2.7512 1.6692 0 5.99472 -1.79839 0.0112366 \n2.7584 2.436 0 -2.76181 5.56107 -0.00939696 \n2.7624 2.4 -0.12 -2.89121 3.97222 -3.62991 \n2.7624 2.4 0.12 -2.8811 4.04858 3.60986 \n2.76637 2.28739 0.188266 -1.24029 1.93689 5.77935 \n2.76637 2.28739 -0.188266 -1.25617 1.99639 -5.74419 \n2.77637 2.4363 -0.064692 -2.57047 5.42467 -1.52215 \n2.77637 2.4363 0.064692 -2.57021 5.43746 1.5024 \n2.78385 2.12314 -0.210701 1.783 -0.0929592 -5.97249 \n2.78385 2.12314 0.210701 1.79194 -0.115841 5.95981 \n2.7846 2.44725 0 -2.17527 5.83097 -0.0057908 \n2.78628 1.9059 0.162509 5.06857 -1.63965 3.22993 \n2.78628 1.9059 -0.162509 5.08005 -1.65031 -3.21982 \n2.7952 2.42083 -0.118656 -2.46204 4.57168 -3.30849 \n2.7952 2.42083 0.118656 -2.46944 4.59925 3.29543 \n2.8 2.4 0 1.71781 -2.06567 -0.00699237 \n2.80253 2.44768 -0.061668 -2.02211 5.74504 -1.21937 \n2.80253 2.44768 0.061668 -2.02032 5.75215 1.20585 \n2.8072 2.454 0 -1.378 6.07902 -0.00191975 \n2.8112 2.4 -0.0405 1.65881 -2.01187 0.837293 \n2.8112 2.4 0.0405 1.63964 -2.02548 -0.830066 \n2.81246 1.89307 0.091411 5.64247 -2.16664 1.57717 \n2.81246 1.89307 -0.091411 5.64852 -2.17507 -1.5534 \n2.8221 1.88835 0 5.80308 -2.34174 0.0145557 \n2.8242 2.42025 0 4.30294 -4.46498 -0.0205705 \n2.82475 2.45453 -0.057996 -1.27932 6.04335 -0.759313 \n2.82475 2.45453 0.057996 -1.27593 6.04571 0.753052 \n2.825 2.45625 0 0.00441714 6.21411 0.00299053 \n2.82513 2.43712 -0.115008 -2.08191 5.05368 -2.88621 \n2.82513 2.43712 0.115008 -2.08501 5.07115 2.87415 \n2.8296 2.4 0.1575 -1.96593 3.2218 4.8759 \n2.8296 2.4 -0.1575 -1.97712 3.17939 -4.86486 \n2.83667 2.42052 -0.041256 3.95194 -4.12185 2.43149 \n2.83667 2.42052 0.041256 3.94596 -4.09057 -2.46625 \n2.8367 2.28218 0.19611 0.0171366 0.754372 6.19099 \n2.8367 2.28218 -0.19611 -0.00232462 0.818293 -6.18525 \n2.8368 2.454 0 2.94222 5.20147 0.00672397 \n2.83738 2.11049 -0.184363 3.26899 -1.37939 -5.12369 \n2.83738 2.11049 0.184363 3.26441 -1.38097 5.11673 \n2.8376 2.436 0 5.28778 -3.14984 -0.0162269 \n2.8414 2.44725 0 5.81382 0.852777 -0.00280416 \n2.8416 2.4 -0.072 1.45038 -1.8219 1.74215 \n2.8416 2.4 0.072 1.43711 -1.86406 -1.69769 \n2.84189 2.45684 -0.054 -0.0240624 6.20411 0.0733704 \n2.84189 2.45684 0.054 -0.0191031 6.20283 -0.0714257 \n2.85119 2.44885 -0.109632 -1.63666 5.52118 -2.29801 \n2.85119 2.44885 0.109632 -1.63635 5.5304 2.28791 \n2.85133 2.43645 -0.043308 4.71758 -2.59897 3.01902 \n2.85133 2.43645 0.043308 4.70896 -2.56953 -3.04467 \n2.85279 2.45461 -0.050004 2.3783 5.22043 1.77733 \n2.85279 2.45461 0.050004 2.37936 5.22028 -1.76712 \n2.85632 2.44781 -0.046332 4.76777 1.37459 3.31251 \n2.85632 2.44781 0.046332 4.75972 1.39624 -3.31797 \n2.86563 2.42145 -0.155736 -1.71461 3.77407 -4.53224 \n2.86563 2.42145 0.155736 -1.71892 3.79251 4.5375 \n2.87052 2.42125 -0.073344 3.04899 -3.12287 4.46158 \n2.87052 2.42125 0.073344 3.04119 -3.09455 -4.46926 \n2.87239 2.45597 -0.103104 -1.03782 5.95744 -1.40822 \n2.87239 2.45597 0.103104 -1.03475 5.95979 1.40149 \n2.88147 2.10007 -0.140467 4.40363 -2.52835 -3.61199 \n2.88147 2.10007 0.140467 4.39525 -2.51836 3.62402 \n2.8864 2.4 -0.0945 1.06268 -1.38194 2.47655 \n2.8864 2.4 0.0945 1.0705 -1.44745 -2.42846 \n2.88773 2.45844 -0.096 -0.0898469 6.17914 0.11 \n2.88773 2.45844 0.096 -0.0859116 6.17628 -0.109782 \n2.8886 2.43769 -0.076992 3.33103 -1.22202 5.11923 \n2.8886 2.43769 0.076992 3.32229 -1.19086 -5.12838 \n2.8962 2.45625 0.088896 1.36265 5.2806 -2.60816 \n2.8962 2.45625 -0.088896 1.36325 5.28064 2.61518 \n2.89683 2.44934 -0.082368 2.86056 2.34012 4.83743 \n2.89683 2.44934 0.082368 2.84612 2.3654 -4.83677 \n2.89699 2.43833 -0.150948 -1.46395 4.48079 -3.97583 \n2.89699 2.43833 0.150948 -1.46505 4.49239 3.97533 \n2.90703 2.27696 0.188266 1.30867 -0.749167 6.05869 \n2.90703 2.27696 -0.188266 1.29897 -0.711713 -6.07188 \n2.9112 2.4 -0.18 -1.02381 2.09209 -5.71198 \n2.9112 2.4 0.18 -1.00711 2.08153 5.7325 \n2.91138 2.093 -0.079013 5.02013 -3.25063 -1.76867 \n2.91138 2.093 0.079013 5.01605 -3.24314 1.79545 \n2.92041 2.42233 -0.096264 1.94849 -1.77085 5.68269 \n2.92041 2.42233 0.096264 1.95187 -1.76737 -5.67486 \n2.9224 2.0904 0 5.18895 -3.47311 0.0160847 \n2.9229 2.45057 -0.143892 -1.16485 5.18578 -3.16423 \n2.9229 2.45057 0.143892 -1.16343 5.19073 3.16119 \n2.9408 2.4 -0.108 0.612918 -0.763796 2.93357 \n2.9408 2.4 0.108 0.629148 -0.82483 -2.90965 \n2.94259 2.45808 -0.135324 -0.763836 5.83255 -1.93274 \n2.94259 2.45808 0.135324 -0.761071 5.83183 1.92993 \n2.94353 2.4395 -0.101052 1.90835 0.269637 5.94669 \n2.94353 2.4395 0.101052 1.90459 0.290353 -5.948 \n2.95115 2.42221 -0.177984 -0.89304 2.66495 -5.4285 \n2.95115 2.42221 0.177984 -0.888179 2.66227 5.44096 \n2.95528 2.46081 -0.126 -0.176064 6.15638 0.0234783 \n2.95528 2.46081 0.126 -0.172813 6.15293 -0.0206633 \n2.95652 2.45159 -0.108108 1.43201 3.19321 5.0651 \n2.95652 2.45159 0.108108 1.41903 3.21423 -5.05823 \n2.96018 2.45867 -0.116676 0.583369 5.43031 2.70073 \n2.96018 2.45867 0.116676 0.582404 5.43055 -2.69516 \n2.97166 2.27216 0.164732 2.52046 -2.40848 5.17752 \n2.97166 2.27216 -0.164732 2.52279 -2.40085 -5.18262 \n2.98099 2.42364 0.110016 0.918467 -0.311406 -6.19146 \n2.98099 2.42364 -0.110016 0.905772 -0.290244 6.19758 \n2.98424 2.4398 -0.172512 -0.783321 3.67135 -4.85315 \n2.98424 2.4398 0.172512 -0.778281 3.66831 4.85888 \n3 2.4 -0.1875 -0.0199373 0.620905 -6.16319 \n3 2.4 -0.1125 0.153958 -0.0129534 3.13061 \n3 2.4 0.1125 0.163743 -0.043447 -3.12828 \n3 2.4 0.1875 -0.00515878 0.569088 6.1646 \n3.00998 2.45266 -0.164448 -0.64974 4.71034 -3.90972 \n3.00998 2.45266 0.164448 -0.644353 4.70523 3.91237 \n3.01022 2.4417 -0.115488 0.782474 1.60221 6.00242 \n3.01022 2.4417 0.115488 0.78399 1.60893 -6.00198 \n3.02488 2.26822 0.12551 3.40235 -3.80361 3.58393 \n3.02488 2.26822 -0.12551 3.40808 -3.80679 -3.57084 \n3.02783 2.46065 -0.154656 -0.466651 5.6553 -2.4091 \n3.02783 2.46065 0.154656 -0.460873 5.64868 2.41343 \n3.02901 2.45432 -0.123552 0.482869 3.89382 4.80195 \n3.02901 2.45432 0.123552 0.473992 3.90883 -4.79274 \n3.0373 2.46368 -0.144 -0.219717 6.13705 -0.163207 \n3.0373 2.46368 0.144 -0.213982 6.13325 0.168658 \n3.03786 2.4616 0.133344 0.0792117 5.60238 -2.49262 \n3.03786 2.4616 -0.133344 0.081761 5.60133 2.49849 \n3.04421 2.42303 -0.1854 0.0106278 1.13542 -5.95802 \n3.04421 2.42303 0.1854 0.0225969 1.10986 5.95592 \n3.04691 2.42506 0.1146 -0.022746 1.22399 -6.14832 \n3.04691 2.42506 -0.1146 -0.0386704 1.2642 6.14133 \n3.0592 2.4 -0.108 -0.306807 0.849107 3.04785 \n3.0592 2.4 0.108 -0.307121 0.858263 -3.0459 \n3.06099 2.26554 0.0706 3.83559 -4.5988 1.73148 \n3.06099 2.26554 -0.0706 3.83866 -4.60079 -1.709 \n3.0743 2.26455 0 3.95031 -4.82345 0.0127599 \n3.0792 2.4414 -0.1797 0.00257543 2.47019 -5.54599 \n3.0792 2.4414 0.1797 0.0142903 2.44562 5.54434 \n3.0828 2.4441 -0.1203 -0.102046 2.80109 5.60942 \n3.0828 2.4441 0.1203 -0.0965093 2.79454 -5.61322 \n3.0888 2.4 -0.18 1.03194 -1.25945 -6.00054 \n3.0888 2.4 0.18 1.02853 -1.30948 5.97485 \n3.10474 2.45493 -0.1713 -0.0309795 3.96555 -4.62147 \n3.10474 2.45493 0.1713 -0.0186921 3.94144 4.62485 \n3.10789 2.45729 -0.1287 -0.193952 4.48955 4.32368 \n3.10789 2.45729 0.1287 -0.19798 4.49797 -4.31625 \n3.11283 2.42648 0.110016 -0.865486 2.76955 -5.55159 \n3.11283 2.42648 -0.110016 -0.874117 2.81019 5.5282 \n3.1136 2.4 -0.0945 -0.747335 1.75289 2.63353 \n3.1136 2.4 0.0945 -0.748484 1.78405 -2.61524 \n3.1206 2.46345 0.1611 -0.0819311 5.35717 2.92073 \n3.1206 2.46345 -0.1611 -0.0948726 5.3741 -2.90967 \n3.1224 2.4648 0.1389 -0.264034 5.76156 -2.18648 \n3.1224 2.4648 -0.1389 -0.260048 5.7597 2.19452 \n3.12656 2.4668 -0.15 -0.200894 6.10993 -0.409809 \n3.12656 2.4668 0.15 -0.19271 6.10541 0.416095 \n3.13728 2.42386 -0.177984 0.978991 -0.840173 -5.88469 \n3.13728 2.42386 0.177984 0.982134 -0.859361 5.85352 \n3.15538 2.4465 -0.115488 -0.816498 3.88041 4.86324 \n3.15538 2.4465 0.115488 -0.810629 3.86603 -4.87544 \n3.1584 2.4 -0.072 -1.1162 2.56574 1.89775 \n3.1584 2.4 0.072 -1.10975 2.59047 -1.87298 \n3.1704 2.4 -0.1575 1.96904 -3.22316 -4.96109 \n3.1704 2.4 0.1575 1.94549 -3.23729 4.94218 \n3.17341 2.42779 -0.096264 -1.55069 4.1597 4.3997 \n3.17341 2.42779 0.096264 -1.55454 4.13977 -4.42218 \n3.17416 2.443 -0.172512 0.945068 0.689358 -5.85333 \n3.17416 2.443 0.172512 0.95241 0.656876 5.82144 \n3.18677 2.46026 -0.123552 -0.717081 5.01131 3.68501 \n3.18677 2.46026 0.123552 -0.717749 5.01445 -3.68147 \n3.1888 2.4 -0.0405 -1.36102 3.1433 0.96073 \n3.1888 2.4 0.0405 -1.3528 3.15302 -0.94691 \n3.1995 2.4572 -0.164448 0.808661 2.6933 -5.23124 \n3.1995 2.4572 0.164448 0.825407 2.6425 5.2154 \n3.2 2.4 0 -1.42783 3.32081 0.0030354 \n3.20694 2.468 0.133344 -0.519542 5.90597 -1.81973 \n3.20694 2.468 -0.133344 -0.515757 5.90383 1.82992 \n3.21337 2.46625 -0.154656 0.464963 4.86004 -3.4665 \n3.21337 2.46625 0.154656 0.490621 4.82267 3.47956 \n3.21583 2.46992 -0.144 -0.100479 6.06166 -0.690697 \n3.21583 2.46992 0.144 -0.0903013 6.05579 0.697819 \n3.22207 2.4487 -0.101052 -1.37767 4.78613 3.80991 \n3.22207 2.4487 0.101052 -1.37639 4.77398 -3.82575 \n3.2228 2.42462 -0.155736 1.85551 -2.94507 -4.95224 \n3.2228 2.42462 0.155736 1.83936 -2.92285 4.92997 \n3.2233 2.42887 -0.073344 -2.01622 5.12541 2.93897 \n3.2233 2.42887 0.073344 -2.02314 5.12317 -2.9446 \n3.2376 2.4 -0.12 2.5558 -4.67295 -3.26127 \n3.2376 2.4 0.12 2.53536 -4.66691 3.27059 \n3.25715 2.4296 -0.041256 -2.26209 5.64915 1.40945 \n3.25715 2.4296 0.041256 -2.26425 5.65076 -1.40488 \n3.25925 2.46299 -0.108108 -1.13227 5.45601 2.88448 \n3.25925 2.46299 0.108108 -1.13167 5.45565 -2.88556 \n3.26141 2.44447 -0.150948 1.94383 -1.57498 -5.3589 \n3.26141 2.44447 0.150948 1.92615 -1.56366 5.31476 \n3.26962 2.42987 0 -2.33364 5.80335 0.00283303 \n3.277 2.45052 -0.076992 -1.77247 5.43944 2.54682 \n3.277 2.45052 0.076992 -1.7755 5.43447 -2.55598 \n3.2832 2.4 -0.0675 2.78714 -5.39069 -1.50592 \n3.2832 2.4 0.0675 2.78042 -5.38658 1.52341 \n3.28462 2.47093 -0.116676 -0.715443 6.03166 1.40331 \n3.28462 2.47093 0.116676 -0.71715 6.03376 -1.39204 \n3.28658 2.45929 -0.143892 1.89727 0.689064 -5.30611 \n3.28658 2.45929 0.143892 1.89132 0.649599 5.24708 \n3.29323 2.42524 -0.118656 2.42004 -4.56964 -3.30865 \n3.29323 2.42524 0.118656 2.40749 -4.53591 3.32598 \n3.29785 2.47279 -0.126 0.131693 5.97408 -0.983429 \n3.29785 2.47279 0.126 0.144346 5.96554 0.991056 \n3.29861 2.46882 -0.135324 1.40175 3.80193 -3.9259 \n3.29861 2.46882 0.135324 1.43783 3.72895 3.91685 \n3.3 2.4 0 2.83738 -5.57936 0.00780847 \n3.31427 2.45175 -0.043308 -1.99399 5.80384 1.23021 \n3.31427 2.45175 0.043308 -1.99651 5.80264 -1.23214 \n3.31895 2.46524 -0.082368 -1.43926 5.7906 1.94425 \n3.31895 2.46524 0.082368 -1.43902 5.78923 -1.94802 \n3.328 2.4522 0 -2.06377 5.91295 0.000588287 \n3.33327 2.44568 -0.115008 2.71432 -3.72007 -3.87142 \n3.33327 2.44568 0.115008 2.69134 -3.67391 3.87749 \n3.34102 2.42566 -0.066744 2.64671 -5.39629 -1.53741 \n3.34102 2.42566 0.066744 2.64775 -5.38146 1.56036 \n3.34859 2.47335 0.088896 -0.853522 6.13219 -0.906081 \n3.34859 2.47335 -0.088896 -0.854315 6.13095 0.915223 \n3.35829 2.46101 -0.109632 3.00439 -1.67153 -4.39956 \n3.35829 2.46101 0.109632 2.96363 -1.63695 4.36248 \n3.35862 2.42582 0 2.69367 -5.61724 0.00775293 \n3.35945 2.46677 -0.046332 -1.61905 5.98519 0.946672 \n3.35945 2.46677 0.046332 -1.61997 5.9844 -0.949125 \n3.3654 2.47515 -0.096 0.616365 5.81476 -1.19974 \n3.3654 2.47515 0.096 0.630033 5.80155 1.20811 \n3.36881 2.47093 -0.103104 2.60641 1.99516 -3.48272 \n3.36881 2.47093 0.103104 2.60475 1.93128 3.42828 \n3.37438 2.46733 0 -1.67914 6.04368 -0.00105096 \n3.38204 2.4465 -0.064692 3.05021 -4.99837 -1.85887 \n3.38204 2.4465 0.064692 3.04693 -4.97531 1.88695 \n3.39201 2.47499 -0.050004 -0.915216 6.18766 0.42363 \n3.39201 2.47499 0.050004 -0.91312 6.18822 -0.419058 \n3.4 2.4468 0 3.11044 -5.35525 0.0104421 \n3.40695 2.46218 -0.061668 3.79732 -3.72639 -2.44245 \n3.40695 2.46218 0.061668 3.77718 -3.68325 2.47057 \n3.408 2.4756 0 -0.928443 6.20267 0.000806026 \n3.41124 2.47675 -0.054 1.42774 5.5445 -0.971486 \n3.41124 2.47675 0.054 1.43223 5.52961 0.984415 \n3.41645 2.47237 -0.057996 3.31762 0.674912 -1.84459 \n3.41645 2.47237 0.057996 3.28468 0.667431 1.83353 \n3.42488 2.46261 0 3.99609 -4.49657 0.0158054 \n3.42812 2.47734 0 1.91103 5.35874 0.0138972 \n3.434 2.4729 0 3.59322 0.33682 0.01397 \n3 2596 2607 2621 \n3 2621 2615 2596 \n3 2558 2566 2607 \n3 2607 2596 2558 \n3 2511 2519 2566 \n3 2566 2558 2511 \n3 2435 2445 2519 \n3 2519 2511 2435 \n3 2368 2372 2445 \n3 2445 2435 2368 \n3 2273 2280 2372 \n3 2372 2368 2273 \n3 2185 2189 2280 \n3 2280 2273 2185 \n3 2072 2076 2189 \n3 2189 2185 2072 \n3 1882 1886 2076 \n3 2076 2072 1882 \n3 1570 1619 1886 \n3 1886 1882 1570 \n3 2588 2596 2615 \n3 2615 2604 2588 \n3 2552 2558 2596 \n3 2596 2588 2552 \n3 2505 2511 2558 \n3 2558 2552 2505 \n3 2427 2435 2511 \n3 2511 2505 2427 \n3 2362 2368 2435 \n3 2435 2427 2362 \n3 2267 2273 2368 \n3 2368 2362 2267 \n3 2177 2185 2273 \n3 2273 2267 2177 \n3 2064 2072 2185 \n3 2185 2177 2064 \n3 1876 1882 2072 \n3 2072 2064 1876 \n3 1572 1570 1882 \n3 1882 1876 1572 \n3 2590 2588 2604 \n3 2604 2609 2590 \n3 2554 2552 2588 \n3 2588 2590 2554 \n3 2507 2505 2552 \n3 2552 2554 2507 \n3 2431 2427 2505 \n3 2505 2507 2431 \n3 2364 2362 2427 \n3 2427 2431 2364 \n3 2270 2267 2362 \n3 2362 2364 2270 \n3 2182 2177 2267 \n3 2267 2270 2182 \n3 2068 2064 2177 \n3 2177 2182 2068 \n3 1879 1876 2064 \n3 2064 2068 1879 \n3 1631 1572 1876 \n3 1876 1879 1631 \n3 2598 2590 2609 \n3 2609 2618 2598 \n3 2564 2554 2590 \n3 2590 2598 2564 \n3 2515 2507 2554 \n3 2554 2564 2515 \n3 2439 2431 2507 \n3 2507 2515 2439 \n3 2370 2364 2431 \n3 2431 2439 2370 \n3 2276 2270 2364 \n3 2364 2370 2276 \n3 2187 2182 2270 \n3 2270 2276 2187 \n3 2074 2068 2182 \n3 2182 2187 2074 \n3 1884 1879 2068 \n3 2068 2074 1884 \n3 1573 1631 1879 \n3 1879 1884 1573 \n3 2613 2598 2618 \n3 2618 2628 2613 \n3 2570 2564 2598 \n3 2598 2613 2570 \n3 2521 2515 2564 \n3 2564 2570 2521 \n3 2449 2439 2515 \n3 2515 2521 2449 \n3 2376 2370 2439 \n3 2439 2449 2376 \n3 2282 2276 2370 \n3 2370 2376 2282 \n3 2191 2187 2276 \n3 2276 2282 2191 \n3 2078 2074 2187 \n3 2187 2191 2078 \n3 1888 1884 2074 \n3 2074 2078 1888 \n3 1635 1573 1884 \n3 1884 1888 1635 \n3 2626 2613 2628 \n3 2628 2639 2626 \n3 2584 2570 2613 \n3 2613 2626 2584 \n3 2527 2521 2570 \n3 2570 2584 2527 \n3 2458 2449 2521 \n3 2521 2527 2458 \n3 2378 2376 2449 \n3 2449 2458 2378 \n3 2284 2282 2376 \n3 2376 2378 2284 \n3 2195 2191 2282 \n3 2282 2284 2195 \n3 2082 2078 2191 \n3 2191 2195 2082 \n3 1896 1888 2078 \n3 2078 2082 1896 \n3 1633 1635 1888 \n3 1888 1896 1633 \n3 2642 2626 2639 \n3 2639 2656 2642 \n3 2594 2584 2626 \n3 2626 2642 2594 \n3 2536 2527 2584 \n3 2584 2594 2536 \n3 2466 2458 2527 \n3 2527 2536 2466 \n3 2384 2378 2458 \n3 2458 2466 2384 \n3 2292 2284 2378 \n3 2378 2384 2292 \n3 2200 2195 2284 \n3 2284 2292 2200 \n3 2084 2082 2195 \n3 2195 2200 2084 \n3 1898 1896 2082 \n3 2082 2084 1898 \n3 1630 1633 1896 \n3 1896 1898 1630 \n3 2657 2642 2656 \n3 2656 2662 2657 \n3 2616 2594 2642 \n3 2642 2657 2616 \n3 2545 2536 2594 \n3 2594 2616 2545 \n3 2476 2466 2536 \n3 2536 2545 2476 \n3 2390 2384 2466 \n3 2466 2476 2390 \n3 2300 2292 2384 \n3 2384 2390 2300 \n3 2208 2200 2292 \n3 2292 2300 2208 \n3 2088 2084 2200 \n3 2200 2208 2088 \n3 1902 1898 2084 \n3 2084 2088 1902 \n3 1571 1630 1898 \n3 1898 1902 1571 \n3 2663 2657 2662 \n3 2662 2675 2663 \n3 2629 2616 2657 \n3 2657 2663 2629 \n3 2560 2545 2616 \n3 2616 2629 2560 \n3 2486 2476 2545 \n3 2545 2560 2486 \n3 2398 2390 2476 \n3 2476 2486 2398 \n3 2306 2300 2390 \n3 2390 2398 2306 \n3 2214 2208 2300 \n3 2300 2306 2214 \n3 2092 2088 2208 \n3 2208 2214 2092 \n3 1904 1902 2088 \n3 2088 2092 1904 \n3 1624 1571 1902 \n3 1902 1904 1624 \n3 2678 2663 2675 \n3 2675 2691 2678 \n3 2648 2629 2663 \n3 2663 2678 2648 \n3 2576 2560 2629 \n3 2629 2648 2576 \n3 2497 2486 2560 \n3 2560 2576 2497 \n3 2410 2398 2486 \n3 2486 2497 2410 \n3 2314 2306 2398 \n3 2398 2410 2314 \n3 2227 2214 2306 \n3 2306 2314 2227 \n3 2101 2092 2214 \n3 2214 2227 2101 \n3 1914 1904 2092 \n3 2092 2101 1914 \n3 1618 1624 1904 \n3 1904 1914 1618 \n3 1356 1352 1619 \n3 1619 1570 1356 \n3 1166 1162 1352 \n3 1352 1356 1166 \n3 1053 1049 1162 \n3 1162 1166 1053 \n3 965 958 1049 \n3 1049 1053 965 \n3 870 866 958 \n3 958 965 870 \n3 803 793 866 \n3 866 870 803 \n3 727 719 793 \n3 793 803 727 \n3 680 672 719 \n3 719 727 680 \n3 642 631 672 \n3 672 680 642 \n3 624 618 631 \n3 631 642 624 \n3 1362 1356 1570 \n3 1570 1572 1362 \n3 1174 1166 1356 \n3 1356 1362 1174 \n3 1061 1053 1166 \n3 1166 1174 1061 \n3 971 965 1053 \n3 1053 1061 971 \n3 876 870 965 \n3 965 971 876 \n3 811 803 870 \n3 870 876 811 \n3 733 727 803 \n3 803 811 733 \n3 686 680 727 \n3 727 733 686 \n3 650 642 680 \n3 680 686 650 \n3 635 624 642 \n3 642 650 635 \n3 1361 1362 1572 \n3 1572 1631 1361 \n3 1170 1174 1362 \n3 1362 1361 1170 \n3 1058 1061 1174 \n3 1174 1170 1058 \n3 970 971 1061 \n3 1061 1058 970 \n3 874 876 971 \n3 971 970 874 \n3 807 811 876 \n3 876 874 807 \n3 731 733 811 \n3 811 807 731 \n3 684 686 733 \n3 733 731 684 \n3 648 650 686 \n3 686 684 648 \n3 630 635 650 \n3 650 648 630 \n3 1354 1361 1631 \n3 1631 1573 1354 \n3 1164 1170 1361 \n3 1361 1354 1164 \n3 1051 1058 1170 \n3 1170 1164 1051 \n3 962 970 1058 \n3 1058 1051 962 \n3 868 874 970 \n3 970 962 868 \n3 799 807 874 \n3 874 868 799 \n3 723 731 807 \n3 807 799 723 \n3 674 684 731 \n3 731 723 674 \n3 640 648 684 \n3 684 674 640 \n3 621 630 648 \n3 648 640 621 \n3 1350 1354 1573 \n3 1573 1635 1350 \n3 1160 1164 1354 \n3 1354 1350 1160 \n3 1047 1051 1164 \n3 1164 1160 1047 \n3 956 962 1051 \n3 1051 1047 956 \n3 862 868 962 \n3 962 956 862 \n3 789 799 868 \n3 868 862 789 \n3 717 723 799 \n3 799 789 717 \n3 668 674 723 \n3 723 717 668 \n3 625 640 674 \n3 674 668 625 \n3 611 621 640 \n3 640 625 611 \n3 1342 1350 1635 \n3 1635 1633 1342 \n3 1156 1160 1350 \n3 1350 1342 1156 \n3 1043 1047 1160 \n3 1160 1156 1043 \n3 954 956 1047 \n3 1047 1043 954 \n3 860 862 956 \n3 956 954 860 \n3 780 789 862 \n3 862 860 780 \n3 711 717 789 \n3 789 780 711 \n3 654 668 717 \n3 717 711 654 \n3 612 625 668 \n3 668 654 612 \n3 600 611 625 \n3 625 612 600 \n3 1340 1342 1633 \n3 1633 1630 1340 \n3 1154 1156 1342 \n3 1342 1340 1154 \n3 1040 1043 1156 \n3 1156 1154 1040 \n3 946 954 1043 \n3 1043 1040 946 \n3 854 860 954 \n3 954 946 854 \n3 772 780 860 \n3 860 854 772 \n3 702 711 780 \n3 780 772 702 \n3 644 654 711 \n3 711 702 644 \n3 596 612 654 \n3 654 644 596 \n3 583 600 612 \n3 612 596 583 \n3 1336 1340 1630 \n3 1630 1571 1336 \n3 1150 1154 1340 \n3 1340 1336 1150 \n3 1030 1040 1154 \n3 1154 1150 1030 \n3 938 946 1040 \n3 1040 1030 938 \n3 848 854 946 \n3 946 938 848 \n3 762 772 854 \n3 854 848 762 \n3 693 702 772 \n3 772 762 693 \n3 622 644 702 \n3 702 693 622 \n3 581 596 644 \n3 644 622 581 \n3 577 583 596 \n3 596 581 577 \n3 1334 1336 1571 \n3 1571 1624 1334 \n3 1146 1150 1336 \n3 1336 1334 1146 \n3 1024 1030 1150 \n3 1150 1146 1024 \n3 932 938 1030 \n3 1030 1024 932 \n3 840 848 938 \n3 938 932 840 \n3 752 762 848 \n3 848 840 752 \n3 678 693 762 \n3 762 752 678 \n3 609 622 693 \n3 693 678 609 \n3 575 581 622 \n3 622 609 575 \n3 564 577 581 \n3 581 575 564 \n3 1323 1334 1624 \n3 1624 1618 1323 \n3 1137 1146 1334 \n3 1334 1323 1137 \n3 1015 1024 1146 \n3 1146 1137 1015 \n3 924 932 1024 \n3 1024 1015 924 \n3 828 840 932 \n3 932 924 828 \n3 741 752 840 \n3 840 828 741 \n3 662 678 752 \n3 752 741 662 \n3 590 609 678 \n3 678 662 590 \n3 560 575 609 \n3 609 590 560 \n3 549 564 575 \n3 575 560 549 \n3 643 632 618 \n3 618 624 643 \n3 681 673 632 \n3 632 643 681 \n3 728 720 673 \n3 673 681 728 \n3 804 794 720 \n3 720 728 804 \n3 871 867 794 \n3 794 804 871 \n3 966 959 867 \n3 867 871 966 \n3 1054 1050 959 \n3 959 966 1054 \n3 1167 1163 1050 \n3 1050 1054 1167 \n3 1357 1353 1163 \n3 1163 1167 1357 \n3 1674 1622 1353 \n3 1353 1357 1674 \n3 651 643 624 \n3 624 635 651 \n3 687 681 643 \n3 643 651 687 \n3 734 728 681 \n3 681 687 734 \n3 812 804 728 \n3 728 734 812 \n3 877 871 804 \n3 804 812 877 \n3 972 966 871 \n3 871 877 972 \n3 1062 1054 966 \n3 966 972 1062 \n3 1175 1167 1054 \n3 1054 1062 1175 \n3 1363 1357 1167 \n3 1167 1175 1363 \n3 1628 1674 1357 \n3 1357 1363 1628 \n3 649 651 635 \n3 635 630 649 \n3 685 687 651 \n3 651 649 685 \n3 732 734 687 \n3 687 685 732 \n3 808 812 734 \n3 734 732 808 \n3 875 877 812 \n3 812 808 875 \n3 969 972 877 \n3 877 875 969 \n3 1057 1062 972 \n3 972 969 1057 \n3 1171 1175 1062 \n3 1062 1057 1171 \n3 1360 1363 1175 \n3 1175 1171 1360 \n3 1561 1628 1363 \n3 1363 1360 1561 \n3 641 649 630 \n3 630 621 641 \n3 675 685 649 \n3 649 641 675 \n3 724 732 685 \n3 685 675 724 \n3 800 808 732 \n3 732 724 800 \n3 869 875 808 \n3 808 800 869 \n3 963 969 875 \n3 875 869 963 \n3 1052 1057 969 \n3 969 963 1052 \n3 1165 1171 1057 \n3 1057 1052 1165 \n3 1355 1360 1171 \n3 1171 1165 1355 \n3 1634 1561 1360 \n3 1360 1355 1634 \n3 626 641 621 \n3 621 611 626 \n3 669 675 641 \n3 641 626 669 \n3 718 724 675 \n3 675 669 718 \n3 790 800 724 \n3 724 718 790 \n3 863 869 800 \n3 800 790 863 \n3 957 963 869 \n3 869 863 957 \n3 1048 1052 963 \n3 963 957 1048 \n3 1161 1165 1052 \n3 1052 1048 1161 \n3 1351 1355 1165 \n3 1165 1161 1351 \n3 1636 1634 1355 \n3 1355 1351 1636 \n3 613 626 611 \n3 611 600 613 \n3 655 669 626 \n3 626 613 655 \n3 712 718 669 \n3 669 655 712 \n3 781 790 718 \n3 718 712 781 \n3 861 863 790 \n3 790 781 861 \n3 955 957 863 \n3 863 861 955 \n3 1044 1048 957 \n3 957 955 1044 \n3 1157 1161 1048 \n3 1048 1044 1157 \n3 1343 1351 1161 \n3 1161 1157 1343 \n3 1666 1636 1351 \n3 1351 1343 1666 \n3 597 613 600 \n3 600 583 597 \n3 645 655 613 \n3 613 597 645 \n3 703 712 655 \n3 655 645 703 \n3 773 781 712 \n3 712 703 773 \n3 855 861 781 \n3 781 773 855 \n3 947 955 861 \n3 861 855 947 \n3 1039 1044 955 \n3 955 947 1039 \n3 1155 1157 1044 \n3 1044 1039 1155 \n3 1341 1343 1157 \n3 1157 1155 1341 \n3 1632 1666 1343 \n3 1343 1341 1632 \n3 582 597 583 \n3 583 577 582 \n3 623 645 597 \n3 597 582 623 \n3 694 703 645 \n3 645 623 694 \n3 763 773 703 \n3 703 694 763 \n3 849 855 773 \n3 773 763 849 \n3 939 947 855 \n3 855 849 939 \n3 1031 1039 947 \n3 947 939 1031 \n3 1151 1155 1039 \n3 1039 1031 1151 \n3 1337 1341 1155 \n3 1155 1151 1337 \n3 1629 1632 1341 \n3 1341 1337 1629 \n3 576 582 577 \n3 577 564 576 \n3 610 623 582 \n3 582 576 610 \n3 679 694 623 \n3 623 610 679 \n3 753 763 694 \n3 694 679 753 \n3 841 849 763 \n3 763 753 841 \n3 933 939 849 \n3 849 841 933 \n3 1025 1031 939 \n3 939 933 1025 \n3 1147 1151 1031 \n3 1031 1025 1147 \n3 1335 1337 1151 \n3 1151 1147 1335 \n3 1625 1629 1337 \n3 1337 1335 1625 \n3 562 576 564 \n3 564 549 562 \n3 593 610 576 \n3 576 562 593 \n3 664 679 610 \n3 610 593 664 \n3 744 753 679 \n3 679 664 744 \n3 831 841 753 \n3 753 744 831 \n3 925 933 841 \n3 841 831 925 \n3 1014 1025 933 \n3 933 925 1014 \n3 1139 1147 1025 \n3 1025 1014 1139 \n3 1325 1335 1147 \n3 1147 1139 1325 \n3 1623 1625 1335 \n3 1335 1325 1623 \n3 1883 1887 1622 \n3 1622 1674 1883 \n3 2073 2077 1887 \n3 1887 1883 2073 \n3 2186 2190 2077 \n3 2077 2073 2186 \n3 2274 2281 2190 \n3 2190 2186 2274 \n3 2369 2373 2281 \n3 2281 2274 2369 \n3 2436 2446 2373 \n3 2373 2369 2436 \n3 2512 2520 2446 \n3 2446 2436 2512 \n3 2559 2567 2520 \n3 2520 2512 2559 \n3 2597 2608 2567 \n3 2567 2559 2597 \n3 2615 2621 2608 \n3 2608 2597 2615 \n3 1877 1883 1674 \n3 1674 1628 1877 \n3 2065 2073 1883 \n3 1883 1877 2065 \n3 2178 2186 2073 \n3 2073 2065 2178 \n3 2268 2274 2186 \n3 2186 2178 2268 \n3 2363 2369 2274 \n3 2274 2268 2363 \n3 2428 2436 2369 \n3 2369 2363 2428 \n3 2506 2512 2436 \n3 2436 2428 2506 \n3 2553 2559 2512 \n3 2512 2506 2553 \n3 2589 2597 2559 \n3 2559 2553 2589 \n3 2604 2615 2597 \n3 2597 2589 2604 \n3 1878 1877 1628 \n3 1628 1561 1878 \n3 2069 2065 1877 \n3 1877 1878 2069 \n3 2181 2178 2065 \n3 2065 2069 2181 \n3 2269 2268 2178 \n3 2178 2181 2269 \n3 2365 2363 2268 \n3 2268 2269 2365 \n3 2432 2428 2363 \n3 2363 2365 2432 \n3 2508 2506 2428 \n3 2428 2432 2508 \n3 2555 2553 2506 \n3 2506 2508 2555 \n3 2591 2589 2553 \n3 2553 2555 2591 \n3 2609 2604 2589 \n3 2589 2591 2609 \n3 1885 1878 1561 \n3 1561 1634 1885 \n3 2075 2069 1878 \n3 1878 1885 2075 \n3 2188 2181 2069 \n3 2069 2075 2188 \n3 2277 2269 2181 \n3 2181 2188 2277 \n3 2371 2365 2269 \n3 2269 2277 2371 \n3 2440 2432 2365 \n3 2365 2371 2440 \n3 2516 2508 2432 \n3 2432 2440 2516 \n3 2565 2555 2508 \n3 2508 2516 2565 \n3 2599 2591 2555 \n3 2555 2565 2599 \n3 2618 2609 2591 \n3 2591 2599 2618 \n3 1889 1885 1634 \n3 1634 1636 1889 \n3 2079 2075 1885 \n3 1885 1889 2079 \n3 2192 2188 2075 \n3 2075 2079 2192 \n3 2283 2277 2188 \n3 2188 2192 2283 \n3 2377 2371 2277 \n3 2277 2283 2377 \n3 2450 2440 2371 \n3 2371 2377 2450 \n3 2522 2516 2440 \n3 2440 2450 2522 \n3 2571 2565 2516 \n3 2516 2522 2571 \n3 2614 2599 2565 \n3 2565 2571 2614 \n3 2628 2618 2599 \n3 2599 2614 2628 \n3 1897 1889 1636 \n3 1636 1666 1897 \n3 2083 2079 1889 \n3 1889 1897 2083 \n3 2196 2192 2079 \n3 2079 2083 2196 \n3 2285 2283 2192 \n3 2192 2196 2285 \n3 2379 2377 2283 \n3 2283 2285 2379 \n3 2459 2450 2377 \n3 2377 2379 2459 \n3 2528 2522 2450 \n3 2450 2459 2528 \n3 2585 2571 2522 \n3 2522 2528 2585 \n3 2627 2614 2571 \n3 2571 2585 2627 \n3 2639 2628 2614 \n3 2614 2627 2639 \n3 1899 1897 1666 \n3 1666 1632 1899 \n3 2085 2083 1897 \n3 1897 1899 2085 \n3 2199 2196 2083 \n3 2083 2085 2199 \n3 2293 2285 2196 \n3 2196 2199 2293 \n3 2385 2379 2285 \n3 2285 2293 2385 \n3 2467 2459 2379 \n3 2379 2385 2467 \n3 2537 2528 2459 \n3 2459 2467 2537 \n3 2595 2585 2528 \n3 2528 2537 2595 \n3 2643 2627 2585 \n3 2585 2595 2643 \n3 2656 2639 2627 \n3 2627 2643 2656 \n3 1903 1899 1632 \n3 1632 1629 1903 \n3 2089 2085 1899 \n3 1899 1903 2089 \n3 2209 2199 2085 \n3 2085 2089 2209 \n3 2301 2293 2199 \n3 2199 2209 2301 \n3 2391 2385 2293 \n3 2293 2301 2391 \n3 2477 2467 2385 \n3 2385 2391 2477 \n3 2546 2537 2467 \n3 2467 2477 2546 \n3 2617 2595 2537 \n3 2537 2546 2617 \n3 2658 2643 2595 \n3 2595 2617 2658 \n3 2662 2656 2643 \n3 2643 2658 2662 \n3 1905 1903 1629 \n3 1629 1625 1905 \n3 2093 2089 1903 \n3 1903 1905 2093 \n3 2215 2209 2089 \n3 2089 2093 2215 \n3 2307 2301 2209 \n3 2209 2215 2307 \n3 2399 2391 2301 \n3 2301 2307 2399 \n3 2487 2477 2391 \n3 2391 2399 2487 \n3 2561 2546 2477 \n3 2477 2487 2561 \n3 2630 2617 2546 \n3 2546 2561 2630 \n3 2664 2658 2617 \n3 2617 2630 2664 \n3 2675 2662 2658 \n3 2658 2664 2675 \n3 1916 1905 1625 \n3 1625 1623 1916 \n3 2103 2093 1905 \n3 1905 1916 2103 \n3 2225 2215 2093 \n3 2093 2103 2225 \n3 2317 2307 2215 \n3 2215 2225 2317 \n3 2411 2399 2307 \n3 2307 2317 2411 \n3 2498 2487 2399 \n3 2399 2411 2498 \n3 2577 2561 2487 \n3 2487 2498 2577 \n3 2649 2630 2561 \n3 2561 2577 2649 \n3 2679 2664 2630 \n3 2630 2649 2679 \n3 2691 2675 2664 \n3 2664 2679 2691 \n3 2704 2678 2691 \n3 2691 2712 2704 \n3 2687 2648 2678 \n3 2678 2704 2687 \n3 2624 2576 2648 \n3 2648 2687 2624 \n3 2533 2497 2576 \n3 2576 2624 2533 \n3 2429 2410 2497 \n3 2497 2533 2429 \n3 2346 2314 2410 \n3 2410 2429 2346 \n3 2235 2227 2314 \n3 2314 2346 2235 \n3 2114 2101 2227 \n3 2227 2235 2114 \n3 1930 1914 2101 \n3 2101 2114 1930 \n3 1616 1618 1914 \n3 1914 1930 1616 \n3 2732 2704 2712 \n3 2712 2738 2732 \n3 2708 2687 2704 \n3 2704 2732 2708 \n3 2667 2624 2687 \n3 2687 2708 2667 \n3 2572 2533 2624 \n3 2624 2667 2572 \n3 2470 2429 2533 \n3 2533 2572 2470 \n3 2358 2346 2429 \n3 2429 2470 2358 \n3 2245 2235 2346 \n3 2346 2358 2245 \n3 2122 2114 2235 \n3 2235 2245 2122 \n3 1944 1930 2114 \n3 2114 2122 1944 \n3 1614 1616 1930 \n3 1930 1944 1614 \n3 2750 2732 2738 \n3 2738 2772 2750 \n3 2734 2708 2732 \n3 2732 2750 2734 \n3 2695 2667 2708 \n3 2708 2734 2695 \n3 2619 2572 2667 \n3 2667 2695 2619 \n3 2502 2470 2572 \n3 2572 2619 2502 \n3 2382 2358 2470 \n3 2470 2502 2382 \n3 2260 2245 2358 \n3 2358 2382 2260 \n3 2131 2122 2245 \n3 2245 2260 2131 \n3 1959 1944 2122 \n3 2122 2131 1959 \n3 1680 1614 1944 \n3 1944 1959 1680 \n3 2786 2750 2772 \n3 2772 2794 2786 \n3 2748 2734 2750 \n3 2750 2786 2748 \n3 2717 2695 2734 \n3 2734 2748 2717 \n3 2659 2619 2695 \n3 2695 2717 2659 \n3 2529 2502 2619 \n3 2619 2659 2529 \n3 2404 2382 2502 \n3 2502 2529 2404 \n3 2279 2260 2382 \n3 2382 2404 2279 \n3 2141 2131 2260 \n3 2260 2279 2141 \n3 1968 1959 2131 \n3 2131 2141 1968 \n3 1612 1680 1959 \n3 1959 1968 1612 \n3 2801 2786 2794 \n3 2794 2806 2801 \n3 2782 2748 2786 \n3 2786 2801 2782 \n3 2736 2717 2748 \n3 2748 2782 2736 \n3 2683 2659 2717 \n3 2717 2736 2683 \n3 2550 2529 2659 \n3 2659 2683 2550 \n3 2422 2404 2529 \n3 2529 2550 2422 \n3 2290 2279 2404 \n3 2404 2422 2290 \n3 2149 2141 2279 \n3 2279 2290 2149 \n3 1974 1968 2141 \n3 2141 2149 1974 \n3 1610 1612 1968 \n3 1968 1974 1610 \n3 2811 2801 2806 \n3 2806 2820 2811 \n3 2799 2782 2801 \n3 2801 2811 2799 \n3 2746 2736 2782 \n3 2782 2799 2746 \n3 2701 2683 2736 \n3 2736 2746 2701 \n3 2580 2550 2683 \n3 2683 2701 2580 \n3 2441 2422 2550 \n3 2550 2580 2441 \n3 2304 2290 2422 \n3 2422 2441 2304 \n3 2161 2149 2290 \n3 2290 2304 2161 \n3 1987 1974 2149 \n3 2149 2161 1987 \n3 1608 1610 1974 \n3 1974 1987 1608 \n3 2823 2811 2820 \n3 2820 2828 2823 \n3 2804 2799 2811 \n3 2811 2823 2804 \n3 2773 2746 2799 \n3 2799 2804 2773 \n3 2710 2701 2746 \n3 2746 2773 2710 \n3 2602 2580 2701 \n3 2701 2710 2602 \n3 2460 2441 2580 \n3 2580 2602 2460 \n3 2318 2304 2441 \n3 2441 2460 2318 \n3 2163 2161 2304 \n3 2304 2318 2163 \n3 1997 1987 2161 \n3 2161 2163 1997 \n3 1568 1608 1987 \n3 1987 1997 1568 \n3 2831 2823 2828 \n3 2828 2842 2831 \n3 2813 2804 2823 \n3 2823 2831 2813 \n3 2784 2773 2804 \n3 2804 2813 2784 \n3 2721 2710 2773 \n3 2773 2784 2721 \n3 2622 2602 2710 \n3 2710 2721 2622 \n3 2472 2460 2602 \n3 2602 2622 2472 \n3 2330 2318 2460 \n3 2460 2472 2330 \n3 2169 2163 2318 \n3 2318 2330 2169 \n3 2007 1997 2163 \n3 2163 2169 2007 \n3 1673 1568 1997 \n3 1997 2007 1673 \n3 2840 2831 2842 \n3 2842 2848 2840 \n3 2818 2813 2831 \n3 2831 2840 2818 \n3 2790 2784 2813 \n3 2813 2818 2790 \n3 2726 2721 2784 \n3 2784 2790 2726 \n3 2635 2622 2721 \n3 2721 2726 2635 \n3 2478 2472 2622 \n3 2622 2635 2478 \n3 2339 2330 2472 \n3 2472 2478 2339 \n3 2173 2169 2330 \n3 2330 2339 2173 \n3 2014 2007 2169 \n3 2169 2173 2014 \n3 1606 1673 2007 \n3 2007 2014 1606 \n3 2843 2840 2848 \n3 2848 2851 2843 \n3 2821 2818 2840 \n3 2840 2843 2821 \n3 2792 2790 2818 \n3 2818 2821 2792 \n3 2728 2726 2790 \n3 2790 2792 2728 \n3 2640 2635 2726 \n3 2726 2728 2640 \n3 2480 2478 2635 \n3 2635 2640 2480 \n3 2345 2339 2478 \n3 2478 2480 2345 \n3 2175 2173 2339 \n3 2339 2345 2175 \n3 2016 2014 2173 \n3 2173 2175 2016 \n3 1604 1606 2014 \n3 2014 2016 1604 \n3 1308 1323 1618 \n3 1618 1616 1308 \n3 1124 1137 1323 \n3 1323 1308 1124 \n3 1003 1015 1137 \n3 1137 1124 1003 \n3 892 924 1015 \n3 1015 1003 892 \n3 809 828 924 \n3 924 892 809 \n3 705 741 828 \n3 828 809 705 \n3 614 662 741 \n3 741 705 614 \n3 551 590 662 \n3 662 614 551 \n3 523 560 590 \n3 590 551 523 \n3 514 549 560 \n3 560 523 514 \n3 1294 1308 1616 \n3 1616 1614 1294 \n3 1116 1124 1308 \n3 1308 1294 1116 \n3 993 1003 1124 \n3 1124 1116 993 \n3 880 892 1003 \n3 1003 993 880 \n3 768 809 892 \n3 892 880 768 \n3 666 705 809 \n3 809 768 666 \n3 571 614 705 \n3 705 666 571 \n3 517 551 614 \n3 614 571 517 \n3 486 523 551 \n3 551 517 486 \n3 481 514 523 \n3 523 486 481 \n3 1281 1294 1614 \n3 1614 1680 1281 \n3 1107 1116 1294 \n3 1294 1281 1107 \n3 980 993 1116 \n3 1116 1107 980 \n3 856 880 993 \n3 993 980 856 \n3 738 768 880 \n3 880 856 738 \n3 619 666 768 \n3 768 738 619 \n3 536 571 666 \n3 666 619 536 \n3 484 517 571 \n3 571 536 484 \n3 468 486 517 \n3 517 484 468 \n3 467 481 486 \n3 486 468 467 \n3 1270 1281 1680 \n3 1680 1612 1270 \n3 1097 1107 1281 \n3 1281 1270 1097 \n3 961 980 1107 \n3 1107 1097 961 \n3 834 856 980 \n3 980 961 834 \n3 709 738 856 \n3 856 834 709 \n3 579 619 738 \n3 738 709 579 \n3 506 536 619 \n3 619 579 506 \n3 470 484 536 \n3 536 506 470 \n3 452 468 484 \n3 484 470 452 \n3 445 467 468 \n3 468 452 445 \n3 1264 1270 1612 \n3 1612 1610 1264 \n3 1089 1097 1270 \n3 1270 1264 1089 \n3 948 961 1097 \n3 1097 1089 948 \n3 816 834 961 \n3 961 948 816 \n3 688 709 834 \n3 834 816 688 \n3 555 579 709 \n3 709 688 555 \n3 482 506 579 \n3 579 555 482 \n3 456 470 506 \n3 506 482 456 \n3 417 452 470 \n3 470 456 417 \n3 413 445 452 \n3 452 417 413 \n3 1251 1264 1610 \n3 1610 1608 1251 \n3 1077 1089 1264 \n3 1264 1251 1077 \n3 934 948 1089 \n3 1089 1077 934 \n3 797 816 948 \n3 948 934 797 \n3 658 688 816 \n3 816 797 658 \n3 530 555 688 \n3 688 658 530 \n3 472 482 555 \n3 555 530 472 \n3 420 456 482 \n3 482 472 420 \n3 407 417 456 \n3 456 420 407 \n3 399 413 417 \n3 417 407 399 \n3 1241 1251 1608 \n3 1608 1568 1241 \n3 1075 1077 1251 \n3 1251 1241 1075 \n3 920 934 1077 \n3 1077 1075 920 \n3 778 797 934 \n3 934 920 778 \n3 636 658 797 \n3 797 778 636 \n3 515 530 658 \n3 658 636 515 \n3 465 472 530 \n3 530 515 465 \n3 414 420 472 \n3 472 465 414 \n3 390 407 420 \n3 420 414 390 \n3 383 399 407 \n3 407 390 383 \n3 1231 1241 1568 \n3 1568 1673 1231 \n3 1069 1075 1241 \n3 1241 1231 1069 \n3 908 920 1075 \n3 1075 1069 908 \n3 766 778 920 \n3 920 908 766 \n3 616 636 778 \n3 778 766 616 \n3 500 515 636 \n3 636 616 500 \n3 454 465 515 \n3 515 500 454 \n3 405 414 465 \n3 465 454 405 \n3 381 390 414 \n3 414 405 381 \n3 371 383 390 \n3 390 381 371 \n3 1224 1231 1673 \n3 1673 1606 1224 \n3 1065 1069 1231 \n3 1231 1224 1065 \n3 901 908 1069 \n3 1069 1065 901 \n3 760 766 908 \n3 908 901 760 \n3 603 616 766 \n3 766 760 603 \n3 492 500 616 \n3 616 603 492 \n3 448 454 500 \n3 500 492 448 \n3 400 405 454 \n3 454 448 400 \n3 372 381 405 \n3 405 400 372 \n3 358 371 381 \n3 381 372 358 \n3 1222 1224 1606 \n3 1606 1604 1222 \n3 1063 1065 1224 \n3 1224 1222 1063 \n3 895 901 1065 \n3 1065 1063 895 \n3 758 760 901 \n3 901 895 758 \n3 598 603 760 \n3 760 758 598 \n3 490 492 603 \n3 603 598 490 \n3 446 448 492 \n3 492 490 446 \n3 397 400 448 \n3 448 446 397 \n3 369 372 400 \n3 400 397 369 \n3 353 358 372 \n3 372 369 353 \n3 524 562 549 \n3 549 514 524 \n3 552 593 562 \n3 562 524 552 \n3 615 664 593 \n3 593 552 615 \n3 706 744 664 \n3 664 615 706 \n3 810 831 744 \n3 744 706 810 \n3 893 925 831 \n3 831 810 893 \n3 1004 1014 925 \n3 925 893 1004 \n3 1125 1139 1014 \n3 1014 1004 1125 \n3 1309 1325 1139 \n3 1139 1125 1309 \n3 1617 1623 1325 \n3 1325 1309 1617 \n3 487 524 514 \n3 514 481 487 \n3 518 552 524 \n3 524 487 518 \n3 572 615 552 \n3 552 518 572 \n3 667 706 615 \n3 615 572 667 \n3 769 810 706 \n3 706 667 769 \n3 881 893 810 \n3 810 769 881 \n3 994 1004 893 \n3 893 881 994 \n3 1117 1125 1004 \n3 1004 994 1117 \n3 1295 1309 1125 \n3 1125 1117 1295 \n3 1615 1617 1309 \n3 1309 1295 1615 \n3 469 487 481 \n3 481 467 469 \n3 485 518 487 \n3 487 469 485 \n3 537 572 518 \n3 518 485 537 \n3 620 667 572 \n3 572 537 620 \n3 737 769 667 \n3 667 620 737 \n3 857 881 769 \n3 769 737 857 \n3 979 994 881 \n3 881 857 979 \n3 1108 1117 994 \n3 994 979 1108 \n3 1280 1295 1117 \n3 1117 1108 1280 \n3 1613 1615 1295 \n3 1295 1280 1613 \n3 453 469 467 \n3 467 445 453 \n3 471 485 469 \n3 469 453 471 \n3 507 537 485 \n3 485 471 507 \n3 580 620 537 \n3 537 507 580 \n3 710 737 620 \n3 620 580 710 \n3 835 857 737 \n3 737 710 835 \n3 960 979 857 \n3 857 835 960 \n3 1098 1108 979 \n3 979 960 1098 \n3 1271 1280 1108 \n3 1108 1098 1271 \n3 1569 1613 1280 \n3 1280 1271 1569 \n3 418 453 445 \n3 445 413 418 \n3 457 471 453 \n3 453 418 457 \n3 483 507 471 \n3 471 457 483 \n3 556 580 507 \n3 507 483 556 \n3 689 710 580 \n3 580 556 689 \n3 817 835 710 \n3 710 689 817 \n3 949 960 835 \n3 835 817 949 \n3 1090 1098 960 \n3 960 949 1090 \n3 1265 1271 1098 \n3 1098 1090 1265 \n3 1611 1569 1271 \n3 1271 1265 1611 \n3 408 418 413 \n3 413 399 408 \n3 421 457 418 \n3 418 408 421 \n3 473 483 457 \n3 457 421 473 \n3 531 556 483 \n3 483 473 531 \n3 659 689 556 \n3 556 531 659 \n3 798 817 689 \n3 689 659 798 \n3 935 949 817 \n3 817 798 935 \n3 1078 1090 949 \n3 949 935 1078 \n3 1252 1265 1090 \n3 1090 1078 1252 \n3 1609 1611 1265 \n3 1265 1252 1609 \n3 391 408 399 \n3 399 383 391 \n3 415 421 408 \n3 408 391 415 \n3 466 473 421 \n3 421 415 466 \n3 516 531 473 \n3 473 466 516 \n3 637 659 531 \n3 531 516 637 \n3 779 798 659 \n3 659 637 779 \n3 921 935 798 \n3 798 779 921 \n3 1076 1078 935 \n3 935 921 1076 \n3 1242 1252 1078 \n3 1078 1076 1242 \n3 1607 1609 1252 \n3 1252 1242 1607 \n3 382 391 383 \n3 383 371 382 \n3 406 415 391 \n3 391 382 406 \n3 455 466 415 \n3 415 406 455 \n3 501 516 466 \n3 466 455 501 \n3 617 637 516 \n3 516 501 617 \n3 767 779 637 \n3 637 617 767 \n3 909 921 779 \n3 779 767 909 \n3 1070 1076 921 \n3 921 909 1070 \n3 1232 1242 1076 \n3 1076 1070 1232 \n3 1567 1607 1242 \n3 1242 1232 1567 \n3 373 382 371 \n3 371 358 373 \n3 401 406 382 \n3 382 373 401 \n3 449 455 406 \n3 406 401 449 \n3 493 501 455 \n3 455 449 493 \n3 604 617 501 \n3 501 493 604 \n3 761 767 617 \n3 617 604 761 \n3 900 909 767 \n3 767 761 900 \n3 1066 1070 909 \n3 909 900 1066 \n3 1225 1232 1070 \n3 1070 1066 1225 \n3 1566 1567 1232 \n3 1232 1225 1566 \n3 370 373 358 \n3 358 353 370 \n3 398 401 373 \n3 373 370 398 \n3 447 449 401 \n3 401 398 447 \n3 491 493 449 \n3 449 447 491 \n3 599 604 493 \n3 493 491 599 \n3 759 761 604 \n3 604 599 759 \n3 894 900 761 \n3 761 759 894 \n3 1064 1066 900 \n3 900 894 1064 \n3 1223 1225 1066 \n3 1066 1064 1223 \n3 1605 1566 1225 \n3 1225 1223 1605 \n3 1931 1916 1623 \n3 1623 1617 1931 \n3 2115 2103 1916 \n3 1916 1931 2115 \n3 2236 2225 2103 \n3 2103 2115 2236 \n3 2347 2317 2225 \n3 2225 2236 2347 \n3 2430 2411 2317 \n3 2317 2347 2430 \n3 2534 2498 2411 \n3 2411 2430 2534 \n3 2625 2577 2498 \n3 2498 2534 2625 \n3 2688 2649 2577 \n3 2577 2625 2688 \n3 2705 2679 2649 \n3 2649 2688 2705 \n3 2712 2691 2679 \n3 2679 2705 2712 \n3 1945 1931 1617 \n3 1617 1615 1945 \n3 2123 2115 1931 \n3 1931 1945 2123 \n3 2246 2236 2115 \n3 2115 2123 2246 \n3 2359 2347 2236 \n3 2236 2246 2359 \n3 2471 2430 2347 \n3 2347 2359 2471 \n3 2573 2534 2430 \n3 2430 2471 2573 \n3 2668 2625 2534 \n3 2534 2573 2668 \n3 2709 2688 2625 \n3 2625 2668 2709 \n3 2733 2705 2688 \n3 2688 2709 2733 \n3 2738 2712 2705 \n3 2705 2733 2738 \n3 1958 1945 1615 \n3 1615 1613 1958 \n3 2132 2123 1945 \n3 1945 1958 2132 \n3 2259 2246 2123 \n3 2123 2132 2259 \n3 2383 2359 2246 \n3 2246 2259 2383 \n3 2501 2471 2359 \n3 2359 2383 2501 \n3 2620 2573 2471 \n3 2471 2501 2620 \n3 2696 2668 2573 \n3 2573 2620 2696 \n3 2735 2709 2668 \n3 2668 2696 2735 \n3 2751 2733 2709 \n3 2709 2735 2751 \n3 2772 2738 2733 \n3 2733 2751 2772 \n3 1969 1958 1613 \n3 1613 1569 1969 \n3 2142 2132 1958 \n3 1958 1969 2142 \n3 2278 2259 2132 \n3 2132 2142 2278 \n3 2405 2383 2259 \n3 2259 2278 2405 \n3 2530 2501 2383 \n3 2383 2405 2530 \n3 2660 2620 2501 \n3 2501 2530 2660 \n3 2718 2696 2620 \n3 2620 2660 2718 \n3 2749 2735 2696 \n3 2696 2718 2749 \n3 2787 2751 2735 \n3 2735 2749 2787 \n3 2794 2772 2751 \n3 2751 2787 2794 \n3 1975 1969 1569 \n3 1569 1611 1975 \n3 2150 2142 1969 \n3 1969 1975 2150 \n3 2291 2278 2142 \n3 2142 2150 2291 \n3 2423 2405 2278 \n3 2278 2291 2423 \n3 2551 2530 2405 \n3 2405 2423 2551 \n3 2684 2660 2530 \n3 2530 2551 2684 \n3 2737 2718 2660 \n3 2660 2684 2737 \n3 2783 2749 2718 \n3 2718 2737 2783 \n3 2802 2787 2749 \n3 2749 2783 2802 \n3 2806 2794 2787 \n3 2787 2802 2806 \n3 1988 1975 1611 \n3 1611 1609 1988 \n3 2162 2150 1975 \n3 1975 1988 2162 \n3 2305 2291 2150 \n3 2150 2162 2305 \n3 2442 2423 2291 \n3 2291 2305 2442 \n3 2581 2551 2423 \n3 2423 2442 2581 \n3 2702 2684 2551 \n3 2551 2581 2702 \n3 2747 2737 2684 \n3 2684 2702 2747 \n3 2800 2783 2737 \n3 2737 2747 2800 \n3 2812 2802 2783 \n3 2783 2800 2812 \n3 2820 2806 2802 \n3 2802 2812 2820 \n3 1998 1988 1609 \n3 1609 1607 1998 \n3 2164 2162 1988 \n3 1988 1998 2164 \n3 2319 2305 2162 \n3 2162 2164 2319 \n3 2461 2442 2305 \n3 2305 2319 2461 \n3 2603 2581 2442 \n3 2442 2461 2603 \n3 2711 2702 2581 \n3 2581 2603 2711 \n3 2774 2747 2702 \n3 2702 2711 2774 \n3 2805 2800 2747 \n3 2747 2774 2805 \n3 2824 2812 2800 \n3 2800 2805 2824 \n3 2828 2820 2812 \n3 2812 2824 2828 \n3 2008 1998 1607 \n3 1607 1567 2008 \n3 2170 2164 1998 \n3 1998 2008 2170 \n3 2331 2319 2164 \n3 2164 2170 2331 \n3 2473 2461 2319 \n3 2319 2331 2473 \n3 2623 2603 2461 \n3 2461 2473 2623 \n3 2722 2711 2603 \n3 2603 2623 2722 \n3 2785 2774 2711 \n3 2711 2722 2785 \n3 2814 2805 2774 \n3 2774 2785 2814 \n3 2832 2824 2805 \n3 2805 2814 2832 \n3 2842 2828 2824 \n3 2824 2832 2842 \n3 2015 2008 1567 \n3 1567 1566 2015 \n3 2174 2170 2008 \n3 2008 2015 2174 \n3 2338 2331 2170 \n3 2170 2174 2338 \n3 2479 2473 2331 \n3 2331 2338 2479 \n3 2636 2623 2473 \n3 2473 2479 2636 \n3 2727 2722 2623 \n3 2623 2636 2727 \n3 2791 2785 2722 \n3 2722 2727 2791 \n3 2819 2814 2785 \n3 2785 2791 2819 \n3 2841 2832 2814 \n3 2814 2819 2841 \n3 2848 2842 2832 \n3 2832 2841 2848 \n3 2017 2015 1566 \n3 1566 1605 2017 \n3 2176 2174 2015 \n3 2015 2017 2176 \n3 2344 2338 2174 \n3 2174 2176 2344 \n3 2481 2479 2338 \n3 2338 2344 2481 \n3 2641 2636 2479 \n3 2479 2481 2641 \n3 2729 2727 2636 \n3 2636 2641 2729 \n3 2793 2791 2727 \n3 2727 2729 2793 \n3 2822 2819 2791 \n3 2791 2793 2822 \n3 2844 2841 2819 \n3 2819 2822 2844 \n3 2851 2848 2841 \n3 2841 2844 2851 \n3 2836 2843 2851 \n3 2851 2847 2836 \n3 2815 2821 2843 \n3 2843 2836 2815 \n3 2788 2792 2821 \n3 2821 2815 2788 \n3 2723 2728 2792 \n3 2792 2788 2723 \n3 2633 2640 2728 \n3 2728 2723 2633 \n3 2474 2480 2640 \n3 2640 2633 2474 \n3 2332 2345 2480 \n3 2480 2474 2332 \n3 2171 2175 2345 \n3 2345 2332 2171 \n3 2012 2016 2175 \n3 2175 2171 2012 \n3 1560 1604 2016 \n3 2016 2012 1560 \n3 2825 2836 2847 \n3 2847 2833 2825 \n3 2807 2815 2836 \n3 2836 2825 2807 \n3 2779 2788 2815 \n3 2815 2807 2779 \n3 2713 2723 2788 \n3 2788 2779 2713 \n3 2611 2633 2723 \n3 2723 2713 2611 \n3 2464 2474 2633 \n3 2633 2611 2464 \n3 2322 2332 2474 \n3 2474 2464 2322 \n3 2165 2171 2332 \n3 2332 2322 2165 \n3 2003 2012 2171 \n3 2171 2165 2003 \n3 1559 1560 2012 \n3 2012 2003 1559 \n3 2809 2825 2833 \n3 2833 2817 2809 \n3 2795 2807 2825 \n3 2825 2809 2795 \n3 2744 2779 2807 \n3 2807 2795 2744 \n3 2697 2713 2779 \n3 2779 2744 2697 \n3 2578 2611 2713 \n3 2713 2697 2578 \n3 2437 2464 2611 \n3 2611 2578 2437 \n3 2302 2322 2464 \n3 2464 2437 2302 \n3 2159 2165 2322 \n3 2322 2302 2159 \n3 1985 2003 2165 \n3 2165 2159 1985 \n3 1565 1559 2003 \n3 2003 1985 1565 \n3 2797 2809 2817 \n3 2817 2803 2797 \n3 2777 2795 2809 \n3 2809 2797 2777 \n3 2730 2744 2795 \n3 2795 2777 2730 \n3 2671 2697 2744 \n3 2744 2730 2671 \n3 2543 2578 2697 \n3 2697 2671 2543 \n3 2416 2437 2578 \n3 2578 2543 2416 \n3 2287 2302 2437 \n3 2437 2416 2287 \n3 2145 2159 2302 \n3 2302 2287 2145 \n3 1972 1985 2159 \n3 2159 2145 1972 \n3 1601 1565 1985 \n3 1985 1972 1601 \n3 2775 2797 2803 \n3 2803 2781 2775 \n3 2741 2777 2797 \n3 2797 2775 2741 \n3 2706 2730 2777 \n3 2777 2741 2706 \n3 2637 2671 2730 \n3 2730 2706 2637 \n3 2517 2543 2671 \n3 2671 2637 2517 \n3 2392 2416 2543 \n3 2543 2517 2392 \n3 2262 2287 2416 \n3 2416 2392 2262 \n3 2135 2145 2287 \n3 2287 2262 2135 \n3 1960 1972 2145 \n3 2145 2135 1960 \n3 1671 1601 1972 \n3 1972 1960 1671 \n3 2739 2775 2781 \n3 2781 2743 2739 \n3 2719 2741 2775 \n3 2775 2739 2719 \n3 2681 2706 2741 \n3 2741 2719 2681 \n3 2586 2637 2706 \n3 2706 2681 2586 \n3 2484 2517 2637 \n3 2637 2586 2484 \n3 2374 2392 2517 \n3 2517 2484 2374 \n3 2251 2262 2392 \n3 2392 2374 2251 \n3 2127 2135 2262 \n3 2262 2251 2127 \n3 1949 1960 2135 \n3 2135 2127 1949 \n3 1598 1671 1960 \n3 1960 1949 1598 \n3 2716 2739 2743 \n3 2743 2725 2716 \n3 2693 2719 2739 \n3 2739 2716 2693 \n3 2653 2681 2719 \n3 2719 2693 2653 \n3 2549 2586 2681 \n3 2681 2653 2549 \n3 2452 2484 2586 \n3 2586 2549 2452 \n3 2352 2374 2484 \n3 2484 2452 2352 \n3 2240 2251 2374 \n3 2374 2352 2240 \n3 2118 2127 2251 \n3 2251 2240 2118 \n3 1939 1949 2127 \n3 2127 2118 1939 \n3 1596 1598 1949 \n3 1949 1939 1596 \n3 2700 2716 2725 \n3 2725 2703 2700 \n3 2670 2693 2716 \n3 2716 2700 2670 \n3 2606 2653 2693 \n3 2693 2670 2606 \n3 2524 2549 2653 \n3 2653 2606 2524 \n3 2426 2452 2549 \n3 2549 2524 2426 \n3 2337 2352 2452 \n3 2452 2426 2337 \n3 2234 2240 2352 \n3 2352 2337 2234 \n3 2108 2118 2240 \n3 2240 2234 2108 \n3 1924 1939 2118 \n3 2118 2108 1924 \n3 1594 1596 1939 \n3 1939 1924 1594 \n3 2686 2700 2703 \n3 2703 2692 2686 \n3 2655 2670 2700 \n3 2700 2686 2655 \n3 2583 2606 2670 \n3 2670 2655 2583 \n3 2504 2524 2606 \n3 2606 2583 2504 \n3 2414 2426 2524 \n3 2524 2504 2414 \n3 2321 2337 2426 \n3 2426 2414 2321 \n3 2229 2234 2337 \n3 2337 2321 2229 \n3 2104 2108 2234 \n3 2234 2229 2104 \n3 1918 1924 2108 \n3 2108 2104 1918 \n3 1592 1594 1924 \n3 1924 1918 1592 \n3 2676 2686 2692 \n3 2692 2690 2676 \n3 2646 2655 2686 \n3 2686 2676 2646 \n3 2575 2583 2655 \n3 2655 2646 2575 \n3 2495 2504 2583 \n3 2583 2575 2495 \n3 2408 2414 2504 \n3 2504 2495 2408 \n3 2315 2321 2414 \n3 2414 2408 2315 \n3 2226 2229 2321 \n3 2321 2315 2226 \n3 2100 2104 2229 \n3 2229 2226 2100 \n3 1917 1918 2104 \n3 2104 2100 1917 \n3 1590 1592 1918 \n3 1918 1917 1590 \n3 1226 1222 1604 \n3 1604 1560 1226 \n3 1067 1063 1222 \n3 1222 1226 1067 \n3 906 895 1063 \n3 1063 1067 906 \n3 764 758 895 \n3 895 906 764 \n3 605 598 758 \n3 758 764 605 \n3 495 490 598 \n3 598 605 495 \n3 450 446 490 \n3 490 495 450 \n3 403 397 446 \n3 446 450 403 \n3 376 369 397 \n3 397 403 376 \n3 363 353 369 \n3 369 376 363 \n3 1235 1226 1560 \n3 1560 1559 1235 \n3 1073 1067 1226 \n3 1226 1235 1073 \n3 916 906 1067 \n3 1067 1073 916 \n3 774 764 906 \n3 906 916 774 \n3 627 605 764 \n3 764 774 627 \n3 512 495 605 \n3 605 627 512 \n3 459 450 495 \n3 495 512 459 \n3 411 403 450 \n3 450 459 411 \n3 386 376 403 \n3 403 411 386 \n3 380 363 376 \n3 376 386 380 \n3 1253 1235 1559 \n3 1559 1565 1253 \n3 1079 1073 1235 \n3 1235 1253 1079 \n3 936 916 1073 \n3 1073 1079 936 \n3 801 774 916 \n3 916 936 801 \n3 660 627 774 \n3 774 801 660 \n3 534 512 627 \n3 627 660 534 \n3 474 459 512 \n3 512 534 474 \n3 430 411 459 \n3 459 474 430 \n3 409 386 411 \n3 411 430 409 \n3 402 380 386 \n3 386 409 402 \n3 1266 1253 1565 \n3 1565 1601 1266 \n3 1093 1079 1253 \n3 1253 1266 1093 \n3 953 936 1079 \n3 1079 1093 953 \n3 822 801 936 \n3 936 953 822 \n3 695 660 801 \n3 801 822 695 \n3 567 534 660 \n3 660 695 567 \n3 488 474 534 \n3 534 567 488 \n3 461 430 474 \n3 474 488 461 \n3 422 409 430 \n3 430 461 422 \n3 416 402 409 \n3 409 422 416 \n3 1278 1266 1601 \n3 1601 1671 1278 \n3 1103 1093 1266 \n3 1266 1278 1103 \n3 978 953 1093 \n3 1093 1103 978 \n3 846 822 953 \n3 953 978 846 \n3 721 695 822 \n3 822 846 721 \n3 601 567 695 \n3 695 721 601 \n3 521 488 567 \n3 567 601 521 \n3 477 461 488 \n3 488 521 477 \n3 463 422 461 \n3 461 477 463 \n3 458 416 422 \n3 422 463 458 \n3 1289 1278 1671 \n3 1671 1598 1289 \n3 1111 1103 1278 \n3 1278 1289 1111 \n3 987 978 1103 \n3 1103 1111 987 \n3 864 846 978 \n3 978 987 864 \n3 754 721 846 \n3 846 864 754 \n3 652 601 721 \n3 721 754 652 \n3 557 521 601 \n3 601 652 557 \n3 502 477 521 \n3 521 557 502 \n3 479 463 477 \n3 477 502 479 \n3 476 458 463 \n3 463 479 476 \n3 1301 1289 1598 \n3 1598 1596 1301 \n3 1120 1111 1289 \n3 1289 1301 1120 \n3 1000 987 1111 \n3 1111 1120 1000 \n3 888 864 987 \n3 987 1000 888 \n3 788 754 864 \n3 864 888 788 \n3 691 652 754 \n3 754 788 691 \n3 587 557 652 \n3 652 691 587 \n3 538 502 557 \n3 557 587 538 \n3 509 479 502 \n3 502 538 509 \n3 494 476 479 \n3 479 509 494 \n3 1314 1301 1596 \n3 1596 1594 1314 \n3 1130 1120 1301 \n3 1301 1314 1130 \n3 1006 1000 1120 \n3 1120 1130 1006 \n3 903 888 1000 \n3 1000 1006 903 \n3 814 788 888 \n3 888 903 814 \n3 716 691 788 \n3 788 814 716 \n3 634 587 691 \n3 691 716 634 \n3 570 538 587 \n3 587 634 570 \n3 533 509 538 \n3 538 570 533 \n3 525 494 509 \n3 509 533 525 \n3 1320 1314 1594 \n3 1594 1592 1320 \n3 1134 1130 1314 \n3 1314 1320 1134 \n3 1011 1006 1130 \n3 1130 1134 1011 \n3 919 903 1006 \n3 1006 1011 919 \n3 824 814 903 \n3 903 919 824 \n3 736 716 814 \n3 814 824 736 \n3 657 634 716 \n3 716 736 657 \n3 585 570 634 \n3 634 657 585 \n3 554 533 570 \n3 570 585 554 \n3 542 525 533 \n3 533 554 542 \n3 1324 1320 1592 \n3 1592 1590 1324 \n3 1138 1134 1320 \n3 1320 1324 1138 \n3 1012 1011 1134 \n3 1134 1138 1012 \n3 922 919 1011 \n3 1011 1012 922 \n3 829 824 919 \n3 919 922 829 \n3 742 736 824 \n3 824 829 742 \n3 665 657 736 \n3 736 742 665 \n3 591 585 657 \n3 657 665 591 \n3 563 554 585 \n3 585 591 563 \n3 547 542 554 \n3 554 563 547 \n3 377 370 353 \n3 353 363 377 \n3 404 398 370 \n3 370 377 404 \n3 451 447 398 \n3 398 404 451 \n3 496 491 447 \n3 447 451 496 \n3 606 599 491 \n3 491 496 606 \n3 765 759 599 \n3 599 606 765 \n3 907 894 759 \n3 759 765 907 \n3 1068 1064 894 \n3 894 907 1068 \n3 1227 1223 1064 \n3 1064 1068 1227 \n3 1603 1605 1223 \n3 1223 1227 1603 \n3 387 377 363 \n3 363 380 387 \n3 412 404 377 \n3 377 387 412 \n3 460 451 404 \n3 404 412 460 \n3 513 496 451 \n3 451 460 513 \n3 628 606 496 \n3 496 513 628 \n3 775 765 606 \n3 606 628 775 \n3 917 907 765 \n3 765 775 917 \n3 1074 1068 907 \n3 907 917 1074 \n3 1236 1227 1068 \n3 1068 1074 1236 \n3 1679 1603 1227 \n3 1227 1236 1679 \n3 410 387 380 \n3 380 402 410 \n3 431 412 387 \n3 387 410 431 \n3 475 460 412 \n3 412 431 475 \n3 535 513 460 \n3 460 475 535 \n3 661 628 513 \n3 513 535 661 \n3 802 775 628 \n3 628 661 802 \n3 937 917 775 \n3 775 802 937 \n3 1080 1074 917 \n3 917 937 1080 \n3 1254 1236 1074 \n3 1074 1080 1254 \n3 1672 1679 1236 \n3 1236 1254 1672 \n3 423 410 402 \n3 402 416 423 \n3 462 431 410 \n3 410 423 462 \n3 489 475 431 \n3 431 462 489 \n3 568 535 475 \n3 475 489 568 \n3 696 661 535 \n3 535 568 696 \n3 823 802 661 \n3 661 696 823 \n3 952 937 802 \n3 802 823 952 \n3 1094 1080 937 \n3 937 952 1094 \n3 1267 1254 1080 \n3 1080 1094 1267 \n3 1602 1672 1254 \n3 1254 1267 1602 \n3 464 423 416 \n3 416 458 464 \n3 478 462 423 \n3 423 464 478 \n3 522 489 462 \n3 462 478 522 \n3 602 568 489 \n3 489 522 602 \n3 722 696 568 \n3 568 602 722 \n3 847 823 696 \n3 696 722 847 \n3 977 952 823 \n3 823 847 977 \n3 1104 1094 952 \n3 952 977 1104 \n3 1279 1267 1094 \n3 1094 1104 1279 \n3 1600 1602 1267 \n3 1267 1279 1600 \n3 480 464 458 \n3 458 476 480 \n3 503 478 464 \n3 464 480 503 \n3 558 522 478 \n3 478 503 558 \n3 653 602 522 \n3 522 558 653 \n3 755 722 602 \n3 602 653 755 \n3 865 847 722 \n3 722 755 865 \n3 988 977 847 \n3 847 865 988 \n3 1112 1104 977 \n3 977 988 1112 \n3 1290 1279 1104 \n3 1104 1112 1290 \n3 1599 1600 1279 \n3 1279 1290 1599 \n3 508 480 476 \n3 476 494 508 \n3 539 503 480 \n3 480 508 539 \n3 586 558 503 \n3 503 539 586 \n3 690 653 558 \n3 558 586 690 \n3 787 755 653 \n3 653 690 787 \n3 887 865 755 \n3 755 787 887 \n3 999 988 865 \n3 865 887 999 \n3 1121 1112 988 \n3 988 999 1121 \n3 1300 1290 1112 \n3 1112 1121 1300 \n3 1597 1599 1290 \n3 1290 1300 1597 \n3 532 508 494 \n3 494 525 532 \n3 569 539 508 \n3 508 532 569 \n3 633 586 539 \n3 539 569 633 \n3 715 690 586 \n3 586 633 715 \n3 813 787 690 \n3 690 715 813 \n3 902 887 787 \n3 787 813 902 \n3 1005 999 887 \n3 887 902 1005 \n3 1131 1121 999 \n3 999 1005 1131 \n3 1315 1300 1121 \n3 1121 1131 1315 \n3 1595 1597 1300 \n3 1300 1315 1595 \n3 553 532 525 \n3 525 542 553 \n3 584 569 532 \n3 532 553 584 \n3 656 633 569 \n3 569 584 656 \n3 735 715 633 \n3 633 656 735 \n3 825 813 715 \n3 715 735 825 \n3 918 902 813 \n3 813 825 918 \n3 1010 1005 902 \n3 902 918 1010 \n3 1135 1131 1005 \n3 1005 1010 1135 \n3 1321 1315 1131 \n3 1131 1135 1321 \n3 1593 1595 1315 \n3 1315 1321 1593 \n3 561 553 542 \n3 542 547 561 \n3 592 584 553 \n3 553 561 592 \n3 663 656 584 \n3 584 592 663 \n3 743 735 656 \n3 656 663 743 \n3 830 825 735 \n3 735 743 830 \n3 923 918 825 \n3 825 830 923 \n3 1013 1010 918 \n3 918 923 1013 \n3 1136 1135 1010 \n3 1010 1013 1136 \n3 1322 1321 1135 \n3 1135 1136 1322 \n3 1591 1593 1321 \n3 1321 1322 1591 \n3 2013 2017 1605 \n3 1605 1603 2013 \n3 2172 2176 2017 \n3 2017 2013 2172 \n3 2333 2344 2176 \n3 2176 2172 2333 \n3 2475 2481 2344 \n3 2344 2333 2475 \n3 2634 2641 2481 \n3 2481 2475 2634 \n3 2724 2729 2641 \n3 2641 2634 2724 \n3 2789 2793 2729 \n3 2729 2724 2789 \n3 2816 2822 2793 \n3 2793 2789 2816 \n3 2837 2844 2822 \n3 2822 2816 2837 \n3 2847 2851 2844 \n3 2844 2837 2847 \n3 2004 2013 1603 \n3 1603 1679 2004 \n3 2166 2172 2013 \n3 2013 2004 2166 \n3 2323 2333 2172 \n3 2172 2166 2323 \n3 2465 2475 2333 \n3 2333 2323 2465 \n3 2612 2634 2475 \n3 2475 2465 2612 \n3 2714 2724 2634 \n3 2634 2612 2714 \n3 2780 2789 2724 \n3 2724 2714 2780 \n3 2808 2816 2789 \n3 2789 2780 2808 \n3 2826 2837 2816 \n3 2816 2808 2826 \n3 2833 2847 2837 \n3 2837 2826 2833 \n3 1986 2004 1679 \n3 1679 1672 1986 \n3 2160 2166 2004 \n3 2004 1986 2160 \n3 2303 2323 2166 \n3 2166 2160 2303 \n3 2438 2465 2323 \n3 2323 2303 2438 \n3 2579 2612 2465 \n3 2465 2438 2579 \n3 2698 2714 2612 \n3 2612 2579 2698 \n3 2745 2780 2714 \n3 2714 2698 2745 \n3 2796 2808 2780 \n3 2780 2745 2796 \n3 2810 2826 2808 \n3 2808 2796 2810 \n3 2817 2833 2826 \n3 2826 2810 2817 \n3 1973 1986 1672 \n3 1672 1602 1973 \n3 2146 2160 1986 \n3 1986 1973 2146 \n3 2286 2303 2160 \n3 2160 2146 2286 \n3 2417 2438 2303 \n3 2303 2286 2417 \n3 2544 2579 2438 \n3 2438 2417 2544 \n3 2672 2698 2579 \n3 2579 2544 2672 \n3 2731 2745 2698 \n3 2698 2672 2731 \n3 2778 2796 2745 \n3 2745 2731 2778 \n3 2798 2810 2796 \n3 2796 2778 2798 \n3 2803 2817 2810 \n3 2810 2798 2803 \n3 1961 1973 1602 \n3 1602 1600 1961 \n3 2136 2146 1973 \n3 1973 1961 2136 \n3 2261 2286 2146 \n3 2146 2136 2261 \n3 2393 2417 2286 \n3 2286 2261 2393 \n3 2518 2544 2417 \n3 2417 2393 2518 \n3 2638 2672 2544 \n3 2544 2518 2638 \n3 2707 2731 2672 \n3 2672 2638 2707 \n3 2742 2778 2731 \n3 2731 2707 2742 \n3 2776 2798 2778 \n3 2778 2742 2776 \n3 2781 2803 2798 \n3 2798 2776 2781 \n3 1950 1961 1600 \n3 1600 1599 1950 \n3 2128 2136 1961 \n3 1961 1950 2128 \n3 2252 2261 2136 \n3 2136 2128 2252 \n3 2375 2393 2261 \n3 2261 2252 2375 \n3 2485 2518 2393 \n3 2393 2375 2485 \n3 2587 2638 2518 \n3 2518 2485 2587 \n3 2682 2707 2638 \n3 2638 2587 2682 \n3 2720 2742 2707 \n3 2707 2682 2720 \n3 2740 2776 2742 \n3 2742 2720 2740 \n3 2743 2781 2776 \n3 2776 2740 2743 \n3 1938 1950 1599 \n3 1599 1597 1938 \n3 2119 2128 1950 \n3 1950 1938 2119 \n3 2239 2252 2128 \n3 2128 2119 2239 \n3 2351 2375 2252 \n3 2252 2239 2351 \n3 2451 2485 2375 \n3 2375 2351 2451 \n3 2548 2587 2485 \n3 2485 2451 2548 \n3 2652 2682 2587 \n3 2587 2548 2652 \n3 2694 2720 2682 \n3 2682 2652 2694 \n3 2715 2740 2720 \n3 2720 2694 2715 \n3 2725 2743 2740 \n3 2740 2715 2725 \n3 1925 1938 1597 \n3 1597 1595 1925 \n3 2109 2119 1938 \n3 1938 1925 2109 \n3 2233 2239 2119 \n3 2119 2109 2233 \n3 2336 2351 2239 \n3 2239 2233 2336 \n3 2425 2451 2351 \n3 2351 2336 2425 \n3 2523 2548 2451 \n3 2451 2425 2523 \n3 2605 2652 2548 \n3 2548 2523 2605 \n3 2669 2694 2652 \n3 2652 2605 2669 \n3 2699 2715 2694 \n3 2694 2669 2699 \n3 2703 2725 2715 \n3 2715 2699 2703 \n3 1919 1925 1595 \n3 1595 1593 1919 \n3 2105 2109 1925 \n3 1925 1919 2105 \n3 2228 2233 2109 \n3 2109 2105 2228 \n3 2320 2336 2233 \n3 2233 2228 2320 \n3 2415 2425 2336 \n3 2336 2320 2415 \n3 2503 2523 2425 \n3 2425 2415 2503 \n3 2582 2605 2523 \n3 2523 2503 2582 \n3 2654 2669 2605 \n3 2605 2582 2654 \n3 2685 2699 2669 \n3 2669 2654 2685 \n3 2692 2703 2699 \n3 2699 2685 2692 \n3 1915 1919 1593 \n3 1593 1591 1915 \n3 2102 2105 1919 \n3 1919 1915 2102 \n3 2224 2228 2105 \n3 2105 2102 2224 \n3 2316 2320 2228 \n3 2228 2224 2316 \n3 2409 2415 2320 \n3 2320 2316 2409 \n3 2496 2503 2415 \n3 2415 2409 2496 \n3 2574 2582 2503 \n3 2503 2496 2574 \n3 2647 2654 2582 \n3 2582 2574 2647 \n3 2677 2685 2654 \n3 2654 2647 2677 \n3 2690 2692 2685 \n3 2685 2677 2690 \n3 424 498 497 \n3 497 419 424 \n3 426 504 498 \n3 498 424 426 \n3 428 510 504 \n3 504 426 428 \n3 432 519 510 \n3 510 428 432 \n3 434 526 519 \n3 519 432 434 \n3 436 528 526 \n3 526 434 436 \n3 438 540 528 \n3 528 436 438 \n3 440 543 540 \n3 540 438 440 \n3 442 545 543 \n3 543 440 442 \n3 444 548 545 \n3 545 442 444 \n3 364 424 419 \n3 419 366 364 \n3 362 426 424 \n3 424 364 362 \n3 356 428 426 \n3 426 362 356 \n3 352 432 428 \n3 428 356 352 \n3 350 434 432 \n3 432 352 350 \n3 348 436 434 \n3 434 350 348 \n3 345 438 436 \n3 436 348 345 \n3 343 440 438 \n3 438 345 343 \n3 341 442 440 \n3 440 343 341 \n3 340 444 442 \n3 442 341 340 \n3 317 364 366 \n3 366 319 317 \n3 315 362 364 \n3 364 317 315 \n3 313 356 362 \n3 362 315 313 \n3 311 352 356 \n3 356 313 311 \n3 310 350 352 \n3 352 311 310 \n3 307 348 350 \n3 350 310 307 \n3 305 345 348 \n3 348 307 305 \n3 303 343 345 \n3 345 305 303 \n3 301 341 343 \n3 343 303 301 \n3 299 340 341 \n3 341 301 299 \n3 282 317 319 \n3 319 286 282 \n3 275 315 317 \n3 317 282 275 \n3 273 313 315 \n3 315 275 273 \n3 271 311 313 \n3 313 273 271 \n3 266 310 311 \n3 311 271 266 \n3 260 307 310 \n3 310 266 260 \n3 251 305 307 \n3 307 260 251 \n3 245 303 305 \n3 305 251 245 \n3 241 301 303 \n3 303 245 241 \n3 236 299 301 \n3 301 241 236 \n3 255 282 286 \n3 286 257 255 \n3 247 275 282 \n3 282 255 247 \n3 237 273 275 \n3 275 247 237 \n3 226 271 273 \n3 273 237 226 \n3 219 266 271 \n3 271 226 219 \n3 208 260 266 \n3 266 219 208 \n3 198 251 260 \n3 260 208 198 \n3 186 245 251 \n3 251 198 186 \n3 177 241 245 \n3 245 186 177 \n3 172 236 241 \n3 241 177 172 \n3 217 255 257 \n3 257 223 217 \n3 212 247 255 \n3 255 217 212 \n3 202 237 247 \n3 247 212 202 \n3 190 226 237 \n3 237 202 190 \n3 168 219 226 \n3 226 190 168 \n3 152 208 219 \n3 219 168 152 \n3 128 198 208 \n3 208 152 128 \n3 107 186 198 \n3 198 128 107 \n3 97 177 186 \n3 186 107 97 \n3 92 172 177 \n3 177 97 92 \n3 188 217 223 \n3 223 195 188 \n3 173 212 217 \n3 217 188 173 \n3 160 202 212 \n3 212 173 160 \n3 140 190 202 \n3 202 160 140 \n3 112 168 190 \n3 190 140 112 \n3 88 152 168 \n3 168 112 88 \n3 70 128 152 \n3 152 88 70 \n3 59 107 128 \n3 128 70 59 \n3 49 97 107 \n3 107 59 49 \n3 46 92 97 \n3 97 49 46 \n3 159 188 195 \n3 195 162 159 \n3 147 173 188 \n3 188 159 147 \n3 120 160 173 \n3 173 147 120 \n3 95 140 160 \n3 160 120 95 \n3 79 112 140 \n3 140 95 79 \n3 57 88 112 \n3 112 79 57 \n3 42 70 88 \n3 88 57 42 \n3 29 59 70 \n3 70 42 29 \n3 22 49 59 \n3 59 29 22 \n3 18 46 49 \n3 49 22 18 \n3 137 159 162 \n3 162 144 137 \n3 118 147 159 \n3 159 137 118 \n3 99 120 147 \n3 147 118 99 \n3 80 95 120 \n3 120 99 80 \n3 61 79 95 \n3 95 80 61 \n3 40 57 79 \n3 79 61 40 \n3 27 42 57 \n3 57 40 27 \n3 14 29 42 \n3 42 27 14 \n3 7 22 29 \n3 29 14 7 \n3 4 18 22 \n3 22 7 4 \n3 126 137 144 \n3 144 134 126 \n3 110 118 137 \n3 137 126 110 \n3 90 99 118 \n3 118 110 90 \n3 72 80 99 \n3 99 90 72 \n3 51 61 80 \n3 80 72 51 \n3 36 40 61 \n3 61 51 36 \n3 19 27 40 \n3 40 36 19 \n3 9 14 27 \n3 27 19 9 \n3 1 7 14 \n3 14 9 1 \n3 0 4 7 \n3 7 1 0 \n3 443 546 548 \n3 548 444 443 \n3 441 544 546 \n3 546 443 441 \n3 439 541 544 \n3 544 441 439 \n3 437 529 541 \n3 541 439 437 \n3 435 527 529 \n3 529 437 435 \n3 433 520 527 \n3 527 435 433 \n3 429 511 520 \n3 520 433 429 \n3 427 505 511 \n3 511 429 427 \n3 425 499 505 \n3 505 427 425 \n3 419 497 499 \n3 499 425 419 \n3 342 443 444 \n3 444 340 342 \n3 344 441 443 \n3 443 342 344 \n3 346 439 441 \n3 441 344 346 \n3 347 437 439 \n3 439 346 347 \n3 349 435 437 \n3 437 347 349 \n3 351 433 435 \n3 435 349 351 \n3 357 429 433 \n3 433 351 357 \n3 361 427 429 \n3 429 357 361 \n3 365 425 427 \n3 427 361 365 \n3 366 419 425 \n3 425 365 366 \n3 302 342 340 \n3 340 299 302 \n3 304 344 342 \n3 342 302 304 \n3 306 346 344 \n3 344 304 306 \n3 308 347 346 \n3 346 306 308 \n3 309 349 347 \n3 347 308 309 \n3 312 351 349 \n3 349 309 312 \n3 314 357 351 \n3 351 312 314 \n3 316 361 357 \n3 357 314 316 \n3 318 365 361 \n3 361 316 318 \n3 319 366 365 \n3 365 318 319 \n3 242 302 299 \n3 299 236 242 \n3 246 304 302 \n3 302 242 246 \n3 252 306 304 \n3 304 246 252 \n3 261 308 306 \n3 306 252 261 \n3 267 309 308 \n3 308 261 267 \n3 272 312 309 \n3 309 267 272 \n3 274 314 312 \n3 312 272 274 \n3 276 316 314 \n3 314 274 276 \n3 283 318 316 \n3 316 276 283 \n3 286 319 318 \n3 318 283 286 \n3 178 242 236 \n3 236 172 178 \n3 187 246 242 \n3 242 178 187 \n3 199 252 246 \n3 246 187 199 \n3 209 261 252 \n3 252 199 209 \n3 220 267 261 \n3 261 209 220 \n3 227 272 267 \n3 267 220 227 \n3 238 274 272 \n3 272 227 238 \n3 248 276 274 \n3 274 238 248 \n3 256 283 276 \n3 276 248 256 \n3 257 286 283 \n3 283 256 257 \n3 98 178 172 \n3 172 92 98 \n3 108 187 178 \n3 178 98 108 \n3 129 199 187 \n3 187 108 129 \n3 153 209 199 \n3 199 129 153 \n3 169 220 209 \n3 209 153 169 \n3 191 227 220 \n3 220 169 191 \n3 203 238 227 \n3 227 191 203 \n3 213 248 238 \n3 238 203 213 \n3 218 256 248 \n3 248 213 218 \n3 223 257 256 \n3 256 218 223 \n3 50 98 92 \n3 92 46 50 \n3 60 108 98 \n3 98 50 60 \n3 71 129 108 \n3 108 60 71 \n3 89 153 129 \n3 129 71 89 \n3 113 169 153 \n3 153 89 113 \n3 141 191 169 \n3 169 113 141 \n3 161 203 191 \n3 191 141 161 \n3 174 213 203 \n3 203 161 174 \n3 189 218 213 \n3 213 174 189 \n3 195 223 218 \n3 218 189 195 \n3 21 50 46 \n3 46 18 21 \n3 30 60 50 \n3 50 21 30 \n3 43 71 60 \n3 60 30 43 \n3 58 89 71 \n3 71 43 58 \n3 78 113 89 \n3 89 58 78 \n3 96 141 113 \n3 113 78 96 \n3 121 161 141 \n3 141 96 121 \n3 148 174 161 \n3 161 121 148 \n3 158 189 174 \n3 174 148 158 \n3 162 195 189 \n3 189 158 162 \n3 8 21 18 \n3 18 4 8 \n3 15 30 21 \n3 21 8 15 \n3 28 43 30 \n3 30 15 28 \n3 41 58 43 \n3 43 28 41 \n3 62 78 58 \n3 58 41 62 \n3 81 96 78 \n3 78 62 81 \n3 100 121 96 \n3 96 81 100 \n3 119 148 121 \n3 121 100 119 \n3 138 158 148 \n3 148 119 138 \n3 144 162 158 \n3 158 138 144 \n3 2 8 4 \n3 4 0 2 \n3 10 15 8 \n3 8 2 10 \n3 20 28 15 \n3 15 10 20 \n3 37 41 28 \n3 28 20 37 \n3 52 62 41 \n3 41 37 52 \n3 73 81 62 \n3 62 52 73 \n3 91 100 81 \n3 81 73 91 \n3 111 119 100 \n3 100 91 111 \n3 127 138 119 \n3 119 111 127 \n3 134 144 138 \n3 138 127 134 \n3 132 126 134 \n3 134 139 132 \n3 116 110 126 \n3 126 132 116 \n3 93 90 110 \n3 110 116 93 \n3 76 72 90 \n3 90 93 76 \n3 56 51 72 \n3 72 76 56 \n3 38 36 51 \n3 51 56 38 \n3 25 19 36 \n3 36 38 25 \n3 11 9 19 \n3 19 25 11 \n3 5 1 9 \n3 9 11 5 \n3 3 0 1 \n3 1 5 3 \n3 145 132 139 \n3 139 151 145 \n3 130 116 132 \n3 132 145 130 \n3 103 93 116 \n3 116 130 103 \n3 85 76 93 \n3 93 103 85 \n3 66 56 76 \n3 76 85 66 \n3 48 38 56 \n3 56 66 48 \n3 34 25 38 \n3 38 48 34 \n3 23 11 25 \n3 25 34 23 \n3 16 5 11 \n3 11 23 16 \n3 13 3 5 \n3 5 16 13 \n3 164 145 151 \n3 151 167 164 \n3 154 130 145 \n3 145 164 154 \n3 136 103 130 \n3 130 154 136 \n3 106 85 103 \n3 103 136 106 \n3 87 66 85 \n3 85 106 87 \n3 69 48 66 \n3 66 87 69 \n3 54 34 48 \n3 48 69 54 \n3 44 23 34 \n3 34 54 44 \n3 33 16 23 \n3 23 44 33 \n3 31 13 16 \n3 16 33 31 \n3 184 164 167 \n3 167 192 184 \n3 175 154 164 \n3 164 184 175 \n3 165 136 154 \n3 154 175 165 \n3 149 106 136 \n3 136 165 149 \n3 122 87 106 \n3 106 149 122 \n3 101 69 87 \n3 87 122 101 \n3 82 54 69 \n3 69 101 82 \n3 74 44 54 \n3 54 82 74 \n3 64 33 44 \n3 44 74 64 \n3 63 31 33 \n3 33 64 63 \n3 211 184 192 \n3 192 214 211 \n3 206 175 184 \n3 184 211 206 \n3 196 165 175 \n3 175 206 196 \n3 182 149 165 \n3 165 196 182 \n3 171 122 149 \n3 149 182 171 \n3 156 101 122 \n3 122 171 156 \n3 142 82 101 \n3 101 156 142 \n3 124 74 82 \n3 82 142 124 \n3 115 64 74 \n3 74 124 115 \n3 109 63 64 \n3 64 115 109 \n3 232 211 214 \n3 214 235 232 \n3 228 206 211 \n3 211 232 228 \n3 224 196 206 \n3 206 228 224 \n3 222 182 196 \n3 196 224 222 \n3 216 171 182 \n3 182 222 216 \n3 205 156 171 \n3 171 216 205 \n3 200 142 156 \n3 156 205 200 \n3 193 124 142 \n3 142 200 193 \n3 181 115 124 \n3 124 193 181 \n3 179 109 115 \n3 115 181 179 \n3 269 232 235 \n3 235 270 269 \n3 264 228 232 \n3 232 269 264 \n3 262 224 228 \n3 228 264 262 \n3 258 222 224 \n3 224 262 258 \n3 253 216 222 \n3 222 258 253 \n3 249 205 216 \n3 216 253 249 \n3 244 200 205 \n3 205 249 244 \n3 239 193 200 \n3 200 244 239 \n3 233 181 193 \n3 193 239 233 \n3 230 179 181 \n3 181 233 230 \n3 298 269 270 \n3 270 300 298 \n3 295 264 269 \n3 269 298 295 \n3 294 262 264 \n3 264 295 294 \n3 292 258 262 \n3 262 294 292 \n3 290 253 258 \n3 258 292 290 \n3 288 249 253 \n3 253 290 288 \n3 285 244 249 \n3 249 288 285 \n3 281 239 244 \n3 244 285 281 \n3 279 233 239 \n3 239 281 279 \n3 277 230 233 \n3 233 279 277 \n3 322 298 300 \n3 300 320 322 \n3 324 295 298 \n3 298 322 324 \n3 326 294 295 \n3 295 324 326 \n3 328 292 294 \n3 294 326 328 \n3 330 290 292 \n3 292 328 330 \n3 332 288 290 \n3 290 330 332 \n3 334 285 288 \n3 288 332 334 \n3 336 281 285 \n3 285 334 336 \n3 338 279 281 \n3 281 336 338 \n3 339 277 279 \n3 279 338 339 \n3 355 322 320 \n3 320 353 355 \n3 360 324 322 \n3 322 355 360 \n3 368 326 324 \n3 324 360 368 \n3 375 328 326 \n3 326 368 375 \n3 378 330 328 \n3 328 375 378 \n3 385 332 330 \n3 330 378 385 \n3 389 334 332 \n3 332 385 389 \n3 393 336 334 \n3 334 389 393 \n3 395 338 336 \n3 336 393 395 \n3 396 339 338 \n3 338 395 396 \n3 6 2 0 \n3 0 3 6 \n3 12 10 2 \n3 2 6 12 \n3 26 20 10 \n3 10 12 26 \n3 39 37 20 \n3 20 26 39 \n3 55 52 37 \n3 37 39 55 \n3 77 73 52 \n3 52 55 77 \n3 94 91 73 \n3 73 77 94 \n3 117 111 91 \n3 91 94 117 \n3 133 127 111 \n3 111 117 133 \n3 139 134 127 \n3 127 133 139 \n3 17 6 3 \n3 3 13 17 \n3 24 12 6 \n3 6 17 24 \n3 35 26 12 \n3 12 24 35 \n3 47 39 26 \n3 26 35 47 \n3 67 55 39 \n3 39 47 67 \n3 84 77 55 \n3 55 67 84 \n3 104 94 77 \n3 77 84 104 \n3 131 117 94 \n3 94 104 131 \n3 146 133 117 \n3 117 131 146 \n3 151 139 133 \n3 133 146 151 \n3 32 17 13 \n3 13 31 32 \n3 45 24 17 \n3 17 32 45 \n3 53 35 24 \n3 24 45 53 \n3 68 47 35 \n3 35 53 68 \n3 86 67 47 \n3 47 68 86 \n3 105 84 67 \n3 67 86 105 \n3 135 104 84 \n3 84 105 135 \n3 155 131 104 \n3 104 135 155 \n3 163 146 131 \n3 131 155 163 \n3 167 151 146 \n3 146 163 167 \n3 65 32 31 \n3 31 63 65 \n3 75 45 32 \n3 32 65 75 \n3 83 53 45 \n3 45 75 83 \n3 102 68 53 \n3 53 83 102 \n3 123 86 68 \n3 68 102 123 \n3 150 105 86 \n3 86 123 150 \n3 166 135 105 \n3 105 150 166 \n3 176 155 135 \n3 135 166 176 \n3 185 163 155 \n3 155 176 185 \n3 192 167 163 \n3 163 185 192 \n3 114 65 63 \n3 63 109 114 \n3 125 75 65 \n3 65 114 125 \n3 143 83 75 \n3 75 125 143 \n3 157 102 83 \n3 83 143 157 \n3 170 123 102 \n3 102 157 170 \n3 183 150 123 \n3 123 170 183 \n3 197 166 150 \n3 150 183 197 \n3 207 176 166 \n3 166 197 207 \n3 210 185 176 \n3 176 207 210 \n3 214 192 185 \n3 185 210 214 \n3 180 114 109 \n3 109 179 180 \n3 194 125 114 \n3 114 180 194 \n3 201 143 125 \n3 125 194 201 \n3 204 157 143 \n3 143 201 204 \n3 215 170 157 \n3 157 204 215 \n3 221 183 170 \n3 170 215 221 \n3 225 197 183 \n3 183 221 225 \n3 229 207 197 \n3 197 225 229 \n3 231 210 207 \n3 207 229 231 \n3 235 214 210 \n3 210 231 235 \n3 234 180 179 \n3 179 230 234 \n3 240 194 180 \n3 180 234 240 \n3 243 201 194 \n3 194 240 243 \n3 250 204 201 \n3 201 243 250 \n3 254 215 204 \n3 204 250 254 \n3 259 221 215 \n3 215 254 259 \n3 263 225 221 \n3 221 259 263 \n3 265 229 225 \n3 225 263 265 \n3 268 231 229 \n3 229 265 268 \n3 270 235 231 \n3 231 268 270 \n3 278 234 230 \n3 230 277 278 \n3 280 240 234 \n3 234 278 280 \n3 284 243 240 \n3 240 280 284 \n3 287 250 243 \n3 243 284 287 \n3 289 254 250 \n3 250 287 289 \n3 291 259 254 \n3 254 289 291 \n3 293 263 259 \n3 259 291 293 \n3 296 265 263 \n3 263 293 296 \n3 297 268 265 \n3 265 296 297 \n3 300 270 268 \n3 268 297 300 \n3 337 278 277 \n3 277 339 337 \n3 335 280 278 \n3 278 337 335 \n3 333 284 280 \n3 280 335 333 \n3 331 287 284 \n3 284 333 331 \n3 329 289 287 \n3 287 331 329 \n3 327 291 289 \n3 289 329 327 \n3 325 293 291 \n3 291 327 325 \n3 323 296 293 \n3 293 325 323 \n3 321 297 296 \n3 296 323 321 \n3 320 300 297 \n3 297 321 320 \n3 394 337 339 \n3 339 396 394 \n3 392 335 337 \n3 337 394 392 \n3 388 333 335 \n3 335 392 388 \n3 384 331 333 \n3 333 388 384 \n3 379 329 331 \n3 331 384 379 \n3 374 327 329 \n3 329 379 374 \n3 367 325 327 \n3 327 374 367 \n3 359 323 325 \n3 325 367 359 \n3 354 321 323 \n3 323 359 354 \n3 353 320 321 \n3 321 354 353 \n3 2829 2770 2771 \n3 2771 2827 2829 \n3 2834 2767 2770 \n3 2770 2829 2834 \n3 2838 2766 2767 \n3 2767 2834 2838 \n3 2845 2763 2766 \n3 2766 2838 2845 \n3 2849 2761 2763 \n3 2763 2845 2849 \n3 2852 2759 2761 \n3 2761 2849 2852 \n3 2854 2758 2759 \n3 2759 2852 2854 \n3 2857 2755 2758 \n3 2758 2854 2857 \n3 2859 2754 2755 \n3 2755 2857 2859 \n3 2860 2752 2754 \n3 2754 2859 2860 \n3 2862 2829 2827 \n3 2827 2861 2862 \n3 2864 2834 2829 \n3 2829 2862 2864 \n3 2866 2838 2834 \n3 2834 2864 2866 \n3 2868 2845 2838 \n3 2838 2866 2868 \n3 2870 2849 2845 \n3 2845 2868 2870 \n3 2875 2852 2849 \n3 2849 2870 2875 \n3 2879 2854 2852 \n3 2852 2875 2879 \n3 2883 2857 2854 \n3 2854 2879 2883 \n3 2885 2859 2857 \n3 2857 2883 2885 \n3 2887 2860 2859 \n3 2859 2885 2887 \n3 2873 2862 2861 \n3 2861 2872 2873 \n3 2877 2864 2862 \n3 2862 2873 2877 \n3 2881 2866 2864 \n3 2864 2877 2881 \n3 2889 2868 2866 \n3 2866 2881 2889 \n3 2895 2870 2868 \n3 2868 2889 2895 \n3 2902 2875 2870 \n3 2870 2895 2902 \n3 2909 2879 2875 \n3 2875 2902 2909 \n3 2915 2883 2879 \n3 2879 2909 2915 \n3 2922 2885 2883 \n3 2883 2915 2922 \n3 2926 2887 2885 \n3 2885 2922 2926 \n3 2891 2873 2872 \n3 2872 2888 2891 \n3 2893 2877 2873 \n3 2873 2891 2893 \n3 2897 2881 2877 \n3 2877 2893 2897 \n3 2906 2889 2881 \n3 2881 2897 2906 \n3 2917 2895 2889 \n3 2889 2906 2917 \n3 2931 2902 2895 \n3 2895 2917 2931 \n3 2942 2909 2902 \n3 2902 2931 2942 \n3 2948 2915 2909 \n3 2909 2942 2948 \n3 2957 2922 2915 \n3 2915 2948 2957 \n3 2959 2926 2922 \n3 2922 2957 2959 \n3 2901 2891 2888 \n3 2888 2899 2901 \n3 2904 2893 2891 \n3 2891 2901 2904 \n3 2913 2897 2893 \n3 2893 2904 2913 \n3 2927 2906 2897 \n3 2897 2913 2927 \n3 2936 2917 2906 \n3 2906 2927 2936 \n3 2950 2931 2917 \n3 2917 2936 2950 \n3 2964 2942 2931 \n3 2931 2950 2964 \n3 2972 2948 2942 \n3 2942 2964 2972 \n3 2977 2957 2948 \n3 2948 2972 2977 \n3 2980 2959 2957 \n3 2957 2977 2980 \n3 2912 2901 2899 \n3 2899 2908 2912 \n3 2920 2904 2901 \n3 2901 2912 2920 \n3 2930 2913 2904 \n3 2904 2920 2930 \n3 2940 2927 2913 \n3 2913 2930 2940 \n3 2952 2936 2927 \n3 2927 2940 2952 \n3 2966 2950 2936 \n3 2936 2952 2966 \n3 2979 2964 2950 \n3 2950 2966 2979 \n3 2989 2972 2964 \n3 2964 2979 2989 \n3 2994 2977 2972 \n3 2972 2989 2994 \n3 2999 2980 2977 \n3 2977 2994 2999 \n3 2924 2912 2908 \n3 2908 2921 2924 \n3 2934 2920 2912 \n3 2912 2924 2934 \n3 2944 2930 2920 \n3 2920 2934 2944 \n3 2954 2940 2930 \n3 2930 2944 2954 \n3 2971 2952 2940 \n3 2940 2954 2971 \n3 2982 2966 2952 \n3 2952 2971 2982 \n3 2997 2979 2966 \n3 2966 2982 2997 \n3 3011 2989 2979 \n3 2979 2997 3011 \n3 3021 2994 2989 \n3 2989 3011 3021 \n3 3022 2999 2994 \n3 2994 3021 3022 \n3 2938 2924 2921 \n3 2921 2935 2938 \n3 2946 2934 2924 \n3 2924 2938 2946 \n3 2962 2944 2934 \n3 2934 2946 2962 \n3 2974 2954 2944 \n3 2944 2962 2974 \n3 2990 2971 2954 \n3 2954 2974 2990 \n3 3007 2982 2971 \n3 2971 2990 3007 \n3 3036 2997 2982 \n3 2982 3007 3036 \n3 3058 3011 2997 \n3 2997 3036 3058 \n3 3076 3021 3011 \n3 3011 3058 3076 \n3 3080 3022 3021 \n3 3021 3076 3080 \n3 2961 2938 2935 \n3 2935 2956 2961 \n3 2969 2946 2938 \n3 2938 2961 2969 \n3 2985 2962 2946 \n3 2946 2969 2985 \n3 3004 2974 2962 \n3 2962 2985 3004 \n3 3034 2990 2974 \n3 2974 3004 3034 \n3 3073 3007 2990 \n3 2990 3034 3073 \n3 3098 3036 3007 \n3 3007 3073 3098 \n3 3112 3058 3036 \n3 3036 3098 3112 \n3 3128 3076 3058 \n3 3058 3112 3128 \n3 3129 3080 3076 \n3 3076 3128 3129 \n3 2987 2961 2956 \n3 2956 2981 2987 \n3 3001 2969 2961 \n3 2961 2987 3001 \n3 3030 2985 2969 \n3 2969 3001 3030 \n3 3074 3004 2985 \n3 2985 3030 3074 \n3 3103 3034 3004 \n3 3004 3074 3103 \n3 3134 3073 3034 \n3 3034 3103 3134 \n3 3156 3098 3073 \n3 3073 3134 3156 \n3 3181 3112 3098 \n3 3098 3156 3181 \n3 3192 3128 3112 \n3 3112 3181 3192 \n3 3204 3129 3128 \n3 3128 3192 3204 \n3 2858 2753 2752 \n3 2752 2860 2858 \n3 2856 2756 2753 \n3 2753 2858 2856 \n3 2855 2757 2756 \n3 2756 2856 2855 \n3 2853 2760 2757 \n3 2757 2855 2853 \n3 2850 2762 2760 \n3 2760 2853 2850 \n3 2846 2764 2762 \n3 2762 2850 2846 \n3 2839 2765 2764 \n3 2764 2846 2839 \n3 2835 2768 2765 \n3 2765 2839 2835 \n3 2830 2769 2768 \n3 2768 2835 2830 \n3 2827 2771 2769 \n3 2769 2830 2827 \n3 2886 2858 2860 \n3 2860 2887 2886 \n3 2884 2856 2858 \n3 2858 2886 2884 \n3 2880 2855 2856 \n3 2856 2884 2880 \n3 2876 2853 2855 \n3 2855 2880 2876 \n3 2871 2850 2853 \n3 2853 2876 2871 \n3 2869 2846 2850 \n3 2850 2871 2869 \n3 2867 2839 2846 \n3 2846 2869 2867 \n3 2865 2835 2839 \n3 2839 2867 2865 \n3 2863 2830 2835 \n3 2835 2865 2863 \n3 2861 2827 2830 \n3 2830 2863 2861 \n3 2923 2886 2887 \n3 2887 2926 2923 \n3 2916 2884 2886 \n3 2886 2923 2916 \n3 2910 2880 2884 \n3 2884 2916 2910 \n3 2903 2876 2880 \n3 2880 2910 2903 \n3 2896 2871 2876 \n3 2876 2903 2896 \n3 2890 2869 2871 \n3 2871 2896 2890 \n3 2882 2867 2869 \n3 2869 2890 2882 \n3 2878 2865 2867 \n3 2867 2882 2878 \n3 2874 2863 2865 \n3 2865 2878 2874 \n3 2872 2861 2863 \n3 2863 2874 2872 \n3 2958 2923 2926 \n3 2926 2959 2958 \n3 2949 2916 2923 \n3 2923 2958 2949 \n3 2943 2910 2916 \n3 2916 2949 2943 \n3 2932 2903 2910 \n3 2910 2943 2932 \n3 2918 2896 2903 \n3 2903 2932 2918 \n3 2907 2890 2896 \n3 2896 2918 2907 \n3 2898 2882 2890 \n3 2890 2907 2898 \n3 2894 2878 2882 \n3 2882 2898 2894 \n3 2892 2874 2878 \n3 2878 2894 2892 \n3 2888 2872 2874 \n3 2874 2892 2888 \n3 2976 2958 2959 \n3 2959 2980 2976 \n3 2973 2949 2958 \n3 2958 2976 2973 \n3 2965 2943 2949 \n3 2949 2973 2965 \n3 2951 2932 2943 \n3 2943 2965 2951 \n3 2937 2918 2932 \n3 2932 2951 2937 \n3 2928 2907 2918 \n3 2918 2937 2928 \n3 2914 2898 2907 \n3 2907 2928 2914 \n3 2905 2894 2898 \n3 2898 2914 2905 \n3 2900 2892 2894 \n3 2894 2905 2900 \n3 2899 2888 2892 \n3 2892 2900 2899 \n3 2993 2976 2980 \n3 2980 2999 2993 \n3 2988 2973 2976 \n3 2976 2993 2988 \n3 2978 2965 2973 \n3 2973 2988 2978 \n3 2967 2951 2965 \n3 2965 2978 2967 \n3 2953 2937 2951 \n3 2951 2967 2953 \n3 2941 2928 2937 \n3 2937 2953 2941 \n3 2929 2914 2928 \n3 2928 2941 2929 \n3 2919 2905 2914 \n3 2914 2929 2919 \n3 2911 2900 2905 \n3 2905 2919 2911 \n3 2908 2899 2900 \n3 2900 2911 2908 \n3 3020 2993 2999 \n3 2999 3022 3020 \n3 3010 2988 2993 \n3 2993 3020 3010 \n3 2998 2978 2988 \n3 2988 3010 2998 \n3 2983 2967 2978 \n3 2978 2998 2983 \n3 2970 2953 2967 \n3 2967 2983 2970 \n3 2955 2941 2953 \n3 2953 2970 2955 \n3 2945 2929 2941 \n3 2941 2955 2945 \n3 2933 2919 2929 \n3 2929 2945 2933 \n3 2925 2911 2919 \n3 2919 2933 2925 \n3 2921 2908 2911 \n3 2911 2925 2921 \n3 3077 3020 3022 \n3 3022 3080 3077 \n3 3059 3010 3020 \n3 3020 3077 3059 \n3 3037 2998 3010 \n3 3010 3059 3037 \n3 3008 2983 2998 \n3 2998 3037 3008 \n3 2991 2970 2983 \n3 2983 3008 2991 \n3 2975 2955 2970 \n3 2970 2991 2975 \n3 2963 2945 2955 \n3 2955 2975 2963 \n3 2947 2933 2945 \n3 2945 2963 2947 \n3 2939 2925 2933 \n3 2933 2947 2939 \n3 2935 2921 2925 \n3 2925 2939 2935 \n3 3127 3077 3080 \n3 3080 3129 3127 \n3 3111 3059 3077 \n3 3077 3127 3111 \n3 3097 3037 3059 \n3 3059 3111 3097 \n3 3072 3008 3037 \n3 3037 3097 3072 \n3 3033 2991 3008 \n3 3008 3072 3033 \n3 3003 2975 2991 \n3 2991 3033 3003 \n3 2984 2963 2975 \n3 2975 3003 2984 \n3 2968 2947 2963 \n3 2963 2984 2968 \n3 2960 2939 2947 \n3 2947 2968 2960 \n3 2956 2935 2939 \n3 2939 2960 2956 \n3 3193 3127 3129 \n3 3129 3204 3193 \n3 3182 3111 3127 \n3 3127 3193 3182 \n3 3157 3097 3111 \n3 3111 3182 3157 \n3 3135 3072 3097 \n3 3097 3157 3135 \n3 3106 3033 3072 \n3 3072 3135 3106 \n3 3075 3003 3033 \n3 3033 3106 3075 \n3 3029 2984 3003 \n3 3003 3075 3029 \n3 3002 2968 2984 \n3 2984 3029 3002 \n3 2986 2960 2968 \n3 2968 3002 2986 \n3 2981 2956 2960 \n3 2960 2986 2981 \n3 2995 2987 2981 \n3 2981 2992 2995 \n3 3012 3001 2987 \n3 2987 2995 3012 \n3 3052 3030 3001 \n3 3001 3012 3052 \n3 3089 3074 3030 \n3 3030 3052 3089 \n3 3121 3103 3074 \n3 3074 3089 3121 \n3 3150 3134 3103 \n3 3103 3121 3150 \n3 3177 3156 3134 \n3 3134 3150 3177 \n3 3198 3181 3156 \n3 3156 3177 3198 \n3 3212 3192 3181 \n3 3181 3198 3212 \n3 3218 3204 3192 \n3 3192 3212 3218 \n3 3005 2995 2992 \n3 2992 3000 3005 \n3 3027 3012 2995 \n3 2995 3005 3027 \n3 3070 3052 3012 \n3 3012 3027 3070 \n3 3101 3089 3052 \n3 3052 3070 3101 \n3 3130 3121 3089 \n3 3089 3101 3130 \n3 3160 3150 3121 \n3 3121 3130 3160 \n3 3187 3177 3150 \n3 3150 3160 3187 \n3 3210 3198 3177 \n3 3177 3187 3210 \n3 3226 3212 3198 \n3 3198 3210 3226 \n3 3230 3218 3212 \n3 3212 3226 3230 \n3 3015 3005 3000 \n3 3000 3009 3015 \n3 3044 3027 3005 \n3 3005 3015 3044 \n3 3081 3070 3027 \n3 3027 3044 3081 \n3 3107 3101 3070 \n3 3070 3081 3107 \n3 3136 3130 3101 \n3 3101 3107 3136 \n3 3166 3160 3130 \n3 3130 3136 3166 \n3 3196 3187 3160 \n3 3160 3166 3196 \n3 3216 3210 3187 \n3 3187 3196 3216 \n3 3231 3226 3210 \n3 3210 3216 3231 \n3 3238 3230 3226 \n3 3226 3231 3238 \n3 3024 3015 3009 \n3 3009 3017 3024 \n3 3056 3044 3015 \n3 3015 3024 3056 \n3 3085 3081 3044 \n3 3044 3056 3085 \n3 3113 3107 3081 \n3 3081 3085 3113 \n3 3145 3136 3107 \n3 3107 3113 3145 \n3 3171 3166 3136 \n3 3136 3145 3171 \n3 3202 3196 3166 \n3 3166 3171 3202 \n3 3223 3216 3196 \n3 3196 3202 3223 \n3 3236 3231 3216 \n3 3216 3223 3236 \n3 3240 3238 3231 \n3 3231 3236 3240 \n3 3042 3024 3017 \n3 3017 3026 3042 \n3 3062 3056 3024 \n3 3024 3042 3062 \n3 3091 3085 3056 \n3 3056 3062 3091 \n3 3117 3113 3085 \n3 3085 3091 3117 \n3 3148 3145 3113 \n3 3113 3117 3148 \n3 3173 3171 3145 \n3 3145 3148 3173 \n3 3200 3202 3171 \n3 3171 3173 3200 \n3 3221 3223 3202 \n3 3202 3200 3221 \n3 3234 3236 3223 \n3 3223 3221 3234 \n3 3239 3240 3236 \n3 3236 3234 3239 \n3 3048 3042 3026 \n3 3026 3035 3048 \n3 3067 3062 3042 \n3 3042 3048 3067 \n3 3095 3091 3062 \n3 3062 3067 3095 \n3 3120 3117 3091 \n3 3091 3095 3120 \n3 3147 3148 3117 \n3 3117 3120 3147 \n3 3170 3173 3148 \n3 3148 3147 3170 \n3 3194 3200 3173 \n3 3173 3170 3194 \n3 3215 3221 3200 \n3 3200 3194 3215 \n3 3228 3234 3221 \n3 3221 3215 3228 \n3 3233 3239 3234 \n3 3234 3228 3233 \n3 3050 3048 3035 \n3 3035 3039 3050 \n3 3068 3067 3048 \n3 3048 3050 3068 \n3 3093 3095 3067 \n3 3067 3068 3093 \n3 3115 3120 3095 \n3 3095 3093 3115 \n3 3138 3147 3120 \n3 3120 3115 3138 \n3 3162 3170 3147 \n3 3147 3138 3162 \n3 3185 3194 3170 \n3 3170 3162 3185 \n3 3207 3215 3194 \n3 3194 3185 3207 \n3 3219 3228 3215 \n3 3215 3207 3219 \n3 3225 3233 3228 \n3 3228 3219 3225 \n3 3046 3050 3039 \n3 3039 3038 3046 \n3 3064 3068 3050 \n3 3050 3046 3064 \n3 3087 3093 3068 \n3 3068 3064 3087 \n3 3109 3115 3093 \n3 3093 3087 3109 \n3 3132 3138 3115 \n3 3115 3109 3132 \n3 3152 3162 3138 \n3 3138 3132 3152 \n3 3175 3185 3162 \n3 3162 3152 3175 \n3 3190 3207 3185 \n3 3185 3175 3190 \n3 3205 3219 3207 \n3 3207 3190 3205 \n3 3209 3225 3219 \n3 3219 3205 3209 \n3 3031 3046 3038 \n3 3038 3023 3031 \n3 3054 3064 3046 \n3 3046 3031 3054 \n3 3078 3087 3064 \n3 3064 3054 3078 \n3 3100 3109 3087 \n3 3087 3078 3100 \n3 3124 3132 3109 \n3 3109 3100 3124 \n3 3141 3152 3132 \n3 3132 3124 3141 \n3 3158 3175 3152 \n3 3152 3141 3158 \n3 3179 3190 3175 \n3 3175 3158 3179 \n3 3183 3205 3190 \n3 3190 3179 3183 \n3 3189 3209 3205 \n3 3205 3183 3189 \n3 3018 3031 3023 \n3 3023 3014 3018 \n3 3040 3054 3031 \n3 3031 3018 3040 \n3 3060 3078 3054 \n3 3054 3040 3060 \n3 3083 3100 3078 \n3 3078 3060 3083 \n3 3104 3124 3100 \n3 3100 3083 3104 \n3 3125 3141 3124 \n3 3124 3104 3125 \n3 3142 3158 3141 \n3 3141 3125 3142 \n3 3154 3179 3158 \n3 3158 3142 3154 \n3 3164 3183 3179 \n3 3179 3154 3164 \n3 3168 3189 3183 \n3 3183 3164 3168 \n3 3213 3193 3204 \n3 3204 3218 3213 \n3 3199 3182 3193 \n3 3193 3213 3199 \n3 3178 3157 3182 \n3 3182 3199 3178 \n3 3151 3135 3157 \n3 3157 3178 3151 \n3 3122 3106 3135 \n3 3135 3151 3122 \n3 3090 3075 3106 \n3 3106 3122 3090 \n3 3053 3029 3075 \n3 3075 3090 3053 \n3 3013 3002 3029 \n3 3029 3053 3013 \n3 2996 2986 3002 \n3 3002 3013 2996 \n3 2992 2981 2986 \n3 2986 2996 2992 \n3 3227 3213 3218 \n3 3218 3230 3227 \n3 3211 3199 3213 \n3 3213 3227 3211 \n3 3188 3178 3199 \n3 3199 3211 3188 \n3 3161 3151 3178 \n3 3178 3188 3161 \n3 3131 3122 3151 \n3 3151 3161 3131 \n3 3102 3090 3122 \n3 3122 3131 3102 \n3 3071 3053 3090 \n3 3090 3102 3071 \n3 3028 3013 3053 \n3 3053 3071 3028 \n3 3006 2996 3013 \n3 3013 3028 3006 \n3 3000 2992 2996 \n3 2996 3006 3000 \n3 3232 3227 3230 \n3 3230 3238 3232 \n3 3217 3211 3227 \n3 3227 3232 3217 \n3 3197 3188 3211 \n3 3211 3217 3197 \n3 3167 3161 3188 \n3 3188 3197 3167 \n3 3137 3131 3161 \n3 3161 3167 3137 \n3 3108 3102 3131 \n3 3131 3137 3108 \n3 3082 3071 3102 \n3 3102 3108 3082 \n3 3045 3028 3071 \n3 3071 3082 3045 \n3 3016 3006 3028 \n3 3028 3045 3016 \n3 3009 3000 3006 \n3 3006 3016 3009 \n3 3237 3232 3238 \n3 3238 3240 3237 \n3 3224 3217 3232 \n3 3232 3237 3224 \n3 3203 3197 3217 \n3 3217 3224 3203 \n3 3172 3167 3197 \n3 3197 3203 3172 \n3 3144 3137 3167 \n3 3167 3172 3144 \n3 3114 3108 3137 \n3 3137 3144 3114 \n3 3086 3082 3108 \n3 3108 3114 3086 \n3 3057 3045 3082 \n3 3082 3086 3057 \n3 3025 3016 3045 \n3 3045 3057 3025 \n3 3017 3009 3016 \n3 3016 3025 3017 \n3 3235 3237 3240 \n3 3240 3239 3235 \n3 3222 3224 3237 \n3 3237 3235 3222 \n3 3201 3203 3224 \n3 3224 3222 3201 \n3 3174 3172 3203 \n3 3203 3201 3174 \n3 3149 3144 3172 \n3 3172 3174 3149 \n3 3118 3114 3144 \n3 3144 3149 3118 \n3 3092 3086 3114 \n3 3114 3118 3092 \n3 3063 3057 3086 \n3 3086 3092 3063 \n3 3043 3025 3057 \n3 3057 3063 3043 \n3 3026 3017 3025 \n3 3025 3043 3026 \n3 3229 3235 3239 \n3 3239 3233 3229 \n3 3214 3222 3235 \n3 3235 3229 3214 \n3 3195 3201 3222 \n3 3222 3214 3195 \n3 3169 3174 3201 \n3 3201 3195 3169 \n3 3146 3149 3174 \n3 3174 3169 3146 \n3 3119 3118 3149 \n3 3149 3146 3119 \n3 3096 3092 3118 \n3 3118 3119 3096 \n3 3066 3063 3092 \n3 3092 3096 3066 \n3 3049 3043 3063 \n3 3063 3066 3049 \n3 3035 3026 3043 \n3 3043 3049 3035 \n3 3220 3229 3233 \n3 3233 3225 3220 \n3 3208 3214 3229 \n3 3229 3220 3208 \n3 3186 3195 3214 \n3 3214 3208 3186 \n3 3163 3169 3195 \n3 3195 3186 3163 \n3 3139 3146 3169 \n3 3169 3163 3139 \n3 3116 3119 3146 \n3 3146 3139 3116 \n3 3094 3096 3119 \n3 3119 3116 3094 \n3 3069 3066 3096 \n3 3096 3094 3069 \n3 3051 3049 3066 \n3 3066 3069 3051 \n3 3039 3035 3049 \n3 3049 3051 3039 \n3 3206 3220 3225 \n3 3225 3209 3206 \n3 3191 3208 3220 \n3 3220 3206 3191 \n3 3176 3186 3208 \n3 3208 3191 3176 \n3 3153 3163 3186 \n3 3186 3176 3153 \n3 3133 3139 3163 \n3 3163 3153 3133 \n3 3110 3116 3139 \n3 3139 3133 3110 \n3 3088 3094 3116 \n3 3116 3110 3088 \n3 3065 3069 3094 \n3 3094 3088 3065 \n3 3047 3051 3069 \n3 3069 3065 3047 \n3 3038 3039 3051 \n3 3051 3047 3038 \n3 3184 3206 3209 \n3 3209 3189 3184 \n3 3180 3191 3206 \n3 3206 3184 3180 \n3 3159 3176 3191 \n3 3191 3180 3159 \n3 3140 3153 3176 \n3 3176 3159 3140 \n3 3123 3133 3153 \n3 3153 3140 3123 \n3 3099 3110 3133 \n3 3133 3123 3099 \n3 3079 3088 3110 \n3 3110 3099 3079 \n3 3055 3065 3088 \n3 3088 3079 3055 \n3 3032 3047 3065 \n3 3065 3055 3032 \n3 3023 3038 3047 \n3 3047 3032 3023 \n3 3165 3184 3189 \n3 3189 3168 3165 \n3 3155 3180 3184 \n3 3184 3165 3155 \n3 3143 3159 3180 \n3 3180 3155 3143 \n3 3126 3140 3159 \n3 3159 3143 3126 \n3 3105 3123 3140 \n3 3140 3126 3105 \n3 3084 3099 3123 \n3 3123 3105 3084 \n3 3061 3079 3099 \n3 3099 3084 3061 \n3 3041 3055 3079 \n3 3079 3061 3041 \n3 3019 3032 3055 \n3 3055 3041 3019 \n3 3014 3023 3032 \n3 3032 3019 3014 \n3 1662 1841 1835 \n3 1662 1835 1829 \n3 1662 1829 1812 \n3 1662 1812 1787 \n3 1662 1787 1771 \n3 1662 1771 1749 \n3 1662 1749 1727 \n3 1662 1727 1707 \n3 1662 1707 1685 \n3 1662 1685 1661 \n3 1978 1835 1841 \n3 1841 1982 1978 \n3 1970 1829 1835 \n3 1835 1978 1970 \n3 1947 1812 1829 \n3 1829 1970 1947 \n3 1922 1787 1812 \n3 1812 1947 1922 \n3 1867 1771 1787 \n3 1787 1922 1867 \n3 1827 1749 1771 \n3 1771 1867 1827 \n3 1775 1727 1749 \n3 1749 1827 1775 \n3 1731 1707 1727 \n3 1727 1775 1731 \n3 1695 1685 1707 \n3 1707 1731 1695 \n3 1660 1661 1685 \n3 1685 1695 1660 \n3 2028 1978 1982 \n3 1982 2032 2028 \n3 2018 1970 1978 \n3 1978 2028 2018 \n3 1999 1947 1970 \n3 1970 2018 1999 \n3 1964 1922 1947 \n3 1947 1999 1964 \n3 1926 1867 1922 \n3 1922 1964 1926 \n3 1857 1827 1867 \n3 1867 1926 1857 \n3 1804 1775 1827 \n3 1827 1857 1804 \n3 1743 1731 1775 \n3 1775 1804 1743 \n3 1703 1695 1731 \n3 1731 1743 1703 \n3 1658 1660 1695 \n3 1695 1703 1658 \n3 2030 2028 2032 \n3 2032 2033 2030 \n3 2020 2018 2028 \n3 2028 2030 2020 \n3 2001 1999 2018 \n3 2018 2020 2001 \n3 1966 1964 1999 \n3 1999 2001 1966 \n3 1928 1926 1964 \n3 1964 1966 1928 \n3 1859 1857 1926 \n3 1926 1928 1859 \n3 1805 1804 1857 \n3 1857 1859 1805 \n3 1745 1743 1804 \n3 1804 1805 1745 \n3 1705 1703 1743 \n3 1743 1745 1705 \n3 1656 1658 1703 \n3 1703 1705 1656 \n3 2005 2030 2033 \n3 2033 2009 2005 \n3 1980 2020 2030 \n3 2030 2005 1980 \n3 1962 2001 2020 \n3 2020 1980 1962 \n3 1936 1966 2001 \n3 2001 1962 1936 \n3 1892 1928 1966 \n3 1966 1936 1892 \n3 1837 1859 1928 \n3 1928 1892 1837 \n3 1781 1805 1859 \n3 1859 1837 1781 \n3 1737 1745 1805 \n3 1805 1781 1737 \n3 1699 1705 1745 \n3 1745 1737 1699 \n3 1576 1656 1705 \n3 1705 1699 1576 \n3 1942 2005 2009 \n3 2009 1946 1942 \n3 1932 1980 2005 \n3 2005 1942 1932 \n3 1910 1962 1980 \n3 1980 1932 1910 \n3 1870 1936 1962 \n3 1962 1910 1870 \n3 1839 1892 1936 \n3 1936 1870 1839 \n3 1797 1837 1892 \n3 1892 1839 1797 \n3 1759 1781 1837 \n3 1837 1797 1759 \n3 1723 1737 1781 \n3 1781 1759 1723 \n3 1691 1699 1737 \n3 1737 1723 1691 \n3 1654 1576 1699 \n3 1699 1691 1654 \n3 1866 1942 1946 \n3 1946 1869 1866 \n3 1852 1932 1942 \n3 1942 1866 1852 \n3 1842 1910 1932 \n3 1932 1852 1842 \n3 1818 1870 1910 \n3 1910 1842 1818 \n3 1783 1839 1870 \n3 1870 1818 1783 \n3 1765 1797 1839 \n3 1839 1783 1765 \n3 1735 1759 1797 \n3 1797 1765 1735 \n3 1715 1723 1759 \n3 1759 1735 1715 \n3 1689 1691 1723 \n3 1723 1715 1689 \n3 1575 1654 1691 \n3 1691 1689 1575 \n3 1815 1866 1869 \n3 1869 1820 1815 \n3 1811 1852 1866 \n3 1866 1815 1811 \n3 1794 1842 1852 \n3 1852 1811 1794 \n3 1778 1818 1842 \n3 1842 1794 1778 \n3 1762 1783 1818 \n3 1818 1778 1762 \n3 1739 1765 1783 \n3 1783 1762 1739 \n3 1719 1735 1765 \n3 1765 1739 1719 \n3 1701 1715 1735 \n3 1735 1719 1701 \n3 1683 1689 1715 \n3 1715 1701 1683 \n3 1653 1575 1689 \n3 1689 1683 1653 \n3 1800 1815 1820 \n3 1820 1807 1800 \n3 1790 1811 1815 \n3 1815 1800 1790 \n3 1780 1794 1811 \n3 1811 1790 1780 \n3 1770 1778 1794 \n3 1794 1780 1770 \n3 1754 1762 1778 \n3 1778 1770 1754 \n3 1734 1739 1762 \n3 1762 1754 1734 \n3 1717 1719 1739 \n3 1739 1734 1717 \n3 1697 1701 1719 \n3 1719 1717 1697 \n3 1681 1683 1701 \n3 1701 1697 1681 \n3 1652 1653 1683 \n3 1683 1681 1652 \n3 1845 1800 1807 \n3 1807 1850 1845 \n3 1833 1790 1800 \n3 1800 1845 1833 \n3 1817 1780 1790 \n3 1790 1833 1817 \n3 1795 1770 1780 \n3 1780 1817 1795 \n3 1773 1754 1770 \n3 1770 1795 1773 \n3 1752 1734 1754 \n3 1754 1773 1752 \n3 1729 1717 1734 \n3 1734 1752 1729 \n3 1712 1697 1717 \n3 1717 1729 1712 \n3 1687 1681 1697 \n3 1697 1712 1687 \n3 1650 1652 1681 \n3 1681 1687 1650 \n3 1662 1661 1553 \n3 1662 1553 1531 \n3 1662 1531 1511 \n3 1662 1511 1489 \n3 1662 1489 1467 \n3 1662 1467 1451 \n3 1662 1451 1426 \n3 1662 1426 1409 \n3 1662 1409 1403 \n3 1662 1403 1398 \n3 1543 1553 1661 \n3 1661 1660 1543 \n3 1507 1531 1553 \n3 1553 1543 1507 \n3 1463 1511 1531 \n3 1531 1507 1463 \n3 1411 1489 1511 \n3 1511 1463 1411 \n3 1371 1467 1489 \n3 1489 1411 1371 \n3 1316 1451 1467 \n3 1467 1371 1316 \n3 1291 1426 1451 \n3 1451 1316 1291 \n3 1268 1409 1426 \n3 1426 1291 1268 \n3 1260 1403 1409 \n3 1409 1268 1260 \n3 1257 1398 1403 \n3 1403 1260 1257 \n3 1535 1543 1660 \n3 1660 1658 1535 \n3 1495 1507 1543 \n3 1543 1535 1495 \n3 1436 1463 1507 \n3 1507 1495 1436 \n3 1381 1411 1463 \n3 1463 1436 1381 \n3 1312 1371 1411 \n3 1411 1381 1312 \n3 1274 1316 1371 \n3 1371 1312 1274 \n3 1239 1291 1316 \n3 1316 1274 1239 \n3 1220 1268 1291 \n3 1291 1239 1220 \n3 1210 1260 1268 \n3 1268 1220 1210 \n3 1207 1257 1260 \n3 1260 1210 1207 \n3 1533 1535 1658 \n3 1658 1656 1533 \n3 1493 1495 1535 \n3 1535 1533 1493 \n3 1433 1436 1495 \n3 1495 1493 1433 \n3 1379 1381 1436 \n3 1436 1433 1379 \n3 1310 1312 1381 \n3 1381 1379 1310 \n3 1272 1274 1312 \n3 1312 1310 1272 \n3 1237 1239 1274 \n3 1274 1272 1237 \n3 1218 1220 1239 \n3 1239 1237 1218 \n3 1208 1210 1220 \n3 1220 1218 1208 \n3 1206 1207 1210 \n3 1210 1208 1206 \n3 1539 1533 1656 \n3 1656 1576 1539 \n3 1501 1493 1533 \n3 1533 1539 1501 \n3 1457 1433 1493 \n3 1493 1501 1457 \n3 1401 1379 1433 \n3 1433 1457 1401 \n3 1346 1310 1379 \n3 1379 1401 1346 \n3 1302 1272 1310 \n3 1310 1346 1302 \n3 1276 1237 1272 \n3 1272 1302 1276 \n3 1258 1218 1237 \n3 1237 1276 1258 \n3 1233 1208 1218 \n3 1218 1258 1233 \n3 1230 1206 1208 \n3 1208 1233 1230 \n3 1547 1539 1576 \n3 1576 1654 1547 \n3 1515 1501 1539 \n3 1539 1547 1515 \n3 1479 1457 1501 \n3 1501 1515 1479 \n3 1441 1401 1457 \n3 1457 1479 1441 \n3 1399 1346 1401 \n3 1401 1441 1399 \n3 1368 1302 1346 \n3 1346 1399 1368 \n3 1328 1276 1302 \n3 1302 1368 1328 \n3 1306 1258 1276 \n3 1276 1328 1306 \n3 1296 1233 1258 \n3 1258 1306 1296 \n3 1293 1230 1233 \n3 1233 1296 1293 \n3 1549 1547 1654 \n3 1654 1575 1549 \n3 1523 1515 1547 \n3 1547 1549 1523 \n3 1503 1479 1515 \n3 1515 1523 1503 \n3 1473 1441 1479 \n3 1479 1503 1473 \n3 1455 1399 1441 \n3 1441 1473 1455 \n3 1420 1368 1399 \n3 1399 1455 1420 \n3 1396 1328 1368 \n3 1368 1420 1396 \n3 1388 1306 1328 \n3 1328 1396 1388 \n3 1374 1296 1306 \n3 1306 1388 1374 \n3 1370 1293 1296 \n3 1296 1374 1370 \n3 1555 1549 1575 \n3 1575 1653 1555 \n3 1537 1523 1549 \n3 1549 1555 1537 \n3 1519 1503 1523 \n3 1523 1537 1519 \n3 1499 1473 1503 \n3 1503 1519 1499 \n3 1478 1455 1473 \n3 1473 1499 1478 \n3 1462 1420 1455 \n3 1455 1478 1462 \n3 1446 1396 1420 \n3 1420 1462 1446 \n3 1429 1388 1396 \n3 1396 1446 1429 \n3 1425 1374 1388 \n3 1388 1429 1425 \n3 1419 1370 1374 \n3 1374 1425 1419 \n3 1557 1555 1653 \n3 1653 1652 1557 \n3 1541 1537 1555 \n3 1555 1557 1541 \n3 1521 1519 1537 \n3 1537 1541 1521 \n3 1506 1499 1519 \n3 1519 1521 1506 \n3 1486 1478 1499 \n3 1499 1506 1486 \n3 1470 1462 1478 \n3 1478 1486 1470 \n3 1460 1446 1462 \n3 1462 1470 1460 \n3 1450 1429 1446 \n3 1446 1460 1450 \n3 1440 1425 1429 \n3 1429 1450 1440 \n3 1432 1419 1425 \n3 1425 1440 1432 \n3 1551 1557 1652 \n3 1652 1650 1551 \n3 1528 1541 1557 \n3 1557 1551 1528 \n3 1509 1521 1541 \n3 1541 1528 1509 \n3 1487 1506 1521 \n3 1521 1509 1487 \n3 1466 1486 1506 \n3 1506 1487 1466 \n3 1443 1470 1486 \n3 1486 1466 1443 \n3 1423 1460 1470 \n3 1470 1443 1423 \n3 1405 1450 1460 \n3 1460 1423 1405 \n3 1395 1440 1450 \n3 1450 1405 1395 \n3 1389 1432 1440 \n3 1440 1395 1389 \n3 1662 1398 1404 \n3 1662 1404 1410 \n3 1662 1410 1427 \n3 1662 1427 1452 \n3 1662 1452 1468 \n3 1662 1468 1490 \n3 1662 1490 1512 \n3 1662 1512 1532 \n3 1662 1532 1554 \n3 1662 1554 1664 \n3 1261 1404 1398 \n3 1398 1257 1261 \n3 1269 1410 1404 \n3 1404 1261 1269 \n3 1292 1427 1410 \n3 1410 1269 1292 \n3 1317 1452 1427 \n3 1427 1292 1317 \n3 1372 1468 1452 \n3 1452 1317 1372 \n3 1412 1490 1468 \n3 1468 1372 1412 \n3 1464 1512 1490 \n3 1490 1412 1464 \n3 1508 1532 1512 \n3 1512 1464 1508 \n3 1544 1554 1532 \n3 1532 1508 1544 \n3 1665 1664 1554 \n3 1554 1544 1665 \n3 1211 1261 1257 \n3 1257 1207 1211 \n3 1221 1269 1261 \n3 1261 1211 1221 \n3 1240 1292 1269 \n3 1269 1221 1240 \n3 1275 1317 1292 \n3 1292 1240 1275 \n3 1313 1372 1317 \n3 1317 1275 1313 \n3 1382 1412 1372 \n3 1372 1313 1382 \n3 1435 1464 1412 \n3 1412 1382 1435 \n3 1496 1508 1464 \n3 1464 1435 1496 \n3 1536 1544 1508 \n3 1508 1496 1536 \n3 1659 1665 1544 \n3 1544 1536 1659 \n3 1209 1211 1207 \n3 1207 1206 1209 \n3 1219 1221 1211 \n3 1211 1209 1219 \n3 1238 1240 1221 \n3 1221 1219 1238 \n3 1273 1275 1240 \n3 1240 1238 1273 \n3 1311 1313 1275 \n3 1275 1273 1311 \n3 1380 1382 1313 \n3 1313 1311 1380 \n3 1434 1435 1382 \n3 1382 1380 1434 \n3 1494 1496 1435 \n3 1435 1434 1494 \n3 1534 1536 1496 \n3 1496 1494 1534 \n3 1657 1659 1536 \n3 1536 1534 1657 \n3 1234 1209 1206 \n3 1206 1230 1234 \n3 1259 1219 1209 \n3 1209 1234 1259 \n3 1277 1238 1219 \n3 1219 1259 1277 \n3 1303 1273 1238 \n3 1238 1277 1303 \n3 1347 1311 1273 \n3 1273 1303 1347 \n3 1402 1380 1311 \n3 1311 1347 1402 \n3 1458 1434 1380 \n3 1380 1402 1458 \n3 1502 1494 1434 \n3 1434 1458 1502 \n3 1540 1534 1494 \n3 1494 1502 1540 \n3 1655 1657 1534 \n3 1534 1540 1655 \n3 1297 1234 1230 \n3 1230 1293 1297 \n3 1307 1259 1234 \n3 1234 1297 1307 \n3 1329 1277 1259 \n3 1259 1307 1329 \n3 1369 1303 1277 \n3 1277 1329 1369 \n3 1400 1347 1303 \n3 1303 1369 1400 \n3 1442 1402 1347 \n3 1347 1400 1442 \n3 1480 1458 1402 \n3 1402 1442 1480 \n3 1516 1502 1458 \n3 1458 1480 1516 \n3 1548 1540 1502 \n3 1502 1516 1548 \n3 1667 1655 1540 \n3 1540 1548 1667 \n3 1373 1297 1293 \n3 1293 1370 1373 \n3 1387 1307 1297 \n3 1297 1373 1387 \n3 1397 1329 1307 \n3 1307 1387 1397 \n3 1421 1369 1329 \n3 1329 1397 1421 \n3 1456 1400 1369 \n3 1369 1421 1456 \n3 1474 1442 1400 \n3 1400 1456 1474 \n3 1504 1480 1442 \n3 1442 1474 1504 \n3 1524 1516 1480 \n3 1480 1504 1524 \n3 1550 1548 1516 \n3 1516 1524 1550 \n3 1668 1667 1548 \n3 1548 1550 1668 \n3 1424 1373 1370 \n3 1370 1419 1424 \n3 1428 1387 1373 \n3 1373 1424 1428 \n3 1445 1397 1387 \n3 1387 1428 1445 \n3 1461 1421 1397 \n3 1397 1445 1461 \n3 1477 1456 1421 \n3 1421 1461 1477 \n3 1500 1474 1456 \n3 1456 1477 1500 \n3 1520 1504 1474 \n3 1474 1500 1520 \n3 1538 1524 1504 \n3 1504 1520 1538 \n3 1556 1550 1524 \n3 1524 1538 1556 \n3 1675 1668 1550 \n3 1550 1556 1675 \n3 1439 1424 1419 \n3 1419 1432 1439 \n3 1449 1428 1424 \n3 1424 1439 1449 \n3 1459 1445 1428 \n3 1428 1449 1459 \n3 1469 1461 1445 \n3 1445 1459 1469 \n3 1485 1477 1461 \n3 1461 1469 1485 \n3 1505 1500 1477 \n3 1477 1485 1505 \n3 1522 1520 1500 \n3 1500 1505 1522 \n3 1542 1538 1520 \n3 1520 1522 1542 \n3 1558 1556 1538 \n3 1538 1542 1558 \n3 1676 1675 1556 \n3 1556 1558 1676 \n3 1394 1439 1432 \n3 1432 1389 1394 \n3 1406 1449 1439 \n3 1439 1394 1406 \n3 1422 1459 1449 \n3 1449 1406 1422 \n3 1444 1469 1459 \n3 1459 1422 1444 \n3 1465 1485 1469 \n3 1469 1444 1465 \n3 1488 1505 1485 \n3 1485 1465 1488 \n3 1510 1522 1505 \n3 1505 1488 1510 \n3 1527 1542 1522 \n3 1522 1510 1527 \n3 1552 1558 1542 \n3 1542 1527 1552 \n3 1651 1676 1558 \n3 1558 1552 1651 \n3 1662 1664 1686 \n3 1662 1686 1708 \n3 1662 1708 1728 \n3 1662 1728 1750 \n3 1662 1750 1772 \n3 1662 1772 1788 \n3 1662 1788 1813 \n3 1662 1813 1830 \n3 1662 1830 1836 \n3 1662 1836 1841 \n3 1696 1686 1664 \n3 1664 1665 1696 \n3 1732 1708 1686 \n3 1686 1696 1732 \n3 1776 1728 1708 \n3 1708 1732 1776 \n3 1828 1750 1728 \n3 1728 1776 1828 \n3 1868 1772 1750 \n3 1750 1828 1868 \n3 1923 1788 1772 \n3 1772 1868 1923 \n3 1948 1813 1788 \n3 1788 1923 1948 \n3 1971 1830 1813 \n3 1813 1948 1971 \n3 1979 1836 1830 \n3 1830 1971 1979 \n3 1982 1841 1836 \n3 1836 1979 1982 \n3 1704 1696 1665 \n3 1665 1659 1704 \n3 1744 1732 1696 \n3 1696 1704 1744 \n3 1803 1776 1732 \n3 1732 1744 1803 \n3 1858 1828 1776 \n3 1776 1803 1858 \n3 1927 1868 1828 \n3 1828 1858 1927 \n3 1965 1923 1868 \n3 1868 1927 1965 \n3 2000 1948 1923 \n3 1923 1965 2000 \n3 2019 1971 1948 \n3 1948 2000 2019 \n3 2029 1979 1971 \n3 1971 2019 2029 \n3 2032 1982 1979 \n3 1979 2029 2032 \n3 1706 1704 1659 \n3 1659 1657 1706 \n3 1746 1744 1704 \n3 1704 1706 1746 \n3 1806 1803 1744 \n3 1744 1746 1806 \n3 1860 1858 1803 \n3 1803 1806 1860 \n3 1929 1927 1858 \n3 1858 1860 1929 \n3 1967 1965 1927 \n3 1927 1929 1967 \n3 2002 2000 1965 \n3 1965 1967 2002 \n3 2021 2019 2000 \n3 2000 2002 2021 \n3 2031 2029 2019 \n3 2019 2021 2031 \n3 2033 2032 2029 \n3 2029 2031 2033 \n3 1700 1706 1657 \n3 1657 1655 1700 \n3 1738 1746 1706 \n3 1706 1700 1738 \n3 1782 1806 1746 \n3 1746 1738 1782 \n3 1838 1860 1806 \n3 1806 1782 1838 \n3 1893 1929 1860 \n3 1860 1838 1893 \n3 1937 1967 1929 \n3 1929 1893 1937 \n3 1963 2002 1967 \n3 1967 1937 1963 \n3 1981 2021 2002 \n3 2002 1963 1981 \n3 2006 2031 2021 \n3 2021 1981 2006 \n3 2009 2033 2031 \n3 2031 2006 2009 \n3 1692 1700 1655 \n3 1655 1667 1692 \n3 1724 1738 1700 \n3 1700 1692 1724 \n3 1760 1782 1738 \n3 1738 1724 1760 \n3 1798 1838 1782 \n3 1782 1760 1798 \n3 1840 1893 1838 \n3 1838 1798 1840 \n3 1871 1937 1893 \n3 1893 1840 1871 \n3 1911 1963 1937 \n3 1937 1871 1911 \n3 1933 1981 1963 \n3 1963 1911 1933 \n3 1943 2006 1981 \n3 1981 1933 1943 \n3 1946 2009 2006 \n3 2006 1943 1946 \n3 1690 1692 1667 \n3 1667 1668 1690 \n3 1716 1724 1692 \n3 1692 1690 1716 \n3 1736 1760 1724 \n3 1724 1716 1736 \n3 1766 1798 1760 \n3 1760 1736 1766 \n3 1784 1840 1798 \n3 1798 1766 1784 \n3 1819 1871 1840 \n3 1840 1784 1819 \n3 1843 1911 1871 \n3 1871 1819 1843 \n3 1851 1933 1911 \n3 1911 1843 1851 \n3 1865 1943 1933 \n3 1933 1851 1865 \n3 1869 1946 1943 \n3 1943 1865 1869 \n3 1684 1690 1668 \n3 1668 1675 1684 \n3 1702 1716 1690 \n3 1690 1684 1702 \n3 1720 1736 1716 \n3 1716 1702 1720 \n3 1740 1766 1736 \n3 1736 1720 1740 \n3 1761 1784 1766 \n3 1766 1740 1761 \n3 1777 1819 1784 \n3 1784 1761 1777 \n3 1793 1843 1819 \n3 1819 1777 1793 \n3 1810 1851 1843 \n3 1843 1793 1810 \n3 1814 1865 1851 \n3 1851 1810 1814 \n3 1820 1869 1865 \n3 1865 1814 1820 \n3 1682 1684 1675 \n3 1675 1676 1682 \n3 1698 1702 1684 \n3 1684 1682 1698 \n3 1718 1720 1702 \n3 1702 1698 1718 \n3 1733 1740 1720 \n3 1720 1718 1733 \n3 1753 1761 1740 \n3 1740 1733 1753 \n3 1769 1777 1761 \n3 1761 1753 1769 \n3 1779 1793 1777 \n3 1777 1769 1779 \n3 1789 1810 1793 \n3 1793 1779 1789 \n3 1799 1814 1810 \n3 1810 1789 1799 \n3 1807 1820 1814 \n3 1814 1799 1807 \n3 1688 1682 1676 \n3 1676 1651 1688 \n3 1711 1698 1682 \n3 1682 1688 1711 \n3 1730 1718 1698 \n3 1698 1711 1730 \n3 1751 1733 1718 \n3 1718 1730 1751 \n3 1774 1753 1733 \n3 1733 1751 1774 \n3 1796 1769 1753 \n3 1753 1774 1796 \n3 1816 1779 1769 \n3 1769 1796 1816 \n3 1834 1789 1779 \n3 1779 1816 1834 \n3 1844 1799 1789 \n3 1789 1834 1844 \n3 1850 1807 1799 \n3 1799 1844 1850 \n3 1953 1845 1850 \n3 1850 1957 1953 \n3 1940 1833 1845 \n3 1845 1953 1940 \n3 1921 1817 1833 \n3 1833 1940 1921 \n3 1874 1795 1817 \n3 1817 1921 1874 \n3 1848 1773 1795 \n3 1795 1874 1848 \n3 1801 1752 1773 \n3 1773 1848 1801 \n3 1764 1729 1752 \n3 1752 1801 1764 \n3 1725 1712 1729 \n3 1729 1764 1725 \n3 1693 1687 1712 \n3 1712 1725 1693 \n3 1648 1650 1687 \n3 1687 1693 1648 \n3 2048 1953 1957 \n3 1957 2051 2048 \n3 2038 1940 1953 \n3 1953 2048 2038 \n3 2024 1921 1940 \n3 1940 2038 2024 \n3 1995 1874 1921 \n3 1921 2024 1995 \n3 1955 1848 1874 \n3 1874 1995 1955 \n3 1894 1801 1848 \n3 1848 1955 1894 \n3 1826 1764 1801 \n3 1801 1894 1826 \n3 1757 1725 1764 \n3 1764 1826 1757 \n3 1713 1693 1725 \n3 1725 1757 1713 \n3 1646 1648 1693 \n3 1693 1713 1646 \n3 2121 2048 2051 \n3 2051 2124 2121 \n3 2112 2038 2048 \n3 2048 2121 2112 \n3 2090 2024 2038 \n3 2038 2112 2090 \n3 2063 1995 2024 \n3 2024 2090 2063 \n3 2040 1955 1995 \n3 1995 2063 2040 \n3 1991 1894 1955 \n3 1955 2040 1991 \n3 1909 1826 1894 \n3 1894 1991 1909 \n3 1808 1757 1826 \n3 1826 1909 1808 \n3 1721 1713 1757 \n3 1757 1808 1721 \n3 1644 1646 1713 \n3 1713 1721 1644 \n3 2197 2121 2124 \n3 2124 2207 2197 \n3 2179 2112 2121 \n3 2121 2197 2179 \n3 2155 2090 2112 \n3 2112 2179 2155 \n3 2129 2063 2090 \n3 2090 2155 2129 \n3 2098 2040 2063 \n3 2063 2129 2098 \n3 2052 1991 2040 \n3 2040 2098 2052 \n3 1989 1909 1991 \n3 1991 2052 1989 \n3 1863 1808 1909 \n3 1909 1989 1863 \n3 1741 1721 1808 \n3 1808 1863 1741 \n3 1642 1644 1721 \n3 1721 1741 1642 \n3 2265 2197 2207 \n3 2207 2275 2265 \n3 2255 2179 2197 \n3 2197 2265 2255 \n3 2237 2155 2179 \n3 2179 2255 2237 \n3 2201 2129 2155 \n3 2155 2237 2201 \n3 2147 2098 2129 \n3 2129 2201 2147 \n3 2106 2052 2098 \n3 2098 2147 2106 \n3 2042 1989 2052 \n3 2052 2106 2042 \n3 1934 1863 1989 \n3 1989 2042 1934 \n3 1767 1741 1863 \n3 1863 1934 1767 \n3 1640 1642 1741 \n3 1741 1767 1640 \n3 2353 2265 2275 \n3 2275 2355 2353 \n3 2334 2255 2265 \n3 2265 2353 2334 \n3 2298 2237 2255 \n3 2255 2334 2298 \n3 2257 2201 2237 \n3 2237 2298 2257 \n3 2218 2147 2201 \n3 2201 2257 2218 \n3 2143 2106 2147 \n3 2147 2218 2143 \n3 2080 2042 2106 \n3 2106 2143 2080 \n3 1983 1934 2042 \n3 2042 2080 1983 \n3 1791 1767 1934 \n3 1934 1983 1791 \n3 1638 1640 1767 \n3 1767 1791 1638 \n3 2419 2353 2355 \n3 2355 2424 2419 \n3 2396 2334 2353 \n3 2353 2419 2396 \n3 2361 2298 2334 \n3 2334 2396 2361 \n3 2312 2257 2298 \n3 2298 2361 2312 \n3 2253 2218 2257 \n3 2257 2312 2253 \n3 2193 2143 2218 \n3 2218 2253 2193 \n3 2117 2080 2143 \n3 2143 2193 2117 \n3 2026 1983 2080 \n3 2080 2117 2026 \n3 1823 1791 1983 \n3 1983 2026 1823 \n3 1574 1638 1791 \n3 1791 1823 1574 \n3 2482 2419 2424 \n3 2424 2490 2482 \n3 2456 2396 2419 \n3 2419 2482 2456 \n3 2412 2361 2396 \n3 2396 2456 2412 \n3 2356 2312 2361 \n3 2361 2412 2356 \n3 2294 2253 2312 \n3 2312 2356 2294 \n3 2231 2193 2253 \n3 2253 2294 2231 \n3 2133 2117 2193 \n3 2193 2231 2133 \n3 2046 2026 2117 \n3 2117 2133 2046 \n3 1846 1823 2026 \n3 2026 2046 1846 \n3 1563 1574 1823 \n3 1823 1846 1563 \n3 2526 2482 2490 \n3 2490 2535 2526 \n3 2492 2456 2482 \n3 2482 2526 2492 \n3 2448 2412 2456 \n3 2456 2492 2448 \n3 2389 2356 2412 \n3 2412 2448 2389 \n3 2327 2294 2356 \n3 2356 2389 2327 \n3 2242 2231 2294 \n3 2294 2327 2242 \n3 2152 2133 2231 \n3 2231 2242 2152 \n3 2054 2046 2133 \n3 2133 2152 2054 \n3 1853 1846 2046 \n3 2046 2054 1853 \n3 1626 1563 1846 \n3 1846 1853 1626 \n3 2538 2526 2535 \n3 2535 2547 2538 \n3 2513 2492 2526 \n3 2526 2538 2513 \n3 2462 2448 2492 \n3 2492 2513 2462 \n3 2402 2389 2448 \n3 2448 2462 2402 \n3 2340 2327 2389 \n3 2389 2402 2340 \n3 2249 2242 2327 \n3 2327 2340 2249 \n3 2157 2152 2242 \n3 2242 2249 2157 \n3 2058 2054 2152 \n3 2152 2157 2058 \n3 1861 1853 2054 \n3 2054 2058 1861 \n3 1620 1626 1853 \n3 1853 1861 1620 \n3 1545 1551 1650 \n3 1650 1648 1545 \n3 1513 1528 1551 \n3 1551 1545 1513 \n3 1476 1509 1528 \n3 1528 1513 1476 \n3 1437 1487 1509 \n3 1509 1476 1437 \n3 1390 1466 1487 \n3 1487 1437 1390 \n3 1364 1443 1466 \n3 1466 1390 1364 \n3 1319 1423 1443 \n3 1443 1364 1319 \n3 1298 1405 1423 \n3 1423 1319 1298 \n3 1285 1395 1405 \n3 1405 1298 1285 \n3 1282 1389 1395 \n3 1395 1285 1282 \n3 1525 1545 1648 \n3 1648 1646 1525 \n3 1481 1513 1545 \n3 1545 1525 1481 \n3 1414 1476 1513 \n3 1513 1481 1414 \n3 1344 1437 1476 \n3 1476 1414 1344 \n3 1283 1390 1437 \n3 1437 1344 1283 \n3 1243 1364 1390 \n3 1390 1283 1243 \n3 1214 1319 1364 \n3 1364 1243 1214 \n3 1200 1298 1319 \n3 1319 1214 1200 \n3 1190 1285 1298 \n3 1298 1200 1190 \n3 1188 1282 1285 \n3 1285 1190 1188 \n3 1517 1525 1646 \n3 1646 1644 1517 \n3 1430 1481 1525 \n3 1525 1517 1430 \n3 1331 1414 1481 \n3 1481 1430 1331 \n3 1247 1344 1414 \n3 1414 1331 1247 \n3 1198 1283 1344 \n3 1344 1247 1198 \n3 1177 1243 1283 \n3 1283 1198 1177 \n3 1148 1214 1243 \n3 1243 1177 1148 \n3 1126 1200 1214 \n3 1214 1148 1126 \n3 1119 1190 1200 \n3 1200 1126 1119 \n3 1115 1188 1190 \n3 1190 1119 1115 \n3 1497 1517 1644 \n3 1644 1642 1497 \n3 1375 1430 1517 \n3 1517 1497 1375 \n3 1249 1331 1430 \n3 1430 1375 1249 \n3 1186 1247 1331 \n3 1331 1249 1186 \n3 1140 1198 1247 \n3 1247 1186 1140 \n3 1109 1177 1198 \n3 1198 1140 1109 \n3 1083 1148 1177 \n3 1177 1109 1083 \n3 1059 1126 1148 \n3 1148 1083 1059 \n3 1041 1119 1126 \n3 1126 1059 1041 \n3 1032 1115 1119 \n3 1119 1041 1032 \n3 1471 1497 1642 \n3 1642 1640 1471 \n3 1304 1375 1497 \n3 1497 1471 1304 \n3 1196 1249 1375 \n3 1375 1304 1196 \n3 1132 1186 1249 \n3 1249 1196 1132 \n3 1091 1140 1186 \n3 1186 1132 1091 \n3 1037 1109 1140 \n3 1140 1091 1037 \n3 1001 1083 1109 \n3 1109 1037 1001 \n3 983 1059 1083 \n3 1083 1001 983 \n3 973 1041 1059 \n3 1059 983 973 \n3 964 1032 1041 \n3 1041 973 964 \n3 1447 1471 1640 \n3 1640 1638 1447 \n3 1255 1304 1471 \n3 1471 1447 1255 \n3 1158 1196 1304 \n3 1304 1255 1158 \n3 1095 1132 1196 \n3 1196 1158 1095 \n3 1020 1091 1132 \n3 1132 1095 1020 \n3 981 1037 1091 \n3 1091 1020 981 \n3 940 1001 1037 \n3 1037 981 940 \n3 904 983 1001 \n3 1001 940 904 \n3 885 973 983 \n3 983 904 885 \n3 884 964 973 \n3 973 885 884 \n3 1415 1447 1638 \n3 1638 1574 1415 \n3 1212 1255 1447 \n3 1447 1415 1212 \n3 1123 1158 1255 \n3 1255 1212 1123 \n3 1045 1095 1158 \n3 1158 1123 1045 \n3 985 1020 1095 \n3 1095 1045 985 \n3 926 981 1020 \n3 1020 985 926 \n3 879 940 981 \n3 981 926 879 \n3 842 904 940 \n3 940 879 842 \n3 821 885 904 \n3 904 842 821 \n3 815 884 885 \n3 885 821 815 \n3 1392 1415 1574 \n3 1574 1563 1392 \n3 1192 1212 1415 \n3 1415 1392 1192 \n3 1105 1123 1212 \n3 1212 1192 1105 \n3 1007 1045 1123 \n3 1123 1105 1007 \n3 944 985 1045 \n3 1045 1007 944 \n3 882 926 985 \n3 985 944 882 \n3 826 879 926 \n3 926 882 826 \n3 782 842 879 \n3 879 826 782 \n3 756 821 842 \n3 842 782 756 \n3 749 815 821 \n3 821 756 749 \n3 1385 1392 1563 \n3 1563 1626 1385 \n3 1184 1192 1392 \n3 1392 1385 1184 \n3 1088 1105 1192 \n3 1192 1184 1088 \n3 998 1007 1105 \n3 1105 1088 998 \n3 913 944 1007 \n3 1007 998 913 \n3 851 882 944 \n3 944 913 851 \n3 792 826 882 \n3 882 851 792 \n3 748 782 826 \n3 826 792 748 \n3 714 756 782 \n3 782 748 714 \n3 704 749 756 \n3 756 714 704 \n3 1377 1385 1626 \n3 1626 1620 1377 \n3 1180 1184 1385 \n3 1385 1377 1180 \n3 1081 1088 1184 \n3 1184 1180 1081 \n3 989 998 1088 \n3 1088 1081 989 \n3 898 913 998 \n3 998 989 898 \n3 836 851 913 \n3 913 898 836 \n3 776 792 851 \n3 851 836 776 \n3 725 748 792 \n3 792 776 725 \n3 700 714 748 \n3 748 725 700 \n3 692 704 714 \n3 714 700 692 \n3 1286 1394 1389 \n3 1389 1282 1286 \n3 1299 1406 1394 \n3 1394 1286 1299 \n3 1318 1422 1406 \n3 1406 1299 1318 \n3 1365 1444 1422 \n3 1422 1318 1365 \n3 1391 1465 1444 \n3 1444 1365 1391 \n3 1438 1488 1465 \n3 1465 1391 1438 \n3 1475 1510 1488 \n3 1488 1438 1475 \n3 1514 1527 1510 \n3 1510 1475 1514 \n3 1546 1552 1527 \n3 1527 1514 1546 \n3 1649 1651 1552 \n3 1552 1546 1649 \n3 1191 1286 1282 \n3 1282 1188 1191 \n3 1201 1299 1286 \n3 1286 1191 1201 \n3 1215 1318 1299 \n3 1299 1201 1215 \n3 1244 1365 1318 \n3 1318 1215 1244 \n3 1284 1391 1365 \n3 1365 1244 1284 \n3 1345 1438 1391 \n3 1391 1284 1345 \n3 1413 1475 1438 \n3 1438 1345 1413 \n3 1482 1514 1475 \n3 1475 1413 1482 \n3 1526 1546 1514 \n3 1514 1482 1526 \n3 1647 1649 1546 \n3 1546 1526 1647 \n3 1118 1191 1188 \n3 1188 1115 1118 \n3 1127 1201 1191 \n3 1191 1118 1127 \n3 1149 1215 1201 \n3 1201 1127 1149 \n3 1176 1244 1215 \n3 1215 1149 1176 \n3 1199 1284 1244 \n3 1244 1176 1199 \n3 1248 1345 1284 \n3 1284 1199 1248 \n3 1330 1413 1345 \n3 1345 1248 1330 \n3 1431 1482 1413 \n3 1413 1330 1431 \n3 1518 1526 1482 \n3 1482 1431 1518 \n3 1645 1647 1526 \n3 1526 1518 1645 \n3 1042 1118 1115 \n3 1115 1032 1042 \n3 1060 1127 1118 \n3 1118 1042 1060 \n3 1084 1149 1127 \n3 1127 1060 1084 \n3 1110 1176 1149 \n3 1149 1084 1110 \n3 1141 1199 1176 \n3 1176 1110 1141 \n3 1187 1248 1199 \n3 1199 1141 1187 \n3 1250 1330 1248 \n3 1248 1187 1250 \n3 1376 1431 1330 \n3 1330 1250 1376 \n3 1498 1518 1431 \n3 1431 1376 1498 \n3 1643 1645 1518 \n3 1518 1498 1643 \n3 974 1042 1032 \n3 1032 964 974 \n3 984 1060 1042 \n3 1042 974 984 \n3 1002 1084 1060 \n3 1060 984 1002 \n3 1038 1110 1084 \n3 1084 1002 1038 \n3 1092 1141 1110 \n3 1110 1038 1092 \n3 1133 1187 1141 \n3 1141 1092 1133 \n3 1197 1250 1187 \n3 1187 1133 1197 \n3 1305 1376 1250 \n3 1250 1197 1305 \n3 1472 1498 1376 \n3 1376 1305 1472 \n3 1641 1643 1498 \n3 1498 1472 1641 \n3 886 974 964 \n3 964 884 886 \n3 905 984 974 \n3 974 886 905 \n3 941 1002 984 \n3 984 905 941 \n3 982 1038 1002 \n3 1002 941 982 \n3 1021 1092 1038 \n3 1038 982 1021 \n3 1096 1133 1092 \n3 1092 1021 1096 \n3 1159 1197 1133 \n3 1133 1096 1159 \n3 1256 1305 1197 \n3 1197 1159 1256 \n3 1448 1472 1305 \n3 1305 1256 1448 \n3 1639 1641 1472 \n3 1472 1448 1639 \n3 820 886 884 \n3 884 815 820 \n3 843 905 886 \n3 886 820 843 \n3 878 941 905 \n3 905 843 878 \n3 927 982 941 \n3 941 878 927 \n3 986 1021 982 \n3 982 927 986 \n3 1046 1096 1021 \n3 1021 986 1046 \n3 1122 1159 1096 \n3 1096 1046 1122 \n3 1213 1256 1159 \n3 1159 1122 1213 \n3 1416 1448 1256 \n3 1256 1213 1416 \n3 1637 1639 1448 \n3 1448 1416 1637 \n3 757 820 815 \n3 815 749 757 \n3 783 843 820 \n3 820 757 783 \n3 827 878 843 \n3 843 783 827 \n3 883 927 878 \n3 878 827 883 \n3 945 986 927 \n3 927 883 945 \n3 1008 1046 986 \n3 986 945 1008 \n3 1106 1122 1046 \n3 1046 1008 1106 \n3 1193 1213 1122 \n3 1122 1106 1193 \n3 1393 1416 1213 \n3 1213 1193 1393 \n3 1678 1637 1416 \n3 1416 1393 1678 \n3 713 757 749 \n3 749 704 713 \n3 747 783 757 \n3 757 713 747 \n3 791 827 783 \n3 783 747 791 \n3 850 883 827 \n3 827 791 850 \n3 912 945 883 \n3 883 850 912 \n3 997 1008 945 \n3 945 912 997 \n3 1087 1106 1008 \n3 1008 997 1087 \n3 1185 1193 1106 \n3 1106 1087 1185 \n3 1386 1393 1193 \n3 1193 1185 1386 \n3 1627 1678 1393 \n3 1393 1386 1627 \n3 701 713 704 \n3 704 692 701 \n3 726 747 713 \n3 713 701 726 \n3 777 791 747 \n3 747 726 777 \n3 837 850 791 \n3 791 777 837 \n3 899 912 850 \n3 850 837 899 \n3 990 997 912 \n3 912 899 990 \n3 1082 1087 997 \n3 997 990 1082 \n3 1181 1185 1087 \n3 1087 1082 1181 \n3 1378 1386 1185 \n3 1185 1181 1378 \n3 1621 1627 1386 \n3 1386 1378 1621 \n3 1694 1688 1651 \n3 1651 1649 1694 \n3 1726 1711 1688 \n3 1688 1694 1726 \n3 1763 1730 1711 \n3 1711 1726 1763 \n3 1802 1751 1730 \n3 1730 1763 1802 \n3 1849 1774 1751 \n3 1751 1802 1849 \n3 1875 1796 1774 \n3 1774 1849 1875 \n3 1920 1816 1796 \n3 1796 1875 1920 \n3 1941 1834 1816 \n3 1816 1920 1941 \n3 1954 1844 1834 \n3 1834 1941 1954 \n3 1957 1850 1844 \n3 1844 1954 1957 \n3 1714 1694 1649 \n3 1649 1647 1714 \n3 1758 1726 1694 \n3 1694 1714 1758 \n3 1825 1763 1726 \n3 1726 1758 1825 \n3 1895 1802 1763 \n3 1763 1825 1895 \n3 1956 1849 1802 \n3 1802 1895 1956 \n3 1996 1875 1849 \n3 1849 1956 1996 \n3 2025 1920 1875 \n3 1875 1996 2025 \n3 2039 1941 1920 \n3 1920 2025 2039 \n3 2049 1954 1941 \n3 1941 2039 2049 \n3 2051 1957 1954 \n3 1954 2049 2051 \n3 1722 1714 1647 \n3 1647 1645 1722 \n3 1809 1758 1714 \n3 1714 1722 1809 \n3 1908 1825 1758 \n3 1758 1809 1908 \n3 1992 1895 1825 \n3 1825 1908 1992 \n3 2041 1956 1895 \n3 1895 1992 2041 \n3 2062 1996 1956 \n3 1956 2041 2062 \n3 2091 2025 1996 \n3 1996 2062 2091 \n3 2113 2039 2025 \n3 2025 2091 2113 \n3 2120 2049 2039 \n3 2039 2113 2120 \n3 2124 2051 2049 \n3 2049 2120 2124 \n3 1742 1722 1645 \n3 1645 1643 1742 \n3 1864 1809 1722 \n3 1722 1742 1864 \n3 1990 1908 1809 \n3 1809 1864 1990 \n3 2053 1992 1908 \n3 1908 1990 2053 \n3 2099 2041 1992 \n3 1992 2053 2099 \n3 2130 2062 2041 \n3 2041 2099 2130 \n3 2156 2091 2062 \n3 2062 2130 2156 \n3 2180 2113 2091 \n3 2091 2156 2180 \n3 2198 2120 2113 \n3 2113 2180 2198 \n3 2207 2124 2120 \n3 2120 2198 2207 \n3 1768 1742 1643 \n3 1643 1641 1768 \n3 1935 1864 1742 \n3 1742 1768 1935 \n3 2043 1990 1864 \n3 1864 1935 2043 \n3 2107 2053 1990 \n3 1990 2043 2107 \n3 2148 2099 2053 \n3 2053 2107 2148 \n3 2202 2130 2099 \n3 2099 2148 2202 \n3 2238 2156 2130 \n3 2130 2202 2238 \n3 2256 2180 2156 \n3 2156 2238 2256 \n3 2266 2198 2180 \n3 2180 2256 2266 \n3 2275 2207 2198 \n3 2198 2266 2275 \n3 1792 1768 1641 \n3 1641 1639 1792 \n3 1984 1935 1768 \n3 1768 1792 1984 \n3 2081 2043 1935 \n3 1935 1984 2081 \n3 2144 2107 2043 \n3 2043 2081 2144 \n3 2219 2148 2107 \n3 2107 2144 2219 \n3 2258 2202 2148 \n3 2148 2219 2258 \n3 2299 2238 2202 \n3 2202 2258 2299 \n3 2335 2256 2238 \n3 2238 2299 2335 \n3 2354 2266 2256 \n3 2256 2335 2354 \n3 2355 2275 2266 \n3 2266 2354 2355 \n3 1824 1792 1639 \n3 1639 1637 1824 \n3 2027 1984 1792 \n3 1792 1824 2027 \n3 2116 2081 1984 \n3 1984 2027 2116 \n3 2194 2144 2081 \n3 2081 2116 2194 \n3 2254 2219 2144 \n3 2144 2194 2254 \n3 2313 2258 2219 \n3 2219 2254 2313 \n3 2360 2299 2258 \n3 2258 2313 2360 \n3 2397 2335 2299 \n3 2299 2360 2397 \n3 2418 2354 2335 \n3 2335 2397 2418 \n3 2424 2355 2354 \n3 2354 2418 2424 \n3 1847 1824 1637 \n3 1637 1678 1847 \n3 2047 2027 1824 \n3 1824 1847 2047 \n3 2134 2116 2027 \n3 2027 2047 2134 \n3 2232 2194 2116 \n3 2116 2134 2232 \n3 2295 2254 2194 \n3 2194 2232 2295 \n3 2357 2313 2254 \n3 2254 2295 2357 \n3 2413 2360 2313 \n3 2313 2357 2413 \n3 2457 2397 2360 \n3 2360 2413 2457 \n3 2483 2418 2397 \n3 2397 2457 2483 \n3 2490 2424 2418 \n3 2418 2483 2490 \n3 1854 1847 1678 \n3 1678 1627 1854 \n3 2055 2047 1847 \n3 1847 1854 2055 \n3 2151 2134 2047 \n3 2047 2055 2151 \n3 2241 2232 2134 \n3 2134 2151 2241 \n3 2326 2295 2232 \n3 2232 2241 2326 \n3 2388 2357 2295 \n3 2295 2326 2388 \n3 2447 2413 2357 \n3 2357 2388 2447 \n3 2491 2457 2413 \n3 2413 2447 2491 \n3 2525 2483 2457 \n3 2457 2491 2525 \n3 2535 2490 2483 \n3 2483 2525 2535 \n3 1862 1854 1627 \n3 1627 1621 1862 \n3 2059 2055 1854 \n3 1854 1862 2059 \n3 2158 2151 2055 \n3 2055 2059 2158 \n3 2250 2241 2151 \n3 2151 2158 2250 \n3 2341 2326 2241 \n3 2241 2250 2341 \n3 2403 2388 2326 \n3 2326 2341 2403 \n3 2463 2447 2388 \n3 2388 2403 2463 \n3 2514 2491 2447 \n3 2447 2463 2514 \n3 2539 2525 2491 \n3 2491 2514 2539 \n3 2547 2535 2525 \n3 2525 2539 2547 \n3 1577 2050 2045 \n3 1577 2045 2037 \n3 1577 2037 2023 \n3 1577 2023 1994 \n3 1577 1994 1952 \n3 1577 1952 1891 \n3 1577 1891 1822 \n3 1577 1822 1755 \n3 1577 1755 1709 \n3 1577 1709 1578 \n3 2223 2045 2050 \n3 2050 2230 2223 \n3 2204 2037 2045 \n3 2045 2223 2204 \n3 2167 2023 2037 \n3 2037 2204 2167 \n3 2140 1994 2023 \n3 2023 2167 2140 \n3 2111 1952 1994 \n3 1994 2140 2111 \n3 2061 1891 1952 \n3 1952 2111 2061 \n3 2011 1822 1891 \n3 1891 2061 2011 \n3 1872 1755 1822 \n3 1822 2011 1872 \n3 1747 1709 1755 \n3 1755 1872 1747 \n3 1580 1578 1709 \n3 1709 1747 1580 \n3 2348 2223 2230 \n3 2230 2350 2348 \n3 2324 2204 2223 \n3 2223 2348 2324 \n3 2289 2167 2204 \n3 2204 2324 2289 \n3 2247 2140 2167 \n3 2167 2289 2247 \n3 2210 2111 2140 \n3 2140 2247 2210 \n3 2137 2061 2111 \n3 2111 2210 2137 \n3 2066 2011 2061 \n3 2061 2137 2066 \n3 1976 1872 2011 \n3 2011 2066 1976 \n3 1785 1747 1872 \n3 1872 1976 1785 \n3 1564 1580 1747 \n3 1747 1785 1564 \n3 2444 2348 2350 \n3 2350 2455 2444 \n3 2420 2324 2348 \n3 2348 2444 2420 \n3 2380 2289 2324 \n3 2324 2420 2380 \n3 2342 2247 2289 \n3 2289 2380 2342 \n3 2263 2210 2247 \n3 2247 2342 2263 \n3 2213 2137 2210 \n3 2210 2263 2213 \n3 2126 2066 2137 \n3 2137 2213 2126 \n3 2034 1976 2066 \n3 2066 2126 2034 \n3 1831 1785 1976 \n3 1976 2034 1831 \n3 1583 1564 1785 \n3 1785 1831 1583 \n3 2532 2444 2455 \n3 2455 2540 2532 \n3 2500 2420 2444 \n3 2444 2532 2500 \n3 2454 2380 2420 \n3 2420 2500 2454 \n3 2395 2342 2380 \n3 2380 2454 2395 \n3 2329 2263 2342 \n3 2342 2395 2329 \n3 2244 2213 2263 \n3 2263 2329 2244 \n3 2154 2126 2213 \n3 2213 2244 2154 \n3 2056 2034 2126 \n3 2126 2154 2056 \n3 1856 1831 2034 \n3 2034 2056 1856 \n3 1669 1583 1831 \n3 1831 1856 1669 \n3 2593 2532 2540 \n3 2540 2610 2593 \n3 2556 2500 2532 \n3 2532 2593 2556 \n3 2510 2454 2500 \n3 2500 2556 2510 \n3 2434 2395 2454 \n3 2454 2510 2434 \n3 2366 2329 2395 \n3 2395 2434 2366 \n3 2271 2244 2329 \n3 2329 2366 2271 \n3 2184 2154 2244 \n3 2244 2271 2184 \n3 2070 2056 2154 \n3 2154 2184 2070 \n3 1880 1856 2056 \n3 2056 2070 1880 \n3 1585 1669 1856 \n3 1856 1880 1585 \n3 2651 2593 2610 \n3 2610 2661 2651 \n3 2601 2556 2593 \n3 2593 2651 2601 \n3 2542 2510 2556 \n3 2556 2601 2542 \n3 2469 2434 2510 \n3 2510 2542 2469 \n3 2387 2366 2434 \n3 2434 2469 2387 \n3 2297 2271 2366 \n3 2366 2387 2297 \n3 2206 2184 2271 \n3 2271 2297 2206 \n3 2086 2070 2184 \n3 2184 2206 2086 \n3 1900 1880 2070 \n3 2070 2086 1900 \n3 1587 1585 1880 \n3 1880 1900 1587 \n3 2666 2651 2661 \n3 2661 2680 2666 \n3 2632 2601 2651 \n3 2651 2666 2632 \n3 2563 2542 2601 \n3 2601 2632 2563 \n3 2489 2469 2542 \n3 2542 2563 2489 \n3 2401 2387 2469 \n3 2469 2489 2401 \n3 2309 2297 2387 \n3 2387 2401 2309 \n3 2217 2206 2297 \n3 2297 2309 2217 \n3 2094 2086 2206 \n3 2206 2217 2094 \n3 1906 1900 2086 \n3 2086 2094 1906 \n3 1589 1587 1900 \n3 1900 1906 1589 \n3 2673 2666 2680 \n3 2680 2689 2673 \n3 2644 2632 2666 \n3 2666 2673 2644 \n3 2568 2563 2632 \n3 2632 2644 2568 \n3 2493 2489 2563 \n3 2563 2568 2493 \n3 2406 2401 2489 \n3 2489 2493 2406 \n3 2310 2309 2401 \n3 2401 2406 2310 \n3 2220 2217 2309 \n3 2309 2310 2220 \n3 2096 2094 2217 \n3 2217 2220 2096 \n3 1912 1906 2094 \n3 2094 2096 1912 \n3 1562 1589 1906 \n3 1906 1912 1562 \n3 2677 2673 2689 \n3 2689 2690 2677 \n3 2647 2644 2673 \n3 2673 2677 2647 \n3 2574 2568 2644 \n3 2644 2647 2574 \n3 2496 2493 2568 \n3 2568 2574 2496 \n3 2409 2406 2493 \n3 2493 2496 2409 \n3 2316 2310 2406 \n3 2406 2409 2316 \n3 2224 2220 2310 \n3 2310 2316 2224 \n3 2102 2096 2220 \n3 2220 2224 2102 \n3 1915 1912 2096 \n3 2096 2102 1915 \n3 1591 1562 1912 \n3 1912 1915 1591 \n3 1577 1578 1529 \n3 1577 1529 1483 \n3 1577 1483 1418 \n3 1577 1418 1349 \n3 1577 1349 1288 \n3 1577 1288 1246 \n3 1577 1246 1217 \n3 1577 1217 1203 \n3 1577 1203 1195 \n3 1577 1195 1189 \n3 1491 1529 1578 \n3 1578 1580 1491 \n3 1366 1483 1529 \n3 1529 1491 1366 \n3 1229 1418 1483 \n3 1483 1366 1229 \n3 1179 1349 1418 \n3 1418 1229 1179 \n3 1129 1288 1349 \n3 1349 1179 1129 \n3 1100 1246 1288 \n3 1288 1129 1100 \n3 1071 1217 1246 \n3 1246 1100 1071 \n3 1036 1203 1217 \n3 1217 1071 1036 \n3 1017 1195 1203 \n3 1203 1036 1017 \n3 1009 1189 1195 \n3 1195 1017 1009 \n3 1453 1491 1580 \n3 1580 1564 1453 \n3 1262 1366 1491 \n3 1491 1453 1262 \n3 1172 1229 1366 \n3 1366 1262 1172 \n3 1101 1179 1229 \n3 1229 1172 1101 \n3 1028 1129 1179 \n3 1179 1101 1028 \n3 991 1100 1129 \n3 1129 1028 991 \n3 951 1071 1100 \n3 1100 991 951 \n3 914 1036 1071 \n3 1071 951 914 \n3 890 1017 1036 \n3 1036 914 890 \n3 889 1009 1017 \n3 1017 890 889 \n3 1407 1453 1564 \n3 1564 1583 1407 \n3 1204 1262 1453 \n3 1453 1407 1204 \n3 1114 1172 1262 \n3 1262 1204 1114 \n3 1027 1101 1172 \n3 1172 1114 1027 \n3 975 1028 1101 \n3 1101 1027 975 \n3 896 991 1028 \n3 1028 975 896 \n3 858 951 991 \n3 991 896 858 \n3 818 914 951 \n3 951 858 818 \n3 796 890 914 \n3 914 818 796 \n3 784 889 890 \n3 890 796 784 \n3 1384 1407 1583 \n3 1583 1669 1384 \n3 1182 1204 1407 \n3 1407 1384 1182 \n3 1086 1114 1204 \n3 1204 1182 1086 \n3 996 1027 1114 \n3 1114 1086 996 \n3 911 975 1027 \n3 1027 996 911 \n3 845 896 975 \n3 975 911 845 \n3 786 858 896 \n3 896 845 786 \n3 740 818 858 \n3 858 786 740 \n3 708 796 818 \n3 818 740 708 \n3 699 784 796 \n3 796 708 699 \n3 1358 1384 1669 \n3 1669 1585 1358 \n3 1168 1182 1384 \n3 1384 1358 1168 \n3 1056 1086 1182 \n3 1182 1168 1056 \n3 967 996 1086 \n3 1086 1056 967 \n3 872 911 996 \n3 996 967 872 \n3 806 845 911 \n3 911 872 806 \n3 730 786 845 \n3 845 806 730 \n3 682 740 786 \n3 786 730 682 \n3 647 708 740 \n3 740 682 647 \n3 629 699 708 \n3 708 647 629 \n3 1338 1358 1585 \n3 1585 1587 1338 \n3 1152 1168 1358 \n3 1358 1338 1152 \n3 1034 1056 1168 \n3 1168 1152 1034 \n3 943 967 1056 \n3 1056 1034 943 \n3 853 872 967 \n3 967 943 853 \n3 771 806 872 \n3 872 853 771 \n3 698 730 806 \n3 806 771 698 \n3 639 682 730 \n3 730 698 639 \n3 589 647 682 \n3 682 639 589 \n3 578 629 647 \n3 647 589 578 \n3 1332 1338 1587 \n3 1587 1589 1332 \n3 1144 1152 1338 \n3 1338 1332 1144 \n3 1023 1034 1152 \n3 1152 1144 1023 \n3 931 943 1034 \n3 1034 1023 931 \n3 839 853 943 \n3 943 931 839 \n3 751 771 853 \n3 853 839 751 \n3 677 698 771 \n3 771 751 677 \n3 608 639 698 \n3 698 677 608 \n3 574 589 639 \n3 639 608 574 \n3 559 578 589 \n3 589 574 559 \n3 1326 1332 1589 \n3 1589 1562 1326 \n3 1142 1144 1332 \n3 1332 1326 1142 \n3 1018 1023 1144 \n3 1144 1142 1018 \n3 928 931 1023 \n3 1023 1018 928 \n3 832 839 931 \n3 931 928 832 \n3 745 751 839 \n3 839 832 745 \n3 670 677 751 \n3 751 745 670 \n3 594 608 677 \n3 677 670 594 \n3 565 574 608 \n3 608 594 565 \n3 550 559 574 \n3 574 565 550 \n3 1322 1326 1562 \n3 1562 1591 1322 \n3 1136 1142 1326 \n3 1326 1322 1136 \n3 1013 1018 1142 \n3 1142 1136 1013 \n3 923 928 1018 \n3 1018 1013 923 \n3 830 832 928 \n3 928 923 830 \n3 743 745 832 \n3 832 830 743 \n3 663 670 745 \n3 745 743 663 \n3 592 594 670 \n3 670 663 592 \n3 561 565 594 \n3 594 592 561 \n3 547 550 565 \n3 565 561 547 \n3 1577 1189 1194 \n3 1577 1194 1202 \n3 1577 1202 1216 \n3 1577 1216 1245 \n3 1577 1245 1287 \n3 1577 1287 1348 \n3 1577 1348 1417 \n3 1577 1417 1484 \n3 1577 1484 1530 \n3 1577 1530 1663 \n3 1016 1194 1189 \n3 1189 1009 1016 \n3 1035 1202 1194 \n3 1194 1016 1035 \n3 1072 1216 1202 \n3 1202 1035 1072 \n3 1099 1245 1216 \n3 1216 1072 1099 \n3 1128 1287 1245 \n3 1245 1099 1128 \n3 1178 1348 1287 \n3 1287 1128 1178 \n3 1228 1417 1348 \n3 1348 1178 1228 \n3 1367 1484 1417 \n3 1417 1228 1367 \n3 1492 1530 1484 \n3 1484 1367 1492 \n3 1579 1663 1530 \n3 1530 1492 1579 \n3 891 1016 1009 \n3 1009 889 891 \n3 915 1035 1016 \n3 1016 891 915 \n3 950 1072 1035 \n3 1035 915 950 \n3 992 1099 1072 \n3 1072 950 992 \n3 1029 1128 1099 \n3 1099 992 1029 \n3 1102 1178 1128 \n3 1128 1029 1102 \n3 1173 1228 1178 \n3 1178 1102 1173 \n3 1263 1367 1228 \n3 1228 1173 1263 \n3 1454 1492 1367 \n3 1367 1263 1454 \n3 1581 1579 1492 \n3 1492 1454 1581 \n3 795 891 889 \n3 889 784 795 \n3 819 915 891 \n3 891 795 819 \n3 859 950 915 \n3 915 819 859 \n3 897 992 950 \n3 950 859 897 \n3 976 1029 992 \n3 992 897 976 \n3 1026 1102 1029 \n3 1029 976 1026 \n3 1113 1173 1102 \n3 1102 1026 1113 \n3 1205 1263 1173 \n3 1173 1113 1205 \n3 1408 1454 1263 \n3 1263 1205 1408 \n3 1582 1581 1454 \n3 1454 1408 1582 \n3 707 795 784 \n3 784 699 707 \n3 739 819 795 \n3 795 707 739 \n3 785 859 819 \n3 819 739 785 \n3 844 897 859 \n3 859 785 844 \n3 910 976 897 \n3 897 844 910 \n3 995 1026 976 \n3 976 910 995 \n3 1085 1113 1026 \n3 1026 995 1085 \n3 1183 1205 1113 \n3 1113 1085 1183 \n3 1383 1408 1205 \n3 1205 1183 1383 \n3 1584 1582 1408 \n3 1408 1383 1584 \n3 646 707 699 \n3 699 629 646 \n3 683 739 707 \n3 707 646 683 \n3 729 785 739 \n3 739 683 729 \n3 805 844 785 \n3 785 729 805 \n3 873 910 844 \n3 844 805 873 \n3 968 995 910 \n3 910 873 968 \n3 1055 1085 995 \n3 995 968 1055 \n3 1169 1183 1085 \n3 1085 1055 1169 \n3 1359 1383 1183 \n3 1183 1169 1359 \n3 1670 1584 1383 \n3 1383 1359 1670 \n3 588 646 629 \n3 629 578 588 \n3 638 683 646 \n3 646 588 638 \n3 697 729 683 \n3 683 638 697 \n3 770 805 729 \n3 729 697 770 \n3 852 873 805 \n3 805 770 852 \n3 942 968 873 \n3 873 852 942 \n3 1033 1055 968 \n3 968 942 1033 \n3 1153 1169 1055 \n3 1055 1033 1153 \n3 1339 1359 1169 \n3 1169 1153 1339 \n3 1586 1670 1359 \n3 1359 1339 1586 \n3 573 588 578 \n3 578 559 573 \n3 607 638 588 \n3 588 573 607 \n3 676 697 638 \n3 638 607 676 \n3 750 770 697 \n3 697 676 750 \n3 838 852 770 \n3 770 750 838 \n3 930 942 852 \n3 852 838 930 \n3 1022 1033 942 \n3 942 930 1022 \n3 1145 1153 1033 \n3 1033 1022 1145 \n3 1333 1339 1153 \n3 1153 1145 1333 \n3 1588 1586 1339 \n3 1339 1333 1588 \n3 566 573 559 \n3 559 550 566 \n3 595 607 573 \n3 573 566 595 \n3 671 676 607 \n3 607 595 671 \n3 746 750 676 \n3 676 671 746 \n3 833 838 750 \n3 750 746 833 \n3 929 930 838 \n3 838 833 929 \n3 1019 1022 930 \n3 930 929 1019 \n3 1143 1145 1022 \n3 1022 1019 1143 \n3 1327 1333 1145 \n3 1145 1143 1327 \n3 1677 1588 1333 \n3 1333 1327 1677 \n3 563 566 550 \n3 550 547 563 \n3 591 595 566 \n3 566 563 591 \n3 665 671 595 \n3 595 591 665 \n3 742 746 671 \n3 671 665 742 \n3 829 833 746 \n3 746 742 829 \n3 922 929 833 \n3 833 829 922 \n3 1012 1019 929 \n3 929 922 1012 \n3 1138 1143 1019 \n3 1019 1012 1138 \n3 1324 1327 1143 \n3 1143 1138 1324 \n3 1590 1677 1327 \n3 1327 1324 1590 \n3 1577 1663 1710 \n3 1577 1710 1756 \n3 1577 1756 1821 \n3 1577 1821 1890 \n3 1577 1890 1951 \n3 1577 1951 1993 \n3 1577 1993 2022 \n3 1577 2022 2036 \n3 1577 2036 2044 \n3 1577 2044 2050 \n3 1748 1710 1663 \n3 1663 1579 1748 \n3 1873 1756 1710 \n3 1710 1748 1873 \n3 2010 1821 1756 \n3 1756 1873 2010 \n3 2060 1890 1821 \n3 1821 2010 2060 \n3 2110 1951 1890 \n3 1890 2060 2110 \n3 2139 1993 1951 \n3 1951 2110 2139 \n3 2168 2022 1993 \n3 1993 2139 2168 \n3 2203 2036 2022 \n3 2022 2168 2203 \n3 2222 2044 2036 \n3 2036 2203 2222 \n3 2230 2050 2044 \n3 2044 2222 2230 \n3 1786 1748 1579 \n3 1579 1581 1786 \n3 1977 1873 1748 \n3 1748 1786 1977 \n3 2067 2010 1873 \n3 1873 1977 2067 \n3 2138 2060 2010 \n3 2010 2067 2138 \n3 2211 2110 2060 \n3 2060 2138 2211 \n3 2248 2139 2110 \n3 2110 2211 2248 \n3 2288 2168 2139 \n3 2139 2248 2288 \n3 2325 2203 2168 \n3 2168 2288 2325 \n3 2349 2222 2203 \n3 2203 2325 2349 \n3 2350 2230 2222 \n3 2222 2349 2350 \n3 1832 1786 1581 \n3 1581 1582 1832 \n3 2035 1977 1786 \n3 1786 1832 2035 \n3 2125 2067 1977 \n3 1977 2035 2125 \n3 2212 2138 2067 \n3 2067 2125 2212 \n3 2264 2211 2138 \n3 2138 2212 2264 \n3 2343 2248 2211 \n3 2211 2264 2343 \n3 2381 2288 2248 \n3 2248 2343 2381 \n3 2421 2325 2288 \n3 2288 2381 2421 \n3 2443 2349 2325 \n3 2325 2421 2443 \n3 2455 2350 2349 \n3 2349 2443 2455 \n3 1855 1832 1582 \n3 1582 1584 1855 \n3 2057 2035 1832 \n3 1832 1855 2057 \n3 2153 2125 2035 \n3 2035 2057 2153 \n3 2243 2212 2125 \n3 2125 2153 2243 \n3 2328 2264 2212 \n3 2212 2243 2328 \n3 2394 2343 2264 \n3 2264 2328 2394 \n3 2453 2381 2343 \n3 2343 2394 2453 \n3 2499 2421 2381 \n3 2381 2453 2499 \n3 2531 2443 2421 \n3 2421 2499 2531 \n3 2540 2455 2443 \n3 2443 2531 2540 \n3 1881 1855 1584 \n3 1584 1670 1881 \n3 2071 2057 1855 \n3 1855 1881 2071 \n3 2183 2153 2057 \n3 2057 2071 2183 \n3 2272 2243 2153 \n3 2153 2183 2272 \n3 2367 2328 2243 \n3 2243 2272 2367 \n3 2433 2394 2328 \n3 2328 2367 2433 \n3 2509 2453 2394 \n3 2394 2433 2509 \n3 2557 2499 2453 \n3 2453 2509 2557 \n3 2592 2531 2499 \n3 2499 2557 2592 \n3 2610 2540 2531 \n3 2531 2592 2610 \n3 1901 1881 1670 \n3 1670 1586 1901 \n3 2087 2071 1881 \n3 1881 1901 2087 \n3 2205 2183 2071 \n3 2071 2087 2205 \n3 2296 2272 2183 \n3 2183 2205 2296 \n3 2386 2367 2272 \n3 2272 2296 2386 \n3 2468 2433 2367 \n3 2367 2386 2468 \n3 2541 2509 2433 \n3 2433 2468 2541 \n3 2600 2557 2509 \n3 2509 2541 2600 \n3 2650 2592 2557 \n3 2557 2600 2650 \n3 2661 2610 2592 \n3 2592 2650 2661 \n3 1907 1901 1586 \n3 1586 1588 1907 \n3 2095 2087 1901 \n3 1901 1907 2095 \n3 2216 2205 2087 \n3 2087 2095 2216 \n3 2308 2296 2205 \n3 2205 2216 2308 \n3 2400 2386 2296 \n3 2296 2308 2400 \n3 2488 2468 2386 \n3 2386 2400 2488 \n3 2562 2541 2468 \n3 2468 2488 2562 \n3 2631 2600 2541 \n3 2541 2562 2631 \n3 2665 2650 2600 \n3 2600 2631 2665 \n3 2680 2661 2650 \n3 2650 2665 2680 \n3 1913 1907 1588 \n3 1588 1677 1913 \n3 2097 2095 1907 \n3 1907 1913 2097 \n3 2221 2216 2095 \n3 2095 2097 2221 \n3 2311 2308 2216 \n3 2216 2221 2311 \n3 2407 2400 2308 \n3 2308 2311 2407 \n3 2494 2488 2400 \n3 2400 2407 2494 \n3 2569 2562 2488 \n3 2488 2494 2569 \n3 2645 2631 2562 \n3 2562 2569 2645 \n3 2674 2665 2631 \n3 2631 2645 2674 \n3 2689 2680 2665 \n3 2665 2674 2689 \n3 1917 1913 1677 \n3 1677 1590 1917 \n3 2100 2097 1913 \n3 1913 1917 2100 \n3 2226 2221 2097 \n3 2097 2100 2226 \n3 2315 2311 2221 \n3 2221 2226 2315 \n3 2408 2407 2311 \n3 2311 2315 2408 \n3 2495 2494 2407 \n3 2407 2408 2495 \n3 2575 2569 2494 \n3 2494 2495 2575 \n3 2646 2645 2569 \n3 2569 2575 2646 \n3 2676 2674 2645 \n3 2645 2646 2676 \n3 2690 2689 2674 \n3 2674 2676 2690 \n"
  },
  {
    "path": "data/torus.obj",
    "content": "####\n#\n# OBJ File Generated by Meshlab\n#\n####\n# Object torus.obj\n#\n# Vertices: 400\n# Faces: 800\n#\n####\nmtllib ./torus.obj.mtl\n\nvn -5.568364 0.000007 1.809264\nv 1.913290 0.000000 -0.621666 0.752941 0.752941 0.752941\nvn -4.736732 0.000002 3.441438\nv 1.627542 0.000000 -1.182478 0.752941 0.752941 0.752941\nvn -3.441437 0.000003 4.736733\nv 1.182478 0.000000 -1.627542 0.752941 0.752941 0.752941\nvn -1.809271 0.000006 5.568362\nv 0.621666 0.000000 -1.913290 0.752941 0.752941 0.752941\nvn 0.000002 0.000004 5.854924\nv 0.000000 0.000000 -2.011752 0.752941 0.752941 0.752941\nvn 1.809271 0.000004 5.568365\nv -0.621666 0.000000 -1.913290 0.752941 0.752941 0.752941\nvn 3.441439 0.000004 4.736732\nv -1.182478 0.000000 -1.627542 0.752941 0.752941 0.752941\nvn 4.736733 0.000007 3.441437\nv -1.627541 0.000000 -1.182478 0.752941 0.752941 0.752941\nvn 5.568364 0.000008 1.809270\nv -1.913290 0.000000 -0.621665 0.752941 0.752941 0.752941\nvn 5.854925 0.000006 0.000001\nv -2.011752 0.000000 0.000000 0.752941 0.752941 0.752941\nvn 5.568363 0.000004 -1.809273\nv -1.913290 0.000000 0.621665 0.752941 0.752941 0.752941\nvn 4.736732 0.000005 -3.441440\nv -1.627541 0.000000 1.182478 0.752941 0.752941 0.752941\nvn 3.441436 0.000005 -4.736734\nv -1.182478 0.000000 1.627541 0.752941 0.752941 0.752941\nvn 1.809271 0.000007 -5.568363\nv -0.621665 0.000000 1.913289 0.752941 0.752941 0.752941\nvn -0.000002 0.000004 -5.854923\nv -0.000000 0.000000 2.011751 0.752941 0.752941 0.752941\nvn -1.809268 0.000007 -5.568364\nv 0.621665 0.000000 1.913289 0.752941 0.752941 0.752941\nvn -3.441437 0.000007 -4.736734\nv 1.182478 0.000000 1.627541 0.752941 0.752941 0.752941\nvn -4.736734 0.000005 -3.441436\nv 1.627541 0.000000 1.182478 0.752941 0.752941 0.752941\nvn -5.568364 0.000006 -1.809270\nv 1.913289 0.000000 0.621665 0.752941 0.752941 0.752941\nvn -5.854924 0.000004 -0.000004\nv 2.011751 0.000000 0.000000 0.752941 0.752941 0.752941\nvn -5.296853 1.812275 1.736627\nv 1.969148 0.370820 -0.639815 0.752941 0.752941 0.752941\nvn -4.500957 1.812273 3.288454\nv 1.675057 0.370820 -1.217000 0.752941 0.752941 0.752941\nvn -3.264478 1.812276 4.518375\nv 1.217000 0.370820 -1.675057 0.752941 0.752941 0.752941\nvn -1.708445 1.812274 5.306011\nv 0.639815 0.370820 -1.969148 0.752941 0.752941 0.752941\nvn 0.014820 1.812273 5.574255\nv 0.000000 0.370820 -2.070484 0.752941 0.752941 0.752941\nvn 1.736631 1.812274 5.296852\nv -0.639815 0.370820 -1.969147 0.752941 0.752941 0.752941\nvn 3.288451 1.812277 4.500956\nv -1.217000 0.370820 -1.675057 0.752941 0.752941 0.752941\nvn 4.518377 1.812276 3.264476\nv -1.675057 0.370820 -1.217000 0.752941 0.752941 0.752941\nvn 5.306010 1.812274 1.708446\nv -1.969147 0.370820 -0.639815 0.752941 0.752941 0.752941\nvn 5.574255 1.812272 -0.014819\nv -2.070484 0.370820 0.000000 0.752941 0.752941 0.752941\nvn 5.296851 1.812273 -1.736633\nv -1.969147 0.370820 0.639815 0.752941 0.752941 0.752941\nvn 4.500955 1.812277 -3.288454\nv -1.675056 0.370820 1.217000 0.752941 0.752941 0.752941\nvn 3.264477 1.812275 -4.518377\nv -1.217000 0.370820 1.675056 0.752941 0.752941 0.752941\nvn 1.708447 1.812275 -5.306011\nv -0.639815 0.370820 1.969147 0.752941 0.752941 0.752941\nvn -0.014818 1.812276 -5.574255\nv -0.000000 0.370820 2.070483 0.752941 0.752941 0.752941\nvn -1.736630 1.812277 -5.296853\nv 0.639814 0.370820 1.969147 0.752941 0.752941 0.752941\nvn -3.288454 1.812272 -4.500957\nv 1.217000 0.370820 1.675056 0.752941 0.752941 0.752941\nvn -4.518377 1.812272 -3.264477\nv 1.675056 0.370820 1.217000 0.752941 0.752941 0.752941\nvn -5.306010 1.812275 -1.708446\nv 1.969147 0.370820 0.639814 0.752941 0.752941 0.752941\nvn -5.574255 1.812276 0.014812\nv 2.070483 0.370820 0.000000 0.752941 0.752941 0.752941\nvn -4.513423 3.456749 1.496398\nv 2.131253 0.705342 -0.692486 0.752941 0.752941 0.752941\nvn -3.830105 3.456753 2.817885\nv 1.812952 0.705342 -1.317187 0.752941 0.752941 0.752941\nvn -2.771872 3.456753 3.863536\nv 1.317187 0.705342 -1.812952 0.752941 0.752941 0.752941\nvn -1.442307 3.456751 4.530998\nv 0.692486 0.705342 -2.131253 0.752941 0.752941 0.752941\nvn 0.028439 3.456754 4.754932\nv 0.000000 0.705342 -2.240932 0.752941 0.752941 0.752941\nvn 1.496400 3.456754 4.513421\nv -0.692486 0.705342 -2.131253 0.752941 0.752941 0.752941\nvn 2.817888 3.456750 3.830106\nv -1.317187 0.705342 -1.812952 0.752941 0.752941 0.752941\nvn 3.863539 3.456751 2.771872\nv -1.812952 0.705342 -1.317186 0.752941 0.752941 0.752941\nvn 4.530999 3.456751 1.442308\nv -2.131253 0.705342 -0.692486 0.752941 0.752941 0.752941\nvn 4.754933 3.456751 -0.028438\nv -2.240931 0.705342 0.000000 0.752941 0.752941 0.752941\nvn 4.513421 3.456754 -1.496401\nv -2.131253 0.705342 0.692486 0.752941 0.752941 0.752941\nvn 3.830106 3.456750 -2.817889\nv -1.812952 0.705342 1.317186 0.752941 0.752941 0.752941\nvn 2.771873 3.456749 -3.863538\nv -1.317186 0.705342 1.812951 0.752941 0.752941 0.752941\nvn 1.442308 3.456752 -4.530997\nv -0.692486 0.705342 2.131252 0.752941 0.752941 0.752941\nvn -0.028438 3.456752 -4.754933\nv -0.000000 0.705342 2.240931 0.752941 0.752941 0.752941\nvn -1.496402 3.456750 -4.513422\nv 0.692486 0.705342 2.131252 0.752941 0.752941 0.752941\nvn -2.817888 3.456750 -3.830106\nv 1.317186 0.705342 1.812951 0.752941 0.752941 0.752941\nvn -3.863538 3.456749 -2.771874\nv 1.812951 0.705342 1.317186 0.752941 0.752941 0.752941\nvn -4.530997 3.456752 -1.442310\nv 2.131252 0.705342 0.692486 0.752941 0.752941 0.752941\nvn -4.754934 3.456752 0.028434\nv 2.240931 0.705342 0.000000 0.752941 0.752941 0.752941\nvn -3.284708 4.774278 1.108877\nv 2.383738 0.970820 -0.774523 0.752941 0.752941 0.752941\nvn -2.781279 4.774278 2.069639\nv 2.027729 0.970820 -1.473231 0.752941 0.752941 0.752941\nvn -2.005599 4.774277 2.827808\nv 1.473231 0.970820 -2.027729 0.752941 0.752941 0.752941\nvn -1.033597 4.774275 3.309172\nv 0.774523 0.970820 -2.383738 0.752941 0.752941 0.752941\nvn 0.039579 4.774275 3.466609\nv 0.000000 0.970820 -2.506410 0.752941 0.752941 0.752941\nvn 1.108882 4.774275 3.284710\nv -0.774523 0.970820 -2.383738 0.752941 0.752941 0.752941\nvn 2.069643 4.774275 2.781281\nv -1.473231 0.970820 -2.027728 0.752941 0.752941 0.752941\nvn 2.827809 4.774275 2.005601\nv -2.027728 0.970820 -1.473231 0.752941 0.752941 0.752941\nvn 3.309171 4.774275 1.033598\nv -2.383737 0.970820 -0.774523 0.752941 0.752941 0.752941\nvn 3.466606 4.774277 -0.039578\nv -2.506410 0.970820 0.000000 0.752941 0.752941 0.752941\nvn 3.284710 4.774274 -1.108884\nv -2.383737 0.970820 0.774523 0.752941 0.752941 0.752941\nvn 2.781279 4.774276 -2.069641\nv -2.027728 0.970820 1.473230 0.752941 0.752941 0.752941\nvn 2.005599 4.774279 -2.827806\nv -1.473230 0.970820 2.027728 0.752941 0.752941 0.752941\nvn 1.033598 4.774276 -3.309171\nv -0.774523 0.970820 2.383737 0.752941 0.752941 0.752941\nvn -0.039579 4.774275 -3.466609\nv -0.000000 0.970820 2.506409 0.752941 0.752941 0.752941\nvn -1.108882 4.774276 -3.284709\nv 0.774523 0.970820 2.383737 0.752941 0.752941 0.752941\nvn -2.069642 4.774276 -2.781280\nv 1.473230 0.970820 2.027728 0.752941 0.752941 0.752941\nvn -2.827806 4.774276 -2.005601\nv 2.027727 0.970820 1.473230 0.752941 0.752941 0.752941\nvn -3.309169 4.774276 -1.033599\nv 2.383737 0.970820 0.774523 0.752941 0.752941 0.752941\nvn -3.466609 4.774275 0.039576\nv 2.506409 0.970820 0.000000 0.752941 0.752941 0.752941\nvn -1.723666 5.628291 0.609418\nv 2.701888 1.141268 -0.877896 0.752941 0.752941 0.752941\nvn -1.450983 5.628290 1.112236\nv 2.298363 1.141268 -1.669858 0.752941 0.752941 0.752941\nvn -1.036267 5.628290 1.506178\nv 1.669858 1.141268 -2.298363 0.752941 0.752941 0.752941\nvn -0.520114 5.628290 1.752684\nv 0.877896 1.141268 -2.701887 0.752941 0.752941 0.752941\nvn 0.046951 5.628290 1.827626\nv 0.000000 1.141268 -2.840932 0.752941 0.752941 0.752941\nvn 0.609421 5.628290 1.723667\nv -0.877896 1.141268 -2.701887 0.752941 0.752941 0.752941\nvn 1.112236 5.628290 1.450983\nv -1.669858 1.141268 -2.298362 0.752941 0.752941 0.752941\nvn 1.506177 5.628291 1.036267\nv -2.298362 1.141268 -1.669858 0.752941 0.752941 0.752941\nvn 1.752683 5.628291 0.520114\nv -2.701887 1.141268 -0.877896 0.752941 0.752941 0.752941\nvn 1.827626 5.628291 -0.046951\nv -2.840932 1.141268 0.000000 0.752941 0.752941 0.752941\nvn 1.723666 5.628291 -0.609420\nv -2.701887 1.141268 0.877896 0.752941 0.752941 0.752941\nvn 1.450982 5.628291 -1.112235\nv -2.298362 1.141268 1.669858 0.752941 0.752941 0.752941\nvn 1.036267 5.628291 -1.506178\nv -1.669858 1.141268 2.298362 0.752941 0.752941 0.752941\nvn 0.520114 5.628290 -1.752685\nv -0.877896 1.141268 2.701886 0.752941 0.752941 0.752941\nvn -0.046951 5.628290 -1.827626\nv -0.000000 1.141268 2.840931 0.752941 0.752941 0.752941\nvn -0.609421 5.628290 -1.723668\nv 0.877896 1.141268 2.701886 0.752941 0.752941 0.752941\nvn -1.112235 5.628291 -1.450983\nv 1.669857 1.141268 2.298362 0.752941 0.752941 0.752941\nvn -1.506176 5.628292 -1.036267\nv 2.298362 1.141268 1.669858 0.752941 0.752941 0.752941\nvn -1.752686 5.628290 -0.520114\nv 2.701886 1.141268 0.877896 0.752941 0.752941 0.752941\nvn -1.827626 5.628291 0.046949\nv 2.840931 1.141268 0.000000 0.752941 0.752941 0.752941\nvn 0.015308 5.924312 0.047114\nv 3.054559 1.200000 -0.992486 0.752941 0.752941 0.752941\nvn 0.029118 5.924312 0.040077\nv 2.598363 1.200000 -1.887821 0.752941 0.752941 0.752941\nvn 0.040077 5.924313 0.029118\nv 1.887821 1.200000 -2.598363 0.752941 0.752941 0.752941\nvn 0.047114 5.924312 0.015307\nv 0.992486 1.200000 -3.054559 0.752941 0.752941 0.752941\nvn 0.049538 5.924312 -0.000001\nv 0.000000 1.200000 -3.211753 0.752941 0.752941 0.752941\nvn 0.047114 5.924312 -0.015308\nv -0.992486 1.200000 -3.054558 0.752941 0.752941 0.752941\nvn 0.040078 5.924313 -0.029117\nv -1.887821 1.200000 -2.598362 0.752941 0.752941 0.752941\nvn 0.029118 5.924313 -0.040077\nv -2.598362 1.200000 -1.887821 0.752941 0.752941 0.752941\nvn 0.015308 5.924312 -0.047114\nv -3.054558 1.200000 -0.992486 0.752941 0.752941 0.752941\nvn 0.000001 5.924312 -0.049538\nv -3.211752 1.200000 0.000000 0.752941 0.752941 0.752941\nvn -0.015308 5.924313 -0.047114\nv -3.054558 1.200000 0.992486 0.752941 0.752941 0.752941\nvn -0.029117 5.924312 -0.040078\nv -2.598362 1.200000 1.887820 0.752941 0.752941 0.752941\nvn -0.040077 5.924312 -0.029118\nv -1.887820 1.200000 2.598362 0.752941 0.752941 0.752941\nvn -0.047114 5.924312 -0.015308\nv -0.992486 1.200000 3.054557 0.752941 0.752941 0.752941\nvn -0.049538 5.924313 0.000001\nv -0.000000 1.200000 3.211752 0.752941 0.752941 0.752941\nvn -0.047114 5.924312 0.015308\nv 0.992486 1.200000 3.054557 0.752941 0.752941 0.752941\nvn -0.040078 5.924312 0.029117\nv 1.887820 1.200000 2.598361 0.752941 0.752941 0.752941\nvn -0.029119 5.924312 0.040076\nv 2.598361 1.200000 1.887820 0.752941 0.752941 0.752941\nvn -0.015308 5.924312 0.047114\nv 3.054557 1.200000 0.992486 0.752941 0.752941 0.752941\nvn -0.000001 5.924312 0.049538\nv 3.211751 1.200000 0.000000 0.752941 0.752941 0.752941\nvn 1.752677 5.628294 -0.520111\nv 3.407230 1.141268 -1.107076 0.752941 0.752941 0.752941\nvn 1.506170 5.628295 -1.036262\nv 2.898363 1.141268 -2.105784 0.752941 0.752941 0.752941\nvn 1.112231 5.628294 -1.450978\nv 2.105784 1.141268 -2.898363 0.752941 0.752941 0.752941\nvn 0.609418 5.628294 -1.723662\nv 1.107076 1.141268 -3.407230 0.752941 0.752941 0.752941\nvn 0.046951 5.628295 -1.827618\nv 0.000000 1.141268 -3.582573 0.752941 0.752941 0.752941\nvn -0.520112 5.628294 -1.752676\nv -1.107076 1.141268 -3.407230 0.752941 0.752941 0.752941\nvn -1.036264 5.628294 -1.506171\nv -2.105784 1.141268 -2.898363 0.752941 0.752941 0.752941\nvn -1.450978 5.628294 -1.112230\nv -2.898362 1.141268 -2.105783 0.752941 0.752941 0.752941\nvn -1.723659 5.628295 -0.609418\nv -3.407229 1.141268 -1.107076 0.752941 0.752941 0.752941\nvn -1.827618 5.628294 -0.046950\nv -3.582573 1.141268 0.000000 0.752941 0.752941 0.752941\nvn -1.752676 5.628294 0.520113\nv -3.407229 1.141268 1.107076 0.752941 0.752941 0.752941\nvn -1.506171 5.628294 1.036264\nv -2.898362 1.141268 2.105783 0.752941 0.752941 0.752941\nvn -1.112231 5.628294 1.450978\nv -2.105783 1.141268 2.898362 0.752941 0.752941 0.752941\nvn -0.609418 5.628294 1.723661\nv -1.107076 1.141268 3.407229 0.752941 0.752941 0.752941\nvn -0.046950 5.628294 1.827620\nv -0.000000 1.141268 3.582572 0.752941 0.752941 0.752941\nvn 0.520112 5.628295 1.752676\nv 1.107075 1.141268 3.407228 0.752941 0.752941 0.752941\nvn 1.036263 5.628294 1.506170\nv 2.105783 1.141268 2.898362 0.752941 0.752941 0.752941\nvn 1.450979 5.628294 1.112231\nv 2.898361 1.141268 2.105783 0.752941 0.752941 0.752941\nvn 1.723659 5.628294 0.609418\nv 3.407228 1.141268 1.107076 0.752941 0.752941 0.752941\nvn 1.827618 5.628294 0.046952\nv 3.582572 1.141268 0.000000 0.752941 0.752941 0.752941\nvn 3.309166 4.774277 -1.033592\nv 3.725380 0.970821 -1.210449 0.752941 0.752941 0.752941\nvn 2.827804 4.774278 -2.005597\nv 3.168998 0.970821 -2.302411 0.752941 0.752941 0.752941\nvn 2.069637 4.774277 -2.781277\nv 2.302411 0.970821 -3.168997 0.752941 0.752941 0.752941\nvn 1.108881 4.774277 -3.284705\nv 1.210449 0.970821 -3.725379 0.752941 0.752941 0.752941\nvn 0.039580 4.774275 -3.466603\nv 0.000000 0.970821 -3.917096 0.752941 0.752941 0.752941\nvn -1.033598 4.774274 -3.309168\nv -1.210449 0.970821 -3.725379 0.752941 0.752941 0.752941\nvn -2.005599 4.774275 -2.827806\nv -2.302411 0.970821 -3.168997 0.752941 0.752941 0.752941\nvn -2.781276 4.774277 -2.069638\nv -3.168996 0.970821 -2.302411 0.752941 0.752941 0.752941\nvn -3.284706 4.774274 -1.108882\nv -3.725379 0.970821 -1.210449 0.752941 0.752941 0.752941\nvn -3.466606 4.774273 -0.039580\nv -3.917095 0.970821 0.000000 0.752941 0.752941 0.752941\nvn -3.309169 4.774273 1.033599\nv -3.725379 0.970821 1.210449 0.752941 0.752941 0.752941\nvn -2.827805 4.774277 2.005598\nv -3.168996 0.970821 2.302410 0.752941 0.752941 0.752941\nvn -2.069638 4.774277 2.781277\nv -2.302410 0.970821 3.168996 0.752941 0.752941 0.752941\nvn -1.108882 4.774275 3.284707\nv -1.210449 0.970821 3.725378 0.752941 0.752941 0.752941\nvn -0.039579 4.774275 3.466605\nv -0.000000 0.970821 3.917094 0.752941 0.752941 0.752941\nvn 1.033596 4.774276 3.309166\nv 1.210449 0.970821 3.725378 0.752941 0.752941 0.752941\nvn 2.005601 4.774273 2.827807\nv 2.302410 0.970821 3.168996 0.752941 0.752941 0.752941\nvn 2.781277 4.774276 2.069640\nv 3.168995 0.970821 2.302410 0.752941 0.752941 0.752941\nvn 3.284707 4.774274 1.108883\nv 3.725378 0.970821 1.210449 0.752941 0.752941 0.752941\nvn 3.466607 4.774273 0.039582\nv 3.917094 0.970821 0.000000 0.752941 0.752941 0.752941\nvn 4.531003 3.456745 -1.442305\nv 3.977865 0.705342 -1.292487 0.752941 0.752941 0.752941\nvn 3.863540 3.456745 -2.771875\nv 3.383774 0.705342 -2.458456 0.752941 0.752941 0.752941\nvn 2.817887 3.456746 -3.830110\nv 2.458456 0.705342 -3.383774 0.752941 0.752941 0.752941\nvn 1.496401 3.456745 -4.513428\nv 1.292486 0.705342 -3.977864 0.752941 0.752941 0.752941\nvn 0.028438 3.456744 -4.754938\nv 0.000000 0.705342 -4.182574 0.752941 0.752941 0.752941\nvn -1.442310 3.456745 -4.531003\nv -1.292486 0.705342 -3.977864 0.752941 0.752941 0.752941\nvn -2.771877 3.456744 -3.863541\nv -2.458455 0.705342 -3.383773 0.752941 0.752941 0.752941\nvn -3.830111 3.456743 -2.817889\nv -3.383773 0.705342 -2.458455 0.752941 0.752941 0.752941\nvn -4.513431 3.456742 -1.496402\nv -3.977863 0.705342 -1.292486 0.752941 0.752941 0.752941\nvn -4.754940 3.456743 -0.028438\nv -4.182573 0.705342 0.000000 0.752941 0.752941 0.752941\nvn -4.531004 3.456744 1.442311\nv -3.977863 0.705342 1.292486 0.752941 0.752941 0.752941\nvn -3.863540 3.456744 2.771875\nv -3.383773 0.705342 2.458455 0.752941 0.752941 0.752941\nvn -2.817889 3.456743 3.830111\nv -2.458455 0.705342 3.383772 0.752941 0.752941 0.752941\nvn -1.496402 3.456744 4.513428\nv -1.292486 0.705342 3.977863 0.752941 0.752941 0.752941\nvn -0.028438 3.456748 4.754937\nv -0.000000 0.705342 4.182572 0.752941 0.752941 0.752941\nvn 1.442312 3.456742 4.531004\nv 1.292486 0.705342 3.977863 0.752941 0.752941 0.752941\nvn 2.771878 3.456742 3.863542\nv 2.458454 0.705342 3.383772 0.752941 0.752941 0.752941\nvn 3.830109 3.456748 2.817889\nv 3.383772 0.705342 2.458454 0.752941 0.752941 0.752941\nvn 4.513430 3.456743 1.496403\nv 3.977862 0.705342 1.292486 0.752941 0.752941 0.752941\nvn 4.754939 3.456745 0.028443\nv 4.182572 0.705342 0.000000 0.752941 0.752941 0.752941\nvn 5.306012 1.812276 -1.708442\nv 4.139970 0.370820 -1.345158 0.752941 0.752941 0.752941\nvn 4.518378 1.812276 -3.264477\nv 3.521669 0.370820 -2.558642 0.752941 0.752941 0.752941\nvn 3.288451 1.812273 -4.500959\nv 2.558642 0.370820 -3.521669 0.752941 0.752941 0.752941\nvn 1.736631 1.812275 -5.296853\nv 1.345158 0.370820 -4.139969 0.752941 0.752941 0.752941\nvn 0.014818 1.812278 -5.574255\nv 0.000000 0.370820 -4.353021 0.752941 0.752941 0.752941\nvn -1.708448 1.812277 -5.306010\nv -1.345158 0.370820 -4.139969 0.752941 0.752941 0.752941\nvn -3.264478 1.812278 -4.518377\nv -2.558641 0.370820 -3.521668 0.752941 0.752941 0.752941\nvn -4.500960 1.812274 -3.288451\nv -3.521668 0.370820 -2.558641 0.752941 0.752941 0.752941\nvn -5.296852 1.812280 -1.736632\nv -4.139968 0.370820 -1.345157 0.752941 0.752941 0.752941\nvn -5.574255 1.812280 -0.014817\nv -4.353020 0.370820 0.000000 0.752941 0.752941 0.752941\nvn -5.306011 1.812280 1.708447\nv -4.139968 0.370820 1.345157 0.752941 0.752941 0.752941\nvn -4.518378 1.812276 3.264479\nv -3.521667 0.370820 2.558641 0.752941 0.752941 0.752941\nvn -3.288453 1.812277 4.500957\nv -2.558641 0.370820 3.521667 0.752941 0.752941 0.752941\nvn -1.736632 1.812279 5.296852\nv -1.345157 0.370820 4.139968 0.752941 0.752941 0.752941\nvn -0.014817 1.812275 5.574255\nv -0.000000 0.370820 4.353020 0.752941 0.752941 0.752941\nvn 1.708449 1.812275 5.306012\nv 1.345157 0.370820 4.139967 0.752941 0.752941 0.752941\nvn 3.264476 1.812279 4.518376\nv 2.558640 0.370820 3.521667 0.752941 0.752941 0.752941\nvn 4.500957 1.812275 3.288452\nv 3.521667 0.370820 2.558641 0.752941 0.752941 0.752941\nvn 5.296853 1.812279 1.736632\nv 4.139967 0.370820 1.345157 0.752941 0.752941 0.752941\nvn 5.574255 1.812280 0.014823\nv 4.353019 0.370820 0.000000 0.752941 0.752941 0.752941\nvn 5.568362 -0.000000 -1.809265\nv 4.195828 0.000000 -1.363307 0.752941 0.752941 0.752941\nvn 4.736731 -0.000001 -3.441437\nv 3.569185 0.000000 -2.593164 0.752941 0.752941 0.752941\nvn 3.441436 -0.000001 -4.736733\nv 2.593164 0.000000 -3.569184 0.752941 0.752941 0.752941\nvn 1.809270 0.000002 -5.568362\nv 1.363307 0.000000 -4.195827 0.752941 0.752941 0.752941\nvn 0.000000 -0.000000 -5.854921\nv 0.000000 0.000000 -4.411754 0.752941 0.752941 0.752941\nvn -1.809271 0.000001 -5.568361\nv -1.363307 0.000000 -4.195827 0.752941 0.752941 0.752941\nvn -3.441437 -0.000001 -4.736729\nv -2.593164 0.000000 -3.569184 0.752941 0.752941 0.752941\nvn -4.736732 0.000001 -3.441436\nv -3.569183 0.000000 -2.593163 0.752941 0.752941 0.752941\nvn -5.568360 0.000002 -1.809270\nv -4.195827 0.000000 -1.363307 0.752941 0.752941 0.752941\nvn -5.854920 -0.000000 0.000000\nv -4.411753 0.000000 0.000000 0.752941 0.752941 0.752941\nvn -5.568359 0.000000 1.809271\nv -4.195827 0.000000 1.363307 0.752941 0.752941 0.752941\nvn -4.736730 -0.000002 3.441437\nv -3.569183 0.000000 2.593163 0.752941 0.752941 0.752941\nvn -3.441436 0.000000 4.736731\nv -2.593163 0.000000 3.569183 0.752941 0.752941 0.752941\nvn -1.809270 -0.000002 5.568361\nv -1.363307 0.000000 4.195826 0.752941 0.752941 0.752941\nvn 0.000001 0.000002 5.854922\nv -0.000000 0.000000 4.411752 0.752941 0.752941 0.752941\nvn 1.809271 0.000001 5.568360\nv 1.363306 0.000000 4.195826 0.752941 0.752941 0.752941\nvn 3.441437 -0.000004 4.736732\nv 2.593163 0.000000 3.569182 0.752941 0.752941 0.752941\nvn 4.736732 0.000002 3.441438\nv 3.569182 0.000000 2.593163 0.752941 0.752941 0.752941\nvn 5.568360 0.000003 1.809270\nv 4.195826 0.000000 1.363306 0.752941 0.752941 0.752941\nvn 5.854922 -0.000003 0.000005\nv 4.411752 0.000000 0.000000 0.752941 0.752941 0.752941\nvn 5.296856 -1.812273 -1.736627\nv 4.139970 -0.370820 -1.345158 0.752941 0.752941 0.752941\nvn 4.500959 -1.812271 -3.288454\nv 3.521669 -0.370820 -2.558642 0.752941 0.752941 0.752941\nvn 3.264477 -1.812268 -4.518380\nv 2.558642 -0.370820 -3.521669 0.752941 0.752941 0.752941\nvn 1.708446 -1.812274 -5.306013\nv 1.345158 -0.370820 -4.139969 0.752941 0.752941 0.752941\nvn -0.014818 -1.812275 -5.574256\nv 0.000000 -0.370820 -4.353021 0.752941 0.752941 0.752941\nvn -1.736633 -1.812275 -5.296854\nv -1.345158 -0.370820 -4.139969 0.752941 0.752941 0.752941\nvn -3.288455 -1.812275 -4.500958\nv -2.558641 -0.370820 -3.521668 0.752941 0.752941 0.752941\nvn -4.518379 -1.812271 -3.264478\nv -3.521668 -0.370820 -2.558641 0.752941 0.752941 0.752941\nvn -5.306013 -1.812279 -1.708446\nv -4.139968 -0.370820 -1.345157 0.752941 0.752941 0.752941\nvn -5.574256 -1.812277 0.014817\nv -4.353020 -0.370820 0.000000 0.752941 0.752941 0.752941\nvn -5.296854 -1.812279 1.736633\nv -4.139968 -0.370820 1.345157 0.752941 0.752941 0.752941\nvn -4.500961 -1.812270 3.288454\nv -3.521667 -0.370820 2.558641 0.752941 0.752941 0.752941\nvn -3.264479 -1.812273 4.518379\nv -2.558641 -0.370820 3.521667 0.752941 0.752941 0.752941\nvn -1.708448 -1.812272 5.306013\nv -1.345157 -0.370820 4.139968 0.752941 0.752941 0.752941\nvn 0.014819 -1.812276 5.574255\nv -0.000000 -0.370820 4.353020 0.752941 0.752941 0.752941\nvn 1.736634 -1.812274 5.296855\nv 1.345157 -0.370820 4.139967 0.752941 0.752941 0.752941\nvn 3.288454 -1.812269 4.500960\nv 2.558640 -0.370820 3.521667 0.752941 0.752941 0.752941\nvn 4.518377 -1.812274 3.264477\nv 3.521667 -0.370820 2.558641 0.752941 0.752941 0.752941\nvn 5.306011 -1.812280 1.708446\nv 4.139967 -0.370820 1.345157 0.752941 0.752941 0.752941\nvn 5.574257 -1.812275 -0.014812\nv 4.353019 -0.370820 0.000000 0.752941 0.752941 0.752941\nvn 4.513425 -3.456745 -1.496397\nv 3.977865 -0.705343 -1.292487 0.752941 0.752941 0.752941\nvn 3.830108 -3.456745 -2.817888\nv 3.383774 -0.705343 -2.458456 0.752941 0.752941 0.752941\nvn 2.771870 -3.456748 -3.863539\nv 2.458456 -0.705343 -3.383774 0.752941 0.752941 0.752941\nvn 1.442307 -3.456748 -4.531000\nv 1.292486 -0.705343 -3.977864 0.752941 0.752941 0.752941\nvn -0.028438 -3.456746 -4.754936\nv 0.000000 -0.705343 -4.182574 0.752941 0.752941 0.752941\nvn -1.496403 -3.456746 -4.513425\nv -1.292486 -0.705343 -3.977864 0.752941 0.752941 0.752941\nvn -2.817889 -3.456743 -3.830110\nv -2.458455 -0.705343 -3.383773 0.752941 0.752941 0.752941\nvn -3.863540 -3.456745 -2.771873\nv -3.383773 -0.705343 -2.458455 0.752941 0.752941 0.752941\nvn -4.531002 -3.456744 -1.442310\nv -3.977863 -0.705343 -1.292486 0.752941 0.752941 0.752941\nvn -4.754937 -3.456744 0.028439\nv -4.182573 -0.705343 0.000000 0.752941 0.752941 0.752941\nvn -4.513429 -3.456740 1.496403\nv -3.977863 -0.705343 1.292486 0.752941 0.752941 0.752941\nvn -3.830108 -3.456743 2.817888\nv -3.383773 -0.705343 2.458455 0.752941 0.752941 0.752941\nvn -2.771873 -3.456747 3.863539\nv -2.458455 -0.705343 3.383772 0.752941 0.752941 0.752941\nvn -1.442309 -3.456748 4.531000\nv -1.292486 -0.705343 3.977863 0.752941 0.752941 0.752941\nvn 0.028439 -3.456747 4.754935\nv -0.000000 -0.705343 4.182572 0.752941 0.752941 0.752941\nvn 1.496402 -3.456741 4.513427\nv 1.292486 -0.705343 3.977863 0.752941 0.752941 0.752941\nvn 2.817889 -3.456746 3.830109\nv 2.458454 -0.705343 3.383772 0.752941 0.752941 0.752941\nvn 3.863539 -3.456749 2.771872\nv 3.383772 -0.705343 2.458454 0.752941 0.752941 0.752941\nvn 4.531002 -3.456744 1.442311\nv 3.977862 -0.705343 1.292486 0.752941 0.752941 0.752941\nvn 4.754939 -3.456744 -0.028433\nv 4.182572 -0.705343 0.000000 0.752941 0.752941 0.752941\nvn 3.284701 -4.774281 -1.108877\nv 3.725380 -0.970821 -1.210449 0.752941 0.752941 0.752941\nvn 2.781272 -4.774282 -2.069635\nv 3.168998 -0.970821 -2.302411 0.752941 0.752941 0.752941\nvn 2.005593 -4.774282 -2.827802\nv 2.302411 -0.970821 -3.168997 0.752941 0.752941 0.752941\nvn 1.033597 -4.774279 -3.309165\nv 1.210449 -0.970821 -3.725379 0.752941 0.752941 0.752941\nvn -0.039579 -4.774280 -3.466599\nv 0.000000 -0.970821 -3.917096 0.752941 0.752941 0.752941\nvn -1.108881 -4.774279 -3.284703\nv -1.210449 -0.970821 -3.725379 0.752941 0.752941 0.752941\nvn -2.069637 -4.774278 -2.781276\nv -2.302411 -0.970821 -3.168997 0.752941 0.752941 0.752941\nvn -2.827803 -4.774280 -2.005595\nv -3.168996 -0.970821 -2.302411 0.752941 0.752941 0.752941\nvn -3.309164 -4.774278 -1.033597\nv -3.725379 -0.970821 -1.210449 0.752941 0.752941 0.752941\nvn -3.466602 -4.774277 0.039579\nv -3.917095 -0.970821 0.000000 0.752941 0.752941 0.752941\nvn -3.284702 -4.774279 1.108880\nv -3.725379 -0.970821 1.210449 0.752941 0.752941 0.752941\nvn -2.781271 -4.774283 2.069636\nv -3.168996 -0.970821 2.302410 0.752941 0.752941 0.752941\nvn -2.005597 -4.774280 2.827803\nv -2.302410 -0.970821 3.168996 0.752941 0.752941 0.752941\nvn -1.033596 -4.774279 3.309165\nv -1.210449 -0.970821 3.725378 0.752941 0.752941 0.752941\nvn 0.039579 -4.774279 3.466602\nv -0.000000 -0.970821 3.917094 0.752941 0.752941 0.752941\nvn 1.108881 -4.774280 3.284701\nv 1.210449 -0.970821 3.725378 0.752941 0.752941 0.752941\nvn 2.069638 -4.774279 2.781275\nv 2.302410 -0.970821 3.168996 0.752941 0.752941 0.752941\nvn 2.827804 -4.774279 2.005597\nv 3.168995 -0.970821 2.302410 0.752941 0.752941 0.752941\nvn 3.309165 -4.774276 1.033598\nv 3.725378 -0.970821 1.210449 0.752941 0.752941 0.752941\nvn 3.466601 -4.774279 -0.039576\nv 3.917094 -0.970821 0.000000 0.752941 0.752941 0.752941\nvn 1.723666 -5.628294 -0.609418\nv 3.407230 -1.141268 -1.107076 0.752941 0.752941 0.752941\nvn 1.450983 -5.628294 -1.112235\nv 2.898363 -1.141268 -2.105784 0.752941 0.752941 0.752941\nvn 1.036268 -5.628292 -1.506178\nv 2.105784 -1.141268 -2.898363 0.752941 0.752941 0.752941\nvn 0.520115 -5.628293 -1.752684\nv 1.107076 -1.141268 -3.407230 0.752941 0.752941 0.752941\nvn -0.046951 -5.628294 -1.827626\nv 0.000000 -1.141268 -3.582573 0.752941 0.752941 0.752941\nvn -0.609420 -5.628292 -1.723668\nv -1.107076 -1.141268 -3.407230 0.752941 0.752941 0.752941\nvn -1.112235 -5.628294 -1.450982\nv -2.105784 -1.141268 -2.898363 0.752941 0.752941 0.752941\nvn -1.506176 -5.628294 -1.036267\nv -2.898362 -1.141268 -2.105783 0.752941 0.752941 0.752941\nvn -1.752684 -5.628293 -0.520115\nv -3.407229 -1.141268 -1.107076 0.752941 0.752941 0.752941\nvn -1.827626 -5.628293 0.046950\nv -3.582573 -1.141268 0.000000 0.752941 0.752941 0.752941\nvn -1.723666 -5.628293 0.609420\nv -3.407229 -1.141268 1.107076 0.752941 0.752941 0.752941\nvn -1.450984 -5.628293 1.112236\nv -2.898362 -1.141268 2.105783 0.752941 0.752941 0.752941\nvn -1.036269 -5.628293 1.506178\nv -2.105783 -1.141268 2.898362 0.752941 0.752941 0.752941\nvn -0.520115 -5.628292 1.752685\nv -1.107076 -1.141268 3.407229 0.752941 0.752941 0.752941\nvn 0.046950 -5.628293 1.827626\nv -0.000000 -1.141268 3.582572 0.752941 0.752941 0.752941\nvn 0.609419 -5.628294 1.723667\nv 1.107075 -1.141268 3.407228 0.752941 0.752941 0.752941\nvn 1.112236 -5.628293 1.450984\nv 2.105783 -1.141268 2.898362 0.752941 0.752941 0.752941\nvn 1.506177 -5.628293 1.036268\nv 2.898361 -1.141268 2.105783 0.752941 0.752941 0.752941\nvn 1.752684 -5.628293 0.520115\nv 3.407228 -1.141268 1.107076 0.752941 0.752941 0.752941\nvn 1.827626 -5.628293 -0.046948\nv 3.582572 -1.141268 0.000000 0.752941 0.752941 0.752941\nvn -0.015308 -5.924310 -0.047115\nv 3.054559 -1.200001 -0.992486 0.752941 0.752941 0.752941\nvn -0.029118 -5.924310 -0.040078\nv 2.598363 -1.200001 -1.887821 0.752941 0.752941 0.752941\nvn -0.040078 -5.924310 -0.029119\nv 1.887821 -1.200001 -2.598363 0.752941 0.752941 0.752941\nvn -0.047114 -5.924310 -0.015310\nv 0.992486 -1.200001 -3.054559 0.752941 0.752941 0.752941\nvn -0.049539 -5.924310 -0.000001\nv 0.000000 -1.200001 -3.211753 0.752941 0.752941 0.752941\nvn -0.047114 -5.924310 0.015309\nv -0.992486 -1.200001 -3.054558 0.752941 0.752941 0.752941\nvn -0.040078 -5.924310 0.029119\nv -1.887821 -1.200001 -2.598362 0.752941 0.752941 0.752941\nvn -0.029119 -5.924310 0.040078\nv -2.598362 -1.200001 -1.887821 0.752941 0.752941 0.752941\nvn -0.015309 -5.924310 0.047114\nv -3.054558 -1.200001 -0.992486 0.752941 0.752941 0.752941\nvn -0.000000 -5.924310 0.049539\nv -3.211752 -1.200001 0.000000 0.752941 0.752941 0.752941\nvn 0.015307 -5.924310 0.047115\nv -3.054558 -1.200001 0.992486 0.752941 0.752941 0.752941\nvn 0.029118 -5.924310 0.040078\nv -2.598362 -1.200001 1.887820 0.752941 0.752941 0.752941\nvn 0.040078 -5.924309 0.029117\nv -1.887820 -1.200001 2.598362 0.752941 0.752941 0.752941\nvn 0.047115 -5.924310 0.015308\nv -0.992486 -1.200001 3.054557 0.752941 0.752941 0.752941\nvn 0.049539 -5.924310 0.000001\nv -0.000000 -1.200001 3.211752 0.752941 0.752941 0.752941\nvn 0.047114 -5.924310 -0.015308\nv 0.992486 -1.200001 3.054557 0.752941 0.752941 0.752941\nvn 0.040078 -5.924310 -0.029119\nv 1.887820 -1.200001 2.598361 0.752941 0.752941 0.752941\nvn 0.029118 -5.924310 -0.040078\nv 2.598361 -1.200001 1.887820 0.752941 0.752941 0.752941\nvn 0.015308 -5.924310 -0.047114\nv 3.054557 -1.200001 0.992486 0.752941 0.752941 0.752941\nvn -0.000001 -5.924310 -0.049539\nv 3.211751 -1.200001 0.000000 0.752941 0.752941 0.752941\nvn -1.752685 -5.628293 0.520113\nv 2.701887 -1.141268 -0.877896 0.752941 0.752941 0.752941\nvn -1.506176 -5.628293 1.036268\nv 2.298363 -1.141268 -1.669858 0.752941 0.752941 0.752941\nvn -1.112234 -5.628293 1.450984\nv 1.669858 -1.141268 -2.298362 0.752941 0.752941 0.752941\nvn -0.609419 -5.628294 1.723666\nv 0.877896 -1.141268 -2.701887 0.752941 0.752941 0.752941\nvn -0.046950 -5.628293 1.827626\nv 0.000000 -1.141268 -2.840932 0.752941 0.752941 0.752941\nvn 0.520115 -5.628293 1.752684\nv -0.877896 -1.141268 -2.701887 0.752941 0.752941 0.752941\nvn 1.036268 -5.628294 1.506176\nv -1.669858 -1.141268 -2.298362 0.752941 0.752941 0.752941\nvn 1.450983 -5.628294 1.112234\nv -2.298362 -1.141268 -1.669858 0.752941 0.752941 0.752941\nvn 1.723668 -5.628293 0.609419\nv -2.701886 -1.141268 -0.877896 0.752941 0.752941 0.752941\nvn 1.827626 -5.628292 0.046950\nv -2.840931 -1.141268 0.000000 0.752941 0.752941 0.752941\nvn 1.752685 -5.628293 -0.520115\nv -2.701886 -1.141268 0.877896 0.752941 0.752941 0.752941\nvn 1.506178 -5.628293 -1.036268\nv -2.298362 -1.141268 1.669858 0.752941 0.752941 0.752941\nvn 1.112233 -5.628294 -1.450983\nv -1.669858 -1.141268 2.298362 0.752941 0.752941 0.752941\nvn 0.609418 -5.628294 -1.723665\nv -0.877896 -1.141268 2.701886 0.752941 0.752941 0.752941\nvn 0.046950 -5.628293 -1.827626\nv -0.000000 -1.141268 2.840931 0.752941 0.752941 0.752941\nvn -0.520116 -5.628294 -1.752683\nv 0.877896 -1.141268 2.701886 0.752941 0.752941 0.752941\nvn -1.036268 -5.628293 -1.506177\nv 1.669857 -1.141268 2.298361 0.752941 0.752941 0.752941\nvn -1.450984 -5.628293 -1.112236\nv 2.298361 -1.141268 1.669857 0.752941 0.752941 0.752941\nvn -1.723667 -5.628294 -0.609420\nv 2.701886 -1.141268 0.877896 0.752941 0.752941 0.752941\nvn -1.827624 -5.628294 -0.046951\nv 2.840931 -1.141268 0.000000 0.752941 0.752941 0.752941\nvn -3.309165 -4.774279 1.033591\nv 2.383738 -0.970821 -0.774523 0.752941 0.752941 0.752941\nvn -2.827801 -4.774281 2.005597\nv 2.027728 -0.970821 -1.473231 0.752941 0.752941 0.752941\nvn -2.069636 -4.774280 2.781274\nv 1.473231 -0.970821 -2.027728 0.752941 0.752941 0.752941\nvn -1.108880 -4.774280 3.284702\nv 0.774523 -0.970821 -2.383737 0.752941 0.752941 0.752941\nvn -0.039579 -4.774281 3.466598\nv 0.000000 -0.970821 -2.506410 0.752941 0.752941 0.752941\nvn 1.033597 -4.774281 3.309161\nv -0.774523 -0.970821 -2.383737 0.752941 0.752941 0.752941\nvn 2.005595 -4.774282 2.827801\nv -1.473230 -0.970821 -2.027728 0.752941 0.752941 0.752941\nvn 2.781274 -4.774281 2.069635\nv -2.027728 -0.970821 -1.473230 0.752941 0.752941 0.752941\nvn 3.284703 -4.774280 1.108880\nv -2.383737 -0.970821 -0.774523 0.752941 0.752941 0.752941\nvn 3.466602 -4.774278 0.039579\nv -2.506409 -0.970821 0.000000 0.752941 0.752941 0.752941\nvn 3.309165 -4.774279 -1.033596\nv -2.383737 -0.970821 0.774523 0.752941 0.752941 0.752941\nvn 2.827799 -4.774282 -2.005596\nv -2.027728 -0.970821 1.473230 0.752941 0.752941 0.752941\nvn 2.069634 -4.774280 -2.781274\nv -1.473230 -0.970821 2.027727 0.752941 0.752941 0.752941\nvn 1.108883 -4.774277 -3.284704\nv -0.774523 -0.970821 2.383736 0.752941 0.752941 0.752941\nvn 0.039579 -4.774280 -3.466599\nv -0.000000 -0.970821 2.506409 0.752941 0.752941 0.752941\nvn -1.033597 -4.774282 -3.309161\nv 0.774523 -0.970821 2.383736 0.752941 0.752941 0.752941\nvn -2.005596 -4.774278 -2.827804\nv 1.473230 -0.970821 2.027727 0.752941 0.752941 0.752941\nvn -2.781274 -4.774280 -2.069636\nv 2.027727 -0.970821 1.473230 0.752941 0.752941 0.752941\nvn -3.284700 -4.774281 -1.108880\nv 2.383736 -0.970821 0.774523 0.752941 0.752941 0.752941\nvn -3.466601 -4.774279 -0.039583\nv 2.506408 -0.970821 0.000000 0.752941 0.752941 0.752941\nvn -4.530997 -3.456753 1.442304\nv 2.131253 -0.705343 -0.692486 0.752941 0.752941 0.752941\nvn -3.863536 -3.456752 2.771873\nv 1.812952 -0.705343 -1.317186 0.752941 0.752941 0.752941\nvn -2.817886 -3.456749 3.830107\nv 1.317186 -0.705343 -1.812952 0.752941 0.752941 0.752941\nvn -1.496400 -3.456751 4.513422\nv 0.692486 -0.705343 -2.131252 0.752941 0.752941 0.752941\nvn -0.028438 -3.456750 4.754932\nv 0.000000 -0.705343 -2.240931 0.752941 0.752941 0.752941\nvn 1.442310 -3.456750 4.530997\nv -0.692486 -0.705343 -2.131252 0.752941 0.752941 0.752941\nvn 2.771873 -3.456751 3.863536\nv -1.317186 -0.705343 -1.812951 0.752941 0.752941 0.752941\nvn 3.830106 -3.456750 2.817888\nv -1.812951 -0.705343 -1.317186 0.752941 0.752941 0.752941\nvn 4.513422 -3.456750 1.496402\nv -2.131252 -0.705343 -0.692486 0.752941 0.752941 0.752941\nvn 4.754933 -3.456752 0.028438\nv -2.240931 -0.705343 0.000000 0.752941 0.752941 0.752941\nvn 4.530996 -3.456753 -1.442308\nv -2.131252 -0.705343 0.692486 0.752941 0.752941 0.752941\nvn 3.863535 -3.456753 -2.771874\nv -1.812951 -0.705343 1.317186 0.752941 0.752941 0.752941\nvn 2.817888 -3.456749 -3.830107\nv -1.317186 -0.705343 1.812951 0.752941 0.752941 0.752941\nvn 1.496400 -3.456753 -4.513422\nv -0.692486 -0.705343 2.131252 0.752941 0.752941 0.752941\nvn 0.028435 -3.456752 -4.754931\nv -0.000000 -0.705343 2.240930 0.752941 0.752941 0.752941\nvn -1.442308 -3.456748 -4.531000\nv 0.692485 -0.705343 2.131251 0.752941 0.752941 0.752941\nvn -2.771872 -3.456750 -3.863538\nv 1.317186 -0.705343 1.812951 0.752941 0.752941 0.752941\nvn -3.830107 -3.456750 -2.817886\nv 1.812950 -0.705343 1.317186 0.752941 0.752941 0.752941\nvn -4.513423 -3.456749 -1.496402\nv 2.131251 -0.705343 0.692486 0.752941 0.752941 0.752941\nvn -4.754936 -3.456748 -0.028445\nv 2.240930 -0.705343 0.000000 0.752941 0.752941 0.752941\nvn -5.306011 -1.812271 1.708442\nv 1.969147 -0.370821 -0.639815 0.752941 0.752941 0.752941\nvn -4.518379 -1.812268 3.264477\nv 1.675057 -0.370821 -1.217000 0.752941 0.752941 0.752941\nvn -3.288452 -1.812270 4.500959\nv 1.217000 -0.370821 -1.675057 0.752941 0.752941 0.752941\nvn -1.736632 -1.812267 5.296855\nv 0.639815 -0.370821 -1.969147 0.752941 0.752941 0.752941\nvn -0.014817 -1.812268 5.574256\nv 0.000000 -0.370821 -2.070484 0.752941 0.752941 0.752941\nvn 1.708449 -1.812267 5.306011\nv -0.639815 -0.370821 -1.969147 0.752941 0.752941 0.752941\nvn 3.264480 -1.812263 4.518378\nv -1.217000 -0.370821 -1.675056 0.752941 0.752941 0.752941\nvn 4.500959 -1.812269 3.288454\nv -1.675056 -0.370821 -1.217000 0.752941 0.752941 0.752941\nvn 5.296853 -1.812270 1.736631\nv -1.969147 -0.370821 -0.639814 0.752941 0.752941 0.752941\nvn 5.574256 -1.812268 0.014818\nv -2.070483 -0.370821 0.000000 0.752941 0.752941 0.752941\nvn 5.306011 -1.812267 -1.708447\nv -1.969147 -0.370821 0.639814 0.752941 0.752941 0.752941\nvn 4.518376 -1.812269 -3.264479\nv -1.675056 -0.370821 1.216999 0.752941 0.752941 0.752941\nvn 3.288452 -1.812271 -4.500957\nv -1.216999 -0.370821 1.675056 0.752941 0.752941 0.752941\nvn 1.736630 -1.812271 -5.296853\nv -0.639814 -0.370821 1.969146 0.752941 0.752941 0.752941\nvn 0.014818 -1.812268 -5.574256\nv -0.000000 -0.370821 2.070483 0.752941 0.752941 0.752941\nvn -1.708446 -1.812269 -5.306013\nv 0.639814 -0.370821 1.969146 0.752941 0.752941 0.752941\nvn -3.264477 -1.812268 -4.518378\nv 1.216999 -0.370821 1.675056 0.752941 0.752941 0.752941\nvn -4.500959 -1.812266 -3.288453\nv 1.675056 -0.370821 1.216999 0.752941 0.752941 0.752941\nvn -5.296854 -1.812268 -1.736632\nv 1.969146 -0.370821 0.639814 0.752941 0.752941 0.752941\nvn -5.574256 -1.812270 -0.014823\nv 2.070483 -0.370821 0.000000 0.752941 0.752941 0.752941\n# 400 vertices, 0 vertices normals\n\n\nusemtl material_0\nf 2//2 1//1 21//21\nf 2//2 21//21 22//22\nf 3//3 2//2 22//22\nf 3//3 22//22 23//23\nf 4//4 3//3 23//23\nf 4//4 23//23 24//24\nf 5//5 4//4 24//24\nf 5//5 24//24 25//25\nf 6//6 5//5 25//25\nf 6//6 25//25 26//26\nf 7//7 6//6 26//26\nf 7//7 26//26 27//27\nf 8//8 7//7 27//27\nf 8//8 27//27 28//28\nf 9//9 8//8 28//28\nf 9//9 28//28 29//29\nf 10//10 9//9 29//29\nf 10//10 29//29 30//30\nf 11//11 10//10 30//30\nf 11//11 30//30 31//31\nf 12//12 11//11 31//31\nf 12//12 31//31 32//32\nf 13//13 12//12 32//32\nf 13//13 32//32 33//33\nf 14//14 13//13 33//33\nf 14//14 33//33 34//34\nf 15//15 14//14 34//34\nf 15//15 34//34 35//35\nf 16//16 15//15 35//35\nf 16//16 35//35 36//36\nf 17//17 16//16 36//36\nf 17//17 36//36 37//37\nf 18//18 17//17 37//37\nf 18//18 37//37 38//38\nf 19//19 18//18 38//38\nf 19//19 38//38 39//39\nf 20//20 19//19 39//39\nf 20//20 39//39 40//40\nf 1//1 20//20 40//40\nf 1//1 40//40 21//21\nf 22//22 21//21 41//41\nf 22//22 41//41 42//42\nf 23//23 22//22 42//42\nf 23//23 42//42 43//43\nf 24//24 23//23 43//43\nf 24//24 43//43 44//44\nf 25//25 24//24 44//44\nf 25//25 44//44 45//45\nf 26//26 25//25 45//45\nf 26//26 45//45 46//46\nf 27//27 26//26 46//46\nf 27//27 46//46 47//47\nf 28//28 27//27 47//47\nf 28//28 47//47 48//48\nf 29//29 28//28 48//48\nf 29//29 48//48 49//49\nf 30//30 29//29 49//49\nf 30//30 49//49 50//50\nf 31//31 30//30 50//50\nf 31//31 50//50 51//51\nf 32//32 31//31 51//51\nf 32//32 51//51 52//52\nf 33//33 32//32 52//52\nf 33//33 52//52 53//53\nf 34//34 33//33 53//53\nf 34//34 53//53 54//54\nf 35//35 34//34 54//54\nf 35//35 54//54 55//55\nf 36//36 35//35 55//55\nf 36//36 55//55 56//56\nf 37//37 36//36 56//56\nf 37//37 56//56 57//57\nf 38//38 37//37 57//57\nf 38//38 57//57 58//58\nf 39//39 38//38 58//58\nf 39//39 58//58 59//59\nf 40//40 39//39 59//59\nf 40//40 59//59 60//60\nf 21//21 40//40 60//60\nf 21//21 60//60 41//41\nf 42//42 41//41 61//61\nf 42//42 61//61 62//62\nf 43//43 42//42 62//62\nf 43//43 62//62 63//63\nf 44//44 43//43 63//63\nf 44//44 63//63 64//64\nf 45//45 44//44 64//64\nf 45//45 64//64 65//65\nf 46//46 45//45 65//65\nf 46//46 65//65 66//66\nf 47//47 46//46 66//66\nf 47//47 66//66 67//67\nf 48//48 47//47 67//67\nf 48//48 67//67 68//68\nf 49//49 48//48 68//68\nf 49//49 68//68 69//69\nf 50//50 49//49 69//69\nf 50//50 69//69 70//70\nf 51//51 50//50 70//70\nf 51//51 70//70 71//71\nf 52//52 51//51 71//71\nf 52//52 71//71 72//72\nf 53//53 52//52 72//72\nf 53//53 72//72 73//73\nf 54//54 53//53 73//73\nf 54//54 73//73 74//74\nf 55//55 54//54 74//74\nf 55//55 74//74 75//75\nf 56//56 55//55 75//75\nf 56//56 75//75 76//76\nf 57//57 56//56 76//76\nf 57//57 76//76 77//77\nf 58//58 57//57 77//77\nf 58//58 77//77 78//78\nf 59//59 58//58 78//78\nf 59//59 78//78 79//79\nf 60//60 59//59 79//79\nf 60//60 79//79 80//80\nf 41//41 60//60 80//80\nf 41//41 80//80 61//61\nf 62//62 61//61 81//81\nf 62//62 81//81 82//82\nf 63//63 62//62 82//82\nf 63//63 82//82 83//83\nf 64//64 63//63 83//83\nf 64//64 83//83 84//84\nf 65//65 64//64 84//84\nf 65//65 84//84 85//85\nf 66//66 65//65 85//85\nf 66//66 85//85 86//86\nf 67//67 66//66 86//86\nf 67//67 86//86 87//87\nf 68//68 67//67 87//87\nf 68//68 87//87 88//88\nf 69//69 68//68 88//88\nf 69//69 88//88 89//89\nf 70//70 69//69 89//89\nf 70//70 89//89 90//90\nf 71//71 70//70 90//90\nf 71//71 90//90 91//91\nf 72//72 71//71 91//91\nf 72//72 91//91 92//92\nf 73//73 72//72 92//92\nf 73//73 92//92 93//93\nf 74//74 73//73 93//93\nf 74//74 93//93 94//94\nf 75//75 74//74 94//94\nf 75//75 94//94 95//95\nf 76//76 75//75 95//95\nf 76//76 95//95 96//96\nf 77//77 76//76 96//96\nf 77//77 96//96 97//97\nf 78//78 77//77 97//97\nf 78//78 97//97 98//98\nf 79//79 78//78 98//98\nf 79//79 98//98 99//99\nf 80//80 79//79 99//99\nf 80//80 99//99 100//100\nf 61//61 80//80 100//100\nf 61//61 100//100 81//81\nf 82//82 81//81 101//101\nf 82//82 101//101 102//102\nf 83//83 82//82 102//102\nf 83//83 102//102 103//103\nf 84//84 83//83 103//103\nf 84//84 103//103 104//104\nf 85//85 84//84 104//104\nf 85//85 104//104 105//105\nf 86//86 85//85 105//105\nf 86//86 105//105 106//106\nf 87//87 86//86 106//106\nf 87//87 106//106 107//107\nf 88//88 87//87 107//107\nf 88//88 107//107 108//108\nf 89//89 88//88 108//108\nf 89//89 108//108 109//109\nf 90//90 89//89 109//109\nf 90//90 109//109 110//110\nf 91//91 90//90 110//110\nf 91//91 110//110 111//111\nf 92//92 91//91 111//111\nf 92//92 111//111 112//112\nf 93//93 92//92 112//112\nf 93//93 112//112 113//113\nf 94//94 93//93 113//113\nf 94//94 113//113 114//114\nf 95//95 94//94 114//114\nf 95//95 114//114 115//115\nf 96//96 95//95 115//115\nf 96//96 115//115 116//116\nf 97//97 96//96 116//116\nf 97//97 116//116 117//117\nf 98//98 97//97 117//117\nf 98//98 117//117 118//118\nf 99//99 98//98 118//118\nf 99//99 118//118 119//119\nf 100//100 99//99 119//119\nf 100//100 119//119 120//120\nf 81//81 100//100 120//120\nf 81//81 120//120 101//101\nf 102//102 101//101 121//121\nf 102//102 121//121 122//122\nf 103//103 102//102 122//122\nf 103//103 122//122 123//123\nf 104//104 103//103 123//123\nf 104//104 123//123 124//124\nf 105//105 104//104 124//124\nf 105//105 124//124 125//125\nf 106//106 105//105 125//125\nf 106//106 125//125 126//126\nf 107//107 106//106 126//126\nf 107//107 126//126 127//127\nf 108//108 107//107 127//127\nf 108//108 127//127 128//128\nf 109//109 108//108 128//128\nf 109//109 128//128 129//129\nf 110//110 109//109 129//129\nf 110//110 129//129 130//130\nf 111//111 110//110 130//130\nf 111//111 130//130 131//131\nf 112//112 111//111 131//131\nf 112//112 131//131 132//132\nf 113//113 112//112 132//132\nf 113//113 132//132 133//133\nf 114//114 113//113 133//133\nf 114//114 133//133 134//134\nf 115//115 114//114 134//134\nf 115//115 134//134 135//135\nf 116//116 115//115 135//135\nf 116//116 135//135 136//136\nf 117//117 116//116 136//136\nf 117//117 136//136 137//137\nf 118//118 117//117 137//137\nf 118//118 137//137 138//138\nf 119//119 118//118 138//138\nf 119//119 138//138 139//139\nf 120//120 119//119 139//139\nf 120//120 139//139 140//140\nf 101//101 120//120 140//140\nf 101//101 140//140 121//121\nf 122//122 121//121 141//141\nf 122//122 141//141 142//142\nf 123//123 122//122 142//142\nf 123//123 142//142 143//143\nf 124//124 123//123 143//143\nf 124//124 143//143 144//144\nf 125//125 124//124 144//144\nf 125//125 144//144 145//145\nf 126//126 125//125 145//145\nf 126//126 145//145 146//146\nf 127//127 126//126 146//146\nf 127//127 146//146 147//147\nf 128//128 127//127 147//147\nf 128//128 147//147 148//148\nf 129//129 128//128 148//148\nf 129//129 148//148 149//149\nf 130//130 129//129 149//149\nf 130//130 149//149 150//150\nf 131//131 130//130 150//150\nf 131//131 150//150 151//151\nf 132//132 131//131 151//151\nf 132//132 151//151 152//152\nf 133//133 132//132 152//152\nf 133//133 152//152 153//153\nf 134//134 133//133 153//153\nf 134//134 153//153 154//154\nf 135//135 134//134 154//154\nf 135//135 154//154 155//155\nf 136//136 135//135 155//155\nf 136//136 155//155 156//156\nf 137//137 136//136 156//156\nf 137//137 156//156 157//157\nf 138//138 137//137 157//157\nf 138//138 157//157 158//158\nf 139//139 138//138 158//158\nf 139//139 158//158 159//159\nf 140//140 139//139 159//159\nf 140//140 159//159 160//160\nf 121//121 140//140 160//160\nf 121//121 160//160 141//141\nf 142//142 141//141 161//161\nf 142//142 161//161 162//162\nf 143//143 142//142 162//162\nf 143//143 162//162 163//163\nf 144//144 143//143 163//163\nf 144//144 163//163 164//164\nf 145//145 144//144 164//164\nf 145//145 164//164 165//165\nf 146//146 145//145 165//165\nf 146//146 165//165 166//166\nf 147//147 146//146 166//166\nf 147//147 166//166 167//167\nf 148//148 147//147 167//167\nf 148//148 167//167 168//168\nf 149//149 148//148 168//168\nf 149//149 168//168 169//169\nf 150//150 149//149 169//169\nf 150//150 169//169 170//170\nf 151//151 150//150 170//170\nf 151//151 170//170 171//171\nf 152//152 151//151 171//171\nf 152//152 171//171 172//172\nf 153//153 152//152 172//172\nf 153//153 172//172 173//173\nf 154//154 153//153 173//173\nf 154//154 173//173 174//174\nf 155//155 154//154 174//174\nf 155//155 174//174 175//175\nf 156//156 155//155 175//175\nf 156//156 175//175 176//176\nf 157//157 156//156 176//176\nf 157//157 176//176 177//177\nf 158//158 157//157 177//177\nf 158//158 177//177 178//178\nf 159//159 158//158 178//178\nf 159//159 178//178 179//179\nf 160//160 159//159 179//179\nf 160//160 179//179 180//180\nf 141//141 160//160 180//180\nf 141//141 180//180 161//161\nf 162//162 161//161 181//181\nf 162//162 181//181 182//182\nf 163//163 162//162 182//182\nf 163//163 182//182 183//183\nf 164//164 163//163 183//183\nf 164//164 183//183 184//184\nf 165//165 164//164 184//184\nf 165//165 184//184 185//185\nf 166//166 165//165 185//185\nf 166//166 185//185 186//186\nf 167//167 166//166 186//186\nf 167//167 186//186 187//187\nf 168//168 167//167 187//187\nf 168//168 187//187 188//188\nf 169//169 168//168 188//188\nf 169//169 188//188 189//189\nf 170//170 169//169 189//189\nf 170//170 189//189 190//190\nf 171//171 170//170 190//190\nf 171//171 190//190 191//191\nf 172//172 171//171 191//191\nf 172//172 191//191 192//192\nf 173//173 172//172 192//192\nf 173//173 192//192 193//193\nf 174//174 173//173 193//193\nf 174//174 193//193 194//194\nf 175//175 174//174 194//194\nf 175//175 194//194 195//195\nf 176//176 175//175 195//195\nf 176//176 195//195 196//196\nf 177//177 176//176 196//196\nf 177//177 196//196 197//197\nf 178//178 177//177 197//197\nf 178//178 197//197 198//198\nf 179//179 178//178 198//198\nf 179//179 198//198 199//199\nf 180//180 179//179 199//199\nf 180//180 199//199 200//200\nf 161//161 180//180 200//200\nf 161//161 200//200 181//181\nf 182//182 181//181 201//201\nf 182//182 201//201 202//202\nf 183//183 182//182 202//202\nf 183//183 202//202 203//203\nf 184//184 183//183 203//203\nf 184//184 203//203 204//204\nf 185//185 184//184 204//204\nf 185//185 204//204 205//205\nf 186//186 185//185 205//205\nf 186//186 205//205 206//206\nf 187//187 186//186 206//206\nf 187//187 206//206 207//207\nf 188//188 187//187 207//207\nf 188//188 207//207 208//208\nf 189//189 188//188 208//208\nf 189//189 208//208 209//209\nf 190//190 189//189 209//209\nf 190//190 209//209 210//210\nf 191//191 190//190 210//210\nf 191//191 210//210 211//211\nf 192//192 191//191 211//211\nf 192//192 211//211 212//212\nf 193//193 192//192 212//212\nf 193//193 212//212 213//213\nf 194//194 193//193 213//213\nf 194//194 213//213 214//214\nf 195//195 194//194 214//214\nf 195//195 214//214 215//215\nf 196//196 195//195 215//215\nf 196//196 215//215 216//216\nf 197//197 196//196 216//216\nf 197//197 216//216 217//217\nf 198//198 197//197 217//217\nf 198//198 217//217 218//218\nf 199//199 198//198 218//218\nf 199//199 218//218 219//219\nf 200//200 199//199 219//219\nf 200//200 219//219 220//220\nf 181//181 200//200 220//220\nf 181//181 220//220 201//201\nf 202//202 201//201 221//221\nf 202//202 221//221 222//222\nf 203//203 202//202 222//222\nf 203//203 222//222 223//223\nf 204//204 203//203 223//223\nf 204//204 223//223 224//224\nf 205//205 204//204 224//224\nf 205//205 224//224 225//225\nf 206//206 205//205 225//225\nf 206//206 225//225 226//226\nf 207//207 206//206 226//226\nf 207//207 226//226 227//227\nf 208//208 207//207 227//227\nf 208//208 227//227 228//228\nf 209//209 208//208 228//228\nf 209//209 228//228 229//229\nf 210//210 209//209 229//229\nf 210//210 229//229 230//230\nf 211//211 210//210 230//230\nf 211//211 230//230 231//231\nf 212//212 211//211 231//231\nf 212//212 231//231 232//232\nf 213//213 212//212 232//232\nf 213//213 232//232 233//233\nf 214//214 213//213 233//233\nf 214//214 233//233 234//234\nf 215//215 214//214 234//234\nf 215//215 234//234 235//235\nf 216//216 215//215 235//235\nf 216//216 235//235 236//236\nf 217//217 216//216 236//236\nf 217//217 236//236 237//237\nf 218//218 217//217 237//237\nf 218//218 237//237 238//238\nf 219//219 218//218 238//238\nf 219//219 238//238 239//239\nf 220//220 219//219 239//239\nf 220//220 239//239 240//240\nf 201//201 220//220 240//240\nf 201//201 240//240 221//221\nf 222//222 221//221 241//241\nf 222//222 241//241 242//242\nf 223//223 222//222 242//242\nf 223//223 242//242 243//243\nf 224//224 223//223 243//243\nf 224//224 243//243 244//244\nf 225//225 224//224 244//244\nf 225//225 244//244 245//245\nf 226//226 225//225 245//245\nf 226//226 245//245 246//246\nf 227//227 226//226 246//246\nf 227//227 246//246 247//247\nf 228//228 227//227 247//247\nf 228//228 247//247 248//248\nf 229//229 228//228 248//248\nf 229//229 248//248 249//249\nf 230//230 229//229 249//249\nf 230//230 249//249 250//250\nf 231//231 230//230 250//250\nf 231//231 250//250 251//251\nf 232//232 231//231 251//251\nf 232//232 251//251 252//252\nf 233//233 232//232 252//252\nf 233//233 252//252 253//253\nf 234//234 233//233 253//253\nf 234//234 253//253 254//254\nf 235//235 234//234 254//254\nf 235//235 254//254 255//255\nf 236//236 235//235 255//255\nf 236//236 255//255 256//256\nf 237//237 236//236 256//256\nf 237//237 256//256 257//257\nf 238//238 237//237 257//257\nf 238//238 257//257 258//258\nf 239//239 238//238 258//258\nf 239//239 258//258 259//259\nf 240//240 239//239 259//259\nf 240//240 259//259 260//260\nf 221//221 240//240 260//260\nf 221//221 260//260 241//241\nf 242//242 241//241 261//261\nf 242//242 261//261 262//262\nf 243//243 242//242 262//262\nf 243//243 262//262 263//263\nf 244//244 243//243 263//263\nf 244//244 263//263 264//264\nf 245//245 244//244 264//264\nf 245//245 264//264 265//265\nf 246//246 245//245 265//265\nf 246//246 265//265 266//266\nf 247//247 246//246 266//266\nf 247//247 266//266 267//267\nf 248//248 247//247 267//267\nf 248//248 267//267 268//268\nf 249//249 248//248 268//268\nf 249//249 268//268 269//269\nf 250//250 249//249 269//269\nf 250//250 269//269 270//270\nf 251//251 250//250 270//270\nf 251//251 270//270 271//271\nf 252//252 251//251 271//271\nf 252//252 271//271 272//272\nf 253//253 252//252 272//272\nf 253//253 272//272 273//273\nf 254//254 253//253 273//273\nf 254//254 273//273 274//274\nf 255//255 254//254 274//274\nf 255//255 274//274 275//275\nf 256//256 255//255 275//275\nf 256//256 275//275 276//276\nf 257//257 256//256 276//276\nf 257//257 276//276 277//277\nf 258//258 257//257 277//277\nf 258//258 277//277 278//278\nf 259//259 258//258 278//278\nf 259//259 278//278 279//279\nf 260//260 259//259 279//279\nf 260//260 279//279 280//280\nf 241//241 260//260 280//280\nf 241//241 280//280 261//261\nf 262//262 261//261 281//281\nf 262//262 281//281 282//282\nf 263//263 262//262 282//282\nf 263//263 282//282 283//283\nf 264//264 263//263 283//283\nf 264//264 283//283 284//284\nf 265//265 264//264 284//284\nf 265//265 284//284 285//285\nf 266//266 265//265 285//285\nf 266//266 285//285 286//286\nf 267//267 266//266 286//286\nf 267//267 286//286 287//287\nf 268//268 267//267 287//287\nf 268//268 287//287 288//288\nf 269//269 268//268 288//288\nf 269//269 288//288 289//289\nf 270//270 269//269 289//289\nf 270//270 289//289 290//290\nf 271//271 270//270 290//290\nf 271//271 290//290 291//291\nf 272//272 271//271 291//291\nf 272//272 291//291 292//292\nf 273//273 272//272 292//292\nf 273//273 292//292 293//293\nf 274//274 273//273 293//293\nf 274//274 293//293 294//294\nf 275//275 274//274 294//294\nf 275//275 294//294 295//295\nf 276//276 275//275 295//295\nf 276//276 295//295 296//296\nf 277//277 276//276 296//296\nf 277//277 296//296 297//297\nf 278//278 277//277 297//297\nf 278//278 297//297 298//298\nf 279//279 278//278 298//298\nf 279//279 298//298 299//299\nf 280//280 279//279 299//299\nf 280//280 299//299 300//300\nf 261//261 280//280 300//300\nf 261//261 300//300 281//281\nf 282//282 281//281 301//301\nf 282//282 301//301 302//302\nf 283//283 282//282 302//302\nf 283//283 302//302 303//303\nf 284//284 283//283 303//303\nf 284//284 303//303 304//304\nf 285//285 284//284 304//304\nf 285//285 304//304 305//305\nf 286//286 285//285 305//305\nf 286//286 305//305 306//306\nf 287//287 286//286 306//306\nf 287//287 306//306 307//307\nf 288//288 287//287 307//307\nf 288//288 307//307 308//308\nf 289//289 288//288 308//308\nf 289//289 308//308 309//309\nf 290//290 289//289 309//309\nf 290//290 309//309 310//310\nf 291//291 290//290 310//310\nf 291//291 310//310 311//311\nf 292//292 291//291 311//311\nf 292//292 311//311 312//312\nf 293//293 292//292 312//312\nf 293//293 312//312 313//313\nf 294//294 293//293 313//313\nf 294//294 313//313 314//314\nf 295//295 294//294 314//314\nf 295//295 314//314 315//315\nf 296//296 295//295 315//315\nf 296//296 315//315 316//316\nf 297//297 296//296 316//316\nf 297//297 316//316 317//317\nf 298//298 297//297 317//317\nf 298//298 317//317 318//318\nf 299//299 298//298 318//318\nf 299//299 318//318 319//319\nf 300//300 299//299 319//319\nf 300//300 319//319 320//320\nf 281//281 300//300 320//320\nf 281//281 320//320 301//301\nf 302//302 301//301 321//321\nf 302//302 321//321 322//322\nf 303//303 302//302 322//322\nf 303//303 322//322 323//323\nf 304//304 303//303 323//323\nf 304//304 323//323 324//324\nf 305//305 304//304 324//324\nf 305//305 324//324 325//325\nf 306//306 305//305 325//325\nf 306//306 325//325 326//326\nf 307//307 306//306 326//326\nf 307//307 326//326 327//327\nf 308//308 307//307 327//327\nf 308//308 327//327 328//328\nf 309//309 308//308 328//328\nf 309//309 328//328 329//329\nf 310//310 309//309 329//329\nf 310//310 329//329 330//330\nf 311//311 310//310 330//330\nf 311//311 330//330 331//331\nf 312//312 311//311 331//331\nf 312//312 331//331 332//332\nf 313//313 312//312 332//332\nf 313//313 332//332 333//333\nf 314//314 313//313 333//333\nf 314//314 333//333 334//334\nf 315//315 314//314 334//334\nf 315//315 334//334 335//335\nf 316//316 315//315 335//335\nf 316//316 335//335 336//336\nf 317//317 316//316 336//336\nf 317//317 336//336 337//337\nf 318//318 317//317 337//337\nf 318//318 337//337 338//338\nf 319//319 318//318 338//338\nf 319//319 338//338 339//339\nf 320//320 319//319 339//339\nf 320//320 339//339 340//340\nf 301//301 320//320 340//340\nf 301//301 340//340 321//321\nf 322//322 321//321 341//341\nf 322//322 341//341 342//342\nf 323//323 322//322 342//342\nf 323//323 342//342 343//343\nf 324//324 323//323 343//343\nf 324//324 343//343 344//344\nf 325//325 324//324 344//344\nf 325//325 344//344 345//345\nf 326//326 325//325 345//345\nf 326//326 345//345 346//346\nf 327//327 326//326 346//346\nf 327//327 346//346 347//347\nf 328//328 327//327 347//347\nf 328//328 347//347 348//348\nf 329//329 328//328 348//348\nf 329//329 348//348 349//349\nf 330//330 329//329 349//349\nf 330//330 349//349 350//350\nf 331//331 330//330 350//350\nf 331//331 350//350 351//351\nf 332//332 331//331 351//351\nf 332//332 351//351 352//352\nf 333//333 332//332 352//352\nf 333//333 352//352 353//353\nf 334//334 333//333 353//353\nf 334//334 353//353 354//354\nf 335//335 334//334 354//354\nf 335//335 354//354 355//355\nf 336//336 335//335 355//355\nf 336//336 355//355 356//356\nf 337//337 336//336 356//356\nf 337//337 356//356 357//357\nf 338//338 337//337 357//357\nf 338//338 357//357 358//358\nf 339//339 338//338 358//358\nf 339//339 358//358 359//359\nf 340//340 339//339 359//359\nf 340//340 359//359 360//360\nf 321//321 340//340 360//360\nf 321//321 360//360 341//341\nf 342//342 341//341 361//361\nf 342//342 361//361 362//362\nf 343//343 342//342 362//362\nf 343//343 362//362 363//363\nf 344//344 343//343 363//363\nf 344//344 363//363 364//364\nf 345//345 344//344 364//364\nf 345//345 364//364 365//365\nf 346//346 345//345 365//365\nf 346//346 365//365 366//366\nf 347//347 346//346 366//366\nf 347//347 366//366 367//367\nf 348//348 347//347 367//367\nf 348//348 367//367 368//368\nf 349//349 348//348 368//368\nf 349//349 368//368 369//369\nf 350//350 349//349 369//369\nf 350//350 369//369 370//370\nf 351//351 350//350 370//370\nf 351//351 370//370 371//371\nf 352//352 351//351 371//371\nf 352//352 371//371 372//372\nf 353//353 352//352 372//372\nf 353//353 372//372 373//373\nf 354//354 353//353 373//373\nf 354//354 373//373 374//374\nf 355//355 354//354 374//374\nf 355//355 374//374 375//375\nf 356//356 355//355 375//375\nf 356//356 375//375 376//376\nf 357//357 356//356 376//376\nf 357//357 376//376 377//377\nf 358//358 357//357 377//377\nf 358//358 377//377 378//378\nf 359//359 358//358 378//378\nf 359//359 378//378 379//379\nf 360//360 359//359 379//379\nf 360//360 379//379 380//380\nf 341//341 360//360 380//380\nf 341//341 380//380 361//361\nf 362//362 361//361 381//381\nf 362//362 381//381 382//382\nf 363//363 362//362 382//382\nf 363//363 382//382 383//383\nf 364//364 363//363 383//383\nf 364//364 383//383 384//384\nf 365//365 364//364 384//384\nf 365//365 384//384 385//385\nf 366//366 365//365 385//385\nf 366//366 385//385 386//386\nf 367//367 366//366 386//386\nf 367//367 386//386 387//387\nf 368//368 367//367 387//387\nf 368//368 387//387 388//388\nf 369//369 368//368 388//388\nf 369//369 388//388 389//389\nf 370//370 369//369 389//389\nf 370//370 389//389 390//390\nf 371//371 370//370 390//390\nf 371//371 390//390 391//391\nf 372//372 371//371 391//391\nf 372//372 391//391 392//392\nf 373//373 372//372 392//392\nf 373//373 392//392 393//393\nf 374//374 373//373 393//393\nf 374//374 393//393 394//394\nf 375//375 374//374 394//394\nf 375//375 394//394 395//395\nf 376//376 375//375 395//395\nf 376//376 395//395 396//396\nf 377//377 376//376 396//396\nf 377//377 396//396 397//397\nf 378//378 377//377 397//397\nf 378//378 397//397 398//398\nf 379//379 378//378 398//398\nf 379//379 398//398 399//399\nf 380//380 379//379 399//399\nf 380//380 399//399 400//400\nf 361//361 380//380 400//400\nf 361//361 400//400 381//381\nf 382//382 381//381 1//1\nf 382//382 1//1 2//2\nf 383//383 382//382 2//2\nf 383//383 2//2 3//3\nf 384//384 383//383 3//3\nf 384//384 3//3 4//4\nf 385//385 384//384 4//4\nf 385//385 4//4 5//5\nf 386//386 385//385 5//5\nf 386//386 5//5 6//6\nf 387//387 386//386 6//6\nf 387//387 6//6 7//7\nf 388//388 387//387 7//7\nf 388//388 7//7 8//8\nf 389//389 388//388 8//8\nf 389//389 8//8 9//9\nf 390//390 389//389 9//9\nf 390//390 9//9 10//10\nf 391//391 390//390 10//10\nf 391//391 10//10 11//11\nf 392//392 391//391 11//11\nf 392//392 11//11 12//12\nf 393//393 392//392 12//12\nf 393//393 12//12 13//13\nf 394//394 393//393 13//13\nf 394//394 13//13 14//14\nf 395//395 394//394 14//14\nf 395//395 14//14 15//15\nf 396//396 395//395 15//15\nf 396//396 15//15 16//16\nf 397//397 396//396 16//16\nf 397//397 16//16 17//17\nf 398//398 397//397 17//17\nf 398//398 17//17 18//18\nf 399//399 398//398 18//18\nf 399//399 18//18 19//19\nf 400//400 399//399 19//19\nf 400//400 19//19 20//20\nf 381//381 400//400 20//20\nf 381//381 20//20 1//1\n# 800 faces, 0 coords texture\n\n# End of File"
  },
  {
    "path": "demo/benchmark.h",
    "content": "// This code contains NVIDIA Confidential Information and is disclosed to you\n// under a form of NVIDIA software license agreement provided separately to you.\n//\n// Notice\n// NVIDIA Corporation and its licensors retain all intellectual property and\n// proprietary rights in and to this software and related documentation and\n// any modifications thereto. Any use, reproduction, disclosure, or\n// distribution of this software and related documentation without an express\n// license agreement from NVIDIA Corporation is strictly prohibited.\n//\n// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED \"AS IS.\". NVIDIA MAKES\n// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO\n// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,\n// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.\n//\n// Information and code furnished is believed to be accurate and reliable.\n// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such\n// information or for any infringement of patents or other rights of third parties that may\n// result from its use. No license is granted by implication or otherwise under any patent\n// or patent rights of NVIDIA Corporation. Details are subject to change without notice.\n// This code supersedes and replaces all information previously supplied.\n// NVIDIA Corporation products are not authorized for use as critical\n// components in life support devices or systems without express written approval of\n// NVIDIA Corporation.\n//\n// Copyright (c) 2013-2020 NVIDIA Corporation. All rights reserved.\n\n#pragma once\n\n\n\n#include <iomanip>\n#include <algorithm>\n#include <stdint.h>\n\nconst char* g_benchmarkFilename = \"../../benchmark.txt\";\nstd::wofstream g_benchmarkFile;\n\nconst int benchmarkPhaseFrameCount = 400;\nconst int benchmarkEndWarmup = 200;\n\nconst int benchmarkAsyncOffDummyOnBeginFrame = benchmarkPhaseFrameCount;\nconst int benchmarkAsyncOnDummyOnBeginFrame = benchmarkPhaseFrameCount*2;\nconst int benchmarkEndFrame = benchmarkPhaseFrameCount*3;\nconst char* benchmarkList[] = { \"Env Cloth Small\", \"Viscosity Med\", \"Inflatables\", \"Game Mesh Particles\", \"Rigid4\" };\nconst char* benchmarkChartPrefix[] = { \"EnvClothSmall\", \"ViscosityMed\", \"Inflatables\", \"GameMeshParticles\", \"Rigid4\" }; //no spaces\nint numBenchmarks = sizeof(benchmarkList)/sizeof(benchmarkList[0]);\n\nstruct GpuTimers\n{\n\tunsigned long long renderBegin;\n\tunsigned long long renderEnd;\n\tunsigned long long renderFreq;\n\tunsigned long long computeBegin;\n\tunsigned long long computeEnd;\n\tunsigned long long computeFreq;\n\n\tstatic const int maxTimerCount = 4;\n\tdouble timers[benchmarkEndFrame][maxTimerCount];\n\tint timerCount[benchmarkEndFrame];\n};\n\n\nstruct TimerTotals\n{\n\tstd::vector<NvFlexDetailTimer> detailTimers;\n\t\n\tfloat frameTime;\n\tint samples;\n\n\tfloat frameTimeAsync;\n\tint samplesAsync;\n\n\tfloat computeTimeAsyncOff;\n\tfloat computeTimeAsyncOn;\n\tint computeSamples;\n\n\tTimerTotals() : frameTime(0), samples(0), frameTimeAsync(0), samplesAsync(0), computeTimeAsyncOff(0), computeTimeAsyncOn(0), computeSamples(0) {}\n};\n\nGpuTimers g_GpuTimers;\n\nint g_benchmarkFrame = 0;\nint g_benchmarkScene = 0;\nint g_benchmarkSceneNumber;\n\n#if defined(__linux__)\nint sprintf_s(char*  const buffer, size_t  const bufferCount,\n              const char*  format,...)\n{\n    va_list args;\n    va_start(args, format);\n    int retval = vsprintf(buffer, format, args);\n    va_end(args);\n    \n    return retval;\t\n}\t      \n#endif\n\n//-----------------------------------------------------------------------------\nchar* removeSpaces(const char* in)\n{\n\tint len = strlen(in);\n\tchar* out = new char[len+1];\n\n\tint i = 0;\n\tint j = 0;\n\twhile (in[i] != 0)\n\t{\n\t\tif (in[i] != ' ')\n\t\t{\n\t\t\tout[j] = in[i];\n\t\t\tj++;\n\t\t}\n\t\ti++;\n\t}\n\tout[j] = 0;\n\n\treturn out;\n}\n//-----------------------------------------------------------------------------\nvoid ProcessGpuTimes()\n{\n\tstatic bool timerfirstTime = true;\n\n\tdouble renderTime;\n\tdouble compTime;\n\tdouble unionTime;\n\tdouble overlapBeginTime;\n\n\tint numParticles = NvFlexGetActiveCount(g_solver);\n\n\trenderTime = double(g_GpuTimers.renderEnd - g_GpuTimers.renderBegin) / double(g_GpuTimers.renderFreq);\n\tcompTime = double(g_GpuTimers.computeEnd - g_GpuTimers.computeBegin) / double(g_GpuTimers.computeFreq);\n\n\tuint64_t minTime = min(g_GpuTimers.renderBegin, g_GpuTimers.computeBegin);\n\tuint64_t maxTime = max(g_GpuTimers.renderEnd, g_GpuTimers.computeEnd);\n\tunionTime = double(maxTime - minTime) / double(g_GpuTimers.computeFreq);\n\n\toverlapBeginTime = abs((long long)g_GpuTimers.renderBegin - (long long)g_GpuTimers.computeBegin) / double(g_GpuTimers.computeFreq);\n\n\tif (!timerfirstTime && g_benchmarkFrame < benchmarkEndFrame)\n\t{\n\t\tif (g_useAsyncCompute)\n\t\t{\n\t\t\tg_GpuTimers.timers[g_benchmarkFrame][0] = numParticles;\n\t\t\tg_GpuTimers.timers[g_benchmarkFrame][1] = unionTime * 1000;\n\t\t\tg_GpuTimers.timers[g_benchmarkFrame][2] = overlapBeginTime * 1000;\n\t\t\tg_GpuTimers.timers[g_benchmarkFrame][3] = g_realdt * 1000;\n\t\t\tg_GpuTimers.timerCount[g_benchmarkFrame] = 4;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tg_GpuTimers.timers[g_benchmarkFrame][0] = numParticles;\n\t\t\tg_GpuTimers.timers[g_benchmarkFrame][1] = renderTime * 1000;\n\t\t\tg_GpuTimers.timers[g_benchmarkFrame][2] = compTime * 1000;\n\t\t\tg_GpuTimers.timers[g_benchmarkFrame][3] = g_realdt * 1000;\n\t\t\tg_GpuTimers.timerCount[g_benchmarkFrame] = 4;\n\t\t}\n\t}\n\ttimerfirstTime = false;\n}\n//-----------------------------------------------------------------------------\nvoid UpdateTotals(TimerTotals& totals)\n{\n\t// Phase 0B, async off, dummy work off\n\tif (benchmarkEndWarmup <= g_benchmarkFrame && g_benchmarkFrame < benchmarkAsyncOffDummyOnBeginFrame)\n\t{\n\t\ttotals.frameTime += g_realdt * 1000.0f; //convert to milliseconds\n\n\t\tfor (int i = 0; i < g_numDetailTimers; i++) {\n\t\t\tstrcpy(totals.detailTimers[i].name,g_detailTimers[i].name);\n\t\t\ttotals.detailTimers[i].time += g_detailTimers[i].time;\n\t\t}\n\n\t\ttotals.samples++;\n\t}\n\n\t// Phase 2B, async on, dummy work on\n\tif (benchmarkAsyncOnDummyOnBeginFrame + benchmarkEndWarmup <= g_benchmarkFrame)\n\t{\n\t\tfloat offGraphics = (float)g_GpuTimers.timers[g_benchmarkFrame - benchmarkPhaseFrameCount][1];\n\t\tfloat offCompute = (float)g_GpuTimers.timers[g_benchmarkFrame - benchmarkPhaseFrameCount][2];\n\t\tfloat onBoth = (float)g_GpuTimers.timers[g_benchmarkFrame][1];\n\n\t\tfloat onCompute = onBoth - offGraphics;\n\n\t\ttotals.computeTimeAsyncOff += offCompute;\n\t\ttotals.computeTimeAsyncOn += onCompute;\n\t\ttotals.computeSamples++;\n\n\t\ttotals.frameTimeAsync += g_realdt * 1000.0f; //convert to milliseconds\n\t\ttotals.samplesAsync++;\n\t}\n}\n//-----------------------------------------------------------------------------\nvoid BeginNewPhaseIfNecessary(int& sceneToSwitchTo,TimerTotals& totals)\n{\n\t// Are we beginning phase 0B?\n\tif (g_benchmarkFrame == benchmarkEndWarmup)\n\t{\n\t\ttotals.frameTime = 0.0f;\n\t\ttotals.samples = 0;\n\t\tg_emit = true;\n\t\ttotals.detailTimers.resize(g_numDetailTimers);\n\n\t\tfor (int i = 0; i != g_numDetailTimers; i++)\n\t\t{\n\t\t\ttotals.detailTimers[i].name = new char[256];\n\t\t}\n\t}\n\n\t// Are we beginning phase 1?\n\tif (g_benchmarkFrame == benchmarkAsyncOffDummyOnBeginFrame)\n\t{\n\t\tsceneToSwitchTo = g_benchmarkSceneNumber;\n\t\tg_useAsyncCompute = false;\n\t\tg_increaseGfxLoadForAsyncComputeTesting = true;\n\t}\n\n\t// Are we beginning phase 2?\n\tif (g_benchmarkFrame == benchmarkAsyncOnDummyOnBeginFrame)\n\t{\n\t\tsceneToSwitchTo = g_benchmarkSceneNumber;\n\t\tg_useAsyncCompute = true;\n\t\tg_increaseGfxLoadForAsyncComputeTesting = true;\n\t}\n\n\t// Are we beginning phase 2B?\n\tif (g_benchmarkFrame == benchmarkAsyncOnDummyOnBeginFrame + benchmarkEndWarmup)\n\t{\n\t\ttotals.frameTimeAsync = 0.0f;\n\t\ttotals.samplesAsync = 0;\n\t\ttotals.computeTimeAsyncOff = 0.0f;\n\t\ttotals.computeTimeAsyncOn = 0.0f;\n\t\ttotals.computeSamples = 0;\n\t\tg_emit = true;\n\t}\n}\n//-----------------------------------------------------------------------------\nvoid WriteSceneResults(TimerTotals& totals)\n{\n\t// Write results for scene\n\tfor (int i = 0; i < g_numDetailTimers; i++) {\n\t\ttotals.detailTimers[i].time /= totals.samples;\n\t}\n\n\tif (g_profile && g_teamCity)\n\t{\n\t\tconst char* prefix = benchmarkChartPrefix[g_benchmarkScene - 1];\n\n\t\tfloat exclusive = 0.0f;\n\n\t\tfor (int i = 0; i < g_numDetailTimers - 1; i++) {\n\t\t\texclusive += totals.detailTimers[i].time;\n\t\t}\n\n\t\tprintf(\"##teamcity[buildStatisticValue key='%s_FrameTime' value='%f']\\n\", prefix, totals.frameTime / totals.samples);\n\t\tprintf(\"##teamcity[buildStatisticValue key='%s_SumKernel' value='%f']\\n\", prefix, exclusive);\n\n\t\tfor (int i = 0; i < g_numDetailTimers - 1; i++) {\n\t\t\tprintf(\"##teamcity[buildStatisticValue key='%s_%s' value='%f']\\n\", prefix, totals.detailTimers[i].name, totals.detailTimers[i].time);\n\t\t}\n\t\tprintf(\"\\n\");\n\t}\n\n\tprintf(\"Scene: %s\\n\", g_scenes[g_scene]->GetName());\n\tprintf(\"FrameTime               %f\\n\", totals.frameTime / totals.samples);\n\tprintf(\"________________________________\\n\");\n\tfloat exclusive = 0.0f;\n\n\tfor (int i = 0; i < g_numDetailTimers - 1; i++) {\n\t\texclusive += totals.detailTimers[i].time;\n\t\tprintf(\"%s %f\\n\", totals.detailTimers[i].name, totals.detailTimers[i].time);\n\t}\n\tprintf(\"Sum(exclusive) %f\\n\", exclusive);\n\tprintf(\"Sum(inclusive) %f\\n\", totals.detailTimers[g_numDetailTimers - 1].time);\n\tprintf(\"________________________________\\n\");\n\n\t// Dumping benchmark data to txt files\n\n\tg_benchmarkFile.open(g_benchmarkFilename, std::ofstream::out | std::ofstream::app);\n\tg_benchmarkFile << std::fixed << std::setprecision(6);\n\tg_benchmarkFile << \"Scene: \" << g_scenes[g_scene]->GetName() << std::endl;\n\tg_benchmarkFile << \"FrameTime               \" << totals.frameTime / totals.samples << std::endl;\n\tg_benchmarkFile << \"________________________________\" << std::endl;\n\n\tif (g_profile)\n\t{\n\t\tfloat exclusive = 0.0f;\n\n\t\tg_benchmarkFile << std::fixed << std::setprecision(6);\n\n\t\tfor (int i = 0; i < g_numDetailTimers - 1; i++) {\n\t\t\texclusive += totals.detailTimers[i].time;\n\t\t\tg_benchmarkFile << totals.detailTimers[i].name << \" \" << totals.detailTimers[i].time << std::endl;\n\n\t\t\tdelete totals.detailTimers[i].name;\n\t\t}\n\n\t\tg_benchmarkFile << \"Sum(exclusive) \" << exclusive << std::endl;\n\t\tg_benchmarkFile << \"Sum(inclusive) \" << totals.detailTimers[g_numDetailTimers - 1].time << std::endl;\n\t\tg_benchmarkFile << \"________________________________\" << std::endl << std::endl;\n\t}\n\n\tif (g_outputAllFrameTimes)\n\t{\n\t\tfor (int i = 0; i != benchmarkEndFrame; i++)\n\t\t{\n\t\t\tg_benchmarkFile << g_GpuTimers.timers[i][3] << std::endl;\n\t\t}\n\n\t\t// Per frame timers\n\t\tfor (int i = benchmarkAsyncOffDummyOnBeginFrame; i != benchmarkAsyncOnDummyOnBeginFrame; i++)\n\t\t{\n\t\t\tfor (int j = 0; j != g_GpuTimers.timerCount[i]; j++)\n\t\t\t{\n\t\t\t\tg_benchmarkFile << g_GpuTimers.timers[i][j] << \" \";\n\t\t\t}\n\n\t\t\tfor (int j = 0; j != g_GpuTimers.timerCount[i + benchmarkPhaseFrameCount]; j++)\n\t\t\t{\n\t\t\t\tg_benchmarkFile << g_GpuTimers.timers[i + benchmarkPhaseFrameCount][j] << \" \";\n\t\t\t}\n\n\t\t\tg_benchmarkFile << std::endl;\n\t\t}\n\n\t}\n\n\tg_benchmarkFile.close();\n\n\tif (g_benchmark)\n\t{\n\n#if 0\n\t\t// Do basic kinetic energy verification check to ensure that the benchmark runs correctly\n\t\tNvFlexGetVelocities(g_flex, g_buffers->velocities.buffer, g_buffers->velocities.size());\n\n\t\tfloat sumVelocities = 0.0f;\n\t\tfor (int i = 0; i < g_buffers->velocities.size(); ++i)\n\t\t{\n\t\t\tsumVelocities += g_buffers->velocities[i].x * g_buffers->velocities[i].x + g_buffers->velocities[i].y * g_buffers->velocities[i].y + g_buffers->velocities[i].z * g_buffers->velocities[i].z;\n\t\t}\n\t\t// Tolerance 50%\n\t\tint benchmark_id = g_benchmarkScene - 1;\n\t\tif (sumVelocities >(benchmarkEnergyCheck[benchmark_id] * 1.50) ||\n\t\t\tsumVelocities < (benchmarkEnergyCheck[benchmark_id] * 0.50))\n\t\t\tprintf(\"Benchmark kinetic energy verification failed! Expected: [%f], Actual: [%f]\\n\\n\", benchmarkEnergyCheck[benchmark_id], sumVelocities);\n#endif\n\n\t}\n}\n//-----------------------------------------------------------------------------\nint GoToNextScene()\n{\n\tint sceneToSwitchTo = -1;\n\n\t// Advance to next benchmark scene\n\tfor (int i = 0; i < int(g_scenes.size()); ++i)\n\t{\n\t\tif (strcmp(benchmarkList[g_benchmarkScene], g_scenes[i]->GetName()) == 0)\n\t\t{\n\t\t\tsceneToSwitchTo = i;\n\t\t\tg_benchmarkSceneNumber = i;\n\t\t}\n\t}\n\tassert(sceneToSwitchTo != -1);\n\n\tg_useAsyncCompute = false;\n\tg_increaseGfxLoadForAsyncComputeTesting = false;\n\n\treturn sceneToSwitchTo;\n}\n//-----------------------------------------------------------------------------\n// Returns scene number if benchmark wants to switch scene, -1 otherwise\n//-----------------------------------------------------------------------------\nint BenchmarkUpdate()\n{\n\tstatic TimerTotals s_totals;\n\tint sceneToSwitchTo = -1;\n\n\tif (!g_benchmark) return sceneToSwitchTo;\n\n\tProcessGpuTimes();\n\tUpdateTotals(s_totals);\n\n\t// Next frame\n\tg_benchmarkFrame++;\n\n\tBeginNewPhaseIfNecessary(sceneToSwitchTo, s_totals);\n\n\t// Check whether at end of scene\n\tif (g_benchmarkFrame == benchmarkEndFrame)\n\t{\n\t\tWriteSceneResults(s_totals);\n\n\t\t// Next scene\n\t\tg_benchmarkScene++;\n\n\t\t// Go to next scene, or exit if all scenes done\n\t\tif (g_benchmarkScene != numBenchmarks)\n\t\t{\n\t\t\tsceneToSwitchTo = GoToNextScene();\n\n\t\t\tg_benchmarkFrame = 0;\n\t\t\tg_frame = -1;\n\t\t}\n\t\telse\n\t\t{\n\t\t\texit(0);\n\t\t}\n\t}\n\n\treturn sceneToSwitchTo;\n}\n//-----------------------------------------------------------------------------\nint BenchmarkInit()\n{\n\tint sceneToSwitchTo = GoToNextScene();\n\n\treturn sceneToSwitchTo;\n}\n//-----------------------------------------------------------------------------\nvoid BenchmarkUpdateGraph()\n{\n}\n//-----------------------------------------------------------------------------\n"
  },
  {
    "path": "demo/compiler/makelinux64/Makefile",
    "content": "#!/usr/bin/make\n# Makefile generated by XPJ for linux64\n\nDEPSDIR = .deps\n#default defines\nOBJS_DIR  = build\nRMDIR     = rm -fr\nECHO      = echo\nCCLD      =  g++\nCXX       =  g++\nCC        =  gcc\nRANLIB    = ranlib\nAR\t\t = ar\nSTRIP     = strip\nOBJDUMP   = objdump\nOBJCOPY   = objcopy\n-include Makedefs.linux64.mk\n\nall: debug release \n\ndebug: build_flexExtCUDA_debug build_flexDemoCUDA_debug \n\nrelease: build_flexExtCUDA_release build_flexDemoCUDA_release \n\nclean: clean_flexExtCUDA_release clean_flexExtCUDA_debug clean_flexDemoCUDA_release clean_flexDemoCUDA_debug \n\trm -rf $(DEPSDIR)\n\n\nclean_release: clean_flexExtCUDA_release clean_flexDemoCUDA_release \n\trm -rf $(DEPSDIR)\n\n\nclean_debug: clean_flexExtCUDA_debug clean_flexDemoCUDA_debug \n\trm -rf $(DEPSDIR)\n\n\ninclude Makefile.flexExtCUDA.mk\ninclude Makefile.flexDemoCUDA.mk\n\n\n# Disable implicit rules to speedup build\n.SUFFIXES:\nSUFFIXES :=\n%.out:\n%.a:\n%.ln:\n%.o:\n%: %.o\n%.c:\n%: %.c\n%.ln: %.c\n%.o: %.c\n%.cc:\n%: %.cc\n%.o: %.cc\n%.C:\n%: %.C\n%.o: %.C\n%.cpp:\n%: %.cpp\n%.o: %.cpp\n%.p:\n%: %.p\n%.o: %.p\n%.f:\n%:\n %.f%.o: %.f\n%.F:\n%: %.F\n%.o: %.F\n%.f: %.F\n%.r:\n%: %.r\n%.o: %.r\n%.f: %.r\n%.y:\n%.ln: %.y\n%.c: %.y\n%.l:\n%.ln: %.l\n%.c: %.l\n%.r: %.l\n%.s:\n%: %.s\n%.o: %.s\n%.S:\n%: %.S\n%.o: %.S\n%.s: %.S\n%.mod:\n%: %.mod\n%.o: %.mod\n%.sym:\n%.def:\n%.sym: %.def\n%.h:\n%.info:\n%.dvi:\n%.tex:\n%.dvi: %.tex\n%.texinfo:\n%.info: %.texinfo\n%.dvi: %.texinfo\n%.texi:\n%.info: %.texi\n%.dvi: %.texi\n%.txinfo:\n%.info: %.txinfo\n%.dvi: %.txinfo\n%.w:\n%.c: %.w\n%.tex: %.w\n%.ch:\n%.web:\n%.p: %.web\n%.tex: %.web\n%.sh:\n%: %.sh\n%.elc:\n%.el:\n(%): %\n%.out: %\n%.c: %.w %.ch\n%.tex: %.w %.ch\n%: %,v\n%: RCS/%,v\n%: RCS/%\n%: s.%\n%: SCCS/s.%\n.web.p:\n.l.r:\n.dvi:\n.F.o:\n.l:\n.y.ln:\n.o:\n.y:\n.def.sym:\n.p.o:\n.p:\n.txinfo.dvi:\n.a:\n.l.ln:\n.w.c:\n.texi.dvi:\n.sh:\n.cc:\n.cc.o:\n.def:\n.c.o:\n.r.o:\n.r:\n.info:\n.elc:\n.l.c:\n.out:\n.C:\n.r.f:\n.S:\n.texinfo.info:\n.c:\n.w.tex:\n.c.ln:\n.s.o:\n.s:\n.texinfo.dvi:\n.el:\n.texinfo:\n.y.c:\n.web.tex:\n.texi.info:\n.DEFAULT:\n.h:\n.tex.dvi:\n.cpp.o:\n.cpp:\n.C.o:\n.ln:\n.texi:\n.txinfo:\n.tex:\n.txinfo.info:\n.ch:\n.S.s:\n.mod:\n.mod.o:\n.F.f:\n.w:\n.S.o:\n.F:\n.web:\n.sym:\n.f:\n.f.o:\nexport VERBOSE\nifndef VERBOSE\n.SILENT:\nendif\n"
  },
  {
    "path": "demo/compiler/makelinux64/Makefile.flexDemoCUDA.mk",
    "content": "# Makefile generated by XPJ for linux64\n-include Makefile.custom\nProjectName = flexDemoCUDA\nflexDemoCUDA_cppfiles   += ./../../imgui.cpp\nflexDemoCUDA_cppfiles   += ./../../main.cpp\nflexDemoCUDA_cppfiles   += ./../../shadersDemoContext.cpp\nflexDemoCUDA_cppfiles   += ./../../../core/aabbtree.cpp\nflexDemoCUDA_cppfiles   += ./../../../core/core.cpp\nflexDemoCUDA_cppfiles   += ./../../../core/extrude.cpp\nflexDemoCUDA_cppfiles   += ./../../../core/maths.cpp\nflexDemoCUDA_cppfiles   += ./../../../core/mesh.cpp\nflexDemoCUDA_cppfiles   += ./../../../core/perlin.cpp\nflexDemoCUDA_cppfiles   += ./../../../core/pfm.cpp\nflexDemoCUDA_cppfiles   += ./../../../core/platform.cpp\nflexDemoCUDA_cppfiles   += ./../../../core/png.cpp\nflexDemoCUDA_cppfiles   += ./../../../core/sdf.cpp\nflexDemoCUDA_cppfiles   += ./../../../core/tga.cpp\nflexDemoCUDA_cppfiles   += ./../../../core/voxelize.cpp\nflexDemoCUDA_cppfiles   += ./../../opengl/imguiRenderGL.cpp\nflexDemoCUDA_cppfiles   += ./../../opengl/shader.cpp\nflexDemoCUDA_cppfiles   += ./../../opengl/shadersGL.cpp\n\nflexDemoCUDA_cpp_release_dep    = $(addprefix $(DEPSDIR)/flexDemoCUDA/release/, $(subst ./, , $(subst ../, , $(patsubst %.cpp, %.cpp.P, $(flexDemoCUDA_cppfiles)))))\nflexDemoCUDA_cc_release_dep    = $(addprefix $(DEPSDIR)/, $(subst ./, , $(subst ../, , $(patsubst %.cc, %.cc.release.P, $(flexDemoCUDA_ccfiles)))))\nflexDemoCUDA_c_release_dep      = $(addprefix $(DEPSDIR)/flexDemoCUDA/release/, $(subst ./, , $(subst ../, , $(patsubst %.c, %.c.P, $(flexDemoCUDA_cfiles)))))\nflexDemoCUDA_release_dep      = $(flexDemoCUDA_cpp_release_dep) $(flexDemoCUDA_cc_release_dep) $(flexDemoCUDA_c_release_dep)\n-include $(flexDemoCUDA_release_dep)\nflexDemoCUDA_cpp_debug_dep    = $(addprefix $(DEPSDIR)/flexDemoCUDA/debug/, $(subst ./, , $(subst ../, , $(patsubst %.cpp, %.cpp.P, $(flexDemoCUDA_cppfiles)))))\nflexDemoCUDA_cc_debug_dep    = $(addprefix $(DEPSDIR)/, $(subst ./, , $(subst ../, , $(patsubst %.cc, %.cc.debug.P, $(flexDemoCUDA_ccfiles)))))\nflexDemoCUDA_c_debug_dep      = $(addprefix $(DEPSDIR)/flexDemoCUDA/debug/, $(subst ./, , $(subst ../, , $(patsubst %.c, %.c.P, $(flexDemoCUDA_cfiles)))))\nflexDemoCUDA_debug_dep      = $(flexDemoCUDA_cpp_debug_dep) $(flexDemoCUDA_cc_debug_dep) $(flexDemoCUDA_c_debug_dep)\n-include $(flexDemoCUDA_debug_dep)\nflexDemoCUDA_release_hpaths    := \nflexDemoCUDA_release_hpaths    += /usr/local/cuda/include\nflexDemoCUDA_release_hpaths    += /usr/local/cuda/extras/cupti/include\nflexDemoCUDA_release_hpaths    += ./../../..\nflexDemoCUDA_release_lpaths    := \nflexDemoCUDA_release_lpaths    += /usr/local/cuda/lib64\nflexDemoCUDA_release_lpaths    += ./../../../lib/linux64\nflexDemoCUDA_release_defines   := $(flexDemoCUDA_custom_defines)\nflexDemoCUDA_release_libraries := \nflexDemoCUDA_release_libraries += :NvFlexExtReleaseCUDA_x64.a\nflexDemoCUDA_release_libraries += :NvFlexReleaseCUDA_x64.a\nflexDemoCUDA_release_libraries += :NvFlexExtReleaseCUDA_x64.a\nflexDemoCUDA_release_libraries += :libSDL2.a\nflexDemoCUDA_release_libraries += :libSDL2main.a\nflexDemoCUDA_release_common_cflags\t:= $(flexDemoCUDA_custom_cflags)\nflexDemoCUDA_release_common_cflags    += -MMD\nflexDemoCUDA_release_common_cflags    += $(addprefix -D, $(flexDemoCUDA_release_defines))\nflexDemoCUDA_release_common_cflags    += $(addprefix -I, $(flexDemoCUDA_release_hpaths))\nflexDemoCUDA_release_common_cflags  += -m64\nflexDemoCUDA_release_common_cflags  += -Wall -std=c++0x -fPIC -fpermissive -fno-strict-aliasing\nflexDemoCUDA_release_common_cflags  += -O3 -ffast-math -DNDEBUG\nflexDemoCUDA_release_cflags\t:= $(flexDemoCUDA_release_common_cflags)\nflexDemoCUDA_release_cppflags\t:= $(flexDemoCUDA_release_common_cflags)\nflexDemoCUDA_release_lflags    := $(flexDemoCUDA_custom_lflags)\nflexDemoCUDA_release_lflags    += $(addprefix -L, $(flexDemoCUDA_release_lpaths))\nflexDemoCUDA_release_lflags    += -Wl,--start-group $(addprefix -l, $(flexDemoCUDA_release_libraries)) -Wl,--end-group\nflexDemoCUDA_release_lflags  += -g -L/usr/lib -L\"../../../lib/linux64\" -L../../../external/SDL2-2.0.4/lib/x64/ -L/usr/local/cuda/lib64 -lGL -lglut -lGLU -lcudart_static -ldl -lrt -pthread\nflexDemoCUDA_release_lflags  += -m64\nflexDemoCUDA_release_objsdir  = $(OBJS_DIR)/flexDemoCUDA_release\nflexDemoCUDA_release_cpp_o    = $(addprefix $(flexDemoCUDA_release_objsdir)/, $(subst ./, , $(subst ../, , $(patsubst %.cpp, %.cpp.o, $(flexDemoCUDA_cppfiles)))))\nflexDemoCUDA_release_cc_o    = $(addprefix $(flexDemoCUDA_release_objsdir)/, $(subst ./, , $(subst ../, , $(patsubst %.cc, %.cc.o, $(flexDemoCUDA_ccfiles)))))\nflexDemoCUDA_release_c_o      = $(addprefix $(flexDemoCUDA_release_objsdir)/, $(subst ./, , $(subst ../, , $(patsubst %.c, %.c.o, $(flexDemoCUDA_cfiles)))))\nflexDemoCUDA_release_obj      = $(flexDemoCUDA_release_cpp_o) $(flexDemoCUDA_release_cc_o) $(flexDemoCUDA_release_c_o)\nflexDemoCUDA_release_bin      := ./../../../bin/linux64/NvFlexDemoReleaseCUDA_x64\n\nclean_flexDemoCUDA_release: \n\t@$(ECHO) clean flexDemoCUDA release\n\t@$(RMDIR) $(flexDemoCUDA_release_objsdir)\n\t@$(RMDIR) $(flexDemoCUDA_release_bin)\n\t@$(RMDIR) $(DEPSDIR)/flexDemoCUDA/release\n\nbuild_flexDemoCUDA_release: postbuild_flexDemoCUDA_release\npostbuild_flexDemoCUDA_release: mainbuild_flexDemoCUDA_release\nmainbuild_flexDemoCUDA_release: prebuild_flexDemoCUDA_release $(flexDemoCUDA_release_bin)\nprebuild_flexDemoCUDA_release:\n\n$(flexDemoCUDA_release_bin): $(flexDemoCUDA_release_obj) build_flexExtCUDA_release \n\tmkdir -p `dirname ./../../../bin/linux64/NvFlexDemoReleaseCUDA_x64`\n\t$(CCLD) $(flexDemoCUDA_release_obj) $(flexDemoCUDA_release_lflags) -o $(flexDemoCUDA_release_bin) \n\t$(ECHO) building $@ complete!\n\nflexDemoCUDA_release_DEPDIR = $(dir $(@))/$(*F)\n$(flexDemoCUDA_release_cpp_o): $(flexDemoCUDA_release_objsdir)/%.o:\n\t$(ECHO) flexDemoCUDA: compiling release $(filter %$(strip $(subst .cpp.o,.cpp, $(subst $(flexDemoCUDA_release_objsdir),, $@))), $(flexDemoCUDA_cppfiles))...\n\tmkdir -p $(dir $(@))\n\t$(CXX) $(flexDemoCUDA_release_cppflags) -c $(filter %$(strip $(subst .cpp.o,.cpp, $(subst $(flexDemoCUDA_release_objsdir),, $@))), $(flexDemoCUDA_cppfiles)) -o $@\n\t@mkdir -p $(dir $(addprefix $(DEPSDIR)/flexDemoCUDA/release/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cpp.o,.cpp, $(subst $(flexDemoCUDA_release_objsdir),, $@))), $(flexDemoCUDA_cppfiles))))))\n\tcp $(flexDemoCUDA_release_DEPDIR).d $(addprefix $(DEPSDIR)/flexDemoCUDA/release/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cpp.o,.cpp, $(subst $(flexDemoCUDA_release_objsdir),, $@))), $(flexDemoCUDA_cppfiles))))).P; \\\n\t  sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\\\$$//' \\\n\t\t-e '/^$$/ d' -e 's/$$/ :/' < $(flexDemoCUDA_release_DEPDIR).d >> $(addprefix $(DEPSDIR)/flexDemoCUDA/release/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cpp.o,.cpp, $(subst $(flexDemoCUDA_release_objsdir),, $@))), $(flexDemoCUDA_cppfiles))))).P; \\\n\t  rm -f $(flexDemoCUDA_release_DEPDIR).d\n\n$(flexDemoCUDA_release_cc_o): $(flexDemoCUDA_release_objsdir)/%.o:\n\t$(ECHO) flexDemoCUDA: compiling release $(filter %$(strip $(subst .cc.o,.cc, $(subst $(flexDemoCUDA_release_objsdir),, $@))), $(flexDemoCUDA_ccfiles))...\n\tmkdir -p $(dir $(@))\n\t$(CXX) $(flexDemoCUDA_release_cppflags) -c $(filter %$(strip $(subst .cc.o,.cc, $(subst $(flexDemoCUDA_release_objsdir),, $@))), $(flexDemoCUDA_ccfiles)) -o $@\n\tmkdir -p $(dir $(addprefix $(DEPSDIR)/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cc.o,.cc, $(subst $(flexDemoCUDA_release_objsdir),, $@))), $(flexDemoCUDA_ccfiles))))))\n\tcp $(flexDemoCUDA_release_DEPDIR).d $(addprefix $(DEPSDIR)/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cc.o,.cc, $(subst $(flexDemoCUDA_release_objsdir),, $@))), $(flexDemoCUDA_ccfiles))))).release.P; \\\n\t  sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\\\$$//' \\\n\t\t-e '/^$$/ d' -e 's/$$/ :/' < $(flexDemoCUDA_release_DEPDIR).d >> $(addprefix $(DEPSDIR)/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cc.o,.cc, $(subst $(flexDemoCUDA_release_objsdir),, $@))), $(flexDemoCUDA_ccfiles))))).release.P; \\\n\t  rm -f $(flexDemoCUDA_release_DEPDIR).d\n\n$(flexDemoCUDA_release_c_o): $(flexDemoCUDA_release_objsdir)/%.o:\n\t$(ECHO) flexDemoCUDA: compiling release $(filter %$(strip $(subst .c.o,.c, $(subst $(flexDemoCUDA_release_objsdir),, $@))), $(flexDemoCUDA_cfiles))...\n\tmkdir -p $(dir $(@))\n\t$(CC) $(flexDemoCUDA_release_cflags) -c $(filter %$(strip $(subst .c.o,.c, $(subst $(flexDemoCUDA_release_objsdir),, $@))), $(flexDemoCUDA_cfiles)) -o $@ \n\t@mkdir -p $(dir $(addprefix $(DEPSDIR)/flexDemoCUDA/release/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .c.o,.c, $(subst $(flexDemoCUDA_release_objsdir),, $@))), $(flexDemoCUDA_cfiles))))))\n\tcp $(flexDemoCUDA_release_DEPDIR).d $(addprefix $(DEPSDIR)/flexDemoCUDA/release/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .c.o,.c, $(subst $(flexDemoCUDA_release_objsdir),, $@))), $(flexDemoCUDA_cfiles))))).P; \\\n\t  sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\\\$$//' \\\n\t\t-e '/^$$/ d' -e 's/$$/ :/' < $(flexDemoCUDA_release_DEPDIR).d >> $(addprefix $(DEPSDIR)/flexDemoCUDA/release/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .c.o,.c, $(subst $(flexDemoCUDA_release_objsdir),, $@))), $(flexDemoCUDA_cfiles))))).P; \\\n\t  rm -f $(flexDemoCUDA_release_DEPDIR).d\n\nflexDemoCUDA_debug_hpaths    := \nflexDemoCUDA_debug_hpaths    += /usr/local/cuda/include\nflexDemoCUDA_debug_hpaths    += /usr/local/cuda/extras/cupti/include\nflexDemoCUDA_debug_hpaths    += ./../../..\nflexDemoCUDA_debug_lpaths    := \nflexDemoCUDA_debug_lpaths    += /usr/local/cuda/lib64\nflexDemoCUDA_debug_lpaths    += ./../../../lib/linux64\nflexDemoCUDA_debug_defines   := $(flexDemoCUDA_custom_defines)\nflexDemoCUDA_debug_libraries := \nflexDemoCUDA_debug_libraries += :NvFlexExtDebugCUDA_x64.a\nflexDemoCUDA_debug_libraries += :NvFlexDebugCUDA_x64.a\nflexDemoCUDA_debug_libraries += :NvFlexExtDebugCUDA_x64.a\nflexDemoCUDA_debug_libraries += :libSDL2.a\nflexDemoCUDA_debug_libraries += :libSDL2main.a\nflexDemoCUDA_debug_common_cflags\t:= $(flexDemoCUDA_custom_cflags)\nflexDemoCUDA_debug_common_cflags    += -MMD\nflexDemoCUDA_debug_common_cflags    += $(addprefix -D, $(flexDemoCUDA_debug_defines))\nflexDemoCUDA_debug_common_cflags    += $(addprefix -I, $(flexDemoCUDA_debug_hpaths))\nflexDemoCUDA_debug_common_cflags  += -m64\nflexDemoCUDA_debug_common_cflags  += -Wall -std=c++0x -fPIC -fpermissive -fno-strict-aliasing\nflexDemoCUDA_debug_common_cflags  += -g -O0\nflexDemoCUDA_debug_cflags\t:= $(flexDemoCUDA_debug_common_cflags)\nflexDemoCUDA_debug_cppflags\t:= $(flexDemoCUDA_debug_common_cflags)\nflexDemoCUDA_debug_lflags    := $(flexDemoCUDA_custom_lflags)\nflexDemoCUDA_debug_lflags    += $(addprefix -L, $(flexDemoCUDA_debug_lpaths))\nflexDemoCUDA_debug_lflags    += -Wl,--start-group $(addprefix -l, $(flexDemoCUDA_debug_libraries)) -Wl,--end-group\nflexDemoCUDA_debug_lflags  += -g -L/usr/lib -L\"../../../lib/linux64\" -L../../../external/SDL2-2.0.4/lib/x64/ -L/usr/local/cuda/lib64 -lGL -lglut -lGLU -lcudart_static -ldl -lrt -pthread\nflexDemoCUDA_debug_lflags  += -m64\nflexDemoCUDA_debug_objsdir  = $(OBJS_DIR)/flexDemoCUDA_debug\nflexDemoCUDA_debug_cpp_o    = $(addprefix $(flexDemoCUDA_debug_objsdir)/, $(subst ./, , $(subst ../, , $(patsubst %.cpp, %.cpp.o, $(flexDemoCUDA_cppfiles)))))\nflexDemoCUDA_debug_cc_o    = $(addprefix $(flexDemoCUDA_debug_objsdir)/, $(subst ./, , $(subst ../, , $(patsubst %.cc, %.cc.o, $(flexDemoCUDA_ccfiles)))))\nflexDemoCUDA_debug_c_o      = $(addprefix $(flexDemoCUDA_debug_objsdir)/, $(subst ./, , $(subst ../, , $(patsubst %.c, %.c.o, $(flexDemoCUDA_cfiles)))))\nflexDemoCUDA_debug_obj      = $(flexDemoCUDA_debug_cpp_o) $(flexDemoCUDA_debug_cc_o) $(flexDemoCUDA_debug_c_o)\nflexDemoCUDA_debug_bin      := ./../../../bin/linux64/NvFlexDemoDebugCUDA_x64\n\nclean_flexDemoCUDA_debug: \n\t@$(ECHO) clean flexDemoCUDA debug\n\t@$(RMDIR) $(flexDemoCUDA_debug_objsdir)\n\t@$(RMDIR) $(flexDemoCUDA_debug_bin)\n\t@$(RMDIR) $(DEPSDIR)/flexDemoCUDA/debug\n\nbuild_flexDemoCUDA_debug: postbuild_flexDemoCUDA_debug\npostbuild_flexDemoCUDA_debug: mainbuild_flexDemoCUDA_debug\nmainbuild_flexDemoCUDA_debug: prebuild_flexDemoCUDA_debug $(flexDemoCUDA_debug_bin)\nprebuild_flexDemoCUDA_debug:\n\n$(flexDemoCUDA_debug_bin): $(flexDemoCUDA_debug_obj) build_flexExtCUDA_debug \n\tmkdir -p `dirname ./../../../bin/linux64/NvFlexDemoDebugCUDA_x64`\n\t$(CCLD) $(flexDemoCUDA_debug_obj) $(flexDemoCUDA_debug_lflags) -o $(flexDemoCUDA_debug_bin) \n\t$(ECHO) building $@ complete!\n\nflexDemoCUDA_debug_DEPDIR = $(dir $(@))/$(*F)\n$(flexDemoCUDA_debug_cpp_o): $(flexDemoCUDA_debug_objsdir)/%.o:\n\t$(ECHO) flexDemoCUDA: compiling debug $(filter %$(strip $(subst .cpp.o,.cpp, $(subst $(flexDemoCUDA_debug_objsdir),, $@))), $(flexDemoCUDA_cppfiles))...\n\tmkdir -p $(dir $(@))\n\t$(CXX) $(flexDemoCUDA_debug_cppflags) -c $(filter %$(strip $(subst .cpp.o,.cpp, $(subst $(flexDemoCUDA_debug_objsdir),, $@))), $(flexDemoCUDA_cppfiles)) -o $@\n\t@mkdir -p $(dir $(addprefix $(DEPSDIR)/flexDemoCUDA/debug/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cpp.o,.cpp, $(subst $(flexDemoCUDA_debug_objsdir),, $@))), $(flexDemoCUDA_cppfiles))))))\n\tcp $(flexDemoCUDA_debug_DEPDIR).d $(addprefix $(DEPSDIR)/flexDemoCUDA/debug/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cpp.o,.cpp, $(subst $(flexDemoCUDA_debug_objsdir),, $@))), $(flexDemoCUDA_cppfiles))))).P; \\\n\t  sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\\\$$//' \\\n\t\t-e '/^$$/ d' -e 's/$$/ :/' < $(flexDemoCUDA_debug_DEPDIR).d >> $(addprefix $(DEPSDIR)/flexDemoCUDA/debug/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cpp.o,.cpp, $(subst $(flexDemoCUDA_debug_objsdir),, $@))), $(flexDemoCUDA_cppfiles))))).P; \\\n\t  rm -f $(flexDemoCUDA_debug_DEPDIR).d\n\n$(flexDemoCUDA_debug_cc_o): $(flexDemoCUDA_debug_objsdir)/%.o:\n\t$(ECHO) flexDemoCUDA: compiling debug $(filter %$(strip $(subst .cc.o,.cc, $(subst $(flexDemoCUDA_debug_objsdir),, $@))), $(flexDemoCUDA_ccfiles))...\n\tmkdir -p $(dir $(@))\n\t$(CXX) $(flexDemoCUDA_debug_cppflags) -c $(filter %$(strip $(subst .cc.o,.cc, $(subst $(flexDemoCUDA_debug_objsdir),, $@))), $(flexDemoCUDA_ccfiles)) -o $@\n\tmkdir -p $(dir $(addprefix $(DEPSDIR)/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cc.o,.cc, $(subst $(flexDemoCUDA_debug_objsdir),, $@))), $(flexDemoCUDA_ccfiles))))))\n\tcp $(flexDemoCUDA_debug_DEPDIR).d $(addprefix $(DEPSDIR)/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cc.o,.cc, $(subst $(flexDemoCUDA_debug_objsdir),, $@))), $(flexDemoCUDA_ccfiles))))).debug.P; \\\n\t  sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\\\$$//' \\\n\t\t-e '/^$$/ d' -e 's/$$/ :/' < $(flexDemoCUDA_debug_DEPDIR).d >> $(addprefix $(DEPSDIR)/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cc.o,.cc, $(subst $(flexDemoCUDA_debug_objsdir),, $@))), $(flexDemoCUDA_ccfiles))))).debug.P; \\\n\t  rm -f $(flexDemoCUDA_debug_DEPDIR).d\n\n$(flexDemoCUDA_debug_c_o): $(flexDemoCUDA_debug_objsdir)/%.o:\n\t$(ECHO) flexDemoCUDA: compiling debug $(filter %$(strip $(subst .c.o,.c, $(subst $(flexDemoCUDA_debug_objsdir),, $@))), $(flexDemoCUDA_cfiles))...\n\tmkdir -p $(dir $(@))\n\t$(CC) $(flexDemoCUDA_debug_cflags) -c $(filter %$(strip $(subst .c.o,.c, $(subst $(flexDemoCUDA_debug_objsdir),, $@))), $(flexDemoCUDA_cfiles)) -o $@ \n\t@mkdir -p $(dir $(addprefix $(DEPSDIR)/flexDemoCUDA/debug/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .c.o,.c, $(subst $(flexDemoCUDA_debug_objsdir),, $@))), $(flexDemoCUDA_cfiles))))))\n\tcp $(flexDemoCUDA_debug_DEPDIR).d $(addprefix $(DEPSDIR)/flexDemoCUDA/debug/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .c.o,.c, $(subst $(flexDemoCUDA_debug_objsdir),, $@))), $(flexDemoCUDA_cfiles))))).P; \\\n\t  sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\\\$$//' \\\n\t\t-e '/^$$/ d' -e 's/$$/ :/' < $(flexDemoCUDA_debug_DEPDIR).d >> $(addprefix $(DEPSDIR)/flexDemoCUDA/debug/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .c.o,.c, $(subst $(flexDemoCUDA_debug_objsdir),, $@))), $(flexDemoCUDA_cfiles))))).P; \\\n\t  rm -f $(flexDemoCUDA_debug_DEPDIR).d\n\nclean_flexDemoCUDA:  clean_flexDemoCUDA_release clean_flexDemoCUDA_debug\n\trm -rf $(DEPSDIR)\n\nexport VERBOSE\nifndef VERBOSE\n.SILENT:\nendif\n"
  },
  {
    "path": "demo/compiler/makelinux64/Makefile.flexExtCUDA.mk",
    "content": "# Makefile generated by XPJ for linux64\n-include Makefile.custom\nProjectName = flexExtCUDA\nflexExtCUDA_cppfiles   += ./../../../extensions/flexExtCloth.cpp\nflexExtCUDA_cppfiles   += ./../../../extensions/flexExtContainer.cpp\nflexExtCUDA_cppfiles   += ./../../../extensions/flexExtMovingFrame.cpp\nflexExtCUDA_cppfiles   += ./../../../extensions/flexExtRigid.cpp\nflexExtCUDA_cppfiles   += ./../../../extensions/flexExtSoft.cpp\nflexExtCUDA_cuda_extensions_cuda_flexExt_cu   += ./../../../extensions/cuda/flexExt.cu\nflexExtCUDA_cppfiles   += ./../../../core/sdf.cpp\nflexExtCUDA_cppfiles   += ./../../../core/voxelize.cpp\nflexExtCUDA_cppfiles   += ./../../../core/maths.cpp\nflexExtCUDA_cppfiles   += ./../../../core/aabbtree.cpp\n\nflexExtCUDA_cpp_release_dep    = $(addprefix $(DEPSDIR)/flexExtCUDA/release/, $(subst ./, , $(subst ../, , $(patsubst %.cpp, %.cpp.P, $(flexExtCUDA_cppfiles)))))\nflexExtCUDA_cc_release_dep    = $(addprefix $(DEPSDIR)/, $(subst ./, , $(subst ../, , $(patsubst %.cc, %.cc.release.P, $(flexExtCUDA_ccfiles)))))\nflexExtCUDA_c_release_dep      = $(addprefix $(DEPSDIR)/flexExtCUDA/release/, $(subst ./, , $(subst ../, , $(patsubst %.c, %.c.P, $(flexExtCUDA_cfiles)))))\nflexExtCUDA_release_dep      = $(flexExtCUDA_cpp_release_dep) $(flexExtCUDA_cc_release_dep) $(flexExtCUDA_c_release_dep)\n-include $(flexExtCUDA_release_dep)\nflexExtCUDA_cpp_debug_dep    = $(addprefix $(DEPSDIR)/flexExtCUDA/debug/, $(subst ./, , $(subst ../, , $(patsubst %.cpp, %.cpp.P, $(flexExtCUDA_cppfiles)))))\nflexExtCUDA_cc_debug_dep    = $(addprefix $(DEPSDIR)/, $(subst ./, , $(subst ../, , $(patsubst %.cc, %.cc.debug.P, $(flexExtCUDA_ccfiles)))))\nflexExtCUDA_c_debug_dep      = $(addprefix $(DEPSDIR)/flexExtCUDA/debug/, $(subst ./, , $(subst ../, , $(patsubst %.c, %.c.P, $(flexExtCUDA_cfiles)))))\nflexExtCUDA_debug_dep      = $(flexExtCUDA_cpp_debug_dep) $(flexExtCUDA_cc_debug_dep) $(flexExtCUDA_c_debug_dep)\n-include $(flexExtCUDA_debug_dep)\nflexExtCUDA_release_hpaths    := \nflexExtCUDA_release_hpaths    += /usr/local/cuda/include\nflexExtCUDA_release_hpaths    += /usr/local/cuda/extras/cupti/include\nflexExtCUDA_release_hpaths    += ./../../..\nflexExtCUDA_release_hpaths    += ./../../../external/freeglut/include\nflexExtCUDA_release_lpaths    := \nflexExtCUDA_release_lpaths    += /usr/local/cuda/lib64\nflexExtCUDA_release_defines   := $(flexExtCUDA_custom_defines)\nflexExtCUDA_release_libraries := \nflexExtCUDA_release_libraries += ./../../../lib/linux64/NvFlexReleaseCUDA_x64.a\nflexExtCUDA_release_common_cflags\t:= $(flexExtCUDA_custom_cflags)\nflexExtCUDA_release_common_cflags    += -MMD\nflexExtCUDA_release_common_cflags    += $(addprefix -D, $(flexExtCUDA_release_defines))\nflexExtCUDA_release_common_cflags    += $(addprefix -I, $(flexExtCUDA_release_hpaths))\nflexExtCUDA_release_common_cflags  += -m64\nflexExtCUDA_release_common_cflags  += -Wall -std=c++0x -fPIC -fpermissive -fno-strict-aliasing\nflexExtCUDA_release_common_cflags  += -O3 -ffast-math -DNDEBUG\nflexExtCUDA_release_cflags\t:= $(flexExtCUDA_release_common_cflags)\nflexExtCUDA_release_cppflags\t:= $(flexExtCUDA_release_common_cflags)\nflexExtCUDA_release_lflags    := $(flexExtCUDA_custom_lflags)\nflexExtCUDA_release_lflags    += $(addprefix -L, $(flexExtCUDA_release_lpaths))\nflexExtCUDA_release_lflags    += -Wl,--start-group $(addprefix -l, $(flexExtCUDA_release_libraries)) -Wl,--end-group\nflexExtCUDA_release_lflags  += -m64\nflexExtCUDA_release_objsdir  = $(OBJS_DIR)/flexExtCUDA_release\nflexExtCUDA_release_cpp_o    = $(addprefix $(flexExtCUDA_release_objsdir)/, $(subst ./, , $(subst ../, , $(patsubst %.cpp, %.cpp.o, $(flexExtCUDA_cppfiles)))))\nflexExtCUDA_release_cc_o    = $(addprefix $(flexExtCUDA_release_objsdir)/, $(subst ./, , $(subst ../, , $(patsubst %.cc, %.cc.o, $(flexExtCUDA_ccfiles)))))\nflexExtCUDA_release_c_o      = $(addprefix $(flexExtCUDA_release_objsdir)/, $(subst ./, , $(subst ../, , $(patsubst %.c, %.c.o, $(flexExtCUDA_cfiles)))))\nflexExtCUDA_release_cuda_extensions_cuda_flexExt_cu_o += $(OBJS_DIR)/flexExtCUDA_release/cuda/extensions/cudaflexExt.o\nflexExtCUDA_release_obj      = $(flexExtCUDA_release_cpp_o) $(flexExtCUDA_release_cc_o) $(flexExtCUDA_release_c_o) $(flexExtCUDA_release_cuda_extensions_cuda_flexExt_cu_o)\nflexExtCUDA_release_bin      := ./../../../lib/linux64/NvFlexExtReleaseCUDA_x64.a\n\nclean_flexExtCUDA_release: \n\t@$(ECHO) clean flexExtCUDA release\n\t@$(RMDIR) $(flexExtCUDA_release_objsdir)\n\t@$(RMDIR) $(flexExtCUDA_release_bin)\n\t@$(RMDIR) $(DEPSDIR)/flexExtCUDA/release\n\nbuild_flexExtCUDA_release: postbuild_flexExtCUDA_release\npostbuild_flexExtCUDA_release: mainbuild_flexExtCUDA_release\nmainbuild_flexExtCUDA_release: prebuild_flexExtCUDA_release $(flexExtCUDA_release_bin)\nprebuild_flexExtCUDA_release:\n\n$(flexExtCUDA_release_bin): $(flexExtCUDA_release_obj) \n\tmkdir -p `dirname ./../../../lib/linux64/NvFlexExtReleaseCUDA_x64.a`\n\t@$(AR) rcs $(flexExtCUDA_release_bin) $(flexExtCUDA_release_obj)\n\t$(ECHO) building $@ complete!\n\n$(flexExtCUDA_release_cuda_extensions_cuda_flexExt_cu_o): $(flexExtCUDA_cuda_extensions_cuda_flexExt_cu) \n\t@mkdir -p `dirname $(OBJS_DIR)/flexExtCUDA_release/cuda/extensions/cudaflexExt.o`\n\t$(ECHO) /usr/local/cuda/bin/nvcc -O3 -g -arch=sm_30 -m64 -Xcompiler -fPIC -D_FORCE_INLINES  -I../../.. -I../../../external -I/usr/local/cuda/include -I../../../external/cub-1.3.2  --compile \"./../../../extensions/cuda/flexExt.cu\" -o \"$(OBJS_DIR)/flexExtCUDA_release/cuda/extensions/cudaflexExt.o\"\n\t/usr/local/cuda/bin/nvcc -O3 -g -arch=sm_30 -m64 -Xcompiler -fPIC -D_FORCE_INLINES  -I../../.. -I../../../external -I/usr/local/cuda/include -I../../../external/cub-1.3.2  --compile \"./../../../extensions/cuda/flexExt.cu\" -o \"$(OBJS_DIR)/flexExtCUDA_release/cuda/extensions/cudaflexExt.o\"\n\nflexExtCUDA_release_DEPDIR = $(dir $(@))/$(*F)\n$(flexExtCUDA_release_cpp_o): $(flexExtCUDA_release_objsdir)/%.o:\n\t$(ECHO) flexExtCUDA: compiling release $(filter %$(strip $(subst .cpp.o,.cpp, $(subst $(flexExtCUDA_release_objsdir),, $@))), $(flexExtCUDA_cppfiles))...\n\tmkdir -p $(dir $(@))\n\t$(CXX) $(flexExtCUDA_release_cppflags) -c $(filter %$(strip $(subst .cpp.o,.cpp, $(subst $(flexExtCUDA_release_objsdir),, $@))), $(flexExtCUDA_cppfiles)) -o $@\n\t@mkdir -p $(dir $(addprefix $(DEPSDIR)/flexExtCUDA/release/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cpp.o,.cpp, $(subst $(flexExtCUDA_release_objsdir),, $@))), $(flexExtCUDA_cppfiles))))))\n\tcp $(flexExtCUDA_release_DEPDIR).d $(addprefix $(DEPSDIR)/flexExtCUDA/release/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cpp.o,.cpp, $(subst $(flexExtCUDA_release_objsdir),, $@))), $(flexExtCUDA_cppfiles))))).P; \\\n\t  sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\\\$$//' \\\n\t\t-e '/^$$/ d' -e 's/$$/ :/' < $(flexExtCUDA_release_DEPDIR).d >> $(addprefix $(DEPSDIR)/flexExtCUDA/release/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cpp.o,.cpp, $(subst $(flexExtCUDA_release_objsdir),, $@))), $(flexExtCUDA_cppfiles))))).P; \\\n\t  rm -f $(flexExtCUDA_release_DEPDIR).d\n\n$(flexExtCUDA_release_cc_o): $(flexExtCUDA_release_objsdir)/%.o:\n\t$(ECHO) flexExtCUDA: compiling release $(filter %$(strip $(subst .cc.o,.cc, $(subst $(flexExtCUDA_release_objsdir),, $@))), $(flexExtCUDA_ccfiles))...\n\tmkdir -p $(dir $(@))\n\t$(CXX) $(flexExtCUDA_release_cppflags) -c $(filter %$(strip $(subst .cc.o,.cc, $(subst $(flexExtCUDA_release_objsdir),, $@))), $(flexExtCUDA_ccfiles)) -o $@\n\tmkdir -p $(dir $(addprefix $(DEPSDIR)/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cc.o,.cc, $(subst $(flexExtCUDA_release_objsdir),, $@))), $(flexExtCUDA_ccfiles))))))\n\tcp $(flexExtCUDA_release_DEPDIR).d $(addprefix $(DEPSDIR)/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cc.o,.cc, $(subst $(flexExtCUDA_release_objsdir),, $@))), $(flexExtCUDA_ccfiles))))).release.P; \\\n\t  sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\\\$$//' \\\n\t\t-e '/^$$/ d' -e 's/$$/ :/' < $(flexExtCUDA_release_DEPDIR).d >> $(addprefix $(DEPSDIR)/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cc.o,.cc, $(subst $(flexExtCUDA_release_objsdir),, $@))), $(flexExtCUDA_ccfiles))))).release.P; \\\n\t  rm -f $(flexExtCUDA_release_DEPDIR).d\n\n$(flexExtCUDA_release_c_o): $(flexExtCUDA_release_objsdir)/%.o:\n\t$(ECHO) flexExtCUDA: compiling release $(filter %$(strip $(subst .c.o,.c, $(subst $(flexExtCUDA_release_objsdir),, $@))), $(flexExtCUDA_cfiles))...\n\tmkdir -p $(dir $(@))\n\t$(CC) $(flexExtCUDA_release_cflags) -c $(filter %$(strip $(subst .c.o,.c, $(subst $(flexExtCUDA_release_objsdir),, $@))), $(flexExtCUDA_cfiles)) -o $@ \n\t@mkdir -p $(dir $(addprefix $(DEPSDIR)/flexExtCUDA/release/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .c.o,.c, $(subst $(flexExtCUDA_release_objsdir),, $@))), $(flexExtCUDA_cfiles))))))\n\tcp $(flexExtCUDA_release_DEPDIR).d $(addprefix $(DEPSDIR)/flexExtCUDA/release/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .c.o,.c, $(subst $(flexExtCUDA_release_objsdir),, $@))), $(flexExtCUDA_cfiles))))).P; \\\n\t  sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\\\$$//' \\\n\t\t-e '/^$$/ d' -e 's/$$/ :/' < $(flexExtCUDA_release_DEPDIR).d >> $(addprefix $(DEPSDIR)/flexExtCUDA/release/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .c.o,.c, $(subst $(flexExtCUDA_release_objsdir),, $@))), $(flexExtCUDA_cfiles))))).P; \\\n\t  rm -f $(flexExtCUDA_release_DEPDIR).d\n\nflexExtCUDA_debug_hpaths    := \nflexExtCUDA_debug_hpaths    += /usr/local/cuda/include\nflexExtCUDA_debug_hpaths    += /usr/local/cuda/extras/cupti/include\nflexExtCUDA_debug_hpaths    += ./../../..\nflexExtCUDA_debug_hpaths    += ./../../../external/freeglut/include\nflexExtCUDA_debug_lpaths    := \nflexExtCUDA_debug_lpaths    += /usr/local/cuda/lib64\nflexExtCUDA_debug_defines   := $(flexExtCUDA_custom_defines)\nflexExtCUDA_debug_libraries := \nflexExtCUDA_debug_libraries += ./../../../lib/linux64/NvFlexDebugCUDA_x64.a\nflexExtCUDA_debug_common_cflags\t:= $(flexExtCUDA_custom_cflags)\nflexExtCUDA_debug_common_cflags    += -MMD\nflexExtCUDA_debug_common_cflags    += $(addprefix -D, $(flexExtCUDA_debug_defines))\nflexExtCUDA_debug_common_cflags    += $(addprefix -I, $(flexExtCUDA_debug_hpaths))\nflexExtCUDA_debug_common_cflags  += -m64\nflexExtCUDA_debug_common_cflags  += -Wall -std=c++0x -fPIC -fpermissive -fno-strict-aliasing\nflexExtCUDA_debug_common_cflags  += -g -O0\nflexExtCUDA_debug_cflags\t:= $(flexExtCUDA_debug_common_cflags)\nflexExtCUDA_debug_cppflags\t:= $(flexExtCUDA_debug_common_cflags)\nflexExtCUDA_debug_lflags    := $(flexExtCUDA_custom_lflags)\nflexExtCUDA_debug_lflags    += $(addprefix -L, $(flexExtCUDA_debug_lpaths))\nflexExtCUDA_debug_lflags    += -Wl,--start-group $(addprefix -l, $(flexExtCUDA_debug_libraries)) -Wl,--end-group\nflexExtCUDA_debug_lflags  += -m64\nflexExtCUDA_debug_objsdir  = $(OBJS_DIR)/flexExtCUDA_debug\nflexExtCUDA_debug_cpp_o    = $(addprefix $(flexExtCUDA_debug_objsdir)/, $(subst ./, , $(subst ../, , $(patsubst %.cpp, %.cpp.o, $(flexExtCUDA_cppfiles)))))\nflexExtCUDA_debug_cc_o    = $(addprefix $(flexExtCUDA_debug_objsdir)/, $(subst ./, , $(subst ../, , $(patsubst %.cc, %.cc.o, $(flexExtCUDA_ccfiles)))))\nflexExtCUDA_debug_c_o      = $(addprefix $(flexExtCUDA_debug_objsdir)/, $(subst ./, , $(subst ../, , $(patsubst %.c, %.c.o, $(flexExtCUDA_cfiles)))))\nflexExtCUDA_debug_cuda_extensions_cuda_flexExt_cu_o += $(OBJS_DIR)/flexExtCUDA_debug/cuda/extensions/cudaflexExt.o\nflexExtCUDA_debug_obj      = $(flexExtCUDA_debug_cpp_o) $(flexExtCUDA_debug_cc_o) $(flexExtCUDA_debug_c_o) $(flexExtCUDA_debug_cuda_extensions_cuda_flexExt_cu_o)\nflexExtCUDA_debug_bin      := ./../../../lib/linux64/NvFlexExtDebugCUDA_x64.a\n\nclean_flexExtCUDA_debug: \n\t@$(ECHO) clean flexExtCUDA debug\n\t@$(RMDIR) $(flexExtCUDA_debug_objsdir)\n\t@$(RMDIR) $(flexExtCUDA_debug_bin)\n\t@$(RMDIR) $(DEPSDIR)/flexExtCUDA/debug\n\nbuild_flexExtCUDA_debug: postbuild_flexExtCUDA_debug\npostbuild_flexExtCUDA_debug: mainbuild_flexExtCUDA_debug\nmainbuild_flexExtCUDA_debug: prebuild_flexExtCUDA_debug $(flexExtCUDA_debug_bin)\nprebuild_flexExtCUDA_debug:\n\n$(flexExtCUDA_debug_bin): $(flexExtCUDA_debug_obj) \n\tmkdir -p `dirname ./../../../lib/linux64/NvFlexExtDebugCUDA_x64.a`\n\t@$(AR) rcs $(flexExtCUDA_debug_bin) $(flexExtCUDA_debug_obj)\n\t$(ECHO) building $@ complete!\n\n$(flexExtCUDA_debug_cuda_extensions_cuda_flexExt_cu_o): $(flexExtCUDA_cuda_extensions_cuda_flexExt_cu) \n\t@mkdir -p `dirname $(OBJS_DIR)/flexExtCUDA_debug/cuda/extensions/cudaflexExt.o`\n\t$(ECHO) /usr/local/cuda/bin/nvcc -O3 -g -arch=sm_30 -m64 -Xcompiler -fPIC -D_FORCE_INLINES  -I../../.. -I../../../external -I/usr/local/cuda/include -I../../../external/cub-1.3.2  --compile \"./../../../extensions/cuda/flexExt.cu\" -o \"$(OBJS_DIR)/flexExtCUDA_debug/cuda/extensions/cudaflexExt.o\"\n\t/usr/local/cuda/bin/nvcc -O3 -g -arch=sm_30 -m64 -Xcompiler -fPIC -D_FORCE_INLINES  -I../../.. -I../../../external -I/usr/local/cuda/include -I../../../external/cub-1.3.2  --compile \"./../../../extensions/cuda/flexExt.cu\" -o \"$(OBJS_DIR)/flexExtCUDA_debug/cuda/extensions/cudaflexExt.o\"\n\nflexExtCUDA_debug_DEPDIR = $(dir $(@))/$(*F)\n$(flexExtCUDA_debug_cpp_o): $(flexExtCUDA_debug_objsdir)/%.o:\n\t$(ECHO) flexExtCUDA: compiling debug $(filter %$(strip $(subst .cpp.o,.cpp, $(subst $(flexExtCUDA_debug_objsdir),, $@))), $(flexExtCUDA_cppfiles))...\n\tmkdir -p $(dir $(@))\n\t$(CXX) $(flexExtCUDA_debug_cppflags) -c $(filter %$(strip $(subst .cpp.o,.cpp, $(subst $(flexExtCUDA_debug_objsdir),, $@))), $(flexExtCUDA_cppfiles)) -o $@\n\t@mkdir -p $(dir $(addprefix $(DEPSDIR)/flexExtCUDA/debug/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cpp.o,.cpp, $(subst $(flexExtCUDA_debug_objsdir),, $@))), $(flexExtCUDA_cppfiles))))))\n\tcp $(flexExtCUDA_debug_DEPDIR).d $(addprefix $(DEPSDIR)/flexExtCUDA/debug/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cpp.o,.cpp, $(subst $(flexExtCUDA_debug_objsdir),, $@))), $(flexExtCUDA_cppfiles))))).P; \\\n\t  sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\\\$$//' \\\n\t\t-e '/^$$/ d' -e 's/$$/ :/' < $(flexExtCUDA_debug_DEPDIR).d >> $(addprefix $(DEPSDIR)/flexExtCUDA/debug/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cpp.o,.cpp, $(subst $(flexExtCUDA_debug_objsdir),, $@))), $(flexExtCUDA_cppfiles))))).P; \\\n\t  rm -f $(flexExtCUDA_debug_DEPDIR).d\n\n$(flexExtCUDA_debug_cc_o): $(flexExtCUDA_debug_objsdir)/%.o:\n\t$(ECHO) flexExtCUDA: compiling debug $(filter %$(strip $(subst .cc.o,.cc, $(subst $(flexExtCUDA_debug_objsdir),, $@))), $(flexExtCUDA_ccfiles))...\n\tmkdir -p $(dir $(@))\n\t$(CXX) $(flexExtCUDA_debug_cppflags) -c $(filter %$(strip $(subst .cc.o,.cc, $(subst $(flexExtCUDA_debug_objsdir),, $@))), $(flexExtCUDA_ccfiles)) -o $@\n\tmkdir -p $(dir $(addprefix $(DEPSDIR)/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cc.o,.cc, $(subst $(flexExtCUDA_debug_objsdir),, $@))), $(flexExtCUDA_ccfiles))))))\n\tcp $(flexExtCUDA_debug_DEPDIR).d $(addprefix $(DEPSDIR)/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cc.o,.cc, $(subst $(flexExtCUDA_debug_objsdir),, $@))), $(flexExtCUDA_ccfiles))))).debug.P; \\\n\t  sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\\\$$//' \\\n\t\t-e '/^$$/ d' -e 's/$$/ :/' < $(flexExtCUDA_debug_DEPDIR).d >> $(addprefix $(DEPSDIR)/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cc.o,.cc, $(subst $(flexExtCUDA_debug_objsdir),, $@))), $(flexExtCUDA_ccfiles))))).debug.P; \\\n\t  rm -f $(flexExtCUDA_debug_DEPDIR).d\n\n$(flexExtCUDA_debug_c_o): $(flexExtCUDA_debug_objsdir)/%.o:\n\t$(ECHO) flexExtCUDA: compiling debug $(filter %$(strip $(subst .c.o,.c, $(subst $(flexExtCUDA_debug_objsdir),, $@))), $(flexExtCUDA_cfiles))...\n\tmkdir -p $(dir $(@))\n\t$(CC) $(flexExtCUDA_debug_cflags) -c $(filter %$(strip $(subst .c.o,.c, $(subst $(flexExtCUDA_debug_objsdir),, $@))), $(flexExtCUDA_cfiles)) -o $@ \n\t@mkdir -p $(dir $(addprefix $(DEPSDIR)/flexExtCUDA/debug/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .c.o,.c, $(subst $(flexExtCUDA_debug_objsdir),, $@))), $(flexExtCUDA_cfiles))))))\n\tcp $(flexExtCUDA_debug_DEPDIR).d $(addprefix $(DEPSDIR)/flexExtCUDA/debug/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .c.o,.c, $(subst $(flexExtCUDA_debug_objsdir),, $@))), $(flexExtCUDA_cfiles))))).P; \\\n\t  sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\\\$$//' \\\n\t\t-e '/^$$/ d' -e 's/$$/ :/' < $(flexExtCUDA_debug_DEPDIR).d >> $(addprefix $(DEPSDIR)/flexExtCUDA/debug/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .c.o,.c, $(subst $(flexExtCUDA_debug_objsdir),, $@))), $(flexExtCUDA_cfiles))))).P; \\\n\t  rm -f $(flexExtCUDA_debug_DEPDIR).d\n\nclean_flexExtCUDA:  clean_flexExtCUDA_release clean_flexExtCUDA_debug\n\trm -rf $(DEPSDIR)\n\nexport VERBOSE\nifndef VERBOSE\n.SILENT:\nendif\n"
  },
  {
    "path": "demo/compiler/vc12win32/flexDemoCUDA.sln",
    "content": "Microsoft Visual Studio Solution File, Format Version 12.00\n# Visual Studio 2013\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"flexDemoCUDA\", \"./flexDemoCUDA.vcxproj\", \"{5159D6B6-76B6-4056-6797-30484A82D93C}\"\n\tProjectSection(ProjectDependencies) = postProject\n\t\t{FD4C9C06-7BEC-CDF8-C631-CD32A428A280} = {FD4C9C06-7BEC-CDF8-C631-CD32A428A280}\n\tEndProjectSection\nEndProject\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"flexExtCUDA\", \"./../../../extensions/compiler/vc12win32/flexExtCUDA.vcxproj\", \"{FD4C9C06-7BEC-CDF8-C631-CD32A428A280}\"\n\tProjectSection(ProjectDependencies) = postProject\n\tEndProjectSection\nEndProject\nGlobal\n\tGlobalSection(SolutionConfigurationPlatforms) = preSolution\n\t\tdebug|Win32 = debug|Win32\n\t\trelease|Win32 = release|Win32\n\tEndGlobalSection\n\tGlobalSection(ProjectConfigurationPlatforms) = postSolution\n\t\t{5159D6B6-76B6-4056-6797-30484A82D93C}.debug|Win32.ActiveCfg = debug|Win32\n\t\t{5159D6B6-76B6-4056-6797-30484A82D93C}.debug|Win32.Build.0 = debug|Win32\n\t\t{5159D6B6-76B6-4056-6797-30484A82D93C}.release|Win32.ActiveCfg = release|Win32\n\t\t{5159D6B6-76B6-4056-6797-30484A82D93C}.release|Win32.Build.0 = release|Win32\n\t\t{FD4C9C06-7BEC-CDF8-C631-CD32A428A280}.debug|Win32.ActiveCfg = debug|Win32\n\t\t{FD4C9C06-7BEC-CDF8-C631-CD32A428A280}.debug|Win32.Build.0 = debug|Win32\n\t\t{FD4C9C06-7BEC-CDF8-C631-CD32A428A280}.release|Win32.ActiveCfg = release|Win32\n\t\t{FD4C9C06-7BEC-CDF8-C631-CD32A428A280}.release|Win32.Build.0 = release|Win32\n\tEndGlobalSection\n\tGlobalSection(ExtensibilityGlobals) = postSolution\n\tEndGlobalSection\n\tGlobalSection(ExtensibilityAddins) = postSolution\n\tEndGlobalSection\n\tGlobalSection(NestedProjects) = preSolution\n\tEndGlobalSection\nEndGlobal\n"
  },
  {
    "path": "demo/compiler/vc12win32/flexDemoCUDA.vcxproj",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project DefaultTargets=\"Build\" ToolsVersion=\"12.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n\t<ItemGroup Label=\"ProjectConfigurations\">\n\t\t<ProjectConfiguration Include=\"debug|Win32\">\n\t\t\t<Configuration>debug</Configuration>\n\t\t\t<Platform>Win32</Platform>\n\t\t</ProjectConfiguration>\n\t\t<ProjectConfiguration Include=\"release|Win32\">\n\t\t\t<Configuration>release</Configuration>\n\t\t\t<Platform>Win32</Platform>\n\t\t</ProjectConfiguration>\n\t</ItemGroup>\n\t<PropertyGroup Label=\"Globals\">\n\t\t<ProjectGuid>{5159D6B6-76B6-4056-6797-30484A82D93C}</ProjectGuid>\n\t\t<RootNamespace>flexDemoCUDA</RootNamespace>\n\t</PropertyGroup>\n\t<Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.Default.props\" />\n\t<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\" Label=\"Configuration\">\n\t\t<ConfigurationType>Application</ConfigurationType>\n\t\t<PlatformToolset>v120</PlatformToolset>\n\t</PropertyGroup>\n\t<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\" Label=\"Configuration\">\n\t\t<ConfigurationType>Application</ConfigurationType>\n\t\t<PlatformToolset>v120</PlatformToolset>\n\t\t<WholeProgramOptimization>true</WholeProgramOptimization>\n\t</PropertyGroup>\n\t<Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.props\" />\n\t<ImportGroup Label=\"ExtensionSettings\">\n\t</ImportGroup>\n\t<ImportGroup Label=\"PropertySheets\" Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">\n\t\t<Import Project=\"$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props\" Condition=\"exists('$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props')\" Label=\"LocalAppDataPlatform\" />\n\t</ImportGroup>\n\t<ImportGroup Label=\"PropertySheets\" Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">\n\t\t<Import Project=\"$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props\" Condition=\"exists('$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props')\" Label=\"LocalAppDataPlatform\" />\n\t</ImportGroup>\n\t<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">\n\t\t<OutDir>./../../../bin/win32\\</OutDir>\n\t\t<IntDir>./build/win32/debug\\</IntDir>\n\t\t<TargetExt>.exe</TargetExt>\n\t\t<TargetName>NvFlexDemoDebugCUDA_x86</TargetName>\n\t\t<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>\n\t\t<CodeAnalysisRules />\n\t\t<CodeAnalysisRuleAssemblies />\n\t</PropertyGroup>\n\t<ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">\n\t\t<ClCompile>\n\t\t\t<FloatingPointModel>Precise</FloatingPointModel>\n\t\t\t<AdditionalOptions> /d2Zi+</AdditionalOptions>\n\t\t\t<Optimization>Disabled</Optimization>\n\t\t\t<AdditionalIncludeDirectories>$(CUDA_PATH)/include;$(CUDA_PATH)/extras/cupti/include;./../../..;./../..;./../../d3d11;./../../d3d12;./../../../external/SDL2-2.0.4/include;./../../../external/D3D12/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\n\t\t\t<PreprocessorDefinitions>_CONSOLE;WIN32;_CRT_SECURE_NO_WARNINGS;_DEBUG;_ITERATOR_DEBUG_LEVEL=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n\t\t\t<WarningLevel>Level3</WarningLevel>\n\t\t\t<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>\n\t\t\t<PrecompiledHeader>NotUsing</PrecompiledHeader>\n\t\t\t<PrecompiledHeaderFile></PrecompiledHeaderFile>\n\t\t</ClCompile>\n\t\t<Link>\n\t\t\t<AdditionalOptions>/DELAYLOAD:d3d11.dll /DELAYLOAD:d3d12.dll /DELAYLOAD:dxgi.dll</AdditionalOptions>\n\t\t\t<AdditionalDependencies>cudart.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;d3dcompiler.lib;delayimp.lib;./../../../external/SDL2-2.0.4/lib/x86/SDL2.lib;./../../../external/SDL2-2.0.4/lib/x86/SDL2main.lib;./../../../external/NvToolsExt/lib/Win32/nvToolsExt32_1.lib;./../../../external/D3D12/libs/x86/d3d12.lib;./../../../lib/win32/NvFlexDebugCUDA_x86.lib;./../../../lib/win32/NvFlexExtDebugCUDA_x86.lib;./../../../lib/win32/NvFlexDeviceDebug_x86.lib;%(AdditionalDependencies)</AdditionalDependencies>\n\t\t\t<OutputFile>$(OutDir)NvFlexDemoDebugCUDA_x86.exe</OutputFile>\n\t\t\t<AdditionalLibraryDirectories>$(CUDA_PATH)/lib/win32;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\n\t\t\t<ProgramDatabaseFile>$(OutDir)/NvFlexDemoDebugCUDA_x86.exe.pdb</ProgramDatabaseFile>\n\t\t\t<SubSystem>Console</SubSystem>\n\t\t\t<ImportLibrary>$(OutDir)$(TargetName).lib</ImportLibrary>\n\t\t\t<GenerateDebugInformation>true</GenerateDebugInformation>\n\t\t\t<TargetMachine>MachineX86</TargetMachine>\n\t\t</Link>\n\t\t<ResourceCompile>\n\t\t</ResourceCompile>\n\t\t<ProjectReference>\n\t\t</ProjectReference>\n\t</ItemDefinitionGroup>\n\t<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">\n\t\t<OutDir>./../../../bin/win32\\</OutDir>\n\t\t<IntDir>./build/win32/release\\</IntDir>\n\t\t<TargetExt>.exe</TargetExt>\n\t\t<TargetName>NvFlexDemoReleaseCUDA_x86</TargetName>\n\t\t<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>\n\t\t<CodeAnalysisRules />\n\t\t<CodeAnalysisRuleAssemblies />\n\t</PropertyGroup>\n\t<ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">\n\t\t<ClCompile>\n\t\t\t<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>\n\t\t\t<IntrinsicFunctions>true</IntrinsicFunctions>\n\t\t\t<FunctionLevelLinking>true</FunctionLevelLinking>\n\t\t\t<BufferSecurityCheck>false</BufferSecurityCheck>\n\t\t\t<FloatingPointModel>Fast</FloatingPointModel>\n\t\t\t<AdditionalOptions> /d2Zi+</AdditionalOptions>\n\t\t\t<Optimization>Full</Optimization>\n\t\t\t<AdditionalIncludeDirectories>$(CUDA_PATH)/include;$(CUDA_PATH)/extras/cupti/include;./../../..;./../..;./../../d3d11;./../../d3d12;./../../../external/SDL2-2.0.4/include;./../../../external/D3D12/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\n\t\t\t<PreprocessorDefinitions>_CONSOLE;WIN32;_CRT_SECURE_NO_WARNINGS;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n\t\t\t<WarningLevel>Level3</WarningLevel>\n\t\t\t<RuntimeLibrary>MultiThreaded</RuntimeLibrary>\n\t\t\t<PrecompiledHeader>NotUsing</PrecompiledHeader>\n\t\t\t<PrecompiledHeaderFile></PrecompiledHeaderFile>\n\t\t</ClCompile>\n\t\t<Link>\n\t\t\t<AdditionalOptions>/DELAYLOAD:d3d11.dll /DELAYLOAD:d3d12.dll /DELAYLOAD:dxgi.dll</AdditionalOptions>\n\t\t\t<AdditionalDependencies>cudart.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;d3dcompiler.lib;delayimp.lib;./../../../external/SDL2-2.0.4/lib/x86/SDL2.lib;./../../../external/SDL2-2.0.4/lib/x86/SDL2main.lib;./../../../external/NvToolsExt/lib/Win32/nvToolsExt32_1.lib;./../../../external/D3D12/libs/x86/d3d12.lib;./../../../lib/win32/NvFlexReleaseCUDA_x86.lib;./../../../lib/win32/NvFlexExtReleaseCUDA_x86.lib;./../../../lib/win32/NvFlexDeviceRelease_x86.lib;%(AdditionalDependencies)</AdditionalDependencies>\n\t\t\t<OutputFile>$(OutDir)NvFlexDemoReleaseCUDA_x86.exe</OutputFile>\n\t\t\t<AdditionalLibraryDirectories>$(CUDA_PATH)/lib/win32;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\n\t\t\t<ProgramDatabaseFile>$(OutDir)/NvFlexDemoReleaseCUDA_x86.exe.pdb</ProgramDatabaseFile>\n\t\t\t<SubSystem>Console</SubSystem>\n\t\t\t<ImportLibrary>$(OutDir)$(TargetName).lib</ImportLibrary>\n\t\t\t<GenerateDebugInformation>true</GenerateDebugInformation>\n\t\t\t<TargetMachine>MachineX86</TargetMachine>\n\t\t</Link>\n\t\t<ResourceCompile>\n\t\t</ResourceCompile>\n\t\t<ProjectReference>\n\t\t</ProjectReference>\n\t</ItemDefinitionGroup>\n<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">\n  <LocalDebuggerWorkingDirectory>$(OutputPath)</LocalDebuggerWorkingDirectory>\n</PropertyGroup>\n<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">\n  <LocalDebuggerWorkingDirectory>$(OutputPath)</LocalDebuggerWorkingDirectory>\n</PropertyGroup>\n\t<ItemGroup>\n\t\t<ClInclude Include=\"..\\..\\scenes\\adhesion.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\armadilloshower.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\bananas.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\bouyancy.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\bunnybath.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\ccdfluid.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\clothlayers.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\dambreak.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\darts.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\debris.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\deformables.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\envcloth.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\flag.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\fluidblock.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\fluidclothcoupling.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\forcefield.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\frictionmoving.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\frictionramp.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\gamemesh.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\googun.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\granularpile.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\granularshape.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\inflatable.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\initialoverlap.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\lighthouse.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\localspacecloth.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\localspacefluid.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\lowdimensionalshapes.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\melting.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\mixedpile.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\nonconvex.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\parachutingbunnies.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\pasta.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\player.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\potpourri.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\rayleightaylor.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\restitution.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\rigidfluidcoupling.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\rigidpile.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\rigidrotation.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\rockpool.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\sdfcollision.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\shapechannels.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\shapecollision.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\softbody.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\spherecloth.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\surfacetension.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\tearing.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\thinbox.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\trianglecollision.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\triggervolume.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\viscosity.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\waterballoon.h\">\n\t\t</ClInclude>\n\t</ItemGroup>\n\t<ItemGroup>\n\t\t<ClCompile Include=\"..\\..\\imgui.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\main.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\shadersDemoContext.cpp\">\n\t\t</ClCompile>\n\t\t<ClInclude Include=\"..\\..\\benchmark.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\demoContext.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\helpers.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\imgui.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\shaders.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\shadersDemoContext.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\stb_truetype.h\">\n\t\t</ClInclude>\n\t</ItemGroup>\n\t<ItemGroup>\n\t\t<ClInclude Include=\"..\\..\\..\\include\\NvFlex.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\include\\NvFlexDevice.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\include\\NvFlexExt.h\">\n\t\t</ClInclude>\n\t</ItemGroup>\n\t<ItemGroup>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\aabbtree.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\core.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\extrude.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\maths.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\mesh.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\perlin.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\pfm.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\platform.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\png.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\sdf.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\tga.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\voxelize.cpp\">\n\t\t</ClCompile>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\aabbtree.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\cloth.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\convex.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\core.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\extrude.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\mat22.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\mat33.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\mat44.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\maths.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\matnn.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\mesh.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\perlin.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\pfm.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\platform.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\png.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\point3.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\quat.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\sdf.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\tga.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\types.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\vec2.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\vec3.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\vec4.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\voxelize.h\">\n\t\t</ClInclude>\n\t</ItemGroup>\n\t<ItemGroup>\n\t\t<ClCompile Include=\"..\\..\\opengl\\imguiRenderGL.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\opengl\\shader.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\opengl\\shadersGL.cpp\">\n\t\t</ClCompile>\n\t\t<ClInclude Include=\"..\\..\\opengl\\demoContextOGL.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\opengl\\imguiRenderGL.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\opengl\\shader.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\opengl\\utilsGL.h\">\n\t\t</ClInclude>\n\t</ItemGroup>\n\t<ItemGroup>\n\t\t<ClCompile Include=\"..\\..\\d3d11\\appD3D11Ctx.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d11\\debugLineRenderD3D11.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d11\\demoContextD3D11.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d11\\diffuseRenderD3D11.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d11\\fluidRenderD3D11.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d11\\imguiGraphD3D11.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d11\\imguiInteropD3D11.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d11\\meshRenderD3D11.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d11\\pointRenderD3D11.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d11\\renderTargetD3D11.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d11\\shadowMapD3D11.cpp\">\n\t\t</ClCompile>\n\t\t<ClInclude Include=\"..\\..\\d3d11\\appD3D11Ctx.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d11\\debugLineRenderD3D11.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d11\\demoContextD3D11.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d11\\diffuseRenderD3D11.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d11\\fluidRenderD3D11.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d11\\imguiGraphD3D11.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d11\\meshRenderD3D11.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d11\\pointRenderD3D11.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d11\\renderTargetD3D11.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d11\\shadowMapD3D11.h\">\n\t\t</ClInclude>\n\t</ItemGroup>\n\t<ItemGroup>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\appD3D12Ctx.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\bufferD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\demoContextD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\diffusePointRenderPipelineD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\fluidCompositeRenderPipelineD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\fluidEllipsoidRenderPipelineD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\fluidSmoothRenderPipelineD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\fluidThicknessRenderPipelineD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\imguiGraphD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\lineRenderPipelineD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\meshRenderer.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\meshRendererD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\meshRenderPipelineD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\meshUtil.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12CircularResourceHeap.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12CounterFence.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12DescriptorHeap.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12Handle.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12HelperUtil.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12RenderTarget.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12Resource.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12ResourceScopeManager.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDxDebugUtil.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDxFormatUtil.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoFreeList.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvResult.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\pipelineUtilD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\pointRenderPipelineD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\renderStateD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\appD3D12Ctx.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\bufferD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\demoContextD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\diffusePointRenderPipelineD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\fluidCompositeRenderPipelineD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\fluidEllipsoidRenderPipelineD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\fluidSmoothRenderPipelineD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\fluidThicknessRenderPipelineD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\imguiGraphD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\imguiInteropD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\lineRenderPipelineD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\meshRenderer.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\meshRendererD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\meshRenderPipelineD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\meshUtil.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12CircularResourceHeap.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12CounterFence.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12DescriptorHeap.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12HelperUtil.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12RenderTarget.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12Resource.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12ResourceScopeManager.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDxDebugUtil.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDxFormatUtil.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoFreeList.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\pipelineUtilD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\pointRenderPipelineD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\renderStateD3D12.cpp\">\n\t\t</ClCompile>\n\t</ItemGroup>\n\t<ItemGroup>\n\t\t<ClCompile Include=\"..\\..\\d3d\\appGraphCtxLoader.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d\\imguiGraph.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d\\imguiGraphLoader.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d\\loader.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d\\renderParamsD3D.cpp\">\n\t\t</ClCompile>\n\t\t<ClInclude Include=\"..\\..\\d3d\\appGraphCtx.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d\\imguiGraph.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d\\loader.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d\\loaderMacros.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d\\renderParamsD3D.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d\\shaderCommonD3D.h\">\n\t\t</ClInclude>\n\t</ItemGroup>\n\t<ItemGroup>\n\t\t<FxCompile Include=\"./../../d3d/shaders/debugLineVS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">debugLineVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">debugLineVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/debugLinePS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">debugLinePS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">debugLinePS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/imguiPS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">imguiPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">imguiPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/imguiVS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">imguiVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">imguiVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/meshPS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">meshPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">meshPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/meshAsyncComputeBenchPS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">meshPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">meshPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/meshShadowPS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">meshPS_Shadow</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">meshPS_Shadow</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/meshVS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">meshVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">meshVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointVS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">pointVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">pointVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointGS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">Geometry</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">pointGS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">Geometry</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">pointGS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointPS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">pointPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">pointPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointShadowPS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">pointShadowPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">pointShadowPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/diffuseVS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">diffuseVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">diffuseVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/diffuseGS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">Geometry</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">diffuseGS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">Geometry</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">diffuseGS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/diffusePS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">diffusePS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">diffusePS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/ellipsoidDepthVS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">ellipsoidDepthVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">ellipsoidDepthVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/ellipsoidDepthGS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">Geometry</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">ellipsoidDepthGS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">Geometry</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">ellipsoidDepthGS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/ellipsoidDepthPS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">ellipsoidDepthPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">ellipsoidDepthPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/passThroughVS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">passThroughVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">passThroughVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/blurDepthPS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">blurDepthPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">blurDepthPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/compositePS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">compositePS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">compositePS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointThicknessVS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">pointThicknessVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">pointThicknessVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointThicknessGS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">Geometry</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">pointThicknessGS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">Geometry</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">pointThicknessGS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointThicknessPS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">pointThicknessPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">pointThicknessPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t</ItemGroup>\n\t<ItemGroup>\n\t\t<ProjectReference Include=\"./../../../extensions/compiler/vc12win32/flexExtCUDA.vcxproj\">\n\t\t\t<ReferenceOutputAssembly>false</ReferenceOutputAssembly>\n\t\t</ProjectReference>\n\t</ItemGroup>\n\t<Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.targets\" />\n\t<ImportGroup Label=\"ExtensionTargets\"></ImportGroup>\n</Project>\n"
  },
  {
    "path": "demo/compiler/vc12win32/flexDemoCUDA.vcxproj.filters",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\r\n<Project ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\r\r\n\t<ItemGroup>\r\r\n\t\t<Filter Include=\"demo\">\r\r\n\t\t</Filter>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<Filter Include=\"demo\\scenes\">\r\r\n\t\t</Filter>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\adhesion.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\armadilloshower.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\bananas.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\bouyancy.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\bunnybath.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\ccdfluid.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\clothlayers.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\dambreak.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\darts.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\debris.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\deformables.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\envcloth.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\flag.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\fluidblock.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\fluidclothcoupling.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\forcefield.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\frictionmoving.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\frictionramp.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\gamemesh.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\googun.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\granularpile.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\granularshape.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\inflatable.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\initialoverlap.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\lighthouse.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\localspacecloth.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\localspacefluid.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\lowdimensionalshapes.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\melting.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\mixedpile.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\nonconvex.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\parachutingbunnies.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\pasta.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\player.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\potpourri.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\rayleightaylor.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\restitution.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\rigidfluidcoupling.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\rigidpile.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\rigidrotation.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\rockpool.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\sdfcollision.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\shapechannels.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\shapecollision.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\softbody.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\spherecloth.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\surfacetension.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\tearing.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\thinbox.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\trianglecollision.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\triggervolume.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\viscosity.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\waterballoon.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<ClCompile Include=\"..\\..\\imgui.cpp\">\r\r\n\t\t\t<Filter>demo</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\main.cpp\">\r\r\n\t\t\t<Filter>demo</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\shadersDemoContext.cpp\">\r\r\n\t\t\t<Filter>demo</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClInclude Include=\"..\\..\\benchmark.h\">\r\r\n\t\t\t<Filter>demo</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\demoContext.h\">\r\r\n\t\t\t<Filter>demo</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\helpers.h\">\r\r\n\t\t\t<Filter>demo</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\imgui.h\">\r\r\n\t\t\t<Filter>demo</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes.h\">\r\r\n\t\t\t<Filter>demo</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\shaders.h\">\r\r\n\t\t\t<Filter>demo</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\shadersDemoContext.h\">\r\r\n\t\t\t<Filter>demo</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\stb_truetype.h\">\r\r\n\t\t\t<Filter>demo</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<Filter Include=\"include\">\r\r\n\t\t</Filter>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\include\\NvFlex.h\">\r\r\n\t\t\t<Filter>include</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\include\\NvFlexDevice.h\">\r\r\n\t\t\t<Filter>include</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\include\\NvFlexExt.h\">\r\r\n\t\t\t<Filter>include</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<Filter Include=\"core\">\r\r\n\t\t</Filter>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\aabbtree.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\core.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\extrude.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\maths.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\mesh.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\perlin.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\pfm.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\platform.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\png.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\sdf.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\tga.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\voxelize.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\aabbtree.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\cloth.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\convex.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\core.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\extrude.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\mat22.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\mat33.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\mat44.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\maths.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\matnn.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\mesh.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\perlin.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\pfm.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\platform.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\png.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\point3.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\quat.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\sdf.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\tga.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\types.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\vec2.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\vec3.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\vec4.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\voxelize.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<Filter Include=\"opengl\">\r\r\n\t\t</Filter>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<ClCompile Include=\"..\\..\\opengl\\imguiRenderGL.cpp\">\r\r\n\t\t\t<Filter>opengl</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\opengl\\shader.cpp\">\r\r\n\t\t\t<Filter>opengl</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\opengl\\shadersGL.cpp\">\r\r\n\t\t\t<Filter>opengl</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClInclude Include=\"..\\..\\opengl\\demoContextOGL.h\">\r\r\n\t\t\t<Filter>opengl</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\opengl\\imguiRenderGL.h\">\r\r\n\t\t\t<Filter>opengl</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\opengl\\shader.h\">\r\r\n\t\t\t<Filter>opengl</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\opengl\\utilsGL.h\">\r\r\n\t\t\t<Filter>opengl</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<Filter Include=\"d3d11\">\r\r\n\t\t</Filter>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d11\\appD3D11Ctx.cpp\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d11\\debugLineRenderD3D11.cpp\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d11\\demoContextD3D11.cpp\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d11\\diffuseRenderD3D11.cpp\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d11\\fluidRenderD3D11.cpp\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d11\\imguiGraphD3D11.cpp\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d11\\imguiInteropD3D11.cpp\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d11\\meshRenderD3D11.cpp\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d11\\pointRenderD3D11.cpp\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d11\\renderTargetD3D11.cpp\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d11\\shadowMapD3D11.cpp\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d11\\appD3D11Ctx.h\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d11\\debugLineRenderD3D11.h\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d11\\demoContextD3D11.h\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d11\\diffuseRenderD3D11.h\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d11\\fluidRenderD3D11.h\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d11\\imguiGraphD3D11.h\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d11\\meshRenderD3D11.h\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d11\\pointRenderD3D11.h\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d11\\renderTargetD3D11.h\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d11\\shadowMapD3D11.h\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<Filter Include=\"d3d12\">\r\r\n\t\t</Filter>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\appD3D12Ctx.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\bufferD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\demoContextD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\diffusePointRenderPipelineD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\fluidCompositeRenderPipelineD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\fluidEllipsoidRenderPipelineD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\fluidSmoothRenderPipelineD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\fluidThicknessRenderPipelineD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\imguiGraphD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\lineRenderPipelineD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\meshRenderer.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\meshRendererD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\meshRenderPipelineD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\meshUtil.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12CircularResourceHeap.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12CounterFence.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12DescriptorHeap.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12Handle.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12HelperUtil.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12RenderTarget.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12Resource.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12ResourceScopeManager.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDxDebugUtil.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDxFormatUtil.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoFreeList.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvResult.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\pipelineUtilD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\pointRenderPipelineD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\renderStateD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\appD3D12Ctx.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\bufferD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\demoContextD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\diffusePointRenderPipelineD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\fluidCompositeRenderPipelineD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\fluidEllipsoidRenderPipelineD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\fluidSmoothRenderPipelineD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\fluidThicknessRenderPipelineD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\imguiGraphD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\imguiInteropD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\lineRenderPipelineD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\meshRenderer.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\meshRendererD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\meshRenderPipelineD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\meshUtil.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12CircularResourceHeap.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12CounterFence.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12DescriptorHeap.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12HelperUtil.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12RenderTarget.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12Resource.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12ResourceScopeManager.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDxDebugUtil.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDxFormatUtil.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoFreeList.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\pipelineUtilD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\pointRenderPipelineD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\renderStateD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<Filter Include=\"d3d\">\r\r\n\t\t</Filter>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d\\appGraphCtxLoader.cpp\">\r\r\n\t\t\t<Filter>d3d</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d\\imguiGraph.cpp\">\r\r\n\t\t\t<Filter>d3d</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d\\imguiGraphLoader.cpp\">\r\r\n\t\t\t<Filter>d3d</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d\\loader.cpp\">\r\r\n\t\t\t<Filter>d3d</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d\\renderParamsD3D.cpp\">\r\r\n\t\t\t<Filter>d3d</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d\\appGraphCtx.h\">\r\r\n\t\t\t<Filter>d3d</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d\\imguiGraph.h\">\r\r\n\t\t\t<Filter>d3d</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d\\loader.h\">\r\r\n\t\t\t<Filter>d3d</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d\\loaderMacros.h\">\r\r\n\t\t\t<Filter>d3d</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d\\renderParamsD3D.h\">\r\r\n\t\t\t<Filter>d3d</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d\\shaderCommonD3D.h\">\r\r\n\t\t\t<Filter>d3d</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup><Filter Include=\"Shader Files\"></Filter></ItemGroup>\r\n\t<ItemGroup>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/debugLineVS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/debugLinePS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/imguiPS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/imguiVS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/meshPS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/meshAsyncComputeBenchPS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/meshShadowPS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/meshVS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointVS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointGS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointPS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointShadowPS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/diffuseVS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/diffuseGS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/diffusePS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/ellipsoidDepthVS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/ellipsoidDepthGS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/ellipsoidDepthPS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/passThroughVS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/blurDepthPS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/compositePS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointThicknessVS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointThicknessGS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointThicknessPS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t</ItemGroup>\r\n</Project>"
  },
  {
    "path": "demo/compiler/vc12win32/flexDemoCUDA.vcxproj.user",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\r\n<Project ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\r\r\n<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">\r\r\n  <LocalDebuggerWorkingDirectory>$(OutputPath)</LocalDebuggerWorkingDirectory>\r\r\n</PropertyGroup>\r\r\n<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">\r\r\n  <LocalDebuggerWorkingDirectory>$(OutputPath)</LocalDebuggerWorkingDirectory>\r\r\n</PropertyGroup>\r\r\n</Project>"
  },
  {
    "path": "demo/compiler/vc12win32/flexDemoD3D.sln",
    "content": "Microsoft Visual Studio Solution File, Format Version 12.00\n# Visual Studio 2013\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"flexDemoD3D\", \"./flexDemoD3D.vcxproj\", \"{EF4EDDD8-2620-47AA-E75D-4C682C276C02}\"\n\tProjectSection(ProjectDependencies) = postProject\n\t\t{9B42889D-2F0D-0378-E87E-82C8D918DB4D} = {9B42889D-2F0D-0378-E87E-82C8D918DB4D}\n\tEndProjectSection\nEndProject\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"flexExtD3D\", \"./../../../extensions/compiler/vc12win32/flexExtD3D.vcxproj\", \"{9B42889D-2F0D-0378-E87E-82C8D918DB4D}\"\n\tProjectSection(ProjectDependencies) = postProject\n\tEndProjectSection\nEndProject\nGlobal\n\tGlobalSection(SolutionConfigurationPlatforms) = preSolution\n\t\tdebug|Win32 = debug|Win32\n\t\trelease|Win32 = release|Win32\n\tEndGlobalSection\n\tGlobalSection(ProjectConfigurationPlatforms) = postSolution\n\t\t{EF4EDDD8-2620-47AA-E75D-4C682C276C02}.debug|Win32.ActiveCfg = debug|Win32\n\t\t{EF4EDDD8-2620-47AA-E75D-4C682C276C02}.debug|Win32.Build.0 = debug|Win32\n\t\t{EF4EDDD8-2620-47AA-E75D-4C682C276C02}.release|Win32.ActiveCfg = release|Win32\n\t\t{EF4EDDD8-2620-47AA-E75D-4C682C276C02}.release|Win32.Build.0 = release|Win32\n\t\t{9B42889D-2F0D-0378-E87E-82C8D918DB4D}.debug|Win32.ActiveCfg = debug|Win32\n\t\t{9B42889D-2F0D-0378-E87E-82C8D918DB4D}.debug|Win32.Build.0 = debug|Win32\n\t\t{9B42889D-2F0D-0378-E87E-82C8D918DB4D}.release|Win32.ActiveCfg = release|Win32\n\t\t{9B42889D-2F0D-0378-E87E-82C8D918DB4D}.release|Win32.Build.0 = release|Win32\n\tEndGlobalSection\n\tGlobalSection(ExtensibilityGlobals) = postSolution\n\tEndGlobalSection\n\tGlobalSection(ExtensibilityAddins) = postSolution\n\tEndGlobalSection\n\tGlobalSection(NestedProjects) = preSolution\n\tEndGlobalSection\nEndGlobal\n"
  },
  {
    "path": "demo/compiler/vc12win32/flexDemoD3D.vcxproj",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project DefaultTargets=\"Build\" ToolsVersion=\"12.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n\t<ItemGroup Label=\"ProjectConfigurations\">\n\t\t<ProjectConfiguration Include=\"debug|Win32\">\n\t\t\t<Configuration>debug</Configuration>\n\t\t\t<Platform>Win32</Platform>\n\t\t</ProjectConfiguration>\n\t\t<ProjectConfiguration Include=\"release|Win32\">\n\t\t\t<Configuration>release</Configuration>\n\t\t\t<Platform>Win32</Platform>\n\t\t</ProjectConfiguration>\n\t</ItemGroup>\n\t<PropertyGroup Label=\"Globals\">\n\t\t<ProjectGuid>{EF4EDDD8-2620-47AA-E75D-4C682C276C02}</ProjectGuid>\n\t\t<RootNamespace>flexDemoD3D</RootNamespace>\n\t</PropertyGroup>\n\t<Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.Default.props\" />\n\t<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\" Label=\"Configuration\">\n\t\t<ConfigurationType>Application</ConfigurationType>\n\t\t<PlatformToolset>v120</PlatformToolset>\n\t</PropertyGroup>\n\t<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\" Label=\"Configuration\">\n\t\t<ConfigurationType>Application</ConfigurationType>\n\t\t<PlatformToolset>v120</PlatformToolset>\n\t\t<WholeProgramOptimization>true</WholeProgramOptimization>\n\t</PropertyGroup>\n\t<Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.props\" />\n\t<ImportGroup Label=\"ExtensionSettings\">\n\t</ImportGroup>\n\t<ImportGroup Label=\"PropertySheets\" Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">\n\t\t<Import Project=\"$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props\" Condition=\"exists('$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props')\" Label=\"LocalAppDataPlatform\" />\n\t</ImportGroup>\n\t<ImportGroup Label=\"PropertySheets\" Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">\n\t\t<Import Project=\"$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props\" Condition=\"exists('$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props')\" Label=\"LocalAppDataPlatform\" />\n\t</ImportGroup>\n\t<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">\n\t\t<OutDir>./../../../bin/win32\\</OutDir>\n\t\t<IntDir>./build/win32/DX/debug\\</IntDir>\n\t\t<TargetExt>.exe</TargetExt>\n\t\t<TargetName>NvFlexDemoDebugD3D_x86</TargetName>\n\t\t<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>\n\t\t<CodeAnalysisRules />\n\t\t<CodeAnalysisRuleAssemblies />\n\t</PropertyGroup>\n\t<ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">\n\t\t<ClCompile>\n\t\t\t<FloatingPointModel>Precise</FloatingPointModel>\n\t\t\t<AdditionalOptions> /d2Zi+</AdditionalOptions>\n\t\t\t<Optimization>Disabled</Optimization>\n\t\t\t<AdditionalIncludeDirectories>$(CUDA_PATH)/include;$(CUDA_PATH)/extras/cupti/include;./../../..;./../..;./../../d3d11;./../../d3d12;./../../../external/SDL2-2.0.4/include;./../../../external/D3D12/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\n\t\t\t<PreprocessorDefinitions>_CONSOLE;WIN32;_CRT_SECURE_NO_WARNINGS;FLEX_DX;FLEX_DX12;_DEBUG;_ITERATOR_DEBUG_LEVEL=0;FLEX_DIRECT_COMPUTE;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n\t\t\t<WarningLevel>Level3</WarningLevel>\n\t\t\t<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>\n\t\t\t<PrecompiledHeader>NotUsing</PrecompiledHeader>\n\t\t\t<PrecompiledHeaderFile></PrecompiledHeaderFile>\n\t\t</ClCompile>\n\t\t<Link>\n\t\t\t<AdditionalOptions>/DELAYLOAD:d3d11.dll /DELAYLOAD:d3d12.dll /DELAYLOAD:dxgi.dll</AdditionalOptions>\n\t\t\t<AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;d3dcompiler.lib;delayimp.lib;./../../../external/SDL2-2.0.4/lib/x86/SDL2.lib;./../../../external/SDL2-2.0.4/lib/x86/SDL2main.lib;./../../../external/NvToolsExt/lib/Win32/nvToolsExt32_1.lib;./../../../external/D3D12/libs/x86/d3d12.lib;./../../../lib/win32/NvFlexDebugD3D_x86.lib;./../../../lib/win32/NvFlexExtDebugD3D_x86.lib;%(AdditionalDependencies)</AdditionalDependencies>\n\t\t\t<OutputFile>$(OutDir)NvFlexDemoDebugD3D_x86.exe</OutputFile>\n\t\t\t<AdditionalLibraryDirectories>$(CUDA_PATH)/lib/win32;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\n\t\t\t<ProgramDatabaseFile>$(OutDir)/NvFlexDemoDebugD3D_x86.exe.pdb</ProgramDatabaseFile>\n\t\t\t<SubSystem>Console</SubSystem>\n\t\t\t<ImportLibrary>$(OutDir)$(TargetName).lib</ImportLibrary>\n\t\t\t<GenerateDebugInformation>true</GenerateDebugInformation>\n\t\t\t<TargetMachine>MachineX86</TargetMachine>\n\t\t</Link>\n\t\t<ResourceCompile>\n\t\t</ResourceCompile>\n\t\t<ProjectReference>\n\t\t</ProjectReference>\n\t</ItemDefinitionGroup>\n\t<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">\n\t\t<OutDir>./../../../bin/win32\\</OutDir>\n\t\t<IntDir>./build/win32/D3D/demo/release\\</IntDir>\n\t\t<TargetExt>.exe</TargetExt>\n\t\t<TargetName>NvFlexDemoReleaseD3D_x86</TargetName>\n\t\t<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>\n\t\t<CodeAnalysisRules />\n\t\t<CodeAnalysisRuleAssemblies />\n\t</PropertyGroup>\n\t<ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">\n\t\t<ClCompile>\n\t\t\t<IntrinsicFunctions>true</IntrinsicFunctions>\n\t\t\t<FunctionLevelLinking>true</FunctionLevelLinking>\n\t\t\t<BufferSecurityCheck>false</BufferSecurityCheck>\n\t\t\t<FloatingPointModel>Fast</FloatingPointModel>\n\t\t\t<AdditionalOptions> /d2Zi+</AdditionalOptions>\n\t\t\t<Optimization>Full</Optimization>\n\t\t\t<AdditionalIncludeDirectories>$(CUDA_PATH)/include;$(CUDA_PATH)/extras/cupti/include;./../../..;./../..;./../../d3d11;./../../d3d12;./../../../external/SDL2-2.0.4/include;./../../../external/D3D12/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\n\t\t\t<PreprocessorDefinitions>_CONSOLE;WIN32;_CRT_SECURE_NO_WARNINGS;FLEX_DX;FLEX_DX12;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n\t\t\t<WarningLevel>Level3</WarningLevel>\n\t\t\t<RuntimeLibrary>MultiThreaded</RuntimeLibrary>\n\t\t\t<PrecompiledHeader>NotUsing</PrecompiledHeader>\n\t\t\t<PrecompiledHeaderFile></PrecompiledHeaderFile>\n\t\t</ClCompile>\n\t\t<Link>\n\t\t\t<AdditionalOptions>/DELAYLOAD:d3d11.dll /DELAYLOAD:d3d12.dll /DELAYLOAD:dxgi.dll</AdditionalOptions>\n\t\t\t<AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;d3dcompiler.lib;delayimp.lib;./../../../external/SDL2-2.0.4/lib/x86/SDL2.lib;./../../../external/SDL2-2.0.4/lib/x86/SDL2main.lib;./../../../external/NvToolsExt/lib/Win32/nvToolsExt32_1.lib;./../../../external/D3D12/libs/x86/d3d12.lib;./../../../lib/win32/NvFlexReleaseD3D_x86.lib;./../../../lib/win32/NvFlexExtReleaseD3D_x86.lib;%(AdditionalDependencies)</AdditionalDependencies>\n\t\t\t<OutputFile>$(OutDir)NvFlexDemoReleaseD3D_x86.exe</OutputFile>\n\t\t\t<AdditionalLibraryDirectories>$(CUDA_PATH)/lib/win32;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\n\t\t\t<ProgramDatabaseFile>$(OutDir)/NvFlexDemoReleaseD3D_x86.exe.pdb</ProgramDatabaseFile>\n\t\t\t<SubSystem>Console</SubSystem>\n\t\t\t<ImportLibrary>$(OutDir)$(TargetName).lib</ImportLibrary>\n\t\t\t<GenerateDebugInformation>true</GenerateDebugInformation>\n\t\t\t<TargetMachine>MachineX86</TargetMachine>\n\t\t</Link>\n\t\t<ResourceCompile>\n\t\t</ResourceCompile>\n\t\t<ProjectReference>\n\t\t</ProjectReference>\n\t</ItemDefinitionGroup>\n<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">\n  <LocalDebuggerWorkingDirectory>$(OutputPath)</LocalDebuggerWorkingDirectory>\n</PropertyGroup>\n<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">\n  <LocalDebuggerWorkingDirectory>$(OutputPath)</LocalDebuggerWorkingDirectory>\n</PropertyGroup>\n\t<ItemGroup>\n\t\t<ClInclude Include=\"..\\..\\scenes\\adhesion.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\armadilloshower.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\bananas.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\bouyancy.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\bunnybath.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\ccdfluid.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\clothlayers.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\dambreak.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\darts.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\debris.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\deformables.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\envcloth.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\flag.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\fluidblock.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\fluidclothcoupling.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\forcefield.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\frictionmoving.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\frictionramp.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\gamemesh.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\googun.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\granularpile.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\granularshape.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\inflatable.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\initialoverlap.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\lighthouse.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\localspacecloth.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\localspacefluid.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\lowdimensionalshapes.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\melting.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\mixedpile.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\nonconvex.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\parachutingbunnies.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\pasta.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\player.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\potpourri.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\rayleightaylor.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\restitution.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\rigidfluidcoupling.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\rigidpile.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\rigidrotation.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\rockpool.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\sdfcollision.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\shapechannels.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\shapecollision.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\softbody.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\spherecloth.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\surfacetension.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\tearing.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\thinbox.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\trianglecollision.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\triggervolume.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\viscosity.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\waterballoon.h\">\n\t\t</ClInclude>\n\t</ItemGroup>\n\t<ItemGroup>\n\t\t<ClCompile Include=\"..\\..\\imgui.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\main.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\shadersDemoContext.cpp\">\n\t\t</ClCompile>\n\t\t<ClInclude Include=\"..\\..\\benchmark.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\demoContext.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\helpers.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\imgui.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\shaders.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\shadersDemoContext.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\stb_truetype.h\">\n\t\t</ClInclude>\n\t</ItemGroup>\n\t<ItemGroup>\n\t\t<ClInclude Include=\"..\\..\\..\\include\\NvFlex.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\include\\NvFlexDevice.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\include\\NvFlexExt.h\">\n\t\t</ClInclude>\n\t</ItemGroup>\n\t<ItemGroup>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\aabbtree.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\core.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\extrude.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\maths.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\mesh.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\perlin.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\pfm.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\platform.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\png.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\sdf.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\tga.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\voxelize.cpp\">\n\t\t</ClCompile>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\aabbtree.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\cloth.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\convex.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\core.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\extrude.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\mat22.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\mat33.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\mat44.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\maths.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\matnn.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\mesh.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\perlin.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\pfm.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\platform.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\png.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\point3.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\quat.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\sdf.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\tga.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\types.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\vec2.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\vec3.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\vec4.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\voxelize.h\">\n\t\t</ClInclude>\n\t</ItemGroup>\n\t<ItemGroup>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\appD3D12Ctx.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\bufferD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\demoContextD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\diffusePointRenderPipelineD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\fluidCompositeRenderPipelineD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\fluidEllipsoidRenderPipelineD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\fluidSmoothRenderPipelineD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\fluidThicknessRenderPipelineD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\imguiGraphD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\lineRenderPipelineD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\meshRenderer.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\meshRendererD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\meshRenderPipelineD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\meshUtil.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12CircularResourceHeap.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12CounterFence.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12DescriptorHeap.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12Handle.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12HelperUtil.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12RenderTarget.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12Resource.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12ResourceScopeManager.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDxDebugUtil.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDxFormatUtil.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoFreeList.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvResult.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\pipelineUtilD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\pointRenderPipelineD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\renderStateD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\appD3D12Ctx.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\bufferD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\demoContextD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\diffusePointRenderPipelineD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\fluidCompositeRenderPipelineD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\fluidEllipsoidRenderPipelineD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\fluidSmoothRenderPipelineD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\fluidThicknessRenderPipelineD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\imguiGraphD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\imguiInteropD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\lineRenderPipelineD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\meshRenderer.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\meshRendererD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\meshRenderPipelineD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\meshUtil.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12CircularResourceHeap.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12CounterFence.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12DescriptorHeap.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12HelperUtil.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12RenderTarget.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12Resource.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12ResourceScopeManager.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDxDebugUtil.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDxFormatUtil.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoFreeList.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\pipelineUtilD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\pointRenderPipelineD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\renderStateD3D12.cpp\">\n\t\t</ClCompile>\n\t</ItemGroup>\n\t<ItemGroup>\n\t\t<ClInclude Include=\"..\\..\\d3d11\\appD3D11Ctx.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d11\\debugLineRenderD3D11.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d11\\demoContextD3D11.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d11\\diffuseRenderD3D11.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d11\\fluidRenderD3D11.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d11\\imguiGraphD3D11.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d11\\meshRenderD3D11.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d11\\pointRenderD3D11.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d11\\renderTargetD3D11.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d11\\shadowMapD3D11.h\">\n\t\t</ClInclude>\n\t\t<ClCompile Include=\"..\\..\\d3d11\\appD3D11Ctx.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d11\\debugLineRenderD3D11.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d11\\demoContextD3D11.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d11\\diffuseRenderD3D11.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d11\\fluidRenderD3D11.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d11\\imguiGraphD3D11.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d11\\imguiInteropD3D11.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d11\\meshRenderD3D11.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d11\\pointRenderD3D11.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d11\\renderTargetD3D11.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d11\\shadowMapD3D11.cpp\">\n\t\t</ClCompile>\n\t</ItemGroup>\n\t<ItemGroup>\n\t\t<ClInclude Include=\"..\\..\\d3d\\appGraphCtx.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d\\imguiGraph.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d\\loader.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d\\loaderMacros.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d\\renderParamsD3D.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d\\shaderCommonD3D.h\">\n\t\t</ClInclude>\n\t\t<ClCompile Include=\"..\\..\\d3d\\appGraphCtxLoader.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d\\imguiGraph.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d\\imguiGraphLoader.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d\\loader.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d\\renderParamsD3D.cpp\">\n\t\t</ClCompile>\n\t</ItemGroup>\n\t<ItemGroup>\n\t\t<FxCompile Include=\"./../../d3d/shaders/debugLineVS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">debugLineVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">debugLineVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/debugLinePS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">debugLinePS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">debugLinePS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/imguiPS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">imguiPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">imguiPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/imguiVS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">imguiVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">imguiVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/meshPS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">meshPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">meshPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/meshAsyncComputeBenchPS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">meshPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">meshPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/meshShadowPS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">meshPS_Shadow</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">meshPS_Shadow</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/meshVS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">meshVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">meshVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointVS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">pointVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">pointVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointGS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">Geometry</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">pointGS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">Geometry</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">pointGS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointPS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">pointPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">pointPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointShadowPS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">pointShadowPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">pointShadowPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/diffuseVS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">diffuseVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">diffuseVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/diffuseGS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">Geometry</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">diffuseGS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">Geometry</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">diffuseGS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/diffusePS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">diffusePS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">diffusePS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/ellipsoidDepthVS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">ellipsoidDepthVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">ellipsoidDepthVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/ellipsoidDepthGS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">Geometry</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">ellipsoidDepthGS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">Geometry</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">ellipsoidDepthGS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/ellipsoidDepthPS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">ellipsoidDepthPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">ellipsoidDepthPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/passThroughVS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">passThroughVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">passThroughVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/blurDepthPS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">blurDepthPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">blurDepthPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/compositePS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">compositePS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">compositePS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointThicknessVS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">pointThicknessVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">pointThicknessVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointThicknessGS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">Geometry</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">pointThicknessGS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">Geometry</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">pointThicknessGS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointThicknessPS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">pointThicknessPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">pointThicknessPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t</ItemGroup>\n\t<ItemGroup>\n\t\t<ProjectReference Include=\"./../../../extensions/compiler/vc12win32/flexExtD3D.vcxproj\">\n\t\t\t<ReferenceOutputAssembly>false</ReferenceOutputAssembly>\n\t\t</ProjectReference>\n\t</ItemGroup>\n\t<Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.targets\" />\n\t<ImportGroup Label=\"ExtensionTargets\"></ImportGroup>\n</Project>\n"
  },
  {
    "path": "demo/compiler/vc12win32/flexDemoD3D.vcxproj.filters",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\r\n<Project ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\r\r\n\t<ItemGroup>\r\r\n\t\t<Filter Include=\"demo\">\r\r\n\t\t</Filter>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<Filter Include=\"demo\\scenes\">\r\r\n\t\t</Filter>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\adhesion.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\armadilloshower.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\bananas.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\bouyancy.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\bunnybath.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\ccdfluid.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\clothlayers.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\dambreak.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\darts.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\debris.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\deformables.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\envcloth.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\flag.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\fluidblock.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\fluidclothcoupling.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\forcefield.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\frictionmoving.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\frictionramp.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\gamemesh.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\googun.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\granularpile.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\granularshape.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\inflatable.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\initialoverlap.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\lighthouse.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\localspacecloth.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\localspacefluid.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\lowdimensionalshapes.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\melting.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\mixedpile.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\nonconvex.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\parachutingbunnies.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\pasta.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\player.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\potpourri.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\rayleightaylor.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\restitution.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\rigidfluidcoupling.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\rigidpile.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\rigidrotation.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\rockpool.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\sdfcollision.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\shapechannels.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\shapecollision.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\softbody.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\spherecloth.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\surfacetension.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\tearing.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\thinbox.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\trianglecollision.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\triggervolume.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\viscosity.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\waterballoon.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<ClCompile Include=\"..\\..\\imgui.cpp\">\r\r\n\t\t\t<Filter>demo</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\main.cpp\">\r\r\n\t\t\t<Filter>demo</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\shadersDemoContext.cpp\">\r\r\n\t\t\t<Filter>demo</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClInclude Include=\"..\\..\\benchmark.h\">\r\r\n\t\t\t<Filter>demo</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\demoContext.h\">\r\r\n\t\t\t<Filter>demo</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\helpers.h\">\r\r\n\t\t\t<Filter>demo</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\imgui.h\">\r\r\n\t\t\t<Filter>demo</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes.h\">\r\r\n\t\t\t<Filter>demo</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\shaders.h\">\r\r\n\t\t\t<Filter>demo</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\shadersDemoContext.h\">\r\r\n\t\t\t<Filter>demo</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\stb_truetype.h\">\r\r\n\t\t\t<Filter>demo</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<Filter Include=\"include\">\r\r\n\t\t</Filter>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\include\\NvFlex.h\">\r\r\n\t\t\t<Filter>include</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\include\\NvFlexDevice.h\">\r\r\n\t\t\t<Filter>include</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\include\\NvFlexExt.h\">\r\r\n\t\t\t<Filter>include</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<Filter Include=\"core\">\r\r\n\t\t</Filter>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\aabbtree.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\core.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\extrude.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\maths.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\mesh.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\perlin.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\pfm.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\platform.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\png.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\sdf.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\tga.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\voxelize.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\aabbtree.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\cloth.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\convex.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\core.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\extrude.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\mat22.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\mat33.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\mat44.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\maths.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\matnn.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\mesh.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\perlin.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\pfm.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\platform.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\png.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\point3.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\quat.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\sdf.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\tga.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\types.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\vec2.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\vec3.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\vec4.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\voxelize.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<Filter Include=\"d3d12\">\r\r\n\t\t</Filter>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\appD3D12Ctx.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\bufferD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\demoContextD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\diffusePointRenderPipelineD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\fluidCompositeRenderPipelineD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\fluidEllipsoidRenderPipelineD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\fluidSmoothRenderPipelineD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\fluidThicknessRenderPipelineD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\imguiGraphD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\lineRenderPipelineD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\meshRenderer.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\meshRendererD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\meshRenderPipelineD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\meshUtil.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12CircularResourceHeap.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12CounterFence.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12DescriptorHeap.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12Handle.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12HelperUtil.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12RenderTarget.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12Resource.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12ResourceScopeManager.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDxDebugUtil.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDxFormatUtil.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoFreeList.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvResult.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\pipelineUtilD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\pointRenderPipelineD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\renderStateD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\appD3D12Ctx.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\bufferD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\demoContextD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\diffusePointRenderPipelineD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\fluidCompositeRenderPipelineD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\fluidEllipsoidRenderPipelineD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\fluidSmoothRenderPipelineD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\fluidThicknessRenderPipelineD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\imguiGraphD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\imguiInteropD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\lineRenderPipelineD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\meshRenderer.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\meshRendererD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\meshRenderPipelineD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\meshUtil.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12CircularResourceHeap.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12CounterFence.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12DescriptorHeap.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12HelperUtil.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12RenderTarget.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12Resource.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12ResourceScopeManager.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDxDebugUtil.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDxFormatUtil.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoFreeList.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\pipelineUtilD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\pointRenderPipelineD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\renderStateD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<Filter Include=\"d3d11\">\r\r\n\t\t</Filter>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d11\\appD3D11Ctx.h\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d11\\debugLineRenderD3D11.h\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d11\\demoContextD3D11.h\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d11\\diffuseRenderD3D11.h\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d11\\fluidRenderD3D11.h\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d11\\imguiGraphD3D11.h\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d11\\meshRenderD3D11.h\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d11\\pointRenderD3D11.h\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d11\\renderTargetD3D11.h\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d11\\shadowMapD3D11.h\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d11\\appD3D11Ctx.cpp\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d11\\debugLineRenderD3D11.cpp\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d11\\demoContextD3D11.cpp\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d11\\diffuseRenderD3D11.cpp\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d11\\fluidRenderD3D11.cpp\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d11\\imguiGraphD3D11.cpp\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d11\\imguiInteropD3D11.cpp\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d11\\meshRenderD3D11.cpp\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d11\\pointRenderD3D11.cpp\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d11\\renderTargetD3D11.cpp\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d11\\shadowMapD3D11.cpp\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<Filter Include=\"d3d\">\r\r\n\t\t</Filter>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d\\appGraphCtx.h\">\r\r\n\t\t\t<Filter>d3d</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d\\imguiGraph.h\">\r\r\n\t\t\t<Filter>d3d</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d\\loader.h\">\r\r\n\t\t\t<Filter>d3d</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d\\loaderMacros.h\">\r\r\n\t\t\t<Filter>d3d</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d\\renderParamsD3D.h\">\r\r\n\t\t\t<Filter>d3d</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d\\shaderCommonD3D.h\">\r\r\n\t\t\t<Filter>d3d</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d\\appGraphCtxLoader.cpp\">\r\r\n\t\t\t<Filter>d3d</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d\\imguiGraph.cpp\">\r\r\n\t\t\t<Filter>d3d</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d\\imguiGraphLoader.cpp\">\r\r\n\t\t\t<Filter>d3d</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d\\loader.cpp\">\r\r\n\t\t\t<Filter>d3d</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d\\renderParamsD3D.cpp\">\r\r\n\t\t\t<Filter>d3d</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup><Filter Include=\"Shader Files\"></Filter></ItemGroup>\r\n\t<ItemGroup>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/debugLineVS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/debugLinePS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/imguiPS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/imguiVS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/meshPS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/meshAsyncComputeBenchPS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/meshShadowPS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/meshVS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointVS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointGS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointPS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointShadowPS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/diffuseVS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/diffuseGS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/diffusePS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/ellipsoidDepthVS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/ellipsoidDepthGS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/ellipsoidDepthPS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/passThroughVS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/blurDepthPS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/compositePS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointThicknessVS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointThicknessGS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointThicknessPS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t</ItemGroup>\r\n</Project>"
  },
  {
    "path": "demo/compiler/vc12win32/flexDemoD3D.vcxproj.user",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\r\n<Project ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\r\r\n<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">\r\r\n  <LocalDebuggerWorkingDirectory>$(OutputPath)</LocalDebuggerWorkingDirectory>\r\r\n</PropertyGroup>\r\r\n<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">\r\r\n  <LocalDebuggerWorkingDirectory>$(OutputPath)</LocalDebuggerWorkingDirectory>\r\r\n</PropertyGroup>\r\r\n</Project>"
  },
  {
    "path": "demo/compiler/vc12win64/flexDemoCUDA.sln",
    "content": "Microsoft Visual Studio Solution File, Format Version 12.00\n# Visual Studio 2013\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"flexDemoCUDA\", \"./flexDemoCUDA.vcxproj\", \"{5159D6B6-76B6-4056-6797-30484A82D93C}\"\n\tProjectSection(ProjectDependencies) = postProject\n\t\t{FD4C9C06-7BEC-CDF8-C631-CD32A428A280} = {FD4C9C06-7BEC-CDF8-C631-CD32A428A280}\n\tEndProjectSection\nEndProject\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"flexExtCUDA\", \"./../../../extensions/compiler/vc12win64/flexExtCUDA.vcxproj\", \"{FD4C9C06-7BEC-CDF8-C631-CD32A428A280}\"\n\tProjectSection(ProjectDependencies) = postProject\n\tEndProjectSection\nEndProject\nGlobal\n\tGlobalSection(SolutionConfigurationPlatforms) = preSolution\n\t\tdebug|x64 = debug|x64\n\t\trelease|x64 = release|x64\n\tEndGlobalSection\n\tGlobalSection(ProjectConfigurationPlatforms) = postSolution\n\t\t{5159D6B6-76B6-4056-6797-30484A82D93C}.debug|x64.ActiveCfg = debug|x64\n\t\t{5159D6B6-76B6-4056-6797-30484A82D93C}.debug|x64.Build.0 = debug|x64\n\t\t{5159D6B6-76B6-4056-6797-30484A82D93C}.release|x64.ActiveCfg = release|x64\n\t\t{5159D6B6-76B6-4056-6797-30484A82D93C}.release|x64.Build.0 = release|x64\n\t\t{FD4C9C06-7BEC-CDF8-C631-CD32A428A280}.debug|x64.ActiveCfg = debug|x64\n\t\t{FD4C9C06-7BEC-CDF8-C631-CD32A428A280}.debug|x64.Build.0 = debug|x64\n\t\t{FD4C9C06-7BEC-CDF8-C631-CD32A428A280}.release|x64.ActiveCfg = release|x64\n\t\t{FD4C9C06-7BEC-CDF8-C631-CD32A428A280}.release|x64.Build.0 = release|x64\n\tEndGlobalSection\n\tGlobalSection(ExtensibilityGlobals) = postSolution\n\tEndGlobalSection\n\tGlobalSection(ExtensibilityAddins) = postSolution\n\tEndGlobalSection\n\tGlobalSection(NestedProjects) = preSolution\n\tEndGlobalSection\nEndGlobal\n"
  },
  {
    "path": "demo/compiler/vc12win64/flexDemoCUDA.vcxproj",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project DefaultTargets=\"Build\" ToolsVersion=\"12.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n\t<ItemGroup Label=\"ProjectConfigurations\">\n\t\t<ProjectConfiguration Include=\"debug|x64\">\n\t\t\t<Configuration>debug</Configuration>\n\t\t\t<Platform>x64</Platform>\n\t\t</ProjectConfiguration>\n\t\t<ProjectConfiguration Include=\"release|x64\">\n\t\t\t<Configuration>release</Configuration>\n\t\t\t<Platform>x64</Platform>\n\t\t</ProjectConfiguration>\n\t</ItemGroup>\n\t<PropertyGroup Label=\"Globals\">\n\t\t<ProjectGuid>{5159D6B6-76B6-4056-6797-30484A82D93C}</ProjectGuid>\n\t\t<RootNamespace>flexDemoCUDA</RootNamespace>\n\t</PropertyGroup>\n\t<Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.Default.props\" />\n\t<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\" Label=\"Configuration\">\n\t\t<ConfigurationType>Application</ConfigurationType>\n\t\t<PlatformToolset>v120</PlatformToolset>\n\t</PropertyGroup>\n\t<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\" Label=\"Configuration\">\n\t\t<ConfigurationType>Application</ConfigurationType>\n\t\t<PlatformToolset>v120</PlatformToolset>\n\t\t<WholeProgramOptimization>true</WholeProgramOptimization>\n\t</PropertyGroup>\n\t<Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.props\" />\n\t<ImportGroup Label=\"ExtensionSettings\">\n\t</ImportGroup>\n\t<ImportGroup Label=\"PropertySheets\" Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">\n\t\t<Import Project=\"$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props\" Condition=\"exists('$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props')\" Label=\"LocalAppDataPlatform\" />\n\t</ImportGroup>\n\t<ImportGroup Label=\"PropertySheets\" Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">\n\t\t<Import Project=\"$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props\" Condition=\"exists('$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props')\" Label=\"LocalAppDataPlatform\" />\n\t</ImportGroup>\n\t<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">\n\t\t<OutDir>./../../../bin/win64\\</OutDir>\n\t\t<IntDir>./build/win64/debug\\</IntDir>\n\t\t<TargetExt>.exe</TargetExt>\n\t\t<TargetName>NvFlexDemoDebugCUDA_x64</TargetName>\n\t\t<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>\n\t\t<CodeAnalysisRules />\n\t\t<CodeAnalysisRuleAssemblies />\n\t</PropertyGroup>\n\t<ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">\n\t\t<ClCompile>\n\t\t\t<FloatingPointModel>Precise</FloatingPointModel>\n\t\t\t<AdditionalOptions> /d2Zi+</AdditionalOptions>\n\t\t\t<Optimization>Disabled</Optimization>\n\t\t\t<AdditionalIncludeDirectories>$(CUDA_PATH)/include;$(CUDA_PATH)/extras/cupti/include;./../../..;./../..;./../../d3d11;./../../d3d12;./../../../external/SDL2-2.0.4/include;./../../../external/D3D12/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\n\t\t\t<PreprocessorDefinitions>_CONSOLE;WIN32;_CRT_SECURE_NO_WARNINGS;_DEBUG;_ITERATOR_DEBUG_LEVEL=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n\t\t\t<WarningLevel>Level3</WarningLevel>\n\t\t\t<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>\n\t\t\t<PrecompiledHeader>NotUsing</PrecompiledHeader>\n\t\t\t<PrecompiledHeaderFile></PrecompiledHeaderFile>\n\t\t</ClCompile>\n\t\t<Link>\n\t\t\t<AdditionalOptions>/DELAYLOAD:d3d11.dll /DELAYLOAD:d3d12.dll /DELAYLOAD:dxgi.dll</AdditionalOptions>\n\t\t\t<AdditionalDependencies>cudart.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;d3dcompiler.lib;delayimp.lib;./../../../external/SDL2-2.0.4/lib/x64/SDL2.lib;./../../../external/SDL2-2.0.4/lib/x64/SDL2main.lib;./../../../external/NvToolsExt/lib/x64/nvToolsExt64_1.lib;./../../../external/D3D12/libs/x64/d3d12.lib;./../../../lib/win64/NvFlexDebugCUDA_x64.lib;./../../../lib/win64/NvFlexExtDebugCUDA_x64.lib;./../../../lib/win64/NvFlexDeviceDebug_x64.lib;%(AdditionalDependencies)</AdditionalDependencies>\n\t\t\t<OutputFile>$(OutDir)NvFlexDemoDebugCUDA_x64.exe</OutputFile>\n\t\t\t<AdditionalLibraryDirectories>$(CUDA_PATH)/lib/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\n\t\t\t<ProgramDatabaseFile>$(OutDir)/NvFlexDemoDebugCUDA_x64.exe.pdb</ProgramDatabaseFile>\n\t\t\t<SubSystem>Console</SubSystem>\n\t\t\t<ImportLibrary>$(OutDir)$(TargetName).lib</ImportLibrary>\n\t\t\t<GenerateDebugInformation>true</GenerateDebugInformation>\n\t\t\t<TargetMachine>MachineX64</TargetMachine>\n\t\t</Link>\n\t\t<ResourceCompile>\n\t\t</ResourceCompile>\n\t\t<ProjectReference>\n\t\t</ProjectReference>\n\t</ItemDefinitionGroup>\n\t<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">\n\t\t<OutDir>./../../../bin/win64\\</OutDir>\n\t\t<IntDir>./build/win64/release\\</IntDir>\n\t\t<TargetExt>.exe</TargetExt>\n\t\t<TargetName>NvFlexDemoReleaseCUDA_x64</TargetName>\n\t\t<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>\n\t\t<CodeAnalysisRules />\n\t\t<CodeAnalysisRuleAssemblies />\n\t</PropertyGroup>\n\t<ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">\n\t\t<ClCompile>\n\t\t\t<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>\n\t\t\t<IntrinsicFunctions>true</IntrinsicFunctions>\n\t\t\t<FunctionLevelLinking>true</FunctionLevelLinking>\n\t\t\t<BufferSecurityCheck>false</BufferSecurityCheck>\n\t\t\t<FloatingPointModel>Fast</FloatingPointModel>\n\t\t\t<AdditionalOptions> /d2Zi+</AdditionalOptions>\n\t\t\t<Optimization>Full</Optimization>\n\t\t\t<AdditionalIncludeDirectories>$(CUDA_PATH)/include;$(CUDA_PATH)/extras/cupti/include;./../../..;./../..;./../../d3d11;./../../d3d12;./../../../external/SDL2-2.0.4/include;./../../../external/D3D12/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\n\t\t\t<PreprocessorDefinitions>_CONSOLE;WIN32;_CRT_SECURE_NO_WARNINGS;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n\t\t\t<WarningLevel>Level3</WarningLevel>\n\t\t\t<RuntimeLibrary>MultiThreaded</RuntimeLibrary>\n\t\t\t<PrecompiledHeader>NotUsing</PrecompiledHeader>\n\t\t\t<PrecompiledHeaderFile></PrecompiledHeaderFile>\n\t\t</ClCompile>\n\t\t<Link>\n\t\t\t<AdditionalOptions>/DELAYLOAD:d3d11.dll /DELAYLOAD:d3d12.dll /DELAYLOAD:dxgi.dll</AdditionalOptions>\n\t\t\t<AdditionalDependencies>cudart.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;d3dcompiler.lib;delayimp.lib;./../../../external/SDL2-2.0.4/lib/x64/SDL2.lib;./../../../external/SDL2-2.0.4/lib/x64/SDL2main.lib;./../../../external/NvToolsExt/lib/x64/nvToolsExt64_1.lib;./../../../external/D3D12/libs/x64/d3d12.lib;./../../../lib/win64/NvFlexReleaseCUDA_x64.lib;./../../../lib/win64/NvFlexExtReleaseCUDA_x64.lib;./../../../lib/win64/NvFlexDeviceRelease_x64.lib;%(AdditionalDependencies)</AdditionalDependencies>\n\t\t\t<OutputFile>$(OutDir)NvFlexDemoReleaseCUDA_x64.exe</OutputFile>\n\t\t\t<AdditionalLibraryDirectories>$(CUDA_PATH)/lib/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\n\t\t\t<ProgramDatabaseFile>$(OutDir)/NvFlexDemoReleaseCUDA_x64.exe.pdb</ProgramDatabaseFile>\n\t\t\t<SubSystem>Console</SubSystem>\n\t\t\t<ImportLibrary>$(OutDir)$(TargetName).lib</ImportLibrary>\n\t\t\t<GenerateDebugInformation>true</GenerateDebugInformation>\n\t\t\t<TargetMachine>MachineX64</TargetMachine>\n\t\t</Link>\n\t\t<ResourceCompile>\n\t\t</ResourceCompile>\n\t\t<ProjectReference>\n\t\t</ProjectReference>\n\t</ItemDefinitionGroup>\n<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">\n  <LocalDebuggerWorkingDirectory>$(OutputPath)</LocalDebuggerWorkingDirectory>\n</PropertyGroup>\n<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">\n  <LocalDebuggerWorkingDirectory>$(OutputPath)</LocalDebuggerWorkingDirectory>\n</PropertyGroup>\n\t<ItemGroup>\n\t\t<ClInclude Include=\"..\\..\\scenes\\adhesion.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\armadilloshower.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\bananas.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\bouyancy.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\bunnybath.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\ccdfluid.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\clothlayers.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\dambreak.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\darts.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\debris.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\deformables.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\envcloth.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\flag.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\fluidblock.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\fluidclothcoupling.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\forcefield.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\frictionmoving.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\frictionramp.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\gamemesh.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\googun.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\granularpile.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\granularshape.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\inflatable.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\initialoverlap.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\lighthouse.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\localspacecloth.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\localspacefluid.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\lowdimensionalshapes.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\melting.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\mixedpile.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\nonconvex.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\parachutingbunnies.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\pasta.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\player.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\potpourri.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\rayleightaylor.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\restitution.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\rigidfluidcoupling.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\rigidpile.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\rigidrotation.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\rockpool.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\sdfcollision.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\shapechannels.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\shapecollision.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\softbody.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\spherecloth.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\surfacetension.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\tearing.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\thinbox.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\trianglecollision.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\triggervolume.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\viscosity.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\waterballoon.h\">\n\t\t</ClInclude>\n\t</ItemGroup>\n\t<ItemGroup>\n\t\t<ClCompile Include=\"..\\..\\imgui.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\main.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\shadersDemoContext.cpp\">\n\t\t</ClCompile>\n\t\t<ClInclude Include=\"..\\..\\benchmark.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\demoContext.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\helpers.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\imgui.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\shaders.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\shadersDemoContext.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\stb_truetype.h\">\n\t\t</ClInclude>\n\t</ItemGroup>\n\t<ItemGroup>\n\t\t<ClInclude Include=\"..\\..\\..\\include\\NvFlex.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\include\\NvFlexDevice.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\include\\NvFlexExt.h\">\n\t\t</ClInclude>\n\t</ItemGroup>\n\t<ItemGroup>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\aabbtree.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\core.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\extrude.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\maths.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\mesh.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\perlin.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\pfm.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\platform.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\png.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\sdf.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\tga.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\voxelize.cpp\">\n\t\t</ClCompile>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\aabbtree.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\cloth.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\convex.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\core.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\extrude.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\mat22.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\mat33.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\mat44.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\maths.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\matnn.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\mesh.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\perlin.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\pfm.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\platform.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\png.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\point3.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\quat.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\sdf.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\tga.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\types.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\vec2.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\vec3.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\vec4.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\voxelize.h\">\n\t\t</ClInclude>\n\t</ItemGroup>\n\t<ItemGroup>\n\t\t<ClCompile Include=\"..\\..\\opengl\\imguiRenderGL.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\opengl\\shader.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\opengl\\shadersGL.cpp\">\n\t\t</ClCompile>\n\t\t<ClInclude Include=\"..\\..\\opengl\\demoContextOGL.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\opengl\\imguiRenderGL.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\opengl\\shader.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\opengl\\utilsGL.h\">\n\t\t</ClInclude>\n\t</ItemGroup>\n\t<ItemGroup>\n\t\t<ClCompile Include=\"..\\..\\d3d11\\appD3D11Ctx.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d11\\debugLineRenderD3D11.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d11\\demoContextD3D11.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d11\\diffuseRenderD3D11.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d11\\fluidRenderD3D11.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d11\\imguiGraphD3D11.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d11\\imguiInteropD3D11.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d11\\meshRenderD3D11.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d11\\pointRenderD3D11.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d11\\renderTargetD3D11.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d11\\shadowMapD3D11.cpp\">\n\t\t</ClCompile>\n\t\t<ClInclude Include=\"..\\..\\d3d11\\appD3D11Ctx.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d11\\debugLineRenderD3D11.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d11\\demoContextD3D11.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d11\\diffuseRenderD3D11.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d11\\fluidRenderD3D11.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d11\\imguiGraphD3D11.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d11\\meshRenderD3D11.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d11\\pointRenderD3D11.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d11\\renderTargetD3D11.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d11\\shadowMapD3D11.h\">\n\t\t</ClInclude>\n\t</ItemGroup>\n\t<ItemGroup>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\appD3D12Ctx.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\bufferD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\demoContextD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\diffusePointRenderPipelineD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\fluidCompositeRenderPipelineD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\fluidEllipsoidRenderPipelineD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\fluidSmoothRenderPipelineD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\fluidThicknessRenderPipelineD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\imguiGraphD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\lineRenderPipelineD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\meshRenderer.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\meshRendererD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\meshRenderPipelineD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\meshUtil.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12CircularResourceHeap.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12CounterFence.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12DescriptorHeap.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12Handle.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12HelperUtil.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12RenderTarget.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12Resource.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12ResourceScopeManager.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDxDebugUtil.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDxFormatUtil.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoFreeList.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvResult.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\pipelineUtilD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\pointRenderPipelineD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\renderStateD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\appD3D12Ctx.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\bufferD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\demoContextD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\diffusePointRenderPipelineD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\fluidCompositeRenderPipelineD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\fluidEllipsoidRenderPipelineD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\fluidSmoothRenderPipelineD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\fluidThicknessRenderPipelineD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\imguiGraphD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\imguiInteropD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\lineRenderPipelineD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\meshRenderer.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\meshRendererD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\meshRenderPipelineD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\meshUtil.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12CircularResourceHeap.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12CounterFence.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12DescriptorHeap.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12HelperUtil.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12RenderTarget.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12Resource.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12ResourceScopeManager.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDxDebugUtil.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDxFormatUtil.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoFreeList.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\pipelineUtilD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\pointRenderPipelineD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\renderStateD3D12.cpp\">\n\t\t</ClCompile>\n\t</ItemGroup>\n\t<ItemGroup>\n\t\t<ClCompile Include=\"..\\..\\d3d\\appGraphCtxLoader.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d\\imguiGraph.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d\\imguiGraphLoader.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d\\loader.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d\\renderParamsD3D.cpp\">\n\t\t</ClCompile>\n\t\t<ClInclude Include=\"..\\..\\d3d\\appGraphCtx.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d\\imguiGraph.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d\\loader.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d\\loaderMacros.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d\\renderParamsD3D.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d\\shaderCommonD3D.h\">\n\t\t</ClInclude>\n\t</ItemGroup>\n\t<ItemGroup>\n\t\t<FxCompile Include=\"./../../d3d/shaders/debugLineVS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">debugLineVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">debugLineVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/debugLinePS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">debugLinePS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">debugLinePS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/imguiPS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">imguiPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">imguiPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/imguiVS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">imguiVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">imguiVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/meshPS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">meshPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">meshPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/meshAsyncComputeBenchPS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">meshPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">meshPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/meshShadowPS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">meshPS_Shadow</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">meshPS_Shadow</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/meshVS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">meshVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">meshVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointVS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">pointVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">pointVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointGS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Geometry</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">pointGS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Geometry</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">pointGS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointPS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">pointPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">pointPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointShadowPS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">pointShadowPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">pointShadowPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/diffuseVS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">diffuseVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">diffuseVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/diffuseGS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Geometry</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">diffuseGS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Geometry</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">diffuseGS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/diffusePS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">diffusePS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">diffusePS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/ellipsoidDepthVS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">ellipsoidDepthVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">ellipsoidDepthVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/ellipsoidDepthGS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Geometry</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">ellipsoidDepthGS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Geometry</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">ellipsoidDepthGS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/ellipsoidDepthPS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">ellipsoidDepthPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">ellipsoidDepthPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/passThroughVS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">passThroughVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">passThroughVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/blurDepthPS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">blurDepthPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">blurDepthPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/compositePS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">compositePS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">compositePS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointThicknessVS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">pointThicknessVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">pointThicknessVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointThicknessGS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Geometry</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">pointThicknessGS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Geometry</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">pointThicknessGS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointThicknessPS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">pointThicknessPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">pointThicknessPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t</ItemGroup>\n\t<ItemGroup>\n\t\t<ProjectReference Include=\"./../../../extensions/compiler/vc12win64/flexExtCUDA.vcxproj\">\n\t\t\t<ReferenceOutputAssembly>false</ReferenceOutputAssembly>\n\t\t</ProjectReference>\n\t</ItemGroup>\n\t<Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.targets\" />\n\t<ImportGroup Label=\"ExtensionTargets\"></ImportGroup>\n</Project>\n"
  },
  {
    "path": "demo/compiler/vc12win64/flexDemoCUDA.vcxproj.filters",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\r\n<Project ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\r\r\n\t<ItemGroup>\r\r\n\t\t<Filter Include=\"demo\">\r\r\n\t\t</Filter>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<Filter Include=\"demo\\scenes\">\r\r\n\t\t</Filter>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\adhesion.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\armadilloshower.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\bananas.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\bouyancy.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\bunnybath.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\ccdfluid.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\clothlayers.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\dambreak.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\darts.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\debris.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\deformables.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\envcloth.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\flag.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\fluidblock.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\fluidclothcoupling.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\forcefield.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\frictionmoving.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\frictionramp.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\gamemesh.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\googun.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\granularpile.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\granularshape.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\inflatable.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\initialoverlap.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\lighthouse.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\localspacecloth.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\localspacefluid.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\lowdimensionalshapes.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\melting.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\mixedpile.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\nonconvex.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\parachutingbunnies.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\pasta.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\player.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\potpourri.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\rayleightaylor.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\restitution.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\rigidfluidcoupling.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\rigidpile.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\rigidrotation.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\rockpool.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\sdfcollision.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\shapechannels.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\shapecollision.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\softbody.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\spherecloth.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\surfacetension.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\tearing.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\thinbox.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\trianglecollision.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\triggervolume.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\viscosity.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\waterballoon.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<ClCompile Include=\"..\\..\\imgui.cpp\">\r\r\n\t\t\t<Filter>demo</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\main.cpp\">\r\r\n\t\t\t<Filter>demo</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\shadersDemoContext.cpp\">\r\r\n\t\t\t<Filter>demo</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClInclude Include=\"..\\..\\benchmark.h\">\r\r\n\t\t\t<Filter>demo</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\demoContext.h\">\r\r\n\t\t\t<Filter>demo</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\helpers.h\">\r\r\n\t\t\t<Filter>demo</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\imgui.h\">\r\r\n\t\t\t<Filter>demo</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes.h\">\r\r\n\t\t\t<Filter>demo</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\shaders.h\">\r\r\n\t\t\t<Filter>demo</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\shadersDemoContext.h\">\r\r\n\t\t\t<Filter>demo</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\stb_truetype.h\">\r\r\n\t\t\t<Filter>demo</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<Filter Include=\"include\">\r\r\n\t\t</Filter>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\include\\NvFlex.h\">\r\r\n\t\t\t<Filter>include</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\include\\NvFlexDevice.h\">\r\r\n\t\t\t<Filter>include</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\include\\NvFlexExt.h\">\r\r\n\t\t\t<Filter>include</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<Filter Include=\"core\">\r\r\n\t\t</Filter>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\aabbtree.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\core.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\extrude.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\maths.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\mesh.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\perlin.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\pfm.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\platform.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\png.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\sdf.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\tga.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\voxelize.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\aabbtree.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\cloth.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\convex.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\core.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\extrude.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\mat22.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\mat33.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\mat44.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\maths.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\matnn.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\mesh.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\perlin.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\pfm.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\platform.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\png.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\point3.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\quat.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\sdf.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\tga.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\types.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\vec2.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\vec3.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\vec4.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\voxelize.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<Filter Include=\"opengl\">\r\r\n\t\t</Filter>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<ClCompile Include=\"..\\..\\opengl\\imguiRenderGL.cpp\">\r\r\n\t\t\t<Filter>opengl</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\opengl\\shader.cpp\">\r\r\n\t\t\t<Filter>opengl</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\opengl\\shadersGL.cpp\">\r\r\n\t\t\t<Filter>opengl</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClInclude Include=\"..\\..\\opengl\\demoContextOGL.h\">\r\r\n\t\t\t<Filter>opengl</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\opengl\\imguiRenderGL.h\">\r\r\n\t\t\t<Filter>opengl</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\opengl\\shader.h\">\r\r\n\t\t\t<Filter>opengl</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\opengl\\utilsGL.h\">\r\r\n\t\t\t<Filter>opengl</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<Filter Include=\"d3d11\">\r\r\n\t\t</Filter>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d11\\appD3D11Ctx.cpp\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d11\\debugLineRenderD3D11.cpp\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d11\\demoContextD3D11.cpp\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d11\\diffuseRenderD3D11.cpp\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d11\\fluidRenderD3D11.cpp\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d11\\imguiGraphD3D11.cpp\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d11\\imguiInteropD3D11.cpp\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d11\\meshRenderD3D11.cpp\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d11\\pointRenderD3D11.cpp\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d11\\renderTargetD3D11.cpp\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d11\\shadowMapD3D11.cpp\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d11\\appD3D11Ctx.h\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d11\\debugLineRenderD3D11.h\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d11\\demoContextD3D11.h\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d11\\diffuseRenderD3D11.h\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d11\\fluidRenderD3D11.h\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d11\\imguiGraphD3D11.h\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d11\\meshRenderD3D11.h\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d11\\pointRenderD3D11.h\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d11\\renderTargetD3D11.h\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d11\\shadowMapD3D11.h\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<Filter Include=\"d3d12\">\r\r\n\t\t</Filter>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\appD3D12Ctx.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\bufferD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\demoContextD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\diffusePointRenderPipelineD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\fluidCompositeRenderPipelineD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\fluidEllipsoidRenderPipelineD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\fluidSmoothRenderPipelineD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\fluidThicknessRenderPipelineD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\imguiGraphD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\lineRenderPipelineD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\meshRenderer.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\meshRendererD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\meshRenderPipelineD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\meshUtil.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12CircularResourceHeap.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12CounterFence.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12DescriptorHeap.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12Handle.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12HelperUtil.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12RenderTarget.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12Resource.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12ResourceScopeManager.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDxDebugUtil.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDxFormatUtil.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoFreeList.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvResult.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\pipelineUtilD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\pointRenderPipelineD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\renderStateD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\appD3D12Ctx.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\bufferD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\demoContextD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\diffusePointRenderPipelineD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\fluidCompositeRenderPipelineD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\fluidEllipsoidRenderPipelineD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\fluidSmoothRenderPipelineD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\fluidThicknessRenderPipelineD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\imguiGraphD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\imguiInteropD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\lineRenderPipelineD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\meshRenderer.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\meshRendererD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\meshRenderPipelineD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\meshUtil.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12CircularResourceHeap.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12CounterFence.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12DescriptorHeap.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12HelperUtil.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12RenderTarget.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12Resource.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12ResourceScopeManager.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDxDebugUtil.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDxFormatUtil.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoFreeList.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\pipelineUtilD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\pointRenderPipelineD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\renderStateD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<Filter Include=\"d3d\">\r\r\n\t\t</Filter>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d\\appGraphCtxLoader.cpp\">\r\r\n\t\t\t<Filter>d3d</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d\\imguiGraph.cpp\">\r\r\n\t\t\t<Filter>d3d</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d\\imguiGraphLoader.cpp\">\r\r\n\t\t\t<Filter>d3d</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d\\loader.cpp\">\r\r\n\t\t\t<Filter>d3d</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d\\renderParamsD3D.cpp\">\r\r\n\t\t\t<Filter>d3d</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d\\appGraphCtx.h\">\r\r\n\t\t\t<Filter>d3d</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d\\imguiGraph.h\">\r\r\n\t\t\t<Filter>d3d</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d\\loader.h\">\r\r\n\t\t\t<Filter>d3d</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d\\loaderMacros.h\">\r\r\n\t\t\t<Filter>d3d</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d\\renderParamsD3D.h\">\r\r\n\t\t\t<Filter>d3d</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d\\shaderCommonD3D.h\">\r\r\n\t\t\t<Filter>d3d</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup><Filter Include=\"Shader Files\"></Filter></ItemGroup>\r\n\t<ItemGroup>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/debugLineVS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/debugLinePS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/imguiPS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/imguiVS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/meshPS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/meshAsyncComputeBenchPS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/meshShadowPS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/meshVS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointVS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointGS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointPS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointShadowPS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/diffuseVS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/diffuseGS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/diffusePS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/ellipsoidDepthVS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/ellipsoidDepthGS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/ellipsoidDepthPS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/passThroughVS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/blurDepthPS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/compositePS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointThicknessVS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointThicknessGS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointThicknessPS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t</ItemGroup>\r\n</Project>"
  },
  {
    "path": "demo/compiler/vc12win64/flexDemoCUDA.vcxproj.user",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\r\n<Project ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\r\r\n<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">\r\r\n  <LocalDebuggerWorkingDirectory>$(OutputPath)</LocalDebuggerWorkingDirectory>\r\r\n</PropertyGroup>\r\r\n<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">\r\r\n  <LocalDebuggerWorkingDirectory>$(OutputPath)</LocalDebuggerWorkingDirectory>\r\r\n</PropertyGroup>\r\r\n</Project>"
  },
  {
    "path": "demo/compiler/vc12win64/flexDemoD3D.sln",
    "content": "Microsoft Visual Studio Solution File, Format Version 12.00\n# Visual Studio 2013\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"flexDemoD3D\", \"./flexDemoD3D.vcxproj\", \"{EF4EDDD8-2620-47AA-E75D-4C682C276C02}\"\n\tProjectSection(ProjectDependencies) = postProject\n\t\t{9B42889D-2F0D-0378-E87E-82C8D918DB4D} = {9B42889D-2F0D-0378-E87E-82C8D918DB4D}\n\tEndProjectSection\nEndProject\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"flexExtD3D\", \"./../../../extensions/compiler/vc12win64/flexExtD3D.vcxproj\", \"{9B42889D-2F0D-0378-E87E-82C8D918DB4D}\"\n\tProjectSection(ProjectDependencies) = postProject\n\tEndProjectSection\nEndProject\nGlobal\n\tGlobalSection(SolutionConfigurationPlatforms) = preSolution\n\t\tdebug|x64 = debug|x64\n\t\trelease|x64 = release|x64\n\tEndGlobalSection\n\tGlobalSection(ProjectConfigurationPlatforms) = postSolution\n\t\t{EF4EDDD8-2620-47AA-E75D-4C682C276C02}.debug|x64.ActiveCfg = debug|x64\n\t\t{EF4EDDD8-2620-47AA-E75D-4C682C276C02}.debug|x64.Build.0 = debug|x64\n\t\t{EF4EDDD8-2620-47AA-E75D-4C682C276C02}.release|x64.ActiveCfg = release|x64\n\t\t{EF4EDDD8-2620-47AA-E75D-4C682C276C02}.release|x64.Build.0 = release|x64\n\t\t{9B42889D-2F0D-0378-E87E-82C8D918DB4D}.debug|x64.ActiveCfg = debug|x64\n\t\t{9B42889D-2F0D-0378-E87E-82C8D918DB4D}.debug|x64.Build.0 = debug|x64\n\t\t{9B42889D-2F0D-0378-E87E-82C8D918DB4D}.release|x64.ActiveCfg = release|x64\n\t\t{9B42889D-2F0D-0378-E87E-82C8D918DB4D}.release|x64.Build.0 = release|x64\n\tEndGlobalSection\n\tGlobalSection(ExtensibilityGlobals) = postSolution\n\tEndGlobalSection\n\tGlobalSection(ExtensibilityAddins) = postSolution\n\tEndGlobalSection\n\tGlobalSection(NestedProjects) = preSolution\n\tEndGlobalSection\nEndGlobal\n"
  },
  {
    "path": "demo/compiler/vc12win64/flexDemoD3D.vcxproj",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project DefaultTargets=\"Build\" ToolsVersion=\"12.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n\t<ItemGroup Label=\"ProjectConfigurations\">\n\t\t<ProjectConfiguration Include=\"debug|x64\">\n\t\t\t<Configuration>debug</Configuration>\n\t\t\t<Platform>x64</Platform>\n\t\t</ProjectConfiguration>\n\t\t<ProjectConfiguration Include=\"release|x64\">\n\t\t\t<Configuration>release</Configuration>\n\t\t\t<Platform>x64</Platform>\n\t\t</ProjectConfiguration>\n\t</ItemGroup>\n\t<PropertyGroup Label=\"Globals\">\n\t\t<ProjectGuid>{EF4EDDD8-2620-47AA-E75D-4C682C276C02}</ProjectGuid>\n\t\t<RootNamespace>flexDemoD3D</RootNamespace>\n\t</PropertyGroup>\n\t<Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.Default.props\" />\n\t<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\" Label=\"Configuration\">\n\t\t<ConfigurationType>Application</ConfigurationType>\n\t\t<PlatformToolset>v120</PlatformToolset>\n\t</PropertyGroup>\n\t<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\" Label=\"Configuration\">\n\t\t<ConfigurationType>Application</ConfigurationType>\n\t\t<PlatformToolset>v120</PlatformToolset>\n\t\t<WholeProgramOptimization>true</WholeProgramOptimization>\n\t</PropertyGroup>\n\t<Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.props\" />\n\t<ImportGroup Label=\"ExtensionSettings\">\n\t</ImportGroup>\n\t<ImportGroup Label=\"PropertySheets\" Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">\n\t\t<Import Project=\"$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props\" Condition=\"exists('$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props')\" Label=\"LocalAppDataPlatform\" />\n\t</ImportGroup>\n\t<ImportGroup Label=\"PropertySheets\" Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">\n\t\t<Import Project=\"$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props\" Condition=\"exists('$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props')\" Label=\"LocalAppDataPlatform\" />\n\t</ImportGroup>\n\t<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">\n\t\t<OutDir>./../../../bin/win64\\</OutDir>\n\t\t<IntDir>./build/win64/DX/debug\\</IntDir>\n\t\t<TargetExt>.exe</TargetExt>\n\t\t<TargetName>NvFlexDemoDebugD3D_x64</TargetName>\n\t\t<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>\n\t\t<CodeAnalysisRules />\n\t\t<CodeAnalysisRuleAssemblies />\n\t</PropertyGroup>\n\t<ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">\n\t\t<ClCompile>\n\t\t\t<FloatingPointModel>Precise</FloatingPointModel>\n\t\t\t<AdditionalOptions> /d2Zi+</AdditionalOptions>\n\t\t\t<Optimization>Disabled</Optimization>\n\t\t\t<AdditionalIncludeDirectories>$(CUDA_PATH)/include;$(CUDA_PATH)/extras/cupti/include;./../../..;./../..;./../../d3d11;./../../d3d12;./../../../external/SDL2-2.0.4/include;./../../../external/D3D12/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\n\t\t\t<PreprocessorDefinitions>_CONSOLE;WIN32;_CRT_SECURE_NO_WARNINGS;FLEX_DX;FLEX_DX12;_DEBUG;_ITERATOR_DEBUG_LEVEL=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n\t\t\t<WarningLevel>Level3</WarningLevel>\n\t\t\t<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>\n\t\t\t<PrecompiledHeader>NotUsing</PrecompiledHeader>\n\t\t\t<PrecompiledHeaderFile></PrecompiledHeaderFile>\n\t\t</ClCompile>\n\t\t<Link>\n\t\t\t<AdditionalOptions>/DELAYLOAD:d3d11.dll /DELAYLOAD:d3d12.dll /DELAYLOAD:dxgi.dll</AdditionalOptions>\n\t\t\t<AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;d3dcompiler.lib;delayimp.lib;./../../../external/SDL2-2.0.4/lib/x64/SDL2.lib;./../../../external/SDL2-2.0.4/lib/x64/SDL2main.lib;./../../../external/NvToolsExt/lib/x64/nvToolsExt64_1.lib;./../../../external/D3D12/libs/x64/d3d12.lib;./../../../lib/win64/NvFlexDebugD3D_x64.lib;./../../../lib/win64/NvFlexExtDebugD3D_x64.lib;%(AdditionalDependencies)</AdditionalDependencies>\n\t\t\t<OutputFile>$(OutDir)NvFlexDemoDebugD3D_x64.exe</OutputFile>\n\t\t\t<AdditionalLibraryDirectories>$(CUDA_PATH)/lib/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\n\t\t\t<ProgramDatabaseFile>$(OutDir)/NvFlexDemoDebugD3D_x64.exe.pdb</ProgramDatabaseFile>\n\t\t\t<SubSystem>Console</SubSystem>\n\t\t\t<ImportLibrary>$(OutDir)$(TargetName).lib</ImportLibrary>\n\t\t\t<GenerateDebugInformation>true</GenerateDebugInformation>\n\t\t\t<TargetMachine>MachineX64</TargetMachine>\n\t\t</Link>\n\t\t<ResourceCompile>\n\t\t</ResourceCompile>\n\t\t<ProjectReference>\n\t\t</ProjectReference>\n\t</ItemDefinitionGroup>\n\t<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">\n\t\t<OutDir>./../../../bin/win64\\</OutDir>\n\t\t<IntDir>./build/win64/D3D/demo/release\\</IntDir>\n\t\t<TargetExt>.exe</TargetExt>\n\t\t<TargetName>NvFlexDemoReleaseD3D_x64</TargetName>\n\t\t<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>\n\t\t<CodeAnalysisRules />\n\t\t<CodeAnalysisRuleAssemblies />\n\t</PropertyGroup>\n\t<ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">\n\t\t<ClCompile>\n\t\t\t<IntrinsicFunctions>true</IntrinsicFunctions>\n\t\t\t<FunctionLevelLinking>true</FunctionLevelLinking>\n\t\t\t<BufferSecurityCheck>false</BufferSecurityCheck>\n\t\t\t<FloatingPointModel>Fast</FloatingPointModel>\n\t\t\t<AdditionalOptions> /d2Zi+</AdditionalOptions>\n\t\t\t<Optimization>Full</Optimization>\n\t\t\t<AdditionalIncludeDirectories>$(CUDA_PATH)/include;$(CUDA_PATH)/extras/cupti/include;./../../..;./../..;./../../d3d11;./../../d3d12;./../../../external/SDL2-2.0.4/include;./../../../external/D3D12/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\n\t\t\t<PreprocessorDefinitions>_CONSOLE;WIN32;_CRT_SECURE_NO_WARNINGS;FLEX_DX;FLEX_DX12;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n\t\t\t<WarningLevel>Level3</WarningLevel>\n\t\t\t<RuntimeLibrary>MultiThreaded</RuntimeLibrary>\n\t\t\t<PrecompiledHeader>NotUsing</PrecompiledHeader>\n\t\t\t<PrecompiledHeaderFile></PrecompiledHeaderFile>\n\t\t</ClCompile>\n\t\t<Link>\n\t\t\t<AdditionalOptions>/DELAYLOAD:d3d11.dll /DELAYLOAD:d3d12.dll /DELAYLOAD:dxgi.dll</AdditionalOptions>\n\t\t\t<AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;d3dcompiler.lib;delayimp.lib;./../../../external/SDL2-2.0.4/lib/x64/SDL2.lib;./../../../external/SDL2-2.0.4/lib/x64/SDL2main.lib;./../../../external/NvToolsExt/lib/x64/nvToolsExt64_1.lib;./../../../external/D3D12/libs/x64/d3d12.lib;./../../../lib/win64/NvFlexReleaseD3D_x64.lib;./../../../lib/win64/NvFlexExtReleaseD3D_x64.lib;%(AdditionalDependencies)</AdditionalDependencies>\n\t\t\t<OutputFile>$(OutDir)NvFlexDemoReleaseD3D_x64.exe</OutputFile>\n\t\t\t<AdditionalLibraryDirectories>$(CUDA_PATH)/lib/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\n\t\t\t<ProgramDatabaseFile>$(OutDir)/NvFlexDemoReleaseD3D_x64.exe.pdb</ProgramDatabaseFile>\n\t\t\t<SubSystem>Console</SubSystem>\n\t\t\t<ImportLibrary>$(OutDir)$(TargetName).lib</ImportLibrary>\n\t\t\t<GenerateDebugInformation>true</GenerateDebugInformation>\n\t\t\t<TargetMachine>MachineX64</TargetMachine>\n\t\t</Link>\n\t\t<ResourceCompile>\n\t\t</ResourceCompile>\n\t\t<ProjectReference>\n\t\t</ProjectReference>\n\t</ItemDefinitionGroup>\n<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">\n  <LocalDebuggerWorkingDirectory>$(OutputPath)</LocalDebuggerWorkingDirectory>\n</PropertyGroup>\n<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">\n  <LocalDebuggerWorkingDirectory>$(OutputPath)</LocalDebuggerWorkingDirectory>\n</PropertyGroup>\n\t<ItemGroup>\n\t\t<ClInclude Include=\"..\\..\\scenes\\adhesion.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\armadilloshower.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\bananas.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\bouyancy.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\bunnybath.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\ccdfluid.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\clothlayers.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\dambreak.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\darts.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\debris.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\deformables.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\envcloth.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\flag.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\fluidblock.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\fluidclothcoupling.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\forcefield.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\frictionmoving.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\frictionramp.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\gamemesh.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\googun.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\granularpile.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\granularshape.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\inflatable.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\initialoverlap.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\lighthouse.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\localspacecloth.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\localspacefluid.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\lowdimensionalshapes.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\melting.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\mixedpile.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\nonconvex.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\parachutingbunnies.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\pasta.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\player.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\potpourri.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\rayleightaylor.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\restitution.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\rigidfluidcoupling.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\rigidpile.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\rigidrotation.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\rockpool.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\sdfcollision.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\shapechannels.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\shapecollision.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\softbody.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\spherecloth.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\surfacetension.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\tearing.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\thinbox.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\trianglecollision.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\triggervolume.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\viscosity.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\waterballoon.h\">\n\t\t</ClInclude>\n\t</ItemGroup>\n\t<ItemGroup>\n\t\t<ClCompile Include=\"..\\..\\imgui.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\main.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\shadersDemoContext.cpp\">\n\t\t</ClCompile>\n\t\t<ClInclude Include=\"..\\..\\benchmark.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\demoContext.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\helpers.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\imgui.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\shaders.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\shadersDemoContext.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\stb_truetype.h\">\n\t\t</ClInclude>\n\t</ItemGroup>\n\t<ItemGroup>\n\t\t<ClInclude Include=\"..\\..\\..\\include\\NvFlex.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\include\\NvFlexDevice.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\include\\NvFlexExt.h\">\n\t\t</ClInclude>\n\t</ItemGroup>\n\t<ItemGroup>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\aabbtree.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\core.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\extrude.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\maths.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\mesh.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\perlin.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\pfm.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\platform.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\png.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\sdf.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\tga.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\voxelize.cpp\">\n\t\t</ClCompile>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\aabbtree.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\cloth.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\convex.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\core.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\extrude.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\mat22.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\mat33.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\mat44.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\maths.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\matnn.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\mesh.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\perlin.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\pfm.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\platform.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\png.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\point3.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\quat.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\sdf.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\tga.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\types.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\vec2.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\vec3.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\vec4.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\voxelize.h\">\n\t\t</ClInclude>\n\t</ItemGroup>\n\t<ItemGroup>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\appD3D12Ctx.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\bufferD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\demoContextD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\diffusePointRenderPipelineD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\fluidCompositeRenderPipelineD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\fluidEllipsoidRenderPipelineD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\fluidSmoothRenderPipelineD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\fluidThicknessRenderPipelineD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\imguiGraphD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\lineRenderPipelineD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\meshRenderer.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\meshRendererD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\meshRenderPipelineD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\meshUtil.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12CircularResourceHeap.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12CounterFence.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12DescriptorHeap.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12Handle.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12HelperUtil.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12RenderTarget.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12Resource.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12ResourceScopeManager.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDxDebugUtil.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDxFormatUtil.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoFreeList.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvResult.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\pipelineUtilD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\pointRenderPipelineD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\renderStateD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\appD3D12Ctx.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\bufferD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\demoContextD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\diffusePointRenderPipelineD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\fluidCompositeRenderPipelineD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\fluidEllipsoidRenderPipelineD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\fluidSmoothRenderPipelineD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\fluidThicknessRenderPipelineD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\imguiGraphD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\imguiInteropD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\lineRenderPipelineD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\meshRenderer.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\meshRendererD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\meshRenderPipelineD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\meshUtil.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12CircularResourceHeap.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12CounterFence.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12DescriptorHeap.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12HelperUtil.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12RenderTarget.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12Resource.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12ResourceScopeManager.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDxDebugUtil.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDxFormatUtil.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoFreeList.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\pipelineUtilD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\pointRenderPipelineD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\renderStateD3D12.cpp\">\n\t\t</ClCompile>\n\t</ItemGroup>\n\t<ItemGroup>\n\t\t<ClInclude Include=\"..\\..\\d3d11\\appD3D11Ctx.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d11\\debugLineRenderD3D11.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d11\\demoContextD3D11.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d11\\diffuseRenderD3D11.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d11\\fluidRenderD3D11.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d11\\imguiGraphD3D11.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d11\\meshRenderD3D11.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d11\\pointRenderD3D11.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d11\\renderTargetD3D11.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d11\\shadowMapD3D11.h\">\n\t\t</ClInclude>\n\t\t<ClCompile Include=\"..\\..\\d3d11\\appD3D11Ctx.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d11\\debugLineRenderD3D11.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d11\\demoContextD3D11.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d11\\diffuseRenderD3D11.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d11\\fluidRenderD3D11.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d11\\imguiGraphD3D11.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d11\\imguiInteropD3D11.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d11\\meshRenderD3D11.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d11\\pointRenderD3D11.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d11\\renderTargetD3D11.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d11\\shadowMapD3D11.cpp\">\n\t\t</ClCompile>\n\t</ItemGroup>\n\t<ItemGroup>\n\t\t<ClInclude Include=\"..\\..\\d3d\\appGraphCtx.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d\\imguiGraph.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d\\loader.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d\\loaderMacros.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d\\renderParamsD3D.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d\\shaderCommonD3D.h\">\n\t\t</ClInclude>\n\t\t<ClCompile Include=\"..\\..\\d3d\\appGraphCtxLoader.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d\\imguiGraph.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d\\imguiGraphLoader.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d\\loader.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d\\renderParamsD3D.cpp\">\n\t\t</ClCompile>\n\t</ItemGroup>\n\t<ItemGroup>\n\t\t<FxCompile Include=\"./../../d3d/shaders/debugLineVS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">debugLineVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">debugLineVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/debugLinePS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">debugLinePS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">debugLinePS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/imguiPS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">imguiPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">imguiPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/imguiVS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">imguiVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">imguiVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/meshPS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">meshPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">meshPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/meshAsyncComputeBenchPS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">meshPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">meshPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/meshShadowPS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">meshPS_Shadow</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">meshPS_Shadow</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/meshVS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">meshVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">meshVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointVS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">pointVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">pointVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointGS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Geometry</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">pointGS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Geometry</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">pointGS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointPS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">pointPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">pointPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointShadowPS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">pointShadowPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">pointShadowPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/diffuseVS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">diffuseVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">diffuseVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/diffuseGS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Geometry</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">diffuseGS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Geometry</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">diffuseGS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/diffusePS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">diffusePS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">diffusePS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/ellipsoidDepthVS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">ellipsoidDepthVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">ellipsoidDepthVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/ellipsoidDepthGS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Geometry</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">ellipsoidDepthGS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Geometry</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">ellipsoidDepthGS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/ellipsoidDepthPS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">ellipsoidDepthPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">ellipsoidDepthPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/passThroughVS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">passThroughVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">passThroughVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/blurDepthPS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">blurDepthPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">blurDepthPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/compositePS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">compositePS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">compositePS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointThicknessVS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">pointThicknessVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">pointThicknessVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointThicknessGS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Geometry</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">pointThicknessGS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Geometry</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">pointThicknessGS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointThicknessPS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">pointThicknessPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">pointThicknessPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t</ItemGroup>\n\t<ItemGroup>\n\t\t<ProjectReference Include=\"./../../../extensions/compiler/vc12win64/flexExtD3D.vcxproj\">\n\t\t\t<ReferenceOutputAssembly>false</ReferenceOutputAssembly>\n\t\t</ProjectReference>\n\t</ItemGroup>\n\t<Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.targets\" />\n\t<ImportGroup Label=\"ExtensionTargets\"></ImportGroup>\n</Project>\n"
  },
  {
    "path": "demo/compiler/vc12win64/flexDemoD3D.vcxproj.filters",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\r\n<Project ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\r\r\n\t<ItemGroup>\r\r\n\t\t<Filter Include=\"demo\">\r\r\n\t\t</Filter>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<Filter Include=\"demo\\scenes\">\r\r\n\t\t</Filter>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\adhesion.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\armadilloshower.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\bananas.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\bouyancy.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\bunnybath.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\ccdfluid.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\clothlayers.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\dambreak.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\darts.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\debris.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\deformables.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\envcloth.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\flag.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\fluidblock.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\fluidclothcoupling.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\forcefield.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\frictionmoving.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\frictionramp.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\gamemesh.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\googun.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\granularpile.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\granularshape.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\inflatable.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\initialoverlap.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\lighthouse.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\localspacecloth.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\localspacefluid.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\lowdimensionalshapes.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\melting.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\mixedpile.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\nonconvex.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\parachutingbunnies.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\pasta.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\player.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\potpourri.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\rayleightaylor.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\restitution.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\rigidfluidcoupling.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\rigidpile.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\rigidrotation.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\rockpool.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\sdfcollision.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\shapechannels.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\shapecollision.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\softbody.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\spherecloth.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\surfacetension.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\tearing.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\thinbox.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\trianglecollision.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\triggervolume.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\viscosity.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\waterballoon.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<ClCompile Include=\"..\\..\\imgui.cpp\">\r\r\n\t\t\t<Filter>demo</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\main.cpp\">\r\r\n\t\t\t<Filter>demo</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\shadersDemoContext.cpp\">\r\r\n\t\t\t<Filter>demo</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClInclude Include=\"..\\..\\benchmark.h\">\r\r\n\t\t\t<Filter>demo</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\demoContext.h\">\r\r\n\t\t\t<Filter>demo</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\helpers.h\">\r\r\n\t\t\t<Filter>demo</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\imgui.h\">\r\r\n\t\t\t<Filter>demo</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes.h\">\r\r\n\t\t\t<Filter>demo</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\shaders.h\">\r\r\n\t\t\t<Filter>demo</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\shadersDemoContext.h\">\r\r\n\t\t\t<Filter>demo</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\stb_truetype.h\">\r\r\n\t\t\t<Filter>demo</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<Filter Include=\"include\">\r\r\n\t\t</Filter>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\include\\NvFlex.h\">\r\r\n\t\t\t<Filter>include</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\include\\NvFlexDevice.h\">\r\r\n\t\t\t<Filter>include</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\include\\NvFlexExt.h\">\r\r\n\t\t\t<Filter>include</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<Filter Include=\"core\">\r\r\n\t\t</Filter>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\aabbtree.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\core.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\extrude.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\maths.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\mesh.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\perlin.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\pfm.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\platform.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\png.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\sdf.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\tga.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\voxelize.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\aabbtree.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\cloth.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\convex.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\core.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\extrude.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\mat22.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\mat33.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\mat44.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\maths.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\matnn.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\mesh.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\perlin.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\pfm.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\platform.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\png.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\point3.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\quat.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\sdf.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\tga.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\types.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\vec2.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\vec3.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\vec4.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\voxelize.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<Filter Include=\"d3d12\">\r\r\n\t\t</Filter>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\appD3D12Ctx.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\bufferD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\demoContextD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\diffusePointRenderPipelineD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\fluidCompositeRenderPipelineD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\fluidEllipsoidRenderPipelineD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\fluidSmoothRenderPipelineD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\fluidThicknessRenderPipelineD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\imguiGraphD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\lineRenderPipelineD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\meshRenderer.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\meshRendererD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\meshRenderPipelineD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\meshUtil.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12CircularResourceHeap.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12CounterFence.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12DescriptorHeap.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12Handle.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12HelperUtil.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12RenderTarget.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12Resource.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12ResourceScopeManager.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDxDebugUtil.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDxFormatUtil.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoFreeList.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvResult.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\pipelineUtilD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\pointRenderPipelineD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\renderStateD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\appD3D12Ctx.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\bufferD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\demoContextD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\diffusePointRenderPipelineD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\fluidCompositeRenderPipelineD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\fluidEllipsoidRenderPipelineD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\fluidSmoothRenderPipelineD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\fluidThicknessRenderPipelineD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\imguiGraphD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\imguiInteropD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\lineRenderPipelineD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\meshRenderer.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\meshRendererD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\meshRenderPipelineD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\meshUtil.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12CircularResourceHeap.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12CounterFence.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12DescriptorHeap.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12HelperUtil.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12RenderTarget.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12Resource.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12ResourceScopeManager.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDxDebugUtil.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDxFormatUtil.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoFreeList.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\pipelineUtilD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\pointRenderPipelineD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\renderStateD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<Filter Include=\"d3d11\">\r\r\n\t\t</Filter>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d11\\appD3D11Ctx.h\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d11\\debugLineRenderD3D11.h\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d11\\demoContextD3D11.h\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d11\\diffuseRenderD3D11.h\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d11\\fluidRenderD3D11.h\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d11\\imguiGraphD3D11.h\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d11\\meshRenderD3D11.h\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d11\\pointRenderD3D11.h\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d11\\renderTargetD3D11.h\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d11\\shadowMapD3D11.h\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d11\\appD3D11Ctx.cpp\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d11\\debugLineRenderD3D11.cpp\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d11\\demoContextD3D11.cpp\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d11\\diffuseRenderD3D11.cpp\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d11\\fluidRenderD3D11.cpp\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d11\\imguiGraphD3D11.cpp\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d11\\imguiInteropD3D11.cpp\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d11\\meshRenderD3D11.cpp\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d11\\pointRenderD3D11.cpp\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d11\\renderTargetD3D11.cpp\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d11\\shadowMapD3D11.cpp\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<Filter Include=\"d3d\">\r\r\n\t\t</Filter>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d\\appGraphCtx.h\">\r\r\n\t\t\t<Filter>d3d</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d\\imguiGraph.h\">\r\r\n\t\t\t<Filter>d3d</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d\\loader.h\">\r\r\n\t\t\t<Filter>d3d</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d\\loaderMacros.h\">\r\r\n\t\t\t<Filter>d3d</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d\\renderParamsD3D.h\">\r\r\n\t\t\t<Filter>d3d</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d\\shaderCommonD3D.h\">\r\r\n\t\t\t<Filter>d3d</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d\\appGraphCtxLoader.cpp\">\r\r\n\t\t\t<Filter>d3d</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d\\imguiGraph.cpp\">\r\r\n\t\t\t<Filter>d3d</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d\\imguiGraphLoader.cpp\">\r\r\n\t\t\t<Filter>d3d</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d\\loader.cpp\">\r\r\n\t\t\t<Filter>d3d</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d\\renderParamsD3D.cpp\">\r\r\n\t\t\t<Filter>d3d</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup><Filter Include=\"Shader Files\"></Filter></ItemGroup>\r\n\t<ItemGroup>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/debugLineVS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/debugLinePS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/imguiPS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/imguiVS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/meshPS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/meshAsyncComputeBenchPS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/meshShadowPS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/meshVS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointVS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointGS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointPS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointShadowPS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/diffuseVS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/diffuseGS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/diffusePS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/ellipsoidDepthVS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/ellipsoidDepthGS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/ellipsoidDepthPS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/passThroughVS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/blurDepthPS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/compositePS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointThicknessVS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointThicknessGS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointThicknessPS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t</ItemGroup>\r\n</Project>"
  },
  {
    "path": "demo/compiler/vc12win64/flexDemoD3D.vcxproj.user",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\r\n<Project ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\r\r\n<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">\r\r\n  <LocalDebuggerWorkingDirectory>$(OutputPath)</LocalDebuggerWorkingDirectory>\r\r\n</PropertyGroup>\r\r\n<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">\r\r\n  <LocalDebuggerWorkingDirectory>$(OutputPath)</LocalDebuggerWorkingDirectory>\r\r\n</PropertyGroup>\r\r\n</Project>"
  },
  {
    "path": "demo/compiler/vc14win32/flexDemoD3D.sln",
    "content": "Microsoft Visual Studio Solution File, Format Version 12.00\n# Visual Studio 14\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"flexDemoD3D\", \"./flexDemoD3D.vcxproj\", \"{EF4EDDD8-2620-47AA-E75D-4C682C276C02}\"\n\tProjectSection(ProjectDependencies) = postProject\n\t\t{9B42889D-2F0D-0378-E87E-82C8D918DB4D} = {9B42889D-2F0D-0378-E87E-82C8D918DB4D}\n\tEndProjectSection\nEndProject\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"flexExtD3D\", \"./../../../extensions/compiler/vc14win32/flexExtD3D.vcxproj\", \"{9B42889D-2F0D-0378-E87E-82C8D918DB4D}\"\n\tProjectSection(ProjectDependencies) = postProject\n\tEndProjectSection\nEndProject\nGlobal\n\tGlobalSection(SolutionConfigurationPlatforms) = preSolution\n\t\tdebug|Win32 = debug|Win32\n\t\trelease|Win32 = release|Win32\n\tEndGlobalSection\n\tGlobalSection(ProjectConfigurationPlatforms) = postSolution\n\t\t{EF4EDDD8-2620-47AA-E75D-4C682C276C02}.debug|Win32.ActiveCfg = debug|Win32\n\t\t{EF4EDDD8-2620-47AA-E75D-4C682C276C02}.debug|Win32.Build.0 = debug|Win32\n\t\t{EF4EDDD8-2620-47AA-E75D-4C682C276C02}.release|Win32.ActiveCfg = release|Win32\n\t\t{EF4EDDD8-2620-47AA-E75D-4C682C276C02}.release|Win32.Build.0 = release|Win32\n\t\t{9B42889D-2F0D-0378-E87E-82C8D918DB4D}.debug|Win32.ActiveCfg = debug|Win32\n\t\t{9B42889D-2F0D-0378-E87E-82C8D918DB4D}.debug|Win32.Build.0 = debug|Win32\n\t\t{9B42889D-2F0D-0378-E87E-82C8D918DB4D}.release|Win32.ActiveCfg = release|Win32\n\t\t{9B42889D-2F0D-0378-E87E-82C8D918DB4D}.release|Win32.Build.0 = release|Win32\n\tEndGlobalSection\n\tGlobalSection(ExtensibilityGlobals) = postSolution\n\tEndGlobalSection\n\tGlobalSection(ExtensibilityAddins) = postSolution\n\tEndGlobalSection\n\tGlobalSection(NestedProjects) = preSolution\n\tEndGlobalSection\nEndGlobal\n"
  },
  {
    "path": "demo/compiler/vc14win32/flexDemoD3D.vcxproj",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project DefaultTargets=\"Build\" ToolsVersion=\"14.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n\t<ItemGroup Label=\"ProjectConfigurations\">\n\t\t<ProjectConfiguration Include=\"debug|Win32\">\n\t\t\t<Configuration>debug</Configuration>\n\t\t\t<Platform>Win32</Platform>\n\t\t</ProjectConfiguration>\n\t\t<ProjectConfiguration Include=\"release|Win32\">\n\t\t\t<Configuration>release</Configuration>\n\t\t\t<Platform>Win32</Platform>\n\t\t</ProjectConfiguration>\n\t</ItemGroup>\n\t<PropertyGroup Label=\"Globals\">\n\t\t<ProjectGuid>{EF4EDDD8-2620-47AA-E75D-4C682C276C02}</ProjectGuid>\n\t\t<RootNamespace>flexDemoD3D</RootNamespace>\n\t\t<WindowsTargetPlatformVersion>10.0.10586.0</WindowsTargetPlatformVersion>\n\t</PropertyGroup>\n\t<Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.Default.props\" />\n\t<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\" Label=\"Configuration\">\n\t\t<ConfigurationType>Application</ConfigurationType>\n\t\t<PlatformToolset>v140</PlatformToolset>\n\t</PropertyGroup>\n\t<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\" Label=\"Configuration\">\n\t\t<ConfigurationType>Application</ConfigurationType>\n\t\t<PlatformToolset>v140</PlatformToolset>\n\t\t<WholeProgramOptimization>true</WholeProgramOptimization>\n\t</PropertyGroup>\n\t<Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.props\" />\n\t<ImportGroup Label=\"ExtensionSettings\">\n\t</ImportGroup>\n\t<ImportGroup Label=\"PropertySheets\" Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">\n\t\t<Import Project=\"$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props\" Condition=\"exists('$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props')\" Label=\"LocalAppDataPlatform\" />\n\t</ImportGroup>\n\t<ImportGroup Label=\"PropertySheets\" Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">\n\t\t<Import Project=\"$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props\" Condition=\"exists('$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props')\" Label=\"LocalAppDataPlatform\" />\n\t</ImportGroup>\n\t<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">\n\t\t<OutDir>./../../../bin/win32\\</OutDir>\n\t\t<IntDir>./build/win32/DX/debug\\</IntDir>\n\t\t<TargetExt>.exe</TargetExt>\n\t\t<TargetName>NvFlexDemoDebugD3D_x86</TargetName>\n\t\t<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>\n\t\t<CodeAnalysisRules />\n\t\t<CodeAnalysisRuleAssemblies />\n\t</PropertyGroup>\n\t<ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">\n\t\t<ClCompile>\n\t\t\t<FloatingPointModel>Precise</FloatingPointModel>\n\t\t\t<AdditionalOptions> /d2Zi+</AdditionalOptions>\n\t\t\t<Optimization>Disabled</Optimization>\n\t\t\t<AdditionalIncludeDirectories>$(CUDA_PATH)/include;$(CUDA_PATH)/extras/cupti/include;./../../..;./../..;./../../d3d11;./../../d3d12;./../../../external/SDL2-2.0.4/include;./../../../external/D3D12/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\n\t\t\t<PreprocessorDefinitions>_CONSOLE;WIN32;_CRT_SECURE_NO_WARNINGS;FLEX_DX;FLEX_DX12;_DEBUG;_ITERATOR_DEBUG_LEVEL=0;FLEX_DIRECT_COMPUTE;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n\t\t\t<WarningLevel>Level3</WarningLevel>\n\t\t\t<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>\n\t\t\t<PrecompiledHeader>NotUsing</PrecompiledHeader>\n\t\t\t<PrecompiledHeaderFile></PrecompiledHeaderFile>\n\t\t</ClCompile>\n\t\t<Link>\n\t\t\t<AdditionalOptions>/DELAYLOAD:d3d11.dll /DELAYLOAD:d3d12.dll /DELAYLOAD:dxgi.dll</AdditionalOptions>\n\t\t\t<AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;d3dcompiler.lib;delayimp.lib;./../../../external/SDL2-2.0.4/lib/x86/SDL2.lib;./../../../external/SDL2-2.0.4/lib/x86/SDL2main.lib;./../../../external/NvToolsExt/lib/Win32/nvToolsExt32_1.lib;./../../../external/D3D12/libs/x86/d3d12.lib;./../../../lib/win32/NvFlexDebugD3D_x86.lib;./../../../lib/win32/NvFlexExtDebugD3D_x86.lib;%(AdditionalDependencies)</AdditionalDependencies>\n\t\t\t<OutputFile>$(OutDir)NvFlexDemoDebugD3D_x86.exe</OutputFile>\n\t\t\t<AdditionalLibraryDirectories>$(CUDA_PATH)/lib/win32;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\n\t\t\t<ProgramDatabaseFile>$(OutDir)/NvFlexDemoDebugD3D_x86.exe.pdb</ProgramDatabaseFile>\n\t\t\t<SubSystem>Console</SubSystem>\n\t\t\t<ImportLibrary>$(OutDir)$(TargetName).lib</ImportLibrary>\n\t\t\t<GenerateDebugInformation>true</GenerateDebugInformation>\n\t\t\t<TargetMachine>MachineX86</TargetMachine>\n\t\t</Link>\n\t\t<ResourceCompile>\n\t\t</ResourceCompile>\n\t\t<ProjectReference>\n\t\t</ProjectReference>\n\t</ItemDefinitionGroup>\n\t<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">\n\t\t<OutDir>./../../../bin/win32\\</OutDir>\n\t\t<IntDir>./build/win32/D3D/demo/release\\</IntDir>\n\t\t<TargetExt>.exe</TargetExt>\n\t\t<TargetName>NvFlexDemoReleaseD3D_x86</TargetName>\n\t\t<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>\n\t\t<CodeAnalysisRules />\n\t\t<CodeAnalysisRuleAssemblies />\n\t</PropertyGroup>\n\t<ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">\n\t\t<ClCompile>\n\t\t\t<IntrinsicFunctions>true</IntrinsicFunctions>\n\t\t\t<FunctionLevelLinking>true</FunctionLevelLinking>\n\t\t\t<BufferSecurityCheck>false</BufferSecurityCheck>\n\t\t\t<FloatingPointModel>Fast</FloatingPointModel>\n\t\t\t<AdditionalOptions> /d2Zi+</AdditionalOptions>\n\t\t\t<Optimization>Full</Optimization>\n\t\t\t<AdditionalIncludeDirectories>$(CUDA_PATH)/include;$(CUDA_PATH)/extras/cupti/include;./../../..;./../..;./../../d3d11;./../../d3d12;./../../../external/SDL2-2.0.4/include;./../../../external/D3D12/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\n\t\t\t<PreprocessorDefinitions>_CONSOLE;WIN32;_CRT_SECURE_NO_WARNINGS;FLEX_DX;FLEX_DX12;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n\t\t\t<WarningLevel>Level3</WarningLevel>\n\t\t\t<RuntimeLibrary>MultiThreaded</RuntimeLibrary>\n\t\t\t<PrecompiledHeader>NotUsing</PrecompiledHeader>\n\t\t\t<PrecompiledHeaderFile></PrecompiledHeaderFile>\n\t\t</ClCompile>\n\t\t<Link>\n\t\t\t<AdditionalOptions>/DELAYLOAD:d3d11.dll /DELAYLOAD:d3d12.dll /DELAYLOAD:dxgi.dll</AdditionalOptions>\n\t\t\t<AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;d3dcompiler.lib;delayimp.lib;./../../../external/SDL2-2.0.4/lib/x86/SDL2.lib;./../../../external/SDL2-2.0.4/lib/x86/SDL2main.lib;./../../../external/NvToolsExt/lib/Win32/nvToolsExt32_1.lib;./../../../external/D3D12/libs/x86/d3d12.lib;./../../../lib/win32/NvFlexReleaseD3D_x86.lib;./../../../lib/win32/NvFlexExtReleaseD3D_x86.lib;%(AdditionalDependencies)</AdditionalDependencies>\n\t\t\t<OutputFile>$(OutDir)NvFlexDemoReleaseD3D_x86.exe</OutputFile>\n\t\t\t<AdditionalLibraryDirectories>$(CUDA_PATH)/lib/win32;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\n\t\t\t<ProgramDatabaseFile>$(OutDir)/NvFlexDemoReleaseD3D_x86.exe.pdb</ProgramDatabaseFile>\n\t\t\t<SubSystem>Console</SubSystem>\n\t\t\t<ImportLibrary>$(OutDir)$(TargetName).lib</ImportLibrary>\n\t\t\t<GenerateDebugInformation>true</GenerateDebugInformation>\n\t\t\t<TargetMachine>MachineX86</TargetMachine>\n\t\t</Link>\n\t\t<ResourceCompile>\n\t\t</ResourceCompile>\n\t\t<ProjectReference>\n\t\t</ProjectReference>\n\t</ItemDefinitionGroup>\n<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">\n  <LocalDebuggerWorkingDirectory>$(OutputPath)</LocalDebuggerWorkingDirectory>\n</PropertyGroup>\n<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">\n  <LocalDebuggerWorkingDirectory>$(OutputPath)</LocalDebuggerWorkingDirectory>\n</PropertyGroup>\n\t<ItemGroup>\n\t\t<ClInclude Include=\"..\\..\\scenes\\adhesion.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\armadilloshower.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\bananas.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\bouyancy.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\bunnybath.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\ccdfluid.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\clothlayers.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\dambreak.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\darts.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\debris.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\deformables.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\envcloth.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\flag.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\fluidblock.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\fluidclothcoupling.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\forcefield.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\frictionmoving.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\frictionramp.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\gamemesh.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\googun.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\granularpile.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\granularshape.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\inflatable.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\initialoverlap.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\lighthouse.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\localspacecloth.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\localspacefluid.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\lowdimensionalshapes.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\melting.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\mixedpile.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\nonconvex.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\parachutingbunnies.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\pasta.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\player.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\potpourri.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\rayleightaylor.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\restitution.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\rigidfluidcoupling.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\rigidpile.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\rigidrotation.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\rockpool.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\sdfcollision.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\shapechannels.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\shapecollision.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\softbody.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\spherecloth.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\surfacetension.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\tearing.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\thinbox.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\trianglecollision.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\triggervolume.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\viscosity.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\waterballoon.h\">\n\t\t</ClInclude>\n\t</ItemGroup>\n\t<ItemGroup>\n\t\t<ClCompile Include=\"..\\..\\imgui.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\main.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\shadersDemoContext.cpp\">\n\t\t</ClCompile>\n\t\t<ClInclude Include=\"..\\..\\benchmark.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\demoContext.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\helpers.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\imgui.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\shaders.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\shadersDemoContext.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\stb_truetype.h\">\n\t\t</ClInclude>\n\t</ItemGroup>\n\t<ItemGroup>\n\t\t<ClInclude Include=\"..\\..\\..\\include\\NvFlex.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\include\\NvFlexDevice.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\include\\NvFlexExt.h\">\n\t\t</ClInclude>\n\t</ItemGroup>\n\t<ItemGroup>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\aabbtree.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\core.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\extrude.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\maths.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\mesh.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\perlin.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\pfm.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\platform.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\png.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\sdf.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\tga.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\voxelize.cpp\">\n\t\t</ClCompile>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\aabbtree.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\cloth.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\convex.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\core.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\extrude.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\mat22.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\mat33.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\mat44.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\maths.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\matnn.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\mesh.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\perlin.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\pfm.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\platform.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\png.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\point3.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\quat.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\sdf.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\tga.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\types.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\vec2.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\vec3.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\vec4.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\voxelize.h\">\n\t\t</ClInclude>\n\t</ItemGroup>\n\t<ItemGroup>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\appD3D12Ctx.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\bufferD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\demoContextD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\diffusePointRenderPipelineD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\fluidCompositeRenderPipelineD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\fluidEllipsoidRenderPipelineD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\fluidSmoothRenderPipelineD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\fluidThicknessRenderPipelineD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\imguiGraphD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\lineRenderPipelineD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\meshRenderer.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\meshRendererD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\meshRenderPipelineD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\meshUtil.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12CircularResourceHeap.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12CounterFence.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12DescriptorHeap.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12Handle.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12HelperUtil.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12RenderTarget.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12Resource.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12ResourceScopeManager.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDxDebugUtil.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDxFormatUtil.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoFreeList.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvResult.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\pipelineUtilD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\pointRenderPipelineD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\renderStateD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\appD3D12Ctx.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\bufferD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\demoContextD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\diffusePointRenderPipelineD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\fluidCompositeRenderPipelineD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\fluidEllipsoidRenderPipelineD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\fluidSmoothRenderPipelineD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\fluidThicknessRenderPipelineD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\imguiGraphD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\imguiInteropD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\lineRenderPipelineD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\meshRenderer.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\meshRendererD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\meshRenderPipelineD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\meshUtil.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12CircularResourceHeap.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12CounterFence.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12DescriptorHeap.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12HelperUtil.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12RenderTarget.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12Resource.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12ResourceScopeManager.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDxDebugUtil.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDxFormatUtil.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoFreeList.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\pipelineUtilD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\pointRenderPipelineD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\renderStateD3D12.cpp\">\n\t\t</ClCompile>\n\t</ItemGroup>\n\t<ItemGroup>\n\t\t<ClInclude Include=\"..\\..\\d3d11\\appD3D11Ctx.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d11\\debugLineRenderD3D11.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d11\\demoContextD3D11.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d11\\diffuseRenderD3D11.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d11\\fluidRenderD3D11.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d11\\imguiGraphD3D11.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d11\\meshRenderD3D11.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d11\\pointRenderD3D11.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d11\\renderTargetD3D11.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d11\\shadowMapD3D11.h\">\n\t\t</ClInclude>\n\t\t<ClCompile Include=\"..\\..\\d3d11\\appD3D11Ctx.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d11\\debugLineRenderD3D11.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d11\\demoContextD3D11.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d11\\diffuseRenderD3D11.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d11\\fluidRenderD3D11.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d11\\imguiGraphD3D11.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d11\\imguiInteropD3D11.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d11\\meshRenderD3D11.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d11\\pointRenderD3D11.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d11\\renderTargetD3D11.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d11\\shadowMapD3D11.cpp\">\n\t\t</ClCompile>\n\t</ItemGroup>\n\t<ItemGroup>\n\t\t<ClInclude Include=\"..\\..\\d3d\\appGraphCtx.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d\\imguiGraph.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d\\loader.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d\\loaderMacros.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d\\renderParamsD3D.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d\\shaderCommonD3D.h\">\n\t\t</ClInclude>\n\t\t<ClCompile Include=\"..\\..\\d3d\\appGraphCtxLoader.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d\\imguiGraph.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d\\imguiGraphLoader.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d\\loader.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d\\renderParamsD3D.cpp\">\n\t\t</ClCompile>\n\t</ItemGroup>\n\t<ItemGroup>\n\t\t<FxCompile Include=\"./../../d3d/shaders/debugLineVS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">debugLineVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">debugLineVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/debugLinePS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">debugLinePS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">debugLinePS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/imguiPS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">imguiPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">imguiPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/imguiVS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">imguiVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">imguiVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/meshPS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">meshPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">meshPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/meshAsyncComputeBenchPS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">meshPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">meshPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/meshShadowPS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">meshPS_Shadow</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">meshPS_Shadow</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/meshVS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">meshVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">meshVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointVS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">pointVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">pointVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointGS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">Geometry</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">pointGS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">Geometry</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">pointGS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointPS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">pointPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">pointPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointShadowPS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">pointShadowPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">pointShadowPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/diffuseVS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">diffuseVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">diffuseVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/diffuseGS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">Geometry</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">diffuseGS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">Geometry</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">diffuseGS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/diffusePS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">diffusePS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">diffusePS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/ellipsoidDepthVS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">ellipsoidDepthVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">ellipsoidDepthVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/ellipsoidDepthGS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">Geometry</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">ellipsoidDepthGS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">Geometry</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">ellipsoidDepthGS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/ellipsoidDepthPS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">ellipsoidDepthPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">ellipsoidDepthPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/passThroughVS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">passThroughVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">passThroughVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/blurDepthPS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">blurDepthPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">blurDepthPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/compositePS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">compositePS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">compositePS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointThicknessVS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">pointThicknessVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">pointThicknessVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointThicknessGS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">Geometry</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">pointThicknessGS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">Geometry</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">pointThicknessGS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointThicknessPS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">pointThicknessPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">pointThicknessPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t</ItemGroup>\n\t<ItemGroup>\n\t\t<ProjectReference Include=\"./../../../extensions/compiler/vc14win32/flexExtD3D.vcxproj\">\n\t\t\t<ReferenceOutputAssembly>false</ReferenceOutputAssembly>\n\t\t</ProjectReference>\n\t</ItemGroup>\n\t<Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.targets\" />\n\t<ImportGroup Label=\"ExtensionTargets\"></ImportGroup>\n</Project>\n"
  },
  {
    "path": "demo/compiler/vc14win32/flexDemoD3D.vcxproj.filters",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\r\n<Project ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\r\r\n\t<ItemGroup>\r\r\n\t\t<Filter Include=\"demo\">\r\r\n\t\t</Filter>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<Filter Include=\"demo\\scenes\">\r\r\n\t\t</Filter>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\adhesion.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\armadilloshower.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\bananas.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\bouyancy.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\bunnybath.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\ccdfluid.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\clothlayers.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\dambreak.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\darts.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\debris.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\deformables.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\envcloth.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\flag.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\fluidblock.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\fluidclothcoupling.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\forcefield.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\frictionmoving.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\frictionramp.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\gamemesh.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\googun.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\granularpile.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\granularshape.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\inflatable.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\initialoverlap.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\lighthouse.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\localspacecloth.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\localspacefluid.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\lowdimensionalshapes.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\melting.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\mixedpile.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\nonconvex.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\parachutingbunnies.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\pasta.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\player.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\potpourri.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\rayleightaylor.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\restitution.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\rigidfluidcoupling.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\rigidpile.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\rigidrotation.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\rockpool.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\sdfcollision.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\shapechannels.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\shapecollision.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\softbody.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\spherecloth.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\surfacetension.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\tearing.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\thinbox.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\trianglecollision.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\triggervolume.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\viscosity.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\waterballoon.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<ClCompile Include=\"..\\..\\imgui.cpp\">\r\r\n\t\t\t<Filter>demo</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\main.cpp\">\r\r\n\t\t\t<Filter>demo</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\shadersDemoContext.cpp\">\r\r\n\t\t\t<Filter>demo</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClInclude Include=\"..\\..\\benchmark.h\">\r\r\n\t\t\t<Filter>demo</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\demoContext.h\">\r\r\n\t\t\t<Filter>demo</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\helpers.h\">\r\r\n\t\t\t<Filter>demo</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\imgui.h\">\r\r\n\t\t\t<Filter>demo</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes.h\">\r\r\n\t\t\t<Filter>demo</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\shaders.h\">\r\r\n\t\t\t<Filter>demo</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\shadersDemoContext.h\">\r\r\n\t\t\t<Filter>demo</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\stb_truetype.h\">\r\r\n\t\t\t<Filter>demo</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<Filter Include=\"include\">\r\r\n\t\t</Filter>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\include\\NvFlex.h\">\r\r\n\t\t\t<Filter>include</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\include\\NvFlexDevice.h\">\r\r\n\t\t\t<Filter>include</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\include\\NvFlexExt.h\">\r\r\n\t\t\t<Filter>include</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<Filter Include=\"core\">\r\r\n\t\t</Filter>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\aabbtree.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\core.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\extrude.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\maths.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\mesh.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\perlin.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\pfm.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\platform.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\png.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\sdf.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\tga.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\voxelize.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\aabbtree.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\cloth.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\convex.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\core.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\extrude.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\mat22.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\mat33.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\mat44.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\maths.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\matnn.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\mesh.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\perlin.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\pfm.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\platform.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\png.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\point3.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\quat.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\sdf.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\tga.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\types.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\vec2.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\vec3.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\vec4.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\voxelize.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<Filter Include=\"d3d12\">\r\r\n\t\t</Filter>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\appD3D12Ctx.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\bufferD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\demoContextD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\diffusePointRenderPipelineD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\fluidCompositeRenderPipelineD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\fluidEllipsoidRenderPipelineD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\fluidSmoothRenderPipelineD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\fluidThicknessRenderPipelineD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\imguiGraphD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\lineRenderPipelineD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\meshRenderer.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\meshRendererD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\meshRenderPipelineD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\meshUtil.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12CircularResourceHeap.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12CounterFence.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12DescriptorHeap.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12Handle.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12HelperUtil.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12RenderTarget.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12Resource.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12ResourceScopeManager.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDxDebugUtil.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDxFormatUtil.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoFreeList.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvResult.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\pipelineUtilD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\pointRenderPipelineD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\renderStateD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\appD3D12Ctx.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\bufferD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\demoContextD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\diffusePointRenderPipelineD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\fluidCompositeRenderPipelineD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\fluidEllipsoidRenderPipelineD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\fluidSmoothRenderPipelineD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\fluidThicknessRenderPipelineD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\imguiGraphD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\imguiInteropD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\lineRenderPipelineD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\meshRenderer.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\meshRendererD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\meshRenderPipelineD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\meshUtil.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12CircularResourceHeap.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12CounterFence.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12DescriptorHeap.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12HelperUtil.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12RenderTarget.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12Resource.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12ResourceScopeManager.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDxDebugUtil.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDxFormatUtil.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoFreeList.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\pipelineUtilD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\pointRenderPipelineD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\renderStateD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<Filter Include=\"d3d11\">\r\r\n\t\t</Filter>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d11\\appD3D11Ctx.h\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d11\\debugLineRenderD3D11.h\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d11\\demoContextD3D11.h\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d11\\diffuseRenderD3D11.h\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d11\\fluidRenderD3D11.h\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d11\\imguiGraphD3D11.h\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d11\\meshRenderD3D11.h\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d11\\pointRenderD3D11.h\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d11\\renderTargetD3D11.h\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d11\\shadowMapD3D11.h\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d11\\appD3D11Ctx.cpp\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d11\\debugLineRenderD3D11.cpp\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d11\\demoContextD3D11.cpp\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d11\\diffuseRenderD3D11.cpp\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d11\\fluidRenderD3D11.cpp\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d11\\imguiGraphD3D11.cpp\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d11\\imguiInteropD3D11.cpp\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d11\\meshRenderD3D11.cpp\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d11\\pointRenderD3D11.cpp\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d11\\renderTargetD3D11.cpp\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d11\\shadowMapD3D11.cpp\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<Filter Include=\"d3d\">\r\r\n\t\t</Filter>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d\\appGraphCtx.h\">\r\r\n\t\t\t<Filter>d3d</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d\\imguiGraph.h\">\r\r\n\t\t\t<Filter>d3d</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d\\loader.h\">\r\r\n\t\t\t<Filter>d3d</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d\\loaderMacros.h\">\r\r\n\t\t\t<Filter>d3d</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d\\renderParamsD3D.h\">\r\r\n\t\t\t<Filter>d3d</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d\\shaderCommonD3D.h\">\r\r\n\t\t\t<Filter>d3d</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d\\appGraphCtxLoader.cpp\">\r\r\n\t\t\t<Filter>d3d</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d\\imguiGraph.cpp\">\r\r\n\t\t\t<Filter>d3d</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d\\imguiGraphLoader.cpp\">\r\r\n\t\t\t<Filter>d3d</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d\\loader.cpp\">\r\r\n\t\t\t<Filter>d3d</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d\\renderParamsD3D.cpp\">\r\r\n\t\t\t<Filter>d3d</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup><Filter Include=\"Shader Files\"></Filter></ItemGroup>\r\n\t<ItemGroup>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/debugLineVS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/debugLinePS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/imguiPS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/imguiVS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/meshPS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/meshAsyncComputeBenchPS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/meshShadowPS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/meshVS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointVS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointGS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointPS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointShadowPS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/diffuseVS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/diffuseGS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/diffusePS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/ellipsoidDepthVS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/ellipsoidDepthGS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/ellipsoidDepthPS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/passThroughVS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/blurDepthPS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/compositePS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointThicknessVS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointThicknessGS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointThicknessPS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t</ItemGroup>\r\n</Project>"
  },
  {
    "path": "demo/compiler/vc14win32/flexDemoD3D.vcxproj.user",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\r\n<Project ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\r\r\n<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">\r\r\n  <LocalDebuggerWorkingDirectory>$(OutputPath)</LocalDebuggerWorkingDirectory>\r\r\n</PropertyGroup>\r\r\n<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">\r\r\n  <LocalDebuggerWorkingDirectory>$(OutputPath)</LocalDebuggerWorkingDirectory>\r\r\n</PropertyGroup>\r\r\n</Project>"
  },
  {
    "path": "demo/compiler/vc14win64/flexDemoCUDA.sln",
    "content": "Microsoft Visual Studio Solution File, Format Version 12.00\n# Visual Studio 14\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"flexDemoCUDA\", \"./flexDemoCUDA.vcxproj\", \"{5159D6B6-76B6-4056-6797-30484A82D93C}\"\n\tProjectSection(ProjectDependencies) = postProject\n\t\t{FD4C9C06-7BEC-CDF8-C631-CD32A428A280} = {FD4C9C06-7BEC-CDF8-C631-CD32A428A280}\n\tEndProjectSection\nEndProject\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"flexExtCUDA\", \"./../../../extensions/compiler/vc14win64/flexExtCUDA.vcxproj\", \"{FD4C9C06-7BEC-CDF8-C631-CD32A428A280}\"\n\tProjectSection(ProjectDependencies) = postProject\n\tEndProjectSection\nEndProject\nGlobal\n\tGlobalSection(SolutionConfigurationPlatforms) = preSolution\n\t\tdebug|x64 = debug|x64\n\t\trelease|x64 = release|x64\n\tEndGlobalSection\n\tGlobalSection(ProjectConfigurationPlatforms) = postSolution\n\t\t{5159D6B6-76B6-4056-6797-30484A82D93C}.debug|x64.ActiveCfg = debug|x64\n\t\t{5159D6B6-76B6-4056-6797-30484A82D93C}.debug|x64.Build.0 = debug|x64\n\t\t{5159D6B6-76B6-4056-6797-30484A82D93C}.release|x64.ActiveCfg = release|x64\n\t\t{5159D6B6-76B6-4056-6797-30484A82D93C}.release|x64.Build.0 = release|x64\n\t\t{FD4C9C06-7BEC-CDF8-C631-CD32A428A280}.debug|x64.ActiveCfg = debug|x64\n\t\t{FD4C9C06-7BEC-CDF8-C631-CD32A428A280}.debug|x64.Build.0 = debug|x64\n\t\t{FD4C9C06-7BEC-CDF8-C631-CD32A428A280}.release|x64.ActiveCfg = release|x64\n\t\t{FD4C9C06-7BEC-CDF8-C631-CD32A428A280}.release|x64.Build.0 = release|x64\n\tEndGlobalSection\n\tGlobalSection(ExtensibilityGlobals) = postSolution\n\tEndGlobalSection\n\tGlobalSection(ExtensibilityAddins) = postSolution\n\tEndGlobalSection\n\tGlobalSection(NestedProjects) = preSolution\n\tEndGlobalSection\nEndGlobal\n"
  },
  {
    "path": "demo/compiler/vc14win64/flexDemoCUDA.vcxproj",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project DefaultTargets=\"Build\" ToolsVersion=\"14.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n\t<ItemGroup Label=\"ProjectConfigurations\">\n\t\t<ProjectConfiguration Include=\"debug|x64\">\n\t\t\t<Configuration>debug</Configuration>\n\t\t\t<Platform>x64</Platform>\n\t\t</ProjectConfiguration>\n\t\t<ProjectConfiguration Include=\"release|x64\">\n\t\t\t<Configuration>release</Configuration>\n\t\t\t<Platform>x64</Platform>\n\t\t</ProjectConfiguration>\n\t</ItemGroup>\n\t<PropertyGroup Label=\"Globals\">\n\t\t<ProjectGuid>{5159D6B6-76B6-4056-6797-30484A82D93C}</ProjectGuid>\n\t\t<RootNamespace>flexDemoCUDA</RootNamespace>\n\t</PropertyGroup>\n\t<Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.Default.props\" />\n\t<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\" Label=\"Configuration\">\n\t\t<ConfigurationType>Application</ConfigurationType>\n\t\t<PlatformToolset>v140</PlatformToolset>\n\t</PropertyGroup>\n\t<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\" Label=\"Configuration\">\n\t\t<ConfigurationType>Application</ConfigurationType>\n\t\t<PlatformToolset>v140</PlatformToolset>\n\t\t<WholeProgramOptimization>true</WholeProgramOptimization>\n\t</PropertyGroup>\n\t<Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.props\" />\n\t<ImportGroup Label=\"ExtensionSettings\">\n\t</ImportGroup>\n\t<ImportGroup Label=\"PropertySheets\" Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">\n\t\t<Import Project=\"$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props\" Condition=\"exists('$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props')\" Label=\"LocalAppDataPlatform\" />\n\t</ImportGroup>\n\t<ImportGroup Label=\"PropertySheets\" Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">\n\t\t<Import Project=\"$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props\" Condition=\"exists('$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props')\" Label=\"LocalAppDataPlatform\" />\n\t</ImportGroup>\n\t<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">\n\t\t<OutDir>./../../../bin/win64\\</OutDir>\n\t\t<IntDir>./build/win64/debug\\</IntDir>\n\t\t<TargetExt>.exe</TargetExt>\n\t\t<TargetName>NvFlexDemoDebugCUDA_x64</TargetName>\n\t\t<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>\n\t\t<CodeAnalysisRules />\n\t\t<CodeAnalysisRuleAssemblies />\n\t</PropertyGroup>\n\t<ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">\n\t\t<ClCompile>\n\t\t\t<FloatingPointModel>Precise</FloatingPointModel>\n\t\t\t<AdditionalOptions> /d2Zi+</AdditionalOptions>\n\t\t\t<Optimization>Disabled</Optimization>\n\t\t\t<AdditionalIncludeDirectories>$(CUDA_PATH)/include;$(CUDA_PATH)/extras/cupti/include;./../../..;./../..;./../../d3d11;./../../d3d12;./../../../external/SDL2-2.0.4/include;./../../../external/D3D12/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\n\t\t\t<PreprocessorDefinitions>_CONSOLE;WIN32;_CRT_SECURE_NO_WARNINGS;_DEBUG;_ITERATOR_DEBUG_LEVEL=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n\t\t\t<WarningLevel>Level3</WarningLevel>\n\t\t\t<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>\n\t\t\t<PrecompiledHeader>NotUsing</PrecompiledHeader>\n\t\t\t<PrecompiledHeaderFile></PrecompiledHeaderFile>\n\t\t</ClCompile>\n\t\t<Link>\n\t\t\t<AdditionalOptions>/DELAYLOAD:d3d11.dll /DELAYLOAD:d3d12.dll /DELAYLOAD:dxgi.dll</AdditionalOptions>\n\t\t\t<AdditionalDependencies>cudart.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;d3dcompiler.lib;delayimp.lib;./../../../external/SDL2-2.0.4/lib/x64/SDL2.lib;./../../../external/SDL2-2.0.4/lib/x64/SDL2main.lib;./../../../external/NvToolsExt/lib/x64/nvToolsExt64_1.lib;./../../../external/D3D12/libs/x64/d3d12.lib;./../../../lib/win64/NvFlexDebugCUDA_x64.lib;./../../../lib/win64/NvFlexExtDebugCUDA_x64.lib;./../../../lib/win64/NvFlexDeviceDebug_x64.lib;%(AdditionalDependencies)</AdditionalDependencies>\n\t\t\t<OutputFile>$(OutDir)NvFlexDemoDebugCUDA_x64.exe</OutputFile>\n\t\t\t<AdditionalLibraryDirectories>$(CUDA_PATH)/lib/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\n\t\t\t<ProgramDatabaseFile>$(OutDir)/NvFlexDemoDebugCUDA_x64.exe.pdb</ProgramDatabaseFile>\n\t\t\t<SubSystem>Console</SubSystem>\n\t\t\t<ImportLibrary>$(OutDir)$(TargetName).lib</ImportLibrary>\n\t\t\t<GenerateDebugInformation>true</GenerateDebugInformation>\n\t\t\t<TargetMachine>MachineX64</TargetMachine>\n\t\t</Link>\n\t\t<ResourceCompile>\n\t\t</ResourceCompile>\n\t\t<ProjectReference>\n\t\t</ProjectReference>\n\t</ItemDefinitionGroup>\n\t<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">\n\t\t<OutDir>./../../../bin/win64\\</OutDir>\n\t\t<IntDir>./build/win64/release\\</IntDir>\n\t\t<TargetExt>.exe</TargetExt>\n\t\t<TargetName>NvFlexDemoReleaseCUDA_x64</TargetName>\n\t\t<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>\n\t\t<CodeAnalysisRules />\n\t\t<CodeAnalysisRuleAssemblies />\n\t</PropertyGroup>\n\t<ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">\n\t\t<ClCompile>\n\t\t\t<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>\n\t\t\t<IntrinsicFunctions>true</IntrinsicFunctions>\n\t\t\t<FunctionLevelLinking>true</FunctionLevelLinking>\n\t\t\t<BufferSecurityCheck>false</BufferSecurityCheck>\n\t\t\t<FloatingPointModel>Fast</FloatingPointModel>\n\t\t\t<AdditionalOptions> /d2Zi+</AdditionalOptions>\n\t\t\t<Optimization>Full</Optimization>\n\t\t\t<AdditionalIncludeDirectories>$(CUDA_PATH)/include;$(CUDA_PATH)/extras/cupti/include;./../../..;./../..;./../../d3d11;./../../d3d12;./../../../external/SDL2-2.0.4/include;./../../../external/D3D12/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\n\t\t\t<PreprocessorDefinitions>_CONSOLE;WIN32;_CRT_SECURE_NO_WARNINGS;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n\t\t\t<WarningLevel>Level3</WarningLevel>\n\t\t\t<RuntimeLibrary>MultiThreaded</RuntimeLibrary>\n\t\t\t<PrecompiledHeader>NotUsing</PrecompiledHeader>\n\t\t\t<PrecompiledHeaderFile></PrecompiledHeaderFile>\n\t\t</ClCompile>\n\t\t<Link>\n\t\t\t<AdditionalOptions>/DELAYLOAD:d3d11.dll /DELAYLOAD:d3d12.dll /DELAYLOAD:dxgi.dll</AdditionalOptions>\n\t\t\t<AdditionalDependencies>cudart.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;d3dcompiler.lib;delayimp.lib;./../../../external/SDL2-2.0.4/lib/x64/SDL2.lib;./../../../external/SDL2-2.0.4/lib/x64/SDL2main.lib;./../../../external/NvToolsExt/lib/x64/nvToolsExt64_1.lib;./../../../external/D3D12/libs/x64/d3d12.lib;./../../../lib/win64/NvFlexReleaseCUDA_x64.lib;./../../../lib/win64/NvFlexExtReleaseCUDA_x64.lib;./../../../lib/win64/NvFlexDeviceRelease_x64.lib;%(AdditionalDependencies)</AdditionalDependencies>\n\t\t\t<OutputFile>$(OutDir)NvFlexDemoReleaseCUDA_x64.exe</OutputFile>\n\t\t\t<AdditionalLibraryDirectories>$(CUDA_PATH)/lib/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\n\t\t\t<ProgramDatabaseFile>$(OutDir)/NvFlexDemoReleaseCUDA_x64.exe.pdb</ProgramDatabaseFile>\n\t\t\t<SubSystem>Console</SubSystem>\n\t\t\t<ImportLibrary>$(OutDir)$(TargetName).lib</ImportLibrary>\n\t\t\t<GenerateDebugInformation>true</GenerateDebugInformation>\n\t\t\t<TargetMachine>MachineX64</TargetMachine>\n\t\t</Link>\n\t\t<ResourceCompile>\n\t\t</ResourceCompile>\n\t\t<ProjectReference>\n\t\t</ProjectReference>\n\t</ItemDefinitionGroup>\n<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">\n  <LocalDebuggerWorkingDirectory>$(OutputPath)</LocalDebuggerWorkingDirectory>\n</PropertyGroup>\n<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">\n  <LocalDebuggerWorkingDirectory>$(OutputPath)</LocalDebuggerWorkingDirectory>\n</PropertyGroup>\n\t<ItemGroup>\n\t\t<ClInclude Include=\"..\\..\\scenes\\adhesion.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\armadilloshower.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\bananas.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\bouyancy.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\bunnybath.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\ccdfluid.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\clothlayers.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\dambreak.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\darts.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\debris.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\deformables.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\envcloth.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\flag.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\fluidblock.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\fluidclothcoupling.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\forcefield.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\frictionmoving.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\frictionramp.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\gamemesh.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\googun.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\granularpile.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\granularshape.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\inflatable.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\initialoverlap.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\lighthouse.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\localspacecloth.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\localspacefluid.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\lowdimensionalshapes.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\melting.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\mixedpile.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\nonconvex.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\parachutingbunnies.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\pasta.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\player.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\potpourri.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\rayleightaylor.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\restitution.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\rigidfluidcoupling.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\rigidpile.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\rigidrotation.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\rockpool.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\sdfcollision.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\shapechannels.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\shapecollision.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\softbody.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\spherecloth.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\surfacetension.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\tearing.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\thinbox.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\trianglecollision.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\triggervolume.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\viscosity.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\waterballoon.h\">\n\t\t</ClInclude>\n\t</ItemGroup>\n\t<ItemGroup>\n\t\t<ClCompile Include=\"..\\..\\imgui.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\main.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\shadersDemoContext.cpp\">\n\t\t</ClCompile>\n\t\t<ClInclude Include=\"..\\..\\benchmark.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\demoContext.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\helpers.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\imgui.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\shaders.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\shadersDemoContext.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\stb_truetype.h\">\n\t\t</ClInclude>\n\t</ItemGroup>\n\t<ItemGroup>\n\t\t<ClInclude Include=\"..\\..\\..\\include\\NvFlex.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\include\\NvFlexDevice.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\include\\NvFlexExt.h\">\n\t\t</ClInclude>\n\t</ItemGroup>\n\t<ItemGroup>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\aabbtree.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\core.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\extrude.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\maths.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\mesh.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\perlin.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\pfm.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\platform.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\png.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\sdf.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\tga.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\voxelize.cpp\">\n\t\t</ClCompile>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\aabbtree.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\cloth.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\convex.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\core.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\extrude.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\mat22.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\mat33.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\mat44.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\maths.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\matnn.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\mesh.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\perlin.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\pfm.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\platform.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\png.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\point3.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\quat.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\sdf.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\tga.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\types.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\vec2.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\vec3.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\vec4.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\voxelize.h\">\n\t\t</ClInclude>\n\t</ItemGroup>\n\t<ItemGroup>\n\t\t<ClCompile Include=\"..\\..\\opengl\\imguiRenderGL.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\opengl\\shader.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\opengl\\shadersGL.cpp\">\n\t\t</ClCompile>\n\t\t<ClInclude Include=\"..\\..\\opengl\\demoContextOGL.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\opengl\\imguiRenderGL.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\opengl\\shader.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\opengl\\utilsGL.h\">\n\t\t</ClInclude>\n\t</ItemGroup>\n\t<ItemGroup>\n\t\t<ClCompile Include=\"..\\..\\d3d11\\appD3D11Ctx.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d11\\debugLineRenderD3D11.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d11\\demoContextD3D11.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d11\\diffuseRenderD3D11.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d11\\fluidRenderD3D11.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d11\\imguiGraphD3D11.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d11\\imguiInteropD3D11.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d11\\meshRenderD3D11.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d11\\pointRenderD3D11.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d11\\renderTargetD3D11.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d11\\shadowMapD3D11.cpp\">\n\t\t</ClCompile>\n\t\t<ClInclude Include=\"..\\..\\d3d11\\appD3D11Ctx.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d11\\debugLineRenderD3D11.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d11\\demoContextD3D11.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d11\\diffuseRenderD3D11.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d11\\fluidRenderD3D11.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d11\\imguiGraphD3D11.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d11\\meshRenderD3D11.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d11\\pointRenderD3D11.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d11\\renderTargetD3D11.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d11\\shadowMapD3D11.h\">\n\t\t</ClInclude>\n\t</ItemGroup>\n\t<ItemGroup>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\appD3D12Ctx.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\bufferD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\demoContextD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\diffusePointRenderPipelineD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\fluidCompositeRenderPipelineD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\fluidEllipsoidRenderPipelineD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\fluidSmoothRenderPipelineD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\fluidThicknessRenderPipelineD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\imguiGraphD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\lineRenderPipelineD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\meshRenderer.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\meshRendererD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\meshRenderPipelineD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\meshUtil.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12CircularResourceHeap.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12CounterFence.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12DescriptorHeap.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12Handle.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12HelperUtil.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12RenderTarget.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12Resource.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12ResourceScopeManager.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDxDebugUtil.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDxFormatUtil.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoFreeList.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvResult.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\pipelineUtilD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\pointRenderPipelineD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\renderStateD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\appD3D12Ctx.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\bufferD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\demoContextD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\diffusePointRenderPipelineD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\fluidCompositeRenderPipelineD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\fluidEllipsoidRenderPipelineD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\fluidSmoothRenderPipelineD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\fluidThicknessRenderPipelineD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\imguiGraphD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\imguiInteropD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\lineRenderPipelineD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\meshRenderer.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\meshRendererD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\meshRenderPipelineD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\meshUtil.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12CircularResourceHeap.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12CounterFence.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12DescriptorHeap.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12HelperUtil.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12RenderTarget.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12Resource.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12ResourceScopeManager.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDxDebugUtil.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDxFormatUtil.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoFreeList.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\pipelineUtilD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\pointRenderPipelineD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\renderStateD3D12.cpp\">\n\t\t</ClCompile>\n\t</ItemGroup>\n\t<ItemGroup>\n\t\t<ClCompile Include=\"..\\..\\d3d\\appGraphCtxLoader.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d\\imguiGraph.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d\\imguiGraphLoader.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d\\loader.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d\\renderParamsD3D.cpp\">\n\t\t</ClCompile>\n\t\t<ClInclude Include=\"..\\..\\d3d\\appGraphCtx.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d\\imguiGraph.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d\\loader.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d\\loaderMacros.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d\\renderParamsD3D.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d\\shaderCommonD3D.h\">\n\t\t</ClInclude>\n\t</ItemGroup>\n\t<ItemGroup>\n\t\t<FxCompile Include=\"./../../d3d/shaders/debugLineVS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">debugLineVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">debugLineVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/debugLinePS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">debugLinePS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">debugLinePS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/imguiPS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">imguiPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">imguiPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/imguiVS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">imguiVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">imguiVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/meshPS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">meshPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">meshPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/meshAsyncComputeBenchPS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">meshPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">meshPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/meshShadowPS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">meshPS_Shadow</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">meshPS_Shadow</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/meshVS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">meshVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">meshVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointVS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">pointVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">pointVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointGS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Geometry</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">pointGS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Geometry</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">pointGS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointPS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">pointPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">pointPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointShadowPS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">pointShadowPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">pointShadowPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/diffuseVS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">diffuseVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">diffuseVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/diffuseGS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Geometry</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">diffuseGS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Geometry</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">diffuseGS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/diffusePS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">diffusePS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">diffusePS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/ellipsoidDepthVS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">ellipsoidDepthVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">ellipsoidDepthVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/ellipsoidDepthGS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Geometry</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">ellipsoidDepthGS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Geometry</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">ellipsoidDepthGS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/ellipsoidDepthPS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">ellipsoidDepthPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">ellipsoidDepthPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/passThroughVS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">passThroughVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">passThroughVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/blurDepthPS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">blurDepthPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">blurDepthPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/compositePS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">compositePS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">compositePS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointThicknessVS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">pointThicknessVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">pointThicknessVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointThicknessGS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Geometry</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">pointThicknessGS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Geometry</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">pointThicknessGS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointThicknessPS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">pointThicknessPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">pointThicknessPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t</ItemGroup>\n\t<ItemGroup>\n\t\t<ProjectReference Include=\"./../../../extensions/compiler/vc14win64/flexExtCUDA.vcxproj\">\n\t\t\t<ReferenceOutputAssembly>false</ReferenceOutputAssembly>\n\t\t</ProjectReference>\n\t</ItemGroup>\n\t<Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.targets\" />\n\t<ImportGroup Label=\"ExtensionTargets\"></ImportGroup>\n</Project>\n"
  },
  {
    "path": "demo/compiler/vc14win64/flexDemoCUDA.vcxproj.filters",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\r\n<Project ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\r\r\n\t<ItemGroup>\r\r\n\t\t<Filter Include=\"demo\">\r\r\n\t\t</Filter>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<Filter Include=\"demo\\scenes\">\r\r\n\t\t</Filter>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\adhesion.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\armadilloshower.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\bananas.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\bouyancy.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\bunnybath.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\ccdfluid.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\clothlayers.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\dambreak.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\darts.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\debris.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\deformables.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\envcloth.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\flag.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\fluidblock.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\fluidclothcoupling.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\forcefield.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\frictionmoving.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\frictionramp.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\gamemesh.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\googun.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\granularpile.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\granularshape.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\inflatable.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\initialoverlap.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\lighthouse.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\localspacecloth.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\localspacefluid.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\lowdimensionalshapes.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\melting.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\mixedpile.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\nonconvex.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\parachutingbunnies.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\pasta.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\player.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\potpourri.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\rayleightaylor.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\restitution.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\rigidfluidcoupling.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\rigidpile.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\rigidrotation.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\rockpool.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\sdfcollision.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\shapechannels.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\shapecollision.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\softbody.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\spherecloth.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\surfacetension.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\tearing.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\thinbox.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\trianglecollision.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\triggervolume.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\viscosity.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\waterballoon.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<ClCompile Include=\"..\\..\\imgui.cpp\">\r\r\n\t\t\t<Filter>demo</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\main.cpp\">\r\r\n\t\t\t<Filter>demo</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\shadersDemoContext.cpp\">\r\r\n\t\t\t<Filter>demo</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClInclude Include=\"..\\..\\benchmark.h\">\r\r\n\t\t\t<Filter>demo</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\demoContext.h\">\r\r\n\t\t\t<Filter>demo</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\helpers.h\">\r\r\n\t\t\t<Filter>demo</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\imgui.h\">\r\r\n\t\t\t<Filter>demo</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes.h\">\r\r\n\t\t\t<Filter>demo</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\shaders.h\">\r\r\n\t\t\t<Filter>demo</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\shadersDemoContext.h\">\r\r\n\t\t\t<Filter>demo</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\stb_truetype.h\">\r\r\n\t\t\t<Filter>demo</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<Filter Include=\"include\">\r\r\n\t\t</Filter>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\include\\NvFlex.h\">\r\r\n\t\t\t<Filter>include</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\include\\NvFlexDevice.h\">\r\r\n\t\t\t<Filter>include</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\include\\NvFlexExt.h\">\r\r\n\t\t\t<Filter>include</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<Filter Include=\"core\">\r\r\n\t\t</Filter>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\aabbtree.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\core.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\extrude.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\maths.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\mesh.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\perlin.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\pfm.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\platform.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\png.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\sdf.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\tga.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\voxelize.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\aabbtree.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\cloth.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\convex.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\core.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\extrude.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\mat22.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\mat33.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\mat44.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\maths.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\matnn.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\mesh.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\perlin.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\pfm.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\platform.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\png.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\point3.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\quat.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\sdf.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\tga.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\types.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\vec2.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\vec3.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\vec4.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\voxelize.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<Filter Include=\"opengl\">\r\r\n\t\t</Filter>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<ClCompile Include=\"..\\..\\opengl\\imguiRenderGL.cpp\">\r\r\n\t\t\t<Filter>opengl</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\opengl\\shader.cpp\">\r\r\n\t\t\t<Filter>opengl</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\opengl\\shadersGL.cpp\">\r\r\n\t\t\t<Filter>opengl</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClInclude Include=\"..\\..\\opengl\\demoContextOGL.h\">\r\r\n\t\t\t<Filter>opengl</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\opengl\\imguiRenderGL.h\">\r\r\n\t\t\t<Filter>opengl</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\opengl\\shader.h\">\r\r\n\t\t\t<Filter>opengl</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\opengl\\utilsGL.h\">\r\r\n\t\t\t<Filter>opengl</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<Filter Include=\"d3d11\">\r\r\n\t\t</Filter>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d11\\appD3D11Ctx.cpp\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d11\\debugLineRenderD3D11.cpp\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d11\\demoContextD3D11.cpp\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d11\\diffuseRenderD3D11.cpp\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d11\\fluidRenderD3D11.cpp\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d11\\imguiGraphD3D11.cpp\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d11\\imguiInteropD3D11.cpp\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d11\\meshRenderD3D11.cpp\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d11\\pointRenderD3D11.cpp\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d11\\renderTargetD3D11.cpp\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d11\\shadowMapD3D11.cpp\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d11\\appD3D11Ctx.h\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d11\\debugLineRenderD3D11.h\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d11\\demoContextD3D11.h\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d11\\diffuseRenderD3D11.h\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d11\\fluidRenderD3D11.h\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d11\\imguiGraphD3D11.h\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d11\\meshRenderD3D11.h\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d11\\pointRenderD3D11.h\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d11\\renderTargetD3D11.h\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d11\\shadowMapD3D11.h\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<Filter Include=\"d3d12\">\r\r\n\t\t</Filter>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\appD3D12Ctx.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\bufferD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\demoContextD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\diffusePointRenderPipelineD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\fluidCompositeRenderPipelineD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\fluidEllipsoidRenderPipelineD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\fluidSmoothRenderPipelineD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\fluidThicknessRenderPipelineD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\imguiGraphD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\lineRenderPipelineD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\meshRenderer.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\meshRendererD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\meshRenderPipelineD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\meshUtil.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12CircularResourceHeap.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12CounterFence.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12DescriptorHeap.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12Handle.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12HelperUtil.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12RenderTarget.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12Resource.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12ResourceScopeManager.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDxDebugUtil.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDxFormatUtil.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoFreeList.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvResult.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\pipelineUtilD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\pointRenderPipelineD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\renderStateD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\appD3D12Ctx.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\bufferD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\demoContextD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\diffusePointRenderPipelineD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\fluidCompositeRenderPipelineD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\fluidEllipsoidRenderPipelineD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\fluidSmoothRenderPipelineD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\fluidThicknessRenderPipelineD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\imguiGraphD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\imguiInteropD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\lineRenderPipelineD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\meshRenderer.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\meshRendererD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\meshRenderPipelineD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\meshUtil.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12CircularResourceHeap.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12CounterFence.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12DescriptorHeap.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12HelperUtil.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12RenderTarget.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12Resource.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12ResourceScopeManager.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDxDebugUtil.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDxFormatUtil.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoFreeList.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\pipelineUtilD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\pointRenderPipelineD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\renderStateD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<Filter Include=\"d3d\">\r\r\n\t\t</Filter>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d\\appGraphCtxLoader.cpp\">\r\r\n\t\t\t<Filter>d3d</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d\\imguiGraph.cpp\">\r\r\n\t\t\t<Filter>d3d</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d\\imguiGraphLoader.cpp\">\r\r\n\t\t\t<Filter>d3d</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d\\loader.cpp\">\r\r\n\t\t\t<Filter>d3d</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d\\renderParamsD3D.cpp\">\r\r\n\t\t\t<Filter>d3d</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d\\appGraphCtx.h\">\r\r\n\t\t\t<Filter>d3d</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d\\imguiGraph.h\">\r\r\n\t\t\t<Filter>d3d</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d\\loader.h\">\r\r\n\t\t\t<Filter>d3d</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d\\loaderMacros.h\">\r\r\n\t\t\t<Filter>d3d</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d\\renderParamsD3D.h\">\r\r\n\t\t\t<Filter>d3d</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d\\shaderCommonD3D.h\">\r\r\n\t\t\t<Filter>d3d</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup><Filter Include=\"Shader Files\"></Filter></ItemGroup>\r\n\t<ItemGroup>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/debugLineVS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/debugLinePS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/imguiPS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/imguiVS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/meshPS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/meshAsyncComputeBenchPS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/meshShadowPS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/meshVS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointVS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointGS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointPS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointShadowPS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/diffuseVS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/diffuseGS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/diffusePS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/ellipsoidDepthVS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/ellipsoidDepthGS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/ellipsoidDepthPS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/passThroughVS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/blurDepthPS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/compositePS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointThicknessVS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointThicknessGS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointThicknessPS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t</ItemGroup>\r\n</Project>"
  },
  {
    "path": "demo/compiler/vc14win64/flexDemoCUDA.vcxproj.user",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\r\n<Project ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\r\r\n<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">\r\r\n  <LocalDebuggerWorkingDirectory>$(OutputPath)</LocalDebuggerWorkingDirectory>\r\r\n</PropertyGroup>\r\r\n<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">\r\r\n  <LocalDebuggerWorkingDirectory>$(OutputPath)</LocalDebuggerWorkingDirectory>\r\r\n</PropertyGroup>\r\r\n</Project>"
  },
  {
    "path": "demo/compiler/vc14win64/flexDemoD3D.sln",
    "content": "Microsoft Visual Studio Solution File, Format Version 12.00\n# Visual Studio 14\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"flexDemoD3D\", \"./flexDemoD3D.vcxproj\", \"{EF4EDDD8-2620-47AA-E75D-4C682C276C02}\"\n\tProjectSection(ProjectDependencies) = postProject\n\t\t{9B42889D-2F0D-0378-E87E-82C8D918DB4D} = {9B42889D-2F0D-0378-E87E-82C8D918DB4D}\n\tEndProjectSection\nEndProject\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"flexExtD3D\", \"./../../../extensions/compiler/vc14win64/flexExtD3D.vcxproj\", \"{9B42889D-2F0D-0378-E87E-82C8D918DB4D}\"\n\tProjectSection(ProjectDependencies) = postProject\n\tEndProjectSection\nEndProject\nGlobal\n\tGlobalSection(SolutionConfigurationPlatforms) = preSolution\n\t\tdebug|x64 = debug|x64\n\t\trelease|x64 = release|x64\n\tEndGlobalSection\n\tGlobalSection(ProjectConfigurationPlatforms) = postSolution\n\t\t{EF4EDDD8-2620-47AA-E75D-4C682C276C02}.debug|x64.ActiveCfg = debug|x64\n\t\t{EF4EDDD8-2620-47AA-E75D-4C682C276C02}.debug|x64.Build.0 = debug|x64\n\t\t{EF4EDDD8-2620-47AA-E75D-4C682C276C02}.release|x64.ActiveCfg = release|x64\n\t\t{EF4EDDD8-2620-47AA-E75D-4C682C276C02}.release|x64.Build.0 = release|x64\n\t\t{9B42889D-2F0D-0378-E87E-82C8D918DB4D}.debug|x64.ActiveCfg = debug|x64\n\t\t{9B42889D-2F0D-0378-E87E-82C8D918DB4D}.debug|x64.Build.0 = debug|x64\n\t\t{9B42889D-2F0D-0378-E87E-82C8D918DB4D}.release|x64.ActiveCfg = release|x64\n\t\t{9B42889D-2F0D-0378-E87E-82C8D918DB4D}.release|x64.Build.0 = release|x64\n\tEndGlobalSection\n\tGlobalSection(ExtensibilityGlobals) = postSolution\n\tEndGlobalSection\n\tGlobalSection(ExtensibilityAddins) = postSolution\n\tEndGlobalSection\n\tGlobalSection(NestedProjects) = preSolution\n\tEndGlobalSection\nEndGlobal\n"
  },
  {
    "path": "demo/compiler/vc14win64/flexDemoD3D.vcxproj",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project DefaultTargets=\"Build\" ToolsVersion=\"14.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n\t<ItemGroup Label=\"ProjectConfigurations\">\n\t\t<ProjectConfiguration Include=\"debug|x64\">\n\t\t\t<Configuration>debug</Configuration>\n\t\t\t<Platform>x64</Platform>\n\t\t</ProjectConfiguration>\n\t\t<ProjectConfiguration Include=\"release|x64\">\n\t\t\t<Configuration>release</Configuration>\n\t\t\t<Platform>x64</Platform>\n\t\t</ProjectConfiguration>\n\t</ItemGroup>\n\t<PropertyGroup Label=\"Globals\">\n\t\t<ProjectGuid>{EF4EDDD8-2620-47AA-E75D-4C682C276C02}</ProjectGuid>\n\t\t<RootNamespace>flexDemoD3D</RootNamespace>\n\t\t<WindowsTargetPlatformVersion>10.0.10586.0</WindowsTargetPlatformVersion>\n\t</PropertyGroup>\n\t<Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.Default.props\" />\n\t<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\" Label=\"Configuration\">\n\t\t<ConfigurationType>Application</ConfigurationType>\n\t\t<PlatformToolset>v140</PlatformToolset>\n\t</PropertyGroup>\n\t<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\" Label=\"Configuration\">\n\t\t<ConfigurationType>Application</ConfigurationType>\n\t\t<PlatformToolset>v140</PlatformToolset>\n\t\t<WholeProgramOptimization>true</WholeProgramOptimization>\n\t</PropertyGroup>\n\t<Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.props\" />\n\t<ImportGroup Label=\"ExtensionSettings\">\n\t</ImportGroup>\n\t<ImportGroup Label=\"PropertySheets\" Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">\n\t\t<Import Project=\"$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props\" Condition=\"exists('$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props')\" Label=\"LocalAppDataPlatform\" />\n\t</ImportGroup>\n\t<ImportGroup Label=\"PropertySheets\" Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">\n\t\t<Import Project=\"$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props\" Condition=\"exists('$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props')\" Label=\"LocalAppDataPlatform\" />\n\t</ImportGroup>\n\t<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">\n\t\t<OutDir>./../../../bin/win64\\</OutDir>\n\t\t<IntDir>./build/win64/DX/debug\\</IntDir>\n\t\t<TargetExt>.exe</TargetExt>\n\t\t<TargetName>NvFlexDemoDebugD3D_x64</TargetName>\n\t\t<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>\n\t\t<CodeAnalysisRules />\n\t\t<CodeAnalysisRuleAssemblies />\n\t</PropertyGroup>\n\t<ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">\n\t\t<ClCompile>\n\t\t\t<FloatingPointModel>Precise</FloatingPointModel>\n\t\t\t<AdditionalOptions> /d2Zi+</AdditionalOptions>\n\t\t\t<Optimization>Disabled</Optimization>\n\t\t\t<AdditionalIncludeDirectories>$(CUDA_PATH)/include;$(CUDA_PATH)/extras/cupti/include;./../../..;./../..;./../../d3d11;./../../d3d12;./../../../external/SDL2-2.0.4/include;./../../../external/D3D12/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\n\t\t\t<PreprocessorDefinitions>_CONSOLE;WIN32;_CRT_SECURE_NO_WARNINGS;FLEX_DX;FLEX_DX12;_DEBUG;_ITERATOR_DEBUG_LEVEL=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n\t\t\t<WarningLevel>Level3</WarningLevel>\n\t\t\t<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>\n\t\t\t<PrecompiledHeader>NotUsing</PrecompiledHeader>\n\t\t\t<PrecompiledHeaderFile></PrecompiledHeaderFile>\n\t\t</ClCompile>\n\t\t<Link>\n\t\t\t<AdditionalOptions>/DELAYLOAD:d3d11.dll /DELAYLOAD:d3d12.dll /DELAYLOAD:dxgi.dll</AdditionalOptions>\n\t\t\t<AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;d3dcompiler.lib;delayimp.lib;./../../../external/SDL2-2.0.4/lib/x64/SDL2.lib;./../../../external/SDL2-2.0.4/lib/x64/SDL2main.lib;./../../../external/NvToolsExt/lib/x64/nvToolsExt64_1.lib;./../../../external/D3D12/libs/x64/d3d12.lib;./../../../lib/win64/NvFlexDebugD3D_x64.lib;./../../../lib/win64/NvFlexExtDebugD3D_x64.lib;%(AdditionalDependencies)</AdditionalDependencies>\n\t\t\t<OutputFile>$(OutDir)NvFlexDemoDebugD3D_x64.exe</OutputFile>\n\t\t\t<AdditionalLibraryDirectories>$(CUDA_PATH)/lib/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\n\t\t\t<ProgramDatabaseFile>$(OutDir)/NvFlexDemoDebugD3D_x64.exe.pdb</ProgramDatabaseFile>\n\t\t\t<SubSystem>Console</SubSystem>\n\t\t\t<ImportLibrary>$(OutDir)$(TargetName).lib</ImportLibrary>\n\t\t\t<GenerateDebugInformation>true</GenerateDebugInformation>\n\t\t\t<TargetMachine>MachineX64</TargetMachine>\n\t\t</Link>\n\t\t<ResourceCompile>\n\t\t</ResourceCompile>\n\t\t<ProjectReference>\n\t\t</ProjectReference>\n\t</ItemDefinitionGroup>\n\t<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">\n\t\t<OutDir>./../../../bin/win64\\</OutDir>\n\t\t<IntDir>./build/win64/D3D/demo/release\\</IntDir>\n\t\t<TargetExt>.exe</TargetExt>\n\t\t<TargetName>NvFlexDemoReleaseD3D_x64</TargetName>\n\t\t<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>\n\t\t<CodeAnalysisRules />\n\t\t<CodeAnalysisRuleAssemblies />\n\t</PropertyGroup>\n\t<ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">\n\t\t<ClCompile>\n\t\t\t<IntrinsicFunctions>true</IntrinsicFunctions>\n\t\t\t<FunctionLevelLinking>true</FunctionLevelLinking>\n\t\t\t<BufferSecurityCheck>false</BufferSecurityCheck>\n\t\t\t<FloatingPointModel>Fast</FloatingPointModel>\n\t\t\t<AdditionalOptions> /d2Zi+</AdditionalOptions>\n\t\t\t<Optimization>Full</Optimization>\n\t\t\t<AdditionalIncludeDirectories>$(CUDA_PATH)/include;$(CUDA_PATH)/extras/cupti/include;./../../..;./../..;./../../d3d11;./../../d3d12;./../../../external/SDL2-2.0.4/include;./../../../external/D3D12/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\n\t\t\t<PreprocessorDefinitions>_CONSOLE;WIN32;_CRT_SECURE_NO_WARNINGS;FLEX_DX;FLEX_DX12;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n\t\t\t<WarningLevel>Level3</WarningLevel>\n\t\t\t<RuntimeLibrary>MultiThreaded</RuntimeLibrary>\n\t\t\t<PrecompiledHeader>NotUsing</PrecompiledHeader>\n\t\t\t<PrecompiledHeaderFile></PrecompiledHeaderFile>\n\t\t</ClCompile>\n\t\t<Link>\n\t\t\t<AdditionalOptions>/DELAYLOAD:d3d11.dll /DELAYLOAD:d3d12.dll /DELAYLOAD:dxgi.dll</AdditionalOptions>\n\t\t\t<AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;d3dcompiler.lib;delayimp.lib;./../../../external/SDL2-2.0.4/lib/x64/SDL2.lib;./../../../external/SDL2-2.0.4/lib/x64/SDL2main.lib;./../../../external/NvToolsExt/lib/x64/nvToolsExt64_1.lib;./../../../external/D3D12/libs/x64/d3d12.lib;./../../../lib/win64/NvFlexReleaseD3D_x64.lib;./../../../lib/win64/NvFlexExtReleaseD3D_x64.lib;%(AdditionalDependencies)</AdditionalDependencies>\n\t\t\t<OutputFile>$(OutDir)NvFlexDemoReleaseD3D_x64.exe</OutputFile>\n\t\t\t<AdditionalLibraryDirectories>$(CUDA_PATH)/lib/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\n\t\t\t<ProgramDatabaseFile>$(OutDir)/NvFlexDemoReleaseD3D_x64.exe.pdb</ProgramDatabaseFile>\n\t\t\t<SubSystem>Console</SubSystem>\n\t\t\t<ImportLibrary>$(OutDir)$(TargetName).lib</ImportLibrary>\n\t\t\t<GenerateDebugInformation>true</GenerateDebugInformation>\n\t\t\t<TargetMachine>MachineX64</TargetMachine>\n\t\t</Link>\n\t\t<ResourceCompile>\n\t\t</ResourceCompile>\n\t\t<ProjectReference>\n\t\t</ProjectReference>\n\t</ItemDefinitionGroup>\n<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">\n  <LocalDebuggerWorkingDirectory>$(OutputPath)</LocalDebuggerWorkingDirectory>\n</PropertyGroup>\n<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">\n  <LocalDebuggerWorkingDirectory>$(OutputPath)</LocalDebuggerWorkingDirectory>\n</PropertyGroup>\n\t<ItemGroup>\n\t\t<ClInclude Include=\"..\\..\\scenes\\adhesion.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\armadilloshower.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\bananas.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\bouyancy.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\bunnybath.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\ccdfluid.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\clothlayers.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\dambreak.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\darts.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\debris.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\deformables.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\envcloth.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\flag.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\fluidblock.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\fluidclothcoupling.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\forcefield.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\frictionmoving.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\frictionramp.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\gamemesh.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\googun.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\granularpile.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\granularshape.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\inflatable.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\initialoverlap.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\lighthouse.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\localspacecloth.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\localspacefluid.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\lowdimensionalshapes.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\melting.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\mixedpile.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\nonconvex.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\parachutingbunnies.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\pasta.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\player.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\potpourri.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\rayleightaylor.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\restitution.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\rigidfluidcoupling.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\rigidpile.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\rigidrotation.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\rockpool.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\sdfcollision.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\shapechannels.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\shapecollision.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\softbody.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\spherecloth.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\surfacetension.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\tearing.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\thinbox.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\trianglecollision.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\triggervolume.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\viscosity.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes\\waterballoon.h\">\n\t\t</ClInclude>\n\t</ItemGroup>\n\t<ItemGroup>\n\t\t<ClCompile Include=\"..\\..\\imgui.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\main.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\shadersDemoContext.cpp\">\n\t\t</ClCompile>\n\t\t<ClInclude Include=\"..\\..\\benchmark.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\demoContext.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\helpers.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\imgui.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\scenes.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\shaders.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\shadersDemoContext.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\stb_truetype.h\">\n\t\t</ClInclude>\n\t</ItemGroup>\n\t<ItemGroup>\n\t\t<ClInclude Include=\"..\\..\\..\\include\\NvFlex.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\include\\NvFlexDevice.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\include\\NvFlexExt.h\">\n\t\t</ClInclude>\n\t</ItemGroup>\n\t<ItemGroup>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\aabbtree.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\core.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\extrude.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\maths.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\mesh.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\perlin.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\pfm.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\platform.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\png.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\sdf.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\tga.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\voxelize.cpp\">\n\t\t</ClCompile>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\aabbtree.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\cloth.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\convex.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\core.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\extrude.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\mat22.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\mat33.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\mat44.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\maths.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\matnn.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\mesh.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\perlin.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\pfm.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\platform.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\png.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\point3.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\quat.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\sdf.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\tga.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\types.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\vec2.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\vec3.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\vec4.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\..\\core\\voxelize.h\">\n\t\t</ClInclude>\n\t</ItemGroup>\n\t<ItemGroup>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\appD3D12Ctx.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\bufferD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\demoContextD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\diffusePointRenderPipelineD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\fluidCompositeRenderPipelineD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\fluidEllipsoidRenderPipelineD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\fluidSmoothRenderPipelineD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\fluidThicknessRenderPipelineD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\imguiGraphD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\lineRenderPipelineD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\meshRenderer.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\meshRendererD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\meshRenderPipelineD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\meshUtil.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12CircularResourceHeap.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12CounterFence.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12DescriptorHeap.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12Handle.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12HelperUtil.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12RenderTarget.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12Resource.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12ResourceScopeManager.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDxDebugUtil.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDxFormatUtil.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoFreeList.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvResult.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\pipelineUtilD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\pointRenderPipelineD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d12\\renderStateD3D12.h\">\n\t\t</ClInclude>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\appD3D12Ctx.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\bufferD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\demoContextD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\diffusePointRenderPipelineD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\fluidCompositeRenderPipelineD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\fluidEllipsoidRenderPipelineD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\fluidSmoothRenderPipelineD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\fluidThicknessRenderPipelineD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\imguiGraphD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\imguiInteropD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\lineRenderPipelineD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\meshRenderer.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\meshRendererD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\meshRenderPipelineD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\meshUtil.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12CircularResourceHeap.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12CounterFence.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12DescriptorHeap.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12HelperUtil.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12RenderTarget.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12Resource.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12ResourceScopeManager.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDxDebugUtil.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDxFormatUtil.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoFreeList.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\pipelineUtilD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\pointRenderPipelineD3D12.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d12\\renderStateD3D12.cpp\">\n\t\t</ClCompile>\n\t</ItemGroup>\n\t<ItemGroup>\n\t\t<ClInclude Include=\"..\\..\\d3d11\\appD3D11Ctx.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d11\\debugLineRenderD3D11.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d11\\demoContextD3D11.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d11\\diffuseRenderD3D11.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d11\\fluidRenderD3D11.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d11\\imguiGraphD3D11.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d11\\meshRenderD3D11.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d11\\pointRenderD3D11.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d11\\renderTargetD3D11.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d11\\shadowMapD3D11.h\">\n\t\t</ClInclude>\n\t\t<ClCompile Include=\"..\\..\\d3d11\\appD3D11Ctx.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d11\\debugLineRenderD3D11.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d11\\demoContextD3D11.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d11\\diffuseRenderD3D11.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d11\\fluidRenderD3D11.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d11\\imguiGraphD3D11.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d11\\imguiInteropD3D11.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d11\\meshRenderD3D11.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d11\\pointRenderD3D11.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d11\\renderTargetD3D11.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d11\\shadowMapD3D11.cpp\">\n\t\t</ClCompile>\n\t</ItemGroup>\n\t<ItemGroup>\n\t\t<ClInclude Include=\"..\\..\\d3d\\appGraphCtx.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d\\imguiGraph.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d\\loader.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d\\loaderMacros.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d\\renderParamsD3D.h\">\n\t\t</ClInclude>\n\t\t<ClInclude Include=\"..\\..\\d3d\\shaderCommonD3D.h\">\n\t\t</ClInclude>\n\t\t<ClCompile Include=\"..\\..\\d3d\\appGraphCtxLoader.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d\\imguiGraph.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d\\imguiGraphLoader.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d\\loader.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\d3d\\renderParamsD3D.cpp\">\n\t\t</ClCompile>\n\t</ItemGroup>\n\t<ItemGroup>\n\t\t<FxCompile Include=\"./../../d3d/shaders/debugLineVS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">debugLineVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">debugLineVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/debugLinePS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">debugLinePS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">debugLinePS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/imguiPS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">imguiPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">imguiPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/imguiVS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">imguiVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">imguiVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/meshPS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">meshPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">meshPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/meshAsyncComputeBenchPS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">meshPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">meshPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/meshShadowPS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">meshPS_Shadow</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">meshPS_Shadow</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/meshVS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">meshVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">meshVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointVS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">pointVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">pointVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointGS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Geometry</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">pointGS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Geometry</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">pointGS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointPS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">pointPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">pointPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointShadowPS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">pointShadowPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">pointShadowPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/diffuseVS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">diffuseVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">diffuseVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/diffuseGS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Geometry</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">diffuseGS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Geometry</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">diffuseGS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/diffusePS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">diffusePS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">diffusePS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/ellipsoidDepthVS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">ellipsoidDepthVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">ellipsoidDepthVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/ellipsoidDepthGS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Geometry</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">ellipsoidDepthGS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Geometry</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">ellipsoidDepthGS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/ellipsoidDepthPS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">ellipsoidDepthPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">ellipsoidDepthPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/passThroughVS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">passThroughVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">passThroughVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/blurDepthPS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">blurDepthPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">blurDepthPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/compositePS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">compositePS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">compositePS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointThicknessVS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">pointThicknessVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Vertex</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">pointThicknessVS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointThicknessGS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Geometry</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">pointThicknessGS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Geometry</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">pointThicknessGS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointThicknessPS.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">pointThicknessPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Pixel</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">pointThicknessPS</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../demo/d3d/shaders/%(Filename).hlsl.h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t</ItemGroup>\n\t<ItemGroup>\n\t\t<ProjectReference Include=\"./../../../extensions/compiler/vc14win64/flexExtD3D.vcxproj\">\n\t\t\t<ReferenceOutputAssembly>false</ReferenceOutputAssembly>\n\t\t</ProjectReference>\n\t</ItemGroup>\n\t<Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.targets\" />\n\t<ImportGroup Label=\"ExtensionTargets\"></ImportGroup>\n</Project>\n"
  },
  {
    "path": "demo/compiler/vc14win64/flexDemoD3D.vcxproj.filters",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\r\n<Project ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\r\r\n\t<ItemGroup>\r\r\n\t\t<Filter Include=\"demo\">\r\r\n\t\t</Filter>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<Filter Include=\"demo\\scenes\">\r\r\n\t\t</Filter>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\adhesion.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\armadilloshower.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\bananas.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\bouyancy.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\bunnybath.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\ccdfluid.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\clothlayers.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\dambreak.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\darts.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\debris.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\deformables.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\envcloth.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\flag.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\fluidblock.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\fluidclothcoupling.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\forcefield.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\frictionmoving.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\frictionramp.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\gamemesh.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\googun.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\granularpile.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\granularshape.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\inflatable.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\initialoverlap.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\lighthouse.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\localspacecloth.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\localspacefluid.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\lowdimensionalshapes.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\melting.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\mixedpile.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\nonconvex.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\parachutingbunnies.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\pasta.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\player.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\potpourri.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\rayleightaylor.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\restitution.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\rigidfluidcoupling.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\rigidpile.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\rigidrotation.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\rockpool.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\sdfcollision.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\shapechannels.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\shapecollision.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\softbody.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\spherecloth.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\surfacetension.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\tearing.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\thinbox.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\trianglecollision.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\triggervolume.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\viscosity.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes\\waterballoon.h\">\r\r\n\t\t\t<Filter>demo\\scenes</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<ClCompile Include=\"..\\..\\imgui.cpp\">\r\r\n\t\t\t<Filter>demo</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\main.cpp\">\r\r\n\t\t\t<Filter>demo</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\shadersDemoContext.cpp\">\r\r\n\t\t\t<Filter>demo</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClInclude Include=\"..\\..\\benchmark.h\">\r\r\n\t\t\t<Filter>demo</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\demoContext.h\">\r\r\n\t\t\t<Filter>demo</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\helpers.h\">\r\r\n\t\t\t<Filter>demo</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\imgui.h\">\r\r\n\t\t\t<Filter>demo</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\scenes.h\">\r\r\n\t\t\t<Filter>demo</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\shaders.h\">\r\r\n\t\t\t<Filter>demo</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\shadersDemoContext.h\">\r\r\n\t\t\t<Filter>demo</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\stb_truetype.h\">\r\r\n\t\t\t<Filter>demo</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<Filter Include=\"include\">\r\r\n\t\t</Filter>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\include\\NvFlex.h\">\r\r\n\t\t\t<Filter>include</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\include\\NvFlexDevice.h\">\r\r\n\t\t\t<Filter>include</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\include\\NvFlexExt.h\">\r\r\n\t\t\t<Filter>include</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<Filter Include=\"core\">\r\r\n\t\t</Filter>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\aabbtree.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\core.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\extrude.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\maths.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\mesh.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\perlin.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\pfm.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\platform.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\png.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\sdf.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\tga.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\voxelize.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\aabbtree.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\cloth.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\convex.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\core.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\extrude.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\mat22.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\mat33.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\mat44.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\maths.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\matnn.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\mesh.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\perlin.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\pfm.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\platform.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\png.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\point3.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\quat.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\sdf.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\tga.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\types.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\vec2.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\vec3.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\vec4.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\..\\core\\voxelize.h\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<Filter Include=\"d3d12\">\r\r\n\t\t</Filter>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\appD3D12Ctx.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\bufferD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\demoContextD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\diffusePointRenderPipelineD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\fluidCompositeRenderPipelineD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\fluidEllipsoidRenderPipelineD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\fluidSmoothRenderPipelineD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\fluidThicknessRenderPipelineD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\imguiGraphD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\lineRenderPipelineD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\meshRenderer.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\meshRendererD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\meshRenderPipelineD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\meshUtil.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12CircularResourceHeap.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12CounterFence.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12DescriptorHeap.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12Handle.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12HelperUtil.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12RenderTarget.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12Resource.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDx12ResourceScopeManager.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDxDebugUtil.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoDxFormatUtil.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvCoFreeList.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\NvResult.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\pipelineUtilD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\pointRenderPipelineD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d12\\renderStateD3D12.h\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\appD3D12Ctx.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\bufferD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\demoContextD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\diffusePointRenderPipelineD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\fluidCompositeRenderPipelineD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\fluidEllipsoidRenderPipelineD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\fluidSmoothRenderPipelineD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\fluidThicknessRenderPipelineD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\imguiGraphD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\imguiInteropD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\lineRenderPipelineD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\meshRenderer.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\meshRendererD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\meshRenderPipelineD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\meshUtil.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12CircularResourceHeap.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12CounterFence.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12DescriptorHeap.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12HelperUtil.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12RenderTarget.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12Resource.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDx12ResourceScopeManager.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDxDebugUtil.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoDxFormatUtil.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\NvCoFreeList.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\pipelineUtilD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\pointRenderPipelineD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d12\\renderStateD3D12.cpp\">\r\r\n\t\t\t<Filter>d3d12</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<Filter Include=\"d3d11\">\r\r\n\t\t</Filter>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d11\\appD3D11Ctx.h\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d11\\debugLineRenderD3D11.h\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d11\\demoContextD3D11.h\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d11\\diffuseRenderD3D11.h\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d11\\fluidRenderD3D11.h\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d11\\imguiGraphD3D11.h\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d11\\meshRenderD3D11.h\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d11\\pointRenderD3D11.h\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d11\\renderTargetD3D11.h\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d11\\shadowMapD3D11.h\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d11\\appD3D11Ctx.cpp\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d11\\debugLineRenderD3D11.cpp\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d11\\demoContextD3D11.cpp\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d11\\diffuseRenderD3D11.cpp\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d11\\fluidRenderD3D11.cpp\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d11\\imguiGraphD3D11.cpp\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d11\\imguiInteropD3D11.cpp\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d11\\meshRenderD3D11.cpp\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d11\\pointRenderD3D11.cpp\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d11\\renderTargetD3D11.cpp\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d11\\shadowMapD3D11.cpp\">\r\r\n\t\t\t<Filter>d3d11</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<Filter Include=\"d3d\">\r\r\n\t\t</Filter>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d\\appGraphCtx.h\">\r\r\n\t\t\t<Filter>d3d</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d\\imguiGraph.h\">\r\r\n\t\t\t<Filter>d3d</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d\\loader.h\">\r\r\n\t\t\t<Filter>d3d</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d\\loaderMacros.h\">\r\r\n\t\t\t<Filter>d3d</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d\\renderParamsD3D.h\">\r\r\n\t\t\t<Filter>d3d</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClInclude Include=\"..\\..\\d3d\\shaderCommonD3D.h\">\r\r\n\t\t\t<Filter>d3d</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d\\appGraphCtxLoader.cpp\">\r\r\n\t\t\t<Filter>d3d</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d\\imguiGraph.cpp\">\r\r\n\t\t\t<Filter>d3d</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d\\imguiGraphLoader.cpp\">\r\r\n\t\t\t<Filter>d3d</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d\\loader.cpp\">\r\r\n\t\t\t<Filter>d3d</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\d3d\\renderParamsD3D.cpp\">\r\r\n\t\t\t<Filter>d3d</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup><Filter Include=\"Shader Files\"></Filter></ItemGroup>\r\n\t<ItemGroup>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/debugLineVS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/debugLinePS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/imguiPS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/imguiVS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/meshPS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/meshAsyncComputeBenchPS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/meshShadowPS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/meshVS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointVS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointGS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointPS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointShadowPS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/diffuseVS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/diffuseGS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/diffusePS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/ellipsoidDepthVS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/ellipsoidDepthGS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/ellipsoidDepthPS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/passThroughVS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/blurDepthPS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/compositePS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointThicknessVS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointThicknessGS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t\t<FxCompile Include=\"./../../d3d/shaders/pointThicknessPS.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t</ItemGroup>\r\n</Project>"
  },
  {
    "path": "demo/compiler/vc14win64/flexDemoD3D.vcxproj.user",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\r\n<Project ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\r\r\n<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">\r\r\n  <LocalDebuggerWorkingDirectory>$(OutputPath)</LocalDebuggerWorkingDirectory>\r\r\n</PropertyGroup>\r\r\n<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">\r\r\n  <LocalDebuggerWorkingDirectory>$(OutputPath)</LocalDebuggerWorkingDirectory>\r\r\n</PropertyGroup>\r\r\n</Project>"
  },
  {
    "path": "demo/d3d/appGraphCtx.h",
    "content": "/*\n * Copyright (c) 2014-2017, NVIDIA CORPORATION.  All rights reserved.\n *\n * NVIDIA CORPORATION and its licensors retain all intellectual property\n * and proprietary rights in and to this software, related documentation\n * and any modifications thereto.  Any use, reproduction, disclosure or\n * distribution of this software and related documentation without an express\n * license agreement from NVIDIA CORPORATION is strictly prohibited.\n */\n\n#pragma once\n\n#ifndef _DEBUG\n#define ENABLE_AFTERMATH_SUPPORT 1\n#endif\n\n#define APP_GRAPH_CTX_API extern \"C\" __declspec(dllexport)\n\nstruct SDL_Window;\n\nstruct AppGraphCtx;\n\nstruct AppGraphColor\n{\n\tfloat r, g, b, a;\n};\n\nAPP_GRAPH_CTX_API AppGraphCtx* AppGraphCtxCreate(int deviceID);\n\nAPP_GRAPH_CTX_API bool AppGraphCtxUpdateSize(AppGraphCtx* context, SDL_Window* window, bool fullscreen, int numMSAASamples);\n\nAPP_GRAPH_CTX_API void AppGraphCtxReleaseRenderTarget(AppGraphCtx* context);\n\nAPP_GRAPH_CTX_API void AppGraphCtxRelease(AppGraphCtx* context);\n\nAPP_GRAPH_CTX_API void AppGraphCtxFrameStart(AppGraphCtx* context, AppGraphColor clearColor);\n\nAPP_GRAPH_CTX_API void AppGraphCtxFramePresent(AppGraphCtx* context, bool fullsync);\n\nAPP_GRAPH_CTX_API void AppGraphCtxWaitForFrames(AppGraphCtx* context, unsigned int maxFramesInFlight);\n\nAPP_GRAPH_CTX_API void AppGraphCtxProfileEnable(AppGraphCtx* context, bool enabled);\n\nAPP_GRAPH_CTX_API void AppGraphCtxProfileBegin(AppGraphCtx* context, const char* label);\n\nAPP_GRAPH_CTX_API void AppGraphCtxProfileEnd(AppGraphCtx* context, const char* label);\n\nAPP_GRAPH_CTX_API bool AppGraphCtxProfileGet(AppGraphCtx* context, const char** plabel, float* cpuTime, float* gpuTime, int index);\n\nAPP_GRAPH_CTX_API size_t AppGraphCtxDedicatedVideoMemory(AppGraphCtx* context);\n"
  },
  {
    "path": "demo/d3d/appGraphCtxLoader.cpp",
    "content": "/*\n * Copyright (c) 2014-2017, NVIDIA CORPORATION.  All rights reserved.\n *\n * NVIDIA CORPORATION and its licensors retain all intellectual property\n * and proprietary rights in and to this software, related documentation\n * and any modifications thereto.  Any use, reproduction, disclosure or\n * distribution of this software and related documentation without an express\n * license agreement from NVIDIA CORPORATION is strictly prohibited.\n */\n\n#include <SDL.h>\n\n#include \"loader.h\"\n#include \"loaderMacros.h\"\n\n#include \"appGraphCtx.h\"\n\n#include <stdio.h>\n\n#define LOADER_APPC_CTX_FUNCTIONS(op, inst, inst_func) \\\n\top(inst, inst_func, AppGraphCtx*, AppGraphCtxCreate,\t\t1, ((int, deviceID)) ) \\\n\top(inst, inst_func, bool, AppGraphCtxUpdateSize,\t\t\t4, ((AppGraphCtx*, context), (SDL_Window*, window), (bool, fullscreen), (int, numMSAASamples)) ) \\\n\top(inst, inst_func, void, AppGraphCtxReleaseRenderTarget,\t1, ((AppGraphCtx*, context)) ) \\\n\top(inst, inst_func, void, AppGraphCtxRelease,\t\t\t\t1, ((AppGraphCtx*, context)) ) \\\n\top(inst, inst_func, void, AppGraphCtxFrameStart,\t\t\t2, ((AppGraphCtx*, context), (AppGraphColor, clearColor)) ) \\\n\top(inst, inst_func, void, AppGraphCtxFramePresent,\t\t\t2, ((AppGraphCtx*, context), (bool, fullsync)) ) \\\n\top(inst, inst_func, void, AppGraphCtxWaitForFrames,\t\t\t2, ((AppGraphCtx*, context), (unsigned int, maxFramesInFlight)) ) \\\n\top(inst, inst_func, void, AppGraphCtxProfileEnable,\t\t\t2, ((AppGraphCtx*, context), (bool, enabled)) ) \\\n\top(inst, inst_func, void, AppGraphCtxProfileBegin,\t\t\t2, ((AppGraphCtx*, context), (const char*, label)) ) \\\n\top(inst, inst_func, void, AppGraphCtxProfileEnd,\t\t\t2, ((AppGraphCtx*, context), (const char*, label)) ) \\\n\top(inst, inst_func, bool, AppGraphCtxProfileGet,\t\t\t5, ((AppGraphCtx*, context), (const char**, plabel), (float*, cpuTime), (float*, gpuTime), (int, index)) ) \\\n\top(inst, inst_func, size_t, AppGraphCtxDedicatedVideoMemory,\t1, ((AppGraphCtx*, context)) ) \n\nLOADER_APPC_CTX_FUNCTIONS(LOADER_DECLARE_FUNCTION_PTR, (), ())\n\nstruct AppCtxFunctionSet\n{\n\tLOADER_APPC_CTX_FUNCTIONS(LOADER_DECLARE_FUNCTION_VAR, (), ())\n};\n\n// Declare D3D11/D3D12 versions\n#define APP_CTX_D3D11_FUNCTION_NAME(x) x##D3D11\n#define APP_CTX_D3D12_FUNCTION_NAME(x) x##D3D12\n\nextern \"C\" {\n\nLOADER_APPC_CTX_FUNCTIONS(LOADER_DECLARE_FUNCTION_NAME, (), APP_CTX_D3D11_FUNCTION_NAME)\nLOADER_APPC_CTX_FUNCTIONS(LOADER_DECLARE_FUNCTION_NAME, (), APP_CTX_D3D12_FUNCTION_NAME)\n\n} // extern \"C\"\n\nstatic AppCtxFunctionSet g_functionSet;\n\nvoid loadAppGraphCtx(AppGraphCtxType type)\n{\n\tif (type == APP_CONTEXT_D3D11)\n\t{\n\t\tLOADER_APPC_CTX_FUNCTIONS(LOADER_SET_FUNCTION, g_functionSet, APP_CTX_D3D11_FUNCTION_NAME)\n\t}\n\tif (type == APP_CONTEXT_D3D12)\n\t{\n\t\tLOADER_APPC_CTX_FUNCTIONS(LOADER_SET_FUNCTION, g_functionSet, APP_CTX_D3D12_FUNCTION_NAME)\n\t}\n}\n\nvoid unloadAppGraphCtx()\n{\n\tg_functionSet = AppCtxFunctionSet{};\n}\n\n// Generate the patches \nLOADER_APPC_CTX_FUNCTIONS(LOADER_FUNCTION_PTR_CALL, g_functionSet, ())\n"
  },
  {
    "path": "demo/d3d/imguiGraph.cpp",
    "content": "/*\n * Copyright (c) 2014-2017, NVIDIA CORPORATION.  All rights reserved.\n *\n * NVIDIA CORPORATION and its licensors retain all intellectual property\n * and proprietary rights in and to this software, related documentation\n * and any modifications thereto.  Any use, reproduction, disclosure or\n * distribution of this software and related documentation without an express\n * license agreement from NVIDIA CORPORATION is strictly prohibited.\n */\n\n#define _USE_MATH_DEFINES\n#include <math.h>\n#include \"imgui.h\"\n\n#include <stdio.h>\n#include <stdint.h>\n#include <malloc.h>\n\n#include \"imguiGraph.h\"\n\n// Some math headers don't have PI defined.\nstatic const float PI = 3.14159265f;\n\nvoid imguifree(void* ptr, void* userptr);\nvoid* imguimalloc(size_t size, void* userptr);\n\n#define STBTT_malloc(x,y)    imguimalloc(x,y)\n#define STBTT_free(x,y)      imguifree(x,y)\n#if FLEX_DX\n#define STB_TRUETYPE_IMPLEMENTATION\n#else\n#define STBTT_ifloor\n#endif\n#include \"stb_truetype.h\"\n\nvoid imguifree(void* ptr, void* /*userptr*/)\n{\n\tfree(ptr);\n}\n\nvoid* imguimalloc(size_t size, void* /*userptr*/)\n{\n\treturn malloc(size);\n}\n\nstatic const unsigned TEMP_COORD_COUNT = 100;\nstatic float g_tempCoords[TEMP_COORD_COUNT * 2];\nstatic float g_tempNormals[TEMP_COORD_COUNT * 2];\n\nstatic const int CIRCLE_VERTS = 8 * 4;\nstatic float g_circleVerts[CIRCLE_VERTS * 2];\n\nstatic stbtt_bakedchar g_cdata[96]; // ASCII 32..126 is 95 glyphs\n\ninline unsigned int RGBA(unsigned char r, unsigned char g, unsigned char b, unsigned char a)\n{\n\treturn (r) | (g << 8) | (b << 16) | (a << 24);\n}\n\nstatic void drawPolygon(const float* coords, unsigned numCoords, float r, unsigned int col)\n{\n\tif (numCoords > TEMP_COORD_COUNT) numCoords = TEMP_COORD_COUNT;\n\n\tfor (unsigned i = 0, j = numCoords - 1; i < numCoords; j = i++)\n\t{\n\t\tconst float* v0 = &coords[j * 2];\n\t\tconst float* v1 = &coords[i * 2];\n\t\tfloat dx = v1[0] - v0[0];\n\t\tfloat dy = v1[1] - v0[1];\n\t\tfloat d = sqrtf(dx*dx + dy*dy);\n\t\tif (d > 0)\n\t\t{\n\t\t\td = 1.0f / d;\n\t\t\tdx *= d;\n\t\t\tdy *= d;\n\t\t}\n\t\tg_tempNormals[j * 2 + 0] = dy;\n\t\tg_tempNormals[j * 2 + 1] = -dx;\n\t}\n\n\tfor (unsigned i = 0, j = numCoords - 1; i < numCoords; j = i++)\n\t{\n\t\tfloat dlx0 = g_tempNormals[j * 2 + 0];\n\t\tfloat dly0 = g_tempNormals[j * 2 + 1];\n\t\tfloat dlx1 = g_tempNormals[i * 2 + 0];\n\t\tfloat dly1 = g_tempNormals[i * 2 + 1];\n\t\tfloat dmx = (dlx0 + dlx1) * 0.5f;\n\t\tfloat dmy = (dly0 + dly1) * 0.5f;\n\t\tfloat\tdmr2 = dmx*dmx + dmy*dmy;\n\t\tif (dmr2 > 0.000001f)\n\t\t{\n\t\t\tfloat\tscale = 1.0f / dmr2;\n\t\t\tif (scale > 10.0f) scale = 10.0f;\n\t\t\tdmx *= scale;\n\t\t\tdmy *= scale;\n\t\t}\n\t\tg_tempCoords[i * 2 + 0] = coords[i * 2 + 0] + dmx*r;\n\t\tg_tempCoords[i * 2 + 1] = coords[i * 2 + 1] + dmy*r;\n\t}\n\n\tunsigned int colTrans = RGBA(col & 0xff, (col >> 8) & 0xff, (col >> 16) & 0xff, 0);\n\n\timguiGraphColor4ubv((uint8_t*)&col);\n\n\tfor (unsigned i = 0, j = numCoords - 1; i < numCoords; j = i++)\n\t{\n\t\timguiGraphVertex2fv(&coords[i * 2]);\n\t\timguiGraphVertex2fv(&coords[j * 2]);\n\t\timguiGraphColor4ubv((uint8_t*)&colTrans);\n\t\timguiGraphVertex2fv(&g_tempCoords[j * 2]);\n\n\t\timguiGraphVertex2fv(&g_tempCoords[j * 2]);\n\t\timguiGraphVertex2fv(&g_tempCoords[i * 2]);\n\n\t\timguiGraphColor4ubv((uint8_t*)&col);\n\t\timguiGraphVertex2fv(&coords[i * 2]);\n\t}\n\n\timguiGraphColor4ubv((uint8_t*)&col);\n\tfor (unsigned i = 2; i < numCoords; ++i)\n\t{\n\t\timguiGraphVertex2fv(&coords[0]);\n\t\timguiGraphVertex2fv(&coords[(i - 1) * 2]);\n\t\timguiGraphVertex2fv(&coords[i * 2]);\n\t}\n}\n\nstatic void drawRect(float x, float y, float w, float h, float fth, unsigned int col)\n{\n\tfloat verts[4 * 2] =\n\t{\n\t\tx + 0.5f, y + 0.5f,\n\t\tx + w - 0.5f, y + 0.5f,\n\t\tx + w - 0.5f, y + h - 0.5f,\n\t\tx + 0.5f, y + h - 0.5f,\n\t};\n\tdrawPolygon(verts, 4, fth, col);\n}\n\n/*\nstatic void drawEllipse(float x, float y, float w, float h, float fth, unsigned int col)\n{\nfloat verts[CIRCLE_VERTS*2];\nconst float* cverts = g_circleVerts;\nfloat* v = verts;\n\nfor (int i = 0; i < CIRCLE_VERTS; ++i)\n{\n*v++ = x + cverts[i*2]*w;\n*v++ = y + cverts[i*2+1]*h;\n}\n\ndrawPolygon(verts, CIRCLE_VERTS, fth, col);\n}\n*/\n\nstatic void drawRoundedRect(float x, float y, float w, float h, float r, float fth, unsigned int col)\n{\n\tconst unsigned n = CIRCLE_VERTS / 4;\n\tfloat verts[(n + 1) * 4 * 2];\n\tconst float* cverts = g_circleVerts;\n\tfloat* v = verts;\n\n\tfor (unsigned i = 0; i <= n; ++i)\n\t{\n\t\t*v++ = x + w - r + cverts[i * 2] * r;\n\t\t*v++ = y + h - r + cverts[i * 2 + 1] * r;\n\t}\n\n\tfor (unsigned i = n; i <= n * 2; ++i)\n\t{\n\t\t*v++ = x + r + cverts[i * 2] * r;\n\t\t*v++ = y + h - r + cverts[i * 2 + 1] * r;\n\t}\n\n\tfor (unsigned i = n * 2; i <= n * 3; ++i)\n\t{\n\t\t*v++ = x + r + cverts[i * 2] * r;\n\t\t*v++ = y + r + cverts[i * 2 + 1] * r;\n\t}\n\n\tfor (unsigned i = n * 3; i < n * 4; ++i)\n\t{\n\t\t*v++ = x + w - r + cverts[i * 2] * r;\n\t\t*v++ = y + r + cverts[i * 2 + 1] * r;\n\t}\n\t*v++ = x + w - r + cverts[0] * r;\n\t*v++ = y + r + cverts[1] * r;\n\n\tdrawPolygon(verts, (n + 1) * 4, fth, col);\n}\n\nstatic void drawLine(float x0, float y0, float x1, float y1, float r, float fth, unsigned int col)\n{\n\tfloat dx = x1 - x0;\n\tfloat dy = y1 - y0;\n\tfloat d = sqrtf(dx*dx + dy*dy);\n\tif (d > 0.0001f)\n\t{\n\t\td = 1.0f / d;\n\t\tdx *= d;\n\t\tdy *= d;\n\t}\n\tfloat nx = dy;\n\tfloat ny = -dx;\n\tfloat verts[4 * 2];\n\tr -= fth;\n\tr *= 0.5f;\n\tif (r < 0.01f) r = 0.01f;\n\tdx *= r;\n\tdy *= r;\n\tnx *= r;\n\tny *= r;\n\n\tverts[0] = x0 - dx - nx;\n\tverts[1] = y0 - dy - ny;\n\n\tverts[2] = x0 - dx + nx;\n\tverts[3] = y0 - dy + ny;\n\n\tverts[4] = x1 + dx + nx;\n\tverts[5] = y1 + dy + ny;\n\n\tverts[6] = x1 + dx - nx;\n\tverts[7] = y1 + dy - ny;\n\n\tdrawPolygon(verts, 4, fth, col);\n}\n\nbool imguiGraphInit(const char* fontpath, float defaultFontHeight, const ImguiGraphDesc* desc)\n{\n\timguiGraphContextInit(desc);\n\n\tfor (int i = 0; i < CIRCLE_VERTS; ++i)\n\t{\n\t\tfloat a = (float)i / (float)CIRCLE_VERTS * PI * 2;\n\t\tg_circleVerts[i * 2 + 0] = cosf(a);\n\t\tg_circleVerts[i * 2 + 1] = sinf(a);\n\t}\n\n\t// Load font.\n\tFILE* fp = fopen(fontpath, \"rb\");\n\tif (!fp) return false;\n\tfseek(fp, 0, SEEK_END);\n\tint size = ftell(fp);\n\tfseek(fp, 0, SEEK_SET);\n\n\tunsigned char* ttfBuffer = (unsigned char*)malloc(size);\n\tif (!ttfBuffer)\n\t{\n\t\tfclose(fp);\n\t\treturn false;\n\t}\n\n\tsize_t len = fread(ttfBuffer, 1, size, fp);\n\t(void)len;\n\n\tfclose(fp);\n\tfp = 0;\n\n\tunsigned char* bmap = (unsigned char*)malloc(512 * 512);\n\tif (!bmap)\n\t{\n\t\tfree(ttfBuffer);\n\t\treturn false;\n\t}\n\n\tdefaultFontHeight = (defaultFontHeight <= 0.0f) ? 15.0f : defaultFontHeight;\n\n\tstbtt_BakeFontBitmap(ttfBuffer, 0, defaultFontHeight, bmap, 512, 512, 32, 96, g_cdata);\n\n\t// can free ttf_buffer at this point\n\timguiGraphFontTextureInit(bmap);\n\n\tfree(ttfBuffer);\n\tfree(bmap);\n\n\treturn true;\n}\n\nvoid imguiGraphUpdate(const ImguiGraphDesc* desc)\n{\n\timguiGraphContextUpdate(desc);\n}\n\nvoid imguiGraphDestroy()\n{\n\timguiGraphFontTextureRelease();\n\n\timguiGraphContextDestroy();\n}\n\nstatic void getBakedQuad(stbtt_bakedchar *chardata, int pw, int ph, int char_index,\n\tfloat *xpos, float *ypos, stbtt_aligned_quad *q)\n{\n\tstbtt_bakedchar *b = chardata + char_index;\n\tint round_x = (int)STBTT_ifloor(*xpos + b->xoff);\n\tint round_y = (int)STBTT_ifloor(*ypos - b->yoff);\n\n\tq->x0 = (float)round_x;\n\tq->y0 = (float)round_y;\n\tq->x1 = (float)round_x + b->x1 - b->x0;\n\tq->y1 = (float)round_y - b->y1 + b->y0;\n\n\tq->s0 = b->x0 / (float)pw;\n\tq->t0 = b->y0 / (float)pw;\n\tq->s1 = b->x1 / (float)ph;\n\tq->t1 = b->y1 / (float)ph;\n\n\t*xpos += b->xadvance;\n}\n\nstatic const float g_tabStops[4] = { 150, 210, 270, 330 };\n\nstatic float getTextLength(stbtt_bakedchar *chardata, const char* text)\n{\n\tfloat xpos = 0;\n\tfloat len = 0;\n\twhile (*text)\n\t{\n\t\tint c = (unsigned char)*text;\n\t\tif (c == '\\t')\n\t\t{\n\t\t\tfor (int i = 0; i < 4; ++i)\n\t\t\t{\n\t\t\t\tif (xpos < g_tabStops[i])\n\t\t\t\t{\n\t\t\t\t\txpos = g_tabStops[i];\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\telse if (c >= 32 && c < 128)\n\t\t{\n\t\t\tstbtt_bakedchar *b = chardata + c - 32;\n\t\t\tint round_x = (int)STBTT_ifloor((xpos + b->xoff) + 0.5);\n\t\t\tlen = round_x + b->x1 - b->x0 + 0.5f;\n\t\t\txpos += b->xadvance;\n\t\t}\n\t\t++text;\n\t}\n\treturn len;\n}\n\nstatic void drawText(float x, float y, const char *text, int align, unsigned int col)\n{\n\tif (!text) return;\n\n\tif (align == IMGUI_ALIGN_CENTER)\n\t\tx -= getTextLength(g_cdata, text) / 2;\n\telse if (align == IMGUI_ALIGN_RIGHT)\n\t\tx -= getTextLength(g_cdata, text);\n\n\timguiGraphColor4ub(col & 0xff, (col >> 8) & 0xff, (col >> 16) & 0xff, (col >> 24) & 0xff);\n\n\timguiGraphFontTextureEnable();\n\n\t// assume orthographic projection with units = screen pixels, origin at top left\n\tconst float ox = x;\n\n\twhile (*text)\n\t{\n\t\tint c = (unsigned char)*text;\n\t\tif (c == '\\t')\n\t\t{\n\t\t\tfor (int i = 0; i < 4; ++i)\n\t\t\t{\n\t\t\t\tif (x < g_tabStops[i] + ox)\n\t\t\t\t{\n\t\t\t\t\tx = g_tabStops[i] + ox;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\telse if (c >= 32 && c < 128)\n\t\t{\n\t\t\tstbtt_aligned_quad q;\n\t\t\tgetBakedQuad(g_cdata, 512, 512, c - 32, &x, &y, &q);\n\n\t\t\timguiGraphTexCoord2f(q.s0, q.t0);\n\t\t\timguiGraphVertex2f(q.x0, q.y0);\n\t\t\timguiGraphTexCoord2f(q.s1, q.t1);\n\t\t\timguiGraphVertex2f(q.x1, q.y1);\n\t\t\timguiGraphTexCoord2f(q.s1, q.t0);\n\t\t\timguiGraphVertex2f(q.x1, q.y0);\n\n\t\t\timguiGraphTexCoord2f(q.s0, q.t0);\n\t\t\timguiGraphVertex2f(q.x0, q.y0);\n\t\t\timguiGraphTexCoord2f(q.s0, q.t1);\n\t\t\timguiGraphVertex2f(q.x0, q.y1);\n\t\t\timguiGraphTexCoord2f(q.s1, q.t1);\n\t\t\timguiGraphVertex2f(q.x1, q.y1);\n\t\t}\n\t\t++text;\n\t}\n\n\timguiGraphFontTextureDisable();\n}\n\n\nvoid imguiGraphDraw()\n{\n\tconst imguiGfxCmd* q = imguiGetRenderQueue();\n\tint nq = imguiGetRenderQueueSize();\n\n\tconst float s = 1.0f / 8.0f;\n\n\timguiGraphRecordBegin();\n\n\timguiGraphDisableScissor();\n\tfor (int i = 0; i < nq; ++i)\n\t{\n\t\tconst imguiGfxCmd& cmd = q[i];\n\t\tif (cmd.type == IMGUI_GFXCMD_RECT)\n\t\t{\n\t\t\tif (cmd.rect.r == 0)\n\t\t\t{\n\t\t\t\tdrawRect((float)cmd.rect.x*s + 0.5f, (float)cmd.rect.y*s + 0.5f,\n\t\t\t\t\t(float)cmd.rect.w*s - 1, (float)cmd.rect.h*s - 1,\n\t\t\t\t\t1.0f, cmd.col);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tdrawRoundedRect((float)cmd.rect.x*s + 0.5f, (float)cmd.rect.y*s + 0.5f,\n\t\t\t\t\t(float)cmd.rect.w*s - 1, (float)cmd.rect.h*s - 1,\n\t\t\t\t\t(float)cmd.rect.r*s, 1.0f, cmd.col);\n\t\t\t}\n\t\t}\n\t\telse if (cmd.type == IMGUI_GFXCMD_LINE)\n\t\t{\n\t\t\tdrawLine(cmd.line.x0*s, cmd.line.y0*s, cmd.line.x1*s, cmd.line.y1*s, cmd.line.r*s, 1.0f, cmd.col);\n\t\t}\n\t\telse if (cmd.type == IMGUI_GFXCMD_TRIANGLE)\n\t\t{\n\t\t\tif (cmd.flags == 1)\n\t\t\t{\n\t\t\t\tconst float verts[3 * 2] =\n\t\t\t\t{\n\t\t\t\t\t(float)cmd.rect.x*s + 0.5f, (float)cmd.rect.y*s + 0.5f,\n\t\t\t\t\t(float)cmd.rect.x*s + 0.5f + (float)cmd.rect.w*s - 1, (float)cmd.rect.y*s + 0.5f + (float)cmd.rect.h*s / 2 - 0.5f,\n\t\t\t\t\t(float)cmd.rect.x*s + 0.5f, (float)cmd.rect.y*s + 0.5f + (float)cmd.rect.h*s - 1,\n\t\t\t\t};\n\t\t\t\tdrawPolygon(verts, 3, 1.0f, cmd.col);\n\t\t\t}\n\t\t\tif (cmd.flags == 2)\n\t\t\t{\n\t\t\t\tconst float verts[3 * 2] =\n\t\t\t\t{\n\t\t\t\t\t(float)cmd.rect.x*s + 0.5f, (float)cmd.rect.y*s + 0.5f + (float)cmd.rect.h*s - 1,\n\t\t\t\t\t(float)cmd.rect.x*s + 0.5f + (float)cmd.rect.w*s / 2 - 0.5f, (float)cmd.rect.y*s + 0.5f,\n\t\t\t\t\t(float)cmd.rect.x*s + 0.5f + (float)cmd.rect.w*s - 1, (float)cmd.rect.y*s + 0.5f + (float)cmd.rect.h*s - 1,\n\t\t\t\t};\n\t\t\t\tdrawPolygon(verts, 3, 1.0f, cmd.col);\n\t\t\t}\n\t\t}\n\t\telse if (cmd.type == IMGUI_GFXCMD_TEXT)\n\t\t{\n\t\t\tdrawText(cmd.text.x, cmd.text.y, cmd.text.text, cmd.text.align, cmd.col);\n\t\t}\n\t\telse if (cmd.type == IMGUI_GFXCMD_SCISSOR)\n\t\t{\n\t\t\tif (cmd.flags)\n\t\t\t{\n\t\t\t\timguiGraphEnableScissor(cmd.rect.x, cmd.rect.y, cmd.rect.w, cmd.rect.h);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\timguiGraphDisableScissor();\n\t\t\t}\n\t\t}\n\t}\n\timguiGraphDisableScissor();\n\n\timguiGraphRecordEnd();\n}\n"
  },
  {
    "path": "demo/d3d/imguiGraph.h",
    "content": "/*\n * Copyright (c) 2014-2017, NVIDIA CORPORATION.  All rights reserved.\n *\n * NVIDIA CORPORATION and its licensors retain all intellectual property\n * and proprietary rights in and to this software, related documentation\n * and any modifications thereto.  Any use, reproduction, disclosure or\n * distribution of this software and related documentation without an express\n * license agreement from NVIDIA CORPORATION is strictly prohibited.\n */\n\n#pragma once\n\n#include <stdint.h>\n\n#define IMGUI_GRAPH_API extern \"C\" __declspec(dllexport)\n\nstruct ImguiGraphDesc;\n\ntypedef bool (*imguiGraphInit_t)(const char* fontpath, const ImguiGraphDesc* desc);\n\ntypedef void (*imguiGraphUpdate_t)(const ImguiGraphDesc* desc);\n\nbool imguiGraphInit(const char* fontpath, float defaultFontHeight, const ImguiGraphDesc* desc);\n\nvoid imguiGraphUpdate(const ImguiGraphDesc* desc);\n\nvoid imguiGraphDestroy();\n\nvoid imguiGraphDraw();\n\n// Below are the functions that must be implemented per graphics API\n\nIMGUI_GRAPH_API void imguiGraphContextInit(const ImguiGraphDesc* desc);\n\nIMGUI_GRAPH_API void imguiGraphContextUpdate(const ImguiGraphDesc* desc);\n\nIMGUI_GRAPH_API void imguiGraphContextDestroy();\n\nIMGUI_GRAPH_API void imguiGraphRecordBegin();\n\nIMGUI_GRAPH_API void imguiGraphRecordEnd();\n\nIMGUI_GRAPH_API void imguiGraphVertex2f(float x, float y);\n\nIMGUI_GRAPH_API void imguiGraphVertex2fv(const float* v);\n\nIMGUI_GRAPH_API void imguiGraphTexCoord2f(float u, float v);\n\nIMGUI_GRAPH_API void imguiGraphColor4ub(uint8_t red, uint8_t green, uint8_t blue, uint8_t alpha);\n\nIMGUI_GRAPH_API void imguiGraphColor4ubv(const uint8_t* v);\n\nIMGUI_GRAPH_API void imguiGraphFontTextureEnable();\n\nIMGUI_GRAPH_API void imguiGraphFontTextureDisable();\n\nIMGUI_GRAPH_API void imguiGraphEnableScissor(int x, int y, int width, int height);\n\nIMGUI_GRAPH_API void imguiGraphDisableScissor();\n\nIMGUI_GRAPH_API void imguiGraphFontTextureInit(unsigned char* data);\n\nIMGUI_GRAPH_API void imguiGraphFontTextureRelease();"
  },
  {
    "path": "demo/d3d/imguiGraphLoader.cpp",
    "content": "/*\n * Copyright (c) 2014-2017, NVIDIA CORPORATION.  All rights reserved.\n *\n * NVIDIA CORPORATION and its licensors retain all intellectual property\n * and proprietary rights in and to this software, related documentation\n * and any modifications thereto.  Any use, reproduction, disclosure or\n * distribution of this software and related documentation without an express\n * license agreement from NVIDIA CORPORATION is strictly prohibited.\n */\n\n//#include <SDL.h>\n\n#include \"loader.h\"\n\n#include \"imguiGraph.h\"\n#include \"loaderMacros.h\"\n\n#include <stdio.h>\n\n#include \"imguiGraph.h\"\n\nstruct AppGraphCtx;\n\n#define LOADER_IMGUI_GRAPH_FUNCTIONS(op, inst, inst_func) \\\n\top(inst, inst_func, void, imguiGraphContextInit,\t\t1, ((const ImguiGraphDesc*, desc)) ) \\\n\top(inst, inst_func, void, imguiGraphContextUpdate,\t\t1, ((const ImguiGraphDesc*, desc)) ) \\\n\top(inst, inst_func, void, imguiGraphContextDestroy,\t\t0, (()) ) \\\n\top(inst, inst_func, void, imguiGraphRecordBegin,\t\t0, (()) ) \\\n\top(inst, inst_func, void, imguiGraphRecordEnd,\t\t\t0, (()) ) \\\n\top(inst, inst_func, void, imguiGraphVertex2f,\t\t\t2, ((float, x), (float, y)) ) \\\n\top(inst, inst_func, void, imguiGraphVertex2fv,\t\t\t1, ((const float*, v)) ) \\\n\top(inst, inst_func, void, imguiGraphTexCoord2f,\t\t\t2, ((float, u), (float, v)) ) \\\n\top(inst, inst_func, void, imguiGraphColor4ub,\t\t\t4, ((uint8_t, red), (uint8_t, green), (uint8_t, blue), (uint8_t, alpha)) ) \\\n\top(inst, inst_func, void, imguiGraphColor4ubv,\t\t\t1, ((const uint8_t*, v)) ) \\\n\top(inst, inst_func, void, imguiGraphFontTextureEnable,\t0, (()) ) \\\n\top(inst, inst_func, void, imguiGraphFontTextureDisable,\t0, (()) ) \\\n\top(inst, inst_func, void, imguiGraphEnableScissor,\t\t4, ((int, x), (int, y), (int, width), (int, height)) ) \\\n\top(inst, inst_func, void, imguiGraphDisableScissor,\t\t0, (()) ) \\\n\top(inst, inst_func, void, imguiGraphFontTextureInit,\t1, ((unsigned char*, data)) ) \\\n\top(inst, inst_func, void, imguiGraphFontTextureRelease,\t0, (()) ) \\\n\top(inst, inst_func, bool, imguiInteropGraphInit,\t\t3, ((imguiGraphInit_t, func), (const char*, fontpath), (AppGraphCtx*, appctx)) ) \\\n\top(inst, inst_func, void, imguiInteropGraphUpdate,\t\t2, ((imguiGraphUpdate_t, func), (AppGraphCtx*, appctx)) )\n\nLOADER_IMGUI_GRAPH_FUNCTIONS(LOADER_DECLARE_FUNCTION_PTR, (), ())\n\nstruct ImguiFunctionSet \n{\nLOADER_IMGUI_GRAPH_FUNCTIONS(LOADER_DECLARE_FUNCTION_VAR, (), ())\n};\n\n// Declare D3D11/D3D12 versions\n#define IMGUI_D3D11_FUNCTION_NAME(x) x##D3D11\n#define IMGUI_D3D12_FUNCTION_NAME(x) x##D3D12\n\nextern \"C\" {\n\nLOADER_IMGUI_GRAPH_FUNCTIONS(LOADER_DECLARE_FUNCTION_NAME, (), IMGUI_D3D11_FUNCTION_NAME)\nLOADER_IMGUI_GRAPH_FUNCTIONS(LOADER_DECLARE_FUNCTION_NAME, (), IMGUI_D3D12_FUNCTION_NAME)\n\n} // extern \"C\"\n\nstatic ImguiFunctionSet g_functionSet;\n\nvoid loadImgui(AppGraphCtxType type)\n{\n\tif (type == APP_CONTEXT_D3D11)\n\t{\n\t\tLOADER_IMGUI_GRAPH_FUNCTIONS(LOADER_SET_FUNCTION, g_functionSet, IMGUI_D3D11_FUNCTION_NAME)\n\t}\n\tif (type == APP_CONTEXT_D3D12)\n\t{\n\t\tLOADER_IMGUI_GRAPH_FUNCTIONS(LOADER_SET_FUNCTION, g_functionSet, IMGUI_D3D12_FUNCTION_NAME)\n\t}\n}\n\nvoid unloadImgui()\n{\n\tg_functionSet = ImguiFunctionSet{};\n}\n\n// Generate the patches \nLOADER_IMGUI_GRAPH_FUNCTIONS(LOADER_FUNCTION_PTR_CALL, g_functionSet, ())\n\n\n"
  },
  {
    "path": "demo/d3d/loader.cpp",
    "content": "/*\n * Copyright (c) 2014-2017, NVIDIA CORPORATION.  All rights reserved.\n *\n * NVIDIA CORPORATION and its licensors retain all intellectual property\n * and proprietary rights in and to this software, related documentation\n * and any modifications thereto.  Any use, reproduction, disclosure or\n * distribution of this software and related documentation without an express\n * license agreement from NVIDIA CORPORATION is strictly prohibited.\n */\n\n#include \"loader.h\"\n\n//#include <SDL.h>\n\n#include \"imgui.h\"\n\nvoid loadModules(AppGraphCtxType type)\n{\n\tloadAppGraphCtx(type);\n\tloadImgui(type);\n}\n\nvoid unloadModules()\n{\n\tunloadImgui();\n\tunloadAppGraphCtx();\n}"
  },
  {
    "path": "demo/d3d/loader.h",
    "content": "/*\n * Copyright (c) 2014-2017, NVIDIA CORPORATION.  All rights reserved.\n *\n * NVIDIA CORPORATION and its licensors retain all intellectual property\n * and proprietary rights in and to this software, related documentation\n * and any modifications thereto.  Any use, reproduction, disclosure or\n * distribution of this software and related documentation without an express\n * license agreement from NVIDIA CORPORATION is strictly prohibited.\n */\n\nenum AppGraphCtxType\n{\n\tAPP_CONTEXT_D3D11 = 1,\n\tAPP_CONTEXT_D3D12 = 2\n};\n\nvoid loadModules(AppGraphCtxType type);\nvoid unloadModules();\n\nextern void loadImgui(AppGraphCtxType type);\nextern void unloadImgui();\n\nextern void loadAppGraphCtx(AppGraphCtxType type);\nextern void unloadAppGraphCtx();\n"
  },
  {
    "path": "demo/d3d/loaderMacros.h",
    "content": "/*\n * Copyright (c) 2014-2017, NVIDIA CORPORATION.  All rights reserved.\n *\n * NVIDIA CORPORATION and its licensors retain all intellectual property\n * and proprietary rights in and to this software, related documentation\n * and any modifications thereto.  Any use, reproduction, disclosure or\n * distribution of this software and related documentation without an express\n * license agreement from NVIDIA CORPORATION is strictly prohibited.\n */\n\n #pragma once\n\n/// ----------------------------- Module Loader -----------------------------\n\n#define LOADER_ESC_N(...) __VA_ARGS__\n\n#define LOADER_PARAM_DECLARE(a, b) a b\n#define LOADER_PARAM_NAME(a, b) b\n\n#define LOADER_ESC_PARAM0(PARAM, p0)\n#define LOADER_ESC_PARAM1(PARAM, p0) PARAM p0\n#define LOADER_ESC_PARAM2(PARAM, p0, p1) PARAM p0,\t\t\t\t\t\tLOADER_ESC_PARAM1(PARAM, p1)\n#define LOADER_ESC_PARAM3(PARAM, p0, p1, p2) PARAM p0,\t\t\t\t\tLOADER_ESC_PARAM2(PARAM, p1, p2)\n#define LOADER_ESC_PARAM4(PARAM, p0, p1, p2, p3) PARAM p0,\t\t\t\tLOADER_ESC_PARAM3(PARAM, p1, p2, p3)\n#define LOADER_ESC_PARAM5(PARAM, p0, p1, p2, p3, p4) PARAM p0,\t\t\tLOADER_ESC_PARAM4(PARAM, p1, p2, p3, p4)\n#define LOADER_ESC_PARAM6(PARAM, p0, p1, p2, p3, p4, p5) PARAM p0,\t\tLOADER_ESC_PARAM5(PARAM, p1, p2, p3, p4, p5)\n#define LOADER_ESC_PARAM7(PARAM, p0, p1, p2, p3, p4, p5, p6) PARAM p0,\tLOADER_ESC_PARAM6(PARAM, p1, p2, p3, p4, p5, p6)\n\n#define LOADER_ESC_MERGE(a, b) (a, b)\n\n#define LOADER_ESC(mode, numParams, params) \\\n\tLOADER_ESC_PARAM##numParams LOADER_ESC_MERGE(mode, LOADER_ESC_N params)\n\n#define LOADER_DECLARE_FUNCTION_PTR(inst, inst_func, retType, method, numParams, params) \\\n\ttypedef retType (*method##_ptr_t)( LOADER_ESC (LOADER_PARAM_DECLARE, numParams, params) );\n\n#define LOADER_DECLARE_FUNCTION_VAR(inst, inst_func, retType, method, numParams, params) \\\n\tmethod##_ptr_t method##_ptr; \n\t\n#define LOADER_DECLARE_FUNCTION_NAME(inst, inst_func, retType, method, numParams, params) \\\n\textern retType inst_func(method) (LOADER_ESC (LOADER_PARAM_DECLARE, numParams, params) );\n\n#define LOADER_SET_FUNCTION(inst, inst_func, retType, method, numParams, params) \\\n\tinst.method##_ptr = inst_func(method); \n\t\n\n#define LOADER_FUNCTION_PTR_CALL(inst, inst_func, retType, method, numParams, params) \\\n\tretType method( LOADER_ESC (LOADER_PARAM_DECLARE, numParams, params) ) { \\\n\t\treturn inst.method##_ptr( LOADER_ESC (LOADER_PARAM_NAME, numParams, params) ); \\\n\t}\n\n#define LOADER_LOAD_FUNCTION_PTR(inst, inst_func, retType, method, numParams, params) \\\n\tinst->method##_ptr = (retType (*)( LOADER_ESC (LOADER_PARAM_DECLARE, numParams, params) ))(inst_func(inst, #method));\n\n#define LOADER_CLEAR_FUNCTION_PTR(inst, inst_func, retType, method, numParams, params) \\\n\tinst->method##_ptr = nullptr;\n\n#define LOADER_DECLARE_FUNCTION(inst, inst_func, retType, method, numParams, params) \\\n\tretType method( LOADER_ESC (LOADER_PARAM_DECLARE, numParams, params) );\n\n#define LOADER_FUNCTION_IMPL(inst, inst_func, retType, method, numParams, params) \\\n\tretType method( LOADER_ESC (LOADER_PARAM_DECLARE, numParams, params) ) { \\\n\t\treturn method##Impl( LOADER_ESC (LOADER_PARAM_NAME, numParams, params) ); \\\n\t}\n\n"
  },
  {
    "path": "demo/d3d/renderParamsD3D.cpp",
    "content": "/*\n * Copyright (c) 2008-2017, NVIDIA CORPORATION.  All rights reserved.\n *\n * NVIDIA CORPORATION and its licensors retain all intellectual property\n * and proprietary rights in and to this software, related documentation\n * and any modifications thereto.  Any use, reproduction, disclosure or\n * distribution of this software and related documentation without an express\n * license agreement from NVIDIA CORPORATION is strictly prohibited.\n */\n\n\n#include \"renderParamsD3D.h\"\n\n/* static */void RenderParamsUtilD3D::calcShadowParams(Vec3 lightPos, Vec3 lightTarget, Matrix44 lightTransform, float shadowBias, ShadowParamsD3D* paramsOut)\n{\n\tparamsOut->lightTransform = (DirectX::XMMATRIX&)(convertGLToD3DProjection(lightTransform));\n\tparamsOut->lightPos = (float3&)lightPos;\n\tparamsOut->lightDir = (float3&)Normalize(lightTarget - lightPos);\n\tparamsOut->bias = shadowBias;\n\n\tconst Vec4 taps[] =\n\t{\n\t\tVec2(-0.326212f,-0.40581f), Vec2(-0.840144f,-0.07358f),\n\t\tVec2(-0.695914f,0.457137f), Vec2(-0.203345f,0.620716f),\n\t\tVec2(0.96234f,-0.194983f), Vec2(0.473434f,-0.480026f),\n\t\tVec2(0.519456f,0.767022f), Vec2(0.185461f,-0.893124f),\n\t\tVec2(0.507431f,0.064425f), Vec2(0.89642f,0.412458f),\n\t\tVec2(-0.32194f,-0.932615f), Vec2(-0.791559f,-0.59771f)\n\t};\n\tmemcpy(paramsOut->shadowTaps, taps, sizeof(taps));\n}\n\nMatrix44 RenderParamsUtilD3D::convertGLToD3DProjection(const Matrix44& proj)\n{\n\tMatrix44 scale = Matrix44::kIdentity;\n\tscale.columns[2][2] = 0.5f;\n\n\tMatrix44 bias = Matrix44::kIdentity;\n\tbias.columns[3][2] = 1.0f;\n\n\treturn scale*bias*proj;\n}\n\n/* static */void RenderParamsUtilD3D::calcMeshConstantBuffer(const MeshDrawParamsD3D& params, Hlsl::MeshShaderConst& constBuf)\n{\n\tconstBuf.modelViewProjection = (float4x4&)(XMMatrixMultiply(XMMatrixMultiply(params.model, params.view), params.projection));\n\n\tconstBuf.modelView = (float4x4&)XMMatrixMultiply(params.model, params.view);\n\n\tconstBuf.objectTransform = (float4x4&)params.objectTransform;\n\tconstBuf.lightTransform = (float4x4&)params.lightTransform;\n\n\tconstBuf.clipPlane = params.clipPlane;\n\tconstBuf.fogColor = params.fogColor;\n\tconstBuf.color = params.color;\n\tconstBuf.secondaryColor = params.secondaryColor;\n\n\tconstBuf.lightPos = params.lightPos;\n\tconstBuf.lightDir = params.lightDir;\n\n\tconstBuf.bias = params.bias;\n\tconstBuf.expand = params.expand;\n\tconstBuf.spotMin = params.spotMin;\n\tconstBuf.spotMax = params.spotMax;\n\n\tconstBuf.grid = params.grid;\n\tconstBuf.tex = params.tex;\n\tconstBuf.colorArray = params.colorArray;\n\n\tmemcpy(constBuf.shadowTaps, params.shadowTaps, sizeof(constBuf.shadowTaps));\n}\n\n/* static */void RenderParamsUtilD3D::calcFluidConstantBuffer(const FluidDrawParamsD3D& params, Hlsl::FluidShaderConst& constBuf)\n{\n\tconstBuf.modelViewProjection = (Hlsl::float4x4&)(XMMatrixMultiply(XMMatrixMultiply(params.model, params.view), params.projection));\n\tconstBuf.modelView = (Hlsl::float4x4&)XMMatrixMultiply(params.model, params.view);\n\tconstBuf.projection = (Hlsl::float4x4&)params.projection;\n\tconstBuf.inverseModelView = (Hlsl::float4x4&)XMMatrixInverse(nullptr, XMMatrixMultiply(params.model, params.view));\n\tconstBuf.inverseProjection = (Hlsl::float4x4&)XMMatrixInverse(nullptr, params.projection);\n\n\t//constBuf.invTexScale = invTexScale;\n\t//constBuf.invProjection = invProjection;\n\tconstBuf.invViewport = params.invViewport;\n\n\tconstBuf.blurRadiusWorld = params.blurRadiusWorld;\n\tconstBuf.blurScale = params.blurScale;\n\tconstBuf.blurFalloff = params.blurFalloff;\n\tconstBuf.debug = params.debug;\n\n\tconstBuf.pointRadius = params.pointRadius;\n}\n\n/* static */void RenderParamsUtilD3D::calcDiffuseConstantBuffer(const DiffuseDrawParamsD3D& params, Hlsl::DiffuseShaderConst& constBuf)\n{\n\tusing namespace DirectX;\n\n\tXMMATRIX modelViewProj = XMMatrixMultiply(XMMatrixMultiply(params.model, params.view), params.projection);\n\tconstBuf.modelViewProjection = (Hlsl::float4x4&)modelViewProj;\n\tXMMATRIX modelView = XMMatrixMultiply(params.model, params.view);\n\tconstBuf.modelView = (Hlsl::float4x4&)modelView;\n\tconstBuf.projection = (Hlsl::float4x4&)params.projection;\n\n\tconstBuf.motionBlurScale = params.motionScale;\n\tconstBuf.diffuseRadius = params.diffuseRadius;\n\tconstBuf.diffuseScale = params.diffuseScale;\n\tconstBuf.spotMin = params.spotMin;\n\tconstBuf.spotMax = params.spotMax;\n\n\tconstBuf.lightTransform = (Hlsl::float4x4&)params.lightTransform;\n\tconstBuf.lightPos = params.lightPos;\n\tconstBuf.lightDir = params.lightDir;\n\tconstBuf.color = params.color;\n\n\tmemcpy(constBuf.shadowTaps, params.shadowTaps, sizeof(constBuf.shadowTaps));\n}\n\n/* static */void RenderParamsUtilD3D::calcFluidCompositeConstantBuffer(const FluidDrawParamsD3D& params, Hlsl::FluidShaderConst& constBuf)\n{\n\tconstBuf.modelViewProjection = (Hlsl::float4x4&)(XMMatrixMultiply(XMMatrixMultiply(params.model, params.view), params.projection));\n\tconstBuf.modelView = (Hlsl::float4x4&)XMMatrixMultiply(params.model, params.view);\n\tconstBuf.projection = (Hlsl::float4x4&)params.projection;\n\tconstBuf.inverseModelView = (Hlsl::float4x4&)XMMatrixInverse(nullptr, XMMatrixMultiply(params.model, params.view));\n\tconstBuf.inverseProjection = (Hlsl::float4x4&)XMMatrixInverse(nullptr, params.projection);\n\n\tconstBuf.lightTransform = (Hlsl::float4x4&)params.lightTransform;\n\n\tconstBuf.invTexScale = params.invTexScale;\n\n\t//constBuf.invViewport = params.invViewport;\n\t//constBuf.invProjection = params.invProjection;\n\n\tconstBuf.blurRadiusWorld = params.blurRadiusWorld;\n\tconstBuf.blurScale = params.blurScale;\n\tconstBuf.blurFalloff = params.blurFalloff;\n\tconstBuf.debug = params.debug;\n\n\tconstBuf.clipPosToEye = params.clipPosToEye;\n\tconstBuf.color = params.color;\n\tconstBuf.ior = params.ior;\n\tconstBuf.spotMin = params.spotMin;\n\tconstBuf.spotMax = params.spotMax;\n\n\tconstBuf.lightPos = params.lightPos;\n\tconstBuf.lightDir = params.lightDir;\n\n\ttypedef DirectX::XMFLOAT2 float2;\n\tconst float2 taps[] =\n\t{\n\t\tfloat2(-0.326212f,-0.40581f), float2(-0.840144f,-0.07358f),\n\t\tfloat2(-0.695914f,0.457137f), float2(-0.203345f,0.620716f),\n\t\tfloat2(0.96234f,-0.194983f), float2(0.473434f,-0.480026f),\n\t\tfloat2(0.519456f,0.767022f), float2(0.185461f,-0.893124f),\n\t\tfloat2(0.507431f,0.064425f), float2(0.89642f,0.412458f),\n\t\tfloat2(-0.32194f,-0.932615f), float2(-0.791559f,-0.59771f)\n\t};\n\tmemcpy(constBuf.shadowTaps, taps, sizeof(taps));\n}\n\n/* static */void RenderParamsUtilD3D::calcPointConstantBuffer(const PointDrawParamsD3D& params, Hlsl::PointShaderConst& constBuf)\n{\n\tusing namespace DirectX;\n\n\tconstBuf.modelView = (float4x4&)XMMatrixMultiply(params.model, params.view);\n\tconstBuf.projection = (float4x4&)params.projection;\n\n\tconstBuf.pointRadius = params.pointRadius;\n\tconstBuf.pointScale = params.pointScale;\n\tconstBuf.spotMin = params.spotMin;\n\tconstBuf.spotMax = params.spotMax;\n\n\tconstBuf.lightTransform = (float4x4&)params.lightTransform;\n\tconstBuf.lightPos = params.lightPos;\n\tconstBuf.lightDir = params.lightDir;\n\n\tfor (int i = 0; i < 8; i++)\n\t\tconstBuf.colors[i] = params.colors[i];\n\n\tmemcpy(constBuf.shadowTaps, params.shadowTaps, sizeof(constBuf.shadowTaps));\n\n\tconstBuf.mode = params.mode;\n}"
  },
  {
    "path": "demo/d3d/renderParamsD3D.h",
    "content": "/*\n * Copyright (c) 2008-2017, NVIDIA CORPORATION.  All rights reserved.\n *\n * NVIDIA CORPORATION and its licensors retain all intellectual property\n * and proprietary rights in and to this software, related documentation\n * and any modifications thereto.  Any use, reproduction, disclosure or\n * distribution of this software and related documentation without an express\n * license agreement from NVIDIA CORPORATION is strictly prohibited.\n */\n\n#pragma once\n\n#define NOMINMAX\n\n#include \"core/maths.h\"\n#include <DirectXMath.h>\n\n#include \"shaderCommonD3D.h\"\n\nstruct ShadowMapD3D;\n\ntypedef DirectX::XMFLOAT3 float3;\ntypedef DirectX::XMFLOAT4 float4;\ntypedef DirectX::XMFLOAT4X4 float4x4;\n\nstruct DiffuseDrawParamsD3D\n{\n\tDirectX::XMMATRIX projection;\n\tDirectX::XMMATRIX view;\n\tDirectX::XMMATRIX model;\n\n\tfloat diffuseRadius;  // point size in world space\n\tfloat diffuseScale;   // scale to calculate size in pixels\n\tfloat spotMin;\n\tfloat spotMax;\n\tfloat motionScale;\n\n\tDirectX::XMMATRIX lightTransform;\n\tfloat3 lightPos;\n\tfloat3 lightDir;\n\n\tfloat4 color;\n\n\tfloat4 shadowTaps[12];\n\tShadowMapD3D* shadowMap;\n\n\tint mode;\n};\n\nenum FluidRenderMode\n{\n\tFLUID_RENDER_WIREFRAME,\n\tFLUID_RENDER_SOLID,\n\tNUM_FLUID_RENDER_MODES\n};\n\nenum FluidCullMode\n{\n\tFLUID_CULL_NONE,\n\tFLUID_CULL_FRONT,\n\tFLUID_CULL_BACK,\n\tNUM_FLUID_CULL_MODES\n};\n\nenum FluidDrawStage\n{\n\tFLUID_DRAW_NULL,\n\tFLUID_DRAW_SHADOW,\n\tFLUID_DRAW_REFLECTION,\n\tFLUID_DRAW_LIGHT\n};\n\nstruct FluidDrawParamsD3D\n{\n\tFluidRenderMode renderMode;\n\tFluidCullMode cullMode;\n\tFluidDrawStage renderStage;\n\n\tint offset;\n\tint n;\n\n\tDirectX::XMMATRIX projection;\n\tDirectX::XMMATRIX view;\n\tDirectX::XMMATRIX model;\n\n\tfloat4 invTexScale;\n\n\tfloat3 invViewport;\n\tfloat3 invProjection;\n\n\tfloat blurRadiusWorld;\n\tfloat blurScale;\n\tfloat blurFalloff;\n\tint debug;\n\n\tfloat3 lightPos;\n\tfloat3 lightDir;\n\tDirectX::XMMATRIX lightTransform;\n\n\tfloat4 color;\n\tfloat4 clipPosToEye;\n\n\tfloat spotMin;\n\tfloat spotMax;\n\tfloat ior;\n\n\tfloat pointRadius;\n\n\tShadowMapD3D* shadowMap;\n\n\t// Used on D3D12\n\tint m_srvDescriptorBase;\t\t\t\n\tint m_sampleDescriptorBase;\n};\n\nenum MeshRenderMode\n{\n\tMESH_RENDER_WIREFRAME,\n\tMESH_RENDER_SOLID,\n\tNUM_MESH_RENDER_MODES\n};\n\nenum MeshCullMode\n{\n\tMESH_CULL_NONE,\n\tMESH_CULL_FRONT,\n\tMESH_CULL_BACK,\n\tNUM_MESH_CULL_MODES\n};\n\nenum MeshDrawStage\n{\n\tMESH_DRAW_NULL,\n\tMESH_DRAW_SHADOW,\n\tMESH_DRAW_REFLECTION,\n\tMESH_DRAW_LIGHT\n};\n\nstruct MeshDrawParamsD3D\n{\n\tMeshRenderMode renderMode;\n\tMeshCullMode cullMode;\n\tMeshDrawStage renderStage;\n\n\tDirectX::XMMATRIX projection;\n\tDirectX::XMMATRIX view;\n\tDirectX::XMMATRIX model;\n\n\tfloat4x4 objectTransform;\n\n\tDirectX::XMMATRIX lightTransform;\n\tfloat3 lightPos;\n\tfloat3 lightDir;\n\n\tfloat4 clipPlane;\n\tfloat4 fogColor;\n\tfloat4 color;\n\tfloat4 secondaryColor;\n\n\tfloat bias;\n\tfloat expand;\n\tfloat spotMin;\n\tfloat spotMax;\n\n\tint grid;\n\tint tex;\n\tint colorArray;\n\n\tfloat4 shadowTaps[12];\n\tShadowMapD3D* shadowMap;\n};\n\nenum PointRenderMode\n{\n\tPOINT_RENDER_WIREFRAME,\n\tPOINT_RENDER_SOLID,\n\tNUM_POINT_RENDER_MODES\n};\n\nenum PointCullMode\n{\n\tPOINT_CULL_NONE,\n\tPOINT_CULL_FRONT,\n\tPOINT_CULL_BACK,\n\tNUM_POINT_CULL_MODES\n};\n\nenum PointDrawStage\n{\n\tPOINT_DRAW_NULL,\n\tPOINT_DRAW_SHADOW,\n\tPOINT_DRAW_REFLECTION,\n\tPOINT_DRAW_LIGHT\n};\n\nstruct PointDrawParamsD3D\n{\n\tPointRenderMode renderMode;\n\tPointCullMode cullMode;\n\tPointDrawStage renderStage;\n\n\tDirectX::XMMATRIX projection;\n\tDirectX::XMMATRIX view;\n\tDirectX::XMMATRIX model;\n\n\tfloat pointRadius;  // point size in world space\n\tfloat pointScale;   // scale to calculate size in pixels\n\tfloat spotMin;\n\tfloat spotMax;\n\n\tDirectX::XMMATRIX lightTransform;\n\tfloat3 lightPos;\n\tfloat3 lightDir;\n\n\tfloat4 colors[8];\n\n\tfloat4 shadowTaps[12];\n\tShadowMapD3D* shadowMap;\n\n\tint mode;\n};\n\nstruct ShadowParamsD3D\n{\n\tDirectX::XMMATRIX lightTransform;\n\tfloat3 lightPos;\n\tfloat3 lightDir;\n\tfloat bias;\n\tfloat4 shadowTaps[12];\n};\n\nstruct RenderParamsUtilD3D\n{\n\t\t/// Assumes the lightTransform is in OpenGl projection format\n\tstatic void calcShadowParams(Vec3 lightPos, Vec3 lightTarget, Matrix44 lightTransform, float shadowBias, ShadowParamsD3D* paramsOut);\n\n\t\t/// Convert a projection from GL into the same projection as can be used by Direct3D\n\t\t/// D3D has clip z range [0, 1], GL -1 to 1 (as is unit cube)\n\tstatic Matrix44 convertGLToD3DProjection(const Matrix44& proj);\n\n\tstatic void calcMeshConstantBuffer(const MeshDrawParamsD3D& params, Hlsl::MeshShaderConst& constBufOut);\n\n\tstatic void calcFluidConstantBuffer(const FluidDrawParamsD3D& params, Hlsl::FluidShaderConst& constBuf);\n\n\tstatic void calcFluidCompositeConstantBuffer(const FluidDrawParamsD3D& params, Hlsl::FluidShaderConst& constBuf);\n\n\tstatic void calcDiffuseConstantBuffer(const DiffuseDrawParamsD3D& params, Hlsl::DiffuseShaderConst& constBuf);\n\n\tstatic void calcPointConstantBuffer(const PointDrawParamsD3D& params, Hlsl::PointShaderConst& constBuf);\n};\n"
  },
  {
    "path": "demo/d3d/shaderCommonD3D.h",
    "content": "#ifndef SHADER_COMMON_D3D_H\n#define SHADER_COMMON_D3D_H\n\n#include <DirectXMath.h>\n\nstruct ShadowMap;\n\nnamespace Hlsl { \n\ntypedef DirectX::XMFLOAT3 float3;\ntypedef DirectX::XMFLOAT4 float4;\ntypedef DirectX::XMFLOAT4X4 float4x4;\n\n#define EXCLUDE_SHADER_STRUCTS 1\n#include \"../d3d/shaders/shaderCommon.h\"\n\n} // namespace Shader\n\n#endif // SHADER_COMMON_D3D_H\n"
  },
  {
    "path": "demo/d3d/shaders/blurDepthPS.hlsl",
    "content": "#include \"shaderCommon.h\"\n\ncbuffer constBuf : register(b0)\n{\n\tFluidShaderConst gParams;\n};\n\nTexture2D<float> depthTex : register(t0);\nTexture2D<float> thicknessTex : register(t1);\n\nSamplerState texSampler : register(s0);\n\nfloat sqr(float x) { return x*x; }\n\nfloat blurDepthPS(PassthroughVertexOut input) : SV_TARGET\n{\n\tfloat4 inPosition = input.position;\n\tfloat2 gl_TexCoord[1] = { input.texCoord };\n\n\t// debug: return the center depth sample\n\t//return depthTex.Load(int3(inPosition.xy, 0)).x;\n\t\n\tconst float blurRadiusWorld = gParams.blurRadiusWorld;\n\tconst float blurScale = gParams.blurScale;\n\tconst float blurFalloff = gParams.blurFalloff;\n\n\t// eye-space depth of center sample\n\tfloat depth = depthTex.Load(int3(inPosition.xy, 0)).x;\n\t//float thickness = 0.0f; //texture2D(thicknessTex, gl_TexCoord[0].xy).x;\n\tfloat thickness = thicknessTex.Sample(texSampler, gl_TexCoord[0].xy).x;\n\n\t/*\n\t// threshold on thickness to create nice smooth silhouettes\n\tif (depth == 0.0)\n\t{\n\t\treturn 0.0f; \n\t}\n\t*/\n\n\tfloat blurDepthFalloff = 5.5;\n\tfloat maxBlurRadius = 5.0;\n\n\t//discontinuities between different tap counts are visible. to avoid this we \n\t//use fractional contributions between #taps = ceil(radius) and floor(radius) \n\tfloat radius = min(maxBlurRadius, blurScale * (blurRadiusWorld / -depth));\n\tfloat radiusInv = 1.0 / radius;\n\tfloat taps = ceil(radius);\n\tfloat frac = taps - radius;\n\n\tfloat sum = 0.0;\n\tfloat wsum = 0.0;\n\tfloat count = 0.0;\n\n\tfor (float y = -taps; y <= taps; y += 1.0)\n\t{\n\t\tfor (float x = -taps; x <= taps; x += 1.0)\n\t\t{\n\t\t\tfloat2 offset = float2(x, y);\n\t\t\tfloat sample = depthTex.Load(int3(inPosition.xy + offset, 0)).x;\n\n\t\t\t//if (sample < -10000.0 * 0.5)\n\t\t\t\t//continue;\n\n\t\t\t// spatial domain\n\t\t\tfloat r1 = length(float2(x, y))*radiusInv;\n\t\t\tfloat w = exp(-(r1*r1));\n\n\t\t\t// range domain (based on depth difference)\n\t\t\tfloat r2 = (sample - depth) * blurDepthFalloff;\n\t\t\tfloat g = exp(-(r2*r2));\n\n\t\t\t//fractional radius contributions\n\t\t\tfloat wBoundary = step(radius, max(abs(x), abs(y)));\n\t\t\tfloat wFrac = 1.0 - wBoundary*frac;\n\n\t\t\tsum += sample * w * g * wFrac;\n\t\t\twsum += w * g * wFrac;\n\t\t\tcount += g * wFrac;\n\t\t}\n\t}\n\n\tif (wsum > 0.0)\n\t{\n\t\tsum /= wsum;\n\t}\n\n\tfloat blend = count / sqr(2.0 * radius + 1.0);\n\treturn lerp(depth, sum, blend);\n}\n"
  },
  {
    "path": "demo/d3d/shaders/compositePS.hlsl",
    "content": "#include \"shaderCommon.h\"\n\n#define ENABLE_SIMPLE_FLUID 1\n\ncbuffer constBuf : register(b0)\n{\n\tFluidShaderConst gParams;\n};\n\nTexture2D<float> depthTex : register(t0);\nTexture2D<float3> sceneTex : register(t1);\nTexture2D<float> shadowTex : register(t2);\t// shadow map\n\nSamplerState texSampler : register(s0);\nSamplerComparisonState shadowSampler : register(s1);\t// texture sample used to sample depth from shadow texture in this sample\n\n// sample shadow map\nfloat shadowSample(float3 worldPos, out float attenuation)\n{\n#if 0\n\tattenuation = 0.0f;\n\treturn 0.5;\n#else\n\t\n\tfloat4 pos = mul(gParams.lightTransform, float4(worldPos + gParams.lightDir*0.15, 1.0));\n\tpos /= pos.w;\n\tfloat3 uvw = (pos.xyz * float3(0.5, 0.5, 1.0)) + float3(0.5, 0.5, 0.0);\n\n\tattenuation = max(smoothstep(gParams.spotMax, gParams.spotMin, dot(pos.xy, pos.xy)), 0.05);\n\n\t// user clip\n\tif (uvw.x  < 0.0 || uvw.x > 1.0)\n\t\treturn 1.0;\n\tif (uvw.y < 0.0 || uvw.y > 1.0)\n\t\treturn 1.0;\n\n\tfloat s = 0.0;\n\tfloat radius = 0.002;\n\n\tuvw.y = 1.0f - uvw.y;\n\n\t[unroll]\n\tfor (int i = 0; i < 8; i++)\n\t{\n\t\tfloat2 shadowTaps = gParams.shadowTaps[i].xy;\n\t\tshadowTaps.y = 1.0f - shadowTaps.y;\n\t\ts += shadowTex.SampleCmp(shadowSampler, uvw.xy + shadowTaps * radius, uvw.z);\n\t}\n\n\ts /= 8.0;\n\treturn s;\n#endif\n}\n\nfloat3 viewportToEyeSpace(float2 coord, float eyeZ)\n{\n\tfloat2 clipPosToEye = gParams.clipPosToEye.xy;\n\n\t// find position at z=1 plane\n\t//float2 uv = (coord * 2.0 - float2(1.0, 1.0)) * clipPosToEye;\n\tfloat2 uv = float2(coord.x*2.0f-1.0f, (1.0f-coord.y)*2.0f - 1.0f)*clipPosToEye;\n\t\n\treturn float3(-uv * eyeZ, eyeZ);\n}\n\nfloat3 srgbToLinear(float3 c) { const float v = 2.2; return pow(c, float3(v, v, v)); }\nfloat3 linearToSrgb(float3 c) { const float v = 1.0 / 2.2; return pow(c, float3(v, v, v)); }\n\nfloat sqr(float x) { return x*x; }\nfloat cube(float x) { return x*x*x; }\n\nfloat4 compositePS(PassthroughVertexOut input, out float depthOut : SV_DEPTH) : SV_TARGET\n{\n\tconst float4x4 projectionMatrix = gParams.projection;\n\tconst float4x4 modelViewMatrix = gParams.modelView;\n\tconst float4x4 modelViewMatrixInverse = gParams.inverseModelView;\n\n\tconst float2 invTexScale = gParams.invTexScale.xy;\n\n\tconst float3 lightDir = gParams.lightDir;\n\tconst float3 lightPos = gParams.lightPos;\n\tconst float spotMin = gParams.spotMin;\n\tconst float spotMax = gParams.spotMax;\n\tconst float ior = gParams.ior;\n\tconst float4 color = gParams.color;\n\n\t// flip uv y-coordinate\n\tfloat2 uvCoord = float2(input.texCoord.x, 1.0f-input.texCoord.y);\n\n\tfloat eyeZ = depthTex.Sample(texSampler, uvCoord).x;\n\n\tif (eyeZ >= 0.0)\n\t\tdiscard;\n\n\t// reconstruct eye space pos from depth\n\tfloat3 eyePos = viewportToEyeSpace(uvCoord, eyeZ);\n\n\t// finite difference approx for normals, can't take dFdx because\n\t// the one-sided difference is incorrect at shape boundaries\n\tfloat3 zl = eyePos - viewportToEyeSpace(uvCoord - float2(invTexScale.x, 0.0), depthTex.Sample(texSampler, uvCoord - float2(invTexScale.x, 0.0)).x);\n\tfloat3 zr = viewportToEyeSpace(uvCoord + float2(invTexScale.x, 0.0), depthTex.Sample(texSampler, uvCoord + float2(invTexScale.x, 0.0)).x) - eyePos;\n\tfloat3 zt = viewportToEyeSpace(uvCoord + float2(0.0, invTexScale.y), depthTex.Sample(texSampler, uvCoord + float2(0.0, invTexScale.y)).x) - eyePos;\n\tfloat3 zb = eyePos - viewportToEyeSpace(uvCoord - float2(0.0, invTexScale.y), depthTex.Sample(texSampler, uvCoord - float2(0.0, invTexScale.y)).x);\n\n\tfloat3 dx = zl;\n\tfloat3 dy = zt;\n\n\tif (abs(zr.z) < abs(zl.z))\n\t\tdx = zr;\n\n\tif (abs(zb.z) < abs(zt.z))\n\t\tdy = zb;\n\t\n\t//float3 dx = ddx(eyePos.xyz);\n\t//float3 dy = -ddy(eyePos.xyz);\n\n\tfloat4 worldPos = mul(modelViewMatrixInverse, float4(eyePos, 1.0));\n\n\tfloat attenuation;\n\tfloat shadow = shadowSample(worldPos.xyz, attenuation);\n\n\tfloat3 l = mul(modelViewMatrix, float4(lightDir, 0.0)).xyz;\n\tfloat3 v = -normalize(eyePos);\n\n\tfloat3 n = -normalize(cross(dx, dy)); // sign difference from texcoord coordinate difference between OpenGL\t\t\n\tfloat3 h = normalize(v + l);\n\n\tfloat3 skyColor = float3(0.1, 0.2, 0.4)*1.2;\n\tfloat3 groundColor = float3(0.1, 0.1, 0.2);\n\n\tfloat fresnel = 0.1 + (1.0 - 0.1)*cube(1.0 - max(dot(n, v), 0.0));\n\n\tfloat3 lVec = normalize(worldPos.xyz - lightPos);\n\n\tfloat ln = dot(l, n)*attenuation;\n\n\tfloat3 rEye = reflect(-v, n).xyz;\n\tfloat3 rWorld = mul(modelViewMatrixInverse, float4(rEye, 0.0)).xyz;\n\n\tfloat2 texScale = float2(0.75, 1.0);\t// to account for backbuffer aspect ratio (todo: pass in)\n\n\tfloat refractScale = ior*0.025;\n\tfloat reflectScale = ior*0.1;\n\n\t// attenuate refraction near ground (hack)\n\trefractScale *= smoothstep(0.1, 0.4, worldPos.y);\n\n\tfloat2 refractCoord = uvCoord + n.xy*refractScale*texScale;\n\n\t// read thickness from refracted coordinate otherwise we get halos around objectsw\n\tfloat thickness = 0.8f;//max(texture2D(thicknessTex, refractCoord).x, 0.3);\n\n\t//vec3 transmission = exp(-(vec3(1.0)-color.xyz)*thickness);\n\tfloat3 transmission = (1.0 - (1.0 - color.xyz)*thickness*0.8)*color.w;\n\tfloat3 refract = sceneTex.Sample(texSampler, refractCoord).xyz*transmission;\n\n\tfloat2 sceneReflectCoord = uvCoord - rEye.xy*texScale*reflectScale / eyePos.z;\n\tfloat3 sceneReflect = sceneTex.Sample(texSampler, sceneReflectCoord).xyz*shadow;\n\t//vec3 planarReflect = texture2D(reflectTex, gl_TexCoord[0].xy).xyz;\n\tfloat3 planarReflect = float3(0.0, 0.0, 0.0);\n\n\t// fade out planar reflections above the ground\n\t//float3 reflect = lerp(planarReflect, sceneReflect, smoothstep(0.05, 0.3, worldPos.y)) + lerp(groundColor, skyColor, smoothstep(0.15, 0.25, rWorld.y)*shadow);\n\tfloat3 reflect = sceneReflect + lerp(groundColor, skyColor, smoothstep(0.15, 0.25, rWorld.y)*shadow);\n\n\t// lighting\n\tfloat3 diffuse = color.xyz * lerp(float3(0.29, 0.379, 0.59), float3(1.0, 1.0, 1.0), (ln*0.5 + 0.5)*max(shadow, 0.4))*(1.0 - color.w);\n\tfloat specular = 1.2*pow(max(dot(h, n), 0.0), 400.0);\n\t\n\t// write valid z\n\tfloat4 clipPos = mul(projectionMatrix, float4(0.0, 0.0, eyeZ, 1.0));\n\tclipPos.z /= clipPos.w;\n\tdepthOut = clipPos.z;\n\n\t// visualize normals\n\t//return float4(n*0.5 + 0.5, 1.0);\n\t//return float4(fresnel, fresnel, fresnel, 0);\n\t//return float4(n, 1); \n\t\n\t// Color\n\treturn float4(diffuse + (lerp(refract, reflect, fresnel) + specular)*color.w, 1.0);\n}\n"
  },
  {
    "path": "demo/d3d/shaders/debugLinePS.hlsl",
    "content": "struct Input\n{\n\tfloat4 position : SV_POSITION;\n\tfloat4 color : COLOR;\n};\n\nfloat4 debugLinePS(Input input) : SV_TARGET\n{\n\treturn input.color;\n}\n"
  },
  {
    "path": "demo/d3d/shaders/debugLineVS.hlsl",
    "content": "\ncbuffer params : register(b0)\n{\n\tfloat4x4  projectionViewWorld;\n};\n\nstruct Input\n{\n\tfloat3 position : POSITION;\n\tfloat4 color : COLOR;\n};\n\nstruct Output\n{\n\tfloat4 position : SV_POSITION;\n\tfloat4 color : COLOR;\n};\n\nOutput debugLineVS(Input input)\n{\n\tOutput output;\n\toutput.position = mul(projectionViewWorld, float4(input.position, 1.0f));\n\toutput.color = input.color;\n\n\treturn output;\n}\n"
  },
  {
    "path": "demo/d3d/shaders/diffuseGS.hlsl",
    "content": "#include \"shaderCommon.h\"\n\ncbuffer constBuf : register(b0)\n{\n\tDiffuseShaderConst gParams;\n};\n\nstatic const float2 corners[4] =\n{\n\tfloat2(0.0, 1.0),\n\tfloat2(0.0, 0.0),\n\tfloat2(1.0, 1.0),\n\tfloat2(1.0, 0.0)\n};\n\n[maxvertexcount(4)]\nvoid diffuseGS(point DiffuseVertexOut input[1], inout TriangleStream<DiffuseGeometryOut> triStream)\n{\n\tfloat4 ndcPos = input[0].ndcPos;\n\n\t// frustrum culling\n\tconst float ndcBound = 1.0;\n\tif (ndcPos.x < -ndcBound) return;\n\tif (ndcPos.x > ndcBound) return;\n\tif (ndcPos.y < -ndcBound) return;\n\tif (ndcPos.y > ndcBound) return;\n\n\tfloat pointScale = gParams.diffuseScale;\n\tfloat velocityScale = 1.0;\n\n\tfloat3 v = input[0].viewVel.xyz;\n\tfloat3 p = input[0].viewPos.xyz;\n\t\t\n\t// billboard in eye space\n\tfloat3 u = float3(0.0, pointScale, 0.0);\n\tfloat3 l = float3(pointScale, 0.0, 0.0);\n\t\n\t// increase size based on life\n\tfloat lifeTime = input[0].worldPos.w;\n\n\tfloat lifeFade = lerp(1.0f + gParams.diffusion, 1.0, min(1.0, lifeTime*0.25f));\n\tu *= lifeFade;\n\tl *= lifeFade;\n\n\tfloat fade = 1.0/(lifeFade*lifeFade);\n\tfloat vlen = length(v)*gParams.motionBlurScale;\n\t\n\tif (vlen > 0.5)\n\t{\n\t\tfloat len = max(pointScale, vlen*0.016);\n\t\tfade = min(1.0, 2.0/(len/pointScale));\n\n\t\tu = normalize(v)*max(pointScale, vlen*0.016);\t// assume 60hz\n\t\tl = normalize(cross(u, float3(0.0, 0.0, -1.0)))*pointScale;\n\t}\n\t\n\t{\n\t\tDiffuseGeometryOut output;\n\t\t\n\t\toutput.worldPos = input[0].worldPos;\t// vertex world pos (life in w)\n\t\toutput.viewPos = input[0].viewPos;\t\t// vertex eye pos\n\t\toutput.viewVel.xyz = input[0].viewVel.xyz; // vertex velocity in view space\n\t\toutput.viewVel.w = fade;\n\t\toutput.lightDir = mul(gParams.modelView, float4(gParams.lightDir, 0.0));\n\t\toutput.color = input[0].color;\n\n\t\toutput.uv = float2(0.0, 1.0);      \n\t\toutput.clipPos = mul(gParams.projection, float4(p + u - l, 1.0));\n\t\ttriStream.Append(output);\n\t\t\n\t\toutput.uv = float2(0.0, 0.0);\n        output.clipPos = mul(gParams.projection, float4(p - u - l, 1.0));\n        triStream.Append(output);\n\n\t\toutput.uv = float2(1.0, 1.0);\n        output.clipPos = mul(gParams.projection, float4(p + u + l, 1.0));\n        triStream.Append(output);\n\n\t\toutput.uv = float2(1.0, 0.0);\n        output.clipPos = mul(gParams.projection, float4(p - u + l, 1.0));\n        triStream.Append(output);\n    }\n}\n"
  },
  {
    "path": "demo/d3d/shaders/diffusePS.hlsl",
    "content": "#include \"shaderCommon.h\"\n\ncbuffer constBuf : register(b0)\n{\n\tDiffuseShaderConst gParams;\n};\n\nfloat sqr(float x) { return x * x; }\n\nfloat4 diffusePS(DiffuseGeometryOut input) : SV_TARGET\n{\n\tfloat attenuation = 1.0f;\n\tfloat lifeTime = input.worldPos.w;\n\tfloat lifeFade = min(1.0, lifeTime*0.125);\n\tfloat velocityFade = input.viewVel.w;\n\n    // calculate normal from texture coordinates\n    float3 normal = float3(input.uv * 2.0 + float2(-1.0, -1.0), 0.0);\n    float mag = dot(normal.xy, normal.xy);\n    \n\t// kill pixels outside circle\n\tif (mag > 1.0)\n\t\tdiscard;   \n\n   \tnormal.z = 1.0-mag;\n\n\tfloat alpha = lifeFade*velocityFade*sqr(normal.z);\n\treturn float4(alpha, alpha, alpha, alpha);\n}\n"
  },
  {
    "path": "demo/d3d/shaders/diffuseVS.hlsl",
    "content": "#include \"shaderCommon.h\"\n\ncbuffer constBuf : register(b0)\n{\n\tDiffuseShaderConst gParams;\n};\n\nDiffuseVertexOut diffuseVS(DiffuseVertexIn input)\n{\n\tfloat3 worldPos = input.position.xyz;\n\tfloat4 eyePos = mul(gParams.modelView, float4(worldPos, 1.0));\n\n\tDiffuseVertexOut output;\n\n\toutput.worldPos = input.position;\t// lifetime in w\n\toutput.viewPos = eyePos;\n\toutput.viewVel = mul(gParams.modelView, float4(input.velocity.xyz, 0.0));\n\toutput.color = gParams.color;\n\n\t// compute ndc pos for frustrum culling in GS\n\tfloat4 ndcPos = mul(gParams.modelViewProjection, float4(worldPos.xyz, 1.0));\n\toutput.ndcPos = ndcPos / ndcPos.w;\n\n\treturn output;\n}\n"
  },
  {
    "path": "demo/d3d/shaders/ellipsoidDepthGS.hlsl",
    "content": "#include \"shaderCommon.h\"\n\ncbuffer constBuf : register(b0)\n{\n\tFluidShaderConst gParams;\n};\n\nstatic const float2 corners[4] =\n{\n\tfloat2(0.0, 1.0), float2(0.0, 0.0), float2(1.0, 1.0), float2(1.0, 0.0)\n};\n\n[maxvertexcount(4)]\nvoid ellipsoidDepthGS(point FluidVertexOut input[1], inout TriangleStream<FluidGeoOut> triStream)\n{\n\tconst float4 ndcPos = input[0].ndcPos;\n\t// frustrum culling\n\tconst float ndcBound = 1.0;\n\tif (any(abs(ndcPos.xy) > ndcBound))\n\t{\n\t\treturn;\n\t}\n\n\tfloat4 bounds = input[0].bounds; \n\n\tconst float4 invQuad0 = input[0].invQ0;\n\tconst float4 invQuad1 = input[0].invQ1;\n\tconst float4 invQuad2 = input[0].invQ2;\n\tconst float4 invQuad3 = input[0].invQ3;\n\n\tfloat xmin = bounds.x;\n\tfloat xmax = bounds.y;\n\tfloat ymin = bounds.z;\n\tfloat ymax = bounds.w;\n\n\tFluidGeoOut output;\n\n\toutput.position = float4(xmin, ymax, 0.5, 1.0);\n\toutput.invQ0 = invQuad0;\n\toutput.invQ1 = invQuad1;\n\toutput.invQ2 = invQuad2;\n\toutput.invQ3 = invQuad3;\n\ttriStream.Append(output);\n\n\toutput.position = float4(xmin, ymin, 0.5, 1.0);\n\toutput.invQ0 = invQuad0;\n\toutput.invQ1 = invQuad1;\n\toutput.invQ2 = invQuad2;\n\toutput.invQ3 = invQuad3;\n\ttriStream.Append(output);\n\n\toutput.position = float4(xmax, ymax, 0.5, 1.0);\n\toutput.invQ0 = invQuad0;\n\toutput.invQ1 = invQuad1;\n\toutput.invQ2 = invQuad2;\n\toutput.invQ3 = invQuad3;\n\ttriStream.Append(output);\n\n\toutput.position = float4(xmax, ymin, 0.5, 1.0);\n\toutput.invQ0 = invQuad0;\n\toutput.invQ1 = invQuad1;\n\toutput.invQ2 = invQuad2;\n\toutput.invQ3 = invQuad3;\n\ttriStream.Append(output);\n}\n"
  },
  {
    "path": "demo/d3d/shaders/ellipsoidDepthPS.hlsl",
    "content": "#include \"shaderCommon.h\"\n\ncbuffer constBuf : register(b0)\n{\n\tFluidShaderConst gParams;\n};\n\nfloat Sign(float x) { return x < 0.0 ? -1.0 : 1.0; }\n\nbool solveQuadratic(float a, float b, float c, out float minT, out float maxT)\n{\n#if 0\n\tminT = 0.0f;\n\tmaxT = 0.0f;\n#endif\n\n\tif (a == 0.0 && b == 0.0)\n\t{\n\t\tminT = maxT = 0.0;\n\t\treturn true;\n\t}\n\n\tfloat discriminant = b*b - 4.0*a*c;\n\n\tif (discriminant < 0.0)\n\t{\n\t\treturn false;\n\t}\n\n\tfloat t = -0.5*(b + Sign(b)*sqrt(discriminant));\n\tminT = t / a;\n\tmaxT = c / t;\n\n\tif (minT > maxT)\n\t{\n\t\tfloat tmp = minT;\n\t\tminT = maxT;\n\t\tmaxT = tmp;\n\t}\n\n\treturn true;\n}\n\nfloat sqr(float x) { return x * x; }\n\nfloat ellipsoidDepthPS(FluidGeoOut input , out float depthOut : SV_DEPTH) : SV_TARGET\n{\n\tconst float4x4 projectionMatrix = gParams.projection;\n\tconst float4x4 projectionMatrixInverse = gParams.inverseProjection;\n\tconst float3 invViewport = gParams.invViewport;\n\tconst float4 position = input.position;\n\n\t// transform from view space to parameter space\n\t//column_major\n\tfloat4x4 invQuadric;\n\tinvQuadric._m00_m10_m20_m30 = input.invQ0;\n\tinvQuadric._m01_m11_m21_m31 = input.invQ1;\n\tinvQuadric._m02_m12_m22_m32 = input.invQ2;\n\tinvQuadric._m03_m13_m23_m33 = input.invQ3;\n\n\tfloat4 ndcPos = float4(position.x*invViewport.x*2.0f-1.0f, (1.0f-position.y*invViewport.y)*2.0 - 1.0, 0.0f, 1.0);\n\tfloat4 viewDir = mul(projectionMatrixInverse, ndcPos);\n\n\t// ray to parameter space\n\tfloat4 dir = mul(invQuadric, float4(viewDir.xyz, 0.0));\n\tfloat4 origin = invQuadric._m03_m13_m23_m33;\n\n\t// set up quadratric equation\n\tfloat a = sqr(dir.x) + sqr(dir.y) + sqr(dir.z);\n\tfloat b = dir.x*origin.x + dir.y*origin.y + dir.z*origin.z - dir.w*origin.w;\n\tfloat c = sqr(origin.x) + sqr(origin.y) + sqr(origin.z) - sqr(origin.w);\n\n\tfloat minT;\n\tfloat maxT;\n\n\tif (!solveQuadratic(a, 2.0 * b, c, minT, maxT))\n\t{\n\t\tdiscard;\n\t}\n\t{\n\t\tfloat3 eyePos = viewDir.xyz*minT;\n\t\tfloat4 ndcPos = mul(projectionMatrix, float4(eyePos, 1.0));\n\t\tndcPos.z /= ndcPos.w;\n\n\t\tdepthOut = ndcPos.z;\t\n\t\treturn eyePos.z;\n\t}\n}\n"
  },
  {
    "path": "demo/d3d/shaders/ellipsoidDepthVS.hlsl",
    "content": "#include \"shaderCommon.h\"\n\ncbuffer constBuf : register(b0)\n{\n\tFluidShaderConst gParams;\n};\n\n// returns 1.0 for x==0.0 (unlike glsl)\nfloat Sign(float x) { return x < 0.0 ? -1.0 : 1.0; }\n\nbool solveQuadratic(float a, float b, float c, out float minT, out float maxT)\n{\n#if 0\n\t// for debugging\n\tminT = -0.5;\n\tmaxT = 0.5;\n\treturn true;\n#else\n\t//minT = 0.0f;\n\t//maxT = 0.0f;\n#endif\n\n\tif (a == 0.0 && b == 0.0)\n\t{\n\t\tminT = maxT = 0.0;\n\t\treturn false;\n\t}\n\n\tfloat discriminant = b*b - 4.0*a*c;\n\n\tif (discriminant < 0.0)\n\t{\n\t\treturn false;\n\t}\n\n\tfloat t = -0.5*(b + Sign(b)*sqrt(discriminant));\n\tminT = t / a;\n\tmaxT = c / t;\n\n\tif (minT > maxT)\n\t{\n\t\tfloat tmp = minT;\n\t\tminT = maxT;\n\t\tmaxT = tmp;\n\t}\n\n\treturn true;\n}\n\nfloat DotInvW(float4 a, float4 b) { return a.x*b.x + a.y*b.y + a.z*b.z - a.w*b.w; }\n\nFluidVertexOut ellipsoidDepthVS(FluidVertexIn input, uint instance : SV_VertexID)\n{\n\tconst float4 q1 = input.q1;\n\tconst float4 q2 = input.q2;\n\tconst float4 q3 = input.q3;\n\n\tconst float4x4 modelViewProjectionMatrix = gParams.modelViewProjection;\n\tconst float4x4 modelViewMatrixInverse = gParams.inverseModelView;\n\n\tfloat3 worldPos = input.position.xyz;\n\t\n\t// construct quadric matrix\n\tfloat4x4 q;\n\tq._m00_m10_m20_m30 = float4(q1.xyz*q1.w, 0.0);\n\tq._m01_m11_m21_m31 = float4(q2.xyz*q2.w, 0.0);\n\tq._m02_m12_m22_m32 = float4(q3.xyz*q3.w, 0.0);\n\tq._m03_m13_m23_m33 = float4(worldPos, 1.0);\n\n\t// transforms a normal to parameter space (inverse transpose of (q*modelview)^-T)\n\tfloat4x4 invClip = mul(modelViewProjectionMatrix, q);\n\n\t// solve for the right hand bounds in homogenous clip space\n\tfloat a1 = DotInvW(invClip[3], invClip[3]);\n\tfloat b1 = -2.0f*DotInvW(invClip[0], invClip[3]);\n\tfloat c1 = DotInvW(invClip[0], invClip[0]);\n\n\tfloat xmin;\n\tfloat xmax;\n\tsolveQuadratic(a1, b1, c1, xmin, xmax);\n\n\t// solve for the right hand bounds in homogenous clip space\n\tfloat a2 = DotInvW(invClip[3], invClip[3]);\n\tfloat b2 = -2.0f*DotInvW(invClip[1], invClip[3]);\n\tfloat c2 = DotInvW(invClip[1], invClip[1]);\n\n\tfloat ymin;\n\tfloat ymax;\n\tsolveQuadratic(a2, b2, c2, ymin, ymax);\n\n\tFluidVertexOut output;\n\toutput.position = float4(worldPos.xyz, 1.0);\n\toutput.bounds = float4(xmin, xmax, ymin, ymax);\n\n\t// construct inverse quadric matrix (used for ray-casting in parameter space)\n\tfloat4x4 invq;\n\tinvq._m00_m10_m20_m30 = float4(q1.xyz / q1.w, 0.0);\n\tinvq._m01_m11_m21_m31 = float4(q2.xyz / q2.w, 0.0);\n\tinvq._m02_m12_m22_m32 = float4(q3.xyz / q3.w, 0.0);\n\tinvq._m03_m13_m23_m33 = float4(0.0, 0.0, 0.0, 1.0);\n\n\tinvq = transpose(invq);\n\tinvq._m03_m13_m23_m33 = -(mul(invq, output.position));\n\n\t// transform a point from view space to parameter space\n\tinvq = mul(invq, modelViewMatrixInverse);\n\n\t// pass down\n\toutput.invQ0 = invq._m00_m10_m20_m30;\n\toutput.invQ1 = invq._m01_m11_m21_m31;\n\toutput.invQ2 = invq._m02_m12_m22_m32;\n\toutput.invQ3 = invq._m03_m13_m23_m33;\n\t\n\t// compute ndc pos for frustrum culling in GS\n\tfloat4 projPos = mul(modelViewProjectionMatrix, float4(worldPos.xyz, 1.0));\n\toutput.ndcPos = projPos / projPos.w;\n\treturn output;\n}\n"
  },
  {
    "path": "demo/d3d/shaders/imguiPS.hlsl",
    "content": "\nstruct Input\n{\n\tfloat4 position : SV_POSITION;\n\tfloat2 texCoord : TEXCOORD;\n\tfloat4 color : COLOR;\n};\n\nTexture2D<float> tex : register(t0);\nSamplerState texSampler : register(s0);\n\nfloat4 imguiPS(Input input) : SV_TARGET\n{\n\tfloat4 color = input.color;\n\n\tif (input.texCoord.x >= 0.f)\n\t{\n\t\tcolor.a *= tex.SampleLevel(texSampler, input.texCoord, 0.f);\n\t}\n\n\treturn color;\n}"
  },
  {
    "path": "demo/d3d/shaders/imguiVS.hlsl",
    "content": "\ncbuffer params : register(b0)\n{\n\tfloat4x4 transform;\n};\n\nstruct Input\n{\n\tfloat2 position : POSITION;\n\tfloat2 texCoord : TEXCOORD;\n\tfloat4 color : COLOR;\n};\n\nstruct Output\n{\n\tfloat4 position : SV_POSITION;\n\tfloat2 texCoord : TEXCOORD;\n\tfloat4 color : COLOR;\n};\n\nOutput imguiVS(Input input, uint instance : SV_InstanceID)\n{\n\tOutput output;\n\n\toutput.position = mul(float4(input.position, 0.f, 1.f), transform);\n\n\toutput.texCoord = input.texCoord.xy; // float2(input.texCoord.x, 1.f - input.texCoord.y);\n\toutput.color = input.color;\n\n\treturn output;\n}"
  },
  {
    "path": "demo/d3d/shaders/meshAsyncComputeBenchPS.hlsl",
    "content": "#define FLX_ASYNC_COMPUTE_BENCHMARK_ENABLE 1\n\n#include \"meshPS.hlsl\"\n"
  },
  {
    "path": "demo/d3d/shaders/meshPS.hlsl",
    "content": "#include \"shaderCommon.h\"\n\ncbuffer constBuf : register(b0)\n{\n\tMeshShaderConst gParams;\n};\n\nTexture2D<float> shadowTexture : register(t0);\t// shadow map\nSamplerComparisonState shadowSampler : register(s0);\t// texture sample used to sample depth from shadow texture in this sample\n\n// sample shadow map\nfloat shadowSample(float4 lightOffsetPosition)\n{\n\tfloat3 pos = float3(lightOffsetPosition.xyz / lightOffsetPosition.w);\n\tfloat3 uvw = (pos.xyz * float3(0.5, 0.5, 1.0)) + float3(0.5, 0.5, 0.0);\n\n\t// user clip\n\tif (uvw.x  < 0.0 || uvw.x > 1.0)\n\t\treturn 1.0;\n\tif (uvw.y < 0.0 || uvw.y > 1.0)\n\t\treturn 1.0;\n\n\tfloat s = 0.0;\n\tfloat radius = 0.002;\n\n\tconst int numTaps = 12;\n\n\t// flip uv y-coordinate\n\tuvw.y = 1.0f - uvw.y;\n\n\t[unroll]\n\tfor (int i = 0; i < numTaps; i++)\n\t{\n\t\tfloat2 shadowTaps = gParams.shadowTaps[i].xy;\n\t\tshadowTaps.y = 1.0f - shadowTaps.y;\n\t\ts += shadowTexture.SampleCmp(shadowSampler, uvw.xy + shadowTaps * radius, uvw.z);\n\t}\n\ts /= numTaps;\n\n\treturn s;\n}\n\nfloat filterwidth(float2 v)\n{\n\tfloat2 fw = max(abs(ddx(v)), abs(ddy(v)));\n\treturn max(fw.x, fw.y);\n}\n\nfloat2 bump(float2 x)\n{\n\treturn (floor((x) / 2) + 2.f * max(((x) / 2) - floor((x) / 2) - .5f, 0.f));\n}\n\nfloat checker(float2 uv)\n{\n\tfloat width = filterwidth(uv);\n\tfloat2 p0 = uv - 0.5 * width;\n\tfloat2 p1 = uv + 0.5 * width;\n\n\tfloat2 i = (bump(p1) - bump(p0)) / width;\n\treturn i.x * i.y + (1 - i.x) * (1 - i.y);\n}\n\nfloat4 meshPS(MeshVertexOut input, bool isFrontFace : SV_IsFrontFace) : SV_TARGET\n{\n\tconst float4 fogColor = gParams.fogColor;\n\tconst float3 lightDir = gParams.lightDir;\n\tconst float3 lightPos = gParams.lightPos;\n\tconst float spotMin = gParams.spotMin;\n\tconst float spotMax = gParams.spotMax;\n\tconst int grid = gParams.grid;\n\tconst int tex = gParams.tex;\n\n\t// calculate lighting\n\tfloat shadow = max(shadowSample(input.lightOffsetPosition), 0.5);\n\t//float shadow = 0.5f;\n\n\tfloat3 lVec = normalize(input.worldPosition - lightPos);\n\tfloat3 lPos = float3(input.lightOffsetPosition.xyz / input.lightOffsetPosition.w);\n\tfloat attenuation = max(smoothstep(spotMax, spotMin, dot(lPos.xy, lPos.xy)), 0.05);\n\t\n\tfloat3 n = input.worldNormal;\n\tfloat3 color = input.color.xyz;\n\n\tif (!isFrontFace)\n\t{\n\t\tcolor = input.secondaryColor.xyz;\n\t\tn *= -1.0f;\n\t}\n\n\tif (grid && (n.y > 0.995))\n\t{\n\t\tcolor *= 1.0 - 0.25 * checker(float2(input.worldPosition.x, input.worldPosition.z));\n\t}\n\telse if (grid && abs(n.z) > 0.995)\n\t{\n\t\tcolor *= 1.0 - 0.25 * checker(float2(input.worldPosition.y, input.worldPosition.x));\n\t}\n\n\tif (tex)\n\t{\n\t\t//color = texture2D(tex, gl_TexCoord[5].xy).xyz;\n\t}\n\t\n\t// direct light term\n\tfloat wrap = 0.0;\n\tfloat3 diffuse = color * float3(1.0, 1.0, 1.0) * max(0.0, (-dot(lightDir, n) + wrap) / (1.0 + wrap) * shadow) * attenuation;\n\n\t// wrap ambient term aligned with light dir\n\tfloat3 light = float3(0.03, 0.025, 0.025) * 1.5;\n\tfloat3 dark = float3(0.025, 0.025, 0.03);\n\t//float3 ambient = 4.0 * color * lerp(dark, light, -dot(lightDir, n) * 0.5 + 0.5) * attenuation;\n\tfloat3 ambient = 4.0 * color * lerp(dark, light, -dot(lightDir, n) * float3(0.5, 0.5, 1.0) + float3(0.5, 0.5, 0.0)) * attenuation;\n\t\n\tfloat3 fog = lerp(fogColor.xyz, diffuse + ambient, exp(input.viewPosition.z * fogColor.w));\n\t\n\t//outColor = float4(pow(fog, float3(1.0 / 2.2)), 1.0);\n\tconst float tmp = 1.0 / 2.2;\n\n\tfloat4 outColor = float4(pow(abs(fog), float3(tmp, tmp, tmp)), 1.0);\n\t\n\treturn outColor;\n}\n"
  },
  {
    "path": "demo/d3d/shaders/meshShadowPS.hlsl",
    "content": "#include \"shaderCommon.h\"\n\ncbuffer constBuf : register(b0)\n{\n\tMeshShaderConst gParams;\n};\n\n\nvoid meshPS_Shadow(MeshVertexOut input) \n{\n}\n\n"
  },
  {
    "path": "demo/d3d/shaders/meshVS.hlsl",
    "content": "#include \"shaderCommon.h\"\n\ncbuffer constBuf : register(b0)\n{\n\tMeshShaderConst gParams;\n};\n\nMeshVertexOut meshVS(MeshVertexIn input)\n{\n\tconst float4x4 modelViewProjectionMatrix = gParams.modelViewProjection;\n\tconst float4x4 modelViewMatrix = gParams.modelView;\n\tconst float4x4 objectTransform  = gParams.objectTransform;\n\tconst float4x4 lightTransform = gParams.lightTransform;\n\t\n\tfloat3 n = normalize(mul(objectTransform, float4(input.normal, 0.0)).xyz);\n\tfloat3 p = mul(objectTransform, float4(input.position.xyz, 1.0)).xyz;\n\n\t// calculate window-space point size\n\tMeshVertexOut output;\n\toutput.position = mul(modelViewProjectionMatrix, float4(p + gParams.expand * n, 1.0));\n\n\toutput.worldNormal = n;\n\toutput.lightOffsetPosition = mul(lightTransform, float4(p + n * gParams.bias, 1.0));\n\toutput.viewLightDir = mul(modelViewMatrix, float4(gParams.lightDir, 0.0));\n\toutput.worldPosition = p;\n\tif (gParams.colorArray)\n\t\toutput.color = input.color;\n\telse\n\t\toutput.color = gParams.color;\n\toutput.texCoord = float2(input.texCoord.x, 1.0f - input.texCoord.y);\t// flip the y component of uv (glsl to hlsl conversion)\n\toutput.secondaryColor = gParams.secondaryColor;\n\toutput.viewPosition = mul(modelViewMatrix, float4(input.position.xyz, 1.0));\n\n\treturn output;\n}\n"
  },
  {
    "path": "demo/d3d/shaders/passThroughVS.hlsl",
    "content": "#include \"shaderCommon.h\"\n\ncbuffer constBuf : register(b0)\n{\n\tFluidShaderConst gParams;\n};\n\nPassthroughVertexOut passThroughVS(MeshVertexIn input)\n{\n\tPassthroughVertexOut output;\n\toutput.position = float4(input.position, 1.0f);\n\toutput.texCoord = input.texCoord;\n\treturn output;\n}\n"
  },
  {
    "path": "demo/d3d/shaders/pointGS.hlsl",
    "content": "#include \"shaderCommon.h\"\n\ncbuffer constBuf : register(b0)\n{\n\tPointShaderConst gParams;\n};\n\nstatic const float2 corners[4] =\n{\n\tfloat2(0.0, 1.0), float2(0.0, 0.0), float2(1.0, 1.0), float2(1.0, 0.0)\n};\n\n[maxvertexcount(4)]\nvoid pointGS(point PointVertexOut input[1], inout TriangleStream<PointGeoOut> triStream)\n{\n\tconst float4x4 modelViewMatrix = gParams.modelView;\n\tconst float pointRadius = gParams.pointRadius;\n\tconst float pointScale = gParams.pointScale;\n\tconst float4x4 lightTransform = gParams.lightTransform;\n\tconst float3 lightDir = gParams.lightDir.xyz;\n\tconst int mode = gParams.mode;\n\n\tconst float4 viewPosition = input[0].viewPosition;\n\tconst float density = input[0].density;\n\tconst unsigned int phase = input[0].phase;\n\tconst float4 modelPosition = input[0].modelPosition;\n\n\t//float spriteSize = (pointRadius / viewPos.z);\n\tconst float spriteSize = pointRadius * 2;\n\n\tPointGeoOut output;\n\tfor (int i = 0; i < 4; ++i)\n\t{\n\t\tconst float2 corner = corners[i];\n\t\tfloat4 eyePos = viewPosition;\t\t\t\t\t\t\t\t\t// start with point position\n\t\teyePos.xy += spriteSize * (corner - float2(0.5, 0.5));\t\t// add corner position\n\t\toutput.position = mul(gParams.projection, eyePos);\t\t\t// complete transformation\n\n\t\t// use corner as texCoord,  flip the y component of uv (glsl to hlsl conversion)\n\t\toutput.texCoord = float2(corner.x, 1.0f - corner.y);\n\t\toutput.lightOffsetPosition = mul(lightTransform, float4(modelPosition.xyz - lightDir * pointRadius * 2.0, 1.0));\n\t\toutput.viewLightDir = mul(modelViewMatrix, float4(lightDir, 0.0)).xyz;\n\n\t\tif (mode == 1)\n\t\t{\n\t\t\t// density visualization\n\t\t\tif (density < 0.0f)\n\t\t\t\toutput.reflectance = float4(lerp(float3(0.1, 0.1, 1.0), float3(0.1, 1.0, 1.0), -density), 0);\n\t\t\telse\n\t\t\t\toutput.reflectance = float4(lerp(float3(1.0, 1.0, 1.0), float3(0.1, 0.2, 1.0), density), 0);\n\t\t}\n\t\telse if (mode == 2)\n\t\t{\n\t\t\t//gl_PointSize *= clamp(inPosition.w * 0.25, 0.0f, 1.0);\n\t\t\tfloat tmp = clamp(modelPosition.w * 0.05, 0.0f, 1.0);\n\t\t\toutput.reflectance = float4(tmp, tmp, tmp, tmp);\n\t\t}\n\t\telse\n\t\t{\n\t\t\toutput.reflectance = float4(lerp(gParams.colors[phase % 8].xyz * 2.0, float3(1.0, 1.0, 1.0), 0.1), 0);\n\t\t}\n\n\t\toutput.modelPosition= modelPosition.xyz;\n\t\toutput.viewPosition = viewPosition.xyz;\n\n\t\ttriStream.Append(output);\n\t}\n}\n"
  },
  {
    "path": "demo/d3d/shaders/pointPS.hlsl",
    "content": "#include \"shaderCommon.h\"\n\ncbuffer constBuf : register(b0)\n{\n\tPointShaderConst gParams;\n};\n\nTexture2D<float> shadowTexture : register(t0);\t// shadow map\n\nSamplerComparisonState shadowSampler : register(s0);\t// texture sample used to sample depth from shadow texture in this sample\n\nfloat sqr(float x) { return x * x; }\n\nfloat shadowSample(float4 lightOffsetPosition)\n{\n\tfloat3 pos = float3(lightOffsetPosition.xyz / lightOffsetPosition.w);\n\t//float3 uvw = (pos.xyz * 0.5) + vec3(0.5);\n\tfloat3 uvw = (pos.xyz * float3(0.5, 0.5, 1.0)) + float3(0.5, 0.5, 0.0);\n\t\n\t// user clip\n\tif (uvw.x  < 0.0 || uvw.x > 1.0)\n\t\treturn 1.0;\n\tif (uvw.y < 0.0 || uvw.y > 1.0)\n\t\treturn 1.0;\n\n\tfloat s = 0.0;\n\tfloat radius = 0.002;\n\n\t// flip uv y-coordinate\n\tuvw.y = 1.0f - uvw.y;\n\n\t[unroll]\n\tfor (int i = 0; i < 8; i++)\n\t{\n\t\tfloat2 shadowTaps = gParams.shadowTaps[i].xy;\n\t\tshadowTaps.y = 1.0f - shadowTaps.y;\n\n\t\t//s += shadow2D(shadowTex, vec3(uvw.xy + shadowTaps[i] * radius, uvw.z)).r;\n\t\ts += shadowTexture.SampleCmp(shadowSampler, uvw.xy + shadowTaps * radius, uvw.z);\n\t}\n\ts /= 8.0;\n\n\treturn s;\n}\n\nfloat4 pointPS(PointGeoOut input) : SV_TARGET\n{\n\tconst float spotMin = gParams.spotMin;\n\tconst float spotMax = gParams.spotMax;\n\n\t// calculate normal from texture coordinates\n\tfloat3 normal;\n\tnormal.xy = input.texCoord * float2(2.0, -2.0) + float2(-1.0, 1.0);\n\tfloat mag = dot(normal.xy, normal.xy);\n\tif (mag > 1.0) \n\t{\n\t\tdiscard;   // kill pixels outside circle\n\t}\n\n\tnormal.z = sqrt(1.0 - mag);\n\n\tif (gParams.mode == 2)\n\t{\n\t\tfloat alpha = normal.z * input.reflectance.w;\n\t\treturn float4(input.reflectance.xyz * alpha, alpha);\n\t}\n\n\t// calculate lighting\n\tfloat shadow = shadowSample(input.lightOffsetPosition);\n\n\tfloat3 lPos = float3(input.lightOffsetPosition.xyz / input.lightOffsetPosition.w);\n\tfloat attenuation = max(smoothstep(spotMax, spotMin, dot(lPos.xy, lPos.xy)), 0.05);\n\n\tfloat3 diffuse = float3(0.9, 0.9, 0.9);\n\tfloat3 reflectance = input.reflectance.xyz;\n\n\tfloat3 lo = diffuse * reflectance * max(0.0, sqr(-dot(input.viewLightDir, normal) * 0.5 + 0.5)) * max(0.2, shadow) * attenuation;\n\n\tconst float tmp = 1.0 / 2.2;\n\treturn float4(pow(abs(lo), float3(tmp, tmp, tmp)), 1.0);\n}\n"
  },
  {
    "path": "demo/d3d/shaders/pointShadowPS.hlsl",
    "content": "#include \"shaderCommon.h\"\n\ncbuffer constBuf : register(b0)\n{\n\tPointShaderConst gParams;\n};\n\nvoid pointShadowPS(PointGeoOut input) \n{\n\t// calculate normal from texture coordinates\n\tfloat2 normal = input.texCoord.xy - float2(0.5, 0.5);\n\tfloat mag = dot(normal.xy, normal.xy);\n\tif (mag > 0.5 * 0.5) \n\t{\n\t\tdiscard;   // kill pixels outside circle\n\t}\n}\n"
  },
  {
    "path": "demo/d3d/shaders/pointThicknessGS.hlsl",
    "content": "#include \"shaderCommon.h\"\n\ncbuffer constBuf : register(b0)\n{\n\tFluidShaderConst gParams;\n};\n\nstatic const float2 corners[4] =\n{\n\tfloat2(0.0, 1.0), float2(0.0, 0.0), float2(1.0, 1.0), float2(1.0, 0.0)\n};\n\n[maxvertexcount(4)]\nvoid pointThicknessGS(point FluidVertexOut input[1], inout TriangleStream<FluidGeoOut> triStream)\n{\n\tfloat4 gl_Position;\n\tfloat4 gl_TexCoord[4];\n\n\t{\n\t\t[unroll]\n\t\tfor (int i = 0; i < 4; i++)\n\t\t\tgl_TexCoord[i] = float4(0.0f, 0.0f, 0.0f, 0.0f);\n\t}\n\n\tconst float4x4 gl_ModelViewMatrix = gParams.modelView;\n\tconst float pointRadius = gParams.pointRadius;\n\t//const float pointScale = gParams.pointScale;\n\n\tfloat4 viewPos = input[0].position;\n\tfloat4 gl_Vertex = input[0].bounds;\t// retrieve gl_Vertex from bounds\n\n\t//float spriteSize = pointScale * (pointRadius / gl_Position.w);\n\tfloat spriteSize = pointRadius * 2;\n\n\tFluidGeoOut output;\n\n\tfor (int i = 0; i < 4; ++i)\n\t{\n\n\t\tfloat4 eyePos = viewPos;\t\t\t\t\t\t\t\t\t// start with point position\n\t\teyePos.xy += spriteSize * (corners[i] - float2(0.5, 0.5));\t// add corner position\n\t\tgl_Position = mul(gParams.projection, eyePos);\t\t\t\t// complete transformation\n\n\t\tgl_TexCoord[0].xy = corners[i].xy;\t\t\t\t\t\t\t// use corner as texCoord\n\t\tgl_TexCoord[0].y = 1.0f - gl_TexCoord[0].y;\t\t\t\t\t// flip the y component of uv (glsl to hlsl conversion)\n\t\t//gl_TexCoord[1] = mul(gl_ModelViewMatrix, float4(gl_Vertex.xyz, 1.0));\n\n\t\toutput.position = gl_Position;\n\t\t//[unroll]\n\t\t//for (int j = 0; j < 4; j++)\n\t\t//\toutput.texCoord[j] = gl_TexCoord[j];\n\t\toutput.invQ0 = gl_TexCoord[0];\n\t\toutput.invQ1 = gl_TexCoord[1];\n\t\toutput.invQ2 = gl_TexCoord[2];\n\t\toutput.invQ3 = gl_TexCoord[3];\n\n\t\ttriStream.Append(output);\n\t}\n}\n"
  },
  {
    "path": "demo/d3d/shaders/pointThicknessPS.hlsl",
    "content": "#include \"shaderCommon.h\"\n\ncbuffer constBuf : register(b0)\n{\n\tFluidShaderConst gParams;\n};\n\nfloat4 pointThicknessPS(FluidGeoOut input) : SV_TARGET\n{\n\tfloat4 gl_FragColor;\n\tfloat4 gl_TexCoord[1];\n\n\t//[unroll]\n\t//for (int i = 0; i < 2; i++)\n\t//\tgl_TexCoord[i] = input.texCoord[i];\n\tgl_TexCoord[0] = input.invQ0;\n\n\t// calculate normal from texture coordinates\n\tfloat3 normal;\n\tnormal.xy = gl_TexCoord[0].xy * float2(2.0, -2.0) + float2(-1.0, 1.0);\n\tfloat mag = dot(normal.xy, normal.xy);\n\tif (mag > 1.0) discard;   // kill pixels outside circle\n\tnormal.z = sqrt(1.0 - mag);\n\n\tfloat tmp = normal.z * 0.005;\n\tgl_FragColor = float4(tmp, tmp, tmp, tmp);\n\n\treturn gl_FragColor;\n}\n"
  },
  {
    "path": "demo/d3d/shaders/pointThicknessVS.hlsl",
    "content": "#include \"shaderCommon.h\"\n\n#pragma warning (disable : 3578)\n\ncbuffer constBuf : register(b0)\n{\n\tFluidShaderConst gParams;\n};\n\nFluidVertexOut pointThicknessVS(FluidVertexIn input, uint instance : SV_VertexID)\n{\n\tconst float4 gl_Vertex = input.position;\n\tconst float4x4 gl_ModelViewMatrix = gParams.modelView;\n\n\t// calculate window-space point size\n\tfloat4 viewPos = mul(gl_ModelViewMatrix, float4(gl_Vertex.xyz, 1.0));\n\n\tFluidVertexOut output;\n\toutput.position = viewPos;\n\toutput.bounds = gl_Vertex;\t// store gl_Vertex in bounds\n\n\treturn output;\n}\n"
  },
  {
    "path": "demo/d3d/shaders/pointVS.hlsl",
    "content": "#include \"shaderCommon.h\"\n\ncbuffer constBuf : register(b0)\n{\n\tPointShaderConst gParams;\n};\n\nPointVertexOut pointVS(PointVertexIn input, uint instance : SV_VertexID)\n{\n\tconst float4 modelPosition = input.position;\n\tconst float4x4 modelViewMatrix = gParams.modelView;\n\n\tfloat density = input.density;\n\tint phase = input.phase;\n\n\t// calculate window-space point size\n\tfloat4 viewPos = mul(modelViewMatrix, float4(modelPosition.xyz, 1.0));\n\n\tPointVertexOut output;\n\toutput.viewPosition = viewPos;\n\toutput.density = density;\n\toutput.phase = phase;\n\toutput.modelPosition = modelPosition;\n\treturn output;\n}\n"
  },
  {
    "path": "demo/d3d/shaders/shaderCommon.h",
    "content": "struct MeshShaderConst\n{\n\tfloat4x4 modelViewProjection;\n\tfloat4x4 modelView;\n\tfloat4x4 objectTransform;\n\tfloat4x4 lightTransform;\n\n\tfloat4 clipPlane;\n\tfloat4 fogColor;\n\tfloat4 color;\n\tfloat4 secondaryColor;\n\n\tfloat4 shadowTaps[12];\n\n\tfloat3 lightPos;\n\tfloat _pad0;\n\tfloat3 lightDir;\n\tfloat _pad1;\n\n\tfloat bias;\n\tfloat expand;\n\tfloat spotMin;\n\tfloat spotMax;\n\n\tint grid;\n\tint tex;\n\tint colorArray;\n\tint increaseGfxLoadForAsyncComputeTesting;\n};\n\nstruct DebugRenderConst\n{\n\tfloat4x4 modelView;\n\tfloat4x4 projection;\n};\n\n\n#ifndef EXCLUDE_SHADER_STRUCTS\nstruct MeshVertexIn\n{\n\tfloat3 position : POSITION;\n\tfloat3 normal : NORMAL;\n\tfloat2 texCoord : TEXCOORD;\n\tfloat4 color : COLOR;\n};\n\nstruct MeshVertexOut\n{\n\tfloat4 position : SV_POSITION;\n\t//float3 normal : NORMAL;\n\t//float4 color : COLOR;\n\t//float clipDistance[1] : CLIP_DISTANCE;\n\n\tfloat3 worldNormal: TEXCOORD0;\t\t\t\t\t\t///< Normal in world space\n\tfloat4 lightOffsetPosition: TEXCOORD1;\t\t\t\t///< Position in light space (offset slightly)\n\tfloat3 viewLightDir: TEXCOORD2;\t\t\t\t\t\t///< Light direction in view space\n\tfloat3 worldPosition: TEXCOORD3;\t\t\t\t\t///< Position in worldspace\n\tfloat4 color: TEXCOORD4;\t\t\t\t\t\t\t///< Color\n\tfloat2 texCoord: TEXCOORD5;\t\t\t\t\t\t\t///< Tex coords\n\tfloat4 secondaryColor: TEXCOORD6;\t\t\t\t\t///< Secondary color\n\tfloat4 viewPosition: TEXCOORD7;\t\t\t\t\t\t///< Position in view space\n};\n#endif\n\nstruct PointShaderConst\n{\n\tfloat4x4 modelView;\n\tfloat4x4 projection;\n\tfloat4x4 lightTransform;\n\n\tfloat4 colors[8];\n\tfloat4 shadowTaps[12];\n\n\tfloat3 lightPos;\n\tfloat _pad0;\n\tfloat3 lightDir;\n\tfloat _pad1;\n\n\tfloat pointRadius;  // point size in world space\n\tfloat pointScale;   // scale to calculate size in pixels\n\tfloat spotMin;\n\tfloat spotMax;\n\n\tint mode;\n\tint _pad2[3];\n};\n\n#ifndef EXCLUDE_SHADER_STRUCTS\nstruct PointVertexIn\n{\n\tfloat4 position : POSITION;\n\tfloat density : DENSITY;\n\tint phase : PHASE;\n};\n\nstruct PointVertexOut\n{\n\tfloat4 viewPosition : POSITION;\n\tfloat density : DENSITY;\n\tint phase : PHASE;\n\tfloat4 modelPosition : VERTEX;\n};\n\nstruct PointGeoOut\n{\n\tfloat4 position : SV_POSITION;\n\t\n\tfloat2 texCoord: TEXCOORD0;\n\tfloat4 lightOffsetPosition: TEXCOORD1;\n\tfloat3 viewLightDir: TEXCOORD2;\t\t\t\t//< Light direction in view space \n\tfloat4 reflectance: TEXCOORD3;\n\tfloat3 modelPosition: TEXCOORD4;\t\t\t///< Model space position\n\tfloat3 viewPosition : TEXCOORD5;\t\t\t///< View space position\n};\n\n#endif\n\nstruct FluidShaderConst\n{\n\tfloat4x4 modelViewProjection;\n\tfloat4x4 modelView;\n\tfloat4x4 projection;\t\t\t// ogl projection\n\tfloat4x4 inverseModelView;\n\tfloat4x4 inverseProjection;\t\t// ogl inverse projection\n\n\tfloat4 invTexScale;\n\n\tfloat3 invViewport;\n\tfloat _pad0;\n\t//float3 invProjection;\n\t//float _pad1;\n\n\tfloat blurRadiusWorld;\n\tfloat blurScale;\n\tfloat blurFalloff;\n\tint debug;\n\n\tfloat3 lightPos;\n\tfloat _pad1;\n\tfloat3 lightDir;\n\tfloat _pad2;\n\tfloat4x4 lightTransform;\n\n\tfloat4 color;\n\tfloat4 clipPosToEye;\n\n\tfloat spotMin;\n\tfloat spotMax;\n\tfloat ior;\n\t//float _pad3;\n\tfloat pointRadius;  // point size in world space\n\n\tfloat4 shadowTaps[12];\n};\n\n#ifndef EXCLUDE_SHADER_STRUCTS\nstruct FluidVertexIn\n{\n\tfloat4 position : POSITION;\n\tfloat4 q1 : U;\n\tfloat4 q2 : V;\n\tfloat4 q3 : W;\n};\n\nstruct FluidVertexOut\n{\n\tfloat4 position : POSITION;\n\tfloat4 bounds: TEXCOORD0;\t\t\t\t// xmin, xmax, ymin, ymax\n\tfloat4 invQ0: TEXCOORD1;\n\tfloat4 invQ1: TEXCOORD2;\n\tfloat4 invQ2: TEXCOORD3;\n\tfloat4 invQ3: TEXCOORD4;\n\tfloat4 ndcPos: TEXCOORD5;\t\t\t\t/// Position in normalized device coordinates (ie /w)\n};\n\nstruct FluidGeoOut\n{\n\tfloat4 position : SV_POSITION;\n\tfloat4 invQ0 : TEXCOORD0;\n\tfloat4 invQ1 : TEXCOORD1;\n\tfloat4 invQ2 : TEXCOORD2;\n\tfloat4 invQ3 : TEXCOORD3;\n};\n\nstruct PassthroughVertexOut\n{\n\tfloat4 position : SV_POSITION;\n\tfloat2 texCoord : TEXCOORD;\n};\n#endif\n\n\nstruct DiffuseShaderConst\n{\n\tfloat3 lightPos; float pad0;\n\tfloat3 lightDir; float pad1;\n\tfloat4x4 lightTransform;\n\tfloat4 color;\n\n\tfloat4x4 modelView;\n\tfloat4x4 modelViewProjection;\n\tfloat4x4 projection;\n\n\tfloat4 shadowTaps[12];\n\n\tfloat diffusion;\n\tfloat diffuseRadius;  // point size in world space\n\tfloat diffuseScale;   // scale to calculate size in pixels\n\t\n\tfloat spotMin;\n\tfloat spotMax;\n\n\tfloat motionBlurScale;\n\n\tfloat pad3;\n\tfloat pad4;\n\n};\n\n#ifndef EXCLUDE_SHADER_STRUCTS\n\nstruct DiffuseVertexIn\n{\n\tfloat4 position : POSITION; // lifetime in w\n\tfloat4 velocity : VELOCITY;\t\t// holding velocity in u\n};\n\nstruct DiffuseVertexOut\n{\n\tfloat4 worldPos : POSITION;\t// lifetime in w\n\tfloat4 ndcPos : NCDPOS;\n\tfloat4 viewPos : VIEWPOS;\n\tfloat4 viewVel : VIEWVEL;\t\t\n\t\n\tfloat4 color : COLOR;\n};\n\nstruct DiffuseGeometryOut\n{\n\tfloat4 clipPos : SV_POSITION;\n\n\tfloat4 worldPos : POSITION;\n\n\tfloat4 viewPos : VIEWPOS;\n\tfloat4 viewVel : VIEWVEL;\t\t\n\t\n\tfloat4 lightDir : LIGHTDIR;\n\tfloat4 color : COLOR;\n\n\tfloat2 uv : UV;\n\n};\n\n#endif\n\n"
  },
  {
    "path": "demo/d3d11/appD3D11Ctx.cpp",
    "content": "/*\n * Copyright (c) 2014-2017, NVIDIA CORPORATION.  All rights reserved.\n *\n * NVIDIA CORPORATION and its licensors retain all intellectual property\n * and proprietary rights in and to this software, related documentation\n * and any modifications thereto.  Any use, reproduction, disclosure or\n * distribution of this software and related documentation without an express\n * license agreement from NVIDIA CORPORATION is strictly prohibited.\n */\n\n//direct3d headers\n#include <d3d11.h>\n#include <dxgi.h>\n\n// include the Direct3D Library file\n#pragma comment (lib, \"d3d11.lib\")\n#pragma comment (lib, \"DXGI.lib\")\n\n#include \"appD3D11Ctx.h\"\n\n#include <stdio.h>\n#include <math.h>\n\n#include <SDL.h>\n#include <SDL_video.h>\n#include <SDL_syswm.h>\n\nnamespace\n{\n\t// COM object release utilities\n\ttemplate <class T>\n\tvoid inline COMRelease(T& t)\n\t{\n\t\tif (t) t->Release();\n\t\tt = nullptr;\n\t}\n\n\ttemplate <class T>\n\tvoid inline COMRelease(T& t, UINT arraySize)\n\t{\n\t\tfor (UINT i = 0; i < arraySize; i++)\n\t\t{\n\t\t\tif (t[i]) t[i]->Release();\n\t\t\tt[i] = nullptr;\n\t\t}\n\t}\n}\n\nAppGraphProfilerD3D11* appGraphCreateProfilerD3D11(AppGraphCtx* ctx);\nvoid appGraphProfilerD3D11FrameBegin(AppGraphProfilerD3D11* profiler);\nvoid appGraphProfilerD3D11FrameEnd(AppGraphProfilerD3D11* profiler);\nvoid appGraphProfilerD3D11Enable(AppGraphProfilerD3D11* profiler, bool enabled);\nvoid appGraphProfilerD3D11Begin(AppGraphProfilerD3D11* profiler, const char* label);\nvoid appGraphProfilerD3D11End(AppGraphProfilerD3D11* profiler, const char* label);\nbool appGraphProfilerD3D11Get(AppGraphProfilerD3D11* profiler, const char** plabel, float* cpuTime, float* gpuTime, int index);\nvoid appGraphReleaseProfiler(AppGraphProfilerD3D11* profiler);\n\nAppGraphCtxD3D11::AppGraphCtxD3D11()\n{\n\tm_profiler = appGraphCreateProfilerD3D11(cast_from_AppGraphCtxD3D11(this));\n}\n\nAppGraphCtxD3D11::~AppGraphCtxD3D11()\n{\n\tAppGraphCtxReleaseRenderTargetD3D11(cast_from_AppGraphCtxD3D11(this));\n\n\tCOMRelease(m_device);\n\tCOMRelease(m_deviceContext);\n\tCOMRelease(m_depthState);\n\n\tappGraphReleaseProfiler(m_profiler);\n\tm_profiler = nullptr;\n}\n\nAppGraphCtx* AppGraphCtxCreateD3D11(int deviceID)\n{\n\tAppGraphCtxD3D11* context = new AppGraphCtxD3D11;\n\n\tHRESULT hr = S_OK;\n\n\t// enumerate devices\n\tIDXGIFactory1* pFactory = NULL;\n\tCreateDXGIFactory1(IID_PPV_ARGS(&pFactory));\n\tIDXGIAdapter1* pAdapterTemp = NULL;\n\tIDXGIAdapter1* pAdapter = NULL;\n\tDXGI_ADAPTER_DESC1 adapterDesc;\n\tint adapterIdx = 0;\n\twhile (S_OK == pFactory->EnumAdapters1(adapterIdx, &pAdapterTemp))\n\t{\n\t\tpAdapterTemp->GetDesc1(&adapterDesc);\n\n\t\tcontext->m_dedicatedVideoMemory = (size_t)adapterDesc.DedicatedVideoMemory;\n\n\t\tif (deviceID == adapterIdx)\n\t\t{\n\t\t\tpAdapter = pAdapterTemp;\n\t\t\tbreak;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tpAdapterTemp->Release();\n\t\t}\n\t\tadapterIdx++;\n\t}\n\n\tD3D_DRIVER_TYPE driverTypes[] =\n\t{\n\t\tD3D_DRIVER_TYPE_UNKNOWN,\n\t\tD3D_DRIVER_TYPE_HARDWARE,\n\t\tD3D_DRIVER_TYPE_WARP,\n\t\tD3D_DRIVER_TYPE_REFERENCE,\n\t};\n\tUINT numDriverTypes = 4;\n\n\tD3D_FEATURE_LEVEL featureLevels[] =\n\t{\n\t\tD3D_FEATURE_LEVEL_11_1,\n\t\tD3D_FEATURE_LEVEL_11_0,\n\t\tD3D_FEATURE_LEVEL_10_1,\n\t\tD3D_FEATURE_LEVEL_10_0,\n\t};\n\tUINT numFeatureLevels = 4;\n\n\tUINT createDeviceFlags = 0;\n#ifdef _DEBUG\n\tcreateDeviceFlags |= D3D11_CREATE_DEVICE_DEBUG;\n#endif\n\n\tfor (UINT driverTypeIndex = 0; driverTypeIndex < numDriverTypes; driverTypeIndex++)\n\t{\n\t\tD3D_FEATURE_LEVEL featureLevel;\n\t\tD3D_DRIVER_TYPE driverType = driverTypes[driverTypeIndex];\n\t\thr = D3D11CreateDevice(pAdapter, driverType, nullptr, createDeviceFlags, featureLevels, numFeatureLevels,\n\t\t\tD3D11_SDK_VERSION, &context->m_device, &featureLevel, &context->m_deviceContext);\n\t\tif (SUCCEEDED(hr))\n\t\t{\n\t\t\tbreak;\n\t\t}\n\t}\n\tif (FAILED(hr))\n\t{\n\t\tdelete context;\n\t\treturn nullptr;\n\t}\n\n\t// cleanup adapter and factory\n\tCOMRelease(pAdapter);\n\tCOMRelease(pFactory);\n\n\t// create depth state\n\tD3D11_DEPTH_STENCIL_DESC depthStateDesc = {};\n\tdepthStateDesc.DepthEnable = TRUE;\n\tdepthStateDesc.DepthWriteMask = D3D11_DEPTH_WRITE_MASK_ALL;\n\tdepthStateDesc.DepthFunc = D3D11_COMPARISON_LESS_EQUAL;\n\n\tif (hr = context->m_device->CreateDepthStencilState(&depthStateDesc, &context->m_depthState))\n\t{\n\t\tdelete context;\n\t\treturn nullptr;\n\t}\n\n\treturn cast_from_AppGraphCtxD3D11(context);\n}\n\nvoid AppGraphCtxInitRenderTargetD3D11(AppGraphCtx* context, SDL_Window* window, bool fullscreen, int numMSAASamples);\n\nbool AppGraphCtxUpdateSizeD3D11(AppGraphCtx* contextIn, SDL_Window* window, bool fullscreen, int numMSAASamples)\n{\n\tauto context = cast_to_AppGraphCtxD3D11(contextIn);\n\n\t// TODO: fix iflip fullscreen support\n\tfullscreen = false;\n\n\tbool sizeChanged = false;\n\tint width, height;\n\tSDL_GetWindowSize(window, &width, &height);\n\n\t// sync with window\n\t{\n\t\tHWND hWnd = nullptr;\n\t\t// get Windows handle to this SDL window\n\t\tSDL_SysWMinfo winInfo;\n\t\tSDL_VERSION(&winInfo.version);\n\t\tif (SDL_GetWindowWMInfo(window, &winInfo))\n\t\t{\n\t\t\tif (winInfo.subsystem == SDL_SYSWM_WINDOWS)\n\t\t\t{\n\t\t\t\thWnd = winInfo.info.win.window;\n\t\t\t}\n\t\t}\n\t\tcontext->m_hWnd = hWnd;\n\t\tcontext->m_fullscreen = fullscreen;\n\n\t\tHRESULT hr = S_OK;\n\t\t\n\t\tif (context->m_winW != width || context->m_winH != height)\n\t\t{\n\t\t\tcontext->m_winW = width;\n\t\t\tcontext->m_winH = height;\n\t\t\tsizeChanged = true;\n\t\t\tcontext->m_valid = (context->m_winW != 0 && context->m_winH != 0);\n\t\t}\n\t}\n\n\tif (sizeChanged)\n\t{\n\t\tconst bool wasValid = context->m_valid;\n\t\t// Release\n\t\tAppGraphCtxReleaseRenderTargetD3D11(cast_from_AppGraphCtxD3D11(context));\n\t\t// If was valid recreate it\n\t\tif (wasValid)\n\t\t{\n\t\t\t// Reset the size (the release sets it, to 0,0)\n\t\t\tcontext->m_winW = width;\n\t\t\tcontext->m_winH = height;\n\t\t\t// \n\t\t\tAppGraphCtxInitRenderTargetD3D11(cast_from_AppGraphCtxD3D11(context), window, fullscreen, numMSAASamples);\n\t\t}\n\t}\n\n\treturn context->m_valid;\n}\n\nvoid AppGraphCtxInitRenderTargetD3D11(AppGraphCtx* contextIn, SDL_Window* window, bool fullscreen, int numMSAASamples)\n{\n\tauto context = cast_to_AppGraphCtxD3D11(contextIn);\n\n\tHWND hWnd = nullptr;\n\t// get Windows handle to this SDL window\n\tSDL_SysWMinfo winInfo;\n\tSDL_VERSION(&winInfo.version);\n\tif (SDL_GetWindowWMInfo(window, &winInfo))\n\t{\n\t\tif (winInfo.subsystem == SDL_SYSWM_WINDOWS)\n\t\t{\n\t\t\thWnd = winInfo.info.win.window;\n\t\t}\n\t}\n\tcontext->m_hWnd = hWnd;\n\tcontext->m_fullscreen = fullscreen;\n\n\t// Desired size\n\tint width, height;\n\tSDL_GetWindowSize(window, &width, &height);\n\n\tHRESULT hr = S_OK;\n\n\t// enumerate devices\n\tIDXGIFactory1* pFactory = NULL;\n\tCreateDXGIFactory1(IID_PPV_ARGS(&pFactory));\n\n\t// create the swap chain\n\tfor (int i = 0; i < 2; i++)\n\t{\n\t\tDXGI_SWAP_CHAIN_DESC desc;\n\t\tZeroMemory(&desc, sizeof(desc));\n\t\tdesc.BufferCount = 1;\n\t\tdesc.BufferDesc.Width = width;\n\t\tdesc.BufferDesc.Height = height;\n\t\tdesc.BufferDesc.Format = DXGI_FORMAT_R8G8B8A8_UNORM;\n\t\tdesc.BufferDesc.RefreshRate.Numerator = 0;\n\t\tdesc.BufferDesc.RefreshRate.Denominator = 0;\n\t\tdesc.BufferUsage = DXGI_USAGE_RENDER_TARGET_OUTPUT;\n\t\tdesc.SwapEffect = DXGI_SWAP_EFFECT_DISCARD; // DXGI_SWAP_EFFECT_FLIP_DISCARD;\n\t\tdesc.OutputWindow = context->m_hWnd;\n\t\tdesc.SampleDesc.Count = numMSAASamples;\n\t\tdesc.SampleDesc.Quality = 0;\n\t\tdesc.Windowed = TRUE; // m_fullscreen ? FALSE : TRUE;\n\t\tdesc.Flags = 0u;\n\n\t\tif (hr = pFactory->CreateSwapChain(context->m_device, &desc, (IDXGISwapChain**)&context->m_swapChain))\n\t\t{\n\t\t\tCOMRelease(context->m_swapChain);\n\t\t\tcontext->m_fullscreen = false;\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (!context->m_fullscreen)\n\t\t{\n\n\t\t}\n\t\telse\n\t\t{\n\t\t\thr = context->m_swapChain->SetFullscreenState(true, nullptr);\n\t\t\tif (hr != S_OK)\n\t\t\t{\n\t\t\t\tCOMRelease(context->m_swapChain);\n\t\t\t\tcontext->m_fullscreen = false;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tDXGI_SWAP_CHAIN_DESC desc = {};\n\t\t\tcontext->m_swapChain->GetDesc(&desc);\n\t\t\tcontext->m_swapChain->ResizeBuffers(1, context->m_winW, context->m_winH, desc.BufferDesc.Format, desc.Flags);\n\t\t}\n\t\tbreak;\n\t}\n\n\t// configure scissor and viewport\n\t{\n\t\tcontext->m_viewport.Width = float(width);\n\t\tcontext->m_viewport.Height = float(height);\n\t\tcontext->m_viewport.MaxDepth = 1.f;\n\t}\n\n\tCOMRelease(pFactory);\n\n\t// Create a render target view\n\tcontext->m_backBuffer = NULL;\n\thr = context->m_swapChain->GetBuffer(0, __uuidof(ID3D11Texture2D), (LPVOID*)&context->m_backBuffer);\n\tif (FAILED(hr))\n\t{\n\t\treturn;\n\t}\n\n\thr = context->m_device->CreateRenderTargetView(context->m_backBuffer, NULL, &context->m_rtv);\n\tif (FAILED(hr))\n\t{\n\t\treturn;\n\t}\n\n\tcontext->m_deviceContext->OMSetRenderTargets(1, &context->m_rtv, NULL);\n\n\t// viewport\n\tcontext->m_deviceContext->RSSetViewports(1, &context->m_viewport);\n\n\t{\n\t\tD3D11_TEXTURE2D_DESC texDesc = {};\n\t\ttexDesc.Width = width;\n\t\ttexDesc.Height = height;\n\t\ttexDesc.MipLevels = 1;\n\t\ttexDesc.ArraySize = 1;\n\t\ttexDesc.Format = DXGI_FORMAT_R32_TYPELESS; // DXGI_FORMAT_R24G8_TYPELESS\n\t\ttexDesc.SampleDesc.Count = numMSAASamples;\n\t\ttexDesc.SampleDesc.Quality = 0u;\n\t\ttexDesc.Usage = D3D11_USAGE_DEFAULT;\n\t\ttexDesc.BindFlags = D3D11_BIND_DEPTH_STENCIL | D3D11_BIND_SHADER_RESOURCE;\n\t\ttexDesc.CPUAccessFlags = 0;\n\t\ttexDesc.MiscFlags = 0;\n\n\t\tif (hr = context->m_device->CreateTexture2D(&texDesc, nullptr, &context->m_depthStencil))\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tD3D11_DEPTH_STENCIL_VIEW_DESC viewDesc = {};\n\t\tviewDesc.Format = DXGI_FORMAT_D32_FLOAT;\n\t\tviewDesc.ViewDimension = (numMSAASamples > 1) ? D3D11_DSV_DIMENSION_TEXTURE2DMS : D3D11_DSV_DIMENSION_TEXTURE2D;\n\t\tviewDesc.Flags = 0u;\n\t\tviewDesc.Texture2D.MipSlice = 0;\n\n\t\tif (hr = context->m_device->CreateDepthStencilView(context->m_depthStencil, &viewDesc, &context->m_dsv))\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tD3D11_SHADER_RESOURCE_VIEW_DESC srvDesc = {};\n\t\tsrvDesc.Format = DXGI_FORMAT_R32_FLOAT;\n\t\tsrvDesc.ViewDimension = (numMSAASamples > 1) ? D3D11_SRV_DIMENSION_TEXTURE2DMS : D3D11_SRV_DIMENSION_TEXTURE2D;\n\t\tsrvDesc.Texture2D.MipLevels = 1;\n\t\tsrvDesc.Texture2D.MostDetailedMip = 0;\n\n\t\tif (hr = context->m_device->CreateShaderResourceView(context->m_depthStencil, &srvDesc, &context->m_depthSRV))\n\t\t{\n\t\t\treturn;\n\t\t}\n\t}\n}\n\nvoid AppGraphCtxReleaseRenderTargetD3D11(AppGraphCtx* contextIn)\n{\n\tauto context = cast_to_AppGraphCtxD3D11(contextIn);\n\n\tif (context->m_swapChain == nullptr)\n\t{\n\t\treturn;\n\t}\n\n\tBOOL bFullscreen = FALSE;\n\tcontext->m_swapChain->GetFullscreenState(&bFullscreen, nullptr);\n\tif (bFullscreen == TRUE) context->m_swapChain->SetFullscreenState(FALSE, nullptr);\n\n\tCOMRelease(context->m_backBuffer);\n\tCOMRelease(context->m_swapChain);\n\tCOMRelease(context->m_rtv);\n\tCOMRelease(context->m_depthStencil);\n\tCOMRelease(context->m_dsv);\n\tCOMRelease(context->m_depthSRV);\n\n\tcontext->m_valid = false;\n\tcontext->m_winW = 0u;\n\tcontext->m_winH = 0u;\n}\n\nvoid AppGraphCtxReleaseD3D11(AppGraphCtx* context)\n{\n\tif (context == nullptr) return;\n\n\tdelete cast_to_AppGraphCtxD3D11(context);\n}\n\nvoid AppGraphCtxFrameStartD3D11(AppGraphCtx* contextIn, AppGraphColor clearColor)\n{\n\tauto context = cast_to_AppGraphCtxD3D11(contextIn);\n\n\tappGraphProfilerD3D11FrameBegin(context->m_profiler);\n\n\tcontext->m_deviceContext->RSSetViewports(1, &context->m_viewport);\n\tcontext->m_deviceContext->RSSetScissorRects(0, nullptr);\n\n\tcontext->m_deviceContext->OMSetRenderTargets(1, &context->m_rtv, context->m_dsv);\n\n\tcontext->m_deviceContext->ClearRenderTargetView(context->m_rtv, &clearColor.r);\n\tcontext->m_deviceContext->ClearDepthStencilView(context->m_dsv, D3D11_CLEAR_DEPTH, 1.f, 0u);\n\n\tcontext->m_deviceContext->OMSetDepthStencilState(context->m_depthState, 0u);\n}\n\nvoid AppGraphCtxFramePresentD3D11(AppGraphCtx* contextIn, bool fullsync)\n{\n\tauto context = cast_to_AppGraphCtxD3D11(contextIn);\n\n\tcontext->m_swapChain->Present(fullsync, 0);\n\n\tappGraphProfilerD3D11FrameEnd(context->m_profiler);\n}\n\nvoid AppGraphCtxWaitForFramesD3D11(AppGraphCtx* context, unsigned int maxFramesInFlight)\n{\n\t// TODO: Implement\n}\n\nvoid AppGraphCtxProfileEnableD3D11(AppGraphCtx* contextIn, bool enabled)\n{\n\tauto context = cast_to_AppGraphCtxD3D11(contextIn);\n\tappGraphProfilerD3D11Enable(context->m_profiler, enabled);\n}\n\nvoid AppGraphCtxProfileBeginD3D11(AppGraphCtx* contextIn, const char* label)\n{\n\tauto context = cast_to_AppGraphCtxD3D11(contextIn);\n\tappGraphProfilerD3D11Begin(context->m_profiler, label);\n}\n\nvoid AppGraphCtxProfileEndD3D11(AppGraphCtx* contextIn, const char* label)\n{\n\tauto context = cast_to_AppGraphCtxD3D11(contextIn);\n\tappGraphProfilerD3D11End(context->m_profiler, label);\n}\n\nbool AppGraphCtxProfileGetD3D11(AppGraphCtx* contextIn, const char** plabel, float* cpuTime, float* gpuTime, int index)\n{\n\tauto context = cast_to_AppGraphCtxD3D11(contextIn);\n\treturn appGraphProfilerD3D11Get(context->m_profiler, plabel, cpuTime, gpuTime, index);\n}\n\n// ******************************* Profiler *********************************\n\nnamespace\n{\n\tstruct TimerCPU\n\t{\n\t\tLARGE_INTEGER oldCount;\n\t\tLARGE_INTEGER count;\n\t\tLARGE_INTEGER freq;\n\t\tTimerCPU()\n\t\t{\n\t\t\tQueryPerformanceCounter(&count);\n\t\t\tQueryPerformanceFrequency(&freq);\n\t\t\toldCount = count;\n\t\t}\n\t\tdouble getDeltaTime()\n\t\t{\n\t\t\tQueryPerformanceCounter(&count);\n\t\t\tdouble dt = double(count.QuadPart - oldCount.QuadPart) / double(freq.QuadPart);\n\t\t\toldCount = count;\n\t\t\treturn dt;\n\t\t}\n\t};\n\n\tstruct TimerGPU\n\t{\n\t\tID3D11Query* m_begin = nullptr;\n\t\tID3D11Query* m_end = nullptr;\n\n\t\tTimerGPU() {}\n\t\t~TimerGPU()\n\t\t{\n\t\t\tCOMRelease(m_begin);\n\t\t\tCOMRelease(m_end);\n\t\t}\n\t};\n\n\tstruct Timer\n\t{\n\t\tTimerCPU m_cpu;\n\t\tTimerGPU m_gpu;\n\n\t\tconst char* m_label = nullptr;\n\t\tfloat m_cpuTime = 0.f;\n\t\tfloat m_gpuTime = 0.f;\n\n\t\tTimer() {}\n\t\t~Timer() {}\n\t};\n\n\tstruct TimerValue\n\t{\n\t\tconst char* m_label = nullptr;\n\t\tfloat m_cpuTime = 0.f;\n\t\tfloat m_gpuTime = 0.f;\n\n\t\tstruct Stat\n\t\t{\n\t\t\tfloat m_time = 0.f;\n\t\t\tfloat m_maxTime = 0.f;\n\t\t\tfloat m_maxTimeAge = 0.f;\n\n\t\t\tfloat m_smoothTime = 0.f;\n\t\t\tfloat m_smoothTimeSum = 0.f;\n\t\t\tfloat m_smoothTimeCount = 0.f;\n\n\t\t\tStat() {}\n\t\t\tvoid push(float time)\n\t\t\t{\n\t\t\t\tm_time = time;\n\n\t\t\t\tif (m_time > m_maxTime)\n\t\t\t\t{\n\t\t\t\t\tm_maxTime = m_time;\n\t\t\t\t\tm_maxTimeAge = 0.f;\n\t\t\t\t}\n\n\t\t\t\tif (fabsf(m_time - m_maxTime) < 0.25f * m_maxTime)\n\t\t\t\t{\n\t\t\t\t\tm_smoothTimeSum += m_time;\n\t\t\t\t\tm_smoothTimeCount += 1.f;\n\t\t\t\t\tm_smoothTimeSum *= 0.98f;\n\t\t\t\t\tm_smoothTimeCount *= 0.98f;\n\t\t\t\t\tm_smoothTime = m_smoothTimeSum / m_smoothTimeCount;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfloat pull(float frameTime)\n\t\t\t{\n\t\t\t\tm_maxTimeAge += frameTime;\n\n\t\t\t\tif (m_maxTimeAge > 1.f)\n\t\t\t\t{\n\t\t\t\t\tm_maxTimeAge = 0.f;\n\t\t\t\t\tm_maxTime = m_time;\n\t\t\t\t\tm_smoothTimeSum = 0.f;\n\t\t\t\t\tm_smoothTimeCount = 0.f;\n\t\t\t\t}\n\t\t\t\treturn m_smoothTime;\n\t\t\t}\n\t\t};\n\n\t\tStat m_cpu;\n\t\tStat m_gpu;\n\n\t\tvoid push(float cpuTime, float gpuTime)\n\t\t{\n\t\t\tm_cpu.push(cpuTime);\n\t\t\tm_gpu.push(gpuTime);\n\t\t}\n\n\t\tvoid pull(float frameTime)\n\t\t{\n\t\t\tm_cpuTime = m_cpu.pull(frameTime);\n\t\t\tm_gpuTime = m_gpu.pull(frameTime);\n\t\t}\n\t};\n}\n\nstruct AppGraphProfilerD3D11\n{\n\tAppGraphCtxD3D11* m_context;\n\n\tint m_state = 0;\n\tbool m_enabled = false;\n\n\tTimerCPU m_frameTimer;\n\tfloat m_frameTime = 0.f;\n\n\tID3D11Query* m_disjoint = nullptr;\n\n\tstatic const int m_timersCap = 64;\n\tTimer m_timers[m_timersCap];\n\tint m_timersSize = 0;\n\n\tTimerValue m_timerValues[m_timersCap];\n\tint m_timerValuesSize = 0;\n\n\tAppGraphProfilerD3D11(AppGraphCtx* context);\n\t~AppGraphProfilerD3D11();\n};\n\nAppGraphProfilerD3D11::AppGraphProfilerD3D11(AppGraphCtx* context) : m_context(cast_to_AppGraphCtxD3D11(context))\n{\n}\n\nAppGraphProfilerD3D11::~AppGraphProfilerD3D11()\n{\n\tCOMRelease(m_disjoint);\n}\n\nAppGraphProfilerD3D11* appGraphCreateProfilerD3D11(AppGraphCtx* ctx)\n{\n\treturn new AppGraphProfilerD3D11(ctx);\n}\n\nvoid appGraphReleaseProfiler(AppGraphProfilerD3D11* profiler)\n{\n\tdelete profiler;\n}\n\nvoid appGraphProfilerD3D11FrameBegin(AppGraphProfilerD3D11* p)\n{\n\tp->m_frameTime = (float)p->m_frameTimer.getDeltaTime();\n\n\tif (p->m_state == 0 && p->m_enabled)\n\t{\n\t\tauto device = p->m_context->m_device;\n\t\tauto deviceContext = p->m_context->m_deviceContext;\n\n\t\tif (p->m_disjoint == nullptr)\n\t\t{\n\t\t\tD3D11_QUERY_DESC queryDesc;\n\t\t\tqueryDesc.Query = D3D11_QUERY_TIMESTAMP_DISJOINT;\n\t\t\tqueryDesc.MiscFlags = 0u;\n\t\t\tdevice->CreateQuery(&queryDesc, &p->m_disjoint);\n\t\t}\n\n\t\tdeviceContext->Begin(p->m_disjoint);\n\n\t\tp->m_timersSize = 0;\n\n\t\tp->m_state = 1;\n\t}\n}\n\nvoid appGraphProfilerD3D11FrameEnd(AppGraphProfilerD3D11* p)\n{\n\tif (p->m_state == 1)\n\t{\n\t\tauto deviceContext = p->m_context->m_deviceContext;\n\n\t\tdeviceContext->End(p->m_disjoint);\n\n\t\tp->m_state = 2;\n\t}\n}\n\nvoid appGraphProfilerD3D11Enable(AppGraphProfilerD3D11* p, bool enabled)\n{\n\tp->m_enabled = enabled;\n}\n\nvoid appGraphProfilerD3D11Begin(AppGraphProfilerD3D11* p, const char* label)\n{\n\tif (p->m_state == 1 && p->m_timersSize < p->m_timersCap)\n\t{\n\t\tauto& timer = p->m_timers[p->m_timersSize++];\n\t\ttimer.m_label = label;\n\t\ttimer.m_cpu.getDeltaTime();\n\n\t\tauto device = p->m_context->m_device;\n\t\tauto deviceContext = p->m_context->m_deviceContext;\n\n\t\tif (timer.m_gpu.m_begin == nullptr)\n\t\t{\n\t\t\tD3D11_QUERY_DESC queryDesc;\n\t\t\tqueryDesc.MiscFlags = 0u;\n\t\t\tqueryDesc.Query = D3D11_QUERY_TIMESTAMP;\n\t\t\tdevice->CreateQuery(&queryDesc, &timer.m_gpu.m_begin);\n\t\t\tdevice->CreateQuery(&queryDesc, &timer.m_gpu.m_end);\n\t\t}\n\n\t\tdeviceContext->End(timer.m_gpu.m_begin);\n\t}\n}\n\nvoid appGraphProfilerD3D11End(AppGraphProfilerD3D11* p, const char* label)\n{\n\tif (p->m_state == 1)\n\t{\n\t\tTimer* timer = nullptr;\n\t\tfor (int i = 0; i < p->m_timersSize; i++)\n\t\t{\n\t\t\tif (strcmp(p->m_timers[i].m_label, label) == 0)\n\t\t\t{\n\t\t\t\ttimer = &p->m_timers[i];\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tif (timer)\n\t\t{\n\t\t\tauto deviceContext = p->m_context->m_deviceContext;\n\n\t\t\tdeviceContext->End(timer->m_gpu.m_end);\n\n\t\t\ttimer->m_cpuTime = (float)timer->m_cpu.getDeltaTime();\n\t\t}\n\t}\n}\n\nbool appGraphProfilerD3D11Flush(AppGraphProfilerD3D11* p)\n{\n\tif (p->m_state == 2)\n\t{\n\t\tauto deviceContext = p->m_context->m_deviceContext;\n\n\t\t// check disjoint for completion\n\t\tif (deviceContext->GetData(p->m_disjoint, nullptr, 0u, 0u) != S_OK)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\n\t\tD3D11_QUERY_DATA_TIMESTAMP_DISJOINT tsDisjoint;\n\t\tdeviceContext->GetData(p->m_disjoint, &tsDisjoint, sizeof(tsDisjoint), 0u);\n\t\tif (tsDisjoint.Disjoint)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\n\t\tfor (int i = 0; i < p->m_timersSize; i++)\n\t\t{\n\t\t\tTimer& timer = p->m_timers[i];\n\n\t\t\tUINT64 tsBegin, tsEnd;\n\t\t\tif (deviceContext->GetData(timer.m_gpu.m_begin, &tsBegin, sizeof(UINT64), 0) != S_OK)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tif (deviceContext->GetData(timer.m_gpu.m_end, &tsEnd, sizeof(UINT64), 0) != S_OK)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\ttimer.m_gpuTime = float(tsEnd - tsBegin) / float(tsDisjoint.Frequency);\n\n\t\t\t// update TimerValue\n\t\t\tint j = 0;\n\t\t\tfor (; j < p->m_timerValuesSize; j++)\n\t\t\t{\n\t\t\t\tTimerValue& value = p->m_timerValues[j];\n\t\t\t\tif (strcmp(value.m_label, timer.m_label) == 0)\n\t\t\t\t{\n\t\t\t\t\tvalue.push(timer.m_cpuTime, timer.m_gpuTime);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (j >= p->m_timerValuesSize && p->m_timerValuesSize < p->m_timersCap)\n\t\t\t{\n\t\t\t\tTimerValue& value = p->m_timerValues[p->m_timerValuesSize++];\n\t\t\t\tvalue.m_label = timer.m_label;\n\t\t\t\tvalue.push(timer.m_cpuTime, timer.m_gpuTime);\n\t\t\t}\n\t\t}\n\n\t\tp->m_state = 0;\n\t}\n\treturn false;\n}\n\nbool appGraphProfilerD3D11Get(AppGraphProfilerD3D11* p, const char** plabel, float* cpuTime, float* gpuTime, int index)\n{\n\tappGraphProfilerD3D11Flush(p);\n\t{\n\t\tif (index < p->m_timerValuesSize)\n\t\t{\n\t\t\tTimerValue& timer = p->m_timerValues[index];\n\n\t\t\ttimer.pull(p->m_frameTime);\n\n\t\t\tif (plabel) *plabel = timer.m_label;\n\t\t\tif (cpuTime) *cpuTime = timer.m_cpuTime;\n\t\t\tif (gpuTime) *gpuTime = timer.m_gpuTime;\n\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n}\n\nsize_t AppGraphCtxDedicatedVideoMemoryD3D11(AppGraphCtx* contextIn)\n{\n\tauto context = cast_to_AppGraphCtxD3D11(contextIn);\n\treturn context->m_dedicatedVideoMemory;\n}"
  },
  {
    "path": "demo/d3d11/appD3D11Ctx.h",
    "content": "/*\n * Copyright (c) 2014-2017, NVIDIA CORPORATION.  All rights reserved.\n *\n * NVIDIA CORPORATION and its licensors retain all intellectual property\n * and proprietary rights in and to this software, related documentation\n * and any modifications thereto.  Any use, reproduction, disclosure or\n * distribution of this software and related documentation without an express\n * license agreement from NVIDIA CORPORATION is strictly prohibited.\n */\n\n#pragma once\n\n#include \"../d3d/appGraphCtx.h\"\n\n#include <windows.h>\n#include <d3d11.h>\n\nstruct AppGraphProfilerD3D11;\n\nstruct AppGraphCtxD3D11\n{\n\tHWND                    m_hWnd = nullptr;\n\n\tint m_winW = 0;\n\tint m_winH = 0;\n\tbool m_fullscreen = false;\n\tbool m_valid = false;\n\n\tsize_t m_dedicatedVideoMemory = 0u;\n\n\t// D3D11 objects\n\tD3D11_VIEWPORT\t\t\t\tm_viewport = {};\n\tID3D11Device*\t\t\t\tm_device = nullptr;\n\tID3D11DeviceContext*\t\tm_deviceContext = nullptr;\n\tIDXGISwapChain*\t\t\t\tm_swapChain = nullptr;\n\tID3D11Texture2D*\t\t\tm_backBuffer = nullptr;\n\tID3D11RenderTargetView*\t\tm_rtv = nullptr;\n\tID3D11Texture2D*\t\t\tm_depthStencil = nullptr;\n\tID3D11DepthStencilView*\t\tm_dsv = nullptr;\n\tID3D11ShaderResourceView*\tm_depthSRV = nullptr;\n\tID3D11DepthStencilState*\tm_depthState = nullptr;\n\t\n\tAppGraphProfilerD3D11* m_profiler = nullptr;\n\n\tAppGraphCtxD3D11();\n\t~AppGraphCtxD3D11();\n};\n\ninline AppGraphCtxD3D11* cast_to_AppGraphCtxD3D11(AppGraphCtx* appctx)\n{\n\treturn (AppGraphCtxD3D11*)(appctx);\n}\n\ninline AppGraphCtx* cast_from_AppGraphCtxD3D11(AppGraphCtxD3D11* appctx)\n{\n\treturn (AppGraphCtx*)(appctx);\n}\n\nAPP_GRAPH_CTX_API AppGraphCtx* AppGraphCtxCreateD3D11(int deviceID);\n\nAPP_GRAPH_CTX_API bool AppGraphCtxUpdateSizeD3D11(AppGraphCtx* context, SDL_Window* window, bool fullscreen, int numMSAASamples);\n\nAPP_GRAPH_CTX_API void AppGraphCtxReleaseRenderTargetD3D11(AppGraphCtx* context);\n\nAPP_GRAPH_CTX_API void AppGraphCtxReleaseD3D11(AppGraphCtx* context);\n\nAPP_GRAPH_CTX_API void AppGraphCtxFrameStartD3D11(AppGraphCtx* context, AppGraphColor clearColor);\n\nAPP_GRAPH_CTX_API void AppGraphCtxFramePresentD3D11(AppGraphCtx* context, bool fullsync);\n\nAPP_GRAPH_CTX_API void AppGraphCtxWaitForFramesD3D11(AppGraphCtx* context, unsigned int maxFramesInFlight);\n\nAPP_GRAPH_CTX_API void AppGraphCtxProfileEnableD3D11(AppGraphCtx* context, bool enabled);\n\nAPP_GRAPH_CTX_API void AppGraphCtxProfileBeginD3D11(AppGraphCtx* context, const char* label);\n\nAPP_GRAPH_CTX_API void AppGraphCtxProfileEndD3D11(AppGraphCtx* context, const char* label);\n\nAPP_GRAPH_CTX_API bool AppGraphCtxProfileGetD3D11(AppGraphCtx* context, const char** plabel, float* cpuTime, float* gpuTime, int index);\n\nAPP_GRAPH_CTX_API size_t AppGraphCtxDedicatedVideoMemoryD3D11(AppGraphCtx* context);\n"
  },
  {
    "path": "demo/d3d11/debugLineRenderD3D11.cpp",
    "content": "/*\n* Copyright (c) 2008-2017, NVIDIA CORPORATION.  All rights reserved.\n*\n* NVIDIA CORPORATION and its licensors retain all intellectual property\n* and proprietary rights in and to this software, related documentation\n* and any modifications thereto.  Any use, reproduction, disclosure or\n* distribution of this software and related documentation without an express\n* license agreement from NVIDIA CORPORATION is strictly prohibited.\n*/\n\n#define NOMINMAX\n#include <d3d11.h>\n\n#include <math.h>\n\n#include \"../d3d/shaders/debugLineVS.hlsl.h\"\n#include \"../d3d/shaders/debugLinePS.hlsl.h\"\n\n// this\n#include \"debugLineRenderD3D11.h\"\n\nvoid DebugLineRenderD3D11::init(ID3D11Device* d, ID3D11DeviceContext* c) \n{\n\tm_device = d;\n\tm_context = c;\n\n\t// create the rasterizer state\n\t{\n\t\tD3D11_RASTERIZER_DESC desc = {};\n\t\tdesc.FillMode = D3D11_FILL_SOLID;\n\t\tdesc.CullMode = D3D11_CULL_BACK;\n\t\tdesc.FrontCounterClockwise = TRUE;\t// This is non-default\n\t\tdesc.DepthBias = 0;\n\t\tdesc.DepthBiasClamp = 0.f;\n\t\tdesc.SlopeScaledDepthBias = 0.f;\n\t\tdesc.DepthClipEnable = TRUE;\n\t\tdesc.ScissorEnable = FALSE;\t\t// This is non-default\n\t\tdesc.MultisampleEnable = TRUE;\n\t\tdesc.AntialiasedLineEnable = FALSE;\t\t\t\n\n\t\tm_device->CreateRasterizerState(&desc, m_rasterizerState.GetAddressOf());\n\t}\n\n\t{\n\t\tD3D11_DEPTH_STENCIL_DESC depthStateDesc = {};\n\t\tdepthStateDesc.DepthEnable = FALSE;\t// disable depth test\n\t\tdepthStateDesc.DepthWriteMask = D3D11_DEPTH_WRITE_MASK_ALL;\n\t\tdepthStateDesc.DepthFunc = D3D11_COMPARISON_LESS_EQUAL;\n\n\t\tm_device->CreateDepthStencilState(&depthStateDesc, m_depthStencilState.GetAddressOf());\n\t}\n\n\t// create the input layout\n\t{\n\t\tD3D11_INPUT_ELEMENT_DESC inputElementDescs[] =\n\t\t{\n\t\t\t{ \"POSITION\", 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, 0, D3D11_INPUT_PER_VERTEX_DATA, 0 },\n\t\t\t{ \"COLOR\", 0, DXGI_FORMAT_R32G32B32A32_FLOAT, 0, D3D11_APPEND_ALIGNED_ELEMENT, D3D11_INPUT_PER_VERTEX_DATA, 0 },\n\t\t};\n\n\t\tm_device->CreateInputLayout(inputElementDescs, 2, g_debugLineVS, sizeof(g_debugLineVS), m_inputLayout.GetAddressOf());\n\t}\n\n\t// create the blend state\n\t{\n\t\tD3D11_BLEND_DESC blendDesc = {};\n\n\t\tblendDesc.AlphaToCoverageEnable = false;\n\t\tblendDesc.IndependentBlendEnable = false;\n\t\tblendDesc.RenderTarget[0].BlendEnable = false;\n\t\tblendDesc.RenderTarget[0].SrcBlend = D3D11_BLEND_SRC_ALPHA;\n\t\tblendDesc.RenderTarget[0].DestBlend = D3D11_BLEND_INV_SRC_ALPHA;\n\t\tblendDesc.RenderTarget[0].BlendOp = D3D11_BLEND_OP_ADD;\n\t\tblendDesc.RenderTarget[0].SrcBlendAlpha = D3D11_BLEND_SRC_ALPHA;\n\t\tblendDesc.RenderTarget[0].DestBlendAlpha = D3D11_BLEND_INV_SRC_ALPHA;\n\t\tblendDesc.RenderTarget[0].BlendOpAlpha = D3D11_BLEND_OP_ADD;\n\t\tblendDesc.RenderTarget[0].RenderTargetWriteMask = D3D11_COLOR_WRITE_ENABLE_ALL;\n\n\t\tm_device->CreateBlendState(&blendDesc, m_blendState.GetAddressOf());\n\t}\n\n\t// create the shaders\n\tm_device->CreateVertexShader(g_debugLineVS, sizeof(g_debugLineVS), nullptr, m_vertexShader.GetAddressOf());\n\tm_device->CreatePixelShader(g_debugLinePS, sizeof(g_debugLinePS), nullptr, m_pixelShader.GetAddressOf());\n\n\t// create a constant buffer\n\t{\n\t\tD3D11_BUFFER_DESC bufDesc;\n\t\tbufDesc.ByteWidth = sizeof(Matrix44);\n\t\tbufDesc.Usage = D3D11_USAGE_DYNAMIC;\n\t\tbufDesc.BindFlags = D3D11_BIND_CONSTANT_BUFFER;\n\t\tbufDesc.CPUAccessFlags  = D3D11_CPU_ACCESS_WRITE;\n\t\tbufDesc.MiscFlags = 0;\n\n\t\tm_device->CreateBuffer(&bufDesc, NULL, m_constantBuffer.GetAddressOf());\n\t}\n}\n\nvoid DebugLineRenderD3D11::addLine(const Vec3& p, const Vec3& q, const Vec4& color)\n{\n\tVertex v = { p, color };\n\tVertex w = { q, color };\n\n\tm_queued.push_back(v);\n\tm_queued.push_back(w);\n}\n\nvoid DebugLineRenderD3D11::flush(const Matrix44& viewProj)\n{\n\tif (m_queued.empty())\n\t\treturn;\n\n\t// recreate vertex buffer if not big enough for queued lines\n\tif (m_vertexBufferSize < int(m_queued.size()))\n\t{\n\t\tm_vertexBuffer = nullptr;\n\n\t\tD3D11_BUFFER_DESC bufferDesc;\n\t\tbufferDesc.Usage            = D3D11_USAGE_DYNAMIC;\n\t\tbufferDesc.ByteWidth        = UINT(sizeof(Vertex)*m_queued.size());\n\t\tbufferDesc.BindFlags        = D3D11_BIND_VERTEX_BUFFER;\n\t\tbufferDesc.CPUAccessFlags   = D3D11_CPU_ACCESS_WRITE;\n\t\tbufferDesc.MiscFlags        = 0;\n\n\t\tm_device->CreateBuffer(&bufferDesc, 0, &m_vertexBuffer);\t\t\t\t\n\n\t\tm_vertexBufferSize = int(m_queued.size());\n\t}\n\t\t\n\t// update vertex buffer\n\tD3D11_MAPPED_SUBRESOURCE res;\n\tm_context->Map(m_vertexBuffer.Get(), 0, D3D11_MAP_WRITE_DISCARD, 0, &res);\n\tmemcpy(res.pData, &m_queued[0], sizeof(Vertex)*m_queued.size());\n\tm_context->Unmap(m_vertexBuffer.Get(), 0);\n\t\t\n\t// update constant buffer\n\t{\n\t\tD3D11_MAPPED_SUBRESOURCE mappedResource = {};\n\t\tif (SUCCEEDED(m_context->Map(m_constantBuffer.Get(), 0u, D3D11_MAP_WRITE_DISCARD, 0, &mappedResource)))\n\t\t{\n\t\t\tmemcpy(mappedResource.pData, &viewProj, sizeof(viewProj));\n\t\t\tm_context->Unmap(m_constantBuffer.Get(), 0u);\n\t\t}\n\t}\n\n\t// configure for line renderering\n\tm_context->VSSetShader(m_vertexShader.Get(), nullptr, 0u);\n\tm_context->GSSetShader(nullptr, nullptr, 0u);\n\tm_context->PSSetShader(m_pixelShader.Get(), nullptr, 0u);\n\n\tm_context->IASetInputLayout(m_inputLayout.Get());\n\tm_context->OMSetBlendState(m_blendState.Get(), nullptr, 0xFFFFFFFF);\n\n\tm_context->VSSetConstantBuffers(0, 1, m_constantBuffer.GetAddressOf());\n\n\tm_context->IASetPrimitiveTopology(D3D11_PRIMITIVE_TOPOLOGY_LINELIST);\n\n\tm_context->RSSetState(m_rasterizerState.Get());\n\n\tUINT vertexStride = sizeof(Vertex);\n\tUINT offset = 0u;\n\tm_context->IASetVertexBuffers(0, 1, m_vertexBuffer.GetAddressOf(), &vertexStride, &offset);\n\n\t// kick\n\tm_context->Draw(UINT(m_queued.size()), 0);\n\n\t// empty queue\n\tm_queued.resize(0);\n\n}\n"
  },
  {
    "path": "demo/d3d11/debugLineRenderD3D11.h",
    "content": "#pragma once\n\n#include <vector>\n#include \"core/maths.h\"\n\n#include <wrl.h>\nusing namespace Microsoft::WRL;\n\nstruct DebugLineRenderD3D11\n{\n\tstruct Vertex\n\t{\n\t\tVec3 position;\n\t\tVec4 color;\n\t};\n\n\tvoid init(ID3D11Device* d, ID3D11DeviceContext* c);\n\tvoid addLine(const Vec3& p, const Vec3& q, const Vec4& color);\n\tvoid flush(const Matrix44& viewProj);\n\n\tDebugLineRenderD3D11():\n\t\tm_vertexBufferSize(0),\n\t\tm_device(nullptr),\n\t\tm_context(nullptr)\n\t{}\n\n\tstd::vector<Vertex> m_queued;\n\n\tComPtr<ID3D11Buffer> m_vertexBuffer;\n\tint m_vertexBufferSize;\n\n\tComPtr<ID3D11DepthStencilState> m_depthStencilState;\n\tComPtr<ID3D11RasterizerState> m_rasterizerState;\n\tComPtr<ID3D11InputLayout> m_inputLayout;\n\tComPtr<ID3D11BlendState> m_blendState;\n\tComPtr<ID3D11VertexShader> m_vertexShader;\n\tComPtr<ID3D11PixelShader> m_pixelShader;\n\tComPtr<ID3D11Buffer> m_constantBuffer;\n\n\tID3D11Device* m_device;\n\tID3D11DeviceContext* m_context;\n};"
  },
  {
    "path": "demo/d3d11/demoContextD3D11.cpp",
    "content": "#include \"core/maths.h\"\n#include \"core/extrude.h\"\n\n#include \"shaders.h\"\n\n#include \"meshRenderD3D11.h\"\n#include \"pointRenderD3D11.h\"\n#include \"fluidRenderD3D11.h\"\n#include \"diffuseRenderD3D11.h\"\n#include \"debugLineRenderD3D11.h\"\n\n#include \"shadowMapD3D11.h\"\n#include \"renderTargetD3D11.h\"\n\n#include \"imguiGraphD3D11.h\"\n\n#include \"appD3D11Ctx.h\"\n\n#include \"demoContext.h\"\n#include \"../d3d/loader.h\"\n\n#include <d3d11.h>\n#include <d3dcompiler.h>\n\n#include <cstdlib>\n\n// this\n#include \"demoContextD3D11.h\"\n\nnamespace\n{\n// COM object release utilities\ntemplate <class T>\nvoid inline COMRelease(T& t)\n{\n\tif (t) t->Release();\n\tt = nullptr;\n}\n\ntemplate <class T>\nvoid inline COMRelease(T& t, UINT arraySize)\n{\n\tfor (UINT i = 0; i < arraySize; i++)\n\t{\n\t\tif (t[i]) t[i]->Release();\n\t\tt[i] = nullptr;\n\t}\n}\n}\n\nextern Colour g_colors[];\nstatic const int kShadowResolution = 2048;\n\nDemoContext* CreateDemoContextD3D11()\n{\n\treturn new DemoContextD3D11;\n}\n\nDemoContextD3D11::DemoContextD3D11()\n{\n\tm_appGraphCtx = nullptr;\n\tm_appGraphCtxD3D11 = nullptr;\n\tmemset(&m_meshDrawParams, 0, sizeof(m_meshDrawParams));\n\n\tm_spotMin = 0.5f;\n\tm_spotMax = 1.0f;\n\tm_shadowBias = 0.075f;\n\n\tm_shadowMap = nullptr;\n\tm_immediateMesh = nullptr;\n\n\tm_window = nullptr;\n\n\tm_msaaSamples = 1;\n\n\tm_renderTimerDisjoint = nullptr;\n\tm_renderTimerBegin = nullptr;\n\tm_renderTimerEnd = nullptr;\n\tm_renderCompletionFence = nullptr;\n\n\tm_compositeBlendState = nullptr;\n\n\tm_fluidResolvedTarget = nullptr;\n\tm_fluidResolvedTargetSRV = nullptr;\n\tm_fluidResolvedStage = nullptr;\n\n\tm_debugLineRender = new DebugLineRenderD3D11;\n\tm_meshRenderer = new MeshRendererD3D11;\n\tm_pointRenderer = new PointRendererD3D11;\n\tm_diffuseRenderer = new DiffuseRendererD3D11;\n}\n\n// convert an OpenGL style projection matrix to D3D (clip z range [0, 1])\nMatrix44 ConvertToD3DProjection(const Matrix44& proj)\n{\n\tMatrix44 scale = Matrix44::kIdentity;\n\tscale.columns[2][2] = 0.5f;\n\n\tMatrix44 bias = Matrix44::kIdentity;\n\tbias.columns[3][2] = 1.0f;\t\n\n\treturn scale*bias*proj;\n}\n\n#define checkDxErrors(err)  __checkDxErrors (err, __FILE__, __LINE__)\n\ninline void __checkDxErrors(HRESULT err, const char *file, const int line)\n{\n\tif (FAILED(err))\n\t{\n\t\tchar* lpMsgBuf;\n\n\t\tFormatMessage(\n\t\t\tFORMAT_MESSAGE_ALLOCATE_BUFFER |\n\t\t\tFORMAT_MESSAGE_FROM_SYSTEM |\n\t\t\tFORMAT_MESSAGE_IGNORE_INSERTS,\n\t\t\tNULL,\n\t\t\terr,\n\t\t\tMAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),\n\t\t\t(LPTSTR)&lpMsgBuf,\n\t\t\t0, NULL);\n\n\t\tfprintf(stdout, \"DX Error = %04d \\\"%s\\\" from file <%s>, line %i.\\n\",\n\t\t\terr, lpMsgBuf, file, line);\n\n\t\texit(EXIT_FAILURE);\n\t}\n}\n\nDemoContextD3D11::~DemoContextD3D11()\n{\n\timguiGraphDestroy();\n\t\n\tCOMRelease(m_renderTimerBegin);\n\tCOMRelease(m_renderTimerEnd);\n\tCOMRelease(m_renderTimerDisjoint);\n\tCOMRelease(m_renderCompletionFence);\n\n\tCOMRelease(m_compositeBlendState);\n\n\tCOMRelease(m_fluidResolvedTarget);\n\tCOMRelease(m_fluidResolvedTargetSRV);\n\tCOMRelease(m_fluidResolvedStage);\n\n\tdelete m_immediateMesh;\n\tdelete m_debugLineRender;\n\tdelete m_meshRenderer;\n\tdelete m_pointRenderer;\n\tdelete m_diffuseRenderer;\n\n\t// do this first, since it flushes all GPU work\n\tAppGraphCtxReleaseRenderTarget(m_appGraphCtx);\n\tAppGraphCtxRelease(m_appGraphCtx);\n}\n\nbool DemoContextD3D11::initialize(const RenderInitOptions& options)\n{\n\t{\n\t\t// Load external modules\n\t\tloadModules(APP_CONTEXT_D3D11);\n\t}\n\n\t// must always have at least one sample\n\tm_msaaSamples = Max(1, options.numMsaaSamples);\n\t// create app graph context\n\tm_appGraphCtx = AppGraphCtxCreate(0);\n\tm_appGraphCtxD3D11 = cast_to_AppGraphCtxD3D11(m_appGraphCtx);\n\n\tAppGraphCtxUpdateSize(m_appGraphCtx, options.window, options.fullscreen, m_msaaSamples);\n\t_onWindowSizeChanged(m_appGraphCtxD3D11->m_winW, m_appGraphCtxD3D11->m_winH, false);\n\n\t//AppGraphCtxInitRenderTarget(m_appGraphCtx, options.window, options.fullscreen, m_msaaSamples);\n\t//gScene = getScene(0);\n\n\tAppGraphColor clearVal = { 0.0f, 0.0f, 0.0f, 1.0f };\n\tAppGraphCtxFrameStart(m_appGraphCtx, clearVal);\n\n\tID3D11Device* device = m_appGraphCtxD3D11->m_device;\n\tID3D11DeviceContext* deviceContext = m_appGraphCtxD3D11->m_deviceContext;\n\n\t{\n\t\t// create imgui, connect to app graph context\n\t\tImguiGraphDescD3D11 desc;\n\t\tdesc.device = device;\n\t\tdesc.deviceContext = deviceContext;\n\t\tdesc.winW = m_appGraphCtxD3D11->m_winW;\n\t\tdesc.winH = m_appGraphCtxD3D11->m_winH;\n\n\t\t// Use Dx11 context\n\t\tconst int defaultFontHeight = (options.defaultFontHeight <= 0) ? 15 : options.defaultFontHeight;\n\n\t\tif (!imguiGraphInit(\"../../data/DroidSans.ttf\", float(defaultFontHeight), (ImguiGraphDesc*)&desc))\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tAppGraphCtxFramePresent(m_appGraphCtx, true);\n\t\n\tm_pointRenderer->init(device, deviceContext);\n\tm_meshRenderer->init(device, deviceContext, options.asyncComputeBenchmark);\n\tm_debugLineRender->init(device, deviceContext);\n\tm_diffuseRenderer->init(device, deviceContext);\n\n\t{\n\t\t// create blend state - used for composite phase of water rendering\n\t\tD3D11_BLEND_DESC blendStateDesc = {};\n\t\tblendStateDesc.RenderTarget[0].BlendEnable = TRUE;\n\t\tblendStateDesc.RenderTarget[0].SrcBlend = D3D11_BLEND_SRC_ALPHA;\n\t\tblendStateDesc.RenderTarget[0].DestBlend = D3D11_BLEND_INV_SRC_ALPHA;\n\t\tblendStateDesc.RenderTarget[0].BlendOp = D3D11_BLEND_OP_ADD;\n\t\tblendStateDesc.RenderTarget[0].SrcBlendAlpha = D3D11_BLEND_ONE;\n\t\tblendStateDesc.RenderTarget[0].DestBlendAlpha = D3D11_BLEND_ZERO;\n\t\tblendStateDesc.RenderTarget[0].BlendOpAlpha = D3D11_BLEND_OP_ADD;\n\t\tblendStateDesc.RenderTarget[0].RenderTargetWriteMask = 0x0f;\n\n\t\tif (FAILED(device->CreateBlendState(&blendStateDesc, &m_compositeBlendState)))\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t}\n\n\t// create a mesh for immediate mode rendering\n\tm_immediateMesh = new GpuMeshD3D11(device, deviceContext);\n\n\tm_window = options.window;\n\t\n\tD3D11_QUERY_DESC tdesc;\n\tZeroMemory(&tdesc, sizeof(tdesc));\n\ttdesc.Query = D3D11_QUERY_TIMESTAMP;\n\tdevice->CreateQuery(&tdesc, &m_renderTimerBegin);\n\tdevice->CreateQuery(&tdesc, &m_renderTimerEnd);\n\n\ttdesc.Query = D3D11_QUERY_EVENT;\n\tdevice->CreateQuery(&tdesc, &m_renderCompletionFence);\n\n\tZeroMemory(&tdesc, sizeof(tdesc));\n\ttdesc.Query = D3D11_QUERY_TIMESTAMP_DISJOINT;\n\tdevice->CreateQuery(&tdesc, &m_renderTimerDisjoint);\n\n\treturn true;\n}\n\nvoid DemoContextD3D11::getRenderDevice(void** deviceOut, void** contextOut)\n{\n\t*deviceOut = m_appGraphCtxD3D11->m_device;\n\t*contextOut = m_appGraphCtxD3D11->m_deviceContext;\n}\n\nvoid DemoContextD3D11::onSizeChanged(int width, int height, bool minimized)\n{\n\tAppGraphCtxUpdateSize(m_appGraphCtx, m_window, false, m_msaaSamples);\n\t_onWindowSizeChanged(m_appGraphCtxD3D11->m_winW, m_appGraphCtxD3D11->m_winH, false);\n}\n\nvoid DemoContextD3D11::_onWindowSizeChanged(int width, int height, bool minimized)\n{\n\tif (m_fluidResolvedTarget)\n\t{\n\t\tD3D11_TEXTURE2D_DESC desc;\n\t\tm_fluidResolvedTarget->GetDesc(&desc);\n\t\tif (desc.Width == width && desc.Height == height)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tCOMRelease(m_fluidResolvedTarget);\n\t\tCOMRelease(m_fluidResolvedTargetSRV);\n\t\tCOMRelease(m_fluidResolvedStage);\n\t}\n\n\t// Recreate...\n\tID3D11Device* device = m_appGraphCtxD3D11->m_device;\n\n\t// resolved texture target (for refraction / scene sampling)\n\t{\n\t\tD3D11_TEXTURE2D_DESC texDesc = {};\n\t\ttexDesc.Width = width;\n\t\ttexDesc.Height = height;\n\t\ttexDesc.MipLevels = 1;\n\t\ttexDesc.ArraySize = 1;\n\t\ttexDesc.Format = DXGI_FORMAT_R8G8B8A8_UNORM;\n\t\ttexDesc.SampleDesc.Count = 1;\n\t\ttexDesc.SampleDesc.Quality = 0u;\n\t\ttexDesc.Usage = D3D11_USAGE_DEFAULT;\n\t\ttexDesc.BindFlags = D3D11_BIND_SHADER_RESOURCE;\n\t\ttexDesc.CPUAccessFlags = 0;\n\t\ttexDesc.MiscFlags = 0;\n\n\t\tif (FAILED(device->CreateTexture2D(&texDesc, nullptr, &m_fluidResolvedTarget)))\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tD3D11_SHADER_RESOURCE_VIEW_DESC srvDesc = {};\n\t\tsrvDesc.Format = DXGI_FORMAT_R8G8B8A8_UNORM;\n\t\tsrvDesc.ViewDimension = D3D11_SRV_DIMENSION_TEXTURE2D;\n\t\tsrvDesc.Texture2D.MipLevels = 1;\n\t\tsrvDesc.Texture2D.MostDetailedMip = 0;\n\n\t\tif (FAILED(device->CreateShaderResourceView(m_fluidResolvedTarget, &srvDesc, &m_fluidResolvedTargetSRV)))\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\ttexDesc.Usage = D3D11_USAGE_STAGING;\n\t\ttexDesc.BindFlags = 0u;\n\t\ttexDesc.CPUAccessFlags = D3D11_CPU_ACCESS_READ;\n\n\t\tif (FAILED(device->CreateTexture2D(&texDesc, nullptr, &m_fluidResolvedStage)))\n\t\t{\n\t\t\treturn;\n\t\t}\n\t}\n}\n\nvoid DemoContextD3D11::startFrame(Vec4 clear)\n{\n\tAppGraphColor clearColor = { clear.x, clear.y, clear.z, clear.w };\n\tAppGraphCtxFrameStart(m_appGraphCtx, clearColor);\n\n\tMeshDrawParamsD3D& meshDrawParams = m_meshDrawParams;\n\n\tmemset(&meshDrawParams, 0, sizeof(MeshDrawParamsD3D));\n\tmeshDrawParams.renderStage = MESH_DRAW_LIGHT;\n\tmeshDrawParams.renderMode = MESH_RENDER_SOLID;\n\tmeshDrawParams.cullMode = MESH_CULL_BACK;\n\tmeshDrawParams.projection = (XMMATRIX)Matrix44::kIdentity;\n\tmeshDrawParams.view = (XMMATRIX)Matrix44::kIdentity;\n\tmeshDrawParams.model = DirectX::XMMatrixMultiply(\n\t\tDirectX::XMMatrixScaling(1.0f, 1.0f, 1.0f),\n\t\tDirectX::XMMatrixTranslation(0.0f, 0.0f, 0.0f)\n\t);\n}\n\nvoid DemoContextD3D11::_flushFrame()\n{\n\tm_appGraphCtxD3D11->m_deviceContext->Flush();\n}\n\nvoid DemoContextD3D11::endFrame()\n{\n\t_flushFrame();\n\n\tImguiGraphDescD3D11 desc;\n\n\tdesc.device = m_appGraphCtxD3D11->m_device;\n\tdesc.deviceContext = m_appGraphCtxD3D11->m_deviceContext;\n\tdesc.winW = m_appGraphCtxD3D11->m_winW;\n\tdesc.winH = m_appGraphCtxD3D11->m_winH;\n\t\n\timguiGraphUpdate((ImguiGraphDesc*)&desc);\n\t//m_imguiGraphContext->update(&desc);\n}\n\nvoid DemoContextD3D11::presentFrame(bool fullsync)\n{\n\tAppGraphCtxFramePresent(m_appGraphCtx, fullsync);\n}\n\nvoid DemoContextD3D11::readFrame(int* buffer, int width, int height)\n{\n\tauto deviceContext = m_appGraphCtxD3D11->m_deviceContext;\n\tif (m_msaaSamples > 1)\n\t{\n\t\tdeviceContext->ResolveSubresource(m_fluidResolvedTarget, 0, m_appGraphCtxD3D11->m_backBuffer, 0, DXGI_FORMAT_R8G8B8A8_UNORM);\n\t\tdeviceContext->CopyResource(m_fluidResolvedStage, m_fluidResolvedTarget);\n\t}\n\telse\n\t{\n\t\tdeviceContext->CopyResource(m_fluidResolvedStage, m_appGraphCtxD3D11->m_backBuffer);\n\t}\n\n\tD3D11_MAPPED_SUBRESOURCE mapped;\n\tdeviceContext->Map(m_fluidResolvedStage, 0u, D3D11_MAP_READ, 0, &mapped);\n\t// y-coordinate is flipped for DirectX\n\tfor (int i = 0; i < height; i++)\n\t{\n\t\tmemcpy(buffer + (width * i), ((int *)mapped.pData) + (width * (height - i)), width * sizeof(int));\n\t}\n\tdeviceContext->Unmap(m_fluidResolvedStage, 0u);\n}\n\nvoid DemoContextD3D11::getViewRay(int x, int y, Vec3& origin, Vec3& dir)\n{\n\tusing namespace DirectX;\n\n\tXMVECTOR nearVector = XMVector3Unproject(XMVectorSet(float(x), float(m_appGraphCtxD3D11->m_winH-y), 0.0f, 0.0f), 0.0f, 0.0f, (float)m_appGraphCtxD3D11->m_winW, (float)m_appGraphCtxD3D11->m_winH, 0.0f, 1.0f, (XMMATRIX)m_proj, XMMatrixIdentity(), (XMMATRIX)m_view);\n\tXMVECTOR farVector = XMVector3Unproject(XMVectorSet(float(x), float(m_appGraphCtxD3D11->m_winH-y), 1.0f, 0.0f), 0.0f, 0.0f, (float)m_appGraphCtxD3D11->m_winW, (float)m_appGraphCtxD3D11->m_winH, 0.0f, 1.0f, (XMMATRIX)m_proj, XMMatrixIdentity(), (XMMATRIX)m_view);\n\n\torigin = Vec3(XMVectorGetX(nearVector), XMVectorGetY(nearVector), XMVectorGetZ(nearVector));\n\tXMVECTOR tmp = farVector - nearVector;\n\tdir = Normalize(Vec3(XMVectorGetX(tmp), XMVectorGetY(tmp), XMVectorGetZ(tmp)));\n}\n\nvoid DemoContextD3D11::setFillMode(bool wire)\n{\n\tm_meshDrawParams.renderMode = wire ? MESH_RENDER_WIREFRAME : MESH_RENDER_SOLID;\n}\n\nvoid DemoContextD3D11::setCullMode(bool enabled)\n{\n\tm_meshDrawParams.cullMode = enabled ? MESH_CULL_BACK : MESH_CULL_NONE;\n}\n\nvoid DemoContextD3D11::setView(Matrix44 view, Matrix44 projection)\n{\n\tMatrix44 vp = projection*view;\n\n\tm_meshDrawParams.model = (XMMATRIX)Matrix44::kIdentity;\n\tm_meshDrawParams.view = (XMMATRIX)view;\n\tm_meshDrawParams.projection = (XMMATRIX)(ConvertToD3DProjection(projection));\n\n\tm_view = view;\n\tm_proj = ConvertToD3DProjection(projection);\n}\n\nFluidRenderer* DemoContextD3D11::createFluidRenderer(uint32_t width, uint32_t height)\n{\n\tFluidRendererD3D11* renderer = new(_aligned_malloc(sizeof(FluidRendererD3D11), 16)) FluidRendererD3D11;\n\trenderer->init(m_appGraphCtxD3D11->m_device, m_appGraphCtxD3D11->m_deviceContext, width, height);\n\treturn (FluidRenderer*)renderer;\n}\n\nvoid DemoContextD3D11::destroyFluidRenderer(FluidRenderer* rendererIn)\n{\n\tFluidRendererD3D11* renderer = (FluidRendererD3D11*)rendererIn;\n\trenderer->~FluidRendererD3D11();\n\t_aligned_free(renderer);\n}\n\nFluidRenderBuffers* DemoContextD3D11::createFluidRenderBuffers(int numParticles, bool enableInterop)\n{\n\tFluidRenderBuffersD3D11* buffers = new FluidRenderBuffersD3D11;\n\tbuffers->m_numParticles = numParticles;\n\n\tID3D11Device* device = m_appGraphCtxD3D11->m_device;\n\n\t{\n\t\tD3D11_BUFFER_DESC bufDesc;\n\t\tbufDesc.ByteWidth = numParticles*sizeof(Vec4);\n\t\tbufDesc.Usage = D3D11_USAGE_DYNAMIC;\n\t\tbufDesc.BindFlags = D3D11_BIND_VERTEX_BUFFER;\n\t\tbufDesc.CPUAccessFlags = D3D11_CPU_ACCESS_WRITE;\n\t\tbufDesc.MiscFlags = 0;\n\t\tbufDesc.StructureByteStride = 0;\n\n\t\tdevice->CreateBuffer(&bufDesc, NULL, &buffers->m_positions);\n\t\n\t\tdevice->CreateBuffer(&bufDesc, NULL, &buffers->m_anisotropiesArr[0]);\n\t\tdevice->CreateBuffer(&bufDesc, NULL, &buffers->m_anisotropiesArr[1]);\n\t\tdevice->CreateBuffer(&bufDesc, NULL, &buffers->m_anisotropiesArr[2]);\n\n\t\tbufDesc.ByteWidth = numParticles*sizeof(float);\n\t\tdevice->CreateBuffer(&bufDesc, NULL, &buffers->m_densities);\n\t}\n\n\t{\n\t\tD3D11_BUFFER_DESC bufDesc;\n\t\tbufDesc.ByteWidth = numParticles * sizeof(int);\n\t\tbufDesc.Usage = D3D11_USAGE_DYNAMIC;\n\t\tbufDesc.BindFlags = D3D11_BIND_INDEX_BUFFER;\n\t\tbufDesc.CPUAccessFlags = D3D11_CPU_ACCESS_WRITE;\n\t\tbufDesc.MiscFlags = 0;\n\t\tbufDesc.StructureByteStride = 0;\n\n\t\tdevice->CreateBuffer(&bufDesc, NULL, &buffers->m_indices);\n\t}\n\n\tif (enableInterop)\n\t{\n\t\textern NvFlexLibrary* g_flexLib;\n\n\t\tbuffers->m_positionsBuf = NvFlexRegisterD3DBuffer(g_flexLib, buffers->m_positions.Get(), numParticles, sizeof(Vec4));\n\t\tbuffers->m_densitiesBuf = NvFlexRegisterD3DBuffer(g_flexLib, buffers->m_densities.Get(), numParticles, sizeof(float));\n\t\tbuffers->m_indicesBuf = NvFlexRegisterD3DBuffer(g_flexLib, buffers->m_indices.Get(), numParticles, sizeof(int));\n\n\t\tbuffers->m_anisotropiesBufArr[0] = NvFlexRegisterD3DBuffer(g_flexLib, buffers->m_anisotropiesArr[0].Get(), numParticles, sizeof(Vec4));\n\t\tbuffers->m_anisotropiesBufArr[1] = NvFlexRegisterD3DBuffer(g_flexLib, buffers->m_anisotropiesArr[1].Get(), numParticles, sizeof(Vec4));\n\t\tbuffers->m_anisotropiesBufArr[2] = NvFlexRegisterD3DBuffer(g_flexLib, buffers->m_anisotropiesArr[2].Get(), numParticles, sizeof(Vec4));\n\t}\n\t\n\treturn reinterpret_cast<FluidRenderBuffers*>(buffers);\n}\n\nvoid DemoContextD3D11::updateFluidRenderBuffers(FluidRenderBuffers* buffersIn, NvFlexSolver* solver, bool anisotropy, bool density)\n{\n\tFluidRenderBuffersD3D11& buffers = *reinterpret_cast<FluidRenderBuffersD3D11*>(buffersIn);\n\tif (!anisotropy)\n\t{\n\t\t// regular particles\n\t\tNvFlexGetParticles(solver, buffers.m_positionsBuf, NULL);\n\t}\n\telse\n\t{\n\t\t// fluid buffers\n\t\tNvFlexGetSmoothParticles(solver, buffers.m_positionsBuf, NULL);\n\t\tNvFlexGetAnisotropy(solver, buffers.m_anisotropiesBufArr[0], buffers.m_anisotropiesBufArr[1], buffers.m_anisotropiesBufArr[2], NULL);\n\t}\n\n\tif (density)\n\t{\n\t\tNvFlexGetDensities(solver, buffers.m_densitiesBuf, NULL);\n\t}\n\telse\n\t{\n\t\tNvFlexGetPhases(solver, buffers.m_densitiesBuf, NULL);\n\t}\n\n\tNvFlexGetActive(solver, buffers.m_indicesBuf, NULL);\n}\n\nvoid DemoContextD3D11::updateFluidRenderBuffers(FluidRenderBuffers* buffersIn, Vec4* particles, float* densities, Vec4* anisotropy1, Vec4* anisotropy2, Vec4* anisotropy3, int numParticles, int* indices, int numIndices)\n{\n\tFluidRenderBuffersD3D11& buffers = *reinterpret_cast<FluidRenderBuffersD3D11*>(buffersIn);\n\tD3D11_MAPPED_SUBRESOURCE res;\n\tID3D11DeviceContext* deviceContext = m_appGraphCtxD3D11->m_deviceContext;\n\n\t// vertices\n\tif (particles)\n\t{\n\t\tdeviceContext->Map(buffers.m_positions.Get(), 0, D3D11_MAP_WRITE_DISCARD, 0, &res);\n\t\tmemcpy(res.pData, particles, sizeof(Vec4)*numParticles);\n\t\tdeviceContext->Unmap(buffers.m_positions.Get(), 0);\n\t}\n\n\tVec4*const anisotropies[3] = \n\t{\n\t\tanisotropy1,\n\t\tanisotropy2,\n\t\tanisotropy3,\n\t};\n\n\tfor (int i = 0; i < 3; i++)\n\t{\n\t\tconst Vec4* anisotropy = anisotropies[i];\n\t\tif (anisotropy)\n\t\t{\n\t\t\tdeviceContext->Map(buffers.m_anisotropiesArr[i].Get(), 0, D3D11_MAP_WRITE_DISCARD, 0, &res);\n\t\t\tmemcpy(res.pData, anisotropy, sizeof(Vec4) * numParticles);\n\t\t\tdeviceContext->Unmap(buffers.m_anisotropiesArr[i].Get(), 0);\n\t\t}\n\t}\n\n\tif (densities)\n\t{\n\t\tdeviceContext->Map(buffers.m_densities.Get(), 0, D3D11_MAP_WRITE_DISCARD, 0, &res);\n\t\tmemcpy(res.pData, densities, sizeof(float)*numParticles);\n\t\tdeviceContext->Unmap(buffers.m_densities.Get(), 0);\n\t}\n\n\t// indices\n\tif (indices)\n\t{\n\t\tdeviceContext->Map(buffers.m_indices.Get(), 0, D3D11_MAP_WRITE_DISCARD, 0, &res);\n\t\tmemcpy(res.pData, indices, sizeof(int)*numIndices);\n\t\tdeviceContext->Unmap(buffers.m_indices.Get(), 0);\n\t}\n}\n\nvoid DemoContextD3D11::destroyFluidRenderBuffers(FluidRenderBuffers* buffers)\n{\n\tdelete reinterpret_cast<FluidRenderBuffersD3D11*>(buffers);\n}\n\nShadowMap* DemoContextD3D11::shadowCreate()\n{\n\tShadowMapD3D11* shadowMap = new(_aligned_malloc(sizeof(ShadowMapD3D11), 16)) ShadowMapD3D11;\n\tshadowMap->init(m_appGraphCtxD3D11->m_device, kShadowResolution);\n\treturn (ShadowMap*)shadowMap;\n}\n\nvoid DemoContextD3D11::shadowDestroy(ShadowMap* map)\n{\n\tShadowMapD3D11* shadowMap = (ShadowMapD3D11*)map;\n\tshadowMap->~ShadowMapD3D11();\n\t_aligned_free(shadowMap);\n}\n\nvoid DemoContextD3D11::shadowBegin(ShadowMap* map)\n{\n\tShadowMapD3D11* shadowMap = (ShadowMapD3D11*)map;\n\tshadowMap->bindAndClear(m_appGraphCtxD3D11->m_deviceContext);\n\n\tm_meshDrawParams.renderStage = MESH_DRAW_SHADOW;\n\tm_shadowMap = shadowMap;\n}\n\nvoid DemoContextD3D11::shadowEnd()\n{\n\tID3D11DeviceContext* deviceContext = m_appGraphCtxD3D11->m_deviceContext;\n\t\n\t// reset to main frame buffer\n\tdeviceContext->RSSetViewports(1, &m_appGraphCtxD3D11->m_viewport);\n\tdeviceContext->OMSetRenderTargets(1, &m_appGraphCtxD3D11->m_rtv, m_appGraphCtxD3D11->m_dsv);\n\tdeviceContext->OMSetDepthStencilState(m_appGraphCtxD3D11->m_depthState, 0u);\n\tdeviceContext->ClearDepthStencilView(m_appGraphCtxD3D11->m_dsv, D3D11_CLEAR_DEPTH, 1.0, 0);\n\n\tm_meshDrawParams.renderStage = MESH_DRAW_NULL;\n}\n\nvoid DemoContextD3D11::bindSolidShader(Vec3 lightPos, Vec3 lightTarget, Matrix44 lightTransform, ShadowMap* shadowMap, float bias, Vec4 fogColor)\n{\n\tm_meshDrawParams.renderStage = MESH_DRAW_LIGHT;\n\n\tm_meshDrawParams.grid = 0;\n\tm_meshDrawParams.spotMin = m_spotMin;\n\tm_meshDrawParams.spotMax = m_spotMax;\n\tm_meshDrawParams.fogColor = (float4&)fogColor;\n\n\tm_meshDrawParams.objectTransform = (float4x4&)Matrix44::kIdentity;\n\n\tShadowParamsD3D shadow;\n\tRenderParamsUtilD3D::calcShadowParams(lightPos, lightTarget, lightTransform, m_shadowBias, &shadow);\n\n\tm_meshDrawParams.lightTransform = shadow.lightTransform;\n\tm_meshDrawParams.lightDir = shadow.lightDir;\n\tm_meshDrawParams.lightPos = shadow.lightPos;\n\tm_meshDrawParams.bias = shadow.bias;\n\tmemcpy(m_meshDrawParams.shadowTaps, shadow.shadowTaps, sizeof(shadow.shadowTaps));\n\n\tm_shadowMap = (ShadowMapD3D11*)shadowMap;\n}\n\nvoid DemoContextD3D11::unbindSolidShader()\n{\n\tm_meshDrawParams.renderStage = MESH_DRAW_NULL;\t\n}\n\nvoid DemoContextD3D11::graphicsTimerBegin()\n{\n\tID3D11DeviceContext* deviceContext = m_appGraphCtxD3D11->m_deviceContext;\n\tdeviceContext->Begin(m_renderTimerDisjoint);\n\tdeviceContext->End(m_renderTimerBegin); // yes End.\n}\n\nvoid DemoContextD3D11::graphicsTimerEnd()\n{\n\tID3D11DeviceContext* deviceContext = m_appGraphCtxD3D11->m_deviceContext;\n\tdeviceContext->End(m_renderTimerEnd);\n\tdeviceContext->End(m_renderTimerDisjoint);\n\tm_timersSet = true;\n}\n\nfloat DemoContextD3D11::rendererGetDeviceTimestamps(unsigned long long* begin, unsigned long long* end, unsigned long long* freq)\n{\n\tfloat renderTime = 0.0f;\n\n\tif (m_timersSet)\n\t{\n\t\tID3D11DeviceContext* deviceContext = m_appGraphCtxD3D11->m_deviceContext;\n\n\t\tD3D11_QUERY_DATA_TIMESTAMP_DISJOINT tsDisjoint;\n\t\tuint64_t renderBegin = 0;\n\t\tuint64_t renderEnd = 0;\n\n\t\twhile (S_OK != deviceContext->GetData(m_renderTimerDisjoint, &tsDisjoint, sizeof(tsDisjoint), 0));\n\t\twhile (S_OK != deviceContext->GetData(m_renderTimerBegin, &renderBegin, sizeof(UINT64), 0));\n\t\twhile (S_OK != deviceContext->GetData(m_renderTimerEnd, &renderEnd, sizeof(UINT64), 0));\n\n\t\tfloat renderTime = float(renderEnd - renderBegin) / float(tsDisjoint.Frequency);\n\n\t\tif (begin) *begin = renderBegin;\n\t\tif (end) *end = renderEnd;\n\t\tif (freq) *freq = tsDisjoint.Frequency;\n\t}\n\n\treturn renderTime;\n}\n\nvoid DemoContextD3D11::drawMesh(const Mesh* m, Vec3 color)\n{\n\tif (m)\n\t{\n\t\tif (m->m_colours.size())\n\t\t{\n\t\t\tm_meshDrawParams.colorArray = 1;\n\t\t\tm_immediateMesh->updateData((Vec3*)&m->m_positions[0], &m->m_normals[0], NULL, (Vec4*)&m->m_colours[0], (int*)&m->m_indices[0], m->GetNumVertices(), int(m->GetNumFaces()));\n\t\t}\n\t\telse\n\t\t{\n\t\t\tm_meshDrawParams.colorArray = 0;\n\t\t\tm_immediateMesh->updateData((Vec3*)&m->m_positions[0], &m->m_normals[0], NULL, NULL, (int*)&m->m_indices[0], m->GetNumVertices(), int(m->GetNumFaces()));\n\t\t}\n\n\t\tm_meshDrawParams.color = (float4&)color;\n\t\tm_meshDrawParams.secondaryColor = (float4&)color;\n\t\tm_meshDrawParams.objectTransform = (float4x4&)Matrix44::kIdentity;\n\t\tm_meshDrawParams.shadowMap = (ShadowMapD3D*)m_shadowMap;\n\n\t\tm_meshRenderer->draw(m_immediateMesh, &m_meshDrawParams);\n\n\t\tif (m->m_colours.size())\n\t\t\tm_meshDrawParams.colorArray = 0;\n\n\t}\n}\n\nvoid DemoContextD3D11::drawCloth(const Vec4* positions, const Vec4* normals, const float* uvs, const int* indices, int numTris, int numPositions, int colorIndex, float expand, bool twosided, bool smooth)\n{\n\tif (!numTris)\n\t\treturn;\n\n\tm_immediateMesh->updateData(positions, normals, NULL, NULL, indices, numPositions, numTris);\n\t\n\tif (twosided)\n\t\tSetCullMode(false);\n\n\tm_meshDrawParams.bias = 0.0f;\n\tm_meshDrawParams.expand = expand;\n\n\tm_meshDrawParams.color = (const float4&)(g_colors[colorIndex + 1] * 1.5f);\n\tm_meshDrawParams.secondaryColor = (const float4&)(g_colors[colorIndex] * 1.5f);\n\tm_meshDrawParams.objectTransform = (float4x4&)Matrix44::kIdentity;\n\tm_meshDrawParams.shadowMap = (ShadowMapD3D*)m_shadowMap;\n\n\tm_meshRenderer->draw(m_immediateMesh, &m_meshDrawParams);\n\n\tif (twosided)\n\t\tsetCullMode(true);\n\n\tm_meshDrawParams.bias = m_shadowBias;\n\tm_meshDrawParams.expand = 0.0f;\n}\n\nvoid DemoContextD3D11::drawRope(Vec4* positions, int* indices, int numIndices, float radius, int color)\n{\n\tif (numIndices < 2)\n\t\treturn;\n\n\tstd::vector<Vec3> vertices;\n\tstd::vector<Vec3> normals;\n\tstd::vector<int> triangles;\n\n\t// flatten curve\n\tstd::vector<Vec3> curve(numIndices);\n\tfor (int i = 0; i < numIndices; ++i)\n\t\tcurve[i] = Vec3(positions[indices[i]]);\n\n\tconst int resolution = 8;\n\tconst int smoothing = 3;\n\n\tvertices.reserve(resolution*numIndices*smoothing);\n\tnormals.reserve(resolution*numIndices*smoothing);\n\ttriangles.reserve(numIndices*resolution * 6 * smoothing);\n\n\tExtrude(&curve[0], int(curve.size()), vertices, normals, triangles, radius, resolution, smoothing);\n\n\tm_immediateMesh->updateData(&vertices[0], &normals[0], NULL, NULL, &triangles[0], int(vertices.size()), int(triangles.size())/3);\n\n\tsetCullMode(false);\n\n\tm_meshDrawParams.color = (const float4&)(g_colors[color % 8] * 1.5f);\n\tm_meshDrawParams.secondaryColor = (const float4&)(g_colors[color % 8] * 1.5f);\n\tm_meshDrawParams.objectTransform = (const float4x4&)Matrix44::kIdentity;\n\tm_meshDrawParams.shadowMap = (ShadowMapD3D*)m_shadowMap;\n\n\tm_meshRenderer->draw(m_immediateMesh, &m_meshDrawParams);\n\n\tsetCullMode(true);\n}\n\nvoid DemoContextD3D11::drawPlane(const Vec4& p, bool color)\n{\n\tstd::vector<Vec3> vertices;\n\tstd::vector<Vec3> normals;\n\tstd::vector<int> indices;\n\t\n\tVec3 u, v;\n\tBasisFromVector(Vec3(p.x, p.y, p.z), &u, &v);\n\n\tVec3 c = Vec3(p.x, p.y, p.z)*-p.w;\n\n\tm_meshDrawParams.shadowMap = (ShadowMapD3D*)m_shadowMap;\n\n\tif (color)\n\t\tm_meshDrawParams.color = (const float4&)(p * 0.5f + Vec4(0.5f, 0.5f, 0.5f, 0.5f));\n\n\tconst float kSize = 200.0f;\n\tconst int kGrid = 3;\n\n\t// draw a grid of quads, otherwise z precision suffers\n\tfor (int x = -kGrid; x <= kGrid; ++x)\n\t{\n\t\tfor (int y = -kGrid; y <= kGrid; ++y)\n\t\t{\n\t\t\tVec3 coff = c + u*float(x)*kSize*2.0f + v*float(y)*kSize*2.0f;\n\n\t\t\tint indexStart = int(vertices.size());\n\n\t\t\tvertices.push_back(Vec3(coff + u*kSize + v*kSize));\n\t\t\tvertices.push_back(Vec3(coff - u*kSize + v*kSize));\n\t\t\tvertices.push_back(Vec3(coff - u*kSize - v*kSize));\n\t\t\tvertices.push_back(Vec3(coff + u*kSize - v*kSize));\n\n\t\t\tnormals.push_back(Vec3(p.x, p.y, p.z));\n\t\t\tnormals.push_back(Vec3(p.x, p.y, p.z));\n\t\t\tnormals.push_back(Vec3(p.x, p.y, p.z));\n\t\t\tnormals.push_back(Vec3(p.x, p.y, p.z));\n\n\n\t\t\tindices.push_back(indexStart+0);\n\t\t\tindices.push_back(indexStart+1);\n\t\t\tindices.push_back(indexStart+2);\n\n\t\t\tindices.push_back(indexStart+2);\n\t\t\tindices.push_back(indexStart+3);\n\t\t\tindices.push_back(indexStart+0);\n\t\t}\n\t}\n\n\tm_immediateMesh->updateData(&vertices[0], &normals[0], NULL, NULL, &indices[0], int(vertices.size()), int(indices.size())/3);\n\tm_meshRenderer->draw(m_immediateMesh, &m_meshDrawParams);\n}\n\nvoid DemoContextD3D11::drawPlanes(Vec4* planes, int n, float bias)\n{\n\tm_meshDrawParams.color = (float4&)Vec4(0.9f, 0.9f, 0.9f, 1.0f);\n\n\tm_meshDrawParams.bias = 0.0f;\n\tm_meshDrawParams.grid = 1;\n\tm_meshDrawParams.expand = 0;\n\n\tfor (int i = 0; i < n; ++i)\n\t{\n\t\tVec4 p = planes[i];\n\t\tp.w -= bias;\n\n\t\tdrawPlane(p, false);\n\t}\n\n\tm_meshDrawParams.grid = 0;\n\tm_meshDrawParams.bias = m_shadowBias;\n\t\t\n}\n\nGpuMesh* DemoContextD3D11::createGpuMesh(const Mesh* m)\n{\n\tGpuMeshD3D11* mesh = new GpuMeshD3D11(m_appGraphCtxD3D11->m_device, m_appGraphCtxD3D11->m_deviceContext);\n\tmesh->updateData((Vec3*)&m->m_positions[0], &m->m_normals[0], NULL, NULL, (int*)&m->m_indices[0], m->GetNumVertices(), int(m->GetNumFaces()));\n\treturn (GpuMesh*)mesh;\n}\n\nvoid DemoContextD3D11::destroyGpuMesh(GpuMesh* m)\n{\n\tdelete reinterpret_cast<GpuMeshD3D11*>(m);\n}\n\nvoid DemoContextD3D11::drawGpuMesh(GpuMesh* meshIn, const Matrix44& xform, const Vec3& color)\n{\n\tif (meshIn)\n\t{\n\t\tGpuMeshD3D11* mesh = (GpuMeshD3D11*)meshIn;\n\n\t\tMeshDrawParamsD3D params = m_meshDrawParams;\n\n\t\tparams.color = (float4&)color;\n\t\tparams.secondaryColor = (float4&)color;\n\t\tparams.objectTransform = (float4x4&)xform;\n\t\tparams.shadowMap = (ShadowMapD3D*)m_shadowMap;\n\n\t\tm_meshRenderer->draw(mesh, &params);\n\t}\n}\n\nvoid DemoContextD3D11::drawGpuMeshInstances(GpuMesh* meshIn, const Matrix44* xforms, int n, const Vec3& color)\n{\n\tif (meshIn)\n\t{\n\t\tGpuMeshD3D11* mesh = (GpuMeshD3D11*)meshIn;\n\n\t\tm_meshDrawParams.color = (float4&)color;\n\t\tm_meshDrawParams.secondaryColor = (float4&)color;\n\t\tm_meshDrawParams.shadowMap = (ShadowMapD3D*)m_shadowMap;\n\n\t\t// copy params\n\t\tMeshDrawParamsD3D params(m_meshDrawParams);\n\n\t\tfor (int i = 0; i < n; ++i)\n\t\t{\n\t\t\tparams.objectTransform = (const float4x4&)xforms[i];\n\t\t\tm_meshRenderer->draw(mesh, &params);\n\t\t}\n\t}\n}\n\nvoid DemoContextD3D11::drawPoints(FluidRenderBuffers* buffersIn, int n, int offset, float radius, float screenWidth, float screenAspect, float fov, Vec3 lightPos, Vec3 lightTarget, Matrix44 lightTransform, ShadowMap* shadowTex, bool showDensity)\n{\n\tFluidRenderBuffersD3D11& buffers = *reinterpret_cast<FluidRenderBuffersD3D11*>(buffersIn);\n\tif (n == 0)\n\t\treturn;\n\t\n\tPointDrawParamsD3D params;\n\n\tparams.renderMode = POINT_RENDER_SOLID;\n\tparams.cullMode = POINT_CULL_BACK;\n\tparams.model = (const XMMATRIX&)Matrix44::kIdentity;\n\tparams.view = (const XMMATRIX&)m_view;\n\tparams.projection = (const XMMATRIX&)m_proj;\n\n\tparams.pointRadius = radius;\n\tparams.pointScale = screenWidth / screenAspect * (1.0f / (tanf(fov * 0.5f)));\n\tparams.spotMin = m_spotMin;\n\tparams.spotMax = m_spotMax;\n\n\tint mode = 0;\n\tif (showDensity)\n\t\tmode = 1;\n\tif (shadowTex == 0)\n\t\tmode = 2;\n\tparams.mode = mode;\n\n\tfor (int i = 0; i < 8; i++)\n\t\tparams.colors[i] = *((const float4*)&g_colors[i].r);\n\n\t// set shadow parameters\n\tShadowParamsD3D shadow;\n\tRenderParamsUtilD3D::calcShadowParams(lightPos, lightTarget, lightTransform, m_shadowBias, &shadow);\n\tparams.lightTransform = shadow.lightTransform;\n\tparams.lightDir = shadow.lightDir;\n\tparams.lightPos = shadow.lightPos;\n\tmemcpy(params.shadowTaps, shadow.shadowTaps, sizeof(shadow.shadowTaps));\n\n\tif (m_meshDrawParams.renderStage == MESH_DRAW_SHADOW)\n\t{\n\t\tparams.renderStage = POINT_DRAW_SHADOW;\n\t\tparams.mode = 2;\n\t}\n\telse\n\t{\n\t\tparams.renderStage = POINT_DRAW_LIGHT;\n\t}\n\t\n\tparams.shadowMap = (ShadowMapD3D*)m_shadowMap;\n\n\tm_pointRenderer->draw(&params, buffers.m_positions.Get(), buffers.m_densities.Get(), buffers.m_indices.Get(), n, offset);\n}\n\n#if 0\nextern Mesh* g_mesh;\nvoid DrawShapes();\n#endif\n\nvoid DemoContextD3D11::renderEllipsoids(FluidRenderer* rendererIn, FluidRenderBuffers* buffersIn, int n, int offset, float radius, float screenWidth, float screenAspect, float fov, Vec3 lightPos, Vec3 lightTarget, Matrix44 lightTransform, ShadowMap* shadowMap, Vec4 color, float blur, float ior, bool debug)\n{\n\tFluidRenderBuffersD3D11& buffers = *reinterpret_cast<FluidRenderBuffersD3D11*>(buffersIn);\n\tFluidRendererD3D11& renderer = *(FluidRendererD3D11*)rendererIn;\n\tif (n == 0)\n\t\treturn;\n\n\tID3D11DeviceContext* deviceContext = m_appGraphCtxD3D11->m_deviceContext;\n\n\tFluidDrawParamsD3D params;\n\n\tparams.renderMode = FLUID_RENDER_SOLID;\n\tparams.cullMode = FLUID_CULL_NONE;// FLUID_CULL_BACK;\n\tparams.model = (const XMMATRIX&)Matrix44::kIdentity;\n\tparams.view = (const XMMATRIX&)m_view;\n\tparams.projection = (XMMATRIX&)m_proj;\n\n\tparams.offset = offset;\n\tparams.n = n;\n\tparams.renderStage = FLUID_DRAW_LIGHT;\n\n\tconst float viewHeight = tanf(fov / 2.0f);\n\tparams.invViewport = float3(1.0f / screenWidth, screenAspect / screenWidth, 1.0f);\n\tparams.invProjection = float3(screenAspect * viewHeight, viewHeight, 1.0f);\n\n\t// make sprites larger to get smoother thickness texture\n\tconst float thicknessScale = 4.0f;\n\tparams.pointRadius = thicknessScale * radius;\n\n\tparams.shadowMap = (ShadowMapD3D*)m_shadowMap;\n\n\trenderer.m_thicknessTexture.bindAndClear(m_appGraphCtxD3D11->m_deviceContext);\n#if 0\n\t// This seems redundant.\n\t{\n\t\tm_meshDrawParams.renderStage = MESH_DRAW_LIGHT;\n\t\tm_meshDrawParams.cullMode = MESH_CULL_NONE;\n\n\t\tif (g_mesh)\n\t\t\tDrawMesh(g_mesh, Vec3(1.0f));\n\n\t\tDrawShapes();\n\n\t\tm_meshDrawParams.renderStage = MESH_DRAW_NULL;\n\t\tm_meshDrawParams.cullMode = MESH_CULL_BACK;\n\t}\n#endif\n\trenderer.drawThickness(&params, &buffers);\n\n\trenderer.m_depthTexture.bindAndClear(m_appGraphCtxD3D11->m_deviceContext);\n\trenderer.drawEllipsoids(&params, &buffers);\n\n\t//---------------------------------------------------------------\n\t// build smooth depth\n\n\trenderer.m_depthSmoothTexture.bindAndClear(deviceContext);\n\n\tparams.blurRadiusWorld = radius * 0.5f;\n\tparams.blurScale = screenWidth / screenAspect * (1.0f / (tanf(fov * 0.5f)));\n\tparams.invTexScale = float4(1.0f / screenAspect, 1.0f, 0.0f, 0.0f);\n\tparams.blurFalloff = blur;\n\tparams.debug = debug;\n\n\trenderer.drawBlurDepth(&params);\n\n\t//---------------------------------------------------------------\n\t// composite\n\n\t{\n\t\tdeviceContext->RSSetViewports(1, &m_appGraphCtxD3D11->m_viewport);\n\t\tdeviceContext->RSSetScissorRects(0, nullptr);\n\n\t\tdeviceContext->OMSetRenderTargets(1, &m_appGraphCtxD3D11->m_rtv, m_appGraphCtxD3D11->m_dsv);\n\t\tdeviceContext->OMSetDepthStencilState(m_appGraphCtxD3D11->m_depthState, 0u);\n\n\t\tfloat blendFactor[4] = { 1.0, 1.0, 1.0, 1.0 };\n\t\tdeviceContext->OMSetBlendState(m_compositeBlendState, blendFactor, 0xffff);\n\t}\n\n\tparams.invTexScale = (float4&)Vec2(1.0f / screenWidth, screenAspect / screenWidth);\n\tparams.clipPosToEye = (float4&)Vec2(tanf(fov*0.5f)*screenAspect, tanf(fov*0.5f));\n\tparams.color = (float4&)color;\n\tparams.ior = ior;\n\tparams.spotMin = m_spotMin;\n\tparams.spotMax = m_spotMax;\n\tparams.debug = debug;\n\n\tparams.lightPos = (const float3&)lightPos;\n\tparams.lightDir = (const float3&)-Normalize(lightTarget - lightPos);\n\tparams.lightTransform = (const XMMATRIX&)(ConvertToD3DProjection(lightTransform));\n\n\t// Resolve MS back buffer/copy\n\tif (m_msaaSamples > 1)\n\t{\n\t\tdeviceContext->ResolveSubresource(m_fluidResolvedTarget, 0, m_appGraphCtxD3D11->m_backBuffer, 0, DXGI_FORMAT_R8G8B8A8_UNORM);\n\t}\n\telse\n\t{\n\t\tdeviceContext->CopyResource(m_fluidResolvedTarget, m_appGraphCtxD3D11->m_backBuffer);\n\t}\n\n\trenderer.drawComposite(&params, m_fluidResolvedTargetSRV);\n\n\tdeviceContext->OMSetBlendState(nullptr, 0, 0xffff);\n}\n\nDiffuseRenderBuffers* DemoContextD3D11::createDiffuseRenderBuffers(int numParticles, bool& enableInterop)\n{\n\tID3D11Device* device = m_appGraphCtxD3D11->m_device;\n\tDiffuseRenderBuffersD3D11* buffers = new DiffuseRenderBuffersD3D11;\n\n\tbuffers->m_numParticles = numParticles;\n\tif (numParticles > 0)\n\t{\n\t\t{\n\t\t\tD3D11_BUFFER_DESC bufDesc;\n\t\t\tbufDesc.ByteWidth = numParticles * sizeof(Vec4);\n\t\t\tbufDesc.Usage = D3D11_USAGE_DYNAMIC;\n\t\t\tbufDesc.BindFlags = D3D11_BIND_VERTEX_BUFFER;\n\t\t\tbufDesc.CPUAccessFlags = D3D11_CPU_ACCESS_WRITE;\n\t\t\tbufDesc.MiscFlags = 0;\n\t\t\tif (enableInterop)\n\t\t\t{\n\t\t\t\tbufDesc.CPUAccessFlags = 0;\n\t\t\t\tbufDesc.Usage = D3D11_USAGE_DEFAULT;\n\t\t\t\tbufDesc.MiscFlags = D3D11_RESOURCE_MISC_SHARED;\n\t\t\t}\n\n\t\t\tdevice->CreateBuffer(&bufDesc, NULL, buffers->m_positions.ReleaseAndGetAddressOf());\n\t\t\tdevice->CreateBuffer(&bufDesc, NULL, buffers->m_velocities.ReleaseAndGetAddressOf()); \n\t\t}\n\n\t\tif (enableInterop)\n\t\t{\n\t\t\textern NvFlexLibrary* g_flexLib;\n\n\t\t\tbuffers->m_positionsBuf = NvFlexRegisterD3DBuffer(g_flexLib, buffers->m_positions.Get(), numParticles, sizeof(Vec4));\n\t\t\tbuffers->m_velocitiesBuf = NvFlexRegisterD3DBuffer(g_flexLib, buffers->m_velocities.Get(), numParticles, sizeof(Vec4));\n\n\t\t\tif (buffers->m_positionsBuf\t\t== nullptr ||\n\t\t\t\tbuffers->m_velocitiesBuf\t== nullptr)\n\t\t\t\tenableInterop = false;\n\t\t}\n\t}\n\n\treturn reinterpret_cast<DiffuseRenderBuffers*>(buffers);\n}\n\nvoid DemoContextD3D11::destroyDiffuseRenderBuffers(DiffuseRenderBuffers* buffers)\n{\n\tdelete reinterpret_cast<DiffuseRenderBuffersD3D11*>(buffers);\n}\n\nvoid DemoContextD3D11::updateDiffuseRenderBuffers(DiffuseRenderBuffers* buffersIn, NvFlexSolver* solver)\n{\n\tDiffuseRenderBuffersD3D11* buffers = reinterpret_cast<DiffuseRenderBuffersD3D11*>(buffersIn);\n\t// diffuse particles\n\tif (buffers->m_numParticles)\n\t{\n\t\tNvFlexGetDiffuseParticles(solver, buffers->m_positionsBuf, buffers->m_velocitiesBuf, nullptr);\n\t}\n}\n\nvoid DemoContextD3D11::updateDiffuseRenderBuffers(DiffuseRenderBuffers* buffersIn, Vec4* diffusePositions, Vec4* diffuseVelocities, int numDiffuseParticles) \n{\n\tDiffuseRenderBuffersD3D11& buffers = *reinterpret_cast<DiffuseRenderBuffersD3D11*>(buffersIn);\n\tID3D11DeviceContext* deviceContext = m_appGraphCtxD3D11->m_deviceContext;\n\n\tD3D11_MAPPED_SUBRESOURCE res;\n\n\t// vertices\n\tif (diffusePositions)\n\t{\n\t\tdeviceContext->Map(buffers.m_positions.Get(), 0, D3D11_MAP_WRITE_DISCARD, 0, &res);\n\t\tmemcpy(res.pData, diffusePositions, sizeof(Vec4)*numDiffuseParticles);\n\t\tdeviceContext->Unmap(buffers.m_positions.Get(), 0);\n\t}\n\n\tif (diffuseVelocities)\n\t{\n\t\tdeviceContext->Map(buffers.m_velocities.Get(), 0, D3D11_MAP_WRITE_DISCARD, 0, &res);\n\t\tmemcpy(res.pData, diffuseVelocities, sizeof(Vec4)*numDiffuseParticles);\n\t\tdeviceContext->Unmap(buffers.m_velocities.Get(), 0);\n\t}\n}\n\nvoid DemoContextD3D11::drawDiffuse(FluidRenderer* renderIn, const DiffuseRenderBuffers* buffersIn, int n, float radius, float screenWidth, float screenAspect, float fov, Vec4 color, Vec3 lightPos, Vec3 lightTarget, Matrix44 lightTransform, ShadowMap* shadowMap, float motionBlur, float inscatter, float outscatter, bool shadowEnabled, bool front)\n{\n\tFluidRendererD3D11* render = (FluidRendererD3D11*)renderIn;\n\tconst DiffuseRenderBuffersD3D11& buffers = *reinterpret_cast<const DiffuseRenderBuffersD3D11*>(buffersIn);\n\tif (n == 0)\n\t\treturn;\n\n\tDiffuseDrawParamsD3D params;\n\n\tparams.model = (const XMMATRIX&)Matrix44::kIdentity;\n\tparams.view = (const XMMATRIX&)m_view;\n\tparams.projection = (const XMMATRIX&)m_proj;\n\tparams.diffuseRadius = screenWidth / screenAspect * (1.0f / (tanf(fov * 0.5f)));\n\tparams.diffuseScale = radius;\n\tparams.spotMin = m_spotMin;\n\tparams.spotMax = m_spotMax;\n\tparams.color = float4(1.0f, 1.0f, 1.0f, 1.0f);\n\tparams.motionScale = motionBlur;\n\n\t// set shadow parameters\n\tShadowParamsD3D shadow;\n\tRenderParamsUtilD3D::calcShadowParams(lightPos, lightTarget, lightTransform, m_shadowBias, &shadow);\n\tparams.lightTransform = shadow.lightTransform;\n\tparams.lightDir = shadow.lightDir;\n\tparams.lightPos = shadow.lightPos;\n\tparams.shadowMap = (ShadowMapD3D*)m_shadowMap;\n\n\tmemcpy(params.shadowTaps, shadow.shadowTaps, sizeof(shadow.shadowTaps));\n\t\n\tm_diffuseRenderer->draw(&params, buffers.m_positions.Get(), buffers.m_velocities.Get(), n);\n\n\t// reset depth stencil state\n\tm_appGraphCtxD3D11->m_deviceContext->OMSetDepthStencilState(m_appGraphCtxD3D11->m_depthState, 0u);\n}\n\nint DemoContextD3D11::getNumDiffuseRenderParticles(DiffuseRenderBuffers* buffers)\n{\n\treturn reinterpret_cast<DiffuseRenderBuffersD3D11*>(buffers)->m_numParticles;\n}\n\nvoid DemoContextD3D11::beginLines() \n{\n}\n\nvoid DemoContextD3D11::drawLine(const Vec3& p, const Vec3& q, const Vec4& color) \n{\n\tm_debugLineRender->addLine(p, q, color);\n}\n\nvoid DemoContextD3D11::endLines() \n{\n\t// draw\n\tMatrix44 projectionViewWorld = ((Matrix44&)(m_meshDrawParams.projection))*((Matrix44&)(m_meshDrawParams.view));\n\n\tm_debugLineRender->flush(projectionViewWorld);\n}\n\nvoid DemoContextD3D11::startGpuWork() {}\nvoid DemoContextD3D11::endGpuWork() {}\n\nvoid DemoContextD3D11::flushGraphicsAndWait() \n{\n\tID3D11DeviceContext* deviceContext = m_appGraphCtxD3D11->m_deviceContext;\n\n\tdeviceContext->End(m_renderCompletionFence);\n\twhile (S_OK != deviceContext->GetData(m_renderCompletionFence, 0, 0, 0));\n}\n\nvoid* DemoContextD3D11::getGraphicsCommandQueue() { return NULL; }\n\nvoid DemoContextD3D11::drawImguiGraph() \n{ \n\timguiGraphDraw();\n}\n"
  },
  {
    "path": "demo/d3d11/demoContextD3D11.h",
    "content": "/*\n * Copyright (c) 2008-2017, NVIDIA CORPORATION.  All rights reserved.\n *\n * NVIDIA CORPORATION and its licensors retain all intellectual property\n * and proprietary rights in and to this software, related documentation\n * and any modifications thereto.  Any use, reproduction, disclosure or\n * distribution of this software and related documentation without an express\n * license agreement from NVIDIA CORPORATION is strictly prohibited.\n */\n\n#pragma once\n\n\nstruct DemoContextD3D11 : public DemoContext\n{\npublic:\n\n\t// DemoContext Impl\n\tvirtual bool initialize(const RenderInitOptions& options);\n\tvirtual void startFrame(Vec4 colorIn);\n\tvirtual void endFrame();\n\tvirtual void presentFrame(bool fullsync);\n\tvirtual void readFrame(int* backbuffer, int width, int height);\n\tvirtual void getViewRay(int x, int y, Vec3& origin, Vec3& dir);\n\tvirtual void setView(Matrix44 view, Matrix44 projection);\n\tvirtual void renderEllipsoids(FluidRenderer* renderer, FluidRenderBuffers* buffers, int n, int offset, float radius, float screenWidth, float screenAspect, float fov, Vec3 lightPos, Vec3 lightTarget, Matrix44 lightTransform, ::ShadowMap* shadowMap, Vec4 color, float blur, float ior, bool debug);\n\tvirtual void drawMesh(const Mesh* m, Vec3 color);\n\tvirtual void drawCloth(const Vec4* positions, const Vec4* normals, const float* uvs, const int* indices, int numTris, int numPositions, int colorIndex, float expand, bool twosided, bool smooth);\n\tvirtual void drawRope(Vec4* positions, int* indices, int numIndices, float radius, int color);\n\tvirtual void drawPlane(const Vec4& p, bool color);\n\tvirtual void drawPlanes(Vec4* planes, int n, float bias);\n\tvirtual void drawPoints(FluidRenderBuffers* buffers, int n, int offset, float radius, float screenWidth, float screenAspect, float fov, Vec3 lightPos, Vec3 lightTarget, Matrix44 lightTransform, ::ShadowMap* shadowTex, bool showDensity);\n\tvirtual void graphicsTimerBegin();\n\tvirtual void graphicsTimerEnd();\n\tvirtual float rendererGetDeviceTimestamps(unsigned long long* begin, unsigned long long* end, unsigned long long* freq);\n\tvirtual void bindSolidShader(Vec3 lightPos, Vec3 lightTarget, Matrix44 lightTransform, ::ShadowMap* shadowMap, float bias, Vec4 fogColor);\n\tvirtual void unbindSolidShader();\n\tvirtual ShadowMap* shadowCreate();\n\tvirtual void shadowDestroy(ShadowMap* map);\n\tvirtual void shadowBegin(ShadowMap* map);\n\tvirtual void shadowEnd();\n\tvirtual FluidRenderer* createFluidRenderer(uint32_t width, uint32_t height);\n\tvirtual void destroyFluidRenderer(FluidRenderer* renderer);\n\tvirtual FluidRenderBuffers* createFluidRenderBuffers(int numParticles, bool enableInterop);\n\tvirtual void updateFluidRenderBuffers(FluidRenderBuffers* buffers, NvFlexSolver* flex, bool anisotropy, bool density);\n\tvirtual void updateFluidRenderBuffers(FluidRenderBuffers* buffers, Vec4* particles, float* densities, Vec4* anisotropy1, Vec4* anisotropy2, Vec4* anisotropy3, int numParticles, int* indices, int numIndices);\n\tvirtual void destroyFluidRenderBuffers(FluidRenderBuffers* buffers);\n\tvirtual GpuMesh* createGpuMesh(const Mesh* m);\n\tvirtual void destroyGpuMesh(GpuMesh* mesh);\n\tvirtual void drawGpuMesh(GpuMesh* m, const Matrix44& xform, const Vec3& color);\n\tvirtual void drawGpuMeshInstances(GpuMesh* m, const Matrix44* xforms, int n, const Vec3& color);\n\tvirtual DiffuseRenderBuffers* createDiffuseRenderBuffers(int numDiffuseParticles, bool& enableInterop);\n\tvirtual void destroyDiffuseRenderBuffers(DiffuseRenderBuffers* buffers);\n\tvirtual void updateDiffuseRenderBuffers(DiffuseRenderBuffers* buffers, Vec4* diffusePositions, Vec4* diffuseVelocities, int numDiffuseParticles);\n\tvirtual void updateDiffuseRenderBuffers(DiffuseRenderBuffers* buffers, NvFlexSolver* solver);\n\tvirtual void drawDiffuse(FluidRenderer* render, const DiffuseRenderBuffers* buffers, int n, float radius, float screenWidth, float screenAspect, float fov, Vec4 color, Vec3 lightPos, Vec3 lightTarget, Matrix44 lightTransform, ::ShadowMap* shadowMap, float motionBlur, float inscatter, float outscatter, bool shadowEnabled, bool front);\n\tvirtual int getNumDiffuseRenderParticles(DiffuseRenderBuffers* buffers);\n\tvirtual void beginLines();\n\tvirtual void drawLine(const Vec3& p, const Vec3& q, const Vec4& color);\n\tvirtual void endLines();\n\tvirtual void onSizeChanged(int width, int height, bool minimized);\n\tvirtual void startGpuWork();\n\tvirtual void endGpuWork();\n\tvirtual void flushGraphicsAndWait();\n\tvirtual void setFillMode(bool wire);\n\tvirtual void setCullMode(bool enabled);\n\tvirtual void drawImguiGraph();\n\tvirtual void* getGraphicsCommandQueue();\n\tvirtual void getRenderDevice(void** device, void** context);\n\n\tDemoContextD3D11();\n\tvirtual ~DemoContextD3D11();\n\nprotected:\n\tvoid _flushFrame();\n\tvoid _onWindowSizeChanged(int width, int height, bool minimized);\n\n\tDebugLineRenderD3D11* m_debugLineRender;\n\tMeshRendererD3D11* m_meshRenderer;\n\tPointRendererD3D11* m_pointRenderer;\n\tDiffuseRendererD3D11* m_diffuseRenderer;\n\n\t// Used when blending water in the final 'composite' phase\n\tID3D11BlendState* m_compositeBlendState;\n\n\t// Target texture resolved/copied to for combination rendering from for water surface\n\tID3D11Texture2D* m_fluidResolvedTarget;\n\tID3D11ShaderResourceView* m_fluidResolvedTargetSRV;\n\tID3D11Texture2D* m_fluidResolvedStage;\n\n\tAppGraphCtx* m_appGraphCtx;\n\tAppGraphCtxD3D11* m_appGraphCtxD3D11;\n\n\tfloat m_spotMin;\n\tfloat m_spotMax;\n\tfloat m_shadowBias;\n\n\tMeshDrawParamsD3D m_meshDrawParams;\n\n\tMatrix44 m_view;\n\tMatrix44 m_proj;\n\n\tShadowMapD3D11* m_shadowMap;\n\tGpuMeshD3D11* m_immediateMesh;\n\n\tSDL_Window* m_window;\n\n\tint m_msaaSamples;\n\n\tID3D11Query* m_renderTimerDisjoint;\n\tID3D11Query* m_renderTimerBegin;\n\tID3D11Query* m_renderTimerEnd;\n\tID3D11Query* m_renderCompletionFence;\n\tbool m_timersSet = false;\n};\n"
  },
  {
    "path": "demo/d3d11/diffuseRenderD3D11.cpp",
    "content": "/*\n * Copyright (c) 2008-2017, NVIDIA CORPORATION.  All rights reserved.\n *\n * NVIDIA CORPORATION and its licensors retain all intellectual property\n * and proprietary rights in and to this software, related documentation\n * and any modifications thereto.  Any use, reproduction, disclosure or\n * distribution of this software and related documentation without an express\n * license agreement from NVIDIA CORPORATION is strictly prohibited.\n */\n\n//direct3d headers\n\n#define NOMINMAX\n\n#include <d3d11.h>\n\n// include the Direct3D Library file\n#pragma comment (lib, \"d3d11.lib\")\n\n#include <math.h>\n\n#include \"appD3D11Ctx.h\"\n\n#include \"diffuseRenderD3D11.h\"\n\n#include \"../d3d/shaders/diffuseVS.hlsl.h\"\n#include \"../d3d/shaders/diffuseGS.hlsl.h\"\n#include \"../d3d/shaders/diffusePS.hlsl.h\"\n\n#include \"../d3d/shaderCommonD3D.h\"\n\nvoid DiffuseRendererD3D11::init(ID3D11Device* device, ID3D11DeviceContext* context)\n{\n\tm_device = device;\n\tm_deviceContext = context;\n\n\t// create the input layout\n\t{\n\t\tD3D11_INPUT_ELEMENT_DESC inputElementDescs[] =\n\t\t{\n\t\t\t{ \"POSITION\", 0, DXGI_FORMAT_R32G32B32A32_FLOAT, 0, 0, D3D11_INPUT_PER_VERTEX_DATA, 0 },\n\t\t\t{ \"VELOCITY\", 0, DXGI_FORMAT_R32G32B32A32_FLOAT, 1, 0, D3D11_INPUT_PER_VERTEX_DATA, 0 },\n\t\t};\n\n\t\tm_device->CreateInputLayout(inputElementDescs, 2, g_diffuseVS, sizeof(g_diffuseVS), &m_inputLayout);\n\t}\n\n\t// create the shaders\n\tm_device->CreateVertexShader(g_diffuseVS, sizeof(g_diffuseVS), nullptr, &m_diffuseVs);\n\tm_device->CreateGeometryShader(g_diffuseGS, sizeof(g_diffuseGS), nullptr, &m_diffuseGs);\n\tm_device->CreatePixelShader(g_diffusePS, sizeof(g_diffusePS), nullptr, &m_diffusePs);\n\n\t{\n\t\tD3D11_BLEND_DESC blendDesc = {};\n\t\tblendDesc.AlphaToCoverageEnable = false;\n\t\tblendDesc.IndependentBlendEnable = false;\n\t\tblendDesc.RenderTarget[0].BlendEnable = true;\n\t\tblendDesc.RenderTarget[0].SrcBlend = D3D11_BLEND_ONE;\n\t\tblendDesc.RenderTarget[0].DestBlend = D3D11_BLEND_INV_SRC_ALPHA;\n\t\tblendDesc.RenderTarget[0].BlendOp = D3D11_BLEND_OP_ADD;\n\t\tblendDesc.RenderTarget[0].SrcBlendAlpha = D3D11_BLEND_ONE;\n\t\tblendDesc.RenderTarget[0].DestBlendAlpha = D3D11_BLEND_INV_SRC_ALPHA;\n\t\tblendDesc.RenderTarget[0].BlendOpAlpha = D3D11_BLEND_OP_ADD;\n\t\tblendDesc.RenderTarget[0].RenderTargetWriteMask = D3D11_COLOR_WRITE_ENABLE_ALL;\n\n\t\tm_device->CreateBlendState(&blendDesc, &m_blendState);\n\t}\n\n\t{\n\t\tD3D11_DEPTH_STENCIL_DESC depthStateDesc = {};\n\t\tdepthStateDesc.DepthEnable = TRUE;\t\n\t\tdepthStateDesc.DepthWriteMask = D3D11_DEPTH_WRITE_MASK_ZERO;\n\t\tdepthStateDesc.DepthFunc = D3D11_COMPARISON_LESS_EQUAL;\n\n\t\tdevice->CreateDepthStencilState(&depthStateDesc, &m_depthStencilState);\n\t}\n\n\t// create a constant buffer\n\t{\n\t\tD3D11_BUFFER_DESC bufDesc;\n\t\tbufDesc.ByteWidth = sizeof(Hlsl::DiffuseShaderConst); // 64 * sizeof(float);\n\t\tbufDesc.Usage = D3D11_USAGE_DYNAMIC;\n\t\tbufDesc.BindFlags = D3D11_BIND_CONSTANT_BUFFER;\n\t\tbufDesc.CPUAccessFlags = D3D11_CPU_ACCESS_WRITE;\n\t\tbufDesc.MiscFlags = 0;\n\n\t\tm_device->CreateBuffer(&bufDesc, nullptr, &m_constantBuffer);\n\t}\n\n\t// create the rastersizer state\n\t{\n\t\tD3D11_RASTERIZER_DESC desc = {};\n\t\tdesc.FillMode = D3D11_FILL_SOLID;\n\t\tdesc.CullMode = D3D11_CULL_NONE;\n\t\tdesc.FrontCounterClockwise = TRUE;\t// This is non-default\n\t\tdesc.DepthBias = 0;\n\t\tdesc.DepthBiasClamp = 0.f;\n\t\tdesc.SlopeScaledDepthBias = 0.f;\n\t\tdesc.DepthClipEnable = TRUE;\n\t\tdesc.ScissorEnable = FALSE;\n\t\tdesc.MultisampleEnable = FALSE;\n\t\tdesc.AntialiasedLineEnable = FALSE;\n\n\t\tm_device->CreateRasterizerState(&desc, &m_rasterizerState);\n\t}\n}\n\nvoid DiffuseRendererD3D11::draw(const DiffuseDrawParamsD3D* params, ID3D11Buffer* positions, ID3D11Buffer* velocities, int numParticles)\n{\n\tusing namespace DirectX;\n\tID3D11DeviceContext* deviceContext = m_deviceContext;\n\n\t// update constant buffer\n\t{\n\t\tD3D11_MAPPED_SUBRESOURCE mappedResource = { 0 };\n\t\tif (SUCCEEDED(deviceContext->Map(m_constantBuffer.Get(), 0u, D3D11_MAP_WRITE_DISCARD, 0, &mappedResource)))\n\t\t{\n\t\t\tHlsl::DiffuseShaderConst constBuf;\n\t\t\tRenderParamsUtilD3D::calcDiffuseConstantBuffer(*params, constBuf);\n\t\t\tmemcpy(mappedResource.pData, &constBuf, sizeof(Hlsl::DiffuseShaderConst));\n\t\t\tdeviceContext->Unmap(m_constantBuffer.Get(), 0u);\n\t\t}\n\t}\n\n\tdeviceContext->VSSetShader(m_diffuseVs.Get(), nullptr, 0u);\n\tdeviceContext->GSSetShader(m_diffuseGs.Get(), nullptr, 0u);\n\tdeviceContext->PSSetShader(m_diffusePs.Get(), nullptr, 0u);\n\n\tif (params->shadowMap)\n\t{\n\t\tShadowMapD3D11* shadowMap = (ShadowMapD3D11*)params->shadowMap;\n\t\t\n\t\tID3D11ShaderResourceView* srvs[1] = { shadowMap->m_depthSrv.Get() };\n\t\tdeviceContext->PSSetShaderResources(0, 1, srvs);\n\t\tID3D11SamplerState* samps[1] = { shadowMap->m_linearSampler.Get() };\n\t\tdeviceContext->PSSetSamplers(0, 1, samps);\n\t}\n\n\tdeviceContext->IASetInputLayout(m_inputLayout.Get());\n\tdeviceContext->IASetPrimitiveTopology(D3D11_PRIMITIVE_TOPOLOGY_POINTLIST);\n\n\tdeviceContext->VSSetConstantBuffers(0, 1, m_constantBuffer.GetAddressOf());\n\tdeviceContext->GSSetConstantBuffers(0, 1, m_constantBuffer.GetAddressOf());\n\tdeviceContext->PSSetConstantBuffers(0, 1, m_constantBuffer.GetAddressOf());\n\n\tID3D11Buffer* vertexBuffers[2] = \n\t{\n\t\tpositions,\n\t\tvelocities\n\t};\n\n\tunsigned int vertexBufferStrides[2] =\n\t{\n\t\tsizeof(float4),\n\t\tsizeof(float4),\n\t};\n\n\tunsigned int vertexBufferOffsets[2] = { 0 };\n\n\tdeviceContext->IASetVertexBuffers(0, 2, vertexBuffers, vertexBufferStrides, vertexBufferOffsets);\n\tdeviceContext->IASetIndexBuffer(NV_NULL, DXGI_FORMAT_R32_UINT, 0u);\n\n\tdeviceContext->OMSetBlendState(m_blendState.Get(), nullptr, 0xFFFFFFFF);\n\tdeviceContext->OMSetDepthStencilState(m_depthStencilState.Get(), 0u);\n\n\tfloat depthSign = DirectX::XMVectorGetW(params->projection.r[2]);\n\tif (depthSign < 0.f)\n\t{\n\t\tdeviceContext->RSSetState(m_rasterizerState.Get());\n\t}\n\t\n\tdeviceContext->Draw(numParticles, 0);\n\n\tif (depthSign < 0.f)\n\t{\n\t\tdeviceContext->RSSetState(nullptr);\n\t}\n\n\tdeviceContext->GSSetShader(nullptr, nullptr, 0u);\n\tdeviceContext->OMSetDepthStencilState(nullptr, 0u);\n\tdeviceContext->OMSetBlendState(nullptr, nullptr, 0xFFFFFFFF);\n}\n"
  },
  {
    "path": "demo/d3d11/diffuseRenderD3D11.h",
    "content": "/*\n * Copyright (c) 2008-2017, NVIDIA CORPORATION.  All rights reserved.\n *\n * NVIDIA CORPORATION and its licensors retain all intellectual property\n * and proprietary rights in and to this software, related documentation\n * and any modifications thereto.  Any use, reproduction, disclosure or\n * distribution of this software and related documentation without an express\n * license agreement from NVIDIA CORPORATION is strictly prohibited.\n */\n\n#pragma once\n\n#include <DirectXMath.h>\n\n#include \"shadowMapD3D11.h\"\n#include \"../include/NvFlex.h\"\n#include \"../d3d/renderParamsD3D.h\"\n#include \"shaders.h\"\n\n#include <wrl.h>\nusing namespace Microsoft::WRL;\n\n// vertex buffers for diffuse particles\nstruct DiffuseRenderBuffersD3D11\n{\n\tDiffuseRenderBuffersD3D11() :\n\t\tm_positionsBuf(nullptr),\n\t\tm_velocitiesBuf(nullptr)\n\t{\n\t\tm_numParticles = 0;\n\t}\n\n\t~DiffuseRenderBuffersD3D11()\n\t{\n\t\tif (m_numParticles > 0)\n\t\t{\n\t\t\tNvFlexUnregisterD3DBuffer(m_positionsBuf);\n\t\t\tNvFlexUnregisterD3DBuffer(m_velocitiesBuf);\n\t\t}\n\t}\n\n\tint m_numParticles;\n\n\tComPtr<ID3D11Buffer> m_positions;\n\tComPtr<ID3D11Buffer> m_velocities;\n\t\n\tNvFlexBuffer* m_positionsBuf;\n\tNvFlexBuffer* m_velocitiesBuf;\n};\n\nstruct DiffuseRendererD3D11\n{\n\tvoid init(ID3D11Device* device, ID3D11DeviceContext* deviceContext);\n\t\n\tvoid draw(const DiffuseDrawParamsD3D* params, ID3D11Buffer* positions, ID3D11Buffer* velocities, int numParticles);\n\n\tDiffuseRendererD3D11():\n\t\tm_device(nullptr),\n\t\tm_deviceContext(nullptr)\n\t{}\n\n\tID3D11Device* m_device;\n\tID3D11DeviceContext* m_deviceContext;\n\n\tComPtr<ID3D11InputLayout> m_inputLayout;\n\n\tComPtr<ID3D11VertexShader> m_diffuseVs;\n\tComPtr<ID3D11GeometryShader> m_diffuseGs;\n\tComPtr<ID3D11PixelShader> m_diffusePs;\n\n\tComPtr<ID3D11Buffer> m_constantBuffer;\n\tComPtr<ID3D11RasterizerState> m_rasterizerState;\n\n\tComPtr<ID3D11BlendState> m_blendState;\n\tComPtr<ID3D11DepthStencilState> m_depthStencilState;\n};\n"
  },
  {
    "path": "demo/d3d11/fluidRenderD3D11.cpp",
    "content": "/*\n * Copyright (c) 2008-2017, NVIDIA CORPORATION.  All rights reserved.\n *\n * NVIDIA CORPORATION and its licensors retain all intellectual property\n * and proprietary rights in and to this software, related documentation\n * and any modifications thereto.  Any use, reproduction, disclosure or\n * distribution of this software and related documentation without an express\n * license agreement from NVIDIA CORPORATION is strictly prohibited.\n */\n\n//direct3d headers\n\n#define NOMINMAX \n\n#include <d3d11.h>\n\n// include the Direct3D Library file\n#pragma comment (lib, \"d3d11.lib\")\n\n#include <math.h>\n\n#include \"appD3D11Ctx.h\"\n\n#include \"fluidRenderD3D11.h\"\n\n#include \"../d3d/shaders/pointThicknessVS.hlsl.h\"\n#include \"../d3d/shaders/pointThicknessGS.hlsl.h\"\n#include \"../d3d/shaders/pointThicknessPS.hlsl.h\"\n#include \"../d3d/shaders/ellipsoidDepthVS.hlsl.h\"\n#include \"../d3d/shaders/ellipsoidDepthGS.hlsl.h\"\n#include \"../d3d/shaders/ellipsoidDepthPS.hlsl.h\"\n#include \"../d3d/shaders/passThroughVS.hlsl.h\"\n#include \"../d3d/shaders/blurDepthPS.hlsl.h\"\n#include \"../d3d/shaders/compositePS.hlsl.h\"\n\n#include \"../d3d/shaderCommonD3D.h\"\n\n#include \"renderTargetD3D11.h\"\n#include \"shadowMapD3D11.h\"\n\n#include \"shaders.h\"\n\ntypedef DirectX::XMFLOAT2 float2;\n\nusing namespace DirectX;\n\nstruct PassthroughVertex\n{\n\tfloat3 position;\n\tfloat3 normal;\n\tfloat2 texcoords;\n\tfloat4 color;\n};\n\nvoid FluidRendererD3D11::init(ID3D11Device* device, ID3D11DeviceContext* context, int width, int height)\n{\n\tm_sceneWidth = width;\n\tm_sceneHeight = height;\n\n\tm_thicknessTexture.init(device, width, height);\n\tm_depthTexture.init(device, width, height);\n\tm_depthSmoothTexture.init(device, width, height, false);\n\n\tm_device = device;\n\tm_deviceContext = context;\n\n\t// create the input layout\n\t{\n\t\tD3D11_INPUT_ELEMENT_DESC inputElementDescs[] =\n\t\t{\n\t\t\t{ \"POSITION\", 0, DXGI_FORMAT_R32G32B32A32_FLOAT, 0, 0, D3D11_INPUT_PER_VERTEX_DATA, 0 },\n\t\t\t{ \"U\", 0, DXGI_FORMAT_R32G32B32A32_FLOAT, 0, D3D11_APPEND_ALIGNED_ELEMENT, D3D11_INPUT_PER_VERTEX_DATA, 0 },\n\t\t\t{ \"V\", 0, DXGI_FORMAT_R32G32B32A32_FLOAT, 0, D3D11_APPEND_ALIGNED_ELEMENT, D3D11_INPUT_PER_VERTEX_DATA, 0 },\n\t\t\t{ \"W\", 0, DXGI_FORMAT_R32G32B32A32_FLOAT, 0, D3D11_APPEND_ALIGNED_ELEMENT, D3D11_INPUT_PER_VERTEX_DATA, 0 },\n\t\t};\n\n\t\tm_device->CreateInputLayout(inputElementDescs, 4, g_pointThicknessVS, sizeof(g_pointThicknessVS), &m_pointThicknessLayout);\n\t}\n\n\t// create the shaders\n\tm_device->CreateVertexShader(g_pointThicknessVS, sizeof(g_pointThicknessVS), nullptr, &m_pointThicknessVs);\n\tm_device->CreateGeometryShader(g_pointThicknessGS, sizeof(g_pointThicknessGS), nullptr, &m_pointThicknessGs);\n\tm_device->CreatePixelShader(g_pointThicknessPS, sizeof(g_pointThicknessPS), nullptr, &m_pointThicknessPs);\n\t\n\t// create the input layout\n\t{\n\t\tD3D11_INPUT_ELEMENT_DESC inputElementDescs[] =\n\t\t{\n\t\t\t{ \"POSITION\", 0, DXGI_FORMAT_R32G32B32A32_FLOAT, 0, 0, D3D11_INPUT_PER_VERTEX_DATA, 0 },\n\t\t\t{ \"U\", 0, DXGI_FORMAT_R32G32B32A32_FLOAT, 1, 0, D3D11_INPUT_PER_VERTEX_DATA, 0 },\n\t\t\t{ \"V\", 0, DXGI_FORMAT_R32G32B32A32_FLOAT, 2, 0, D3D11_INPUT_PER_VERTEX_DATA, 0 },\n\t\t\t{ \"W\", 0, DXGI_FORMAT_R32G32B32A32_FLOAT, 3, 0, D3D11_INPUT_PER_VERTEX_DATA, 0 },\n\t\t};\n\n\t\tm_device->CreateInputLayout(inputElementDescs, 4, g_ellipsoidDepthVS, sizeof(g_ellipsoidDepthVS), &m_ellipsoidDepthLayout);\n\t}\n\n\t// create the shaders\n\tm_device->CreateVertexShader(g_ellipsoidDepthVS, sizeof(g_ellipsoidDepthVS), nullptr, &m_ellipsoidDepthVs);\n\tm_device->CreateGeometryShader(g_ellipsoidDepthGS, sizeof(g_ellipsoidDepthGS), nullptr, &m_ellipsoidDepthGs);\n\tm_device->CreatePixelShader(g_ellipsoidDepthPS, sizeof(g_ellipsoidDepthPS), nullptr, &m_ellipsoidDepthPs);\n\n\t// create the input layout\n\t{\n\t\tD3D11_INPUT_ELEMENT_DESC inputElementDescs[] =\n\t\t{\n\t\t\t{ \"POSITION\", 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, D3D11_APPEND_ALIGNED_ELEMENT, D3D11_INPUT_PER_VERTEX_DATA, 0 },\n\t\t\t{ \"NORMAL\", 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, D3D11_APPEND_ALIGNED_ELEMENT, D3D11_INPUT_PER_VERTEX_DATA, 0 },\n\t\t\t{ \"TEXCOORD\", 0, DXGI_FORMAT_R32G32_FLOAT, 0, D3D11_APPEND_ALIGNED_ELEMENT, D3D11_INPUT_PER_VERTEX_DATA, 0 },\n\t\t\t{ \"COLOR\", 0, DXGI_FORMAT_R32G32B32A32_FLOAT, 0, D3D11_APPEND_ALIGNED_ELEMENT, D3D11_INPUT_PER_VERTEX_DATA, 0 }\n\t\t};\n\n\t\tm_device->CreateInputLayout(inputElementDescs, 4, g_passThroughVS, sizeof(g_passThroughVS), &m_passThroughLayout);\n\t}\n\n\t// pass through shader\n\tm_device->CreateVertexShader(g_passThroughVS, sizeof(g_passThroughVS), nullptr, &m_passThroughVs);\n\n\t// full screen pixel shaders\n\tm_device->CreatePixelShader(g_blurDepthPS, sizeof(g_blurDepthPS), nullptr, &m_blurDepthPs);\n\tm_device->CreatePixelShader(g_compositePS, sizeof(g_compositePS), nullptr, &m_compositePs);\n\n\t// create a constant buffer\n\t{\n\t\tD3D11_BUFFER_DESC bufDesc;\n\t\tbufDesc.ByteWidth = sizeof(Hlsl::FluidShaderConst); // 64 * sizeof(float);\n\t\tbufDesc.Usage = D3D11_USAGE_DYNAMIC;\n\t\tbufDesc.BindFlags = D3D11_BIND_CONSTANT_BUFFER;\n\t\tbufDesc.CPUAccessFlags = D3D11_CPU_ACCESS_WRITE;\n\t\tbufDesc.MiscFlags = 0;\n\n\t\tm_device->CreateBuffer(&bufDesc, nullptr, &m_constantBuffer);\n\t}\n\n\t// create the rastersizer state\n\tfor (int i = 0; i < NUM_FLUID_RENDER_MODES; i++)\n\t{\n\t\tfor (int j = 0; j < NUM_FLUID_CULL_MODES; j++)\n\t\t{\n\t\t\tD3D11_RASTERIZER_DESC desc = {};\n\t\t\tdesc.FillMode = (D3D11_FILL_MODE)(D3D11_FILL_WIREFRAME + i);\n\t\t\tdesc.CullMode = (D3D11_CULL_MODE)(D3D11_CULL_NONE + j);\n\t\t\tdesc.FrontCounterClockwise = TRUE;\t// This is non-default\n\t\t\tdesc.DepthBias = 0;\n\t\t\tdesc.DepthBiasClamp = 0.f;\n\t\t\tdesc.SlopeScaledDepthBias = 0.f;\n\t\t\tdesc.DepthClipEnable = TRUE;\n\t\t\tdesc.ScissorEnable = FALSE;\n\t\t\tdesc.MultisampleEnable = FALSE;\n\t\t\tdesc.AntialiasedLineEnable = FALSE;\n\n\t\t\tm_device->CreateRasterizerState(&desc, &m_rasterizerState[i][j]);\n\t\t}\n\t}\n\n\t_createScreenQuad();\n}\n\nvoid FluidRendererD3D11::_createScreenQuad()\n{\n\t// create an index buffer\n\t{\n\t\tD3D11_BUFFER_DESC bufDesc;\n\t\tbufDesc.ByteWidth = 4*sizeof(UINT);\n\t\tbufDesc.Usage = D3D11_USAGE_IMMUTABLE;\n\t\tbufDesc.BindFlags = D3D11_BIND_INDEX_BUFFER;\n\t\tbufDesc.CPUAccessFlags = DXGI_CPU_ACCESS_NONE;\n\t\tbufDesc.MiscFlags = 0;\n\n\t\tunsigned int quad_indices[4] = { 0, 1, 3, 2 };\n\t\t\n\t\tD3D11_SUBRESOURCE_DATA data = { 0 };\n\t\tdata.pSysMem = quad_indices;\n\n\t\tm_device->CreateBuffer(&bufDesc, &data, &m_quadIndexBuffer);\n\t}\n\n\t// create a vertex buffer\n\t{\n\t\t\n\t\tD3D11_BUFFER_DESC bufDesc;\n\t\tbufDesc.ByteWidth = 4*sizeof(PassthroughVertex);\n\t\tbufDesc.Usage = D3D11_USAGE_IMMUTABLE;\n\t\tbufDesc.BindFlags = D3D11_BIND_VERTEX_BUFFER;\n\t\tbufDesc.CPUAccessFlags = DXGI_CPU_ACCESS_NONE;\n\t\tbufDesc.MiscFlags = 0;\n\n\t\tD3D11_SUBRESOURCE_DATA data = { 0 };\n\n\n\t\tPassthroughVertex vertices[4] =\n\t\t{\n\t\t \t{ {-1.0f, -1.0f, 0.0f},  {0, 1, 0}, {0.0f, 0.0f}, {1, 1, 1, 1}},\n\t\t\t{ { 1.0f, -1.0f, 0.0f},  {0, 1, 0}, {1.0f, 0.0f}, {1, 1, 1, 1}},\n\t\t\t{ { 1.0f,  1.0f, 0.0f},  {0, 1, 0}, {1.0f, 1.0f}, {1, 1, 1, 1}},\n\t\t\t{ {-1.0f,  1.0f, 0.0f},  {0, 1, 0}, {0.0f, 1.0f}, {1, 1, 1, 1}},\n\t\t};\n\n\t\tdata.pSysMem = vertices;\n\n\t\tm_device->CreateBuffer(&bufDesc, &data, &m_quadVertexBuffer);\n\t}\n}\n\nvoid FluidRendererD3D11::drawThickness(const FluidDrawParamsD3D* params, const FluidRenderBuffersD3D11* buffers)\n{\n\tID3D11DeviceContext* deviceContext = m_deviceContext;\n\n\t// update constant buffer\n\t{\n\n\t\tD3D11_BUFFER_DESC desc;\n\t\tm_constantBuffer->GetDesc(&desc);\n\n\t\tD3D11_MAPPED_SUBRESOURCE mappedResource = {};\n\t\tif (SUCCEEDED(deviceContext->Map(m_constantBuffer.Get(), 0u, D3D11_MAP_WRITE_DISCARD, 0, &mappedResource)))\n\t\t{\n\t\t\tHlsl::FluidShaderConst constBuf;\n\t\t\tRenderParamsUtilD3D::calcFluidConstantBuffer(*params, constBuf);\n\t\t\tmemcpy(mappedResource.pData, &constBuf, sizeof(Hlsl::FluidShaderConst));\n\t\t\tdeviceContext->Unmap(m_constantBuffer.Get(), 0u);\n\t\t}\n\t}\n\n\tdeviceContext->VSSetShader(m_pointThicknessVs.Get(), nullptr, 0u);\n\tdeviceContext->GSSetShader(m_pointThicknessGs.Get(), nullptr, 0u);\n\tdeviceContext->PSSetShader(m_pointThicknessPs.Get(), nullptr, 0u);\n\n\tdeviceContext->IASetInputLayout(m_pointThicknessLayout.Get());\n\tdeviceContext->IASetPrimitiveTopology(D3D11_PRIMITIVE_TOPOLOGY_POINTLIST);\n\n\tdeviceContext->VSSetConstantBuffers(0, 1, m_constantBuffer.GetAddressOf());\n\tdeviceContext->GSSetConstantBuffers(0, 1, m_constantBuffer.GetAddressOf());\n\tdeviceContext->PSSetConstantBuffers(0, 1, m_constantBuffer.GetAddressOf());\n\n\tID3D11Buffer* vertexBuffers[4] =\n\t{\n\t\tbuffers->m_positions.Get(),\n\t\tbuffers->m_anisotropiesArr[0].Get(),\n\t\tbuffers->m_anisotropiesArr[1].Get(),\n\t\tbuffers->m_anisotropiesArr[2].Get()\n\t};\n\n\tunsigned int vertexBufferStrides[4] =\n\t{\n\t\tsizeof(float4),\n\t\tsizeof(float4),\n\t\tsizeof(float4),\n\t\tsizeof(float4)\n\t};\n\n\tunsigned int vertexBufferOffsets[4] = { 0 };\n\n\tdeviceContext->IASetVertexBuffers(0, 4, vertexBuffers, vertexBufferStrides, vertexBufferOffsets);\n\tdeviceContext->IASetIndexBuffer(buffers->m_indices.Get(), DXGI_FORMAT_R32_UINT, 0u);\n\n\tfloat depthSign = DirectX::XMVectorGetW(params->projection.r[2]);\n\tif (depthSign < 0.f)\n\t{\n\t\tdeviceContext->RSSetState(m_rasterizerState[params->renderMode][params->cullMode].Get());\n\t}\n\n\tdeviceContext->DrawIndexed(params->n, params->offset, 0);\n\n\tif (depthSign < 0.f)\n\t{\n\t\tdeviceContext->RSSetState(nullptr);\n\t}\n}\n\nvoid FluidRendererD3D11::drawEllipsoids(const FluidDrawParamsD3D* params, const FluidRenderBuffersD3D11* buffers)\n{\n\tID3D11DeviceContext* deviceContext = m_deviceContext;\n\n\t// update constant buffer\n\t{\n\n\t\tD3D11_BUFFER_DESC desc;\n\t\tm_constantBuffer->GetDesc(&desc);\n\n\t\tD3D11_MAPPED_SUBRESOURCE mappedResource = {};\n\t\tif (SUCCEEDED(deviceContext->Map(m_constantBuffer.Get(), 0u, D3D11_MAP_WRITE_DISCARD, 0, &mappedResource)))\n\t\t{\n\t\t\tHlsl::FluidShaderConst constBuf;\n\t\t\tRenderParamsUtilD3D::calcFluidConstantBuffer(*params, constBuf);\n\t\t\tmemcpy(mappedResource.pData, &constBuf, sizeof(Hlsl::FluidShaderConst));\n\t\t\tdeviceContext->Unmap(m_constantBuffer.Get(), 0u);\n\t\t}\n\t}\n\n\tdeviceContext->VSSetShader(m_ellipsoidDepthVs.Get(), nullptr, 0u);\n\tdeviceContext->GSSetShader(m_ellipsoidDepthGs.Get(), nullptr, 0u);\n\tdeviceContext->PSSetShader(m_ellipsoidDepthPs.Get(), nullptr, 0u);\n\n\tdeviceContext->IASetInputLayout(m_ellipsoidDepthLayout.Get());\n\tdeviceContext->IASetPrimitiveTopology(D3D11_PRIMITIVE_TOPOLOGY_POINTLIST);\n\n\tdeviceContext->VSSetConstantBuffers(0, 1, m_constantBuffer.GetAddressOf());\n\tdeviceContext->GSSetConstantBuffers(0, 1, m_constantBuffer.GetAddressOf());\n\tdeviceContext->PSSetConstantBuffers(0, 1, m_constantBuffer.GetAddressOf());\n\n\tID3D11Buffer* vertexBuffers[4] =\n\t{\n\t\tbuffers->m_positions.Get(),\n\t\tbuffers->m_anisotropiesArr[0].Get(),\n\t\tbuffers->m_anisotropiesArr[1].Get(),\n\t\tbuffers->m_anisotropiesArr[2].Get()\n\t};\n\n\tunsigned int vertexBufferStrides[4] =\n\t{\n\t\tsizeof(float4),\n\t\tsizeof(float4),\n\t\tsizeof(float4),\n\t\tsizeof(float4)\n\t};\n\n\tunsigned int vertexBufferOffsets[4] = { 0 };\n\n\tdeviceContext->IASetVertexBuffers(0, 4, vertexBuffers, vertexBufferStrides, vertexBufferOffsets);\n\tdeviceContext->IASetIndexBuffer(buffers->m_indices.Get(), DXGI_FORMAT_R32_UINT, 0u);\n\n\tfloat depthSign = DirectX::XMVectorGetW(params->projection.r[2]);\n\tif (depthSign < 0.f)\n\t{\n\t\tdeviceContext->RSSetState(m_rasterizerState[params->renderMode][params->cullMode].Get());\n\t}\n\n\tdeviceContext->DrawIndexed(params->n, params->offset, 0);\n\n\tif (depthSign < 0.f)\n\t{\n\t\tdeviceContext->RSSetState(nullptr);\n\t}\n}\n\nvoid FluidRendererD3D11::drawBlurDepth(const FluidDrawParamsD3D* params)\n{\n\tID3D11DeviceContext* deviceContext = m_deviceContext;\n\n\t// update constant buffer\n\t{\n\t\tD3D11_MAPPED_SUBRESOURCE mappedResource = {};\n\t\tif (SUCCEEDED(deviceContext->Map(m_constantBuffer.Get(), 0u, D3D11_MAP_WRITE_DISCARD, 0, &mappedResource)))\n\t\t{\n\t\t\tHlsl::FluidShaderConst constBuf;\n\t\t\tRenderParamsUtilD3D::calcFluidConstantBuffer(*params, constBuf);\n\t\t\tmemcpy(mappedResource.pData, &constBuf, sizeof(Hlsl::FluidShaderConst));\n\t\t\tdeviceContext->Unmap(m_constantBuffer.Get(), 0u);\n\t\t}\n\t}\n\n\tdeviceContext->VSSetShader(m_passThroughVs.Get(), nullptr, 0u);\n\tdeviceContext->GSSetShader(nullptr, nullptr, 0u);\n\tdeviceContext->PSSetShader(m_blurDepthPs.Get(), nullptr, 0u);\n\n\tID3D11ShaderResourceView* srvs[2] = { m_depthTexture.m_backSrv.Get(), m_thicknessTexture.m_backSrv.Get() };\n\tdeviceContext->PSSetShaderResources(0, 2, srvs);\n\n\tID3D11SamplerState* samps[1] = { m_thicknessTexture.m_linearSampler.Get() };\n\tdeviceContext->PSSetSamplers(0, 1, samps);\n\n\tdeviceContext->IASetInputLayout(m_passThroughLayout.Get());\n\tdeviceContext->IASetPrimitiveTopology(D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP);\n\n\tdeviceContext->VSSetConstantBuffers(0, 1, m_constantBuffer.GetAddressOf());\n\tdeviceContext->PSSetConstantBuffers(0, 1, m_constantBuffer.GetAddressOf());\n\n\tUINT vertexStride = sizeof(PassthroughVertex);\n\tUINT offset = 0u;\n\tdeviceContext->IASetVertexBuffers(0, 1, m_quadVertexBuffer.GetAddressOf(), &vertexStride, &offset);\n\tdeviceContext->IASetIndexBuffer(m_quadIndexBuffer.Get(), DXGI_FORMAT_R32_UINT, 0u);\n\n\tfloat depthSign = DirectX::XMVectorGetW(params->projection.r[2]);\n\tif (depthSign < 0.f)\n\t{\n\t\tdeviceContext->RSSetState(m_rasterizerState[params->renderMode][params->cullMode].Get());\n\t}\n\n\tdeviceContext->DrawIndexed((UINT)4, 0, 0);\n\n\tif (depthSign < 0.f)\n\t{\n\t\tdeviceContext->RSSetState(nullptr);\n\t}\n}\n\nvoid FluidRendererD3D11::drawComposite(const FluidDrawParamsD3D* params, ID3D11ShaderResourceView* sceneMap)\n{\n\tID3D11DeviceContext* deviceContext = m_deviceContext;\n\n\t// update constant buffer\n\t{\n\t\tD3D11_MAPPED_SUBRESOURCE mappedResource = {};\n\t\tif (SUCCEEDED(deviceContext->Map(m_constantBuffer.Get(), 0u, D3D11_MAP_WRITE_DISCARD, 0, &mappedResource)))\n\t\t{\n\t\t\tHlsl::FluidShaderConst constBuf;\n\t\t\tRenderParamsUtilD3D::calcFluidCompositeConstantBuffer(*params, constBuf);\n\t\t\tmemcpy(mappedResource.pData, &constBuf, sizeof(Hlsl::FluidShaderConst));\n\t\t\tdeviceContext->Unmap(m_constantBuffer.Get(), 0u);\n\t\t}\n\t}\n\n\tdeviceContext->VSSetShader(m_passThroughVs.Get(), nullptr, 0u);\n\tdeviceContext->GSSetShader(nullptr, nullptr, 0u);\n\tdeviceContext->PSSetShader(m_compositePs.Get(), nullptr, 0u);\n\n\tRenderTargetD3D11* depthMap = &m_depthSmoothTexture;\n\tShadowMapD3D11* shadowMap = (ShadowMapD3D11*)params->shadowMap;\n\n\tID3D11ShaderResourceView* srvs[3] = \n\t{ \n\t\tdepthMap->m_backSrv.Get(),\n\t\tsceneMap,\n\t\tshadowMap->m_depthSrv.Get()\n\n\t};\n\tdeviceContext->PSSetShaderResources(0, 3, srvs);\n\n\tID3D11SamplerState* samps[2] = \n\t{ \n\t\tdepthMap->m_linearSampler.Get() ,\n\t\tshadowMap->m_linearSampler.Get()\n\t};\n\tdeviceContext->PSSetSamplers(0, 2, samps);\n\n\tdeviceContext->IASetInputLayout(m_passThroughLayout.Get());\n\tdeviceContext->IASetPrimitiveTopology(D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP);\n\n\tdeviceContext->VSSetConstantBuffers(0, 1, m_constantBuffer.GetAddressOf());\n\tdeviceContext->PSSetConstantBuffers(0, 1, m_constantBuffer.GetAddressOf());\n\n\tUINT vertexStride = sizeof(PassthroughVertex);\n\tUINT offset = 0u;\n\tdeviceContext->IASetVertexBuffers(0, 1, m_quadVertexBuffer.GetAddressOf(), &vertexStride, &offset);\n\tdeviceContext->IASetIndexBuffer(m_quadIndexBuffer.Get(), DXGI_FORMAT_R32_UINT, 0u);\n\n\tfloat depthSign = DirectX::XMVectorGetW(params->projection.r[2]);\n\tif (depthSign < 0.f)\n\t{\n\t\tdeviceContext->RSSetState(m_rasterizerState[params->renderMode][params->cullMode].Get());\n\t}\n\n\tdeviceContext->DrawIndexed((UINT)4, 0, 0);\n\n\tif (depthSign < 0.f)\n\t{\n\t\tdeviceContext->RSSetState(nullptr);\n\t}\n\n\t// reset srvs\n\tID3D11ShaderResourceView* zero[3] = { NULL, NULL, NULL };\n\tdeviceContext->PSSetShaderResources(0, 3, zero);\n}\n\n"
  },
  {
    "path": "demo/d3d11/fluidRenderD3D11.h",
    "content": "/*\n * Copyright (c) 2008-2017, NVIDIA CORPORATION.  All rights reserved.\n *\n * NVIDIA CORPORATION and its licensors retain all intellectual property\n * and proprietary rights in and to this software, related documentation\n * and any modifications thereto.  Any use, reproduction, disclosure or\n * distribution of this software and related documentation without an express\n * license agreement from NVIDIA CORPORATION is strictly prohibited.\n */\n\n#pragma once\n\n#include <DirectXMath.h>\n\n#include <d3d11.h>\n\n#include \"renderTargetD3D11.h\"\n#include \"shadowMapD3D11.h\"\n#include \"../include/NvFlex.h\"\n#include \"../d3d/renderParamsD3D.h\"\n#include \"shaders.h\"\n\n\nstruct FluidRenderBuffersD3D11\n{\n\tFluidRenderBuffersD3D11():\n\t\tm_positionsBuf(nullptr),\n\t\tm_densitiesBuf(nullptr),\n\t\tm_indicesBuf(nullptr)\n\t{\n\t\tfor (int i = 0; i < 3; i++)\n\t\t{\n\t\t\tm_anisotropiesBufArr[i] = nullptr;\n\t\t}\n\t\tm_numParticles = 0;\n\t}\n\t~FluidRenderBuffersD3D11()\n\t{\n\t\tNvFlexUnregisterD3DBuffer(m_positionsBuf);\n\t\tNvFlexUnregisterD3DBuffer(m_densitiesBuf);\n\t\tNvFlexUnregisterD3DBuffer(m_indicesBuf);\n\n\t\tfor (int i = 0; i < 3; i++)\n\t\t{\n\t\t\tNvFlexUnregisterD3DBuffer(m_anisotropiesBufArr[i]);\n\t\t}\n\t}\n\n\tint m_numParticles;\n\tComPtr<ID3D11Buffer> m_positions;\n\tComPtr<ID3D11Buffer> m_densities;\n\tComPtr<ID3D11Buffer> m_anisotropiesArr[3];\n\tComPtr<ID3D11Buffer> m_indices;\n\n\tComPtr<ID3D11Buffer> m_fluid; // to be removed\n\n\t// wrapper buffers that allow Flex to write directly to VBOs\n\tNvFlexBuffer* m_positionsBuf;\n\tNvFlexBuffer* m_densitiesBuf;\n\tNvFlexBuffer* m_anisotropiesBufArr[3];\n\tNvFlexBuffer* m_indicesBuf;\n};\n\nstruct FluidRendererD3D11\n{\t\n\tvoid init(ID3D11Device* device, ID3D11DeviceContext* context, int width, int height);\n\t\n\tvoid drawThickness(const FluidDrawParamsD3D* params, const FluidRenderBuffersD3D11* buffers);\n\tvoid drawEllipsoids(const FluidDrawParamsD3D* params, const FluidRenderBuffersD3D11* buffers);\n\tvoid drawBlurDepth(const FluidDrawParamsD3D* params);\n\tvoid drawComposite(const FluidDrawParamsD3D* params, ID3D11ShaderResourceView* sceneMap);\n\n\tFluidRendererD3D11():\n\t\tm_device(nullptr),\n\t\tm_deviceContext(nullptr)\n\t{}\n\n\tvoid _createScreenQuad();\n\n\tID3D11Device* m_device;\n\tID3D11DeviceContext* m_deviceContext;\n\n\tComPtr<ID3D11InputLayout> m_pointThicknessLayout;\n\tComPtr<ID3D11VertexShader> m_pointThicknessVs;\n\tComPtr<ID3D11GeometryShader> m_pointThicknessGs;\n\tComPtr<ID3D11PixelShader> m_pointThicknessPs;\n\n\tComPtr<ID3D11InputLayout> m_ellipsoidDepthLayout;\n\tComPtr<ID3D11VertexShader> m_ellipsoidDepthVs;\n\tComPtr<ID3D11GeometryShader> m_ellipsoidDepthGs;\n\tComPtr<ID3D11PixelShader> m_ellipsoidDepthPs;\n\n\tComPtr<ID3D11InputLayout> m_passThroughLayout;\n\tComPtr<ID3D11VertexShader> m_passThroughVs;\n\n\tComPtr<ID3D11PixelShader> m_blurDepthPs;\n\tComPtr<ID3D11PixelShader> m_compositePs;\n\n\tComPtr<ID3D11Buffer> m_constantBuffer;\n\n\t// Right handed rasterizer state\n\tComPtr<ID3D11RasterizerState> m_rasterizerState[NUM_FLUID_RENDER_MODES][NUM_FLUID_CULL_MODES];\n\n\tComPtr<ID3D11Buffer> m_quadVertexBuffer;\n\tComPtr<ID3D11Buffer> m_quadIndexBuffer;\n\n\tRenderTargetD3D11 m_thicknessTexture;\n\tRenderTargetD3D11 m_depthTexture;\n\tRenderTargetD3D11 m_depthSmoothTexture;\n\n\tint m_sceneWidth;\n\tint m_sceneHeight;\n};\n\n\n"
  },
  {
    "path": "demo/d3d11/imguiGraphD3D11.cpp",
    "content": "/*\n * Copyright (c) 2014-2017, NVIDIA CORPORATION.  All rights reserved.\n *\n * NVIDIA CORPORATION and its licensors retain all intellectual property\n * and proprietary rights in and to this software, related documentation\n * and any modifications thereto.  Any use, reproduction, disclosure or\n * distribution of this software and related documentation without an express\n * license agreement from NVIDIA CORPORATION is strictly prohibited.\n */\n\n#include \"imguiGraphD3D11.h\"\n\n//direct3d headers\n#include <d3d11.h>\n\n#include \"../d3d/shaders/imguiVS.hlsl.h\"\n#include \"../d3d/shaders/imguiPS.hlsl.h\"\n\nnamespace\n{\n\ttemplate <class T>\n\tvoid inline COMRelease(T& t)\n\t{\n\t\tif (t) t->Release();\n\t\tt = nullptr;\n\t}\n}\n\nnamespace\n{\n\tID3D11Device* m_device = nullptr;\n\tID3D11DeviceContext* m_deviceContext = nullptr;\n\tint m_winW = 0;\n\tint m_winH = 0;\n\n\tuint32_t m_maxVertices = 0;\n\n\tstruct Vertex\n\t{\n\t\tfloat x, y;\n\t\tfloat u, v;\n\t\tuint8_t rgba[4];\n\t};\n\n\tID3D11RasterizerState* m_rasterizerState = nullptr;\n\tID3D11SamplerState* m_samplerState = nullptr;\n\tID3D11InputLayout* m_inputLayout = nullptr;\n\tID3D11BlendState* m_blendState = nullptr;\n\tID3D11VertexShader* m_imguiVS = nullptr;\n\tID3D11PixelShader* m_imguiPS = nullptr;\n\tID3D11Buffer* m_constantBuffer = nullptr;\n\tID3D11Buffer* m_vertexBuffer = nullptr;\n\tVertex* m_vertexBufferData = nullptr;\n\n\tstruct Scissor\n\t{\n\t\tint beginIdx;\n\t\tint stopIdx;\n\t\tint x;\n\t\tint y;\n\t\tint width;\n\t\tint height;\n\t};\n\tScissor m_stateScissor = {};\n\n\tID3D11Texture2D* m_texture = nullptr;\n\tID3D11ShaderResourceView* m_textureSRV = nullptr;\n\n\tVertex m_stateVert;\n\tuint32_t m_stateVertIdx = 0u;\n\n\tstruct Params\n\t{\n\t\tfloat projection[16];\n\n\t\tfloat padding[64 - 16];\n\t};\n}\n\nvoid imguiGraphContextDestroyD3D11()\n{\n\tCOMRelease(m_rasterizerState);\n\tCOMRelease(m_samplerState);\n\tCOMRelease(m_inputLayout);\n\tCOMRelease(m_blendState);\n\tCOMRelease(m_imguiVS);\n\tCOMRelease(m_imguiPS);\n\tCOMRelease(m_constantBuffer);\n\tCOMRelease(m_vertexBuffer);\n}\n\nvoid imguiGraphContextInitD3D11(const ImguiGraphDesc* descIn)\n{\n\tconst auto desc = cast_to_imguiGraphDescD3D11(descIn);\n\n\tm_device = desc->device;\n\tm_deviceContext = desc->deviceContext;\n\tm_winW = desc->winW;\n\tm_winH = desc->winH;\n\n\tm_maxVertices = desc->maxVertices;\n\n\t// create the rastersizer state\n\t{\n\t\tD3D11_RASTERIZER_DESC desc = {};\n\t\tdesc.FillMode = D3D11_FILL_SOLID;\n\t\tdesc.CullMode = D3D11_CULL_BACK;\n\t\tdesc.FrontCounterClockwise = TRUE;\t// This is non-default\n\t\tdesc.DepthBias = 0;\n\t\tdesc.DepthBiasClamp = 0.f;\n\t\tdesc.SlopeScaledDepthBias = 0.f;\n\t\tdesc.DepthClipEnable = TRUE;\n\t\tdesc.ScissorEnable = TRUE;\t\t// This is non-default\n\t\tdesc.MultisampleEnable = FALSE;\n\t\tdesc.AntialiasedLineEnable = FALSE;\n\n\t\tm_device->CreateRasterizerState(&desc, &m_rasterizerState);\n\t}\n\n\t// create the sampler state\n\t{\n\t\tD3D11_SAMPLER_DESC sampler = {};\n\t\tsampler.Filter = D3D11_FILTER_MIN_MAG_LINEAR_MIP_POINT;\n\t\tsampler.AddressU = D3D11_TEXTURE_ADDRESS_BORDER;\n\t\tsampler.AddressV = D3D11_TEXTURE_ADDRESS_BORDER;\n\t\tsampler.AddressW = D3D11_TEXTURE_ADDRESS_BORDER;\n\t\tsampler.MipLODBias = 0;\n\t\tsampler.MaxAnisotropy = 0;\n\t\tsampler.ComparisonFunc = D3D11_COMPARISON_NEVER;\n\t\t//sampler.BorderColor = D3D11_BORDER_COLOR_TRANSPARENT_BLACK;\n\t\tsampler.MinLOD = 0.f;\n\t\tsampler.MaxLOD = D3D11_FLOAT32_MAX;\n\n\t\tm_device->CreateSamplerState(&sampler, &m_samplerState);\n\t}\n\n\t// create the input layout\n\t{\n\t\tD3D11_INPUT_ELEMENT_DESC inputElementDescs[] =\n\t\t{\n\t\t\t{ \"POSITION\", 0, DXGI_FORMAT_R32G32_FLOAT, 0, 0, D3D11_INPUT_PER_VERTEX_DATA, 0 },\n\t\t\t{ \"TEXCOORD\", 0, DXGI_FORMAT_R32G32_FLOAT, 0, D3D11_APPEND_ALIGNED_ELEMENT, D3D11_INPUT_PER_VERTEX_DATA, 0 },\n\t\t\t{ \"COLOR\", 0, DXGI_FORMAT_R8G8B8A8_UNORM, 0, D3D11_APPEND_ALIGNED_ELEMENT, D3D11_INPUT_PER_VERTEX_DATA, 0 },\n\t\t};\n\n\t\tm_device->CreateInputLayout(inputElementDescs, 3, g_imguiVS, sizeof(g_imguiVS), &m_inputLayout);\n\t}\n\n\t// create the blend state\n\t{\n\t\tD3D11_BLEND_DESC blendDesc = {};\n\t\tblendDesc.AlphaToCoverageEnable = false;\n\t\tblendDesc.IndependentBlendEnable = false;\n\t\tblendDesc.RenderTarget[0].BlendEnable = true;\n\t\tblendDesc.RenderTarget[0].SrcBlend = D3D11_BLEND_SRC_ALPHA;\n\t\tblendDesc.RenderTarget[0].DestBlend = D3D11_BLEND_INV_SRC_ALPHA;\n\t\tblendDesc.RenderTarget[0].BlendOp = D3D11_BLEND_OP_ADD;\n\t\tblendDesc.RenderTarget[0].SrcBlendAlpha = D3D11_BLEND_SRC_ALPHA;\n\t\tblendDesc.RenderTarget[0].DestBlendAlpha = D3D11_BLEND_INV_SRC_ALPHA;\n\t\tblendDesc.RenderTarget[0].BlendOpAlpha = D3D11_BLEND_OP_ADD;\n\t\tblendDesc.RenderTarget[0].RenderTargetWriteMask = D3D11_COLOR_WRITE_ENABLE_ALL;\n\n\t\tm_device->CreateBlendState(&blendDesc, &m_blendState);\n\t}\n\n\t// create the shaders\n\tm_device->CreateVertexShader(g_imguiVS, sizeof(g_imguiVS), nullptr, &m_imguiVS);\n\tm_device->CreatePixelShader(g_imguiPS, sizeof(g_imguiPS), nullptr, &m_imguiPS);\n\n\t// create a constant buffer\n\t{\n\t\tParams params = {\n\t\t\t1.f, 0.f, 0.f, 0.f,\n\t\t\t0.f, 1.f, 0.f, 0.f,\n\t\t\t0.f, 0.f, 1.f, 0.f,\n\t\t\t0.f, 0.f, 0.f, 1.f\n\t\t};\n\n\t\tD3D11_BUFFER_DESC bufDesc;\n\t\tbufDesc.ByteWidth = sizeof(params);\n\t\tbufDesc.Usage = D3D11_USAGE_DYNAMIC;\n\t\tbufDesc.BindFlags = D3D11_BIND_CONSTANT_BUFFER;\n\t\tbufDesc.CPUAccessFlags  = D3D11_CPU_ACCESS_WRITE;\n\t\tbufDesc.MiscFlags = 0;\n\n\t\tD3D11_SUBRESOURCE_DATA data = {};\n\t\tdata.pSysMem = &params;\n\n\t\tm_device->CreateBuffer(&bufDesc, &data, &m_constantBuffer);\n\t}\n\n\t// create a vertex buffer\n\t{\n\t\tUINT bufferSize = (UINT)(m_maxVertices) * sizeof(Vertex);\n\n\t\tD3D11_BUFFER_DESC bufDesc;\n\t\tbufDesc.ByteWidth = bufferSize;\n\t\tbufDesc.Usage = D3D11_USAGE_DYNAMIC;\n\t\tbufDesc.BindFlags = D3D11_BIND_VERTEX_BUFFER;\n\t\tbufDesc.CPUAccessFlags = D3D11_CPU_ACCESS_WRITE;\n\t\tbufDesc.MiscFlags = 0;\n\n\t\tm_device->CreateBuffer(&bufDesc, nullptr, &m_vertexBuffer);\n\t}\n}\n\nvoid imguiGraphContextUpdateD3D11(const ImguiGraphDesc* descIn)\n{\n\tconst auto desc = cast_to_imguiGraphDescD3D11(descIn);\n\n\tm_device = desc->device;\n\tm_deviceContext = desc->deviceContext;\n\tm_winW = desc->winW;\n\tm_winH = desc->winH;\n}\n\nvoid imguiGraphRecordBeginD3D11()\n{\n\tParams params = {\n\t\t2.f / float(m_winW), 0.f, 0.f, -1.f,\n\t\t0.f, 2.f / float(m_winH), 0.f, -1.f,\n\t\t0.f, 0.f, 1.f, 0.f,\n\t\t0.f, 0.f, 0.f, 1.f\n\t};\n\n\tID3D11DeviceContext* context = m_deviceContext;\n\n\t// update constant buffer\n\t{\n\t\tD3D11_MAPPED_SUBRESOURCE mappedResource = {};\n\t\tif (S_OK == context->Map(m_constantBuffer, 0u, D3D11_MAP_WRITE_DISCARD, 0, &mappedResource))\n\t\t{\n\t\t\tmemcpy(mappedResource.pData, &params, sizeof(Params));\n\n\t\t\tcontext->Unmap(m_constantBuffer, 0u);\n\t\t}\n\t}\n\n\t// clear state\n\tm_stateVert = Vertex{ 0.f, 0.f, -1.f, -1.f, 0,0,0,0 };\n\tm_stateVertIdx = 0u;\n\n\tm_stateScissor = Scissor { 0, 0, 0, 0, m_winW, m_winH };\n\n\t// configure for triangle renderering\n\tcontext->VSSetShader(m_imguiVS, nullptr, 0u);\n\tcontext->GSSetShader(nullptr, nullptr, 0u);\n\tcontext->PSSetShader(m_imguiPS, nullptr, 0u);\n\n\tcontext->IASetInputLayout(m_inputLayout);\n\tcontext->OMSetBlendState(m_blendState, nullptr, 0xFFFFFFFF);\n\tcontext->PSSetSamplers(0, 1, &m_samplerState);\n\n\tcontext->VSSetConstantBuffers(0, 1, &m_constantBuffer);\n\n\tcontext->PSSetShaderResources(0, 1, &m_textureSRV);\n\n\tcontext->IASetPrimitiveTopology(D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST);\n\n\tcontext->RSSetState(m_rasterizerState);\n\n\t// trigger allocation of new vertex buffer as needed\n\t{\n\t\tD3D11_MAPPED_SUBRESOURCE mappedResource = {};\n\t\tif (S_OK == context->Map(m_vertexBuffer, 0u, D3D11_MAP_WRITE_DISCARD, 0, &mappedResource))\n\t\t{\n\t\t\tcontext->Unmap(m_vertexBuffer, 0u);\n\t\t}\n\t}\n\n\tUINT vertexStride = sizeof(Vertex);\n\tUINT offset = 0u;\n\tcontext->IASetVertexBuffers(0, 1, &m_vertexBuffer, &vertexStride, &offset);\n\n\t// map allocated vertex buffer\n\t{\n\t\tD3D11_MAPPED_SUBRESOURCE mappedResource = {};\n\t\tif (S_OK == context->Map(m_vertexBuffer, 0u, D3D11_MAP_WRITE_NO_OVERWRITE, 0, &mappedResource))\n\t\t{\n\t\t\tm_vertexBufferData = (Vertex*)mappedResource.pData;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tm_vertexBufferData = nullptr;\n\t\t}\n\t}\n}\n\nstatic void imguiGraphFlush()\n{\n\tID3D11DeviceContext* context = m_deviceContext;\n\n\t// unmap vertex buffer\n\tcontext->Unmap(m_vertexBuffer, 0u);\n\n\tScissor& p = m_stateScissor;\n\tif (p.beginIdx < p.stopIdx)\n\t{\n\t\tint winH = m_winH;\n\t\tD3D11_RECT rect;\n\t\trect.left = p.x;\n\t\trect.right = p.x + p.width;\n\t\trect.top = (winH) - (p.y + p.height);\n\t\trect.bottom = (winH) - (p.y);\n\t\tcontext->RSSetScissorRects(1, &rect);\n\n\t\tUINT vertexCount = (p.stopIdx - p.beginIdx);\n\t\tUINT startIndex = p.beginIdx;\n\t\tcontext->DrawInstanced(vertexCount, 1, startIndex, 0);\n\t}\n\n\t// map allocated vertex buffer\n\t{\n\t\tD3D11_MAPPED_SUBRESOURCE mappedResource = {};\n\t\tif (S_OK == context->Map(m_vertexBuffer, 0u, D3D11_MAP_WRITE_NO_OVERWRITE, 0, &mappedResource))\n\t\t{\n\t\t\tm_vertexBufferData = (Vertex*)mappedResource.pData;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tm_vertexBufferData = nullptr;\n\t\t}\n\t}\n}\n\nvoid imguiGraphRecordEndD3D11()\n{\n\tID3D11DeviceContext* context = m_deviceContext;\n\n\tcontext->OMSetBlendState(nullptr,nullptr,0xFFFFFFFF);\n\n\t// unmap vertex buffer\n\tcontext->Unmap(m_vertexBuffer, 0u);\n\n\t// restore scissor\n\tScissor& p = m_stateScissor;\n\tint winH = m_winH;\n\tD3D11_RECT rect;\n\trect.left = p.x;\n\trect.right = p.x + p.width;\n\trect.top = (winH) - (p.y + p.height);\n\trect.bottom = (winH) - (p.y);\n\tcontext->RSSetScissorRects(1, &rect);\n\n\tcontext->RSSetState(nullptr);\n}\n\nvoid imguiGraphEnableScissorD3D11(int x, int y, int width, int height)\n{\n\t// mark end of last region\n\tm_stateScissor.stopIdx = m_stateVertIdx;\n\n\timguiGraphFlush();\n\n\tm_stateScissor.beginIdx = m_stateVertIdx;\n\tm_stateScissor.stopIdx = m_stateVertIdx;\n\tm_stateScissor.x = x;\n\tm_stateScissor.y = y;\n\tm_stateScissor.width = width;\n\tm_stateScissor.height = height;\n}\n\nvoid imguiGraphDisableScissorD3D11()\n{\n\tif (m_stateVertIdx == 0) return;\n\n\t// mark end of last region\n\tm_stateScissor.stopIdx = m_stateVertIdx;\n\n\timguiGraphFlush();\n\n\tm_stateScissor.beginIdx = m_stateVertIdx;\n\tm_stateScissor.stopIdx = m_stateVertIdx;\n\tm_stateScissor.x = 0;\n\tm_stateScissor.y = 0;\n\tm_stateScissor.width = m_winW;\n\tm_stateScissor.height = m_winH;\n}\n\nvoid imguiGraphVertex2fD3D11(float x, float y)\n{\n\tfloat v[2] = { x,y };\n\timguiGraphVertex2fvD3D11(v);\n}\n\nvoid imguiGraphVertex2fvD3D11(const float* v)\n{\n\t// update state\n\tm_stateVert.x = v[0];\n\tm_stateVert.y = v[1];\n\n\tVertex* vdata = m_vertexBufferData;\n\n\t// push vertex\n\tif ((m_stateVertIdx) < m_maxVertices)\n\t{\n\t\tvdata[m_stateVertIdx++] = m_stateVert;\n\t}\n}\n\nvoid imguiGraphTexCoord2fD3D11(float u, float v)\n{\n\tm_stateVert.u = u;\n\tm_stateVert.v = v;\n}\n\nvoid imguiGraphColor4ubD3D11(uint8_t red, uint8_t green, uint8_t blue, uint8_t alpha)\n{\n\tm_stateVert.rgba[0] = red;\n\tm_stateVert.rgba[1] = green;\n\tm_stateVert.rgba[2] = blue;\n\tm_stateVert.rgba[3] = alpha;\n}\n\nvoid imguiGraphColor4ubvD3D11(const uint8_t* v)\n{\n\tm_stateVert.rgba[0] = v[0];\n\tm_stateVert.rgba[1] = v[1];\n\tm_stateVert.rgba[2] = v[2];\n\tm_stateVert.rgba[3] = v[3];\n}\n\nvoid imguiGraphFontTextureEnableD3D11()\n{\n\n}\n\nvoid imguiGraphFontTextureDisableD3D11()\n{\n\tm_stateVert.u = -1.f;\n\tm_stateVert.v = -1.f;\n}\n\nvoid imguiGraphFontTextureInitD3D11(unsigned char* data)\n{\n\tID3D11DeviceContext* context = m_deviceContext;\n\n\t// create texture\n\t{\n\t\tUINT width = 512;\n\t\tUINT height = 512;\n\n\t\tD3D11_TEXTURE2D_DESC texDesc = {};\n\t\ttexDesc.Width = width;\n\t\ttexDesc.Height = height;\n\t\ttexDesc.MipLevels = 1;\n\t\ttexDesc.ArraySize = 1;\n\t\ttexDesc.Format = DXGI_FORMAT_R8_UNORM;\n\t\ttexDesc.SampleDesc.Count = 1;\n\t\ttexDesc.SampleDesc.Quality = 0u;\n\t\ttexDesc.Usage = D3D11_USAGE_IMMUTABLE;\n\t\ttexDesc.BindFlags = D3D11_BIND_SHADER_RESOURCE;\n\t\ttexDesc.CPUAccessFlags = 0;\n\t\ttexDesc.MiscFlags = 0;\n\n\t\tD3D11_SUBRESOURCE_DATA initData = {};\n\t\tinitData.pSysMem = data;\n\t\tinitData.SysMemPitch = width;\n\n\t\tif (m_device->CreateTexture2D(&texDesc, &initData, &m_texture))\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tif (m_device->CreateShaderResourceView(m_texture, nullptr, &m_textureSRV))\n\t\t{\n\t\t\treturn;\n\t\t}\n\t}\n\n}\n\nvoid imguiGraphFontTextureReleaseD3D11()\n{\n\tCOMRelease(m_texture);\n\tCOMRelease(m_textureSRV);\n}"
  },
  {
    "path": "demo/d3d11/imguiGraphD3D11.h",
    "content": "/*\n * Copyright (c) 2014-2017, NVIDIA CORPORATION.  All rights reserved.\n *\n * NVIDIA CORPORATION and its licensors retain all intellectual property\n * and proprietary rights in and to this software, related documentation\n * and any modifications thereto.  Any use, reproduction, disclosure or\n * distribution of this software and related documentation without an express\n * license agreement from NVIDIA CORPORATION is strictly prohibited.\n */\n\n#ifndef IMGUI_GRAPH_D3D11_H\n#define IMGUI_GRAPH_D3D11_H\n\n#include <stdint.h>\n\n#include \"../d3d/imguiGraph.h\"\n\nstruct ID3D11Device;\nstruct ID3D11DeviceContext;\n\nstruct ImguiGraphDescD3D11\n{\n\tID3D11Device* device = nullptr;\n\tID3D11DeviceContext* deviceContext = nullptr;\n\tint winW;\n\tint winH;\n\n\tuint32_t maxVertices = 64 * 4096u;\n\n\tImguiGraphDescD3D11() {}\n};\n\ninline const ImguiGraphDescD3D11* cast_to_imguiGraphDescD3D11(const ImguiGraphDesc* desc)\n{\n\treturn (const ImguiGraphDescD3D11*)(desc);\n}\n\ninline ImguiGraphDesc* cast_from_imguiGraphDescD3D11(ImguiGraphDescD3D11* desc)\n{\n\treturn (ImguiGraphDesc*)(desc);\n}\n\nIMGUI_GRAPH_API void imguiGraphContextInitD3D11(const ImguiGraphDesc* desc);\n\nIMGUI_GRAPH_API void imguiGraphContextUpdateD3D11(const ImguiGraphDesc* desc);\n\nIMGUI_GRAPH_API void imguiGraphContextDestroyD3D11();\n\nIMGUI_GRAPH_API void imguiGraphRecordBeginD3D11();\n\nIMGUI_GRAPH_API void imguiGraphRecordEndD3D11();\n\nIMGUI_GRAPH_API void imguiGraphVertex2fD3D11(float x, float y);\n\nIMGUI_GRAPH_API void imguiGraphVertex2fvD3D11(const float* v);\n\nIMGUI_GRAPH_API void imguiGraphTexCoord2fD3D11(float u, float v);\n\nIMGUI_GRAPH_API void imguiGraphColor4ubD3D11(uint8_t red, uint8_t green, uint8_t blue, uint8_t alpha);\n\nIMGUI_GRAPH_API void imguiGraphColor4ubvD3D11(const uint8_t* v);\n\nIMGUI_GRAPH_API void imguiGraphFontTextureEnableD3D11();\n\nIMGUI_GRAPH_API void imguiGraphFontTextureDisableD3D11();\n\nIMGUI_GRAPH_API void imguiGraphEnableScissorD3D11(int x, int y, int width, int height);\n\nIMGUI_GRAPH_API void imguiGraphDisableScissorD3D11();\n\nIMGUI_GRAPH_API void imguiGraphFontTextureInitD3D11(unsigned char* data);\n\nIMGUI_GRAPH_API void imguiGraphFontTextureReleaseD3D11();\n\n#endif"
  },
  {
    "path": "demo/d3d11/imguiInteropD3D11.cpp",
    "content": "/*\n* Copyright (c) 2014-2017, NVIDIA CORPORATION.  All rights reserved.\n*\n* NVIDIA CORPORATION and its licensors retain all intellectual property\n* and proprietary rights in and to this software, related documentation\n* and any modifications thereto.  Any use, reproduction, disclosure or\n* distribution of this software and related documentation without an express\n* license agreement from NVIDIA CORPORATION is strictly prohibited.\n*/\n\n//direct3d headers\n#include <d3d11.h>\n\n#include \"appD3D11Ctx.h\"\n\n// include the Direct3D Library file\n#pragma comment (lib, \"d3d11.lib\")\n\n#include \"appD3D11Ctx.h\"\n#include \"imguiGraphD3D11.h\"\n\nIMGUI_GRAPH_API bool imguiInteropGraphInitD3D11(imguiGraphInit_t func, const char* fontpath, AppGraphCtx* appctx);\n\nIMGUI_GRAPH_API void imguiInteropGraphUpdateD3D11(imguiGraphUpdate_t func, AppGraphCtx* appctx);\n\nbool imguiInteropGraphInitD3D11(imguiGraphInit_t func, const char* fontpath, AppGraphCtx* appctxIn)\n{\n\tImguiGraphDescD3D11 desc;\n\n\tAppGraphCtxD3D11* appctx = cast_to_AppGraphCtxD3D11(appctxIn);\n\n\tdesc.device = appctx->m_device;\n\tdesc.deviceContext = appctx->m_deviceContext;\n\tdesc.winW = appctx->m_winW;\n\tdesc.winH = appctx->m_winH;\n\n\treturn func(fontpath, cast_from_imguiGraphDescD3D11(&desc));\n}\n\nvoid imguiInteropGraphUpdateD3D11(imguiGraphUpdate_t func, AppGraphCtx* appctxIn)\n{\n\tImguiGraphDescD3D11 desc;\n\tAppGraphCtxD3D11* appctx = cast_to_AppGraphCtxD3D11(appctxIn);\n\n\tdesc.device = appctx->m_device;\n\tdesc.deviceContext = appctx->m_deviceContext;\n\tdesc.winW = appctx->m_winW;\n\tdesc.winH = appctx->m_winH;\n\n\treturn func(cast_from_imguiGraphDescD3D11(&desc));\n}"
  },
  {
    "path": "demo/d3d11/meshRenderD3D11.cpp",
    "content": "/*\n * Copyright (c) 2008-2017, NVIDIA CORPORATION.  All rights reserved.\n *\n * NVIDIA CORPORATION and its licensors retain all intellectual property\n * and proprietary rights in and to this software, related documentation\n * and any modifications thereto.  Any use, reproduction, disclosure or\n * distribution of this software and related documentation without an express\n * license agreement from NVIDIA CORPORATION is strictly prohibited.\n */\n\n//direct3d headers\n\n#define NOMINMAX\n\n#include <d3d11.h>\n\n// include the Direct3D Library file\n#pragma comment (lib, \"d3d11.lib\")\n\n#include <math.h>\n\n#include \"meshRenderD3D11.h\"\n#include \"appD3d11Ctx.h\"\n\n\n#include \"../d3d/shaders/meshVS.hlsl.h\"\n#include \"../d3d/shaders/meshPS.hlsl.h\"\n#include \"../d3d/shaders/meshShadowPS.hlsl.h\"\n\n#include \"../d3d/shaderCommonD3D.h\"\n\n#include \"shadowMapD3D11.h\"\n\n// Make async compute benchmark shader have a unique name\nnamespace AsyncComputeBench\n{\n#include \"../d3d/shaders/meshAsyncComputeBenchPS.hlsl.h\"\n}\n\n/* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! GpuMeshD3D11 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! */\n\nGpuMeshD3D11::GpuMeshD3D11(ID3D11Device* device, ID3D11DeviceContext* deviceContext)\n\t\t: m_device(device)\n\t\t, m_deviceContext(deviceContext)\n\t\t, m_numFaces(0)\n\t\t, m_numVertices(0)\n\t\t, m_maxVertices(0)\n\t\t, m_maxFaces(0)\n{\n}\n\nvoid GpuMeshD3D11::resize(int numVertices, int numFaces)\n{\n\t{\n\t\t// vertex buffers\n\t\tD3D11_BUFFER_DESC bufDesc;\n\t\tbufDesc.ByteWidth = sizeof(Vec3)*numVertices;\n\t\tbufDesc.Usage = D3D11_USAGE_DYNAMIC;\n\t\tbufDesc.BindFlags = D3D11_BIND_VERTEX_BUFFER;\n\t\tbufDesc.CPUAccessFlags = D3D11_CPU_ACCESS_WRITE;\n\t\tbufDesc.MiscFlags = 0;\n\n\t\tm_device->CreateBuffer(&bufDesc, NULL, m_positionBuffer.ReleaseAndGetAddressOf());\n\t\tm_device->CreateBuffer(&bufDesc, NULL, m_normalBuffer.ReleaseAndGetAddressOf());\n\n\t\tbufDesc.ByteWidth = sizeof(Vec2)*numVertices;\n\t\tm_device->CreateBuffer(&bufDesc, NULL, m_texcoordBuffer.ReleaseAndGetAddressOf());\n\n\t\tbufDesc.ByteWidth = sizeof(Vec4)*numVertices;\n\t\tm_device->CreateBuffer(&bufDesc, NULL, m_colorBuffer.ReleaseAndGetAddressOf());\n\t}\n\n\t{\n\t\t// index buffer\n\t\tD3D11_BUFFER_DESC bufDesc;\n\t\tbufDesc.ByteWidth = sizeof(int)*numFaces * 3;\n\t\tbufDesc.Usage = D3D11_USAGE_DYNAMIC;\n\t\tbufDesc.BindFlags = D3D11_BIND_INDEX_BUFFER;\n\t\tbufDesc.CPUAccessFlags = D3D11_CPU_ACCESS_WRITE;\n\t\tbufDesc.MiscFlags = 0;\n\n\t\tm_device->CreateBuffer(&bufDesc, NULL, &m_indexBuffer);\n\t}\n\n\tm_maxVertices = numVertices;\n\tm_maxFaces = numFaces;\n}\n\nvoid GpuMeshD3D11::updateData(const Vec3* positions, const Vec3* normals, const Vec2* texcoords, const Vec4* colors, const int* indices, int numVertices, int numFaces)\n{\n\tif (numVertices > m_maxVertices || numFaces > m_maxFaces)\n\t{\n\t\tresize(numVertices, numFaces);\n\t}\n\n\tD3D11_MAPPED_SUBRESOURCE res;\n\n\t// vertices\n\tif (positions)\n\t{\n\t\tm_deviceContext->Map(m_positionBuffer.Get(), 0, D3D11_MAP_WRITE_DISCARD, 0, &res);\n\t\tmemcpy(res.pData, positions, sizeof(Vec3)*numVertices);\n\t\tm_deviceContext->Unmap(m_positionBuffer.Get(), 0);\n\t}\n\n\tif (normals)\n\t{\n\t\tm_deviceContext->Map(m_normalBuffer.Get(), 0, D3D11_MAP_WRITE_DISCARD, 0, &res);\n\t\tmemcpy(res.pData, normals, sizeof(Vec3)*numVertices);\n\t\tm_deviceContext->Unmap(m_normalBuffer.Get(), 0);\n\t}\n\n\tif (texcoords)\n\t{\n\t\tm_deviceContext->Map(m_texcoordBuffer.Get(), 0, D3D11_MAP_WRITE_DISCARD, 0, &res);\n\t\tmemcpy(res.pData, texcoords, sizeof(Vec2)*numVertices);\n\t\tm_deviceContext->Unmap(m_texcoordBuffer.Get(), 0);\n\t}\n\n\tif (colors)\n\t{\n\t\tm_deviceContext->Map(m_colorBuffer.Get(), 0, D3D11_MAP_WRITE_DISCARD, 0, &res);\n\t\tmemcpy(res.pData, colors, sizeof(Vec4)*numVertices);\n\t\tm_deviceContext->Unmap(m_colorBuffer.Get(), 0);\n\t}\n\n\t// indices\n\tif (indices)\n\t{\n\t\tm_deviceContext->Map(m_indexBuffer.Get(), 0, D3D11_MAP_WRITE_DISCARD, 0, &res);\n\t\tmemcpy(res.pData, indices, sizeof(int)*numFaces * 3);\n\t\tm_deviceContext->Unmap(m_indexBuffer.Get(), 0);\n\t}\n\n\tm_numVertices = numVertices;\n\tm_numFaces = numFaces;\n}\n\nvoid GpuMeshD3D11::updateData(const Vec4* positions, const Vec4* normals, const Vec2* texcoords, const Vec4* colors, const int* indices, int numVertices, int numFaces)\n{\n\tif (numVertices > m_maxVertices || numFaces > m_maxFaces)\n\t{\n\t\tresize(numVertices, numFaces);\n\t}\n\n\tD3D11_MAPPED_SUBRESOURCE res;\n\n\t// vertices\n\tif (positions)\n\t{\n\t\tm_deviceContext->Map(m_positionBuffer.Get(), 0, D3D11_MAP_WRITE_DISCARD, 0, &res);\n\t\tfor (int i = 0; i < numVertices; ++i)\n\t\t\t((Vec3*)res.pData)[i] = Vec3(positions[i]);\n\t\tm_deviceContext->Unmap(m_positionBuffer.Get(), 0);\n\t}\n\n\tif (normals)\n\t{\n\t\tm_deviceContext->Map(m_normalBuffer.Get(), 0, D3D11_MAP_WRITE_DISCARD, 0, &res);\n\t\tfor (int i = 0; i < numVertices; ++i)\n\t\t\t((Vec3*)res.pData)[i] = Vec3(normals[i]);\n\t\tm_deviceContext->Unmap(m_normalBuffer.Get(), 0);\n\t}\n\n\tif (texcoords)\n\t{\n\t\tm_deviceContext->Map(m_texcoordBuffer.Get(), 0, D3D11_MAP_WRITE_DISCARD, 0, &res);\n\t\tmemcpy(res.pData, texcoords, sizeof(Vec2)*numVertices);\n\t\tm_deviceContext->Unmap(m_texcoordBuffer.Get(), 0);\n\t}\n\n\tif (colors)\n\t{\n\t\tm_deviceContext->Map(m_colorBuffer.Get(), 0, D3D11_MAP_WRITE_DISCARD, 0, &res);\n\t\tmemcpy(res.pData, colors, sizeof(Vec4)*numVertices);\n\t\tm_deviceContext->Unmap(m_colorBuffer.Get(), 0);\n\t}\n\n\t// indices\n\tif (indices)\n\t{\n\t\tm_deviceContext->Map(m_indexBuffer.Get(), 0, D3D11_MAP_WRITE_DISCARD, 0, &res);\n\t\tmemcpy(res.pData, indices, sizeof(int)*numFaces * 3);\n\t\tm_deviceContext->Unmap(m_indexBuffer.Get(), 0);\n\t}\n\n\tm_numVertices = numVertices;\n\tm_numFaces = numFaces;\n}\n\n/* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! MeshRendererD3D11 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! */\n\nvoid MeshRendererD3D11::init(ID3D11Device* device, ID3D11DeviceContext* context, bool asyncComputeBenchmark)\n{\n\tm_device = device;\n\tm_deviceContext = context;\n\n\t// create the input layout\n\t{\n\t\tD3D11_INPUT_ELEMENT_DESC inputElementDescs[] =\n\t\t{\n\t\t\t{ \"POSITION\", 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, 0, D3D11_INPUT_PER_VERTEX_DATA, 0 },\n\t\t\t{ \"NORMAL\", 0, DXGI_FORMAT_R32G32B32_FLOAT, 1, 0, D3D11_INPUT_PER_VERTEX_DATA, 0 },\n\t\t\t{ \"TEXCOORD\", 0, DXGI_FORMAT_R32G32_FLOAT, 2, 0, D3D11_INPUT_PER_VERTEX_DATA, 0 },\n\t\t\t{ \"COLOR\", 0, DXGI_FORMAT_R32G32B32A32_FLOAT, 3, 0, D3D11_INPUT_PER_VERTEX_DATA, 0 },\n\t\t};\n\n\t\tm_device->CreateInputLayout(inputElementDescs, 4, g_meshVS, sizeof(g_meshVS), &m_inputLayout);\n\t}\n\n\t// create the shaders\n\n\tif (asyncComputeBenchmark)\n\t{\n\t\tm_device->CreatePixelShader(AsyncComputeBench::g_meshPS, sizeof(AsyncComputeBench::g_meshPS), nullptr, &m_meshPs);\n\t}\n\telse\n\t{\n\t\tm_device->CreatePixelShader(g_meshPS, sizeof(g_meshPS), nullptr, &m_meshPs);\n\t}\n\n\tm_device->CreateVertexShader(g_meshVS, sizeof(g_meshVS), nullptr, &m_meshVs);\n\tm_device->CreatePixelShader(g_meshPS_Shadow, sizeof(g_meshPS_Shadow), nullptr, &m_meshShadowPs);\n\n\t// create a constant buffer\n\t{\n\t\tD3D11_BUFFER_DESC bufDesc;\n\t\tbufDesc.ByteWidth = sizeof(Hlsl::MeshShaderConst);\n\t\tbufDesc.Usage = D3D11_USAGE_DYNAMIC;\n\t\tbufDesc.BindFlags = D3D11_BIND_CONSTANT_BUFFER;\n\t\tbufDesc.CPUAccessFlags = D3D11_CPU_ACCESS_WRITE;\n\t\tbufDesc.MiscFlags = 0;\n\n\t\tm_device->CreateBuffer(&bufDesc, nullptr, &m_constantBuffer);\n\t}\n\n\t// create the rastersizer state\n\tfor (int i = 0; i < NUM_MESH_RENDER_MODES; i++)\n\t{\n\t\tfor (int j = 0; j < NUM_MESH_CULL_MODES; j++)\n\n\t\t{\n\t\t\tD3D11_RASTERIZER_DESC desc = {};\n\t\t\tdesc.FillMode = (D3D11_FILL_MODE)(D3D11_FILL_WIREFRAME + i);\n\t\t\tdesc.CullMode = (D3D11_CULL_MODE)(D3D11_CULL_NONE + j);\n\t\t\tdesc.FrontCounterClockwise = TRUE;\t// This is non-default\n\t\t\tdesc.DepthBias = 0;\n\t\t\tdesc.DepthBiasClamp = 0.f;\n\t\t\tdesc.SlopeScaledDepthBias = 0.f;\n\t\t\tdesc.DepthClipEnable = TRUE;\n\t\t\tdesc.ScissorEnable = FALSE;\n\t\t\tdesc.MultisampleEnable = FALSE;\n\t\t\tdesc.AntialiasedLineEnable = FALSE;\n\n\t\t\tm_device->CreateRasterizerState(&desc, &m_rasterizerState[i][j]);\n\t\t}\n\t}\n}\n\nvoid MeshRendererD3D11::draw(const GpuMeshD3D11* mesh, const MeshDrawParamsD3D* params)\n{\n\tusing namespace DirectX;\n\n\t// update constant buffer\n\t{\n\t\tD3D11_MAPPED_SUBRESOURCE mappedResource = {};\n\t\tif (SUCCEEDED(m_deviceContext->Map(m_constantBuffer.Get(), 0u, D3D11_MAP_WRITE_DISCARD, 0, &mappedResource)))\n\t\t{\n\t\t\tHlsl::MeshShaderConst constBuf;\n\t\t\tRenderParamsUtilD3D::calcMeshConstantBuffer(*params, constBuf);\n\t\t\tmemcpy(mappedResource.pData, &constBuf, sizeof(Hlsl::MeshShaderConst));\n\t\t\tm_deviceContext->Unmap(m_constantBuffer.Get(), 0u);\n\t\t}\n\t}\n\n\tm_deviceContext->VSSetShader(m_meshVs.Get(), nullptr, 0u);\n\tm_deviceContext->GSSetShader(nullptr, nullptr, 0u);\n\n\tswitch (params->renderStage)\n\t{\n\tcase MESH_DRAW_SHADOW:\n\t{\n\t\tm_deviceContext->PSSetShader(m_meshShadowPs.Get(), nullptr, 0u);\n\t\tbreak;\n\t}\n\tcase MESH_DRAW_LIGHT:\n\t{\n\t\tm_deviceContext->PSSetShader(m_meshPs.Get(), nullptr, 0u);\n\n\t\tShadowMapD3D11* shadowMap = (ShadowMapD3D11*)params->shadowMap;\n\t\tID3D11ShaderResourceView* srvs[1] = { shadowMap->m_depthSrv.Get() };\n\t\tm_deviceContext->PSSetShaderResources(0, 1, srvs);\n\t\tID3D11SamplerState* sampStates[1] = { shadowMap->m_linearSampler.Get() };\n\t\tm_deviceContext->PSSetSamplers(0, 1, sampStates);\n\t\tbreak;\n\t}\n\tdefault:\n\t\tassert(false);\n\t\tbreak;\n\t}\n\n\tm_deviceContext->IASetInputLayout(m_inputLayout.Get());\n\tm_deviceContext->IASetPrimitiveTopology(D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST);\n\n\tm_deviceContext->VSSetConstantBuffers(0, 1, m_constantBuffer.GetAddressOf());\n\tm_deviceContext->PSSetConstantBuffers(0, 1, m_constantBuffer.GetAddressOf());\n\n\tID3D11Buffer* vertexBuffers[4] =\n\t{\n\t\tmesh->m_positionBuffer.Get(),\n\t\tmesh->m_normalBuffer.Get(),\n\t\tmesh->m_texcoordBuffer.Get(),\n\t\tmesh->m_colorBuffer.Get(),\n\t};\n\n\tunsigned int vertexBufferStrides[4] =\n\t{\n\t\tsizeof(Vec3),\n\t\tsizeof(Vec3),\n\t\tsizeof(Vec2),\n\t\tsizeof(Vec4)\n\t};\n\n\tunsigned int vertexBufferOffsets[4] = { 0, 0, 0, 0 };\n\n\tm_deviceContext->IASetVertexBuffers(0, 4, vertexBuffers, vertexBufferStrides, vertexBufferOffsets);\n\tm_deviceContext->IASetIndexBuffer(mesh->m_indexBuffer.Get(), DXGI_FORMAT_R32_UINT, 0u);\n\n\tfloat depthSign = DirectX::XMVectorGetW(params->projection.r[2]);\n\tif (depthSign < 0.f)\n\t{\n\t\tm_deviceContext->RSSetState(m_rasterizerState[params->renderMode][params->cullMode].Get());\n\t}\n\t\n\tm_deviceContext->DrawIndexed((UINT)mesh->m_numFaces*3, 0, 0);\n\n\tif (depthSign < 0.f)\n\t{\n\t\tm_deviceContext->RSSetState(nullptr);\n\t}\t\n}\n"
  },
  {
    "path": "demo/d3d11/meshRenderD3D11.h",
    "content": "\n/*\n * Copyright (c) 2008-2017, NVIDIA CORPORATION.  All rights reserved.\n *\n * NVIDIA CORPORATION and its licensors retain all intellectual property\n * and proprietary rights in and to this software, related documentation\n * and any modifications thereto.  Any use, reproduction, disclosure or\n * distribution of this software and related documentation without an express\n * license agreement from NVIDIA CORPORATION is strictly prohibited.\n */\n\n#pragma once\n\n#include <DirectXMath.h>\n\n#include \"appD3D11Ctx.h\"\n\n#include \"core/maths.h\"\n#include \"../d3d/renderParamsD3D.h\"\n\n#include <wrl.h>\nusing namespace Microsoft::WRL;\n\nstruct GpuMeshD3D11\n{\n\tGpuMeshD3D11(ID3D11Device* device, ID3D11DeviceContext* deviceContext) ;\n\n\tvoid resize(int numVertices, int numFaces);\n\t\n\tvoid updateData(const Vec3* positions, const Vec3* normals, const Vec2* texcoords, const Vec4* colors, const int* indices, int numVertices, int numFaces);\n\t\t// duplicate method to handle conversion from vec4 to vec3 positions / normals\n\tvoid updateData(const Vec4* positions, const Vec4* normals, const Vec2* texcoords, const Vec4* colors, const int* indices, int numVertices, int numFaces);\n\t\n\tComPtr<ID3D11Buffer> m_positionBuffer;\n\tComPtr<ID3D11Buffer> m_normalBuffer;\n\tComPtr<ID3D11Buffer> m_texcoordBuffer;\n\tComPtr<ID3D11Buffer> m_colorBuffer;\n\n\tComPtr<ID3D11Buffer> m_indexBuffer;\n\n\tint m_numVertices;\n\tint m_numFaces;\n\n\tint m_maxVertices;\n\tint m_maxFaces;\n\n\tID3D11Device* m_device;\n\tID3D11DeviceContext* m_deviceContext;\n};\n\n\nstruct MeshRendererD3D11\n{\n\tvoid init(ID3D11Device* device, ID3D11DeviceContext* context, bool asyncComputeBenchmark);\n\tvoid draw(const GpuMeshD3D11* mesh, const MeshDrawParamsD3D* params);\t\n\n\tMeshRendererD3D11():\n\t\tm_device(nullptr),\n\t\tm_deviceContext(nullptr)\n\t{}\n\n\tID3D11Device* m_device;\n\tID3D11DeviceContext* m_deviceContext;\n\n\tComPtr<ID3D11InputLayout> m_inputLayout;\n\tComPtr<ID3D11VertexShader> m_meshVs;\n\tComPtr<ID3D11PixelShader> m_meshPs;\n\tComPtr<ID3D11PixelShader> m_meshShadowPs;\n\tComPtr<ID3D11Buffer> m_constantBuffer;\n\tComPtr<ID3D11RasterizerState> m_rasterizerState[NUM_MESH_RENDER_MODES][NUM_MESH_CULL_MODES];\n};\n\n\n\n"
  },
  {
    "path": "demo/d3d11/pointRenderD3D11.cpp",
    "content": "/*\n * Copyright (c) 2008-2017, NVIDIA CORPORATION.  All rights reserved.\n *\n * NVIDIA CORPORATION and its licensors retain all intellectual property\n * and proprietary rights in and to this software, related documentation\n * and any modifications thereto.  Any use, reproduction, disclosure or\n * distribution of this software and related documentation without an express\n * license agreement from NVIDIA CORPORATION is strictly prohibited.\n */\n\n//direct3d headers\n\n#define NOMINMAX\n\n#include <d3d11.h>\n\n// include the Direct3D Library file\n#pragma comment (lib, \"d3d11.lib\")\n\n#include <math.h>\n\n#include \"appD3D11Ctx.h\"\n\n#include \"shadowMapD3D11.h\"\n\n#include \"pointRenderD3D11.h\"\n\n#include \"../d3d/shaders/pointVS.hlsl.h\"\n#include \"../d3d/shaders/pointGS.hlsl.h\"\n#include \"../d3d/shaders/pointPS.hlsl.h\"\n#include \"../d3d/shaders/pointShadowPS.hlsl.h\"\n\n#include \"../d3d/shaderCommonD3D.h\"\n\nvoid PointRendererD3D11::init(ID3D11Device* device, ID3D11DeviceContext* context)\n{\n\tm_device = device;\n\tm_deviceContext = context;\n\n\t// create the input layout\n\t{\n\t\tD3D11_INPUT_ELEMENT_DESC inputElementDescs[] =\n\t\t{\n\t\t\t{ \"POSITION\", 0, DXGI_FORMAT_R32G32B32A32_FLOAT, 0, 0, D3D11_INPUT_PER_VERTEX_DATA, 0 },\n\t\t\t{ \"DENSITY\", 0, DXGI_FORMAT_R32_FLOAT, 1, 0, D3D11_INPUT_PER_VERTEX_DATA, 0 },\n\t\t\t{ \"PHASE\", 0, DXGI_FORMAT_R32_SINT, 2, 0, D3D11_INPUT_PER_VERTEX_DATA, 0 },\n\t\t};\n\n\t\tm_device->CreateInputLayout(inputElementDescs, 3, g_pointVS, sizeof(g_pointVS), &m_inputLayout);\n\t}\n\n\t// create the shaders\n\tm_device->CreateVertexShader(g_pointVS, sizeof(g_pointVS), nullptr, &m_pointVs);\n\tm_device->CreateGeometryShader(g_pointGS, sizeof(g_pointGS), nullptr, &m_pointGs);\n\tm_device->CreatePixelShader(g_pointPS, sizeof(g_pointPS), nullptr, &m_pointPs);\n\tm_device->CreatePixelShader(g_pointShadowPS, sizeof(g_pointShadowPS), nullptr, &m_pointShadowPs);\n\n\t// create a constant buffer\n\t{\n\t\tD3D11_BUFFER_DESC bufDesc;\n\t\tbufDesc.ByteWidth = sizeof(Hlsl::PointShaderConst); // 64 * sizeof(float);\n\t\tbufDesc.Usage = D3D11_USAGE_DYNAMIC;\n\t\tbufDesc.BindFlags = D3D11_BIND_CONSTANT_BUFFER;\n\t\tbufDesc.CPUAccessFlags = D3D11_CPU_ACCESS_WRITE;\n\t\tbufDesc.MiscFlags = 0;\n\n\t\tm_device->CreateBuffer(&bufDesc, nullptr, &m_constantBuffer);\n\t}\n\n\t// create the rasterizer state\n\tfor (int i = 0; i < NUM_POINT_RENDER_MODES; i++)\n\t{\n\t\tfor (int j = 0; j < NUM_POINT_CULL_MODES; j++)\n\n\t\t{\n\t\t\tD3D11_RASTERIZER_DESC desc = {};\n\t\t\tdesc.FillMode = (D3D11_FILL_MODE)(D3D11_FILL_WIREFRAME + i);\n\t\t\tdesc.CullMode = (D3D11_CULL_MODE)(D3D11_CULL_NONE + j);\n\t\t\tdesc.FrontCounterClockwise = TRUE;\t// This is non-default\n\t\t\tdesc.DepthBias = 0;\n\t\t\tdesc.DepthBiasClamp = 0.f;\n\t\t\tdesc.SlopeScaledDepthBias = 0.f;\n\t\t\tdesc.DepthClipEnable = TRUE;\n\t\t\tdesc.ScissorEnable = FALSE;\n\t\t\tdesc.MultisampleEnable = FALSE;\n\t\t\tdesc.AntialiasedLineEnable = FALSE;\n\n\t\t\tm_device->CreateRasterizerState(&desc, &m_rasterizerState[i][j]);\n\t\t}\n\t}\n}\n\nvoid PointRendererD3D11::draw(const PointDrawParamsD3D* params, ID3D11Buffer* positions, ID3D11Buffer* colors, ID3D11Buffer* indices, int numParticles, int offset)\n{\n\tusing namespace DirectX;\n\n\tID3D11DeviceContext* deviceContext = m_deviceContext;\n\n\t// update constant buffer\n\t{\n\t\tD3D11_MAPPED_SUBRESOURCE mappedResource = {};\n\t\tif (SUCCEEDED(deviceContext->Map(m_constantBuffer.Get(), 0u, D3D11_MAP_WRITE_DISCARD, 0, &mappedResource)))\n\t\t{\n\t\t\tHlsl::PointShaderConst constBuf;\n\t\t\tRenderParamsUtilD3D::calcPointConstantBuffer(*params, constBuf);\n\t\t\tmemcpy(mappedResource.pData, &constBuf, sizeof(Hlsl::PointShaderConst));\n\t\t\tdeviceContext->Unmap(m_constantBuffer.Get(), 0u);\n\t\t}\n\t}\n\n\tdeviceContext->VSSetShader(m_pointVs.Get(), nullptr, 0u);\n\tdeviceContext->GSSetShader(m_pointGs.Get(), nullptr, 0u);\n\tdeviceContext->PSSetShader(m_pointPs.Get(), nullptr, 0u);\n\n\tif (params->shadowMap)\n\t{\n\t\tShadowMapD3D11* shadowMap = (ShadowMapD3D11*)params->shadowMap;\n\t\tif (params->renderStage == POINT_DRAW_SHADOW)\n\t\t{\n\t\t\tID3D11ShaderResourceView* srvs[1] = { nullptr };\n\t\t\tdeviceContext->PSSetShaderResources(0, 1, srvs);\n\t\t\tID3D11SamplerState* samps[1] = { shadowMap->m_linearSampler.Get() };\n\t\t\tdeviceContext->PSSetSamplers(0, 1, samps);\n\t\t\tdeviceContext->PSSetShader(m_pointShadowPs.Get(), nullptr, 0u);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tID3D11ShaderResourceView* srvs[1] = { shadowMap->m_depthSrv.Get() };\n\t\t\tdeviceContext->PSSetShaderResources(0, 1, srvs);\n\t\t\tID3D11SamplerState* samps[1] = { shadowMap->m_linearSampler.Get() };\n\t\t\tdeviceContext->PSSetSamplers(0, 1, samps);\n\t\t}\n\t}\n\n\tdeviceContext->IASetInputLayout(m_inputLayout.Get());\n\tdeviceContext->IASetPrimitiveTopology(D3D11_PRIMITIVE_TOPOLOGY_POINTLIST);\n\n\tdeviceContext->VSSetConstantBuffers(0, 1, m_constantBuffer.GetAddressOf());\n\tdeviceContext->GSSetConstantBuffers(0, 1, m_constantBuffer.GetAddressOf());\n\tdeviceContext->PSSetConstantBuffers(0, 1, m_constantBuffer.GetAddressOf());\n\n\tID3D11Buffer* vertexBuffers[3] = \n\t{\n\t\tpositions,\n\t\tcolors,\t// will be interpreted as density\n\t\tcolors,\t// will be interpreted as phase\n\t};\n\n\tunsigned int vertexBufferStrides[3] =\n\t{\n\t\tsizeof(float4),\n\t\tsizeof(float),\n\t\tsizeof(int)\n\t};\n\n\tunsigned int vertexBufferOffsets[3] = { 0 };\n\n\tdeviceContext->IASetVertexBuffers(0, 3, vertexBuffers, vertexBufferStrides, vertexBufferOffsets);\n\tdeviceContext->IASetIndexBuffer(indices, DXGI_FORMAT_R32_UINT, 0u);\n\n\tfloat depthSign = DirectX::XMVectorGetW(params->projection.r[2]);\n\tif (depthSign < 0.f)\n\t{\n\t\tdeviceContext->RSSetState(m_rasterizerState[params->renderMode][params->cullMode].Get());\n\t}\n\t\n\tdeviceContext->DrawIndexed(numParticles, offset, 0);\n\n\tif (depthSign < 0.f)\n\t{\n\t\tdeviceContext->RSSetState(nullptr);\n\t}\n}\n"
  },
  {
    "path": "demo/d3d11/pointRenderD3D11.h",
    "content": "/*\n * Copyright (c) 2008-2017, NVIDIA CORPORATION.  All rights reserved.\n *\n * NVIDIA CORPORATION and its licensors retain all intellectual property\n * and proprietary rights in and to this software, related documentation\n * and any modifications thereto.  Any use, reproduction, disclosure or\n * distribution of this software and related documentation without an express\n * license agreement from NVIDIA CORPORATION is strictly prohibited.\n */\n\n#pragma once\n\n#include \"../d3d/renderParamsD3D.h\"\n\n#include <DirectXMath.h>\n#include <wrl.h>\nusing namespace Microsoft::WRL;\n\n\nstruct PointRendererD3D11\n{\n\tvoid init(ID3D11Device* device, ID3D11DeviceContext* deviceContext);\n\t\n\tvoid draw(const PointDrawParamsD3D* params, ID3D11Buffer* positions, ID3D11Buffer* colors, ID3D11Buffer* indices, int numParticles, int offset);\n\n\tPointRendererD3D11():\n\t\tm_device(nullptr),\n\t\tm_deviceContext(nullptr)\n\t{}\n\n\tID3D11Device* m_device;\n\tID3D11DeviceContext* m_deviceContext;\n\n\tComPtr<ID3D11InputLayout> m_inputLayout;\n\tComPtr<ID3D11VertexShader> m_pointVs;\n\tComPtr<ID3D11GeometryShader> m_pointGs;\n\tComPtr<ID3D11PixelShader> m_pointPs;\n\tComPtr<ID3D11PixelShader> m_pointShadowPs;\n\tComPtr<ID3D11Buffer> m_constantBuffer;\n\n\t// Assumes right handed\n\tComPtr<ID3D11RasterizerState> m_rasterizerState[NUM_POINT_RENDER_MODES][NUM_POINT_CULL_MODES];\n};\n"
  },
  {
    "path": "demo/d3d11/renderTargetD3D11.cpp",
    "content": "/*\n * Copyright (c) 2008-2017, NVIDIA CORPORATION.  All rights reserved.\n *\n * NVIDIA CORPORATION and its licensors retain all intellectual property\n * and proprietary rights in and to this software, related documentation\n * and any modifications thereto.  Any use, reproduction, disclosure or\n * distribution of this software and related documentation without an express\n * license agreement from NVIDIA CORPORATION is strictly prohibited.\n */\n\n#include \"renderTargetD3D11.h\"\n\nRenderTargetD3D11::RenderTargetD3D11()\n{\n}\n\nstatic D3D11_TEXTURE2D_DESC _getTextureDesc(DXGI_FORMAT format, UINT width, UINT height,\n\tUINT bindFlags, UINT sampleCount = 1, D3D11_USAGE usage = D3D11_USAGE_DEFAULT, UINT cpuAccessFlags = 0,\n\tUINT miscFlags = 0, UINT arraySize = 1, UINT mipLevels = 1)\n{\n\tD3D11_TEXTURE2D_DESC desc;\n\tdesc.Format = format;\n\tdesc.Width = width;\n\tdesc.Height = height;\n\n\tdesc.ArraySize = arraySize;\n\tdesc.MiscFlags = miscFlags;\n\tdesc.MipLevels = mipLevels;\n\n\tdesc.SampleDesc.Count = sampleCount;\n\tdesc.SampleDesc.Quality = 0;\n\tdesc.BindFlags = bindFlags;\n\tdesc.Usage = usage;\n\tdesc.CPUAccessFlags = cpuAccessFlags;\n\treturn desc;\n}\n\nstatic D3D11_DEPTH_STENCIL_VIEW_DESC _getDsvDesc(DXGI_FORMAT format, D3D11_DSV_DIMENSION viewDimension, UINT flags = 0, UINT mipSlice = 0)\n{\n\tD3D11_DEPTH_STENCIL_VIEW_DESC desc;\n\tdesc.Format = format;\n\tdesc.ViewDimension = viewDimension;\n\tdesc.Flags = flags;\n\tdesc.Texture2D.MipSlice = mipSlice;\n\treturn desc;\n}\n\nstatic D3D11_SHADER_RESOURCE_VIEW_DESC _getSrvDesc(DXGI_FORMAT format)\n{\n\tD3D11_SHADER_RESOURCE_VIEW_DESC desc;\n\tdesc.Format = format;\n\tdesc.ViewDimension = D3D11_SRV_DIMENSION_TEXTURE2D;\n\tdesc.Texture2D.MostDetailedMip = 0;\n\tdesc.Texture2D.MipLevels = -1;\n\n\treturn desc;\n}\n\nHRESULT RenderTargetD3D11::init(ID3D11Device* device, int width, int height, bool depthTest)\n{\n\t// set viewport\n\t{\n\t\tm_viewport.Width = float(width);\n\t\tm_viewport.Height = float(height);\n\t\tm_viewport.MinDepth = 0;\n\t\tm_viewport.MaxDepth = 1;\n\t\tm_viewport.TopLeftX = 0;\n\t\tm_viewport.TopLeftY = 0;\n\t}\n\n\t// create shadow render target\n\t{\n\t\tD3D11_TEXTURE2D_DESC texDesc = _getTextureDesc(DXGI_FORMAT_R32_FLOAT, UINT(width), UINT(height),\n\t\t\tD3D11_BIND_RENDER_TARGET | D3D11_BIND_SHADER_RESOURCE);\n\n\t\tNV_RETURN_ON_FAIL(device->CreateTexture2D(&texDesc, NV_NULL, m_backTexture.ReleaseAndGetAddressOf()));\n\t\tNV_RETURN_ON_FAIL(device->CreateShaderResourceView(m_backTexture.Get(), NV_NULL, m_backSrv.ReleaseAndGetAddressOf()));\n\t\tNV_RETURN_ON_FAIL(device->CreateRenderTargetView(m_backTexture.Get(), NV_NULL, m_backRtv.ReleaseAndGetAddressOf()));\n\t}\n\n\t// create shadow depth stencil\n\t{\n\t\tD3D11_TEXTURE2D_DESC texDesc = _getTextureDesc(DXGI_FORMAT_R32_TYPELESS, UINT(width), UINT(height),\n\t\t\tD3D11_BIND_DEPTH_STENCIL | D3D11_BIND_SHADER_RESOURCE);\n\t\tNV_RETURN_ON_FAIL(device->CreateTexture2D(&texDesc, NV_NULL, m_depthTexture.ReleaseAndGetAddressOf()));\n\n\t\tD3D11_DEPTH_STENCIL_VIEW_DESC dsvDesc = _getDsvDesc(DXGI_FORMAT_D32_FLOAT, D3D11_DSV_DIMENSION_TEXTURE2D);\n\t\tNV_RETURN_ON_FAIL(device->CreateDepthStencilView(m_depthTexture.Get(), &dsvDesc, m_depthDsv.ReleaseAndGetAddressOf()));\n\n\t\tD3D11_SHADER_RESOURCE_VIEW_DESC srvDesc = _getSrvDesc(DXGI_FORMAT_R32_FLOAT);\n\t\tNV_RETURN_ON_FAIL(device->CreateShaderResourceView(m_depthTexture.Get(), &srvDesc, m_depthSrv.ReleaseAndGetAddressOf()));\n\t}\n\n\t{\n\t\tD3D11_SAMPLER_DESC samplerDesc =\n\t\t{\n\t\t\tD3D11_FILTER_MIN_MAG_MIP_LINEAR,\n\t\t\tD3D11_TEXTURE_ADDRESS_CLAMP,\n\t\t\tD3D11_TEXTURE_ADDRESS_CLAMP,\n\t\t\tD3D11_TEXTURE_ADDRESS_CLAMP,\n\t\t\t0.0, 0, D3D11_COMPARISON_NEVER,\n\t\t\t0.0f, 0.0f, 0.0f, 0.0f,\n\t\t\t0.0f, D3D11_FLOAT32_MAX,\n\t\t};\n\t\tNV_RETURN_ON_FAIL(device->CreateSamplerState(&samplerDesc, m_linearSampler.ReleaseAndGetAddressOf()));\n\t}\n\t{\n\t\tD3D11_SAMPLER_DESC samplerDesc =\n\t\t{\n\t\t\tD3D11_FILTER_MIN_MAG_MIP_POINT,\n\t\t\tD3D11_TEXTURE_ADDRESS_CLAMP,\n\t\t\tD3D11_TEXTURE_ADDRESS_CLAMP,\n\t\t\tD3D11_TEXTURE_ADDRESS_CLAMP,\n\t\t\t0.0, 0, D3D11_COMPARISON_NEVER,\n\t\t\t0.0f, 0.0f, 0.0f, 0.0f,\n\t\t\t0.0f, D3D11_FLOAT32_MAX,\n\t\t};\n\t\tNV_RETURN_ON_FAIL(device->CreateSamplerState(&samplerDesc, m_pointSampler.ReleaseAndGetAddressOf()));\n\t}\n\n\t{\n\t\tD3D11_DEPTH_STENCIL_DESC depthStateDesc = {};\n\t\tdepthStateDesc.DepthEnable = depthTest;\n\t\tdepthStateDesc.DepthWriteMask = D3D11_DEPTH_WRITE_MASK_ALL;\n\t\tdepthStateDesc.DepthFunc = D3D11_COMPARISON_LESS_EQUAL;\n\n\t\tNV_RETURN_ON_FAIL(device->CreateDepthStencilState(&depthStateDesc, m_depthStencilState.ReleaseAndGetAddressOf()));\n\t}\n\n\treturn S_OK;\n}\n\nvoid RenderTargetD3D11::bindAndClear(ID3D11DeviceContext* context)\n{\n\tID3D11RenderTargetView* ppRtv[1] = { m_backRtv.Get() };\n\tcontext->OMSetRenderTargets(1, ppRtv, m_depthDsv.Get());\n\tcontext->OMSetDepthStencilState(m_depthStencilState.Get(), 0u);\n\n\tcontext->RSSetViewports(1, &m_viewport);\n\n\tfloat clearDepth = 0.0f;\n\tfloat clearColor[4] = { clearDepth, clearDepth, clearDepth, clearDepth };\n\n\tcontext->ClearRenderTargetView(m_backRtv.Get(), clearColor);\n\tcontext->ClearDepthStencilView(m_depthDsv.Get(), D3D11_CLEAR_DEPTH, 1.0, 0);\n}\n"
  },
  {
    "path": "demo/d3d11/renderTargetD3D11.h",
    "content": "/*\n * Copyright (c) 2008-2017, NVIDIA CORPORATION.  All rights reserved.\n *\n * NVIDIA CORPORATION and its licensors retain all intellectual property\n * and proprietary rights in and to this software, related documentation\n * and any modifications thereto.  Any use, reproduction, disclosure or\n * distribution of this software and related documentation without an express\n * license agreement from NVIDIA CORPORATION is strictly prohibited.\n */\n\n#pragma once\n\n#include <d3d11.h>\n#include <DirectXMath.h>\n#include <wrl.h>\n\nusing namespace DirectX;\nusing namespace Microsoft::WRL;\n\n#define NV_NULL nullptr\n#define NV_RETURN_ON_FAIL(x) { HRESULT _res = (x); if (FAILED(_res)) { return _res; } }\n\nstruct RenderTargetD3D11\n{\npublic:\n\n\tRenderTargetD3D11();\n\n\tHRESULT init(ID3D11Device* device, int width, int height, bool depthTest = true);\n\n\tvoid bindAndClear(ID3D11DeviceContext* context);\n\n\tXMMATRIX m_lightView;\n\tXMMATRIX m_lightProjection;\n\tXMMATRIX m_lightWorldToTex;\n\n\tComPtr<ID3D11Texture2D> m_backTexture;\n\tComPtr<ID3D11RenderTargetView> m_backRtv;\n\tComPtr<ID3D11ShaderResourceView> m_backSrv;\n\n\tComPtr<ID3D11Texture2D> m_depthTexture;\n\tComPtr<ID3D11DepthStencilView> m_depthDsv;\n\tComPtr<ID3D11ShaderResourceView> m_depthSrv;\n\n\tComPtr<ID3D11SamplerState> m_linearSampler;\n\tComPtr<ID3D11SamplerState> m_pointSampler;\n\n\tComPtr<ID3D11DepthStencilState> m_depthStencilState;\n\n\tD3D11_VIEWPORT m_viewport;\n};\n"
  },
  {
    "path": "demo/d3d11/shadowMapD3D11.cpp",
    "content": "/*\n * Copyright (c) 2008-2017, NVIDIA CORPORATION.  All rights reserved.\n *\n * NVIDIA CORPORATION and its licensors retain all intellectual property\n * and proprietary rights in and to this software, related documentation\n * and any modifications thereto.  Any use, reproduction, disclosure or\n * distribution of this software and related documentation without an express\n * license agreement from NVIDIA CORPORATION is strictly prohibited.\n */\n\n#include \"shadowMapD3D11.h\"\n\nShadowMapD3D11::ShadowMapD3D11()\n{\n}\n\nstatic D3D11_TEXTURE2D_DESC _getTextureDesc(DXGI_FORMAT format, UINT width, UINT height,\n\tUINT bindFlags, UINT sampleCount = 1, D3D11_USAGE usage = D3D11_USAGE_DEFAULT, UINT cpuAccessFlags = 0,\n\tUINT miscFlags = 0, UINT arraySize = 1, UINT mipLevels = 1)\n{\n\tD3D11_TEXTURE2D_DESC desc;\n\tdesc.Format = format;\n\tdesc.Width = width;\n\tdesc.Height = height;\n\n\tdesc.ArraySize = arraySize;\n\tdesc.MiscFlags = miscFlags;\n\tdesc.MipLevels = mipLevels;\n\n\tdesc.SampleDesc.Count = sampleCount;\n\tdesc.SampleDesc.Quality = 0;\n\tdesc.BindFlags = bindFlags;\n\tdesc.Usage = usage;\n\tdesc.CPUAccessFlags = cpuAccessFlags;\n\treturn desc;\n}\n\nstatic D3D11_DEPTH_STENCIL_VIEW_DESC _getDsvDesc(DXGI_FORMAT format, D3D11_DSV_DIMENSION viewDimension, UINT flags = 0, UINT mipSlice = 0)\n{\n\tD3D11_DEPTH_STENCIL_VIEW_DESC desc;\n\tdesc.Format = format;\n\tdesc.ViewDimension = viewDimension;\n\tdesc.Flags = flags;\n\tdesc.Texture2D.MipSlice = mipSlice;\n\treturn desc;\n}\n\nstatic D3D11_SHADER_RESOURCE_VIEW_DESC _getSrvDesc(DXGI_FORMAT format)\n{\n\tD3D11_SHADER_RESOURCE_VIEW_DESC desc;\n\tdesc.Format = format;\n\tdesc.ViewDimension = D3D11_SRV_DIMENSION_TEXTURE2D;\n\tdesc.Texture2D.MostDetailedMip = 0;\n\tdesc.Texture2D.MipLevels = -1;\n\n\treturn desc;\n}\n\nHRESULT ShadowMapD3D11::init(ID3D11Device* device, int resolution)\n{\n\t// set viewport\n\t{\n\t\tm_viewport.Width = float(resolution);\n\t\tm_viewport.Height = float(resolution);\n\t\tm_viewport.MinDepth = 0;\n\t\tm_viewport.MaxDepth = 1;\n\t\tm_viewport.TopLeftX = 0;\n\t\tm_viewport.TopLeftY = 0;\n\t}\n\n\t// create shadow render target\n\t{\n\t\tD3D11_TEXTURE2D_DESC texDesc = _getTextureDesc(DXGI_FORMAT_R32_FLOAT, UINT(resolution), UINT(resolution),\n\t\t\tD3D11_BIND_RENDER_TARGET | D3D11_BIND_SHADER_RESOURCE);\n\n\t\tNV_RETURN_ON_FAIL(device->CreateTexture2D(&texDesc, NV_NULL, m_backTexture.ReleaseAndGetAddressOf()));\n\t\tNV_RETURN_ON_FAIL(device->CreateShaderResourceView(m_backTexture.Get(), NV_NULL, m_backSrv.ReleaseAndGetAddressOf()));\n\t\tNV_RETURN_ON_FAIL(device->CreateRenderTargetView(m_backTexture.Get(), NV_NULL, m_backRtv.ReleaseAndGetAddressOf()));\n\t}\n\n\t// create shadow depth stencil\n\t{\n\t\tD3D11_TEXTURE2D_DESC texDesc = _getTextureDesc(DXGI_FORMAT_R32_TYPELESS, UINT(resolution), UINT(resolution),\n\t\t\tD3D11_BIND_DEPTH_STENCIL | D3D11_BIND_SHADER_RESOURCE);\n\t\tNV_RETURN_ON_FAIL(device->CreateTexture2D(&texDesc, NV_NULL, m_depthTexture.ReleaseAndGetAddressOf()));\n\n\t\tD3D11_DEPTH_STENCIL_VIEW_DESC dsvDesc = _getDsvDesc(DXGI_FORMAT_D32_FLOAT, D3D11_DSV_DIMENSION_TEXTURE2D);\n\t\tNV_RETURN_ON_FAIL(device->CreateDepthStencilView(m_depthTexture.Get(), &dsvDesc, m_depthDsv.ReleaseAndGetAddressOf()));\n\n\t\tD3D11_SHADER_RESOURCE_VIEW_DESC srvDesc = _getSrvDesc(DXGI_FORMAT_R32_FLOAT);\n\t\tNV_RETURN_ON_FAIL(device->CreateShaderResourceView(m_depthTexture.Get(), &srvDesc, m_depthSrv.ReleaseAndGetAddressOf()));\n\t}\n\n\t{\n\t\t// example texture sampler (use any texture sampler of your own choice)\n\t\tD3D11_SAMPLER_DESC samplerDesc =\n\t\t{\n\t\t\tD3D11_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR,\n\t\t\tD3D11_TEXTURE_ADDRESS_CLAMP,\n\t\t\tD3D11_TEXTURE_ADDRESS_CLAMP,\n\t\t\tD3D11_TEXTURE_ADDRESS_CLAMP,\n\t\t\t0.0, 0, D3D11_COMPARISON_LESS_EQUAL,\n\t\t\t0.0f, 0.0f, 0.0f, 0.0f,\n\t\t\t0.0f, D3D11_FLOAT32_MAX,\n\t\t};\n\t\tNV_RETURN_ON_FAIL(device->CreateSamplerState(&samplerDesc, m_linearSampler.ReleaseAndGetAddressOf()));\n\t}\n\t{\n\t\tD3D11_SAMPLER_DESC samplerDesc =\n\t\t{\n\t\t\tD3D11_FILTER_MIN_MAG_MIP_POINT,\n\t\t\tD3D11_TEXTURE_ADDRESS_CLAMP,\n\t\t\tD3D11_TEXTURE_ADDRESS_CLAMP,\n\t\t\tD3D11_TEXTURE_ADDRESS_CLAMP,\n\t\t\t0.0, 0, D3D11_COMPARISON_NEVER,\n\t\t\t0.0f, 0.0f, 0.0f, 0.0f,\n\t\t\t0.0f, D3D11_FLOAT32_MAX,\n\t\t};\n\t\tNV_RETURN_ON_FAIL(device->CreateSamplerState(&samplerDesc, m_pointSampler.ReleaseAndGetAddressOf()));\n\t}\n\n\treturn S_OK;\n}\n\nvoid ShadowMapD3D11::bindAndClear(ID3D11DeviceContext* context)\n{\n\tID3D11RenderTargetView* ppRtv[1] = { m_backRtv.Get() };\n\tcontext->OMSetRenderTargets(1, ppRtv, m_depthDsv.Get());\n\n\tcontext->RSSetViewports(1, &m_viewport);\n\n\tfloat clearDepth = FLT_MAX;\n\tfloat clearColor[4] = { clearDepth, clearDepth, clearDepth, clearDepth };\n\n\tcontext->ClearRenderTargetView(m_backRtv.Get(), clearColor);\n\tcontext->ClearDepthStencilView(m_depthDsv.Get(), D3D11_CLEAR_DEPTH, 1.0, 0);\n}\n\nvoid ShadowMapD3D11::setDefaultLight(FXMVECTOR eye, FXMVECTOR at, FXMVECTOR up)\n{\n\tfloat sizeX = 50.0f;\n\tfloat sizeY = 50.0f;\n\tfloat znear = -200.0f;\n\tfloat zfar = 200.0f;\n\n\tsetLightMatrices(eye, at, up, sizeX, sizeY, znear, zfar);\n}\n\nvoid ShadowMapD3D11::setLightMatrices(FXMVECTOR eye, FXMVECTOR lookAt, FXMVECTOR up, float sizeX, float sizeY, float zNear, float zFar)\n{\n\tm_lightView = XMMatrixLookAtLH(eye, lookAt, up);\n\n\tm_lightProjection = XMMatrixOrthographicLH(sizeX, sizeY, zNear, zFar);\n\n\tDirectX::XMMATRIX clip2Tex(0.5, 0, 0, 0,\n\t\t0, -0.5, 0, 0,\n\t\t0, 0, 1, 0,\n\t\t0.5, 0.5, 0, 1);\n\n\tDirectX::XMMATRIX viewProjection = m_lightView * m_lightProjection;\n\tm_lightWorldToTex = viewProjection * clip2Tex;\n}\n"
  },
  {
    "path": "demo/d3d11/shadowMapD3D11.h",
    "content": "/*\n * Copyright (c) 2008-2017, NVIDIA CORPORATION.  All rights reserved.\n *\n * NVIDIA CORPORATION and its licensors retain all intellectual property\n * and proprietary rights in and to this software, related documentation\n * and any modifications thereto.  Any use, reproduction, disclosure or\n * distribution of this software and related documentation without an express\n * license agreement from NVIDIA CORPORATION is strictly prohibited.\n */\n\n#pragma once\n\n#include <d3d11.h>\n#include <DirectXMath.h>\n#include <wrl.h>\n\nusing namespace DirectX;\nusing namespace Microsoft::WRL;\n\n#define NV_NULL nullptr\n#define NV_RETURN_ON_FAIL(x) { HRESULT _res = (x); if (FAILED(_res)) { return _res; } }\n\nstruct ShadowMapD3D11\n{\n\tShadowMapD3D11();\n\n\tHRESULT init(ID3D11Device* device, int resolution);\n\n\tvoid setDefaultLight(FXMVECTOR eye, FXMVECTOR at, FXMVECTOR up);\n\tvoid setLightMatrices(FXMVECTOR eye, FXMVECTOR lookAt, FXMVECTOR up, float sizeX, float sizeY, float zNear, float zFar);\n\n\tvoid bindAndClear(ID3D11DeviceContext* context);\n\n\tXMMATRIX m_lightView;\n\tXMMATRIX m_lightProjection;\n\tXMMATRIX m_lightWorldToTex;\n\n\tComPtr<ID3D11Texture2D> m_backTexture;\n\tComPtr<ID3D11RenderTargetView> m_backRtv;\n\tComPtr<ID3D11ShaderResourceView> m_backSrv;\n\n\tComPtr<ID3D11Texture2D> m_depthTexture;\n\tComPtr<ID3D11DepthStencilView> m_depthDsv;\n\tComPtr<ID3D11ShaderResourceView> m_depthSrv;\n\n\tComPtr<ID3D11SamplerState> m_linearSampler;\n\tComPtr<ID3D11SamplerState> m_pointSampler;\n\n\tD3D11_VIEWPORT m_viewport;\n};\n"
  },
  {
    "path": "demo/d3d12/NvCoDx12CircularResourceHeap.cpp",
    "content": "/* Copyright (c) 2016, NVIDIA CORPORATION.  All rights reserved.\n* NVIDIA CORPORATION and its licensors retain all intellectual property\n* and proprietary rights in and to this software, related documentation\n* and any modifications thereto.  Any use, reproduction, disclosure or\n* distribution of this software and related documentation without an express\n* license agreement from NVIDIA CORPORATION is strictly prohibited. */\n\n#include \"NvCoDx12CircularResourceHeap.h\"\n\nnamespace nvidia {\nnamespace Common {\n\nDx12CircularResourceHeap::Dx12CircularResourceHeap():\n\tm_fence(nullptr),\n\tm_device(nullptr),\n\tm_blockFreeList(sizeof(Block), __alignof(Block), 16),\n\tm_blocks(nullptr)\n{\n\tm_back.m_block = nullptr;\n\tm_back.m_position = nullptr;\n\tm_front.m_block = nullptr;\n\tm_front.m_position = nullptr;\n}\n\nDx12CircularResourceHeap::~Dx12CircularResourceHeap()\n{\n\t_freeBlockListResources(m_blocks);\n}\n\nvoid Dx12CircularResourceHeap::_freeBlockListResources(const Block* start)\n{\n\tif (start)\n\t{\n\t\t{\n\t\t\tID3D12Resource* resource = start->m_resource;\n\t\t\tresource->Unmap(0, nullptr);\n\t\t\tresource->Release();\n\t\t}\n\t\tfor (Block* block = start->m_next; block != start; block = block->m_next)\n\t\t{\n\t\t\tID3D12Resource* resource = block->m_resource;\n\t\t\tresource->Unmap(0, nullptr);\n\t\t\tresource->Release();\n\t\t}\n\t} \n}\n\nint Dx12CircularResourceHeap::init(ID3D12Device* device, const Desc& desc, Dx12CounterFence* fence)\n{\n\tassert(m_blocks == nullptr); \n\tassert(desc.m_blockSize > 0);\n\n\tm_fence = fence;\n\tm_desc = desc;\n\tm_device = device;\n\n\treturn NV_OK;\n}\n\nvoid Dx12CircularResourceHeap::addSync(uint64_t signalValue)\n{\n\tassert(signalValue == m_fence->getCurrentValue());\n\tPendingEntry entry;\n\tentry.m_completedValue = signalValue;\n\tentry.m_cursor = m_front;\n\tm_pendingQueue.push_back(entry); \n}\n\nvoid Dx12CircularResourceHeap::updateCompleted()\n{\n\tconst uint64_t completedValue = m_fence->getCompletedValue();\n\twhile (!m_pendingQueue.empty())\n\t{\n\t\tconst PendingEntry& entry = m_pendingQueue.front();\n\t\tif (entry.m_completedValue <= completedValue)\n\t\t{\n\t\t\tm_back = entry.m_cursor;\n\t\t\tm_pendingQueue.pop_front();\n\t\t}\n\t\telse\n\t\t{\n\t\t\tbreak;\n\t\t}\n\t}\n}\n\nDx12CircularResourceHeap::Block* Dx12CircularResourceHeap::_newBlock()\n{\n\tD3D12_RESOURCE_DESC desc;\n\n\tdesc.Dimension = D3D12_RESOURCE_DIMENSION_BUFFER;\n\tdesc.Alignment = 0;\n\tdesc.Width = m_desc.m_blockSize;\n\tdesc.Height = 1;\n\tdesc.DepthOrArraySize = 1;\n\tdesc.MipLevels = 1;\n\tdesc.Format = DXGI_FORMAT_UNKNOWN;\n\tdesc.SampleDesc.Count = 1;\n\tdesc.SampleDesc.Quality = 0;\n\tdesc.Layout = D3D12_TEXTURE_LAYOUT_ROW_MAJOR;\n\tdesc.Flags = D3D12_RESOURCE_FLAG_NONE;\n\n\tComPtr<ID3D12Resource> resource;\n\tint res = m_device->CreateCommittedResource(&m_desc.m_heapProperties, m_desc.m_heapFlags, &desc, m_desc.m_initialState, nullptr, IID_PPV_ARGS(&resource));\n\tif (NV_FAILED(res))\n\t{\n\t\tprintf(\"Resource allocation failed\");\n\t\treturn nullptr;\n\t}\n\n\tuint8_t* data = nullptr;\n\tif (m_desc.m_heapProperties.Type == D3D12_HEAP_TYPE_READBACK)\n\t{\n\t}\n\telse\n\t{\n\t\t// Map it, and keep it mapped\n\t\tresource->Map(0, nullptr, (void**)&data);\n\t}\n\n\t// We have no blocks -> so lets allocate the first\n\tBlock* block = (Block*)m_blockFreeList.allocate();\n\tblock->m_next = nullptr;\n\n\tblock->m_resource = resource.Detach();\n\tblock->m_start = data;\n\treturn block;\n}\n\nDx12CircularResourceHeap::Cursor Dx12CircularResourceHeap::allocate(size_t size, size_t alignment)\n{\n\tconst size_t blockSize = getBlockSize();\n\n\tassert(size <= blockSize);\n\n\t// If nothing is allocated add the first block\n\tif (m_blocks == nullptr)\n\t{\n\t\tBlock* block = _newBlock();\n\t\tif (!block)\n\t\t{\n\t\t\tCursor cursor = {};\n\t\t\treturn cursor;\n\t\t}\n\t\tm_blocks = block;\n\t\t// Make circular\n\t\tblock->m_next = block;\n\n\t\t// Point front and back to same position, as currently it is all free\n\t\tm_back = { block, block->m_start };\n\t\tm_front = m_back;\n\t}\n\n\t// If front and back are in the same block then front MUST be ahead of back (as that defined as \n\t// an invariant and is required for block insertion to be possible\n\tBlock* block = m_front.m_block;\n\n\t// Check the invariant\n\tassert(block != m_back.m_block || m_front.m_position >= m_back.m_position);\n\n\t{\n\t\tuint8_t* cur = (uint8_t*)((size_t(m_front.m_position) + alignment - 1) & ~(alignment - 1));\n\t\t// Does the the allocation fit?\n\t\tif (cur + size <= block->m_start + blockSize)\n\t\t{\n\t\t\t// It fits\n\t\t\t// Move the front forward\n\t\t\tm_front.m_position = cur + size;\n\t\t\tCursor cursor = { block, cur };\n\t\t\treturn cursor;\n\t\t}\n\t}\n\n\t// Okay I can't fit into current block...\n\t \n\t// If the next block contains front, we need to add a block, else we can use that block\n\tif (block->m_next == m_back.m_block)\n\t{\n\t\tBlock* newBlock = _newBlock();\n\t\t// Insert into the list\n\t\tnewBlock->m_next = block->m_next;\n\t\tblock->m_next = newBlock;\n\t}\n\t\n\t// Use the block we are going to add to\n\tblock = block->m_next;\n\tuint8_t* cur = (uint8_t*)((size_t(block->m_start) + alignment - 1) & ~(alignment - 1));\n\t// Does the the allocation fit?\n\tif (cur + size > block->m_start + blockSize)\n\t{\n\t\tprintf(\"Couldn't fit into a free block(!) Alignment breaks it?\");\n\t\tCursor cursor = {};\n\t\treturn cursor;\n\t}\n\t// It fits\n\t// Move the front forward\n\tm_front.m_block = block;\n\tm_front.m_position = cur + size;\n\tCursor cursor = { block, cur };\n\treturn cursor;\n}\n\n} // namespace Common\n} // namespace nvidia\n"
  },
  {
    "path": "demo/d3d12/NvCoDx12CircularResourceHeap.h",
    "content": "/* Copyright (c) 2016, NVIDIA CORPORATION.  All rights reserved.\n* NVIDIA CORPORATION and its licensors retain all intellectual property\n* and proprietary rights in and to this software, related documentation\n* and any modifications thereto.  Any use, reproduction, disclosure or\n* distribution of this software and related documentation without an express\n* license agreement from NVIDIA CORPORATION is strictly prohibited. */\n\n#ifndef NV_CO_DX12_CIRCULAR_RESOURCE_HEAP_H\n#define NV_CO_DX12_CIRCULAR_RESOURCE_HEAP_H\n\n#include <NvResult.h>\n#include <NvCoFreeList.h>\n#include \"NvCoDx12CounterFence.h\"\n\n#define NOMINMAX\n#include <d3d12.h>\n#include <wrl.h>\n#include <deque>\n\nusing namespace Microsoft::WRL;\n\n/** \\addtogroup common\n@{\n*/\n\nnamespace nvidia {\nnamespace Common { \n\n/*! \\brief The Dx12CircularResourceHeap is a heap that is suited for size constrained real-time resources allocation that \nis transitory in nature. It is designed to allocate resources which are used and discarded, often used where in \nprevious versions of DirectX the 'DISCARD' flag was used. \n\nThe idea is to have a heap which chunks of resource can be allocated, and used for GPU execution, \nand that the heap is able through the addSync/updateCompleted idiom is able to track when the usage of the resources is \ncompleted allowing them to be reused. The heap is arranged as circularly, with new allocations made from the front, and the back \nbeing updated as the GPU updating the back when it is informed anything using prior parts of the heap have completed. In this \narrangement all the heap between the back and the front can be thought of as in use or potentially in use by the GPU. All the heap \nfrom the front back around to the back, is free and can be allocated from. It is the responsibility of the user of the Heap to make \nsure the invariant holds, but in most normal usage it does so simply. \n\nAnother feature of the heap is that it does not require upfront knowledge of how big a heap is needed. The backing resources will be expanded \ndynamically with requests as needed. The only requirement is that know single request can be larger than m_blockSize specified in the Desc \nused to initialize the heap. This is because all the backing resources are allocated to a single size. This limitation means the Dx12CircularResourceHeap\nmay not be the best use for example for uploading a texture - because it's design is really around transitory uploads or write backs, and so more suited \nto constant buffers, vertex buffer, index buffers and the like. \n\nTo upload a texture at program startup it is most likely better to use a Dx12ResourceScopeManager.\n\n### The addSync/updateCompleted Idiom\n\nLots of classes in Nv/Common/Platform/Dx12 use the addSync/update idiom. The idiom enables a class to track GPU progress fairly simply. The \ntwo methods are generally called at a fairly low frequency - say once a frame. The addSync method is given a signalValue that should be the\nvalue generated from nextSignal on the Dx12Fence that is passed on construction of the type. Calling addSync means when this value is hit \nALL previous heap allocations will no longer be used. Thus in practice usage looks something like\n\n\\code{.cpp}\n\ntypedef Dx12CircularResourceHeap Heap;\n\nHeap::Cursor cursor = heap.allocateVertexBuffer(sizeof(Vertex) * numVerts);\nMemory:copy(cursor.m_position, verts, sizeof(Vertex) * numVerts);\n\n// Do a command using the GPU handle \nm_commandList->...\n// Do another command using the GPU handle\n\nm_commandList->...\n\n// Execute the command list on the command queue\n{\n\tID3D12CommandList* lists[] = { m_commandList };\n\tm_commandQueue->ExecuteCommandLists(_countof(lists), lists);\n}\n\n// Add a sync point\nconst uint64_t signalValue = m_fence.nextSignal(m_commandQueue);\nheap.addSync(signalValue)\n\n// The cursors cannot be used anymore\n\n// At some later point call updateCompleted. This will see where the GPU is at, and make resources available that the GPU no longer accesses.\nheap.updateCompleted();\n\n\\endcode\n\n### Implementation\n\nFront and back can be in the same block, but ONLY if back is behind front, because we have to always be able to insert\nnew blocks in front of front. So it must be possible to do an block insertion between the two of them.\n\n|--B---F-----|     |----------|\n\nWhen B and F are on top of one another it means there is nothing in the list. NOTE this also means that a move of front can never place it\ntop of the back. \n\nhttps://msdn.microsoft.com/en-us/library/windows/desktop/dn899125%28v=vs.85%29.aspx\nhttps://msdn.microsoft.com/en-us/library/windows/desktop/mt426646%28v=vs.85%29.aspx\n*/\nclass Dx12CircularResourceHeap\n{\n\tprotected:\n\tstruct Block;\n\n\t//NV_CO_DECLARE_CLASS_BASE(Dx12CircularResourceHeap);\npublic:\n\t\t/// The alignment used for VERTEX_BUFFER allocations \n\t\t/// Strictly speaking it seems the hardware can handle 4 byte alignment, but since often in use\n\t\t/// data will be copied from CPU memory to the allocation, using 16 byte alignment is superior as allows\n\t\t/// significantly faster memcpy.\n\t\t/// The sample that shows sizeof(float) - 4 bytes is appropriate is at the link below.\n\t\t/// https://msdn.microsoft.com/en-us/library/windows/desktop/mt426646%28v=vs.85%29.aspx\n\tenum \n\t{\n\t\tVERTEX_BUFFER_ALIGNMENT = 16,\n\t};\n\n\tstruct Desc \n\t{\n\t\tvoid init()\n\t\t{\n\t\t\t{\n\t\t\t\tD3D12_HEAP_PROPERTIES& props = m_heapProperties;\n\n\t\t\t\tprops.Type = D3D12_HEAP_TYPE_UPLOAD;\n\t\t\t\tprops.CPUPageProperty = D3D12_CPU_PAGE_PROPERTY_UNKNOWN;\n\t\t\t\tprops.MemoryPoolPreference = D3D12_MEMORY_POOL_UNKNOWN;\n\t\t\t\tprops.CreationNodeMask = 1;\n\t\t\t\tprops.VisibleNodeMask = 1;\n\t\t\t}\n\t\t\tm_heapFlags = D3D12_HEAP_FLAG_NONE;\n\t\t\tm_initialState = D3D12_RESOURCE_STATE_GENERIC_READ;\n\t\t\tm_blockSize = 0;\n\t\t}\n\n\t\tD3D12_HEAP_PROPERTIES m_heapProperties;\n\t\tD3D12_HEAP_FLAGS m_heapFlags;\n\t\tD3D12_RESOURCE_STATES m_initialState;\n\t\tsize_t m_blockSize;\n\t};\n\n\t/// Cursor position\n\tstruct Cursor\n\t{\n\t\t\t/// Get GpuHandle \n\t\tinline D3D12_GPU_VIRTUAL_ADDRESS getGpuHandle() const { return m_block->m_resource->GetGPUVirtualAddress() + size_t(m_position - m_block->m_start); }\n\t\t\t/// Must have a block and position\n\t\tinline bool isValid() const { return m_block != nullptr; }\n\t\t\t/// Calculate the offset into the underlying resource\n\t\tinline size_t getOffset() const { return size_t(m_position - m_block->m_start); }\n\t\t\t/// Get the underlying resource\n\t\tinline ID3D12Resource* getResource() const { return m_block->m_resource; }\n\n\t\tBlock* m_block; \t\t///< The block index\n\t\tuint8_t* m_position;\t\t///< The current position\n\t};\n\n\t\t/// Get the desc used to initialize the heap\n\tinline const Desc& getDesc() const { return m_desc; }\n\n\t\t/// Must be called before used\n\t\t/// Block size must be at least as large as the _largest_ thing allocated\n\t\t/// Also note depending on alignment of a resource allocation, the block size might also need to take into account the \n\t\t/// maximum alignment use. It is a REQUIREMENT that a newly allocated resource block is large enough to hold any \n\t\t/// allocation taking into account the alignment used.\n\tint init(ID3D12Device* device, const Desc& desc, Dx12CounterFence* fence);\n\t\n\t\t/// Get the block size\n\tinline size_t getBlockSize() const { return m_desc.m_blockSize; }\n\n\t\t/// Allocate constant buffer of specified size\n\tCursor allocate(size_t size, size_t alignment);\n\n\t\t/// Allocate a constant buffer\n\tinline Cursor allocateConstantBuffer(size_t size) { return allocate(size, D3D12_CONSTANT_BUFFER_DATA_PLACEMENT_ALIGNMENT); }\n\t\t/// Allocate a vertex buffer\n\tinline Cursor allocateVertexBuffer(size_t size) { return allocate(size, VERTEX_BUFFER_ALIGNMENT); }\n\n\t\t/// Create filled in constant buffer\n\tinline Cursor newConstantBuffer(const void* data, size_t size) { Cursor cursor = allocateConstantBuffer(size); memcpy(cursor.m_position, data, size); return cursor; }\n\t\t/// Create in filled in constant buffer \n\ttemplate <typename T>\n\tinline Cursor newConstantBuffer(const T& in) { return newConstantBuffer(&in, sizeof(T)); }\n\n\t\t/// Look where the GPU has got to and release anything not currently used\n\tvoid updateCompleted();\n\t\t/// Add a sync point - meaning that when this point is hit in the queue\n\t\t/// all of the resources up to this point will no longer be used.\n\tvoid addSync(uint64_t signalValue);\n\n\t\t/// Get the gpu address of this cursor\n\tD3D12_GPU_VIRTUAL_ADDRESS getGpuHandle(const Cursor& cursor) const  { return cursor.m_block->m_resource->GetGPUVirtualAddress() + size_t(cursor.m_position - cursor.m_block->m_start);  }\n\n\t\t/// Ctor\n\tDx12CircularResourceHeap();\n\t\t/// Dtor\n\t~Dx12CircularResourceHeap();\n\n\tprotected:\n\t\n\tstruct Block\n\t{\n\t\tID3D12Resource* m_resource;\t\t///< The mapped resource\n\t\tuint8_t* m_start;\t\t\t\t\t///< Once created the resource is mapped to here\n\t\tBlock* m_next;\t\t\t\t\t///< Points to next block in the list \t\t\t\t\t\n\t};\n\tstruct PendingEntry\n\t{\n\t\tuint64_t m_completedValue;\t\t\t///< The value when this is completed\n\t\tCursor m_cursor;\t\t\t\t\t///< the cursor at that point\n\t};\n\tvoid _freeBlockListResources(const Block* block);\n\t\t/// Create a new block (with associated resource), do not add the block list\n\tBlock* _newBlock();\n\n\tBlock* m_blocks;\t\t\t\t\t///< Circular singly linked list of block. nullptr initially\n\tFreeList m_blockFreeList;\t\t\t///< Free list of actual allocations of blocks\n\tstd::deque<PendingEntry> m_pendingQueue;\t///< Holds the list of pending positions. When the fence value is greater than the value on the queue entry, the entry is done.\n\n\t// Allocation is made from the front, and freed from the back.\n\tCursor m_back;\t\t\t\t\t\t///< Current back position. \n\tCursor m_front;\t\t\t\t\t\t///< Current front position. \n\t\n\tDesc m_desc;\t\t\t\t\t\t///< Describes the heap\n\n\tDx12CounterFence* m_fence;\t\t\t///< The fence to use\n\tID3D12Device* m_device;\t\t\t\t///< The device that resources will be constructed on\n};\n\n} // namespace Common\n} // namespace nvidia\n\n/** @} */\n\n#endif // NV_CO_DX12_CIRCULAR_RESOURCE_HEAP_H\n"
  },
  {
    "path": "demo/d3d12/NvCoDx12CounterFence.cpp",
    "content": "/* Copyright (c) 2016, NVIDIA CORPORATION.  All rights reserved.\n* NVIDIA CORPORATION and its licensors retain all intellectual property\n* and proprietary rights in and to this software, related documentation\n* and any modifications thereto.  Any use, reproduction, disclosure or\n* distribution of this software and related documentation without an express\n* license agreement from NVIDIA CORPORATION is strictly prohibited. */\n\n#include \"NvCoDx12CounterFence.h\"\n\nnamespace nvidia {\nnamespace Common {\n\nDx12CounterFence::~Dx12CounterFence()\n{\n\tif (m_event)\n\t{\n\t\tCloseHandle(m_event);\n\t}\n}\n\nint Dx12CounterFence::init(ID3D12Device* device, uint64_t initialValue)\n{\n\tm_currentValue = initialValue;\n\n\tNV_RETURN_ON_FAIL(device->CreateFence(m_currentValue, D3D12_FENCE_FLAG_NONE, IID_PPV_ARGS(&m_fence)));\n\t// Create an event handle to use for frame synchronization.\n\tm_event = CreateEvent(nullptr, FALSE, FALSE, nullptr);\n\tif (m_event == nullptr)\n\t{\n\t\tint res = HRESULT_FROM_WIN32(GetLastError());\n\t\treturn NV_FAILED(res) ? res : NV_FAIL;\n\t}\n\treturn NV_OK;\n}\n\nuint64_t Dx12CounterFence::nextSignal(ID3D12CommandQueue* commandQueue)\n{\n\t// Increment the fence value. Save on the frame - we'll know that frame is done when the fence value >= \n\tm_currentValue++;\n\t// Schedule a Signal command in the queue.\n\tint res = commandQueue->Signal(m_fence.Get(), m_currentValue);\n\tif (NV_FAILED(res))\n\t{\n\t\tprintf(\"Signal failed\");\t\n\t}\n\treturn m_currentValue;\n}\n\nvoid Dx12CounterFence::waitUntilCompleted(uint64_t completedValue)\n{\n\t// You can only wait for a value that is less than or equal to the current value\n\tassert(completedValue <= m_currentValue);\n\n\t// Wait until the previous frame is finished.\n\twhile (m_fence->GetCompletedValue() < completedValue)\n\t{\n\t\t// Make it signal with the current value\n\t\tHRESULT res = m_fence->SetEventOnCompletion(completedValue, m_event);\n\t\tif (FAILED(res)) { assert(0); return; }\n\n\t\tWaitForSingleObject(m_event, INFINITE);\n\t}\n}\n\nvoid Dx12CounterFence::nextSignalAndWait(ID3D12CommandQueue* commandQueue)\n{\n\twaitUntilCompleted(nextSignal(commandQueue));\n}\n\n} // namespace Common\n} // namespace nvidia\n"
  },
  {
    "path": "demo/d3d12/NvCoDx12CounterFence.h",
    "content": "/* Copyright (c) 2016, NVIDIA CORPORATION.  All rights reserved.\n* NVIDIA CORPORATION and its licensors retain all intellectual property\n* and proprietary rights in and to this software, related documentation\n* and any modifications thereto.  Any use, reproduction, disclosure or\n* distribution of this software and related documentation without an express\n* license agreement from NVIDIA CORPORATION is strictly prohibited. */\n\n#ifndef NV_CO_DX12_COUNTER_FENCE_H\n#define NV_CO_DX12_COUNTER_FENCE_H\n\n#include <NvResult.h>\n\n#define NOMINMAX\n#include <d3d12.h>\n#include <stdint.h>\n#include <stdio.h>\n#include <assert.h>\n#include <wrl.h>\n\nusing namespace Microsoft::WRL;\n\n/** \\addtogroup common\n@{\n*/\n\nnamespace nvidia {\nnamespace Common { \n\n/*! \\brief A class to simplify using Dx12 fences. \n\nA fence is a mechanism to track GPU work. This is achieved by having a counter that the CPU holds \ncalled the current value. Calling nextSignal will increase the CPU counter, and add a fence \nwith that value to the commandQueue. When the GPU has completed all the work before the fence it will \nupdate the completed value. This is typically used when \nthe CPU needs to know the GPU has finished some piece of work has completed. To do this the CPU\ncan check the completed value, and when it is greater or equal to the value returned by nextSignal the \nCPU will know that all the work prior to when the nextSignal was added to the queue will have completed. \n\nNOTE! This cannot be used across threads, as for amongst other reasons SetEventOnCompletion \nonly works with a single value.\n\nSignal on the CommandQueue updates the fence on the GPU side. Signal on the fence object changes \nthe value on the CPU side (not used here).\n\nUseful article describing how Dx12 synchronization works:\nhttps://msdn.microsoft.com/en-us/library/windows/desktop/dn899217%28v=vs.85%29.aspx\n*/\nclass Dx12CounterFence\n{\n\t//NV_CO_DECLARE_CLASS_BASE(Dx12CounterFence);\npublic:\n\t\t/// Must be called before used\n\tint init(ID3D12Device* device, uint64_t initialValue = 0);\n\t\t/// Increases the counter, signals the queue and waits for the signal to be hit\n\tvoid nextSignalAndWait(ID3D12CommandQueue* queue);\n\t\t/// Signals with next counter value. Returns the value the signal was called on\n\tuint64_t nextSignal(ID3D12CommandQueue* commandQueue);\n\t\t/// Get the current value\n\tinline uint64_t getCurrentValue() const { return m_currentValue; }\n\t\t/// Get the completed value\n\tinline uint64_t getCompletedValue() const { return m_fence->GetCompletedValue(); }\n\n\t\t/// Waits for the the specified value \n\tvoid waitUntilCompleted(uint64_t completedValue);\n\n\t\t/// Ctor\n\tDx12CounterFence():m_event(nullptr), m_currentValue(0) {}\n\t\t/// Dtor\n\t~Dx12CounterFence();\n\n\tprotected:\n\tHANDLE m_event;\n\tComPtr<ID3D12Fence> m_fence;\n\tuint64_t m_currentValue;\n};\n\n} // namespace Common\n} // namespace nvidia\n\n/** @} */\n\n#endif // NV_CO_DX12_COUNTER_FENCE_H\n"
  },
  {
    "path": "demo/d3d12/NvCoDx12DescriptorHeap.cpp",
    "content": "/* Copyright (c) 2016, NVIDIA CORPORATION.  All rights reserved.\n* NVIDIA CORPORATION and its licensors retain all intellectual property\n* and proprietary rights in and to this software, related documentation\n* and any modifications thereto.  Any use, reproduction, disclosure or\n* distribution of this software and related documentation without an express\n* license agreement from NVIDIA CORPORATION is strictly prohibited. */\n\n#include \"NvCoDx12DescriptorHeap.h\"\n\nnamespace nvidia { \nnamespace Common {\n\nDx12DescriptorHeap::Dx12DescriptorHeap():\n\tm_size(0),\n\tm_currentIndex(0),\n\tm_descriptorSize(0)\n{\n}\n\nint Dx12DescriptorHeap::init(ID3D12Device* device, int size, D3D12_DESCRIPTOR_HEAP_TYPE type, D3D12_DESCRIPTOR_HEAP_FLAGS flags)\n{\n\tD3D12_DESCRIPTOR_HEAP_DESC srvHeapDesc = {};\n\tsrvHeapDesc.NumDescriptors = size;\n\tsrvHeapDesc.Flags = flags;\n\tsrvHeapDesc.Type = type;\n\tNV_RETURN_ON_FAIL(device->CreateDescriptorHeap(&srvHeapDesc, IID_PPV_ARGS(&m_heap)));\n\n\tm_descriptorSize = device->GetDescriptorHandleIncrementSize(type);\n\tm_size = size;\n\n\treturn NV_OK;\n}\n\nint Dx12DescriptorHeap::init(ID3D12Device* device, const D3D12_CPU_DESCRIPTOR_HANDLE* handles, int numHandles, D3D12_DESCRIPTOR_HEAP_TYPE type, D3D12_DESCRIPTOR_HEAP_FLAGS flags)\n{\n\tNV_RETURN_ON_FAIL(init(device, numHandles, type, flags));\n\tD3D12_CPU_DESCRIPTOR_HANDLE dst = m_heap->GetCPUDescriptorHandleForHeapStart();\n\n\t// Copy them all \n\tfor (int i = 0; i < numHandles; i++, dst.ptr += m_descriptorSize)\n\t{\n\t\tD3D12_CPU_DESCRIPTOR_HANDLE src = handles[i];\n\t\tif (src.ptr != 0)\n\t\t{\n\t\t\tdevice->CopyDescriptorsSimple(1, dst, src, type);\n\t\t}\n\t}\n\n\treturn NV_OK;\n}\n\n} // namespace Common\n} // namespace nvidia\n\n"
  },
  {
    "path": "demo/d3d12/NvCoDx12DescriptorHeap.h",
    "content": "/* Copyright (c) 2016, NVIDIA CORPORATION.  All rights reserved.\n* NVIDIA CORPORATION and its licensors retain all intellectual property\n* and proprietary rights in and to this software, related documentation\n* and any modifications thereto.  Any use, reproduction, disclosure or\n* distribution of this software and related documentation without an express\n* license agreement from NVIDIA CORPORATION is strictly prohibited. */\n\n#ifndef NV_CO_DX12_DESCRIPTOR_HEAP_H\n#define NV_CO_DX12_DESCRIPTOR_HEAP_H\n\n#include <NvResult.h>\n\n#define NOMINMAX\n#include <dxgi.h>\n#include <d3d12.h>\n#include <assert.h>\n#include <wrl.h>\n\nusing namespace Microsoft::WRL;\n\nnamespace nvidia {\nnamespace Common {\n\n/*! \\brief A simple class to manage an underlying Dx12 Descriptor Heap. Allocations are made linearly in order. It is not possible to free\nindividual allocations, but all allocations can be deallocated with 'deallocateAll'. */\nclass Dx12DescriptorHeap\n{\n\t//NV_CO_DECLARE_CLASS_BASE(Dx12DescriptorHeap);\npublic:\n\t\t/// Initialize\n\tint init(ID3D12Device* device, int size, D3D12_DESCRIPTOR_HEAP_TYPE type, D3D12_DESCRIPTOR_HEAP_FLAGS flags);\n\t\t/// Initialize with an array of handles copying over the representation\n\tint init(ID3D12Device* device, const D3D12_CPU_DESCRIPTOR_HANDLE* handles, int numHandles, D3D12_DESCRIPTOR_HEAP_TYPE type, D3D12_DESCRIPTOR_HEAP_FLAGS flags);\n\n\t\t/// Get the total amount of descriptors possible on the heap\n\tinline int getSize() const { return m_size; }\n\t\t/// Allocate a descriptor. Returns the index, or -1 if none left.\n\tinline int allocate();\n\t\t/// Allocate a number of descriptors. Returns the start index (or -1 if not possible)\n\tinline int allocate(int numDescriptors);\n\n\t\t/// Deallocates all allocations, and starts allocation from the start of the underlying heap again\n\tinline void deallocateAll() { m_currentIndex = 0; }\n\n\t\t/// Get the size of each \n\tinline int getDescriptorSize() const { return m_descriptorSize; }\n\n\t\t/// Get the GPU heap start\n\tinline D3D12_GPU_DESCRIPTOR_HANDLE getGpuStart() const { return m_heap->GetGPUDescriptorHandleForHeapStart(); }\n\t\t/// Get the CPU heap start\n\tinline D3D12_CPU_DESCRIPTOR_HANDLE getCpuStart() const { return m_heap->GetCPUDescriptorHandleForHeapStart(); }\n\n\t\t/// Get the GPU handle at the specified index\n\tinline D3D12_GPU_DESCRIPTOR_HANDLE getGpuHandle(int index) const;\n\t\t/// Get the CPU handle at the specified index\n\tinline D3D12_CPU_DESCRIPTOR_HANDLE getCpuHandle(int index) const;\n\n\t\t/// Get the underlying heap\n\tinline ID3D12DescriptorHeap* getHeap() const { return m_heap.Get(); }\n\n\t\t/// Ctor\n\tDx12DescriptorHeap();\n\nprotected:\n\tComPtr<ID3D12DescriptorHeap> m_heap;\t///< The underlying heap being allocated from\n\tint m_size;\t\t\t\t\t\t\t\t///< Total amount of allocations available on the heap\n\tint m_currentIndex;\t\t\t\t\t\t///< The current descriptor\n\tint m_descriptorSize;\t\t\t\t\t///< The size of each descriptor\n};\n\n// ---------------------------------------------------------------------------\nint Dx12DescriptorHeap::allocate()\n{\n\tassert(m_currentIndex < m_size);\n\tif (m_currentIndex < m_size)\n\t{\n\t\treturn m_currentIndex++;\t\n\t}\n\treturn -1;\n}\n// ---------------------------------------------------------------------------\nint Dx12DescriptorHeap::allocate(int numDescriptors)\n{\n\tassert(m_currentIndex + numDescriptors <= m_size);\n\tif (m_currentIndex + numDescriptors <= m_size)\n\t{\n\t\tconst int index = m_currentIndex;\n\t\tm_currentIndex += numDescriptors;\n\t\treturn index;\n\t}\n\treturn -1;\n}\n// ---------------------------------------------------------------------------\ninline D3D12_CPU_DESCRIPTOR_HANDLE Dx12DescriptorHeap::getCpuHandle(int index) const\n{ \n\tassert(index >= 0 && index < m_size);  \n\tD3D12_CPU_DESCRIPTOR_HANDLE start = m_heap->GetCPUDescriptorHandleForHeapStart();\n\tD3D12_CPU_DESCRIPTOR_HANDLE dst;\n\tdst.ptr = start.ptr + m_descriptorSize * index;\n\treturn dst;\n}\t\n// ---------------------------------------------------------------------------\ninline D3D12_GPU_DESCRIPTOR_HANDLE Dx12DescriptorHeap::getGpuHandle(int index) const\n{ \n\tassert(index >= 0 && index < m_size);  \n\tD3D12_GPU_DESCRIPTOR_HANDLE start = m_heap->GetGPUDescriptorHandleForHeapStart();\n\tD3D12_GPU_DESCRIPTOR_HANDLE dst;\n\tdst.ptr = start.ptr + m_descriptorSize * index;\n\treturn dst;\n}\n\n} // namespace Common\n} // namespace nvidia\n\n\n#endif // NV_CO_DX12_DESCRIPTOR_HEAP_H\n"
  },
  {
    "path": "demo/d3d12/NvCoDx12Handle.h",
    "content": "/* Copyright (c) 2016, NVIDIA CORPORATION.  All rights reserved.\n* NVIDIA CORPORATION and its licensors retain all intellectual property\n* and proprietary rights in and to this software, related documentation\n* and any modifications thereto.  Any use, reproduction, disclosure or\n* distribution of this software and related documentation without an express\n* license agreement from NVIDIA CORPORATION is strictly prohibited. */\n\n#ifndef NV_CO_DX12_HANDLE_H\n#define NV_CO_DX12_HANDLE_H\n\n// Dx12 types\n#define NOMINMAX\n#include <d3d12.h>\n#include <stdint.h>\n\n/** \\addtogroup common\n@{\n*/\n\nnamespace nvidia {\nnamespace Common { \n\n/*!\n\\brief Description of how the intended rendering target is arranged. \n*/\nstruct Dx12TargetInfo\n{\n\tvoid init()\n\t{\n\t\tm_numRenderTargets = 1;\n\t\tm_renderTargetFormats[0] = DXGI_FORMAT_R8G8B8A8_UNORM;\n\t\tm_depthStencilFormat = DXGI_FORMAT_D24_UNORM_S8_UINT;\n\t\tm_numSamples = 1;\n\t\tm_sampleQuality = 0;\n\t\tm_sampleMask = ~uint32_t(0);\n\t}\n\n\tint m_numRenderTargets;\n\tDXGI_FORMAT m_renderTargetFormats[8];\t\t\t///< Format used for render target view access (the actual resource could be different!)\n\tDXGI_FORMAT m_depthStencilFormat;\t\t\t\t///< Format to use for depth stencil view access (the actual resource could be different!)\n\tint m_numSamples;\t\t\t\t\t\t\t\t///< The number of multi sample samples\n\tint m_sampleQuality;\t\t\t\t\t\t\t///< The multi sample quality\n\tuint32_t m_sampleMask;\t\t\t\t\t\t\t///< The sample mask \n};\n\n#if 0\n/*!\n\\brief Specifies the kinds of types that can be wrapped in ApiHandle/ApiPtr/ConstPtr types */\nclass Dx12SubType { Dx12SubType(); public:\n/*! SubTypes for Dx12 */\nenum Enum\n{\n\tUNKNOWN,\t///< Unknown\n\tCONTEXT,\t\n\tDEVICE,\n\tBUFFER,\n\tFLOAT32,\n\tCPU_DESCRIPTOR_HANDLE,\n\tCOMMAND_QUEUE,\n\tTARGET_INFO,\n\tCOUNT_OF,\n};\n}; \n\n// Handle types \n#define NV_DX12_HANDLE_TYPES(x)\t\\\n\tx(ID3D12Device, DEVICE, DEVICE) \\\n\tx(ID3D12GraphicsCommandList, CONTEXT, CONTEXT) \\\n\tx(ID3D12Resource, BUFFER, BUFFER) \\\n\tx(ID3D12CommandQueue, COMMAND_QUEUE, UNKNOWN )\n\n// The 'value' types - ie ones that can be passed as pointers, in addition to the handle types\n#define NV_DX12_VALUE_TYPES(x) \\\n\tx(Float32, FLOAT32, UNKNOWN) \\\n\tx(D3D12_CPU_DESCRIPTOR_HANDLE, CPU_DESCRIPTOR_HANDLE, CPU_DESCRIPTOR_HANDLE) \\\n\tx(Dx12TargetInfo, TARGET_INFO, UNKNOWN)\n\n/*!\n\\brief A helper class to wrap Dx12 related types to ApiHandle, ApiPtr types, or extract via a cast the Dx12 types back out again. \n\nSome examples of how to wrap and cast handles and pointers\n\n\\code{.cpp}\nID3D12Device* device = ...; \n\n\\\\ To wrap as a handle\nApiHandle handle = Dx12Type::wrap(device); \n\n\\\\ To wrap an array or pointer you can use\n\nDx12TargetInfo target;\nApiPtr ptr = Dx12Type::wrapPtr(&target);\n\n\\\\ If you want to convert a wrapped handle back you can use\nID3D12Device* device = Dx12Type::cast<ID3D12Device>(handle);\n\n\\\\ Similarly to get a pointer\nDx12TargetInfo* target = Dx12Type::castPtr<Dx12TargetInfo>(ptr);\n\\endcode\n\n*/\nstruct Dx12Type\n{\n\t// Used by the macros. NOTE! Should be wrapping type (ie not the actual type - typically with E prefix)\n\ttypedef Dx12SubType ScopeSubType;\n\n\t\t/// Get the full type for the subtype\n\tinline static int getType(Dx12SubType::Enum subType) { return (int(ApiType::DX12) << 8) | int(subType); }\n\t\t/// Get the type via template, needed for arrays\n\ttemplate <typename T>\n\tinline static int getType() { return getType((T*)NV_NULL); }\n\n\t\t/// Implement getType\t\n\tNV_DX12_HANDLE_TYPES(NV_CO_API_GET_TYPE)\n\t\t/// Implement getHandle, which will return a TypedApiHandle \n\tNV_DX12_HANDLE_TYPES(NV_CO_API_WRAP)\n\t\t/// Implement getType for 'value types' (ie structs and others that shouldn't be in a handle)\n\tNV_DX12_VALUE_TYPES(NV_CO_API_GET_VALUE_TYPE)\n\n\t\t/// A template to work around warnings from dereferencing NV_NULL\n\ttemplate <typename T>\n\tinline static int getPtrType() { void* data = NV_NULL; return getType(*(const T*)&data); }\n\n\t\t/// Get a pointer\n\ttemplate <typename T>\n\tinline static ConstApiPtr wrapPtr(const T* in) { return ConstApiPtr(getPtrType<T>(), in); }\n\ttemplate <typename T>\n\tinline static ApiPtr wrapPtr(T* in) { return ApiPtr(getPtrType<T>(), in); }\n\n\t\t/// Get from a handle\n\ttemplate <typename T>\n\tinline static T* cast(const ApiHandle& in) { const int type = getType((T*)NV_NULL); return reinterpret_cast<T*>((type == in.m_type) ? in.m_handle : NV_NULL); }\n\t\t/// Get from \n\ttemplate <typename T>\n\tinline static const T* cast(const ConstApiPtr& ptr) { const int type = getPtrType<T>(); return reinterpret_cast<const T*>((ptr.m_type == type) ? ptr.getData() : NV_NULL); }\n\t\t// Get from \n\ttemplate <typename T>\n\tinline static T* cast(const ApiPtr& ptr) { const int type = getPtrType<T>(); return reinterpret_cast<T*>((ptr.m_type == type) ? ptr.getData() : NV_NULL); }\n\n\t\t/// Get the sub type as text\n\tstatic const Char* getSubTypeText(Dx12SubType::Enum subType);\n\n\t\t/// If the match fails - implement casting. Writes impossible casts to Logger and returns NV_NULL.\n\tstatic void* handlePtrCast(int fromType, int toType);\n\tstatic void* handleCast(int fromType, int toType);\n\t\t/// Called when a cast isn't possible. Will output warnings to log and return NV_NULL\n\tstatic void castFailure(int fromType, int toType);\n\t\t/// Log failure\n\tstatic void logCastFailure(int fromType, int toType);\n};\n\n/* For generic handles you can use Dx11Handle. If you want the typed handle type use Dx11Type::wrap(texture) */\ntypedef WrapApiHandle<Dx12Type> Dx12Handle;\n\n#endif\n\n} // namespace Common\n} // namespace nvidia\n\n/** @} */\n\n#endif // NV_CO_DX12_HANDLE_H\n"
  },
  {
    "path": "demo/d3d12/NvCoDx12HelperUtil.cpp",
    "content": "/* Copyright (c) 2016, NVIDIA CORPORATION.  All rights reserved.\n* NVIDIA CORPORATION and its licensors retain all intellectual property\n* and proprietary rights in and to this software, related documentation\n* and any modifications thereto.  Any use, reproduction, disclosure or\n* distribution of this software and related documentation without an express\n* license agreement from NVIDIA CORPORATION is strictly prohibited. */\n\n// Make the DXGI_DEBUG_D3D12 symbol defined in this compilation unit, to avoid link problems\n#define INITGUID\n\n#include \"NvCoDx12HelperUtil.h\"\n\nnamespace nvidia {\nnamespace Common {\n\nvoid Dx12HelperUtil::calcSrvDesc(ID3D12Resource* resource, DXGI_FORMAT pixelFormat, D3D12_SHADER_RESOURCE_VIEW_DESC& descOut)\n{\n\t// Get the desc\n\treturn calcSrvDesc(resource->GetDesc(), pixelFormat, descOut);\n}\n\nvoid Dx12HelperUtil::calcSrvDesc(const D3D12_RESOURCE_DESC& desc, DXGI_FORMAT pixelFormat, D3D12_SHADER_RESOURCE_VIEW_DESC& descOut)\n{\n\t\n\t// create SRV\n\tdescOut = D3D12_SHADER_RESOURCE_VIEW_DESC();\n\t\n\tdescOut.Format = (pixelFormat == DXGI_FORMAT_UNKNOWN) ? DxFormatUtil::calcFormat(DxFormatUtil::USAGE_SRV, desc.Format) : pixelFormat;\n\tdescOut.Shader4ComponentMapping = D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING;\n\tif (desc.DepthOrArraySize == 1)\n\t{\n\t\tdescOut.ViewDimension = D3D12_SRV_DIMENSION_TEXTURE2D;\n\n\t\tdescOut.Texture2D.MipLevels = desc.MipLevels;\n\t\tdescOut.Texture2D.MostDetailedMip = 0;\n\t\tdescOut.Texture2D.PlaneSlice = 0;\n\t\tdescOut.Texture2D.ResourceMinLODClamp = 0.0f;\n\t}\n\telse if (desc.DepthOrArraySize == 6)\n\t{\n\t\tdescOut.ViewDimension = D3D12_SRV_DIMENSION_TEXTURECUBE;\n\n\t\tdescOut.TextureCube.MipLevels = desc.MipLevels;\n\t\tdescOut.TextureCube.MostDetailedMip = 0;\n\t\tdescOut.TextureCube.ResourceMinLODClamp = 0;\n\t}\n\telse\n\t{\n\t\tdescOut.ViewDimension = D3D12_SRV_DIMENSION_TEXTURE2DARRAY;\n\n\t\tdescOut.Texture2DArray.ArraySize = desc.DepthOrArraySize;\n\t\tdescOut.Texture2DArray.MostDetailedMip = 0;\n\t\tdescOut.Texture2DArray.MipLevels = desc.MipLevels;\n\t\tdescOut.Texture2DArray.FirstArraySlice = 0;\n\t\tdescOut.Texture2DArray.PlaneSlice = 0;\n\t\tdescOut.Texture2DArray.ResourceMinLODClamp = 0;\n\t}\n}\n\n/* static */void Dx12HelperUtil::reportLiveObjects()\n{\n\tIDXGIDebug* dxgiDebug;\n\tint res = DxDebugUtil::getDebugInterface(&dxgiDebug);\n\n\tif (NV_FAILED(res) || !dxgiDebug)\n\t{\n\t\tprintf(\"Unable to access debug interface -> can't report live objects\");\n\t\treturn;\n\t}\n\tdxgiDebug->ReportLiveObjects(DXGI_DEBUG_D3D12, DXGI_DEBUG_RLO_DETAIL);\n}\n\n/* static */int Dx12HelperUtil::serializeRootSigniture(const D3D12_ROOT_SIGNATURE_DESC& desc, D3D_ROOT_SIGNATURE_VERSION signitureVersion, ComPtr<ID3DBlob>& sigBlobOut)\n{\n\tComPtr<ID3DBlob> error;\n\tint res = D3D12SerializeRootSignature(&desc, signitureVersion, &sigBlobOut, &error);\n\tif (NV_SUCCEEDED(res))\n\t{\n\t\treturn res;\n\t}\n\n\tchar* errorText = (char*)error->GetBufferPointer();\n\n\tprintf(\"Unable to serialize Dx12 signature: %s\\n\", errorText);\n\treturn res;\n}\n\n} // namespace Common\n} // namespace nvidia\n"
  },
  {
    "path": "demo/d3d12/NvCoDx12HelperUtil.h",
    "content": "/* Copyright (c) 2016, NVIDIA CORPORATION.  All rights reserved.\n* NVIDIA CORPORATION and its licensors retain all intellectual property\n* and proprietary rights in and to this software, related documentation\n* and any modifications thereto.  Any use, reproduction, disclosure or\n* distribution of this software and related documentation without an express\n* license agreement from NVIDIA CORPORATION is strictly prohibited. */\n\n#ifndef NV_CO_DX12_HELPER_UTIL_H\n#define NV_CO_DX12_HELPER_UTIL_H\n\n#include <NvResult.h>\n#include <NvCoDxFormatUtil.h>\n#include <NvCoDxDebugUtil.h>\n\n#define NOMINMAX\n#include <d3d12.h>\n#include <stdio.h>\n#include <wrl.h>\n\nusing namespace Microsoft::WRL;\n\n/** \\addtogroup common\n@{\n*/\n\nnamespace nvidia {\nnamespace Common { \n\nstruct Dx12HelperUtil\n{\n\t\t/// Get a Shader resource view from a resourceDesc\n\t\t/// If pixelFormat is UNKNOWN, will use the pixelFormat in the resourceDesc\n\tstatic void calcSrvDesc(const D3D12_RESOURCE_DESC& resourceDesc, DXGI_FORMAT pixelFormat, D3D12_SHADER_RESOURCE_VIEW_DESC& descOut);\n\n\t\t/// Get a Shader resource view from a resource\n\t\t/// If pixelFormat is UNKNOWN, will use the pixelFormat in the resourceDesc\n\tstatic void calcSrvDesc(ID3D12Resource* resource, DXGI_FORMAT pixelFormat, D3D12_SHADER_RESOURCE_VIEW_DESC& descOut);\n\n\t\t/// Serializes the root signiture. If any errors occur will write to the log\n\tstatic int serializeRootSigniture(const D3D12_ROOT_SIGNATURE_DESC& desc, D3D_ROOT_SIGNATURE_VERSION signitureVersion, ComPtr<ID3DBlob>& sigBlobOut);\n\n\t\t/// Reports to the output debug window any live objects, using debug interface. \n\t\t/// Only works on systems that have \"Dxgidebug.dll\"\n\tstatic void reportLiveObjects();\n};\n\n} // namespace Common\n} // namespace nvidia\n\n/** @} */\n\n#endif // NV_CO_DX12_DEBUG_UTIL_H\n"
  },
  {
    "path": "demo/d3d12/NvCoDx12RenderTarget.cpp",
    "content": "\n#include \"NvCoDx12RenderTarget.h\"\n#include \"appD3D12Ctx.h\"\n\n#include <external/D3D12/include/d3dx12.h>\n\nnamespace nvidia {\nnamespace Common {\n\nDx12RenderTarget::Dx12RenderTarget()\n{\n\tmemset(m_srvIndices, -1, sizeof(m_srvIndices));\n}\n\nint Dx12RenderTarget::init(AppGraphCtxD3D12* renderContext, const Desc& desc)\n{\n\tID3D12Device* device = renderContext->m_device;\n\n\tm_desc = desc;\n\n\t// set viewport\n\t{\n\t\tm_viewport.Width = float(desc.m_width);\n\t\tm_viewport.Height = float(desc.m_height);\n\t\tm_viewport.MinDepth = 0;\n\t\tm_viewport.MaxDepth = 1;\n\t\tm_viewport.TopLeftX = 0;\n\t\tm_viewport.TopLeftY = 0;\n\t}\n\n\t{\n\t\tm_scissorRect.left = 0;\n\t\tm_scissorRect.top = 0;\n\t\tm_scissorRect.right = desc.m_width;\n\t\tm_scissorRect.bottom = desc.m_height;\n\t}\n\n\tif (desc.m_targetFormat != DXGI_FORMAT_UNKNOWN)\n\t{\n\t\tD3D12_DESCRIPTOR_HEAP_DESC heapDesc = {};\n\t\theapDesc.NumDescriptors = 1;\n\t\theapDesc.Type = D3D12_DESCRIPTOR_HEAP_TYPE_RTV;\n\t\theapDesc.Flags = D3D12_DESCRIPTOR_HEAP_FLAG_NONE;\n\t\tNV_RETURN_ON_FAIL(device->CreateDescriptorHeap(&heapDesc, IID_PPV_ARGS(&m_descriptorHeapRtv)));\n\n\t\tDXGI_FORMAT resourceFormat = DxFormatUtil::calcResourceFormat(DxFormatUtil::USAGE_TARGET, m_desc.m_usageFlags, desc.m_targetFormat);\n\t\tDXGI_FORMAT targetFormat = DxFormatUtil::calcFormat(DxFormatUtil::USAGE_TARGET, resourceFormat);\n\n\t\tD3D12_RESOURCE_DESC resourceDesc = CD3DX12_RESOURCE_DESC::Tex2D(resourceFormat, UINT(desc.m_width), UINT(desc.m_height), 1, 1, 1, 0, D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET, D3D12_TEXTURE_LAYOUT_UNKNOWN, 0);\n\t\tD3D12_HEAP_PROPERTIES heapProps = CD3DX12_HEAP_PROPERTIES(D3D12_HEAP_TYPE_DEFAULT);\n\n\t\t// Depending on usage this format may not be right...\n\t\tD3D12_CLEAR_VALUE clearValue;\n\t\tclearValue.Format = targetFormat;\n\t\tclearValue.Color[0] = desc.m_targetClearColor[0];\n\t\tclearValue.Color[1] = desc.m_targetClearColor[1];\n\t\tclearValue.Color[2] = desc.m_targetClearColor[2];\n\t\tclearValue.Color[3] = desc.m_targetClearColor[3];\n\n\t\tNV_RETURN_ON_FAIL(m_renderTarget.initCommitted(device, heapProps, D3D12_HEAP_FLAG_NONE, resourceDesc, D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE, &clearValue));\n\n\t\tD3D12_RENDER_TARGET_VIEW_DESC rtvDesc = {};\n\t\trtvDesc.Format = targetFormat;\n\t\trtvDesc.ViewDimension = D3D12_RTV_DIMENSION_TEXTURE2D;\n\t\trtvDesc.Texture2D.MipSlice = 0;\n\t\trtvDesc.Texture2D.PlaneSlice = 0;\n\t\tdevice->CreateRenderTargetView(m_renderTarget, &rtvDesc, m_descriptorHeapRtv->GetCPUDescriptorHandleForHeapStart());\n\t}\n\n\t// Create the depth stencil descriptor heap\n\tif (desc.m_depthStencilFormat != DXGI_FORMAT_UNKNOWN)\n\t{\n\t\tD3D12_DESCRIPTOR_HEAP_DESC heapDesc = {};\n\t\theapDesc.NumDescriptors = 1;\n\t\theapDesc.Type = D3D12_DESCRIPTOR_HEAP_TYPE_DSV;\n\t\theapDesc.Flags = D3D12_DESCRIPTOR_HEAP_FLAG_NONE;\n\t\tNV_RETURN_ON_FAIL(device->CreateDescriptorHeap(&heapDesc, IID_PPV_ARGS(&m_descriptorHeapDsv)));\n\t\n\t\tDXGI_FORMAT resourceFormat = DxFormatUtil::calcResourceFormat(DxFormatUtil::USAGE_DEPTH_STENCIL, m_desc.m_usageFlags, desc.m_depthStencilFormat);\n\t\tDXGI_FORMAT depthStencilFormat = DxFormatUtil::calcFormat(DxFormatUtil::USAGE_DEPTH_STENCIL, resourceFormat);\n\n\t\tD3D12_RESOURCE_DESC resourceDesc = CD3DX12_RESOURCE_DESC::Tex2D(resourceFormat, UINT(desc.m_width), UINT(desc.m_height), 1, 1, 1, 0, D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL, D3D12_TEXTURE_LAYOUT_UNKNOWN, 0);\n\t\tD3D12_HEAP_PROPERTIES heapProps = CD3DX12_HEAP_PROPERTIES(D3D12_HEAP_TYPE_DEFAULT);\n\n\t\tD3D12_CLEAR_VALUE clearValue;\n\t\tclearValue.Format = depthStencilFormat; \n\t\tclearValue.DepthStencil.Depth = 1.0f;\n\t\tclearValue.DepthStencil.Stencil = 0;\n\t\tNV_RETURN_ON_FAIL(m_depthStencilBuffer.initCommitted(device, heapProps, D3D12_HEAP_FLAG_NONE, resourceDesc, D3D12_RESOURCE_STATE_DEPTH_WRITE, &clearValue));\n\t\t\n\t\t// Create the depth stencil view\n\t\tD3D12_DEPTH_STENCIL_VIEW_DESC dsvDesc = {};\n\t\tdsvDesc.ViewDimension = D3D12_DSV_DIMENSION_TEXTURE2D;\n\t\tdsvDesc.Format = depthStencilFormat;\n\t\tdsvDesc.Texture2D.MipSlice = 0;\n\t\tdsvDesc.Flags = D3D12_DSV_FLAG_NONE;\n\t\tdevice->CreateDepthStencilView(m_depthStencilBuffer, &dsvDesc, m_descriptorHeapDsv->GetCPUDescriptorHandleForHeapStart());\n\t}\n\n\treturn NV_OK;\n}\n\n/* static */DxFormatUtil::UsageType Dx12RenderTarget::getUsageType(BufferType type)\n{\n\tswitch (type)\n\t{\n\t\tcase BUFFER_DEPTH_STENCIL:\treturn DxFormatUtil::USAGE_DEPTH_STENCIL;\n\t\tcase BUFFER_TARGET:\t\t\treturn DxFormatUtil::USAGE_TARGET;\n\t\tdefault:\t\t\t\t\treturn DxFormatUtil::USAGE_UNKNOWN;\n\t}\n}\n\nvoid Dx12RenderTarget::bind(AppGraphCtxD3D12* renderContext)\n{\n\tID3D12GraphicsCommandList* commandList = renderContext->m_commandList;\n\n\t// Work out what is bound\n\tint numTargets = 0;\n\tD3D12_CPU_DESCRIPTOR_HANDLE dsvHandle = {};\n\tD3D12_CPU_DESCRIPTOR_HANDLE rtvHandle = {};\n\n\tif (m_renderTarget)\n\t{\n\t\trtvHandle = m_descriptorHeapRtv->GetCPUDescriptorHandleForHeapStart();\n\t\tnumTargets = 1;\n\t}\n\tif (m_depthStencilBuffer)\n\t{\n\t\tdsvHandle = m_descriptorHeapDsv->GetCPUDescriptorHandleForHeapStart();\n\t\tcommandList->OMSetRenderTargets(numTargets, &rtvHandle, FALSE, &dsvHandle);\n\t}\n\telse\n\t{\n\t\tcommandList->OMSetRenderTargets(numTargets, &rtvHandle, FALSE, nullptr);\n\t}\n\n\tcommandList->RSSetViewports(1, &m_viewport);\n\tcommandList->RSSetScissorRects(1, &m_scissorRect);\n}\n\n\nvoid Dx12RenderTarget::clear(AppGraphCtxD3D12* renderContext)\n{\n\tID3D12GraphicsCommandList* commandList = renderContext->m_commandList;\n\tD3D12_RECT rect = { 0, 0, m_desc.m_width, m_desc.m_height };\n\n\t// Clear\n\tif (m_renderTarget)\n\t{\n\t\tD3D12_CPU_DESCRIPTOR_HANDLE rtvHandle = m_descriptorHeapRtv->GetCPUDescriptorHandleForHeapStart();\n\t\tcommandList->ClearRenderTargetView(rtvHandle, m_desc.m_targetClearColor, 1, &rect);\n\t}\n\tif (m_depthStencilBuffer)\n\t{\n\t\tD3D12_CPU_DESCRIPTOR_HANDLE dsvHandle = m_descriptorHeapDsv->GetCPUDescriptorHandleForHeapStart();\n\t\tcommandList->ClearDepthStencilView(dsvHandle, D3D12_CLEAR_FLAG_DEPTH, m_desc.m_depthStencilClearDepth, 0, 1, &rect);\n\t}\n}\n\nvoid Dx12RenderTarget::bindAndClear(AppGraphCtxD3D12* renderContext)\n{\n\tID3D12GraphicsCommandList* commandList = renderContext->m_commandList;\n\n\t// Work out what is bound\n\tint numTargets = 0;\n\tD3D12_CPU_DESCRIPTOR_HANDLE dsvHandle = {}; \n\tD3D12_CPU_DESCRIPTOR_HANDLE rtvHandle = {}; \n\n\tif (m_renderTarget)\n\t{\n\t\trtvHandle = m_descriptorHeapRtv->GetCPUDescriptorHandleForHeapStart();\n\t\tnumTargets = 1;\n\t}\n\tif (m_depthStencilBuffer)\n\t{\n\t\tdsvHandle = m_descriptorHeapDsv->GetCPUDescriptorHandleForHeapStart();\n\t\tcommandList->OMSetRenderTargets(numTargets, &rtvHandle, FALSE, &dsvHandle);\n\t}\n\telse\n\t{\n\t\tcommandList->OMSetRenderTargets(numTargets, &rtvHandle, FALSE, nullptr);\n\t}\n\n\tcommandList->RSSetViewports(1, &m_viewport);\n\tcommandList->RSSetScissorRects(1, &m_scissorRect);\n\n\tD3D12_RECT rect = { 0, 0, m_desc.m_width, m_desc.m_height };\n\n\t// Clear\n\tif (m_renderTarget)\n\t{\n\t\tcommandList->ClearRenderTargetView(rtvHandle, m_desc.m_targetClearColor, 1, &rect);\n\t}\n\tif (m_depthStencilBuffer)\n\t{\n\t\tcommandList->ClearDepthStencilView(dsvHandle, D3D12_CLEAR_FLAG_DEPTH, m_desc.m_depthStencilClearDepth, 0, 1, &rect);\n\t}\n}\n\nvoid Dx12RenderTarget::setShadowDefaultLight(FXMVECTOR eye, FXMVECTOR at, FXMVECTOR up)\n{\n\tfloat sizeX = 50.0f;\n\tfloat sizeY = 50.0f;\n\tfloat znear = -200.0f;\n\tfloat zfar = 200.0f;\n\n\tsetShadowLightMatrices(eye, at, up, sizeX, sizeY, znear, zfar);\n}\n\nvoid Dx12RenderTarget::setShadowLightMatrices(FXMVECTOR eye, FXMVECTOR lookAt, FXMVECTOR up, float sizeX, float sizeY, float zNear, float zFar)\n{\n\tm_shadowLightView = XMMatrixLookAtLH(eye, lookAt, up);\n\tm_shadowLightProjection = XMMatrixOrthographicLH(sizeX, sizeY, zNear, zFar);\n\tDirectX::XMMATRIX clip2Tex(0.5, 0, 0, 0,\n\t\t0, -0.5, 0, 0,\n\t\t0, 0, 1, 0,\n\t\t0.5, 0.5, 0, 1);\n\tDirectX::XMMATRIX viewProjection = m_shadowLightView * m_shadowLightProjection;\n\tm_shadowLightWorldToTex = viewProjection * clip2Tex;\n}\n\nvoid Dx12RenderTarget::toWritable(AppGraphCtxD3D12* renderContext)\n{\n\tDx12BarrierSubmitter submitter(renderContext->m_commandList);\n\n\tm_renderTarget.transition(D3D12_RESOURCE_STATE_RENDER_TARGET, submitter);\n\tm_depthStencilBuffer.transition(D3D12_RESOURCE_STATE_DEPTH_WRITE, submitter);\n}\n\nvoid Dx12RenderTarget::toReadable(AppGraphCtxD3D12* renderContext)\n{\n\tDx12BarrierSubmitter submitter(renderContext->m_commandList);\n\n\tm_renderTarget.transition(D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE, submitter);\n\tm_depthStencilBuffer.transition(D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE, submitter);\n}\n\nDXGI_FORMAT Dx12RenderTarget::getSrvFormat(BufferType type) const\n{\n\treturn Dx12Resource::calcFormat(DxFormatUtil::USAGE_SRV, getResource(type));\n}\n\nDXGI_FORMAT Dx12RenderTarget::getTargetFormat(BufferType type) const\n{\n\treturn Dx12Resource::calcFormat(getUsageType(type), getResource(type));\n}\n\nD3D12_SHADER_RESOURCE_VIEW_DESC Dx12RenderTarget::calcDefaultSrvDesc(BufferType type) const\n{\n\tID3D12Resource* resource = getResource(type);\n\n\tD3D12_RESOURCE_DESC resourceDesc = resource->GetDesc();\n\n\tD3D12_SHADER_RESOURCE_VIEW_DESC desc;\n\n\tdesc.Format = getSrvFormat(type);\n\tdesc.Shader4ComponentMapping = D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING;\n\n\tdesc.ViewDimension = D3D12_SRV_DIMENSION_TEXTURE2D;\n\n\tdesc.Texture2D.MipLevels = resourceDesc.MipLevels;\n\tdesc.Texture2D.MostDetailedMip = 0;\n\tdesc.Texture2D.PlaneSlice = 0;\n\tdesc.Texture2D.ResourceMinLODClamp = 0.0f;\n\treturn desc;\n}\n\nint Dx12RenderTarget::allocateSrvView(BufferType type, ID3D12Device* device, Dx12DescriptorHeap& heap, const D3D12_SHADER_RESOURCE_VIEW_DESC* desc)\n{\n\tif (m_srvIndices[type] >= 0)\n\t{\n\t\tprintf(\"A srv index has already been associated!\");\n\t\treturn m_srvIndices[type];\n\t}\n\n\tif (!desc)\n\t{\n\t\t// If not set construct a default desc\n\t\tD3D12_SHADER_RESOURCE_VIEW_DESC defaultDesc = calcDefaultSrvDesc(type);\n\t\treturn allocateSrvView(type, device, heap, &defaultDesc);\n\t}\n\n\t// Create the srv for the shadow buffer\n\tID3D12Resource* resource = getResource(type);\n\tint srvIndex = heap.allocate();\n\n\tif (srvIndex < 0)\n\t{\n\t\treturn srvIndex;\n\t}\n\n\t// Create on the the heap\n\tdevice->CreateShaderResourceView(resource, desc, heap.getCpuHandle(srvIndex));\n\n\tm_srvIndices[type] = srvIndex;\n\t// Return the allocated index\n\treturn srvIndex;\n}\n\nvoid Dx12RenderTarget::setDebugName(BufferType type, const std::wstring& name)\n{\n\tgetResource(type).setDebugName(name);\n}\n\nvoid Dx12RenderTarget::setDebugName(const std::wstring& name)\n{\n\tstd::wstring buf(name);\n\tbuf += L\" [Target]\";\n\tsetDebugName(BUFFER_TARGET, buf);\n\tbuf = name;\n\tbuf += L\" [DepthStencil]\";\n\tsetDebugName(BUFFER_DEPTH_STENCIL, buf);\n}\n\n\nvoid Dx12RenderTarget::createSrv(ID3D12Device* device, Dx12DescriptorHeap& heap, BufferType type, int descriptorIndex)\n{\n\tD3D12_SHADER_RESOURCE_VIEW_DESC srvDesc = calcDefaultSrvDesc(type);\n\tID3D12Resource* resource = getResource(type);\n\tdevice->CreateShaderResourceView(resource, &srvDesc, heap.getCpuHandle(descriptorIndex));\n}\n\n} // namespace Common \n} // namespace nvidia\n"
  },
  {
    "path": "demo/d3d12/NvCoDx12RenderTarget.h",
    "content": "#ifndef NV_CO_DX12_RENDER_TARGET_H\n#define NV_CO_DX12_RENDER_TARGET_H\n\n#include <DirectXMath.h>\n#include <NvCoDx12DescriptorHeap.h>\n#include <NvCoDx12Resource.h>\n#include \"appD3D12Ctx.h\"\n#include \"core/maths.h\"\n\nnamespace nvidia {\nnamespace Common {\n\nusing namespace DirectX;\n\nclass Dx12RenderTarget\n{\n\t//NV_CO_DECLARE_POLYMORPHIC_CLASS_BASE(Dx12RenderTarget);\npublic:\n\tenum BufferType\n\t{\n\t\tBUFFER_TARGET,\n\t\tBUFFER_DEPTH_STENCIL,\n\t\tBUFFER_COUNT_OF,\n\t};\n\n\tstruct Desc\n\t{\n\t\tvoid init(int width, int height, DXGI_FORMAT targetFormat = DXGI_FORMAT_R32_FLOAT, DXGI_FORMAT depthStencilFormat = DXGI_FORMAT_D32_FLOAT, int usageFlags = 0)\n\t\t{\n\t\t\tm_width = width;\n\t\t\tm_height = height;\n\t\t\tm_targetFormat = targetFormat;\n\t\t\tm_depthStencilFormat = depthStencilFormat;\n\t\t\tm_usageFlags = usageFlags;\n\n\t\t\tconst Vec4 clearColor = { FLT_MAX, FLT_MAX, FLT_MAX, FLT_MAX };\n\t\t\tm_targetClearColor = clearColor;\n\t\t\tm_depthStencilClearDepth = 1.0;\n\t\t}\n\n\t\tint m_usageFlags;\t\t\t\t\t\t\t\t///< Usage flags from DxFormatUtil\n\t\tint m_width;\n\t\tint m_height;\n\t\tDXGI_FORMAT m_depthStencilFormat;\t\t\t\t///< DXGI_FORMAT_UNKNOWN means don't allocate resource\n\t\tDXGI_FORMAT m_targetFormat;\t\t\t\t\t\t///< DXGI_FORMAT_UNKNOWN means don't allocate resource \n\t\tVec4 m_targetClearColor;\n\t\tfloat m_depthStencilClearDepth;\n\t};\n\n\tint init(AppGraphCtxD3D12* renderContext, const Desc& desc);\n\t\n\tvoid setShadowDefaultLight(FXMVECTOR eye, FXMVECTOR at, FXMVECTOR up);\n\tvoid setShadowLightMatrices(FXMVECTOR eye, FXMVECTOR lookAt, FXMVECTOR up, float sizeX, float sizeY, float zNear, float zFar);\n\n\tvoid bind(AppGraphCtxD3D12* renderContext);\n\n\tvoid clear(AppGraphCtxD3D12* renderContext);\n\tvoid bindAndClear(AppGraphCtxD3D12* renderContext);\n\t\n\tvoid toWritable(AppGraphCtxD3D12* renderContext);\n\tvoid toReadable(AppGraphCtxD3D12* renderContext);\n\t\t\n\t\t/// Set the debug name\n\tvoid setDebugName(BufferType type, const std::wstring& name);\n\t\t/// Set name (plus if depth/target) for all buffers\n\tvoid setDebugName(const std::wstring& name);\n\n\t\t/// Get the 'primary' buffer type. \n\tBufferType getPrimaryBufferType() const { return m_renderTarget ? BUFFER_TARGET : BUFFER_DEPTH_STENCIL; }\n\n\t\t/// Get the resource by the buffer type\n\tconst Dx12ResourceBase& getResource(BufferType type) const { return type == BUFFER_TARGET ? m_renderTarget : m_depthStencilBuffer; }\n\tDx12Resource& getResource(BufferType type) { return type == BUFFER_TARGET ? m_renderTarget : m_depthStencilBuffer; }\n\n\t\t/// Calculates a default shader resource view \n\tD3D12_SHADER_RESOURCE_VIEW_DESC calcDefaultSrvDesc(BufferType type) const;\n\n\t\t/// Allocates a srv view. Stores the index in m_srvView. If < 0 there isn't an associated srv\n\t\t/// If the desc isn't set one will be created via calcDefaultSrvDesc\n\tint allocateSrvView(BufferType type, ID3D12Device* device, Dx12DescriptorHeap& heap, const D3D12_SHADER_RESOURCE_VIEW_DESC* desc = nullptr);\n\n\t\t/// Gets the appropriate format for reading as srv\n\tDXGI_FORMAT getSrvFormat(BufferType type) const;\n\t\t/// Gets the suitable target for rendering to\n\tDXGI_FORMAT getTargetFormat(BufferType type) const;\n\t\t/// Get the amount of render targets\n\tinline int getNumRenderTargets() const { return m_renderTarget ? 1 : 0; }\n\n\t\t/// Create a srv at the index on the heap for the buffer type\n\tvoid createSrv(ID3D12Device* device, Dx12DescriptorHeap& heap, BufferType type, int descriptorIndex);\n\n\t\t/// Get an associated srv heap index (as produced by allocateSrvView)\n\tinline int getSrvHeapIndex(BufferType type) const { return m_srvIndices[type]; }\n\n\t\t/// Get the desc\n\tinline const Desc& getDesc() const { return m_desc; }\n\n\tDx12RenderTarget();\n\n\tstatic DxFormatUtil::UsageType getUsageType(BufferType type);\n\n\tint m_srvIndices[BUFFER_COUNT_OF];\n\n\tXMMATRIX m_shadowLightView;\n\tXMMATRIX m_shadowLightProjection;\n\tXMMATRIX m_shadowLightWorldToTex;\n\n\tDesc m_desc;\n\n\tD3D12_VIEWPORT m_viewport;\n\tD3D12_RECT m_scissorRect;\n\n\tDx12Resource m_renderTarget;\n\tComPtr<ID3D12DescriptorHeap> m_descriptorHeapRtv;\n\tDx12Resource m_depthStencilBuffer;\n\tComPtr<ID3D12DescriptorHeap> m_descriptorHeapDsv;\n};\n\n} // namespace Common \n} // namespace nvidia\n\n#endif // NV_CO_DX12_RENDER_TARGET_H"
  },
  {
    "path": "demo/d3d12/NvCoDx12Resource.cpp",
    "content": "/* Copyright (c) 2016, NVIDIA CORPORATION.  All rights reserved.\n* NVIDIA CORPORATION and its licensors retain all intellectual property\n* and proprietary rights in and to this software, related documentation\n* and any modifications thereto.  Any use, reproduction, disclosure or\n* distribution of this software and related documentation without an express\n* license agreement from NVIDIA CORPORATION is strictly prohibited. */\n\n#include \"NvCoDx12Resource.h\"\n\n#include <assert.h>\n\n#define NOMINMAX\n#include <wrl.h>\nusing namespace Microsoft::WRL;\n\nnamespace nvidia {\nnamespace Common {\n\n/* !!!!!!!!!!!!!!!!!!!!!!!!! Dx12BarrierSubmitter !!!!!!!!!!!!!!!!!!!!!!!! */\n\nvoid Dx12BarrierSubmitter::_flush()\n{\n\tassert(m_numBarriers > 0);\n\n\tif (m_commandList)\n\t{\n\t\tm_commandList->ResourceBarrier(UINT(m_numBarriers), m_barriers);\n\t}\n\tm_numBarriers = 0;\n}\n\nD3D12_RESOURCE_BARRIER& Dx12BarrierSubmitter::_expandOne()\n{\n\t_flush();\n\treturn m_barriers[m_numBarriers++];\n}\n\n/* !!!!!!!!!!!!!!!!!!!!!!!!! Dx12ResourceBase !!!!!!!!!!!!!!!!!!!!!!!! */\n\nvoid Dx12ResourceBase::transition(D3D12_RESOURCE_STATES nextState, Dx12BarrierSubmitter& submitter)\n{\n\t// If there is no resource, then there is nothing to transition\n\tif (!m_resource)\n\t{\n\t\treturn;\n\t}\n\t\n\tif (nextState != m_state)\n\t{\n\t\tD3D12_RESOURCE_BARRIER& barrier = submitter.expandOne();\n\n\t\tconst UINT subresource = D3D12_RESOURCE_BARRIER_ALL_SUBRESOURCES;\n\t\tconst D3D12_RESOURCE_BARRIER_FLAGS flags = D3D12_RESOURCE_BARRIER_FLAG_NONE;\n\n\t\tmemset(&barrier, 0, sizeof(barrier)); \n\t\tbarrier.Type = D3D12_RESOURCE_BARRIER_TYPE_TRANSITION;\n\t\tbarrier.Flags = flags;\n\t\tbarrier.Transition.pResource = m_resource;\n\t\tbarrier.Transition.StateBefore = m_state;\n\t\tbarrier.Transition.StateAfter = nextState;\n\t\tbarrier.Transition.Subresource = subresource;\n\t\n\t\tm_prevState = m_state;\n\t\tm_state = nextState;\n\t}\n\telse\n\t{\n\t\tif (nextState == D3D12_RESOURCE_STATE_UNORDERED_ACCESS)\n\t\t{\n\t\t\tD3D12_RESOURCE_BARRIER& barrier = submitter.expandOne();\n\n\t\t\tmemset(&barrier, 0, sizeof(barrier));\n\t\t\tbarrier.Type = D3D12_RESOURCE_BARRIER_TYPE_UAV;\n\t\t\tbarrier.UAV.pResource = m_resource;\n\n\t\t\tm_state = nextState;\n\t\t}\n\t}\n}\n\n/* static */DXGI_FORMAT Dx12ResourceBase::calcFormat(DxFormatUtil::UsageType usage, ID3D12Resource* resource)\n{\n\treturn resource ? DxFormatUtil::calcFormat(usage, resource->GetDesc().Format) : DXGI_FORMAT_UNKNOWN;\n}\n\n/* !!!!!!!!!!!!!!!!!!!!!!!!! Dx12Resource !!!!!!!!!!!!!!!!!!!!!!!! */\n\n/* static */void Dx12Resource::setDebugName(ID3D12Resource* resource, const std::wstring& name)\n{\n\tif (resource)\n\t{\n\t\tresource->SetName(name.c_str());\n\t}\n}\n\nvoid Dx12Resource::setDebugName(const std::wstring& name)\n{\n\tsetDebugName(m_resource, name);\n}\n\nvoid Dx12Resource::setDebugName(const wchar_t* name) \n{ \n\tif (m_resource) \n\t{\n\t\tm_resource->SetName(name); \n\t}\n}\n\nvoid Dx12Resource::setResource(ID3D12Resource* resource, D3D12_RESOURCE_STATES initialState)\n{\n\tif (resource != m_resource)\n\t{\n\t\tif (resource)\n\t\t{\n\t\t\tresource->AddRef();\n\t\t}\n\t\tif (m_resource)\n\t\t{\n\t\t\tm_resource->Release();\n\t\t}\n\t\tm_resource = resource;\n\t}\n\tm_prevState = initialState;\n\tm_state = initialState;\n}\n\nvoid Dx12Resource::setResourceNull()\n{\n\tif (m_resource)\n\t{\n\t\tm_resource->Release();\n\t\tm_resource = nullptr;\n\t}\n}\n\nint Dx12Resource::initCommitted(ID3D12Device* device, const D3D12_HEAP_PROPERTIES& heapProps, D3D12_HEAP_FLAGS heapFlags, const D3D12_RESOURCE_DESC& resourceDesc, D3D12_RESOURCE_STATES initState, const D3D12_CLEAR_VALUE * clearValue)\n{\n\tsetResourceNull();\n\tComPtr<ID3D12Resource> resource;\n\tNV_RETURN_ON_FAIL(device->CreateCommittedResource(&heapProps, heapFlags, &resourceDesc, initState, clearValue, IID_PPV_ARGS(&resource)));\n\tsetResource(resource.Get(), initState);\n\treturn NV_OK;\n}\n\nID3D12Resource* Dx12Resource::detach()\n{\n\tID3D12Resource* resource = m_resource;\n\tm_resource = nullptr;\n\treturn resource;\n}\n\nvoid Dx12Resource::swap(ComPtr<ID3D12Resource>& resourceInOut)\n{\n\tID3D12Resource* tmp = m_resource;\n\tm_resource = resourceInOut.Detach();\n\tresourceInOut.Attach(tmp);\n}\n\nvoid Dx12Resource::setState(D3D12_RESOURCE_STATES state)\n{\n\tm_prevState = state;\n\tm_state = state;\n}\n\n\n} // namespace Common \n} // namespace nvidia \n"
  },
  {
    "path": "demo/d3d12/NvCoDx12Resource.h",
    "content": "#ifndef NV_CO_DX12_RESOURCE_H\n#define NV_CO_DX12_RESOURCE_H\n\n#include <NvResult.h>\n#include <NvCoDxFormatUtil.h>\n\n#define NOMINMAX\n#include <d3d12.h>\n#include <string>\n#include <wrl.h>\n\nusing namespace Microsoft::WRL;\n\nnamespace nvidia { \nnamespace Common {\n\n// Enables more conservative barriers - restoring the state of resources after they are used.\n// Should not need to be enabled in normal builds, as the barriers should correctly sync resources\n// If enabling fixes an issue it implies regular barriers are not correctly used. \n#define NV_CO_ENABLE_CONSERVATIVE_RESOURCE_BARRIERS 0\n\nstruct Dx12BarrierSubmitter\n{\n\tenum { MAX_BARRIERS = 8 };\n\n\t\t/// Expand one space to hold a barrier\n\tinline D3D12_RESOURCE_BARRIER& expandOne() { return (m_numBarriers < MAX_BARRIERS) ? m_barriers[m_numBarriers++] : _expandOne(); }\n\t\t/// Flush barriers to command list \n\tinline void flush() { if (m_numBarriers > 0) _flush(); }\n\n\t\t/// Ctor\n\tinline Dx12BarrierSubmitter(ID3D12GraphicsCommandList* commandList):m_numBarriers(0), m_commandList(commandList) { }\n\t\t/// Dtor\n\tinline ~Dx12BarrierSubmitter() { flush(); }\n\n\tprotected:\n\tD3D12_RESOURCE_BARRIER& _expandOne();\n\tvoid _flush();\n\n\tID3D12GraphicsCommandList* m_commandList;\n\tptrdiff_t m_numBarriers;\n\tD3D12_RESOURCE_BARRIER m_barriers[MAX_BARRIERS];\n};\n\n/** The base class for resource types allows for tracking of state. It does not allow for setting of the resource though, such that\nan interface can return a Dx12ResourceBase, and a client cant manipulate it's state, but it cannot replace/change the actual resource */\nstruct Dx12ResourceBase\n{\n\t\t/// Add a transition if necessary to the list\n\tvoid transition(D3D12_RESOURCE_STATES nextState, Dx12BarrierSubmitter& submitter);\n\t\t/// Get the current state\n\tinline D3D12_RESOURCE_STATES getState() const { return m_state; }\n\n\t\t/// Get the associated resource\n\tinline ID3D12Resource* getResource() const { return m_resource; }\n\n\t\t/// True if a resource is set\n\tinline bool isSet() const { return m_resource != nullptr; }\n\n\t\t/// Coercable into ID3D12Resource\n\tinline operator ID3D12Resource*() const { return m_resource; }\n\n\t\t/// restore previous state\n#if NV_CO_ENABLE_CONSERVATIVE_RESOURCE_BARRIERS\n\tinline void restore(Dx12BarrierSubmitter& submitter) { transition(m_prevState, submitter); } \n#else\n\tinline void restore(Dx12BarrierSubmitter& submitter) { (void)submitter; }\n#endif\n\n\t\t/// Given the usage, flags, and format will return the most suitable format. Will return DXGI_UNKNOWN if combination is not possible\n\tstatic DXGI_FORMAT calcFormat(DxFormatUtil::UsageType usage, ID3D12Resource* resource);\n\n\t\t/// Ctor\n\tinline Dx12ResourceBase() :\n\t\tm_state(D3D12_RESOURCE_STATE_COMMON),\n\t\tm_prevState(D3D12_RESOURCE_STATE_COMMON),\n\t\tm_resource(nullptr)\n\t{}\n\t\n\tprotected:\n\t\t/// This is protected so as clients cannot slice the class, and so state tracking is lost\n\t~Dx12ResourceBase() {}\n\n\tID3D12Resource* m_resource;\n\tD3D12_RESOURCE_STATES m_state;\n\tD3D12_RESOURCE_STATES m_prevState;\n};\n\nstruct Dx12Resource: public Dx12ResourceBase\n{\n\n\t/// Dtor\n\t~Dx12Resource()\n\t{\n\t\tif (m_resource)\n\t\t{\n\t\t\tm_resource->Release();\n\t\t}\n\t}\n\n\t\t/// Initialize as committed resource\n\tint initCommitted(ID3D12Device* device, const D3D12_HEAP_PROPERTIES& heapProps, D3D12_HEAP_FLAGS heapFlags, const D3D12_RESOURCE_DESC& resourceDesc, D3D12_RESOURCE_STATES initState, const D3D12_CLEAR_VALUE * clearValue);\n\n\t\t/// Set a resource with an initial state\n\tvoid setResource(ID3D12Resource* resource, D3D12_RESOURCE_STATES initialState);\n\t\t/// Make the resource null\n\tvoid setResourceNull();\n\t\t/// Returns the attached resource (with any ref counts) and sets to nullptr on this.\n\tID3D12Resource* detach();\n\n\t\t/// Swaps the resource contents with the contents of the smart pointer\n\tvoid swap(ComPtr<ID3D12Resource>& resourceInOut);\n\n\t\t/// Sets the current state of the resource (the current state is taken to be the future state once the command list has executed)\n\t\t/// NOTE! This must be used with care, otherwise state tracking can be made incorrect.\n\tvoid setState(D3D12_RESOURCE_STATES state);\n\n\t\t/// Set the debug name on a resource\n\tstatic void setDebugName(ID3D12Resource* resource, const std::wstring& name);\n\n\t\t/// Set the the debug name on the resource\n\tvoid setDebugName(const wchar_t* name);\n\t\t/// Set the debug name\n\tvoid setDebugName(const std::wstring& name);\n};\n\n/// Convenient way to set blobs \nstruct Dx12Blob : public D3D12_SHADER_BYTECODE\n{\n\ttemplate <size_t SIZE>\n\tinline Dx12Blob(const BYTE(&in)[SIZE]) { pShaderBytecode = in; BytecodeLength = SIZE; }\n\tinline Dx12Blob(const BYTE* in, size_t size) { pShaderBytecode = in; BytecodeLength = size; }\n\tinline Dx12Blob() { pShaderBytecode = nullptr; BytecodeLength = 0; }\n\tinline Dx12Blob(ID3DBlob* blob) { pShaderBytecode = blob->GetBufferPointer(); BytecodeLength = blob->GetBufferSize(); }\n};\n\n} // namespace Common \n} // namespace nvidia \n\n#endif // NV_CO_DX12_RESOURCE_H\n"
  },
  {
    "path": "demo/d3d12/NvCoDx12ResourceScopeManager.cpp",
    "content": "/* Copyright (c) 2016, NVIDIA CORPORATION.  All rights reserved.\n* NVIDIA CORPORATION and its licensors retain all intellectual property\n* and proprietary rights in and to this software, related documentation\n* and any modifications thereto.  Any use, reproduction, disclosure or\n* distribution of this software and related documentation without an express\n* license agreement from NVIDIA CORPORATION is strictly prohibited. */\n\n#include \"NvCoDx12ResourceScopeManager.h\"\n\n#include <assert.h>\n\nnamespace nvidia {\nnamespace Common {\n\nDx12ResourceScopeManager::Dx12ResourceScopeManager():\n\tm_fence(nullptr),\n\tm_device(nullptr)\n{\n}\n\nDx12ResourceScopeManager::~Dx12ResourceScopeManager()\n{\n\twhile (!m_entryQueue.empty())\n\t{\n\t\tEntry& entry = m_entryQueue.front();\n\t\tentry.m_resource->Release();\n\t\tm_entryQueue.pop_front();\n\t}\n}\n\nint Dx12ResourceScopeManager::init(ID3D12Device* device, Dx12CounterFence* fence)\n{\n\tm_fence = fence;\n\tm_device = device;\n\treturn NV_OK;\n}\n\nvoid Dx12ResourceScopeManager::addSync(uint64_t signalValue)\n{\t\n\t(void)signalValue;\n\n\tassert(m_fence->getCurrentValue() == signalValue);\n}\n\nvoid Dx12ResourceScopeManager::updateCompleted()\n{\n\tconst uint64_t completedValue = m_fence->getCompletedValue();\n\tif (!m_entryQueue.empty())\n\t{\n\t\tconst Entry& entry = m_entryQueue.front();\n\t\tif (entry.m_completedValue >= completedValue)\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\tentry.m_resource->Release();\n\t\tm_entryQueue.pop_front();\n\t}\n}\n\nID3D12Resource* Dx12ResourceScopeManager::newUploadResource(const D3D12_RESOURCE_DESC& resourceDesc, const D3D12_CLEAR_VALUE* clearValue)\n{\n\tD3D12_HEAP_PROPERTIES heapProps;\n\t{\n\t\theapProps.Type = D3D12_HEAP_TYPE_UPLOAD;\n\t\theapProps.CPUPageProperty = D3D12_CPU_PAGE_PROPERTY_UNKNOWN;\n\t\theapProps.MemoryPoolPreference = D3D12_MEMORY_POOL_UNKNOWN;\n\t\theapProps.CreationNodeMask = 1;\n\t\theapProps.VisibleNodeMask = 1;\n\t}\n\tconst D3D12_HEAP_FLAGS heapFlags = D3D12_HEAP_FLAG_NONE;\n\n\tconst D3D12_RESOURCE_STATES initialState = D3D12_RESOURCE_STATE_GENERIC_READ;\n\n\tComPtr<ID3D12Resource> resource;\n\tint res = m_device->CreateCommittedResource(&heapProps, heapFlags, &resourceDesc, initialState, clearValue, IID_PPV_ARGS(&resource));\n\tif (NV_FAILED(res)) return nullptr;\n\n\t// Get the current fence count\n\tconst uint64_t completedValue = m_fence->getCurrentValue();\n\n\tEntry entry;\n\tentry.m_completedValue = completedValue;\n\tentry.m_resource = resource.Detach();\n\tm_entryQueue.push_back(entry);\n\n\treturn entry.m_resource;\n}\n\n/* static */void Dx12ResourceScopeManager::copy(const D3D12_SUBRESOURCE_DATA& src, size_t rowSizeInBytes, int numRows, int numSlices, const D3D12_MEMCPY_DEST& dst)\n{\n\tfor (int i = 0; i < numSlices; ++i)\n\t{\n\t\tuint8_t* dstSlice = reinterpret_cast<uint8_t*>(dst.pData) + dst.SlicePitch * i;\n\t\tconst uint8_t* srcSlice = reinterpret_cast<const uint8_t*>(src.pData) + src.SlicePitch * i;\n\t\tfor (int j = 0; j < numRows; ++j)\n\t\t{\n\t\t\tmemcpy(dstSlice + dst.RowPitch * j, srcSlice + src.RowPitch * j, rowSizeInBytes);\n\t\t}\n\t}\n}\n\nint Dx12ResourceScopeManager::upload(ID3D12GraphicsCommandList* commandList, const void* srcDataIn, ID3D12Resource* targetResource, D3D12_RESOURCE_STATES targetState)\n{\n\t// Get the targetDesc\n\tconst D3D12_RESOURCE_DESC targetDesc = targetResource->GetDesc();\n\t// Ensure it is just a regular buffer\n\tassert(targetDesc.Dimension == D3D12_RESOURCE_DIMENSION_BUFFER);\n\tassert(targetDesc.Layout == D3D12_TEXTURE_LAYOUT_ROW_MAJOR);\n\n\t// The buffer size is the width \n\tconst size_t bufferSize = size_t(targetDesc.Width);\n\n\tD3D12_RESOURCE_DESC uploadDesc = targetDesc;\n\tuploadDesc.Flags = D3D12_RESOURCE_FLAG_NONE;\n\n\t// Create the upload resource\n\tID3D12Resource* uploadResource = newUploadResource(uploadDesc);\n\n\t// Map it and copy \n\t{\n\t\tuint8_t* uploadMapped;\n\t\tNV_RETURN_ON_FAIL(uploadResource->Map(0, nullptr, (void**)&uploadMapped));\n\t\tmemcpy(uploadMapped, srcDataIn, bufferSize);\n\t\tuploadResource->Unmap(0, nullptr);\n\t}\n\n\t// Add the copy\n\tcommandList->CopyBufferRegion(targetResource, 0, uploadResource, 0, bufferSize);\n\n\t// Add the barrier\n\t{\n\t\tD3D12_RESOURCE_BARRIER barrier = {};\n\n\t\tbarrier.Type = D3D12_RESOURCE_BARRIER_TYPE_TRANSITION;\n\t\tbarrier.Flags = D3D12_RESOURCE_BARRIER_FLAG_NONE;\n\t\tD3D12_RESOURCE_TRANSITION_BARRIER& transition = barrier.Transition;\n\t\ttransition.pResource = targetResource;\n\t\ttransition.StateBefore = D3D12_RESOURCE_STATE_COPY_DEST;\n\t\ttransition.StateAfter = targetState;\n\t\ttransition.Subresource = D3D12_RESOURCE_BARRIER_ALL_SUBRESOURCES;\n\n\t\tcommandList->ResourceBarrier(1, &barrier);\n\t}\n\n\treturn NV_OK;\n}\n\nvoid Dx12ResourceScopeManager::add(ID3D12Resource* resource)\n{\n\tassert(resource);\n\n\t// Get the current fence count\n\tconst uint64_t completedValue = m_fence->getCurrentValue();\n\n\tEntry entry;\n\tentry.m_completedValue = completedValue;\n\tresource->AddRef();\n\tentry.m_resource = resource;\n\n\tm_entryQueue.push_back(entry);\n}\n\nint Dx12ResourceScopeManager::uploadWithState(ID3D12GraphicsCommandList* commandList, const void* srcDataIn, Dx12Resource& target, D3D12_RESOURCE_STATES targetState)\n{\n\t// make sure we are in the correct initial state\n\tif (target.getState() != D3D12_RESOURCE_STATE_COPY_DEST)\n\t{\n\t\tDx12BarrierSubmitter submitter(commandList);\n\t\ttarget.transition(D3D12_RESOURCE_STATE_COPY_DEST, submitter);\n\t}\n\t// Do the upload\n\tNV_RETURN_ON_FAIL(upload(commandList, srcDataIn, target.getResource(), targetState));\n\ttarget.setState(targetState);\n\treturn NV_OK;\n}\n\n\n} // namespace Common\n} // namespace nvidia\n"
  },
  {
    "path": "demo/d3d12/NvCoDx12ResourceScopeManager.h",
    "content": "/* Copyright (c) 2016, NVIDIA CORPORATION.  All rights reserved.\n* NVIDIA CORPORATION and its licensors retain all intellectual property\n* and proprietary rights in and to this software, related documentation\n* and any modifications thereto.  Any use, reproduction, disclosure or\n* distribution of this software and related documentation without an express\n* license agreement from NVIDIA CORPORATION is strictly prohibited. */\n\n#ifndef NV_CO_DX12_RESOURCE_SCOPE_MANAGER_H\n#define NV_CO_DX12_RESOURCE_SCOPE_MANAGER_H\n\n#include \"NvCoDx12Resource.h\"\n#include \"NvCoDx12CounterFence.h\"\n\n// Dx12 types\n#define NOMINMAX\n#include <d3d12.h>\n\n#include <deque>\n\n/** \\addtogroup common\n@{\n*/\n\nnamespace nvidia {\nnamespace Common { \n\n/*! \\brief A class to manage the lifetime of resources that are transitory (as used only for a single specific piece of GPU work), \nbut arbitrarily sized - such as textures. \n\nWith Dx12 there is no management for the lifetime of resources within the Api directly. It is the duty of \nthe application to make sure resources are released when they are no longer being referenced. The Dx12ResourceScopeManager\ntries to simplify this management for some common use cases. Firstly when creating a GPU based resource and filling it \nwith data, the data must first be copied to an upload buffer, and then to the target gpu based buffer. The upload buffer\nis only needed whilst copying takes place. The method 'upload' will create a temporary upload buffer, and initiate the\ncopy into target. \n\nThe upload resource will ONLY BE RELEASED when the fences value is greater than the current value. Assuming the command list \nis added to the queue, and the fence is added afterwards (which is the appropriate way), the resources will only be released \nafter the fence has been hit AND when updateCompleted is called. \n\nThe Dx12ResourceScopeManager is most useful for resource uploads that happen at startup, and might be very large. If you want to \nupload constrained sized (like constant buffer) resources quickly and efficiently at runtime you might be better using Dx12CircularResourceHeap.\n\nThe Dx12ResourceScopeManager uses the addSync/updateCompleted idiom, see details in Dx12CircularResourceHeap.\n\n*/\nclass Dx12ResourceScopeManager\n{\n\t//NV_CO_DECLARE_CLASS_BASE(Dx12ResourceScopeManager);\npublic:\n\t\t/// Initialize\n\tint init(ID3D12Device* device, Dx12CounterFence* fence);\n\t\n\t\t/// Allocate constant buffer of specified size\n\tID3D12Resource* newUploadResource(const D3D12_RESOURCE_DESC& resourceDesc, const D3D12_CLEAR_VALUE* clearValue = nullptr);\n\t\t/// Do an upload on the specified command list\n\tint upload(ID3D12GraphicsCommandList* commandList, const void* srcDataIn, ID3D12Resource* target, D3D12_RESOURCE_STATES targetState);\n\t\t/// Upload data to the target, and set state. Will add barriers if target is in the wrong state\n\tint uploadWithState(ID3D12GraphicsCommandList* commandList, const void* srcDataIn, Dx12Resource& target, D3D12_RESOURCE_STATES targetState);\n\n\t\t/// Add a resource, which will be released when updateCompleted has a greater value\n\tvoid add(ID3D12Resource* resource);\n\n\t\t/// Look where the GPU has got to and release anything not currently used\n\tvoid updateCompleted();\n\t\t/// Add a sync point - meaning that when this point is hit in the queue\n\t\t/// all of the resources up to this point will no longer be used.\n\tvoid addSync(uint64_t signalValue);\n\n\t\t/// Get the device associated with this manager\n\tinline ID3D12Device* getDevice() const { return m_device; }\n\n\t\t/// Ctor\n\tDx12ResourceScopeManager();\n\t\t/// Dtor\n\t~Dx12ResourceScopeManager();\n\n\t\t/// Copy from src to dst\n\tstatic void copy(const D3D12_SUBRESOURCE_DATA& src, size_t rowSizeInBytes, int numRows, int numSlices, const D3D12_MEMCPY_DEST& dst);\n\n\tprotected:\n\t\n\tstruct Entry\n\t{\n\t\tuint64_t m_completedValue;\t\t///< If less than fence value this is completed\n\t\tID3D12Resource* m_resource;\t\t///< The mapped resource\n\t};\n\t\n\tstd::deque<Entry> m_entryQueue;\n\n\tDx12CounterFence* m_fence;\t\t\t///< The fence to use\n\tID3D12Device* m_device;\t\t\t\t///< The device that resources will be constructed on\n};\n\n} // namespace Common\n} // namespace nvidia\n\n/** @} */\n\n#endif // NV_CO_DX12_RESOURCE_SCOPE_MANAGER_H\n"
  },
  {
    "path": "demo/d3d12/NvCoDxDebugUtil.cpp",
    "content": "/* Copyright (c) 2016, NVIDIA CORPORATION.  All rights reserved.\n* NVIDIA CORPORATION and its licensors retain all intellectual property\n* and proprietary rights in and to this software, related documentation\n* and any modifications thereto.  Any use, reproduction, disclosure or\n* distribution of this software and related documentation without an express\n* license agreement from NVIDIA CORPORATION is strictly prohibited. */\n\n#include \"NvCoDxDebugUtil.h\"\n\nnamespace nvidia {\nnamespace Common {\n\n/* static */int DxDebugUtil::getDebugInterface(IDXGIDebug** debugOut)\n{\n\tHMODULE module = GetModuleHandleA(\"Dxgidebug.dll\");\n\tif (module)\n\t{\n\t\t//WINAPI\n\t\ttypedef HRESULT(WINAPI *FuncType)(REFIID riid, void **ppDebug);\n\t\tFARPROC funcAddr = GetProcAddress(module, \"DXGIGetDebugInterface\");\n\n\t\tFuncType debugFunc = (FuncType)funcAddr;\n\t\tif (debugFunc)\n\t\t{\n\t\t\treturn debugFunc(__uuidof(IDXGIDebug), (void**)debugOut);\t\t\t\n\t\t}\n\t}\n\treturn NV_FAIL;\n}\n\n} // namespace Common\n} // namespace nvidia\n"
  },
  {
    "path": "demo/d3d12/NvCoDxDebugUtil.h",
    "content": "/* Copyright (c) 2016, NVIDIA CORPORATION.  All rights reserved.\n* NVIDIA CORPORATION and its licensors retain all intellectual property\n* and proprietary rights in and to this software, related documentation\n* and any modifications thereto.  Any use, reproduction, disclosure or\n* distribution of this software and related documentation without an express\n* license agreement from NVIDIA CORPORATION is strictly prohibited. */\n\n#ifndef NV_CO_DX_DEBUG_UTIL_H\n#define NV_CO_DX_DEBUG_UTIL_H\n\n#include <NvResult.h>\n\n#define NOMINMAX\n#include <DXGIDebug.h>\n#include <wrl.h>\n\nusing namespace Microsoft::WRL;\n\n/** \\addtogroup common\n@{\n*/\n\nnamespace nvidia {\nnamespace Common { \n\nstruct DxDebugUtil\n{\n\t\t/// Get the debug interface\n\tstatic int getDebugInterface(IDXGIDebug** debugOut);\n};\n\n} // namespace Common\n} // namespace nvidia\n\n/** @} */\n\n#endif // NV_CO_DX12_DEBUG_UTIL_H\n"
  },
  {
    "path": "demo/d3d12/NvCoDxFormatUtil.cpp",
    "content": "/* Copyright (c) 2016, NVIDIA CORPORATION.  All rights reserved.\n* NVIDIA CORPORATION and its licensors retain all intellectual property\n* and proprietary rights in and to this software, related documentation\n* and any modifications thereto.  Any use, reproduction, disclosure or\n* distribution of this software and related documentation without an express\n* license agreement from NVIDIA CORPORATION is strictly prohibited. */\n\n#include \"NvCoDxFormatUtil.h\"\n\n#include <stdio.h>\n\nnamespace nvidia {\nnamespace Common {\n\n/* static */DXGI_FORMAT DxFormatUtil::calcResourceFormat(UsageType usage, int usageFlags, DXGI_FORMAT format)\n{\n\t(void)usage;\n\tif (usageFlags)\n\t{\n\t\tswitch (format)\n\t\t{\n\t\t\tcase DXGI_FORMAT_R32_FLOAT:\n\t\t\tcase DXGI_FORMAT_D32_FLOAT:\t\t\treturn DXGI_FORMAT_R32_TYPELESS;\n\t\t\tcase DXGI_FORMAT_D24_UNORM_S8_UINT:\treturn DXGI_FORMAT_R24G8_TYPELESS;\n\t\t\tdefault: break;\n\t\t}\n\t\treturn format;\n\t}\n\treturn format;\n}\n\n/* static */DXGI_FORMAT DxFormatUtil::calcFormat(UsageType usage, DXGI_FORMAT format)\n{\n\tswitch (usage)\n\t{\n\t\tcase USAGE_COUNT_OF:\n\t\tcase USAGE_UNKNOWN: \n\t\t{\n\t\t\treturn DXGI_FORMAT_UNKNOWN;\n\t\t}\n\t\tcase USAGE_DEPTH_STENCIL:\n\t\t{\n\t\t\tswitch (format)\n\t\t\t{\n\t\t\t\tcase DXGI_FORMAT_D32_FLOAT:\n\t\t\t\tcase DXGI_FORMAT_R32_TYPELESS:\t\t\treturn DXGI_FORMAT_D32_FLOAT;\n\t\t\t\tcase DXGI_FORMAT_R24_UNORM_X8_TYPELESS:\treturn DXGI_FORMAT_D24_UNORM_S8_UINT;\n\t\t\t\tcase DXGI_FORMAT_R24G8_TYPELESS:\t\treturn DXGI_FORMAT_D24_UNORM_S8_UINT;\n\t\t\t\tdefault: break;\n\t\t\t}\n\t\t\treturn format;\n\t\t}\n\t\tcase USAGE_TARGET:\n\t\t{\n\t\t\tswitch (format)\n\t\t\t{\n\t\t\t\tcase DXGI_FORMAT_D32_FLOAT:\n\t\t\t\tcase DXGI_FORMAT_D24_UNORM_S8_UINT: return DXGI_FORMAT_UNKNOWN;\n\t\t\t\tcase DXGI_FORMAT_R32_TYPELESS:\t\treturn DXGI_FORMAT_R32_FLOAT;\n\t\t\t\tdefault: break;\n\t\t\t}\n\t\t\treturn format;\n\t\t}\n\t\tcase USAGE_SRV:\n\t\t{\n\t\t\tswitch (format)\n\t\t\t{\n\t\t\t\tcase DXGI_FORMAT_D32_FLOAT:\n\t\t\t\tcase DXGI_FORMAT_R32_TYPELESS:\t\t\treturn DXGI_FORMAT_R32_FLOAT;\n\t\t\t\tcase DXGI_FORMAT_R24_UNORM_X8_TYPELESS:\treturn DXGI_FORMAT_R24_UNORM_X8_TYPELESS;\n\t\t\t\tdefault: break;\n\t\t\t}\n\n\t\t\treturn format;\n\t\t}\n\t}\n\n\tprintf(\"Not reachable\");\n\treturn DXGI_FORMAT_UNKNOWN;\n}\n\nbool DxFormatUtil::isTypeless(DXGI_FORMAT format)\n{\n\tswitch (format)\n\t{\n\t\tcase DXGI_FORMAT_R32G32B32A32_TYPELESS:\n\t\tcase DXGI_FORMAT_R32G32B32_TYPELESS:\n\t\tcase DXGI_FORMAT_R16G16B16A16_TYPELESS:\n\t\tcase DXGI_FORMAT_R32G32_TYPELESS:\n\t\tcase DXGI_FORMAT_R32G8X24_TYPELESS:\n\t\tcase DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS:\n\t\tcase DXGI_FORMAT_R10G10B10A2_TYPELESS:\n\t\tcase DXGI_FORMAT_R8G8B8A8_TYPELESS:\n\t\tcase DXGI_FORMAT_R16G16_TYPELESS:\n\t\tcase DXGI_FORMAT_R32_TYPELESS:\n\t\tcase DXGI_FORMAT_R24_UNORM_X8_TYPELESS:\n\t\tcase DXGI_FORMAT_R24G8_TYPELESS: \n\t\tcase DXGI_FORMAT_R8G8_TYPELESS:\n\t\tcase DXGI_FORMAT_R16_TYPELESS:\n\t\tcase DXGI_FORMAT_R8_TYPELESS:\n\t\tcase DXGI_FORMAT_BC1_TYPELESS:\n\t\tcase DXGI_FORMAT_BC2_TYPELESS:\n\t\tcase DXGI_FORMAT_BC3_TYPELESS:\n\t\tcase DXGI_FORMAT_BC4_TYPELESS:\n\t\tcase DXGI_FORMAT_BC5_TYPELESS:\n\t\tcase DXGI_FORMAT_B8G8R8A8_TYPELESS:\n\t\tcase DXGI_FORMAT_BC6H_TYPELESS:\n\t\tcase DXGI_FORMAT_BC7_TYPELESS:\n\t\t{\n\t\t\treturn true;\n\t\t}\n\t\tdefault: break;\n\t}\n\treturn false;\n}\n\n/* static */int DxFormatUtil::getNumColorChannelBits(DXGI_FORMAT fmt)\n{\n\tswitch (fmt)\n\t{\n\t\tcase DXGI_FORMAT_R32G32B32A32_TYPELESS:\n\t\tcase DXGI_FORMAT_R32G32B32A32_FLOAT:\n\t\tcase DXGI_FORMAT_R32G32B32A32_UINT:\n\t\tcase DXGI_FORMAT_R32G32B32A32_SINT:\n\t\tcase DXGI_FORMAT_R32G32B32_TYPELESS:\n\t\tcase DXGI_FORMAT_R32G32B32_FLOAT:\n\t\tcase DXGI_FORMAT_R32G32B32_UINT:\n\t\tcase DXGI_FORMAT_R32G32B32_SINT:\n\t\t\treturn 32;\n\n\t\tcase DXGI_FORMAT_R16G16B16A16_TYPELESS:\n\t\tcase DXGI_FORMAT_R16G16B16A16_FLOAT:\n\t\tcase DXGI_FORMAT_R16G16B16A16_UNORM:\n\t\tcase DXGI_FORMAT_R16G16B16A16_UINT:\n\t\tcase DXGI_FORMAT_R16G16B16A16_SNORM:\n\t\tcase DXGI_FORMAT_R16G16B16A16_SINT:\n\t\t\treturn 16;\n\n\t\tcase DXGI_FORMAT_R10G10B10A2_TYPELESS:\n\t\tcase DXGI_FORMAT_R10G10B10A2_UNORM:\n\t\tcase DXGI_FORMAT_R10G10B10A2_UINT:\n\t\tcase DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM:\n\t\t\treturn 10;\n\n\t\tcase DXGI_FORMAT_R8G8B8A8_TYPELESS:\n\t\tcase DXGI_FORMAT_R8G8B8A8_UNORM:\n\t\tcase DXGI_FORMAT_R8G8B8A8_UNORM_SRGB:\n\t\tcase DXGI_FORMAT_R8G8B8A8_UINT:\n\t\tcase DXGI_FORMAT_R8G8B8A8_SNORM:\n\t\tcase DXGI_FORMAT_R8G8B8A8_SINT:\n\t\tcase DXGI_FORMAT_B8G8R8A8_UNORM:\n\t\tcase DXGI_FORMAT_B8G8R8X8_UNORM:\n\t\tcase DXGI_FORMAT_B8G8R8A8_TYPELESS:\n\t\tcase DXGI_FORMAT_B8G8R8A8_UNORM_SRGB:\n\t\tcase DXGI_FORMAT_B8G8R8X8_TYPELESS:\n\t\tcase DXGI_FORMAT_B8G8R8X8_UNORM_SRGB:\n\t\t\treturn 8;\n\n\t\tcase DXGI_FORMAT_B5G6R5_UNORM:\n\t\tcase DXGI_FORMAT_B5G5R5A1_UNORM:\n\t\t\treturn 5;\n\n\t\tcase DXGI_FORMAT_B4G4R4A4_UNORM:\n\t\t\treturn 4;\n\n\t\tdefault:\n\t\t\treturn 0;\n\t}\n}\n\n\n} // namespace Common \n} // namespace nvidia \n"
  },
  {
    "path": "demo/d3d12/NvCoDxFormatUtil.h",
    "content": "#ifndef NV_CO_DX_FORMAT_UTIL_H\n#define NV_CO_DX_FORMAT_UTIL_H\n\n#define NOMINMAX\n#include <dxgi.h>\n\nnamespace nvidia { \nnamespace Common {\n\nstruct DxFormatUtil\n{\n\tenum UsageType\n\t{\n\t\tUSAGE_UNKNOWN,\t\t\t\t\t\t///< Generally used to mark an error\n\t\tUSAGE_TARGET,\t\t\t\t\t\t///< Format should be used when written as target\n\t\tUSAGE_DEPTH_STENCIL,\t\t\t\t///< Format should be used when written as depth stencil\t\n\t\tUSAGE_SRV,\t\t\t\t\t\t\t///< Format if being read as srv\n\t\tUSAGE_COUNT_OF,\n\t};\n\tenum UsageFlag\n\t{\n\t\tUSAGE_FLAG_MULTI_SAMPLE = 0x1,\n\t\tUSAGE_FLAG_SRV = 0x2,\n\t};\n\n\t\t/// Given the usage, flags, and format will return the most suitable format. Will return DXGI_UNKNOWN if combination is not possible\n\tstatic DXGI_FORMAT calcFormat(UsageType usage, DXGI_FORMAT format);\n\t\t/// Calculate appropriate format for creating a buffer for usage and flags\n\tstatic DXGI_FORMAT calcResourceFormat(UsageType usage, int usageFlags, DXGI_FORMAT format);\n\t\t/// True if the type is 'typeless'\n\tstatic bool isTypeless(DXGI_FORMAT format);\n\n\t\t/// Returns number of bits used for color channel for format (for channels with multiple sizes, returns smallest ie RGB565 -> 5)\n\tstatic int getNumColorChannelBits(DXGI_FORMAT fmt);\n\n};\n\n} // namespace Common \n} // namespace nvidia \n\n#endif // NV_CO_DX12_RESOURCE_H\n"
  },
  {
    "path": "demo/d3d12/NvCoFreeList.cpp",
    "content": "/* Copyright (c) 2016, NVIDIA CORPORATION.  All rights reserved.\n* NVIDIA CORPORATION and its licensors retain all intellectual property\n* and proprietary rights in and to this software, related documentation\n* and any modifications thereto.  Any use, reproduction, disclosure or\n* distribution of this software and related documentation without an express\n* license agreement from NVIDIA CORPORATION is strictly prohibited. */\n\n#include \"NvCoFreeList.h\"\n\n#include <stdlib.h> \n#include <string.h>\n\n#define DEFAULT_ALIGNMENT 16\n\nnamespace nvidia {\nnamespace Common {\n\nFreeList::~FreeList()\n{\n\t_deallocateBlocks(m_activeBlocks);\n\t_deallocateBlocks(m_freeBlocks);\n}\n\nvoid FreeList::_init()\n{\n\tm_top = nullptr;\n\tm_end = nullptr;\n\t\n\tm_activeBlocks = nullptr;\n\tm_freeBlocks = nullptr;\n\n\tm_freeElements = nullptr;\n\n\tm_elementSize = 0;\n\tm_alignment = 1;\n\tm_blockSize = 0;\n\tm_blockAllocationSize = 0;\n\t//m_allocator = nullptr;\n}\n\nvoid FreeList::_init(size_t elementSize, size_t alignment, size_t elemsPerBlock)\n{\n\t//allocator = allocator ? allocator : MemoryAllocator::getInstance();\n\t//assert(allocator);\n\t//m_allocator = allocator;\n\n\talignment = (alignment < sizeof(void*)) ? sizeof(void*) : alignment;\n\n\t// Alignment must be a power of 2\n\tassert(((alignment - 1) & alignment) == 0);\n\n\t// The elementSize must at least be \n\telementSize = (elementSize >= alignment) ? elementSize : alignment;\n\tm_blockSize = elementSize * elemsPerBlock;\n\tm_elementSize = elementSize;\n\tm_alignment = alignment;\n\n\t// Calculate the block size neeed, correcting for alignment \n\tconst size_t alignedBlockSize = (alignment <= DEFAULT_ALIGNMENT) ? \n\t\t_calcAlignedBlockSize(DEFAULT_ALIGNMENT) : \n\t\t_calcAlignedBlockSize(alignment);\n\n\t// Make the block struct size aligned\n\tm_blockAllocationSize = m_blockSize + alignedBlockSize;\n\n\tm_top = nullptr;\n\tm_end = nullptr;\n\n\tm_activeBlocks = nullptr;\n\tm_freeBlocks = nullptr;\t\t\t///< Blocks that there are no allocations in\n\n\tm_freeElements = nullptr;\n}\n\nvoid FreeList::init(size_t elementSize, size_t alignment, size_t elemsPerBlock)\n{\n\t_deallocateBlocks(m_activeBlocks);\n\t_deallocateBlocks(m_freeBlocks);\n\t_init(elementSize, alignment, elemsPerBlock);\n}\n\nvoid FreeList::_deallocateBlocks(Block* block)\n{\n\twhile (block)\n\t{\n\t\tBlock* next = block->m_next;\n\n#ifdef NV_CO_FREE_LIST_INIT_MEM\n\t\tMemory::set(block, 0xfd, m_blockAllocationSize);\n#endif\n\n\t\tfree(block);\n\t\tblock = next;\n\t}\n}\n\nbool FreeList::isValidAllocation(const void* dataIn) const\n{\n\tuint8_t* data = (uint8_t*)dataIn;\n\n\tBlock* block = m_activeBlocks;\n\twhile (block)\n\t{\n\t\tuint8_t* start = block->m_data;\n\t\tuint8_t* end = start + m_blockSize;\n\n\t\tif (data >= start && data < end)\n\t\t{\n\t\t\t// Check it's aligned correctly\n\t\t\tif ((data - start) % m_elementSize)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// Non allocated data is between top and end\n\t\t\tif (data >= m_top && data < m_end)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// It can't be in the free list\n\t\t\tElement* ele = m_freeElements;\n\t\t\twhile (ele)\n\t\t\t{\n\t\t\t\tif (ele == (Element*)data)\n\t\t\t\t{\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tele = ele->m_next;\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\n\t\tblock = block->m_next;\n\t}\n\t// It's not in an active block -> it cannot be a valid allocation\n\treturn false;\n}\n\nvoid* FreeList::_allocate()\n{\n\tBlock* block = m_freeBlocks;\n\tif (block)\n\t{\n\t\t/// Remove from the free blocks\n\t\tm_freeBlocks = block->m_next;\n\t}\n\telse\n\t{\n\t\tblock = (Block*)malloc(m_blockAllocationSize);\n\t\tif (!block)\n\t\t{\n\t\t\t// Allocation failed... doh\n\t\t\treturn nullptr;\n\t\t}\n\t\t// Do the alignment\n\t\t{\n\t\t\tsize_t fix = (size_t(block) + sizeof(Block) + m_alignment - 1) & ~(m_alignment - 1);\n\t\t\tblock->m_data = (uint8_t*)fix;\n\t\t}\n\t} \n\n\t// Attach to the active blocks\n\tblock->m_next = m_activeBlocks;\n\tm_activeBlocks = block;\n\n\t// Set up top and end\n\tm_end = block->m_data + m_blockSize;\n\n\t// Return the first element\n\tuint8_t* element = block->m_data;\n\tm_top = element + m_elementSize;\n\n\tNV_CO_FREE_LIST_INIT_ALLOCATE(element)\n\n\treturn element;\n}\n\nvoid FreeList::deallocateAll()\n{\n\tBlock* block = m_activeBlocks;\n\tif (block)\n\t{\n\t\t// Find the end block\n\t\twhile (block->m_next) \n\t\t{\n#ifdef NV_CO_FREE_LIST_INIT_MEM\n\t\t\tMemory::set(block->m_data, 0xfd, m_blockSize);\t\n#endif\n\t\t\tblock = block->m_next;\n\t\t}\n\t\t// Attach to the freeblocks\n\t\tblock->m_next = m_freeBlocks;\n\t\t// The list is now all freelists\n\t\tm_freeBlocks = m_activeBlocks;\n\t\t// There are no active blocks\n\t\tm_activeBlocks = nullptr;\n\t}\n\n\tm_top = nullptr;\n\tm_end = nullptr;\n}\n\nvoid FreeList::reset()\n{\n\t_deallocateBlocks(m_activeBlocks);\n\t_deallocateBlocks(m_freeBlocks);\n\n\tm_top = nullptr;\n\tm_end = nullptr;\n\n\tm_activeBlocks = nullptr;\n\tm_freeBlocks = nullptr;\t\t\t\n\n\tm_freeElements = nullptr;\n}\n\n\nvoid FreeList::_initAllocate(void* mem)\n{\n\tmemset(mem, 0xcd, m_elementSize);\n}\n\nvoid FreeList::_initDeallocate(void* mem)\n{\n\tmemset(mem, 0xfd, m_elementSize);\n}\n\n} // namespace Common \n} // namespace nvidia\n\n"
  },
  {
    "path": "demo/d3d12/NvCoFreeList.h",
    "content": "/* Copyright (c) 2016, NVIDIA CORPORATION.  All rights reserved.\n* NVIDIA CORPORATION and its licensors retain all intellectual property\n* and proprietary rights in and to this software, related documentation\n* and any modifications thereto.  Any use, reproduction, disclosure or\n* distribution of this software and related documentation without an express\n* license agreement from NVIDIA CORPORATION is strictly prohibited. */\n\n#ifndef NV_CO_FREELIST_H\n#define NV_CO_FREELIST_H\n\n#include <assert.h>\n#include <stdint.h>\n\n/** \\addtogroup common\n@{\n*/\n\nnamespace nvidia {\nnamespace Common {\n\n#if NV_DEBUG\n#\tdefine NV_CO_FREE_LIST_INIT_MEM\n#endif\n\n#ifdef NV_CO_FREE_LIST_INIT_MEM\n#\tdefine NV_CO_FREE_LIST_INIT_ALLOCATE(ptr) _initAllocate(ptr);\n#\tdefine NV_CO_FREE_LIST_INIT_DEALLOCATE(ptr) _initDeallocate(ptr);\n#else\n#\tdefine NV_CO_FREE_LIST_INIT_ALLOCATE(ptr)\n#\tdefine NV_CO_FREE_LIST_INIT_DEALLOCATE(ptr) \n#endif\n\n\n/*! \\brief A freelist is a simple and fast memory allocator that can allocate and free in any order identically sized blocks. \n\n\\details A free list is a memory allocation system that performs allocations/deallocations very quickly for elements which are\nall the same size.\nIn a freelist all elements are the same size, and elements can be allocated and freed in any order, as long as every deallocation\nmatches every allocation. Both allocation and deallocation are O(1), and generally just a few instructions. The underlying\nmemory allocator will allocate in large blocks, with multiple elements amortizing a more costly large allocation against lots\nof fast small element allocations. */\nclass FreeList\n{\n\t//NV_CO_DECLARE_CLASS_BASE(FreeList);\npublic:\n\t\t/// Free elements are held in a singly linked list. The minimum size of an element is therefore a pointer\n\tstruct Element\n\t{\n\t\tElement* m_next;\n\t};\n\tstruct Block\n\t{\n\t\tBlock* m_next;\t\t\t\t///< The next block\n\t\tuint8_t* m_data;\t\t\t\t///< The list of the elements each m_elementSize in size\n\t};\n\n\t\t/// Allocate a single element\n\tinline void* allocate();\n\t\t/// Deallocate a block that was previously allocated with allocate\n\tinline void deallocate(void* data);\n\n\t\t/// Returns true if this is from a valid allocation\n\tbool isValidAllocation(const void* dataIn) const;\n\n\t\t/// Get the element size\n\tinline size_t getElementSize() const { return m_elementSize; }\n\t\t/// Get the total size of each individual block allocation in bytes\n\tinline size_t getBlockSize() const { return m_blockSize; }\n\n\t\t/// Deallocates all elements\n\tvoid deallocateAll();\n\t\t/// Deallocates all, and frees any backing memory (put in initial state)\n\tvoid reset();\n\n\t\t/// Initialize. If called on an already initialized heap, the heap will be deallocated.\n\tvoid init(size_t elementSize, size_t alignment, size_t elemsPerBlock);\n\n\t\t/// Default Ctor\n\tFreeList() { _init(); }\n\t\t/// Ctor\n\tFreeList(size_t elementSize, size_t alignment, size_t elemsPerBlock) { _init(elementSize, alignment, elemsPerBlock); }\n\t\t/// Dtor\n\t~FreeList();\n\n\tprotected:\n\t\t/// Initializes assuming freelist is not constructed\n\tvoid _init(size_t elementSize, size_t alignment, size_t elemsPerBlock);\n\tvoid* _allocate();\n\tvoid _deallocateBlocks(Block* block);\n\t\t/// Initializes setting everything to empty (doesn't free anything if already allocated)\n\tvoid _init();\n\n\tinline static size_t _calcAlignedBlockSize(size_t align) { return (sizeof(Block) + align - 1) & ~(align - 1); }\n\n\tvoid _initAllocate(void* mem);\n\tvoid _initDeallocate(void* mem);\n\n\tuint8_t* m_top;\t\t\t\t\t///< The top position of the current block\n\tuint8_t* m_end;\t\t\t\t\t///< The end of the current block\n\n\tBlock* m_activeBlocks;\t\t\t///< The blocks there are potentially allocations from\n\tBlock* m_freeBlocks;\t\t\t///< Blocks that there are no allocations in\n\n\tElement* m_freeElements;\t\t///< A singly linked list of elements available\n\n\tsize_t m_elementSize;\n\tsize_t m_alignment;\n\tsize_t m_blockSize;\n\tsize_t m_blockAllocationSize;\t///< The actual allocation size. Maybe bigger than m_blockSize if alignment requires it.\n\t//MemoryAllocator* m_allocator;\n};\n\n// --------------------------------------------------------------------------\ninline void* FreeList::allocate()\n{\n\t// First see if there are any freeElements ready to go\n\t{\n\t\tElement* element = m_freeElements;\n\t\tif (element)\n\t\t{\n\t\t\tm_freeElements = element->m_next;\n\t\t\tNV_CO_FREE_LIST_INIT_ALLOCATE(element)\n\t\t\treturn element;\n\t\t}\n\t}\n\tif (m_top >= m_end)\n\t{\n\t\treturn _allocate();\n\t}\n\tvoid* data = (void*)m_top;\n\tNV_CO_FREE_LIST_INIT_ALLOCATE(data)\n\n\tm_top += m_elementSize;\n\treturn data;\n}\n// --------------------------------------------------------------------------\ninline void FreeList::deallocate(void* data)\n{\n\tassert(isValidAllocation(data));\n\n\tNV_CO_FREE_LIST_INIT_DEALLOCATE(data)\n\n\t// Put onto the singly linked free element list\n\tElement* ele = (Element*)data;\n\tele->m_next = m_freeElements;\n\tm_freeElements = ele;\n}\n\n} // namespace Common \n} // namespace nvidia\n\n/** @} */\n\n#endif // NV_CO_FREELIST_H"
  },
  {
    "path": "demo/d3d12/NvResult.h",
    "content": "/* Copyright (c) 2016, NVIDIA CORPORATION.  All rights reserved.\n* NVIDIA CORPORATION and its licensors retain all intellectual property\n* and proprietary rights in and to this software, related documentation\n* and any modifications thereto.  Any use, reproduction, disclosure or\n* distribution of this software and related documentation without an express\n* license agreement from NVIDIA CORPORATION is strictly prohibited. */\n\n#ifndef NV_RESULT_H\n#define NV_RESULT_H\n\n#include <assert.h>\n\n/** \\addtogroup core\n@{\n*/\n\n/*! Result is designed to be compatible with COM HRESULT. \n\nIt's layout in bits is as follows\n\nSeverity | Facility | Code\n---------|----------|-----\n31       |    30-16 | 15-0\n\nSeverity - 1 fail, 0 is success.\nFacility is where the error originated from\nCode is the code specific to the facility.\n     \nThe layout is designed such that failure is a negative number, and success is positive due to Result\nbeing represented by an Int32.\n\nResult codes have the following style\n\n1. NV_name\n2. NV_s_f_name\n3. NV_s_name\n\nwhere s is severity as a single letter S - success, and E for error\nStyle 1 is reserved for NV_OK and NV_FAIL as they are so common and not tied to a facility\n\ns is S for success, E for error \nf is the short version of the facility name\n\nFor the common used NV_OK and NV_FAIL, the name prefix is dropped\nIt is acceptable to expand 'f' to a longer name to differentiate a name\nie for a facility 'DRIVER' it might make sense to have an error of the form NV_E_DRIVER_OUT_OF_MEMORY */\ntypedef int NvResult;\n\n//! Make a result\n#define NV_MAKE_RESULT(sev, fac, code) ((((int)(sev))<<31) | (((int)(fac))<<16) | ((int)(code)))\n\n//! Will be 0 - for ok, 1 for failure\n#define NV_GET_RESULT_SEVERITY(r)\t((int)(((NvUInt32)(r)) >> 31))\n//! Will be 0 - for ok, 1 for failure\n#define NV_GET_RESULT_FACILITY(r)\t((int)(((r) >> 16) & 0x7fff))\n//! Get the result code\n#define NV_GET_RESULT_CODE(r)\t\t((int)((r) & 0xffff))\n\n#define NV_SEVERITY_ERROR         1\n#define NV_SEVERITY_SUCCESS       0\n\n#define NV_MAKE_ERROR(fac, code)\tNV_MAKE_RESULT(NV_SEVERITY_ERROR, NV_FACILITY_##fac, code)\n#define NV_MAKE_SUCCESS(fac, code)\tNV_MAKE_RESULT(NV_SEVERITY_SUCCESS, NV_FACILITY_##fac, code)\n\n/*************************** Facilities ************************************/\n\n//! General - careful to make compatible with HRESULT\n#define NV_FACILITY_GENERAL      0\n\n//! Base facility -> so as to not clash with HRESULT values\n#define NV_FACILITY_BASE\t\t 0x100\t\t\t\t\n\n/*! Facilities numbers must be unique across a project to make the resulting result a unique number!\nIt can be useful to have a consistent short name for a facility, as used in the name prefix */\n#define NV_FACILITY_DISK         (NV_FACILITY_BASE + 1)\n#define NV_FACILITY_INTERFACE    (NV_FACILITY_BASE + 2)\n#define NV_FACILITY_UNKNOWN      (NV_FACILITY_BASE + 3)\n#define NV_FACILITY_MEMORY\t\t (NV_FACILITY_BASE + 4)\n#define NV_FACILITY_MISC\t     (NV_FACILITY_BASE + 5)\n\n/// Base for external facilities. Facilities should be unique across modules. \n#define NV_FACILITY_EXTERNAL_BASE 0x200\n#define NV_FACILITY_HAIR\t\t(NV_FACILITY_EXTERNAL_BASE + 1)\n\n/* *************************** Codes **************************************/\n\n// Memory\n#define NV_E_MEM_OUT_OF_MEMORY            NV_MAKE_ERROR(MEMORY, 1)\n#define NV_E_MEM_BUFFER_TOO_SMALL         NV_MAKE_ERROR(MEMORY, 2)\n\n//! NV_OK indicates success, and is equivalent to NV_MAKE_RESULT(0, NV_FACILITY_GENERAL, 0)\n#define NV_OK                          0\n//! NV_FAIL is the generic failure code - meaning a serious error occurred and the call couldn't complete\n#define NV_FAIL                        NV_MAKE_ERROR(GENERAL, 1)\n\n//! Used to identify a Result that has yet to be initialized.  \n//! It defaults to failure such that if used incorrectly will fail, as similar in concept to using an uninitialized variable. \n#define NV_E_MISC_UNINITIALIZED\t\t\tNV_MAKE_ERROR(MISC, 2)\n//! Returned from an async method meaning the output is invalid (thus an error), but a result for the request is pending, and will be returned on a subsequent call with the async handle. \t\t\t\n#define NV_E_MISC_PENDING\t\t\t\tNV_MAKE_ERROR(MISC, 3)\n//! Indicates that a handle passed in as parameter to a method is invalid. \n#define NV_E_MISC_INVALID_HANDLE\t\tNV_MAKE_ERROR(MISC, 4)\n\n/*! Set NV_HANDLE_RESULT_FAIL(x) to code to be executed whenever an error occurs, and is detected by one of the macros */\n#ifndef NV_HANDLE_RESULT_FAIL\n#\tdefine NV_HANDLE_RESULT_FAIL(x)\n#endif\n\n/* !!!!!!!!!!!!!!!!!!!!!!!!! Checking codes !!!!!!!!!!!!!!!!!!!!!!!!!!!!!! */\n\n//! Use to test if a result was failure. Never use result != NV_OK to test for failure, as there may be successful codes != NV_OK.\n#define NV_FAILED(status) ((status) < 0)\n//! Use to test if a result succeeded. Never use result == NV_OK to test for success, as will detect other successful codes as a failure.\n#define NV_SUCCEEDED(status) ((status) >= 0)\n\n//! Helper macro, that makes it easy to add result checking to calls in functions/methods that themselves return Result. \n#define NV_RETURN_ON_FAIL(x) { NvResult _res = (x); if (NV_FAILED(_res)) { NV_HANDLE_RESULT_FAIL(_res); return _res; } }\n//! Helper macro that can be used to test the return value from a call, and will return in a void method/function\n#define NV_RETURN_VOID_ON_FAIL(x) { NvResult _res = (x); if (NV_FAILED(_res)) { NV_HANDLE_RESULT_FAIL(_res); return; } }\n//! Helper macro that will return false on failure.\n#define NV_RETURN_FALSE_ON_FAIL(x) { NvResult _res = (x); if (NV_FAILED(_res)) { NV_HANDLE_RESULT_FAIL(_res); return false; } }\n\n//! Helper macro that will assert if the return code from a call is failure, also returns the failure.\n#define NV_CORE_ASSERT_ON_FAIL(x) { NvResult _res = (x); if (NV_FAILED(_res)) { assert(false); return _res; } }\n//! Helper macro that will assert if the result from a call is a failure, also returns. \n#define NV_CORE_ASSERT_VOID_ON_FAIL(x) { NvResult _res = (x); if (NV_FAILED(_res)) { assert(false); return; } }\n\n\n#if __cplusplus\nnamespace nvidia {\ntypedef NvResult Result;\n} // namespace nvidia\n#endif\n\n/** @} */\n\n#endif\n"
  },
  {
    "path": "demo/d3d12/appD3D12Ctx.cpp",
    "content": "/*\n * Copyright (c) 2014-2017, NVIDIA CORPORATION.  All rights reserved.\n *\n * NVIDIA CORPORATION and its licensors retain all intellectual property\n * and proprietary rights in and to this software, related documentation\n * and any modifications thereto.  Any use, reproduction, disclosure or\n * distribution of this software and related documentation without an express\n * license agreement from NVIDIA CORPORATION is strictly prohibited.\n */\n\n//direct3d headers\n#define NOMINMAX\n#include <d3d12.h>\n#include <dxgi1_4.h>\n\n// include the Direct3D Library file\n#pragma comment (lib, \"d3d12.lib\")\n#pragma comment (lib, \"DXGI.lib\")\n\n#include \"appD3D12Ctx.h\"\n\n#include <stdio.h>\n\n#include <SDL.h>\n#include <SDL_video.h>\n#include <SDL_syswm.h>\n\nnamespace\n{\n\t// COM object release utilities\n\ttemplate <class T>\n\tvoid inline COMRelease(T& t)\n\t{\n\t\tif (t) t->Release();\n\t\tt = nullptr;\n\t}\n\n\ttemplate <class T>\n\tvoid inline COMRelease(T& t, UINT arraySize)\n\t{\n\t\tfor (UINT i = 0; i < arraySize; i++)\n\t\t{\n\t\t\tif (t[i]) t[i]->Release();\n\t\t\tt[i] = nullptr;\n\t\t}\n\t}\n}\n\nAppGraphProfilerD3D12* appGraphCreateProfilerD3D12(AppGraphCtx* ctx);\nvoid appGraphProfilerD3D12FrameBegin(AppGraphProfilerD3D12* profiler);\nvoid appGraphProfilerD3D12FrameEnd(AppGraphProfilerD3D12* profiler);\nvoid appGraphProfilerD3D12Enable(AppGraphProfilerD3D12* profiler, bool enabled);\nvoid appGraphProfilerD3D12Begin(AppGraphProfilerD3D12* profiler, const char* label);\nvoid appGraphProfilerD3D12End(AppGraphProfilerD3D12* profiler, const char* label);\nbool appGraphProfilerD3D12Get(AppGraphProfilerD3D12* profiler, const char** plabel, float* cpuTime, float* gpuTime, int index);\nvoid appGraphReleaseProfiler(AppGraphProfilerD3D12* profiler);\n\nAppGraphCtxD3D12::AppGraphCtxD3D12()\n{\n\tm_profiler = appGraphCreateProfilerD3D12(cast_from_AppGraphCtxD3D12(this));\n\n\tm_targetInfo.init();\n\n\tmemset(m_commandAllocators, 0, sizeof(m_commandAllocators));\n\tmemset(m_fenceValues, 0, sizeof(m_fenceValues));\n}\n\nAppGraphCtxD3D12::~AppGraphCtxD3D12()\n{\n\tAppGraphCtxReleaseRenderTargetD3D12(cast_from_AppGraphCtxD3D12(this));\n\n\tCOMRelease(m_device);\n\tCOMRelease(m_commandQueue);\n\tCOMRelease(m_rtvHeap);\n\tCOMRelease(m_dsvHeap);\n\tCOMRelease(m_depthSrvHeap);\n\tCOMRelease(m_commandAllocators, m_frameCount);\n\n\tCOMRelease(m_fence);\n\tCloseHandle(m_fenceEvent);\n\n\tCOMRelease(m_commandList);\n\n\tm_dynamicHeapCbvSrvUav.release();\n\n\tappGraphReleaseProfiler(m_profiler);\n\tm_profiler = nullptr;\n}\n\nAppGraphCtx* AppGraphCtxCreateD3D12(int deviceID)\n{\n\tAppGraphCtxD3D12* context = new AppGraphCtxD3D12;\n\n\tHRESULT hr = S_OK;\n\n#if defined(_DEBUG)\n#if !ENABLE_AFTERMATH_SUPPORT\t// we cannot use debug layer together with aftermath\n\t// Enable the D3D12 debug layer.\n\t{\n\t\tID3D12Debug* debugController;\n\t\tif (SUCCEEDED(D3D12GetDebugInterface(IID_PPV_ARGS(&debugController))))\n\t\t{\n\t\t\tdebugController->EnableDebugLayer();\n\t\t}\n\t\tCOMRelease(debugController);\n\t}\n#endif\n#endif\n\n\tUINT debugFlags = 0;\n#ifdef _DEBUG\n\tdebugFlags |= DXGI_CREATE_FACTORY_DEBUG;\n#endif\n\n\t// enumerate devices\n\tIDXGIFactory4* pFactory = NULL;\n\tCreateDXGIFactory2(debugFlags, IID_PPV_ARGS(&pFactory));\n\tIDXGIAdapter1* pAdapterTemp = NULL;\n\tIDXGIAdapter1* pAdapter = NULL;\n\tDXGI_ADAPTER_DESC1 adapterDesc;\n\tint adapterIdx = 0;\n\twhile (S_OK == pFactory->EnumAdapters1(adapterIdx, &pAdapterTemp))\n\t{\n\t\tpAdapterTemp->GetDesc1(&adapterDesc);\n\n\t\tcontext->m_dedicatedVideoMemory = (size_t)adapterDesc.DedicatedVideoMemory;\n\n\t\tif (deviceID == adapterIdx)\n\t\t{\n\t\t\tpAdapter = pAdapterTemp;\n\t\t\tbreak;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tpAdapterTemp->Release();\n\t\t}\n\t\tadapterIdx++;\n\t}\n\n\t// create device\n\tif (hr = D3D12CreateDevice(pAdapter, D3D_FEATURE_LEVEL_11_0, __uuidof(ID3D12Device), (void**)&context->m_device))\n\t{\n\t\tdelete context;\n\t\treturn nullptr;\n\t}\n\n\t// to disable annoying warning\n#if 0\n\tcontext->m_device->SetStablePowerState(TRUE);\n#endif\n\n\t// create command queue\n\t{\n\t\tD3D12_COMMAND_QUEUE_DESC desc;\n\t\tdesc.Type = D3D12_COMMAND_LIST_TYPE_DIRECT;\n\t\tdesc.Priority = D3D12_COMMAND_QUEUE_PRIORITY_NORMAL;\n\t\tdesc.Flags = D3D12_COMMAND_QUEUE_FLAG_NONE;\n\t\tdesc.NodeMask = 0;\n\n\t\tif (hr = context->m_device->CreateCommandQueue(&desc, IID_PPV_ARGS(&context->m_commandQueue)))\n\t\t{\n\t\t\tdelete context;\n\t\t\treturn nullptr;\n\t\t}\n\t}\n\n\t// cleanup adapter and factory\n\tCOMRelease(pAdapter);\n\tCOMRelease(pFactory);\n\n\t// create RTV descriptor heap\n\t{\n\t\tD3D12_DESCRIPTOR_HEAP_DESC desc = {};\n\t\tdesc.NumDescriptors = context->m_renderTargetCount;\n\t\tdesc.Type = D3D12_DESCRIPTOR_HEAP_TYPE_RTV;\n\t\tdesc.Flags = D3D12_DESCRIPTOR_HEAP_FLAG_NONE;\n\t\tif (hr = context->m_device->CreateDescriptorHeap(&desc, IID_PPV_ARGS(&context->m_rtvHeap)))\n\t\t{\n\t\t\tdelete context;\n\t\t\treturn nullptr;\n\t\t}\n\t\tcontext->m_rtvDescriptorSize = context->m_device->GetDescriptorHandleIncrementSize(D3D12_DESCRIPTOR_HEAP_TYPE_RTV);\n\t}\n\n\t// create DSV descriptor heap\n\t{\n\t\tD3D12_DESCRIPTOR_HEAP_DESC desc = {};\n\t\tdesc.NumDescriptors = 1;\n\t\tdesc.Type = D3D12_DESCRIPTOR_HEAP_TYPE_DSV;\n\t\tdesc.Flags = D3D12_DESCRIPTOR_HEAP_FLAG_NONE;\n\t\tif (hr = context->m_device->CreateDescriptorHeap(&desc, IID_PPV_ARGS(&context->m_dsvHeap)))\n\t\t{\n\t\t\tdelete context;\n\t\t\treturn nullptr;\n\t\t}\n\t}\n\n\t// create depth SRV descriptor heap\n\t{\n\t\tD3D12_DESCRIPTOR_HEAP_DESC desc = {};\n\t\tdesc.NumDescriptors = 1;\n\t\tdesc.Type = D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV;\n\t\tdesc.Flags = D3D12_DESCRIPTOR_HEAP_FLAG_NONE;\n\t\tif (hr = context->m_device->CreateDescriptorHeap(&desc, IID_PPV_ARGS(&context->m_depthSrvHeap)))\n\t\t{\n\t\t\tdelete context;\n\t\t\treturn nullptr;\n\t\t}\n\t}\n\n\t// Create per frame resources\n\t{\n\t\tfor (UINT idx = 0; idx < context->m_frameCount; idx++)\n\t\t{\n\t\t\tif (hr = context->m_device->CreateCommandAllocator(D3D12_COMMAND_LIST_TYPE_DIRECT, IID_PPV_ARGS(&context->m_commandAllocators[idx])))\n\t\t\t{\n\t\t\t\tdelete context;\n\t\t\t\treturn nullptr;\n\t\t\t}\n\t\t}\n\t}\n\n\t// create dynamic heap\n\t{\n\t\tcontext->m_dynamicHeapCbvSrvUav.init(context->m_device, D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV, 256u * 1024u);\n\t}\n\n\t// Create command list and close it\n\t{\n\t\tif (hr = context->m_device->CreateCommandList(0, D3D12_COMMAND_LIST_TYPE_DIRECT, \n\t\t\tcontext->m_commandAllocators[context->m_frameIndex], nullptr, IID_PPV_ARGS(&context->m_commandList))\n\t\t\t)\n\t\t{\n\t\t\tdelete context;\n\t\t\treturn nullptr;\n\t\t}\n\t\tcontext->m_commandList->Close();\n\t}\n\n\t// create synchronization objects\n\t{\n\t\tif (hr = context->m_device->CreateFence(0, D3D12_FENCE_FLAG_NONE, IID_PPV_ARGS(&context->m_fence)))\n\t\t{\n\t\t\tdelete context;\n\t\t\treturn nullptr;\n\t\t}\n\n\t\tcontext->m_fenceEvent = CreateEvent(nullptr, FALSE, FALSE, nullptr);\n\t\tif (context->m_fenceEvent == nullptr)\n\t\t{\n\t\t\tdelete context;\n\t\t\treturn nullptr;\n\t\t}\n\t}\n\n\treturn cast_from_AppGraphCtxD3D12(context);\n}\n\n\nvoid AppGraphCtxInitRenderTargetD3D12(AppGraphCtx* contextIn, SDL_Window* window, bool fullscreen, int numMSAASamples)\n{\n\tauto context = cast_to_AppGraphCtxD3D12(contextIn);\n\n\tHWND hWnd = nullptr;\n\t// get Windows handle to this SDL window\n\tSDL_SysWMinfo winInfo;\n\tSDL_VERSION(&winInfo.version);\n\tif (SDL_GetWindowWMInfo(window, &winInfo))\n\t{\n\t\tif (winInfo.subsystem == SDL_SYSWM_WINDOWS)\n\t\t{\n\t\t\thWnd = winInfo.info.win.window;\n\t\t}\n\t}\n\tcontext->m_hWnd = hWnd;\n\tcontext->m_fullscreen = fullscreen;\n\n\tHRESULT hr = S_OK;\n\n\tUINT debugFlags = 0;\n#ifdef _DEBUG\n\tdebugFlags |= DXGI_CREATE_FACTORY_DEBUG;\n#endif\n\n\t// enumerate devices\n\tIDXGIFactory4* pFactory = NULL;\n\tCreateDXGIFactory2(debugFlags, IID_PPV_ARGS(&pFactory));\n\n\t// create the swap chain\n\tfor (int i = 0; i < 2; i++)\n\t{\n\t\tDXGI_SWAP_CHAIN_DESC desc;\n\t\tZeroMemory(&desc, sizeof(desc));\n\t\tdesc.BufferCount = context->m_renderTargetCount;\n\t\tdesc.BufferDesc.Width = context->m_winW;\n\t\tdesc.BufferDesc.Height = context->m_winH;\n\t\tdesc.BufferDesc.Format = context->m_rtv_format; // DXGI_FORMAT_R8G8B8A8_UNORM;\n\t\tdesc.BufferDesc.RefreshRate.Numerator = 0;\n\t\tdesc.BufferDesc.RefreshRate.Denominator = 0;\n\t\tdesc.BufferUsage = DXGI_USAGE_RENDER_TARGET_OUTPUT;\n\t\tdesc.SwapEffect = DXGI_SWAP_EFFECT_FLIP_DISCARD;\n\t\tdesc.OutputWindow = context->m_hWnd;\n\t\tdesc.SampleDesc.Count = 1;\n\t\tdesc.SampleDesc.Quality = 0;\n\t\tdesc.Windowed = context->m_fullscreen ? FALSE : TRUE;\n\t\tdesc.Flags = context->m_fullscreen ? 0u : DXGI_SWAP_CHAIN_FLAG_FRAME_LATENCY_WAITABLE_OBJECT;\n\n\t\tcontext->m_current_rtvDesc.Format = context->m_rtv_format;\n\t\tcontext->m_current_rtvDesc.ViewDimension = D3D12_RTV_DIMENSION_TEXTURE2D;\n\t\tcontext->m_current_rtvDesc.Texture2D.MipSlice = 0u;\n\t\tcontext->m_current_rtvDesc.Texture2D.PlaneSlice = 0u;\n\n\t\thr = pFactory->CreateSwapChain(context->m_commandQueue, &desc, (IDXGISwapChain**)&context->m_swapChain);\n\n\t\tif (hr != S_OK)\n\t\t{\n\t\t\tCOMRelease(context->m_swapChain);\n\t\t\tcontext->m_fullscreen = false;\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (!context->m_fullscreen)\n\t\t{\n\t\t\tcontext->m_swapChainWaitableObject = context->m_swapChain->GetFrameLatencyWaitableObject();\n\t\t\tcontext->m_swapChain->SetMaximumFrameLatency(context->m_renderTargetCount - 2);\n\t\t}\n\t\telse\n\t\t{\n\t\t\thr = context->m_swapChain->SetFullscreenState(true, nullptr);\n\t\t\tif (hr != S_OK)\n\t\t\t{\n\t\t\t\tCOMRelease(context->m_swapChain);\n\t\t\t\tcontext->m_fullscreen = false;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tDXGI_SWAP_CHAIN_DESC desc = {};\n\t\t\tcontext->m_swapChain->GetDesc(&desc);\n\n\t\t\tcontext->m_winW = desc.BufferDesc.Width;\n\t\t\tcontext->m_winH = desc.BufferDesc.Height;\n\t\t}\n\n\t\tcontext->m_frameIndex = context->m_swapChain->GetCurrentBackBufferIndex();\n\t\tbreak;\n\t}\n\n\t// configure scissor and viewport\n\t{\n\t\tcontext->m_viewport.Width = float(context->m_winW);\n\t\tcontext->m_viewport.Height = float(context->m_winH);\n\t\tcontext->m_viewport.MaxDepth = 1.f;\n\n\t\tcontext->m_scissorRect.right = context->m_winW;\n\t\tcontext->m_scissorRect.bottom = context->m_winH;\n\t}\n\n\tCOMRelease(pFactory);\n\n\t// create per render target resources\n\t{\n\t\tD3D12_CPU_DESCRIPTOR_HANDLE rtvHandle = context->m_rtvHeap->GetCPUDescriptorHandleForHeapStart();\n\n\t\tfor (UINT idx = 0; idx < context->m_renderTargetCount; idx++)\n\t\t{\n\t\t\tComPtr<ID3D12Resource> backBuffer;\n\t\t\tif (hr = context->m_swapChain->GetBuffer(idx, IID_PPV_ARGS(&backBuffer)))\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tcontext->m_backBuffers[idx].setDebugName(L\"Backbuffer\");\n\t\t\tcontext->m_backBuffers[idx].setResource(backBuffer.Get(), D3D12_RESOURCE_STATE_COMMON);\n\t\t\t// Assume they are the same thing for now...\n\t\t\tcontext->m_renderTargets[idx] = &context->m_backBuffers[idx];\n\n\t\t\t// If we are multi-sampling - create a render target separate from the back buffer\n\t\t\tif (context->m_numMsaaSamples > 1)\n\t\t\t{\n\t\t\t\tD3D12_HEAP_PROPERTIES heapProps = {};\n\t\t\t\theapProps.Type = D3D12_HEAP_TYPE_DEFAULT;\n\t\t\t\tD3D12_RESOURCE_DESC desc = backBuffer->GetDesc();\n\n\t\t\t\tDXGI_FORMAT resourceFormat;\n\n\t\t\t\tif (desc.Format == DXGI_FORMAT_R32_FLOAT || desc.Format == DXGI_FORMAT_D32_FLOAT)\n\t\t\t\t{\n\t\t\t\t\tresourceFormat = DXGI_FORMAT_R32_TYPELESS;\n\t\t\t\t}\n\t\t\t\telse if (desc.Format == DXGI_FORMAT_D24_UNORM_S8_UINT)\n\t\t\t\t{\n\t\t\t\t\tresourceFormat = DXGI_FORMAT_R24G8_TYPELESS;\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tresourceFormat = desc.Format;\n\t\t\t\t}\n\n\t\t\t\tDXGI_FORMAT targetFormat = nvidia::Common::DxFormatUtil::calcFormat(nvidia::Common::DxFormatUtil::USAGE_TARGET, resourceFormat);\n\n\t\t\t\t// Set the target format\n\t\t\t\tcontext->m_targetInfo.m_renderTargetFormats[0] = targetFormat;\n\n\t\t\t\tD3D12_CLEAR_VALUE clearValue = {}; clearValue.Color[3] = 1.0f;\n\t\t\t\tclearValue.Format = targetFormat;\n\n\t\t\t\tdesc.Format = resourceFormat;\n\t\t\t\tdesc.Dimension = D3D12_RESOURCE_DIMENSION_TEXTURE2D;\n\t\t\t\tdesc.SampleDesc.Count = context->m_targetInfo.m_numSamples;\n\t\t\t\tdesc.SampleDesc.Quality = context->m_targetInfo.m_sampleQuality;\n\t\t\t\tdesc.Alignment = 0;\n\n\t\t\t\tcontext->m_renderTargetResources[idx].initCommitted(context->m_device, heapProps, D3D12_HEAP_FLAG_NONE, desc, D3D12_RESOURCE_STATE_RENDER_TARGET, &clearValue);\n\t\t\t\tcontext->m_renderTargets[idx] = &context->m_renderTargetResources[idx];\n\n\t\t\t\tcontext->m_renderTargetResources[idx].setDebugName(L\"Render Target\");\n\t\t\t}\n\n\t\t\tcontext->m_device->CreateRenderTargetView(*context->m_renderTargets[idx], nullptr, rtvHandle);\n\t\t\trtvHandle.ptr += context->m_rtvDescriptorSize;\n\t\t}\n\t}\n\n\t// create the depth stencil\n\t{\n\t\tD3D12_HEAP_PROPERTIES heapProps = {};\n\t\theapProps.Type = D3D12_HEAP_TYPE_DEFAULT;\n\t\theapProps.CPUPageProperty = D3D12_CPU_PAGE_PROPERTY_UNKNOWN;\n\t\theapProps.MemoryPoolPreference = D3D12_MEMORY_POOL_UNKNOWN;\n\t\theapProps.CreationNodeMask = 0u;\n\t\theapProps.VisibleNodeMask = 0u;\n\n\t\tD3D12_RESOURCE_DESC texDesc = {};\n\t\ttexDesc.MipLevels = 1u;\n\t\ttexDesc.Format = context->m_depth_format; // DXGI_FORMAT_R32_TYPELESS; // DXGI_FORMAT_R24G8_TYPELESS\n\t\ttexDesc.Width = context->m_winW;\n\t\ttexDesc.Height = context->m_winH;\n\t\ttexDesc.Flags = D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL /*| D3D12_RESOURCE_FLAG_DENY_SHADER_RESOURCE*/;\n\t\ttexDesc.DepthOrArraySize = 1u;\n\t\ttexDesc.SampleDesc.Count = context->m_targetInfo.m_numSamples;\n\t\ttexDesc.SampleDesc.Quality = context->m_targetInfo.m_sampleQuality;\n\t\ttexDesc.Dimension = D3D12_RESOURCE_DIMENSION_TEXTURE2D;\n\n\t\tD3D12_CLEAR_VALUE clearValue;\n\t\tclearValue.Format = context->m_dsv_format; // DXGI_FORMAT_D32_FLOAT;\n\t\tclearValue.DepthStencil.Depth = 1.f;\n\t\tclearValue.DepthStencil.Stencil = 0;\n\n\t\tif (hr = context->m_device->CreateCommittedResource(\n\t\t\t&heapProps,\n\t\t\tD3D12_HEAP_FLAG_NONE,\n\t\t\t&texDesc,\n\t\t\tD3D12_RESOURCE_STATE_DEPTH_WRITE,\n\t\t\t&clearValue,\n\t\t\tIID_PPV_ARGS(&context->m_depthStencil)\n\t\t))\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\t// create the depth stencil view\n\t\tD3D12_DEPTH_STENCIL_VIEW_DESC viewDesc = {};\n\t\tviewDesc.Format = context->m_dsv_format; // DXGI_FORMAT_D32_FLOAT;\n\t\tviewDesc.ViewDimension = (context->m_numMsaaSamples > 1) ? D3D12_DSV_DIMENSION_TEXTURE2DMS : D3D12_DSV_DIMENSION_TEXTURE2D;\n\t\tviewDesc.Flags = D3D12_DSV_FLAG_NONE;\n\t\tviewDesc.Texture2D.MipSlice = 0;\n\n\t\tcontext->m_current_dsvDesc = viewDesc;\n\n\t\tcontext->m_device->CreateDepthStencilView(context->m_depthStencil, &viewDesc, context->m_dsvHeap->GetCPUDescriptorHandleForHeapStart());\n\n\t\tcontext->m_targetInfo.m_depthStencilFormat = context->m_dsv_format;\n\t}\n}\n\nbool AppGraphCtxUpdateSizeD3D12(AppGraphCtx* contextIn, SDL_Window* window, bool fullscreen, int numMSAASamples)\n{\n\tauto context = cast_to_AppGraphCtxD3D12(contextIn);\n\n\t// TODO: fix iflip fullscreen support\n\tfullscreen = false;\n\n\tbool sizeChanged = false;\n\tint width, height;\n\tSDL_GetWindowSize(window, &width, &height);\n\n\t// sync with window\n\t{\n\t\tHWND hWnd = nullptr;\n\t\t// get Windows handle to this SDL window\n\t\tSDL_SysWMinfo winInfo;\n\t\tSDL_VERSION(&winInfo.version);\n\t\tif (SDL_GetWindowWMInfo(window, &winInfo))\n\t\t{\n\t\t\tif (winInfo.subsystem == SDL_SYSWM_WINDOWS)\n\t\t\t{\n\t\t\t\thWnd = winInfo.info.win.window;\n\t\t\t}\n\t\t}\n\t\tcontext->m_hWnd = hWnd;\n\t\tcontext->m_fullscreen = fullscreen;\n\n\t\tHRESULT hr = S_OK;\n\n\t\tif (context->m_winW != width || context->m_winH != height)\n\t\t{\n\t\t\tcontext->m_winW = width;\n\t\t\tcontext->m_winH = height;\n\t\t\tsizeChanged = true;\n\t\t\tcontext->m_valid = (context->m_winW != 0 && context->m_winH != 0);\n\t\t}\n\t}\n\n\tcontext->m_numMsaaSamples = numMSAASamples;\n\tcontext->m_targetInfo.m_numSamples = numMSAASamples;\n\n\tif (sizeChanged)\n\t{\n\t\tconst bool wasValid = context->m_valid;\n\t\t// Release\n\t\tAppGraphCtxReleaseRenderTargetD3D12(cast_from_AppGraphCtxD3D12(context));\n\t\t// If was valid recreate it\n\t\tif (wasValid)\n\t\t{\n\t\t\t// Reset the size (the release sets it, to 0,0)\n\t\t\tcontext->m_winW = width;\n\t\t\tcontext->m_winH = height;\n\t\t\t// \n\t\t\tAppGraphCtxInitRenderTargetD3D12(cast_from_AppGraphCtxD3D12(context), window, fullscreen, numMSAASamples);\n\t\t}\n\t}\n\n\treturn context->m_valid;\n}\n\nvoid AppGraphCtxReleaseRenderTargetD3D12(AppGraphCtx* contextIn)\n{\n\tauto context = cast_to_AppGraphCtxD3D12(contextIn);\n\n\tif (context->m_swapChain == nullptr)\n\t{\n\t\treturn;\n\t}\n\n\t// need to make sure the pipeline is flushed\n\tfor (UINT i = 0; i < context->m_frameCount; i++)\n\t{\n\t\t// check dependencies\n\t\tUINT64 fenceCompleted = context->m_fence->GetCompletedValue();\n\t\tif (fenceCompleted < context->m_fenceValues[i])\n\t\t{\n\t\t\tcontext->m_fence->SetEventOnCompletion(context->m_fenceValues[i], context->m_fenceEvent);\n\t\t\tWaitForSingleObjectEx(context->m_fenceEvent, INFINITE, FALSE);\n\t\t}\n\t}\n\n\tBOOL bFullscreen = FALSE;\n\tcontext->m_swapChain->GetFullscreenState(&bFullscreen, nullptr);\n\tif (bFullscreen == TRUE) context->m_swapChain->SetFullscreenState(FALSE, nullptr);\n\n\tfor (int i = 0; i != context->m_renderTargetCount; i++)\n\t{\n\t\tcontext->m_backBuffers[i].setResourceNull();\n\t\tif (context->m_numMsaaSamples > 1)\n\t\t\tcontext->m_renderTargets[i]->setResourceNull();\n\t}\n\tCOMRelease(context->m_swapChain);\n\tCOMRelease(context->m_depthStencil);\n\n\tcontext->m_valid = false;\n\tcontext->m_winW = 0u;\n\tcontext->m_winH = 0u;\n}\n\nvoid AppGraphCtxReleaseD3D12(AppGraphCtx* context)\n{\n\tif (context == nullptr) return;\n\n\tdelete cast_to_AppGraphCtxD3D12(context);\n}\n\nvoid AppGraphCtxFrameStartD3D12(AppGraphCtx* contextIn, AppGraphColor clearColor)\n{\n\tauto context = cast_to_AppGraphCtxD3D12(contextIn);\n\n\t// Get back render target index\n\tcontext->m_renderTargetIndex = context->m_swapChain->GetCurrentBackBufferIndex();\n\n\t// check dependencies\n\tUINT64 fenceCompleted = context->m_fence->GetCompletedValue();\n\tif (fenceCompleted < context->m_fenceValues[context->m_frameIndex])\n\t{\n\t\tcontext->m_fence->SetEventOnCompletion(context->m_fenceValues[context->m_frameIndex], context->m_fenceEvent);\n\t\tWaitForSingleObjectEx(context->m_fenceEvent, INFINITE, FALSE);\n\t}\n\n\t// The fence ID associated with completion of this frame\n\tcontext->m_thisFrameFenceID = context->m_frameID + 1;\n\tcontext->m_lastFenceComplete = context->m_fence->GetCompletedValue();\n\n\t// reset this frame's command allocator\n\tcontext->m_commandAllocators[context->m_frameIndex]->Reset();\n\n\t// reset command list with this frame's allocator\n\tcontext->m_commandList->Reset(context->m_commandAllocators[context->m_frameIndex], nullptr);\n\n\tappGraphProfilerD3D12FrameBegin(context->m_profiler);\n\n\tcontext->m_commandList->RSSetViewports(1, &context->m_viewport);\n\tcontext->m_commandList->RSSetScissorRects(1, &context->m_scissorRect);\n\n\t{\n\t\tnvidia::Common::Dx12BarrierSubmitter submitter(context->m_commandList);\n\t\tcontext->m_renderTargets[context->m_renderTargetIndex]->transition(D3D12_RESOURCE_STATE_RENDER_TARGET, submitter);\n\t}\n\t\n\tD3D12_CPU_DESCRIPTOR_HANDLE rtvHandle = context->m_rtvHeap->GetCPUDescriptorHandleForHeapStart();\n\trtvHandle.ptr += context->m_renderTargetIndex * context->m_rtvDescriptorSize;\n\n\tD3D12_CPU_DESCRIPTOR_HANDLE dsvHandle = context->m_dsvHeap->GetCPUDescriptorHandleForHeapStart();\n\tcontext->m_commandList->OMSetRenderTargets(1, &rtvHandle, FALSE, &dsvHandle);\n\n\tcontext->m_commandList->ClearRenderTargetView(rtvHandle, &clearColor.r, 0, nullptr);\n\tcontext->m_commandList->ClearDepthStencilView(dsvHandle, D3D12_CLEAR_FLAG_DEPTH, 1.f, 0, 0, nullptr);\n\n\t/// to simplify interop implementation\n\tcontext->m_current_renderTarget = context->m_renderTargets[context->m_renderTargetIndex]->getResource();\n\tcontext->m_current_rtvHandle = rtvHandle;\n\tcontext->m_current_dsvHandle = dsvHandle;\n\tcontext->m_current_depth_srvHandle = context->m_depthSrvHeap->GetCPUDescriptorHandleForHeapStart();\n}\n\nvoid AppGraphCtxFramePresentD3D12(AppGraphCtx* contextIn, bool fullsync)\n{\n\tauto context = cast_to_AppGraphCtxD3D12(contextIn);\n\n\t// check if now is good time to present\n#if 0 // disable frame latency waitable object check because it will cause vsync to fail\n\tbool shouldPresent = context->m_fullscreen ? true : WaitForSingleObjectEx(context->m_swapChainWaitableObject, 0, TRUE) != WAIT_TIMEOUT;\n\tif (shouldPresent)\n#endif\n\t{\n\t\tcontext->m_swapChain->Present(fullsync, 0);\n\t\tcontext->m_renderTargetID++;\n\t}\n\n\tappGraphProfilerD3D12FrameEnd(context->m_profiler);\n\n\t// signal for this frame id\n\tcontext->m_frameID++;\n\tcontext->m_fenceValues[context->m_frameIndex] = context->m_frameID;\n\tcontext->m_commandQueue->Signal(context->m_fence, context->m_frameID);\n\n\t// increment frame index after signal\n\tcontext->m_frameIndex = (context->m_frameIndex + 1) % context->m_frameCount;\n\n\tif (fullsync)\n\t{\n\t\t// check dependencies\n\t\tfor (int frameIndex = 0; frameIndex < context->m_frameCount; frameIndex++)\n\t\t{\n\t\t\tUINT64 fenceCompleted = context->m_fence->GetCompletedValue();\n\t\t\tif (fenceCompleted < context->m_fenceValues[frameIndex])\n\t\t\t{\n\t\t\t\tcontext->m_fence->SetEventOnCompletion(context->m_fenceValues[frameIndex], context->m_fenceEvent);\n\t\t\t\tWaitForSingleObjectEx(context->m_fenceEvent, INFINITE, FALSE);\n\t\t\t}\n\t\t}\n\t}\n}\n\nvoid AppGraphCtxWaitForFramesD3D12(AppGraphCtx* contextIn, unsigned int maxFramesInFlight)\n{\n\tauto context = cast_to_AppGraphCtxD3D12(contextIn);\n\n\tunsigned int framesActive = maxFramesInFlight;\n\twhile (framesActive >= maxFramesInFlight)\n\t{\n\t\t// reset count each cycle, and get latest fence value\n\t\tframesActive = 0u;\n\t\tUINT64 fenceCompleted = context->m_fence->GetCompletedValue();\n\n\t\t// determine how many frames are in flight\n\t\tfor (int frameIndex = 0; frameIndex < context->m_frameCount; frameIndex++)\n\t\t{\n\t\t\tif (fenceCompleted < context->m_fenceValues[frameIndex])\n\t\t\t{\n\t\t\t\tframesActive++;\n\t\t\t}\n\t\t}\n\n\t\tif (framesActive >= maxFramesInFlight)\n\t\t{\n\t\t\t// find the active frame with the lowest fence ID\n\t\t\tUINT64 minFenceID = 0;\n\t\t\tunsigned int minFrameIdx = 0;\n\t\t\tfor (int frameIndex = 0; frameIndex < context->m_frameCount; frameIndex++)\n\t\t\t{\n\t\t\t\tif (fenceCompleted < context->m_fenceValues[frameIndex])\n\t\t\t\t{\n\t\t\t\t\tif (minFenceID == 0)\n\t\t\t\t\t{\n\t\t\t\t\t\tminFenceID = context->m_fenceValues[frameIndex];\n\t\t\t\t\t\tminFrameIdx = frameIndex;\n\t\t\t\t\t}\n\t\t\t\t\telse if (context->m_fenceValues[frameIndex] < minFenceID)\n\t\t\t\t\t{\n\t\t\t\t\t\tminFenceID = context->m_fenceValues[frameIndex];\n\t\t\t\t\t\tminFrameIdx = frameIndex;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Wait for min frame\n\t\t\t{\n\t\t\t\tunsigned int frameIndex = minFrameIdx;\n\t\t\t\tfenceCompleted = context->m_fence->GetCompletedValue();\n\t\t\t\tif (fenceCompleted < context->m_fenceValues[frameIndex])\n\t\t\t\t{\n\t\t\t\t\tcontext->m_fence->SetEventOnCompletion(context->m_fenceValues[frameIndex], context->m_fenceEvent);\n\t\t\t\t\tWaitForSingleObjectEx(context->m_fenceEvent, INFINITE, FALSE);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\nvoid AppGraphCtxProfileEnableD3D12(AppGraphCtx* contextIn, bool enabled)\n{\n\tauto context = cast_to_AppGraphCtxD3D12(contextIn);\n\tappGraphProfilerD3D12Enable(context->m_profiler, enabled);\n}\n\nvoid AppGraphCtxProfileBeginD3D12(AppGraphCtx* contextIn, const char* label)\n{\n\tauto context = cast_to_AppGraphCtxD3D12(contextIn);\n\tappGraphProfilerD3D12Begin(context->m_profiler, label);\n}\n\nvoid AppGraphCtxProfileEndD3D12(AppGraphCtx* contextIn, const char* label)\n{\n\tauto context = cast_to_AppGraphCtxD3D12(contextIn);\n\tappGraphProfilerD3D12End(context->m_profiler, label);\n}\n\nbool AppGraphCtxProfileGetD3D12(AppGraphCtx* contextIn, const char** plabel, float* cpuTime, float* gpuTime, int index)\n{\n\tauto context = cast_to_AppGraphCtxD3D12(contextIn);\n\treturn appGraphProfilerD3D12Get(context->m_profiler, plabel, cpuTime, gpuTime, index);\n}\n\n// ******************************* Dynamic descriptor heap ******************************\n\nvoid AppDynamicDescriptorHeapD3D12::init(ID3D12Device* device, D3D12_DESCRIPTOR_HEAP_TYPE heapType, UINT minHeapSize)\n{\n\tm_device = device;\n\tm_heapSize = minHeapSize;\n\tm_startSlot = 0u;\n\tm_descriptorSize = m_device->GetDescriptorHandleIncrementSize(heapType);\n\n\tD3D12_DESCRIPTOR_HEAP_DESC desc = {};\n\tdesc.NumDescriptors = m_heapSize;\n\tdesc.Type = heapType;\n\tdesc.Flags = D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE;\n\tm_device->CreateDescriptorHeap(&desc, IID_PPV_ARGS(&m_heap));\n}\n\nvoid AppDynamicDescriptorHeapD3D12::release()\n{\n\tm_device = nullptr;\n\tCOMRelease(m_heap);\n\tm_descriptorSize = 0u;\n\tm_startSlot = 0u;\n\tm_heapSize = 0u;\n}\n\nAppDescriptorReserveHandleD3D12 AppDynamicDescriptorHeapD3D12::reserveDescriptors(UINT numDescriptors, UINT64 lastFenceCompleted, UINT64 nextFenceValue)\n{\n\tUINT endSlot = m_startSlot + numDescriptors;\n\tif (endSlot >= m_heapSize)\n\t{\n\t\tm_startSlot = 0u;\n\t\tendSlot = numDescriptors;\n\t}\n\tD3D12_CPU_DESCRIPTOR_HANDLE cpuHandle;\n\tD3D12_GPU_DESCRIPTOR_HANDLE gpuHandle;\n\tcpuHandle = m_heap->GetCPUDescriptorHandleForHeapStart();\n\tcpuHandle.ptr += m_startSlot * m_descriptorSize;\n\tgpuHandle = m_heap->GetGPUDescriptorHandleForHeapStart();\n\tgpuHandle.ptr += m_startSlot * m_descriptorSize;\n\n\t// advance start slot\n\tm_startSlot = endSlot;\n\n\tAppDescriptorReserveHandleD3D12 handle = {};\n\thandle.heap = m_heap;\n\thandle.descriptorSize = m_descriptorSize;\n\thandle.cpuHandle = cpuHandle;\n\thandle.gpuHandle = gpuHandle;\n\treturn handle;\n}\n\n// ******************************* Profiler *********************************\n\nnamespace\n{\n\tstruct TimerCPU\n\t{\n\t\tLARGE_INTEGER oldCount;\n\t\tLARGE_INTEGER count;\n\t\tLARGE_INTEGER freq;\n\t\tTimerCPU()\n\t\t{\n\t\t\tQueryPerformanceCounter(&count);\n\t\t\tQueryPerformanceFrequency(&freq);\n\t\t\toldCount = count;\n\t\t}\n\t\tdouble getDeltaTime()\n\t\t{\n\t\t\tQueryPerformanceCounter(&count);\n\t\t\tdouble dt = double(count.QuadPart - oldCount.QuadPart) / double(freq.QuadPart);\n\t\t\toldCount = count;\n\t\t\treturn dt;\n\t\t}\n\t};\n\n\tstruct TimerGPU\n\t{\n\t\tID3D12QueryHeap* m_queryHeap = nullptr;\n\t\tID3D12Resource* m_queryReadback = nullptr;\n\t\tUINT64 m_queryFrequency = 0;\n\t\tUINT64 m_queryReadbackFenceVal = ~0llu;\n\n\t\tTimerGPU() {}\n\t\t~TimerGPU()\n\t\t{\n\t\t\tCOMRelease(m_queryHeap);\n\t\t\tCOMRelease(m_queryReadback);\n\t\t}\n\t};\n\n\tstruct Timer\n\t{\n\t\tTimerCPU m_cpu;\n\t\tTimerGPU m_gpu;\n\n\t\tconst char* m_label = nullptr;\n\t\tfloat m_cpuTime = 0.f;\n\t\tfloat m_gpuTime = 0.f;\n\n\t\tTimer() {}\n\t\t~Timer() {}\n\t};\n\n\tstruct TimerValue\n\t{\n\t\tconst char* m_label = nullptr;\n\t\tfloat m_cpuTime = 0.f;\n\t\tfloat m_gpuTime = 0.f;\n\n\t\tstruct Stat\n\t\t{\n\t\t\tfloat m_time = 0.f;\n\t\t\tfloat m_maxTime = 0.f;\n\t\t\tfloat m_maxTimeAge = 0.f;\n\n\t\t\tfloat m_smoothTime = 0.f;\n\t\t\tfloat m_smoothTimeSum = 0.f;\n\t\t\tfloat m_smoothTimeCount = 0.f;\n\n\t\t\tStat() {}\n\t\t\tvoid push(float time)\n\t\t\t{\n\t\t\t\tm_time = time;\n\n\t\t\t\tif (m_time > m_maxTime)\n\t\t\t\t{\n\t\t\t\t\tm_maxTime = m_time;\n\t\t\t\t\tm_maxTimeAge = 0.f;\n\t\t\t\t}\n\n\t\t\t\tif (fabsf(m_time - m_maxTime) < 0.25f * m_maxTime)\n\t\t\t\t{\n\t\t\t\t\tm_smoothTimeSum += m_time;\n\t\t\t\t\tm_smoothTimeCount += 1.f;\n\t\t\t\t\tm_smoothTimeSum *= 0.98f;\n\t\t\t\t\tm_smoothTimeCount *= 0.98f;\n\t\t\t\t\tm_smoothTime = m_smoothTimeSum / m_smoothTimeCount;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfloat pull(float frameTime)\n\t\t\t{\n\t\t\t\tm_maxTimeAge += frameTime;\n\n\t\t\t\tif (m_maxTimeAge > 1.f)\n\t\t\t\t{\n\t\t\t\t\tm_maxTimeAge = 0.f;\n\t\t\t\t\tm_maxTime = m_time;\n\t\t\t\t\tm_smoothTimeSum = 0.f;\n\t\t\t\t\tm_smoothTimeCount = 0.f;\n\t\t\t\t}\n\t\t\t\treturn m_smoothTime;\n\t\t\t}\n\t\t};\n\n\t\tStat m_cpu;\n\t\tStat m_gpu;\n\n\t\tvoid push(float cpuTime, float gpuTime)\n\t\t{\n\t\t\tm_cpu.push(cpuTime);\n\t\t\tm_gpu.push(gpuTime);\n\t\t}\n\n\t\tvoid pull(float frameTime)\n\t\t{\n\t\t\tm_cpuTime = m_cpu.pull(frameTime);\n\t\t\tm_gpuTime = m_gpu.pull(frameTime);\n\t\t}\n\t};\n\n\tstruct HeapPropsReadback : public D3D12_HEAP_PROPERTIES\n\t{\n\t\tHeapPropsReadback()\n\t\t{\n\t\t\tType = D3D12_HEAP_TYPE_READBACK;\n\t\t\tCPUPageProperty = D3D12_CPU_PAGE_PROPERTY_UNKNOWN;\n\t\t\tMemoryPoolPreference = D3D12_MEMORY_POOL_UNKNOWN;\n\t\t\tCreationNodeMask = 0u;\n\t\t\tVisibleNodeMask = 0u;\n\t\t}\n\t};\n\tstruct ResourceDescBuffer : public D3D12_RESOURCE_DESC\n\t{\n\t\tResourceDescBuffer(UINT64 size)\n\t\t{\n\t\t\tDimension = D3D12_RESOURCE_DIMENSION_BUFFER;\n\t\t\tAlignment = 0u;\n\t\t\tWidth = size;\n\t\t\tHeight = 1u;\n\t\t\tDepthOrArraySize = 1u;\n\t\t\tMipLevels = 1;\n\t\t\tFormat = DXGI_FORMAT_UNKNOWN;\n\t\t\tSampleDesc.Count = 1u;\n\t\t\tSampleDesc.Quality = 0u;\n\t\t\tLayout = D3D12_TEXTURE_LAYOUT_ROW_MAJOR;\n\t\t\tFlags = D3D12_RESOURCE_FLAG_NONE;\n\t\t}\n\t};\n}\n\nstruct AppGraphProfilerD3D12\n{\n\tAppGraphCtxD3D12* m_context;\n\n\tint m_state = 0;\n\tbool m_enabled = false;\n\n\tTimerCPU m_frameTimer;\n\tfloat m_frameTime = 0.f;\n\n\tstatic const int m_timersCap = 64;\n\tTimer m_timers[m_timersCap];\n\tint m_timersSize = 0;\n\n\tTimerValue m_timerValues[m_timersCap];\n\tint m_timerValuesSize = 0;\n\n\tAppGraphProfilerD3D12(AppGraphCtx* context);\n\t~AppGraphProfilerD3D12();\n};\n\nAppGraphProfilerD3D12::AppGraphProfilerD3D12(AppGraphCtx* context) : m_context(cast_to_AppGraphCtxD3D12(context))\n{\n}\n\nAppGraphProfilerD3D12::~AppGraphProfilerD3D12()\n{\n}\n\nAppGraphProfilerD3D12* appGraphCreateProfilerD3D12(AppGraphCtx* ctx)\n{\n\treturn new AppGraphProfilerD3D12(ctx);\n}\n\nvoid appGraphReleaseProfiler(AppGraphProfilerD3D12* profiler)\n{\n\tdelete profiler;\n}\n\nvoid appGraphProfilerD3D12FrameBegin(AppGraphProfilerD3D12* p)\n{\n\tp->m_frameTime = (float)p->m_frameTimer.getDeltaTime();\n\n\tif (p->m_state == 0 && p->m_enabled)\n\t{\n\t\tp->m_timersSize = 0;\n\n\t\tp->m_state = 1;\n\t}\n}\n\nvoid appGraphProfilerD3D12FrameEnd(AppGraphProfilerD3D12* p)\n{\n\tif (p->m_state == 1)\n\t{\n\t\tp->m_state = 2;\n\t}\n}\n\nvoid appGraphProfilerD3D12Enable(AppGraphProfilerD3D12* p, bool enabled)\n{\n\tp->m_enabled = enabled;\n}\n\nvoid appGraphProfilerD3D12Begin(AppGraphProfilerD3D12* p, const char* label)\n{\n\tif (p->m_state == 1 && p->m_timersSize < p->m_timersCap)\n\t{\n\t\tauto& timer = p->m_timers[p->m_timersSize++];\n\t\ttimer.m_label = label;\n\t\ttimer.m_cpu.getDeltaTime();\n\n\t\tauto device = p->m_context->m_device;\n\n\t\tif (timer.m_gpu.m_queryHeap == nullptr)\n\t\t{\n\t\t\tD3D12_QUERY_HEAP_DESC queryDesc = {};\n\t\t\tqueryDesc.Type = D3D12_QUERY_HEAP_TYPE_TIMESTAMP;\n\t\t\tqueryDesc.Count = 2;\n\t\t\tqueryDesc.NodeMask = 0;\n\n\t\t\tdevice->CreateQueryHeap(&queryDesc, IID_PPV_ARGS(&timer.m_gpu.m_queryHeap));\n\n\t\t\tHeapPropsReadback readbackProps;\n\t\t\tResourceDescBuffer resDesc(2 * sizeof(UINT64));\n\t\t\tresDesc.Flags = D3D12_RESOURCE_FLAG_NONE;\n\n\t\t\tdevice->CreateCommittedResource(&readbackProps, D3D12_HEAP_FLAG_NONE,\n\t\t\t\t&resDesc, D3D12_RESOURCE_STATE_COPY_DEST,\n\t\t\t\tnullptr, IID_PPV_ARGS(&timer.m_gpu.m_queryReadback));\n\t\t}\n\n\t\tp->m_context->m_commandQueue->GetTimestampFrequency(&timer.m_gpu.m_queryFrequency);\n\n\t\tp->m_context->m_commandList->EndQuery(timer.m_gpu.m_queryHeap, D3D12_QUERY_TYPE_TIMESTAMP, 0);\n\t}\n}\n\nvoid appGraphProfilerD3D12End(AppGraphProfilerD3D12* p, const char* label)\n{\n\tif (p->m_state == 1)\n\t{\n\t\tTimer* timer = nullptr;\n\t\tfor (int i = 0; i < p->m_timersSize; i++)\n\t\t{\n\t\t\tif (strcmp(p->m_timers[i].m_label, label) == 0)\n\t\t\t{\n\t\t\t\ttimer = &p->m_timers[i];\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tif (timer)\n\t\t{\n\t\t\tp->m_context->m_commandList->EndQuery(timer->m_gpu.m_queryHeap, D3D12_QUERY_TYPE_TIMESTAMP, 1);\n\n\t\t\tp->m_context->m_commandList->ResolveQueryData(timer->m_gpu.m_queryHeap, D3D12_QUERY_TYPE_TIMESTAMP, 0, 2, timer->m_gpu.m_queryReadback, 0u);\n\n\t\t\ttimer->m_gpu.m_queryReadbackFenceVal = p->m_context->m_thisFrameFenceID;\n\n\t\t\ttimer->m_cpuTime = (float)timer->m_cpu.getDeltaTime();\n\t\t}\n\t}\n}\n\nbool appGraphProfilerD3D12Flush(AppGraphProfilerD3D12* p)\n{\n\tif (p->m_state == 2)\n\t{\n\t\tfor (int i = 0; i < p->m_timersSize; i++)\n\t\t{\n\t\t\tTimer& timer = p->m_timers[i];\n\n\t\t\tif (timer.m_gpu.m_queryReadbackFenceVal > p->m_context->m_lastFenceComplete)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tUINT64 tsBegin, tsEnd;\n\t\t\t{\n\t\t\t\tvoid* data;\n\t\t\t\t// Read range is nullptr, meaning full read access\n\t\t\t\tD3D12_RANGE readRange;\n\t\t\t\treadRange.Begin = 0u;\n\t\t\t\treadRange.End = 2 * sizeof(UINT64);\n\t\t\t\ttimer.m_gpu.m_queryReadback->Map(0u, &readRange, &data);\n\t\t\t\tif (data)\n\t\t\t\t{\n\t\t\t\t\tauto mapped = (UINT64*)data;\n\t\t\t\t\ttsBegin = mapped[0];\n\t\t\t\t\ttsEnd = mapped[1];\n\n\t\t\t\t\tD3D12_RANGE writeRange{};\n\t\t\t\t\ttimer.m_gpu.m_queryReadback->Unmap(0u, &writeRange);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\ttimer.m_gpuTime = float(tsEnd - tsBegin) / float(timer.m_gpu.m_queryFrequency);\n\n\t\t\t// update TimerValue\n\t\t\tint j = 0;\n\t\t\tfor (; j < p->m_timerValuesSize; j++)\n\t\t\t{\n\t\t\t\tTimerValue& value = p->m_timerValues[j];\n\t\t\t\tif (strcmp(value.m_label, timer.m_label) == 0)\n\t\t\t\t{\n\t\t\t\t\tvalue.push(timer.m_cpuTime, timer.m_gpuTime);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (j >= p->m_timerValuesSize && p->m_timerValuesSize < p->m_timersCap)\n\t\t\t{\n\t\t\t\tTimerValue& value = p->m_timerValues[p->m_timerValuesSize++];\n\t\t\t\tvalue.m_label = timer.m_label;\n\t\t\t\tvalue.push(timer.m_cpuTime, timer.m_gpuTime);\n\t\t\t}\n\t\t}\n\n\t\tp->m_state = 0;\n\t}\n\treturn false;\n}\n\nbool appGraphProfilerD3D12Get(AppGraphProfilerD3D12* p, const char** plabel, float* cpuTime, float* gpuTime, int index)\n{\n\tappGraphProfilerD3D12Flush(p);\n\t{\n\t\tif (index < p->m_timerValuesSize)\n\t\t{\n\t\t\tTimerValue& timer = p->m_timerValues[index];\n\n\t\t\ttimer.pull(p->m_frameTime);\n\n\t\t\tif (plabel) *plabel = timer.m_label;\n\t\t\tif (cpuTime) *cpuTime = timer.m_cpuTime;\n\t\t\tif (gpuTime) *gpuTime = timer.m_gpuTime;\n\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n}\n\nsize_t AppGraphCtxDedicatedVideoMemoryD3D12(AppGraphCtx* contextIn)\n{\n\tauto context = cast_to_AppGraphCtxD3D12(contextIn);\n\treturn context->m_dedicatedVideoMemory;\n}\n\nvoid AppGraphCtxBeginGpuWork(AppGraphCtxD3D12* context)\n{\n\tif (context->m_commandListOpenCount == 0)\n\t{\n\t\t// It's not open so open it\n\t\tID3D12GraphicsCommandList* commandList = context->m_commandList;\n\n\t\tcommandList->Reset(context->m_commandAllocators[context->m_frameIndex], nullptr);\n\t}\n\tcontext->m_commandListOpenCount++;\n}\n\nvoid AppGraphCtxEndGpuWork(AppGraphCtxD3D12* context)\n{\n\tassert(context->m_commandListOpenCount);\n\tID3D12GraphicsCommandList* commandList = context->m_commandList;\n\n\tNV_CORE_ASSERT_VOID_ON_FAIL(commandList->Close());\n\t{\n\t\t// Execute the command list.\n\t\tID3D12CommandList* commandLists[] = { commandList };\n\t\tcontext->m_commandQueue->ExecuteCommandLists(_countof(commandLists), commandLists);\n\t}\n\n\tAppGraphCtxWaitForGPU(context);\n\n\t// Dec the count. If >0 it needs to still be open\n\t--context->m_commandListOpenCount;\n\n\t// Reopen if needs to be open\n\tif (context->m_commandListOpenCount)\n\t{\n\t\t// Reopen\n\t\tcontext->m_commandList->Reset(context->m_commandAllocators[context->m_frameIndex], nullptr);\n\t}\n}\n\nvoid AppGraphCtxPrepareRenderTarget(AppGraphCtxD3D12* context)\n{\n\tD3D12_CPU_DESCRIPTOR_HANDLE rtvHandle = context->m_rtvHeap->GetCPUDescriptorHandleForHeapStart();\n\trtvHandle.ptr += context->m_renderTargetIndex * context->m_rtvDescriptorSize;\n\n\tD3D12_CPU_DESCRIPTOR_HANDLE dsvHandle = context->m_dsvHeap->GetCPUDescriptorHandleForHeapStart();\n\tcontext->m_commandList->OMSetRenderTargets(1, &rtvHandle, FALSE, &dsvHandle);\n\n\t// Set necessary state.\n\tcontext->m_commandList->RSSetViewports(1, &context->m_viewport);\n\tcontext->m_commandList->RSSetScissorRects(1, &context->m_scissorRect);\n}\n\nvoid AppGraphCtxWaitForGPU(AppGraphCtxD3D12* context)\n{\n\tcontext->m_frameID++;\n\tcontext->m_fenceValues[context->m_frameIndex] = context->m_frameID;\n\n\tcontext->m_commandQueue->Signal(context->m_fence, context->m_frameID);\n\n\tfor (int frameIndex = 0; frameIndex < context->m_frameCount; frameIndex++)\n\t{\n\t\tUINT64 fenceCompleted = context->m_fence->GetCompletedValue();\n\t\tif (fenceCompleted < context->m_fenceValues[frameIndex])\n\t\t{\n\t\t\tcontext->m_fence->SetEventOnCompletion(context->m_fenceValues[frameIndex], context->m_fenceEvent);\n\t\t\tWaitForSingleObjectEx(context->m_fenceEvent, INFINITE, FALSE);\n\t\t}\n\t}\n}"
  },
  {
    "path": "demo/d3d12/appD3D12Ctx.h",
    "content": "/*\n * Copyright (c) 2014-2017, NVIDIA CORPORATION.  All rights reserved.\n *\n * NVIDIA CORPORATION and its licensors retain all intellectual property\n * and proprietary rights in and to this software, related documentation\n * and any modifications thereto.  Any use, reproduction, disclosure or\n * distribution of this software and related documentation without an express\n * license agreement from NVIDIA CORPORATION is strictly prohibited.\n */\n\n#ifndef APP_D3D12_CTX_H\n#define APP_D3D12_CTX_H\n\n#include \"../d3d/appGraphCtx.h\"\n#include \"NvCoDx12Resource.h\"\n#include \"NvCoDx12Handle.h\"\n\nstruct IDXGISwapChain3;\n\nstruct AppGraphProfilerD3D12;\n\nstruct AppDescriptorReserveHandleD3D12\n{\n\tID3D12DescriptorHeap* heap;\n\tUINT descriptorSize;\n\tD3D12_CPU_DESCRIPTOR_HANDLE cpuHandle;\n\tD3D12_GPU_DESCRIPTOR_HANDLE gpuHandle;\n};\n\nstruct AppDynamicDescriptorHeapD3D12\n{\n\tID3D12Device* m_device = nullptr;\n\tID3D12DescriptorHeap* m_heap = nullptr;\n\tUINT m_descriptorSize = 0u;\n\tUINT m_startSlot = 0u;\n\tUINT m_heapSize = 0u;\n\n\tvoid init(ID3D12Device* device, D3D12_DESCRIPTOR_HEAP_TYPE heapType, UINT minHeapSize);\n\tvoid release();\n\tAppDescriptorReserveHandleD3D12 reserveDescriptors(UINT numDescriptors, UINT64 lastFenceCompleted, UINT64 nextFenceValue);\n\n\tAppDynamicDescriptorHeapD3D12() {}\n\t~AppDynamicDescriptorHeapD3D12() { release(); }\n};\n\nstruct AppGraphCtxD3D12\n{\n\tHWND                    m_hWnd = nullptr;\n\n\tint m_winW = 0;\n\tint m_winH = 0;\n\tbool m_fullscreen = false;\n\tbool m_valid = false;\n\n\tsize_t m_dedicatedVideoMemory = 0u;\n\n\t// D3D12 non-replicated objects\n\tD3D12_VIEWPORT          m_viewport = {};\n\tD3D12_RECT              m_scissorRect = {};\n\tID3D12Device*           m_device = nullptr;\n\tID3D12CommandQueue*     m_commandQueue = nullptr;\n\n\t// D3D12 render target pipeline\n\tstatic const UINT       m_renderTargetCount = 6u;\n\tUINT                    m_renderTargetIndex = 0u;\n\tUINT64                  m_renderTargetID = 0u;\n\tIDXGISwapChain3*        m_swapChain = nullptr;\n\tHANDLE                  m_swapChainWaitableObject = nullptr;\n\tID3D12DescriptorHeap*   m_rtvHeap = nullptr;\n\tUINT                    m_rtvDescriptorSize = 0u;\n\tnvidia::Common::Dx12Resource   m_backBuffers[m_renderTargetCount];\n\tnvidia::Common::Dx12Resource   m_renderTargetResources[m_renderTargetCount];\n\tnvidia::Common::Dx12Resource*  m_renderTargets[m_renderTargetCount];\n\n\tID3D12Resource*\t\t\tm_depthStencil = nullptr;\n\tID3D12DescriptorHeap*\tm_dsvHeap = nullptr;\n\tID3D12DescriptorHeap*\tm_depthSrvHeap = nullptr;\n\n\t// D3D12 frame pipeline objects\n\tstatic const UINT       m_frameCount = 8u;\n\tUINT                    m_frameIndex = 0u;\n\tUINT64                  m_frameID = 0u;\n\tID3D12CommandAllocator* m_commandAllocators[m_frameCount];\n\n\t// D3D12 synchronization objects\n\tID3D12Fence*            m_fence = nullptr;\n\tHANDLE                  m_fenceEvent = 0u;\n\tUINT64\t\t\t\t\tm_fenceValues[m_frameCount];\n\n\t// fence values for library synchronization\n\tUINT64\t\t\t\t\tm_lastFenceComplete = 1u;\n\tUINT64\t\t\t\t\tm_thisFrameFenceID = 2u;\n\n\t// D3D12 per asset objects\n\tID3D12GraphicsCommandList*\tm_commandList = nullptr;\n\tUINT\t\t\t\t\t\tm_commandListOpenCount = 0;\n\tID3D12Resource*\t\t\t\tm_current_renderTarget = nullptr;\n\tD3D12_CPU_DESCRIPTOR_HANDLE m_current_rtvHandle;\n\tD3D12_RENDER_TARGET_VIEW_DESC m_current_rtvDesc;\n\tD3D12_CPU_DESCRIPTOR_HANDLE m_current_dsvHandle;\n\tD3D12_DEPTH_STENCIL_VIEW_DESC m_current_dsvDesc;\n\tD3D12_CPU_DESCRIPTOR_HANDLE m_current_depth_srvHandle;\n\tD3D12_SHADER_RESOURCE_VIEW_DESC m_current_depth_srvDesc;\n\n\tDXGI_FORMAT m_rtv_format = DXGI_FORMAT_R8G8B8A8_UNORM;\n\tDXGI_FORMAT m_dsv_format = DXGI_FORMAT_D32_FLOAT;\n\tDXGI_FORMAT m_depth_srv_format = DXGI_FORMAT_R32_FLOAT;\n\tDXGI_FORMAT m_depth_format = DXGI_FORMAT_R32_TYPELESS;\n\n\tUINT m_numMsaaSamples = 1;\n\n\tnvidia::Common::Dx12TargetInfo m_targetInfo;\n\n\tAppDynamicDescriptorHeapD3D12 m_dynamicHeapCbvSrvUav;\n\n\tAppGraphProfilerD3D12* m_profiler = nullptr;\n\n\tAppGraphCtxD3D12();\n\t~AppGraphCtxD3D12();\n};\n\ninline AppGraphCtxD3D12* cast_to_AppGraphCtxD3D12(AppGraphCtx* appctx)\n{\n\treturn (AppGraphCtxD3D12*)(appctx);\n}\n\ninline AppGraphCtx* cast_from_AppGraphCtxD3D12(AppGraphCtxD3D12* appctx)\n{\n\treturn (AppGraphCtx*)(appctx);\n}\n\nAPP_GRAPH_CTX_API AppGraphCtx* AppGraphCtxCreateD3D12(int deviceID);\n\nAPP_GRAPH_CTX_API bool AppGraphCtxUpdateSizeD3D12(AppGraphCtx* context, SDL_Window* window, bool fullscreen, int numMSAASamples);\n\nAPP_GRAPH_CTX_API void AppGraphCtxReleaseRenderTargetD3D12(AppGraphCtx* context);\n\nAPP_GRAPH_CTX_API void AppGraphCtxReleaseD3D12(AppGraphCtx* context);\n\nAPP_GRAPH_CTX_API void AppGraphCtxFrameStartD3D12(AppGraphCtx* context, AppGraphColor clearColor);\n\nAPP_GRAPH_CTX_API void AppGraphCtxFramePresentD3D12(AppGraphCtx* context, bool fullsync);\n\nAPP_GRAPH_CTX_API void AppGraphCtxWaitForFramesD3D12(AppGraphCtx* context, unsigned int maxFramesInFlight);\n\nAPP_GRAPH_CTX_API void AppGraphCtxProfileEnableD3D12(AppGraphCtx* context, bool enabled);\n\nAPP_GRAPH_CTX_API void AppGraphCtxProfileBeginD3D12(AppGraphCtx* context, const char* label);\n\nAPP_GRAPH_CTX_API void AppGraphCtxProfileEndD3D12(AppGraphCtx* context, const char* label);\n\nAPP_GRAPH_CTX_API bool AppGraphCtxProfileGetD3D12(AppGraphCtx* context, const char** plabel, float* cpuTime, float* gpuTime, int index);\n\nAPP_GRAPH_CTX_API size_t AppGraphCtxDedicatedVideoMemoryD3D12(AppGraphCtx* context);\n\nAPP_GRAPH_CTX_API void AppGraphCtxBeginGpuWork(AppGraphCtxD3D12* context);\n\nAPP_GRAPH_CTX_API void AppGraphCtxEndGpuWork(AppGraphCtxD3D12* context);\n\nAPP_GRAPH_CTX_API void AppGraphCtxPrepareRenderTarget(AppGraphCtxD3D12* context);\n\nAPP_GRAPH_CTX_API void AppGraphCtxWaitForGPU(AppGraphCtxD3D12* context);\n\n/// ScopeGpuWork is used to handle gpu work that must be synchronized with the CPU.\n/// It is guaranteed when scope is released the CPU and GPU will sync. NOTE! This means \n/// you don't want to do this as part of render/update unless you have to because it will be slow.\nstruct ScopeGpuWork\n{\n\tinline ScopeGpuWork(AppGraphCtxD3D12* context) :\n\t\tm_context(context)\n\t{\n\t\tAppGraphCtxBeginGpuWork(context);\n\t}\n\tinline ~ScopeGpuWork()\n\t{\n\t\tAppGraphCtxEndGpuWork(m_context);\n\t}\nprivate:\n\tAppGraphCtxD3D12* m_context;\n};\n#endif"
  },
  {
    "path": "demo/d3d12/bufferD3D12.cpp",
    "content": "/* Copyright (c) 2016, NVIDIA CORPORATION.  All rights reserved.\n* NVIDIA CORPORATION and its licensors retain all intellectual property\n* and proprietary rights in and to this software, related documentation\n* and any modifications thereto.  Any use, reproduction, disclosure or\n* distribution of this software and related documentation without an express\n* license agreement from NVIDIA CORPORATION is strictly prohibited. */\n\n\n#include <NvCoDx12HelperUtil.h>\n#include <external/D3D12/include/d3dx12.h>\n\n#include \"bufferD3D12.h\"\n\n#include <vector>\n\nnamespace FlexSample {\n\nint IndexBufferD3D12::init(const RenderStateD3D12& state, int stride, ptrdiff_t numIndices, const void* sysMem)\n{\n\tassert(sysMem);\n\tassert(stride == 4);\n\tconst size_t bufferSize = stride * numIndices;\n\n\t{\n\t\tComPtr<ID3D12Resource> resource;\n\t\tCD3DX12_HEAP_PROPERTIES defaultHeapProps(D3D12_HEAP_TYPE_DEFAULT);\n\t\tD3D12_RESOURCE_DESC resourceDesc(CD3DX12_RESOURCE_DESC::Buffer(bufferSize));\n\t\tif (sysMem)\n\t\t{\n\t\t\tNV_RETURN_ON_FAIL(state.m_device->CreateCommittedResource(&defaultHeapProps, D3D12_HEAP_FLAG_NONE, &resourceDesc, D3D12_RESOURCE_STATE_COPY_DEST, nullptr, \n\t\t\t\tIID_PPV_ARGS(&resource)));\n\t\t\tNV_RETURN_ON_FAIL(state.m_scopeManager->upload(state.m_commandList, sysMem, resource.Get(), D3D12_RESOURCE_STATE_COMMON));\n\t\t}\n\t\telse\n\t\t{\n\t\t\tNV_RETURN_ON_FAIL(state.m_device->CreateCommittedResource(&defaultHeapProps, D3D12_HEAP_FLAG_NONE, &resourceDesc, D3D12_RESOURCE_STATE_COMMON, nullptr,\n\t\t\t\tIID_PPV_ARGS(&resource)));\n\t\t}\n\t\tsetResource(resource.Get(), D3D12_RESOURCE_STATE_COMMON);\n\t}\n\t\t\n\tmemset(&m_indexBufferView, 0, sizeof(m_indexBufferView));\n\tm_indexBufferView.BufferLocation = m_resource->GetGPUVirtualAddress();\n\tm_indexBufferView.SizeInBytes = UINT(bufferSize);\n\tm_indexBufferView.Format = DXGI_FORMAT_R32_UINT;\n\treturn NV_OK;\n}\n\nint VertexBufferD3D12::init(const RenderStateD3D12& state, int stride, ptrdiff_t numElements, const void* sysMem, D3D12_RESOURCE_FLAGS resourceFlags)\n{\n\tif (!sysMem)\n\t{\n\t\tmemset(&m_vertexBufferView, 0, sizeof(m_vertexBufferView));\n\t\treturn NV_OK;\n\t}\n\n\tsize_t bufferSize = size_t(numElements * stride);\n\n\t{\n\t\tCD3DX12_HEAP_PROPERTIES defaultHeapProps(D3D12_HEAP_TYPE_DEFAULT);\n\t\tD3D12_RESOURCE_DESC resourceDesc(CD3DX12_RESOURCE_DESC::Buffer(bufferSize, resourceFlags));\n\t\tComPtr<ID3D12Resource> resource;\n\n\t\tif (sysMem)\n\t\t{\n\t\t\tNV_RETURN_ON_FAIL(state.m_device->CreateCommittedResource(&defaultHeapProps, D3D12_HEAP_FLAG_NONE, &resourceDesc, D3D12_RESOURCE_STATE_COPY_DEST, nullptr, \n\t\t\t\tIID_PPV_ARGS(&resource)));\n\t\t\tNV_RETURN_ON_FAIL(state.m_scopeManager->upload(state.m_commandList, sysMem, resource.Get(), D3D12_RESOURCE_STATE_COMMON));\n\t\t}\n\t\telse\n\t\t{\n\t\t\tNV_RETURN_ON_FAIL(state.m_device->CreateCommittedResource(&defaultHeapProps, D3D12_HEAP_FLAG_NONE, &resourceDesc, D3D12_RESOURCE_STATE_COMMON, nullptr,\n\t\t\t\tIID_PPV_ARGS(&resource)));\n\t\t}\n\t\tsetResource(resource.Get(), D3D12_RESOURCE_STATE_COMMON);\n\t}\n\n\t{\n\t\tmemset(&m_vertexBufferView, 0, sizeof(m_vertexBufferView));\n\t\tm_vertexBufferView.BufferLocation = m_resource->GetGPUVirtualAddress();\n\t\tm_vertexBufferView.SizeInBytes = UINT(bufferSize);\n\t\tm_vertexBufferView.StrideInBytes = stride;\n\t}\n\t\n\treturn NV_OK;\n}\n\nint VertexBufferD3D12::init(const RenderStateD3D12& state, int srcStride, int dstStride, ptrdiff_t numElements, const void* sysMem, D3D12_RESOURCE_FLAGS resourceFlags)\n{\n\tif (srcStride == dstStride || sysMem == nullptr)\n\t{\n\t\treturn init(state, dstStride, numElements, sysMem, resourceFlags);\n\t}\n\telse\n\t{\n\t\tif (srcStride == 4 * 4 && dstStride == 4 * 3)\n\t\t{\n\t\t\tstd::vector<uint32_t> buf(numElements * 3);\n\t\t\tuint32_t* dst = &buf.front();\n\t\t\tconst uint32_t* src = (const uint32_t*)sysMem;\n\n\t\t\tfor (ptrdiff_t i = 0; i < numElements; i++, dst += 3, src += 4)\n\t\t\t{\n\t\t\t\tdst[0] = src[0];\n\t\t\t\tdst[1] = src[1];\n\t\t\t\tdst[2] = src[2];\n\t\t\t}\n\n\t\t\treturn init(state, dstStride, numElements, &buf.front(), resourceFlags);\n\t\t}\n\t}\n\n\tassert(!\"Unhandled conversion\");\n\treturn NV_FAIL;\n}\n\n\n} // namespace FlexSample\n"
  },
  {
    "path": "demo/d3d12/bufferD3D12.h",
    "content": "#ifndef BUFFER_D3D12_H\n#define BUFFER_D3D12_H\n\n#include <NvCoDx12Resource.h>\n\n#include \"renderStateD3D12.h\"\n\n#define NOMINMAX\n#include <dxgi.h>\n#include <d3d12.h>\n\nnamespace FlexSample { \nusing namespace nvidia;\n\nstruct IndexBufferD3D12: public NvCo::Dx12Resource\n{\n\tint init(const RenderStateD3D12& state, int stride, ptrdiff_t numIndices, const void* sysMem);\n\t\t/// Reset\n\tvoid reset() { setResourceNull(); }\n\n\tD3D12_INDEX_BUFFER_VIEW m_indexBufferView;\n};\n\nstruct VertexBufferD3D12: public NvCo::Dx12Resource\n{\n\t\t/// \n\tint init(const RenderStateD3D12& state, int stride, ptrdiff_t numElements, const void* sysMem, D3D12_RESOURCE_FLAGS resourceFlags = D3D12_RESOURCE_FLAG_NONE);\n\tint init(const RenderStateD3D12& state, int srcStride, int stride, ptrdiff_t numElements, const void* sysMem, D3D12_RESOURCE_FLAGS resourceFlags = D3D12_RESOURCE_FLAG_NONE);\n\n\t\t/// Ctor\n\tVertexBufferD3D12() {}\n\n\tD3D12_VERTEX_BUFFER_VIEW m_vertexBufferView;\n};\n\n} // namespace FlexSample\n\n#endif // BUFFER_D3D12_H\n"
  },
  {
    "path": "demo/d3d12/demoContextD3D12.cpp",
    "content": "// to fix min max windows macros\n#define NOMINMAX\n\n#include \"meshRendererD3D12.h\"\n\n// Pipelines\n\n#include \"meshRenderPipelineD3D12.h\"\n#include \"pointRenderPipelineD3D12.h\"\n#include \"fluidThicknessRenderPipelineD3D12.h\"\n#include \"fluidEllipsoidRenderPipelineD3D12.h\"\n#include \"fluidSmoothRenderPipelineD3D12.h\"\n#include \"fluidCompositeRenderPipelineD3D12.h\"\n#include \"diffusePointRenderPipelineD3D12.h\"\n#include \"lineRenderPipelineD3D12.h\"\n\n#include \"meshUtil.h\"\n\n#include <NvCoDx12RenderTarget.h>\n\n// SDL\n#include <SDL_syswm.h>\n\n#include \"shadersDemoContext.h\"\n\n// Flex\n#include \"core/maths.h\"\n#include \"core/extrude.h\"\n\n#define NOMINMAX\n#include <d3d12.h>\n#include <d3dcompiler.h>\n\n#include \"imguiGraphD3D12.h\"\n\n#include \"../d3d/loader.h\"\n\n#include \"demoContextD3D12.h\"\n\n// include the Direct3D Library file\n#pragma comment (lib, \"d3d12.lib\")\n#pragma comment (lib, \"DXGI.lib\")\n\nusing namespace DirectX;\n\nstatic float gSpotMin = 0.5f;\nstatic float gSpotMax = 1.0f;\nstatic float gShadowBias = 0.075f;\nstatic const int kShadowResolution = 2048;\n\n// Global externally\nextern Colour g_colors[];\n\n#define NV_PRINT_F_U64 \"%I64u\"\n\nDemoContext* CreateDemoContextD3D12()\n{\n\treturn new FlexSample::DemoContextD3D12;\n}\n\nnamespace FlexSample {  \n\nDemoContextD3D12::DemoContextD3D12()\n{\n\tm_shadowMapLinearSamplerIndex = -1;\n\tm_fluidPointDepthSrvIndex = -1;\n\tm_currentShadowMap = nullptr;\n\tm_targetShadowMap = nullptr;\n\t\n\tm_inLineDraw = false;\n\tmemset(&m_meshDrawParams, 0, sizeof(m_meshDrawParams));\n\n\tm_hwnd = nullptr;\n\tm_window = nullptr;\n\n\t// Allocate space for all debug vertices\n\tm_debugLineVertices.resize(MAX_DEBUG_LINE_SIZE);\n\n\tm_renderStateManager = new RenderStateManagerD3D12;\n}\n\ntemplate <class T>\nvoid inline COMRelease(T& t)\n{\n\tif (t) t->Release();\n\tt = nullptr;\n}\n\nDemoContextD3D12::~DemoContextD3D12()\n{\n\timguiGraphDestroy();\n\n\tAppGraphCtxRelease(m_appGraphCtx);\n\n\tdelete m_renderStateManager;\n\n\tCOMRelease(m_graphicsCompleteFence);\n\tCOMRelease(m_queryHeap);\n\tCOMRelease(m_queryResults);\n\n\tCOMRelease(m_bufferStage);\n\n\t// Explicitly delete these, so we can call D3D memory leak checker at bottom of this destructor\n\tm_meshPipeline.reset();\n\tm_pointPipeline.reset();\n\tm_fluidPointPipeline.reset();\n\tm_fluidSmoothPipeline.reset();\n\tm_fluidCompositePipeline.reset();\n\tm_diffusePointPipeline.reset();\n\tm_linePipeline.reset();\n\tm_fluidThicknessRenderTarget.reset();\n\tm_fluidPointRenderTarget.reset();\n\tm_fluidSmoothRenderTarget.reset();\n\tm_fluidResolvedTarget.reset();\t\t\t\t\t\n\tm_screenQuadMesh.reset();\n\tm_shadowMap.reset();\n}\n\nbool DemoContextD3D12::initialize(const RenderInitOptions& options)\n{\n\t// must always have at least one sample\n\tm_msaaSamples = Max(1, options.numMsaaSamples);\n\n\t{\n\t\t// Load external modules\n\t\tloadModules(APP_CONTEXT_D3D12);\n\t}\n\n\tm_appGraphCtx = AppGraphCtxCreate(0);\n\tm_renderContext = cast_to_AppGraphCtxD3D12(m_appGraphCtx);\n\n\tAppGraphCtxUpdateSize(m_appGraphCtx, options.window, options.fullscreen, m_msaaSamples);\n\n\tusing namespace NvCo;\n\t// Get the hwnd\n\tm_hwnd = nullptr;\n\tm_window = options.window;\n\t{\n\t\t// get Windows handle to this SDL window\n\t\tSDL_SysWMinfo winInfo;\n\t\tSDL_VERSION(&winInfo.version);\n\t\tif (SDL_GetWindowWMInfo(options.window, &winInfo))\n\t\t{\n\t\t\tif (winInfo.subsystem == SDL_SYSWM_WINDOWS)\n\t\t\t{\n\t\t\t\tm_hwnd = winInfo.info.win.window;\n\t\t\t}\n\t\t}\n\t}\n\n\t{\n\t\tWCHAR buffer[_MAX_PATH];\n\t\tDWORD size = GetModuleFileNameW(nullptr, buffer, _MAX_PATH);\n\t\tif (size == 0 || size == _MAX_PATH)\n\t\t{\n\t\t\t// Method failed or path was truncated.\n\t\t\treturn false;\n\t\t}\n\t\tstd::wstring path;\n\t\tpath += buffer;\n\t\tconst size_t lastSlash = path.find_last_of(L\"\\\\\");\n\t\tif (lastSlash >= 0)\n\t\t{\n\t\t\tpath.resize(lastSlash + 1);\n\t\t}\n\n\t\tm_executablePath.swap(path);\n\t}\n\n\t{\n\t\tm_shadersPath = m_executablePath;\n\t\tm_shadersPath += L\"../../demo/d3d/shaders/\";\n\t}\n\t\n\tint width, height;\n\tSDL_GetWindowSize(m_window, &width, &height);\n\n\t{\n\t\tScopeGpuWork scope(getRenderContext());\n\t\tNV_RETURN_FALSE_ON_FAIL(_initRenderResources(options));\n\n\t\t{\n\t\t\t// create imgui, connect to app graph context\n\t\t\tImguiGraphDescD3D12 desc;\n\t\t\tdesc.device = m_renderContext->m_device;\n\t\t\tdesc.commandList = m_renderContext->m_commandList;\n\t\t\tdesc.lastFenceCompleted = 0;\n\t\t\tdesc.nextFenceValue = 1;\n\t\t\tdesc.winW = m_renderContext->m_winW;\n\t\t\tdesc.winW = m_renderContext->m_winH;\n\t\t\tdesc.numMSAASamples = options.numMsaaSamples;\n\t\t\tdesc.dynamicHeapCbvSrvUav.userdata = this;\n\t\t\tdesc.dynamicHeapCbvSrvUav.reserveDescriptors = NULL;\n\n\t\t\tint defaultFontHeight = (options.defaultFontHeight <= 0) ? 15 : options.defaultFontHeight;\n\t\t\t\n\t\t\tif (!imguiGraphInit(\"../../data/DroidSans.ttf\", float(defaultFontHeight), (ImguiGraphDesc*)&desc))\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn true;\n}\n\nint DemoContextD3D12::_initRenderResources(const RenderInitOptions& options)\n{\n\tAppGraphCtxD3D12* renderContext = getRenderContext();\n\tID3D12Device* device = renderContext->m_device;\n\n\t{\n\t\t// https://msdn.microsoft.com/en-us/library/windows/desktop/dn859253(v=vs.85).aspx\n\t\t// https://msdn.microsoft.com/en-us/library/windows/desktop/ff476876(v=vs.85).aspx#Overview\n\t\tD3D12_FEATURE_DATA_D3D12_OPTIONS options;\n\t\tdevice->CheckFeatureSupport(D3D12_FEATURE_D3D12_OPTIONS, &options, sizeof(options));\n\t}\n\n\t{\n\t\t// Make enough space for largest _single_ dynamic buffer allocation\n\t\tNV_RETURN_ON_FAIL(m_renderStateManager->initialize(renderContext, 16 * 1024 * 1024));\n\t\tm_renderState = m_renderStateManager->getState();\n\t}\n\n\t// Create the renderer\n\t{\n\t\tstd::unique_ptr<MeshRendererD3D12> renderer(new MeshRendererD3D12);\n\t\tNV_RETURN_ON_FAIL(renderer->initialize(m_renderState));\n\t\tm_meshRenderer = std::move(renderer);\n\t}\n\n\t{\n\t\t// NOTE! Must be in this order, as compositePS expects s0, s1 = linear, shadow samplers, in that order\n\t\tm_linearSamplerIndex = m_renderState.m_samplerDescriptorHeap->allocate();\n\t\tm_shadowMapLinearSamplerIndex = m_renderState.m_samplerDescriptorHeap->allocate();\n\n\t\t{\n\t\t\t// linear sampler with comparator - used for shadow map sampling\n\t\t\tD3D12_SAMPLER_DESC desc =\n\t\t\t{\n\t\t\t\tD3D12_FILTER_COMPARISON_MIN_MAG_MIP_POINT,\n\t\t\t\tD3D12_TEXTURE_ADDRESS_MODE_CLAMP,\n\t\t\t\tD3D12_TEXTURE_ADDRESS_MODE_CLAMP,\n\t\t\t\tD3D12_TEXTURE_ADDRESS_MODE_CLAMP,\n\t\t\t\t0.0f, 0, D3D12_COMPARISON_FUNC_LESS_EQUAL,\n\t\t\t\t0.0f, 0.0f, 0.0f, 0.0f,\n\t\t\t\t0.0f, 0.0f,\n\t\t\t};\n\t\t\tdevice->CreateSampler(&desc, m_renderState.m_samplerDescriptorHeap->getCpuHandle(m_shadowMapLinearSamplerIndex));\n\t\t}\n\t\t{\n\t\t\t// A regular linear sampler\n\t\t\tD3D12_SAMPLER_DESC desc =\n\t\t\t{\n\t\t\t\tD3D12_FILTER_MIN_MAG_LINEAR_MIP_POINT,\n\t\t\t\tD3D12_TEXTURE_ADDRESS_MODE_CLAMP,\n\t\t\t\tD3D12_TEXTURE_ADDRESS_MODE_CLAMP,\n\t\t\t\tD3D12_TEXTURE_ADDRESS_MODE_CLAMP,\n\t\t\t\t0.0, 0, D3D12_COMPARISON_FUNC_NEVER,\n\t\t\t\t0.0f, 0.0f, 0.0f, 0.0f,\n\t\t\t\t0.0f, 0.0f,\n\t\t\t};\n\t\t\tdevice->CreateSampler(&desc, m_renderState.m_samplerDescriptorHeap->getCpuHandle(m_linearSamplerIndex));\n\t\t}\n\t}\n\n\t// Allocate the srvs used for fluid render targets\n\t{\n\t\tm_fluidPointDepthSrvIndex = m_renderState.m_srvCbvUavDescriptorHeap->allocate();\n\t\tm_fluidCompositeSrvBaseIndex = m_renderState.m_srvCbvUavDescriptorHeap->allocate(NUM_COMPOSITE_SRVS);\n\t}\n\n\t// Create the shadow map\n\t{\n\t\tm_shadowMap = std::unique_ptr<NvCo::Dx12RenderTarget>(new NvCo::Dx12RenderTarget);\n\n\t\tNvCo::Dx12RenderTarget::Desc desc;\n\t\tdesc.init(kShadowResolution, kShadowResolution);\n\t\tdesc.m_targetFormat = DXGI_FORMAT_UNKNOWN;\n\t\tdesc.m_depthStencilFormat = DXGI_FORMAT_R32_TYPELESS;\n\n\t\t// Make a small shadow map so we can configure pipeline correctly\n\t\tNV_RETURN_ON_FAIL(m_shadowMap->init(renderContext, desc));\n\n\t\tm_shadowMap->setDebugName(L\"ShadowMap\");\n\n\t\tif (m_shadowMap->allocateSrvView(NvCo::Dx12RenderTarget::BUFFER_DEPTH_STENCIL, device, *m_renderState.m_srvCbvUavDescriptorHeap) < 0)\n\t\t{\n\t\t\tprintf(\"Unable to allocate shadow buffer srv index\");\n\n\t\t\treturn NV_FAIL;\n\t\t}\n\t}\n\n\t// Init fluid resources\n\tNV_RETURN_ON_FAIL(_initFluidRenderTargets());\n\n\t// Create pipelines\n\t{\n\n\t\t// Mesh\n\t\t{\n\t\t\tstd::unique_ptr<MeshRenderPipelineD3D12> pipeline(new MeshRenderPipelineD3D12);\n\t\t\tNV_RETURN_ON_FAIL(pipeline->initialize(m_renderState, m_shadersPath, FRONT_WINDING_COUNTER_CLOCKWISE, m_shadowMapLinearSamplerIndex, m_shadowMap.get(), options.asyncComputeBenchmark));\n\t\t\tm_meshPipeline = std::move(pipeline);\n\t\t}\n\t\t// Point\n\t\t{\n\t\t\tstd::unique_ptr<PointRenderPipelineD3D12> pipeline(new PointRenderPipelineD3D12);\n\t\t\tNV_RETURN_ON_FAIL(pipeline->initialize(m_renderState, m_shadersPath, m_shadowMapLinearSamplerIndex, m_shadowMap.get()));\n\t\t\tm_pointPipeline = std::move(pipeline);\n\t\t}\n\t\t// FluidThickness\n\t\t{\n\t\t\tstd::unique_ptr<FluidThicknessRenderPipelineD3D12> pipeline(new FluidThicknessRenderPipelineD3D12);\n\t\t\tNV_RETURN_ON_FAIL(pipeline->initialize(m_renderState, m_shadersPath, m_fluidThicknessRenderTarget.get()));\n\t\t\tm_fluidThicknessPipeline = std::move(pipeline);\n\t\t}\n\t\t// FluidPoint\n\t\t{\n\t\t\tstd::unique_ptr<FluidEllipsoidRenderPipelineD3D12> pipeline(new FluidEllipsoidRenderPipelineD3D12);\n\t\t\tNV_RETURN_ON_FAIL(pipeline->initialize(m_renderState, m_shadersPath, m_fluidPointRenderTarget.get()));\n\t\t\tm_fluidPointPipeline = std::move(pipeline);\n\t\t}\n\t\t// FluidSmooth\n\t\t{\n\t\t\tstd::unique_ptr<FluidSmoothRenderPipelineD3D12> pipeline(new FluidSmoothRenderPipelineD3D12(m_fluidPointDepthSrvIndex));\n\t\t\tNV_RETURN_ON_FAIL(pipeline->initialize(m_renderState, m_shadersPath, m_fluidSmoothRenderTarget.get()));\n\t\t\tm_fluidSmoothPipeline = std::move(pipeline);\n\t\t}\n\t\t// FluidComposite\n\t\t{\n\t\t\tstd::unique_ptr<FluidCompositeRenderPipelineD3D12> pipeline(new FluidCompositeRenderPipelineD3D12);\n\t\t\tNV_RETURN_ON_FAIL(pipeline->initialize(m_renderState, m_shadersPath));\n\t\t\tm_fluidCompositePipeline = std::move(pipeline);\n\t\t}\n\t\t// DiffusePoint\n\t\t{\n\t\t\tstd::unique_ptr<DiffusePointRenderPipelineD3D12> pipeline(new DiffusePointRenderPipelineD3D12);\n\t\t\tNV_RETURN_ON_FAIL(pipeline->initialize(m_renderState, m_shadersPath, m_linearSamplerIndex, m_shadowMap.get()));\n\t\t\tm_diffusePointPipeline = std::move(pipeline);\n\t\t}\n\t\t// Line\n\t\t{\n\t\t\tstd::unique_ptr<LineRenderPipelineD3D12> pipeline(new LineRenderPipelineD3D12);\n\t\t\tNV_RETURN_ON_FAIL(pipeline->initialize(m_renderState, m_shadersPath, m_shadowMap.get()));\n\t\t\tm_linePipeline = std::move(pipeline);\n\t\t}\n\t}\n\n\t{\n\t\t// Create a passthru screen quad\n\t\tuint32_t indices[] = { 0, 1, 2, 0, 2, 3 };\n\t\tVec3 pos[] = { { -1, -1, 0} , {1, -1, 0}, {1, 1, 0}, {-1, 1, 0} };\n\t\tVec2 uvs[] = { { 0, 0}, {1, 0}, {1, 1}, {0, 1} };\n\n\t\tMeshData mesh;\n\t\tmesh.init();\n\n\t\tmesh.indices = indices;\n\t\tmesh.positions = pos;\n\t\tmesh.texcoords = uvs;\n\t\tmesh.numFaces = _countof(indices) / 3;\n\t\tmesh.numVertices = _countof(pos);\n\n\t\tm_screenQuadMesh = std::unique_ptr<FlexSample::RenderMesh>(m_meshRenderer->createMesh(mesh));\n\t}\n\n\t// create synchronization objects\n\t{\n\t\tm_graphicsCompleteEvent = CreateEvent(nullptr, FALSE, FALSE, nullptr);\n\t\tif (!m_graphicsCompleteEvent)\n\t\t{\n\t\t\treturn E_FAIL;\n\t\t}\n\t\tNV_RETURN_ON_FAIL(device->CreateFence(0, D3D12_FENCE_FLAG_NONE, IID_PPV_ARGS(&m_graphicsCompleteFence)));\n\t\tm_graphicsCompleteFenceValue = 1;\n\t}\n\n\t{\n\t\t// Query heap and results buffer\n\n\t\t// Create timestamp query heap and results buffer\n\t\tconst int queryCount = 2;\n\t\tD3D12_QUERY_HEAP_DESC queryHeapDesc = { D3D12_QUERY_HEAP_TYPE_TIMESTAMP, queryCount, 0 /* NodeMask */ };\n\t\tNV_RETURN_ON_FAIL(device->CreateQueryHeap(&queryHeapDesc, IID_PPV_ARGS(&m_queryHeap)));\n\n\t\tD3D12_HEAP_PROPERTIES heapProps =\n\t\t{\n\t\t\tD3D12_HEAP_TYPE_READBACK,\n\t\t\tD3D12_CPU_PAGE_PROPERTY_UNKNOWN,\n\t\t\tD3D12_MEMORY_POOL_UNKNOWN,\n\t\t\t0,\n\t\t\t0\n\t\t};\n\n\t\tD3D12_RESOURCE_DESC queryBufDesc =\n\t\t{\n\t\t\tD3D12_RESOURCE_DIMENSION_BUFFER,\n\t\t\t0u,\n\t\t\tqueryCount * sizeof(uint64_t),\n\t\t\t1u,\n\t\t\t1u,\n\t\t\t1,\n\t\t\tDXGI_FORMAT_UNKNOWN,\n\t\t\t{ 1u, 0u },\n\t\t\tD3D12_TEXTURE_LAYOUT_ROW_MAJOR,\n\t\t\tD3D12_RESOURCE_FLAG_NONE\n\t\t};\n\n\t\tNV_RETURN_ON_FAIL(device->CreateCommittedResource(\n\t\t\t&heapProps,\n\t\t\tD3D12_HEAP_FLAG_NONE,\n\t\t\t&queryBufDesc,\n\t\t\tD3D12_RESOURCE_STATE_COPY_DEST,\n\t\t\tnullptr,\n\t\t\tIID_PPV_ARGS(&m_queryResults)));\n\n\t\tD3D12_RESOURCE_DESC texDesc = {};\n\t\ttexDesc.MipLevels = 1u;\n\t\ttexDesc.Format = DXGI_FORMAT_R8G8B8A8_UNORM;\n\t\ttexDesc.Width = renderContext->m_winW;\n\t\ttexDesc.Height = renderContext->m_winH;\n\t\ttexDesc.Flags = D3D12_RESOURCE_FLAG_NONE;\n\t\ttexDesc.DepthOrArraySize = 1u;\n\t\ttexDesc.SampleDesc.Count = 1u;\n\t\ttexDesc.SampleDesc.Quality = 0u;\n\t\ttexDesc.Dimension = D3D12_RESOURCE_DIMENSION_TEXTURE2D;\n\n\t\t// get footprint information\n\t\tm_footprint = {};\n\t\tUINT64 uploadHeapSize = 0u;\n\t\tdevice->GetCopyableFootprints(&texDesc, 0u, 1u, 0u, &m_footprint, nullptr, nullptr, &uploadHeapSize);\n\n\t\tD3D12_RESOURCE_DESC bufferDesc = texDesc;\n\t\tbufferDesc.Dimension = D3D12_RESOURCE_DIMENSION_BUFFER;\n\t\tbufferDesc.Alignment = 0u;\n\t\tbufferDesc.Width = uploadHeapSize;\n\t\tbufferDesc.Height = 1u;\n\t\tbufferDesc.DepthOrArraySize = 1u;\n\t\tbufferDesc.MipLevels = 1;\n\t\tbufferDesc.Format = DXGI_FORMAT_UNKNOWN;\n\t\tbufferDesc.Layout = D3D12_TEXTURE_LAYOUT_ROW_MAJOR;\n\t\tbufferDesc.Flags = D3D12_RESOURCE_FLAG_NONE;\n\n\t\tNV_RETURN_ON_FAIL(device->CreateCommittedResource(\n\t\t\t&heapProps,\n\t\t\tD3D12_HEAP_FLAG_NONE,\n\t\t\t&bufferDesc,\n\t\t\tD3D12_RESOURCE_STATE_COPY_DEST,\n\t\t\tnullptr,\n\t\t\tIID_PPV_ARGS(&m_bufferStage)));\n\t}\n\treturn NV_OK;\n}\n\nint DemoContextD3D12::_initFluidRenderTargets()\n{\n\tAppGraphCtxD3D12* renderContext = getRenderContext();\n\tID3D12Device* device = renderContext->m_device;\n\n\t// Fluid thickness\n\t{\n\t\t{\n\t\t\tstd::unique_ptr<NvCo::Dx12RenderTarget> target(new NvCo::Dx12RenderTarget);\n\t\t\tNvCo::Dx12RenderTarget::Desc desc;\n\t\t\tdesc.init(renderContext->m_winW, renderContext->m_winH, DXGI_FORMAT_R32_FLOAT, DXGI_FORMAT_R32_TYPELESS);\n\t\t\tfor (int i = 0; i != 4; i++) desc.m_targetClearColor[i] = 0;\n\n\t\t\tNV_RETURN_ON_FAIL(target->init(renderContext, desc));\n\n\t\t\ttarget->setDebugName(L\"Fluid Thickness\");\n\t\t\tm_fluidThicknessRenderTarget = std::move(target);\n\t\t}\n\t}\n\n\t// Fluid point render target\n\t{\n\t\t{\n\t\t\tstd::unique_ptr<NvCo::Dx12RenderTarget> target(new NvCo::Dx12RenderTarget);\n\t\t\tNvCo::Dx12RenderTarget::Desc desc;\n\t\t\tdesc.init(renderContext->m_winW, renderContext->m_winH, DXGI_FORMAT_R32_FLOAT, DXGI_FORMAT_R32_TYPELESS);\n\t\t\tfor (int i = 0; i != 4; i++) desc.m_targetClearColor[i] = 0;\n\n\t\t\tNV_RETURN_ON_FAIL(target->init(renderContext, desc));\n\n\t\t\ttarget->setDebugName(L\"Fluid Point\");\n\t\t\tm_fluidPointRenderTarget = std::move(target);\n\t\t}\n\t}\n\n\t// Fluid smooth \n\t{\n\t\tstd::unique_ptr<NvCo::Dx12RenderTarget> target(new NvCo::Dx12RenderTarget);\n\t\tNvCo::Dx12RenderTarget::Desc desc;\n\t\tdesc.init(renderContext->m_winW, renderContext->m_winH, DXGI_FORMAT_R32_FLOAT, DXGI_FORMAT_UNKNOWN);\n\t\tfor (int i = 0; i != 4; i++) desc.m_targetClearColor[i] = 0;\n\n\t\tNV_RETURN_ON_FAIL(target->init(renderContext, desc));\n\n\t\ttarget->setDebugName(L\"Fluid Smooth\");\n\t\tm_fluidSmoothRenderTarget = std::move(target);\n\t}\n\n\t// The resolved target for final compose\n\t{\n\t\tstd::unique_ptr<NvCo::Dx12RenderTarget> target(new NvCo::Dx12RenderTarget);\n\t\tNvCo::Dx12RenderTarget::Desc desc;\n\t\tVec4 clearColor = { 1, 0, 1, 1 };\n\t\tdesc.m_targetClearColor = clearColor;\n\t\tdesc.init(renderContext->m_winW, renderContext->m_winH, DXGI_FORMAT_R8G8B8A8_UNORM, DXGI_FORMAT_UNKNOWN);\n\n\t\tNV_RETURN_ON_FAIL(target->init(renderContext, desc));\n\n\t\ttarget->setDebugName(L\"Fluid Resolved Target\");\n\t\tm_fluidResolvedTarget = std::move(target);\n\t}\n\n\t// Init all of the srvs!!!!\n\t{\n\t\tNvCo::Dx12DescriptorHeap& heap = *m_renderState.m_srvCbvUavDescriptorHeap;\n\t\t// Set up the srv for accessing this buffer\n\t\t{\n\t\t\tm_fluidPointRenderTarget->createSrv(device, heap, NvCo::Dx12RenderTarget::BUFFER_TARGET, m_fluidPointDepthSrvIndex);\n\t\t\tm_fluidThicknessRenderTarget->createSrv(device, heap, NvCo::Dx12RenderTarget::BUFFER_TARGET, m_fluidPointDepthSrvIndex + 1);\n\t\t}\n\n\t\t{\n\t\t\t// 0 - is the depth texture\t\t\t\t\tm_fluidSmoothRenderTarget (target)\n\t\t\t// 1 - is the 'composite' scene texture\t\tm_fluidResolvedTarget (target)\n\t\t\t// 2 - shadow texture\t\t\t\t\t\tm_shadowMap (depth stencil)\n\n\t\t\tm_fluidSmoothRenderTarget->createSrv(device, heap, NvCo::Dx12RenderTarget::BUFFER_TARGET, m_fluidCompositeSrvBaseIndex + 0);\n\t\t\tm_fluidResolvedTarget->createSrv(device, heap, NvCo::Dx12RenderTarget::BUFFER_TARGET, m_fluidCompositeSrvBaseIndex + 1);\n\t\t\tm_shadowMap->createSrv(device, heap, NvCo::Dx12RenderTarget::BUFFER_DEPTH_STENCIL, m_fluidCompositeSrvBaseIndex + 2);\n\t\t}\n\t}\n\n\treturn NV_OK;\n}\n\nvoid DemoContextD3D12::onSizeChanged(int width, int height, bool minimized)\n{\n\t// Free any set render targets\n\tm_fluidThicknessRenderTarget.reset();\n\tm_fluidPointRenderTarget.reset();\n\tm_fluidSmoothRenderTarget.reset();\n\tm_fluidResolvedTarget.reset();\n\n\tAppGraphCtxUpdateSize(m_appGraphCtx, m_window, false, m_msaaSamples);\n\n\t// Will need to create the render targets..\n\t_initFluidRenderTargets();\n}\n\nvoid DemoContextD3D12::startFrame(FlexVec4 colorIn)\n{\n\tAppGraphCtxD3D12* renderContext = getRenderContext();\n\n\t// Work out what what can be recovered, as GPU no longer accessing \n\tm_renderStateManager->updateCompleted();\n\n\tAppGraphColor clearColor = { colorIn.x, colorIn.y, colorIn.z, colorIn.w };\n\tAppGraphCtxFrameStart(cast_from_AppGraphCtxD3D12(renderContext), clearColor);\n\n\t{\n\t\tMeshDrawParamsD3D& params = m_meshDrawParams;\n\t\tmemset(&params, 0, sizeof(MeshDrawParamsD3D));\n\t\tparams.renderStage = MESH_DRAW_LIGHT;\n\t\tparams.renderMode = MESH_RENDER_SOLID;\n\t\tparams.cullMode = MESH_CULL_BACK;\n\t\tparams.projection = XMMatrixIdentity();\n\t\tparams.view = XMMatrixIdentity();\n\t\tparams.model = DirectX::XMMatrixMultiply(\n\t\t\tDirectX::XMMatrixScaling(1.0f, 1.0f, 1.0f),\n\t\t\tDirectX::XMMatrixTranslation(0.0f, 0.0f, 0.0f)\n\t\t);\n\t}\n}\n\nvoid DemoContextD3D12::endFrame()\n{\n\t{\n\t\tImguiGraphDescD3D12 desc;\n\t\tdesc.device = m_renderContext->m_device;\n\t\tdesc.commandList = m_renderContext->m_commandList;\n\t\tdesc.winW = m_renderContext->m_winW;\n\t\tdesc.winH = m_renderContext->m_winH;\n\n\t\timguiGraphUpdate((ImguiGraphDesc*)&desc);\n\t}\n\n\tAppGraphCtxD3D12* renderContext = getRenderContext();\n\n\tnvidia::Common::Dx12Resource& backBuffer = renderContext->m_backBuffers[renderContext->m_renderTargetIndex];\n\tif (renderContext->m_numMsaaSamples > 1)\n\t{\n\t\t// MSAA resolve\t\n\t\tnvidia::Common::Dx12Resource& renderTarget = *renderContext->m_renderTargets[renderContext->m_renderTargetIndex];\n\t\tassert(&renderTarget != &backBuffer);\n\t\t// Barriers to wait for the render target, and the backbuffer to be in correct state\n\t\t{\n\t\t\tnvidia::Common::Dx12BarrierSubmitter submitter(renderContext->m_commandList);\n\t\t\trenderTarget.transition(D3D12_RESOURCE_STATE_RESOLVE_SOURCE, submitter);\n\t\t\tbackBuffer.transition(D3D12_RESOURCE_STATE_RESOLVE_DEST, submitter);\n\t\t}\n\t\t// Do the resolve...\n\t\trenderContext->m_commandList->ResolveSubresource(backBuffer, 0, renderTarget, 0, renderContext->m_targetInfo.m_renderTargetFormats[0]);\n\t}\n\n\t// copy to staging buffer\n\t{\n\t\t{\n\t\t\tnvidia::Common::Dx12BarrierSubmitter submitter(renderContext->m_commandList);\n\t\t\tbackBuffer.transition(D3D12_RESOURCE_STATE_COPY_SOURCE, submitter);\n\t\t}\n\n\t\tD3D12_TEXTURE_COPY_LOCATION dstCopy = {};\n\t\tD3D12_TEXTURE_COPY_LOCATION srcCopy = {};\n\t\tdstCopy.pResource = m_bufferStage;\n\t\tdstCopy.Type = D3D12_TEXTURE_COPY_TYPE_PLACED_FOOTPRINT;\n\t\tdstCopy.PlacedFootprint = m_footprint;\n\t\tsrcCopy.pResource = backBuffer;\n\t\tsrcCopy.Type = D3D12_TEXTURE_COPY_TYPE_SUBRESOURCE_INDEX;\n\t\tsrcCopy.SubresourceIndex = 0u;\n\t\trenderContext->m_commandList->CopyTextureRegion(&dstCopy, 0, 0, 0, &srcCopy, nullptr);\n\t}\n\n\t{\n\t\tnvidia::Common::Dx12BarrierSubmitter submitter(renderContext->m_commandList);\n\t\tbackBuffer.transition(D3D12_RESOURCE_STATE_PRESENT, submitter);\n\t}\n\n\trenderContext->m_commandList->Close();\n\n\t// submit command list\n\tID3D12CommandList* cmdLists[] = { renderContext->m_commandList };\n\trenderContext->m_commandQueue->ExecuteCommandLists(1, cmdLists);\n\n\trenderContext->m_commandListOpenCount = 0;\n\n\t// Inform the manager that the work has been submitted\n\tm_renderStateManager->onGpuWorkSubmitted(renderContext->m_commandQueue);\n\n\tHANDLE completeEvent = m_graphicsCompleteEvent;\n\n\trenderContext->m_commandQueue->Signal(m_graphicsCompleteFence, m_graphicsCompleteFenceValue);\n}\n\nvoid DemoContextD3D12::getRenderDevice(void** device, void** context)\n{\n\t*device = m_renderContext->m_device;\n\t*context = m_renderContext->m_commandQueue;\n}\n\nvoid DemoContextD3D12::startGpuWork()\n{\n\tAppGraphCtxBeginGpuWork(m_renderContext);\n}\n\nvoid DemoContextD3D12::endGpuWork()\n{\n\tAppGraphCtxEndGpuWork(m_renderContext);\n}\n\nvoid DemoContextD3D12::presentFrame(bool fullsync)\n{\n\tAppGraphCtxFramePresent(cast_from_AppGraphCtxD3D12(m_renderContext), fullsync);\n}\n\nvoid DemoContextD3D12::readFrame(int* buffer, int width, int height)\n{\n\tAppGraphCtxD3D12* renderContext = getRenderContext();\n\t\n\tAppGraphCtxWaitForGPU(renderContext);\n\n\tint *pData;\n\tm_bufferStage->Map(0, nullptr, (void**)&pData);\n\t// y-coordinate is flipped for DirectX\n\tfor (int i = 0; i < height; i++)\n\t{\n\t\tmemcpy(buffer + (width * i), ((int *)pData) + (width * (height - i)), width * sizeof(int));\n\t}\n\tm_bufferStage->Unmap(0, nullptr);\n}\n\nvoid DemoContextD3D12::getViewRay(int x, int y, FlexVec3& origin, FlexVec3& dir)\n{\n\t//using namespace DirectX;\n\tAppGraphCtxD3D12* renderContext = getRenderContext();\n\n\tint width = renderContext->m_winW;\n\tint height = renderContext->m_winH;\n\n\tXMVECTOR nearVector = XMVector3Unproject(XMVectorSet(float(x), float(height - y), 0.0f, 0.0f), 0.0f, 0.0f, (float)width, (float)height, 0.0f, 1.0f, (XMMATRIX)m_proj, XMMatrixIdentity(), (XMMATRIX)m_view);\n\tXMVECTOR farVector = XMVector3Unproject(XMVectorSet(float(x), float(height - y), 1.0f, 0.0f), 0.0f, 0.0f, (float)width, (float)height, 0.0f, 1.0f, (XMMATRIX)m_proj, XMMatrixIdentity(), (XMMATRIX)m_view);\n\n\torigin = FlexVec3(XMVectorGetX(nearVector), XMVectorGetY(nearVector), XMVectorGetZ(nearVector));\n\tXMVECTOR tmp = farVector - nearVector;\n\tdir = Normalize(FlexVec3(XMVectorGetX(tmp), XMVectorGetY(tmp), XMVectorGetZ(tmp)));\n}\n\nvoid DemoContextD3D12::setView(Matrix44 view, Matrix44 projection)\n{\n\tMatrix44 vp = projection*view;\n\tMeshDrawParamsD3D& params = m_meshDrawParams;\n\n\tparams.model = XMMatrixIdentity();\n\tparams.view = (XMMATRIX)view;\n\tparams.projection = (XMMATRIX)(RenderParamsUtilD3D::convertGLToD3DProjection(projection));\n\n\tm_view = view;\n\tm_proj = RenderParamsUtilD3D::convertGLToD3DProjection(projection);\n}\n\nvoid DemoContextD3D12::renderEllipsoids(FluidRenderer* renderer, FluidRenderBuffers* buffersIn, int n, int offset, float radius, float screenWidth, float screenAspect, float fov, FlexVec3 lightPos, FlexVec3 lightTarget, Matrix44 lightTransform, ::ShadowMap* shadowMap, FlexVec4 color, float blur, float ior, bool debug)\n{\n\tFluidRenderBuffersD3D12& buffers = *reinterpret_cast<FluidRenderBuffersD3D12*>(buffersIn);\n\tif (n == 0)\n\t\treturn;\n\n\ttypedef PointRenderAllocationD3D12 Alloc;\n\n\tAlloc alloc;\n\talloc.init(PRIMITIVE_POINT);\n\n\talloc.m_numPrimitives = n;\n\talloc.m_numPositions = 0;\t// unused param\n\talloc.m_offset = offset;\n\n\talloc.m_indexBufferView = buffers.m_indicesView;\n\talloc.m_vertexBufferViews[Alloc::VERTEX_VIEW_DENSITY] = buffers.m_densitiesView;\n\talloc.m_vertexBufferViews[Alloc::VERTEX_VIEW_POSITION] = buffers.m_positionsView;\n\talloc.m_vertexBufferViews[Alloc::VERTEX_VIEW_ANISOTROPY1] = buffers.m_anisotropiesViewArr[0];\n\talloc.m_vertexBufferViews[Alloc::VERTEX_VIEW_ANISOTROPY2] = buffers.m_anisotropiesViewArr[1];\n\talloc.m_vertexBufferViews[Alloc::VERTEX_VIEW_ANISOTROPY3] = buffers.m_anisotropiesViewArr[2];\n\n\tAppGraphCtxD3D12* renderContext = getRenderContext();\n\n\tFluidDrawParamsD3D params;\n\n\tparams.renderMode = FLUID_RENDER_SOLID;\n\tparams.cullMode = FLUID_CULL_NONE;// FLUID_CULL_BACK;\n\tparams.model = XMMatrixIdentity();\n\tparams.view = (XMMATRIX&)m_view;\n\tparams.projection = (XMMATRIX&)m_proj;\n\n\t//params.offset = offset;\n\t//params.n = n;\n\tparams.renderStage = FLUID_DRAW_LIGHT;\n\n\tconst float viewHeight = tanf(fov / 2.0f);\n\tparams.invViewport = Hlsl::float3(1.0f / screenWidth, screenAspect / screenWidth, 1.0f);\n\tparams.invProjection = Hlsl::float3(screenAspect * viewHeight, viewHeight, 1.0f);\n\n\t// make sprites larger to get smoother thickness texture\n\tconst float thicknessScale = 4.0f;\n\tparams.pointRadius = thicknessScale * radius;\n\n\tparams.debug = 0;\n\tparams.shadowMap = nullptr;\n\n\t{\n\t\tm_fluidThicknessRenderTarget->toWritable(renderContext);\n\t\tm_fluidThicknessRenderTarget->bindAndClear(renderContext);\n\n\t\tm_meshRenderer->drawTransitory(alloc, sizeof(Alloc), m_fluidThicknessPipeline.get(), &params);\n\n\t\tm_fluidThicknessRenderTarget->toReadable(renderContext);\n\t}\n\n\t{\n\t\tm_fluidPointRenderTarget->toWritable(renderContext);\n\t\tm_fluidPointRenderTarget->bindAndClear(renderContext);\n\n\t\t// Draw the ellipsoids\n\t\tm_meshRenderer->drawTransitory(alloc, sizeof(Alloc), m_fluidPointPipeline.get(), &params);\n\n\t\tm_fluidPointRenderTarget->toReadable(renderContext);\n\t}\n\n\t//---------------------------------------------------------------\n\t// build smooth depth\n\n\t{\n\t\tm_fluidSmoothRenderTarget->toWritable(renderContext);\n\t\tm_fluidSmoothRenderTarget->bind(renderContext);\n\n\t\tparams.blurRadiusWorld = radius * 0.5f;\n\t\tparams.blurScale = screenWidth / screenAspect * (1.0f / (tanf(fov * 0.5f)));\n\t\tparams.invTexScale = Hlsl::float4(1.0f / screenAspect, 1.0f, 0.0f, 0.0f);\n\t\tparams.blurFalloff = blur;\n\t\tparams.debug = debug;\n\t\tparams.m_sampleDescriptorBase = m_linearSamplerIndex;\n\n\t\tm_meshRenderer->draw(m_screenQuadMesh.get(), m_fluidSmoothPipeline.get(), &params);\n\n\t\tm_fluidSmoothRenderTarget->toReadable(renderContext);\n\t}\n\n\t// First lets resolve the render target \n\tID3D12GraphicsCommandList* commandList = m_renderContext->m_commandList;\n\t{\n\t\t// Lets take what's rendered so far and \n\t\tNvCo::Dx12ResourceBase* targetResource = m_renderContext->m_renderTargets[m_renderContext->m_renderTargetIndex];\n\t\tNvCo::Dx12ResourceBase& fluidResolvedTarget = m_fluidResolvedTarget->getResource(NvCo::Dx12RenderTarget::BUFFER_TARGET);\n\n\t\tif (m_renderContext->m_numMsaaSamples > 1)\n\t\t{\n\t\t\t// If enabled can stop/reduce flickering issues on some GPUs related to a problem around ResolveSubresource/ \n\t\t\t//m_renderContext->submitGpuWork();\n\n\t\t\t{\n\t\t\t\tNvCo::Dx12BarrierSubmitter submitter(commandList);\n\t\t\t\ttargetResource->transition(D3D12_RESOURCE_STATE_RESOLVE_SOURCE, submitter);\n\t\t\t\tfluidResolvedTarget.transition(D3D12_RESOURCE_STATE_RESOLVE_DEST, submitter);\n\t\t\t}\n\t\t\t// Do the resolve\n\t\t\tconst DXGI_FORMAT format = fluidResolvedTarget.getResource()->GetDesc().Format;\n\t\t\tcommandList->ResolveSubresource(fluidResolvedTarget, 0, *targetResource, 0, format);\n\t\t}\n\t\telse\n\t\t{\n\t\t\t{\n\t\t\t\tNvCo::Dx12BarrierSubmitter submitter(commandList);\n\t\t\t\ttargetResource->transition(D3D12_RESOURCE_STATE_COPY_SOURCE, submitter);\n\t\t\t\tfluidResolvedTarget.transition(D3D12_RESOURCE_STATE_COPY_DEST, submitter);\n\t\t\t}\n\t\t\tcommandList->CopyResource(fluidResolvedTarget, *targetResource);\n\t\t}\n\n\t\t{\n\t\t\tNvCo::Dx12BarrierSubmitter submitter(commandList);\n\t\t\ttargetResource->transition(D3D12_RESOURCE_STATE_RENDER_TARGET, submitter);\n\t\t\tfluidResolvedTarget.transition(D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE, submitter);\n\t\t}\n\t}\n\n\t//---------------------------------------------------------------\n\t// composite\n\n\t{\n\t\tm_shadowMap->toReadable(renderContext);\n\n\t\tAppGraphCtxPrepareRenderTarget(renderContext);\n\n\t\tFlexVec4 aspectWork(1.0f / screenWidth, screenAspect / screenWidth, 0, 0);\n\t\tparams.invTexScale = (Hlsl::float4&)aspectWork;\n\t\tFlexVec4 clipPosToEyeWork(tanf(fov*0.5f)*screenAspect, tanf(fov*0.5f), 0, 0);\n\t\tparams.clipPosToEye = (Hlsl::float4&)clipPosToEyeWork;\n\t\tparams.color = (Hlsl::float4&)color;\n\t\tparams.ior = ior;\n\t\tparams.spotMin = gSpotMin;\n\t\tparams.spotMax = gSpotMax;\n\t\tparams.debug = debug;\n\n\t\tparams.lightPos = (Hlsl::float3&)lightPos;\n\t\tFlexVec3 lightDirWork = -Normalize(lightTarget - lightPos);\n\t\tparams.lightDir = (Hlsl::float3&)lightDirWork;\n\t\tMatrix44 lightTransformWork = RenderParamsUtilD3D::convertGLToD3DProjection(lightTransform);\n\t\tparams.lightTransform = (XMMATRIX&)lightTransformWork;\n\n\t\tparams.m_srvDescriptorBase = m_fluidCompositeSrvBaseIndex;\n\t\tparams.m_sampleDescriptorBase = m_linearSamplerIndex;\n\t\tparams.shadowMap = (ShadowMapD3D*)m_currentShadowMap;\n\n\t\tm_meshRenderer->draw(m_screenQuadMesh.get(), m_fluidCompositePipeline.get(), &params);\n\t}\n}\n\nvoid DemoContextD3D12::updateFluidRenderBuffers(FluidRenderBuffers* buffersIn, FlexVec4* particles, float* densities, FlexVec4* anisotropy1, FlexVec4* anisotropy2, FlexVec4* anisotropy3, int numParticles, int* indices, int numIndices)\n{\n\tFluidRenderBuffersD3D12& buffers = *reinterpret_cast<FluidRenderBuffersD3D12*>(buffersIn);\n\n\ttypedef PointRenderAllocationD3D12 Alloc;\n\tAlloc alloc;\n\n\tPointData pointData;\n\n\tpointData.positions = (const Vec4*)particles;\n\tpointData.density = densities;\n\tpointData.phase = nullptr;\n\tpointData.indices = (uint32_t*)indices;\n\tpointData.numIndices = numIndices;\n\tpointData.numPoints = numParticles;\n\tpointData.anisotropy[0] = (const Vec4*)anisotropy1;\n\tpointData.anisotropy[1] = (const Vec4*)anisotropy2;\n\tpointData.anisotropy[2] = (const Vec4*)anisotropy3;\n\n\tm_meshRenderer->allocateTransitory(pointData, alloc, sizeof(alloc));\n\t\n\tbuffers.m_positionsView = alloc.m_vertexBufferViews[Alloc::VERTEX_VIEW_POSITION];\n\tbuffers.m_densitiesView = alloc.m_vertexBufferViews[Alloc::VERTEX_VIEW_DENSITY];\n\t\n\tbuffers.m_anisotropiesViewArr[0] = alloc.m_vertexBufferViews[Alloc::VERTEX_VIEW_ANISOTROPY1];\n\tbuffers.m_anisotropiesViewArr[1] = alloc.m_vertexBufferViews[Alloc::VERTEX_VIEW_ANISOTROPY2];\n\tbuffers.m_anisotropiesViewArr[2] = alloc.m_vertexBufferViews[Alloc::VERTEX_VIEW_ANISOTROPY3];\n\t\n\tbuffers.m_indicesView = alloc.m_indexBufferView;\n\n\tbuffers.m_numParticles = numIndices;\n}\n\nvoid DemoContextD3D12::shadowBegin(::ShadowMap* map)\n{\n\tassert(map);\n\tassert(m_targetShadowMap == nullptr);\n\n\tAppGraphCtxD3D12* renderContext = getRenderContext();\n\tNvCo::Dx12RenderTarget* shadowMap = reinterpret_cast<NvCo::Dx12RenderTarget*>(map);\n\n\tshadowMap->toWritable(renderContext);\n\tshadowMap->bindAndClear(renderContext);\n\n\tm_targetShadowMap = shadowMap;\n\n\tm_meshDrawParams.renderStage = MESH_DRAW_SHADOW;\n}\n\nvoid DemoContextD3D12::shadowEnd()\n{\n\tAppGraphCtxD3D12* renderContext = getRenderContext();\n\tNvCo::Dx12RenderTarget* shadowMap = m_targetShadowMap;\n\tshadowMap->toReadable(renderContext);\n\tm_targetShadowMap = nullptr;\n\n\t// Restore to regular render target\n\tAppGraphCtxPrepareRenderTarget(renderContext);\n\n\tm_meshDrawParams.renderStage = MESH_DRAW_NULL;\n}\n\nvoid DemoContextD3D12::drawMesh(const Mesh* m, FlexVec3 color)\n{\n\tMeshDrawParamsD3D& params = m_meshDrawParams;\n\n\tif (m)\n\t{\n\t\tMeshData meshData;\n\n\t\tmeshData.positions = (Vec3*)&m->m_positions[0];\n\t\tmeshData.normals = (Vec3*)&m->m_normals[0];\n\t\tmeshData.colors = nullptr;\n\t\tmeshData.texcoords = nullptr;\n\t\tmeshData.indices = (uint32_t*)&m->m_indices[0];\n\t\tmeshData.numFaces = m->GetNumFaces();\n\t\tmeshData.numVertices = m->GetNumVertices();\n\n\t\tparams.colorArray = 0;\n\t\tif (m->m_colours.size())\n\t\t{\n\t\t\tparams.colorArray = 1;\n\t\t\tmeshData.colors = (Vec4*)&m->m_colours[0];\n\t\t}\n\n\t\tparams.color = Hlsl::float4(color.x, color.y, color.z, 1);\n\t\tparams.secondaryColor = params.color;\n\t\tparams.objectTransform = (Hlsl::float4x4&)Matrix44::kIdentity;\n\t\tparams.shadowMap = (ShadowMapD3D*)m_currentShadowMap;\n\n\t\tm_meshRenderer->drawImmediate(meshData, m_meshPipeline.get(), &params);\n\n\t\tif (m->m_colours.size())\n\t\t{\n\t\t\tparams.colorArray = 0;\n\t\t}\n\t}\n}\n\nvoid DemoContextD3D12::drawCloth(const FlexVec4* positions, const FlexVec4* normals, const float* uvs, const int* indices, int numTris, int numPositions, int colorIndex, float expand, bool twosided, bool smooth)\n{\n\tif (!numTris)\n\t\treturn;\n\n\tMeshData2 meshData;\n\n\tmeshData.positions = (const Vec4*)positions;\n\tmeshData.normals = (const Vec4*)normals;\n\tmeshData.texcoords = nullptr; /* (const Vec2*)uvs; */\n\tmeshData.colors = nullptr;\n\tmeshData.numFaces = numTris;\n\tmeshData.indices = (const uint32_t*)indices;\n\tmeshData.numVertices = numPositions;\n\n\tif (twosided)\n\t\tSetCullMode(false);\n\n\tMeshDrawParamsD3D& params = m_meshDrawParams;\n\n\tparams.bias = 0.0f;\n\tparams.expand = expand;\n\n\tparams.color = (Hlsl::float4&)(g_colors[colorIndex + 1] * 1.5f);\n\tparams.secondaryColor = (Hlsl::float4&)(g_colors[colorIndex] * 1.5f);\n\tparams.objectTransform = (Hlsl::float4x4&)Matrix44::kIdentity;\n\tparams.shadowMap = (ShadowMapD3D*)m_currentShadowMap;\n\n\tm_meshRenderer->drawImmediate(meshData, m_meshPipeline.get(), &params);\n\n\tif (twosided)\n\t\tSetCullMode(true);\n\n\tparams.bias = gShadowBias;\n\tparams.expand = 0.0f;\n}\n\nvoid DemoContextD3D12::drawRope(FlexVec4* positions, int* indices, int numIndices, float radius, int color)\n{\n\tif (numIndices < 2)\n\t\treturn;\n\n\tstd::vector<FlexVec3> vertices;\n\tstd::vector<FlexVec3> normals;\n\tstd::vector<int> triangles;\n\n\t// flatten curve\n\tstd::vector<FlexVec3> curve(numIndices);\n\tfor (int i = 0; i < numIndices; ++i)\n\t{\n\t\tcurve[i] = FlexVec3(positions[indices[i]]);\n\t}\n\n\tconst int resolution = 8;\n\tconst int smoothing = 3;\n\n\tvertices.reserve(resolution*numIndices*smoothing);\n\tnormals.reserve(resolution*numIndices*smoothing);\n\ttriangles.reserve(numIndices*resolution * 6 * smoothing);\n\n\tExtrude(&curve[0], int(curve.size()), vertices, normals, triangles, radius, resolution, smoothing);\n\n\tSetCullMode(false);\n\n\tMeshDrawParamsD3D& params = m_meshDrawParams;\n\n\tparams.color = (Hlsl::float4&)(g_colors[color % 8] * 1.5f);\n\tparams.secondaryColor = (Hlsl::float4&)(g_colors[color % 8] * 1.5f);\n\tparams.shadowMap = (ShadowMapD3D*)m_currentShadowMap;\n\n\tMeshData meshData;\n\n\tmeshData.positions = (const Vec3*)&vertices[0];\n\tmeshData.normals = (const Vec3*)&normals[0];\n\tmeshData.texcoords = nullptr;\n\tmeshData.colors = nullptr;\n\tmeshData.indices = (const uint32_t*)&triangles[0];\n\tmeshData.numFaces = int(triangles.size()) / 3;\n\tmeshData.numVertices = int(vertices.size());\n\n\tm_meshRenderer->drawImmediate(meshData, m_meshPipeline.get(), &params);\n\n\tSetCullMode(true);\n}\n\nvoid DemoContextD3D12::drawPlane(const FlexVec4& p, bool color)\n{\n\tstd::vector<FlexVec3> vertices;\n\tstd::vector<FlexVec3> normals;\n\tstd::vector<int> indices;\n\n\tFlexVec3 u, v;\n\tBasisFromVector(FlexVec3(p.x, p.y, p.z), &u, &v);\n\n\tFlexVec3 c = FlexVec3(p.x, p.y, p.z)*-p.w;\n\n\tMeshDrawParamsD3D& params = m_meshDrawParams;\n\n\tparams.shadowMap = (ShadowMapD3D*)m_currentShadowMap;\n\n\tif (color)\n\t\tparams.color = (Hlsl::float4&)(p * 0.5f + FlexVec4(0.5f, 0.5f, 0.5f, 0.5f));\n\n\tconst float kSize = 200.0f;\n\tconst int kGrid = 3;\n\n\t// draw a grid of quads, otherwise z precision suffers\n\tfor (int x = -kGrid; x <= kGrid; ++x)\n\t{\n\t\tfor (int y = -kGrid; y <= kGrid; ++y)\n\t\t{\n\t\t\tFlexVec3 coff = c + u*float(x)*kSize*2.0f + v*float(y)*kSize*2.0f;\n\n\t\t\tint indexStart = int(vertices.size());\n\n\t\t\tvertices.push_back(FlexVec3(coff + u*kSize + v*kSize));\n\t\t\tvertices.push_back(FlexVec3(coff - u*kSize + v*kSize));\n\t\t\tvertices.push_back(FlexVec3(coff - u*kSize - v*kSize));\n\t\t\tvertices.push_back(FlexVec3(coff + u*kSize - v*kSize));\n\n\t\t\tnormals.push_back(FlexVec3(p.x, p.y, p.z));\n\t\t\tnormals.push_back(FlexVec3(p.x, p.y, p.z));\n\t\t\tnormals.push_back(FlexVec3(p.x, p.y, p.z));\n\t\t\tnormals.push_back(FlexVec3(p.x, p.y, p.z));\n\n\n\t\t\tindices.push_back(indexStart + 0);\n\t\t\tindices.push_back(indexStart + 1);\n\t\t\tindices.push_back(indexStart + 2);\n\n\t\t\tindices.push_back(indexStart + 2);\n\t\t\tindices.push_back(indexStart + 3);\n\t\t\tindices.push_back(indexStart + 0);\n\t\t}\n\t}\n\n\tMeshData meshData;\n\tmeshData.texcoords = nullptr;\n\tmeshData.colors = nullptr;\n\tmeshData.positions = (Vec3*)&vertices[0];\n\tmeshData.normals = (Vec3*)&normals[0];\n\tmeshData.indices = (uint32_t*)&indices[0];\n\tmeshData.numFaces = int(indices.size() / 3);\n\tmeshData.numVertices = int(vertices.size());\n\n\tm_meshRenderer->drawImmediate(meshData, m_meshPipeline.get(), &params);\n}\n\nvoid DemoContextD3D12::drawPlanes(FlexVec4* planes, int n, float bias)\n{\n\tMeshDrawParamsD3D& params = m_meshDrawParams;\n\n\tparams.color = (Hlsl::float4&)FlexVec4(0.9f, 0.9f, 0.9f, 1.0f);\n\n\tparams.bias = 0.0f;\n\tparams.grid = 1;\n\tparams.expand = 0;\n\n\tfor (int i = 0; i < n; ++i)\n\t{\n\t\tFlexVec4 p = planes[i];\n\t\tp.w -= bias;\n\n\t\tdrawPlane(p, false);\n\t}\n\n\tparams.grid = 0;\n\tparams.bias = gShadowBias;\n}\n\nvoid DemoContextD3D12::drawPoints(FluidRenderBuffers* buffersIn, int n, int offset, float radius, float screenWidth, float screenAspect, float fov, FlexVec3 lightPos, FlexVec3 lightTarget, Matrix44 lightTransform, ::ShadowMap* shadowTex, bool showDensity)\n{\n\tFluidRenderBuffersD3D12* buffers = reinterpret_cast<FluidRenderBuffersD3D12*>(buffersIn);\n\t// Okay we can draw the particles here. The update can copy the point positions into the heap, so here we just draw them \n\n\tif (n == 0)\n\t\treturn;\n\n\tPointRenderAllocationD3D12 pointAlloc;\n\tpointAlloc.init(PRIMITIVE_POINT);\n\tpointAlloc.m_vertexBufferViews[PointRenderAllocationD3D12::VERTEX_VIEW_POSITION] = buffers->m_positionsView;\n\t// It says 'color' as the parameter but actually its the 'density' parameter that is passed in here\n\tpointAlloc.m_vertexBufferViews[PointRenderAllocationD3D12::VERTEX_VIEW_DENSITY] = buffers->m_densitiesView;\n\tpointAlloc.m_vertexBufferViews[PointRenderAllocationD3D12::VERTEX_VIEW_PHASE] = buffers->m_densitiesView;\n\tpointAlloc.m_indexBufferView = buffers->m_indicesView;\n\n\tpointAlloc.m_numPrimitives = n;\n\tpointAlloc.m_numPositions = 0;\t// unused param\n\tpointAlloc.m_offset = offset;\n\t\n\tPointDrawParamsD3D params;\n\n\tparams.renderMode = POINT_RENDER_SOLID;\n\tparams.cullMode = POINT_CULL_BACK;\n\tparams.model = XMMatrixIdentity();\n\tparams.view = (XMMATRIX&)m_view;\n\tparams.projection = (XMMATRIX&)m_proj;\n\n\tparams.pointRadius = radius;\n\tparams.pointScale = screenWidth / screenAspect * (1.0f / (tanf(fov * 0.5f)));\n\tparams.spotMin = gSpotMin;\n\tparams.spotMax = gSpotMax;\n\n\tint mode = 0;\n\tif (showDensity)\n\t\tmode = 1;\n\tif (shadowTex == 0)\n\t\tmode = 2;\n\tparams.mode = mode;\n\n\tfor (int i = 0; i < 8; i++)\n\t\tparams.colors[i] = *((Hlsl::float4*)&g_colors[i].r);\n\n\t// set shadow parameters\n\tShadowParamsD3D shadow;\n\tRenderParamsUtilD3D::calcShadowParams(lightPos, lightTarget, lightTransform, gShadowBias, &shadow);\n\tparams.lightTransform = shadow.lightTransform;\n\tparams.lightDir = shadow.lightDir;\n\tparams.lightPos = shadow.lightPos;\n\tmemcpy(params.shadowTaps, shadow.shadowTaps, sizeof(shadow.shadowTaps));\n\n\tif (m_meshDrawParams.renderStage == MESH_DRAW_SHADOW)\n\t{\n\t\tparams.renderStage = POINT_DRAW_SHADOW;\n\t\tparams.mode = 2;\n\t}\n\telse\n\t\tparams.renderStage = POINT_DRAW_LIGHT;\n\n\tparams.shadowMap = (ShadowMapD3D*)m_currentShadowMap;\n\n\tm_meshRenderer->drawTransitory(pointAlloc, sizeof(pointAlloc), m_pointPipeline.get(), &params);\n}\n\nvoid DemoContextD3D12::graphicsTimerBegin()\n{\n\tID3D12GraphicsCommandList* commandList = m_renderContext->m_commandList;\n\n\tcommandList->EndQuery(m_queryHeap, D3D12_QUERY_TYPE_TIMESTAMP, 0);\n}\n\nvoid DemoContextD3D12::graphicsTimerEnd()\n{\n\tID3D12GraphicsCommandList* commandList = m_renderContext->m_commandList;\n\n\tcommandList->EndQuery(m_queryHeap, D3D12_QUERY_TYPE_TIMESTAMP, 1);\n\tcommandList->ResolveQueryData(m_queryHeap, D3D12_QUERY_TYPE_TIMESTAMP, 0, 2, m_queryResults, 0);\n}\n\nfloat DemoContextD3D12::rendererGetDeviceTimestamps(unsigned long long* begin, unsigned long long* end, unsigned long long* freq)\n{\n\tAppGraphCtxD3D12* renderContext = getRenderContext();\n\tID3D12CommandQueue* commandQueue = m_renderContext->m_commandQueue;\n\n\tAppGraphCtxWaitForGPU(renderContext);\n\n\t// Get timer frequency\n\tstatic uint64_t frequency = 0;\n\n\tif (frequency == 0)\n\t{\n\t\tcommandQueue->GetTimestampFrequency(&frequency);\n\t}\n\n\t// Get render timestamps\n\tuint64_t* times;\n\tD3D12_RANGE readRange = { 0, 2 };\n\tm_queryResults->Map(0, &readRange, (void**)&times);\n\tuint64_t renderBegin = times[0];\n\tuint64_t renderEnd = times[1];\n\tD3D12_RANGE writtenRange = { 0, 0 };   // nothing was written\n\tm_queryResults->Unmap(0, &writtenRange);\n\n\tdouble renderTime = double(renderEnd - renderBegin) / double(frequency);\n\n\tif (begin) *begin = renderBegin;\n\tif (end) *end = renderEnd;\n\tif (freq) *freq = frequency;\n\n\treturn float(renderTime);\n}\n\nvoid DemoContextD3D12::bindSolidShader(FlexVec3 lightPos, FlexVec3 lightTarget, Matrix44 lightTransform, ::ShadowMap* shadowMap, float bias, FlexVec4 fogColor)\n{\n\tMeshDrawParamsD3D& params = m_meshDrawParams;\n\n\tparams.renderStage = MESH_DRAW_LIGHT;\n\n\tparams.grid = 0;\n\tparams.spotMin = gSpotMin;\n\tparams.spotMax = gSpotMax;\n\tparams.fogColor = (Hlsl::float4&)fogColor;\n\n\tparams.objectTransform = (Hlsl::float4x4&)Matrix44::kIdentity;\n\n\tShadowParamsD3D shadow;\n\tRenderParamsUtilD3D::calcShadowParams(lightPos, lightTarget, lightTransform, gShadowBias, &shadow);\n\tparams.lightTransform = shadow.lightTransform;\n\tparams.lightDir = shadow.lightDir;\n\tparams.lightPos = shadow.lightPos;\n\tparams.bias = shadow.bias;\n\tmemcpy(params.shadowTaps, shadow.shadowTaps, sizeof(shadow.shadowTaps));\n\n\tm_currentShadowMap = (NvCo::Dx12RenderTarget*)shadowMap;\n}\n\nvoid DemoContextD3D12::drawGpuMesh(GpuMesh* m, const Matrix44& xform, const FlexVec3& color)\n{\n\tif (m)\n\t{\n\t\tMeshDrawParamsD3D params(m_meshDrawParams);\n\n\t\tparams.color = (Hlsl::float4&)color;\n\t\tparams.secondaryColor = (Hlsl::float4&)color;\n\t\tparams.objectTransform = (Hlsl::float4x4&)xform;\n\t\tparams.shadowMap = (ShadowMapD3D*)m_currentShadowMap;\n\n\t\tRenderMesh* renderMesh = (RenderMesh*)m;\n\n\t\tm_meshRenderer->draw(renderMesh, m_meshPipeline.get(), &params);\n\t}\n}\n\nvoid DemoContextD3D12::drawGpuMeshInstances(GpuMesh* m, const Matrix44* xforms, int n, const FlexVec3& color)\n{\n\tif (m)\n\t{\n\t\tMeshDrawParamsD3D& contextParams = m_meshDrawParams;\n\n\t\tcontextParams.color = (Hlsl::float4&)color;\n\t\tcontextParams.secondaryColor = (Hlsl::float4&)color;\n\t\tcontextParams.shadowMap = (ShadowMapD3D*)m_currentShadowMap;\n\n\t\t// copy params\n\t\tMeshDrawParamsD3D params(contextParams);\n\n\t\tfor (int i = 0; i < n; ++i)\n\t\t{\n\t\t\tparams.objectTransform = (Hlsl::float4x4&)xforms[i];\n\t\t\tRenderMesh* renderMesh = (RenderMesh*)m;\n\t\t\tm_meshRenderer->draw(renderMesh, m_meshPipeline.get(), &params);\n\t\t}\n\t}\n}\n\nvoid DemoContextD3D12::drawDiffuse(FluidRenderer* render, const DiffuseRenderBuffers* buffersIn, int n, float radius, float screenWidth, float screenAspect, float fov, FlexVec4 color, FlexVec3 lightPos, FlexVec3 lightTarget, Matrix44 lightTransform, ShadowMap* shadowMap, float motionBlur, float inscatter, float outscatter, bool shadowEnabled, bool front)\n{\n\tconst DiffuseRenderBuffersD3D12& buffers = *reinterpret_cast<const DiffuseRenderBuffersD3D12*>(buffersIn);\n\tif (n == 0)\n\t\treturn;\n\n\ttypedef PointRenderAllocationD3D12 Alloc;\n\tAlloc alloc;\n\talloc.init(PRIMITIVE_POINT);\n\n\talloc.m_numPrimitives = n;\n\talloc.m_numPositions = 0;\t// unused param\n\talloc.m_offset = 0;\t\t\t// unused param\n\n\talloc.m_indexBufferView = buffers.m_indicesView;\n\talloc.m_vertexBufferViews[Alloc::VERTEX_VIEW_POSITION] = buffers.m_positionsView;\n\talloc.m_vertexBufferViews[Alloc::VERTEX_VIEW_ANISOTROPY1] = buffers.m_velocitiesView;\t\t\t// Velocity stored in ANISO1\n\n\tDiffuseDrawParamsD3D params;\n\n\tparams.model = XMMatrixIdentity();\n\tparams.view = (const XMMATRIX&)m_view;\n\tparams.projection = (const XMMATRIX&)m_proj;\n\tparams.diffuseRadius = screenWidth / screenAspect * (1.0f / (tanf(fov * 0.5f)));\n\tparams.diffuseScale = radius;\n\tparams.spotMin = gSpotMin;\n\tparams.spotMax = gSpotMax;\n\tparams.color = Hlsl::float4(1.0f, 1.0f, 1.0f, 1.0f);\n\tparams.motionScale = motionBlur;\n\n\t// set shadow parameters\n\tShadowParamsD3D shadow;\n\tRenderParamsUtilD3D::calcShadowParams(lightPos, lightTarget, lightTransform, gShadowBias, &shadow);\n\tparams.lightTransform = shadow.lightTransform;\n\tparams.lightDir = shadow.lightDir;\n\tparams.lightPos = shadow.lightPos;\n\tparams.shadowMap = (ShadowMapD3D*)m_currentShadowMap;\n\n\tmemcpy(params.shadowTaps, shadow.shadowTaps, sizeof(shadow.shadowTaps));\n\n\tm_meshRenderer->drawTransitory(alloc, sizeof(alloc), m_diffusePointPipeline.get(), &params);\n}\n\nvoid DemoContextD3D12::beginLines()\n{\n\tassert(!m_inLineDraw);\n\tm_inLineDraw = true;\n\tm_debugLineVertices.clear();\n}\n\nvoid DemoContextD3D12::drawLine(const Vec3& p, const Vec3& q, const Vec4& color)\n{\n\tassert(m_inLineDraw);\n\n\tif (m_debugLineVertices.size() + 2 > MAX_DEBUG_LINE_SIZE)\n\t{\n\t\t_flushDebugLines();\n\t}\n\n\tLineData::Vertex dst[2];\n\tdst[0].position = (const Vec3&)p;\n\tdst[0].color = (const Vec4&)color;\n\tdst[1].position = (const Vec3&)q;\n\tdst[1].color = (const Vec4&)color;\n\n\tm_debugLineVertices.push_back(dst[0]);\n\tm_debugLineVertices.push_back(dst[1]);\n}\n\nvoid DemoContextD3D12::_flushDebugLines()\n{\n\tassert(m_inLineDraw);\n\n\tif (m_debugLineVertices.size() > 0)\n\t{\n\t\tLineDrawParams params;\n\n\t\tconst Matrix44 modelWorldProjection = ((Matrix44&)(m_meshDrawParams.projection)) * ((Matrix44&)(m_meshDrawParams.view));\n\t\t// draw\n\t\tparams.m_modelWorldProjection = (const Hlsl::float4x4&)modelWorldProjection;\n\t\tparams.m_drawStage = (m_targetShadowMap) ? LINE_DRAW_SHADOW : LINE_DRAW_NORMAL;\n\n\t\tLineData lineData;\n\t\tlineData.init();\n\t\tlineData.vertices = &m_debugLineVertices.front();\n\t\tlineData.numVertices = m_debugLineVertices.size();\n\t\tlineData.numLines = lineData.numVertices / 2;\n\n\t\tm_meshRenderer->drawImmediate(lineData, m_linePipeline.get(), &params);\n\t\n\t\tm_debugLineVertices.clear();\n\t}\n}\n\nvoid DemoContextD3D12::endLines()\n{\n\t_flushDebugLines();\n\t// No longer in line drawing\n\tm_inLineDraw = false;\n}\n\nvoid DemoContextD3D12::flushGraphicsAndWait() \n{\n\tAppGraphCtxWaitForGPU(getRenderContext());\n}\n\nFluidRenderer* DemoContextD3D12::createFluidRenderer(uint32_t width, uint32_t height)\n{\n\t// It's always created.. so just return the context\n\treturn (FluidRenderer*)this;\n}\n\nvoid DemoContextD3D12::destroyFluidRenderer(FluidRenderer* renderer)\n{\n\t/// Don't need to do anything, as will be destroyed with context\n}\n\nFluidRenderBuffers* DemoContextD3D12::createFluidRenderBuffers(int numParticles, bool enableInterop)\n{\n\treturn reinterpret_cast<FluidRenderBuffers*>(new FluidRenderBuffersD3D12(numParticles));\n}\n\nvoid DemoContextD3D12::updateFluidRenderBuffers(FluidRenderBuffers* buffers, NvFlexSolver* flex, bool anisotropy, bool density)\n{\n\tprintf(\"Not implemented\");\n\tassert(0);\n}\n\nvoid DemoContextD3D12::destroyFluidRenderBuffers(FluidRenderBuffers* buffers)\n{\n\tdelete reinterpret_cast<FluidRenderBuffersD3D12*>(buffers);\n}\n\nShadowMap* DemoContextD3D12::shadowCreate()\n{\n\t// Currently only allows single shadow map, which is pre created\n\treturn (::ShadowMap*)m_shadowMap.get();\n}\n\nvoid DemoContextD3D12::shadowDestroy(ShadowMap* map)\n{\n\tassert(map);\n\tassert(m_shadowMap.get() == (NvCo::Dx12RenderTarget*)map);\n}\n\nvoid DemoContextD3D12::unbindSolidShader()\n{\n\tm_meshDrawParams.renderStage = MESH_DRAW_NULL;\n\n\t// !!! Other code appears to assume that this will be set\n\t//context->m_currentShadowMap = nullptr;\n}\n\nGpuMesh* DemoContextD3D12::createGpuMesh(const Mesh* m)\n{\n\tif (m)\n\t{\n\t\treturn (GpuMesh*)MeshUtil::createRenderMesh(m_meshRenderer.get(), *m);\n\t}\n\treturn nullptr;\n}\n\nvoid DemoContextD3D12::destroyGpuMesh(GpuMesh* m)\n{\n\tdelete reinterpret_cast<RenderMesh*>(m);\n}\n\nDiffuseRenderBuffers* DemoContextD3D12::createDiffuseRenderBuffers(int numDiffuseParticles, bool& enableInterop)\n{\n\treturn reinterpret_cast<DiffuseRenderBuffers*>(new DiffuseRenderBuffersD3D12(numDiffuseParticles));\n}\n\nvoid DemoContextD3D12::destroyDiffuseRenderBuffers(DiffuseRenderBuffers* buffers)\n{\n\tdelete reinterpret_cast<DiffuseRenderBuffersD3D12*>(buffers);\n}\n\nint DemoContextD3D12::getNumDiffuseRenderParticles(DiffuseRenderBuffers* buffers)\n{\n\treturn reinterpret_cast<DiffuseRenderBuffersD3D12*>(buffers)->m_numParticles;\n}\n\nvoid DemoContextD3D12::updateDiffuseRenderBuffers(DiffuseRenderBuffers* buffersIn, Vec4* diffusePositions, Vec4* diffuseVelocities, int numDiffuseParticles)\n{\n\tDiffuseRenderBuffersD3D12& buffers = *reinterpret_cast<DiffuseRenderBuffersD3D12*>(buffersIn);\n\n\ttypedef PointRenderAllocationD3D12 Alloc;\n\n\tAlloc alloc;\n\n\tPointData pointData;\n\tpointData.init();\n\tpointData.numIndices = numDiffuseParticles;\n\tpointData.positions = (Vec4*)diffusePositions;\n\tpointData.anisotropy[0] = (Vec4*)diffuseVelocities;\t\t\t// We'll store the velocities in the anisotropy buffer, cos it's the right size\n\tpointData.numPoints = buffers.m_numParticles;\n\n\tm_meshRenderer->allocateTransitory(pointData, alloc, sizeof(alloc));\n\n\tbuffers.m_indicesView = alloc.m_indexBufferView;\n\tbuffers.m_positionsView = alloc.m_vertexBufferViews[Alloc::VERTEX_VIEW_POSITION];\n\tbuffers.m_velocitiesView = alloc.m_vertexBufferViews[Alloc::VERTEX_VIEW_ANISOTROPY1];\t\t\t// The velocity\n\n\tbuffers.m_numParticles = numDiffuseParticles;\n}\n\nvoid DemoContextD3D12::updateDiffuseRenderBuffers(DiffuseRenderBuffers* buffers, NvFlexSolver* solver)\n{\n\tprintf(\"Not implemented\");\n\tassert(0);\n}\n\nvoid* DemoContextD3D12::getGraphicsCommandQueue() \n{ \n\treturn m_renderContext->m_commandQueue; \n}\n\nvoid DemoContextD3D12::setFillMode(bool wire)\n{\n\tm_meshDrawParams.renderMode = wire ? MESH_RENDER_WIREFRAME : MESH_RENDER_SOLID;\n}\n\nvoid DemoContextD3D12::setCullMode(bool enabled)\n{\n\tm_meshDrawParams.cullMode = enabled ? MESH_CULL_BACK : MESH_CULL_NONE;\n}\n\nvoid DemoContextD3D12::drawImguiGraph()\n{\n\timguiGraphDraw();\n}\n\n} // namespace FlexSample \n"
  },
  {
    "path": "demo/d3d12/demoContextD3D12.h",
    "content": "/*\n* Copyright (c) 2008-2016, NVIDIA CORPORATION.  All rights reserved.\n*\n* NVIDIA CORPORATION and its licensors retain all intellectual property\n* and proprietary rights in and to this software, related documentation\n* and any modifications thereto.  Any use, reproduction, disclosure or\n* distribution of this software and related documentation without an express\n* license agreement from NVIDIA CORPORATION is strictly prohibited.\n*/\n\n#ifndef DEMO_CONTEXT_D3D12_H\n#define DEMO_CONTEXT_D3D12_H\n\n#include <memory>\n#include <NvCoDx12RenderTarget.h>\n\n#include \"meshRenderer.h\"\n#include \"renderStateD3D12.h\"\n#include \"appD3D12Ctx.h\"\n\n// SDL\n#include <SDL.h>\n#include <SDL_video.h>\n\n#include \"shaders.h\"\n#include \"demoContext.h\"\n\n#define NOMINMAX\n#include <d3d12.h>\n\nnamespace FlexSample {  \n\nstruct FlexBuffer\n{\n\tinline FlexBuffer():m_buffer(nullptr) {}\n\tinline operator NvFlexBuffer* () const { return m_buffer; }\n\t~FlexBuffer() { if (m_buffer) { NvFlexUnregisterD3DBuffer(m_buffer); } }\n\n\tNvFlexBuffer* m_buffer;\n};\n\nstruct FluidRenderBuffersD3D12 \n{\n\tFluidRenderBuffersD3D12(int numParticles = 0) \n\t{\n\t\tm_numParticles = numParticles;\n\t\t{\n\t\t\tconst D3D12_VERTEX_BUFFER_VIEW nullView = {};\n\t\t\tm_positionsView = nullView;\n\t\t\tm_densitiesView = nullView;\n\t\t\tm_fluidView = nullView;\n\t\t\tfor (int i = 0; i < _countof(m_anisotropiesViewArr); i++)\n\t\t\t{\n\t\t\t\tm_anisotropiesViewArr[i] = nullView;\n\t\t\t}\n\t\t}\n\t\t{\n\t\t\tD3D12_INDEX_BUFFER_VIEW nullView = {};\n\t\t\tm_indicesView = nullView; \n\t\t}\n\t}\n\n\tint m_numParticles;\n\t\n\tD3D12_VERTEX_BUFFER_VIEW m_positionsView;\n\tD3D12_VERTEX_BUFFER_VIEW m_densitiesView;\n\tD3D12_VERTEX_BUFFER_VIEW m_anisotropiesViewArr[3];\n\tD3D12_INDEX_BUFFER_VIEW m_indicesView;\n\n\tD3D12_VERTEX_BUFFER_VIEW m_fluidView; // to be removed\n\n\t// wrapper buffers that allow Flex to write directly to VBOs\n\tFlexBuffer m_positionsBuf;\n\tFlexBuffer m_densitiesBuf;\n\tFlexBuffer m_anisotropiesBufArr[3];\n\tFlexBuffer m_indicesBuf;\n};\n\n// vertex buffers for diffuse particles\nstruct DiffuseRenderBuffersD3D12 \n{\n\tDiffuseRenderBuffersD3D12(int numParticles = 0)\n\t{\n\t\tm_numParticles = numParticles;\n\t\t{\n\t\t\tconst D3D12_VERTEX_BUFFER_VIEW nullView = {};\n\t\t\tm_positionsView = nullView;\n\t\t\tm_velocitiesView = nullView;\n\t\t}\n\t\t{\n\t\t\tD3D12_INDEX_BUFFER_VIEW nullView = {};\n\t\t\tm_indicesView = nullView;\n\t\t}\n\t}\n\n\tint m_numParticles;\n\n\tD3D12_VERTEX_BUFFER_VIEW m_positionsView;\n\tD3D12_VERTEX_BUFFER_VIEW m_velocitiesView;\n\tD3D12_INDEX_BUFFER_VIEW m_indicesView;\n\n\tFlexBuffer m_indicesBuf;\n\tFlexBuffer m_positionsBuf;\n\tFlexBuffer m_velocitiesBuf;\n};\n\nstruct DemoContextD3D12: public DemoContext\n{\n\t//NV_CO_DECLARE_POLYMORPHIC_CLASS_BASE(DemoContextD3D12)\npublic:\n\tenum\n\t{\n\t\tNUM_COMPOSITE_SRVS = 3,\t\t\t\t\n\t\tMAX_DEBUG_LINE_SIZE = 1024 * 4,\t\t// Will flush if exceeds this\t\t\t\n\t};\n\n\t// DemoContext Impl\n\tvirtual bool initialize(const RenderInitOptions& options) override;\n\tvirtual void startFrame(Vec4 colorIn) override;\n\tvirtual void endFrame() override;\n\tvirtual void presentFrame(bool fullsync) override;\n\n\tvirtual void readFrame(int* backbuffer, int width, int height) override;\n\n\tvirtual void getViewRay(int x, int y, Vec3& origin, Vec3& dir) override;\n\tvirtual void setView(Matrix44 view, Matrix44 projection) override;\n\tvirtual void renderEllipsoids(FluidRenderer* renderer, FluidRenderBuffers* buffers, int n, int offset, float radius, float screenWidth, float screenAspect, float fov, Vec3 lightPos, Vec3 lightTarget, Matrix44 lightTransform, ::ShadowMap* shadowMap, Vec4 color, float blur, float ior, bool debug) override;\n\n\tvirtual void drawMesh(const Mesh* m, Vec3 color) override;\n\tvirtual void drawCloth(const Vec4* positions, const Vec4* normals, const float* uvs, const int* indices, int numTris, int numPositions, int colorIndex, float expand, bool twosided, bool smooth) override;\n\tvirtual void drawRope(Vec4* positions, int* indices, int numIndices, float radius, int color) override;\n\tvirtual void drawPlane(const Vec4& p, bool color) override;\n\tvirtual void drawPlanes(Vec4* planes, int n, float bias) override;\n\tvirtual void drawPoints(FluidRenderBuffers* buffers, int n, int offset, float radius, float screenWidth, float screenAspect, float fov, Vec3 lightPos, Vec3 lightTarget, Matrix44 lightTransform, ::ShadowMap* shadowTex, bool showDensity) override;\n\n\tvirtual void graphicsTimerBegin() override;\n\tvirtual void graphicsTimerEnd() override;\n\n\tvirtual float rendererGetDeviceTimestamps(unsigned long long* begin, unsigned long long* end, unsigned long long* freq) override;\n\n\tvirtual void bindSolidShader(Vec3 lightPos, Vec3 lightTarget, Matrix44 lightTransform, ::ShadowMap* shadowMap, float bias, Vec4 fogColor) override;\n\tvirtual void unbindSolidShader() override;\n\n\tvirtual ShadowMap* shadowCreate() override;\n\tvirtual void shadowDestroy(ShadowMap* map) override;\n\tvirtual void shadowBegin(ShadowMap* map) override;\n\tvirtual void shadowEnd() override;\n\n\tvirtual FluidRenderer* createFluidRenderer(uint32_t width, uint32_t height) override;\n\tvirtual void destroyFluidRenderer(FluidRenderer* renderer) override;\n\n\tvirtual FluidRenderBuffers* createFluidRenderBuffers(int numParticles, bool enableInterop) override;\n\tvirtual void updateFluidRenderBuffers(FluidRenderBuffers* buffers, NvFlexSolver* flex, bool anisotropy, bool density) override;\n\tvirtual void updateFluidRenderBuffers(FluidRenderBuffers* buffers, Vec4* particles, float* densities, Vec4* anisotropy1, Vec4* anisotropy2, Vec4* anisotropy3, int numParticles, int* indices, int numIndices) override;\n\tvirtual void destroyFluidRenderBuffers(FluidRenderBuffers* buffers) override;\n\n\tvirtual GpuMesh* createGpuMesh(const Mesh* m) override;\n\tvirtual void destroyGpuMesh(GpuMesh* mesh) override;\n\tvirtual void drawGpuMesh(GpuMesh* m, const Matrix44& xform, const Vec3& color) override;\n\tvirtual void drawGpuMeshInstances(GpuMesh* m, const Matrix44* xforms, int n, const Vec3& color) override;\n\n\tvirtual DiffuseRenderBuffers* createDiffuseRenderBuffers(int numDiffuseParticles, bool& enableInterop) override;\n\tvirtual void drawDiffuse(FluidRenderer* render, const DiffuseRenderBuffers* buffers, int n, float radius, float screenWidth, float screenAspect, float fov, Vec4 color, Vec3 lightPos, Vec3 lightTarget, Matrix44 lightTransform, ::ShadowMap* shadowMap, float motionBlur, float inscatter, float outscatter, bool shadowEnabled, bool front) override;\n\tvirtual void destroyDiffuseRenderBuffers(DiffuseRenderBuffers* buffers) override;\n\tvirtual void updateDiffuseRenderBuffers(DiffuseRenderBuffers* buffers, Vec4* diffusePositions, Vec4* diffuseVelocities, int numDiffuseParticles) override;\n\tvirtual void updateDiffuseRenderBuffers(DiffuseRenderBuffers* buffers, NvFlexSolver* solver) override;\n\tvirtual int getNumDiffuseRenderParticles(DiffuseRenderBuffers* buffers) override;\n\n\tvirtual void beginLines() override;\n\tvirtual void drawLine(const Vec3& p, const Vec3& q, const Vec4& color) override;\n\tvirtual void endLines() override;\n\n\tvirtual void onSizeChanged(int width, int height, bool minimized) override;\n\n\tvirtual void startGpuWork() override;\n\tvirtual void endGpuWork() override;\n\tvirtual void flushGraphicsAndWait() override;\n\n\tvirtual void setFillMode(bool wire) override;\n\tvirtual void setCullMode(bool enabled) override;\n\n\tvirtual void getRenderDevice(void** device, void** context) override;\n\tvirtual void drawImguiGraph() override;\n\tvirtual void* getGraphicsCommandQueue() override;\n\n\t\t/// Get the render context\n\tinline AppGraphCtxD3D12* getRenderContext() const { return m_renderContext; }\n\t\n\tDemoContextD3D12();\n\t~DemoContextD3D12();\n\n\tint _initRenderResources(const RenderInitOptions& options);\n\tint _initFluidRenderTargets();\n\t\n\tvoid _flushDebugLines();\n\n\tMeshDrawParamsD3D m_meshDrawParams;\n\n\tMatrix44 m_view;\n\tMatrix44 m_proj;\n\n\t// NOTE! These are allocated such that they are in order. This is required because on compositePS.hlsl, I need s0, and s1 to be linear, and then shadowMap samplers.\n\tint m_linearSamplerIndex;\t\t\t\t///< Index to a linear sample on the m_samplerDescriptorHeap\n\tint m_shadowMapLinearSamplerIndex;\t\t///< Index to shadow map depth comparator sampler descriptor in m_samplerDescriptorHeap\n\t\n\tint m_fluidPointDepthSrvIndex;\t\t\t///< Index into srv heap that holds srv for the m_flexMeshPipeline\n\tint m_fluidCompositeSrvBaseIndex;\t\t///< We have a set of NUM_COMPOSITE_SRVS for every back buffer there is\t\t\t\t\t\t\t\t\n\n\tAppGraphCtx* m_appGraphCtx;\n\tAppGraphCtxD3D12* m_renderContext;\n\n\tstd::unique_ptr<MeshRenderer> m_meshRenderer;\n\t\n\t// Render pipelines\n\tstd::unique_ptr<RenderPipeline> m_meshPipeline;\n\tstd::unique_ptr<RenderPipeline> m_pointPipeline;\n\tstd::unique_ptr<RenderPipeline> m_fluidThicknessPipeline;\n\tstd::unique_ptr<RenderPipeline> m_fluidPointPipeline;\n\tstd::unique_ptr<RenderPipeline> m_fluidSmoothPipeline;\n\tstd::unique_ptr<RenderPipeline> m_fluidCompositePipeline;\n\tstd::unique_ptr<RenderPipeline> m_diffusePointPipeline;\n\tstd::unique_ptr<RenderPipeline> m_linePipeline;\n\n\tstd::unique_ptr<NvCo::Dx12RenderTarget> m_fluidThicknessRenderTarget;\n\tstd::unique_ptr<NvCo::Dx12RenderTarget> m_fluidPointRenderTarget;\n\tstd::unique_ptr<NvCo::Dx12RenderTarget> m_fluidSmoothRenderTarget;\n\tstd::unique_ptr<NvCo::Dx12RenderTarget> m_fluidResolvedTarget;\t\t\t\t\t///< The main render target resolved, such that it can be sampled from\n\n\tstd::unique_ptr<RenderMesh> m_screenQuadMesh;\n\n\tstd::unique_ptr<NvCo::Dx12RenderTarget> m_shadowMap;\n\n\tNvCo::Dx12RenderTarget* m_currentShadowMap;\t\t\t\t\t\t\t///< The current read from shadow buffer\n\tNvCo::Dx12RenderTarget* m_targetShadowMap;\t\t\t\t\t\t\t///< The shadow map bound to render to (ie for write with Begin/EndShadow\n\n\tstd::wstring m_executablePath;\n\tstd::wstring m_shadersPath;\n\n\tRenderStateManagerD3D12* m_renderStateManager;\n\tRenderStateD3D12 m_renderState;\n\n\tSDL_Window* m_window;\n\tHWND m_hwnd;\n\n\tint m_msaaSamples;\n\n\t// Synchronization and timing for async compute benchmarking\n\tID3D12Fence*     m_graphicsCompleteFence;\n\tHANDLE\t\t\t m_graphicsCompleteEvent;\n\tUINT64\t\t\t m_graphicsCompleteFenceValue;\n\tID3D12QueryHeap* m_queryHeap;\n\tID3D12Resource*  m_queryResults;\n\n\t// Staging buffer\n\tID3D12Resource* m_bufferStage;\n\tD3D12_PLACED_SUBRESOURCE_FOOTPRINT m_footprint;\n\n\tbool m_inLineDraw;\n\tstd::vector<LineData::Vertex> m_debugLineVertices;\n};\n\n} // namespace FlexSample\n\n#endif // DEMO_CONTEXT_D3D12_H\n"
  },
  {
    "path": "demo/d3d12/diffusePointRenderPipelineD3D12.cpp",
    "content": "#define NOMINMAX\n\n#include <NvCoDx12HelperUtil.h>\n\n#include <external/D3D12/include/d3dx12.h>\n\n#include \"pipelineUtilD3D12.h\"\n#include \"bufferD3D12.h\"\n#include \"meshRendererD3D12.h\"\n#include \"../d3d/shaderCommonD3D.h\"\n\n// Shaders\n#include \"../d3d/shaders/diffuseVS.hlsl.h\"\n#include \"../d3d/shaders/diffuseGS.hlsl.h\"\n#include \"../d3d/shaders/diffusePS.hlsl.h\"\n\n// this\n#include \"diffusePointRenderPipelineD3D12.h\"\n\nnamespace FlexSample {\n\nstatic const D3D12_INPUT_ELEMENT_DESC InputElementDescs[] =\n{\n\t{ \"POSITION\", 0, DXGI_FORMAT_R32G32B32A32_FLOAT, 0, 0, D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA, 0 },\n\t{ \"VELOCITY\", 0, DXGI_FORMAT_R32G32B32A32_FLOAT, 1, 0, D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA, 0 },\n};\n\nDiffusePointRenderPipelineD3D12::DiffusePointRenderPipelineD3D12():\n\tParent(PRIMITIVE_POINT),\n\tm_shadowMapLinearSamplerIndex(-1)\n{\n}\n\nstatic D3D12_FILL_MODE _getFillMode(DiffusePointRenderPipelineD3D12::PipelineStateType type)\n{\n\treturn D3D12_FILL_MODE_SOLID;\n}\n\nstatic D3D12_CULL_MODE _getCullMode(DiffusePointRenderPipelineD3D12::PipelineStateType type)\n{\n\treturn D3D12_CULL_MODE_NONE;\n}\n\nstatic void _initRasterizerDesc(DiffusePointRenderPipelineD3D12::PipelineStateType type, D3D12_RASTERIZER_DESC& desc)\n{\n\tPipelineUtilD3D::initRasterizerDesc(FRONT_WINDING_COUNTER_CLOCKWISE, desc);\n\tdesc.FillMode = _getFillMode(type);\n\tdesc.CullMode = _getCullMode(type);\n}\n\nstatic void _initPipelineStateDesc(DiffusePointRenderPipelineD3D12::PipelineStateType type, NvCo::Dx12RenderTarget* shadowMap, AppGraphCtxD3D12* renderContext, D3D12_GRAPHICS_PIPELINE_STATE_DESC& psoDesc)\n{\n\tPipelineUtilD3D::initTargetFormat(nullptr, renderContext, psoDesc);\n\n\t// Z test, but don't write\n\t{\n\t\tD3D12_DEPTH_STENCIL_DESC& desc = psoDesc.DepthStencilState;\n\t\tdesc.DepthEnable = TRUE;\n\t\tdesc.DepthWriteMask = D3D12_DEPTH_WRITE_MASK_ZERO;\n\t\tdesc.DepthFunc = D3D12_COMPARISON_FUNC_LESS_EQUAL;\n\t}\n\n\tpsoDesc.InputLayout.NumElements = _countof(InputElementDescs);\n\tpsoDesc.InputLayout.pInputElementDescs = InputElementDescs;\n\tpsoDesc.PrimitiveTopologyType = D3D12_PRIMITIVE_TOPOLOGY_TYPE_POINT;\n}\n\nint DiffusePointRenderPipelineD3D12::initialize(const RenderStateD3D12& state, const std::wstring& shadersPath, int shadowMapLinearSamplerIndex, NvCo::Dx12RenderTarget* shadowMap)\n{\n\tusing namespace NvCo;\n\tID3D12Device* device = state.m_device;\n\n\tm_shadowMapLinearSamplerIndex = shadowMapLinearSamplerIndex;\n\n\t// create the pipeline state object\n\t{\n\t\tD3D12_GRAPHICS_PIPELINE_STATE_DESC psoDesc = {};\n\t\t{\n\t\t\t// create blend state\n\t\t\tD3D12_BLEND_DESC& desc = psoDesc.BlendState;\n\t\t\tdesc.AlphaToCoverageEnable = FALSE;\n\t\t\tdesc.IndependentBlendEnable = FALSE;\n\t\t\t{\n\t\t\t\tconst D3D12_RENDER_TARGET_BLEND_DESC defaultRenderTargetBlendDesc =\n\t\t\t\t{\n\t\t\t\t\tTRUE,FALSE,\n\t\t\t\t\tD3D12_BLEND_ONE, D3D12_BLEND_INV_SRC_ALPHA, D3D12_BLEND_OP_ADD,\n\t\t\t\t\tD3D12_BLEND_ONE, D3D12_BLEND_INV_SRC_ALPHA, D3D12_BLEND_OP_ADD,\n\t\t\t\t\tD3D12_LOGIC_OP_NOOP,\n\t\t\t\t\tD3D12_COLOR_WRITE_ENABLE_ALL,\n\t\t\t\t};\n\t\t\t\tfor (UINT i = 0; i < D3D12_SIMULTANEOUS_RENDER_TARGET_COUNT; ++i)\n\t\t\t\t\tdesc.RenderTarget[i] = defaultRenderTargetBlendDesc;\n\t\t\t}\n\t\t}\n\n\n\t\t// create the root signature\n\t\tComPtr<ID3D12RootSignature> signiture;\n\t\t{\n\t\t\tCD3DX12_DESCRIPTOR_RANGE ranges[2];\n\t\t\tCD3DX12_ROOT_PARAMETER params[3];\n\t\t\t\n\t\t\tUINT rootIndex = 0;\n\t\t\t{\n\t\t\t\tD3D12_ROOT_PARAMETER& param = params[rootIndex++];\n\t\t\t\tparam.ParameterType = D3D12_ROOT_PARAMETER_TYPE_CBV;\n\t\t\t\tparam.Descriptor.ShaderRegister = 0u;\n\t\t\t\tparam.Descriptor.RegisterSpace = 0u;\n\t\t\t\tparam.ShaderVisibility = D3D12_SHADER_VISIBILITY_ALL;\n\t\t\t}\n\n\t\t\tD3D12_ROOT_SIGNATURE_DESC desc;\n\t\t\tdesc.NumParameters = rootIndex;\n\t\t\tdesc.pParameters = params;\n\t\t\tdesc.NumStaticSamplers = 0u;\n\t\t\tdesc.pStaticSamplers = nullptr;\n\t\t\tdesc.Flags = D3D12_ROOT_SIGNATURE_FLAG_ALLOW_INPUT_ASSEMBLER_INPUT_LAYOUT;\n\n\t\t\tComPtr<ID3DBlob> sigBlob;\n\t\t\tNV_RETURN_ON_FAIL(Dx12HelperUtil::serializeRootSigniture(desc, D3D_ROOT_SIGNATURE_VERSION_1, sigBlob));\n\t\t\tNV_RETURN_ON_FAIL(device->CreateRootSignature(0u, sigBlob->GetBufferPointer(), sigBlob->GetBufferSize(), IID_PPV_ARGS(&signiture)));\n\t\t}\n\n\t\t{\n\t\t\tpsoDesc.VS = Dx12Blob(g_diffuseVS);\n\t\t\tpsoDesc.GS = Dx12Blob(g_diffuseGS);\n\t\t\tpsoDesc.PS = Dx12Blob(g_diffusePS);\n\n\t\t\tNV_RETURN_ON_FAIL(_initPipelineState(state, shadowMap, PIPELINE_STATE_LIGHT_SOLID, signiture.Get(), psoDesc));\n\t\t}\n\t}\n\n\treturn NV_OK;\n}\n\nint DiffusePointRenderPipelineD3D12::_initPipelineState(const RenderStateD3D12& state, NvCo::Dx12RenderTarget* shadowMap, PipelineStateType pipeType, ID3D12RootSignature* signiture, D3D12_GRAPHICS_PIPELINE_STATE_DESC& psoDesc)\n{\n\tID3D12Device* device = state.m_device;\n\n\t_initRasterizerDesc(pipeType, psoDesc.RasterizerState);\n\t_initPipelineStateDesc(pipeType, shadowMap, state.m_renderContext, psoDesc);\n\n\tpsoDesc.pRootSignature = signiture;\n\n\tPipelineStateD3D12& pipeState = m_states[pipeType];\n\tpipeState.m_rootSignature = signiture;\n\t\n\tNV_RETURN_ON_FAIL(device->CreateGraphicsPipelineState(&psoDesc, IID_PPV_ARGS(&pipeState.m_pipelineState)));\n\treturn NV_OK;\n}\n\nint DiffusePointRenderPipelineD3D12::bind(const void* paramsIn, const void* platformState)\n{\n\tconst RenderStateD3D12& state = *(RenderStateD3D12*)platformState;\n\tconst DiffuseDrawParamsD3D& params = *(DiffuseDrawParamsD3D*)paramsIn;\n\n\t// Set up constant buffer\n\tNvCo::Dx12CircularResourceHeap::Cursor cursor;\n\t{\n\t\tHlsl::DiffuseShaderConst constBuf;\n\t\tRenderParamsUtilD3D::calcDiffuseConstantBuffer(params, constBuf);\n\t\tcursor = state.m_constantHeap->newConstantBuffer(constBuf);\n\t\tif (!cursor.isValid())\n\t\t{\n\t\t\treturn NV_FAIL;\n\t\t}\n\t}\n\n\tconst PipelineStateType pipeType = PIPELINE_STATE_LIGHT_SOLID;\n\tPipelineStateD3D12& pipeState = m_states[pipeType];\n\tif (!pipeState.isValid())\n\t{\n\t\treturn NV_FAIL;\n\t}\n\n\tID3D12GraphicsCommandList* commandList = state.m_commandList;\n\tcommandList->SetGraphicsRootSignature(pipeState.m_rootSignature.Get());\n\tcommandList->SetPipelineState(pipeState.m_pipelineState.Get());\n\n\tD3D12_GPU_VIRTUAL_ADDRESS cbvHandle = state.m_constantHeap->getGpuHandle(cursor);\n\tcommandList->SetGraphicsRootConstantBufferView(0, cbvHandle);\n\n\t{\n\t\tID3D12DescriptorHeap* heaps[] = { state.m_srvCbvUavDescriptorHeap->getHeap() }; \n\t\tcommandList->SetDescriptorHeaps(_countof(heaps), heaps);\n\t}\n\treturn NV_OK;\n}\n\nint DiffusePointRenderPipelineD3D12::draw(const RenderAllocation& allocIn, size_t sizeOfAlloc, const void* platformState)\n{\n\ttypedef PointRenderAllocationD3D12 Alloc;\n\tconst RenderStateD3D12& state = *(RenderStateD3D12*)platformState;\n\n\tassert(sizeof(Alloc) == sizeOfAlloc);\n\tconst Alloc& alloc = static_cast<const Alloc&>(allocIn);\n\n\tassert(alloc.m_numPrimitives >= 0);\n\n\tID3D12GraphicsCommandList* commandList = state.m_commandList;\n\tD3D12_VERTEX_BUFFER_VIEW vertexBufferViews[] =\n\t{\n\t\talloc.m_vertexBufferViews[Alloc::VERTEX_VIEW_POSITION],\n\t\talloc.m_vertexBufferViews[Alloc::VERTEX_VIEW_ANISOTROPY1],\t\t\t// Actually holds velocity\n\t};\n\n\tcommandList->IASetVertexBuffers(0, _countof(vertexBufferViews), vertexBufferViews);\n\tcommandList->IASetIndexBuffer(&alloc.m_indexBufferView);\n\tcommandList->IASetPrimitiveTopology(D3D_PRIMITIVE_TOPOLOGY_POINTLIST);\n\n\tif (alloc.m_indexBufferView.SizeInBytes)\n\t{\n\t\tcommandList->DrawIndexedInstanced((UINT)allocIn.m_numPrimitives, 1, 0, 0, 0);\n\t}\n\telse\n\t{\n\t\tcommandList->DrawInstanced((UINT)allocIn.m_numPrimitives, 1, 0, 0);\n\t}\n\treturn NV_OK;\n}\n\n} // namespace FlexSample"
  },
  {
    "path": "demo/d3d12/diffusePointRenderPipelineD3D12.h",
    "content": "/*\n* Copyright (c) 2008-2016, NVIDIA CORPORATION.  All rights reserved.\n*\n* NVIDIA CORPORATION and its licensors retain all intellectual property\n* and proprietary rights in and to this software, related documentation\n* and any modifications thereto.  Any use, reproduction, disclosure or\n* distribution of this software and related documentation without an express\n* license agreement from NVIDIA CORPORATION is strictly prohibited.\n*/\n\n#ifndef DIFFUSE_POINT_RENDER_PIPELINE_D3D12_H\n#define DIFFUSE_POINT_RENDER_PIPELINE_D3D12_H\n\n#include <DirectXMath.h>\n#include \"../d3d/renderParamsD3D.h\"\n#include \"renderStateD3D12.h\"\n#include \"meshRenderer.h\"\n\n#include <NvCoDx12RenderTarget.h>\n\nnamespace FlexSample {\nusing namespace nvidia;\n\nstruct DiffusePointRenderPipelineD3D12: public RenderPipeline\n{\n\t//NV_CO_DECLARE_POLYMORPHIC_CLASS(DiffusePointRenderPipelineD3D12, RenderPipeline);\npublic:\n\ttypedef RenderPipeline Parent;\n\n\tenum PipelineStateType\n\t{\t\t\n\t\tPIPELINE_STATE_LIGHT_SOLID,\t\t\t\t\n\t\tPIPELINE_STATE_COUNT_OF,\n\t};\n\n\tDiffusePointRenderPipelineD3D12();\n\t\n\t\t/// Initialize\n\tint initialize(const RenderStateD3D12& state, const std::wstring& shadersDir, int shadowMapLinearSamplerIndex, NvCo::Dx12RenderTarget* shadowMap);\n\t\t/// Do the binding\n\tvirtual int bind(const void* paramsIn, const void* platformState) override;\n\tvirtual int draw(const RenderAllocation& alloc, size_t sizeOfAlloc, const void* platformState) override;\n\n\tprotected:\n\n\tint _initPipelineState(const RenderStateD3D12& state, NvCo::Dx12RenderTarget* shadowMap, PipelineStateType pipeType, ID3D12RootSignature* signiture, D3D12_GRAPHICS_PIPELINE_STATE_DESC& psoDesc);\n\n\tint m_shadowMapLinearSamplerIndex;\t\t\t//< The index to the linear sampler in the m_samplerHeap\n\tPipelineStateD3D12 m_states[PIPELINE_STATE_COUNT_OF];\n};\n\n} // namespace FlexSample\n\n#endif // DIFFUSE_POINT_RENDER_PIPELINE_D3D12_H"
  },
  {
    "path": "demo/d3d12/fluidCompositeRenderPipelineD3D12.cpp",
    "content": "#define NOMINMAX\n\n#include <NvCoDx12HelperUtil.h>\n#include <external/D3D12/include/d3dx12.h>\n\n#include \"pipelineUtilD3D12.h\"\n#include \"meshRenderer.h\"\n#include \"bufferD3D12.h\"\n#include \"meshRendererD3D12.h\"\n#include \"../d3d/shaderCommonD3D.h\"\n\n// Shaders\n#include \"../d3d/shaders/passThroughVS.hlsl.h\"\n#include \"../d3d/shaders/compositePS.hlsl.h\"\n\n// this\n#include \"fluidCompositeRenderPipelineD3D12.h\"\n\n#define NOMINMAX\n#include <wrl.h>\nusing namespace Microsoft::WRL;\n\nnamespace FlexSample {\n\nFluidCompositeRenderPipelineD3D12::FluidCompositeRenderPipelineD3D12():\n\tParent(PRIMITIVE_TRIANGLE)\n{\n}\n\nstatic void _initPipelineStateDesc(FluidCompositeRenderPipelineD3D12::PipelineStateType type, AppGraphCtxD3D12* renderContext, D3D12_GRAPHICS_PIPELINE_STATE_DESC& psoDesc)\n{\n\tPipelineUtilD3D::initTargetFormat(nullptr, renderContext, psoDesc);\n\n\tpsoDesc.InputLayout.NumElements = _countof(MeshRendererD3D12::MeshInputElementDescs);\n\tpsoDesc.InputLayout.pInputElementDescs = MeshRendererD3D12::MeshInputElementDescs;\n\tpsoDesc.PrimitiveTopologyType = D3D12_PRIMITIVE_TOPOLOGY_TYPE_TRIANGLE;\n}\n\nint FluidCompositeRenderPipelineD3D12::initialize(const RenderStateD3D12& state, const std::wstring& shadersPath)\n{\n\tusing namespace NvCo;\n\tID3D12Device* device = state.m_device;\n\n\t// create the pipeline state object\n\t{\n\t\tD3D12_GRAPHICS_PIPELINE_STATE_DESC psoDesc = {};\n\t\tPipelineUtilD3D::initSolidBlendDesc(psoDesc.BlendState);\n\n\t\t// create the root signature\n\t\tComPtr<ID3D12RootSignature> signiture;\n\t\t{\n\t\t\tCD3DX12_DESCRIPTOR_RANGE ranges[2];\n\t\t\tCD3DX12_ROOT_PARAMETER params[10];\n\t\t\t\n\t\t\tint rangeIndex = 0;\n\t\t\tUINT rootIndex = 0;\n\t\t\t{\n\t\t\t\tD3D12_ROOT_PARAMETER& param = params[rootIndex++];\n\t\t\t\tparam.ParameterType = D3D12_ROOT_PARAMETER_TYPE_CBV;\n\t\t\t\tparam.Descriptor.ShaderRegister = 0u;\n\t\t\t\tparam.Descriptor.RegisterSpace = 0u;\n\t\t\t\tparam.ShaderVisibility = D3D12_SHADER_VISIBILITY_ALL;\n\t\t\t}\n\n\t\t\t// depthTex, sceneTex, shadowTex\n\t\t\tconst int numSrvs = 3;\n\t\t\tif (numSrvs > 0)\n\t\t\t{\n\t\t\t\tranges[0].Init(D3D12_DESCRIPTOR_RANGE_TYPE_SRV, numSrvs, 0);\n\t\t\t\tparams[rootIndex++].InitAsDescriptorTable(1, &ranges[rangeIndex], D3D12_SHADER_VISIBILITY_PIXEL);\n\t\t\t\trangeIndex++;\n\t\t\t}\n\n\t\t\tconst int numSamplers = 2;\n\t\t\tif (numSamplers > 1)\n\t\t\t{\n\t\t\t\tranges[rangeIndex].Init(D3D12_DESCRIPTOR_RANGE_TYPE_SAMPLER, numSamplers, 0);\n\t\t\t\tparams[rootIndex++].InitAsDescriptorTable(1, &ranges[rangeIndex], D3D12_SHADER_VISIBILITY_PIXEL);\n\t\t\t\trangeIndex++;\n\t\t\t}\n\n\t\t\tD3D12_ROOT_SIGNATURE_DESC desc;\n\t\t\tdesc.NumParameters = rootIndex;\n\t\t\tdesc.pParameters = params;\n\t\t\tdesc.NumStaticSamplers = 0u;\n\t\t\tdesc.pStaticSamplers = nullptr;\n\t\t\tdesc.Flags = D3D12_ROOT_SIGNATURE_FLAG_ALLOW_INPUT_ASSEMBLER_INPUT_LAYOUT;\n\n\t\t\tComPtr<ID3DBlob> sigBlob;\n\t\t\tNV_RETURN_ON_FAIL(Dx12HelperUtil::serializeRootSigniture(desc, D3D_ROOT_SIGNATURE_VERSION_1, sigBlob));\n\t\t\tNV_RETURN_ON_FAIL(device->CreateRootSignature(0u, sigBlob->GetBufferPointer(), sigBlob->GetBufferSize(), IID_PPV_ARGS(&signiture)));\n\t\t}\n\n\t\t{\n\t\t\tpsoDesc.VS = Dx12Blob(g_passThroughVS);\n\t\t\tpsoDesc.PS = Dx12Blob(g_compositePS);\n\n\t\t\tNV_RETURN_ON_FAIL(_initPipelineState(state, PIPELINE_STATE_NORMAL, signiture.Get(), psoDesc));\n\t\t}\n\t}\n\n\treturn NV_OK;\n}\n\nint FluidCompositeRenderPipelineD3D12::_initPipelineState(const RenderStateD3D12& state, PipelineStateType pipeType, ID3D12RootSignature* signiture, D3D12_GRAPHICS_PIPELINE_STATE_DESC& psoDesc)\n{\n\tID3D12Device* device = state.m_device;\n\n\tPipelineUtilD3D::initRasterizerDesc(FRONT_WINDING_CLOCKWISE, psoDesc.RasterizerState);\n\t_initPipelineStateDesc(pipeType, state.m_renderContext, psoDesc);\n\n\tpsoDesc.pRootSignature = signiture;\n\n\tPipelineStateD3D12& pipeState = m_states[pipeType];\n\tpipeState.m_rootSignature = signiture;\n\t\n\tNV_RETURN_ON_FAIL(device->CreateGraphicsPipelineState(&psoDesc, IID_PPV_ARGS(&pipeState.m_pipelineState)));\n\treturn NV_OK;\n}\n\nint FluidCompositeRenderPipelineD3D12::bind(const void* paramsIn, const void* platformState)\n{\n\tconst RenderStateD3D12& state = *(RenderStateD3D12*)platformState;\n\tconst FluidDrawParamsD3D& params = *(FluidDrawParamsD3D*)paramsIn;\n\n\tPipelineStateD3D12& pipeState = m_states[PIPELINE_STATE_NORMAL];\n\tif (!pipeState.isValid())\n\t{\n\t\treturn NV_FAIL;\n\t}\n\n\tNvCo::Dx12CircularResourceHeap::Cursor cursor;\n\t{\n\t\tHlsl::FluidShaderConst constBuf;\n\t\tRenderParamsUtilD3D::calcFluidCompositeConstantBuffer(params, constBuf);\n\t\tcursor = state.m_constantHeap->newConstantBuffer(constBuf);\n\t\tif (!cursor.isValid())\n\t\t{\n\t\t\treturn NV_FAIL;\n\t\t}\n\t}\n\n\tID3D12GraphicsCommandList* commandList = state.m_commandList;\n\n\tcommandList->SetGraphicsRootSignature(pipeState.m_rootSignature.Get());\n\tcommandList->SetPipelineState(pipeState.m_pipelineState.Get());\n\n\tD3D12_GPU_VIRTUAL_ADDRESS cbvHandle = state.m_constantHeap->getGpuHandle(cursor);\n\tcommandList->SetGraphicsRootConstantBufferView(0, cbvHandle);\n\n\tID3D12DescriptorHeap* heaps[] = { state.m_srvCbvUavDescriptorHeap->getHeap(), state.m_samplerDescriptorHeap->getHeap() };\n\tcommandList->SetDescriptorHeaps(_countof(heaps), heaps);\n\n\t// Bind the srvs\n\tcommandList->SetGraphicsRootDescriptorTable(1, state.m_srvCbvUavDescriptorHeap->getGpuHandle(params.m_srvDescriptorBase));\n\t// Bind the samplers\n\tcommandList->SetGraphicsRootDescriptorTable(2, state.m_samplerDescriptorHeap->getGpuHandle(params.m_sampleDescriptorBase));\n\treturn NV_OK;\n}\n\nint FluidCompositeRenderPipelineD3D12::draw(const RenderAllocation& allocIn, size_t sizeOfAlloc, const void* platformState)\n{\n\treturn MeshRendererD3D12::defaultDraw(allocIn, sizeOfAlloc, platformState);\n}\n\n} // namespace FlexSample"
  },
  {
    "path": "demo/d3d12/fluidCompositeRenderPipelineD3D12.h",
    "content": "/*\n* Copyright (c) 2008-2016, NVIDIA CORPORATION.  All rights reserved.\n*\n* NVIDIA CORPORATION and its licensors retain all intellectual property\n* and proprietary rights in and to this software, related documentation\n* and any modifications thereto.  Any use, reproduction, disclosure or\n* distribution of this software and related documentation without an express\n* license agreement from NVIDIA CORPORATION is strictly prohibited.\n*/\n\n#ifndef FLUID_COMPOSITE_RENDER_PIPELINE_D3D12_H\n#define FLUID_COMPOSITE_RENDER_PIPELINE_D3D12_H\n\n#include <DirectXMath.h>\n#include \"../d3d/renderParamsD3D.h\"\n#include \"renderStateD3D12.h\"\n#include \"meshRenderer.h\"\n\n#include <NvCoDx12RenderTarget.h>\n\n#include \"fluidEllipsoidRenderPipelineD3D12.h\"\n\nnamespace FlexSample {\n\nstruct FluidCompositeRenderPipelineD3D12: public RenderPipeline\n{\n\t//NV_CO_DECLARE_POLYMORPHIC_CLASS(FluidCompositeRenderPipelineD3D12, RenderPipeline);\npublic:\n\ttypedef RenderPipeline Parent;\n\n\tenum PipelineStateType\n\t{\n\t\tPIPELINE_STATE_NORMAL,\n\t\tPIPELINE_STATE_COUNT_OF,\n\t};\n\n\tFluidCompositeRenderPipelineD3D12();\n\t\n\t\t/// Initialize\n\tint initialize(const RenderStateD3D12& state, const std::wstring& shadersPath);\n\t\t/// Do the binding\n\tvirtual int bind(const void* paramsIn, const void* platformState) override;\n\tvirtual int draw(const RenderAllocation& alloc, size_t sizeOfAlloc, const void* platformState) override;\n\n\tprotected:\n\n\tint _initPipelineState(const RenderStateD3D12& state, PipelineStateType pipeType, ID3D12RootSignature* signiture, D3D12_GRAPHICS_PIPELINE_STATE_DESC& psoDesc);\n\n\tPipelineStateD3D12 m_states[PIPELINE_STATE_COUNT_OF];\n};\n\n} // namespace FlexSample\n\n#endif"
  },
  {
    "path": "demo/d3d12/fluidEllipsoidRenderPipelineD3D12.cpp",
    "content": "#define NOMINMAX\n\n#include <NvCoDx12HelperUtil.h>\n\n#include <external/D3D12/include/d3dx12.h>\n\n#include \"pipelineUtilD3D12.h\"\n#include \"meshRenderer.h\"\n#include \"bufferD3D12.h\"\n#include \"meshRendererD3D12.h\"\n#include \"../d3d/shaderCommonD3D.h\"\n\n#include \"../d3d/shaders/ellipsoidDepthVS.hlsl.h\"\n#include \"../d3d/shaders/ellipsoidDepthGS.hlsl.h\"\n#include \"../d3d/shaders/ellipsoidDepthPS.hlsl.h\"\n\n// this\n#include \"fluidEllipsoidRenderPipelineD3D12.h\"\n\nnamespace FlexSample {\n\nstatic const D3D12_INPUT_ELEMENT_DESC AnisotropicInputElementDescs[] =\n{\n\t{ \"POSITION\", 0, DXGI_FORMAT_R32G32B32A32_FLOAT, 0, 0, D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA, 0 },\n\t{ \"U\", 0, DXGI_FORMAT_R32G32B32A32_FLOAT, 1, 0, D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA, 0 },\n\t{ \"V\", 0, DXGI_FORMAT_R32G32B32A32_FLOAT, 2, 0, D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA, 0 },\n\t{ \"W\", 0, DXGI_FORMAT_R32G32B32A32_FLOAT, 3, 0, D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA, 0 },\n};\n\nFluidEllipsoidRenderPipelineD3D12::FluidEllipsoidRenderPipelineD3D12():\n\tParent(PRIMITIVE_POINT)\n{\n}\n\nstatic void _initPipelineStateDesc(FluidEllipsoidRenderPipelineD3D12::PipelineStateType type, NvCo::Dx12RenderTarget* renderTarget, D3D12_GRAPHICS_PIPELINE_STATE_DESC& psoDesc)\n{\n\tPipelineUtilD3D::initTargetFormat(renderTarget, nullptr, psoDesc);\n\n\tpsoDesc.InputLayout.NumElements = _countof(AnisotropicInputElementDescs);\n\tpsoDesc.InputLayout.pInputElementDescs = AnisotropicInputElementDescs;\n\tpsoDesc.PrimitiveTopologyType = D3D12_PRIMITIVE_TOPOLOGY_TYPE_POINT;\n}\n\nint FluidEllipsoidRenderPipelineD3D12::initialize(const RenderStateD3D12& state, const std::wstring& shadersPath, NvCo::Dx12RenderTarget* renderTarget)\n{\n\tusing namespace NvCo;\n\tID3D12Device* device = state.m_device;\n\n\t// create the pipeline state object\n\t{\n\t\tD3D12_GRAPHICS_PIPELINE_STATE_DESC psoDesc = {};\n\t\tPipelineUtilD3D::initSolidBlendDesc(psoDesc.BlendState);\n\n\t\t// create the root signature\n\t\tComPtr<ID3D12RootSignature> signiture;\n\t\t{\n\t\t\tCD3DX12_DESCRIPTOR_RANGE ranges[2];\n\t\t\tCD3DX12_ROOT_PARAMETER params[3];\n\t\t\t\n\t\t\tUINT rootIndex = 0;\n\t\t\t{\n\t\t\t\tD3D12_ROOT_PARAMETER& param = params[rootIndex++];\n\t\t\t\tparam.ParameterType = D3D12_ROOT_PARAMETER_TYPE_CBV;\n\t\t\t\tparam.Descriptor.ShaderRegister = 0u;\n\t\t\t\tparam.Descriptor.RegisterSpace = 0u;\n\t\t\t\tparam.ShaderVisibility = D3D12_SHADER_VISIBILITY_ALL;\n\t\t\t}\n\n\t\t\tD3D12_ROOT_SIGNATURE_DESC desc;\n\t\t\tdesc.NumParameters = rootIndex;\n\t\t\tdesc.pParameters = params;\n\t\t\tdesc.NumStaticSamplers = 0u;\n\t\t\tdesc.pStaticSamplers = nullptr;\n\t\t\tdesc.Flags = D3D12_ROOT_SIGNATURE_FLAG_ALLOW_INPUT_ASSEMBLER_INPUT_LAYOUT;\n\n\t\t\tComPtr<ID3DBlob> sigBlob;\n\t\t\tNV_RETURN_ON_FAIL(Dx12HelperUtil::serializeRootSigniture(desc, D3D_ROOT_SIGNATURE_VERSION_1, sigBlob));\n\t\t\tNV_RETURN_ON_FAIL(device->CreateRootSignature(0u, sigBlob->GetBufferPointer(), sigBlob->GetBufferSize(), IID_PPV_ARGS(&signiture)));\n\t\t}\n\n\t\t{\n\t\t\tpsoDesc.VS = Dx12Blob(g_ellipsoidDepthVS);\n\t\t\tpsoDesc.GS = Dx12Blob(g_ellipsoidDepthGS);\n\t\t\tpsoDesc.PS = Dx12Blob(g_ellipsoidDepthPS);\n\n\t\t\tNV_RETURN_ON_FAIL(_initPipelineState(state, FRONT_WINDING_COUNTER_CLOCKWISE, renderTarget, PIPELINE_NORMAL, signiture.Get(), psoDesc));\n\t\t}\n\t}\n\n\treturn NV_OK;\n}\n\nint FluidEllipsoidRenderPipelineD3D12::_initPipelineState(const RenderStateD3D12& state, FrontWindingType winding, NvCo::Dx12RenderTarget* renderTarget, PipelineStateType pipeType, ID3D12RootSignature* signiture, D3D12_GRAPHICS_PIPELINE_STATE_DESC& psoDesc)\n{\n\tID3D12Device* device = state.m_device;\n\n\tPipelineUtilD3D::initRasterizerDesc(winding, psoDesc.RasterizerState);\n\n\t_initPipelineStateDesc(pipeType, renderTarget, psoDesc);\n\n\tpsoDesc.pRootSignature = signiture;\n\n\tPipelineStateD3D12& pipeState = m_states[pipeType];\n\tpipeState.m_rootSignature = signiture;\n\t\n\tNV_RETURN_ON_FAIL(device->CreateGraphicsPipelineState(&psoDesc, IID_PPV_ARGS(&pipeState.m_pipelineState)));\n\treturn NV_OK;\n}\n\nint FluidEllipsoidRenderPipelineD3D12::bind(const void* paramsIn, const void* platformState)\n{\n\tconst RenderStateD3D12& state = *(RenderStateD3D12*)platformState;\n\tconst FluidDrawParamsD3D& params = *(FluidDrawParamsD3D*)paramsIn;\n\n\tPipelineStateType pipeType = getPipelineStateType(params.renderStage, params.renderMode, params.cullMode);\n\tPipelineStateD3D12& pipeState = m_states[pipeType];\n\tif (!pipeState.isValid())\n\t{\n\t\treturn NV_FAIL;\n\t}\n\t\n\tNvCo::Dx12CircularResourceHeap::Cursor cursor;\n\t{\n\t\tHlsl::FluidShaderConst constBuf;\n\t\tRenderParamsUtilD3D::calcFluidConstantBuffer(params, constBuf);\n\t\tcursor = state.m_constantHeap->newConstantBuffer(constBuf);\n\t\tif (!cursor.isValid())\n\t\t{\n\t\t\treturn NV_FAIL;\n\t\t}\n\t}\n\n\tID3D12GraphicsCommandList* commandList = state.m_commandList;\n\n\tcommandList->SetGraphicsRootSignature(pipeState.m_rootSignature.Get());\n\tcommandList->SetPipelineState(pipeState.m_pipelineState.Get());\n\n\tD3D12_GPU_VIRTUAL_ADDRESS cbvHandle = state.m_constantHeap->getGpuHandle(cursor);\n\tcommandList->SetGraphicsRootConstantBufferView(0, cbvHandle);\n\n\tID3D12DescriptorHeap* heaps[] = { nullptr };\n\tcommandList->SetDescriptorHeaps(0, heaps);\n\n\treturn NV_OK;\n}\n\nint FluidEllipsoidRenderPipelineD3D12::draw(const RenderAllocation& allocIn, size_t sizeOfAlloc, const void* platformState)\n{\n\ttypedef PointRenderAllocationD3D12 Alloc;\n\tconst RenderStateD3D12& state = *(RenderStateD3D12*)platformState;\n\n\tassert(sizeof(Alloc) == sizeOfAlloc);\n\tconst Alloc& alloc = static_cast<const Alloc&>(allocIn);\n\n\tassert(allocIn.m_numPrimitives >= 0);\n\n\tID3D12GraphicsCommandList* commandList = state.m_commandList;\n\n\tD3D12_VERTEX_BUFFER_VIEW vertexBufferViews[4] = \n\t{\n\t\talloc.m_vertexBufferViews[Alloc::VERTEX_VIEW_POSITION],\n\t\talloc.m_vertexBufferViews[Alloc::VERTEX_VIEW_ANISOTROPY1],\n\t\talloc.m_vertexBufferViews[Alloc::VERTEX_VIEW_ANISOTROPY2],\n\t\talloc.m_vertexBufferViews[Alloc::VERTEX_VIEW_ANISOTROPY3],\n\t};\n\n\tcommandList->IASetVertexBuffers(0, _countof(vertexBufferViews), vertexBufferViews);\n\tcommandList->IASetIndexBuffer(&alloc.m_indexBufferView);\n\n\tcommandList->IASetPrimitiveTopology(D3D_PRIMITIVE_TOPOLOGY_POINTLIST);\n\n\tcommandList->DrawIndexedInstanced((UINT)allocIn.m_numPrimitives, 1, (UINT)allocIn.m_offset, 0, 0);\n\treturn NV_OK;\n}\n\n} // namespace FlexSample"
  },
  {
    "path": "demo/d3d12/fluidEllipsoidRenderPipelineD3D12.h",
    "content": "/*\n* Copyright (c) 2008-2016, NVIDIA CORPORATION.  All rights reserved.\n*\n* NVIDIA CORPORATION and its licensors retain all intellectual property\n* and proprietary rights in and to this software, related documentation\n* and any modifications thereto.  Any use, reproduction, disclosure or\n* distribution of this software and related documentation without an express\n* license agreement from NVIDIA CORPORATION is strictly prohibited.\n*/\n\n#ifndef FLUID_ELLIPSOID_RENDER_PIPELINE_D3D12_H\n#define FLUID_ELLIPSOID_RENDER_PIPELINE_D3D12_H\n\n#include <DirectXMath.h>\n#include \"RenderStateD3D12.h\"\n#include \"../d3d/renderParamsD3D.h\"\n#include \"meshRenderer.h\"\n\n#include <NvCoDx12RenderTarget.h>\n\nnamespace FlexHlsl {\nstruct FluidShaderConst;\n} // namespace FlexHlsl\n\nnamespace FlexSample {\nusing namespace nvidia;\n\nstruct FluidEllipsoidRenderPipelineD3D12: public RenderPipeline\n{\n\t//NV_CO_DECLARE_POLYMORPHIC_CLASS(FluidEllipsoidRenderPipelineD3D12, RenderPipeline);\npublic:\n\ttypedef RenderPipeline Parent;\n\n\tenum PipelineStateType\n\t{\n\t\tPIPELINE_NORMAL,\n\t\tPIPELINE_STATE_COUNT_OF,\n\t};\n\n\tFluidEllipsoidRenderPipelineD3D12();\n\t\n\t\t/// Initialize\n\tint initialize(const RenderStateD3D12& state, const std::wstring& shadersDir, NvCo::Dx12RenderTarget* renderTarget);\n\t\t/// Do the binding\n\tvirtual int bind(const void* paramsIn, const void* platformState) override;\n\tvirtual int draw(const RenderAllocation& alloc, size_t sizeOfAlloc, const void* platformState) override;\n\n\t\t/// Convert into a single pipeline state type\n\tstatic PipelineStateType getPipelineStateType(FluidDrawStage stage, FluidRenderMode mode, FluidCullMode cull) { return PIPELINE_NORMAL; }\n\t\n\tprotected:\n\n\tint _initPipelineState(const RenderStateD3D12& state, FrontWindingType winding, NvCo::Dx12RenderTarget* renderTarget, PipelineStateType pipeType, ID3D12RootSignature* signiture, D3D12_GRAPHICS_PIPELINE_STATE_DESC& psoDesc);\n\n\tPipelineStateD3D12 m_states[PIPELINE_STATE_COUNT_OF];\n};\n\n} // namespace FlexSample\n\n#endif"
  },
  {
    "path": "demo/d3d12/fluidSmoothRenderPipelineD3D12.cpp",
    "content": "#define NOMINMAX\n\n#include <NvCoDx12HelperUtil.h>\n#include <external/D3D12/include/d3dx12.h>\n\n#include \"meshRenderer.h\"\n#include \"pipelineUtilD3D12.h\"\n#include \"bufferD3D12.h\"\n#include \"meshRendererD3D12.h\"\n#include \"../d3d/shaderCommonD3D.h\"\n\n// this\n#include \"fluidSmoothRenderPipelineD3D12.h\"\n\n// Shaders\n#include \"../d3d/shaders/passThroughVS.hlsl.h\"\n#include \"../d3d/shaders/blurDepthPS.hlsl.h\"\n\nnamespace FlexSample {\n\nFluidSmoothRenderPipelineD3D12::FluidSmoothRenderPipelineD3D12(int fluidPointDepthSrvIndex):\n\tParent(PRIMITIVE_TRIANGLE),\n\tm_fluidPointDepthSrvIndex(fluidPointDepthSrvIndex)\n{\n}\n\nstatic void _initPipelineStateDesc(FluidSmoothRenderPipelineD3D12::PipelineStateType type, NvCo::Dx12RenderTarget* renderTarget, AppGraphCtxD3D12* renderContext, D3D12_GRAPHICS_PIPELINE_STATE_DESC& psoDesc)\n{\n\tPipelineUtilD3D::initTargetFormat(renderTarget, nullptr, psoDesc);\n\n\tpsoDesc.InputLayout.NumElements = _countof(MeshRendererD3D12::MeshInputElementDescs);\n\tpsoDesc.InputLayout.pInputElementDescs = MeshRendererD3D12::MeshInputElementDescs;\n\tpsoDesc.PrimitiveTopologyType = D3D12_PRIMITIVE_TOPOLOGY_TYPE_TRIANGLE;\n}\n\nint FluidSmoothRenderPipelineD3D12::initialize(const RenderStateD3D12& state, const std::wstring& shadersPath, NvCo::Dx12RenderTarget* renderTarget)\n{\n\tusing namespace NvCo;\n\tID3D12Device* device = state.m_device;\n\n\t// create the pipeline state object\n\t{\n\t\tD3D12_GRAPHICS_PIPELINE_STATE_DESC psoDesc = {};\n\t\tPipelineUtilD3D::initSolidBlendDesc(psoDesc.BlendState);\n\n\t\t// create the root signature\n\t\tComPtr<ID3D12RootSignature> signiture;\n\t\t{\n\t\t\tCD3DX12_DESCRIPTOR_RANGE ranges[2];\n\t\t\tCD3DX12_ROOT_PARAMETER params[3];\n\t\t\t\n\t\t\tUINT rootIndex = 0;\n\t\t\t{\n\t\t\t\tD3D12_ROOT_PARAMETER& param = params[rootIndex++];\n\t\t\t\tparam.ParameterType = D3D12_ROOT_PARAMETER_TYPE_CBV;\n\t\t\t\tparam.Descriptor.ShaderRegister = 0u;\n\t\t\t\tparam.Descriptor.RegisterSpace = 0u;\n\t\t\t\tparam.ShaderVisibility = D3D12_SHADER_VISIBILITY_ALL;\n\t\t\t}\n\n\t\t\tconst int numSrvs = 2;\n\t\t\tif (numSrvs > 0)\n\t\t\t{\n\t\t\t\tranges[0].Init(D3D12_DESCRIPTOR_RANGE_TYPE_SRV, numSrvs, 0);\n\t\t\t\tparams[rootIndex++].InitAsDescriptorTable(1, &ranges[0], D3D12_SHADER_VISIBILITY_PIXEL);\n\t\t\t}\n\t\t\tconst int numSamplers = 1;\n\t\t\tif (numSamplers > 0)\n\t\t\t{\n\t\t\t\tranges[1].Init(D3D12_DESCRIPTOR_RANGE_TYPE_SAMPLER, numSamplers, 0);\n\t\t\t\tparams[rootIndex++].InitAsDescriptorTable(1, &ranges[1], D3D12_SHADER_VISIBILITY_PIXEL);\n\t\t\t}\n\n\t\t\tD3D12_ROOT_SIGNATURE_DESC desc;\n\t\t\tdesc.NumParameters = rootIndex;\n\t\t\tdesc.pParameters = params;\n\t\t\tdesc.NumStaticSamplers = 0u;\n\t\t\tdesc.pStaticSamplers = nullptr;\n\t\t\tdesc.Flags = D3D12_ROOT_SIGNATURE_FLAG_ALLOW_INPUT_ASSEMBLER_INPUT_LAYOUT;\n\n\t\t\tComPtr<ID3DBlob> sigBlob;\n\t\t\tNV_RETURN_ON_FAIL(Dx12HelperUtil::serializeRootSigniture(desc, D3D_ROOT_SIGNATURE_VERSION_1, sigBlob));\n\t\t\tNV_RETURN_ON_FAIL(device->CreateRootSignature(0u, sigBlob->GetBufferPointer(), sigBlob->GetBufferSize(), IID_PPV_ARGS(&signiture)));\n\t\t}\n\n\t\t{\n\t\t\tpsoDesc.VS = Dx12Blob(g_passThroughVS);\n\t\t\tpsoDesc.PS = Dx12Blob(g_blurDepthPS);\n\n\t\t\tNV_RETURN_ON_FAIL(_initPipelineState(state, renderTarget, PIPELINE_STATE_NORMAL, signiture.Get(), psoDesc));\n\t\t}\n\t}\n\n\treturn NV_OK;\n}\n\nint FluidSmoothRenderPipelineD3D12::_initPipelineState(const RenderStateD3D12& state, NvCo::Dx12RenderTarget* renderTarget, PipelineStateType pipeType, ID3D12RootSignature* signiture, D3D12_GRAPHICS_PIPELINE_STATE_DESC& psoDesc)\n{\n\tID3D12Device* device = state.m_device;\n\n\tPipelineUtilD3D::initRasterizerDesc(FRONT_WINDING_CLOCKWISE, psoDesc.RasterizerState);\n\t_initPipelineStateDesc(pipeType, renderTarget, state.m_renderContext, psoDesc);\n\n\tpsoDesc.pRootSignature = signiture;\n\n\tPipelineStateD3D12& pipeState = m_states[pipeType];\n\tpipeState.m_rootSignature = signiture;\n\t\n\tNV_RETURN_ON_FAIL(device->CreateGraphicsPipelineState(&psoDesc, IID_PPV_ARGS(&pipeState.m_pipelineState)));\n\treturn NV_OK;\n}\n\nint FluidSmoothRenderPipelineD3D12::bind(const void* paramsIn, const void* platformState)\n{\n\tconst RenderStateD3D12& state = *(RenderStateD3D12*)platformState;\n\tconst FluidDrawParamsD3D& params = *(FluidDrawParamsD3D*)paramsIn;\n\n\tPipelineStateD3D12& pipeState = m_states[PIPELINE_STATE_NORMAL];\n\tif (!pipeState.isValid())\n\t{\n\t\treturn NV_FAIL;\n\t}\n\n\tNvCo::Dx12CircularResourceHeap::Cursor cursor;\n\t{\n\t\tHlsl::FluidShaderConst constBuf;\n\t\tRenderParamsUtilD3D::calcFluidConstantBuffer(params, constBuf);\n\t\tcursor = state.m_constantHeap->newConstantBuffer(constBuf);\n\t\tif (!cursor.isValid())\n\t\t{\n\t\t\treturn NV_FAIL;\n\t\t}\n\t}\n\n\tID3D12GraphicsCommandList* commandList = state.m_commandList;\n\n\tcommandList->SetGraphicsRootSignature(pipeState.m_rootSignature.Get());\n\tcommandList->SetPipelineState(pipeState.m_pipelineState.Get());\n\n\tD3D12_GPU_VIRTUAL_ADDRESS cbvHandle = state.m_constantHeap->getGpuHandle(cursor);\n\tcommandList->SetGraphicsRootConstantBufferView(0, cbvHandle);\n\n\tNvCo::Dx12RenderTarget* sourceMap = (NvCo::Dx12RenderTarget*)params.shadowMap;\n\n\tID3D12DescriptorHeap* heaps[] = { state.m_srvCbvUavDescriptorHeap->getHeap(), state.m_samplerDescriptorHeap->getHeap() };\n\tcommandList->SetDescriptorHeaps(_countof(heaps), heaps);\n\n\t// Bind the srvs\n\tcommandList->SetGraphicsRootDescriptorTable(1, state.m_srvCbvUavDescriptorHeap->getGpuHandle(m_fluidPointDepthSrvIndex));\n\t// Bind the samplers\n\tcommandList->SetGraphicsRootDescriptorTable(2, state.m_samplerDescriptorHeap->getGpuHandle(params.m_sampleDescriptorBase));\n\treturn NV_OK;\n}\n\nint FluidSmoothRenderPipelineD3D12::draw(const RenderAllocation& allocIn, size_t sizeOfAlloc, const void* platformState)\n{\n\treturn MeshRendererD3D12::defaultDraw(allocIn, sizeOfAlloc, platformState);\n}\n\n} // namespace FlexSample"
  },
  {
    "path": "demo/d3d12/fluidSmoothRenderPipelineD3D12.h",
    "content": "/*\n* Copyright (c) 2008-2016, NVIDIA CORPORATION.  All rights reserved.\n*\n* NVIDIA CORPORATION and its licensors retain all intellectual property\n* and proprietary rights in and to this software, related documentation\n* and any modifications thereto.  Any use, reproduction, disclosure or\n* distribution of this software and related documentation without an express\n* license agreement from NVIDIA CORPORATION is strictly prohibited.\n*/\n\n#ifndef FLUID_SMOOTH_RENDER_PIPELINE_D3D12_H\n#define FLUID_SMOOTH_RENDER_PIPELINE_D3D12_H\n\n#include <DirectXMath.h>\n#include \"RenderStateD3D12.h\"\n#include \"MeshRenderer.h\"\n\n#include <NvCoDx12RenderTarget.h>\n\n#include \"FluidEllipsoidRenderPipelineD3D12.h\"\n\nnamespace FlexSample {\n\nstruct FluidSmoothRenderPipelineD3D12: public RenderPipeline\n{\n\t//NV_CO_DECLARE_POLYMORPHIC_CLASS(FluidSmoothRenderPipelineD3D12, RenderPipeline);\npublic:\n\ttypedef RenderPipeline Parent;\n\n\tenum PipelineStateType\n\t{\n\t\tPIPELINE_STATE_NORMAL,\n\t\tPIPELINE_STATE_COUNT_OF,\n\t};\n\n\tFluidSmoothRenderPipelineD3D12(int fluidPointDepthSrvIndex);\n\t\n\t\t/// Initialize\n\tint initialize(const RenderStateD3D12& state, const std::wstring& shadersPath, NvCo::Dx12RenderTarget* renderTarget);\n\t\t/// Do the binding\n\tvirtual int bind(const void* paramsIn, const void* platformState) override;\n\tvirtual int draw(const RenderAllocation& alloc, size_t sizeOfAlloc, const void* platformState) override;\n\n\tprotected:\n\n\tint _initPipelineState(const RenderStateD3D12& state, NvCo::Dx12RenderTarget* renderTarget, PipelineStateType pipeType, ID3D12RootSignature* signiture, D3D12_GRAPHICS_PIPELINE_STATE_DESC& psoDesc);\n\n\tPipelineStateD3D12 m_states[PIPELINE_STATE_COUNT_OF];\n\n\tint m_fluidPointDepthSrvIndex;\n};\n\n} // namespace FlexSample\n\n#endif"
  },
  {
    "path": "demo/d3d12/fluidThicknessRenderPipelineD3D12.cpp",
    "content": "#define NOMINMAX\n\n#include <NvCoDx12HelperUtil.h>\n\n#include <external/D3D12/include/d3dx12.h>\n\n#include \"pipelineUtilD3D12.h\"\n#include \"meshRenderer.h\"\n#include \"bufferD3D12.h\"\n#include \"meshRendererD3D12.h\"\n#include \"../d3d/shaderCommonD3D.h\"\n\n#include \"../d3d/shaders/pointThicknessVS.hlsl.h\"\n#include \"../d3d/shaders/pointThicknessGS.hlsl.h\"\n#include \"../d3d/shaders/pointThicknessPS.hlsl.h\"\n\n// this\n#include \"FluidThicknessRenderPipelineD3D12.h\"\n\nnamespace FlexSample {\n\nstatic const D3D12_INPUT_ELEMENT_DESC AnisotropicInputElementDescs[] =\n{\n\t{ \"POSITION\", 0, DXGI_FORMAT_R32G32B32A32_FLOAT, 0, 0, D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA, 0 },\n\t{ \"U\", 0, DXGI_FORMAT_R32G32B32A32_FLOAT, 1, 0, D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA, 0 },\n\t{ \"V\", 0, DXGI_FORMAT_R32G32B32A32_FLOAT, 2, 0, D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA, 0 },\n\t{ \"W\", 0, DXGI_FORMAT_R32G32B32A32_FLOAT, 3, 0, D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA, 0 },\n};\n\nFluidThicknessRenderPipelineD3D12::FluidThicknessRenderPipelineD3D12():\n\tParent(PRIMITIVE_POINT)\n{\n}\n\nstatic void _initPipelineStateDesc(FluidThicknessRenderPipelineD3D12::PipelineStateType type, NvCo::Dx12RenderTarget* renderTarget, D3D12_GRAPHICS_PIPELINE_STATE_DESC& psoDesc)\n{\n\tPipelineUtilD3D::initTargetFormat(renderTarget, nullptr, psoDesc);\n\n\tpsoDesc.InputLayout.NumElements = _countof(AnisotropicInputElementDescs);\n\tpsoDesc.InputLayout.pInputElementDescs = AnisotropicInputElementDescs;\n\tpsoDesc.PrimitiveTopologyType = D3D12_PRIMITIVE_TOPOLOGY_TYPE_POINT;\n}\n\nint FluidThicknessRenderPipelineD3D12::initialize(const RenderStateD3D12& state, const std::wstring& shadersPath, NvCo::Dx12RenderTarget* renderTarget)\n{\n\tusing namespace NvCo;\n\tID3D12Device* device = state.m_device;\n\n\t// create the pipeline state object\n\t{\n\t\tD3D12_GRAPHICS_PIPELINE_STATE_DESC psoDesc = {};\n\t\tPipelineUtilD3D::initSolidBlendDesc(psoDesc.BlendState);\n\n\t\t// create the root signature\n\t\tComPtr<ID3D12RootSignature> signiture;\n\t\t{\n\t\t\tCD3DX12_DESCRIPTOR_RANGE ranges[2];\n\t\t\tCD3DX12_ROOT_PARAMETER params[3];\n\t\t\t\n\t\t\tUINT rootIndex = 0;\n\t\t\t{\n\t\t\t\tD3D12_ROOT_PARAMETER& param = params[rootIndex++];\n\t\t\t\tparam.ParameterType = D3D12_ROOT_PARAMETER_TYPE_CBV;\n\t\t\t\tparam.Descriptor.ShaderRegister = 0u;\n\t\t\t\tparam.Descriptor.RegisterSpace = 0u;\n\t\t\t\tparam.ShaderVisibility = D3D12_SHADER_VISIBILITY_ALL;\n\t\t\t}\n\n\t\t\tD3D12_ROOT_SIGNATURE_DESC desc;\n\t\t\tdesc.NumParameters = rootIndex;\n\t\t\tdesc.pParameters = params;\n\t\t\tdesc.NumStaticSamplers = 0u;\n\t\t\tdesc.pStaticSamplers = nullptr;\n\t\t\tdesc.Flags = D3D12_ROOT_SIGNATURE_FLAG_ALLOW_INPUT_ASSEMBLER_INPUT_LAYOUT;\n\n\t\t\tComPtr<ID3DBlob> sigBlob;\n\t\t\tNV_RETURN_ON_FAIL(Dx12HelperUtil::serializeRootSigniture(desc, D3D_ROOT_SIGNATURE_VERSION_1, sigBlob));\n\t\t\tNV_RETURN_ON_FAIL(device->CreateRootSignature(0u, sigBlob->GetBufferPointer(), sigBlob->GetBufferSize(), IID_PPV_ARGS(&signiture)));\n\t\t}\n\n\t\t{\n\t\t\tpsoDesc.VS = Dx12Blob(g_pointThicknessVS);\n\t\t\tpsoDesc.GS = Dx12Blob(g_pointThicknessGS);\n\t\t\tpsoDesc.PS = Dx12Blob(g_pointThicknessPS);\n\n\t\t\tNV_RETURN_ON_FAIL(_initPipelineState(state, FRONT_WINDING_COUNTER_CLOCKWISE, renderTarget, PIPELINE_NORMAL, signiture.Get(), psoDesc));\n\t\t}\n\t}\n\n\treturn NV_OK;\n}\n\nint FluidThicknessRenderPipelineD3D12::_initPipelineState(const RenderStateD3D12& state, FrontWindingType winding, NvCo::Dx12RenderTarget* renderTarget, PipelineStateType pipeType, ID3D12RootSignature* signiture, D3D12_GRAPHICS_PIPELINE_STATE_DESC& psoDesc)\n{\n\tID3D12Device* device = state.m_device;\n\n\tPipelineUtilD3D::initRasterizerDesc(winding, psoDesc.RasterizerState);\n\n\t_initPipelineStateDesc(pipeType, renderTarget, psoDesc);\n\n\tpsoDesc.pRootSignature = signiture;\n\n\tPipelineStateD3D12& pipeState = m_states[pipeType];\n\tpipeState.m_rootSignature = signiture;\n\t\n\tNV_RETURN_ON_FAIL(device->CreateGraphicsPipelineState(&psoDesc, IID_PPV_ARGS(&pipeState.m_pipelineState)));\n\treturn NV_OK;\n}\n\nint FluidThicknessRenderPipelineD3D12::bind(const void* paramsIn, const void* platformState)\n{\n\tconst RenderStateD3D12& state = *(RenderStateD3D12*)platformState;\n\tconst FluidDrawParamsD3D& params = *(FluidDrawParamsD3D*)paramsIn;\n\n\tPipelineStateType pipeType = getPipelineStateType(params.renderStage, params.renderMode, params.cullMode);\n\tPipelineStateD3D12& pipeState = m_states[pipeType];\n\tif (!pipeState.isValid())\n\t{\n\t\treturn NV_FAIL;\n\t}\n\t\n\tNvCo::Dx12CircularResourceHeap::Cursor cursor;\n\t{\n\t\tHlsl::FluidShaderConst constBuf;\n\t\tRenderParamsUtilD3D::calcFluidConstantBuffer(params, constBuf);\n\t\tcursor = state.m_constantHeap->newConstantBuffer(constBuf);\n\t\tif (!cursor.isValid())\n\t\t{\n\t\t\treturn NV_FAIL;\n\t\t}\n\t}\n\n\tID3D12GraphicsCommandList* commandList = state.m_commandList;\n\n\tcommandList->SetGraphicsRootSignature(pipeState.m_rootSignature.Get());\n\tcommandList->SetPipelineState(pipeState.m_pipelineState.Get());\n\n\tD3D12_GPU_VIRTUAL_ADDRESS cbvHandle = state.m_constantHeap->getGpuHandle(cursor);\n\tcommandList->SetGraphicsRootConstantBufferView(0, cbvHandle);\n\n\tID3D12DescriptorHeap* heaps[] = { nullptr };\n\tcommandList->SetDescriptorHeaps(0, heaps);\n\n\treturn NV_OK;\n}\n\nint FluidThicknessRenderPipelineD3D12::draw(const RenderAllocation& allocIn, size_t sizeOfAlloc, const void* platformState)\n{\n\ttypedef PointRenderAllocationD3D12 Alloc;\n\tconst RenderStateD3D12& state = *(RenderStateD3D12*)platformState;\n\n\tassert(sizeof(Alloc) == sizeOfAlloc);\n\tconst Alloc& alloc = static_cast<const Alloc&>(allocIn);\n\n\tassert(allocIn.m_numPrimitives >= 0);\n\n\tID3D12GraphicsCommandList* commandList = state.m_commandList;\n\n\tD3D12_VERTEX_BUFFER_VIEW vertexBufferViews[4] = \n\t{\n\t\talloc.m_vertexBufferViews[Alloc::VERTEX_VIEW_POSITION],\n\t\talloc.m_vertexBufferViews[Alloc::VERTEX_VIEW_ANISOTROPY1],\n\t\talloc.m_vertexBufferViews[Alloc::VERTEX_VIEW_ANISOTROPY2],\n\t\talloc.m_vertexBufferViews[Alloc::VERTEX_VIEW_ANISOTROPY3],\n\t};\n\n\tcommandList->IASetVertexBuffers(0, _countof(vertexBufferViews), vertexBufferViews);\n\tcommandList->IASetIndexBuffer(&alloc.m_indexBufferView);\n\n\tcommandList->IASetPrimitiveTopology(D3D_PRIMITIVE_TOPOLOGY_POINTLIST);\n\n\tcommandList->DrawIndexedInstanced((UINT)allocIn.m_numPrimitives, 1, (UINT)allocIn.m_offset, 0, 0);\n\treturn NV_OK;\n}\n\n} // namespace FlexSample"
  },
  {
    "path": "demo/d3d12/fluidThicknessRenderPipelineD3D12.h",
    "content": "/*\n* Copyright (c) 2008-2016, NVIDIA CORPORATION.  All rights reserved.\n*\n* NVIDIA CORPORATION and its licensors retain all intellectual property\n* and proprietary rights in and to this software, related documentation\n* and any modifications thereto.  Any use, reproduction, disclosure or\n* distribution of this software and related documentation without an express\n* license agreement from NVIDIA CORPORATION is strictly prohibited.\n*/\n\n#ifndef FLUID_THICKNESS_RENDER_PIPELINE_D3D12_H\n#define FLUID_THICKNESS_RENDER_PIPELINE_D3D12_H\n\n#include <DirectXMath.h>\n#include \"RenderStateD3D12.h\"\n#include \"../d3d/renderParamsD3D.h\"\n#include \"meshRenderer.h\"\n\n#include <NvCoDx12RenderTarget.h>\n\nnamespace FlexHlsl {\nstruct FluidShaderConst;\n} // namespace FlexHlsl\n\nnamespace FlexSample {\nusing namespace nvidia;\n\nstruct FluidThicknessRenderPipelineD3D12: public RenderPipeline\n{\n\t//NV_CO_DECLARE_POLYMORPHIC_CLASS(FluidThicknessRenderPipelineD3D12, RenderPipeline);\npublic:\n\ttypedef RenderPipeline Parent;\n\n\tenum PipelineStateType\n\t{\n\t\tPIPELINE_NORMAL,\n\t\tPIPELINE_STATE_COUNT_OF,\n\t};\n\n\tFluidThicknessRenderPipelineD3D12();\n\t\n\t\t/// Initialize\n\tint initialize(const RenderStateD3D12& state, const std::wstring& shadersDir, NvCo::Dx12RenderTarget* renderTarget);\n\t\t/// Do the binding\n\tvirtual int bind(const void* paramsIn, const void* platformState) override;\n\tvirtual int draw(const RenderAllocation& alloc, size_t sizeOfAlloc, const void* platformState) override;\n\n\t\t/// Convert into a single pipeline state type\n\tstatic PipelineStateType getPipelineStateType(FluidDrawStage stage, FluidRenderMode mode, FluidCullMode cull) { return PIPELINE_NORMAL; }\n\t\n\tprotected:\n\n\tint _initPipelineState(const RenderStateD3D12& state, FrontWindingType winding, NvCo::Dx12RenderTarget* renderTarget, PipelineStateType pipeType, ID3D12RootSignature* signiture, D3D12_GRAPHICS_PIPELINE_STATE_DESC& psoDesc);\n\n\tPipelineStateD3D12 m_states[PIPELINE_STATE_COUNT_OF];\n};\n\n} // namespace FlexSample\n\n#endif"
  },
  {
    "path": "demo/d3d12/imguiGraphD3D12.cpp",
    "content": "/*\n * Copyright (c) 2014-2017, NVIDIA CORPORATION.  All rights reserved.\n *\n * NVIDIA CORPORATION and its licensors retain all intellectual property\n * and proprietary rights in and to this software, related documentation\n * and any modifications thereto.  Any use, reproduction, disclosure or\n * distribution of this software and related documentation without an express\n * license agreement from NVIDIA CORPORATION is strictly prohibited.\n */\n\n//direct3d headers\n#define NOMINMAX\n#include <d3d12.h>\n\n#include \"imguiGraphD3D12.h\"\n\n#include \"../d3d/shaders/imguiVS.hlsl.h\"\n#include \"../d3d/shaders/imguiPS.hlsl.h\"\n\nnamespace\n{\n\ttemplate <class T>\n\tvoid inline COMRelease(T& t)\n\t{\n\t\tif (t) t->Release();\n\t\tt = nullptr;\n\t}\n}\n\nnamespace\n{\n\tImguiGraphDescD3D12 m_desc = {};\n\n\tstruct Vertex\n\t{\n\t\tfloat x, y;\n\t\tfloat u, v;\n\t\tuint8_t rgba[4];\n\t};\n\n\tID3D12RootSignature* m_rootSignature = nullptr;\n\tID3D12PipelineState* m_pipelineState = nullptr;\n\tID3D12Resource* m_constantBuffer = nullptr;\n\tUINT8* m_constantBufferData = nullptr;\n\tID3D12Resource* m_vertexBuffer = nullptr;\n\tVertex* m_vertexBufferData = nullptr;\n\tD3D12_VERTEX_BUFFER_VIEW m_vertexBufferView = {};\n\n\tstruct Scissor\n\t{\n\t\tint beginIdx;\n\t\tint stopIdx;\n\t\tint x;\n\t\tint y;\n\t\tint width;\n\t\tint height;\n\t};\n\tScissor m_stateScissor = {};\n\n\tID3D12Resource* m_textureUploadHeap = nullptr;\n\tID3D12Resource* m_texture = nullptr;\n\n\tID3D12DescriptorHeap* m_srvUavHeapCPU = nullptr;\n\tID3D12DescriptorHeap* m_srvUavHeapGPU = nullptr;\n\n\tVertex m_stateVert;\n\tuint32_t m_stateVertIdx = 0u;\n\n\tstruct Params\n\t{\n\t\tfloat projection[16];\n\n\t\tfloat padding[64 - 16];\n\t};\n\tstatic const int frameCount = 4;\n\tint frameIndex = 0;\n}\n\nvoid imguiGraphContextInitD3D12(const ImguiGraphDesc* descIn)\n{\n\tconst auto desc = cast_to_imguiGraphDescD3D12(descIn);\n\n\tm_desc = *desc;\n\n\t// create the root signature\n\t{\n\t\tD3D12_DESCRIPTOR_RANGE ranges[1];\n\t\tranges[0].RangeType = D3D12_DESCRIPTOR_RANGE_TYPE_SRV;\n\t\tranges[0].NumDescriptors = 1u;\n\t\tranges[0].BaseShaderRegister = 0u;\n\t\tranges[0].RegisterSpace = 0u;\n\t\tranges[0].OffsetInDescriptorsFromTableStart = D3D12_DESCRIPTOR_RANGE_OFFSET_APPEND;\n\n\t\tD3D12_ROOT_PARAMETER params[2];\n\t\tparams[0].ParameterType = D3D12_ROOT_PARAMETER_TYPE_CBV;\n\t\tparams[0].Descriptor.ShaderRegister = 0u;\n\t\tparams[0].Descriptor.RegisterSpace = 0u;\n\t\tparams[0].ShaderVisibility = D3D12_SHADER_VISIBILITY_ALL;\n\t\tparams[1].ParameterType = D3D12_ROOT_PARAMETER_TYPE_DESCRIPTOR_TABLE;\n\t\tparams[1].DescriptorTable.NumDescriptorRanges = 1;\n\t\tparams[1].DescriptorTable.pDescriptorRanges = ranges;\n\t\tparams[1].ShaderVisibility = D3D12_SHADER_VISIBILITY_PIXEL;\n\n\t\tD3D12_STATIC_SAMPLER_DESC sampler = {};\n\t\tsampler.Filter = D3D12_FILTER_MIN_MAG_LINEAR_MIP_POINT;\n\t\tsampler.AddressU = D3D12_TEXTURE_ADDRESS_MODE_BORDER;\n\t\tsampler.AddressV = D3D12_TEXTURE_ADDRESS_MODE_BORDER;\n\t\tsampler.AddressW = D3D12_TEXTURE_ADDRESS_MODE_BORDER;\n\t\tsampler.MipLODBias = 0;\n\t\tsampler.MaxAnisotropy = 0;\n\t\tsampler.ComparisonFunc = D3D12_COMPARISON_FUNC_NEVER;\n\t\tsampler.BorderColor = D3D12_STATIC_BORDER_COLOR_TRANSPARENT_BLACK;\n\t\tsampler.MinLOD = 0.f;\n\t\tsampler.MaxLOD = D3D12_FLOAT32_MAX;\n\t\tsampler.ShaderRegister = 0;\n\t\tsampler.RegisterSpace = 0;\n\t\tsampler.ShaderVisibility = D3D12_SHADER_VISIBILITY_PIXEL;\n\n\t\tD3D12_ROOT_SIGNATURE_DESC desc;\n\t\tdesc.NumParameters = 2;\n\t\tdesc.pParameters = params;\n\t\tdesc.NumStaticSamplers = 1u;\n\t\tdesc.pStaticSamplers = &sampler;\n\t\tdesc.Flags = D3D12_ROOT_SIGNATURE_FLAG_ALLOW_INPUT_ASSEMBLER_INPUT_LAYOUT;\n\n\t\tID3DBlob* signature = nullptr;\n\t\tID3DBlob* error = nullptr;\n\t\tHRESULT hr = S_OK;\n\t\tif (hr = D3D12SerializeRootSignature(&desc, D3D_ROOT_SIGNATURE_VERSION_1, &signature, &error))\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\tif (hr = m_desc.device->CreateRootSignature(0u, signature->GetBufferPointer(), signature->GetBufferSize(), IID_PPV_ARGS(&m_rootSignature)))\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\tCOMRelease(signature);\n\t\tCOMRelease(error);\n\t}\n\n\t// create the pipeline state object\n\t{\n\t\tD3D12_INPUT_ELEMENT_DESC inputElementDescs[] =\n\t\t{\n\t\t\t{ \"POSITION\", 0, DXGI_FORMAT_R32G32_FLOAT, 0, 0, D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA, 0 },\n\t\t\t{ \"TEXCOORD\", 0, DXGI_FORMAT_R32G32_FLOAT, 0, D3D12_APPEND_ALIGNED_ELEMENT, D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA, 0 },\n\t\t\t{ \"COLOR\", 0, DXGI_FORMAT_R8G8B8A8_UNORM, 0, D3D12_APPEND_ALIGNED_ELEMENT, D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA, 0 },\n\t\t};\n\n\t\tconst bool wireFrame = false;\n\n\t\tD3D12_RASTERIZER_DESC rasterDesc;\n\t\tif (wireFrame)\n\t\t{\n\t\t\trasterDesc.FillMode = D3D12_FILL_MODE_WIREFRAME;\n\t\t\trasterDesc.CullMode = D3D12_CULL_MODE_NONE;\n\t\t}\n\t\telse\n\t\t{\n\t\t\trasterDesc.FillMode = D3D12_FILL_MODE_SOLID;\n\t\t\trasterDesc.CullMode = D3D12_CULL_MODE_BACK;\n\t\t}\n\t\trasterDesc.FrontCounterClockwise = TRUE; // FALSE;\n\t\trasterDesc.DepthBias = D3D12_DEFAULT_DEPTH_BIAS;\n\t\trasterDesc.DepthBiasClamp = D3D12_DEFAULT_DEPTH_BIAS_CLAMP;\n\t\trasterDesc.SlopeScaledDepthBias = D3D12_DEFAULT_SLOPE_SCALED_DEPTH_BIAS;\n\t\trasterDesc.DepthClipEnable = TRUE;\n\t\trasterDesc.MultisampleEnable = FALSE;\n\t\trasterDesc.AntialiasedLineEnable = FALSE;\n\t\trasterDesc.ForcedSampleCount = 0;\n\t\trasterDesc.ConservativeRaster = D3D12_CONSERVATIVE_RASTERIZATION_MODE_OFF;\n\n\t\tD3D12_BLEND_DESC blendDesc;\n\t\tblendDesc.AlphaToCoverageEnable = FALSE;\n\t\tblendDesc.IndependentBlendEnable = FALSE;\n\t\t{\n\t\t\tconst D3D12_RENDER_TARGET_BLEND_DESC defaultRenderTargetBlendDesc =\n\t\t\t{\n\t\t\t\tTRUE,FALSE,\n\t\t\t\tD3D12_BLEND_SRC_ALPHA, D3D12_BLEND_INV_SRC_ALPHA, D3D12_BLEND_OP_ADD,\n\t\t\t\tD3D12_BLEND_SRC_ALPHA, D3D12_BLEND_INV_SRC_ALPHA, D3D12_BLEND_OP_ADD,\n\t\t\t\tD3D12_LOGIC_OP_NOOP,\n\t\t\t\tD3D12_COLOR_WRITE_ENABLE_ALL,\n\t\t\t};\n\t\t\tfor (UINT i = 0; i < D3D12_SIMULTANEOUS_RENDER_TARGET_COUNT; ++i)\n\t\t\t\tblendDesc.RenderTarget[i] = defaultRenderTargetBlendDesc;\n\t\t}\n\n\t\tD3D12_GRAPHICS_PIPELINE_STATE_DESC psoDesc = {};\n\t\tpsoDesc.InputLayout.NumElements = 3;\n\t\tpsoDesc.InputLayout.pInputElementDescs = inputElementDescs;\n\t\tpsoDesc.pRootSignature = m_rootSignature;\n\t\tpsoDesc.VS.pShaderBytecode = g_imguiVS;\n\t\tpsoDesc.VS.BytecodeLength = sizeof(g_imguiVS);\n\t\tpsoDesc.PS.pShaderBytecode = g_imguiPS;\n\t\tpsoDesc.PS.BytecodeLength = sizeof(g_imguiPS);\n\t\tpsoDesc.RasterizerState = rasterDesc;\n\t\tpsoDesc.BlendState = blendDesc;\n\t\tpsoDesc.DepthStencilState.DepthEnable = FALSE;\n\t\tpsoDesc.DepthStencilState.StencilEnable = FALSE;\n\t\tpsoDesc.SampleMask = UINT_MAX;\n\t\tpsoDesc.PrimitiveTopologyType = D3D12_PRIMITIVE_TOPOLOGY_TYPE_TRIANGLE;\n\t\tpsoDesc.NumRenderTargets = 1;\n\t\tpsoDesc.RTVFormats[0] = DXGI_FORMAT_R8G8B8A8_UNORM;\n\t\tpsoDesc.SampleDesc.Count = desc->numMSAASamples;\n\t\tHRESULT hr = S_OK;\n\t\tif (hr = m_desc.device->CreateGraphicsPipelineState(&psoDesc, IID_PPV_ARGS(&m_pipelineState)))\n\t\t{\n\t\t\treturn;\n\t\t}\n\t}\n\n\t// create a constant buffer\n\t{\n\t\tParams params = {\n\t\t\t1.f, 0.f, 0.f, 0.f,\n\t\t\t0.f, 1.f, 0.f, 0.f,\n\t\t\t0.f, 0.f, 1.f, 0.f,\n\t\t\t0.f, 0.f, 0.f, 1.f\n\t\t};\n\n\t\tHRESULT hr = S_OK;\n\n\t\tD3D12_HEAP_PROPERTIES heapProps = {};\n\t\theapProps.Type = D3D12_HEAP_TYPE_UPLOAD;\n\t\theapProps.CPUPageProperty = D3D12_CPU_PAGE_PROPERTY_UNKNOWN;\n\t\theapProps.MemoryPoolPreference = D3D12_MEMORY_POOL_UNKNOWN;\n\t\theapProps.CreationNodeMask = 0u;\n\t\theapProps.VisibleNodeMask = 0u;\n\n\t\tD3D12_RESOURCE_DESC desc = {};\n\t\tdesc.Dimension = D3D12_RESOURCE_DIMENSION_BUFFER;\n\t\tdesc.Alignment = 0u;\n\t\tdesc.Width = frameCount*sizeof(params);\n\t\tdesc.Height = 1u;\n\t\tdesc.DepthOrArraySize = 1u;\n\t\tdesc.MipLevels = 1;\n\t\tdesc.Format = DXGI_FORMAT_UNKNOWN;\n\t\tdesc.SampleDesc.Count = 1u;\n\t\tdesc.SampleDesc.Quality = 0u;\n\t\tdesc.Layout = D3D12_TEXTURE_LAYOUT_ROW_MAJOR;\n\t\tdesc.Flags = D3D12_RESOURCE_FLAG_NONE;\n\n\t\tif (hr = m_desc.device->CreateCommittedResource(&heapProps, D3D12_HEAP_FLAG_NONE, &desc, D3D12_RESOURCE_STATE_GENERIC_READ,\n\t\t\tnullptr, IID_PPV_ARGS(&m_constantBuffer)))\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tUINT8* pdata;\n\t\tD3D12_RANGE readRange = {};\n\t\tif (hr = m_constantBuffer->Map(0, &readRange, (void**)&pdata))\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tmemcpy(pdata, &params, sizeof(params));\n\t\t\tm_constantBufferData = pdata;\n\t\t\t//m_constantBuffer->Unmap(0, nullptr);\t\t// leave mapped\n\t\t}\n\t}\n\n\t// create a vertex buffer\n\t{\n\t\tHRESULT hr = S_OK;\n\n\t\tUINT bufferSize = (UINT)(m_desc.maxVertices * frameCount) * sizeof(Vertex);\n\n\t\tD3D12_HEAP_PROPERTIES heapProps = {};\n\t\theapProps.Type = D3D12_HEAP_TYPE_UPLOAD;\n\t\theapProps.CPUPageProperty = D3D12_CPU_PAGE_PROPERTY_UNKNOWN;\n\t\theapProps.MemoryPoolPreference = D3D12_MEMORY_POOL_UNKNOWN;\n\t\theapProps.CreationNodeMask = 0u;\n\t\theapProps.VisibleNodeMask = 0u;\n\n\t\tD3D12_RESOURCE_DESC desc = {};\n\t\tdesc.Dimension = D3D12_RESOURCE_DIMENSION_BUFFER;\n\t\tdesc.Alignment = 0u;\n\t\tdesc.Width = bufferSize;\n\t\tdesc.Height = 1u;\n\t\tdesc.DepthOrArraySize = 1u;\n\t\tdesc.MipLevels = 1;\n\t\tdesc.Format = DXGI_FORMAT_UNKNOWN;\n\t\tdesc.SampleDesc.Count = 1u;\n\t\tdesc.SampleDesc.Quality = 0u;\n\t\tdesc.Layout = D3D12_TEXTURE_LAYOUT_ROW_MAJOR;\n\t\tdesc.Flags = D3D12_RESOURCE_FLAG_NONE;\n\n\t\tif (hr = m_desc.device->CreateCommittedResource(&heapProps, D3D12_HEAP_FLAG_NONE, &desc, D3D12_RESOURCE_STATE_GENERIC_READ,\n\t\t\tnullptr, IID_PPV_ARGS(&m_vertexBuffer)))\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tUINT8* pdata;\n\t\tD3D12_RANGE readRange = {};\n\t\tif (hr = m_vertexBuffer->Map(0, &readRange, (void**)&pdata))\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tm_vertexBufferData = (Vertex*)pdata;\n\t\t\t//m_vertexBufferUpload->Unmap(0, nullptr);\n\t\t}\n\n\t\tm_vertexBufferView.BufferLocation = m_vertexBuffer->GetGPUVirtualAddress();\n\t\tm_vertexBufferView.StrideInBytes = sizeof(Vertex);\n\t\tm_vertexBufferView.SizeInBytes = bufferSize;\n\t}\n}\n\nvoid imguiGraphContextUpdateD3D12(const ImguiGraphDesc* descIn)\n{\n\tconst auto desc = cast_to_imguiGraphDescD3D12(descIn);\n\n\tm_desc = *desc;\n}\n\nvoid imguiGraphContextDestroyD3D12()\n{\n\tCOMRelease(m_rootSignature);\n\tCOMRelease(m_pipelineState);\n\tCOMRelease(m_constantBuffer);\n\tCOMRelease(m_vertexBuffer);\n}\n\nvoid imguiGraphRecordBeginD3D12()\n{\n\tframeIndex = (frameIndex + 1) % frameCount;\n\n\tParams params = {\n\t\t2.f / float(m_desc.winW), 0.f, 0.f, -1.f,\n\t\t0.f, 2.f / float(m_desc.winH), 0.f, -1.f,\n\t\t0.f, 0.f, 1.f, 0.f,\n\t\t0.f, 0.f, 0.f, 1.f\n\t};\n\n\tmemcpy(m_constantBufferData + frameIndex*sizeof(Params), &params, sizeof(Params));\n\n\t// clear state\n\tm_stateVert = Vertex{ 0.f, 0.f, -1.f, -1.f, 0,0,0,0 };\n\tm_stateVertIdx = 0u;\n\n\tm_stateScissor = Scissor { 0, 0, 0, 0, m_desc.winW, m_desc.winH };\n\n\t// configure for triangle renderering\n\tID3D12GraphicsCommandList* commandList = m_desc.commandList;\n\n\tD3D12_CPU_DESCRIPTOR_HANDLE srvHandleCPU;\n\tD3D12_GPU_DESCRIPTOR_HANDLE srvHandleGPU;\n\tID3D12DescriptorHeap* heap = nullptr;\n\tif (m_desc.dynamicHeapCbvSrvUav.reserveDescriptors)\n\t{\n\t\tauto handle = m_desc.dynamicHeapCbvSrvUav.reserveDescriptors(m_desc.dynamicHeapCbvSrvUav.userdata, \n\t\t\t1u, m_desc.lastFenceCompleted, m_desc.nextFenceValue);\n\t\theap = handle.heap;\n\t\tsrvHandleCPU = handle.cpuHandle;\n\t\tsrvHandleGPU = handle.gpuHandle;\n\t}\n\telse\n\t{\n\t\tif (m_srvUavHeapGPU == nullptr)\n\t\t{\n\t\t\tD3D12_DESCRIPTOR_HEAP_DESC srvHeapDesc = {};\n\t\t\tsrvHeapDesc.NumDescriptors = 1;\n\t\t\tsrvHeapDesc.Type = D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV;\n\t\t\tsrvHeapDesc.Flags = D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE;\n\t\t\tm_desc.device->CreateDescriptorHeap(&srvHeapDesc, IID_PPV_ARGS(&m_srvUavHeapGPU));\n\t\t}\n\t\theap = m_srvUavHeapGPU;\n\t\tsrvHandleCPU = m_srvUavHeapGPU->GetCPUDescriptorHandleForHeapStart();\n\t\tsrvHandleGPU = m_srvUavHeapGPU->GetGPUDescriptorHandleForHeapStart();\n\t}\n\n\tcommandList->SetDescriptorHeaps(1, &heap);\n\n\tm_desc.device->CopyDescriptorsSimple(1u, srvHandleCPU, m_srvUavHeapCPU->GetCPUDescriptorHandleForHeapStart(), D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV);\n\n\tcommandList->SetGraphicsRootSignature(m_rootSignature);\n\tcommandList->SetPipelineState(m_pipelineState);\n\n\tD3D12_GPU_VIRTUAL_ADDRESS cbvHandle = m_constantBuffer->GetGPUVirtualAddress();\n\tcommandList->SetGraphicsRootConstantBufferView(0, cbvHandle + frameIndex * sizeof(Params));\n\n\tcommandList->SetGraphicsRootDescriptorTable(1, srvHandleGPU);\n\n\tcommandList->IASetPrimitiveTopology(D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST);\n\tcommandList->IASetVertexBuffers(0, 1, &m_vertexBufferView);\n}\n\nstatic void imguiGraphFlush()\n{\n\tID3D12GraphicsCommandList* commandList = m_desc.commandList;\n\n\tScissor& p = m_stateScissor;\n\tif (p.beginIdx < p.stopIdx)\n\t{\n\t\tint winH = m_desc.winH;\n\t\tD3D12_RECT rect;\n\t\trect.left = p.x;\n\t\trect.right = p.x + p.width;\n\t\trect.top = (winH) - (p.y + p.height);\n\t\trect.bottom = (winH) - (p.y);\n\t\tcommandList->RSSetScissorRects(1, &rect);\n\n\t\tUINT vertexCount = (p.stopIdx - p.beginIdx);\n\t\tUINT startIndex = p.beginIdx + frameIndex * m_desc.maxVertices;\n\t\tcommandList->DrawInstanced(vertexCount, 1, startIndex, 0);\n\t}\n}\n\nvoid imguiGraphRecordEndD3D12()\n{\n\tID3D12GraphicsCommandList* commandList = m_desc.commandList;\n\n\t// no need to hold onto this\n\tCOMRelease(m_textureUploadHeap);\n\n\t// restore scissor\n\tScissor& p = m_stateScissor;\n\tint winH = m_desc.winH;\n\tD3D12_RECT rect;\n\trect.left = p.x;\n\trect.right = p.x + p.width;\n\trect.top = (winH) - (p.y + p.height);\n\trect.bottom = (winH) - (p.y);\n\tcommandList->RSSetScissorRects(1, &rect);\n}\n\nvoid imguiGraphEnableScissorD3D12(int x, int y, int width, int height)\n{\n\t// mark end of last region\n\tm_stateScissor.stopIdx = m_stateVertIdx;\n\n\timguiGraphFlush();\n\n\tm_stateScissor.beginIdx = m_stateVertIdx;\n\tm_stateScissor.stopIdx = m_stateVertIdx;\n\tm_stateScissor.x = x;\n\tm_stateScissor.y = y;\n\tm_stateScissor.width = width;\n\tm_stateScissor.height = height;\n}\n\nvoid imguiGraphDisableScissorD3D12()\n{\n\tif (m_stateVertIdx == 0) return;\n\n\t// mark end of last region\n\tm_stateScissor.stopIdx = m_stateVertIdx;\n\n\timguiGraphFlush();\n\n\tm_stateScissor.beginIdx = m_stateVertIdx;\n\tm_stateScissor.stopIdx = m_stateVertIdx;\n\tm_stateScissor.x = 0;\n\tm_stateScissor.y = 0;\n\tm_stateScissor.width = m_desc.winW;\n\tm_stateScissor.height = m_desc.winH;\n}\n\nvoid imguiGraphVertex2fD3D12(float x, float y)\n{\n\tfloat v[2] = { x,y };\n\timguiGraphVertex2fvD3D12(v);\n}\n\nvoid imguiGraphVertex2fvD3D12(const float* v)\n{\n\t// update state\n\tm_stateVert.x = v[0];\n\tm_stateVert.y = v[1];\n\n\tVertex* vdata = &m_vertexBufferData[frameIndex * m_desc.maxVertices];\n\n\t// push vertex\n\tif ((m_stateVertIdx) < m_desc.maxVertices)\n\t{\n\t\tvdata[m_stateVertIdx++] = m_stateVert;\n\t}\n}\n\nvoid imguiGraphTexCoord2fD3D12(float u, float v)\n{\n\tm_stateVert.u = u;\n\tm_stateVert.v = v;\n}\n\nvoid imguiGraphColor4ubD3D12(uint8_t red, uint8_t green, uint8_t blue, uint8_t alpha)\n{\n\tm_stateVert.rgba[0] = red;\n\tm_stateVert.rgba[1] = green;\n\tm_stateVert.rgba[2] = blue;\n\tm_stateVert.rgba[3] = alpha;\n}\n\nvoid imguiGraphColor4ubvD3D12(const uint8_t* v)\n{\n\tm_stateVert.rgba[0] = v[0];\n\tm_stateVert.rgba[1] = v[1];\n\tm_stateVert.rgba[2] = v[2];\n\tm_stateVert.rgba[3] = v[3];\n}\n\nvoid imguiGraphFontTextureEnableD3D12()\n{\n\n}\n\nvoid imguiGraphFontTextureDisableD3D12()\n{\n\tm_stateVert.u = -1.f;\n\tm_stateVert.v = -1.f;\n}\n\nvoid imguiGraphFontTextureInitD3D12(unsigned char* data)\n{\n\tID3D12GraphicsCommandList* commandList = m_desc.commandList;\n\n\t// Create the texture\n\t{\n\t\tUINT width = 512;\n\t\tUINT height = 512;\n\n\t\tD3D12_HEAP_PROPERTIES heapProps = {};\n\t\theapProps.Type = D3D12_HEAP_TYPE_DEFAULT;\n\t\theapProps.CPUPageProperty = D3D12_CPU_PAGE_PROPERTY_UNKNOWN;\n\t\theapProps.MemoryPoolPreference = D3D12_MEMORY_POOL_UNKNOWN;\n\t\theapProps.CreationNodeMask = 0u;\n\t\theapProps.VisibleNodeMask = 0u;\n\n\t\tD3D12_RESOURCE_DESC texDesc = {};\n\t\ttexDesc.MipLevels = 1u;\n\t\ttexDesc.Format = DXGI_FORMAT_R8_UNORM;\n\t\ttexDesc.Width = width;\n\t\ttexDesc.Height = height;\n\t\ttexDesc.Flags = D3D12_RESOURCE_FLAG_NONE;\n\t\ttexDesc.DepthOrArraySize = 1u;\n\t\ttexDesc.SampleDesc.Count = 1u;\n\t\ttexDesc.SampleDesc.Quality = 0u;\n\t\ttexDesc.Dimension = D3D12_RESOURCE_DIMENSION_TEXTURE2D;\n\n\t\tif (m_desc.device->CreateCommittedResource(\n\t\t\t&heapProps,\n\t\t\tD3D12_HEAP_FLAG_NONE,\n\t\t\t&texDesc,\n\t\t\tD3D12_RESOURCE_STATE_COPY_DEST,\n\t\t\tnullptr,\n\t\t\tIID_PPV_ARGS(&m_texture)\n\t\t))\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\t// get footprint information\n\t\tD3D12_PLACED_SUBRESOURCE_FOOTPRINT footprint = {};\n\t\tUINT64 uploadHeapSize = 0u;\n\t\tm_desc.device->GetCopyableFootprints(&texDesc, 0u, 1u, 0u, &footprint, nullptr, nullptr, &uploadHeapSize);\n\n\t\theapProps.Type = D3D12_HEAP_TYPE_UPLOAD;\n\t\tD3D12_RESOURCE_DESC bufferDesc = texDesc;\n\t\tbufferDesc.Dimension = D3D12_RESOURCE_DIMENSION_BUFFER;\n\t\tbufferDesc.Alignment = 0u;\n\t\tbufferDesc.Width = uploadHeapSize;\n\t\tbufferDesc.Height = 1u;\n\t\tbufferDesc.DepthOrArraySize = 1u;\n\t\tbufferDesc.MipLevels = 1;\n\t\tbufferDesc.Format = DXGI_FORMAT_UNKNOWN;\n\t\tbufferDesc.Layout = D3D12_TEXTURE_LAYOUT_ROW_MAJOR;\n\t\tbufferDesc.Flags = D3D12_RESOURCE_FLAG_NONE;\n\n\t\tif (m_desc.device->CreateCommittedResource(\n\t\t\t&heapProps,\n\t\t\tD3D12_HEAP_FLAG_NONE,\n\t\t\t&bufferDesc,\n\t\t\tD3D12_RESOURCE_STATE_GENERIC_READ,\n\t\t\tnullptr,\n\t\t\tIID_PPV_ARGS(&m_textureUploadHeap)\n\t\t))\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\t// map upload heap, and convert rgb bitmap to rgba\n\t\tUINT8* pdata;\n\t\tD3D12_RANGE readRange = {};\n\t\tif (m_textureUploadHeap->Map(0, &readRange, (void**)&pdata))\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tUINT8* dst = pdata;\n\t\t\tUINT elements = width*height;\n\t\t\tUINT8* src = data;\n\t\t\tfor (UINT j = 0; j < height; j++)\n\t\t\t{\n\t\t\t\tfor (UINT i = 0; i < width; i++)\n\t\t\t\t{\n\t\t\t\t\tUINT idx = j * (footprint.Footprint.RowPitch) + i;\n\n\t\t\t\t\tUINT8 a = src[j * width + i];\n\t\t\t\t\tdst[idx] = a;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tm_textureUploadHeap->Unmap(0, nullptr);\n\t\t}\n\n\t\t// add copy from upload heap to default heap to command list\n\t\tD3D12_TEXTURE_COPY_LOCATION dstCopy = {};\n\t\tD3D12_TEXTURE_COPY_LOCATION srcCopy = {};\n\t\tdstCopy.pResource = m_texture;\n\t\tdstCopy.Type = D3D12_TEXTURE_COPY_TYPE_SUBRESOURCE_INDEX;\n\t\tdstCopy.SubresourceIndex = 0u;\n\t\tsrcCopy.pResource = m_textureUploadHeap;\n\t\tsrcCopy.Type = D3D12_TEXTURE_COPY_TYPE_PLACED_FOOTPRINT;\n\t\tsrcCopy.PlacedFootprint = footprint;\n\t\tcommandList->CopyTextureRegion(&dstCopy, 0, 0, 0, &srcCopy, nullptr);\n\n\t\tD3D12_RESOURCE_BARRIER barrier[1] = {};\n\t\tauto textureBarrier = [&barrier](UINT idx, ID3D12Resource* texture)\n\t\t{\n\t\t\tbarrier[idx].Type = D3D12_RESOURCE_BARRIER_TYPE_TRANSITION;\n\t\t\tbarrier[idx].Flags = D3D12_RESOURCE_BARRIER_FLAG_NONE;\n\t\t\tbarrier[idx].Transition.pResource = texture;\n\t\t\tbarrier[idx].Transition.Subresource = 0u;\n\t\t\tbarrier[idx].Transition.StateBefore = D3D12_RESOURCE_STATE_COPY_DEST;\n\t\t\tbarrier[idx].Transition.StateAfter = D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE;\n\t\t};\n\t\ttextureBarrier(0, m_texture);\n\t\tcommandList->ResourceBarrier(1, barrier);\n\n\t\t// create an SRV heap and descriptor for the texture\n\t\tD3D12_DESCRIPTOR_HEAP_DESC srvHeapDesc = {};\n\t\tsrvHeapDesc.NumDescriptors = 1;\n\t\tsrvHeapDesc.Type = D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV;\n\t\tsrvHeapDesc.Flags = D3D12_DESCRIPTOR_HEAP_FLAG_NONE;\n\t\tif (m_desc.device->CreateDescriptorHeap(&srvHeapDesc, IID_PPV_ARGS(&m_srvUavHeapCPU)))\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tD3D12_CPU_DESCRIPTOR_HANDLE srvUavHandle = m_srvUavHeapCPU->GetCPUDescriptorHandleForHeapStart();\n\n\t\tD3D12_SHADER_RESOURCE_VIEW_DESC srvDesc = {};\n\t\tsrvDesc.ViewDimension = D3D12_SRV_DIMENSION_TEXTURE2D;\n\t\tsrvDesc.Shader4ComponentMapping = D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING;\n\t\tsrvDesc.Format = texDesc.Format;\n\t\tsrvDesc.Texture2D.MipLevels = 1;\n\t\tsrvDesc.Texture2D.MostDetailedMip = 0;\n\t\tsrvDesc.Texture2D.ResourceMinLODClamp = 0.f;\n\n\t\tm_desc.device->CreateShaderResourceView(m_texture, &srvDesc, srvUavHandle);\n\t}\n}\n\nvoid imguiGraphFontTextureReleaseD3D12()\n{\n\tCOMRelease(m_texture);\n\tCOMRelease(m_textureUploadHeap);\n\tCOMRelease(m_srvUavHeapCPU);\n\tCOMRelease(m_srvUavHeapGPU);\n}\n"
  },
  {
    "path": "demo/d3d12/imguiGraphD3D12.h",
    "content": "/*\n * Copyright (c) 2014-2017, NVIDIA CORPORATION.  All rights reserved.\n *\n * NVIDIA CORPORATION and its licensors retain all intellectual property\n * and proprietary rights in and to this software, related documentation\n * and any modifications thereto.  Any use, reproduction, disclosure or\n * distribution of this software and related documentation without an express\n * license agreement from NVIDIA CORPORATION is strictly prohibited.\n */\n\n#ifndef IMGUI_GRAPH_D3D12_H\n#define IMGUI_GRAPH_D3D12_H\n\n#include <stdint.h>\n\n#include \"../d3d/imguiGraph.h\"\n\nstruct ImguiDescriptorReserveHandleD3D12\n{\n\tID3D12DescriptorHeap* heap;\n\tUINT descriptorSize;\n\tD3D12_CPU_DESCRIPTOR_HANDLE cpuHandle;\n\tD3D12_GPU_DESCRIPTOR_HANDLE gpuHandle;\n};\n\nstruct ImguiDynamicDescriptorHeapD3D12\n{\n\tvoid* userdata;\n\tImguiDescriptorReserveHandleD3D12(*reserveDescriptors)(void* userdata, UINT numDescriptors, UINT64 lastFenceCompleted, UINT64 nextFenceValue);\n};\n\nstruct ImguiGraphDescD3D12\n{\n\tID3D12Device* device = nullptr;\n\tID3D12GraphicsCommandList* commandList = nullptr;\n\tUINT64 lastFenceCompleted; \n\tUINT64 nextFenceValue;\n\tint winW;\n\tint winH;\n\tint numMSAASamples = 1;\n\n\tuint32_t maxVertices = 64 * 4096u;\n\n\tImguiDynamicDescriptorHeapD3D12 dynamicHeapCbvSrvUav = {};\n\n\tImguiGraphDescD3D12() {}\n};\n\ninline const ImguiGraphDescD3D12* cast_to_imguiGraphDescD3D12(const ImguiGraphDesc* desc)\n{\n\treturn (const ImguiGraphDescD3D12*)(desc);\n}\n\ninline ImguiGraphDesc* cast_from_imguiGraphDescD3D12(ImguiGraphDescD3D12* desc)\n{\n\treturn (ImguiGraphDesc*)(desc);\n}\n\nIMGUI_GRAPH_API void imguiGraphContextInitD3D12(const ImguiGraphDesc* desc);\n\nIMGUI_GRAPH_API void imguiGraphContextUpdateD3D12(const ImguiGraphDesc* desc);\n\nIMGUI_GRAPH_API void imguiGraphContextDestroyD3D12();\n\nIMGUI_GRAPH_API void imguiGraphRecordBeginD3D12();\n\nIMGUI_GRAPH_API void imguiGraphRecordEndD3D12();\n\nIMGUI_GRAPH_API void imguiGraphVertex2fD3D12(float x, float y);\n\nIMGUI_GRAPH_API void imguiGraphVertex2fvD3D12(const float* v);\n\nIMGUI_GRAPH_API void imguiGraphTexCoord2fD3D12(float u, float v);\n\nIMGUI_GRAPH_API void imguiGraphColor4ubD3D12(uint8_t red, uint8_t green, uint8_t blue, uint8_t alpha);\n\nIMGUI_GRAPH_API void imguiGraphColor4ubvD3D12(const uint8_t* v);\n\nIMGUI_GRAPH_API void imguiGraphFontTextureEnableD3D12();\n\nIMGUI_GRAPH_API void imguiGraphFontTextureDisableD3D12();\n\nIMGUI_GRAPH_API void imguiGraphEnableScissorD3D12(int x, int y, int width, int height);\n\nIMGUI_GRAPH_API void imguiGraphDisableScissorD3D12();\n\nIMGUI_GRAPH_API void imguiGraphFontTextureInitD3D12(unsigned char* data);\n\nIMGUI_GRAPH_API void imguiGraphFontTextureReleaseD3D12();\n\n#endif"
  },
  {
    "path": "demo/d3d12/imguiInteropD3D12.cpp",
    "content": "/*\n * Copyright (c) 2014-2017, NVIDIA CORPORATION.  All rights reserved.\n *\n * NVIDIA CORPORATION and its licensors retain all intellectual property\n * and proprietary rights in and to this software, related documentation\n * and any modifications thereto.  Any use, reproduction, disclosure or\n * distribution of this software and related documentation without an express\n * license agreement from NVIDIA CORPORATION is strictly prohibited.\n */\n\n //direct3d headers\n#define NOMINMAX\n#include <d3d12.h>\n\n// include the Direct3D Library file\n#pragma comment (lib, \"d3d12.lib\")\n\n#include \"imguiGraphD3D12.h\"\n\n#include \"appD3D12Ctx.h\"\n\nstruct AppGraphCtx;\n\nnamespace NvCo = nvidia::Common;\n\ninline void imguiInteropUpdateDesc(ImguiGraphDescD3D12& desc, AppGraphCtx* appctxIn)\n{\n\tauto context = cast_to_AppGraphCtxD3D12(appctxIn);\n\n\tdesc.device = context->m_device;\n\tdesc.commandList = context->m_commandList;\n\n\tdesc.lastFenceCompleted = 0;\n\tdesc.nextFenceValue = 1;\n\n\tdesc.winW = context->m_winW;\n\tdesc.winH = context->m_winH;\n\tdesc.numMSAASamples = context->m_numMsaaSamples;\n\tdesc.dynamicHeapCbvSrvUav.userdata = context;\n\tdesc.dynamicHeapCbvSrvUav.reserveDescriptors = nullptr;\n}\n\nIMGUI_GRAPH_API bool imguiInteropGraphInitD3D12(imguiGraphInit_t func, const char* fontpath, AppGraphCtx* appctx);\n\nIMGUI_GRAPH_API void imguiInteropGraphUpdateD3D12(imguiGraphUpdate_t func, AppGraphCtx* appctx);\n\nbool imguiInteropGraphInitD3D12(imguiGraphInit_t func, const char* fontpath, AppGraphCtx* appctx)\n{\n\tImguiGraphDescD3D12 desc;\n\timguiInteropUpdateDesc(desc, appctx);\n\n\treturn func(fontpath, cast_from_imguiGraphDescD3D12(&desc));\n}\n\nvoid imguiInteropGraphUpdateD3D12(imguiGraphUpdate_t func, AppGraphCtx* appctx)\n{\n\tImguiGraphDescD3D12 desc;\n\timguiInteropUpdateDesc(desc, appctx);\n\n\treturn func(cast_from_imguiGraphDescD3D12(&desc));\n}"
  },
  {
    "path": "demo/d3d12/lineRenderPipelineD3D12.cpp",
    "content": "#define NOMINMAX\n\n#include <NvCoDx12HelperUtil.h>\n#include <external/D3D12/include/d3dx12.h>\n\n#include \"pipelineUtilD3D12.h\"\n#include \"bufferD3D12.h\"\n#include \"meshRendererD3D12.h\"\n#include \"../d3d/shaderCommonD3D.h\"\n\n// this\n#include \"lineRenderPipelineD3D12.h\"\n\n// Shaders\n#include \"../d3d/shaders/debugLineVS.hlsl.h\"\n#include \"../d3d/shaders/debugLinePS.hlsl.h\"\n\nnamespace FlexSample {\n\nstatic const D3D12_INPUT_ELEMENT_DESC InputElementDescs[] =\n{\n\t{ \"POSITION\", 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, 0, D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA, 0 },\n\t{ \"COLOR\", 0, DXGI_FORMAT_R32G32B32A32_FLOAT, 0, sizeof(Vec3), D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA, 0 },\n};\n\nLineRenderPipelineD3D12::LineRenderPipelineD3D12():\n\tParent(PRIMITIVE_LINE)\n{\n}\n\nint LineRenderPipelineD3D12::initialize(const RenderStateD3D12& state, const std::wstring& shadersPath, NvCo::Dx12RenderTarget* shadowMap)\n{\n\tusing namespace NvCo;\n\tID3D12Device* device = state.m_device;\n\n\t// create the pipeline state object\n\t{\n\t\tD3D12_GRAPHICS_PIPELINE_STATE_DESC psoDesc = {};\n\t\tPipelineUtilD3D::initSolidBlendDesc(psoDesc.BlendState);\n\t\tPipelineUtilD3D::initRasterizerDesc(FRONT_WINDING_CLOCKWISE, psoDesc.RasterizerState);\n\n\t\t{\n\t\t\tPipelineUtilD3D::initTargetFormat(nullptr, state.m_renderContext, psoDesc);\n\n\t\t\tpsoDesc.InputLayout.NumElements = _countof(InputElementDescs);\n\t\t\tpsoDesc.InputLayout.pInputElementDescs = InputElementDescs;\n\t\t\tpsoDesc.PrimitiveTopologyType = D3D12_PRIMITIVE_TOPOLOGY_TYPE_LINE;\n\t\t}\n\n\t\t//psoDesc.RasterizerState.MultisampleEnable = TRUE;\n\t\tpsoDesc.RasterizerState.FrontCounterClockwise = TRUE;\n\t\t\n\t\t// create the root signature\n\t\tComPtr<ID3D12RootSignature> signiture;\n\t\t{\n\t\t\tCD3DX12_DESCRIPTOR_RANGE ranges[2];\n\t\t\tCD3DX12_ROOT_PARAMETER params[3];\n\t\t\t\n\t\t\tUINT rootIndex = 0;\n\t\t\t{\n\t\t\t\tD3D12_ROOT_PARAMETER& param = params[rootIndex++];\n\t\t\t\tparam.ParameterType = D3D12_ROOT_PARAMETER_TYPE_CBV;\n\t\t\t\tparam.Descriptor.ShaderRegister = 0u;\n\t\t\t\tparam.Descriptor.RegisterSpace = 0u;\n\t\t\t\tparam.ShaderVisibility = D3D12_SHADER_VISIBILITY_ALL;\n\t\t\t}\n\n\t\t\tD3D12_ROOT_SIGNATURE_DESC desc;\n\t\t\tdesc.NumParameters = rootIndex;\n\t\t\tdesc.pParameters = params;\n\t\t\tdesc.NumStaticSamplers = 0u;\n\t\t\tdesc.pStaticSamplers = nullptr;\n\t\t\tdesc.Flags = D3D12_ROOT_SIGNATURE_FLAG_ALLOW_INPUT_ASSEMBLER_INPUT_LAYOUT;\n\n\t\t\tComPtr<ID3DBlob> sigBlob;\n\t\t\tNV_RETURN_ON_FAIL(Dx12HelperUtil::serializeRootSigniture(desc, D3D_ROOT_SIGNATURE_VERSION_1, sigBlob));\n\t\t\tNV_RETURN_ON_FAIL(device->CreateRootSignature(0u, sigBlob->GetBufferPointer(), sigBlob->GetBufferSize(), IID_PPV_ARGS(&signiture)));\n\t\t}\n\n\t\tpsoDesc.VS = Dx12Blob(g_debugLineVS);\n\t\tpsoDesc.PS = Dx12Blob(g_debugLinePS);\n\t\tpsoDesc.pRootSignature = signiture.Get();\n\n\t\t{\t\t\t\n\t\t\tPipelineStateD3D12& pipeState = m_states[PIPELINE_STATE_NORMAL];\n\t\t\tpipeState.m_rootSignature = signiture.Get();\n\t\t\tNV_RETURN_ON_FAIL(device->CreateGraphicsPipelineState(&psoDesc, IID_PPV_ARGS(&pipeState.m_pipelineState)));\n\t\t}\n\t\t{\n\t\t\t// Setup for shadow\n\t\t\tPipelineUtilD3D::initTargetFormat(shadowMap, nullptr, psoDesc);\n\n\t\t\tPipelineStateD3D12& pipeState = m_states[PIPELINE_STATE_SHADOW];\n\t\t\tpipeState.m_rootSignature = signiture.Get();\n\t\t\t// In D3D12, debug will warn that render target is not bounded and writes to RTV are discarded. This is the correct behavior as what we want is the depth buffer.\n\t\t\tNV_RETURN_ON_FAIL(device->CreateGraphicsPipelineState(&psoDesc, IID_PPV_ARGS(&pipeState.m_pipelineState)));\n\t\t}\n\t}\n\n\treturn NV_OK;\n}\n\nint LineRenderPipelineD3D12::bind(const void* paramsIn, const void* platformState)\n{\n\tconst RenderStateD3D12& state = *(RenderStateD3D12*)platformState;\n\tLineDrawParams& params = *(LineDrawParams*)paramsIn;\n\n\t// Set up constant buffer\n\tNvCo::Dx12CircularResourceHeap::Cursor cursor = state.m_constantHeap->newConstantBuffer(params);\n\tif (!cursor.isValid())\n\t{\n\t\treturn NV_FAIL;\n\t}\n\t\n\tPipelineStateD3D12& pipeState = (params.m_drawStage == LINE_DRAW_NORMAL) ?  m_states[PIPELINE_STATE_NORMAL] : m_states[PIPELINE_STATE_SHADOW];\n\tif (!pipeState.isValid())\n\t{\n\t\treturn NV_FAIL;\n\t}\n\n\tID3D12GraphicsCommandList* commandList = state.m_commandList;\n\tcommandList->SetGraphicsRootSignature(pipeState.m_rootSignature.Get());\n\tcommandList->SetPipelineState(pipeState.m_pipelineState.Get());\n\n\tD3D12_GPU_VIRTUAL_ADDRESS cbvHandle = state.m_constantHeap->getGpuHandle(cursor);\n\tcommandList->SetGraphicsRootConstantBufferView(0, cbvHandle);\n\n\t{\n\t\tID3D12DescriptorHeap* heaps[] = { state.m_srvCbvUavDescriptorHeap->getHeap() }; \n\t\tcommandList->SetDescriptorHeaps(_countof(heaps), heaps);\n\t}\n\n\treturn NV_OK;\n}\n\nint LineRenderPipelineD3D12::draw(const RenderAllocation& allocIn, size_t sizeOfAlloc, const void* platformState)\n{\n\treturn MeshRendererD3D12::defaultDraw(allocIn, sizeOfAlloc, platformState);\n}\n\n} // namespace FlexSample"
  },
  {
    "path": "demo/d3d12/lineRenderPipelineD3D12.h",
    "content": "/*\n* Copyright (c) 2008-2016, NVIDIA CORPORATION.  All rights reserved.\n*\n* NVIDIA CORPORATION and its licensors retain all intellectual property\n* and proprietary rights in and to this software, related documentation\n* and any modifications thereto.  Any use, reproduction, disclosure or\n* distribution of this software and related documentation without an express\n* license agreement from NVIDIA CORPORATION is strictly prohibited.\n*/\n\n#ifndef LINE_RENDER_PIPELINE_D3D12_H\n#define LINE_RENDER_PIPELINE_D3D12_H\n\n#include <DirectXMath.h>\n#include \"renderStateD3D12.h\"\n#include \"meshRenderer.h\"\n\n#include <NvCoDx12RenderTarget.h>\n\n#include <string>\n\nnamespace FlexSample {\nusing namespace nvidia;\n\nenum LineDrawStage\n{\n\tLINE_DRAW_NORMAL,\n\tLINE_DRAW_SHADOW,\n};\n\nstruct LineDrawParams\n{\n\tHlsl::float4x4 m_modelWorldProjection;\t/// Transforms point from world-space to clip space\n\tLineDrawStage m_drawStage;\n};\n\nstruct LineRenderPipelineD3D12: public RenderPipeline\n{\n\t//NV_CO_DECLARE_POLYMORPHIC_CLASS(LineRenderPipelineD3D12, RenderPipeline);\npublic:\n\ttypedef RenderPipeline Parent;\n\n\tenum PipelineStateType\n\t{\t\t\n\t\tPIPELINE_STATE_NORMAL,\t\t\t\t\n\t\tPIPELINE_STATE_SHADOW,\n\t\tPIPELINE_STATE_COUNT_OF,\n\t};\n\n\tLineRenderPipelineD3D12();\n\t\n\t\t/// Initialize\n\tint initialize(const RenderStateD3D12& state, const std::wstring& shadersDir, NvCo::Dx12RenderTarget* shadowMap);\n\t\t/// Do the binding\n\tvirtual int bind(const void* paramsIn, const void* platformState) override;\n\tvirtual int draw(const RenderAllocation& alloc, size_t sizeOfAlloc, const void* platformState) override;\n\n\tprotected:\n\n\tPipelineStateD3D12 m_states[PIPELINE_STATE_COUNT_OF];\n};\n\n} // namespace FlexSample\n\n#endif"
  },
  {
    "path": "demo/d3d12/meshRenderPipelineD3D12.cpp",
    "content": "#define NOMINMAX\n\n#include <NvCoDx12HelperUtil.h>\n#include <external/D3D12/include/d3dx12.h>\n\n#include \"pipelineUtilD3D12.h\"\n#include \"meshRenderer.h\"\n#include \"bufferD3D12.h\"\n#include \"meshRendererD3D12.h\"\n#include \"../d3d/shaderCommonD3D.h\"\n\n// this\n#include \"meshRenderPipelineD3D12.h\"\n\n// Shaders\n#include \"../d3d/shaders/meshVS.hlsl.h\"\n#include \"../d3d/shaders/meshPS.hlsl.h\"\n#include \"../d3d/shaders/meshShadowPS.hlsl.h\"\n\nnamespace FlexSample {\n\n// Make async compute benchmark shader have a unique name\nnamespace AsyncComputeBench\n{\n#include \"../d3d/shaders/meshAsyncComputeBenchPS.hlsl.h\"\n}\n\nMeshRenderPipelineD3D12::MeshRenderPipelineD3D12():\n\tParent(PRIMITIVE_TRIANGLE),\n\tm_shadowMapLinearSamplerIndex(-1)\n{\n}\n\n/* static */MeshRenderPipelineD3D12::PipelineStateType MeshRenderPipelineD3D12::getPipelineStateType(MeshDrawStage stage, MeshRenderMode mode, MeshCullMode cull)\n{\n\tswitch (stage)\n\t{\n\t\tcase MESH_DRAW_NULL:\n\t\tcase MESH_DRAW_REFLECTION:\n\t\tcase MESH_DRAW_LIGHT:\n\t\t{\n\t\t\tif (mode == MESH_RENDER_WIREFRAME)\n\t\t\t{\n\t\t\t\treturn PIPELINE_STATE_LIGHT_WIREFRAME;\n\t\t\t}\n\n\t\t\tswitch (cull)\n\t\t\t{\n\t\t\t\tcase MESH_CULL_BACK:\t\treturn PIPELINE_STATE_LIGHT_SOLID_CULL_BACK;\n\t\t\t\tcase MESH_CULL_FRONT:\t\treturn PIPELINE_STATE_LIGHT_SOLID_CULL_FRONT;\n\t\t\t\tdefault:\n\t\t\t\tcase MESH_CULL_NONE:\t\treturn PIPELINE_STATE_LIGHT_SOLID_CULL_NONE;\n\t\t\t}\n\t\t}\n\t\tcase MESH_DRAW_SHADOW:\t\t\n\t\t{\n\t\t\tswitch (cull)\n\t\t\t{\n\t\t\t\tcase MESH_CULL_BACK:\treturn PIPELINE_STATE_SHADOW_CULL_BACK;\n\t\t\t\tdefault:\n\t\t\t\tcase MESH_CULL_NONE:\treturn PIPELINE_STATE_SHADOW_CULL_NONE;\n\t\t\t}\n\t\t}\n\t}\n\n\tprintf(\"Unhandled option!\");\n\treturn PIPELINE_STATE_LIGHT_SOLID_CULL_BACK;\n}\n\nstatic D3D12_FILL_MODE _getFillMode(MeshRenderPipelineD3D12::PipelineStateType type)\n{\n\tswitch (type)\n\t{\n\t\tdefault:\treturn D3D12_FILL_MODE_SOLID;\n\t\tcase MeshRenderPipelineD3D12::PIPELINE_STATE_LIGHT_WIREFRAME:\treturn D3D12_FILL_MODE_WIREFRAME;\n\t}\n}\n\nstatic D3D12_CULL_MODE _getCullMode(MeshRenderPipelineD3D12::PipelineStateType type)\n{\n\tswitch (type)\n\t{\n\t\tcase MeshRenderPipelineD3D12::PIPELINE_STATE_COUNT_OF: break;\n\n\t\tcase MeshRenderPipelineD3D12::PIPELINE_STATE_SHADOW_CULL_BACK:\t\t\treturn D3D12_CULL_MODE_BACK;\n\n\t\tcase MeshRenderPipelineD3D12::PIPELINE_STATE_LIGHT_SOLID_CULL_FRONT:\treturn D3D12_CULL_MODE_FRONT;\n\t\tcase MeshRenderPipelineD3D12::PIPELINE_STATE_LIGHT_SOLID_CULL_BACK:\treturn D3D12_CULL_MODE_BACK;\n\n\t\tcase MeshRenderPipelineD3D12::PIPELINE_STATE_SHADOW_CULL_NONE:\n\t\tcase MeshRenderPipelineD3D12::PIPELINE_STATE_LIGHT_WIREFRAME:\n\t\tcase MeshRenderPipelineD3D12::PIPELINE_STATE_LIGHT_SOLID_CULL_NONE:\treturn D3D12_CULL_MODE_NONE;\n\t}\n\n\tprintf(\"Unhandled option!\");\n\treturn D3D12_CULL_MODE_NONE;\n}\n\nstatic void _initRasterizerDesc(MeshRenderPipelineD3D12::PipelineStateType type, FrontWindingType winding, D3D12_RASTERIZER_DESC& desc)\n{\n\tPipelineUtilD3D::initRasterizerDesc(winding, desc);\n\n\tdesc.FillMode = _getFillMode(type);\n\tdesc.CullMode = _getCullMode(type);\n}\n\nstatic void _initPipelineStateDesc(MeshRenderPipelineD3D12::PipelineStateType type, NvCo::Dx12RenderTarget* shadowMap, AppGraphCtxD3D12* renderContext, D3D12_GRAPHICS_PIPELINE_STATE_DESC& psoDesc)\n{\n\tPipelineUtilD3D::initTargetFormat((shadowMap && MeshRenderPipelineD3D12::isShadow(type)) ? shadowMap : nullptr, renderContext, psoDesc);\n\n\tpsoDesc.InputLayout.NumElements = _countof(MeshRendererD3D12::MeshInputElementDescs);\n\tpsoDesc.InputLayout.pInputElementDescs = MeshRendererD3D12::MeshInputElementDescs;\n\tpsoDesc.PrimitiveTopologyType = D3D12_PRIMITIVE_TOPOLOGY_TYPE_TRIANGLE;\n}\n\nint MeshRenderPipelineD3D12::initialize(const RenderStateD3D12& state, const std::wstring& shadersPath, FrontWindingType winding, int shadowMapLinearSamplerIndex, NvCo::Dx12RenderTarget* shadowMap, bool asyncComputeBenchmark)\n{\n\tusing namespace NvCo;\n\tID3D12Device* device = state.m_device;\n\n\tm_shadowMapLinearSamplerIndex = shadowMapLinearSamplerIndex;\n\n\t// create the pipeline state object\n\t{\n\t\tD3D12_GRAPHICS_PIPELINE_STATE_DESC psoDesc = {};\n\t\tPipelineUtilD3D::initSolidBlendDesc(psoDesc.BlendState);\n\n\t\t// create the root signature\n\t\tComPtr<ID3D12RootSignature> signiture;\n\t\t{\n\t\t\tCD3DX12_DESCRIPTOR_RANGE ranges[2];\n\t\t\tCD3DX12_ROOT_PARAMETER params[3];\n\t\t\t\n\t\t\tUINT rootIndex = 0;\n\t\t\t{\n\t\t\t\tD3D12_ROOT_PARAMETER& param = params[rootIndex++];\n\t\t\t\tparam.ParameterType = D3D12_ROOT_PARAMETER_TYPE_CBV;\n\t\t\t\tparam.Descriptor.ShaderRegister = 0u;\n\t\t\t\tparam.Descriptor.RegisterSpace = 0u;\n\t\t\t\tparam.ShaderVisibility = D3D12_SHADER_VISIBILITY_ALL;\n\t\t\t}\n\n\t\t\tconst int numSrvs = 1;\n\t\t\tif (numSrvs > 0)\n\t\t\t{\n\t\t\t\tranges[0].Init(D3D12_DESCRIPTOR_RANGE_TYPE_SRV, numSrvs, 0);\n\t\t\t\tparams[rootIndex++].InitAsDescriptorTable(1, &ranges[0], D3D12_SHADER_VISIBILITY_PIXEL);\n\t\t\t}\n\t\t\tconst int numSamplers = 1;\n\t\t\tif (numSamplers > 0)\n\t\t\t{\n\t\t\t\tranges[1].Init(D3D12_DESCRIPTOR_RANGE_TYPE_SAMPLER, numSamplers, 0);\n\t\t\t\tparams[rootIndex++].InitAsDescriptorTable(1, &ranges[1], D3D12_SHADER_VISIBILITY_PIXEL);\n\t\t\t}\n\n\t\t\tD3D12_ROOT_SIGNATURE_DESC desc;\n\t\t\tdesc.NumParameters = rootIndex;\n\t\t\tdesc.pParameters = params;\n\t\t\tdesc.NumStaticSamplers = 0;\n\t\t\tdesc.pStaticSamplers = nullptr;\n\t\t\tdesc.Flags = D3D12_ROOT_SIGNATURE_FLAG_ALLOW_INPUT_ASSEMBLER_INPUT_LAYOUT;\n\n\t\t\tComPtr<ID3DBlob> sigBlob;\n\t\t\tNV_RETURN_ON_FAIL(Dx12HelperUtil::serializeRootSigniture(desc, D3D_ROOT_SIGNATURE_VERSION_1, sigBlob));\n\t\t\tNV_RETURN_ON_FAIL(device->CreateRootSignature(0u, sigBlob->GetBufferPointer(), sigBlob->GetBufferSize(), IID_PPV_ARGS(&signiture)));\n\t\t}\n\n\t\t{\n\t\t\tpsoDesc.VS = Dx12Blob(g_meshVS);\n\t\t\tpsoDesc.PS = asyncComputeBenchmark ? Dx12Blob(AsyncComputeBench::g_meshPS) : Dx12Blob(g_meshPS);;\n\n\t\t\tNV_RETURN_ON_FAIL(_initPipelineState(state, winding, shadowMap, PIPELINE_STATE_LIGHT_SOLID_CULL_FRONT, signiture.Get(), psoDesc));\n\t\t\tNV_RETURN_ON_FAIL(_initPipelineState(state, winding, shadowMap, PIPELINE_STATE_LIGHT_SOLID_CULL_BACK, signiture.Get(), psoDesc));\n\t\t\tNV_RETURN_ON_FAIL(_initPipelineState(state, winding, shadowMap, PIPELINE_STATE_LIGHT_SOLID_CULL_NONE, signiture.Get(), psoDesc));\n\t\t\tNV_RETURN_ON_FAIL(_initPipelineState(state, winding, shadowMap, PIPELINE_STATE_LIGHT_WIREFRAME, signiture.Get(), psoDesc));\n\t\t}\n\n\t\t// Shadow rendering\n\n\t\t{\n\t\t\tD3D12_ROOT_PARAMETER params[1];\n\t\t\tparams[0].ParameterType = D3D12_ROOT_PARAMETER_TYPE_CBV;\n\t\t\tparams[0].Descriptor.ShaderRegister = 0u;\n\t\t\tparams[0].Descriptor.RegisterSpace = 0u;\n\t\t\tparams[0].ShaderVisibility = D3D12_SHADER_VISIBILITY_ALL;\n\n\t\t\tD3D12_ROOT_SIGNATURE_DESC desc;\n\t\t\tdesc.NumParameters = 1;\n\t\t\tdesc.pParameters = params;\n\t\t\tdesc.NumStaticSamplers = 0;\n\t\t\tdesc.pStaticSamplers = nullptr;\n\t\t\tdesc.Flags = D3D12_ROOT_SIGNATURE_FLAG_ALLOW_INPUT_ASSEMBLER_INPUT_LAYOUT;\n\n\t\t\tComPtr<ID3DBlob> sigBlob;\n\t\t\tNV_RETURN_ON_FAIL(Dx12HelperUtil::serializeRootSigniture(desc, D3D_ROOT_SIGNATURE_VERSION_1, sigBlob));\n\t\t\tNV_RETURN_ON_FAIL(device->CreateRootSignature(0u, sigBlob->GetBufferPointer(), sigBlob->GetBufferSize(), IID_PPV_ARGS(&signiture)));\n\t\t}\n\n\t\t{\n\t\t\tpsoDesc.VS = Dx12Blob(g_meshVS);\n\t\t\tpsoDesc.PS = Dx12Blob(g_meshPS_Shadow);\n\t\t\t\n\t\t\tNV_RETURN_ON_FAIL(_initPipelineState(state, winding, shadowMap, PIPELINE_STATE_SHADOW_CULL_BACK, signiture.Get(), psoDesc));\n\t\t\tNV_RETURN_ON_FAIL(_initPipelineState(state, winding, shadowMap, PIPELINE_STATE_SHADOW_CULL_NONE, signiture.Get(), psoDesc));\n\t\t}\n\t}\n\n\treturn NV_OK;\n}\n\nint MeshRenderPipelineD3D12::_initPipelineState(const RenderStateD3D12& state, FrontWindingType winding, NvCo::Dx12RenderTarget* shadowMap, PipelineStateType pipeType, ID3D12RootSignature* signiture, D3D12_GRAPHICS_PIPELINE_STATE_DESC& psoDesc)\n{\n\tID3D12Device* device = state.m_device;\n\n\t_initRasterizerDesc(pipeType, winding, psoDesc.RasterizerState);\n\t_initPipelineStateDesc(pipeType, shadowMap, state.m_renderContext, psoDesc);\n\n\tpsoDesc.pRootSignature = signiture;\n\n\tPipelineStateD3D12& pipeState = m_states[pipeType];\n\tpipeState.m_rootSignature = signiture;\n\t\n\tNV_RETURN_ON_FAIL(device->CreateGraphicsPipelineState(&psoDesc, IID_PPV_ARGS(&pipeState.m_pipelineState)));\n\treturn NV_OK;\n}\n\nint MeshRenderPipelineD3D12::bind(const void* paramsIn, const void* platformState)\n{\n\tconst RenderStateD3D12& state = *(RenderStateD3D12*)platformState;\n\tconst MeshDrawParamsD3D& params = *(MeshDrawParamsD3D*)paramsIn;\n\n\tNvCo::Dx12CircularResourceHeap::Cursor cursor;\n\t{\n\t\tHlsl::MeshShaderConst constBuf;\n\t\tRenderParamsUtilD3D::calcMeshConstantBuffer(params, constBuf);\n\t\tcursor = state.m_constantHeap->newConstantBuffer(constBuf);\n\t\tif (!cursor.isValid())\n\t\t{\n\t\t\treturn NV_FAIL;\n\t\t}\t\t\n\t}\n\n\tconst PipelineStateType pipeType = getPipelineStateType(params.renderStage, params.renderMode, params.cullMode);\n\tPipelineStateD3D12& pipeState = m_states[pipeType];\n\tif (!pipeState.isValid())\n\t{\n\t\treturn NV_FAIL;\n\t}\n\n\tID3D12GraphicsCommandList* commandList = state.m_commandList;\n\n\tcommandList->SetGraphicsRootSignature(pipeState.m_rootSignature.Get());\n\tcommandList->SetPipelineState(pipeState.m_pipelineState.Get());\n\n\tD3D12_GPU_VIRTUAL_ADDRESS cbvHandle = state.m_constantHeap->getGpuHandle(cursor);\n\tcommandList->SetGraphicsRootConstantBufferView(0, cbvHandle);\n\n\tif (isShadow(pipeType))\n\t{\n\t\tID3D12DescriptorHeap* heaps[] = { nullptr };\n\t\tcommandList->SetDescriptorHeaps(0, heaps);\n\t}\n\telse\n\t{\n\t\tNvCo::Dx12RenderTarget* shadowMap = (NvCo::Dx12RenderTarget*)params.shadowMap;\n\n\t\tID3D12DescriptorHeap* heaps[] = { state.m_srvCbvUavDescriptorHeap->getHeap(), state.m_samplerDescriptorHeap->getHeap() };\n\t\tcommandList->SetDescriptorHeaps(_countof(heaps), heaps);\n\n\t\t// Bind the srvs\n\t\tcommandList->SetGraphicsRootDescriptorTable(1, state.m_srvCbvUavDescriptorHeap->getGpuHandle(shadowMap->getSrvHeapIndex(shadowMap->getPrimaryBufferType())));\n\t\t// Bind the samplers\n\t\tcommandList->SetGraphicsRootDescriptorTable(2, state.m_samplerDescriptorHeap->getGpuHandle(m_shadowMapLinearSamplerIndex));\n\t}\n\n\treturn NV_OK;\n}\n\nint MeshRenderPipelineD3D12::draw(const RenderAllocation& allocIn, size_t sizeOfAlloc, const void* platformState)\n{\n\treturn MeshRendererD3D12::defaultDraw(allocIn, sizeOfAlloc, platformState);\n}\n\n} // namespace FlexSample"
  },
  {
    "path": "demo/d3d12/meshRenderPipelineD3D12.h",
    "content": "/*\n* Copyright (c) 2008-2016, NVIDIA CORPORATION.  All rights reserved.\n*\n* NVIDIA CORPORATION and its licensors retain all intellectual property\n* and proprietary rights in and to this software, related documentation\n* and any modifications thereto.  Any use, reproduction, disclosure or\n* distribution of this software and related documentation without an express\n* license agreement from NVIDIA CORPORATION is strictly prohibited.\n*/\n\n#ifndef MESH_RENDER_PIPELINE_D3D12_H\n#define MESH_RENDER_PIPELINE_D3D12_H\n\n#include <DirectXMath.h>\n#include \"renderStateD3D12.h\"\n#include \"../d3d/shaderCommonD3D.h\"\n#include \"meshRenderer.h\"\n#include \"../d3d/renderParamsD3D.h\"\n\n#include <NvCoDx12RenderTarget.h>\n\nnamespace FlexSample {\nusing namespace nvidia;\n\nstruct MeshRenderPipelineD3D12: public RenderPipeline\n{\n\t//NV_CO_DECLARE_POLYMORPHIC_CLASS(MeshRenderPipelineD3D12, RenderPipeline);\npublic:\n\ttypedef RenderPipeline Parent;\n\n\tenum PipelineStateType\n\t{\n\t\tPIPELINE_STATE_SHADOW_CULL_BACK,\t\t\t// Is cull back \n\t\tPIPELINE_STATE_SHADOW_CULL_NONE,\t\t\t\n\t\tPIPELINE_STATE_LIGHT_WIREFRAME,\t\t\t\t// No culling\n\t\tPIPELINE_STATE_LIGHT_SOLID_CULL_FRONT,\n\t\tPIPELINE_STATE_LIGHT_SOLID_CULL_BACK,\n\t\tPIPELINE_STATE_LIGHT_SOLID_CULL_NONE,\n\t\tPIPELINE_STATE_COUNT_OF,\n\t};\n\n\tMeshRenderPipelineD3D12();\n\t\n\t\t/// Initialize\n\tint initialize(const RenderStateD3D12& state, const std::wstring& shadersDir, FrontWindingType winding, int shadowMapLinearSamplerIndex, NvCo::Dx12RenderTarget* shadowMap, bool asyncComputeBenchmark);\n\t\t/// Do the binding\n\tvirtual int bind(const void* paramsIn, const void* platformState) override;\n\tvirtual int draw(const RenderAllocation& alloc, size_t sizeOfAlloc, const void* platformState) override;\n\n\t\t/// Convert into a single pipeline state type\n\tstatic PipelineStateType getPipelineStateType(MeshDrawStage stage, MeshRenderMode mode, MeshCullMode cull);\n\t\t/// true if it's a shadowing type\n\tstatic bool isShadow(PipelineStateType type) { return type == PIPELINE_STATE_SHADOW_CULL_BACK || type == PIPELINE_STATE_SHADOW_CULL_NONE; }\n\n\tprotected:\n\n\tint _initPipelineState(const RenderStateD3D12& state, FrontWindingType winding, NvCo::Dx12RenderTarget* shadowMap, PipelineStateType pipeType, ID3D12RootSignature* signiture, D3D12_GRAPHICS_PIPELINE_STATE_DESC& psoDesc);\n\n\tint m_shadowMapLinearSamplerIndex;\t\t\t//< The index to the linear sampler in the m_samplerHeap\n\n\tPipelineStateD3D12 m_states[PIPELINE_STATE_COUNT_OF];\n};\n\n} // namespace FlexSample\n\n#endif"
  },
  {
    "path": "demo/d3d12/meshRenderer.cpp",
    "content": "/*\n* Copyright (c) 2008-2016, NVIDIA CORPORATION.  All rights reserved.\n*\n* NVIDIA CORPORATION and its licensors retain all intellectual property\n* and proprietary rights in and to this software, related documentation\n* and any modifications thereto.  Any use, reproduction, disclosure or\n* distribution of this software and related documentation without an express\n* license agreement from NVIDIA CORPORATION is strictly prohibited.\n*/\n\n#include \"meshRenderer.h\"\n\nnamespace FlexSample {\n\n} // namespace FlexSample"
  },
  {
    "path": "demo/d3d12/meshRenderer.h",
    "content": "\n#ifndef MESH_RENDERER_H\n#define MESH_RENDERER_H\n\n#include \"core/maths.h\"\n\nnamespace FlexSample {\n\nenum FrontWindingType\n{\n\tFRONT_WINDING_CLOCKWISE,\n\tFRONT_WINDING_COUNTER_CLOCKWISE,\n};\n\nstruct RenderAllocation;\n\nenum PrimitiveType\n{\n\tPRIMITIVE_UNKNOWN,\n\tPRIMITIVE_POINT,\n\tPRIMITIVE_LINE,\n\tPRIMITIVE_TRIANGLE,\n};\n\n/* Abstraction for how something is rendered. A pipeline indicates what kind of rendering it can be used with via the usage type */\nstruct RenderPipeline\n{\n\t//NV_CO_DECLARE_POLYMORPHIC_CLASS_BASE(RenderPipeline);\npublic:\n\t\t/// Bind with platform specific state\n\tvirtual int bind(const void* paramsIn, const void* platformState) = 0;\n\tvirtual int draw(const RenderAllocation& pointAlloc, size_t sizeOfAlloc, const void* platformState) = 0;\n\t\n\t\t/// Get the usage type\n\tinline PrimitiveType getPrimitiveType() const { return m_primitiveType; }\n\n\t\t/// Ctor\n\tRenderPipeline(PrimitiveType primitiveType): m_primitiveType(primitiveType) {}\n\n\tvirtual ~RenderPipeline() {}\n\tprivate:\n\tPrimitiveType m_primitiveType;\n};\n\nstruct MeshData\n{\n\tvoid init()\n\t{\n\t\tpositions = nullptr;\n\t\tnormals = nullptr;\n\t\ttexcoords = nullptr;\n\t\tcolors = nullptr;\n\t\tindices = nullptr;\n\t\tnumFaces = 0;\n\t\tnumVertices = 0;\n\t}\n\n\tconst Vec3* positions;\n    const Vec3* normals;\n\tconst Vec2* texcoords;\n\tconst Vec4* colors;\n\tconst uint32_t* indices;\n\tint numVertices;\n\tint numFaces;\n};\n\nstruct MeshData2\n{\n\tvoid init()\n\t{\n\t\tpositions = nullptr;\n\t\tnormals = nullptr;\n\t\ttexcoords = nullptr;\n\t\tcolors = nullptr;\n\t\tindices = nullptr;\n\t\tnumFaces = 0;\n\t\tnumVertices = 0;\n\t}\n\n\tconst Vec4* positions;\n\tconst Vec4* normals;\n\tconst Vec2* texcoords;\n\tconst Vec4* colors;\n\tconst uint32_t* indices;\n\tptrdiff_t numVertices;\n\tptrdiff_t numFaces;\n};\n\n\nstruct LineData\n{\n\tstruct Vertex\n\t{\n\t\tVec3 position;\n\t\tVec4 color;\n\t};\n\tvoid init()\n\t{\n\t\tvertices = nullptr;\n\t\tindices = nullptr;\n\t\tnumLines = 0;\n\t\tnumVertices = 0;\n\t}\n\tconst Vertex* vertices;\t\t\t\t///< Must be set, and holds numPositions. If indices is nullptr, must hold at least numLines * 2 \n\tconst uint32_t* indices;\t\t\t///< If not nullptr holds 2 * numLines\n\tptrdiff_t numVertices;\t\t\t\t\t///< The total amount of positions\n\tptrdiff_t numLines;\t\t\t\t\t///< The total number of lines\n};\n\nstruct PointData\n{\n\tvoid init()\n\t{\n\t\tpositions = nullptr;\n\t\tdensity = nullptr;\n\t\tphase = nullptr;\n\t\tnumPoints = 0;\n\t\tfor (int i = 0; i < 3; i++)\n\t\t{\n\t\t\tanisotropy[i] = nullptr;\n\t\t}\n\t\tindices = nullptr;\n\t\tnumIndices = 0;\n\t}\n\n\tconst Vec4* positions;\n\tconst float* density;\n\tconst int* phase;\n\tptrdiff_t numPoints;\t\t\t\t\t//< The number of values in position, density and phase. It must be +1 the maximum particle indexed\n\n\tconst Vec4* anisotropy[3];\t// Holds anisotropy or can be nullptr if not used\n\n\tconst uint32_t* indices;\t\t\t\t//< The indices to used particles\n\tptrdiff_t numIndices;\n};\n\nstruct RenderMesh\n{\t\n\t//NV_CO_DECLARE_POLYMORPHIC_CLASS_BASE(RenderMesh);\npublic:\n\tvirtual ~RenderMesh() {};\n};\n\nstruct RenderAllocation\n{\n\tvoid init(PrimitiveType primType)\n\t{\n\t\tm_numPositions = -1;\n\t\tm_numPrimitives = -1;\n\t\tm_offset = 0;\n\t\tm_primitiveType = primType;\n\t}\n\n\tPrimitiveType m_primitiveType;\t\t\t\t\t///< The primitive type to draw\n\tptrdiff_t m_numPositions;\t\t\t\t\t\t///< The total number of positions\n\tptrdiff_t m_numPrimitives;\t\t\t\t\t\t///< The total number of primitives\n\tptrdiff_t m_offset;\t\t\t\t\t\t\t\t///< The start location in the render buffer to offset\n};\n\nstruct MeshRenderer\n{\n\t//NV_CO_DECLARE_POLYMORPHIC_CLASS_BASE(MeshRenderer);\npublic:\n\t\t/// Draw a pre-created mesh\n\tvirtual int draw(RenderMesh* mesh, RenderPipeline* pipeline, const void* params) = 0;\n\n\t\t/// Do an immediate mode draw\n\tvirtual int drawImmediate(const MeshData& meshData, RenderPipeline* pipeline, const void* params) = 0;\n\t\t/// Do an immediate mode draw\n\tvirtual int drawImmediate(const MeshData2& meshData, RenderPipeline* pipeline, const void* params) = 0;\n\t\t/// Draw particles immediately\n\tvirtual int drawImmediate(const PointData& pointData, RenderPipeline* pipeline, const void* params) = 0;\n\t\t/// Draw lines immediately\n\tvirtual int drawImmediate(const LineData& lineData, RenderPipeline* pipeline, const void* params) = 0;\n\n\t\t/// Render immediately using a previously transitory allocation\n\tvirtual int drawTransitory(RenderAllocation& allocation, size_t sizeOfAlloc, RenderPipeline* pipeline, const void* params) = 0;\n\n\t\t/// Allocate rendering data temporarily in gpu accessible memory. Render with drawTransitory.\n\t\t/// A transitory allocations lifetime is dependent on rendering API, but typically stays in scope for a frame, so multiple\n\t\t/// draw Transitory allocation can be done for a single allocation - but only in drawing a single frame.\n\t\t/// NOTE! The PointAllocation/MeshAllocation structures must be the derived type for the API being used (say Dx12PointAllocation)\n\t\t/// this is verified by the sizeOfAlloc being that size.\n\tvirtual int allocateTransitory(const PointData& pointData, RenderAllocation& allocation, size_t sizeOfAlloc) = 0;\n\tvirtual int allocateTransitory(const MeshData& meshData, RenderAllocation& allocation, size_t sizeOfAlloc) = 0;\n\tvirtual int allocateTransitory(const MeshData2& meshData, RenderAllocation& allocation, size_t sizeOfAlloc) = 0;\n\tvirtual int allocateTransitory(const LineData& lineData, RenderAllocation& allocation, size_t sizeOfAlloc) = 0;\n\n\t\t/// Create a render mesh from mesh data\n\tvirtual RenderMesh* createMesh(const MeshData& meshData) = 0;\n\tvirtual RenderMesh* createMesh(const MeshData2& meshData) = 0;\n};\n\n} // namespace FlexSample\n\n#endif"
  },
  {
    "path": "demo/d3d12/meshRendererD3D12.cpp",
    "content": "#include \"meshRendererD3D12.h\"\n\nnamespace FlexSample {\n\nconst D3D12_INPUT_ELEMENT_DESC MeshRendererD3D12::MeshInputElementDescs[4] =\n{\n\t{ \"POSITION\", 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, 0, D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA, 0 },\n\t{ \"NORMAL\", 0, DXGI_FORMAT_R32G32B32_FLOAT, 1, 0, D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA, 0 },\n\t{ \"TEXCOORD\", 0, DXGI_FORMAT_R32G32_FLOAT, 2, 0, D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA, 0 },\n\t{ \"COLOR\", 0, DXGI_FORMAT_R32G32B32A32_FLOAT, 3, 0, D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA, 0 }\n};\n\nconst D3D12_INPUT_ELEMENT_DESC MeshRendererD3D12::PointInputElementDescs[3] =\n{\n\t{ \"POSITION\", 0, DXGI_FORMAT_R32G32B32A32_FLOAT, 0, 0, D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA, 0 },\n\t{ \"DENSITY\", 0, DXGI_FORMAT_R32_FLOAT, 1, 0, D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA, 0 },\n\t{ \"PHASE\", 0, DXGI_FORMAT_R32_SINT, 2, 0, D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA, 0 },\n};\n\n/* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Dx12RenderMesh !!!!!!!!!!!!!!!!!!!!!!!!!!!!!! */\n\nRenderMeshD3D12::RenderMeshD3D12()\n{\n\tm_numVertices = 0;\n\tm_numFaces = 0;\n}\n\nint RenderMeshD3D12::initialize(const RenderStateD3D12& state, const MeshData& meshData)\n{\n\tNV_RETURN_ON_FAIL(m_positionBuffer.init(state, sizeof(Vec3), meshData.numVertices, meshData.positions));\n\tNV_RETURN_ON_FAIL(m_normalBuffer.init(state, sizeof(Vec3), meshData.numVertices, meshData.normals));\n\tNV_RETURN_ON_FAIL(m_texcoordBuffer.init(state, sizeof(Vec2), meshData.numVertices, meshData.texcoords));\n\tNV_RETURN_ON_FAIL(m_colorBuffer.init(state, sizeof(Vec4), meshData.numVertices, meshData.colors));\n\tNV_RETURN_ON_FAIL(m_indexBuffer.init(state, sizeof(uint32_t), meshData.numFaces * 3, meshData.indices));\n\n\tm_numVertices = meshData.numVertices;\n\tm_numFaces = meshData.numFaces;\n\n\t_setBufferNames();\n\treturn NV_OK;\n}\n\nint RenderMeshD3D12::initialize(const RenderStateD3D12& state, const MeshData2& meshData)\n{\n\tNV_RETURN_ON_FAIL(m_positionBuffer.init(state, sizeof(Vec4), sizeof(Vec3), meshData.numVertices, meshData.positions));\n\tNV_RETURN_ON_FAIL(m_normalBuffer.init(state, sizeof(Vec4), sizeof(Vec3), meshData.numVertices, meshData.normals));\n\tNV_RETURN_ON_FAIL(m_texcoordBuffer.init(state, sizeof(Vec2), meshData.numVertices, meshData.texcoords));\n\tNV_RETURN_ON_FAIL(m_colorBuffer.init(state, sizeof(Vec4), meshData.numVertices, meshData.colors));\n\tNV_RETURN_ON_FAIL(m_indexBuffer.init(state, sizeof(uint32_t), meshData.numFaces * 3, meshData.indices));\n\n\tm_numVertices = meshData.numVertices;\n\tm_numFaces = meshData.numFaces;\n\n\t_setBufferNames();\n\treturn NV_OK;\n}\n\nvoid RenderMeshD3D12::_setBufferNames()\n{\n\tm_positionBuffer.setDebugName(L\"positions\");\n\tm_normalBuffer.setDebugName(L\"normals\");\n\tm_texcoordBuffer.setDebugName(L\"texcoords\");\n\tm_colorBuffer.setDebugName(L\"colors\");\n\tm_indexBuffer.setDebugName(L\"indices\");\n}\n\n/* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Dx12MeshRenderer !!!!!!!!!!!!!!!!!!!!!!!!!!!!!! */\n\nMeshRendererD3D12::MeshRendererD3D12()\n{\n}\n\nint MeshRendererD3D12::initialize(const RenderStateD3D12& state)\n{\n\tm_renderState = state;\n\treturn NV_OK;\n}\n\nD3D12_VERTEX_BUFFER_VIEW MeshRendererD3D12::_newImmediateVertexBuffer(const void* data, int stride, ptrdiff_t numVertices)\n{\n\tD3D12_VERTEX_BUFFER_VIEW view = {};\n\tif (data)\n\t{\n\t\tconst size_t bufferSize = stride * numVertices;\n\t\tNvCo::Dx12CircularResourceHeap::Cursor cursor = m_renderState.m_constantHeap->allocateVertexBuffer(bufferSize);\n\n\t\tmemcpy(cursor.m_position, data, bufferSize);\n\n\t\tview.BufferLocation = m_renderState.m_constantHeap->getGpuHandle(cursor);\n\t\tview.SizeInBytes = UINT(bufferSize);\n\t\tview.StrideInBytes = stride;\n\t}\n\treturn view;\n}\n\nD3D12_VERTEX_BUFFER_VIEW MeshRendererD3D12::_newStridedImmediateVertexBuffer(const void* data, int srcStride, int dstStride, ptrdiff_t numElements)\n{\n\tif (srcStride == dstStride)\n\t{\n\t\treturn _newImmediateVertexBuffer(data, srcStride, numElements);\n\t}\n\n\tD3D12_VERTEX_BUFFER_VIEW view = {};\n\tif (srcStride == 4 * 4 && dstStride == 4 * 3)\n\t{\n\t\tconst size_t bufferSize = dstStride * numElements;\n\t\tNvCo::Dx12CircularResourceHeap::Cursor cursor = m_renderState.m_constantHeap->allocateVertexBuffer(bufferSize);\n\n\t\tuint32_t* dst = (uint32_t*)cursor.m_position;\n\t\tconst uint32_t* src = (const uint32_t*)data;\n\n\t\t// Copy taking into account stride difference\n\t\tfor (ptrdiff_t i = 0; i < numElements; i++, dst += 3, src += 4)\n\t\t{\n\t\t\tdst[0] = src[0];\n\t\t\tdst[1] = src[1];\n\t\t\tdst[2] = src[2];\n\t\t}\n\n\t\tview.BufferLocation = m_renderState.m_constantHeap->getGpuHandle(cursor);\n\t\tview.SizeInBytes = UINT(bufferSize);\n\t\tview.StrideInBytes = dstStride;\n\n\t\treturn view;\n\t}\n\t\n\tprintf(\"Unhandled conversion\");\n\treturn view;\n}\n\nD3D12_INDEX_BUFFER_VIEW MeshRendererD3D12::_newImmediateIndexBuffer(const void* data, int stride, ptrdiff_t numIndices)\n{\n\tassert(stride == sizeof(uint32_t));\n\tD3D12_INDEX_BUFFER_VIEW view = {};\n\n\tif (data)\n\t{\n\t\tconst size_t bufferSize = stride * numIndices;\n\t\tNvCo::Dx12CircularResourceHeap::Cursor cursor = m_renderState.m_constantHeap->allocateVertexBuffer(bufferSize);\n\n\t\tmemcpy(cursor.m_position, data, bufferSize);\n\n\t\tview.BufferLocation = m_renderState.m_constantHeap->getGpuHandle(cursor);\n\t\tview.SizeInBytes = UINT(bufferSize);\n\t\tview.Format = DXGI_FORMAT_R32_UINT;\n\t}\n\n\treturn view;\n}\n\nint MeshRendererD3D12::draw(RenderMesh* meshIn, RenderPipeline* pipeline, const void* params)\n{\n\tRenderMeshD3D12* mesh = static_cast<RenderMeshD3D12*>(meshIn);\n\n\t// Set up the allocation block\n\tMeshRenderAllocationD3D12 alloc;\n\talloc.init(PRIMITIVE_TRIANGLE);\n\n\talloc.m_vertexBufferViews[0] = mesh->m_positionBuffer.m_vertexBufferView;\n\talloc.m_vertexBufferViews[1] = mesh->m_normalBuffer.m_vertexBufferView;\n\talloc.m_vertexBufferViews[2] = mesh->m_texcoordBuffer.m_vertexBufferView;\n\talloc.m_vertexBufferViews[3] = mesh->m_colorBuffer.m_vertexBufferView;\n\n\talloc.m_indexBufferView = mesh->m_indexBuffer.m_indexBufferView;\n\talloc.m_numPrimitives = mesh->m_numFaces;\n\talloc.m_numPositions = mesh->m_numVertices;\n\n\treturn drawTransitory(alloc, sizeof(MeshRenderAllocationD3D12), pipeline, params);\n}\n\nint MeshRendererD3D12::drawImmediate(const MeshData& mesh, RenderPipeline* pipeline, const void* params)\n{\n\tMeshRenderAllocationD3D12 alloc;\n\tallocateTransitory(mesh, alloc, sizeof(alloc));\n\treturn drawTransitory(alloc, sizeof(alloc), pipeline, params);\n}\n\nint MeshRendererD3D12::drawImmediate(const MeshData2& mesh, RenderPipeline* pipeline, const void* params)\n{\n\tMeshRenderAllocationD3D12 alloc;\n\tallocateTransitory(mesh, alloc, sizeof(alloc));\n\treturn drawTransitory(alloc, sizeof(alloc), pipeline, params);\n}\n\nint MeshRendererD3D12::drawImmediate(const LineData& lineData, RenderPipeline* pipeline, const void* params)\n{\n\tLineRenderAllocationD3D12 alloc;\n\tallocateTransitory(lineData, alloc, sizeof(alloc));\n\treturn drawTransitory(alloc, sizeof(alloc), pipeline, params);\n}\n\nint MeshRendererD3D12::drawImmediate(const PointData& pointData, RenderPipeline* pipeline, const void* params)\n{\n\tPointRenderAllocationD3D12 alloc;\n\tallocateTransitory(pointData, alloc, sizeof(alloc));\n\treturn drawTransitory(alloc, sizeof(alloc), pipeline, params);\n}\n\nint MeshRendererD3D12::allocateTransitory(const PointData& pointData, RenderAllocation& allocIn, size_t sizeOfAlloc)\n{\n\ttypedef PointRenderAllocationD3D12 Alloc;\n\n\tassert(sizeof(Alloc) == sizeOfAlloc);\n\t\n\tAlloc& alloc = static_cast<Alloc&>(allocIn);\n\talloc.init(PRIMITIVE_POINT);\n\n\talloc.m_vertexBufferViews[Alloc::VERTEX_VIEW_POSITION] = _newImmediateVertexBuffer(pointData.positions, sizeof(Vec4), pointData.numPoints);\n\talloc.m_vertexBufferViews[Alloc::VERTEX_VIEW_DENSITY] = _newImmediateVertexBuffer(pointData.density, sizeof(float), pointData.numPoints);\n\talloc.m_vertexBufferViews[Alloc::VERTEX_VIEW_PHASE] = _newImmediateVertexBuffer(pointData.phase, sizeof(int), pointData.numPoints);\n\n\tif (pointData.anisotropy[0])\n\t{\n\t\tfor (int i = 0; i < 3; i++)\n\t\t{\n\t\t\talloc.m_vertexBufferViews[Alloc::VERTEX_VIEW_ANISOTROPY1 + i] = _newImmediateVertexBuffer(pointData.anisotropy[i], sizeof(Vec4), pointData.numPoints);\n\t\t}\n\t}\n\n\talloc.m_indexBufferView = _newImmediateIndexBuffer(pointData.indices, sizeof(uint32_t), pointData.numIndices);\n\n\talloc.m_numPrimitives = pointData.numIndices;\n\talloc.m_numPositions = pointData.numPoints;\n\treturn NV_OK;\n}\n\nint MeshRendererD3D12::allocateTransitory(const MeshData2& mesh, RenderAllocation& allocIn, size_t sizeOfAlloc)\n{\n\ttypedef MeshRenderAllocationD3D12 Alloc;\n\tassert(sizeof(Alloc) == sizeOfAlloc);\n\n\tAlloc& alloc = static_cast<Alloc&>(allocIn);\n\talloc.init(PRIMITIVE_TRIANGLE);\n\n\tconst int numIndices = int(mesh.numFaces * 3);\n\talloc.m_indexBufferView = _newImmediateIndexBuffer(mesh.indices, sizeof(uint32_t), numIndices);\n\n\talloc.m_vertexBufferViews[Alloc::VERTEX_VIEW_POSITION] = _newStridedImmediateVertexBuffer(mesh.positions, sizeof(Vec4), sizeof(Vec3), mesh.numVertices);\n\talloc.m_vertexBufferViews[Alloc::VERTEX_VIEW_NORMAL] = _newStridedImmediateVertexBuffer(mesh.normals, sizeof(Vec4), sizeof(Vec3), mesh.numVertices);\n\talloc.m_vertexBufferViews[Alloc::VERTEX_VIEW_TEX_COORDS] = _newImmediateVertexBuffer(mesh.texcoords, sizeof(Vec2), mesh.numVertices);\n\talloc.m_vertexBufferViews[Alloc::VERTEX_VIEW_COLOR] = _newImmediateVertexBuffer(mesh.colors, sizeof(Vec4), mesh.numVertices);\n\t\n\talloc.m_numPrimitives = mesh.numFaces;\n\talloc.m_numPositions = mesh.numVertices;\n\treturn NV_OK;\n}\n\nint MeshRendererD3D12::allocateTransitory(const LineData& lineData, RenderAllocation& allocIn, size_t sizeOfAlloc)\n{\n\ttypedef LineRenderAllocationD3D12 Alloc;\n\tassert(sizeof(Alloc) == sizeOfAlloc);\n\n\tAlloc& alloc = static_cast<Alloc&>(allocIn);\n\talloc.init(PRIMITIVE_LINE);\n\n\talloc.m_vertexBufferView = _newImmediateVertexBuffer(lineData.vertices, sizeof(LineData::Vertex), lineData.numVertices);\n\talloc.m_indexBufferView = _newImmediateIndexBuffer(lineData.indices, sizeof(uint32_t), lineData.numLines * 2);\n\t\n\talloc.m_numPrimitives = lineData.numLines;\n\talloc.m_numPositions = lineData.numVertices;\n\treturn NV_OK;\n}\n\nint MeshRendererD3D12::allocateTransitory(const MeshData& mesh, RenderAllocation& allocIn, size_t sizeOfAlloc)\n{\n\ttypedef MeshRenderAllocationD3D12 Alloc;\n\tassert(sizeof(Alloc) == sizeOfAlloc);\n\n\tAlloc& alloc = static_cast<Alloc&>(allocIn);\n\n\talloc.init(PRIMITIVE_TRIANGLE);\n\t\n\tconst int numIndices = int(mesh.numFaces * 3);\n\talloc.m_indexBufferView = _newImmediateIndexBuffer(mesh.indices, sizeof(uint32_t), numIndices);\n\n\talloc.m_vertexBufferViews[Alloc::VERTEX_VIEW_POSITION] = _newImmediateVertexBuffer(mesh.positions, sizeof(Vec3), mesh.numVertices);\n\talloc.m_vertexBufferViews[Alloc::VERTEX_VIEW_NORMAL] = _newImmediateVertexBuffer(mesh.normals, sizeof(Vec3), mesh.numVertices);\n\talloc.m_vertexBufferViews[Alloc::VERTEX_VIEW_TEX_COORDS] = _newImmediateVertexBuffer(mesh.texcoords, sizeof(Vec2), mesh.numVertices);\n\talloc.m_vertexBufferViews[Alloc::VERTEX_VIEW_COLOR] = _newImmediateVertexBuffer(mesh.colors, sizeof(Vec4), mesh.numVertices);\n\n\talloc.m_numPrimitives = mesh.numFaces;\n\talloc.m_numPositions = mesh.numVertices;\n\n\treturn NV_OK;\n}\n\nint MeshRendererD3D12::drawTransitory(RenderAllocation& allocIn, size_t sizeOfAlloc, RenderPipeline* pipeline, const void* params)\n{\n\tif (allocIn.m_primitiveType == PRIMITIVE_UNKNOWN)\n\t{\n\t\treturn NV_OK;\n\t}\n\tif (allocIn.m_primitiveType != pipeline->getPrimitiveType())\n\t{\n\t\tprintf(\"Wrong pipeline primitive type\");\n\t\treturn NV_FAIL;\n\t}\n\n\tNV_RETURN_ON_FAIL(pipeline->bind(params, &m_renderState));\n\tNV_RETURN_ON_FAIL(pipeline->draw(allocIn, sizeOfAlloc, &m_renderState));\n\treturn NV_OK;\n}\n\nRenderMesh* MeshRendererD3D12::createMesh(const MeshData& meshData)\n{\n\tRenderMeshD3D12* mesh = new RenderMeshD3D12;\n\tif (NV_FAILED(mesh->initialize(m_renderState, meshData)))\n\t{\n\t\tdelete mesh;\n\t\treturn nullptr;\n\t}\n\treturn mesh;\n}\n\nRenderMesh* MeshRendererD3D12::createMesh(const MeshData2& meshData)\n{\n\tRenderMeshD3D12* mesh = new RenderMeshD3D12;\n\tif (NV_FAILED(mesh->initialize(m_renderState, meshData)))\n\t{\n\t\tdelete mesh;\n\t\treturn nullptr;\n\t}\n\treturn mesh;\n}\n\nint MeshRendererD3D12::defaultDraw(const RenderAllocation& allocIn, size_t sizeOfAlloc, const void* platformState)\n{\n\tconst RenderStateD3D12& state = *(RenderStateD3D12*)platformState;\n\tID3D12GraphicsCommandList* commandList = state.m_commandList;\n\n\tswitch (allocIn.m_primitiveType)\n\t{\n\t\tcase PRIMITIVE_POINT:\n\t\t{\n\t\t\ttypedef PointRenderAllocationD3D12 Alloc;\n\t\t\tconst RenderStateD3D12& state = *(RenderStateD3D12*)platformState;\n\n\t\t\tassert(sizeof(Alloc) == sizeOfAlloc);\n\t\t\tconst Alloc& alloc = static_cast<const Alloc&>(allocIn);\n\n\t\t\tassert(allocIn.m_numPrimitives >= 0);\n\n\t\t\tID3D12GraphicsCommandList* commandList = state.m_commandList;\n\n\t\t\tcommandList->IASetPrimitiveTopology(D3D_PRIMITIVE_TOPOLOGY_POINTLIST);\n\t\t\tcommandList->IASetVertexBuffers(0, Alloc::NUM_DEFAULT_VERTEX_VIEWS, alloc.m_vertexBufferViews);\n\t\t\tcommandList->IASetIndexBuffer(&alloc.m_indexBufferView);\n\n\t\t\tif (alloc.m_indexBufferView.SizeInBytes)\n\t\t\t{\n\t\t\t\tcommandList->DrawIndexedInstanced((UINT)allocIn.m_numPrimitives, 1, (UINT)allocIn.m_offset, 0, 0);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tcommandList->DrawInstanced((UINT)allocIn.m_numPrimitives, 1, (UINT)allocIn.m_offset, 0);\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t\tcase PRIMITIVE_LINE:\n\t\t{\n\t\t\ttypedef LineRenderAllocationD3D12 Alloc;\n\t\t\tassert(sizeof(Alloc) == sizeOfAlloc);\n\t\t\tconst Alloc& alloc = static_cast<const Alloc&>(allocIn);\n\n\t\t\tassert(alloc.m_numPrimitives >= 0);\n\n\t\t\tconst int numIndices = int(alloc.m_numPrimitives * 2);\n\n\t\t\tcommandList->IASetPrimitiveTopology(D3D_PRIMITIVE_TOPOLOGY_LINELIST);\n\t\t\tcommandList->IASetVertexBuffers(0, 1, &alloc.m_vertexBufferView);\n\n\t\t\tif (alloc.m_indexBufferView.SizeInBytes)\n\t\t\t{\n\t\t\t\tcommandList->IASetIndexBuffer(nullptr);\n\t\t\t\tcommandList->DrawIndexedInstanced((UINT)numIndices, 1, 0, 0, 0);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tcommandList->IASetIndexBuffer(&alloc.m_indexBufferView);\n\t\t\t\tcommandList->DrawInstanced((UINT)numIndices, 1, 0, 0);\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t\tcase PRIMITIVE_TRIANGLE:\n\t\t{\n\t\t\ttypedef MeshRenderAllocationD3D12 Alloc;\n\t\t\tassert(sizeof(Alloc) == sizeOfAlloc);\n\t\t\tconst Alloc& alloc = static_cast<const Alloc&>(allocIn);\n\n\t\t\tconst int numIndices = int(alloc.m_numPrimitives * 3);\n\n\t\t\tcommandList->IASetPrimitiveTopology(D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST);\n\t\t\tcommandList->IASetVertexBuffers(0, _countof(alloc.m_vertexBufferViews), alloc.m_vertexBufferViews);\n\t\t\tcommandList->IASetIndexBuffer(&alloc.m_indexBufferView);\n\n\t\t\tif (alloc.m_indexBufferView.SizeInBytes)\n\t\t\t{\n\t\t\t\tcommandList->DrawIndexedInstanced((UINT)numIndices, 1, 0, 0, 0);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tcommandList->DrawInstanced((UINT)numIndices, 1, 0, 0);\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t\tdefault:\n\t\t{\n\t\t\tprintf(\"Unhandled primitive type\");\n\t\t}\n\t}\n\n\treturn NV_OK;\n}\n\n} // namespace FlexSample\n"
  },
  {
    "path": "demo/d3d12/meshRendererD3D12.h",
    "content": "#ifndef MESH_RENDERER_D3D12_H\n#define MESH_RENDERER_D3D12_H\n\n#include \"bufferD3D12.h\"\n\n#include \"renderStateD3D12.h\"\n#include \"meshRenderer.h\"\n\n// Predeclare so all use the same\nstruct ShadowMap;\n\nnamespace FlexSample {\nusing namespace nvidia;\n\nstruct MeshRendererD3D12;\nstruct RenderMeshD3D12: public RenderMesh\n{\n\t//NV_CO_DECLARE_POLYMORPHIC_CLASS(RenderMeshD3D12, RenderMesh);\npublic:\n\ttypedef RenderMesh Parent;\n\n\tfriend struct MeshRendererD3D12;\n\n\tRenderMeshD3D12();\n\tint initialize(const RenderStateD3D12& state, const MeshData& meshData);\n\tint initialize(const RenderStateD3D12& state, const MeshData2& meshData);\n\t\n\tprotected:\n\tvoid _setBufferNames();\n\n\tVertexBufferD3D12 m_positionBuffer;\n\tVertexBufferD3D12 m_normalBuffer;\n\tVertexBufferD3D12 m_texcoordBuffer;\n\tVertexBufferD3D12 m_colorBuffer;\n\tIndexBufferD3D12 m_indexBuffer;\n\n\tptrdiff_t m_numVertices;\n\tptrdiff_t m_numFaces;\n};\n\nstruct PointRenderAllocationD3D12: public RenderAllocation\n{\n\ttypedef RenderAllocation Parent;\n\tenum VertexViewType\n\t{\n\t\t// NOTE! Do not change order without fixing pipelines that use it!\n\t\tVERTEX_VIEW_POSITION,\t\t\t\n\t\tVERTEX_VIEW_DENSITY,\n\t\tVERTEX_VIEW_PHASE,\n\n\t\tVERTEX_VIEW_ANISOTROPY1,\n\t\tVERTEX_VIEW_ANISOTROPY2,\n\t\tVERTEX_VIEW_ANISOTROPY3,\n\n\t\tVERTEX_VIEW_COUNT_OF,\n\t};\n\tenum \n\t{\t\n\t\t// For typical point rendering we don't need anisotropy, so typically just bind the first 3\n\t\tNUM_DEFAULT_VERTEX_VIEWS = VERTEX_VIEW_PHASE + 1\n\t};\n\n\t\t/// Initialize state\n\tvoid init(PrimitiveType primitiveType)\n\t{\n\t\tParent::init(primitiveType);\n\t\tD3D12_VERTEX_BUFFER_VIEW nullView = {};\n\t\tfor (int i = 0; i < _countof(m_vertexBufferViews); i++)\n\t\t{\n\t\t\tm_vertexBufferViews[i] = nullView;\n\t\t}\n\t\tD3D12_INDEX_BUFFER_VIEW nullIndexView = {};\n\t\tm_indexBufferView = nullIndexView;\n\t}\n\n\tD3D12_VERTEX_BUFFER_VIEW m_vertexBufferViews[VERTEX_VIEW_COUNT_OF];\n\tD3D12_INDEX_BUFFER_VIEW m_indexBufferView;\n};\n\nstruct MeshRenderAllocationD3D12:public RenderAllocation\n{\n\ttypedef RenderAllocation Parent;\n\n\t// Vertex buffer viewer are in the order to be set \n\tenum VertexViewType\n\t{\n\t\t// NOTE! Do not change order without fixing pipelines that use it!\n\t\tVERTEX_VIEW_POSITION,\n\t\tVERTEX_VIEW_NORMAL,\n\t\tVERTEX_VIEW_TEX_COORDS,\n\t\tVERTEX_VIEW_COLOR,\n\n\t\tVERTEX_VIEW_COUNT_OF,\n\t};\n\n\tvoid init(PrimitiveType primType)\n\t{\n\t\tParent::init(primType);\n\t\tD3D12_VERTEX_BUFFER_VIEW nullView = {};\n\t\tfor (int i = 0; i < _countof(m_vertexBufferViews); i++)\n\t\t{\n\t\t\tm_vertexBufferViews[i] = nullView;\n\t\t}\n\t\tD3D12_INDEX_BUFFER_VIEW nullIndexView = {};\n\t\tm_indexBufferView = nullIndexView;\n\t}\n\n\tD3D12_VERTEX_BUFFER_VIEW m_vertexBufferViews[VERTEX_VIEW_COUNT_OF];\n\tD3D12_INDEX_BUFFER_VIEW m_indexBufferView;\n};\n\nstruct LineRenderAllocationD3D12 :public RenderAllocation\n{\n\ttypedef RenderAllocation Parent;\n\n\tvoid init(PrimitiveType primType)\n\t{\n\t\tParent::init(primType);\n\t\tconst D3D12_VERTEX_BUFFER_VIEW nullView = {};\n\t\tm_vertexBufferView = nullView;\n\t\tconst D3D12_INDEX_BUFFER_VIEW nullIndexView = {};\n\t\tm_indexBufferView = nullIndexView;\n\t}\n\n\tD3D12_VERTEX_BUFFER_VIEW m_vertexBufferView;\n\tD3D12_INDEX_BUFFER_VIEW m_indexBufferView;\n};\n\nstruct MeshRendererD3D12: public MeshRenderer\n{\n\t//NV_CO_DECLARE_POLYMORPHIC_CLASS(MeshRendererD3D12, MeshRenderer);\npublic:\n\ttypedef MeshRenderer Parent;\n\n\t\t/// MeshRenderer\n\tvirtual int draw(RenderMesh* mesh, RenderPipeline* pipeline, const void* params) override;\n\tvirtual int drawImmediate(const MeshData& mesh, RenderPipeline* pipeline, const void* params) override;\n\tvirtual int drawImmediate(const MeshData2& meshData, RenderPipeline* pipeline, const void* params) override;\n\tvirtual int drawImmediate(const PointData& pointData, RenderPipeline* pipeline, const void* params) override;\n\tvirtual int drawImmediate(const LineData& lineData, RenderPipeline* pipeline, const void* params) override;\n\n\tvirtual RenderMesh* createMesh(const MeshData& meshData) override;\n\tvirtual RenderMesh* createMesh(const MeshData2& meshData) override;\n\n\tvirtual int allocateTransitory(const PointData& pointData, RenderAllocation& allocation, size_t sizeOfAlloc) override;\n\tvirtual int allocateTransitory(const MeshData& meshData, RenderAllocation& allocIn, size_t sizeofAlloc) override;\n\tvirtual int allocateTransitory(const MeshData2& meshData, RenderAllocation& allocation, size_t sizeofAlloc) override;\n\tvirtual int allocateTransitory(const LineData& lineData, RenderAllocation& allocation, size_t sizeOfAlloc) override;\n\n\tvirtual int drawTransitory(RenderAllocation& allocation, size_t sizeOfAlloc, RenderPipeline* pipeline, const void* params) override;\n\n\tint initialize(const RenderStateD3D12& state);\n\n\tMeshRendererD3D12();\n\n\t\t/// Default drawing impls, can be used in pipelines\n\tstatic int defaultDraw(const RenderAllocation& allocIn, size_t sizeOfAlloc, const void* platformState);\n\n\t\t/// The input desc layout used\n\tstatic const D3D12_INPUT_ELEMENT_DESC MeshInputElementDescs[4];\n\t\t/// Layout for points\n\tstatic const D3D12_INPUT_ELEMENT_DESC PointInputElementDescs[3];\n\n\tprotected:\n\n\tD3D12_VERTEX_BUFFER_VIEW _newImmediateVertexBuffer(const void* data, int stride, ptrdiff_t numVertices);\n\tD3D12_VERTEX_BUFFER_VIEW _newStridedImmediateVertexBuffer(const void* data, int srcStride, int dstStride, ptrdiff_t numElements);\n\tD3D12_INDEX_BUFFER_VIEW _newImmediateIndexBuffer(const void* data, int stride, ptrdiff_t numIndices);\n\n\tRenderStateD3D12 m_renderState;\n};\n\n} // namespace FlexSample\n\n#endif"
  },
  {
    "path": "demo/d3d12/meshUtil.cpp",
    "content": "/*\n* Copyright (c) 2008-2016, NVIDIA CORPORATION.  All rights reserved.\n*\n* NVIDIA CORPORATION and its licensors retain all intellectual property\n* and proprietary rights in and to this software, related documentation\n* and any modifications thereto.  Any use, reproduction, disclosure or\n* distribution of this software and related documentation without an express\n* license agreement from NVIDIA CORPORATION is strictly prohibited.\n*/\n\n#include \"meshUtil.h\"\n\nnamespace FlexSample {\n\n/* static */RenderMesh* MeshUtil::createRenderMesh(MeshRenderer* renderer, const Mesh& mesh)\n{\n\tint numFaces = mesh.GetNumFaces();\n\tint numVertices = mesh.GetNumVertices();\n\n\tMeshData data;\n\tdata.colors = (mesh.m_colours.size() > 0) ? (const Vec4*)&mesh.m_colours[0] : nullptr;\n\tdata.positions = (mesh.m_positions.size() > 0) ? (const Vec3*)&mesh.m_positions[0] : nullptr;\n\tdata.normals = (mesh.m_normals.size() > 0) ? (const Vec3*)&mesh.m_normals[0] : nullptr;\n\tdata.indices = (mesh.m_indices.size() > 0) ? (const uint32_t*)&mesh.m_indices[0] : nullptr;\n\tdata.texcoords = (mesh.m_texcoords[0].size() > 0) ? (const Vec2*)&mesh.m_texcoords[0] : nullptr;\n\n\tdata.numFaces = numFaces;\n\tdata.numVertices = numVertices;\n\n\treturn renderer->createMesh(data);\n}\n\n} // namespace FlexSample"
  },
  {
    "path": "demo/d3d12/meshUtil.h",
    "content": "#ifndef MESH_UTIL_H\n#define MESH_UTIL_H\n\n// Needed for mesh.h\n#pragma warning( disable : 4458 )\n\n#include \"meshRenderer.h\"\n\n#include <core/mesh.h>\n\ntypedef ::Vec4 FlexVec4;\ntypedef ::Vec3 FlexVec3;\ntypedef ::Vec2 FlexVec2;\n\nnamespace FlexSample {\n//using namespace nvidia;\n\n/* Tools/types to implify use of the flex 'Mesh' types */\nstruct MeshUtil\n{\n\tstatic RenderMesh* createRenderMesh(MeshRenderer* renderer, const Mesh& mesh);\n};\n\n} // namespace FlexSample\n\n#endif"
  },
  {
    "path": "demo/d3d12/pipelineUtilD3D12.cpp",
    "content": "#include \"pipelineUtilD3D12.h\"\n\nnamespace NvCo = nvidia::Common;\n\nnamespace FlexSample {\n\nvoid PipelineUtilD3D::initRasterizerDesc(FrontWindingType winding, D3D12_RASTERIZER_DESC& desc)\n{\n\tdesc.FillMode = D3D12_FILL_MODE_SOLID;\n\tdesc.CullMode = D3D12_CULL_MODE_NONE;\n\n\tdesc.FrontCounterClockwise = (winding == FRONT_WINDING_COUNTER_CLOCKWISE);\n\n\tdesc.DepthBias = D3D12_DEFAULT_DEPTH_BIAS;\n\tdesc.DepthBiasClamp = D3D12_DEFAULT_DEPTH_BIAS_CLAMP;\n\tdesc.SlopeScaledDepthBias = D3D12_DEFAULT_SLOPE_SCALED_DEPTH_BIAS;\n\tdesc.DepthClipEnable = TRUE;\n\tdesc.MultisampleEnable = FALSE;\n\tdesc.AntialiasedLineEnable = FALSE;\n\tdesc.ForcedSampleCount = 0;\n\tdesc.ConservativeRaster = D3D12_CONSERVATIVE_RASTERIZATION_MODE_OFF;\n}\n\nvoid PipelineUtilD3D::initSolidBlendDesc(D3D12_BLEND_DESC& desc)\n{\n\tdesc.AlphaToCoverageEnable = FALSE;\n\tdesc.IndependentBlendEnable = FALSE;\n\t{\n\t\tconst D3D12_RENDER_TARGET_BLEND_DESC defaultRenderTargetBlendDesc =\n\t\t{\n\t\t\tFALSE,FALSE,\n\t\t\tD3D12_BLEND_ONE, D3D12_BLEND_ZERO, D3D12_BLEND_OP_ADD,\n\t\t\tD3D12_BLEND_ONE, D3D12_BLEND_ZERO, D3D12_BLEND_OP_ADD,\n\t\t\tD3D12_LOGIC_OP_NOOP,\n\t\t\tD3D12_COLOR_WRITE_ENABLE_ALL,\n\t\t};\n\t\tfor (UINT i = 0; i < D3D12_SIMULTANEOUS_RENDER_TARGET_COUNT; ++i)\n\t\t\tdesc.RenderTarget[i] = defaultRenderTargetBlendDesc;\n\t}\n}\n\nvoid PipelineUtilD3D::initTargetFormat(NvCo::Dx12RenderTarget* renderTarget, AppGraphCtxD3D12* renderContext, D3D12_GRAPHICS_PIPELINE_STATE_DESC& psoDesc)\n{\n\tpsoDesc.DepthStencilState.DepthEnable = TRUE;\n\tpsoDesc.DepthStencilState.DepthWriteMask = D3D12_DEPTH_WRITE_MASK_ALL;\n\tpsoDesc.DepthStencilState.DepthFunc = D3D12_COMPARISON_FUNC_LESS_EQUAL;\n\tpsoDesc.DepthStencilState.StencilEnable = FALSE;\n\tpsoDesc.SampleMask = UINT_MAX;\n\n\t// Normally single render target\n\tpsoDesc.NumRenderTargets = 1;\n\n\tif (renderTarget)\n\t{\n\t\tpsoDesc.RTVFormats[0] = renderTarget->getTargetFormat(NvCo::Dx12RenderTarget::BUFFER_TARGET);\n\t\tpsoDesc.DSVFormat = renderTarget->getTargetFormat(NvCo::Dx12RenderTarget::BUFFER_DEPTH_STENCIL);\n\t\tpsoDesc.NumRenderTargets = renderTarget->getNumRenderTargets();\n\t\tpsoDesc.SampleDesc.Count = 1;\t\n\t}\n\telse\n\t{\n\t\tconst NvCo::Dx12TargetInfo& targetInfo = renderContext->m_targetInfo;\n\n\t\tpsoDesc.RTVFormats[0] = targetInfo.m_renderTargetFormats[0]; \n\t\tpsoDesc.DSVFormat = targetInfo.m_depthStencilFormat; \n\t\tpsoDesc.SampleDesc.Count = targetInfo.m_numSamples; \n\t}\n\n\t// If no depth buffer, disable \n\tif (psoDesc.DSVFormat == DXGI_FORMAT_UNKNOWN)\n\t{\n\t\tpsoDesc.DepthStencilState.DepthEnable = FALSE;\n\t}\n}\n\n} // namespace FlexSample\n"
  },
  {
    "path": "demo/d3d12/pipelineUtilD3D12.h",
    "content": "/*\n* Copyright (c) 2008-2016, NVIDIA CORPORATION.  All rights reserved.\n*\n* NVIDIA CORPORATION and its licensors retain all intellectual property\n* and proprietary rights in and to this software, related documentation\n* and any modifications thereto.  Any use, reproduction, disclosure or\n* distribution of this software and related documentation without an express\n* license agreement from NVIDIA CORPORATION is strictly prohibited.\n*/\n\n#ifndef PIPELINE_UTIL_D3D12_H\n#define PIPELINE_UTIL_D3D12_H\n\n#define NOMINMAX\n#include <dxgi.h>\n#include <d3d12.h>\n\n#include \"meshRenderer.h\"\n#include <NvCoDx12RenderTarget.h>\n\nnamespace FlexSample {\nusing namespace nvidia;\n\nstruct PipelineUtilD3D\n{\n\t\t/// Default initializes rasterizer\n\tstatic void initRasterizerDesc(FrontWindingType winding, D3D12_RASTERIZER_DESC& desc);\n\t\t/// Initialize default blend desc for solid rendering\n\tstatic void initSolidBlendDesc(D3D12_BLEND_DESC& desc);\n\t\t/// Set on psoDesc the format/samples and set up other default state.\n\t\t/// If renderTarget is NV_NULL then the format that's set on the Dx12RenderInterface/RenderContext is used\n\tstatic void initTargetFormat(Common::Dx12RenderTarget* renderTarget, AppGraphCtxD3D12* renderContext, D3D12_GRAPHICS_PIPELINE_STATE_DESC& psoDesc);\n};\n\n} // namespace FlexSample\n\n#endif"
  },
  {
    "path": "demo/d3d12/pointRenderPipelineD3D12.cpp",
    "content": "#define NOMINMAX\n\n#include <NvCoDx12HelperUtil.h>\n#include <external/D3D12/include/d3dx12.h>\n\n#include \"pipelineUtilD3D12.h\"\n#include \"bufferD3D12.h\"\n#include \"meshRendererD3D12.h\"\n#include \"../d3d/shaderCommonD3D.h\"\n\n// this\n#include \"pointRenderPipelineD3D12.h\"\n\n// Shaders\n#include \"../d3d/shaders/pointVS.hlsl.h\"\n#include \"../d3d/shaders/pointGS.hlsl.h\"\n#include \"../d3d/shaders/pointPS.hlsl.h\"\n#include \"../d3d/shaders/pointShadowPS.hlsl.h\"\n\nnamespace FlexSample {\n\nPointRenderPipelineD3D12::PointRenderPipelineD3D12():\n\tParent(PRIMITIVE_POINT),\n\tm_shadowMapLinearSamplerIndex(-1)\n{\n}\n\nPointRenderPipelineD3D12::PipelineStateType PointRenderPipelineD3D12::getPipelineStateType(PointDrawStage stage, PointRenderMode mode, PointCullMode cull)\n{\n\tswitch (stage)\n\t{\n\t\tcase POINT_DRAW_SHADOW:\t\treturn PIPELINE_STATE_SHADOW;\n\t\tdefault:\t\t\t\t\treturn PIPELINE_STATE_LIGHT_SOLID;\n\t}\n}\n\nstatic D3D12_FILL_MODE _getFillMode(PointRenderPipelineD3D12::PipelineStateType type)\n{\n\treturn D3D12_FILL_MODE_SOLID;\n}\n\nstatic D3D12_CULL_MODE _getCullMode(PointRenderPipelineD3D12::PipelineStateType type)\n{\n\treturn D3D12_CULL_MODE_NONE;\n}\n\nstatic void _initRasterizerDesc(PointRenderPipelineD3D12::PipelineStateType type, D3D12_RASTERIZER_DESC& desc)\n{\n\tPipelineUtilD3D::initRasterizerDesc(FRONT_WINDING_COUNTER_CLOCKWISE, desc);\n\tdesc.FillMode = _getFillMode(type);\n\tdesc.CullMode = _getCullMode(type);\n}\n\nstatic void _initPipelineStateDesc(PointRenderPipelineD3D12::PipelineStateType type, NvCo::Dx12RenderTarget* shadowMap, AppGraphCtxD3D12* renderContext, D3D12_GRAPHICS_PIPELINE_STATE_DESC& psoDesc)\n{\n\tPipelineUtilD3D::initTargetFormat((shadowMap && type == PointRenderPipelineD3D12::PIPELINE_STATE_SHADOW) ? shadowMap : nullptr, renderContext, psoDesc);\n\n\tpsoDesc.InputLayout.NumElements = _countof(MeshRendererD3D12::PointInputElementDescs);\n\tpsoDesc.InputLayout.pInputElementDescs = MeshRendererD3D12::PointInputElementDescs;\n\tpsoDesc.PrimitiveTopologyType = D3D12_PRIMITIVE_TOPOLOGY_TYPE_POINT;\n}\n\nint PointRenderPipelineD3D12::initialize(const RenderStateD3D12& state, const std::wstring& shadersPath, int shadowMapLinearSamplerIndex, NvCo::Dx12RenderTarget* shadowMap)\n{\n\tusing namespace NvCo;\n\tID3D12Device* device = state.m_device;\n\n\tm_shadowMapLinearSamplerIndex = shadowMapLinearSamplerIndex;\n\n\t// create the pipeline state object\n\t{\n\t\tD3D12_GRAPHICS_PIPELINE_STATE_DESC psoDesc = {};\n\t\tPipelineUtilD3D::initSolidBlendDesc(psoDesc.BlendState);\n\n\t\t// create the root signature\n\t\tComPtr<ID3D12RootSignature> signiture;\n\t\t{\n\t\t\tCD3DX12_DESCRIPTOR_RANGE ranges[2];\n\t\t\tCD3DX12_ROOT_PARAMETER params[3];\n\t\t\t\n\t\t\tUINT rootIndex = 0;\n\t\t\t{\n\t\t\t\tD3D12_ROOT_PARAMETER& param = params[rootIndex++];\n\t\t\t\tparam.ParameterType = D3D12_ROOT_PARAMETER_TYPE_CBV;\n\t\t\t\tparam.Descriptor.ShaderRegister = 0u;\n\t\t\t\tparam.Descriptor.RegisterSpace = 0u;\n\t\t\t\tparam.ShaderVisibility = D3D12_SHADER_VISIBILITY_ALL;\n\t\t\t}\n\n\t\t\tconst int numSrvs = 1;\n\t\t\tif (numSrvs > 0)\n\t\t\t{\n\t\t\t\tranges[0].Init(D3D12_DESCRIPTOR_RANGE_TYPE_SRV, numSrvs, 0);\n\t\t\t\tparams[rootIndex++].InitAsDescriptorTable(1, &ranges[0], D3D12_SHADER_VISIBILITY_PIXEL);\n\t\t\t}\n\t\t\tconst int numSamplers = 1;\n\t\t\tif (numSamplers > 0)\n\t\t\t{\n\t\t\t\tranges[1].Init(D3D12_DESCRIPTOR_RANGE_TYPE_SAMPLER, numSamplers, 0);\n\t\t\t\tparams[rootIndex++].InitAsDescriptorTable(1, &ranges[1], D3D12_SHADER_VISIBILITY_PIXEL);\n\t\t\t}\n\n\t\t\tD3D12_ROOT_SIGNATURE_DESC desc;\n\t\t\tdesc.NumParameters = rootIndex;\n\t\t\tdesc.pParameters = params;\n\t\t\tdesc.NumStaticSamplers = 0;\n\t\t\tdesc.pStaticSamplers = nullptr;\n\t\t\tdesc.Flags = D3D12_ROOT_SIGNATURE_FLAG_ALLOW_INPUT_ASSEMBLER_INPUT_LAYOUT;\n\n\t\t\tComPtr<ID3DBlob> sigBlob;\n\t\t\tNV_RETURN_ON_FAIL(Dx12HelperUtil::serializeRootSigniture(desc, D3D_ROOT_SIGNATURE_VERSION_1, sigBlob));\n\t\t\tNV_RETURN_ON_FAIL(device->CreateRootSignature(0u, sigBlob->GetBufferPointer(), sigBlob->GetBufferSize(), IID_PPV_ARGS(&signiture)));\n\t\t}\n\n\t\t{\n\t\t\tpsoDesc.VS = Dx12Blob(g_pointVS);\n\t\t\tpsoDesc.GS = Dx12Blob(g_pointGS);\n\t\t\tpsoDesc.PS = Dx12Blob(g_pointPS);\n\n\t\t\tNV_RETURN_ON_FAIL(_initPipelineState(state, shadowMap, PIPELINE_STATE_LIGHT_SOLID, signiture.Get(), psoDesc));\n\t\t}\n\n\t\t// Shadow rendering\n\t\t{\n\t\t\tD3D12_ROOT_PARAMETER params[1];\n\t\t\tparams[0].ParameterType = D3D12_ROOT_PARAMETER_TYPE_CBV;\n\t\t\tparams[0].Descriptor.ShaderRegister = 0u;\n\t\t\tparams[0].Descriptor.RegisterSpace = 0u;\n\t\t\tparams[0].ShaderVisibility = D3D12_SHADER_VISIBILITY_ALL;\n\n\t\t\tD3D12_ROOT_SIGNATURE_DESC desc;\n\t\t\tdesc.NumParameters = 1;\n\t\t\tdesc.pParameters = params;\n\t\t\tdesc.NumStaticSamplers = 0u;\n\t\t\tdesc.pStaticSamplers = nullptr;\n\t\t\tdesc.Flags = D3D12_ROOT_SIGNATURE_FLAG_ALLOW_INPUT_ASSEMBLER_INPUT_LAYOUT;\n\n\t\t\tComPtr<ID3DBlob> sigBlob;\n\t\t\tNV_RETURN_ON_FAIL(Dx12HelperUtil::serializeRootSigniture(desc, D3D_ROOT_SIGNATURE_VERSION_1, sigBlob));\n\t\t\tNV_RETURN_ON_FAIL(device->CreateRootSignature(0u, sigBlob->GetBufferPointer(), sigBlob->GetBufferSize(), IID_PPV_ARGS(&signiture)));\n\t\t}\n\n\t\t{\n\t\t\tpsoDesc.VS = Dx12Blob(g_pointVS);\n\t\t\tpsoDesc.GS = Dx12Blob(g_pointGS);\n\t\t\tpsoDesc.PS = Dx12Blob(g_pointShadowPS);\n\n\t\t\tNV_RETURN_ON_FAIL(_initPipelineState(state, shadowMap, PIPELINE_STATE_SHADOW, signiture.Get(), psoDesc));\n\t\t}\n\t}\n\n\treturn NV_OK;\n}\n\nint PointRenderPipelineD3D12::_initPipelineState(const RenderStateD3D12& state, NvCo::Dx12RenderTarget* shadowMap, PipelineStateType pipeType, ID3D12RootSignature* signiture, D3D12_GRAPHICS_PIPELINE_STATE_DESC& psoDesc)\n{\n\tID3D12Device* device = state.m_device;\n\n\t_initRasterizerDesc(pipeType, psoDesc.RasterizerState);\n\t_initPipelineStateDesc(pipeType, shadowMap, state.m_renderContext, psoDesc);\n\n\tpsoDesc.pRootSignature = signiture;\n\n\tPipelineStateD3D12& pipeState = m_states[pipeType];\n\tpipeState.m_rootSignature = signiture;\n\t\n\tNV_RETURN_ON_FAIL(device->CreateGraphicsPipelineState(&psoDesc, IID_PPV_ARGS(&pipeState.m_pipelineState)));\n\treturn NV_OK;\n}\n\nint PointRenderPipelineD3D12::bind(const void* paramsIn, const void* platformState)\n{\n\tconst RenderStateD3D12& state = *(RenderStateD3D12*)platformState;\n\tconst PointDrawParamsD3D& params = *(PointDrawParamsD3D*)paramsIn;\n\n\t// Set up constant buffer\n\tNvCo::Dx12CircularResourceHeap::Cursor cursor;\n\t{\n\t\tHlsl::PointShaderConst constBuf;\n\t\tRenderParamsUtilD3D::calcPointConstantBuffer(params, constBuf);\n\t\tcursor = state.m_constantHeap->newConstantBuffer(constBuf);\n\t\tif (!cursor.isValid())\n\t\t{\n\t\t\treturn NV_FAIL;\n\t\t}\n\t}\n\n\tconst PipelineStateType pipeType = getPipelineStateType(params.renderStage, params.renderMode, params.cullMode);\n\tPipelineStateD3D12& pipeState = m_states[pipeType];\n\tif (!pipeState.isValid())\n\t{\n\t\treturn NV_FAIL;\n\t}\n\n\tID3D12GraphicsCommandList* commandList = state.m_commandList;\n\tcommandList->SetGraphicsRootSignature(pipeState.m_rootSignature.Get());\n\tcommandList->SetPipelineState(pipeState.m_pipelineState.Get());\n\n\tD3D12_GPU_VIRTUAL_ADDRESS cbvHandle = state.m_constantHeap->getGpuHandle(cursor);\n\tcommandList->SetGraphicsRootConstantBufferView(0, cbvHandle);\n\n\tif (pipeType == PIPELINE_STATE_SHADOW)\n\t{\n\t\tID3D12DescriptorHeap* heaps[] = { nullptr };\n\t\tcommandList->SetDescriptorHeaps(0, heaps);\n\t}\n\telse\n\t{\n\t\tNvCo::Dx12RenderTarget* shadowMap = (NvCo::Dx12RenderTarget*)params.shadowMap;\n\n\t\tID3D12DescriptorHeap* heaps[] = { state.m_srvCbvUavDescriptorHeap->getHeap(), state.m_samplerDescriptorHeap->getHeap() };\n\t\tcommandList->SetDescriptorHeaps(_countof(heaps), heaps);\n\t\t// Bind the srvs\n\t\tcommandList->SetGraphicsRootDescriptorTable(1, state.m_srvCbvUavDescriptorHeap->getGpuHandle(shadowMap->getSrvHeapIndex(shadowMap->getPrimaryBufferType())));\n\t\t// Bind the samplers\n\t\tcommandList->SetGraphicsRootDescriptorTable(2, state.m_samplerDescriptorHeap->getGpuHandle(m_shadowMapLinearSamplerIndex));\n\t}\n\n\treturn NV_OK;\n}\n\nint PointRenderPipelineD3D12::draw(const RenderAllocation& allocIn, size_t sizeOfAlloc, const void* platformState)\n{\n\treturn MeshRendererD3D12::defaultDraw(allocIn, sizeOfAlloc, platformState);\n}\n\n} // namespace FlexSample"
  },
  {
    "path": "demo/d3d12/pointRenderPipelineD3D12.h",
    "content": "/*\n* Copyright (c) 2008-2016, NVIDIA CORPORATION.  All rights reserved.\n*\n* NVIDIA CORPORATION and its licensors retain all intellectual property\n* and proprietary rights in and to this software, related documentation\n* and any modifications thereto.  Any use, reproduction, disclosure or\n* distribution of this software and related documentation without an express\n* license agreement from NVIDIA CORPORATION is strictly prohibited.\n*/\n\n#ifndef POINT_RENDER_PIPELINE_D3D12_H\n#define POINT_RENDER_PIPELINE_D3D12_H\n\n#include <DirectXMath.h>\n#include \"renderStateD3D12.h\"\n#include \"meshRenderer.h\"\n\n#include <NvCoDx12RenderTarget.h>\n\n#include \"../d3d/renderParamsD3D.h\"\n\nnamespace FlexSample {\nusing namespace nvidia;\n\nstruct PointRenderPipelineD3D12: public RenderPipeline\n{\n\t//NV_CO_DECLARE_POLYMORPHIC_CLASS(PointRenderPipelineD3D12, RenderPipeline);\npublic:\n\ttypedef RenderPipeline Parent;\n\n\tenum PipelineStateType\n\t{\n\t\tPIPELINE_STATE_SHADOW,\t\t\t\t\t\t\n\t\tPIPELINE_STATE_LIGHT_SOLID,\t\t\t\t\n\t\tPIPELINE_STATE_COUNT_OF,\n\t};\n\n\tPointRenderPipelineD3D12();\n\t\n\t\t/// Initialize\n\tint initialize(const RenderStateD3D12& state, const std::wstring& shadersDir, int shadowMapLinearSamplerIndex, NvCo::Dx12RenderTarget* shadowMap);\n\t\t/// Do the binding\n\tvirtual int bind(const void* paramsIn, const void* platformState) override;\n\tvirtual int draw(const RenderAllocation& alloc, size_t sizeOfAlloc, const void* platformState) override;\n\n\t\t/// Convert into a single pipeline state type\n\tstatic PipelineStateType getPipelineStateType(PointDrawStage stage, PointRenderMode mode, PointCullMode cull);\n\n\tprotected:\n\n\tint _initPipelineState(const RenderStateD3D12& state, NvCo::Dx12RenderTarget* shadowMap, PipelineStateType pipeType, ID3D12RootSignature* signiture, D3D12_GRAPHICS_PIPELINE_STATE_DESC& psoDesc);\n\n\tint m_shadowMapLinearSamplerIndex;\t\t\t//< The index to the linear sampler in the m_samplerHeap\n\n\tPipelineStateD3D12 m_states[PIPELINE_STATE_COUNT_OF];\n};\n\n} // namespace FlexSample\n\n#endif"
  },
  {
    "path": "demo/d3d12/renderStateD3D12.cpp",
    "content": "\n#include \"renderStateD3D12.h\"\n\nnamespace FlexSample {\n\n/* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Dx12RenderStateManager !!!!!!!!!!!!!!!!!!!!!!!!!! */\n\nint RenderStateManagerD3D12::initialize(AppGraphCtxD3D12* renderContext, size_t maxHeapAlloc)\n{\n\tm_renderContext = renderContext;\n\tm_device = renderContext->m_device;\n\t\n\tm_fence.init(m_device);\n\tm_scopeManager.init(m_device, &m_fence);\n\tm_srvCbvUavDescriptorHeap.init(m_device, 256, D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV, D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE);\n\tm_samplerDescriptorHeap.init(m_device, 64, D3D12_DESCRIPTOR_HEAP_TYPE_SAMPLER, D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE);\n\n\t{\n\t\tNvCo::Dx12CircularResourceHeap::Desc desc;\n\t\tdesc.init();\n\t\tdesc.m_blockSize = maxHeapAlloc;\n\t\tm_constantHeap.init(m_device, desc, &m_fence);\n\t}\n\n\treturn NV_OK;\n}\n\nvoid RenderStateManagerD3D12::updateCompleted()\n{\n\tm_scopeManager.updateCompleted();\n\tm_constantHeap.updateCompleted();\n}\n\nvoid RenderStateManagerD3D12::onGpuWorkSubmitted(ID3D12CommandQueue* commandQueue)\n{\n\tassert(commandQueue);\n\tif (!commandQueue)\n\t{\n\t\tprintf(\"Must pass a ID3D12CommandQueue to onGpuWorkSubmitted\");\n\t\treturn;\n\t}\n\n\tconst uint64_t signalValue = m_fence.nextSignal(commandQueue);\n\t\n\tm_scopeManager.addSync(signalValue);\n\tm_constantHeap.addSync(signalValue);\n}\n\nRenderStateD3D12 RenderStateManagerD3D12::getState()\n{\n\tRenderStateD3D12 state;\n\n\tstate.m_renderContext = m_renderContext;\n\tstate.m_commandList = m_renderContext->m_commandList;\n\tstate.m_device = m_device;\n\n\tstate.m_constantHeap = &m_constantHeap;\n\tstate.m_srvCbvUavDescriptorHeap = &m_srvCbvUavDescriptorHeap;\n\tstate.m_fence = &m_fence;\n\tstate.m_scopeManager = &m_scopeManager;\n\tstate.m_samplerDescriptorHeap = &m_samplerDescriptorHeap;\n\n\treturn state;\n}\n\n\n} // namespace FlexSample"
  },
  {
    "path": "demo/d3d12/renderStateD3D12.h",
    "content": "/*\n* Copyright (c) 2008-2016, NVIDIA CORPORATION.  All rights reserved.\n*\n* NVIDIA CORPORATION and its licensors retain all intellectual property\n* and proprietary rights in and to this software, related documentation\n* and any modifications thereto.  Any use, reproduction, disclosure or\n* distribution of this software and related documentation without an express\n* license agreement from NVIDIA CORPORATION is strictly prohibited.\n*/\n\n#ifndef RENDER_STATE_D3D12_H\n#define RENDER_STATE_D3D12_H\n\n#include <NvCoDx12ResourceScopeManager.h>\n#include <NvCoDx12CircularResourceHeap.h>\n#include <NvCoDx12DescriptorHeap.h>\n#include \"appD3D12Ctx.h\"\n\nnamespace NvCo = nvidia::Common;\n\nnamespace FlexSample {\nusing namespace nvidia;\n\nstruct PipelineStateD3D12\n{\n\t\t/// True if contents is all set and therefore 'valid'\n\tinline bool isValid() const { return m_rootSignature && m_pipelineState; }\n\n\tComPtr<ID3D12RootSignature> m_rootSignature;\n\tComPtr<ID3D12PipelineState> m_pipelineState;\n};\n\nstruct RenderStateD3D12\n{\n\tAppGraphCtxD3D12* m_renderContext;\n\n\tID3D12Device* m_device;\n\tID3D12GraphicsCommandList* m_commandList;\n\n\tNvCo::Dx12ResourceScopeManager* m_scopeManager;\t\t\t\t///< Holds resources in scope\n\tNvCo::Dx12DescriptorHeap* m_srvCbvUavDescriptorHeap;\t\t\t///< Can hold cbv, srv, uavs \n\tNvCo::Dx12DescriptorHeap* m_samplerDescriptorHeap;\t\t\t///< Descriptor heap\n\tNvCo::Dx12CircularResourceHeap* m_constantHeap;\t\t\t\t///< Can hold transitory constant buffers, and vertex buffers\n\tNvCo::Dx12CounterFence* m_fence;\t\t\t\t\t\t\t\t///< Main fence to track lifetimes\n};\n\nstruct RenderStateManagerD3D12\n{\n\tRenderStateManagerD3D12():\n\t\tm_renderContext(nullptr),\n\t\tm_device(nullptr)\n\t{}\n\n\tint initialize(AppGraphCtxD3D12* renderContext, size_t maxHeapAlloc);\n\n\tvoid onGpuWorkSubmitted(ID3D12CommandQueue* handle);\n\tvoid updateCompleted();\n\n\t\t/// Get the render state\n\tRenderStateD3D12 getState();\n\n\tAppGraphCtxD3D12* m_renderContext;\n\tID3D12Device* m_device;\n\n\tNvCo::Dx12ResourceScopeManager m_scopeManager;\t\t\t///< Holds resources in scope\n\tNvCo::Dx12DescriptorHeap m_srvCbvUavDescriptorHeap;\t\t///< Can hold cbv, srv, uavs \n\tNvCo::Dx12DescriptorHeap m_samplerDescriptorHeap;\t\t///< Holds sampler descriptions\n\tNvCo::Dx12CircularResourceHeap m_constantHeap;\t\t\t///< Can hold transitory constant buffers, and vertex buffers\n\tNvCo::Dx12CounterFence m_fence;\t\t\t\t\t\t\t///< Main fence to track lifetimes\n};\n\n} // namespace FlexSample\n\n#endif"
  },
  {
    "path": "demo/demoContext.h",
    "content": "// This code contains NVIDIA Confidential Information and is disclosed to you\n// under a form of NVIDIA software license agreement provided separately to you.\n//\n// Notice\n// NVIDIA Corporation and its licensors retain all intellectual property and\n// proprietary rights in and to this software and related documentation and\n// any modifications thereto. Any use, reproduction, disclosure, or\n// distribution of this software and related documentation without an express\n// license agreement from NVIDIA Corporation is strictly prohibited.\n//\n// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED \"AS IS.\". NVIDIA MAKES\n// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO\n// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,\n// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.\n//\n// Information and code furnished is believed to be accurate and reliable.\n// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such\n// information or for any infringement of patents or other rights of third parties that may\n// result from its use. No license is granted by implication or otherwise under any patent\n// or patent rights of NVIDIA Corporation. Details are subject to change without notice.\n// This code supersedes and replaces all information previously supplied.\n// NVIDIA Corporation products are not authorized for use as critical\n// components in life support devices or systems without express written approval of\n// NVIDIA Corporation.\n//\n// Copyright (c) 2013-2020 NVIDIA Corporation. All rights reserved.\n\n#ifndef DEMO_CONTEXT_H\n#define DEMO_CONTEXT_H\n\n#include \"shaders.h\"\n\n//#include \"../d3d/imguiGraph.h\"\n\nclass DemoContext\n{\n\tpublic:\n\t\t/// Returns false if couldn't start up\n\tvirtual bool initialize(const RenderInitOptions& options) = 0;\n\t\n\tvirtual void startFrame(Vec4 colorIn) = 0;\n\tvirtual void endFrame() = 0;\n\tvirtual void presentFrame(bool fullsync) = 0;\n\t\n\tvirtual void readFrame(int* backBuffer, int width, int height) {}\n\n\tvirtual void getViewRay(int x, int y, Vec3& origin, Vec3& dir) = 0;\n\tvirtual void setView(Matrix44 view, Matrix44 projection) = 0;\n\tvirtual void renderEllipsoids(FluidRenderer* renderer, FluidRenderBuffers* buffers, int n, int offset, float radius, float screenWidth, float screenAspect, float fov, Vec3 lightPos, Vec3 lightTarget, Matrix44 lightTransform, ::ShadowMap* shadowMap, Vec4 color, float blur, float ior, bool debug) = 0;\n\t\n\tvirtual void drawMesh(const Mesh* m, Vec3 color) = 0;\n\tvirtual void drawCloth(const Vec4* positions, const Vec4* normals, const float* uvs, const int* indices, int numTris, int numPositions, int colorIndex, float expand, bool twosided, bool smooth) = 0;\n\tvirtual void drawRope(Vec4* positions, int* indices, int numIndices, float radius, int color) = 0;\n\tvirtual void drawPlane(const Vec4& p, bool color) = 0;\n\tvirtual void drawPlanes(Vec4* planes, int n, float bias) = 0;\n\t\n\tvirtual void graphicsTimerBegin() = 0;\n\tvirtual void graphicsTimerEnd() = 0;\n\t\n\tvirtual float rendererGetDeviceTimestamps(unsigned long long* begin, unsigned long long* end, unsigned long long* freq) = 0;\n\n\tvirtual void bindSolidShader(Vec3 lightPos, Vec3 lightTarget, Matrix44 lightTransform, ::ShadowMap* shadowMap, float bias, Vec4 fogColor) = 0;\n\tvirtual void unbindSolidShader() = 0;\n\n\tvirtual ShadowMap* shadowCreate() = 0;\n\tvirtual void shadowDestroy(ShadowMap* map) = 0;\n\tvirtual void shadowBegin(ShadowMap* map) = 0;\n\tvirtual void shadowEnd() = 0;\n\n\tvirtual FluidRenderer* createFluidRenderer(uint32_t width, uint32_t height) = 0;\n\tvirtual void destroyFluidRenderer(FluidRenderer* renderer) = 0;\n\n\tvirtual FluidRenderBuffers* createFluidRenderBuffers(int numParticles, bool enableInterop) = 0;\n\tvirtual void drawPoints(FluidRenderBuffers* buffers, int n, int offset, float radius, float screenWidth, float screenAspect, float fov, Vec3 lightPos, Vec3 lightTarget, Matrix44 lightTransform, ::ShadowMap* shadowTex, bool showDensity) = 0;\n\tvirtual void updateFluidRenderBuffers(FluidRenderBuffers* buffers, NvFlexSolver* flex, bool anisotropy, bool density) = 0;\n\tvirtual void updateFluidRenderBuffers(FluidRenderBuffers* buffers, Vec4* particles, float* densities, Vec4* anisotropy1, Vec4* anisotropy2, Vec4* anisotropy3, int numParticles, int* indices, int numIndices) = 0;\n\tvirtual void destroyFluidRenderBuffers(FluidRenderBuffers* buffers) = 0;\n\n\tvirtual GpuMesh* createGpuMesh(const Mesh* m) = 0;\n\tvirtual void destroyGpuMesh(GpuMesh* mesh) = 0;\n\tvirtual void drawGpuMesh(GpuMesh* m, const Matrix44& xform, const Vec3& color) = 0;\n\tvirtual void drawGpuMeshInstances(GpuMesh* m, const Matrix44* xforms, int n, const Vec3& color) = 0;\n\n\tvirtual DiffuseRenderBuffers* createDiffuseRenderBuffers(int numDiffuseParticles, bool& enableInterop) = 0;\n\tvirtual void destroyDiffuseRenderBuffers(DiffuseRenderBuffers* buffers) = 0;\n\tvirtual void updateDiffuseRenderBuffers(DiffuseRenderBuffers* buffers, Vec4* diffusePositions, Vec4* diffuseVelocities, int numDiffuseParticles) = 0;\n\tvirtual void updateDiffuseRenderBuffers(DiffuseRenderBuffers* buffers, NvFlexSolver* solver) = 0;\n\tvirtual int getNumDiffuseRenderParticles(DiffuseRenderBuffers* buffers) = 0;\n\n\tvirtual void drawDiffuse(FluidRenderer* render, const DiffuseRenderBuffers* buffers, int n, float radius, float screenWidth, float screenAspect, float fov, Vec4 color, Vec3 lightPos, Vec3 lightTarget, Matrix44 lightTransform, ::ShadowMap* shadowMap, float motionBlur, float inscatter, float outscatter, bool shadowEnabled, bool front) = 0;\n\n\tvirtual void beginLines() = 0;\n\tvirtual void drawLine(const Vec3& p, const Vec3& q, const Vec4& color) = 0;\n\tvirtual void endLines() = 0;\n\n\tvirtual void onSizeChanged(int width, int height, bool minimized) = 0;\n\n\tvirtual void startGpuWork() = 0;\n\tvirtual void endGpuWork() = 0;\n\tvirtual void flushGraphicsAndWait() = 0;\n\n\tvirtual void setFillMode(bool wire) = 0;\n\tvirtual void setCullMode(bool enabled) = 0;\n\n\tvirtual void drawImguiGraph() = 0;\n\tvirtual void* getGraphicsCommandQueue() { return nullptr; }\n\tvirtual void getRenderDevice(void** device, void** context) = 0;\n\n\tvirtual ~DemoContext() {}\n};\n\n#endif // DEMO_CONTEXT_H"
  },
  {
    "path": "demo/helpers.h",
    "content": "// This code contains NVIDIA Confidential Information and is disclosed to you\n// under a form of NVIDIA software license agreement provided separately to you.\n//\n// Notice\n// NVIDIA Corporation and its licensors retain all intellectual property and\n// proprietary rights in and to this software and related documentation and\n// any modifications thereto. Any use, reproduction, disclosure, or\n// distribution of this software and related documentation without an express\n// license agreement from NVIDIA Corporation is strictly prohibited.\n//\n// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED \"AS IS.\". NVIDIA MAKES\n// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO\n// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,\n// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.\n//\n// Information and code furnished is believed to be accurate and reliable.\n// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such\n// information or for any infringement of patents or other rights of third parties that may\n// result from its use. No license is granted by implication or otherwise under any patent\n// or patent rights of NVIDIA Corporation. Details are subject to change without notice.\n// This code supersedes and replaces all information previously supplied.\n// NVIDIA Corporation products are not authorized for use as critical\n// components in life support devices or systems without express written approval of\n// NVIDIA Corporation.\n//\n// Copyright (c) 2013-2020 NVIDIA Corporation. All rights reserved.\n\n#pragma once\n\n#include <stdarg.h>\n\n// disable some warnings\n#if _WIN32\n#pragma warning(disable: 4267)  // conversion from 'size_t' to 'int', possible loss of data\n#endif\n\nfloat SampleSDF(const float* sdf, int dim, int x, int y, int z)\n{\n\tassert(x < dim && x >= 0);\n\tassert(y < dim && y >= 0);\n\tassert(z < dim && z >= 0);\n\n\treturn sdf[z*dim*dim + y*dim + x];\n}\n\n// return normal of signed distance field\nVec3 SampleSDFGrad(const float* sdf, int dim, int x, int y, int z)\n{\n\tint x0 = max(x-1, 0);\n\tint x1 = min(x+1, dim-1);\n\n\tint y0 = max(y-1, 0);\n\tint y1 = min(y+1, dim-1);\n\n\tint z0 = max(z-1, 0);\n\tint z1 = min(z+1, dim-1);\n\n\tfloat dx = (SampleSDF(sdf, dim, x1, y, z) - SampleSDF(sdf, dim, x0, y, z))*(dim*0.5f);\n\tfloat dy = (SampleSDF(sdf, dim, x, y1, z) - SampleSDF(sdf, dim, x, y0, z))*(dim*0.5f);\n\tfloat dz = (SampleSDF(sdf, dim, x, y, z1) - SampleSDF(sdf, dim, x, y, z0))*(dim*0.5f);\n\n\treturn Vec3(dx, dy, dz);\n}\n\nvoid GetParticleBounds(Vec3& lower, Vec3& upper)\n{\n\tlower = Vec3(FLT_MAX);\n\tupper = Vec3(-FLT_MAX);\n\n\tfor (int i=0; i < g_buffers->positions.size(); ++i)\n\t{\n\t\tlower = Min(Vec3(g_buffers->positions[i]), lower);\n\t\tupper = Max(Vec3(g_buffers->positions[i]), upper);\n\t}\n}\n\n\nvoid CreateParticleGrid(Vec3 lower, int dimx, int dimy, int dimz, float radius, Vec3 velocity, float invMass, bool rigid, float rigidStiffness, int phase, float jitter=0.005f)\n{\n\tif (rigid && g_buffers->rigidIndices.empty())\n\t\tg_buffers->rigidOffsets.push_back(0);\n\n\tfor (int x = 0; x < dimx; ++x)\n\t{\n\t\tfor (int y = 0; y < dimy; ++y)\n\t\t{\n\t\t\tfor (int z=0; z < dimz; ++z)\n\t\t\t{\n\t\t\t\tif (rigid)\n\t\t\t\t\tg_buffers->rigidIndices.push_back(int(g_buffers->positions.size()));\n\n\t\t\t\tVec3 position = lower + Vec3(float(x), float(y), float(z))*radius + RandomUnitVector()*jitter;\n\n\t\t\t\tg_buffers->positions.push_back(Vec4(position.x, position.y, position.z, invMass));\n\t\t\t\tg_buffers->velocities.push_back(velocity);\n\t\t\t\tg_buffers->phases.push_back(phase);\n\t\t\t}\n\t\t}\n\t}\n\n\tif (rigid)\n\t{\n\t\tg_buffers->rigidCoefficients.push_back(rigidStiffness);\n\t\tg_buffers->rigidOffsets.push_back(int(g_buffers->rigidIndices.size()));\n\t}\n}\n\nvoid CreateParticleSphere(Vec3 center, int dim, float radius, Vec3 velocity, float invMass, bool rigid, float rigidStiffness, int phase, float jitter=0.005f)\n{\n\tif (rigid && g_buffers->rigidIndices.empty())\n\t\t\tg_buffers->rigidOffsets.push_back(0);\n\n\tfor (int x=0; x <= dim; ++x)\n\t{\n\t\tfor (int y=0; y <= dim; ++y)\n\t\t{\n\t\t\tfor (int z=0; z <= dim; ++z)\n\t\t\t{\n\t\t\t\tfloat sx = x - dim*0.5f;\n\t\t\t\tfloat sy = y - dim*0.5f;\n\t\t\t\tfloat sz = z - dim*0.5f;\n\n\t\t\t\tif (sx*sx + sy*sy + sz*sz <= float(dim*dim)*0.25f)\n\t\t\t\t{\n\t\t\t\t\tif (rigid)\n\t\t\t\t\t\tg_buffers->rigidIndices.push_back(int(g_buffers->positions.size()));\n\n\t\t\t\t\tVec3 position = center + radius*Vec3(sx, sy, sz) + RandomUnitVector()*jitter;\n\n\t\t\t\t\tg_buffers->positions.push_back(Vec4(position.x, position.y, position.z, invMass));\n\t\t\t\t\tg_buffers->velocities.push_back(velocity);\n\t\t\t\t\tg_buffers->phases.push_back(phase);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tif (rigid)\n\t{\n\t\tg_buffers->rigidCoefficients.push_back(rigidStiffness);\n\t\tg_buffers->rigidOffsets.push_back(int(g_buffers->rigidIndices.size()));\n\t}\n}\n\nvoid CreateSpring(int i, int j, float stiffness, float give=0.0f)\n{\n\tg_buffers->springIndices.push_back(i);\n\tg_buffers->springIndices.push_back(j);\n\tg_buffers->springLengths.push_back((1.0f+give)*Length(Vec3(g_buffers->positions[i])-Vec3(g_buffers->positions[j])));\n\tg_buffers->springStiffness.push_back(stiffness);\t\n}\n\n\nvoid CreateParticleShape(const Mesh* srcMesh, Vec3 lower, Vec3 scale, float rotation, float spacing, Vec3 velocity, float invMass, bool rigid, float rigidStiffness, int phase, bool skin, float jitter=0.005f, Vec3 skinOffset=0.0f, float skinExpand=0.0f, Vec4 color=Vec4(0.0f), float springStiffness=0.0f)\n{\n\tif (rigid && g_buffers->rigidIndices.empty())\n\t\tg_buffers->rigidOffsets.push_back(0);\n\n\tif (!srcMesh)\n\t\treturn;\n\n\t// duplicate mesh\n\tMesh mesh;\n\tmesh.AddMesh(*srcMesh);\n\n\tint startIndex = int(g_buffers->positions.size());\n\n\t{\n\t\tmesh.Transform(RotationMatrix(rotation, Vec3(0.0f, 1.0f, 0.0f)));\n\n\t\tVec3 meshLower, meshUpper;\n\t\tmesh.GetBounds(meshLower, meshUpper);\n\n\t\tVec3 edges = meshUpper-meshLower;\n\t\tfloat maxEdge = max(max(edges.x, edges.y), edges.z);\n\n\t\t// put mesh at the origin and scale to specified size\n\t\tMatrix44 xform = ScaleMatrix(scale/maxEdge)*TranslationMatrix(Point3(-meshLower));\n\n\t\tmesh.Transform(xform);\n\t\tmesh.GetBounds(meshLower, meshUpper);\n\n\t\t// recompute expanded edges\n\t\tedges = meshUpper-meshLower;\n\t\tmaxEdge = max(max(edges.x, edges.y), edges.z);\n\n\t\t// tweak spacing to avoid edge cases for particles laying on the boundary\n\t\t// just covers the case where an edge is a whole multiple of the spacing.\n\t\tfloat spacingEps = spacing*(1.0f - 1e-4f);\n\n\t\t// make sure to have at least one particle in each dimension\n\t\tint dx, dy, dz;\n\t\tdx = spacing > edges.x ? 1 : int(edges.x/spacingEps);\n\t\tdy = spacing > edges.y ? 1 : int(edges.y/spacingEps);\n\t\tdz = spacing > edges.z ? 1 : int(edges.z/spacingEps);\n\n\t\tint maxDim = max(max(dx, dy), dz);\n\n\t\t// expand border by two voxels to ensure adequate sampling at edges\n\t\tmeshLower -= 2.0f*Vec3(spacing);\n\t\tmeshUpper += 2.0f*Vec3(spacing);\n\t\tmaxDim += 4;\n\n\t\tvector<uint32_t> voxels(maxDim*maxDim*maxDim);\n\n\t\t// we shift the voxelization bounds so that the voxel centers\n\t\t// lie symmetrically to the center of the object. this reduces the \n\t\t// chance of missing features, and also better aligns the particles\n\t\t// with the mesh\n\t\tVec3 meshOffset;\n\t\tmeshOffset.x = 0.5f * (spacing - (edges.x - (dx-1)*spacing));\n\t\tmeshOffset.y = 0.5f * (spacing - (edges.y - (dy-1)*spacing));\n\t\tmeshOffset.z = 0.5f * (spacing - (edges.z - (dz-1)*spacing));\n\t\tmeshLower -= meshOffset;\n\n\t\t//Voxelize(*mesh, dx, dy, dz, &voxels[0], meshLower - Vec3(spacing*0.05f) , meshLower + Vec3(maxDim*spacing) + Vec3(spacing*0.05f));\n\t\tVoxelize((const Vec3*)&mesh.m_positions[0], mesh.m_positions.size(), (const int*)&mesh.m_indices[0], mesh.m_indices.size(), maxDim, maxDim, maxDim, &voxels[0], meshLower, meshLower + Vec3(maxDim*spacing));\n\n\t\tvector<int> indices(maxDim*maxDim*maxDim);\n\t\tvector<float> sdf(maxDim*maxDim*maxDim);\n\t\tMakeSDF(&voxels[0], maxDim, maxDim, maxDim, &sdf[0]);\n\n\t\tfor (int x=0; x < maxDim; ++x)\n\t\t{\n\t\t\tfor (int y=0; y < maxDim; ++y)\n\t\t\t{\n\t\t\t\tfor (int z=0; z < maxDim; ++z)\n\t\t\t\t{\n\t\t\t\t\tconst int index = z*maxDim*maxDim + y*maxDim + x;\n\n\t\t\t\t\t// if voxel is marked as occupied the add a particle\n\t\t\t\t\tif (voxels[index])\n\t\t\t\t\t{\n\t\t\t\t\t\tif (rigid)\n\t\t\t\t\t\t\tg_buffers->rigidIndices.push_back(int(g_buffers->positions.size()));\n\n\t\t\t\t\t\tVec3 position = lower + meshLower + spacing*Vec3(float(x) + 0.5f, float(y) + 0.5f, float(z) + 0.5f) + RandomUnitVector()*jitter;\n\n\t\t\t\t\t\t // normalize the sdf value and transform to world scale\n\t\t\t\t\t\tVec3 n = SafeNormalize(SampleSDFGrad(&sdf[0], maxDim, x, y, z));\n\t\t\t\t\t\tfloat d = sdf[index]*maxEdge;\n\n\t\t\t\t\t\tif (rigid)\n\t\t\t\t\t\t\tg_buffers->rigidLocalNormals.push_back(Vec4(n, d));\n\n\t\t\t\t\t\t// track which particles are in which cells\n\t\t\t\t\t\tindices[index] = g_buffers->positions.size();\n\n\t\t\t\t\t\tg_buffers->positions.push_back(Vec4(position.x, position.y, position.z, invMass));\t\t\t\t\t\t\n\t\t\t\t\t\tg_buffers->velocities.push_back(velocity);\n\t\t\t\t\t\tg_buffers->phases.push_back(phase);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tmesh.Transform(ScaleMatrix(1.0f + skinExpand)*TranslationMatrix(Point3(-0.5f*(meshUpper+meshLower))));\n\t\tmesh.Transform(TranslationMatrix(Point3(lower + 0.5f*(meshUpper+meshLower))));\t\n\t\n\t\n\t\tif (springStiffness > 0.0f)\n\t\t{\n\t\t\t// construct cross link springs to occupied cells\n\t\t\tfor (int x=0; x < maxDim; ++x)\n\t\t\t{\n\t\t\t\tfor (int y=0; y < maxDim; ++y)\n\t\t\t\t{\n\t\t\t\t\tfor (int z=0; z < maxDim; ++z)\n\t\t\t\t\t{\n\t\t\t\t\t\tconst int centerCell = z*maxDim*maxDim + y*maxDim + x;\n\n\t\t\t\t\t\t// if voxel is marked as occupied the add a particle\n\t\t\t\t\t\tif (voxels[centerCell])\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconst int width = 1;\n\n\t\t\t\t\t\t\t// create springs to all the neighbors within the width\n\t\t\t\t\t\t\tfor (int i=x-width; i <= x+width; ++i)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tfor (int j=y-width; j <= y+width; ++j)\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tfor (int k=z-width; k <= z+width; ++k)\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tconst int neighborCell = k*maxDim*maxDim + j*maxDim + i;\n\n\t\t\t\t\t\t\t\t\t\tif (neighborCell > 0 && neighborCell < int(voxels.size()) && voxels[neighborCell] && neighborCell != centerCell)\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tCreateSpring(indices[neighborCell], indices[centerCell], springStiffness);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t}\n\t\n\n\tif (skin)\n\t{\n\t\tg_buffers->rigidMeshSize.push_back(mesh.GetNumVertices());\n\n\t\tint startVertex = 0;\n\n\t\tif (!g_mesh)\n\t\t\tg_mesh = new Mesh();\n\n\t\t// append to mesh\n\t\tstartVertex = g_mesh->GetNumVertices();\n\n\t\tg_mesh->Transform(TranslationMatrix(Point3(skinOffset)));\n\t\tg_mesh->AddMesh(mesh);\n\n\t\tconst Colour colors[7] = \n\t\t{\n\t\t\tColour(0.0f, 0.5f, 1.0f),\n\t\t\tColour(0.797f, 0.354f, 0.000f),\t\t\t\n\t\t\tColour(0.000f, 0.349f, 0.173f),\n\t\t\tColour(0.875f, 0.782f, 0.051f),\n\t\t\tColour(0.01f, 0.170f, 0.453f),\n\t\t\tColour(0.673f, 0.111f, 0.000f),\n\t\t\tColour(0.612f, 0.194f, 0.394f) \n\t\t};\n\n\t\tfor (uint32_t i=startVertex; i < g_mesh->GetNumVertices(); ++i)\n\t\t{\n\t\t\tint indices[g_numSkinWeights] = { -1, -1, -1, -1 };\n\t\t\tfloat distances[g_numSkinWeights] = {FLT_MAX, FLT_MAX, FLT_MAX, FLT_MAX };\n\t\t\t\n\t\t\tif (LengthSq(color) == 0.0f)\n\t\t\t\tg_mesh->m_colours[i] = 1.25f*colors[((unsigned int)(phase))%7];\n\t\t\telse\n\t\t\t\tg_mesh->m_colours[i] = Colour(color);\n\n\t\t\t// find closest n particles\n\t\t\tfor (int j=startIndex; j < g_buffers->positions.size(); ++j)\n\t\t\t{\n\t\t\t\tfloat dSq = LengthSq(Vec3(g_mesh->m_positions[i])-Vec3(g_buffers->positions[j]));\n\n\t\t\t\t// insertion sort\n\t\t\t\tint w=0;\n\t\t\t\tfor (; w < 4; ++w)\n\t\t\t\t\tif (dSq < distances[w])\n\t\t\t\t\t\tbreak;\n\t\t\t\t\n\t\t\t\tif (w < 4)\n\t\t\t\t{\n\t\t\t\t\t// shuffle down\n\t\t\t\t\tfor (int s=3; s > w; --s)\n\t\t\t\t\t{\n\t\t\t\t\t\tindices[s] = indices[s-1];\n\t\t\t\t\t\tdistances[s] = distances[s-1];\n\t\t\t\t\t}\n\n\t\t\t\t\tdistances[w] = dSq;\n\t\t\t\t\tindices[w] = int(j);\t\t\t\t\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// weight particles according to distance\n\t\t\tfloat wSum = 0.0f;\n\n\t\t\tfor (int w=0; w < 4; ++w)\n\t\t\t{\t\t\t\t\n\t\t\t\t// convert to inverse distance\n\t\t\t\tdistances[w] = 1.0f/(0.1f + powf(distances[w], .125f));\n\n\t\t\t\twSum += distances[w];\n\n\t\t\t}\n\n\t\t\tfloat weights[4];\n\t\t\tfor (int w=0; w < 4; ++w)\n\t\t\t\tweights[w] = distances[w]/wSum;\n\n\t\t\tfor (int j=0; j < 4; ++j)\n\t\t\t{\n\t\t\t\tg_meshSkinIndices.push_back(indices[j]);\n\t\t\t\tg_meshSkinWeights.push_back(weights[j]);\n\t\t\t}\n\t\t}\n\t}\n\n\tif (rigid)\n\t{\n\t\tg_buffers->rigidCoefficients.push_back(rigidStiffness);\n\t\tg_buffers->rigidOffsets.push_back(int(g_buffers->rigidIndices.size()));\n\t}\n}\n\n// wrapper to create shape from a filename\nvoid CreateParticleShape(const char* filename, Vec3 lower, Vec3 scale, float rotation, float spacing, Vec3 velocity, float invMass, bool rigid, float rigidStiffness, int phase, bool skin, float jitter=0.005f, Vec3 skinOffset=0.0f, float skinExpand=0.0f, Vec4 color=Vec4(0.0f), float springStiffness=0.0f)\n{\n\tMesh* mesh = ImportMesh(filename);\n\tif (mesh)\n\t\tCreateParticleShape(mesh, lower, scale, rotation, spacing, velocity, invMass, rigid, rigidStiffness, phase, skin, jitter, skinOffset, skinExpand, color, springStiffness);\n\t\n\tdelete mesh;\n}\n\nvoid SkinMesh()\n{\n\tif (g_mesh)\n\t{\n\t\tint startVertex = 0;\n\n\t\tfor (int r=0; r < g_buffers->rigidRotations.size(); ++r)\n\t\t{\n\t\t\tconst Matrix33 rotation = g_buffers->rigidRotations[r];\n\t\t\tconst int numVertices = g_buffers->rigidMeshSize[r];\n\n\t\t\tfor (int i=startVertex; i < numVertices+startVertex; ++i)\n\t\t\t{\n\t\t\t\tVec3 skinPos;\n\n\t\t\t\tfor (int w=0; w < 4; ++w)\n\t\t\t\t{\n\t\t\t\t\t// small shapes can have < 4 particles\n\t\t\t\t\tif (g_meshSkinIndices[i*4+w] > -1)\n\t\t\t\t\t{\n\t\t\t\t\t\tassert(g_meshSkinWeights[i*4+w] < FLT_MAX);\n\n\t\t\t\t\t\tint index = g_meshSkinIndices[i*4+w];\n\t\t\t\t\t\tfloat weight = g_meshSkinWeights[i*4+w];\n\n\t\t\t\t\t\tskinPos += (rotation*(g_meshRestPositions[i]-Point3(g_buffers->restPositions[index])) + Vec3(g_buffers->positions[index]))*weight;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tg_mesh->m_positions[i] = Point3(skinPos);\n\t\t\t}\n\n\t\t\tstartVertex += numVertices;\n\t\t}\n\n\t\tg_mesh->CalculateNormals();\n\t}\n}\n\nvoid AddBox(Vec3 halfEdge = Vec3(2.0f), Vec3 center=Vec3(0.0f), Quat quat=Quat(), bool dynamic=false, int channels=eNvFlexPhaseShapeChannelMask)\n{\n\t// transform\n\tg_buffers->shapePositions.push_back(Vec4(center.x, center.y, center.z, 0.0f));\n\tg_buffers->shapeRotations.push_back(quat);\n\n\tg_buffers->shapePrevPositions.push_back(g_buffers->shapePositions.back());\n\tg_buffers->shapePrevRotations.push_back(g_buffers->shapeRotations.back());\n\n\tNvFlexCollisionGeometry geo;\n\tgeo.box.halfExtents[0] = halfEdge.x;\n\tgeo.box.halfExtents[1] = halfEdge.y;\n\tgeo.box.halfExtents[2] = halfEdge.z;\n\n\tg_buffers->shapeGeometry.push_back(geo);\n\tg_buffers->shapeFlags.push_back(NvFlexMakeShapeFlagsWithChannels(eNvFlexShapeBox, dynamic, channels));\n}\n\n// helper that creates a plinth whose center matches the particle bounds\nvoid AddPlinth()\n{\n\tVec3 lower, upper;\n\tGetParticleBounds(lower, upper);\n\n\tVec3 center = (lower+upper)*0.5f;\n\tcenter.y = 0.5f;\n\n\tAddBox(Vec3(2.0f, 0.5f, 2.0f), center);\n}\n\nvoid AddSphere(float radius, Vec3 position, Quat rotation)\n{\n\tNvFlexCollisionGeometry geo;\n\tgeo.sphere.radius = radius;\n\tg_buffers->shapeGeometry.push_back(geo);\n\n\tg_buffers->shapePositions.push_back(Vec4(position, 0.0f));\n\tg_buffers->shapeRotations.push_back(rotation);\n\n\tg_buffers->shapePrevPositions.push_back(g_buffers->shapePositions.back());\n\tg_buffers->shapePrevRotations.push_back(g_buffers->shapeRotations.back());\n\n\tint flags = NvFlexMakeShapeFlags(eNvFlexShapeSphere, false);\n\tg_buffers->shapeFlags.push_back(flags);\n}\n\n// creates a capsule aligned to the local x-axis with a given radius\nvoid AddCapsule(float radius, float halfHeight, Vec3 position, Quat rotation)\n{\n\tNvFlexCollisionGeometry geo;\n\tgeo.capsule.radius = radius;\n\tgeo.capsule.halfHeight = halfHeight;\n\n\tg_buffers->shapeGeometry.push_back(geo);\n\n\tg_buffers->shapePositions.push_back(Vec4(position, 0.0f));\n\tg_buffers->shapeRotations.push_back(rotation);\n\n\tg_buffers->shapePrevPositions.push_back(g_buffers->shapePositions.back());\n\tg_buffers->shapePrevRotations.push_back(g_buffers->shapeRotations.back());\n\n\tint flags = NvFlexMakeShapeFlags(eNvFlexShapeCapsule, false);\n\tg_buffers->shapeFlags.push_back(flags);\n}\n\nvoid CreateSDF(const Mesh* mesh, uint32_t dim, Vec3 lower, Vec3 upper, float* sdf)\n{\n\tif (mesh)\n\t{\n\t\tprintf(\"Begin mesh voxelization\\n\");\n\n\t\tdouble startVoxelize = GetSeconds();\n\n\t\tuint32_t* volume = new uint32_t[dim*dim*dim];\n\t\tVoxelize((const Vec3*)&mesh->m_positions[0], mesh->m_positions.size(), (const int*)&mesh->m_indices[0], mesh->m_indices.size(), dim, dim, dim, volume, lower, upper);\n\n\t\tprintf(\"End mesh voxelization (%.2fs)\\n\", (GetSeconds()-startVoxelize));\n\t\n\t\tprintf(\"Begin SDF gen (fast marching method)\\n\");\n\n\t\tdouble startSDF = GetSeconds();\n\n\t\tMakeSDF(volume, dim, dim, dim, sdf);\n\n\t\tprintf(\"End SDF gen (%.2fs)\\n\", (GetSeconds()-startSDF));\n\t\n\t\tdelete[] volume;\n\t}\n}\n\n\nvoid AddRandomConvex(int numPlanes, Vec3 position, float minDist, float maxDist, Vec3 axis, float angle)\n{\n\tconst int maxPlanes = 12;\n\n\t// 12-kdop\n\tconst Vec3 directions[maxPlanes] = { \n\t\tVec3(1.0f, 0.0f, 0.0f),\n\t\tVec3(0.0f, 1.0f, 0.0f),\n\t\tVec3(0.0f, 0.0f, 1.0f),\n\t\tVec3(-1.0f, 0.0f, 0.0f),\n\t\tVec3(0.0f, -1.0f, 0.0f),\n\t\tVec3(0.0f, 0.0f, -1.0f),\n\t\tVec3(1.0f, 1.0f, 0.0f),\n\t\tVec3(-1.0f, -1.0f, 0.0f),\n\t\tVec3(1.0f, 0.0f, 1.0f),\n\t\tVec3(-1.0f, 0.0f, -1.0f),\n\t\tVec3(0.0f, 1.0f, 1.0f),\n\t\tVec3(0.0f, -1.0f, -1.0f),\n\t };\n\n\tnumPlanes = Clamp(6, numPlanes, maxPlanes);\n\n\tint mesh = NvFlexCreateConvexMesh(g_flexLib);\n\n\tNvFlexVector<Vec4> planes(g_flexLib);\n\tplanes.map();\n\n\t// create a box\n\tfor (int i=0; i < numPlanes; ++i)\n\t{\n\t\tVec4 plane = Vec4(Normalize(directions[i]), -Randf(minDist, maxDist));\n\t\tplanes.push_back(plane);\n\t}\n\n\tg_buffers->shapePositions.push_back(Vec4(position.x, position.y, position.z, 0.0f));\n\tg_buffers->shapeRotations.push_back(QuatFromAxisAngle(axis, angle));\n\n\tg_buffers->shapePrevPositions.push_back(g_buffers->shapePositions.back());\n\tg_buffers->shapePrevRotations.push_back(g_buffers->shapeRotations.back());\n\n\t// set aabbs\n\tConvexMeshBuilder builder(&planes[0]);\n\tbuilder(numPlanes);\n\n\tVec3 lower(FLT_MAX), upper(-FLT_MAX);\n\tfor (size_t v=0; v < builder.mVertices.size(); ++v)\n\t{\n\t\tconst Vec3 p =  builder.mVertices[v];\n\n\t\tlower = Min(lower, p);\n\t\tupper = Max(upper, p);\n\t}\n\n\tplanes.unmap();\n\n\t\n\tNvFlexUpdateConvexMesh(g_flexLib, mesh, planes.buffer, planes.size(), lower, upper);\n\n\tNvFlexCollisionGeometry geo;\n\tgeo.convexMesh.mesh = mesh;\n\tgeo.convexMesh.scale[0] = 1.0f;\n\tgeo.convexMesh.scale[1] = 1.0f;\n\tgeo.convexMesh.scale[2] = 1.0f;\n\n\tg_buffers->shapeGeometry.push_back(geo);\n\n\tint flags = NvFlexMakeShapeFlags(eNvFlexShapeConvexMesh, false);\n\tg_buffers->shapeFlags.push_back(flags);\n\n\n\t// create render mesh for convex\n\tMesh renderMesh;\n\n\tfor (uint32_t j = 0; j < builder.mIndices.size(); j += 3)\n\t{\n\t\tuint32_t a = builder.mIndices[j + 0];\n\t\tuint32_t b = builder.mIndices[j + 1];\n\t\tuint32_t c = builder.mIndices[j + 2];\n\n\t\tVec3 n = Normalize(Cross(builder.mVertices[b] - builder.mVertices[a], builder.mVertices[c] - builder.mVertices[a]));\n\t\t\n\t\tint startIndex = renderMesh.m_positions.size();\n\n\t\trenderMesh.m_positions.push_back(Point3(builder.mVertices[a]));\n\t\trenderMesh.m_normals.push_back(n);\n\n\t\trenderMesh.m_positions.push_back(Point3(builder.mVertices[b]));\n\t\trenderMesh.m_normals.push_back(n);\n\n\t\trenderMesh.m_positions.push_back(Point3(builder.mVertices[c]));\n\t\trenderMesh.m_normals.push_back(n);\n\n\t\trenderMesh.m_indices.push_back(startIndex+0);\n\t\trenderMesh.m_indices.push_back(startIndex+1);\n\t\trenderMesh.m_indices.push_back(startIndex+2);\n\t}\n\n\t// insert into the global mesh list\n\tGpuMesh* gpuMesh = CreateGpuMesh(&renderMesh);\n\tg_convexes[mesh] = gpuMesh;\n}\n\nvoid CreateRandomBody(int numPlanes, Vec3 position, float minDist, float maxDist, Vec3 axis, float angle, float invMass, int phase, float stiffness)\n{\n\t// 12-kdop\n\tconst Vec3 directions[] = { \n\t\tVec3(1.0f, 0.0f, 0.0f),\n\t\tVec3(0.0f, 1.0f, 0.0f),\n\t\tVec3(0.0f, 0.0f, 1.0f),\n\t\tVec3(-1.0f, 0.0f, 0.0f),\n\t\tVec3(0.0f, -1.0f, 0.0f),\n\t\tVec3(0.0f, 0.0f, -1.0f),\n\t\tVec3(1.0f, 1.0f, 0.0f),\n\t\tVec3(-1.0f, -1.0f, 0.0f),\n\t\tVec3(1.0f, 0.0f, 1.0f),\n\t\tVec3(-1.0f, 0.0f, -1.0f),\n\t\tVec3(0.0f, 1.0f, 1.0f),\n\t\tVec3(0.0f, -1.0f, -1.0f),\n\t };\n\n\tnumPlanes = max(4, numPlanes);\n\n\tvector<Vec4> planes;\n\n\t// create a box\n\tfor (int i=0; i < numPlanes; ++i)\n\t{\n\t\t// pick random dir and distance\n\t\tVec3 dir = Normalize(directions[i]);//RandomUnitVector();\n\t\tfloat dist = Randf(minDist, maxDist);\n\n\t\tplanes.push_back(Vec4(dir.x, dir.y, dir.z, -dist));\n\t}\n\n\t// set aabbs\n\tConvexMeshBuilder builder(&planes[0]);\n\tbuilder(numPlanes);\n\t\t\t\n\tint startIndex = int(g_buffers->positions.size());\n\n\tfor (size_t v=0; v < builder.mVertices.size(); ++v)\n\t{\n\t\tQuat q = QuatFromAxisAngle(axis, angle);\n\t\tVec3 p =  rotate(Vec3(q), q.w, builder.mVertices[v]) + position;\n\n\t\tg_buffers->positions.push_back(Vec4(p.x, p.y, p.z, invMass));\n\t\tg_buffers->velocities.push_back(0.0f);\n\t\tg_buffers->phases.push_back(phase);\n\n\t\t// add spring to all verts with higher index\n\t\tfor (size_t i=v+1; i < builder.mVertices.size(); ++i)\n\t\t{\n\t\t\tint a = startIndex + int(v);\n\t\t\tint b = startIndex + int(i);\n\n\t\t\tg_buffers->springIndices.push_back(a);\n\t\t\tg_buffers->springIndices.push_back(b);\n\t\t\tg_buffers->springLengths.push_back(Length(builder.mVertices[v]-builder.mVertices[i]));\n\t\t\tg_buffers->springStiffness.push_back(stiffness);\n\n\t\t}\n\t}\t\n\n\tfor (size_t t=0; t < builder.mIndices.size(); ++t)\n\t\tg_buffers->triangles.push_back(startIndex + builder.mIndices[t]);\t\t\n\n\t// lazy\n\tg_buffers->triangleNormals.resize(g_buffers->triangleNormals.size() + builder.mIndices.size()/3, Vec3(0.0f));\n}\n\nNvFlexTriangleMeshId CreateTriangleMesh(Mesh* m)\n{\n\tif (!m)\n\t\treturn 0;\n\n\tVec3 lower, upper;\n\tm->GetBounds(lower, upper);\n\n\tNvFlexVector<Vec4> positions(g_flexLib, m->m_positions.size());\n\tpositions.map();\n\tNvFlexVector<int> indices(g_flexLib);\n\n\tfor (int i = 0; i < int(m->m_positions.size()); ++i)\n\t{\n\t\tVec3 vertex = Vec3(m->m_positions[i]);\n\t\tpositions[i] = Vec4(vertex, 0.0f);\n\t}\n\tindices.assign((int*)&m->m_indices[0], m->m_indices.size());\n\n\tpositions.unmap();\n\tindices.unmap();\n\n\tNvFlexTriangleMeshId flexMesh = NvFlexCreateTriangleMesh(g_flexLib);\n\tNvFlexUpdateTriangleMesh(g_flexLib, flexMesh, positions.buffer, indices.buffer, m->GetNumVertices(), m->GetNumFaces(), (float*)&lower, (float*)&upper);\n\n\t// entry in the collision->render map\n\tg_meshes[flexMesh] = CreateGpuMesh(m);\n\t\n\treturn flexMesh;\n}\n\nvoid AddTriangleMesh(NvFlexTriangleMeshId mesh, Vec3 translation, Quat rotation, Vec3 scale)\n{\n\tVec3 lower, upper;\n\tNvFlexGetTriangleMeshBounds(g_flexLib, mesh, lower, upper);\n\n\tNvFlexCollisionGeometry geo;\n\tgeo.triMesh.mesh = mesh;\n\tgeo.triMesh.scale[0] = scale.x;\n\tgeo.triMesh.scale[1] = scale.y;\n\tgeo.triMesh.scale[2] = scale.z;\n\n\tg_buffers->shapePositions.push_back(Vec4(translation, 0.0f));\n\tg_buffers->shapeRotations.push_back(Quat(rotation));\n\tg_buffers->shapePrevPositions.push_back(Vec4(translation, 0.0f));\n\tg_buffers->shapePrevRotations.push_back(Quat(rotation));\n\tg_buffers->shapeGeometry.push_back((NvFlexCollisionGeometry&)geo);\n\tg_buffers->shapeFlags.push_back(NvFlexMakeShapeFlags(eNvFlexShapeTriangleMesh, false));\n}\n\nNvFlexDistanceFieldId CreateSDF(const char* meshFile, int dim, float margin = 0.1f, float expand = 0.0f)\n{\n\tMesh* mesh = ImportMesh(meshFile);\n\n\t// include small margin to ensure valid gradients near the boundary\n\tmesh->Normalize(1.0f - margin);\n\tmesh->Transform(TranslationMatrix(Point3(margin, margin, margin)*0.5f));\n\n\tVec3 lower(0.0f);\n\tVec3 upper(1.0f);\n\n\t// try and load the sdf from disc if it exists\n\t// Begin Add Android Support\n#ifdef ANDROID\n\tstring sdfFile = string(meshFile, strlen(meshFile) - strlen(strrchr(meshFile, '.'))) + \".pfm\";\n#else\n\tstring sdfFile = string(meshFile, strrchr(meshFile, '.')) + \".pfm\";\n#endif\n\t// End Add Android Support\n\n\tPfmImage pfm;\n\tif (!PfmLoad(sdfFile.c_str(), pfm))\n\t{\n\t\tpfm.m_width = dim;\n\t\tpfm.m_height = dim;\n\t\tpfm.m_depth = dim;\n\t\tpfm.m_data = new float[dim*dim*dim];\n\n\t\tprintf(\"Cooking SDF: %s - dim: %d^3\\n\", sdfFile.c_str(), dim);\n\n\t\tCreateSDF(mesh, dim, lower, upper, pfm.m_data);\n\n\t\tPfmSave(sdfFile.c_str(), pfm);\n\t}\n\n\t//printf(\"Loaded SDF, %d\\n\", pfm.m_width);\n\n\tassert(pfm.m_width == pfm.m_height && pfm.m_width == pfm.m_depth);\n\n\t// cheap collision offset\n\tint numVoxels = int(pfm.m_width*pfm.m_height*pfm.m_depth);\n\tfor (int i = 0; i < numVoxels; ++i)\n\t\tpfm.m_data[i] += expand;\n\n\tNvFlexVector<float> field(g_flexLib);\n\tfield.assign(pfm.m_data, pfm.m_width*pfm.m_height*pfm.m_depth);\n\tfield.unmap();\n\n\t// set up flex collision shape\n\tNvFlexDistanceFieldId sdf = NvFlexCreateDistanceField(g_flexLib);\n\tNvFlexUpdateDistanceField(g_flexLib, sdf, dim, dim, dim, field.buffer);\n\n\t// entry in the collision->render map\n\tg_fields[sdf] = CreateGpuMesh(mesh);\n\n\tdelete mesh;\n\tdelete[] pfm.m_data;\n\n\treturn sdf;\n}\n\nvoid AddSDF(NvFlexDistanceFieldId sdf, Vec3 translation, Quat rotation, float width)\n{\n\tNvFlexCollisionGeometry geo;\n\tgeo.sdf.field = sdf;\n\tgeo.sdf.scale = width;\n\n\tg_buffers->shapePositions.push_back(Vec4(translation, 0.0f));\n\tg_buffers->shapeRotations.push_back(Quat(rotation));\n\tg_buffers->shapePrevPositions.push_back(Vec4(translation, 0.0f));\n\tg_buffers->shapePrevRotations.push_back(Quat(rotation));\n\tg_buffers->shapeGeometry.push_back((NvFlexCollisionGeometry&)geo);\n\tg_buffers->shapeFlags.push_back(NvFlexMakeShapeFlags(eNvFlexShapeSDF, false));\n}\n\ninline int GridIndex(int x, int y, int dx) { return y*dx + x; }\n\nvoid CreateSpringGrid(Vec3 lower, int dx, int dy, int dz, float radius, int phase, float stretchStiffness, float bendStiffness, float shearStiffness, Vec3 velocity, float invMass)\n{\n\tint baseIndex = int(g_buffers->positions.size());\n\n\tfor (int z=0; z < dz; ++z)\n\t{\n\t\tfor (int y=0; y < dy; ++y)\n\t\t{\n\t\t\tfor (int x=0; x < dx; ++x)\n\t\t\t{\n\t\t\t\tVec3 position = lower + radius*Vec3(float(x), float(z), float(y));\n\n\t\t\t\tg_buffers->positions.push_back(Vec4(position.x, position.y, position.z, invMass));\n\t\t\t\tg_buffers->velocities.push_back(velocity);\n\t\t\t\tg_buffers->phases.push_back(phase);\n\n\t\t\t\tif (x > 0 && y > 0)\n\t\t\t\t{\n\t\t\t\t\tg_buffers->triangles.push_back(baseIndex + GridIndex(x-1, y-1, dx));\n\t\t\t\t\tg_buffers->triangles.push_back(baseIndex + GridIndex(x, y-1, dx));\n\t\t\t\t\tg_buffers->triangles.push_back(baseIndex + GridIndex(x, y, dx));\n\t\t\t\t\t\n\t\t\t\t\tg_buffers->triangles.push_back(baseIndex + GridIndex(x-1, y-1, dx));\n\t\t\t\t\tg_buffers->triangles.push_back(baseIndex + GridIndex(x, y, dx));\n\t\t\t\t\tg_buffers->triangles.push_back(baseIndex + GridIndex(x-1, y, dx));\n\n\t\t\t\t\tg_buffers->triangleNormals.push_back(Vec3(0.0f, 1.0f, 0.0f));\n\t\t\t\t\tg_buffers->triangleNormals.push_back(Vec3(0.0f, 1.0f, 0.0f));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\t\n\n\t// horizontal\n\tfor (int y=0; y < dy; ++y)\n\t{\n\t\tfor (int x=0; x < dx; ++x)\n\t\t{\n\t\t\tint index0 = y*dx + x;\n\n\t\t\tif (x > 0)\n\t\t\t{\n\t\t\t\tint index1 = y*dx + x - 1;\n\t\t\t\tCreateSpring(baseIndex + index0, baseIndex + index1, stretchStiffness);\n\t\t\t}\n\n\t\t\tif (x > 1)\n\t\t\t{\n\t\t\t\tint index2 = y*dx + x - 2;\n\t\t\t\tCreateSpring(baseIndex + index0, baseIndex + index2, bendStiffness);\n\t\t\t}\n\n\t\t\tif (y > 0 && x < dx-1)\n\t\t\t{\n\t\t\t\tint indexDiag = (y-1)*dx + x + 1;\n\t\t\t\tCreateSpring(baseIndex + index0, baseIndex + indexDiag, shearStiffness);\n\t\t\t}\n\n\t\t\tif (y > 0 && x > 0)\n\t\t\t{\n\t\t\t\tint indexDiag = (y-1)*dx + x - 1;\n\t\t\t\tCreateSpring(baseIndex + index0, baseIndex + indexDiag, shearStiffness);\n\t\t\t}\n\t\t}\n\t}\n\n\t// vertical\n\tfor (int x=0; x < dx; ++x)\n\t{\n\t\tfor (int y=0; y < dy; ++y)\n\t\t{\n\t\t\tint index0 = y*dx + x;\n\n\t\t\tif (y > 0)\n\t\t\t{\n\t\t\t\tint index1 = (y-1)*dx + x;\n\t\t\t\tCreateSpring(baseIndex + index0, baseIndex + index1, stretchStiffness);\n\t\t\t}\n\n\t\t\tif (y > 1)\n\t\t\t{\n\t\t\t\tint index2 = (y-2)*dx + x;\n\t\t\t\tCreateSpring(baseIndex + index0, baseIndex + index2, bendStiffness);\n\t\t\t}\n\t\t}\n\t}\t\n}\n\nvoid CreateRope(Rope& rope, Vec3 start, Vec3 dir, float stiffness, int segments, float length, int phase, float spiralAngle=0.0f, float invmass=1.0f, float give=0.075f)\n{\n\trope.mIndices.push_back(int(g_buffers->positions.size()));\n\n\tg_buffers->positions.push_back(Vec4(start.x, start.y, start.z, invmass));\n\tg_buffers->velocities.push_back(0.0f);\n\tg_buffers->phases.push_back(phase);//int(g_buffers->positions.size()));\n\t\n\tVec3 left, right;\n\tBasisFromVector(dir, &left, &right);\n\n\tfloat segmentLength = length/segments;\n\tVec3 spiralAxis = dir;\n\tfloat spiralHeight = spiralAngle/(2.0f*kPi)*(length/segments);\n\n\tif (spiralAngle > 0.0f)\n\t\tdir = left;\n\n\tVec3 p = start;\n\n\tfor (int i=0; i < segments; ++i)\n\t{\n\t\tint prev = int(g_buffers->positions.size())-1;\n\n\t\tp += dir*segmentLength;\n\n\t\t// rotate \n\t\tif (spiralAngle > 0.0f)\n\t\t{\n\t\t\tp += spiralAxis*spiralHeight;\n\n\t\t\tdir = RotationMatrix(spiralAngle, spiralAxis)*dir;\n\t\t}\n\n\t\trope.mIndices.push_back(int(g_buffers->positions.size()));\n\n\t\tg_buffers->positions.push_back(Vec4(p.x, p.y, p.z, 1.0f));\n\t\tg_buffers->velocities.push_back(0.0f);\n\t\tg_buffers->phases.push_back(phase);//int(g_buffers->positions.size()));\n\n\t\t// stretch\n\t\tCreateSpring(prev, prev+1, stiffness, give);\n\n\t\t// tether\n\t\t//if (i > 0 && i%4 == 0)\n\t\t\t//CreateSpring(prev-3, prev+1, -0.25f);\n\t\t\n\t\t// bending spring\n\t\tif (i > 0)\n\t\t\tCreateSpring(prev-1, prev+1, stiffness*0.5f, give);\n\t}\n}\n\nnamespace\n{\n\tstruct Tri\n\t{\n\t\tint a;\n\t\tint b;\n\t\tint c;\n\n\t\tTri(int a, int b, int c) : a(a), b(b), c(c) {}\n\n\t\tbool operator < (const Tri& rhs)\n\t\t{\n\t\t\tif (a != rhs.a)\n\t\t\t\treturn a < rhs.a;\n\t\t\telse if (b != rhs.b)\n\t\t\t\treturn b < rhs.b;\n\t\t\telse\n\t\t\t\treturn c < rhs.c;\n\t\t}\n\t};\n}\n\n\nnamespace\n{\n\tstruct TriKey\n\t{\n\t\tint orig[3];\n\t\tint indices[3];\n\n\t\tTriKey(int a, int b, int c)\t\t\n\t\t{\n\t\t\torig[0] = a;\n\t\t\torig[1] = b;\n\t\t\torig[2] = c;\n\n\t\t\tindices[0] = a;\n\t\t\tindices[1] = b;\n\t\t\tindices[2] = c;\n\n\t\t\tstd::sort(indices, indices+3);\n\t\t}\t\t\t\n\n\t\tbool operator < (const TriKey& rhs) const\n\t\t{\n\t\t\tif (indices[0] != rhs.indices[0])\n\t\t\t\treturn indices[0] < rhs.indices[0];\n\t\t\telse if (indices[1] != rhs.indices[1])\n\t\t\t\treturn indices[1] < rhs.indices[1];\n\t\t\telse\n\t\t\t\treturn indices[2] < rhs.indices[2];\n\t\t}\n\t};\n}\n\nvoid CreateTetMesh(const char* filename, Vec3 lower, float scale, float stiffness, int phase)\n{\n\tFILE* f = fopen(filename, \"r\");\n\n\tchar line[2048];\n\n\tif (f)\n\t{\n\t\ttypedef std::map<TriKey, int> TriMap;\n\t\tTriMap triCount;\n\n\t\tconst int vertOffset = g_buffers->positions.size();\n\n\t\tVec3 meshLower(FLT_MAX);\n\t\tVec3 meshUpper(-FLT_MAX);\n\n\t\tbool firstTet = true;\n\n\t\twhile (!feof(f))\n\t\t{\n\t\t\tif (fgets(line, 2048, f))\n\t\t\t{\n\t\t\t\tswitch(line[0])\n\t\t\t\t{\n\t\t\t\tcase '#':\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'v':\n\t\t\t\t\t{\n\t\t\t\t\t\tVec3 pos;\n\t\t\t\t\t\tsscanf(line, \"v %f %f %f\", &pos.x, &pos.y, &pos.z);\n\n\t\t\t\t\t\tg_buffers->positions.push_back(Vec4(pos.x, pos.y, pos.z, 1.0f));\n\t\t\t\t\t\tg_buffers->velocities.push_back(0.0f);\n\t\t\t\t\t\tg_buffers->phases.push_back(phase);\n\n\t\t\t\t\t\tmeshLower = Min(pos, meshLower);\n\t\t\t\t\t\tmeshUpper = Max(pos, meshUpper);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\tcase 't':\n\t\t\t\t\t{\n\t\t\t\t\t\tif (firstTet)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tVec3 edges = meshUpper-meshLower;\n\t\t\t\t\t\t\tfloat maxEdge = max(edges.x, max(edges.y, edges.z));\n\n\t\t\t\t\t\t\t// normalize positions\n\t\t\t\t\t\t\tfor (int i=vertOffset; i < int(g_buffers->positions.size()); ++i)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tVec3 p = lower + (Vec3(g_buffers->positions[i])-meshLower)*scale/maxEdge;\n\t\t\t\t\t\t\t\tg_buffers->positions[i] = Vec4(p, g_buffers->positions[i].w);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tfirstTet = false;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tint indices[4];\n\t\t\t\t\t\tsscanf(line, \"t %d %d %d %d\", &indices[0], &indices[1], &indices[2], &indices[3]);\n\n\t\t\t\t\t\tindices[0] += vertOffset;\n\t\t\t\t\t\tindices[1] += vertOffset;\n\t\t\t\t\t\tindices[2] += vertOffset;\n\t\t\t\t\t\tindices[3] += vertOffset;\n\n\t\t\t\t\t\tCreateSpring(indices[0], indices[1], stiffness);\n\t\t\t\t\t\tCreateSpring(indices[0], indices[2], stiffness);\n\t\t\t\t\t\tCreateSpring(indices[0], indices[3], stiffness);\n\t\t\t\t\n\t\t\t\t\t\tCreateSpring(indices[1], indices[2], stiffness);\n\t\t\t\t\t\tCreateSpring(indices[1], indices[3], stiffness);\n\t\t\t\t\t\tCreateSpring(indices[2], indices[3], stiffness);\n\n\t\t\t\t\t\tTriKey k1(indices[0], indices[2], indices[1]);\n\t\t\t\t\t\ttriCount[k1] += 1;\n\n\t\t\t\t\t\tTriKey k2(indices[1], indices[2], indices[3]);\n\t\t\t\t\t\ttriCount[k2] += 1;\n\n\t\t\t\t\t\tTriKey k3(indices[0], indices[1], indices[3]);\n\t\t\t\t\t\ttriCount[k3] += 1;\n\n\t\t\t\t\t\tTriKey k4(indices[0], indices[3], indices[2]);\n\t\t\t\t\t\ttriCount[k4] += 1;\n\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfor (TriMap::iterator iter=triCount.begin(); iter != triCount.end(); ++iter)\n\t\t{\n\t\t\tTriKey key = iter->first;\n\n\t\t\t// only output faces that are referenced by one tet (open faces)\n\t\t\tif (iter->second == 1)\n\t\t\t{\n\t\t\t\tg_buffers->triangles.push_back(key.orig[0]);\n\t\t\t\tg_buffers->triangles.push_back(key.orig[1]);\n\t\t\t\tg_buffers->triangles.push_back(key.orig[2]);\n\t\t\t\tg_buffers->triangleNormals.push_back(0.0f);\n\t\t\t}\n\t\t}\n\n\n\t\tfclose(f);\n\t}\n}\n\n\n// finds the closest particle to a view ray\nint PickParticle(Vec3 origin, Vec3 dir, Vec4* particles, int* phases, int n, float radius, float &outT)\n{\n\tfloat maxDistSq = radius*radius;\n\tfloat minT = FLT_MAX;\n\tint minIndex = -1;\n\n\tfor (int i=0; i < n; ++i)\n\t{\n\t\tif (phases[i] & eNvFlexPhaseFluid)\n\t\t\tcontinue;\n\n\t\tVec3 delta = Vec3(particles[i])-origin;\n\t\tfloat t = Dot(delta, dir);\n\n\t\tif (t > 0.0f)\n\t\t{\n\t\t\tVec3 perp = delta - t*dir;\n\n\t\t\tfloat dSq = LengthSq(perp);\n\n\t\t\tif (dSq < maxDistSq && t < minT)\n\t\t\t{\n\t\t\t\tminT = t;\n\t\t\t\tminIndex = i;\n\t\t\t}\n\t\t}\n\t}\n\n\toutT = minT;\n\n\treturn minIndex;\n}\n\n// calculates the center of mass of every rigid given a set of particle positions and rigid indices\nvoid CalculateRigidCentersOfMass(const Vec4* restPositions, int numRestPositions, const int* offsets, Vec3* translations, const int* indices, int numRigids)\n{\n\t// To improve the accuracy of the result, first transform the restPositions to relative coordinates (by finding the mean and subtracting that from all positions)\n\t// Note: If this is not done, one might see ghost forces if the mean of the restPositions is far from the origin.\n\tVec3 shapeOffset(0.0f);\n\n\tfor (int i = 0; i < numRestPositions; i++)\n\t{\n\t\tshapeOffset += Vec3(restPositions[i]);\n\t}\n\n\tshapeOffset /= float(numRestPositions);\n\n\tfor (int i=0; i < numRigids; ++i)\n\t{\n\t\tconst int startIndex = offsets[i];\n\t\tconst int endIndex = offsets[i+1];\n\n\t\tconst int n = endIndex-startIndex;\n\n\t\tassert(n);\n\n\t\tVec3 com;\n\t\n\t\tfor (int j=startIndex; j < endIndex; ++j)\n\t\t{\n\t\t\tconst int r = indices[j];\n\n\t\t\t// By subtracting shapeOffset the calculation is done in relative coordinates\n\t\t\tcom += Vec3(restPositions[r]) - shapeOffset;\n\t\t}\n\n\t\tcom /= float(n);\n\n\t\t// Add the shapeOffset to switch back to absolute coordinates\n\t\tcom += shapeOffset;\n\n\t\ttranslations[i] = com;\n\n\t}\n}\n\n// calculates local space positions given a set of particle positions, rigid indices and centers of mass of the rigids\nvoid CalculateRigidLocalPositions(const Vec4* restPositions, const int* offsets, const Vec3* translations, const int* indices, int numRigids, Vec3* localPositions)\n{\n\tint count = 0;\n\n\tfor (int i=0; i < numRigids; ++i)\n\t{\n\t\tconst int startIndex = offsets[i];\n\t\tconst int endIndex = offsets[i+1];\n\n\t\tassert(endIndex-startIndex);\n\n\t\tfor (int j=startIndex; j < endIndex; ++j)\n\t\t{\n\t\t\tconst int r = indices[j];\n\n\t\t\tlocalPositions[count++] = Vec3(restPositions[r]) - translations[i];\n\t\t}\n\t}\n}\n\nvoid DrawImguiString(int x, int y, Vec3 color, int align, const char* s, ...)\n{\n\tchar buf[2048];\n\n\tva_list args;\n\n\tva_start(args, s);\n\tvsnprintf(buf, 2048, s, args);\n\tva_end(args);\n\n\timguiDrawText(x, y, align, buf, imguiRGBA((unsigned char)(color.x*255), (unsigned char)(color.y*255), (unsigned char)(color.z*255)));\n}\n\nenum \n{\n\tHELPERS_SHADOW_OFFSET = 1,\n};\n\nvoid DrawShadowedText(int x, int y, Vec3 color, int align, const char* s, ...)\n{\n\tchar buf[2048];\n\n\tva_list args;\n\n\tva_start(args, s);\n\tvsnprintf(buf, 2048, s, args);\n\tva_end(args);\n\n\n\timguiDrawText(x + HELPERS_SHADOW_OFFSET, y - HELPERS_SHADOW_OFFSET, align, buf, imguiRGBA(0, 0, 0));\n\timguiDrawText(x, y, align, buf, imguiRGBA((unsigned char)(color.x * 255), (unsigned char)(color.y * 255), (unsigned char)(color.z * 255)));\n}\n\nvoid DrawRect(float x, float y, float w, float h, Vec3 color)\n{\n\timguiDrawRect(x, y, w, h, imguiRGBA((unsigned char)(color.x * 255), (unsigned char)(color.y * 255), (unsigned char)(color.z * 255)));\n}\n\nvoid DrawShadowedRect(float x, float y, float w, float h, Vec3 color)\n{\n\timguiDrawRect(x + HELPERS_SHADOW_OFFSET, y - HELPERS_SHADOW_OFFSET, w, h, imguiRGBA(0, 0, 0));\n\timguiDrawRect(x, y, w, h, imguiRGBA((unsigned char)(color.x * 255), (unsigned char)(color.y * 255), (unsigned char)(color.z * 255)));\n}\n\nvoid DrawLine(float x0, float y0, float x1, float y1, float r, Vec3 color)\n{\n\timguiDrawLine(x0, y0, x1, y1, r, imguiRGBA((unsigned char)(color.x * 255), (unsigned char)(color.y * 255), (unsigned char)(color.z * 255)));\n}\n\nvoid DrawShadowedLine(float x0, float y0, float x1, float y1, float r, Vec3 color)\n{\n\timguiDrawLine(x0 + HELPERS_SHADOW_OFFSET, y0 - HELPERS_SHADOW_OFFSET, x1 + HELPERS_SHADOW_OFFSET, y1 - HELPERS_SHADOW_OFFSET, r, imguiRGBA(0, 0, 0));\n\timguiDrawLine(x0, y0, x1, y1, r, imguiRGBA((unsigned char)(color.x * 255), (unsigned char)(color.y * 255), (unsigned char)(color.z * 255)));\n}\n\n// Soft body support functions\n\nVec3 CalculateMean(const Vec3* particles, const int* indices, int numIndices)\n{\n\tVec3 sum;\n\n\tfor (int i = 0; i < numIndices; ++i)\n\t\tsum += Vec3(particles[indices[i]]);\n\n\tif (numIndices)\n\t\treturn sum / float(numIndices);\n\telse\n\t\treturn sum;\n}\n\nfloat CalculateRadius(const Vec3* particles, Vec3 center, const int* indices, int numIndices)\n{\n\tfloat radiusSq = 0.0f;\n\n\tfor (int i = 0; i < numIndices; ++i)\n\t{\n\t\tfloat dSq = LengthSq(Vec3(particles[indices[i]]) - center);\n\t\tif (dSq > radiusSq)\n\t\t\tradiusSq = dSq;\n\t}\n\n\treturn sqrtf(radiusSq);\n}\n\nstruct Cluster\n{\n\tVec3 mean;\n\tfloat radius;\n\n\t// indices of particles belonging to this cluster\n\tstd::vector<int> indices;\n};\n\nstruct Seed\n{\n\tint index;\n\tfloat priority;\n\n\tbool operator < (const Seed& rhs) const\n\t{\n\t\treturn priority < rhs.priority;\n\t}\n};\n\nint CreateClusters(Vec3* particles, const float* priority, int numParticles, std::vector<int>& outClusterOffsets, std::vector<int>& outClusterIndices, std::vector<Vec3>& outClusterPositions, float radius, float smoothing = 0.0f)\n{\n\tstd::vector<Seed> seeds;\n\tstd::vector<Cluster> clusters;\n\n\t// flags a particle as belonging to at least one cluster\n\tstd::vector<bool> used(numParticles, false);\n\n\t// initialize seeds\n\tfor (int i = 0; i < numParticles; ++i)\n\t{\n\t\tSeed s;\n\t\ts.index = i;\n\t\ts.priority = priority[i];\n\n\t\tseeds.push_back(s);\n\t}\n\n\tstd::stable_sort(seeds.begin(), seeds.end());\n\n\twhile (seeds.size())\n\t{\n\t\t// pick highest unused particle from the seeds list\n\t\tSeed seed = seeds.back();\n\t\tseeds.pop_back();\n\n\t\tif (!used[seed.index])\n\t\t{\n\t\t\tCluster c;\n\n\t\t\tconst float radiusSq = sqr(radius);\n\n\t\t\t// push all neighbors within radius\n\t\t\tfor (int p = 0; p < numParticles; ++p)\n\t\t\t{\n\t\t\t\tfloat dSq = LengthSq(Vec3(particles[seed.index]) - Vec3(particles[p]));\n\t\t\t\tif (dSq <= radiusSq)\n\t\t\t\t{\n\t\t\t\t\tc.indices.push_back(p);\n\n\t\t\t\t\tused[p] = true;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tc.mean = CalculateMean(particles, &c.indices[0], c.indices.size());\n\n\t\t\tclusters.push_back(c);\n\t\t}\n\t}\n\n\tif (smoothing > 0.0f)\n\t{\n\t\t// expand clusters by smoothing radius\n\t\tfloat radiusSmoothSq = sqr(smoothing);\n\n\t\tfor (int i = 0; i < int(clusters.size()); ++i)\n\t\t{\n\t\t\tCluster& c = clusters[i];\n\n\t\t\t// clear cluster indices\n\t\t\tc.indices.resize(0);\n\n\t\t\t// push all neighbors within radius\n\t\t\tfor (int p = 0; p < numParticles; ++p)\n\t\t\t{\n\t\t\t\tfloat dSq = LengthSq(c.mean - Vec3(particles[p]));\n\t\t\t\tif (dSq <= radiusSmoothSq)\n\t\t\t\t\tc.indices.push_back(p);\n\t\t\t}\n\n\t\t\tc.mean = CalculateMean(particles, &c.indices[0], c.indices.size());\n\t\t}\n\t}\n\n\t// write out cluster indices\n\tint count = 0;\n\n\t//outClusterOffsets.push_back(0);\n\n\tfor (int c = 0; c < int(clusters.size()); ++c)\n\t{\n\t\tconst Cluster& cluster = clusters[c];\n\n\t\tconst int clusterSize = int(cluster.indices.size());\n\n\t\t// skip empty clusters\n\t\tif (clusterSize)\n\t\t{\n\t\t\t// write cluster indices\n\t\t\tfor (int i = 0; i < clusterSize; ++i)\n\t\t\t\toutClusterIndices.push_back(cluster.indices[i]);\n\n\t\t\t// write cluster offset\n\t\t\toutClusterOffsets.push_back(outClusterIndices.size());\n\n\t\t\t// write center\n\t\t\toutClusterPositions.push_back(cluster.mean);\n\n\t\t\t++count;\n\t\t}\n\t}\n\n\treturn count;\n}\n\n// creates distance constraints between particles within some distance\nint CreateLinks(const Vec3* particles, int numParticles, std::vector<int>& outSpringIndices, std::vector<float>& outSpringLengths, std::vector<float>& outSpringStiffness, float radius, float stiffness = 1.0f)\n{\n\tconst float radiusSq = sqr(radius);\n\n\tint count = 0;\n\n\tfor (int i = 0; i < numParticles; ++i)\n\t{\n\t\tfor (int j = i + 1; j < numParticles; ++j)\n\t\t{\n\t\t\tfloat dSq = LengthSq(Vec3(particles[i]) - Vec3(particles[j]));\n\n\t\t\tif (dSq < radiusSq)\n\t\t\t{\n\t\t\t\toutSpringIndices.push_back(i);\n\t\t\t\toutSpringIndices.push_back(j);\n\t\t\t\toutSpringLengths.push_back(sqrtf(dSq));\n\t\t\t\toutSpringStiffness.push_back(stiffness);\n\n\t\t\t\t++count;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn count;\n}\n\nvoid CreateSkinning(const Vec3* vertices, int numVertices, const Vec3* clusters, int numClusters, float* outWeights, int* outIndices, float falloff, float maxdist)\n{\n\tconst int maxBones = 4;\n\n\t// for each vertex, find the closest n clusters\n\tfor (int i = 0; i < numVertices; ++i)\n\t{\n\t\tint indices[4] = { -1, -1, -1, -1 };\n\t\tfloat distances[4] = { FLT_MAX, FLT_MAX, FLT_MAX, FLT_MAX };\n\t\tfloat weights[maxBones];\n\n\t\tfor (int c = 0; c < numClusters; ++c)\n\t\t{\n\t\t\tfloat dSq = LengthSq(vertices[i] - clusters[c]);\n\n\t\t\t// insertion sort\n\t\t\tint w = 0;\n\t\t\tfor (; w < maxBones; ++w)\n\t\t\t\tif (dSq < distances[w])\n\t\t\t\t\tbreak;\n\n\t\t\tif (w < maxBones)\n\t\t\t{\n\t\t\t\t// shuffle down\n\t\t\t\tfor (int s = maxBones - 1; s > w; --s)\n\t\t\t\t{\n\t\t\t\t\tindices[s] = indices[s - 1];\n\t\t\t\t\tdistances[s] = distances[s - 1];\n\t\t\t\t}\n\n\t\t\t\tdistances[w] = dSq;\n\t\t\t\tindices[w] = c;\n\t\t\t}\n\t\t}\n\n\t\t// weight particles according to distance\n\t\tfloat wSum = 0.0f;\n\n\t\tfor (int w = 0; w < maxBones; ++w)\n\t\t{\n\t\t\tif (distances[w] > sqr(maxdist))\n\t\t\t{\n\t\t\t\t// clamp bones over a given distance to zero\n\t\t\t\tweights[w] = 0.0f;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\t// weight falls off inversely with distance\n\t\t\t\tweights[w] = 1.0f / (powf(distances[w], falloff) + 0.0001f);\n\t\t\t}\n\n\t\t\twSum += weights[w];\n\t\t}\n\n\t\tif (wSum == 0.0f)\n\t\t{\n\t\t\t// if all weights are zero then just \n\t\t\t// rigidly skin to the closest bone\n\t\t\tweights[0] = 1.0f;\n\t\t}\n\t\telse\n\t\t{\n\t\t\t// normalize weights\n\t\t\tfor (int w = 0; w < maxBones; ++w)\n\t\t\t{\n\t\t\t\tweights[w] = weights[w] / wSum;\n\t\t\t}\n\t\t}\n\n\t\t// output\n\t\tfor (int j = 0; j < maxBones; ++j)\n\t\t{\n\t\t\toutWeights[i*maxBones + j] = weights[j];\n\t\t\toutIndices[i*maxBones + j] = indices[j];\n\t\t}\n\t}\n}\n\n\nvoid SampleMesh(Mesh* mesh, Vec3 lower, Vec3 scale, float rotation, float radius, float volumeSampling, float surfaceSampling, std::vector<Vec3>& outPositions)\n{\n\tif (!mesh)\n\t\treturn;\n\n\tmesh->Transform(RotationMatrix(rotation, Vec3(0.0f, 1.0f, 0.0f)));\n\n\tVec3 meshLower, meshUpper;\n\tmesh->GetBounds(meshLower, meshUpper);\n\n\tVec3 edges = meshUpper - meshLower;\n\tfloat maxEdge = max(max(edges.x, edges.y), edges.z);\n\n\t// put mesh at the origin and scale to specified size\n\tMatrix44 xform = ScaleMatrix(scale / maxEdge)*TranslationMatrix(Point3(-meshLower));\n\n\tmesh->Transform(xform);\n\tmesh->GetBounds(meshLower, meshUpper);\n\n\tstd::vector<Vec3> samples;\n\n\tif (volumeSampling > 0.0f)\n\t{\n\t\t// recompute expanded edges\n\t\tedges = meshUpper - meshLower;\n\t\tmaxEdge = max(max(edges.x, edges.y), edges.z);\n\n\t\t// use a higher resolution voxelization as a basis for the particle decomposition\n\t\tfloat spacing = radius / volumeSampling;\n\n\t\t// tweak spacing to avoid edge cases for particles laying on the boundary\n\t\t// just covers the case where an edge is a whole multiple of the spacing.\n\t\tfloat spacingEps = spacing*(1.0f - 1e-4f);\n\n\t\t// make sure to have at least one particle in each dimension\n\t\tint dx, dy, dz;\n\t\tdx = spacing > edges.x ? 1 : int(edges.x / spacingEps);\n\t\tdy = spacing > edges.y ? 1 : int(edges.y / spacingEps);\n\t\tdz = spacing > edges.z ? 1 : int(edges.z / spacingEps);\n\n\t\tint maxDim = max(max(dx, dy), dz);\n\n\t\t// expand border by two voxels to ensure adequate sampling at edges\n\t\tmeshLower -= 2.0f*Vec3(spacing);\n\t\tmeshUpper += 2.0f*Vec3(spacing);\n\t\tmaxDim += 4;\n\n\t\tvector<uint32_t> voxels(maxDim*maxDim*maxDim);\n\n\t\t// we shift the voxelization bounds so that the voxel centers\n\t\t// lie symmetrically to the center of the object. this reduces the \n\t\t// chance of missing features, and also better aligns the particles\n\t\t// with the mesh\n\t\tVec3 meshOffset;\n\t\tmeshOffset.x = 0.5f * (spacing - (edges.x - (dx - 1)*spacing));\n\t\tmeshOffset.y = 0.5f * (spacing - (edges.y - (dy - 1)*spacing));\n\t\tmeshOffset.z = 0.5f * (spacing - (edges.z - (dz - 1)*spacing));\n\t\tmeshLower -= meshOffset;\n\n\t\t//Voxelize(*mesh, dx, dy, dz, &voxels[0], meshLower - Vec3(spacing*0.05f) , meshLower + Vec3(maxDim*spacing) + Vec3(spacing*0.05f));\n\t\tVoxelize((const Vec3*)&mesh->m_positions[0], mesh->m_positions.size(), (const int*)&mesh->m_indices[0], mesh->m_indices.size(), maxDim, maxDim, maxDim, &voxels[0], meshLower, meshLower + Vec3(maxDim*spacing));\n\n\t\t// sample interior\n\t\tfor (int x = 0; x < maxDim; ++x)\n\t\t{\n\t\t\tfor (int y = 0; y < maxDim; ++y)\n\t\t\t{\n\t\t\t\tfor (int z = 0; z < maxDim; ++z)\n\t\t\t\t{\n\t\t\t\t\tconst int index = z*maxDim*maxDim + y*maxDim + x;\n\n\t\t\t\t\t// if voxel is marked as occupied the add a particle\n\t\t\t\t\tif (voxels[index])\n\t\t\t\t\t{\n\t\t\t\t\t\tVec3 position = lower + meshLower + spacing*Vec3(float(x) + 0.5f, float(y) + 0.5f, float(z) + 0.5f);\n\n\t\t\t\t\t\t// normalize the sdf value and transform to world scale\n\t\t\t\t\t\tsamples.push_back(position);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// move back\n\tmesh->Transform(ScaleMatrix(1.0f)*TranslationMatrix(Point3(-0.5f*(meshUpper + meshLower))));\n\tmesh->Transform(TranslationMatrix(Point3(lower + 0.5f*(meshUpper + meshLower))));\n\n\tif (surfaceSampling > 0.0f)\n\t{\n\t\t// sample vertices\n\t\tfor (int i = 0; i < int(mesh->m_positions.size()); ++i)\n\t\t\tsamples.push_back(Vec3(mesh->m_positions[i]));\n\n\t\t// random surface sampling\n\t\tif (1)\n\t\t{\n\t\t\tfor (int i = 0; i < 50000; ++i)\n\t\t\t{\n\t\t\t\tint t = Rand() % mesh->GetNumFaces();\n\t\t\t\tfloat u = Randf();\n\t\t\t\tfloat v = Randf()*(1.0f - u);\n\t\t\t\tfloat w = 1.0f - u - v;\n\n\t\t\t\tint a = mesh->m_indices[t * 3 + 0];\n\t\t\t\tint b = mesh->m_indices[t * 3 + 1];\n\t\t\t\tint c = mesh->m_indices[t * 3 + 2];\n\t\t\t\t\n\t\t\t\tPoint3 pt = mesh->m_positions[a] * u + mesh->m_positions[b] * v + mesh->m_positions[c] * w;\n\t\t\t\tVec3 p(pt.x,pt.y,pt.z);\n\n\t\t\t\tsamples.push_back(p);\n\t\t\t}\n\t\t}\n\t}\n\n\tstd::vector<int> clusterIndices;\n\tstd::vector<int> clusterOffsets;\n\tstd::vector<Vec3> clusterPositions;\n\tstd::vector<float> priority(samples.size());\n\n\tCreateClusters(&samples[0], &priority[0], samples.size(), clusterOffsets, clusterIndices, outPositions, radius);\n\n}\n\nvoid ClearShapes()\n{\n\tg_buffers->shapeGeometry.resize(0);\n\tg_buffers->shapePositions.resize(0);\n\tg_buffers->shapeRotations.resize(0);\n\tg_buffers->shapePrevPositions.resize(0);\n\tg_buffers->shapePrevRotations.resize(0);\n\tg_buffers->shapeFlags.resize(0);\n}\n\nvoid UpdateShapes()\n{\t\n\t// mark shapes as dirty so they are sent to flex during the next update\n\tg_shapesChanged = true;\n}\n\n// calculates the union bounds of all the collision shapes in the scene\nvoid GetShapeBounds(Vec3& totalLower, Vec3& totalUpper)\n{\n\tBounds totalBounds;\n\n\tfor (int i=0; i < g_buffers->shapeFlags.size(); ++i)\n\t{\n\t\tNvFlexCollisionGeometry geo = g_buffers->shapeGeometry[i];\n\n\t\tint type = g_buffers->shapeFlags[i]&eNvFlexShapeFlagTypeMask;\n\n\t\tVec3 localLower;\n\t\tVec3 localUpper;\n\n\t\tswitch(type)\n\t\t{\n\t\t\tcase eNvFlexShapeBox:\n\t\t\t{\n\t\t\t\tlocalLower = -Vec3(geo.box.halfExtents);\n\t\t\t\tlocalUpper = Vec3(geo.box.halfExtents);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase eNvFlexShapeSphere:\n\t\t\t{\n\t\t\t\tlocalLower = -geo.sphere.radius;\n\t\t\t\tlocalUpper = geo.sphere.radius;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase eNvFlexShapeCapsule:\n\t\t\t{\n\t\t\t\tlocalLower = -Vec3(geo.capsule.halfHeight, 0.0f, 0.0f) - Vec3(geo.capsule.radius);\n\t\t\t\tlocalUpper = Vec3(geo.capsule.halfHeight, 0.0f, 0.0f) + Vec3(geo.capsule.radius);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase eNvFlexShapeConvexMesh:\n\t\t\t{\n\t\t\t\tNvFlexGetConvexMeshBounds(g_flexLib, geo.convexMesh.mesh, localLower, localUpper);\n\n\t\t\t\t// apply instance scaling\n\t\t\t\tlocalLower *= geo.convexMesh.scale;\n\t\t\t\tlocalUpper *= geo.convexMesh.scale;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase eNvFlexShapeTriangleMesh:\n\t\t\t{\n\t\t\t\tNvFlexGetTriangleMeshBounds(g_flexLib, geo.triMesh.mesh, localLower, localUpper);\n\t\t\t\t\n\t\t\t\t// apply instance scaling\n\t\t\t\tlocalLower *= Vec3(geo.triMesh.scale);\n\t\t\t\tlocalUpper *= Vec3(geo.triMesh.scale);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase eNvFlexShapeSDF:\n\t\t\t{\n\t\t\t\tlocalLower = 0.0f;\n\t\t\t\tlocalUpper = geo.sdf.scale;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t};\n\n\t\t// transform local bounds to world space\n\t\tVec3 worldLower, worldUpper;\n\t\tTransformBounds(localLower, localUpper, Vec3(g_buffers->shapePositions[i]), g_buffers->shapeRotations[i], 1.0f, worldLower, worldUpper);\n\n\t\ttotalBounds = Union(totalBounds, Bounds(worldLower, worldUpper));\n\t}\n\n\ttotalLower = totalBounds.lower;\n\ttotalUpper = totalBounds.upper;\n}"
  },
  {
    "path": "demo/imgui.cpp",
    "content": "//\n// Copyright (c) 2009-2010 Mikko Mononen memon@inside.org\n//\n// This software is provided 'as-is', without any express or implied\n// warranty.  In no event will the authors be held liable for any damages\n// arising from the use of this software.\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n// 1. The origin of this software must not be misrepresented; you must not\n//    claim that you wrote the original software. If you use this software\n//    in a product, an acknowledgment in the product documentation would be\n//    appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n//    misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n//\n\n#include <stdio.h>\n#include <string.h>\n#define _USE_MATH_DEFINES\n#include <math.h>\n#include \"imgui.h\"\n\n#ifdef WIN32\n#\tdefine snprintf _snprintf\n#endif\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\nstatic const unsigned TEXT_POOL_SIZE = 8000;\nstatic char g_textPool[TEXT_POOL_SIZE];\nstatic unsigned g_textPoolSize = 0;\nstatic const char* allocText(const char* text)\n{\n\tint len = (int)(strlen(text) + 1);\n\tif (g_textPoolSize + len >= TEXT_POOL_SIZE)\n\t\treturn 0;\n\tchar* dst = &g_textPool[g_textPoolSize];\n\tmemcpy(dst, text, len);\n\tg_textPoolSize += len;\n\treturn dst;\n}\n\nstatic const unsigned GFXCMD_QUEUE_SIZE = 5000;\nstatic imguiGfxCmd g_gfxCmdQueue[GFXCMD_QUEUE_SIZE];\nstatic unsigned g_gfxCmdQueueSize = 0;\n\nstatic void resetGfxCmdQueue()\n{\n\tg_gfxCmdQueueSize = 0;\n\tg_textPoolSize = 0;\n}\n\nstatic void addGfxCmdScissor(int x, int y, int w, int h)\n{\n\tif (g_gfxCmdQueueSize >= GFXCMD_QUEUE_SIZE)\n\t\treturn;\n\timguiGfxCmd& cmd = g_gfxCmdQueue[g_gfxCmdQueueSize++];\n\tcmd.type = IMGUI_GFXCMD_SCISSOR;\n\tcmd.flags = x < 0 ? 0 : 1;\t// on/off flag.\n\tcmd.col = 0;\n\tcmd.rect.x = (short)x;\n\tcmd.rect.y = (short)y;\n\tcmd.rect.w = (short)w;\n\tcmd.rect.h = (short)h;\n}\n\nstatic void addGfxCmdRect(float x, float y, float w, float h, unsigned int color)\n{\n\tif (g_gfxCmdQueueSize >= GFXCMD_QUEUE_SIZE)\n\t\treturn;\n\timguiGfxCmd& cmd = g_gfxCmdQueue[g_gfxCmdQueueSize++];\n\tcmd.type = IMGUI_GFXCMD_RECT;\n\tcmd.flags = 0;\n\tcmd.col = color;\n\tcmd.rect.x = (short)(x*8.0f);\n\tcmd.rect.y = (short)(y*8.0f);\n\tcmd.rect.w = (short)(w*8.0f);\n\tcmd.rect.h = (short)(h*8.0f);\n\tcmd.rect.r = 0;\n}\n\nstatic void addGfxCmdLine(float x0, float y0, float x1, float y1, float r, unsigned int color)\n{\n\tif (g_gfxCmdQueueSize >= GFXCMD_QUEUE_SIZE)\n\t\treturn;\n\timguiGfxCmd& cmd = g_gfxCmdQueue[g_gfxCmdQueueSize++];\n\tcmd.type = IMGUI_GFXCMD_LINE;\n\tcmd.flags = 0;\n\tcmd.col = color;\n\tcmd.line.x0 = (short)(x0*8.0f);\n\tcmd.line.y0 = (short)(y0*8.0f);\n\tcmd.line.x1 = (short)(x1*8.0f);\n\tcmd.line.y1 = (short)(y1*8.0f);\n\tcmd.line.r = (short)(r*8.0f);\n}\n\nstatic void addGfxCmdRoundedRect(float x, float y, float w, float h, float r, unsigned int color)\n{\n\tif (g_gfxCmdQueueSize >= GFXCMD_QUEUE_SIZE)\n\t\treturn;\n\timguiGfxCmd& cmd = g_gfxCmdQueue[g_gfxCmdQueueSize++];\n\tcmd.type = IMGUI_GFXCMD_RECT;\n\tcmd.flags = 0;\n\tcmd.col = color;\n\tcmd.rect.x = (short)(x*8.0f);\n\tcmd.rect.y = (short)(y*8.0f);\n\tcmd.rect.w = (short)(w*8.0f);\n\tcmd.rect.h = (short)(h*8.0f);\n\tcmd.rect.r = (short)(r*8.0f);\n}\n\nstatic void addGfxCmdTriangle(int x, int y, int w, int h, int flags, unsigned int color)\n{\n\tif (g_gfxCmdQueueSize >= GFXCMD_QUEUE_SIZE)\n\t\treturn;\n\timguiGfxCmd& cmd = g_gfxCmdQueue[g_gfxCmdQueueSize++];\n\tcmd.type = IMGUI_GFXCMD_TRIANGLE;\n\tcmd.flags = (char)flags;\n\tcmd.col = color;\n\tcmd.rect.x = (short)(x*8.0f);\n\tcmd.rect.y = (short)(y*8.0f);\n\tcmd.rect.w = (short)(w*8.0f);\n\tcmd.rect.h = (short)(h*8.0f);\n}\n\nstatic void addGfxCmdText(int x, int y, int align, const char* text, unsigned int color)\n{\n\tif (g_gfxCmdQueueSize >= GFXCMD_QUEUE_SIZE)\n\t\treturn;\n\timguiGfxCmd& cmd = g_gfxCmdQueue[g_gfxCmdQueueSize++];\n\tcmd.type = IMGUI_GFXCMD_TEXT;\n\tcmd.flags = 0;\n\tcmd.col = color;\n\tcmd.text.x = (short)x;\n\tcmd.text.y = (short)y;\n\tcmd.text.align = (short)align;\n\tcmd.text.text = allocText(text);\n}\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\nstruct GuiState\n{\n\tGuiState() :\n\t\tleft(false), leftPressed(false), leftReleased(false),\n\t\tmx(-1), my(-1), scroll(0),\n\t\tactive(0), hot(0), hotToBe(0), isHot(false), isActive(false), wentActive(false),\n\t\tdragX(0), dragY(0), dragOrig(0), widgetX(0), widgetY(0), widgetW(100),\n\t\tinsideCurrentScroll(false), areaId(0), widgetId(0)\n\t{\n\t}\n\n\tbool left;\n\tbool leftPressed, leftReleased;\n\tint mx, my;\n\tint scroll;\n\tunsigned int active;\n\tunsigned int hot;\n\tunsigned int hotToBe;\n\tbool isHot;\n\tbool isActive;\n\tbool wentActive;\n\tint dragX, dragY;\n\tfloat dragOrig;\n\tint widgetX, widgetY, widgetW;\n\tbool insideCurrentScroll;\n\n\tunsigned int areaId;\n\tunsigned int widgetId;\n};\n\nstatic GuiState g_state;\n\n// Begin Add Android Support\n#ifdef ANDROID\nvoid setStateLeft(bool bLeftDown)\n{\n\tg_state.left = bLeftDown;\n}\n#endif\n// End Add Android Support\n\ninline bool anyActive()\n{\n\treturn g_state.active != 0;\n}\n\ninline bool isActive(unsigned int id)\n{\n\treturn g_state.active == id;\n}\n\ninline bool isHot(unsigned int id)\n{\n\treturn g_state.hot == id;\n}\n\ninline bool inRect(int x, int y, int w, int h, bool checkScroll = true)\n{\n\treturn (!checkScroll || g_state.insideCurrentScroll) && g_state.mx >= x && g_state.mx <= x + w && g_state.my >= y && g_state.my <= y + h;\n}\n\ninline void clearInput()\n{\n\tg_state.leftPressed = false;\n\tg_state.leftReleased = false;\n\tg_state.scroll = 0;\n}\n\ninline void clearActive()\n{\n\tg_state.active = 0;\n\t// mark all UI for this frame as processed\n\tclearInput();\n}\n\ninline void setActive(unsigned int id)\n{\n\tg_state.active = id;\n\tg_state.wentActive = true;\n}\n\ninline void setHot(unsigned int id)\n{\n\tg_state.hotToBe = id;\n\t// Begin Add Android Support\n#ifdef ANDROID\n\tg_state.hot = id;\n#endif\n\t// End Add Android Support\n}\n\n\nstatic bool buttonLogic(unsigned int id, bool over)\n{\n\tbool res = false;\n\t// process down\n\tif (!anyActive())\n\t{\n\t\tif (over)\n\t\t\tsetHot(id);\n\t\t// Begin Add Android Support\n#ifdef ANDROID\n\t\tif (isHot(id) && g_state.leftPressed && over)\n\t\t\tsetActive(id);\n#else\n\t\tif (isHot(id) && g_state.leftPressed)\n\t\t\tsetActive(id);\n#endif\n\t\t// End Add Android Support\n\t}\n\n\t// if button is active, then react on left up\n\tif (isActive(id))\n\t{\n\t\tg_state.isActive = true;\n\t\tif (over)\n\t\t\tsetHot(id);\n\t\tif (g_state.leftReleased)\n\t\t{\n\t\t\tif (isHot(id))\n\t\t\t\tres = true;\n\t\t\tclearActive();\n\t\t}\n\t}\n\n\tif (isHot(id))\n\t\tg_state.isHot = true;\n\n\treturn res;\n}\n\nstatic void updateInput(int mx, int my, unsigned char mbut, int scroll)\n{\n\tbool left = (mbut & IMGUI_MBUT_LEFT) != 0;\n\n\tg_state.mx = mx;\n\tg_state.my = my;\n\tg_state.leftPressed = !g_state.left && left;\n\tg_state.leftReleased = g_state.left && !left;\n\tg_state.left = left;\n\n\tg_state.scroll = scroll;\n}\n\nvoid imguiBeginFrame(int mx, int my, unsigned char mbut, int scroll)\n{\n\tupdateInput(mx, my, mbut, scroll);\n\n\tg_state.hot = g_state.hotToBe;\n\tg_state.hotToBe = 0;\n\n\tg_state.wentActive = false;\n\tg_state.isActive = false;\n\tg_state.isHot = false;\n\n\tg_state.widgetX = 0;\n\tg_state.widgetY = 0;\n\tg_state.widgetW = 0;\n\n\tg_state.areaId = 1;\n\tg_state.widgetId = 1;\n\n\tresetGfxCmdQueue();\n}\n\nvoid imguiEndFrame()\n{\n\tclearInput();\n}\n\nconst imguiGfxCmd* imguiGetRenderQueue()\n{\n\treturn g_gfxCmdQueue;\n}\n\nint imguiGetRenderQueueSize()\n{\n\treturn g_gfxCmdQueueSize;\n}\n\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\nstatic const int BUTTON_HEIGHT = 20;\nstatic const int SLIDER_HEIGHT = 20;\nstatic const int SLIDER_MARKER_WIDTH = 10;\nstatic const int CHECK_SIZE = 8;\nstatic const int DEFAULT_SPACING = 4;\nstatic const int TEXT_HEIGHT = 8;\nstatic const int SCROLL_AREA_PADDING = 6;\nstatic const int INDENT_SIZE = 16;\nstatic const int AREA_HEADER = 28;\n\nstatic int g_scrollTop = 0;\nstatic int g_scrollBottom = 0;\nstatic int g_scrollRight = 0;\nstatic int g_scrollAreaTop = 0;\nstatic int* g_scrollVal = 0;\nstatic int g_focusTop = 0;\nstatic int g_focusBottom = 0;\nstatic unsigned int g_scrollId = 0;\nstatic bool g_insideScrollArea = false;\n\nbool imguiBeginScrollArea(const char* name, int x, int y, int w, int h, int* scroll)\n{\n\tg_state.areaId++;\n\tg_state.widgetId = 0;\n\tg_scrollId = (g_state.areaId << 16) | g_state.widgetId;\n\n\tg_state.widgetX = x + SCROLL_AREA_PADDING;\n\tg_state.widgetY = y + h - AREA_HEADER + (*scroll);\n\tg_state.widgetW = w - SCROLL_AREA_PADDING * 4;\n\tg_scrollTop = y - AREA_HEADER + h;\n\tg_scrollBottom = y + SCROLL_AREA_PADDING;\n\tg_scrollRight = x + w - SCROLL_AREA_PADDING * 3;\n\tg_scrollVal = scroll;\n\n\tg_scrollAreaTop = g_state.widgetY;\n\n\tg_focusTop = y - AREA_HEADER;\n\tg_focusBottom = y - AREA_HEADER + h;\n\n\tg_insideScrollArea = inRect(x, y, w, h, false);\n\tg_state.insideCurrentScroll = g_insideScrollArea;\n\n\taddGfxCmdRoundedRect((float)x, (float)y, (float)w, (float)h, 6, imguiRGBA(0, 0, 0, 192));\n\n\taddGfxCmdText(x + AREA_HEADER / 2, y + h - AREA_HEADER / 2 - TEXT_HEIGHT / 2, IMGUI_ALIGN_LEFT, name, imguiRGBA(255, 255, 255, 128));\n\n\taddGfxCmdScissor(x + SCROLL_AREA_PADDING, y + SCROLL_AREA_PADDING, w - SCROLL_AREA_PADDING * 4, h - AREA_HEADER - SCROLL_AREA_PADDING);\n\n\treturn g_insideScrollArea;\n}\n\nvoid imguiEndScrollArea()\n{\n\t// Disable scissoring.\n\taddGfxCmdScissor(-1, -1, -1, -1);\n\n\t// Draw scroll bar\n\tint x = g_scrollRight + SCROLL_AREA_PADDING / 2;\n\tint y = g_scrollBottom;\n\tint w = SCROLL_AREA_PADDING * 2;\n\tint h = g_scrollTop - g_scrollBottom;\n\n\tint stop = g_scrollAreaTop;\n\tint sbot = g_state.widgetY;\n\tint sh = stop - sbot; // The scrollable area height.\n\n\tfloat barHeight = (float)h / (float)sh;\n\n\tif (barHeight < 1)\n\t{\n\t\tfloat barY = (float)(y - sbot) / (float)sh;\n\t\tif (barY < 0) barY = 0;\n\t\tif (barY > 1) barY = 1;\n\n\t\t// Handle scroll bar logic.\n\t\tunsigned int hid = g_scrollId;\n\t\tint hx = x;\n\t\tint hy = y + (int)(barY*h);\n\t\tint hw = w;\n\t\tint hh = (int)(barHeight*h);\n\n\t\tconst int range = h - (hh - 1);\n\t\tbool over = inRect(hx, hy, hw, hh);\n\t\tbuttonLogic(hid, over);\n\t\tif (isActive(hid))\n\t\t{\n\t\t\tfloat u = (float)(hy - y) / (float)range;\n\t\t\tif (g_state.wentActive)\n\t\t\t{\n\t\t\t\tg_state.dragY = g_state.my;\n\t\t\t\tg_state.dragOrig = u;\n\t\t\t}\n\t\t\tif (g_state.dragY != g_state.my)\n\t\t\t{\n\t\t\t\tu = g_state.dragOrig + (g_state.my - g_state.dragY) / (float)range;\n\t\t\t\tif (u < 0) u = 0;\n\t\t\t\tif (u > 1) u = 1;\n\t\t\t\t*g_scrollVal = (int)((1 - u) * (sh - h));\n\t\t\t}\n\t\t}\n\n\t\t// BG\n\t\taddGfxCmdRoundedRect((float)x, (float)y, (float)w, (float)h, (float)w / 2 - 1, imguiRGBA(0, 0, 0, 196));\n\t\t// Bar\n\t\tif (isActive(hid))\n\t\t\taddGfxCmdRoundedRect((float)hx, (float)hy, (float)hw, (float)hh, (float)w / 2 - 1, imguiRGBA(255, 196, 0, 196));\n\t\telse\n\t\t\taddGfxCmdRoundedRect((float)hx, (float)hy, (float)hw, (float)hh, (float)w / 2 - 1, isHot(hid) ? imguiRGBA(255, 196, 0, 96) : imguiRGBA(255, 255, 255, 64));\n\n\t\t// Handle mouse scrolling.\n\t\tif (g_insideScrollArea) // && !anyActive())\n\t\t{\n\t\t\tif (g_state.scroll)\n\t\t\t{\n\t\t\t\t*g_scrollVal += 20 * g_state.scroll;\n\t\t\t\tif (*g_scrollVal < 0) *g_scrollVal = 0;\n\t\t\t\tif (*g_scrollVal >(sh - h)) *g_scrollVal = (sh - h);\n\t\t\t}\n\t\t}\n\t}\n\tg_state.insideCurrentScroll = false;\n}\n\nbool imguiButton(const char* text, bool enabled)\n{\n\tg_state.widgetId++;\n\tunsigned int id = (g_state.areaId << 16) | g_state.widgetId;\n\n\tint x = g_state.widgetX;\n\tint y = g_state.widgetY - BUTTON_HEIGHT;\n\tint w = g_state.widgetW;\n\tint h = BUTTON_HEIGHT;\n\tg_state.widgetY -= BUTTON_HEIGHT + DEFAULT_SPACING;\n\n\tbool over = enabled && inRect(x, y, w, h);\n\tbool res = buttonLogic(id, over);\n\n\taddGfxCmdRoundedRect((float)x, (float)y, (float)w, (float)h, (float)BUTTON_HEIGHT / 2 - 1, imguiRGBA(128, 128, 128, isActive(id) ? 196 : 96));\n\tif (enabled)\n\t\taddGfxCmdText(x + BUTTON_HEIGHT / 2, y + BUTTON_HEIGHT / 2 - TEXT_HEIGHT / 2, IMGUI_ALIGN_LEFT, text, isHot(id) ? imguiRGBA(255, 196, 0, 255) : imguiRGBA(255, 255, 255, 200));\n\telse\n\t\taddGfxCmdText(x + BUTTON_HEIGHT / 2, y + BUTTON_HEIGHT / 2 - TEXT_HEIGHT / 2, IMGUI_ALIGN_LEFT, text, imguiRGBA(128, 128, 128, 200));\n\n\treturn res;\n}\n\nbool imguiItem(const char* text, bool enabled, unsigned int color)\n{\n\tg_state.widgetId++;\n\tunsigned int id = (g_state.areaId << 16) | g_state.widgetId;\n\n\tint x = g_state.widgetX;\n\tint y = g_state.widgetY - BUTTON_HEIGHT;\n\tint w = g_state.widgetW;\n\tint h = BUTTON_HEIGHT;\n\tg_state.widgetY -= BUTTON_HEIGHT + DEFAULT_SPACING;\n\n\tbool over = enabled && inRect(x, y, w, h);\n\tbool res = buttonLogic(id, over);\n\n\tif (isHot(id))\n\t\taddGfxCmdRoundedRect((float)x, (float)y, (float)w, (float)h, 2.0f, imguiRGBA(255, 196, 0, isActive(id) ? 196 : 96));\n\n\tif (enabled)\n\t\taddGfxCmdText(x + BUTTON_HEIGHT / 2, y + BUTTON_HEIGHT / 2 - TEXT_HEIGHT / 2, IMGUI_ALIGN_LEFT, text, color);\n\telse\n\t\taddGfxCmdText(x + BUTTON_HEIGHT / 2, y + BUTTON_HEIGHT / 2 - TEXT_HEIGHT / 2, IMGUI_ALIGN_LEFT, text, color);\n\n\treturn res;\n}\n\nbool imguiCheck(const char* text, bool checked, bool enabled)\n{\n\tg_state.widgetId++;\n\tunsigned int id = (g_state.areaId << 16) | g_state.widgetId;\n\n\tint x = g_state.widgetX;\n\tint y = g_state.widgetY - BUTTON_HEIGHT;\n\tint w = g_state.widgetW;\n\tint h = BUTTON_HEIGHT;\n\tg_state.widgetY -= BUTTON_HEIGHT + DEFAULT_SPACING;\n\n\tbool over = enabled && inRect(x, y, w, h);\n\tbool res = buttonLogic(id, over);\n\n\tconst int cx = x + BUTTON_HEIGHT / 2 - CHECK_SIZE / 2;\n\tconst int cy = y + BUTTON_HEIGHT / 2 - CHECK_SIZE / 2;\n\taddGfxCmdRoundedRect((float)cx - 3, (float)cy - 3, (float)CHECK_SIZE + 6, (float)CHECK_SIZE + 6, 4, imguiRGBA(128, 128, 128, isActive(id) ? 196 : 96));\n\tif (checked)\n\t{\n\t\tif (enabled)\n\t\t\taddGfxCmdRoundedRect((float)cx, (float)cy, (float)CHECK_SIZE, (float)CHECK_SIZE, (float)CHECK_SIZE / 2 - 1, imguiRGBA(255, 255, 255, isActive(id) ? 255 : 200));\n\t\telse\n\t\t\taddGfxCmdRoundedRect((float)cx, (float)cy, (float)CHECK_SIZE, (float)CHECK_SIZE, (float)CHECK_SIZE / 2 - 1, imguiRGBA(128, 128, 128, 200));\n\t}\n\n\tif (enabled)\n\t\taddGfxCmdText(x + BUTTON_HEIGHT, y + BUTTON_HEIGHT / 2 - TEXT_HEIGHT / 2, IMGUI_ALIGN_LEFT, text, isHot(id) ? imguiRGBA(255, 196, 0, 255) : imguiRGBA(255, 255, 255, 200));\n\telse\n\t\taddGfxCmdText(x + BUTTON_HEIGHT, y + BUTTON_HEIGHT / 2 - TEXT_HEIGHT / 2, IMGUI_ALIGN_LEFT, text, imguiRGBA(128, 128, 128, 200));\n\n\treturn res;\n}\n\nbool imguiCollapse(const char* text, const char* subtext, bool checked, bool enabled)\n{\n\tg_state.widgetId++;\n\tunsigned int id = (g_state.areaId << 16) | g_state.widgetId;\n\n\tint x = g_state.widgetX;\n\tint y = g_state.widgetY - BUTTON_HEIGHT;\n\tint w = g_state.widgetW;\n\tint h = BUTTON_HEIGHT;\n\tg_state.widgetY -= BUTTON_HEIGHT; // + DEFAULT_SPACING;\n\n\tconst int cx = x + BUTTON_HEIGHT / 2 - CHECK_SIZE / 2;\n\tconst int cy = y + BUTTON_HEIGHT / 2 - CHECK_SIZE / 2;\n\n\tbool over = enabled && inRect(x, y, w, h);\n\tbool res = buttonLogic(id, over);\n\n\tif (checked)\n\t\taddGfxCmdTriangle(cx, cy, CHECK_SIZE, CHECK_SIZE, 2, imguiRGBA(255, 255, 255, isActive(id) ? 255 : 200));\n\telse\n\t\taddGfxCmdTriangle(cx, cy, CHECK_SIZE, CHECK_SIZE, 1, imguiRGBA(255, 255, 255, isActive(id) ? 255 : 200));\n\n\tif (enabled)\n\t\taddGfxCmdText(x + BUTTON_HEIGHT, y + BUTTON_HEIGHT / 2 - TEXT_HEIGHT / 2, IMGUI_ALIGN_LEFT, text, isHot(id) ? imguiRGBA(255, 196, 0, 255) : imguiRGBA(255, 255, 255, 200));\n\telse\n\t\taddGfxCmdText(x + BUTTON_HEIGHT, y + BUTTON_HEIGHT / 2 - TEXT_HEIGHT / 2, IMGUI_ALIGN_LEFT, text, imguiRGBA(128, 128, 128, 200));\n\n\tif (subtext)\n\t\taddGfxCmdText(x + w - BUTTON_HEIGHT / 2, y + BUTTON_HEIGHT / 2 - TEXT_HEIGHT / 2, IMGUI_ALIGN_RIGHT, subtext, imguiRGBA(255, 255, 255, 128));\n\n\treturn res;\n}\n\nvoid imguiLabel(const char* text)\n{\n\tint x = g_state.widgetX;\n\tint y = g_state.widgetY - BUTTON_HEIGHT;\n\tg_state.widgetY -= BUTTON_HEIGHT;\n\taddGfxCmdText(x, y + BUTTON_HEIGHT / 2 - TEXT_HEIGHT / 2, IMGUI_ALIGN_LEFT, text, imguiRGBA(255, 255, 255, 255));\n}\n\nvoid imguiValue(const char* text)\n{\n\tconst int x = g_state.widgetX;\n\tconst int y = g_state.widgetY - BUTTON_HEIGHT;\n\tconst int w = g_state.widgetW;\n\tg_state.widgetY -= BUTTON_HEIGHT;\n\n\taddGfxCmdText(x + w - BUTTON_HEIGHT / 2, y + BUTTON_HEIGHT / 2 - TEXT_HEIGHT / 2, IMGUI_ALIGN_RIGHT, text, imguiRGBA(255, 255, 255, 200));\n}\n\nbool imguiSlider(const char* text, float* val, float vmin, float vmax, float vinc, bool enabled)\n{\n\tg_state.widgetId++;\n\tunsigned int id = (g_state.areaId << 16) | g_state.widgetId;\n\n\tint x = g_state.widgetX;\n\tint y = g_state.widgetY - BUTTON_HEIGHT;\n\tint w = g_state.widgetW;\n\tint h = SLIDER_HEIGHT;\n\tg_state.widgetY -= SLIDER_HEIGHT + DEFAULT_SPACING;\n\n\taddGfxCmdRoundedRect((float)x, (float)y, (float)w, (float)h, 4.0f, imguiRGBA(0, 0, 0, 128));\n\n\tconst int range = w - SLIDER_MARKER_WIDTH;\n\n\tfloat u = (*val - vmin) / (vmax - vmin);\n\tif (u < 0) u = 0;\n\tif (u > 1) u = 1;\n\tint m = (int)(u * range);\n\n\tbool over = enabled && inRect(x + m, y, SLIDER_MARKER_WIDTH, SLIDER_HEIGHT);\n\tbool res = buttonLogic(id, over);\n\tbool valChanged = false;\n\n\tif (isActive(id))\n\t{\n\t\tif (g_state.wentActive)\n\t\t{\n\t\t\tg_state.dragX = g_state.mx;\n\t\t\tg_state.dragOrig = u;\n\t\t}\n\t\tif (g_state.dragX != g_state.mx)\n\t\t{\n\t\t\tu = g_state.dragOrig + (float)(g_state.mx - g_state.dragX) / (float)range;\n\t\t\tif (u < 0) u = 0;\n\t\t\tif (u > 1) u = 1;\n\t\t\t*val = vmin + u*(vmax - vmin);\n\t\t\t*val = floorf(*val / vinc + 0.5f)*vinc; // Snap to vinc\n\t\t\tm = (int)(u * range);\n\t\t\tvalChanged = true;\n\t\t}\n\t}\n\n\tif (isActive(id))\n\t\taddGfxCmdRoundedRect((float)(x + m), (float)y, (float)SLIDER_MARKER_WIDTH, (float)SLIDER_HEIGHT, 4.0f, imguiRGBA(255, 255, 255, 255));\n\telse\n\t\taddGfxCmdRoundedRect((float)(x + m), (float)y, (float)SLIDER_MARKER_WIDTH, (float)SLIDER_HEIGHT, 4.0f, isHot(id) ? imguiRGBA(255, 196, 0, 128) : imguiRGBA(255, 255, 255, 64));\n\n\t// TODO: fix this, take a look at 'nicenum'.\n\tint digits = (int)(ceilf(log10f(vinc)));\n\tchar fmt[16];\n\tsnprintf(fmt, 16, \"%%.%df\", digits >= 0 ? 0 : -digits);\n\tchar msg[128];\n\tsnprintf(msg, 128, fmt, *val);\n\n\tif (enabled)\n\t{\n\t\taddGfxCmdText(x + SLIDER_HEIGHT / 2, y + SLIDER_HEIGHT / 2 - TEXT_HEIGHT / 2, IMGUI_ALIGN_LEFT, text, isHot(id) ? imguiRGBA(255, 196, 0, 255) : imguiRGBA(255, 255, 255, 200));\n\t\taddGfxCmdText(x + w - SLIDER_HEIGHT / 2, y + SLIDER_HEIGHT / 2 - TEXT_HEIGHT / 2, IMGUI_ALIGN_RIGHT, msg, isHot(id) ? imguiRGBA(255, 196, 0, 255) : imguiRGBA(255, 255, 255, 200));\n\t}\n\telse\n\t{\n\t\taddGfxCmdText(x + SLIDER_HEIGHT / 2, y + SLIDER_HEIGHT / 2 - TEXT_HEIGHT / 2, IMGUI_ALIGN_LEFT, text, imguiRGBA(128, 128, 128, 200));\n\t\taddGfxCmdText(x + w - SLIDER_HEIGHT / 2, y + SLIDER_HEIGHT / 2 - TEXT_HEIGHT / 2, IMGUI_ALIGN_RIGHT, msg, imguiRGBA(128, 128, 128, 200));\n\t}\n\n\treturn res || valChanged;\n}\n\n\nvoid imguiIndent()\n{\n\tg_state.widgetX += INDENT_SIZE;\n\tg_state.widgetW -= INDENT_SIZE;\n}\n\nvoid imguiUnindent()\n{\n\tg_state.widgetX -= INDENT_SIZE;\n\tg_state.widgetW += INDENT_SIZE;\n}\n\nvoid imguiSeparator()\n{\n\tg_state.widgetY -= DEFAULT_SPACING * 3;\n}\n\nvoid imguiSeparatorLine()\n{\n\tint x = g_state.widgetX;\n\tint y = g_state.widgetY - DEFAULT_SPACING * 2;\n\tint w = g_state.widgetW;\n\tint h = 1;\n\tg_state.widgetY -= DEFAULT_SPACING * 4;\n\n\taddGfxCmdRect((float)x, (float)y, (float)w, (float)h, imguiRGBA(255, 255, 255, 32));\n}\n\nvoid imguiDrawText(int x, int y, int align, const char* text, unsigned int color)\n{\n\taddGfxCmdText(x, y, align, text, color);\n}\n\nvoid imguiDrawLine(float x0, float y0, float x1, float y1, float r, unsigned int color)\n{\n\taddGfxCmdLine(x0, y0, x1, y1, r, color);\n}\n\nvoid imguiDrawRect(float x, float y, float w, float h, unsigned int color)\n{\n\taddGfxCmdRect(x, y, w, h, color);\n}\n\nvoid imguiDrawRoundedRect(float x, float y, float w, float h, float r, unsigned int color)\n{\n\taddGfxCmdRoundedRect(x, y, w, h, r, color);\n}\n\n"
  },
  {
    "path": "demo/imgui.h",
    "content": "//\n// Copyright (c) 2009-2010 Mikko Mononen memon@inside.org\n//\n// This software is provided 'as-is', without any express or implied\n// warranty.  In no event will the authors be held liable for any damages\n// arising from the use of this software.\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n// 1. The origin of this software must not be misrepresented; you must not\n//    claim that you wrote the original software. If you use this software\n//    in a product, an acknowledgment in the product documentation would be\n//    appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n//    misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n//\n\n#ifndef IMGUI_H\n#define IMGUI_H\n\nenum imguiMouseButton\n{\n\tIMGUI_MBUT_LEFT = 0x01,\n\tIMGUI_MBUT_RIGHT = 0x02,\n};\n\nenum imguiTextAlign\n{\n\tIMGUI_ALIGN_LEFT,\n\tIMGUI_ALIGN_CENTER,\n\tIMGUI_ALIGN_RIGHT,\n};\n\ninline unsigned int imguiRGBA(unsigned char r, unsigned char g, unsigned char b, unsigned char a = 255)\n{\n\treturn (r) | (g << 8) | (b << 16) | (a << 24);\n}\n\nvoid imguiBeginFrame(int mx, int my, unsigned char mbut, int scroll);\nvoid imguiEndFrame();\n\nbool imguiBeginScrollArea(const char* name, int x, int y, int w, int h, int* scroll);\nvoid imguiEndScrollArea();\n\nvoid imguiIndent();\nvoid imguiUnindent();\nvoid imguiSeparator();\nvoid imguiSeparatorLine();\n\nbool imguiButton(const char* text, bool enabled = true);\nbool imguiItem(const char* text, bool enabled = true, unsigned int color = imguiRGBA(255, 255, 255, 200));\nbool imguiCheck(const char* text, bool checked, bool enabled = true);\nbool imguiCollapse(const char* text, const char* subtext, bool checked, bool enabled = true);\nvoid imguiLabel(const char* text);\nvoid imguiValue(const char* text);\nbool imguiSlider(const char* text, float* val, float vmin, float vmax, float vinc, bool enabled = true);\n\nvoid imguiDrawText(int x, int y, int align, const char* text, unsigned int color);\nvoid imguiDrawLine(float x0, float y0, float x1, float y1, float r, unsigned int color);\nvoid imguiDrawRoundedRect(float x, float y, float w, float h, float r, unsigned int color);\nvoid imguiDrawRect(float x, float y, float w, float h, unsigned int color);\n\n// Pull render interface.\nenum imguiGfxCmdType\n{\n\tIMGUI_GFXCMD_RECT,\n\tIMGUI_GFXCMD_TRIANGLE,\n\tIMGUI_GFXCMD_LINE,\n\tIMGUI_GFXCMD_TEXT,\n\tIMGUI_GFXCMD_SCISSOR,\n};\n\nstruct imguiGfxRect\n{\n\tshort x, y, w, h, r;\n};\n\nstruct imguiGfxText\n{\n\tshort x, y, align;\n\tconst char* text;\n};\n\nstruct imguiGfxLine\n{\n\tshort x0, y0, x1, y1, r;\n};\n\nstruct imguiGfxCmd\n{\n\tchar type;\n\tchar flags;\n\tchar pad[2];\n\tunsigned int col;\n\tunion\n\t{\n\t\timguiGfxLine line;\n\t\timguiGfxRect rect;\n\t\timguiGfxText text;\n\t};\n};\n\nconst imguiGfxCmd* imguiGetRenderQueue();\nint imguiGetRenderQueueSize();\n\n\n#endif // IMGUI_H"
  },
  {
    "path": "demo/main.cpp",
    "content": "// This code contains NVIDIA Confidential Information and is disclosed to you\n// under a form of NVIDIA software license agreement provided separately to you.\n//\n// Notice\n// NVIDIA Corporation and its licensors retain all intellectual property and\n// proprietary rights in and to this software and related documentation and\n// any modifications thereto. Any use, reproduction, disclosure, or\n// distribution of this software and related documentation without an express\n// license agreement from NVIDIA Corporation is strictly prohibited.\n//\n// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED \"AS IS.\". NVIDIA MAKES\n// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO\n// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,\n// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.\n//\n// Information and code furnished is believed to be accurate and reliable.\n// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such\n// information or for any infringement of patents or other rights of third parties that may\n// result from its use. No license is granted by implication or otherwise under any patent\n// or patent rights of NVIDIA Corporation. Details are subject to change without notice.\n// This code supersedes and replaces all information previously supplied.\n// NVIDIA Corporation products are not authorized for use as critical\n// components in life support devices or systems without express written approval of\n// NVIDIA Corporation.\n//\n// Copyright (c) 2013-2020 NVIDIA Corporation. All rights reserved.\n\n#include \"../core/types.h\"\n#include \"../core/maths.h\"\n#include \"../core/platform.h\"\n#include \"../core/mesh.h\"\n#include \"../core/voxelize.h\"\n#include \"../core/sdf.h\"\n#include \"../core/pfm.h\"\n#include \"../core/tga.h\"\n#include \"../core/perlin.h\"\n#include \"../core/convex.h\"\n#include \"../core/cloth.h\"\n\n#include \"../external/SDL2-2.0.4/include/SDL.h\"\n\n#include \"../include/NvFlex.h\"\n#include \"../include/NvFlexExt.h\"\n#include \"../include/NvFlexDevice.h\"\n\n#include <iostream>\n#include <map>\n\n#include \"shaders.h\"\n#include \"imgui.h\"\n\n#include \"shadersDemoContext.h\"\n\n#if FLEX_DX\n#include \"d3d\\appGraphCtx.h\"\n#endif\n\n#if ENABLE_AFTERMATH_SUPPORT\n#include <external/GFSDK_Aftermath_v1.21/include/GFSDK_Aftermath.h>\n#endif\n\nSDL_Window* g_window;\t\t\t// window handle\nunsigned int g_windowId;\t\t// window id\n\n#define SDL_CONTROLLER_BUTTON_LEFT_TRIGGER (SDL_CONTROLLER_BUTTON_MAX + 1)\n#define SDL_CONTROLLER_BUTTON_RIGHT_TRIGGER (SDL_CONTROLLER_BUTTON_MAX + 2)\n\nint GetKeyFromGameControllerButton(SDL_GameControllerButton button)\n{\n\tswitch (button)\n\t{\n\tcase SDL_CONTROLLER_BUTTON_DPAD_UP:\t\t\t{\treturn SDLK_q;\t\t} // -- camera translate up\n\tcase SDL_CONTROLLER_BUTTON_DPAD_DOWN:\t\t{\treturn SDLK_z;\t\t} // -- camera translate down\n\tcase SDL_CONTROLLER_BUTTON_DPAD_LEFT:\t\t{\treturn SDLK_h;\t\t} // -- hide GUI\n\tcase SDL_CONTROLLER_BUTTON_DPAD_RIGHT:\t\t{\treturn -1;\t\t\t} // -- unassigned\n\tcase SDL_CONTROLLER_BUTTON_START:\t\t\t{\treturn SDLK_RETURN;\t} // -- start selected scene\n\tcase SDL_CONTROLLER_BUTTON_BACK:\t\t\t{\treturn SDLK_ESCAPE;\t} // -- quit\n\tcase SDL_CONTROLLER_BUTTON_LEFTSHOULDER:\t{\treturn SDLK_UP;\t\t} // -- select prev scene\n\tcase SDL_CONTROLLER_BUTTON_RIGHTSHOULDER:\t{\treturn SDLK_DOWN;\t} // -- select next scene\n\tcase SDL_CONTROLLER_BUTTON_A:\t\t\t\t{\treturn SDLK_g;\t\t} // -- toggle gravity\n\tcase SDL_CONTROLLER_BUTTON_B:\t\t\t\t{\treturn SDLK_p;\t\t} // -- pause\n\tcase SDL_CONTROLLER_BUTTON_X:\t\t\t\t{\treturn SDLK_r;\t\t} // -- reset\n\tcase SDL_CONTROLLER_BUTTON_Y:\t\t\t\t{\treturn SDLK_o;\t\t} // -- step sim\n\tcase SDL_CONTROLLER_BUTTON_RIGHT_TRIGGER:\t{\treturn SDLK_SPACE;\t} // -- emit particles\n\tdefault:\t\t\t\t\t\t\t\t\t{\treturn -1;\t\t\t} // -- nop\n\t};\n};\n\n//\n// Gamepad thresholds taken from XINPUT API\n//\n#define XINPUT_GAMEPAD_LEFT_THUMB_DEADZONE  7849\n#define XINPUT_GAMEPAD_RIGHT_THUMB_DEADZONE 8689\n#define XINPUT_GAMEPAD_TRIGGER_THRESHOLD    30\n\nint deadzones[3] = { XINPUT_GAMEPAD_LEFT_THUMB_DEADZONE, XINPUT_GAMEPAD_RIGHT_THUMB_DEADZONE, XINPUT_GAMEPAD_TRIGGER_THRESHOLD };\n\ninline float joyAxisFilter(int value, int stick)\n{\n\t//clamp values in deadzone to zero, and remap rest of range so that it linearly rises in value from edge of deadzone toward max value.\n\tif (value < -deadzones[stick])\n\t\treturn (value + deadzones[stick]) / (32768.0f - deadzones[stick]);\n\telse if (value > deadzones[stick])\n\t\treturn (value - deadzones[stick]) / (32768.0f - deadzones[stick]);\n\telse\n\t\treturn 0.0f;\n}\n\nSDL_GameController* g_gamecontroller = NULL;\n\nusing namespace std;\n\nint g_screenWidth = 1280;\nint g_screenHeight = 720;\nint g_msaaSamples = 8;\n\nint g_numSubsteps;\n\n// a setting of -1 means Flex will use the device specified in the NVIDIA control panel\nint g_device = -1;\nchar g_deviceName[256];\nbool g_vsync = true;\n\nbool g_benchmark = false;\nbool g_extensions = true;\nbool g_teamCity = false;\nbool g_interop = true;\nbool g_d3d12 = false;\nbool g_useAsyncCompute = true;\t\t\nbool g_increaseGfxLoadForAsyncComputeTesting = false;\nint g_graphics = 0;\t// 0=ogl, 1=DX11, 2=DX12\n\nFluidRenderer* g_fluidRenderer;\nFluidRenderBuffers* g_fluidRenderBuffers;\nDiffuseRenderBuffers* g_diffuseRenderBuffers;\n\nNvFlexSolver* g_solver;\nNvFlexSolverDesc g_solverDesc;\nNvFlexLibrary* g_flexLib;\nNvFlexParams g_params;\nNvFlexTimers g_timers;\nint g_numDetailTimers;\nNvFlexDetailTimer * g_detailTimers;\n\nint g_maxDiffuseParticles;\nint g_maxNeighborsPerParticle;\nint g_numExtraParticles;\nint g_numExtraMultiplier = 1;\nint g_maxContactsPerParticle;\n\n// mesh used for deformable object rendering\nMesh* g_mesh;\nvector<int> g_meshSkinIndices;\nvector<float> g_meshSkinWeights;\nvector<Point3> g_meshRestPositions;\nconst int g_numSkinWeights = 4;\n\n// mapping of collision mesh to render mesh\nstd::map<NvFlexConvexMeshId, GpuMesh*> g_convexes;\nstd::map<NvFlexTriangleMeshId, GpuMesh*> g_meshes;\nstd::map<NvFlexDistanceFieldId, GpuMesh*> g_fields;\n\n// flag to request collision shapes be updated\nbool g_shapesChanged = false;\n\n/* Note that this array of colors is altered by demo code, and is also read from global by graphics API impls */\nColour g_colors[] =\n{\n\tColour(0.0f, 0.5f, 1.0f),\n\tColour(0.797f, 0.354f, 0.000f),\n\tColour(0.092f, 0.465f, 0.820f),\n\tColour(0.000f, 0.349f, 0.173f),\n\tColour(0.875f, 0.782f, 0.051f),\n\tColour(0.000f, 0.170f, 0.453f),\n\tColour(0.673f, 0.111f, 0.000f),\n\tColour(0.612f, 0.194f, 0.394f)\n};\n\nstruct SimBuffers\n{\n\tNvFlexVector<Vec4> positions;\n\tNvFlexVector<Vec4> restPositions;\n\tNvFlexVector<Vec3> velocities;\n\tNvFlexVector<int> phases;\n\tNvFlexVector<float> densities;\n\tNvFlexVector<Vec4> anisotropy1;\n\tNvFlexVector<Vec4> anisotropy2;\n\tNvFlexVector<Vec4> anisotropy3;\n\tNvFlexVector<Vec4> normals;\n\tNvFlexVector<Vec4> smoothPositions;\n\tNvFlexVector<Vec4> diffusePositions;\n\tNvFlexVector<Vec4> diffuseVelocities;\n\tNvFlexVector<int> diffuseCount;\n\n\tNvFlexVector<int> activeIndices;\n\n\t// convexes\n\tNvFlexVector<NvFlexCollisionGeometry> shapeGeometry;\n\tNvFlexVector<Vec4> shapePositions;\n\tNvFlexVector<Quat> shapeRotations;\n\tNvFlexVector<Vec4> shapePrevPositions;\n\tNvFlexVector<Quat> shapePrevRotations;\n\tNvFlexVector<int> shapeFlags;\n\n\t// rigids\n\tNvFlexVector<int> rigidOffsets;\n\tNvFlexVector<int> rigidIndices;\n\tNvFlexVector<int> rigidMeshSize;\n\tNvFlexVector<float> rigidCoefficients;\n\tNvFlexVector<float> rigidPlasticThresholds;\n\tNvFlexVector<float> rigidPlasticCreeps;\n\tNvFlexVector<Quat> rigidRotations;\n\tNvFlexVector<Vec3> rigidTranslations;\n\tNvFlexVector<Vec3> rigidLocalPositions;\n\tNvFlexVector<Vec4> rigidLocalNormals;\n\n\t// inflatables\n\tNvFlexVector<int> inflatableTriOffsets;\n\tNvFlexVector<int> inflatableTriCounts;\n\tNvFlexVector<float> inflatableVolumes;\n\tNvFlexVector<float> inflatableCoefficients;\n\tNvFlexVector<float> inflatablePressures;\n\n\t// springs\n\tNvFlexVector<int> springIndices;\n\tNvFlexVector<float> springLengths;\n\tNvFlexVector<float> springStiffness;\n\n\tNvFlexVector<int> triangles;\n\tNvFlexVector<Vec3> triangleNormals;\n\tNvFlexVector<Vec3> uvs;\n\n\tSimBuffers(NvFlexLibrary* l) :\n\t\tpositions(l), restPositions(l), velocities(l), phases(l), densities(l),\n\t\tanisotropy1(l), anisotropy2(l), anisotropy3(l), normals(l), smoothPositions(l),\n\t\tdiffusePositions(l), diffuseVelocities(l), diffuseCount(l), activeIndices(l),\n\t\tshapeGeometry(l), shapePositions(l), shapeRotations(l), shapePrevPositions(l),\n\t\tshapePrevRotations(l),\tshapeFlags(l), rigidOffsets(l), rigidIndices(l), rigidMeshSize(l),\n\t\trigidCoefficients(l), rigidPlasticThresholds(l), rigidPlasticCreeps(l), rigidRotations(l), rigidTranslations(l),\n\t\trigidLocalPositions(l), rigidLocalNormals(l), inflatableTriOffsets(l),\n\t\tinflatableTriCounts(l), inflatableVolumes(l), inflatableCoefficients(l),\n\t\tinflatablePressures(l), springIndices(l), springLengths(l),\n\t\tspringStiffness(l), triangles(l), triangleNormals(l), uvs(l)\n\t{}\n};\n\nSimBuffers* g_buffers;\n\nvoid MapBuffers(SimBuffers* buffers)\n{\n\tbuffers->positions.map();\n\tbuffers->restPositions.map();\n\tbuffers->velocities.map();\n\tbuffers->phases.map();\n\tbuffers->densities.map();\n\tbuffers->anisotropy1.map();\n\tbuffers->anisotropy2.map();\n\tbuffers->anisotropy3.map();\n\tbuffers->normals.map();\n\tbuffers->diffusePositions.map();\n\tbuffers->diffuseVelocities.map();\n\tbuffers->diffuseCount.map();\n\tbuffers->smoothPositions.map();\n\tbuffers->activeIndices.map();\n\n\t// convexes\n\tbuffers->shapeGeometry.map();\n\tbuffers->shapePositions.map();\n\tbuffers->shapeRotations.map();\n\tbuffers->shapePrevPositions.map();\n\tbuffers->shapePrevRotations.map();\n\tbuffers->shapeFlags.map();\n\n\tbuffers->rigidOffsets.map();\n\tbuffers->rigidIndices.map();\n\tbuffers->rigidMeshSize.map();\n\tbuffers->rigidCoefficients.map();\n\tbuffers->rigidPlasticThresholds.map();\n\tbuffers->rigidPlasticCreeps.map();\n\tbuffers->rigidRotations.map();\n\tbuffers->rigidTranslations.map();\n\tbuffers->rigidLocalPositions.map();\n\tbuffers->rigidLocalNormals.map();\n\n\tbuffers->springIndices.map();\n\tbuffers->springLengths.map();\n\tbuffers->springStiffness.map();\n\n\t// inflatables\n\tbuffers->inflatableTriOffsets.map();\n\tbuffers->inflatableTriCounts.map();\n\tbuffers->inflatableVolumes.map();\n\tbuffers->inflatableCoefficients.map();\n\tbuffers->inflatablePressures.map();\n\n\tbuffers->triangles.map();\n\tbuffers->triangleNormals.map();\n\tbuffers->uvs.map();\n}\n\nvoid UnmapBuffers(SimBuffers* buffers)\n{\n\t// particles\n\tbuffers->positions.unmap();\n\tbuffers->restPositions.unmap();\n\tbuffers->velocities.unmap();\n\tbuffers->phases.unmap();\n\tbuffers->densities.unmap();\n\tbuffers->anisotropy1.unmap();\n\tbuffers->anisotropy2.unmap();\n\tbuffers->anisotropy3.unmap();\n\tbuffers->normals.unmap();\n\tbuffers->diffusePositions.unmap();\n\tbuffers->diffuseVelocities.unmap();\n\tbuffers->diffuseCount.unmap();\n\tbuffers->smoothPositions.unmap();\n\tbuffers->activeIndices.unmap();\n\n\t// convexes\n\tbuffers->shapeGeometry.unmap();\n\tbuffers->shapePositions.unmap();\n\tbuffers->shapeRotations.unmap();\n\tbuffers->shapePrevPositions.unmap();\n\tbuffers->shapePrevRotations.unmap();\n\tbuffers->shapeFlags.unmap();\n\n\t// rigids\n\tbuffers->rigidOffsets.unmap();\n\tbuffers->rigidIndices.unmap();\n\tbuffers->rigidMeshSize.unmap();\n\tbuffers->rigidCoefficients.unmap();\n\tbuffers->rigidPlasticThresholds.unmap();\n\tbuffers->rigidPlasticCreeps.unmap();\n\tbuffers->rigidRotations.unmap();\n\tbuffers->rigidTranslations.unmap();\n\tbuffers->rigidLocalPositions.unmap();\n\tbuffers->rigidLocalNormals.unmap();\n\n\t// springs\n\tbuffers->springIndices.unmap();\n\tbuffers->springLengths.unmap();\n\tbuffers->springStiffness.unmap();\n\n\t// inflatables\n\tbuffers->inflatableTriOffsets.unmap();\n\tbuffers->inflatableTriCounts.unmap();\n\tbuffers->inflatableVolumes.unmap();\n\tbuffers->inflatableCoefficients.unmap();\n\tbuffers->inflatablePressures.unmap();\n\n\t// triangles\n\tbuffers->triangles.unmap();\n\tbuffers->triangleNormals.unmap();\n\tbuffers->uvs.unmap();\n\n}\n\nSimBuffers* AllocBuffers(NvFlexLibrary* lib)\n{\n\treturn new SimBuffers(lib);\n}\n\nvoid DestroyBuffers(SimBuffers* buffers)\n{\n\t// particles\n\tbuffers->positions.destroy();\n\tbuffers->restPositions.destroy();\n\tbuffers->velocities.destroy();\n\tbuffers->phases.destroy();\n\tbuffers->densities.destroy();\n\tbuffers->anisotropy1.destroy();\n\tbuffers->anisotropy2.destroy();\n\tbuffers->anisotropy3.destroy();\n\tbuffers->normals.destroy();\n\tbuffers->diffusePositions.destroy();\n\tbuffers->diffuseVelocities.destroy();\n\tbuffers->diffuseCount.destroy();\n\tbuffers->smoothPositions.destroy();\n\tbuffers->activeIndices.destroy();\n\n\t// convexes\n\tbuffers->shapeGeometry.destroy();\n\tbuffers->shapePositions.destroy();\n\tbuffers->shapeRotations.destroy();\n\tbuffers->shapePrevPositions.destroy();\n\tbuffers->shapePrevRotations.destroy();\n\tbuffers->shapeFlags.destroy();\n\n\t// rigids\n\tbuffers->rigidOffsets.destroy();\n\tbuffers->rigidIndices.destroy();\n\tbuffers->rigidMeshSize.destroy();\n\tbuffers->rigidCoefficients.destroy();\n\tbuffers->rigidPlasticThresholds.destroy();\n\tbuffers->rigidPlasticCreeps.destroy();\n\tbuffers->rigidRotations.destroy();\n\tbuffers->rigidTranslations.destroy();\n\tbuffers->rigidLocalPositions.destroy();\n\tbuffers->rigidLocalNormals.destroy();\n\n\t// springs\n\tbuffers->springIndices.destroy();\n\tbuffers->springLengths.destroy();\n\tbuffers->springStiffness.destroy();\n\n\t// inflatables\n\tbuffers->inflatableTriOffsets.destroy();\n\tbuffers->inflatableTriCounts.destroy();\n\tbuffers->inflatableVolumes.destroy();\n\tbuffers->inflatableCoefficients.destroy();\n\tbuffers->inflatablePressures.destroy();\n\n\t// triangles\n\tbuffers->triangles.destroy();\n\tbuffers->triangleNormals.destroy();\n\tbuffers->uvs.destroy();\n\n\tdelete buffers;\n}\n\nVec3 g_camPos(6.0f, 8.0f, 18.0f);\nVec3 g_camAngle(0.0f, -DegToRad(20.0f), 0.0f);\nVec3 g_camVel(0.0f);\nVec3 g_camSmoothVel(0.0f);\n\nfloat g_camSpeed;\nfloat g_camNear;\nfloat g_camFar;\n\nVec3 g_lightPos;\nVec3 g_lightDir;\nVec3 g_lightTarget;\n\nbool g_pause = false;\nbool g_step = false;\nbool g_capture = false;\nbool g_showHelp = true;\nbool g_tweakPanel = true;\nbool g_fullscreen = false;\nbool g_wireframe = false;\nbool g_debug = false;\n\nbool g_emit = false;\nbool g_warmup = false;\n\nfloat g_windTime = 0.0f;\nfloat g_windFrequency = 0.1f;\nfloat g_windStrength = 0.0f;\n\nbool g_wavePool = false;\nfloat g_waveTime = 0.0f;\nfloat g_wavePlane;\nfloat g_waveFrequency = 1.5f;\nfloat g_waveAmplitude = 1.0f;\nfloat g_waveFloorTilt = 0.0f;\n\nVec3 g_sceneLower;\nVec3 g_sceneUpper;\n\nfloat g_blur;\nfloat g_ior;\nbool g_drawEllipsoids;\nbool g_drawPoints;\nbool g_drawMesh;\nbool g_drawCloth;\nfloat g_expandCloth;\t// amount to expand cloth along normal (to account for particle radius)\n\nbool g_drawOpaque;\nint g_drawSprings;\t\t// 0: no draw, 1: draw stretch 2: draw tether\nbool g_drawBases = false;\nbool g_drawContacts = false;\nbool g_drawNormals = false;\nbool g_drawDiffuse;\nbool g_drawShapeGrid = false;\nbool g_drawDensity = false;\nbool g_drawRopes;\nfloat g_pointScale;\nfloat g_ropeScale;\nfloat g_drawPlaneBias;\t// move planes along their normal for rendering\n\nfloat g_diffuseScale;\nfloat g_diffuseMotionScale;\nbool g_diffuseShadow;\nfloat g_diffuseInscatter;\nfloat g_diffuseOutscatter;\n\nfloat g_dt = 1.0f / 60.0f;\t// the time delta used for simulation\nfloat g_realdt;\t\t\t\t// the real world time delta between updates\n\nfloat g_waitTime;\t\t// the CPU time spent waiting for the GPU\nfloat g_updateTime;     // the CPU time spent on Flex\nfloat g_renderTime;\t\t// the CPU time spent calling OpenGL to render the scene\n                        // the above times don't include waiting for vsync\nfloat g_simLatency;     // the time the GPU spent between the first and last NvFlexUpdateSolver() operation. Because some GPUs context switch, this can include graphics time.\n\nint g_scene = 0;\nint g_selectedScene = g_scene;\nint g_levelScroll;\t\t\t// offset for level selection scroll area\nbool g_resetScene = false;  //if the user clicks the reset button or presses the reset key this is set to true;\n\nint g_frame = 0;\nint g_numSolidParticles = 0;\n\nint g_mouseParticle = -1;\nfloat g_mouseT = 0.0f;\nVec3 g_mousePos;\nfloat g_mouseMass;\nbool g_mousePicked = false;\n\n// mouse\nint g_lastx;\nint g_lasty;\nint g_lastb = -1;\n\nbool g_profile = false;\nbool g_outputAllFrameTimes = false;\nbool g_asyncComputeBenchmark = false;\n\nShadowMap* g_shadowMap;\n\nVec4 g_fluidColor;\nVec4 g_diffuseColor;\nVec3 g_meshColor;\nVec3  g_clearColor;\nfloat g_lightDistance;\nfloat g_fogDistance;\n\nFILE* g_ffmpeg;\n\nvoid DrawShapes();\n\nclass Scene;\nvector<Scene*> g_scenes;\n\nstruct Emitter\n{\n\tEmitter() : mSpeed(0.0f), mEnabled(false), mLeftOver(0.0f), mWidth(8)   {}\n\n\tVec3 mPos;\n\tVec3 mDir;\n\tVec3 mRight;\n\tfloat mSpeed;\n\tbool mEnabled;\n\tfloat mLeftOver;\n\tint mWidth;\n};\n\nvector<Emitter> g_emitters(1);\t// first emitter is the camera 'gun'\n\nstruct Rope\n{\n\tstd::vector<int> mIndices;\n};\n\nvector<Rope> g_ropes;\n\ninline float sqr(float x) { return x*x; }\n\n#include \"helpers.h\"\n#include \"scenes.h\"\n#include \"benchmark.h\"\n\nvoid Init(int scene, bool centerCamera = true)\n{\n\tRandInit();\n\n\tif (g_solver)\n\t{\n\t\tif (g_buffers)\n\t\t\tDestroyBuffers(g_buffers);\n\n\t\tDestroyFluidRenderBuffers(g_fluidRenderBuffers);\n\t\tDestroyDiffuseRenderBuffers(g_diffuseRenderBuffers);\n\n\t\tfor (auto& iter : g_meshes)\n\t\t{\n\t\t\tNvFlexDestroyTriangleMesh(g_flexLib, iter.first);\n\t\t\tDestroyGpuMesh(iter.second);\n\t\t}\n\n\t\tfor (auto& iter : g_fields)\n\t\t{\n\t\t\tNvFlexDestroyDistanceField(g_flexLib, iter.first);\n\t\t\tDestroyGpuMesh(iter.second);\n\t\t}\n\n\t\tfor (auto& iter : g_convexes)\n\t\t{\n\t\t\tNvFlexDestroyConvexMesh(g_flexLib, iter.first);\n\t\t\tDestroyGpuMesh(iter.second);\n\t\t}\n\n\n\t\tg_fields.clear();\n\t\tg_meshes.clear();\n\t\tg_convexes.clear();\n\n\t\tNvFlexDestroySolver(g_solver);\n\t\tg_solver = NULL;\n\t}\n\n\t// alloc buffers\n\tg_buffers = AllocBuffers(g_flexLib);\n\n\t// map during initialization\n\tMapBuffers(g_buffers);\n\n\tg_buffers->positions.resize(0);\n\tg_buffers->velocities.resize(0);\n\tg_buffers->phases.resize(0);\n\n\tg_buffers->rigidOffsets.resize(0);\n\tg_buffers->rigidIndices.resize(0);\n\tg_buffers->rigidMeshSize.resize(0);\n\tg_buffers->rigidRotations.resize(0);\n\tg_buffers->rigidTranslations.resize(0);\n\tg_buffers->rigidCoefficients.resize(0);\n\tg_buffers->rigidPlasticThresholds.resize(0);\n\tg_buffers->rigidPlasticCreeps.resize(0);\n\tg_buffers->rigidLocalPositions.resize(0);\n\tg_buffers->rigidLocalNormals.resize(0);\n\n\tg_buffers->springIndices.resize(0);\n\tg_buffers->springLengths.resize(0);\n\tg_buffers->springStiffness.resize(0);\n\tg_buffers->triangles.resize(0);\n\tg_buffers->triangleNormals.resize(0);\n\tg_buffers->uvs.resize(0);\n\n\tg_meshSkinIndices.resize(0);\n\tg_meshSkinWeights.resize(0);\n\n\tg_emitters.resize(1);\n\tg_emitters[0].mEnabled = false;\n\tg_emitters[0].mSpeed = 1.0f;\n\tg_emitters[0].mLeftOver = 0.0f;\n\tg_emitters[0].mWidth = 8;\n\n\tg_buffers->shapeGeometry.resize(0);\n\tg_buffers->shapePositions.resize(0);\n\tg_buffers->shapeRotations.resize(0);\n\tg_buffers->shapePrevPositions.resize(0);\n\tg_buffers->shapePrevRotations.resize(0);\n\tg_buffers->shapeFlags.resize(0);\n\n\tg_ropes.resize(0);\n\n\t// remove collision shapes\n\tdelete g_mesh; g_mesh = NULL;\n\n\tg_frame = 0;\n\tg_pause = false;\n\n\tg_dt = 1.0f / 60.0f;\n\tg_waveTime = 0.0f;\n\tg_windTime = 0.0f;\n\tg_windStrength = 1.0f;\n\n\tg_blur = 1.0f;\n\tg_fluidColor = Vec4(0.1f, 0.4f, 0.8f, 1.0f);\n\tg_meshColor = Vec3(0.9f, 0.9f, 0.9f);\n\tg_drawEllipsoids = false;\n\tg_drawPoints = true;\n\tg_drawCloth = true;\n\tg_expandCloth = 0.0f;\n\n\tg_drawOpaque = false;\n\tg_drawSprings = false;\n\tg_drawDiffuse = false;\n\tg_drawMesh = true;\n\tg_drawRopes = true;\n\tg_drawDensity = false;\n\tg_ior = 1.0f;\n\tg_lightDistance = 2.0f;\n\tg_fogDistance = 0.005f;\n\n\tg_camSpeed = 0.075f;\n\tg_camNear = 0.01f;\n\tg_camFar = 1000.0f;\n\n\tg_pointScale = 1.0f;\n\tg_ropeScale = 1.0f;\n\tg_drawPlaneBias = 0.0f;\n\n\t// sim params\n\tg_params.gravity[0] = 0.0f;\n\tg_params.gravity[1] = -9.8f;\n\tg_params.gravity[2] = 0.0f;\n\n\tg_params.wind[0] = 0.0f;\n\tg_params.wind[1] = 0.0f;\n\tg_params.wind[2] = 0.0f;\n\n\tg_params.radius = 0.15f;\n\tg_params.viscosity = 0.0f;\n\tg_params.dynamicFriction = 0.0f;\n\tg_params.staticFriction = 0.0f;\n\tg_params.particleFriction = 0.0f; // scale friction between particles by default\n\tg_params.freeSurfaceDrag = 0.0f;\n\tg_params.drag = 0.0f;\n\tg_params.lift = 0.0f;\n\tg_params.numIterations = 3;\n\tg_params.fluidRestDistance = 0.0f;\n\tg_params.solidRestDistance = 0.0f;\n\n\tg_params.anisotropyScale = 1.0f;\n\tg_params.anisotropyMin = 0.1f;\n\tg_params.anisotropyMax = 2.0f;\n\tg_params.smoothing = 1.0f;\n\n\tg_params.dissipation = 0.0f;\n\tg_params.damping = 0.0f;\n\tg_params.particleCollisionMargin = 0.0f;\n\tg_params.shapeCollisionMargin = 0.0f;\n\tg_params.collisionDistance = 0.0f;\n\tg_params.sleepThreshold = 0.0f;\n\tg_params.shockPropagation = 0.0f;\n\tg_params.restitution = 0.0f;\n\n\tg_params.maxSpeed = FLT_MAX;\n\tg_params.maxAcceleration = 100.0f;\t// approximately 10x gravity\n\n\tg_params.relaxationMode = eNvFlexRelaxationLocal;\n\tg_params.relaxationFactor = 1.0f;\n\tg_params.solidPressure = 1.0f;\n\tg_params.adhesion = 0.0f;\n\tg_params.cohesion = 0.025f;\n\tg_params.surfaceTension = 0.0f;\n\tg_params.vorticityConfinement = 0.0f;\n\tg_params.buoyancy = 1.0f;\n\tg_params.diffuseThreshold = 100.0f;\n\tg_params.diffuseBuoyancy = 1.0f;\n\tg_params.diffuseDrag = 0.8f;\n\tg_params.diffuseBallistic = 16;\n\tg_params.diffuseLifetime = 2.0f;\n\n\tg_numSubsteps = 2;\n\n\t// planes created after particles\n\tg_params.numPlanes = 1;\n\n\tg_diffuseScale = 0.5f;\n\tg_diffuseColor = 1.0f;\n\tg_diffuseMotionScale = 1.0f;\n\tg_diffuseShadow = false;\n\tg_diffuseInscatter = 0.8f;\n\tg_diffuseOutscatter = 0.53f;\n\n\t// reset phase 0 particle color to blue\n\tg_colors[0] = Colour(0.0f, 0.5f, 1.0f);\n\n\tg_numSolidParticles = 0;\n\n\tg_waveFrequency = 1.5f;\n\tg_waveAmplitude = 1.5f;\n\tg_waveFloorTilt = 0.0f;\n\tg_emit = false;\n\tg_warmup = false;\n\n\tg_mouseParticle = -1;\n\n\tg_maxDiffuseParticles = 0;\t// number of diffuse particles\n\tg_maxNeighborsPerParticle = 96;\n\tg_numExtraParticles = 0;\t// number of particles allocated but not made active\t\n\tg_maxContactsPerParticle = 6;\n\n\tg_sceneLower = FLT_MAX;\n\tg_sceneUpper = -FLT_MAX;\n\n\t// initialize solver desc\n\tNvFlexSetSolverDescDefaults(&g_solverDesc);\n\n\t// create scene\n\tStartGpuWork();\n\tg_scenes[g_scene]->Initialize();\n\tEndGpuWork();\n\n\tuint32_t numParticles = g_buffers->positions.size();\n\tuint32_t maxParticles = numParticles + g_numExtraParticles*g_numExtraMultiplier;\n\t\n\tif (g_params.solidRestDistance == 0.0f)\n\t\tg_params.solidRestDistance = g_params.radius;\n\n\t// if fluid present then we assume solid particles have the same radius\n\tif (g_params.fluidRestDistance > 0.0f)\n\t\tg_params.solidRestDistance = g_params.fluidRestDistance;\n\n\t// set collision distance automatically based on rest distance if not alraedy set\n\tif (g_params.collisionDistance == 0.0f)\n\t\tg_params.collisionDistance = Max(g_params.solidRestDistance, g_params.fluidRestDistance)*0.5f;\n\n\t// default particle friction to 10% of shape friction\n\tif (g_params.particleFriction == 0.0f)\n\t\tg_params.particleFriction = g_params.dynamicFriction*0.1f;\n\n\t// add a margin for detecting contacts between particles and shapes\n\tif (g_params.shapeCollisionMargin == 0.0f)\n\t\tg_params.shapeCollisionMargin = g_params.collisionDistance*0.5f;\n\n\t// calculate particle bounds\n\tVec3 particleLower, particleUpper;\n\tGetParticleBounds(particleLower, particleUpper);\n\n\t// accommodate shapes\n\tVec3 shapeLower, shapeUpper;\n\tGetShapeBounds(shapeLower, shapeUpper);\n\n\t// update bounds\n\tg_sceneLower = Min(Min(g_sceneLower, particleLower), shapeLower);\n\tg_sceneUpper = Max(Max(g_sceneUpper, particleUpper), shapeUpper); \n\n\tg_sceneLower -= g_params.collisionDistance;\n\tg_sceneUpper += g_params.collisionDistance;\n\n\t// update collision planes to match flexs\n\tVec3 up = Normalize(Vec3(-g_waveFloorTilt, 1.0f, 0.0f));\n\n\t(Vec4&)g_params.planes[0] = Vec4(up.x, up.y, up.z, 0.0f);\n\t(Vec4&)g_params.planes[1] = Vec4(0.0f, 0.0f, 1.0f, -g_sceneLower.z);\n\t(Vec4&)g_params.planes[2] = Vec4(1.0f, 0.0f, 0.0f, -g_sceneLower.x);\n\t(Vec4&)g_params.planes[3] = Vec4(-1.0f, 0.0f, 0.0f, g_sceneUpper.x);\n\t(Vec4&)g_params.planes[4] = Vec4(0.0f, 0.0f, -1.0f, g_sceneUpper.z);\n\t(Vec4&)g_params.planes[5] = Vec4(0.0f, -1.0f, 0.0f, g_sceneUpper.y);\n\n\tg_wavePlane = g_params.planes[2][3];\n\n\tg_buffers->diffusePositions.resize(g_maxDiffuseParticles);\n\tg_buffers->diffuseVelocities.resize(g_maxDiffuseParticles);\n\tg_buffers->diffuseCount.resize(1, 0);\n\n\t// for fluid rendering these are the Laplacian smoothed positions\n\tg_buffers->smoothPositions.resize(maxParticles);\n\n\tg_buffers->normals.resize(0);\n\tg_buffers->normals.resize(maxParticles);\n\n\t// initialize normals (just for rendering before simulation starts)\n\tint numTris = g_buffers->triangles.size() / 3;\n\tfor (int i = 0; i < numTris; ++i)\n\t{\n\t\tVec3 v0 = Vec3(g_buffers->positions[g_buffers->triangles[i * 3 + 0]]);\n\t\tVec3 v1 = Vec3(g_buffers->positions[g_buffers->triangles[i * 3 + 1]]);\n\t\tVec3 v2 = Vec3(g_buffers->positions[g_buffers->triangles[i * 3 + 2]]);\n\n\t\tVec3 n = Cross(v1 - v0, v2 - v0);\n\n\t\tg_buffers->normals[g_buffers->triangles[i * 3 + 0]] += Vec4(n, 0.0f);\n\t\tg_buffers->normals[g_buffers->triangles[i * 3 + 1]] += Vec4(n, 0.0f);\n\t\tg_buffers->normals[g_buffers->triangles[i * 3 + 2]] += Vec4(n, 0.0f);\n\t}\n\n\tfor (int i = 0; i < int(maxParticles); ++i)\n\t\tg_buffers->normals[i] = Vec4(SafeNormalize(Vec3(g_buffers->normals[i]), Vec3(0.0f, 1.0f, 0.0f)), 0.0f);\n\n\n\t// save mesh positions for skinning\n\tif (g_mesh)\n\t{\n\t\tg_meshRestPositions = g_mesh->m_positions;\n\t}\n\telse\n\t{\n\t\tg_meshRestPositions.resize(0);\n\t}\n\n\tg_solverDesc.maxParticles = maxParticles;\n\tg_solverDesc.maxDiffuseParticles = g_maxDiffuseParticles;\n\tg_solverDesc.maxNeighborsPerParticle = g_maxNeighborsPerParticle;\n\tg_solverDesc.maxContactsPerParticle = g_maxContactsPerParticle;\n\n\t// main create method for the Flex solver\n\tg_solver = NvFlexCreateSolver(g_flexLib, &g_solverDesc);\n\n\t// give scene a chance to do some post solver initialization\n\tg_scenes[g_scene]->PostInitialize();\n\n\t// center camera on particles\n\tif (centerCamera)\n\t{\n\t\tg_camPos = Vec3((g_sceneLower.x + g_sceneUpper.x)*0.5f, min(g_sceneUpper.y*1.25f, 6.0f), g_sceneUpper.z + min(g_sceneUpper.y, 6.0f)*2.0f);\n\t\tg_camAngle = Vec3(0.0f, -DegToRad(15.0f), 0.0f);\n\n\t\t// give scene a chance to modify camera position\n\t\tg_scenes[g_scene]->CenterCamera();\n\t}\n\n\t// create active indices (just a contiguous block for the demo)\n\tg_buffers->activeIndices.resize(g_buffers->positions.size());\n\tfor (int i = 0; i < g_buffers->activeIndices.size(); ++i)\n\t\tg_buffers->activeIndices[i] = i;\n\n\t// resize particle buffers to fit\n\tg_buffers->positions.resize(maxParticles);\n\tg_buffers->velocities.resize(maxParticles);\n\tg_buffers->phases.resize(maxParticles);\n\n\tg_buffers->densities.resize(maxParticles);\n\tg_buffers->anisotropy1.resize(maxParticles);\n\tg_buffers->anisotropy2.resize(maxParticles);\n\tg_buffers->anisotropy3.resize(maxParticles);\n\n\t// save rest positions\n\tg_buffers->restPositions.resize(g_buffers->positions.size());\n\tfor (int i = 0; i < g_buffers->positions.size(); ++i)\n\t\tg_buffers->restPositions[i] = g_buffers->positions[i];\n\n\t// builds rigids constraints\n\tif (g_buffers->rigidOffsets.size())\n\t{\n\t\tassert(g_buffers->rigidOffsets.size() > 1);\n\n\t\tconst int numRigids = g_buffers->rigidOffsets.size() - 1;\n\n\t\t// If the centers of mass for the rigids are not yet computed, this is done here\n\t\t// (If the CreateParticleShape method is used instead of the NvFlexExt methods, the centers of mass will be calculated here)\n\t\tif (g_buffers->rigidTranslations.size() == 0) \n\t\t{\n\t\t\tg_buffers->rigidTranslations.resize(g_buffers->rigidOffsets.size() - 1, Vec3());\n\t\t\tCalculateRigidCentersOfMass(&g_buffers->positions[0], g_buffers->positions.size(), &g_buffers->rigidOffsets[0], &g_buffers->rigidTranslations[0], &g_buffers->rigidIndices[0], numRigids);\n\t\t}\n\n\t\t// calculate local rest space positions\n\t\tg_buffers->rigidLocalPositions.resize(g_buffers->rigidOffsets.back());\n\t\tCalculateRigidLocalPositions(&g_buffers->positions[0], &g_buffers->rigidOffsets[0], &g_buffers->rigidTranslations[0], &g_buffers->rigidIndices[0], numRigids, &g_buffers->rigidLocalPositions[0]);\n\n\t\t// set rigidRotations to correct length, probably NULL up until here\n\t\tg_buffers->rigidRotations.resize(g_buffers->rigidOffsets.size() - 1, Quat());\n\t}\n\n\t// unmap so we can start transferring data to GPU\n\tUnmapBuffers(g_buffers);\n\n\t//-----------------------------\n\t// Send data to Flex\n\n\tNvFlexCopyDesc copyDesc;\n\tcopyDesc.dstOffset = 0;\n\tcopyDesc.srcOffset = 0;\n\tcopyDesc.elementCount = numParticles;\n\n\tNvFlexSetParams(g_solver, &g_params);\n\tNvFlexSetParticles(g_solver, g_buffers->positions.buffer, &copyDesc);\n\tNvFlexSetVelocities(g_solver, g_buffers->velocities.buffer, &copyDesc);\n\tNvFlexSetNormals(g_solver, g_buffers->normals.buffer, &copyDesc);\n\tNvFlexSetPhases(g_solver, g_buffers->phases.buffer, &copyDesc);\n\tNvFlexSetRestParticles(g_solver, g_buffers->restPositions.buffer, &copyDesc);\n\n\tNvFlexSetActive(g_solver, g_buffers->activeIndices.buffer, &copyDesc);\n\tNvFlexSetActiveCount(g_solver, numParticles);\n\t\n\t// springs\n\tif (g_buffers->springIndices.size())\n\t{\n\t\tassert((g_buffers->springIndices.size() & 1) == 0);\n\t\tassert((g_buffers->springIndices.size() / 2) == g_buffers->springLengths.size());\n\n\t\tNvFlexSetSprings(g_solver, g_buffers->springIndices.buffer, g_buffers->springLengths.buffer, g_buffers->springStiffness.buffer, g_buffers->springLengths.size());\n\t}\n\n\t// rigids\n\tif (g_buffers->rigidOffsets.size())\n\t{\n\t\tNvFlexSetRigids(g_solver, g_buffers->rigidOffsets.buffer, g_buffers->rigidIndices.buffer, g_buffers->rigidLocalPositions.buffer, g_buffers->rigidLocalNormals.buffer, g_buffers->rigidCoefficients.buffer, g_buffers->rigidPlasticThresholds.buffer, g_buffers->rigidPlasticCreeps.buffer, g_buffers->rigidRotations.buffer, g_buffers->rigidTranslations.buffer, g_buffers->rigidOffsets.size() - 1, g_buffers->rigidIndices.size());\n\t}\n\n\t// inflatables\n\tif (g_buffers->inflatableTriOffsets.size())\n\t{\n\t\tNvFlexSetInflatables(g_solver, g_buffers->inflatableTriOffsets.buffer, g_buffers->inflatableTriCounts.buffer, g_buffers->inflatableVolumes.buffer, g_buffers->inflatablePressures.buffer, g_buffers->inflatableCoefficients.buffer, g_buffers->inflatableTriOffsets.size());\n\t}\n\n\t// dynamic triangles\n\tif (g_buffers->triangles.size())\n\t{\n\t\tNvFlexSetDynamicTriangles(g_solver, g_buffers->triangles.buffer, g_buffers->triangleNormals.buffer, g_buffers->triangles.size() / 3);\n\t}\n\n\t// collision shapes\n\tif (g_buffers->shapeFlags.size())\n\t{\n\t\tNvFlexSetShapes(\n\t\t\tg_solver,\n\t\t\tg_buffers->shapeGeometry.buffer,\n\t\t\tg_buffers->shapePositions.buffer,\n\t\t\tg_buffers->shapeRotations.buffer,\n\t\t\tg_buffers->shapePrevPositions.buffer,\n\t\t\tg_buffers->shapePrevRotations.buffer,\n\t\t\tg_buffers->shapeFlags.buffer,\n\t\t\tint(g_buffers->shapeFlags.size()));\n\t}\n\n\t// create render buffers\n\tg_fluidRenderBuffers = CreateFluidRenderBuffers(maxParticles, g_interop);\n\tg_diffuseRenderBuffers = CreateDiffuseRenderBuffers(g_maxDiffuseParticles, g_interop);\n\n\t// perform initial sim warm up\n\tif (g_warmup)\n\t{\n\t\tprintf(\"Warming up sim..\\n\");\n\n\t\t// warm it up (relax positions to reach rest density without affecting velocity)\n\t\tNvFlexParams copy = g_params;\n\t\tcopy.numIterations = 4;\n\n\t\tNvFlexSetParams(g_solver, &copy);\n\n\t\tconst int kWarmupIterations = 100;\n\n\t\tfor (int i = 0; i < kWarmupIterations; ++i)\n\t\t{\n\t\t\tNvFlexUpdateSolver(g_solver, 0.0001f, 1, false);\n\t\t\tNvFlexSetVelocities(g_solver, g_buffers->velocities.buffer, NULL);\n\t\t}\n\n\t\t// udpate host copy\n\t\tNvFlexGetParticles(g_solver, g_buffers->positions.buffer, NULL);\n\t\tNvFlexGetSmoothParticles(g_solver, g_buffers->smoothPositions.buffer, NULL);\n\t\tNvFlexGetAnisotropy(g_solver, g_buffers->anisotropy1.buffer, g_buffers->anisotropy2.buffer, g_buffers->anisotropy3.buffer, NULL);\n\n\t\tprintf(\"Finished warm up.\\n\");\n\t}\n}\n\nvoid Reset()\n{\n\tInit(g_scene, false);\n}\n\nvoid Shutdown()\n{\n\t// free buffers\n\tDestroyBuffers(g_buffers);\n\n\tfor (auto& iter : g_meshes)\n\t{\n\t\tNvFlexDestroyTriangleMesh(g_flexLib, iter.first);\n\t\tDestroyGpuMesh(iter.second);\n\t}\n\n\tfor (auto& iter : g_fields)\n\t{\n\t\tNvFlexDestroyDistanceField(g_flexLib, iter.first);\n\t\tDestroyGpuMesh(iter.second);\n\t}\n\n\tfor (auto& iter : g_convexes)\n\t{\n\t\tNvFlexDestroyConvexMesh(g_flexLib, iter.first);\n\t\tDestroyGpuMesh(iter.second);\n\t}\n\n\tg_fields.clear();\n\tg_meshes.clear();\n\n\tNvFlexDestroySolver(g_solver);\n\tNvFlexShutdown(g_flexLib);\n\n#if _WIN32\n\tif (g_ffmpeg)\n\t\t_pclose(g_ffmpeg);\n#endif\n}\n\nvoid UpdateEmitters()\n{\n\tfloat spin = DegToRad(15.0f);\n\n\tconst Vec3 forward(-sinf(g_camAngle.x + spin)*cosf(g_camAngle.y), sinf(g_camAngle.y), -cosf(g_camAngle.x + spin)*cosf(g_camAngle.y));\n\tconst Vec3 right(Normalize(Cross(forward, Vec3(0.0f, 1.0f, 0.0f))));\n\n\tg_emitters[0].mDir = Normalize(forward + Vec3(0.0, 0.4f, 0.0f));\n\tg_emitters[0].mRight = right;\n\tg_emitters[0].mPos = g_camPos + forward*1.f + Vec3(0.0f, 0.2f, 0.0f) + right*0.65f;\n\n\t// process emitters\n\tif (g_emit)\n\t{\n\t\tint activeCount = NvFlexGetActiveCount(g_solver);\n\n\t\tsize_t e = 0;\n\n\t\t// skip camera emitter when moving forward or things get messy\n\t\tif (g_camSmoothVel.z >= 0.025f)\n\t\t\te = 1;\n\n\t\tfor (; e < g_emitters.size(); ++e)\n\t\t{\n\t\t\tif (!g_emitters[e].mEnabled)\n\t\t\t\tcontinue;\n\n\t\t\tVec3 emitterDir = g_emitters[e].mDir;\n\t\t\tVec3 emitterRight = g_emitters[e].mRight;\n\t\t\tVec3 emitterPos = g_emitters[e].mPos;\n\n\n\t\t\tfloat r = g_params.fluidRestDistance;\n\t\t\tint phase = NvFlexMakePhase(0, eNvFlexPhaseSelfCollide | eNvFlexPhaseFluid);\n\n\t\t\tfloat numParticles = (g_emitters[e].mSpeed / r)*g_dt;\n\n\t\t\t// whole number to emit\n\t\t\tint n = int(numParticles + g_emitters[e].mLeftOver);\n\n\t\t\tif (n)\n\t\t\t\tg_emitters[e].mLeftOver = (numParticles + g_emitters[e].mLeftOver) - n;\n\t\t\telse\n\t\t\t\tg_emitters[e].mLeftOver += numParticles;\n\n\t\t\t// create a grid of particles (n particles thick)\n\t\t\tfor (int k = 0; k < n; ++k)\n\t\t\t{\n\t\t\t\tint emitterWidth = g_emitters[e].mWidth;\n\t\t\t\tint numParticles = emitterWidth*emitterWidth;\n\t\t\t\tfor (int i = 0; i < numParticles; ++i)\n\t\t\t\t{\n\t\t\t\t\tfloat x = float(i%emitterWidth) - float(emitterWidth/2);\n\t\t\t\t\tfloat y = float((i / emitterWidth) % emitterWidth) - float(emitterWidth/2);\n\n\t\t\t\t\tif ((sqr(x) + sqr(y)) <= (emitterWidth / 2)*(emitterWidth / 2))\n\t\t\t\t\t{\n\t\t\t\t\t\tVec3 up = Normalize(Cross(emitterDir, emitterRight));\n\t\t\t\t\t\tVec3 offset = r*(emitterRight*x + up*y) + float(k)*emitterDir*r;\n\n\t\t\t\t\t\tif (activeCount < g_buffers->positions.size())\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tg_buffers->positions[activeCount] = Vec4(emitterPos + offset, 1.0f);\n\t\t\t\t\t\t\tg_buffers->velocities[activeCount] = emitterDir*g_emitters[e].mSpeed;\n\t\t\t\t\t\t\tg_buffers->phases[activeCount] = phase;\n\n\t\t\t\t\t\t\tg_buffers->activeIndices.push_back(activeCount);\n\n\t\t\t\t\t\t\tactiveCount++;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\nvoid UpdateCamera()\n{\n\tVec3 forward(-sinf(g_camAngle.x)*cosf(g_camAngle.y), sinf(g_camAngle.y), -cosf(g_camAngle.x)*cosf(g_camAngle.y));\n\tVec3 right(Normalize(Cross(forward, Vec3(0.0f, 1.0f, 0.0f))));\n\n\tg_camSmoothVel = Lerp(g_camSmoothVel, g_camVel, 0.1f);\n\tg_camPos += (forward*g_camSmoothVel.z + right*g_camSmoothVel.x + Cross(right, forward)*g_camSmoothVel.y);\n}\n\nvoid UpdateMouse()\n{\n\t// mouse button is up release particle\n\tif (g_lastb == -1)\n\t{\n\t\tif (g_mouseParticle != -1)\n\t\t{\n\t\t\t// restore particle mass\n\t\t\tg_buffers->positions[g_mouseParticle].w = g_mouseMass;\n\n\t\t\t// deselect\n\t\t\tg_mouseParticle = -1;\n\t\t}\n\t}\n\n\t// mouse went down, pick new particle\n\tif (g_mousePicked)\n\t{\n\t\tassert(g_mouseParticle == -1);\n\n\t\tVec3 origin, dir;\n\t\tGetViewRay(g_lastx, g_screenHeight - g_lasty, origin, dir);\n\n\t\tconst int numActive = NvFlexGetActiveCount(g_solver);\n\n\t\tg_mouseParticle = PickParticle(origin, dir, &g_buffers->positions[0], &g_buffers->phases[0], numActive, g_params.radius*0.8f, g_mouseT);\n\n\t\tif (g_mouseParticle != -1)\n\t\t{\n\t\t\tprintf(\"picked: %d, mass: %f v: %f %f %f\\n\", g_mouseParticle, g_buffers->positions[g_mouseParticle].w, g_buffers->velocities[g_mouseParticle].x, g_buffers->velocities[g_mouseParticle].y, g_buffers->velocities[g_mouseParticle].z);\n\n\t\t\tg_mousePos = origin + dir*g_mouseT;\n\t\t\tg_mouseMass = g_buffers->positions[g_mouseParticle].w;\n\t\t\tg_buffers->positions[g_mouseParticle].w = 0.0f;\t\t// increase picked particle's mass to force it towards the point\n\t\t}\n\n\t\tg_mousePicked = false;\n\t}\n\n\t// update picked particle position\n\tif (g_mouseParticle != -1)\n\t{\n\t\tVec3 p = Lerp(Vec3(g_buffers->positions[g_mouseParticle]), g_mousePos, 0.8f);\n\t\tVec3 delta = p - Vec3(g_buffers->positions[g_mouseParticle]);\n\n\t\tg_buffers->positions[g_mouseParticle].x = p.x;\n\t\tg_buffers->positions[g_mouseParticle].y = p.y;\n\t\tg_buffers->positions[g_mouseParticle].z = p.z;\n\n\t\tg_buffers->velocities[g_mouseParticle].x = delta.x / g_dt;\n\t\tg_buffers->velocities[g_mouseParticle].y = delta.y / g_dt;\n\t\tg_buffers->velocities[g_mouseParticle].z = delta.z / g_dt;\n\t}\n}\n\nvoid UpdateWind()\n{\n\tg_windTime += g_dt;\n\n\tconst Vec3 kWindDir = Vec3(3.0f, 15.0f, 0.0f);\n\tconst float kNoise = Perlin1D(g_windTime*g_windFrequency, 10, 0.25f);\n\tVec3 wind = g_windStrength*kWindDir*Vec3(kNoise, fabsf(kNoise), 0.0f);\n\n\tg_params.wind[0] = wind.x;\n\tg_params.wind[1] = wind.y;\n\tg_params.wind[2] = wind.z;\n\n\tif (g_wavePool)\n\t{\n\t\tg_waveTime += g_dt;\n\n\t\tg_params.planes[2][3] = g_wavePlane + (sinf(float(g_waveTime)*g_waveFrequency - kPi*0.5f)*0.5f + 0.5f)*g_waveAmplitude;\n\t}\n}\n\nvoid SyncScene()\n{\n\t// let the scene send updates to flex directly\n\tg_scenes[g_scene]->Sync();\n}\n\nvoid UpdateScene()\n{\n\t// give scene a chance to make changes to particle buffers\n\tg_scenes[g_scene]->Update();\n}\n\nvoid RenderScene()\n{\n\tconst int numParticles = NvFlexGetActiveCount(g_solver);\n\tconst int numDiffuse = g_buffers->diffuseCount[0];\n\n\t//---------------------------------------------------\n\t// use VBO buffer wrappers to allow Flex to write directly to the OpenGL buffers\n\t// Flex will take care of any CUDA interop mapping/unmapping during the get() operations\n\n\tif (numParticles)\n\t{\n\n\t\tif (g_interop)\n\t\t{\n\t\t\t// copy data directly from solver to the renderer buffers\n\t\t\tUpdateFluidRenderBuffers(g_fluidRenderBuffers, g_solver, g_drawEllipsoids, g_drawDensity);\n\t\t}\n\t\telse\n\t\t{\n\t\t\t// copy particle data to GPU render device\n\n\t\t\tif (g_drawEllipsoids)\n\t\t\t{\n\t\t\t\t// if fluid surface rendering then update with smooth positions and anisotropy\n\t\t\t\tUpdateFluidRenderBuffers(g_fluidRenderBuffers,\n\t\t\t\t\t&g_buffers->smoothPositions[0],\n\t\t\t\t\t(g_drawDensity) ? &g_buffers->densities[0] : (float*)&g_buffers->phases[0],\n\t\t\t\t\t&g_buffers->anisotropy1[0],\n\t\t\t\t\t&g_buffers->anisotropy2[0],\n\t\t\t\t\t&g_buffers->anisotropy3[0],\n\t\t\t\t\tg_buffers->positions.size(),\n\t\t\t\t\t&g_buffers->activeIndices[0],\n\t\t\t\t\tnumParticles);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\t// otherwise just send regular positions and no anisotropy\n\t\t\t\tUpdateFluidRenderBuffers(g_fluidRenderBuffers,\n\t\t\t\t\t&g_buffers->positions[0],\n\t\t\t\t\t(float*)&g_buffers->phases[0],\n\t\t\t\t\tNULL, NULL, NULL,\n\t\t\t\t\tg_buffers->positions.size(),\n\t\t\t\t\t&g_buffers->activeIndices[0],\n\t\t\t\t\tnumParticles);\n\t\t\t}\n\t\t}\n\t}\n\n\t// GPU Render time doesn't include CPU->GPU copy time\n\tGraphicsTimerBegin();\n\t\n\tif (numDiffuse)\n\t{\n\t\tif (g_interop)\n\t\t{\n\t\t\t// copy data directly from solver to the renderer buffers\n\t\t\tUpdateDiffuseRenderBuffers(g_diffuseRenderBuffers, g_solver);\n\t\t}\n\t\telse\n\t\t{\n\t\t\t// copy diffuse particle data from host to GPU render device \n\t\t\tUpdateDiffuseRenderBuffers(g_diffuseRenderBuffers,\n\t\t\t\t&g_buffers->diffusePositions[0],\n\t\t\t\t&g_buffers->diffuseVelocities[0],\n\t\t\t\tnumDiffuse);\n\t\t}\n\t}\n\t\n\t//---------------------------------------\n\t// setup view and state\n\n\tfloat fov = kPi / 4.0f;\n\tfloat aspect = float(g_screenWidth) / g_screenHeight;\n\n\tMatrix44 proj = ProjectionMatrix(RadToDeg(fov), aspect, g_camNear, g_camFar);\n\tMatrix44 view = RotationMatrix(-g_camAngle.x, Vec3(0.0f, 1.0f, 0.0f))*RotationMatrix(-g_camAngle.y, Vec3(cosf(-g_camAngle.x), 0.0f, sinf(-g_camAngle.x)))*TranslationMatrix(-Point3(g_camPos));\n\n\t//------------------------------------\n\t// lighting pass\n\n\t// expand scene bounds to fit most scenes\n\tg_sceneLower = Min(g_sceneLower, Vec3(-2.0f, 0.0f, -2.0f));\n\tg_sceneUpper = Max(g_sceneUpper, Vec3(2.0f, 2.0f, 2.0f));\n\n\tVec3 sceneExtents = g_sceneUpper - g_sceneLower;\n\tVec3 sceneCenter = 0.5f*(g_sceneUpper + g_sceneLower);\n\n\tg_lightDir = Normalize(Vec3(5.0f, 15.0f, 7.5f));\n\tg_lightPos = sceneCenter + g_lightDir*Length(sceneExtents)*g_lightDistance;\n\tg_lightTarget = sceneCenter;\n\n\t// calculate tight bounds for shadow frustum\n\tfloat lightFov = 2.0f*atanf(Length(g_sceneUpper - sceneCenter) / Length(g_lightPos - sceneCenter));\n\n\t// scale and clamp fov for aesthetics\n\tlightFov = Clamp(lightFov, DegToRad(25.0f), DegToRad(65.0f));\n\n\tMatrix44 lightPerspective = ProjectionMatrix(RadToDeg(lightFov), 1.0f, 1.0f, 1000.0f);\n\tMatrix44 lightView = LookAtMatrix(Point3(g_lightPos), Point3(g_lightTarget));\n\tMatrix44 lightTransform = lightPerspective*lightView;\n\n\t// radius used for drawing\n\tfloat radius = Max(g_params.solidRestDistance, g_params.fluidRestDistance)*0.5f*g_pointScale;\n\n\t//-------------------------------------\n\t// shadowing pass \n\n\tif (g_meshSkinIndices.size())\n\t\tSkinMesh();\n\n\t// create shadow maps\n\tShadowBegin(g_shadowMap);\n\n\tSetView(lightView, lightPerspective);\n\tSetCullMode(false);\n\n\t// give scene a chance to do custom drawing\n\tg_scenes[g_scene]->Draw(1);\n\n\tif (g_drawMesh)\n\t\tDrawMesh(g_mesh, g_meshColor);\n\n\tDrawShapes();\n\n\tif (g_drawCloth && g_buffers->triangles.size())\n\t{\n\t\tDrawCloth(&g_buffers->positions[0], &g_buffers->normals[0], g_buffers->uvs.size() ? &g_buffers->uvs[0].x : NULL, &g_buffers->triangles[0], g_buffers->triangles.size() / 3, g_buffers->positions.size(), 3, g_expandCloth);\n\t}\n\n\tif (g_drawRopes)\n\t{\n\t\tfor (size_t i = 0; i < g_ropes.size(); ++i)\n\t\t\tDrawRope(&g_buffers->positions[0], &g_ropes[i].mIndices[0], g_ropes[i].mIndices.size(), radius*g_ropeScale, i);\n\t}\n\n\tint shadowParticles = numParticles;\n\tint shadowParticlesOffset = 0;\n\n\tif (!g_drawPoints)\n\t{\n\t\tshadowParticles = 0;\n\n\t\tif (g_drawEllipsoids)\n\t\t{\n\t\t\tshadowParticles = numParticles - g_numSolidParticles;\n\t\t\tshadowParticlesOffset = g_numSolidParticles;\n\t\t}\n\t}\n\telse\n\t{\n\t\tint offset = g_drawMesh ? g_numSolidParticles : 0;\n\n\t\tshadowParticles = numParticles - offset;\n\t\tshadowParticlesOffset = offset;\n\t}\n\n\tif (g_buffers->activeIndices.size())\n\t\tDrawPoints(g_fluidRenderBuffers, shadowParticles, shadowParticlesOffset, radius, 2048, 1.0f, lightFov, g_lightPos, g_lightTarget, lightTransform, g_shadowMap, g_drawDensity);\n\n\tShadowEnd();\n\n\t//----------------\n\t// lighting pass\n\n\tBindSolidShader(g_lightPos, g_lightTarget, lightTransform, g_shadowMap, 0.0f, Vec4(g_clearColor, g_fogDistance));\n\n\tSetView(view, proj);\n\tSetCullMode(true);\n\n\t// When the benchmark measures async compute, we need a graphics workload that runs for a whole frame.\n\t// We do this by rerendering our simple graphics many times.\n\tint passes = g_increaseGfxLoadForAsyncComputeTesting ? 50 : 1;\n\n\tfor (int i = 0; i != passes; i++)\n\t{\n\n\t\tDrawPlanes((Vec4*)g_params.planes, g_params.numPlanes, g_drawPlaneBias);\n\n\t\tif (g_drawMesh)\n\t\t\tDrawMesh(g_mesh, g_meshColor);\n\n\n\t\tDrawShapes();\n\n\t\tif (g_drawCloth && g_buffers->triangles.size())\n\t\t\tDrawCloth(&g_buffers->positions[0], &g_buffers->normals[0], g_buffers->uvs.size() ? &g_buffers->uvs[0].x : NULL, &g_buffers->triangles[0], g_buffers->triangles.size() / 3, g_buffers->positions.size(), 3, g_expandCloth);\n\n\t\tif (g_drawRopes)\n\t\t{\n\t\t\tfor (size_t i = 0; i < g_ropes.size(); ++i)\n\t\t\t\tDrawRope(&g_buffers->positions[0], &g_ropes[i].mIndices[0], g_ropes[i].mIndices.size(), g_params.radius*0.5f*g_ropeScale, i);\n\t\t}\n\n\t\t// give scene a chance to do custom drawing\n\t\tg_scenes[g_scene]->Draw(0);\n\t}\n\tUnbindSolidShader();\n\n\n\t// first pass of diffuse particles (behind fluid surface)\n\tif (g_drawDiffuse)\n\t\tRenderDiffuse(g_fluidRenderer, g_diffuseRenderBuffers, numDiffuse, radius*g_diffuseScale, float(g_screenWidth), aspect, fov, g_diffuseColor, g_lightPos, g_lightTarget, lightTransform, g_shadowMap, g_diffuseMotionScale, g_diffuseInscatter, g_diffuseOutscatter, g_diffuseShadow, false);\n\n\tif (g_drawEllipsoids)\n\t{\n\t\t// draw solid particles separately\n\t\tif (g_numSolidParticles && g_drawPoints)\n\t\t\tDrawPoints(g_fluidRenderBuffers, g_numSolidParticles, 0, radius, float(g_screenWidth), aspect, fov, g_lightPos, g_lightTarget, lightTransform, g_shadowMap, g_drawDensity);\n\n\t\t// render fluid surface\n\t\tRenderEllipsoids(g_fluidRenderer, g_fluidRenderBuffers, numParticles - g_numSolidParticles, g_numSolidParticles, radius, float(g_screenWidth), aspect, fov, g_lightPos, g_lightTarget, lightTransform, g_shadowMap, g_fluidColor, g_blur, g_ior, g_drawOpaque);\n\n\t\t// second pass of diffuse particles for particles in front of fluid surface\n\t\tif (g_drawDiffuse)\n\t\t\tRenderDiffuse(g_fluidRenderer, g_diffuseRenderBuffers, numDiffuse, radius*g_diffuseScale, float(g_screenWidth), aspect, fov, g_diffuseColor, g_lightPos, g_lightTarget, lightTransform, g_shadowMap, g_diffuseMotionScale, g_diffuseInscatter, g_diffuseOutscatter, g_diffuseShadow, true);\n\t}\n\telse\n\t{\n\t\t// draw all particles as spheres\n\t\tif (g_drawPoints)\n\t\t{\n\t\t\tint offset = g_drawMesh ? g_numSolidParticles : 0;\n\n\t\t\tif (g_buffers->activeIndices.size())\n\t\t\t\tDrawPoints(g_fluidRenderBuffers, numParticles - offset, offset, radius, float(g_screenWidth), aspect, fov, g_lightPos, g_lightTarget, lightTransform, g_shadowMap, g_drawDensity);\n\t\t}\n\t}\n\n\tGraphicsTimerEnd();\n}\n\nvoid RenderDebug()\n{\n\tif (g_mouseParticle != -1)\n\t{\n\t\t// draw mouse spring\n\t\tBeginLines();\n\t\tDrawLine(g_mousePos, Vec3(g_buffers->positions[g_mouseParticle]), Vec4(1.0f));\n\t\tEndLines();\n\t}\n\n\t// springs\n\tif (g_drawSprings)\n\t{\n\t\tVec4 color;\n\n\t\tif (g_drawSprings == 1)\n\t\t{\n\t\t\t// stretch \n\t\t\tcolor = Vec4(0.0f, 0.0f, 1.0f, 0.8f);\n\t\t}\n\t\tif (g_drawSprings == 2)\n\t\t{\n\t\t\t// tether\n\t\t\tcolor = Vec4(0.0f, 1.0f, 0.0f, 0.8f);\n\t\t}\n\n\t\tBeginLines();\n\n\t\tint start = 0;\n\n\t\tfor (int i = start; i < g_buffers->springLengths.size(); ++i)\n\t\t{\n\t\t\tif (g_drawSprings == 1 && g_buffers->springStiffness[i] < 0.0f)\n\t\t\t\tcontinue;\n\t\t\tif (g_drawSprings == 2 && g_buffers->springStiffness[i] > 0.0f)\n\t\t\t\tcontinue;\n\n\t\t\tint a = g_buffers->springIndices[i * 2];\n\t\t\tint b = g_buffers->springIndices[i * 2 + 1];\n\n\t\t\tDrawLine(Vec3(g_buffers->positions[a]), Vec3(g_buffers->positions[b]), color);\n\t\t}\n\n\t\tEndLines();\n\t}\n\n\t// visualize contacts against the environment\n\tif (g_drawContacts)\n\t{\n\t\tconst int maxContactsPerParticle = 6;\n\n\t\tNvFlexVector<Vec4> contactPlanes(g_flexLib, g_buffers->positions.size()*maxContactsPerParticle);\n\t\tNvFlexVector<Vec4> contactVelocities(g_flexLib, g_buffers->positions.size()*maxContactsPerParticle);\n\t\tNvFlexVector<int> contactIndices(g_flexLib, g_buffers->positions.size());\n\t\tNvFlexVector<unsigned int> contactCounts(g_flexLib, g_buffers->positions.size());\n\n\t\tNvFlexGetContacts(g_solver, contactPlanes.buffer, contactVelocities.buffer, contactIndices.buffer, contactCounts.buffer);\n\n\t\t// ensure transfers have finished\n\t\tcontactPlanes.map();\n\t\tcontactVelocities.map();\n\t\tcontactIndices.map();\n\t\tcontactCounts.map();\n\n\t\tBeginLines();\n\n\t\tfor (int i = 0; i < int(g_buffers->activeIndices.size()); ++i)\n\t\t{\n\t\t\tconst int contactIndex = contactIndices[g_buffers->activeIndices[i]];\n\t\t\tconst unsigned int count = contactCounts[contactIndex];\n\n\t\t\tconst float scale = 0.1f;\n\n\t\t\tfor (unsigned int c = 0; c < count; ++c)\n\t\t\t{\n\t\t\t\tVec4 plane = contactPlanes[contactIndex*maxContactsPerParticle + c];\n\n\t\t\t\tDrawLine(Vec3(g_buffers->positions[g_buffers->activeIndices[i]]), \n\t\t\t\t\t\t Vec3(g_buffers->positions[g_buffers->activeIndices[i]]) + Vec3(plane)*scale,\n\t\t\t\t\t\t Vec4(0.0f, 1.0f, 0.0f, 0.0f));\n\t\t\t}\n\t\t}\n\n\t\tEndLines();\n\t}\n\t\n\tif (g_drawBases)\n\t{\n\t\tfor (int i = 0; i < int(g_buffers->rigidRotations.size()); ++i)\n\t\t{\n\t\t\tBeginLines();\n\n\t\t\tfloat size = 0.1f;\n\n\t\t\tfor (int b = 0; b < 3; ++b)\n\t\t\t{\n\t\t\t\tVec3 color;\n\t\t\t\tcolor[b] = 1.0f;\n\t\t\t\n\t\t\t\tMatrix33 frame(g_buffers->rigidRotations[i]);\n\n\t\t\t\tDrawLine(Vec3(g_buffers->rigidTranslations[i]),\n\t\t\t\t\t\t Vec3(g_buffers->rigidTranslations[i] + frame.cols[b] * size),\n\t\t\t\t\t\t Vec4(color, 0.0f));\n\t\t\t}\n\n\t\t\tEndLines();\n\t\t}\n\t}\n\n\tif (g_drawNormals)\n\t{\n\t\tNvFlexGetNormals(g_solver, g_buffers->normals.buffer, NULL);\n\n\t\tBeginLines();\n\n\t\tfor (int i = 0; i < g_buffers->normals.size(); ++i)\n\t\t{\n\t\t\tDrawLine(Vec3(g_buffers->positions[i]),\n\t\t\t\t\t Vec3(g_buffers->positions[i] - g_buffers->normals[i] * g_buffers->normals[i].w),\n\t\t\t\t\t Vec4(0.0f, 1.0f, 0.0f, 0.0f));\n\t\t}\n\n\t\tEndLines();\n\t}\n}\n\nvoid DrawShapes()\n{\n\tfor (int i = 0; i < g_buffers->shapeFlags.size(); ++i)\n\t{\n\t\tconst int flags = g_buffers->shapeFlags[i];\n\n\t\t// unpack flags\n\t\tint type = int(flags&eNvFlexShapeFlagTypeMask);\n\t\t//bool dynamic = int(flags&eNvFlexShapeFlagDynamic) > 0;\n\n\t\tVec3 color = Vec3(0.9f);\n\n\t\tif (flags & eNvFlexShapeFlagTrigger)\n\t\t{\n\t\t\tcolor = Vec3(0.6f, 1.0, 0.6f);\n\n\t\t\tSetFillMode(true);\t\t\n\t\t}\n\n\t\t// render with prev positions to match particle update order\n\t\t// can also think of this as current/next\n\t\tconst Quat rotation = g_buffers->shapePrevRotations[i];\n\t\tconst Vec3 position = Vec3(g_buffers->shapePrevPositions[i]);\n\n\t\tNvFlexCollisionGeometry geo = g_buffers->shapeGeometry[i];\n\n\t\tif (type == eNvFlexShapeSphere)\n\t\t{\n\t\t\tMesh* sphere = CreateSphere(20, 20, geo.sphere.radius);\n\n\t\t\tMatrix44 xform = TranslationMatrix(Point3(position))*RotationMatrix(Quat(rotation));\n\t\t\tsphere->Transform(xform);\n\n\t\t\tDrawMesh(sphere, Vec3(color));\n\n\t\t\tdelete sphere;\n\t\t}\n\t\telse if (type == eNvFlexShapeCapsule)\n\t\t{\n\t\t\tMesh* capsule = CreateCapsule(10, 20, geo.capsule.radius, geo.capsule.halfHeight);\n\n\t\t\t// transform to world space\n\t\t\tMatrix44 xform = TranslationMatrix(Point3(position))*RotationMatrix(Quat(rotation))*RotationMatrix(DegToRad(-90.0f), Vec3(0.0f, 0.0f, 1.0f));\n\t\t\tcapsule->Transform(xform);\n\n\t\t\tDrawMesh(capsule, Vec3(color));\n\n\t\t\tdelete capsule;\n\t\t}\n\t\telse if (type == eNvFlexShapeBox)\n\t\t{\n\t\t\tMesh* box = CreateCubeMesh();\n\n\t\t\tMatrix44 xform = TranslationMatrix(Point3(position))*RotationMatrix(Quat(rotation))*ScaleMatrix(Vec3(geo.box.halfExtents)*2.0f);\n\t\t\tbox->Transform(xform);\n\n\t\t\tDrawMesh(box, Vec3(color));\n\t\t\tdelete box;\t\t\t\n\t\t}\n\t\telse if (type == eNvFlexShapeConvexMesh)\n\t\t{\n\t\t\tif (g_convexes.find(geo.convexMesh.mesh) != g_convexes.end())\n\t\t\t{\n\t\t\t\tGpuMesh* m = g_convexes[geo.convexMesh.mesh];\n\n\t\t\t\tif (m)\n\t\t\t\t{\n\t\t\t\t\tMatrix44 xform = TranslationMatrix(Point3(g_buffers->shapePositions[i]))*RotationMatrix(Quat(g_buffers->shapeRotations[i]))*ScaleMatrix(geo.convexMesh.scale);\n\t\t\t\t\tDrawGpuMesh(m, xform, Vec3(color));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\telse if (type == eNvFlexShapeTriangleMesh)\n\t\t{\n\t\t\tif (g_meshes.find(geo.triMesh.mesh) != g_meshes.end())\n\t\t\t{\n\t\t\t\tGpuMesh* m = g_meshes[geo.triMesh.mesh];\n\n\t\t\t\tif (m)\n\t\t\t\t{\n\t\t\t\t\tMatrix44 xform = TranslationMatrix(Point3(position))*RotationMatrix(Quat(rotation))*ScaleMatrix(geo.triMesh.scale);\n\t\t\t\t\tDrawGpuMesh(m, xform, Vec3(color));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\telse if (type == eNvFlexShapeSDF)\n\t\t{\n\t\t\tif (g_fields.find(geo.sdf.field) != g_fields.end())\n\t\t\t{\n\t\t\t\tGpuMesh* m = g_fields[geo.sdf.field];\n\n\t\t\t\tif (m)\n\t\t\t\t{\n\t\t\t\t\tMatrix44 xform = TranslationMatrix(Point3(position))*RotationMatrix(Quat(rotation))*ScaleMatrix(geo.sdf.scale);\n\t\t\t\t\tDrawGpuMesh(m, xform, Vec3(color));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tSetFillMode(g_wireframe);\n}\n\n\n// returns the new scene if one is selected\nint DoUI()\n{\n\t// gui may set a new scene\n\tint newScene = -1;\n\n\tif (g_showHelp)\n\t{\n\t\tconst int numParticles = NvFlexGetActiveCount(g_solver);\t\t\n\t\tconst int numDiffuse = g_buffers->diffuseCount[0];\n\n\t\tint x = g_screenWidth - 200;\n\t\tint y = g_screenHeight - 23;\n\n\t\t// imgui\n\t\tunsigned char button = 0;\n\t\tif (g_lastb == SDL_BUTTON_LEFT)\n\t\t\tbutton = IMGUI_MBUT_LEFT;\n\t\telse if (g_lastb == SDL_BUTTON_RIGHT)\n\t\t\tbutton = IMGUI_MBUT_RIGHT;\n\n\t\timguiBeginFrame(g_lastx, g_screenHeight - g_lasty, button, 0);\n\n\t\tx += 180;\n\n\t\tint fontHeight = 13;\n\n\t\tif (1)\n\t\t{\n\t\t\tDrawImguiString(x, y, Vec3(1.0f), IMGUI_ALIGN_RIGHT, \"Frame: %d\", g_frame); y -= fontHeight * 2;\n\n\t\t\tif (!g_ffmpeg)\n\t\t\t{\n\t\t\t\tDrawImguiString(x, y, Vec3(1.0f), IMGUI_ALIGN_RIGHT, \"Frame Time: %.2fms\", g_realdt*1000.0f); y -= fontHeight * 2;\n\n\t\t\t\t// If detailed profiling is enabled, then these timers will contain the overhead of the detail timers, so we won't display them.\n\t\t\t\tif (!g_profile)\n\t\t\t\t{\n\t\t\t\t\tDrawImguiString(x, y, Vec3(1.0f), IMGUI_ALIGN_RIGHT, \"Sim Time (CPU): %.2fms\", g_updateTime*1000.0f); y -= fontHeight;\n\t\t\t\t\tDrawImguiString(x, y, Vec3(0.97f, 0.59f, 0.27f), IMGUI_ALIGN_RIGHT, \"Sim Latency (GPU): %.2fms\", g_simLatency); y -= fontHeight * 2;\n\n\t\t\t\t\tBenchmarkUpdateGraph();\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\ty -= fontHeight * 3;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tDrawImguiString(x, y, Vec3(1.0f), IMGUI_ALIGN_RIGHT, \"Particle Count: %d\", numParticles); y -= fontHeight;\n\t\t\tDrawImguiString(x, y, Vec3(1.0f), IMGUI_ALIGN_RIGHT, \"Diffuse Count: %d\", numDiffuse); y -= fontHeight;\n\t\t\tDrawImguiString(x, y, Vec3(1.0f), IMGUI_ALIGN_RIGHT, \"Rigid Count: %d\", g_buffers->rigidOffsets.size() > 0 ? g_buffers->rigidOffsets.size() - 1 : 0); y -= fontHeight;\n\t\t\tDrawImguiString(x, y, Vec3(1.0f), IMGUI_ALIGN_RIGHT, \"Spring Count: %d\", g_buffers->springLengths.size()); y -= fontHeight;\n\t\t\tDrawImguiString(x, y, Vec3(1.0f), IMGUI_ALIGN_RIGHT, \"Num Substeps: %d\", g_numSubsteps); y -= fontHeight;\n\t\t\tDrawImguiString(x, y, Vec3(1.0f), IMGUI_ALIGN_RIGHT, \"Num Iterations: %d\", g_params.numIterations); y -= fontHeight * 2;\n\n\t\t\tDrawImguiString(x, y, Vec3(1.0f), IMGUI_ALIGN_RIGHT, \"Device: %s\", g_deviceName); y -= fontHeight * 2;\n\t\t}\n\n\t\tif (g_profile)\n\t\t{\n\t\t\tDrawImguiString(x, y, Vec3(0.97f, 0.59f, 0.27f), IMGUI_ALIGN_RIGHT, \"Total GPU Sim Latency: %.2fms\", g_timers.total); y -= fontHeight * 2;\n\n\t\t\tDrawImguiString(x, y, Vec3(0.0f, 1.0f, 0.0f), IMGUI_ALIGN_RIGHT, \"GPU Latencies\"); y -= fontHeight;\n\n\t\t\tDrawImguiString(x, y, Vec3(1.0f), IMGUI_ALIGN_RIGHT, \"Predict: %.2fms\", g_timers.predict); y -= fontHeight;\n\t\t\tDrawImguiString(x, y, Vec3(1.0f), IMGUI_ALIGN_RIGHT, \"Create Cell Indices: %.2fms\", g_timers.createCellIndices); y -= fontHeight;\n\t\t\tDrawImguiString(x, y, Vec3(1.0f), IMGUI_ALIGN_RIGHT, \"Sort Cell Indices: %.2fms\", g_timers.sortCellIndices); y -= fontHeight;\n\t\t\tDrawImguiString(x, y, Vec3(1.0f), IMGUI_ALIGN_RIGHT, \"Reorder: %.2fms\", g_timers.reorder); y -= fontHeight;\n\t\t\tDrawImguiString(x, y, Vec3(1.0f), IMGUI_ALIGN_RIGHT, \"CreateGrid: %.2fms\", g_timers.createGrid); y -= fontHeight;\n\t\t\tDrawImguiString(x, y, Vec3(1.0f), IMGUI_ALIGN_RIGHT, \"Collide Particles: %.2fms\", g_timers.collideParticles); y -= fontHeight;\n\t\t\tDrawImguiString(x, y, Vec3(1.0f), IMGUI_ALIGN_RIGHT, \"Collide Shapes: %.2fms\", g_timers.collideShapes); y -= fontHeight;\n\t\t\tDrawImguiString(x, y, Vec3(1.0f), IMGUI_ALIGN_RIGHT, \"Collide Triangles: %.2fms\", g_timers.collideTriangles); y -= fontHeight;\n\t\t\tDrawImguiString(x, y, Vec3(1.0f), IMGUI_ALIGN_RIGHT, \"Calculate Density: %.2fms\", g_timers.calculateDensity); y -= fontHeight;\n\t\t\tDrawImguiString(x, y, Vec3(1.0f), IMGUI_ALIGN_RIGHT, \"Solve Densities: %.2fms\", g_timers.solveDensities); y -= fontHeight;\n\t\t\tDrawImguiString(x, y, Vec3(1.0f), IMGUI_ALIGN_RIGHT, \"Solve Velocities: %.2fms\", g_timers.solveVelocities); y -= fontHeight;\n\t\t\tDrawImguiString(x, y, Vec3(1.0f), IMGUI_ALIGN_RIGHT, \"Solve Rigids: %.2fms\", g_timers.solveShapes); y -= fontHeight;\n\t\t\tDrawImguiString(x, y, Vec3(1.0f), IMGUI_ALIGN_RIGHT, \"Solve Springs: %.2fms\", g_timers.solveSprings); y -= fontHeight;\n\t\t\tDrawImguiString(x, y, Vec3(1.0f), IMGUI_ALIGN_RIGHT, \"Solve Inflatables: %.2fms\", g_timers.solveInflatables); y -= fontHeight;\n\t\t\tDrawImguiString(x, y, Vec3(1.0f), IMGUI_ALIGN_RIGHT, \"Solve Contacts: %.2fms\", g_timers.solveContacts); y -= fontHeight;\n\t\t\tDrawImguiString(x, y, Vec3(1.0f), IMGUI_ALIGN_RIGHT, \"Apply Deltas: %.2fms\", g_timers.applyDeltas); y -= fontHeight;\n\t\t\tDrawImguiString(x, y, Vec3(1.0f), IMGUI_ALIGN_RIGHT, \"Finalize: %.2fms\", g_timers.finalize); y -= fontHeight;\n\t\t\tDrawImguiString(x, y, Vec3(1.0f), IMGUI_ALIGN_RIGHT, \"Update Triangles: %.2fms\", g_timers.updateTriangles); y -= fontHeight;\n\t\t\tDrawImguiString(x, y, Vec3(1.0f), IMGUI_ALIGN_RIGHT, \"Update Normals: %.2fms\", g_timers.updateNormals); y -= fontHeight;\n\t\t\tDrawImguiString(x, y, Vec3(1.0f), IMGUI_ALIGN_RIGHT, \"Update Bounds: %.2fms\", g_timers.updateBounds); y -= fontHeight;\n\t\t\tDrawImguiString(x, y, Vec3(1.0f), IMGUI_ALIGN_RIGHT, \"Calculate Anisotropy: %.2fms\", g_timers.calculateAnisotropy); y -= fontHeight;\n\t\t\tDrawImguiString(x, y, Vec3(1.0f), IMGUI_ALIGN_RIGHT, \"Update Diffuse: %.2fms\", g_timers.updateDiffuse); y -= fontHeight * 2;\n\t\t}\n\n\t\tx -= 180;\n\n\t\tint uiOffset = 250;\n\t\tint uiBorder = 20;\n\t\tint uiWidth = 200;\n\t\tint uiHeight = g_screenHeight - uiOffset - uiBorder * 3;\n\t\tint uiLeft = uiBorder;\n\n\t\tif (g_tweakPanel)\n\t\t\timguiBeginScrollArea(\"Scene\", uiLeft, g_screenHeight - uiBorder - uiOffset, uiWidth, uiOffset, &g_levelScroll);\n\t\telse\n\t\t\timguiBeginScrollArea(\"Scene\", uiLeft, uiBorder, uiWidth, g_screenHeight - uiBorder - uiBorder, &g_levelScroll);\n\n\t\tfor (int i = 0; i < int(g_scenes.size()); ++i)\n\t\t{\n\t\t\tunsigned int color = g_scene == i ? imguiRGBA(255, 151, 61, 255) : imguiRGBA(255, 255, 255, 200);\n\t\t\tif (imguiItem(g_scenes[i]->GetName(), true, color)) // , i == g_selectedScene))\n\t\t\t{\n\t\t\t\tnewScene = i;\n\t\t\t}\n\t\t}\n\n\t\timguiEndScrollArea();\n\n\t\tif (g_tweakPanel)\n\t\t{\n\t\t\tstatic int scroll = 0;\n\n\t\t\timguiBeginScrollArea(\"Options\", uiLeft, g_screenHeight - uiBorder - uiHeight - uiOffset - uiBorder, uiWidth, uiHeight, &scroll);\n\t\t\timguiSeparatorLine();\n\n\t\t\t// global options\n\t\t\timguiLabel(\"Global\");\n\t\t\tif (imguiCheck(\"Emit particles\", g_emit))\n\t\t\t\tg_emit = !g_emit;\n\n\t\t\tif (imguiCheck(\"Pause\", g_pause))\n\t\t\t\tg_pause = !g_pause;\n\n\t\t\timguiSeparatorLine();\n\n\t\t\tif (imguiCheck(\"Wireframe\", g_wireframe))\n\t\t\t\tg_wireframe = !g_wireframe;\n\n\t\t\tif (imguiCheck(\"Draw Points\", g_drawPoints))\n\t\t\t\tg_drawPoints = !g_drawPoints;\n\n\t\t\tif (imguiCheck(\"Draw Fluid\", g_drawEllipsoids))\n\t\t\t\tg_drawEllipsoids = !g_drawEllipsoids;\n\n\t\t\tif (imguiCheck(\"Draw Mesh\", g_drawMesh))\n\t\t\t{\n\t\t\t\tg_drawMesh = !g_drawMesh;\n\t\t\t\tg_drawRopes = !g_drawRopes;\n\t\t\t}\n\n\t\t\tif (imguiCheck(\"Draw Basis\", g_drawBases))\n\t\t\t\tg_drawBases = !g_drawBases;\n\n\t\t\tif (imguiCheck(\"Draw Springs\", bool(g_drawSprings != 0)))\n\t\t\t\tg_drawSprings = (g_drawSprings) ? 0 : 1;\n\n\t\t\tif (imguiCheck(\"Draw Contacts\", g_drawContacts))\n\t\t\t\tg_drawContacts = !g_drawContacts;\n\n\t\t\timguiSeparatorLine();\n\n\t\t\t// scene options\n\t\t\tg_scenes[g_scene]->DoGui();\n\n\t\tif (imguiButton(\"Reset Scene\"))\n\t\t\tg_resetScene = true;\n\n\t\t\timguiSeparatorLine();\n\n\t\t\tfloat n = float(g_numSubsteps);\n\t\t\tif (imguiSlider(\"Num Substeps\", &n, 1, 10, 1))\n\t\t\t\tg_numSubsteps = int(n);\n\n\t\t\tn = float(g_params.numIterations);\n\t\t\tif (imguiSlider(\"Num Iterations\", &n, 1, 20, 1))\n\t\t\t\tg_params.numIterations = int(n);\n\n\t\t\timguiSeparatorLine();\n\t\t\timguiSlider(\"Gravity X\", &g_params.gravity[0], -50.0f, 50.0f, 1.0f);\n\t\t\timguiSlider(\"Gravity Y\", &g_params.gravity[1], -50.0f, 50.0f, 1.0f);\n\t\t\timguiSlider(\"Gravity Z\", &g_params.gravity[2], -50.0f, 50.0f, 1.0f);\n\n\t\t\timguiSeparatorLine();\n\t\t\timguiSlider(\"Radius\", &g_params.radius, 0.01f, 0.5f, 0.01f);\n\t\t\timguiSlider(\"Solid Radius\", &g_params.solidRestDistance, 0.0f, 0.5f, 0.001f);\n\t\t\timguiSlider(\"Fluid Radius\", &g_params.fluidRestDistance, 0.0f, 0.5f, 0.001f);\n\n\t\t\t// common params\n\t\t\timguiSeparatorLine();\n\t\t\timguiSlider(\"Dynamic Friction\", &g_params.dynamicFriction, 0.0f, 1.0f, 0.01f);\n\t\t\timguiSlider(\"Static Friction\", &g_params.staticFriction, 0.0f, 1.0f, 0.01f);\n\t\t\timguiSlider(\"Particle Friction\", &g_params.particleFriction, 0.0f, 1.0f, 0.01f);\n\t\t\timguiSlider(\"Restitution\", &g_params.restitution, 0.0f, 1.0f, 0.01f);\n\t\t\timguiSlider(\"SleepThreshold\", &g_params.sleepThreshold, 0.0f, 1.0f, 0.01f);\n\t\t\timguiSlider(\"Shock Propagation\", &g_params.shockPropagation, 0.0f, 10.0f, 0.01f);\n\t\t\timguiSlider(\"Damping\", &g_params.damping, 0.0f, 10.0f, 0.01f);\n\t\t\timguiSlider(\"Dissipation\", &g_params.dissipation, 0.0f, 0.01f, 0.0001f);\n\t\t\timguiSlider(\"SOR\", &g_params.relaxationFactor, 0.0f, 5.0f, 0.01f);\n\n\t\t\timguiSlider(\"Collision Distance\", &g_params.collisionDistance, 0.0f, 0.5f, 0.001f);\n\t\t\timguiSlider(\"Collision Margin\", &g_params.shapeCollisionMargin, 0.0f, 5.0f, 0.01f);\n\n\t\t\t// cloth params\n\t\t\timguiSeparatorLine();\n\t\t\timguiSlider(\"Wind\", &g_windStrength, -1.0f, 1.0f, 0.01f);\n\t\t\timguiSlider(\"Drag\", &g_params.drag, 0.0f, 1.0f, 0.01f);\n\t\t\timguiSlider(\"Lift\", &g_params.lift, 0.0f, 1.0f, 0.01f);\n\t\t\timguiSeparatorLine();\n\n\t\t\t// fluid params\n\t\t\timguiSlider(\"Adhesion\", &g_params.adhesion, 0.0f, 10.0f, 0.01f);\n\t\t\timguiSlider(\"Cohesion\", &g_params.cohesion, 0.0f, 0.2f, 0.0001f);\n\t\t\timguiSlider(\"Surface Tension\", &g_params.surfaceTension, 0.0f, 50.0f, 0.01f);\n\t\t\timguiSlider(\"Viscosity\", &g_params.viscosity, 0.0f, 120.0f, 0.01f);\n\t\t\timguiSlider(\"Vorticicty Confinement\", &g_params.vorticityConfinement, 0.0f, 120.0f, 0.1f);\n\t\t\timguiSlider(\"Solid Pressure\", &g_params.solidPressure, 0.0f, 1.0f, 0.01f);\n\t\t\timguiSlider(\"Surface Drag\", &g_params.freeSurfaceDrag, 0.0f, 1.0f, 0.01f);\n\t\t\timguiSlider(\"Buoyancy\", &g_params.buoyancy, -1.0f, 1.0f, 0.01f);\n\n\t\t\timguiSeparatorLine();\n\t\t\timguiSlider(\"Anisotropy Scale\", &g_params.anisotropyScale, 0.0f, 30.0f, 0.01f);\n\t\t\timguiSlider(\"Smoothing\", &g_params.smoothing, 0.0f, 1.0f, 0.01f);\n\n\t\t\t// diffuse params\n\t\t\timguiSeparatorLine();\n\t\t\timguiSlider(\"Diffuse Threshold\", &g_params.diffuseThreshold, 0.0f, 1000.0f, 1.0f);\n\t\t\timguiSlider(\"Diffuse Buoyancy\", &g_params.diffuseBuoyancy, 0.0f, 2.0f, 0.01f);\n\t\t\timguiSlider(\"Diffuse Drag\", &g_params.diffuseDrag, 0.0f, 2.0f, 0.01f);\n\t\t\timguiSlider(\"Diffuse Scale\", &g_diffuseScale, 0.0f, 1.5f, 0.01f);\n\t\t\timguiSlider(\"Diffuse Alpha\", &g_diffuseColor.w, 0.0f, 3.0f, 0.01f);\n\t\t\timguiSlider(\"Diffuse Inscatter\", &g_diffuseInscatter, 0.0f, 2.0f, 0.01f);\n\t\t\timguiSlider(\"Diffuse Outscatter\", &g_diffuseOutscatter, 0.0f, 2.0f, 0.01f);\n\t\t\timguiSlider(\"Diffuse Motion Blur\", &g_diffuseMotionScale, 0.0f, 5.0f, 0.1f);\n\n\t\t\tn = float(g_params.diffuseBallistic);\n\t\t\tif (imguiSlider(\"Diffuse Ballistic\", &n, 1, 40, 1))\n\t\t\t\tg_params.diffuseBallistic = int(n);\n\n\t\t\timguiEndScrollArea();\n\t\t}\n\t\timguiEndFrame();\n\n\t\t// kick render commands\n\t\tDrawImguiGraph();\n\t}\n\n\treturn newScene;\n}\n\nvoid UpdateFrame()\n{\n\tstatic double lastTime;\n\n\t// real elapsed frame time\n\tdouble frameBeginTime = GetSeconds();\n\n\tg_realdt = float(frameBeginTime - lastTime);\n\tlastTime = frameBeginTime;\n\n\t// do gamepad input polling\n\tdouble currentTime = frameBeginTime;\n\tstatic double lastJoyTime = currentTime;\n\n\tif (g_gamecontroller && currentTime - lastJoyTime > g_dt)\n\t{\n\t\tlastJoyTime = currentTime;\n\n\t\tint leftStickX = SDL_GameControllerGetAxis(g_gamecontroller, SDL_CONTROLLER_AXIS_LEFTX);\n\t\tint leftStickY = SDL_GameControllerGetAxis(g_gamecontroller, SDL_CONTROLLER_AXIS_LEFTY);\n\t\tint rightStickX = SDL_GameControllerGetAxis(g_gamecontroller, SDL_CONTROLLER_AXIS_RIGHTX);\n\t\tint rightStickY = SDL_GameControllerGetAxis(g_gamecontroller, SDL_CONTROLLER_AXIS_RIGHTY);\n\t\tint leftTrigger = SDL_GameControllerGetAxis(g_gamecontroller, SDL_CONTROLLER_AXIS_TRIGGERLEFT);\n\t\tint rightTrigger = SDL_GameControllerGetAxis(g_gamecontroller, SDL_CONTROLLER_AXIS_TRIGGERRIGHT);\n\n\t\tVec2 leftStick(joyAxisFilter(leftStickX, 0), joyAxisFilter(leftStickY, 0));\n\t\tVec2 rightStick(joyAxisFilter(rightStickX, 1), joyAxisFilter(rightStickY, 1));\n\t\tVec2 trigger(leftTrigger / 32768.0f, rightTrigger / 32768.0f);\n\n\t\tif (leftStick.x != 0.0f || leftStick.y != 0.0f ||\n\t\t\trightStick.x != 0.0f || rightStick.y != 0.0f)\n\t\t{\n\t\t\t// note constant factor to speed up analog control compared to digital because it is more controllable.\n\t\t\tg_camVel.z = -4 * g_camSpeed * leftStick.y;\n\t\t\tg_camVel.x = 4 * g_camSpeed * leftStick.x;\n\n\t\t\t// cam orientation\n\t\t\tg_camAngle.x -= rightStick.x * 0.05f;\n\t\t\tg_camAngle.y -= rightStick.y * 0.05f;\n\t\t}\n\n\t\t// Handle left stick motion\n\t\tstatic bool bLeftStick = false;\n\n\t\tif ((leftStick.x != 0.0f || leftStick.y != 0.0f) && !bLeftStick)\n\t\t{\n\t\t\tbLeftStick = true;\n\t\t}\n\t\telse if ((leftStick.x == 0.0f && leftStick.y == 0.0f) && bLeftStick)\n\t\t{\n\t\t\tbLeftStick = false;\n\t\t\tg_camVel.z = -4 * g_camSpeed * leftStick.y;\n\t\t\tg_camVel.x = 4 * g_camSpeed * leftStick.x;\n\t\t}\n\n\t\t// Handle triggers as controller button events\n\t\tvoid ControllerButtonEvent(SDL_ControllerButtonEvent event);\n\n\t\tstatic bool bLeftTrigger = false;\n\t\tstatic bool bRightTrigger = false;\n\t\tSDL_ControllerButtonEvent e;\n\n\t\tif (!bLeftTrigger && trigger.x > 0.0f)\n\t\t{\n\t\t\te.type = SDL_CONTROLLERBUTTONDOWN;\n\t\t\te.button = SDL_CONTROLLER_BUTTON_LEFT_TRIGGER;\n\t\t\tControllerButtonEvent(e);\n\t\t\tbLeftTrigger = true;\n\t\t}\n\t\telse if (bLeftTrigger && trigger.x == 0.0f)\n\t\t{\n\t\t\te.type = SDL_CONTROLLERBUTTONUP;\n\t\t\te.button = SDL_CONTROLLER_BUTTON_LEFT_TRIGGER;\n\t\t\tControllerButtonEvent(e);\n\t\t\tbLeftTrigger = false;\n\t\t}\n\n\t\tif (!bRightTrigger && trigger.y > 0.0f)\n\t\t{\n\t\t\te.type = SDL_CONTROLLERBUTTONDOWN;\n\t\t\te.button = SDL_CONTROLLER_BUTTON_RIGHT_TRIGGER;\n\t\t\tControllerButtonEvent(e);\n\t\t\tbRightTrigger = true;\n\t\t}\n\t\telse if (bRightTrigger && trigger.y == 0.0f)\n\t\t{\n\t\t\te.type = SDL_CONTROLLERBUTTONDOWN;\n\t\t\te.button = SDL_CONTROLLER_BUTTON_RIGHT_TRIGGER;\n\t\t\tControllerButtonEvent(e);\n\t\t\tbRightTrigger = false;\n\t\t}\n\t}\n\n\t//-------------------------------------------------------------------\n\t// Scene Update\n\n\tdouble waitBeginTime = GetSeconds();\n\n\tMapBuffers(g_buffers);\n\n\tdouble waitEndTime = GetSeconds();\n\n\t// Getting timers causes CPU/GPU sync, so we do it after a map\n\tfloat newSimLatency = NvFlexGetDeviceLatency(g_solver, &g_GpuTimers.computeBegin, &g_GpuTimers.computeEnd, &g_GpuTimers.computeFreq);\n\tfloat newGfxLatency = RendererGetDeviceTimestamps(&g_GpuTimers.renderBegin, &g_GpuTimers.renderEnd, &g_GpuTimers.renderFreq);\n\t(void)newGfxLatency;\n\n\tUpdateCamera();\n\n\tif (!g_pause || g_step)\n\t{\n\t\tUpdateEmitters();\n\t\tUpdateMouse();\n\t\tUpdateWind();\n\t\tUpdateScene();\n\t}\n\n\t//-------------------------------------------------------------------\n\t// Render\n\n\tdouble renderBeginTime = GetSeconds();\n\n\tif (g_profile && (!g_pause || g_step))\n\t{\n\t\tif (g_benchmark)\n\t\t{\n\t\t\tg_numDetailTimers = NvFlexGetDetailTimers(g_solver, &g_detailTimers);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tmemset(&g_timers, 0, sizeof(g_timers));\n\t\t\tNvFlexGetTimers(g_solver, &g_timers);\n\t\t}\n\t}\n\n\tStartFrame(Vec4(g_clearColor, 1.0f));\n\n\t// main scene render\n\tRenderScene();\n\tRenderDebug();\n\n\tint newScene = DoUI();\n\n\tEndFrame();\n\n\t// If user has disabled async compute, ensure that no compute can overlap \n\t// graphics by placing a sync between them\t\n\tif (!g_useAsyncCompute)\n\t\tNvFlexComputeWaitForGraphics(g_flexLib);\n\n\tUnmapBuffers(g_buffers);\n\n\t// move mouse particle (must be done here as GetViewRay() uses the GL projection state)\n\tif (g_mouseParticle != -1)\n\t{\n\t\tVec3 origin, dir;\n\t\tGetViewRay(g_lastx, g_screenHeight - g_lasty, origin, dir);\n\n\t\tg_mousePos = origin + dir*g_mouseT;\n\t}\n\n\tif (g_capture)\n\t{\n\t\tTgaImage img;\n\t\timg.m_width = g_screenWidth;\n\t\timg.m_height = g_screenHeight;\n\t\timg.m_data = new uint32_t[g_screenWidth*g_screenHeight];\n\n\t\tReadFrame((int*)img.m_data, g_screenWidth, g_screenHeight);\n\n\t\tfwrite(img.m_data, sizeof(uint32_t)*g_screenWidth*g_screenHeight, 1, g_ffmpeg);\n\n\t\tdelete[] img.m_data;\n\t}\n\n\tdouble renderEndTime = GetSeconds();\n\n\t// if user requested a scene reset process it now\n\tif (g_resetScene)\n\t{\n\t\tReset();\n\t\tg_resetScene = false;\n\t}\n\n\t//-------------------------------------------------------------------\n\t// Flex Update\n\n\tdouble updateBeginTime = GetSeconds();\n\n\t// send any particle updates to the solver\n\tNvFlexSetParticles(g_solver, g_buffers->positions.buffer, NULL);\n\tNvFlexSetVelocities(g_solver, g_buffers->velocities.buffer, NULL);\n\tNvFlexSetPhases(g_solver, g_buffers->phases.buffer, NULL);\n\tNvFlexSetActive(g_solver, g_buffers->activeIndices.buffer, NULL);\n\n\tNvFlexSetActiveCount(g_solver, g_buffers->activeIndices.size());\n\n\t// allow scene to update constraints etc\n\tSyncScene();\n\n\tif (g_shapesChanged)\n\t{\n\t\tNvFlexSetShapes(\n\t\t\tg_solver,\n\t\t\tg_buffers->shapeGeometry.buffer,\n\t\t\tg_buffers->shapePositions.buffer,\n\t\t\tg_buffers->shapeRotations.buffer,\n\t\t\tg_buffers->shapePrevPositions.buffer,\n\t\t\tg_buffers->shapePrevRotations.buffer,\n\t\t\tg_buffers->shapeFlags.buffer,\n\t\t\tint(g_buffers->shapeFlags.size()));\n\n\t\tg_shapesChanged = false;\n\t}\n\n\tif (!g_pause || g_step)\n\t{\n\t\t// tick solver\n\t\tNvFlexSetParams(g_solver, &g_params);\n\t\tNvFlexUpdateSolver(g_solver, g_dt, g_numSubsteps, g_profile);\n\n\t\tg_frame++;\n\t\tg_step = false;\n\t}\n\n\t// read back base particle data\n\t// Note that flexGet calls don't wait for the GPU, they just queue a GPU copy \n\t// to be executed later.\n\t// When we're ready to read the fetched buffers we'll Map them, and that's when\n\t// the CPU will wait for the GPU flex update and GPU copy to finish.\n\tNvFlexGetParticles(g_solver, g_buffers->positions.buffer, NULL);\n\tNvFlexGetVelocities(g_solver, g_buffers->velocities.buffer, NULL);\n\tNvFlexGetNormals(g_solver, g_buffers->normals.buffer, NULL);\n\n\t// readback triangle normals\n\tif (g_buffers->triangles.size())\n\t\tNvFlexGetDynamicTriangles(g_solver, g_buffers->triangles.buffer, g_buffers->triangleNormals.buffer, g_buffers->triangles.size() / 3);\n\n\t// readback rigid transforms\n\tif (g_buffers->rigidOffsets.size())\n\t\tNvFlexGetRigids(g_solver, NULL, NULL, NULL, NULL, NULL, NULL, NULL, g_buffers->rigidRotations.buffer, g_buffers->rigidTranslations.buffer);\n\n\tif (!g_interop)\n\t{\n\t\t// if not using interop then we read back fluid data to host\n\t\tif (g_drawEllipsoids)\n\t\t{\n\t\t\tNvFlexGetSmoothParticles(g_solver, g_buffers->smoothPositions.buffer, NULL);\n\t\t\tNvFlexGetAnisotropy(g_solver, g_buffers->anisotropy1.buffer, g_buffers->anisotropy2.buffer, g_buffers->anisotropy3.buffer, NULL);\n\t\t}\n\n\t\t// read back diffuse data to host\n\t\tif (g_drawDensity)\n\t\t\tNvFlexGetDensities(g_solver, g_buffers->densities.buffer, NULL);\n\n\t\tif (GetNumDiffuseRenderParticles(g_diffuseRenderBuffers))\n\t\t{\n\t\t\tNvFlexGetDiffuseParticles(g_solver, g_buffers->diffusePositions.buffer, g_buffers->diffuseVelocities.buffer, g_buffers->diffuseCount.buffer);\n\t\t}\n\t}\n\telse\n\t{\n\t\t// read back just the new diffuse particle count, render buffers will be updated during rendering\n\t\tNvFlexGetDiffuseParticles(g_solver, NULL, NULL, g_buffers->diffuseCount.buffer);\n\t}\n\n\tdouble updateEndTime = GetSeconds();\n\n\t//-------------------------------------------------------\n\t// Update the on-screen timers\n\n\tfloat newUpdateTime = float(updateEndTime - updateBeginTime);\n\tfloat newRenderTime = float(renderEndTime - renderBeginTime);\n\tfloat newWaitTime = float(waitBeginTime - waitEndTime);\n\n\t// Exponential filter to make the display easier to read\n\tconst float timerSmoothing = 0.05f;\n\n\tg_updateTime = (g_updateTime == 0.0f) ? newUpdateTime : Lerp(g_updateTime, newUpdateTime, timerSmoothing);\n\tg_renderTime = (g_renderTime == 0.0f) ? newRenderTime : Lerp(g_renderTime, newRenderTime, timerSmoothing);\n\tg_waitTime = (g_waitTime == 0.0f) ? newWaitTime : Lerp(g_waitTime, newWaitTime, timerSmoothing);\n\tg_simLatency = (g_simLatency == 0.0f) ? newSimLatency : Lerp(g_simLatency, newSimLatency, timerSmoothing);\n\n\tif (g_benchmark) newScene = BenchmarkUpdate();\n\n\t// flush out the last frame before freeing up resources in the event of a scene change\n\t// this is necessary for d3d12\n\tPresentFrame(g_vsync);\n\n\t// if gui or benchmark requested a scene change process it now\n\tif (newScene != -1)\n\t{\n\t\tg_scene = newScene;\n\t\tInit(g_scene);\n\t}\n}\n\n#if ENABLE_AFTERMATH_SUPPORT\nvoid DumpAftermathData()\n{\n\tGFSDK_Aftermath_ContextData dataOut;\n\tGFSDK_Aftermath_Status statusOut;\n\n\tNvFlexGetDataAftermath(g_flexLib, &dataOut, &statusOut);\n\twprintf(L\"Last Aftermath event: %s\\n\", (wchar_t *)dataOut.markerData);\n}\n#endif\n\nvoid ReshapeWindow(int width, int height)\n{\n\tif (!g_benchmark)\n\t\tprintf(\"Reshaping\\n\");\n\n\tReshapeRender(g_window);\n\n\tif (!g_fluidRenderer || (width != g_screenWidth || height != g_screenHeight))\n\t{\n\t\tif (g_fluidRenderer)\n\t\t\tDestroyFluidRenderer(g_fluidRenderer);\n\t\tg_fluidRenderer = CreateFluidRenderer(width, height);\n\t}\n\n\tg_screenWidth = width;\n\tg_screenHeight = height;\n}\n\nvoid InputArrowKeysDown(int key, int x, int y)\n{\n\tswitch (key)\n\t{\n\tcase SDLK_DOWN:\n\t{\n\t\tif (g_selectedScene < int(g_scenes.size()) - 1)\n\t\t\tg_selectedScene++;\n\n\t\t// update scroll UI to center on selected scene\n\t\tg_levelScroll = max((g_selectedScene - 4) * 24, 0);\n\t\tbreak;\n\t}\n\tcase SDLK_UP:\n\t{\n\t\tif (g_selectedScene > 0)\n\t\t\tg_selectedScene--;\n\n\t\t// update scroll UI to center on selected scene\n\t\tg_levelScroll = max((g_selectedScene - 4) * 24, 0);\n\t\tbreak;\n\t}\n\tcase SDLK_LEFT:\n\t{\n\t\tif (g_scene > 0)\n\t\t\t--g_scene;\n\t\tInit(g_scene);\n\n\t\t// update scroll UI to center on selected scene\n\t\tg_levelScroll = max((g_scene - 4) * 24, 0);\n\t\tbreak;\n\t}\n\tcase SDLK_RIGHT:\n\t{\n\t\tif (g_scene < int(g_scenes.size()) - 1)\n\t\t\t++g_scene;\n\t\tInit(g_scene);\n\n\t\t// update scroll UI to center on selected scene\n\t\tg_levelScroll = max((g_scene - 4) * 24, 0);\n\t\tbreak;\n\t}\n\t}\n}\n\nvoid InputArrowKeysUp(int key, int x, int y)\n{\n}\n\nbool InputKeyboardDown(unsigned char key, int x, int y)\n{\n\tif (key > '0' && key <= '9')\n\t{\n\t\tg_scene = key - '0' - 1;\n\t\tInit(g_scene);\n\t\treturn false;\n\t}\n\n\tfloat kSpeed = g_camSpeed;\n\n\tswitch (key)\n\t{\n\tcase 'w':\n\t{\n\t\tg_camVel.z = kSpeed;\n\t\tbreak;\n\t}\n\tcase 's':\n\t{\n\t\tg_camVel.z = -kSpeed;\n\t\tbreak;\n\t}\n\tcase 'a':\n\t{\n\t\tg_camVel.x = -kSpeed;\n\t\tbreak;\n\t}\n\tcase 'd':\n\t{\n\t\tg_camVel.x = kSpeed;\n\t\tbreak;\n\t}\n\tcase 'q':\n\t{\n\t\tg_camVel.y = kSpeed;\n\t\tbreak;\n\t}\n\tcase 'z':\n\t{\n\t\t//g_drawCloth = !g_drawCloth;\n\t\tg_camVel.y = -kSpeed;\n\t\tbreak;\n\t}\n\n\tcase 'u':\n\t{\n#ifndef ANDROID\n\t\tif (g_fullscreen)\n\t\t{\n\t\t\tSDL_SetWindowFullscreen(g_window, 0);\n\t\t\tReshapeWindow(1280, 720);\n\t\t\tg_fullscreen = false;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tSDL_SetWindowFullscreen(g_window, SDL_WINDOW_FULLSCREEN_DESKTOP);\n\t\t\tg_fullscreen = true;\n\t\t}\n#endif\n\t\tbreak;\n\t}\n\tcase 'r':\n\t{\n\t\tg_resetScene = true;\n\t\tbreak;\n\t}\n\tcase 'y':\n\t{\n\t\tg_wavePool = !g_wavePool;\n\t\tbreak;\n\t}\n\tcase 'c':\n\t{\n#if _WIN32\n\t\tif (!g_ffmpeg)\n\t\t{\n\t\t\t// open ffmpeg stream\n\n\t\t\tint i = 0;\n\t\t\tchar buf[255];\n\t\t\tFILE* f = NULL;\n\n\t\t\tdo\n\t\t\t{\n\t\t\t\tsprintf(buf, \"../../movies/output%d.mp4\", i);\n\t\t\t\tf = fopen(buf, \"rb\");\n\t\t\t\tif (f)\n\t\t\t\t\tfclose(f);\n\n\t\t\t\t++i;\n\t\t\t} while (f);\n\n\t\t\tconst char* str = \"ffmpeg -r 60 -f rawvideo -pix_fmt rgba -s 1280x720 -i - \"\n\t\t\t\t\"-threads 0 -preset fast -y -crf 19 -pix_fmt yuv420p -tune animation -vf vflip %s\";\n\n\t\t\tchar cmd[1024];\n\t\t\tsprintf(cmd, str, buf);\n\n\t\t\tg_ffmpeg = _popen(cmd, \"wb\");\n\t\t\tassert(g_ffmpeg);\n\t\t}\n\t\telse\n\t\t{\n\t\t\t_pclose(g_ffmpeg);\n\t\t\tg_ffmpeg = NULL;\n\t\t}\n\n\t\tg_capture = !g_capture;\n\t\tg_frame = 0;\n#endif\n\t\tbreak;\n\t}\n\tcase 'p':\n\t{\n\t\tg_pause = !g_pause;\n\t\tbreak;\n\t}\n\tcase 'o':\n\t{\n\t\tg_step = true;\n\t\tbreak;\n\t}\n\tcase 'h':\n\t{\n\t\tg_showHelp = !g_showHelp;\n\t\tbreak;\n\t}\n\tcase 'e':\n\t{\n\t\tg_drawEllipsoids = !g_drawEllipsoids;\n\t\tbreak;\n\t}\n\tcase 't':\n\t{\n\t\tg_drawOpaque = !g_drawOpaque;\n\t\tbreak;\n\t}\n\tcase 'v':\n\t{\n\t\tg_drawPoints = !g_drawPoints;\n\t\tbreak;\n\t}\n\tcase 'f':\n\t{\n\t\tg_drawSprings = (g_drawSprings + 1) % 3;\n\t\tbreak;\n\t}\n\tcase 'i':\n\t{\n\t\tg_drawDiffuse = !g_drawDiffuse;\n\t\tbreak;\n\t}\n\tcase 'm':\n\t{\n\t\tg_drawMesh = !g_drawMesh;\n\t\tbreak;\n\t}\n\tcase 'n':\n\t{\n\t\tg_drawRopes = !g_drawRopes;\n\t\tbreak;\n\t}\n\tcase 'j':\n\t{\n\t\tg_windTime = 0.0f;\n\t\tg_windStrength = 1.5f;\n\t\tg_windFrequency = 0.2f;\n\t\tbreak;\n\t}\n\tcase '.':\n\t{\n\t\tg_profile = !g_profile;\n\t\tbreak;\n\t}\n\tcase 'g':\n\t{\n\t\tif (g_params.gravity[1] != 0.0f)\n\t\t\tg_params.gravity[1] = 0.0f;\n\t\telse\n\t\t\tg_params.gravity[1] = -9.8f;\n\n\t\tbreak;\n\t}\n\tcase '-':\n\t{\n\t\tif (g_params.numPlanes)\n\t\t\tg_params.numPlanes--;\n\n\t\tbreak;\n\t}\n\tcase ' ':\n\t{\n\t\tg_emit = !g_emit;\n\t\tbreak;\n\t}\n\tcase ';':\n\t{\n\t\tg_debug = !g_debug;\n\t\tbreak;\n\t}\n\tcase 13:\n\t{\n\t\tg_scene = g_selectedScene;\n\t\tInit(g_scene);\n\t\tbreak;\n\t}\n\tcase 27:\n\t{\n\t\t// return quit = true\n\t\treturn true;\n\t}\n#if ENABLE_AFTERMATH_SUPPORT\n\tcase 'l':\n\t\tDumpAftermathData();\n\t\tbreak;\n#endif\n\t};\n\n\tg_scenes[g_scene]->KeyDown(key);\n\n\treturn false;\n}\n\nvoid InputKeyboardUp(unsigned char key, int x, int y)\n{\n\tswitch (key)\n\t{\n\tcase 'w':\n\tcase 's':\n\t{\n\t\tg_camVel.z = 0.0f;\n\t\tbreak;\n\t}\n\tcase 'a':\n\tcase 'd':\n\t{\n\t\tg_camVel.x = 0.0f;\n\t\tbreak;\n\t}\n\tcase 'q':\n\tcase 'z':\n\t{\n\t\tg_camVel.y = 0.0f;\n\t\tbreak;\n\t}\n\t};\n}\n\nvoid MouseFunc(int b, int state, int x, int y)\n{\n\tswitch (state)\n\t{\n\tcase SDL_RELEASED:\n\t{\n\t\tg_lastx = x;\n\t\tg_lasty = y;\n\t\tg_lastb = -1;\n\n\t\tbreak;\n\t}\n\tcase SDL_PRESSED:\n\t{\n\t\tg_lastx = x;\n\t\tg_lasty = y;\n\t\tg_lastb = b;\n#ifdef ANDROID\n\t\textern void setStateLeft(bool bLeftDown);\n\t\tsetStateLeft(false);\n#else\n\t\tif ((SDL_GetModState() & KMOD_LSHIFT) && g_lastb == SDL_BUTTON_LEFT)\n\t\t{\n\t\t\t// record that we need to update the picked particle\n\t\t\tg_mousePicked = true;\n\t\t}\n#endif\n\t\tbreak;\n\t}\n\t};\n}\n\nvoid MousePassiveMotionFunc(int x, int y)\n{\n\tg_lastx = x;\n\tg_lasty = y;\n}\n\nvoid MouseMotionFunc(unsigned state, int x, int y)\n{\n\tfloat dx = float(x - g_lastx);\n\tfloat dy = float(y - g_lasty);\n\n\tg_lastx = x;\n\tg_lasty = y;\n\n\tif (state & SDL_BUTTON_RMASK)\n\t{\n\t\tconst float kSensitivity = DegToRad(0.1f);\n\t\tconst float kMaxDelta = FLT_MAX;\n\n\t\tg_camAngle.x -= Clamp(dx*kSensitivity, -kMaxDelta, kMaxDelta);\n\t\tg_camAngle.y -= Clamp(dy*kSensitivity, -kMaxDelta, kMaxDelta);\n\t}\n}\n\nbool g_Error = false;\n\nvoid ErrorCallback(NvFlexErrorSeverity severity, const char* msg, const char* file, int line)\n{\n\tprintf(\"Flex: %s - %s:%d\\n\", msg, file, line);\n\tg_Error = (severity == eNvFlexLogError);\n\t//assert(0); asserts are bad for TeamCity\n}\n\nvoid ControllerButtonEvent(SDL_ControllerButtonEvent event)\n{\n\t// map controller buttons to keyboard keys\n\tif (event.type == SDL_CONTROLLERBUTTONDOWN)\n\t{\n\t\tInputKeyboardDown(GetKeyFromGameControllerButton(SDL_GameControllerButton(event.button)), 0, 0);\n\t\tInputArrowKeysDown(GetKeyFromGameControllerButton(SDL_GameControllerButton(event.button)), 0, 0);\n\n\t\tif (event.button == SDL_CONTROLLER_BUTTON_LEFT_TRIGGER)\n\t\t{\n\t\t\t// Handle picking events using the game controller\n\t\t\tg_lastx = g_screenWidth / 2;\n\t\t\tg_lasty = g_screenHeight / 2;\n\t\t\tg_lastb = 1;\n\n\t\t\t// record that we need to update the picked particle\n\t\t\tg_mousePicked = true;\n\t\t}\n\t}\n\telse\n\t{\n\t\tInputKeyboardUp(GetKeyFromGameControllerButton(SDL_GameControllerButton(event.button)), 0, 0);\n\t\tInputArrowKeysUp(GetKeyFromGameControllerButton(SDL_GameControllerButton(event.button)), 0, 0);\n\n\t\tif (event.button == SDL_CONTROLLER_BUTTON_LEFT_TRIGGER)\n\t\t{\n\t\t\t// Handle picking events using the game controller\n\t\t\tg_lastx = g_screenWidth / 2;\n\t\t\tg_lasty = g_screenHeight / 2;\n\t\t\tg_lastb = -1;\n\t\t}\n\t}\n}\n\nvoid ControllerDeviceUpdate()\n{\n\tif (SDL_NumJoysticks() > 0)\n\t{\n\t\tSDL_JoystickEventState(SDL_ENABLE);\n\t\tif (SDL_IsGameController(0))\n\t\t{\n\t\t\tg_gamecontroller = SDL_GameControllerOpen(0);\n\t\t}\n\t}\n}\n\nvoid SDLInit(const char* title)\n{\n\tif (SDL_Init(SDL_INIT_VIDEO | SDL_INIT_GAMECONTROLLER) < 0)\t// Initialize SDL's Video subsystem and game controllers\n\t\tprintf(\"Unable to initialize SDL\");\n\n\tunsigned int flags = SDL_WINDOW_RESIZABLE;\n#if !FLEX_DX\n\tif (g_graphics == 0)\n\t{\n\t\tSDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1);\n\t\tflags = SDL_WINDOW_RESIZABLE | SDL_WINDOW_OPENGL;\n\t}\n#endif\n\n\tg_window = SDL_CreateWindow(title, SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED,\n\t\tg_screenWidth, g_screenHeight, flags);\n\n\tg_windowId = SDL_GetWindowID(g_window);\n}\n\nvoid SDLMainLoop()\n{\n#if ENABLE_AFTERMATH_SUPPORT\n\t__try\n#endif\n\t{\n\t\tbool quit = false;\n\t\tSDL_Event e;\n\t\twhile (!quit)\n\t\t{\n\t\t\tUpdateFrame();\n\n\t\t\twhile (SDL_PollEvent(&e))\n\t\t\t{\n\t\t\t\tswitch (e.type)\n\t\t\t\t{\n\t\t\t\tcase SDL_QUIT:\n\t\t\t\t\tquit = true;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase SDL_KEYDOWN:\n\t\t\t\t\tif (e.key.keysym.sym < 256 && (e.key.keysym.mod == KMOD_NONE || (e.key.keysym.mod & KMOD_NUM)))\n\t\t\t\t\t\tquit = InputKeyboardDown(e.key.keysym.sym, 0, 0);\n\t\t\t\t\tInputArrowKeysDown(e.key.keysym.sym, 0, 0);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase SDL_KEYUP:\n\t\t\t\t\tif (e.key.keysym.sym < 256 && (e.key.keysym.mod == 0 || (e.key.keysym.mod & KMOD_NUM)))\n\t\t\t\t\t\tInputKeyboardUp(e.key.keysym.sym, 0, 0);\n\t\t\t\t\tInputArrowKeysUp(e.key.keysym.sym, 0, 0);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase SDL_MOUSEMOTION:\n\t\t\t\t\tif (e.motion.state)\n\t\t\t\t\t\tMouseMotionFunc(e.motion.state, e.motion.x, e.motion.y);\n\t\t\t\t\telse\n\t\t\t\t\t\tMousePassiveMotionFunc(e.motion.x, e.motion.y);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase SDL_MOUSEBUTTONDOWN:\n\t\t\t\tcase SDL_MOUSEBUTTONUP:\n\t\t\t\t\tMouseFunc(e.button.button, e.button.state, e.motion.x, e.motion.y);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase SDL_WINDOWEVENT:\n\t\t\t\t\tif (e.window.windowID == g_windowId)\n\t\t\t\t\t{\n\t\t\t\t\t\tif (e.window.event == SDL_WINDOWEVENT_SIZE_CHANGED)\n\t\t\t\t\t\t\tReshapeWindow(e.window.data1, e.window.data2);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase SDL_WINDOWEVENT_LEAVE:\n\t\t\t\t\tg_camVel = Vec3(0.0f, 0.0f, 0.0f);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase SDL_CONTROLLERBUTTONUP:\n\t\t\t\tcase SDL_CONTROLLERBUTTONDOWN:\n\t\t\t\t\tControllerButtonEvent(e.cbutton);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase SDL_JOYDEVICEADDED:\n\t\t\t\tcase SDL_JOYDEVICEREMOVED:\n\t\t\t\t\tControllerDeviceUpdate();\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n#if ENABLE_AFTERMATH_SUPPORT\n\t__except (true)\n\t{\n\t\tDumpAftermathData();\n\t}\n#endif\n}\n\nint main(int argc, char* argv[])\n{\n\t// process command line args\n\tfor (int i = 1; i < argc; ++i)\n\t{\n\t\tint d;\n\t\tif (sscanf(argv[i], \"-device=%d\", &d))\n\t\t\tg_device = d;\n\n\t\tif (sscanf(argv[i], \"-extensions=%d\", &d))\n\t\t\tg_extensions = d != 0;\n\n\t\tif (strcmp(argv[i], \"-benchmark\") == 0)\n\t\t{\n\t\t\tg_benchmark = true;\n\t\t\tg_profile = true;\n\t\t\tg_outputAllFrameTimes = false;\n\t\t\tg_vsync = false;\n\t\t\tg_fullscreen = true;\n\t\t}\n\n\t\tif (strcmp(argv[i], \"-d3d12\") == 0)\n\t\t{\n\t\t\tg_d3d12 = true;\n\t\t\t// Currently interop doesn't work on d3d12\n\t\t\tg_interop = false;\n\t\t}\n\n\t\tif (strcmp(argv[i], \"-benchmarkAllFrameTimes\") == 0)\n\t\t{\n\t\t\tg_benchmark = true;\n\t\t\tg_outputAllFrameTimes = true;\n\t\t}\n\n\t\tif (strcmp(argv[i], \"-tc\") == 0)\n\t\t{\n\t\t\tg_teamCity = true;\n\t\t}\n\n\t\tif (sscanf(argv[i], \"-msaa=%d\", &d))\n\t\t\tg_msaaSamples = d;\n\n\t\tint w = 1280;\n\t\tint h = 720;\n\t\tif (sscanf(argv[i], \"-fullscreen=%dx%d\", &w, &h) == 2)\n\t\t{\n\t\t\tg_screenWidth = w;\n\t\t\tg_screenHeight = h;\n\t\t\tg_fullscreen = true;\n\t\t}\n\t\telse if (strcmp(argv[i], \"-fullscreen\") == 0)\n\t\t{\n\t\t\tg_screenWidth = w;\n\t\t\tg_screenHeight = h;\n\t\t\tg_fullscreen = true;\n\t\t}\n\n\t\tif (sscanf(argv[i], \"-windowed=%dx%d\", &w, &h) == 2)\n\t\t{\n\t\t\tg_screenWidth = w;\n\t\t\tg_screenHeight = h;\n\t\t\tg_fullscreen = false;\n\t\t}\n\t\telse if (strstr(argv[i], \"-windowed\"))\n\t\t{\n\t\t\tg_screenWidth = w;\n\t\t\tg_screenHeight = h;\n\t\t\tg_fullscreen = false;\n\t\t}\n\n\t\tif (sscanf(argv[i], \"-vsync=%d\", &d))\n\t\t\tg_vsync = d != 0;\n\n\t\tif (sscanf(argv[i], \"-multiplier=%d\", &d) == 1)\n\t\t{\n\t\t\tg_numExtraMultiplier = d;\n\t\t}\n\n\t\tif (strcmp(argv[i], \"-disabletweak\") == 0)\n\t\t{\n\t\t\tg_tweakPanel = false;\n\t\t}\n\n\t\tif (strcmp(argv[i], \"-disableinterop\") == 0)\n\t\t{\n\t\t\tg_interop = false;\n\t\t}\n\n\t\tif (sscanf(argv[i], \"-asynccompute=%d\", &d) == 1)\n\t\t{\n\t\t\tg_useAsyncCompute = (d != 0);\n\t\t}\n\n\t\tif (sscanf(argv[i], \"-graphics=%d\", &d) == 1)\n\t\t{\n\t\t\tif (d >= 0 && d <= 2)\n\t\t\t\tg_graphics = d;\n\t\t}\n\t}\n\n\t// opening scene\n\tg_scenes.push_back(new PotPourri(\"Pot Pourri\"));\n\n\t// soft body scenes\n\tSoftBody::Instance octopus(\"../../data/softs/octopus.obj\");\n\toctopus.mScale = Vec3(32.0f);\n\toctopus.mClusterSpacing = 2.75f;\n\toctopus.mClusterRadius = 3.0f;\n\toctopus.mClusterStiffness = 0.15f;\n\toctopus.mSurfaceSampling = 1.0f;\n\tSoftBody* softOctopusSceneNew = new SoftBody(\"Soft Octopus\");\n\tsoftOctopusSceneNew->AddStack(octopus, 1, 3, 1);\n\n\tSoftBody::Instance rope(\"../../data/rope.obj\");\n\trope.mScale = Vec3(50.0f);\n\trope.mClusterSpacing = 1.5f;\n\trope.mClusterRadius = 0.0f;\n\trope.mClusterStiffness = 0.55f;\n\tSoftBody* softRopeSceneNew = new SoftBody(\"Soft Rope\");\n\tsoftRopeSceneNew->AddInstance(rope);\n\n\tSoftBody::Instance bowl(\"../../data/bowl_high.ply\");\n\tbowl.mScale = Vec3(10.0f);\n\tbowl.mClusterSpacing = 2.0f;\n\tbowl.mClusterRadius = 2.0f;\n\tbowl.mClusterStiffness = 0.55f;\n\tSoftBody* softBowlSceneNew = new SoftBody(\"Soft Bowl\");\n\tsoftBowlSceneNew->AddInstance(bowl);\n\n\tSoftBody::Instance cloth(\"../../data/box_ultra_high.ply\");\n\tcloth.mScale = Vec3(20.0f, 0.2f, 20.0f);\n\tcloth.mClusterSpacing = 1.0f;\n\tcloth.mClusterRadius = 2.0f;\n\tcloth.mClusterStiffness = 0.2f;\n\tcloth.mLinkRadius = 2.0f;\n\tcloth.mLinkStiffness = 1.0f;\n\tcloth.mSkinningFalloff = 1.0f;\n\tcloth.mSkinningMaxDistance = 100.f;\n\tSoftBody* softClothSceneNew = new SoftBody(\"Soft Cloth\");\n\tsoftClothSceneNew->mRadius = 0.05f;\n\tsoftClothSceneNew->AddInstance(cloth);\n\n\tSoftBody::Instance rod(\"../../data/box_very_high.ply\");\n\trod.mScale = Vec3(20.0f, 2.0f, 2.0f);\n\trod.mTranslation = Vec3(-0.3f, 1.0f, 0.0f);\n\trod.mClusterSpacing = 2.0f;\n\trod.mClusterRadius = 2.0f;\n\trod.mClusterStiffness = 0.225f;\n\tSoftBodyFixed* softRodSceneNew = new SoftBodyFixed(\"Soft Rod\");\n\tsoftRodSceneNew->AddStack(rod, 3);\n\n\tSoftBody::Instance teapot(\"../../data/teapot.ply\");\n\tteapot.mScale = Vec3(25.0f);\n\tteapot.mClusterSpacing = 3.0f;\n\tteapot.mClusterRadius = 0.0f;\n\tteapot.mClusterStiffness = 0.1f;\n\tSoftBody* softTeapotSceneNew = new SoftBody(\"Soft Teapot\");\n\tsoftTeapotSceneNew->AddInstance(teapot);\n\n\tSoftBody::Instance armadillo(\"../../data/armadillo.ply\");\n\tarmadillo.mScale = Vec3(25.0f);\n\tarmadillo.mClusterSpacing = 3.0f;\n\tarmadillo.mClusterRadius = 0.0f;\n\tSoftBody* softArmadilloSceneNew = new SoftBody(\"Soft Armadillo\");\n\tsoftArmadilloSceneNew->AddInstance(armadillo);\n\n\tSoftBody::Instance softbunny(\"../../data/bunny.ply\");\n\tsoftbunny.mScale = Vec3(20.0f);\n\tsoftbunny.mClusterSpacing = 3.5f;\n\tsoftbunny.mClusterRadius = 0.0f;\n\tsoftbunny.mClusterStiffness = 0.2f;\n\tSoftBody* softBunnySceneNew = new SoftBody(\"Soft Bunny\");\n\tsoftBunnySceneNew->AddInstance(softbunny);\n\n\t// plastic scenes\n\tSoftBody::Instance plasticbunny(\"../../data/bunny.ply\");\n\tplasticbunny.mScale = Vec3(10.0f);\n\tplasticbunny.mClusterSpacing = 1.0f;\n\tplasticbunny.mClusterRadius = 0.0f;\n\tplasticbunny.mClusterStiffness = 0.0f;\n\tplasticbunny.mGlobalStiffness = 1.0f;\n\tplasticbunny.mClusterPlasticThreshold = 0.0015f;\n\tplasticbunny.mClusterPlasticCreep = 0.15f;\n\tplasticbunny.mTranslation[1] = 5.0f;\n\tSoftBody* plasticBunniesSceneNew = new SoftBody(\"Plastic Bunnies\");\n\tplasticBunniesSceneNew->mPlinth = true;\n\tplasticBunniesSceneNew->AddStack(plasticbunny, 1, 10, 1, true);\n\n\tSoftBody::Instance bunny1(\"../../data/bunny.ply\");\n\tbunny1.mScale = Vec3(10.0f);\n\tbunny1.mClusterSpacing = 1.0f;\n\tbunny1.mClusterRadius = 0.0f;\n\tbunny1.mClusterStiffness = 0.0f;\n\tbunny1.mGlobalStiffness = 1.0f;\n\tbunny1.mClusterPlasticThreshold = 0.0015f;\n\tbunny1.mClusterPlasticCreep = 0.15f;\n\tbunny1.mTranslation[1] = 5.0f;\n\tSoftBody::Instance bunny2(\"../../data/bunny.ply\");\n\tbunny2.mScale = Vec3(10.0f);\n\tbunny2.mClusterSpacing = 1.0f;\n\tbunny2.mClusterRadius = 0.0f;\n\tbunny2.mClusterStiffness = 0.0f;\n\tbunny2.mGlobalStiffness = 1.0f;\n\tbunny2.mClusterPlasticThreshold = 0.0015f;\n\tbunny2.mClusterPlasticCreep = 0.30f;\n\tbunny2.mTranslation[1] = 5.0f;\n\tbunny2.mTranslation[0] = 2.0f;\n\tSoftBody* plasticComparisonScene = new SoftBody(\"Plastic Comparison\");\n\tplasticComparisonScene->AddInstance(bunny1);\n\tplasticComparisonScene->AddInstance(bunny2);\n\tplasticComparisonScene->mPlinth = true;\n\n\tSoftBody::Instance stackBox(\"../../data/box_high.ply\");\n\tstackBox.mScale = Vec3(10.0f);\n\tstackBox.mClusterSpacing = 1.5f;\n\tstackBox.mClusterRadius = 0.0f;\n\tstackBox.mClusterStiffness = 0.0f;\n\tstackBox.mGlobalStiffness = 1.0f;\n\tstackBox.mClusterPlasticThreshold = 0.0015f;\n\tstackBox.mClusterPlasticCreep = 0.25f;\n\tstackBox.mTranslation[1] = 1.0f;\n\tSoftBody::Instance stackSphere(\"../../data/sphere.ply\");\n\tstackSphere.mScale = Vec3(10.0f);\n\tstackSphere.mClusterSpacing = 1.5f;\n\tstackSphere.mClusterRadius = 0.0f;\n\tstackSphere.mClusterStiffness = 0.0f;\n\tstackSphere.mGlobalStiffness = 1.0f;\n\tstackSphere.mClusterPlasticThreshold = 0.0015f;\n\tstackSphere.mClusterPlasticCreep = 0.25f;\n\tstackSphere.mTranslation[1] = 2.0f;\n\tSoftBody* plasticStackScene = new SoftBody(\"Plastic Stack\");\n\tplasticStackScene->AddInstance(stackBox);\n\tplasticStackScene->AddInstance(stackSphere);\n\tfor (int i = 0; i < 3; i++)\n\t{\n\t\tstackBox.mTranslation[1] += 2.0f;\n\t\tstackSphere.mTranslation[1] += 2.0f;\n\t\tplasticStackScene->AddInstance(stackBox);\n\t\tplasticStackScene->AddInstance(stackSphere);\n\t}\n\n\tg_scenes.push_back(softOctopusSceneNew);\n\tg_scenes.push_back(softTeapotSceneNew);\n\tg_scenes.push_back(softRopeSceneNew);\n\tg_scenes.push_back(softClothSceneNew);\n\tg_scenes.push_back(softBowlSceneNew);\n\tg_scenes.push_back(softRodSceneNew);\n\tg_scenes.push_back(softArmadilloSceneNew);\n\tg_scenes.push_back(softBunnySceneNew);\n\n\tg_scenes.push_back(plasticBunniesSceneNew);\n\tg_scenes.push_back(plasticComparisonScene);\n\tg_scenes.push_back(plasticStackScene);\n\n\t// collision scenes\n\tg_scenes.push_back(new FrictionRamp(\"Friction Ramp\"));\n\tg_scenes.push_back(new FrictionMovingShape(\"Friction Moving Box\", 0));\n\tg_scenes.push_back(new FrictionMovingShape(\"Friction Moving Sphere\", 1));\n\tg_scenes.push_back(new FrictionMovingShape(\"Friction Moving Capsule\", 2));\n\tg_scenes.push_back(new FrictionMovingShape(\"Friction Moving Mesh\", 3));\n\tg_scenes.push_back(new ShapeCollision(\"Shape Collision\"));\n\tg_scenes.push_back(new ShapeChannels(\"Shape Channels\"));\n\tg_scenes.push_back(new TriangleCollision(\"Triangle Collision\"));\n\tg_scenes.push_back(new LocalSpaceFluid(\"Local Space Fluid\"));\n\tg_scenes.push_back(new LocalSpaceCloth(\"Local Space Cloth\"));\n\tg_scenes.push_back(new CCDFluid(\"World Space Fluid\"));\n\n\t// cloth scenes\n\tg_scenes.push_back(new EnvironmentalCloth(\"Env Cloth Small\", 6, 6, 40, 16));\n\tg_scenes.push_back(new EnvironmentalCloth(\"Env Cloth Large\", 16, 32, 10, 3));\n\tg_scenes.push_back(new FlagCloth(\"Flag Cloth\"));\n\tg_scenes.push_back(new Inflatable(\"Inflatables\"));\n\tg_scenes.push_back(new ClothLayers(\"Cloth Layers\"));\n\tg_scenes.push_back(new SphereCloth(\"Sphere Cloth\"));\n\tg_scenes.push_back(new Tearing(\"Tearing\"));\n\tg_scenes.push_back(new Pasta(\"Pasta\"));\n\n\t// game mesh scenes\n\tg_scenes.push_back(new GameMesh(\"Game Mesh Rigid\", 0));\n\tg_scenes.push_back(new GameMesh(\"Game Mesh Particles\", 1));\n\tg_scenes.push_back(new GameMesh(\"Game Mesh Fluid\", 2));\n\tg_scenes.push_back(new GameMesh(\"Game Mesh Cloth\", 3));\n\tg_scenes.push_back(new RigidDebris(\"Rigid Debris\"));\n\n\t// viscous fluids\n\tg_scenes.push_back(new Viscosity(\"Viscosity Low\", 0.5f));\n\tg_scenes.push_back(new Viscosity(\"Viscosity Med\", 3.0f));\n\tg_scenes.push_back(new Viscosity(\"Viscosity High\", 5.0f, 0.12f));\n\tg_scenes.push_back(new Adhesion(\"Adhesion\"));\n\tg_scenes.push_back(new GooGun(\"Goo Gun\", true));\n\n\t// regular fluids\n\tg_scenes.push_back(new Buoyancy(\"Buoyancy\"));\n\tg_scenes.push_back(new Melting(\"Melting\"));\n\tg_scenes.push_back(new SurfaceTension(\"Surface Tension Low\", 0.0f));\n\tg_scenes.push_back(new SurfaceTension(\"Surface Tension Med\", 10.0f));\n\tg_scenes.push_back(new SurfaceTension(\"Surface Tension High\", 20.0f));\n\tg_scenes.push_back(new DamBreak(\"DamBreak  5cm\", 0.05f));\n\tg_scenes.push_back(new DamBreak(\"DamBreak 10cm\", 0.1f));\n\tg_scenes.push_back(new DamBreak(\"DamBreak 15cm\", 0.15f));\n\tg_scenes.push_back(new RockPool(\"Rock Pool\"));\n\tg_scenes.push_back(new RayleighTaylor2D(\"Rayleigh Taylor 2D\"));\n\n\t// misc feature scenes\n\tg_scenes.push_back(new TriggerVolume(\"Trigger Volume\"));\n\tg_scenes.push_back(new ForceField(\"Force Field\"));\n\tg_scenes.push_back(new InitialOverlap(\"Initial Overlap\"));\n\n\t// rigid body scenes\n\tg_scenes.push_back(new RigidPile(\"Rigid2\", 2));\n\tg_scenes.push_back(new RigidPile(\"Rigid4\", 4));\n\tg_scenes.push_back(new RigidPile(\"Rigid8\", 12));\n\tg_scenes.push_back(new BananaPile(\"Bananas\"));\n\tg_scenes.push_back(new LowDimensionalShapes(\"Low Dimensional Shapes\"));\n\n\t// granular scenes\n\tg_scenes.push_back(new GranularPile(\"Granular Pile\"));\n\n\t// coupling scenes\n\tg_scenes.push_back(new ParachutingBunnies(\"Parachuting Bunnies\"));\n\tg_scenes.push_back(new WaterBalloon(\"Water Balloons\"));\n\tg_scenes.push_back(new RigidFluidCoupling(\"Rigid Fluid Coupling\"));\n\tg_scenes.push_back(new FluidBlock(\"Fluid Block\"));\n\tg_scenes.push_back(new FluidClothCoupling(\"Fluid Cloth Coupling Water\", false));\n\tg_scenes.push_back(new FluidClothCoupling(\"Fluid Cloth Coupling Goo\", true));\n\tg_scenes.push_back(new BunnyBath(\"Bunny Bath Dam\", true));\n\n\t// init graphics\n\tRenderInitOptions options;\n\n#ifndef ANDROID\n\tDemoContext* demoContext = nullptr;\n#if FLEX_DX\n\t// Flex DX demo will always create the renderer using the same DX api as the flex lib\n\tif (g_d3d12)\n\t{\n\t\t// workaround for a driver issue with D3D12 with msaa, force it to off\n\t\t// options.numMsaaSamples = 1;\n\t\tg_graphics = 2;\n\t}\n\telse\n\t{\n\t\tg_graphics = 1;\n\t}\n#else\n\tswitch (g_graphics)\n\t{\n\tcase 0: break;\n\tcase 1: break;\n\tcase 2:\n\t\t// workaround for a driver issue with D3D12 with msaa, force it to off\n\t\t// options.numMsaaSamples = 1;\n\t\t// Currently interop doesn't work on d3d12\n\t\tg_interop = false;\n\t\tbreak;\n\tdefault: assert(0);\n\t}\n#endif\n\t// Create the demo context\n\tCreateDemoContext(g_graphics);\n\n\tstd::string str;\n#if FLEX_DX\n\tif (g_d3d12)\n\t\tstr = \"Flex Demo (Compute: DX12) \";\n\telse\n\t\tstr = \"Flex Demo (Compute: DX11) \";\n#else\n\tstr = \"Flex Demo (Compute: CUDA) \";\n#endif\n\tswitch (g_graphics)\n\t{\n\tcase 0:\n\t\tstr += \"(Graphics: OpenGL)\";\n\t\tbreak;\n\tcase 1:\n\t\tstr += \"(Graphics: DX11)\";\n\t\tbreak;\n\tcase 2:\n\t\tstr += \"(Graphics: DX12)\";\n\t\tbreak;\n\t}\n\tconst char* title = str.c_str();\n\n\tSDLInit(title);\n\n\toptions.window = g_window;\n\toptions.numMsaaSamples = g_msaaSamples;\n\toptions.asyncComputeBenchmark = g_asyncComputeBenchmark;\n\toptions.defaultFontHeight = -1;\n\toptions.fullscreen = g_fullscreen;\n\n\tInitRender(options);\n\n\tif (g_fullscreen)\n\t\tSDL_SetWindowFullscreen(g_window, SDL_WINDOW_FULLSCREEN_DESKTOP);\n\n\tReshapeWindow(g_screenWidth, g_screenHeight);\n\n#endif // ifndef ANDROID\n\n#if _WIN32 && !FLEX_DX\n\t// use the PhysX GPU selected from the NVIDIA control panel\t\n\tif (g_device == -1)\n\t\tg_device = NvFlexDeviceGetSuggestedOrdinal();\n\n\t// Create an optimized CUDA context for Flex and set it on the \n\t// calling thread. This is an optional call, it is fine to use \n\t// a regular CUDA context, although creating one through this API\n\t// is recommended for best performance.\n\tbool success = NvFlexDeviceCreateCudaContext(g_device);\n\n\tif (!success)\n\t{\n\t\tprintf(\"Error creating CUDA context.\\n\");\n\t\texit(-1);\n\t}\n#endif\n\n\tNvFlexInitDesc desc;\n\tdesc.deviceIndex = g_device;\n\tdesc.enableExtensions = g_extensions;\n\tdesc.renderDevice = 0;\n\tdesc.renderContext = 0;\n\tdesc.computeContext = 0;\n\tdesc.computeType = eNvFlexCUDA;\n\n#if FLEX_DX\n\tif (g_d3d12)\n\t\tdesc.computeType = eNvFlexD3D12;\n\telse\n\t\tdesc.computeType = eNvFlexD3D11;\n\n\tbool userSpecifiedGpuToUseForFlex = (g_device != -1);\n\n\tif (userSpecifiedGpuToUseForFlex)\n\t{\n\t\t// Flex doesn't currently support interop between different D3DDevices.\n\t\t// If the user specifies which physical device to use, then Flex always \n\t\t// creates its own D3DDevice, even if graphics is on the same physical device.\n\t\t// So specified physical device always means no interop.\n\t\tg_interop = false;\n\t}\n\telse\n\t{\n\t\t// Ask Flex to run on the same GPU as rendering\n\t\tGetRenderDevice(&desc.renderDevice,\n\t\t\t&desc.renderContext);\n\t}\n\n\t// Shared resources are unimplemented on D3D12,\n\t// so disable it for now.\n\tif (g_d3d12)\n\t\tg_interop = false;\n\n\t// Setting runOnRenderContext = true doesn't prevent async compute, it just \n\t// makes Flex send compute and graphics to the GPU on the same queue.\n\t//\n\t// So to allow the user to toggle async compute, we set runOnRenderContext = false\n\t// and provide a toggleable sync between compute and graphics in the app.\n\t//\n\t// Search for g_useAsyncCompute for details\n\tdesc.runOnRenderContext = false;\n#else\n\t// Shared resources are unimplemented on D3D12,\n\t// so disable it for now.\n\tif (g_d3d12)\n\t\tg_interop = false;\n#endif\n\n\t// Init Flex library, note that no CUDA methods should be called before this \n\t// point to ensure we get the device context we want\n\tg_flexLib = NvFlexInit(NV_FLEX_VERSION, ErrorCallback, &desc);\n\n\tif (g_Error || g_flexLib == NULL)\n\t{\n\t\tprintf(\"Could not initialize Flex, exiting.\\n\");\n\t\texit(-1);\n\t}\n\n\t// store device name\n\tstrcpy(g_deviceName, NvFlexGetDeviceName(g_flexLib));\n\tprintf(\"Compute Device: %s\\n\\n\", g_deviceName);\n\n\tif (g_benchmark)\n\t\tg_scene = BenchmarkInit();\n\n\t// create shadow maps\n\tg_shadowMap = ShadowCreate();\n\n\t// init default scene\n\tStartGpuWork();\n\tInit(g_scene);\n\tEndGpuWork();\n\n\tSDLMainLoop();\n\n\tif (g_fluidRenderer)\n\t\tDestroyFluidRenderer(g_fluidRenderer);\n\n\tDestroyFluidRenderBuffers(g_fluidRenderBuffers);\n\tDestroyDiffuseRenderBuffers(g_diffuseRenderBuffers);\n\n\tShadowDestroy(g_shadowMap);\n\n\tShutdown();\n\tDestroyRender();\n\n\tSDL_DestroyWindow(g_window);\n\tSDL_Quit();\n\n\treturn 0;\n}\n"
  },
  {
    "path": "demo/opengl/demoContextOGL.h",
    "content": "/*\n * Copyright (c) 2008-2017, NVIDIA CORPORATION.  All rights reserved.\n *\n * NVIDIA CORPORATION and its licensors retain all intellectual property\n * and proprietary rights in and to this software, related documentation\n * and any modifications thereto.  Any use, reproduction, disclosure or\n * distribution of this software and related documentation without an express\n * license agreement from NVIDIA CORPORATION is strictly prohibited.\n */\n\n#pragma once\n\n\nstruct DemoContextOGL : public DemoContext\n{\npublic:\n\n\t// DemoContext Impl\n\tvirtual bool initialize(const RenderInitOptions& options);\n\tvirtual void startFrame(Vec4 colorIn);\n\tvirtual void endFrame();\n\tvirtual void presentFrame(bool fullsync);\n\tvirtual void readFrame(int* buffer, int width, int height);\n\tvirtual void getViewRay(int x, int y, Vec3& origin, Vec3& dir);\n\tvirtual void setView(Matrix44 view, Matrix44 projection);\n\tvirtual void renderEllipsoids(FluidRenderer* renderer, FluidRenderBuffers* buffers, int n, int offset, float radius, float screenWidth, float screenAspect, float fov, Vec3 lightPos, Vec3 lightTarget, Matrix44 lightTransform, ::ShadowMap* shadowMap, Vec4 color, float blur, float ior, bool debug);\n\tvirtual void drawMesh(const Mesh* m, Vec3 color);\n\tvirtual void drawCloth(const Vec4* positions, const Vec4* normals, const float* uvs, const int* indices, int numTris, int numPositions, int colorIndex, float expand, bool twosided, bool smooth);\n\tvirtual void drawRope(Vec4* positions, int* indices, int numIndices, float radius, int color);\n\tvirtual void drawPlane(const Vec4& p, bool color);\n\tvirtual void drawPlanes(Vec4* planes, int n, float bias);\n\tvirtual void drawPoints(FluidRenderBuffers* buffers, int n, int offset, float radius, float screenWidth, float screenAspect, float fov, Vec3 lightPos, Vec3 lightTarget, Matrix44 lightTransform, ::ShadowMap* shadowTex, bool showDensity);\n\tvirtual void graphicsTimerBegin();\n\tvirtual void graphicsTimerEnd();\n\tvirtual float rendererGetDeviceTimestamps(unsigned long long* begin, unsigned long long* end, unsigned long long* freq);\n\tvirtual void bindSolidShader(Vec3 lightPos, Vec3 lightTarget, Matrix44 lightTransform, ::ShadowMap* shadowMap, float bias, Vec4 fogColor);\n\tvirtual void unbindSolidShader();\n\tvirtual ShadowMap* shadowCreate();\n\tvirtual void shadowDestroy(ShadowMap* map);\n\tvirtual void shadowBegin(ShadowMap* map);\n\tvirtual void shadowEnd();\n\tvirtual FluidRenderer* createFluidRenderer(uint32_t width, uint32_t height);\n\tvirtual void destroyFluidRenderer(FluidRenderer* renderer);\n\tvirtual FluidRenderBuffers* createFluidRenderBuffers(int numParticles, bool enableInterop);\n\tvirtual void updateFluidRenderBuffers(FluidRenderBuffers* buffers, NvFlexSolver* flex, bool anisotropy, bool density);\n\tvirtual void updateFluidRenderBuffers(FluidRenderBuffers* buffers, Vec4* particles, float* densities, Vec4* anisotropy1, Vec4* anisotropy2, Vec4* anisotropy3, int numParticles, int* indices, int numIndices);\n\tvirtual void destroyFluidRenderBuffers(FluidRenderBuffers* buffers);\n\tvirtual GpuMesh* createGpuMesh(const Mesh* m);\n\tvirtual void destroyGpuMesh(GpuMesh* mesh);\n\tvirtual void drawGpuMesh(GpuMesh* m, const Matrix44& xform, const Vec3& color);\n\tvirtual void drawGpuMeshInstances(GpuMesh* m, const Matrix44* xforms, int n, const Vec3& color);\n\tvirtual DiffuseRenderBuffers* createDiffuseRenderBuffers(int numDiffuseParticles, bool& enableInterop);\n\tvirtual void destroyDiffuseRenderBuffers(DiffuseRenderBuffers* buffers);\n\tvirtual void updateDiffuseRenderBuffers(DiffuseRenderBuffers* buffers, Vec4* diffusePositions, Vec4* diffuseVelocities, int numDiffuseParticles);\n\tvirtual void updateDiffuseRenderBuffers(DiffuseRenderBuffers* buffers, NvFlexSolver* solver);\n\tvirtual void drawDiffuse(FluidRenderer* render, const DiffuseRenderBuffers* buffers, int n, float radius, float screenWidth, float screenAspect, float fov, Vec4 color, Vec3 lightPos, Vec3 lightTarget, Matrix44 lightTransform, ::ShadowMap* shadowMap, float motionBlur, float inscatter, float outscatter, bool shadowEnabled, bool front);\n\tvirtual int getNumDiffuseRenderParticles(DiffuseRenderBuffers* buffers);\n\tvirtual void beginLines();\n\tvirtual void drawLine(const Vec3& p, const Vec3& q, const Vec4& color);\n\tvirtual void endLines();\n\tvirtual void onSizeChanged(int width, int height, bool minimized);\n\tvirtual void startGpuWork();\n\tvirtual void endGpuWork();\n\tvirtual void flushGraphicsAndWait();\n\tvirtual void setFillMode(bool wire);\n\tvirtual void setCullMode(bool enabled);\n\tvirtual void drawImguiGraph();\n\tvirtual void* getGraphicsCommandQueue();\n\tvirtual void getRenderDevice(void** device, void** context);\n};\n"
  },
  {
    "path": "demo/opengl/imguiRenderGL.cpp",
    "content": "//\n// Copyright (c) 2009-2010 Mikko Mononen memon@inside.org\n//\n// This software is provided 'as-is', without any express or implied\n// warranty.  In no event will the authors be held liable for any damages\n// arising from the use of this software.\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n// 1. The origin of this software must not be misrepresented; you must not\n//    claim that you wrote the original software. If you use this software\n//    in a product, an acknowledgment in the product documentation would be\n//    appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n//    misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n//\n\n#define _USE_MATH_DEFINES\n#include <math.h>\n#include <stdio.h>\n\n#include \"../imgui.h\"\n\n#include \"shader.h\"\n\nnamespace OGL_Renderer\n{\n\t// Some math headers don't have PI defined.\n\tstatic const float PI = 3.14159265f;\n\n\tvoid imguifree(void* ptr, void* userptr);\n\tvoid* imguimalloc(size_t size, void* userptr);\n\n#define STBTT_malloc(x,y)    imguimalloc(x,y)\n#define STBTT_free(x,y)      imguifree(x,y)\n#define STB_TRUETYPE_IMPLEMENTATION\n#include \"../stb_truetype.h\"\n\n\tvoid imguifree(void* ptr, void* /*userptr*/)\n\t{\n\t\tfree(ptr);\n\t}\n\n\tvoid* imguimalloc(size_t size, void* /*userptr*/)\n\t{\n\t\treturn malloc(size);\n\t}\n\n\tstatic const unsigned TEMP_COORD_COUNT = 100;\n\tstatic float g_tempCoords[TEMP_COORD_COUNT * 2];\n\tstatic float g_tempNormals[TEMP_COORD_COUNT * 2];\n\n\tstatic const int CIRCLE_VERTS = 8 * 4;\n\tstatic float g_circleVerts[CIRCLE_VERTS * 2];\n\n\tstatic stbtt_bakedchar g_cdata[96]; // ASCII 32..126 is 95 glyphs\n\tstatic GLuint g_ftex = 0;\n\n\tinline unsigned int RGBA(unsigned char r, unsigned char g, unsigned char b, unsigned char a)\n\t{\n\t\treturn (r) | (g << 8) | (b << 16) | (a << 24);\n\t}\n\n\tstatic void drawPolygon(const float* coords, unsigned numCoords, float r, unsigned int col)\n\t{\n\t\tif (numCoords > TEMP_COORD_COUNT) numCoords = TEMP_COORD_COUNT;\n\n\t\tfor (unsigned i = 0, j = numCoords - 1; i < numCoords; j = i++)\n\t\t{\n\t\t\tconst float* v0 = &coords[j * 2];\n\t\t\tconst float* v1 = &coords[i * 2];\n\t\t\tfloat dx = v1[0] - v0[0];\n\t\t\tfloat dy = v1[1] - v0[1];\n\t\t\tfloat d = sqrtf(dx*dx + dy*dy);\n\t\t\tif (d > 0)\n\t\t\t{\n\t\t\t\td = 1.0f / d;\n\t\t\t\tdx *= d;\n\t\t\t\tdy *= d;\n\t\t\t}\n\t\t\tg_tempNormals[j * 2 + 0] = dy;\n\t\t\tg_tempNormals[j * 2 + 1] = -dx;\n\t\t}\n\n\t\tfor (unsigned i = 0, j = numCoords - 1; i < numCoords; j = i++)\n\t\t{\n\t\t\tfloat dlx0 = g_tempNormals[j * 2 + 0];\n\t\t\tfloat dly0 = g_tempNormals[j * 2 + 1];\n\t\t\tfloat dlx1 = g_tempNormals[i * 2 + 0];\n\t\t\tfloat dly1 = g_tempNormals[i * 2 + 1];\n\t\t\tfloat dmx = (dlx0 + dlx1) * 0.5f;\n\t\t\tfloat dmy = (dly0 + dly1) * 0.5f;\n\t\t\tfloat\tdmr2 = dmx*dmx + dmy*dmy;\n\t\t\tif (dmr2 > 0.000001f)\n\t\t\t{\n\t\t\t\tfloat\tscale = 1.0f / dmr2;\n\t\t\t\tif (scale > 10.0f) scale = 10.0f;\n\t\t\t\tdmx *= scale;\n\t\t\t\tdmy *= scale;\n\t\t\t}\n\t\t\tg_tempCoords[i * 2 + 0] = coords[i * 2 + 0] + dmx*r;\n\t\t\tg_tempCoords[i * 2 + 1] = coords[i * 2 + 1] + dmy*r;\n\t\t}\n\n\t\tunsigned int colTrans = RGBA(col & 0xff, (col >> 8) & 0xff, (col >> 16) & 0xff, 0);\n\n\t\tglBegin(GL_TRIANGLES);\n\n\t\tglColor4ubv((GLubyte*)&col);\n\n\t\tfor (unsigned i = 0, j = numCoords - 1; i < numCoords; j = i++)\n\t\t{\n\t\t\tglVertex2fv(&coords[i * 2]);\n\t\t\tglVertex2fv(&coords[j * 2]);\n\t\t\tglColor4ubv((GLubyte*)&colTrans);\n\t\t\tglVertex2fv(&g_tempCoords[j * 2]);\n\n\t\t\tglVertex2fv(&g_tempCoords[j * 2]);\n\t\t\tglVertex2fv(&g_tempCoords[i * 2]);\n\n\t\t\tglColor4ubv((GLubyte*)&col);\n\t\t\tglVertex2fv(&coords[i * 2]);\n\t\t}\n\n\t\tglColor4ubv((GLubyte*)&col);\n\t\tfor (unsigned i = 2; i < numCoords; ++i)\n\t\t{\n\t\t\tglVertex2fv(&coords[0]);\n\t\t\tglVertex2fv(&coords[(i - 1) * 2]);\n\t\t\tglVertex2fv(&coords[i * 2]);\n\t\t}\n\n\t\tglEnd();\n\t}\n\n\tstatic void drawRect(float x, float y, float w, float h, float fth, unsigned int col)\n\t{\n\t\tfloat verts[4 * 2] =\n\t\t{\n\t\t\tx + 0.5f, y + 0.5f,\n\t\t\tx + w - 0.5f, y + 0.5f,\n\t\t\tx + w - 0.5f, y + h - 0.5f,\n\t\t\tx + 0.5f, y + h - 0.5f,\n\t\t};\n\t\tdrawPolygon(verts, 4, fth, col);\n\t}\n\n\t/*\n\tstatic void drawEllipse(float x, float y, float w, float h, float fth, unsigned int col)\n\t{\n\t\tfloat verts[CIRCLE_VERTS*2];\n\t\tconst float* cverts = g_circleVerts;\n\t\tfloat* v = verts;\n\n\t\tfor (int i = 0; i < CIRCLE_VERTS; ++i)\n\t\t{\n\t\t\t*v++ = x + cverts[i*2]*w;\n\t\t\t*v++ = y + cverts[i*2+1]*h;\n\t\t}\n\n\t\tdrawPolygon(verts, CIRCLE_VERTS, fth, col);\n\t}\n\t*/\n\n\tstatic void drawRoundedRect(float x, float y, float w, float h, float r, float fth, unsigned int col)\n\t{\n\t\tconst unsigned n = CIRCLE_VERTS / 4;\n\t\tfloat verts[(n + 1) * 4 * 2];\n\t\tconst float* cverts = g_circleVerts;\n\t\tfloat* v = verts;\n\n\t\tfor (unsigned i = 0; i <= n; ++i)\n\t\t{\n\t\t\t*v++ = x + w - r + cverts[i * 2] * r;\n\t\t\t*v++ = y + h - r + cverts[i * 2 + 1] * r;\n\t\t}\n\n\t\tfor (unsigned i = n; i <= n * 2; ++i)\n\t\t{\n\t\t\t*v++ = x + r + cverts[i * 2] * r;\n\t\t\t*v++ = y + h - r + cverts[i * 2 + 1] * r;\n\t\t}\n\n\t\tfor (unsigned i = n * 2; i <= n * 3; ++i)\n\t\t{\n\t\t\t*v++ = x + r + cverts[i * 2] * r;\n\t\t\t*v++ = y + r + cverts[i * 2 + 1] * r;\n\t\t}\n\n\t\tfor (unsigned i = n * 3; i < n * 4; ++i)\n\t\t{\n\t\t\t*v++ = x + w - r + cverts[i * 2] * r;\n\t\t\t*v++ = y + r + cverts[i * 2 + 1] * r;\n\t\t}\n\t\t*v++ = x + w - r + cverts[0] * r;\n\t\t*v++ = y + r + cverts[1] * r;\n\n\t\tdrawPolygon(verts, (n + 1) * 4, fth, col);\n\t}\n\n\n\tstatic void drawLine(float x0, float y0, float x1, float y1, float r, float fth, unsigned int col)\n\t{\n\t\tfloat dx = x1 - x0;\n\t\tfloat dy = y1 - y0;\n\t\tfloat d = sqrtf(dx*dx + dy*dy);\n\t\tif (d > 0.0001f)\n\t\t{\n\t\t\td = 1.0f / d;\n\t\t\tdx *= d;\n\t\t\tdy *= d;\n\t\t}\n\t\tfloat nx = dy;\n\t\tfloat ny = -dx;\n\t\tfloat verts[4 * 2];\n\t\tr -= fth;\n\t\tr *= 0.5f;\n\t\tif (r < 0.01f) r = 0.01f;\n\t\tdx *= r;\n\t\tdy *= r;\n\t\tnx *= r;\n\t\tny *= r;\n\n\t\tverts[0] = x0 - dx - nx;\n\t\tverts[1] = y0 - dy - ny;\n\n\t\tverts[2] = x0 - dx + nx;\n\t\tverts[3] = y0 - dy + ny;\n\n\t\tverts[4] = x1 + dx + nx;\n\t\tverts[5] = y1 + dy + ny;\n\n\t\tverts[6] = x1 + dx - nx;\n\t\tverts[7] = y1 + dy - ny;\n\n\t\tdrawPolygon(verts, 4, fth, col);\n\t}\n\n\tbool imguiRenderGLInit(const char* fontpath)\n\t{\n\t\tfor (int i = 0; i < CIRCLE_VERTS; ++i)\n\t\t{\n\t\t\tfloat a = (float)i / (float)CIRCLE_VERTS * PI * 2;\n\t\t\tg_circleVerts[i * 2 + 0] = cosf(a);\n\t\t\tg_circleVerts[i * 2 + 1] = sinf(a);\n\t\t}\n\n\t\t// Load font.\n\t\tFILE* fp = fopen(fontpath, \"rb\");\n\t\tif (!fp) return false;\n\t\tfseek(fp, 0, SEEK_END);\n\t\tint size = ftell(fp);\n\t\tfseek(fp, 0, SEEK_SET);\n\n\t\tunsigned char* ttfBuffer = (unsigned char*)malloc(size);\n\t\tif (!ttfBuffer)\n\t\t{\n\t\t\tfclose(fp);\n\t\t\treturn false;\n\t\t}\n\n\t\tsize_t len = fread(ttfBuffer, 1, size, fp);\n\t\t(void)len;\n\n\t\tfclose(fp);\n\t\tfp = 0;\n\n\t\tunsigned char* bmap = (unsigned char*)malloc(512 * 512);\n\t\tif (!bmap)\n\t\t{\n\t\t\tfree(ttfBuffer);\n\t\t\treturn false;\n\t\t}\n\n\t\tstbtt_BakeFontBitmap(ttfBuffer, 0, 15.0f, bmap, 512, 512, 32, 96, g_cdata);\n\n\t\t// can free ttf_buffer at this point\n\t\tglVerify(glGenTextures(1, &g_ftex));\n\t\tglVerify(glBindTexture(GL_TEXTURE_2D, g_ftex));\n\t\tglVerify(glTexImage2D(GL_TEXTURE_2D, 0, GL_ALPHA, 512, 512, 0, GL_ALPHA, GL_UNSIGNED_BYTE, bmap));\n\t\tglVerify(glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR));\n\t\tglVerify(glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR));\n\n\t\tfree(ttfBuffer);\n\t\tfree(bmap);\n\n\t\treturn true;\n\t}\n\n\tvoid imguiRenderGLDestroy()\n\t{\n\t\tif (g_ftex)\n\t\t{\n\t\t\tglDeleteTextures(1, &g_ftex);\n\t\t\tg_ftex = 0;\n\t\t}\n\t}\n\n\tstatic void getBakedQuad(stbtt_bakedchar *chardata, int pw, int ph, int char_index,\n\t\tfloat *xpos, float *ypos, stbtt_aligned_quad *q)\n\t{\n\t\tstbtt_bakedchar *b = chardata + char_index;\n\t\tint round_x = STBTT_ifloor(*xpos + b->xoff);\n\t\tint round_y = STBTT_ifloor(*ypos - b->yoff);\n\n\t\tq->x0 = (float)round_x;\n\t\tq->y0 = (float)round_y;\n\t\tq->x1 = (float)round_x + b->x1 - b->x0;\n\t\tq->y1 = (float)round_y - b->y1 + b->y0;\n\n\t\tq->s0 = b->x0 / (float)pw;\n\t\tq->t0 = b->y0 / (float)pw;\n\t\tq->s1 = b->x1 / (float)ph;\n\t\tq->t1 = b->y1 / (float)ph;\n\n\t\t*xpos += b->xadvance;\n\t}\n\n\tstatic const float g_tabStops[4] = { 150, 210, 270, 330 };\n\n\tstatic float getTextLength(stbtt_bakedchar *chardata, const char* text)\n\t{\n\t\tfloat xpos = 0;\n\t\tfloat len = 0;\n\t\twhile (*text)\n\t\t{\n\t\t\tint c = (unsigned char)*text;\n\t\t\tif (c == '\\t')\n\t\t\t{\n\t\t\t\tfor (int i = 0; i < 4; ++i)\n\t\t\t\t{\n\t\t\t\t\tif (xpos < g_tabStops[i])\n\t\t\t\t\t{\n\t\t\t\t\t\txpos = g_tabStops[i];\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (c >= 32 && c < 128)\n\t\t\t{\n\t\t\t\tstbtt_bakedchar *b = chardata + c - 32;\n\t\t\t\tint round_x = STBTT_ifloor((xpos + b->xoff) + 0.5);\n\t\t\t\tlen = round_x + b->x1 - b->x0 + 0.5f;\n\t\t\t\txpos += b->xadvance;\n\t\t\t}\n\t\t\t++text;\n\t\t}\n\t\treturn len;\n\t}\n\n\tstatic void drawText(float x, float y, const char *text, int align, unsigned int col)\n\t{\n\t\tif (!g_ftex) return;\n\t\tif (!text) return;\n\n\t\tif (align == IMGUI_ALIGN_CENTER)\n\t\t\tx -= getTextLength(g_cdata, text) / 2;\n\t\telse if (align == IMGUI_ALIGN_RIGHT)\n\t\t\tx -= getTextLength(g_cdata, text);\n\n\t\tglColor4ub(col & 0xff, (col >> 8) & 0xff, (col >> 16) & 0xff, (col >> 24) & 0xff);\n\n\t\tglEnable(GL_TEXTURE_2D);\n\n\t\t// assume orthographic projection with units = screen pixels, origin at top left\n\t\tglBindTexture(GL_TEXTURE_2D, g_ftex);\n\n\t\tglBegin(GL_TRIANGLES);\n\n\t\tconst float ox = x;\n\n\t\twhile (*text)\n\t\t{\n\t\t\tint c = (unsigned char)*text;\n\t\t\tif (c == '\\t')\n\t\t\t{\n\t\t\t\tfor (int i = 0; i < 4; ++i)\n\t\t\t\t{\n\t\t\t\t\tif (x < g_tabStops[i] + ox)\n\t\t\t\t\t{\n\t\t\t\t\t\tx = g_tabStops[i] + ox;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (c >= 32 && c < 128)\n\t\t\t{\n\t\t\t\tstbtt_aligned_quad q;\n\t\t\t\tgetBakedQuad(g_cdata, 512, 512, c - 32, &x, &y, &q);\n\n\t\t\t\tglTexCoord2f(q.s0, q.t0);\n\t\t\t\tglVertex2f(q.x0, q.y0);\n\t\t\t\tglTexCoord2f(q.s1, q.t1);\n\t\t\t\tglVertex2f(q.x1, q.y1);\n\t\t\t\tglTexCoord2f(q.s1, q.t0);\n\t\t\t\tglVertex2f(q.x1, q.y0);\n\n\t\t\t\tglTexCoord2f(q.s0, q.t0);\n\t\t\t\tglVertex2f(q.x0, q.y0);\n\t\t\t\tglTexCoord2f(q.s0, q.t1);\n\t\t\t\tglVertex2f(q.x0, q.y1);\n\t\t\t\tglTexCoord2f(q.s1, q.t1);\n\t\t\t\tglVertex2f(q.x1, q.y1);\n\t\t\t}\n\t\t\t++text;\n\t\t}\n\n\t\tglEnd();\n\t\tglDisable(GL_TEXTURE_2D);\n\t}\n\n\n\tvoid imguiRenderGLDraw()\n\t{\n\t\tconst imguiGfxCmd* q = imguiGetRenderQueue();\n\t\tint nq = imguiGetRenderQueueSize();\n\n\t\tconst float s = 1.0f / 8.0f;\n\n\t\tglDisable(GL_SCISSOR_TEST);\n\t\tfor (int i = 0; i < nq; ++i)\n\t\t{\n\t\t\tconst imguiGfxCmd& cmd = q[i];\n\t\t\tif (cmd.type == IMGUI_GFXCMD_RECT)\n\t\t\t{\n\t\t\t\tif (cmd.rect.r == 0)\n\t\t\t\t{\n\t\t\t\t\tdrawRect((float)cmd.rect.x*s + 0.5f, (float)cmd.rect.y*s + 0.5f,\n\t\t\t\t\t\t(float)cmd.rect.w*s - 1, (float)cmd.rect.h*s - 1,\n\t\t\t\t\t\t1.0f, cmd.col);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tdrawRoundedRect((float)cmd.rect.x*s + 0.5f, (float)cmd.rect.y*s + 0.5f,\n\t\t\t\t\t\t(float)cmd.rect.w*s - 1, (float)cmd.rect.h*s - 1,\n\t\t\t\t\t\t(float)cmd.rect.r*s, 1.0f, cmd.col);\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (cmd.type == IMGUI_GFXCMD_LINE)\n\t\t\t{\n\t\t\t\tdrawLine(cmd.line.x0*s, cmd.line.y0*s, cmd.line.x1*s, cmd.line.y1*s, cmd.line.r*s, 1.0f, cmd.col);\n\t\t\t}\n\t\t\telse if (cmd.type == IMGUI_GFXCMD_TRIANGLE)\n\t\t\t{\n\t\t\t\tif (cmd.flags == 1)\n\t\t\t\t{\n\t\t\t\t\tconst float verts[3 * 2] =\n\t\t\t\t\t{\n\t\t\t\t\t\t(float)cmd.rect.x*s + 0.5f, (float)cmd.rect.y*s + 0.5f,\n\t\t\t\t\t\t(float)cmd.rect.x*s + 0.5f + (float)cmd.rect.w*s - 1, (float)cmd.rect.y*s + 0.5f + (float)cmd.rect.h*s / 2 - 0.5f,\n\t\t\t\t\t\t(float)cmd.rect.x*s + 0.5f, (float)cmd.rect.y*s + 0.5f + (float)cmd.rect.h*s - 1,\n\t\t\t\t\t};\n\t\t\t\t\tdrawPolygon(verts, 3, 1.0f, cmd.col);\n\t\t\t\t}\n\t\t\t\tif (cmd.flags == 2)\n\t\t\t\t{\n\t\t\t\t\tconst float verts[3 * 2] =\n\t\t\t\t\t{\n\t\t\t\t\t\t(float)cmd.rect.x*s + 0.5f, (float)cmd.rect.y*s + 0.5f + (float)cmd.rect.h*s - 1,\n\t\t\t\t\t\t(float)cmd.rect.x*s + 0.5f + (float)cmd.rect.w*s / 2 - 0.5f, (float)cmd.rect.y*s + 0.5f,\n\t\t\t\t\t\t(float)cmd.rect.x*s + 0.5f + (float)cmd.rect.w*s - 1, (float)cmd.rect.y*s + 0.5f + (float)cmd.rect.h*s - 1,\n\t\t\t\t\t};\n\t\t\t\t\tdrawPolygon(verts, 3, 1.0f, cmd.col);\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (cmd.type == IMGUI_GFXCMD_TEXT)\n\t\t\t{\n\t\t\t\tdrawText(cmd.text.x, cmd.text.y, cmd.text.text, cmd.text.align, cmd.col);\n\t\t\t}\n\t\t\telse if (cmd.type == IMGUI_GFXCMD_SCISSOR)\n\t\t\t{\n\t\t\t\tif (cmd.flags)\n\t\t\t\t{\n\t\t\t\t\tglEnable(GL_SCISSOR_TEST);\n\t\t\t\t\tglScissor(cmd.rect.x, cmd.rect.y, cmd.rect.w, cmd.rect.h);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tglDisable(GL_SCISSOR_TEST);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tglDisable(GL_SCISSOR_TEST);\n\t}\n}\n"
  },
  {
    "path": "demo/opengl/imguiRenderGL.h",
    "content": "//\n// Copyright (c) 2009-2010 Mikko Mononen memon@inside.org\n//\n// This software is provided 'as-is', without any express or implied\n// warranty.  In no event will the authors be held liable for any damages\n// arising from the use of this software.\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n// 1. The origin of this software must not be misrepresented; you must not\n//    claim that you wrote the original software. If you use this software\n//    in a product, an acknowledgment in the product documentation would be\n//    appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n//    misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n//\n\n#ifndef IMGUI_RENDER_GL_H\n#define IMGUI_RENDER_GL_H\n\nnamespace OGL_Renderer\n{\n\tbool imguiRenderGLInit(const char* fontpath);\n\tvoid imguiRenderGLDestroy();\n\tvoid imguiRenderGLDraw();\n}\n\n#endif // IMGUI_RENDER_GL_H\n"
  },
  {
    "path": "demo/opengl/shader.cpp",
    "content": "// This code contains NVIDIA Confidential Information and is disclosed to you\n// under a form of NVIDIA software license agreement provided separately to you.\n//\n// Notice\n// NVIDIA Corporation and its licensors retain all intellectual property and\n// proprietary rights in and to this software and related documentation and\n// any modifications thereto. Any use, reproduction, disclosure, or\n// distribution of this software and related documentation without an express\n// license agreement from NVIDIA Corporation is strictly prohibited.\n//\n// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED \"AS IS.\". NVIDIA MAKES\n// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO\n// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,\n// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.\n//\n// Information and code furnished is believed to be accurate and reliable.\n// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such\n// information or for any infringement of patents or other rights of third parties that may\n// result from its use. No license is granted by implication or otherwise under any patent\n// or patent rights of NVIDIA Corporation. Details are subject to change without notice.\n// This code supersedes and replaces all information previously supplied.\n// NVIDIA Corporation products are not authorized for use as critical\n// components in life support devices or systems without express written approval of\n// NVIDIA Corporation.\n//\n// Copyright (c) 2013-2020 NVIDIA Corporation. All rights reserved.\n\n#include \"shader.h\"\n\n#include \"../../core/types.h\"\n#include \"../../core/maths.h\"\n#include \"../../core/platform.h\"\n#include \"../../core/tga.h\"\n\n#include <stdarg.h>\n#include <stdio.h>\n\n#define WITH_GLEW\n\nvoid glAssert(const char* msg, long line, const char* file)\n{\n\tstruct glError\n\t{\n\t\tGLenum code;\n\t\tconst char* name;\n\t};\n\n\tstatic const glError errors[] =\n\t{\n\t\t{ GL_NO_ERROR, \"No Error\" },\n\t\t{ GL_INVALID_ENUM, \"Invalid Enum\" },\n\t\t{ GL_INVALID_VALUE, \"Invalid Value\" },\n\t\t{ GL_INVALID_OPERATION, \"Invalid Operation\" },\n#if OGL1\n\t\t{ GL_STACK_OVERFLOW, \"Stack Overflow\" },\n\t\t{ GL_STACK_UNDERFLOW, \"Stack Underflow\" },\n\t\t{ GL_OUT_OF_MEMORY, \"Out Of Memory\" }\n#endif\n\t};\n\n\tGLenum e = glGetError();\n\n\tif (e == GL_NO_ERROR)\n\t{\n\t\treturn;\n\t}\n\telse\n\t{\n\t\tconst char* errorName = \"Unknown error\";\n\n\t\t// find error message\n\t\tfor (uint32_t i = 0; i < sizeof(errors) / sizeof(glError); i++)\n\t\t{\n\t\t\tif (errors[i].code == e)\n\t\t\t{\n\t\t\t\terrorName = errors[i].name;\n\t\t\t}\n\t\t}\n\n\t\tprintf(\"OpenGL: %s - error %s in %s at line %d\\n\", msg, errorName, file, int(line));\n\t\tassert(0);\n\t}\n}\n\nnamespace OGL_Renderer\n{\n\tvoid GlslPrintShaderLog(GLuint obj)\n\t{\n#if !PLATFORM_IOS\n\t\tint infologLength = 0;\n\t\tint charsWritten = 0;\n\t\tchar *infoLog;\n\n\t\tGLint result;\n\t\tglGetShaderiv(obj, GL_COMPILE_STATUS, &result);\n\n\t\t// only print log if compile fails\n\t\tif (result == GL_FALSE)\n\t\t{\n\t\t\tglGetShaderiv(obj, GL_INFO_LOG_LENGTH, &infologLength);\n\n\t\t\tif (infologLength > 1)\n\t\t\t{\n\t\t\t\tinfoLog = (char *)malloc(infologLength);\n\t\t\t\tglGetShaderInfoLog(obj, infologLength, &charsWritten, infoLog);\n\t\t\t\tprintf(\"%s\\n\", infoLog);\n\t\t\t\tfree(infoLog);\n\t\t\t}\n\t\t}\n#endif\n\t}\n\n\tvoid PreProcessShader(const char* filename, std::string& source)\n\t{\n\t\t// load source\n\t\tFILE* f = fopen(filename, \"r\");\n\n\t\tif (!f)\n\t\t{\n\t\t\tprintf(\"Could not open shader file for reading: %s\\n\", filename);\n\t\t\treturn;\n\t\t}\n\n\t\t// add lines one at a time handling include files recursively\n\t\twhile (!feof(f))\n\t\t{\n\t\t\tchar buf[1024];\n\n\t\t\tif (fgets(buf, 1024, f) != NULL)\n\t\t\t{\n\t\t\t\t// test for #include\n\t\t\t\tif (strncmp(buf, \"#include\", 8) == 0)\n\t\t\t\t{\n\t\t\t\t\tconst char* begin = strchr(buf, '\\\"');\n\t\t\t\t\tconst char* end = strrchr(buf, '\\\"');\n\n\t\t\t\t\tif (begin && end && (begin != end))\n\t\t\t\t\t{\n\t\t\t\t\t\t// lookup file relative to current file\n\t\t\t\t\t\tPreProcessShader((StripFilename(filename) + std::string(begin + 1, end)).c_str(), source);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\t// add line to output\n\t\t\t\t\tsource += buf;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfclose(f);\n\t}\n\n\tGLuint CompileProgram(const char *vsource, const char *fsource, const char* gsource)\n\t{\n\t\tGLuint vertexShader = GLuint(-1);\n\t\tGLuint geometryShader = GLuint(-1);\n\t\tGLuint fragmentShader = GLuint(-1);\n\n\t\tGLuint program = glCreateProgram();\n\n\t\tif (vsource)\n\t\t{\n\t\t\tvertexShader = glCreateShader(GL_VERTEX_SHADER);\n\t\t\tglShaderSource(vertexShader, 1, &vsource, 0);\n\t\t\tglCompileShader(vertexShader);\n\t\t\tGlslPrintShaderLog(vertexShader);\n\t\t\tglAttachShader(program, vertexShader);\n\t\t}\n\n\t\tif (fsource)\n\t\t{\n\t\t\tfragmentShader = glCreateShader(GL_FRAGMENT_SHADER);\n\t\t\tglShaderSource(fragmentShader, 1, &fsource, 0);\n\t\t\tglCompileShader(fragmentShader);\n\t\t\tGlslPrintShaderLog(fragmentShader);\n\t\t\tglAttachShader(program, fragmentShader);\n\t\t}\n\n\t\tif (gsource)\n\t\t{\n\t\t\tgeometryShader = glCreateShader(GL_GEOMETRY_SHADER);\n\t\t\tglShaderSource(geometryShader, 1, &gsource, 0);\n\t\t\tglCompileShader(geometryShader);\n\t\t\tGlslPrintShaderLog(geometryShader);\n\n\t\t\t// hack, force billboard gs mode\n\t\t\tglAttachShader(program, geometryShader);\n\t\t\tglProgramParameteriEXT(program, GL_GEOMETRY_VERTICES_OUT_EXT, 4);\n\t\t\tglProgramParameteriEXT(program, GL_GEOMETRY_INPUT_TYPE_EXT, GL_POINTS);\n\t\t\tglProgramParameteriEXT(program, GL_GEOMETRY_OUTPUT_TYPE_EXT, GL_TRIANGLE_STRIP);\n\t\t}\n\n\t\tglLinkProgram(program);\n\n\t\t// check if program linked\n\t\tGLint success = 0;\n\t\tglGetProgramiv(program, GL_LINK_STATUS, &success);\n\n\t\tif (!success) {\n\t\t\tchar temp[256];\n\t\t\tglGetProgramInfoLog(program, 256, 0, temp);\n\t\t\tprintf(\"Failed to link program:\\n%s\\n\", temp);\n\t\t\tglDeleteProgram(program);\n\t\t\tprogram = 0;\n\t\t}\n\n\t\treturn program;\n\t}\n\n\tvoid DrawPlane(const Vec4& p, bool color)\n\t{\n\t\tVec3 u, v;\n\t\tBasisFromVector(Vec3(p.x, p.y, p.z), &u, &v);\n\n\t\tVec3 c = Vec3(p.x, p.y, p.z)*-p.w;\n\n\t\tglBegin(GL_QUADS);\n\n\t\tif (color)\n\t\t\tglColor3fv(p*0.5f + Vec4(0.5f, 0.5f, 0.5f, 0.5f));\n\n\t\tfloat kSize = 200.0f;\n\n\t\t// draw a grid of quads, otherwise z precision suffers\n\t\tfor (int x = -3; x <= 3; ++x)\n\t\t{\n\t\t\tfor (int y = -3; y <= 3; ++y)\n\t\t\t{\n\t\t\t\tVec3 coff = c + u*float(x)*kSize*2.0f + v*float(y)*kSize*2.0f;\n\n\t\t\t\tglTexCoord2f(1.0f, 1.0f);\n\t\t\t\tglNormal3f(p.x, p.y, p.z);\n\t\t\t\tglVertex3fv(coff + u*kSize + v*kSize);\n\n\t\t\t\tglTexCoord2f(0.0f, 1.0f);\n\t\t\t\tglNormal3f(p.x, p.y, p.z);\n\t\t\t\tglVertex3fv(coff - u*kSize + v*kSize);\n\n\t\t\t\tglTexCoord2f(0.0f, 0.0f);\n\t\t\t\tglNormal3f(p.x, p.y, p.z);\n\t\t\t\tglVertex3fv(coff - u*kSize - v*kSize);\n\n\t\t\t\tglTexCoord2f(1.0f, 0.0f);\n\t\t\t\tglNormal3f(p.x, p.y, p.z);\n\t\t\t\tglVertex3fv(coff + u*kSize - v*kSize);\n\t\t\t}\n\t\t}\n\n\t\tglEnd();\n\t}\n}\n"
  },
  {
    "path": "demo/opengl/shader.h",
    "content": "// This code contains NVIDIA Confidential Information and is disclosed to you\n// under a form of NVIDIA software license agreement provided separately to you.\n//\n// Notice\n// NVIDIA Corporation and its licensors retain all intellectual property and\n// proprietary rights in and to this software and related documentation and\n// any modifications thereto. Any use, reproduction, disclosure, or\n// distribution of this software and related documentation without an express\n// license agreement from NVIDIA Corporation is strictly prohibited.\n//\n// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED \"AS IS.\". NVIDIA MAKES\n// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO\n// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,\n// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.\n//\n// Information and code furnished is believed to be accurate and reliable.\n// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such\n// information or for any infringement of patents or other rights of third parties that may\n// result from its use. No license is granted by implication or otherwise under any patent\n// or patent rights of NVIDIA Corporation. Details are subject to change without notice.\n// This code supersedes and replaces all information previously supplied.\n// NVIDIA Corporation products are not authorized for use as critical\n// components in life support devices or systems without express written approval of\n// NVIDIA Corporation.\n//\n// Copyright (c) 2013-2020 NVIDIA Corporation. All rights reserved.\n\n#pragma once\n\n#include \"../../core/maths.h\"\n\n#if _WIN32\n\n#define ENABLE_SIMPLE_FLUID 0\n\n#include \"../../external/glad/include/glad/glad.h\"\n#include \"../../external/SDL2-2.0.4/include/SDL.h\"\n\n#pragma comment (lib, \"opengl32.lib\") /* link Microsoft OpenGL lib   */\n\n#include <gl/GL.h>\n\n// Begin Add Android Support\n#elif ANDROID\n#include <GL/Regal.h>\n// End Add Android Support\n\n#elif __linux__\n#include \"../../external/glad/include/glad/glad.h\"\n#include <GL/gl.h>\n#include <GL/freeglut.h>\n\n#elif __APPLE__\n#define GL_DO_NOT_WARN_IF_MULTI_GL_VERSION_HEADERS_INCLUDED \n#include <opengl/gl3.h>\n#elif PLATFORM_IOS\n\n#if OGL1\n#import <OpenGLES/EAGL.h>\n#import <OpenGLES/ES1/gl.h>\n#import <OpenGLES/ES1/glext.h>\n#else\n#import <OpenGLES/ES2/gl.h>\n#import <OpenGLES/ES2/glext.h>\n#endif\n\n#endif\n\n#include <vector>\n\n#if defined(NDEBUG)\n#define glVerify(x) x\n#else\n#define glVerify(x) {x; glAssert(#x, __LINE__, __FILE__);}\nvoid glAssert(const char* msg, long line, const char* file);\n#endif\n\nnamespace OGL_Renderer\n{\n\tGLuint CompileProgram(const char *vsource = NULL, const char *fsource = NULL, const char* gsource = NULL);\n\tvoid DrawPlane(const Vec4& p, bool color = true);\n}\n"
  },
  {
    "path": "demo/opengl/shadersGL.cpp",
    "content": "// This code contains NVIDIA Confidential Information and is disclosed to you\n// under a form of NVIDIA software license agreement provided separately to you.\n//\n// Notice\n// NVIDIA Corporation and its licensors retain all intellectual property and\n// proprietary rights in and to this software and related documentation and\n// any modifications thereto. Any use, reproduction, disclosure, or\n// distribution of this software and related documentation without an express\n// license agreement from NVIDIA Corporation is strictly prohibited.\n//\n// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED \"AS IS.\". NVIDIA MAKES\n// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO\n// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,\n// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.\n//\n// Information and code furnished is believed to be accurate and reliable.\n// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such\n// information or for any infringement of patents or other rights of third parties that may\n// result from its use. No license is granted by implication or otherwise under any patent\n// or patent rights of NVIDIA Corporation. Details are subject to change without notice.\n// This code supersedes and replaces all information previously supplied.\n// NVIDIA Corporation products are not authorized for use as critical\n// components in life support devices or systems without express written approval of\n// NVIDIA Corporation.\n//\n// Copyright (c) 2013-2020 NVIDIA Corporation. All rights reserved.\n\n#include \"../shaders.h\"\n\n#include \"../../core/mesh.h\"\n#include \"../../core/tga.h\"\t\n#include \"../../core/platform.h\"\n#include \"../../core/extrude.h\"\n\n#include \"../../external/SDL2-2.0.4/include/SDL.h\"\n#include \"../../external/glad/src/glad.c\"\n\n#include \"imguiRenderGL.h\"\n#include \"utilsGL.h\"\n\n#include \"shader.h\"\n\n#ifdef ANDROID\n#include \"android/Log.h\"\n#include \"android/AndroidDefine.h\"\n#include \"android/AndroidMatrixTool.h\"\n#endif\n\n\n#define CudaCheck(x) { cudaError_t err = x; if (err != cudaSuccess) { printf(\"Cuda error: %d in %s at %s:%d\\n\", err, #x, __FILE__, __LINE__); assert(0); } }\n\ntypedef unsigned int VertexBuffer;\ntypedef unsigned int IndexBuffer;\ntypedef unsigned int Texture;\n\nstruct FluidRenderBuffersGL\n{\n\tFluidRenderBuffersGL(int numParticles = 0):\n\t\tmPositionVBO(0),\n\t\tmDensityVBO(0),\n\t\tmIndices(0),\n\t\tmPositionBuf(nullptr),\n\t\tmDensitiesBuf(nullptr),\n\t\tmIndicesBuf(nullptr)\n\t{\n\t\tmNumParticles = numParticles;\n\t\tfor (int i = 0; i < 3; i++)\n\t\t{ \n\t\t\tmAnisotropyVBO[i] = 0;\n\t\t\tmAnisotropyBuf[i] = nullptr;\n\t\t}\n\t}\n\t~FluidRenderBuffersGL()\n\t{\n\t\tglDeleteBuffers(1, &mPositionVBO);\n\t\tglDeleteBuffers(3, mAnisotropyVBO);\n\t\tglDeleteBuffers(1, &mDensityVBO);\n\t\tglDeleteBuffers(1, &mIndices);\n\n\t\tNvFlexUnregisterOGLBuffer(mPositionBuf);\n\t\tNvFlexUnregisterOGLBuffer(mDensitiesBuf);\n\t\tNvFlexUnregisterOGLBuffer(mIndicesBuf);\n\n\t\tNvFlexUnregisterOGLBuffer(mAnisotropyBuf[0]);\n\t\tNvFlexUnregisterOGLBuffer(mAnisotropyBuf[1]);\n\t\tNvFlexUnregisterOGLBuffer(mAnisotropyBuf[2]);\n\t}\n\n\tint mNumParticles;\n\tVertexBuffer mPositionVBO;\n\tVertexBuffer mDensityVBO;\n\tVertexBuffer mAnisotropyVBO[3];\n\tIndexBuffer mIndices;\n\n\t// wrapper buffers that allow Flex to write directly to VBOs\n\tNvFlexBuffer* mPositionBuf;\n\tNvFlexBuffer* mDensitiesBuf;\n\tNvFlexBuffer* mAnisotropyBuf[3];\n\tNvFlexBuffer* mIndicesBuf;\n};\n\n// vertex buffers for diffuse particles\nstruct DiffuseRenderBuffersGL\n{\n\tDiffuseRenderBuffersGL(int numParticles = 0):\n\t\tmDiffusePositionVBO(0),\n\t\tmDiffuseVelocityVBO(0),\n\t\tmDiffuseIndicesIBO(0),\n\t\tmDiffuseIndicesBuf(nullptr),\n\t\tmDiffusePositionsBuf(nullptr),\n\t\tmDiffuseVelocitiesBuf(nullptr)\n\t{\n\t\tmNumParticles = numParticles;\n\t}\n\t~DiffuseRenderBuffersGL()\n\t{\n\t\tif (mNumParticles > 0)\n\t\t{\n\t\t\tglDeleteBuffers(1, &mDiffusePositionVBO);\n\t\t\tglDeleteBuffers(1, &mDiffuseVelocityVBO);\n\t\t\tglDeleteBuffers(1, &mDiffuseIndicesIBO);\n\n\t\t\tNvFlexUnregisterOGLBuffer(mDiffuseIndicesBuf);\n\t\t\tNvFlexUnregisterOGLBuffer(mDiffusePositionsBuf);\n\t\t\tNvFlexUnregisterOGLBuffer(mDiffuseVelocitiesBuf);\n\t\t}\n\t}\n\n\tint mNumParticles;\n\tVertexBuffer mDiffusePositionVBO;\n\tVertexBuffer mDiffuseVelocityVBO;\n\tIndexBuffer mDiffuseIndicesIBO;\n\n\tNvFlexBuffer* mDiffuseIndicesBuf;\n\tNvFlexBuffer* mDiffusePositionsBuf;\n\tNvFlexBuffer* mDiffuseVelocitiesBuf;\n};\n\nstruct FluidRenderer\n{\n\tGLuint mDepthFbo;\n\tGLuint mDepthTex;\n\tGLuint mDepthSmoothTex;\n\tGLuint mSceneFbo;\n\tGLuint mSceneTex;\n\tGLuint mReflectTex;\n\n\tGLuint mThicknessFbo;\n\tGLuint mThicknessTex;\n\n\tGLuint mPointThicknessProgram;\n\t//GLuint mPointDepthProgram;\n\n\tGLuint mEllipsoidThicknessProgram;\n\tGLuint mEllipsoidDepthProgram;\n\n\tGLuint mCompositeProgram;\n\tGLuint mDepthBlurProgram;\n\n\tint mSceneWidth;\n\tint mSceneHeight;\n};\n\nstruct ShadowMap\n{\n\tGLuint texture;\n\tGLuint framebuffer;\n};\n\nstruct GpuMesh\n{\n\tGLuint mPositionsVBO;\n\tGLuint mNormalsVBO;\n\tGLuint mIndicesIBO;\n\n\tint mNumVertices;\n\tint mNumFaces;\n};\n\n// texture pool\n#include \"../../core/png.h\"\n\nGLuint LoadTexture(const char* filename)\n{\n    PngImage img;\n    if (PngLoad(filename, img))\n    {\n        GLuint tex;\n\n        glVerify(glGenTextures(1, &tex));\n        glVerify(glActiveTexture(GL_TEXTURE0));\n        glVerify(glBindTexture(GL_TEXTURE_2D, tex));\n\n        glVerify(glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR));\n        glVerify(glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR));\n        glVerify(glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT));\n        glVerify(glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT));\n        glVerify(glTexParameteri(GL_TEXTURE_2D, GL_GENERATE_MIPMAP, GL_TRUE));\n        glVerify(glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, img.m_width, img.m_height, 0, GL_RGBA, GL_UNSIGNED_BYTE, img.m_data));\n\n        PngFree(img);\n\n        return tex;\n    }\n    else\n    {\n        return NULL;\n    }\n}\n\nstruct RenderTexture\n{\n    GLuint colorTex;\n    GLuint colorFrameBuffer;\n\n    GLuint depthTex;\n    GLuint depthFrameBuffer;\n\n    RenderTexture()\n    {\n        memset(this, 0, sizeof(*this));\n    }\n};\n\nnamespace\n{\n\nint g_msaaSamples;\nGLuint g_msaaFbo;\nGLuint g_msaaColorBuf;\nGLuint g_msaaDepthBuf;\n\nint g_screenWidth;\nint g_screenHeight;\n\nSDL_Window* g_window;\n\nstatic float g_spotMin = 0.5f;\nstatic float g_spotMax = 1.0f;\nfloat g_shadowBias = 0.05f;\n\n} // anonymous namespace\n\nextern NvFlexLibrary* g_flexLib;\nextern Colour g_colors[];\n\nextern Mesh* g_mesh;\nvoid DrawShapes();\n\nnamespace OGL_Renderer\n{\n\nvoid InitRender(const RenderInitOptions& options)\n{\n\tSDL_Window* window = options.window;\n\tint msaaSamples = options.numMsaaSamples;\n\n\tSDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 3);\n\tSDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 2);\n\n\t//SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_CORE);\n\tSDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_COMPATIBILITY);\n\n\t// Turn on double buffering with a 24bit Z buffer.\n\tSDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1);\n\tSDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 24);\n\n\tSDL_GL_CreateContext(window);\n\n\t// This makes our buffer swap syncronized with the monitor's vertical refresh\n\tSDL_GL_SetSwapInterval(1);\n\n\tif (!gladLoadGLLoader(SDL_GL_GetProcAddress))\n\t{\n\t\tprintf(\"Could not initialize GL extensions\\n\");\n\t}\n\n\timguiRenderGLInit(GetFilePathByPlatform(\"../../data/DroidSans.ttf\").c_str());\n\n\tg_msaaSamples = msaaSamples;\n\tg_window = window;\n}\n\nvoid DestroyRender()\n{\n}\n\nvoid StartFrame(Vec4 clearColor)\n{\n\tglEnable(GL_DEPTH_TEST);\n\tglEnable(GL_CULL_FACE);\n\tglDisable(GL_LIGHTING);\n\tglDisable(GL_BLEND);\n\n\tglPointSize(5.0f);\n\n\tglVerify(glBindFramebuffer(GL_DRAW_FRAMEBUFFER_EXT, g_msaaFbo));\n\tglVerify(glClearColor(powf(clearColor.x, 1.0f / 2.2f), powf(clearColor.y, 1.0f / 2.2f), powf(clearColor.z, 1.0f / 2.2f), 0.0f));\n\tglVerify(glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT));\n\n\n}\n\nvoid EndFrame()\n{\n\tif (g_msaaFbo)\n\t{\n\t\t// blit the msaa buffer to the window\n\t\tglVerify(glBindFramebuffer(GL_READ_FRAMEBUFFER_EXT, g_msaaFbo));\n\t\tglVerify(glBindFramebuffer(GL_DRAW_FRAMEBUFFER_EXT, 0));\n\t\tglVerify(glBlitFramebuffer(0, 0, g_screenWidth, g_screenHeight, 0, 0, g_screenWidth, g_screenHeight, GL_COLOR_BUFFER_BIT, GL_LINEAR));\n\t}\n\n\t\t// render help to back buffer\n\tglVerify(glBindFramebuffer(GL_FRAMEBUFFER, 0));\n\tglVerify(glClear(GL_DEPTH_BUFFER_BIT));\n\n}\n\nvoid SetView(Matrix44 view, Matrix44 proj)\n{\n\tglMatrixMode(GL_PROJECTION);\n\tglLoadMatrixf(proj);\n\n\tglMatrixMode(GL_MODELVIEW);\n\tglLoadMatrixf(view);\n}\n\nvoid SetFillMode(bool wireframe)\n{\n\tglPolygonMode(GL_FRONT_AND_BACK, wireframe?GL_LINE:GL_FILL);\n}\n\nvoid SetCullMode(bool enabled)\n{\n\tif (enabled)\n\t\tglEnable(GL_CULL_FACE);\t\t\n\telse\n\t\tglDisable(GL_CULL_FACE);\t\t\n}\n\n\nvoid imguiGraphDraw()\n{\n\tglPolygonMode(GL_FRONT_AND_BACK, GL_FILL);\n\n\tglActiveTexture(GL_TEXTURE0);\n\tglDisable(GL_TEXTURE_2D);\n\tglDisable(GL_TEXTURE_RECTANGLE_ARB);\n\tglActiveTexture(GL_TEXTURE1);\n\tglDisable(GL_TEXTURE_2D);\n\tglActiveTexture(GL_TEXTURE2);\n\tglDisable(GL_TEXTURE_2D);\n\tglActiveTexture(GL_TEXTURE3);\n\tglDisable(GL_TEXTURE_2D);\n\tglActiveTexture(GL_TEXTURE4);\n\tglDisable(GL_TEXTURE_2D);\n\tglDisable(GL_TEXTURE_CUBE_MAP);\n\tglActiveTexture(GL_TEXTURE5);\n\tglDisable(GL_TEXTURE_2D);\n\n\tglActiveTexture(GL_TEXTURE0);\n\n\tglDisable(GL_BLEND);\n\tglDisable(GL_LIGHTING);\n\tglDisable(GL_BLEND);\n\tglDisable(GL_POINT_SPRITE);\n\n\t// save scene camera transform\n\tglMatrixMode(GL_MODELVIEW);\n\tglPushMatrix();\n\tglLoadIdentity();\n\n\tconst Matrix44 ortho = OrthographicMatrix(0.0f, float(g_screenWidth), 0.0f, float(g_screenHeight), -1.0f, 1.0f);\n\n\tglMatrixMode(GL_PROJECTION);\n\tglPushMatrix();\n\tglLoadMatrixf(ortho);\n\n\tglUseProgram(0);\n\tglDisable(GL_DEPTH_TEST);\n\tglDisable(GL_CULL_FACE);\n\tglEnable(GL_BLEND);\n\tglBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);\n\tglDisable(GL_TEXTURE_2D);\n\tglColor4f(1.0f, 1.0f, 1.0f, 1.0f);\n\n\timguiRenderGLDraw();\n\n\t// restore camera transform (for picking)\n\tglMatrixMode(GL_MODELVIEW);\n\tglPopMatrix();\n\n\tglMatrixMode(GL_PROJECTION);\n\tglPopMatrix();\n}\n\nvoid ReshapeRender(int width, int height, bool minimized)\n{\n\tif (g_msaaSamples)\n\t{\n\t\tglVerify(glBindFramebuffer(GL_FRAMEBUFFER, 0));\n\n\t\tif (g_msaaFbo)\n\t\t{\n\t\t\tglVerify(glDeleteFramebuffers(1, &g_msaaFbo));\n\t\t\tglVerify(glDeleteRenderbuffers(1, &g_msaaColorBuf));\n\t\t\tglVerify(glDeleteRenderbuffers(1, &g_msaaDepthBuf));\n\t\t}\n\n\t\tint samples;\n\t\tglGetIntegerv(GL_MAX_SAMPLES_EXT, &samples);\n\n\t\t// clamp samples to 4 to avoid problems with point sprite scaling\n\t\tsamples = Min(samples, Min(g_msaaSamples, 4));\n\n\t\tglVerify(glGenFramebuffers(1, &g_msaaFbo));\n\t\tglVerify(glBindFramebuffer(GL_FRAMEBUFFER, g_msaaFbo));\n\n\t\tglVerify(glGenRenderbuffers(1, &g_msaaColorBuf));\n\t\tglVerify(glBindRenderbuffer(GL_RENDERBUFFER, g_msaaColorBuf));\n\t\tglVerify(glRenderbufferStorageMultisample(GL_RENDERBUFFER, samples, GL_RGBA8, width, height));\n\n\t\tglVerify(glGenRenderbuffers(1, &g_msaaDepthBuf));\n\t\tglVerify(glBindRenderbuffer(GL_RENDERBUFFER, g_msaaDepthBuf));\n\t\tglVerify(glRenderbufferStorageMultisample(GL_RENDERBUFFER, samples, GL_DEPTH_COMPONENT, width, height));\n\t\tglVerify(glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_RENDERBUFFER, g_msaaDepthBuf));\n\n\t\tglVerify(glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_RENDERBUFFER, g_msaaColorBuf));\n\n\t\tglVerify(glCheckFramebufferStatus(GL_FRAMEBUFFER));\n\n\t\tglEnable(GL_MULTISAMPLE);\n\t}\n\n\tg_screenWidth = width;\n\tg_screenHeight = height;\n}\n\nvoid GetViewRay(int x, int y, Vec3& origin, Vec3& dir)\n{\n\tfloat modelview[16];\n\tglGetFloatv(GL_MODELVIEW_MATRIX, modelview);\n\n\tfloat projection[16];\n\tglGetFloatv(GL_PROJECTION_MATRIX, projection);\n\n\tint viewport[4];\n\tglGetIntegerv(GL_VIEWPORT, viewport);\n\n\tfloat nearPos[3];\n\tUnProjectf(float(x), float(y), 0.0f, modelview, projection, viewport, nearPos);\n\n\tfloat farPos[3];\n\tUnProjectf(float(x), float(y), 1.0f, modelview, projection, viewport, farPos);\n\n\torigin = Vec3(float(nearPos[0]), float(nearPos[1]), float(nearPos[2]));\n\tdir = Normalize(Vec3(float(farPos[0]-nearPos[0]), float(farPos[1]-nearPos[1]), float(farPos[2]-nearPos[2])));\n}\n\nVec3 GetScreenCoord(Vec3& pos) {\n\tfloat modelview[16];\n\tglGetFloatv(GL_MODELVIEW_MATRIX, modelview);\n\n\tfloat projection[16];\n\tglGetFloatv(GL_PROJECTION_MATRIX, projection);\n\n\tint viewport[4];\n\tglGetIntegerv(GL_VIEWPORT, viewport);\n\n\tfloat screen[3];\n\tProjectf(pos.x, pos.y, pos.z, modelview, projection, viewport, screen);\n\n\treturn Vec3((float)screen[0], (float)screen[1], (float)screen[2]);\n}\n\nvoid ReadFrame(int* backbuffer, int width, int height)\n{\n\tglVerify(glReadBuffer(GL_BACK));\n\tglReadPixels(0, 0, width, height, GL_RGBA, GL_UNSIGNED_BYTE, backbuffer);\n}\n\nvoid PresentFrame(bool fullsync)\n{\n#ifndef ANDROID\n\tSDL_GL_SetSwapInterval(fullsync);\n\tglFinish();\n\tSDL_GL_SwapWindow(g_window);\n#endif\n}\n\nRenderTexture* CreateRenderTexture(const char* filename)\n{\n\tGLuint tex = LoadTexture(filename);\n\n\tif (tex)\n\t{\n\t\tRenderTexture* t = new RenderTexture();\n\t\tt->colorTex = tex;\n\n\t\treturn t;\n\t}\n\telse\n\t{\n\t\treturn NULL;\n\t}\n}\n\nRenderTexture* CreateRenderTarget(int width, int height, bool depth)\n{\n\treturn NULL;\n}\n\nvoid DestroyRenderTexture(RenderTexture* t)\n{\n\tif (t)\n\t{\n\t\tif (t->colorTex)\n\t\t\tglDeleteTextures(1, &t->colorTex);\n\n\t\tif (t->colorFrameBuffer)\n\t\t\tglDeleteFramebuffers(1, &t->colorFrameBuffer);\n\n\t\tif (t->depthTex)\n\t\t\tglDeleteTextures(1, &t->depthTex);\n\n\t\tif (t->depthFrameBuffer)\n\t\t\tglDeleteFramebuffers(1, &t->depthFrameBuffer);\n\n\t\tdelete t;\n\n\t\t\n\t}\n}\n\n\n// fixes some banding artifacts with repeated blending during thickness and diffuse rendering\n#define USE_HDR_DIFFUSE_BLEND 0\n\n// vertex shader\nconst char *vertexPointShader = \"#version 130\\n\" STRINGIFY(\n\nuniform float pointRadius;  // point size in world space\nuniform float pointScale;   // scale to calculate size in pixels\n\nuniform mat4 lightTransform; \nuniform vec3 lightDir;\nuniform vec3 lightDirView;\n\nuniform vec4 colors[8];\n\nuniform vec4 transmission;\nuniform int mode;\n\n//in int density;\nin float density;\nin int phase;\nin vec4 velocity;\n\nvoid main()\n{\n    // calculate window-space point size\n\tvec4 viewPos = gl_ModelViewMatrix*vec4(gl_Vertex.xyz, 1.0);\n\n\tgl_Position = gl_ModelViewProjectionMatrix * vec4(gl_Vertex.xyz, 1.0);\n\tgl_PointSize = -pointScale * (pointRadius / viewPos.z);\n\n\tgl_TexCoord[0] = gl_MultiTexCoord0;\n\tgl_TexCoord[1] = lightTransform*vec4(gl_Vertex.xyz-lightDir*pointRadius*2.0, 1.0);\n\tgl_TexCoord[2] = gl_ModelViewMatrix*vec4(lightDir, 0.0);\n\n\tif (mode == 1)\n\t{\n\t\t// density visualization\n\t\tif (density < 0.0f)\n\t\t\tgl_TexCoord[3].xyz = mix(vec3(0.1, 0.1, 1.0), vec3(0.1, 1.0, 1.0), -density);\n\t\telse\n\t\t\tgl_TexCoord[3].xyz = mix(vec3(1.0, 1.0, 1.0), vec3(0.1, 0.2, 1.0), density);\n\t}\n\telse if (mode == 2)\n\t{\n\t\tgl_PointSize *= clamp(gl_Vertex.w*0.25, 0.0f, 1.0);\n\n\t\tgl_TexCoord[3].xyzw = vec4(clamp(gl_Vertex.w*0.05, 0.0f, 1.0));\n\t}\n\telse\n\t{\n\t\tgl_TexCoord[3].xyz = mix(colors[phase % 8].xyz*2.0, vec3(1.0), 0.1);\n\t}\n\n\tgl_TexCoord[4].xyz = gl_Vertex.xyz;\n\tgl_TexCoord[5].xyz = viewPos.xyz;\n}\n);\n\n// pixel shader for rendering points as shaded spheres\nconst char *fragmentPointShader = STRINGIFY(\n\nuniform vec3 lightDir;\nuniform vec3 lightPos;\nuniform float spotMin;\nuniform float spotMax;\nuniform int mode;\n\nuniform sampler2DShadow shadowTex;\nuniform vec2 shadowTaps[12];\nuniform float pointRadius;  // point size in world space\n\n// sample shadow map\nfloat shadowSample()\n{\n\tvec3 pos = vec3(gl_TexCoord[1].xyz/gl_TexCoord[1].w);\n\tvec3 uvw = (pos.xyz*0.5)+vec3(0.5);\n\n\t// user clip\n\tif (uvw.x  < 0.0 || uvw.x > 1.0)\n\t\treturn 1.0;\n\tif (uvw.y < 0.0 || uvw.y > 1.0)\n\t\treturn 1.0;\n\t\n\tfloat s = 0.0;\n\tfloat radius = 0.002;\n\n\tfor (int i=0; i < 8; i++)\n\t{\n\t\ts += shadow2D(shadowTex, vec3(uvw.xy + shadowTaps[i]*radius, uvw.z)).r;\n\t}\n\n\ts /= 8.0;\n\treturn s;\n}\n\nfloat sqr(float x) { return x*x; }\n\nvoid main()\n{\n    // calculate normal from texture coordinates\n    vec3 normal;\n    normal.xy = gl_TexCoord[0].xy*vec2(2.0, -2.0) + vec2(-1.0, 1.0);\n    float mag = dot(normal.xy, normal.xy);\n    if (mag > 1.0) discard;   // kill pixels outside circle\n   \tnormal.z = sqrt(1.0-mag);\n\n\tif (mode == 2)\n\t{\n\t\tfloat alpha  = normal.z*gl_TexCoord[3].w;\n\t\tgl_FragColor.xyz = gl_TexCoord[3].xyz*alpha;\n\t\tgl_FragColor.w = alpha;\n\t\treturn;\n\t}\n\n    // calculate lighting\n\tfloat shadow = shadowSample();\n\t\n\tvec3 lVec = normalize(gl_TexCoord[4].xyz-(lightPos));\n\tvec3 lPos = vec3(gl_TexCoord[1].xyz/gl_TexCoord[1].w);\n\tfloat attenuation = max(smoothstep(spotMax, spotMin, dot(lPos.xy, lPos.xy)), 0.05);\n\n\tvec3 diffuse = vec3(0.9, 0.9, 0.9);\n\tvec3 reflectance =  gl_TexCoord[3].xyz;\n\t\n\tvec3 Lo = diffuse*reflectance*max(0.0, sqr(-dot(gl_TexCoord[2].xyz, normal)*0.5 + 0.5))*max(0.2,shadow)*attenuation;\n\n\tgl_FragColor = vec4(pow(Lo, vec3(1.0/2.2)), 1.0);\n\n\tvec3 eyePos = gl_TexCoord[5].xyz + normal*pointRadius;//*2.0;\n\tvec4 ndcPos = gl_ProjectionMatrix * vec4(eyePos, 1.0);\n\tndcPos.z /= ndcPos.w;\n\tgl_FragDepth = ndcPos.z*0.5 + 0.5;\n}\n);\n\n// vertex shader\nconst char *vertexShader = \"#version 130\\n\" STRINGIFY(\n\nuniform mat4 lightTransform; \nuniform vec3 lightDir;\nuniform float bias;\nuniform vec4 clipPlane;\nuniform float expand;\n\nuniform mat4 objectTransform;\n\nvoid main()\n{\n\tvec3 n = normalize((objectTransform*vec4(gl_Normal, 0.0)).xyz);\n\tvec3 p = (objectTransform*vec4(gl_Vertex.xyz, 1.0)).xyz;\n\n    // calculate window-space point size\n\tgl_Position = gl_ModelViewProjectionMatrix * vec4(p + expand*n, 1.0);\n\n\tgl_TexCoord[0].xyz = n;\n\tgl_TexCoord[1] = lightTransform*vec4(p + n*bias, 1.0);\n\tgl_TexCoord[2] = gl_ModelViewMatrix*vec4(lightDir, 0.0);\n\tgl_TexCoord[3].xyz = p;\n\tgl_TexCoord[4] = gl_Color;\n\tgl_TexCoord[5] = gl_MultiTexCoord0;\n\tgl_TexCoord[6] = gl_SecondaryColor;\n\tgl_TexCoord[7] = gl_ModelViewMatrix*vec4(gl_Vertex.xyz, 1.0);\n\n\tgl_ClipDistance[0] = dot(clipPlane,vec4(gl_Vertex.xyz, 1.0));\n}\n);\n\nconst char *passThroughShader = STRINGIFY(\n\nvoid main()\n{\n\tgl_FragColor = vec4(0.0, 0.0, 0.0, 1.0);\n\n}\n);\n\n// pixel shader for rendering points as shaded spheres\nconst char *fragmentShader = STRINGIFY(\n\nuniform vec3 lightDir;\nuniform vec3 lightPos;\nuniform float spotMin;\nuniform float spotMax;\nuniform vec3 color;\nuniform vec4 fogColor;\n\nuniform sampler2DShadow shadowTex;\nuniform vec2 shadowTaps[12];\n\nuniform sampler2D tex;\nuniform bool sky;\n\nuniform bool grid;\nuniform bool texture;\n\nfloat sqr(float x) { return x*x; }\n\n// sample shadow map\nfloat shadowSample()\n{\n\tvec3 pos = vec3(gl_TexCoord[1].xyz/gl_TexCoord[1].w);\n\tvec3 uvw = (pos.xyz*0.5)+vec3(0.5);\n\n\t// user clip\n\tif (uvw.x  < 0.0 || uvw.x > 1.0)\n\t\treturn 1.0;\n\tif (uvw.y < 0.0 || uvw.y > 1.0)\n\t\treturn 1.0;\n\t\n\tfloat s = 0.0;\n\tfloat radius = 0.002;\n\n\tconst int numTaps = 12;\n\n\tfor (int i=0; i < numTaps; i++)\n\t{\n\t\ts += shadow2D(shadowTex, vec3(uvw.xy + shadowTaps[i]*radius, uvw.z)).r;\n\t}\n\n\ts /= numTaps;\n\treturn s;\n}\n\nfloat filterwidth(vec2 v)\n{\n  vec2 fw = max(abs(dFdx(v)), abs(dFdy(v)));\n  return max(fw.x, fw.y);\n}\n\nvec2 bump(vec2 x) \n{\n\treturn (floor((x)/2) + 2.f * max(((x)/2) - floor((x)/2) - .5f, 0.f)); \n}\n\nfloat checker(vec2 uv)\n{\n  float width = filterwidth(uv);\n  vec2 p0 = uv - 0.5 * width;\n  vec2 p1 = uv + 0.5 * width;\n  \n  vec2 i = (bump(p1) - bump(p0)) / width;\n  return i.x * i.y + (1 - i.x) * (1 - i.y);\n}\n\nvoid main()\n{\n    // calculate lighting\n\tfloat shadow = max(shadowSample(), 0.5);\n\n\tvec3 lVec = normalize(gl_TexCoord[3].xyz-(lightPos));\n\tvec3 lPos = vec3(gl_TexCoord[1].xyz/gl_TexCoord[1].w);\n\tfloat attenuation = max(smoothstep(spotMax, spotMin, dot(lPos.xy, lPos.xy)), 0.05);\n\t\t\n\tvec3 n = gl_TexCoord[0].xyz;\n\tvec3 color = gl_TexCoord[4].xyz;\n\n\tif (!gl_FrontFacing)\n\t{\n\t\tcolor = gl_TexCoord[6].xyz;\n\t\tn *= -1.0f;\n\t}\n\n\tif (grid && (n.y >0.995))\n\t{\n\t\tcolor *= 1.0 - 0.25 * checker(vec2(gl_TexCoord[3].x, gl_TexCoord[3].z));\n\t}\n\telse if (grid && abs(n.z) > 0.995)\n\t{\n\t\tcolor *= 1.0 - 0.25 * checker(vec2(gl_TexCoord[3].y, gl_TexCoord[3].x));\n\t}\n\n\tif (texture)\n\t{\n\t\tcolor = texture2D(tex, gl_TexCoord[5].xy).xyz;\n\t}\n\t\n\t// direct light term\n\tfloat wrap = 0.0;\n\tvec3 diffuse = color*vec3(1.0, 1.0, 1.0)*max(0.0, (-dot(lightDir, n)+wrap)/(1.0+wrap)*shadow)*attenuation;\n\t\n\t// wrap ambient term aligned with light dir\n\tvec3 light = vec3(0.03, 0.025, 0.025)*1.5;\n\tvec3 dark = vec3(0.025, 0.025, 0.03);\n\tvec3 ambient = 4.0*color*mix(dark, light, -dot(lightDir, n)*0.5 + 0.5)*attenuation;\n\n\tvec3 fog = mix(vec3(fogColor), diffuse + ambient, exp(gl_TexCoord[7].z*fogColor.w));\n\n\tgl_FragColor = vec4(pow(fog, vec3(1.0/2.2)), 1.0);\t\t\t\t\n}\n);\n\nvoid ShadowApply(GLint sprogram, Vec3 lightPos, Vec3 lightTarget, Matrix44 lightTransform, GLuint shadowTex)\n{\n\tGLint uLightTransform = glGetUniformLocation(sprogram, \"lightTransform\");\n\tglUniformMatrix4fv(uLightTransform, 1, false, lightTransform);\n\n\tGLint uLightPos = glGetUniformLocation(sprogram, \"lightPos\");\n\tglUniform3fv(uLightPos, 1, lightPos);\n\t\n\tGLint uLightDir = glGetUniformLocation(sprogram, \"lightDir\");\n\tglUniform3fv(uLightDir, 1, Normalize(lightTarget-lightPos));\n\n\tGLint uBias = glGetUniformLocation(sprogram, \"bias\");\n\tglUniform1f(uBias, g_shadowBias);\n\n\tconst Vec2 taps[] = \n\t{ \n\t\tVec2(-0.326212f,-0.40581f),Vec2(-0.840144f,-0.07358f),\n\t\tVec2(-0.695914f,0.457137f),Vec2(-0.203345f,0.620716f),\n\t\tVec2(0.96234f,-0.194983f),Vec2(0.473434f,-0.480026f),\n\t\tVec2(0.519456f,0.767022f),Vec2(0.185461f,-0.893124f),\n\t\tVec2(0.507431f,0.064425f),Vec2(0.89642f,0.412458f),\n\t\tVec2(-0.32194f,-0.932615f),Vec2(-0.791559f,-0.59771f) \n\t};\n\t\n\tGLint uShadowTaps = glGetUniformLocation(sprogram, \"shadowTaps\");\n\tglUniform2fv(uShadowTaps, 12, &taps[0].x);\n\t\n\tglEnable(GL_TEXTURE_2D);\n\tglActiveTexture(GL_TEXTURE0);\n\tglBindTexture(GL_TEXTURE_2D, shadowTex);\n\n}\n\nvoid DrawPoints(FluidRenderBuffers* buffersIn, int n, int offset, float radius, float screenWidth, float screenAspect, float fov, Vec3 lightPos, Vec3 lightTarget, Matrix44 lightTransform, ShadowMap* shadowMap, bool showDensity)\n{\n\tFluidRenderBuffersGL* buffers = reinterpret_cast<FluidRenderBuffersGL*>(buffersIn);\n\tGLuint positions = buffers->mPositionVBO;\n\tGLuint colors = buffers->mDensityVBO;\n\tGLuint indices = buffers->mIndices;\n\n\tstatic int sprogram = -1;\n\tif (sprogram == -1)\n\t{\n\t\tsprogram = CompileProgram(vertexPointShader, fragmentPointShader);\n\t}\n\n\tif (sprogram)\n\t{\n\t\tglEnable(GL_POINT_SPRITE);\n\t\tglTexEnvi(GL_POINT_SPRITE, GL_COORD_REPLACE, GL_TRUE);\n\t\tglEnable(GL_VERTEX_PROGRAM_POINT_SIZE);\n\t\t//glDepthMask(GL_TRUE);\n\t\tglEnable(GL_DEPTH_TEST);\n\t\n\t\tint mode = 0;\n\t\tif (showDensity)\n\t\t\tmode = 1;\n\t\tif (shadowMap == NULL)\n\t\t\tmode = 2;\n\n\t\tglVerify(glUseProgram(sprogram));\n\t\tglVerify(glUniform1f( glGetUniformLocation(sprogram, \"pointRadius\"), radius));\n\t\tglVerify(glUniform1f( glGetUniformLocation(sprogram, \"pointScale\"), screenWidth/screenAspect * (1.0f / (tanf(fov*0.5f)))));\n\t\tglVerify(glUniform1f( glGetUniformLocation(sprogram, \"spotMin\"), g_spotMin));\n\t\tglVerify(glUniform1f( glGetUniformLocation(sprogram, \"spotMax\"), g_spotMax));\n\t\tglVerify(glUniform1i( glGetUniformLocation(sprogram, \"mode\"), mode));\n\t\tglVerify(glUniform4fv( glGetUniformLocation(sprogram, \"colors\"), 8, (float*)&g_colors[0].r));\n\n\t\t// set shadow parameters\n\t\tShadowApply(sprogram, lightPos, lightTarget, lightTransform, shadowMap->texture);\n\n\t\tglEnableClientState(GL_VERTEX_ARRAY);\n\t\tglBindBuffer(GL_ARRAY_BUFFER, positions);\n\t\tglVertexPointer(4, GL_FLOAT, 0, 0);\n\n\t\tint d = glGetAttribLocation(sprogram, \"density\");\n\t\tint p = glGetAttribLocation(sprogram, \"phase\");\n\n\t\tif (d != -1)\n\t\t{\n\t\t\tglVerify(glEnableVertexAttribArray(d));\n\t\t\tglVerify(glBindBuffer(GL_ARRAY_BUFFER, colors));\n\t\t\tglVerify(glVertexAttribPointer(d, 1,  GL_FLOAT, GL_FALSE, 0, 0));\t// densities\n\t\t}\n\n\t\tif (p != -1)\n\t\t{\n\t\t\tglVerify(glEnableVertexAttribArray(p));\n\t\t\tglVerify(glBindBuffer(GL_ARRAY_BUFFER, colors));\n\t\t\tglVerify(glVertexAttribIPointer(p, 1,  GL_INT, 0, 0));\t\t\t// phases\n\t\t}\n\n\t\tglVerify(glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, indices));\n\n\t\tglVerify(glDrawElements(GL_POINTS, n, GL_UNSIGNED_INT, (const void*)(offset*sizeof(int))));\n\n\t\tglVerify(glUseProgram(0));\n\t\tglVerify(glBindBuffer(GL_ARRAY_BUFFER, 0));\n\t\tglVerify(glDisableClientState(GL_VERTEX_ARRAY));\t\n\t\t\n\t\tif (d != -1)\n\t\t\tglVerify(glDisableVertexAttribArray(d));\n\t\tif (p != -1)\n\t\t\tglVerify(glDisableVertexAttribArray(p));\n\t\t\n\t\tglDisable(GL_POINT_SPRITE);\n\t\tglDisable(GL_VERTEX_PROGRAM_POINT_SIZE);\t\t\n\t}\n}\n\nvoid DrawPlane(const Vec4& p);\n\nstatic GLuint s_diffuseProgram = GLuint(-1);\nstatic GLuint s_shadowProgram = GLuint(-1);\n\n#ifdef ANDROID\nvoid ResetProgramId()\n{\n\ts_diffuseProgram = GLuint(-1);\n\ts_shadowProgram = GLuint(-1);\n}\n#endif\n\nstatic const int kShadowResolution = 2048;\n\nShadowMap* ShadowCreate()\n{\n\tGLuint texture;\n\tGLuint framebuffer;\n\n\tglVerify(glGenFramebuffers(1, &framebuffer));\n\tglVerify(glGenTextures(1, &texture));\n\tglVerify(glBindTexture(GL_TEXTURE_2D, texture));\n\n\tglVerify(glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR)); \n\tglVerify(glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR)); \n\t \n\t// This is to allow usage of shadow2DProj function in the shader \n\tglVerify(glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_COMPARE_MODE, GL_COMPARE_R_TO_TEXTURE)); \n\tglVerify(glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_COMPARE_FUNC, GL_LEQUAL)); \n\tglVerify(glTexParameteri(GL_TEXTURE_2D, GL_DEPTH_TEXTURE_MODE, GL_INTENSITY)); \n\n\tglVerify(glTexImage2D(GL_TEXTURE_2D, 0, GL_DEPTH_COMPONENT, kShadowResolution, kShadowResolution, 0, GL_DEPTH_COMPONENT, GL_UNSIGNED_BYTE, NULL));\n\n\tglVerify(glBindFramebuffer(GL_FRAMEBUFFER, framebuffer));\n\n\tglVerify(glFramebufferTexture2D(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_TEXTURE_2D, texture, 0));\n\n\tShadowMap* map = new ShadowMap();\n\tmap->texture = texture;\n\tmap->framebuffer = framebuffer;\n\n\treturn map;\n\n}\n\nvoid ShadowDestroy(ShadowMap* map)\n{\n\tglVerify(glDeleteTextures(1, &map->texture));\n\tglVerify(glDeleteFramebuffers(1, &map->framebuffer));\n\n\tdelete map;\n}\n\nvoid ShadowBegin(ShadowMap* map)\n{\n\tglEnable(GL_POLYGON_OFFSET_FILL);\n\tglPolygonOffset(8.f, 8.f);\n\n\tglVerify(glBindFramebuffer(GL_FRAMEBUFFER, map->framebuffer));\n\n\tglClearColor(0.0f, 0.0f, 0.0f, 0.0f);\n\tglClear(GL_DEPTH_BUFFER_BIT);\n\tglViewport(0, 0, kShadowResolution, kShadowResolution);\n\n\t// draw back faces (for teapot)\n\tglDisable(GL_CULL_FACE);\n\n\t// bind shadow shader\n\tif (s_shadowProgram == GLuint(-1))\n\t\ts_shadowProgram = CompileProgram(vertexShader, passThroughShader);\n\n\tglUseProgram(s_shadowProgram);\n\tglVerify(glUniformMatrix4fv(glGetUniformLocation(s_shadowProgram, \"objectTransform\"), 1, false, Matrix44::kIdentity));\n}\n\nvoid ShadowEnd()\n{\n\tglDisable(GL_POLYGON_OFFSET_FILL);\n\n\tglVerify(glBindFramebuffer(GL_FRAMEBUFFER, g_msaaFbo));\n\n\tglEnable(GL_CULL_FACE);\n\tglUseProgram(0);\n}\n\nvoid BindSolidShader(Vec3 lightPos, Vec3 lightTarget, Matrix44 lightTransform, ShadowMap* shadowMap, float bias, Vec4 fogColor)\n{\n\tglVerify(glViewport(0, 0, g_screenWidth, g_screenHeight));\n\n\tif (s_diffuseProgram == GLuint(-1))\n\t\ts_diffuseProgram = CompileProgram(vertexShader, fragmentShader);\n\n\tif (s_diffuseProgram)\n\t{\n\t\tglDepthMask(GL_TRUE);\n\t\tglEnable(GL_DEPTH_TEST);\t\t\n\n\t\tglVerify(glUseProgram(s_diffuseProgram));\n\t\tglVerify(glUniform1i(glGetUniformLocation(s_diffuseProgram, \"grid\"), 0));\n\t\tglVerify(glUniform1f( glGetUniformLocation(s_diffuseProgram, \"spotMin\"), g_spotMin));\n\t\tglVerify(glUniform1f( glGetUniformLocation(s_diffuseProgram, \"spotMax\"), g_spotMax));\n\t\tglVerify(glUniform4fv( glGetUniformLocation(s_diffuseProgram, \"fogColor\"), 1, fogColor));\n\n\t\tglVerify(glUniformMatrix4fv( glGetUniformLocation(s_diffuseProgram, \"objectTransform\"), 1, false, Matrix44::kIdentity));\n\n\t\t// set shadow parameters\n\t\tShadowApply(s_diffuseProgram, lightPos, lightTarget, lightTransform, shadowMap->texture);\n\t}\n}\n\nvoid UnbindSolidShader()\n{\n\tglActiveTexture(GL_TEXTURE1);\n\tglDisable(GL_TEXTURE_2D);\n\tglActiveTexture(GL_TEXTURE0);\n\n\tglUseProgram(0);\n}\n\n\nvoid SetMaterial(const Matrix44& xform, const RenderMaterial& mat)\n{\n\tGLint program;\n\tglGetIntegerv(GL_CURRENT_PROGRAM, &program);\n\n\tif (program)\n\t{\n\t\tglUniformMatrix4fv( glGetUniformLocation(program, \"objectTransform\"), 1, false, xform);\n\n\t\tconst float maxSpecularPower = 2048.0f;\n\n\t\tglVerify(glUniform1f(glGetUniformLocation(program, \"specularPower\"), powf(maxSpecularPower, 1.0f-mat.roughness)));\n\t\tglVerify(glUniform3fv(glGetUniformLocation(program, \"specularColor\"), 1, Lerp(Vec3(mat.specular*0.08f), mat.frontColor, mat.metallic)));\n\t\tglVerify(glUniform1f(glGetUniformLocation(program, \"roughness\"), mat.roughness));\n\t\tglVerify(glUniform1f(glGetUniformLocation(program, \"metallic\"), mat.metallic));\n\n\t\t// set material properties\n\t\tif (mat.colorTex)\n\t\t{\n\t\t\tGLuint tex = mat.colorTex->colorTex;\n\n\t\t\tglActiveTexture(GL_TEXTURE1);\n\t\t\tglEnable(GL_TEXTURE_2D);\n\t\t\tglBindTexture(GL_TEXTURE_2D, tex);\n\n\t\t\tglVerify(glUniform1i(glGetUniformLocation(program, \"tex\"), 1));\t\t// use slot one\n\t\t\tglVerify(glUniform1i(glGetUniformLocation(program, \"texture\"), 1)); // enable tex sampling\n\t\t}\n\t\telse\n\t\t{\n\t\t\tglVerify(glUniform1i(glGetUniformLocation(program, \"tex\"), 1));\t\t// use slot one\n\t\t\tglVerify(glUniform1i(glGetUniformLocation(program, \"texture\"), 0)); // disable tex sampling}\n\t\t}\n\t}\n\n\tglVerify(glColor3fv(mat.frontColor));\n\tglVerify(glSecondaryColor3fv(mat.backColor));\n}\n\n\nvoid DrawPlanes(Vec4* planes, int n, float bias)\n{\n\t// diffuse \t\t\n\tglColor3f(0.9f, 0.9f, 0.9f);\n\n\tGLint uBias = glGetUniformLocation(s_diffuseProgram, \"bias\");\n\tglVerify(glUniform1f(uBias, 0.0f));\n\tGLint uGrid = glGetUniformLocation(s_diffuseProgram, \"grid\");\n\tglVerify(glUniform1i(uGrid, 1));\n\tGLint uExpand = glGetUniformLocation(s_diffuseProgram, \"expand\");\n\tglVerify(glUniform1f(uExpand, 0.0f));\n\n\tfor (int i=0; i < n; ++i)\n\t{\n\t\tVec4 p = planes[i];\n\t\tp.w -= bias;\n\n\t\tDrawPlane(p, false);\n\t}\n\n\tglVerify(glUniform1i(uGrid, 0));\n\tglVerify(glUniform1f(uBias, g_shadowBias));\n}\n\nvoid DrawMesh(const Mesh* m, Vec3 color)\n{\n\tif (m)\n\t{\n\t\tglVerify(glColor3fv(color));\n\t\tglVerify(glSecondaryColor3fv(color));\n\n\t\tglVerify(glBindBuffer(GL_ARRAY_BUFFER, 0));\n\t\tglVerify(glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0));\n\n\t\tglVerify(glEnableClientState(GL_NORMAL_ARRAY));\n\t\tglVerify(glEnableClientState(GL_VERTEX_ARRAY));\n\n\t\tglVerify(glNormalPointer(GL_FLOAT, sizeof(float) * 3, &m->m_normals[0]));\n\t\tglVerify(glVertexPointer(3, GL_FLOAT, sizeof(float) * 3, &m->m_positions[0]));\n\n\t\tif (m->m_colours.size())\n\t\t{\n\t\t\tglVerify(glEnableClientState(GL_COLOR_ARRAY));\n\t\t\tglVerify(glColorPointer(4, GL_FLOAT, 0, &m->m_colours[0]));\n\t\t}\n\n\t\tglVerify(glDrawElements(GL_TRIANGLES, m->GetNumFaces() * 3, GL_UNSIGNED_INT, &m->m_indices[0]));\n\n\t\tglVerify(glDisableClientState(GL_VERTEX_ARRAY));\n\t\tglVerify(glDisableClientState(GL_NORMAL_ARRAY));\n\n\t\tif (m->m_colours.size())\n\t\t\tglVerify(glDisableClientState(GL_COLOR_ARRAY));\n\t}\n}\n\nvoid DrawCloth(const Vec4* positions, const Vec4* normals, const float* uvs, const int* indices, int numTris, int numPositions, int colorIndex, float expand, bool twosided, bool smooth)\n{ \n\tif (!numTris)\n\t\treturn;\n\n\tif (twosided)\n\t\tglDisable(GL_CULL_FACE);\n\n#if 1\n\tGLint program;\n\tglGetIntegerv(GL_CURRENT_PROGRAM, &program);\n\n\tif (program == GLint(s_diffuseProgram))\n\t{\n\t\tGLint uBias = glGetUniformLocation(s_diffuseProgram, \"bias\");\n\t\tglUniform1f(uBias, 0.0f);\n\n\t\tGLint uExpand = glGetUniformLocation(s_diffuseProgram, \"expand\");\n\t\tglUniform1f(uExpand, expand);\n\t}\n#endif\n\n\tglColor3fv(g_colors[colorIndex+1]*1.5f);\n\tglSecondaryColor3fv(g_colors[colorIndex]*1.5f);\n\n\tglVerify(glBindBuffer(GL_ARRAY_BUFFER, 0));\n\tglVerify(glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0));\n\n\tglVerify(glEnableClientState(GL_VERTEX_ARRAY));\n\tglVerify(glEnableClientState(GL_NORMAL_ARRAY));\n\n\tglVerify(glVertexPointer(3, GL_FLOAT, sizeof(float)*4, positions));\n\tglVerify(glNormalPointer(GL_FLOAT, sizeof(float)*4, normals));\n\t\n\tglVerify(glDrawElements(GL_TRIANGLES, numTris*3, GL_UNSIGNED_INT, indices));\n\n\tglVerify(glDisableClientState(GL_VERTEX_ARRAY));\n\tglVerify(glDisableClientState(GL_NORMAL_ARRAY));\n\n\tif (twosided)\n\t\tglEnable(GL_CULL_FACE);\n\n#if 1\n\tif (program == GLint(s_diffuseProgram))\n\t{\n\t\tGLint uBias = glGetUniformLocation(s_diffuseProgram, \"bias\");\n\t\tglUniform1f(uBias, g_shadowBias);\n\n\t\tGLint uExpand = glGetUniformLocation(s_diffuseProgram, \"expand\");\n\t\tglUniform1f(uExpand, 0.0f);\n\t}\n#endif\n}\n\nvoid DrawRope(Vec4* positions, int* indices, int numIndices, float radius, int color)\n{\n\tif (numIndices < 2)\n\t\treturn;\n\n\tstd::vector<Vec3> vertices;\n\tstd::vector<Vec3> normals;\n\tstd::vector<int> triangles;\n\t\n\t// flatten curve\n\tstd::vector<Vec3> curve(numIndices);\n\tfor (int i=0; i < numIndices; ++i)\n\t\tcurve[i] = Vec3(positions[indices[i]]);\n\n\tconst int resolution = 8;\n\tconst int smoothing = 3;\n\n\tvertices.reserve(resolution*numIndices*smoothing);\n\tnormals.reserve(resolution*numIndices*smoothing);\n\ttriangles.reserve(numIndices*resolution*6*smoothing);\n\n\tExtrude(&curve[0], int(curve.size()), vertices, normals, triangles, radius, resolution, smoothing);\n\t\t\n\tglVerify(glDisable(GL_CULL_FACE));\n\tglVerify(glColor3fv(g_colors[color%8]*1.5f));\n\tglVerify(glSecondaryColor3fv(g_colors[color%8]*1.5f));\n\n\tglVerify(glBindBuffer(GL_ARRAY_BUFFER, 0));\n\n\tglVerify(glEnableClientState(GL_VERTEX_ARRAY));\n\tglVerify(glEnableClientState(GL_NORMAL_ARRAY));\n\n\tglVerify(glVertexPointer(3, GL_FLOAT, sizeof(float)*3, &vertices[0]));\n\tglVerify(glNormalPointer(GL_FLOAT, sizeof(float)*3, &normals[0]));\n\n\tglVerify(glDrawElements(GL_TRIANGLES, GLsizei(triangles.size()), GL_UNSIGNED_INT, &triangles[0]));\n\n\tglVerify(glDisableClientState(GL_VERTEX_ARRAY));\n\tglVerify(glDisableClientState(GL_NORMAL_ARRAY));\n\tglVerify(glEnable(GL_CULL_FACE));\n\n}\n\n\nstruct ReflectMap\n{\n\tGLuint texture;\n\n\tint width;\n\tint height;\n};\n\nReflectMap* ReflectCreate(int width, int height)\n{\n\tGLuint texture;\n\n\t// copy frame buffer to texture\n\tglVerify(glActiveTexture(GL_TEXTURE0));\n\tglVerify(glEnable(GL_TEXTURE_2D));\n\n\tglVerify(glGenTextures(1, &texture));\n\tglVerify(glBindTexture(GL_TEXTURE_2D, texture));\n\n\tglVerify(glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST)); \n\tglVerify(glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR)); \t \n    glVerify(glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE));\n    glVerify(glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE));\n\t\t\n\tglVerify(glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, NULL));\n\n\tReflectMap* map = new ReflectMap();\n\tmap->texture = texture;\n\tmap->width = width;\n\tmap->height = height;\n\n\treturn map;\n}\n\nvoid ReflectDestroy(ReflectMap* map)\n{\n\tglVerify(glDeleteTextures(1, &map->texture));\n\n\tdelete map;\n}\n\nvoid ReflectBegin(ReflectMap* map, Vec4 plane, int width, int height)\n{\n\tglBindFramebuffer(GL_FRAMEBUFFER, 0);\n\tglViewport(0, 0, width, height);\n\n\tglClearColor(0.0f, 0.0f, 0.0f, 0.0f);\n\tglClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);\n\n\tMatrix44 scale = Matrix44::kIdentity;\n\tscale.columns[0][0] *= -2.0f;\n\tscale.columns[1][1] *= -2.0f;\n\tscale.columns[2][2] *= -2.0f;\n\tscale.columns[3][3] *= -2.0f;\n\n\tMatrix44 reflect = (scale*Outer(Vec4(plane.x, plane.y, plane.z, 0.0f), plane));\n\treflect.columns[0][0] += 1.0f;\n\treflect.columns[1][1] += 1.0f;\n\treflect.columns[2][2] += 1.0f;\n\treflect.columns[3][3] += 1.0f;\n\n\tglMatrixMode(GL_MODELVIEW);\n\tglPushMatrix();\n\tglMultMatrixf(reflect);\n\n\tglVerify(glFrontFace(GL_CW));\n\tglVerify(glEnable(GL_CLIP_PLANE0));\n\n\tglVerify(glUniform4fv( glGetUniformLocation(s_diffuseProgram, \"clipPlane\"), 1, plane));\n}\n\nvoid ReflectEnd(ReflectMap* map, int width, int height)\n{\n\t// copy frame buffer to texture\n\tglVerify(glActiveTexture(GL_TEXTURE0));\n\tglVerify(glEnable(GL_TEXTURE_2D));\n\tglVerify(glBindTexture(GL_TEXTURE_2D, map->texture));\n\n\tglVerify(glCopyTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, 0, 0, width, height));\n\t\n\tglMatrixMode(GL_MODELVIEW);\n\tglPopMatrix();\n\n\tglVerify(glDisable(GL_CLIP_PLANE0));\n\tglVerify(glFrontFace(GL_CCW));\n\n\tglBindFramebuffer(GL_FRAMEBUFFER, g_msaaFbo);\n\n\tglViewport(0, 0, g_screenWidth, g_screenHeight);\n}\n\n\n//-----------------------------------------------------------------------------------------------------\n// vertex shader\n\nconst char *vertexPointDepthShader = STRINGIFY(\n\nuniform float pointRadius;  // point size in world space\nuniform float pointScale;   // scale to calculate size in pixels\n\nvoid main()\n{\n    // calculate window-space point size\n\tgl_Position = gl_ModelViewProjectionMatrix * vec4(gl_Vertex.xyz, 1.0);\n\tgl_PointSize = pointScale * (pointRadius / gl_Position.w);\n\n\tgl_TexCoord[0] = gl_MultiTexCoord0;    \n\tgl_TexCoord[1] = gl_ModelViewMatrix * vec4(gl_Vertex.xyz, 1.0);\n}\n);\n\n// pixel shader for rendering points as shaded spheres\nconst char *fragmentPointDepthShader = STRINGIFY(\n\nuniform float pointRadius;  // point size in world space\n\nvoid main()\n{\n    // calculate normal from texture coordinates\n    vec3 normal;\n    normal.xy = gl_TexCoord[0].xy*vec2(2.0, -2.0) + vec2(-1.0, 1.0);\n    float mag = dot(normal.xy, normal.xy);\n    if (mag > 1.0) discard;   // kill pixels outside circle\n   \tnormal.z = sqrt(1.0-mag);\n\n\tvec3 eyePos = gl_TexCoord[1].xyz + normal*pointRadius*2.0;\n\tvec4 ndcPos = gl_ProjectionMatrix * vec4(eyePos, 1.0);\n\tndcPos.z /= ndcPos.w;\n\n\tgl_FragColor = vec4(eyePos.z, 1.0, 1.0, 1.0);\n\tgl_FragDepth = ndcPos.z*0.5 + 0.5;\n}\n);\n\n\n// pixel shader for rendering points density\nconst char *fragmentPointThicknessShader = STRINGIFY(\n\nvoid main()\n{\n    // calculate normal from texture coordinates\n    vec3 normal;\n    normal.xy = gl_TexCoord[0].xy*vec2(2.0, -2.0) + vec2(-1.0, 1.0);\n    float mag = dot(normal.xy, normal.xy);\n    if (mag > 1.0) discard;   // kill pixels outside circle\n   \tnormal.z = sqrt(1.0-mag);\n\n\tgl_FragColor = vec4(normal.z*0.005);\t\n}\n);\n\n//--------------------------------------------------------\n// Ellipsoid shaders\n//\nconst char *vertexEllipsoidDepthShader = \"#version 120\\n\" STRINGIFY(\n\n// rotation matrix in xyz, scale in w\nattribute vec4 q1;\nattribute vec4 q2;\nattribute vec4 q3;\n\n// returns 1.0 for x==0.0 (unlike glsl)\nfloat Sign(float x) { return x < 0.0 ? -1.0: 1.0; }\n\nbool solveQuadratic(float a, float b, float c, out float minT, out float maxT)\n{\n\tif (a == 0.0 && b == 0.0)\n\t{\n\t\tminT = maxT = 0.0;\n\t\treturn false;\n\t}\n\n\tfloat discriminant = b*b - 4.0*a*c;\n\n\tif (discriminant < 0.0)\n\t{\n\t\treturn false;\n\t}\n\n\tfloat t = -0.5*(b + Sign(b)*sqrt(discriminant));\n\tminT = t / a;\n\tmaxT = c / t;\n\n\tif (minT > maxT)\n\t{\n\t\tfloat tmp = minT;\n\t\tminT = maxT;\n\t\tmaxT = tmp;\n\t}\n\n\treturn true;\n}\n\nfloat DotInvW(vec4 a, vec4 b) {\treturn a.x*b.x + a.y*b.y + a.z*b.z - a.w*b.w; }\n\nvoid main()\n{\t\n\tvec3 worldPos = gl_Vertex.xyz;// - vec3(0.0, 0.1*0.25, 0.0);\t// hack move towards ground to account for anisotropy\n\n\t// construct quadric matrix\n\tmat4 q;\n\tq[0] = vec4(q1.xyz*q1.w, 0.0);\n\tq[1] = vec4(q2.xyz*q2.w, 0.0);\n\tq[2] = vec4(q3.xyz*q3.w, 0.0);\n\tq[3] = vec4(worldPos, 1.0);\n\n\t// transforms a normal to parameter space (inverse transpose of (q*modelview)^-T)\n\tmat4 invClip = transpose(gl_ModelViewProjectionMatrix*q);\n\n\t// solve for the right hand bounds in homogenous clip space\n\tfloat a1 = DotInvW(invClip[3], invClip[3]);\n\tfloat b1 = -2.0f*DotInvW(invClip[0], invClip[3]);\n\tfloat c1 = DotInvW(invClip[0], invClip[0]);\n\n\tfloat xmin;\n\tfloat xmax;\n \tsolveQuadratic(a1, b1, c1, xmin, xmax);\t\n\n\t// solve for the right hand bounds in homogenous clip space\n\tfloat a2 = DotInvW(invClip[3], invClip[3]);\n\tfloat b2 = -2.0f*DotInvW(invClip[1], invClip[3]);\n\tfloat c2 = DotInvW(invClip[1], invClip[1]); \n\n\tfloat ymin;\n\tfloat ymax;\n \tsolveQuadratic(a2, b2, c2, ymin, ymax);\n\n\tgl_Position = vec4(worldPos.xyz, 1.0);\n\tgl_TexCoord[0] = vec4(xmin, xmax, ymin, ymax);\n\n\t// construct inverse quadric matrix (used for ray-casting in parameter space)\n\tmat4 invq;\n\tinvq[0] = vec4(q1.xyz/q1.w, 0.0);\n\tinvq[1] = vec4(q2.xyz/q2.w, 0.0);\n\tinvq[2] = vec4(q3.xyz/q3.w, 0.0);\n\tinvq[3] = vec4(0.0, 0.0, 0.0, 1.0);\n\n\tinvq = transpose(invq);\n\tinvq[3] = -(invq*gl_Position);\n\n\t// transform a point from view space to parameter space\n\tinvq = invq*gl_ModelViewMatrixInverse;\n\n\t// pass down\n\tgl_TexCoord[1] = invq[0];\n\tgl_TexCoord[2] = invq[1];\n\tgl_TexCoord[3] = invq[2];\n\tgl_TexCoord[4] = invq[3];\n\n\t// compute ndc pos for frustrum culling in GS\n\tvec4 ndcPos = gl_ModelViewProjectionMatrix * vec4(worldPos.xyz, 1.0);\n\tgl_TexCoord[5] = ndcPos / ndcPos.w;\n}\n);\n\nconst char* geometryEllipsoidDepthShader = \n\"#version 120\\n\"\n\"#extension GL_EXT_geometry_shader4 : enable\\n\"\nSTRINGIFY(\nvoid main()\n{\n\tvec3 pos = gl_PositionIn[0].xyz;\n\tvec4 bounds = gl_TexCoordIn[0][0];\n\tvec4 ndcPos = gl_TexCoordIn[0][5];\n\n\t// frustrum culling\n\tconst float ndcBound = 1.0;\n\tif (ndcPos.x < -ndcBound) return;\n\tif (ndcPos.x > ndcBound) return;\n\tif (ndcPos.y < -ndcBound) return;\n\tif (ndcPos.y > ndcBound) return;\n\n\tfloat xmin = bounds.x;\n\tfloat xmax = bounds.y;\n\tfloat ymin = bounds.z;\n\tfloat ymax = bounds.w;\n\n\t// inv quadric transform\n\tgl_TexCoord[0] = gl_TexCoordIn[0][1];\n\tgl_TexCoord[1] = gl_TexCoordIn[0][2];\n\tgl_TexCoord[2] = gl_TexCoordIn[0][3];\n\tgl_TexCoord[3] = gl_TexCoordIn[0][4];\n\n\tgl_Position = vec4(xmin, ymax, 0.0, 1.0);\n\tEmitVertex();\n\n\tgl_Position = vec4(xmin, ymin, 0.0, 1.0);\n\tEmitVertex();\n\n\tgl_Position = vec4(xmax, ymax, 0.0, 1.0);\n\tEmitVertex();\n\n\tgl_Position = vec4(xmax, ymin, 0.0, 1.0);\n\tEmitVertex();\n}\n);\n\n// pixel shader for rendering points as shaded spheres\nconst char *fragmentEllipsoidDepthShader = \"#version 120\\n\" STRINGIFY(\n\nuniform vec3 invViewport;\nuniform vec3 invProjection;\n\nfloat Sign(float x) { return x < 0.0 ? -1.0: 1.0; }\n\nbool solveQuadratic(float a, float b, float c, out float minT, out float maxT)\n{\n\tif (a == 0.0 && b == 0.0)\n\t{\n\t\tminT = maxT = 0.0;\n\t\treturn true;\n\t}\n\n\tfloat discriminant = b*b - 4.0*a*c;\n\n\tif (discriminant < 0.0)\n\t{\n\t\treturn false;\n\t}\n\n\tfloat t = -0.5*(b + Sign(b)*sqrt(discriminant));\n\tminT = t / a;\n\tmaxT = c / t;\n\n\tif (minT > maxT)\n\t{\n\t\tfloat tmp = minT;\n\t\tminT = maxT;\n\t\tmaxT = tmp;\n\t}\n\n\treturn true;\n}\n\nfloat sqr(float x) { return x*x; }\n\nvoid main()\n{\n\t// transform from view space to parameter space\n\tmat4 invQuadric;\n\tinvQuadric[0] = gl_TexCoord[0];\n\tinvQuadric[1] = gl_TexCoord[1];\n\tinvQuadric[2] = gl_TexCoord[2];\n\tinvQuadric[3] = gl_TexCoord[3];\n\n\tvec4 ndcPos = vec4(gl_FragCoord.xy*invViewport.xy*vec2(2.0, 2.0) - vec2(1.0, 1.0), -1.0, 1.0);\n\tvec4 viewDir = gl_ProjectionMatrixInverse*ndcPos; \n\n\t// ray to parameter space\n\tvec4 dir = invQuadric*vec4(viewDir.xyz, 0.0);\n\tvec4 origin = invQuadric[3];\n\n\t// set up quadratric equation\n\tfloat a = sqr(dir.x) + sqr(dir.y) + sqr(dir.z);// - sqr(dir.w);\n\tfloat b = dir.x*origin.x + dir.y*origin.y + dir.z*origin.z - dir.w*origin.w;\n\tfloat c = sqr(origin.x) + sqr(origin.y) + sqr(origin.z) - sqr(origin.w);\n\n\tfloat minT;\n\tfloat maxT;\n\n\tif (solveQuadratic(a, 2.0*b, c, minT, maxT))\n\t{\n\t\tvec3 eyePos = viewDir.xyz*minT;\n\t\tvec4 ndcPos = gl_ProjectionMatrix * vec4(eyePos, 1.0);\n\t\tndcPos.z /= ndcPos.w;\n\n\t\tgl_FragColor = vec4(eyePos.z, 1.0, 1.0, 1.0);\n\t\tgl_FragDepth = ndcPos.z*0.5 + 0.5;\n\n\t\treturn;\n\t}\n\telse\n\t\tdiscard;\t\n\n\tgl_FragColor = vec4(0.5, 0.0, 0.0, 1.0);\n}\n);\n\n//--------------------------------------------------------------------------------\n// Composite shaders\n\nconst char* vertexPassThroughShader = STRINGIFY(\n\nvoid main()\n{\n\tgl_Position = vec4(gl_Vertex.xyz, 1.0);\n\tgl_TexCoord[0] = gl_MultiTexCoord0; \n}\n);\n\nconst char* fragmentBlurDepthShader = \n\"#extension GL_ARB_texture_rectangle : enable\\n\"\nSTRINGIFY(\n\nuniform sampler2DRect depthTex;\nuniform sampler2D thicknessTex;\nuniform float blurRadiusWorld;\nuniform float blurScale;\nuniform float blurFalloff;\nuniform vec2 invTexScale;\n\nuniform bool debug;\n\nfloat sqr(float x) { return x*x; }\n\nvoid main()\n{\n    // eye-space depth of center sample\n    float depth = texture2DRect(depthTex, gl_FragCoord.xy).x;\n\tfloat thickness = texture2D(thicknessTex, gl_TexCoord[0].xy).x;\n\n\t// hack: ENABLE_SIMPLE_FLUID\n\t//thickness = 0.0f;\n\n\tif (debug)\n\t{\n\t\t// do not blur\n\t\tgl_FragColor.x = depth;\n\t\treturn;\n\t}\n\n\t// threshold on thickness to create nice smooth silhouettes\n\tif (depth == 0.0)//|| thickness < 0.02f)\n\t{\n\t\tgl_FragColor.x = 0.0;\n\t\treturn;\n\t}\n\n\t/*\n\tfloat dzdx = dFdx(depth);\n\tfloat dzdy = dFdy(depth);\n\n\t// handle edge case\n\tif (max(abs(dzdx), abs(dzdy)) > 0.05)\n\t{\n\t\tdzdx = 0.0;\n\t\tdzdy = 0.0;\n\n\t\tgl_FragColor.x = depth;\n\t\treturn;\n\t}\n\t*/\n\n\tfloat blurDepthFalloff = 5.5;//blurFalloff*mix(4.0, 1.0, thickness)/blurRadiusWorld*0.0375;\t// these constants are just a re-scaling from some known good values\n\n\tfloat maxBlurRadius = 5.0;\n\t//float taps = min(maxBlurRadius, blurScale * (blurRadiusWorld / -depth));\n\t//vec2 blurRadius = min(mix(0.25, 2.0/blurFalloff, thickness) * blurScale * (blurRadiusWorld / -depth) / taps, 0.15)*invTexScale;\n\t\n\t//discontinuities between different tap counts are visible. to avoid this we \n\t//use fractional contributions between #taps = ceil(radius) and floor(radius) \n\tfloat radius = min(maxBlurRadius, blurScale * (blurRadiusWorld / -depth));\n\tfloat radiusInv = 1.0/radius;\n\tfloat taps = ceil(radius);\n\tfloat frac = taps - radius;\n\n\tfloat sum = 0.0;\n    float wsum = 0.0;\n\tfloat count = 0.0;\n\n    for(float y=-taps; y <= taps; y += 1.0)\n\t{\n        for(float x=-taps; x <= taps; x += 1.0)\n\t\t{\n\t\t\tvec2 offset = vec2(x, y);\n\n            float sample = texture2DRect(depthTex, gl_FragCoord.xy + offset).x;\n\n\t\t\tif (sample < -10000.0*0.5)\n\t\t\t\tcontinue;\n\n            // spatial domain\n            float r1 = length(vec2(x, y))*radiusInv;\n\t\t\tfloat w = exp(-(r1*r1));\n\n\t\t\t//float expectedDepth = depth + dot(vec2(dzdx, dzdy), offset);\n\n            // range domain (based on depth difference)\n            float r2 = (sample - depth) * blurDepthFalloff;\n            float g = exp(-(r2*r2));\n\n\t\t\t//fractional radius contributions\n\t\t\tfloat wBoundary = step(radius, max(abs(x), abs(y)));\n\t\t\tfloat wFrac = 1.0 - wBoundary*frac;\n\n\t\t\tsum += sample * w * g * wFrac;\n\t\t\twsum += w * g * wFrac;\n\t\t\tcount += g * wFrac;\n        }\n    }\n\n    if (wsum > 0.0) {\n        sum /= wsum;\n    }\n\n\tfloat blend = count/sqr(2.0*radius+1.0);\n\tgl_FragColor.x = mix(depth, sum, blend);\n}\n);\n\nconst char* fragmentCompositeShader = STRINGIFY(\n\nuniform sampler2D tex;\nuniform vec2 invTexScale;\nuniform vec3 lightPos;\nuniform vec3 lightDir;\nuniform float spotMin;\nuniform float spotMax;\nuniform vec4 color;\nuniform float ior;\n\nuniform vec2 clipPosToEye;\n\nuniform sampler2D reflectTex;\nuniform sampler2DShadow shadowTex;\nuniform vec2 shadowTaps[12];\nuniform mat4 lightTransform;\n\nuniform sampler2D thicknessTex;\nuniform sampler2D sceneTex;\n\nuniform bool debug;\n\n// sample shadow map\nfloat shadowSample(vec3 worldPos, out float attenuation)\n{\n\t// hack: ENABLE_SIMPLE_FLUID\n\t//attenuation = 0.0f;\n\t//return 0.5;\n\n\tvec4 pos = lightTransform*vec4(worldPos+lightDir*0.15, 1.0);\n\tpos /= pos.w;\n\tvec3 uvw = (pos.xyz*0.5)+vec3(0.5);\n\n\tattenuation = max(smoothstep(spotMax, spotMin, dot(pos.xy, pos.xy)), 0.05);\n\n\t// user clip\n\tif (uvw.x  < 0.0 || uvw.x > 1.0)\n\t\treturn 1.0;\n\tif (uvw.y < 0.0 || uvw.y > 1.0)\n\t\treturn 1.0;\n\t\n\tfloat s = 0.0;\n\tfloat radius = 0.002;\n\n\tfor (int i=0; i < 8; i++)\n\t{\n\t\ts += shadow2D(shadowTex, vec3(uvw.xy + shadowTaps[i]*radius, uvw.z)).r;\n\t}\n\n\ts /= 8.0;\n\treturn s;\n}\n\nvec3 viewportToEyeSpace(vec2 coord, float eyeZ)\n{\n\t// find position at z=1 plane\n\tvec2 uv = (coord*2.0 - vec2(1.0))*clipPosToEye;\n\n\treturn vec3(-uv*eyeZ, eyeZ);\n}\n\nvec3 srgbToLinear(vec3 c) { return pow(c, vec3(2.2)); }\nvec3 linearToSrgb(vec3 c) { return pow(c, vec3(1.0/2.2)); }\n\nfloat sqr(float x) { return x*x; }\nfloat cube(float x) { return x*x*x; }\n\nvoid main()\n{\n\tfloat eyeZ = texture2D(tex, gl_TexCoord[0].xy).x;\n\n\tif (eyeZ == 0.0)\n\t\tdiscard;\n\n\t// reconstruct eye space pos from depth\n\tvec3 eyePos = viewportToEyeSpace(gl_TexCoord[0].xy, eyeZ);\n\n\t// finite difference approx for normals, can't take dFdx because\n\t// the one-sided difference is incorrect at shape boundaries\n\tvec3 zl = eyePos - viewportToEyeSpace(gl_TexCoord[0].xy - vec2(invTexScale.x, 0.0), texture2D(tex, gl_TexCoord[0].xy - vec2(invTexScale.x, 0.0)).x);\n\tvec3 zr = viewportToEyeSpace(gl_TexCoord[0].xy + vec2(invTexScale.x, 0.0), texture2D(tex, gl_TexCoord[0].xy + vec2(invTexScale.x, 0.0)).x) - eyePos;\n\tvec3 zt = viewportToEyeSpace(gl_TexCoord[0].xy + vec2(0.0, invTexScale.y), texture2D(tex, gl_TexCoord[0].xy + vec2(0.0, invTexScale.y)).x) - eyePos;\n\tvec3 zb = eyePos - viewportToEyeSpace(gl_TexCoord[0].xy - vec2(0.0, invTexScale.y), texture2D(tex, gl_TexCoord[0].xy - vec2(0.0, invTexScale.y)).x);\n\t\n\tvec3 dx = zl;\n\tvec3 dy = zt;\n\n\tif (abs(zr.z) < abs(zl.z))\n\t\tdx = zr;\n\n\tif (abs(zb.z) < abs(zt.z))\n\t\tdy = zb;\n\n\t//vec3 dx = dFdx(eyePos.xyz);\n\t//vec3 dy = dFdy(eyePos.xyz);\n\n\tvec4 worldPos = gl_ModelViewMatrixInverse*vec4(eyePos, 1.0);\n\t\n\tfloat attenuation;\n\tfloat shadow = shadowSample(worldPos.xyz, attenuation);\n\n\tvec3 l = (gl_ModelViewMatrix*vec4(lightDir, 0.0)).xyz;\n\tvec3 v = -normalize(eyePos);\n\t\n\tvec3 n = normalize(cross(dx, dy));\n\tvec3 h = normalize(v + l);\n\n\tvec3 skyColor = vec3(0.1, 0.2, 0.4)*1.2;\n\tvec3 groundColor = vec3(0.1, 0.1, 0.2);\n\t\n\tfloat fresnel = 0.1 + (1.0 - 0.1)*cube(1.0-max(dot(n, v), 0.0));\n\n\tvec3 lVec = normalize(worldPos.xyz-lightPos);\n\n\tfloat ln = dot(l, n)*attenuation;\n\n\tvec3 rEye = reflect(-v, n).xyz;\n\tvec3 rWorld = (gl_ModelViewMatrixInverse*vec4(rEye, 0.0)).xyz;\n\n\tvec2 texScale = vec2(0.75, 1.0);\t// to account for backbuffer aspect ratio (todo: pass in)\n\n\tfloat refractScale = ior*0.025;\n\tfloat reflectScale = ior*0.1;\n\n\t// attenuate refraction near ground (hack)\n\trefractScale *= smoothstep(0.1, 0.4, worldPos.y);\n\t\n\tvec2 refractCoord = gl_TexCoord[0].xy + n.xy*refractScale*texScale;\t\n\t//vec2 refractCoord = gl_TexCoord[0].xy + refract(-v, n, 1.0/1.33)*refractScale*texScale;\t\n\n\t// read thickness from refracted coordinate otherwise we get halos around objectsw\n\tfloat thickness = max(texture2D(thicknessTex, refractCoord).x, 0.3);\n\n\t//vec3 transmission = exp(-(vec3(1.0)-color.xyz)*thickness);\n\tvec3 transmission = (1.0-(1.0-color.xyz)*thickness*0.8)*color.w; \n\tvec3 refract = texture2D(sceneTex, refractCoord).xyz*transmission;\n\t\n\tvec2 sceneReflectCoord = gl_TexCoord[0].xy - rEye.xy*texScale*reflectScale/eyePos.z;\n\tvec3 sceneReflect = (texture2D(sceneTex, sceneReflectCoord).xyz)*shadow;\n\n\tvec3 planarReflect = texture2D(reflectTex, gl_TexCoord[0].xy).xyz;\n\tplanarReflect = vec3(0.0);\n\n\t// fade out planar reflections above the ground\n\tvec3 reflect = mix(planarReflect, sceneReflect, smoothstep(0.05, 0.3, worldPos.y)) + mix(groundColor, skyColor, smoothstep(0.15, 0.25, rWorld.y)*shadow);\n\t\n\t// lighting\n\tvec3 diffuse = color.xyz*mix(vec3(0.29, 0.379, 0.59), vec3(1.0), (ln*0.5 + 0.5)*max(shadow, 0.4))*(1.0-color.w);\n\tvec3 specular = vec3(1.2*pow(max(dot(h, n), 0.0), 400.0));\n\n\tgl_FragColor.xyz = diffuse + (mix(refract, reflect, fresnel) + specular)*color.w;\n\tgl_FragColor.w = 1.0;\n\n\tif (debug)\n\t\tgl_FragColor = vec4(n*0.5 + vec3(0.5), 1.0);\n\n\t// write valid z\n\tvec4 clipPos = gl_ProjectionMatrix*vec4(0.0, 0.0, eyeZ, 1.0);\n\tclipPos.z /= clipPos.w;\n\n\tgl_FragDepth = clipPos.z*0.5 + 0.5;\n}\n);\n\n\nFluidRenderer* CreateFluidRenderer(uint32_t width, uint32_t height)\n{\n\tFluidRenderer* renderer = new FluidRenderer();\n\n\trenderer->mSceneWidth = width;\n\trenderer->mSceneHeight = height;\n\n\t// scene depth texture\n\tglVerify(glGenTextures(1, &renderer->mDepthTex));\n\tglVerify(glBindTexture(GL_TEXTURE_RECTANGLE_ARB, renderer->mDepthTex));\n\n\tglVerify(glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST)); \n\tglVerify(glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST)); \t \n    glVerify(glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE));\n    glVerify(glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE));\n\tglVerify(glTexImage2D(GL_TEXTURE_RECTANGLE_ARB, 0, GL_LUMINANCE32F_ARB, width, height, 0, GL_LUMINANCE, GL_FLOAT, NULL));\n\n\t// smoothed depth texture\n\tglVerify(glGenTextures(1, &renderer->mDepthSmoothTex));\n\tglVerify(glBindTexture(GL_TEXTURE_2D, renderer->mDepthSmoothTex));\n\n\tglVerify(glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST)); \n\tglVerify(glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST)); \t \n    glVerify(glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE));\n    glVerify(glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE));\n\tglVerify(glTexImage2D(GL_TEXTURE_2D, 0, GL_LUMINANCE32F_ARB, width, height, 0, GL_LUMINANCE, GL_FLOAT, NULL));\n\n\t// scene copy\n\tglVerify(glGenTextures(1, &renderer->mSceneTex));\n\tglVerify(glBindTexture(GL_TEXTURE_2D, renderer->mSceneTex));\n\n\tglVerify(glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST)); \n\tglVerify(glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR)); \t \n    glVerify(glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE));\n    glVerify(glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE));\n\tglVerify(glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, NULL));\n\n\tglVerify(glGenFramebuffers(1, &renderer->mSceneFbo));\n\tglVerify(glBindFramebuffer(GL_FRAMEBUFFER, renderer->mSceneFbo));\n\tglVerify(glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, renderer->mSceneTex, 0));\n\n\t// frame buffer\n\tglVerify(glGenFramebuffers(1, &renderer->mDepthFbo));\n\tglVerify(glBindFramebuffer(GL_FRAMEBUFFER, renderer->mDepthFbo));\n\tglVerify(glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_RECTANGLE_ARB, renderer->mDepthTex, 0));\n\t\n\tGLuint zbuffer;\n\tglVerify(glGenRenderbuffers(1, &zbuffer));\n\tglVerify(glBindRenderbuffer(GL_RENDERBUFFER, zbuffer));\n\tglVerify(glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH_COMPONENT, width, height));\n\tglVerify(glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_RENDERBUFFER, zbuffer));\n\n\tglVerify(glDrawBuffer(GL_COLOR_ATTACHMENT0));\n\tglVerify(glReadBuffer(GL_COLOR_ATTACHMENT0));\n\n\tglCheckFramebufferStatus(GL_FRAMEBUFFER);\n\tglBindFramebuffer(GL_FRAMEBUFFER, g_msaaFbo);\n\t\n\t// reflect texture\n\tglVerify(glGenTextures(1, &renderer->mReflectTex));\n\tglVerify(glBindTexture(GL_TEXTURE_2D, renderer->mReflectTex));\n\n\tglVerify(glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST)); \n\tglVerify(glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR)); \t \n    glVerify(glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE));\n    glVerify(glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE));\n\tglVerify(glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, NULL));\n\n\t// thickness texture\n\tconst int thicknessWidth = width;\n\tconst int thicknessHeight = height;\n\n\tglVerify(glGenTextures(1, &renderer->mThicknessTex));\n\tglVerify(glBindTexture(GL_TEXTURE_2D, renderer->mThicknessTex));\n\n\tglVerify(glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST)); \n\tglVerify(glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR)); \t \n    glVerify(glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE));\n    glVerify(glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE));\n\n#if USE_HDR_DIFFUSE_BLEND\t\n\tglVerify(glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA16F, thicknessWidth, thicknessHeight, 0, GL_RGBA, GL_FLOAT, NULL));\n#else\n\tglVerify(glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, thicknessWidth, thicknessHeight, 0, GL_RGBA, GL_UNSIGNED_BYTE, NULL));\n#endif\n\t\t\n\t// thickness buffer\n\tglVerify(glGenFramebuffers(1, &renderer->mThicknessFbo));\n\tglVerify(glBindFramebuffer(GL_FRAMEBUFFER, renderer->mThicknessFbo));\n\tglVerify(glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, renderer->mThicknessTex, 0));\n\t\n\tGLuint thickz;\n\tglVerify(glGenRenderbuffers(1, &thickz));\n\tglVerify(glBindRenderbuffer(GL_RENDERBUFFER, thickz));\n\tglVerify(glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH_COMPONENT, thicknessWidth, thicknessHeight));\n\tglVerify(glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_RENDERBUFFER, thickz));\n\t\n\tglCheckFramebufferStatus(GL_FRAMEBUFFER);\n\tglBindFramebuffer(GL_FRAMEBUFFER, g_msaaFbo);\n\n\t// compile shaders\n\t//renderer->mPointDepthProgram = CompileProgram(vertexPointDepthShader, fragmentPointDepthShader);\n\trenderer->mPointThicknessProgram = CompileProgram(vertexPointDepthShader, fragmentPointThicknessShader);\n\n\t//renderer->mEllipsoidThicknessProgram = CompileProgram(vertexEllipsoidDepthShader, fragmentEllipsoidThicknessShader);\n\trenderer->mEllipsoidDepthProgram = CompileProgram(vertexEllipsoidDepthShader, fragmentEllipsoidDepthShader, geometryEllipsoidDepthShader);\n\n\trenderer->mCompositeProgram = CompileProgram(vertexPassThroughShader, fragmentCompositeShader);\n\trenderer->mDepthBlurProgram = CompileProgram(vertexPassThroughShader, fragmentBlurDepthShader);\n\n\treturn renderer;\n}\n\nvoid DestroyFluidRenderer(FluidRenderer* renderer)\n{\n\tglVerify(glDeleteFramebuffers(1, &renderer->mSceneFbo));\n\tglVerify(glDeleteFramebuffers(1, &renderer->mDepthFbo));\n\tglVerify(glDeleteTextures(1, &renderer->mDepthTex));\n\tglVerify(glDeleteTextures(1, &renderer->mDepthSmoothTex));\n\tglVerify(glDeleteTextures(1, &renderer->mSceneTex));\n\n\tglVerify(glDeleteFramebuffers(1, &renderer->mThicknessFbo));\n\tglVerify(glDeleteTextures(1, &renderer->mThicknessTex));\n}\n\nFluidRenderBuffers* CreateFluidRenderBuffers(int numFluidParticles, bool enableInterop)\n{\n\tFluidRenderBuffersGL* buffers = new FluidRenderBuffersGL(numFluidParticles);\n\t\n\t// vbos\n\tglVerify(glGenBuffers(1, &buffers->mPositionVBO));\n\tglVerify(glBindBuffer(GL_ARRAY_BUFFER, buffers->mPositionVBO));\n\tglVerify(glBufferData(GL_ARRAY_BUFFER, sizeof(float) * 4 * numFluidParticles, 0, GL_DYNAMIC_DRAW));\n\n\t// density\n\tglVerify(glGenBuffers(1, &buffers->mDensityVBO));\n\tglVerify(glBindBuffer(GL_ARRAY_BUFFER, buffers->mDensityVBO));\n\tglVerify(glBufferData(GL_ARRAY_BUFFER, sizeof(int)*numFluidParticles, 0, GL_DYNAMIC_DRAW));\n\n\tfor (int i = 0; i < 3; ++i)\n\t{\n\t\tglVerify(glGenBuffers(1, &buffers->mAnisotropyVBO[i]));\n\t\tglVerify(glBindBuffer(GL_ARRAY_BUFFER, buffers->mAnisotropyVBO[i]));\n\t\tglVerify(glBufferData(GL_ARRAY_BUFFER, sizeof(float) * 4 * numFluidParticles, 0, GL_DYNAMIC_DRAW));\n\t}\n\n\tglVerify(glGenBuffers(1, &buffers->mIndices));\n\tglVerify(glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, buffers->mIndices));\n\tglVerify(glBufferData(GL_ELEMENT_ARRAY_BUFFER, sizeof(int)*numFluidParticles, 0, GL_DYNAMIC_DRAW));\n\n\tif (enableInterop)\n\t{\n\t\tbuffers->mPositionBuf = NvFlexRegisterOGLBuffer(g_flexLib, buffers->mPositionVBO, numFluidParticles, sizeof(Vec4));\n\t\tbuffers->mDensitiesBuf = NvFlexRegisterOGLBuffer(g_flexLib, buffers->mDensityVBO, numFluidParticles, sizeof(float));\n\t\tbuffers->mIndicesBuf = NvFlexRegisterOGLBuffer(g_flexLib, buffers->mIndices, numFluidParticles, sizeof(int));\n\n\t\tbuffers->mAnisotropyBuf[0] = NvFlexRegisterOGLBuffer(g_flexLib, buffers->mAnisotropyVBO[0], numFluidParticles, sizeof(Vec4));\n\t\tbuffers->mAnisotropyBuf[1] = NvFlexRegisterOGLBuffer(g_flexLib, buffers->mAnisotropyVBO[1], numFluidParticles, sizeof(Vec4));\n\t\tbuffers->mAnisotropyBuf[2] = NvFlexRegisterOGLBuffer(g_flexLib, buffers->mAnisotropyVBO[2], numFluidParticles, sizeof(Vec4));\n\t}\n\n\treturn reinterpret_cast<FluidRenderBuffers*>(buffers);\n}\n\nvoid DestroyFluidRenderBuffers(FluidRenderBuffers* buffers)\n{\n\tdelete reinterpret_cast<FluidRenderBuffersGL*>(buffers);\n}\n\nvoid UpdateFluidRenderBuffers(FluidRenderBuffers* buffersIn, NvFlexSolver* solver, bool anisotropy, bool density)\n{\n\tFluidRenderBuffersGL* buffers = reinterpret_cast<FluidRenderBuffersGL*>(buffersIn);\n\t// use VBO buffer wrappers to allow Flex to write directly to the OpenGL buffers\n\t// Flex will take care of any CUDA interop mapping/unmapping during the get() operations\n\tif (!anisotropy)\n\t{\n\t\t// regular particles\n\t\tNvFlexGetParticles(solver, buffers->mPositionBuf, NULL);\n\t}\n\telse\n\t{\n\t\t// fluid buffers\n\t\tNvFlexGetSmoothParticles(solver, buffers->mPositionBuf, NULL);\n\t\tNvFlexGetAnisotropy(solver, buffers->mAnisotropyBuf[0], buffers->mAnisotropyBuf[1], buffers->mAnisotropyBuf[2], NULL);\n\t}\n\n\tif (density)\n\t{\n\t\tNvFlexGetDensities(solver, buffers->mDensitiesBuf, NULL);\n\t}\n\telse\n\t{\n\t\tNvFlexGetPhases(solver, buffers->mDensitiesBuf, NULL);\n\t}\n\n\tNvFlexGetActive(solver, buffers->mIndicesBuf, NULL);\n}\n\nvoid UpdateFluidRenderBuffers(FluidRenderBuffers* buffersIn, Vec4* particles, float* densities, Vec4* anisotropy1, Vec4* anisotropy2, Vec4* anisotropy3, int numParticles, int* indices, int numIndices)\n{\n\tFluidRenderBuffersGL* buffers = reinterpret_cast<FluidRenderBuffersGL*>(buffersIn);\n\t// regular particles\n\tglVerify(glBindBuffer(GL_ARRAY_BUFFER, buffers->mPositionVBO));\n\tglVerify(glBufferSubData(GL_ARRAY_BUFFER, 0, buffers->mNumParticles*sizeof(Vec4), particles));\n\n\tVec4*const anisotropies[] = \n\t{\n\t\tanisotropy1,\n\t\tanisotropy2, \n\t\tanisotropy3,\n\t};\n\n\tfor (int i = 0; i < 3; i++)\n\t{\n\t\tVec4* anisotropy = anisotropies[i];\n\t\tif (anisotropy)\n\t\t{\n\t\t\tglVerify(glBindBuffer(GL_ARRAY_BUFFER, buffers->mAnisotropyVBO[i]));\n\t\t\tglVerify(glBufferSubData(GL_ARRAY_BUFFER, 0, buffers->mNumParticles * sizeof(Vec4), anisotropy));\n\t\t}\n\t}\n\n\t// density /phase buffer\n\tif (densities)\n\t{\n\t\tglVerify(glBindBuffer(GL_ARRAY_BUFFER, buffers->mDensityVBO));\n\t\tglVerify(glBufferSubData(GL_ARRAY_BUFFER, 0, buffers->mNumParticles*sizeof(float), densities));\n\t}\n\n\tif (indices)\n\t{\n\t\tglVerify(glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, buffers->mIndices));\n\t\tglVerify(glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 0, numIndices*sizeof(int), indices));\n\t}\n\n\t// reset\n\tglVerify(glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0));\n\tglVerify(glBindBuffer(GL_ARRAY_BUFFER, 0));\n}\n\nDiffuseRenderBuffers* CreateDiffuseRenderBuffers(int numDiffuseParticles, bool& enableInterop)\n{\n\tDiffuseRenderBuffersGL* buffers = new DiffuseRenderBuffersGL(numDiffuseParticles);\n\t\n\tif (numDiffuseParticles > 0)\n\t{\n\t\tglVerify(glGenBuffers(1, &buffers->mDiffusePositionVBO));\n\t\tglVerify(glBindBuffer(GL_ARRAY_BUFFER, buffers->mDiffusePositionVBO));\n\t\tglVerify(glBufferData(GL_ARRAY_BUFFER, sizeof(float) * 4 * numDiffuseParticles, 0, GL_DYNAMIC_DRAW));\n\t\tglVerify(glBindBuffer(GL_ARRAY_BUFFER, 0));\n\n\t\tglVerify(glGenBuffers(1, &buffers->mDiffuseVelocityVBO));\n\t\tglVerify(glBindBuffer(GL_ARRAY_BUFFER, buffers->mDiffuseVelocityVBO));\n\t\tglVerify(glBufferData(GL_ARRAY_BUFFER, sizeof(float) * 4 * numDiffuseParticles, 0, GL_DYNAMIC_DRAW));\n\t\tglVerify(glBindBuffer(GL_ARRAY_BUFFER, 0));\n\n\t\tif (enableInterop)\n\t\t{\n\t\t\tbuffers->mDiffusePositionsBuf = NvFlexRegisterOGLBuffer(g_flexLib, buffers->mDiffusePositionVBO, numDiffuseParticles, sizeof(Vec4));\n\t\t\tbuffers->mDiffuseVelocitiesBuf = NvFlexRegisterOGLBuffer(g_flexLib, buffers->mDiffuseVelocityVBO, numDiffuseParticles, sizeof(Vec4));\n\t\t}\n\t}\n\n\treturn reinterpret_cast<DiffuseRenderBuffers*>(buffers);\n}\n\nvoid DestroyDiffuseRenderBuffers(DiffuseRenderBuffers* buffersIn)\n{\n\tDiffuseRenderBuffersGL* buffers = reinterpret_cast<DiffuseRenderBuffersGL*>(buffersIn);\n\tif (buffers->mNumParticles > 0)\n\t{\n\t\tglDeleteBuffers(1, &buffers->mDiffusePositionVBO);\n\t\tglDeleteBuffers(1, &buffers->mDiffuseVelocityVBO);\n\n\t\tNvFlexUnregisterOGLBuffer(buffers->mDiffusePositionsBuf);\n\t\tNvFlexUnregisterOGLBuffer(buffers->mDiffuseVelocitiesBuf);\n\t}\n}\n\nvoid UpdateDiffuseRenderBuffers(DiffuseRenderBuffers* buffersIn, NvFlexSolver* solver)\n{\n\tDiffuseRenderBuffersGL* buffers = reinterpret_cast<DiffuseRenderBuffersGL*>(buffersIn);\n\t// diffuse particles\n\tif (buffers->mNumParticles)\n\t{\n\t\tNvFlexGetDiffuseParticles(solver, buffers->mDiffusePositionsBuf, buffers->mDiffuseVelocitiesBuf, NULL);\n\t}\n}\n\nvoid UpdateDiffuseRenderBuffers(DiffuseRenderBuffers* buffersIn, Vec4* diffusePositions, Vec4* diffuseVelocities, int numDiffuseParticles)\n{\n\tDiffuseRenderBuffersGL* buffers = reinterpret_cast<DiffuseRenderBuffersGL*>(buffersIn);\n\t// diffuse particles\n\tif (buffers->mNumParticles)\n\t{\n\t\tglVerify(glBindBuffer(GL_ARRAY_BUFFER, buffers->mDiffusePositionVBO));\n\t\tglVerify(glBufferSubData(GL_ARRAY_BUFFER, 0, buffers->mNumParticles*sizeof(Vec4), diffusePositions));\n\n\t\tglVerify(glBindBuffer(GL_ARRAY_BUFFER, buffers->mDiffuseVelocityVBO));\n\t\tglVerify(glBufferSubData(GL_ARRAY_BUFFER, 0, buffers->mNumParticles*sizeof(Vec4), diffuseVelocities));\n\t}\n}\n\nvoid RenderFullscreenQuad()\n{\n\tglColor3f(1.0f, 1.0f, 1.0f);\n\tglBegin(GL_QUADS);\n\n\tglTexCoord2f(0.0f, 0.0f);\n\tglVertex2f(-1.0f, -1.0f);\n\n\tglTexCoord2f(1.0f, 0.0f);\n\tglVertex2f(1.0f, -1.0f);\n\n\tglTexCoord2f(1.0f, 1.0f);\n\tglVertex2f(1.0f, 1.0f);\n\n\tglTexCoord2f(0.0f, 1.0f);\n\tglVertex2f(-1.0f, 1.0f);\n\n\tglEnd();\n}\n\nvoid RenderEllipsoids(FluidRenderer* render, FluidRenderBuffers* buffersIn, int n, int offset, float radius, float screenWidth, float screenAspect, float fov, Vec3 lightPos, Vec3 lightTarget, Matrix44 lightTransform, ShadowMap* shadowMap, Vec4 color, float blur, float ior, bool debug)\n{\n\tFluidRenderBuffersGL* buffers = reinterpret_cast<FluidRenderBuffersGL*>(buffersIn);\n\n#if !ENABLE_SIMPLE_FLUID\n\t// resolve msaa back buffer to texture\n\tglVerify(glBindFramebuffer(GL_READ_FRAMEBUFFER_EXT, g_msaaFbo));\n\tglVerify(glBindFramebuffer(GL_DRAW_FRAMEBUFFER_EXT, render->mSceneFbo));\n\tglVerify(glBlitFramebuffer(0, 0, GLsizei(screenWidth), GLsizei(screenWidth/screenAspect), 0, 0, GLsizei(screenWidth), GLsizei(screenWidth/screenAspect), GL_COLOR_BUFFER_BIT, GL_LINEAR));\n\n\t//thickness texture\n\tglVerify(glBindFramebuffer(GL_FRAMEBUFFER, render->mThicknessFbo));\n\tglVerify(glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, render->mThicknessTex, 0));\n\tglVerify(glDrawBuffer(GL_COLOR_ATTACHMENT0));\n\n\tglViewport(0, 0, GLsizei(screenWidth), GLsizei(screenWidth/screenAspect));\n\tglClearColor(0.0f, 0.0f, 0.0f, 0.0f);\n\tglClear(GL_DEPTH_BUFFER_BIT);\n\n\tglDepthMask(GL_TRUE);\n\tglDisable(GL_CULL_FACE);\n\n\tif (g_mesh)\n\t\tOGL_Renderer::DrawMesh(g_mesh, Vec3(1.0f));\n\n\tDrawShapes();\n\n\tglClear(GL_COLOR_BUFFER_BIT);\n\n\tglTexEnvi(GL_POINT_SPRITE, GL_COORD_REPLACE, GL_TRUE);\n\tglEnable(GL_POINT_SPRITE);\n\tglEnable(GL_VERTEX_PROGRAM_POINT_SIZE);\n\tglEnable(GL_DEPTH_TEST);\n\tglEnable(GL_BLEND);\n\tglBlendFunc(GL_ONE, GL_ONE);\n\tglDepthMask(GL_FALSE);\n\n\t// make sprites larger to get smoother thickness texture\n\tconst float thicknessScale = 4.0f; \n\n\tglUseProgram(render->mPointThicknessProgram);\n\tglUniform1f( glGetUniformLocation(render->mPointThicknessProgram, \"pointRadius\"), thicknessScale*radius);\n\tglUniform1f( glGetUniformLocation(render->mPointThicknessProgram, \"pointScale\"), screenWidth/screenAspect * (1.0f / (tanf(fov*0.5f))));\n\n\tglEnableClientState(GL_VERTEX_ARRAY);\t\t\t\n\tglBindBuffer(GL_ARRAY_BUFFER, buffers->mPositionVBO);\n\tglVertexPointer(3, GL_FLOAT, sizeof(float)*4, (void*)(offset*sizeof(float)*4));\n\n\tglDrawArrays(GL_POINTS, 0, n);\n\n\tglUseProgram(0);\n\tglDisableClientState(GL_VERTEX_ARRAY);\t\n\tglDisable(GL_POINT_SPRITE);\n\tglDisable(GL_BLEND);\n#endif\n\n\t// depth texture\n\tglVerify(glBindFramebuffer(GL_FRAMEBUFFER, render->mDepthFbo));\n\tglVerify(glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_RECTANGLE_ARB, render->mDepthTex, 0));\n\tglVerify(glDrawBuffer(GL_COLOR_ATTACHMENT0));\n\n\t// draw points\n\t//glTexEnvi(GL_POINT_SPRITE, GL_COORD_REPLACE, GL_TRUE);\n\tglDisable(GL_POINT_SPRITE);\n\tglDisable(GL_VERTEX_PROGRAM_POINT_SIZE);\n\tglEnable(GL_DEPTH_TEST);\n\tglDepthMask(GL_TRUE);\n\n\tglViewport(0, 0, int(screenWidth), int(screenWidth/screenAspect));\n\tglClearColor(0.0f, 0.0f, 0.0f, 0.0f);\n\tglClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);\n\n\tconst float viewHeight = tanf(fov/2.0f);\n\n\tglUseProgram(render->mEllipsoidDepthProgram);\n\tglUniform3fv( glGetUniformLocation(render->mEllipsoidDepthProgram, \"invViewport\"), 1, Vec3(1.0f/screenWidth, screenAspect/screenWidth, 1.0f));\n\tglUniform3fv( glGetUniformLocation(render->mEllipsoidDepthProgram, \"invProjection\"), 1, Vec3(screenAspect*viewHeight, viewHeight, 1.0f));\n\n\tglEnableClientState(GL_VERTEX_ARRAY);\n\tglBindBuffer(GL_ARRAY_BUFFER, buffers->mPositionVBO);\n\tglVertexPointer(3, GL_FLOAT, sizeof(float)*4, 0);//(void*)(offset*sizeof(float)*4));\n\n\t// ellipsoid eigenvectors\n\tint s1 = glGetAttribLocation(render->mEllipsoidDepthProgram, \"q1\");\n\tglEnableVertexAttribArray(s1);\n\tglBindBuffer(GL_ARRAY_BUFFER, buffers->mAnisotropyVBO[0]);\n\tglVertexAttribPointer(s1, 4, GL_FLOAT, GL_FALSE, 0, 0);// (void*)(offset*sizeof(float)*4));\n\n\tint s2 = glGetAttribLocation(render->mEllipsoidDepthProgram, \"q2\");\n\tglEnableVertexAttribArray(s2);\n\tglBindBuffer(GL_ARRAY_BUFFER, buffers->mAnisotropyVBO[1]);\n\tglVertexAttribPointer(s2, 4, GL_FLOAT, GL_FALSE, 0, 0);//(void*)(offset*sizeof(float)*4));\n\n\tint s3 = glGetAttribLocation(render->mEllipsoidDepthProgram, \"q3\");\n\tglEnableVertexAttribArray(s3);\n\tglBindBuffer(GL_ARRAY_BUFFER, buffers->mAnisotropyVBO[2]);\n\tglVertexAttribPointer(s3, 4, GL_FLOAT, GL_FALSE, 0, 0);// (void*)(offset*sizeof(float)*4));\n\t\n\tglVerify(glDrawArrays(GL_POINTS, offset, n));\n\n\tglUseProgram(0);\n\tglBindBuffer(GL_ARRAY_BUFFER, 0);\n\tglDisableClientState(GL_VERTEX_ARRAY);\n\tglDisableVertexAttribArray(s1);\n\tglDisableVertexAttribArray(s2);\n\tglDisableVertexAttribArray(s3);\n\n\tglDisable(GL_POINT_SPRITE);\n\n\t//---------------------------------------------------------------\n\t// blur\n\n\tglDisable(GL_DEPTH_TEST);\n\tglDepthMask(GL_FALSE);\n\n\tglVerify(glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, render->mDepthSmoothTex, 0));\n\tglUseProgram(render->mDepthBlurProgram);\n\t\n\tglActiveTexture(GL_TEXTURE0);\n\tglEnable(GL_TEXTURE_RECTANGLE_ARB);\t\n\tglBindTexture(GL_TEXTURE_RECTANGLE_ARB, render->mDepthTex);\n\n\tglActiveTexture(GL_TEXTURE1);\n\tglEnable(GL_TEXTURE_2D);\n\tglBindTexture(GL_TEXTURE_2D, render->mThicknessTex);\n\n\tglVerify(glUniform1f( glGetUniformLocation(render->mDepthBlurProgram, \"blurRadiusWorld\"), radius*0.5f));\t// blur half the radius by default\n\tglVerify(glUniform1f( glGetUniformLocation(render->mDepthBlurProgram, \"blurScale\"), screenWidth/screenAspect * (1.0f / (tanf(fov*0.5f)))));\n\tglVerify(glUniform2fv( glGetUniformLocation(render->mDepthBlurProgram, \"invTexScale\"), 1, Vec2(1.0f/screenAspect, 1.0f)));\n\tglVerify(glUniform1f( glGetUniformLocation(render->mDepthBlurProgram, \"blurFalloff\"),  blur));\n\tglVerify(glUniform1i( glGetUniformLocation(render->mDepthBlurProgram, \"depthTex\"), 0));\n\tglVerify(glUniform1i( glGetUniformLocation(render->mDepthBlurProgram, \"thicknessTex\"), 1));\n\tglVerify(glUniform1i(glGetUniformLocation(render->mDepthBlurProgram, \"debug\"), debug));\n\n\tglVerify(RenderFullscreenQuad());\n\n\tglActiveTexture(GL_TEXTURE0);\n\tglDisable(GL_TEXTURE_RECTANGLE_ARB);\t\n\n\t//---------------------------------------------------------------\n\t// composite with scene\n\n\tglVerify(glBindFramebuffer(GL_FRAMEBUFFER, g_msaaFbo));\n\tglVerify(glEnable(GL_DEPTH_TEST));\n\tglVerify(glDepthMask(GL_TRUE));\n\tglVerify(glDisable(GL_BLEND));\n\tglVerify(glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA));\n\n\tglVerify(glUseProgram(render->mCompositeProgram));\t\n\n\tglVerify(glUniform2fv(glGetUniformLocation(render->mCompositeProgram, \"invTexScale\"), 1, Vec2(1.0f/screenWidth, screenAspect/screenWidth)));\n\tglVerify(glUniform2fv(glGetUniformLocation(render->mCompositeProgram, \"clipPosToEye\"), 1, Vec2(tanf(fov*0.5f)*screenAspect, tanf(fov*0.5f))));\n\tglVerify(glUniform4fv(glGetUniformLocation(render->mCompositeProgram, \"color\"), 1, color));\n\tglVerify(glUniform1f(glGetUniformLocation(render->mCompositeProgram, \"ior\"),  ior));\n\tglVerify(glUniform1f(glGetUniformLocation(render->mCompositeProgram, \"spotMin\"), g_spotMin));\n\tglVerify(glUniform1f(glGetUniformLocation(render->mCompositeProgram, \"spotMax\"), g_spotMax));\n\tglVerify(glUniform1i(glGetUniformLocation(render->mCompositeProgram, \"debug\"), debug));\n\n\tglVerify(glUniform3fv(glGetUniformLocation(render->mCompositeProgram, \"lightPos\"), 1, lightPos));\n\tglVerify(glUniform3fv(glGetUniformLocation(render->mCompositeProgram, \"lightDir\"), 1, -Normalize(lightTarget-lightPos)));\n\tglVerify(glUniformMatrix4fv(glGetUniformLocation(render->mCompositeProgram, \"lightTransform\"), 1, false, lightTransform));\n\t\n\tconst Vec2 taps[] = \n\t{ \n\t\tVec2(-0.326212f,-0.40581f),Vec2(-0.840144f,-0.07358f),\n\t\tVec2(-0.695914f,0.457137f),Vec2(-0.203345f,0.620716f),\n\t\tVec2(0.96234f,-0.194983f),Vec2(0.473434f,-0.480026f),\n\t\tVec2(0.519456f,0.767022f),Vec2(0.185461f,-0.893124f),\n\t\tVec2(0.507431f,0.064425f),Vec2(0.89642f,0.412458f),\n\t\tVec2(-0.32194f,-0.932615f),Vec2(-0.791559f,-0.59771f) \n\t};\n\t\n\tglVerify(glUniform2fv(glGetUniformLocation(render->mCompositeProgram, \"shadowTaps\"), 12, &taps[0].x));\n\n\t// smoothed depth tex\n\tglVerify(glActiveTexture(GL_TEXTURE0));\n\tglVerify(glEnable(GL_TEXTURE_2D));\n\tglVerify(glBindTexture(GL_TEXTURE_2D, render->mDepthSmoothTex));\n\n\t// shadow tex\n\tglVerify(glActiveTexture(GL_TEXTURE1));\n\tglVerify(glEnable(GL_TEXTURE_2D));\n\tglVerify(glBindTexture(GL_TEXTURE_2D, shadowMap->texture));\n\n\t// thickness tex\n\tglVerify(glActiveTexture(GL_TEXTURE2));\n\tglVerify(glEnable(GL_TEXTURE_2D));\n\tglVerify(glBindTexture(GL_TEXTURE_2D, render->mThicknessTex));\n\n\t// scene tex\n\tglVerify(glActiveTexture(GL_TEXTURE3));\n\tglVerify(glEnable(GL_TEXTURE_2D));\n\tglVerify(glBindTexture(GL_TEXTURE_2D, render->mSceneTex));\n\n\t/*\n\t// reflection tex\n\tglVerify(glActiveTexture(GL_TEXTURE5));\n\tglVerify(glEnable(GL_TEXTURE_2D));\n\tglVerify(glBindTexture(GL_TEXTURE_2D, reflectMap->texture));\t\n\t*/\n\n\tglVerify(glUniform1i(glGetUniformLocation(render->mCompositeProgram, \"tex\"), 0));\n\tglVerify(glUniform1i(glGetUniformLocation(render->mCompositeProgram, \"shadowTex\"), 1));\n\tglVerify(glUniform1i(glGetUniformLocation(render->mCompositeProgram, \"thicknessTex\"), 2));\n\tglVerify(glUniform1i(glGetUniformLocation(render->mCompositeProgram, \"sceneTex\"), 3));\n\tglVerify(glUniform1i(glGetUniformLocation(render->mCompositeProgram, \"reflectTex\"), 5));\n\n\t// -- end shadowing\n\t\n\t// ignores projection matrices\n\tglVerify(RenderFullscreenQuad());\n\n\t// reset state\n\tglActiveTexture(GL_TEXTURE5);\n\tglDisable(GL_TEXTURE_2D);\n\tglActiveTexture(GL_TEXTURE3);\n\tglDisable(GL_TEXTURE_2D);\n\tglActiveTexture(GL_TEXTURE2);\n\tglDisable(GL_TEXTURE_2D);\n\tglActiveTexture(GL_TEXTURE1);\n\tglDisable(GL_TEXTURE_2D);\n\tglActiveTexture(GL_TEXTURE0);\n\tglDisable(GL_TEXTURE_2D);\n\n\tglEnable(GL_DEPTH_TEST);\n\tglDepthMask(GL_TRUE);\n\tglDisable(GL_BLEND);\n}\n\n//------------------------------------------------------------------------------\n// Diffuse Shading\n\nconst char *vertexDiffuseShader = STRINGIFY(\n\nuniform float pointRadius;  // point size in world space\nuniform float pointScale;   // scale to calculate size in pixels\nuniform vec3 lightPos;\nuniform vec3 lightDir;\nuniform mat4 lightTransform;\nuniform float spotMin;\nuniform float spotMax;\nuniform vec4 color;\n\n\nvoid main()\n{\n\tvec3 worldPos = gl_Vertex.xyz;// - vec3(0.0, 0.1*0.25, 0.0);\t// hack move towards ground to account for anisotropy;\n\tvec4 eyePos = gl_ModelViewMatrix * vec4(worldPos, 1.0);\n\n\tgl_Position = gl_ProjectionMatrix * eyePos;\n\t//gl_Position.z -= 0.0025;\t// bias above fluid surface\n\n    // calculate window-space point size\n\tgl_PointSize = pointRadius * (pointScale / gl_Position.w);\n\n\tgl_TexCoord[0] = gl_MultiTexCoord0;    \n\tgl_TexCoord[1] = vec4(worldPos, gl_Vertex.w);\n\tgl_TexCoord[2] = eyePos;\n\n\tgl_TexCoord[3].xyz = gl_ModelViewMatrix*vec4(gl_MultiTexCoord1.xyz, 0.0);\n\tgl_TexCoord[4].xyzw = color;\n\n\t// hack to color different emitters \n\tif (gl_MultiTexCoord1.w == 2.0)\n\t\tgl_TexCoord[4].xyzw = vec4(0.85, 0.65, 0.65, color.w);\n\telse if (gl_MultiTexCoord1.w == 1.0)\n\t\tgl_TexCoord[4].xyzw = vec4(0.65, 0.85, 0.65, color.w);\n\n\t// compute ndc pos for frustrum culling in GS\n\tvec4 ndcPos = gl_ModelViewProjectionMatrix * vec4(worldPos.xyz, 1.0);\n\tgl_TexCoord[5] = ndcPos / ndcPos.w;\n}\n);\n\n\n\n\nconst char *geometryDiffuseShader = \n\"#version 120\\n\"\n\"#extension GL_EXT_geometry_shader4 : enable\\n\"\nSTRINGIFY(\n\nuniform float pointScale;  // point size in world space\nuniform float motionBlurScale;\nuniform float diffusion;\nuniform vec3 lightDir;\n\nvoid main()\n{\n\tvec4 ndcPos = gl_TexCoordIn[0][5];\n\n\t// frustrum culling\n\tconst float ndcBound = 1.0;\n\tif (ndcPos.x < -ndcBound) return;\n\tif (ndcPos.x > ndcBound) return;\n\tif (ndcPos.y < -ndcBound) return;\n\tif (ndcPos.y > ndcBound) return;\n\n\tfloat velocityScale = 1.0;\n\n\tvec3 v = gl_TexCoordIn[0][3].xyz*velocityScale;\n\tvec3 p = gl_TexCoordIn[0][2].xyz;\n\t\t\n\t// billboard in eye space\n\tvec3 u = vec3(0.0, pointScale, 0.0);\n\tvec3 l = vec3(pointScale, 0.0, 0.0);\n\t\n\t// increase size based on life\n\tfloat lifeFade = mix(1.0f+diffusion, 1.0, min(1.0, gl_TexCoordIn[0][1].w*0.25f));\n\tu *= lifeFade;\n\tl *= lifeFade;\n\n\t//lifeFade = 1.0;\n\n\tfloat fade = 1.0/(lifeFade*lifeFade);\n\tfloat vlen = length(v)*motionBlurScale;\n\n\tif (vlen > 0.5)\n\t{\n\t\tfloat len = max(pointScale, vlen*0.016);\n\t\tfade = min(1.0, 2.0/(len/pointScale));\n\n\t\tu = normalize(v)*max(pointScale, vlen*0.016);\t// assume 60hz\n\t\tl = normalize(cross(u, vec3(0.0, 0.0, -1.0)))*pointScale;\n\t}\t\n\t\n\t{\n\t\tgl_TexCoord[1] = gl_TexCoordIn[0][1];\t// vertex world pos (life in w)\n\t\tgl_TexCoord[2] = gl_TexCoordIn[0][2];\t// vertex eye pos\n\t\tgl_TexCoord[3] = gl_TexCoordIn[0][3];\t// vertex velocity in view space\n\t\tgl_TexCoord[3].w = fade;\n\t\tgl_TexCoord[4] = gl_ModelViewMatrix*vec4(lightDir, 0.0);\n\t\tgl_TexCoord[4].w = gl_TexCoordIn[0][3].w; // attenuation\n\t\tgl_TexCoord[5].xyzw = gl_TexCoordIn[0][4].xyzw;\t// color\n\n\t\tfloat zbias = 0.0f;//0.00125*2.0;\n\n        gl_TexCoord[0] = vec4(0.0, 1.0, 0.0, 0.0);\n        gl_Position = gl_ProjectionMatrix * vec4(p + u - l, 1.0);\n\t\tgl_Position.z -= zbias;\n        EmitVertex();\n\t\t\n\t\tgl_TexCoord[0] = vec4(0.0, 0.0, 0.0, 0.0);\n        gl_Position = gl_ProjectionMatrix * vec4(p - u - l, 1.0);\n\t\tgl_Position.z -= zbias;\n        EmitVertex();\n\n\t\tgl_TexCoord[0] = vec4(1.0, 1.0, 0.0, 0.0);\n        gl_Position = gl_ProjectionMatrix * vec4(p + u + l, 1.0);\n\t\tgl_Position.z -= zbias;\n        EmitVertex();\n\n\t\tgl_TexCoord[0] = vec4(1.0, 0.0, 0.0, 0.0);\n        gl_Position = gl_ProjectionMatrix * vec4(p - u + l, 1.0);\n\t\tgl_Position.z -= zbias;\n        EmitVertex();\n    }\n}\n);\n\nconst char *fragmentDiffuseShader = STRINGIFY(\n\nfloat sqr(float x) { return x*x; }\nfloat cube(float x) { return x*x*x; }\n\nuniform sampler2D depthTex;\nuniform sampler2D noiseTex;\nuniform vec2 invViewport;\nuniform vec4 color;\nuniform bool front;\nuniform bool shadow;\n\n//uniform sampler2DShadow shadowTex;\nuniform sampler2D shadowTex;\nuniform vec2 shadowTaps[12];\nuniform mat4 lightTransform;\nuniform vec3 lightDir;\nuniform float inscatterCoefficient;\nuniform float outscatterCoefficient;\n\nvoid main()\n{\n\tfloat attenuation = gl_TexCoord[4].w;\n\tfloat lifeFade = min(1.0, gl_TexCoord[1].w*0.125);\n\n    // calculate normal from texture coordinates\n    vec3 normal;\n    normal.xy = gl_TexCoord[0].xy*vec2(2.0, 2.0) + vec2(-1.0, -1.0);\n    float mag = dot(normal.xy, normal.xy);\n    if (mag > 1.0) discard;   // kill pixels outside circle\n   \tnormal.z = 1.0-mag;\n\n\tfloat velocityFade = gl_TexCoord[3].w;\n\tfloat alpha = lifeFade*velocityFade*sqr(normal.z);\n\n\tgl_FragColor = alpha;\n}\n);\n\nint GetNumDiffuseRenderParticles(DiffuseRenderBuffers* buffers)\n{\n\treturn reinterpret_cast<DiffuseRenderBuffersGL*>(buffers)->mNumParticles;\n}\n\nvoid RenderDiffuse(FluidRenderer* render, DiffuseRenderBuffers* buffersIn, int n, float radius, float screenWidth, float screenAspect, float fov, Vec4 color, Vec3 lightPos, Vec3 lightTarget, Matrix44 lightTransform, ShadowMap* shadowMap, float motionBlur, float inscatter, float outscatter, bool shadow, bool front)\n{\n\tDiffuseRenderBuffersGL* buffers = reinterpret_cast<DiffuseRenderBuffersGL*>(buffersIn);\n\tstatic int sprogram = -1;\n\tif (sprogram == -1)\n\t\tsprogram = CompileProgram(vertexDiffuseShader, fragmentDiffuseShader, geometryDiffuseShader);\n\n\tint thicknessScale = 1;\n\n\tif (sprogram)\n\t{\n#if USE_HDR_DIFFUSE_BLEND\n\t\n\t\t{\n\t\t\tglVerify(glBindFramebuffer(GL_READ_FRAMEBUFFER, g_msaaFbo));\n\t\t\tglVerify(glBindFramebuffer(GL_DRAW_FRAMEBUFFER, render->mThicknessFbo));\n\t\t\tglVerify(glBlitFramebuffer(0, 0, render->mSceneWidth, render->mSceneHeight, 0, 0, render->mSceneWidth/thicknessScale, render->mSceneHeight/thicknessScale, GL_DEPTH_BUFFER_BIT, GL_NEAREST));\n\n\t\t\tglClearColor(0.0f, 0.0f, 0.0f, 0.0f);\n\t\t\tglClear(GL_COLOR_BUFFER_BIT);\t\t\n\t\t}\n#endif\n\n\t\tglEnable(GL_POINT_SPRITE);\n\t\tglTexEnvi(GL_POINT_SPRITE, GL_COORD_REPLACE, GL_TRUE);\n\t\tglEnable(GL_VERTEX_PROGRAM_POINT_SIZE);\n\t\tglDepthMask(GL_FALSE);\n\t\tglEnable(GL_DEPTH_TEST);\n\t\tglEnable(GL_BLEND);\n\t\tglDisable(GL_CULL_FACE);\n\t\tglBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA);\n\t\t\n\t\tglUseProgram(sprogram);\n\t\tglUniform1f( glGetUniformLocation(sprogram, \"motionBlurScale\"), motionBlur);\n\t\tglUniform1f( glGetUniformLocation(sprogram, \"diffusion\"), 1.0f);\n\t\tglUniform1f( glGetUniformLocation(sprogram, \"pointScale\"), radius*1.0f);\n\t\tglUniform1f( glGetUniformLocation(sprogram, \"pointRadius\"), screenWidth / float(thicknessScale) / (2.0f*screenAspect*tanf(fov*0.5f)));\t\t\n\t\tglUniform2fv( glGetUniformLocation(sprogram, \"invViewport\"), 1, Vec2(1.0f/screenWidth, screenAspect/screenWidth));\n\t\tglUniform4fv( glGetUniformLocation(sprogram, \"color\"), 1, color);\n\t\tglUniform1i( glGetUniformLocation(sprogram, \"tex\"), 0);\n\t\tglUniform1f( glGetUniformLocation(sprogram, \"inscatterCoefficient\"), inscatter);\n\t\tglUniform1f( glGetUniformLocation(sprogram, \"outscatterCoefficient\"), outscatter);\n\n\t\tGLint uLightTransform = glGetUniformLocation(sprogram, \"lightTransform\");\n\t\tglUniformMatrix4fv(uLightTransform, 1, false, lightTransform);\n\n\t\tGLint uLightPos = glGetUniformLocation(sprogram, \"lightPos\");\n\t\tglUniform3fv(uLightPos, 1, lightPos);\n\t\n\t\tGLint uLightDir = glGetUniformLocation(sprogram, \"lightDir\");\n\t\tglUniform3fv(uLightDir, 1, Normalize(lightTarget-lightPos));\n\n\t\tglUniform1f( glGetUniformLocation(sprogram, \"spotMin\"), g_spotMin);\n\t\tglUniform1f( glGetUniformLocation(sprogram, \"spotMax\"), g_spotMax);\n\n\t\tconst Vec2 taps[] = \n\t\t{ \n\t\t\tVec2(-0.326212f,-0.40581f),Vec2(-0.840144f,-0.07358f),\n\t\t\tVec2(-0.695914f,0.457137f),Vec2(-0.203345f,0.620716f),\n\t\t\tVec2(0.96234f,-0.194983f),Vec2(0.473434f,-0.480026f),\n\t\t\tVec2(0.519456f,0.767022f),Vec2(0.185461f,-0.893124f),\n\t\t\tVec2(0.507431f,0.064425f),Vec2(0.89642f,0.412458f),\n\t\t\tVec2(-0.32194f,-0.932615f),Vec2(-0.791559f,-0.59771f) \n\t\t};\n\t\n\t\tglVerify(glUniform2fv(glGetUniformLocation(sprogram, \"shadowTaps\"), 12, &taps[0].x));\n\t\tglVerify(glUniform1i(glGetUniformLocation(sprogram, \"noiseTex\"), 2));\n\t\tglVerify(glUniform1i(glGetUniformLocation(sprogram, \"shadowTex\"), 1));\n\t\tglVerify(glUniform1i(glGetUniformLocation(sprogram, \"depthTex\"), 0));\n\t\tglVerify(glUniform1i(glGetUniformLocation(sprogram, \"front\"), front));\n\t\tglVerify(glUniform1i(glGetUniformLocation(sprogram, \"shadow\"), shadow));\n\n\t\t// noise tex\n\t\t//glActiveTexture(GL_TEXTURE2);\n\t\t//glEnable(GL_TEXTURE_2D);\n\t\t//glBindTexture(GL_TEXTURE_2D, noiseTex);\n\n\t\t// shadow tex\n\t\tglActiveTexture(GL_TEXTURE1);\n\t\tglEnable(GL_TEXTURE_2D);\n\t\tglBindTexture(GL_TEXTURE_2D, shadowMap->texture);\n\t\tglVerify(glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_COMPARE_MODE, GL_NONE)); \n\t\t//glVerify(glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_COMPARE_FUNC, GL_LEQUAL)); \n\n\n\t\tglActiveTexture(GL_TEXTURE0);\n\t\tglEnable(GL_TEXTURE_2D);\n\t\tglBindTexture(GL_TEXTURE_2D, render->mDepthSmoothTex);\n\n\t\tglClientActiveTexture(GL_TEXTURE1);\n\t\tglEnableClientState(GL_TEXTURE_COORD_ARRAY);\n\t\tglVerify(glBindBuffer(GL_ARRAY_BUFFER, buffers->mDiffuseVelocityVBO));\n\t\tglTexCoordPointer(4, GL_FLOAT, sizeof(float)*4, 0);\n\n\t\tglEnableClientState(GL_VERTEX_ARRAY);\t\t\t\n\t\tglBindBuffer(GL_ARRAY_BUFFER, buffers->mDiffusePositionVBO);\n\t\tglVertexPointer(4, GL_FLOAT, sizeof(float)*4, 0);\n\n\t\tglBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0);\n\n\t\tglDrawArrays(GL_POINTS, 0, n);\n\n\t\tglUseProgram(0);\n\t\tglBindBuffer(GL_ARRAY_BUFFER, 0);\n\t\tglBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0);\n\t\tglDisableClientState(GL_VERTEX_ARRAY);\t\n\t\tglDisableClientState(GL_TEXTURE_COORD_ARRAY);\t\n\t\tglDisable(GL_POINT_SPRITE);\n\t\tglDisable(GL_BLEND);\n\t\tglDepthMask(GL_TRUE);\n\n\t\tglVerify(glActiveTexture(GL_TEXTURE2));\n\t\tglVerify(glDisable(GL_TEXTURE_2D));\n\t\tglVerify(glActiveTexture(GL_TEXTURE1));\n\t\tglVerify(glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_COMPARE_MODE, GL_COMPARE_R_TO_TEXTURE)); \n\t\tglVerify(glDisable(GL_TEXTURE_2D));\n\t\tglVerify(glActiveTexture(GL_TEXTURE0));\n\t\tglVerify(glDisable(GL_TEXTURE_2D));\n\n#if USE_HDR_DIFFUSE_BLEND\n\t\t\n\t\t\t{\n\t\t\tglVerify(glBindFramebuffer(GL_FRAMEBUFFER, g_msaaFbo));\n\t\t\tglVerify(glViewport(0, 0, int(screenWidth), int(screenWidth/screenAspect)));\n\n\t\t\t//glClear(GL_COLOR_BUFFER_BIT);\n\t\t\tglUseProgram(0);\n\t\t\tglDisable(GL_DEPTH_TEST);\n\t\t\tglEnable(GL_BLEND);\n\t\t\tglBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA);\n\t\t\tglDepthMask(GL_FALSE);\n\t\t\tglDisable(GL_CULL_FACE);\n\t\t\t\n\t\t\tglVerify(glActiveTexture(GL_TEXTURE0));\n\t\t\tglEnable(GL_TEXTURE_2D);\n\t\t\tglBindTexture(GL_TEXTURE_2D, render->mThicknessTex);\n\n\t\t\tglMatrixMode(GL_MODELVIEW);\n\t\t\tglPushMatrix();\n\t\t\tglLoadIdentity();\n\t\t\n\t\t\tglMatrixMode(GL_PROJECTION);\n\t\t\tglPushMatrix();\n\t\t\tglLoadIdentity();\n\t\t\tgluOrtho2D(-1.0f, 1.0f, -1.0f, 1.0);\n\n\t\t\tRenderFullscreenQuad();\n\n\t\t\tglMatrixMode(GL_MODELVIEW);\n\t\t\tglPopMatrix();\n\t\t\n\t\t\tglMatrixMode(GL_PROJECTION);\n\t\t\tglPopMatrix();\n\n\t\t\tglDepthMask(GL_TRUE);\n\t\t}\n#endif\n\n\t}\n}\n\nGpuMesh* CreateGpuMesh(const Mesh* m)\n{\n\tGpuMesh* mesh = new GpuMesh();\n\n\tmesh->mNumVertices = m->GetNumVertices();\n\tmesh->mNumFaces = m->GetNumFaces();\n\n\t// vbos\n\tglVerify(glGenBuffers(1, &mesh->mPositionsVBO));\n\tglVerify(glBindBuffer(GL_ARRAY_BUFFER, mesh->mPositionsVBO));\n\tglVerify(glBufferData(GL_ARRAY_BUFFER, sizeof(float)*3*m->m_positions.size(), &m->m_positions[0], GL_STATIC_DRAW));\n\n\tglVerify(glGenBuffers(1, &mesh->mNormalsVBO));\n\tglVerify(glBindBuffer(GL_ARRAY_BUFFER, mesh->mNormalsVBO));\n\tglVerify(glBufferData(GL_ARRAY_BUFFER, sizeof(float)*3*m->m_normals.size(), &m->m_normals[0], GL_STATIC_DRAW));\n\n\tglVerify(glGenBuffers(1, &mesh->mIndicesIBO));\n\tglVerify(glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, mesh->mIndicesIBO));\n\tglVerify(glBufferData(GL_ELEMENT_ARRAY_BUFFER, sizeof(int)*m->m_indices.size(), &m->m_indices[0], GL_STATIC_DRAW));\n\tglVerify(glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0));\n\n\treturn mesh;\n}\n\nvoid DestroyGpuMesh(GpuMesh* m)\n{\n\tglVerify(glDeleteBuffers(1, &m->mPositionsVBO));\n\tglVerify(glDeleteBuffers(1, &m->mNormalsVBO));\n\tglVerify(glDeleteBuffers(1, &m->mIndicesIBO));\n}\n\nvoid DrawGpuMesh(GpuMesh* m, const Matrix44& xform, const Vec3& color)\n{\n\tif (m)\n\t{\n\t\tGLint program;\n\t\tglGetIntegerv(GL_CURRENT_PROGRAM, &program);\n\n\t\tif (program)\n\t\t\tglUniformMatrix4fv( glGetUniformLocation(program, \"objectTransform\"), 1, false, xform);\n\n\t\tglVerify(glColor3fv(color));\n\t\tglVerify(glSecondaryColor3fv(color));\n\n\t\tglVerify(glEnableClientState(GL_VERTEX_ARRAY));\n\t\tglVerify(glBindBuffer(GL_ARRAY_BUFFER, m->mPositionsVBO));\n\t\tglVerify(glVertexPointer(3, GL_FLOAT, sizeof(float)*3, 0));\t\n\n\t\tglVerify(glEnableClientState(GL_NORMAL_ARRAY));\n\t\tglVerify(glBindBuffer(GL_ARRAY_BUFFER, m->mNormalsVBO));\n\t\tglVerify(glNormalPointer(GL_FLOAT, sizeof(float)*3, 0));\n\t\t\n\t\tglVerify(glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, m->mIndicesIBO));\n\n\t\tglVerify(glDrawElements(GL_TRIANGLES, m->mNumFaces*3, GL_UNSIGNED_INT, 0));\n\n\t\tglVerify(glDisableClientState(GL_VERTEX_ARRAY));\n\t\tglVerify(glDisableClientState(GL_NORMAL_ARRAY));\n\n\t\tglVerify(glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0));\n\t\tglVerify(glBindBuffer(GL_ARRAY_BUFFER, 0));\t\n\n\t\tif (program)\n\t\t\tglUniformMatrix4fv(glGetUniformLocation(program, \"objectTransform\"), 1, false, Matrix44::kIdentity);\n\t}\n}\n\nvoid DrawGpuMeshInstances(GpuMesh* m, const Matrix44* xforms, int n, const Vec3& color)\n{\n\tif (m)\n\t{\n\t\tGLint program;\n\t\tglGetIntegerv(GL_CURRENT_PROGRAM, &program);\n\n\t\tGLint param = glGetUniformLocation(program, \"objectTransform\");\n\n\t\tglVerify(glColor3fv(color));\n\t\tglVerify(glSecondaryColor3fv(color));\n\n\t\tglVerify(glEnableClientState(GL_VERTEX_ARRAY));\n\t\tglVerify(glBindBuffer(GL_ARRAY_BUFFER, m->mPositionsVBO));\n\t\tglVerify(glVertexPointer(3, GL_FLOAT, sizeof(float)*3, 0));\t\n\n\t\tglVerify(glEnableClientState(GL_NORMAL_ARRAY));\n\t\tglVerify(glBindBuffer(GL_ARRAY_BUFFER, m->mNormalsVBO));\n\t\tglVerify(glNormalPointer(GL_FLOAT, sizeof(float)*3, 0));\n\t\t\n\t\tglVerify(glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, m->mIndicesIBO));\n\n\t\tfor (int i=0; i < n; ++i)\n\t\t{\n\t\t\tif (program)\n\t\t\t\tglUniformMatrix4fv( param, 1, false, xforms[i]);\n\n\t\t\tglVerify(glDrawElements(GL_TRIANGLES, m->mNumFaces*3, GL_UNSIGNED_INT, 0));\n\t\t}\n\n\t\tglVerify(glDisableClientState(GL_VERTEX_ARRAY));\n\t\tglVerify(glDisableClientState(GL_NORMAL_ARRAY));\n\n\t\tglVerify(glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0));\n\t}\n}\n\nvoid BeginLines()\n{\n\tglUseProgram(0);\n\tglDisable(GL_DEPTH_TEST);\n\tglDisable(GL_BLEND);\n\n\tglLineWidth(1.0f);\n\n\tfor (int i = 0; i < 8; ++i)\n\t{\n\t\tglActiveTexture(GL_TEXTURE0 + i);\n\t\tglDisable(GL_TEXTURE_2D);\n\t}\n\n\tglBegin(GL_LINES);\n}\n\nvoid DrawLine(const Vec3& p, const Vec3& q, const Vec4& color)\n{\n\tglColor4fv(color);\n\tglVertex3fv(p);\n\tglVertex3fv(q);\n}\n\nvoid EndLines()\n{\n\tglEnd();\n}\n\nvoid BeginPoints(float size)\n{\n\tglPointSize(size);\n\n\tglUseProgram(0);\n\tglDisable(GL_DEPTH_TEST);\n\tglDisable(GL_BLEND);\n\n\tglEnable(GL_BLEND);\n\tglBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);\n\tglEnable(GL_POINT_SPRITE);\n\tglEnable(GL_POINT_SMOOTH);\n\tglHint(GL_POINT_SMOOTH_HINT, GL_NICEST);\n\n\tfor (int i = 0; i < 8; ++i)\n\t{\n\t\tglActiveTexture(GL_TEXTURE0 + i);\n\t\tglDisable(GL_TEXTURE_2D);\n\t}\n\n\tglBegin(GL_POINTS);\n}\n\nvoid DrawPoint(const Vec3& p, const Vec4& color)\n{\n\tglColor3fv(color);\n\tglVertex3fv(p);\n}\n\nvoid EndPoints()\n{\n\tglEnd();\n}\n\nfloat SyncAndGetRenderTime(unsigned long long* begin, unsigned long long* end, unsigned long long* freq)\n{\n\t*begin = 0;\n\t*end = 0;\n\t*freq = 1;\n\treturn 0.0f;\n}\n\nfloat RendererGetDeviceTimestamps(unsigned long long* begin, unsigned long long* end, unsigned long long* freq) { return 0.0f; }\nvoid* GetGraphicsCommandQueue() { return nullptr; } \nvoid GraphicsTimerBegin() { }\nvoid GraphicsTimerEnd() { }\n\nvoid StartGpuWork() { }\nvoid EndGpuWork() { }\n\nvoid GetRenderDevice(void** deviceOut, void** contextOut) \n{ \n\t*deviceOut = nullptr;\n\t*contextOut = nullptr;\n}\n\nvoid DrawImguiGraph()\n{\n\timguiGraphDraw();\n}\n\n}\t// OGL Renderer\n\n\n#include \"../demoContext.h\"\n#include \"demoContextOGL.h\"\n\nDemoContext* CreateDemoContextOGL()\n{\n\treturn new DemoContextOGL;\n}\n\nbool DemoContextOGL::initialize(const RenderInitOptions& options)\n{\n\tOGL_Renderer::InitRender(options);\n\treturn true;\n}\n\nvoid DemoContextOGL::startFrame(Vec4 colorIn)\n{\n\tOGL_Renderer::StartFrame(colorIn);\n}\n\nvoid DemoContextOGL::endFrame()\n{\n\tOGL_Renderer::EndFrame();\n}\n\nvoid DemoContextOGL::presentFrame(bool fullsync)\n{\n\tOGL_Renderer::PresentFrame(fullsync);\n}\n\nvoid DemoContextOGL::readFrame(int* buffer, int width, int height)\n{\n\tOGL_Renderer::ReadFrame(buffer, width, height);\n}\n\nvoid DemoContextOGL::getViewRay(int x, int y, Vec3& origin, Vec3& dir)\n{\n\tOGL_Renderer::GetViewRay(x, y, origin, dir);\n}\n\nvoid DemoContextOGL::setView(Matrix44 view, Matrix44 projection)\n{\n\tOGL_Renderer::SetView(view, projection);\n}\n\nvoid DemoContextOGL::renderEllipsoids(FluidRenderer* renderer, FluidRenderBuffers* buffers, int n, int offset, float radius, float screenWidth, float screenAspect, float fov, Vec3 lightPos, Vec3 lightTarget, Matrix44 lightTransform, ::ShadowMap* shadowMap, Vec4 color, float blur, float ior, bool debug)\n{\n\tOGL_Renderer::RenderEllipsoids(renderer, buffers, n, offset, radius, screenWidth, screenAspect, fov, lightPos, lightTarget, lightTransform, shadowMap, color, blur, ior, debug);\n}\n\nvoid DemoContextOGL::drawMesh(const Mesh* m, Vec3 color)\n{\n\tOGL_Renderer::DrawMesh(m, color);\n}\n\nvoid DemoContextOGL::drawCloth(const Vec4* positions, const Vec4* normals, const float* uvs, const int* indices, int numTris, int numPositions, int colorIndex, float expand, bool twosided, bool smooth)\n{\n\tOGL_Renderer::DrawCloth(positions, normals, uvs, indices, numTris, numPositions, colorIndex, expand, twosided, smooth);\n}\n\nvoid DemoContextOGL::drawRope(Vec4* positions, int* indices, int numIndices, float radius, int color)\n{\n\tOGL_Renderer::DrawRope(positions, indices, numIndices, radius, color);\n}\n\nvoid DemoContextOGL::drawPlane(const Vec4& p, bool color)\n{\n\tOGL_Renderer::DrawPlane(p, color);\n}\n\nvoid DemoContextOGL::drawPlanes(Vec4* planes, int n, float bias)\n{\n\tOGL_Renderer::DrawPlanes(planes, n, bias);\n}\n\nvoid DemoContextOGL::drawPoints(FluidRenderBuffers* buffers, int n, int offset, float radius, float screenWidth, float screenAspect, float fov, Vec3 lightPos, Vec3 lightTarget, Matrix44 lightTransform, ::ShadowMap* shadowTex, bool showDensity)\n{\n\tOGL_Renderer::DrawPoints(buffers, n, offset, radius, screenWidth, screenAspect, fov, lightPos, lightTarget, lightTransform, shadowTex, showDensity);\n}\n\nvoid DemoContextOGL::graphicsTimerBegin()\n{\n\tOGL_Renderer::GraphicsTimerBegin();\n}\n\nvoid DemoContextOGL::graphicsTimerEnd()\n{\n\tOGL_Renderer::GraphicsTimerEnd();\n}\n\nfloat DemoContextOGL::rendererGetDeviceTimestamps(unsigned long long* begin, unsigned long long* end, unsigned long long* freq)\n{\n\treturn OGL_Renderer::RendererGetDeviceTimestamps(begin, end, freq);\n}\n\nvoid DemoContextOGL::bindSolidShader(Vec3 lightPos, Vec3 lightTarget, Matrix44 lightTransform, ::ShadowMap* shadowMap, float bias, Vec4 fogColor)\n{\n\tOGL_Renderer::BindSolidShader(lightPos, lightTarget, lightTransform, shadowMap, bias, fogColor);\n}\n\nvoid DemoContextOGL::unbindSolidShader()\n{\n\tOGL_Renderer::UnbindSolidShader();\n}\n\nShadowMap* DemoContextOGL::shadowCreate()\n{\n\treturn OGL_Renderer::ShadowCreate();\n}\n\nvoid DemoContextOGL::shadowDestroy(ShadowMap* map)\n{\n\tOGL_Renderer::ShadowDestroy(map);\n}\n\nvoid DemoContextOGL::shadowBegin(ShadowMap* map)\n{\n\tOGL_Renderer::ShadowBegin(map);\n}\n\nvoid DemoContextOGL::shadowEnd()\n{\n\tOGL_Renderer::ShadowEnd();\n}\n\nFluidRenderer* DemoContextOGL::createFluidRenderer(uint32_t width, uint32_t height)\n{\n\treturn OGL_Renderer::CreateFluidRenderer(width, height);\n}\n\nvoid DemoContextOGL::destroyFluidRenderer(FluidRenderer* renderer)\n{\n\tOGL_Renderer::DestroyFluidRenderer(renderer);\n}\n\nFluidRenderBuffers* DemoContextOGL::createFluidRenderBuffers(int numParticles, bool enableInterop)\n{\n\treturn OGL_Renderer::CreateFluidRenderBuffers(numParticles, enableInterop);\n}\n\nvoid DemoContextOGL::updateFluidRenderBuffers(FluidRenderBuffers* buffers, NvFlexSolver* flex, bool anisotropy, bool density)\n{\n\tOGL_Renderer::UpdateFluidRenderBuffers(buffers, flex, anisotropy, density);\n}\n\nvoid DemoContextOGL::updateFluidRenderBuffers(FluidRenderBuffers* buffers, Vec4* particles, float* densities, Vec4* anisotropy1, Vec4* anisotropy2, Vec4* anisotropy3, int numParticles, int* indices, int numIndices)\n{\n\tOGL_Renderer::UpdateFluidRenderBuffers(buffers, particles, densities, anisotropy1, anisotropy2, anisotropy3, numParticles, indices, numIndices);\n}\n\nvoid DemoContextOGL::destroyFluidRenderBuffers(FluidRenderBuffers* buffers)\n{\n\tOGL_Renderer::DestroyFluidRenderBuffers(buffers);\n}\n\nGpuMesh* DemoContextOGL::createGpuMesh(const Mesh* m)\n{\n\treturn OGL_Renderer::CreateGpuMesh(m);\n}\n\nvoid DemoContextOGL::destroyGpuMesh(GpuMesh* mesh)\n{\n\tOGL_Renderer::DestroyGpuMesh(mesh);\n}\n\nvoid DemoContextOGL::drawGpuMesh(GpuMesh* m, const Matrix44& xform, const Vec3& color)\n{\n\tOGL_Renderer::DrawGpuMesh(m, xform, color);\n}\n\nvoid DemoContextOGL::drawGpuMeshInstances(GpuMesh* m, const Matrix44* xforms, int n, const Vec3& color)\n{\n\tOGL_Renderer::DrawGpuMeshInstances(m, xforms, n, color);\n}\n\nDiffuseRenderBuffers* DemoContextOGL::createDiffuseRenderBuffers(int numDiffuseParticles, bool& enableInterop)\n{\n\treturn OGL_Renderer::CreateDiffuseRenderBuffers(numDiffuseParticles, enableInterop);\n}\n\nvoid DemoContextOGL::destroyDiffuseRenderBuffers(DiffuseRenderBuffers* buffers)\n{\n\tOGL_Renderer::DestroyDiffuseRenderBuffers(buffers);\n}\n\nvoid DemoContextOGL::updateDiffuseRenderBuffers(DiffuseRenderBuffers* buffers, Vec4* diffusePositions, Vec4* diffuseVelocities, int numDiffuseParticles)\n{\n\tOGL_Renderer::UpdateDiffuseRenderBuffers(buffers, diffusePositions, diffuseVelocities, numDiffuseParticles);\n}\n\nvoid DemoContextOGL::updateDiffuseRenderBuffers(DiffuseRenderBuffers* buffers, NvFlexSolver* solver)\n{\n\tOGL_Renderer::UpdateDiffuseRenderBuffers(buffers, solver);\n}\n\nvoid DemoContextOGL::drawDiffuse(FluidRenderer* render, const DiffuseRenderBuffers* buffers, int n, float radius, float screenWidth, float screenAspect, float fov, Vec4 color, Vec3 lightPos, Vec3 lightTarget, Matrix44 lightTransform, ::ShadowMap* shadowMap, float motionBlur, float inscatter, float outscatter, bool shadowEnabled, bool front)\n{\n\tOGL_Renderer::RenderDiffuse(render, (DiffuseRenderBuffers*)buffers, n, radius, screenWidth, screenAspect, fov, color, lightPos, lightTarget, lightTransform, shadowMap, motionBlur, inscatter, outscatter, shadowEnabled, front);\n}\n\nint DemoContextOGL::getNumDiffuseRenderParticles(DiffuseRenderBuffers* buffers)\n{\n\treturn OGL_Renderer::GetNumDiffuseRenderParticles(buffers);\n}\n\nvoid DemoContextOGL::beginLines()\n{\n\tOGL_Renderer::BeginLines();\n}\n\nvoid DemoContextOGL::drawLine(const Vec3& p, const Vec3& q, const Vec4& color)\n{\n\tOGL_Renderer::DrawLine(p, q, color);\n}\n\nvoid DemoContextOGL::endLines()\n{\n\tOGL_Renderer::EndLines();\n}\n\nvoid DemoContextOGL::onSizeChanged(int width, int height, bool minimized)\n{\n\tOGL_Renderer::ReshapeRender(width, height, minimized);\n}\n\nvoid DemoContextOGL::startGpuWork()\n{\n\tOGL_Renderer::StartGpuWork();\n}\n\nvoid DemoContextOGL::endGpuWork()\n{\n\tOGL_Renderer::EndGpuWork();\n}\n\nvoid DemoContextOGL::flushGraphicsAndWait()\n{\n}\n\nvoid DemoContextOGL::setFillMode(bool wire)\n{\n\tOGL_Renderer::SetFillMode(wire);\n}\n\nvoid DemoContextOGL::setCullMode(bool enabled)\n{\n\tOGL_Renderer::SetCullMode(enabled);\n}\n\nvoid DemoContextOGL::drawImguiGraph()\n{\n\tOGL_Renderer::DrawImguiGraph();\n}\n\nvoid* DemoContextOGL::getGraphicsCommandQueue()\n{\n\treturn OGL_Renderer::GetGraphicsCommandQueue();\n}\n\nvoid DemoContextOGL::getRenderDevice(void** device, void** context)\n{\n\tOGL_Renderer::GetRenderDevice(device, context);\n}\n"
  },
  {
    "path": "demo/opengl/utilsGL.h",
    "content": "#pragma once\n\n\n// replacements for for glhUnproject() from https://www.khronos.org/opengl/wiki/GluProject_and_gluUnProject_code\n// todo: rewrite\n\n\n  void MultiplyMatrices4by4OpenGL_FLOAT(float *result, float *matrix1, float *matrix2)\n  {\n    result[0]=matrix1[0]*matrix2[0]+\n      matrix1[4]*matrix2[1]+\n      matrix1[8]*matrix2[2]+\n      matrix1[12]*matrix2[3];\n    result[4]=matrix1[0]*matrix2[4]+\n      matrix1[4]*matrix2[5]+\n      matrix1[8]*matrix2[6]+\n      matrix1[12]*matrix2[7];\n    result[8]=matrix1[0]*matrix2[8]+\n      matrix1[4]*matrix2[9]+\n      matrix1[8]*matrix2[10]+\n      matrix1[12]*matrix2[11];\n    result[12]=matrix1[0]*matrix2[12]+\n      matrix1[4]*matrix2[13]+\n      matrix1[8]*matrix2[14]+\n      matrix1[12]*matrix2[15];\n    result[1]=matrix1[1]*matrix2[0]+\n      matrix1[5]*matrix2[1]+\n      matrix1[9]*matrix2[2]+\n      matrix1[13]*matrix2[3];\n    result[5]=matrix1[1]*matrix2[4]+\n      matrix1[5]*matrix2[5]+\n      matrix1[9]*matrix2[6]+\n      matrix1[13]*matrix2[7];\n    result[9]=matrix1[1]*matrix2[8]+\n      matrix1[5]*matrix2[9]+\n      matrix1[9]*matrix2[10]+\n      matrix1[13]*matrix2[11];\n    result[13]=matrix1[1]*matrix2[12]+\n      matrix1[5]*matrix2[13]+\n      matrix1[9]*matrix2[14]+\n      matrix1[13]*matrix2[15];\n    result[2]=matrix1[2]*matrix2[0]+\n      matrix1[6]*matrix2[1]+\n      matrix1[10]*matrix2[2]+\n      matrix1[14]*matrix2[3];\n    result[6]=matrix1[2]*matrix2[4]+\n      matrix1[6]*matrix2[5]+\n      matrix1[10]*matrix2[6]+\n      matrix1[14]*matrix2[7];\n    result[10]=matrix1[2]*matrix2[8]+\n      matrix1[6]*matrix2[9]+\n      matrix1[10]*matrix2[10]+\n      matrix1[14]*matrix2[11];\n    result[14]=matrix1[2]*matrix2[12]+\n      matrix1[6]*matrix2[13]+\n      matrix1[10]*matrix2[14]+\n      matrix1[14]*matrix2[15];\n    result[3]=matrix1[3]*matrix2[0]+\n      matrix1[7]*matrix2[1]+\n      matrix1[11]*matrix2[2]+\n      matrix1[15]*matrix2[3];\n    result[7]=matrix1[3]*matrix2[4]+\n      matrix1[7]*matrix2[5]+\n      matrix1[11]*matrix2[6]+\n      matrix1[15]*matrix2[7];\n    result[11]=matrix1[3]*matrix2[8]+\n      matrix1[7]*matrix2[9]+\n      matrix1[11]*matrix2[10]+\n      matrix1[15]*matrix2[11];\n    result[15]=matrix1[3]*matrix2[12]+\n      matrix1[7]*matrix2[13]+\n      matrix1[11]*matrix2[14]+\n      matrix1[15]*matrix2[15];\n  }\n\n  void MultiplyMatrixByVector4by4OpenGL_FLOAT(float *resultvector, const float *matrix, const float *pvector)\n  {\n    resultvector[0]=matrix[0]*pvector[0]+matrix[4]*pvector[1]+matrix[8]*pvector[2]+matrix[12]*pvector[3];\n    resultvector[1]=matrix[1]*pvector[0]+matrix[5]*pvector[1]+matrix[9]*pvector[2]+matrix[13]*pvector[3];\n    resultvector[2]=matrix[2]*pvector[0]+matrix[6]*pvector[1]+matrix[10]*pvector[2]+matrix[14]*pvector[3];\n    resultvector[3]=matrix[3]*pvector[0]+matrix[7]*pvector[1]+matrix[11]*pvector[2]+matrix[15]*pvector[3];\n  }\n\n#define SWAP_ROWS_DOUBLE(a, b) { double *_tmp = a; (a)=(b); (b)=_tmp; }\n#define SWAP_ROWS_FLOAT(a, b) { float *_tmp = a; (a)=(b); (b)=_tmp; }\n#define MAT(m,r,c) (m)[(c)*4+(r)]\n\n  //This code comes directly from GLU except that it is for float\n  int glhInvertMatrixf2(float *m, float *out)\n  {\n   float wtmp[4][8];\n   float m0, m1, m2, m3, s;\n   float *r0, *r1, *r2, *r3;\n   r0 = wtmp[0], r1 = wtmp[1], r2 = wtmp[2], r3 = wtmp[3];\n   r0[0] = MAT(m, 0, 0), r0[1] = MAT(m, 0, 1),\n      r0[2] = MAT(m, 0, 2), r0[3] = MAT(m, 0, 3),\n      r0[4] = 1.0, r0[5] = r0[6] = r0[7] = 0.0,\n      r1[0] = MAT(m, 1, 0), r1[1] = MAT(m, 1, 1),\n      r1[2] = MAT(m, 1, 2), r1[3] = MAT(m, 1, 3),\n      r1[5] = 1.0, r1[4] = r1[6] = r1[7] = 0.0,\n      r2[0] = MAT(m, 2, 0), r2[1] = MAT(m, 2, 1),\n      r2[2] = MAT(m, 2, 2), r2[3] = MAT(m, 2, 3),\n      r2[6] = 1.0, r2[4] = r2[5] = r2[7] = 0.0,\n      r3[0] = MAT(m, 3, 0), r3[1] = MAT(m, 3, 1),\n      r3[2] = MAT(m, 3, 2), r3[3] = MAT(m, 3, 3),\n      r3[7] = 1.0, r3[4] = r3[5] = r3[6] = 0.0;\n   /* choose pivot - or die */\n   if (fabsf(r3[0]) > fabsf(r2[0]))\n      SWAP_ROWS_FLOAT(r3, r2);\n   if (fabsf(r2[0]) > fabsf(r1[0]))\n      SWAP_ROWS_FLOAT(r2, r1);\n   if (fabsf(r1[0]) > fabsf(r0[0]))\n      SWAP_ROWS_FLOAT(r1, r0);\n   if (0.0 == r0[0])\n      return 0;\n   /* eliminate first variable     */\n   m1 = r1[0] / r0[0];\n   m2 = r2[0] / r0[0];\n   m3 = r3[0] / r0[0];\n   s = r0[1];\n   r1[1] -= m1 * s;\n   r2[1] -= m2 * s;\n   r3[1] -= m3 * s;\n   s = r0[2];\n   r1[2] -= m1 * s;\n   r2[2] -= m2 * s;\n   r3[2] -= m3 * s;\n   s = r0[3];\n   r1[3] -= m1 * s;\n   r2[3] -= m2 * s;\n   r3[3] -= m3 * s;\n   s = r0[4];\n   if (s != 0.0) {\n      r1[4] -= m1 * s;\n      r2[4] -= m2 * s;\n      r3[4] -= m3 * s;\n   }\n   s = r0[5];\n   if (s != 0.0) {\n      r1[5] -= m1 * s;\n      r2[5] -= m2 * s;\n      r3[5] -= m3 * s;\n   }\n   s = r0[6];\n   if (s != 0.0) {\n      r1[6] -= m1 * s;\n      r2[6] -= m2 * s;\n      r3[6] -= m3 * s;\n   }\n   s = r0[7];\n   if (s != 0.0) {\n      r1[7] -= m1 * s;\n      r2[7] -= m2 * s;\n      r3[7] -= m3 * s;\n   }\n   /* choose pivot - or die */\n   if (fabsf(r3[1]) > fabsf(r2[1]))\n      SWAP_ROWS_FLOAT(r3, r2);\n   if (fabsf(r2[1]) > fabsf(r1[1]))\n      SWAP_ROWS_FLOAT(r2, r1);\n   if (0.0 == r1[1])\n      return 0;\n   /* eliminate second variable */\n   m2 = r2[1] / r1[1];\n   m3 = r3[1] / r1[1];\n   r2[2] -= m2 * r1[2];\n   r3[2] -= m3 * r1[2];\n   r2[3] -= m2 * r1[3];\n   r3[3] -= m3 * r1[3];\n   s = r1[4];\n   if (0.0 != s) {\n      r2[4] -= m2 * s;\n      r3[4] -= m3 * s;\n   }\n   s = r1[5];\n   if (0.0 != s) {\n      r2[5] -= m2 * s;\n      r3[5] -= m3 * s;\n   }\n   s = r1[6];\n   if (0.0 != s) {\n      r2[6] -= m2 * s;\n      r3[6] -= m3 * s;\n   }\n   s = r1[7];\n   if (0.0 != s) {\n      r2[7] -= m2 * s;\n      r3[7] -= m3 * s;\n   }\n   /* choose pivot - or die */\n   if (fabsf(r3[2]) > fabsf(r2[2]))\n      SWAP_ROWS_FLOAT(r3, r2);\n   if (0.0 == r2[2])\n      return 0;\n   /* eliminate third variable */\n   m3 = r3[2] / r2[2];\n   r3[3] -= m3 * r2[3], r3[4] -= m3 * r2[4],\n      r3[5] -= m3 * r2[5], r3[6] -= m3 * r2[6], r3[7] -= m3 * r2[7];\n   /* last check */\n   if (0.0 == r3[3])\n      return 0;\n   s = 1.0f / r3[3];\t\t/* now back substitute row 3 */\n   r3[4] *= s;\n   r3[5] *= s;\n   r3[6] *= s;\n   r3[7] *= s;\n   m2 = r2[3];\t\t\t/* now back substitute row 2 */\n   s = 1.0f / r2[2];\n   r2[4] = s * (r2[4] - r3[4] * m2), r2[5] = s * (r2[5] - r3[5] * m2),\n      r2[6] = s * (r2[6] - r3[6] * m2), r2[7] = s * (r2[7] - r3[7] * m2);\n   m1 = r1[3];\n   r1[4] -= r3[4] * m1, r1[5] -= r3[5] * m1,\n      r1[6] -= r3[6] * m1, r1[7] -= r3[7] * m1;\n   m0 = r0[3];\n   r0[4] -= r3[4] * m0, r0[5] -= r3[5] * m0,\n      r0[6] -= r3[6] * m0, r0[7] -= r3[7] * m0;\n   m1 = r1[2];\t\t\t/* now back substitute row 1 */\n   s = 1.0f / r1[1];\n   r1[4] = s * (r1[4] - r2[4] * m1), r1[5] = s * (r1[5] - r2[5] * m1),\n      r1[6] = s * (r1[6] - r2[6] * m1), r1[7] = s * (r1[7] - r2[7] * m1);\n   m0 = r0[2];\n   r0[4] -= r2[4] * m0, r0[5] -= r2[5] * m0,\n      r0[6] -= r2[6] * m0, r0[7] -= r2[7] * m0;\n   m0 = r0[1];\t\t\t/* now back substitute row 0 */\n   s = 1.0f / r0[0];\n   r0[4] = s * (r0[4] - r1[4] * m0), r0[5] = s * (r0[5] - r1[5] * m0),\n      r0[6] = s * (r0[6] - r1[6] * m0), r0[7] = s * (r0[7] - r1[7] * m0);\n   MAT(out, 0, 0) = r0[4];\n   MAT(out, 0, 1) = r0[5], MAT(out, 0, 2) = r0[6];\n   MAT(out, 0, 3) = r0[7], MAT(out, 1, 0) = r1[4];\n   MAT(out, 1, 1) = r1[5], MAT(out, 1, 2) = r1[6];\n   MAT(out, 1, 3) = r1[7], MAT(out, 2, 0) = r2[4];\n   MAT(out, 2, 1) = r2[5], MAT(out, 2, 2) = r2[6];\n   MAT(out, 2, 3) = r2[7], MAT(out, 3, 0) = r3[4];\n   MAT(out, 3, 1) = r3[5], MAT(out, 3, 2) = r3[6];\n   MAT(out, 3, 3) = r3[7];\n   return 1;\n  }\n\n\n int Projectf(float objx, float objy, float objz, float *modelview, float *projection, int *viewport, float *windowCoordinate)\n  {\n      //Transformation vectors\n      float fTempo[8];\n      //Modelview transform\n      fTempo[0]=modelview[0]*objx+modelview[4]*objy+modelview[8]*objz+modelview[12];  //w is always 1\n      fTempo[1]=modelview[1]*objx+modelview[5]*objy+modelview[9]*objz+modelview[13];\n      fTempo[2]=modelview[2]*objx+modelview[6]*objy+modelview[10]*objz+modelview[14];\n      fTempo[3]=modelview[3]*objx+modelview[7]*objy+modelview[11]*objz+modelview[15];\n      //Projection transform, the final row of projection matrix is always [0 0 -1 0]\n      //so we optimize for that.\n      fTempo[4]=projection[0]*fTempo[0]+projection[4]*fTempo[1]+projection[8]*fTempo[2]+projection[12]*fTempo[3];\n      fTempo[5]=projection[1]*fTempo[0]+projection[5]*fTempo[1]+projection[9]*fTempo[2]+projection[13]*fTempo[3];\n      fTempo[6]=projection[2]*fTempo[0]+projection[6]*fTempo[1]+projection[10]*fTempo[2]+projection[14]*fTempo[3];\n      fTempo[7]=-fTempo[2];\n      //The result normalizes between -1 and 1\n      if(fTempo[7]==0.0)\t//The w value\n         return 0;\n      fTempo[7]=1.0f/fTempo[7];\n      //Perspective division\n      fTempo[4]*=fTempo[7];\n      fTempo[5]*=fTempo[7];\n      fTempo[6]*=fTempo[7];\n      //Window coordinates\n      //Map x, y to range 0-1\n      windowCoordinate[0]=(fTempo[4]*0.5f+0.5f)*viewport[2]+viewport[0];\n      windowCoordinate[1]=(fTempo[5]*0.5f+0.5f)*viewport[3]+viewport[1];\n      //This is only correct when glDepthRange(0.0, 1.0)\n      windowCoordinate[2]=(1.0f+fTempo[6])*0.5f;\t//Between 0 and 1\n      return 1;\n  }\n\n  int UnProjectf(float winx, float winy, float winz, float *modelview, float *projection, int *viewport, float *objectCoordinate)\n  {\n      //Transformation matrices\n      float m[16], A[16];\n      float in[4], out[4];\n      //Calculation for inverting a matrix, compute projection x modelview\n      //and store in A[16]\n      MultiplyMatrices4by4OpenGL_FLOAT(A, projection, modelview);\n      //Now compute the inverse of matrix A\n      if(glhInvertMatrixf2(A, m)==0)\n         return 0;\n      //Transformation of normalized coordinates between -1 and 1\n      in[0]=(winx-(float)viewport[0])/(float)viewport[2]*2.0f-1.0f;\n      in[1]=(winy-(float)viewport[1])/(float)viewport[3]*2.0f-1.0f;\n      in[2]=2.0f*winz-1.0f;\n      in[3]=1.0f;\n      //Objects coordinates\n      MultiplyMatrixByVector4by4OpenGL_FLOAT(out, m, in);\n      if(out[3]==0.0f)\n         return 0;\n      out[3]=1.0f/out[3];\n      objectCoordinate[0]=out[0]*out[3];\n      objectCoordinate[1]=out[1]*out[3];\n      objectCoordinate[2]=out[2]*out[3];\n      return 1;\n  }\n"
  },
  {
    "path": "demo/scenes/adhesion.h",
    "content": "\nclass Adhesion : public Scene\n{\npublic:\n\n\tAdhesion(const char* name) : Scene(name) {}\n\n\tvirtual void Initialize()\n\t{\n\t\tfloat radius = 0.1f;\n\n\t\tg_params.radius = radius;\n\n\t\tg_params.numIterations = 3;\n\t\tg_params.vorticityConfinement = 0.0f;\n\t\tg_params.fluidRestDistance = g_params.radius*0.55f;\n\t\tg_params.smoothing = 0.5f;\n\t\tg_params.relaxationFactor = 1.f;\n\t\tg_params.restitution = 0.0f;\n\t\tg_params.collisionDistance = 0.01f;\n\n\t\tg_fluidColor = Vec4(0.0f, 0.8f, 0.2f, 1.0f);\n\t\t//g_fluidColor = Vec4(0.7f, 0.6f, 0.6f, 0.2f);\n\n\t\tg_params.dynamicFriction = 0.5f;\n\t\tg_params.viscosity = 50.0f;\n\t\tg_params.adhesion = 0.5f;\n\t\tg_params.cohesion = 0.08f;\n\t\tg_params.surfaceTension = 0.0f;\n\n\t\tg_numExtraParticles = 64 * 1024;\n\n\t\tAddBox(Vec3(1.0f, 1.5f, 0.1f), Vec3(0.0f, 1.5f, 0.0f));\n\t\tAddBox(Vec3(1.0f, 0.1f, 6.0f), Vec3(-1.0f, 3.0f, 0.0f));\n\n\t\tg_emitters[0].mEnabled = true;\n\t\tg_emitters[0].mSpeed = (g_params.fluidRestDistance*2.f / g_dt);\n\n\t\tg_params.numPlanes = 3;\n\n\t\t// draw options\t\t\n\t\tg_drawEllipsoids = true;\n\n\t\tg_pause = false;\n\t}\n\n\tbool mViscous;\n};\n"
  },
  {
    "path": "demo/scenes/armadilloshower.h",
    "content": "\n\nclass ArmadilloShower : public Scene\n{\npublic:\n\n\tArmadilloShower(const char* name, bool viscous) : Scene(name), mViscous(viscous) {}\n\n\tvirtual void Initialize()\n\t{\n\t\tfloat minSize = 0.5f;\n\t\tfloat maxSize = 1.0f;\n\t\t\n\t\tfloat radius = 0.1f;\n\n\t\tfor (int i=0; i < 5; i++)\n\t\t\tAddRandomConvex(10, Vec3(i*2.0f, 0.0f, Randf(0.0f, 2.0f)), minSize, maxSize, Vec3(0.0f, 1.0f, 0.0f), Randf(0.0f, k2Pi*10.0f));\n\n\t\tg_params.radius = radius;\n\t\t\n\t\tg_params.numIterations = 3;\n\t\tg_params.vorticityConfinement = 0.0f;\n\t\tg_params.fluidRestDistance = g_params.radius*0.5f;\n\n\t\tif (mViscous)\n\t\t{\n\t\t\tg_fluidColor = Vec4(0.0f, 0.8f, 0.2f, 1.0f);\n\n\t\t\tg_params.dynamicFriction = 0.5f;\n\t\t\tg_params.viscosity = 10.85f;\n\t\t\tg_params.cohesion = 0.25f;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tg_params.dynamicFriction = 0.025f;\n\t\t\tg_params.viscosity = 0.05f;\n\t\t}\n\n\t\tg_numExtraParticles = 64*1024;\n\n\t\tg_diffuseScale = 1.0f;\n\n\t\tNvFlexDistanceFieldId sdf = CreateSDF(GetFilePathByPlatform(\"../../data/armadillo.ply\").c_str(), 128);\n\t\tAddSDF(sdf, Vec3(2.0f, 0.0f, -1.0f), Quat(), 2.0f);\n\n\t\tVec3 meshLower, meshUpper;\n\t\tg_mesh->GetBounds(meshLower, meshUpper);\n\n\t\tEmitter e1;\n\t\te1.mDir = Vec3(-1.0f, 0.0f, 0.0f);\n\t\te1.mRight = Vec3(0.0f, 0.0f, 1.0f);\n\t\te1.mPos = Vec3(-1.0f, 0.15f, 0.50f) +  meshLower + Vec3(meshUpper.x, meshUpper.y*0.75f, meshUpper.z*0.5f);\n\t\te1.mSpeed = (g_params.radius*0.5f/g_dt)*2.0f;\t// 2 particle layers per-frame\n\t\te1.mEnabled = true;\n\n\t\tEmitter e2;\n\t\te2.mDir = Vec3(1.0f, 0.0f, 0.0f);\n\t\te2.mRight = Vec3(0.0f, 0.0f, -1.0f);\n\t\te2.mPos = Vec3(-1.0f, 0.15f, 0.50f) + meshLower + Vec3(0.0f, meshUpper.y*0.75f, meshUpper.z*0.5f);\n\t\te2.mSpeed = (g_params.radius*0.5f/g_dt)*2.0f; // 2 particle layers per-frame\n\t\te2.mEnabled = true;\n\n\t\tg_emitters.push_back(e1);\n\t\tg_emitters.push_back(e2);\n\n\t\tg_emit = true;\n\n\t\t// draw options\t\t\n\t\tg_drawEllipsoids = true;\n\t}\n\n\tbool mViscous;\n};"
  },
  {
    "path": "demo/scenes/bananas.h",
    "content": "\n\nclass BananaPile : public Scene\n{\npublic:\n\n\tBananaPile(const char* name) : Scene(name)\n\t{\n\t}\n\n\tvirtual void Initialize()\n\t{\n\t\tfloat s = 1.0f;\n\n\t\tVec3 lower(0.0f, 1.0f + g_params.radius*0.25f, 0.0f);\n\n\t\tint dimx = 3;\n\t\tint dimy = 40;\n\t\tint dimz = 2;\n\n\t\tfloat radius = g_params.radius;\n\t\tint group = 0;\n\n\t\t// create a basic grid\n\t\tfor (int x = 0; x < dimx; ++x)\n\t\t{\n\t\t\tfor (int y = 0; y < dimy; ++y)\n\t\t\t{\n\t\t\t\tfor (int z = 0; z < dimz; ++z)\n\t\t\t\t{\n\t\t\t\t\tCreateParticleShape(GetFilePathByPlatform(\"../../data/banana.obj\").c_str(), lower + (s*1.1f)*Vec3(float(x), y*0.4f, float(z)), Vec3(s), 0.0f, radius*0.95f, Vec3(0.0f), 1.0f, true, 0.8f, NvFlexMakePhase(group++, 0), true, radius*0.1f, 0.0f, 0.0f, 1.25f*Vec4(0.875f, 0.782f, 0.051f, 1.0f));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tAddPlinth();\n\n\t\tg_numSubsteps = 3;\n\t\tg_params.numIterations = 2;\n\n\t\tg_params.radius *= 1.0f;\n\t\tg_params.dynamicFriction = 0.25f;\n\t\tg_params.dissipation = 0.03f;\n\t\tg_params.particleCollisionMargin = g_params.radius*0.05f;\n\t\tg_params.sleepThreshold = g_params.radius*0.2f;\n\t\tg_params.shockPropagation = 2.5f;\n\t\tg_params.restitution = 0.55f;\n\t\tg_params.damping = 0.25f;\n\n\t\t// draw options\n\t\tg_drawPoints = false;\n\n\t\tg_emitters[0].mEnabled = true;\n\t\tg_emitters[0].mSpeed = (g_params.radius*2.0f / g_dt);\n\t}\n\n\tvirtual void Update()\n\t{\n\t}\n};\n"
  },
  {
    "path": "demo/scenes/bouyancy.h",
    "content": "\n\n\nclass Buoyancy : public Scene\n{\npublic:\n\n\tBuoyancy(const char* name) : Scene(name) {}\n\n\tvirtual void Initialize()\n\t{\t\n\t\tfloat radius = 0.1f;\n\t\tfloat restDistance = radius*0.5f;\n\t\tint group = 0;\n\n\t\tint n = 3;\n\t\tfloat spacing = 64*restDistance*0.9f/(2.0f*n);\n\t\tfloat sampling = restDistance*0.8f;\n\t\tVec3 size = sampling*12.0f;\n\n\t\tconst float mass[] = {1.0f, 0.25f, 0.005f };\n\n\t\tfor (int j=0; j < 1; ++j)\n\t\t\tfor (int i=0; i < n; ++i)\n\t\t\t\tCreateParticleShape(GetFilePathByPlatform(\"../../data/sphere.ply\").c_str(), Vec3(spacing - 0.5f*size.x + i*spacing * 2, 2.0f + j*size.y*1.2f, 0.6f), size, 0.0f, sampling, Vec3(0.0f, 0.0f, 0.0f), mass[i], true, 1.0f, NvFlexMakePhase(group++, 0), true, 0.0001f);\n\t\t\t\t\n\t\tg_numSolidParticles = g_buffers->positions.size();\t\n\n\t\tint x = 64;\n\t\tint y = 20;\n\t\tint z = 32;\n\n\t\tCreateParticleGrid(Vec3(0.0f), x, y, z, restDistance*0.9f, Vec3(0.0f), 1.0f, false, 0.0f, NvFlexMakePhase(group++, eNvFlexPhaseSelfCollide | eNvFlexPhaseFluid));\n\n\t\tg_params.radius = radius;\n\t\tg_params.dynamicFriction = 0.1f;\n\t\tg_params.viscosity = 2.0f;\n\t\tg_params.numIterations = 4;\n\t\tg_params.vorticityConfinement = 180.f;\n\t\tg_params.fluidRestDistance = restDistance;\n\t\tg_params.numPlanes = 5;\n\t\tg_params.cohesion = 0.001625f;\n\t\tg_params.collisionDistance = restDistance;\n\t\tg_params.solidPressure = 0.1f;\n\t\tg_params.restitution = 0.0f;\n\t\tg_params.relaxationFactor = 1.0f;\n\t\tg_params.relaxationMode = eNvFlexRelaxationLocal;\n\n\t\tg_numSubsteps = 2;\n\n\t\tg_maxDiffuseParticles = 64*1024;\n\t\tg_diffuseScale = 0.25f;\t\t\n\t\tg_diffuseShadow = false;\n\t\tg_diffuseColor = 1.5f;\n\t\tg_diffuseMotionScale = 1.5f;\n\t\tg_params.diffuseBallistic = 35;\n\t\tg_params.diffuseThreshold *= 0.1f;\n\t\t\n\t\tg_drawPlaneBias = g_params.collisionDistance*1.5f;\n\n\t\tg_lightDistance *= 0.65f;\n\t\t\n\t\tg_fluidColor = Vec4(0.2f, 0.6f, 0.9f, 1.0f);\n\n\t\t// draw options\n\t\tg_drawDensity = true;\n\t\tg_drawDiffuse = true;\n\t\tg_drawEllipsoids = true;\n\t\tg_drawPoints = false;\n\n\t\tg_warmup = true;\n\t}\n\n};\n"
  },
  {
    "path": "demo/scenes/bunnybath.h",
    "content": "\nclass BunnyBath : public Scene\n{\npublic:\n\n\tBunnyBath(const char* name, bool dam) : Scene(name), mDam(dam) {}\n\n\tvoid Initialize()\n\t{\n\t\tfloat radius = 0.1f;\n\n\t\t// deforming bunny\n\t\tfloat s = radius*0.5f;\n\t\tfloat m = 0.25f;\n\t\tint group = 1;\n\n\t\tCreateParticleShape(GetFilePathByPlatform(\"../../data/bunny.ply\").c_str(), Vec3(4.0f, 0.0f, 0.0f), 0.5f, 0.0f, s, Vec3(0.0f, 0.0f, 0.0f), m, true, 1.0f, NvFlexMakePhase(group++, 0), true, 0.0f);\n\t\tCreateParticleShape(GetFilePathByPlatform(\"../../data/box.ply\").c_str(), Vec3(4.0f, 0.0f, 1.0f), 0.45f, 0.0f, s, Vec3(0.0f, 0.0f, 0.0f), m, true, 1.0f, NvFlexMakePhase(group++, 0), true, 0.0f);\n\t\tCreateParticleShape(GetFilePathByPlatform(\"../../data/bunny.ply\").c_str(), Vec3(3.0f, 0.0f, 0.0f), 0.5f, 0.0f, s, Vec3(0.0f, 0.0f, 0.0f), m, true, 1.0f, NvFlexMakePhase(group++, 0), true, 0.0f);\n\t\tCreateParticleShape(GetFilePathByPlatform(\"../../data/sphere.ply\").c_str(), Vec3(3.0f, 0.0f, 1.0f), 0.45f, 0.0f, s, Vec3(0.0f, 0.0f, 0.0f), m, true, 1.0f, NvFlexMakePhase(group++, 0), true, 0.0f);\n\t\tCreateParticleShape(GetFilePathByPlatform(\"../../data/bunny.ply\").c_str(), Vec3(2.0f, 0.0f, 1.0f), 0.5f, 0.0f, s, Vec3(0.0f, 0.0f, 0.0f), m, true, 1.0f, NvFlexMakePhase(group++, 0), true, 0.0f);\n\t\tCreateParticleShape(GetFilePathByPlatform(\"../../data/box.ply\").c_str(), Vec3(2.0f, 0.0f, 0.0f), 0.45f, 0.0f, s, Vec3(0.0f, 0.0f, 0.0f), m, true, 1.0f, NvFlexMakePhase(group++, 0), true, 0.0f);\n\n\t\tg_numSolidParticles = g_buffers->positions.size();\t\t\n\n\t\tfloat restDistance = radius*0.55f;\n\n\t\tif (mDam)\n\t\t{\n\t\t\tCreateParticleGrid(Vec3(0.0f, 0.0f, 0.6f), 24, 48, 24, restDistance, Vec3(0.0f), 1.0f, false, 0.0f, NvFlexMakePhase(0, eNvFlexPhaseSelfCollide | eNvFlexPhaseFluid), 0.005f);\n\t\t\tg_lightDistance *= 0.5f;\n\t\t}\n\n\t\tg_sceneLower = Vec3(0.0f);\n\n\t\tg_numSubsteps = 2;\n\n\t\tg_params.radius = radius;\n\t\tg_params.dynamicFriction = 0.01f; \n\t\tg_params.viscosity = 2.0f;\n\t\tg_params.numIterations = 4;\n\t\tg_params.vorticityConfinement = 40.0f;\n\t\tg_params.fluidRestDistance = restDistance;\n\t\tg_params.solidPressure = 0.f;\n\t\tg_params.relaxationFactor = 0.0f;\n\t\tg_params.cohesion = 0.02f;\n\t\tg_params.collisionDistance = 0.01f;\t\t\n\n\t\tg_maxDiffuseParticles = 64*1024;\n\t\tg_diffuseScale = 0.5f;\n\n\t\tg_fluidColor = Vec4(0.113f, 0.425f, 0.55f, 1.f);\n\n\t\tEmitter e1;\n\t\te1.mDir = Vec3(1.0f, 0.0f, 0.0f);\n\t\te1.mRight = Vec3(0.0f, 0.0f, -1.0f);\n\t\te1.mPos = Vec3(radius, 1.f, 0.65f);\n\t\te1.mSpeed = (restDistance/g_dt)*2.0f; // 2 particle layers per-frame\n\t\te1.mEnabled = true;\n\n\t\tg_emitters.push_back(e1);\n\n\t\tg_numExtraParticles = 48*1024;\n\n\t\tg_lightDistance = 1.8f;\n\n\t\tg_params.numPlanes = 5;\n\n\t\tg_waveFloorTilt = 0.0f;\n\t\tg_waveFrequency = 1.5f;\n\t\tg_waveAmplitude = 2.0f;\n\t\t\n\t\tg_warmup = true;\n\n\t\t// draw options\t\t\n\t\tg_drawPoints = false;\n\t\tg_drawEllipsoids = true;\n\t\tg_drawDiffuse = true;\n\t}\n\n\tbool mDam;\n};\n"
  },
  {
    "path": "demo/scenes/ccdfluid.h",
    "content": "\nclass CCDFluid : public Scene\n{\npublic:\n\n\tCCDFluid (const char* name) : Scene(name) {}\n\n\tvoid Initialize()\n\t{\n\t\tconst float radius = 0.05f;\n\t\tconst float restDistance = radius*0.6f;\n\n\t\tint dx = int(ceilf(1.f / restDistance));\n\t\tint dy = int(ceilf(1.f / restDistance));\n\t\tint dz = int(ceilf(1.f / restDistance));\n\n\t\tCreateParticleGrid(Vec3(0.0f, 1.0f, 0.0f), dx, dy, dz, restDistance, Vec3(0.0f), 1.0f, false, 0.0f, NvFlexMakePhase(0, eNvFlexPhaseSelfCollide | eNvFlexPhaseFluid), restDistance*0.01f);\n\n\t\tVec3 lower, upper;\n\t\tGetParticleBounds(lower, upper);\n\n\t\tVec3 center = (lower+upper)*0.5f;\n\n\t\t//Mesh* shape = ImportMesh(\"../../data/box.ply\");\n\t\t//shape->Transform(ScaleMatrix(Vec3(2.0f)));\n\n\t\tMesh* shape = ImportMesh(\"../../data/torus.obj\");\n\t\tshape->Transform(ScaleMatrix(Vec3(0.7f)));\n\t\t\n\t\t//Mesh* box = ImportMesh(\"../../data/sphere.ply\");\n\t\t//box->Transform(TranslationMatrix(Point3(0.0f, 0.1f, 0.0f))*ScaleMatrix(Vec3(1.5f)));\n\n\t\t// invert box faces\n\t\tfor (int i=0; i < int(shape->GetNumFaces()); ++i)\n\t\t\tswap(shape->m_indices[i*3+0], shape->m_indices[i*3+1]);\t\t\n\n\t\tshape->CalculateNormals();\n\n\t\t// shift into torus interior\n\t\tfor (int i=0; i < g_buffers->positions.size(); ++i)\n\t\t\t(Vec3&)(g_buffers->positions[i]) -= Vec3(2.1f, 0.0f, 0.0f);\n\n\t\tmesh = CreateTriangleMesh(shape);\n\t\tAddTriangleMesh(mesh, Vec3(center), Quat(), 1.0f);\n\n\t\t// initialize our moving frame to the center of the box\n\t\tnewOffset = g_buffers->shapePositions[0].x;\n\t\tnewRotation = 0.0f;\n\t\trotationSpeed = 0.0f;\n\n\t\tg_numSubsteps = 2;\n\n\t\tg_params.radius = radius;\n\t\tg_params.fluidRestDistance = restDistance;\n\t\tg_params.dynamicFriction = 0.1f;\n\t\tg_params.restitution = 0.0f;\n\t\tg_params.shapeCollisionMargin = 0.05f;\n\t\t//g_params.maxAcceleration = 50.0f;\n\t\tg_params.maxSpeed = g_numSubsteps*restDistance/g_dt;\n\t\tg_params.collisionDistance = restDistance;\n\t\t//g_params.shapeCollisionMargin = 0.0001f;\n\n\t\tg_params.numIterations = 3;\n\t\t//g_params.relaxationFactor = 0.5f;\n\n\t\tg_params.smoothing = 0.4f;\n\n\t\tg_params.viscosity = 0.001f;\n\t\tg_params.cohesion = 0.05f;\n\t\tg_params.surfaceTension = 0.0f;\n\t\t\n\t\t// draw options\t\t\n\t\tg_drawPoints = true;\n\t\tg_drawEllipsoids = false;\n\t\tg_drawDiffuse = true;\n\t}\n\n\tvirtual void DoGui() \n\t{\n\t\timguiSlider(\"Linear\", &newOffset, 0.0f, 2.0f, 0.0001f);\n\t\timguiSlider(\"Rotation\", &rotationSpeed, 0.0f, 10.0f, 0.1f);\n\t}\n\n\tvirtual void Update()\n\t{\n\t\tg_buffers->shapePrevPositions[0].x = g_buffers->shapePositions[0].x;\n\t\tg_buffers->shapePositions[0].x = newOffset;\n\t\t\n\t\tnewRotation += rotationSpeed*g_dt;\n\n\t\tg_buffers->shapePrevRotations[0] = g_buffers->shapeRotations[0];\n\t\tg_buffers->shapeRotations[0] = QuatFromAxisAngle(Vec3(0.0f, 1.0f, 0.0f), newRotation);\n\n\t\t// update previous transform of the disc\n\t\tUpdateShapes();\n\t}\n\n\tfloat newOffset;\n\tfloat newRotation;\n\n\tfloat rotationSpeed;\n\n\tNvFlexTriangleMeshId mesh;\n};\n\t\t"
  },
  {
    "path": "demo/scenes/clothlayers.h",
    "content": "\n\nclass ClothLayers : public Scene\n{\npublic:\n\n\tClothLayers(const char* name) :\n\t\tScene(name) {}\n\n\tvirtual void Initialize()\n\t{\n\n\t\tfloat stretchStiffness = 1.0f;\n\t\tfloat bendStiffness = 0.8f;\n\t\tfloat shearStiffness = 0.5f;\n\n\t\tint dimx = 64;\n\t\tint dimz = 64;\n\t\tfloat radius = 0.05f;\n\t\tint phase = NvFlexMakePhase(0, eNvFlexPhaseSelfCollide);\n\n#if 1\n\t\tCreateSpringGrid(Vec3(-0.6f, 2.9f, -0.6f), dimx, dimz, 1, radius, phase, stretchStiffness, bendStiffness, shearStiffness, 0.0f, 1.0f);\n\t\tCreateSpringGrid(Vec3(-0.6f, 2.6f, -0.6f), dimx, dimz, 1, radius, phase, stretchStiffness, bendStiffness, shearStiffness, 0.0f, 1.0f);\n\t\tCreateSpringGrid(Vec3(-0.6f, 2.3f, -0.6f), dimx, dimz, 1, radius, phase, stretchStiffness, bendStiffness, shearStiffness, 0.0f, 1.0f);\n\t\tCreateSpringGrid(Vec3(-0.6f, 2.0f, -0.6f), dimx, dimz, 1, radius, phase, stretchStiffness, bendStiffness, shearStiffness, 0.0f, 1.0f);\n\n\t\tVec3 lower, upper;\n\t\tGetParticleBounds(lower, upper);\n\n\t\tMesh* sphere = ImportMesh(GetFilePathByPlatform(\"../../data/sphere.ply\").c_str());\n\t\tsphere->Normalize();\n\n\t\tNvFlexTriangleMeshId mesh = CreateTriangleMesh(sphere);\n\t\tAddTriangleMesh(mesh, Vec3(), Quat(), 2.0f);\n\n\t\tdelete sphere;\n#else\n\t\t// This scene can cause the cloth to bounce\n\t\t// Might need to run it a few times to repro\n\t\tCreateSpringGrid(Vec3(-0.6f, 2.9f, -0.6f), dimx, dimz, 1, radius, phase, stretchStiffness, bendStiffness, shearStiffness, 0.0f, 1.0f);\n\n\t\tVec3 lower, upper;\n\t\tGetParticleBounds(lower, upper);\n\n\t\tMesh* disc = CreateDiscMesh(2.0f, 300);\n\t\tdisc->m_positions[0].y -= 0.25f;\n\t\tdisc->CalculateNormals();\n\t\tNvFlexTriangleMeshId mesh = CreateTriangleMesh(disc);\n\t\tAddTriangleMesh(mesh, Vec3(0.0f, 2.88f, 1.0f), Quat(), 1.0f);\n\t\tdelete disc;\n\n\t\tMesh* disc1 = CreateDiscMesh(2.0f, 250);\n\t\tdisc1->m_positions[0].y -= 0.25f;\n\t\tdisc1->CalculateNormals();\n\t\tNvFlexTriangleMeshId mesh1 = CreateTriangleMesh(disc1);\n\t\tAddTriangleMesh(mesh1, Vec3(1.0f, 1.5f, 0.0f), Quat(), 1.0f);\n\t\tdelete disc1;\n#endif\n\n\t\tg_params.radius = radius*1.0f;\n\t\tg_params.dynamicFriction = 0.1625f;\n\t\tg_params.dissipation = 0.0f;\n\t\tg_params.numIterations = 8;\n\t\tg_params.viscosity = 0.0f;\n\t\tg_params.drag = 0.05f;\n\t\tg_params.collisionDistance = radius;\n\t\tg_params.shapeCollisionMargin = radius*0.1f;\n\t\tg_params.relaxationFactor = 1.3f;\n\n\t\tg_numSubsteps = 3;\n\n\n\t\tg_windStrength = 0.0f;\n\n\t\t// draw options\n\t\tg_drawPoints = true;\n\t\tg_drawSprings = false;\n\t}\n};\n\n"
  },
  {
    "path": "demo/scenes/dambreak.h",
    "content": "\n\nclass DamBreak : public Scene\n{\npublic:\n\n\tDamBreak(const char* name, float radius) : Scene(name), mRadius(radius) {}\n\n\tvirtual void Initialize()\n\t{\n\t\tconst float radius = mRadius;\n\t\tconst float restDistance = mRadius*0.65f;\n\n\t\tint dx = int(ceilf(1.0f / restDistance));\n\t\tint dy = int(ceilf(2.0f / restDistance));\n\t\tint dz = int(ceilf(1.0f / restDistance));\n\n\t\tCreateParticleGrid(Vec3(0.0f, restDistance, 0.0f), dx, dy, dz, restDistance, Vec3(0.0f), 1.0f, false, 0.0f, NvFlexMakePhase(0, eNvFlexPhaseSelfCollide | eNvFlexPhaseFluid), restDistance*0.01f);\n\n\t\tg_sceneLower = Vec3(0.0f, 0.0f, -0.5f);\n\t\tg_sceneUpper = Vec3(3.0f, 0.0f, -0.5f);\n\n\t\tg_numSubsteps = 2;\n\n\t\tg_params.radius = radius;\n\t\tg_params.fluidRestDistance = restDistance;\n\t\tg_params.dynamicFriction = 0.f;\n\t\tg_params.restitution = 0.001f;\n\n\t\tg_params.numIterations = 3;\n\t\tg_params.relaxationFactor = 1.0f;\n\n\t\tg_params.smoothing = 0.4f;\n\t\t\n\t\tg_params.viscosity = 0.001f;\n\t\tg_params.cohesion = 0.1f;\n\t\tg_params.vorticityConfinement = 80.0f;\n\t\tg_params.surfaceTension = 0.0f;\n\n\t\tg_params.numPlanes = 5;\n\n\t\t// limit velocity to CFL condition\n\t\tg_params.maxSpeed = 0.5f*radius*g_numSubsteps / g_dt;\n\n\t\tg_maxDiffuseParticles = 0;\n\n\t\tg_fluidColor = Vec4(0.113f, 0.425f, 0.55f, 1.0f);\n\n\t\tg_waveFrequency = 1.0f;\n\t\tg_waveAmplitude = 2.0f;\n\t\tg_waveFloorTilt = 0.0f;\n\n\t\t// draw options\t\t\n\t\tg_drawPoints = true;\n\t\tg_drawEllipsoids = false;\n\t\tg_drawDiffuse = true;\n\t}\n\n\tfloat mRadius;\n};\n"
  },
  {
    "path": "demo/scenes/darts.h",
    "content": "\nclass Darts : public Scene\n{\npublic:\n\n\tDarts(const char* name) : Scene(name) {}\n\n\tvoid Initialize()\n\t{\n\t\tfloat radius = 0.1f;\n\t\tint phase = NvFlexMakePhase(0, 0);\n\n\t\tif (1)\n\t\t{\n\t\t\tVec3 v = Vec3(10.0f, 0.0f, 0.0f);\n\n\t\t\tfloat y = 8.0f;\n\n\t\t\tg_buffers->positions.push_back(Vec4(0.0f, y, 0.0f, 1.0f));\n\t\t\tg_buffers->velocities.push_back(v);\n\t\t\tg_buffers->phases.push_back(phase);\n\n\t\t\tg_buffers->positions.push_back(Vec4(-1.0f, y, -0.5f, 0.9f));\n\t\t\tg_buffers->velocities.push_back(v);\n\t\t\tg_buffers->phases.push_back(phase);\n\n\t\t\tg_buffers->positions.push_back(Vec4(-1.0f, y, 0.5f, 0.9f));\n\t\t\tg_buffers->velocities.push_back(v);\n\t\t\tg_buffers->phases.push_back(phase);\n\n\t\t\tg_buffers->triangles.push_back(0);\n\t\t\tg_buffers->triangles.push_back(1);\n\t\t\tg_buffers->triangles.push_back(2);\n\t\t\tg_buffers->triangleNormals.push_back(0.0f);\n\n\t\t\tCreateSpring(0, 1, 1.0f);\n\t\t\tCreateSpring(1, 2, 1.0f);\n\t\t\tCreateSpring(2, 0, 1.0f);\n\n\t\t\tg_buffers->positions[0].y -= radius*2.5f;\n\t\t\t//g_buffers->positions[0].x = 1.0f;\n\t\t\t//g_buffers->positions[1].y += radius;\n\t\t}\n\n\t\tg_params.drag = 0.01f;\n\t\tg_params.lift = 0.1f;\n\t\tg_params.dynamicFriction = 0.25f;\n\t\t//g_params.gravity[1] = 0.0f;\n\n\t\tg_drawPoints = false;\n\t}\n\n\tvoid Update()\n\t{\n\t\tg_params.wind[0] = 0.0f;\n\t\tg_params.wind[1] = 0.0f;\n\t\tg_params.wind[2] = 0.0f;\n\t}\n};\n"
  },
  {
    "path": "demo/scenes/debris.h",
    "content": "\nclass RigidDebris : public Scene\n{\npublic:\n\n\tRigidDebris(const char* name) : Scene(name) {}\n\n\tstruct Instance\n\t{\n\t\tVec3 mTranslation;\n\t\tQuat mRotation;\n\t\tfloat mLifetime;\n\n\t\tint mGroup;\n\t\tint mParticleOffset;\n\n\t\tint mMeshIndex;\n\t};\n\n\tstruct MeshBatch\n\t{\n\t\tGpuMesh* mMesh;\n\t\tNvFlexExtAsset* mAsset;\n\n\t\tstd::vector<Matrix44> mInstanceTransforms;\n\t};\n\n\tstruct MeshAsset\n\t{\n\t\tconst char* file;\n\t\tfloat scale;\n\t};\n\n\tvoid Initialize()\n\t{\n\t\tfloat radius = 0.1f;\n\n\t\tconst int numMeshes = 8;\n\t\tMeshAsset meshes[numMeshes] =\n\t\t{\n\t\t\t{ \"../../data/rocka.ply\", 0.2f },\n\t\t\t{ \"../../data/box.ply\", 0.1f },\n\t\t\t{ \"../../data/torus.obj\", 0.3f },\n\t\t\t{ \"../../data/rockd.ply\", 0.2f },\n\t\t\t{ \"../../data/banana.obj\", 0.3f },\n\t\t\t{ \"../../data/rocka.ply\", 0.2f },\n\t\t\t{ \"../../data/box.ply\", 0.1f },\n\t\t\t{ \"../../data/rockd.ply\", 0.2f },\n\t\t\t//\"../../data/rockf.ply\"\n\t\t};\n\n\t\tfor (int i = 0; i < numMeshes; ++i)\n\t\t{\n\t\t\tMesh* mesh = ImportMesh(GetFilePathByPlatform(meshes[i].file).c_str());\n\t\t\tmesh->Normalize(meshes[i].scale);\n\n\t\t\tconst float spacing = radius*0.5f;\n\n\t\t\tMeshBatch b;\n\t\t\tb.mAsset = NvFlexExtCreateRigidFromMesh((float*)&mesh->m_positions[0], int(mesh->m_positions.size()), (int*)&mesh->m_indices[0], mesh->m_indices.size(), spacing, -spacing*0.5f);\n\t\t\tb.mMesh = CreateGpuMesh(mesh);\n\n\t\t\tmBatches.push_back(b);\n\t\t}\n\n\t\tMesh* level = ImportMeshFromBin(GetFilePathByPlatform(\"../../data/testzone.bin\").c_str());\n\t\tlevel->Transform(TranslationMatrix(Point3(-10.0f, 0.0f, 10.0f)));\n\n\t\tNvFlexTriangleMeshId mesh = CreateTriangleMesh(level);\n\t\tAddTriangleMesh(mesh, Vec3(), Quat(), 1.0f);\n\n\t\tdelete level;\n\n\t\tg_params.radius = radius;\n\t\tg_params.dynamicFriction = 0.6f;\n\t\tg_params.staticFriction = 0.35f;\n\t\tg_params.particleFriction = 0.25f;\n\t\tg_params.dissipation = 0.0f;\n\t\tg_params.numIterations = 4;\n\t\tg_params.viscosity = 0.0f;\n\t\tg_params.drag = 0.0f;\n\t\tg_params.lift = 0.0f;\n\t\tg_params.numPlanes = 0;\n\t\tg_params.collisionDistance = radius*0.5f;\n\t\tg_params.particleCollisionMargin = radius*0.25f;\n\n\t\tg_numExtraParticles = 32000;\n\n\t\tg_drawPoints = false;\n\n\t\tg_numSubsteps = 2;\n\n\t\tg_lightDistance *= 3.0f;\n\n\t\tmAttractForce = 0.0f;\n\n\t\tmGroupCounter = 0;\n\t\tmInstances.resize(0);\n\t}\n\n\tvoid Update()\n\t{\n\t\t// copy transforms out\n\t\tfor (int i = 0; i < int(mInstances.size()); ++i)\n\t\t{\n\t\t\tmInstances[i].mTranslation = g_buffers->rigidTranslations[i];\n\t\t\tmInstances[i].mRotation = g_buffers->rigidRotations[i];\n\t\t}\n\n\t\tif (g_emit)\n\t\t{\n\t\t\t// emit new debris\n\t\t\tint numToEmit = 1;//Rand()%8;\n\n\t\t\tint particleOffset = NvFlexGetActiveCount(g_solver);\n\n\t\t\tfor (int i = 0; i < numToEmit; ++i)\n\t\t\t{\n\t\t\t\t// choose a random mesh to emit\n\t\t\t\tconst int meshIndex = Rand() % mBatches.size();\n\n\t\t\t\tNvFlexExtAsset* asset = mBatches[meshIndex].mAsset;\n\n\t\t\t\t// check we can fit in the container\n\t\t\t\tif (int(g_buffers->positions.size()) - particleOffset < asset->numParticles)\n\t\t\t\t\tbreak;\n\n\t\t\t\tInstance inst;\n\t\t\t\tinst.mLifetime = 1000.0f;// Randf(5.0f, 60.0f);\n\t\t\t\tinst.mParticleOffset = particleOffset;\n\t\t\t\tinst.mRotation = QuatFromAxisAngle(UniformSampleSphere(), Randf()*k2Pi);\n\n\t\t\t\tfloat spread = 0.2f;\n\t\t\t\tinst.mTranslation = g_emitters[0].mPos + Vec3(Randf(-spread, spread), Randf(-spread, spread), 0.0f);\n\t\t\t\tinst.mMeshIndex = meshIndex;\n\n\t\t\t\tVec3 linearVelocity = g_emitters[0].mDir*15.0f;//*Randf(5.0f, 10.0f);//Vec3(Randf(0.0f, 10.0f), 0.0f, 0.0f);\n\t\t\t\tVec3 angularVelocity = Vec3(UniformSampleSphere()*Randf()*k2Pi);\n\n\t\t\t\tinst.mGroup = mGroupCounter++;\n\n\t\t\t\tconst int phase = NvFlexMakePhase(inst.mGroup, 0);\n\n\t\t\t\t// generate initial particle positions\n\t\t\t\tfor (int j = 0; j < asset->numParticles; ++j)\n\t\t\t\t{\n\t\t\t\t\tVec3 localPos = Vec3(&asset->particles[j * 4]) - Vec3(&asset->shapeCenters[0]);\n\n\t\t\t\t\tg_buffers->positions[inst.mParticleOffset + j] = Vec4(inst.mTranslation + inst.mRotation*localPos, 1.0f);\n\t\t\t\t\tg_buffers->velocities[inst.mParticleOffset + j] = linearVelocity + Cross(angularVelocity, localPos);\n\t\t\t\t\tg_buffers->phases[inst.mParticleOffset + j] = phase;\n\t\t\t\t}\n\n\t\t\t\tparticleOffset += asset->numParticles;\n\n\t\t\t\tmInstances.push_back(inst);\n\t\t\t}\n\t\t}\n\n\t\t// destroy old debris pieces\n\t\tfor (int i = 0; i < int(mInstances.size());)\n\t\t{\n\t\t\tInstance& inst = mInstances[i];\n\n\t\t\tinst.mLifetime -= g_dt;\n\n\t\t\tif (inst.mLifetime <= 0.0f)\n\t\t\t{\n\t\t\t\tinst = mInstances.back();\n\t\t\t\tmInstances.pop_back();\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\t++i;\n\t\t\t}\n\t\t}\n\n\t\t// compact instances \n\t\tstatic std::vector<Vec4> particles(g_buffers->positions.size());\n\t\tstatic std::vector<Vec3> velocities(g_buffers->velocities.size());\n\t\tstatic std::vector<int> phases(g_buffers->phases.size());\n\n\t\tg_buffers->rigidTranslations.resize(0);\n\t\tg_buffers->rigidRotations.resize(0);\n\t\tg_buffers->rigidCoefficients.resize(0);\n\t\tg_buffers->rigidIndices.resize(0);\n\t\tg_buffers->rigidLocalPositions.resize(0);\n\t\tg_buffers->rigidOffsets.resize(0);\n\n\t\t// start index\n\t\tg_buffers->rigidOffsets.push_back(0);\n\n\t\t// clear mesh batches\n\t\tfor (int i = 0; i < int(mBatches.size()); ++i)\n\t\t\tmBatches[i].mInstanceTransforms.resize(0);\n\n\t\tnumActive = 0;\n\n\t\tfor (int i = 0; i < int(mInstances.size()); ++i)\n\t\t{\n\t\t\tInstance& inst = mInstances[i];\n\n\t\t\tNvFlexExtAsset* asset = mBatches[inst.mMeshIndex].mAsset;\n\n\t\t\tfor (int j = 0; j < asset->numParticles; ++j)\n\t\t\t{\n\t\t\t\tparticles[numActive + j] = g_buffers->positions[inst.mParticleOffset + j];\n\t\t\t\tvelocities[numActive + j] = g_buffers->velocities[inst.mParticleOffset + j];\n\t\t\t\tphases[numActive + j] = g_buffers->phases[inst.mParticleOffset + j];\n\t\t\t}\n\n\t\t\tg_buffers->rigidCoefficients.push_back(1.0f);\n\t\t\tg_buffers->rigidTranslations.push_back(inst.mTranslation);\n\t\t\tg_buffers->rigidRotations.push_back(inst.mRotation);\n\n\t\t\tfor (int j = 0; j < asset->numShapeIndices; ++j)\n\t\t\t{\n\t\t\t\tg_buffers->rigidLocalPositions.push_back(Vec3(&asset->particles[j * 4]) - Vec3(&asset->shapeCenters[0]));\n\t\t\t\tg_buffers->rigidIndices.push_back(asset->shapeIndices[j] + numActive);\n\t\t\t}\n\n\t\t\tg_buffers->rigidOffsets.push_back(g_buffers->rigidIndices.size());\n\n\t\t\tmInstances[i].mParticleOffset = numActive;\n\n\t\t\t// Draw transform\n\t\t\tMatrix44 xform = TranslationMatrix(Point3(inst.mTranslation - inst.mRotation*Vec3(asset->shapeCenters)))*RotationMatrix(inst.mRotation);\n\t\t\tmBatches[inst.mMeshIndex].mInstanceTransforms.push_back(xform);\n\n\t\t\tnumActive += asset->numParticles;\n\t\t}\n\n\t\t// update particle buffers\n\t\tg_buffers->positions.assign(&particles[0], particles.size());\n\t\tg_buffers->velocities.assign(&velocities[0], velocities.size());\n\t\tg_buffers->phases.assign(&phases[0], phases.size());\n\n\t\t// rebuild active indices\n\t\tg_buffers->activeIndices.resize(numActive);\n\t\tfor (int i = 0; i < numActive; ++i)\n\t\t\tg_buffers->activeIndices[i] = i;\n\n\t\tif (mAttractForce != 0.0f)\n\t\t{\n\t\t\tconst Vec3 forward(-sinf(g_camAngle.x)*cosf(g_camAngle.y), sinf(g_camAngle.y), -cosf(g_camAngle.x)*cosf(g_camAngle.y));\n\n\t\t\tVec3 attractPos = g_camPos + forward*5.0f;\n\t\t\tfloat invRadius = 1.0f / 5.0f;\n\n\t\t\tfor (int i = 0; i < int(g_buffers->velocities.size()); ++i)\n\t\t\t{\n\t\t\t\tVec3 dir = Vec3(g_buffers->positions[i]) - attractPos;\n\t\t\t\tfloat d = Length(dir);\n\n\t\t\t\tg_buffers->velocities[i] += Normalize(dir)*Randf(0.0, 1.0f)*mAttractForce*Max(0.0f, 1.0f - d*invRadius);\n\t\t\t}\n\t\t}\n\t}\n\n\tvirtual void PostInitialize()\n\t{\n\t\tg_sceneLower = Vec3(-5.0f, 0.0f, 0.0f);\n\t\tg_sceneUpper = g_sceneLower + Vec3(10.0f, 10.0f, 5.0f);\n\t}\n\n\tvirtual void Sync()\n\t{\n\t\tNvFlexSetRigids(g_solver, g_buffers->rigidOffsets.buffer, g_buffers->rigidIndices.buffer, g_buffers->rigidLocalPositions.buffer, g_buffers->rigidLocalNormals.buffer, g_buffers->rigidCoefficients.buffer, g_buffers->rigidPlasticThresholds.buffer, g_buffers->rigidPlasticCreeps.buffer,   g_buffers->rigidRotations.buffer, g_buffers->rigidTranslations.buffer, g_buffers->rigidOffsets.size() - 1, g_buffers->rigidIndices.size());\n\t}\n\n\tvirtual void KeyDown(int key)\n\t{\n\t\tif (key == 'B')\n\t\t{\n\t\t\tfloat bombStrength = 10.0f;\n\n\t\t\tVec3 bombPos = g_emitters[0].mPos + g_emitters[0].mDir*5.0f;\n\t\t\tbombPos.y -= 5.0f;\n\n\t\t\tfor (int i = 0; i < int(g_buffers->velocities.size()); ++i)\n\t\t\t{\n\t\t\t\tVec3 dir = Vec3(g_buffers->positions[i]) - bombPos;\n\n\t\t\t\tg_buffers->velocities[i] += Normalize(dir)*bombStrength*Randf(0.0, 1.0f);\n\t\t\t}\n\t\t}\n\n\t\tif (key == 'V')\n\t\t{\n\t\t\tif (mAttractForce == 0.0f)\n\t\t\t\tmAttractForce = -1.5f;\n\t\t\telse\n\t\t\t\tmAttractForce = 0.0f;\n\t\t}\n\t}\n\n\tvoid Draw(int pass)\n\t{\n\t\tif (!g_drawMesh)\n\t\t\treturn;\n\n\t\tfor (int b = 0; b < int(mBatches.size()); ++b)\n\t\t{\n\t\t\tif (mBatches[b].mInstanceTransforms.size())\n\t\t\t{\n\t\t\t\tDrawGpuMeshInstances(mBatches[b].mMesh, &mBatches[b].mInstanceTransforms[0], mBatches[b].mInstanceTransforms.size(), Vec3(g_colors[b % 8]));\n\t\t\t}\n\t\t}\n\t}\n\n\tfloat mAttractForce;\n\n\tstd::vector<MeshBatch> mBatches;\n\tint numActive;\n\n\tint mGroupCounter;\n\tstd::vector<Instance> mInstances;\n};\n"
  },
  {
    "path": "demo/scenes/deformables.h",
    "content": "\n\nclass Deformables : public Scene\n{\npublic:\n\n\tDeformables(const char* name) : Scene(name) {}\n\n\tvoid Initialize()\n\t{\n\t\tg_params.dynamicFriction = 0.25f;\n\n\t\tfor (int i=0; i < 5; i++)\n\t\t\tAddRandomConvex(10, Vec3(i*2.0f, 0.0f, Randf(0.0f, 2.0f)), 0.5f, 1.0f, Vec3(0.0f, 1.0f, 0.0f), Randf(0.0f, k2Pi));\n\n\t\tif (0)\n\t\t{\n\t\t\tint group = 0;\n\n\t\t\tfloat minSize = 0.2f;\n\t\t\tfloat maxSize = 0.4f;\n\n\t\t\tfor (int z=0; z < 1; ++z)\n\t\t\t\tfor (int y=0; y < 1; ++y)\n\t\t\t\t\tfor (int x=0; x < 5; ++x)\n\t\t\t\t\t\tCreateRandomBody(12, Vec3(2.0f*x, 2.0f + y, 1.0f + 1.0f*z), minSize, maxSize, RandomUnitVector(), Randf(0.0f, k2Pi), 1.0f, NvFlexMakePhase(group++, 0), 0.25f);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tCreateTetMesh(GetFilePathByPlatform(\"../../data/tets/duck.tet\").c_str(), Vec3(2.0f, 1.0f, 2.0f), 2.00000105f, 1.0f, 0);\n\t\t\tCreateTetMesh(GetFilePathByPlatform(\"../../data/tets/duck.tet\").c_str(), Vec3(2.0f, 3.0f, 2.0f), 2.00000105f, 1.0f, 1);\n\t\t}\n\t\n\t\tg_params.numIterations = 5;\n\t\tg_params.relaxationFactor = 1.0f;\n\t\tg_params.radius = 0.025f;\n\n\t\t// draw options\t\t\n\t\tg_drawPoints = true;\n\t\tg_drawSprings = false;\n\t}\n};\n"
  },
  {
    "path": "demo/scenes/envcloth.h",
    "content": "\n\nclass EnvironmentalCloth: public Scene\n{\npublic:\n\n\tEnvironmentalCloth(const char* name, int dimx, int dimz, int gridx, int gridz) :\n\t  Scene(name), \n\t  mDimX(dimx),\n\t  mDimZ(dimz),\n\t  mGridX(gridx),\n\t  mGridZ(gridz) {}\n\n\tvirtual void Initialize()\n\t{\t\n\t\tfloat scale = 1.0f;\n\n\t\tfloat minSize = 0.5f*scale;\n\t\tfloat maxSize = 1.0f*scale;\n\n\t\tfor (int i=0; i < 5; i++)\n\t\t\tAddRandomConvex(10, Vec3(i*2.0f, 0.0f, Randf(0.0f, 2.0f)), minSize, maxSize, Vec3(0.0f, 1.0f, 0.0f), Randf(0.0f, k2Pi));\n\t\t\n\t\tfloat stretchStiffness = 0.9f;\n\t\tfloat bendStiffness = 0.8f;\n\t\tfloat shearStiffness = 0.5f;\n\n\t\tint dimx = mDimX;\n\t\tint dimz = mDimZ;\n\t\tfloat radius = 0.05f*scale;\n\t\tg_params.gravity[1] *= scale;\n\n\t\tint gridx = mGridX;\n\t\tint gridz = mGridZ;\n\n\t\tint clothIndex = 0;\n\t\tint phase = NvFlexMakePhase(0, eNvFlexPhaseSelfCollide | eNvFlexPhaseSelfCollideFilter);\n\n\t\tfor (int x=0; x < gridx; ++x)\n\t\t{\n\t\t\tfor (int y=0; y < 1; ++y)\n\t\t\t{\n\t\t\t\tfor (int z=0; z < gridz; ++z)\n\t\t\t\t{\n\t\t\t\t\tclothIndex++;\n\n\t\t\t\t\tCreateSpringGrid(Vec3(x*dimx*radius, scale*(1.0f + z*0.5f), z*dimx*radius), dimx, dimz, 1, radius, phase, stretchStiffness, bendStiffness, shearStiffness, Vec3(Randf(-0.2f, 0.2f)), 1.0f);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// only simple collision necessary\n\t\tg_solverDesc.featureMode = eNvFlexFeatureModeSimpleSolids;\n\n\t\tg_params.radius = radius*1.05f;\n\t\tg_params.dynamicFriction = 0.25f;\n\t\tg_params.dissipation = 0.0f;\n\t\tg_params.numIterations = 8;\n\t\tg_params.viscosity = 0.0f;\n\t\tg_params.drag = 0.1f;\n\t\tg_params.lift = 0.5f;\n\t\tg_params.collisionDistance = 0.05f;\n\t\t\n\t\t// cloth converges faster with a global relaxation factor\n\t\tg_params.relaxationMode = eNvFlexRelaxationGlobal;\n\t\tg_params.relaxationFactor = 0.25f;\n\n\t\tg_windStrength = 0.0f;\n\t\tg_numSubsteps = 2;\n\n\t\t// draw options\n\t\tg_drawPoints = false;\n\t\tg_drawSprings = false;\n\t}\n\t\n\tint mDimX;\n\tint mDimZ;\n\tint mGridX;\n\tint mGridZ;\n};\n"
  },
  {
    "path": "demo/scenes/flag.h",
    "content": "\nclass FlagCloth: public Scene\n{\npublic:\n\n\tFlagCloth(const char* name) : Scene(name) {}\n\n\tvoid Initialize()\n\t{\n\t\tint dimx = 64;\n\t\tint dimz = 32;\n\t\tfloat radius = 0.05f;\n\n\t\tfloat stretchStiffness = 0.9f;\n\t\tfloat bendStiffness = 1.0f;\n\t\tfloat shearStiffness = 0.9f;\n\t\tint phase = NvFlexMakePhase(0, eNvFlexPhaseSelfCollide);\n\t\n\t\tCreateSpringGrid(Vec3(0.0f, 0.0f, -3.0f), dimx, dimz, 1, radius, phase, stretchStiffness, bendStiffness, shearStiffness, 0.0f, 1.0f);\n\n\t\tconst int c1 = 0;\n\t\tconst int c2 = dimx*(dimz-1);\n\n\t\tg_buffers->positions[c1].w = 0.0f;\n\t\tg_buffers->positions[c2].w = 0.0f;\n\n\t\t// add tethers\n\t\tfor (int i=0; i < int(g_buffers->positions.size()); ++i)\n\t\t{\n\t\t\t// hack to rotate cloth\n\t\t\tswap(g_buffers->positions[i].y, g_buffers->positions[i].z);\n\t\t\tg_buffers->positions[i].y *= -1.0f;\n\n\t\t\tg_buffers->velocities[i] = RandomUnitVector()*0.1f;\n\n\t\t\tfloat minSqrDist = FLT_MAX;\n\n\t\t\tif (i != c1 && i != c2)\n\t\t\t{\n\t\t\t\tfloat stiffness = -0.8f;\n\t\t\t\tfloat give = 0.1f;\n\n\t\t\t\tfloat sqrDist = LengthSq(Vec3(g_buffers->positions[c1])-Vec3(g_buffers->positions[c2]));\n\n\t\t\t\tif (sqrDist < minSqrDist)\n\t\t\t\t{\n\t\t\t\t\tCreateSpring(c1, i, stiffness, give);\n\t\t\t\t\tCreateSpring(c2, i, stiffness, give);\n\n\t\t\t\t\tminSqrDist = sqrDist;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t\n\t\tg_params.radius = radius*1.0f;\n\t\tg_params.dynamicFriction = 0.25f;\n\t\tg_params.dissipation = 0.0f;\n\t\tg_params.numIterations = 4;\n\t\tg_params.drag = 0.06f;\n\t\tg_params.relaxationFactor = 1.0f;\n\n\t\tg_numSubsteps = 2;\n\n\t\t// draw options\n\t\tg_drawPoints = false;\n\t\tg_drawSprings = false;\n\t\tg_windFrequency *= 2.0f;\n\t\tg_windStrength = 10.0f;\n\n\t}\n\n\tvoid Update()\n\t{\n\t\tconst Vec3 kWindDir = Vec3(3.0f, 15.0f, 0.0f);\n\t\tconst float kNoise = fabsf(Perlin1D(g_windTime*0.05f, 2, 0.25f));\n\t\tVec3 wind = g_windStrength*kWindDir*Vec3(kNoise, kNoise*0.1f, -kNoise*0.1f);\n\t\t\t\t\n\t\tg_params.wind[0] = wind.x;\n\t\tg_params.wind[1] = wind.y;\n\t\tg_params.wind[2] = wind.z;\t\n\t}\n};\n\n"
  },
  {
    "path": "demo/scenes/fluidblock.h",
    "content": "\n\nclass FluidBlock : public Scene\n{\npublic:\n\n\tFluidBlock(const char* name) : Scene(name) {}\n\n\tvirtual void Initialize()\n\t{\n\t\tfloat minSize = 0.5f;\n\t\tfloat maxSize = 0.7f;\n\t\t\n\t\tfloat radius = 0.1f;\n\t\tfloat restDistance = radius*0.55f;\n\t\tint group = 0;\n\n\t\tAddRandomConvex(6, Vec3(5.0f, -0.1f, 0.6f), 1.0f, 1.0f, Vec3(1.0f, 1.0f, 0.0f), 0.0f);\n\n\t\tfloat ly = 0.5f;\n\t\t\n\t\tAddRandomConvex(10, Vec3(2.5f, ly*0.5f, 1.f), minSize*0.5f, maxSize*0.5f, Vec3(0.0f, 1.0f, 0.0f), Randf(0.0f, 2.0f*kPi));\n\n\t\tAddRandomConvex(12, Vec3(3.8f, ly-0.5f, 1.f), minSize, maxSize, Vec3(1.0f, 0.0f, 0.0f), Randf(0.0f, 2.0f*kPi));\n\t\tAddRandomConvex(12, Vec3(3.8f, ly-0.5f, 2.6f), minSize, maxSize, Vec3(1.0f, 0.0f, 0.0f), 0.2f + Randf(0.0f, 2.0f*kPi));\n\n\t\tAddRandomConvex(12, Vec3(4.6f, ly, 0.2f), minSize, maxSize, Vec3(1.0f, 0.0f, 1.0f), Randf(0.0f, 2.0f*kPi));\n\t\tAddRandomConvex(12, Vec3(4.6f, ly, 2.0f), minSize, maxSize, Vec3(1.0f, 0.0f, 1.0f), 0.2f + Randf(0.0f, 2.0f*kPi));\n\t\n\t\tfloat size = 0.3f;\n\t\tfor (int i=0; i < 32; ++i)\n\t\t\tCreateParticleShape(GetFilePathByPlatform(\"../../data/torus.obj\").c_str(), Vec3(4.5f, 2.0f + radius*2.0f*i, 1.0f), size, 0.0f, radius*0.5f, Vec3(0.0f, 0.0f, 0.0f), 0.125f, true, 1.0f, NvFlexMakePhase(group++, 0), true, 0.0f);\n\n\t\tg_numSolidParticles = g_buffers->positions.size();\t\n\n\t\tfloat sizex = 1.76f;\n\t\tfloat sizey = 2.20f;\n\t\tfloat sizez = 3.50f;\n\n\t\tint x = int(sizex/restDistance);\n\t\tint y = int(sizey/restDistance);\n\t\tint z = int(sizez/restDistance);\n\n\t\tCreateParticleGrid(Vec3(0.0f, restDistance*0.5f, 0.0f), x, y, z, restDistance, Vec3(0.0f), 1.0f, false, 0.0f, NvFlexMakePhase(group++, eNvFlexPhaseSelfCollide | eNvFlexPhaseFluid));\t\t\n\n\t\tg_params.radius = radius;\n\t\tg_params.dynamicFriction = 0.0f;\n\t\tg_params.viscosity = 0.0f;\n\t\tg_params.numIterations = 3;\n\t\tg_params.vorticityConfinement = 40.f;\n\t\tg_params.fluidRestDistance = restDistance;\n\t\tg_params.numPlanes = 5;\t\t\n\t\t//g_params.cohesion = 0.05f;\n\n\t\tg_maxDiffuseParticles = 128*1024;\n\t\tg_diffuseScale = 0.75f;\n\n\t\tg_waveFloorTilt = -0.025f; \n\t\t\n\t\tg_lightDistance *= 0.5f;\n\n\t\t// draw options\n\t\tg_drawDensity = true;\n\t\tg_drawDiffuse = true;\n\t\tg_drawEllipsoids = true;\n\t\tg_drawPoints = false;\n\n\t\tg_warmup = true;\n\t}\n};"
  },
  {
    "path": "demo/scenes/fluidclothcoupling.h",
    "content": "\nclass FluidClothCoupling : public Scene\n{\npublic:\n\n\tFluidClothCoupling(const char* name, bool viscous) : Scene(name), mViscous(viscous) {}\n\n\tvoid Initialize()\n\t{\n\t\tfloat stretchStiffness = 1.0f;\n\t\tfloat bendStiffness = 0.4f;\n\t\tfloat shearStiffness = 0.4f;\n\n\t\tint dimx = 32;\n\t\tint dimy = 32;\n\t\tfloat radius = 0.1f;\n\t\tfloat invmass = 0.25f;\n\t\tint group = 0;\n\n\t\t{\n\t\t\tint clothStart = 0;\n\t\t\n\t\t\tCreateSpringGrid(Vec3(0.0f, 1.0f, 0.0f), dimx, dimy, 1, radius*0.25f, NvFlexMakePhase(group++, 0), stretchStiffness, bendStiffness, shearStiffness, Vec3(0.0f), invmass);\n\t\t\n\t\t\tint corner0 = clothStart + 0;\n\t\t\tint corner1 = clothStart + dimx-1;\n\t\t\tint corner2 = clothStart + dimx*(dimy-1);\n\t\t\tint corner3 = clothStart + dimx*dimy-1;\n\n\t\t\tg_buffers->positions[corner0].w = 0.0f;\n\t\t\tg_buffers->positions[corner1].w = 0.0f;\n\t\t\tg_buffers->positions[corner2].w = 0.0f;\n\t\t\tg_buffers->positions[corner3].w = 0.0f;\n\n\t\t\t// add tethers\n\t\t\tfor (int i=clothStart; i < int(g_buffers->positions.size()); ++i)\n\t\t\t{\n\t\t\t\tfloat x = g_buffers->positions[i].x;\n\t\t\t\tg_buffers->positions[i].y = 1.5f - sinf(DegToRad(25.0f))*x;\n\t\t\t\tg_buffers->positions[i].x = cosf(DegToRad(25.0f))*x;\n\n\t\t\t\t//g_buffers->positions[i].y += 0.5f-g_buffers->positions[i].x;\n\n\t\t\t\tif (i != corner0 && i != corner1 && i != corner2 && i != corner3)\n\t\t\t\t{\n\t\t\t\t\tfloat stiffness = -0.5f;\n\t\t\t\t\tfloat give = 0.05f;\n\n\t\t\t\t\tCreateSpring(corner0, i, stiffness, give);\t\t\t\n\t\t\t\t\tCreateSpring(corner1, i, stiffness, give);\n\t\t\t\t\tCreateSpring(corner2, i, stiffness, give);\t\t\t\n\t\t\t\t\tCreateSpring(corner3, i, stiffness, give);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tg_buffers->positions[corner1] = g_buffers->positions[corner0] + (g_buffers->positions[corner1]-g_buffers->positions[corner0])*0.9f;\n\t\t\tg_buffers->positions[corner2] = g_buffers->positions[corner0] + (g_buffers->positions[corner2]-g_buffers->positions[corner0])*0.9f;\n\t\t\tg_buffers->positions[corner3] = g_buffers->positions[corner0] + (g_buffers->positions[corner3]-g_buffers->positions[corner0])*0.9f;\n\t\t}\n\n\t\t{\n\t\t\t// net\n\t\t\tint clothStart = g_buffers->positions.size();\n\t\t\n\t\t\tCreateSpringGrid(Vec3(0.75f, 1.0f, 0.0f), dimx, dimy, 1, radius*0.25f, NvFlexMakePhase(group++, 0), stretchStiffness, bendStiffness, shearStiffness, Vec3(0.0f), invmass);\n\t\t\n\t\t\tint corner0 = clothStart + 0;\n\t\t\tint corner1 = clothStart + dimx-1;\n\t\t\tint corner2 = clothStart + dimx*(dimy-1);\n\t\t\tint corner3 = clothStart + dimx*dimy-1;\n\n\t\t\tg_buffers->positions[corner0].w = 0.0f;\n\t\t\tg_buffers->positions[corner1].w = 0.0f;\n\t\t\tg_buffers->positions[corner2].w = 0.0f;\n\t\t\tg_buffers->positions[corner3].w = 0.0f;\n\n\t\t\t// add tethers\n\t\t\tfor (int i=clothStart; i < int(g_buffers->positions.size()); ++i)\n\t\t\t{\n\t\t\t\tif (i != corner0 && i != corner1 && i != corner2 && i != corner3)\n\t\t\t\t{\n\t\t\t\t\tfloat stiffness = -0.5f;\n\t\t\t\t\tfloat give = 0.1f;\n\n\t\t\t\t\tCreateSpring(corner0, i, stiffness, give);\t\t\t\n\t\t\t\t\tCreateSpring(corner1, i, stiffness, give);\n\t\t\t\t\tCreateSpring(corner2, i, stiffness, give);\t\t\t\n\t\t\t\t\tCreateSpring(corner3, i, stiffness, give);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tg_buffers->positions[corner1] = g_buffers->positions[corner0] + (g_buffers->positions[corner1]-g_buffers->positions[corner0])*0.8f;\n\t\t\tg_buffers->positions[corner2] = g_buffers->positions[corner0] + (g_buffers->positions[corner2]-g_buffers->positions[corner0])*0.8f;\n\t\t\tg_buffers->positions[corner3] = g_buffers->positions[corner0] + (g_buffers->positions[corner3]-g_buffers->positions[corner0])*0.8f;\n\n\t\t}\n\n\t\t{\n\t\t\t// net\n\t\t\tint clothStart = g_buffers->positions.size();\n\t\t\n\t\t\tCreateSpringGrid(Vec3(1.5f, 0.5f, 0.0f), dimx, dimy, 1, radius*0.25f, NvFlexMakePhase(group++, 0), stretchStiffness, bendStiffness, shearStiffness, Vec3(0.0f), invmass);\n\t\t\n\t\t\tint corner0 = clothStart + 0;\n\t\t\tint corner1 = clothStart + dimx-1;\n\t\t\tint corner2 = clothStart + dimx*(dimy-1);\n\t\t\tint corner3 = clothStart + dimx*dimy-1;\n\n\t\t\tg_buffers->positions[corner0].w = 0.0f;\n\t\t\tg_buffers->positions[corner1].w = 0.0f;\n\t\t\tg_buffers->positions[corner2].w = 0.0f;\n\t\t\tg_buffers->positions[corner3].w = 0.0f;\n\n\t\t\t// add tethers\n\t\t\tfor (int i=clothStart; i < int(g_buffers->positions.size()); ++i)\n\t\t\t{\n\t\t\t\tif (i != corner0 && i != corner1 && i != corner2 && i != corner3)\n\t\t\t\t{\n\t\t\t\t\tfloat stiffness = -0.5f;\n\t\t\t\t\tfloat give = 0.1f;\n\n\t\t\t\t\tCreateSpring(corner0, i, stiffness, give);\t\t\t\n\t\t\t\t\tCreateSpring(corner1, i, stiffness, give);\n\t\t\t\t\tCreateSpring(corner2, i, stiffness, give);\t\t\t\n\t\t\t\t\tCreateSpring(corner3, i, stiffness, give);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tg_buffers->positions[corner1] = g_buffers->positions[corner0] + (g_buffers->positions[corner1]-g_buffers->positions[corner0])*0.8f;\n\t\t\tg_buffers->positions[corner2] = g_buffers->positions[corner0] + (g_buffers->positions[corner2]-g_buffers->positions[corner0])*0.8f;\n\t\t\tg_buffers->positions[corner3] = g_buffers->positions[corner0] + (g_buffers->positions[corner3]-g_buffers->positions[corner0])*0.8f;\n\n\t\t}\n\n\t\tg_numSolidParticles = g_buffers->positions.size();\n\t\tg_ior = 1.0f;\n\n\t\tg_numExtraParticles = 64*1024;\n\n\t\tg_params.radius = radius;\n\t\tg_params.numIterations = 5;\n\t\tg_params.vorticityConfinement = 0.0f;\n\t\tg_params.fluidRestDistance = g_params.radius*0.5f;\n\t\tg_params.smoothing = 0.5f;\n\t\tg_params.solidPressure = 0.25f;\n\t\tg_numSubsteps = 3;\t\t\n\t\t//g_params.numIterations = 6;\n\n\t\tg_params.maxSpeed = 0.5f*g_numSubsteps*g_params.radius/g_dt;\n\n\t\tg_maxDiffuseParticles = 32*1024;\n\t\tg_diffuseScale = 0.5f;\n\t\tg_lightDistance = 3.0f;\n\n\t\t// for viscous goo\n\t\tif (mViscous)\n\t\t{\n\t\t\tg_fluidColor = Vec4(0.0f, 0.8f, 0.2f, 1.0f);\n\n\t\t\tg_params.dynamicFriction = 0.3f;\n\t\t\tg_params.cohesion = 0.025f;\n\t\t\tg_params.viscosity = 50.85f;\t\t\t\n\t\t}\n\t\telse\n\t\t{\n\t\t\tg_params.dynamicFriction = 0.125f;\n\t\t\tg_params.viscosity = 0.1f;\n\t\t\tg_params.cohesion = 0.0035f;\n\t\t\tg_params.viscosity = 4.0f;\n\t\t}\n\n\t\tg_emitters[0].mEnabled = false;\n\n\t\tEmitter e;\n\t\te.mDir = Normalize(Vec3(1.0f, 0.0f, 0.0f));\n\t\te.mEnabled = true;\n\t\te.mPos = Vec3(-0.25f, 1.75f, 0.5f);\n\t\te.mRight = Cross(e.mDir, Vec3(0.0f, 0.0f, 1.0f));\n\t\te.mSpeed = (g_params.fluidRestDistance/(g_dt*2.0f));\n\n\t\tg_emitters.push_back(e);\n\n\t\t// draw options\t\t\n\t\tg_drawPoints = false;\n\t\tg_drawSprings = false;\n\t\tg_drawEllipsoids = true;\n\t}\n\n\tbool mViscous;\n};"
  },
  {
    "path": "demo/scenes/forcefield.h",
    "content": "\n\nclass ForceField : public Scene\n{\npublic:\n\n\n\tForceField(const char* name) : Scene(name)\n\t{\n\t}\n\n\tvirtual void Initialize()\n\t{\n\t\tconst float radius = 0.01f;\n\t\tconst int phase = NvFlexMakePhase(0, eNvFlexPhaseSelfCollide);\n\n\t\tCreateParticleGrid(Vec3(-1.0f, radius, 0.0f), 200, 6, 50, radius*0.5f, Vec3(0.0f), 1.0f, false, 0.0f, phase);\n\n\t\tg_params.radius = radius*1.0f;\n\t\tg_params.dynamicFriction = 0.4f;\n\t\tg_params.staticFriction = 0.4f;\n\t\tg_params.particleFriction = 0.25f;\n\t\tg_params.dissipation = 0.0f;\n\t\tg_params.numIterations = 2;\n\t\tg_params.viscosity = 0.0f;\n\n\t\tg_numSubsteps = 2;\n\n\t\t// draw options\n\t\tg_drawPoints = true;\n\n\t\tcallback = NULL;\n\n\t}\n\n\tvirtual void PostInitialize()\n\t{\n\t\t// free previous callback, todo: destruction phase for tests\n\t\tif (callback)\n\t\t\tNvFlexExtDestroyForceFieldCallback(callback);\n\n\t\t// create new callback\n\t\tcallback = NvFlexExtCreateForceFieldCallback(g_solver);\n\n\t\t// expand scene bounds to include force field\n\t\tg_sceneLower -= Vec3(1.0f);\n\t\tg_sceneUpper += Vec3(1.0f);\n\t}\n\n\tvoid DrawCircle(const Vec3& pos, const Vec3& u, const Vec3& v, float radius, int segments)\n\t{\n\t\tBeginLines();\n\t\t\n\t\tVec3 start = pos + radius*v;\n\n\t\tfor (int i=1; i <=segments; ++i)\n\t\t{\n\t\t\tfloat theta = k2Pi*(float(i)/segments);\n\t\t\tVec3 end = pos + radius*sinf(theta)*u + radius*cosf(theta)*v;\n\n\t\t\tDrawLine(start, end, Vec4(1.0f));\n\n\t\t\tstart = end;\n\t\t}\n\n\t\tEndLines();\n\t}\n\n\tvirtual void Draw(int phase)\n\t{\n\t\tDrawCircle(forcefield.mPosition, Vec3(1.0f, 0.0f, 0.0f), Vec3(0.0f, 1.0f, 0.0f), forcefield.mRadius, 20);\n\t\tDrawCircle(forcefield.mPosition, Vec3(0.0f, 0.0f, 1.0f), Vec3(0.0f, 1.0f, 0.0f), forcefield.mRadius, 20);\n\t}\n\n\tvirtual void Update()\n\t{\n\t\tfloat time = g_frame*g_dt;\n\n\t\t(Vec3&)forcefield.mPosition = Vec3((sinf(time)), 0.5f, 0.0f);\n\t\tforcefield.mRadius = (sinf(time*1.5f)*0.5f + 0.5f);\n\t\tforcefield.mStrength = -30.0f;\n\t\tforcefield.mMode = eNvFlexExtModeForce;\n\t\tforcefield.mLinearFalloff = true;\n\n\t\tNvFlexExtSetForceFields(callback, &forcefield, 1);\n\t}\n\n\tNvFlexExtForceField forcefield;\n\n\tNvFlexExtForceFieldCallback* callback;\n\n};"
  },
  {
    "path": "demo/scenes/frictionmoving.h",
    "content": "\nclass FrictionMovingShape: public Scene\n{\npublic:\n\n\tFrictionMovingShape(const char* name, int type) :\n\t  Scene(name), mType(type) {}\n\n\tvirtual void Initialize()\n\t{\t\n\t\tfloat stretchStiffness = 1.0f;\n\t\tfloat bendStiffness = 0.5f;\n\t\tfloat shearStiffness = 0.5f;\n\n\t\tfloat radius = 0.05f;\n\n\t\tint dimx = 40;\n\t\tint dimz = 40;\n\t\tint phase = NvFlexMakePhase(0, eNvFlexPhaseSelfCollide | eNvFlexPhaseSelfCollideFilter);\n\n\t\tfloat spacing = radius*0.8f;\n\n\t\tfor (int i=0; i < 3; ++i)\n\t\t\tCreateSpringGrid(Vec3(-dimx*spacing*0.5f, 1.5f + i*0.2f, -dimz*spacing*0.5f), dimx, dimz, 1, spacing, phase, stretchStiffness, bendStiffness, shearStiffness, 0.0f, 1.0f);\n\n\t\tg_params.radius = radius*1.0f;\n\t\tg_params.dynamicFriction = 0.45f;\n\t\tg_params.particleFriction = 0.45f;\n\t\tg_params.dissipation = 0.0f;\n\t\tg_params.numIterations = 8;\n\t\tg_params.viscosity = 0.0f;\n\t\tg_params.drag = 0.05f;\n\t\tg_params.collisionDistance = radius*0.5f;\n\t\tg_params.relaxationMode = eNvFlexRelaxationGlobal;\n\t\tg_params.relaxationFactor = 0.25f;\n\t\tg_params.numPlanes = 1;\n\n\t\tg_numSubsteps = 2;\n\n\t\tg_windStrength = 0.0f;\n\n\t\t// draw options\n\t\tg_drawPoints = false;\n\t\tg_drawSprings = false;\n\n\t\tg_lightDistance *= 1.5f;\n\n\t\tmTime = 0.0f;\n\n\t\tif (mType == 3)\n\t\t{\n\t\t\tMesh* m = CreateDiscMesh(0.75f, 32);\n\t\t\tmMesh = CreateTriangleMesh(m);\n\t\t\tdelete m;\n\t\t}\n\t}\n\n\tvoid Update()\n\t{\n\t\tClearShapes();\n\n\t\tmTime += g_dt;\n\n\t\t// let cloth settle on object\n\t\tfloat startTime = 1.0f;\n\n\t\tfloat time = Max(0.0f, mTime-startTime);\n\t\tfloat lastTime = Max(0.0f, time-g_dt);\n\n\t\tconst float rotationSpeed = 1.0f;\n\t\tconst float translationSpeed = 1.0f;\n\n\t\tVec3 pos = Vec3(translationSpeed*(1.0f-cosf(time)), 0.5f, 0.0f);\n\t\tVec3 prevPos = Vec3(translationSpeed*(1.0f-cosf(lastTime)), 0.5f, 0.0f);\n\n\t\tQuat rot = QuatFromAxisAngle(Vec3(0.0f, 1.0f, 0.0f), 1.0f-cosf(rotationSpeed*time));\n\t\tQuat prevRot = QuatFromAxisAngle(Vec3(0.0f, 1.0f, 0.0f), 1.0f-cosf(rotationSpeed*lastTime));\n\n\t\tswitch(mType)\n\t\t{\n\t\tcase 0:\n\t\t\tAddBox(Vec3(1.0f, 0.5f, 1.0f), pos, rot);\n\t\t\tbreak;\n\t\tcase 1:\n\t\t\tAddSphere(0.5f, pos, rot);\n\t\t\tbreak;\n\t\tcase 2:\n\t\t\tAddCapsule(0.1f, 1.5f, pos, rot);\n\t\t\tbreak;\n\t\tcase 3:\n\t\t\tAddTriangleMesh(mMesh, pos, rot, 1.0f);\n\t\t\tbreak;\n\t\t};\n\t\t\n\t\tg_buffers->shapePrevPositions[0] = Vec4(prevPos, 0.0f);\n\t\tg_buffers->shapePrevRotations[0] = prevRot;\n\n\t\tUpdateShapes();\n\t}\n\n\tfloat mTime;\n\tint mType;\n\n\tNvFlexTriangleMeshId mMesh;\n};"
  },
  {
    "path": "demo/scenes/frictionramp.h",
    "content": "\n\nclass FrictionRamp : public Scene\n{\npublic:\n\n\tFrictionRamp(const char* name) : Scene(name) {}\n\n\tvirtual void Initialize()\n\t{\n\t\tfloat radius = 0.1f;\n\n\t\tg_params.radius = radius;\n\t\tg_params.dynamicFriction = 0.35f;\n\t\tg_params.dissipation = 0.0f;\n\t\tg_params.numIterations = 8;\n\t\tg_params.viscosity = 0.0f;\n\t\tg_params.drag = 0.0f;\n\t\tg_params.lift = 0.0f;\n\t\tg_params.collisionDistance = radius*0.5f;\n\n\t\tg_windStrength = 0.0f;\n\n\t\tg_numSubsteps = 1;\n\n\t\t// draw options\n\t\tg_drawPoints = false;\n\t\tg_wireframe = false;\n\t\tg_drawSprings = false;\n\n\t\tfor (int i = 0; i < 3; ++i)\n\t\t{\n\t\t\t// box\n\t\t\tCreateParticleShape(GetFilePathByPlatform(\"../../data/box.ply\").c_str(), Vec3(0.0f, 3.5f, -i*2.0f), 0.5f, 0.0f, radius, 0.0f, 1.0f, true, 1.0f, NvFlexMakePhase(i, 0), true, 0.0f);\n\n\t\t\t// ramp\n\t\t\tAddBox(Vec3(5.0f, 0.25f, 1.f), Vec3(3.0f, 1.0f, -i*2.0f), QuatFromAxisAngle(Vec3(0.0f, 0.0f, 1.0f), DegToRad(-11.25f*(i + 1))));\n\t\t}\n\t}\n};"
  },
  {
    "path": "demo/scenes/gamemesh.h",
    "content": "\nclass GameMesh : public Scene\n{\npublic:\n\n\tGameMesh(const char* name, int scene) : Scene(name), mScene(scene) {}\n\n\tvoid Initialize()\n\t{\n\t\tMesh* level = ImportMeshFromBin(GetFilePathByPlatform(\"../../data/testzone.bin\").c_str());\t\t\n\t\tlevel->Normalize(100.0f);\n\t\tlevel->Transform(TranslationMatrix(Point3(0.0f, -5.0f, 0.0f)));\n\t\tlevel->CalculateNormals();\n\n\t\tVec3 lower, upper;\n\t\tlevel->GetBounds(lower, upper);\t\t\n\t\tVec3 center = (lower+upper)*0.5f;\n\n\t\tNvFlexTriangleMeshId mesh = CreateTriangleMesh(level);\n\t\tAddTriangleMesh(mesh, Vec3(), Quat(), 1.0f);\n\n\t\tdelete level;\n\n\t\tint group = 0;\n\t\n\t\t// rigids\n\t\tif (mScene == 0)\n\t\t{\n\t\t\tfloat radius = 0.05f;\n\t\t\t\n\t\t\tfor (int z=0; z < 80; ++z)\n\t\t\t\tfor (int x=0; x < 80; ++x)\n\t\t\t\t\tCreateParticleGrid(\n\t\t\t\t\t\tcenter - Vec3(-16.0f, 0.0f, 15.0f) + 2.0f*Vec3(x*radius*2 - 1.0f, 1.0f + radius, 1.f + z*2.0f*radius) + Vec3(Randf(radius), 0.0f, Randf(radius)), \n\t\t\t\t\t\t2, 2 + int(Randf(0.0f, 4.0f)), 2, radius*0.9f, Vec3(0.0f), 1.0f, true, 1.0f, NvFlexMakePhase(group++, 0), 0.0f);\n\n\t\t\t// separte solid particle count\n\t\t\tg_numSolidParticles = g_buffers->positions.size();\n\n\t\t\tg_params.radius = radius;\n\t\t\tg_params.dynamicFriction = 0.3f;\n\t\t\tg_params.dissipation = 0.0f;\n\t\t\tg_params.fluidRestDistance = g_params.radius*0.5f;\n\t\t\tg_params.viscosity = 0.05f;\n\t\t\tg_params.numIterations = 2;\n\t\t\tg_params.numPlanes = 1;\n\t\t\tg_params.sleepThreshold = g_params.radius*0.3f;\n\t\t\tg_params.maxSpeed = g_numSubsteps*g_params.radius/g_dt;\n\t\t\tg_params.collisionDistance = radius*0.5f;\n\t\t\tg_params.shapeCollisionMargin = g_params.collisionDistance*0.05f;\n\n\t\t\tg_numSubsteps = 2;\n\t\t\n\t\t\tg_emitters[0].mEnabled = true;\t\n\t\t\tg_emitters[0].mSpeed = 2.0f*(g_params.radius*0.5f)/g_dt;\n\n\t\t\t// draw options\t\t\n\t\t\tg_drawPoints = true;\n\t\t\tg_drawMesh = false;\n\t\t}\n\n\t\t// basic particles\n\t\tif (mScene == 1)\n\t\t{\n\t\t\tfloat radius = 0.1f;\n\n\t\t\tCreateParticleGrid(center - Vec3(2.0f, 7.0f, 2.0f) , 32, 64, 32, radius*1.02f, Vec3(0.0f), 1.0f, false, 0.0f, NvFlexMakePhase(0, eNvFlexPhaseSelfCollide), 0.0f);\n\t\t\n\t\t\tg_params.radius = radius;\n\t\t\tg_params.dynamicFriction = 0.1f;\n\t\t\tg_params.dissipation = 0.0f;\n\t\t\tg_params.numIterations = 4;\n\t\t\tg_params.numPlanes = 1;\n\t\t\tg_params.particleCollisionMargin = g_params.radius*0.1f;\n\t\t\tg_params.restitution = 0.0f;\n\n\t\t\tg_params.collisionDistance = g_params.radius*0.5f;\n\t\t\tg_params.shapeCollisionMargin = g_params.collisionDistance*0.05f;\n\n\t\t\tg_numSubsteps = 2;\n\n\t\t\t// draw options\t\t\n\t\t\tg_drawPoints = true;\n\t\t}\n\n\t\t// fluid particles\n\t\tif (mScene == 2)\n\t\t{\n\t\t\tfloat radius = 0.1f;\n\t\t\tfloat restDistance = radius*0.6f;\n\n\t\t\tCreateParticleGrid(center - Vec3(0.0f, 7.0f, 2.0f) , 32, 64, 32, restDistance, Vec3(0.0f), 1.0f, false, 0.0f, NvFlexMakePhase(0, eNvFlexPhaseSelfCollide | eNvFlexPhaseFluid), 0.0f);\n\t\t\n\t\t\tg_params.radius = radius;\n\t\t\tg_params.dynamicFriction = 0.1f;\n\t\t\tg_params.dissipation = 0.0f;\n\t\t\tg_params.numPlanes = 1;\n\t\t\tg_params.fluidRestDistance = restDistance;\n\t\t\tg_params.viscosity = 0.5f;\n\t\t\tg_params.numIterations = 3;\n\t\t\tg_params.smoothing = 0.5f;\n\t\t\tg_params.relaxationFactor = 1.0f;\n\t\t\tg_params.restitution = 0.0f;\n\t\t\tg_params.smoothing = 0.5f;\n\t\t\tg_params.collisionDistance = g_params.radius*0.5f;\n\t\t\tg_params.shapeCollisionMargin = g_params.collisionDistance*0.05f;\n\n\t\t\tg_numSubsteps = 2;\n\n\t\t\t// draw options\t\n\t\t\tg_drawPoints = false;\n\t\t\tg_drawEllipsoids = true;\n\t\t\tg_drawDiffuse = true;\n\n\t\t\tg_lightDistance = 5.0f;\n\t\t}\n\t\t\n\t\t// cloth\n\t\tif (mScene == 3)\n\t\t{\n\t\t\tfloat stretchStiffness = 1.0f;\n\t\t\tfloat bendStiffness = 0.8f;\n\t\t\tfloat shearStiffness = 0.8f;\n\n\t\t\tint dimx = 32;\n\t\t\tint dimz = 32;\n\t\t\tfloat radius = 0.05f;\n\n\t\t\tint gridx = 8;\n\t\t\tint gridz = 3;\n\n\t\t\tfor (int x=0; x < gridx; ++x)\n\t\t\t{\n\t\t\t\tfor (int y=0; y < 1; ++y)\n\t\t\t\t{\n\t\t\t\t\tfor (int z=0; z < gridz; ++z)\n\t\t\t\t\t{\n\t\t\t\t\t\tCreateSpringGrid(center - Vec3(9.0f, 1.0f, 0.1f) + Vec3(x*dimx*radius, 0.0f, z*1.0f), dimx, dimz, 1, radius*0.95f, NvFlexMakePhase(0, eNvFlexPhaseSelfCollide | eNvFlexPhaseSelfCollideFilter), stretchStiffness, bendStiffness, shearStiffness, 0.0f, 1.0f);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tVec3 l, u;\n\t\t\tGetParticleBounds(l, u);\n\t\t\t\n\t\t\tVec3 center = (u+l)*0.5f;\n\t\t\tprintf(\"%f %f %f\\n\", center.x, center.y, center.z);\n\n\t\t\tg_params.radius = radius*1.0f;\n\t\t\tg_params.dynamicFriction = 0.4f;\n\t\t\tg_params.staticFriction = 0.5f;\n\t\t\tg_params.dissipation = 0.0f;\n\t\t\tg_params.numIterations = 8;\n\t\t\tg_params.drag = 0.06f;\n\t\t\tg_params.sleepThreshold = g_params.radius*0.125f;\n\t\t\tg_params.relaxationFactor = 2.0f;\n\t\t\tg_params.collisionDistance = g_params.radius;\n\t\t\tg_params.shapeCollisionMargin = g_params.collisionDistance*0.05f;\n\n\t\t\tg_windStrength = 0.0f;\n\t\t\n\t\t\tg_numSubsteps = 2;\n\n\t\t\t// draw options\t\t\n\t\t\tg_drawPoints = false;\n\t\t}\n\t}\n\n\tvirtual void PostInitialize()\n\t{\n\t\t// just focus on the particles, don't need to see the whole level\n\t\tVec3 lower, upper;\n\t\tGetParticleBounds(lower, upper);\n\n\t\tg_sceneUpper = upper;\n\t\tg_sceneLower = lower;\n\t}\n\n\tvirtual void CenterCamera(void)\n\t{\n\t\tg_camPos = Vec3((g_sceneLower.x+g_sceneUpper.x)*0.5f, min(g_sceneUpper.y*1.25f, 6.0f), g_sceneUpper.z + min(g_sceneUpper.y, 6.0f)*2.0f);\n\t\tg_camAngle = Vec3(0.0f, -DegToRad(15.0f), 0.0f);\n\t}\n\t\n\tint mScene;\n};\n"
  },
  {
    "path": "demo/scenes/googun.h",
    "content": "\nclass GooGun : public Scene\n{\npublic:\n\n\tGooGun(const char* name, bool viscous) : Scene(name), mViscous(viscous) {}\n\n\tvirtual void Initialize()\n\t{\n\t\tfloat minSize = 0.5f;\n\t\tfloat maxSize = 1.0f;\n\n\t\tfloat radius = 0.1f;\n\n\t\tfor (int i = 0; i < 5; i++)\n\t\t\tAddRandomConvex(10, Vec3(i*2.0f, 0.0f, Randf(0.0f, 2.0f)), minSize, maxSize, Vec3(0.0f, 1.0f, 0.0f), Randf(0.0f, k2Pi*10.0f));\n\n\t\tg_params.radius = radius;\n\n\t\tg_params.numIterations = 3;\n\t\tg_params.vorticityConfinement = 0.0f;\n\t\tg_params.fluidRestDistance = g_params.radius*0.55f;\n\t\tg_params.smoothing = 0.5f;\n\t\tg_params.relaxationFactor = 1.f;\n\t\tg_params.restitution = 0.0f;\n\t\tg_params.collisionDistance = 0.01f;\n\t\tg_params.shapeCollisionMargin = g_params.collisionDistance*0.25f;\n\n\t\tif (mViscous)\n\t\t{\n\t\t\tg_fluidColor = Vec4(0.0f, 0.8f, 0.2f, 1.0f);\n\n\t\t\tg_params.dynamicFriction = 1.0f;\n\t\t\tg_params.viscosity = 50.0f;\n\t\t\tg_params.adhesion = 0.5f;\n\t\t\tg_params.cohesion = 0.3f;\n\t\t\tg_params.surfaceTension = 0.0f;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tg_params.dynamicFriction = 0.25f;\n\t\t\tg_params.viscosity = 0.5f;\n\t\t\tg_params.cohesion = 0.05f;\n\t\t\tg_params.adhesion = 0.0f;\n\t\t}\n\n\t\tg_numExtraParticles = 64 * 1024;\n\n#if 1\n\t\tNvFlexDistanceFieldId sdf = CreateSDF(GetFilePathByPlatform(\"../../data/armadillo.ply\").c_str(), 128);\n\t\tAddSDF(sdf, Vec3(2.0f, 0.0f, -1.0f), Quat(), 2.0f);\n#else\n\t\t// Test multiple SDFs\n\t\tNvFlexDistanceFieldId sdf = CreateSDF(GetFilePathByPlatform(\"../../data/armadillo.ply\").c_str(), 128);\n\t\tAddSDF(sdf, Vec3(2.0f, 0.0f, 0.0f), Quat(), 2.0f);\n\n\t\tNvFlexDistanceFieldId sdf2 = CreateSDF(GetFilePathByPlatform(\"../../data/bunny.ply\").c_str(), 128);\n\t\tAddSDF(sdf2, Vec3(4.0f, 0.0f, 0.0f), Quat(), 2.0f);\n#endif\n\n\t\tg_emitters[0].mEnabled = true;\n\t\tg_emitters[0].mSpeed = (g_params.fluidRestDistance*2.f / g_dt);\n\n\t\t// draw options\t\t\n\t\tg_drawEllipsoids = true;\n\t\tg_pause = false;\n\t}\n\n\tbool mViscous;\n};\n"
  },
  {
    "path": "demo/scenes/granularpile.h",
    "content": "\n\nclass GranularPile : public Scene\n{\npublic:\n\n\tGranularPile(const char* name) : Scene(name) {}\n\n\tvirtual void Initialize()\n\t{\n\t\t// granular pile\n\t\tfloat radius = 0.075f;\n\n\t\tVec3 lower(8.0f, 4.0f, 2.0f);\n\n\t\tCreateParticleShape(GetFilePathByPlatform(\"../../data/sphere.ply\").c_str(), lower, 1.0f, 0.0f, radius, 0.0f, 0.f, true, 1.0f, NvFlexMakePhase(1, 0), true, 0.00f);\n\t\tg_numSolidParticles = g_buffers->positions.size();\n\n\t\tCreateParticleShape(GetFilePathByPlatform(\"../../data/sandcastle.obj\").c_str(), Vec3(-2.0f, -radius*0.15f, 0.0f), 4.0f, 0.0f, radius*1.0001f, 0.0f, 1.0f, false, 0.0f, NvFlexMakePhase(0, eNvFlexPhaseSelfCollide), false, 0.00f);\n\n\t\tg_numSubsteps = 2;\n\t\n\t\tg_params.radius = radius;\n\t\tg_params.staticFriction = 1.0f;\n\t\tg_params.dynamicFriction = 0.5f;\n\t\tg_params.viscosity = 0.0f;\n\t\tg_params.numIterations = 12;\n\t\tg_params.particleCollisionMargin = g_params.radius*0.25f;\t// 5% collision margin\n\t\tg_params.sleepThreshold = g_params.radius*0.25f;\n\t\tg_params.shockPropagation = 6.f;\n\t\tg_params.restitution = 0.2f;\n\t\tg_params.relaxationFactor = 1.f;\n\t\tg_params.damping = 0.14f;\n\t\tg_params.numPlanes = 1;\n\t\t\n\t\t// draw options\n\t\tg_drawPoints = true;\t\t\n\t\tg_warmup = false;\n\n\t\t// hack, change the color of phase 0 particles to 'sand'\t\t\n\t\tg_colors[0] = Colour(0.805f, 0.702f, 0.401f);\t\t\n\t}\n\n\tvoid Update()\n\t{\n\t\t// launch ball after 3 seconds\n\t\tif (g_frame == 180)\n\t\t{\n\t\t\tfor (int i=0; i < g_numSolidParticles; ++i)\n\t\t\t{\n\t\t\t\tg_buffers->positions[i].w = 0.9f;\n\t\t\t\tg_buffers->velocities[i] = Vec3(-15.0f, 0.0f, 0.0f);\n\t\t\t}\n\t\t}\n\t}\n};"
  },
  {
    "path": "demo/scenes/granularshape.h",
    "content": "\n\n\nclass GranularShape : public Scene\n{\npublic:\n\n\tGranularShape(const char* name) : Scene(name) {}\n\n\tvoid Initialize()\n\t{\n\t\t// granular dragon\n\t\tCreateParticleShape(GetFilePathByPlatform(\"../../data/dragon.obj\").c_str(),Vec3(0.0f, 2.5f, 0.0f), 16.0f, DegToRad(-20.0f), g_params.radius*1.05f, Vec3(0.0f, 0.0f, 0.0f), 1.0f, false, 0.0f, NvFlexMakePhase(0, eNvFlexPhaseSelfCollide), false, g_params.radius*0.05f);\n\t\t\n\t\tAddBox(Vec3(8.0f, 8.0f, 5.0f));\n\t\tg_buffers->shapePositions[0] += Vec4(0.0f, -1.5f, 0.0f, 0.0f);\n\t\t\n\t\tg_params.staticFriction = 1.0f;\n\t\tg_params.dynamicFriction = 0.65f;\n\t\tg_params.dissipation = 0.01f;\n\t\tg_params.numIterations = 6;\n\t\tg_params.particleCollisionMargin = g_params.radius*0.5f;\t// 5% collision margin\n\t\tg_params.sleepThreshold = g_params.radius*0.35f;\n\t\tg_params.shockPropagation = 3.f;\n\t\tg_params.restitution = 0.01f;\n\t\tg_params.gravity[1] *= 1.f;\n\n\t\tg_numSubsteps = 3;\n\n\t\tg_colors[1] = Colour(0.805f, 0.702f, 0.401f);\t\t\n\n\t\t// draw options\t\t\n\t\tg_drawPoints = true;\n\t}\n};\n"
  },
  {
    "path": "demo/scenes/inflatable.h",
    "content": "\n\nclass Inflatable : public Scene\n{\npublic:\n\n\tInflatable(const char* name) : Scene(name) {}\n\n\tvirtual ~Inflatable()\n\t{\n\t\tfor (size_t i = 0; i < mCloths.size(); ++i)\n\t\t\tdelete mCloths[i];\n\t}\n\n\tvoid AddInflatable(const Mesh* mesh, float overPressure, int phase)\n\t{\n\t\tconst int startVertex = g_buffers->positions.size();\n\n\t\t// add mesh to system\n\t\tfor (size_t i = 0; i < mesh->GetNumVertices(); ++i)\n\t\t{\n\t\t\tconst Vec3 p = Vec3(mesh->m_positions[i]);\n\n\t\t\tg_buffers->positions.push_back(Vec4(p.x, p.y, p.z, 1.0f));\n\t\t\tg_buffers->velocities.push_back(0.0f);\n\t\t\tg_buffers->phases.push_back(phase);\n\t\t}\n\n\t\tint triOffset = g_buffers->triangles.size();\n\t\tint triCount = mesh->GetNumFaces();\n\n\t\tg_buffers->inflatableTriOffsets.push_back(triOffset / 3);\n\t\tg_buffers->inflatableTriCounts.push_back(mesh->GetNumFaces());\n\t\tg_buffers->inflatablePressures.push_back(overPressure);\n\n\t\tfor (size_t i = 0; i < mesh->m_indices.size(); i += 3)\n\t\t{\n\t\t\tint a = mesh->m_indices[i + 0];\n\t\t\tint b = mesh->m_indices[i + 1];\n\t\t\tint c = mesh->m_indices[i + 2];\n\n\t\t\tVec3 n = -Normalize(Cross(mesh->m_positions[b] - mesh->m_positions[a], mesh->m_positions[c] - mesh->m_positions[a]));\n\t\t\tg_buffers->triangleNormals.push_back(n);\n\n\t\t\tg_buffers->triangles.push_back(a + startVertex);\n\t\t\tg_buffers->triangles.push_back(b + startVertex);\n\t\t\tg_buffers->triangles.push_back(c + startVertex);\n\t\t}\n\n\t\t// create a cloth mesh using the global positions / indices\n\t\tClothMesh* cloth = new ClothMesh(&g_buffers->positions[0], g_buffers->positions.size(), &g_buffers->triangles[triOffset], triCount * 3, 0.8f, 1.0f);\n\n\t\tfor (size_t i = 0; i < cloth->mConstraintIndices.size(); ++i)\n\t\t\tg_buffers->springIndices.push_back(cloth->mConstraintIndices[i]);\n\n\t\tfor (size_t i = 0; i < cloth->mConstraintCoefficients.size(); ++i)\n\t\t\tg_buffers->springStiffness.push_back(cloth->mConstraintCoefficients[i]);\n\n\t\tfor (size_t i = 0; i < cloth->mConstraintRestLengths.size(); ++i)\n\t\t\tg_buffers->springLengths.push_back(cloth->mConstraintRestLengths[i]);\n\n\t\tmCloths.push_back(cloth);\n\n\t\t// add inflatable params\n\t\tg_buffers->inflatableVolumes.push_back(cloth->mRestVolume);\n\t\tg_buffers->inflatableCoefficients.push_back(cloth->mConstraintScale);\n\t}\n\n\tvoid Initialize()\n\t{\n\t\tmCloths.resize(0);\n\n\t\tfloat minSize = 0.75f;\n\t\tfloat maxSize = 1.0f;\n\n\t\t// convex rocks\n\t\tfor (int i = 0; i < 5; i++)\n\t\t\tAddRandomConvex(10, Vec3(i*2.0f, 0.0f, Randf(0.0f, 2.0f)), minSize, maxSize, Vec3(0.0f, 1.0f, 0.0f), Randf(0.0f, k2Pi));\n\n\t\tfloat radius = 0.12f;\n\t\tint group = 0;\n\n\t\tconst char* meshes[2] =\n\t\t{\n\t\t\t\"../../data/box_high_weld.ply\",\n\t\t\t\"../../data/sphere.ply\"\n\t\t};\n\n\t\tmPressure = 1.0f;\n\n\t\tfor (int y = 0; y < 2; ++y)\n\t\t{\n\t\t\tfor (int i = 0; i < 4; ++i)\n\t\t\t{\n\t\t\t\tMesh* mesh = ImportMesh(GetFilePathByPlatform(meshes[(i + y) & 1]).c_str());\n\t\t\t\tmesh->Normalize();\n\t\t\t\tmesh->Transform(TranslationMatrix(Point3(i*2.0f, 1.0f + y*2.0f, 1.5f)));\n\n\t\t\t\tAddInflatable(mesh, mPressure, NvFlexMakePhase(group++, 0));\n\n\t\t\t\tdelete mesh;\n\t\t\t}\n\t\t}\n\n\t\tg_params.radius = radius;\n\t\tg_params.dynamicFriction = 0.4f;\n\t\tg_params.dissipation = 0.0f;\n\t\tg_params.numIterations = 10;\n\t\tg_params.particleCollisionMargin = g_params.radius*0.05f;\n\t\tg_params.drag = 0.0f;\n\t\tg_params.collisionDistance = 0.01f;\n\n\t\t// better convergence with global relaxation factor\n\t\tg_params.relaxationMode = eNvFlexRelaxationGlobal;\n\t\tg_params.relaxationFactor = 0.25f;\n\n\t\tg_windStrength = 0.0f;\n\n\t\tg_numSubsteps = 2;\n\n\t\t// draw options\t\t\n\t\tg_drawPoints = false;\n\t\tg_drawSprings = 0;\n\t\tg_drawCloth = false;\n\t}\n\n\tvirtual void DoGui()\n\t{\n\t\tif (imguiSlider(\"Over Pressure\", &mPressure, 0.25f, 3.0f, 0.001f))\n\t\t{\n\t\t\tfor (int i = 0; i < int(g_buffers->inflatablePressures.size()); ++i)\n\t\t\t\tg_buffers->inflatablePressures[i] = mPressure;\n\t\t}\n\t}\n\n\tvirtual void Sync()\n\t{\n\t\tNvFlexSetInflatables(g_solver, g_buffers->inflatableTriOffsets.buffer, g_buffers->inflatableTriCounts.buffer, g_buffers->inflatableVolumes.buffer, g_buffers->inflatablePressures.buffer, g_buffers->inflatableCoefficients.buffer, mCloths.size());\n\t}\n\n\tvirtual void Draw(int pass)\n\t{\n\t\tif (!g_drawMesh)\n\t\t\treturn;\n\n\t\tint indexStart = 0;\n\n\t\tfor (size_t i = 0; i < mCloths.size(); ++i)\n\t\t{\n\t\t\tDrawCloth(&g_buffers->positions[0], &g_buffers->normals[0], NULL, &g_buffers->triangles[indexStart], mCloths[i]->mTris.size(), g_buffers->positions.size(), i % 6, g_params.radius*0.35f);\n\n\t\t\tindexStart += mCloths[i]->mTris.size() * 3;\n\t\t}\n\t}\n\n\tfloat mPressure;\n\n\tstd::vector<ClothMesh*> mCloths;\n};\n"
  },
  {
    "path": "demo/scenes/initialoverlap.h",
    "content": "\n\n// tests initial particle overlap, particle should be projected out of the box without high velocity\nclass InitialOverlap : public Scene\n{\npublic:\n\n\tInitialOverlap(const char* name) : Scene(name) {}\n\n\tvirtual void Initialize()\n\t{\n\t\tg_params.radius = 0.1f;\n\t\tg_params.numIterations = 2;\n\n\t\t// test max acceleration clamping is working, test at 5x gravity\n\t\tg_params.maxAcceleration = 50.0f;\n\n\t\t// plinth\n\t\tAddBox(1.0f, Vec3(0.0f, 0.0f, 0.0f));\n\n\t\tg_buffers->positions.push_back(Vec4(0.0f, 0.5f, 0.0f, 1.0f));\n\t\tg_buffers->velocities.push_back(Vec3(0.0f));\n\t\tg_buffers->phases.push_back(0);\n\n\t\tg_numSubsteps = 2;\n\n\t\t// draw options\t\t\n\t\tg_drawPoints = true;\n\t}\n};\n"
  },
  {
    "path": "demo/scenes/lighthouse.h",
    "content": "\n\nclass Lighthouse : public Scene\n{\npublic:\n\n\tLighthouse(const char* name) : Scene(name) {}\n\n\tvirtual void Initialize()\n\t{\n\t\tfloat radius = 0.15f;\n\t\tfloat restDistance = radius*0.6f;\n\n\t\tNvFlexDistanceFieldId sdf = CreateSDF(GetFilePathByPlatform(\"../../data/lighthouse.ply\").c_str(), 128);\n\t\tAddSDF(sdf, Vec3(4.0f, 0.0f, 0.0f), Quat(), 10.f);\n\n\t\tCreateParticleGrid(Vec3(0.0f, 0.3f, 0.0f), 48, 48, 128, restDistance, Vec3(0.0f), 1.0f, false, 0.0f, NvFlexMakePhase(0, eNvFlexPhaseSelfCollide | eNvFlexPhaseFluid), 0.005f);\n\n\t\tg_sceneLower = 0.0f;\n\t\tg_sceneUpper = Vec3(12, 0.0f, 0.0f);\n\n\t\tg_numSubsteps = 2;\n\n\t\tg_params.radius = radius;\n\t\tg_params.dynamicFriction = 0.f;\n\t\tg_params.viscosity = 0.01f;\n\t\tg_params.numIterations = 3;\n\t\tg_params.vorticityConfinement = 50.0f;\n\t\tg_params.fluidRestDistance = restDistance;\n\t\tg_params.gravity[1] *= 0.5f;\n\t\tg_params.cohesion *= 0.5f;\n\n\t\tg_fluidColor = Vec4(0.413f, 0.725f, 0.85f, 0.7f);\n\n\t\tg_maxDiffuseParticles = 1024 * 1024;\n\t\tg_diffuseScale = 0.3f;\n\t\tg_diffuseShadow = true;\n\t\tg_diffuseColor = 1.0f;\n\t\tg_diffuseMotionScale = 1.0f;\n\t\tg_params.diffuseThreshold *= 10.f;\n\t\tg_params.diffuseBallistic = 4;\n\t\tg_params.diffuseBuoyancy = 2.0f;\n\t\tg_params.diffuseDrag = 1.0f;\n\n\t\tg_params.numPlanes = 5;\n\n\t\tg_waveFrequency = 1.2f;\n\t\tg_waveAmplitude = 2.2f;\n\t\tg_waveFloorTilt = 0.1f;\n\n\n\t\t// draw options\t\t\n\t\tg_drawPoints = false;\n\t\tg_drawEllipsoids = true;\n\t\tg_drawDiffuse = true;\n\t}\n};"
  },
  {
    "path": "demo/scenes/localspacecloth.h",
    "content": "\n\n\nclass LocalSpaceCloth : public Scene\n{\npublic:\n\n\tLocalSpaceCloth (const char* name) : Scene(name) {}\n\n\tvoid Initialize()\n\t{\n\t\tfloat stretchStiffness = 1.0f;\n\t\tfloat bendStiffness = 1.0f;\n\t\tfloat shearStiffness = 1.0f;\n\n\t\tfloat radius = 0.1f;\n\n\t\tCreateSpringGrid(Vec3(0.5f, 1.45f, -0.5f), 32, 20, 1, radius*0.5f, NvFlexMakePhase(0, eNvFlexPhaseSelfCollide | eNvFlexPhaseSelfCollideFilter), stretchStiffness, bendStiffness, shearStiffness, Vec3(0.0f), 1.0f);\n\t\t\n\t\tint c1 = 1;\n\t\tint c2 = 20;\n\n\t\t// add tethers\n\t\tfor (int i=0; i < int(g_buffers->positions.size()); ++i)\n\t\t{\n\t\t\tfloat minSqrDist = FLT_MAX;\n\n\t\t\tif (i != c1 && i != c2)\n\t\t\t{\n\t\t\t\tfloat stiffness = -0.8f;\n\t\t\t\tfloat give = 0.01f;\n\n\t\t\t\tfloat sqrDist = LengthSq(Vec3(g_buffers->positions[c1])-Vec3(g_buffers->positions[c2]));\n\n\t\t\t\tif (sqrDist < minSqrDist)\n\t\t\t\t{\n\t\t\t\t\tCreateSpring(c1, i, stiffness, give);\n\t\t\t\t\tCreateSpring(c2, i, stiffness, give);\n\n\t\t\t\t\tminSqrDist = sqrDist;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t\n\n\n\t\tfor (int i=0; i < g_buffers->positions.size(); ++i)\n\t\t{\n\t\t\tif (g_buffers->positions[i].x == 0.5f)\n\t\t\t\tg_buffers->positions[i].w = 0.0f;\n\t\t}\n\n\t\ttranslation = Vec3(0.0f, 1.0f, 0.0f);\n\t\tsize = Vec3(0.5f, 1.1f, 0.6f);\n\t\trotation = 0.0f;\n\t\trotationSpeed = 0.0f;\n\n\t\tlinearInertialScale = 0.25f;\n\t\tangularInertialScale = 0.25f;\n\n\t\tAddBox(size, translation);\n\n\t\t// initialize our moving frame to the center of the box\n\t\tNvFlexExtMovingFrameInit(&meshFrame, translation, Quat());\n\n\t\tg_numSubsteps = 2;\n\n\t\tg_params.radius = radius;\n\t\tg_params.dynamicFriction = 0.f;\n\t\tg_params.restitution = 0.0f;\n\t\tg_params.shapeCollisionMargin = 0.05f;\n\n\t\tg_params.numIterations = 6;\n\t\n\t\t// draw options\t\t\n\t\tg_drawPoints = false;\n\t}\n\n\tvirtual void DoGui()\n\t{\n\t\timguiSlider(\"Rotation\", &rotationSpeed, 0.0f, 20.0f, 0.1f);\n\t\timguiSlider(\"Translation\", &translation.x, -2.0f, 2.0f, 0.001f);\n\n\t\timguiSlider(\"Linear Inertia\", &linearInertialScale, 0.0f, 1.0f, 0.001f);\n\t\timguiSlider(\"Angular Inertia\", &angularInertialScale, 0.0f, 1.0f, 0.001f);\n\n\t}\n\n\tvirtual void Update()\n\t{\n\t\trotation += rotationSpeed*g_dt;\n\n\t\t// new position of the box center\n\t\tVec3 newPosition = translation;//meshFrame.GetPosition() + Vec3(float(g_lastdx), 0.0f, float(g_lastdy))*0.001f;\n\t\tQuat newRotation = QuatFromAxisAngle(Vec3(0.0f, 1.0f, 0.0f), rotation);\n\n\t\tNvFlexExtMovingFrameUpdate(&meshFrame, newPosition, newRotation, g_dt);\n\n\t\t// update all the particles in the sim with inertial forces\n\t\tNvFlexExtMovingFrameApply(\n\t\t\t&meshFrame, \n\t\t\t&g_buffers->positions[0].x, \n\t\t\t&g_buffers->velocities[0].x, \n\t\t\tg_buffers->positions.size(),\n\t\t\tlinearInertialScale,\n\t\t\tangularInertialScale,\n\t\t\tg_dt);\n\n\t\t// update collision shapes\n\t\tg_buffers->shapePositions.resize(0);\n\t\tg_buffers->shapeRotations.resize(0);\n\t\tg_buffers->shapePrevPositions.resize(0);\n\t\tg_buffers->shapePrevRotations.resize(0);\n\t\tg_buffers->shapeGeometry.resize(0);\n\t\tg_buffers->shapeFlags.resize(0);\n\n\t\tAddBox(size, newPosition, newRotation);\n\t\t\n\t\tUpdateShapes();\n\t}\n\n\tVec3 size;\n\tVec3 translation;\n\tfloat rotation;\n\tfloat rotationSpeed;\n\n\tfloat linearInertialScale;\n\tfloat angularInertialScale;\n\n\tNvFlexExtMovingFrame meshFrame;\n\n\tNvFlexTriangleMeshId mesh;\n};\n"
  },
  {
    "path": "demo/scenes/localspacefluid.h",
    "content": "\n\nclass LocalSpaceFluid : public Scene\n{\npublic:\n\n\tLocalSpaceFluid (const char* name) : Scene(name) {}\n\n\tvoid Initialize()\n\t{\n\t\tconst float radius = 0.05f;\n\t\tconst float restDistance = radius*0.6f;\n\n\t\tint dx = int(ceilf(1.f / restDistance));\n\t\tint dy = int(ceilf(1.f / restDistance));\n\t\tint dz = int(ceilf(1.f / restDistance));\n\n\t\tCreateParticleGrid(Vec3(0.0f, 1.0f, 0.0f), dx, dy, dz, restDistance, Vec3(0.0f), 1.0f, false, 0.0f, NvFlexMakePhase(0, eNvFlexPhaseSelfCollide | eNvFlexPhaseFluid), restDistance*0.01f);\n\n\t\tVec3 lower, upper;\n\t\tGetParticleBounds(lower, upper);\n\n\t\tVec3 center = (lower+upper)*0.5f;\n\n\t\tMesh* shape = ImportMesh(\"../../data/torus.obj\");\n\t\tshape->Transform(ScaleMatrix(Vec3(0.7f)));\n\t\t\n\t\t//Mesh* box = ImportMesh(\"../../data/sphere.ply\");\n\t\t//box->Transform(TranslationMatrix(Point3(0.0f, 0.1f, 0.0f))*ScaleMatrix(Vec3(1.5f)));\n\n\t\t// invert box faces\n\t\tfor (int i=0; i < int(shape->GetNumFaces()); ++i)\n\t\t\tswap(shape->m_indices[i*3+0], shape->m_indices[i*3+1]);\t\t\n\n\t\tshape->CalculateNormals();\n\n\t\t// shift into torus interior\n\t\tfor (int i=0; i < g_buffers->positions.size(); ++i)\n\t\t\t(Vec3&)(g_buffers->positions[i]) -= Vec3(2.1f, 0.0f, 0.0f);\n\n\t\tmesh = CreateTriangleMesh(shape);\n\t\tAddTriangleMesh(mesh, Vec3(center), Quat(), 1.0f);\n\n\t\t// initialize our moving frame to the center of the box\n\t\tNvFlexExtMovingFrameInit(&meshFrame, center, Quat());\n\n\t\tg_numSubsteps = 2;\n\n\t\tg_params.radius = radius;\n\t\tg_params.fluidRestDistance = restDistance;\n\t\tg_params.dynamicFriction = 0.f;\n\t\tg_params.restitution = 0.0f;\n\t\tg_params.collisionDistance = 0.05f;\n\t\tg_params.shapeCollisionMargin = 0.00001f;\n\t\tg_params.maxSpeed = g_numSubsteps*restDistance/g_dt;\t\t\n\n\t\tg_params.numIterations = 4;\n\n\t\tg_params.smoothing = 0.4f;\n\t\tg_params.viscosity = 0.001f;\n\t\tg_params.cohesion = 0.05f;\n\t\tg_params.surfaceTension = 0.0f;\n\t\t\n\t\ttranslation = center;\n\t\trotation = 0.0f;\n\t\trotationSpeed = 0.0f;\n\n\t\tlinearInertialScale = 0.25f;\n\t\tangularInertialScale = 0.75f;\n\n\t\t// draw options\t\t\n\t\tg_drawPoints = false;\n\t\tg_drawEllipsoids = true;\n\t\tg_drawDiffuse = true;\n\t}\n\n\tvirtual void DoGui()\n\t{\n\t\timguiSlider(\"Rotation\", &rotationSpeed, 0.0f, 7.0f, 0.1f);\n\t\timguiSlider(\"Translation\", &translation.x, -2.0f, 2.0f, 0.001f);\n\t\timguiSlider(\"Linear Inertia\", &linearInertialScale, 0.0f, 1.0f, 0.001f);\n\t\timguiSlider(\"Angular Inertia\", &angularInertialScale, 0.0f, 1.0f, 0.001f);\n\t}\n\n\tvirtual void Update()\n\t{\n\t\trotation += rotationSpeed*g_dt;\n\n\t\t// new position of the box center\n\t\tVec3 newPosition = translation;//meshFrame.GetPosition() + Vec3(float(g_lastdx), 0.0f, float(g_lastdy))*0.001f;\n\t\tQuat newRotation = QuatFromAxisAngle(Vec3(0.0f, 1.0f, 0.0f), rotation);\n\n\t\tNvFlexExtMovingFrameUpdate(&meshFrame, newPosition, newRotation, g_dt);\n\n\t\t// update all the particles in the sim with inertial forces\n\t\tNvFlexExtMovingFrameApply(\n\t\t\t&meshFrame, \n\t\t\t&g_buffers->positions[0].x, \n\t\t\t&g_buffers->velocities[0].x, \n\t\t\tg_buffers->positions.size(),\n\t\t\tlinearInertialScale,\n\t\t\tangularInertialScale,\n\t\t\tg_dt);\n\n\t\t// update torus transform\n\t\tg_buffers->shapePrevPositions[0] = g_buffers->shapePositions[0];\n\t\tg_buffers->shapePrevRotations[0] = g_buffers->shapeRotations[0];\n\n\t\tg_buffers->shapePositions[0] = Vec4(newPosition, 1.0f);\n\t\tg_buffers->shapeRotations[0] = newRotation;\n\n\t\tUpdateShapes();\n\t}\n\n\tVec3 translation;\n\tfloat rotation;\n\tfloat rotationSpeed;\n\n\tfloat linearInertialScale;\n\tfloat angularInertialScale;\n\n\tNvFlexExtMovingFrame meshFrame;\n\n\tNvFlexTriangleMeshId mesh;\n};"
  },
  {
    "path": "demo/scenes/lowdimensionalshapes.h",
    "content": "\nclass LowDimensionalShapes: public Scene\n{\npublic:\n\n\tLowDimensionalShapes(const char* name) : Scene(name) {}\n\n\tvirtual void Initialize()\n\t{\n\t\tfloat radius = 0.1f;\n\t\tint group = 0;\n\n\t\tMesh* mesh = ImportMesh(GetFilePathByPlatform(\"../../data/box.ply\").c_str());\n\n\t\tCreateParticleShape(mesh, Vec3(0.0f, 1.0f, 0.0f), Vec3(1.2f, 0.001f, 1.2f), 0.0f, radius, Vec3(0.0f, 0.0f, 0.0f), 1.0f, true, 1.0f, NvFlexMakePhase(group++, 0), true, 0.0f);\n\n\t\tfor (int i=0; i < 64; ++i)\n\t\t\tCreateParticleShape(mesh, Vec3(i / 8 * radius, 0.0f, i % 8 * radius), Vec3(0.1f, 0.8f, 0.1f), 0.0f, radius, Vec3(0.0f, 0.0f, 0.0f), 1.0f, true, 1.0f, NvFlexMakePhase(group++, 0), true, 0.0f);\n\n\t\tdelete mesh;\n\n\t\tg_params.radius = radius;\n\t\tg_params.dynamicFriction = 1.0f;\n\t\tg_params.fluidRestDistance = radius;\n\t\tg_params.viscosity = 0.0f;\n\t\tg_params.numIterations = 4;\n\t\tg_params.vorticityConfinement = 0.f;\n\t\tg_params.numPlanes = 1;\n\t\tg_params.collisionDistance = radius*0.5f;\n\t\tg_params.shockPropagation = 5.0f;\n\t\t\t\t\n\t\tg_numSubsteps = 2;\n\n\t\tg_maxDiffuseParticles = 0;\n\t\tg_diffuseScale = 0.75f;\n\n\t\tg_lightDistance *= 1.5f;\n\t\t\n\t\tg_fluidColor = Vec4(0.2f, 0.6f, 0.9f, 1.0f);\n\n\t\t// draw options\n\t\tg_drawDensity = false;\n\t\tg_drawDiffuse = false;\n\t\tg_drawEllipsoids = false;\n\t\tg_drawPoints = true;\n\t\tg_drawMesh = false;\n\n\t\tg_warmup = false;\n\n\t}\n\t\t\n};\n"
  },
  {
    "path": "demo/scenes/melting.h",
    "content": "\nclass Melting : public Scene\n{\npublic:\n\n\tMelting(const char* name) : Scene(name) {}\n\n\tvirtual void Initialize()\n\t{\n\t\tg_params.radius = 0.1f;\n\n\t\tg_params.numIterations = 2;\n\t\tg_params.dynamicFriction = 0.25f;\n\t\tg_params.dissipation = 0.0f;\n\t\tg_params.viscosity = 0.0f;\n\t\tg_params.cohesion = 0.0f;\n\t\tg_params.fluidRestDistance = g_params.radius*0.6f;\n\t\tg_params.smoothing = 0.5f;\n\n\t\tconst float spacing = g_params.radius*0.5f;\n\n\t\tMesh* mesh = ImportMesh(GetFilePathByPlatform(\"../../data/bunny.ply\").c_str());\n\n\t\tint phase = NvFlexMakePhase(0, eNvFlexPhaseSelfCollide | eNvFlexPhaseFluid);\n\t\tfloat size = 1.2f;\n\n\t\tfor (int i = 0; i < 1; ++i)\n\t\t\tfor (int j = 0; j < 3; ++j)\n\t\t\t\tCreateParticleShape(mesh, Vec3(-2.0f + j*size, 3.0f + j*size, i*size), size, 0.0f, spacing, Vec3(0.0f, 0.0f, 0.0f), 1.0f, true, 1.f, phase, false, 0.0f);\n\n\t\tdelete mesh;\n\n\t\t// plinth\n\t\tAddBox(2.0f, Vec3(0.0f, 1.0f, 0.0f));\n\n\t\tg_numSubsteps = 2;\n\n\t\t// draw options\t\t\n\t\tg_drawPoints = true;\n\t\tg_drawMesh = false;\n\n\t\tmFrame = 0;\n\t}\n\n\tvirtual void Update()\n\t{\n\t\tconst int start = 130;\n\n\t\tif (mFrame >= start)\n\t\t{\n\t\t\tfloat stiffness = max(0.0f, 1.0f - (mFrame - start) / 100.0f);\n\n\t\t\tfor (int i = 0; i < g_buffers->rigidCoefficients.size(); ++i)\n\t\t\t\tg_buffers->rigidCoefficients[i] = stiffness;\n\n\t\t\tg_params.cohesion = Lerp(0.05f, 0.0f, stiffness);\n\t\t}\n\n\t\t++mFrame;\n\t}\n\n\tvirtual void Sync()\n\t{\n\t\tNvFlexSetRigids(g_solver, g_buffers->rigidOffsets.buffer, g_buffers->rigidIndices.buffer, g_buffers->rigidLocalPositions.buffer, g_buffers->rigidLocalNormals.buffer, g_buffers->rigidCoefficients.buffer, g_buffers->rigidPlasticThresholds.buffer, g_buffers->rigidPlasticCreeps.buffer, g_buffers->rigidRotations.buffer, g_buffers->rigidTranslations.buffer, g_buffers->rigidOffsets.size() - 1, g_buffers->rigidIndices.size());\n\t}\n\n\tint mFrame;\n};"
  },
  {
    "path": "demo/scenes/mixedpile.h",
    "content": "\n/*\nclass MixedPile : public Scene\n{\npublic:\n\n\tMixedPile(const char* name) : Scene(name)\n\t{\n\t}\n\t\n\n\tstd::vector<ClothMesh*> mCloths;\n\tstd::vector<float> mRestVolume;\n\tstd::vector<int> mTriOffset;\n\tstd::vector<int> mTriCount;\n\tstd::vector<float> mOverPressure;\n\tstd::vector<float> mConstraintScale;\n\tstd::vector<float> mSplitThreshold;\n\n\tvoid AddInflatable(const Mesh* mesh, float overPressure, int phase, float invmass=1.0f)\n\t{\n\t\tconst int startVertex = g_buffers->positions.size();\n\n\t\t// add mesh to system\n\t\tfor (size_t i=0; i < mesh->GetNumVertices(); ++i)\n\t\t{\n\t\t\tconst Vec3 p = Vec3(mesh->m_positions[i]);\n\t\t\t\t\n\t\t\tg_buffers->positions.push_back(Vec4(p.x, p.y, p.z, invmass));\n\t\t\tg_buffers->velocities.push_back(0.0f);\n\t\t\tg_buffers->phases.push_back(phase);\n\t\t}\n\n\t\tint triOffset = g_buffers->triangles.size();\n\t\tint triCount = mesh->GetNumFaces();\n\n\t\tmTriOffset.push_back(triOffset/3);\n\t\tmTriCount.push_back(mesh->GetNumFaces());\n\t\tmOverPressure.push_back(overPressure);\n\n\t\tfor (size_t i=0; i < mesh->m_indices.size(); i+=3)\n\t\t{\n\t\t\tint a = mesh->m_indices[i+0];\n\t\t\tint b = mesh->m_indices[i+1];\n\t\t\tint c = mesh->m_indices[i+2];\n\n\t\t\tVec3 n = -Normalize(Cross(mesh->m_positions[b]-mesh->m_positions[a], mesh->m_positions[c]-mesh->m_positions[a]));\n\t\t\tg_buffers->triangleNormals.push_back(n);\n\n\t\t\tg_buffers->triangles.push_back(a + startVertex);\n\t\t\tg_buffers->triangles.push_back(b + startVertex);\n\t\t\tg_buffers->triangles.push_back(c + startVertex);\n\t\t}\n\n\t\t// create a cloth mesh using the global positions / indices\n\t\tClothMesh* cloth = new ClothMesh(&g_buffers->positions[0], g_buffers->positions.size(), &g_buffers->triangles[triOffset],triCount*3, 0.8f, 1.0f);\n\n\t\tfor (size_t i=0; i < cloth->mConstraintIndices.size(); ++i)\n\t\t\tg_buffers->springIndices.push_back(cloth->mConstraintIndices[i]);\n\n\t\tfor (size_t i=0; i < cloth->mConstraintCoefficients.size(); ++i)\n\t\t\tg_buffers->springStiffness.push_back(cloth->mConstraintCoefficients[i]);\n\n\t\tfor (size_t i=0; i < cloth->mConstraintRestLengths.size(); ++i)\n\t\t\tg_buffers->springLengths.push_back(cloth->mConstraintRestLengths[i]);\n\n\t\tmCloths.push_back(cloth);\n\n\t\t// add inflatable params\n\t\tmRestVolume.push_back(cloth->mRestVolume);\n\t\tmConstraintScale.push_back(cloth->mConstraintScale);\n\t}\n\n\n\tvirtual void Initialize()\n\t{\n\t\t\n\t\tVec3 start(0.0f, 0.5f + g_params.radius*0.25f, 0.0f);\n\n\t\tfloat radius = g_params.radius;\n\n\t\tint group = 1;\n\t\t\n\t\tif (1)\n\t\t{\n\t\t\tmCloths.resize(0);\n\t\t\tmRestVolume.resize(0);\n\t\t\tmTriOffset.resize(0);\n\t\t\tmTriCount.resize(0);\n\t\t\tmOverPressure.resize(0);\n\t\t\tmConstraintScale.resize(0);\n\t\t\tmSplitThreshold.resize(0);\n\n\t\t\tVec3 lower(0.0f), upper(0.0f);\n\t\t\tfloat size = 1.0f + radius;\n\n\t\t\tfor (int i=0; i < 9; ++i)\n\t\t\t\t{\n\t\t\t\tMesh* mesh = ImportMesh(GetFilePathByPlatform(\"../../data/sphere.ply\").c_str());\n\t\t\t\tmesh->Normalize();\n\t\t\t\tmesh->Transform(TranslationMatrix(Point3(lower.x + i%3*size, upper.y + 2.0f, (upper.z+lower.z)*0.5f + i/3*size)));\n\t\t\t\t\n\t\t\t\tAddInflatable(mesh, 1.0f, NvFlexMakePhase(group++, 0), 2.0f);\n\t\t\t\tdelete mesh;\n\t\t\t}\n\t\t}\n\n\n\t\tif (1)\n\t\t{\n\t\t\tconst int minSize[3] = { 2, 1, 3 };\n\t\t\tconst int maxSize[3] = { 4, 3, 6 };\n\n\t\t\tVec4 color = Vec4(SrgbToLinear(Colour(Vec4(201.0f, 158.0f, 106.0f, 255.0f)/255.0f)));\n\n\t\t\tVec3 lower(0.0f), upper(5.0f);\n\t\t\tGetParticleBounds(lower,upper);\n\n\t\t\tint dimx = 3;\n\t\t\tint dimy = 10;\n\t\t\tint dimz = 3;\n\n\t\t\tfor (int y=0; y < dimy; ++y)\n\t\t\t{\n\t\t\t\tfor (int z=0; z < dimz; ++z)\n\t\t\t\t{\n\t\t\t\t\tfor (int x=0; x < dimx; ++x)\n\t\t\t\t\t{\n\t\t\t\t\t\tCreateParticleShape(\n\t\t\t\t\t\tGetFilePathByPlatform(\"../../data/box.ply\").c_str(), \t\t\t\t\t\n\t\t\t\t\t\tVec3(x + 0.5f,0,z+ 0.5f)*(1.0f+radius) + Vec3(0.0f, upper.y + (y+2.0f)*maxSize[1]*g_params.radius, 0.0f),\n\t\t\t\t\t\tVec3(float(Rand(minSize[0], maxSize[0])),\n\t\t\t\t\t\t\t float(Rand(minSize[1], maxSize[1])), \n\t\t\t\t\t\t\t float(Rand(minSize[2], maxSize[2])))*g_params.radius*0.9f, 0.0f, g_params.radius*0.9f, Vec3(0.0f), 1.0f, true, 1.0f, NvFlexMakePhase(group++, 0), true,0.0f,0.0f, 0.0f, color);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\t\t\n\n\t\t\n\t\tif (1)\n\t\t{\n\t\t\tVec3 lower, upper;\n\t\t\tGetParticleBounds(lower,upper);\n\t\t\tVec3 center = (upper+lower)*0.5f;\n\t\t\tcenter.y = upper.y;\n\t\t\n\t\t\tfor (int i=0; i < 20; ++i)\n\t\t\t{\n\t\t\t\tRope r;\n\t\t\t\tVec3 offset = Vec3(sinf(k2Pi*float(i)/20), 0.0f, cosf(k2Pi*float(i)/20));\n\n\t\t\t\tCreateRope(r, center + offset, Normalize(offset + Vec3(0.0f, 4.0f, 0.0f)), 1.2f, 50, 50*radius, NvFlexMakePhase(group++, eNvFlexPhaseSelfCollide), 0.0f, 10.0f, 0.0f);\n\t\t\t\tg_ropes.push_back(r);\n\t\t\t}\n\t\t}\n\n\t\tVec3 lower, upper;\n\t\tGetParticleBounds(lower, upper);\n\n\t\tVec3 center = (lower+upper)*0.5f;\n\t\tcenter.y = 0.0f;\n\n\t\tfloat width = (upper-lower).x;\n\t\tfloat edge = 0.25f;\n\t\tfloat height = 1.0f;\n\t\tAddBox(Vec3(edge, height, width), center + Vec3(-width, height/2.0f, 0.0f));\n\t\tAddBox(Vec3(edge, height, width), center + Vec3(width, height/2.0f, 0.0f));\n\n\t\tAddBox(Vec3(width-edge, height, edge), center + Vec3(0.0f, height/2.0f, width-edge));\n\t\tAddBox(Vec3(width-edge, height, edge), center + Vec3(0.0f, height/2.0f, -(width-edge)));\n\t\n\t\t//g_numExtraParticles = 32*1024;\t\t\n\t\tg_numSubsteps = 2;\n\t\tg_params.numIterations = 7;\n\n\t\tg_params.radius *= 1.0f;\n\t\tg_params.solidRestDistance = g_params.radius;\n\t\tg_params.fluidRestDistance = g_params.radius*0.55f;\n\t\tg_params.dynamicFriction = 0.6f;\n\t\tg_params.staticFriction = 0.75f;\n\t\tg_params.particleFriction = 0.3f;\n\t\tg_params.dissipation = 0.0f;\n\t\tg_params.particleCollisionMargin = g_params.radius*0.05f;\n\t\tg_params.sleepThreshold = g_params.radius*0.125f;\n\t\tg_params.shockPropagation = 0.0f;\n\t\tg_params.restitution = 0.0f;\n\t\tg_params.collisionDistance = g_params.radius*0.5f;\n\t\tg_params.maxSpeed = 2.0f*g_params.radius*g_numSubsteps/g_dt;\n\n\t\t// separte solid particle count\n\t\tg_numSolidParticles = g_buffers->positions.size();\n\t\t// number of fluid particles to allocate\n\t\tg_numExtraParticles = 32*1024;\t\t\n\t\t\n\t\tg_params.numPlanes = 1;\n\t\tg_windStrength = 0.0f;\n\n\t\tg_lightDistance *= 0.5f;\n\n\t\t// draw options\n\t\tg_drawPoints = true;\n\t\tg_expandCloth = g_params.radius*0.5f;\n\t\t\n\t\tg_emitters[0].mEnabled = true;\n\t\tg_emitters[0].mSpeed = (g_params.radius*0.5f/g_dt);\n\t\tg_emitters[0].mSpeed = (g_params.radius/g_dt);\n\n\t\textern Colour g_colors[];\n\t\tg_colors[0] = Colour(0.805f, 0.702f, 0.401f);\t\t\n\t}\n\n\tvirtual void Update()\n\t{\n\t\tNvFlexSetInflatables(g_solver, &mTriOffset[0], &mTriCount[0], &mRestVolume[0], &mOverPressure[0], &mConstraintScale[0], mCloths.size(), eFlexMemoryHost);\n\t}\n\t\n\tint mHeight;\n};\n*/\n"
  },
  {
    "path": "demo/scenes/nonconvex.h",
    "content": "\n\nclass NonConvex : public Scene\n{\npublic:\n\n\tNonConvex(const char* name) : Scene(name)\n\t{\n\t}\n\n\tvirtual void Initialize()\n\t{\n\t\tfloat radius = 0.15f;\n\t\tint group = 0;\n\n\t\tfor (int i = 0; i < 1; ++i)\n\t\t\tCreateParticleShape(GetFilePathByPlatform(\"../../data/bowl.obj\").c_str(), Vec3(0.0f, 1.0f + 0.5f*i + radius*0.5f, 0.0f), Vec3(1.5f), 0.0f, radius*0.8f, Vec3(0.0f), 1.0f, true, 1.0f, NvFlexMakePhase(group++, 0), true, 0.0f, Vec3(0.0f));\n\n\t\tfor (int i = 0; i < 50; ++i)\n\t\t\tCreateParticleShape(GetFilePathByPlatform(\"../../data/banana.obj\").c_str(), Vec3(0.4f, 2.5f + i*0.25f, 0.25f) + RandomUnitVector()*radius*0.25f, Vec3(1), 0.0f, radius, Vec3(0.0f), 1.0f, true, 0.5f, NvFlexMakePhase(group++, 0), true, radius*0.1f, 0.0f, 0.0f, 1.25f*Vec4(0.875f, 0.782f, 0.051f, 1.0f));\n\n\t\tAddBox();\n\n\t\tg_numSubsteps = 3;\n\t\tg_params.numIterations = 3;\n\n\t\tg_params.radius *= 1.0f;\n\t\tg_params.dynamicFriction = 0.35f;\n\t\tg_params.dissipation = 0.0f;\n\t\tg_params.particleCollisionMargin = g_params.radius*0.05f;\n\t\tg_params.sleepThreshold = g_params.radius*0.2f;\n\t\tg_params.shockPropagation = 3.0f;\n\t\tg_params.gravity[1] *= 1.0f;\n\t\tg_params.restitution = 0.01f;\n\t\tg_params.damping = 0.25f;\n\n\t\t// draw options\n\t\tg_drawPoints = false;\n\n\t\tg_emitters[0].mEnabled = true;\n\t\tg_emitters[0].mSpeed = (g_params.radius*2.0f / g_dt);\n\t}\n\n\tvirtual void Update()\n\t{\n\t}\n};"
  },
  {
    "path": "demo/scenes/parachutingbunnies.h",
    "content": "\nclass ParachutingBunnies : public Scene\n{\npublic:\n\n\tParachutingBunnies(const char* name) : Scene(name) {}\n\n\tvoid Initialize()\n\t{\n\t\tfloat stretchStiffness = 1.0f;\n\t\tfloat bendStiffness = 0.8f;\n\t\tfloat shearStiffness = 0.8f;\n\n\t\tint dimx = 32;\n\t\tint dimy = 32;\n\t\tfloat radius = 0.055f;\n\n\t\tfloat height = 10.0f;\n\t\tfloat spacing = 1.5f;\n\t\tint numBunnies = 2;\n\t\tint group = 0;\n\n\t\tfor (int i=0; i < numBunnies; ++i)\n\t\t{\n\t\t\tCreateSpringGrid(Vec3(i*dimx*radius, height + i*spacing, 0.0f), dimx, dimy, 1, radius, NvFlexMakePhase(group++, eNvFlexPhaseSelfCollide), stretchStiffness, bendStiffness, shearStiffness, Vec3(0.0f), 1.1f);\n\n\t\t\tconst int startIndex = i*dimx*dimy;\n\n\t\t\tint corner0 = startIndex + 0;\n\t\t\tint corner1 = startIndex + dimx-1;\n\t\t\tint corner2 = startIndex + dimx*(dimy-1);\n\t\t\tint corner3 = startIndex + dimx*dimy-1;\n\n\t\t\tCreateSpring(corner0, corner1, 1.f,-0.1f);\n\t\t\tCreateSpring(corner1, corner3, 1.f,-0.1f);\n\t\t\tCreateSpring(corner3, corner2, 1.f,-0.1f);\n\t\t\tCreateSpring(corner0, corner2, 1.f,-0.1f);\n\t\t}\n\n\t\tfor (int i=0; i < numBunnies; ++i)\n\t\t{\t\t\n\t\t\tVec3 velocity = RandomUnitVector()*1.0f;\n\t\t\tfloat size = radius*8.5f;\n\n\t\t\tCreateParticleShape(GetFilePathByPlatform(\"../../data/bunny.ply\").c_str(), Vec3(i*dimx*radius + radius*0.5f*dimx - 0.5f*size, height + i*spacing-0.5f, radius*0.5f*dimy - 0.5f), size, 0.0f, radius, velocity, 0.15f, true, 1.0f, NvFlexMakePhase(group++, 0), true, 0.0f);\t\t\t\n\n\t\t\tconst int startIndex = i*dimx*dimy;\n\t\t\tconst int attachIndex = g_buffers->positions.size()-1;\n\t\t\tg_buffers->positions[attachIndex].w = 2.0f;\n\n\t\t\tint corner0 = startIndex + 0;\n\t\t\tint corner1 = startIndex + dimx-1;\n\t\t\tint corner2 = startIndex + dimx*(dimy-1);\n\t\t\tint corner3 = startIndex + dimx*dimy-1;\n\n\t\t\tVec3 attachPosition = (Vec3(g_buffers->positions[corner0]) + Vec3(g_buffers->positions[corner1]) + Vec3(g_buffers->positions[corner2]) + Vec3(g_buffers->positions[corner3]))*0.25f;\n\t\t\tattachPosition.y = height + i*spacing-0.5f;\n\n\t\t\tif (1)\n\t\t\t{\n\t\t\t\tint c[4] = {corner0, corner1, corner2, corner3};\n\n\t\t\t\tfor (int i=0; i < 4; ++i)\n\t\t\t\t{\n\t\t\t\t\tRope r;\n\n\t\t\t\t\tint start = g_buffers->positions.size();\n\t\n\t\t\t\t\tr.mIndices.push_back(attachIndex);\n\n\t\t\t\t\tVec3 d0 = Vec3(g_buffers->positions[c[i]])-attachPosition;\n\t\t\t\t\tCreateRope(r, attachPosition, Normalize(d0), 1.2f, int(Length(d0)/radius*1.1f), Length(d0), NvFlexMakePhase(group++, 0), 0.0f, 0.5f, 0.0f);\n\n\t\t\t\t\tr.mIndices.push_back(c[i]);\n\t\t\t\t\tg_ropes.push_back(r);\n\n\t\t\t\t\tint end = g_buffers->positions.size()-1;\n\t\t\t\t\t\n\n\t\t\t\t\tCreateSpring(attachIndex, start, 1.2f, -0.5f);\n\t\t\t\t\tCreateSpring(c[i], end, 1.0f);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (1)\n\t\t{\n\t\t\t// falling objects\n\t\t\tVec3 lower, upper;\n\t\t\tGetParticleBounds(lower, upper);\n\n\t\t\tVec3 center = (lower+upper)*0.5f;\n\t\t\tcenter.y = 0.0f;\n\n\t\t\tfloat width = (upper-lower).x*0.5f;\n\t\t\tfloat edge = 0.125f;\n\t\t\tfloat height = 0.5f;\n\t\t\n\t\t\t// big blocks\n\t\t\tfor (int i=0; i < 3; ++i)\n\t\t\t\tCreateParticleShape(GetFilePathByPlatform(\"../../data/box.ply\").c_str(), center + Vec3(float(i)-1.0f, 5.0f, 0.0f), radius*9, 0.0f, radius*0.9f, Vec3(0.0f), 0.5f, true, 1.0f, NvFlexMakePhase(group++, 0), true, 0.0f, 0.0f, -radius*1.5f);\t\t\n\n\t\t\t// small blocks\t\t\t\n\t\t\tfor (int j=0; j < 2; ++j)\n\t\t\t\tfor (int i=0; i < 8; ++i)\n\t\t\t\t\tCreateParticleShape(GetFilePathByPlatform(\"../../data/box.ply\").c_str(), Vec3(lower.x + 0.5f, 0.0f, lower.z - 0.5f) + Vec3(float(i/3), 6.0f + float(j), float(i%3)) + RandomUnitVector()*0.5f, radius*4, 0.0f, radius*0.9f, Vec3(0.0f), 1.f, true, 1.0f, NvFlexMakePhase(group++, 0), true, 0.0f, 0.0f, -radius*2.0f);\t\t\t\n\n\t\t\tg_numSolidParticles = g_buffers->positions.size();\n\n\t\t\t{\n\t\t\t\tAddBox(Vec3(edge, height, width+edge*2.0f), center + Vec3(-width - edge, height/2.0f, 0.0f));\n\t\t\t\tAddBox(Vec3(edge, height, width+edge*2.0f), center + Vec3(width + edge, height/2.0f, 0.0f));\n\n\t\t\t\tAddBox(Vec3(width+2.0f*edge, height, edge), center + Vec3(0.0f, height/2.0f, -(width+edge)));\n\t\t\t\tAddBox(Vec3(width+2.0f*edge, height, edge), center + Vec3(0.0f, height/2.0f, width+edge));\n\n\t\t\t\tfloat fluidWidth = width;\n\t\t\t\tfloat fluidHeight = height*1.25f;\n\n\t\t\t\tint particleWidth = int(2.0f*fluidWidth/radius);\n\t\t\t\tint particleHeight = int(fluidHeight/radius); \n\n\t\t\t\tCreateParticleGrid(center - Vec3(fluidWidth, 0.0f, fluidWidth), particleWidth, particleHeight, particleWidth, radius, Vec3(0.0f), 2.0f, false, 0.0f, NvFlexMakePhase(group++, eNvFlexPhaseSelfCollide | eNvFlexPhaseFluid));\n\t\t\t}\n\t\t}\n\n\t\tg_params.radius = 0.1f;\n\t\tg_params.fluidRestDistance = radius;\n\t\tg_params.numIterations = 4;\n\t\tg_params.viscosity = 1.0f;\n\t\tg_params.dynamicFriction = 0.05f;\n\t\tg_params.staticFriction = 0.0f;\n\t\tg_params.particleCollisionMargin = 0.0f;\n\t\tg_params.collisionDistance = g_params.fluidRestDistance*0.5f;\n\t\tg_params.vorticityConfinement = 120.0f;\n\t\tg_params.cohesion = 0.0025f;\n\t\tg_params.drag = 0.06f;\n\t\tg_params.lift = 0.f;\n\t\tg_params.solidPressure = 0.0f;\n\t\tg_params.smoothing = 1.0f;\n\t\tg_params.relaxationFactor = 1.0f;\n\t\t\n\t\tg_maxDiffuseParticles = 64*1024;\n\t\tg_diffuseScale = 0.25f;\t\t\n\t\tg_diffuseShadow = false;\n\t\tg_diffuseColor = 2.5f;\n\t\tg_diffuseMotionScale = 1.5f;\n\t\tg_params.diffuseThreshold *= 0.01f;\n\t\tg_params.diffuseBallistic = 35;\n\n\t\tg_windStrength = 0.0f;\n\t\tg_windFrequency = 0.0f;\n\n\t\tg_numSubsteps = 2;\n\n\t\t// draw options\t\t\n\t\tg_drawEllipsoids = true;\n\t\tg_drawPoints = false;\n\t\tg_drawDiffuse = true;\n\t\tg_drawSprings = 0;\n\n\t\tg_ropeScale = 0.2f;\n\t\tg_warmup = false;\n\t}\n};\n"
  },
  {
    "path": "demo/scenes/pasta.h",
    "content": "\nclass Pasta : public Scene\n{\npublic:\n\n\tPasta(const char* name) : Scene(name) {}\n\n\tvirtual void Initialize()\n\t{\n\t\tfloat radius = 0.1f;\n\t\tfloat length = 15.0f;\n\t\tint n = 20;\n\n\t\tfor (int i = 0; i < n; ++i)\n\t\t{\n\t\t\tfloat theta = k2Pi*float(i) / n;\n\n\t\t\tRope r;\n\t\t\tCreateRope(r, 0.5f*Vec3(cosf(theta), 2.0f, sinf(theta)), Vec3(0.0f, 1.0f, 0.0f), 0.25f, int(length / radius), length, NvFlexMakePhase(0, eNvFlexPhaseSelfCollide));\n\t\t\tg_ropes.push_back(r);\n\t\t}\n\n\t\tg_numSubsteps = 3;\n\n\t\tMesh* bowl = ImportMesh(GetFilePathByPlatform(\"../../data/bowl.obj\").c_str());\n\t\tbowl->Normalize(2.0f);\n\t\tbowl->CalculateNormals();\n\t\tbowl->Transform(TranslationMatrix(Point3(-1.0f, 0.0f, -1.0f)));\n\n\t\tNvFlexTriangleMeshId mesh = CreateTriangleMesh(bowl);\n\t\tAddTriangleMesh(mesh, Vec3(), Quat(), 1.0f);\n\n\t\tdelete bowl;\n\n\t\tg_params.numIterations = 6;\n\t\tg_params.radius = radius;\n\t\tg_params.dynamicFriction = 0.4f;\n\t\tg_params.dissipation = 0.001f;\n\t\tg_params.sleepThreshold = g_params.radius*0.2f;\n\t\tg_params.relaxationFactor = 1.3f;\n\t\tg_params.restitution = 0.0f;\n\t\tg_params.shapeCollisionMargin = 0.01f;\n\n\t\tg_lightDistance *= 0.5f;\n\t\tg_drawPoints = false;\n\t}\n};"
  },
  {
    "path": "demo/scenes/player.h",
    "content": "\n\n/*\nclass Player : public Scene\n{ \npublic:\n\n\tPlayer(const char* filename) : Scene(\"Player\"), mFilename(filename), mRecording(NULL)\n\t{\t\n\t}\n\n\tvirtual void Initialize()\n\t{\n\t\tif (!mRecording)\n\t\t\tmRecording = fopen(mFilename, \"rb\");\n\n\t\tif (mRecording)\n\t\t\tfseek(mRecording, 0, SEEK_SET);\n\n\t\t// read first frame\n\t\tReadFrame();\n\n\t\tg_lightDistance = 100.0f;\n\t\tg_fogDistance = 0.0f;\n\n\t\tg_camSpeed *= 100.0f;\n\t\tg_camNear *= 100.0f;\n\t\tg_camFar *= 100.0f;\n\t\tg_pause = true;\n\t\t\n\t\tg_dt = 1.0f/30.0f;\n\t\tg_numSubsteps = 2;\n\n\t\tg_drawPoints = true;\n\n\t\tmInitialActive = g_buffers->activeIndices;\n\t}\n\n\tvirtual void PostInitialize()\n\t{\n\t\tg_buffers->activeIndices = mInitialActive;\n\n\t\tNvFlexSetActive(g_solver, &mInitialActive[0], mInitialActive.size(), eFlexMemoryHost);\n\t}\n\n\tvirtual Matrix44 GetBasis()\n\t{\n\t\t// Coordinate fip for Unreal captures \n\n\t\tMatrix44 flip = Matrix44::kIdentity;\n\t\tflip.SetCol(1, Vec4(0.0f, 0.0f, -1.0f, 0.0f));\n\t\tflip.SetCol(2, Vec4(0.0f, 1.0f, 0.0f, 0.0f));\n\n\t\treturn flip;\n\t}\n\n\ttemplate<typename Element>\n\tvoid ReadArray(std::vector<Element>& dest, bool enable=true)\n\t{\n\t\tif (feof(mRecording))\n\t\t\treturn;\n\n\t\tint length;\n\t\tint r;\n\t\tr = fread(&length, sizeof(int), 1, mRecording);\n\t\t\t\n\t\tif (feof(mRecording))\n\t\t\treturn;\n\n\t\tif (enable)\n\t\t{\n\t\t\tint numElements = length/sizeof(Element);\n\n\t\t\tdest.resize(numElements);\n\t\t\tr = fread(&dest[0], length, 1, mRecording);\n\t\t}\n\t\telse\t\t\n\t\t\tr = fseek(mRecording, length, SEEK_CUR);\n\n\t\t(void)r;\n\t}\n\n\tvirtual void KeyDown(int key)\n\t{\n\t\tif (key == '[')\n\t\t{\n\t\t\tVec3 lower(FLT_MAX), upper(-FLT_MAX);\n\t\t\t\n\t\t\t// particle bounds\n\t\t\tfor (int i=0; i < int(g_buffers->activeIndices.size()); ++i)\n\t\t\t{\n\t\t\t\tint index = g_buffers->activeIndices[i];\n\n\t\t\t\tlower = Min(Vec3(g_buffers->positions[index]), lower);\n\t\t\t\tupper = Max(Vec3(g_buffers->positions[index]), upper);\n\t\t\t}\n\n\t\t\t// center camera\n\t\t\tg_camPos = (lower+upper)*0.5f;\n\t\t\tg_camPos = GetBasis()*g_camPos;\n\t\t}\n\t}\n\n\tbool VerifyArray(float* ptr, int n)\n\t{\n\t\tfor (int i=0; i < n; ++i)\n\t\t\tif (!isfinite(ptr[i]))\n\t\t\t\treturn false;\n\n\t\treturn true;\n\t}\n\n\ttemplate <typename Element>\n\tvoid ReadValue(Element& e, bool enable=true)\n\t{\n\t\tif (feof(mRecording))\n\t\t\treturn;\n\n\t\tint r;\n\t\tif (enable)\n\t\t\tr = fread(&e, sizeof(e), 1, mRecording);\n\t\telse\n\t\t\tr = fseek(mRecording, sizeof(e), SEEK_CUR);\n\n\t\t(void)r;\n\t}\n\n\tvoid ReadFrame()\n\t{\n\t\tif (!mRecording)\n\t\t\treturn;\n\n\t\tif (feof(mRecording))\n\t\t\treturn;\n\n\t\t// params\n\t\tReadValue(g_params, true);\n\n\t\t// particle data\n\t\t//ReadArray(g_buffers->positions, true);\n\n\t\tif (true)\n\t\t{\n\t\t\tfor (int i=0; i < int(g_buffers->positions.size()); ++i)\n\t\t\t{\n\t\t\t\tif (!isfinite(g_buffers->positions[i].x) || \n\t\t\t\t\t!isfinite(g_buffers->positions[i].y) ||\n\t\t\t\t\t!isfinite(g_buffers->positions[i].z))\n\t\t\t\t\tprintf(\"particles failed at frame %d\\n\", g_frame);\n\t\t\t}\n\t\t}\n\n\t\tReadArray(g_buffers->restPositions, true);\n\t\tReadArray(g_buffers->velocities, true);\n\t\tReadArray(g_buffers->phases, true);\n\t\tReadArray(g_buffers->activeIndices, true);\n\n\t\t// spring data\n\t\tReadArray(g_buffers->springIndices, true);\n\t\tReadArray(g_buffers->springLengths, true);\n\t\tReadArray(g_buffers->springStiffness, true);\n\n\t\t// shape data\n\t\tReadArray(g_buffers->rigidIndices, true);\n\t\tReadArray(g_buffers->rigidLocalPositions, true);\n\t\tReadArray(g_buffers->rigidLocalNormals, true);\n\n\t\tReadArray(g_buffers->rigidCoefficients, true);\n\t\tReadArray(g_buffers->rigidPlasticThresholds, true);\n\t\tReadArray(g_buffers->rigidPlasticCreeps, true);\n\t\tReadArray(g_buffers->rigidOffsets, true);\n\t\tReadArray(g_buffers->rigidRotations, true);\n\t\tReadArray(g_buffers->rigidTranslations, true);\n\n\t\tif (true)\n\t\t{\n\n\t\t\tif (!VerifyArray((float*)&g_buffers->rigidLocalPositions[0], g_buffers->rigidLocalPositions.size()*3))\n\t\t\t\tprintf(\"rigid local pos failed\\n\");\n\n\t\t\tif (!VerifyArray((float*)&g_buffers->rigidTranslations[0], g_buffers->rigidTranslations.size()*3))\n\t\t\t\tprintf(\"rigid translations failed\\n\");\n\n\t\t\tif (!VerifyArray((float*)&g_buffers->rigidRotations[0], g_buffers->rigidRotations.size()*3))\n\t\t\t\tprintf(\"rigid rotations failed\\n\");\n\t\t}\n\n\t\t// triangle data\n\t\tReadArray(g_buffers->triangles, true);\n\t\tReadArray(g_buffers->triangleNormals, true);\n\n\t\t// convex shapes\n\t\tReadArray(g_buffers->shapeGeometry, true);\n\t\tReadArray(g_buffers->shapeAabbMin, true);\n\t\tReadArray(g_buffers->shapeAabbMax, true);\n\t\tReadArray(g_buffers->shapeStarts, true);\t\t\n\t\tReadArray(g_buffers->shapePositions, true);\n\t\tReadArray(g_buffers->shapeRotations, true);\n\t\tReadArray(g_buffers->shapePrevPositions, true);\n\t\tReadArray(g_buffers->shapePrevRotations, true);\n\t\tReadArray(g_buffers->shapeFlags, true);\n\n\t\tif (true)\n\t\t{\n\t\t\tif (!VerifyArray((float*)&g_buffers->shapePositions[0], g_buffers->shapePositions.size()*4))\n\t\t\t\tprintf(\"shapes translations invalid\\n\");\n\n\t\t\tif (!VerifyArray((float*)&g_buffers->shapeRotations[0], g_buffers->shapeRotations.size()*4))\n\t\t\t\tprintf(\"shapes rotations invalid\\n\");\n\t\t}\n\n\t\tint numMeshes = 0;\n\t\tReadValue(numMeshes);\n\n\t\t// map serialized mesh ptrs to current meshes\n\t\tstd::map<NvFlexTriangleMeshId, NvFlexTriangleMeshId> originalToNewMeshMap;\n\n\t\tfor (int i=0; i < numMeshes; ++i)\n\t\t{\n\t\t\tMesh m;\n\n\t\t\tNvFlexTriangleMeshId originalPtr;\n\t\t\tReadValue(originalPtr);\n\n\t\t\tReadArray(m.m_positions);\n\t\t\tReadArray(m.m_indices);\n\n\t\t\tif (!VerifyArray((float*)&m.m_positions[0], m.m_positions.size()*3))\n\t\t\t\tprintf(\"mesh vertices invalid\\n\");\n\n\t\t\tprintf(\"Creating mesh: %d faces %d vertices\\n\", m.GetNumFaces(), m.GetNumVertices());\n\n\t\t\tVec3 lower, upper;\n\t\t\tm.GetBounds(lower, upper);\n\t\t\tm.CalculateNormals();\n\n\t\t\tNvFlexTriangleMeshId collisionMesh = NvFlexCreateTriangleMesh();\n\t\t\tNvFlexUpdateTriangleMesh(collisionMesh, (float*)&m.m_positions[0], (int*)&m.m_indices[0], int(m.m_positions.size()), int(m.m_indices.size())/3, lower, upper, eFlexMemoryHost);\n\n\t\t\t// create a render mesh\n\t\t\tg_meshes[collisionMesh] = CreateGpuMesh(&m);\n\n\t\t\t// create map from captured triangle mesh pointer to our recreated version\n\t\t\toriginalToNewMeshMap[originalPtr] = collisionMesh;\n\t\t}\n\n\t\tint numTriMeshInstances = 0;\n\n\t\t// remap shape ptrs\n\t\tfor (int i=0; i < int(g_buffers->shapeFlags.size()); ++i)\n\t\t{\n\t\t\tif ((g_buffers->shapeFlags[i]&eNvFlexShapeFlagTypeMask) == eNvFlexShapeTriangleMesh)\n\t\t\t{\n\t\t\t\tnumTriMeshInstances++;\n\n\t\t\t\tNvFlexCollisionGeometry geo = g_buffers->shapeGeometry[g_buffers->shapeStarts[i]];\n\n\t\t\t\tif (originalToNewMeshMap.find(geo.triMesh.mesh) == originalToNewMeshMap.end())\n\t\t\t\t{\n\t\t\t\t\tprintf(\"Missing mesh for geometry entry\\n\");\n\t\t\t\t\tassert(0);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\t\t\t\t\t\n\t\t\t\t\tg_buffers->shapeGeometry[g_buffers->shapeStarts[i]].mTriMesh.mMesh = originalToNewMeshMap[geo.triMesh.mesh];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tprintf(\"Num Tri Meshes: %d Num Tri Mesh Instances: %d\\n\", int(g_meshes.size()), numTriMeshInstances);\n\n\t}\n\n\tvirtual void Draw(int pass)\n\t{\n\t}\n\n\tvirtual void DoGui()\n\t{\n\t}\n\n\tvirtual void Update()\n\t{\n\n\t}\n\n\tconst char* mFilename;\n\tFILE* mRecording;\n\n\tstd::vector<int> mInitialActive;\n};\n*/\n"
  },
  {
    "path": "demo/scenes/potpourri.h",
    "content": "\nclass PotPourri : public Scene\n{\npublic:\n\n\tPotPourri(const char* name) : Scene(name)\n\t{\n\t}\n\t\n\tvirtual void Initialize()\n\t{\n\t\tint sx = 2;\n\t\tint sy = 2;\n\t\tint sz = 2;\n\n\t\tVec3 lower(0.0f, 4.2f + g_params.radius*0.25f, 0.0f);\n\n\t\tint dimx = 5;\n\t\tint dimy = 10;\n\t\tint dimz = 5;\n\n\t\tfloat radius = g_params.radius;\n\t\tint group = 0;\n\n\t\tif (1)\n\t\t{\n\t\t\t// create a basic grid\n\t\t\tfor (int y=0; y < dimy; ++y)\n\t\t\t\tfor (int z=0; z < dimz; ++z)\n\t\t\t\t\tfor (int x=0; x < dimx; ++x)\n\t\t\t\t\t\tCreateParticleShape(\n\t\t\t\t\t\tGetFilePathByPlatform(\"../../data/box.ply\").c_str(), \n\t\t\t\t\t\t(g_params.radius*0.905f)*Vec3(float(x*sx), float(y*sy), float(z*sz)) + (g_params.radius*0.1f)*Vec3(float(x),float(y),float(z)) + lower,\n\t\t\t\t\t\tg_params.radius*0.9f*Vec3(float(sx), float(sy), float(sz)), 0.0f, g_params.radius*0.9f, Vec3(0.0f), 1.0f, true, 1.0f, NvFlexMakePhase(group++, 0), true, 0.001f);\n\n\t\t\tAddPlinth();\n\t\t}\n\n\t\tif (1)\n\t\t{\n\t\t\tint dimx = 60;\n\t\t\tint dimy = 40;\n\n\t\t\tfloat stretchStiffness = 1.0f;\n\t\t\tfloat bendStiffness = 0.5f;\n\t\t\tfloat shearStiffness = 0.7f;\n\n\t\t\tint clothStart = g_buffers->positions.size();\n\t\t\n\t\t\tCreateSpringGrid(Vec3(0.0f, 0.0f, -1.0f), dimx, dimy, 1, radius*0.5f, NvFlexMakePhase(group++, 0), stretchStiffness, bendStiffness, shearStiffness, Vec3(0.0f), 1.0f);\n\t\t\n\t\t\tint corner0 = clothStart + 0;\n\t\t\tint corner1 = clothStart + dimx-1;\n\t\t\tint corner2 = clothStart + dimx*(dimy-1);\n\t\t\tint corner3 = clothStart + dimx*dimy-1;\n\n\t\t\tg_buffers->positions[corner0].w = 0.0f;\n\t\t\tg_buffers->positions[corner1].w = 0.0f;\n\t\t\tg_buffers->positions[corner2].w = 0.0f;\n\t\t\tg_buffers->positions[corner3].w = 0.0f;\n\n\t\t\t// add tethers\n\t\t\tfor (int i=clothStart; i < int(g_buffers->positions.size()); ++i)\n\t\t\t{\n\t\t\t\tfloat x = g_buffers->positions[i].x;\n\t\t\t\tg_buffers->positions[i].y = 4.0f - sinf(DegToRad(15.0f))*x;\n\t\t\t\tg_buffers->positions[i].x = cosf(DegToRad(25.0f))*x;\n\n\t\t\t\tif (i != corner0 && i != corner1 && i != corner2 && i != corner3)\n\t\t\t\t{\n\t\t\t\t\tfloat stiffness = -0.5f;\n\t\t\t\t\tfloat give = 0.05f;\n\n\t\t\t\t\tCreateSpring(corner0, i, stiffness, give);\t\t\t\n\t\t\t\t\tCreateSpring(corner1, i, stiffness, give);\n\t\t\t\t\tCreateSpring(corner2, i, stiffness, give);\t\t\t\n\t\t\t\t\tCreateSpring(corner3, i, stiffness, give);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tg_buffers->positions[corner1] = g_buffers->positions[corner0] + (g_buffers->positions[corner1]-g_buffers->positions[corner0])*0.9f;\n\t\t\tg_buffers->positions[corner2] = g_buffers->positions[corner0] + (g_buffers->positions[corner2]-g_buffers->positions[corner0])*0.9f;\n\t\t\tg_buffers->positions[corner3] = g_buffers->positions[corner0] + (g_buffers->positions[corner3]-g_buffers->positions[corner0])*0.9f;\n\t\t}\n\n\n\t\tfor (int i=0; i < 50; ++i)\n\t\t\tCreateParticleShape(GetFilePathByPlatform(\"../../data/banana.obj\").c_str(), Vec3(0.4f, 8.5f + i*0.25f, 0.25f) + RandomUnitVector()*radius*0.25f, Vec3(1), 0.0f, radius, Vec3(0.0f), 1.0f, true, 0.5f, NvFlexMakePhase(group++, 0), true, radius*0.1f, 0.0f, 0.0f, 1.25f*Vec4(0.875f, 0.782f, 0.051f, 1.0f));\t\t\n\t\t\n\n\t\t//g_numExtraParticles = 32*1024;\t\t\n\t\tg_numSubsteps = 2;\n\t\tg_params.numIterations = 4;\n\n\t\tg_params.radius *= 1.0f;\n\t\tg_params.staticFriction = 0.7f;\n\t\tg_params.dynamicFriction = 0.75f;\n\t\tg_params.dissipation = 0.01f;\n\t\tg_params.particleCollisionMargin = g_params.radius*0.05f;\n\t\tg_params.sleepThreshold = g_params.radius*0.25f;\t\n\t\tg_params.damping = 0.25f;\n\t\tg_params.maxAcceleration = 400.0f;\n\n\t\tg_windStrength = 0.0f;\n\n\t\t// draw options\n\t\tg_drawPoints = false;\n\n\t\tg_emitters[0].mEnabled = true;\n\t\tg_emitters[0].mSpeed = (g_params.radius*2.0f/g_dt);\n\t}\n\n\tvirtual void Update()\n\t{\n\t\t\t\n\t}\n};\n"
  },
  {
    "path": "demo/scenes/rayleightaylor.h",
    "content": "\nclass RayleighTaylor3D : public Scene\n{\npublic:\n\n\tRayleighTaylor3D(const char* name) : Scene(name) {}\n\n\tint base;\n\tint width;\n\tint height;\n\tint depth;\n\n\tvirtual void Initialize()\n\t{\n\t\tfloat radius = 0.05f;\n\t\tfloat restDistance = radius*0.5f;\n\n\t\twidth = 128;\n\t\theight = 24;\n\t\tdepth = 24;\n\n\t\tbase = 4;\n\n\t\tfloat sep = restDistance*0.9f;\n\t\tint group = 0;\n\n\t\tCreateParticleGrid(Vec3(0.0f, 0.0f, 0.0f), width, base, depth, sep, Vec3(0.0f), 0.0f, false, 0.0f, NvFlexMakePhase(group++, 0), 0.0f);\n\t\tCreateParticleGrid(Vec3(0.0f, base*sep, 0.0f), width, height, depth, sep, Vec3(0.0f), 0.24f, false, 0.0f, NvFlexMakePhase(group++, eNvFlexPhaseSelfCollide | eNvFlexPhaseFluid), restDistance*0.01f);\n\t\tCreateParticleGrid(Vec3(0.0f, sep*height + base*sep, 0.0f), width, height, depth, sep, Vec3(0.0f), 0.25f, false, 0.0f, NvFlexMakePhase(group++, eNvFlexPhaseSelfCollide | eNvFlexPhaseFluid), restDistance*0.01f);\n\n\t\tg_params.gravity[1] = -9.f;\n\t\tg_params.radius = radius;\n\t\tg_params.dynamicFriction = 0.00f;\n\t\tg_params.viscosity = 2.0f;\n\t\tg_params.numIterations = 10;\n\t\tg_params.vorticityConfinement = 0.0f;\n\t\tg_params.smoothing = 1.f;\n\t\tg_params.fluidRestDistance = restDistance;\n\t\tg_params.numPlanes = 5;\n\t\tg_params.cohesion = 0.0002125f;\n\t\tg_params.surfaceTension = 0.0f;\n\t\tg_params.collisionDistance = 0.001f;//restDistance*0.5f;\n\t\t//g_params.solidPressure = 0.2f;\n\n\t\tg_params.relaxationFactor = 20.0f;\n\t\tg_numSubsteps = 5;\n\n\t\tg_fluidColor = Vec4(0.2f, 0.6f, 0.9f, 1.0f);\n\n\t\tg_lightDistance *= 0.85f;\n\n\t\t// draw options\n\t\tg_drawDensity = true;\n\t\tg_drawDiffuse = false;\n\t\tg_drawEllipsoids = false;\n\t\tg_drawPoints = true;\n\n\t\tg_blur = 2.0f;\n\n\t\tg_warmup = true;\n\t}\n\n\tvirtual void Update()\n\t{\n\t\tif (g_params.numPlanes == 4)\n\t\t\tg_params.dynamicFriction = 0.2f;\n\n\t\tif (g_frame == 32)\n\t\t{\n\t\t\tint layer1start = width*depth*base;\n\t\t\tint layer1end = layer1start + width*height*depth;\n\t\t\tfor (int i = layer1start; i < layer1end; ++i)\n\t\t\t\tg_buffers->positions[i].w = 1.0f;\n\t\t}\n\t}\n};\n\nclass RayleighTaylor2D : public Scene\n{\npublic:\n\n\tRayleighTaylor2D(const char* name) : Scene(name) {}\n\n\tint base;\n\tint width;\n\tint height;\n\tint depth;\n\n\tvirtual void Initialize()\n\t{\n\t\tfloat radius = 0.05f;\n\t\tfloat restDistance = radius*0.5f;\n\n\t\twidth = 128;\n\t\theight = 24;\n\t\tdepth = 1;\n\n\t\tbase = 4;\n\n\t\tfloat sep = restDistance*0.7f;\n\t\tint group = 0;\n\n\t\tCreateParticleGrid(Vec3(0.0f, 0.0f, 0.0f), width, base, depth, sep, Vec3(0.0f), 0.0f, false, 0.0f, NvFlexMakePhase(group++, 0), 0.0f);\n\t\tCreateParticleGrid(Vec3(0.0f, base*sep, 0.0f), width, height, depth, sep, Vec3(0.0f), 1.0f, false, 0.0f, NvFlexMakePhase(group++, eNvFlexPhaseSelfCollide | eNvFlexPhaseFluid), restDistance*0.01f);\n\t\tCreateParticleGrid(Vec3(0.0f, sep*height + base*sep, 0.0f), width, height, depth, sep, Vec3(0.0f), 0.25f, false, 0.0f, NvFlexMakePhase(group++, eNvFlexPhaseSelfCollide | eNvFlexPhaseFluid), restDistance*0.01f);\n\n\t\tg_params.gravity[1] = -9.f;\n\t\tg_params.radius = radius;\n\t\tg_params.dynamicFriction = 0.00f;\n\t\tg_params.viscosity = 0.0f;\n\t\tg_params.numIterations = 10;\n\t\tg_params.vorticityConfinement = 0.0f;\n\t\tg_params.smoothing = 1.f;\n\t\tg_params.fluidRestDistance = restDistance;\n\t\tg_params.numPlanes = 5;\n\t\tg_params.cohesion = 0.0025f;\n\t\tg_params.surfaceTension = 0.0f;\n\t\tg_params.collisionDistance = 0.001f;\n\t\tg_params.restitution = 0.0f;\n\n\t\tg_params.relaxationFactor = 1.0f;\n\t\tg_numSubsteps = 10;\n\n\t\tg_fluidColor = Vec4(0.2f, 0.6f, 0.9f, 1.0f);\n\n\t\tg_lightDistance *= 0.85f;\n\n\t\t// draw options\n\t\tg_drawDensity = false;\n\t\tg_drawDiffuse = false;\n\t\tg_drawEllipsoids = false;\n\t\tg_drawPoints = true;\n\n\t\tg_pointScale = 0.9f;\n\t\tg_blur = 2.0f;\n\n\t\tg_warmup = true;\n\t}\n};"
  },
  {
    "path": "demo/scenes/restitution.h",
    "content": "\n\n\nclass Restitution : public Scene\n{\npublic:\n\n\tRestitution(const char* name) : Scene(name) {}\n\n\tvoid Initialize()\n\t{\n\t\tfloat radius = 0.05f;\n\t\tCreateParticleGrid(Vec3(0.0f, 1.0f, 0.0f), 1, 1, 1, radius, Vec3(0.0f), 1.0f, false, 0.0f, NvFlexMakePhase(0, eNvFlexPhaseSelfCollide), 0.0f);\n\n\t\tg_params.radius = radius;\n\t\tg_params.dynamicFriction = 0.025f;\n\t\tg_params.dissipation = 0.0f;\n\t\tg_params.restitution = 1.0;\n\t\tg_params.numIterations = 4;\n\n\t\tg_numSubsteps = 4;\n\n\t\t// draw options\t\t\n\t\tg_drawPoints = true;\n\t}\n\t\n};\n"
  },
  {
    "path": "demo/scenes/rigidfluidcoupling.h",
    "content": "\nclass RigidFluidCoupling : public Scene\n{\npublic:\n\n\tRigidFluidCoupling(const char* name) : Scene(name) {}\n\n\tvirtual void Initialize()\n\t{\n\t\tfloat minSize = 0.5f;\n\t\tfloat maxSize = 1.0f;\n\t\t\n\t\tfloat radius = 0.1f;\n\t\tint group = 0;\n\n\t\tRandf();\n\n\t\tfor (int i=0; i < 5; i++)\n\t\t\tAddRandomConvex(10, Vec3(i*2.0f, 0.0f, Randf(0.0f, 2.0f)), minSize, maxSize, Vec3(0.0f, 1.0f, 0.0f), Randf(0.0f, k2Pi*10.0f));\n\n\t\tfor (int z=0; z < 10; ++z)\n\t\t\tfor (int x=0; x < 50; ++x)\n\t\t\t\tCreateParticleShape(\n\t\t\t\t\tGetFilePathByPlatform(\"../../data/box.ply\").c_str(), \n\t\t\t\t\tVec3(x*radius*2 - 1.0f, 1.0f + radius, 1.f + z*2.0f*radius) + 0.5f*Vec3(Randf(radius), 0.0f, Randf(radius)), \n\t\t\t\t\tVec3(2.0f, 2.0f + Randf(0.0f, 4.0f), 2.0f)*radius*0.5f, \n\t\t\t\t\t0.0f,\n\t\t\t\t\tradius*0.5f, \n\t\t\t\t\tVec3(0.0f), \n\t\t\t\t\t1.0f, \n\t\t\t\t\ttrue,\n\t\t\t\t\t1.0f,\n\t\t\t\t\tNvFlexMakePhase(group++, 0),\n\t\t\t\t\ttrue,\n\t\t\t\t\t0.0f);\n\n\t\n\t\t// separte solid particle count\n\t\tg_numSolidParticles = g_buffers->positions.size();\n\n\t\t// number of fluid particles to allocate\n\t\tg_numExtraParticles = 64*1024;\n\n\t\tg_params.radius = radius;\n\t\tg_params.dynamicFriction = 0.5f;\n\t\tg_params.viscosity = 0.1f;\t\t\n\t\tg_params.numIterations = 3;\n\t\tg_params.vorticityConfinement = 0.0f;\n\t\tg_params.fluidRestDistance = g_params.radius*0.55f;\n\t\tg_params.solidRestDistance = g_params.radius*0.5f;\t\t\n\n\t\tg_emitters[0].mEnabled = true;\t\n\t\tg_emitters[0].mSpeed = 2.0f*(g_params.fluidRestDistance)/g_dt;\n\n\t\t// draw options\n\t\tg_drawPoints = false;\n\t\tg_drawEllipsoids = true;\n\t}\n};"
  },
  {
    "path": "demo/scenes/rigidpile.h",
    "content": "\nclass RigidPile : public Scene\n{\npublic:\n\n\tRigidPile(const char* name, int brickHeight) : Scene(name), mHeight(brickHeight)\n\t{\n\t}\n\t\n\tvirtual void Initialize()\n\t{\n\t\tint sx = 2;\n\t\tint sy = mHeight;\n\t\tint sz = 2;\n\n\t\tVec3 lower(0.0f, 1.5f + g_params.radius*0.25f, 0.0f);\n\n\t\tint dimx = 10;\n\t\tint dimy = 10;\n\t\tint dimz = 10;\n\n\t\tfloat radius = g_params.radius;\n\n\t\tif (1)\n\t\t{\n\t\t\tMesh* mesh = ImportMesh(GetFilePathByPlatform(\"../../data/box.ply\").c_str());\n\n\t\t\t// create a basic grid\n\t\t\tfor (int y=0; y < dimy; ++y)\n\t\t\t\tfor (int z=0; z < dimz; ++z)\n\t\t\t\t\tfor (int x=0; x < dimx; ++x)\n\t\t\t\t\t\tCreateParticleShape(\n\t\t\t\t\t\tmesh,\n\t\t\t\t\t\t(g_params.radius*0.905f)*Vec3(float(x*sx), float(y*sy), float(z*sz)) + (g_params.radius*0.1f)*Vec3(float(x),float(y),float(z)) + lower,\n\t\t\t\t\t\tg_params.radius*0.9f*Vec3(float(sx), float(sy), float(sz)), 0.0f, g_params.radius*0.9f, Vec3(0.0f), 1.0f, true, 1.0f, NvFlexMakePhase(g_buffers->rigidOffsets.size()+1, 0), true, 0.002f);// 0.002f);\n\t\t\n\n\t\t\tdelete mesh;\n\n\t\t\tAddPlinth();\n\t\t}\n\t\telse\n\t\t{\n\t\t\t// brick work\n\t\t\tint wdimx = 10;\n\t\t\tint wdimy = 10;\n\n\t\t\tint bdimx = 4;\n\t\t\tint bdimy = 2;\n\t\t\tint bdimz = 2;\n\n\t\t\tfor (int y=0; y < wdimy; ++y)\n\t\t\t{\n\t\t\t\tfor (int x=0; x < wdimx; ++x)\n\t\t\t\t{\n\t\t\t\t\tVec3 lower = Vec3(x*bdimx*radius + 0.5f*radius, 0.93f*bdimy*y*radius, 0.0f);\n\n\t\t\t\t\tif (y&1)\n\t\t\t\t\t\tlower += Vec3(bdimx*0.25f*radius + 0.5f*radius, 0.0f, 0.0f);\n\n\t\t\t\t\t//CreateParticleGrid(lower, bdimx, bdimy, bdimz, radius, Vec3(0.0f), 1.0f, true, g_buffers->rigidOffsets.size()+1, 0.0f);\n\t\t\t\t\tCreateParticleShape(GetFilePathByPlatform(\"../../data/box.ply\").c_str(), lower + RandomUnitVector()*Vec3(0.0f, 0.0f, 0.0f), Vec3(bdimx*radius, bdimy*radius, bdimz*radius), 0.0f, radius, Vec3(0.0f), 1.0f, true, 1.0f, NvFlexMakePhase(g_buffers->rigidOffsets.size()+1, 0), true, 0.0f, Vec3(0.0f, 0.0f, y*0.0001f));\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tif (0)\n\t\t\t{\n\t\t\t\t// create a basic grid\n\t\t\t\tfor (int y=0; y < dimy; ++y)\n\t\t\t\t\tfor (int z=0; z < 1; ++z)\n\t\t\t\t\t\tfor (int x=0; x < 1; ++x)\n\t\t\t\t\t\t\tCreateParticleShape(\n\t\t\t\t\t\t\tGetFilePathByPlatform(\"../../data/box.ply\").c_str(), \n\t\t\t\t\t\t\t0.99f*(g_params.radius)*Vec3(float(x*sx), float(y*sy), float(z*sz)),\n\t\t\t\t\t\t\tg_params.radius*Vec3(float(sx), float(sy), float(sz)), 0.0f, g_params.radius, Vec3(0.0f), 1.0f, true, 1.0f, NvFlexMakePhase(g_buffers->rigidOffsets.size()+1, 0), true, 0.0f);\n\n\t\t\t\t// create a basic grid\n\t\t\t\tfor (int y=0; y < dimy; ++y)\n\t\t\t\t\tfor (int z=0; z < 1; ++z)\n\t\t\t\t\t\tfor (int x=0; x < 1; ++x)\n\t\t\t\t\t\t\tCreateParticleShape(\n\t\t\t\t\t\t\tGetFilePathByPlatform(\"../../data/box.ply\").c_str(), \n\t\t\t\t\t\t\t0.99f*(g_params.radius)*Vec3(float(sx*2 + x*sx), float(y*sy), float(z*sz)),\n\t\t\t\t\t\t\tg_params.radius*Vec3(float(sx), float(sy), float(sz)), 0.0f, g_params.radius, Vec3(0.0f), 1.0f, true, 1.0f, NvFlexMakePhase(g_buffers->rigidOffsets.size()+1, 0), true, 0.0f);\n\t\t\t}\n\n\t\t}\n\t\t\n\n\t\tif (0)\n\t\t{\n\t\t\tfloat stretchStiffness = 1.0f;\n\t\t\tfloat bendStiffness = 0.5f;\n\t\t\tfloat shearStiffness = 0.7f;\n\n\t\t\tint dimx = 40;\n\t\t\tint dimy = 40;\n\n\t\t\tCreateSpringGrid(Vec3(-1.0f, 1.0f + g_params.radius*0.5f, -1.0f), dimx, dimy, 1, g_params.radius*0.9f, NvFlexMakePhase(0, eNvFlexPhaseSelfCollide), stretchStiffness, bendStiffness, shearStiffness, Vec3(0.0f), 1.0f);\n\t\t}\n\n\n\t\t//g_numExtraParticles = 32*1024;\t\t\n\t\tg_numSubsteps = 2;\n\t\tg_params.numIterations = 8;\n\n\t\tg_params.radius *= 1.0f;\n\t\tg_params.dynamicFriction = 0.4f;\n\t\tg_params.dissipation = 0.01f;\n\t\tg_params.particleCollisionMargin = g_params.radius*0.05f;\n\t\tg_params.sleepThreshold = g_params.radius*0.25f;\n\t\tg_params.shockPropagation = 3.f;\n\t\t\n\t\tg_windStrength = 0.0f;\n\n\t\t// draw options\n\t\tg_drawPoints = false;\n\n\t\tg_emitters[0].mEnabled = true;\n\t\tg_emitters[0].mSpeed = (g_params.radius*2.0f/g_dt);\n\t}\n\n\tvirtual void Update()\n\t{\n\t\t\t\n\t}\n\n\tint mHeight;\n};\n"
  },
  {
    "path": "demo/scenes/rigidrotation.h",
    "content": "\n\nclass RigidRotation : public Scene\n{\npublic:\n\n\tRigidRotation(const char* name) : Scene(name)\n\t{\n\t}\n\n\tvoid Initialize()\n\t{\n\t\tfloat radius = 0.1f;\n\n\t\tfloat dimx = 3.0f;\n\t\tfloat dimy = 3.0f;\n\t\tfloat dimz = 3.0f;\n\n\t\tCreateParticleShape(GetFilePathByPlatform(\"../../data/box.ply\").c_str(), Vec3(0.0f, 1.0f, 0.0f), Vec3(dimx, dimy, dimz)*radius, 0.0f, radius, Vec3(0.0f), 1.0f, true, 1.0f, 0, true, 0.0f, 0.0f, 0.0f);\n\n\t\tg_params.radius = radius;\n\t\tg_params.gravity[1] = 0;\n\n\t\tg_params.numIterations = 1;\n\t\tg_numSubsteps = 3;\n\n\t\tg_pause = true;\n\n\t\tg_drawBases = true;\n\t}\n\n\tvoid Update()\n\t{\n\t\tif (g_frame == 0)\n\t\t{\n\t\t\t// rotate particles by 90 degrees\n\t\t\tVec3 lower, upper;\n\t\t\tGetParticleBounds(lower, upper);\n\n\t\t\tVec3 center = (lower + upper)*0.5f;\n\n\t\t\t//Matrix44 rotation = RotationMatrix(DegToRad(40.0f), Vec3(0.0f, 0.0f, 1.0f));\n\n\t\t\tfor (int i = 0; i < int(g_buffers->positions.size()); ++i)\n\t\t\t{\n\t\t\t\tVec3 delta = Vec3(g_buffers->positions[i]) - center;\n\n\t\t\t\t//delta = Vec3(rotation*Vec4(delta, 1.0f));\n\n\t\t\t\t//g_buffers->positions[i].x = center.x + delta.x;\n\t\t\t\t//g_buffers->positions[i].y = center.y + delta.y;\n\t\t\t\t//g_buffers->positions[i].z = center.z + delta.z;\n\n\t\t\t\tg_buffers->velocities[i] = Cross(delta, Vec3(0.0f, 0.0f, 1.0f))*10.0f;\n\t\t\t}\n\t\t}\n\t}\n};"
  },
  {
    "path": "demo/scenes/rockpool.h",
    "content": "\n\n\nclass RockPool: public Scene\n{\npublic:\n\n\tRockPool(const char* name) : Scene(name) {}\n\n\tvoid Initialize()\n\t{\n\t\tfloat radius = 0.1f;\n\n\t\t// convex rocks\n\t\tfloat minSize = 0.1f;\n\t\tfloat maxSize = 0.5f;\n\n\t\tfor (int i=0; i < 4; i++)\n\t\t\tfor (int j=0; j < 2; j++)\n\t\t\tAddRandomConvex(10, Vec3(48*radius*0.5f + i*maxSize*2.0f, 0.0f, j*maxSize*2.0f), minSize, maxSize, Vec3(0.0f, 1.0f, 0.0f), Randf(0.0f, k2Pi));\n\n\t\tCreateParticleGrid(Vec3(0.0f, radius*0.5f, -1.0f), 32, 32, 32, radius*0.55f, Vec3(0.0f), 1.0f, false, 0.0f, NvFlexMakePhase(0, eNvFlexPhaseSelfCollide | eNvFlexPhaseFluid), 0.005f);\n\n\t\tg_solverDesc.featureMode = eNvFlexFeatureModeSimpleFluids;\n\n\t\tg_numSubsteps = 2;\n\n\t\tg_params.radius = radius;\n\t\tg_params.dynamicFriction = 0.00f;\n\t\tg_params.viscosity = 0.01f;\n\t\tg_params.numIterations = 2;\n\t\tg_params.vorticityConfinement = 75.0f;\n\t\tg_params.fluidRestDistance = radius*0.6f;\n\t\tg_params.relaxationFactor = 1.0f;\n\t\tg_params.smoothing = 0.5f;\n\t\tg_params.diffuseThreshold *= 0.25f;\n\t\tg_params.cohesion = 0.05f;\n\n\t\tg_maxDiffuseParticles = 64*1024;\t\t\n\t\tg_diffuseScale = 0.5f;\n\t\tg_params.diffuseBallistic = 16;\n\t\tg_params.diffuseBuoyancy = 1.0f;\n\t\tg_params.diffuseDrag = 1.0f;\n\n\t\tg_emitters[0].mEnabled = false;\n\n\t\tg_params.numPlanes = 5;\n\n\t\tg_waveFloorTilt = 0.0f;\n\t\tg_waveFrequency = 1.5f;\n\t\tg_waveAmplitude = 2.0f;\n\t\t\n\t\t// draw options\t\t\n\t\tg_drawPoints = false;\n\t\tg_drawEllipsoids = true;\n\t\tg_drawDiffuse = true;\n\t\tg_lightDistance = 1.8f;\n\n\t\tg_numExtraParticles = 80*1024;\n\n\t\tEmitter e1;\n\t\te1.mDir = Vec3(-1.0f, 0.0f, 0.0f);\n\t\te1.mRight = Vec3(0.0f, 0.0f, 1.0f);\n\t\te1.mPos = Vec3(3.8f, 1.f, 1.f) ;\n\t\te1.mSpeed = (g_params.fluidRestDistance/g_dt)*2.0f;\t// 2 particle layers per-frame\n\t\te1.mEnabled = true;\n\n\t\tEmitter e2;\n\t\te2.mDir = Vec3(1.0f, 0.0f, 0.0f);\n\t\te2.mRight = Vec3(0.0f, 0.0f, -1.0f);\n\t\te2.mPos = Vec3(2.f, 1.f, -0.f);\n\t\te2.mSpeed = (g_params.fluidRestDistance/g_dt)*2.0f; // 2 particle layers per-frame\n\t\te2.mEnabled = true;\n\n\t\tg_emitters.push_back(e1);\n\t\tg_emitters.push_back(e2);\n\t}\n};\n"
  },
  {
    "path": "demo/scenes/sdfcollision.h",
    "content": "\nclass SDFCollision : public Scene\n{\npublic:\n\n\tSDFCollision(const char* name) : Scene(name)\n\t{\n\t}\n\n\tvirtual void Initialize()\n\t{\n\t\tconst int dim = 128;\n\n\t\tNvFlexDistanceFieldId sdf = CreateSDF(GetFilePathByPlatform(\"../../data/bunny.ply\").c_str(), dim);\n\n\t\tAddSDF(sdf, Vec3(-1.f, 0.0f, 0.0f), QuatFromAxisAngle(Vec3(0.0f, 1.0f, 0.0f), DegToRad(-45.0f)), 0.5f);\n\t\tAddSDF(sdf, Vec3(0.0f, 0.0f, 0.0f), QuatFromAxisAngle(Vec3(0.0f, 1.0f, 0.0f), DegToRad(0.0f)), 1.0f);\n\t\tAddSDF(sdf, Vec3(1.0f, 0.0f, 0.0f), QuatFromAxisAngle(Vec3(0.0f, 1.0f, 0.0f), DegToRad(45.0f)), 2.0f);\n\n\t\tfloat stretchStiffness = 1.0f;\n\t\tfloat bendStiffness = 0.8f;\n\t\tfloat shearStiffness = 0.5f;\n\n\t\tint dimx = 64;\n\t\tint dimz = 64;\n\t\tfloat radius = 0.05f;\n\t\tint phase = NvFlexMakePhase(0, eNvFlexPhaseSelfCollide | eNvFlexPhaseSelfCollideFilter);\n\n\t\tCreateSpringGrid(Vec3(-0.6f, 2.9f, -0.6f), dimx, dimz, 1, radius*0.75f, phase, stretchStiffness, bendStiffness, shearStiffness, 0.0f, 1.0f);\n\n\t\tVec3 lower, upper;\n\t\tGetParticleBounds(lower, upper);\n\n\t\tg_params.radius = radius*1.0f;\n\t\tg_params.dynamicFriction = 0.4f;\n\t\tg_params.staticFriction = 0.4f;\n\t\tg_params.particleFriction = 0.25f;\n\t\tg_params.dissipation = 0.0f;\n\t\tg_params.numIterations = 8;\n\t\tg_params.viscosity = 0.0f;\n\t\tg_params.drag = 0.02f;\n\t\tg_params.lift = 0.1f;\n\t\tg_params.collisionDistance = radius*0.5f;\n\t\tg_params.relaxationFactor = 1.3f;\n\n\t\tg_numSubsteps = 3;\n\n\t\tg_windStrength = 0.0f;\n\n\t\t// draw options\n\t\tg_drawPoints = false;\n\t\tg_drawSprings = false;\n\t}\n};\n"
  },
  {
    "path": "demo/scenes/shapechannels.h",
    "content": "\n\n// demonstrates how to make particles collide with \n// selected collision shapes based on the channel mask\nclass ShapeChannels : public Scene\n{\npublic:\n\n\tShapeChannels(const char* name) : Scene(name) {}\n\n\tvoid Initialize()\n\t{\n\t\tconst float radius = 0.05f;\n\t\t\n\t\tVec3 offset = Vec3(-0.25f, 6.0f, -0.25f);\n\n\t\t// layers of particles each set to collide with a different shape channel\n\t\tint numLayers = 8;\n\n\t\tfor (int i=0; i < numLayers; ++i)\n\t\t{\n\t\t\tCreateParticleGrid(offset + Vec3(0.0f, 2.0f*i*radius, 0.0f), 10, 1, 10, radius, Vec3(0.0f), 1.0f, false, 0.0f, NvFlexMakePhaseWithChannels(i, eNvFlexPhaseSelfCollide, eNvFlexPhaseShapeChannel0<<i), 0.0f);\n\t\t\t//CreateParticleGrid(offset + Vec3(0.0f, 2.0f*radius, 0.0f), 10, 1, 10, radius, Vec3(0.0f), 1.0f, false, 0.0f, NvFlexMakePhaseWithChannels(0, eNvFlexPhaseSelfCollide, eNvFlexPhaseShapeChannel1), 0.0f);\n\t\t\t//CreateParticleGrid(offset + Vec3(0.0f, 4.0f*radius, 0.0f), 10, 1, 10, radius, Vec3(0.0f), 1.0f, false, 0.0f, NvFlexMakePhaseWithChannels(0, eNvFlexPhaseSelfCollide, eNvFlexPhaseShapeChannel2), 0.0f);\n\t\t\n\t\t\tAddBox(Vec3(0.5f, 0.1f, 0.5f), Vec3(0.0f, 0.5f + i*0.5f, 0.0f), Quat(), false, eNvFlexPhaseShapeChannel0<<i);\n\t\t}\n\n\t\t// regular box\n\t\t//AddBox(Vec3(0.5f, 0.1f, 0.5f), Vec3(0.0f, 0.5f, 0.0f), Quat(), false, eNvFlexPhaseShapeChannel0);\n\t\t//AddBox(Vec3(0.5f, 0.1f, 0.5f), Vec3(0.0f, 1.0f, 0.0f), Quat(), false, eNvFlexPhaseShapeChannel1);\n\t\t//AddBox(Vec3(0.5f, 0.1f, 0.5f), Vec3(0.0f, 1.5f, 0.0f), Quat(), false, eNvFlexPhaseShapeChannel2);\n\n\t\tg_params.radius = radius;\n\t\tg_params.dynamicFriction = 0.025f;\n\t\tg_params.dissipation = 0.0f;\n\t\tg_params.restitution = 0.0;\n\t\tg_params.numIterations = 4;\n\t\tg_params.particleCollisionMargin = g_params.radius*0.05f;\n\n\t\tg_numSubsteps = 1;\n\t}\n\n\tvirtual void Update()\n\t{\n\t\t\n\t}\n};"
  },
  {
    "path": "demo/scenes/shapecollision.h",
    "content": "\n\nclass ShapeCollision : public Scene\n{\npublic:\n\n\tShapeCollision(const char* name) : Scene(name) {}\n\n\tvoid Initialize()\n\t{\n\t\tfloat maxShapeRadius = 0.25f;\n\t\tfloat minShapeRadius = 0.1f;\n\n\t\tint dimx = 4;\n\t\tint dimy = 4;\n\t\tint dimz = 4;\n\n\t\tfloat radius = 0.05f;\n\t\tint phase = NvFlexMakePhase(0, eNvFlexPhaseSelfCollide);\n\n\t\tg_numSubsteps = 2;\n\n\t\tg_params.radius = radius;\n\t\tg_params.dynamicFriction = 0.25f;\n\t\tg_params.dissipation = 0.0f;\n\t\tg_params.restitution = 0.0;\n\t\tg_params.numIterations = 2;\n\t\tg_params.particleCollisionMargin = g_params.radius*0.5f;\n\t\tg_params.shapeCollisionMargin = g_params.radius*0.5f;\n\t\tg_params.maxSpeed = 0.5f*radius*float(g_numSubsteps)/g_dt;\n\t\t\t\t\t\t\n\t\tCreateParticleGrid(Vec3(0.0f, 1.0f + dimy*maxShapeRadius*2.0f, 0.0f), 30, 50, 30, radius, Vec3(0.0f), 1.0f, false, 0.0f, phase, 0.0f);\n\n\t\tMesh* box = ImportMesh(GetFilePathByPlatform(\"../../data/box.ply\").c_str());\n\t\tbox->Normalize(1.0f);\n\n\t\tNvFlexTriangleMeshId mesh = CreateTriangleMesh(box);\n\t\tdelete box;\n\n\t\tNvFlexDistanceFieldId sdf = CreateSDF(GetFilePathByPlatform(\"../../data/bunny.ply\").c_str(), 128);\n\n\t\tfor (int i=0; i < dimx; ++i)\n\t\t{\n\t\t\tfor (int j=0; j < dimy; ++j)\n\t\t\t{\n\t\t\t\tfor (int k=0; k < dimz; ++k)\n\t\t\t\t{\n\t\t\t\t\tint type = Rand()%6;\n\n\t\t\t\t\tVec3 shapeTranslation = Vec3(float(i),float(j) + 0.5f,float(k))*maxShapeRadius*2.0f;\n\t\t\t\t\tQuat shapeRotation = QuatFromAxisAngle(UniformSampleSphere(), Randf()*k2Pi);\n\n\t\t\t\t\tswitch(type)\n\t\t\t\t\t{\n\t\t\t\t\t\tcase 0:\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tAddSphere(Randf(minShapeRadius, maxShapeRadius), shapeTranslation, shapeRotation);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcase 1:\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tAddCapsule(Randf(minShapeRadius, maxShapeRadius)*0.5f, Randf()*maxShapeRadius, shapeTranslation, shapeRotation);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcase 2:\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tVec3 extents = 0.75f*Vec3(Randf(minShapeRadius, maxShapeRadius),\n\t\t\t\t\t\t\t\t\t\t\t\t      Randf(minShapeRadius, maxShapeRadius),\n\t\t\t\t\t\t\t\t\t\t\t\t\t  Randf(minShapeRadius, maxShapeRadius));\n\n\t\t\t\t\t\t\tAddBox(extents, shapeTranslation, shapeRotation);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcase 3:\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tAddRandomConvex(6 + Rand()%6, shapeTranslation, minShapeRadius, maxShapeRadius, UniformSampleSphere(), Randf()*k2Pi);\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcase 4:\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tAddTriangleMesh(mesh, shapeTranslation, shapeRotation, Randf(0.5f, 1.0f)*maxShapeRadius);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcase 5:\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tAddSDF(sdf, shapeTranslation, shapeRotation, maxShapeRadius*2.0f);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t\t\n\tvirtual void CenterCamera()\n\t{\n\t\tg_camPos.y = 2.0f;\n\t\tg_camPos.z = 6.0f;\n\t}\n\n};"
  },
  {
    "path": "demo/scenes/softbody.h",
    "content": "\n\nclass SoftBody : public Scene\n{\n\npublic:\n\tSoftBody(const char* name) :\n\t\tScene(name),\n\t\tmRadius(0.1f),\n\t\tmRelaxationFactor(1.0f),\n\t\tmPlinth(false),\n\t\tplasticDeformation(false)\n\t{\n\t\tconst Vec3 colorPicker[7] =\n\t\t{\n\t\t\tVec3(0.0f, 0.5f, 1.0f),\n\t\t\tVec3(0.797f, 0.354f, 0.000f),\n\t\t\tVec3(0.000f, 0.349f, 0.173f),\n\t\t\tVec3(0.875f, 0.782f, 0.051f),\n\t\t\tVec3(0.01f, 0.170f, 0.453f),\n\t\t\tVec3(0.673f, 0.111f, 0.000f),\n\t\t\tVec3(0.612f, 0.194f, 0.394f)\n\t\t};\n\t\tmemcpy(mColorPicker, colorPicker, sizeof(Vec3) * 7);\n\t}\n\n\tfloat mRadius;\n\tfloat mRelaxationFactor;\n\tbool mPlinth;\n\n\tVec3 mColorPicker[7];\n\n\tstruct Instance\n\t{\n\t\tInstance(const char* mesh) :\n\n\t\t\tmFile(mesh),\n\t\t\tmColor(0.5f, 0.5f, 1.0f),\n\n\t\t\tmScale(2.0f),\n\t\t\tmTranslation(0.0f, 1.0f, 0.0f),\n\n\t\t\tmClusterSpacing(1.0f),\n\t\t\tmClusterRadius(0.0f),\n\t\t\tmClusterStiffness(0.5f),\n\n\t\t\tmLinkRadius(0.0f),\n\t\t\tmLinkStiffness(1.0f),\n\n\t\t\tmGlobalStiffness(0.0f),\n\n\t\t\tmSurfaceSampling(0.0f),\n\t\t\tmVolumeSampling(4.0f),\n\n\t\t\tmSkinningFalloff(2.0f),\n\t\t\tmSkinningMaxDistance(100.0f),\n\n\t\t\tmClusterPlasticThreshold(0.0f),\n\t\t\tmClusterPlasticCreep(0.0f)\n\t\t{}\n\n\t\tconst char* mFile;\n\t\tVec3 mColor;\n\n\t\tVec3 mScale;\n\t\tVec3 mTranslation;\n\n\t\tfloat mClusterSpacing;\n\t\tfloat mClusterRadius;\n\t\tfloat mClusterStiffness;\n\n\t\tfloat mLinkRadius;\n\t\tfloat mLinkStiffness;\n\n\t\tfloat mGlobalStiffness;\n\n\t\tfloat mSurfaceSampling;\n\t\tfloat mVolumeSampling;\n\n\t\tfloat mSkinningFalloff;\n\t\tfloat mSkinningMaxDistance;\n\n\t\tfloat mClusterPlasticThreshold;\n\t\tfloat mClusterPlasticCreep;\n\t};\n\n\tstd::vector<Instance> mInstances;\n\nprivate:\n\n\tstruct RenderingInstance\n\t{\n\t\tMesh* mMesh;\n\t\tstd::vector<int> mSkinningIndices;\n\t\tstd::vector<float> mSkinningWeights;\n\t\tvector<Vec3> mRigidRestPoses;\n\t\tVec3 mColor;\n\t\tint mOffset;\n\t};\n\n\tstd::vector<RenderingInstance> mRenderingInstances;\n\n\tbool plasticDeformation;\n\n\npublic:\n\tvirtual void AddInstance(Instance instance)\n\t{\n\t\tthis->mInstances.push_back(instance);\n\t}\n\n\tvirtual void AddStack(Instance instance, int xStack, int yStack, int zStack, bool rotateColors = false)\n\t{\n\t\tVec3 translation = instance.mTranslation;\n\t\tfor (int x = 0; x < xStack; ++x)\n\t\t{\n\t\t\tfor (int y = 0; y < yStack; ++y)\n\t\t\t{\n\t\t\t\tfor (int z = 0; z < zStack; ++z)\n\t\t\t\t{\n\t\t\t\t\tinstance.mTranslation = translation + Vec3(x*(instance.mScale.x + 1), y*(instance.mScale.y + 1), z*(instance.mScale.z + 1))*mRadius;\n\t\t\t\t\tif (rotateColors) {\n\t\t\t\t\t\tinstance.mColor = mColorPicker[(x*yStack*zStack + y*zStack + z) % 7];\n\t\t\t\t\t}\n\t\t\t\t\tthis->mInstances.push_back(instance);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tvirtual void Initialize()\n\t{\n\t\tfloat radius = mRadius;\n\n\t\t// no fluids or sdf based collision\n\t\tg_solverDesc.featureMode = eNvFlexFeatureModeSimpleSolids;\n\n\t\tg_params.radius = radius;\n\t\tg_params.dynamicFriction = 0.35f;\n\t\tg_params.particleFriction = 0.25f;\n\t\tg_params.numIterations = 4;\n\t\tg_params.collisionDistance = radius*0.75f;\n\n\t\tg_params.relaxationFactor = mRelaxationFactor;\n\n\t\tg_windStrength = 0.0f;\n\n\t\tg_numSubsteps = 2;\n\n\t\t// draw options\n\t\tg_drawPoints = false;\n\t\tg_wireframe = false;\n\t\tg_drawSprings = false;\n\t\tg_drawBases = false;\n\n\t\tg_buffers->rigidOffsets.push_back(0);\n\n\t\tmRenderingInstances.resize(0);\n\n\t\t// build soft bodies \n\t\tfor (int i = 0; i < int(mInstances.size()); i++)\n\t\t\tCreateSoftBody(mInstances[i], mRenderingInstances.size());\n\n\t\tif (mPlinth) \n\t\t\tAddPlinth();\n\n\t\t// fix any particles below the ground plane in place\n\t\tfor (int i = 0; i < int(g_buffers->positions.size()); ++i)\n\t\t\tif (g_buffers->positions[i].y < 0.0f)\n\t\t\t\tg_buffers->positions[i].w = 0.0f;\n\n\t\t// expand radius for better self collision\n\t\tg_params.radius *= 1.5f;\n\n\t\tg_lightDistance *= 1.5f;\n\t}\n\n\tvoid CreateSoftBody(Instance instance, int group = 0)\n\t{\n\t\tRenderingInstance renderingInstance;\n\n\t\tMesh* mesh = ImportMesh(GetFilePathByPlatform(instance.mFile).c_str());\n\t\tmesh->Normalize();\n\t\tmesh->Transform(TranslationMatrix(Point3(instance.mTranslation))*ScaleMatrix(instance.mScale*mRadius));\n\n\t\trenderingInstance.mMesh = mesh;\n\t\trenderingInstance.mColor = instance.mColor;\n\t\trenderingInstance.mOffset = g_buffers->rigidTranslations.size();\n\n\t\tdouble createStart = GetSeconds();\n\n\t\t// create soft body definition\n\t\tNvFlexExtAsset* asset = NvFlexExtCreateSoftFromMesh(\n\t\t\t(float*)&renderingInstance.mMesh->m_positions[0],\n\t\t\trenderingInstance.mMesh->m_positions.size(),\n\t\t\t(int*)&renderingInstance.mMesh->m_indices[0],\n\t\t\trenderingInstance.mMesh->m_indices.size(),\n\t\t\tmRadius,\n\t\t\tinstance.mVolumeSampling,\n\t\t\tinstance.mSurfaceSampling,\n\t\t\tinstance.mClusterSpacing*mRadius,\n\t\t\tinstance.mClusterRadius*mRadius,\n\t\t\tinstance.mClusterStiffness,\n\t\t\tinstance.mLinkRadius*mRadius,\n\t\t\tinstance.mLinkStiffness,\n\t\t\tinstance.mGlobalStiffness,\n\t\t\tinstance.mClusterPlasticThreshold,\n\t\t\tinstance.mClusterPlasticCreep);\n\n\t\tdouble createEnd = GetSeconds();\n\n\t\t// create skinning\n\t\tconst int maxWeights = 4;\n\n\t\trenderingInstance.mSkinningIndices.resize(renderingInstance.mMesh->m_positions.size()*maxWeights);\n\t\trenderingInstance.mSkinningWeights.resize(renderingInstance.mMesh->m_positions.size()*maxWeights);\n\n\t\tfor (int i = 0; i < asset->numShapes; ++i)\n\t\t\trenderingInstance.mRigidRestPoses.push_back(Vec3(&asset->shapeCenters[i * 3]));\n\n\t\tdouble skinStart = GetSeconds();\n\n\t\tNvFlexExtCreateSoftMeshSkinning(\n\t\t\t(float*)&renderingInstance.mMesh->m_positions[0],\n\t\t\trenderingInstance.mMesh->m_positions.size(),\n\t\t\tasset->shapeCenters,\n\t\t\tasset->numShapes,\n\t\t\tinstance.mSkinningFalloff,\n\t\t\tinstance.mSkinningMaxDistance,\n\t\t\t&renderingInstance.mSkinningWeights[0],\n\t\t\t&renderingInstance.mSkinningIndices[0]);\n\n\t\tdouble skinEnd = GetSeconds();\n\n\t\tprintf(\"Created soft in %f ms Skinned in %f\\n\", (createEnd - createStart)*1000.0f, (skinEnd - skinStart)*1000.0f);\n\n\t\tconst int particleOffset = g_buffers->positions.size();\n\t\tconst int indexOffset = g_buffers->rigidOffsets.back();\n\n\t\t// add particle data to solver\n\t\tfor (int i = 0; i < asset->numParticles; ++i)\n\t\t{\n\t\t\tg_buffers->positions.push_back(&asset->particles[i * 4]);\n\t\t\tg_buffers->velocities.push_back(0.0f);\n\n\t\t\tconst int phase = NvFlexMakePhase(group, eNvFlexPhaseSelfCollide | eNvFlexPhaseSelfCollideFilter);\n\t\t\tg_buffers->phases.push_back(phase);\n\t\t}\n\n\t\t// add shape data to solver\n\t\tfor (int i = 0; i < asset->numShapeIndices; ++i)\n\t\t\tg_buffers->rigidIndices.push_back(asset->shapeIndices[i] + particleOffset);\n\n\t\tfor (int i = 0; i < asset->numShapes; ++i)\n\t\t{\n\t\t\tg_buffers->rigidOffsets.push_back(asset->shapeOffsets[i] + indexOffset);\n\t\t\tg_buffers->rigidTranslations.push_back(Vec3(&asset->shapeCenters[i * 3]));\n\t\t\tg_buffers->rigidRotations.push_back(Quat());\n\t\t\tg_buffers->rigidCoefficients.push_back(asset->shapeCoefficients[i]);\n\t\t}\n\n\n\t\t// add plastic deformation data to solver, if at least one asset has non-zero plastic deformation coefficients, leave the according pointers at NULL otherwise\n\t\tif (plasticDeformation)\n\t\t{\n\t\t\tif (asset->shapePlasticThresholds && asset->shapePlasticCreeps)\n\t\t\t{\n\t\t\t\tfor (int i = 0; i < asset->numShapes; ++i)\n\t\t\t\t{\n\t\t\t\t\tg_buffers->rigidPlasticThresholds.push_back(asset->shapePlasticThresholds[i]);\n\t\t\t\t\tg_buffers->rigidPlasticCreeps.push_back(asset->shapePlasticCreeps[i]);\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tfor (int i = 0; i < asset->numShapes; ++i)\n\t\t\t\t{\n\t\t\t\t\tg_buffers->rigidPlasticThresholds.push_back(0.0f);\n\t\t\t\t\tg_buffers->rigidPlasticCreeps.push_back(0.0f);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\telse \n\t\t{\n\t\t\tif (asset->shapePlasticThresholds && asset->shapePlasticCreeps)\n\t\t\t{\n\t\t\t\tint oldBufferSize = g_buffers->rigidCoefficients.size() - asset->numShapes;\n\n\t\t\t\tg_buffers->rigidPlasticThresholds.resize(oldBufferSize);\n\t\t\t\tg_buffers->rigidPlasticCreeps.resize(oldBufferSize);\n\n\t\t\t\tfor (int i = 0; i < oldBufferSize; i++)\n\t\t\t\t{\n\t\t\t\t\tg_buffers->rigidPlasticThresholds[i] = 0.0f;\n\t\t\t\t\tg_buffers->rigidPlasticCreeps[i] = 0.0f;\n\t\t\t\t}\n\n\t\t\t\tfor (int i = 0; i < asset->numShapes; ++i)\n\t\t\t\t{\n\t\t\t\t\tg_buffers->rigidPlasticThresholds.push_back(asset->shapePlasticThresholds[i]);\n\t\t\t\t\tg_buffers->rigidPlasticCreeps.push_back(asset->shapePlasticCreeps[i]);\n\t\t\t\t}\n\n\t\t\t\tplasticDeformation = true;\n\t\t\t}\n\t\t}\n\n\t\t// add link data to the solver \n\t\tfor (int i = 0; i < asset->numSprings; ++i)\n\t\t{\n\t\t\tg_buffers->springIndices.push_back(asset->springIndices[i * 2 + 0]);\n\t\t\tg_buffers->springIndices.push_back(asset->springIndices[i * 2 + 1]);\n\n\t\t\tg_buffers->springStiffness.push_back(asset->springCoefficients[i]);\n\t\t\tg_buffers->springLengths.push_back(asset->springRestLengths[i]);\n\t\t}\n\n\t\tNvFlexExtDestroyAsset(asset);\n\n\t\tmRenderingInstances.push_back(renderingInstance);\n\t}\n\n\tvirtual void Draw(int pass)\n\t{\n\t\tif (!g_drawMesh)\n\t\t\treturn;\n\n\t\tfor (int s = 0; s < int(mRenderingInstances.size()); ++s)\n\t\t{\n\t\t\tconst RenderingInstance& instance = mRenderingInstances[s];\n\n\t\t\tMesh m;\n\t\t\tm.m_positions.resize(instance.mMesh->m_positions.size());\n\t\t\tm.m_normals.resize(instance.mMesh->m_normals.size());\n\t\t\tm.m_indices = instance.mMesh->m_indices;\n\n\t\t\tfor (int i = 0; i < int(instance.mMesh->m_positions.size()); ++i)\n\t\t\t{\n\t\t\t\tVec3 softPos;\n\t\t\t\tVec3 softNormal;\n\n\t\t\t\tfor (int w = 0; w < 4; ++w)\n\t\t\t\t{\n\t\t\t\t\tconst int cluster = instance.mSkinningIndices[i * 4 + w];\n\t\t\t\t\tconst float weight = instance.mSkinningWeights[i * 4 + w];\n\n\t\t\t\t\tif (cluster > -1)\n\t\t\t\t\t{\n\t\t\t\t\t\t// offset in the global constraint array\n\t\t\t\t\t\tint rigidIndex = cluster + instance.mOffset;\n\n\t\t\t\t\t\tVec3 localPos = Vec3(instance.mMesh->m_positions[i]) - instance.mRigidRestPoses[cluster];\n\n\t\t\t\t\t\tVec3 skinnedPos = g_buffers->rigidTranslations[rigidIndex] + Rotate(g_buffers->rigidRotations[rigidIndex], localPos);\n\t\t\t\t\t\tVec3 skinnedNormal = Rotate(g_buffers->rigidRotations[rigidIndex], instance.mMesh->m_normals[i]);\n\n\t\t\t\t\t\tsoftPos += skinnedPos*weight;\n\t\t\t\t\t\tsoftNormal += skinnedNormal*weight;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tm.m_positions[i] = Point3(softPos);\n\t\t\t\tm.m_normals[i] = softNormal;\n\t\t\t}\n\n\t\t\tDrawMesh(&m, instance.mColor);\n\t\t}\n\t}\n};\n\n\nclass SoftBodyFixed : public SoftBody\n{\npublic:\n\n\tSoftBodyFixed(const char* name) : SoftBody(name) \n\t{}\n\n\tvirtual void Initialize()\n\t{\n\t\tSoftBody::Initialize();\n\n\t\t// fix any particles in the wall\n\t\tfor (int i = 0; i < int(g_buffers->positions.size()); ++i)\n\t\t\tif (g_buffers->positions[i].x < mRadius)\n\t\t\t\tg_buffers->positions[i].w = 0.0f;\n\t}\n\n\tvirtual void AddStack(Instance instance, int zStack)\n\t{\n\t\tfloat clusterStiffness = instance.mClusterStiffness;\n\t\tVec3 translation = instance.mTranslation;\n\n\t\tfor (int z = 0; z < zStack; ++z)\n\t\t{\n\t\t\tinstance.mClusterStiffness = sqr(clusterStiffness*(z + 1));\n\t\t\tinstance.mTranslation = translation + Vec3(0.0f, 0.0f, -z*(instance.mScale.z + 1))*mRadius;\n\t\t\tthis->mInstances.push_back(instance);\n\t\t}\n\t}\n\n\tvirtual void PostInitialize()\n\t{\n\t\tSoftBody::PostInitialize();\n\n\t\t(Vec4&)g_params.planes[1] = Vec4(1.0f, 0.0f, 0.0f, 0.0f);\n\t\tg_params.numPlanes = 2;\n\t}\n};"
  },
  {
    "path": "demo/scenes/spherecloth.h",
    "content": "\n\n\nclass SphereCloth : public Scene\n{\npublic:\n\n\tSphereCloth(const char* name) :\n\t  Scene(name) {}\n\n\tvirtual void Initialize()\n\t{\t\n\t\tfloat stretchStiffness = 1.0f;\n\t\tfloat bendStiffness = 0.5f;\n\t\tfloat shearStiffness = 0.5f;\n\n\t\tfloat radius = 0.05f;\n\n\t\tint dimx = 70;\n\t\tint dimz = 70;\n\t\tint phase = NvFlexMakePhase(0, eNvFlexPhaseSelfCollide | eNvFlexPhaseSelfCollideFilter);\n\n\t\tfloat spacing = radius*0.8f;\n\n\t\tCreateSpringGrid(Vec3(-dimx*spacing*0.5f, 1.5f, -dimz*spacing*0.5f), dimx, dimz, 1, spacing, phase, stretchStiffness, bendStiffness, shearStiffness, 0.0f, 1.0f);\n\n\t\tg_params.radius = radius*1.0f;\n\t\tg_params.dynamicFriction = 0.45f;\n\t\tg_params.particleFriction = 0.45f;\n\t\tg_params.dissipation = 0.0f;\n\t\tg_params.numIterations = 8;\n\t\tg_params.viscosity = 0.0f;\n\t\tg_params.drag = 0.05f;\n\t\tg_params.collisionDistance = radius*0.5f;\n\t\tg_params.relaxationMode = eNvFlexRelaxationGlobal;\n\t\tg_params.relaxationFactor = 0.25f;\n\t\tg_params.numPlanes = 1;\n\n\t\tg_numSubsteps = 2;\n\n\t\tg_windStrength = 0.0f;\n\n\t\t// draw options\n\t\tg_drawPoints = false;\n\t\tg_drawSprings = false;\n\n\t\tg_lightDistance *= 1.5f;\n\n\t\tmTime = 0.0f;\n\t}\n\n\tvoid Update()\n\t{\n\t\tClearShapes();\n\n\t\tmTime += g_dt;\n\n\t\t// let cloth settle on object\n\t\tfloat startTime = 1.0f;\n\n\t\tfloat time = Max(0.0f, mTime-startTime);\n\t\tfloat lastTime = Max(0.0f, time-g_dt);\n\n\t\tconst float rotationSpeed = 1.0f;\n\t\tconst float translationSpeed = 0.0f;\n\n\t\tVec3 pos = Vec3(translationSpeed*(1.0f-cosf(time)), 0.5f, 0.0f);\n\t\tVec3 prevPos = Vec3(translationSpeed*(1.0f-cosf(lastTime)), 0.5f, 0.0f);\n\n\t\tQuat rot = QuatFromAxisAngle(Vec3(0.0f, 1.0f, 0.0f), kPi*(1.0f-cosf(rotationSpeed*time)));\n\t\tQuat prevRot = QuatFromAxisAngle(Vec3(0.0f, 1.0f, 0.0f), kPi*(1.0f-cosf(rotationSpeed*lastTime)));\n\n\t\tAddSphere(0.5f, pos, rot);\n\t\t\t//AddCapsule(0.25f, 0.5f, pos, rot);\n\t\t\n\t\tg_buffers->shapePrevPositions[0] = Vec4(prevPos, 0.0f);\n\t\tg_buffers->shapePrevRotations[0] = prevRot;\n\n\t\tUpdateShapes();\n\t}\n\n\tfloat mTime;\n\tint mType;\n};\n\n"
  },
  {
    "path": "demo/scenes/surfacetension.h",
    "content": "\nclass SurfaceTension : public Scene\n{\npublic:\n\n\tSurfaceTension(const char* name, float surfaceTension) : Scene(name), surfaceTension(surfaceTension) {}\n\n\tvirtual void Initialize()\n\t{\n\t\tmCounter = 0;\n\n\t\tfloat radius = 0.1f;\n\t\tfloat restDistance = radius*0.55f;\n\t\tint phase = NvFlexMakePhase(0, eNvFlexPhaseSelfCollide | eNvFlexPhaseFluid);\n\n\t\tCreateParticleGrid(Vec3(0.0f, 0.2f, -1.0f), 16, 64, 16, restDistance, Vec3(0.0f), 1.0f, false, 0.0f, phase, 0.005f);\n\n\t\tg_params.radius = radius;\n\n\t\tg_params.numIterations = 3;\n\t\tg_params.vorticityConfinement = 0.0f;\n\t\tg_params.fluidRestDistance = restDistance;\n\t\tg_params.smoothing = 0.5f;\n\t\tg_params.relaxationFactor = 1.f;\n\t\tg_params.restitution = 0.0f;\n\t\tg_params.collisionDistance = 0.01f;\n\n\t\tg_params.dynamicFriction = 0.25f;\n\t\tg_params.viscosity = 0.5f;\n\t\tg_params.cohesion = 0.1f;\n\t\tg_params.adhesion = 0.0f;\n\t\tg_params.surfaceTension = surfaceTension;\n\n\t\tg_params.gravity[1] = 0.0f;\n\n\t\tg_numExtraParticles = 64 * 1024;\n\n\t\tg_emitters[0].mEnabled = true;\n\t\tg_emitters[0].mSpeed = (g_params.fluidRestDistance*2.f / g_dt);\n\n\t\tg_lightDistance *= 2.0f;\n\n\t\t// draw options\t\t\n\t\tg_drawEllipsoids = true;\n\t}\n\n\tvoid Update()\n\t{\n\t\tif (g_frame == 300)\n\t\t\tg_params.gravity[1] = -9.8f;\n\t}\n\n\tint mCounter;\n\tfloat surfaceTension;\n};\n"
  },
  {
    "path": "demo/scenes/tearing.h",
    "content": "\nclass Tearing : public Scene\n{\npublic:\n\n\tTearing(const char* name) : Scene(name) {}\n\n\t~Tearing()\n\t{\n\t\tNvFlexExtDestroyTearingCloth(mCloth);\n\t}\n\n\tvoid Initialize()\n\t{\n\t\tMesh* mesh = ImportMesh(GetFilePathByPlatform(\"../../data/irregular_plane.obj\").c_str());\n\t\tmesh->Transform(RotationMatrix(kPi, Vec3(0.0f, 1.0f, 0.0f))*RotationMatrix(kPi*0.5f, Vec3(1.0f, 0.0f, 0.0f))*ScaleMatrix(2.0f));\n\n\t\tVec3 lower, upper;\n\t\tmesh->GetBounds(lower, upper);\n\n\t\tfloat radius = 0.065f;\n\t\tint phase = NvFlexMakePhase(0, eNvFlexPhaseSelfCollide | eNvFlexPhaseSelfCollideFilter);\n\n\t\tfor (size_t i = 0; i < mesh->GetNumVertices(); ++i)\n\t\t{\n\t\t\tVec3 p = Vec3(mesh->m_positions[i]);\n\n\t\t\tfloat invMass = 1.0f;\n\n\t\t\tif (p.y == upper.y)\n\t\t\t\tinvMass = 0.0f;\n\n\t\t\tp += Vec3(0.0f, 1.5f, 0.0f);\n\n\t\t\tg_buffers->positions.push_back(Vec4(p.x, p.y, p.z, invMass));\n\t\t\tg_buffers->velocities.push_back(0.0f);\n\t\t\tg_buffers->phases.push_back(phase);\n\t\t}\n\n\t\tg_numExtraParticles = 1000;\n\n\t\tmCloth = NvFlexExtCreateTearingClothFromMesh((float*)&g_buffers->positions[0], int(g_buffers->positions.size()), int(g_buffers->positions.size()) + g_numExtraParticles, (int*)&mesh->m_indices[0], mesh->GetNumFaces(), 0.8f, 0.8f, 0.0f);\n\n\t\tg_buffers->triangles.assign((int*)&mesh->m_indices[0], mesh->m_indices.size());\n\t\tg_buffers->triangleNormals.resize(mesh->GetNumFaces(), Vec3(0.0f, 0.0f, 1.0f));\n\n\t\tg_buffers->springIndices.assign(mCloth->springIndices, mCloth->numSprings * 2);\n\t\tg_buffers->springStiffness.assign(mCloth->springCoefficients, mCloth->numSprings);\n\t\tg_buffers->springLengths.assign(mCloth->springRestLengths, mCloth->numSprings);\n\n\t\tg_params.radius = radius;\n\t\tg_params.dynamicFriction = 0.025f;\n\t\tg_params.dissipation = 0.0f;\n\t\tg_params.numIterations = 16;\n\t\tg_params.particleCollisionMargin = g_params.radius*0.05f;\n\t\tg_params.relaxationFactor = 1.0f;\n\t\tg_params.drag = 0.03f;\n\n\t\tg_params.relaxationMode = eNvFlexRelaxationGlobal;\n\t\tg_params.relaxationFactor = 0.35f;\n\n\t\tg_numSubsteps = 2;\n\n\t\tg_pause = false;\n\n\t\t// draw options\t\t\n\t\tg_drawPoints = false;\n\t}\n\n\tvoid Update()\n\t{\n\t\tg_params.wind[0] = 0.1f;\n\t\tg_params.wind[1] = 0.1f;\n\t\tg_params.wind[2] = -0.2f;\n\t\tg_windStrength = 6.0f;\n\n\t\tconst float maxStrain = 3.0f;\n\t\tconst int maxCopies = 2048;\n\t\tconst int maxEdits = 2048;\n\n\t\tNvFlexExtTearingParticleClone particleCopies[maxCopies];\n\t\tint numParticleCopies;\n\n\t\tNvFlexExtTearingMeshEdit triangleEdits[maxEdits];\n\t\tint numTriangleEdits;\n\n\t\t// update asset's copy of the particles\n\t\tmemcpy(mCloth->particles, &g_buffers->positions[0], sizeof(Vec4)*g_buffers->positions.size());\n\n\t\tNvFlexExtTearClothMesh(mCloth, maxStrain, 4, particleCopies, &numParticleCopies, maxCopies, triangleEdits, &numTriangleEdits, maxEdits);\n\n\t\t// copy particles\n\t\tfor (int i = 0; i < numParticleCopies; ++i)\n\t\t{\n\t\t\tconst int srcIndex = particleCopies[i].srcIndex;\n\t\t\tconst int destIndex = particleCopies[i].destIndex;\n\n\t\t\tg_buffers->positions[destIndex] = Vec4(Vec3(g_buffers->positions[srcIndex]), 1.0f);\t// override mass because picked particle has inf. mass\n\t\t\tg_buffers->restPositions[destIndex] = g_buffers->restPositions[srcIndex];\n\t\t\tg_buffers->velocities[destIndex] = g_buffers->velocities[srcIndex];\n\t\t\tg_buffers->phases[destIndex] = g_buffers->phases[srcIndex];\n\n\t\t\tg_buffers->activeIndices.push_back(destIndex);\n\t\t}\n\n\t\t// apply triangle modifications to index buffer\n\t\tfor (int i = 0; i < numTriangleEdits; ++i)\n\t\t{\n\t\t\tconst int index = triangleEdits[i].triIndex;\n\t\t\tconst int newValue = triangleEdits[i].newParticleIndex;\n\n\t\t\tg_buffers->triangles[index] = newValue;\n\t\t}\n\n\t\tmCloth->numParticles += numParticleCopies;\n\n\t\t// update constraints\n\t\tg_buffers->springIndices.assign(mCloth->springIndices, mCloth->numSprings * 2);\n\t\tg_buffers->springStiffness.assign(mCloth->springCoefficients, mCloth->numSprings);\n\t\tg_buffers->springLengths.assign(mCloth->springRestLengths, mCloth->numSprings);\n\t}\n\n\tvirtual void Sync()\n\t{\n\t\t// update solver data not already updated in the main loop\n\t\tNvFlexSetSprings(g_solver, g_buffers->springIndices.buffer, g_buffers->springLengths.buffer, g_buffers->springStiffness.buffer, g_buffers->springLengths.size());\n\t\tNvFlexSetDynamicTriangles(g_solver, g_buffers->triangles.buffer, g_buffers->triangleNormals.buffer, g_buffers->triangles.size() / 3);\n\t\tNvFlexSetRestParticles(g_solver, g_buffers->restPositions.buffer, NULL);\n\t}\n\n\tNvFlexExtAsset* mCloth;\n};"
  },
  {
    "path": "demo/scenes/thinbox.h",
    "content": "\n\nclass ThinBox : public Scene\n{\npublic:\n\n\tThinBox(const char* name) : Scene(name) {}\n\n\tint base;\n\tint width;\n\tint height;\n\tint depth;\n\n\tvirtual void Initialize()\n\t{\n\t\tfloat radius = 0.03f;\n\n\t\twidth = 16;\n\t\theight = 8;\n\t\tdepth = 8;\n\n\t\tbase = 4;\n\n\t\tfloat sep = radius;\n\n\t\tCreateParticleGrid(Vec3(0.0f, radius, 0.0f), width, height, depth, sep, Vec3(0.0f), 1.0f, false, 0.0f, NvFlexMakePhase(0, eNvFlexPhaseSelfCollide), 0.0f);\n\n\t\tVec3 upper;\n\t\tVec3 lower;\n\t\tGetParticleBounds(lower, upper);\n\t\tlower -= Vec3(radius*0.5f);\n\t\tupper += Vec3(radius*0.5f);\n\n\t\tVec3 center = 0.5f*(upper + lower);\n\n\t\tfloat width = (upper - lower).x*0.5f;\n\t\tfloat depth = (upper - lower).z*0.5f;\n\t\tfloat edge = 0.0075f*0.5f;\n\t\tfloat height = 8 * radius;\n\n\t\tAddBox(Vec3(edge, height, depth), center + Vec3(-width, height / 2, 0.0f));\n\t\tAddBox(Vec3(edge, height, depth), center + Vec3(width, height / 2, 0.0f));\n\t\tAddBox(Vec3(width - edge, height, edge), center + Vec3(0.0f, height / 2, (depth - edge)));\n\t\tAddBox(Vec3(width - edge, height, edge), center + Vec3(0.0f, height / 2, -(depth - edge)));\n\t\tAddBox(Vec3(width, edge, depth), Vec3(center.x, lower.y, center.z));\n\n\t\tg_params.gravity[1] = -9.f;\n\t\tg_params.radius = radius;\n\t\tg_params.dynamicFriction = 0.0f;\n\t\tg_params.numIterations = 5;\n\t\tg_params.numPlanes = 1;\n\t\tg_params.restitution = 0.0f;\n\t\tg_params.collisionDistance = radius;\n\t\tg_params.particleCollisionMargin = radius*0.5f;\n\n\t\tg_params.relaxationFactor = 0.0f;\n\t\tg_numSubsteps = 2;\n\n\t\tg_lightDistance *= 0.85f;\n\n\t\t// draw options\n\t\tg_drawPoints = true;\n\t\tg_warmup = false;\n\t}\n};"
  },
  {
    "path": "demo/scenes/trianglecollision.h",
    "content": "\nclass TriangleCollision : public Scene\n{\npublic:\n\n\tTriangleCollision(const char* name) : Scene(name) {}\n\n\tvoid Initialize()\n\t{\n\t\tfloat radius = 0.05f;\n\t\tCreateParticleGrid(Vec3(0.4f, 1.0f + radius*0.5f, 0.1f), 10, 5, 10, radius, Vec3(0.0f), 1.0f, false, 0.0f, NvFlexMakePhase(0, eNvFlexPhaseSelfCollide), 0.0f);\n\n\t\tMesh* disc = CreateDiscMesh(1.0f, 4);\n\n\t\t// create shallow bowl\n\t\tdisc->m_positions[0].y -= 0.5f;\n\t\tdisc->CalculateNormals();\n\n\n\t\tNvFlexTriangleMeshId mesh1 = CreateTriangleMesh(disc);\n\t\tAddTriangleMesh(mesh1, Vec3(0.0f, 0.5f, 0.0f), Quat(), Vec3(1.0f, 0.5f, 1.0f));\n\t\tAddTriangleMesh(mesh1, Vec3(1.0f, 0.5f, 1.0f), Quat(), Vec3(1.0f, 0.5f, 1.0f));\n\n\t\tNvFlexTriangleMeshId mesh2 = CreateTriangleMesh(disc);\n\t\tAddTriangleMesh(mesh2, Vec3(-1.0f, 0.5f, 1.0f), Quat(), Vec3(1.0f, 0.5f, 1.0f));\n\t\tAddTriangleMesh(mesh2, Vec3(1.0f, 0.5f, -1.0f), Quat(), Vec3(1.0f, 1.0f, 1.0f));\n\n\t\tNvFlexTriangleMeshId mesh3 = CreateTriangleMesh(disc);\n\t\tAddTriangleMesh(mesh3, Vec3(-1.0f, 0.5f, -1.0f), Quat(), Vec3(1.0f, 0.25f, 1.0f));\n\n\n\t\tdelete disc;\n\n\t\tg_params.radius = radius;\n\t\tg_params.dynamicFriction = 0.025f;\n\t\tg_params.dissipation = 0.0f;\n\t\tg_params.restitution = 0.0;\n\t\tg_params.numIterations = 4;\n\t\tg_params.particleCollisionMargin = g_params.radius*0.05f;\n\n\t\tg_numSubsteps = 1;\n\n\t\t// draw options\t\t\n\t\tg_drawPoints = true;\n\t}\n\t\n};\n"
  },
  {
    "path": "demo/scenes/triggervolume.h",
    "content": "\n\n\nclass TriggerVolume : public Scene\n{\npublic:\n\n\tTriggerVolume(const char* name) : Scene(name) {}\n\n\tvoid Initialize()\n\t{\n\t\tfloat radius = 0.05f;\n\t\tCreateParticleGrid(Vec3(1.75, 2.0, -0.25), 10, 5, 10, radius, Vec3(0.0f), 1.0f, false, 0.0f, NvFlexMakePhase(0, eNvFlexPhaseSelfCollide), 0.0f);\n\n\t\tg_numExtraParticles = 10000;\n\n\t\t// regular box\n\t\tAddBox(Vec3(0.5), Vec3(0.0, 0.5, 0.0));\n\n\t\t// trigger box\n\t\tAddBox(Vec3(0.5), Vec3(2.0f, 0.5, 0.0));\n\t\tg_buffers->shapeFlags[1] |= eNvFlexShapeFlagTrigger;\n\n\t\tg_params.radius = radius;\n\t\tg_params.dynamicFriction = 0.025f;\n\t\tg_params.dissipation = 0.0f;\n\t\tg_params.restitution = 0.0;\n\t\tg_params.numIterations = 4;\n\t\tg_params.particleCollisionMargin = g_params.radius*0.05f;\n\n\t\tg_numSubsteps = 1;\n\n\t\t// draw options\t\t\n\t\tg_drawPoints = true;\n\n\t\tg_emitters[0].mEnabled = true;\n\t}\n\n\tvirtual void Update()\n\t{\n\t\tconst int maxContactsPerParticle = 6;\n\n\t\tNvFlexVector<Vec4> contactPlanes(g_flexLib,g_buffers->positions.size()*maxContactsPerParticle);\n\t\tNvFlexVector<Vec4> contactVelocities(g_flexLib, g_buffers->positions.size()*maxContactsPerParticle);\n\t\tNvFlexVector<int> contactIndices(g_flexLib, g_buffers->positions.size());\n\t\tNvFlexVector<unsigned int> contactCounts(g_flexLib, g_buffers->positions.size());\n\n\t\tNvFlexGetContacts(g_solver, contactPlanes.buffer, contactVelocities.buffer, contactIndices.buffer, contactCounts.buffer);\n\n\t\tcontactPlanes.map();\n\t\tcontactVelocities.map();\n\t\tcontactIndices.map();\n\t\tcontactCounts.map();\n\n\t\tint activeCount = NvFlexGetActiveCount(g_solver);\n\n\t\tfor (int i = 0; i < activeCount; ++i)\n\t\t{\n\t\t\tconst int contactIndex = contactIndices[i];\n\t\t\tconst unsigned int count = contactCounts[contactIndex];\n\n\t\t\tfor (unsigned int c = 0; c < count; ++c)\n\t\t\t{\n\t\t\t\tVec4 velocity = contactVelocities[contactIndex*maxContactsPerParticle + c];\n\n\t\t\t\tconst int shapeId = int(velocity.w);\n\n\t\t\t\t// detect when particle intersects the trigger \n\t\t\t\t// volume and teleport it over to the other box\n\t\t\t\tif (shapeId == 1)\n\t\t\t\t{\n\t\t\t\t\tVec3 pos = Vec3(Randf(-0.5f, 0.5f), 1.0f, Randf(-0.5f, 0.5f));\n\n\t\t\t\t\tg_buffers->positions[i] = Vec4(pos, 1.0f);\n\t\t\t\t\tg_buffers->velocities[i] = 0.0f;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n};"
  },
  {
    "path": "demo/scenes/viscosity.h",
    "content": "\nclass Viscosity : public Scene\n{\npublic:\n\n\tViscosity(const char* name, float viscosity = 1.0f, float dissipation = 0.0f) : Scene(name), viscosity(viscosity), dissipation(dissipation) {}\n\n\tvirtual void Initialize()\n\t{\n\t\tfloat radius = 0.1f;\n\t\tfloat restDistance = radius*0.5f;\n\n\t\tg_solverDesc.featureMode = eNvFlexFeatureModeSimpleFluids;\n\n\t\tg_params.radius = radius;\n\n\t\tg_params.numIterations = 3;\n\t\tg_params.vorticityConfinement = 0.0f;\n\t\tg_params.fluidRestDistance = restDistance;\n\t\tg_params.smoothing = 0.35f;\n\t\tg_params.relaxationFactor = 1.f;\n\t\tg_params.restitution = 0.0f;\n\t\tg_params.collisionDistance = 0.00125f;\n\t\tg_params.shapeCollisionMargin = g_params.collisionDistance*0.25f;\n\t\tg_params.dissipation = dissipation;\n\n\t\tg_params.gravity[1] *= 2.0f;\n\n\t\tg_fluidColor = Vec4(1.0f, 1.0f, 1.0f, 0.0f);\n\t\tg_meshColor = Vec3(0.7f, 0.8f, 0.9f)*0.7f;\n\n\t\tg_params.dynamicFriction = 1.0f;\n\t\tg_params.staticFriction = 0.0f;\n\t\tg_params.viscosity = 20.0f + 20.0f*viscosity;\n\t\tg_params.adhesion = 0.1f*viscosity;\n\t\tg_params.cohesion = 0.05f*viscosity;\n\t\tg_params.surfaceTension = 0.0f;\n\n\t\tconst float shapeSize = 2.0f;\n\t\tconst Vec3 shapeLower = Vec3(-shapeSize*0.5f, 0.0f, -shapeSize*0.5f);\n\t\tconst Vec3 shapeUpper = shapeLower + Vec3(shapeSize);\n\t\tconst Vec3 shapeCenter = (shapeLower + shapeUpper)*0.5f;\n\n\t\tNvFlexDistanceFieldId sdf = CreateSDF(GetFilePathByPlatform(\"../../data/bunny.ply\").c_str(), 128);\n\t\tAddSDF(sdf, shapeLower, Quat(), shapeSize);\n\n\t\tfloat emitterSize = 1.f;\n\n\t\tEmitter e;\n\t\te.mEnabled = true;\n\t\te.mWidth = int(emitterSize / restDistance);\n\t\te.mPos = Vec3(shapeCenter.x - 0.2f, shapeUpper.y + 0.75f, shapeCenter.z);\n\t\te.mDir = Vec3(0.0f, -1.0f, 0.0f);\n\t\te.mRight = Vec3(1.0f, 0.0f, 0.0f);\n\t\te.mSpeed = (restDistance*2.f / g_dt);\n\n\t\tg_sceneUpper.z = 5.0f;\n\n\t\tg_emitters.push_back(e);\n\n\t\tg_numExtraParticles = 64 * 1024;\n\n\t\tg_lightDistance *= 2.5f;\n\n\t\t// draw options\t\t\n\t\tg_drawEllipsoids = true;\n\n\t\tg_emit = true;\n\t\tg_pause = false;\n\t}\n\n\tvirtual void DoGui()\n\t{\n\t\timguiSlider(\"Emitter Pos\", &g_emitters.back().mPos.x, -1.0f, 1.0f, 0.001f);\n\t}\n\n\tfloat viscosity;\n\tfloat dissipation;\n};"
  },
  {
    "path": "demo/scenes/waterballoon.h",
    "content": "\nclass WaterBalloon : public Scene\n{\npublic:\n\n\tWaterBalloon(const char* name) : Scene(name) {}\n\n\tvirtual ~WaterBalloon()\n\t{\n\t\tfor (size_t i = 0; i < mCloths.size(); ++i)\n\t\t\tNvFlexExtDestroyTearingCloth(mCloths[i].asset);\n\t}\n\n\tvoid AddInflatable(const Mesh* mesh, float overPressure, float invMass, int phase)\n\t{\n\t\t// create a cloth mesh using the global positions / indices\n\t\tconst int numParticles = int(mesh->m_positions.size());\n\t\tconst int maxParticles = numParticles * 2;\n\n\t\tBalloon balloon;\n\t\tballoon.particleOffset = g_buffers->positions.size();\n\t\tballoon.triangleOffset = g_buffers->triangles.size();\n\t\tballoon.splitThreshold = 4.0f;\n\n\t\t// add particles to system\n\t\tfor (size_t i = 0; i < mesh->GetNumVertices(); ++i)\n\t\t{\n\t\t\tconst Vec3 p = Vec3(mesh->m_positions[i]);\n\n\t\t\tg_buffers->positions.push_back(Vec4(p.x, p.y, p.z, invMass));\n\t\t\tg_buffers->restPositions.push_back(Vec4(p.x, p.y, p.z, invMass));\n\n\t\t\tg_buffers->velocities.push_back(0.0f);\n\t\t\tg_buffers->phases.push_back(phase);\n\t\t}\n\n\t\tfor (size_t i = 0; i < mesh->m_indices.size(); i += 3)\n\t\t{\n\t\t\tint a = mesh->m_indices[i + 0];\n\t\t\tint b = mesh->m_indices[i + 1];\n\t\t\tint c = mesh->m_indices[i + 2];\n\n\t\t\tVec3 n = -Normalize(Cross(mesh->m_positions[b] - mesh->m_positions[a], mesh->m_positions[c] - mesh->m_positions[a]));\n\t\t\tg_buffers->triangleNormals.push_back(n);\n\n\t\t\tg_buffers->triangles.push_back(a + balloon.particleOffset);\n\t\t\tg_buffers->triangles.push_back(b + balloon.particleOffset);\n\t\t\tg_buffers->triangles.push_back(c + balloon.particleOffset);\n\t\t}\n\n\t\t// create tearing asset\n\t\tNvFlexExtAsset* cloth = NvFlexExtCreateTearingClothFromMesh((float*)&g_buffers->positions[balloon.particleOffset], numParticles, maxParticles, (int*)&mesh->m_indices[0], mesh->GetNumFaces(), 1.0f, 1.0f, 0.0f);\n\t\tballoon.asset = cloth;\n\n\t\tmCloths.push_back(balloon);\n\t}\n\n\tvoid Initialize()\n\t{\n\t\tmCloths.resize(0);\n\n\t\tfloat minSize = 0.25f;\n\t\tfloat maxSize = 0.5f;\n\t\tfloat spacing = 4.0f;\n\n\t\t// convex rocks\n\t\tfor (int i = 0; i < 4; i++)\n\t\t\tfor (int j = 0; j < 1; j++)\n\t\t\t\tAddRandomConvex(10, Vec3(i*maxSize*spacing, 0.0f, j*maxSize*spacing), minSize, maxSize, Vec3(0.0f, 1.0f, 0.0f), Randf(0.0f, k2Pi));\n\n\t\tfloat radius = 0.1f;\n\t\tint group = 0;\n\n\t\tg_numExtraParticles = 20000;\n\t\tg_numSubsteps = 3;\n\n\t\tg_params.radius = radius;\n\t\tg_params.dynamicFriction = 0.125f;\n\t\tg_params.dissipation = 0.0f;\n\t\tg_params.numIterations = 5;\n\t\tg_params.particleCollisionMargin = g_params.radius*0.05f;\n\t\tg_params.relaxationFactor = 1.0f;\n\t\tg_params.drag = 0.0f;\n\t\tg_params.smoothing = 1.f;\n\t\tg_params.maxSpeed = 0.5f*g_numSubsteps*radius / g_dt;\n\t\tg_params.gravity[1] *= 1.0f;\n\t\tg_params.collisionDistance = 0.01f;\n\t\tg_params.solidPressure = 0.0f;\n\n\t\tg_params.fluidRestDistance = radius*0.65f;\n\t\tg_params.viscosity = 0.0;\n\t\tg_params.adhesion = 0.0f;\n\t\tg_params.cohesion = 0.02f;\n\n\n\t\t// add inflatables\n\t\tMesh* mesh = ImportMesh(GetFilePathByPlatform(\"../../data/sphere_high.ply\").c_str());\n\n\t\tfor (int y = 0; y < 2; ++y)\n\t\t\tfor (int i = 0; i < 2; ++i)\n\t\t\t{\n\t\t\t\tVec3 lower = Vec3(2.0f + i*2.0f, 0.4f + y*1.2f, 1.0f);\n\n\t\t\t\tmesh->Normalize();\n\t\t\t\tmesh->Transform(TranslationMatrix(Point3(lower)));\n\n\t\t\t\tAddInflatable(mesh, 1.0f, 0.25f, NvFlexMakePhase(group++, eNvFlexPhaseSelfCollide | eNvFlexPhaseSelfCollideFilter));\n\t\t\t}\n\n\t\tg_numSolidParticles = g_buffers->positions.size();\n\t\tg_numExtraParticles = g_buffers->positions.size();\n\n\t\t// fill inflatables with water\n\t\tstd::vector<Vec3> positions(10000);\n\t\tint n = PoissonSample3D(0.45f, g_params.radius*0.42f, &positions[0], positions.size(), 10000);\n\t\t//int n = TightPack3D(0.45f, g_params.radius*0.42f, &positions[0], positions.size());\n\n\t\tmNumFluidParticles = 0;\n\n\t\tfor (size_t i = 0; i < mCloths.size(); ++i)\n\t\t{\n\t\t\tconst int vertStart = i*mesh->GetNumVertices();\n\t\t\tconst int vertEnd = vertStart + mesh->GetNumVertices();\n\n\t\t\tconst int phase = NvFlexMakePhase(group++, eNvFlexPhaseSelfCollide | eNvFlexPhaseFluid);\n\n\t\t\tVec3 center;\n\t\t\tfor (int v = vertStart; v < vertEnd; ++v)\n\t\t\t\tcenter += Vec3(g_buffers->positions[v]);\n\n\t\t\tcenter /= float(vertEnd - vertStart);\n\n\t\t\tprintf(\"%d, %d - %f %f %f\\n\", vertStart, vertEnd, center.x, center.y, center.z);\n\n\t\t\tfor (int i = 0; i < n; ++i)\n\t\t\t{\n\t\t\t\tg_buffers->positions.push_back(Vec4(center + positions[i], 1.0f));\n\t\t\t\tg_buffers->restPositions.push_back(Vec4());\n\t\t\t\tg_buffers->velocities.push_back(0.0f);\n\t\t\t\tg_buffers->phases.push_back(phase);\n\t\t\t}\n\n\t\t\tmNumFluidParticles += n;\n\t\t}\n\n\t\tdelete mesh;\n\n\t\tg_drawPoints = false;\n\t\tg_drawEllipsoids = true;\n\t\tg_drawSprings = 0;\n\t\tg_drawCloth = false;\n\t\tg_warmup = true;\n\n\t}\n\n\tvoid RebuildConstraints()\n\t{\n\t\t// update constraint data\n\t\tg_buffers->triangles.resize(0);\n\t\tg_buffers->springIndices.resize(0);\n\t\tg_buffers->springStiffness.resize(0);\n\t\tg_buffers->springLengths.resize(0);\n\n\t\tfor (int c = 0; c < int(mCloths.size()); ++c)\n\t\t{\n\t\t\tBalloon& balloon = mCloths[c];\n\n\t\t\tfor (int i = 0; i < balloon.asset->numTriangles; ++i)\n\t\t\t{\n\t\t\t\tg_buffers->triangles.push_back(balloon.asset->triangleIndices[i * 3 + 0] + balloon.particleOffset);\n\t\t\t\tg_buffers->triangles.push_back(balloon.asset->triangleIndices[i * 3 + 1] + balloon.particleOffset);\n\t\t\t\tg_buffers->triangles.push_back(balloon.asset->triangleIndices[i * 3 + 2] + balloon.particleOffset);\n\t\t\t}\n\n\t\t\tfor (int i = 0; i < balloon.asset->numSprings * 2; ++i)\n\t\t\t\tg_buffers->springIndices.push_back(balloon.asset->springIndices[i] + balloon.particleOffset);\n\n\n\t\t\tfor (int i = 0; i < balloon.asset->numSprings; ++i)\n\t\t\t{\n\t\t\t\tg_buffers->springStiffness.push_back(balloon.asset->springCoefficients[i]);\n\t\t\t\tg_buffers->springLengths.push_back(balloon.asset->springRestLengths[i]);\n\t\t\t}\n\t\t}\n\t}\n\n\tvirtual void Sync()\n\t{\n\t\t// send new particle data to the GPU\n\t\tNvFlexSetRestParticles(g_solver, g_buffers->restPositions.buffer, NULL);\n\n\t\t// update solver\n\t\tNvFlexSetSprings(g_solver, g_buffers->springIndices.buffer, g_buffers->springLengths.buffer, g_buffers->springStiffness.buffer, g_buffers->springLengths.size());\n\t\tNvFlexSetDynamicTriangles(g_solver, g_buffers->triangles.buffer, g_buffers->triangleNormals.buffer, g_buffers->triangles.size() / 3);\n\t}\n\n\tvirtual void Update()\n\t{\n\t\t// temporarily restore the mouse particle's mass so that we can tear it\n\t\tif (g_mouseParticle != -1)\n\t\t\tg_buffers->positions[g_mouseParticle].w = g_mouseMass;\n\n\t\t// force larger radius for solid interactions to prevent interpenetration\n\t\tg_params.solidRestDistance = g_params.radius;\n\n\t\t// build new particle arrays\n\t\tstd::vector<Vec4> newParticles;\n\t\tstd::vector<Vec4> newParticlesRest;\n\t\tstd::vector<Vec3> newVelocities;\n\t\tstd::vector<int> newPhases;\n\t\tstd::vector<Vec4> newNormals;\n\n\t\tfor (int c = 0; c < int(mCloths.size()); ++c)\n\t\t{\n\t\t\tBalloon& balloon = mCloths[c];\n\n\t\t\tconst int destOffset = newParticles.size();\n\n\t\t\t// append existing particles\n\t\t\tfor (int i = 0; i < balloon.asset->numParticles; ++i)\n\t\t\t{\n\t\t\t\tnewParticles.push_back(g_buffers->positions[balloon.particleOffset + i]);\n\t\t\t\tnewParticlesRest.push_back(g_buffers->restPositions[balloon.particleOffset + i]);\n\t\t\t\tnewVelocities.push_back(g_buffers->velocities[balloon.particleOffset + i]);\n\t\t\t\tnewPhases.push_back(g_buffers->phases[balloon.particleOffset + i]);\n\t\t\t\tnewNormals.push_back(g_buffers->normals[balloon.particleOffset + i]);\n\t\t\t}\n\n\t\t\t// perform splitting\n\t\t\tconst int maxCopies = 2048;\n\t\t\tconst int maxEdits = 2048;\n\n\t\t\tNvFlexExtTearingParticleClone particleCopies[maxCopies];\n\t\t\tint numParticleCopies;\n\n\t\t\tNvFlexExtTearingMeshEdit triangleEdits[maxEdits];\n\t\t\tint numTriangleEdits;\n\n\t\t\t// update asset's copy of the particles\n\t\t\tmemcpy(balloon.asset->particles, &g_buffers->positions[balloon.particleOffset], sizeof(Vec4)*balloon.asset->numParticles);\n\n\t\t\t// tear \n\t\t\tNvFlexExtTearClothMesh(balloon.asset, balloon.splitThreshold, 1, particleCopies, &numParticleCopies, maxCopies, triangleEdits, &numTriangleEdits, maxEdits);\n\n\t\t\t// resize particle data arrays\n\t\t\tnewParticles.resize(newParticles.size() + numParticleCopies);\n\t\t\tnewParticlesRest.resize(newParticlesRest.size() + numParticleCopies);\n\t\t\tnewVelocities.resize(newVelocities.size() + numParticleCopies);\n\t\t\tnewPhases.resize(newPhases.size() + numParticleCopies);\n\t\t\tnewNormals.resize(newNormals.size() + numParticleCopies);\n\n\t\t\t// copy particles\n\t\t\tfor (int i = 0; i < numParticleCopies; ++i)\n\t\t\t{\n\t\t\t\tconst int srcIndex = balloon.particleOffset + particleCopies[i].srcIndex;\n\t\t\t\tconst int destIndex = destOffset + particleCopies[i].destIndex;\n\n\t\t\t\tnewParticles[destIndex] = g_buffers->positions[srcIndex];\n\t\t\t\tnewParticlesRest[destIndex] = g_buffers->restPositions[srcIndex];\n\t\t\t\tnewVelocities[destIndex] = g_buffers->velocities[srcIndex];\n\t\t\t\tnewPhases[destIndex] = g_buffers->phases[srcIndex];\n\t\t\t\tnewNormals[destIndex]  = g_buffers->normals[srcIndex];\n\t\t\t}\n\n\t\t\tif (numParticleCopies)\n\t\t\t{\n\t\t\t\t// reduce split threshold for this balloon\n\t\t\t\tballoon.splitThreshold = 1.75f;\n\t\t\t}\n\n\t\t\tballoon.particleOffset = destOffset;\n\t\t\tballoon.asset->numParticles += numParticleCopies;\n\t\t}\n\n\t\t// append fluid particles\n\t\tconst int fluidStart = g_numSolidParticles;\n\t\tconst int fluidEnd = fluidStart + mNumFluidParticles;\n\n\t\tg_numSolidParticles = newParticles.size();\n\n\t\tfor (int i = fluidStart; i < fluidEnd; ++i)\n\t\t{\n\t\t\tnewParticles.push_back(g_buffers->positions[i]);\n\t\t\tnewParticlesRest.push_back(Vec4());\n\t\t\tnewVelocities.push_back(g_buffers->velocities[i]);\n\t\t\tnewPhases.push_back(g_buffers->phases[i]);\n\t\t\tnewNormals.push_back(g_buffers->normals[i]);\n\t\t}\n\n\t\tg_buffers->positions.assign(&newParticles[0], newParticles.size());\n\t\tg_buffers->restPositions.assign(&newParticlesRest[0], newParticlesRest.size());\n\t\tg_buffers->velocities.assign(&newVelocities[0], newVelocities.size());\n\t\tg_buffers->phases.assign(&newPhases[0], newPhases.size());\n\t\tg_buffers->normals.assign(&newNormals[0], newNormals.size());\n\n\t\t// build active indices list\n\t\tg_buffers->activeIndices.resize(g_buffers->positions.size());\n\t\tfor (int i = 0; i < g_buffers->positions.size(); ++i)\n\t\t\tg_buffers->activeIndices[i] = i;\n\n\t\t// update constraint buffers\n\t\tRebuildConstraints();\n\n\t\t// restore mouse mass\t\t\n\t\tif (g_mouseParticle != -1)\n\t\t\tg_buffers->positions[g_mouseParticle].w = 0.0f;\n\t}\n\n\tvirtual void Draw(int pass)\n\t{\n\t\tif (!g_drawMesh)\n\t\t\treturn;\n\n\t\tfor (size_t i = 0; i < mCloths.size(); ++i)\n\t\t{\n\t\t\tDrawCloth(&g_buffers->positions[0], &g_buffers->normals[0], NULL, &g_buffers->triangles[mCloths[i].triangleOffset], mCloths[i].asset->numTriangles, g_buffers->positions.size(), (i + 2) % 6);//, g_params.radius*0.25f);\t\t\t\n\t\t}\n\t}\n\n\tstruct Balloon\n\t{\n\t\tNvFlexExtAsset* asset;\n\n\t\tint particleOffset;\n\t\tint triangleOffset;\n\n\t\tfloat splitThreshold;\n\t};\n\n\tint mNumFluidParticles;\n\n\tstd::vector<Balloon> mCloths;\n};\n"
  },
  {
    "path": "demo/scenes.h",
    "content": "// This code contains NVIDIA Confidential Information and is disclosed to you\n// under a form of NVIDIA software license agreement provided separately to you.\n//\n// Notice\n// NVIDIA Corporation and its licensors retain all intellectual property and\n// proprietary rights in and to this software and related documentation and\n// any modifications thereto. Any use, reproduction, disclosure, or\n// distribution of this software and related documentation without an express\n// license agreement from NVIDIA Corporation is strictly prohibited.\n//\n// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED \"AS IS.\". NVIDIA MAKES\n// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO\n// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,\n// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.\n//\n// Information and code furnished is believed to be accurate and reliable.\n// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such\n// information or for any infringement of patents or other rights of third parties that may\n// result from its use. No license is granted by implication or otherwise under any patent\n// or patent rights of NVIDIA Corporation. Details are subject to change without notice.\n// This code supersedes and replaces all information previously supplied.\n// NVIDIA Corporation products are not authorized for use as critical\n// components in life support devices or systems without express written approval of\n// NVIDIA Corporation.\n//\n// Copyright (c) 2013-2020 NVIDIA Corporation. All rights reserved.\n\n#pragma once\n\n// disable some warnings\n#if _WIN32\n#pragma warning(disable: 4267)  // conversion from 'size_t' to 'int', possible loss of data\n#endif\n\nclass Scene\n{\npublic:\n\n\tScene(const char* name) : mName(name) {}\n\t\n\tvirtual void Initialize() = 0;\n\tvirtual void PostInitialize() {}\n\t\n\t// update any buffers (all guaranteed to be mapped here)\n\tvirtual void Update() {}\t\n\n\t// send any changes to flex (all buffers guaranteed to be unmapped here)\n\tvirtual void Sync() {}\n\t\n\tvirtual void Draw(int pass) {}\n\tvirtual void KeyDown(int key) {}\n\tvirtual void DoGui() {}\n\tvirtual void CenterCamera() {}\n\n\tvirtual Matrix44 GetBasis() { return Matrix44::kIdentity; }\t\n\n\tvirtual const char* GetName() { return mName; }\n\n\tconst char* mName;\n};\n\n\n#include \"scenes/adhesion.h\"\n#include \"scenes/armadilloshower.h\"\n#include \"scenes/bananas.h\"\n#include \"scenes/bouyancy.h\"\n#include \"scenes/bunnybath.h\"\n#include \"scenes/ccdfluid.h\"\n#include \"scenes/clothlayers.h\"\n#include \"scenes/dambreak.h\"\n#include \"scenes/darts.h\"\n#include \"scenes/debris.h\"\n#include \"scenes/deformables.h\"\n#include \"scenes/envcloth.h\"\n#include \"scenes/flag.h\"\n#include \"scenes/fluidblock.h\"\n#include \"scenes/fluidclothcoupling.h\"\n#include \"scenes/forcefield.h\"\n#include \"scenes/frictionmoving.h\"\n#include \"scenes/frictionramp.h\"\n#include \"scenes/gamemesh.h\"\n#include \"scenes/googun.h\"\n#include \"scenes/granularpile.h\"\n#include \"scenes/granularshape.h\"\n#include \"scenes/inflatable.h\"\n#include \"scenes/initialoverlap.h\"\n#include \"scenes/lighthouse.h\"\n#include \"scenes/localspacecloth.h\"\n#include \"scenes/localspacefluid.h\"\n#include \"scenes/lowdimensionalshapes.h\"\n#include \"scenes/melting.h\"\n#include \"scenes/mixedpile.h\"\n#include \"scenes/nonconvex.h\"\n#include \"scenes/parachutingbunnies.h\"\n#include \"scenes/pasta.h\"\n#include \"scenes/player.h\"\n#include \"scenes/potpourri.h\"\n#include \"scenes/rayleightaylor.h\"\n#include \"scenes/restitution.h\"\n#include \"scenes/rigidfluidcoupling.h\"\n#include \"scenes/rigidpile.h\"\n#include \"scenes/rigidrotation.h\"\n#include \"scenes/rockpool.h\"\n#include \"scenes/sdfcollision.h\"\n#include \"scenes/shapecollision.h\"\n#include \"scenes/shapechannels.h\"\n#include \"scenes/softbody.h\"\n#include \"scenes/spherecloth.h\"\n#include \"scenes/surfacetension.h\"\n#include \"scenes/tearing.h\"\n#include \"scenes/thinbox.h\"\n#include \"scenes/trianglecollision.h\"\n#include \"scenes/triggervolume.h\"\n#include \"scenes/viscosity.h\"\n#include \"scenes/waterballoon.h\"\n"
  },
  {
    "path": "demo/shaders.h",
    "content": "// This code contains NVIDIA Confidential Information and is disclosed to you\n// under a form of NVIDIA software license agreement provided separately to you.\n//\n// Notice\n// NVIDIA Corporation and its licensors retain all intellectual property and\n// proprietary rights in and to this software and related documentation and\n// any modifications thereto. Any use, reproduction, disclosure, or\n// distribution of this software and related documentation without an express\n// license agreement from NVIDIA Corporation is strictly prohibited.\n//\n// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED \"AS IS.\". NVIDIA MAKES\n// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO\n// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,\n// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.\n//\n// Information and code furnished is believed to be accurate and reliable.\n// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such\n// information or for any infringement of patents or other rights of third parties that may\n// result from its use. No license is granted by implication or otherwise under any patent\n// or patent rights of NVIDIA Corporation. Details are subject to change without notice.\n// This code supersedes and replaces all information previously supplied.\n// NVIDIA Corporation products are not authorized for use as critical\n// components in life support devices or systems without express written approval of\n// NVIDIA Corporation.\n//\n// Copyright (c) 2013-2020 NVIDIA Corporation. All rights reserved.\n\n#pragma once\n\n#define STRINGIFY(A) #A\n\n#include \"../core/maths.h\"\n#include \"../core/mesh.h\"\n\n#include \"../include/NvFlex.h\"\n\nvoid GetRenderDevice(void** device, void** context);\n\nstruct DiffuseRenderBuffers;\nstruct FluidRenderBuffers;\n\nstruct SDL_Window;\n\nstruct RenderInitOptions\n{\n\tRenderInitOptions():\n\t\tdefaultFontHeight(-1),\n\t\tasyncComputeBenchmark(false),\n\t\tfullscreen(false),\n\t\tnumMsaaSamples(1),\n\t\twindow(nullptr)\n\t{}\n\tint defaultFontHeight;\t\t\t\t\t///< Set to -1 for the default\n\tbool asyncComputeBenchmark;\t\t\t\t///< When set, will configure renderer to perform extra (unnecessary) rendering work to make sure async compute can take place.  \n\tbool fullscreen;\n\tint numMsaaSamples;\n\tSDL_Window* window;\n};\n\nvoid InitRender(const RenderInitOptions& options);\nvoid DestroyRender();\nvoid ReshapeRender(SDL_Window* window);\n\nvoid StartFrame(Vec4 clearColor);\nvoid EndFrame();\n\nvoid StartGpuWork();\nvoid EndGpuWork();\n\nvoid FlushGraphicsAndWait();\n\n// set to true to enable vsync\nvoid PresentFrame(bool fullsync);\n\nvoid GetViewRay(int x, int y, Vec3& origin, Vec3& dir);\n\n// read back pixel values\nvoid ReadFrame(int* backbuffer, int width, int height);\n\nvoid SetView(Matrix44 view, Matrix44 proj);\nvoid SetFillMode(bool wireframe);\nvoid SetCullMode(bool enabled);\n\n// debug draw methods\nvoid BeginLines();\nvoid DrawLine(const Vec3& p, const Vec3& q, const Vec4& color);\nvoid EndLines();\n\n// shadowing\nstruct ShadowMap;\nShadowMap* ShadowCreate();\nvoid ShadowDestroy(ShadowMap* map);\nvoid ShadowBegin(ShadowMap* map);\nvoid ShadowEnd();\n\nstruct RenderTexture;\nRenderTexture* CreateRenderTexture(const char* filename);\nRenderTexture* CreateRenderTarget(int with, int height, bool depth);\nvoid DestroyRenderTexture(RenderTexture* tex);\n\nvoid SetRenderTarget(RenderTexture* target);\n\nstruct RenderMaterial\n{\n\tRenderMaterial()\n\t{\n\t\tfrontColor = 0.5f;//Vec4(SrgbToLinear(Colour(71.0f/255.0f, 165.0f/255.0f, 1.0f)));\n\t\tbackColor = 0.5f;//Vec4(SrgbToLinear(Colour(165.0f/255.0f, 71.0f/255.0f, 1.0f)));\n\n\t\troughness = 0.5f;\n\t\tmetallic = 0.0f;\n\t\tspecular = 0.5f;\n\n\t\tcolorTex = NULL;\n\n\t\thidden = false;\n\t}\n\n\tVec3 frontColor;\n\tVec3 backColor;\n\t\n\tfloat roughness;\n\tfloat metallic;\n\tfloat specular;\n\n\tbool hidden;\n\n\tRenderTexture* colorTex;\n};\n\n\nstruct RenderMesh;\nRenderMesh* CreateRenderMesh(const Mesh* m);\nvoid DestroyRenderMesh(RenderMesh* m);\nvoid DrawRenderMesh(RenderMesh* m, const Matrix44& xform, const RenderMaterial& mat);\nvoid DrawRenderMeshInstances(RenderMesh* m, const Matrix44* xforms, int n, const RenderMaterial& mat);\n\n// primitive draw methods\nvoid DrawPlanes(Vec4* planes, int n, float bias);\nvoid DrawPoints(FluidRenderBuffers* buffer, int n, int offset, float radius, float screenWidth, float screenAspect, float fov, Vec3 lightPos, Vec3 lightTarget, Matrix44 lightTransform, ShadowMap* shadowTex, bool showDensity);\nvoid DrawMesh(const Mesh*, Vec3 color);\nvoid DrawCloth(const Vec4* positions, const Vec4* normals, const float* uvs, const int* indices, int numTris, int numPositions, int colorIndex=3, float expand=0.0f, bool twosided=true, bool smooth=true);\nvoid DrawBuffer(float* buffer, Vec3 camPos, Vec3 lightPos);\nvoid DrawRope(Vec4* positions, int* indices, int numIndices, float radius, int color);\n\nstruct GpuMesh;\n\nGpuMesh* CreateGpuMesh(const Mesh* m);\nvoid DestroyGpuMesh(GpuMesh* m);\nvoid DrawGpuMesh(GpuMesh* m, const Matrix44& xform, const Vec3& color);\nvoid DrawGpuMeshInstances(GpuMesh* m, const Matrix44* xforms, int n, const Vec3& color);\n\n// main lighting shader\nvoid BindSolidShader(Vec3 lightPos, Vec3 lightTarget, Matrix44 lightTransform, ShadowMap* shadowTex, float bias, Vec4 fogColor);\nvoid UnbindSolidShader();\n\n\nfloat RendererGetDeviceTimestamps(unsigned long long* begin, unsigned long long* end, unsigned long long* freq);\nvoid* GetGraphicsCommandQueue();\nvoid GraphicsTimerBegin();\nvoid GraphicsTimerEnd();\n\n// new fluid renderer\nstruct FluidRenderer;\n\n// owns render targets and shaders associated with fluid rendering\nFluidRenderer* CreateFluidRenderer(uint32_t width, uint32_t height);\nvoid DestroyFluidRenderer(FluidRenderer*);\n\nFluidRenderBuffers* CreateFluidRenderBuffers(int numParticles, bool enableInterop);\nvoid DestroyFluidRenderBuffers(FluidRenderBuffers* buffers);\n\n// update fluid particle buffers from a FlexSovler\nvoid UpdateFluidRenderBuffers(FluidRenderBuffers* buffers, NvFlexSolver* flex, bool anisotropy, bool density);\n\n// update fluid particle buffers from host memory\nvoid UpdateFluidRenderBuffers(FluidRenderBuffers* buffers, \n\tVec4* particles, \n\tfloat* densities, \n\tVec4* anisotropy1, \n\tVec4* anisotropy2, \n\tVec4* anisotropy3, \n\tint numParticles, \n\tint* indices, \n\tint numIndices);\n\n// owns diffuse particle vertex buffers\nDiffuseRenderBuffers* CreateDiffuseRenderBuffers(int numDiffuseParticles, bool& enableInterop);\nvoid DestroyDiffuseRenderBuffers(DiffuseRenderBuffers* buffers);\n\n// update diffuse particle vertex buffers from a NvFlexSolver\nvoid UpdateDiffuseRenderBuffers(DiffuseRenderBuffers* buffers, NvFlexSolver* solver);\n\n// update diffuse particle vertex buffers from host memory\nvoid UpdateDiffuseRenderBuffers(DiffuseRenderBuffers* buffers,\n\tVec4* diffusePositions,\n\tVec4* diffuseVelocities,\n\tint numDiffuseParticles);\n\n// Returns the number of particles in the diffuse buffers\nint GetNumDiffuseRenderParticles(DiffuseRenderBuffers* buffers);\n\n// screen space fluid rendering\nvoid RenderEllipsoids(FluidRenderer* render, FluidRenderBuffers* buffers, int n, int offset, float radius, float screenWidth, float screenAspect, float fov, Vec3 lightPos, Vec3 lightTarget, Matrix44 lightTransform, ShadowMap* shadowTex, Vec4 color, float blur, float ior, bool debug);\nvoid RenderDiffuse(FluidRenderer* render, DiffuseRenderBuffers* buffer, int n, float radius, float screenWidth, float screenAspect, float fov, Vec4 color, Vec3 lightPos, Vec3 lightTarget, Matrix44 lightTransform, ShadowMap* shadowTex, float motionBlur,  float inscatter, float outscatter, bool shadow, bool front);\n\n// UI rendering\nvoid DrawImguiGraph();\n"
  },
  {
    "path": "demo/shadersDemoContext.cpp",
    "content": "// to fix min max windows macros\n#define NOMINMAX\n\n// SDL\n//#include \"../external/SDL2-2.0.4/include/SDL_syswm.h\"\n#include \"../external/SDL2-2.0.4/include/SDL.h\"\n\n// This\n#include \"shadersDemoContext.h\"\n\n// Stubs for unsupported renderers\n//#if PLATFORM_LINUX\n#ifdef __linux__\nDemoContext* CreateDemoContextD3D11() { assert(0); return 0; };\nDemoContext* CreateDemoContextD3D12() { assert(0); return 0; };\n#else\n#if FLEX_DX\nDemoContext* CreateDemoContextOGL() { assert(0); return 0; };\n#endif\n#endif\n\nextern DemoContext* CreateDemoContextOGL();\nextern DemoContext* CreateDemoContextD3D11();\nextern DemoContext* CreateDemoContextD3D12();\n\nDemoContext* s_context = NULL;\n\nvoid CreateDemoContext(int type)\n{\n\tDemoContext* context = 0;\n#ifndef ANDROID\n\tswitch (type)\n\t{\n\tcase 0: context = CreateDemoContextOGL(); break;\n\tcase 1: context = CreateDemoContextD3D11(); break;\n\tcase 2: context = CreateDemoContextD3D12(); break;\n\tdefault: assert(0);\n\t}\n#endif\n\ts_context = context;\n}\n\nDemoContext* GetDemoContext()\n{\n\treturn s_context;\n}\n\nvoid ReshapeRender(SDL_Window* window)\n{\n\tint width, height;\n\tSDL_GetWindowSize(window, &width, &height);\n\ts_context->onSizeChanged(width, height, false);\n}\n\nvoid DestroyRender()\n{\n\tif (s_context)\n\t{\n\t\tdelete s_context;\n\t\ts_context = nullptr;\n\t}\n}\n\nvoid StartFrame(Vec4 colorIn) { s_context->startFrame(colorIn); }\nvoid EndFrame() { s_context->endFrame(); }\nvoid PresentFrame(bool fullSync) { s_context->presentFrame(fullSync); }\n\nvoid FlushGraphicsAndWait() { s_context->flushGraphicsAndWait(); }\n\nvoid ReadFrame(int* backbuffer, int width, int height) { s_context->readFrame(backbuffer, width, height); }\n\nvoid GetViewRay(int x, int y, Vec3& origin, Vec3& dir) { return s_context->getViewRay(x, y, origin, dir); }\n\nvoid SetFillMode(bool wire) { s_context->setFillMode(wire); }\n\nvoid SetCullMode(bool enabled) { s_context->setCullMode(enabled); }\n\nvoid SetView(Matrix44 view, Matrix44 projection) { return s_context->setView(view, projection); }\n\nFluidRenderer* CreateFluidRenderer(uint32_t width, uint32_t height) { return s_context->createFluidRenderer(width, height); }\n\nvoid DestroyFluidRenderer(FluidRenderer* renderer) { return s_context->destroyFluidRenderer(renderer); }\n\nFluidRenderBuffers* CreateFluidRenderBuffers(int numParticles, bool enableInterop) { return s_context->createFluidRenderBuffers(numParticles, enableInterop); }\n\nvoid UpdateFluidRenderBuffers(FluidRenderBuffers* buffers, Vec4* particles, float* densities, Vec4* anisotropy1, Vec4* anisotropy2, Vec4* anisotropy3, int numParticles, int* indices, int numIndices)\n{\n\ts_context->updateFluidRenderBuffers(buffers, particles, densities, anisotropy1, anisotropy2, anisotropy3, numParticles, indices, numIndices);\n}\n\nvoid UpdateFluidRenderBuffers(FluidRenderBuffers* buffers, NvFlexSolver* flex, bool anisotropy, bool density) { return s_context->updateFluidRenderBuffers(buffers, flex, anisotropy, density); }\n\nvoid DestroyFluidRenderBuffers(FluidRenderBuffers* buffers) { return s_context->destroyFluidRenderBuffers(buffers); }\n\nShadowMap* ShadowCreate() { return s_context->shadowCreate(); }\n\nvoid ShadowDestroy(ShadowMap* map) { s_context->shadowDestroy(map); }\n\nvoid ShadowBegin(ShadowMap* map) { s_context->shadowBegin(map); }\n\nvoid ShadowEnd() { s_context->shadowEnd(); }\n\n\nvoid BindSolidShader(Vec3 lightPos, Vec3 lightTarget, Matrix44 lightTransform, ShadowMap* shadowMap, float bias, Vec4 fogColor)\n{\n\ts_context->bindSolidShader(lightPos, lightTarget, lightTransform, shadowMap, bias, fogColor);\n}\n\nvoid UnbindSolidShader() { s_context->unbindSolidShader(); }\n\nvoid DrawMesh(const Mesh* m, Vec3 color) { s_context->drawMesh(m, color); }\n\nvoid DrawCloth(const Vec4* positions, const Vec4* normals, const float* uvs, const int* indices, int numTris, int numPositions, int colorIndex, float expand, bool twosided, bool smooth)\n{\n\ts_context->drawCloth(positions, normals, uvs, indices, numTris, numPositions, colorIndex, expand, twosided, smooth);\n}\n\nvoid DrawRope(Vec4* positions, int* indices, int numIndices, float radius, int color)\n{\n\ts_context->drawRope(positions, indices, numIndices, radius, color);\n}\n\nvoid DrawPlane(const Vec4& p, bool color) { s_context->drawPlane(p, color); }\n\nvoid DrawPlanes(Vec4* planes, int n, float bias) { s_context->drawPlanes(planes, n, bias); }\n\nGpuMesh* CreateGpuMesh(const Mesh* m)\n{\n\treturn m ? s_context->createGpuMesh(m) : nullptr;\n}\n\nvoid DestroyGpuMesh(GpuMesh* m) { s_context->destroyGpuMesh(m); }\n\nvoid DrawGpuMesh(GpuMesh* m, const Matrix44& xform, const Vec3& color) { s_context->drawGpuMesh(m, xform, color); }\n\nvoid DrawGpuMeshInstances(GpuMesh* m, const Matrix44* xforms, int n, const Vec3& color) { s_context->drawGpuMeshInstances(m, xforms, n, color); }\n\nvoid DrawPoints(FluidRenderBuffers* buffers, int n, int offset, float radius, float screenWidth, float screenAspect, float fov, Vec3 lightPos, Vec3 lightTarget, Matrix44 lightTransform, ShadowMap* shadowTex, bool showDensity)\n{\n\ts_context->drawPoints(buffers, n, offset, radius, screenWidth, screenAspect, fov, lightPos, lightTarget, lightTransform, shadowTex, showDensity);\n}\n\nvoid RenderEllipsoids(FluidRenderer* renderer, FluidRenderBuffers* buffers, int n, int offset, float radius, float screenWidth, float screenAspect, float fov, Vec3 lightPos, Vec3 lightTarget, Matrix44 lightTransform, ShadowMap* shadowMap, Vec4 color, float blur, float ior, bool debug)\n{\n\ts_context->renderEllipsoids(renderer, buffers, n, offset, radius, screenWidth, screenAspect, fov, lightPos, lightTarget, lightTransform, shadowMap, color, blur, ior, debug);\n}\n\nDiffuseRenderBuffers* CreateDiffuseRenderBuffers(int numDiffuseParticles, bool& enableInterop) { return s_context->createDiffuseRenderBuffers(numDiffuseParticles, enableInterop); }\n\nvoid DestroyDiffuseRenderBuffers(DiffuseRenderBuffers* buffers) { return s_context->destroyDiffuseRenderBuffers(buffers); }\n\nvoid UpdateDiffuseRenderBuffers(DiffuseRenderBuffers* buffers, Vec4* diffusePositions, Vec4* diffuseVelocities, int numDiffuseParticles)\n{ \n\ts_context->updateDiffuseRenderBuffers(buffers, diffusePositions, diffuseVelocities, numDiffuseParticles); \n}\n\nvoid UpdateDiffuseRenderBuffers(DiffuseRenderBuffers* buffers, NvFlexSolver* solver) { return s_context->updateDiffuseRenderBuffers(buffers, solver); }\n\nint GetNumDiffuseRenderParticles(DiffuseRenderBuffers* buffers) { return s_context->getNumDiffuseRenderParticles(buffers); }\n\nvoid RenderDiffuse(FluidRenderer* render, DiffuseRenderBuffers* buffers, int n, float radius, float screenWidth, float screenAspect, float fov, Vec4 color, Vec3 lightPos, Vec3 lightTarget, Matrix44 lightTransform, ShadowMap* shadowMap, float motionBlur, float inscatter, float outscatter, bool shadowEnabled, bool front)\n{\n\ts_context->drawDiffuse(render, buffers, n, radius, screenWidth, screenAspect, fov, color, lightPos, lightTarget, lightTransform, shadowMap, motionBlur, inscatter, outscatter, shadowEnabled, front);\n}\n\nvoid BeginLines() {\ts_context->beginLines(); }\n\nvoid DrawLine(const Vec3& p, const Vec3& q, const Vec4& color) { s_context->drawLine(p, q, color); }\n\nvoid EndLines() { s_context->endLines(); }\n\nvoid BeginPoints(float size) {}\nvoid DrawPoint(const Vec3& p, const Vec4& color) {}\nvoid EndPoints() {}\n\nfloat RendererGetDeviceTimestamps(unsigned long long* begin, unsigned long long* end, unsigned long long* freq)\n{\n\treturn s_context->rendererGetDeviceTimestamps(begin, end, freq);\n}\n\nvoid* GetGraphicsCommandQueue() { return s_context->getGraphicsCommandQueue(); }\nvoid GraphicsTimerBegin() { s_context->graphicsTimerBegin(); }\nvoid GraphicsTimerEnd() { s_context->graphicsTimerEnd(); }\n\nvoid StartGpuWork() { s_context->startGpuWork(); }\nvoid EndGpuWork() { s_context->endGpuWork(); }\n\nvoid DrawImguiGraph() { return s_context->drawImguiGraph(); }\n\nvoid GetRenderDevice(void** deviceOut, void** contextOut) { return s_context->getRenderDevice(deviceOut, contextOut); }\n\nvoid InitRender(const RenderInitOptions& options)\n{\n\tif (!s_context)\n\t{\n\t\tassert(false && \"A context has not been set with SetDemoContext!\");\n\t\treturn;\n\t}\n\tif (!s_context->initialize(options))\n\t{\n\t\tassert(!\"Unable to initialize context!\");\n\t\tdelete s_context;\n\t\ts_context = nullptr;\n\t\treturn;\n\t}\n}\n\n"
  },
  {
    "path": "demo/shadersDemoContext.h",
    "content": "/*\n * Copyright (c) 2008-2016, NVIDIA CORPORATION.  All rights reserved.\n *\n * NVIDIA CORPORATION and its licensors retain all intellectual property\n * and proprietary rights in and to this software, related documentation\n * and any modifications thereto.  Any use, reproduction, disclosure or\n * distribution of this software and related documentation without an express\n * license agreement from NVIDIA CORPORATION is strictly prohibited.\n */\n\n#pragma once\n\n#include \"shaders.h\"\n\n#include \"demoContext.h\"\n\n// This file implements the Shaders.h 'interface' through the DemoContext interface\nvoid CreateDemoContext(int type);\t// 0 = OpenGL, 1 = DX11, 2 = DX12\nDemoContext* GetDemoContext();\n"
  },
  {
    "path": "demo/stb_truetype.h",
    "content": "// stb_truetype.h - v0.3 - public domain - 2009 Sean Barrett / RAD Game Tools\n//\n//   This library processes TrueType files:\n//        parse files\n//        extract glyph metrics\n//        extract glyph shapes\n//        render glyphs to one-channel bitmaps with antialiasing (box filter)\n//\n//   Todo:\n//        non-MS cmaps\n//        crashproof on bad data\n//        hinting\n//        subpixel positioning when rendering bitmap\n//        cleartype-style AA\n//\n// ADDITIONAL CONTRIBUTORS\n//\n//   Mikko Mononen: compound shape support, more cmap formats\n//\n// VERSIONS\n//\n//   0.3 (2009-06-24) cmap fmt=12, compound shapes (MM)\n//                    userdata, malloc-from-userdata, non-zero fill (STB)\n//   0.2 (2009-03-11) Fix unsigned/signed char warnings\n//   0.1 (2009-03-09) First public release\n//\n// USAGE\n//\n//   Include this file in whatever places neeed to refer to it. In ONE C/C++\n//   file, write:\n//      #define STB_TRUETYPE_IMPLEMENTATION\n//   before the #include of this file. This expands out the actual\n//   implementation into that C/C++ file.\n//\n//   Look at the header-file sections below for the API, but here's a quick skim:\n//\n//   Simple 3D API (don't ship this, but it's fine for tools and quick start,\n//                  and you can cut and paste from it to move to more advanced)\n//           stbtt_BakeFontBitmap()               -- bake a font to a bitmap for use as texture\n//           stbtt_GetBakedQuad()                 -- compute quad to draw for a given char\n//\n//   \"Load\" a font file from a memory buffer (you have to keep the buffer loaded)\n//           stbtt_InitFont()\n//           stbtt_GetFontOffsetForIndex()        -- use for TTC font collections\n//\n//   Render a unicode codepoint to a bitmap\n//           stbtt_GetCodepointBitmap()           -- allocates and returns a bitmap\n//           stbtt_MakeCodepointBitmap()          -- renders into bitmap you provide\n//           stbtt_GetCodepointBitmapBox()        -- how big the bitmap must be\n//\n//   Character advance/positioning\n//           stbtt_GetCodepointHMetrics()\n//           stbtt_GetFontVMetrics()\n//\n// NOTES\n//\n//   The system uses the raw data found in the .ttf file without changing it\n//   and without building auxiliary data structures. This is a bit inefficient\n//   on little-endian systems (the data is big-endian), but assuming you're\n//   caching the bitmaps or glyph shapes this shouldn't be a big deal.\n//\n//   It appears to be very hard to programmatically determine what font a\n//   given file is in a general way. I provide an API for this, but I don't\n//   recommend it.\n//\n//\n// SOURCE STATISTICS (based on v0.3, 1800 LOC)\n//\n//   Documentation & header file        350 LOC  \\___ 500 LOC documentation\n//   Sample code                        140 LOC  /\n//   Truetype parsing                   580 LOC  ---- 600 LOC TrueType\n//   Software rasterization             240 LOC  \\                           .\n//   Curve tesselation                  120 LOC   \\__ 500 LOC Bitmap creation\n//   Bitmap management                   70 LOC   /\n//   Baked bitmap interface              70 LOC  /\n//   Font name matching & access        150 LOC  ---- 150 \n//   C runtime library abstraction       60 LOC  ----  60\n\n\n//////////////////////////////////////////////////////////////////////////////\n//////////////////////////////////////////////////////////////////////////////\n////\n////  SAMPLE PROGRAMS\n////\n//\n//  Incomplete text-in-3d-api example, which draws quads properly aligned to be lossless\n//\n#if 0\n#define STB_TRUETYPE_IMPLEMENTATION  // force following include to generate implementation\n#include \"stb_truetype.h\"\n\nchar ttf_buffer[1<<20];\nunsigned char temp_bitmap[512*512];\n\nstbtt_chardata cdata[96]; // ASCII 32..126 is 95 glyphs\nGLstbtt_uint ftex;\n\nvoid my_stbtt_initfont(void)\n{\n   fread(ttf_buffer, 1, 1<<20, fopen(\"c:/windows/fonts/times.ttf\", \"rb\"));\n   stbtt_BakeFontBitmap(data,0, 32.0, temp_bitmap,512,512, 32,96, cdata); // no guarantee this fits!\n   // can free ttf_buffer at this point\n   glGenTextures(1, &ftex);\n   glBindTexture(GL_TEXTURE_2D, ftex);\n   glTexImage2D(GL_TEXTURE_2D, 0, GL_ALPHA, 512,512, 0, GL_ALPHA, GL_UNSIGNED_BYTE, temp_bitmap);\n   // can free temp_bitmap at this point\n   glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);\n}\n\nvoid my_stbtt_print(float x, float y, char *text)\n{\n   // assume orthographic projection with units = screen pixels, origin at top left\n   glBindTexture(GL_TEXTURE_2D, ftex);\n   glBegin(GL_QUADS);\n   while (*text) {\n      if (*text >= 32 && *text < 128) {\n         stbtt_aligned_quad q;\n         stbtt_GetBakedQuad(cdata, 512,512, *text-32, &x,&y,&q,1);//1=opengl,0=old d3d\n         glTexCoord2f(q.s0,q.t1); glVertex2f(q.x0,q.y0);\n         glTexCoord2f(q.s1,q.t1); glVertex2f(q.x1,q.y0);\n         glTexCoord2f(q.s1,q.t0); glVertex2f(q.x1,q.y1);\n         glTexCoord2f(q.s0,q.t0); glVertex2f(q.x0,q.y1);\n      }\n      ++text;\n   }\n   glEnd();\n}\n#endif\n//\n//\n//////////////////////////////////////////////////////////////////////////////\n//\n// Complete program (this compiles): get a single bitmap, print as ASCII art\n//\n#if 0\n#include <stdio.h>\n#define STB_TRUETYPE_IMPLEMENTATION  // force following include to generate implementation\n#include \"stb_truetype.h\"\n\nchar ttf_buffer[1<<25];\n\nint main(int argc, char **argv)\n{\n   stbtt_fontinfo font;\n   unsigned char *bitmap;\n   int w,h,i,j,c = (argc > 1 ? atoi(argv[1]) : 'a'), s = (argc > 2 ? atoi(argv[2]) : 20);\n\n   fread(ttf_buffer, 1, 1<<25, fopen(argc > 3 ? argv[3] : \"c:/windows/fonts/arialbd.ttf\", \"rb\"));\n\n   stbtt_InitFont(&font, ttf_buffer, stbtt_GetFontOffsetForIndex(ttf_buffer,0));\n   bitmap = stbtt_GetCodepointBitmap(&font, 0,stbtt_ScaleForPixelHeight(&font, s), c, &w, &h, 0,0);\n\n   for (j=0; j < h; ++j) {\n      for (i=0; i < w; ++i)\n         putchar(\" .:ioVM@\"[bitmap[j*w+i]>>5]);\n      putchar('\\n');\n   }\n   return 0;\n}\n#endif \n//\n// Output:\n//\n//     .ii.\n//    @@@@@@.\n//   V@Mio@@o\n//   :i.  V@V\n//     :oM@@M\n//   :@@@MM@M\n//   @@o  o@M\n//  :@@.  M@M\n//   @@@o@@@@\n//   :M@@V:@@.\n//  \n//////////////////////////////////////////////////////////////////////////////\n// \n// Complete program: print \"Hello World!\" banner, with bugs\n//\n#if 0\nint main(int arg, char **argv)\n{\n   unsigned char screen[20][79];\n   int i,j, pos=0;\n   float scale;\n   char *text = \"Heljo World!\";\n\n   fread(buffer, 1, 1000000, fopen(\"c:/windows/fonts/arialbd.ttf\", \"rb\"));\n   stbtt_InitFont(&font, buffer, 0);\n\n   scale = stbtt_ScaleForPixelHeight(&font, 16);\n   memset(screen, 0, sizeof(screen));\n\n   while (*text) {\n      int advance,lsb,x0,y0,x1,y1, newpos, baseline=13;\n      stbtt_GetCodepointHMetrics(&font, *text, &advance, &lsb);\n      stbtt_GetCodepointBitmapBox(&font, *text, scale,scale, &x0,&y0,&x1,&y1);\n      newpos = pos + (int) (lsb * scale) + x0;\n      stbtt_MakeCodepointBitmap(&font, &screen[baseline + y0][newpos], x1-x0,y1-y0, 79, scale,scale, *text);\n      // note that this stomps the old data, so where character boxes overlap (e.g. 'lj') it's wrong\n      // because this API is really for baking character bitmaps into textures\n      pos += (int) (advance * scale);\n      ++text;\n   }\n\n   for (j=0; j < 20; ++j) {\n      for (i=0; i < 79; ++i)\n         putchar(\" .:ioVM@\"[screen[j][i]>>5]);\n      putchar('\\n');\n   }\n\n   return 0;\n}\n#endif\n\n\n//////////////////////////////////////////////////////////////////////////////\n//////////////////////////////////////////////////////////////////////////////\n////\n////   INTEGRATION WITH RUNTIME LIBRARIES\n////\n\n#ifdef STB_TRUETYPE_IMPLEMENTATION\n   // #define your own (u)stbtt_int8/16/32 before including to override this\n   #ifndef stbtt_uint8\n   typedef unsigned char   stbtt_uint8;\n   typedef signed   char   stbtt_int8;\n   typedef unsigned short  stbtt_uint16;\n   typedef signed   short  stbtt_int16;\n   typedef unsigned int    stbtt_uint32;\n   typedef signed   int    stbtt_int32;\n   #endif\n\n   typedef char stbtt__check_size32[sizeof(stbtt_int32)==4 ? 1 : -1];\n   typedef char stbtt__check_size16[sizeof(stbtt_int16)==2 ? 1 : -1];\n\n   // #define your own STBTT_sort() to override this to avoid qsort\n   #ifndef STBTT_sort\n   #include <stdlib.h>\n   #define STBTT_sort(data,num_items,item_size,compare_func)   qsort(data,num_items,item_size,compare_func)\n   #endif\n\n   // #define your own STBTT_ifloor/STBTT_iceil() to avoid math.h\n   #ifndef STBTT_ifloor\n   #include <math.h>\n   #define STBTT_ifloor(x)   ((int) floor(x))\n   #define STBTT_iceil(x)    ((int) ceil(x))\n   #endif\n\n   // #define your own functions \"STBTT_malloc\" / \"STBTT_free\" to avoid malloc.h\n   #ifndef STBTT_malloc\n   #include <malloc.h>\n   #define STBTT_malloc(x,u)  malloc(x)\n   #define STBTT_free(x,u)    free(x)\n   #endif\n\n   #ifndef STBTT_assert\n   #include <assert.h>\n   #define STBTT_assert(x)    assert(x)\n   #endif\n\n   #ifndef STBTT_strlen\n   #include <string.h>\n   #define STBTT_strlen(x)    strlen(x)\n   #endif\n\n   #ifndef STBTT_memcpy\n   #include <memory.h>\n   #define STBTT_memcpy       memcpy\n   #define STBTT_memset       memset\n   #endif\n#endif\n\n///////////////////////////////////////////////////////////////////////////////\n///////////////////////////////////////////////////////////////////////////////\n////\n////   INTERFACE\n////\n////\n\n#ifndef __STB_INCLUDE_STB_TRUETYPE_H__\n#define __STB_INCLUDE_STB_TRUETYPE_H__\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n//////////////////////////////////////////////////////////////////////////////\n//\n// TEXTURE BAKING API\n//\n// If you use this API, you only have to call two functions ever.\n//\n\ntypedef struct\n{\n   unsigned short x0,y0,x1,y1; // coordinates of bbox in bitmap\n   float xoff,yoff,xadvance;   \n} stbtt_bakedchar;\n\nextern int stbtt_BakeFontBitmap(const unsigned char *data, int offset,  // font location (use offset=0 for plain .ttf)\n                                float pixel_height,                     // height of font in pixels\n                                unsigned char *pixels, int pw, int ph,  // bitmap to be filled in\n                                int first_char, int num_chars,          // characters to bake\n                                stbtt_bakedchar *chardata);             // you allocate this, it's num_chars long\n// if return is positive, the first unused row of the bitmap\n// if return is negative, returns the negative of the number of characters that fit\n// if return is 0, no characters fit and no rows were used\n// This uses a very crappy packing.\n\ntypedef struct\n{\n   float x0,y0,s0,t0; // top-left\n   float x1,y1,s1,t1; // bottom-right\n} stbtt_aligned_quad;\n\nextern void stbtt_GetBakedQuad(stbtt_bakedchar *chardata, int pw, int ph,  // same data as above\n                               int char_index,             // character to display\n                               float *xpos, float *ypos,   // pointers to current position in screen pixel space\n                               stbtt_aligned_quad *q,      // output: quad to draw\n                               int opengl_fillrule);       // true if opengl fill rule; false if DX9 or earlier\n// Call GetBakedQuad with char_index = 'character - first_char', and it\n// creates the quad you need to draw and advances the current position.\n// It's inefficient; you might want to c&p it and optimize it.\n\n\n//////////////////////////////////////////////////////////////////////////////\n//\n// FONT LOADING\n//\n//\n\nextern int stbtt_GetFontOffsetForIndex(const unsigned char *data, int index);\n// Each .ttf file may have more than one font. Each has a sequential index\n// number starting from 0. Call this function to get the font offset for a\n// given index; it returns -1 if the index is out of range. A regular .ttf\n// file will only define one font and it always be at offset 0, so it will\n// return '0' for index 0, and -1 for all other indices. You can just skip\n// this step if you know it's that kind of font.\n\n\n// The following structure is defined publically so you can declare one on\n// the stack or as a global or etc.\ntypedef struct\n{\n   void           *userdata;\n   unsigned char  *data;         // pointer to .ttf file\n   int             fontstart;    // offset of start of font\n\n   int numGlyphs;                // number of glyphs, needed for range checking\n\n   int loca,head,glyf,hhea,hmtx; // table locations as offset from start of .ttf\n   int index_map;                // a cmap mapping for our chosen character encoding\n   int indexToLocFormat;         // format needed to map from glyph index to glyph\n} stbtt_fontinfo;\n\nextern int stbtt_InitFont(stbtt_fontinfo *info, const unsigned char *data, int offset);\n// Given an offset into the file that defines a font, this function builds\n// the necessary cached info for the rest of the system. You must allocate\n// the stbtt_fontinfo yourself, and stbtt_InitFont will fill it out. You don't\n// need to do anything special to free it, because the contents are a pure\n// cache with no additional data structures. Returns 0 on failure.\n\n\n//////////////////////////////////////////////////////////////////////////////\n//\n// CHARACTER TO GLYPH-INDEX CONVERSIOn\n\nint stbtt_FindGlyphIndex(const stbtt_fontinfo *info, int unicode_codepoint);\n// If you're going to perform multiple operations on the same character\n// and you want a speed-up, call this function with the character you're\n// going to process, then use glyph-based functions instead of the\n// codepoint-based functions.\n\n\n//////////////////////////////////////////////////////////////////////////////\n//\n// CHARACTER PROPERTIES\n//\n\nextern float stbtt_ScaleForPixelHeight(const stbtt_fontinfo *info, float pixels);\n// computes a scale factor to produce a font whose \"height\" is 'pixels' tall.\n// Height is measured as the distance from the highest ascender to the lowest\n// descender; in other words, it's equivalent to calling stbtt_GetFontVMetrics\n// and computing:\n//       scale = pixels / (ascent - descent)\n// so if you prefer to measure height by the ascent only, use a similar calculation.\n\nextern void stbtt_GetFontVMetrics(const stbtt_fontinfo *info, int *ascent, int *descent, int *lineGap);\n// ascent is the coordinate above the baseline the font extends; descent\n// is the coordinate below the baseline the font extends (i.e. it is typically negative)\n// lineGap is the spacing between one row's descent and the next row's ascent...\n// so you should advance the vertical position by \"*ascent - *descent + *lineGap\"\n//   these are expressed in unscaled coordinates\n\nextern void stbtt_GetCodepointHMetrics(const stbtt_fontinfo *info, int codepoint, int *advanceWidth, int *leftSideBearing);\n// leftSideBearing is the offset from the current horizontal position to the left edge of the character\n// advanceWidth is the offset from the current horizontal position to the next horizontal position\n//   these are expressed in unscaled coordinates\n\nextern int  stbtt_GetCodepointKernAdvance(const stbtt_fontinfo *info, int ch1, int ch2);\n// an additional amount to add to the 'advance' value between ch1 and ch2\n// @TODO; for now always returns 0!\n\nextern int stbtt_GetCodepointBox(const stbtt_fontinfo *info, int codepoint, int *x0, int *y0, int *x1, int *y1);\n// Gets the bounding box of the visible part of the glyph, in unscaled coordinates\n\nextern void stbtt_GetGlyphHMetrics(const stbtt_fontinfo *info, int glyph_index, int *advanceWidth, int *leftSideBearing);\nextern int  stbtt_GetGlyphKernAdvance(const stbtt_fontinfo *info, int glyph1, int glyph2);\nextern int  stbtt_GetGlyphBox(const stbtt_fontinfo *info, int glyph_index, int *x0, int *y0, int *x1, int *y1);\n// as above, but takes one or more glyph indices for greater efficiency\n\n\n//////////////////////////////////////////////////////////////////////////////\n//\n// GLYPH SHAPES (you probably don't need these, but they have to go before\n// the bitmaps for C declaration-order reasons)\n//\n\n#ifndef STBTT_vmove // you can predefine these to use different values (but why?)\n   enum {\n      STBTT_vmove=1,\n      STBTT_vline,\n      STBTT_vcurve\n   };\n#endif\n\n#ifndef stbtt_vertex // you can predefine this to use different values\n                   // (we share this with other code at RAD)\n   #define stbtt_vertex_type short // can't use stbtt_int16 because that's not visible in the header file\n   typedef struct\n   {\n      stbtt_vertex_type x,y,cx,cy;\n      unsigned char type,padding;\n   } stbtt_vertex;\n#endif\n\nextern int stbtt_GetCodepointShape(const stbtt_fontinfo *info, int unicode_codepoint, stbtt_vertex **vertices);\nextern int stbtt_GetGlyphShape(const stbtt_fontinfo *info, int glyph_index, stbtt_vertex **vertices);\n// returns # of vertices and fills *vertices with the pointer to them\n//   these are expressed in \"unscaled\" coordinates\n\nextern void stbtt_FreeShape(const stbtt_fontinfo *info, stbtt_vertex *vertices);\n// frees the data allocated above\n\n//////////////////////////////////////////////////////////////////////////////\n//\n// BITMAP RENDERING\n//\n\nextern void stbtt_FreeBitmap(unsigned char *bitmap, void *userdata);\n// frees the bitmap allocated below\n\nextern unsigned char *stbtt_GetCodepointBitmap(const stbtt_fontinfo *info, float scale_x, float scale_y, int codepoint, int *width, int *height, int *xoff, int *yoff);\n// allocates a large-enough single-channel 8bpp bitmap and renders the\n// specified character/glyph at the specified scale into it, with\n// antialiasing. 0 is no coverage (transparent), 255 is fully covered (opaque).\n// *width & *height are filled out with the width & height of the bitmap,\n// which is stored left-to-right, top-to-bottom.\n//\n// xoff/yoff are the offset it pixel space from the glyph origin to the top-left of the bitmap\n\nextern void stbtt_MakeCodepointBitmap(const stbtt_fontinfo *info, unsigned char *output, int out_w, int out_h, int out_stride, float scale_x, float scale_y, int codepoint);\n// the same as above, but you pass in storage for the bitmap in the form\n// of 'output', with row spacing of 'out_stride' bytes. the bitmap is\n// clipped to out_w/out_h bytes. call the next function to get the\n// height and width and positioning info\n\nextern void stbtt_GetCodepointBitmapBox(const stbtt_fontinfo *font, int codepoint, float scale_x, float scale_y, int *ix0, int *iy0, int *ix1, int *iy1);\n// get the bbox of the bitmap centered around the glyph origin; so the\n// bitmap width is ix1-ix0, height is iy1-iy0, and location to place\n// the bitmap top left is (leftSideBearing*scale,iy0).\n// (Note that the bitmap uses y-increases-down, but the shape uses\n// y-increases-up, so CodepointBitmapBox and CodepointBox are inverted.)\n\nextern unsigned char *stbtt_GetGlyphBitmap(const stbtt_fontinfo *info, float scale_x, float scale_y, int glyph, int *width, int *height, int *xoff, int *yoff);\nextern void stbtt_GetGlyphBitmapBox(const stbtt_fontinfo *font, int glyph, float scale_x, float scale_y, int *ix0, int *iy0, int *ix1, int *iy1);\nextern void stbtt_MakeGlyphBitmap(const stbtt_fontinfo *info, unsigned char *output, int out_w, int out_h, int out_stride, float scale_x, float scale_y, int glyph);\n\n//extern void stbtt_get_true_bbox(stbtt_vertex *vertices, int num_verts, float scale_x, float scale_y, int *ix0, int *iy0, int *ix1, int *iy1);\n\n// @TODO: don't expose this structure\ntypedef struct\n{\n   int w,h,stride;\n   unsigned char *pixels;\n} stbtt__bitmap;\n\nextern void stbtt_Rasterize(stbtt__bitmap *result, float flatness_in_pixels, stbtt_vertex *vertices, int num_verts, float scale_x, float scale_y, int x_off, int y_off, int invert, void *userdata);\n\n//////////////////////////////////////////////////////////////////////////////\n//\n// Finding the right font...\n//\n// You should really just solve this offline, keep your own tables\n// of what font is what, and don't try to get it out of the .ttf file.\n// That's because getting it out of the .ttf file is really hard, because\n// the names in the file can appear in many possible encodings, in many\n// possible languages, and e.g. if you need a case-insensitive comparison,\n// the details of that depend on the encoding & language in a complex way\n// (actually underspecified in truetype, but also gigantic).\n//\n// But you can use the provided functions in two possible ways:\n//     stbtt_FindMatchingFont() will use *case-sensitive* comparisons on\n//             unicode-encoded names to try to find the font you want;\n//             you can run this before calling stbtt_InitFont()\n//\n//     stbtt_GetFontNameString() lets you get any of the various strings\n//             from the file yourself and do your own comparisons on them.\n//             You have to have called stbtt_InitFont() first.\n\n\nextern int stbtt_FindMatchingFont(const unsigned char *fontdata, const char *name, int flags);\n// returns the offset (not index) of the font that matches, or -1 if none\n//   if you use STBTT_MACSTYLE_DONTCARE, use a font name like \"Arial Bold\".\n//   if you use any other flag, use a font name like \"Arial\"; this checks\n//     the 'macStyle' header field; i don't know if fonts set this consistently\n#define STBTT_MACSTYLE_DONTCARE     0\n#define STBTT_MACSTYLE_BOLD         1\n#define STBTT_MACSTYLE_ITALIC       2\n#define STBTT_MACSTYLE_UNDERSCORE   4\n#define STBTT_MACSTYLE_NONE         8   // <= not same as 0, this makes us check the bitfield is 0\n\nextern int stbtt_CompareUTF8toUTF16_bigendian(const char *s1, int len1, const char *s2, int len2);\n// returns 1/0 whether the first string interpreted as utf8 is identical to\n// the second string interpreted as big-endian utf16... useful for strings from next func\n\nextern char *stbtt_GetFontNameString(const stbtt_fontinfo *font, int *length, int platformID, int encodingID, int languageID, int nameID);\n// returns the string (which may be big-endian double byte, e.g. for unicode)\n// and puts the length in bytes in *length.\n//\n// some of the values for the IDs are below; for more see the truetype spec:\n//     http://developer.apple.com/textfonts/TTRefMan/RM06/Chap6name.html\n//     http://www.microsoft.com/typography/otspec/name.htm\n\nenum { // platformID\n   STBTT_PLATFORM_ID_UNICODE   =0,\n   STBTT_PLATFORM_ID_MAC       =1,\n   STBTT_PLATFORM_ID_ISO       =2,\n   STBTT_PLATFORM_ID_MICROSOFT =3\n};\n\nenum { // encodingID for STBTT_PLATFORM_ID_UNICODE\n   STBTT_UNICODE_EID_UNICODE_1_0    =0,\n   STBTT_UNICODE_EID_UNICODE_1_1    =1,\n   STBTT_UNICODE_EID_ISO_10646      =2,\n   STBTT_UNICODE_EID_UNICODE_2_0_BMP=3,\n   STBTT_UNICODE_EID_UNICODE_2_0_FULL=4,\n};\n\nenum { // encodingID for STBTT_PLATFORM_ID_MICROSOFT\n   STBTT_MS_EID_SYMBOL        =0,\n   STBTT_MS_EID_UNICODE_BMP   =1,\n   STBTT_MS_EID_SHIFTJIS      =2,\n   STBTT_MS_EID_UNICODE_FULL  =10,\n};\n\nenum { // encodingID for STBTT_PLATFORM_ID_MAC; same as Script Manager codes\n   STBTT_MAC_EID_ROMAN        =0,   STBTT_MAC_EID_ARABIC       =4,\n   STBTT_MAC_EID_JAPANESE     =1,   STBTT_MAC_EID_HEBREW       =5,\n   STBTT_MAC_EID_CHINESE_TRAD =2,   STBTT_MAC_EID_GREEK        =6,\n   STBTT_MAC_EID_KOREAN       =3,   STBTT_MAC_EID_RUSSIAN      =7,\n};\n\nenum { // languageID for STBTT_PLATFORM_ID_MICROSOFT; same as LCID...\n       // problematic because there are e.g. 16 english LCIDs and 16 arabic LCIDs\n   STBTT_MS_LANG_ENGLISH     =0x0409,   STBTT_MS_LANG_ITALIAN     =0x0410,\n   STBTT_MS_LANG_CHINESE     =0x0804,   STBTT_MS_LANG_JAPANESE    =0x0411,\n   STBTT_MS_LANG_DUTCH       =0x0413,   STBTT_MS_LANG_KOREAN      =0x0412,\n   STBTT_MS_LANG_FRENCH      =0x040c,   STBTT_MS_LANG_RUSSIAN     =0x0419,\n   STBTT_MS_LANG_GERMAN      =0x0407,   STBTT_MS_LANG_SPANISH     =0x0409,\n   STBTT_MS_LANG_HEBREW      =0x040d,   STBTT_MS_LANG_SWEDISH     =0x041D,\n};\n\nenum { // languageID for STBTT_PLATFORM_ID_MAC\n   STBTT_MAC_LANG_ENGLISH      =0 ,   STBTT_MAC_LANG_JAPANESE     =11,\n   STBTT_MAC_LANG_ARABIC       =12,   STBTT_MAC_LANG_KOREAN       =23,\n   STBTT_MAC_LANG_DUTCH        =4 ,   STBTT_MAC_LANG_RUSSIAN      =32,\n   STBTT_MAC_LANG_FRENCH       =1 ,   STBTT_MAC_LANG_SPANISH      =6 ,\n   STBTT_MAC_LANG_GERMAN       =2 ,   STBTT_MAC_LANG_SWEDISH      =5 ,\n   STBTT_MAC_LANG_HEBREW       =10,   STBTT_MAC_LANG_CHINESE_SIMPLIFIED =33,\n   STBTT_MAC_LANG_ITALIAN      =3 ,   STBTT_MAC_LANG_CHINESE_TRAD =19,\n};\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif // __STB_INCLUDE_STB_TRUETYPE_H__\n\n///////////////////////////////////////////////////////////////////////////////\n///////////////////////////////////////////////////////////////////////////////\n////\n////   IMPLEMENTATION\n////\n////\n\n#ifdef STB_TRUETYPE_IMPLEMENTATION\n\n//////////////////////////////////////////////////////////////////////////\n//\n// accessors to parse data from file\n//\n\n// on platforms that don't allow misaligned reads, if we want to allow\n// truetype fonts that aren't padded to alignment, define ALLOW_UNALIGNED_TRUETYPE\n\n#define ttBYTE(p)     (* (stbtt_uint8 *) (p))\n#define ttCHAR(p)     (* (stbtt_int8 *) (p))\n#define ttFixed(p)    ttLONG(p)\n\n#if defined(STB_TRUETYPE_BIGENDIAN) && !defined(ALLOW_UNALIGNED_TRUETYPE)\n\n   #define ttUSHORT(p)   (* (stbtt_uint16 *) (p))\n   #define ttSHORT(p)    (* (stbtt_int16 *) (p))\n   #define ttULONG(p)    (* (stbtt_uint32 *) (p))\n   #define ttLONG(p)     (* (stbtt_int32 *) (p))\n\n#else\n\n   stbtt_uint16 ttUSHORT(const stbtt_uint8 *p) { return p[0]*256 + p[1]; }\n   stbtt_int16 ttSHORT(const stbtt_uint8 *p)   { return p[0]*256 + p[1]; }\n   stbtt_uint32 ttULONG(const stbtt_uint8 *p)  { return (p[0]<<24) + (p[1]<<16) + (p[2]<<8) + p[3]; }\n   stbtt_int32 ttLONG(const stbtt_uint8 *p)    { return (p[0]<<24) + (p[1]<<16) + (p[2]<<8) + p[3]; }\n\n#endif\n\n#define stbtt_tag4(p,c0,c1,c2,c3) ((p)[0] == (c0) && (p)[1] == (c1) && (p)[2] == (c2) && (p)[3] == (c3))\n#define stbtt_tag(p,str)           stbtt_tag4(p,str[0],str[1],str[2],str[3])\n\nstatic int stbtt__isfont(const stbtt_uint8 *font)\n{\n   // check the version number\n   if (stbtt_tag(font, \"1\"))   return 1; // TrueType 1\n   if (stbtt_tag(font, \"typ1\"))   return 1; // TrueType with type 1 font -- we don't support this!\n   if (stbtt_tag(font, \"OTTO\"))   return 1; // OpenType with CFF\n   if (stbtt_tag4(font, 0,1,0,0)) return 1; // OpenType 1.0\n   return 0;\n}\n\n// @OPTIMIZE: binary search\nstatic stbtt_uint32 stbtt__find_table(stbtt_uint8 *data, stbtt_uint32 fontstart, const char *tag)\n{\n   stbtt_int32 num_tables = ttUSHORT(data+fontstart+4);\n   stbtt_uint32 tabledir = fontstart + 12;\n   stbtt_int32 i;\n   for (i=0; i < num_tables; ++i) {\n      stbtt_uint32 loc = tabledir + 16*i;\n      if (stbtt_tag(data+loc+0, tag))\n         return ttULONG(data+loc+8);\n   }\n   return 0;\n}\n\nint stbtt_GetFontOffsetForIndex(const unsigned char *font_collection, int index)\n{\n   // if it's just a font, there's only one valid index\n   if (stbtt__isfont(font_collection))\n      return index == 0 ? 0 : -1;\n\n   // check if it's a TTC\n   if (stbtt_tag(font_collection, \"ttcf\")) {\n      // version 1?\n      if (ttULONG(font_collection+4) == 0x00010000 || ttULONG(font_collection+4) == 0x00020000) {\n         stbtt_int32 n = ttLONG(font_collection+8);\n         if (index >= n)\n            return -1;\n         return ttULONG(font_collection+12+index*14);\n      }\n   }\n   return -1;\n}\n\nint stbtt_InitFont(stbtt_fontinfo *info, const unsigned char *data2, int fontstart)\n{\n   stbtt_uint8 *data = (stbtt_uint8 *) data2;\n   stbtt_uint32 cmap, t;\n   stbtt_int32 i,numTables;\n\n   info->data = data;\n   info->fontstart = fontstart;\n\n   cmap = stbtt__find_table(data, fontstart, \"cmap\");\n   info->loca = stbtt__find_table(data, fontstart, \"loca\");\n   info->head = stbtt__find_table(data, fontstart, \"head\");\n   info->glyf = stbtt__find_table(data, fontstart, \"glyf\");\n   info->hhea = stbtt__find_table(data, fontstart, \"hhea\");\n   info->hmtx = stbtt__find_table(data, fontstart, \"hmtx\");\n   if (!cmap || !info->loca || !info->head || !info->glyf || !info->hhea || !info->hmtx)\n      return 0;\n\n   t = stbtt__find_table(data, fontstart, \"maxp\");\n   if (t)\n      info->numGlyphs = ttUSHORT(data+t+4);\n   else\n      info->numGlyphs = 0xffff;\n\n   // find a cmap encoding table we understand *now* to avoid searching\n   // later. (todo: could make this installable)\n   // the same regardless of glyph.\n   numTables = ttUSHORT(data + cmap + 2);\n   info->index_map = 0;\n   for (i=0; i < numTables; ++i) {\n      stbtt_uint32 encoding_record = cmap + 4 + 8 * i;\n      // find an encoding we understand:\n      switch(ttUSHORT(data+encoding_record)) {\n         case STBTT_PLATFORM_ID_MICROSOFT:\n            switch (ttUSHORT(data+encoding_record+2)) {\n               case STBTT_MS_EID_UNICODE_BMP:\n               case STBTT_MS_EID_UNICODE_FULL:\n                  // MS/Unicode\n                  info->index_map = cmap + ttULONG(data+encoding_record+4);\n                  break;\n            }\n            break;\n      }\n   }\n   if (info->index_map == 0)\n      return 0;\n\n   info->indexToLocFormat = ttUSHORT(data+info->head + 50);\n   return 1;\n}\n\nint stbtt_FindGlyphIndex(const stbtt_fontinfo *info, int unicode_codepoint)\n{\n   stbtt_uint8 *data = info->data;\n   stbtt_uint32 index_map = info->index_map;\n\n   stbtt_uint16 format = ttUSHORT(data + index_map + 0);\n   if (format == 0) { // apple byte encoding\n      stbtt_int32 bytes = ttUSHORT(data + index_map + 2);\n      if (unicode_codepoint < bytes-6)\n         return ttBYTE(data + index_map + 6 + unicode_codepoint);\n      return 0;\n   } else if (format == 6) {\n      stbtt_uint32 first = ttUSHORT(data + index_map + 6);\n      stbtt_uint32 count = ttUSHORT(data + index_map + 8);\n      if ((stbtt_uint32) unicode_codepoint >= first && (stbtt_uint32) unicode_codepoint < first+count)\n         return ttUSHORT(data + index_map + 10 + (unicode_codepoint - first)*2);\n      return 0;\n   } else if (format == 2) {\n      STBTT_assert(0); // @TODO: high-byte mapping for japanese/chinese/korean\n      return 0;\n   } else if (format == 4) { // standard mapping for windows fonts: binary search collection of ranges\n      stbtt_uint16 segcount = ttUSHORT(data+index_map+6) >> 1;\n      stbtt_uint16 searchRange = ttUSHORT(data+index_map+8) >> 1;\n      stbtt_uint16 entrySelector = ttUSHORT(data+index_map+10);\n      stbtt_uint16 rangeShift = ttUSHORT(data+index_map+12) >> 1;\n      stbtt_uint16 item, offset, start, end;\n\n      (void)end;\n\n      // do a binary search of the segments\n      stbtt_uint32 endCount = index_map + 14;\n      stbtt_uint32 search = endCount;\n\n      if (unicode_codepoint > 0xffff)\n         return 0;\n\n      // they lie from endCount .. endCount + segCount\n      // but searchRange is the nearest power of two, so...\n      if (unicode_codepoint >= ttUSHORT(data + search + rangeShift*2))\n         search += rangeShift*2;\n\n      // now decrement to bias correctly to find smallest\n      search -= 2;\n      while (entrySelector) {\n         stbtt_uint16 start, end;\n         searchRange >>= 1;\n         start = ttUSHORT(data + search + 2 + segcount*2 + 2);\n         end = ttUSHORT(data + search + 2);\n         start = ttUSHORT(data + search + searchRange*2 + segcount*2 + 2);\n         end = ttUSHORT(data + search + searchRange*2);\n         if (unicode_codepoint > end)\n            search += searchRange*2;\n         --entrySelector;\n\n         (void)start;\n      }\n      search += 2;\n\n      item = (stbtt_uint16) ((search - endCount) >> 1);\n\n      STBTT_assert(unicode_codepoint <= ttUSHORT(data + endCount + 2*item));\n      start = ttUSHORT(data + index_map + 14 + segcount*2 + 2 + 2*item);\n      end = ttUSHORT(data + index_map + 14 + 2 + 2*item);\n      if (unicode_codepoint < start)\n         return 0;\n\n      offset = ttUSHORT(data + index_map + 14 + segcount*6 + 2 + 2*item);\n      if (offset == 0)\n         return unicode_codepoint + ttSHORT(data + index_map + 14 + segcount*4 + 2 + 2*item);\n\n      return ttUSHORT(data + offset + (unicode_codepoint-start)*2 + index_map + 14 + segcount*6 + 2 + 2*item);\n   } else if (format == 12) {\n      stbtt_uint16 ngroups = ttUSHORT(data+index_map+6);\n      stbtt_int32 low,high;\n      low = 0; high = (stbtt_int32)ngroups;\n      // Binary search the right group.\n      while (low <= high) {\n         stbtt_int32 mid = low + ((high-low) >> 1); // rounds down, so low <= mid < high\n         stbtt_uint32 start_char = ttULONG(data+index_map+16+mid*12);\n         stbtt_uint32 end_char = ttULONG(data+index_map+16+mid*12+4);\n         if ((stbtt_uint32) unicode_codepoint < start_char)\n            high = mid-1;\n         else if ((stbtt_uint32) unicode_codepoint > end_char)\n            low = mid+1;\n         else {\n            stbtt_uint32 start_glyph = ttULONG(data+index_map+16+mid*12+8);\n            return start_glyph + unicode_codepoint-start_char;\n         }\n      }\n      return 0; // not found\n   }\n   // @TODO\n   STBTT_assert(0);\n   return 0;\n}\n\nint stbtt_GetCodepointShape(const stbtt_fontinfo *info, int unicode_codepoint, stbtt_vertex **vertices)\n{\n   return stbtt_GetGlyphShape(info, stbtt_FindGlyphIndex(info, unicode_codepoint), vertices);\n}\n\nstatic void stbtt_setvertex(stbtt_vertex *v, stbtt_uint8 type, stbtt_int16 x, stbtt_int16 y, stbtt_int16 cx, stbtt_int16 cy)\n{\n   v->type = type;\n   v->x = x;\n   v->y = y;\n   v->cx = cx;\n   v->cy = cy;\n}\n\nstatic int stbtt__GetGlyfOffset(const stbtt_fontinfo *info, int glyph_index)\n{\n   int g1,g2;\n\n   if (glyph_index >= info->numGlyphs) return -1; // glyph index out of range\n   if (info->indexToLocFormat >= 2)    return -1; // unknown index->glyph map format\n\n   if (info->indexToLocFormat == 0) {\n      g1 = info->glyf + ttUSHORT(info->data + info->loca + glyph_index * 2) * 2;\n      g2 = info->glyf + ttUSHORT(info->data + info->loca + glyph_index * 2 + 2) * 2;\n   } else {\n      g1 = info->glyf + ttULONG (info->data + info->loca + glyph_index * 4);\n      g2 = info->glyf + ttULONG (info->data + info->loca + glyph_index * 4 + 4);\n   }\n\n   return g1==g2 ? -1 : g1; // if length is 0, return -1\n}\n\nint stbtt_GetGlyphBox(const stbtt_fontinfo *info, int glyph_index, int *x0, int *y0, int *x1, int *y1)\n{\n   int g = stbtt__GetGlyfOffset(info, glyph_index);\n   if (g < 0) return 0;\n\n   if (x0) *x0 = ttSHORT(info->data + g + 2);\n   if (y0) *y0 = ttSHORT(info->data + g + 4);\n   if (x1) *x1 = ttSHORT(info->data + g + 6);\n   if (y1) *y1 = ttSHORT(info->data + g + 8);\n   return 1;\n}\n\nint stbtt_GetCodepointBox(const stbtt_fontinfo *info, int codepoint, int *x0, int *y0, int *x1, int *y1)\n{\n   return stbtt_GetGlyphBox(info, stbtt_FindGlyphIndex(info,codepoint), x0,y0,x1,y1);\n}\n\nint stbtt_GetGlyphShape(const stbtt_fontinfo *info, int glyph_index, stbtt_vertex **pvertices)\n{\n   stbtt_int16 numberOfContours;\n   stbtt_uint8 *endPtsOfContours;\n   stbtt_uint8 *data = info->data;\n   stbtt_vertex *vertices=0;\n   int num_vertices=0;\n   int g = stbtt__GetGlyfOffset(info, glyph_index);\n\n   *pvertices = NULL;\n\n   if (g < 0) return 0;\n\n   numberOfContours = ttSHORT(data + g);\n\n   if (numberOfContours > 0) {\n      stbtt_uint8 flags=0,flagcount;\n      stbtt_int32 ins, i,j=0,m,n, next_move, was_off=0, off;\n      stbtt_int16 x,y,cx,cy,sx,sy;\n      stbtt_uint8 *points;\n      endPtsOfContours = (data + g + 10);\n      ins = ttUSHORT(data + g + 10 + numberOfContours * 2);\n      points = data + g + 10 + numberOfContours * 2 + 2 + ins;\n\n      n = 1+ttUSHORT(endPtsOfContours + numberOfContours*2-2);\n\n      m = n + numberOfContours;  // a loose bound on how many vertices we might need\n      vertices = (stbtt_vertex *) STBTT_malloc(m * sizeof(vertices[0]), info->userdata);\n      if (vertices == 0)\n         return 0;\n\n      next_move = 0;\n      flagcount=0;\n\n      // in first pass, we load uninterpreted data into the allocated array\n      // above, shifted to the end of the array so we won't overwrite it when\n      // we create our final data starting from the front\n\n      off = m - n; // starting offset for uninterpreted data, regardless of how m ends up being calculated\n\n      // first load flags\n\n      for (i=0; i < n; ++i) {\n         if (flagcount == 0) {\n            flags = *points++;\n            if (flags & 8)\n               flagcount = *points++;\n         } else\n            --flagcount;\n         vertices[off+i].type = flags;\n      }\n\n      // now load x coordinates\n      x=0;\n      for (i=0; i < n; ++i) {\n         flags = vertices[off+i].type;\n         if (flags & 2) {\n            stbtt_int16 dx = *points++;\n            x += (flags & 16) ? dx : -dx; // ???\n         } else {\n            if (!(flags & 16)) {\n               x = x + (stbtt_int16) (points[0]*256 + points[1]);\n               points += 2;\n            }\n         }\n         vertices[off+i].x = x;\n      }\n\n      // now load y coordinates\n      y=0;\n      for (i=0; i < n; ++i) {\n         flags = vertices[off+i].type;\n         if (flags & 4) {\n            stbtt_int16 dy = *points++;\n            y += (flags & 32) ? dy : -dy; // ???\n         } else {\n            if (!(flags & 32)) {\n               y = y + (stbtt_int16) (points[0]*256 + points[1]);\n               points += 2;\n            }\n         }\n         vertices[off+i].y = y;\n      }\n\n      // now convert them to our format\n      num_vertices=0;\n      sx = sy = cx = cy = 0;\n      for (i=0; i < n; ++i) {\n         flags = vertices[off+i].type;\n         x     = (stbtt_int16) vertices[off+i].x;\n         y     = (stbtt_int16) vertices[off+i].y;\n         if (next_move == i) {\n            // when we get to the end, we have to close the shape explicitly\n            if (i != 0) {\n               if (was_off)\n                  stbtt_setvertex(&vertices[num_vertices++], STBTT_vcurve,sx,sy,cx,cy);\n               else\n                  stbtt_setvertex(&vertices[num_vertices++], STBTT_vline,sx,sy,0,0);\n            }\n\n            // now start the new one               \n            stbtt_setvertex(&vertices[num_vertices++], STBTT_vmove,x,y,0,0);\n            next_move = 1 + ttUSHORT(endPtsOfContours+j*2);\n            ++j;\n            was_off = 0;\n            sx = x;\n            sy = y;\n         } else {\n            if (!(flags & 1)) { // if it's a curve\n               if (was_off) // two off-curve control points in a row means interpolate an on-curve midpoint\n                  stbtt_setvertex(&vertices[num_vertices++], STBTT_vcurve, (cx+x)>>1, (cy+y)>>1, cx, cy);\n               cx = x;\n               cy = y;\n               was_off = 1;\n            } else {\n               if (was_off)\n                  stbtt_setvertex(&vertices[num_vertices++], STBTT_vcurve, x,y, cx, cy);\n               else\n                  stbtt_setvertex(&vertices[num_vertices++], STBTT_vline, x,y,0,0);\n               was_off = 0;\n            }\n         }\n      }\n      if (i != 0) {\n         if (was_off)\n            stbtt_setvertex(&vertices[num_vertices++], STBTT_vcurve,sx,sy,cx,cy);\n         else\n            stbtt_setvertex(&vertices[num_vertices++], STBTT_vline,sx,sy,0,0);\n      }\n   } else if (numberOfContours == -1) {\n      // Compound shapes.\n      int more = 1;\n      stbtt_uint8 *comp = data + g + 10;\n      num_vertices = 0;\n      vertices = 0;\n      while (more) {\n         stbtt_uint16 flags, gidx;\n         int comp_num_verts = 0, i;\n         stbtt_vertex *comp_verts = 0, *tmp = 0;\n         float mtx[6] = {1,0,0,1,0,0}, m, n;\n         \n         flags = ttSHORT(comp); comp+=2;\n         gidx = ttSHORT(comp); comp+=2;\n\n         if (flags & 2) { // XY values\n            if (flags & 1) { // shorts\n               mtx[4] = ttSHORT(comp); comp+=2;\n               mtx[5] = ttSHORT(comp); comp+=2;\n            } else {\n               mtx[4] = ttCHAR(comp); comp+=1;\n               mtx[5] = ttCHAR(comp); comp+=1;\n            }\n         }\n         else {\n            // @TODO handle matching point\n            STBTT_assert(0);\n         }\n         if (flags & (1<<3)) { // WE_HAVE_A_SCALE\n            mtx[0] = mtx[3] = ttSHORT(comp)/16384.0f; comp+=2;\n            mtx[1] = mtx[2] = 0;\n         } else if (flags & (1<<6)) { // WE_HAVE_AN_X_AND_YSCALE\n            mtx[0] = ttSHORT(comp)/16384.0f; comp+=2;\n            mtx[1] = mtx[2] = 0;\n            mtx[3] = ttSHORT(comp)/16384.0f; comp+=2;\n         } else if (flags & (1<<7)) { // WE_HAVE_A_TWO_BY_TWO\n            mtx[0] = ttSHORT(comp)/16384.0f; comp+=2;\n            mtx[1] = ttSHORT(comp)/16384.0f; comp+=2;\n            mtx[2] = ttSHORT(comp)/16384.0f; comp+=2;\n            mtx[3] = ttSHORT(comp)/16384.0f; comp+=2;\n         }\n         \n         // Find transformation scales.\n         m = (float) sqrt(mtx[0]*mtx[0] + mtx[1]*mtx[1]);\n         n = (float) sqrt(mtx[2]*mtx[2] + mtx[3]*mtx[3]);\n\n         // Get indexed glyph.\n         comp_num_verts = stbtt_GetGlyphShape(info, gidx, &comp_verts);\n         if (comp_num_verts > 0) {\n            // Transform vertices.\n            for (i = 0; i < comp_num_verts; ++i) {\n               stbtt_vertex* v = &comp_verts[i];\n               stbtt_vertex_type x,y;\n               x=v->x; y=v->y;\n               v->x = (stbtt_vertex_type)(m * (mtx[0]*x + mtx[2]*y + mtx[4]));\n               v->y = (stbtt_vertex_type)(n * (mtx[1]*x + mtx[3]*y + mtx[5]));\n               x=v->cx; y=v->cy;\n               v->cx = (stbtt_vertex_type)(m * (mtx[0]*x + mtx[2]*y + mtx[4]));\n               v->cy = (stbtt_vertex_type)(n * (mtx[1]*x + mtx[3]*y + mtx[5]));\n            }\n            // Append vertices.\n            tmp = (stbtt_vertex*)STBTT_malloc((num_vertices+comp_num_verts)*sizeof(stbtt_vertex), info->userdata);\n            if (!tmp) {\n               if (vertices) STBTT_free(vertices, info->userdata);\n               if (comp_verts) STBTT_free(comp_verts, info->userdata);\n               return 0;\n            }\n            if (num_vertices > 0) memcpy(tmp, vertices, num_vertices*sizeof(stbtt_vertex));\n            memcpy(tmp+num_vertices, comp_verts, comp_num_verts*sizeof(stbtt_vertex));\n            if (vertices) STBTT_free(vertices, info->userdata);\n            vertices = tmp;\n            STBTT_free(comp_verts, info->userdata);\n            num_vertices += comp_num_verts;\n         }\n         // More components ?\n         more = flags & (1<<5);\n      }\n   } else if (numberOfContours < 0) {\n      // @TODO other compound variations?\n      STBTT_assert(0);\n   } else {\n      // numberOfCounters == 0, do nothing\n   }\n\n   *pvertices = vertices;\n   return num_vertices;\n}\n\nvoid stbtt_GetGlyphHMetrics(const stbtt_fontinfo *info, int glyph_index, int *advanceWidth, int *leftSideBearing)\n{\n   stbtt_uint16 numOfLongHorMetrics = ttUSHORT(info->data+info->hhea + 34);\n   if (glyph_index < numOfLongHorMetrics) {\n      if (advanceWidth)     *advanceWidth    = ttSHORT(info->data + info->hmtx + 4*glyph_index);\n      if (leftSideBearing)  *leftSideBearing = ttSHORT(info->data + info->hmtx + 4*glyph_index + 2);\n   } else {\n      if (advanceWidth)     *advanceWidth    = ttSHORT(info->data + info->hmtx + 4*(numOfLongHorMetrics-1));\n      if (leftSideBearing)  *leftSideBearing = ttSHORT(info->data + info->hmtx + 4*numOfLongHorMetrics + 2*(glyph_index - numOfLongHorMetrics));\n   }\n}\n\nint  stbtt_GetGlyphKernAdvance(const stbtt_fontinfo * /*info*/, int /*glyph1*/, int /*glyph2*/)\n{\n   return 0;\n}\n\nint  stbtt_GetCodepointKernAdvance(const stbtt_fontinfo * /*info*/, int /*ch1*/, int /*ch2*/)\n{\n   return 0;\n}\n\nvoid stbtt_GetCodepointHMetrics(const stbtt_fontinfo *info, int codepoint, int *advanceWidth, int *leftSideBearing)\n{\n   stbtt_GetGlyphHMetrics(info, stbtt_FindGlyphIndex(info,codepoint), advanceWidth, leftSideBearing);\n}\n\nvoid stbtt_GetFontVMetrics(const stbtt_fontinfo *info, int *ascent, int *descent, int *lineGap)\n{\n   if (ascent ) *ascent  = ttSHORT(info->data+info->hhea + 4);\n   if (descent) *descent = ttSHORT(info->data+info->hhea + 6);\n   if (lineGap) *lineGap = ttSHORT(info->data+info->hhea + 8);\n}\n\nfloat stbtt_ScaleForPixelHeight(const stbtt_fontinfo *info, float height)\n{\n   int fheight = ttSHORT(info->data + info->hhea + 4) - ttSHORT(info->data + info->hhea + 6);\n   return (float) height / fheight;\n}\n\nvoid stbtt_FreeShape(const stbtt_fontinfo *info, stbtt_vertex *v)\n{\n   STBTT_free(v, info->userdata);\n}\n\n//////////////////////////////////////////////////////////////////////////////\n//\n// antialiasing software rasterizer\n//\n\nvoid stbtt_GetGlyphBitmapBox(const stbtt_fontinfo *font, int glyph, float scale_x, float scale_y, int *ix0, int *iy0, int *ix1, int *iy1)\n{\n   int x0,y0,x1,y1;\n   if (!stbtt_GetGlyphBox(font, glyph, &x0,&y0,&x1,&y1))\n      x0=y0=x1=y1=0; // e.g. space character\n   // now move to integral bboxes (treating pixels as little squares, what pixels get touched)?\n   if (ix0) *ix0 =  STBTT_ifloor(x0 * scale_x);\n   if (iy0) *iy0 = -STBTT_iceil (y1 * scale_y);\n   if (ix1) *ix1 =  STBTT_iceil (x1 * scale_x);\n   if (iy1) *iy1 = -STBTT_ifloor(y0 * scale_y);\n}\n\nvoid stbtt_GetCodepointBitmapBox(const stbtt_fontinfo *font, int codepoint, float scale_x, float scale_y, int *ix0, int *iy0, int *ix1, int *iy1)\n{\n   stbtt_GetGlyphBitmapBox(font, stbtt_FindGlyphIndex(font,codepoint), scale_x, scale_y, ix0,iy0,ix1,iy1);\n}\n\ntypedef struct stbtt__edge {\n   float x0,y0, x1,y1;\n   int invert;\n} stbtt__edge;\n\ntypedef struct stbtt__active_edge\n{\n   int x,dx;\n   float ey;\n   struct stbtt__active_edge *next;\n   int valid;\n} stbtt__active_edge;\n\n#define FIXSHIFT   10\n#define FIX        (1 << FIXSHIFT)\n#define FIXMASK    (FIX-1)\n\nstatic stbtt__active_edge *new_active(stbtt__edge *e, int off_x, float start_point, void *userdata)\n{\n   stbtt__active_edge *z = (stbtt__active_edge *) STBTT_malloc(sizeof(*z), userdata); // @TODO: make a pool of these!!!\n   float dxdy = (e->x1 - e->x0) / (e->y1 - e->y0);\n   STBTT_assert(e->y0 <= start_point);\n   if (!z) return z;\n   // round dx down to avoid going too far\n   if (dxdy < 0)\n      z->dx = -STBTT_ifloor(FIX * -dxdy);\n   else\n      z->dx = STBTT_ifloor(FIX * dxdy);\n   z->x = STBTT_ifloor(FIX * (e->x0 + dxdy * (start_point - e->y0)));\n   z->x -= off_x * FIX;\n   z->ey = e->y1;\n   z->next = 0;\n   z->valid = e->invert ? 1 : -1;\n   return z;\n}\n\n// note: this routine clips fills that extend off the edges... ideally this\n// wouldn't happen, but it could happen if the truetype glyph bounding boxes\n// are wrong, or if the user supplies a too-small bitmap\nstatic void stbtt__fill_active_edges(unsigned char *scanline, int len, stbtt__active_edge *e, int max_weight)\n{\n   // non-zero winding fill\n   int x0=0, w=0;\n\n   while (e) {\n      if (w == 0) {\n         // if we're currently at zero, we need to record the edge start point\n         x0 = e->x; w += e->valid;\n      } else {\n         int x1 = e->x; w += e->valid;\n         // if we went to zero, we need to draw\n         if (w == 0) {\n            int i = x0 >> FIXSHIFT;\n            int j = x1 >> FIXSHIFT;\n\n            if (i < len && j >= 0) {\n               if (i == j) {\n                  // x0,x1 are the same pixel, so compute combined coverage\n                  scanline[i] = scanline[i] + (stbtt_uint8) ((x1 - x0) * max_weight >> FIXSHIFT);\n               } else {\n                  if (i >= 0) // add antialiasing for x0\n                     scanline[i] = scanline[i] + (stbtt_uint8) (((FIX - (x0 & FIXMASK)) * max_weight) >> FIXSHIFT);\n                  else\n                     i = -1; // clip\n\n                  if (j < len) // add antialiasing for x1\n                     scanline[j] = scanline[j] + (stbtt_uint8) (((x1 & FIXMASK) * max_weight) >> FIXSHIFT);\n                  else\n                     j = len; // clip\n\n                  for (++i; i < j; ++i) // fill pixels between x0 and x1\n                     scanline[i] = scanline[i] + (stbtt_uint8) max_weight;\n               }\n            }\n         }\n      }\n      \n      e = e->next;\n   }\n}\n\nstatic void stbtt__rasterize_sorted_edges(stbtt__bitmap *result, stbtt__edge *e, int n, int vsubsample, int off_x, int off_y, void *userdata)\n{\n   stbtt__active_edge *active = NULL;\n   int y,j=0;\n   int max_weight = (255 / vsubsample);  // weight per vertical scanline\n   int s; // vertical subsample index\n   unsigned char scanline_data[512], *scanline;\n\n   if (result->w > 512)\n      scanline = (unsigned char *) STBTT_malloc(result->w, userdata);\n   else\n      scanline = scanline_data;\n\n   y = off_y * vsubsample;\n   e[n].y0 = (off_y + result->h) * (float) vsubsample + 1;\n\n   while (j < result->h) {\n      STBTT_memset(scanline, 0, result->w);\n      for (s=0; s < vsubsample; ++s) {\n         // find center of pixel for this scanline\n         float scan_y = y + 0.5f;\n         stbtt__active_edge **step = &active;\n\n         // update all active edges;\n         // remove all active edges that terminate before the center of this scanline\n         while (*step) {\n            stbtt__active_edge * z = *step;\n            if (z->ey <= scan_y) {\n               *step = z->next; // delete from list\n               STBTT_assert(z->valid);\n               z->valid = 0;\n               STBTT_free(z, userdata);\n            } else {\n               z->x += z->dx; // advance to position for current scanline\n               step = &((*step)->next); // advance through list\n            }\n         }\n\n         // resort the list if needed\n         for(;;) {\n            int changed=0;\n            step = &active;\n            while (*step && (*step)->next) {\n               if ((*step)->x > (*step)->next->x) {\n                  stbtt__active_edge *t = *step;\n                  stbtt__active_edge *q = t->next;\n\n                  t->next = q->next;\n                  q->next = t;\n                  *step = q;\n                  changed = 1;\n               }\n               step = &(*step)->next;\n            }\n            if (!changed) break;\n         }\n\n         // insert all edges that start before the center of this scanline -- omit ones that also end on this scanline\n         while (e->y0 <= scan_y) {\n            if (e->y1 > scan_y) {\n               stbtt__active_edge *z = new_active(e, off_x, scan_y, userdata);\n               // find insertion point\n               if (active == NULL)\n                  active = z;\n               else if (z->x < active->x) {\n                  // insert at front\n                  z->next = active;\n                  active = z;\n               } else {\n                  // find thing to insert AFTER\n                  stbtt__active_edge *p = active;\n                  while (p->next && p->next->x < z->x)\n                     p = p->next;\n                  // at this point, p->next->x is NOT < z->x\n                  z->next = p->next;\n                  p->next = z;\n               }\n            }\n            ++e;\n         }\n\n         // now process all active edges in XOR fashion\n         if (active)\n            stbtt__fill_active_edges(scanline, result->w, active, max_weight);\n\n         ++y;\n      }\n      STBTT_memcpy(result->pixels + j * result->stride, scanline, result->w);\n      ++j;\n   }\n\n   while (active) {\n      stbtt__active_edge *z = active;\n      active = active->next;\n      STBTT_free(z, userdata);\n   }\n\n   if (scanline != scanline_data)\n      STBTT_free(scanline, userdata);\n}\n\nstatic int stbtt__edge_compare(const void *p, const void *q)\n{\n   stbtt__edge *a = (stbtt__edge *) p;\n   stbtt__edge *b = (stbtt__edge *) q;\n\n   if (a->y0 < b->y0) return -1;\n   if (a->y0 > b->y0) return  1;\n   return 0;\n}\n\ntypedef struct\n{\n   float x,y;\n} stbtt__point;\n\nstatic void stbtt__rasterize(stbtt__bitmap *result, stbtt__point *pts, int *wcount, int windings, float scale_x, float scale_y, int off_x, int off_y, int invert, void *userdata)\n{\n   float y_scale_inv = invert ? -scale_y : scale_y;\n   stbtt__edge *e;\n   int n,i,j,k,m;\n   int vsubsample = result->h < 8 ? 15 : 5;\n   // vsubsample should divide 255 evenly; otherwise we won't reach full opacity\n\n   // now we have to blow out the windings into explicit edge lists\n   n = 0;\n   for (i=0; i < windings; ++i)\n      n += wcount[i];\n\n   e = (stbtt__edge *) STBTT_malloc(sizeof(*e) * (n+1), userdata); // add an extra one as a sentinel\n   if (e == 0) return;\n   n = 0;\n\n   m=0;\n   for (i=0; i < windings; ++i) {\n      stbtt__point *p = pts + m;\n      m += wcount[i];\n      j = wcount[i]-1;\n      for (k=0; k < wcount[i]; j=k++) {\n         int a=k,b=j;\n         // skip the edge if horizontal\n         if (p[j].y == p[k].y)\n            continue;\n         // add edge from j to k to the list\n         e[n].invert = 0;\n         if (invert ? p[j].y > p[k].y : p[j].y < p[k].y) {\n            e[n].invert = 1;\n            a=j,b=k;\n         }\n         e[n].x0 = p[a].x * scale_x;\n         e[n].y0 = p[a].y * y_scale_inv * vsubsample;\n         e[n].x1 = p[b].x * scale_x;\n         e[n].y1 = p[b].y * y_scale_inv * vsubsample;\n         ++n;\n      }\n   }\n\n   // now sort the edges by their highest point (should snap to integer, and then by x)\n   STBTT_sort(e, n, sizeof(e[0]), stbtt__edge_compare);\n\n   // now, traverse the scanlines and find the intersections on each scanline, use xor winding rule\n   stbtt__rasterize_sorted_edges(result, e, n, vsubsample, off_x, off_y, userdata);\n\n   STBTT_free(e, userdata);\n}\n\nstatic void stbtt__add_point(stbtt__point *points, int n, float x, float y)\n{\n   if (!points) return; // during first pass, it's unallocated\n   points[n].x = x;\n   points[n].y = y;\n}\n\n// tesselate until threshhold p is happy... @TODO warped to compensate for non-linear stretching\nstatic int stbtt__tesselate_curve(stbtt__point *points, int *num_points, float x0, float y0, float x1, float y1, float x2, float y2, float objspace_flatness_squared, int n)\n{\n   // midpoint\n   float mx = (x0 + 2*x1 + x2)/4;\n   float my = (y0 + 2*y1 + y2)/4;\n   // versus directly drawn line\n   float dx = (x0+x2)/2 - mx;\n   float dy = (y0+y2)/2 - my;\n   if (n > 16) // 65536 segments on one curve better be enough!\n      return 1;\n   if (dx*dx+dy*dy > objspace_flatness_squared) { // half-pixel error allowed... need to be smaller if AA\n      stbtt__tesselate_curve(points, num_points, x0,y0, (x0+x1)/2.0f,(y0+y1)/2.0f, mx,my, objspace_flatness_squared,n+1);\n      stbtt__tesselate_curve(points, num_points, mx,my, (x1+x2)/2.0f,(y1+y2)/2.0f, x2,y2, objspace_flatness_squared,n+1);\n   } else {\n      stbtt__add_point(points, *num_points,x2,y2);\n      *num_points = *num_points+1;\n   }\n   return 1;\n}\n\n// returns number of contours\nstbtt__point *stbtt_FlattenCurves(stbtt_vertex *vertices, int num_verts, float objspace_flatness, int **contour_lengths, int *num_contours, void *userdata)\n{\n   stbtt__point *points=0;\n   int num_points=0;\n\n   float objspace_flatness_squared = objspace_flatness * objspace_flatness;\n   int i,n=0,start=0, pass;\n\n   // count how many \"moves\" there are to get the contour count\n   for (i=0; i < num_verts; ++i)\n      if (vertices[i].type == STBTT_vmove)\n         ++n;\n\n   *num_contours = n;\n   if (n == 0) return 0;\n\n   *contour_lengths = (int *) STBTT_malloc(sizeof(**contour_lengths) * n, userdata);\n\n   if (*contour_lengths == 0) {\n      *num_contours = 0;\n      return 0;\n   }\n\n   // make two passes through the points so we don't need to realloc\n   for (pass=0; pass < 2; ++pass) {\n      float x=0,y=0;\n      if (pass == 1) {\n         points = (stbtt__point *) STBTT_malloc(num_points * sizeof(points[0]), userdata);\n         if (points == NULL) goto error;\n      }\n      num_points = 0;\n      n= -1;\n      for (i=0; i < num_verts; ++i) {\n         switch (vertices[i].type) {\n            case STBTT_vmove:\n               // start the next contour\n               if (n >= 0)\n                  (*contour_lengths)[n] = num_points - start;\n               ++n;\n               start = num_points;\n\n               x = vertices[i].x, y = vertices[i].y;\n               stbtt__add_point(points, num_points++, x,y);\n               break;\n            case STBTT_vline:\n               x = vertices[i].x, y = vertices[i].y;\n               stbtt__add_point(points, num_points++, x, y);\n               break;\n            case STBTT_vcurve:\n               stbtt__tesselate_curve(points, &num_points, x,y,\n                                        vertices[i].cx, vertices[i].cy,\n                                        vertices[i].x,  vertices[i].y,\n                                        objspace_flatness_squared, 0);\n               x = vertices[i].x, y = vertices[i].y;\n               break;\n         }\n      }\n      (*contour_lengths)[n] = num_points - start;\n   }\n\n   return points;\nerror:\n   STBTT_free(points, userdata);\n   STBTT_free(*contour_lengths, userdata);\n   *contour_lengths = 0;\n   *num_contours = 0;\n   return NULL;\n}\n\nvoid stbtt_Rasterize(stbtt__bitmap *result, float flatness_in_pixels, stbtt_vertex *vertices, int num_verts, float scale_x, float scale_y, int x_off, int y_off, int invert, void *userdata)\n{\n   float scale = scale_x > scale_y ? scale_y : scale_x;\n   int winding_count, *winding_lengths;\n   stbtt__point *windings = stbtt_FlattenCurves(vertices, num_verts, flatness_in_pixels / scale, &winding_lengths, &winding_count, userdata);\n   if (windings) {\n      stbtt__rasterize(result, windings, winding_lengths, winding_count, scale_x, scale_y, x_off, y_off, invert, userdata);\n      STBTT_free(winding_lengths, userdata);\n      STBTT_free(windings, userdata);\n   }\n}\n\nvoid stbtt_FreeBitmap(unsigned char *bitmap, void *userdata)\n{\n   STBTT_free(bitmap, userdata);\n}\n\nunsigned char *stbtt_GetGlyphBitmap(const stbtt_fontinfo *info, float scale_x, float scale_y, int glyph, int *width, int *height, int *xoff, int *yoff)\n{\n   int ix0,iy0,ix1,iy1;\n   stbtt__bitmap gbm;\n   stbtt_vertex *vertices;   \n   int num_verts = stbtt_GetGlyphShape(info, glyph, &vertices);\n\n   if (scale_x == 0) scale_x = scale_y;\n   if (scale_y == 0) {\n      if (scale_x == 0) return NULL;\n      scale_y = scale_x;\n   }\n\n   stbtt_GetGlyphBitmapBox(info, glyph, scale_x, scale_y, &ix0,&iy0,&ix1,&iy1);\n\n   // now we get the size\n   gbm.w = (ix1 - ix0);\n   gbm.h = (iy1 - iy0);\n   gbm.pixels = NULL; // in case we error\n\n   if (width ) *width  = gbm.w;\n   if (height) *height = gbm.h;\n   if (xoff  ) *xoff   = ix0;\n   if (yoff  ) *yoff   = iy0;\n   \n   if (gbm.w && gbm.h) {\n      gbm.pixels = (unsigned char *) STBTT_malloc(gbm.w * gbm.h, info->userdata);\n      if (gbm.pixels) {\n         gbm.stride = gbm.w;\n\n         stbtt_Rasterize(&gbm, 0.35f, vertices, num_verts, scale_x, scale_y, ix0, iy0, 1, info->userdata);\n      }\n   }\n   STBTT_free(vertices, info->userdata);\n   return gbm.pixels;\n}   \n\nvoid stbtt_MakeGlyphBitmap(const stbtt_fontinfo *info, unsigned char *output, int out_w, int out_h, int out_stride, float scale_x, float scale_y, int glyph)\n{\n   int ix0,iy0;\n   stbtt_vertex *vertices;   \n   int num_verts = stbtt_GetGlyphShape(info, glyph, &vertices);\n   stbtt__bitmap gbm;   \n\n   stbtt_GetGlyphBitmapBox(info, glyph, scale_x, scale_y, &ix0,&iy0,0,0);\n   gbm.pixels = output;\n   gbm.w = out_w;\n   gbm.h = out_h;\n   gbm.stride = out_stride;\n\n   if (gbm.w && gbm.h)\n      stbtt_Rasterize(&gbm, 0.35f, vertices, num_verts, scale_x, scale_y, ix0,iy0, 1, info->userdata);\n\n   STBTT_free(vertices, info->userdata);\n}\n\nunsigned char *stbtt_GetCodepointBitmap(const stbtt_fontinfo *info, float scale_x, float scale_y, int codepoint, int *width, int *height, int *xoff, int *yoff)\n{\n   return stbtt_GetGlyphBitmap(info, scale_x, scale_y, stbtt_FindGlyphIndex(info,codepoint), width,height,xoff,yoff);\n}   \n\nvoid stbtt_MakeCodepointBitmap(const stbtt_fontinfo *info, unsigned char *output, int out_w, int out_h, int out_stride, float scale_x, float scale_y, int codepoint)\n{\n   stbtt_MakeGlyphBitmap(info, output, out_w, out_h, out_stride, scale_x, scale_y, stbtt_FindGlyphIndex(info,codepoint));\n}\n\n//////////////////////////////////////////////////////////////////////////////\n//\n// bitmap baking\n//\n// This is SUPER-SHITTY packing to keep source code small\n\nextern int stbtt_BakeFontBitmap(const unsigned char *data, int offset,  // font location (use offset=0 for plain .ttf)\n                                float pixel_height,                     // height of font in pixels\n                                unsigned char *pixels, int pw, int ph,  // bitmap to be filled in\n                                int first_char, int num_chars,          // characters to bake\n                                stbtt_bakedchar *chardata)\n{\n   float scale;\n   int x,y,bottom_y, i;\n   stbtt_fontinfo f;\n   stbtt_InitFont(&f, data, offset);\n   STBTT_memset(pixels, 0, pw*ph); // background of 0 around pixels\n   x=y=1;\n   bottom_y = 1;\n\n   scale = stbtt_ScaleForPixelHeight(&f, pixel_height);\n\n   for (i=0; i < num_chars; ++i) {\n      int advance, lsb, x0,y0,x1,y1,gw,gh;\n      int g = stbtt_FindGlyphIndex(&f, first_char + i);\n      stbtt_GetGlyphHMetrics(&f, g, &advance, &lsb);\n      stbtt_GetGlyphBitmapBox(&f, g, scale,scale, &x0,&y0,&x1,&y1);\n      gw = x1-x0;\n      gh = y1-y0;\n      if (x + gw + 1 >= pw)\n         y = bottom_y, x = 1; // advance to next row\n      if (y + gh + 1 >= ph) // check if it fits vertically AFTER potentially moving to next row\n         return -i;\n      STBTT_assert(x+gw < pw);\n      STBTT_assert(y+gh < ph);\n      stbtt_MakeGlyphBitmap(&f, pixels+x+y*pw, gw,gh,pw, scale,scale, g);\n      chardata[i].x0 = (stbtt_int16) x;\n      chardata[i].y0 = (stbtt_int16) y;\n      chardata[i].x1 = (stbtt_int16) (x + gw);\n      chardata[i].y1 = (stbtt_int16) (y + gh);\n      chardata[i].xadvance = scale * advance;\n      chardata[i].xoff     = (float) x0;\n      chardata[i].yoff     = (float) y0;\n      x = x + gw + 2;\n      if (y+gh+2 > bottom_y)\n         bottom_y = y+gh+2;\n   }\n   return bottom_y;\n}\n\nvoid stbtt_GetBakedQuad(stbtt_bakedchar *chardata, int pw, int ph, int char_index, float *xpos, float *ypos, stbtt_aligned_quad *q, int opengl_fillrule)\n{\n   float d3d_bias = opengl_fillrule ? 0 : -0.5f;\n   float ipw = 1.0f / pw, iph = 1.0f / ph;\n   stbtt_bakedchar *b = chardata + char_index;\n   int round_x = STBTT_ifloor((*xpos + b->xoff) + 0.5);\n   int round_y = STBTT_ifloor((*ypos + b->yoff) + 0.5);\n\n   q->x0 = round_x + d3d_bias;\n   q->y0 = round_y + d3d_bias;\n   q->x1 = round_x + b->x1 - b->x0 + d3d_bias;\n   q->y1 = round_y + b->y1 - b->y0 + d3d_bias;\n\n   q->s0 = b->x0 * ipw;\n   q->t0 = b->y0 * ipw;\n   q->s1 = b->x1 * iph;\n   q->t1 = b->y1 * iph;\n\n   *xpos += b->xadvance;\n}\n\n//////////////////////////////////////////////////////////////////////////////\n//\n// font name matching -- recommended not to use this\n//\n\n// check if a utf8 string contains a prefix which is the utf16 string; if so return length of matching utf8 string\nstatic stbtt_int32 stbtt__CompareUTF8toUTF16_bigendian_prefix(stbtt_uint8 *s1, stbtt_int32 len1, stbtt_uint8 *s2, stbtt_int32 len2) \n{\n   stbtt_int32 i=0;\n\n   // convert utf16 to utf8 and compare the results while converting\n   while (len2) {\n      stbtt_uint16 ch = s2[0]*256 + s2[1];\n      if (ch < 0x80) {\n         if (i >= len1) return -1;\n         if (s1[i++] != ch) return -1;\n      } else if (ch < 0x800) {\n         if (i+1 >= len1) return -1;\n         if (s1[i++] != 0xc0 + (ch >> 6)) return -1;\n         if (s1[i++] != 0x80 + (ch & 0x3f)) return -1;\n      } else if (ch >= 0xd800 && ch < 0xdc00) {\n         stbtt_uint32 c;\n         stbtt_uint16 ch2 = s2[2]*256 + s2[3];\n         if (i+3 >= len1) return -1;\n         c = ((ch - 0xd800) << 10) + (ch2 - 0xdc00) + 0x10000;\n         if (s1[i++] != 0xf0 + (c >> 18)) return -1;\n         if (s1[i++] != 0x80 + ((c >> 12) & 0x3f)) return -1;\n         if (s1[i++] != 0x80 + ((c >>  6) & 0x3f)) return -1;\n         if (s1[i++] != 0x80 + ((c      ) & 0x3f)) return -1;\n         s2 += 2; // plus another 2 below\n         len2 -= 2;\n      } else if (ch >= 0xdc00 && ch < 0xe000) {\n         return -1;\n      } else {\n         if (i+2 >= len1) return -1;\n         if (s1[i++] != 0xe0 + (ch >> 12)) return -1;\n         if (s1[i++] != 0x80 + ((ch >> 6) & 0x3f)) return -1;\n         if (s1[i++] != 0x80 + ((ch     ) & 0x3f)) return -1;\n      }\n      s2 += 2;\n      len2 -= 2;\n   }\n   return i;\n}\n\nint stbtt_CompareUTF8toUTF16_bigendian(const char *s1, int len1, const char *s2, int len2) \n{\n   return len1 == stbtt__CompareUTF8toUTF16_bigendian_prefix((stbtt_uint8*) s1, len1, (stbtt_uint8*) s2, len2);\n}\n\n// returns results in whatever encoding you request... but note that 2-byte encodings\n// will be BIG-ENDIAN... use stbtt_CompareUTF8toUTF16_bigendian() to compare\nchar *stbtt_GetFontNameString(const stbtt_fontinfo *font, int *length, int platformID, int encodingID, int languageID, int nameID)\n{\n   stbtt_int32 i,count,stringOffset;\n   stbtt_uint8 *fc = font->data;\n   stbtt_uint32 offset = font->fontstart;\n   stbtt_uint32 nm = stbtt__find_table(fc, offset, \"name\");\n   if (!nm) return NULL;\n\n   count = ttUSHORT(fc+nm+2);\n   stringOffset = nm + ttUSHORT(fc+nm+4);\n   for (i=0; i < count; ++i) {\n      stbtt_uint32 loc = nm + 6 + 12 * i;\n      if (platformID == ttUSHORT(fc+loc+0) && encodingID == ttUSHORT(fc+loc+2)\n          && languageID == ttUSHORT(fc+loc+4) && nameID == ttUSHORT(fc+loc+6)) {\n         *length = ttUSHORT(fc+loc+8);\n         return (char *) (fc+stringOffset+ttUSHORT(fc+loc+10));\n      }\n   }\n   return NULL;\n}\n\nstatic int stbtt__matchpair(stbtt_uint8 *fc, stbtt_uint32 nm, stbtt_uint8 *name, stbtt_int32 nlen, stbtt_int32 target_id, stbtt_int32 next_id)\n{\n   stbtt_int32 i;\n   stbtt_int32 count = ttUSHORT(fc+nm+2);\n   stbtt_int32 stringOffset = nm + ttUSHORT(fc+nm+4);\n\n   for (i=0; i < count; ++i) {\n      stbtt_uint32 loc = nm + 6 + 12 * i;\n      stbtt_int32 id = ttUSHORT(fc+loc+6);\n      if (id == target_id) {\n         // find the encoding\n         stbtt_int32 platform = ttUSHORT(fc+loc+0), encoding = ttUSHORT(fc+loc+2), language = ttUSHORT(fc+loc+4);\n\n         // is this a Unicode encoding?\n         if (platform == 0 || (platform == 3 && encoding == 1) || (platform == 3 && encoding == 10)) {\n            stbtt_int32 slen = ttUSHORT(fc+loc+8), off = ttUSHORT(fc+loc+10);\n\n            // check if there's a prefix match\n            stbtt_int32 matchlen = stbtt__CompareUTF8toUTF16_bigendian_prefix(name, nlen, fc+stringOffset+off,slen);\n            if (matchlen >= 0) {\n               // check for target_id+1 immediately following, with same encoding & language\n               if (i+1 < count && ttUSHORT(fc+loc+12+6) == next_id && ttUSHORT(fc+loc+12) == platform && ttUSHORT(fc+loc+12+2) == encoding && ttUSHORT(fc+loc+12+4) == language) {\n                  stbtt_int32 slen = ttUSHORT(fc+loc+12+8), off = ttUSHORT(fc+loc+12+10);\n                  if (slen == 0) {\n                     if (matchlen == nlen)\n                        return 1;\n                  } else if (matchlen < nlen && name[matchlen] == ' ') {\n                     ++matchlen;\n                     if (stbtt_CompareUTF8toUTF16_bigendian((char*) (name+matchlen), nlen-matchlen, (char*)(fc+stringOffset+off),slen))\n                        return 1;\n                  }\n               } else {\n                  // if nothing immediately following\n                  if (matchlen == nlen)\n                     return 1;\n               }\n            }\n         }\n\n         // @TODO handle other encodings\n      }\n   }\n   return 0;\n}\n\nstatic int stbtt__matches(stbtt_uint8 *fc, stbtt_uint32 offset, stbtt_uint8 *name, stbtt_int32 flags)\n{\n   stbtt_int32 nlen = stbtt_int32(STBTT_strlen((char *) name));\n   stbtt_uint32 nm,hd;\n   if (!stbtt__isfont(fc+offset)) return 0;\n\n   // check italics/bold/underline flags in macStyle...\n   if (flags) {\n      hd = stbtt__find_table(fc, offset, \"head\");\n      if ((ttUSHORT(fc+hd+44) & 7) != (flags & 7)) return 0;\n   }\n\n   nm = stbtt__find_table(fc, offset, \"name\");\n   if (!nm) return 0;\n\n   if (flags) {\n      // if we checked the macStyle flags, then just check the family and ignore the subfamily\n      if (stbtt__matchpair(fc, nm, name, nlen, 16, -1))  return 1;\n      if (stbtt__matchpair(fc, nm, name, nlen,  1, -1))  return 1;\n      if (stbtt__matchpair(fc, nm, name, nlen,  3, -1))  return 1;\n   } else {\n      if (stbtt__matchpair(fc, nm, name, nlen, 16, 17))  return 1;\n      if (stbtt__matchpair(fc, nm, name, nlen,  1,  2))  return 1;\n      if (stbtt__matchpair(fc, nm, name, nlen,  3, -1))  return 1;\n   }\n\n   return 0;\n}\n\nint stbtt_FindMatchingFont(const unsigned char *font_collection, const char *name_utf8, stbtt_int32 flags)\n{\n   stbtt_int32 i;\n   for (i=0;;++i) {\n      stbtt_int32 off = stbtt_GetFontOffsetForIndex(font_collection, i);\n      if (off < 0) return off;\n      if (stbtt__matches((stbtt_uint8 *) font_collection, off, (stbtt_uint8*) name_utf8, flags))\n         return off;\n   }\n}\n\n#endif // STB_TRUETYPE_IMPLEMENTATION\n"
  },
  {
    "path": "doc/.buildinfo",
    "content": "# Sphinx build info version 1\n# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.\nconfig: 39b9edc0aafd74c178215254aff93032\ntags: 645f666f9bcd5a90fca523b33c5a78b7\n"
  },
  {
    "path": "doc/_sources/index.txt",
    "content": ".. toctree::\n   :maxdepth: 1\n   :hidden:\n\n   Overview <self>\n   manual\n   releasenotes   \n\n|PRODUCTNAME| \n======================================\n\nFlex is a GPU-based particle simulation library designed for real-time applications. It provides a unified interface that is capable of simulating fluids, clothing, solids, ropes, and more. See the :ref:`releasenotes` for the latest updates.\n\nDownload the latest Flex release from the `product home page`_ on `NVIDIA Developer`_.\n\nDocumentation\n-------------\n\nPlease see the :ref:`Manual` included in this release package for more information on\nthe solver API and usage.\n\nDoxygen generated API documentation is available here:\n\n* `Core API Reference <_static/api/_nv_flex_8h.html>`_\n\n* `Extensions API Reference <_static/api/_nv_flex_ext_8h.html>`_\n\n* `Device API Reference <_static/api/_nv_flex_device_8h.html>`_\n\nSupported Platforms\n-------------------\n\n* Windows 32/64 bit\n* Linux 64 bit (tested with Ubuntu 16.04 LTS)\n\nRequirements\n------------\n\nA D3D11 capable graphics card with the following driver versions:\n\n* NVIDIA: GeForce Game Ready Driver 372.90 or above\n* AMD: Radeon Software Version 16.9.1 or above\n\nTo build the demo at least one of the following is required:\n\n* Microsoft Visual Studio 2013\n* Microsoft Visual Studio 2015\n* g++ 4.6.3 or higher\n* CUDA 8.0.44 toolkit\n* DirectX 11/12 SDK\n\n"
  },
  {
    "path": "doc/_sources/manual.txt",
    "content": ".. _Manual:\n\nManual\n^^^^^^\n.. _Intro:\n\n.. highlight:: cpp\n\n.. raw:: html\n   :file: rest.css\n\nIntroduction\n############\n\nFlex is a particle-based simulation library that is broadly based on Position-Based Dynamics [1], and the Unified Particle Physics for Real-Time Applications SIGGRAPH paper [2]. \n\nThe core idea of Flex is that *everything is a system of particles connected by constraints*. The benefit of having a unified representation is that it allows efficient modeling of many different materials, and allows interaction between elements of different types, for example, two-way coupling between rigid bodies and fluids.\n\nFlex's strength lies in enabling interesting secondary effects that enhance the visual experience. It is not designed to build gameplay affecting physics, for example it lacks functionality such as trigger events, contact callbacks, ray-casting, serialization, etc. Although it is possible to build these capabilities on top of the core solver, they don't come in the box. For this reason it is recommended to use Flex in conjunction with a traditional rigid-body physics engine, such as PhysX.\n\nThe rest of this guide describes the standalone Flex SDK. It discusses some of the common applications, limitations, performance best practices, and general recommendations when using Flex.\n\n.. _Design:\n\nLibrary Design\n##############\n\nThe library is broken into two parts, the core solver (**NvFlex.h**), which essentially operates on flat arrays of particles and constraints, and an extensions library (**NvFlexExt.h**), which provides some basic object/asset management to ease integration with typical work flows. The core solver is currently closed source, while the extensions library and demo application are shipped with full source.\n\nThe core solver API is written in C-style, and can be considered a low-level wrapper around the solver internals. In contrast to traditional physics APIs, where operations are carried out on one rigid body or constraint at a time, in Flex, all particles and constraints are sent to the solver in one shot, as flat-arrays. This allows Flex to be efficient when dealing with large numbers of constraints and particles, although it means performing incremental updates can be slower.\n\nFlex uses a structure-of-arrays (SOA) data layout for efficiency during simulation. To avoid additional copy overhead the API requires data to be provided in this SOA format.\n\n.. _Quick:\n\nQuick Start\n***********\n\nThe example code below shows how to initialize the library, create a new solver (similar to a scene in PhysX), and how to tick the solver::\n\n\tNvFlexLibrary* library = NvFlexInit();\n\n\t// create new solver\n\tNvFlexSolverDesc solverDesc; \n\tNvFlexSetSolverDescDefaults(&solverDesc);\t\n\tsolverDesc.maxParticles = n;\n\tsolverDesc.maxDiffuseParticles = 0;\n\n\tNvFlexSolver* solver = NvFlexCreateSolver(library, &solverDesc);\n\n\tNvFlexBuffer* particleBuffer = NvFlexAllocBuffer(library, n, sizeof(float4), eNvFlexBufferHost);\n\tNvFlexBuffer* velocityBuffer = NvFlexAllocBuffer(library, n, sizeof(float4), eNvFlexBufferHost);\n\tNvFlexBuffer* phaseBuffer = NvFlexAllocBuffer(library, n, sizeof(int), eNvFlexBufferHost);\n    \n    int numParticles = 0;\n\n\twhile(!done)\n\t{\n\t\t// map buffers for reading / writing\n\t\tfloat4* particles = (float4*)NvFlexMap(particleBuffer, eNvFlexMapWait);\n\t\tfloat3* velocities  = (float3*)NvFlexMap(velocityBuffer, eNvFlexMapWait);\n\t\tint* phases = (int*)NvFlexMap(phaseBuffer, eNvFlexMapWait);\n\n\t\t// spawn (user method)\n\t\tnumParticles = SpawnParticles(particles, velocities, phases, numParticles);\n\n\t\t// render (user method)\n\t\tRenderParticles(particles, velocities, phases, numParticles);\n\n\t\t// unmap buffers\n\t\tNvFlexUnmap(particleBuffer);\n\t\tNvFlexUnmap(velocityBuffer);\n\t\tNvFlexUnmap(phaseBuffer);\n\n\t\t// write to device (async)\n\t\tNvFlexSetParticles(solver, particleBuffer, NULL);\n\t\tNvFlexSetVelocities(solver, velocityBuffer, NULL);\n\t\tNvFlexSetPhases(solver, phaseBuffer, NULL);\n    \n        // set active count\n        NvFlexSetActiveCount(solver, numParticles);\n\n\t\t// tick\n\t\tNvFlexUpdateSolver(solver, dt, 1, false);\n\n\t\t// read back (async)\n\t\tNvFlexGetParticles(solver, particleBuffer, NULL);\n\t\tNvFlexGetVelocities(solver, velocityBuffer, NULL);\n\t\tNvFlexGetPhases(solver, phaseBuffer, NULL);\n\t}\n\n\tNvFlexFreeBuffer(particleBuffer);\n\tNvFlexFreeBuffer(velocityBuffer);\n\tNvFlexFreeBuffer(phaseBuffer);\n\n\tNvFlexDestroySolver(solver);\n\tNvFlexShutdown(library);\n\n\nAlthough Flex allows you to combine effects in one solver it often makes sense to create a separate one for each type of effect. For example, if you have a scene with clothing and fluids, but they don't need to interact, you may have one solver for each. This approach provides more flexibility when setting parameters.\n\n.. _Buffers:\n\nBuffers\n#########\n\nSince Flex 1.1 all data passed to and from Flex must be through a FlexBuffer. This is a simple memory abstraction that allows Flex to support both DirectX, CUDA, and other GPU platforms. To create a buffer use the the NvlexAllocBuffer() method as follows::\n\n\tNvFlexBuffer* particles = NvFlexAllocBuffer(library, n, sizeof(Vec4), eNvFlexBufferHost);\n\nBuffers must have both their element count and stride set appropriately for the method they are passed to, e.g.: for **NvFlexSetParticles()**, the method expects a buffer with a stride of sizeof(float)*4.\n\nTo send data to Flex you must first map a buffer for reading/writing by calling **NvFlexMap()**, this will return a pointer to the contents of the buffer which can then be accessed by the CPU code, for example to spawn or update particle data. When the CPU has finished writing to the buffer, it must first unmap the buffer by calling **NvFlexUnmap()**, and then update the solver by calling a **NvFlexSet*()** method, e.g.: **NvFlexSetParticles()**. By calling **NvFlexUnmap()**, Flex knows the CPU will no longer be accessing the buffer, and it can safely send the new data to the GPU asynchronously.\n\nTo retrieve data from Flex you must instruct it to populate a buffer object. For example, to retrieve particle positions you would first call a **NvFlexGet*()** method, e.g.: **NvFlexGetParticles()**, and then map it for reading. When you call **NvFlexMap()** on a buffer with the eNvFlexMapWait flag Flex will block the calling thread until any outstanding transfers have completed. This ensures that you always see the most up to date data.\n\t\nWhy do we use buffers at all? First, they provide an abstraction around graphics APIs that don't have direct access to raw GPU memory. Second, they allow Flex to ensure transfers are always completed asynchronously and as efficiently as possible.\n\n\n.. _Particles:\n\nParticles\n#########\n\nParticles are the fundamental building-block in Flex. For each particle the basic dynamic quantities of position, velocity, and inverse mass are stored. The inverse mass is stored alongside the position, in the format [x, y, z, 1/m]. In addition to these properties, Flex also stores a per-particle *phase* value, which controls the particle behavior (see the Phase_ section for more information). Below is a simple example showing the layout for particle data, and how to set it onto the API.::\n\n\tNvFlexBuffer* particleBuffer = NvFlexAllocBuffer(library, n, sizeof(Vec4), eNvFlexBufferHost);\n\tNvFlexBuffer* velocityBuffer = NvFlexAllocBuffer(library, n, sizeof(Vec4), eNvFlexBufferHost);\n\tNvFlexBuffer* phaseBuffer = NvFlexAllocBuffer(library, n, sizeof(int), eNvFlexBufferHost);\n\n\t// map buffers for reading / writing\n\tfloat4* particles = (float4*)NvFlexMap(particlesBuffer, eNvFlexMapWait);\n\tfloat3* velocities = (float3*)NvFlexMap(velocityBuffer, eNvFlexMapWait);\n\tint* phases = (int*)NvFlexMap(phaseBuffer, eFlexMapWait);\n\n\t// spawn particles\n\tfor (int i=0; i < n; ++i)\n\t{\n\t\tparticles[i] = RandomSpawnPosition();\n\t\tvelocities[i] = RandomSpawnVelocity();\n\t\tphases[i] = NvFlexMakePhase(0, eNvFlexPhaseSelfCollide);\n\t}\n\t\n\t// unmap buffers\n\tNvFlexUnmap(particleBuffer);\n\tNvFlexUnmap(velocityBuffer);\n\tNvFlexUnmap(phaseBuffer);\n\n\t// write to device (async)\n\tNvFlexSetParticles(solver, particleBuffer, NULL);\n\tNvFlexSetVelocities(solver, velocityBuffer, NULL);\n\tNvFlexSetPhases(solver, phaseBuffer, NULL);\t\n\n.. _Radius:\n\t\nRadius\n*******\nAll particles in Flex share the same radius, and its value has a large impact on simulation behavior and performance. The main particle radius is set via **NvFlexParams::radius**, which is the \"interaction radius\". Particles closer than this distance will be able to affect each other. How exactly they affect each other depends on the other parameters that are set, but this is the master control that sets the upper limit on the particle interaction distance.\n\nParticles can interact as either fluids or solids, the **NvFlexParams::solidRestDistance** and **NvFlexParams::fluidRestDistance** parameters control the distance particles attempt to maintain from each other, they must both be less than or equal to the radius parameter.\n\n.. _Phase:\n\nPhase\n*****\n\nEach particle in Flex has an associated *phase*, this is a 32 bit integer that controls the behavior of the particle in the simulation. A phase value consists of a group identifier, and particle flags, as described below:\n\n* **eNvFlexPhaseGroupMask** - The particle group is an arbitrary positive integer, stored in the lower 24 bits of the particle phase. Groups can be used to organize related particles and to control collisions between them. The collision rules for groups are as follows: particles of different groups will always collide with each other, but by default particles within the same group will not collide. This is useful, for example, if you have a rigid body made up of many particles and do not want the internal particles of the body to collide with each other. In this case all particles belonging to the rigid would have the same group value.\n* **eFlexPhaseSelfCollide** - To enable particles of the same group to collide with each other this flag should be specified on the particle phase. For example, for a piece of cloth that deforms and needs to collide with itself, each particle in the cloth could have the same group and have this flag specified.\n* **eNvFlexPhaseFluid** - When this flag is set the particle will also generate fluid density constraints, cohesion, and surface tension effects with other fluid particles. Note that generally fluids should have both the fluid and self-collide flag set, otherwise they will only interact with particles of other groups.\n\nThe API comes with a helper function, **NvFlexMakePhase()**, that generates phase values given a group and flag set. The example below shows how to set up phases for the most common cases::\n\n\t// create a fluid phase that self collides and generates density constraints\n\tint fluidPhase = NvFlexMakePhase(0, eNvFlexPhaseSelfCollide | eNvFlexPhaseFluid);\n\t\n\t// create a rigid phase that collides against other groups, but does not self-collide\n\tint rigidPhase = NvFlexMakePhase(1, 0);\n\t\n\t// create a cloth phase that collides against other groups and itself\n\tint clothPhase = NvFlexMakePhase(2, eNvFlexPhaseSelfCollide);\n\n.. _Active:\n\t\nActive Set\n**********\n\nEach solver has a fixed maximum number of particles specified at creation time (see **NvFlexCreateSolver()**), but not all particles need to be active at one time. Before a particle will be simulated, it must be added to the *active set*. This is an array of unique particle indices that the solver will simulate. Inactive particles have very low computational overhead, so this mechanism can be used to implement more general particle allocation strategies on top of the solver. By default the active indices array is initialized with successive numbers from 0 to maxParticles-1, so by just setting the active count value to N user can make the firts N particles active.\n\nThe example code below shows how to create an active set which enables simulation on the first 10 particles in the solver::\n\n\tNvFlexBuffer* activeBuffer = NvFlexAllocBuffer(library, n, sizeof(int), eNvFlexBufferHost);\n\tint* activeIndices = (int*)NvFlexMap(activeBuffer, eNvFlexMapWait);\n\t\n\tfor (int i=0; i < 10; ++i)\n \t\tactiveIndices[i] = i;\n\n \tNvFlexUnmap(activeBuffer);\n\n\tNvFlexSetActive(solver, activeBuffer, NULL)\n\tNvFlexSetActiveCount(solver, 10);\n\n**Note:** constraints referencing inactive particles may behave unexpectedly.\n\n.. _Constraints:\n\nConstraints\n###########\n\nConstraints in Flex are what make particles behave in interesting ways. This section describes the basic constraint types, and discusses how they can be used to model common materials.\n\n.. _Fluids:\n\nFluids\n******\n\n.. figure:: images/sticky_fluids.png \n   :align: center\n   :width: 100%\n\n   Fluids adhering to a wall\n\nFluids in Flex are based on Position Based Fluids (PBF) [3]. This method uses position-based density constraints to achieve lower compression and better stability than traditional Smoothed Particle Hydrodynamics (SPH) methods.\n\nThe behavior of the fluid depends on the ratio between **NvFlexParams::radius** and the **NvFlexParams::fluidRestDistance**, a good rule of thumb is that the ratio should be about 2:1, e.g.: a radius of 10cm, and a rest distance of 5cm. When the radius is large compared to the rest distance the fluid is said to have a larger *smoothing distance*. Larger smoothing distances generally provide a more accurate simulation, but also tend to be more expensive because particles interact with many more neighbors. If the rest-distance is close to the radius, e.g.: a radius of 10cm, and a rest distance of 9cm, then the fluid will appear more like a granular material than a fluid, but will be cheaper to simulate because there is less overlap between neighbors.\n\nFlex automatically calculates the fluid rest-density from the rest-distance and radius. When seeding fluid particles, the user should just take care to ensure particles are approximately at the rest-distance. In addition to the basic fluid density solve the following fluid behaviors are supported:\n\n* **Cohesion** - Cohesion acts between fluid particles to bring them towards the rest-distance, while the density constraint only acts to push particles apart, cohesion can also pull them together. This creates gooey effects that cause long strands of fluids to form.\n* **Surface Tension** - Surface tension acts to minimize the surface area of a fluid. It can generate convincing droplets that split and merge, but is somewhat expensive computationally. Surface tension effects are mostly visible at small scales, so often surface tension is not required unless you have a high-resolution simulation.\n* **Vorticity Confinement** - Numerical damping can cause fluids to come to rest unrealistically quickly, especially when using low-resolution simulations. Vorticity confinement works by injecting back some rotational motion to the fluid. It is mostly useful for pools, or larger bodies of water.\n* **Adhesion** - Adhesion affects how particles stick to solid surfaces, when enabled particles will stick to, and slide down surfaces. Note that adhesion will affect both fluid and solid particles.\n\nAlthough Flex does not perform any rendering itself, it can generate information to support high-quality surface rendering based on ellipsoid splatting and screen-space surface reconstruction. If **NvFlexParams::smoothing** is > 0, then Flex will calculate the Laplacian smoothed fluid particle positions that can be accessed through **NvFlexGetSmoothParticles()**. If, **NvFlexParams::anisotropyScale** is > 0, then Flex will also calculate the anisotropy vectors for each fluid particle according to the distribution of it's neighbors, these can be accessed through **NvFlexGetAnisotropy()**. See [4] for more information on the anisotropy calculation, and refer to the demo application for example OpenGL fluid rendering code.\n\n.. _Springs:\n\nSprings\n*******\n\nSprings in Flex are specified as pairs of particle indices, a rest-length, and a stiffness coefficient. They are not a spring in the classical sense, but rather a distance constraint with a user-specified stiffness. The index pairs should appear consecutively, for example the following example code sets up a chain of particles with each edge 1 unit long, with a stiffness coefficient of 0.5::\n\n\tconst int springIndices[] = { 0, 1, 1, 2, 2, 3 }\n\tconst float springLengths[] = { 1.0f, 1.0f, 1.0f }\n\tconst float springCoefficients[] { 0.5f, 0.5f, 0.5f }\n\n\tNvFlexBuffer indicesBuffer = NvFlexAllocBuffer(library, 6, sizeof(int), eNvFlexBufferHost);\n\tNvFlexBuffer lengthsBuffer = NvFlexAllocBuffer(library, 3, sizeof(float), eNvFlexBufferHost);\n\tNvFlexBuffer coefficientsBuffer = NvFlexAllocBuffer(library, 3, sizeof(float), eNvFlexBufferHost);\n\n\tmemcpy(NvFlexMap(indicesBuffer, eNvFlexMapWait), springIndices, sizeof(springIndices));\n\tmemcpy(NvFlexMap(lengthsBuffer, eNvFlexMapWait), springLengths, sizeof(springLengths));\n\tmemcpy(NvFlexMap(coefficientsBuffer, eNvFlexMapWait), springCoefficients, sizeof(springCoefficients));\n\n\tNvFlexUnmap(indicesBuffer);\n\tNvFlexUnmap(lengthsBuffer);\n\tNvFlexUnmap(coefficientsBuffer);\n\n\tNvFlexSetSprings(solver, indicesBuffer, lengthsBuffer, coefficientsBuffer, 3);\t\n\nDistance constraints are incredibly versatile, and relatively cheap to solve. When combined with dynamic topology changes they can model interesting effects such as tearing, merging.\n\n.. _Cloth:\n\nCloth\n*****\n\nClothing in Flex is modeled using networks of springs. The cloth model is up to the user, but the extensions library provides an example \ncloth cooker (**NvFlexExtCreateClothFromMesh()**) that implements a common approach where the 1-ring neighbors are used to control stretch, and 2-ring neighbors are used to control bending.\n\n.. figure:: images/flag.png\n   :align: center\n   :width: 100%\n\n   Cloth Flag\n   \nIn addition to the basic cloth behavior governed by the distance constraints, there are some cloth specific features in Flex. By specifying\nthe underlying triangle topology using **NvFlexSetDynamicTriangles()**, additional forces can be computed to generate more complex effects. Specifically:\n\n* **Lift and drag** - Triangles will generate drag forces and lift forces proportional to area and orientation. This can generate interesting fluttering motion on pieces of cloth, typically drag forces should be set higher than lift.\n* **Wind** - In addition to gravity, a global acceleration vector is provided to model basic wind. If the drag parameter is non-zero then triangles will receive forces according  to the wind vector's direction and magnitude.\n* **Smooth normals** - When triangle topology is set, Flex will also generate smoothed vertex normals based on the current particle positions, these can be retrieved through **NvFlexGetNormals()** for rendering.\n\n**Note:** because all collisions in Flex are performed at the particle level, the cloth mesh must be sufficiently well tessellated to avoid particle tunneling. Care must especially be taken for clothing with self-collision, the cloth mesh should be authored so that the mesh has a uniform edge length close to the solid particle rest distance. If self-collision is enabled, and particles are closer than this in the mesh then erroneous buckling or folding might occur as the distance and collision constraints fight each other.\n\n.. _Inflatable:\n\nInflatables\n***********\n\n.. figure:: images/inflatables.png\n   :align: center\n   :width: 100%\n\nInflatable bodies can be seen as an extension of a cloth model. An inflatable can be constructed by starting with a closed triangle mesh and adding a volume constraint to the solver. To set up an inflatable object Flex needs a closed, 2-manifold mesh to be specified using **NvFlexSetDynamicTriangles()**. An inflatable is then defined by a start and end range in the triangles array using **NvFlexSetInflatables()**. Each inflatable has an 'overpressure' parameter that controls how inflated it is relative to it's rest volume.\n\nAlthough Flex does not currently expose tetrahedral constraints, they can be simulated in a limited fashion by creating distance constraints along the tetrahedral mesh edges. \n\n.. _Rigid:\n\nRigid Bodies\n************\n\nRigid bodies in Flex are modeled quite differently from traditional rigid body solvers. In Flex, each rigid body consists of a collection of particles, and a shape matching constraint that holds them in a rigid configuration. By using particles to represent rigid bodies, Flex can use the same collision pipeline as for fluids, clothing, etc. Also, the shape-matching allows us to have semi-rigid, or deformable bodies, by setting a stiffness parameter per-body.\n\n.. figure:: images/blocks.png\n   :align: center\n   :width: 100%\n\n   Block Pile\n\nRigid bodies are specified by a set of rest-positions, relative to the body center of mass, through **NvFlexSetRigids()**. The extensions library provides an example function (**NvFlexExtCreateRigidFromMesh()**) that shows how particles can be placed to represent a triangle mesh. During simulation collisions are handled for each particle individually, so that after a collision, the particles are typically no-longer in their rigid configuration. In order to restore rigidity, the least squares best rigid transform is found to match the deformed particle positions back to the rigid shape. Unlike a traditional rigid body solver the linear or angular velocity of the body are not explicitly tracked, these quantities are simply derived from the particles referenced.\n\nThere are some limitations with this particle based approach. When the time-step is too large the particles can tunnel through each other and become interlocked. Flex allows you to specify a normal and distance value per-particle to help avoid this, see the paper [2] for more details. Another limitation of shape-matching is that the stiffness of the rigid body is affected by how many particles make it up. Bodies made of many particles can require many iterations to converge, and appear 'squishy'. Because of this, it is generally recommended to use Flex for smaller rigid bodies, and use a traditional rigid body solver for larger bodies. A good rule of thumb is to keep the effective particle resolution under 64^3 per-body.\n\nThe table below summarizes the strengths and weaknesses of Flex rigid bodies and suggests some suitable applications:\n\n.. list-table:: \n   :header-rows: 1\n\n   * - Strength\n     - Examples\n   * - Environmental debris\n     - Bullet shrapnel, rocks, cans\n   * - Unstructured piling \n     - Piles of trash\n   * - Non-convex shapes\n     - Irregular stones, bones, bananas\n   * - Two-way interaction\n     - Parachuting bunnies\n\n.. list-table::    \n   :header-rows: 1\n\n   * - Weakness\n     - Examples\n   * - Thin or sharp objects\n     - Floor tiles, glass shards\n   * - Structured stacking\n     - Brickwork, arches\n   * - Large relative sizes\n     - Large scale destruction\n   * - Collision filtering\n     - Character controller\n\t  \n\nThe particles in a rigid body can be affected by other constraints in Flex, some example applications of this generality are:\n\n* Adding a rigid constraint to a piece of clothing to generate stiff bending resistance even at low-iteration counts\n* Adding a rigid constraint to a fluid and animating the rigid stiffness to simulate melting or phase changes\n* Connecting rigid bodies to clothing through distance constraints, e.g.: cloth hanging from the sides of a rigid body\n\n.. _Soft:\n \nSoft Bodies\n***********\n\n.. figure:: images/flex_soft_body.jpg\n   :align: center\n   :width: 100%\n\nSoft bodies can be modelled by using 'clusters' of shape-matching constraints. Because each shape-matching constraint's output is a rotation and translation, it can be useful to think of them similar to bones in a traditional skeletal deformation system. \n\nEach paticle may belong to multiple clusters (shape-matching constraint), by overlapping clusters and averaging their output the system can deform realistically. The more shape-matching constraints used in body the more degrees of freedom it has. If a body has only one shape-matching constraint then it is treated essentially as a rigid body.\n\nThe Flex extensions library contains an example cooker for creating soft bodies, see **NvFlexExtCreateSoftFromMesh()**. It works by first voxelizing the mesh into particles, then grouping particles into overlapping clusters. Because shape matching consraints act to resist bending and torsion in the model the cooker may optionally include regular distance constraints, or 'links' between neighboring particles. By setting the stiffness separately for links and clusters bending and stretching can be controlled separately.\n\n.. _Solver:\n\nSolver\n######\n\n.. _Stepping:\n\nTime Stepping\n*************\n\nFlex supports sub-stepping through the **NvFlexUpdateSolver()** *substeps* parameter. There is a trade-off between increasing the number of iterations and increasing the number of substeps. Collision detection is performed once per-substep, which means increasing substeps is more expensive than adding iterations, but it is often the only way to improve the accuracy of collision detection when using small particles. Each substep performs **NvFlexParams::numIterations** solve passes over the constraints, so substepping will also make constraints appear stiffer.\n\nFor best results the solver should be ticked with fixed time-steps. If the application runs with a variable frame rate, then the application should divide each frame's delta time into fixed size chunks and set the sub-step parameter accordingly. Variable time stepping is supported, but will often result in 'wiggle' or 'jittering', as the amount of constraint error is usually related to the time-step size.\n\n**Note:** many constraint types allow the user to specify a stiffness value, but the overall stiffness of the simulation is dependent on the number of solver iterations, the time-step, and the number of sub-steps.\n\n.. _Relaxation:\n\nRelaxation\n**********\n\nTypically the constraint solve is the most time-consuming aspect of the simulation, so Flex has some parameters to fine-tune the convergence speed. The solver has two primary modes of operation, *local*, and *global*, as described below:\n\n* **eNvFlexRelaxationLocal** - In this mode a local averaging is performed per-particle. The sum of all constraints affecting a particle is averaged before updating the position and velocity. This method is very robust and will generally converge even in difficult circumstances, for example when competing or redundant constraints are present. However it tends to converge quite slowly, and requires many iterations to appear stiff. To improve convergence in this mode **NvFlexParams::relaxationFactor** can be set to a value > 1.0, this is called *over relaxation*, values much larger than 1.0 will occasionally cause the simulation to blow up so it should be set carefully.\n\n* **eNvFlexRelaxationGlobal** - In this mode the effect of constraints is weighted by a global factor, no averaging is performed. This mode tends to converge faster than the local mode, but may cause divergence in difficult cases. In this mode the relaxation factor, **relaxationFactor**, should be set to a value < 1.0, e.g.: 0.25-0.5 to ensure convergence.\n\n.. _Collision:\n\nCollision\n#########\n\nFlex supports static collision geometry in the form of spheres, capsules, planes, convex shapes, triangle meshes, and signed distance fields (SDF). Shape geometry is always specified in a local space, and then instanced into the scene with a translation and rotation. Flex uses a flat buffer of geometry types to allow it to efficiently treat each type::\n\n\tunion NvFlexCollisionGeometry\n\t{\n\t\tNvFlexSphereGeometry sphere;\n\t\tNvFlexCapsuleGeometry capsule;\n\t\tNvFlexBoxGeometry box;\n\t\tNvFlexConvexMeshGeometry convexMesh;\n\t\tNvFlexTriangleMeshGeometry triMesh;\n\t\tNvFlexSDFGeometry sdf;\n\t};\n\n\nThe collision geometry is specified as an array of geometry and world space transforms. Once an array of geometry structs and transforms has been filled out it is sent to Flex via the **NvFlexSetShapes()** method. This will build a broad-phase structure that allow for fast GPU queries against the shapes. The following example shows how to set up a sphere and a triangle mesh shape::\n\n\tNvFlexCollisionGeometry* geometry = (NvFlexCollisionGeometry*)NvFlexMap(geometryBuffer, 0);\n\tfloat4* positions = (float4*)NvFlexMap(positionsBuffer, 0);\n\tquat* rotations = (quat*)NvFlexMap(rotationsBuffer, 0);\n\tint* flags = (int*)NvFlexMap(flagsBuffer, 0);\n\n\t// add sphere\n\tflags[0] = NvFlexMakeShapeFlags(eNvFlexShapeSphere, false);\n\tgeometry[0].sphere.radius = radius;\n\tpositions[0] = float3(0.0f);\n\trotations[0] = quat(0.0f);\n\n\t// create a triangle mesh\n\tNvFlexTriangleMeshId mesh = NvFlexCreateTriangleMesh();\n\tNvFlexUpdateTriangleMesh(lib, mesh, vertices, indices, numVertices, numTriangles, NULL, NULL);\n\n\t// add triangle mesh instance\n\tflags[1] = NvFlexMakeShapeFlags(eNvFlexShapeTriangleMesh, false);\n\tgeometry[1].triMesh.mesh = mesh;\n\tgeometry[1].triMesh.scale[0] = 1.0f;\n\tgeometry[1].triMesh.scale[1] = 1.0f;\n\tgeometry[1].triMesh.scale[2] = 1.0f;\n\tpositions[1] = float3(0.0f, 100.0f, 0.0f);\n\trotations[1] = quat(0.0f);\n\n\t// unmap buffers\n\tNvFlexUnmap(geometryBuffer, 0);\n\tNvFlexUnmap(positionsBuffer, 0);\n\tNvFlexUnmap(rotationsBuffer, 0);\n\tNvFlexUnmap(flagsBuffer, 0);\n\n\t// send shapes to Flex\n\tNvFlexSetShapes(solver, geometry, positions, rotation, NULL, NULL, flags, 2);\n\nShapes may also have a previous translation and rotation specified which enables accurate frictional effects to be calculated. Each shape may also be marked as static or dynamic, which affects the priority that contacts are solved in, see the section on collision priorty;\n\n.. _Spheres:\n\nSpheres\n*******\n\nThe simplest shape, defined as follows::\n\n\tstruct NvFlexSphereGeometry\n\t{\n\t\tfloat radius;\n\t};\n\n.. _Capsules:\n\nCapsules\n********\n\nDefined as a radius and half-height along the local x-axis, with the center of the shape at middle of the capsule::\n\n\tstruct NvFlexCapsuleGeometry\n\t{\n\t\tfloat radius;\n\t\tfloat halfHeight;\n\t};\n\n\n.. _Triangles:\n\nTriangle Meshes\n***************\n\nIndexed triangle meshes can be created by calling the **NvFlexCreateTriangleMesh()** method. Once a mesh definition has been created it can be instanced into the scene using the following structure::\n\n\tstruct NvFlexTriangleMeshGeometry\n\t{\n\t\tfloat scale[3];            //!< The scale of the object from local space to world space\n\t\tFlexTriangleMeshId mesh;   //!< A triangle mesh pointer created by NvFlexCreateTriangleMesh()\n\t};\n\n\nCollision against triangle meshes is performed using CCD line-segment tests, using the particle velocity at the beginning of the frame. Triangle tests are performed as if one-sided with CCW front faces. Even though the initial test is a form of continuous collision detection, it is still possible for particles to tunnel if they are pushed through the triangle mesh by constraints during the constraint solve.\n\n**Note:** For triangle mesh collision to be robust, the **NvFlexParams::collisionDistance** should be set to a non-zero value, otherwise particles may initially collide and then 'slip' through the mesh due to numerical precision errors.\n\n.. _Convexes:\n\nConvex Meshes\n*************\n\nConvex polyhedrons are supported, and are represented by sets of half-spaces specified by the following plane struct::\n\n\tstruct NvFlexConvexMeshGeometry\n\t{\t\n\t\tfloat scale[3];\n\t\tNvFlexConvexMeshId mesh;\n\t};\n\nWhere the mesh is created through **NvFlexCreateConvexMesh()**.\n\n.. _SDFs:\n\nSigned Distance Fields\n**********************\n\nSigned distance fields (SDFs) can be specified as a dense voxel array of floating point data. SDFs are very cheap to collide against because they are stored as volume textures on the GPU and have an O(1) lookup cost. To create an SDF, first call **NvFlexCreateSDF()**, and then instance it into the scene by filling out the geometry struct::\n\n\tstruct NvFlexSDFGeometry\n\t{\n\t\tfloat scale;\t\t\t\t\t//!< Should be equivalent to the width of the SDF in world space. \n\t\tNvFlexDistanceFieldId field;\t//!< A signed distance field pointer created by NvFlexCreateSDF()\n\t};\n\nSDFs are defined in a right-handed coordinate system where the voxel corresponding to an index x,y,z is given by index = z*width*height + y*width + x. The origin of the shape is at the corner of the SDF with index 0,0,0.\n\nCurrently SDFs can only be square (cubic) volumes, the scale parameter should be set equal to the edge length of the shape AABB.\n\nFlex uses the convention that negative values represent the shape interior, with the distance value normalized between -1 to 1 according to the volume dimensions.\n\n.. _Planes:\n\nPlanes\n******\n\nIn addition to the convex meshes, there is also a convenient way to set infinite half-spaces to the solver through **NvFlexParams::planes**.\n\n.. _Margins:\n\nMargins\n*******\n\nFor most geometry, Flex uses discrete collision detection which is generally performed once per-substep. Performing collision detection only once per-substep is efficient, but means that collisions may be missed. When this happens, the particle may either tunnel through the shape, or be ejected back out on the next frame. This can sometimes appear as popping or jumping for no obvious reason. One way to ensure collisions are not missed is to increase the distance at which the contacts are generated. This is what the margin parameters\nare used for:\n\n* **NvFlexParams::particleCollisionMargin** - Increases the distance at which particle interactions are created\n* **NvFlexParams::shapeCollisionMargin** - Increases the distance at which contacts with static geometry are considered\n\n**Note:** increasing the collision margin will naturally generate more contacts, which can also be problematic. Internally Flex stores up to 6 contact planes\nper-particle, if this is exceeded then subsequent contacts will be dropped. Increasing the margin can also harm performance, be particularly\ncareful increasing the particle collision margin, as this can cause many particle neighbors to be unnecessarily considered. Generally the margins should only be\nincreased if you are having problems with collision, and always set as low as possible.\n\n**Note:** margins are added on top of the **NvFlexParams::radius** parameter.\n\n.. _Priority:\n\nPriority\n********\n\nThe order in which particle contacts with shapes are processed has a large impact on the behavior of the simulation. To avoid tunneling through thin shapes, and to prevent dynamic objects pushing particles through static shapes, Flex processes contacts with the following priority:\n\n1. Triangle meshes\n2. Static signed distance fields (SDFs)\n3. Static convex meshes\n4. Dynamic convex meshes\n\n.. _Diffuse:\n\nDiffuse Particles\n#################\n\n.. figure:: images/diffuse.png \n   :align: center\n   :width: 100%\n\n   Diffuse foam and spray particles\n\nThe spray and foam in Flex is made through the use of diffuse particles. These are secondary, *passive*, particles that can be used to add additional detail to an underlying\nsimulation. Diffuse particles can be created through the **NvFlexSetDiffuseParticles()** method, or created by the simulation itself. If **NvFlexParams::diffuseThreshold** is set, then colliding fluid particles generate a diffuse *potential* according to their kinetic energy and relative velocity. When this potential goes over the threshold a new diffuse particle will be spawned at a random location around that particle.\n\nWhen a diffuse particle is surrounded by fluid neighbors, it will interpolate their velocity and be advected forward through the flow. If a diffuse particle has less than **NvFlexParams::diffuseBallistic** neighboring particles, then it will be treated as a simple ballistic particle and move under gravity.\n\n**Note:** it is often useful to have the diffuse particles sorted back to front for rendering. The solver can optionally perform this sort by specifying the **NvFlexParams::diffuseSortAxis**, if this is zero then the particles will not be sorted for rendering.\n\n.. _Threading:\n\nThreading\n#########\n\nThe Flex core and extension APIs are not thread-safe, meaning only one thread should ever use the API at a time. Almost all Flex operations are performed asynchronously on the GPU. For example, when you call **NvFlexUpdateSolver()** Flex will launch a number of GPU kernels that will complete some time in the future. Likewise, when you ask Flex to get the updated data using one of the NvFlexGet*() methods, it is launching an asynchronous copy into the FlexBuffer provided. Control will return to the CPU while the transfer is still in progress.\n\nSynchronization occurs when you call **NvFlexMap()** on a simulation buffer. To avoid making the CPU wait a long time for the GPU to finish its work it is good practice to call **NvFlexMap()** as far away from the **NvFlexUpdateSolver()** and **NvFlexGet*()** as possible. This gives the GPU enough time to finish its work so that the new data is ready for when you call **NvFlexMap()**. The following snippet shows an example of this by performing the main game tick after the the read-back methods have been issued.::\n\n\n\twhile (!done)\n\t{\n        // map buffers for reading / writing (synchronizes with GPU)\n        float4* particles = (float4*)NvFlexMap(particleBuffer, eNvFlexMapWait);\n        float3* velocities  = (float3*)NvFlexMap(velocityBuffer, eNvFlexMapWait);\n        int* phases = (int*)NvFlexMap(phaseBuffer, eNvFlexMapWait);\n\n        // application CPU-side particle update\n        UpdateBuffers(particles, velocities, phases);\n\n        // unmap buffers\n        NvFlexUnmap(particleBuffer);\n        NvFlexUnmap(velocityBuffer);\n        NvFlexUnmap(phaseBuffer);\n\n        // write to device (async)\n        NvFlexSetParticles(solver, particleBuffer, NULL);\n        NvFlexSetVelocities(solver, velocityBuffer, NULL);\n        NvFlexSetPhases(solver, phaseBuffer, NULL);\n\n        // tick (async)\n        NvFlexUpdateSolver(solver, dt, 1, NULL);\n\n        // read back (async)\n        NvFlexGetParticles(solver, particleBuffer, NULL);\n        NvFlexGetVelocities(solver, velocityBuffer, NULL);\n        NvFlexGetPhases(solver, phaseBuffer, NULL);\n\n        // Perform CPU work here while update and transfer are in flight\n        TickGame()\n\t}\n\n\n**Note:** Flex can also transfer data directly to OpenGL or DirectX buffers directly through the CUDA-graphics interop mechanism, see the CUDA programming guide and Flex demo application for more details.\n\n.. _Profiling:\n\nProfiling\n#########\n\nBecause Flex executes most of its work asynchronously on the GPU, it is not recommended to measure execution times with CPU timers around API calls. GPU kernel timers can be retrieved by first passing *true* to the timers parameter of **NvFlexUpdateSolver()**, and then calling **NvFlexGetTimers()**. The returned **NvFlexTimers** structure has timers for each stage of the simulation, these timers can give a good idea of which parts of the update pipeline are the bottleneck. \n\n**Note:** Enabling timers can have a negative impact on overall performance (although individual timers will be accurate), it is recommended to use timers only when profiling.\n\n.. _Limitations:\n\nLimitations / Known Issues\n##########################\n\n* Position-Based Dynamics has a close relationship to traditional implicit time-stepping schemes. As such, it is quite dissipative and will quickly lose energy, often this is acceptable (and sometimes desirable), however external forcing functions (such as vorticity confinement) can be used to inject energy back to the simulation.\n\n* Flex is not deterministic. Although simulations with the same initial conditions are often reasonably consistent, they may diverge over time, and may differ between different GPU architectures and versions.\n\n* Restitution for rigid bodies may behave weaker than expected, this is generally problematic for shape-matched rigid bodies.\n\n* Particles can have a maximum of 6 contact planes per-step, if a particle overlaps more than 6 planes then contacts will be dropped.\n\n.. _Acknowledgements:\n\nAcknowledgments\n###############\n\n* The Flex demo application uses the imgui library from Mikko Mononen's Recast library, https://github.com/memononen/recastnavigation\n\n* The Flex demo application uses the stb_truetype.h font library from Sean Barrett, https://github.com/nothings/stb\n\n* The Flex demo application uses the SDL library, https://www.libsdl.org\n\n* The Flex solver uses NVIDIA's CUB library for parallel operations internally, http://nvlabs.github.io/cub/\n\n.. _References:\n\nReferences\n##########\n\n[1] Position Based Dynamics - Matthias Müller, Bruno Heidelberger, Marcus Hennix, John Ratcliff - J. Vis. Communications, 2007 - http://dl.acm.org/citation.cfm?id=1234575\n\n[2] Unified Particle Physics for Real-Time Applications - Miles Macklin, Matthias Müller, Nuttapong Chentanez, Tae-Yong Kim: Unified Particle Physics for Real-Time Applications, ACM Transactions on Graphics (SIGGRAPH 2014), 33(4), http://dl.acm.org/citation.cfm?id=2601152\n\n[3] Position Based Fluids - Miles Macklin, Matthias Müller: Position Based Fluids, ACM Transactions on Graphics (SIGGRAPH 2013), 32(4), http://dl.acm.org/citation.cfm?id=2461984\n\n[4] Reconstructing surfaces of particle-based fluids using anisotropic kernels - Jihun Yu and Greg Turk. 2013. ACM Trans. Graph. 32, 1, Article 5 (February 2013). http://dl.acm.org/citation.cfm?id=2421641\n\n\n"
  },
  {
    "path": "doc/_sources/releasenotes.txt",
    "content": ".. _releasenotes:\n\n============================================================================\nRelease Notes\n============================================================================\n\n.. include:: ../../release_notes.txt"
  },
  {
    "path": "doc/_static/api/_nv_flex_8h.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.9.1\"/>\n<title>FLEX: NvFlex.h File Reference</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n<link href=\"flex.css\" rel=\"stylesheet\" type=\"text/css\"/>\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectlogo\"><img alt=\"Logo\" src=\"nvidia.png\"/></td>\n  <td style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">FLEX\n   &#160;<span id=\"projectnumber\">1.2.0</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.9.1 -->\n<div id=\"nav-path\" class=\"navpath\">\n  <ul>\n<li class=\"navelem\"><a class=\"el\" href=\"dir_d44c64559bbebec7f509842c48db8b23.html\">include</a></li>  </ul>\n</div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"summary\">\n<a href=\"#nested-classes\">Data Structures</a> &#124;\n<a href=\"#typedef-members\">Typedefs</a> &#124;\n<a href=\"#enum-members\">Enumerations</a> &#124;\n<a href=\"#func-members\">Functions</a>  </div>\n  <div class=\"headertitle\">\n<div class=\"title\">NvFlex.h File Reference</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p><a href=\"_nv_flex_8h_source.html\">Go to the source code of this file.</a></p>\n<table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"nested-classes\"></a>\nData Structures</h2></td></tr>\n<tr class=\"memitem:struct_nv_flex_params\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">struct &#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#struct_nv_flex_params\">NvFlexParams</a></td></tr>\n<tr class=\"separator:struct_nv_flex_params\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:struct_nv_flex_timers\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">struct &#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#struct_nv_flex_timers\">NvFlexTimers</a></td></tr>\n<tr class=\"separator:struct_nv_flex_timers\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:struct_nv_flex_solver_callback_params\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">struct &#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#struct_nv_flex_solver_callback_params\">NvFlexSolverCallbackParams</a></td></tr>\n<tr class=\"separator:struct_nv_flex_solver_callback_params\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">struct &#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"struct_nv_flex_solver_callback.html\">NvFlexSolverCallback</a></td></tr>\n<tr class=\"separator:\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:struct_nv_flex_init_desc\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">struct &#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#struct_nv_flex_init_desc\">NvFlexInitDesc</a></td></tr>\n<tr class=\"separator:struct_nv_flex_init_desc\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:struct_nv_flex_solver_desc\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">struct &#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#struct_nv_flex_solver_desc\">NvFlexSolverDesc</a></td></tr>\n<tr class=\"separator:struct_nv_flex_solver_desc\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:struct_nv_flex_copy_desc\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">struct &#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#struct_nv_flex_copy_desc\">NvFlexCopyDesc</a></td></tr>\n<tr class=\"separator:struct_nv_flex_copy_desc\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:struct_nv_flex_sphere_geometry\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">struct &#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#struct_nv_flex_sphere_geometry\">NvFlexSphereGeometry</a></td></tr>\n<tr class=\"separator:struct_nv_flex_sphere_geometry\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:struct_nv_flex_capsule_geometry\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">struct &#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#struct_nv_flex_capsule_geometry\">NvFlexCapsuleGeometry</a></td></tr>\n<tr class=\"separator:struct_nv_flex_capsule_geometry\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:struct_nv_flex_box_geometry\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">struct &#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#struct_nv_flex_box_geometry\">NvFlexBoxGeometry</a></td></tr>\n<tr class=\"separator:struct_nv_flex_box_geometry\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:struct_nv_flex_convex_mesh_geometry\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">struct &#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#struct_nv_flex_convex_mesh_geometry\">NvFlexConvexMeshGeometry</a></td></tr>\n<tr class=\"separator:struct_nv_flex_convex_mesh_geometry\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:struct_nv_flex_triangle_mesh_geometry\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">struct &#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#struct_nv_flex_triangle_mesh_geometry\">NvFlexTriangleMeshGeometry</a></td></tr>\n<tr class=\"separator:struct_nv_flex_triangle_mesh_geometry\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:struct_nv_flex_s_d_f_geometry\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">struct &#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#struct_nv_flex_s_d_f_geometry\">NvFlexSDFGeometry</a></td></tr>\n<tr class=\"separator:struct_nv_flex_s_d_f_geometry\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:union_nv_flex_collision_geometry\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">union &#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#union_nv_flex_collision_geometry\">NvFlexCollisionGeometry</a></td></tr>\n<tr class=\"separator:union_nv_flex_collision_geometry\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:struct_nv_flex_detail_timer\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">struct &#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#struct_nv_flex_detail_timer\">NvFlexDetailTimer</a></td></tr>\n<tr class=\"separator:struct_nv_flex_detail_timer\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"typedef-members\"></a>\nTypedefs</h2></td></tr>\n<tr class=\"memitem:a3078976e98f370a9fbdb11db80f1f318\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">typedef struct <a class=\"el\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a>&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a></td></tr>\n<tr class=\"separator:a3078976e98f370a9fbdb11db80f1f318\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:afaeb57f4ee7e54b1ae1b912a465ed39e\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">typedef struct <a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a>&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a></td></tr>\n<tr class=\"separator:afaeb57f4ee7e54b1ae1b912a465ed39e\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a50a3933d3f7b77d0500c702b1fa9ba9a\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">typedef struct <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a></td></tr>\n<tr class=\"separator:a50a3933d3f7b77d0500c702b1fa9ba9a\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abe6f00c9b94debbf7c181082a14076d5\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">typedef void(*&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#abe6f00c9b94debbf7c181082a14076d5\">NvFlexErrorCallback</a>) (<a class=\"el\" href=\"_nv_flex_8h.html#ab4435b3857752360375fe52fc992cfca\">NvFlexErrorSeverity</a> type, const char *msg, const char *file, int line)</td></tr>\n<tr class=\"separator:abe6f00c9b94debbf7c181082a14076d5\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2aea4c3d772b4dbccb7dd9ba37c1bdc0\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">typedef unsigned int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#a2aea4c3d772b4dbccb7dd9ba37c1bdc0\">NvFlexTriangleMeshId</a></td></tr>\n<tr class=\"separator:a2aea4c3d772b4dbccb7dd9ba37c1bdc0\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a56e990c5bfbc89677988cbf2471c0ade\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">typedef unsigned int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#a56e990c5bfbc89677988cbf2471c0ade\">NvFlexDistanceFieldId</a></td></tr>\n<tr class=\"separator:a56e990c5bfbc89677988cbf2471c0ade\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7ab5aa68da7ca1f69211a900f1a1c586\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">typedef unsigned int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#a7ab5aa68da7ca1f69211a900f1a1c586\">NvFlexConvexMeshId</a></td></tr>\n<tr class=\"separator:a7ab5aa68da7ca1f69211a900f1a1c586\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"enum-members\"></a>\nEnumerations</h2></td></tr>\n<tr class=\"memitem:a6541b33eaca7b2323e73b30cea34d16c\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#a6541b33eaca7b2323e73b30cea34d16c\">NvFlexMapFlags</a> { <br />\n&#160;&#160;<a class=\"el\" href=\"_nv_flex_8h.html#a6541b33eaca7b2323e73b30cea34d16ca11adf517d180983daec217e761acc3d6\">eNvFlexMapWait</a> = 0, \n<br />\n&#160;&#160;<a class=\"el\" href=\"_nv_flex_8h.html#a6541b33eaca7b2323e73b30cea34d16ca1bd450ab65ccc06288fae95e23d5e6f1\">eNvFlexMapDoNotWait</a> = 1\n<br />\n }</td></tr>\n<tr class=\"separator:a6541b33eaca7b2323e73b30cea34d16c\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a169e4c126acf46bdebf76c36a44deca3\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#a169e4c126acf46bdebf76c36a44deca3\">NvFlexBufferType</a> { <br />\n&#160;&#160;<a class=\"el\" href=\"_nv_flex_8h.html#a169e4c126acf46bdebf76c36a44deca3aec63221ddc1b13eff4db55fbf6cd85f8\">eNvFlexBufferHost</a> = 0, \n<br />\n&#160;&#160;<a class=\"el\" href=\"_nv_flex_8h.html#a169e4c126acf46bdebf76c36a44deca3a103255fa795b55a7f430a41493002576\">eNvFlexBufferDevice</a> = 1\n<br />\n }</td></tr>\n<tr class=\"separator:a169e4c126acf46bdebf76c36a44deca3\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a46f5d35902f7da40628247175a174f3b\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#a46f5d35902f7da40628247175a174f3b\">NvFlexRelaxationMode</a> { <br />\n&#160;&#160;<a class=\"el\" href=\"_nv_flex_8h.html#a46f5d35902f7da40628247175a174f3ba33711a4b466d606d68dee43918f819db\">eNvFlexRelaxationGlobal</a> = 0, \n<br />\n&#160;&#160;<a class=\"el\" href=\"_nv_flex_8h.html#a46f5d35902f7da40628247175a174f3ba858afe9529e908c2bc8ce92da8943b7c\">eNvFlexRelaxationLocal</a> = 1\n<br />\n }</td></tr>\n<tr class=\"separator:a46f5d35902f7da40628247175a174f3b\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a5ad2a7745fcb4d4afd5b5f1bda074644\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644\">NvFlexPhase</a> { <br />\n&#160;&#160;<a class=\"el\" href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644ad108f6ebf28346813cfd3602d984bb32\">eNvFlexPhaseGroupMask</a> = 0x000fffff, \n<br />\n&#160;&#160;<a class=\"el\" href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a7b776084468bae4e3566484cf34d0154\">eNvFlexPhaseFlagsMask</a> = 0x00f00000, \n<br />\n&#160;&#160;<a class=\"el\" href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644ae4ea43366942f719f40e8526ad21a038\">eNvFlexPhaseShapeChannelMask</a> = 0x7f000000, \n<br />\n&#160;&#160;<a class=\"el\" href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a453a23cc8e9d2e6097b5be187f3c6977\">eNvFlexPhaseSelfCollide</a> = 1 &lt;&lt; 20, \n<br />\n&#160;&#160;<a class=\"el\" href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a76a62d3a5df428f18e01f8b37573a7b1\">eNvFlexPhaseSelfCollideFilter</a> = 1 &lt;&lt; 21, \n<br />\n&#160;&#160;<a class=\"el\" href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a1728772beb1746ace4c549b2ed8f1d74\">eNvFlexPhaseFluid</a> = 1 &lt;&lt; 22, \n<br />\n&#160;&#160;<a class=\"el\" href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a52ee05f3e425c336856277774bc9f69f\">eNvFlexPhaseUnused</a> = 1 &lt;&lt; 23, \n<br />\n&#160;&#160;<a class=\"el\" href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a66aa70953a97744621e2afa41d0e32d2\">eNvFlexPhaseShapeChannel0</a> = 1 &lt;&lt; 24, \n<br />\n&#160;&#160;<a class=\"el\" href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a1de4e956764950e501bcb8376a70f5a9\">eNvFlexPhaseShapeChannel1</a> = 1 &lt;&lt; 25, \n<br />\n&#160;&#160;<a class=\"el\" href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644aa3a4fd0d5930b31199334e500ac2d7c8\">eNvFlexPhaseShapeChannel2</a> = 1 &lt;&lt; 26, \n<br />\n&#160;&#160;<a class=\"el\" href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644ab4034dbf78d6045ee13278531ee21c2b\">eNvFlexPhaseShapeChannel3</a> = 1 &lt;&lt; 27, \n<br />\n&#160;&#160;<a class=\"el\" href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644af309316efb695be38a4e15986be21ef9\">eNvFlexPhaseShapeChannel4</a> = 1 &lt;&lt; 28, \n<br />\n&#160;&#160;<a class=\"el\" href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a92bbb75d47ea0058a9a89deb0abec67f\">eNvFlexPhaseShapeChannel5</a> = 1 &lt;&lt; 29, \n<br />\n&#160;&#160;<a class=\"el\" href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a0c8d08e646d2713e34d7e2dd6e7b21f2\">eNvFlexPhaseShapeChannel6</a> = 1 &lt;&lt; 30\n<br />\n }</td></tr>\n<tr class=\"separator:a5ad2a7745fcb4d4afd5b5f1bda074644\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab4435b3857752360375fe52fc992cfca\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#ab4435b3857752360375fe52fc992cfca\">NvFlexErrorSeverity</a> { <br />\n&#160;&#160;<a class=\"el\" href=\"_nv_flex_8h.html#ab4435b3857752360375fe52fc992cfcaa8aed6496f033604148138299fa075edd\">eNvFlexLogError</a> = 0, \n<br />\n&#160;&#160;<a class=\"el\" href=\"_nv_flex_8h.html#ab4435b3857752360375fe52fc992cfcaa03d239332ae87f46270855dd06b6e58f\">eNvFlexLogInfo</a> = 1, \n<br />\n&#160;&#160;<a class=\"el\" href=\"_nv_flex_8h.html#ab4435b3857752360375fe52fc992cfcaa5538835c4767004ba5fd443ada08ea61\">eNvFlexLogWarning</a> = 2, \n<br />\n&#160;&#160;<a class=\"el\" href=\"_nv_flex_8h.html#ab4435b3857752360375fe52fc992cfcaa77b51759e33d60b2caf327bb4835351e\">eNvFlexLogDebug</a> = 4, \n<br />\n&#160;&#160;<a class=\"el\" href=\"_nv_flex_8h.html#ab4435b3857752360375fe52fc992cfcaa8feff72c0b0391e8adf3ddb6c39ef10e\">eNvFlexLogAll</a> = -1\n<br />\n }</td></tr>\n<tr class=\"separator:ab4435b3857752360375fe52fc992cfca\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a4f80c8bcfa6de99a52983adb13d80db9\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9\">NvFlexSolverCallbackStage</a> { <br />\n&#160;&#160;<a class=\"el\" href=\"_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9a9f3914fdb03915a14ebe55a2c730e7ff\">eNvFlexStageIterationStart</a>, \n<br />\n&#160;&#160;<a class=\"el\" href=\"_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9ab75a912c3990b0fbd6b06a6741a20e69\">eNvFlexStageIterationEnd</a>, \n<br />\n&#160;&#160;<a class=\"el\" href=\"_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9a79ce9005dbc92198a1f180c6afde6a44\">eNvFlexStageSubstepBegin</a>, \n<br />\n&#160;&#160;<a class=\"el\" href=\"_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9a6f13e2ebdbf21f8c8ebcfe1ac9160586\">eNvFlexStageSubstepEnd</a>, \n<br />\n&#160;&#160;<a class=\"el\" href=\"_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9a260340ba9071892bd8795c3b29289806\">eNvFlexStageUpdateEnd</a>, \n<br />\n&#160;&#160;<a class=\"el\" href=\"_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9a1f2e7acff9b3b74922f90240d29fd1b3\">eNvFlexStageCount</a>\n<br />\n }</td></tr>\n<tr class=\"separator:a4f80c8bcfa6de99a52983adb13d80db9\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9b2d3dc5ac42011aeec4e13be2e14252\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#a9b2d3dc5ac42011aeec4e13be2e14252\">NvFlexComputeType</a> { <br />\n&#160;&#160;<a class=\"el\" href=\"_nv_flex_8h.html#a9b2d3dc5ac42011aeec4e13be2e14252ad0c27f7aafdc4fe569722025c8eb2178\">eNvFlexCUDA</a>, \n<br />\n&#160;&#160;<a class=\"el\" href=\"_nv_flex_8h.html#a9b2d3dc5ac42011aeec4e13be2e14252a297a93979a88fda6e6b551dcab5fb3df\">eNvFlexD3D11</a>, \n<br />\n&#160;&#160;<a class=\"el\" href=\"_nv_flex_8h.html#a9b2d3dc5ac42011aeec4e13be2e14252a15e78a7baf13cc7fd73f255ac84f0943\">eNvFlexD3D12</a>\n<br />\n }</td></tr>\n<tr class=\"separator:a9b2d3dc5ac42011aeec4e13be2e14252\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aee5c235d5fab40831cf339680aa25560\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#aee5c235d5fab40831cf339680aa25560\">NvFlexFeatureMode</a> { <br />\n&#160;&#160;<a class=\"el\" href=\"_nv_flex_8h.html#aee5c235d5fab40831cf339680aa25560a3ab06dc4cd4aa073ab0f2d96a56c499d\">eNvFlexFeatureModeDefault</a> = 0, \n<br />\n&#160;&#160;<a class=\"el\" href=\"_nv_flex_8h.html#aee5c235d5fab40831cf339680aa25560a421fe1e1bb00fc41e9b32208cd9155f5\">eNvFlexFeatureModeSimpleSolids</a> = 1, \n<br />\n&#160;&#160;<a class=\"el\" href=\"_nv_flex_8h.html#aee5c235d5fab40831cf339680aa25560aeab2b8a68b528d46e11b71ad0f4d83f2\">eNvFlexFeatureModeSimpleFluids</a> = 2\n<br />\n }</td></tr>\n<tr class=\"separator:aee5c235d5fab40831cf339680aa25560\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0506ae712f846087b8647ea389ac26ba\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26ba\">NvFlexCollisionShapeType</a> { <br />\n&#160;&#160;<a class=\"el\" href=\"_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26baae22144512ae098865c6725af16a68ad3\">eNvFlexShapeSphere</a> = 0, \n<br />\n&#160;&#160;<a class=\"el\" href=\"_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26baa1724c140b583fbf2c11c14a24dd3764a\">eNvFlexShapeCapsule</a> = 1, \n<br />\n&#160;&#160;<a class=\"el\" href=\"_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26baab17c8dd4f9500016b77a9b49de3c48e7\">eNvFlexShapeBox</a> = 2, \n<br />\n&#160;&#160;<a class=\"el\" href=\"_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26baaed52f0e803c6745ffc1a5f018a8756ce\">eNvFlexShapeConvexMesh</a> = 3, \n<br />\n&#160;&#160;<a class=\"el\" href=\"_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26baa315488da382a5e9794c83358385f7ae1\">eNvFlexShapeTriangleMesh</a> = 4, \n<br />\n&#160;&#160;<a class=\"el\" href=\"_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26baa1fd78f8694b954f8d12fe7d911f17180\">eNvFlexShapeSDF</a> = 5\n<br />\n }</td></tr>\n<tr class=\"separator:a0506ae712f846087b8647ea389ac26ba\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a31c31ea4f96cd4fdadc6b7317691304c\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#a31c31ea4f96cd4fdadc6b7317691304c\">NvFlexCollisionShapeFlags</a> { <br />\n&#160;&#160;<a class=\"el\" href=\"_nv_flex_8h.html#a31c31ea4f96cd4fdadc6b7317691304cae8a10737948abf6973f0f1d66bae7ef8\">eNvFlexShapeFlagTypeMask</a> = 0x7, \n<br />\n&#160;&#160;<a class=\"el\" href=\"_nv_flex_8h.html#a31c31ea4f96cd4fdadc6b7317691304cadc6740cf6d829fba159d92e43ffb5992\">eNvFlexShapeFlagDynamic</a> = 0x8, \n<br />\n&#160;&#160;<a class=\"el\" href=\"_nv_flex_8h.html#a31c31ea4f96cd4fdadc6b7317691304ca409215fa9b917f2d0830a66bd11b3ff8\">eNvFlexShapeFlagTrigger</a> = 0x10, \n<br />\n&#160;&#160;<a class=\"el\" href=\"_nv_flex_8h.html#a31c31ea4f96cd4fdadc6b7317691304caa1c1225f6b8b2906c83748cfc46b81d9\">eNvFlexShapeFlagReserved</a> = 0xffffff00\n<br />\n }</td></tr>\n<tr class=\"separator:a31c31ea4f96cd4fdadc6b7317691304c\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"func-members\"></a>\nFunctions</h2></td></tr>\n<tr class=\"memitem:a615e8070212c24a70e7a849120c13353\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#a615e8070212c24a70e7a849120c13353\">NvFlexMakePhaseWithChannels</a> (int group, int particleFlags, int shapeChannels)</td></tr>\n<tr class=\"separator:a615e8070212c24a70e7a849120c13353\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab43db5f28808f8038cfc9330d4b47d57\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#ab43db5f28808f8038cfc9330d4b47d57\">NvFlexMakePhase</a> (int group, int particleFlags)</td></tr>\n<tr class=\"separator:ab43db5f28808f8038cfc9330d4b47d57\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a687e5ec141948f779faa9183b68cb743\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API <a class=\"el\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#a687e5ec141948f779faa9183b68cb743\">NvFlexInit</a> (int version=NV_FLEX_VERSION, <a class=\"el\" href=\"_nv_flex_8h.html#abe6f00c9b94debbf7c181082a14076d5\">NvFlexErrorCallback</a> errorFunc=0, <a class=\"el\" href=\"_nv_flex_8h.html#struct_nv_flex_init_desc\">NvFlexInitDesc</a> *desc=0)</td></tr>\n<tr class=\"separator:a687e5ec141948f779faa9183b68cb743\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aaf59e45ada57c7f958a8030099cbe211\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#aaf59e45ada57c7f958a8030099cbe211\">NvFlexShutdown</a> (<a class=\"el\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a> *lib)</td></tr>\n<tr class=\"separator:aaf59e45ada57c7f958a8030099cbe211\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac25ec5de38c177db51198bb620644d36\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#ac25ec5de38c177db51198bb620644d36\">NvFlexGetVersion</a> ()</td></tr>\n<tr class=\"separator:ac25ec5de38c177db51198bb620644d36\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a69a33d464c002a8916a5925c6ef32ae6\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#a69a33d464c002a8916a5925c6ef32ae6\">NvFlexSetSolverDescDefaults</a> (<a class=\"el\" href=\"_nv_flex_8h.html#struct_nv_flex_solver_desc\">NvFlexSolverDesc</a> *desc)</td></tr>\n<tr class=\"separator:a69a33d464c002a8916a5925c6ef32ae6\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a9e925acbc34675dfe247da017cbd855f\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API <a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#a9e925acbc34675dfe247da017cbd855f\">NvFlexCreateSolver</a> (<a class=\"el\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a> *lib, const <a class=\"el\" href=\"_nv_flex_8h.html#struct_nv_flex_solver_desc\">NvFlexSolverDesc</a> *desc)</td></tr>\n<tr class=\"separator:a9e925acbc34675dfe247da017cbd855f\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1d755d7b090f7ed5c4c50d2d3fef1558\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#a1d755d7b090f7ed5c4c50d2d3fef1558\">NvFlexDestroySolver</a> (<a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *solver)</td></tr>\n<tr class=\"separator:a1d755d7b090f7ed5c4c50d2d3fef1558\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad53909027df03c6a352746d8ddc088ef\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#ad53909027df03c6a352746d8ddc088ef\">NvFlexGetSolvers</a> (<a class=\"el\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a> *lib, <a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> **solvers, int n)</td></tr>\n<tr class=\"separator:ad53909027df03c6a352746d8ddc088ef\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ae0d57e4fc2b3b51ec08f7da0a28ff343\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API <a class=\"el\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#ae0d57e4fc2b3b51ec08f7da0a28ff343\">NvFlexGetSolverLibrary</a> (<a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *solver)</td></tr>\n<tr class=\"separator:ae0d57e4fc2b3b51ec08f7da0a28ff343\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:afd6aff58269d6c359df2453c96397840\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#afd6aff58269d6c359df2453c96397840\">NvFlexGetSolverDesc</a> (<a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *solver, <a class=\"el\" href=\"_nv_flex_8h.html#struct_nv_flex_solver_desc\">NvFlexSolverDesc</a> *desc)</td></tr>\n<tr class=\"separator:afd6aff58269d6c359df2453c96397840\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac5427457488ab3f2de91cf65335dda08\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API <a class=\"el\" href=\"struct_nv_flex_solver_callback.html\">NvFlexSolverCallback</a>&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#ac5427457488ab3f2de91cf65335dda08\">NvFlexRegisterSolverCallback</a> (<a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *solver, <a class=\"el\" href=\"struct_nv_flex_solver_callback.html\">NvFlexSolverCallback</a> function, <a class=\"el\" href=\"_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9\">NvFlexSolverCallbackStage</a> stage)</td></tr>\n<tr class=\"separator:ac5427457488ab3f2de91cf65335dda08\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac75370f005fd453fe8a324fe62be1b5c\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#ac75370f005fd453fe8a324fe62be1b5c\">NvFlexUpdateSolver</a> (<a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *solver, float dt, int substeps, bool enableTimers)</td></tr>\n<tr class=\"separator:ac75370f005fd453fe8a324fe62be1b5c\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ae2db6ad8006027c1acf2315a0d15fe71\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#ae2db6ad8006027c1acf2315a0d15fe71\">NvFlexSetParams</a> (<a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *solver, const <a class=\"el\" href=\"_nv_flex_8h.html#struct_nv_flex_params\">NvFlexParams</a> *params)</td></tr>\n<tr class=\"separator:ae2db6ad8006027c1acf2315a0d15fe71\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a581b458848039220203547af53de128f\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#a581b458848039220203547af53de128f\">NvFlexGetParams</a> (<a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *solver, <a class=\"el\" href=\"_nv_flex_8h.html#struct_nv_flex_params\">NvFlexParams</a> *params)</td></tr>\n<tr class=\"separator:a581b458848039220203547af53de128f\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:adc0c97635cdbb3da7b571574a3b38990\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#adc0c97635cdbb3da7b571574a3b38990\">NvFlexSetActive</a> (<a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *solver, <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *indices, const <a class=\"el\" href=\"_nv_flex_8h.html#struct_nv_flex_copy_desc\">NvFlexCopyDesc</a> *desc)</td></tr>\n<tr class=\"separator:adc0c97635cdbb3da7b571574a3b38990\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1bd4b70e0118abe18ca5fe85157299b6\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#a1bd4b70e0118abe18ca5fe85157299b6\">NvFlexGetActive</a> (<a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *solver, <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *indices, const <a class=\"el\" href=\"_nv_flex_8h.html#struct_nv_flex_copy_desc\">NvFlexCopyDesc</a> *desc)</td></tr>\n<tr class=\"separator:a1bd4b70e0118abe18ca5fe85157299b6\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a677dc591fe443ae058701966c52d1316\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#a677dc591fe443ae058701966c52d1316\">NvFlexSetActiveCount</a> (<a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *solver, int n)</td></tr>\n<tr class=\"separator:a677dc591fe443ae058701966c52d1316\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2345372dea2ad4f043153a84e7a2c407\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#a2345372dea2ad4f043153a84e7a2c407\">NvFlexGetActiveCount</a> (<a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *solver)</td></tr>\n<tr class=\"separator:a2345372dea2ad4f043153a84e7a2c407\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7ec5ebe3e98a44a2058d6be74b2cb633\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#a7ec5ebe3e98a44a2058d6be74b2cb633\">NvFlexSetParticles</a> (<a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *solver, <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *p, const <a class=\"el\" href=\"_nv_flex_8h.html#struct_nv_flex_copy_desc\">NvFlexCopyDesc</a> *desc)</td></tr>\n<tr class=\"separator:a7ec5ebe3e98a44a2058d6be74b2cb633\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aaff62cfd50431d82af5d04a6c9ac4ffd\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#aaff62cfd50431d82af5d04a6c9ac4ffd\">NvFlexGetParticles</a> (<a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *solver, <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *p, const <a class=\"el\" href=\"_nv_flex_8h.html#struct_nv_flex_copy_desc\">NvFlexCopyDesc</a> *desc)</td></tr>\n<tr class=\"separator:aaff62cfd50431d82af5d04a6c9ac4ffd\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a125cfd9817437bb4f4bcb9418efa3dda\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#a125cfd9817437bb4f4bcb9418efa3dda\">NvFlexSetRestParticles</a> (<a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *solver, <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *p, const <a class=\"el\" href=\"_nv_flex_8h.html#struct_nv_flex_copy_desc\">NvFlexCopyDesc</a> *desc)</td></tr>\n<tr class=\"separator:a125cfd9817437bb4f4bcb9418efa3dda\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aafc89f87307602fb9bfa8f6668122121\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#aafc89f87307602fb9bfa8f6668122121\">NvFlexGetRestParticles</a> (<a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *solver, <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *p, const <a class=\"el\" href=\"_nv_flex_8h.html#struct_nv_flex_copy_desc\">NvFlexCopyDesc</a> *desc)</td></tr>\n<tr class=\"separator:aafc89f87307602fb9bfa8f6668122121\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a96a771dd328d019e6164e5f23d29ffcb\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#a96a771dd328d019e6164e5f23d29ffcb\">NvFlexGetSmoothParticles</a> (<a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *solver, <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *p, const <a class=\"el\" href=\"_nv_flex_8h.html#struct_nv_flex_copy_desc\">NvFlexCopyDesc</a> *desc)</td></tr>\n<tr class=\"separator:a96a771dd328d019e6164e5f23d29ffcb\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ae2b271f123db0054512936f2acc6467f\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#ae2b271f123db0054512936f2acc6467f\">NvFlexSetVelocities</a> (<a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *solver, <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *v, const <a class=\"el\" href=\"_nv_flex_8h.html#struct_nv_flex_copy_desc\">NvFlexCopyDesc</a> *desc)</td></tr>\n<tr class=\"separator:ae2b271f123db0054512936f2acc6467f\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:afbcbff4e4865105514c194398ab3a7b0\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#afbcbff4e4865105514c194398ab3a7b0\">NvFlexGetVelocities</a> (<a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *solver, <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *v, const <a class=\"el\" href=\"_nv_flex_8h.html#struct_nv_flex_copy_desc\">NvFlexCopyDesc</a> *desc)</td></tr>\n<tr class=\"separator:afbcbff4e4865105514c194398ab3a7b0\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa1d44495e442f8cae874c635ef847478\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#aa1d44495e442f8cae874c635ef847478\">NvFlexSetPhases</a> (<a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *solver, <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *phases, const <a class=\"el\" href=\"_nv_flex_8h.html#struct_nv_flex_copy_desc\">NvFlexCopyDesc</a> *desc)</td></tr>\n<tr class=\"separator:aa1d44495e442f8cae874c635ef847478\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:accc944f0e76ee2e5d67c3f977b150806\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#accc944f0e76ee2e5d67c3f977b150806\">NvFlexGetPhases</a> (<a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *solver, <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *phases, const <a class=\"el\" href=\"_nv_flex_8h.html#struct_nv_flex_copy_desc\">NvFlexCopyDesc</a> *desc)</td></tr>\n<tr class=\"separator:accc944f0e76ee2e5d67c3f977b150806\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a32e8fdb39029a2564c129bd493c52058\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#a32e8fdb39029a2564c129bd493c52058\">NvFlexSetNormals</a> (<a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *solver, <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *normals, const <a class=\"el\" href=\"_nv_flex_8h.html#struct_nv_flex_copy_desc\">NvFlexCopyDesc</a> *desc)</td></tr>\n<tr class=\"separator:a32e8fdb39029a2564c129bd493c52058\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a73d87b460a34c52ff4b616e97a53ade7\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#a73d87b460a34c52ff4b616e97a53ade7\">NvFlexGetNormals</a> (<a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *solver, <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *normals, const <a class=\"el\" href=\"_nv_flex_8h.html#struct_nv_flex_copy_desc\">NvFlexCopyDesc</a> *desc)</td></tr>\n<tr class=\"separator:a73d87b460a34c52ff4b616e97a53ade7\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ae67c0cab2ecee8eb9485a26ef0fad6a9\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#ae67c0cab2ecee8eb9485a26ef0fad6a9\">NvFlexSetSprings</a> (<a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *solver, <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *indices, <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *restLengths, <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *stiffness, int numSprings)</td></tr>\n<tr class=\"separator:ae67c0cab2ecee8eb9485a26ef0fad6a9\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aab5f90f4024d71d08c3f9327c6d8c184\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#aab5f90f4024d71d08c3f9327c6d8c184\">NvFlexGetSprings</a> (<a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *solver, <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *indices, <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *restLengths, <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *stiffness, int numSprings)</td></tr>\n<tr class=\"separator:aab5f90f4024d71d08c3f9327c6d8c184\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa8b7bfeffb0fa7dc6dbd291fee87edc9\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#aa8b7bfeffb0fa7dc6dbd291fee87edc9\">NvFlexSetRigids</a> (<a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *solver, <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *offsets, <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *indices, <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *restPositions, <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *restNormals, <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *stiffness, <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *thresholds, <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *creeps, <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *rotations, <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *translations, int numRigids, int numIndices)</td></tr>\n<tr class=\"separator:aa8b7bfeffb0fa7dc6dbd291fee87edc9\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab5cc56e228374b1da0910356b3172b4e\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#ab5cc56e228374b1da0910356b3172b4e\">NvFlexGetRigids</a> (<a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *solver, <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *offsets, <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *indices, <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *restPositions, <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *restNormals, <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *stiffness, <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *thresholds, <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *creeps, <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *rotations, <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *translations)</td></tr>\n<tr class=\"separator:ab5cc56e228374b1da0910356b3172b4e\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:afdda5a5210938a1e8a7c3a8218ad468e\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API <a class=\"el\" href=\"_nv_flex_8h.html#a2aea4c3d772b4dbccb7dd9ba37c1bdc0\">NvFlexTriangleMeshId</a>&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#afdda5a5210938a1e8a7c3a8218ad468e\">NvFlexCreateTriangleMesh</a> (<a class=\"el\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a> *lib)</td></tr>\n<tr class=\"separator:afdda5a5210938a1e8a7c3a8218ad468e\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a4cb4462803ebff105d151fd45b4efad6\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#a4cb4462803ebff105d151fd45b4efad6\">NvFlexDestroyTriangleMesh</a> (<a class=\"el\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a> *lib, <a class=\"el\" href=\"_nv_flex_8h.html#a2aea4c3d772b4dbccb7dd9ba37c1bdc0\">NvFlexTriangleMeshId</a> mesh)</td></tr>\n<tr class=\"separator:a4cb4462803ebff105d151fd45b4efad6\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab1924ab797971290931b32258b847767\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#ab1924ab797971290931b32258b847767\">NvFlexGetTriangleMeshes</a> (<a class=\"el\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a> *lib, <a class=\"el\" href=\"_nv_flex_8h.html#a2aea4c3d772b4dbccb7dd9ba37c1bdc0\">NvFlexTriangleMeshId</a> *meshes, int n)</td></tr>\n<tr class=\"separator:ab1924ab797971290931b32258b847767\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a4958c555f0ed65dee54c37af32529356\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#a4958c555f0ed65dee54c37af32529356\">NvFlexUpdateTriangleMesh</a> (<a class=\"el\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a> *lib, <a class=\"el\" href=\"_nv_flex_8h.html#a2aea4c3d772b4dbccb7dd9ba37c1bdc0\">NvFlexTriangleMeshId</a> mesh, <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *vertices, <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *indices, int numVertices, int numTriangles, const float *lower, const float *upper)</td></tr>\n<tr class=\"separator:a4958c555f0ed65dee54c37af32529356\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a60794d849b4184335e2a0ddec0a9e6a2\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#a60794d849b4184335e2a0ddec0a9e6a2\">NvFlexGetTriangleMeshBounds</a> (<a class=\"el\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a> *lib, const <a class=\"el\" href=\"_nv_flex_8h.html#a2aea4c3d772b4dbccb7dd9ba37c1bdc0\">NvFlexTriangleMeshId</a> mesh, float *lower, float *upper)</td></tr>\n<tr class=\"separator:a60794d849b4184335e2a0ddec0a9e6a2\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a5c28caf6d5d513c5adacd4fbc782f308\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API <a class=\"el\" href=\"_nv_flex_8h.html#a56e990c5bfbc89677988cbf2471c0ade\">NvFlexDistanceFieldId</a>&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#a5c28caf6d5d513c5adacd4fbc782f308\">NvFlexCreateDistanceField</a> (<a class=\"el\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a> *lib)</td></tr>\n<tr class=\"separator:a5c28caf6d5d513c5adacd4fbc782f308\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab11bdd7f778d17af16cefea33265cb65\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#ab11bdd7f778d17af16cefea33265cb65\">NvFlexDestroyDistanceField</a> (<a class=\"el\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a> *lib, <a class=\"el\" href=\"_nv_flex_8h.html#a56e990c5bfbc89677988cbf2471c0ade\">NvFlexDistanceFieldId</a> sdf)</td></tr>\n<tr class=\"separator:ab11bdd7f778d17af16cefea33265cb65\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a554d54b930dad17e638ddd30c6dac46f\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#a554d54b930dad17e638ddd30c6dac46f\">NvFlexGetDistanceFields</a> (<a class=\"el\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a> *lib, <a class=\"el\" href=\"_nv_flex_8h.html#a56e990c5bfbc89677988cbf2471c0ade\">NvFlexDistanceFieldId</a> *sdfs, int n)</td></tr>\n<tr class=\"separator:a554d54b930dad17e638ddd30c6dac46f\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a584ffb275b9986fd5444ed1a7ea247d9\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#a584ffb275b9986fd5444ed1a7ea247d9\">NvFlexUpdateDistanceField</a> (<a class=\"el\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a> *lib, <a class=\"el\" href=\"_nv_flex_8h.html#a56e990c5bfbc89677988cbf2471c0ade\">NvFlexDistanceFieldId</a> sdf, int dimx, int dimy, int dimz, <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *field)</td></tr>\n<tr class=\"separator:a584ffb275b9986fd5444ed1a7ea247d9\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:afbaafe2b1006352002b03aabaca531cc\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API <a class=\"el\" href=\"_nv_flex_8h.html#a7ab5aa68da7ca1f69211a900f1a1c586\">NvFlexConvexMeshId</a>&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#afbaafe2b1006352002b03aabaca531cc\">NvFlexCreateConvexMesh</a> (<a class=\"el\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a> *lib)</td></tr>\n<tr class=\"separator:afbaafe2b1006352002b03aabaca531cc\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac85b6372e5c7bfc508ecb7b8c59c72a0\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#ac85b6372e5c7bfc508ecb7b8c59c72a0\">NvFlexDestroyConvexMesh</a> (<a class=\"el\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a> *lib, <a class=\"el\" href=\"_nv_flex_8h.html#a7ab5aa68da7ca1f69211a900f1a1c586\">NvFlexConvexMeshId</a> convex)</td></tr>\n<tr class=\"separator:ac85b6372e5c7bfc508ecb7b8c59c72a0\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa392608715b2304f06606d498bd69312\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#aa392608715b2304f06606d498bd69312\">NvFlexGetConvexMeshes</a> (<a class=\"el\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a> *lib, <a class=\"el\" href=\"_nv_flex_8h.html#a7ab5aa68da7ca1f69211a900f1a1c586\">NvFlexConvexMeshId</a> *meshes, int n)</td></tr>\n<tr class=\"separator:aa392608715b2304f06606d498bd69312\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab452c355f92dda050d4b4dafb8e71b03\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#ab452c355f92dda050d4b4dafb8e71b03\">NvFlexUpdateConvexMesh</a> (<a class=\"el\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a> *lib, <a class=\"el\" href=\"_nv_flex_8h.html#a7ab5aa68da7ca1f69211a900f1a1c586\">NvFlexConvexMeshId</a> convex, <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *planes, int numPlanes, const float *lower, const float *upper)</td></tr>\n<tr class=\"separator:ab452c355f92dda050d4b4dafb8e71b03\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad56e661161763579afb375b3841eb5ff\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#ad56e661161763579afb375b3841eb5ff\">NvFlexGetConvexMeshBounds</a> (<a class=\"el\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a> *lib, <a class=\"el\" href=\"_nv_flex_8h.html#a7ab5aa68da7ca1f69211a900f1a1c586\">NvFlexConvexMeshId</a> mesh, float *lower, float *upper)</td></tr>\n<tr class=\"separator:ad56e661161763579afb375b3841eb5ff\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad83b7fb561a91467a3094771bb682b96\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#ad83b7fb561a91467a3094771bb682b96\">NvFlexMakeShapeFlagsWithChannels</a> (<a class=\"el\" href=\"_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26ba\">NvFlexCollisionShapeType</a> type, bool dynamic, int shapeChannels)</td></tr>\n<tr class=\"separator:ad83b7fb561a91467a3094771bb682b96\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad6ee1e23e0c49aad63df8f605182de3a\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#ad6ee1e23e0c49aad63df8f605182de3a\">NvFlexMakeShapeFlags</a> (<a class=\"el\" href=\"_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26ba\">NvFlexCollisionShapeType</a> type, bool dynamic)</td></tr>\n<tr class=\"separator:ad6ee1e23e0c49aad63df8f605182de3a\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aea4e7117722df53dfe44c676496117fa\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#aea4e7117722df53dfe44c676496117fa\">NvFlexSetShapes</a> (<a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *solver, <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *geometry, <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *shapePositions, <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *shapeRotations, <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *shapePrevPositions, <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *shapePrevRotations, <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *shapeFlags, int numShapes)</td></tr>\n<tr class=\"separator:aea4e7117722df53dfe44c676496117fa\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa03d94be697cdc3aaa56e469d87255a4\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#aa03d94be697cdc3aaa56e469d87255a4\">NvFlexSetDynamicTriangles</a> (<a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *solver, <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *indices, <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *normals, int numTris)</td></tr>\n<tr class=\"separator:aa03d94be697cdc3aaa56e469d87255a4\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abdfd0834422dd99154a27962614525e5\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#abdfd0834422dd99154a27962614525e5\">NvFlexGetDynamicTriangles</a> (<a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *solver, <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *indices, <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *normals, int numTris)</td></tr>\n<tr class=\"separator:abdfd0834422dd99154a27962614525e5\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7f2b59fba77c60ce116e1eac57d63e50\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#a7f2b59fba77c60ce116e1eac57d63e50\">NvFlexSetInflatables</a> (<a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *solver, <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *startTris, <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *numTris, <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *restVolumes, <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *overPressures, <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *constraintScales, int numInflatables)</td></tr>\n<tr class=\"separator:a7f2b59fba77c60ce116e1eac57d63e50\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3a20cc2539983a009caaf77ec9ceab82\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#a3a20cc2539983a009caaf77ec9ceab82\">NvFlexGetDensities</a> (<a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *solver, <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *densities, const <a class=\"el\" href=\"_nv_flex_8h.html#struct_nv_flex_copy_desc\">NvFlexCopyDesc</a> *desc)</td></tr>\n<tr class=\"separator:a3a20cc2539983a009caaf77ec9ceab82\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aef768edc8e4df1a78a94a6c971541550\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#aef768edc8e4df1a78a94a6c971541550\">NvFlexGetAnisotropy</a> (<a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *solver, <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *q1, <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *q2, <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *q3, const <a class=\"el\" href=\"_nv_flex_8h.html#struct_nv_flex_copy_desc\">NvFlexCopyDesc</a> *desc)</td></tr>\n<tr class=\"separator:aef768edc8e4df1a78a94a6c971541550\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:afa458a6eec8b0d117e53c40c13788fd9\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#afa458a6eec8b0d117e53c40c13788fd9\">NvFlexGetDiffuseParticles</a> (<a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *solver, <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *p, <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *v, <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *count)</td></tr>\n<tr class=\"separator:afa458a6eec8b0d117e53c40c13788fd9\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a5a7213593dd9a23d9d67f8517d1da9de\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#a5a7213593dd9a23d9d67f8517d1da9de\">NvFlexSetDiffuseParticles</a> (<a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *solver, <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *p, <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *v, int n)</td></tr>\n<tr class=\"separator:a5a7213593dd9a23d9d67f8517d1da9de\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7edac9cf450917147b83e98f5cb09f5d\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#a7edac9cf450917147b83e98f5cb09f5d\">NvFlexGetContacts</a> (<a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *solver, <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *planes, <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *velocities, <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *indices, <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *counts)</td></tr>\n<tr class=\"separator:a7edac9cf450917147b83e98f5cb09f5d\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:abbee38b5413bbfd1db914c66fcdfc616\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#abbee38b5413bbfd1db914c66fcdfc616\">NvFlexGetNeighbors</a> (<a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *solver, <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *neighbors, <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *counts, <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *apiToInternal, <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *internalToApi)</td></tr>\n<tr class=\"separator:abbee38b5413bbfd1db914c66fcdfc616\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab1eec84a21b1872fba11c9b4cc1d1629\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#ab1eec84a21b1872fba11c9b4cc1d1629\">NvFlexGetBounds</a> (<a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *solver, <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *lower, <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *upper)</td></tr>\n<tr class=\"separator:ab1eec84a21b1872fba11c9b4cc1d1629\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa77d2a4edd4ccd79c9389854dca80613\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API float&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#aa77d2a4edd4ccd79c9389854dca80613\">NvFlexGetDeviceLatency</a> (<a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *solver, unsigned long long *begin, unsigned long long *end, unsigned long long *frequency)</td></tr>\n<tr class=\"separator:aa77d2a4edd4ccd79c9389854dca80613\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab16b6d2e11e0ab417ee6c4cf16f0a27d\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#ab16b6d2e11e0ab417ee6c4cf16f0a27d\">NvFlexGetTimers</a> (<a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *solver, <a class=\"el\" href=\"_nv_flex_8h.html#struct_nv_flex_timers\">NvFlexTimers</a> *timers)</td></tr>\n<tr class=\"separator:ab16b6d2e11e0ab417ee6c4cf16f0a27d\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab1efb6764f65900cb09f0188ad6da08a\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#ab1efb6764f65900cb09f0188ad6da08a\">NvFlexGetDetailTimers</a> (<a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *solver, <a class=\"el\" href=\"_nv_flex_8h.html#struct_nv_flex_detail_timer\">NvFlexDetailTimer</a> **timers)</td></tr>\n<tr class=\"separator:ab1efb6764f65900cb09f0188ad6da08a\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad48f83b8442323687d2268206e913496\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#ad48f83b8442323687d2268206e913496\">NvFlexAllocBuffer</a> (<a class=\"el\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a> *lib, int elementCount, int elementByteStride, <a class=\"el\" href=\"_nv_flex_8h.html#a169e4c126acf46bdebf76c36a44deca3\">NvFlexBufferType</a> type)</td></tr>\n<tr class=\"separator:ad48f83b8442323687d2268206e913496\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab559759820a4322aff061745ef26c867\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#ab559759820a4322aff061745ef26c867\">NvFlexFreeBuffer</a> (<a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *buf)</td></tr>\n<tr class=\"separator:ab559759820a4322aff061745ef26c867\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0898bb9210440b159688d4647f6eb083\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API void *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#a0898bb9210440b159688d4647f6eb083\">NvFlexMap</a> (<a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *buffer, int flags)</td></tr>\n<tr class=\"separator:a0898bb9210440b159688d4647f6eb083\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a054cb27646a389ea257d1bbde46a6e97\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#a054cb27646a389ea257d1bbde46a6e97\">NvFlexUnmap</a> (<a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *buffer)</td></tr>\n<tr class=\"separator:a054cb27646a389ea257d1bbde46a6e97\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aab83daf46e5a9428a0ad76fb75e8ec7e\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#aab83daf46e5a9428a0ad76fb75e8ec7e\">NvFlexRegisterOGLBuffer</a> (<a class=\"el\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a> *lib, int buf, int elementCount, int elementByteStride)</td></tr>\n<tr class=\"separator:aab83daf46e5a9428a0ad76fb75e8ec7e\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a78045a8d4e856372df108dc616a94cd8\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#a78045a8d4e856372df108dc616a94cd8\">NvFlexUnregisterOGLBuffer</a> (<a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *buf)</td></tr>\n<tr class=\"separator:a78045a8d4e856372df108dc616a94cd8\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab487e68ce1c84ce1eec0c85b7daf5aa0\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#ab487e68ce1c84ce1eec0c85b7daf5aa0\">NvFlexRegisterD3DBuffer</a> (<a class=\"el\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a> *lib, void *buffer, int elementCount, int elementByteStride)</td></tr>\n<tr class=\"separator:ab487e68ce1c84ce1eec0c85b7daf5aa0\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad607e7916e5d76b384a61f1c1f94ab32\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#ad607e7916e5d76b384a61f1c1f94ab32\">NvFlexUnregisterD3DBuffer</a> (<a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *buf)</td></tr>\n<tr class=\"separator:ad607e7916e5d76b384a61f1c1f94ab32\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a42ec7b30c79d4733e6a756b5d9b15ee6\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#a42ec7b30c79d4733e6a756b5d9b15ee6\">NvFlexAcquireContext</a> (<a class=\"el\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a> *lib)</td></tr>\n<tr class=\"separator:a42ec7b30c79d4733e6a756b5d9b15ee6\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ae6671f352bd77e296609d0bc2a57fd11\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#ae6671f352bd77e296609d0bc2a57fd11\">NvFlexRestoreContext</a> (<a class=\"el\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a> *lib)</td></tr>\n<tr class=\"separator:ae6671f352bd77e296609d0bc2a57fd11\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a4c451971259524c6878b6b1ed4023ada\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API const char *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#a4c451971259524c6878b6b1ed4023ada\">NvFlexGetDeviceName</a> (<a class=\"el\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a> *lib)</td></tr>\n<tr class=\"separator:a4c451971259524c6878b6b1ed4023ada\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2ac0a898a565a2cdf13b80acd4a3555c\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#a2ac0a898a565a2cdf13b80acd4a3555c\">NvFlexGetDeviceAndContext</a> (<a class=\"el\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a> *lib, void **device, void **context)</td></tr>\n<tr class=\"separator:a2ac0a898a565a2cdf13b80acd4a3555c\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a898eb8e66a456dd2266c694f29cab600\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#a898eb8e66a456dd2266c694f29cab600\">NvFlexFlush</a> (<a class=\"el\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a> *lib)</td></tr>\n<tr class=\"separator:a898eb8e66a456dd2266c694f29cab600\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a615d2e6eec2486a5db815d929f9c642c\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html#a615d2e6eec2486a5db815d929f9c642c\">NvFlexWait</a> (<a class=\"el\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a> *lib)</td></tr>\n<tr class=\"separator:a615d2e6eec2486a5db815d929f9c642c\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table>\n<a name=\"details\" id=\"details\"></a><h2 class=\"groupheader\">Detailed Description</h2>\n<div class=\"textblock\"><p>The main include file for the core Flex solver. </p>\n</div><hr/><h2 class=\"groupheader\">Data Structure Documentation</h2>\n<a name=\"struct_nv_flex_params\" id=\"struct_nv_flex_params\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">struct NvFlexParams</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<div class=\"textblock\"><p>Simulation parameters for a solver </p>\n</div><table class=\"fieldtable\">\n<tr><th colspan=\"3\">Data Fields</th></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a572c9bf93128466e27d57f225f4d0188\"></a>int</td>\n<td class=\"fieldname\">\nnumIterations</td>\n<td class=\"fielddoc\">\nNumber of solver iterations to perform per-substep. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a482a7c3b197c4df656e9509fbd04032c\"></a>float</td>\n<td class=\"fieldname\">\ngravity[3]</td>\n<td class=\"fielddoc\">\nConstant acceleration applied to all particles. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"aa6eddaa3a6eb35917c093dcabf69a200\"></a>float</td>\n<td class=\"fieldname\">\nradius</td>\n<td class=\"fielddoc\">\nThe maximum interaction radius for particles. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"ab7c54d6c0b3d3595780e5179bf62ebc4\"></a>float</td>\n<td class=\"fieldname\">\nsolidRestDistance</td>\n<td class=\"fielddoc\">\nThe distance non-fluid particles attempt to maintain from each other, must be in the range (0, radius]. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"ad019ad1901bc33d43e3a60df0dfe9b09\"></a>float</td>\n<td class=\"fieldname\">\nfluidRestDistance</td>\n<td class=\"fielddoc\">\nThe distance fluid particles are spaced at the rest density, must be in the range (0, radius], for fluids this should generally be 50-70% of mRadius, for rigids this can simply be the same as the particle radius. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a27a185172ad1951d40c476ade8307068\"></a>float</td>\n<td class=\"fieldname\">\ndynamicFriction</td>\n<td class=\"fielddoc\">\nCoefficient of friction used when colliding against shapes. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"af0a34fd0cdf686022650be9f895cbf2f\"></a>float</td>\n<td class=\"fieldname\">\nstaticFriction</td>\n<td class=\"fielddoc\">\nCoefficient of static friction used when colliding against shapes. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"af7a56fc54644e7020e105f2ff41dfb60\"></a>float</td>\n<td class=\"fieldname\">\nparticleFriction</td>\n<td class=\"fielddoc\">\nCoefficient of friction used when colliding particles. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"afc306cb48c313ee518461d60c1014485\"></a>float</td>\n<td class=\"fieldname\">\nrestitution</td>\n<td class=\"fielddoc\">\nCoefficient of restitution used when colliding against shapes, particle collisions are always inelastic. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a8114a049f5e16f7d1b960f3ac4993fdb\"></a>float</td>\n<td class=\"fieldname\">\nadhesion</td>\n<td class=\"fielddoc\">\nControls how strongly particles stick to surfaces they hit, default 0.0, range [0.0, +inf]. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a533a78227b462a268c905f9c307c4bd6\"></a>float</td>\n<td class=\"fieldname\">\nsleepThreshold</td>\n<td class=\"fielddoc\">\nParticles with a velocity magnitude &lt; this threshold will be considered fixed. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"ab003c023dde289dee075c49db022ccaf\"></a>float</td>\n<td class=\"fieldname\">\nmaxSpeed</td>\n<td class=\"fielddoc\">\nThe magnitude of particle velocity will be clamped to this value at the end of each step. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a0def9c3ceff57bbae5bcec15f6d64b36\"></a>float</td>\n<td class=\"fieldname\">\nmaxAcceleration</td>\n<td class=\"fielddoc\">\nThe magnitude of particle acceleration will be clamped to this value at the end of each step (limits max velocity change per-second), useful to avoid popping due to large interpenetrations. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"ab98a2aba477ab4d4178bf677852bf544\"></a>float</td>\n<td class=\"fieldname\">\nshockPropagation</td>\n<td class=\"fielddoc\">\nArtificially decrease the mass of particles based on height from a fixed reference point, this makes stacks and piles converge faster. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"aeff62427426510eeb1cf5625e14ff585\"></a>float</td>\n<td class=\"fieldname\">\ndissipation</td>\n<td class=\"fielddoc\">\nDamps particle velocity based on how many particle contacts it has. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a6198445df7f341ec75f37e1dfb44830c\"></a>float</td>\n<td class=\"fieldname\">\ndamping</td>\n<td class=\"fielddoc\">\nViscous drag force, applies a force proportional, and opposite to the particle velocity. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"aafb92c4fa45ce9614cdfd349b3722c8a\"></a>float</td>\n<td class=\"fieldname\">\nwind[3]</td>\n<td class=\"fielddoc\">\nConstant acceleration applied to particles that belong to dynamic triangles, drag needs to be &gt; 0 for wind to affect triangles. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a7043181449aebf540351d1d2f785cf4a\"></a>float</td>\n<td class=\"fieldname\">\ndrag</td>\n<td class=\"fielddoc\">\nDrag force applied to particles belonging to dynamic triangles, proportional to velocity^2*area in the negative velocity direction. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"af9bb710afb22ec5ed50679aef8717777\"></a>float</td>\n<td class=\"fieldname\">\nlift</td>\n<td class=\"fielddoc\">\nLift force applied to particles belonging to dynamic triangles, proportional to velocity^2*area in the direction perpendicular to velocity and (if possible), parallel to the plane normal. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a3ef4d1035530c3583bdf983c7e62b472\"></a>float</td>\n<td class=\"fieldname\">\ncohesion</td>\n<td class=\"fielddoc\">\nControl how strongly particles hold each other together, default: 0.025, range [0.0, +inf]. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a5628f890f4ae070e405feaf1f81a7b85\"></a>float</td>\n<td class=\"fieldname\">\nsurfaceTension</td>\n<td class=\"fielddoc\">\nControls how strongly particles attempt to minimize surface area, default: 0.0, range: [0.0, +inf]. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a40f452b4edbf11b793f31286a0ae270e\"></a>float</td>\n<td class=\"fieldname\">\nviscosity</td>\n<td class=\"fielddoc\">\nSmoothes particle velocities using XSPH viscosity. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"ae763dd9bfcfa4092c0165a506e32e18b\"></a>float</td>\n<td class=\"fieldname\">\nvorticityConfinement</td>\n<td class=\"fielddoc\">\nIncreases vorticity by applying rotational forces to particles. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a608af97e77a912e959b0e825082a9cd6\"></a>float</td>\n<td class=\"fieldname\">\nanisotropyScale</td>\n<td class=\"fielddoc\">\nControl how much anisotropy is present in resulting ellipsoids for rendering, if zero then anisotropy will not be calculated, see <a class=\"el\" href=\"_nv_flex_8h.html#aef768edc8e4df1a78a94a6c971541550\">NvFlexGetAnisotropy()</a> </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"ab136ae1511a39ef570c010f321eff206\"></a>float</td>\n<td class=\"fieldname\">\nanisotropyMin</td>\n<td class=\"fielddoc\">\nClamp the anisotropy scale to this fraction of the radius. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a5e37444b8c96e0880a428d9ea58dbf54\"></a>float</td>\n<td class=\"fieldname\">\nanisotropyMax</td>\n<td class=\"fielddoc\">\nClamp the anisotropy scale to this fraction of the radius. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"ac017e05107d0362d3d03a14eaadf0657\"></a>float</td>\n<td class=\"fieldname\">\nsmoothing</td>\n<td class=\"fielddoc\">\nControl the strength of Laplacian smoothing in particles for rendering, if zero then smoothed positions will not be calculated, see <a class=\"el\" href=\"_nv_flex_8h.html#a96a771dd328d019e6164e5f23d29ffcb\">NvFlexGetSmoothParticles()</a> </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a3f93fba688338576ff3258b034525dc5\"></a>float</td>\n<td class=\"fieldname\">\nsolidPressure</td>\n<td class=\"fielddoc\">\nAdd pressure from solid surfaces to particles. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a05f92015449662f5a2f5d5e9ecdc2c6e\"></a>float</td>\n<td class=\"fieldname\">\nfreeSurfaceDrag</td>\n<td class=\"fielddoc\">\nDrag force applied to boundary fluid particles. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"ae2e480822cc06ec249ee2557f6cc8ee1\"></a>float</td>\n<td class=\"fieldname\">\nbuoyancy</td>\n<td class=\"fielddoc\">\nGravity is scaled by this value for fluid particles. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"acdde802d58e1558c03e449e04ae33f15\"></a>float</td>\n<td class=\"fieldname\">\ndiffuseThreshold</td>\n<td class=\"fielddoc\">\nParticles with kinetic energy + divergence above this threshold will spawn new diffuse particles. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a5be673031b100c3861fd9eb824fcf00f\"></a>float</td>\n<td class=\"fieldname\">\ndiffuseBuoyancy</td>\n<td class=\"fielddoc\">\nScales force opposing gravity that diffuse particles receive. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a4bf0ccff128c165560dba52afb748d7e\"></a>float</td>\n<td class=\"fieldname\">\ndiffuseDrag</td>\n<td class=\"fielddoc\">\nScales force diffuse particles receive in direction of neighbor fluid particles. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a7ade7491cd0693a6d7c5e88a99298378\"></a>int</td>\n<td class=\"fieldname\">\ndiffuseBallistic</td>\n<td class=\"fielddoc\">\nThe number of neighbors below which a diffuse particle is considered ballistic. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a469950744e0b7222969762a89b992255\"></a>float</td>\n<td class=\"fieldname\">\ndiffuseLifetime</td>\n<td class=\"fielddoc\">\nTime in seconds that a diffuse particle will live for after being spawned, particles will be spawned with a random lifetime in the range [0, diffuseLifetime]. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a55bf1f547086b8e469f2c3b20c9ae39d\"></a>float</td>\n<td class=\"fieldname\">\ncollisionDistance</td>\n<td class=\"fielddoc\">\nDistance particles maintain against shapes, note that for robust collision against triangle meshes this distance should be greater than zero. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"aeecd11525503649b579ae262b671fbc8\"></a>float</td>\n<td class=\"fieldname\">\nparticleCollisionMargin</td>\n<td class=\"fielddoc\">\nIncreases the radius used during neighbor finding, this is useful if particles are expected to move significantly during a single step to ensure contacts aren't missed on subsequent iterations. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a0e4cb2f91d3b7d122000d36a7d67ab81\"></a>float</td>\n<td class=\"fieldname\">\nshapeCollisionMargin</td>\n<td class=\"fielddoc\">\nIncreases the radius used during contact finding against kinematic shapes. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"ae54ff0cacfedd4333aa1a1f9b9291906\"></a>float</td>\n<td class=\"fieldname\">\nplanes[8][4]</td>\n<td class=\"fielddoc\">\nCollision planes in the form ax + by + cz + d = 0. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"ab4f2eb16c8aba6371fbae51a991eaaa5\"></a>int</td>\n<td class=\"fieldname\">\nnumPlanes</td>\n<td class=\"fielddoc\">\nNum collision planes. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"ac2f8dff9857a86683aa6e55c058888d7\"></a><a class=\"el\" href=\"_nv_flex_8h.html#a46f5d35902f7da40628247175a174f3b\">NvFlexRelaxationMode</a></td>\n<td class=\"fieldname\">\nrelaxationMode</td>\n<td class=\"fielddoc\">\nHow the relaxation is applied inside the solver. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a8a1b3c24aa73606bcd47a72473db9629\"></a>float</td>\n<td class=\"fieldname\">\nrelaxationFactor</td>\n<td class=\"fielddoc\">\nControl the convergence rate of the parallel solver, default: 1, values greater than 1 may lead to instability. </td></tr>\n</table>\n\n</div>\n</div>\n<a name=\"struct_nv_flex_timers\" id=\"struct_nv_flex_timers\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">struct NvFlexTimers</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<div class=\"textblock\"><p>Time spent in each section of the solver update, times in GPU seconds, see <a class=\"el\" href=\"_nv_flex_8h.html#ac75370f005fd453fe8a324fe62be1b5c\">NvFlexUpdateSolver()</a> </p>\n</div><table class=\"fieldtable\">\n<tr><th colspan=\"3\">Data Fields</th></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"aaf8baa00e709ff8fd40d114f00bee0b6\"></a>float</td>\n<td class=\"fieldname\">\npredict</td>\n<td class=\"fielddoc\">\nTime spent in prediction. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"aba34bc2bc8736e3a0cf18a7a6b56ff68\"></a>float</td>\n<td class=\"fieldname\">\ncreateCellIndices</td>\n<td class=\"fielddoc\">\nTime spent creating grid indices. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"ae45cb18deec2db8ff44d181e80f24695\"></a>float</td>\n<td class=\"fieldname\">\nsortCellIndices</td>\n<td class=\"fielddoc\">\nTime spent sorting grid indices. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a98b4df3721709c862ef5d09edcc6d4c3\"></a>float</td>\n<td class=\"fieldname\">\ncreateGrid</td>\n<td class=\"fielddoc\">\nTime spent creating grid. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a6071050991cf71a8d9ff28ea968479af\"></a>float</td>\n<td class=\"fieldname\">\nreorder</td>\n<td class=\"fielddoc\">\nTime spent reordering particles. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"ac1f3c3a1eeeb57cf5b20d030a788e25c\"></a>float</td>\n<td class=\"fieldname\">\ncollideParticles</td>\n<td class=\"fielddoc\">\nTime spent finding particle neighbors. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"ae4203fb9cf4772c3186f96cc2d9f6ea8\"></a>float</td>\n<td class=\"fieldname\">\ncollideShapes</td>\n<td class=\"fielddoc\">\nTime spent colliding convex shapes. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"afc20d27121f49b61be9cc6bd4c25f547\"></a>float</td>\n<td class=\"fieldname\">\ncollideTriangles</td>\n<td class=\"fielddoc\">\nTime spent colliding triangle shapes. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"aaa36ba5ee44e34e762167fb0b8b3292e\"></a>float</td>\n<td class=\"fieldname\">\ncollideFields</td>\n<td class=\"fielddoc\">\nTime spent colliding signed distance field shapes. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a49f7117a457a716e7790904209f68707\"></a>float</td>\n<td class=\"fieldname\">\ncalculateDensity</td>\n<td class=\"fielddoc\">\nTime spent calculating fluid density. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"abe52b62e7af361f387d67414b9e2cf9b\"></a>float</td>\n<td class=\"fieldname\">\nsolveDensities</td>\n<td class=\"fielddoc\">\nTime spent solving density constraints. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a4d10188e917ae045e0e903f3db1c638d\"></a>float</td>\n<td class=\"fieldname\">\nsolveVelocities</td>\n<td class=\"fielddoc\">\nTime spent solving velocity constraints. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"abdd60b0a83674283d09b4897fdd637a2\"></a>float</td>\n<td class=\"fieldname\">\nsolveShapes</td>\n<td class=\"fielddoc\">\nTime spent solving rigid body constraints. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a57e4d27b0aa8774e479fa66d65079f78\"></a>float</td>\n<td class=\"fieldname\">\nsolveSprings</td>\n<td class=\"fielddoc\">\nTime spent solving distance constraints. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a215e06106ec0cdbbcd405055a4535d1d\"></a>float</td>\n<td class=\"fieldname\">\nsolveContacts</td>\n<td class=\"fielddoc\">\nTime spent solving contact constraints. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a75eade1512d023cb19da5b7ebbad10f3\"></a>float</td>\n<td class=\"fieldname\">\nsolveInflatables</td>\n<td class=\"fielddoc\">\nTime spent solving pressure constraints. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"afc5d58e7f591213c3fe1c31b4d440eb6\"></a>float</td>\n<td class=\"fieldname\">\napplyDeltas</td>\n<td class=\"fielddoc\">\nTime spent adding position deltas to particles. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"af9b72d2909ef335b12a46cdbd4b71f57\"></a>float</td>\n<td class=\"fieldname\">\ncalculateAnisotropy</td>\n<td class=\"fielddoc\">\nTime spent calculating particle anisotropy for fluid. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a2ff723870a6eba26d9f3bb7e5250b27f\"></a>float</td>\n<td class=\"fieldname\">\nupdateDiffuse</td>\n<td class=\"fielddoc\">\nTime spent updating diffuse particles. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a8cb34cbcf9def6817d6d5d3c07177052\"></a>float</td>\n<td class=\"fieldname\">\nupdateTriangles</td>\n<td class=\"fielddoc\">\nTime spent updating dynamic triangles. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a1a1e69f26e02e8b3fca1d3636a7f3f13\"></a>float</td>\n<td class=\"fieldname\">\nupdateNormals</td>\n<td class=\"fielddoc\">\nTime spent updating vertex normals. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a9d825db54bc9a0bca998b3654db3b20e\"></a>float</td>\n<td class=\"fieldname\">\nfinalize</td>\n<td class=\"fielddoc\">\nTime spent finalizing state. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a2f85189cbc3014b73164cf8c4eb87e0a\"></a>float</td>\n<td class=\"fieldname\">\nupdateBounds</td>\n<td class=\"fielddoc\">\nTime spent updating particle bounds. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a3c4d2aa395ff8d0f70a6380448943be2\"></a>float</td>\n<td class=\"fieldname\">\ntotal</td>\n<td class=\"fielddoc\">\nSum of all timers above. </td></tr>\n</table>\n\n</div>\n</div>\n<a name=\"struct_nv_flex_solver_callback_params\" id=\"struct_nv_flex_solver_callback_params\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">struct NvFlexSolverCallbackParams</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<div class=\"textblock\"><p>Structure containing pointers to the internal solver data that is passed to each registered solver callback</p>\n<dl class=\"section remark\"><dt>Remarks</dt><dd>Pointers to internal data are only valid for the lifetime of the callback and should not be stored. However, it is safe to launch kernels and memory transfers using the device pointers.</dd>\n<dd>\nBecause Flex re-orders particle data internally for performance, the particle data in the callback is not in the same order as it was provided to the API. The callback provides arrays which map original particle indices to sorted positions and vice-versa.</dd>\n<dd>\nParticle positions may be modified during any callback, but velocity modifications should only occur during the eNvFlexStageUpdateEnd stage, otherwise any velocity changes will be discarded. </dd></dl>\n</div><table class=\"fieldtable\">\n<tr><th colspan=\"3\">Data Fields</th></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a3974e1e608d9f532d5520dc158b47903\"></a><a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *</td>\n<td class=\"fieldname\">\nsolver</td>\n<td class=\"fielddoc\">\nPointer to the solver that the callback is registered to. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a5b9af9cf4d889b4772cb61cefda92a87\"></a>void *</td>\n<td class=\"fieldname\">\nuserData</td>\n<td class=\"fielddoc\">\nPointer to the user data provided to <a class=\"el\" href=\"_nv_flex_8h.html#ac5427457488ab3f2de91cf65335dda08\">NvFlexRegisterSolverCallback()</a> </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a8ed42f9bd016cbcef45c96b5b32ca609\"></a>float *</td>\n<td class=\"fieldname\">\nparticles</td>\n<td class=\"fielddoc\">\nDevice pointer to the active particle basic data in the form x,y,z,1/m. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"ac48a490fa3d62cc678c309dd4b8cbf18\"></a>float *</td>\n<td class=\"fieldname\">\nvelocities</td>\n<td class=\"fielddoc\">\nDevice pointer to the active particle velocity data in the form x,y,z,w (last component is not used) </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a9e5f943053d43d7e1a6b149babe4fe44\"></a>int *</td>\n<td class=\"fieldname\">\nphases</td>\n<td class=\"fielddoc\">\nDevice pointer to the active particle phase data. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"ac32019f7dd1f30ab8a7391a417ed02c9\"></a>int</td>\n<td class=\"fieldname\">\nnumActive</td>\n<td class=\"fielddoc\">\nThe number of active particles returned, the callback data only return pointers to active particle data, this is the same as <a class=\"el\" href=\"_nv_flex_8h.html#a2345372dea2ad4f043153a84e7a2c407\">NvFlexGetActiveCount()</a> </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a843360ebf23cd00e5eff72d19e796dd9\"></a>float</td>\n<td class=\"fieldname\">\ndt</td>\n<td class=\"fielddoc\">\nThe per-update time-step, this is the value passed to <a class=\"el\" href=\"_nv_flex_8h.html#ac75370f005fd453fe8a324fe62be1b5c\">NvFlexUpdateSolver()</a> </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"abe564dbbbd4957542322b60d77a70e29\"></a>const int *</td>\n<td class=\"fieldname\">\noriginalToSortedMap</td>\n<td class=\"fielddoc\">\nDevice pointer that maps the sorted callback data to the original position given by SetParticles() </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a9b65813d2a2d3f99db162d39a62481f8\"></a>const int *</td>\n<td class=\"fieldname\">\nsortedToOriginalMap</td>\n<td class=\"fielddoc\">\nDevice pointer that maps the original particle index to the index in the callback data structure. </td></tr>\n</table>\n\n</div>\n</div>\n<a name=\"struct_nv_flex_init_desc\" id=\"struct_nv_flex_init_desc\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">struct NvFlexInitDesc</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<div class=\"textblock\"><p>Descriptor used to initialize Flex </p>\n</div><table class=\"fieldtable\">\n<tr><th colspan=\"3\">Data Fields</th></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a5890b9e46d626cfa19994976ea53c52e\"></a>int</td>\n<td class=\"fieldname\">\ndeviceIndex</td>\n<td class=\"fielddoc\">\nThe GPU device index that should be used, if there is already a CUDA context on the calling thread then this parameter will be ignored and the active CUDA context used. Otherwise a new context will be created using the suggested device ordinal. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a23b8779c1516647ef5ed7f8010d619ff\"></a>bool</td>\n<td class=\"fieldname\">\nenableExtensions</td>\n<td class=\"fielddoc\">\nEnable or disable NVIDIA/AMD extensions in DirectX, can lead to improved performance. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a7e760844341b78a547ca4e29abf48806\"></a>void *</td>\n<td class=\"fieldname\">\nrenderDevice</td>\n<td class=\"fielddoc\">\nDirect3D device to use for simulation, if none is specified a new device and context will be created. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"abf304d5c1f8f041fa46a2bfb0bdf56fe\"></a>void *</td>\n<td class=\"fieldname\">\nrenderContext</td>\n<td class=\"fielddoc\">\nDirect3D context that the app is using for rendering. In DirectX 12 this should be a ID3D12CommandQueue pointer. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"ad1d0256dac295346120fda40f6eea7e2\"></a>void *</td>\n<td class=\"fieldname\">\ncomputeContext</td>\n<td class=\"fielddoc\">\nDirect3D context to use for simulation, if none is specified a new context will be created, in DirectX 12 this should be a pointer to the ID3D12CommandQueue where compute operations will take place. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"ad9503e8b23e084c0f940be3dcca9af2e\"></a>bool</td>\n<td class=\"fieldname\">\nrunOnRenderContext</td>\n<td class=\"fielddoc\">\nIf true, run Flex on D3D11 render context, or D3D12 direct queue. If false, run on a D3D12 compute queue, or vendor specific D3D11 compute queue, allowing compute and graphics to run in parallel on some GPUs. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"aeeeaf91dad0804d1dd3125e592a3260b\"></a><a class=\"el\" href=\"_nv_flex_8h.html#a9b2d3dc5ac42011aeec4e13be2e14252\">NvFlexComputeType</a></td>\n<td class=\"fieldname\">\ncomputeType</td>\n<td class=\"fielddoc\">\nSet to eNvFlexD3D11 if DirectX 11 should be used, eNvFlexD3D12 for DirectX 12, this must match the libraries used to link the application. </td></tr>\n</table>\n\n</div>\n</div>\n<a name=\"struct_nv_flex_solver_desc\" id=\"struct_nv_flex_solver_desc\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">struct NvFlexSolverDesc</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<div class=\"textblock\"><p>Describes the creation time parameters for the solver </p>\n</div><table class=\"fieldtable\">\n<tr><th colspan=\"3\">Data Fields</th></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a0999d825c8760e19ba4c980d2eb097ac\"></a><a class=\"el\" href=\"_nv_flex_8h.html#aee5c235d5fab40831cf339680aa25560\">NvFlexFeatureMode</a></td>\n<td class=\"fieldname\">\nfeatureMode</td>\n<td class=\"fielddoc\">\nControl which features are enabled. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"aedf73c7aa1f4df92c7724d58f4dcb266\"></a>int</td>\n<td class=\"fieldname\">\nmaxParticles</td>\n<td class=\"fielddoc\">\nMaximum number of regular particles in the solver. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a39ab69ac3fbde631b71f59f5bbbf1bdf\"></a>int</td>\n<td class=\"fieldname\">\nmaxDiffuseParticles</td>\n<td class=\"fielddoc\">\nMaximum number of diffuse particles in the solver. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a5ea0cd160a13a72924340184edfbea2f\"></a>int</td>\n<td class=\"fieldname\">\nmaxNeighborsPerParticle</td>\n<td class=\"fielddoc\">\nMaximum number of neighbors per-particle, for solids this can be around 32, for fluids up to 128 may be necessary depending on smoothing radius. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a97d23c69cd4f343be14dedd911605276\"></a>int</td>\n<td class=\"fieldname\">\nmaxContactsPerParticle</td>\n<td class=\"fielddoc\">\nMaximum number of collision contacts per-particle. </td></tr>\n</table>\n\n</div>\n</div>\n<a name=\"struct_nv_flex_copy_desc\" id=\"struct_nv_flex_copy_desc\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">struct NvFlexCopyDesc</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<div class=\"textblock\"><p>Describes a source and destination buffer region for performing a copy operation. </p>\n</div><table class=\"fieldtable\">\n<tr><th colspan=\"3\">Data Fields</th></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"ae01bc8c45cf48f5faed2a8e78df1c678\"></a>int</td>\n<td class=\"fieldname\">\nsrcOffset</td>\n<td class=\"fielddoc\">\n</td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"aa544809448a95c3864e1443c7a507d7f\"></a>int</td>\n<td class=\"fieldname\">\ndstOffset</td>\n<td class=\"fielddoc\">\n</td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"af842f041f92c608b3ebfa2092caea889\"></a>int</td>\n<td class=\"fieldname\">\nelementCount</td>\n<td class=\"fielddoc\">\n</td></tr>\n</table>\n\n</div>\n</div>\n<a name=\"struct_nv_flex_sphere_geometry\" id=\"struct_nv_flex_sphere_geometry\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">struct NvFlexSphereGeometry</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<div class=\"textblock\"><p>A basic sphere shape with origin at the center of the sphere and radius </p>\n</div><table class=\"fieldtable\">\n<tr><th colspan=\"3\">Data Fields</th></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a7a6e24c01235abc364ed12570ab15f84\"></a>float</td>\n<td class=\"fieldname\">\nradius</td>\n<td class=\"fielddoc\">\n</td></tr>\n</table>\n\n</div>\n</div>\n<a name=\"struct_nv_flex_capsule_geometry\" id=\"struct_nv_flex_capsule_geometry\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">struct NvFlexCapsuleGeometry</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<div class=\"textblock\"><p>A collision capsule extends along the x-axis with its local origin at the center of the capsule </p>\n</div><table class=\"fieldtable\">\n<tr><th colspan=\"3\">Data Fields</th></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a1241ff3522eafac4b402370a7a6525d8\"></a>float</td>\n<td class=\"fieldname\">\nradius</td>\n<td class=\"fielddoc\">\n</td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"aef1b5bceccca709ebb782d2ea8a61dc9\"></a>float</td>\n<td class=\"fieldname\">\nhalfHeight</td>\n<td class=\"fielddoc\">\n</td></tr>\n</table>\n\n</div>\n</div>\n<a name=\"struct_nv_flex_box_geometry\" id=\"struct_nv_flex_box_geometry\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">struct NvFlexBoxGeometry</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<div class=\"textblock\"><p>A simple box with interior [-halfHeight, +halfHeight] along each dimension </p>\n</div><table class=\"fieldtable\">\n<tr><th colspan=\"3\">Data Fields</th></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"ab669c404607156367b09878870dbe30c\"></a>float</td>\n<td class=\"fieldname\">\nhalfExtents[3]</td>\n<td class=\"fielddoc\">\n</td></tr>\n</table>\n\n</div>\n</div>\n<a name=\"struct_nv_flex_convex_mesh_geometry\" id=\"struct_nv_flex_convex_mesh_geometry\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">struct NvFlexConvexMeshGeometry</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<div class=\"textblock\"><p>A convex mesh instance with non-uniform scale </p>\n</div><table class=\"fieldtable\">\n<tr><th colspan=\"3\">Data Fields</th></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a800620cc4888bbe5696c5f0e19b22bb9\"></a>float</td>\n<td class=\"fieldname\">\nscale[3]</td>\n<td class=\"fielddoc\">\n</td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"abdc984644770fec15d7af740c9730186\"></a><a class=\"el\" href=\"_nv_flex_8h.html#a7ab5aa68da7ca1f69211a900f1a1c586\">NvFlexConvexMeshId</a></td>\n<td class=\"fieldname\">\nmesh</td>\n<td class=\"fielddoc\">\n</td></tr>\n</table>\n\n</div>\n</div>\n<a name=\"struct_nv_flex_triangle_mesh_geometry\" id=\"struct_nv_flex_triangle_mesh_geometry\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">struct NvFlexTriangleMeshGeometry</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<div class=\"textblock\"><p>A scaled triangle mesh instance with non-uniform scale </p>\n</div><table class=\"fieldtable\">\n<tr><th colspan=\"3\">Data Fields</th></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"ab6e2aa06b69e92cbd3b2bca19f18e794\"></a>float</td>\n<td class=\"fieldname\">\nscale[3]</td>\n<td class=\"fielddoc\">\nThe scale of the object from local space to world space. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"af6a50e64591866ae2390a57e3342566c\"></a><a class=\"el\" href=\"_nv_flex_8h.html#a2aea4c3d772b4dbccb7dd9ba37c1bdc0\">NvFlexTriangleMeshId</a></td>\n<td class=\"fieldname\">\nmesh</td>\n<td class=\"fielddoc\">\nA triangle mesh pointer created by <a class=\"el\" href=\"_nv_flex_8h.html#afdda5a5210938a1e8a7c3a8218ad468e\">NvFlexCreateTriangleMesh()</a> </td></tr>\n</table>\n\n</div>\n</div>\n<a name=\"struct_nv_flex_s_d_f_geometry\" id=\"struct_nv_flex_s_d_f_geometry\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">struct NvFlexSDFGeometry</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<div class=\"textblock\"><p>A scaled signed distance field instance, the local origin of the SDF is at corner of the field corresponding to the first voxel. The field is mapped to the local space volume [0, 1] in each dimension. </p>\n</div><table class=\"fieldtable\">\n<tr><th colspan=\"3\">Data Fields</th></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a0008a52f6ae1e17c436b095549bf1c78\"></a>float</td>\n<td class=\"fieldname\">\nscale</td>\n<td class=\"fielddoc\">\nUniform scale of SDF, this corresponds to the world space width of the shape. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a0a6936f3cb0544ad624f1dea6b7eb50c\"></a><a class=\"el\" href=\"_nv_flex_8h.html#a56e990c5bfbc89677988cbf2471c0ade\">NvFlexDistanceFieldId</a></td>\n<td class=\"fieldname\">\nfield</td>\n<td class=\"fielddoc\">\nA signed distance field pointer created by <a class=\"el\" href=\"_nv_flex_8h.html#a5c28caf6d5d513c5adacd4fbc782f308\">NvFlexCreateDistanceField()</a> </td></tr>\n</table>\n\n</div>\n</div>\n<a name=\"union_nv_flex_collision_geometry\" id=\"union_nv_flex_collision_geometry\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">union NvFlexCollisionGeometry</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<div class=\"textblock\"><p>This union allows collision geometry to be sent to Flex as a flat array of 16-byte data structures, the shape flags array specifies the type for each shape, see <a class=\"el\" href=\"_nv_flex_8h.html#aea4e7117722df53dfe44c676496117fa\">NvFlexSetShapes()</a>. </p>\n</div><table class=\"fieldtable\">\n<tr><th colspan=\"3\">Data Fields</th></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a0e3c0e02ec7addd25ebb3355a8865bfb\"></a><a class=\"el\" href=\"_nv_flex_8h.html#struct_nv_flex_sphere_geometry\">NvFlexSphereGeometry</a></td>\n<td class=\"fieldname\">\nsphere</td>\n<td class=\"fielddoc\">\n</td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a8ad5aa3c9c9456607de9a2c9f1d0d2c1\"></a><a class=\"el\" href=\"_nv_flex_8h.html#struct_nv_flex_capsule_geometry\">NvFlexCapsuleGeometry</a></td>\n<td class=\"fieldname\">\ncapsule</td>\n<td class=\"fielddoc\">\n</td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a53e827707abaf2e03b78c3c88469d7bf\"></a><a class=\"el\" href=\"_nv_flex_8h.html#struct_nv_flex_box_geometry\">NvFlexBoxGeometry</a></td>\n<td class=\"fieldname\">\nbox</td>\n<td class=\"fielddoc\">\n</td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"ae701fdcc0e7bf26c1dfc54d400ffb3d2\"></a><a class=\"el\" href=\"_nv_flex_8h.html#struct_nv_flex_convex_mesh_geometry\">NvFlexConvexMeshGeometry</a></td>\n<td class=\"fieldname\">\nconvexMesh</td>\n<td class=\"fielddoc\">\n</td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a064e3ce30320610d495ba3faa72dc8d6\"></a><a class=\"el\" href=\"_nv_flex_8h.html#struct_nv_flex_triangle_mesh_geometry\">NvFlexTriangleMeshGeometry</a></td>\n<td class=\"fieldname\">\ntriMesh</td>\n<td class=\"fielddoc\">\n</td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"ac0049037dcff7a769030acd567eac6cd\"></a><a class=\"el\" href=\"_nv_flex_8h.html#struct_nv_flex_s_d_f_geometry\">NvFlexSDFGeometry</a></td>\n<td class=\"fieldname\">\nsdf</td>\n<td class=\"fielddoc\">\n</td></tr>\n</table>\n\n</div>\n</div>\n<a name=\"struct_nv_flex_detail_timer\" id=\"struct_nv_flex_detail_timer\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">struct NvFlexDetailTimer</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<div class=\"textblock\"><p>Holds the execution time for a specfic shader </p>\n</div><table class=\"fieldtable\">\n<tr><th colspan=\"3\">Data Fields</th></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a3ddbb30a2fde4a2e9ccec7854300b1d4\"></a>char *</td>\n<td class=\"fieldname\">\nname</td>\n<td class=\"fielddoc\">\n</td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a83f6117fe98bc6426027a9b784fd737c\"></a>float</td>\n<td class=\"fieldname\">\ntime</td>\n<td class=\"fielddoc\">\n</td></tr>\n</table>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Typedef Documentation</h2>\n<a class=\"anchor\" id=\"a3078976e98f370a9fbdb11db80f1f318\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">typedef struct <a class=\"el\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a> <a class=\"el\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Opaque type representing a library that can create FlexSolvers, FlexTriangleMeshes, and NvFlexBuffers </p>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"afaeb57f4ee7e54b1ae1b912a465ed39e\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">typedef struct <a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> <a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Opaque type representing a collection of particles and constraints </p>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"a50a3933d3f7b77d0500c702b1fa9ba9a\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">typedef struct <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Opaque type representing a data buffer, type and contents depends on usage, see <a class=\"el\" href=\"_nv_flex_8h.html#ad48f83b8442323687d2268206e913496\">NvFlexAllocBuffer()</a> </p>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"abe6f00c9b94debbf7c181082a14076d5\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">typedef void(* NvFlexErrorCallback) (<a class=\"el\" href=\"_nv_flex_8h.html#ab4435b3857752360375fe52fc992cfca\">NvFlexErrorSeverity</a> type, const char *msg, const char *file, int line)</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Function pointer type for error reporting callbacks </p>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"a2aea4c3d772b4dbccb7dd9ba37c1bdc0\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">typedef unsigned int <a class=\"el\" href=\"_nv_flex_8h.html#a2aea4c3d772b4dbccb7dd9ba37c1bdc0\">NvFlexTriangleMeshId</a></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>An opaque type representing a static triangle mesh in the solver </p>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"a56e990c5bfbc89677988cbf2471c0ade\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">typedef unsigned int <a class=\"el\" href=\"_nv_flex_8h.html#a56e990c5bfbc89677988cbf2471c0ade\">NvFlexDistanceFieldId</a></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>An opaque type representing a signed distance field collision shape in the solver. </p>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"a7ab5aa68da7ca1f69211a900f1a1c586\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">typedef unsigned int <a class=\"el\" href=\"_nv_flex_8h.html#a7ab5aa68da7ca1f69211a900f1a1c586\">NvFlexConvexMeshId</a></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>An opaque type representing a convex mesh collision shape in the solver. Convex mesh shapes may consist of up to 64 planes of the form a*x + b*y + c*z + d = 0, particles will be constrained to the outside of the shape. </p>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Enumeration Type Documentation</h2>\n<a class=\"anchor\" id=\"a6541b33eaca7b2323e73b30cea34d16c\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">enum <a class=\"el\" href=\"_nv_flex_8h.html#a6541b33eaca7b2323e73b30cea34d16c\">NvFlexMapFlags</a></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Controls behavior of <a class=\"el\" href=\"_nv_flex_8h.html#a0898bb9210440b159688d4647f6eb083\">NvFlexMap()</a> </p>\n<table class=\"fieldtable\">\n<tr><th colspan=\"2\">Enumerator</th></tr><tr><td class=\"fieldname\"><a class=\"anchor\" id=\"a6541b33eaca7b2323e73b30cea34d16ca11adf517d180983daec217e761acc3d6\"></a>eNvFlexMapWait&#160;</td><td class=\"fielddoc\">\n<p>Calling thread will be blocked until buffer is ready for access, default. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a class=\"anchor\" id=\"a6541b33eaca7b2323e73b30cea34d16ca1bd450ab65ccc06288fae95e23d5e6f1\"></a>eNvFlexMapDoNotWait&#160;</td><td class=\"fielddoc\">\n<p>Calling thread will check if buffer is ready for access, if not ready then the method will return NULL immediately. </p>\n</td></tr>\n</table>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"a169e4c126acf46bdebf76c36a44deca3\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">enum <a class=\"el\" href=\"_nv_flex_8h.html#a169e4c126acf46bdebf76c36a44deca3\">NvFlexBufferType</a></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Controls memory space of a NvFlexBuffer, see <a class=\"el\" href=\"_nv_flex_8h.html#ad48f83b8442323687d2268206e913496\">NvFlexAllocBuffer()</a> </p>\n<table class=\"fieldtable\">\n<tr><th colspan=\"2\">Enumerator</th></tr><tr><td class=\"fieldname\"><a class=\"anchor\" id=\"a169e4c126acf46bdebf76c36a44deca3aec63221ddc1b13eff4db55fbf6cd85f8\"></a>eNvFlexBufferHost&#160;</td><td class=\"fielddoc\">\n<p>A host mappable buffer, pinned memory on CUDA, staging buffer on DX. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a class=\"anchor\" id=\"a169e4c126acf46bdebf76c36a44deca3a103255fa795b55a7f430a41493002576\"></a>eNvFlexBufferDevice&#160;</td><td class=\"fielddoc\">\n<p>A device memory buffer, mapping this on CUDA will return a device memory pointer, and will return a buffer pointer on DX. </p>\n</td></tr>\n</table>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"a46f5d35902f7da40628247175a174f3b\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">enum <a class=\"el\" href=\"_nv_flex_8h.html#a46f5d35902f7da40628247175a174f3b\">NvFlexRelaxationMode</a></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Controls the relaxation method used by the solver to ensure convergence </p>\n<table class=\"fieldtable\">\n<tr><th colspan=\"2\">Enumerator</th></tr><tr><td class=\"fieldname\"><a class=\"anchor\" id=\"a46f5d35902f7da40628247175a174f3ba33711a4b466d606d68dee43918f819db\"></a>eNvFlexRelaxationGlobal&#160;</td><td class=\"fielddoc\">\n<p>The relaxation factor is a fixed multiplier on each constraint's position delta. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a class=\"anchor\" id=\"a46f5d35902f7da40628247175a174f3ba858afe9529e908c2bc8ce92da8943b7c\"></a>eNvFlexRelaxationLocal&#160;</td><td class=\"fielddoc\">\n<p>The relaxation factor is a fixed multiplier on each constraint's delta divided by the particle's constraint count, convergence will be slower but more reliable. </p>\n</td></tr>\n</table>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"a5ad2a7745fcb4d4afd5b5f1bda074644\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">enum <a class=\"el\" href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644\">NvFlexPhase</a></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Flags that control a particle's behavior and grouping, use <a class=\"el\" href=\"_nv_flex_8h.html#ab43db5f28808f8038cfc9330d4b47d57\">NvFlexMakePhase()</a> to construct a valid 32bit phase identifier </p>\n<table class=\"fieldtable\">\n<tr><th colspan=\"2\">Enumerator</th></tr><tr><td class=\"fieldname\"><a class=\"anchor\" id=\"a5ad2a7745fcb4d4afd5b5f1bda074644ad108f6ebf28346813cfd3602d984bb32\"></a>eNvFlexPhaseGroupMask&#160;</td><td class=\"fielddoc\">\n<p>Bits [ 0, 19] represent the particle group for controlling collisions. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a class=\"anchor\" id=\"a5ad2a7745fcb4d4afd5b5f1bda074644a7b776084468bae4e3566484cf34d0154\"></a>eNvFlexPhaseFlagsMask&#160;</td><td class=\"fielddoc\">\n<p>Bits [20, 23] hold flags about how the particle behave. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a class=\"anchor\" id=\"a5ad2a7745fcb4d4afd5b5f1bda074644ae4ea43366942f719f40e8526ad21a038\"></a>eNvFlexPhaseShapeChannelMask&#160;</td><td class=\"fielddoc\">\n<p>Bits [24, 30] hold flags representing what shape collision channels particles will collide with, see <a class=\"el\" href=\"_nv_flex_8h.html#ad6ee1e23e0c49aad63df8f605182de3a\">NvFlexMakeShapeFlags()</a> (highest bit reserved for now) </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a class=\"anchor\" id=\"a5ad2a7745fcb4d4afd5b5f1bda074644a453a23cc8e9d2e6097b5be187f3c6977\"></a>eNvFlexPhaseSelfCollide&#160;</td><td class=\"fielddoc\">\n<p>If set this particle will interact with particles of the same group. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a class=\"anchor\" id=\"a5ad2a7745fcb4d4afd5b5f1bda074644a76a62d3a5df428f18e01f8b37573a7b1\"></a>eNvFlexPhaseSelfCollideFilter&#160;</td><td class=\"fielddoc\">\n<p>If set this particle will ignore collisions with particles closer than the radius in the rest pose, this flag should not be specified unless valid rest positions have been specified using <a class=\"el\" href=\"_nv_flex_8h.html#a125cfd9817437bb4f4bcb9418efa3dda\">NvFlexSetRestParticles()</a> </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a class=\"anchor\" id=\"a5ad2a7745fcb4d4afd5b5f1bda074644a1728772beb1746ace4c549b2ed8f1d74\"></a>eNvFlexPhaseFluid&#160;</td><td class=\"fielddoc\">\n<p>If set this particle will generate fluid density constraints for its overlapping neighbors. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a class=\"anchor\" id=\"a5ad2a7745fcb4d4afd5b5f1bda074644a52ee05f3e425c336856277774bc9f69f\"></a>eNvFlexPhaseUnused&#160;</td><td class=\"fielddoc\">\n<p>Reserved. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a class=\"anchor\" id=\"a5ad2a7745fcb4d4afd5b5f1bda074644a66aa70953a97744621e2afa41d0e32d2\"></a>eNvFlexPhaseShapeChannel0&#160;</td><td class=\"fielddoc\">\n<p>Particle will collide with shapes with channel 0 set (see <a class=\"el\" href=\"_nv_flex_8h.html#ad6ee1e23e0c49aad63df8f605182de3a\">NvFlexMakeShapeFlags()</a>) </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a class=\"anchor\" id=\"a5ad2a7745fcb4d4afd5b5f1bda074644a1de4e956764950e501bcb8376a70f5a9\"></a>eNvFlexPhaseShapeChannel1&#160;</td><td class=\"fielddoc\">\n<p>Particle will collide with shapes with channel 1 set (see <a class=\"el\" href=\"_nv_flex_8h.html#ad6ee1e23e0c49aad63df8f605182de3a\">NvFlexMakeShapeFlags()</a>) </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a class=\"anchor\" id=\"a5ad2a7745fcb4d4afd5b5f1bda074644aa3a4fd0d5930b31199334e500ac2d7c8\"></a>eNvFlexPhaseShapeChannel2&#160;</td><td class=\"fielddoc\">\n<p>Particle will collide with shapes with channel 2 set (see <a class=\"el\" href=\"_nv_flex_8h.html#ad6ee1e23e0c49aad63df8f605182de3a\">NvFlexMakeShapeFlags()</a>) </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a class=\"anchor\" id=\"a5ad2a7745fcb4d4afd5b5f1bda074644ab4034dbf78d6045ee13278531ee21c2b\"></a>eNvFlexPhaseShapeChannel3&#160;</td><td class=\"fielddoc\">\n<p>Particle will collide with shapes with channel 3 set (see <a class=\"el\" href=\"_nv_flex_8h.html#ad6ee1e23e0c49aad63df8f605182de3a\">NvFlexMakeShapeFlags()</a>) </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a class=\"anchor\" id=\"a5ad2a7745fcb4d4afd5b5f1bda074644af309316efb695be38a4e15986be21ef9\"></a>eNvFlexPhaseShapeChannel4&#160;</td><td class=\"fielddoc\">\n<p>Particle will collide with shapes with channel 4 set (see <a class=\"el\" href=\"_nv_flex_8h.html#ad6ee1e23e0c49aad63df8f605182de3a\">NvFlexMakeShapeFlags()</a>) </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a class=\"anchor\" id=\"a5ad2a7745fcb4d4afd5b5f1bda074644a92bbb75d47ea0058a9a89deb0abec67f\"></a>eNvFlexPhaseShapeChannel5&#160;</td><td class=\"fielddoc\">\n<p>Particle will collide with shapes with channel 5 set (see <a class=\"el\" href=\"_nv_flex_8h.html#ad6ee1e23e0c49aad63df8f605182de3a\">NvFlexMakeShapeFlags()</a>) </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a class=\"anchor\" id=\"a5ad2a7745fcb4d4afd5b5f1bda074644a0c8d08e646d2713e34d7e2dd6e7b21f2\"></a>eNvFlexPhaseShapeChannel6&#160;</td><td class=\"fielddoc\">\n<p>Particle will collide with shapes with channel 6 set (see <a class=\"el\" href=\"_nv_flex_8h.html#ad6ee1e23e0c49aad63df8f605182de3a\">NvFlexMakeShapeFlags()</a>) </p>\n</td></tr>\n</table>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"ab4435b3857752360375fe52fc992cfca\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">enum <a class=\"el\" href=\"_nv_flex_8h.html#ab4435b3857752360375fe52fc992cfca\">NvFlexErrorSeverity</a></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Flex error return codes </p>\n<table class=\"fieldtable\">\n<tr><th colspan=\"2\">Enumerator</th></tr><tr><td class=\"fieldname\"><a class=\"anchor\" id=\"ab4435b3857752360375fe52fc992cfcaa8aed6496f033604148138299fa075edd\"></a>eNvFlexLogError&#160;</td><td class=\"fielddoc\">\n<p>Error messages. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a class=\"anchor\" id=\"ab4435b3857752360375fe52fc992cfcaa03d239332ae87f46270855dd06b6e58f\"></a>eNvFlexLogInfo&#160;</td><td class=\"fielddoc\">\n<p>Information messages. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a class=\"anchor\" id=\"ab4435b3857752360375fe52fc992cfcaa5538835c4767004ba5fd443ada08ea61\"></a>eNvFlexLogWarning&#160;</td><td class=\"fielddoc\">\n<p>Warning messages. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a class=\"anchor\" id=\"ab4435b3857752360375fe52fc992cfcaa77b51759e33d60b2caf327bb4835351e\"></a>eNvFlexLogDebug&#160;</td><td class=\"fielddoc\">\n<p>Used only in debug version of dll. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a class=\"anchor\" id=\"ab4435b3857752360375fe52fc992cfcaa8feff72c0b0391e8adf3ddb6c39ef10e\"></a>eNvFlexLogAll&#160;</td><td class=\"fielddoc\">\n<p>All log types. </p>\n</td></tr>\n</table>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"a4f80c8bcfa6de99a52983adb13d80db9\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">enum <a class=\"el\" href=\"_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9\">NvFlexSolverCallbackStage</a></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Defines the set of stages at which callbacks may be registered </p>\n<table class=\"fieldtable\">\n<tr><th colspan=\"2\">Enumerator</th></tr><tr><td class=\"fieldname\"><a class=\"anchor\" id=\"a4f80c8bcfa6de99a52983adb13d80db9a9f3914fdb03915a14ebe55a2c730e7ff\"></a>eNvFlexStageIterationStart&#160;</td><td class=\"fielddoc\">\n<p>Called at the beginning of each constraint iteration. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a class=\"anchor\" id=\"a4f80c8bcfa6de99a52983adb13d80db9ab75a912c3990b0fbd6b06a6741a20e69\"></a>eNvFlexStageIterationEnd&#160;</td><td class=\"fielddoc\">\n<p>Called at the end of each constraint iteration. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a class=\"anchor\" id=\"a4f80c8bcfa6de99a52983adb13d80db9a79ce9005dbc92198a1f180c6afde6a44\"></a>eNvFlexStageSubstepBegin&#160;</td><td class=\"fielddoc\">\n<p>Called at the beginning of each substep after the prediction step has been completed. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a class=\"anchor\" id=\"a4f80c8bcfa6de99a52983adb13d80db9a6f13e2ebdbf21f8c8ebcfe1ac9160586\"></a>eNvFlexStageSubstepEnd&#160;</td><td class=\"fielddoc\">\n<p>Called at the end of each substep after the velocity has been updated by the constraints. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a class=\"anchor\" id=\"a4f80c8bcfa6de99a52983adb13d80db9a260340ba9071892bd8795c3b29289806\"></a>eNvFlexStageUpdateEnd&#160;</td><td class=\"fielddoc\">\n<p>Called at the end of solver update after the final substep has completed. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a class=\"anchor\" id=\"a4f80c8bcfa6de99a52983adb13d80db9a1f2e7acff9b3b74922f90240d29fd1b3\"></a>eNvFlexStageCount&#160;</td><td class=\"fielddoc\">\n<p>Number of stages. </p>\n</td></tr>\n</table>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"a9b2d3dc5ac42011aeec4e13be2e14252\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">enum <a class=\"el\" href=\"_nv_flex_8h.html#a9b2d3dc5ac42011aeec4e13be2e14252\">NvFlexComputeType</a></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Defines the different compute backends that Flex can use </p>\n<table class=\"fieldtable\">\n<tr><th colspan=\"2\">Enumerator</th></tr><tr><td class=\"fieldname\"><a class=\"anchor\" id=\"a9b2d3dc5ac42011aeec4e13be2e14252ad0c27f7aafdc4fe569722025c8eb2178\"></a>eNvFlexCUDA&#160;</td><td class=\"fielddoc\">\n<p>Use CUDA compute for Flex, the application must link against the CUDA libraries. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a class=\"anchor\" id=\"a9b2d3dc5ac42011aeec4e13be2e14252a297a93979a88fda6e6b551dcab5fb3df\"></a>eNvFlexD3D11&#160;</td><td class=\"fielddoc\">\n<p>Use DirectX 11 compute for Flex, the application must link against the D3D libraries. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a class=\"anchor\" id=\"a9b2d3dc5ac42011aeec4e13be2e14252a15e78a7baf13cc7fd73f255ac84f0943\"></a>eNvFlexD3D12&#160;</td><td class=\"fielddoc\">\n<p>Use DirectX 12 compute for Flex, the application must link against the D3D libraries. </p>\n</td></tr>\n</table>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"aee5c235d5fab40831cf339680aa25560\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">enum <a class=\"el\" href=\"_nv_flex_8h.html#aee5c235d5fab40831cf339680aa25560\">NvFlexFeatureMode</a></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Controls which features are enabled, choosing a simple option will disable features and can lead to better performance and reduced memory usage </p>\n<table class=\"fieldtable\">\n<tr><th colspan=\"2\">Enumerator</th></tr><tr><td class=\"fieldname\"><a class=\"anchor\" id=\"aee5c235d5fab40831cf339680aa25560a3ab06dc4cd4aa073ab0f2d96a56c499d\"></a>eNvFlexFeatureModeDefault&#160;</td><td class=\"fielddoc\">\n<p>All features enabled. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a class=\"anchor\" id=\"aee5c235d5fab40831cf339680aa25560a421fe1e1bb00fc41e9b32208cd9155f5\"></a>eNvFlexFeatureModeSimpleSolids&#160;</td><td class=\"fielddoc\">\n<p>Simple per-particle collision (no per-particle SDF normals, no fluids) </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a class=\"anchor\" id=\"aee5c235d5fab40831cf339680aa25560aeab2b8a68b528d46e11b71ad0f4d83f2\"></a>eNvFlexFeatureModeSimpleFluids&#160;</td><td class=\"fielddoc\">\n<p>Simple single phase fluid-only particles (no solids) </p>\n</td></tr>\n</table>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"a0506ae712f846087b8647ea389ac26ba\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">enum <a class=\"el\" href=\"_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26ba\">NvFlexCollisionShapeType</a></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<table class=\"fieldtable\">\n<tr><th colspan=\"2\">Enumerator</th></tr><tr><td class=\"fieldname\"><a class=\"anchor\" id=\"a0506ae712f846087b8647ea389ac26baae22144512ae098865c6725af16a68ad3\"></a>eNvFlexShapeSphere&#160;</td><td class=\"fielddoc\">\n<p>A sphere shape, see FlexSphereGeometry. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a class=\"anchor\" id=\"a0506ae712f846087b8647ea389ac26baa1724c140b583fbf2c11c14a24dd3764a\"></a>eNvFlexShapeCapsule&#160;</td><td class=\"fielddoc\">\n<p>A capsule shape, see FlexCapsuleGeometry. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a class=\"anchor\" id=\"a0506ae712f846087b8647ea389ac26baab17c8dd4f9500016b77a9b49de3c48e7\"></a>eNvFlexShapeBox&#160;</td><td class=\"fielddoc\">\n<p>A box shape, see FlexBoxGeometry. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a class=\"anchor\" id=\"a0506ae712f846087b8647ea389ac26baaed52f0e803c6745ffc1a5f018a8756ce\"></a>eNvFlexShapeConvexMesh&#160;</td><td class=\"fielddoc\">\n<p>A convex mesh shape, see FlexConvexMeshGeometry. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a class=\"anchor\" id=\"a0506ae712f846087b8647ea389ac26baa315488da382a5e9794c83358385f7ae1\"></a>eNvFlexShapeTriangleMesh&#160;</td><td class=\"fielddoc\">\n<p>A triangle mesh shape, see FlexTriangleMeshGeometry. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a class=\"anchor\" id=\"a0506ae712f846087b8647ea389ac26baa1fd78f8694b954f8d12fe7d911f17180\"></a>eNvFlexShapeSDF&#160;</td><td class=\"fielddoc\">\n<p>A signed distance field shape, see FlexSDFGeometry. </p>\n</td></tr>\n</table>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"a31c31ea4f96cd4fdadc6b7317691304c\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">enum <a class=\"el\" href=\"_nv_flex_8h.html#a31c31ea4f96cd4fdadc6b7317691304c\">NvFlexCollisionShapeFlags</a></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<table class=\"fieldtable\">\n<tr><th colspan=\"2\">Enumerator</th></tr><tr><td class=\"fieldname\"><a class=\"anchor\" id=\"a31c31ea4f96cd4fdadc6b7317691304cae8a10737948abf6973f0f1d66bae7ef8\"></a>eNvFlexShapeFlagTypeMask&#160;</td><td class=\"fielddoc\">\n<p>Lower 3 bits holds the type of the collision shape given by the NvFlexCollisionShapeType enum. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a class=\"anchor\" id=\"a31c31ea4f96cd4fdadc6b7317691304cadc6740cf6d829fba159d92e43ffb5992\"></a>eNvFlexShapeFlagDynamic&#160;</td><td class=\"fielddoc\">\n<p>Indicates the shape is dynamic and should have lower priority over static collision shapes. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a class=\"anchor\" id=\"a31c31ea4f96cd4fdadc6b7317691304ca409215fa9b917f2d0830a66bd11b3ff8\"></a>eNvFlexShapeFlagTrigger&#160;</td><td class=\"fielddoc\">\n<p>Indicates that the shape is a trigger volume, this means it will not perform any collision response, but will be reported in the contacts array (see <a class=\"el\" href=\"_nv_flex_8h.html#a7edac9cf450917147b83e98f5cb09f5d\">NvFlexGetContacts()</a>) </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a class=\"anchor\" id=\"a31c31ea4f96cd4fdadc6b7317691304caa1c1225f6b8b2906c83748cfc46b81d9\"></a>eNvFlexShapeFlagReserved&#160;</td><td class=\"fielddoc\">\n</td></tr>\n</table>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Function Documentation</h2>\n<a class=\"anchor\" id=\"a615e8070212c24a70e7a849120c13353\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API int NvFlexMakePhaseWithChannels </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>group</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>particleFlags</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>shapeChannels</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Generate a bit set for the particle phase, this is a helper method to simply combine the group id and bit flags into a single integer.</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">group</td><td>The index of the group for this particle, should be an integer &lt; 2^20 </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">particleFlags</td><td>A combination of the phase flags which should be a combination of eNvFlexPhaseSelfCollide, eNvFlexPhaseSelfCollideFilter, and eNvFlexPhaseFluid </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">shapeChannels</td><td>A combination of eNvFlexPhaseShapeChannel* flags that control which shapes will be collided against, particles will only collide against shapes that share at least one set channel, see <a class=\"el\" href=\"_nv_flex_8h.html#ad83b7fb561a91467a3094771bb682b96\">NvFlexMakeShapeFlagsWithChannels()</a> </td></tr>\n  </table>\n  </dd>\n</dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"ab43db5f28808f8038cfc9330d4b47d57\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API int NvFlexMakePhase </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>group</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>particleFlags</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Deprecated helper method to generates a phase with all shape channels set </p>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"a687e5ec141948f779faa9183b68cb743\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API <a class=\"el\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a>* NvFlexInit </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>version</em> = <code>NV_FLEX_VERSION</code>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#abe6f00c9b94debbf7c181082a14076d5\">NvFlexErrorCallback</a>&#160;</td>\n          <td class=\"paramname\"><em>errorFunc</em> = <code>0</code>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#struct_nv_flex_init_desc\">NvFlexInitDesc</a> *&#160;</td>\n          <td class=\"paramname\"><em>desc</em> = <code>0</code>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Initialize library, should be called before any other API function.</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">version</td><td>The version number the app is expecting, should almost always be NV_FLEX_VERSION </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">errorFunc</td><td>The callback used for reporting errors. </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">desc</td><td>The <a class=\"el\" href=\"_nv_flex_8h.html#struct_nv_flex_init_desc\">NvFlexInitDesc</a> struct defining the device ordinal, D3D device/context and the type of D3D compute being used </td></tr>\n  </table>\n  </dd>\n</dl>\n<dl class=\"section return\"><dt>Returns</dt><dd>A pointer to a library instance that can be used to allocate shared object such as triangle meshes, buffers, etc </dd></dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"aaf59e45ada57c7f958a8030099cbe211\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API void NvFlexShutdown </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a> *&#160;</td>\n          <td class=\"paramname\"><em>lib</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Shutdown library, users should manually destroy any previously created solvers to ensure memory is freed before calling this method. If a new CUDA context was created during <a class=\"el\" href=\"_nv_flex_8h.html#a687e5ec141948f779faa9183b68cb743\">NvFlexInit()</a> then it will be destroyed.</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">lib</td><td>The library intance to use </td></tr>\n  </table>\n  </dd>\n</dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"ac25ec5de38c177db51198bb620644d36\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API int NvFlexGetVersion </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Get library version number </p>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"a69a33d464c002a8916a5925c6ef32ae6\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API void NvFlexSetSolverDescDefaults </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#struct_nv_flex_solver_desc\">NvFlexSolverDesc</a> *&#160;</td>\n          <td class=\"paramname\"><em>desc</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Initialize the solver desc to its default values </p><dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">desc</td><td>Pointer to a description structure that will be initialized to default values </td></tr>\n  </table>\n  </dd>\n</dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"a9e925acbc34675dfe247da017cbd855f\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API <a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a>* NvFlexCreateSolver </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a> *&#160;</td>\n          <td class=\"paramname\"><em>lib</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const <a class=\"el\" href=\"_nv_flex_8h.html#struct_nv_flex_solver_desc\">NvFlexSolverDesc</a> *&#160;</td>\n          <td class=\"paramname\"><em>desc</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Create a new particle solver</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">lib</td><td>The library instance to use </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">desc</td><td>Pointer to a solver description structure used to create the solver </td></tr>\n  </table>\n  </dd>\n</dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"a1d755d7b090f7ed5c4c50d2d3fef1558\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API void NvFlexDestroySolver </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *&#160;</td>\n          <td class=\"paramname\"><em>solver</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Delete a particle solver</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">solver</td><td>A valid solver pointer created from <a class=\"el\" href=\"_nv_flex_8h.html#a9e925acbc34675dfe247da017cbd855f\">NvFlexCreateSolver()</a> </td></tr>\n  </table>\n  </dd>\n</dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"ad53909027df03c6a352746d8ddc088ef\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API int NvFlexGetSolvers </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a> *&#160;</td>\n          <td class=\"paramname\"><em>lib</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> **&#160;</td>\n          <td class=\"paramname\"><em>solvers</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>n</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Get the list of active solvers in the library If the size of the array is smaller than the number of active solvers, only the first n entries are copied.</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">lib</td><td>The library instance to use </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">solvers</td><td>Pointer to array </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">n</td><td>Size of array </td></tr>\n  </table>\n  </dd>\n</dl>\n<dl class=\"section return\"><dt>Returns</dt><dd>The number of active solvers in the library </dd></dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"ae0d57e4fc2b3b51ec08f7da0a28ff343\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API <a class=\"el\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a>* NvFlexGetSolverLibrary </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *&#160;</td>\n          <td class=\"paramname\"><em>solver</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Return the library associated with a solver</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">solver</td><td>A valid solver created with <a class=\"el\" href=\"_nv_flex_8h.html#a9e925acbc34675dfe247da017cbd855f\">NvFlexCreateSolver()</a> </td></tr>\n  </table>\n  </dd>\n</dl>\n<dl class=\"section return\"><dt>Returns</dt><dd>A library pointer </dd></dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"afd6aff58269d6c359df2453c96397840\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API void NvFlexGetSolverDesc </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *&#160;</td>\n          <td class=\"paramname\"><em>solver</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#struct_nv_flex_solver_desc\">NvFlexSolverDesc</a> *&#160;</td>\n          <td class=\"paramname\"><em>desc</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Return the solver desc that was used to create a solver</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">solver</td><td>Pointer to a valid Flex solver </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">desc</td><td>Pointer to a desc structure </td></tr>\n  </table>\n  </dd>\n</dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"ac5427457488ab3f2de91cf65335dda08\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API <a class=\"el\" href=\"struct_nv_flex_solver_callback.html\">NvFlexSolverCallback</a> NvFlexRegisterSolverCallback </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *&#160;</td>\n          <td class=\"paramname\"><em>solver</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"struct_nv_flex_solver_callback.html\">NvFlexSolverCallback</a>&#160;</td>\n          <td class=\"paramname\"><em>function</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9\">NvFlexSolverCallbackStage</a>&#160;</td>\n          <td class=\"paramname\"><em>stage</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Registers a callback for a solver stage, the callback will be invoked from the same thread that calls <a class=\"el\" href=\"_nv_flex_8h.html#ac75370f005fd453fe8a324fe62be1b5c\">NvFlexUpdateSolver()</a>.</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">solver</td><td>A valid solver </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">function</td><td>A pointer to a function that will be called during the solver update </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">stage</td><td>The stage of the update at which the callback function will be called</td></tr>\n  </table>\n  </dd>\n</dl>\n<dl class=\"section return\"><dt>Returns</dt><dd>The previously registered callback for this slot, this allows multiple users to chain callbacks together </dd></dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"ac75370f005fd453fe8a324fe62be1b5c\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API void NvFlexUpdateSolver </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *&#160;</td>\n          <td class=\"paramname\"><em>solver</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">float&#160;</td>\n          <td class=\"paramname\"><em>dt</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>substeps</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>enableTimers</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Integrate particle solver forward in time. Below is an example of how to step Flex in the context of a simple game loop:</p>\n<div class=\"fragment\"><div class=\"line\"><a class=\"code\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a>* library = <a class=\"code\" href=\"_nv_flex_8h.html#a687e5ec141948f779faa9183b68cb743\">NvFlexInit</a>();</div>\n<div class=\"line\"><a class=\"code\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a>* solver = <a class=\"code\" href=\"_nv_flex_8h.html#a9e925acbc34675dfe247da017cbd855f\">NvFlexCreateSolver</a>(library);</div>\n<div class=\"line\"></div>\n<div class=\"line\"><a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* particleBuffer = <a class=\"code\" href=\"_nv_flex_8h.html#ad48f83b8442323687d2268206e913496\">NvFlexAllocBuffer</a>(library, n, <span class=\"keyword\">sizeof</span>(Vec4), <a class=\"code\" href=\"_nv_flex_8h.html#a169e4c126acf46bdebf76c36a44deca3aec63221ddc1b13eff4db55fbf6cd85f8\">eNvFlexBufferHost</a>);</div>\n<div class=\"line\"><a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* velocityBuffer = <a class=\"code\" href=\"_nv_flex_8h.html#ad48f83b8442323687d2268206e913496\">NvFlexAllocBuffer</a>(library, n, <span class=\"keyword\">sizeof</span>(Vec4), <a class=\"code\" href=\"_nv_flex_8h.html#a169e4c126acf46bdebf76c36a44deca3aec63221ddc1b13eff4db55fbf6cd85f8\">eNvFlexBufferHost</a>);</div>\n<div class=\"line\"><a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* phaseBuffer = <a class=\"code\" href=\"_nv_flex_8h.html#ad48f83b8442323687d2268206e913496\">NvFlexAllocBuffer</a>(library, n, <span class=\"keyword\">sizeof</span>(<span class=\"keywordtype\">int</span>), <a class=\"code\" href=\"_nv_flex_8h.html#a169e4c126acf46bdebf76c36a44deca3aec63221ddc1b13eff4db55fbf6cd85f8\">eNvFlexBufferHost</a>);</div>\n<div class=\"line\"></div>\n<div class=\"line\"><span class=\"keywordflow\">while</span>(!done)</div>\n<div class=\"line\">{</div>\n<div class=\"line\"> <span class=\"comment\">// map buffers for reading / writing</span></div>\n<div class=\"line\"> float4* particles = (float4*)<a class=\"code\" href=\"_nv_flex_8h.html#a0898bb9210440b159688d4647f6eb083\">NvFlexMap</a>(particles, <a class=\"code\" href=\"_nv_flex_8h.html#a6541b33eaca7b2323e73b30cea34d16ca11adf517d180983daec217e761acc3d6\">eNvFlexMapWait</a>);</div>\n<div class=\"line\"> float3* velocities  = (float3*)<a class=\"code\" href=\"_nv_flex_8h.html#a0898bb9210440b159688d4647f6eb083\">NvFlexMap</a>(velocities, <a class=\"code\" href=\"_nv_flex_8h.html#a6541b33eaca7b2323e73b30cea34d16ca11adf517d180983daec217e761acc3d6\">eNvFlexMapWait</a>);</div>\n<div class=\"line\"> <span class=\"keywordtype\">int</span>* phases = (<span class=\"keywordtype\">int</span>*)<a class=\"code\" href=\"_nv_flex_8h.html#a0898bb9210440b159688d4647f6eb083\">NvFlexMap</a>(phases, <a class=\"code\" href=\"_nv_flex_8h.html#a6541b33eaca7b2323e73b30cea34d16ca11adf517d180983daec217e761acc3d6\">eNvFlexMapWait</a>);</div>\n<div class=\"line\"></div>\n<div class=\"line\"> <span class=\"comment\">// spawn (user method)</span></div>\n<div class=\"line\"> SpawnParticles(particles, velocities, phases);</div>\n<div class=\"line\"></div>\n<div class=\"line\"> <span class=\"comment\">// render (user method)</span></div>\n<div class=\"line\"> RenderParticles(particles, velocities, phases);</div>\n<div class=\"line\"></div>\n<div class=\"line\"> <span class=\"comment\">// unmap buffers</span></div>\n<div class=\"line\"> <a class=\"code\" href=\"_nv_flex_8h.html#a054cb27646a389ea257d1bbde46a6e97\">NvFlexUnmap</a>(particleBuffer);</div>\n<div class=\"line\"> <a class=\"code\" href=\"_nv_flex_8h.html#a054cb27646a389ea257d1bbde46a6e97\">NvFlexUnmap</a>(velocityBuffer);</div>\n<div class=\"line\"> <a class=\"code\" href=\"_nv_flex_8h.html#a054cb27646a389ea257d1bbde46a6e97\">NvFlexUnmap</a>(phaseBuffer);</div>\n<div class=\"line\"></div>\n<div class=\"line\"> <span class=\"comment\">// write to device (async)</span></div>\n<div class=\"line\"> <a class=\"code\" href=\"_nv_flex_8h.html#a7ec5ebe3e98a44a2058d6be74b2cb633\">NvFlexSetParticles</a>(particleBuffer, n);</div>\n<div class=\"line\"> <a class=\"code\" href=\"_nv_flex_8h.html#ae2b271f123db0054512936f2acc6467f\">NvFlexSetVelocities</a>(velocityBuffer, n);</div>\n<div class=\"line\"> <a class=\"code\" href=\"_nv_flex_8h.html#aa1d44495e442f8cae874c635ef847478\">NvFlexSetPhases</a>(phaseBuffer, n);</div>\n<div class=\"line\"></div>\n<div class=\"line\"> <span class=\"comment\">// tick</span></div>\n<div class=\"line\"> <a class=\"code\" href=\"_nv_flex_8h.html#ac75370f005fd453fe8a324fe62be1b5c\">NvFlexUpdateSolver</a>(solver, dt, 1, NULL);</div>\n<div class=\"line\"></div>\n<div class=\"line\"> <span class=\"comment\">// read back (async)</span></div>\n<div class=\"line\"> <a class=\"code\" href=\"_nv_flex_8h.html#aaff62cfd50431d82af5d04a6c9ac4ffd\">NvFlexGetParticles</a>(particleBuffer, n);</div>\n<div class=\"line\"> <a class=\"code\" href=\"_nv_flex_8h.html#afbcbff4e4865105514c194398ab3a7b0\">NvFlexGetVelocities</a>(velocityBuffer, n);</div>\n<div class=\"line\"> <a class=\"code\" href=\"_nv_flex_8h.html#accc944f0e76ee2e5d67c3f977b150806\">NvFlexGetPhases</a>(phaseBuffer, n);</div>\n<div class=\"line\">}</div>\n<div class=\"line\"></div>\n<div class=\"line\"><a class=\"code\" href=\"_nv_flex_8h.html#ab559759820a4322aff061745ef26c867\">NvFlexFreeBuffer</a>(particleBuffer);</div>\n<div class=\"line\"><a class=\"code\" href=\"_nv_flex_8h.html#ab559759820a4322aff061745ef26c867\">NvFlexFreeBuffer</a>(velocityBuffer);</div>\n<div class=\"line\"><a class=\"code\" href=\"_nv_flex_8h.html#ab559759820a4322aff061745ef26c867\">NvFlexFreeBuffer</a>(phaseBuffer);</div>\n<div class=\"line\"></div>\n<div class=\"line\"><a class=\"code\" href=\"_nv_flex_8h.html#a1d755d7b090f7ed5c4c50d2d3fef1558\">NvFlexDestroySolver</a>(solver);</div>\n<div class=\"line\"><a class=\"code\" href=\"_nv_flex_8h.html#aaf59e45ada57c7f958a8030099cbe211\">NvFlexShutdown</a>(library);</div>\n</div><!-- fragment --><dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">solver</td><td>A valid solver </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">dt</td><td>Time to integrate the solver forward in time by </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">substeps</td><td>The time dt will be divided into the number of sub-steps given by this parameter </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">enableTimers</td><td>Whether to enable per-kernel timers for profiling. Note that profiling can substantially slow down overall performance so this param should only be true in non-release builds </td></tr>\n  </table>\n  </dd>\n</dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"ae2db6ad8006027c1acf2315a0d15fe71\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API void NvFlexSetParams </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *&#160;</td>\n          <td class=\"paramname\"><em>solver</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const <a class=\"el\" href=\"_nv_flex_8h.html#struct_nv_flex_params\">NvFlexParams</a> *&#160;</td>\n          <td class=\"paramname\"><em>params</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Update solver paramters</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">solver</td><td>A valid solver </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">params</td><td>Parameters structure in host memory, see <a class=\"el\" href=\"_nv_flex_8h.html#struct_nv_flex_params\">NvFlexParams</a> </td></tr>\n  </table>\n  </dd>\n</dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"a581b458848039220203547af53de128f\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API void NvFlexGetParams </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *&#160;</td>\n          <td class=\"paramname\"><em>solver</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#struct_nv_flex_params\">NvFlexParams</a> *&#160;</td>\n          <td class=\"paramname\"><em>params</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Retrieve solver paramters, default values will be set at solver creation time</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">solver</td><td>A valid solver </td></tr>\n    <tr><td class=\"paramdir\">[out]</td><td class=\"paramname\">params</td><td>Parameters structure in host memory, see <a class=\"el\" href=\"_nv_flex_8h.html#struct_nv_flex_params\">NvFlexParams</a> </td></tr>\n  </table>\n  </dd>\n</dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"adc0c97635cdbb3da7b571574a3b38990\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API void NvFlexSetActive </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *&#160;</td>\n          <td class=\"paramname\"><em>solver</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td>\n          <td class=\"paramname\"><em>indices</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const <a class=\"el\" href=\"_nv_flex_8h.html#struct_nv_flex_copy_desc\">NvFlexCopyDesc</a> *&#160;</td>\n          <td class=\"paramname\"><em>desc</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Set the active particles indices in the solver</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">solver</td><td>A valid solver </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">indices</td><td>Holds the indices of particles that have been made active </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">desc</td><td>Describes the copy region, if NULL the solver will try to access the entire buffer (maxParticles length) </td></tr>\n  </table>\n  </dd>\n</dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"a1bd4b70e0118abe18ca5fe85157299b6\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API void NvFlexGetActive </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *&#160;</td>\n          <td class=\"paramname\"><em>solver</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td>\n          <td class=\"paramname\"><em>indices</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const <a class=\"el\" href=\"_nv_flex_8h.html#struct_nv_flex_copy_desc\">NvFlexCopyDesc</a> *&#160;</td>\n          <td class=\"paramname\"><em>desc</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Return the active particle indices</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">solver</td><td>A valid solver </td></tr>\n    <tr><td class=\"paramdir\">[out]</td><td class=\"paramname\">indices</td><td>a buffer of indices at least activeCount in length. Default values are successive numbers from 0 to maxParticles-1 </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">desc</td><td>Describes the copy region, if NULL the solver will try to access the entire buffer (maxParticles length) </td></tr>\n  </table>\n  </dd>\n</dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"a677dc591fe443ae058701966c52d1316\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API void NvFlexSetActiveCount </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *&#160;</td>\n          <td class=\"paramname\"><em>solver</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>n</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Set the total number of active particles</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">solver</td><td>A valid solver </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">n</td><td>The number of active particles, the first n indices in the active particles array will be used as the active count </td></tr>\n  </table>\n  </dd>\n</dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"a2345372dea2ad4f043153a84e7a2c407\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API int NvFlexGetActiveCount </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *&#160;</td>\n          <td class=\"paramname\"><em>solver</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Return the number of active particles in the solver</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">solver</td><td>A valid solver </td></tr>\n  </table>\n  </dd>\n</dl>\n<dl class=\"section return\"><dt>Returns</dt><dd>The number of active particles in the solver </dd></dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"a7ec5ebe3e98a44a2058d6be74b2cb633\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API void NvFlexSetParticles </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *&#160;</td>\n          <td class=\"paramname\"><em>solver</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td>\n          <td class=\"paramname\"><em>p</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const <a class=\"el\" href=\"_nv_flex_8h.html#struct_nv_flex_copy_desc\">NvFlexCopyDesc</a> *&#160;</td>\n          <td class=\"paramname\"><em>desc</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Set the particles state of the solver, a particle consists of 4 floating point numbers, its x,y,z position followed by its inverse mass (1/m)</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">solver</td><td>A valid solver </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">p</td><td>Pointer to a buffer of particle data, should be 4*n in length </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">desc</td><td>Describes the copy region, if NULL the solver will try to access the entire buffer (maxParticles length) </td></tr>\n  </table>\n  </dd>\n</dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"aaff62cfd50431d82af5d04a6c9ac4ffd\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API void NvFlexGetParticles </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *&#160;</td>\n          <td class=\"paramname\"><em>solver</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td>\n          <td class=\"paramname\"><em>p</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const <a class=\"el\" href=\"_nv_flex_8h.html#struct_nv_flex_copy_desc\">NvFlexCopyDesc</a> *&#160;</td>\n          <td class=\"paramname\"><em>desc</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Get the particles state of the solver, a particle consists of 4 floating point numbers, its x,y,z position followed by its inverse mass (1/m)</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">solver</td><td>A valid solver </td></tr>\n    <tr><td class=\"paramdir\">[out]</td><td class=\"paramname\">p</td><td>Pointer to a buffer of 4*n floats that will be filled out with the particle data, can be either a host or device pointer </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">desc</td><td>Describes the copy region, if NULL the solver will try to access the entire buffer (maxParticles length) </td></tr>\n  </table>\n  </dd>\n</dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"a125cfd9817437bb4f4bcb9418efa3dda\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API void NvFlexSetRestParticles </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *&#160;</td>\n          <td class=\"paramname\"><em>solver</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td>\n          <td class=\"paramname\"><em>p</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const <a class=\"el\" href=\"_nv_flex_8h.html#struct_nv_flex_copy_desc\">NvFlexCopyDesc</a> *&#160;</td>\n          <td class=\"paramname\"><em>desc</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Set the particle positions in their rest state, if eNvFlexPhaseSelfCollideFilter is set on the particle's phase attribute then particles that overlap in the rest state will not generate collisions with each other</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">solver</td><td>A valid solver </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">p</td><td>Pointer to a buffer of particle data, should be 4*n in length </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">desc</td><td>Describes the copy region, if NULL the solver will try to access the entire buffer (maxParticles length) </td></tr>\n  </table>\n  </dd>\n</dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"aafc89f87307602fb9bfa8f6668122121\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API void NvFlexGetRestParticles </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *&#160;</td>\n          <td class=\"paramname\"><em>solver</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td>\n          <td class=\"paramname\"><em>p</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const <a class=\"el\" href=\"_nv_flex_8h.html#struct_nv_flex_copy_desc\">NvFlexCopyDesc</a> *&#160;</td>\n          <td class=\"paramname\"><em>desc</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Get the particle positions in their rest state</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">solver</td><td>A valid solver </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">p</td><td>Pointer to a buffer of particle data, should be 4*n in length </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">desc</td><td>Describes the copy region, if NULL the solver will try to access the entire buffer (maxParticles length) </td></tr>\n  </table>\n  </dd>\n</dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"a96a771dd328d019e6164e5f23d29ffcb\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API void NvFlexGetSmoothParticles </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *&#160;</td>\n          <td class=\"paramname\"><em>solver</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td>\n          <td class=\"paramname\"><em>p</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const <a class=\"el\" href=\"_nv_flex_8h.html#struct_nv_flex_copy_desc\">NvFlexCopyDesc</a> *&#160;</td>\n          <td class=\"paramname\"><em>desc</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Get the Laplacian smoothed particle positions for rendering, see <a class=\"el\" href=\"_nv_flex_8h.html#ac017e05107d0362d3d03a14eaadf0657\" title=\"Control the strength of Laplacian smoothing in particles for rendering, if zero then smoothed positio...\">NvFlexParams::smoothing</a></p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">solver</td><td>A valid solver </td></tr>\n    <tr><td class=\"paramdir\">[out]</td><td class=\"paramname\">p</td><td>Pointer to a buffer of 4*n floats that will be filled out with the data, can be either a host or device pointer </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">desc</td><td>Describes the copy region, if NULL the solver will try to access the entire buffer (maxParticles length) </td></tr>\n  </table>\n  </dd>\n</dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"ae2b271f123db0054512936f2acc6467f\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API void NvFlexSetVelocities </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *&#160;</td>\n          <td class=\"paramname\"><em>solver</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td>\n          <td class=\"paramname\"><em>v</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const <a class=\"el\" href=\"_nv_flex_8h.html#struct_nv_flex_copy_desc\">NvFlexCopyDesc</a> *&#160;</td>\n          <td class=\"paramname\"><em>desc</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Set the particle velocities, each velocity is a 3-tuple of x,y,z floating point values</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">solver</td><td>A valid solver </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">v</td><td>Pointer to a buffer of 3*n floats </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">desc</td><td>Describes the copy region, if NULL the solver will try to access the entire buffer (maxParticles length) </td></tr>\n  </table>\n  </dd>\n</dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"afbcbff4e4865105514c194398ab3a7b0\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API void NvFlexGetVelocities </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *&#160;</td>\n          <td class=\"paramname\"><em>solver</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td>\n          <td class=\"paramname\"><em>v</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const <a class=\"el\" href=\"_nv_flex_8h.html#struct_nv_flex_copy_desc\">NvFlexCopyDesc</a> *&#160;</td>\n          <td class=\"paramname\"><em>desc</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Get the particle velocities, each velocity is a 3-tuple of x,y,z floating point values</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">solver</td><td>A valid solver </td></tr>\n    <tr><td class=\"paramdir\">[out]</td><td class=\"paramname\">v</td><td>Pointer to a buffer of 3*n floats that will be filled out with the data, can be either a host or device pointer </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">desc</td><td>Describes the copy region, if NULL the solver will try to access the entire buffer (maxParticles length) </td></tr>\n  </table>\n  </dd>\n</dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"aa1d44495e442f8cae874c635ef847478\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API void NvFlexSetPhases </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *&#160;</td>\n          <td class=\"paramname\"><em>solver</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td>\n          <td class=\"paramname\"><em>phases</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const <a class=\"el\" href=\"_nv_flex_8h.html#struct_nv_flex_copy_desc\">NvFlexCopyDesc</a> *&#160;</td>\n          <td class=\"paramname\"><em>desc</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Set the particles phase id array, each particle has an associated phase id which controls how it interacts with other particles. Particles with phase 0 interact with all other phase types.</p>\n<p>Particles with a non-zero phase id only interact with particles whose phase differs from theirs. This is useful, for example, to stop particles belonging to a single rigid shape from interacting with each other.</p>\n<p>Phase 0 is used to indicate fluid particles when NvFlexParams::mFluid is set.</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">solver</td><td>A valid solver </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">phases</td><td>Pointer to a buffer of n integers containing the phases </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">desc</td><td>Describes the copy region, if NULL the solver will try to access the entire buffer (maxParticles length) </td></tr>\n  </table>\n  </dd>\n</dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"accc944f0e76ee2e5d67c3f977b150806\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API void NvFlexGetPhases </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *&#160;</td>\n          <td class=\"paramname\"><em>solver</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td>\n          <td class=\"paramname\"><em>phases</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const <a class=\"el\" href=\"_nv_flex_8h.html#struct_nv_flex_copy_desc\">NvFlexCopyDesc</a> *&#160;</td>\n          <td class=\"paramname\"><em>desc</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Get the particle phase ids</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">solver</td><td>A valid solver </td></tr>\n    <tr><td class=\"paramdir\">[out]</td><td class=\"paramname\">phases</td><td>Pointer to a buffer of n integers that will be filled with the phase data, can be either a host or device pointer </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">desc</td><td>Describes the copy region, if NULL the solver will try to access the entire buffer (maxParticles length) </td></tr>\n  </table>\n  </dd>\n</dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"a32e8fdb39029a2564c129bd493c52058\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API void NvFlexSetNormals </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *&#160;</td>\n          <td class=\"paramname\"><em>solver</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td>\n          <td class=\"paramname\"><em>normals</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const <a class=\"el\" href=\"_nv_flex_8h.html#struct_nv_flex_copy_desc\">NvFlexCopyDesc</a> *&#160;</td>\n          <td class=\"paramname\"><em>desc</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Set per-particle normals to the solver, these will be overwritten after each simulation step, but can be used to initialize the normals to valid values</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">solver</td><td>A valid solver </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">normals</td><td>Pointer to a buffer of normals, should be 4*n in length </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">desc</td><td>Describes the copy region, if NULL the solver will try to access the entire buffer (maxParticles length) </td></tr>\n  </table>\n  </dd>\n</dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"a73d87b460a34c52ff4b616e97a53ade7\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API void NvFlexGetNormals </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *&#160;</td>\n          <td class=\"paramname\"><em>solver</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td>\n          <td class=\"paramname\"><em>normals</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const <a class=\"el\" href=\"_nv_flex_8h.html#struct_nv_flex_copy_desc\">NvFlexCopyDesc</a> *&#160;</td>\n          <td class=\"paramname\"><em>desc</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Get per-particle normals from the solver, these are the world-space normals computed during surface tension, cloth, and rigid body calculations</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">solver</td><td>A valid solver </td></tr>\n    <tr><td class=\"paramdir\">[out]</td><td class=\"paramname\">normals</td><td>Pointer to a buffer of normals, should be 4*n in length </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">desc</td><td>Describes the copy region, if NULL the solver will try to access the entire buffer (maxParticles length) </td></tr>\n  </table>\n  </dd>\n</dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"ae67c0cab2ecee8eb9485a26ef0fad6a9\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API void NvFlexSetSprings </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *&#160;</td>\n          <td class=\"paramname\"><em>solver</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td>\n          <td class=\"paramname\"><em>indices</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td>\n          <td class=\"paramname\"><em>restLengths</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td>\n          <td class=\"paramname\"><em>stiffness</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>numSprings</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Set distance constraints for the solver. Each distance constraint consists of two particle indices stored consecutively, a rest-length, and a stiffness value. These are not springs in the traditional sense, but behave somewhat like a traditional spring when lowering the stiffness coefficient.</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">solver</td><td>A valid solver </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">indices</td><td>Pointer to the spring indices array, should be 2*numSprings length, 2 indices per-spring </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">restLengths</td><td>Pointer to a buffer of rest lengths, should be numSprings length </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">stiffness</td><td>Pointer to the spring stiffness coefficents, should be numSprings in length, a negative stiffness value represents a tether constraint </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">numSprings</td><td>The number of springs to set </td></tr>\n  </table>\n  </dd>\n</dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"aab5f90f4024d71d08c3f9327c6d8c184\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API void NvFlexGetSprings </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *&#160;</td>\n          <td class=\"paramname\"><em>solver</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td>\n          <td class=\"paramname\"><em>indices</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td>\n          <td class=\"paramname\"><em>restLengths</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td>\n          <td class=\"paramname\"><em>stiffness</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>numSprings</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Get the distance constraints from the solver</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">solver</td><td>A valid solver </td></tr>\n    <tr><td class=\"paramdir\">[out]</td><td class=\"paramname\">indices</td><td>Pointer to the spring indices array, should be 2*numSprings length, 2 indices per-spring </td></tr>\n    <tr><td class=\"paramdir\">[out]</td><td class=\"paramname\">restLengths</td><td>Pointer to a buffer of rest lengths, should be numSprings length </td></tr>\n    <tr><td class=\"paramdir\">[out]</td><td class=\"paramname\">stiffness</td><td>Pointer to the spring stiffness coefficents, should be numSprings in length, a negative stiffness value represents a unilateral tether constraint (only resists stretching, not compression), valid range [-1, 1] </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">numSprings</td><td>The number of springs to get </td></tr>\n  </table>\n  </dd>\n</dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"aa8b7bfeffb0fa7dc6dbd291fee87edc9\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API void NvFlexSetRigids </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *&#160;</td>\n          <td class=\"paramname\"><em>solver</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td>\n          <td class=\"paramname\"><em>offsets</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td>\n          <td class=\"paramname\"><em>indices</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td>\n          <td class=\"paramname\"><em>restPositions</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td>\n          <td class=\"paramname\"><em>restNormals</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td>\n          <td class=\"paramname\"><em>stiffness</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td>\n          <td class=\"paramname\"><em>thresholds</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td>\n          <td class=\"paramname\"><em>creeps</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td>\n          <td class=\"paramname\"><em>rotations</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td>\n          <td class=\"paramname\"><em>translations</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>numRigids</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>numIndices</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Set rigid body constraints for the solver. </p><dl class=\"section note\"><dt>Note</dt><dd>A particle should not belong to more than one rigid body at a time.</dd></dl>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">solver</td><td>A valid solver </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">offsets</td><td>Pointer to a buffer of start offsets for a rigid in the indices array, should be numRigids+1 in length, the first entry must be 0 </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">indices</td><td>Pointer to a buffer of indices for the rigid bodies, the indices for the jth rigid body start at indices[offsets[j]] and run to indices[offsets[j+1]] exclusive </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">restPositions</td><td>Pointer to a buffer of local space positions relative to the rigid's center of mass (average position), this should be at least 3*numIndices in length in the format x,y,z </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">restNormals</td><td>Pointer to a buffer of local space normals, this should be at least 4*numIndices in length in the format x,y,z,w where w is the (negative) signed distance of the particle inside its shape </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">stiffness</td><td>Pointer to a buffer of rigid stiffness coefficents, should be numRigids in length, valid values in range [0, 1] </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">thresholds</td><td>Pointer to a buffer of plastic deformation threshold coefficients, should be numRigids in length </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">creeps</td><td>Pointer to a buffer of plastic deformation creep coefficients, should be numRigids in length, valid values in range [0, 1] </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">rotations</td><td>Pointer to a buffer of quaternions (4*numRigids in length) </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">translations</td><td>Pointer to a buffer of translations of the center of mass (3*numRigids in length) </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">numRigids</td><td>The number of rigid bodies to set </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">numIndices</td><td>The number of indices in the indices array </td></tr>\n  </table>\n  </dd>\n</dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"ab5cc56e228374b1da0910356b3172b4e\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API void NvFlexGetRigids </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *&#160;</td>\n          <td class=\"paramname\"><em>solver</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td>\n          <td class=\"paramname\"><em>offsets</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td>\n          <td class=\"paramname\"><em>indices</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td>\n          <td class=\"paramname\"><em>restPositions</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td>\n          <td class=\"paramname\"><em>restNormals</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td>\n          <td class=\"paramname\"><em>stiffness</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td>\n          <td class=\"paramname\"><em>thresholds</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td>\n          <td class=\"paramname\"><em>creeps</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td>\n          <td class=\"paramname\"><em>rotations</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td>\n          <td class=\"paramname\"><em>translations</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Retrive the rigid body shape matching constraints and transforms, if any buffer pointers are NULL then they will be ignored This method supersedes the previous NvFlexGetRigidTransforms method and can be used to retrieve modified rest positions from plastic deformation.</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">solver</td><td>A valid solver </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">offsets</td><td>Pointer to a buffer of start offsets for a rigid in the indices array, should be numRigids+1 in length, the first entry must be 0 </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">indices</td><td>Pointer to a buffer of indices for the rigid bodies, the indices for the jth rigid body start at indices[offsets[j]] and run to indices[offsets[j+1]] exclusive </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">restPositions</td><td>Pointer to a buffer of local space positions relative to the rigid's center of mass (average position), this should be at least 3*numIndices in length in the format x,y,z </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">restNormals</td><td>Pointer to a buffer of local space normals, this should be at least 4*numIndices in length in the format x,y,z,w where w is the (negative) signed distance of the particle inside its shape </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">stiffness</td><td>Pointer to a buffer of rigid stiffness coefficents, should be numRigids in length, valid values in range [0, 1] </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">thresholds</td><td>Pointer to a buffer of plastic deformation threshold coefficients, should be numRigids in length </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">creeps</td><td>Pointer to a buffer of plastic deformation creep coefficients, should be numRigids in length, valid values in range [0, 1] </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">rotations</td><td>Pointer to a buffer of quaternions (4*numRigids in length with the imaginary elements in the x,y,z components) </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">translations</td><td>Pointer to a buffer of translations of the center of mass (3*numRigids in length) </td></tr>\n  </table>\n  </dd>\n</dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"afdda5a5210938a1e8a7c3a8218ad468e\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API <a class=\"el\" href=\"_nv_flex_8h.html#a2aea4c3d772b4dbccb7dd9ba37c1bdc0\">NvFlexTriangleMeshId</a> NvFlexCreateTriangleMesh </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a> *&#160;</td>\n          <td class=\"paramname\"><em>lib</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Create triangle mesh geometry, note that meshes may be used by multiple solvers if desired</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">lib</td><td>The library instance to use </td></tr>\n  </table>\n  </dd>\n</dl>\n<dl class=\"section return\"><dt>Returns</dt><dd>A pointer to a triangle mesh object </dd></dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"a4cb4462803ebff105d151fd45b4efad6\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API void NvFlexDestroyTriangleMesh </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a> *&#160;</td>\n          <td class=\"paramname\"><em>lib</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a2aea4c3d772b4dbccb7dd9ba37c1bdc0\">NvFlexTriangleMeshId</a>&#160;</td>\n          <td class=\"paramname\"><em>mesh</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Destroy a triangle mesh created with <a class=\"el\" href=\"_nv_flex_8h.html#afdda5a5210938a1e8a7c3a8218ad468e\">NvFlexCreateTriangleMesh()</a></p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">lib</td><td>The library instance to use </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">mesh</td><td>A triangle mesh created with <a class=\"el\" href=\"_nv_flex_8h.html#afdda5a5210938a1e8a7c3a8218ad468e\">NvFlexCreateTriangleMesh()</a> </td></tr>\n  </table>\n  </dd>\n</dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"ab1924ab797971290931b32258b847767\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API int NvFlexGetTriangleMeshes </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a> *&#160;</td>\n          <td class=\"paramname\"><em>lib</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a2aea4c3d772b4dbccb7dd9ba37c1bdc0\">NvFlexTriangleMeshId</a> *&#160;</td>\n          <td class=\"paramname\"><em>meshes</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>n</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Get the list of triangle meshes in the library If the size of the array is smaller than the number of triangle meshes, only the first n entries are copied.</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">lib</td><td>The library instance to use </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">meshes</td><td>Pointer to array </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">n</td><td>Size of array </td></tr>\n  </table>\n  </dd>\n</dl>\n<dl class=\"section return\"><dt>Returns</dt><dd>The number of triangle meshes in the library </dd></dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"a4958c555f0ed65dee54c37af32529356\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API void NvFlexUpdateTriangleMesh </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a> *&#160;</td>\n          <td class=\"paramname\"><em>lib</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a2aea4c3d772b4dbccb7dd9ba37c1bdc0\">NvFlexTriangleMeshId</a>&#160;</td>\n          <td class=\"paramname\"><em>mesh</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td>\n          <td class=\"paramname\"><em>vertices</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td>\n          <td class=\"paramname\"><em>indices</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>numVertices</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>numTriangles</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const float *&#160;</td>\n          <td class=\"paramname\"><em>lower</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const float *&#160;</td>\n          <td class=\"paramname\"><em>upper</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Specifies the triangle mesh geometry (vertices and indices), this method will cause any internal data structures (e.g.: bounding volume hierarchies) to be rebuilt.</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">lib</td><td>The library instance to use </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">mesh</td><td>A triangle mesh created with <a class=\"el\" href=\"_nv_flex_8h.html#afdda5a5210938a1e8a7c3a8218ad468e\">NvFlexCreateTriangleMesh()</a> </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">vertices</td><td>Pointer to a buffer of float4 vertex positions </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">indices</td><td>Pointer to a buffer of triangle indices, should be length numTriangles*3 </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">numVertices</td><td>The number of vertices in the vertices array </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">numTriangles</td><td>The number of triangles in the mesh </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">lower</td><td>A pointer to a float3 vector holding the lower spatial bounds of the mesh </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">upper</td><td>A pointer to a float3 vector holding the upper spatial bounds of the mesh </td></tr>\n  </table>\n  </dd>\n</dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"a60794d849b4184335e2a0ddec0a9e6a2\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API void NvFlexGetTriangleMeshBounds </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a> *&#160;</td>\n          <td class=\"paramname\"><em>lib</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const <a class=\"el\" href=\"_nv_flex_8h.html#a2aea4c3d772b4dbccb7dd9ba37c1bdc0\">NvFlexTriangleMeshId</a>&#160;</td>\n          <td class=\"paramname\"><em>mesh</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">float *&#160;</td>\n          <td class=\"paramname\"><em>lower</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">float *&#160;</td>\n          <td class=\"paramname\"><em>upper</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Retrieve the local space bounds of the mesh, these are the same values specified to <a class=\"el\" href=\"_nv_flex_8h.html#a4958c555f0ed65dee54c37af32529356\">NvFlexUpdateTriangleMesh()</a></p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">lib</td><td>The library instance to use </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">mesh</td><td>Pointer to a triangle mesh object </td></tr>\n    <tr><td class=\"paramdir\">[out]</td><td class=\"paramname\">lower</td><td>Pointer to a buffer of 3 floats that the lower mesh bounds will be written to </td></tr>\n    <tr><td class=\"paramdir\">[out]</td><td class=\"paramname\">upper</td><td>Pointer to a buffer of 3 floats that the upper mesh bounds will be written to </td></tr>\n  </table>\n  </dd>\n</dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"a5c28caf6d5d513c5adacd4fbc782f308\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API <a class=\"el\" href=\"_nv_flex_8h.html#a56e990c5bfbc89677988cbf2471c0ade\">NvFlexDistanceFieldId</a> NvFlexCreateDistanceField </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a> *&#160;</td>\n          <td class=\"paramname\"><em>lib</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Create a signed distance field collision shape, see NvFlexDistanceFieldId for details.</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">lib</td><td>The library instance to use </td></tr>\n  </table>\n  </dd>\n</dl>\n<dl class=\"section return\"><dt>Returns</dt><dd>A pointer to a signed distance field object </dd></dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"ab11bdd7f778d17af16cefea33265cb65\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API void NvFlexDestroyDistanceField </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a> *&#160;</td>\n          <td class=\"paramname\"><em>lib</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a56e990c5bfbc89677988cbf2471c0ade\">NvFlexDistanceFieldId</a>&#160;</td>\n          <td class=\"paramname\"><em>sdf</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Destroy a signed distance field</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">lib</td><td>The library instance to use </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">sdf</td><td>A signed distance field created with <a class=\"el\" href=\"_nv_flex_8h.html#a5c28caf6d5d513c5adacd4fbc782f308\">NvFlexCreateDistanceField()</a> </td></tr>\n  </table>\n  </dd>\n</dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"a554d54b930dad17e638ddd30c6dac46f\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API int NvFlexGetDistanceFields </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a> *&#160;</td>\n          <td class=\"paramname\"><em>lib</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a56e990c5bfbc89677988cbf2471c0ade\">NvFlexDistanceFieldId</a> *&#160;</td>\n          <td class=\"paramname\"><em>sdfs</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>n</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Get the list of signed distance fields in the library If the size of the array is smaller than the number of signed distance fields, only the first n entries are copied.</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">lib</td><td>The library instance to use </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">sdfs</td><td>Pointer to array </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">n</td><td>Size of array </td></tr>\n  </table>\n  </dd>\n</dl>\n<dl class=\"section return\"><dt>Returns</dt><dd>The number of signed distance fields in the library </dd></dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"a584ffb275b9986fd5444ed1a7ea247d9\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API void NvFlexUpdateDistanceField </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a> *&#160;</td>\n          <td class=\"paramname\"><em>lib</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a56e990c5bfbc89677988cbf2471c0ade\">NvFlexDistanceFieldId</a>&#160;</td>\n          <td class=\"paramname\"><em>sdf</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>dimx</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>dimy</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>dimz</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td>\n          <td class=\"paramname\"><em>field</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Update the signed distance field volume data, this method will upload the field data to a 3D texture on the GPU</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">lib</td><td>The library instance to use </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">sdf</td><td>A signed distance field created with <a class=\"el\" href=\"_nv_flex_8h.html#a5c28caf6d5d513c5adacd4fbc782f308\">NvFlexCreateDistanceField()</a> </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">dimx</td><td>The x-dimension of the volume data in voxels </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">dimy</td><td>The y-dimension of the volume data in voxels </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">dimz</td><td>The z-dimension of the volume data in voxels </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">field</td><td>The volume data stored such that the voxel at the x,y,z coordinate is addressed as field[z*dimx*dimy + y*dimx + x] </td></tr>\n  </table>\n  </dd>\n</dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"afbaafe2b1006352002b03aabaca531cc\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API <a class=\"el\" href=\"_nv_flex_8h.html#a7ab5aa68da7ca1f69211a900f1a1c586\">NvFlexConvexMeshId</a> NvFlexCreateConvexMesh </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a> *&#160;</td>\n          <td class=\"paramname\"><em>lib</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Create a convex mesh collision shape, see NvFlexConvexMeshId for details.</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">lib</td><td>The library instance to use </td></tr>\n  </table>\n  </dd>\n</dl>\n<dl class=\"section return\"><dt>Returns</dt><dd>A pointer to a signed distance field object </dd></dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"ac85b6372e5c7bfc508ecb7b8c59c72a0\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API void NvFlexDestroyConvexMesh </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a> *&#160;</td>\n          <td class=\"paramname\"><em>lib</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a7ab5aa68da7ca1f69211a900f1a1c586\">NvFlexConvexMeshId</a>&#160;</td>\n          <td class=\"paramname\"><em>convex</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Destroy a convex mesh</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">lib</td><td>The library instance to use </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">convex</td><td>A a convex mesh created with <a class=\"el\" href=\"_nv_flex_8h.html#afbaafe2b1006352002b03aabaca531cc\">NvFlexCreateConvexMesh()</a> </td></tr>\n  </table>\n  </dd>\n</dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"aa392608715b2304f06606d498bd69312\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API int NvFlexGetConvexMeshes </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a> *&#160;</td>\n          <td class=\"paramname\"><em>lib</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a7ab5aa68da7ca1f69211a900f1a1c586\">NvFlexConvexMeshId</a> *&#160;</td>\n          <td class=\"paramname\"><em>meshes</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>n</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Get the list of convex meshes in the library If the size of the array is smaller than the number of convex meshes, only the first n entries are copied.</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">lib</td><td>The library instance to use </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">meshes</td><td>Pointer to array </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">n</td><td>Size of array </td></tr>\n  </table>\n  </dd>\n</dl>\n<dl class=\"section return\"><dt>Returns</dt><dd>The number of convex meshes in the library </dd></dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"ab452c355f92dda050d4b4dafb8e71b03\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API void NvFlexUpdateConvexMesh </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a> *&#160;</td>\n          <td class=\"paramname\"><em>lib</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a7ab5aa68da7ca1f69211a900f1a1c586\">NvFlexConvexMeshId</a>&#160;</td>\n          <td class=\"paramname\"><em>convex</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td>\n          <td class=\"paramname\"><em>planes</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>numPlanes</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const float *&#160;</td>\n          <td class=\"paramname\"><em>lower</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const float *&#160;</td>\n          <td class=\"paramname\"><em>upper</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Update the convex mesh geometry</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">lib</td><td>The library instance to use </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">convex</td><td>A valid convex mesh shape created from <a class=\"el\" href=\"_nv_flex_8h.html#afbaafe2b1006352002b03aabaca531cc\">NvFlexCreateConvexMesh()</a> </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">planes</td><td>An array of planes, each plane consists of 4 floats in the form a*x + b*y + c*z + d = 0 </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">numPlanes</td><td>The number of planes in the convex, must be less than 64 planes per-convex </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">lower</td><td>The local space lower bound of the convex shape </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">upper</td><td>The local space upper bound of the convex shape </td></tr>\n  </table>\n  </dd>\n</dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"ad56e661161763579afb375b3841eb5ff\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API void NvFlexGetConvexMeshBounds </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a> *&#160;</td>\n          <td class=\"paramname\"><em>lib</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a7ab5aa68da7ca1f69211a900f1a1c586\">NvFlexConvexMeshId</a>&#160;</td>\n          <td class=\"paramname\"><em>mesh</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">float *&#160;</td>\n          <td class=\"paramname\"><em>lower</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">float *&#160;</td>\n          <td class=\"paramname\"><em>upper</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Retrieve the local space bounds of the mesh, these are the same values specified to <a class=\"el\" href=\"_nv_flex_8h.html#ab452c355f92dda050d4b4dafb8e71b03\">NvFlexUpdateConvexMesh()</a></p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">lib</td><td>The library instance to use </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">mesh</td><td>Pointer to a convex mesh object </td></tr>\n    <tr><td class=\"paramdir\">[out]</td><td class=\"paramname\">lower</td><td>Pointer to a buffer of 3 floats that the lower mesh bounds will be written to </td></tr>\n    <tr><td class=\"paramdir\">[out]</td><td class=\"paramname\">upper</td><td>Pointer to a buffer of 3 floats that the upper mesh bounds will be written to </td></tr>\n  </table>\n  </dd>\n</dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"ad83b7fb561a91467a3094771bb682b96\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API int NvFlexMakeShapeFlagsWithChannels </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26ba\">NvFlexCollisionShapeType</a>&#160;</td>\n          <td class=\"paramname\"><em>type</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>dynamic</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>shapeChannels</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Helper function to combine shape type, flags, and phase/shape collision channels into a 32bit value</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">type</td><td>The type of the shape, see NvFlexCollisionShapeType </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">dynamic</td><td>See eNvFlexShapeFlagDynamic </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">shapeChannels</td><td>A combination of the eNvFlexPhaseShapeChannel* flags, collisions will only be processed between a particle and a shape if a channel is set on both the particle and shape, see <a class=\"el\" href=\"_nv_flex_8h.html#a615e8070212c24a70e7a849120c13353\">NvFlexMakePhaseWithChannels()</a> </td></tr>\n  </table>\n  </dd>\n</dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"ad6ee1e23e0c49aad63df8f605182de3a\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API int NvFlexMakeShapeFlags </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26ba\">NvFlexCollisionShapeType</a>&#160;</td>\n          <td class=\"paramname\"><em>type</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>dynamic</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n<p>Deprecrated helper method that creates shape flags that by default have all collision channels enabled </p>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"aea4e7117722df53dfe44c676496117fa\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API void NvFlexSetShapes </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *&#160;</td>\n          <td class=\"paramname\"><em>solver</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td>\n          <td class=\"paramname\"><em>geometry</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td>\n          <td class=\"paramname\"><em>shapePositions</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td>\n          <td class=\"paramname\"><em>shapeRotations</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td>\n          <td class=\"paramname\"><em>shapePrevPositions</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td>\n          <td class=\"paramname\"><em>shapePrevRotations</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td>\n          <td class=\"paramname\"><em>shapeFlags</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>numShapes</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Set the collision shapes for the solver</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">solver</td><td>A valid solver </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">geometry</td><td>Pointer to a buffer of <a class=\"el\" href=\"_nv_flex_8h.html#union_nv_flex_collision_geometry\">NvFlexCollisionGeometry</a> entries, the type of each shape determines how many entries it has in the array </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">shapePositions</td><td>Pointer to a buffer of translations for each shape in world space, should be 4*numShapes in length </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">shapeRotations</td><td>Pointer to an a buffer of rotations for each shape stored as quaternion, should be 4*numShapes in length </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">shapePrevPositions</td><td>Pointer to a buffer of translations for each shape at the start of the time step, should be 4*numShapes in length </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">shapePrevRotations</td><td>Pointer to an a buffer of rotations for each shape stored as a quaternion at the start of the time step, should be 4*numShapees in length </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">shapeFlags</td><td>The type and behavior of the shape, NvFlexCollisionShapeFlags for more detail </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">numShapes</td><td>The number of shapes </td></tr>\n  </table>\n  </dd>\n</dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"aa03d94be697cdc3aaa56e469d87255a4\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API void NvFlexSetDynamicTriangles </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *&#160;</td>\n          <td class=\"paramname\"><em>solver</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td>\n          <td class=\"paramname\"><em>indices</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td>\n          <td class=\"paramname\"><em>normals</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>numTris</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Set dynamic triangles mesh indices, typically used for cloth. Flex will calculate normals and apply wind and drag effects to connected particles. See <a class=\"el\" href=\"_nv_flex_8h.html#a7043181449aebf540351d1d2f785cf4a\" title=\"Drag force applied to particles belonging to dynamic triangles, proportional to velocity^2*area in th...\">NvFlexParams::drag</a>, <a class=\"el\" href=\"_nv_flex_8h.html#aafb92c4fa45ce9614cdfd349b3722c8a\" title=\"Constant acceleration applied to particles that belong to dynamic triangles, drag needs to be > 0 for...\">NvFlexParams::wind</a>.</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">solver</td><td>A valid solver </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">indices</td><td>Pointer to a buffer of triangle indices into the particles array, should be 3*numTris in length </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">normals</td><td>Pointer to a buffer of triangle normals, should be 3*numTris in length, can be NULL </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">numTris</td><td>The number of dynamic triangles s </td></tr>\n  </table>\n  </dd>\n</dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"abdfd0834422dd99154a27962614525e5\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API void NvFlexGetDynamicTriangles </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *&#160;</td>\n          <td class=\"paramname\"><em>solver</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td>\n          <td class=\"paramname\"><em>indices</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td>\n          <td class=\"paramname\"><em>normals</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>numTris</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Get the dynamic triangle indices and normals.</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">solver</td><td>A valid solver </td></tr>\n    <tr><td class=\"paramdir\">[out]</td><td class=\"paramname\">indices</td><td>Pointer to a buffer of triangle indices into the particles array, should be 3*numTris in length, if NULL indices will not be returned </td></tr>\n    <tr><td class=\"paramdir\">[out]</td><td class=\"paramname\">normals</td><td>Pointer to a buffer of triangle normals, should be 3*numTris in length, if NULL normals will be not be returned </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">numTris</td><td>The number of dynamic triangles </td></tr>\n  </table>\n  </dd>\n</dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"a7f2b59fba77c60ce116e1eac57d63e50\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API void NvFlexSetInflatables </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *&#160;</td>\n          <td class=\"paramname\"><em>solver</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td>\n          <td class=\"paramname\"><em>startTris</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td>\n          <td class=\"paramname\"><em>numTris</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td>\n          <td class=\"paramname\"><em>restVolumes</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td>\n          <td class=\"paramname\"><em>overPressures</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td>\n          <td class=\"paramname\"><em>constraintScales</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>numInflatables</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Set inflatable shapes, an inflatable is a range of dynamic triangles (wound CCW) that represent a closed mesh. Each inflatable has a given rest volume, constraint scale (roughly equivalent to stiffness), and \"over pressure\" that controls how much the shape is inflated.</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">solver</td><td>A valid solver </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">startTris</td><td>Pointer to a buffer of offsets into the solver's dynamic triangles for each inflatable, should be numInflatables in length </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">numTris</td><td>Pointer to a buffer of triangle counts for each inflatable, should be numInflatablesin length </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">restVolumes</td><td>Pointer to a buffer of rest volumes for the inflatables, should be numInflatables in length </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">overPressures</td><td>Pointer to a buffer of floats specifying the pressures for each inflatable, a value of 1.0 means the rest volume, &gt; 1.0 means over-inflated, and &lt; 1.0 means under-inflated, should be numInflatables in length </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">constraintScales</td><td>Pointer to a buffer of scaling factors for the constraint, this is roughly equivalent to stiffness but includes a constraint scaling factor from position-based dynamics, see helper code for details, should be numInflatables in length </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">numInflatables</td><td>Number of inflatables to set </td></tr>\n  </table>\n  </dd>\n</dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"a3a20cc2539983a009caaf77ec9ceab82\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API void NvFlexGetDensities </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *&#160;</td>\n          <td class=\"paramname\"><em>solver</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td>\n          <td class=\"paramname\"><em>densities</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const <a class=\"el\" href=\"_nv_flex_8h.html#struct_nv_flex_copy_desc\">NvFlexCopyDesc</a> *&#160;</td>\n          <td class=\"paramname\"><em>desc</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Get the density values for fluid particles</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">solver</td><td>A valid solver </td></tr>\n    <tr><td class=\"paramdir\">[out]</td><td class=\"paramname\">densities</td><td>Pointer to a buffer of floats, should be maxParticles in length, density values are normalized between [0, 1] where 1 represents the rest density </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">desc</td><td>Pointer to a descriptor specifying the contents to read back </td></tr>\n  </table>\n  </dd>\n</dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"aef768edc8e4df1a78a94a6c971541550\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API void NvFlexGetAnisotropy </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *&#160;</td>\n          <td class=\"paramname\"><em>solver</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td>\n          <td class=\"paramname\"><em>q1</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td>\n          <td class=\"paramname\"><em>q2</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td>\n          <td class=\"paramname\"><em>q3</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const <a class=\"el\" href=\"_nv_flex_8h.html#struct_nv_flex_copy_desc\">NvFlexCopyDesc</a> *&#160;</td>\n          <td class=\"paramname\"><em>desc</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Get the anisotropy of fluid particles, the particle distribution for a particle is represented by 3 orthogonal vectors. Each 3-vector has unit length with the variance along that axis packed into the w component, i.e.: x,y,z,lambda.</p>\n<p>The anisotropy defines an oriented ellipsoid in worldspace that can be used for rendering or surface extraction.</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">solver</td><td>A valid solver </td></tr>\n    <tr><td class=\"paramdir\">[out]</td><td class=\"paramname\">q1</td><td>Pointer to a buffer of floats that receive the first basis vector and scale, should be 4*maxParticles in length </td></tr>\n    <tr><td class=\"paramdir\">[out]</td><td class=\"paramname\">q2</td><td>Pointer to a buffer of floats that receive the second basis vector and scale, should be 4*maxParticles in length </td></tr>\n    <tr><td class=\"paramdir\">[out]</td><td class=\"paramname\">q3</td><td>Pointer to a buffer of floats that receive the third basis vector and scale, should be 4*maxParticles in length </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">desc</td><td>Pointer to a descriptor specifying the contents to read back </td></tr>\n  </table>\n  </dd>\n</dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"afa458a6eec8b0d117e53c40c13788fd9\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API void NvFlexGetDiffuseParticles </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *&#160;</td>\n          <td class=\"paramname\"><em>solver</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td>\n          <td class=\"paramname\"><em>p</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td>\n          <td class=\"paramname\"><em>v</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td>\n          <td class=\"paramname\"><em>count</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Get the state of the diffuse particles. Diffuse particles are passively advected by the fluid velocity field.</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">solver</td><td>A valid solver </td></tr>\n    <tr><td class=\"paramdir\">[out]</td><td class=\"paramname\">p</td><td>Pointer to a buffer of floats, should be 4*maxParticles in length, the w component represents the particles lifetime with 1 representing a new particle, and 0 representing an inactive particle </td></tr>\n    <tr><td class=\"paramdir\">[out]</td><td class=\"paramname\">v</td><td>Pointer to a buffer of floats, should be 4*maxParticles in length, the w component is not used </td></tr>\n    <tr><td class=\"paramdir\">[out]</td><td class=\"paramname\">count</td><td>Pointer to a buffer of a single int that holds the current particle count (this may be updated by the GPU which is why it is passed back in a buffer) </td></tr>\n  </table>\n  </dd>\n</dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"a5a7213593dd9a23d9d67f8517d1da9de\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API void NvFlexSetDiffuseParticles </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *&#160;</td>\n          <td class=\"paramname\"><em>solver</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td>\n          <td class=\"paramname\"><em>p</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td>\n          <td class=\"paramname\"><em>v</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>n</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Set the state of the diffuse particles. Diffuse particles are passively advected by the fluid velocity field.</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">solver</td><td>A valid solver </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">p</td><td>Pointer to a buffer of floats, should be 4*n in length, the w component represents the particles lifetime with 1 representing a new particle, and 0 representing an inactive particle </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">v</td><td>Pointer to a buffer of floats, should be 4*n in length, the w component is not used </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">n</td><td>The number of active diffuse particles </td></tr>\n  </table>\n  </dd>\n</dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"a7edac9cf450917147b83e98f5cb09f5d\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API void NvFlexGetContacts </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *&#160;</td>\n          <td class=\"paramname\"><em>solver</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td>\n          <td class=\"paramname\"><em>planes</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td>\n          <td class=\"paramname\"><em>velocities</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td>\n          <td class=\"paramname\"><em>indices</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td>\n          <td class=\"paramname\"><em>counts</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Get the particle contact planes. Note this will only include contacts that were active on the last substep of an update, and will include all contact planes generated within <a class=\"el\" href=\"_nv_flex_8h.html#a0e4cb2f91d3b7d122000d36a7d67ab81\" title=\"Increases the radius used during contact finding against kinematic shapes. \">NvFlexParams::shapeCollisionMargin</a>.</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">solver</td><td>A valid solver </td></tr>\n    <tr><td class=\"paramdir\">[out]</td><td class=\"paramname\">planes</td><td>Pointer to a destination buffer containing the contact planes for the particle, each particle can have up to maxContactsPerParticle contact planes (see <a class=\"el\" href=\"_nv_flex_8h.html#struct_nv_flex_solver_desc\">NvFlexSolverDesc</a>) so this buffer should be 4*maxContactsPerParticle*maxParticles floats in length </td></tr>\n    <tr><td class=\"paramdir\">[out]</td><td class=\"paramname\">velocities</td><td>Pointer to a destination buffer containing the velocity of the contact point on the shape in world space, the index of the shape (corresponding to the shape in <a class=\"el\" href=\"_nv_flex_8h.html#aea4e7117722df53dfe44c676496117fa\">NvFlexSetShapes()</a> is stored in the w component), each particle can have up to maxContactsPerParticle contact planes so this buffer should be 4*maxContactsPerParticle*maxParticles floats in length </td></tr>\n    <tr><td class=\"paramdir\">[out]</td><td class=\"paramname\">indices</td><td>Pointer to a buffer of indices into the contacts buffer, the first contact plane for the i'th particle is given by planes[indices[i]*sizeof(float)*4*maxContactsPerParticle] and subsequent contact planes for that particle are stored sequentially, this array should be maxParticles in length </td></tr>\n    <tr><td class=\"paramdir\">[out]</td><td class=\"paramname\">counts</td><td>Pointer to a buffer of contact counts for each particle (will be &lt;= maxContactsPerParticle), this buffer should be maxParticles in length </td></tr>\n  </table>\n  </dd>\n</dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"abbee38b5413bbfd1db914c66fcdfc616\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API void NvFlexGetNeighbors </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *&#160;</td>\n          <td class=\"paramname\"><em>solver</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td>\n          <td class=\"paramname\"><em>neighbors</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td>\n          <td class=\"paramname\"><em>counts</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td>\n          <td class=\"paramname\"><em>apiToInternal</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td>\n          <td class=\"paramname\"><em>internalToApi</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Get the particle neighbor lists, these are stored in a strided format, and can be iterated in the following manner:</p>\n<div class=\"fragment\"><div class=\"line\"><a class=\"code\" href=\"_nv_flex_8h.html#abbee38b5413bbfd1db914c66fcdfc616\">NvFlexGetNeighbors</a>(solver, neighborsBuffer, countsBuffer, apiToInternalBuffer, internalToApiBuffer);</div>\n<div class=\"line\"></div>\n<div class=\"line\"><span class=\"keywordtype\">int</span>* neighbors = (<span class=\"keywordtype\">int</span>*)<a class=\"code\" href=\"_nv_flex_8h.html#a0898bb9210440b159688d4647f6eb083\">NvFlexMap</a>(neighborsBuffer, 0);</div>\n<div class=\"line\"><span class=\"keywordtype\">int</span>* counts = (<span class=\"keywordtype\">int</span>*)<a class=\"code\" href=\"_nv_flex_8h.html#a0898bb9210440b159688d4647f6eb083\">NvFlexMap</a>(countsBuffer, 0);</div>\n<div class=\"line\"><span class=\"keywordtype\">int</span>* apiToInternal = (<span class=\"keywordtype\">int</span>*)<a class=\"code\" href=\"_nv_flex_8h.html#a0898bb9210440b159688d4647f6eb083\">NvFlexMap</a>(apiToInternalBuffer, 0);</div>\n<div class=\"line\"><span class=\"keywordtype\">int</span>* internalToApi = (<span class=\"keywordtype\">int</span>*)<a class=\"code\" href=\"_nv_flex_8h.html#a0898bb9210440b159688d4647f6eb083\">NvFlexMap</a>(internalToApiBuffer, 0);</div>\n<div class=\"line\"></div>\n<div class=\"line\"><span class=\"comment\">// neighbors are stored in a strided format so that the first neighbor</span></div>\n<div class=\"line\"><span class=\"comment\">// of each particle is stored sequentially, then the second, and so on</span></div>\n<div class=\"line\"></div>\n<div class=\"line\"><span class=\"keywordtype\">int</span> stride = maxParticles;</div>\n<div class=\"line\"></div>\n<div class=\"line\"><span class=\"keywordflow\">for</span> (<span class=\"keywordtype\">int</span> i=0; i &lt; maxParticles; ++i)</div>\n<div class=\"line\">{</div>\n<div class=\"line\">    <span class=\"comment\">// find offset in the neighbors buffer</span></div>\n<div class=\"line\">    <span class=\"keywordtype\">int</span> offset = apiToInternal[i];</div>\n<div class=\"line\">    <span class=\"keywordtype\">int</span> count = counts[offset];</div>\n<div class=\"line\"></div>\n<div class=\"line\">    <span class=\"keywordflow\">for</span> (<span class=\"keywordtype\">int</span> c=0; c &lt; count; ++c)</div>\n<div class=\"line\">    {</div>\n<div class=\"line\">        <span class=\"keywordtype\">int</span> neighbor = internalToApi[neighbors[c*stride + offset]];</div>\n<div class=\"line\"></div>\n<div class=\"line\">        printf(<span class=\"stringliteral\">&quot;Particle %d&#39;s neighbor %d is particle %d\\n&quot;</span>, i, c, neighbor);</div>\n<div class=\"line\">    }</div>\n<div class=\"line\">}</div>\n<div class=\"line\"></div>\n<div class=\"line\"><a class=\"code\" href=\"_nv_flex_8h.html#a054cb27646a389ea257d1bbde46a6e97\">NvFlexUnmap</a>(neighborsBuffer);</div>\n<div class=\"line\"><a class=\"code\" href=\"_nv_flex_8h.html#a054cb27646a389ea257d1bbde46a6e97\">NvFlexUnmap</a>(countsBuffer);</div>\n<div class=\"line\"><a class=\"code\" href=\"_nv_flex_8h.html#a054cb27646a389ea257d1bbde46a6e97\">NvFlexUnmap</a>(apiToInternalBuffer);</div>\n<div class=\"line\"><a class=\"code\" href=\"_nv_flex_8h.html#a054cb27646a389ea257d1bbde46a6e97\">NvFlexUnmap</a>(internalToApiBuffer);</div>\n</div><!-- fragment --><dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">solver</td><td>A valid solver </td></tr>\n    <tr><td class=\"paramdir\">[out]</td><td class=\"paramname\">neighbors</td><td>Pointer to a destination buffer containing the the neighbors for all particles, this should be maxParticles*maxParticleNeighbors ints (passed to <a class=\"el\" href=\"_nv_flex_8h.html#a687e5ec141948f779faa9183b68cb743\">NvFlexInit()</a> in length) </td></tr>\n    <tr><td class=\"paramdir\">[out]</td><td class=\"paramname\">counts</td><td>Pointer to a buffer of neighbor counts per-particle, should be maxParticles ints in length </td></tr>\n    <tr><td class=\"paramdir\">[out]</td><td class=\"paramname\">apiToInternal</td><td>Pointer to a buffer of indices, because Flex internally re-orders particles these are used to map from an API particle index to it internal index </td></tr>\n    <tr><td class=\"paramdir\">[out]</td><td class=\"paramname\">internalToApi</td><td>Pointer to a buffer of indices, because Flex internally re-orders particles these are used to map from an internal index to an API index</td></tr>\n  </table>\n  </dd>\n</dl>\n<dl class=\"section note\"><dt>Note</dt><dd>Neighbors are only valid after a call to <a class=\"el\" href=\"_nv_flex_8h.html#ac75370f005fd453fe8a324fe62be1b5c\">NvFlexUpdateSolver()</a> has completed, the returned neighbors correspond to the last substep of the last update </dd></dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"ab1eec84a21b1872fba11c9b4cc1d1629\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API void NvFlexGetBounds </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *&#160;</td>\n          <td class=\"paramname\"><em>solver</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td>\n          <td class=\"paramname\"><em>lower</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td>\n          <td class=\"paramname\"><em>upper</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Get the world space AABB of all particles in the solver, note that the bounds are calculated during the update (see <a class=\"el\" href=\"_nv_flex_8h.html#ac75370f005fd453fe8a324fe62be1b5c\">NvFlexUpdateSolver()</a>) so only become valid after an update has been performed. The returned bounds represent bounds of the particles in their predicted positions <em>before</em> the constraint solve.</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">solver</td><td>A valid solver </td></tr>\n    <tr><td class=\"paramdir\">[out]</td><td class=\"paramname\">lower</td><td>Pointer to a buffer of 3 floats to receive the lower bounds </td></tr>\n    <tr><td class=\"paramdir\">[out]</td><td class=\"paramname\">upper</td><td>Pointer to a buffer of 3 floats to receive the upper bounds </td></tr>\n  </table>\n  </dd>\n</dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"aa77d2a4edd4ccd79c9389854dca80613\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API float NvFlexGetDeviceLatency </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *&#160;</td>\n          <td class=\"paramname\"><em>solver</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">unsigned long long *&#160;</td>\n          <td class=\"paramname\"><em>begin</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">unsigned long long *&#160;</td>\n          <td class=\"paramname\"><em>end</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">unsigned long long *&#160;</td>\n          <td class=\"paramname\"><em>frequency</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">solver</td><td>A valid solver </td></tr>\n    <tr><td class=\"paramdir\">[out]</td><td class=\"paramname\">begin</td><td>Optional pointer to a 64 bit unsigned to receive the value of the GPU clock when Flex update began (in cycles) </td></tr>\n    <tr><td class=\"paramdir\">[out]</td><td class=\"paramname\">end</td><td>Optional pointer to a 64 bit unsigned to receive the value of the GPU clock when Flex update ended (in cycles) </td></tr>\n    <tr><td class=\"paramdir\">[out]</td><td class=\"paramname\">frequency</td><td>Optional pointer to a 64 bit unsigned to receive the frequency of the clock used to measure begin and end </td></tr>\n  </table>\n  </dd>\n</dl>\n<dl class=\"section return\"><dt>Returns</dt><dd>The time in seconds between the first and last GPU operations executed by the last NvFlexUpdateSolver.</dd></dl>\n<dl class=\"section note\"><dt>Note</dt><dd>This method causes the CPU to wait until the GPU has finished any outstanding work. To avoid blocking the calling thread it should be called after work has completed, e.g.: directly after a <a class=\"el\" href=\"_nv_flex_8h.html#a0898bb9210440b159688d4647f6eb083\">NvFlexMap()</a>. </dd></dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"ab16b6d2e11e0ab417ee6c4cf16f0a27d\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API void NvFlexGetTimers </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *&#160;</td>\n          <td class=\"paramname\"><em>solver</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#struct_nv_flex_timers\">NvFlexTimers</a> *&#160;</td>\n          <td class=\"paramname\"><em>timers</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Fetch high-level GPU timers.</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">solver</td><td>The solver instance to use </td></tr>\n    <tr><td class=\"paramdir\">[out]</td><td class=\"paramname\">timers</td><td>A struct containing the GPU latency of each stage in the physics pipeline.</td></tr>\n  </table>\n  </dd>\n</dl>\n<dl class=\"section note\"><dt>Note</dt><dd>This method causes the CPU to wait until the GPU has finished any outstanding work. To avoid blocking the calling thread it should be called after work has completed, e.g.: directly after a <a class=\"el\" href=\"_nv_flex_8h.html#a0898bb9210440b159688d4647f6eb083\">NvFlexMap()</a>. To capture there timers you must pass true for enableTimers in <a class=\"el\" href=\"_nv_flex_8h.html#ac75370f005fd453fe8a324fe62be1b5c\">NvFlexUpdateSolver()</a> </dd></dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"ab1efb6764f65900cb09f0188ad6da08a\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API int NvFlexGetDetailTimers </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *&#160;</td>\n          <td class=\"paramname\"><em>solver</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#struct_nv_flex_detail_timer\">NvFlexDetailTimer</a> **&#160;</td>\n          <td class=\"paramname\"><em>timers</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Fetch per-shader GPU timers.</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">solver</td><td>The solver instance to use </td></tr>\n    <tr><td class=\"paramdir\">[out]</td><td class=\"paramname\">timers</td><td>An array of <a class=\"el\" href=\"_nv_flex_8h.html#struct_nv_flex_detail_timer\">NvFlexDetailTimer</a> structures, each representing a unique shader. </td></tr>\n  </table>\n  </dd>\n</dl>\n<dl class=\"section return\"><dt>Returns</dt><dd>The number of detail timers in the timers array</dd></dl>\n<dl class=\"section note\"><dt>Note</dt><dd>This method causes the CPU to wait until the GPU has finished any outstanding work. To avoid blocking the calling thread it should be called after work has completed, e.g.: directly after a <a class=\"el\" href=\"_nv_flex_8h.html#a0898bb9210440b159688d4647f6eb083\">NvFlexMap()</a>. To capture there timers you must pass true for enableTimers in <a class=\"el\" href=\"_nv_flex_8h.html#ac75370f005fd453fe8a324fe62be1b5c\">NvFlexUpdateSolver()</a> Timers are valid until the next call to NvFlexGetDetailTimers </dd></dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"ad48f83b8442323687d2268206e913496\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* NvFlexAllocBuffer </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a> *&#160;</td>\n          <td class=\"paramname\"><em>lib</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>elementCount</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>elementByteStride</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a169e4c126acf46bdebf76c36a44deca3\">NvFlexBufferType</a>&#160;</td>\n          <td class=\"paramname\"><em>type</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Allocate a Flex buffer. Buffers are used to pass data to the API in an efficient manner.</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">lib</td><td>The library instance to use </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">elementCount</td><td>The number of elements in the buffer </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">elementByteStride</td><td>The size of each element in bytes </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">type</td><td>The type of buffer to allocate, can be either host memory or device memory </td></tr>\n  </table>\n  </dd>\n</dl>\n<dl class=\"section return\"><dt>Returns</dt><dd>A pointer to a NvFlexBuffer </dd></dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"ab559759820a4322aff061745ef26c867\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API void NvFlexFreeBuffer </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td>\n          <td class=\"paramname\"><em>buf</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Free a Flex buffer</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">buf</td><td>A buffer to free, must be allocated with <a class=\"el\" href=\"_nv_flex_8h.html#ad48f83b8442323687d2268206e913496\">NvFlexAllocBuffer()</a> </td></tr>\n  </table>\n  </dd>\n</dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"a0898bb9210440b159688d4647f6eb083\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API void* NvFlexMap </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td>\n          <td class=\"paramname\"><em>buffer</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>flags</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Maps a buffer for reading and writing. When the buffer is created with NvFlexBufferType::eHost, then the returned pointer will be a host memory address that can be read/written. Mapping a buffer implicitly synchronizes with the GPU to ensure that any reads or writes from the buffer (e.g.: from the NvFlexGet*() or NvFlexSet*() methods) have completed.</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">buffer</td><td>A buffer allocated with <a class=\"el\" href=\"_nv_flex_8h.html#ad48f83b8442323687d2268206e913496\">NvFlexAllocBuffer()</a> </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">flags</td><td>Hints to Flex how the buffer is to be accessed, typically this should be eNvFlexMapWait (0) </td></tr>\n  </table>\n  </dd>\n</dl>\n<dl class=\"section return\"><dt>Returns</dt><dd>A pointer to the mapped memory </dd></dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"a054cb27646a389ea257d1bbde46a6e97\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API void NvFlexUnmap </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td>\n          <td class=\"paramname\"><em>buffer</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Unmaps a buffer that was mapped through <a class=\"el\" href=\"_nv_flex_8h.html#a0898bb9210440b159688d4647f6eb083\">NvFlexMap()</a>, note that buffers must be unmapped before they can be passed to a NvFlexGet*() or NvFlexSet*() method</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">buffer</td><td>A valid buffer allocated through <a class=\"el\" href=\"_nv_flex_8h.html#ad48f83b8442323687d2268206e913496\">NvFlexAllocBuffer()</a> </td></tr>\n  </table>\n  </dd>\n</dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"aab83daf46e5a9428a0ad76fb75e8ec7e\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* NvFlexRegisterOGLBuffer </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a> *&#160;</td>\n          <td class=\"paramname\"><em>lib</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>buf</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>elementCount</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>elementByteStride</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Registers an OpenGL buffer to Flex which can be used to copy directly into a graphics resource. Example usage is below</p>\n<div class=\"fragment\"><div class=\"line\">GLuint vbo;</div>\n<div class=\"line\">glGenBuffers(1, &amp;vbo);</div>\n<div class=\"line\">glBindBuffer(GL_ARRAY_BUFFER, vbo);</div>\n<div class=\"line\">glBufferData(GL_ARRAY_BUFFER, size, NULL, GL_DYNAMIC_DRAW)</div>\n<div class=\"line\"></div>\n<div class=\"line\"><a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* vboBuffer = <a class=\"code\" href=\"_nv_flex_8h.html#aab83daf46e5a9428a0ad76fb75e8ec7e\">NvFlexRegisterOGLBuffer</a>(lib, vbo, n, sizeof(<span class=\"keywordtype\">float</span>)*4);</div>\n<div class=\"line\"></div>\n<div class=\"line\"><span class=\"comment\">// simulate </span></div>\n<div class=\"line\">...</div>\n<div class=\"line\"></div>\n<div class=\"line\"><span class=\"comment\">// copy directly from Flex into render buffer</span></div>\n<div class=\"line\"><a class=\"code\" href=\"_nv_flex_8h.html#aaff62cfd50431d82af5d04a6c9ac4ffd\">NvFlexGetParticles</a>(vboBuffer, n);</div>\n<div class=\"line\"></div>\n<div class=\"line\"><span class=\"comment\">// render</span></div>\n<div class=\"line\">...</div>\n</div><!-- fragment --><dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">lib</td><td>The library instance to use </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">buf</td><td>An OpenGL buffer identifier </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">elementCount</td><td>The number of elements in the buffer </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">elementByteStride</td><td>the size of each element in bytes </td></tr>\n  </table>\n  </dd>\n</dl>\n<dl class=\"section return\"><dt>Returns</dt><dd>A valid NvFlexBuffer pointer that may be used with NvFlexGet*() methods to populate the render buffer using direct GPU-GPU copies </dd></dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"a78045a8d4e856372df108dc616a94cd8\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API void NvFlexUnregisterOGLBuffer </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td>\n          <td class=\"paramname\"><em>buf</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Unregister a NvFlexBuffer allocated through <a class=\"el\" href=\"_nv_flex_8h.html#aab83daf46e5a9428a0ad76fb75e8ec7e\">NvFlexRegisterOGLBuffer()</a></p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">buf</td><td>A valid buffer </td></tr>\n  </table>\n  </dd>\n</dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"ab487e68ce1c84ce1eec0c85b7daf5aa0\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* NvFlexRegisterD3DBuffer </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a> *&#160;</td>\n          <td class=\"paramname\"><em>lib</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">void *&#160;</td>\n          <td class=\"paramname\"><em>buffer</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>elementCount</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>elementByteStride</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Registers a Direct3D buffer to Flex which can be used to copy directly into a graphics resource</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">lib</td><td>The library instance to use </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">buffer</td><td>A pointer to either an ID3D11Buffer or ID3D12Resource object </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">elementCount</td><td>The number of elements in the buffer </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">elementByteStride</td><td>the size of each element in bytes </td></tr>\n  </table>\n  </dd>\n</dl>\n<dl class=\"section return\"><dt>Returns</dt><dd>A valid NvFlexBuffer pointer that may be used with NvFlexGet*() methods to populate the render buffer using direct GPU-GPU copies </dd></dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"ad607e7916e5d76b384a61f1c1f94ab32\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API void NvFlexUnregisterD3DBuffer </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td>\n          <td class=\"paramname\"><em>buf</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Unregister a NvFlexBuffer allocated through NvFlexRegistereD3DBuffer()</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">buf</td><td>A valid buffer </td></tr>\n  </table>\n  </dd>\n</dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"a42ec7b30c79d4733e6a756b5d9b15ee6\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API void NvFlexAcquireContext </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a> *&#160;</td>\n          <td class=\"paramname\"><em>lib</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Ensures that the CUDA context the library was initialized with is present on the current thread</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">lib</td><td>The library instance to use </td></tr>\n  </table>\n  </dd>\n</dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"ae6671f352bd77e296609d0bc2a57fd11\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API void NvFlexRestoreContext </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a> *&#160;</td>\n          <td class=\"paramname\"><em>lib</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Restores the CUDA context (if any) that was present on the last call to <a class=\"el\" href=\"_nv_flex_8h.html#a42ec7b30c79d4733e6a756b5d9b15ee6\">NvFlexAcquireContext()</a> Note: the acquire/restore pair of calls must come from the same thread </p>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"a4c451971259524c6878b6b1ed4023ada\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API const char* NvFlexGetDeviceName </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a> *&#160;</td>\n          <td class=\"paramname\"><em>lib</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns a null-terminated string with the compute device name</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">lib</td><td>The library instance to use </td></tr>\n  </table>\n  </dd>\n</dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"a2ac0a898a565a2cdf13b80acd4a3555c\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API void NvFlexGetDeviceAndContext </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a> *&#160;</td>\n          <td class=\"paramname\"><em>lib</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">void **&#160;</td>\n          <td class=\"paramname\"><em>device</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">void **&#160;</td>\n          <td class=\"paramname\"><em>context</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Retrieve the device and context for the the library. On CUDA the context pointer will be filled with a pointer to a CUcontext structure On D3D the device and context pointers will be filled with pointers to a NvFlex::Device, and NvFlex::Context wrapper</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">lib</td><td>Pointer to a valid library returned from <a class=\"el\" href=\"_nv_flex_8h.html#a687e5ec141948f779faa9183b68cb743\">NvFlexInit()</a> </td></tr>\n    <tr><td class=\"paramdir\">[out]</td><td class=\"paramname\">device</td><td>Pointer to a device pointer, see description </td></tr>\n    <tr><td class=\"paramdir\">[out]</td><td class=\"paramname\">context</td><td>Pointer to a context pointer, see description </td></tr>\n  </table>\n  </dd>\n</dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"a898eb8e66a456dd2266c694f29cab600\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API void NvFlexFlush </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a> *&#160;</td>\n          <td class=\"paramname\"><em>lib</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Force a pipeline flush to ensure any queued work is submitted to the GPU</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">lib</td><td>The library instance to use </td></tr>\n  </table>\n  </dd>\n</dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"a615d2e6eec2486a5db815d929f9c642c\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API void NvFlexWait </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a> *&#160;</td>\n          <td class=\"paramname\"><em>lib</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n\n</div>\n</div>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated on Mon Mar 19 2018 14:53:17 for FLEX by &#160;<a href=\"http://www.doxygen.org/index.html\">\n<img class=\"footer\" src=\"doxygen.png\" alt=\"doxygen\"/>\n</a> 1.8.9.1\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "doc/_static/api/_nv_flex_8h_source.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.9.1\"/>\n<title>FLEX: NvFlex.h Source File</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n<link href=\"flex.css\" rel=\"stylesheet\" type=\"text/css\"/>\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectlogo\"><img alt=\"Logo\" src=\"nvidia.png\"/></td>\n  <td style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">FLEX\n   &#160;<span id=\"projectnumber\">1.2.0</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.9.1 -->\n<div id=\"nav-path\" class=\"navpath\">\n  <ul>\n<li class=\"navelem\"><a class=\"el\" href=\"dir_d44c64559bbebec7f509842c48db8b23.html\">include</a></li>  </ul>\n</div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"headertitle\">\n<div class=\"title\">NvFlex.h</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n<a href=\"_nv_flex_8h.html\">Go to the documentation of this file.</a><div class=\"fragment\"><div class=\"line\"><a name=\"l00001\"></a><span class=\"lineno\">    1</span>&#160;<span class=\"comment\">// This code contains NVIDIA Confidential Information and is disclosed to you</span></div>\n<div class=\"line\"><a name=\"l00002\"></a><span class=\"lineno\">    2</span>&#160;<span class=\"comment\">// under a form of NVIDIA software license agreement provided separately to you.</span></div>\n<div class=\"line\"><a name=\"l00003\"></a><span class=\"lineno\">    3</span>&#160;<span class=\"comment\">//</span></div>\n<div class=\"line\"><a name=\"l00004\"></a><span class=\"lineno\">    4</span>&#160;<span class=\"comment\">// Notice</span></div>\n<div class=\"line\"><a name=\"l00005\"></a><span class=\"lineno\">    5</span>&#160;<span class=\"comment\">// NVIDIA Corporation and its licensors retain all intellectual property and</span></div>\n<div class=\"line\"><a name=\"l00006\"></a><span class=\"lineno\">    6</span>&#160;<span class=\"comment\">// proprietary rights in and to this software and related documentation and</span></div>\n<div class=\"line\"><a name=\"l00007\"></a><span class=\"lineno\">    7</span>&#160;<span class=\"comment\">// any modifications thereto. Any use, reproduction, disclosure, or</span></div>\n<div class=\"line\"><a name=\"l00008\"></a><span class=\"lineno\">    8</span>&#160;<span class=\"comment\">// distribution of this software and related documentation without an express</span></div>\n<div class=\"line\"><a name=\"l00009\"></a><span class=\"lineno\">    9</span>&#160;<span class=\"comment\">// license agreement from NVIDIA Corporation is strictly prohibited.</span></div>\n<div class=\"line\"><a name=\"l00010\"></a><span class=\"lineno\">   10</span>&#160;<span class=\"comment\">//</span></div>\n<div class=\"line\"><a name=\"l00011\"></a><span class=\"lineno\">   11</span>&#160;<span class=\"comment\">// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED &quot;AS IS.&quot;. NVIDIA MAKES</span></div>\n<div class=\"line\"><a name=\"l00012\"></a><span class=\"lineno\">   12</span>&#160;<span class=\"comment\">// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO</span></div>\n<div class=\"line\"><a name=\"l00013\"></a><span class=\"lineno\">   13</span>&#160;<span class=\"comment\">// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,</span></div>\n<div class=\"line\"><a name=\"l00014\"></a><span class=\"lineno\">   14</span>&#160;<span class=\"comment\">// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.</span></div>\n<div class=\"line\"><a name=\"l00015\"></a><span class=\"lineno\">   15</span>&#160;<span class=\"comment\">//</span></div>\n<div class=\"line\"><a name=\"l00016\"></a><span class=\"lineno\">   16</span>&#160;<span class=\"comment\">// Information and code furnished is believed to be accurate and reliable.</span></div>\n<div class=\"line\"><a name=\"l00017\"></a><span class=\"lineno\">   17</span>&#160;<span class=\"comment\">// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such</span></div>\n<div class=\"line\"><a name=\"l00018\"></a><span class=\"lineno\">   18</span>&#160;<span class=\"comment\">// information or for any infringement of patents or other rights of third parties that may</span></div>\n<div class=\"line\"><a name=\"l00019\"></a><span class=\"lineno\">   19</span>&#160;<span class=\"comment\">// result from its use. No license is granted by implication or otherwise under any patent</span></div>\n<div class=\"line\"><a name=\"l00020\"></a><span class=\"lineno\">   20</span>&#160;<span class=\"comment\">// or patent rights of NVIDIA Corporation. Details are subject to change without notice.</span></div>\n<div class=\"line\"><a name=\"l00021\"></a><span class=\"lineno\">   21</span>&#160;<span class=\"comment\">// This code supersedes and replaces all information previously supplied.</span></div>\n<div class=\"line\"><a name=\"l00022\"></a><span class=\"lineno\">   22</span>&#160;<span class=\"comment\">// NVIDIA Corporation products are not authorized for use as critical</span></div>\n<div class=\"line\"><a name=\"l00023\"></a><span class=\"lineno\">   23</span>&#160;<span class=\"comment\">// components in life support devices or systems without express written approval of</span></div>\n<div class=\"line\"><a name=\"l00024\"></a><span class=\"lineno\">   24</span>&#160;<span class=\"comment\">// NVIDIA Corporation.</span></div>\n<div class=\"line\"><a name=\"l00025\"></a><span class=\"lineno\">   25</span>&#160;<span class=\"comment\">//</span></div>\n<div class=\"line\"><a name=\"l00026\"></a><span class=\"lineno\">   26</span>&#160;<span class=\"comment\">// Copyright (c) 2013-2020 NVIDIA Corporation. All rights reserved.</span></div>\n<div class=\"line\"><a name=\"l00027\"></a><span class=\"lineno\">   27</span>&#160;</div>\n<div class=\"line\"><a name=\"l00028\"></a><span class=\"lineno\">   28</span>&#160;<span class=\"preprocessor\">#ifndef NV_FLEX_H</span></div>\n<div class=\"line\"><a name=\"l00029\"></a><span class=\"lineno\">   29</span>&#160;<span class=\"preprocessor\">#define NV_FLEX_H</span></div>\n<div class=\"line\"><a name=\"l00030\"></a><span class=\"lineno\">   30</span>&#160;</div>\n<div class=\"line\"><a name=\"l00032\"></a><span class=\"lineno\">   32</span>&#160;<span class=\"preprocessor\">#if _WIN32</span></div>\n<div class=\"line\"><a name=\"l00033\"></a><span class=\"lineno\">   33</span>&#160;<span class=\"preprocessor\">#define NV_FLEX_API __declspec(dllexport)</span></div>\n<div class=\"line\"><a name=\"l00034\"></a><span class=\"lineno\">   34</span>&#160;<span class=\"preprocessor\">#else</span></div>\n<div class=\"line\"><a name=\"l00035\"></a><span class=\"lineno\">   35</span>&#160;<span class=\"preprocessor\">#define NV_FLEX_API</span></div>\n<div class=\"line\"><a name=\"l00036\"></a><span class=\"lineno\">   36</span>&#160;<span class=\"preprocessor\">#endif</span></div>\n<div class=\"line\"><a name=\"l00037\"></a><span class=\"lineno\">   37</span>&#160;</div>\n<div class=\"line\"><a name=\"l00038\"></a><span class=\"lineno\">   38</span>&#160;<span class=\"comment\">// least 2 significant digits define minor version, eg: 10 -&gt; version 0.10</span></div>\n<div class=\"line\"><a name=\"l00039\"></a><span class=\"lineno\">   39</span>&#160;<span class=\"preprocessor\">#define NV_FLEX_VERSION 120</span></div>\n<div class=\"line\"><a name=\"l00040\"></a><span class=\"lineno\">   40</span>&#160;</div>\n<div class=\"line\"><a name=\"l00042\"></a><span class=\"lineno\">   42</span>&#160;</div>\n<div class=\"line\"><a name=\"l00047\"></a><span class=\"lineno\">   47</span>&#160;<span class=\"keyword\">extern</span> <span class=\"stringliteral\">&quot;C&quot;</span> {</div>\n<div class=\"line\"><a name=\"l00048\"></a><span class=\"lineno\">   48</span>&#160;</div>\n<div class=\"line\"><a name=\"l00052\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">   52</a></span>&#160;<span class=\"keyword\">typedef</span> <span class=\"keyword\">struct </span><a class=\"code\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a> <a class=\"code\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a>;</div>\n<div class=\"line\"><a name=\"l00053\"></a><span class=\"lineno\">   53</span>&#160;</div>\n<div class=\"line\"><a name=\"l00057\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">   57</a></span>&#160;<span class=\"keyword\">typedef</span> <span class=\"keyword\">struct </span><a class=\"code\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> <a class=\"code\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a>;</div>\n<div class=\"line\"><a name=\"l00058\"></a><span class=\"lineno\">   58</span>&#160;</div>\n<div class=\"line\"><a name=\"l00062\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">   62</a></span>&#160;<span class=\"keyword\">typedef</span> <span class=\"keyword\">struct </span><a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> <a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>;</div>\n<div class=\"line\"><a name=\"l00063\"></a><span class=\"lineno\">   63</span>&#160;</div>\n<div class=\"line\"><a name=\"l00067\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a6541b33eaca7b2323e73b30cea34d16c\">   67</a></span>&#160;<span class=\"keyword\">enum</span> <a class=\"code\" href=\"_nv_flex_8h.html#a6541b33eaca7b2323e73b30cea34d16c\">NvFlexMapFlags</a></div>\n<div class=\"line\"><a name=\"l00068\"></a><span class=\"lineno\">   68</span>&#160;{</div>\n<div class=\"line\"><a name=\"l00069\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a6541b33eaca7b2323e73b30cea34d16ca11adf517d180983daec217e761acc3d6\">   69</a></span>&#160;    <a class=\"code\" href=\"_nv_flex_8h.html#a6541b33eaca7b2323e73b30cea34d16ca11adf517d180983daec217e761acc3d6\">eNvFlexMapWait</a>      = 0,    </div>\n<div class=\"line\"><a name=\"l00070\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a6541b33eaca7b2323e73b30cea34d16ca1bd450ab65ccc06288fae95e23d5e6f1\">   70</a></span>&#160;    <a class=\"code\" href=\"_nv_flex_8h.html#a6541b33eaca7b2323e73b30cea34d16ca1bd450ab65ccc06288fae95e23d5e6f1\">eNvFlexMapDoNotWait</a> = 1,    </div>\n<div class=\"line\"><a name=\"l00071\"></a><span class=\"lineno\">   71</span>&#160;};</div>\n<div class=\"line\"><a name=\"l00072\"></a><span class=\"lineno\">   72</span>&#160;</div>\n<div class=\"line\"><a name=\"l00076\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a169e4c126acf46bdebf76c36a44deca3\">   76</a></span>&#160;<span class=\"keyword\">enum</span> <a class=\"code\" href=\"_nv_flex_8h.html#a169e4c126acf46bdebf76c36a44deca3\">NvFlexBufferType</a></div>\n<div class=\"line\"><a name=\"l00077\"></a><span class=\"lineno\">   77</span>&#160;{</div>\n<div class=\"line\"><a name=\"l00078\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a169e4c126acf46bdebf76c36a44deca3aec63221ddc1b13eff4db55fbf6cd85f8\">   78</a></span>&#160;    <a class=\"code\" href=\"_nv_flex_8h.html#a169e4c126acf46bdebf76c36a44deca3aec63221ddc1b13eff4db55fbf6cd85f8\">eNvFlexBufferHost</a>   = 0,    </div>\n<div class=\"line\"><a name=\"l00079\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a169e4c126acf46bdebf76c36a44deca3a103255fa795b55a7f430a41493002576\">   79</a></span>&#160;    <a class=\"code\" href=\"_nv_flex_8h.html#a169e4c126acf46bdebf76c36a44deca3a103255fa795b55a7f430a41493002576\">eNvFlexBufferDevice</a> = 1,    </div>\n<div class=\"line\"><a name=\"l00080\"></a><span class=\"lineno\">   80</span>&#160;};</div>\n<div class=\"line\"><a name=\"l00081\"></a><span class=\"lineno\">   81</span>&#160;</div>\n<div class=\"line\"><a name=\"l00085\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a46f5d35902f7da40628247175a174f3b\">   85</a></span>&#160;<span class=\"keyword\">enum</span> <a class=\"code\" href=\"_nv_flex_8h.html#a46f5d35902f7da40628247175a174f3b\">NvFlexRelaxationMode</a></div>\n<div class=\"line\"><a name=\"l00086\"></a><span class=\"lineno\">   86</span>&#160;{</div>\n<div class=\"line\"><a name=\"l00087\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a46f5d35902f7da40628247175a174f3ba33711a4b466d606d68dee43918f819db\">   87</a></span>&#160;    <a class=\"code\" href=\"_nv_flex_8h.html#a46f5d35902f7da40628247175a174f3ba33711a4b466d606d68dee43918f819db\">eNvFlexRelaxationGlobal</a> = 0,    </div>\n<div class=\"line\"><a name=\"l00088\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a46f5d35902f7da40628247175a174f3ba858afe9529e908c2bc8ce92da8943b7c\">   88</a></span>&#160;    <a class=\"code\" href=\"_nv_flex_8h.html#a46f5d35902f7da40628247175a174f3ba858afe9529e908c2bc8ce92da8943b7c\">eNvFlexRelaxationLocal</a>  = 1     </div>\n<div class=\"line\"><a name=\"l00089\"></a><span class=\"lineno\">   89</span>&#160;};</div>\n<div class=\"line\"><a name=\"l00090\"></a><span class=\"lineno\">   90</span>&#160;</div>\n<div class=\"line\"><a name=\"l00091\"></a><span class=\"lineno\">   91</span>&#160;</div>\n<div class=\"line\"><a name=\"l00095\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html\">   95</a></span>&#160;<span class=\"keyword\">struct </span><a class=\"code\" href=\"_nv_flex_8h.html#struct_nv_flex_params\">NvFlexParams</a></div>\n<div class=\"line\"><a name=\"l00096\"></a><span class=\"lineno\">   96</span>&#160;{</div>\n<div class=\"line\"><a name=\"l00097\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a572c9bf93128466e27d57f225f4d0188\">   97</a></span>&#160;    <span class=\"keywordtype\">int</span> <a class=\"code\" href=\"_nv_flex_8h.html#a572c9bf93128466e27d57f225f4d0188\">numIterations</a>;                  </div>\n<div class=\"line\"><a name=\"l00098\"></a><span class=\"lineno\">   98</span>&#160;</div>\n<div class=\"line\"><a name=\"l00099\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a482a7c3b197c4df656e9509fbd04032c\">   99</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_8h.html#a482a7c3b197c4df656e9509fbd04032c\">gravity</a>[3];                   </div>\n<div class=\"line\"><a name=\"l00100\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#aa6eddaa3a6eb35917c093dcabf69a200\">  100</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_8h.html#aa6eddaa3a6eb35917c093dcabf69a200\">radius</a>;                       </div>\n<div class=\"line\"><a name=\"l00101\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#ab7c54d6c0b3d3595780e5179bf62ebc4\">  101</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_8h.html#ab7c54d6c0b3d3595780e5179bf62ebc4\">solidRestDistance</a>;            </div>\n<div class=\"line\"><a name=\"l00102\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#ad019ad1901bc33d43e3a60df0dfe9b09\">  102</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_8h.html#ad019ad1901bc33d43e3a60df0dfe9b09\">fluidRestDistance</a>;            </div>\n<div class=\"line\"><a name=\"l00103\"></a><span class=\"lineno\">  103</span>&#160;</div>\n<div class=\"line\"><a name=\"l00104\"></a><span class=\"lineno\">  104</span>&#160;    <span class=\"comment\">// common params</span></div>\n<div class=\"line\"><a name=\"l00105\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a27a185172ad1951d40c476ade8307068\">  105</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_8h.html#a27a185172ad1951d40c476ade8307068\">dynamicFriction</a>;              </div>\n<div class=\"line\"><a name=\"l00106\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#af0a34fd0cdf686022650be9f895cbf2f\">  106</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_8h.html#af0a34fd0cdf686022650be9f895cbf2f\">staticFriction</a>;               </div>\n<div class=\"line\"><a name=\"l00107\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#af7a56fc54644e7020e105f2ff41dfb60\">  107</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_8h.html#af7a56fc54644e7020e105f2ff41dfb60\">particleFriction</a>;             </div>\n<div class=\"line\"><a name=\"l00108\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#afc306cb48c313ee518461d60c1014485\">  108</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_8h.html#afc306cb48c313ee518461d60c1014485\">restitution</a>;                  </div>\n<div class=\"line\"><a name=\"l00109\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a8114a049f5e16f7d1b960f3ac4993fdb\">  109</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_8h.html#a8114a049f5e16f7d1b960f3ac4993fdb\">adhesion</a>;                     </div>\n<div class=\"line\"><a name=\"l00110\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a533a78227b462a268c905f9c307c4bd6\">  110</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_8h.html#a533a78227b462a268c905f9c307c4bd6\">sleepThreshold</a>;               </div>\n<div class=\"line\"><a name=\"l00111\"></a><span class=\"lineno\">  111</span>&#160;    </div>\n<div class=\"line\"><a name=\"l00112\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#ab003c023dde289dee075c49db022ccaf\">  112</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_8h.html#ab003c023dde289dee075c49db022ccaf\">maxSpeed</a>;                     </div>\n<div class=\"line\"><a name=\"l00113\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a0def9c3ceff57bbae5bcec15f6d64b36\">  113</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_8h.html#a0def9c3ceff57bbae5bcec15f6d64b36\">maxAcceleration</a>;              </div>\n<div class=\"line\"><a name=\"l00114\"></a><span class=\"lineno\">  114</span>&#160;    </div>\n<div class=\"line\"><a name=\"l00115\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#ab98a2aba477ab4d4178bf677852bf544\">  115</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_8h.html#ab98a2aba477ab4d4178bf677852bf544\">shockPropagation</a>;             </div>\n<div class=\"line\"><a name=\"l00116\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#aeff62427426510eeb1cf5625e14ff585\">  116</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_8h.html#aeff62427426510eeb1cf5625e14ff585\">dissipation</a>;                  </div>\n<div class=\"line\"><a name=\"l00117\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a6198445df7f341ec75f37e1dfb44830c\">  117</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_8h.html#a6198445df7f341ec75f37e1dfb44830c\">damping</a>;                      </div>\n<div class=\"line\"><a name=\"l00118\"></a><span class=\"lineno\">  118</span>&#160;</div>\n<div class=\"line\"><a name=\"l00119\"></a><span class=\"lineno\">  119</span>&#160;    <span class=\"comment\">// cloth params</span></div>\n<div class=\"line\"><a name=\"l00120\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#aafb92c4fa45ce9614cdfd349b3722c8a\">  120</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_8h.html#aafb92c4fa45ce9614cdfd349b3722c8a\">wind</a>[3];                      </div>\n<div class=\"line\"><a name=\"l00121\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a7043181449aebf540351d1d2f785cf4a\">  121</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_8h.html#a7043181449aebf540351d1d2f785cf4a\">drag</a>;                         </div>\n<div class=\"line\"><a name=\"l00122\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#af9bb710afb22ec5ed50679aef8717777\">  122</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_8h.html#af9bb710afb22ec5ed50679aef8717777\">lift</a>;                         </div>\n<div class=\"line\"><a name=\"l00123\"></a><span class=\"lineno\">  123</span>&#160;</div>\n<div class=\"line\"><a name=\"l00124\"></a><span class=\"lineno\">  124</span>&#160;    <span class=\"comment\">// fluid params</span></div>\n<div class=\"line\"><a name=\"l00125\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a3ef4d1035530c3583bdf983c7e62b472\">  125</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_8h.html#a3ef4d1035530c3583bdf983c7e62b472\">cohesion</a>;                     </div>\n<div class=\"line\"><a name=\"l00126\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a5628f890f4ae070e405feaf1f81a7b85\">  126</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_8h.html#a5628f890f4ae070e405feaf1f81a7b85\">surfaceTension</a>;               </div>\n<div class=\"line\"><a name=\"l00127\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a40f452b4edbf11b793f31286a0ae270e\">  127</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_8h.html#a40f452b4edbf11b793f31286a0ae270e\">viscosity</a>;                    </div>\n<div class=\"line\"><a name=\"l00128\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#ae763dd9bfcfa4092c0165a506e32e18b\">  128</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_8h.html#ae763dd9bfcfa4092c0165a506e32e18b\">vorticityConfinement</a>;         </div>\n<div class=\"line\"><a name=\"l00129\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a608af97e77a912e959b0e825082a9cd6\">  129</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_8h.html#a608af97e77a912e959b0e825082a9cd6\">anisotropyScale</a>;              </div>\n<div class=\"line\"><a name=\"l00130\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#ab136ae1511a39ef570c010f321eff206\">  130</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_8h.html#ab136ae1511a39ef570c010f321eff206\">anisotropyMin</a>;                </div>\n<div class=\"line\"><a name=\"l00131\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a5e37444b8c96e0880a428d9ea58dbf54\">  131</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_8h.html#a5e37444b8c96e0880a428d9ea58dbf54\">anisotropyMax</a>;                </div>\n<div class=\"line\"><a name=\"l00132\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#ac017e05107d0362d3d03a14eaadf0657\">  132</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_8h.html#ac017e05107d0362d3d03a14eaadf0657\">smoothing</a>;                    </div>\n<div class=\"line\"><a name=\"l00133\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a3f93fba688338576ff3258b034525dc5\">  133</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_8h.html#a3f93fba688338576ff3258b034525dc5\">solidPressure</a>;                </div>\n<div class=\"line\"><a name=\"l00134\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a05f92015449662f5a2f5d5e9ecdc2c6e\">  134</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_8h.html#a05f92015449662f5a2f5d5e9ecdc2c6e\">freeSurfaceDrag</a>;              </div>\n<div class=\"line\"><a name=\"l00135\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#ae2e480822cc06ec249ee2557f6cc8ee1\">  135</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_8h.html#ae2e480822cc06ec249ee2557f6cc8ee1\">buoyancy</a>;                     </div>\n<div class=\"line\"><a name=\"l00136\"></a><span class=\"lineno\">  136</span>&#160;</div>\n<div class=\"line\"><a name=\"l00137\"></a><span class=\"lineno\">  137</span>&#160;    <span class=\"comment\">// diffuse params</span></div>\n<div class=\"line\"><a name=\"l00138\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#acdde802d58e1558c03e449e04ae33f15\">  138</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_8h.html#acdde802d58e1558c03e449e04ae33f15\">diffuseThreshold</a>;             </div>\n<div class=\"line\"><a name=\"l00139\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a5be673031b100c3861fd9eb824fcf00f\">  139</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_8h.html#a5be673031b100c3861fd9eb824fcf00f\">diffuseBuoyancy</a>;              </div>\n<div class=\"line\"><a name=\"l00140\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a4bf0ccff128c165560dba52afb748d7e\">  140</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_8h.html#a4bf0ccff128c165560dba52afb748d7e\">diffuseDrag</a>;                  </div>\n<div class=\"line\"><a name=\"l00141\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a7ade7491cd0693a6d7c5e88a99298378\">  141</a></span>&#160;    <span class=\"keywordtype\">int</span> <a class=\"code\" href=\"_nv_flex_8h.html#a7ade7491cd0693a6d7c5e88a99298378\">diffuseBallistic</a>;               </div>\n<div class=\"line\"><a name=\"l00142\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a469950744e0b7222969762a89b992255\">  142</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_8h.html#a469950744e0b7222969762a89b992255\">diffuseLifetime</a>;              </div>\n<div class=\"line\"><a name=\"l00143\"></a><span class=\"lineno\">  143</span>&#160;</div>\n<div class=\"line\"><a name=\"l00144\"></a><span class=\"lineno\">  144</span>&#160;    <span class=\"comment\">// collision params</span></div>\n<div class=\"line\"><a name=\"l00145\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a55bf1f547086b8e469f2c3b20c9ae39d\">  145</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_8h.html#a55bf1f547086b8e469f2c3b20c9ae39d\">collisionDistance</a>;            </div>\n<div class=\"line\"><a name=\"l00146\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#aeecd11525503649b579ae262b671fbc8\">  146</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_8h.html#aeecd11525503649b579ae262b671fbc8\">particleCollisionMargin</a>;      </div>\n<div class=\"line\"><a name=\"l00147\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a0e4cb2f91d3b7d122000d36a7d67ab81\">  147</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_8h.html#a0e4cb2f91d3b7d122000d36a7d67ab81\">shapeCollisionMargin</a>;         </div>\n<div class=\"line\"><a name=\"l00148\"></a><span class=\"lineno\">  148</span>&#160;</div>\n<div class=\"line\"><a name=\"l00149\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#ae54ff0cacfedd4333aa1a1f9b9291906\">  149</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_8h.html#ae54ff0cacfedd4333aa1a1f9b9291906\">planes</a>[8][4];                 </div>\n<div class=\"line\"><a name=\"l00150\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#ab4f2eb16c8aba6371fbae51a991eaaa5\">  150</a></span>&#160;    <span class=\"keywordtype\">int</span> <a class=\"code\" href=\"_nv_flex_8h.html#ab4f2eb16c8aba6371fbae51a991eaaa5\">numPlanes</a>;                      </div>\n<div class=\"line\"><a name=\"l00151\"></a><span class=\"lineno\">  151</span>&#160;</div>\n<div class=\"line\"><a name=\"l00152\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#ac2f8dff9857a86683aa6e55c058888d7\">  152</a></span>&#160;    <a class=\"code\" href=\"_nv_flex_8h.html#a46f5d35902f7da40628247175a174f3b\">NvFlexRelaxationMode</a> <a class=\"code\" href=\"_nv_flex_8h.html#ac2f8dff9857a86683aa6e55c058888d7\">relaxationMode</a>;</div>\n<div class=\"line\"><a name=\"l00153\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a8a1b3c24aa73606bcd47a72473db9629\">  153</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_8h.html#a8a1b3c24aa73606bcd47a72473db9629\">relaxationFactor</a>;             </div>\n<div class=\"line\"><a name=\"l00154\"></a><span class=\"lineno\">  154</span>&#160;};</div>\n<div class=\"line\"><a name=\"l00155\"></a><span class=\"lineno\">  155</span>&#160;</div>\n<div class=\"line\"><a name=\"l00156\"></a><span class=\"lineno\">  156</span>&#160;</div>\n<div class=\"line\"><a name=\"l00160\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644\">  160</a></span>&#160;<span class=\"keyword\">enum</span> <a class=\"code\" href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644\">NvFlexPhase</a></div>\n<div class=\"line\"><a name=\"l00161\"></a><span class=\"lineno\">  161</span>&#160;{</div>\n<div class=\"line\"><a name=\"l00162\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644ad108f6ebf28346813cfd3602d984bb32\">  162</a></span>&#160;    <a class=\"code\" href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644ad108f6ebf28346813cfd3602d984bb32\">eNvFlexPhaseGroupMask</a>           = 0x000fffff,   </div>\n<div class=\"line\"><a name=\"l00163\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a7b776084468bae4e3566484cf34d0154\">  163</a></span>&#160;    <a class=\"code\" href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a7b776084468bae4e3566484cf34d0154\">eNvFlexPhaseFlagsMask</a>           = 0x00f00000,   </div>\n<div class=\"line\"><a name=\"l00164\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644ae4ea43366942f719f40e8526ad21a038\">  164</a></span>&#160;    <a class=\"code\" href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644ae4ea43366942f719f40e8526ad21a038\">eNvFlexPhaseShapeChannelMask</a>    = 0x7f000000,   </div>\n<div class=\"line\"><a name=\"l00165\"></a><span class=\"lineno\">  165</span>&#160;    </div>\n<div class=\"line\"><a name=\"l00166\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a453a23cc8e9d2e6097b5be187f3c6977\">  166</a></span>&#160;    <a class=\"code\" href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a453a23cc8e9d2e6097b5be187f3c6977\">eNvFlexPhaseSelfCollide</a>         = 1 &lt;&lt; 20,      </div>\n<div class=\"line\"><a name=\"l00167\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a76a62d3a5df428f18e01f8b37573a7b1\">  167</a></span>&#160;    <a class=\"code\" href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a76a62d3a5df428f18e01f8b37573a7b1\">eNvFlexPhaseSelfCollideFilter</a>   = 1 &lt;&lt; 21,      </div>\n<div class=\"line\"><a name=\"l00168\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a1728772beb1746ace4c549b2ed8f1d74\">  168</a></span>&#160;    <a class=\"code\" href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a1728772beb1746ace4c549b2ed8f1d74\">eNvFlexPhaseFluid</a>               = 1 &lt;&lt; 22,      </div>\n<div class=\"line\"><a name=\"l00169\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a52ee05f3e425c336856277774bc9f69f\">  169</a></span>&#160;    <a class=\"code\" href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a52ee05f3e425c336856277774bc9f69f\">eNvFlexPhaseUnused</a>              = 1 &lt;&lt; 23,      </div>\n<div class=\"line\"><a name=\"l00170\"></a><span class=\"lineno\">  170</span>&#160;    </div>\n<div class=\"line\"><a name=\"l00171\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a66aa70953a97744621e2afa41d0e32d2\">  171</a></span>&#160;    <a class=\"code\" href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a66aa70953a97744621e2afa41d0e32d2\">eNvFlexPhaseShapeChannel0</a>       = 1 &lt;&lt; 24,      </div>\n<div class=\"line\"><a name=\"l00172\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a1de4e956764950e501bcb8376a70f5a9\">  172</a></span>&#160;    <a class=\"code\" href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a1de4e956764950e501bcb8376a70f5a9\">eNvFlexPhaseShapeChannel1</a>       = 1 &lt;&lt; 25,      </div>\n<div class=\"line\"><a name=\"l00173\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644aa3a4fd0d5930b31199334e500ac2d7c8\">  173</a></span>&#160;    <a class=\"code\" href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644aa3a4fd0d5930b31199334e500ac2d7c8\">eNvFlexPhaseShapeChannel2</a>       = 1 &lt;&lt; 26,      </div>\n<div class=\"line\"><a name=\"l00174\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644ab4034dbf78d6045ee13278531ee21c2b\">  174</a></span>&#160;    <a class=\"code\" href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644ab4034dbf78d6045ee13278531ee21c2b\">eNvFlexPhaseShapeChannel3</a>       = 1 &lt;&lt; 27,      </div>\n<div class=\"line\"><a name=\"l00175\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644af309316efb695be38a4e15986be21ef9\">  175</a></span>&#160;    <a class=\"code\" href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644af309316efb695be38a4e15986be21ef9\">eNvFlexPhaseShapeChannel4</a>       = 1 &lt;&lt; 28,      </div>\n<div class=\"line\"><a name=\"l00176\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a92bbb75d47ea0058a9a89deb0abec67f\">  176</a></span>&#160;    <a class=\"code\" href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a92bbb75d47ea0058a9a89deb0abec67f\">eNvFlexPhaseShapeChannel5</a>       = 1 &lt;&lt; 29,      </div>\n<div class=\"line\"><a name=\"l00177\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a0c8d08e646d2713e34d7e2dd6e7b21f2\">  177</a></span>&#160;    <a class=\"code\" href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a0c8d08e646d2713e34d7e2dd6e7b21f2\">eNvFlexPhaseShapeChannel6</a>       = 1 &lt;&lt; 30,      </div>\n<div class=\"line\"><a name=\"l00178\"></a><span class=\"lineno\">  178</span>&#160;};</div>\n<div class=\"line\"><a name=\"l00179\"></a><span class=\"lineno\">  179</span>&#160;</div>\n<div class=\"line\"><a name=\"l00180\"></a><span class=\"lineno\">  180</span>&#160;</div>\n<div class=\"line\"><a name=\"l00189\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a615e8070212c24a70e7a849120c13353\">  189</a></span>&#160;NV_FLEX_API <span class=\"keyword\">inline</span> <span class=\"keywordtype\">int</span> <a class=\"code\" href=\"_nv_flex_8h.html#a615e8070212c24a70e7a849120c13353\">NvFlexMakePhaseWithChannels</a>(<span class=\"keywordtype\">int</span> group, <span class=\"keywordtype\">int</span> particleFlags, <span class=\"keywordtype\">int</span> shapeChannels) { <span class=\"keywordflow\">return</span> (group &amp; <a class=\"code\" href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644ad108f6ebf28346813cfd3602d984bb32\">eNvFlexPhaseGroupMask</a>) | (particleFlags &amp; <a class=\"code\" href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a7b776084468bae4e3566484cf34d0154\">eNvFlexPhaseFlagsMask</a>) | (shapeChannels &amp; <a class=\"code\" href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644ae4ea43366942f719f40e8526ad21a038\">eNvFlexPhaseShapeChannelMask</a>); }</div>\n<div class=\"line\"><a name=\"l00190\"></a><span class=\"lineno\">  190</span>&#160;</div>\n<div class=\"line\"><a name=\"l00194\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#ab43db5f28808f8038cfc9330d4b47d57\">  194</a></span>&#160;NV_FLEX_API <span class=\"keyword\">inline</span> <span class=\"keywordtype\">int</span> <a class=\"code\" href=\"_nv_flex_8h.html#ab43db5f28808f8038cfc9330d4b47d57\">NvFlexMakePhase</a>(<span class=\"keywordtype\">int</span> group, <span class=\"keywordtype\">int</span> particleFlags) { <span class=\"keywordflow\">return</span> <a class=\"code\" href=\"_nv_flex_8h.html#a615e8070212c24a70e7a849120c13353\">NvFlexMakePhaseWithChannels</a>(group, particleFlags, <a class=\"code\" href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644ae4ea43366942f719f40e8526ad21a038\">eNvFlexPhaseShapeChannelMask</a>); }</div>\n<div class=\"line\"><a name=\"l00195\"></a><span class=\"lineno\">  195</span>&#160;</div>\n<div class=\"line\"><a name=\"l00196\"></a><span class=\"lineno\">  196</span>&#160;</div>\n<div class=\"line\"><a name=\"l00200\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html\">  200</a></span>&#160;<span class=\"keyword\">struct </span><a class=\"code\" href=\"_nv_flex_8h.html#struct_nv_flex_timers\">NvFlexTimers</a></div>\n<div class=\"line\"><a name=\"l00201\"></a><span class=\"lineno\">  201</span>&#160;{</div>\n<div class=\"line\"><a name=\"l00202\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#aaf8baa00e709ff8fd40d114f00bee0b6\">  202</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_8h.html#aaf8baa00e709ff8fd40d114f00bee0b6\">predict</a>;              </div>\n<div class=\"line\"><a name=\"l00203\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#aba34bc2bc8736e3a0cf18a7a6b56ff68\">  203</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_8h.html#aba34bc2bc8736e3a0cf18a7a6b56ff68\">createCellIndices</a>;    </div>\n<div class=\"line\"><a name=\"l00204\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#ae45cb18deec2db8ff44d181e80f24695\">  204</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_8h.html#ae45cb18deec2db8ff44d181e80f24695\">sortCellIndices</a>;      </div>\n<div class=\"line\"><a name=\"l00205\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a98b4df3721709c862ef5d09edcc6d4c3\">  205</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_8h.html#a98b4df3721709c862ef5d09edcc6d4c3\">createGrid</a>;           </div>\n<div class=\"line\"><a name=\"l00206\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a6071050991cf71a8d9ff28ea968479af\">  206</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_8h.html#a6071050991cf71a8d9ff28ea968479af\">reorder</a>;              </div>\n<div class=\"line\"><a name=\"l00207\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#ac1f3c3a1eeeb57cf5b20d030a788e25c\">  207</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_8h.html#ac1f3c3a1eeeb57cf5b20d030a788e25c\">collideParticles</a>;     </div>\n<div class=\"line\"><a name=\"l00208\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#ae4203fb9cf4772c3186f96cc2d9f6ea8\">  208</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_8h.html#ae4203fb9cf4772c3186f96cc2d9f6ea8\">collideShapes</a>;        </div>\n<div class=\"line\"><a name=\"l00209\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#afc20d27121f49b61be9cc6bd4c25f547\">  209</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_8h.html#afc20d27121f49b61be9cc6bd4c25f547\">collideTriangles</a>;     </div>\n<div class=\"line\"><a name=\"l00210\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#aaa36ba5ee44e34e762167fb0b8b3292e\">  210</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_8h.html#aaa36ba5ee44e34e762167fb0b8b3292e\">collideFields</a>;        </div>\n<div class=\"line\"><a name=\"l00211\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a49f7117a457a716e7790904209f68707\">  211</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_8h.html#a49f7117a457a716e7790904209f68707\">calculateDensity</a>;     </div>\n<div class=\"line\"><a name=\"l00212\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#abe52b62e7af361f387d67414b9e2cf9b\">  212</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_8h.html#abe52b62e7af361f387d67414b9e2cf9b\">solveDensities</a>;       </div>\n<div class=\"line\"><a name=\"l00213\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a4d10188e917ae045e0e903f3db1c638d\">  213</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_8h.html#a4d10188e917ae045e0e903f3db1c638d\">solveVelocities</a>;      </div>\n<div class=\"line\"><a name=\"l00214\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#abdd60b0a83674283d09b4897fdd637a2\">  214</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_8h.html#abdd60b0a83674283d09b4897fdd637a2\">solveShapes</a>;          </div>\n<div class=\"line\"><a name=\"l00215\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a57e4d27b0aa8774e479fa66d65079f78\">  215</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_8h.html#a57e4d27b0aa8774e479fa66d65079f78\">solveSprings</a>;         </div>\n<div class=\"line\"><a name=\"l00216\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a215e06106ec0cdbbcd405055a4535d1d\">  216</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_8h.html#a215e06106ec0cdbbcd405055a4535d1d\">solveContacts</a>;        </div>\n<div class=\"line\"><a name=\"l00217\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a75eade1512d023cb19da5b7ebbad10f3\">  217</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_8h.html#a75eade1512d023cb19da5b7ebbad10f3\">solveInflatables</a>;     </div>\n<div class=\"line\"><a name=\"l00218\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#afc5d58e7f591213c3fe1c31b4d440eb6\">  218</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_8h.html#afc5d58e7f591213c3fe1c31b4d440eb6\">applyDeltas</a>;          </div>\n<div class=\"line\"><a name=\"l00219\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#af9b72d2909ef335b12a46cdbd4b71f57\">  219</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_8h.html#af9b72d2909ef335b12a46cdbd4b71f57\">calculateAnisotropy</a>;  </div>\n<div class=\"line\"><a name=\"l00220\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a2ff723870a6eba26d9f3bb7e5250b27f\">  220</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_8h.html#a2ff723870a6eba26d9f3bb7e5250b27f\">updateDiffuse</a>;        </div>\n<div class=\"line\"><a name=\"l00221\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a8cb34cbcf9def6817d6d5d3c07177052\">  221</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_8h.html#a8cb34cbcf9def6817d6d5d3c07177052\">updateTriangles</a>;      </div>\n<div class=\"line\"><a name=\"l00222\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a1a1e69f26e02e8b3fca1d3636a7f3f13\">  222</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_8h.html#a1a1e69f26e02e8b3fca1d3636a7f3f13\">updateNormals</a>;        </div>\n<div class=\"line\"><a name=\"l00223\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a9d825db54bc9a0bca998b3654db3b20e\">  223</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_8h.html#a9d825db54bc9a0bca998b3654db3b20e\">finalize</a>;             </div>\n<div class=\"line\"><a name=\"l00224\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a2f85189cbc3014b73164cf8c4eb87e0a\">  224</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_8h.html#a2f85189cbc3014b73164cf8c4eb87e0a\">updateBounds</a>;         </div>\n<div class=\"line\"><a name=\"l00225\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a3c4d2aa395ff8d0f70a6380448943be2\">  225</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_8h.html#a3c4d2aa395ff8d0f70a6380448943be2\">total</a>;                </div>\n<div class=\"line\"><a name=\"l00226\"></a><span class=\"lineno\">  226</span>&#160;};</div>\n<div class=\"line\"><a name=\"l00227\"></a><span class=\"lineno\">  227</span>&#160;</div>\n<div class=\"line\"><a name=\"l00231\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#ab4435b3857752360375fe52fc992cfca\">  231</a></span>&#160;<span class=\"keyword\">enum</span> <a class=\"code\" href=\"_nv_flex_8h.html#ab4435b3857752360375fe52fc992cfca\">NvFlexErrorSeverity</a></div>\n<div class=\"line\"><a name=\"l00232\"></a><span class=\"lineno\">  232</span>&#160;{</div>\n<div class=\"line\"><a name=\"l00233\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#ab4435b3857752360375fe52fc992cfcaa8aed6496f033604148138299fa075edd\">  233</a></span>&#160;    <a class=\"code\" href=\"_nv_flex_8h.html#ab4435b3857752360375fe52fc992cfcaa8aed6496f033604148138299fa075edd\">eNvFlexLogError</a>     =  0,   </div>\n<div class=\"line\"><a name=\"l00234\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#ab4435b3857752360375fe52fc992cfcaa03d239332ae87f46270855dd06b6e58f\">  234</a></span>&#160;    <a class=\"code\" href=\"_nv_flex_8h.html#ab4435b3857752360375fe52fc992cfcaa03d239332ae87f46270855dd06b6e58f\">eNvFlexLogInfo</a>      =  1,   </div>\n<div class=\"line\"><a name=\"l00235\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#ab4435b3857752360375fe52fc992cfcaa5538835c4767004ba5fd443ada08ea61\">  235</a></span>&#160;    <a class=\"code\" href=\"_nv_flex_8h.html#ab4435b3857752360375fe52fc992cfcaa5538835c4767004ba5fd443ada08ea61\">eNvFlexLogWarning</a>   =  2,   </div>\n<div class=\"line\"><a name=\"l00236\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#ab4435b3857752360375fe52fc992cfcaa77b51759e33d60b2caf327bb4835351e\">  236</a></span>&#160;    <a class=\"code\" href=\"_nv_flex_8h.html#ab4435b3857752360375fe52fc992cfcaa77b51759e33d60b2caf327bb4835351e\">eNvFlexLogDebug</a>     =  4,   </div>\n<div class=\"line\"><a name=\"l00237\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#ab4435b3857752360375fe52fc992cfcaa8feff72c0b0391e8adf3ddb6c39ef10e\">  237</a></span>&#160;    <a class=\"code\" href=\"_nv_flex_8h.html#ab4435b3857752360375fe52fc992cfcaa8feff72c0b0391e8adf3ddb6c39ef10e\">eNvFlexLogAll</a>       = -1,   </div>\n<div class=\"line\"><a name=\"l00238\"></a><span class=\"lineno\">  238</span>&#160;};</div>\n<div class=\"line\"><a name=\"l00239\"></a><span class=\"lineno\">  239</span>&#160;</div>\n<div class=\"line\"><a name=\"l00240\"></a><span class=\"lineno\">  240</span>&#160; </div>\n<div class=\"line\"><a name=\"l00243\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9\">  243</a></span>&#160;<span class=\"keyword\">enum</span> <a class=\"code\" href=\"_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9\">NvFlexSolverCallbackStage</a></div>\n<div class=\"line\"><a name=\"l00244\"></a><span class=\"lineno\">  244</span>&#160;{</div>\n<div class=\"line\"><a name=\"l00245\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9a9f3914fdb03915a14ebe55a2c730e7ff\">  245</a></span>&#160;    <a class=\"code\" href=\"_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9a9f3914fdb03915a14ebe55a2c730e7ff\">eNvFlexStageIterationStart</a>, </div>\n<div class=\"line\"><a name=\"l00246\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9ab75a912c3990b0fbd6b06a6741a20e69\">  246</a></span>&#160;    <a class=\"code\" href=\"_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9ab75a912c3990b0fbd6b06a6741a20e69\">eNvFlexStageIterationEnd</a>,   </div>\n<div class=\"line\"><a name=\"l00247\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9a79ce9005dbc92198a1f180c6afde6a44\">  247</a></span>&#160;    <a class=\"code\" href=\"_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9a79ce9005dbc92198a1f180c6afde6a44\">eNvFlexStageSubstepBegin</a>,   </div>\n<div class=\"line\"><a name=\"l00248\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9a6f13e2ebdbf21f8c8ebcfe1ac9160586\">  248</a></span>&#160;    <a class=\"code\" href=\"_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9a6f13e2ebdbf21f8c8ebcfe1ac9160586\">eNvFlexStageSubstepEnd</a>,     </div>\n<div class=\"line\"><a name=\"l00249\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9a260340ba9071892bd8795c3b29289806\">  249</a></span>&#160;    <a class=\"code\" href=\"_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9a260340ba9071892bd8795c3b29289806\">eNvFlexStageUpdateEnd</a>,      </div>\n<div class=\"line\"><a name=\"l00250\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9a1f2e7acff9b3b74922f90240d29fd1b3\">  250</a></span>&#160;    <a class=\"code\" href=\"_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9a1f2e7acff9b3b74922f90240d29fd1b3\">eNvFlexStageCount</a>,          </div>\n<div class=\"line\"><a name=\"l00251\"></a><span class=\"lineno\">  251</span>&#160;};</div>\n<div class=\"line\"><a name=\"l00252\"></a><span class=\"lineno\">  252</span>&#160;</div>\n<div class=\"line\"><a name=\"l00253\"></a><span class=\"lineno\">  253</span>&#160;</div>\n<div class=\"line\"><a name=\"l00266\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html\">  266</a></span>&#160;<span class=\"keyword\">struct </span><a class=\"code\" href=\"_nv_flex_8h.html#struct_nv_flex_solver_callback_params\">NvFlexSolverCallbackParams</a></div>\n<div class=\"line\"><a name=\"l00267\"></a><span class=\"lineno\">  267</span>&#160;{</div>\n<div class=\"line\"><a name=\"l00268\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a3974e1e608d9f532d5520dc158b47903\">  268</a></span>&#160;    <a class=\"code\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a>* <a class=\"code\" href=\"_nv_flex_8h.html#a3974e1e608d9f532d5520dc158b47903\">solver</a>;               </div>\n<div class=\"line\"><a name=\"l00269\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a5b9af9cf4d889b4772cb61cefda92a87\">  269</a></span>&#160;    <span class=\"keywordtype\">void</span>* <a class=\"code\" href=\"_nv_flex_8h.html#a5b9af9cf4d889b4772cb61cefda92a87\">userData</a>;                     </div>\n<div class=\"line\"><a name=\"l00270\"></a><span class=\"lineno\">  270</span>&#160;</div>\n<div class=\"line\"><a name=\"l00271\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a8ed42f9bd016cbcef45c96b5b32ca609\">  271</a></span>&#160;    <span class=\"keywordtype\">float</span>* <a class=\"code\" href=\"_nv_flex_8h.html#a8ed42f9bd016cbcef45c96b5b32ca609\">particles</a>;                   </div>\n<div class=\"line\"><a name=\"l00272\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#ac48a490fa3d62cc678c309dd4b8cbf18\">  272</a></span>&#160;    <span class=\"keywordtype\">float</span>* <a class=\"code\" href=\"_nv_flex_8h.html#ac48a490fa3d62cc678c309dd4b8cbf18\">velocities</a>;                  </div>\n<div class=\"line\"><a name=\"l00273\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a9e5f943053d43d7e1a6b149babe4fe44\">  273</a></span>&#160;    <span class=\"keywordtype\">int</span>* <a class=\"code\" href=\"_nv_flex_8h.html#a9e5f943053d43d7e1a6b149babe4fe44\">phases</a>;                        </div>\n<div class=\"line\"><a name=\"l00274\"></a><span class=\"lineno\">  274</span>&#160;</div>\n<div class=\"line\"><a name=\"l00275\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#ac32019f7dd1f30ab8a7391a417ed02c9\">  275</a></span>&#160;    <span class=\"keywordtype\">int</span> <a class=\"code\" href=\"_nv_flex_8h.html#ac32019f7dd1f30ab8a7391a417ed02c9\">numActive</a>;                      </div>\n<div class=\"line\"><a name=\"l00276\"></a><span class=\"lineno\">  276</span>&#160;    </div>\n<div class=\"line\"><a name=\"l00277\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a843360ebf23cd00e5eff72d19e796dd9\">  277</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_8h.html#a843360ebf23cd00e5eff72d19e796dd9\">dt</a>;                           </div>\n<div class=\"line\"><a name=\"l00278\"></a><span class=\"lineno\">  278</span>&#160;</div>\n<div class=\"line\"><a name=\"l00279\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#abe564dbbbd4957542322b60d77a70e29\">  279</a></span>&#160;    <span class=\"keyword\">const</span> <span class=\"keywordtype\">int</span>* <a class=\"code\" href=\"_nv_flex_8h.html#abe564dbbbd4957542322b60d77a70e29\">originalToSortedMap</a>;     </div>\n<div class=\"line\"><a name=\"l00280\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a9b65813d2a2d3f99db162d39a62481f8\">  280</a></span>&#160;    <span class=\"keyword\">const</span> <span class=\"keywordtype\">int</span>* <a class=\"code\" href=\"_nv_flex_8h.html#a9b65813d2a2d3f99db162d39a62481f8\">sortedToOriginalMap</a>;     </div>\n<div class=\"line\"><a name=\"l00281\"></a><span class=\"lineno\">  281</span>&#160;};</div>\n<div class=\"line\"><a name=\"l00282\"></a><span class=\"lineno\">  282</span>&#160;</div>\n<div class=\"line\"><a name=\"l00285\"></a><span class=\"lineno\"><a class=\"line\" href=\"struct_nv_flex_solver_callback.html\">  285</a></span>&#160;<span class=\"keyword\">struct </span><a class=\"code\" href=\"struct_nv_flex_solver_callback.html\">NvFlexSolverCallback</a></div>\n<div class=\"line\"><a name=\"l00286\"></a><span class=\"lineno\">  286</span>&#160;{</div>\n<div class=\"line\"><a name=\"l00288\"></a><span class=\"lineno\"><a class=\"line\" href=\"struct_nv_flex_solver_callback.html#a2878301f697313b3ef3ad1bc2410c915\">  288</a></span>&#160;    <span class=\"keywordtype\">void</span>* <a class=\"code\" href=\"struct_nv_flex_solver_callback.html#a2878301f697313b3ef3ad1bc2410c915\">userData</a>;</div>\n<div class=\"line\"><a name=\"l00289\"></a><span class=\"lineno\">  289</span>&#160;    </div>\n<div class=\"line\"><a name=\"l00291\"></a><span class=\"lineno\"><a class=\"line\" href=\"struct_nv_flex_solver_callback.html#a728134bf4d667b207539d7318e42e92a\">  291</a></span>&#160;    void (*<span class=\"keyword\">function</span>)(<a class=\"code\" href=\"_nv_flex_8h.html#struct_nv_flex_solver_callback_params\">NvFlexSolverCallbackParams</a> params);</div>\n<div class=\"line\"><a name=\"l00292\"></a><span class=\"lineno\">  292</span>&#160;};</div>\n<div class=\"line\"><a name=\"l00293\"></a><span class=\"lineno\">  293</span>&#160;</div>\n<div class=\"line\"><a name=\"l00297\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#abe6f00c9b94debbf7c181082a14076d5\">  297</a></span>&#160;<span class=\"keyword\">typedef</span> void (*<a class=\"code\" href=\"_nv_flex_8h.html#abe6f00c9b94debbf7c181082a14076d5\">NvFlexErrorCallback</a>)(<a class=\"code\" href=\"_nv_flex_8h.html#ab4435b3857752360375fe52fc992cfca\">NvFlexErrorSeverity</a> type, <span class=\"keyword\">const</span> <span class=\"keywordtype\">char</span>* msg, <span class=\"keyword\">const</span> <span class=\"keywordtype\">char</span>* file, <span class=\"keywordtype\">int</span> line);</div>\n<div class=\"line\"><a name=\"l00298\"></a><span class=\"lineno\">  298</span>&#160;</div>\n<div class=\"line\"><a name=\"l00299\"></a><span class=\"lineno\">  299</span>&#160;</div>\n<div class=\"line\"><a name=\"l00300\"></a><span class=\"lineno\">  300</span>&#160;</div>\n<div class=\"line\"><a name=\"l00301\"></a><span class=\"lineno\">  301</span>&#160;</div>\n<div class=\"line\"><a name=\"l00304\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a9b2d3dc5ac42011aeec4e13be2e14252\">  304</a></span>&#160;<span class=\"keyword\">enum</span> <a class=\"code\" href=\"_nv_flex_8h.html#a9b2d3dc5ac42011aeec4e13be2e14252\">NvFlexComputeType</a></div>\n<div class=\"line\"><a name=\"l00305\"></a><span class=\"lineno\">  305</span>&#160;{</div>\n<div class=\"line\"><a name=\"l00306\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a9b2d3dc5ac42011aeec4e13be2e14252ad0c27f7aafdc4fe569722025c8eb2178\">  306</a></span>&#160;    <a class=\"code\" href=\"_nv_flex_8h.html#a9b2d3dc5ac42011aeec4e13be2e14252ad0c27f7aafdc4fe569722025c8eb2178\">eNvFlexCUDA</a>,        </div>\n<div class=\"line\"><a name=\"l00307\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a9b2d3dc5ac42011aeec4e13be2e14252a297a93979a88fda6e6b551dcab5fb3df\">  307</a></span>&#160;    <a class=\"code\" href=\"_nv_flex_8h.html#a9b2d3dc5ac42011aeec4e13be2e14252a297a93979a88fda6e6b551dcab5fb3df\">eNvFlexD3D11</a>,       </div>\n<div class=\"line\"><a name=\"l00308\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a9b2d3dc5ac42011aeec4e13be2e14252a15e78a7baf13cc7fd73f255ac84f0943\">  308</a></span>&#160;    <a class=\"code\" href=\"_nv_flex_8h.html#a9b2d3dc5ac42011aeec4e13be2e14252a15e78a7baf13cc7fd73f255ac84f0943\">eNvFlexD3D12</a>,       </div>\n<div class=\"line\"><a name=\"l00309\"></a><span class=\"lineno\">  309</span>&#160;};</div>\n<div class=\"line\"><a name=\"l00310\"></a><span class=\"lineno\">  310</span>&#160;</div>\n<div class=\"line\"><a name=\"l00311\"></a><span class=\"lineno\">  311</span>&#160;</div>\n<div class=\"line\"><a name=\"l00314\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html\">  314</a></span>&#160;<span class=\"keyword\">struct </span><a class=\"code\" href=\"_nv_flex_8h.html#struct_nv_flex_init_desc\">NvFlexInitDesc</a></div>\n<div class=\"line\"><a name=\"l00315\"></a><span class=\"lineno\">  315</span>&#160;{</div>\n<div class=\"line\"><a name=\"l00316\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a5890b9e46d626cfa19994976ea53c52e\">  316</a></span>&#160;    <span class=\"keywordtype\">int</span> <a class=\"code\" href=\"_nv_flex_8h.html#a5890b9e46d626cfa19994976ea53c52e\">deviceIndex</a>;                </div>\n<div class=\"line\"><a name=\"l00317\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a23b8779c1516647ef5ed7f8010d619ff\">  317</a></span>&#160;    <span class=\"keywordtype\">bool</span> <a class=\"code\" href=\"_nv_flex_8h.html#a23b8779c1516647ef5ed7f8010d619ff\">enableExtensions</a>;          </div>\n<div class=\"line\"><a name=\"l00318\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a7e760844341b78a547ca4e29abf48806\">  318</a></span>&#160;    <span class=\"keywordtype\">void</span>* <a class=\"code\" href=\"_nv_flex_8h.html#a7e760844341b78a547ca4e29abf48806\">renderDevice</a>;             </div>\n<div class=\"line\"><a name=\"l00319\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#abf304d5c1f8f041fa46a2bfb0bdf56fe\">  319</a></span>&#160;    <span class=\"keywordtype\">void</span>* <a class=\"code\" href=\"_nv_flex_8h.html#abf304d5c1f8f041fa46a2bfb0bdf56fe\">renderContext</a>;            </div>\n<div class=\"line\"><a name=\"l00320\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#ad1d0256dac295346120fda40f6eea7e2\">  320</a></span>&#160;    <span class=\"keywordtype\">void</span>* <a class=\"code\" href=\"_nv_flex_8h.html#ad1d0256dac295346120fda40f6eea7e2\">computeContext</a>;           </div>\n<div class=\"line\"><a name=\"l00321\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#ad9503e8b23e084c0f940be3dcca9af2e\">  321</a></span>&#160;    <span class=\"keywordtype\">bool</span> <a class=\"code\" href=\"_nv_flex_8h.html#ad9503e8b23e084c0f940be3dcca9af2e\">runOnRenderContext</a>;        </div>\n<div class=\"line\"><a name=\"l00322\"></a><span class=\"lineno\">  322</span>&#160;</div>\n<div class=\"line\"><a name=\"l00323\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#aeeeaf91dad0804d1dd3125e592a3260b\">  323</a></span>&#160;    <a class=\"code\" href=\"_nv_flex_8h.html#a9b2d3dc5ac42011aeec4e13be2e14252\">NvFlexComputeType</a> <a class=\"code\" href=\"_nv_flex_8h.html#aeeeaf91dad0804d1dd3125e592a3260b\">computeType</a>;  </div>\n<div class=\"line\"><a name=\"l00324\"></a><span class=\"lineno\">  324</span>&#160;};</div>\n<div class=\"line\"><a name=\"l00325\"></a><span class=\"lineno\">  325</span>&#160;</div>\n<div class=\"line\"><a name=\"l00335\"></a><span class=\"lineno\">  335</span>&#160;NV_FLEX_API <a class=\"code\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a>* <a class=\"code\" href=\"_nv_flex_8h.html#a687e5ec141948f779faa9183b68cb743\">NvFlexInit</a>(<span class=\"keywordtype\">int</span> version = NV_FLEX_VERSION, <a class=\"code\" href=\"_nv_flex_8h.html#abe6f00c9b94debbf7c181082a14076d5\">NvFlexErrorCallback</a> errorFunc = 0, <a class=\"code\" href=\"_nv_flex_8h.html#struct_nv_flex_init_desc\">NvFlexInitDesc</a>* desc = 0);</div>\n<div class=\"line\"><a name=\"l00336\"></a><span class=\"lineno\">  336</span>&#160;</div>\n<div class=\"line\"><a name=\"l00343\"></a><span class=\"lineno\">  343</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"_nv_flex_8h.html#aaf59e45ada57c7f958a8030099cbe211\">NvFlexShutdown</a>(<a class=\"code\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a>* lib);</div>\n<div class=\"line\"><a name=\"l00344\"></a><span class=\"lineno\">  344</span>&#160;</div>\n<div class=\"line\"><a name=\"l00348\"></a><span class=\"lineno\">  348</span>&#160;NV_FLEX_API <span class=\"keywordtype\">int</span> <a class=\"code\" href=\"_nv_flex_8h.html#ac25ec5de38c177db51198bb620644d36\">NvFlexGetVersion</a>();</div>\n<div class=\"line\"><a name=\"l00349\"></a><span class=\"lineno\">  349</span>&#160;</div>\n<div class=\"line\"><a name=\"l00353\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#aee5c235d5fab40831cf339680aa25560\">  353</a></span>&#160;<span class=\"keyword\">enum</span> <a class=\"code\" href=\"_nv_flex_8h.html#aee5c235d5fab40831cf339680aa25560\">NvFlexFeatureMode</a></div>\n<div class=\"line\"><a name=\"l00354\"></a><span class=\"lineno\">  354</span>&#160;{</div>\n<div class=\"line\"><a name=\"l00355\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#aee5c235d5fab40831cf339680aa25560a3ab06dc4cd4aa073ab0f2d96a56c499d\">  355</a></span>&#160;    <a class=\"code\" href=\"_nv_flex_8h.html#aee5c235d5fab40831cf339680aa25560a3ab06dc4cd4aa073ab0f2d96a56c499d\">eNvFlexFeatureModeDefault</a>           = 0,    </div>\n<div class=\"line\"><a name=\"l00356\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#aee5c235d5fab40831cf339680aa25560a421fe1e1bb00fc41e9b32208cd9155f5\">  356</a></span>&#160;    <a class=\"code\" href=\"_nv_flex_8h.html#aee5c235d5fab40831cf339680aa25560a421fe1e1bb00fc41e9b32208cd9155f5\">eNvFlexFeatureModeSimpleSolids</a>      = 1,    </div>\n<div class=\"line\"><a name=\"l00357\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#aee5c235d5fab40831cf339680aa25560aeab2b8a68b528d46e11b71ad0f4d83f2\">  357</a></span>&#160;    <a class=\"code\" href=\"_nv_flex_8h.html#aee5c235d5fab40831cf339680aa25560aeab2b8a68b528d46e11b71ad0f4d83f2\">eNvFlexFeatureModeSimpleFluids</a>      = 2,    </div>\n<div class=\"line\"><a name=\"l00358\"></a><span class=\"lineno\">  358</span>&#160;};</div>\n<div class=\"line\"><a name=\"l00359\"></a><span class=\"lineno\">  359</span>&#160;</div>\n<div class=\"line\"><a name=\"l00363\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html\">  363</a></span>&#160;<span class=\"keyword\">struct </span><a class=\"code\" href=\"_nv_flex_8h.html#struct_nv_flex_solver_desc\">NvFlexSolverDesc</a></div>\n<div class=\"line\"><a name=\"l00364\"></a><span class=\"lineno\">  364</span>&#160;{</div>\n<div class=\"line\"><a name=\"l00365\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a0999d825c8760e19ba4c980d2eb097ac\">  365</a></span>&#160;    <a class=\"code\" href=\"_nv_flex_8h.html#aee5c235d5fab40831cf339680aa25560\">NvFlexFeatureMode</a> <a class=\"code\" href=\"_nv_flex_8h.html#a0999d825c8760e19ba4c980d2eb097ac\">featureMode</a>;  </div>\n<div class=\"line\"><a name=\"l00366\"></a><span class=\"lineno\">  366</span>&#160;</div>\n<div class=\"line\"><a name=\"l00367\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#aedf73c7aa1f4df92c7724d58f4dcb266\">  367</a></span>&#160;    <span class=\"keywordtype\">int</span> <a class=\"code\" href=\"_nv_flex_8h.html#aedf73c7aa1f4df92c7724d58f4dcb266\">maxParticles</a>;               </div>\n<div class=\"line\"><a name=\"l00368\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a39ab69ac3fbde631b71f59f5bbbf1bdf\">  368</a></span>&#160;    <span class=\"keywordtype\">int</span> <a class=\"code\" href=\"_nv_flex_8h.html#a39ab69ac3fbde631b71f59f5bbbf1bdf\">maxDiffuseParticles</a>;        </div>\n<div class=\"line\"><a name=\"l00369\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a5ea0cd160a13a72924340184edfbea2f\">  369</a></span>&#160;    <span class=\"keywordtype\">int</span> <a class=\"code\" href=\"_nv_flex_8h.html#a5ea0cd160a13a72924340184edfbea2f\">maxNeighborsPerParticle</a>;    </div>\n<div class=\"line\"><a name=\"l00370\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a97d23c69cd4f343be14dedd911605276\">  370</a></span>&#160;    <span class=\"keywordtype\">int</span> <a class=\"code\" href=\"_nv_flex_8h.html#a97d23c69cd4f343be14dedd911605276\">maxContactsPerParticle</a>;     </div>\n<div class=\"line\"><a name=\"l00371\"></a><span class=\"lineno\">  371</span>&#160;};</div>\n<div class=\"line\"><a name=\"l00372\"></a><span class=\"lineno\">  372</span>&#160;</div>\n<div class=\"line\"><a name=\"l00377\"></a><span class=\"lineno\">  377</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"_nv_flex_8h.html#a69a33d464c002a8916a5925c6ef32ae6\">NvFlexSetSolverDescDefaults</a>(<a class=\"code\" href=\"_nv_flex_8h.html#struct_nv_flex_solver_desc\">NvFlexSolverDesc</a>* desc);</div>\n<div class=\"line\"><a name=\"l00378\"></a><span class=\"lineno\">  378</span>&#160;</div>\n<div class=\"line\"><a name=\"l00385\"></a><span class=\"lineno\">  385</span>&#160;NV_FLEX_API <a class=\"code\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a>* <a class=\"code\" href=\"_nv_flex_8h.html#a9e925acbc34675dfe247da017cbd855f\">NvFlexCreateSolver</a>(<a class=\"code\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a>* lib, <span class=\"keyword\">const</span> <a class=\"code\" href=\"_nv_flex_8h.html#struct_nv_flex_solver_desc\">NvFlexSolverDesc</a>* desc);</div>\n<div class=\"line\"><a name=\"l00386\"></a><span class=\"lineno\">  386</span>&#160;</div>\n<div class=\"line\"><a name=\"l00392\"></a><span class=\"lineno\">  392</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"_nv_flex_8h.html#a1d755d7b090f7ed5c4c50d2d3fef1558\">NvFlexDestroySolver</a>(<a class=\"code\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a>* solver);</div>\n<div class=\"line\"><a name=\"l00393\"></a><span class=\"lineno\">  393</span>&#160;</div>\n<div class=\"line\"><a name=\"l00403\"></a><span class=\"lineno\">  403</span>&#160;NV_FLEX_API <span class=\"keywordtype\">int</span> <a class=\"code\" href=\"_nv_flex_8h.html#ad53909027df03c6a352746d8ddc088ef\">NvFlexGetSolvers</a>(<a class=\"code\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a>* lib, <a class=\"code\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a>** solvers, <span class=\"keywordtype\">int</span> n);</div>\n<div class=\"line\"><a name=\"l00404\"></a><span class=\"lineno\">  404</span>&#160;</div>\n<div class=\"line\"><a name=\"l00411\"></a><span class=\"lineno\">  411</span>&#160;NV_FLEX_API <a class=\"code\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a>* <a class=\"code\" href=\"_nv_flex_8h.html#ae0d57e4fc2b3b51ec08f7da0a28ff343\">NvFlexGetSolverLibrary</a>(<a class=\"code\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a>* solver);</div>\n<div class=\"line\"><a name=\"l00412\"></a><span class=\"lineno\">  412</span>&#160;</div>\n<div class=\"line\"><a name=\"l00419\"></a><span class=\"lineno\">  419</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"_nv_flex_8h.html#afd6aff58269d6c359df2453c96397840\">NvFlexGetSolverDesc</a>(<a class=\"code\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a>* solver, <a class=\"code\" href=\"_nv_flex_8h.html#struct_nv_flex_solver_desc\">NvFlexSolverDesc</a>* desc);</div>\n<div class=\"line\"><a name=\"l00420\"></a><span class=\"lineno\">  420</span>&#160;</div>\n<div class=\"line\"><a name=\"l00429\"></a><span class=\"lineno\">  429</span>&#160;NV_FLEX_API <a class=\"code\" href=\"struct_nv_flex_solver_callback.html\">NvFlexSolverCallback</a> <a class=\"code\" href=\"_nv_flex_8h.html#ac5427457488ab3f2de91cf65335dda08\">NvFlexRegisterSolverCallback</a>(<a class=\"code\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a>* solver, <a class=\"code\" href=\"struct_nv_flex_solver_callback.html\">NvFlexSolverCallback</a> <span class=\"keyword\">function</span>, <a class=\"code\" href=\"_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9\">NvFlexSolverCallbackStage</a> stage);</div>\n<div class=\"line\"><a name=\"l00430\"></a><span class=\"lineno\">  430</span>&#160;</div>\n<div class=\"line\"><a name=\"l00490\"></a><span class=\"lineno\">  490</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"_nv_flex_8h.html#ac75370f005fd453fe8a324fe62be1b5c\">NvFlexUpdateSolver</a>(<a class=\"code\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a>* solver, <span class=\"keywordtype\">float</span> dt, <span class=\"keywordtype\">int</span> substeps, <span class=\"keywordtype\">bool</span> enableTimers);</div>\n<div class=\"line\"><a name=\"l00491\"></a><span class=\"lineno\">  491</span>&#160;</div>\n<div class=\"line\"><a name=\"l00498\"></a><span class=\"lineno\">  498</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"_nv_flex_8h.html#ae2db6ad8006027c1acf2315a0d15fe71\">NvFlexSetParams</a>(<a class=\"code\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a>* solver, <span class=\"keyword\">const</span> <a class=\"code\" href=\"_nv_flex_8h.html#struct_nv_flex_params\">NvFlexParams</a>* params);</div>\n<div class=\"line\"><a name=\"l00499\"></a><span class=\"lineno\">  499</span>&#160;</div>\n<div class=\"line\"><a name=\"l00507\"></a><span class=\"lineno\">  507</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"_nv_flex_8h.html#a581b458848039220203547af53de128f\">NvFlexGetParams</a>(<a class=\"code\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a>* solver, <a class=\"code\" href=\"_nv_flex_8h.html#struct_nv_flex_params\">NvFlexParams</a>* params);</div>\n<div class=\"line\"><a name=\"l00508\"></a><span class=\"lineno\">  508</span>&#160;</div>\n<div class=\"line\"><a name=\"l00512\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html\">  512</a></span>&#160;<span class=\"keyword\">struct </span><a class=\"code\" href=\"_nv_flex_8h.html#struct_nv_flex_copy_desc\">NvFlexCopyDesc</a></div>\n<div class=\"line\"><a name=\"l00513\"></a><span class=\"lineno\">  513</span>&#160;{</div>\n<div class=\"line\"><a name=\"l00514\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#ae01bc8c45cf48f5faed2a8e78df1c678\">  514</a></span>&#160;    <span class=\"keywordtype\">int</span> <a class=\"code\" href=\"_nv_flex_8h.html#ae01bc8c45cf48f5faed2a8e78df1c678\">srcOffset</a>;          <span class=\"comment\">//&lt;! Offset in elements from the start of the source buffer to begin reading from</span></div>\n<div class=\"line\"><a name=\"l00515\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#aa544809448a95c3864e1443c7a507d7f\">  515</a></span>&#160;    <span class=\"keywordtype\">int</span> <a class=\"code\" href=\"_nv_flex_8h.html#aa544809448a95c3864e1443c7a507d7f\">dstOffset</a>;          <span class=\"comment\">//&lt;! Offset in elements from the start of the destination buffer to being writing to</span></div>\n<div class=\"line\"><a name=\"l00516\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#af842f041f92c608b3ebfa2092caea889\">  516</a></span>&#160;    <span class=\"keywordtype\">int</span> <a class=\"code\" href=\"_nv_flex_8h.html#af842f041f92c608b3ebfa2092caea889\">elementCount</a>;       <span class=\"comment\">//&lt;! Number of elements to copy</span></div>\n<div class=\"line\"><a name=\"l00517\"></a><span class=\"lineno\">  517</span>&#160;};</div>\n<div class=\"line\"><a name=\"l00518\"></a><span class=\"lineno\">  518</span>&#160;</div>\n<div class=\"line\"><a name=\"l00526\"></a><span class=\"lineno\">  526</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"_nv_flex_8h.html#adc0c97635cdbb3da7b571574a3b38990\">NvFlexSetActive</a>(<a class=\"code\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a>* solver, <a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* indices, <span class=\"keyword\">const</span> <a class=\"code\" href=\"_nv_flex_8h.html#struct_nv_flex_copy_desc\">NvFlexCopyDesc</a>* desc);</div>\n<div class=\"line\"><a name=\"l00527\"></a><span class=\"lineno\">  527</span>&#160;</div>\n<div class=\"line\"><a name=\"l00535\"></a><span class=\"lineno\">  535</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"_nv_flex_8h.html#a1bd4b70e0118abe18ca5fe85157299b6\">NvFlexGetActive</a>(<a class=\"code\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a>* solver, <a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* indices, <span class=\"keyword\">const</span> <a class=\"code\" href=\"_nv_flex_8h.html#struct_nv_flex_copy_desc\">NvFlexCopyDesc</a>* desc);</div>\n<div class=\"line\"><a name=\"l00536\"></a><span class=\"lineno\">  536</span>&#160;</div>\n<div class=\"line\"><a name=\"l00543\"></a><span class=\"lineno\">  543</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"_nv_flex_8h.html#a677dc591fe443ae058701966c52d1316\">NvFlexSetActiveCount</a>(<a class=\"code\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a>* solver, <span class=\"keywordtype\">int</span> n);</div>\n<div class=\"line\"><a name=\"l00544\"></a><span class=\"lineno\">  544</span>&#160;</div>\n<div class=\"line\"><a name=\"l00551\"></a><span class=\"lineno\">  551</span>&#160;NV_FLEX_API <span class=\"keywordtype\">int</span> <a class=\"code\" href=\"_nv_flex_8h.html#a2345372dea2ad4f043153a84e7a2c407\">NvFlexGetActiveCount</a>(<a class=\"code\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a>* solver);</div>\n<div class=\"line\"><a name=\"l00552\"></a><span class=\"lineno\">  552</span>&#160;</div>\n<div class=\"line\"><a name=\"l00561\"></a><span class=\"lineno\">  561</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"_nv_flex_8h.html#a7ec5ebe3e98a44a2058d6be74b2cb633\">NvFlexSetParticles</a>(<a class=\"code\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a>* solver, <a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* p, <span class=\"keyword\">const</span> <a class=\"code\" href=\"_nv_flex_8h.html#struct_nv_flex_copy_desc\">NvFlexCopyDesc</a>* desc);</div>\n<div class=\"line\"><a name=\"l00562\"></a><span class=\"lineno\">  562</span>&#160;</div>\n<div class=\"line\"><a name=\"l00570\"></a><span class=\"lineno\">  570</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"_nv_flex_8h.html#aaff62cfd50431d82af5d04a6c9ac4ffd\">NvFlexGetParticles</a>(<a class=\"code\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a>* solver, <a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* p, <span class=\"keyword\">const</span> <a class=\"code\" href=\"_nv_flex_8h.html#struct_nv_flex_copy_desc\">NvFlexCopyDesc</a>* desc);</div>\n<div class=\"line\"><a name=\"l00571\"></a><span class=\"lineno\">  571</span>&#160;</div>\n<div class=\"line\"><a name=\"l00581\"></a><span class=\"lineno\">  581</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"_nv_flex_8h.html#a125cfd9817437bb4f4bcb9418efa3dda\">NvFlexSetRestParticles</a>(<a class=\"code\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a>* solver, <a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* p, <span class=\"keyword\">const</span> <a class=\"code\" href=\"_nv_flex_8h.html#struct_nv_flex_copy_desc\">NvFlexCopyDesc</a>* desc);</div>\n<div class=\"line\"><a name=\"l00582\"></a><span class=\"lineno\">  582</span>&#160;</div>\n<div class=\"line\"><a name=\"l00591\"></a><span class=\"lineno\">  591</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"_nv_flex_8h.html#aafc89f87307602fb9bfa8f6668122121\">NvFlexGetRestParticles</a>(<a class=\"code\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a>* solver, <a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* p, <span class=\"keyword\">const</span> <a class=\"code\" href=\"_nv_flex_8h.html#struct_nv_flex_copy_desc\">NvFlexCopyDesc</a>* desc);</div>\n<div class=\"line\"><a name=\"l00592\"></a><span class=\"lineno\">  592</span>&#160;</div>\n<div class=\"line\"><a name=\"l00593\"></a><span class=\"lineno\">  593</span>&#160;</div>\n<div class=\"line\"><a name=\"l00601\"></a><span class=\"lineno\">  601</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"_nv_flex_8h.html#a96a771dd328d019e6164e5f23d29ffcb\">NvFlexGetSmoothParticles</a>(<a class=\"code\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a>* solver, <a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* p, <span class=\"keyword\">const</span> <a class=\"code\" href=\"_nv_flex_8h.html#struct_nv_flex_copy_desc\">NvFlexCopyDesc</a>* desc);</div>\n<div class=\"line\"><a name=\"l00602\"></a><span class=\"lineno\">  602</span>&#160;</div>\n<div class=\"line\"><a name=\"l00611\"></a><span class=\"lineno\">  611</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"_nv_flex_8h.html#ae2b271f123db0054512936f2acc6467f\">NvFlexSetVelocities</a>(<a class=\"code\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a>* solver, <a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* v, <span class=\"keyword\">const</span> <a class=\"code\" href=\"_nv_flex_8h.html#struct_nv_flex_copy_desc\">NvFlexCopyDesc</a>* desc);</div>\n<div class=\"line\"><a name=\"l00619\"></a><span class=\"lineno\">  619</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"_nv_flex_8h.html#afbcbff4e4865105514c194398ab3a7b0\">NvFlexGetVelocities</a>(<a class=\"code\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a>* solver, <a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* v, <span class=\"keyword\">const</span> <a class=\"code\" href=\"_nv_flex_8h.html#struct_nv_flex_copy_desc\">NvFlexCopyDesc</a>* desc);</div>\n<div class=\"line\"><a name=\"l00620\"></a><span class=\"lineno\">  620</span>&#160;</div>\n<div class=\"line\"><a name=\"l00637\"></a><span class=\"lineno\">  637</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"_nv_flex_8h.html#aa1d44495e442f8cae874c635ef847478\">NvFlexSetPhases</a>(<a class=\"code\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a>* solver, <a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* phases, <span class=\"keyword\">const</span> <a class=\"code\" href=\"_nv_flex_8h.html#struct_nv_flex_copy_desc\">NvFlexCopyDesc</a>* desc);</div>\n<div class=\"line\"><a name=\"l00645\"></a><span class=\"lineno\">  645</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"_nv_flex_8h.html#accc944f0e76ee2e5d67c3f977b150806\">NvFlexGetPhases</a>(<a class=\"code\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a>* solver, <a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* phases, <span class=\"keyword\">const</span> <a class=\"code\" href=\"_nv_flex_8h.html#struct_nv_flex_copy_desc\">NvFlexCopyDesc</a>* desc);</div>\n<div class=\"line\"><a name=\"l00646\"></a><span class=\"lineno\">  646</span>&#160;</div>\n<div class=\"line\"><a name=\"l00654\"></a><span class=\"lineno\">  654</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"_nv_flex_8h.html#a32e8fdb39029a2564c129bd493c52058\">NvFlexSetNormals</a>(<a class=\"code\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a>* solver, <a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* normals, <span class=\"keyword\">const</span> <a class=\"code\" href=\"_nv_flex_8h.html#struct_nv_flex_copy_desc\">NvFlexCopyDesc</a>* desc);</div>\n<div class=\"line\"><a name=\"l00655\"></a><span class=\"lineno\">  655</span>&#160;</div>\n<div class=\"line\"><a name=\"l00663\"></a><span class=\"lineno\">  663</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"_nv_flex_8h.html#a73d87b460a34c52ff4b616e97a53ade7\">NvFlexGetNormals</a>(<a class=\"code\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a>* solver, <a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* normals, <span class=\"keyword\">const</span> <a class=\"code\" href=\"_nv_flex_8h.html#struct_nv_flex_copy_desc\">NvFlexCopyDesc</a>* desc);</div>\n<div class=\"line\"><a name=\"l00664\"></a><span class=\"lineno\">  664</span>&#160;</div>\n<div class=\"line\"><a name=\"l00665\"></a><span class=\"lineno\">  665</span>&#160;</div>\n<div class=\"line\"><a name=\"l00678\"></a><span class=\"lineno\">  678</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"_nv_flex_8h.html#ae67c0cab2ecee8eb9485a26ef0fad6a9\">NvFlexSetSprings</a>(<a class=\"code\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a>* solver, <a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* indices, <a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* restLengths, <a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* stiffness, <span class=\"keywordtype\">int</span> numSprings);</div>\n<div class=\"line\"><a name=\"l00688\"></a><span class=\"lineno\">  688</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"_nv_flex_8h.html#aab5f90f4024d71d08c3f9327c6d8c184\">NvFlexGetSprings</a>(<a class=\"code\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a>* solver, <a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* indices, <a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* restLengths, <a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* stiffness, <span class=\"keywordtype\">int</span> numSprings);</div>\n<div class=\"line\"><a name=\"l00689\"></a><span class=\"lineno\">  689</span>&#160;</div>\n<div class=\"line\"><a name=\"l00708\"></a><span class=\"lineno\">  708</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"_nv_flex_8h.html#aa8b7bfeffb0fa7dc6dbd291fee87edc9\">NvFlexSetRigids</a>(<a class=\"code\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a>* solver, <a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* offsets, <a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* indices, <a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* restPositions, <a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* restNormals, <a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* stiffness, <a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* thresholds, <a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* creeps, <a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* rotations, <a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* translations, <span class=\"keywordtype\">int</span> numRigids, <span class=\"keywordtype\">int</span> numIndices);</div>\n<div class=\"line\"><a name=\"l00709\"></a><span class=\"lineno\">  709</span>&#160;</div>\n<div class=\"line\"><a name=\"l00725\"></a><span class=\"lineno\">  725</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"_nv_flex_8h.html#ab5cc56e228374b1da0910356b3172b4e\">NvFlexGetRigids</a>(<a class=\"code\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a>* solver, <a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* offsets, <a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* indices, <a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* restPositions, <a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* restNormals, <a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* stiffness, <a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* thresholds, <a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* creeps, <a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* rotations, <a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* translations);</div>\n<div class=\"line\"><a name=\"l00726\"></a><span class=\"lineno\">  726</span>&#160;</div>\n<div class=\"line\"><a name=\"l00730\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a2aea4c3d772b4dbccb7dd9ba37c1bdc0\">  730</a></span>&#160;<span class=\"keyword\">typedef</span> <span class=\"keywordtype\">unsigned</span> <span class=\"keywordtype\">int</span> <a class=\"code\" href=\"_nv_flex_8h.html#a2aea4c3d772b4dbccb7dd9ba37c1bdc0\">NvFlexTriangleMeshId</a>;</div>\n<div class=\"line\"><a name=\"l00731\"></a><span class=\"lineno\">  731</span>&#160;</div>\n<div class=\"line\"><a name=\"l00735\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a56e990c5bfbc89677988cbf2471c0ade\">  735</a></span>&#160;<span class=\"keyword\">typedef</span> <span class=\"keywordtype\">unsigned</span> <span class=\"keywordtype\">int</span> <a class=\"code\" href=\"_nv_flex_8h.html#a56e990c5bfbc89677988cbf2471c0ade\">NvFlexDistanceFieldId</a>;</div>\n<div class=\"line\"><a name=\"l00736\"></a><span class=\"lineno\">  736</span>&#160;</div>\n<div class=\"line\"><a name=\"l00742\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a7ab5aa68da7ca1f69211a900f1a1c586\">  742</a></span>&#160;<span class=\"keyword\">typedef</span> <span class=\"keywordtype\">unsigned</span> <span class=\"keywordtype\">int</span> <a class=\"code\" href=\"_nv_flex_8h.html#a7ab5aa68da7ca1f69211a900f1a1c586\">NvFlexConvexMeshId</a>;</div>\n<div class=\"line\"><a name=\"l00743\"></a><span class=\"lineno\">  743</span>&#160;</div>\n<div class=\"line\"><a name=\"l00750\"></a><span class=\"lineno\">  750</span>&#160;NV_FLEX_API NvFlexTriangleMeshId <a class=\"code\" href=\"_nv_flex_8h.html#afdda5a5210938a1e8a7c3a8218ad468e\">NvFlexCreateTriangleMesh</a>(<a class=\"code\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a>* lib);</div>\n<div class=\"line\"><a name=\"l00751\"></a><span class=\"lineno\">  751</span>&#160;</div>\n<div class=\"line\"><a name=\"l00758\"></a><span class=\"lineno\">  758</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"_nv_flex_8h.html#a4cb4462803ebff105d151fd45b4efad6\">NvFlexDestroyTriangleMesh</a>(<a class=\"code\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a>* lib, NvFlexTriangleMeshId mesh);</div>\n<div class=\"line\"><a name=\"l00759\"></a><span class=\"lineno\">  759</span>&#160;</div>\n<div class=\"line\"><a name=\"l00769\"></a><span class=\"lineno\">  769</span>&#160;NV_FLEX_API <span class=\"keywordtype\">int</span> <a class=\"code\" href=\"_nv_flex_8h.html#ab1924ab797971290931b32258b847767\">NvFlexGetTriangleMeshes</a>(<a class=\"code\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a>* lib, NvFlexTriangleMeshId* meshes, <span class=\"keywordtype\">int</span> n);</div>\n<div class=\"line\"><a name=\"l00770\"></a><span class=\"lineno\">  770</span>&#160;</div>\n<div class=\"line\"><a name=\"l00784\"></a><span class=\"lineno\">  784</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"_nv_flex_8h.html#a4958c555f0ed65dee54c37af32529356\">NvFlexUpdateTriangleMesh</a>(<a class=\"code\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a>* lib, NvFlexTriangleMeshId mesh, <a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* vertices, <a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* indices, <span class=\"keywordtype\">int</span> numVertices, <span class=\"keywordtype\">int</span> numTriangles, <span class=\"keyword\">const</span> <span class=\"keywordtype\">float</span>* lower, <span class=\"keyword\">const</span> <span class=\"keywordtype\">float</span>* upper);</div>\n<div class=\"line\"><a name=\"l00785\"></a><span class=\"lineno\">  785</span>&#160;</div>\n<div class=\"line\"><a name=\"l00794\"></a><span class=\"lineno\">  794</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"_nv_flex_8h.html#a60794d849b4184335e2a0ddec0a9e6a2\">NvFlexGetTriangleMeshBounds</a>(<a class=\"code\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a>* lib, <span class=\"keyword\">const</span> NvFlexTriangleMeshId mesh, <span class=\"keywordtype\">float</span>* lower, <span class=\"keywordtype\">float</span>* upper);</div>\n<div class=\"line\"><a name=\"l00795\"></a><span class=\"lineno\">  795</span>&#160;</div>\n<div class=\"line\"><a name=\"l00802\"></a><span class=\"lineno\">  802</span>&#160;NV_FLEX_API NvFlexDistanceFieldId <a class=\"code\" href=\"_nv_flex_8h.html#a5c28caf6d5d513c5adacd4fbc782f308\">NvFlexCreateDistanceField</a>(<a class=\"code\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a>* lib);</div>\n<div class=\"line\"><a name=\"l00803\"></a><span class=\"lineno\">  803</span>&#160;</div>\n<div class=\"line\"><a name=\"l00810\"></a><span class=\"lineno\">  810</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"_nv_flex_8h.html#ab11bdd7f778d17af16cefea33265cb65\">NvFlexDestroyDistanceField</a>(<a class=\"code\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a>* lib, NvFlexDistanceFieldId sdf);</div>\n<div class=\"line\"><a name=\"l00811\"></a><span class=\"lineno\">  811</span>&#160;</div>\n<div class=\"line\"><a name=\"l00821\"></a><span class=\"lineno\">  821</span>&#160;NV_FLEX_API <span class=\"keywordtype\">int</span> <a class=\"code\" href=\"_nv_flex_8h.html#a554d54b930dad17e638ddd30c6dac46f\">NvFlexGetDistanceFields</a>(<a class=\"code\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a>* lib, NvFlexDistanceFieldId* sdfs, <span class=\"keywordtype\">int</span> n);</div>\n<div class=\"line\"><a name=\"l00822\"></a><span class=\"lineno\">  822</span>&#160;</div>\n<div class=\"line\"><a name=\"l00834\"></a><span class=\"lineno\">  834</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"_nv_flex_8h.html#a584ffb275b9986fd5444ed1a7ea247d9\">NvFlexUpdateDistanceField</a>(<a class=\"code\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a>* lib, NvFlexDistanceFieldId sdf, <span class=\"keywordtype\">int</span> dimx, <span class=\"keywordtype\">int</span> dimy, <span class=\"keywordtype\">int</span> dimz, <a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* field);</div>\n<div class=\"line\"><a name=\"l00835\"></a><span class=\"lineno\">  835</span>&#160;</div>\n<div class=\"line\"><a name=\"l00842\"></a><span class=\"lineno\">  842</span>&#160;NV_FLEX_API NvFlexConvexMeshId <a class=\"code\" href=\"_nv_flex_8h.html#afbaafe2b1006352002b03aabaca531cc\">NvFlexCreateConvexMesh</a>(<a class=\"code\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a>* lib);</div>\n<div class=\"line\"><a name=\"l00843\"></a><span class=\"lineno\">  843</span>&#160;</div>\n<div class=\"line\"><a name=\"l00850\"></a><span class=\"lineno\">  850</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"_nv_flex_8h.html#ac85b6372e5c7bfc508ecb7b8c59c72a0\">NvFlexDestroyConvexMesh</a>(<a class=\"code\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a>* lib, NvFlexConvexMeshId convex);</div>\n<div class=\"line\"><a name=\"l00851\"></a><span class=\"lineno\">  851</span>&#160;</div>\n<div class=\"line\"><a name=\"l00861\"></a><span class=\"lineno\">  861</span>&#160;NV_FLEX_API <span class=\"keywordtype\">int</span> <a class=\"code\" href=\"_nv_flex_8h.html#aa392608715b2304f06606d498bd69312\">NvFlexGetConvexMeshes</a>(<a class=\"code\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a>* lib, NvFlexConvexMeshId* meshes, <span class=\"keywordtype\">int</span> n);</div>\n<div class=\"line\"><a name=\"l00862\"></a><span class=\"lineno\">  862</span>&#160;</div>\n<div class=\"line\"><a name=\"l00873\"></a><span class=\"lineno\">  873</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"_nv_flex_8h.html#ab452c355f92dda050d4b4dafb8e71b03\">NvFlexUpdateConvexMesh</a>(<a class=\"code\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a>* lib, NvFlexConvexMeshId convex, <a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* planes, <span class=\"keywordtype\">int</span> numPlanes, <span class=\"keyword\">const</span> <span class=\"keywordtype\">float</span>* lower, <span class=\"keyword\">const</span> <span class=\"keywordtype\">float</span>* upper);</div>\n<div class=\"line\"><a name=\"l00874\"></a><span class=\"lineno\">  874</span>&#160;</div>\n<div class=\"line\"><a name=\"l00883\"></a><span class=\"lineno\">  883</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"_nv_flex_8h.html#ad56e661161763579afb375b3841eb5ff\">NvFlexGetConvexMeshBounds</a>(<a class=\"code\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a>* lib, NvFlexConvexMeshId mesh, <span class=\"keywordtype\">float</span>* lower, <span class=\"keywordtype\">float</span>* upper);</div>\n<div class=\"line\"><a name=\"l00884\"></a><span class=\"lineno\">  884</span>&#160;</div>\n<div class=\"line\"><a name=\"l00888\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html\">  888</a></span>&#160;<span class=\"keyword\">struct </span><a class=\"code\" href=\"_nv_flex_8h.html#struct_nv_flex_sphere_geometry\">NvFlexSphereGeometry</a></div>\n<div class=\"line\"><a name=\"l00889\"></a><span class=\"lineno\">  889</span>&#160;{</div>\n<div class=\"line\"><a name=\"l00890\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a7a6e24c01235abc364ed12570ab15f84\">  890</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_8h.html#a7a6e24c01235abc364ed12570ab15f84\">radius</a>;</div>\n<div class=\"line\"><a name=\"l00891\"></a><span class=\"lineno\">  891</span>&#160;};</div>\n<div class=\"line\"><a name=\"l00892\"></a><span class=\"lineno\">  892</span>&#160;</div>\n<div class=\"line\"><a name=\"l00896\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html\">  896</a></span>&#160;<span class=\"keyword\">struct </span><a class=\"code\" href=\"_nv_flex_8h.html#struct_nv_flex_capsule_geometry\">NvFlexCapsuleGeometry</a></div>\n<div class=\"line\"><a name=\"l00897\"></a><span class=\"lineno\">  897</span>&#160;{</div>\n<div class=\"line\"><a name=\"l00898\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a1241ff3522eafac4b402370a7a6525d8\">  898</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_8h.html#a1241ff3522eafac4b402370a7a6525d8\">radius</a>;</div>\n<div class=\"line\"><a name=\"l00899\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#aef1b5bceccca709ebb782d2ea8a61dc9\">  899</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_8h.html#aef1b5bceccca709ebb782d2ea8a61dc9\">halfHeight</a>;</div>\n<div class=\"line\"><a name=\"l00900\"></a><span class=\"lineno\">  900</span>&#160;};</div>\n<div class=\"line\"><a name=\"l00901\"></a><span class=\"lineno\">  901</span>&#160;</div>\n<div class=\"line\"><a name=\"l00905\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html\">  905</a></span>&#160;<span class=\"keyword\">struct </span><a class=\"code\" href=\"_nv_flex_8h.html#struct_nv_flex_box_geometry\">NvFlexBoxGeometry</a></div>\n<div class=\"line\"><a name=\"l00906\"></a><span class=\"lineno\">  906</span>&#160;{</div>\n<div class=\"line\"><a name=\"l00907\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#ab669c404607156367b09878870dbe30c\">  907</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_8h.html#ab669c404607156367b09878870dbe30c\">halfExtents</a>[3];</div>\n<div class=\"line\"><a name=\"l00908\"></a><span class=\"lineno\">  908</span>&#160;};</div>\n<div class=\"line\"><a name=\"l00909\"></a><span class=\"lineno\">  909</span>&#160;</div>\n<div class=\"line\"><a name=\"l00913\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html\">  913</a></span>&#160;<span class=\"keyword\">struct </span><a class=\"code\" href=\"_nv_flex_8h.html#struct_nv_flex_convex_mesh_geometry\">NvFlexConvexMeshGeometry</a></div>\n<div class=\"line\"><a name=\"l00914\"></a><span class=\"lineno\">  914</span>&#160;{</div>\n<div class=\"line\"><a name=\"l00915\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a800620cc4888bbe5696c5f0e19b22bb9\">  915</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_8h.html#a800620cc4888bbe5696c5f0e19b22bb9\">scale</a>[3];</div>\n<div class=\"line\"><a name=\"l00916\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#abdc984644770fec15d7af740c9730186\">  916</a></span>&#160;    NvFlexConvexMeshId <a class=\"code\" href=\"_nv_flex_8h.html#abdc984644770fec15d7af740c9730186\">mesh</a>;</div>\n<div class=\"line\"><a name=\"l00917\"></a><span class=\"lineno\">  917</span>&#160;};</div>\n<div class=\"line\"><a name=\"l00918\"></a><span class=\"lineno\">  918</span>&#160;</div>\n<div class=\"line\"><a name=\"l00922\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html\">  922</a></span>&#160;<span class=\"keyword\">struct </span><a class=\"code\" href=\"_nv_flex_8h.html#struct_nv_flex_triangle_mesh_geometry\">NvFlexTriangleMeshGeometry</a></div>\n<div class=\"line\"><a name=\"l00923\"></a><span class=\"lineno\">  923</span>&#160;{</div>\n<div class=\"line\"><a name=\"l00924\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#ab6e2aa06b69e92cbd3b2bca19f18e794\">  924</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_8h.html#ab6e2aa06b69e92cbd3b2bca19f18e794\">scale</a>[3];         </div>\n<div class=\"line\"><a name=\"l00925\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#af6a50e64591866ae2390a57e3342566c\">  925</a></span>&#160;    NvFlexTriangleMeshId <a class=\"code\" href=\"_nv_flex_8h.html#af6a50e64591866ae2390a57e3342566c\">mesh</a>;  </div>\n<div class=\"line\"><a name=\"l00926\"></a><span class=\"lineno\">  926</span>&#160;};</div>\n<div class=\"line\"><a name=\"l00927\"></a><span class=\"lineno\">  927</span>&#160;</div>\n<div class=\"line\"><a name=\"l00932\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html\">  932</a></span>&#160;<span class=\"keyword\">struct </span><a class=\"code\" href=\"_nv_flex_8h.html#struct_nv_flex_s_d_f_geometry\">NvFlexSDFGeometry</a></div>\n<div class=\"line\"><a name=\"l00933\"></a><span class=\"lineno\">  933</span>&#160;{</div>\n<div class=\"line\"><a name=\"l00934\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a0008a52f6ae1e17c436b095549bf1c78\">  934</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_8h.html#a0008a52f6ae1e17c436b095549bf1c78\">scale</a>;                 </div>\n<div class=\"line\"><a name=\"l00935\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a0a6936f3cb0544ad624f1dea6b7eb50c\">  935</a></span>&#160;    NvFlexDistanceFieldId <a class=\"code\" href=\"_nv_flex_8h.html#a0a6936f3cb0544ad624f1dea6b7eb50c\">field</a>;     </div>\n<div class=\"line\"><a name=\"l00936\"></a><span class=\"lineno\">  936</span>&#160;};</div>\n<div class=\"line\"><a name=\"l00937\"></a><span class=\"lineno\">  937</span>&#160;</div>\n<div class=\"line\"><a name=\"l00942\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html\">  942</a></span>&#160;<span class=\"keyword\">union </span><a class=\"code\" href=\"_nv_flex_8h.html#union_nv_flex_collision_geometry\">NvFlexCollisionGeometry</a></div>\n<div class=\"line\"><a name=\"l00943\"></a><span class=\"lineno\">  943</span>&#160;{</div>\n<div class=\"line\"><a name=\"l00944\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a0e3c0e02ec7addd25ebb3355a8865bfb\">  944</a></span>&#160;    <a class=\"code\" href=\"_nv_flex_8h.html#struct_nv_flex_sphere_geometry\">NvFlexSphereGeometry</a> <a class=\"code\" href=\"_nv_flex_8h.html#a0e3c0e02ec7addd25ebb3355a8865bfb\">sphere</a>;</div>\n<div class=\"line\"><a name=\"l00945\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a8ad5aa3c9c9456607de9a2c9f1d0d2c1\">  945</a></span>&#160;    <a class=\"code\" href=\"_nv_flex_8h.html#struct_nv_flex_capsule_geometry\">NvFlexCapsuleGeometry</a> <a class=\"code\" href=\"_nv_flex_8h.html#a8ad5aa3c9c9456607de9a2c9f1d0d2c1\">capsule</a>;</div>\n<div class=\"line\"><a name=\"l00946\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a53e827707abaf2e03b78c3c88469d7bf\">  946</a></span>&#160;    <a class=\"code\" href=\"_nv_flex_8h.html#struct_nv_flex_box_geometry\">NvFlexBoxGeometry</a> <a class=\"code\" href=\"_nv_flex_8h.html#a53e827707abaf2e03b78c3c88469d7bf\">box</a>;</div>\n<div class=\"line\"><a name=\"l00947\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#ae701fdcc0e7bf26c1dfc54d400ffb3d2\">  947</a></span>&#160;    <a class=\"code\" href=\"_nv_flex_8h.html#struct_nv_flex_convex_mesh_geometry\">NvFlexConvexMeshGeometry</a> <a class=\"code\" href=\"_nv_flex_8h.html#ae701fdcc0e7bf26c1dfc54d400ffb3d2\">convexMesh</a>;</div>\n<div class=\"line\"><a name=\"l00948\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a064e3ce30320610d495ba3faa72dc8d6\">  948</a></span>&#160;    <a class=\"code\" href=\"_nv_flex_8h.html#struct_nv_flex_triangle_mesh_geometry\">NvFlexTriangleMeshGeometry</a> <a class=\"code\" href=\"_nv_flex_8h.html#a064e3ce30320610d495ba3faa72dc8d6\">triMesh</a>;</div>\n<div class=\"line\"><a name=\"l00949\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#ac0049037dcff7a769030acd567eac6cd\">  949</a></span>&#160;    <a class=\"code\" href=\"_nv_flex_8h.html#struct_nv_flex_s_d_f_geometry\">NvFlexSDFGeometry</a> <a class=\"code\" href=\"_nv_flex_8h.html#ac0049037dcff7a769030acd567eac6cd\">sdf</a>;</div>\n<div class=\"line\"><a name=\"l00950\"></a><span class=\"lineno\">  950</span>&#160;};</div>\n<div class=\"line\"><a name=\"l00951\"></a><span class=\"lineno\">  951</span>&#160;</div>\n<div class=\"line\"><a name=\"l00952\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26ba\">  952</a></span>&#160;<span class=\"keyword\">enum</span> <a class=\"code\" href=\"_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26ba\">NvFlexCollisionShapeType</a></div>\n<div class=\"line\"><a name=\"l00953\"></a><span class=\"lineno\">  953</span>&#160;{</div>\n<div class=\"line\"><a name=\"l00954\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26baae22144512ae098865c6725af16a68ad3\">  954</a></span>&#160;    <a class=\"code\" href=\"_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26baae22144512ae098865c6725af16a68ad3\">eNvFlexShapeSphere</a>          = 0,        </div>\n<div class=\"line\"><a name=\"l00955\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26baa1724c140b583fbf2c11c14a24dd3764a\">  955</a></span>&#160;    <a class=\"code\" href=\"_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26baa1724c140b583fbf2c11c14a24dd3764a\">eNvFlexShapeCapsule</a>         = 1,        </div>\n<div class=\"line\"><a name=\"l00956\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26baab17c8dd4f9500016b77a9b49de3c48e7\">  956</a></span>&#160;    <a class=\"code\" href=\"_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26baab17c8dd4f9500016b77a9b49de3c48e7\">eNvFlexShapeBox</a>             = 2,        </div>\n<div class=\"line\"><a name=\"l00957\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26baaed52f0e803c6745ffc1a5f018a8756ce\">  957</a></span>&#160;    <a class=\"code\" href=\"_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26baaed52f0e803c6745ffc1a5f018a8756ce\">eNvFlexShapeConvexMesh</a>      = 3,        </div>\n<div class=\"line\"><a name=\"l00958\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26baa315488da382a5e9794c83358385f7ae1\">  958</a></span>&#160;    <a class=\"code\" href=\"_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26baa315488da382a5e9794c83358385f7ae1\">eNvFlexShapeTriangleMesh</a>    = 4,        </div>\n<div class=\"line\"><a name=\"l00959\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26baa1fd78f8694b954f8d12fe7d911f17180\">  959</a></span>&#160;    <a class=\"code\" href=\"_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26baa1fd78f8694b954f8d12fe7d911f17180\">eNvFlexShapeSDF</a>             = 5,        </div>\n<div class=\"line\"><a name=\"l00960\"></a><span class=\"lineno\">  960</span>&#160;};</div>\n<div class=\"line\"><a name=\"l00961\"></a><span class=\"lineno\">  961</span>&#160;</div>\n<div class=\"line\"><a name=\"l00962\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a31c31ea4f96cd4fdadc6b7317691304c\">  962</a></span>&#160;<span class=\"keyword\">enum</span> <a class=\"code\" href=\"_nv_flex_8h.html#a31c31ea4f96cd4fdadc6b7317691304c\">NvFlexCollisionShapeFlags</a></div>\n<div class=\"line\"><a name=\"l00963\"></a><span class=\"lineno\">  963</span>&#160;{</div>\n<div class=\"line\"><a name=\"l00964\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a31c31ea4f96cd4fdadc6b7317691304cae8a10737948abf6973f0f1d66bae7ef8\">  964</a></span>&#160;    <a class=\"code\" href=\"_nv_flex_8h.html#a31c31ea4f96cd4fdadc6b7317691304cae8a10737948abf6973f0f1d66bae7ef8\">eNvFlexShapeFlagTypeMask</a>    = 0x7,      </div>\n<div class=\"line\"><a name=\"l00965\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a31c31ea4f96cd4fdadc6b7317691304cadc6740cf6d829fba159d92e43ffb5992\">  965</a></span>&#160;    <a class=\"code\" href=\"_nv_flex_8h.html#a31c31ea4f96cd4fdadc6b7317691304cadc6740cf6d829fba159d92e43ffb5992\">eNvFlexShapeFlagDynamic</a>     = 0x8,      </div>\n<div class=\"line\"><a name=\"l00966\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a31c31ea4f96cd4fdadc6b7317691304ca409215fa9b917f2d0830a66bd11b3ff8\">  966</a></span>&#160;    <a class=\"code\" href=\"_nv_flex_8h.html#a31c31ea4f96cd4fdadc6b7317691304ca409215fa9b917f2d0830a66bd11b3ff8\">eNvFlexShapeFlagTrigger</a>     = 0x10,     </div>\n<div class=\"line\"><a name=\"l00967\"></a><span class=\"lineno\">  967</span>&#160;    </div>\n<div class=\"line\"><a name=\"l00968\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a31c31ea4f96cd4fdadc6b7317691304caa1c1225f6b8b2906c83748cfc46b81d9\">  968</a></span>&#160;    <a class=\"code\" href=\"_nv_flex_8h.html#a31c31ea4f96cd4fdadc6b7317691304caa1c1225f6b8b2906c83748cfc46b81d9\">eNvFlexShapeFlagReserved</a>    = 0xffffff00</div>\n<div class=\"line\"><a name=\"l00969\"></a><span class=\"lineno\">  969</span>&#160;};</div>\n<div class=\"line\"><a name=\"l00970\"></a><span class=\"lineno\">  970</span>&#160;</div>\n<div class=\"line\"><a name=\"l00978\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#ad83b7fb561a91467a3094771bb682b96\">  978</a></span>&#160;NV_FLEX_API <span class=\"keyword\">inline</span> <span class=\"keywordtype\">int</span> <a class=\"code\" href=\"_nv_flex_8h.html#ad83b7fb561a91467a3094771bb682b96\">NvFlexMakeShapeFlagsWithChannels</a>(<a class=\"code\" href=\"_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26ba\">NvFlexCollisionShapeType</a> type, <span class=\"keywordtype\">bool</span> dynamic, <span class=\"keywordtype\">int</span> shapeChannels) { <span class=\"keywordflow\">return</span> type | (dynamic?<a class=\"code\" href=\"_nv_flex_8h.html#a31c31ea4f96cd4fdadc6b7317691304cadc6740cf6d829fba159d92e43ffb5992\">eNvFlexShapeFlagDynamic</a>:0) | shapeChannels; }</div>\n<div class=\"line\"><a name=\"l00979\"></a><span class=\"lineno\">  979</span>&#160;</div>\n<div class=\"line\"><a name=\"l00983\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#ad6ee1e23e0c49aad63df8f605182de3a\">  983</a></span>&#160;NV_FLEX_API <span class=\"keyword\">inline</span> <span class=\"keywordtype\">int</span> <a class=\"code\" href=\"_nv_flex_8h.html#ad6ee1e23e0c49aad63df8f605182de3a\">NvFlexMakeShapeFlags</a>(<a class=\"code\" href=\"_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26ba\">NvFlexCollisionShapeType</a> type, <span class=\"keywordtype\">bool</span> dynamic) { <span class=\"keywordflow\">return</span> <a class=\"code\" href=\"_nv_flex_8h.html#ad83b7fb561a91467a3094771bb682b96\">NvFlexMakeShapeFlagsWithChannels</a>(type, dynamic, <a class=\"code\" href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644ae4ea43366942f719f40e8526ad21a038\">eNvFlexPhaseShapeChannelMask</a>); }</div>\n<div class=\"line\"><a name=\"l00984\"></a><span class=\"lineno\">  984</span>&#160;</div>\n<div class=\"line\"><a name=\"l00985\"></a><span class=\"lineno\">  985</span>&#160;</div>\n<div class=\"line\"><a name=\"l00999\"></a><span class=\"lineno\">  999</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"_nv_flex_8h.html#aea4e7117722df53dfe44c676496117fa\">NvFlexSetShapes</a>(<a class=\"code\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a>* solver, <a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* geometry, <a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* shapePositions, <a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* shapeRotations, <a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* shapePrevPositions, <a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* shapePrevRotations, <a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* shapeFlags, <span class=\"keywordtype\">int</span> numShapes);</div>\n<div class=\"line\"><a name=\"l01000\"></a><span class=\"lineno\"> 1000</span>&#160;</div>\n<div class=\"line\"><a name=\"l01011\"></a><span class=\"lineno\"> 1011</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"_nv_flex_8h.html#aa03d94be697cdc3aaa56e469d87255a4\">NvFlexSetDynamicTriangles</a>(<a class=\"code\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a>* solver, <a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* indices, <a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* normals, <span class=\"keywordtype\">int</span> numTris);</div>\n<div class=\"line\"><a name=\"l01020\"></a><span class=\"lineno\"> 1020</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"_nv_flex_8h.html#abdfd0834422dd99154a27962614525e5\">NvFlexGetDynamicTriangles</a>(<a class=\"code\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a>* solver, <a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* indices, <a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* normals, <span class=\"keywordtype\">int</span> numTris);</div>\n<div class=\"line\"><a name=\"l01021\"></a><span class=\"lineno\"> 1021</span>&#160;</div>\n<div class=\"line\"><a name=\"l01036\"></a><span class=\"lineno\"> 1036</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"_nv_flex_8h.html#a7f2b59fba77c60ce116e1eac57d63e50\">NvFlexSetInflatables</a>(<a class=\"code\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a>* solver, <a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* startTris, <a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* numTris, <a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* restVolumes, <a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* overPressures, <a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* constraintScales, <span class=\"keywordtype\">int</span> numInflatables);</div>\n<div class=\"line\"><a name=\"l01037\"></a><span class=\"lineno\"> 1037</span>&#160;</div>\n<div class=\"line\"><a name=\"l01045\"></a><span class=\"lineno\"> 1045</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"_nv_flex_8h.html#a3a20cc2539983a009caaf77ec9ceab82\">NvFlexGetDensities</a>(<a class=\"code\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a>* solver, <a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* densities, <span class=\"keyword\">const</span> <a class=\"code\" href=\"_nv_flex_8h.html#struct_nv_flex_copy_desc\">NvFlexCopyDesc</a>* desc);</div>\n<div class=\"line\"><a name=\"l01046\"></a><span class=\"lineno\"> 1046</span>&#160;</div>\n<div class=\"line\"><a name=\"l01061\"></a><span class=\"lineno\"> 1061</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"_nv_flex_8h.html#aef768edc8e4df1a78a94a6c971541550\">NvFlexGetAnisotropy</a>(<a class=\"code\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a>* solver, <a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* q1, <a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* q2, <a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* q3, <span class=\"keyword\">const</span> <a class=\"code\" href=\"_nv_flex_8h.html#struct_nv_flex_copy_desc\">NvFlexCopyDesc</a>* desc);</div>\n<div class=\"line\"><a name=\"l01071\"></a><span class=\"lineno\"> 1071</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"_nv_flex_8h.html#afa458a6eec8b0d117e53c40c13788fd9\">NvFlexGetDiffuseParticles</a>(<a class=\"code\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a>* solver, <a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* p, <a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* v, <a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* count);</div>\n<div class=\"line\"><a name=\"l01072\"></a><span class=\"lineno\"> 1072</span>&#160;</div>\n<div class=\"line\"><a name=\"l01083\"></a><span class=\"lineno\"> 1083</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"_nv_flex_8h.html#a5a7213593dd9a23d9d67f8517d1da9de\">NvFlexSetDiffuseParticles</a>(<a class=\"code\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a>* solver, <a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* p, <a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* v, <span class=\"keywordtype\">int</span> n);</div>\n<div class=\"line\"><a name=\"l01084\"></a><span class=\"lineno\"> 1084</span>&#160;</div>\n<div class=\"line\"><a name=\"l01094\"></a><span class=\"lineno\"> 1094</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"_nv_flex_8h.html#a7edac9cf450917147b83e98f5cb09f5d\">NvFlexGetContacts</a>(<a class=\"code\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a>* solver, <a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* planes, <a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* velocities, <a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* indices, <a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* counts);</div>\n<div class=\"line\"><a name=\"l01095\"></a><span class=\"lineno\"> 1095</span>&#160;</div>\n<div class=\"line\"><a name=\"l01142\"></a><span class=\"lineno\"> 1142</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"_nv_flex_8h.html#abbee38b5413bbfd1db914c66fcdfc616\">NvFlexGetNeighbors</a>(<a class=\"code\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a>* solver, <a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* neighbors, <a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* counts, <a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* apiToInternal, <a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* internalToApi);</div>\n<div class=\"line\"><a name=\"l01143\"></a><span class=\"lineno\"> 1143</span>&#160;</div>\n<div class=\"line\"><a name=\"l01152\"></a><span class=\"lineno\"> 1152</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"_nv_flex_8h.html#ab1eec84a21b1872fba11c9b4cc1d1629\">NvFlexGetBounds</a>(<a class=\"code\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a>* solver, <a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* lower, <a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* upper);</div>\n<div class=\"line\"><a name=\"l01153\"></a><span class=\"lineno\"> 1153</span>&#160;</div>\n<div class=\"line\"><a name=\"l01165\"></a><span class=\"lineno\"> 1165</span>&#160;NV_FLEX_API <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_8h.html#aa77d2a4edd4ccd79c9389854dca80613\">NvFlexGetDeviceLatency</a>(<a class=\"code\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a>* solver, <span class=\"keywordtype\">unsigned</span> <span class=\"keywordtype\">long</span> <span class=\"keywordtype\">long</span>* begin, <span class=\"keywordtype\">unsigned</span> <span class=\"keywordtype\">long</span> <span class=\"keywordtype\">long</span>* end, <span class=\"keywordtype\">unsigned</span> <span class=\"keywordtype\">long</span> <span class=\"keywordtype\">long</span>* frequency);</div>\n<div class=\"line\"><a name=\"l01166\"></a><span class=\"lineno\"> 1166</span>&#160;</div>\n<div class=\"line\"><a name=\"l01177\"></a><span class=\"lineno\"> 1177</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"_nv_flex_8h.html#ab16b6d2e11e0ab417ee6c4cf16f0a27d\">NvFlexGetTimers</a>(<a class=\"code\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a>* solver, <a class=\"code\" href=\"_nv_flex_8h.html#struct_nv_flex_timers\">NvFlexTimers</a>* timers);</div>\n<div class=\"line\"><a name=\"l01178\"></a><span class=\"lineno\"> 1178</span>&#160;</div>\n<div class=\"line\"><a name=\"l01182\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html\"> 1182</a></span>&#160;<span class=\"keyword\">struct </span><a class=\"code\" href=\"_nv_flex_8h.html#struct_nv_flex_detail_timer\">NvFlexDetailTimer</a></div>\n<div class=\"line\"><a name=\"l01183\"></a><span class=\"lineno\"> 1183</span>&#160;{ </div>\n<div class=\"line\"><a name=\"l01184\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a3ddbb30a2fde4a2e9ccec7854300b1d4\"> 1184</a></span>&#160;    <span class=\"keywordtype\">char</span>* <a class=\"code\" href=\"_nv_flex_8h.html#a3ddbb30a2fde4a2e9ccec7854300b1d4\">name</a>; </div>\n<div class=\"line\"><a name=\"l01185\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_8h.html#a83f6117fe98bc6426027a9b784fd737c\"> 1185</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_8h.html#a83f6117fe98bc6426027a9b784fd737c\">time</a>;</div>\n<div class=\"line\"><a name=\"l01186\"></a><span class=\"lineno\"> 1186</span>&#160;};</div>\n<div class=\"line\"><a name=\"l01187\"></a><span class=\"lineno\"> 1187</span>&#160;</div>\n<div class=\"line\"><a name=\"l01200\"></a><span class=\"lineno\"> 1200</span>&#160;NV_FLEX_API <span class=\"keywordtype\">int</span> <a class=\"code\" href=\"_nv_flex_8h.html#ab1efb6764f65900cb09f0188ad6da08a\">NvFlexGetDetailTimers</a>(<a class=\"code\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a>* solver, <a class=\"code\" href=\"_nv_flex_8h.html#struct_nv_flex_detail_timer\">NvFlexDetailTimer</a>** timers);</div>\n<div class=\"line\"><a name=\"l01201\"></a><span class=\"lineno\"> 1201</span>&#160;</div>\n<div class=\"line\"><a name=\"l01211\"></a><span class=\"lineno\"> 1211</span>&#160;NV_FLEX_API <a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* <a class=\"code\" href=\"_nv_flex_8h.html#ad48f83b8442323687d2268206e913496\">NvFlexAllocBuffer</a>(<a class=\"code\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a>* lib, <span class=\"keywordtype\">int</span> elementCount, <span class=\"keywordtype\">int</span> elementByteStride, <a class=\"code\" href=\"_nv_flex_8h.html#a169e4c126acf46bdebf76c36a44deca3\">NvFlexBufferType</a> type);</div>\n<div class=\"line\"><a name=\"l01212\"></a><span class=\"lineno\"> 1212</span>&#160;</div>\n<div class=\"line\"><a name=\"l01218\"></a><span class=\"lineno\"> 1218</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"_nv_flex_8h.html#ab559759820a4322aff061745ef26c867\">NvFlexFreeBuffer</a>(<a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* buf);</div>\n<div class=\"line\"><a name=\"l01219\"></a><span class=\"lineno\"> 1219</span>&#160;</div>\n<div class=\"line\"><a name=\"l01229\"></a><span class=\"lineno\"> 1229</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span>* <a class=\"code\" href=\"_nv_flex_8h.html#a0898bb9210440b159688d4647f6eb083\">NvFlexMap</a>(<a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* buffer, <span class=\"keywordtype\">int</span> flags);</div>\n<div class=\"line\"><a name=\"l01230\"></a><span class=\"lineno\"> 1230</span>&#160;</div>\n<div class=\"line\"><a name=\"l01236\"></a><span class=\"lineno\"> 1236</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"_nv_flex_8h.html#a054cb27646a389ea257d1bbde46a6e97\">NvFlexUnmap</a>(<a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* buffer);</div>\n<div class=\"line\"><a name=\"l01237\"></a><span class=\"lineno\"> 1237</span>&#160;</div>\n<div class=\"line\"><a name=\"l01267\"></a><span class=\"lineno\"> 1267</span>&#160;NV_FLEX_API <a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* <a class=\"code\" href=\"_nv_flex_8h.html#aab83daf46e5a9428a0ad76fb75e8ec7e\">NvFlexRegisterOGLBuffer</a>(<a class=\"code\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a>* lib, <span class=\"keywordtype\">int</span> buf, <span class=\"keywordtype\">int</span> elementCount, <span class=\"keywordtype\">int</span> elementByteStride);</div>\n<div class=\"line\"><a name=\"l01268\"></a><span class=\"lineno\"> 1268</span>&#160;</div>\n<div class=\"line\"><a name=\"l01274\"></a><span class=\"lineno\"> 1274</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"_nv_flex_8h.html#a78045a8d4e856372df108dc616a94cd8\">NvFlexUnregisterOGLBuffer</a>(<a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* buf);</div>\n<div class=\"line\"><a name=\"l01275\"></a><span class=\"lineno\"> 1275</span>&#160;</div>\n<div class=\"line\"><a name=\"l01285\"></a><span class=\"lineno\"> 1285</span>&#160;NV_FLEX_API <a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* <a class=\"code\" href=\"_nv_flex_8h.html#ab487e68ce1c84ce1eec0c85b7daf5aa0\">NvFlexRegisterD3DBuffer</a>(<a class=\"code\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a>* lib, <span class=\"keywordtype\">void</span>* buffer, <span class=\"keywordtype\">int</span> elementCount, <span class=\"keywordtype\">int</span> elementByteStride);</div>\n<div class=\"line\"><a name=\"l01286\"></a><span class=\"lineno\"> 1286</span>&#160;</div>\n<div class=\"line\"><a name=\"l01292\"></a><span class=\"lineno\"> 1292</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"_nv_flex_8h.html#ad607e7916e5d76b384a61f1c1f94ab32\">NvFlexUnregisterD3DBuffer</a>(<a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* buf);</div>\n<div class=\"line\"><a name=\"l01293\"></a><span class=\"lineno\"> 1293</span>&#160;</div>\n<div class=\"line\"><a name=\"l01299\"></a><span class=\"lineno\"> 1299</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"_nv_flex_8h.html#a42ec7b30c79d4733e6a756b5d9b15ee6\">NvFlexAcquireContext</a>(<a class=\"code\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a>* lib);</div>\n<div class=\"line\"><a name=\"l01300\"></a><span class=\"lineno\"> 1300</span>&#160;</div>\n<div class=\"line\"><a name=\"l01305\"></a><span class=\"lineno\"> 1305</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"_nv_flex_8h.html#ae6671f352bd77e296609d0bc2a57fd11\">NvFlexRestoreContext</a>(<a class=\"code\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a>* lib);</div>\n<div class=\"line\"><a name=\"l01306\"></a><span class=\"lineno\"> 1306</span>&#160;</div>\n<div class=\"line\"><a name=\"l01312\"></a><span class=\"lineno\"> 1312</span>&#160;NV_FLEX_API <span class=\"keyword\">const</span> <span class=\"keywordtype\">char</span>* <a class=\"code\" href=\"_nv_flex_8h.html#a4c451971259524c6878b6b1ed4023ada\">NvFlexGetDeviceName</a>(<a class=\"code\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a>* lib);</div>\n<div class=\"line\"><a name=\"l01313\"></a><span class=\"lineno\"> 1313</span>&#160;</div>\n<div class=\"line\"><a name=\"l01323\"></a><span class=\"lineno\"> 1323</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"_nv_flex_8h.html#a2ac0a898a565a2cdf13b80acd4a3555c\">NvFlexGetDeviceAndContext</a>(<a class=\"code\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a>* lib, <span class=\"keywordtype\">void</span>** device, <span class=\"keywordtype\">void</span>** context);</div>\n<div class=\"line\"><a name=\"l01324\"></a><span class=\"lineno\"> 1324</span>&#160; </div>\n<div class=\"line\"><a name=\"l01325\"></a><span class=\"lineno\"> 1325</span>&#160;</div>\n<div class=\"line\"><a name=\"l01331\"></a><span class=\"lineno\"> 1331</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"_nv_flex_8h.html#a898eb8e66a456dd2266c694f29cab600\">NvFlexFlush</a>(<a class=\"code\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a>* lib);</div>\n<div class=\"line\"><a name=\"l01332\"></a><span class=\"lineno\"> 1332</span>&#160;</div>\n<div class=\"line\"><a name=\"l01333\"></a><span class=\"lineno\"> 1333</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"_nv_flex_8h.html#a615d2e6eec2486a5db815d929f9c642c\">NvFlexWait</a>(<a class=\"code\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a>* lib);</div>\n<div class=\"line\"><a name=\"l01334\"></a><span class=\"lineno\"> 1334</span>&#160;</div>\n<div class=\"line\"><a name=\"l01336\"></a><span class=\"lineno\"> 1336</span>&#160;</div>\n<div class=\"line\"><a name=\"l01341\"></a><span class=\"lineno\"> 1341</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span> NvFlexSetDebug(<a class=\"code\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a>* solver, <span class=\"keywordtype\">bool</span> enable);</div>\n<div class=\"line\"><a name=\"l01342\"></a><span class=\"lineno\"> 1342</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span> NvFlexGetShapeBVH(<a class=\"code\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a>* solver, <span class=\"keywordtype\">void</span>* bvh);</div>\n<div class=\"line\"><a name=\"l01343\"></a><span class=\"lineno\"> 1343</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span> NvFlexCopySolver(<a class=\"code\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a>* dst, <a class=\"code\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a>* src);</div>\n<div class=\"line\"><a name=\"l01344\"></a><span class=\"lineno\"> 1344</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span> NvFlexCopyDeviceToHost(<a class=\"code\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a>* solver, <a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* pDevice, <span class=\"keywordtype\">void</span>* pHost, <span class=\"keywordtype\">int</span> size, <span class=\"keywordtype\">int</span> stride);</div>\n<div class=\"line\"><a name=\"l01345\"></a><span class=\"lineno\"> 1345</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span> NvFlexComputeWaitForGraphics(<a class=\"code\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a>* lib);</div>\n<div class=\"line\"><a name=\"l01346\"></a><span class=\"lineno\"> 1346</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span> NvFlexGetDataAftermath(<a class=\"code\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a>* lib, <span class=\"keywordtype\">void</span>* pDataOut, <span class=\"keywordtype\">void</span>* pStatusOut);</div>\n<div class=\"line\"><a name=\"l01347\"></a><span class=\"lineno\"> 1347</span>&#160;</div>\n<div class=\"line\"><a name=\"l01349\"></a><span class=\"lineno\"> 1349</span>&#160;</div>\n<div class=\"line\"><a name=\"l01350\"></a><span class=\"lineno\"> 1350</span>&#160;} <span class=\"comment\">// extern &quot;C&quot;</span></div>\n<div class=\"line\"><a name=\"l01351\"></a><span class=\"lineno\"> 1351</span>&#160;</div>\n<div class=\"line\"><a name=\"l01352\"></a><span class=\"lineno\"> 1352</span>&#160;<span class=\"preprocessor\">#endif // NV_FLEX_H</span></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a2345372dea2ad4f043153a84e7a2c407\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a2345372dea2ad4f043153a84e7a2c407\">NvFlexGetActiveCount</a></div><div class=\"ttdeci\">NV_FLEX_API int NvFlexGetActiveCount(NvFlexSolver *solver)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a5ad2a7745fcb4d4afd5b5f1bda074644a52ee05f3e425c336856277774bc9f69f\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a52ee05f3e425c336856277774bc9f69f\">eNvFlexPhaseUnused</a></div><div class=\"ttdoc\">Reserved. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:169</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_abdd60b0a83674283d09b4897fdd637a2\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#abdd60b0a83674283d09b4897fdd637a2\">NvFlexTimers::solveShapes</a></div><div class=\"ttdeci\">float solveShapes</div><div class=\"ttdoc\">Time spent solving rigid body constraints. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:214</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_ac5427457488ab3f2de91cf65335dda08\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#ac5427457488ab3f2de91cf65335dda08\">NvFlexRegisterSolverCallback</a></div><div class=\"ttdeci\">NV_FLEX_API NvFlexSolverCallback NvFlexRegisterSolverCallback(NvFlexSolver *solver, NvFlexSolverCallback function, NvFlexSolverCallbackStage stage)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_accc944f0e76ee2e5d67c3f977b150806\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#accc944f0e76ee2e5d67c3f977b150806\">NvFlexGetPhases</a></div><div class=\"ttdeci\">NV_FLEX_API void NvFlexGetPhases(NvFlexSolver *solver, NvFlexBuffer *phases, const NvFlexCopyDesc *desc)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a7a6e24c01235abc364ed12570ab15f84\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a7a6e24c01235abc364ed12570ab15f84\">NvFlexSphereGeometry::radius</a></div><div class=\"ttdeci\">float radius</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:890</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_ab4435b3857752360375fe52fc992cfcaa5538835c4767004ba5fd443ada08ea61\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#ab4435b3857752360375fe52fc992cfcaa5538835c4767004ba5fd443ada08ea61\">eNvFlexLogWarning</a></div><div class=\"ttdoc\">Warning messages. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:235</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a57e4d27b0aa8774e479fa66d65079f78\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a57e4d27b0aa8774e479fa66d65079f78\">NvFlexTimers::solveSprings</a></div><div class=\"ttdeci\">float solveSprings</div><div class=\"ttdoc\">Time spent solving distance constraints. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:215</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a6541b33eaca7b2323e73b30cea34d16c\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a6541b33eaca7b2323e73b30cea34d16c\">NvFlexMapFlags</a></div><div class=\"ttdeci\">NvFlexMapFlags</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:67</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a39ab69ac3fbde631b71f59f5bbbf1bdf\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a39ab69ac3fbde631b71f59f5bbbf1bdf\">NvFlexSolverDesc::maxDiffuseParticles</a></div><div class=\"ttdeci\">int maxDiffuseParticles</div><div class=\"ttdoc\">Maximum number of diffuse particles in the solver. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:368</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_abe6f00c9b94debbf7c181082a14076d5\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#abe6f00c9b94debbf7c181082a14076d5\">NvFlexErrorCallback</a></div><div class=\"ttdeci\">void(* NvFlexErrorCallback)(NvFlexErrorSeverity type, const char *msg, const char *file, int line)</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:297</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_ab4435b3857752360375fe52fc992cfcaa03d239332ae87f46270855dd06b6e58f\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#ab4435b3857752360375fe52fc992cfcaa03d239332ae87f46270855dd06b6e58f\">eNvFlexLogInfo</a></div><div class=\"ttdoc\">Information messages. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:234</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_ac017e05107d0362d3d03a14eaadf0657\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#ac017e05107d0362d3d03a14eaadf0657\">NvFlexParams::smoothing</a></div><div class=\"ttdeci\">float smoothing</div><div class=\"ttdoc\">Control the strength of Laplacian smoothing in particles for rendering, if zero then smoothed positio...</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:132</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_ae2db6ad8006027c1acf2315a0d15fe71\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#ae2db6ad8006027c1acf2315a0d15fe71\">NvFlexSetParams</a></div><div class=\"ttdeci\">NV_FLEX_API void NvFlexSetParams(NvFlexSolver *solver, const NvFlexParams *params)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a4f80c8bcfa6de99a52983adb13d80db9a260340ba9071892bd8795c3b29289806\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9a260340ba9071892bd8795c3b29289806\">eNvFlexStageUpdateEnd</a></div><div class=\"ttdoc\">Called at the end of solver update after the final substep has completed. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:249</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a5ad2a7745fcb4d4afd5b5f1bda074644ab4034dbf78d6045ee13278531ee21c2b\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644ab4034dbf78d6045ee13278531ee21c2b\">eNvFlexPhaseShapeChannel3</a></div><div class=\"ttdoc\">Particle will collide with shapes with channel 3 set (see NvFlexMakeShapeFlags()) ...</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:174</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a4958c555f0ed65dee54c37af32529356\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a4958c555f0ed65dee54c37af32529356\">NvFlexUpdateTriangleMesh</a></div><div class=\"ttdeci\">NV_FLEX_API void NvFlexUpdateTriangleMesh(NvFlexLibrary *lib, NvFlexTriangleMeshId mesh, NvFlexBuffer *vertices, NvFlexBuffer *indices, int numVertices, int numTriangles, const float *lower, const float *upper)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a054cb27646a389ea257d1bbde46a6e97\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a054cb27646a389ea257d1bbde46a6e97\">NvFlexUnmap</a></div><div class=\"ttdeci\">NV_FLEX_API void NvFlexUnmap(NvFlexBuffer *buffer)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a5ad2a7745fcb4d4afd5b5f1bda074644a453a23cc8e9d2e6097b5be187f3c6977\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a453a23cc8e9d2e6097b5be187f3c6977\">eNvFlexPhaseSelfCollide</a></div><div class=\"ttdoc\">If set this particle will interact with particles of the same group. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:166</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_aba34bc2bc8736e3a0cf18a7a6b56ff68\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#aba34bc2bc8736e3a0cf18a7a6b56ff68\">NvFlexTimers::createCellIndices</a></div><div class=\"ttdeci\">float createCellIndices</div><div class=\"ttdoc\">Time spent creating grid indices. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:203</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a5ad2a7745fcb4d4afd5b5f1bda074644af309316efb695be38a4e15986be21ef9\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644af309316efb695be38a4e15986be21ef9\">eNvFlexPhaseShapeChannel4</a></div><div class=\"ttdoc\">Particle will collide with shapes with channel 4 set (see NvFlexMakeShapeFlags()) ...</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:175</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a0e4cb2f91d3b7d122000d36a7d67ab81\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a0e4cb2f91d3b7d122000d36a7d67ab81\">NvFlexParams::shapeCollisionMargin</a></div><div class=\"ttdeci\">float shapeCollisionMargin</div><div class=\"ttdoc\">Increases the radius used during contact finding against kinematic shapes. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:147</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a0008a52f6ae1e17c436b095549bf1c78\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a0008a52f6ae1e17c436b095549bf1c78\">NvFlexSDFGeometry::scale</a></div><div class=\"ttdeci\">float scale</div><div class=\"ttdoc\">Uniform scale of SDF, this corresponds to the world space width of the shape. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:934</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a7ade7491cd0693a6d7c5e88a99298378\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a7ade7491cd0693a6d7c5e88a99298378\">NvFlexParams::diffuseBallistic</a></div><div class=\"ttdeci\">int diffuseBallistic</div><div class=\"ttdoc\">The number of neighbors below which a diffuse particle is considered ballistic. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:141</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_aa8b7bfeffb0fa7dc6dbd291fee87edc9\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#aa8b7bfeffb0fa7dc6dbd291fee87edc9\">NvFlexSetRigids</a></div><div class=\"ttdeci\">NV_FLEX_API void NvFlexSetRigids(NvFlexSolver *solver, NvFlexBuffer *offsets, NvFlexBuffer *indices, NvFlexBuffer *restPositions, NvFlexBuffer *restNormals, NvFlexBuffer *stiffness, NvFlexBuffer *thresholds, NvFlexBuffer *creeps, NvFlexBuffer *rotations, NvFlexBuffer *translations, int numRigids, int numIndices)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a46f5d35902f7da40628247175a174f3b\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a46f5d35902f7da40628247175a174f3b\">NvFlexRelaxationMode</a></div><div class=\"ttdeci\">NvFlexRelaxationMode</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:85</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a7043181449aebf540351d1d2f785cf4a\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a7043181449aebf540351d1d2f785cf4a\">NvFlexParams::drag</a></div><div class=\"ttdeci\">float drag</div><div class=\"ttdoc\">Drag force applied to particles belonging to dynamic triangles, proportional to velocity^2*area in th...</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:121</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_ab4435b3857752360375fe52fc992cfca\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#ab4435b3857752360375fe52fc992cfca\">NvFlexErrorSeverity</a></div><div class=\"ttdeci\">NvFlexErrorSeverity</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:231</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_aa1d44495e442f8cae874c635ef847478\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#aa1d44495e442f8cae874c635ef847478\">NvFlexSetPhases</a></div><div class=\"ttdeci\">NV_FLEX_API void NvFlexSetPhases(NvFlexSolver *solver, NvFlexBuffer *phases, const NvFlexCopyDesc *desc)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_ab003c023dde289dee075c49db022ccaf\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#ab003c023dde289dee075c49db022ccaf\">NvFlexParams::maxSpeed</a></div><div class=\"ttdeci\">float maxSpeed</div><div class=\"ttdoc\">The magnitude of particle velocity will be clamped to this value at the end of each step...</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:112</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_aee5c235d5fab40831cf339680aa25560a3ab06dc4cd4aa073ab0f2d96a56c499d\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#aee5c235d5fab40831cf339680aa25560a3ab06dc4cd4aa073ab0f2d96a56c499d\">eNvFlexFeatureModeDefault</a></div><div class=\"ttdoc\">All features enabled. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:355</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_ae54ff0cacfedd4333aa1a1f9b9291906\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#ae54ff0cacfedd4333aa1a1f9b9291906\">NvFlexParams::planes</a></div><div class=\"ttdeci\">float planes[8][4]</div><div class=\"ttdoc\">Collision planes in the form ax + by + cz + d = 0. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:149</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a3ef4d1035530c3583bdf983c7e62b472\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a3ef4d1035530c3583bdf983c7e62b472\">NvFlexParams::cohesion</a></div><div class=\"ttdeci\">float cohesion</div><div class=\"ttdoc\">Control how strongly particles hold each other together, default: 0.025, range [0.0, +inf]. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:125</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_af0a34fd0cdf686022650be9f895cbf2f\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#af0a34fd0cdf686022650be9f895cbf2f\">NvFlexParams::staticFriction</a></div><div class=\"ttdeci\">float staticFriction</div><div class=\"ttdoc\">Coefficient of static friction used when colliding against shapes. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:106</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_ac1f3c3a1eeeb57cf5b20d030a788e25c\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#ac1f3c3a1eeeb57cf5b20d030a788e25c\">NvFlexTimers::collideParticles</a></div><div class=\"ttdeci\">float collideParticles</div><div class=\"ttdoc\">Time spent finding particle neighbors. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:207</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a73d87b460a34c52ff4b616e97a53ade7\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a73d87b460a34c52ff4b616e97a53ade7\">NvFlexGetNormals</a></div><div class=\"ttdeci\">NV_FLEX_API void NvFlexGetNormals(NvFlexSolver *solver, NvFlexBuffer *normals, const NvFlexCopyDesc *desc)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a8ad5aa3c9c9456607de9a2c9f1d0d2c1\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a8ad5aa3c9c9456607de9a2c9f1d0d2c1\">NvFlexCollisionGeometry::capsule</a></div><div class=\"ttdeci\">NvFlexCapsuleGeometry capsule</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:945</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_aaf8baa00e709ff8fd40d114f00bee0b6\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#aaf8baa00e709ff8fd40d114f00bee0b6\">NvFlexTimers::predict</a></div><div class=\"ttdeci\">float predict</div><div class=\"ttdoc\">Time spent in prediction. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:202</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_afa458a6eec8b0d117e53c40c13788fd9\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#afa458a6eec8b0d117e53c40c13788fd9\">NvFlexGetDiffuseParticles</a></div><div class=\"ttdeci\">NV_FLEX_API void NvFlexGetDiffuseParticles(NvFlexSolver *solver, NvFlexBuffer *p, NvFlexBuffer *v, NvFlexBuffer *count)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_struct_nv_flex_convex_mesh_geometry\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#struct_nv_flex_convex_mesh_geometry\">NvFlexConvexMeshGeometry</a></div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:913</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a5ea0cd160a13a72924340184edfbea2f\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a5ea0cd160a13a72924340184edfbea2f\">NvFlexSolverDesc::maxNeighborsPerParticle</a></div><div class=\"ttdeci\">int maxNeighborsPerParticle</div><div class=\"ttdoc\">Maximum number of neighbors per-particle, for solids this can be around 32, for fluids up to 128 may ...</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:369</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a2ff723870a6eba26d9f3bb7e5250b27f\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a2ff723870a6eba26d9f3bb7e5250b27f\">NvFlexTimers::updateDiffuse</a></div><div class=\"ttdeci\">float updateDiffuse</div><div class=\"ttdoc\">Time spent updating diffuse particles. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:220</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a0e3c0e02ec7addd25ebb3355a8865bfb\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a0e3c0e02ec7addd25ebb3355a8865bfb\">NvFlexCollisionGeometry::sphere</a></div><div class=\"ttdeci\">NvFlexSphereGeometry sphere</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:944</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a55bf1f547086b8e469f2c3b20c9ae39d\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a55bf1f547086b8e469f2c3b20c9ae39d\">NvFlexParams::collisionDistance</a></div><div class=\"ttdeci\">float collisionDistance</div><div class=\"ttdoc\">Distance particles maintain against shapes, note that for robust collision against triangle meshes th...</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:145</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a064e3ce30320610d495ba3faa72dc8d6\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a064e3ce30320610d495ba3faa72dc8d6\">NvFlexCollisionGeometry::triMesh</a></div><div class=\"ttdeci\">NvFlexTriangleMeshGeometry triMesh</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:948</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a215e06106ec0cdbbcd405055a4535d1d\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a215e06106ec0cdbbcd405055a4535d1d\">NvFlexTimers::solveContacts</a></div><div class=\"ttdeci\">float solveContacts</div><div class=\"ttdoc\">Time spent solving contact constraints. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:216</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a677dc591fe443ae058701966c52d1316\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a677dc591fe443ae058701966c52d1316\">NvFlexSetActiveCount</a></div><div class=\"ttdeci\">NV_FLEX_API void NvFlexSetActiveCount(NvFlexSolver *solver, int n)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a5ad2a7745fcb4d4afd5b5f1bda074644a7b776084468bae4e3566484cf34d0154\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a7b776084468bae4e3566484cf34d0154\">eNvFlexPhaseFlagsMask</a></div><div class=\"ttdoc\">Bits [20, 23] hold flags about how the particle behave. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:163</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a31c31ea4f96cd4fdadc6b7317691304caa1c1225f6b8b2906c83748cfc46b81d9\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a31c31ea4f96cd4fdadc6b7317691304caa1c1225f6b8b2906c83748cfc46b81d9\">eNvFlexShapeFlagReserved</a></div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:968</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_aeeeaf91dad0804d1dd3125e592a3260b\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#aeeeaf91dad0804d1dd3125e592a3260b\">NvFlexInitDesc::computeType</a></div><div class=\"ttdeci\">NvFlexComputeType computeType</div><div class=\"ttdoc\">Set to eNvFlexD3D11 if DirectX 11 should be used, eNvFlexD3D12 for DirectX 12, this must match the li...</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:323</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_ab11bdd7f778d17af16cefea33265cb65\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#ab11bdd7f778d17af16cefea33265cb65\">NvFlexDestroyDistanceField</a></div><div class=\"ttdeci\">NV_FLEX_API void NvFlexDestroyDistanceField(NvFlexLibrary *lib, NvFlexDistanceFieldId sdf)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a9b2d3dc5ac42011aeec4e13be2e14252a297a93979a88fda6e6b551dcab5fb3df\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a9b2d3dc5ac42011aeec4e13be2e14252a297a93979a88fda6e6b551dcab5fb3df\">eNvFlexD3D11</a></div><div class=\"ttdoc\">Use DirectX 11 compute for Flex, the application must link against the D3D libraries. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:307</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a1d755d7b090f7ed5c4c50d2d3fef1558\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a1d755d7b090f7ed5c4c50d2d3fef1558\">NvFlexDestroySolver</a></div><div class=\"ttdeci\">NV_FLEX_API void NvFlexDestroySolver(NvFlexSolver *solver)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a31c31ea4f96cd4fdadc6b7317691304cae8a10737948abf6973f0f1d66bae7ef8\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a31c31ea4f96cd4fdadc6b7317691304cae8a10737948abf6973f0f1d66bae7ef8\">eNvFlexShapeFlagTypeMask</a></div><div class=\"ttdoc\">Lower 3 bits holds the type of the collision shape given by the NvFlexCollisionShapeType enum...</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:964</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_abe564dbbbd4957542322b60d77a70e29\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#abe564dbbbd4957542322b60d77a70e29\">NvFlexSolverCallbackParams::originalToSortedMap</a></div><div class=\"ttdeci\">const int * originalToSortedMap</div><div class=\"ttdoc\">Device pointer that maps the sorted callback data to the original position given by SetParticles() ...</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:279</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_aef1b5bceccca709ebb782d2ea8a61dc9\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#aef1b5bceccca709ebb782d2ea8a61dc9\">NvFlexCapsuleGeometry::halfHeight</a></div><div class=\"ttdeci\">float halfHeight</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:899</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a6541b33eaca7b2323e73b30cea34d16ca11adf517d180983daec217e761acc3d6\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a6541b33eaca7b2323e73b30cea34d16ca11adf517d180983daec217e761acc3d6\">eNvFlexMapWait</a></div><div class=\"ttdoc\">Calling thread will be blocked until buffer is ready for access, default. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:69</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a5a7213593dd9a23d9d67f8517d1da9de\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a5a7213593dd9a23d9d67f8517d1da9de\">NvFlexSetDiffuseParticles</a></div><div class=\"ttdeci\">NV_FLEX_API void NvFlexSetDiffuseParticles(NvFlexSolver *solver, NvFlexBuffer *p, NvFlexBuffer *v, int n)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_afaeb57f4ee7e54b1ae1b912a465ed39e\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a></div><div class=\"ttdeci\">struct NvFlexSolver NvFlexSolver</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:57</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a4f80c8bcfa6de99a52983adb13d80db9a6f13e2ebdbf21f8c8ebcfe1ac9160586\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9a6f13e2ebdbf21f8c8ebcfe1ac9160586\">eNvFlexStageSubstepEnd</a></div><div class=\"ttdoc\">Called at the end of each substep after the velocity has been updated by the constraints. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:248</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a8ed42f9bd016cbcef45c96b5b32ca609\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a8ed42f9bd016cbcef45c96b5b32ca609\">NvFlexSolverCallbackParams::particles</a></div><div class=\"ttdeci\">float * particles</div><div class=\"ttdoc\">Device pointer to the active particle basic data in the form x,y,z,1/m. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:271</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a1bd4b70e0118abe18ca5fe85157299b6\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a1bd4b70e0118abe18ca5fe85157299b6\">NvFlexGetActive</a></div><div class=\"ttdeci\">NV_FLEX_API void NvFlexGetActive(NvFlexSolver *solver, NvFlexBuffer *indices, const NvFlexCopyDesc *desc)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a7f2b59fba77c60ce116e1eac57d63e50\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a7f2b59fba77c60ce116e1eac57d63e50\">NvFlexSetInflatables</a></div><div class=\"ttdeci\">NV_FLEX_API void NvFlexSetInflatables(NvFlexSolver *solver, NvFlexBuffer *startTris, NvFlexBuffer *numTris, NvFlexBuffer *restVolumes, NvFlexBuffer *overPressures, NvFlexBuffer *constraintScales, int numInflatables)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a615d2e6eec2486a5db815d929f9c642c\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a615d2e6eec2486a5db815d929f9c642c\">NvFlexWait</a></div><div class=\"ttdeci\">NV_FLEX_API void NvFlexWait(NvFlexLibrary *lib)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a7ec5ebe3e98a44a2058d6be74b2cb633\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a7ec5ebe3e98a44a2058d6be74b2cb633\">NvFlexSetParticles</a></div><div class=\"ttdeci\">NV_FLEX_API void NvFlexSetParticles(NvFlexSolver *solver, NvFlexBuffer *p, const NvFlexCopyDesc *desc)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_struct_nv_flex_sphere_geometry\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#struct_nv_flex_sphere_geometry\">NvFlexSphereGeometry</a></div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:888</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_struct_nv_flex_solver_desc\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#struct_nv_flex_solver_desc\">NvFlexSolverDesc</a></div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:363</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_aa544809448a95c3864e1443c7a507d7f\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#aa544809448a95c3864e1443c7a507d7f\">NvFlexCopyDesc::dstOffset</a></div><div class=\"ttdeci\">int dstOffset</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:515</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a4f80c8bcfa6de99a52983adb13d80db9a9f3914fdb03915a14ebe55a2c730e7ff\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9a9f3914fdb03915a14ebe55a2c730e7ff\">eNvFlexStageIterationStart</a></div><div class=\"ttdoc\">Called at the beginning of each constraint iteration. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:245</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a60794d849b4184335e2a0ddec0a9e6a2\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a60794d849b4184335e2a0ddec0a9e6a2\">NvFlexGetTriangleMeshBounds</a></div><div class=\"ttdeci\">NV_FLEX_API void NvFlexGetTriangleMeshBounds(NvFlexLibrary *lib, const NvFlexTriangleMeshId mesh, float *lower, float *upper)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_ad83b7fb561a91467a3094771bb682b96\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#ad83b7fb561a91467a3094771bb682b96\">NvFlexMakeShapeFlagsWithChannels</a></div><div class=\"ttdeci\">NV_FLEX_API int NvFlexMakeShapeFlagsWithChannels(NvFlexCollisionShapeType type, bool dynamic, int shapeChannels)</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:978</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_struct_nv_flex_solver_callback_params\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#struct_nv_flex_solver_callback_params\">NvFlexSolverCallbackParams</a></div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:266</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_afbaafe2b1006352002b03aabaca531cc\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#afbaafe2b1006352002b03aabaca531cc\">NvFlexCreateConvexMesh</a></div><div class=\"ttdeci\">NV_FLEX_API NvFlexConvexMeshId NvFlexCreateConvexMesh(NvFlexLibrary *lib)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a0898bb9210440b159688d4647f6eb083\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a0898bb9210440b159688d4647f6eb083\">NvFlexMap</a></div><div class=\"ttdeci\">NV_FLEX_API void * NvFlexMap(NvFlexBuffer *buffer, int flags)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a83f6117fe98bc6426027a9b784fd737c\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a83f6117fe98bc6426027a9b784fd737c\">NvFlexDetailTimer::time</a></div><div class=\"ttdeci\">float time</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:1185</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_union_nv_flex_collision_geometry\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#union_nv_flex_collision_geometry\">NvFlexCollisionGeometry</a></div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:942</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a1a1e69f26e02e8b3fca1d3636a7f3f13\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a1a1e69f26e02e8b3fca1d3636a7f3f13\">NvFlexTimers::updateNormals</a></div><div class=\"ttdeci\">float updateNormals</div><div class=\"ttdoc\">Time spent updating vertex normals. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:222</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a2aea4c3d772b4dbccb7dd9ba37c1bdc0\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a2aea4c3d772b4dbccb7dd9ba37c1bdc0\">NvFlexTriangleMeshId</a></div><div class=\"ttdeci\">unsigned int NvFlexTriangleMeshId</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:730</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a46f5d35902f7da40628247175a174f3ba858afe9529e908c2bc8ce92da8943b7c\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a46f5d35902f7da40628247175a174f3ba858afe9529e908c2bc8ce92da8943b7c\">eNvFlexRelaxationLocal</a></div><div class=\"ttdoc\">The relaxation factor is a fixed multiplier on each constraint&#39;s delta divided by the particle&#39;s cons...</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:88</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_ab487e68ce1c84ce1eec0c85b7daf5aa0\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#ab487e68ce1c84ce1eec0c85b7daf5aa0\">NvFlexRegisterD3DBuffer</a></div><div class=\"ttdeci\">NV_FLEX_API NvFlexBuffer * NvFlexRegisterD3DBuffer(NvFlexLibrary *lib, void *buffer, int elementCount, int elementByteStride)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_ad9503e8b23e084c0f940be3dcca9af2e\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#ad9503e8b23e084c0f940be3dcca9af2e\">NvFlexInitDesc::runOnRenderContext</a></div><div class=\"ttdeci\">bool runOnRenderContext</div><div class=\"ttdoc\">If true, run Flex on D3D11 render context, or D3D12 direct queue. If false, run on a D3D12 compute qu...</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:321</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a31c31ea4f96cd4fdadc6b7317691304ca409215fa9b917f2d0830a66bd11b3ff8\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a31c31ea4f96cd4fdadc6b7317691304ca409215fa9b917f2d0830a66bd11b3ff8\">eNvFlexShapeFlagTrigger</a></div><div class=\"ttdoc\">Indicates that the shape is a trigger volume, this means it will not perform any collision response...</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:966</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_aee5c235d5fab40831cf339680aa25560aeab2b8a68b528d46e11b71ad0f4d83f2\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#aee5c235d5fab40831cf339680aa25560aeab2b8a68b528d46e11b71ad0f4d83f2\">eNvFlexFeatureModeSimpleFluids</a></div><div class=\"ttdoc\">Simple single phase fluid-only particles (no solids) </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:357</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a0506ae712f846087b8647ea389ac26baae22144512ae098865c6725af16a68ad3\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26baae22144512ae098865c6725af16a68ad3\">eNvFlexShapeSphere</a></div><div class=\"ttdoc\">A sphere shape, see FlexSphereGeometry. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:954</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a0506ae712f846087b8647ea389ac26baa1fd78f8694b954f8d12fe7d911f17180\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26baa1fd78f8694b954f8d12fe7d911f17180\">eNvFlexShapeSDF</a></div><div class=\"ttdoc\">A signed distance field shape, see FlexSDFGeometry. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:959</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a5890b9e46d626cfa19994976ea53c52e\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a5890b9e46d626cfa19994976ea53c52e\">NvFlexInitDesc::deviceIndex</a></div><div class=\"ttdeci\">int deviceIndex</div><div class=\"ttdoc\">The GPU device index that should be used, if there is already a CUDA context on the calling thread th...</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:316</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a40f452b4edbf11b793f31286a0ae270e\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a40f452b4edbf11b793f31286a0ae270e\">NvFlexParams::viscosity</a></div><div class=\"ttdeci\">float viscosity</div><div class=\"ttdoc\">Smoothes particle velocities using XSPH viscosity. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:127</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_af6a50e64591866ae2390a57e3342566c\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#af6a50e64591866ae2390a57e3342566c\">NvFlexTriangleMeshGeometry::mesh</a></div><div class=\"ttdeci\">NvFlexTriangleMeshId mesh</div><div class=\"ttdoc\">A triangle mesh pointer created by NvFlexCreateTriangleMesh() </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:925</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a8114a049f5e16f7d1b960f3ac4993fdb\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a8114a049f5e16f7d1b960f3ac4993fdb\">NvFlexParams::adhesion</a></div><div class=\"ttdeci\">float adhesion</div><div class=\"ttdoc\">Controls how strongly particles stick to surfaces they hit, default 0.0, range [0.0, +inf]. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:109</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a78045a8d4e856372df108dc616a94cd8\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a78045a8d4e856372df108dc616a94cd8\">NvFlexUnregisterOGLBuffer</a></div><div class=\"ttdeci\">NV_FLEX_API void NvFlexUnregisterOGLBuffer(NvFlexBuffer *buf)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_ab669c404607156367b09878870dbe30c\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#ab669c404607156367b09878870dbe30c\">NvFlexBoxGeometry::halfExtents</a></div><div class=\"ttdeci\">float halfExtents[3]</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:907</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_struct_nv_flex_box_geometry\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#struct_nv_flex_box_geometry\">NvFlexBoxGeometry</a></div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:905</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a5c28caf6d5d513c5adacd4fbc782f308\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a5c28caf6d5d513c5adacd4fbc782f308\">NvFlexCreateDistanceField</a></div><div class=\"ttdeci\">NV_FLEX_API NvFlexDistanceFieldId NvFlexCreateDistanceField(NvFlexLibrary *lib)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a9e5f943053d43d7e1a6b149babe4fe44\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a9e5f943053d43d7e1a6b149babe4fe44\">NvFlexSolverCallbackParams::phases</a></div><div class=\"ttdeci\">int * phases</div><div class=\"ttdoc\">Device pointer to the active particle phase data. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:273</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a898eb8e66a456dd2266c694f29cab600\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a898eb8e66a456dd2266c694f29cab600\">NvFlexFlush</a></div><div class=\"ttdeci\">NV_FLEX_API void NvFlexFlush(NvFlexLibrary *lib)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_ab1eec84a21b1872fba11c9b4cc1d1629\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#ab1eec84a21b1872fba11c9b4cc1d1629\">NvFlexGetBounds</a></div><div class=\"ttdeci\">NV_FLEX_API void NvFlexGetBounds(NvFlexSolver *solver, NvFlexBuffer *lower, NvFlexBuffer *upper)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a169e4c126acf46bdebf76c36a44deca3aec63221ddc1b13eff4db55fbf6cd85f8\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a169e4c126acf46bdebf76c36a44deca3aec63221ddc1b13eff4db55fbf6cd85f8\">eNvFlexBufferHost</a></div><div class=\"ttdoc\">A host mappable buffer, pinned memory on CUDA, staging buffer on DX. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:78</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_ac32019f7dd1f30ab8a7391a417ed02c9\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#ac32019f7dd1f30ab8a7391a417ed02c9\">NvFlexSolverCallbackParams::numActive</a></div><div class=\"ttdeci\">int numActive</div><div class=\"ttdoc\">The number of active particles returned, the callback data only return pointers to active particle da...</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:275</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_ae0d57e4fc2b3b51ec08f7da0a28ff343\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#ae0d57e4fc2b3b51ec08f7da0a28ff343\">NvFlexGetSolverLibrary</a></div><div class=\"ttdeci\">NV_FLEX_API NvFlexLibrary * NvFlexGetSolverLibrary(NvFlexSolver *solver)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a50a3933d3f7b77d0500c702b1fa9ba9a\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a></div><div class=\"ttdeci\">struct NvFlexBuffer NvFlexBuffer</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:62</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_ae45cb18deec2db8ff44d181e80f24695\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#ae45cb18deec2db8ff44d181e80f24695\">NvFlexTimers::sortCellIndices</a></div><div class=\"ttdeci\">float sortCellIndices</div><div class=\"ttdoc\">Time spent sorting grid indices. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:204</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_ae01bc8c45cf48f5faed2a8e78df1c678\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#ae01bc8c45cf48f5faed2a8e78df1c678\">NvFlexCopyDesc::srcOffset</a></div><div class=\"ttdeci\">int srcOffset</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:514</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_aedf73c7aa1f4df92c7724d58f4dcb266\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#aedf73c7aa1f4df92c7724d58f4dcb266\">NvFlexSolverDesc::maxParticles</a></div><div class=\"ttdeci\">int maxParticles</div><div class=\"ttdoc\">Maximum number of regular particles in the solver. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:367</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_aafc89f87307602fb9bfa8f6668122121\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#aafc89f87307602fb9bfa8f6668122121\">NvFlexGetRestParticles</a></div><div class=\"ttdeci\">NV_FLEX_API void NvFlexGetRestParticles(NvFlexSolver *solver, NvFlexBuffer *p, const NvFlexCopyDesc *desc)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a97d23c69cd4f343be14dedd911605276\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a97d23c69cd4f343be14dedd911605276\">NvFlexSolverDesc::maxContactsPerParticle</a></div><div class=\"ttdeci\">int maxContactsPerParticle</div><div class=\"ttdoc\">Maximum number of collision contacts per-particle. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:370</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_ad1d0256dac295346120fda40f6eea7e2\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#ad1d0256dac295346120fda40f6eea7e2\">NvFlexInitDesc::computeContext</a></div><div class=\"ttdeci\">void * computeContext</div><div class=\"ttdoc\">Direct3D context to use for simulation, if none is specified a new context will be created...</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:320</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_aa6eddaa3a6eb35917c093dcabf69a200\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#aa6eddaa3a6eb35917c093dcabf69a200\">NvFlexParams::radius</a></div><div class=\"ttdeci\">float radius</div><div class=\"ttdoc\">The maximum interaction radius for particles. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:100</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a7edac9cf450917147b83e98f5cb09f5d\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a7edac9cf450917147b83e98f5cb09f5d\">NvFlexGetContacts</a></div><div class=\"ttdeci\">NV_FLEX_API void NvFlexGetContacts(NvFlexSolver *solver, NvFlexBuffer *planes, NvFlexBuffer *velocities, NvFlexBuffer *indices, NvFlexBuffer *counts)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a53e827707abaf2e03b78c3c88469d7bf\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a53e827707abaf2e03b78c3c88469d7bf\">NvFlexCollisionGeometry::box</a></div><div class=\"ttdeci\">NvFlexBoxGeometry box</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:946</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_ac48a490fa3d62cc678c309dd4b8cbf18\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#ac48a490fa3d62cc678c309dd4b8cbf18\">NvFlexSolverCallbackParams::velocities</a></div><div class=\"ttdeci\">float * velocities</div><div class=\"ttdoc\">Device pointer to the active particle velocity data in the form x,y,z,w (last component is not used) ...</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:272</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a5ad2a7745fcb4d4afd5b5f1bda074644a1de4e956764950e501bcb8376a70f5a9\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a1de4e956764950e501bcb8376a70f5a9\">eNvFlexPhaseShapeChannel1</a></div><div class=\"ttdoc\">Particle will collide with shapes with channel 1 set (see NvFlexMakeShapeFlags()) ...</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:172</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_aa77d2a4edd4ccd79c9389854dca80613\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#aa77d2a4edd4ccd79c9389854dca80613\">NvFlexGetDeviceLatency</a></div><div class=\"ttdeci\">NV_FLEX_API float NvFlexGetDeviceLatency(NvFlexSolver *solver, unsigned long long *begin, unsigned long long *end, unsigned long long *frequency)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_ab136ae1511a39ef570c010f321eff206\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#ab136ae1511a39ef570c010f321eff206\">NvFlexParams::anisotropyMin</a></div><div class=\"ttdeci\">float anisotropyMin</div><div class=\"ttdoc\">Clamp the anisotropy scale to this fraction of the radius. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:130</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_afc5d58e7f591213c3fe1c31b4d440eb6\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#afc5d58e7f591213c3fe1c31b4d440eb6\">NvFlexTimers::applyDeltas</a></div><div class=\"ttdeci\">float applyDeltas</div><div class=\"ttdoc\">Time spent adding position deltas to particles. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:218</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a0a6936f3cb0544ad624f1dea6b7eb50c\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a0a6936f3cb0544ad624f1dea6b7eb50c\">NvFlexSDFGeometry::field</a></div><div class=\"ttdeci\">NvFlexDistanceFieldId field</div><div class=\"ttdoc\">A signed distance field pointer created by NvFlexCreateDistanceField() </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:935</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a49f7117a457a716e7790904209f68707\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a49f7117a457a716e7790904209f68707\">NvFlexTimers::calculateDensity</a></div><div class=\"ttdeci\">float calculateDensity</div><div class=\"ttdoc\">Time spent calculating fluid density. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:211</div></div>\n<div class=\"ttc\" id=\"struct_nv_flex_solver_callback_html_a2878301f697313b3ef3ad1bc2410c915\"><div class=\"ttname\"><a href=\"struct_nv_flex_solver_callback.html#a2878301f697313b3ef3ad1bc2410c915\">NvFlexSolverCallback::userData</a></div><div class=\"ttdeci\">void * userData</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:288</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a0506ae712f846087b8647ea389ac26baa1724c140b583fbf2c11c14a24dd3764a\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26baa1724c140b583fbf2c11c14a24dd3764a\">eNvFlexShapeCapsule</a></div><div class=\"ttdoc\">A capsule shape, see FlexCapsuleGeometry. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:955</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_afdda5a5210938a1e8a7c3a8218ad468e\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#afdda5a5210938a1e8a7c3a8218ad468e\">NvFlexCreateTriangleMesh</a></div><div class=\"ttdeci\">NV_FLEX_API NvFlexTriangleMeshId NvFlexCreateTriangleMesh(NvFlexLibrary *lib)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_ad53909027df03c6a352746d8ddc088ef\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#ad53909027df03c6a352746d8ddc088ef\">NvFlexGetSolvers</a></div><div class=\"ttdeci\">NV_FLEX_API int NvFlexGetSolvers(NvFlexLibrary *lib, NvFlexSolver **solvers, int n)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a0999d825c8760e19ba4c980d2eb097ac\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a0999d825c8760e19ba4c980d2eb097ac\">NvFlexSolverDesc::featureMode</a></div><div class=\"ttdeci\">NvFlexFeatureMode featureMode</div><div class=\"ttdoc\">Control which features are enabled. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:365</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_aaf59e45ada57c7f958a8030099cbe211\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#aaf59e45ada57c7f958a8030099cbe211\">NvFlexShutdown</a></div><div class=\"ttdeci\">NV_FLEX_API void NvFlexShutdown(NvFlexLibrary *lib)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a3974e1e608d9f532d5520dc158b47903\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a3974e1e608d9f532d5520dc158b47903\">NvFlexSolverCallbackParams::solver</a></div><div class=\"ttdeci\">NvFlexSolver * solver</div><div class=\"ttdoc\">Pointer to the solver that the callback is registered to. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:268</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a5ad2a7745fcb4d4afd5b5f1bda074644a1728772beb1746ace4c549b2ed8f1d74\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a1728772beb1746ace4c549b2ed8f1d74\">eNvFlexPhaseFluid</a></div><div class=\"ttdoc\">If set this particle will generate fluid density constraints for its overlapping neighbors. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:168</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_aee5c235d5fab40831cf339680aa25560\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#aee5c235d5fab40831cf339680aa25560\">NvFlexFeatureMode</a></div><div class=\"ttdeci\">NvFlexFeatureMode</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:353</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a554d54b930dad17e638ddd30c6dac46f\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a554d54b930dad17e638ddd30c6dac46f\">NvFlexGetDistanceFields</a></div><div class=\"ttdeci\">NV_FLEX_API int NvFlexGetDistanceFields(NvFlexLibrary *lib, NvFlexDistanceFieldId *sdfs, int n)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a5ad2a7745fcb4d4afd5b5f1bda074644\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644\">NvFlexPhase</a></div><div class=\"ttdeci\">NvFlexPhase</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:160</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_ad607e7916e5d76b384a61f1c1f94ab32\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#ad607e7916e5d76b384a61f1c1f94ab32\">NvFlexUnregisterD3DBuffer</a></div><div class=\"ttdeci\">NV_FLEX_API void NvFlexUnregisterD3DBuffer(NvFlexBuffer *buf)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a533a78227b462a268c905f9c307c4bd6\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a533a78227b462a268c905f9c307c4bd6\">NvFlexParams::sleepThreshold</a></div><div class=\"ttdeci\">float sleepThreshold</div><div class=\"ttdoc\">Particles with a velocity magnitude < this threshold will be considered fixed. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:110</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_ac25ec5de38c177db51198bb620644d36\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#ac25ec5de38c177db51198bb620644d36\">NvFlexGetVersion</a></div><div class=\"ttdeci\">NV_FLEX_API int NvFlexGetVersion()</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_ab1924ab797971290931b32258b847767\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#ab1924ab797971290931b32258b847767\">NvFlexGetTriangleMeshes</a></div><div class=\"ttdeci\">NV_FLEX_API int NvFlexGetTriangleMeshes(NvFlexLibrary *lib, NvFlexTriangleMeshId *meshes, int n)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a5e37444b8c96e0880a428d9ea58dbf54\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a5e37444b8c96e0880a428d9ea58dbf54\">NvFlexParams::anisotropyMax</a></div><div class=\"ttdeci\">float anisotropyMax</div><div class=\"ttdoc\">Clamp the anisotropy scale to this fraction of the radius. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:131</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_afc20d27121f49b61be9cc6bd4c25f547\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#afc20d27121f49b61be9cc6bd4c25f547\">NvFlexTimers::collideTriangles</a></div><div class=\"ttdeci\">float collideTriangles</div><div class=\"ttdoc\">Time spent colliding triangle shapes. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:209</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_ab1efb6764f65900cb09f0188ad6da08a\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#ab1efb6764f65900cb09f0188ad6da08a\">NvFlexGetDetailTimers</a></div><div class=\"ttdeci\">NV_FLEX_API int NvFlexGetDetailTimers(NvFlexSolver *solver, NvFlexDetailTimer **timers)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_ad56e661161763579afb375b3841eb5ff\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#ad56e661161763579afb375b3841eb5ff\">NvFlexGetConvexMeshBounds</a></div><div class=\"ttdeci\">NV_FLEX_API void NvFlexGetConvexMeshBounds(NvFlexLibrary *lib, NvFlexConvexMeshId mesh, float *lower, float *upper)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a31c31ea4f96cd4fdadc6b7317691304cadc6740cf6d829fba159d92e43ffb5992\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a31c31ea4f96cd4fdadc6b7317691304cadc6740cf6d829fba159d92e43ffb5992\">eNvFlexShapeFlagDynamic</a></div><div class=\"ttdoc\">Indicates the shape is dynamic and should have lower priority over static collision shapes...</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:965</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a6541b33eaca7b2323e73b30cea34d16ca1bd450ab65ccc06288fae95e23d5e6f1\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a6541b33eaca7b2323e73b30cea34d16ca1bd450ab65ccc06288fae95e23d5e6f1\">eNvFlexMapDoNotWait</a></div><div class=\"ttdoc\">Calling thread will check if buffer is ready for access, if not ready then the method will return NUL...</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:70</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a615e8070212c24a70e7a849120c13353\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a615e8070212c24a70e7a849120c13353\">NvFlexMakePhaseWithChannels</a></div><div class=\"ttdeci\">NV_FLEX_API int NvFlexMakePhaseWithChannels(int group, int particleFlags, int shapeChannels)</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:189</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_ab43db5f28808f8038cfc9330d4b47d57\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#ab43db5f28808f8038cfc9330d4b47d57\">NvFlexMakePhase</a></div><div class=\"ttdeci\">NV_FLEX_API int NvFlexMakePhase(int group, int particleFlags)</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:194</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_adc0c97635cdbb3da7b571574a3b38990\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#adc0c97635cdbb3da7b571574a3b38990\">NvFlexSetActive</a></div><div class=\"ttdeci\">NV_FLEX_API void NvFlexSetActive(NvFlexSolver *solver, NvFlexBuffer *indices, const NvFlexCopyDesc *desc)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_ab98a2aba477ab4d4178bf677852bf544\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#ab98a2aba477ab4d4178bf677852bf544\">NvFlexParams::shockPropagation</a></div><div class=\"ttdeci\">float shockPropagation</div><div class=\"ttdoc\">Artificially decrease the mass of particles based on height from a fixed reference point...</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:115</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a4c451971259524c6878b6b1ed4023ada\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a4c451971259524c6878b6b1ed4023ada\">NvFlexGetDeviceName</a></div><div class=\"ttdeci\">NV_FLEX_API const char * NvFlexGetDeviceName(NvFlexLibrary *lib)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_ac85b6372e5c7bfc508ecb7b8c59c72a0\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#ac85b6372e5c7bfc508ecb7b8c59c72a0\">NvFlexDestroyConvexMesh</a></div><div class=\"ttdeci\">NV_FLEX_API void NvFlexDestroyConvexMesh(NvFlexLibrary *lib, NvFlexConvexMeshId convex)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_aaa36ba5ee44e34e762167fb0b8b3292e\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#aaa36ba5ee44e34e762167fb0b8b3292e\">NvFlexTimers::collideFields</a></div><div class=\"ttdeci\">float collideFields</div><div class=\"ttdoc\">Time spent colliding signed distance field shapes. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:210</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_af9b72d2909ef335b12a46cdbd4b71f57\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#af9b72d2909ef335b12a46cdbd4b71f57\">NvFlexTimers::calculateAnisotropy</a></div><div class=\"ttdeci\">float calculateAnisotropy</div><div class=\"ttdoc\">Time spent calculating particle anisotropy for fluid. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:219</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a5ad2a7745fcb4d4afd5b5f1bda074644a0c8d08e646d2713e34d7e2dd6e7b21f2\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a0c8d08e646d2713e34d7e2dd6e7b21f2\">eNvFlexPhaseShapeChannel6</a></div><div class=\"ttdoc\">Particle will collide with shapes with channel 6 set (see NvFlexMakeShapeFlags()) ...</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:177</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_aaff62cfd50431d82af5d04a6c9ac4ffd\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#aaff62cfd50431d82af5d04a6c9ac4ffd\">NvFlexGetParticles</a></div><div class=\"ttdeci\">NV_FLEX_API void NvFlexGetParticles(NvFlexSolver *solver, NvFlexBuffer *p, const NvFlexCopyDesc *desc)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_abf304d5c1f8f041fa46a2bfb0bdf56fe\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#abf304d5c1f8f041fa46a2bfb0bdf56fe\">NvFlexInitDesc::renderContext</a></div><div class=\"ttdeci\">void * renderContext</div><div class=\"ttdoc\">Direct3D context that the app is using for rendering. In DirectX 12 this should be a ID3D12CommandQue...</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:319</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a3078976e98f370a9fbdb11db80f1f318\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a></div><div class=\"ttdeci\">struct NvFlexLibrary NvFlexLibrary</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:52</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a42ec7b30c79d4733e6a756b5d9b15ee6\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a42ec7b30c79d4733e6a756b5d9b15ee6\">NvFlexAcquireContext</a></div><div class=\"ttdeci\">NV_FLEX_API void NvFlexAcquireContext(NvFlexLibrary *lib)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a687e5ec141948f779faa9183b68cb743\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a687e5ec141948f779faa9183b68cb743\">NvFlexInit</a></div><div class=\"ttdeci\">NV_FLEX_API NvFlexLibrary * NvFlexInit(int version=NV_FLEX_VERSION, NvFlexErrorCallback errorFunc=0, NvFlexInitDesc *desc=0)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a05f92015449662f5a2f5d5e9ecdc2c6e\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a05f92015449662f5a2f5d5e9ecdc2c6e\">NvFlexParams::freeSurfaceDrag</a></div><div class=\"ttdeci\">float freeSurfaceDrag</div><div class=\"ttdoc\">Drag force applied to boundary fluid particles. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:134</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a32e8fdb39029a2564c129bd493c52058\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a32e8fdb39029a2564c129bd493c52058\">NvFlexSetNormals</a></div><div class=\"ttdeci\">NV_FLEX_API void NvFlexSetNormals(NvFlexSolver *solver, NvFlexBuffer *normals, const NvFlexCopyDesc *desc)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_ac0049037dcff7a769030acd567eac6cd\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#ac0049037dcff7a769030acd567eac6cd\">NvFlexCollisionGeometry::sdf</a></div><div class=\"ttdeci\">NvFlexSDFGeometry sdf</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:949</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a0def9c3ceff57bbae5bcec15f6d64b36\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a0def9c3ceff57bbae5bcec15f6d64b36\">NvFlexParams::maxAcceleration</a></div><div class=\"ttdeci\">float maxAcceleration</div><div class=\"ttdoc\">The magnitude of particle acceleration will be clamped to this value at the end of each step (limits ...</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:113</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_aafb92c4fa45ce9614cdfd349b3722c8a\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#aafb92c4fa45ce9614cdfd349b3722c8a\">NvFlexParams::wind</a></div><div class=\"ttdeci\">float wind[3]</div><div class=\"ttdoc\">Constant acceleration applied to particles that belong to dynamic triangles, drag needs to be > 0 for...</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:120</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a5ad2a7745fcb4d4afd5b5f1bda074644a92bbb75d47ea0058a9a89deb0abec67f\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a92bbb75d47ea0058a9a89deb0abec67f\">eNvFlexPhaseShapeChannel5</a></div><div class=\"ttdoc\">Particle will collide with shapes with channel 5 set (see NvFlexMakeShapeFlags()) ...</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:176</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a9e925acbc34675dfe247da017cbd855f\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a9e925acbc34675dfe247da017cbd855f\">NvFlexCreateSolver</a></div><div class=\"ttdeci\">NV_FLEX_API NvFlexSolver * NvFlexCreateSolver(NvFlexLibrary *lib, const NvFlexSolverDesc *desc)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a584ffb275b9986fd5444ed1a7ea247d9\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a584ffb275b9986fd5444ed1a7ea247d9\">NvFlexUpdateDistanceField</a></div><div class=\"ttdeci\">NV_FLEX_API void NvFlexUpdateDistanceField(NvFlexLibrary *lib, NvFlexDistanceFieldId sdf, int dimx, int dimy, int dimz, NvFlexBuffer *field)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_struct_nv_flex_timers\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#struct_nv_flex_timers\">NvFlexTimers</a></div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:200</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a5628f890f4ae070e405feaf1f81a7b85\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a5628f890f4ae070e405feaf1f81a7b85\">NvFlexParams::surfaceTension</a></div><div class=\"ttdeci\">float surfaceTension</div><div class=\"ttdoc\">Controls how strongly particles attempt to minimize surface area, default: 0.0, range: [0...</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:126</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a5ad2a7745fcb4d4afd5b5f1bda074644a66aa70953a97744621e2afa41d0e32d2\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a66aa70953a97744621e2afa41d0e32d2\">eNvFlexPhaseShapeChannel0</a></div><div class=\"ttdoc\">Particle will collide with shapes with channel 0 set (see NvFlexMakeShapeFlags()) ...</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:171</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a843360ebf23cd00e5eff72d19e796dd9\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a843360ebf23cd00e5eff72d19e796dd9\">NvFlexSolverCallbackParams::dt</a></div><div class=\"ttdeci\">float dt</div><div class=\"ttdoc\">The per-update time-step, this is the value passed to NvFlexUpdateSolver() </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:277</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_ad019ad1901bc33d43e3a60df0dfe9b09\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#ad019ad1901bc33d43e3a60df0dfe9b09\">NvFlexParams::fluidRestDistance</a></div><div class=\"ttdeci\">float fluidRestDistance</div><div class=\"ttdoc\">The distance fluid particles are spaced at the rest density, must be in the range (0...</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:102</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a6071050991cf71a8d9ff28ea968479af\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a6071050991cf71a8d9ff28ea968479af\">NvFlexTimers::reorder</a></div><div class=\"ttdeci\">float reorder</div><div class=\"ttdoc\">Time spent reordering particles. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:206</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a56e990c5bfbc89677988cbf2471c0ade\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a56e990c5bfbc89677988cbf2471c0ade\">NvFlexDistanceFieldId</a></div><div class=\"ttdeci\">unsigned int NvFlexDistanceFieldId</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:735</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a0506ae712f846087b8647ea389ac26baa315488da382a5e9794c83358385f7ae1\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26baa315488da382a5e9794c83358385f7ae1\">eNvFlexShapeTriangleMesh</a></div><div class=\"ttdoc\">A triangle mesh shape, see FlexTriangleMeshGeometry. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:958</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a5ad2a7745fcb4d4afd5b5f1bda074644a76a62d3a5df428f18e01f8b37573a7b1\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a76a62d3a5df428f18e01f8b37573a7b1\">eNvFlexPhaseSelfCollideFilter</a></div><div class=\"ttdoc\">If set this particle will ignore collisions with particles closer than the radius in the rest pose...</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:167</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_ab16b6d2e11e0ab417ee6c4cf16f0a27d\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#ab16b6d2e11e0ab417ee6c4cf16f0a27d\">NvFlexGetTimers</a></div><div class=\"ttdeci\">NV_FLEX_API void NvFlexGetTimers(NvFlexSolver *solver, NvFlexTimers *timers)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_abdc984644770fec15d7af740c9730186\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#abdc984644770fec15d7af740c9730186\">NvFlexConvexMeshGeometry::mesh</a></div><div class=\"ttdeci\">NvFlexConvexMeshId mesh</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:916</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_ab5cc56e228374b1da0910356b3172b4e\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#ab5cc56e228374b1da0910356b3172b4e\">NvFlexGetRigids</a></div><div class=\"ttdeci\">NV_FLEX_API void NvFlexGetRigids(NvFlexSolver *solver, NvFlexBuffer *offsets, NvFlexBuffer *indices, NvFlexBuffer *restPositions, NvFlexBuffer *restNormals, NvFlexBuffer *stiffness, NvFlexBuffer *thresholds, NvFlexBuffer *creeps, NvFlexBuffer *rotations, NvFlexBuffer *translations)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_ae701fdcc0e7bf26c1dfc54d400ffb3d2\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#ae701fdcc0e7bf26c1dfc54d400ffb3d2\">NvFlexCollisionGeometry::convexMesh</a></div><div class=\"ttdeci\">NvFlexConvexMeshGeometry convexMesh</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:947</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a4f80c8bcfa6de99a52983adb13d80db9\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9\">NvFlexSolverCallbackStage</a></div><div class=\"ttdeci\">NvFlexSolverCallbackStage</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:243</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_aeff62427426510eeb1cf5625e14ff585\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#aeff62427426510eeb1cf5625e14ff585\">NvFlexParams::dissipation</a></div><div class=\"ttdeci\">float dissipation</div><div class=\"ttdoc\">Damps particle velocity based on how many particle contacts it has. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:116</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a0506ae712f846087b8647ea389ac26ba\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26ba\">NvFlexCollisionShapeType</a></div><div class=\"ttdeci\">NvFlexCollisionShapeType</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:952</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_ab4435b3857752360375fe52fc992cfcaa77b51759e33d60b2caf327bb4835351e\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#ab4435b3857752360375fe52fc992cfcaa77b51759e33d60b2caf327bb4835351e\">eNvFlexLogDebug</a></div><div class=\"ttdoc\">Used only in debug version of dll. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:236</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_aa392608715b2304f06606d498bd69312\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#aa392608715b2304f06606d498bd69312\">NvFlexGetConvexMeshes</a></div><div class=\"ttdeci\">NV_FLEX_API int NvFlexGetConvexMeshes(NvFlexLibrary *lib, NvFlexConvexMeshId *meshes, int n)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a9b2d3dc5ac42011aeec4e13be2e14252ad0c27f7aafdc4fe569722025c8eb2178\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a9b2d3dc5ac42011aeec4e13be2e14252ad0c27f7aafdc4fe569722025c8eb2178\">eNvFlexCUDA</a></div><div class=\"ttdoc\">Use CUDA compute for Flex, the application must link against the CUDA libraries. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:306</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_ab452c355f92dda050d4b4dafb8e71b03\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#ab452c355f92dda050d4b4dafb8e71b03\">NvFlexUpdateConvexMesh</a></div><div class=\"ttdeci\">NV_FLEX_API void NvFlexUpdateConvexMesh(NvFlexLibrary *lib, NvFlexConvexMeshId convex, NvFlexBuffer *planes, int numPlanes, const float *lower, const float *upper)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_ac2f8dff9857a86683aa6e55c058888d7\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#ac2f8dff9857a86683aa6e55c058888d7\">NvFlexParams::relaxationMode</a></div><div class=\"ttdeci\">NvFlexRelaxationMode relaxationMode</div><div class=\"ttdoc\">How the relaxation is applied inside the solver. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:152</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_af9bb710afb22ec5ed50679aef8717777\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#af9bb710afb22ec5ed50679aef8717777\">NvFlexParams::lift</a></div><div class=\"ttdeci\">float lift</div><div class=\"ttdoc\">Lift force applied to particles belonging to dynamic triangles, proportional to velocity^2*area in th...</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:122</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a2ac0a898a565a2cdf13b80acd4a3555c\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a2ac0a898a565a2cdf13b80acd4a3555c\">NvFlexGetDeviceAndContext</a></div><div class=\"ttdeci\">NV_FLEX_API void NvFlexGetDeviceAndContext(NvFlexLibrary *lib, void **device, void **context)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a7e760844341b78a547ca4e29abf48806\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a7e760844341b78a547ca4e29abf48806\">NvFlexInitDesc::renderDevice</a></div><div class=\"ttdeci\">void * renderDevice</div><div class=\"ttdoc\">Direct3D device to use for simulation, if none is specified a new device and context will be created...</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:318</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a0506ae712f846087b8647ea389ac26baab17c8dd4f9500016b77a9b49de3c48e7\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26baab17c8dd4f9500016b77a9b49de3c48e7\">eNvFlexShapeBox</a></div><div class=\"ttdoc\">A box shape, see FlexBoxGeometry. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:956</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a6198445df7f341ec75f37e1dfb44830c\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a6198445df7f341ec75f37e1dfb44830c\">NvFlexParams::damping</a></div><div class=\"ttdeci\">float damping</div><div class=\"ttdoc\">Viscous drag force, applies a force proportional, and opposite to the particle velocity. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:117</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_aa03d94be697cdc3aaa56e469d87255a4\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#aa03d94be697cdc3aaa56e469d87255a4\">NvFlexSetDynamicTriangles</a></div><div class=\"ttdeci\">NV_FLEX_API void NvFlexSetDynamicTriangles(NvFlexSolver *solver, NvFlexBuffer *indices, NvFlexBuffer *normals, int numTris)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a31c31ea4f96cd4fdadc6b7317691304c\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a31c31ea4f96cd4fdadc6b7317691304c\">NvFlexCollisionShapeFlags</a></div><div class=\"ttdeci\">NvFlexCollisionShapeFlags</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:962</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_ab4f2eb16c8aba6371fbae51a991eaaa5\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#ab4f2eb16c8aba6371fbae51a991eaaa5\">NvFlexParams::numPlanes</a></div><div class=\"ttdeci\">int numPlanes</div><div class=\"ttdoc\">Num collision planes. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:150</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_ad48f83b8442323687d2268206e913496\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#ad48f83b8442323687d2268206e913496\">NvFlexAllocBuffer</a></div><div class=\"ttdeci\">NV_FLEX_API NvFlexBuffer * NvFlexAllocBuffer(NvFlexLibrary *lib, int elementCount, int elementByteStride, NvFlexBufferType type)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_struct_nv_flex_params\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#struct_nv_flex_params\">NvFlexParams</a></div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:95</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_ae4203fb9cf4772c3186f96cc2d9f6ea8\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#ae4203fb9cf4772c3186f96cc2d9f6ea8\">NvFlexTimers::collideShapes</a></div><div class=\"ttdeci\">float collideShapes</div><div class=\"ttdoc\">Time spent colliding convex shapes. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:208</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_af7a56fc54644e7020e105f2ff41dfb60\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#af7a56fc54644e7020e105f2ff41dfb60\">NvFlexParams::particleFriction</a></div><div class=\"ttdeci\">float particleFriction</div><div class=\"ttdoc\">Coefficient of friction used when colliding particles. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:107</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_ac75370f005fd453fe8a324fe62be1b5c\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#ac75370f005fd453fe8a324fe62be1b5c\">NvFlexUpdateSolver</a></div><div class=\"ttdeci\">NV_FLEX_API void NvFlexUpdateSolver(NvFlexSolver *solver, float dt, int substeps, bool enableTimers)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a98b4df3721709c862ef5d09edcc6d4c3\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a98b4df3721709c862ef5d09edcc6d4c3\">NvFlexTimers::createGrid</a></div><div class=\"ttdeci\">float createGrid</div><div class=\"ttdoc\">Time spent creating grid. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:205</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a5ad2a7745fcb4d4afd5b5f1bda074644ad108f6ebf28346813cfd3602d984bb32\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644ad108f6ebf28346813cfd3602d984bb32\">eNvFlexPhaseGroupMask</a></div><div class=\"ttdoc\">Bits [ 0, 19] represent the particle group for controlling collisions. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:162</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_ae2e480822cc06ec249ee2557f6cc8ee1\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#ae2e480822cc06ec249ee2557f6cc8ee1\">NvFlexParams::buoyancy</a></div><div class=\"ttdeci\">float buoyancy</div><div class=\"ttdoc\">Gravity is scaled by this value for fluid particles. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:135</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_ab4435b3857752360375fe52fc992cfcaa8feff72c0b0391e8adf3ddb6c39ef10e\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#ab4435b3857752360375fe52fc992cfcaa8feff72c0b0391e8adf3ddb6c39ef10e\">eNvFlexLogAll</a></div><div class=\"ttdoc\">All log types. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:237</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_aea4e7117722df53dfe44c676496117fa\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#aea4e7117722df53dfe44c676496117fa\">NvFlexSetShapes</a></div><div class=\"ttdeci\">NV_FLEX_API void NvFlexSetShapes(NvFlexSolver *solver, NvFlexBuffer *geometry, NvFlexBuffer *shapePositions, NvFlexBuffer *shapeRotations, NvFlexBuffer *shapePrevPositions, NvFlexBuffer *shapePrevRotations, NvFlexBuffer *shapeFlags, int numShapes)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a9b2d3dc5ac42011aeec4e13be2e14252a15e78a7baf13cc7fd73f255ac84f0943\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a9b2d3dc5ac42011aeec4e13be2e14252a15e78a7baf13cc7fd73f255ac84f0943\">eNvFlexD3D12</a></div><div class=\"ttdoc\">Use DirectX 12 compute for Flex, the application must link against the D3D libraries. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:308</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_ab6e2aa06b69e92cbd3b2bca19f18e794\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#ab6e2aa06b69e92cbd3b2bca19f18e794\">NvFlexTriangleMeshGeometry::scale</a></div><div class=\"ttdeci\">float scale[3]</div><div class=\"ttdoc\">The scale of the object from local space to world space. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:924</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_abe52b62e7af361f387d67414b9e2cf9b\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#abe52b62e7af361f387d67414b9e2cf9b\">NvFlexTimers::solveDensities</a></div><div class=\"ttdeci\">float solveDensities</div><div class=\"ttdoc\">Time spent solving density constraints. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:212</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a96a771dd328d019e6164e5f23d29ffcb\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a96a771dd328d019e6164e5f23d29ffcb\">NvFlexGetSmoothParticles</a></div><div class=\"ttdeci\">NV_FLEX_API void NvFlexGetSmoothParticles(NvFlexSolver *solver, NvFlexBuffer *p, const NvFlexCopyDesc *desc)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_aef768edc8e4df1a78a94a6c971541550\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#aef768edc8e4df1a78a94a6c971541550\">NvFlexGetAnisotropy</a></div><div class=\"ttdeci\">NV_FLEX_API void NvFlexGetAnisotropy(NvFlexSolver *solver, NvFlexBuffer *q1, NvFlexBuffer *q2, NvFlexBuffer *q3, const NvFlexCopyDesc *desc)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a4cb4462803ebff105d151fd45b4efad6\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a4cb4462803ebff105d151fd45b4efad6\">NvFlexDestroyTriangleMesh</a></div><div class=\"ttdeci\">NV_FLEX_API void NvFlexDestroyTriangleMesh(NvFlexLibrary *lib, NvFlexTriangleMeshId mesh)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a482a7c3b197c4df656e9509fbd04032c\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a482a7c3b197c4df656e9509fbd04032c\">NvFlexParams::gravity</a></div><div class=\"ttdeci\">float gravity[3]</div><div class=\"ttdoc\">Constant acceleration applied to all particles. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:99</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a4f80c8bcfa6de99a52983adb13d80db9ab75a912c3990b0fbd6b06a6741a20e69\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9ab75a912c3990b0fbd6b06a6741a20e69\">eNvFlexStageIterationEnd</a></div><div class=\"ttdoc\">Called at the end of each constraint iteration. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:246</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_ab4435b3857752360375fe52fc992cfcaa8aed6496f033604148138299fa075edd\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#ab4435b3857752360375fe52fc992cfcaa8aed6496f033604148138299fa075edd\">eNvFlexLogError</a></div><div class=\"ttdoc\">Error messages. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:233</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_ab559759820a4322aff061745ef26c867\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#ab559759820a4322aff061745ef26c867\">NvFlexFreeBuffer</a></div><div class=\"ttdeci\">NV_FLEX_API void NvFlexFreeBuffer(NvFlexBuffer *buf)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a5ad2a7745fcb4d4afd5b5f1bda074644ae4ea43366942f719f40e8526ad21a038\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644ae4ea43366942f719f40e8526ad21a038\">eNvFlexPhaseShapeChannelMask</a></div><div class=\"ttdoc\">Bits [24, 30] hold flags representing what shape collision channels particles will collide with...</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:164</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a75eade1512d023cb19da5b7ebbad10f3\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a75eade1512d023cb19da5b7ebbad10f3\">NvFlexTimers::solveInflatables</a></div><div class=\"ttdeci\">float solveInflatables</div><div class=\"ttdoc\">Time spent solving pressure constraints. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:217</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a4f80c8bcfa6de99a52983adb13d80db9a79ce9005dbc92198a1f180c6afde6a44\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9a79ce9005dbc92198a1f180c6afde6a44\">eNvFlexStageSubstepBegin</a></div><div class=\"ttdoc\">Called at the beginning of each substep after the prediction step has been completed. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:247</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_aee5c235d5fab40831cf339680aa25560a421fe1e1bb00fc41e9b32208cd9155f5\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#aee5c235d5fab40831cf339680aa25560a421fe1e1bb00fc41e9b32208cd9155f5\">eNvFlexFeatureModeSimpleSolids</a></div><div class=\"ttdoc\">Simple per-particle collision (no per-particle SDF normals, no fluids) </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:356</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_struct_nv_flex_init_desc\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#struct_nv_flex_init_desc\">NvFlexInitDesc</a></div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:314</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a46f5d35902f7da40628247175a174f3ba33711a4b466d606d68dee43918f819db\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a46f5d35902f7da40628247175a174f3ba33711a4b466d606d68dee43918f819db\">eNvFlexRelaxationGlobal</a></div><div class=\"ttdoc\">The relaxation factor is a fixed multiplier on each constraint&#39;s position delta. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:87</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_afbcbff4e4865105514c194398ab3a7b0\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#afbcbff4e4865105514c194398ab3a7b0\">NvFlexGetVelocities</a></div><div class=\"ttdeci\">NV_FLEX_API void NvFlexGetVelocities(NvFlexSolver *solver, NvFlexBuffer *v, const NvFlexCopyDesc *desc)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_struct_nv_flex_capsule_geometry\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#struct_nv_flex_capsule_geometry\">NvFlexCapsuleGeometry</a></div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:896</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a3c4d2aa395ff8d0f70a6380448943be2\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a3c4d2aa395ff8d0f70a6380448943be2\">NvFlexTimers::total</a></div><div class=\"ttdeci\">float total</div><div class=\"ttdoc\">Sum of all timers above. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:225</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a5b9af9cf4d889b4772cb61cefda92a87\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a5b9af9cf4d889b4772cb61cefda92a87\">NvFlexSolverCallbackParams::userData</a></div><div class=\"ttdeci\">void * userData</div><div class=\"ttdoc\">Pointer to the user data provided to NvFlexRegisterSolverCallback() </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:269</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a3a20cc2539983a009caaf77ec9ceab82\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a3a20cc2539983a009caaf77ec9ceab82\">NvFlexGetDensities</a></div><div class=\"ttdeci\">NV_FLEX_API void NvFlexGetDensities(NvFlexSolver *solver, NvFlexBuffer *densities, const NvFlexCopyDesc *desc)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a1241ff3522eafac4b402370a7a6525d8\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a1241ff3522eafac4b402370a7a6525d8\">NvFlexCapsuleGeometry::radius</a></div><div class=\"ttdeci\">float radius</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:898</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_abdfd0834422dd99154a27962614525e5\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#abdfd0834422dd99154a27962614525e5\">NvFlexGetDynamicTriangles</a></div><div class=\"ttdeci\">NV_FLEX_API void NvFlexGetDynamicTriangles(NvFlexSolver *solver, NvFlexBuffer *indices, NvFlexBuffer *normals, int numTris)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_ad6ee1e23e0c49aad63df8f605182de3a\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#ad6ee1e23e0c49aad63df8f605182de3a\">NvFlexMakeShapeFlags</a></div><div class=\"ttdeci\">NV_FLEX_API int NvFlexMakeShapeFlags(NvFlexCollisionShapeType type, bool dynamic)</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:983</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_aab83daf46e5a9428a0ad76fb75e8ec7e\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#aab83daf46e5a9428a0ad76fb75e8ec7e\">NvFlexRegisterOGLBuffer</a></div><div class=\"ttdeci\">NV_FLEX_API NvFlexBuffer * NvFlexRegisterOGLBuffer(NvFlexLibrary *lib, int buf, int elementCount, int elementByteStride)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_struct_nv_flex_detail_timer\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#struct_nv_flex_detail_timer\">NvFlexDetailTimer</a></div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:1182</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a5ad2a7745fcb4d4afd5b5f1bda074644aa3a4fd0d5930b31199334e500ac2d7c8\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644aa3a4fd0d5930b31199334e500ac2d7c8\">eNvFlexPhaseShapeChannel2</a></div><div class=\"ttdoc\">Particle will collide with shapes with channel 2 set (see NvFlexMakeShapeFlags()) ...</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:173</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a8a1b3c24aa73606bcd47a72473db9629\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a8a1b3c24aa73606bcd47a72473db9629\">NvFlexParams::relaxationFactor</a></div><div class=\"ttdeci\">float relaxationFactor</div><div class=\"ttdoc\">Control the convergence rate of the parallel solver, default: 1, values greater than 1 may lead to in...</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:153</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_ae67c0cab2ecee8eb9485a26ef0fad6a9\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#ae67c0cab2ecee8eb9485a26ef0fad6a9\">NvFlexSetSprings</a></div><div class=\"ttdeci\">NV_FLEX_API void NvFlexSetSprings(NvFlexSolver *solver, NvFlexBuffer *indices, NvFlexBuffer *restLengths, NvFlexBuffer *stiffness, int numSprings)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a9d825db54bc9a0bca998b3654db3b20e\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a9d825db54bc9a0bca998b3654db3b20e\">NvFlexTimers::finalize</a></div><div class=\"ttdeci\">float finalize</div><div class=\"ttdoc\">Time spent finalizing state. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:223</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a9b65813d2a2d3f99db162d39a62481f8\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a9b65813d2a2d3f99db162d39a62481f8\">NvFlexSolverCallbackParams::sortedToOriginalMap</a></div><div class=\"ttdeci\">const int * sortedToOriginalMap</div><div class=\"ttdoc\">Device pointer that maps the original particle index to the index in the callback data structure...</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:280</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a9b2d3dc5ac42011aeec4e13be2e14252\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a9b2d3dc5ac42011aeec4e13be2e14252\">NvFlexComputeType</a></div><div class=\"ttdeci\">NvFlexComputeType</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:304</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_abbee38b5413bbfd1db914c66fcdfc616\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#abbee38b5413bbfd1db914c66fcdfc616\">NvFlexGetNeighbors</a></div><div class=\"ttdeci\">NV_FLEX_API void NvFlexGetNeighbors(NvFlexSolver *solver, NvFlexBuffer *neighbors, NvFlexBuffer *counts, NvFlexBuffer *apiToInternal, NvFlexBuffer *internalToApi)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a27a185172ad1951d40c476ade8307068\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a27a185172ad1951d40c476ade8307068\">NvFlexParams::dynamicFriction</a></div><div class=\"ttdeci\">float dynamicFriction</div><div class=\"ttdoc\">Coefficient of friction used when colliding against shapes. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:105</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_struct_nv_flex_s_d_f_geometry\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#struct_nv_flex_s_d_f_geometry\">NvFlexSDFGeometry</a></div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:932</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a800620cc4888bbe5696c5f0e19b22bb9\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a800620cc4888bbe5696c5f0e19b22bb9\">NvFlexConvexMeshGeometry::scale</a></div><div class=\"ttdeci\">float scale[3]</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:915</div></div>\n<div class=\"ttc\" id=\"struct_nv_flex_solver_callback_html\"><div class=\"ttname\"><a href=\"struct_nv_flex_solver_callback.html\">NvFlexSolverCallback</a></div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:285</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a5be673031b100c3861fd9eb824fcf00f\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a5be673031b100c3861fd9eb824fcf00f\">NvFlexParams::diffuseBuoyancy</a></div><div class=\"ttdeci\">float diffuseBuoyancy</div><div class=\"ttdoc\">Scales force opposing gravity that diffuse particles receive. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:139</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a2f85189cbc3014b73164cf8c4eb87e0a\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a2f85189cbc3014b73164cf8c4eb87e0a\">NvFlexTimers::updateBounds</a></div><div class=\"ttdeci\">float updateBounds</div><div class=\"ttdoc\">Time spent updating particle bounds. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:224</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a3ddbb30a2fde4a2e9ccec7854300b1d4\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a3ddbb30a2fde4a2e9ccec7854300b1d4\">NvFlexDetailTimer::name</a></div><div class=\"ttdeci\">char * name</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:1184</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_ab7c54d6c0b3d3595780e5179bf62ebc4\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#ab7c54d6c0b3d3595780e5179bf62ebc4\">NvFlexParams::solidRestDistance</a></div><div class=\"ttdeci\">float solidRestDistance</div><div class=\"ttdoc\">The distance non-fluid particles attempt to maintain from each other, must be in the range (0...</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:101</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a69a33d464c002a8916a5925c6ef32ae6\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a69a33d464c002a8916a5925c6ef32ae6\">NvFlexSetSolverDescDefaults</a></div><div class=\"ttdeci\">NV_FLEX_API void NvFlexSetSolverDescDefaults(NvFlexSolverDesc *desc)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a3f93fba688338576ff3258b034525dc5\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a3f93fba688338576ff3258b034525dc5\">NvFlexParams::solidPressure</a></div><div class=\"ttdeci\">float solidPressure</div><div class=\"ttdoc\">Add pressure from solid surfaces to particles. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:133</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a4d10188e917ae045e0e903f3db1c638d\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a4d10188e917ae045e0e903f3db1c638d\">NvFlexTimers::solveVelocities</a></div><div class=\"ttdeci\">float solveVelocities</div><div class=\"ttdoc\">Time spent solving velocity constraints. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:213</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a4f80c8bcfa6de99a52983adb13d80db9a1f2e7acff9b3b74922f90240d29fd1b3\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9a1f2e7acff9b3b74922f90240d29fd1b3\">eNvFlexStageCount</a></div><div class=\"ttdoc\">Number of stages. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:250</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_afc306cb48c313ee518461d60c1014485\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#afc306cb48c313ee518461d60c1014485\">NvFlexParams::restitution</a></div><div class=\"ttdeci\">float restitution</div><div class=\"ttdoc\">Coefficient of restitution used when colliding against shapes, particle collisions are always inelast...</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:108</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_struct_nv_flex_triangle_mesh_geometry\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#struct_nv_flex_triangle_mesh_geometry\">NvFlexTriangleMeshGeometry</a></div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:922</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a572c9bf93128466e27d57f225f4d0188\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a572c9bf93128466e27d57f225f4d0188\">NvFlexParams::numIterations</a></div><div class=\"ttdeci\">int numIterations</div><div class=\"ttdoc\">Number of solver iterations to perform per-substep. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:97</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_ae6671f352bd77e296609d0bc2a57fd11\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#ae6671f352bd77e296609d0bc2a57fd11\">NvFlexRestoreContext</a></div><div class=\"ttdeci\">NV_FLEX_API void NvFlexRestoreContext(NvFlexLibrary *lib)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a581b458848039220203547af53de128f\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a581b458848039220203547af53de128f\">NvFlexGetParams</a></div><div class=\"ttdeci\">NV_FLEX_API void NvFlexGetParams(NvFlexSolver *solver, NvFlexParams *params)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a608af97e77a912e959b0e825082a9cd6\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a608af97e77a912e959b0e825082a9cd6\">NvFlexParams::anisotropyScale</a></div><div class=\"ttdeci\">float anisotropyScale</div><div class=\"ttdoc\">Control how much anisotropy is present in resulting ellipsoids for rendering, if zero then anisotropy...</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:129</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_ae763dd9bfcfa4092c0165a506e32e18b\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#ae763dd9bfcfa4092c0165a506e32e18b\">NvFlexParams::vorticityConfinement</a></div><div class=\"ttdeci\">float vorticityConfinement</div><div class=\"ttdoc\">Increases vorticity by applying rotational forces to particles. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:128</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a469950744e0b7222969762a89b992255\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a469950744e0b7222969762a89b992255\">NvFlexParams::diffuseLifetime</a></div><div class=\"ttdeci\">float diffuseLifetime</div><div class=\"ttdoc\">Time in seconds that a diffuse particle will live for after being spawned, particles will be spawned ...</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:142</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a4bf0ccff128c165560dba52afb748d7e\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a4bf0ccff128c165560dba52afb748d7e\">NvFlexParams::diffuseDrag</a></div><div class=\"ttdeci\">float diffuseDrag</div><div class=\"ttdoc\">Scales force diffuse particles receive in direction of neighbor fluid particles. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:140</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_afd6aff58269d6c359df2453c96397840\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#afd6aff58269d6c359df2453c96397840\">NvFlexGetSolverDesc</a></div><div class=\"ttdeci\">NV_FLEX_API void NvFlexGetSolverDesc(NvFlexSolver *solver, NvFlexSolverDesc *desc)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_aeecd11525503649b579ae262b671fbc8\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#aeecd11525503649b579ae262b671fbc8\">NvFlexParams::particleCollisionMargin</a></div><div class=\"ttdeci\">float particleCollisionMargin</div><div class=\"ttdoc\">Increases the radius used during neighbor finding, this is useful if particles are expected to move s...</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:146</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_acdde802d58e1558c03e449e04ae33f15\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#acdde802d58e1558c03e449e04ae33f15\">NvFlexParams::diffuseThreshold</a></div><div class=\"ttdeci\">float diffuseThreshold</div><div class=\"ttdoc\">Particles with kinetic energy + divergence above this threshold will spawn new diffuse particles...</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:138</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_af842f041f92c608b3ebfa2092caea889\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#af842f041f92c608b3ebfa2092caea889\">NvFlexCopyDesc::elementCount</a></div><div class=\"ttdeci\">int elementCount</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:516</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a169e4c126acf46bdebf76c36a44deca3a103255fa795b55a7f430a41493002576\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a169e4c126acf46bdebf76c36a44deca3a103255fa795b55a7f430a41493002576\">eNvFlexBufferDevice</a></div><div class=\"ttdoc\">A device memory buffer, mapping this on CUDA will return a device memory pointer, and will return a b...</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:79</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_aab5f90f4024d71d08c3f9327c6d8c184\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#aab5f90f4024d71d08c3f9327c6d8c184\">NvFlexGetSprings</a></div><div class=\"ttdeci\">NV_FLEX_API void NvFlexGetSprings(NvFlexSolver *solver, NvFlexBuffer *indices, NvFlexBuffer *restLengths, NvFlexBuffer *stiffness, int numSprings)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a125cfd9817437bb4f4bcb9418efa3dda\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a125cfd9817437bb4f4bcb9418efa3dda\">NvFlexSetRestParticles</a></div><div class=\"ttdeci\">NV_FLEX_API void NvFlexSetRestParticles(NvFlexSolver *solver, NvFlexBuffer *p, const NvFlexCopyDesc *desc)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_ae2b271f123db0054512936f2acc6467f\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#ae2b271f123db0054512936f2acc6467f\">NvFlexSetVelocities</a></div><div class=\"ttdeci\">NV_FLEX_API void NvFlexSetVelocities(NvFlexSolver *solver, NvFlexBuffer *v, const NvFlexCopyDesc *desc)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a0506ae712f846087b8647ea389ac26baaed52f0e803c6745ffc1a5f018a8756ce\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26baaed52f0e803c6745ffc1a5f018a8756ce\">eNvFlexShapeConvexMesh</a></div><div class=\"ttdoc\">A convex mesh shape, see FlexConvexMeshGeometry. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:957</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a8cb34cbcf9def6817d6d5d3c07177052\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a8cb34cbcf9def6817d6d5d3c07177052\">NvFlexTimers::updateTriangles</a></div><div class=\"ttdeci\">float updateTriangles</div><div class=\"ttdoc\">Time spent updating dynamic triangles. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:221</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_struct_nv_flex_copy_desc\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#struct_nv_flex_copy_desc\">NvFlexCopyDesc</a></div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:512</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a169e4c126acf46bdebf76c36a44deca3\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a169e4c126acf46bdebf76c36a44deca3\">NvFlexBufferType</a></div><div class=\"ttdeci\">NvFlexBufferType</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:76</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a23b8779c1516647ef5ed7f8010d619ff\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a23b8779c1516647ef5ed7f8010d619ff\">NvFlexInitDesc::enableExtensions</a></div><div class=\"ttdeci\">bool enableExtensions</div><div class=\"ttdoc\">Enable or disable NVIDIA/AMD extensions in DirectX, can lead to improved performance. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:317</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a7ab5aa68da7ca1f69211a900f1a1c586\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a7ab5aa68da7ca1f69211a900f1a1c586\">NvFlexConvexMeshId</a></div><div class=\"ttdeci\">unsigned int NvFlexConvexMeshId</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:742</div></div>\n</div><!-- fragment --></div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated on Mon Mar 19 2018 14:53:17 for FLEX by &#160;<a href=\"http://www.doxygen.org/index.html\">\n<img class=\"footer\" src=\"doxygen.png\" alt=\"doxygen\"/>\n</a> 1.8.9.1\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "doc/_static/api/_nv_flex_device_8h.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.9.1\"/>\n<title>FLEX: NvFlexDevice.h File Reference</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n<link href=\"flex.css\" rel=\"stylesheet\" type=\"text/css\"/>\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectlogo\"><img alt=\"Logo\" src=\"nvidia.png\"/></td>\n  <td style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">FLEX\n   &#160;<span id=\"projectnumber\">1.2.0</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.9.1 -->\n<div id=\"nav-path\" class=\"navpath\">\n  <ul>\n<li class=\"navelem\"><a class=\"el\" href=\"dir_d44c64559bbebec7f509842c48db8b23.html\">include</a></li>  </ul>\n</div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"summary\">\n<a href=\"#func-members\">Functions</a>  </div>\n  <div class=\"headertitle\">\n<div class=\"title\">NvFlexDevice.h File Reference</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p><a href=\"_nv_flex_device_8h_source.html\">Go to the source code of this file.</a></p>\n<table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"func-members\"></a>\nFunctions</h2></td></tr>\n<tr class=\"memitem:a914a7e6338379d00397bd3e7e07c0280\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_device_8h.html#a914a7e6338379d00397bd3e7e07c0280\">NvFlexDeviceGetSuggestedOrdinal</a> ()</td></tr>\n<tr class=\"separator:a914a7e6338379d00397bd3e7e07c0280\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a922c489035a9bdb84bee1cd0ef73558d\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_device_8h.html#a922c489035a9bdb84bee1cd0ef73558d\">NvFlexDeviceCreateCudaContext</a> (int ordinal)</td></tr>\n<tr class=\"separator:a922c489035a9bdb84bee1cd0ef73558d\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a97f4f513f226d573410478fa6d79f05a\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_device_8h.html#a97f4f513f226d573410478fa6d79f05a\">NvFlexDeviceDestroyCudaContext</a> ()</td></tr>\n<tr class=\"separator:a97f4f513f226d573410478fa6d79f05a\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table>\n<a name=\"details\" id=\"details\"></a><h2 class=\"groupheader\">Detailed Description</h2>\n<div class=\"textblock\"><p>NvFlexDevice is an optional helper library that performs some initialization tasks related to GPU device management. The library can be used to query the NVIDIA PhysX control panel for the selected \"PhysX\" GPU, and to create an optimized CUDA context. Currently the library is a closed source component but is purely optional. See the FlexDemo for an example of how to use the device API. </p>\n</div><h2 class=\"groupheader\">Function Documentation</h2>\n<a class=\"anchor\" id=\"a914a7e6338379d00397bd3e7e07c0280\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API int NvFlexDeviceGetSuggestedOrdinal </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns the CUDA ordinal of the GPU selected as \"PhysX\" in the NVIDIA control panel. Returns -1 if there is no NVIDIA CUDA device available.</p>\n<dl class=\"section note\"><dt>Note</dt><dd>The returned ordinal is a CUDA ordinal and does not correspond to the DXGI ordinal. D3D users should use their own device selection method and pass the appropriate DXGI device index or custom D3D devices to <a class=\"el\" href=\"_nv_flex_8h.html#a687e5ec141948f779faa9183b68cb743\">NvFlexInit()</a>. </dd></dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"a922c489035a9bdb84bee1cd0ef73558d\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API bool NvFlexDeviceCreateCudaContext </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>ordinal</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Creates a CUDA context optimized for Flex, returns true on success and sets the context as current on the calling thread. If using this method to initialize CUDA then you should ensure that no prior CUDA calls are made prior to avoid creating multiple contexts.</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">ordinal</td><td>The CUDA ordinal of the GPU to create the context on, this can be the suggested ordinal (see flexDeviceGetSuggestedOrdinal()), or a manually selected ordinal. </td></tr>\n  </table>\n  </dd>\n</dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"a97f4f513f226d573410478fa6d79f05a\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API void NvFlexDeviceDestroyCudaContext </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Destroy the context associated with the current thread, can be used to destroy the CUDA context created by flexDeviceCreateCudaContext(). </p>\n\n</div>\n</div>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated on Mon Mar 19 2018 14:53:17 for FLEX by &#160;<a href=\"http://www.doxygen.org/index.html\">\n<img class=\"footer\" src=\"doxygen.png\" alt=\"doxygen\"/>\n</a> 1.8.9.1\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "doc/_static/api/_nv_flex_device_8h_source.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.9.1\"/>\n<title>FLEX: NvFlexDevice.h Source File</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n<link href=\"flex.css\" rel=\"stylesheet\" type=\"text/css\"/>\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectlogo\"><img alt=\"Logo\" src=\"nvidia.png\"/></td>\n  <td style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">FLEX\n   &#160;<span id=\"projectnumber\">1.2.0</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.9.1 -->\n<div id=\"nav-path\" class=\"navpath\">\n  <ul>\n<li class=\"navelem\"><a class=\"el\" href=\"dir_d44c64559bbebec7f509842c48db8b23.html\">include</a></li>  </ul>\n</div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"headertitle\">\n<div class=\"title\">NvFlexDevice.h</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n<a href=\"_nv_flex_device_8h.html\">Go to the documentation of this file.</a><div class=\"fragment\"><div class=\"line\"><a name=\"l00001\"></a><span class=\"lineno\">    1</span>&#160;<span class=\"comment\">// This code contains NVIDIA Confidential Information and is disclosed to you</span></div>\n<div class=\"line\"><a name=\"l00002\"></a><span class=\"lineno\">    2</span>&#160;<span class=\"comment\">// under a form of NVIDIA software license agreement provided separately to you.</span></div>\n<div class=\"line\"><a name=\"l00003\"></a><span class=\"lineno\">    3</span>&#160;<span class=\"comment\">//</span></div>\n<div class=\"line\"><a name=\"l00004\"></a><span class=\"lineno\">    4</span>&#160;<span class=\"comment\">// Notice</span></div>\n<div class=\"line\"><a name=\"l00005\"></a><span class=\"lineno\">    5</span>&#160;<span class=\"comment\">// NVIDIA Corporation and its licensors retain all intellectual property and</span></div>\n<div class=\"line\"><a name=\"l00006\"></a><span class=\"lineno\">    6</span>&#160;<span class=\"comment\">// proprietary rights in and to this software and related documentation and</span></div>\n<div class=\"line\"><a name=\"l00007\"></a><span class=\"lineno\">    7</span>&#160;<span class=\"comment\">// any modifications thereto. Any use, reproduction, disclosure, or</span></div>\n<div class=\"line\"><a name=\"l00008\"></a><span class=\"lineno\">    8</span>&#160;<span class=\"comment\">// distribution of this software and related documentation without an express</span></div>\n<div class=\"line\"><a name=\"l00009\"></a><span class=\"lineno\">    9</span>&#160;<span class=\"comment\">// license agreement from NVIDIA Corporation is strictly prohibited.</span></div>\n<div class=\"line\"><a name=\"l00010\"></a><span class=\"lineno\">   10</span>&#160;<span class=\"comment\">//</span></div>\n<div class=\"line\"><a name=\"l00011\"></a><span class=\"lineno\">   11</span>&#160;<span class=\"comment\">// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED &quot;AS IS.&quot;. NVIDIA MAKES</span></div>\n<div class=\"line\"><a name=\"l00012\"></a><span class=\"lineno\">   12</span>&#160;<span class=\"comment\">// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO</span></div>\n<div class=\"line\"><a name=\"l00013\"></a><span class=\"lineno\">   13</span>&#160;<span class=\"comment\">// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,</span></div>\n<div class=\"line\"><a name=\"l00014\"></a><span class=\"lineno\">   14</span>&#160;<span class=\"comment\">// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.</span></div>\n<div class=\"line\"><a name=\"l00015\"></a><span class=\"lineno\">   15</span>&#160;<span class=\"comment\">//</span></div>\n<div class=\"line\"><a name=\"l00016\"></a><span class=\"lineno\">   16</span>&#160;<span class=\"comment\">// Information and code furnished is believed to be accurate and reliable.</span></div>\n<div class=\"line\"><a name=\"l00017\"></a><span class=\"lineno\">   17</span>&#160;<span class=\"comment\">// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such</span></div>\n<div class=\"line\"><a name=\"l00018\"></a><span class=\"lineno\">   18</span>&#160;<span class=\"comment\">// information or for any infringement of patents or other rights of third parties that may</span></div>\n<div class=\"line\"><a name=\"l00019\"></a><span class=\"lineno\">   19</span>&#160;<span class=\"comment\">// result from its use. No license is granted by implication or otherwise under any patent</span></div>\n<div class=\"line\"><a name=\"l00020\"></a><span class=\"lineno\">   20</span>&#160;<span class=\"comment\">// or patent rights of NVIDIA Corporation. Details are subject to change without notice.</span></div>\n<div class=\"line\"><a name=\"l00021\"></a><span class=\"lineno\">   21</span>&#160;<span class=\"comment\">// This code supersedes and replaces all information previously supplied.</span></div>\n<div class=\"line\"><a name=\"l00022\"></a><span class=\"lineno\">   22</span>&#160;<span class=\"comment\">// NVIDIA Corporation products are not authorized for use as critical</span></div>\n<div class=\"line\"><a name=\"l00023\"></a><span class=\"lineno\">   23</span>&#160;<span class=\"comment\">// components in life support devices or systems without express written approval of</span></div>\n<div class=\"line\"><a name=\"l00024\"></a><span class=\"lineno\">   24</span>&#160;<span class=\"comment\">// NVIDIA Corporation.</span></div>\n<div class=\"line\"><a name=\"l00025\"></a><span class=\"lineno\">   25</span>&#160;<span class=\"comment\">//</span></div>\n<div class=\"line\"><a name=\"l00026\"></a><span class=\"lineno\">   26</span>&#160;<span class=\"comment\">// Copyright (c) 2013-2020 NVIDIA Corporation. All rights reserved.</span></div>\n<div class=\"line\"><a name=\"l00027\"></a><span class=\"lineno\">   27</span>&#160;</div>\n<div class=\"line\"><a name=\"l00028\"></a><span class=\"lineno\">   28</span>&#160;<span class=\"preprocessor\">#ifndef NV_FLEX_DEVICE_H</span></div>\n<div class=\"line\"><a name=\"l00029\"></a><span class=\"lineno\">   29</span>&#160;<span class=\"preprocessor\">#define NV_FLEX_DEVICE_H</span></div>\n<div class=\"line\"><a name=\"l00030\"></a><span class=\"lineno\">   30</span>&#160;</div>\n<div class=\"line\"><a name=\"l00032\"></a><span class=\"lineno\">   32</span>&#160;<span class=\"preprocessor\">#ifndef NV_FLEX_API</span></div>\n<div class=\"line\"><a name=\"l00033\"></a><span class=\"lineno\">   33</span>&#160;<span class=\"preprocessor\">#if _WIN32</span></div>\n<div class=\"line\"><a name=\"l00034\"></a><span class=\"lineno\">   34</span>&#160;<span class=\"preprocessor\">#define NV_FLEX_API __declspec(dllexport)</span></div>\n<div class=\"line\"><a name=\"l00035\"></a><span class=\"lineno\">   35</span>&#160;<span class=\"preprocessor\">#else</span></div>\n<div class=\"line\"><a name=\"l00036\"></a><span class=\"lineno\">   36</span>&#160;<span class=\"preprocessor\">#define NV_FLEX_API</span></div>\n<div class=\"line\"><a name=\"l00037\"></a><span class=\"lineno\">   37</span>&#160;<span class=\"preprocessor\">#endif</span></div>\n<div class=\"line\"><a name=\"l00038\"></a><span class=\"lineno\">   38</span>&#160;<span class=\"preprocessor\">#endif</span></div>\n<div class=\"line\"><a name=\"l00039\"></a><span class=\"lineno\">   39</span>&#160;</div>\n<div class=\"line\"><a name=\"l00058\"></a><span class=\"lineno\">   58</span>&#160;NV_FLEX_API <span class=\"keywordtype\">int</span> <a class=\"code\" href=\"_nv_flex_device_8h.html#a914a7e6338379d00397bd3e7e07c0280\">NvFlexDeviceGetSuggestedOrdinal</a>();</div>\n<div class=\"line\"><a name=\"l00059\"></a><span class=\"lineno\">   59</span>&#160;</div>\n<div class=\"line\"><a name=\"l00067\"></a><span class=\"lineno\">   67</span>&#160;NV_FLEX_API <span class=\"keywordtype\">bool</span> <a class=\"code\" href=\"_nv_flex_device_8h.html#a922c489035a9bdb84bee1cd0ef73558d\">NvFlexDeviceCreateCudaContext</a>(<span class=\"keywordtype\">int</span> ordinal);</div>\n<div class=\"line\"><a name=\"l00068\"></a><span class=\"lineno\">   68</span>&#160;</div>\n<div class=\"line\"><a name=\"l00072\"></a><span class=\"lineno\">   72</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"_nv_flex_device_8h.html#a97f4f513f226d573410478fa6d79f05a\">NvFlexDeviceDestroyCudaContext</a>();</div>\n<div class=\"line\"><a name=\"l00073\"></a><span class=\"lineno\">   73</span>&#160;</div>\n<div class=\"line\"><a name=\"l00074\"></a><span class=\"lineno\">   74</span>&#160;</div>\n<div class=\"line\"><a name=\"l00075\"></a><span class=\"lineno\">   75</span>&#160;<span class=\"preprocessor\">#endif // NV_FLEX_DEVICE_H</span></div>\n<div class=\"ttc\" id=\"_nv_flex_device_8h_html_a914a7e6338379d00397bd3e7e07c0280\"><div class=\"ttname\"><a href=\"_nv_flex_device_8h.html#a914a7e6338379d00397bd3e7e07c0280\">NvFlexDeviceGetSuggestedOrdinal</a></div><div class=\"ttdeci\">NV_FLEX_API int NvFlexDeviceGetSuggestedOrdinal()</div></div>\n<div class=\"ttc\" id=\"_nv_flex_device_8h_html_a922c489035a9bdb84bee1cd0ef73558d\"><div class=\"ttname\"><a href=\"_nv_flex_device_8h.html#a922c489035a9bdb84bee1cd0ef73558d\">NvFlexDeviceCreateCudaContext</a></div><div class=\"ttdeci\">NV_FLEX_API bool NvFlexDeviceCreateCudaContext(int ordinal)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_device_8h_html_a97f4f513f226d573410478fa6d79f05a\"><div class=\"ttname\"><a href=\"_nv_flex_device_8h.html#a97f4f513f226d573410478fa6d79f05a\">NvFlexDeviceDestroyCudaContext</a></div><div class=\"ttdeci\">NV_FLEX_API void NvFlexDeviceDestroyCudaContext()</div></div>\n</div><!-- fragment --></div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated on Mon Mar 19 2018 14:53:17 for FLEX by &#160;<a href=\"http://www.doxygen.org/index.html\">\n<img class=\"footer\" src=\"doxygen.png\" alt=\"doxygen\"/>\n</a> 1.8.9.1\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "doc/_static/api/_nv_flex_ext_8h.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.9.1\"/>\n<title>FLEX: NvFlexExt.h File Reference</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n<link href=\"flex.css\" rel=\"stylesheet\" type=\"text/css\"/>\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectlogo\"><img alt=\"Logo\" src=\"nvidia.png\"/></td>\n  <td style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">FLEX\n   &#160;<span id=\"projectnumber\">1.2.0</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.9.1 -->\n<div id=\"nav-path\" class=\"navpath\">\n  <ul>\n<li class=\"navelem\"><a class=\"el\" href=\"dir_d44c64559bbebec7f509842c48db8b23.html\">include</a></li>  </ul>\n</div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"summary\">\n<a href=\"#nested-classes\">Data Structures</a> &#124;\n<a href=\"#typedef-members\">Typedefs</a> &#124;\n<a href=\"#enum-members\">Enumerations</a> &#124;\n<a href=\"#func-members\">Functions</a>  </div>\n  <div class=\"headertitle\">\n<div class=\"title\">NvFlexExt.h File Reference</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n\n<p><a href=\"_nv_flex_ext_8h_source.html\">Go to the source code of this file.</a></p>\n<table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"nested-classes\"></a>\nData Structures</h2></td></tr>\n<tr class=\"memitem:\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">struct &#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"struct_nv_flex_vector.html\">NvFlexVector&lt; T &gt;</a></td></tr>\n<tr class=\"separator:\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:struct_nv_flex_ext_moving_frame\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">struct &#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_moving_frame\">NvFlexExtMovingFrame</a></td></tr>\n<tr class=\"separator:struct_nv_flex_ext_moving_frame\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:struct_nv_flex_ext_asset\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">struct &#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_asset\">NvFlexExtAsset</a></td></tr>\n<tr class=\"separator:struct_nv_flex_ext_asset\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:struct_nv_flex_ext_instance\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">struct &#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_instance\">NvFlexExtInstance</a></td></tr>\n<tr class=\"separator:struct_nv_flex_ext_instance\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:struct_nv_flex_ext_soft_joint\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">struct &#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_soft_joint\">NvFlexExtSoftJoint</a></td></tr>\n<tr class=\"separator:struct_nv_flex_ext_soft_joint\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:struct_nv_flex_ext_tearing_particle_clone\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">struct &#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_tearing_particle_clone\">NvFlexExtTearingParticleClone</a></td></tr>\n<tr class=\"separator:struct_nv_flex_ext_tearing_particle_clone\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:struct_nv_flex_ext_tearing_mesh_edit\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">struct &#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_tearing_mesh_edit\">NvFlexExtTearingMeshEdit</a></td></tr>\n<tr class=\"separator:struct_nv_flex_ext_tearing_mesh_edit\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:struct_nv_flex_ext_particle_data\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">struct &#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_particle_data\">NvFlexExtParticleData</a></td></tr>\n<tr class=\"separator:struct_nv_flex_ext_particle_data\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:struct_nv_flex_ext_triangle_data\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">struct &#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_triangle_data\">NvFlexExtTriangleData</a></td></tr>\n<tr class=\"separator:struct_nv_flex_ext_triangle_data\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:struct_nv_flex_ext_shape_data\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">struct &#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_shape_data\">NvFlexExtShapeData</a></td></tr>\n<tr class=\"separator:struct_nv_flex_ext_shape_data\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:struct_nv_flex_ext_force_field\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">struct &#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_force_field\">NvFlexExtForceField</a></td></tr>\n<tr class=\"separator:struct_nv_flex_ext_force_field\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"typedef-members\"></a>\nTypedefs</h2></td></tr>\n<tr class=\"memitem:afaf84632a42346a718009bcda5efc8b4\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">typedef struct <a class=\"el\" href=\"_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4\">NvFlexExtContainer</a>&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4\">NvFlexExtContainer</a></td></tr>\n<tr class=\"separator:afaf84632a42346a718009bcda5efc8b4\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1117ce527b6b483cc756ab5352f6dc3f\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">typedef struct <a class=\"el\" href=\"_nv_flex_ext_8h.html#a1117ce527b6b483cc756ab5352f6dc3f\">NvFlexExtForceFieldCallback</a>&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_ext_8h.html#a1117ce527b6b483cc756ab5352f6dc3f\">NvFlexExtForceFieldCallback</a></td></tr>\n<tr class=\"separator:a1117ce527b6b483cc756ab5352f6dc3f\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"enum-members\"></a>\nEnumerations</h2></td></tr>\n<tr class=\"memitem:a502acd5c1db4ba6eef61eba25f26d68e\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">enum &#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_ext_8h.html#a502acd5c1db4ba6eef61eba25f26d68e\">NvFlexExtForceMode</a> { <br />\n&#160;&#160;<a class=\"el\" href=\"_nv_flex_ext_8h.html#a502acd5c1db4ba6eef61eba25f26d68ea9d4e8413b628837f9d1982897fd1f4a2\">eNvFlexExtModeForce</a> = 0, \n<br />\n&#160;&#160;<a class=\"el\" href=\"_nv_flex_ext_8h.html#a502acd5c1db4ba6eef61eba25f26d68ea92265f22fc2a724baf640fdace8f8ea0\">eNvFlexExtModeImpulse</a> = 1, \n<br />\n&#160;&#160;<a class=\"el\" href=\"_nv_flex_ext_8h.html#a502acd5c1db4ba6eef61eba25f26d68ea6a2e4817b1e86764147c81e8d5e5070c\">eNvFlexExtModeVelocityChange</a> = 2\n<br />\n }</td></tr>\n<tr class=\"separator:a502acd5c1db4ba6eef61eba25f26d68e\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"func-members\"></a>\nFunctions</h2></td></tr>\n<tr class=\"memitem:a6a20d814e3b083b069daa0f20a3e756e\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_ext_8h.html#a6a20d814e3b083b069daa0f20a3e756e\">NvFlexExtMovingFrameInit</a> (<a class=\"el\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_moving_frame\">NvFlexExtMovingFrame</a> *frame, const float *worldTranslation, const float *worldRotation)</td></tr>\n<tr class=\"separator:a6a20d814e3b083b069daa0f20a3e756e\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a780022c1b8425074ce08328e8e8c35cc\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_ext_8h.html#a780022c1b8425074ce08328e8e8c35cc\">NvFlexExtMovingFrameUpdate</a> (<a class=\"el\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_moving_frame\">NvFlexExtMovingFrame</a> *frame, const float *worldTranslation, const float *worldRotation, float dt)</td></tr>\n<tr class=\"separator:a780022c1b8425074ce08328e8e8c35cc\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a4ffe9bcd59a6cfc8900ac136f5123304\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_ext_8h.html#a4ffe9bcd59a6cfc8900ac136f5123304\">NvFlexExtMovingFrameApply</a> (<a class=\"el\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_moving_frame\">NvFlexExtMovingFrame</a> *frame, float *positions, float *velocities, int numParticles, float linearScale, float angularScale, float dt)</td></tr>\n<tr class=\"separator:a4ffe9bcd59a6cfc8900ac136f5123304\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a82a15dfd40b338a07cf4517f55f16720\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_ext_8h.html#a82a15dfd40b338a07cf4517f55f16720\">NvFlexExtCreateWeldedMeshIndices</a> (const float *vertices, int numVertices, int *uniqueVerts, int *originalToUniqueMap, float threshold)</td></tr>\n<tr class=\"separator:a82a15dfd40b338a07cf4517f55f16720\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a8bef033b2a8567dfcc954e22534147ee\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API <a class=\"el\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_asset\">NvFlexExtAsset</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_ext_8h.html#a8bef033b2a8567dfcc954e22534147ee\">NvFlexExtCreateClothFromMesh</a> (const float *particles, int numParticles, const int *indices, int numTriangles, float stretchStiffness, float bendStiffness, float tetherStiffness, float tetherGive, float pressure)</td></tr>\n<tr class=\"separator:a8bef033b2a8567dfcc954e22534147ee\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:addad82b3598059ffde7b3b5babe17bd4\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API <a class=\"el\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_asset\">NvFlexExtAsset</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_ext_8h.html#addad82b3598059ffde7b3b5babe17bd4\">NvFlexExtCreateTearingClothFromMesh</a> (const float *particles, int numParticles, int maxParticles, const int *indices, int numTriangles, float stretchStiffness, float bendStiffness, float pressure)</td></tr>\n<tr class=\"separator:addad82b3598059ffde7b3b5babe17bd4\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a88054283907d3386f1a30cdc4475acb0\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_ext_8h.html#a88054283907d3386f1a30cdc4475acb0\">NvFlexExtDestroyTearingCloth</a> (<a class=\"el\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_asset\">NvFlexExtAsset</a> *asset)</td></tr>\n<tr class=\"separator:a88054283907d3386f1a30cdc4475acb0\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a5efc0113d5432eb959437e6e3a98cc5f\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_ext_8h.html#a5efc0113d5432eb959437e6e3a98cc5f\">NvFlexExtTearClothMesh</a> (<a class=\"el\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_asset\">NvFlexExtAsset</a> *asset, float maxStrain, int maxSplits, <a class=\"el\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_tearing_particle_clone\">NvFlexExtTearingParticleClone</a> *particleCopies, int *numParticleCopies, int maxCopies, <a class=\"el\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_tearing_mesh_edit\">NvFlexExtTearingMeshEdit</a> *triangleEdits, int *numTriangleEdits, int maxEdits)</td></tr>\n<tr class=\"separator:a5efc0113d5432eb959437e6e3a98cc5f\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad0a9c7e2f907e46b60f6bacf402987ce\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API <a class=\"el\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_asset\">NvFlexExtAsset</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_ext_8h.html#ad0a9c7e2f907e46b60f6bacf402987ce\">NvFlexExtCreateRigidFromMesh</a> (const float *vertices, int numVertices, const int *indices, int numTriangleIndices, float radius, float expand)</td></tr>\n<tr class=\"separator:ad0a9c7e2f907e46b60f6bacf402987ce\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3a9ce6bba709625f6c338bd3070bd012\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API <a class=\"el\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_asset\">NvFlexExtAsset</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_ext_8h.html#a3a9ce6bba709625f6c338bd3070bd012\">NvFlexExtCreateSoftFromMesh</a> (const float *vertices, int numVertices, const int *indices, int numTriangleIndices, float particleSpacing, float volumeSampling, float surfaceSampling, float clusterSpacing, float clusterRadius, float clusterStiffness, float linkRadius, float linkStiffness, float globalStiffness, float clusterPlasticThreshold, float clusterPlasticCreep)</td></tr>\n<tr class=\"separator:a3a9ce6bba709625f6c338bd3070bd012\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a36c33fafe13c5fd5773bf9a2af2dd745\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_ext_8h.html#a36c33fafe13c5fd5773bf9a2af2dd745\">NvFlexExtDestroyAsset</a> (<a class=\"el\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_asset\">NvFlexExtAsset</a> *asset)</td></tr>\n<tr class=\"separator:a36c33fafe13c5fd5773bf9a2af2dd745\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6e3f12e9e92abb31b115cf31b33e34bb\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_ext_8h.html#a6e3f12e9e92abb31b115cf31b33e34bb\">NvFlexExtCreateSoftMeshSkinning</a> (const float *vertices, int numVertices, const float *bones, int numBones, float falloff, float maxDistance, float *skinningWeights, int *skinningIndices)</td></tr>\n<tr class=\"separator:a6e3f12e9e92abb31b115cf31b33e34bb\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a49906c9e3466d40383cddf627fe26658\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API <a class=\"el\" href=\"_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4\">NvFlexExtContainer</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_ext_8h.html#a49906c9e3466d40383cddf627fe26658\">NvFlexExtCreateContainer</a> (<a class=\"el\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a> *lib, <a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *solver, int maxParticles)</td></tr>\n<tr class=\"separator:a49906c9e3466d40383cddf627fe26658\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2509137d9fb8ab6818f35ab7761da7a5\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_ext_8h.html#a2509137d9fb8ab6818f35ab7761da7a5\">NvFlexExtDestroyContainer</a> (<a class=\"el\" href=\"_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4\">NvFlexExtContainer</a> *container)</td></tr>\n<tr class=\"separator:a2509137d9fb8ab6818f35ab7761da7a5\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7c036ccca83df3659529858068e0593d\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_ext_8h.html#a7c036ccca83df3659529858068e0593d\">NvFlexExtAllocParticles</a> (<a class=\"el\" href=\"_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4\">NvFlexExtContainer</a> *container, int n, int *indices)</td></tr>\n<tr class=\"separator:a7c036ccca83df3659529858068e0593d\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab0a259d159116b7fba9b229784b02c70\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_ext_8h.html#ab0a259d159116b7fba9b229784b02c70\">NvFlexExtFreeParticles</a> (<a class=\"el\" href=\"_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4\">NvFlexExtContainer</a> *container, int n, const int *indices)</td></tr>\n<tr class=\"separator:ab0a259d159116b7fba9b229784b02c70\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a7fc268a27306f6fc68dd1c106cfa62db\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_ext_8h.html#a7fc268a27306f6fc68dd1c106cfa62db\">NvFlexExtGetActiveList</a> (<a class=\"el\" href=\"_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4\">NvFlexExtContainer</a> *container, int *indices)</td></tr>\n<tr class=\"separator:a7fc268a27306f6fc68dd1c106cfa62db\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3fa8bd4b7d4096602e611faf0bb62dfb\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API <a class=\"el\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_particle_data\">NvFlexExtParticleData</a>&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_ext_8h.html#a3fa8bd4b7d4096602e611faf0bb62dfb\">NvFlexExtMapParticleData</a> (<a class=\"el\" href=\"_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4\">NvFlexExtContainer</a> *container)</td></tr>\n<tr class=\"separator:a3fa8bd4b7d4096602e611faf0bb62dfb\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af0cd639c21be28640fe5e1dd94931d59\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_ext_8h.html#af0cd639c21be28640fe5e1dd94931d59\">NvFlexExtUnmapParticleData</a> (<a class=\"el\" href=\"_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4\">NvFlexExtContainer</a> *container)</td></tr>\n<tr class=\"separator:af0cd639c21be28640fe5e1dd94931d59\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1646bf409084777cd0ff5d4fcccf07de\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API <a class=\"el\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_triangle_data\">NvFlexExtTriangleData</a>&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_ext_8h.html#a1646bf409084777cd0ff5d4fcccf07de\">NvFlexExtMapTriangleData</a> (<a class=\"el\" href=\"_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4\">NvFlexExtContainer</a> *container)</td></tr>\n<tr class=\"separator:a1646bf409084777cd0ff5d4fcccf07de\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a89e582ae93e0256b06f22d9abf361783\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_ext_8h.html#a89e582ae93e0256b06f22d9abf361783\">NvFlexExtUnmapTriangleData</a> (<a class=\"el\" href=\"_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4\">NvFlexExtContainer</a> *container)</td></tr>\n<tr class=\"separator:a89e582ae93e0256b06f22d9abf361783\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a90f2d3ba5be20e70e7efead911ee7acc\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API <a class=\"el\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_shape_data\">NvFlexExtShapeData</a>&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_ext_8h.html#a90f2d3ba5be20e70e7efead911ee7acc\">NvFlexExtMapShapeData</a> (<a class=\"el\" href=\"_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4\">NvFlexExtContainer</a> *container)</td></tr>\n<tr class=\"separator:a90f2d3ba5be20e70e7efead911ee7acc\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab51f04114586b5bf0f6fc5816fda9c69\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_ext_8h.html#ab51f04114586b5bf0f6fc5816fda9c69\">NvFlexExtUnmapShapeData</a> (<a class=\"el\" href=\"_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4\">NvFlexExtContainer</a> *container)</td></tr>\n<tr class=\"separator:ab51f04114586b5bf0f6fc5816fda9c69\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3bf10e2c9370602142b7be01e920f973\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API <a class=\"el\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_instance\">NvFlexExtInstance</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_ext_8h.html#a3bf10e2c9370602142b7be01e920f973\">NvFlexExtCreateInstance</a> (<a class=\"el\" href=\"_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4\">NvFlexExtContainer</a> *container, <a class=\"el\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_particle_data\">NvFlexExtParticleData</a> *particleData, const <a class=\"el\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_asset\">NvFlexExtAsset</a> *asset, const float *transform, float vx, float vy, float vz, int phase, float invMassScale)</td></tr>\n<tr class=\"separator:a3bf10e2c9370602142b7be01e920f973\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a2b5634f64bd0d8d86f894885a1c16a33\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_ext_8h.html#a2b5634f64bd0d8d86f894885a1c16a33\">NvFlexExtDestroyInstance</a> (<a class=\"el\" href=\"_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4\">NvFlexExtContainer</a> *container, const <a class=\"el\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_instance\">NvFlexExtInstance</a> *instance)</td></tr>\n<tr class=\"separator:a2b5634f64bd0d8d86f894885a1c16a33\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad9343d07f49098ee205a1ed48dc9db34\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_ext_8h.html#ad9343d07f49098ee205a1ed48dc9db34\">NvFlexExtNotifyAssetChanged</a> (<a class=\"el\" href=\"_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4\">NvFlexExtContainer</a> *container, const <a class=\"el\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_asset\">NvFlexExtAsset</a> *asset)</td></tr>\n<tr class=\"separator:ad9343d07f49098ee205a1ed48dc9db34\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ab4caadf5a6b19674849bfce91d986e7b\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_ext_8h.html#ab4caadf5a6b19674849bfce91d986e7b\">NvFlexExtTickContainer</a> (<a class=\"el\" href=\"_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4\">NvFlexExtContainer</a> *container, float dt, int numSubsteps, bool enableTimers=false)</td></tr>\n<tr class=\"separator:ab4caadf5a6b19674849bfce91d986e7b\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a425f4e472bb83797498c904ab228209c\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_ext_8h.html#a425f4e472bb83797498c904ab228209c\">NvFlexExtPushToDevice</a> (<a class=\"el\" href=\"_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4\">NvFlexExtContainer</a> *container)</td></tr>\n<tr class=\"separator:a425f4e472bb83797498c904ab228209c\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a89ea7bbd26bec46f1b82d84257de1f58\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_ext_8h.html#a89ea7bbd26bec46f1b82d84257de1f58\">NvFlexExtPullFromDevice</a> (<a class=\"el\" href=\"_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4\">NvFlexExtContainer</a> *container)</td></tr>\n<tr class=\"separator:a89ea7bbd26bec46f1b82d84257de1f58\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a4695d37db8b61495f200bfd88a2be628\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_ext_8h.html#a4695d37db8b61495f200bfd88a2be628\">NvFlexExtUpdateInstances</a> (<a class=\"el\" href=\"_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4\">NvFlexExtContainer</a> *container)</td></tr>\n<tr class=\"separator:a4695d37db8b61495f200bfd88a2be628\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac1ed9ff49120d0691352399c8173bdcf\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API <a class=\"el\" href=\"_nv_flex_ext_8h.html#a1117ce527b6b483cc756ab5352f6dc3f\">NvFlexExtForceFieldCallback</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_ext_8h.html#ac1ed9ff49120d0691352399c8173bdcf\">NvFlexExtCreateForceFieldCallback</a> (<a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *solver)</td></tr>\n<tr class=\"separator:ac1ed9ff49120d0691352399c8173bdcf\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad08da77f432ca56bc59647bf73da86cb\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_ext_8h.html#ad08da77f432ca56bc59647bf73da86cb\">NvFlexExtDestroyForceFieldCallback</a> (<a class=\"el\" href=\"_nv_flex_ext_8h.html#a1117ce527b6b483cc756ab5352f6dc3f\">NvFlexExtForceFieldCallback</a> *callback)</td></tr>\n<tr class=\"separator:ad08da77f432ca56bc59647bf73da86cb\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa36d43b9e53b9b66d43c2bc5eb5abf98\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_ext_8h.html#aa36d43b9e53b9b66d43c2bc5eb5abf98\">NvFlexExtSetForceFields</a> (<a class=\"el\" href=\"_nv_flex_ext_8h.html#a1117ce527b6b483cc756ab5352f6dc3f\">NvFlexExtForceFieldCallback</a> *callback, const <a class=\"el\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_force_field\">NvFlexExtForceField</a> *forceFields, int numForceFields)</td></tr>\n<tr class=\"separator:aa36d43b9e53b9b66d43c2bc5eb5abf98\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:af52527c58c7bd671d26b2985b078aff4\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API <a class=\"el\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_soft_joint\">NvFlexExtSoftJoint</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_ext_8h.html#af52527c58c7bd671d26b2985b078aff4\">NvFlexExtCreateSoftJoint</a> (<a class=\"el\" href=\"_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4\">NvFlexExtContainer</a> *container, const int *particleIndices, const float *particleLocalPositions, const int numJointParticles, const float stiffness)</td></tr>\n<tr class=\"separator:af52527c58c7bd671d26b2985b078aff4\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a021a25caa64e7f9e9542ea0bc7e6d632\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_ext_8h.html#a021a25caa64e7f9e9542ea0bc7e6d632\">NvFlexExtDestroySoftJoint</a> (<a class=\"el\" href=\"_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4\">NvFlexExtContainer</a> *container, <a class=\"el\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_soft_joint\">NvFlexExtSoftJoint</a> *joint)</td></tr>\n<tr class=\"separator:a021a25caa64e7f9e9542ea0bc7e6d632\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3fea23644fb7b0840132eee46ea971e4\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">NV_FLEX_API void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_ext_8h.html#a3fea23644fb7b0840132eee46ea971e4\">NvFlexExtSoftJointSetTransform</a> (<a class=\"el\" href=\"_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4\">NvFlexExtContainer</a> *container, <a class=\"el\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_soft_joint\">NvFlexExtSoftJoint</a> *joint, const float *position, const float *rotation)</td></tr>\n<tr class=\"separator:a3fea23644fb7b0840132eee46ea971e4\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table>\n<a name=\"details\" id=\"details\"></a><h2 class=\"groupheader\">Detailed Description</h2>\n<div class=\"textblock\"><p>The main include file for the Flex extensions API, this is a collection of helper functions for asset creation, scene management, and sample code that builds on the Flex core API. </p>\n</div><hr/><h2 class=\"groupheader\">Data Structure Documentation</h2>\n<a name=\"struct_nv_flex_ext_moving_frame\" id=\"struct_nv_flex_ext_moving_frame\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">struct NvFlexExtMovingFrame</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<div class=\"textblock\"><p>Helper struct for storing the state of a moving frame, see <a class=\"el\" href=\"_nv_flex_ext_8h.html#a6a20d814e3b083b069daa0f20a3e756e\">NvFlexExtMovingFrameInit()</a> </p>\n</div><table class=\"fieldtable\">\n<tr><th colspan=\"3\">Data Fields</th></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a7d35ea2def3a05a5f85a5cdfd5abdc56\"></a>float</td>\n<td class=\"fieldname\">\nposition[3]</td>\n<td class=\"fielddoc\">\n</td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"ad1af111e19f7ca92fd913c25c4d9288b\"></a>float</td>\n<td class=\"fieldname\">\nrotation[4]</td>\n<td class=\"fielddoc\">\n</td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"acc246770a0f65f1e50b43c618955dc84\"></a>float</td>\n<td class=\"fieldname\">\nvelocity[3]</td>\n<td class=\"fielddoc\">\n</td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a95fbd8d303fe90992b95b63a29eb5344\"></a>float</td>\n<td class=\"fieldname\">\nomega[3]</td>\n<td class=\"fielddoc\">\n</td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a0705c9d2b5960057b37f097083d96f33\"></a>float</td>\n<td class=\"fieldname\">\nacceleration[3]</td>\n<td class=\"fielddoc\">\n</td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"aab0ea63bac05cd6aee5054d369687fb0\"></a>float</td>\n<td class=\"fieldname\">\ntau[3]</td>\n<td class=\"fielddoc\">\n</td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"ae03f4690a66ba4e06e4b2519c688aaba\"></a>float</td>\n<td class=\"fieldname\">\ndelta[4][4]</td>\n<td class=\"fielddoc\">\n</td></tr>\n</table>\n\n</div>\n</div>\n<a name=\"struct_nv_flex_ext_asset\" id=\"struct_nv_flex_ext_asset\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">struct NvFlexExtAsset</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<div class=\"textblock\"><p>Represents a group of particles and constraints, each asset can be instanced into a container using <a class=\"el\" href=\"_nv_flex_ext_8h.html#a3bf10e2c9370602142b7be01e920f973\">NvFlexExtCreateInstance()</a> </p>\n</div><table class=\"fieldtable\">\n<tr><th colspan=\"3\">Data Fields</th></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a0ac3c8cc1bb87eaa50690f44e56a74da\"></a>float *</td>\n<td class=\"fieldname\">\nparticles</td>\n<td class=\"fielddoc\">\nLocal space particle positions, x,y,z,1/mass. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a4eceb2845977219379afdd06397a6706\"></a>int</td>\n<td class=\"fieldname\">\nnumParticles</td>\n<td class=\"fielddoc\">\nNumber of particles. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"ab421c4d72574f468af6827c18c36a387\"></a>int</td>\n<td class=\"fieldname\">\nmaxParticles</td>\n<td class=\"fielddoc\">\nMaximum number of particles, allows extra space for tearable assets which duplicate particles. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a8b7a9bd9cbd2f33c6b3da02687a6bd9d\"></a>int *</td>\n<td class=\"fieldname\">\nspringIndices</td>\n<td class=\"fielddoc\">\nSpring indices. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a1e8252d5e5f66b3d8920c1371f23cc05\"></a>float *</td>\n<td class=\"fieldname\">\nspringCoefficients</td>\n<td class=\"fielddoc\">\nSpring coefficients. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a9020959583f85486e060a7b5e611476d\"></a>float *</td>\n<td class=\"fieldname\">\nspringRestLengths</td>\n<td class=\"fielddoc\">\nSpring rest-lengths. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"ae5f81891f59382b133319dc3bcea8ba0\"></a>int</td>\n<td class=\"fieldname\">\nnumSprings</td>\n<td class=\"fielddoc\">\nNumber of springs. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a8a4a122a0a95b8262fc4673298a5cb1c\"></a>int *</td>\n<td class=\"fieldname\">\nshapeIndices</td>\n<td class=\"fielddoc\">\nThe indices of the shape matching constraints. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a4810f46c27fd0cfacfb1f4be9dff0479\"></a>int</td>\n<td class=\"fieldname\">\nnumShapeIndices</td>\n<td class=\"fielddoc\">\nTotal number of indices for shape constraints. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a96b73b81c5db272d950efe3f03a8cef8\"></a>int *</td>\n<td class=\"fieldname\">\nshapeOffsets</td>\n<td class=\"fielddoc\">\nEach entry stores the end of the shape's indices in the indices array (exclusive prefix sum of shape lengths) </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a0fd9407aad5001d3a9fe90e989da1aad\"></a>float *</td>\n<td class=\"fieldname\">\nshapeCoefficients</td>\n<td class=\"fielddoc\">\nThe stiffness coefficient for each shape. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a24866c3fe2c482073325062c9c80d043\"></a>float *</td>\n<td class=\"fieldname\">\nshapeCenters</td>\n<td class=\"fielddoc\">\nThe position of the center of mass of each shape, an array of vec3s mNumShapes in length. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"afc07cf2edbf4d5bf504890b312a98bd7\"></a>int</td>\n<td class=\"fieldname\">\nnumShapes</td>\n<td class=\"fielddoc\">\nThe number of shape matching constraints. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"aac7ec52c127730c381d4b8cbac8134bf\"></a>float *</td>\n<td class=\"fieldname\">\nshapePlasticThresholds</td>\n<td class=\"fielddoc\">\nThe plastic threshold coefficient for each shape. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a9342d21bf875d0f1a9d287ced08c087a\"></a>float *</td>\n<td class=\"fieldname\">\nshapePlasticCreeps</td>\n<td class=\"fielddoc\">\nThe plastic creep coefficient for each shape. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"aeee311155e99ce95c506078964a7dc3c\"></a>int *</td>\n<td class=\"fieldname\">\ntriangleIndices</td>\n<td class=\"fielddoc\">\nIndexed triangle mesh indices for clothing. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"ad858d4df98a4300668f2b8048881c0d5\"></a>int</td>\n<td class=\"fieldname\">\nnumTriangles</td>\n<td class=\"fielddoc\">\nNumber of triangles. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a960073478e49b229d1d19ac64c5b23f7\"></a>bool</td>\n<td class=\"fieldname\">\ninflatable</td>\n<td class=\"fielddoc\">\nWhether an inflatable constraint should be added. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a3fc55581814cbab90a0c4167428893df\"></a>float</td>\n<td class=\"fieldname\">\ninflatableVolume</td>\n<td class=\"fielddoc\">\nThe rest volume for the inflatable constraint. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"ab556b9c29acfda73e14c68edc43be7e3\"></a>float</td>\n<td class=\"fieldname\">\ninflatablePressure</td>\n<td class=\"fielddoc\">\nHow much over the rest volume the inflatable should attempt to maintain. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"ad4d5551b97bd31b9e1ca5c57f2c82452\"></a>float</td>\n<td class=\"fieldname\">\ninflatableStiffness</td>\n<td class=\"fielddoc\">\nHow stiff the inflatable is. </td></tr>\n</table>\n\n</div>\n</div>\n<a name=\"struct_nv_flex_ext_instance\" id=\"struct_nv_flex_ext_instance\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">struct NvFlexExtInstance</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<div class=\"textblock\"><p>Represents an instance of a FlexAsset in a container </p>\n</div><table class=\"fieldtable\">\n<tr><th colspan=\"3\">Data Fields</th></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a1a0c7a0c03148b1586c4fb48f14a565f\"></a>int *</td>\n<td class=\"fieldname\">\nparticleIndices</td>\n<td class=\"fielddoc\">\nSimulation particle indices. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"aca9a5ecc1fd26fedf90f8f17e87e3ca8\"></a>int</td>\n<td class=\"fieldname\">\nnumParticles</td>\n<td class=\"fielddoc\">\nNumber of simulation particles. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a3288fee0b909e9e768d9abc9b8da74cf\"></a>int</td>\n<td class=\"fieldname\">\ntriangleIndex</td>\n<td class=\"fielddoc\">\nIndex in the container's triangle array. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"aa67489d3beb86e2b566e0fa2e978ed11\"></a>int</td>\n<td class=\"fieldname\">\nshapeIndex</td>\n<td class=\"fielddoc\">\nIndex in the container's shape body constraints array. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"ac2ef832cadd91e257ba80eb97d936340\"></a>int</td>\n<td class=\"fieldname\">\ninflatableIndex</td>\n<td class=\"fielddoc\">\nIndex in the container's inflatables array. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"aa6fb48cb1199af96a29de7616f7a4d18\"></a>float *</td>\n<td class=\"fieldname\">\nshapeTranslations</td>\n<td class=\"fielddoc\">\nShape matching group translations (vec3s) </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a3d0a712689ce07a5652d48ea25fa05b9\"></a>float *</td>\n<td class=\"fieldname\">\nshapeRotations</td>\n<td class=\"fielddoc\">\nShape matching group rotations (quaternions) </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"aa4f19c17fa4ae35ceda90c8b3d1fcca4\"></a>const <a class=\"el\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_asset\">NvFlexExtAsset</a> *</td>\n<td class=\"fieldname\">\nasset</td>\n<td class=\"fielddoc\">\nSource asset used to create this instance. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a8000e722ce864bbfbce0f303f39186d7\"></a>void *</td>\n<td class=\"fieldname\">\nuserData</td>\n<td class=\"fielddoc\">\nUser data pointer. </td></tr>\n</table>\n\n</div>\n</div>\n<a name=\"struct_nv_flex_ext_soft_joint\" id=\"struct_nv_flex_ext_soft_joint\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">struct NvFlexExtSoftJoint</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<div class=\"textblock\"><p>Represents a soft joint with a radius overlapping different flex objects Each soft joint can be spawned into a container using <a class=\"el\" href=\"_nv_flex_ext_8h.html#af52527c58c7bd671d26b2985b078aff4\">NvFlexExtCreateSoftJoint()</a> </p>\n</div><table class=\"fieldtable\">\n<tr><th colspan=\"3\">Data Fields</th></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a9b81cabbc738fc2650c978bd39ae3bad\"></a>int *</td>\n<td class=\"fieldname\">\nparticleIndices</td>\n<td class=\"fielddoc\">\nGlobal indices. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a284e220726302e761f7cf5aa07884723\"></a>float *</td>\n<td class=\"fieldname\">\nparticleLocalPositions</td>\n<td class=\"fielddoc\">\nRelative offsets from the particles of the joint to the center. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a7850f47d32a8fe6107aae7a098de8f01\"></a>int</td>\n<td class=\"fieldname\">\nshapeIndex</td>\n<td class=\"fielddoc\">\nIndex in the container's shape body constraints array. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a77c2b96e59d92c49f902c2707df095f0\"></a>int</td>\n<td class=\"fieldname\">\nnumParticles</td>\n<td class=\"fielddoc\">\nNumber of particles in the joint. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a0a01f7b650db1077ffc165762703552b\"></a>float</td>\n<td class=\"fieldname\">\nshapeTranslations[3]</td>\n<td class=\"fielddoc\">\nJoint shape matching group translations (vec3s) </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"aad1bc1104e48d8839d1b9c4c41b8ed42\"></a>float</td>\n<td class=\"fieldname\">\nshapeRotations[4]</td>\n<td class=\"fielddoc\">\nJoint shape matching group rotations (quaternions) </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a53b814424d9b4cd111a95a2b8ea16f14\"></a>float</td>\n<td class=\"fieldname\">\nstiffness</td>\n<td class=\"fielddoc\">\nJoint stiffness. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"ad5a3a0aed59d8fb5dedbabe189749bc3\"></a>bool</td>\n<td class=\"fieldname\">\ninitialized</td>\n<td class=\"fielddoc\">\nJoint status flag. </td></tr>\n</table>\n\n</div>\n</div>\n<a name=\"struct_nv_flex_ext_tearing_particle_clone\" id=\"struct_nv_flex_ext_tearing_particle_clone\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">struct NvFlexExtTearingParticleClone</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<div class=\"textblock\"><p>Particles and vertices may need to be copied during tearing. Because the user may maintain particle data outside of Flex, this structure describes how to update the particle data. The application should copy each existing particle given by srcIndex (in the asset's particle array) to the destIndex (also in the asset's array). </p>\n</div><table class=\"fieldtable\">\n<tr><th colspan=\"3\">Data Fields</th></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a431c97a2756c45752dd7508f0810a397\"></a>int</td>\n<td class=\"fieldname\">\nsrcIndex</td>\n<td class=\"fielddoc\">\n</td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a9034efff0f1b158a12a9ed6991d620fa\"></a>int</td>\n<td class=\"fieldname\">\ndestIndex</td>\n<td class=\"fielddoc\">\n</td></tr>\n</table>\n\n</div>\n</div>\n<a name=\"struct_nv_flex_ext_tearing_mesh_edit\" id=\"struct_nv_flex_ext_tearing_mesh_edit\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">struct NvFlexExtTearingMeshEdit</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<div class=\"textblock\"><p>The mesh topology may need to be updated to reference new particles during tearing. Because the user may maintain mesh topology outside of Flex, this structure describes the necessary updates that should be performed on the mesh. The triIndex member is the index of the index to be updated, e.g.: a triIndex value of 4 refers to the index 1 vertex (4%3) of the index 1 triangle (4/3). This entry in the indices array should be updated to point to the newParticleIndex. </p>\n</div><table class=\"fieldtable\">\n<tr><th colspan=\"3\">Data Fields</th></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a46b80c02097ebc40bf777708e8f17ed4\"></a>int</td>\n<td class=\"fieldname\">\ntriIndex</td>\n<td class=\"fielddoc\">\n</td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a8cf124de0fc370757cb890f83984ced8\"></a>int</td>\n<td class=\"fieldname\">\nnewParticleIndex</td>\n<td class=\"fielddoc\">\n</td></tr>\n</table>\n\n</div>\n</div>\n<a name=\"struct_nv_flex_ext_particle_data\" id=\"struct_nv_flex_ext_particle_data\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">struct NvFlexExtParticleData</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<div class=\"textblock\"></div><table class=\"fieldtable\">\n<tr><th colspan=\"3\">Data Fields</th></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a780c0bac62cc5dd8d04da11cff07eeba\"></a>float *</td>\n<td class=\"fieldname\">\nparticles</td>\n<td class=\"fielddoc\">\nReceives a pointer to the particle position / mass data. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a69962fe23c7fef594fb5f36a175ff148\"></a>float *</td>\n<td class=\"fieldname\">\nrestParticles</td>\n<td class=\"fielddoc\">\nReceives a pointer to the particle's rest position (used for self collision culling) </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"adbb39b1f8b0705bb3e19d2cb6145640f\"></a>float *</td>\n<td class=\"fieldname\">\nvelocities</td>\n<td class=\"fielddoc\">\nReceives a pointer to the particle velocity data. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a7fa35a822a4e856fee45b3263e679270\"></a>int *</td>\n<td class=\"fieldname\">\nphases</td>\n<td class=\"fielddoc\">\nReceives a pointer to the particle phase data. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"afcacbd584e2041855af50eae3f287779\"></a>float *</td>\n<td class=\"fieldname\">\nnormals</td>\n<td class=\"fielddoc\">\nReceives a pointer to the particle normal data with 16 byte stride in format [nx, ny, nz, nw]. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"af911b47ddb538a0542f6e2c38a82d701\"></a>const float *</td>\n<td class=\"fieldname\">\nlower</td>\n<td class=\"fielddoc\">\nReceive a pointer to the particle lower bounds [x, y, z]. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"ad722c319fe60d8a0933df217ba04b2ac\"></a>const float *</td>\n<td class=\"fieldname\">\nupper</td>\n<td class=\"fielddoc\">\nReceive a pointer to the particle upper bounds [x, y, z]. </td></tr>\n</table>\n\n</div>\n</div>\n<a name=\"struct_nv_flex_ext_triangle_data\" id=\"struct_nv_flex_ext_triangle_data\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">struct NvFlexExtTriangleData</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<div class=\"textblock\"></div><table class=\"fieldtable\">\n<tr><th colspan=\"3\">Data Fields</th></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a806a707d6b32c41ab561a4893f43ddde\"></a>int *</td>\n<td class=\"fieldname\">\nindices</td>\n<td class=\"fielddoc\">\nReceives a pointer to the array of triangle index data. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a56bf3b1fe603c79b871ead2efb65cc78\"></a>float *</td>\n<td class=\"fieldname\">\nnormals</td>\n<td class=\"fielddoc\">\nReceives a pointer to an array of triangle normal data stored with 16 byte stride, i.e.: [nx, ny, nz]. </td></tr>\n</table>\n\n</div>\n</div>\n<a name=\"struct_nv_flex_ext_shape_data\" id=\"struct_nv_flex_ext_shape_data\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">struct NvFlexExtShapeData</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<div class=\"textblock\"></div><table class=\"fieldtable\">\n<tr><th colspan=\"3\">Data Fields</th></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a6517fee9c5e151673ecd5ad91cbf2ae2\"></a>float *</td>\n<td class=\"fieldname\">\nrotations</td>\n<td class=\"fielddoc\">\nReceives a pointer to the array quaternion rotation data in [x, y z, w] format. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"acd73f347463a114da73bb1ab5eff00b4\"></a>float *</td>\n<td class=\"fieldname\">\npositions</td>\n<td class=\"fielddoc\">\nReceives a pointer to an array of shape body translations in [x, y, z] format. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a4e845f47484e00a272ad351b4bf28e95\"></a>int</td>\n<td class=\"fieldname\">\nn</td>\n<td class=\"fielddoc\">\nNumber of valid tranforms. </td></tr>\n</table>\n\n</div>\n</div>\n<a name=\"struct_nv_flex_ext_force_field\" id=\"struct_nv_flex_ext_force_field\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">struct NvFlexExtForceField</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<div class=\"textblock\"><p>Force field data, currently just supports radial fields </p>\n</div><table class=\"fieldtable\">\n<tr><th colspan=\"3\">Data Fields</th></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a9e6134ffeca22636dcd467fa4dee1ba0\"></a>float</td>\n<td class=\"fieldname\">\nmPosition[3]</td>\n<td class=\"fielddoc\">\nCenter of force field. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a7ad225a762dcf91b7155c7229dd08d38\"></a>float</td>\n<td class=\"fieldname\">\nmRadius</td>\n<td class=\"fielddoc\">\nRadius of the force field. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a0b9729f9896faba45c861a1e8d15290b\"></a>float</td>\n<td class=\"fieldname\">\nmStrength</td>\n<td class=\"fielddoc\">\nStrength of the force field. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a3d7dba5a4d9fce7230bc20a8bb567951\"></a><a class=\"el\" href=\"_nv_flex_ext_8h.html#a502acd5c1db4ba6eef61eba25f26d68e\">NvFlexExtForceMode</a></td>\n<td class=\"fieldname\">\nmMode</td>\n<td class=\"fielddoc\">\nMode of field application. </td></tr>\n<tr><td class=\"fieldtype\">\n<a class=\"anchor\" id=\"a785f5a041fb93cf460cde7153f87fa02\"></a>bool</td>\n<td class=\"fieldname\">\nmLinearFalloff</td>\n<td class=\"fielddoc\">\nLinear or no falloff. </td></tr>\n</table>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Typedef Documentation</h2>\n<a class=\"anchor\" id=\"afaf84632a42346a718009bcda5efc8b4\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">typedef struct <a class=\"el\" href=\"_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4\">NvFlexExtContainer</a> <a class=\"el\" href=\"_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4\">NvFlexExtContainer</a></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Opaque type representing a simulation </p>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"a1117ce527b6b483cc756ab5352f6dc3f\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">typedef struct <a class=\"el\" href=\"_nv_flex_ext_8h.html#a1117ce527b6b483cc756ab5352f6dc3f\">NvFlexExtForceFieldCallback</a> <a class=\"el\" href=\"_nv_flex_ext_8h.html#a1117ce527b6b483cc756ab5352f6dc3f\">NvFlexExtForceFieldCallback</a></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Opaque type representing a force field callback structure that ecapsulates the force field kernels and associated data applied as a callback during the Flex update </p>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Enumeration Type Documentation</h2>\n<a class=\"anchor\" id=\"a502acd5c1db4ba6eef61eba25f26d68e\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">enum <a class=\"el\" href=\"_nv_flex_ext_8h.html#a502acd5c1db4ba6eef61eba25f26d68e\">NvFlexExtForceMode</a></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Controls the way that force fields affect particles </p>\n<table class=\"fieldtable\">\n<tr><th colspan=\"2\">Enumerator</th></tr><tr><td class=\"fieldname\"><a class=\"anchor\" id=\"a502acd5c1db4ba6eef61eba25f26d68ea9d4e8413b628837f9d1982897fd1f4a2\"></a>eNvFlexExtModeForce&#160;</td><td class=\"fielddoc\">\n<p>Apply field value as a force. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a class=\"anchor\" id=\"a502acd5c1db4ba6eef61eba25f26d68ea92265f22fc2a724baf640fdace8f8ea0\"></a>eNvFlexExtModeImpulse&#160;</td><td class=\"fielddoc\">\n<p>Apply field value as an impulse. </p>\n</td></tr>\n<tr><td class=\"fieldname\"><a class=\"anchor\" id=\"a502acd5c1db4ba6eef61eba25f26d68ea6a2e4817b1e86764147c81e8d5e5070c\"></a>eNvFlexExtModeVelocityChange&#160;</td><td class=\"fielddoc\">\n<p>Apply field value as a velocity change. </p>\n</td></tr>\n</table>\n\n</div>\n</div>\n<h2 class=\"groupheader\">Function Documentation</h2>\n<a class=\"anchor\" id=\"a6a20d814e3b083b069daa0f20a3e756e\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API void NvFlexExtMovingFrameInit </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_moving_frame\">NvFlexExtMovingFrame</a> *&#160;</td>\n          <td class=\"paramname\"><em>frame</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const float *&#160;</td>\n          <td class=\"paramname\"><em>worldTranslation</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const float *&#160;</td>\n          <td class=\"paramname\"><em>worldRotation</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Creates a new moving frame struct. This helper method is used to calculate inertial forces for particles inside an attached parent frame. For example, when simulating cloth attached to the character, we would like to perform a local space simulation of the cloth to avoid excessive stretching and collision issues during fast animations. However, we would still like the cloth to respond to character movements in at least a limited, or controlled fashion. The <a class=\"el\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_moving_frame\">NvFlexExtMovingFrame</a> provides a way to include or remove these inertial forces. The basic usage is as follows:</p>\n<div class=\"fragment\"><div class=\"line\"><a class=\"code\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_moving_frame\">NvFlexExtMovingFrame</a> frame;</div>\n<div class=\"line\"><a class=\"code\" href=\"_nv_flex_ext_8h.html#a6a20d814e3b083b069daa0f20a3e756e\">NvFlexExtMovingFrameInit</a>(&amp;frame, initialTranslation, initialRotation);</div>\n<div class=\"line\"></div>\n<div class=\"line\"><span class=\"keyword\">const</span> linearInertiaScale = 0.25f;</div>\n<div class=\"line\"><span class=\"keyword\">const</span> angularInertiaScale 0.5;</div>\n<div class=\"line\"></div>\n<div class=\"line\"><span class=\"keywordflow\">while</span>(simulating)</div>\n<div class=\"line\">{</div>\n<div class=\"line\"> float3 newPosition;</div>\n<div class=\"line\"> float4 newRotation;</div>\n<div class=\"line\"> </div>\n<div class=\"line\"> <span class=\"comment\">// move parent frame (character / emitter) according to application&#39;s animation system</span></div>\n<div class=\"line\"> Animate(newPosition, newRotation);</div>\n<div class=\"line\"> </div>\n<div class=\"line\"> <span class=\"comment\">// update the frame</span></div>\n<div class=\"line\"> <a class=\"code\" href=\"_nv_flex_ext_8h.html#a780022c1b8425074ce08328e8e8c35cc\">NvFlexExtMovingFrameUpdate</a>(frame, newPosition, newRotation, dt);</div>\n<div class=\"line\"></div>\n<div class=\"line\"> <span class=\"comment\">// apply inertial forces and update particles</span></div>\n<div class=\"line\"> <a class=\"code\" href=\"_nv_flex_ext_8h.html#a4ffe9bcd59a6cfc8900ac136f5123304\">NvFlexExtMovingFrameApply</a>(frame, particlePositions, particleVelocities, numParticles, linearInertiaScale, angularInertiaScale, dt);</div>\n<div class=\"line\">}</div>\n</div><!-- fragment --><dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">frame</td><td>A pointer to a user-allocated <a class=\"el\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_moving_frame\">NvFlexExtMovingFrame</a> struct </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">worldTranslation</td><td>A pointer to a vec3 storing the frame's initial translation in world space </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">worldRotation</td><td>A pointer to a quaternion storing the frame's initial rotation in world space </td></tr>\n  </table>\n  </dd>\n</dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"a780022c1b8425074ce08328e8e8c35cc\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API void NvFlexExtMovingFrameUpdate </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_moving_frame\">NvFlexExtMovingFrame</a> *&#160;</td>\n          <td class=\"paramname\"><em>frame</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const float *&#160;</td>\n          <td class=\"paramname\"><em>worldTranslation</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const float *&#160;</td>\n          <td class=\"paramname\"><em>worldRotation</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">float&#160;</td>\n          <td class=\"paramname\"><em>dt</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n\n</div>\n</div>\n<a class=\"anchor\" id=\"a4ffe9bcd59a6cfc8900ac136f5123304\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API void NvFlexExtMovingFrameApply </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_moving_frame\">NvFlexExtMovingFrame</a> *&#160;</td>\n          <td class=\"paramname\"><em>frame</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">float *&#160;</td>\n          <td class=\"paramname\"><em>positions</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">float *&#160;</td>\n          <td class=\"paramname\"><em>velocities</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>numParticles</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">float&#160;</td>\n          <td class=\"paramname\"><em>linearScale</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">float&#160;</td>\n          <td class=\"paramname\"><em>angularScale</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">float&#160;</td>\n          <td class=\"paramname\"><em>dt</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n\n</div>\n</div>\n<a class=\"anchor\" id=\"a82a15dfd40b338a07cf4517f55f16720\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API int NvFlexExtCreateWeldedMeshIndices </td>\n          <td>(</td>\n          <td class=\"paramtype\">const float *&#160;</td>\n          <td class=\"paramname\"><em>vertices</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>numVertices</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int *&#160;</td>\n          <td class=\"paramname\"><em>uniqueVerts</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int *&#160;</td>\n          <td class=\"paramname\"><em>originalToUniqueMap</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">float&#160;</td>\n          <td class=\"paramname\"><em>threshold</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Create an index buffer of unique vertices in the mesh (collapses vertices in the same position even if they have different normals / texcoords). This can be used to create simulation meshes from render meshes, and is typically done as a pre-pass before calling <a class=\"el\" href=\"_nv_flex_ext_8h.html#a8bef033b2a8567dfcc954e22534147ee\">NvFlexExtCreateClothFromMesh()</a>.</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">vertices</td><td>A pointer to an array of float3 positions </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">numVertices</td><td>The number of vertices in the mesh </td></tr>\n    <tr><td class=\"paramdir\">[out]</td><td class=\"paramname\">uniqueVerts</td><td>A list of unique mesh vertex indices, should be numVertices in length (worst case all verts are unique) </td></tr>\n    <tr><td class=\"paramdir\">[out]</td><td class=\"paramname\">originalToUniqueMap</td><td>Mapping from the original vertex index to the unique vertex index, should be numVertices in length </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">threshold</td><td>The distance below which two vertices are considered duplicates </td></tr>\n  </table>\n  </dd>\n</dl>\n<dl class=\"section return\"><dt>Returns</dt><dd>The number of unique vertices in the mesh </dd></dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"a8bef033b2a8567dfcc954e22534147ee\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API <a class=\"el\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_asset\">NvFlexExtAsset</a>* NvFlexExtCreateClothFromMesh </td>\n          <td>(</td>\n          <td class=\"paramtype\">const float *&#160;</td>\n          <td class=\"paramname\"><em>particles</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>numParticles</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const int *&#160;</td>\n          <td class=\"paramname\"><em>indices</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>numTriangles</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">float&#160;</td>\n          <td class=\"paramname\"><em>stretchStiffness</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">float&#160;</td>\n          <td class=\"paramname\"><em>bendStiffness</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">float&#160;</td>\n          <td class=\"paramname\"><em>tetherStiffness</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">float&#160;</td>\n          <td class=\"paramname\"><em>tetherGive</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">float&#160;</td>\n          <td class=\"paramname\"><em>pressure</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Create a cloth asset consisting of stretch and bend distance constraints given an indexed triangle mesh. Stretch constraints will be placed along triangle edges, while bending constraints are placed over two edges.</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">particles</td><td>Positions and masses of the particles in the format [x, y, z, 1/m] </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">numParticles</td><td>The number of particles </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">indices</td><td>The triangle indices, these should be 'welded' using <a class=\"el\" href=\"_nv_flex_ext_8h.html#a82a15dfd40b338a07cf4517f55f16720\">NvFlexExtCreateWeldedMeshIndices()</a> first </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">numTriangles</td><td>The number of triangles </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">stretchStiffness</td><td>The stiffness coefficient for stretch constraints </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">bendStiffness</td><td>The stiffness coefficient used for bending constraints </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">tetherStiffness</td><td>If &gt; 0.0f then the function will create tethers attached to particles with zero inverse mass. These are unilateral, long-range attachments, which can greatly reduce stretching even at low iteration counts. </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">tetherGive</td><td>Because tether constraints are so effective at reducing stiffness, it can be useful to allow a small amount of extension before the constraint activates. </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">pressure</td><td>If &gt; 0.0f then a volume (pressure) constraint will also be added to the asset, the rest volume and stiffness will be automatically computed by this function </td></tr>\n  </table>\n  </dd>\n</dl>\n<dl class=\"section return\"><dt>Returns</dt><dd>A pointer to an asset structure holding the particles and constraints </dd></dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"addad82b3598059ffde7b3b5babe17bd4\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API <a class=\"el\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_asset\">NvFlexExtAsset</a>* NvFlexExtCreateTearingClothFromMesh </td>\n          <td>(</td>\n          <td class=\"paramtype\">const float *&#160;</td>\n          <td class=\"paramname\"><em>particles</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>numParticles</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>maxParticles</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const int *&#160;</td>\n          <td class=\"paramname\"><em>indices</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>numTriangles</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">float&#160;</td>\n          <td class=\"paramname\"><em>stretchStiffness</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">float&#160;</td>\n          <td class=\"paramname\"><em>bendStiffness</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">float&#160;</td>\n          <td class=\"paramname\"><em>pressure</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Create a cloth asset consisting of stretch and bend distance constraints given an indexed triangle mesh. This creates an asset with the same structure as <a class=\"el\" href=\"_nv_flex_ext_8h.html#a8bef033b2a8567dfcc954e22534147ee\">NvFlexExtCreateClothFromMesh()</a>, however tether constraints are not supported, and additional information regarding mesh topology will be stored with the asset to allow tearing.</p>\n<dl class=\"section note\"><dt>Note</dt><dd>: Typically each instance of a tearable cloth mesh will have it's own asset. This is because the asset holds the topology of the mesh which is unique for each instance.</dd></dl>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">particles</td><td>Positions and masses of the particles in the format [x, y, z, 1/m] </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">numParticles</td><td>The number of particles </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">maxParticles</td><td>The maximum number of particles for this asset, this will limit the amount of tearing that can be performed. </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">indices</td><td>The triangle indices, these should be 'welded' using <a class=\"el\" href=\"_nv_flex_ext_8h.html#a82a15dfd40b338a07cf4517f55f16720\">NvFlexExtCreateWeldedMeshIndices()</a> first </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">numTriangles</td><td>The number of triangles </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">stretchStiffness</td><td>The stiffness coefficient for stretch constraints </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">bendStiffness</td><td>The stiffness coefficient used for bending constraints </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">pressure</td><td>If &gt; 0.0f then a volume (pressure) constraint will also be added to the asset, the rest volume and stiffness will be automatically computed by this function </td></tr>\n  </table>\n  </dd>\n</dl>\n<dl class=\"section return\"><dt>Returns</dt><dd>A pointer to an asset structure holding the particles and constraints </dd></dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"a88054283907d3386f1a30cdc4475acb0\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API void NvFlexExtDestroyTearingCloth </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_asset\">NvFlexExtAsset</a> *&#160;</td>\n          <td class=\"paramname\"><em>asset</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Destroy an asset created with <a class=\"el\" href=\"_nv_flex_ext_8h.html#addad82b3598059ffde7b3b5babe17bd4\">NvFlexExtCreateTearingClothFromMesh()</a> </p><dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">asset</td><td>The asset to be destroyed. </td></tr>\n  </table>\n  </dd>\n</dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"a5efc0113d5432eb959437e6e3a98cc5f\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API void NvFlexExtTearClothMesh </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_asset\">NvFlexExtAsset</a> *&#160;</td>\n          <td class=\"paramname\"><em>asset</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">float&#160;</td>\n          <td class=\"paramname\"><em>maxStrain</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>maxSplits</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_tearing_particle_clone\">NvFlexExtTearingParticleClone</a> *&#160;</td>\n          <td class=\"paramname\"><em>particleCopies</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int *&#160;</td>\n          <td class=\"paramname\"><em>numParticleCopies</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>maxCopies</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_tearing_mesh_edit\">NvFlexExtTearingMeshEdit</a> *&#160;</td>\n          <td class=\"paramname\"><em>triangleEdits</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int *&#160;</td>\n          <td class=\"paramname\"><em>numTriangleEdits</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>maxEdits</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Perform cloth mesh tearing, this function will calculate the strain on each distance constraint and perform splits if it is above a certain strain threshold (i.e.: length/restLength &gt; maxStrain).</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">asset</td><td>The asset describing the cloth constraint network, this must be created with <a class=\"el\" href=\"_nv_flex_ext_8h.html#addad82b3598059ffde7b3b5babe17bd4\">NvFlexExtCreateTearingClothFromMesh()</a> </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">maxStrain</td><td>The maximum allowable strain on each edge </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">maxSplits</td><td>The maximum number of constraint breaks that will be performed, this controls the 'rate' of mesh tearing </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">particleCopies</td><td>Pointer to an array of <a class=\"el\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_tearing_particle_clone\">NvFlexExtTearingParticleClone</a> structures that describe the particle copies that need to be performed </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">numParticleCopies</td><td>Pointer to an integer that will have the number of copies performed written to it </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">maxCopies</td><td>The maximum number of particle copies that will be performed, multiple particles copies may be performed in response to one split </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">triangleEdits</td><td>Pointer to an array of <a class=\"el\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_tearing_mesh_edit\">NvFlexExtTearingMeshEdit</a> structures that describe the topology updates that need to be performed </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">numTriangleEdits</td><td>Pointer to an integer that will have the number of topology updates written to it </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">maxEdits</td><td>The maximum number of index buffer edits that will be output </td></tr>\n  </table>\n  </dd>\n</dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"ad0a9c7e2f907e46b60f6bacf402987ce\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API <a class=\"el\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_asset\">NvFlexExtAsset</a>* NvFlexExtCreateRigidFromMesh </td>\n          <td>(</td>\n          <td class=\"paramtype\">const float *&#160;</td>\n          <td class=\"paramname\"><em>vertices</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>numVertices</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const int *&#160;</td>\n          <td class=\"paramname\"><em>indices</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>numTriangleIndices</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">float&#160;</td>\n          <td class=\"paramname\"><em>radius</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">float&#160;</td>\n          <td class=\"paramname\"><em>expand</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Create a shape body asset from a closed triangle mesh. The mesh is first voxelized at a spacing specified by the radius, and particles are placed at occupied voxels.</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">vertices</td><td>Vertices of the triangle mesh </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">numVertices</td><td>The number of vertices </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">indices</td><td>The triangle indices </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">numTriangleIndices</td><td>The number of triangles indices (triangles*3) </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">radius</td><td>The spacing used for voxelization, note that the number of voxels grows proportional to the inverse cube of radius, currently this method limits construction to resolutions &lt; 64^3 </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">expand</td><td>Particles will be moved inwards (if negative) or outwards (if positive) from the surface of the mesh according to this factor </td></tr>\n  </table>\n  </dd>\n</dl>\n<dl class=\"section return\"><dt>Returns</dt><dd>A pointer to an asset structure holding the particles and constraints </dd></dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"a3a9ce6bba709625f6c338bd3070bd012\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API <a class=\"el\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_asset\">NvFlexExtAsset</a>* NvFlexExtCreateSoftFromMesh </td>\n          <td>(</td>\n          <td class=\"paramtype\">const float *&#160;</td>\n          <td class=\"paramname\"><em>vertices</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>numVertices</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const int *&#160;</td>\n          <td class=\"paramname\"><em>indices</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>numTriangleIndices</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">float&#160;</td>\n          <td class=\"paramname\"><em>particleSpacing</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">float&#160;</td>\n          <td class=\"paramname\"><em>volumeSampling</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">float&#160;</td>\n          <td class=\"paramname\"><em>surfaceSampling</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">float&#160;</td>\n          <td class=\"paramname\"><em>clusterSpacing</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">float&#160;</td>\n          <td class=\"paramname\"><em>clusterRadius</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">float&#160;</td>\n          <td class=\"paramname\"><em>clusterStiffness</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">float&#160;</td>\n          <td class=\"paramname\"><em>linkRadius</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">float&#160;</td>\n          <td class=\"paramname\"><em>linkStiffness</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">float&#160;</td>\n          <td class=\"paramname\"><em>globalStiffness</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">float&#160;</td>\n          <td class=\"paramname\"><em>clusterPlasticThreshold</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">float&#160;</td>\n          <td class=\"paramname\"><em>clusterPlasticCreep</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Create a shape body asset from a closed triangle mesh. The mesh is first voxelized at a spacing specified by the radius, and particles are placed at occupied voxels.</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">vertices</td><td>Vertices of the triangle mesh </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">numVertices</td><td>The number of vertices </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">indices</td><td>The triangle indices </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">numTriangleIndices</td><td>The number of triangles indices (triangles*3) </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">particleSpacing</td><td>The spacing to use when creating particles </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">volumeSampling</td><td>Control the resolution the mesh is voxelized at in order to generate interior sampling, if the mesh is not closed then this should be set to zero and surface sampling should be used instead </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">surfaceSampling</td><td>Controls how many samples are taken of the mesh surface, this is useful to ensure fine features of the mesh are represented by particles, or if the mesh is not closed </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">clusterSpacing</td><td>The spacing for shape-matching clusters, should be at least the particle spacing </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">clusterRadius</td><td>Controls the overall size of the clusters, this controls how much overlap the clusters have which affects how smooth the final deformation is, if parts of the body are detaching then it means the clusters are not overlapping sufficiently to form a fully connected set of clusters </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">clusterStiffness</td><td>Controls the stiffness of the resulting clusters </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">linkRadius</td><td>Any particles below this distance will have additional distance constraints created between them </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">linkStiffness</td><td>The stiffness of distance links </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">globalStiffness</td><td>If this parameter is &gt; 0.0f, adds an additional global cluster that consists of all particles in the shape. The stiffness of this cluster is the globalStiffness. </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">clusterPlasticThreshold</td><td>Particles belonging to rigid shapes that move with a position delta magnitude &gt; threshold will be permanently deformed in the rest pose, if clusterPlasticCreep &gt; 0.0f </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">clusterPlasticCreep</td><td>Controls the rate at which particles in the rest pose are deformed for particles passing the deformation threshold </td></tr>\n  </table>\n  </dd>\n</dl>\n<dl class=\"section return\"><dt>Returns</dt><dd>A pointer to an asset structure holding the particles and constraints </dd></dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"a36c33fafe13c5fd5773bf9a2af2dd745\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API void NvFlexExtDestroyAsset </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_asset\">NvFlexExtAsset</a> *&#160;</td>\n          <td class=\"paramname\"><em>asset</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Frees all memory associated with an asset created by one of the creation methods param[in] asset The asset to destroy. </p>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"a6e3f12e9e92abb31b115cf31b33e34bb\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API void NvFlexExtCreateSoftMeshSkinning </td>\n          <td>(</td>\n          <td class=\"paramtype\">const float *&#160;</td>\n          <td class=\"paramname\"><em>vertices</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>numVertices</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const float *&#160;</td>\n          <td class=\"paramname\"><em>bones</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>numBones</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">float&#160;</td>\n          <td class=\"paramname\"><em>falloff</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">float&#160;</td>\n          <td class=\"paramname\"><em>maxDistance</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">float *&#160;</td>\n          <td class=\"paramname\"><em>skinningWeights</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int *&#160;</td>\n          <td class=\"paramname\"><em>skinningIndices</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Creates information for linear blend skining a graphics mesh to a set of transforms (bones)</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">vertices</td><td>Vertices of the triangle mesh </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">numVertices</td><td>The number of vertices </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">bones</td><td>Pointer to an array of vec3 positions representing the bone positions </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">numBones</td><td>Then number of bones </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">falloff</td><td>The speed at which the bone's influence on a vertex falls off with distance </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">maxDistance</td><td>The maximum distance a bone can be from a vertex before it will not influence it any more </td></tr>\n    <tr><td class=\"paramdir\">[out]</td><td class=\"paramname\">skinningWeights</td><td>The normalized weights for each bone, there are up to 4 weights per-vertex so this should be numVertices*4 in length </td></tr>\n    <tr><td class=\"paramdir\">[out]</td><td class=\"paramname\">skinningIndices</td><td>The indices of each bone corresponding to the skinning weight, will be -1 if this weight is not used </td></tr>\n  </table>\n  </dd>\n</dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"a49906c9e3466d40383cddf627fe26658\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API <a class=\"el\" href=\"_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4\">NvFlexExtContainer</a>* NvFlexExtCreateContainer </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a> *&#160;</td>\n          <td class=\"paramname\"><em>lib</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *&#160;</td>\n          <td class=\"paramname\"><em>solver</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>maxParticles</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Creates a wrapper object around a Flex solver that can hold assets / instances, the container manages sending and retrieving partical data from the solver</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">lib</td><td>The library instance to use </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">solver</td><td>The solver to wrap </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">maxParticles</td><td>The maximum number of particles to manage </td></tr>\n  </table>\n  </dd>\n</dl>\n<dl class=\"section return\"><dt>Returns</dt><dd>A pointer to the new container </dd></dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"a2509137d9fb8ab6818f35ab7761da7a5\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API void NvFlexExtDestroyContainer </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4\">NvFlexExtContainer</a> *&#160;</td>\n          <td class=\"paramname\"><em>container</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Frees all memory associated with a container</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">container</td><td>The container to destroy </td></tr>\n  </table>\n  </dd>\n</dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"a7c036ccca83df3659529858068e0593d\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API int NvFlexExtAllocParticles </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4\">NvFlexExtContainer</a> *&#160;</td>\n          <td class=\"paramname\"><em>container</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>n</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int *&#160;</td>\n          <td class=\"paramname\"><em>indices</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Allocates particles in the container.</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">container</td><td>The container to allocate out of </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">n</td><td>The number of particles to allocate </td></tr>\n    <tr><td class=\"paramdir\">[out]</td><td class=\"paramname\">indices</td><td>An n-length array of ints that will store the indices to the allocated particles </td></tr>\n  </table>\n  </dd>\n</dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"ab0a259d159116b7fba9b229784b02c70\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API void NvFlexExtFreeParticles </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4\">NvFlexExtContainer</a> *&#160;</td>\n          <td class=\"paramname\"><em>container</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>n</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const int *&#160;</td>\n          <td class=\"paramname\"><em>indices</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Free allocated particles</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">container</td><td>The container to free from </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">n</td><td>The number of particles to free </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">indices</td><td>The indices of the particles to free </td></tr>\n  </table>\n  </dd>\n</dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"a7fc268a27306f6fc68dd1c106cfa62db\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API int NvFlexExtGetActiveList </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4\">NvFlexExtContainer</a> *&#160;</td>\n          <td class=\"paramname\"><em>container</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int *&#160;</td>\n          <td class=\"paramname\"><em>indices</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Retrives the indices of all active particles</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">container</td><td>The container to free from </td></tr>\n    <tr><td class=\"paramdir\">[out]</td><td class=\"paramname\">indices</td><td>Returns the number of active particles </td></tr>\n  </table>\n  </dd>\n</dl>\n<dl class=\"section return\"><dt>Returns</dt><dd>The number of active particles </dd></dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"a3fa8bd4b7d4096602e611faf0bb62dfb\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API <a class=\"el\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_particle_data\">NvFlexExtParticleData</a> NvFlexExtMapParticleData </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4\">NvFlexExtContainer</a> *&#160;</td>\n          <td class=\"paramname\"><em>container</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Returns pointers to the internal data stored by the container. These are host-memory pointers, and will remain valid <a class=\"el\" href=\"_nv_flex_ext_8h.html#af0cd639c21be28640fe5e1dd94931d59\">NvFlexExtUnmapParticleData()</a> is called.</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramname\">container</td><td>The container whose data should be accessed </td></tr>\n  </table>\n  </dd>\n</dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"af0cd639c21be28640fe5e1dd94931d59\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API void NvFlexExtUnmapParticleData </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4\">NvFlexExtContainer</a> *&#160;</td>\n          <td class=\"paramname\"><em>container</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n\n</div>\n</div>\n<a class=\"anchor\" id=\"a1646bf409084777cd0ff5d4fcccf07de\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API <a class=\"el\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_triangle_data\">NvFlexExtTriangleData</a> NvFlexExtMapTriangleData </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4\">NvFlexExtContainer</a> *&#160;</td>\n          <td class=\"paramname\"><em>container</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Access triangle constraint data, see NvFlexExtGetParticleData() for notes on ownership.</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramname\">container</td><td>The container to retrive from </td></tr>\n  </table>\n  </dd>\n</dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"a89e582ae93e0256b06f22d9abf361783\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API void NvFlexExtUnmapTriangleData </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4\">NvFlexExtContainer</a> *&#160;</td>\n          <td class=\"paramname\"><em>container</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Unmap triangle data, see <a class=\"el\" href=\"_nv_flex_ext_8h.html#a1646bf409084777cd0ff5d4fcccf07de\">NvFlexExtMapTriangleData()</a> </p>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"a90f2d3ba5be20e70e7efead911ee7acc\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API <a class=\"el\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_shape_data\">NvFlexExtShapeData</a> NvFlexExtMapShapeData </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4\">NvFlexExtContainer</a> *&#160;</td>\n          <td class=\"paramname\"><em>container</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Access shape body constraint data, see NvFlexExtGetParticleData() for notes on ownership.</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramname\">container</td><td>The container to retrive from </td></tr>\n  </table>\n  </dd>\n</dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"ab51f04114586b5bf0f6fc5816fda9c69\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API void NvFlexExtUnmapShapeData </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4\">NvFlexExtContainer</a> *&#160;</td>\n          <td class=\"paramname\"><em>container</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Unmap shape transform data, see <a class=\"el\" href=\"_nv_flex_ext_8h.html#a90f2d3ba5be20e70e7efead911ee7acc\">NvFlexExtMapShapeData()</a> </p>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"a3bf10e2c9370602142b7be01e920f973\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API <a class=\"el\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_instance\">NvFlexExtInstance</a>* NvFlexExtCreateInstance </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4\">NvFlexExtContainer</a> *&#160;</td>\n          <td class=\"paramname\"><em>container</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_particle_data\">NvFlexExtParticleData</a> *&#160;</td>\n          <td class=\"paramname\"><em>particleData</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const <a class=\"el\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_asset\">NvFlexExtAsset</a> *&#160;</td>\n          <td class=\"paramname\"><em>asset</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const float *&#160;</td>\n          <td class=\"paramname\"><em>transform</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">float&#160;</td>\n          <td class=\"paramname\"><em>vx</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">float&#160;</td>\n          <td class=\"paramname\"><em>vy</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">float&#160;</td>\n          <td class=\"paramname\"><em>vz</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>phase</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">float&#160;</td>\n          <td class=\"paramname\"><em>invMassScale</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Creates an instance of an asset, the container will internally store a reference to the asset so it should remain valid for the instance lifetime. This method will allocate particles for the asset, assign their initial positions, velocity and phase.</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">container</td><td>The container to spawn into </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">particleData</td><td>Pointer to a mapped particle data struct, returned from <a class=\"el\" href=\"_nv_flex_ext_8h.html#a3fa8bd4b7d4096602e611faf0bb62dfb\">NvFlexExtMapParticleData()</a> </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">asset</td><td>The asset to be spawned </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">transform</td><td>A pointer to a 4x4 column major, column vector transform that specifies the initial world space configuration of the particles </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">vx</td><td>The velocity of the particles along the x axis </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">vy</td><td>The velocity of the particles along the y axis </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">vz</td><td>The velocity of the particles along the z axis </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">phase</td><td>The phase used for the particles </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">invMassScale</td><td>A factor applied to the per particle inverse mass </td></tr>\n  </table>\n  </dd>\n</dl>\n<dl class=\"section return\"><dt>Returns</dt><dd>A pointer to the instance of the asset </dd></dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"a2b5634f64bd0d8d86f894885a1c16a33\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API void NvFlexExtDestroyInstance </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4\">NvFlexExtContainer</a> *&#160;</td>\n          <td class=\"paramname\"><em>container</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const <a class=\"el\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_instance\">NvFlexExtInstance</a> *&#160;</td>\n          <td class=\"paramname\"><em>instance</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Destoy an instance of an asset</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">container</td><td>The container the instance belongs to </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">instance</td><td>The instance to destroy </td></tr>\n  </table>\n  </dd>\n</dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"ad9343d07f49098ee205a1ed48dc9db34\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API void NvFlexExtNotifyAssetChanged </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4\">NvFlexExtContainer</a> *&#160;</td>\n          <td class=\"paramname\"><em>container</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const <a class=\"el\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_asset\">NvFlexExtAsset</a> *&#160;</td>\n          <td class=\"paramname\"><em>asset</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Notifies the container that asset data has changed and needs to be sent to the GPU this should be called if the constraints for an existing asset are modified by the user</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">container</td><td>The container the instance referencing the asset belongs to </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">asset</td><td>The asset which was modified (can be NULL) </td></tr>\n  </table>\n  </dd>\n</dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"ab4caadf5a6b19674849bfce91d986e7b\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API void NvFlexExtTickContainer </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4\">NvFlexExtContainer</a> *&#160;</td>\n          <td class=\"paramname\"><em>container</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">float&#160;</td>\n          <td class=\"paramname\"><em>dt</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>numSubsteps</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">bool&#160;</td>\n          <td class=\"paramname\"><em>enableTimers</em> = <code>false</code>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Updates the container, applies force fields, steps the solver forward in time, updates the host with the results synchronously. This is a helper function which performs a synchronous update using the following flow.</p>\n<div class=\"fragment\"><div class=\"line\"><span class=\"comment\">// async update GPU data</span></div>\n<div class=\"line\"><a class=\"code\" href=\"_nv_flex_ext_8h.html#a425f4e472bb83797498c904ab228209c\">NvFlexExtPushToDevice</a>(container);</div>\n<div class=\"line\"></div>\n<div class=\"line\"><span class=\"comment\">// update solver</span></div>\n<div class=\"line\"><a class=\"code\" href=\"_nv_flex_8h.html#ac75370f005fd453fe8a324fe62be1b5c\">NvFlexUpdateSolver</a>(container, dt, iterations);</div>\n<div class=\"line\"></div>\n<div class=\"line\"><span class=\"comment\">// async read data back to CPU</span></div>\n<div class=\"line\"><a class=\"code\" href=\"_nv_flex_ext_8h.html#a89ea7bbd26bec46f1b82d84257de1f58\">NvFlexExtPullFromDevice</a>(container);</div>\n<div class=\"line\"></div>\n<div class=\"line\"><span class=\"comment\">// read / write particle data on CPU</span></div>\n<div class=\"line\"><a class=\"code\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_particle_data\">NvFlexExtParticleData</a> data = <a class=\"code\" href=\"_nv_flex_ext_8h.html#a3fa8bd4b7d4096602e611faf0bb62dfb\">NvFlexExtMapParticleData</a>();</div>\n<div class=\"line\"></div>\n<div class=\"line\"><span class=\"comment\">// CPU particle processing</span></div>\n<div class=\"line\">ProcessParticles(data);</div>\n<div class=\"line\"></div>\n<div class=\"line\"><span class=\"comment\">// unmap data</span></div>\n<div class=\"line\"><a class=\"code\" href=\"_nv_flex_ext_8h.html#af0cd639c21be28640fe5e1dd94931d59\">NvFlexExtUnmapParticleData</a>();</div>\n</div><!-- fragment --> <dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">container</td><td>The container to update </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">dt</td><td>The time-step in seconds </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">numSubsteps</td><td>The number of substeps to perform </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">enableTimers</td><td>Whether to record detailed timers, see <a class=\"el\" href=\"_nv_flex_8h.html#ac75370f005fd453fe8a324fe62be1b5c\">NvFlexUpdateSolver()</a> </td></tr>\n  </table>\n  </dd>\n</dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"a425f4e472bb83797498c904ab228209c\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API void NvFlexExtPushToDevice </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4\">NvFlexExtContainer</a> *&#160;</td>\n          <td class=\"paramname\"><em>container</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Updates the device asynchronously, transfers any particle and constraint changes to the flex solver, expected to be called in the following sequence: NvFlexExtPushToDevice, NvFlexUpdateSolver, NvFlexExtPullFromDevice, flexSynchronize </p><dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">container</td><td>The container to update </td></tr>\n  </table>\n  </dd>\n</dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"a89ea7bbd26bec46f1b82d84257de1f58\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API void NvFlexExtPullFromDevice </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4\">NvFlexExtContainer</a> *&#160;</td>\n          <td class=\"paramname\"><em>container</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Updates the host asynchronously, transfers particle and constraint data back to he host, expected to be called in the following sequence: NvFlexExtPushToDevice, NvFlexUpdateSolver, NvFlexExtPullFromDevice </p><dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">container</td><td>The container to update </td></tr>\n  </table>\n  </dd>\n</dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"a4695d37db8b61495f200bfd88a2be628\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API void NvFlexExtUpdateInstances </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4\">NvFlexExtContainer</a> *&#160;</td>\n          <td class=\"paramname\"><em>container</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Synchronizes the per-instance data with the container's data, should be called after the synchronization with the solver read backs are complete</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">container</td><td>The instances belonging to this container will be updated </td></tr>\n  </table>\n  </dd>\n</dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"ac1ed9ff49120d0691352399c8173bdcf\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API <a class=\"el\" href=\"_nv_flex_ext_8h.html#a1117ce527b6b483cc756ab5352f6dc3f\">NvFlexExtForceFieldCallback</a>* NvFlexExtCreateForceFieldCallback </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a> *&#160;</td>\n          <td class=\"paramname\"><em>solver</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Create a NvFlexExtForceFieldCallback structure, each callback is associated with the passed in solver once the <a class=\"el\" href=\"_nv_flex_ext_8h.html#aa36d43b9e53b9b66d43c2bc5eb5abf98\">NvFlexExtSetForceFields()</a> is called.</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">solver</td><td>A valid solver created with <a class=\"el\" href=\"_nv_flex_8h.html#a9e925acbc34675dfe247da017cbd855f\">NvFlexCreateSolver()</a> </td></tr>\n  </table>\n  </dd>\n</dl>\n<dl class=\"section return\"><dt>Returns</dt><dd>A pointer to a callback structure </dd></dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"ad08da77f432ca56bc59647bf73da86cb\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API void NvFlexExtDestroyForceFieldCallback </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_ext_8h.html#a1117ce527b6b483cc756ab5352f6dc3f\">NvFlexExtForceFieldCallback</a> *&#160;</td>\n          <td class=\"paramname\"><em>callback</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Destroy the force field callback</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">callback</td><td>A valid solver created with <a class=\"el\" href=\"_nv_flex_ext_8h.html#ac1ed9ff49120d0691352399c8173bdcf\">NvFlexExtCreateForceFieldCallback()</a> </td></tr>\n  </table>\n  </dd>\n</dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"aa36d43b9e53b9b66d43c2bc5eb5abf98\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API void NvFlexExtSetForceFields </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_ext_8h.html#a1117ce527b6b483cc756ab5352f6dc3f\">NvFlexExtForceFieldCallback</a> *&#160;</td>\n          <td class=\"paramname\"><em>callback</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const <a class=\"el\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_force_field\">NvFlexExtForceField</a> *&#160;</td>\n          <td class=\"paramname\"><em>forceFields</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>numForceFields</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Set force fields on the container, these will be applied during the Flex update</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">callback</td><td>The callback to update </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">forceFields</td><td>A pointer to an array of force field data, may be host or GPU memory </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">numForceFields</td><td>The number of force fields to send to the device </td></tr>\n  </table>\n  </dd>\n</dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"af52527c58c7bd671d26b2985b078aff4\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API <a class=\"el\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_soft_joint\">NvFlexExtSoftJoint</a>* NvFlexExtCreateSoftJoint </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4\">NvFlexExtContainer</a> *&#160;</td>\n          <td class=\"paramname\"><em>container</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const int *&#160;</td>\n          <td class=\"paramname\"><em>particleIndices</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const float *&#160;</td>\n          <td class=\"paramname\"><em>particleLocalPositions</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const int&#160;</td>\n          <td class=\"paramname\"><em>numJointParticles</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const float&#160;</td>\n          <td class=\"paramname\"><em>stiffness</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Create a soft joint, the container will internally store a reference to the joint array</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">container</td><td>The container to spawn into </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">particleIndices</td><td>A pointer to an array of particle indices </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">particleLocalPositions</td><td>A pointer to an array of particle local positions </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">numJointParticles</td><td>The number of particles in the joint </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">stiffness</td><td>The stiffness of the joint </td></tr>\n  </table>\n  </dd>\n</dl>\n<dl class=\"section return\"><dt>Returns</dt><dd>A pointer to the soft joint </dd></dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"a021a25caa64e7f9e9542ea0bc7e6d632\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API void NvFlexExtDestroySoftJoint </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4\">NvFlexExtContainer</a> *&#160;</td>\n          <td class=\"paramname\"><em>container</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_soft_joint\">NvFlexExtSoftJoint</a> *&#160;</td>\n          <td class=\"paramname\"><em>joint</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Destroy a soft joint</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">container</td><td>The container the joint belongs to </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">joint</td><td>The soft joint to destroy </td></tr>\n  </table>\n  </dd>\n</dl>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"a3fea23644fb7b0840132eee46ea971e4\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">NV_FLEX_API void NvFlexExtSoftJointSetTransform </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4\">NvFlexExtContainer</a> *&#160;</td>\n          <td class=\"paramname\"><em>container</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_soft_joint\">NvFlexExtSoftJoint</a> *&#160;</td>\n          <td class=\"paramname\"><em>joint</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const float *&#160;</td>\n          <td class=\"paramname\"><em>position</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const float *&#160;</td>\n          <td class=\"paramname\"><em>rotation</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Transform all the local particles of the soft joint</p>\n<dl class=\"params\"><dt>Parameters</dt><dd>\n  <table class=\"params\">\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">container</td><td>The container to spawn into </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">joint</td><td>The soft joint to destroy </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">position</td><td>A pointer to a vec3 storing the soft joint new position </td></tr>\n    <tr><td class=\"paramdir\">[in]</td><td class=\"paramname\">rotation</td><td>A pointer to a quaternion storing the soft joint new rotation </td></tr>\n  </table>\n  </dd>\n</dl>\n\n</div>\n</div>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated on Mon Mar 19 2018 14:53:17 for FLEX by &#160;<a href=\"http://www.doxygen.org/index.html\">\n<img class=\"footer\" src=\"doxygen.png\" alt=\"doxygen\"/>\n</a> 1.8.9.1\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "doc/_static/api/_nv_flex_ext_8h_source.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.9.1\"/>\n<title>FLEX: NvFlexExt.h Source File</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n<link href=\"flex.css\" rel=\"stylesheet\" type=\"text/css\"/>\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectlogo\"><img alt=\"Logo\" src=\"nvidia.png\"/></td>\n  <td style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">FLEX\n   &#160;<span id=\"projectnumber\">1.2.0</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.9.1 -->\n<div id=\"nav-path\" class=\"navpath\">\n  <ul>\n<li class=\"navelem\"><a class=\"el\" href=\"dir_d44c64559bbebec7f509842c48db8b23.html\">include</a></li>  </ul>\n</div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"headertitle\">\n<div class=\"title\">NvFlexExt.h</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n<a href=\"_nv_flex_ext_8h.html\">Go to the documentation of this file.</a><div class=\"fragment\"><div class=\"line\"><a name=\"l00001\"></a><span class=\"lineno\">    1</span>&#160;<span class=\"comment\">// This code contains NVIDIA Confidential Information and is disclosed to you</span></div>\n<div class=\"line\"><a name=\"l00002\"></a><span class=\"lineno\">    2</span>&#160;<span class=\"comment\">// under a form of NVIDIA software license agreement provided separately to you.</span></div>\n<div class=\"line\"><a name=\"l00003\"></a><span class=\"lineno\">    3</span>&#160;<span class=\"comment\">//</span></div>\n<div class=\"line\"><a name=\"l00004\"></a><span class=\"lineno\">    4</span>&#160;<span class=\"comment\">// Notice</span></div>\n<div class=\"line\"><a name=\"l00005\"></a><span class=\"lineno\">    5</span>&#160;<span class=\"comment\">// NVIDIA Corporation and its licensors retain all intellectual property and</span></div>\n<div class=\"line\"><a name=\"l00006\"></a><span class=\"lineno\">    6</span>&#160;<span class=\"comment\">// proprietary rights in and to this software and related documentation and</span></div>\n<div class=\"line\"><a name=\"l00007\"></a><span class=\"lineno\">    7</span>&#160;<span class=\"comment\">// any modifications thereto. Any use, reproduction, disclosure, or</span></div>\n<div class=\"line\"><a name=\"l00008\"></a><span class=\"lineno\">    8</span>&#160;<span class=\"comment\">// distribution of this software and related documentation without an express</span></div>\n<div class=\"line\"><a name=\"l00009\"></a><span class=\"lineno\">    9</span>&#160;<span class=\"comment\">// license agreement from NVIDIA Corporation is strictly prohibited.</span></div>\n<div class=\"line\"><a name=\"l00010\"></a><span class=\"lineno\">   10</span>&#160;<span class=\"comment\">//</span></div>\n<div class=\"line\"><a name=\"l00011\"></a><span class=\"lineno\">   11</span>&#160;<span class=\"comment\">// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED &quot;AS IS.&quot;. NVIDIA MAKES</span></div>\n<div class=\"line\"><a name=\"l00012\"></a><span class=\"lineno\">   12</span>&#160;<span class=\"comment\">// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO</span></div>\n<div class=\"line\"><a name=\"l00013\"></a><span class=\"lineno\">   13</span>&#160;<span class=\"comment\">// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,</span></div>\n<div class=\"line\"><a name=\"l00014\"></a><span class=\"lineno\">   14</span>&#160;<span class=\"comment\">// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.</span></div>\n<div class=\"line\"><a name=\"l00015\"></a><span class=\"lineno\">   15</span>&#160;<span class=\"comment\">//</span></div>\n<div class=\"line\"><a name=\"l00016\"></a><span class=\"lineno\">   16</span>&#160;<span class=\"comment\">// Information and code furnished is believed to be accurate and reliable.</span></div>\n<div class=\"line\"><a name=\"l00017\"></a><span class=\"lineno\">   17</span>&#160;<span class=\"comment\">// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such</span></div>\n<div class=\"line\"><a name=\"l00018\"></a><span class=\"lineno\">   18</span>&#160;<span class=\"comment\">// information or for any infringement of patents or other rights of third parties that may</span></div>\n<div class=\"line\"><a name=\"l00019\"></a><span class=\"lineno\">   19</span>&#160;<span class=\"comment\">// result from its use. No license is granted by implication or otherwise under any patent</span></div>\n<div class=\"line\"><a name=\"l00020\"></a><span class=\"lineno\">   20</span>&#160;<span class=\"comment\">// or patent rights of NVIDIA Corporation. Details are subject to change without notice.</span></div>\n<div class=\"line\"><a name=\"l00021\"></a><span class=\"lineno\">   21</span>&#160;<span class=\"comment\">// This code supersedes and replaces all information previously supplied.</span></div>\n<div class=\"line\"><a name=\"l00022\"></a><span class=\"lineno\">   22</span>&#160;<span class=\"comment\">// NVIDIA Corporation products are not authorized for use as critical</span></div>\n<div class=\"line\"><a name=\"l00023\"></a><span class=\"lineno\">   23</span>&#160;<span class=\"comment\">// components in life support devices or systems without express written approval of</span></div>\n<div class=\"line\"><a name=\"l00024\"></a><span class=\"lineno\">   24</span>&#160;<span class=\"comment\">// NVIDIA Corporation.</span></div>\n<div class=\"line\"><a name=\"l00025\"></a><span class=\"lineno\">   25</span>&#160;<span class=\"comment\">//</span></div>\n<div class=\"line\"><a name=\"l00026\"></a><span class=\"lineno\">   26</span>&#160;<span class=\"comment\">// Copyright (c) 2013-2020 NVIDIA Corporation. All rights reserved.</span></div>\n<div class=\"line\"><a name=\"l00027\"></a><span class=\"lineno\">   27</span>&#160;</div>\n<div class=\"line\"><a name=\"l00028\"></a><span class=\"lineno\">   28</span>&#160;<span class=\"preprocessor\">#ifndef NV_FLEX_EXT_H</span></div>\n<div class=\"line\"><a name=\"l00029\"></a><span class=\"lineno\">   29</span>&#160;<span class=\"preprocessor\">#define NV_FLEX_EXT_H</span></div>\n<div class=\"line\"><a name=\"l00030\"></a><span class=\"lineno\">   30</span>&#160;</div>\n<div class=\"line\"><a name=\"l00036\"></a><span class=\"lineno\">   36</span>&#160;<span class=\"preprocessor\">#include &quot;<a class=\"code\" href=\"_nv_flex_8h.html\">NvFlex.h</a>&quot;</span></div>\n<div class=\"line\"><a name=\"l00037\"></a><span class=\"lineno\">   37</span>&#160;</div>\n<div class=\"line\"><a name=\"l00038\"></a><span class=\"lineno\">   38</span>&#160;<span class=\"preprocessor\">#include &lt;cassert&gt;</span></div>\n<div class=\"line\"><a name=\"l00039\"></a><span class=\"lineno\">   39</span>&#160;<span class=\"preprocessor\">#include &lt;cstddef&gt;</span></div>\n<div class=\"line\"><a name=\"l00040\"></a><span class=\"lineno\">   40</span>&#160;</div>\n<div class=\"line\"><a name=\"l00041\"></a><span class=\"lineno\">   41</span>&#160;<span class=\"comment\">// A vector type that wraps a NvFlexBuffer, behaves like a standard vector for POD types (no construction)</span></div>\n<div class=\"line\"><a name=\"l00042\"></a><span class=\"lineno\">   42</span>&#160;<span class=\"comment\">// The vector must be mapped using map() before any read/write access to elements or resize operation</span></div>\n<div class=\"line\"><a name=\"l00043\"></a><span class=\"lineno\">   43</span>&#160;</div>\n<div class=\"line\"><a name=\"l00044\"></a><span class=\"lineno\">   44</span>&#160;<span class=\"keyword\">template</span> &lt;<span class=\"keyword\">typename</span> T&gt;</div>\n<div class=\"line\"><a name=\"l00045\"></a><span class=\"lineno\"><a class=\"line\" href=\"struct_nv_flex_vector.html\">   45</a></span>&#160;<span class=\"keyword\">struct </span><a class=\"code\" href=\"struct_nv_flex_vector.html\">NvFlexVector</a></div>\n<div class=\"line\"><a name=\"l00046\"></a><span class=\"lineno\">   46</span>&#160;{</div>\n<div class=\"line\"><a name=\"l00047\"></a><span class=\"lineno\"><a class=\"line\" href=\"struct_nv_flex_vector.html#a51edbab41cc249bc117c7ce17651007c\">   47</a></span>&#160;    <a class=\"code\" href=\"struct_nv_flex_vector.html#a51edbab41cc249bc117c7ce17651007c\">NvFlexVector</a>(<a class=\"code\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a>* l, <span class=\"keywordtype\">int</span> <a class=\"code\" href=\"struct_nv_flex_vector.html#a1933b633e9055d9adf8b62c4aa8a3bc0\">size</a> = 0, <a class=\"code\" href=\"_nv_flex_8h.html#a169e4c126acf46bdebf76c36a44deca3\">NvFlexBufferType</a> <a class=\"code\" href=\"struct_nv_flex_vector.html#a24fa4e3807b492cd5fbdc6c1c235062b\">type</a> = <a class=\"code\" href=\"_nv_flex_8h.html#a169e4c126acf46bdebf76c36a44deca3aec63221ddc1b13eff4db55fbf6cd85f8\">eNvFlexBufferHost</a>) : <a class=\"code\" href=\"struct_nv_flex_vector.html#ab08ce71766df91fc9201a61a48054d0c\">lib</a>(l), <a class=\"code\" href=\"struct_nv_flex_vector.html#aa408aa5327d07f69fc12314df2d5dcfb\">buffer</a>(NULL), <a class=\"code\" href=\"struct_nv_flex_vector.html#aa4422fcaa24d5bbd71aa7772639512b9\">mappedPtr</a>(NULL), <a class=\"code\" href=\"struct_nv_flex_vector.html#ad462ae46f0270161c79572762b558124\">count</a>(0), <a class=\"code\" href=\"struct_nv_flex_vector.html#ac28b5fd10fd519265c66cf4a0ce8e6ae\">capacity</a>(0), <a class=\"code\" href=\"struct_nv_flex_vector.html#a24fa4e3807b492cd5fbdc6c1c235062b\">type</a>(<a class=\"code\" href=\"struct_nv_flex_vector.html#a24fa4e3807b492cd5fbdc6c1c235062b\">type</a>)</div>\n<div class=\"line\"><a name=\"l00048\"></a><span class=\"lineno\">   48</span>&#160;    {</div>\n<div class=\"line\"><a name=\"l00049\"></a><span class=\"lineno\">   49</span>&#160;        <span class=\"keywordflow\">if</span> (<a class=\"code\" href=\"struct_nv_flex_vector.html#a1933b633e9055d9adf8b62c4aa8a3bc0\">size</a>)</div>\n<div class=\"line\"><a name=\"l00050\"></a><span class=\"lineno\">   50</span>&#160;        {</div>\n<div class=\"line\"><a name=\"l00051\"></a><span class=\"lineno\">   51</span>&#160;            <a class=\"code\" href=\"struct_nv_flex_vector.html#a6c4a1f4acb4d6275c9e1ac01d4e35ab1\">resize</a>(<a class=\"code\" href=\"struct_nv_flex_vector.html#a1933b633e9055d9adf8b62c4aa8a3bc0\">size</a>);</div>\n<div class=\"line\"><a name=\"l00052\"></a><span class=\"lineno\">   52</span>&#160;</div>\n<div class=\"line\"><a name=\"l00053\"></a><span class=\"lineno\">   53</span>&#160;            <span class=\"comment\">// resize implicitly maps, unmap initial allocation</span></div>\n<div class=\"line\"><a name=\"l00054\"></a><span class=\"lineno\">   54</span>&#160;            <a class=\"code\" href=\"struct_nv_flex_vector.html#afca9914468beb61f6c98bc052e2af5e0\">unmap</a>();</div>\n<div class=\"line\"><a name=\"l00055\"></a><span class=\"lineno\">   55</span>&#160;        }       </div>\n<div class=\"line\"><a name=\"l00056\"></a><span class=\"lineno\">   56</span>&#160;    }</div>\n<div class=\"line\"><a name=\"l00057\"></a><span class=\"lineno\">   57</span>&#160;    </div>\n<div class=\"line\"><a name=\"l00058\"></a><span class=\"lineno\"><a class=\"line\" href=\"struct_nv_flex_vector.html#ae5818b10d20083ee9ed0aa7826ea7ab8\">   58</a></span>&#160;    <a class=\"code\" href=\"struct_nv_flex_vector.html#ae5818b10d20083ee9ed0aa7826ea7ab8\">NvFlexVector</a>(<a class=\"code\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a>* l, <span class=\"keyword\">const</span> T* ptr, <span class=\"keywordtype\">int</span> <a class=\"code\" href=\"struct_nv_flex_vector.html#a1933b633e9055d9adf8b62c4aa8a3bc0\">size</a>, <a class=\"code\" href=\"_nv_flex_8h.html#a169e4c126acf46bdebf76c36a44deca3\">NvFlexBufferType</a> <a class=\"code\" href=\"struct_nv_flex_vector.html#a24fa4e3807b492cd5fbdc6c1c235062b\">type</a> = <a class=\"code\" href=\"_nv_flex_8h.html#a169e4c126acf46bdebf76c36a44deca3aec63221ddc1b13eff4db55fbf6cd85f8\">eNvFlexBufferHost</a>) : <a class=\"code\" href=\"struct_nv_flex_vector.html#ab08ce71766df91fc9201a61a48054d0c\">lib</a>(l), <a class=\"code\" href=\"struct_nv_flex_vector.html#aa408aa5327d07f69fc12314df2d5dcfb\">buffer</a>(NULL), <a class=\"code\" href=\"struct_nv_flex_vector.html#aa4422fcaa24d5bbd71aa7772639512b9\">mappedPtr</a>(NULL), <a class=\"code\" href=\"struct_nv_flex_vector.html#ad462ae46f0270161c79572762b558124\">count</a>(0), <a class=\"code\" href=\"struct_nv_flex_vector.html#ac28b5fd10fd519265c66cf4a0ce8e6ae\">capacity</a>(0), <a class=\"code\" href=\"struct_nv_flex_vector.html#a24fa4e3807b492cd5fbdc6c1c235062b\">type</a>(<a class=\"code\" href=\"struct_nv_flex_vector.html#a24fa4e3807b492cd5fbdc6c1c235062b\">type</a>)</div>\n<div class=\"line\"><a name=\"l00059\"></a><span class=\"lineno\">   59</span>&#160;    {</div>\n<div class=\"line\"><a name=\"l00060\"></a><span class=\"lineno\">   60</span>&#160;        <a class=\"code\" href=\"struct_nv_flex_vector.html#acd29b9b2b27e53e3640c24da6959e3cd\">assign</a>(ptr, size);</div>\n<div class=\"line\"><a name=\"l00061\"></a><span class=\"lineno\">   61</span>&#160;        <a class=\"code\" href=\"struct_nv_flex_vector.html#afca9914468beb61f6c98bc052e2af5e0\">unmap</a>();</div>\n<div class=\"line\"><a name=\"l00062\"></a><span class=\"lineno\">   62</span>&#160;    }</div>\n<div class=\"line\"><a name=\"l00063\"></a><span class=\"lineno\">   63</span>&#160;    </div>\n<div class=\"line\"><a name=\"l00064\"></a><span class=\"lineno\">   64</span>&#160;</div>\n<div class=\"line\"><a name=\"l00065\"></a><span class=\"lineno\"><a class=\"line\" href=\"struct_nv_flex_vector.html#afb9c0f47544c0cdebe21efb6908dd3a0\">   65</a></span>&#160;    <a class=\"code\" href=\"struct_nv_flex_vector.html#afb9c0f47544c0cdebe21efb6908dd3a0\">~NvFlexVector</a>() </div>\n<div class=\"line\"><a name=\"l00066\"></a><span class=\"lineno\">   66</span>&#160;    {</div>\n<div class=\"line\"><a name=\"l00067\"></a><span class=\"lineno\">   67</span>&#160;        <a class=\"code\" href=\"struct_nv_flex_vector.html#ade3c494ee6e75e54a6ba73d6bc100bd9\">destroy</a>();</div>\n<div class=\"line\"><a name=\"l00068\"></a><span class=\"lineno\">   68</span>&#160;    }</div>\n<div class=\"line\"><a name=\"l00069\"></a><span class=\"lineno\">   69</span>&#160;</div>\n<div class=\"line\"><a name=\"l00070\"></a><span class=\"lineno\"><a class=\"line\" href=\"struct_nv_flex_vector.html#ab08ce71766df91fc9201a61a48054d0c\">   70</a></span>&#160;    <a class=\"code\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a>* <a class=\"code\" href=\"struct_nv_flex_vector.html#ab08ce71766df91fc9201a61a48054d0c\">lib</a>;</div>\n<div class=\"line\"><a name=\"l00071\"></a><span class=\"lineno\"><a class=\"line\" href=\"struct_nv_flex_vector.html#aa408aa5327d07f69fc12314df2d5dcfb\">   71</a></span>&#160;    <a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* <a class=\"code\" href=\"struct_nv_flex_vector.html#aa408aa5327d07f69fc12314df2d5dcfb\">buffer</a>;</div>\n<div class=\"line\"><a name=\"l00072\"></a><span class=\"lineno\">   72</span>&#160;</div>\n<div class=\"line\"><a name=\"l00073\"></a><span class=\"lineno\"><a class=\"line\" href=\"struct_nv_flex_vector.html#aa4422fcaa24d5bbd71aa7772639512b9\">   73</a></span>&#160;    T* <a class=\"code\" href=\"struct_nv_flex_vector.html#aa4422fcaa24d5bbd71aa7772639512b9\">mappedPtr</a>;</div>\n<div class=\"line\"><a name=\"l00074\"></a><span class=\"lineno\"><a class=\"line\" href=\"struct_nv_flex_vector.html#ad462ae46f0270161c79572762b558124\">   74</a></span>&#160;    <span class=\"keywordtype\">int</span> <a class=\"code\" href=\"struct_nv_flex_vector.html#ad462ae46f0270161c79572762b558124\">count</a>;</div>\n<div class=\"line\"><a name=\"l00075\"></a><span class=\"lineno\"><a class=\"line\" href=\"struct_nv_flex_vector.html#ac28b5fd10fd519265c66cf4a0ce8e6ae\">   75</a></span>&#160;    <span class=\"keywordtype\">int</span> <a class=\"code\" href=\"struct_nv_flex_vector.html#ac28b5fd10fd519265c66cf4a0ce8e6ae\">capacity</a>;</div>\n<div class=\"line\"><a name=\"l00076\"></a><span class=\"lineno\"><a class=\"line\" href=\"struct_nv_flex_vector.html#a24fa4e3807b492cd5fbdc6c1c235062b\">   76</a></span>&#160;    <a class=\"code\" href=\"_nv_flex_8h.html#a169e4c126acf46bdebf76c36a44deca3\">NvFlexBufferType</a> <a class=\"code\" href=\"struct_nv_flex_vector.html#a24fa4e3807b492cd5fbdc6c1c235062b\">type</a>;</div>\n<div class=\"line\"><a name=\"l00077\"></a><span class=\"lineno\">   77</span>&#160;</div>\n<div class=\"line\"><a name=\"l00078\"></a><span class=\"lineno\">   78</span>&#160;    <span class=\"comment\">// reinitialize the vector leaving it unmapped</span></div>\n<div class=\"line\"><a name=\"l00079\"></a><span class=\"lineno\"><a class=\"line\" href=\"struct_nv_flex_vector.html#a0309d584abbe900d3af3823a79e89ee7\">   79</a></span>&#160;    <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"struct_nv_flex_vector.html#a0309d584abbe900d3af3823a79e89ee7\">init</a>(<span class=\"keywordtype\">int</span> <a class=\"code\" href=\"struct_nv_flex_vector.html#a1933b633e9055d9adf8b62c4aa8a3bc0\">size</a>)</div>\n<div class=\"line\"><a name=\"l00080\"></a><span class=\"lineno\">   80</span>&#160;    {</div>\n<div class=\"line\"><a name=\"l00081\"></a><span class=\"lineno\">   81</span>&#160;        <a class=\"code\" href=\"struct_nv_flex_vector.html#ade3c494ee6e75e54a6ba73d6bc100bd9\">destroy</a>();</div>\n<div class=\"line\"><a name=\"l00082\"></a><span class=\"lineno\">   82</span>&#160;        <a class=\"code\" href=\"struct_nv_flex_vector.html#a6c4a1f4acb4d6275c9e1ac01d4e35ab1\">resize</a>(size);</div>\n<div class=\"line\"><a name=\"l00083\"></a><span class=\"lineno\">   83</span>&#160;        <a class=\"code\" href=\"struct_nv_flex_vector.html#afca9914468beb61f6c98bc052e2af5e0\">unmap</a>();</div>\n<div class=\"line\"><a name=\"l00084\"></a><span class=\"lineno\">   84</span>&#160;    }</div>\n<div class=\"line\"><a name=\"l00085\"></a><span class=\"lineno\">   85</span>&#160;</div>\n<div class=\"line\"><a name=\"l00086\"></a><span class=\"lineno\"><a class=\"line\" href=\"struct_nv_flex_vector.html#ade3c494ee6e75e54a6ba73d6bc100bd9\">   86</a></span>&#160;    <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"struct_nv_flex_vector.html#ade3c494ee6e75e54a6ba73d6bc100bd9\">destroy</a>()</div>\n<div class=\"line\"><a name=\"l00087\"></a><span class=\"lineno\">   87</span>&#160;    {   </div>\n<div class=\"line\"><a name=\"l00088\"></a><span class=\"lineno\">   88</span>&#160;        <span class=\"keywordflow\">if</span> (mappedPtr)</div>\n<div class=\"line\"><a name=\"l00089\"></a><span class=\"lineno\">   89</span>&#160;            <a class=\"code\" href=\"_nv_flex_8h.html#a054cb27646a389ea257d1bbde46a6e97\">NvFlexUnmap</a>(buffer);</div>\n<div class=\"line\"><a name=\"l00090\"></a><span class=\"lineno\">   90</span>&#160;</div>\n<div class=\"line\"><a name=\"l00091\"></a><span class=\"lineno\">   91</span>&#160;        <span class=\"keywordflow\">if</span> (buffer)</div>\n<div class=\"line\"><a name=\"l00092\"></a><span class=\"lineno\">   92</span>&#160;            <a class=\"code\" href=\"_nv_flex_8h.html#ab559759820a4322aff061745ef26c867\">NvFlexFreeBuffer</a>(buffer);</div>\n<div class=\"line\"><a name=\"l00093\"></a><span class=\"lineno\">   93</span>&#160;</div>\n<div class=\"line\"><a name=\"l00094\"></a><span class=\"lineno\">   94</span>&#160;        mappedPtr = NULL;</div>\n<div class=\"line\"><a name=\"l00095\"></a><span class=\"lineno\">   95</span>&#160;        buffer = NULL;</div>\n<div class=\"line\"><a name=\"l00096\"></a><span class=\"lineno\">   96</span>&#160;        capacity = 0;       </div>\n<div class=\"line\"><a name=\"l00097\"></a><span class=\"lineno\">   97</span>&#160;        count = 0;</div>\n<div class=\"line\"><a name=\"l00098\"></a><span class=\"lineno\">   98</span>&#160;    }</div>\n<div class=\"line\"><a name=\"l00099\"></a><span class=\"lineno\">   99</span>&#160;</div>\n<div class=\"line\"><a name=\"l00100\"></a><span class=\"lineno\"><a class=\"line\" href=\"struct_nv_flex_vector.html#a56640fd10b06a4024a4bf01c306c436b\">  100</a></span>&#160;    <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"struct_nv_flex_vector.html#a56640fd10b06a4024a4bf01c306c436b\">map</a>(<span class=\"keywordtype\">int</span> flags=<a class=\"code\" href=\"_nv_flex_8h.html#a6541b33eaca7b2323e73b30cea34d16ca11adf517d180983daec217e761acc3d6\">eNvFlexMapWait</a>)</div>\n<div class=\"line\"><a name=\"l00101\"></a><span class=\"lineno\">  101</span>&#160;    {</div>\n<div class=\"line\"><a name=\"l00102\"></a><span class=\"lineno\">  102</span>&#160;        <span class=\"keywordflow\">if</span> (!buffer)</div>\n<div class=\"line\"><a name=\"l00103\"></a><span class=\"lineno\">  103</span>&#160;            <span class=\"keywordflow\">return</span>;</div>\n<div class=\"line\"><a name=\"l00104\"></a><span class=\"lineno\">  104</span>&#160;</div>\n<div class=\"line\"><a name=\"l00105\"></a><span class=\"lineno\">  105</span>&#160;        assert(!mappedPtr);</div>\n<div class=\"line\"><a name=\"l00106\"></a><span class=\"lineno\">  106</span>&#160;        mappedPtr = (T*)<a class=\"code\" href=\"_nv_flex_8h.html#a0898bb9210440b159688d4647f6eb083\">NvFlexMap</a>(buffer, flags);</div>\n<div class=\"line\"><a name=\"l00107\"></a><span class=\"lineno\">  107</span>&#160;    }</div>\n<div class=\"line\"><a name=\"l00108\"></a><span class=\"lineno\">  108</span>&#160;    </div>\n<div class=\"line\"><a name=\"l00109\"></a><span class=\"lineno\"><a class=\"line\" href=\"struct_nv_flex_vector.html#afca9914468beb61f6c98bc052e2af5e0\">  109</a></span>&#160;    <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"struct_nv_flex_vector.html#afca9914468beb61f6c98bc052e2af5e0\">unmap</a>()</div>\n<div class=\"line\"><a name=\"l00110\"></a><span class=\"lineno\">  110</span>&#160;    {</div>\n<div class=\"line\"><a name=\"l00111\"></a><span class=\"lineno\">  111</span>&#160;        <span class=\"keywordflow\">if</span> (!buffer)</div>\n<div class=\"line\"><a name=\"l00112\"></a><span class=\"lineno\">  112</span>&#160;            <span class=\"keywordflow\">return</span>;</div>\n<div class=\"line\"><a name=\"l00113\"></a><span class=\"lineno\">  113</span>&#160;</div>\n<div class=\"line\"><a name=\"l00114\"></a><span class=\"lineno\">  114</span>&#160;        assert(mappedPtr);</div>\n<div class=\"line\"><a name=\"l00115\"></a><span class=\"lineno\">  115</span>&#160;</div>\n<div class=\"line\"><a name=\"l00116\"></a><span class=\"lineno\">  116</span>&#160;        <a class=\"code\" href=\"_nv_flex_8h.html#a054cb27646a389ea257d1bbde46a6e97\">NvFlexUnmap</a>(buffer);</div>\n<div class=\"line\"><a name=\"l00117\"></a><span class=\"lineno\">  117</span>&#160;        mappedPtr = 0;</div>\n<div class=\"line\"><a name=\"l00118\"></a><span class=\"lineno\">  118</span>&#160;    }</div>\n<div class=\"line\"><a name=\"l00119\"></a><span class=\"lineno\">  119</span>&#160;</div>\n<div class=\"line\"><a name=\"l00120\"></a><span class=\"lineno\"><a class=\"line\" href=\"struct_nv_flex_vector.html#a3871fbd5422c9b3f41bd5dc2046e1aa7\">  120</a></span>&#160;    <span class=\"keyword\">const</span> T&amp; <a class=\"code\" href=\"struct_nv_flex_vector.html#a3871fbd5422c9b3f41bd5dc2046e1aa7\">operator[]</a>(<span class=\"keywordtype\">int</span> index)<span class=\"keyword\"> const</span></div>\n<div class=\"line\"><a name=\"l00121\"></a><span class=\"lineno\">  121</span>&#160;<span class=\"keyword\">    </span>{   </div>\n<div class=\"line\"><a name=\"l00122\"></a><span class=\"lineno\">  122</span>&#160;        assert(mappedPtr);</div>\n<div class=\"line\"><a name=\"l00123\"></a><span class=\"lineno\">  123</span>&#160;        assert(index &lt; count);</div>\n<div class=\"line\"><a name=\"l00124\"></a><span class=\"lineno\">  124</span>&#160;</div>\n<div class=\"line\"><a name=\"l00125\"></a><span class=\"lineno\">  125</span>&#160;        <span class=\"keywordflow\">return</span> mappedPtr[index];</div>\n<div class=\"line\"><a name=\"l00126\"></a><span class=\"lineno\">  126</span>&#160;    }</div>\n<div class=\"line\"><a name=\"l00127\"></a><span class=\"lineno\">  127</span>&#160;</div>\n<div class=\"line\"><a name=\"l00128\"></a><span class=\"lineno\"><a class=\"line\" href=\"struct_nv_flex_vector.html#a769d5ad0723a3fceac7951967e8b4d03\">  128</a></span>&#160;    T&amp; <a class=\"code\" href=\"struct_nv_flex_vector.html#a769d5ad0723a3fceac7951967e8b4d03\">operator[]</a>(<span class=\"keywordtype\">int</span> index)</div>\n<div class=\"line\"><a name=\"l00129\"></a><span class=\"lineno\">  129</span>&#160;    {</div>\n<div class=\"line\"><a name=\"l00130\"></a><span class=\"lineno\">  130</span>&#160;        assert(mappedPtr);</div>\n<div class=\"line\"><a name=\"l00131\"></a><span class=\"lineno\">  131</span>&#160;        assert(index &lt; count);</div>\n<div class=\"line\"><a name=\"l00132\"></a><span class=\"lineno\">  132</span>&#160;</div>\n<div class=\"line\"><a name=\"l00133\"></a><span class=\"lineno\">  133</span>&#160;        <span class=\"keywordflow\">return</span> mappedPtr[index];</div>\n<div class=\"line\"><a name=\"l00134\"></a><span class=\"lineno\">  134</span>&#160;    }</div>\n<div class=\"line\"><a name=\"l00135\"></a><span class=\"lineno\">  135</span>&#160;</div>\n<div class=\"line\"><a name=\"l00136\"></a><span class=\"lineno\"><a class=\"line\" href=\"struct_nv_flex_vector.html#a98584303358b70fd12ead231cd750335\">  136</a></span>&#160;    <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"struct_nv_flex_vector.html#a98584303358b70fd12ead231cd750335\">push_back</a>(<span class=\"keyword\">const</span> T&amp; t)</div>\n<div class=\"line\"><a name=\"l00137\"></a><span class=\"lineno\">  137</span>&#160;    {</div>\n<div class=\"line\"><a name=\"l00138\"></a><span class=\"lineno\">  138</span>&#160;        assert(mappedPtr || !buffer);</div>\n<div class=\"line\"><a name=\"l00139\"></a><span class=\"lineno\">  139</span>&#160;</div>\n<div class=\"line\"><a name=\"l00140\"></a><span class=\"lineno\">  140</span>&#160;        <a class=\"code\" href=\"struct_nv_flex_vector.html#ae0e6ce694fb95a50c2974c6c2cc0ffc8\">reserve</a>(count+1);</div>\n<div class=\"line\"><a name=\"l00141\"></a><span class=\"lineno\">  141</span>&#160;</div>\n<div class=\"line\"><a name=\"l00142\"></a><span class=\"lineno\">  142</span>&#160;        <span class=\"comment\">// copy element</span></div>\n<div class=\"line\"><a name=\"l00143\"></a><span class=\"lineno\">  143</span>&#160;        mappedPtr[count++] = t;     </div>\n<div class=\"line\"><a name=\"l00144\"></a><span class=\"lineno\">  144</span>&#160;    }</div>\n<div class=\"line\"><a name=\"l00145\"></a><span class=\"lineno\">  145</span>&#160;</div>\n<div class=\"line\"><a name=\"l00146\"></a><span class=\"lineno\"><a class=\"line\" href=\"struct_nv_flex_vector.html#acd29b9b2b27e53e3640c24da6959e3cd\">  146</a></span>&#160;    <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"struct_nv_flex_vector.html#acd29b9b2b27e53e3640c24da6959e3cd\">assign</a>(<span class=\"keyword\">const</span> T* srcPtr, <span class=\"keywordtype\">int</span> newCount)</div>\n<div class=\"line\"><a name=\"l00147\"></a><span class=\"lineno\">  147</span>&#160;    {</div>\n<div class=\"line\"><a name=\"l00148\"></a><span class=\"lineno\">  148</span>&#160;        assert(mappedPtr || !buffer);</div>\n<div class=\"line\"><a name=\"l00149\"></a><span class=\"lineno\">  149</span>&#160;</div>\n<div class=\"line\"><a name=\"l00150\"></a><span class=\"lineno\">  150</span>&#160;        <a class=\"code\" href=\"struct_nv_flex_vector.html#a6c4a1f4acb4d6275c9e1ac01d4e35ab1\">resize</a>(newCount);</div>\n<div class=\"line\"><a name=\"l00151\"></a><span class=\"lineno\">  151</span>&#160;</div>\n<div class=\"line\"><a name=\"l00152\"></a><span class=\"lineno\">  152</span>&#160;        memcpy(mappedPtr, srcPtr, newCount*<span class=\"keyword\">sizeof</span>(T));</div>\n<div class=\"line\"><a name=\"l00153\"></a><span class=\"lineno\">  153</span>&#160;    }</div>\n<div class=\"line\"><a name=\"l00154\"></a><span class=\"lineno\">  154</span>&#160;</div>\n<div class=\"line\"><a name=\"l00155\"></a><span class=\"lineno\"><a class=\"line\" href=\"struct_nv_flex_vector.html#a225da2c753ca0bb95b570c303f0cd761\">  155</a></span>&#160;    <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"struct_nv_flex_vector.html#a225da2c753ca0bb95b570c303f0cd761\">copyto</a>(T* dest, <span class=\"keywordtype\">int</span> count) </div>\n<div class=\"line\"><a name=\"l00156\"></a><span class=\"lineno\">  156</span>&#160;    {</div>\n<div class=\"line\"><a name=\"l00157\"></a><span class=\"lineno\">  157</span>&#160;        assert(mappedPtr);</div>\n<div class=\"line\"><a name=\"l00158\"></a><span class=\"lineno\">  158</span>&#160;</div>\n<div class=\"line\"><a name=\"l00159\"></a><span class=\"lineno\">  159</span>&#160;        memcpy(dest, mappedPtr, <span class=\"keyword\">sizeof</span>(T)*count);</div>\n<div class=\"line\"><a name=\"l00160\"></a><span class=\"lineno\">  160</span>&#160;    }</div>\n<div class=\"line\"><a name=\"l00161\"></a><span class=\"lineno\">  161</span>&#160;</div>\n<div class=\"line\"><a name=\"l00162\"></a><span class=\"lineno\"><a class=\"line\" href=\"struct_nv_flex_vector.html#a1933b633e9055d9adf8b62c4aa8a3bc0\">  162</a></span>&#160;    <span class=\"keywordtype\">int</span> <a class=\"code\" href=\"struct_nv_flex_vector.html#a1933b633e9055d9adf8b62c4aa8a3bc0\">size</a>()<span class=\"keyword\"> const </span>{ <span class=\"keywordflow\">return</span> <a class=\"code\" href=\"struct_nv_flex_vector.html#ad462ae46f0270161c79572762b558124\">count</a>; }</div>\n<div class=\"line\"><a name=\"l00163\"></a><span class=\"lineno\">  163</span>&#160;</div>\n<div class=\"line\"><a name=\"l00164\"></a><span class=\"lineno\"><a class=\"line\" href=\"struct_nv_flex_vector.html#a73f78b1efc76c96666a96a79064670c5\">  164</a></span>&#160;    <span class=\"keywordtype\">bool</span> <a class=\"code\" href=\"struct_nv_flex_vector.html#a73f78b1efc76c96666a96a79064670c5\">empty</a>()<span class=\"keyword\"> const </span>{ <span class=\"keywordflow\">return</span> <a class=\"code\" href=\"struct_nv_flex_vector.html#a1933b633e9055d9adf8b62c4aa8a3bc0\">size</a>() == 0; }</div>\n<div class=\"line\"><a name=\"l00165\"></a><span class=\"lineno\">  165</span>&#160;</div>\n<div class=\"line\"><a name=\"l00166\"></a><span class=\"lineno\"><a class=\"line\" href=\"struct_nv_flex_vector.html#a37fbf38300ea57635af4b60c934e9f46\">  166</a></span>&#160;    <span class=\"keyword\">const</span> T&amp; <a class=\"code\" href=\"struct_nv_flex_vector.html#a37fbf38300ea57635af4b60c934e9f46\">back</a>()<span class=\"keyword\"> const</span></div>\n<div class=\"line\"><a name=\"l00167\"></a><span class=\"lineno\">  167</span>&#160;<span class=\"keyword\">    </span>{</div>\n<div class=\"line\"><a name=\"l00168\"></a><span class=\"lineno\">  168</span>&#160;        assert(mappedPtr);</div>\n<div class=\"line\"><a name=\"l00169\"></a><span class=\"lineno\">  169</span>&#160;        assert(!<a class=\"code\" href=\"struct_nv_flex_vector.html#a73f78b1efc76c96666a96a79064670c5\">empty</a>());</div>\n<div class=\"line\"><a name=\"l00170\"></a><span class=\"lineno\">  170</span>&#160;</div>\n<div class=\"line\"><a name=\"l00171\"></a><span class=\"lineno\">  171</span>&#160;        <span class=\"keywordflow\">return</span> mappedPtr[count-1];</div>\n<div class=\"line\"><a name=\"l00172\"></a><span class=\"lineno\">  172</span>&#160;    }</div>\n<div class=\"line\"><a name=\"l00173\"></a><span class=\"lineno\">  173</span>&#160;</div>\n<div class=\"line\"><a name=\"l00174\"></a><span class=\"lineno\"><a class=\"line\" href=\"struct_nv_flex_vector.html#ae0e6ce694fb95a50c2974c6c2cc0ffc8\">  174</a></span>&#160;    <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"struct_nv_flex_vector.html#ae0e6ce694fb95a50c2974c6c2cc0ffc8\">reserve</a>(<span class=\"keywordtype\">int</span> minCapacity)</div>\n<div class=\"line\"><a name=\"l00175\"></a><span class=\"lineno\">  175</span>&#160;    {</div>\n<div class=\"line\"><a name=\"l00176\"></a><span class=\"lineno\">  176</span>&#160;        <span class=\"keywordflow\">if</span> (minCapacity &gt; capacity)</div>\n<div class=\"line\"><a name=\"l00177\"></a><span class=\"lineno\">  177</span>&#160;        {</div>\n<div class=\"line\"><a name=\"l00178\"></a><span class=\"lineno\">  178</span>&#160;            <span class=\"comment\">// growth factor of 1.5</span></div>\n<div class=\"line\"><a name=\"l00179\"></a><span class=\"lineno\">  179</span>&#160;            <span class=\"keyword\">const</span> <span class=\"keywordtype\">int</span> newCapacity = minCapacity*3/2;</div>\n<div class=\"line\"><a name=\"l00180\"></a><span class=\"lineno\">  180</span>&#160;</div>\n<div class=\"line\"><a name=\"l00181\"></a><span class=\"lineno\">  181</span>&#160;            <a class=\"code\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* newBuf = <a class=\"code\" href=\"_nv_flex_8h.html#ad48f83b8442323687d2268206e913496\">NvFlexAllocBuffer</a>(lib, newCapacity, <span class=\"keyword\">sizeof</span>(T), type);</div>\n<div class=\"line\"><a name=\"l00182\"></a><span class=\"lineno\">  182</span>&#160;</div>\n<div class=\"line\"><a name=\"l00183\"></a><span class=\"lineno\">  183</span>&#160;            <span class=\"comment\">// copy contents to new buffer          </span></div>\n<div class=\"line\"><a name=\"l00184\"></a><span class=\"lineno\">  184</span>&#160;            <span class=\"keywordtype\">void</span>* newPtr = <a class=\"code\" href=\"_nv_flex_8h.html#a0898bb9210440b159688d4647f6eb083\">NvFlexMap</a>(newBuf, <a class=\"code\" href=\"_nv_flex_8h.html#a6541b33eaca7b2323e73b30cea34d16ca11adf517d180983daec217e761acc3d6\">eNvFlexMapWait</a>);</div>\n<div class=\"line\"><a name=\"l00185\"></a><span class=\"lineno\">  185</span>&#160;            memcpy(newPtr, mappedPtr, count*<span class=\"keyword\">sizeof</span>(T));</div>\n<div class=\"line\"><a name=\"l00186\"></a><span class=\"lineno\">  186</span>&#160;</div>\n<div class=\"line\"><a name=\"l00187\"></a><span class=\"lineno\">  187</span>&#160;            <span class=\"comment\">// unmap old buffer, but leave new buffer mapped</span></div>\n<div class=\"line\"><a name=\"l00188\"></a><span class=\"lineno\">  188</span>&#160;            <a class=\"code\" href=\"struct_nv_flex_vector.html#afca9914468beb61f6c98bc052e2af5e0\">unmap</a>();</div>\n<div class=\"line\"><a name=\"l00189\"></a><span class=\"lineno\">  189</span>&#160;            </div>\n<div class=\"line\"><a name=\"l00190\"></a><span class=\"lineno\">  190</span>&#160;            <span class=\"keywordflow\">if</span> (buffer)</div>\n<div class=\"line\"><a name=\"l00191\"></a><span class=\"lineno\">  191</span>&#160;                <a class=\"code\" href=\"_nv_flex_8h.html#ab559759820a4322aff061745ef26c867\">NvFlexFreeBuffer</a>(buffer);</div>\n<div class=\"line\"><a name=\"l00192\"></a><span class=\"lineno\">  192</span>&#160;</div>\n<div class=\"line\"><a name=\"l00193\"></a><span class=\"lineno\">  193</span>&#160;            <span class=\"comment\">// swap</span></div>\n<div class=\"line\"><a name=\"l00194\"></a><span class=\"lineno\">  194</span>&#160;            buffer = newBuf;</div>\n<div class=\"line\"><a name=\"l00195\"></a><span class=\"lineno\">  195</span>&#160;            mappedPtr = (T*)newPtr;</div>\n<div class=\"line\"><a name=\"l00196\"></a><span class=\"lineno\">  196</span>&#160;            capacity = newCapacity;         </div>\n<div class=\"line\"><a name=\"l00197\"></a><span class=\"lineno\">  197</span>&#160;        }</div>\n<div class=\"line\"><a name=\"l00198\"></a><span class=\"lineno\">  198</span>&#160;    }</div>\n<div class=\"line\"><a name=\"l00199\"></a><span class=\"lineno\">  199</span>&#160;</div>\n<div class=\"line\"><a name=\"l00200\"></a><span class=\"lineno\">  200</span>&#160;    <span class=\"comment\">// resizes mapped buffer and leaves new buffer mapped </span></div>\n<div class=\"line\"><a name=\"l00201\"></a><span class=\"lineno\"><a class=\"line\" href=\"struct_nv_flex_vector.html#a6c4a1f4acb4d6275c9e1ac01d4e35ab1\">  201</a></span>&#160;    <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"struct_nv_flex_vector.html#a6c4a1f4acb4d6275c9e1ac01d4e35ab1\">resize</a>(<span class=\"keywordtype\">int</span> newCount)</div>\n<div class=\"line\"><a name=\"l00202\"></a><span class=\"lineno\">  202</span>&#160;    {</div>\n<div class=\"line\"><a name=\"l00203\"></a><span class=\"lineno\">  203</span>&#160;        assert(mappedPtr || !buffer);</div>\n<div class=\"line\"><a name=\"l00204\"></a><span class=\"lineno\">  204</span>&#160;</div>\n<div class=\"line\"><a name=\"l00205\"></a><span class=\"lineno\">  205</span>&#160;        <a class=\"code\" href=\"struct_nv_flex_vector.html#ae0e6ce694fb95a50c2974c6c2cc0ffc8\">reserve</a>(newCount);  </div>\n<div class=\"line\"><a name=\"l00206\"></a><span class=\"lineno\">  206</span>&#160;</div>\n<div class=\"line\"><a name=\"l00207\"></a><span class=\"lineno\">  207</span>&#160;        <span class=\"comment\">// resize but do not initialize new entries</span></div>\n<div class=\"line\"><a name=\"l00208\"></a><span class=\"lineno\">  208</span>&#160;        count = newCount;</div>\n<div class=\"line\"><a name=\"l00209\"></a><span class=\"lineno\">  209</span>&#160;    }</div>\n<div class=\"line\"><a name=\"l00210\"></a><span class=\"lineno\">  210</span>&#160;</div>\n<div class=\"line\"><a name=\"l00211\"></a><span class=\"lineno\"><a class=\"line\" href=\"struct_nv_flex_vector.html#a36a3fd5e42c5d8005f72bcc43217cf37\">  211</a></span>&#160;    <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"struct_nv_flex_vector.html#a36a3fd5e42c5d8005f72bcc43217cf37\">resize</a>(<span class=\"keywordtype\">int</span> newCount, <span class=\"keyword\">const</span> T&amp; val)</div>\n<div class=\"line\"><a name=\"l00212\"></a><span class=\"lineno\">  212</span>&#160;    {</div>\n<div class=\"line\"><a name=\"l00213\"></a><span class=\"lineno\">  213</span>&#160;        assert(mappedPtr || !buffer);</div>\n<div class=\"line\"><a name=\"l00214\"></a><span class=\"lineno\">  214</span>&#160;</div>\n<div class=\"line\"><a name=\"l00215\"></a><span class=\"lineno\">  215</span>&#160;        <span class=\"keyword\">const</span> <span class=\"keywordtype\">int</span> startInit = <a class=\"code\" href=\"struct_nv_flex_vector.html#ad462ae46f0270161c79572762b558124\">count</a>;</div>\n<div class=\"line\"><a name=\"l00216\"></a><span class=\"lineno\">  216</span>&#160;        <span class=\"keyword\">const</span> <span class=\"keywordtype\">int</span> endInit = newCount;</div>\n<div class=\"line\"><a name=\"l00217\"></a><span class=\"lineno\">  217</span>&#160;</div>\n<div class=\"line\"><a name=\"l00218\"></a><span class=\"lineno\">  218</span>&#160;        <a class=\"code\" href=\"struct_nv_flex_vector.html#a6c4a1f4acb4d6275c9e1ac01d4e35ab1\">resize</a>(newCount);</div>\n<div class=\"line\"><a name=\"l00219\"></a><span class=\"lineno\">  219</span>&#160;</div>\n<div class=\"line\"><a name=\"l00220\"></a><span class=\"lineno\">  220</span>&#160;        <span class=\"comment\">// init any new entries</span></div>\n<div class=\"line\"><a name=\"l00221\"></a><span class=\"lineno\">  221</span>&#160;        <span class=\"keywordflow\">for</span> (<span class=\"keywordtype\">int</span> i=startInit; i &lt; endInit; ++i)</div>\n<div class=\"line\"><a name=\"l00222\"></a><span class=\"lineno\">  222</span>&#160;            mappedPtr[i] = val;</div>\n<div class=\"line\"><a name=\"l00223\"></a><span class=\"lineno\">  223</span>&#160;    }</div>\n<div class=\"line\"><a name=\"l00224\"></a><span class=\"lineno\">  224</span>&#160;};</div>\n<div class=\"line\"><a name=\"l00225\"></a><span class=\"lineno\">  225</span>&#160;</div>\n<div class=\"line\"><a name=\"l00226\"></a><span class=\"lineno\">  226</span>&#160;<span class=\"keyword\">extern</span> <span class=\"stringliteral\">&quot;C&quot;</span> {</div>\n<div class=\"line\"><a name=\"l00227\"></a><span class=\"lineno\">  227</span>&#160;</div>\n<div class=\"line\"><a name=\"l00231\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_ext_8h.html\">  231</a></span>&#160;<span class=\"keyword\">struct </span><a class=\"code\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_moving_frame\">NvFlexExtMovingFrame</a></div>\n<div class=\"line\"><a name=\"l00232\"></a><span class=\"lineno\">  232</span>&#160;{</div>\n<div class=\"line\"><a name=\"l00233\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_ext_8h.html#a7d35ea2def3a05a5f85a5cdfd5abdc56\">  233</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_ext_8h.html#a7d35ea2def3a05a5f85a5cdfd5abdc56\">position</a>[3];</div>\n<div class=\"line\"><a name=\"l00234\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_ext_8h.html#ad1af111e19f7ca92fd913c25c4d9288b\">  234</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_ext_8h.html#ad1af111e19f7ca92fd913c25c4d9288b\">rotation</a>[4];</div>\n<div class=\"line\"><a name=\"l00235\"></a><span class=\"lineno\">  235</span>&#160;</div>\n<div class=\"line\"><a name=\"l00236\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_ext_8h.html#acc246770a0f65f1e50b43c618955dc84\">  236</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_ext_8h.html#acc246770a0f65f1e50b43c618955dc84\">velocity</a>[3];</div>\n<div class=\"line\"><a name=\"l00237\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_ext_8h.html#a95fbd8d303fe90992b95b63a29eb5344\">  237</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_ext_8h.html#a95fbd8d303fe90992b95b63a29eb5344\">omega</a>[3];</div>\n<div class=\"line\"><a name=\"l00238\"></a><span class=\"lineno\">  238</span>&#160;</div>\n<div class=\"line\"><a name=\"l00239\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_ext_8h.html#a0705c9d2b5960057b37f097083d96f33\">  239</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_ext_8h.html#a0705c9d2b5960057b37f097083d96f33\">acceleration</a>[3];</div>\n<div class=\"line\"><a name=\"l00240\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_ext_8h.html#aab0ea63bac05cd6aee5054d369687fb0\">  240</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_ext_8h.html#aab0ea63bac05cd6aee5054d369687fb0\">tau</a>[3];</div>\n<div class=\"line\"><a name=\"l00241\"></a><span class=\"lineno\">  241</span>&#160;</div>\n<div class=\"line\"><a name=\"l00242\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_ext_8h.html#ae03f4690a66ba4e06e4b2519c688aaba\">  242</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_ext_8h.html#ae03f4690a66ba4e06e4b2519c688aaba\">delta</a>[4][4];</div>\n<div class=\"line\"><a name=\"l00243\"></a><span class=\"lineno\">  243</span>&#160;};</div>\n<div class=\"line\"><a name=\"l00244\"></a><span class=\"lineno\">  244</span>&#160;</div>\n<div class=\"line\"><a name=\"l00281\"></a><span class=\"lineno\">  281</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"_nv_flex_ext_8h.html#a6a20d814e3b083b069daa0f20a3e756e\">NvFlexExtMovingFrameInit</a>(<a class=\"code\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_moving_frame\">NvFlexExtMovingFrame</a>* frame, <span class=\"keyword\">const</span> <span class=\"keywordtype\">float</span>* worldTranslation, <span class=\"keyword\">const</span> <span class=\"keywordtype\">float</span>* worldRotation);</div>\n<div class=\"line\"><a name=\"l00282\"></a><span class=\"lineno\">  282</span>&#160;</div>\n<div class=\"line\"><a name=\"l00283\"></a><span class=\"lineno\">  283</span>&#160;<span class=\"comment\">/* Update a frame to a new position, this will automatically update the velocity and acceleration of</span></div>\n<div class=\"line\"><a name=\"l00284\"></a><span class=\"lineno\">  284</span>&#160;<span class=\"comment\"> * the frame, which can then be used to calculate inertial forces. This should be called once per-frame</span></div>\n<div class=\"line\"><a name=\"l00285\"></a><span class=\"lineno\">  285</span>&#160;<span class=\"comment\"> * with the new position and time-step used when moving the frame.</span></div>\n<div class=\"line\"><a name=\"l00286\"></a><span class=\"lineno\">  286</span>&#160;<span class=\"comment\"> *</span></div>\n<div class=\"line\"><a name=\"l00287\"></a><span class=\"lineno\">  287</span>&#160;<span class=\"comment\"> * @param[in] frame A pointer to a user-allocated NvFlexExtMovingFrame struct</span></div>\n<div class=\"line\"><a name=\"l00288\"></a><span class=\"lineno\">  288</span>&#160;<span class=\"comment\"> * @param[in] worldTranslation A pointer to a vec3 storing the frame&#39;s initial translation in world space</span></div>\n<div class=\"line\"><a name=\"l00289\"></a><span class=\"lineno\">  289</span>&#160;<span class=\"comment\"> * @param[in] worldRotation A pointer to a quaternion storing the frame&#39;s initial rotation in world space</span></div>\n<div class=\"line\"><a name=\"l00290\"></a><span class=\"lineno\">  290</span>&#160;<span class=\"comment\"> * @param[in] dt The time that elapsed since the last call to the frame update</span></div>\n<div class=\"line\"><a name=\"l00291\"></a><span class=\"lineno\">  291</span>&#160;<span class=\"comment\"> */</span></div>\n<div class=\"line\"><a name=\"l00292\"></a><span class=\"lineno\">  292</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"_nv_flex_ext_8h.html#a780022c1b8425074ce08328e8e8c35cc\">NvFlexExtMovingFrameUpdate</a>(<a class=\"code\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_moving_frame\">NvFlexExtMovingFrame</a>* frame, <span class=\"keyword\">const</span> <span class=\"keywordtype\">float</span>* worldTranslation, <span class=\"keyword\">const</span> <span class=\"keywordtype\">float</span>* worldRotation, <span class=\"keywordtype\">float</span> dt);</div>\n<div class=\"line\"><a name=\"l00293\"></a><span class=\"lineno\">  293</span>&#160;</div>\n<div class=\"line\"><a name=\"l00294\"></a><span class=\"lineno\">  294</span>&#160;<span class=\"comment\">/* Teleport particles to the frame&#39;s new position and apply the inertial forces</span></div>\n<div class=\"line\"><a name=\"l00295\"></a><span class=\"lineno\">  295</span>&#160;<span class=\"comment\"> *</span></div>\n<div class=\"line\"><a name=\"l00296\"></a><span class=\"lineno\">  296</span>&#160;<span class=\"comment\"> * @param[in] frame A pointer to a user-allocated NvFlexExtMovingFrame struct</span></div>\n<div class=\"line\"><a name=\"l00297\"></a><span class=\"lineno\">  297</span>&#160;<span class=\"comment\"> * @param[in] positions A pointer to an array of particle positions in (x, y, z, 1/m) format</span></div>\n<div class=\"line\"><a name=\"l00298\"></a><span class=\"lineno\">  298</span>&#160;<span class=\"comment\"> * @param[in] velocities A pointer to an array of particle velocities in (vx, vy, vz) format</span></div>\n<div class=\"line\"><a name=\"l00299\"></a><span class=\"lineno\">  299</span>&#160;<span class=\"comment\"> * @param[in] numParticles The number of particles to update</span></div>\n<div class=\"line\"><a name=\"l00300\"></a><span class=\"lineno\">  300</span>&#160;<span class=\"comment\"> * @param[in] linearScale How strongly the translational inertial forces should be applied, 0.0 corresponds to a purely local space simulation removing all inertial forces, 1.0 corresponds to no inertial damping and has no benefit over regular world space simulation</span></div>\n<div class=\"line\"><a name=\"l00301\"></a><span class=\"lineno\">  301</span>&#160;<span class=\"comment\"> * @param[in] angularScale How strongly the angular inertial forces should be applied, 0.0 corresponds to a purely local space simulation, 1.0 corresponds to no inertial damping</span></div>\n<div class=\"line\"><a name=\"l00302\"></a><span class=\"lineno\">  302</span>&#160;<span class=\"comment\"> * @param[in] dt The time that elapsed since the last call to the frame update, should match the value passed to NvFlexExtMovingFrameUpdate()</span></div>\n<div class=\"line\"><a name=\"l00303\"></a><span class=\"lineno\">  303</span>&#160;<span class=\"comment\"> */</span></div>\n<div class=\"line\"><a name=\"l00304\"></a><span class=\"lineno\">  304</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"_nv_flex_ext_8h.html#a4ffe9bcd59a6cfc8900ac136f5123304\">NvFlexExtMovingFrameApply</a>(<a class=\"code\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_moving_frame\">NvFlexExtMovingFrame</a>* frame, <span class=\"keywordtype\">float</span>* positions, <span class=\"keywordtype\">float</span>* velocities, <span class=\"keywordtype\">int</span> numParticles, <span class=\"keywordtype\">float</span> linearScale, <span class=\"keywordtype\">float</span> angularScale, <span class=\"keywordtype\">float</span> dt);</div>\n<div class=\"line\"><a name=\"l00305\"></a><span class=\"lineno\">  305</span>&#160;</div>\n<div class=\"line\"><a name=\"l00306\"></a><span class=\"lineno\">  306</span>&#160;</div>\n<div class=\"line\"><a name=\"l00311\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_ext_8h.html\">  311</a></span>&#160;<span class=\"keyword\">struct </span><a class=\"code\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_asset\">NvFlexExtAsset</a></div>\n<div class=\"line\"><a name=\"l00312\"></a><span class=\"lineno\">  312</span>&#160;{   </div>\n<div class=\"line\"><a name=\"l00313\"></a><span class=\"lineno\">  313</span>&#160;    <span class=\"comment\">// particles</span></div>\n<div class=\"line\"><a name=\"l00314\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_ext_8h.html#a0ac3c8cc1bb87eaa50690f44e56a74da\">  314</a></span>&#160;    <span class=\"keywordtype\">float</span>* <a class=\"code\" href=\"_nv_flex_ext_8h.html#a0ac3c8cc1bb87eaa50690f44e56a74da\">particles</a>;               </div>\n<div class=\"line\"><a name=\"l00315\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_ext_8h.html#a4eceb2845977219379afdd06397a6706\">  315</a></span>&#160;    <span class=\"keywordtype\">int</span> <a class=\"code\" href=\"_nv_flex_ext_8h.html#a4eceb2845977219379afdd06397a6706\">numParticles</a>;               </div>\n<div class=\"line\"><a name=\"l00316\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_ext_8h.html#ab421c4d72574f468af6827c18c36a387\">  316</a></span>&#160;    <span class=\"keywordtype\">int</span> <a class=\"code\" href=\"_nv_flex_ext_8h.html#ab421c4d72574f468af6827c18c36a387\">maxParticles</a>;               </div>\n<div class=\"line\"><a name=\"l00317\"></a><span class=\"lineno\">  317</span>&#160;</div>\n<div class=\"line\"><a name=\"l00318\"></a><span class=\"lineno\">  318</span>&#160;    <span class=\"comment\">// springs</span></div>\n<div class=\"line\"><a name=\"l00319\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_ext_8h.html#a8b7a9bd9cbd2f33c6b3da02687a6bd9d\">  319</a></span>&#160;    <span class=\"keywordtype\">int</span>* <a class=\"code\" href=\"_nv_flex_ext_8h.html#a8b7a9bd9cbd2f33c6b3da02687a6bd9d\">springIndices</a>;             </div>\n<div class=\"line\"><a name=\"l00320\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_ext_8h.html#a1e8252d5e5f66b3d8920c1371f23cc05\">  320</a></span>&#160;    <span class=\"keywordtype\">float</span>* <a class=\"code\" href=\"_nv_flex_ext_8h.html#a1e8252d5e5f66b3d8920c1371f23cc05\">springCoefficients</a>;      </div>\n<div class=\"line\"><a name=\"l00321\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_ext_8h.html#a9020959583f85486e060a7b5e611476d\">  321</a></span>&#160;    <span class=\"keywordtype\">float</span>* <a class=\"code\" href=\"_nv_flex_ext_8h.html#a9020959583f85486e060a7b5e611476d\">springRestLengths</a>;       </div>\n<div class=\"line\"><a name=\"l00322\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_ext_8h.html#ae5f81891f59382b133319dc3bcea8ba0\">  322</a></span>&#160;    <span class=\"keywordtype\">int</span> <a class=\"code\" href=\"_nv_flex_ext_8h.html#ae5f81891f59382b133319dc3bcea8ba0\">numSprings</a>;                 </div>\n<div class=\"line\"><a name=\"l00323\"></a><span class=\"lineno\">  323</span>&#160;</div>\n<div class=\"line\"><a name=\"l00324\"></a><span class=\"lineno\">  324</span>&#160;    <span class=\"comment\">// shapes</span></div>\n<div class=\"line\"><a name=\"l00325\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_ext_8h.html#a8a4a122a0a95b8262fc4673298a5cb1c\">  325</a></span>&#160;    <span class=\"keywordtype\">int</span>* <a class=\"code\" href=\"_nv_flex_ext_8h.html#a8a4a122a0a95b8262fc4673298a5cb1c\">shapeIndices</a>;              </div>\n<div class=\"line\"><a name=\"l00326\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_ext_8h.html#a4810f46c27fd0cfacfb1f4be9dff0479\">  326</a></span>&#160;    <span class=\"keywordtype\">int</span> <a class=\"code\" href=\"_nv_flex_ext_8h.html#a4810f46c27fd0cfacfb1f4be9dff0479\">numShapeIndices</a>;            </div>\n<div class=\"line\"><a name=\"l00327\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_ext_8h.html#a96b73b81c5db272d950efe3f03a8cef8\">  327</a></span>&#160;    <span class=\"keywordtype\">int</span>* <a class=\"code\" href=\"_nv_flex_ext_8h.html#a96b73b81c5db272d950efe3f03a8cef8\">shapeOffsets</a>;              </div>\n<div class=\"line\"><a name=\"l00328\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_ext_8h.html#a0fd9407aad5001d3a9fe90e989da1aad\">  328</a></span>&#160;    <span class=\"keywordtype\">float</span>* <a class=\"code\" href=\"_nv_flex_ext_8h.html#a0fd9407aad5001d3a9fe90e989da1aad\">shapeCoefficients</a>;       </div>\n<div class=\"line\"><a name=\"l00329\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_ext_8h.html#a24866c3fe2c482073325062c9c80d043\">  329</a></span>&#160;    <span class=\"keywordtype\">float</span>* <a class=\"code\" href=\"_nv_flex_ext_8h.html#a24866c3fe2c482073325062c9c80d043\">shapeCenters</a>;            </div>\n<div class=\"line\"><a name=\"l00330\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_ext_8h.html#afc07cf2edbf4d5bf504890b312a98bd7\">  330</a></span>&#160;    <span class=\"keywordtype\">int</span> <a class=\"code\" href=\"_nv_flex_ext_8h.html#afc07cf2edbf4d5bf504890b312a98bd7\">numShapes</a>;                  </div>\n<div class=\"line\"><a name=\"l00331\"></a><span class=\"lineno\">  331</span>&#160;</div>\n<div class=\"line\"><a name=\"l00332\"></a><span class=\"lineno\">  332</span>&#160;    <span class=\"comment\">// plastic deformation</span></div>\n<div class=\"line\"><a name=\"l00333\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_ext_8h.html#aac7ec52c127730c381d4b8cbac8134bf\">  333</a></span>&#160;    <span class=\"keywordtype\">float</span>* <a class=\"code\" href=\"_nv_flex_ext_8h.html#aac7ec52c127730c381d4b8cbac8134bf\">shapePlasticThresholds</a>;  </div>\n<div class=\"line\"><a name=\"l00334\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_ext_8h.html#a9342d21bf875d0f1a9d287ced08c087a\">  334</a></span>&#160;    <span class=\"keywordtype\">float</span>* <a class=\"code\" href=\"_nv_flex_ext_8h.html#a9342d21bf875d0f1a9d287ced08c087a\">shapePlasticCreeps</a>;      </div>\n<div class=\"line\"><a name=\"l00335\"></a><span class=\"lineno\">  335</span>&#160;</div>\n<div class=\"line\"><a name=\"l00336\"></a><span class=\"lineno\">  336</span>&#160;    <span class=\"comment\">// faces for cloth</span></div>\n<div class=\"line\"><a name=\"l00337\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_ext_8h.html#aeee311155e99ce95c506078964a7dc3c\">  337</a></span>&#160;    <span class=\"keywordtype\">int</span>* <a class=\"code\" href=\"_nv_flex_ext_8h.html#aeee311155e99ce95c506078964a7dc3c\">triangleIndices</a>;           </div>\n<div class=\"line\"><a name=\"l00338\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_ext_8h.html#ad858d4df98a4300668f2b8048881c0d5\">  338</a></span>&#160;    <span class=\"keywordtype\">int</span> <a class=\"code\" href=\"_nv_flex_ext_8h.html#ad858d4df98a4300668f2b8048881c0d5\">numTriangles</a>;               </div>\n<div class=\"line\"><a name=\"l00339\"></a><span class=\"lineno\">  339</span>&#160;</div>\n<div class=\"line\"><a name=\"l00340\"></a><span class=\"lineno\">  340</span>&#160;    <span class=\"comment\">// inflatable params</span></div>\n<div class=\"line\"><a name=\"l00341\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_ext_8h.html#a960073478e49b229d1d19ac64c5b23f7\">  341</a></span>&#160;    <span class=\"keywordtype\">bool</span> <a class=\"code\" href=\"_nv_flex_ext_8h.html#a960073478e49b229d1d19ac64c5b23f7\">inflatable</a>;                </div>\n<div class=\"line\"><a name=\"l00342\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_ext_8h.html#a3fc55581814cbab90a0c4167428893df\">  342</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_ext_8h.html#a3fc55581814cbab90a0c4167428893df\">inflatableVolume</a>;         </div>\n<div class=\"line\"><a name=\"l00343\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_ext_8h.html#ab556b9c29acfda73e14c68edc43be7e3\">  343</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_ext_8h.html#ab556b9c29acfda73e14c68edc43be7e3\">inflatablePressure</a>;       </div>\n<div class=\"line\"><a name=\"l00344\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_ext_8h.html#ad4d5551b97bd31b9e1ca5c57f2c82452\">  344</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_ext_8h.html#ad4d5551b97bd31b9e1ca5c57f2c82452\">inflatableStiffness</a>;      </div>\n<div class=\"line\"><a name=\"l00345\"></a><span class=\"lineno\">  345</span>&#160;};</div>\n<div class=\"line\"><a name=\"l00346\"></a><span class=\"lineno\">  346</span>&#160;</div>\n<div class=\"line\"><a name=\"l00350\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_ext_8h.html\">  350</a></span>&#160;<span class=\"keyword\">struct </span><a class=\"code\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_instance\">NvFlexExtInstance</a></div>\n<div class=\"line\"><a name=\"l00351\"></a><span class=\"lineno\">  351</span>&#160;{</div>\n<div class=\"line\"><a name=\"l00352\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_ext_8h.html#a1a0c7a0c03148b1586c4fb48f14a565f\">  352</a></span>&#160;    <span class=\"keywordtype\">int</span>* <a class=\"code\" href=\"_nv_flex_ext_8h.html#a1a0c7a0c03148b1586c4fb48f14a565f\">particleIndices</a>;           </div>\n<div class=\"line\"><a name=\"l00353\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_ext_8h.html#aca9a5ecc1fd26fedf90f8f17e87e3ca8\">  353</a></span>&#160;    <span class=\"keywordtype\">int</span> <a class=\"code\" href=\"_nv_flex_ext_8h.html#aca9a5ecc1fd26fedf90f8f17e87e3ca8\">numParticles</a>;               </div>\n<div class=\"line\"><a name=\"l00354\"></a><span class=\"lineno\">  354</span>&#160;    </div>\n<div class=\"line\"><a name=\"l00355\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_ext_8h.html#a3288fee0b909e9e768d9abc9b8da74cf\">  355</a></span>&#160;    <span class=\"keywordtype\">int</span> <a class=\"code\" href=\"_nv_flex_ext_8h.html#a3288fee0b909e9e768d9abc9b8da74cf\">triangleIndex</a>;              </div>\n<div class=\"line\"><a name=\"l00356\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_ext_8h.html#aa67489d3beb86e2b566e0fa2e978ed11\">  356</a></span>&#160;    <span class=\"keywordtype\">int</span> <a class=\"code\" href=\"_nv_flex_ext_8h.html#aa67489d3beb86e2b566e0fa2e978ed11\">shapeIndex</a>;                 </div>\n<div class=\"line\"><a name=\"l00357\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_ext_8h.html#ac2ef832cadd91e257ba80eb97d936340\">  357</a></span>&#160;    <span class=\"keywordtype\">int</span> <a class=\"code\" href=\"_nv_flex_ext_8h.html#ac2ef832cadd91e257ba80eb97d936340\">inflatableIndex</a>;            </div>\n<div class=\"line\"><a name=\"l00358\"></a><span class=\"lineno\">  358</span>&#160;</div>\n<div class=\"line\"><a name=\"l00359\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_ext_8h.html#aa6fb48cb1199af96a29de7616f7a4d18\">  359</a></span>&#160;    <span class=\"keywordtype\">float</span>* <a class=\"code\" href=\"_nv_flex_ext_8h.html#aa6fb48cb1199af96a29de7616f7a4d18\">shapeTranslations</a>;       </div>\n<div class=\"line\"><a name=\"l00360\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_ext_8h.html#a3d0a712689ce07a5652d48ea25fa05b9\">  360</a></span>&#160;    <span class=\"keywordtype\">float</span>* <a class=\"code\" href=\"_nv_flex_ext_8h.html#a3d0a712689ce07a5652d48ea25fa05b9\">shapeRotations</a>;          </div>\n<div class=\"line\"><a name=\"l00361\"></a><span class=\"lineno\">  361</span>&#160;</div>\n<div class=\"line\"><a name=\"l00362\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_ext_8h.html#aa4f19c17fa4ae35ceda90c8b3d1fcca4\">  362</a></span>&#160;    <span class=\"keyword\">const</span> <a class=\"code\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_asset\">NvFlexExtAsset</a>* <a class=\"code\" href=\"_nv_flex_ext_8h.html#aa4f19c17fa4ae35ceda90c8b3d1fcca4\">asset</a>;    </div>\n<div class=\"line\"><a name=\"l00363\"></a><span class=\"lineno\">  363</span>&#160;    </div>\n<div class=\"line\"><a name=\"l00364\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_ext_8h.html#a8000e722ce864bbfbce0f303f39186d7\">  364</a></span>&#160;    <span class=\"keywordtype\">void</span>* <a class=\"code\" href=\"_nv_flex_ext_8h.html#a8000e722ce864bbfbce0f303f39186d7\">userData</a>;                 </div>\n<div class=\"line\"><a name=\"l00365\"></a><span class=\"lineno\">  365</span>&#160;};</div>\n<div class=\"line\"><a name=\"l00366\"></a><span class=\"lineno\">  366</span>&#160;</div>\n<div class=\"line\"><a name=\"l00371\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_ext_8h.html\">  371</a></span>&#160;<span class=\"keyword\">struct </span><a class=\"code\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_soft_joint\">NvFlexExtSoftJoint</a></div>\n<div class=\"line\"><a name=\"l00372\"></a><span class=\"lineno\">  372</span>&#160;{</div>\n<div class=\"line\"><a name=\"l00373\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_ext_8h.html#a9b81cabbc738fc2650c978bd39ae3bad\">  373</a></span>&#160;    <span class=\"keywordtype\">int</span>* <a class=\"code\" href=\"_nv_flex_ext_8h.html#a9b81cabbc738fc2650c978bd39ae3bad\">particleIndices</a>;           </div>\n<div class=\"line\"><a name=\"l00374\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_ext_8h.html#a284e220726302e761f7cf5aa07884723\">  374</a></span>&#160;    <span class=\"keywordtype\">float</span>* <a class=\"code\" href=\"_nv_flex_ext_8h.html#a284e220726302e761f7cf5aa07884723\">particleLocalPositions</a>;  </div>\n<div class=\"line\"><a name=\"l00375\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_ext_8h.html#a7850f47d32a8fe6107aae7a098de8f01\">  375</a></span>&#160;    <span class=\"keywordtype\">int</span> <a class=\"code\" href=\"_nv_flex_ext_8h.html#a7850f47d32a8fe6107aae7a098de8f01\">shapeIndex</a>;                 </div>\n<div class=\"line\"><a name=\"l00376\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_ext_8h.html#a77c2b96e59d92c49f902c2707df095f0\">  376</a></span>&#160;    <span class=\"keywordtype\">int</span> <a class=\"code\" href=\"_nv_flex_ext_8h.html#a77c2b96e59d92c49f902c2707df095f0\">numParticles</a>;               </div>\n<div class=\"line\"><a name=\"l00377\"></a><span class=\"lineno\">  377</span>&#160;</div>\n<div class=\"line\"><a name=\"l00378\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_ext_8h.html#a0a01f7b650db1077ffc165762703552b\">  378</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_ext_8h.html#a0a01f7b650db1077ffc165762703552b\">shapeTranslations</a>[3];     </div>\n<div class=\"line\"><a name=\"l00379\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_ext_8h.html#aad1bc1104e48d8839d1b9c4c41b8ed42\">  379</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_ext_8h.html#aad1bc1104e48d8839d1b9c4c41b8ed42\">shapeRotations</a>[4];        </div>\n<div class=\"line\"><a name=\"l00380\"></a><span class=\"lineno\">  380</span>&#160;</div>\n<div class=\"line\"><a name=\"l00381\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_ext_8h.html#a53b814424d9b4cd111a95a2b8ea16f14\">  381</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_ext_8h.html#a53b814424d9b4cd111a95a2b8ea16f14\">stiffness</a>;                </div>\n<div class=\"line\"><a name=\"l00382\"></a><span class=\"lineno\">  382</span>&#160;</div>\n<div class=\"line\"><a name=\"l00383\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_ext_8h.html#ad5a3a0aed59d8fb5dedbabe189749bc3\">  383</a></span>&#160;    <span class=\"keywordtype\">bool</span> <a class=\"code\" href=\"_nv_flex_ext_8h.html#ad5a3a0aed59d8fb5dedbabe189749bc3\">initialized</a>;               </div>\n<div class=\"line\"><a name=\"l00384\"></a><span class=\"lineno\">  384</span>&#160;};</div>\n<div class=\"line\"><a name=\"l00385\"></a><span class=\"lineno\">  385</span>&#160;</div>\n<div class=\"line\"><a name=\"l00389\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4\">  389</a></span>&#160;<span class=\"keyword\">typedef</span> <span class=\"keyword\">struct </span><a class=\"code\" href=\"_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4\">NvFlexExtContainer</a> <a class=\"code\" href=\"_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4\">NvFlexExtContainer</a>;</div>\n<div class=\"line\"><a name=\"l00390\"></a><span class=\"lineno\">  390</span>&#160;</div>\n<div class=\"line\"><a name=\"l00402\"></a><span class=\"lineno\">  402</span>&#160;NV_FLEX_API <span class=\"keywordtype\">int</span> <a class=\"code\" href=\"_nv_flex_ext_8h.html#a82a15dfd40b338a07cf4517f55f16720\">NvFlexExtCreateWeldedMeshIndices</a>(<span class=\"keyword\">const</span> <span class=\"keywordtype\">float</span>* vertices, <span class=\"keywordtype\">int</span> numVertices, <span class=\"keywordtype\">int</span>* uniqueVerts, <span class=\"keywordtype\">int</span>* originalToUniqueMap, <span class=\"keywordtype\">float</span> threshold);</div>\n<div class=\"line\"><a name=\"l00403\"></a><span class=\"lineno\">  403</span>&#160;</div>\n<div class=\"line\"><a name=\"l00419\"></a><span class=\"lineno\">  419</span>&#160;NV_FLEX_API <a class=\"code\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_asset\">NvFlexExtAsset</a>* <a class=\"code\" href=\"_nv_flex_ext_8h.html#a8bef033b2a8567dfcc954e22534147ee\">NvFlexExtCreateClothFromMesh</a>(<span class=\"keyword\">const</span> <span class=\"keywordtype\">float</span>* particles, <span class=\"keywordtype\">int</span> numParticles, <span class=\"keyword\">const</span> <span class=\"keywordtype\">int</span>* indices, <span class=\"keywordtype\">int</span> numTriangles, <span class=\"keywordtype\">float</span> stretchStiffness, <span class=\"keywordtype\">float</span> bendStiffness, <span class=\"keywordtype\">float</span> tetherStiffness, <span class=\"keywordtype\">float</span> tetherGive, <span class=\"keywordtype\">float</span> pressure);</div>\n<div class=\"line\"><a name=\"l00420\"></a><span class=\"lineno\">  420</span>&#160;</div>\n<div class=\"line\"><a name=\"l00439\"></a><span class=\"lineno\">  439</span>&#160;NV_FLEX_API <a class=\"code\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_asset\">NvFlexExtAsset</a>* <a class=\"code\" href=\"_nv_flex_ext_8h.html#addad82b3598059ffde7b3b5babe17bd4\">NvFlexExtCreateTearingClothFromMesh</a>(<span class=\"keyword\">const</span> <span class=\"keywordtype\">float</span>* particles, <span class=\"keywordtype\">int</span> numParticles, <span class=\"keywordtype\">int</span> maxParticles, <span class=\"keyword\">const</span> <span class=\"keywordtype\">int</span>* indices, <span class=\"keywordtype\">int</span> numTriangles, <span class=\"keywordtype\">float</span> stretchStiffness, <span class=\"keywordtype\">float</span> bendStiffness, <span class=\"keywordtype\">float</span> pressure);</div>\n<div class=\"line\"><a name=\"l00440\"></a><span class=\"lineno\">  440</span>&#160;</div>\n<div class=\"line\"><a name=\"l00445\"></a><span class=\"lineno\">  445</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"_nv_flex_ext_8h.html#a88054283907d3386f1a30cdc4475acb0\">NvFlexExtDestroyTearingCloth</a>(<a class=\"code\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_asset\">NvFlexExtAsset</a>* asset);</div>\n<div class=\"line\"><a name=\"l00446\"></a><span class=\"lineno\">  446</span>&#160;</div>\n<div class=\"line\"><a name=\"l00452\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_ext_8h.html\">  452</a></span>&#160;<span class=\"keyword\">struct </span><a class=\"code\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_tearing_particle_clone\">NvFlexExtTearingParticleClone</a></div>\n<div class=\"line\"><a name=\"l00453\"></a><span class=\"lineno\">  453</span>&#160;{</div>\n<div class=\"line\"><a name=\"l00454\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_ext_8h.html#a431c97a2756c45752dd7508f0810a397\">  454</a></span>&#160;    <span class=\"keywordtype\">int</span> <a class=\"code\" href=\"_nv_flex_ext_8h.html#a431c97a2756c45752dd7508f0810a397\">srcIndex</a>;   </div>\n<div class=\"line\"><a name=\"l00455\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_ext_8h.html#a9034efff0f1b158a12a9ed6991d620fa\">  455</a></span>&#160;    <span class=\"keywordtype\">int</span> <a class=\"code\" href=\"_nv_flex_ext_8h.html#a9034efff0f1b158a12a9ed6991d620fa\">destIndex</a>;</div>\n<div class=\"line\"><a name=\"l00456\"></a><span class=\"lineno\">  456</span>&#160;};</div>\n<div class=\"line\"><a name=\"l00457\"></a><span class=\"lineno\">  457</span>&#160;</div>\n<div class=\"line\"><a name=\"l00465\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_ext_8h.html\">  465</a></span>&#160;<span class=\"keyword\">struct </span><a class=\"code\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_tearing_mesh_edit\">NvFlexExtTearingMeshEdit</a></div>\n<div class=\"line\"><a name=\"l00466\"></a><span class=\"lineno\">  466</span>&#160;{</div>\n<div class=\"line\"><a name=\"l00467\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_ext_8h.html#a46b80c02097ebc40bf777708e8f17ed4\">  467</a></span>&#160;    <span class=\"keywordtype\">int</span> <a class=\"code\" href=\"_nv_flex_ext_8h.html#a46b80c02097ebc40bf777708e8f17ed4\">triIndex</a>;           <span class=\"comment\">// index into the triangle indices array to update</span></div>\n<div class=\"line\"><a name=\"l00468\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_ext_8h.html#a8cf124de0fc370757cb890f83984ced8\">  468</a></span>&#160;    <span class=\"keywordtype\">int</span> <a class=\"code\" href=\"_nv_flex_ext_8h.html#a8cf124de0fc370757cb890f83984ced8\">newParticleIndex</a>;   <span class=\"comment\">// new value for the index</span></div>\n<div class=\"line\"><a name=\"l00469\"></a><span class=\"lineno\">  469</span>&#160;};</div>\n<div class=\"line\"><a name=\"l00470\"></a><span class=\"lineno\">  470</span>&#160;</div>\n<div class=\"line\"><a name=\"l00485\"></a><span class=\"lineno\">  485</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"_nv_flex_ext_8h.html#a5efc0113d5432eb959437e6e3a98cc5f\">NvFlexExtTearClothMesh</a>(<a class=\"code\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_asset\">NvFlexExtAsset</a>* asset, <span class=\"keywordtype\">float</span> maxStrain,  <span class=\"keywordtype\">int</span> maxSplits, <a class=\"code\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_tearing_particle_clone\">NvFlexExtTearingParticleClone</a>* particleCopies, <span class=\"keywordtype\">int</span>* numParticleCopies, <span class=\"keywordtype\">int</span> maxCopies, <a class=\"code\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_tearing_mesh_edit\">NvFlexExtTearingMeshEdit</a>* triangleEdits, <span class=\"keywordtype\">int</span>* numTriangleEdits, <span class=\"keywordtype\">int</span> maxEdits);</div>\n<div class=\"line\"><a name=\"l00486\"></a><span class=\"lineno\">  486</span>&#160;</div>\n<div class=\"line\"><a name=\"l00498\"></a><span class=\"lineno\">  498</span>&#160;NV_FLEX_API <a class=\"code\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_asset\">NvFlexExtAsset</a>* <a class=\"code\" href=\"_nv_flex_ext_8h.html#ad0a9c7e2f907e46b60f6bacf402987ce\">NvFlexExtCreateRigidFromMesh</a>(<span class=\"keyword\">const</span> <span class=\"keywordtype\">float</span>* vertices, <span class=\"keywordtype\">int</span> numVertices, <span class=\"keyword\">const</span> <span class=\"keywordtype\">int</span>* indices, <span class=\"keywordtype\">int</span> numTriangleIndices, <span class=\"keywordtype\">float</span> radius, <span class=\"keywordtype\">float</span> expand);</div>\n<div class=\"line\"><a name=\"l00499\"></a><span class=\"lineno\">  499</span>&#160;</div>\n<div class=\"line\"><a name=\"l00520\"></a><span class=\"lineno\">  520</span>&#160;NV_FLEX_API <a class=\"code\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_asset\">NvFlexExtAsset</a>* <a class=\"code\" href=\"_nv_flex_ext_8h.html#a3a9ce6bba709625f6c338bd3070bd012\">NvFlexExtCreateSoftFromMesh</a>(<span class=\"keyword\">const</span> <span class=\"keywordtype\">float</span>* vertices, <span class=\"keywordtype\">int</span> numVertices, <span class=\"keyword\">const</span> <span class=\"keywordtype\">int</span>* indices, <span class=\"keywordtype\">int</span> numTriangleIndices, <span class=\"keywordtype\">float</span> particleSpacing, <span class=\"keywordtype\">float</span> volumeSampling, <span class=\"keywordtype\">float</span> surfaceSampling, <span class=\"keywordtype\">float</span> clusterSpacing, <span class=\"keywordtype\">float</span> clusterRadius, <span class=\"keywordtype\">float</span> clusterStiffness, <span class=\"keywordtype\">float</span> linkRadius, <span class=\"keywordtype\">float</span> linkStiffness, <span class=\"keywordtype\">float</span> globalStiffness, <span class=\"keywordtype\">float</span> clusterPlasticThreshold, <span class=\"keywordtype\">float</span> clusterPlasticCreep);</div>\n<div class=\"line\"><a name=\"l00521\"></a><span class=\"lineno\">  521</span>&#160;</div>\n<div class=\"line\"><a name=\"l00526\"></a><span class=\"lineno\">  526</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"_nv_flex_ext_8h.html#a36c33fafe13c5fd5773bf9a2af2dd745\">NvFlexExtDestroyAsset</a>(<a class=\"code\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_asset\">NvFlexExtAsset</a>* asset);</div>\n<div class=\"line\"><a name=\"l00527\"></a><span class=\"lineno\">  527</span>&#160;</div>\n<div class=\"line\"><a name=\"l00540\"></a><span class=\"lineno\">  540</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"_nv_flex_ext_8h.html#a6e3f12e9e92abb31b115cf31b33e34bb\">NvFlexExtCreateSoftMeshSkinning</a>(<span class=\"keyword\">const</span> <span class=\"keywordtype\">float</span>* vertices, <span class=\"keywordtype\">int</span> numVertices, <span class=\"keyword\">const</span> <span class=\"keywordtype\">float</span>* bones, <span class=\"keywordtype\">int</span> numBones, <span class=\"keywordtype\">float</span> falloff, <span class=\"keywordtype\">float</span> maxDistance, <span class=\"keywordtype\">float</span>* skinningWeights, <span class=\"keywordtype\">int</span>* skinningIndices);</div>\n<div class=\"line\"><a name=\"l00541\"></a><span class=\"lineno\">  541</span>&#160;</div>\n<div class=\"line\"><a name=\"l00550\"></a><span class=\"lineno\">  550</span>&#160;NV_FLEX_API <a class=\"code\" href=\"_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4\">NvFlexExtContainer</a>* <a class=\"code\" href=\"_nv_flex_ext_8h.html#a49906c9e3466d40383cddf627fe26658\">NvFlexExtCreateContainer</a>(<a class=\"code\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a>* lib, <a class=\"code\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a>* solver, <span class=\"keywordtype\">int</span> maxParticles);</div>\n<div class=\"line\"><a name=\"l00551\"></a><span class=\"lineno\">  551</span>&#160;</div>\n<div class=\"line\"><a name=\"l00557\"></a><span class=\"lineno\">  557</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"_nv_flex_ext_8h.html#a2509137d9fb8ab6818f35ab7761da7a5\">NvFlexExtDestroyContainer</a>(<a class=\"code\" href=\"_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4\">NvFlexExtContainer</a>* container);</div>\n<div class=\"line\"><a name=\"l00558\"></a><span class=\"lineno\">  558</span>&#160;</div>\n<div class=\"line\"><a name=\"l00566\"></a><span class=\"lineno\">  566</span>&#160;NV_FLEX_API <span class=\"keywordtype\">int</span>  <a class=\"code\" href=\"_nv_flex_ext_8h.html#a7c036ccca83df3659529858068e0593d\">NvFlexExtAllocParticles</a>(<a class=\"code\" href=\"_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4\">NvFlexExtContainer</a>* container, <span class=\"keywordtype\">int</span> n, <span class=\"keywordtype\">int</span>* indices);</div>\n<div class=\"line\"><a name=\"l00567\"></a><span class=\"lineno\">  567</span>&#160;</div>\n<div class=\"line\"><a name=\"l00575\"></a><span class=\"lineno\">  575</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"_nv_flex_ext_8h.html#ab0a259d159116b7fba9b229784b02c70\">NvFlexExtFreeParticles</a>(<a class=\"code\" href=\"_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4\">NvFlexExtContainer</a>* container, <span class=\"keywordtype\">int</span> n, <span class=\"keyword\">const</span> <span class=\"keywordtype\">int</span>* indices);</div>\n<div class=\"line\"><a name=\"l00576\"></a><span class=\"lineno\">  576</span>&#160;</div>\n<div class=\"line\"><a name=\"l00577\"></a><span class=\"lineno\">  577</span>&#160;</div>\n<div class=\"line\"><a name=\"l00585\"></a><span class=\"lineno\">  585</span>&#160;NV_FLEX_API <span class=\"keywordtype\">int</span> <a class=\"code\" href=\"_nv_flex_ext_8h.html#a7fc268a27306f6fc68dd1c106cfa62db\">NvFlexExtGetActiveList</a>(<a class=\"code\" href=\"_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4\">NvFlexExtContainer</a>* container, <span class=\"keywordtype\">int</span>* indices);</div>\n<div class=\"line\"><a name=\"l00586\"></a><span class=\"lineno\">  586</span>&#160;</div>\n<div class=\"line\"><a name=\"l00587\"></a><span class=\"lineno\">  587</span>&#160;</div>\n<div class=\"line\"><a name=\"l00588\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_ext_8h.html\">  588</a></span>&#160;<span class=\"keyword\">struct </span><a class=\"code\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_particle_data\">NvFlexExtParticleData</a></div>\n<div class=\"line\"><a name=\"l00589\"></a><span class=\"lineno\">  589</span>&#160;{</div>\n<div class=\"line\"><a name=\"l00590\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_ext_8h.html#a780c0bac62cc5dd8d04da11cff07eeba\">  590</a></span>&#160;    <span class=\"keywordtype\">float</span>* <a class=\"code\" href=\"_nv_flex_ext_8h.html#a780c0bac62cc5dd8d04da11cff07eeba\">particles</a>;       </div>\n<div class=\"line\"><a name=\"l00591\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_ext_8h.html#a69962fe23c7fef594fb5f36a175ff148\">  591</a></span>&#160;    <span class=\"keywordtype\">float</span>* <a class=\"code\" href=\"_nv_flex_ext_8h.html#a69962fe23c7fef594fb5f36a175ff148\">restParticles</a>;   </div>\n<div class=\"line\"><a name=\"l00592\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_ext_8h.html#adbb39b1f8b0705bb3e19d2cb6145640f\">  592</a></span>&#160;    <span class=\"keywordtype\">float</span>* <a class=\"code\" href=\"_nv_flex_ext_8h.html#adbb39b1f8b0705bb3e19d2cb6145640f\">velocities</a>;      </div>\n<div class=\"line\"><a name=\"l00593\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_ext_8h.html#a7fa35a822a4e856fee45b3263e679270\">  593</a></span>&#160;    <span class=\"keywordtype\">int</span>* <a class=\"code\" href=\"_nv_flex_ext_8h.html#a7fa35a822a4e856fee45b3263e679270\">phases</a>;            </div>\n<div class=\"line\"><a name=\"l00594\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_ext_8h.html#afcacbd584e2041855af50eae3f287779\">  594</a></span>&#160;    <span class=\"keywordtype\">float</span>* <a class=\"code\" href=\"_nv_flex_ext_8h.html#afcacbd584e2041855af50eae3f287779\">normals</a>;         </div>\n<div class=\"line\"><a name=\"l00595\"></a><span class=\"lineno\">  595</span>&#160;</div>\n<div class=\"line\"><a name=\"l00596\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_ext_8h.html#af911b47ddb538a0542f6e2c38a82d701\">  596</a></span>&#160;    <span class=\"keyword\">const</span> <span class=\"keywordtype\">float</span>* <a class=\"code\" href=\"_nv_flex_ext_8h.html#af911b47ddb538a0542f6e2c38a82d701\">lower</a>;     </div>\n<div class=\"line\"><a name=\"l00597\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_ext_8h.html#ad722c319fe60d8a0933df217ba04b2ac\">  597</a></span>&#160;    <span class=\"keyword\">const</span> <span class=\"keywordtype\">float</span>* <a class=\"code\" href=\"_nv_flex_ext_8h.html#ad722c319fe60d8a0933df217ba04b2ac\">upper</a>;     </div>\n<div class=\"line\"><a name=\"l00598\"></a><span class=\"lineno\">  598</span>&#160;};</div>\n<div class=\"line\"><a name=\"l00599\"></a><span class=\"lineno\">  599</span>&#160;</div>\n<div class=\"line\"><a name=\"l00606\"></a><span class=\"lineno\">  606</span>&#160;NV_FLEX_API <a class=\"code\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_particle_data\">NvFlexExtParticleData</a> <a class=\"code\" href=\"_nv_flex_ext_8h.html#a3fa8bd4b7d4096602e611faf0bb62dfb\">NvFlexExtMapParticleData</a>(<a class=\"code\" href=\"_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4\">NvFlexExtContainer</a>* container);</div>\n<div class=\"line\"><a name=\"l00607\"></a><span class=\"lineno\">  607</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"_nv_flex_ext_8h.html#af0cd639c21be28640fe5e1dd94931d59\">NvFlexExtUnmapParticleData</a>(<a class=\"code\" href=\"_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4\">NvFlexExtContainer</a>* container);</div>\n<div class=\"line\"><a name=\"l00608\"></a><span class=\"lineno\">  608</span>&#160;</div>\n<div class=\"line\"><a name=\"l00609\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_ext_8h.html\">  609</a></span>&#160;<span class=\"keyword\">struct </span><a class=\"code\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_triangle_data\">NvFlexExtTriangleData</a></div>\n<div class=\"line\"><a name=\"l00610\"></a><span class=\"lineno\">  610</span>&#160;{</div>\n<div class=\"line\"><a name=\"l00611\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_ext_8h.html#a806a707d6b32c41ab561a4893f43ddde\">  611</a></span>&#160;    <span class=\"keywordtype\">int</span>* <a class=\"code\" href=\"_nv_flex_ext_8h.html#a806a707d6b32c41ab561a4893f43ddde\">indices</a>;       </div>\n<div class=\"line\"><a name=\"l00612\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_ext_8h.html#a56bf3b1fe603c79b871ead2efb65cc78\">  612</a></span>&#160;    <span class=\"keywordtype\">float</span>* <a class=\"code\" href=\"_nv_flex_ext_8h.html#a56bf3b1fe603c79b871ead2efb65cc78\">normals</a>;     </div>\n<div class=\"line\"><a name=\"l00613\"></a><span class=\"lineno\">  613</span>&#160;};</div>\n<div class=\"line\"><a name=\"l00614\"></a><span class=\"lineno\">  614</span>&#160;</div>\n<div class=\"line\"><a name=\"l00620\"></a><span class=\"lineno\">  620</span>&#160;NV_FLEX_API <a class=\"code\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_triangle_data\">NvFlexExtTriangleData</a> <a class=\"code\" href=\"_nv_flex_ext_8h.html#a1646bf409084777cd0ff5d4fcccf07de\">NvFlexExtMapTriangleData</a>(<a class=\"code\" href=\"_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4\">NvFlexExtContainer</a>* container);</div>\n<div class=\"line\"><a name=\"l00621\"></a><span class=\"lineno\">  621</span>&#160;</div>\n<div class=\"line\"><a name=\"l00625\"></a><span class=\"lineno\">  625</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"_nv_flex_ext_8h.html#a89e582ae93e0256b06f22d9abf361783\">NvFlexExtUnmapTriangleData</a>(<a class=\"code\" href=\"_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4\">NvFlexExtContainer</a>* container);</div>\n<div class=\"line\"><a name=\"l00626\"></a><span class=\"lineno\">  626</span>&#160;</div>\n<div class=\"line\"><a name=\"l00627\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_ext_8h.html\">  627</a></span>&#160;<span class=\"keyword\">struct </span><a class=\"code\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_shape_data\">NvFlexExtShapeData</a></div>\n<div class=\"line\"><a name=\"l00628\"></a><span class=\"lineno\">  628</span>&#160;{</div>\n<div class=\"line\"><a name=\"l00629\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_ext_8h.html#a6517fee9c5e151673ecd5ad91cbf2ae2\">  629</a></span>&#160;    <span class=\"keywordtype\">float</span>* <a class=\"code\" href=\"_nv_flex_ext_8h.html#a6517fee9c5e151673ecd5ad91cbf2ae2\">rotations</a>;   </div>\n<div class=\"line\"><a name=\"l00630\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_ext_8h.html#acd73f347463a114da73bb1ab5eff00b4\">  630</a></span>&#160;    <span class=\"keywordtype\">float</span>* <a class=\"code\" href=\"_nv_flex_ext_8h.html#acd73f347463a114da73bb1ab5eff00b4\">positions</a>;   </div>\n<div class=\"line\"><a name=\"l00631\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_ext_8h.html#a4e845f47484e00a272ad351b4bf28e95\">  631</a></span>&#160;    <span class=\"keywordtype\">int</span> <a class=\"code\" href=\"_nv_flex_ext_8h.html#a4e845f47484e00a272ad351b4bf28e95\">n</a>;              </div>\n<div class=\"line\"><a name=\"l00632\"></a><span class=\"lineno\">  632</span>&#160;};</div>\n<div class=\"line\"><a name=\"l00633\"></a><span class=\"lineno\">  633</span>&#160;</div>\n<div class=\"line\"><a name=\"l00639\"></a><span class=\"lineno\">  639</span>&#160;NV_FLEX_API <a class=\"code\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_shape_data\">NvFlexExtShapeData</a> <a class=\"code\" href=\"_nv_flex_ext_8h.html#a90f2d3ba5be20e70e7efead911ee7acc\">NvFlexExtMapShapeData</a>(<a class=\"code\" href=\"_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4\">NvFlexExtContainer</a>* container);</div>\n<div class=\"line\"><a name=\"l00640\"></a><span class=\"lineno\">  640</span>&#160;</div>\n<div class=\"line\"><a name=\"l00644\"></a><span class=\"lineno\">  644</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"_nv_flex_ext_8h.html#ab51f04114586b5bf0f6fc5816fda9c69\">NvFlexExtUnmapShapeData</a>(<a class=\"code\" href=\"_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4\">NvFlexExtContainer</a>* container);</div>\n<div class=\"line\"><a name=\"l00645\"></a><span class=\"lineno\">  645</span>&#160;</div>\n<div class=\"line\"><a name=\"l00661\"></a><span class=\"lineno\">  661</span>&#160;NV_FLEX_API <a class=\"code\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_instance\">NvFlexExtInstance</a>* <a class=\"code\" href=\"_nv_flex_ext_8h.html#a3bf10e2c9370602142b7be01e920f973\">NvFlexExtCreateInstance</a>(<a class=\"code\" href=\"_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4\">NvFlexExtContainer</a>* container,  <a class=\"code\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_particle_data\">NvFlexExtParticleData</a>* particleData, <span class=\"keyword\">const</span> <a class=\"code\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_asset\">NvFlexExtAsset</a>* asset, <span class=\"keyword\">const</span> <span class=\"keywordtype\">float</span>* transform, <span class=\"keywordtype\">float</span> vx, <span class=\"keywordtype\">float</span> vy, <span class=\"keywordtype\">float</span> vz, <span class=\"keywordtype\">int</span> phase, <span class=\"keywordtype\">float</span> invMassScale);</div>\n<div class=\"line\"><a name=\"l00662\"></a><span class=\"lineno\">  662</span>&#160;</div>\n<div class=\"line\"><a name=\"l00668\"></a><span class=\"lineno\">  668</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"_nv_flex_ext_8h.html#a2b5634f64bd0d8d86f894885a1c16a33\">NvFlexExtDestroyInstance</a>(<a class=\"code\" href=\"_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4\">NvFlexExtContainer</a>* container, <span class=\"keyword\">const</span> <a class=\"code\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_instance\">NvFlexExtInstance</a>* instance);</div>\n<div class=\"line\"><a name=\"l00669\"></a><span class=\"lineno\">  669</span>&#160;</div>\n<div class=\"line\"><a name=\"l00676\"></a><span class=\"lineno\">  676</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"_nv_flex_ext_8h.html#ad9343d07f49098ee205a1ed48dc9db34\">NvFlexExtNotifyAssetChanged</a>(<a class=\"code\" href=\"_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4\">NvFlexExtContainer</a>* container, <span class=\"keyword\">const</span> <a class=\"code\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_asset\">NvFlexExtAsset</a>* asset);</div>\n<div class=\"line\"><a name=\"l00677\"></a><span class=\"lineno\">  677</span>&#160;</div>\n<div class=\"line\"><a name=\"l00707\"></a><span class=\"lineno\">  707</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"_nv_flex_ext_8h.html#ab4caadf5a6b19674849bfce91d986e7b\">NvFlexExtTickContainer</a>(<a class=\"code\" href=\"_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4\">NvFlexExtContainer</a>* container, <span class=\"keywordtype\">float</span> dt, <span class=\"keywordtype\">int</span> numSubsteps, <span class=\"keywordtype\">bool</span> enableTimers=<span class=\"keyword\">false</span>);</div>\n<div class=\"line\"><a name=\"l00708\"></a><span class=\"lineno\">  708</span>&#160;</div>\n<div class=\"line\"><a name=\"l00714\"></a><span class=\"lineno\">  714</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"_nv_flex_ext_8h.html#a425f4e472bb83797498c904ab228209c\">NvFlexExtPushToDevice</a>(<a class=\"code\" href=\"_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4\">NvFlexExtContainer</a>* container);</div>\n<div class=\"line\"><a name=\"l00715\"></a><span class=\"lineno\">  715</span>&#160;</div>\n<div class=\"line\"><a name=\"l00721\"></a><span class=\"lineno\">  721</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"_nv_flex_ext_8h.html#a89ea7bbd26bec46f1b82d84257de1f58\">NvFlexExtPullFromDevice</a>(<a class=\"code\" href=\"_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4\">NvFlexExtContainer</a>* container);</div>\n<div class=\"line\"><a name=\"l00722\"></a><span class=\"lineno\">  722</span>&#160;</div>\n<div class=\"line\"><a name=\"l00728\"></a><span class=\"lineno\">  728</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"_nv_flex_ext_8h.html#a4695d37db8b61495f200bfd88a2be628\">NvFlexExtUpdateInstances</a>(<a class=\"code\" href=\"_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4\">NvFlexExtContainer</a>* container);</div>\n<div class=\"line\"><a name=\"l00729\"></a><span class=\"lineno\">  729</span>&#160;</div>\n<div class=\"line\"><a name=\"l00730\"></a><span class=\"lineno\">  730</span>&#160;</div>\n<div class=\"line\"><a name=\"l00734\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_ext_8h.html#a502acd5c1db4ba6eef61eba25f26d68e\">  734</a></span>&#160;<span class=\"keyword\">enum</span> <a class=\"code\" href=\"_nv_flex_ext_8h.html#a502acd5c1db4ba6eef61eba25f26d68e\">NvFlexExtForceMode</a></div>\n<div class=\"line\"><a name=\"l00735\"></a><span class=\"lineno\">  735</span>&#160;{</div>\n<div class=\"line\"><a name=\"l00737\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_ext_8h.html#a502acd5c1db4ba6eef61eba25f26d68ea9d4e8413b628837f9d1982897fd1f4a2\">  737</a></span>&#160;    <a class=\"code\" href=\"_nv_flex_ext_8h.html#a502acd5c1db4ba6eef61eba25f26d68ea9d4e8413b628837f9d1982897fd1f4a2\">eNvFlexExtModeForce</a>             =      0,</div>\n<div class=\"line\"><a name=\"l00738\"></a><span class=\"lineno\">  738</span>&#160;</div>\n<div class=\"line\"><a name=\"l00740\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_ext_8h.html#a502acd5c1db4ba6eef61eba25f26d68ea92265f22fc2a724baf640fdace8f8ea0\">  740</a></span>&#160;    <a class=\"code\" href=\"_nv_flex_ext_8h.html#a502acd5c1db4ba6eef61eba25f26d68ea92265f22fc2a724baf640fdace8f8ea0\">eNvFlexExtModeImpulse</a>           =      1,</div>\n<div class=\"line\"><a name=\"l00741\"></a><span class=\"lineno\">  741</span>&#160;</div>\n<div class=\"line\"><a name=\"l00743\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_ext_8h.html#a502acd5c1db4ba6eef61eba25f26d68ea6a2e4817b1e86764147c81e8d5e5070c\">  743</a></span>&#160;    <a class=\"code\" href=\"_nv_flex_ext_8h.html#a502acd5c1db4ba6eef61eba25f26d68ea6a2e4817b1e86764147c81e8d5e5070c\">eNvFlexExtModeVelocityChange</a>    =      2,</div>\n<div class=\"line\"><a name=\"l00744\"></a><span class=\"lineno\">  744</span>&#160;};</div>\n<div class=\"line\"><a name=\"l00745\"></a><span class=\"lineno\">  745</span>&#160;</div>\n<div class=\"line\"><a name=\"l00749\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_ext_8h.html\">  749</a></span>&#160;<span class=\"keyword\">struct </span><a class=\"code\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_force_field\">NvFlexExtForceField</a></div>\n<div class=\"line\"><a name=\"l00750\"></a><span class=\"lineno\">  750</span>&#160;{</div>\n<div class=\"line\"><a name=\"l00751\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_ext_8h.html#a9e6134ffeca22636dcd467fa4dee1ba0\">  751</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_ext_8h.html#a9e6134ffeca22636dcd467fa4dee1ba0\">mPosition</a>[3];     </div>\n<div class=\"line\"><a name=\"l00752\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_ext_8h.html#a7ad225a762dcf91b7155c7229dd08d38\">  752</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_ext_8h.html#a7ad225a762dcf91b7155c7229dd08d38\">mRadius</a>;          </div>\n<div class=\"line\"><a name=\"l00753\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_ext_8h.html#a0b9729f9896faba45c861a1e8d15290b\">  753</a></span>&#160;    <span class=\"keywordtype\">float</span> <a class=\"code\" href=\"_nv_flex_ext_8h.html#a0b9729f9896faba45c861a1e8d15290b\">mStrength</a>;        </div>\n<div class=\"line\"><a name=\"l00754\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_ext_8h.html#a3d7dba5a4d9fce7230bc20a8bb567951\">  754</a></span>&#160;    <a class=\"code\" href=\"_nv_flex_ext_8h.html#a502acd5c1db4ba6eef61eba25f26d68e\">NvFlexExtForceMode</a> <a class=\"code\" href=\"_nv_flex_ext_8h.html#a3d7dba5a4d9fce7230bc20a8bb567951\">mMode</a>;   </div>\n<div class=\"line\"><a name=\"l00755\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_ext_8h.html#a785f5a041fb93cf460cde7153f87fa02\">  755</a></span>&#160;    <span class=\"keywordtype\">bool</span> <a class=\"code\" href=\"_nv_flex_ext_8h.html#a785f5a041fb93cf460cde7153f87fa02\">mLinearFalloff</a>;    </div>\n<div class=\"line\"><a name=\"l00756\"></a><span class=\"lineno\">  756</span>&#160;};</div>\n<div class=\"line\"><a name=\"l00757\"></a><span class=\"lineno\">  757</span>&#160;</div>\n<div class=\"line\"><a name=\"l00762\"></a><span class=\"lineno\"><a class=\"line\" href=\"_nv_flex_ext_8h.html#a1117ce527b6b483cc756ab5352f6dc3f\">  762</a></span>&#160;<span class=\"keyword\">typedef</span> <span class=\"keyword\">struct </span><a class=\"code\" href=\"_nv_flex_ext_8h.html#a1117ce527b6b483cc756ab5352f6dc3f\">NvFlexExtForceFieldCallback</a> <a class=\"code\" href=\"_nv_flex_ext_8h.html#a1117ce527b6b483cc756ab5352f6dc3f\">NvFlexExtForceFieldCallback</a>;</div>\n<div class=\"line\"><a name=\"l00763\"></a><span class=\"lineno\">  763</span>&#160;</div>\n<div class=\"line\"><a name=\"l00771\"></a><span class=\"lineno\">  771</span>&#160;NV_FLEX_API <a class=\"code\" href=\"_nv_flex_ext_8h.html#a1117ce527b6b483cc756ab5352f6dc3f\">NvFlexExtForceFieldCallback</a>* <a class=\"code\" href=\"_nv_flex_ext_8h.html#ac1ed9ff49120d0691352399c8173bdcf\">NvFlexExtCreateForceFieldCallback</a>(<a class=\"code\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a>* solver);</div>\n<div class=\"line\"><a name=\"l00772\"></a><span class=\"lineno\">  772</span>&#160;</div>\n<div class=\"line\"><a name=\"l00778\"></a><span class=\"lineno\">  778</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"_nv_flex_ext_8h.html#ad08da77f432ca56bc59647bf73da86cb\">NvFlexExtDestroyForceFieldCallback</a>(<a class=\"code\" href=\"_nv_flex_ext_8h.html#a1117ce527b6b483cc756ab5352f6dc3f\">NvFlexExtForceFieldCallback</a>* callback);</div>\n<div class=\"line\"><a name=\"l00779\"></a><span class=\"lineno\">  779</span>&#160;</div>\n<div class=\"line\"><a name=\"l00787\"></a><span class=\"lineno\">  787</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"_nv_flex_ext_8h.html#aa36d43b9e53b9b66d43c2bc5eb5abf98\">NvFlexExtSetForceFields</a>(<a class=\"code\" href=\"_nv_flex_ext_8h.html#a1117ce527b6b483cc756ab5352f6dc3f\">NvFlexExtForceFieldCallback</a>* callback, <span class=\"keyword\">const</span> <a class=\"code\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_force_field\">NvFlexExtForceField</a>* forceFields, <span class=\"keywordtype\">int</span> numForceFields);</div>\n<div class=\"line\"><a name=\"l00788\"></a><span class=\"lineno\">  788</span>&#160;</div>\n<div class=\"line\"><a name=\"l00799\"></a><span class=\"lineno\">  799</span>&#160;NV_FLEX_API <a class=\"code\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_soft_joint\">NvFlexExtSoftJoint</a>* <a class=\"code\" href=\"_nv_flex_ext_8h.html#af52527c58c7bd671d26b2985b078aff4\">NvFlexExtCreateSoftJoint</a>(<a class=\"code\" href=\"_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4\">NvFlexExtContainer</a>* container, <span class=\"keyword\">const</span> <span class=\"keywordtype\">int</span>* particleIndices, <span class=\"keyword\">const</span> <span class=\"keywordtype\">float</span>* particleLocalPositions, <span class=\"keyword\">const</span> <span class=\"keywordtype\">int</span> numJointParticles, <span class=\"keyword\">const</span> <span class=\"keywordtype\">float</span> stiffness);</div>\n<div class=\"line\"><a name=\"l00800\"></a><span class=\"lineno\">  800</span>&#160;</div>\n<div class=\"line\"><a name=\"l00806\"></a><span class=\"lineno\">  806</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"_nv_flex_ext_8h.html#a021a25caa64e7f9e9542ea0bc7e6d632\">NvFlexExtDestroySoftJoint</a>(<a class=\"code\" href=\"_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4\">NvFlexExtContainer</a>* container, <a class=\"code\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_soft_joint\">NvFlexExtSoftJoint</a>* joint);</div>\n<div class=\"line\"><a name=\"l00807\"></a><span class=\"lineno\">  807</span>&#160;</div>\n<div class=\"line\"><a name=\"l00815\"></a><span class=\"lineno\">  815</span>&#160;NV_FLEX_API <span class=\"keywordtype\">void</span> <a class=\"code\" href=\"_nv_flex_ext_8h.html#a3fea23644fb7b0840132eee46ea971e4\">NvFlexExtSoftJointSetTransform</a>(<a class=\"code\" href=\"_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4\">NvFlexExtContainer</a>* container, <a class=\"code\" href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_soft_joint\">NvFlexExtSoftJoint</a>* joint, <span class=\"keyword\">const</span> <span class=\"keywordtype\">float</span>* position, <span class=\"keyword\">const</span> <span class=\"keywordtype\">float</span>* rotation);</div>\n<div class=\"line\"><a name=\"l00816\"></a><span class=\"lineno\">  816</span>&#160;</div>\n<div class=\"line\"><a name=\"l00817\"></a><span class=\"lineno\">  817</span>&#160;} <span class=\"comment\">// extern &quot;C&quot;</span></div>\n<div class=\"line\"><a name=\"l00818\"></a><span class=\"lineno\">  818</span>&#160;</div>\n<div class=\"line\"><a name=\"l00819\"></a><span class=\"lineno\">  819</span>&#160;<span class=\"preprocessor\">#endif // NV_FLEX_EXT_H</span></div>\n<div class=\"line\"><a name=\"l00820\"></a><span class=\"lineno\">  820</span>&#160;</div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_a785f5a041fb93cf460cde7153f87fa02\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#a785f5a041fb93cf460cde7153f87fa02\">NvFlexExtForceField::mLinearFalloff</a></div><div class=\"ttdeci\">bool mLinearFalloff</div><div class=\"ttdoc\">Linear or no falloff. </div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:755</div></div>\n<div class=\"ttc\" id=\"struct_nv_flex_vector_html_ade3c494ee6e75e54a6ba73d6bc100bd9\"><div class=\"ttname\"><a href=\"struct_nv_flex_vector.html#ade3c494ee6e75e54a6ba73d6bc100bd9\">NvFlexVector::destroy</a></div><div class=\"ttdeci\">void destroy()</div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:86</div></div>\n<div class=\"ttc\" id=\"struct_nv_flex_vector_html_a24fa4e3807b492cd5fbdc6c1c235062b\"><div class=\"ttname\"><a href=\"struct_nv_flex_vector.html#a24fa4e3807b492cd5fbdc6c1c235062b\">NvFlexVector::type</a></div><div class=\"ttdeci\">NvFlexBufferType type</div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:76</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_a4eceb2845977219379afdd06397a6706\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#a4eceb2845977219379afdd06397a6706\">NvFlexExtAsset::numParticles</a></div><div class=\"ttdeci\">int numParticles</div><div class=\"ttdoc\">Number of particles. </div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:315</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_a24866c3fe2c482073325062c9c80d043\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#a24866c3fe2c482073325062c9c80d043\">NvFlexExtAsset::shapeCenters</a></div><div class=\"ttdeci\">float * shapeCenters</div><div class=\"ttdoc\">The position of the center of mass of each shape, an array of vec3s mNumShapes in length...</div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:329</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_aa36d43b9e53b9b66d43c2bc5eb5abf98\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#aa36d43b9e53b9b66d43c2bc5eb5abf98\">NvFlexExtSetForceFields</a></div><div class=\"ttdeci\">NV_FLEX_API void NvFlexExtSetForceFields(NvFlexExtForceFieldCallback *callback, const NvFlexExtForceField *forceFields, int numForceFields)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_a4ffe9bcd59a6cfc8900ac136f5123304\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#a4ffe9bcd59a6cfc8900ac136f5123304\">NvFlexExtMovingFrameApply</a></div><div class=\"ttdeci\">NV_FLEX_API void NvFlexExtMovingFrameApply(NvFlexExtMovingFrame *frame, float *positions, float *velocities, int numParticles, float linearScale, float angularScale, float dt)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_a3d0a712689ce07a5652d48ea25fa05b9\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#a3d0a712689ce07a5652d48ea25fa05b9\">NvFlexExtInstance::shapeRotations</a></div><div class=\"ttdeci\">float * shapeRotations</div><div class=\"ttdoc\">Shape matching group rotations (quaternions) </div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:360</div></div>\n<div class=\"ttc\" id=\"struct_nv_flex_vector_html_ae5818b10d20083ee9ed0aa7826ea7ab8\"><div class=\"ttname\"><a href=\"struct_nv_flex_vector.html#ae5818b10d20083ee9ed0aa7826ea7ab8\">NvFlexVector::NvFlexVector</a></div><div class=\"ttdeci\">NvFlexVector(NvFlexLibrary *l, const T *ptr, int size, NvFlexBufferType type=eNvFlexBufferHost)</div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:58</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_a4e845f47484e00a272ad351b4bf28e95\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#a4e845f47484e00a272ad351b4bf28e95\">NvFlexExtShapeData::n</a></div><div class=\"ttdeci\">int n</div><div class=\"ttdoc\">Number of valid tranforms. </div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:631</div></div>\n<div class=\"ttc\" id=\"struct_nv_flex_vector_html_ab08ce71766df91fc9201a61a48054d0c\"><div class=\"ttname\"><a href=\"struct_nv_flex_vector.html#ab08ce71766df91fc9201a61a48054d0c\">NvFlexVector::lib</a></div><div class=\"ttdeci\">NvFlexLibrary * lib</div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:70</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_a0ac3c8cc1bb87eaa50690f44e56a74da\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#a0ac3c8cc1bb87eaa50690f44e56a74da\">NvFlexExtAsset::particles</a></div><div class=\"ttdeci\">float * particles</div><div class=\"ttdoc\">Local space particle positions, x,y,z,1/mass. </div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:314</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_a96b73b81c5db272d950efe3f03a8cef8\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#a96b73b81c5db272d950efe3f03a8cef8\">NvFlexExtAsset::shapeOffsets</a></div><div class=\"ttdeci\">int * shapeOffsets</div><div class=\"ttdoc\">Each entry stores the end of the shape&#39;s indices in the indices array (exclusive prefix sum of shape ...</div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:327</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_a8cf124de0fc370757cb890f83984ced8\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#a8cf124de0fc370757cb890f83984ced8\">NvFlexExtTearingMeshEdit::newParticleIndex</a></div><div class=\"ttdeci\">int newParticleIndex</div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:468</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a054cb27646a389ea257d1bbde46a6e97\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a054cb27646a389ea257d1bbde46a6e97\">NvFlexUnmap</a></div><div class=\"ttdeci\">NV_FLEX_API void NvFlexUnmap(NvFlexBuffer *buffer)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_a2b5634f64bd0d8d86f894885a1c16a33\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#a2b5634f64bd0d8d86f894885a1c16a33\">NvFlexExtDestroyInstance</a></div><div class=\"ttdeci\">NV_FLEX_API void NvFlexExtDestroyInstance(NvFlexExtContainer *container, const NvFlexExtInstance *instance)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_a780022c1b8425074ce08328e8e8c35cc\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#a780022c1b8425074ce08328e8e8c35cc\">NvFlexExtMovingFrameUpdate</a></div><div class=\"ttdeci\">NV_FLEX_API void NvFlexExtMovingFrameUpdate(NvFlexExtMovingFrame *frame, const float *worldTranslation, const float *worldRotation, float dt)</div></div>\n<div class=\"ttc\" id=\"struct_nv_flex_vector_html_a0309d584abbe900d3af3823a79e89ee7\"><div class=\"ttname\"><a href=\"struct_nv_flex_vector.html#a0309d584abbe900d3af3823a79e89ee7\">NvFlexVector::init</a></div><div class=\"ttdeci\">void init(int size)</div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:79</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_ad0a9c7e2f907e46b60f6bacf402987ce\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#ad0a9c7e2f907e46b60f6bacf402987ce\">NvFlexExtCreateRigidFromMesh</a></div><div class=\"ttdeci\">NV_FLEX_API NvFlexExtAsset * NvFlexExtCreateRigidFromMesh(const float *vertices, int numVertices, const int *indices, int numTriangleIndices, float radius, float expand)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_a9020959583f85486e060a7b5e611476d\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#a9020959583f85486e060a7b5e611476d\">NvFlexExtAsset::springRestLengths</a></div><div class=\"ttdeci\">float * springRestLengths</div><div class=\"ttdoc\">Spring rest-lengths. </div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:321</div></div>\n<div class=\"ttc\" id=\"struct_nv_flex_vector_html_a1933b633e9055d9adf8b62c4aa8a3bc0\"><div class=\"ttname\"><a href=\"struct_nv_flex_vector.html#a1933b633e9055d9adf8b62c4aa8a3bc0\">NvFlexVector::size</a></div><div class=\"ttdeci\">int size() const </div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:162</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_ab4caadf5a6b19674849bfce91d986e7b\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#ab4caadf5a6b19674849bfce91d986e7b\">NvFlexExtTickContainer</a></div><div class=\"ttdeci\">NV_FLEX_API void NvFlexExtTickContainer(NvFlexExtContainer *container, float dt, int numSubsteps, bool enableTimers=false)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_struct_nv_flex_ext_particle_data\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_particle_data\">NvFlexExtParticleData</a></div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:588</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_aca9a5ecc1fd26fedf90f8f17e87e3ca8\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#aca9a5ecc1fd26fedf90f8f17e87e3ca8\">NvFlexExtInstance::numParticles</a></div><div class=\"ttdeci\">int numParticles</div><div class=\"ttdoc\">Number of simulation particles. </div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:353</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_af0cd639c21be28640fe5e1dd94931d59\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#af0cd639c21be28640fe5e1dd94931d59\">NvFlexExtUnmapParticleData</a></div><div class=\"ttdeci\">NV_FLEX_API void NvFlexExtUnmapParticleData(NvFlexExtContainer *container)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_afaf84632a42346a718009bcda5efc8b4\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4\">NvFlexExtContainer</a></div><div class=\"ttdeci\">struct NvFlexExtContainer NvFlexExtContainer</div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:389</div></div>\n<div class=\"ttc\" id=\"struct_nv_flex_vector_html_a769d5ad0723a3fceac7951967e8b4d03\"><div class=\"ttname\"><a href=\"struct_nv_flex_vector.html#a769d5ad0723a3fceac7951967e8b4d03\">NvFlexVector::operator[]</a></div><div class=\"ttdeci\">T &amp; operator[](int index)</div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:128</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_af52527c58c7bd671d26b2985b078aff4\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#af52527c58c7bd671d26b2985b078aff4\">NvFlexExtCreateSoftJoint</a></div><div class=\"ttdeci\">NV_FLEX_API NvFlexExtSoftJoint * NvFlexExtCreateSoftJoint(NvFlexExtContainer *container, const int *particleIndices, const float *particleLocalPositions, const int numJointParticles, const float stiffness)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_a8000e722ce864bbfbce0f303f39186d7\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#a8000e722ce864bbfbce0f303f39186d7\">NvFlexExtInstance::userData</a></div><div class=\"ttdeci\">void * userData</div><div class=\"ttdoc\">User data pointer. </div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:364</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_a89ea7bbd26bec46f1b82d84257de1f58\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#a89ea7bbd26bec46f1b82d84257de1f58\">NvFlexExtPullFromDevice</a></div><div class=\"ttdeci\">NV_FLEX_API void NvFlexExtPullFromDevice(NvFlexExtContainer *container)</div></div>\n<div class=\"ttc\" id=\"struct_nv_flex_vector_html_a36a3fd5e42c5d8005f72bcc43217cf37\"><div class=\"ttname\"><a href=\"struct_nv_flex_vector.html#a36a3fd5e42c5d8005f72bcc43217cf37\">NvFlexVector::resize</a></div><div class=\"ttdeci\">void resize(int newCount, const T &amp;val)</div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:211</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_aeee311155e99ce95c506078964a7dc3c\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#aeee311155e99ce95c506078964a7dc3c\">NvFlexExtAsset::triangleIndices</a></div><div class=\"ttdeci\">int * triangleIndices</div><div class=\"ttdoc\">Indexed triangle mesh indices for clothing. </div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:337</div></div>\n<div class=\"ttc\" id=\"struct_nv_flex_vector_html_ac28b5fd10fd519265c66cf4a0ce8e6ae\"><div class=\"ttname\"><a href=\"struct_nv_flex_vector.html#ac28b5fd10fd519265c66cf4a0ce8e6ae\">NvFlexVector::capacity</a></div><div class=\"ttdeci\">int capacity</div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:75</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_a1a0c7a0c03148b1586c4fb48f14a565f\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#a1a0c7a0c03148b1586c4fb48f14a565f\">NvFlexExtInstance::particleIndices</a></div><div class=\"ttdeci\">int * particleIndices</div><div class=\"ttdoc\">Simulation particle indices. </div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:352</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_a7ad225a762dcf91b7155c7229dd08d38\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#a7ad225a762dcf91b7155c7229dd08d38\">NvFlexExtForceField::mRadius</a></div><div class=\"ttdeci\">float mRadius</div><div class=\"ttdoc\">Radius of the force field. </div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:752</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_ad858d4df98a4300668f2b8048881c0d5\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#ad858d4df98a4300668f2b8048881c0d5\">NvFlexExtAsset::numTriangles</a></div><div class=\"ttdeci\">int numTriangles</div><div class=\"ttdoc\">Number of triangles. </div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:338</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a6541b33eaca7b2323e73b30cea34d16ca11adf517d180983daec217e761acc3d6\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a6541b33eaca7b2323e73b30cea34d16ca11adf517d180983daec217e761acc3d6\">eNvFlexMapWait</a></div><div class=\"ttdoc\">Calling thread will be blocked until buffer is ready for access, default. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:69</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_a53b814424d9b4cd111a95a2b8ea16f14\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#a53b814424d9b4cd111a95a2b8ea16f14\">NvFlexExtSoftJoint::stiffness</a></div><div class=\"ttdeci\">float stiffness</div><div class=\"ttdoc\">Joint stiffness. </div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:381</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_afaeb57f4ee7e54b1ae1b912a465ed39e\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlexSolver</a></div><div class=\"ttdeci\">struct NvFlexSolver NvFlexSolver</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:57</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_a8bef033b2a8567dfcc954e22534147ee\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#a8bef033b2a8567dfcc954e22534147ee\">NvFlexExtCreateClothFromMesh</a></div><div class=\"ttdeci\">NV_FLEX_API NvFlexExtAsset * NvFlexExtCreateClothFromMesh(const float *particles, int numParticles, const int *indices, int numTriangles, float stretchStiffness, float bendStiffness, float tetherStiffness, float tetherGive, float pressure)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_struct_nv_flex_ext_force_field\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_force_field\">NvFlexExtForceField</a></div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:749</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_a4810f46c27fd0cfacfb1f4be9dff0479\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#a4810f46c27fd0cfacfb1f4be9dff0479\">NvFlexExtAsset::numShapeIndices</a></div><div class=\"ttdeci\">int numShapeIndices</div><div class=\"ttdoc\">Total number of indices for shape constraints. </div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:326</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_a88054283907d3386f1a30cdc4475acb0\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#a88054283907d3386f1a30cdc4475acb0\">NvFlexExtDestroyTearingCloth</a></div><div class=\"ttdeci\">NV_FLEX_API void NvFlexExtDestroyTearingCloth(NvFlexExtAsset *asset)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_a6517fee9c5e151673ecd5ad91cbf2ae2\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#a6517fee9c5e151673ecd5ad91cbf2ae2\">NvFlexExtShapeData::rotations</a></div><div class=\"ttdeci\">float * rotations</div><div class=\"ttdoc\">Receives a pointer to the array quaternion rotation data in [x, y z, w] format. </div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:629</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_a7fc268a27306f6fc68dd1c106cfa62db\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#a7fc268a27306f6fc68dd1c106cfa62db\">NvFlexExtGetActiveList</a></div><div class=\"ttdeci\">NV_FLEX_API int NvFlexExtGetActiveList(NvFlexExtContainer *container, int *indices)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_aa67489d3beb86e2b566e0fa2e978ed11\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#aa67489d3beb86e2b566e0fa2e978ed11\">NvFlexExtInstance::shapeIndex</a></div><div class=\"ttdeci\">int shapeIndex</div><div class=\"ttdoc\">Index in the container&#39;s shape body constraints array. </div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:356</div></div>\n<div class=\"ttc\" id=\"struct_nv_flex_vector_html\"><div class=\"ttname\"><a href=\"struct_nv_flex_vector.html\">NvFlexVector</a></div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:45</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_ad08da77f432ca56bc59647bf73da86cb\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#ad08da77f432ca56bc59647bf73da86cb\">NvFlexExtDestroyForceFieldCallback</a></div><div class=\"ttdeci\">NV_FLEX_API void NvFlexExtDestroyForceFieldCallback(NvFlexExtForceFieldCallback *callback)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a0898bb9210440b159688d4647f6eb083\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a0898bb9210440b159688d4647f6eb083\">NvFlexMap</a></div><div class=\"ttdeci\">NV_FLEX_API void * NvFlexMap(NvFlexBuffer *buffer, int flags)</div></div>\n<div class=\"ttc\" id=\"struct_nv_flex_vector_html_a51edbab41cc249bc117c7ce17651007c\"><div class=\"ttname\"><a href=\"struct_nv_flex_vector.html#a51edbab41cc249bc117c7ce17651007c\">NvFlexVector::NvFlexVector</a></div><div class=\"ttdeci\">NvFlexVector(NvFlexLibrary *l, int size=0, NvFlexBufferType type=eNvFlexBufferHost)</div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:47</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_a8b7a9bd9cbd2f33c6b3da02687a6bd9d\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#a8b7a9bd9cbd2f33c6b3da02687a6bd9d\">NvFlexExtAsset::springIndices</a></div><div class=\"ttdeci\">int * springIndices</div><div class=\"ttdoc\">Spring indices. </div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:319</div></div>\n<div class=\"ttc\" id=\"struct_nv_flex_vector_html_ae0e6ce694fb95a50c2974c6c2cc0ffc8\"><div class=\"ttname\"><a href=\"struct_nv_flex_vector.html#ae0e6ce694fb95a50c2974c6c2cc0ffc8\">NvFlexVector::reserve</a></div><div class=\"ttdeci\">void reserve(int minCapacity)</div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:174</div></div>\n<div class=\"ttc\" id=\"struct_nv_flex_vector_html_afb9c0f47544c0cdebe21efb6908dd3a0\"><div class=\"ttname\"><a href=\"struct_nv_flex_vector.html#afb9c0f47544c0cdebe21efb6908dd3a0\">NvFlexVector::~NvFlexVector</a></div><div class=\"ttdeci\">~NvFlexVector()</div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:65</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_ab421c4d72574f468af6827c18c36a387\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#ab421c4d72574f468af6827c18c36a387\">NvFlexExtAsset::maxParticles</a></div><div class=\"ttdeci\">int maxParticles</div><div class=\"ttdoc\">Maximum number of particles, allows extra space for tearable assets which duplicate particles...</div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:316</div></div>\n<div class=\"ttc\" id=\"struct_nv_flex_vector_html_a98584303358b70fd12ead231cd750335\"><div class=\"ttname\"><a href=\"struct_nv_flex_vector.html#a98584303358b70fd12ead231cd750335\">NvFlexVector::push_back</a></div><div class=\"ttdeci\">void push_back(const T &amp;t)</div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:136</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_a2509137d9fb8ab6818f35ab7761da7a5\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#a2509137d9fb8ab6818f35ab7761da7a5\">NvFlexExtDestroyContainer</a></div><div class=\"ttdeci\">NV_FLEX_API void NvFlexExtDestroyContainer(NvFlexExtContainer *container)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_aab0ea63bac05cd6aee5054d369687fb0\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#aab0ea63bac05cd6aee5054d369687fb0\">NvFlexExtMovingFrame::tau</a></div><div class=\"ttdeci\">float tau[3]</div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:240</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_a95fbd8d303fe90992b95b63a29eb5344\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#a95fbd8d303fe90992b95b63a29eb5344\">NvFlexExtMovingFrame::omega</a></div><div class=\"ttdeci\">float omega[3]</div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:237</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_a6e3f12e9e92abb31b115cf31b33e34bb\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#a6e3f12e9e92abb31b115cf31b33e34bb\">NvFlexExtCreateSoftMeshSkinning</a></div><div class=\"ttdeci\">NV_FLEX_API void NvFlexExtCreateSoftMeshSkinning(const float *vertices, int numVertices, const float *bones, int numBones, float falloff, float maxDistance, float *skinningWeights, int *skinningIndices)</div></div>\n<div class=\"ttc\" id=\"struct_nv_flex_vector_html_a73f78b1efc76c96666a96a79064670c5\"><div class=\"ttname\"><a href=\"struct_nv_flex_vector.html#a73f78b1efc76c96666a96a79064670c5\">NvFlexVector::empty</a></div><div class=\"ttdeci\">bool empty() const </div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:164</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_struct_nv_flex_ext_tearing_mesh_edit\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_tearing_mesh_edit\">NvFlexExtTearingMeshEdit</a></div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:465</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_a49906c9e3466d40383cddf627fe26658\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#a49906c9e3466d40383cddf627fe26658\">NvFlexExtCreateContainer</a></div><div class=\"ttdeci\">NV_FLEX_API NvFlexExtContainer * NvFlexExtCreateContainer(NvFlexLibrary *lib, NvFlexSolver *solver, int maxParticles)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_a3bf10e2c9370602142b7be01e920f973\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#a3bf10e2c9370602142b7be01e920f973\">NvFlexExtCreateInstance</a></div><div class=\"ttdeci\">NV_FLEX_API NvFlexExtInstance * NvFlexExtCreateInstance(NvFlexExtContainer *container, NvFlexExtParticleData *particleData, const NvFlexExtAsset *asset, const float *transform, float vx, float vy, float vz, int phase, float invMassScale)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_ad1af111e19f7ca92fd913c25c4d9288b\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#ad1af111e19f7ca92fd913c25c4d9288b\">NvFlexExtMovingFrame::rotation</a></div><div class=\"ttdeci\">float rotation[4]</div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:234</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_a3fc55581814cbab90a0c4167428893df\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#a3fc55581814cbab90a0c4167428893df\">NvFlexExtAsset::inflatableVolume</a></div><div class=\"ttdeci\">float inflatableVolume</div><div class=\"ttdoc\">The rest volume for the inflatable constraint. </div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:342</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a169e4c126acf46bdebf76c36a44deca3aec63221ddc1b13eff4db55fbf6cd85f8\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a169e4c126acf46bdebf76c36a44deca3aec63221ddc1b13eff4db55fbf6cd85f8\">eNvFlexBufferHost</a></div><div class=\"ttdoc\">A host mappable buffer, pinned memory on CUDA, staging buffer on DX. </div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:78</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_ab51f04114586b5bf0f6fc5816fda9c69\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#ab51f04114586b5bf0f6fc5816fda9c69\">NvFlexExtUnmapShapeData</a></div><div class=\"ttdeci\">NV_FLEX_API void NvFlexExtUnmapShapeData(NvFlexExtContainer *container)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a50a3933d3f7b77d0500c702b1fa9ba9a\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a></div><div class=\"ttdeci\">struct NvFlexBuffer NvFlexBuffer</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:62</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_a90f2d3ba5be20e70e7efead911ee7acc\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#a90f2d3ba5be20e70e7efead911ee7acc\">NvFlexExtMapShapeData</a></div><div class=\"ttdeci\">NV_FLEX_API NvFlexExtShapeData NvFlexExtMapShapeData(NvFlexExtContainer *container)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_a502acd5c1db4ba6eef61eba25f26d68ea92265f22fc2a724baf640fdace8f8ea0\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#a502acd5c1db4ba6eef61eba25f26d68ea92265f22fc2a724baf640fdace8f8ea0\">eNvFlexExtModeImpulse</a></div><div class=\"ttdoc\">Apply field value as an impulse. </div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:740</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_a780c0bac62cc5dd8d04da11cff07eeba\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#a780c0bac62cc5dd8d04da11cff07eeba\">NvFlexExtParticleData::particles</a></div><div class=\"ttdeci\">float * particles</div><div class=\"ttdoc\">Receives a pointer to the particle position / mass data. </div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:590</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_a1e8252d5e5f66b3d8920c1371f23cc05\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#a1e8252d5e5f66b3d8920c1371f23cc05\">NvFlexExtAsset::springCoefficients</a></div><div class=\"ttdeci\">float * springCoefficients</div><div class=\"ttdoc\">Spring coefficients. </div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:320</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_a3a9ce6bba709625f6c338bd3070bd012\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#a3a9ce6bba709625f6c338bd3070bd012\">NvFlexExtCreateSoftFromMesh</a></div><div class=\"ttdeci\">NV_FLEX_API NvFlexExtAsset * NvFlexExtCreateSoftFromMesh(const float *vertices, int numVertices, const int *indices, int numTriangleIndices, float particleSpacing, float volumeSampling, float surfaceSampling, float clusterSpacing, float clusterRadius, float clusterStiffness, float linkRadius, float linkStiffness, float globalStiffness, float clusterPlasticThreshold, float clusterPlasticCreep)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_a69962fe23c7fef594fb5f36a175ff148\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#a69962fe23c7fef594fb5f36a175ff148\">NvFlexExtParticleData::restParticles</a></div><div class=\"ttdeci\">float * restParticles</div><div class=\"ttdoc\">Receives a pointer to the particle&#39;s rest position (used for self collision culling) ...</div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:591</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_acd73f347463a114da73bb1ab5eff00b4\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#acd73f347463a114da73bb1ab5eff00b4\">NvFlexExtShapeData::positions</a></div><div class=\"ttdeci\">float * positions</div><div class=\"ttdoc\">Receives a pointer to an array of shape body translations in [x, y, z] format. </div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:630</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_struct_nv_flex_ext_moving_frame\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_moving_frame\">NvFlexExtMovingFrame</a></div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:231</div></div>\n<div class=\"ttc\" id=\"struct_nv_flex_vector_html_a3871fbd5422c9b3f41bd5dc2046e1aa7\"><div class=\"ttname\"><a href=\"struct_nv_flex_vector.html#a3871fbd5422c9b3f41bd5dc2046e1aa7\">NvFlexVector::operator[]</a></div><div class=\"ttdeci\">const T &amp; operator[](int index) const </div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:120</div></div>\n<div class=\"ttc\" id=\"struct_nv_flex_vector_html_afca9914468beb61f6c98bc052e2af5e0\"><div class=\"ttname\"><a href=\"struct_nv_flex_vector.html#afca9914468beb61f6c98bc052e2af5e0\">NvFlexVector::unmap</a></div><div class=\"ttdeci\">void unmap()</div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:109</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_struct_nv_flex_ext_instance\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_instance\">NvFlexExtInstance</a></div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:350</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_a4695d37db8b61495f200bfd88a2be628\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#a4695d37db8b61495f200bfd88a2be628\">NvFlexExtUpdateInstances</a></div><div class=\"ttdeci\">NV_FLEX_API void NvFlexExtUpdateInstances(NvFlexExtContainer *container)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_ad5a3a0aed59d8fb5dedbabe189749bc3\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#ad5a3a0aed59d8fb5dedbabe189749bc3\">NvFlexExtSoftJoint::initialized</a></div><div class=\"ttdeci\">bool initialized</div><div class=\"ttdoc\">Joint status flag. </div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:383</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_a9e6134ffeca22636dcd467fa4dee1ba0\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#a9e6134ffeca22636dcd467fa4dee1ba0\">NvFlexExtForceField::mPosition</a></div><div class=\"ttdeci\">float mPosition[3]</div><div class=\"ttdoc\">Center of force field. </div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:751</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_a806a707d6b32c41ab561a4893f43ddde\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#a806a707d6b32c41ab561a4893f43ddde\">NvFlexExtTriangleData::indices</a></div><div class=\"ttdeci\">int * indices</div><div class=\"ttdoc\">Receives a pointer to the array of triangle index data. </div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:611</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_a56bf3b1fe603c79b871ead2efb65cc78\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#a56bf3b1fe603c79b871ead2efb65cc78\">NvFlexExtTriangleData::normals</a></div><div class=\"ttdeci\">float * normals</div><div class=\"ttdoc\">Receives a pointer to an array of triangle normal data stored with 16 byte stride, i.e.: [nx, ny, nz]. </div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:612</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html\">NvFlex.h</a></div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_a3fea23644fb7b0840132eee46ea971e4\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#a3fea23644fb7b0840132eee46ea971e4\">NvFlexExtSoftJointSetTransform</a></div><div class=\"ttdeci\">NV_FLEX_API void NvFlexExtSoftJointSetTransform(NvFlexExtContainer *container, NvFlexExtSoftJoint *joint, const float *position, const float *rotation)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_a5efc0113d5432eb959437e6e3a98cc5f\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#a5efc0113d5432eb959437e6e3a98cc5f\">NvFlexExtTearClothMesh</a></div><div class=\"ttdeci\">NV_FLEX_API void NvFlexExtTearClothMesh(NvFlexExtAsset *asset, float maxStrain, int maxSplits, NvFlexExtTearingParticleClone *particleCopies, int *numParticleCopies, int maxCopies, NvFlexExtTearingMeshEdit *triangleEdits, int *numTriangleEdits, int maxEdits)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_a0705c9d2b5960057b37f097083d96f33\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#a0705c9d2b5960057b37f097083d96f33\">NvFlexExtMovingFrame::acceleration</a></div><div class=\"ttdeci\">float acceleration[3]</div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:239</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_a9b81cabbc738fc2650c978bd39ae3bad\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#a9b81cabbc738fc2650c978bd39ae3bad\">NvFlexExtSoftJoint::particleIndices</a></div><div class=\"ttdeci\">int * particleIndices</div><div class=\"ttdoc\">Global indices. </div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:373</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_a502acd5c1db4ba6eef61eba25f26d68ea9d4e8413b628837f9d1982897fd1f4a2\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#a502acd5c1db4ba6eef61eba25f26d68ea9d4e8413b628837f9d1982897fd1f4a2\">eNvFlexExtModeForce</a></div><div class=\"ttdoc\">Apply field value as a force. </div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:737</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_ad4d5551b97bd31b9e1ca5c57f2c82452\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#ad4d5551b97bd31b9e1ca5c57f2c82452\">NvFlexExtAsset::inflatableStiffness</a></div><div class=\"ttdeci\">float inflatableStiffness</div><div class=\"ttdoc\">How stiff the inflatable is. </div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:344</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a3078976e98f370a9fbdb11db80f1f318\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a></div><div class=\"ttdeci\">struct NvFlexLibrary NvFlexLibrary</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:52</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_a46b80c02097ebc40bf777708e8f17ed4\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#a46b80c02097ebc40bf777708e8f17ed4\">NvFlexExtTearingMeshEdit::triIndex</a></div><div class=\"ttdeci\">int triIndex</div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:467</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_afcacbd584e2041855af50eae3f287779\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#afcacbd584e2041855af50eae3f287779\">NvFlexExtParticleData::normals</a></div><div class=\"ttdeci\">float * normals</div><div class=\"ttdoc\">Receives a pointer to the particle normal data with 16 byte stride in format [nx, ny...</div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:594</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_a77c2b96e59d92c49f902c2707df095f0\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#a77c2b96e59d92c49f902c2707df095f0\">NvFlexExtSoftJoint::numParticles</a></div><div class=\"ttdeci\">int numParticles</div><div class=\"ttdoc\">Number of particles in the joint. </div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:376</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_a1646bf409084777cd0ff5d4fcccf07de\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#a1646bf409084777cd0ff5d4fcccf07de\">NvFlexExtMapTriangleData</a></div><div class=\"ttdeci\">NV_FLEX_API NvFlexExtTriangleData NvFlexExtMapTriangleData(NvFlexExtContainer *container)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_a9034efff0f1b158a12a9ed6991d620fa\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#a9034efff0f1b158a12a9ed6991d620fa\">NvFlexExtTearingParticleClone::destIndex</a></div><div class=\"ttdeci\">int destIndex</div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:455</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_a0b9729f9896faba45c861a1e8d15290b\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#a0b9729f9896faba45c861a1e8d15290b\">NvFlexExtForceField::mStrength</a></div><div class=\"ttdeci\">float mStrength</div><div class=\"ttdoc\">Strength of the force field. </div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:753</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_a7d35ea2def3a05a5f85a5cdfd5abdc56\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#a7d35ea2def3a05a5f85a5cdfd5abdc56\">NvFlexExtMovingFrame::position</a></div><div class=\"ttdeci\">float position[3]</div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:233</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_a0a01f7b650db1077ffc165762703552b\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#a0a01f7b650db1077ffc165762703552b\">NvFlexExtSoftJoint::shapeTranslations</a></div><div class=\"ttdeci\">float shapeTranslations[3]</div><div class=\"ttdoc\">Joint shape matching group translations (vec3s) </div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:378</div></div>\n<div class=\"ttc\" id=\"struct_nv_flex_vector_html_a6c4a1f4acb4d6275c9e1ac01d4e35ab1\"><div class=\"ttname\"><a href=\"struct_nv_flex_vector.html#a6c4a1f4acb4d6275c9e1ac01d4e35ab1\">NvFlexVector::resize</a></div><div class=\"ttdeci\">void resize(int newCount)</div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:201</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_struct_nv_flex_ext_asset\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_asset\">NvFlexExtAsset</a></div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:311</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_a7850f47d32a8fe6107aae7a098de8f01\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#a7850f47d32a8fe6107aae7a098de8f01\">NvFlexExtSoftJoint::shapeIndex</a></div><div class=\"ttdeci\">int shapeIndex</div><div class=\"ttdoc\">Index in the container&#39;s shape body constraints array. </div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:375</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_a425f4e472bb83797498c904ab228209c\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#a425f4e472bb83797498c904ab228209c\">NvFlexExtPushToDevice</a></div><div class=\"ttdeci\">NV_FLEX_API void NvFlexExtPushToDevice(NvFlexExtContainer *container)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_a1117ce527b6b483cc756ab5352f6dc3f\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#a1117ce527b6b483cc756ab5352f6dc3f\">NvFlexExtForceFieldCallback</a></div><div class=\"ttdeci\">struct NvFlexExtForceFieldCallback NvFlexExtForceFieldCallback</div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:762</div></div>\n<div class=\"ttc\" id=\"struct_nv_flex_vector_html_ad462ae46f0270161c79572762b558124\"><div class=\"ttname\"><a href=\"struct_nv_flex_vector.html#ad462ae46f0270161c79572762b558124\">NvFlexVector::count</a></div><div class=\"ttdeci\">int count</div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:74</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_a502acd5c1db4ba6eef61eba25f26d68e\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#a502acd5c1db4ba6eef61eba25f26d68e\">NvFlexExtForceMode</a></div><div class=\"ttdeci\">NvFlexExtForceMode</div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:734</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_a0fd9407aad5001d3a9fe90e989da1aad\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#a0fd9407aad5001d3a9fe90e989da1aad\">NvFlexExtAsset::shapeCoefficients</a></div><div class=\"ttdeci\">float * shapeCoefficients</div><div class=\"ttdoc\">The stiffness coefficient for each shape. </div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:328</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_aad1bc1104e48d8839d1b9c4c41b8ed42\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#aad1bc1104e48d8839d1b9c4c41b8ed42\">NvFlexExtSoftJoint::shapeRotations</a></div><div class=\"ttdeci\">float shapeRotations[4]</div><div class=\"ttdoc\">Joint shape matching group rotations (quaternions) </div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:379</div></div>\n<div class=\"ttc\" id=\"struct_nv_flex_vector_html_a56640fd10b06a4024a4bf01c306c436b\"><div class=\"ttname\"><a href=\"struct_nv_flex_vector.html#a56640fd10b06a4024a4bf01c306c436b\">NvFlexVector::map</a></div><div class=\"ttdeci\">void map(int flags=eNvFlexMapWait)</div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:100</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_a502acd5c1db4ba6eef61eba25f26d68ea6a2e4817b1e86764147c81e8d5e5070c\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#a502acd5c1db4ba6eef61eba25f26d68ea6a2e4817b1e86764147c81e8d5e5070c\">eNvFlexExtModeVelocityChange</a></div><div class=\"ttdoc\">Apply field value as a velocity change. </div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:743</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_addad82b3598059ffde7b3b5babe17bd4\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#addad82b3598059ffde7b3b5babe17bd4\">NvFlexExtCreateTearingClothFromMesh</a></div><div class=\"ttdeci\">NV_FLEX_API NvFlexExtAsset * NvFlexExtCreateTearingClothFromMesh(const float *particles, int numParticles, int maxParticles, const int *indices, int numTriangles, float stretchStiffness, float bendStiffness, float pressure)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_struct_nv_flex_ext_shape_data\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_shape_data\">NvFlexExtShapeData</a></div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:627</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_a6a20d814e3b083b069daa0f20a3e756e\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#a6a20d814e3b083b069daa0f20a3e756e\">NvFlexExtMovingFrameInit</a></div><div class=\"ttdeci\">NV_FLEX_API void NvFlexExtMovingFrameInit(NvFlexExtMovingFrame *frame, const float *worldTranslation, const float *worldRotation)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_ab556b9c29acfda73e14c68edc43be7e3\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#ab556b9c29acfda73e14c68edc43be7e3\">NvFlexExtAsset::inflatablePressure</a></div><div class=\"ttdeci\">float inflatablePressure</div><div class=\"ttdoc\">How much over the rest volume the inflatable should attempt to maintain. </div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:343</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_ad722c319fe60d8a0933df217ba04b2ac\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#ad722c319fe60d8a0933df217ba04b2ac\">NvFlexExtParticleData::upper</a></div><div class=\"ttdeci\">const float * upper</div><div class=\"ttdoc\">Receive a pointer to the particle upper bounds [x, y, z]. </div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:597</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_ad48f83b8442323687d2268206e913496\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#ad48f83b8442323687d2268206e913496\">NvFlexAllocBuffer</a></div><div class=\"ttdeci\">NV_FLEX_API NvFlexBuffer * NvFlexAllocBuffer(NvFlexLibrary *lib, int elementCount, int elementByteStride, NvFlexBufferType type)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_ac2ef832cadd91e257ba80eb97d936340\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#ac2ef832cadd91e257ba80eb97d936340\">NvFlexExtInstance::inflatableIndex</a></div><div class=\"ttdeci\">int inflatableIndex</div><div class=\"ttdoc\">Index in the container&#39;s inflatables array. </div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:357</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_ab0a259d159116b7fba9b229784b02c70\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#ab0a259d159116b7fba9b229784b02c70\">NvFlexExtFreeParticles</a></div><div class=\"ttdeci\">NV_FLEX_API void NvFlexExtFreeParticles(NvFlexExtContainer *container, int n, const int *indices)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_a8a4a122a0a95b8262fc4673298a5cb1c\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#a8a4a122a0a95b8262fc4673298a5cb1c\">NvFlexExtAsset::shapeIndices</a></div><div class=\"ttdeci\">int * shapeIndices</div><div class=\"ttdoc\">The indices of the shape matching constraints. </div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:325</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_a82a15dfd40b338a07cf4517f55f16720\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#a82a15dfd40b338a07cf4517f55f16720\">NvFlexExtCreateWeldedMeshIndices</a></div><div class=\"ttdeci\">NV_FLEX_API int NvFlexExtCreateWeldedMeshIndices(const float *vertices, int numVertices, int *uniqueVerts, int *originalToUniqueMap, float threshold)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_a3fa8bd4b7d4096602e611faf0bb62dfb\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#a3fa8bd4b7d4096602e611faf0bb62dfb\">NvFlexExtMapParticleData</a></div><div class=\"ttdeci\">NV_FLEX_API NvFlexExtParticleData NvFlexExtMapParticleData(NvFlexExtContainer *container)</div></div>\n<div class=\"ttc\" id=\"struct_nv_flex_vector_html_acd29b9b2b27e53e3640c24da6959e3cd\"><div class=\"ttname\"><a href=\"struct_nv_flex_vector.html#acd29b9b2b27e53e3640c24da6959e3cd\">NvFlexVector::assign</a></div><div class=\"ttdeci\">void assign(const T *srcPtr, int newCount)</div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:146</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_a021a25caa64e7f9e9542ea0bc7e6d632\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#a021a25caa64e7f9e9542ea0bc7e6d632\">NvFlexExtDestroySoftJoint</a></div><div class=\"ttdeci\">NV_FLEX_API void NvFlexExtDestroySoftJoint(NvFlexExtContainer *container, NvFlexExtSoftJoint *joint)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_aac7ec52c127730c381d4b8cbac8134bf\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#aac7ec52c127730c381d4b8cbac8134bf\">NvFlexExtAsset::shapePlasticThresholds</a></div><div class=\"ttdeci\">float * shapePlasticThresholds</div><div class=\"ttdoc\">The plastic threshold coefficient for each shape. </div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:333</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_aa4f19c17fa4ae35ceda90c8b3d1fcca4\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#aa4f19c17fa4ae35ceda90c8b3d1fcca4\">NvFlexExtInstance::asset</a></div><div class=\"ttdeci\">const NvFlexExtAsset * asset</div><div class=\"ttdoc\">Source asset used to create this instance. </div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:362</div></div>\n<div class=\"ttc\" id=\"struct_nv_flex_vector_html_aa4422fcaa24d5bbd71aa7772639512b9\"><div class=\"ttname\"><a href=\"struct_nv_flex_vector.html#aa4422fcaa24d5bbd71aa7772639512b9\">NvFlexVector::mappedPtr</a></div><div class=\"ttdeci\">T * mappedPtr</div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:73</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_ae03f4690a66ba4e06e4b2519c688aaba\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#ae03f4690a66ba4e06e4b2519c688aaba\">NvFlexExtMovingFrame::delta</a></div><div class=\"ttdeci\">float delta[4][4]</div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:242</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_af911b47ddb538a0542f6e2c38a82d701\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#af911b47ddb538a0542f6e2c38a82d701\">NvFlexExtParticleData::lower</a></div><div class=\"ttdeci\">const float * lower</div><div class=\"ttdoc\">Receive a pointer to the particle lower bounds [x, y, z]. </div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:596</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_a3288fee0b909e9e768d9abc9b8da74cf\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#a3288fee0b909e9e768d9abc9b8da74cf\">NvFlexExtInstance::triangleIndex</a></div><div class=\"ttdeci\">int triangleIndex</div><div class=\"ttdoc\">Index in the container&#39;s triangle array. </div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:355</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_struct_nv_flex_ext_triangle_data\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_triangle_data\">NvFlexExtTriangleData</a></div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:609</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_a3d7dba5a4d9fce7230bc20a8bb567951\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#a3d7dba5a4d9fce7230bc20a8bb567951\">NvFlexExtForceField::mMode</a></div><div class=\"ttdeci\">NvFlexExtForceMode mMode</div><div class=\"ttdoc\">Mode of field application. </div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:754</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_a7c036ccca83df3659529858068e0593d\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#a7c036ccca83df3659529858068e0593d\">NvFlexExtAllocParticles</a></div><div class=\"ttdeci\">NV_FLEX_API int NvFlexExtAllocParticles(NvFlexExtContainer *container, int n, int *indices)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_a7fa35a822a4e856fee45b3263e679270\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#a7fa35a822a4e856fee45b3263e679270\">NvFlexExtParticleData::phases</a></div><div class=\"ttdeci\">int * phases</div><div class=\"ttdoc\">Receives a pointer to the particle phase data. </div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:593</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_ab559759820a4322aff061745ef26c867\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#ab559759820a4322aff061745ef26c867\">NvFlexFreeBuffer</a></div><div class=\"ttdeci\">NV_FLEX_API void NvFlexFreeBuffer(NvFlexBuffer *buf)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_afc07cf2edbf4d5bf504890b312a98bd7\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#afc07cf2edbf4d5bf504890b312a98bd7\">NvFlexExtAsset::numShapes</a></div><div class=\"ttdeci\">int numShapes</div><div class=\"ttdoc\">The number of shape matching constraints. </div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:330</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_a89e582ae93e0256b06f22d9abf361783\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#a89e582ae93e0256b06f22d9abf361783\">NvFlexExtUnmapTriangleData</a></div><div class=\"ttdeci\">NV_FLEX_API void NvFlexExtUnmapTriangleData(NvFlexExtContainer *container)</div></div>\n<div class=\"ttc\" id=\"struct_nv_flex_vector_html_a225da2c753ca0bb95b570c303f0cd761\"><div class=\"ttname\"><a href=\"struct_nv_flex_vector.html#a225da2c753ca0bb95b570c303f0cd761\">NvFlexVector::copyto</a></div><div class=\"ttdeci\">void copyto(T *dest, int count)</div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:155</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_a36c33fafe13c5fd5773bf9a2af2dd745\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#a36c33fafe13c5fd5773bf9a2af2dd745\">NvFlexExtDestroyAsset</a></div><div class=\"ttdeci\">NV_FLEX_API void NvFlexExtDestroyAsset(NvFlexExtAsset *asset)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_a9342d21bf875d0f1a9d287ced08c087a\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#a9342d21bf875d0f1a9d287ced08c087a\">NvFlexExtAsset::shapePlasticCreeps</a></div><div class=\"ttdeci\">float * shapePlasticCreeps</div><div class=\"ttdoc\">The plastic creep coefficient for each shape. </div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:334</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_a431c97a2756c45752dd7508f0810a397\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#a431c97a2756c45752dd7508f0810a397\">NvFlexExtTearingParticleClone::srcIndex</a></div><div class=\"ttdeci\">int srcIndex</div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:454</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_aa6fb48cb1199af96a29de7616f7a4d18\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#aa6fb48cb1199af96a29de7616f7a4d18\">NvFlexExtInstance::shapeTranslations</a></div><div class=\"ttdeci\">float * shapeTranslations</div><div class=\"ttdoc\">Shape matching group translations (vec3s) </div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:359</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_acc246770a0f65f1e50b43c618955dc84\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#acc246770a0f65f1e50b43c618955dc84\">NvFlexExtMovingFrame::velocity</a></div><div class=\"ttdeci\">float velocity[3]</div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:236</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_struct_nv_flex_ext_tearing_particle_clone\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_tearing_particle_clone\">NvFlexExtTearingParticleClone</a></div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:452</div></div>\n<div class=\"ttc\" id=\"struct_nv_flex_vector_html_aa408aa5327d07f69fc12314df2d5dcfb\"><div class=\"ttname\"><a href=\"struct_nv_flex_vector.html#aa408aa5327d07f69fc12314df2d5dcfb\">NvFlexVector::buffer</a></div><div class=\"ttdeci\">NvFlexBuffer * buffer</div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:71</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_adbb39b1f8b0705bb3e19d2cb6145640f\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#adbb39b1f8b0705bb3e19d2cb6145640f\">NvFlexExtParticleData::velocities</a></div><div class=\"ttdeci\">float * velocities</div><div class=\"ttdoc\">Receives a pointer to the particle velocity data. </div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:592</div></div>\n<div class=\"ttc\" id=\"struct_nv_flex_vector_html_a37fbf38300ea57635af4b60c934e9f46\"><div class=\"ttname\"><a href=\"struct_nv_flex_vector.html#a37fbf38300ea57635af4b60c934e9f46\">NvFlexVector::back</a></div><div class=\"ttdeci\">const T &amp; back() const </div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:166</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_struct_nv_flex_ext_soft_joint\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#struct_nv_flex_ext_soft_joint\">NvFlexExtSoftJoint</a></div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:371</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_ac1ed9ff49120d0691352399c8173bdcf\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#ac1ed9ff49120d0691352399c8173bdcf\">NvFlexExtCreateForceFieldCallback</a></div><div class=\"ttdeci\">NV_FLEX_API NvFlexExtForceFieldCallback * NvFlexExtCreateForceFieldCallback(NvFlexSolver *solver)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_a960073478e49b229d1d19ac64c5b23f7\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#a960073478e49b229d1d19ac64c5b23f7\">NvFlexExtAsset::inflatable</a></div><div class=\"ttdeci\">bool inflatable</div><div class=\"ttdoc\">Whether an inflatable constraint should be added. </div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:341</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_ae5f81891f59382b133319dc3bcea8ba0\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#ae5f81891f59382b133319dc3bcea8ba0\">NvFlexExtAsset::numSprings</a></div><div class=\"ttdeci\">int numSprings</div><div class=\"ttdoc\">Number of springs. </div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:322</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_a284e220726302e761f7cf5aa07884723\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#a284e220726302e761f7cf5aa07884723\">NvFlexExtSoftJoint::particleLocalPositions</a></div><div class=\"ttdeci\">float * particleLocalPositions</div><div class=\"ttdoc\">Relative offsets from the particles of the joint to the center. </div><div class=\"ttdef\"><b>Definition:</b> NvFlexExt.h:374</div></div>\n<div class=\"ttc\" id=\"_nv_flex_ext_8h_html_ad9343d07f49098ee205a1ed48dc9db34\"><div class=\"ttname\"><a href=\"_nv_flex_ext_8h.html#ad9343d07f49098ee205a1ed48dc9db34\">NvFlexExtNotifyAssetChanged</a></div><div class=\"ttdeci\">NV_FLEX_API void NvFlexExtNotifyAssetChanged(NvFlexExtContainer *container, const NvFlexExtAsset *asset)</div></div>\n<div class=\"ttc\" id=\"_nv_flex_8h_html_a169e4c126acf46bdebf76c36a44deca3\"><div class=\"ttname\"><a href=\"_nv_flex_8h.html#a169e4c126acf46bdebf76c36a44deca3\">NvFlexBufferType</a></div><div class=\"ttdeci\">NvFlexBufferType</div><div class=\"ttdef\"><b>Definition:</b> NvFlex.h:76</div></div>\n</div><!-- fragment --></div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated on Mon Mar 19 2018 14:53:17 for FLEX by &#160;<a href=\"http://www.doxygen.org/index.html\">\n<img class=\"footer\" src=\"doxygen.png\" alt=\"doxygen\"/>\n</a> 1.8.9.1\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "doc/_static/api/dir_d44c64559bbebec7f509842c48db8b23.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.9.1\"/>\n<title>FLEX: include Directory Reference</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n<link href=\"flex.css\" rel=\"stylesheet\" type=\"text/css\"/>\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectlogo\"><img alt=\"Logo\" src=\"nvidia.png\"/></td>\n  <td style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">FLEX\n   &#160;<span id=\"projectnumber\">1.2.0</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.9.1 -->\n<div id=\"nav-path\" class=\"navpath\">\n  <ul>\n<li class=\"navelem\"><a class=\"el\" href=\"dir_d44c64559bbebec7f509842c48db8b23.html\">include</a></li>  </ul>\n</div>\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"headertitle\">\n<div class=\"title\">include Directory Reference</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n<table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"files\"></a>\nFiles</h2></td></tr>\n<tr class=\"memitem:_nv_flex_8h\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">file &#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_8h.html\">NvFlex.h</a> <a href=\"_nv_flex_8h_source.html\">[code]</a></td></tr>\n<tr class=\"separator:\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:_nv_flex_device_8h\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">file &#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_device_8h.html\">NvFlexDevice.h</a> <a href=\"_nv_flex_device_8h_source.html\">[code]</a></td></tr>\n<tr class=\"separator:\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:_nv_flex_ext_8h\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">file &#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"_nv_flex_ext_8h.html\">NvFlexExt.h</a> <a href=\"_nv_flex_ext_8h_source.html\">[code]</a></td></tr>\n<tr class=\"separator:\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated on Mon Mar 19 2018 14:53:17 for FLEX by &#160;<a href=\"http://www.doxygen.org/index.html\">\n<img class=\"footer\" src=\"doxygen.png\" alt=\"doxygen\"/>\n</a> 1.8.9.1\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "doc/_static/api/doxygen.css",
    "content": "/* The standard CSS for doxygen 1.8.9.1 */\n\nbody, table, div, p, dl {\n\tfont: 400 14px/22px Roboto,sans-serif;\n}\n\n/* @group Heading Levels */\n\nh1.groupheader {\n\tfont-size: 150%;\n}\n\n.title {\n\tfont: 400 14px/28px Roboto,sans-serif;\n\tfont-size: 150%;\n\tfont-weight: bold;\n\tmargin: 10px 2px;\n}\n\nh2.groupheader {\n\tborder-bottom: 1px solid #A3BA98;\n\tcolor: #526947;\n\tfont-size: 150%;\n\tfont-weight: normal;\n\tmargin-top: 1.75em;\n\tpadding-top: 8px;\n\tpadding-bottom: 4px;\n\twidth: 100%;\n}\n\nh3.groupheader {\n\tfont-size: 100%;\n}\n\nh1, h2, h3, h4, h5, h6 {\n\t-webkit-transition: text-shadow 0.5s linear;\n\t-moz-transition: text-shadow 0.5s linear;\n\t-ms-transition: text-shadow 0.5s linear;\n\t-o-transition: text-shadow 0.5s linear;\n\ttransition: text-shadow 0.5s linear;\n\tmargin-right: 15px;\n}\n\nh1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow {\n\ttext-shadow: 0 0 15px cyan;\n}\n\ndt {\n\tfont-weight: bold;\n}\n\ndiv.multicol {\n\t-moz-column-gap: 1em;\n\t-webkit-column-gap: 1em;\n\t-moz-column-count: 3;\n\t-webkit-column-count: 3;\n}\n\np.startli, p.startdd {\n\tmargin-top: 2px;\n}\n\np.starttd {\n\tmargin-top: 0px;\n}\n\np.endli {\n\tmargin-bottom: 0px;\n}\n\np.enddd {\n\tmargin-bottom: 4px;\n}\n\np.endtd {\n\tmargin-bottom: 2px;\n}\n\n/* @end */\n\ncaption {\n\tfont-weight: bold;\n}\n\nspan.legend {\n        font-size: 70%;\n        text-align: center;\n}\n\nh3.version {\n        font-size: 90%;\n        text-align: center;\n}\n\ndiv.qindex, div.navtab{\n\tbackground-color: #F0F3EE;\n\tborder: 1px solid #B9CAB0;\n\ttext-align: center;\n}\n\ndiv.qindex, div.navpath {\n\twidth: 100%;\n\tline-height: 140%;\n}\n\ndiv.navtab {\n\tmargin-right: 15px;\n}\n\n/* @group Link Styling */\n\na {\n\tcolor: #5E7851;\n\tfont-weight: normal;\n\ttext-decoration: none;\n}\n\n.contents a:visited {\n\tcolor: #6D8B5D;\n}\n\na:hover {\n\ttext-decoration: underline;\n}\n\na.qindex {\n\tfont-weight: bold;\n}\n\na.qindexHL {\n\tfont-weight: bold;\n\tbackground-color: #B3C6AA;\n\tcolor: #ffffff;\n\tborder: 1px double #A2B997;\n}\n\n.contents a.qindexHL:visited {\n        color: #ffffff;\n}\n\na.el {\n\tfont-weight: bold;\n}\n\na.elRef {\n}\n\na.code, a.code:visited, a.line, a.line:visited {\n\tcolor: #4665A2; \n}\n\na.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited {\n\tcolor: #4665A2; \n}\n\n/* @end */\n\ndl.el {\n\tmargin-left: -1cm;\n}\n\npre.fragment {\n        border: 1px solid #C4CFE5;\n        background-color: #FBFCFD;\n        padding: 4px 6px;\n        margin: 4px 8px 4px 2px;\n        overflow: auto;\n        word-wrap: break-word;\n        font-size:  9pt;\n        line-height: 125%;\n        font-family: monospace, fixed;\n        font-size: 105%;\n}\n\ndiv.fragment {\n        padding: 4px 6px;\n        margin: 4px 8px 4px 2px;\n\tbackground-color: #FCFDFC;\n\tborder: 1px solid #D2DDCD;\n}\n\ndiv.line {\n\tfont-family: monospace, fixed;\n        font-size: 13px;\n\tmin-height: 13px;\n\tline-height: 1.0;\n\ttext-wrap: unrestricted;\n\twhite-space: -moz-pre-wrap; /* Moz */\n\twhite-space: -pre-wrap;     /* Opera 4-6 */\n\twhite-space: -o-pre-wrap;   /* Opera 7 */\n\twhite-space: pre-wrap;      /* CSS3  */\n\tword-wrap: break-word;      /* IE 5.5+ */\n\ttext-indent: -53px;\n\tpadding-left: 53px;\n\tpadding-bottom: 0px;\n\tmargin: 0px;\n\t-webkit-transition-property: background-color, box-shadow;\n\t-webkit-transition-duration: 0.5s;\n\t-moz-transition-property: background-color, box-shadow;\n\t-moz-transition-duration: 0.5s;\n\t-ms-transition-property: background-color, box-shadow;\n\t-ms-transition-duration: 0.5s;\n\t-o-transition-property: background-color, box-shadow;\n\t-o-transition-duration: 0.5s;\n\ttransition-property: background-color, box-shadow;\n\ttransition-duration: 0.5s;\n}\n\ndiv.line.glow {\n\tbackground-color: cyan;\n\tbox-shadow: 0 0 10px cyan;\n}\n\n\nspan.lineno {\n\tpadding-right: 4px;\n\ttext-align: right;\n\tborder-right: 2px solid #0F0;\n\tbackground-color: #E8E8E8;\n        white-space: pre;\n}\nspan.lineno a {\n\tbackground-color: #D8D8D8;\n}\n\nspan.lineno a:hover {\n\tbackground-color: #C8C8C8;\n}\n\ndiv.ah, span.ah {\n\tbackground-color: black;\n\tfont-weight: bold;\n\tcolor: #ffffff;\n\tmargin-bottom: 3px;\n\tmargin-top: 3px;\n\tpadding: 0.2em;\n\tborder: solid thin #333;\n\tborder-radius: 0.5em;\n\t-webkit-border-radius: .5em;\n\t-moz-border-radius: .5em;\n\tbox-shadow: 2px 2px 3px #999;\n\t-webkit-box-shadow: 2px 2px 3px #999;\n\t-moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;\n\tbackground-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444));\n\tbackground-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000);\n}\n\ndiv.classindex ul {\n        list-style: none;\n        padding-left: 0;\n}\n\ndiv.classindex span.ai {\n        display: inline-block;\n}\n\ndiv.groupHeader {\n\tmargin-left: 16px;\n\tmargin-top: 12px;\n\tfont-weight: bold;\n}\n\ndiv.groupText {\n\tmargin-left: 16px;\n\tfont-style: italic;\n}\n\nbody {\n\tbackground-color: white;\n\tcolor: black;\n        margin: 0;\n}\n\ndiv.contents {\n\tmargin-top: 10px;\n\tmargin-left: 12px;\n\tmargin-right: 8px;\n}\n\ntd.indexkey {\n\tbackground-color: #F0F3EE;\n\tfont-weight: bold;\n\tborder: 1px solid #D2DDCD;\n\tmargin: 2px 0px 2px 0;\n\tpadding: 2px 10px;\n        white-space: nowrap;\n        vertical-align: top;\n}\n\ntd.indexvalue {\n\tbackground-color: #F0F3EE;\n\tborder: 1px solid #D2DDCD;\n\tpadding: 2px 10px;\n\tmargin: 2px 0px;\n}\n\ntr.memlist {\n\tbackground-color: #F2F5F0;\n}\n\np.formulaDsp {\n\ttext-align: center;\n}\n\nimg.formulaDsp {\n\t\n}\n\nimg.formulaInl {\n\tvertical-align: middle;\n}\n\ndiv.center {\n\ttext-align: center;\n        margin-top: 0px;\n        margin-bottom: 0px;\n        padding: 0px;\n}\n\ndiv.center img {\n\tborder: 0px;\n}\n\naddress.footer {\n\ttext-align: right;\n\tpadding-right: 12px;\n}\n\nimg.footer {\n\tborder: 0px;\n\tvertical-align: middle;\n}\n\n/* @group Code Colorization */\n\nspan.keyword {\n\tcolor: #008000\n}\n\nspan.keywordtype {\n\tcolor: #604020\n}\n\nspan.keywordflow {\n\tcolor: #e08000\n}\n\nspan.comment {\n\tcolor: #800000\n}\n\nspan.preprocessor {\n\tcolor: #806020\n}\n\nspan.stringliteral {\n\tcolor: #002080\n}\n\nspan.charliteral {\n\tcolor: #008080\n}\n\nspan.vhdldigit { \n\tcolor: #ff00ff \n}\n\nspan.vhdlchar { \n\tcolor: #000000 \n}\n\nspan.vhdlkeyword { \n\tcolor: #700070 \n}\n\nspan.vhdllogic { \n\tcolor: #ff0000 \n}\n\nblockquote {\n        background-color: #F9FAF8;\n        border-left: 2px solid #B3C6AA;\n        margin: 0 24px 0 4px;\n        padding: 0 12px 0 16px;\n}\n\n/* @end */\n\n/*\n.search {\n\tcolor: #003399;\n\tfont-weight: bold;\n}\n\nform.search {\n\tmargin-bottom: 0px;\n\tmargin-top: 0px;\n}\n\ninput.search {\n\tfont-size: 75%;\n\tcolor: #000080;\n\tfont-weight: normal;\n\tbackground-color: #e8eef2;\n}\n*/\n\ntd.tiny {\n\tfont-size: 75%;\n}\n\n.dirtab {\n\tpadding: 4px;\n\tborder-collapse: collapse;\n\tborder: 1px solid #B9CAB0;\n}\n\nth.dirtab {\n\tbackground: #F0F3EE;\n\tfont-weight: bold;\n}\n\nhr {\n\theight: 0px;\n\tborder: none;\n\tborder-top: 1px solid #729262;\n}\n\nhr.footer {\n\theight: 1px;\n}\n\n/* @group Member Descriptions */\n\ntable.memberdecls {\n\tborder-spacing: 0px;\n\tpadding: 0px;\n}\n\n.memberdecls td, .fieldtable tr {\n\t-webkit-transition-property: background-color, box-shadow;\n\t-webkit-transition-duration: 0.5s;\n\t-moz-transition-property: background-color, box-shadow;\n\t-moz-transition-duration: 0.5s;\n\t-ms-transition-property: background-color, box-shadow;\n\t-ms-transition-duration: 0.5s;\n\t-o-transition-property: background-color, box-shadow;\n\t-o-transition-duration: 0.5s;\n\ttransition-property: background-color, box-shadow;\n\ttransition-duration: 0.5s;\n}\n\n.memberdecls td.glow, .fieldtable tr.glow {\n\tbackground-color: cyan;\n\tbox-shadow: 0 0 15px cyan;\n}\n\n.mdescLeft, .mdescRight,\n.memItemLeft, .memItemRight,\n.memTemplItemLeft, .memTemplItemRight, .memTemplParams {\n\tbackground-color: #FAFBFA;\n\tborder: none;\n\tmargin: 4px;\n\tpadding: 1px 0 0 8px;\n}\n\n.mdescLeft, .mdescRight {\n\tpadding: 0px 8px 4px 8px;\n\tcolor: #555;\n}\n\n.memSeparator {\n        border-bottom: 1px solid #DEE4F0;\n        line-height: 1px;\n        margin: 0px;\n        padding: 0px;\n}\n\n.memItemLeft, .memTemplItemLeft {\n        white-space: nowrap;\n}\n\n.memItemRight {\n\twidth: 100%;\n}\n\n.memTemplParams {\n\tcolor: #6D8B5D;\n        white-space: nowrap;\n\tfont-size: 80%;\n}\n\n/* @end */\n\n/* @group Member Details */\n\n/* Styles for detailed member documentation */\n\n.memtemplate {\n\tfont-size: 80%;\n\tcolor: #6D8B5D;\n\tfont-weight: normal;\n\tmargin-left: 9px;\n}\n\n.memnav {\n\tbackground-color: #F0F3EE;\n\tborder: 1px solid #B9CAB0;\n\ttext-align: center;\n\tmargin: 2px;\n\tmargin-right: 15px;\n\tpadding: 2px;\n}\n\n.mempage {\n\twidth: 100%;\n}\n\n.memitem {\n\tpadding: 0;\n\tmargin-bottom: 10px;\n\tmargin-right: 5px;\n        -webkit-transition: box-shadow 0.5s linear;\n        -moz-transition: box-shadow 0.5s linear;\n        -ms-transition: box-shadow 0.5s linear;\n        -o-transition: box-shadow 0.5s linear;\n        transition: box-shadow 0.5s linear;\n        display: table !important;\n        width: 100%;\n}\n\n.memitem.glow {\n         box-shadow: 0 0 15px cyan;\n}\n\n.memname {\n        font-weight: bold;\n        margin-left: 6px;\n}\n\n.memname td {\n\tvertical-align: bottom;\n}\n\n.memproto, dl.reflist dt {\n        border-top: 1px solid #BCCDB4;\n        border-left: 1px solid #BCCDB4;\n        border-right: 1px solid #BCCDB4;\n        padding: 6px 0px 6px 0px;\n        color: #394931;\n        font-weight: bold;\n        text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);\n        background-image:url('nav_f.png');\n        background-repeat:repeat-x;\n        background-color: #E9EEE6;\n        /* opera specific markup */\n        box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);\n        border-top-right-radius: 4px;\n        border-top-left-radius: 4px;\n        /* firefox specific markup */\n        -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;\n        -moz-border-radius-topright: 4px;\n        -moz-border-radius-topleft: 4px;\n        /* webkit specific markup */\n        -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);\n        -webkit-border-top-right-radius: 4px;\n        -webkit-border-top-left-radius: 4px;\n\n}\n\n.memdoc, dl.reflist dd {\n        border-bottom: 1px solid #BCCDB4;      \n        border-left: 1px solid #BCCDB4;      \n        border-right: 1px solid #BCCDB4; \n        padding: 6px 10px 2px 10px;\n        background-color: #FCFDFC;\n        border-top-width: 0;\n        background-image:url('nav_g.png');\n        background-repeat:repeat-x;\n        background-color: #FFFFFF;\n        /* opera specific markup */\n        border-bottom-left-radius: 4px;\n        border-bottom-right-radius: 4px;\n        box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);\n        /* firefox specific markup */\n        -moz-border-radius-bottomleft: 4px;\n        -moz-border-radius-bottomright: 4px;\n        -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;\n        /* webkit specific markup */\n        -webkit-border-bottom-left-radius: 4px;\n        -webkit-border-bottom-right-radius: 4px;\n        -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);\n}\n\ndl.reflist dt {\n        padding: 5px;\n}\n\ndl.reflist dd {\n        margin: 0px 0px 10px 0px;\n        padding: 5px;\n}\n\n.paramkey {\n\ttext-align: right;\n}\n\n.paramtype {\n\twhite-space: nowrap;\n}\n\n.paramname {\n\tcolor: #602020;\n\twhite-space: nowrap;\n}\n.paramname em {\n\tfont-style: normal;\n}\n.paramname code {\n        line-height: 14px;\n}\n\n.params, .retval, .exception, .tparams {\n        margin-left: 0px;\n        padding-left: 0px;\n}       \n\n.params .paramname, .retval .paramname {\n        font-weight: bold;\n        vertical-align: top;\n}\n        \n.params .paramtype {\n        font-style: italic;\n        vertical-align: top;\n}       \n        \n.params .paramdir {\n        font-family: \"courier new\",courier,monospace;\n        vertical-align: top;\n}\n\ntable.mlabels {\n\tborder-spacing: 0px;\n}\n\ntd.mlabels-left {\n\twidth: 100%;\n\tpadding: 0px;\n}\n\ntd.mlabels-right {\n\tvertical-align: bottom;\n\tpadding: 0px;\n\twhite-space: nowrap;\n}\n\nspan.mlabels {\n        margin-left: 8px;\n}\n\nspan.mlabel {\n        background-color: #93AD86;\n        border-top:1px solid #7B9C6B;\n        border-left:1px solid #7B9C6B;\n        border-right:1px solid #D2DDCD;\n        border-bottom:1px solid #D2DDCD;\n\ttext-shadow: none;\n\tcolor: white;\n\tmargin-right: 4px;\n\tpadding: 2px 3px;\n\tborder-radius: 3px;\n\tfont-size: 7pt;\n\twhite-space: nowrap;\n\tvertical-align: middle;\n}\n\n\n\n/* @end */\n\n/* these are for tree view inside a (index) page */\n\ndiv.directory {\n        margin: 10px 0px;\n        border-top: 1px solid #B3C6AA;\n        border-bottom: 1px solid #B3C6AA;\n        width: 100%;\n}\n\n.directory table {\n        border-collapse:collapse;\n}\n\n.directory td {\n        margin: 0px;\n        padding: 0px;\n\tvertical-align: top;\n}\n\n.directory td.entry {\n        white-space: nowrap;\n        padding-right: 6px;\n\tpadding-top: 3px;\n}\n\n.directory td.entry a {\n        outline:none;\n}\n\n.directory td.entry a img {\n        border: none;\n}\n\n.directory td.desc {\n        width: 100%;\n        padding-left: 6px;\n\tpadding-right: 6px;\n\tpadding-top: 3px;\n\tborder-left: 1px solid rgba(0,0,0,0.05);\n}\n\n.directory tr.even {\n\tpadding-left: 6px;\n\tbackground-color: #F9FAF8;\n}\n\n.directory img {\n\tvertical-align: -30%;\n}\n\n.directory .levels {\n        white-space: nowrap;\n        width: 100%;\n        text-align: right;\n        font-size: 9pt;\n}\n\n.directory .levels span {\n        cursor: pointer;\n        padding-left: 2px;\n        padding-right: 2px;\n\tcolor: #5E7851;\n}\n\n.arrow {\n    color: #B3C6AA;\n    -webkit-user-select: none;\n    -khtml-user-select: none;\n    -moz-user-select: none;\n    -ms-user-select: none;\n    user-select: none;\n    cursor: pointer;\n    font-size: 80%;\n    display: inline-block;\n    width: 16px;\n    height: 22px;\n}\n\n.icon {\n    font-family: Arial, Helvetica;\n    font-weight: bold;\n    font-size: 12px;\n    height: 14px;\n    width: 16px;\n    display: inline-block;\n    background-color: #93AD86;\n    color: white;\n    text-align: center;\n    border-radius: 4px;\n    margin-left: 2px;\n    margin-right: 2px;\n}\n\n.icona {\n    width: 24px;\n    height: 22px;\n    display: inline-block;\n}\n\n.iconfopen {\n    width: 24px;\n    height: 18px;\n    margin-bottom: 4px;\n    background-image:url('folderopen.png');\n    background-position: 0px -4px;\n    background-repeat: repeat-y;\n    vertical-align:top;\n    display: inline-block;\n}\n\n.iconfclosed {\n    width: 24px;\n    height: 18px;\n    margin-bottom: 4px;\n    background-image:url('folderclosed.png');\n    background-position: 0px -4px;\n    background-repeat: repeat-y;\n    vertical-align:top;\n    display: inline-block;\n}\n\n.icondoc {\n    width: 24px;\n    height: 18px;\n    margin-bottom: 4px;\n    background-image:url('doc.png');\n    background-position: 0px -4px;\n    background-repeat: repeat-y;\n    vertical-align:top;\n    display: inline-block;\n}\n\ntable.directory {\n    font: 400 14px Roboto,sans-serif;\n}\n\n/* @end */\n\ndiv.dynheader {\n        margin-top: 8px;\n\t-webkit-touch-callout: none;\n\t-webkit-user-select: none;\n\t-khtml-user-select: none;\n\t-moz-user-select: none;\n\t-ms-user-select: none;\n\tuser-select: none;\n}\n\naddress {\n\tfont-style: normal;\n\tcolor: #415438;\n}\n\ntable.doxtable {\n\tborder-collapse:collapse;\n        margin-top: 4px;\n        margin-bottom: 4px;\n}\n\ntable.doxtable td, table.doxtable th {\n\tborder: 1px solid #45593C;\n\tpadding: 3px 7px 2px;\n}\n\ntable.doxtable th {\n\tbackground-color: #556D49;\n\tcolor: #FFFFFF;\n\tfont-size: 110%;\n\tpadding-bottom: 4px;\n\tpadding-top: 5px;\n}\n\ntable.fieldtable {\n        /*width: 100%;*/\n        margin-bottom: 10px;\n        border: 1px solid #BCCDB4;\n        border-spacing: 0px;\n        -moz-border-radius: 4px;\n        -webkit-border-radius: 4px;\n        border-radius: 4px;\n        -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;\n        -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15);\n        box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15);\n}\n\n.fieldtable td, .fieldtable th {\n        padding: 3px 7px 2px;\n}\n\n.fieldtable td.fieldtype, .fieldtable td.fieldname {\n        white-space: nowrap;\n        border-right: 1px solid #BCCDB4;\n        border-bottom: 1px solid #BCCDB4;\n        vertical-align: top;\n}\n\n.fieldtable td.fieldname {\n        padding-top: 3px;\n}\n\n.fieldtable td.fielddoc {\n        border-bottom: 1px solid #BCCDB4;\n        /*width: 100%;*/\n}\n\n.fieldtable td.fielddoc p:first-child {\n        margin-top: 0px;\n}       \n        \n.fieldtable td.fielddoc p:last-child {\n        margin-bottom: 2px;\n}\n\n.fieldtable tr:last-child td {\n        border-bottom: none;\n}\n\n.fieldtable th {\n        background-image:url('nav_f.png');\n        background-repeat:repeat-x;\n        background-color: #E9EEE6;\n        font-size: 90%;\n        color: #394931;\n        padding-bottom: 4px;\n        padding-top: 5px;\n        text-align:left;\n        -moz-border-radius-topleft: 4px;\n        -moz-border-radius-topright: 4px;\n        -webkit-border-top-left-radius: 4px;\n        -webkit-border-top-right-radius: 4px;\n        border-top-left-radius: 4px;\n        border-top-right-radius: 4px;\n        border-bottom: 1px solid #BCCDB4;\n}\n\n\n.tabsearch {\n\ttop: 0px;\n\tleft: 10px;\n\theight: 36px;\n\tbackground-image: url('tab_b.png');\n\tz-index: 101;\n\toverflow: hidden;\n\tfont-size: 13px;\n}\n\n.navpath ul\n{\n\tfont-size: 11px;\n\tbackground-image:url('tab_b.png');\n\tbackground-repeat:repeat-x;\n\tbackground-position: 0 -5px;\n\theight:30px;\n\tline-height:30px;\n\tcolor:#A5BB9A;\n\tborder:solid 1px #D0DCCB;\n\toverflow:hidden;\n\tmargin:0px;\n\tpadding:0px;\n}\n\n.navpath li\n{\n\tlist-style-type:none;\n\tfloat:left;\n\tpadding-left:10px;\n\tpadding-right:15px;\n\tbackground-image:url('bc_s.png');\n\tbackground-repeat:no-repeat;\n\tbackground-position:right;\n\tcolor:#536B48;\n}\n\n.navpath li.navelem a\n{\n\theight:32px;\n\tdisplay:block;\n\ttext-decoration: none;\n\toutline: none;\n\tcolor: #3E5035;\n\tfont-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif;\n\ttext-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);\n\ttext-decoration: none;        \n}\n\n.navpath li.navelem a:hover\n{\n\tcolor:#8BA87D;\n}\n\n.navpath li.footer\n{\n        list-style-type:none;\n        float:right;\n        padding-left:10px;\n        padding-right:15px;\n        background-image:none;\n        background-repeat:no-repeat;\n        background-position:right;\n        color:#536B48;\n        font-size: 8pt;\n}\n\n\ndiv.summary\n{\n\tfloat: right;\n\tfont-size: 8pt;\n\tpadding-right: 5px;\n\twidth: 50%;\n\ttext-align: right;\n}       \n\ndiv.summary a\n{\n\twhite-space: nowrap;\n}\n\ndiv.ingroups\n{\n\tfont-size: 8pt;\n\twidth: 50%;\n\ttext-align: left;\n}\n\ndiv.ingroups a\n{\n\twhite-space: nowrap;\n}\n\ndiv.header\n{\n        background-image:url('nav_h.png');\n        background-repeat:repeat-x;\n\tbackground-color: #FAFBFA;\n\tmargin:  0px;\n\tborder-bottom: 1px solid #D2DDCD;\n}\n\ndiv.headertitle\n{\n\tpadding: 5px 5px 5px 10px;\n}\n\ndl\n{\n        padding: 0 0 0 10px;\n}\n\n/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug */\ndl.section\n{\n\tmargin-left: 0px;\n\tpadding-left: 0px;\n}\n\ndl.note\n{\n        margin-left:-7px;\n        padding-left: 3px;\n        border-left:4px solid;\n        border-color: #D0C000;\n}\n\ndl.warning, dl.attention\n{\n        margin-left:-7px;\n        padding-left: 3px;\n        border-left:4px solid;\n        border-color: #FF0000;\n}\n\ndl.pre, dl.post, dl.invariant\n{\n        margin-left:-7px;\n        padding-left: 3px;\n        border-left:4px solid;\n        border-color: #00D000;\n}\n\ndl.deprecated\n{\n        margin-left:-7px;\n        padding-left: 3px;\n        border-left:4px solid;\n        border-color: #505050;\n}\n\ndl.todo\n{\n        margin-left:-7px;\n        padding-left: 3px;\n        border-left:4px solid;\n        border-color: #00C0E0;\n}\n\ndl.test\n{\n        margin-left:-7px;\n        padding-left: 3px;\n        border-left:4px solid;\n        border-color: #3030E0;\n}\n\ndl.bug\n{\n        margin-left:-7px;\n        padding-left: 3px;\n        border-left:4px solid;\n        border-color: #C08050;\n}\n\ndl.section dd {\n\tmargin-bottom: 6px;\n}\n\n\n#projectlogo\n{\n\ttext-align: center;\n\tvertical-align: bottom;\n\tborder-collapse: separate;\n}\n \n#projectlogo img\n{ \n\tborder: 0px none;\n}\n \n#projectname\n{\n\tfont: 300% Tahoma, Arial,sans-serif;\n\tmargin: 0px;\n\tpadding: 2px 0px;\n}\n    \n#projectbrief\n{\n\tfont: 120% Tahoma, Arial,sans-serif;\n\tmargin: 0px;\n\tpadding: 0px;\n}\n\n#projectnumber\n{\n\tfont: 50% Tahoma, Arial,sans-serif;\n\tmargin: 0px;\n\tpadding: 0px;\n}\n\n#titlearea\n{\n\tpadding: 0px;\n\tmargin: 0px;\n\twidth: 100%;\n\tborder-bottom: 1px solid #7B9C6B;\n}\n\n.image\n{\n        text-align: center;\n}\n\n.dotgraph\n{\n        text-align: center;\n}\n\n.mscgraph\n{\n        text-align: center;\n}\n\n.diagraph\n{\n        text-align: center;\n}\n\n.caption\n{\n\tfont-weight: bold;\n}\n\ndiv.zoom\n{\n\tborder: 1px solid #AABFA0;\n}\n\ndl.citelist {\n        margin-bottom:50px;\n}\n\ndl.citelist dt {\n        color:#4E6443;\n        float:left;\n        font-weight:bold;\n        margin-right:10px;\n        padding:5px;\n}\n\ndl.citelist dd {\n        margin:2px 0;\n        padding:5px 0;\n}\n\ndiv.toc {\n        padding: 14px 25px;\n        background-color: #F7F9F6;\n        border: 1px solid #E1E8DE;\n        border-radius: 7px 7px 7px 7px;\n        float: right;\n        height: auto;\n        margin: 0 20px 10px 10px;\n        width: 200px;\n}\n\ndiv.toc li {\n        background: url(\"bdwn.png\") no-repeat scroll 0 5px transparent;\n        font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif;\n        margin-top: 5px;\n        padding-left: 10px;\n        padding-top: 2px;\n}\n\ndiv.toc h3 {\n        font: bold 12px/1.2 Arial,FreeSans,sans-serif;\n\tcolor: #6D8B5D;\n        border-bottom: 0 none;\n        margin: 0;\n}\n\ndiv.toc ul {\n        list-style: none outside none;\n        border: medium none;\n        padding: 0px;\n}       \n\ndiv.toc li.level1 {\n        margin-left: 0px;\n}\n\ndiv.toc li.level2 {\n        margin-left: 15px;\n}\n\ndiv.toc li.level3 {\n        margin-left: 30px;\n}\n\ndiv.toc li.level4 {\n        margin-left: 45px;\n}\n\n.inherit_header {\n        font-weight: bold;\n        color: gray;\n        cursor: pointer;\n\t-webkit-touch-callout: none;\n\t-webkit-user-select: none;\n\t-khtml-user-select: none;\n\t-moz-user-select: none;\n\t-ms-user-select: none;\n\tuser-select: none;\n}\n\n.inherit_header td {\n        padding: 6px 0px 2px 5px;\n}\n\n.inherit {\n        display: none;\n}\n\ntr.heading h2 {\n        margin-top: 12px;\n        margin-bottom: 4px;\n}\n\n/* tooltip related style info */\n\n.ttc {\n        position: absolute;\n        display: none;\n}\n\n#powerTip {\n\tcursor: default;\n\twhite-space: nowrap;\n\tbackground-color: white;\n\tborder: 1px solid gray;\n\tborder-radius: 4px 4px 4px 4px;\n\tbox-shadow: 1px 1px 7px gray;\n\tdisplay: none;\n\tfont-size: smaller;\n\tmax-width: 80%;\n\topacity: 0.9;\n\tpadding: 1ex 1em 1em;\n\tposition: absolute;\n\tz-index: 2147483647;\n}\n\n#powerTip div.ttdoc {\n        color: grey;\n\tfont-style: italic;\n}\n\n#powerTip div.ttname a {\n        font-weight: bold;\n}\n\n#powerTip div.ttname {\n        font-weight: bold;\n}\n\n#powerTip div.ttdeci {\n        color: #006318;\n}\n\n#powerTip div {\n        margin: 0px;\n        padding: 0px;\n        font: 12px/16px Roboto,sans-serif;\n}\n\n#powerTip:before, #powerTip:after {\n\tcontent: \"\";\n\tposition: absolute;\n\tmargin: 0px;\n}\n\n#powerTip.n:after,  #powerTip.n:before,\n#powerTip.s:after,  #powerTip.s:before,\n#powerTip.w:after,  #powerTip.w:before,\n#powerTip.e:after,  #powerTip.e:before,\n#powerTip.ne:after, #powerTip.ne:before,\n#powerTip.se:after, #powerTip.se:before,\n#powerTip.nw:after, #powerTip.nw:before,\n#powerTip.sw:after, #powerTip.sw:before {\n\tborder: solid transparent;\n\tcontent: \" \";\n\theight: 0;\n\twidth: 0;\n\tposition: absolute;\n}\n\n#powerTip.n:after,  #powerTip.s:after,\n#powerTip.w:after,  #powerTip.e:after,\n#powerTip.nw:after, #powerTip.ne:after,\n#powerTip.sw:after, #powerTip.se:after {\n\tborder-color: rgba(255, 255, 255, 0);\n}\n\n#powerTip.n:before,  #powerTip.s:before,\n#powerTip.w:before,  #powerTip.e:before,\n#powerTip.nw:before, #powerTip.ne:before,\n#powerTip.sw:before, #powerTip.se:before {\n\tborder-color: rgba(128, 128, 128, 0);\n}\n\n#powerTip.n:after,  #powerTip.n:before,\n#powerTip.ne:after, #powerTip.ne:before,\n#powerTip.nw:after, #powerTip.nw:before {\n\ttop: 100%;\n}\n\n#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after {\n\tborder-top-color: #ffffff;\n\tborder-width: 10px;\n\tmargin: 0px -10px;\n}\n#powerTip.n:before {\n\tborder-top-color: #808080;\n\tborder-width: 11px;\n\tmargin: 0px -11px;\n}\n#powerTip.n:after, #powerTip.n:before {\n\tleft: 50%;\n}\n\n#powerTip.nw:after, #powerTip.nw:before {\n\tright: 14px;\n}\n\n#powerTip.ne:after, #powerTip.ne:before {\n\tleft: 14px;\n}\n\n#powerTip.s:after,  #powerTip.s:before,\n#powerTip.se:after, #powerTip.se:before,\n#powerTip.sw:after, #powerTip.sw:before {\n\tbottom: 100%;\n}\n\n#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after {\n\tborder-bottom-color: #ffffff;\n\tborder-width: 10px;\n\tmargin: 0px -10px;\n}\n\n#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before {\n\tborder-bottom-color: #808080;\n\tborder-width: 11px;\n\tmargin: 0px -11px;\n}\n\n#powerTip.s:after, #powerTip.s:before {\n\tleft: 50%;\n}\n\n#powerTip.sw:after, #powerTip.sw:before {\n\tright: 14px;\n}\n\n#powerTip.se:after, #powerTip.se:before {\n\tleft: 14px;\n}\n\n#powerTip.e:after, #powerTip.e:before {\n\tleft: 100%;\n}\n#powerTip.e:after {\n\tborder-left-color: #ffffff;\n\tborder-width: 10px;\n\ttop: 50%;\n\tmargin-top: -10px;\n}\n#powerTip.e:before {\n\tborder-left-color: #808080;\n\tborder-width: 11px;\n\ttop: 50%;\n\tmargin-top: -11px;\n}\n\n#powerTip.w:after, #powerTip.w:before {\n\tright: 100%;\n}\n#powerTip.w:after {\n\tborder-right-color: #ffffff;\n\tborder-width: 10px;\n\ttop: 50%;\n\tmargin-top: -10px;\n}\n#powerTip.w:before {\n\tborder-right-color: #808080;\n\tborder-width: 11px;\n\ttop: 50%;\n\tmargin-top: -11px;\n}\n\n@media print\n{\n  #top { display: none; }\n  #side-nav { display: none; }\n  #nav-path { display: none; }\n  body { overflow:visible; }\n  h1, h2, h3, h4, h5, h6 { page-break-after: avoid; }\n  .summary { display: none; }\n  .memitem { page-break-inside: avoid; }\n  #doc-content\n  {\n    margin-left:0 !important;\n    height:auto !important;\n    width:auto !important;\n    overflow:inherit;\n    display:inline;\n  }\n}\n\n"
  },
  {
    "path": "doc/_static/api/dynsections.js",
    "content": "function toggleVisibility(linkObj)\n{\n var base = $(linkObj).attr('id');\n var summary = $('#'+base+'-summary');\n var content = $('#'+base+'-content');\n var trigger = $('#'+base+'-trigger');\n var src=$(trigger).attr('src');\n if (content.is(':visible')===true) {\n   content.hide();\n   summary.show();\n   $(linkObj).addClass('closed').removeClass('opened');\n   $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png');\n } else {\n   content.show();\n   summary.hide();\n   $(linkObj).removeClass('closed').addClass('opened');\n   $(trigger).attr('src',src.substring(0,src.length-10)+'open.png');\n } \n return false;\n}\n\nfunction updateStripes()\n{\n  $('table.directory tr').\n       removeClass('even').filter(':visible:even').addClass('even');\n}\n\nfunction toggleLevel(level)\n{\n  $('table.directory tr').each(function() {\n    var l = this.id.split('_').length-1;\n    var i = $('#img'+this.id.substring(3));\n    var a = $('#arr'+this.id.substring(3));\n    if (l<level+1) {\n      i.removeClass('iconfopen iconfclosed').addClass('iconfopen');\n      a.html('&#9660;');\n      $(this).show();\n    } else if (l==level+1) {\n      i.removeClass('iconfclosed iconfopen').addClass('iconfclosed');\n      a.html('&#9658;');\n      $(this).show();\n    } else {\n      $(this).hide();\n    }\n  });\n  updateStripes();\n}\n\nfunction toggleFolder(id)\n{\n  // the clicked row\n  var currentRow = $('#row_'+id);\n\n  // all rows after the clicked row\n  var rows = currentRow.nextAll(\"tr\");\n\n  var re = new RegExp('^row_'+id+'\\\\d+_$', \"i\"); //only one sub\n\n  // only match elements AFTER this one (can't hide elements before)\n  var childRows = rows.filter(function() { return this.id.match(re); });\n\n  // first row is visible we are HIDING\n  if (childRows.filter(':first').is(':visible')===true) {\n    // replace down arrow by right arrow for current row\n    var currentRowSpans = currentRow.find(\"span\");\n    currentRowSpans.filter(\".iconfopen\").removeClass(\"iconfopen\").addClass(\"iconfclosed\");\n    currentRowSpans.filter(\".arrow\").html('&#9658;');\n    rows.filter(\"[id^=row_\"+id+\"]\").hide(); // hide all children\n  } else { // we are SHOWING\n    // replace right arrow by down arrow for current row\n    var currentRowSpans = currentRow.find(\"span\");\n    currentRowSpans.filter(\".iconfclosed\").removeClass(\"iconfclosed\").addClass(\"iconfopen\");\n    currentRowSpans.filter(\".arrow\").html('&#9660;');\n    // replace down arrows by right arrows for child rows\n    var childRowsSpans = childRows.find(\"span\");\n    childRowsSpans.filter(\".iconfopen\").removeClass(\"iconfopen\").addClass(\"iconfclosed\");\n    childRowsSpans.filter(\".arrow\").html('&#9658;');\n    childRows.show(); //show all children\n  }\n  updateStripes();\n}\n\n\nfunction toggleInherit(id)\n{\n  var rows = $('tr.inherit.'+id);\n  var img = $('tr.inherit_header.'+id+' img');\n  var src = $(img).attr('src');\n  if (rows.filter(':first').is(':visible')===true) {\n    rows.css('display','none');\n    $(img).attr('src',src.substring(0,src.length-8)+'closed.png');\n  } else {\n    rows.css('display','table-row'); // using show() causes jump in firefox\n    $(img).attr('src',src.substring(0,src.length-10)+'open.png');\n  }\n}\n\n"
  },
  {
    "path": "doc/_static/api/files.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.9.1\"/>\n<title>FLEX: File List</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n<link href=\"flex.css\" rel=\"stylesheet\" type=\"text/css\"/>\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectlogo\"><img alt=\"Logo\" src=\"nvidia.png\"/></td>\n  <td style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">FLEX\n   &#160;<span id=\"projectnumber\">1.2.0</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.9.1 -->\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"headertitle\">\n<div class=\"title\">File List</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n<div class=\"textblock\">Here is a list of all files with brief descriptions:</div><div class=\"directory\">\n<table class=\"directory\">\n<tr id=\"row_0_\" class=\"even\"><td class=\"entry\"><span style=\"width:16px;display:inline-block;\">&#160;</span><a href=\"_nv_flex_8h_source.html\"><span class=\"icondoc\"></span></a><a class=\"el\" href=\"_nv_flex_8h.html\" target=\"_self\">NvFlex.h</a></td><td class=\"desc\"></td></tr>\n<tr id=\"row_1_\"><td class=\"entry\"><span style=\"width:16px;display:inline-block;\">&#160;</span><a href=\"_nv_flex_device_8h_source.html\"><span class=\"icondoc\"></span></a><a class=\"el\" href=\"_nv_flex_device_8h.html\" target=\"_self\">NvFlexDevice.h</a></td><td class=\"desc\"></td></tr>\n<tr id=\"row_2_\" class=\"even\"><td class=\"entry\"><span style=\"width:16px;display:inline-block;\">&#160;</span><a href=\"_nv_flex_ext_8h_source.html\"><span class=\"icondoc\"></span></a><a class=\"el\" href=\"_nv_flex_ext_8h.html\" target=\"_self\">NvFlexExt.h</a></td><td class=\"desc\"></td></tr>\n</table>\n</div><!-- directory -->\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated on Mon Mar 19 2018 14:53:17 for FLEX by &#160;<a href=\"http://www.doxygen.org/index.html\">\n<img class=\"footer\" src=\"doxygen.png\" alt=\"doxygen\"/>\n</a> 1.8.9.1\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "doc/_static/api/flex.css",
    "content": "body {\n\twidth: 800px;\n}\n\nbody, table, div, p, dl, li{\n\tfont-size: 11pt;\n\tline-height: 1.4;\n}\n\nh1, h2, h3 {\n  border-bottom-width: 1px;\n  border-bottom-style: solid;\n  border-bottom-color: rgb(238, 238, 238);\n  line-height: 1.4;\n}\n\na {\n\tfont-weight: normal;\n\ttext-decoration: none;\n}\n\n.caption {\nfont-weight: bold;\nmargin-bottom: 2em;\n}\n\n.doxtable {\n\twidth: 80%;\n\ttable-layout: fixed;\n}\n\n\n#projectlogo img {\n\twidth: 250px;\n}\n\n\n.fieldname {\n\tfont-weight: bold;\n\tbackground-color: rgb(240, 240, 240);\n}\n\n.fieldtype {\n\tbackground-color: rgb(230, 230, 230);\n}\n\n.fielddoc {\n\tbackground-color: rgb(250, 250, 250);\n}\n\n\nli {\n\tmargin-bottom: 9pt;\n}\n\n.level1, .level2, .level3, .level4 {\n\tmargin-bottom: 0pt;\n}\n\n\ndiv.line {\n\tfont-family: courier, fixed;\n}\n\ndiv.image img { \n    width:100%; \n}"
  },
  {
    "path": "doc/_static/api/globals.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.9.1\"/>\n<title>FLEX: Globals</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n<link href=\"flex.css\" rel=\"stylesheet\" type=\"text/css\"/>\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectlogo\"><img alt=\"Logo\" src=\"nvidia.png\"/></td>\n  <td style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">FLEX\n   &#160;<span id=\"projectnumber\">1.2.0</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.9.1 -->\n</div><!-- top -->\n<div class=\"contents\">\n<div class=\"textblock\">Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:</div>\n\n<h3><a class=\"anchor\" id=\"index_e\"></a>- e -</h3><ul>\n<li>eNvFlexBufferDevice\n: <a class=\"el\" href=\"_nv_flex_8h.html#a169e4c126acf46bdebf76c36a44deca3a103255fa795b55a7f430a41493002576\">NvFlex.h</a>\n</li>\n<li>eNvFlexBufferHost\n: <a class=\"el\" href=\"_nv_flex_8h.html#a169e4c126acf46bdebf76c36a44deca3aec63221ddc1b13eff4db55fbf6cd85f8\">NvFlex.h</a>\n</li>\n<li>eNvFlexCUDA\n: <a class=\"el\" href=\"_nv_flex_8h.html#a9b2d3dc5ac42011aeec4e13be2e14252ad0c27f7aafdc4fe569722025c8eb2178\">NvFlex.h</a>\n</li>\n<li>eNvFlexD3D11\n: <a class=\"el\" href=\"_nv_flex_8h.html#a9b2d3dc5ac42011aeec4e13be2e14252a297a93979a88fda6e6b551dcab5fb3df\">NvFlex.h</a>\n</li>\n<li>eNvFlexD3D12\n: <a class=\"el\" href=\"_nv_flex_8h.html#a9b2d3dc5ac42011aeec4e13be2e14252a15e78a7baf13cc7fd73f255ac84f0943\">NvFlex.h</a>\n</li>\n<li>eNvFlexExtModeForce\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#a502acd5c1db4ba6eef61eba25f26d68ea9d4e8413b628837f9d1982897fd1f4a2\">NvFlexExt.h</a>\n</li>\n<li>eNvFlexExtModeImpulse\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#a502acd5c1db4ba6eef61eba25f26d68ea92265f22fc2a724baf640fdace8f8ea0\">NvFlexExt.h</a>\n</li>\n<li>eNvFlexExtModeVelocityChange\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#a502acd5c1db4ba6eef61eba25f26d68ea6a2e4817b1e86764147c81e8d5e5070c\">NvFlexExt.h</a>\n</li>\n<li>eNvFlexFeatureModeDefault\n: <a class=\"el\" href=\"_nv_flex_8h.html#aee5c235d5fab40831cf339680aa25560a3ab06dc4cd4aa073ab0f2d96a56c499d\">NvFlex.h</a>\n</li>\n<li>eNvFlexFeatureModeSimpleFluids\n: <a class=\"el\" href=\"_nv_flex_8h.html#aee5c235d5fab40831cf339680aa25560aeab2b8a68b528d46e11b71ad0f4d83f2\">NvFlex.h</a>\n</li>\n<li>eNvFlexFeatureModeSimpleSolids\n: <a class=\"el\" href=\"_nv_flex_8h.html#aee5c235d5fab40831cf339680aa25560a421fe1e1bb00fc41e9b32208cd9155f5\">NvFlex.h</a>\n</li>\n<li>eNvFlexLogAll\n: <a class=\"el\" href=\"_nv_flex_8h.html#ab4435b3857752360375fe52fc992cfcaa8feff72c0b0391e8adf3ddb6c39ef10e\">NvFlex.h</a>\n</li>\n<li>eNvFlexLogDebug\n: <a class=\"el\" href=\"_nv_flex_8h.html#ab4435b3857752360375fe52fc992cfcaa77b51759e33d60b2caf327bb4835351e\">NvFlex.h</a>\n</li>\n<li>eNvFlexLogError\n: <a class=\"el\" href=\"_nv_flex_8h.html#ab4435b3857752360375fe52fc992cfcaa8aed6496f033604148138299fa075edd\">NvFlex.h</a>\n</li>\n<li>eNvFlexLogInfo\n: <a class=\"el\" href=\"_nv_flex_8h.html#ab4435b3857752360375fe52fc992cfcaa03d239332ae87f46270855dd06b6e58f\">NvFlex.h</a>\n</li>\n<li>eNvFlexLogWarning\n: <a class=\"el\" href=\"_nv_flex_8h.html#ab4435b3857752360375fe52fc992cfcaa5538835c4767004ba5fd443ada08ea61\">NvFlex.h</a>\n</li>\n<li>eNvFlexMapDoNotWait\n: <a class=\"el\" href=\"_nv_flex_8h.html#a6541b33eaca7b2323e73b30cea34d16ca1bd450ab65ccc06288fae95e23d5e6f1\">NvFlex.h</a>\n</li>\n<li>eNvFlexMapWait\n: <a class=\"el\" href=\"_nv_flex_8h.html#a6541b33eaca7b2323e73b30cea34d16ca11adf517d180983daec217e761acc3d6\">NvFlex.h</a>\n</li>\n<li>eNvFlexPhaseFlagsMask\n: <a class=\"el\" href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a7b776084468bae4e3566484cf34d0154\">NvFlex.h</a>\n</li>\n<li>eNvFlexPhaseFluid\n: <a class=\"el\" href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a1728772beb1746ace4c549b2ed8f1d74\">NvFlex.h</a>\n</li>\n<li>eNvFlexPhaseGroupMask\n: <a class=\"el\" href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644ad108f6ebf28346813cfd3602d984bb32\">NvFlex.h</a>\n</li>\n<li>eNvFlexPhaseSelfCollide\n: <a class=\"el\" href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a453a23cc8e9d2e6097b5be187f3c6977\">NvFlex.h</a>\n</li>\n<li>eNvFlexPhaseSelfCollideFilter\n: <a class=\"el\" href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a76a62d3a5df428f18e01f8b37573a7b1\">NvFlex.h</a>\n</li>\n<li>eNvFlexPhaseShapeChannel0\n: <a class=\"el\" href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a66aa70953a97744621e2afa41d0e32d2\">NvFlex.h</a>\n</li>\n<li>eNvFlexPhaseShapeChannel1\n: <a class=\"el\" href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a1de4e956764950e501bcb8376a70f5a9\">NvFlex.h</a>\n</li>\n<li>eNvFlexPhaseShapeChannel2\n: <a class=\"el\" href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644aa3a4fd0d5930b31199334e500ac2d7c8\">NvFlex.h</a>\n</li>\n<li>eNvFlexPhaseShapeChannel3\n: <a class=\"el\" href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644ab4034dbf78d6045ee13278531ee21c2b\">NvFlex.h</a>\n</li>\n<li>eNvFlexPhaseShapeChannel4\n: <a class=\"el\" href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644af309316efb695be38a4e15986be21ef9\">NvFlex.h</a>\n</li>\n<li>eNvFlexPhaseShapeChannel5\n: <a class=\"el\" href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a92bbb75d47ea0058a9a89deb0abec67f\">NvFlex.h</a>\n</li>\n<li>eNvFlexPhaseShapeChannel6\n: <a class=\"el\" href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a0c8d08e646d2713e34d7e2dd6e7b21f2\">NvFlex.h</a>\n</li>\n<li>eNvFlexPhaseShapeChannelMask\n: <a class=\"el\" href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644ae4ea43366942f719f40e8526ad21a038\">NvFlex.h</a>\n</li>\n<li>eNvFlexPhaseUnused\n: <a class=\"el\" href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a52ee05f3e425c336856277774bc9f69f\">NvFlex.h</a>\n</li>\n<li>eNvFlexRelaxationGlobal\n: <a class=\"el\" href=\"_nv_flex_8h.html#a46f5d35902f7da40628247175a174f3ba33711a4b466d606d68dee43918f819db\">NvFlex.h</a>\n</li>\n<li>eNvFlexRelaxationLocal\n: <a class=\"el\" href=\"_nv_flex_8h.html#a46f5d35902f7da40628247175a174f3ba858afe9529e908c2bc8ce92da8943b7c\">NvFlex.h</a>\n</li>\n<li>eNvFlexShapeBox\n: <a class=\"el\" href=\"_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26baab17c8dd4f9500016b77a9b49de3c48e7\">NvFlex.h</a>\n</li>\n<li>eNvFlexShapeCapsule\n: <a class=\"el\" href=\"_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26baa1724c140b583fbf2c11c14a24dd3764a\">NvFlex.h</a>\n</li>\n<li>eNvFlexShapeConvexMesh\n: <a class=\"el\" href=\"_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26baaed52f0e803c6745ffc1a5f018a8756ce\">NvFlex.h</a>\n</li>\n<li>eNvFlexShapeFlagDynamic\n: <a class=\"el\" href=\"_nv_flex_8h.html#a31c31ea4f96cd4fdadc6b7317691304cadc6740cf6d829fba159d92e43ffb5992\">NvFlex.h</a>\n</li>\n<li>eNvFlexShapeFlagReserved\n: <a class=\"el\" href=\"_nv_flex_8h.html#a31c31ea4f96cd4fdadc6b7317691304caa1c1225f6b8b2906c83748cfc46b81d9\">NvFlex.h</a>\n</li>\n<li>eNvFlexShapeFlagTrigger\n: <a class=\"el\" href=\"_nv_flex_8h.html#a31c31ea4f96cd4fdadc6b7317691304ca409215fa9b917f2d0830a66bd11b3ff8\">NvFlex.h</a>\n</li>\n<li>eNvFlexShapeFlagTypeMask\n: <a class=\"el\" href=\"_nv_flex_8h.html#a31c31ea4f96cd4fdadc6b7317691304cae8a10737948abf6973f0f1d66bae7ef8\">NvFlex.h</a>\n</li>\n<li>eNvFlexShapeSDF\n: <a class=\"el\" href=\"_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26baa1fd78f8694b954f8d12fe7d911f17180\">NvFlex.h</a>\n</li>\n<li>eNvFlexShapeSphere\n: <a class=\"el\" href=\"_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26baae22144512ae098865c6725af16a68ad3\">NvFlex.h</a>\n</li>\n<li>eNvFlexShapeTriangleMesh\n: <a class=\"el\" href=\"_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26baa315488da382a5e9794c83358385f7ae1\">NvFlex.h</a>\n</li>\n<li>eNvFlexStageCount\n: <a class=\"el\" href=\"_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9a1f2e7acff9b3b74922f90240d29fd1b3\">NvFlex.h</a>\n</li>\n<li>eNvFlexStageIterationEnd\n: <a class=\"el\" href=\"_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9ab75a912c3990b0fbd6b06a6741a20e69\">NvFlex.h</a>\n</li>\n<li>eNvFlexStageIterationStart\n: <a class=\"el\" href=\"_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9a9f3914fdb03915a14ebe55a2c730e7ff\">NvFlex.h</a>\n</li>\n<li>eNvFlexStageSubstepBegin\n: <a class=\"el\" href=\"_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9a79ce9005dbc92198a1f180c6afde6a44\">NvFlex.h</a>\n</li>\n<li>eNvFlexStageSubstepEnd\n: <a class=\"el\" href=\"_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9a6f13e2ebdbf21f8c8ebcfe1ac9160586\">NvFlex.h</a>\n</li>\n<li>eNvFlexStageUpdateEnd\n: <a class=\"el\" href=\"_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9a260340ba9071892bd8795c3b29289806\">NvFlex.h</a>\n</li>\n</ul>\n\n\n<h3><a class=\"anchor\" id=\"index_n\"></a>- n -</h3><ul>\n<li>NvFlexAcquireContext()\n: <a class=\"el\" href=\"_nv_flex_8h.html#a42ec7b30c79d4733e6a756b5d9b15ee6\">NvFlex.h</a>\n</li>\n<li>NvFlexAllocBuffer()\n: <a class=\"el\" href=\"_nv_flex_8h.html#ad48f83b8442323687d2268206e913496\">NvFlex.h</a>\n</li>\n<li>NvFlexBuffer\n: <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlex.h</a>\n</li>\n<li>NvFlexBufferType\n: <a class=\"el\" href=\"_nv_flex_8h.html#a169e4c126acf46bdebf76c36a44deca3\">NvFlex.h</a>\n</li>\n<li>NvFlexCollisionShapeFlags\n: <a class=\"el\" href=\"_nv_flex_8h.html#a31c31ea4f96cd4fdadc6b7317691304c\">NvFlex.h</a>\n</li>\n<li>NvFlexCollisionShapeType\n: <a class=\"el\" href=\"_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26ba\">NvFlex.h</a>\n</li>\n<li>NvFlexComputeType\n: <a class=\"el\" href=\"_nv_flex_8h.html#a9b2d3dc5ac42011aeec4e13be2e14252\">NvFlex.h</a>\n</li>\n<li>NvFlexConvexMeshId\n: <a class=\"el\" href=\"_nv_flex_8h.html#a7ab5aa68da7ca1f69211a900f1a1c586\">NvFlex.h</a>\n</li>\n<li>NvFlexCreateConvexMesh()\n: <a class=\"el\" href=\"_nv_flex_8h.html#afbaafe2b1006352002b03aabaca531cc\">NvFlex.h</a>\n</li>\n<li>NvFlexCreateDistanceField()\n: <a class=\"el\" href=\"_nv_flex_8h.html#a5c28caf6d5d513c5adacd4fbc782f308\">NvFlex.h</a>\n</li>\n<li>NvFlexCreateSolver()\n: <a class=\"el\" href=\"_nv_flex_8h.html#a9e925acbc34675dfe247da017cbd855f\">NvFlex.h</a>\n</li>\n<li>NvFlexCreateTriangleMesh()\n: <a class=\"el\" href=\"_nv_flex_8h.html#afdda5a5210938a1e8a7c3a8218ad468e\">NvFlex.h</a>\n</li>\n<li>NvFlexDestroyConvexMesh()\n: <a class=\"el\" href=\"_nv_flex_8h.html#ac85b6372e5c7bfc508ecb7b8c59c72a0\">NvFlex.h</a>\n</li>\n<li>NvFlexDestroyDistanceField()\n: <a class=\"el\" href=\"_nv_flex_8h.html#ab11bdd7f778d17af16cefea33265cb65\">NvFlex.h</a>\n</li>\n<li>NvFlexDestroySolver()\n: <a class=\"el\" href=\"_nv_flex_8h.html#a1d755d7b090f7ed5c4c50d2d3fef1558\">NvFlex.h</a>\n</li>\n<li>NvFlexDestroyTriangleMesh()\n: <a class=\"el\" href=\"_nv_flex_8h.html#a4cb4462803ebff105d151fd45b4efad6\">NvFlex.h</a>\n</li>\n<li>NvFlexDeviceCreateCudaContext()\n: <a class=\"el\" href=\"_nv_flex_device_8h.html#a922c489035a9bdb84bee1cd0ef73558d\">NvFlexDevice.h</a>\n</li>\n<li>NvFlexDeviceDestroyCudaContext()\n: <a class=\"el\" href=\"_nv_flex_device_8h.html#a97f4f513f226d573410478fa6d79f05a\">NvFlexDevice.h</a>\n</li>\n<li>NvFlexDeviceGetSuggestedOrdinal()\n: <a class=\"el\" href=\"_nv_flex_device_8h.html#a914a7e6338379d00397bd3e7e07c0280\">NvFlexDevice.h</a>\n</li>\n<li>NvFlexDistanceFieldId\n: <a class=\"el\" href=\"_nv_flex_8h.html#a56e990c5bfbc89677988cbf2471c0ade\">NvFlex.h</a>\n</li>\n<li>NvFlexErrorCallback\n: <a class=\"el\" href=\"_nv_flex_8h.html#abe6f00c9b94debbf7c181082a14076d5\">NvFlex.h</a>\n</li>\n<li>NvFlexErrorSeverity\n: <a class=\"el\" href=\"_nv_flex_8h.html#ab4435b3857752360375fe52fc992cfca\">NvFlex.h</a>\n</li>\n<li>NvFlexExtAllocParticles()\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#a7c036ccca83df3659529858068e0593d\">NvFlexExt.h</a>\n</li>\n<li>NvFlexExtContainer\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4\">NvFlexExt.h</a>\n</li>\n<li>NvFlexExtCreateClothFromMesh()\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#a8bef033b2a8567dfcc954e22534147ee\">NvFlexExt.h</a>\n</li>\n<li>NvFlexExtCreateContainer()\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#a49906c9e3466d40383cddf627fe26658\">NvFlexExt.h</a>\n</li>\n<li>NvFlexExtCreateForceFieldCallback()\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#ac1ed9ff49120d0691352399c8173bdcf\">NvFlexExt.h</a>\n</li>\n<li>NvFlexExtCreateInstance()\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#a3bf10e2c9370602142b7be01e920f973\">NvFlexExt.h</a>\n</li>\n<li>NvFlexExtCreateRigidFromMesh()\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#ad0a9c7e2f907e46b60f6bacf402987ce\">NvFlexExt.h</a>\n</li>\n<li>NvFlexExtCreateSoftFromMesh()\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#a3a9ce6bba709625f6c338bd3070bd012\">NvFlexExt.h</a>\n</li>\n<li>NvFlexExtCreateSoftJoint()\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#af52527c58c7bd671d26b2985b078aff4\">NvFlexExt.h</a>\n</li>\n<li>NvFlexExtCreateSoftMeshSkinning()\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#a6e3f12e9e92abb31b115cf31b33e34bb\">NvFlexExt.h</a>\n</li>\n<li>NvFlexExtCreateTearingClothFromMesh()\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#addad82b3598059ffde7b3b5babe17bd4\">NvFlexExt.h</a>\n</li>\n<li>NvFlexExtCreateWeldedMeshIndices()\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#a82a15dfd40b338a07cf4517f55f16720\">NvFlexExt.h</a>\n</li>\n<li>NvFlexExtDestroyAsset()\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#a36c33fafe13c5fd5773bf9a2af2dd745\">NvFlexExt.h</a>\n</li>\n<li>NvFlexExtDestroyContainer()\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#a2509137d9fb8ab6818f35ab7761da7a5\">NvFlexExt.h</a>\n</li>\n<li>NvFlexExtDestroyForceFieldCallback()\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#ad08da77f432ca56bc59647bf73da86cb\">NvFlexExt.h</a>\n</li>\n<li>NvFlexExtDestroyInstance()\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#a2b5634f64bd0d8d86f894885a1c16a33\">NvFlexExt.h</a>\n</li>\n<li>NvFlexExtDestroySoftJoint()\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#a021a25caa64e7f9e9542ea0bc7e6d632\">NvFlexExt.h</a>\n</li>\n<li>NvFlexExtDestroyTearingCloth()\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#a88054283907d3386f1a30cdc4475acb0\">NvFlexExt.h</a>\n</li>\n<li>NvFlexExtForceFieldCallback\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#a1117ce527b6b483cc756ab5352f6dc3f\">NvFlexExt.h</a>\n</li>\n<li>NvFlexExtForceMode\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#a502acd5c1db4ba6eef61eba25f26d68e\">NvFlexExt.h</a>\n</li>\n<li>NvFlexExtFreeParticles()\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#ab0a259d159116b7fba9b229784b02c70\">NvFlexExt.h</a>\n</li>\n<li>NvFlexExtGetActiveList()\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#a7fc268a27306f6fc68dd1c106cfa62db\">NvFlexExt.h</a>\n</li>\n<li>NvFlexExtMapParticleData()\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#a3fa8bd4b7d4096602e611faf0bb62dfb\">NvFlexExt.h</a>\n</li>\n<li>NvFlexExtMapShapeData()\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#a90f2d3ba5be20e70e7efead911ee7acc\">NvFlexExt.h</a>\n</li>\n<li>NvFlexExtMapTriangleData()\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#a1646bf409084777cd0ff5d4fcccf07de\">NvFlexExt.h</a>\n</li>\n<li>NvFlexExtMovingFrameApply()\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#a4ffe9bcd59a6cfc8900ac136f5123304\">NvFlexExt.h</a>\n</li>\n<li>NvFlexExtMovingFrameInit()\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#a6a20d814e3b083b069daa0f20a3e756e\">NvFlexExt.h</a>\n</li>\n<li>NvFlexExtMovingFrameUpdate()\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#a780022c1b8425074ce08328e8e8c35cc\">NvFlexExt.h</a>\n</li>\n<li>NvFlexExtNotifyAssetChanged()\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#ad9343d07f49098ee205a1ed48dc9db34\">NvFlexExt.h</a>\n</li>\n<li>NvFlexExtPullFromDevice()\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#a89ea7bbd26bec46f1b82d84257de1f58\">NvFlexExt.h</a>\n</li>\n<li>NvFlexExtPushToDevice()\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#a425f4e472bb83797498c904ab228209c\">NvFlexExt.h</a>\n</li>\n<li>NvFlexExtSetForceFields()\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#aa36d43b9e53b9b66d43c2bc5eb5abf98\">NvFlexExt.h</a>\n</li>\n<li>NvFlexExtSoftJointSetTransform()\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#a3fea23644fb7b0840132eee46ea971e4\">NvFlexExt.h</a>\n</li>\n<li>NvFlexExtTearClothMesh()\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#a5efc0113d5432eb959437e6e3a98cc5f\">NvFlexExt.h</a>\n</li>\n<li>NvFlexExtTickContainer()\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#ab4caadf5a6b19674849bfce91d986e7b\">NvFlexExt.h</a>\n</li>\n<li>NvFlexExtUnmapParticleData()\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#af0cd639c21be28640fe5e1dd94931d59\">NvFlexExt.h</a>\n</li>\n<li>NvFlexExtUnmapShapeData()\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#ab51f04114586b5bf0f6fc5816fda9c69\">NvFlexExt.h</a>\n</li>\n<li>NvFlexExtUnmapTriangleData()\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#a89e582ae93e0256b06f22d9abf361783\">NvFlexExt.h</a>\n</li>\n<li>NvFlexExtUpdateInstances()\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#a4695d37db8b61495f200bfd88a2be628\">NvFlexExt.h</a>\n</li>\n<li>NvFlexFeatureMode\n: <a class=\"el\" href=\"_nv_flex_8h.html#aee5c235d5fab40831cf339680aa25560\">NvFlex.h</a>\n</li>\n<li>NvFlexFlush()\n: <a class=\"el\" href=\"_nv_flex_8h.html#a898eb8e66a456dd2266c694f29cab600\">NvFlex.h</a>\n</li>\n<li>NvFlexFreeBuffer()\n: <a class=\"el\" href=\"_nv_flex_8h.html#ab559759820a4322aff061745ef26c867\">NvFlex.h</a>\n</li>\n<li>NvFlexGetActive()\n: <a class=\"el\" href=\"_nv_flex_8h.html#a1bd4b70e0118abe18ca5fe85157299b6\">NvFlex.h</a>\n</li>\n<li>NvFlexGetActiveCount()\n: <a class=\"el\" href=\"_nv_flex_8h.html#a2345372dea2ad4f043153a84e7a2c407\">NvFlex.h</a>\n</li>\n<li>NvFlexGetAnisotropy()\n: <a class=\"el\" href=\"_nv_flex_8h.html#aef768edc8e4df1a78a94a6c971541550\">NvFlex.h</a>\n</li>\n<li>NvFlexGetBounds()\n: <a class=\"el\" href=\"_nv_flex_8h.html#ab1eec84a21b1872fba11c9b4cc1d1629\">NvFlex.h</a>\n</li>\n<li>NvFlexGetContacts()\n: <a class=\"el\" href=\"_nv_flex_8h.html#a7edac9cf450917147b83e98f5cb09f5d\">NvFlex.h</a>\n</li>\n<li>NvFlexGetConvexMeshBounds()\n: <a class=\"el\" href=\"_nv_flex_8h.html#ad56e661161763579afb375b3841eb5ff\">NvFlex.h</a>\n</li>\n<li>NvFlexGetConvexMeshes()\n: <a class=\"el\" href=\"_nv_flex_8h.html#aa392608715b2304f06606d498bd69312\">NvFlex.h</a>\n</li>\n<li>NvFlexGetDensities()\n: <a class=\"el\" href=\"_nv_flex_8h.html#a3a20cc2539983a009caaf77ec9ceab82\">NvFlex.h</a>\n</li>\n<li>NvFlexGetDetailTimers()\n: <a class=\"el\" href=\"_nv_flex_8h.html#ab1efb6764f65900cb09f0188ad6da08a\">NvFlex.h</a>\n</li>\n<li>NvFlexGetDeviceAndContext()\n: <a class=\"el\" href=\"_nv_flex_8h.html#a2ac0a898a565a2cdf13b80acd4a3555c\">NvFlex.h</a>\n</li>\n<li>NvFlexGetDeviceLatency()\n: <a class=\"el\" href=\"_nv_flex_8h.html#aa77d2a4edd4ccd79c9389854dca80613\">NvFlex.h</a>\n</li>\n<li>NvFlexGetDeviceName()\n: <a class=\"el\" href=\"_nv_flex_8h.html#a4c451971259524c6878b6b1ed4023ada\">NvFlex.h</a>\n</li>\n<li>NvFlexGetDiffuseParticles()\n: <a class=\"el\" href=\"_nv_flex_8h.html#afa458a6eec8b0d117e53c40c13788fd9\">NvFlex.h</a>\n</li>\n<li>NvFlexGetDistanceFields()\n: <a class=\"el\" href=\"_nv_flex_8h.html#a554d54b930dad17e638ddd30c6dac46f\">NvFlex.h</a>\n</li>\n<li>NvFlexGetDynamicTriangles()\n: <a class=\"el\" href=\"_nv_flex_8h.html#abdfd0834422dd99154a27962614525e5\">NvFlex.h</a>\n</li>\n<li>NvFlexGetNeighbors()\n: <a class=\"el\" href=\"_nv_flex_8h.html#abbee38b5413bbfd1db914c66fcdfc616\">NvFlex.h</a>\n</li>\n<li>NvFlexGetNormals()\n: <a class=\"el\" href=\"_nv_flex_8h.html#a73d87b460a34c52ff4b616e97a53ade7\">NvFlex.h</a>\n</li>\n<li>NvFlexGetParams()\n: <a class=\"el\" href=\"_nv_flex_8h.html#a581b458848039220203547af53de128f\">NvFlex.h</a>\n</li>\n<li>NvFlexGetParticles()\n: <a class=\"el\" href=\"_nv_flex_8h.html#aaff62cfd50431d82af5d04a6c9ac4ffd\">NvFlex.h</a>\n</li>\n<li>NvFlexGetPhases()\n: <a class=\"el\" href=\"_nv_flex_8h.html#accc944f0e76ee2e5d67c3f977b150806\">NvFlex.h</a>\n</li>\n<li>NvFlexGetRestParticles()\n: <a class=\"el\" href=\"_nv_flex_8h.html#aafc89f87307602fb9bfa8f6668122121\">NvFlex.h</a>\n</li>\n<li>NvFlexGetRigids()\n: <a class=\"el\" href=\"_nv_flex_8h.html#ab5cc56e228374b1da0910356b3172b4e\">NvFlex.h</a>\n</li>\n<li>NvFlexGetSmoothParticles()\n: <a class=\"el\" href=\"_nv_flex_8h.html#a96a771dd328d019e6164e5f23d29ffcb\">NvFlex.h</a>\n</li>\n<li>NvFlexGetSolverDesc()\n: <a class=\"el\" href=\"_nv_flex_8h.html#afd6aff58269d6c359df2453c96397840\">NvFlex.h</a>\n</li>\n<li>NvFlexGetSolverLibrary()\n: <a class=\"el\" href=\"_nv_flex_8h.html#ae0d57e4fc2b3b51ec08f7da0a28ff343\">NvFlex.h</a>\n</li>\n<li>NvFlexGetSolvers()\n: <a class=\"el\" href=\"_nv_flex_8h.html#ad53909027df03c6a352746d8ddc088ef\">NvFlex.h</a>\n</li>\n<li>NvFlexGetSprings()\n: <a class=\"el\" href=\"_nv_flex_8h.html#aab5f90f4024d71d08c3f9327c6d8c184\">NvFlex.h</a>\n</li>\n<li>NvFlexGetTimers()\n: <a class=\"el\" href=\"_nv_flex_8h.html#ab16b6d2e11e0ab417ee6c4cf16f0a27d\">NvFlex.h</a>\n</li>\n<li>NvFlexGetTriangleMeshBounds()\n: <a class=\"el\" href=\"_nv_flex_8h.html#a60794d849b4184335e2a0ddec0a9e6a2\">NvFlex.h</a>\n</li>\n<li>NvFlexGetTriangleMeshes()\n: <a class=\"el\" href=\"_nv_flex_8h.html#ab1924ab797971290931b32258b847767\">NvFlex.h</a>\n</li>\n<li>NvFlexGetVelocities()\n: <a class=\"el\" href=\"_nv_flex_8h.html#afbcbff4e4865105514c194398ab3a7b0\">NvFlex.h</a>\n</li>\n<li>NvFlexGetVersion()\n: <a class=\"el\" href=\"_nv_flex_8h.html#ac25ec5de38c177db51198bb620644d36\">NvFlex.h</a>\n</li>\n<li>NvFlexInit()\n: <a class=\"el\" href=\"_nv_flex_8h.html#a687e5ec141948f779faa9183b68cb743\">NvFlex.h</a>\n</li>\n<li>NvFlexLibrary\n: <a class=\"el\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlex.h</a>\n</li>\n<li>NvFlexMakePhase()\n: <a class=\"el\" href=\"_nv_flex_8h.html#ab43db5f28808f8038cfc9330d4b47d57\">NvFlex.h</a>\n</li>\n<li>NvFlexMakePhaseWithChannels()\n: <a class=\"el\" href=\"_nv_flex_8h.html#a615e8070212c24a70e7a849120c13353\">NvFlex.h</a>\n</li>\n<li>NvFlexMakeShapeFlags()\n: <a class=\"el\" href=\"_nv_flex_8h.html#ad6ee1e23e0c49aad63df8f605182de3a\">NvFlex.h</a>\n</li>\n<li>NvFlexMakeShapeFlagsWithChannels()\n: <a class=\"el\" href=\"_nv_flex_8h.html#ad83b7fb561a91467a3094771bb682b96\">NvFlex.h</a>\n</li>\n<li>NvFlexMap()\n: <a class=\"el\" href=\"_nv_flex_8h.html#a0898bb9210440b159688d4647f6eb083\">NvFlex.h</a>\n</li>\n<li>NvFlexMapFlags\n: <a class=\"el\" href=\"_nv_flex_8h.html#a6541b33eaca7b2323e73b30cea34d16c\">NvFlex.h</a>\n</li>\n<li>NvFlexPhase\n: <a class=\"el\" href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644\">NvFlex.h</a>\n</li>\n<li>NvFlexRegisterD3DBuffer()\n: <a class=\"el\" href=\"_nv_flex_8h.html#ab487e68ce1c84ce1eec0c85b7daf5aa0\">NvFlex.h</a>\n</li>\n<li>NvFlexRegisterOGLBuffer()\n: <a class=\"el\" href=\"_nv_flex_8h.html#aab83daf46e5a9428a0ad76fb75e8ec7e\">NvFlex.h</a>\n</li>\n<li>NvFlexRegisterSolverCallback()\n: <a class=\"el\" href=\"_nv_flex_8h.html#ac5427457488ab3f2de91cf65335dda08\">NvFlex.h</a>\n</li>\n<li>NvFlexRelaxationMode\n: <a class=\"el\" href=\"_nv_flex_8h.html#a46f5d35902f7da40628247175a174f3b\">NvFlex.h</a>\n</li>\n<li>NvFlexRestoreContext()\n: <a class=\"el\" href=\"_nv_flex_8h.html#ae6671f352bd77e296609d0bc2a57fd11\">NvFlex.h</a>\n</li>\n<li>NvFlexSetActive()\n: <a class=\"el\" href=\"_nv_flex_8h.html#adc0c97635cdbb3da7b571574a3b38990\">NvFlex.h</a>\n</li>\n<li>NvFlexSetActiveCount()\n: <a class=\"el\" href=\"_nv_flex_8h.html#a677dc591fe443ae058701966c52d1316\">NvFlex.h</a>\n</li>\n<li>NvFlexSetDiffuseParticles()\n: <a class=\"el\" href=\"_nv_flex_8h.html#a5a7213593dd9a23d9d67f8517d1da9de\">NvFlex.h</a>\n</li>\n<li>NvFlexSetDynamicTriangles()\n: <a class=\"el\" href=\"_nv_flex_8h.html#aa03d94be697cdc3aaa56e469d87255a4\">NvFlex.h</a>\n</li>\n<li>NvFlexSetInflatables()\n: <a class=\"el\" href=\"_nv_flex_8h.html#a7f2b59fba77c60ce116e1eac57d63e50\">NvFlex.h</a>\n</li>\n<li>NvFlexSetNormals()\n: <a class=\"el\" href=\"_nv_flex_8h.html#a32e8fdb39029a2564c129bd493c52058\">NvFlex.h</a>\n</li>\n<li>NvFlexSetParams()\n: <a class=\"el\" href=\"_nv_flex_8h.html#ae2db6ad8006027c1acf2315a0d15fe71\">NvFlex.h</a>\n</li>\n<li>NvFlexSetParticles()\n: <a class=\"el\" href=\"_nv_flex_8h.html#a7ec5ebe3e98a44a2058d6be74b2cb633\">NvFlex.h</a>\n</li>\n<li>NvFlexSetPhases()\n: <a class=\"el\" href=\"_nv_flex_8h.html#aa1d44495e442f8cae874c635ef847478\">NvFlex.h</a>\n</li>\n<li>NvFlexSetRestParticles()\n: <a class=\"el\" href=\"_nv_flex_8h.html#a125cfd9817437bb4f4bcb9418efa3dda\">NvFlex.h</a>\n</li>\n<li>NvFlexSetRigids()\n: <a class=\"el\" href=\"_nv_flex_8h.html#aa8b7bfeffb0fa7dc6dbd291fee87edc9\">NvFlex.h</a>\n</li>\n<li>NvFlexSetShapes()\n: <a class=\"el\" href=\"_nv_flex_8h.html#aea4e7117722df53dfe44c676496117fa\">NvFlex.h</a>\n</li>\n<li>NvFlexSetSolverDescDefaults()\n: <a class=\"el\" href=\"_nv_flex_8h.html#a69a33d464c002a8916a5925c6ef32ae6\">NvFlex.h</a>\n</li>\n<li>NvFlexSetSprings()\n: <a class=\"el\" href=\"_nv_flex_8h.html#ae67c0cab2ecee8eb9485a26ef0fad6a9\">NvFlex.h</a>\n</li>\n<li>NvFlexSetVelocities()\n: <a class=\"el\" href=\"_nv_flex_8h.html#ae2b271f123db0054512936f2acc6467f\">NvFlex.h</a>\n</li>\n<li>NvFlexShutdown()\n: <a class=\"el\" href=\"_nv_flex_8h.html#aaf59e45ada57c7f958a8030099cbe211\">NvFlex.h</a>\n</li>\n<li>NvFlexSolver\n: <a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlex.h</a>\n</li>\n<li>NvFlexSolverCallbackStage\n: <a class=\"el\" href=\"_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9\">NvFlex.h</a>\n</li>\n<li>NvFlexTriangleMeshId\n: <a class=\"el\" href=\"_nv_flex_8h.html#a2aea4c3d772b4dbccb7dd9ba37c1bdc0\">NvFlex.h</a>\n</li>\n<li>NvFlexUnmap()\n: <a class=\"el\" href=\"_nv_flex_8h.html#a054cb27646a389ea257d1bbde46a6e97\">NvFlex.h</a>\n</li>\n<li>NvFlexUnregisterD3DBuffer()\n: <a class=\"el\" href=\"_nv_flex_8h.html#ad607e7916e5d76b384a61f1c1f94ab32\">NvFlex.h</a>\n</li>\n<li>NvFlexUnregisterOGLBuffer()\n: <a class=\"el\" href=\"_nv_flex_8h.html#a78045a8d4e856372df108dc616a94cd8\">NvFlex.h</a>\n</li>\n<li>NvFlexUpdateConvexMesh()\n: <a class=\"el\" href=\"_nv_flex_8h.html#ab452c355f92dda050d4b4dafb8e71b03\">NvFlex.h</a>\n</li>\n<li>NvFlexUpdateDistanceField()\n: <a class=\"el\" href=\"_nv_flex_8h.html#a584ffb275b9986fd5444ed1a7ea247d9\">NvFlex.h</a>\n</li>\n<li>NvFlexUpdateSolver()\n: <a class=\"el\" href=\"_nv_flex_8h.html#ac75370f005fd453fe8a324fe62be1b5c\">NvFlex.h</a>\n</li>\n<li>NvFlexUpdateTriangleMesh()\n: <a class=\"el\" href=\"_nv_flex_8h.html#a4958c555f0ed65dee54c37af32529356\">NvFlex.h</a>\n</li>\n<li>NvFlexWait()\n: <a class=\"el\" href=\"_nv_flex_8h.html#a615d2e6eec2486a5db815d929f9c642c\">NvFlex.h</a>\n</li>\n</ul>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated on Mon Mar 19 2018 14:53:17 for FLEX by &#160;<a href=\"http://www.doxygen.org/index.html\">\n<img class=\"footer\" src=\"doxygen.png\" alt=\"doxygen\"/>\n</a> 1.8.9.1\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "doc/_static/api/globals_enum.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.9.1\"/>\n<title>FLEX: Globals</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n<link href=\"flex.css\" rel=\"stylesheet\" type=\"text/css\"/>\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectlogo\"><img alt=\"Logo\" src=\"nvidia.png\"/></td>\n  <td style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">FLEX\n   &#160;<span id=\"projectnumber\">1.2.0</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.9.1 -->\n</div><!-- top -->\n<div class=\"contents\">\n&#160;<ul>\n<li>NvFlexBufferType\n: <a class=\"el\" href=\"_nv_flex_8h.html#a169e4c126acf46bdebf76c36a44deca3\">NvFlex.h</a>\n</li>\n<li>NvFlexCollisionShapeFlags\n: <a class=\"el\" href=\"_nv_flex_8h.html#a31c31ea4f96cd4fdadc6b7317691304c\">NvFlex.h</a>\n</li>\n<li>NvFlexCollisionShapeType\n: <a class=\"el\" href=\"_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26ba\">NvFlex.h</a>\n</li>\n<li>NvFlexComputeType\n: <a class=\"el\" href=\"_nv_flex_8h.html#a9b2d3dc5ac42011aeec4e13be2e14252\">NvFlex.h</a>\n</li>\n<li>NvFlexErrorSeverity\n: <a class=\"el\" href=\"_nv_flex_8h.html#ab4435b3857752360375fe52fc992cfca\">NvFlex.h</a>\n</li>\n<li>NvFlexExtForceMode\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#a502acd5c1db4ba6eef61eba25f26d68e\">NvFlexExt.h</a>\n</li>\n<li>NvFlexFeatureMode\n: <a class=\"el\" href=\"_nv_flex_8h.html#aee5c235d5fab40831cf339680aa25560\">NvFlex.h</a>\n</li>\n<li>NvFlexMapFlags\n: <a class=\"el\" href=\"_nv_flex_8h.html#a6541b33eaca7b2323e73b30cea34d16c\">NvFlex.h</a>\n</li>\n<li>NvFlexPhase\n: <a class=\"el\" href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644\">NvFlex.h</a>\n</li>\n<li>NvFlexRelaxationMode\n: <a class=\"el\" href=\"_nv_flex_8h.html#a46f5d35902f7da40628247175a174f3b\">NvFlex.h</a>\n</li>\n<li>NvFlexSolverCallbackStage\n: <a class=\"el\" href=\"_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9\">NvFlex.h</a>\n</li>\n</ul>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated on Mon Mar 19 2018 14:53:17 for FLEX by &#160;<a href=\"http://www.doxygen.org/index.html\">\n<img class=\"footer\" src=\"doxygen.png\" alt=\"doxygen\"/>\n</a> 1.8.9.1\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "doc/_static/api/globals_eval.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.9.1\"/>\n<title>FLEX: Globals</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n<link href=\"flex.css\" rel=\"stylesheet\" type=\"text/css\"/>\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectlogo\"><img alt=\"Logo\" src=\"nvidia.png\"/></td>\n  <td style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">FLEX\n   &#160;<span id=\"projectnumber\">1.2.0</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.9.1 -->\n</div><!-- top -->\n<div class=\"contents\">\n&#160;\n\n<h3><a class=\"anchor\" id=\"index_e\"></a>- e -</h3><ul>\n<li>eNvFlexBufferDevice\n: <a class=\"el\" href=\"_nv_flex_8h.html#a169e4c126acf46bdebf76c36a44deca3a103255fa795b55a7f430a41493002576\">NvFlex.h</a>\n</li>\n<li>eNvFlexBufferHost\n: <a class=\"el\" href=\"_nv_flex_8h.html#a169e4c126acf46bdebf76c36a44deca3aec63221ddc1b13eff4db55fbf6cd85f8\">NvFlex.h</a>\n</li>\n<li>eNvFlexCUDA\n: <a class=\"el\" href=\"_nv_flex_8h.html#a9b2d3dc5ac42011aeec4e13be2e14252ad0c27f7aafdc4fe569722025c8eb2178\">NvFlex.h</a>\n</li>\n<li>eNvFlexD3D11\n: <a class=\"el\" href=\"_nv_flex_8h.html#a9b2d3dc5ac42011aeec4e13be2e14252a297a93979a88fda6e6b551dcab5fb3df\">NvFlex.h</a>\n</li>\n<li>eNvFlexD3D12\n: <a class=\"el\" href=\"_nv_flex_8h.html#a9b2d3dc5ac42011aeec4e13be2e14252a15e78a7baf13cc7fd73f255ac84f0943\">NvFlex.h</a>\n</li>\n<li>eNvFlexExtModeForce\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#a502acd5c1db4ba6eef61eba25f26d68ea9d4e8413b628837f9d1982897fd1f4a2\">NvFlexExt.h</a>\n</li>\n<li>eNvFlexExtModeImpulse\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#a502acd5c1db4ba6eef61eba25f26d68ea92265f22fc2a724baf640fdace8f8ea0\">NvFlexExt.h</a>\n</li>\n<li>eNvFlexExtModeVelocityChange\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#a502acd5c1db4ba6eef61eba25f26d68ea6a2e4817b1e86764147c81e8d5e5070c\">NvFlexExt.h</a>\n</li>\n<li>eNvFlexFeatureModeDefault\n: <a class=\"el\" href=\"_nv_flex_8h.html#aee5c235d5fab40831cf339680aa25560a3ab06dc4cd4aa073ab0f2d96a56c499d\">NvFlex.h</a>\n</li>\n<li>eNvFlexFeatureModeSimpleFluids\n: <a class=\"el\" href=\"_nv_flex_8h.html#aee5c235d5fab40831cf339680aa25560aeab2b8a68b528d46e11b71ad0f4d83f2\">NvFlex.h</a>\n</li>\n<li>eNvFlexFeatureModeSimpleSolids\n: <a class=\"el\" href=\"_nv_flex_8h.html#aee5c235d5fab40831cf339680aa25560a421fe1e1bb00fc41e9b32208cd9155f5\">NvFlex.h</a>\n</li>\n<li>eNvFlexLogAll\n: <a class=\"el\" href=\"_nv_flex_8h.html#ab4435b3857752360375fe52fc992cfcaa8feff72c0b0391e8adf3ddb6c39ef10e\">NvFlex.h</a>\n</li>\n<li>eNvFlexLogDebug\n: <a class=\"el\" href=\"_nv_flex_8h.html#ab4435b3857752360375fe52fc992cfcaa77b51759e33d60b2caf327bb4835351e\">NvFlex.h</a>\n</li>\n<li>eNvFlexLogError\n: <a class=\"el\" href=\"_nv_flex_8h.html#ab4435b3857752360375fe52fc992cfcaa8aed6496f033604148138299fa075edd\">NvFlex.h</a>\n</li>\n<li>eNvFlexLogInfo\n: <a class=\"el\" href=\"_nv_flex_8h.html#ab4435b3857752360375fe52fc992cfcaa03d239332ae87f46270855dd06b6e58f\">NvFlex.h</a>\n</li>\n<li>eNvFlexLogWarning\n: <a class=\"el\" href=\"_nv_flex_8h.html#ab4435b3857752360375fe52fc992cfcaa5538835c4767004ba5fd443ada08ea61\">NvFlex.h</a>\n</li>\n<li>eNvFlexMapDoNotWait\n: <a class=\"el\" href=\"_nv_flex_8h.html#a6541b33eaca7b2323e73b30cea34d16ca1bd450ab65ccc06288fae95e23d5e6f1\">NvFlex.h</a>\n</li>\n<li>eNvFlexMapWait\n: <a class=\"el\" href=\"_nv_flex_8h.html#a6541b33eaca7b2323e73b30cea34d16ca11adf517d180983daec217e761acc3d6\">NvFlex.h</a>\n</li>\n<li>eNvFlexPhaseFlagsMask\n: <a class=\"el\" href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a7b776084468bae4e3566484cf34d0154\">NvFlex.h</a>\n</li>\n<li>eNvFlexPhaseFluid\n: <a class=\"el\" href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a1728772beb1746ace4c549b2ed8f1d74\">NvFlex.h</a>\n</li>\n<li>eNvFlexPhaseGroupMask\n: <a class=\"el\" href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644ad108f6ebf28346813cfd3602d984bb32\">NvFlex.h</a>\n</li>\n<li>eNvFlexPhaseSelfCollide\n: <a class=\"el\" href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a453a23cc8e9d2e6097b5be187f3c6977\">NvFlex.h</a>\n</li>\n<li>eNvFlexPhaseSelfCollideFilter\n: <a class=\"el\" href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a76a62d3a5df428f18e01f8b37573a7b1\">NvFlex.h</a>\n</li>\n<li>eNvFlexPhaseShapeChannel0\n: <a class=\"el\" href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a66aa70953a97744621e2afa41d0e32d2\">NvFlex.h</a>\n</li>\n<li>eNvFlexPhaseShapeChannel1\n: <a class=\"el\" href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a1de4e956764950e501bcb8376a70f5a9\">NvFlex.h</a>\n</li>\n<li>eNvFlexPhaseShapeChannel2\n: <a class=\"el\" href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644aa3a4fd0d5930b31199334e500ac2d7c8\">NvFlex.h</a>\n</li>\n<li>eNvFlexPhaseShapeChannel3\n: <a class=\"el\" href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644ab4034dbf78d6045ee13278531ee21c2b\">NvFlex.h</a>\n</li>\n<li>eNvFlexPhaseShapeChannel4\n: <a class=\"el\" href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644af309316efb695be38a4e15986be21ef9\">NvFlex.h</a>\n</li>\n<li>eNvFlexPhaseShapeChannel5\n: <a class=\"el\" href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a92bbb75d47ea0058a9a89deb0abec67f\">NvFlex.h</a>\n</li>\n<li>eNvFlexPhaseShapeChannel6\n: <a class=\"el\" href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a0c8d08e646d2713e34d7e2dd6e7b21f2\">NvFlex.h</a>\n</li>\n<li>eNvFlexPhaseShapeChannelMask\n: <a class=\"el\" href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644ae4ea43366942f719f40e8526ad21a038\">NvFlex.h</a>\n</li>\n<li>eNvFlexPhaseUnused\n: <a class=\"el\" href=\"_nv_flex_8h.html#a5ad2a7745fcb4d4afd5b5f1bda074644a52ee05f3e425c336856277774bc9f69f\">NvFlex.h</a>\n</li>\n<li>eNvFlexRelaxationGlobal\n: <a class=\"el\" href=\"_nv_flex_8h.html#a46f5d35902f7da40628247175a174f3ba33711a4b466d606d68dee43918f819db\">NvFlex.h</a>\n</li>\n<li>eNvFlexRelaxationLocal\n: <a class=\"el\" href=\"_nv_flex_8h.html#a46f5d35902f7da40628247175a174f3ba858afe9529e908c2bc8ce92da8943b7c\">NvFlex.h</a>\n</li>\n<li>eNvFlexShapeBox\n: <a class=\"el\" href=\"_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26baab17c8dd4f9500016b77a9b49de3c48e7\">NvFlex.h</a>\n</li>\n<li>eNvFlexShapeCapsule\n: <a class=\"el\" href=\"_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26baa1724c140b583fbf2c11c14a24dd3764a\">NvFlex.h</a>\n</li>\n<li>eNvFlexShapeConvexMesh\n: <a class=\"el\" href=\"_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26baaed52f0e803c6745ffc1a5f018a8756ce\">NvFlex.h</a>\n</li>\n<li>eNvFlexShapeFlagDynamic\n: <a class=\"el\" href=\"_nv_flex_8h.html#a31c31ea4f96cd4fdadc6b7317691304cadc6740cf6d829fba159d92e43ffb5992\">NvFlex.h</a>\n</li>\n<li>eNvFlexShapeFlagReserved\n: <a class=\"el\" href=\"_nv_flex_8h.html#a31c31ea4f96cd4fdadc6b7317691304caa1c1225f6b8b2906c83748cfc46b81d9\">NvFlex.h</a>\n</li>\n<li>eNvFlexShapeFlagTrigger\n: <a class=\"el\" href=\"_nv_flex_8h.html#a31c31ea4f96cd4fdadc6b7317691304ca409215fa9b917f2d0830a66bd11b3ff8\">NvFlex.h</a>\n</li>\n<li>eNvFlexShapeFlagTypeMask\n: <a class=\"el\" href=\"_nv_flex_8h.html#a31c31ea4f96cd4fdadc6b7317691304cae8a10737948abf6973f0f1d66bae7ef8\">NvFlex.h</a>\n</li>\n<li>eNvFlexShapeSDF\n: <a class=\"el\" href=\"_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26baa1fd78f8694b954f8d12fe7d911f17180\">NvFlex.h</a>\n</li>\n<li>eNvFlexShapeSphere\n: <a class=\"el\" href=\"_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26baae22144512ae098865c6725af16a68ad3\">NvFlex.h</a>\n</li>\n<li>eNvFlexShapeTriangleMesh\n: <a class=\"el\" href=\"_nv_flex_8h.html#a0506ae712f846087b8647ea389ac26baa315488da382a5e9794c83358385f7ae1\">NvFlex.h</a>\n</li>\n<li>eNvFlexStageCount\n: <a class=\"el\" href=\"_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9a1f2e7acff9b3b74922f90240d29fd1b3\">NvFlex.h</a>\n</li>\n<li>eNvFlexStageIterationEnd\n: <a class=\"el\" href=\"_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9ab75a912c3990b0fbd6b06a6741a20e69\">NvFlex.h</a>\n</li>\n<li>eNvFlexStageIterationStart\n: <a class=\"el\" href=\"_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9a9f3914fdb03915a14ebe55a2c730e7ff\">NvFlex.h</a>\n</li>\n<li>eNvFlexStageSubstepBegin\n: <a class=\"el\" href=\"_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9a79ce9005dbc92198a1f180c6afde6a44\">NvFlex.h</a>\n</li>\n<li>eNvFlexStageSubstepEnd\n: <a class=\"el\" href=\"_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9a6f13e2ebdbf21f8c8ebcfe1ac9160586\">NvFlex.h</a>\n</li>\n<li>eNvFlexStageUpdateEnd\n: <a class=\"el\" href=\"_nv_flex_8h.html#a4f80c8bcfa6de99a52983adb13d80db9a260340ba9071892bd8795c3b29289806\">NvFlex.h</a>\n</li>\n</ul>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated on Mon Mar 19 2018 14:53:17 for FLEX by &#160;<a href=\"http://www.doxygen.org/index.html\">\n<img class=\"footer\" src=\"doxygen.png\" alt=\"doxygen\"/>\n</a> 1.8.9.1\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "doc/_static/api/globals_func.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.9.1\"/>\n<title>FLEX: Globals</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n<link href=\"flex.css\" rel=\"stylesheet\" type=\"text/css\"/>\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectlogo\"><img alt=\"Logo\" src=\"nvidia.png\"/></td>\n  <td style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">FLEX\n   &#160;<span id=\"projectnumber\">1.2.0</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.9.1 -->\n</div><!-- top -->\n<div class=\"contents\">\n&#160;\n\n<h3><a class=\"anchor\" id=\"index_n\"></a>- n -</h3><ul>\n<li>NvFlexAcquireContext()\n: <a class=\"el\" href=\"_nv_flex_8h.html#a42ec7b30c79d4733e6a756b5d9b15ee6\">NvFlex.h</a>\n</li>\n<li>NvFlexAllocBuffer()\n: <a class=\"el\" href=\"_nv_flex_8h.html#ad48f83b8442323687d2268206e913496\">NvFlex.h</a>\n</li>\n<li>NvFlexCreateConvexMesh()\n: <a class=\"el\" href=\"_nv_flex_8h.html#afbaafe2b1006352002b03aabaca531cc\">NvFlex.h</a>\n</li>\n<li>NvFlexCreateDistanceField()\n: <a class=\"el\" href=\"_nv_flex_8h.html#a5c28caf6d5d513c5adacd4fbc782f308\">NvFlex.h</a>\n</li>\n<li>NvFlexCreateSolver()\n: <a class=\"el\" href=\"_nv_flex_8h.html#a9e925acbc34675dfe247da017cbd855f\">NvFlex.h</a>\n</li>\n<li>NvFlexCreateTriangleMesh()\n: <a class=\"el\" href=\"_nv_flex_8h.html#afdda5a5210938a1e8a7c3a8218ad468e\">NvFlex.h</a>\n</li>\n<li>NvFlexDestroyConvexMesh()\n: <a class=\"el\" href=\"_nv_flex_8h.html#ac85b6372e5c7bfc508ecb7b8c59c72a0\">NvFlex.h</a>\n</li>\n<li>NvFlexDestroyDistanceField()\n: <a class=\"el\" href=\"_nv_flex_8h.html#ab11bdd7f778d17af16cefea33265cb65\">NvFlex.h</a>\n</li>\n<li>NvFlexDestroySolver()\n: <a class=\"el\" href=\"_nv_flex_8h.html#a1d755d7b090f7ed5c4c50d2d3fef1558\">NvFlex.h</a>\n</li>\n<li>NvFlexDestroyTriangleMesh()\n: <a class=\"el\" href=\"_nv_flex_8h.html#a4cb4462803ebff105d151fd45b4efad6\">NvFlex.h</a>\n</li>\n<li>NvFlexDeviceCreateCudaContext()\n: <a class=\"el\" href=\"_nv_flex_device_8h.html#a922c489035a9bdb84bee1cd0ef73558d\">NvFlexDevice.h</a>\n</li>\n<li>NvFlexDeviceDestroyCudaContext()\n: <a class=\"el\" href=\"_nv_flex_device_8h.html#a97f4f513f226d573410478fa6d79f05a\">NvFlexDevice.h</a>\n</li>\n<li>NvFlexDeviceGetSuggestedOrdinal()\n: <a class=\"el\" href=\"_nv_flex_device_8h.html#a914a7e6338379d00397bd3e7e07c0280\">NvFlexDevice.h</a>\n</li>\n<li>NvFlexExtAllocParticles()\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#a7c036ccca83df3659529858068e0593d\">NvFlexExt.h</a>\n</li>\n<li>NvFlexExtCreateClothFromMesh()\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#a8bef033b2a8567dfcc954e22534147ee\">NvFlexExt.h</a>\n</li>\n<li>NvFlexExtCreateContainer()\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#a49906c9e3466d40383cddf627fe26658\">NvFlexExt.h</a>\n</li>\n<li>NvFlexExtCreateForceFieldCallback()\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#ac1ed9ff49120d0691352399c8173bdcf\">NvFlexExt.h</a>\n</li>\n<li>NvFlexExtCreateInstance()\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#a3bf10e2c9370602142b7be01e920f973\">NvFlexExt.h</a>\n</li>\n<li>NvFlexExtCreateRigidFromMesh()\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#ad0a9c7e2f907e46b60f6bacf402987ce\">NvFlexExt.h</a>\n</li>\n<li>NvFlexExtCreateSoftFromMesh()\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#a3a9ce6bba709625f6c338bd3070bd012\">NvFlexExt.h</a>\n</li>\n<li>NvFlexExtCreateSoftJoint()\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#af52527c58c7bd671d26b2985b078aff4\">NvFlexExt.h</a>\n</li>\n<li>NvFlexExtCreateSoftMeshSkinning()\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#a6e3f12e9e92abb31b115cf31b33e34bb\">NvFlexExt.h</a>\n</li>\n<li>NvFlexExtCreateTearingClothFromMesh()\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#addad82b3598059ffde7b3b5babe17bd4\">NvFlexExt.h</a>\n</li>\n<li>NvFlexExtCreateWeldedMeshIndices()\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#a82a15dfd40b338a07cf4517f55f16720\">NvFlexExt.h</a>\n</li>\n<li>NvFlexExtDestroyAsset()\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#a36c33fafe13c5fd5773bf9a2af2dd745\">NvFlexExt.h</a>\n</li>\n<li>NvFlexExtDestroyContainer()\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#a2509137d9fb8ab6818f35ab7761da7a5\">NvFlexExt.h</a>\n</li>\n<li>NvFlexExtDestroyForceFieldCallback()\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#ad08da77f432ca56bc59647bf73da86cb\">NvFlexExt.h</a>\n</li>\n<li>NvFlexExtDestroyInstance()\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#a2b5634f64bd0d8d86f894885a1c16a33\">NvFlexExt.h</a>\n</li>\n<li>NvFlexExtDestroySoftJoint()\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#a021a25caa64e7f9e9542ea0bc7e6d632\">NvFlexExt.h</a>\n</li>\n<li>NvFlexExtDestroyTearingCloth()\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#a88054283907d3386f1a30cdc4475acb0\">NvFlexExt.h</a>\n</li>\n<li>NvFlexExtFreeParticles()\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#ab0a259d159116b7fba9b229784b02c70\">NvFlexExt.h</a>\n</li>\n<li>NvFlexExtGetActiveList()\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#a7fc268a27306f6fc68dd1c106cfa62db\">NvFlexExt.h</a>\n</li>\n<li>NvFlexExtMapParticleData()\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#a3fa8bd4b7d4096602e611faf0bb62dfb\">NvFlexExt.h</a>\n</li>\n<li>NvFlexExtMapShapeData()\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#a90f2d3ba5be20e70e7efead911ee7acc\">NvFlexExt.h</a>\n</li>\n<li>NvFlexExtMapTriangleData()\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#a1646bf409084777cd0ff5d4fcccf07de\">NvFlexExt.h</a>\n</li>\n<li>NvFlexExtMovingFrameApply()\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#a4ffe9bcd59a6cfc8900ac136f5123304\">NvFlexExt.h</a>\n</li>\n<li>NvFlexExtMovingFrameInit()\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#a6a20d814e3b083b069daa0f20a3e756e\">NvFlexExt.h</a>\n</li>\n<li>NvFlexExtMovingFrameUpdate()\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#a780022c1b8425074ce08328e8e8c35cc\">NvFlexExt.h</a>\n</li>\n<li>NvFlexExtNotifyAssetChanged()\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#ad9343d07f49098ee205a1ed48dc9db34\">NvFlexExt.h</a>\n</li>\n<li>NvFlexExtPullFromDevice()\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#a89ea7bbd26bec46f1b82d84257de1f58\">NvFlexExt.h</a>\n</li>\n<li>NvFlexExtPushToDevice()\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#a425f4e472bb83797498c904ab228209c\">NvFlexExt.h</a>\n</li>\n<li>NvFlexExtSetForceFields()\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#aa36d43b9e53b9b66d43c2bc5eb5abf98\">NvFlexExt.h</a>\n</li>\n<li>NvFlexExtSoftJointSetTransform()\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#a3fea23644fb7b0840132eee46ea971e4\">NvFlexExt.h</a>\n</li>\n<li>NvFlexExtTearClothMesh()\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#a5efc0113d5432eb959437e6e3a98cc5f\">NvFlexExt.h</a>\n</li>\n<li>NvFlexExtTickContainer()\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#ab4caadf5a6b19674849bfce91d986e7b\">NvFlexExt.h</a>\n</li>\n<li>NvFlexExtUnmapParticleData()\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#af0cd639c21be28640fe5e1dd94931d59\">NvFlexExt.h</a>\n</li>\n<li>NvFlexExtUnmapShapeData()\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#ab51f04114586b5bf0f6fc5816fda9c69\">NvFlexExt.h</a>\n</li>\n<li>NvFlexExtUnmapTriangleData()\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#a89e582ae93e0256b06f22d9abf361783\">NvFlexExt.h</a>\n</li>\n<li>NvFlexExtUpdateInstances()\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#a4695d37db8b61495f200bfd88a2be628\">NvFlexExt.h</a>\n</li>\n<li>NvFlexFlush()\n: <a class=\"el\" href=\"_nv_flex_8h.html#a898eb8e66a456dd2266c694f29cab600\">NvFlex.h</a>\n</li>\n<li>NvFlexFreeBuffer()\n: <a class=\"el\" href=\"_nv_flex_8h.html#ab559759820a4322aff061745ef26c867\">NvFlex.h</a>\n</li>\n<li>NvFlexGetActive()\n: <a class=\"el\" href=\"_nv_flex_8h.html#a1bd4b70e0118abe18ca5fe85157299b6\">NvFlex.h</a>\n</li>\n<li>NvFlexGetActiveCount()\n: <a class=\"el\" href=\"_nv_flex_8h.html#a2345372dea2ad4f043153a84e7a2c407\">NvFlex.h</a>\n</li>\n<li>NvFlexGetAnisotropy()\n: <a class=\"el\" href=\"_nv_flex_8h.html#aef768edc8e4df1a78a94a6c971541550\">NvFlex.h</a>\n</li>\n<li>NvFlexGetBounds()\n: <a class=\"el\" href=\"_nv_flex_8h.html#ab1eec84a21b1872fba11c9b4cc1d1629\">NvFlex.h</a>\n</li>\n<li>NvFlexGetContacts()\n: <a class=\"el\" href=\"_nv_flex_8h.html#a7edac9cf450917147b83e98f5cb09f5d\">NvFlex.h</a>\n</li>\n<li>NvFlexGetConvexMeshBounds()\n: <a class=\"el\" href=\"_nv_flex_8h.html#ad56e661161763579afb375b3841eb5ff\">NvFlex.h</a>\n</li>\n<li>NvFlexGetConvexMeshes()\n: <a class=\"el\" href=\"_nv_flex_8h.html#aa392608715b2304f06606d498bd69312\">NvFlex.h</a>\n</li>\n<li>NvFlexGetDensities()\n: <a class=\"el\" href=\"_nv_flex_8h.html#a3a20cc2539983a009caaf77ec9ceab82\">NvFlex.h</a>\n</li>\n<li>NvFlexGetDetailTimers()\n: <a class=\"el\" href=\"_nv_flex_8h.html#ab1efb6764f65900cb09f0188ad6da08a\">NvFlex.h</a>\n</li>\n<li>NvFlexGetDeviceAndContext()\n: <a class=\"el\" href=\"_nv_flex_8h.html#a2ac0a898a565a2cdf13b80acd4a3555c\">NvFlex.h</a>\n</li>\n<li>NvFlexGetDeviceLatency()\n: <a class=\"el\" href=\"_nv_flex_8h.html#aa77d2a4edd4ccd79c9389854dca80613\">NvFlex.h</a>\n</li>\n<li>NvFlexGetDeviceName()\n: <a class=\"el\" href=\"_nv_flex_8h.html#a4c451971259524c6878b6b1ed4023ada\">NvFlex.h</a>\n</li>\n<li>NvFlexGetDiffuseParticles()\n: <a class=\"el\" href=\"_nv_flex_8h.html#afa458a6eec8b0d117e53c40c13788fd9\">NvFlex.h</a>\n</li>\n<li>NvFlexGetDistanceFields()\n: <a class=\"el\" href=\"_nv_flex_8h.html#a554d54b930dad17e638ddd30c6dac46f\">NvFlex.h</a>\n</li>\n<li>NvFlexGetDynamicTriangles()\n: <a class=\"el\" href=\"_nv_flex_8h.html#abdfd0834422dd99154a27962614525e5\">NvFlex.h</a>\n</li>\n<li>NvFlexGetNeighbors()\n: <a class=\"el\" href=\"_nv_flex_8h.html#abbee38b5413bbfd1db914c66fcdfc616\">NvFlex.h</a>\n</li>\n<li>NvFlexGetNormals()\n: <a class=\"el\" href=\"_nv_flex_8h.html#a73d87b460a34c52ff4b616e97a53ade7\">NvFlex.h</a>\n</li>\n<li>NvFlexGetParams()\n: <a class=\"el\" href=\"_nv_flex_8h.html#a581b458848039220203547af53de128f\">NvFlex.h</a>\n</li>\n<li>NvFlexGetParticles()\n: <a class=\"el\" href=\"_nv_flex_8h.html#aaff62cfd50431d82af5d04a6c9ac4ffd\">NvFlex.h</a>\n</li>\n<li>NvFlexGetPhases()\n: <a class=\"el\" href=\"_nv_flex_8h.html#accc944f0e76ee2e5d67c3f977b150806\">NvFlex.h</a>\n</li>\n<li>NvFlexGetRestParticles()\n: <a class=\"el\" href=\"_nv_flex_8h.html#aafc89f87307602fb9bfa8f6668122121\">NvFlex.h</a>\n</li>\n<li>NvFlexGetRigids()\n: <a class=\"el\" href=\"_nv_flex_8h.html#ab5cc56e228374b1da0910356b3172b4e\">NvFlex.h</a>\n</li>\n<li>NvFlexGetSmoothParticles()\n: <a class=\"el\" href=\"_nv_flex_8h.html#a96a771dd328d019e6164e5f23d29ffcb\">NvFlex.h</a>\n</li>\n<li>NvFlexGetSolverDesc()\n: <a class=\"el\" href=\"_nv_flex_8h.html#afd6aff58269d6c359df2453c96397840\">NvFlex.h</a>\n</li>\n<li>NvFlexGetSolverLibrary()\n: <a class=\"el\" href=\"_nv_flex_8h.html#ae0d57e4fc2b3b51ec08f7da0a28ff343\">NvFlex.h</a>\n</li>\n<li>NvFlexGetSolvers()\n: <a class=\"el\" href=\"_nv_flex_8h.html#ad53909027df03c6a352746d8ddc088ef\">NvFlex.h</a>\n</li>\n<li>NvFlexGetSprings()\n: <a class=\"el\" href=\"_nv_flex_8h.html#aab5f90f4024d71d08c3f9327c6d8c184\">NvFlex.h</a>\n</li>\n<li>NvFlexGetTimers()\n: <a class=\"el\" href=\"_nv_flex_8h.html#ab16b6d2e11e0ab417ee6c4cf16f0a27d\">NvFlex.h</a>\n</li>\n<li>NvFlexGetTriangleMeshBounds()\n: <a class=\"el\" href=\"_nv_flex_8h.html#a60794d849b4184335e2a0ddec0a9e6a2\">NvFlex.h</a>\n</li>\n<li>NvFlexGetTriangleMeshes()\n: <a class=\"el\" href=\"_nv_flex_8h.html#ab1924ab797971290931b32258b847767\">NvFlex.h</a>\n</li>\n<li>NvFlexGetVelocities()\n: <a class=\"el\" href=\"_nv_flex_8h.html#afbcbff4e4865105514c194398ab3a7b0\">NvFlex.h</a>\n</li>\n<li>NvFlexGetVersion()\n: <a class=\"el\" href=\"_nv_flex_8h.html#ac25ec5de38c177db51198bb620644d36\">NvFlex.h</a>\n</li>\n<li>NvFlexInit()\n: <a class=\"el\" href=\"_nv_flex_8h.html#a687e5ec141948f779faa9183b68cb743\">NvFlex.h</a>\n</li>\n<li>NvFlexMakePhase()\n: <a class=\"el\" href=\"_nv_flex_8h.html#ab43db5f28808f8038cfc9330d4b47d57\">NvFlex.h</a>\n</li>\n<li>NvFlexMakePhaseWithChannels()\n: <a class=\"el\" href=\"_nv_flex_8h.html#a615e8070212c24a70e7a849120c13353\">NvFlex.h</a>\n</li>\n<li>NvFlexMakeShapeFlags()\n: <a class=\"el\" href=\"_nv_flex_8h.html#ad6ee1e23e0c49aad63df8f605182de3a\">NvFlex.h</a>\n</li>\n<li>NvFlexMakeShapeFlagsWithChannels()\n: <a class=\"el\" href=\"_nv_flex_8h.html#ad83b7fb561a91467a3094771bb682b96\">NvFlex.h</a>\n</li>\n<li>NvFlexMap()\n: <a class=\"el\" href=\"_nv_flex_8h.html#a0898bb9210440b159688d4647f6eb083\">NvFlex.h</a>\n</li>\n<li>NvFlexRegisterD3DBuffer()\n: <a class=\"el\" href=\"_nv_flex_8h.html#ab487e68ce1c84ce1eec0c85b7daf5aa0\">NvFlex.h</a>\n</li>\n<li>NvFlexRegisterOGLBuffer()\n: <a class=\"el\" href=\"_nv_flex_8h.html#aab83daf46e5a9428a0ad76fb75e8ec7e\">NvFlex.h</a>\n</li>\n<li>NvFlexRegisterSolverCallback()\n: <a class=\"el\" href=\"_nv_flex_8h.html#ac5427457488ab3f2de91cf65335dda08\">NvFlex.h</a>\n</li>\n<li>NvFlexRestoreContext()\n: <a class=\"el\" href=\"_nv_flex_8h.html#ae6671f352bd77e296609d0bc2a57fd11\">NvFlex.h</a>\n</li>\n<li>NvFlexSetActive()\n: <a class=\"el\" href=\"_nv_flex_8h.html#adc0c97635cdbb3da7b571574a3b38990\">NvFlex.h</a>\n</li>\n<li>NvFlexSetActiveCount()\n: <a class=\"el\" href=\"_nv_flex_8h.html#a677dc591fe443ae058701966c52d1316\">NvFlex.h</a>\n</li>\n<li>NvFlexSetDiffuseParticles()\n: <a class=\"el\" href=\"_nv_flex_8h.html#a5a7213593dd9a23d9d67f8517d1da9de\">NvFlex.h</a>\n</li>\n<li>NvFlexSetDynamicTriangles()\n: <a class=\"el\" href=\"_nv_flex_8h.html#aa03d94be697cdc3aaa56e469d87255a4\">NvFlex.h</a>\n</li>\n<li>NvFlexSetInflatables()\n: <a class=\"el\" href=\"_nv_flex_8h.html#a7f2b59fba77c60ce116e1eac57d63e50\">NvFlex.h</a>\n</li>\n<li>NvFlexSetNormals()\n: <a class=\"el\" href=\"_nv_flex_8h.html#a32e8fdb39029a2564c129bd493c52058\">NvFlex.h</a>\n</li>\n<li>NvFlexSetParams()\n: <a class=\"el\" href=\"_nv_flex_8h.html#ae2db6ad8006027c1acf2315a0d15fe71\">NvFlex.h</a>\n</li>\n<li>NvFlexSetParticles()\n: <a class=\"el\" href=\"_nv_flex_8h.html#a7ec5ebe3e98a44a2058d6be74b2cb633\">NvFlex.h</a>\n</li>\n<li>NvFlexSetPhases()\n: <a class=\"el\" href=\"_nv_flex_8h.html#aa1d44495e442f8cae874c635ef847478\">NvFlex.h</a>\n</li>\n<li>NvFlexSetRestParticles()\n: <a class=\"el\" href=\"_nv_flex_8h.html#a125cfd9817437bb4f4bcb9418efa3dda\">NvFlex.h</a>\n</li>\n<li>NvFlexSetRigids()\n: <a class=\"el\" href=\"_nv_flex_8h.html#aa8b7bfeffb0fa7dc6dbd291fee87edc9\">NvFlex.h</a>\n</li>\n<li>NvFlexSetShapes()\n: <a class=\"el\" href=\"_nv_flex_8h.html#aea4e7117722df53dfe44c676496117fa\">NvFlex.h</a>\n</li>\n<li>NvFlexSetSolverDescDefaults()\n: <a class=\"el\" href=\"_nv_flex_8h.html#a69a33d464c002a8916a5925c6ef32ae6\">NvFlex.h</a>\n</li>\n<li>NvFlexSetSprings()\n: <a class=\"el\" href=\"_nv_flex_8h.html#ae67c0cab2ecee8eb9485a26ef0fad6a9\">NvFlex.h</a>\n</li>\n<li>NvFlexSetVelocities()\n: <a class=\"el\" href=\"_nv_flex_8h.html#ae2b271f123db0054512936f2acc6467f\">NvFlex.h</a>\n</li>\n<li>NvFlexShutdown()\n: <a class=\"el\" href=\"_nv_flex_8h.html#aaf59e45ada57c7f958a8030099cbe211\">NvFlex.h</a>\n</li>\n<li>NvFlexUnmap()\n: <a class=\"el\" href=\"_nv_flex_8h.html#a054cb27646a389ea257d1bbde46a6e97\">NvFlex.h</a>\n</li>\n<li>NvFlexUnregisterD3DBuffer()\n: <a class=\"el\" href=\"_nv_flex_8h.html#ad607e7916e5d76b384a61f1c1f94ab32\">NvFlex.h</a>\n</li>\n<li>NvFlexUnregisterOGLBuffer()\n: <a class=\"el\" href=\"_nv_flex_8h.html#a78045a8d4e856372df108dc616a94cd8\">NvFlex.h</a>\n</li>\n<li>NvFlexUpdateConvexMesh()\n: <a class=\"el\" href=\"_nv_flex_8h.html#ab452c355f92dda050d4b4dafb8e71b03\">NvFlex.h</a>\n</li>\n<li>NvFlexUpdateDistanceField()\n: <a class=\"el\" href=\"_nv_flex_8h.html#a584ffb275b9986fd5444ed1a7ea247d9\">NvFlex.h</a>\n</li>\n<li>NvFlexUpdateSolver()\n: <a class=\"el\" href=\"_nv_flex_8h.html#ac75370f005fd453fe8a324fe62be1b5c\">NvFlex.h</a>\n</li>\n<li>NvFlexUpdateTriangleMesh()\n: <a class=\"el\" href=\"_nv_flex_8h.html#a4958c555f0ed65dee54c37af32529356\">NvFlex.h</a>\n</li>\n<li>NvFlexWait()\n: <a class=\"el\" href=\"_nv_flex_8h.html#a615d2e6eec2486a5db815d929f9c642c\">NvFlex.h</a>\n</li>\n</ul>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated on Mon Mar 19 2018 14:53:17 for FLEX by &#160;<a href=\"http://www.doxygen.org/index.html\">\n<img class=\"footer\" src=\"doxygen.png\" alt=\"doxygen\"/>\n</a> 1.8.9.1\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "doc/_static/api/globals_type.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.9.1\"/>\n<title>FLEX: Globals</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n<link href=\"flex.css\" rel=\"stylesheet\" type=\"text/css\"/>\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectlogo\"><img alt=\"Logo\" src=\"nvidia.png\"/></td>\n  <td style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">FLEX\n   &#160;<span id=\"projectnumber\">1.2.0</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.9.1 -->\n</div><!-- top -->\n<div class=\"contents\">\n&#160;<ul>\n<li>NvFlexBuffer\n: <a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlex.h</a>\n</li>\n<li>NvFlexConvexMeshId\n: <a class=\"el\" href=\"_nv_flex_8h.html#a7ab5aa68da7ca1f69211a900f1a1c586\">NvFlex.h</a>\n</li>\n<li>NvFlexDistanceFieldId\n: <a class=\"el\" href=\"_nv_flex_8h.html#a56e990c5bfbc89677988cbf2471c0ade\">NvFlex.h</a>\n</li>\n<li>NvFlexErrorCallback\n: <a class=\"el\" href=\"_nv_flex_8h.html#abe6f00c9b94debbf7c181082a14076d5\">NvFlex.h</a>\n</li>\n<li>NvFlexExtContainer\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4\">NvFlexExt.h</a>\n</li>\n<li>NvFlexExtForceFieldCallback\n: <a class=\"el\" href=\"_nv_flex_ext_8h.html#a1117ce527b6b483cc756ab5352f6dc3f\">NvFlexExt.h</a>\n</li>\n<li>NvFlexLibrary\n: <a class=\"el\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlex.h</a>\n</li>\n<li>NvFlexSolver\n: <a class=\"el\" href=\"_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e\">NvFlex.h</a>\n</li>\n<li>NvFlexTriangleMeshId\n: <a class=\"el\" href=\"_nv_flex_8h.html#a2aea4c3d772b4dbccb7dd9ba37c1bdc0\">NvFlex.h</a>\n</li>\n</ul>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated on Mon Mar 19 2018 14:53:17 for FLEX by &#160;<a href=\"http://www.doxygen.org/index.html\">\n<img class=\"footer\" src=\"doxygen.png\" alt=\"doxygen\"/>\n</a> 1.8.9.1\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "doc/_static/api/index.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.9.1\"/>\n<title>FLEX: Main Page</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n<link href=\"flex.css\" rel=\"stylesheet\" type=\"text/css\"/>\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectlogo\"><img alt=\"Logo\" src=\"nvidia.png\"/></td>\n  <td style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">FLEX\n   &#160;<span id=\"projectnumber\">1.2.0</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.9.1 -->\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"headertitle\">\n<div class=\"title\">FLEX Documentation</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n<ul><li><a href=\"index.html\"><span>User&#160;Guide</span></a>\n</li><li><a href=\"files.html\"><span>Files</span></a>\n<ul><li><a href=\"files.html\"><span>File&#160;List</span></a>\n</li></ul>\n</li></ul>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated on Mon Mar 19 2018 14:53:17 for FLEX by &#160;<a href=\"http://www.doxygen.org/index.html\">\n<img class=\"footer\" src=\"doxygen.png\" alt=\"doxygen\"/>\n</a> 1.8.9.1\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "doc/_static/api/jquery.js",
    "content": "/*!\n * jQuery JavaScript Library v1.7.1\n * http://jquery.com/\n *\n * Copyright 2011, John Resig\n * Dual licensed under the MIT or GPL Version 2 licenses.\n * http://jquery.org/license\n *\n * Includes Sizzle.js\n * http://sizzlejs.com/\n * Copyright 2011, The Dojo Foundation\n * Released under the MIT, BSD, and GPL Licenses.\n *\n * Date: Mon Nov 21 21:11:03 2011 -0500\n */\n(function(bb,L){var av=bb.document,bu=bb.navigator,bl=bb.location;var b=(function(){var bF=function(b0,b1){return new bF.fn.init(b0,b1,bD)},bU=bb.jQuery,bH=bb.$,bD,bY=/^(?:[^#<]*(<[\\w\\W]+>)[^>]*$|#([\\w\\-]*)$)/,bM=/\\S/,bI=/^\\s+/,bE=/\\s+$/,bA=/^<(\\w+)\\s*\\/?>(?:<\\/\\1>)?$/,bN=/^[\\],:{}\\s]*$/,bW=/\\\\(?:[\"\\\\\\/bfnrt]|u[0-9a-fA-F]{4})/g,bP=/\"[^\"\\\\\\n\\r]*\"|true|false|null|-?\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d+)?/g,bJ=/(?:^|:|,)(?:\\s*\\[)+/g,by=/(webkit)[ \\/]([\\w.]+)/,bR=/(opera)(?:.*version)?[ \\/]([\\w.]+)/,bQ=/(msie) ([\\w.]+)/,bS=/(mozilla)(?:.*? rv:([\\w.]+))?/,bB=/-([a-z]|[0-9])/ig,bZ=/^-ms-/,bT=function(b0,b1){return(b1+\"\").toUpperCase()},bX=bu.userAgent,bV,bC,e,bL=Object.prototype.toString,bG=Object.prototype.hasOwnProperty,bz=Array.prototype.push,bK=Array.prototype.slice,bO=String.prototype.trim,bv=Array.prototype.indexOf,bx={};bF.fn=bF.prototype={constructor:bF,init:function(b0,b4,b3){var b2,b5,b1,b6;if(!b0){return this}if(b0.nodeType){this.context=this[0]=b0;this.length=1;return this}if(b0===\"body\"&&!b4&&av.body){this.context=av;this[0]=av.body;this.selector=b0;this.length=1;return this}if(typeof b0===\"string\"){if(b0.charAt(0)===\"<\"&&b0.charAt(b0.length-1)===\">\"&&b0.length>=3){b2=[null,b0,null]}else{b2=bY.exec(b0)}if(b2&&(b2[1]||!b4)){if(b2[1]){b4=b4 instanceof bF?b4[0]:b4;b6=(b4?b4.ownerDocument||b4:av);b1=bA.exec(b0);if(b1){if(bF.isPlainObject(b4)){b0=[av.createElement(b1[1])];bF.fn.attr.call(b0,b4,true)}else{b0=[b6.createElement(b1[1])]}}else{b1=bF.buildFragment([b2[1]],[b6]);b0=(b1.cacheable?bF.clone(b1.fragment):b1.fragment).childNodes}return bF.merge(this,b0)}else{b5=av.getElementById(b2[2]);if(b5&&b5.parentNode){if(b5.id!==b2[2]){return b3.find(b0)}this.length=1;this[0]=b5}this.context=av;this.selector=b0;return this}}else{if(!b4||b4.jquery){return(b4||b3).find(b0)}else{return this.constructor(b4).find(b0)}}}else{if(bF.isFunction(b0)){return b3.ready(b0)}}if(b0.selector!==L){this.selector=b0.selector;this.context=b0.context}return bF.makeArray(b0,this)},selector:\"\",jquery:\"1.7.1\",length:0,size:function(){return this.length},toArray:function(){return bK.call(this,0)},get:function(b0){return b0==null?this.toArray():(b0<0?this[this.length+b0]:this[b0])},pushStack:function(b1,b3,b0){var b2=this.constructor();if(bF.isArray(b1)){bz.apply(b2,b1)}else{bF.merge(b2,b1)}b2.prevObject=this;b2.context=this.context;if(b3===\"find\"){b2.selector=this.selector+(this.selector?\" \":\"\")+b0}else{if(b3){b2.selector=this.selector+\".\"+b3+\"(\"+b0+\")\"}}return b2},each:function(b1,b0){return bF.each(this,b1,b0)},ready:function(b0){bF.bindReady();bC.add(b0);return this},eq:function(b0){b0=+b0;return b0===-1?this.slice(b0):this.slice(b0,b0+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(bK.apply(this,arguments),\"slice\",bK.call(arguments).join(\",\"))},map:function(b0){return this.pushStack(bF.map(this,function(b2,b1){return b0.call(b2,b1,b2)}))},end:function(){return this.prevObject||this.constructor(null)},push:bz,sort:[].sort,splice:[].splice};bF.fn.init.prototype=bF.fn;bF.extend=bF.fn.extend=function(){var b9,b2,b0,b1,b6,b7,b5=arguments[0]||{},b4=1,b3=arguments.length,b8=false;if(typeof b5===\"boolean\"){b8=b5;b5=arguments[1]||{};b4=2}if(typeof b5!==\"object\"&&!bF.isFunction(b5)){b5={}}if(b3===b4){b5=this;--b4}for(;b4<b3;b4++){if((b9=arguments[b4])!=null){for(b2 in b9){b0=b5[b2];b1=b9[b2];if(b5===b1){continue}if(b8&&b1&&(bF.isPlainObject(b1)||(b6=bF.isArray(b1)))){if(b6){b6=false;b7=b0&&bF.isArray(b0)?b0:[]}else{b7=b0&&bF.isPlainObject(b0)?b0:{}}b5[b2]=bF.extend(b8,b7,b1)}else{if(b1!==L){b5[b2]=b1}}}}}return b5};bF.extend({noConflict:function(b0){if(bb.$===bF){bb.$=bH}if(b0&&bb.jQuery===bF){bb.jQuery=bU}return bF},isReady:false,readyWait:1,holdReady:function(b0){if(b0){bF.readyWait++}else{bF.ready(true)}},ready:function(b0){if((b0===true&&!--bF.readyWait)||(b0!==true&&!bF.isReady)){if(!av.body){return setTimeout(bF.ready,1)}bF.isReady=true;if(b0!==true&&--bF.readyWait>0){return}bC.fireWith(av,[bF]);if(bF.fn.trigger){bF(av).trigger(\"ready\").off(\"ready\")}}},bindReady:function(){if(bC){return}bC=bF.Callbacks(\"once memory\");if(av.readyState===\"complete\"){return setTimeout(bF.ready,1)}if(av.addEventListener){av.addEventListener(\"DOMContentLoaded\",e,false);bb.addEventListener(\"load\",bF.ready,false)}else{if(av.attachEvent){av.attachEvent(\"onreadystatechange\",e);bb.attachEvent(\"onload\",bF.ready);var b0=false;try{b0=bb.frameElement==null}catch(b1){}if(av.documentElement.doScroll&&b0){bw()}}}},isFunction:function(b0){return bF.type(b0)===\"function\"},isArray:Array.isArray||function(b0){return bF.type(b0)===\"array\"},isWindow:function(b0){return b0&&typeof b0===\"object\"&&\"setInterval\" in b0},isNumeric:function(b0){return !isNaN(parseFloat(b0))&&isFinite(b0)},type:function(b0){return b0==null?String(b0):bx[bL.call(b0)]||\"object\"},isPlainObject:function(b2){if(!b2||bF.type(b2)!==\"object\"||b2.nodeType||bF.isWindow(b2)){return false}try{if(b2.constructor&&!bG.call(b2,\"constructor\")&&!bG.call(b2.constructor.prototype,\"isPrototypeOf\")){return false}}catch(b1){return false}var b0;for(b0 in b2){}return b0===L||bG.call(b2,b0)},isEmptyObject:function(b1){for(var b0 in b1){return false}return true},error:function(b0){throw new Error(b0)},parseJSON:function(b0){if(typeof b0!==\"string\"||!b0){return null}b0=bF.trim(b0);if(bb.JSON&&bb.JSON.parse){return bb.JSON.parse(b0)}if(bN.test(b0.replace(bW,\"@\").replace(bP,\"]\").replace(bJ,\"\"))){return(new Function(\"return \"+b0))()}bF.error(\"Invalid JSON: \"+b0)},parseXML:function(b2){var b0,b1;try{if(bb.DOMParser){b1=new DOMParser();b0=b1.parseFromString(b2,\"text/xml\")}else{b0=new ActiveXObject(\"Microsoft.XMLDOM\");b0.async=\"false\";b0.loadXML(b2)}}catch(b3){b0=L}if(!b0||!b0.documentElement||b0.getElementsByTagName(\"parsererror\").length){bF.error(\"Invalid XML: \"+b2)}return b0},noop:function(){},globalEval:function(b0){if(b0&&bM.test(b0)){(bb.execScript||function(b1){bb[\"eval\"].call(bb,b1)})(b0)}},camelCase:function(b0){return b0.replace(bZ,\"ms-\").replace(bB,bT)},nodeName:function(b1,b0){return b1.nodeName&&b1.nodeName.toUpperCase()===b0.toUpperCase()},each:function(b3,b6,b2){var b1,b4=0,b5=b3.length,b0=b5===L||bF.isFunction(b3);if(b2){if(b0){for(b1 in b3){if(b6.apply(b3[b1],b2)===false){break}}}else{for(;b4<b5;){if(b6.apply(b3[b4++],b2)===false){break}}}}else{if(b0){for(b1 in b3){if(b6.call(b3[b1],b1,b3[b1])===false){break}}}else{for(;b4<b5;){if(b6.call(b3[b4],b4,b3[b4++])===false){break}}}}return b3},trim:bO?function(b0){return b0==null?\"\":bO.call(b0)}:function(b0){return b0==null?\"\":b0.toString().replace(bI,\"\").replace(bE,\"\")},makeArray:function(b3,b1){var b0=b1||[];if(b3!=null){var b2=bF.type(b3);if(b3.length==null||b2===\"string\"||b2===\"function\"||b2===\"regexp\"||bF.isWindow(b3)){bz.call(b0,b3)}else{bF.merge(b0,b3)}}return b0},inArray:function(b2,b3,b1){var b0;if(b3){if(bv){return bv.call(b3,b2,b1)}b0=b3.length;b1=b1?b1<0?Math.max(0,b0+b1):b1:0;for(;b1<b0;b1++){if(b1 in b3&&b3[b1]===b2){return b1}}}return -1},merge:function(b4,b2){var b3=b4.length,b1=0;if(typeof b2.length===\"number\"){for(var b0=b2.length;b1<b0;b1++){b4[b3++]=b2[b1]}}else{while(b2[b1]!==L){b4[b3++]=b2[b1++]}}b4.length=b3;return b4},grep:function(b1,b6,b0){var b2=[],b5;b0=!!b0;for(var b3=0,b4=b1.length;b3<b4;b3++){b5=!!b6(b1[b3],b3);if(b0!==b5){b2.push(b1[b3])}}return b2},map:function(b0,b7,b8){var b5,b6,b4=[],b2=0,b1=b0.length,b3=b0 instanceof bF||b1!==L&&typeof b1===\"number\"&&((b1>0&&b0[0]&&b0[b1-1])||b1===0||bF.isArray(b0));if(b3){for(;b2<b1;b2++){b5=b7(b0[b2],b2,b8);if(b5!=null){b4[b4.length]=b5}}}else{for(b6 in b0){b5=b7(b0[b6],b6,b8);if(b5!=null){b4[b4.length]=b5}}}return b4.concat.apply([],b4)},guid:1,proxy:function(b4,b3){if(typeof b3===\"string\"){var b2=b4[b3];b3=b4;b4=b2}if(!bF.isFunction(b4)){return L}var b0=bK.call(arguments,2),b1=function(){return b4.apply(b3,b0.concat(bK.call(arguments)))};b1.guid=b4.guid=b4.guid||b1.guid||bF.guid++;return b1},access:function(b0,b8,b6,b2,b5,b7){var b1=b0.length;if(typeof b8===\"object\"){for(var b3 in b8){bF.access(b0,b3,b8[b3],b2,b5,b6)}return b0}if(b6!==L){b2=!b7&&b2&&bF.isFunction(b6);for(var b4=0;b4<b1;b4++){b5(b0[b4],b8,b2?b6.call(b0[b4],b4,b5(b0[b4],b8)):b6,b7)}return b0}return b1?b5(b0[0],b8):L},now:function(){return(new Date()).getTime()},uaMatch:function(b1){b1=b1.toLowerCase();var b0=by.exec(b1)||bR.exec(b1)||bQ.exec(b1)||b1.indexOf(\"compatible\")<0&&bS.exec(b1)||[];return{browser:b0[1]||\"\",version:b0[2]||\"0\"}},sub:function(){function b0(b3,b4){return new b0.fn.init(b3,b4)}bF.extend(true,b0,this);b0.superclass=this;b0.fn=b0.prototype=this();b0.fn.constructor=b0;b0.sub=this.sub;b0.fn.init=function b2(b3,b4){if(b4&&b4 instanceof bF&&!(b4 instanceof b0)){b4=b0(b4)}return bF.fn.init.call(this,b3,b4,b1)};b0.fn.init.prototype=b0.fn;var b1=b0(av);return b0},browser:{}});bF.each(\"Boolean Number String Function Array Date RegExp Object\".split(\" \"),function(b1,b0){bx[\"[object \"+b0+\"]\"]=b0.toLowerCase()});bV=bF.uaMatch(bX);if(bV.browser){bF.browser[bV.browser]=true;bF.browser.version=bV.version}if(bF.browser.webkit){bF.browser.safari=true}if(bM.test(\"\\xA0\")){bI=/^[\\s\\xA0]+/;bE=/[\\s\\xA0]+$/}bD=bF(av);if(av.addEventListener){e=function(){av.removeEventListener(\"DOMContentLoaded\",e,false);bF.ready()}}else{if(av.attachEvent){e=function(){if(av.readyState===\"complete\"){av.detachEvent(\"onreadystatechange\",e);bF.ready()}}}}function bw(){if(bF.isReady){return}try{av.documentElement.doScroll(\"left\")}catch(b0){setTimeout(bw,1);return}bF.ready()}return bF})();var a2={};function X(e){var bv=a2[e]={},bw,bx;e=e.split(/\\s+/);for(bw=0,bx=e.length;bw<bx;bw++){bv[e[bw]]=true}return bv}b.Callbacks=function(bw){bw=bw?(a2[bw]||X(bw)):{};var bB=[],bC=[],bx,by,bv,bz,bA,bE=function(bF){var bG,bJ,bI,bH,bK;for(bG=0,bJ=bF.length;bG<bJ;bG++){bI=bF[bG];bH=b.type(bI);if(bH===\"array\"){bE(bI)}else{if(bH===\"function\"){if(!bw.unique||!bD.has(bI)){bB.push(bI)}}}}},e=function(bG,bF){bF=bF||[];bx=!bw.memory||[bG,bF];by=true;bA=bv||0;bv=0;bz=bB.length;for(;bB&&bA<bz;bA++){if(bB[bA].apply(bG,bF)===false&&bw.stopOnFalse){bx=true;break}}by=false;if(bB){if(!bw.once){if(bC&&bC.length){bx=bC.shift();bD.fireWith(bx[0],bx[1])}}else{if(bx===true){bD.disable()}else{bB=[]}}}},bD={add:function(){if(bB){var bF=bB.length;bE(arguments);if(by){bz=bB.length}else{if(bx&&bx!==true){bv=bF;e(bx[0],bx[1])}}}return this},remove:function(){if(bB){var bF=arguments,bH=0,bI=bF.length;for(;bH<bI;bH++){for(var bG=0;bG<bB.length;bG++){if(bF[bH]===bB[bG]){if(by){if(bG<=bz){bz--;if(bG<=bA){bA--}}}bB.splice(bG--,1);if(bw.unique){break}}}}}return this},has:function(bG){if(bB){var bF=0,bH=bB.length;for(;bF<bH;bF++){if(bG===bB[bF]){return true}}}return false},empty:function(){bB=[];return this},disable:function(){bB=bC=bx=L;return this},disabled:function(){return !bB},lock:function(){bC=L;if(!bx||bx===true){bD.disable()}return this},locked:function(){return !bC},fireWith:function(bG,bF){if(bC){if(by){if(!bw.once){bC.push([bG,bF])}}else{if(!(bw.once&&bx)){e(bG,bF)}}}return this},fire:function(){bD.fireWith(this,arguments);return this},fired:function(){return !!bx}};return bD};var aJ=[].slice;b.extend({Deferred:function(by){var bx=b.Callbacks(\"once memory\"),bw=b.Callbacks(\"once memory\"),bv=b.Callbacks(\"memory\"),e=\"pending\",bA={resolve:bx,reject:bw,notify:bv},bC={done:bx.add,fail:bw.add,progress:bv.add,state:function(){return e},isResolved:bx.fired,isRejected:bw.fired,then:function(bE,bD,bF){bB.done(bE).fail(bD).progress(bF);return this},always:function(){bB.done.apply(bB,arguments).fail.apply(bB,arguments);return this},pipe:function(bF,bE,bD){return b.Deferred(function(bG){b.each({done:[bF,\"resolve\"],fail:[bE,\"reject\"],progress:[bD,\"notify\"]},function(bI,bL){var bH=bL[0],bK=bL[1],bJ;if(b.isFunction(bH)){bB[bI](function(){bJ=bH.apply(this,arguments);if(bJ&&b.isFunction(bJ.promise)){bJ.promise().then(bG.resolve,bG.reject,bG.notify)}else{bG[bK+\"With\"](this===bB?bG:this,[bJ])}})}else{bB[bI](bG[bK])}})}).promise()},promise:function(bE){if(bE==null){bE=bC}else{for(var bD in bC){bE[bD]=bC[bD]}}return bE}},bB=bC.promise({}),bz;for(bz in bA){bB[bz]=bA[bz].fire;bB[bz+\"With\"]=bA[bz].fireWith}bB.done(function(){e=\"resolved\"},bw.disable,bv.lock).fail(function(){e=\"rejected\"},bx.disable,bv.lock);if(by){by.call(bB,bB)}return bB},when:function(bA){var bx=aJ.call(arguments,0),bv=0,e=bx.length,bB=new Array(e),bw=e,by=e,bC=e<=1&&bA&&b.isFunction(bA.promise)?bA:b.Deferred(),bE=bC.promise();function bD(bF){return function(bG){bx[bF]=arguments.length>1?aJ.call(arguments,0):bG;if(!(--bw)){bC.resolveWith(bC,bx)}}}function bz(bF){return function(bG){bB[bF]=arguments.length>1?aJ.call(arguments,0):bG;bC.notifyWith(bE,bB)}}if(e>1){for(;bv<e;bv++){if(bx[bv]&&bx[bv].promise&&b.isFunction(bx[bv].promise)){bx[bv].promise().then(bD(bv),bC.reject,bz(bv))}else{--bw}}if(!bw){bC.resolveWith(bC,bx)}}else{if(bC!==bA){bC.resolveWith(bC,e?[bA]:[])}}return bE}});b.support=(function(){var bJ,bI,bF,bG,bx,bE,bA,bD,bz,bK,bB,by,bw,bv=av.createElement(\"div\"),bH=av.documentElement;bv.setAttribute(\"className\",\"t\");bv.innerHTML=\"   <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>\";bI=bv.getElementsByTagName(\"*\");bF=bv.getElementsByTagName(\"a\")[0];if(!bI||!bI.length||!bF){return{}}bG=av.createElement(\"select\");bx=bG.appendChild(av.createElement(\"option\"));bE=bv.getElementsByTagName(\"input\")[0];bJ={leadingWhitespace:(bv.firstChild.nodeType===3),tbody:!bv.getElementsByTagName(\"tbody\").length,htmlSerialize:!!bv.getElementsByTagName(\"link\").length,style:/top/.test(bF.getAttribute(\"style\")),hrefNormalized:(bF.getAttribute(\"href\")===\"/a\"),opacity:/^0.55/.test(bF.style.opacity),cssFloat:!!bF.style.cssFloat,checkOn:(bE.value===\"on\"),optSelected:bx.selected,getSetAttribute:bv.className!==\"t\",enctype:!!av.createElement(\"form\").enctype,html5Clone:av.createElement(\"nav\").cloneNode(true).outerHTML!==\"<:nav></:nav>\",submitBubbles:true,changeBubbles:true,focusinBubbles:false,deleteExpando:true,noCloneEvent:true,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableMarginRight:true};bE.checked=true;bJ.noCloneChecked=bE.cloneNode(true).checked;bG.disabled=true;bJ.optDisabled=!bx.disabled;try{delete bv.test}catch(bC){bJ.deleteExpando=false}if(!bv.addEventListener&&bv.attachEvent&&bv.fireEvent){bv.attachEvent(\"onclick\",function(){bJ.noCloneEvent=false});bv.cloneNode(true).fireEvent(\"onclick\")}bE=av.createElement(\"input\");bE.value=\"t\";bE.setAttribute(\"type\",\"radio\");bJ.radioValue=bE.value===\"t\";bE.setAttribute(\"checked\",\"checked\");bv.appendChild(bE);bD=av.createDocumentFragment();bD.appendChild(bv.lastChild);bJ.checkClone=bD.cloneNode(true).cloneNode(true).lastChild.checked;bJ.appendChecked=bE.checked;bD.removeChild(bE);bD.appendChild(bv);bv.innerHTML=\"\";if(bb.getComputedStyle){bA=av.createElement(\"div\");bA.style.width=\"0\";bA.style.marginRight=\"0\";bv.style.width=\"2px\";bv.appendChild(bA);bJ.reliableMarginRight=(parseInt((bb.getComputedStyle(bA,null)||{marginRight:0}).marginRight,10)||0)===0}if(bv.attachEvent){for(by in {submit:1,change:1,focusin:1}){bB=\"on\"+by;bw=(bB in bv);if(!bw){bv.setAttribute(bB,\"return;\");bw=(typeof bv[bB]===\"function\")}bJ[by+\"Bubbles\"]=bw}}bD.removeChild(bv);bD=bG=bx=bA=bv=bE=null;b(function(){var bM,bU,bV,bT,bN,bO,bL,bS,bR,e,bP,bQ=av.getElementsByTagName(\"body\")[0];if(!bQ){return}bL=1;bS=\"position:absolute;top:0;left:0;width:1px;height:1px;margin:0;\";bR=\"visibility:hidden;border:0;\";e=\"style='\"+bS+\"border:5px solid #000;padding:0;'\";bP=\"<div \"+e+\"><div></div></div><table \"+e+\" cellpadding='0' cellspacing='0'><tr><td></td></tr></table>\";bM=av.createElement(\"div\");bM.style.cssText=bR+\"width:0;height:0;position:static;top:0;margin-top:\"+bL+\"px\";bQ.insertBefore(bM,bQ.firstChild);bv=av.createElement(\"div\");bM.appendChild(bv);bv.innerHTML=\"<table><tr><td style='padding:0;border:0;display:none'></td><td>t</td></tr></table>\";bz=bv.getElementsByTagName(\"td\");bw=(bz[0].offsetHeight===0);bz[0].style.display=\"\";bz[1].style.display=\"none\";bJ.reliableHiddenOffsets=bw&&(bz[0].offsetHeight===0);bv.innerHTML=\"\";bv.style.width=bv.style.paddingLeft=\"1px\";b.boxModel=bJ.boxModel=bv.offsetWidth===2;if(typeof bv.style.zoom!==\"undefined\"){bv.style.display=\"inline\";bv.style.zoom=1;bJ.inlineBlockNeedsLayout=(bv.offsetWidth===2);bv.style.display=\"\";bv.innerHTML=\"<div style='width:4px;'></div>\";bJ.shrinkWrapBlocks=(bv.offsetWidth!==2)}bv.style.cssText=bS+bR;bv.innerHTML=bP;bU=bv.firstChild;bV=bU.firstChild;bN=bU.nextSibling.firstChild.firstChild;bO={doesNotAddBorder:(bV.offsetTop!==5),doesAddBorderForTableAndCells:(bN.offsetTop===5)};bV.style.position=\"fixed\";bV.style.top=\"20px\";bO.fixedPosition=(bV.offsetTop===20||bV.offsetTop===15);bV.style.position=bV.style.top=\"\";bU.style.overflow=\"hidden\";bU.style.position=\"relative\";bO.subtractsBorderForOverflowNotVisible=(bV.offsetTop===-5);bO.doesNotIncludeMarginInBodyOffset=(bQ.offsetTop!==bL);bQ.removeChild(bM);bv=bM=null;b.extend(bJ,bO)});return bJ})();var aS=/^(?:\\{.*\\}|\\[.*\\])$/,aA=/([A-Z])/g;b.extend({cache:{},uuid:0,expando:\"jQuery\"+(b.fn.jquery+Math.random()).replace(/\\D/g,\"\"),noData:{embed:true,object:\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\",applet:true},hasData:function(e){e=e.nodeType?b.cache[e[b.expando]]:e[b.expando];return !!e&&!S(e)},data:function(bx,bv,bz,by){if(!b.acceptData(bx)){return}var bG,bA,bD,bE=b.expando,bC=typeof bv===\"string\",bF=bx.nodeType,e=bF?b.cache:bx,bw=bF?bx[bE]:bx[bE]&&bE,bB=bv===\"events\";if((!bw||!e[bw]||(!bB&&!by&&!e[bw].data))&&bC&&bz===L){return}if(!bw){if(bF){bx[bE]=bw=++b.uuid}else{bw=bE}}if(!e[bw]){e[bw]={};if(!bF){e[bw].toJSON=b.noop}}if(typeof bv===\"object\"||typeof bv===\"function\"){if(by){e[bw]=b.extend(e[bw],bv)}else{e[bw].data=b.extend(e[bw].data,bv)}}bG=bA=e[bw];if(!by){if(!bA.data){bA.data={}}bA=bA.data}if(bz!==L){bA[b.camelCase(bv)]=bz}if(bB&&!bA[bv]){return bG.events}if(bC){bD=bA[bv];if(bD==null){bD=bA[b.camelCase(bv)]}}else{bD=bA}return bD},removeData:function(bx,bv,by){if(!b.acceptData(bx)){return}var bB,bA,bz,bC=b.expando,bD=bx.nodeType,e=bD?b.cache:bx,bw=bD?bx[bC]:bC;if(!e[bw]){return}if(bv){bB=by?e[bw]:e[bw].data;if(bB){if(!b.isArray(bv)){if(bv in bB){bv=[bv]}else{bv=b.camelCase(bv);if(bv in bB){bv=[bv]}else{bv=bv.split(\" \")}}}for(bA=0,bz=bv.length;bA<bz;bA++){delete bB[bv[bA]]}if(!(by?S:b.isEmptyObject)(bB)){return}}}if(!by){delete e[bw].data;if(!S(e[bw])){return}}if(b.support.deleteExpando||!e.setInterval){delete e[bw]}else{e[bw]=null}if(bD){if(b.support.deleteExpando){delete bx[bC]}else{if(bx.removeAttribute){bx.removeAttribute(bC)}else{bx[bC]=null}}}},_data:function(bv,e,bw){return b.data(bv,e,bw,true)},acceptData:function(bv){if(bv.nodeName){var e=b.noData[bv.nodeName.toLowerCase()];if(e){return !(e===true||bv.getAttribute(\"classid\")!==e)}}return true}});b.fn.extend({data:function(by,bA){var bB,e,bw,bz=null;if(typeof by===\"undefined\"){if(this.length){bz=b.data(this[0]);if(this[0].nodeType===1&&!b._data(this[0],\"parsedAttrs\")){e=this[0].attributes;for(var bx=0,bv=e.length;bx<bv;bx++){bw=e[bx].name;if(bw.indexOf(\"data-\")===0){bw=b.camelCase(bw.substring(5));a5(this[0],bw,bz[bw])}}b._data(this[0],\"parsedAttrs\",true)}}return bz}else{if(typeof by===\"object\"){return this.each(function(){b.data(this,by)})}}bB=by.split(\".\");bB[1]=bB[1]?\".\"+bB[1]:\"\";if(bA===L){bz=this.triggerHandler(\"getData\"+bB[1]+\"!\",[bB[0]]);if(bz===L&&this.length){bz=b.data(this[0],by);bz=a5(this[0],by,bz)}return bz===L&&bB[1]?this.data(bB[0]):bz}else{return this.each(function(){var bC=b(this),bD=[bB[0],bA];bC.triggerHandler(\"setData\"+bB[1]+\"!\",bD);b.data(this,by,bA);bC.triggerHandler(\"changeData\"+bB[1]+\"!\",bD)})}},removeData:function(e){return this.each(function(){b.removeData(this,e)})}});function a5(bx,bw,by){if(by===L&&bx.nodeType===1){var bv=\"data-\"+bw.replace(aA,\"-$1\").toLowerCase();by=bx.getAttribute(bv);if(typeof by===\"string\"){try{by=by===\"true\"?true:by===\"false\"?false:by===\"null\"?null:b.isNumeric(by)?parseFloat(by):aS.test(by)?b.parseJSON(by):by}catch(bz){}b.data(bx,bw,by)}else{by=L}}return by}function S(bv){for(var e in bv){if(e===\"data\"&&b.isEmptyObject(bv[e])){continue}if(e!==\"toJSON\"){return false}}return true}function bi(by,bx,bA){var bw=bx+\"defer\",bv=bx+\"queue\",e=bx+\"mark\",bz=b._data(by,bw);if(bz&&(bA===\"queue\"||!b._data(by,bv))&&(bA===\"mark\"||!b._data(by,e))){setTimeout(function(){if(!b._data(by,bv)&&!b._data(by,e)){b.removeData(by,bw,true);bz.fire()}},0)}}b.extend({_mark:function(bv,e){if(bv){e=(e||\"fx\")+\"mark\";b._data(bv,e,(b._data(bv,e)||0)+1)}},_unmark:function(by,bx,bv){if(by!==true){bv=bx;bx=by;by=false}if(bx){bv=bv||\"fx\";var e=bv+\"mark\",bw=by?0:((b._data(bx,e)||1)-1);if(bw){b._data(bx,e,bw)}else{b.removeData(bx,e,true);bi(bx,bv,\"mark\")}}},queue:function(bv,e,bx){var bw;if(bv){e=(e||\"fx\")+\"queue\";bw=b._data(bv,e);if(bx){if(!bw||b.isArray(bx)){bw=b._data(bv,e,b.makeArray(bx))}else{bw.push(bx)}}return bw||[]}},dequeue:function(by,bx){bx=bx||\"fx\";var bv=b.queue(by,bx),bw=bv.shift(),e={};if(bw===\"inprogress\"){bw=bv.shift()}if(bw){if(bx===\"fx\"){bv.unshift(\"inprogress\")}b._data(by,bx+\".run\",e);bw.call(by,function(){b.dequeue(by,bx)},e)}if(!bv.length){b.removeData(by,bx+\"queue \"+bx+\".run\",true);bi(by,bx,\"queue\")}}});b.fn.extend({queue:function(e,bv){if(typeof e!==\"string\"){bv=e;e=\"fx\"}if(bv===L){return b.queue(this[0],e)}return this.each(function(){var bw=b.queue(this,e,bv);if(e===\"fx\"&&bw[0]!==\"inprogress\"){b.dequeue(this,e)}})},dequeue:function(e){return this.each(function(){b.dequeue(this,e)})},delay:function(bv,e){bv=b.fx?b.fx.speeds[bv]||bv:bv;e=e||\"fx\";return this.queue(e,function(bx,bw){var by=setTimeout(bx,bv);bw.stop=function(){clearTimeout(by)}})},clearQueue:function(e){return this.queue(e||\"fx\",[])},promise:function(bD,bw){if(typeof bD!==\"string\"){bw=bD;bD=L}bD=bD||\"fx\";var e=b.Deferred(),bv=this,by=bv.length,bB=1,bz=bD+\"defer\",bA=bD+\"queue\",bC=bD+\"mark\",bx;function bE(){if(!(--bB)){e.resolveWith(bv,[bv])}}while(by--){if((bx=b.data(bv[by],bz,L,true)||(b.data(bv[by],bA,L,true)||b.data(bv[by],bC,L,true))&&b.data(bv[by],bz,b.Callbacks(\"once memory\"),true))){bB++;bx.add(bE)}}bE();return e.promise()}});var aP=/[\\n\\t\\r]/g,af=/\\s+/,aU=/\\r/g,g=/^(?:button|input)$/i,D=/^(?:button|input|object|select|textarea)$/i,l=/^a(?:rea)?$/i,ao=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,F=b.support.getSetAttribute,be,aY,aF;b.fn.extend({attr:function(e,bv){return b.access(this,e,bv,true,b.attr)},removeAttr:function(e){return this.each(function(){b.removeAttr(this,e)})},prop:function(e,bv){return b.access(this,e,bv,true,b.prop)},removeProp:function(e){e=b.propFix[e]||e;return this.each(function(){try{this[e]=L;delete this[e]}catch(bv){}})},addClass:function(by){var bA,bw,bv,bx,bz,bB,e;if(b.isFunction(by)){return this.each(function(bC){b(this).addClass(by.call(this,bC,this.className))})}if(by&&typeof by===\"string\"){bA=by.split(af);for(bw=0,bv=this.length;bw<bv;bw++){bx=this[bw];if(bx.nodeType===1){if(!bx.className&&bA.length===1){bx.className=by}else{bz=\" \"+bx.className+\" \";for(bB=0,e=bA.length;bB<e;bB++){if(!~bz.indexOf(\" \"+bA[bB]+\" \")){bz+=bA[bB]+\" \"}}bx.className=b.trim(bz)}}}}return this},removeClass:function(bz){var bA,bw,bv,by,bx,bB,e;if(b.isFunction(bz)){return this.each(function(bC){b(this).removeClass(bz.call(this,bC,this.className))})}if((bz&&typeof bz===\"string\")||bz===L){bA=(bz||\"\").split(af);for(bw=0,bv=this.length;bw<bv;bw++){by=this[bw];if(by.nodeType===1&&by.className){if(bz){bx=(\" \"+by.className+\" \").replace(aP,\" \");for(bB=0,e=bA.length;bB<e;bB++){bx=bx.replace(\" \"+bA[bB]+\" \",\" \")}by.className=b.trim(bx)}else{by.className=\"\"}}}}return this},toggleClass:function(bx,bv){var bw=typeof bx,e=typeof bv===\"boolean\";if(b.isFunction(bx)){return this.each(function(by){b(this).toggleClass(bx.call(this,by,this.className,bv),bv)})}return this.each(function(){if(bw===\"string\"){var bA,bz=0,by=b(this),bB=bv,bC=bx.split(af);while((bA=bC[bz++])){bB=e?bB:!by.hasClass(bA);by[bB?\"addClass\":\"removeClass\"](bA)}}else{if(bw===\"undefined\"||bw===\"boolean\"){if(this.className){b._data(this,\"__className__\",this.className)}this.className=this.className||bx===false?\"\":b._data(this,\"__className__\")||\"\"}}})},hasClass:function(e){var bx=\" \"+e+\" \",bw=0,bv=this.length;for(;bw<bv;bw++){if(this[bw].nodeType===1&&(\" \"+this[bw].className+\" \").replace(aP,\" \").indexOf(bx)>-1){return true}}return false},val:function(bx){var e,bv,by,bw=this[0];if(!arguments.length){if(bw){e=b.valHooks[bw.nodeName.toLowerCase()]||b.valHooks[bw.type];if(e&&\"get\" in e&&(bv=e.get(bw,\"value\"))!==L){return bv}bv=bw.value;return typeof bv===\"string\"?bv.replace(aU,\"\"):bv==null?\"\":bv}return}by=b.isFunction(bx);return this.each(function(bA){var bz=b(this),bB;if(this.nodeType!==1){return}if(by){bB=bx.call(this,bA,bz.val())}else{bB=bx}if(bB==null){bB=\"\"}else{if(typeof bB===\"number\"){bB+=\"\"}else{if(b.isArray(bB)){bB=b.map(bB,function(bC){return bC==null?\"\":bC+\"\"})}}}e=b.valHooks[this.nodeName.toLowerCase()]||b.valHooks[this.type];if(!e||!(\"set\" in e)||e.set(this,bB,\"value\")===L){this.value=bB}})}});b.extend({valHooks:{option:{get:function(e){var bv=e.attributes.value;return !bv||bv.specified?e.value:e.text}},select:{get:function(e){var bA,bv,bz,bx,by=e.selectedIndex,bB=[],bC=e.options,bw=e.type===\"select-one\";if(by<0){return null}bv=bw?by:0;bz=bw?by+1:bC.length;for(;bv<bz;bv++){bx=bC[bv];if(bx.selected&&(b.support.optDisabled?!bx.disabled:bx.getAttribute(\"disabled\")===null)&&(!bx.parentNode.disabled||!b.nodeName(bx.parentNode,\"optgroup\"))){bA=b(bx).val();if(bw){return bA}bB.push(bA)}}if(bw&&!bB.length&&bC.length){return b(bC[by]).val()}return bB},set:function(bv,bw){var e=b.makeArray(bw);b(bv).find(\"option\").each(function(){this.selected=b.inArray(b(this).val(),e)>=0});if(!e.length){bv.selectedIndex=-1}return e}}},attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(bA,bx,bB,bz){var bw,e,by,bv=bA.nodeType;if(!bA||bv===3||bv===8||bv===2){return}if(bz&&bx in b.attrFn){return b(bA)[bx](bB)}if(typeof bA.getAttribute===\"undefined\"){return b.prop(bA,bx,bB)}by=bv!==1||!b.isXMLDoc(bA);if(by){bx=bx.toLowerCase();e=b.attrHooks[bx]||(ao.test(bx)?aY:be)}if(bB!==L){if(bB===null){b.removeAttr(bA,bx);return}else{if(e&&\"set\" in e&&by&&(bw=e.set(bA,bB,bx))!==L){return bw}else{bA.setAttribute(bx,\"\"+bB);return bB}}}else{if(e&&\"get\" in e&&by&&(bw=e.get(bA,bx))!==null){return bw}else{bw=bA.getAttribute(bx);return bw===null?L:bw}}},removeAttr:function(bx,bz){var by,bA,bv,e,bw=0;if(bz&&bx.nodeType===1){bA=bz.toLowerCase().split(af);e=bA.length;for(;bw<e;bw++){bv=bA[bw];if(bv){by=b.propFix[bv]||bv;b.attr(bx,bv,\"\");bx.removeAttribute(F?bv:by);if(ao.test(bv)&&by in bx){bx[by]=false}}}}},attrHooks:{type:{set:function(e,bv){if(g.test(e.nodeName)&&e.parentNode){b.error(\"type property can't be changed\")}else{if(!b.support.radioValue&&bv===\"radio\"&&b.nodeName(e,\"input\")){var bw=e.value;e.setAttribute(\"type\",bv);if(bw){e.value=bw}return bv}}}},value:{get:function(bv,e){if(be&&b.nodeName(bv,\"button\")){return be.get(bv,e)}return e in bv?bv.value:null},set:function(bv,bw,e){if(be&&b.nodeName(bv,\"button\")){return be.set(bv,bw,e)}bv.value=bw}}},propFix:{tabindex:\"tabIndex\",readonly:\"readOnly\",\"for\":\"htmlFor\",\"class\":\"className\",maxlength:\"maxLength\",cellspacing:\"cellSpacing\",cellpadding:\"cellPadding\",rowspan:\"rowSpan\",colspan:\"colSpan\",usemap:\"useMap\",frameborder:\"frameBorder\",contenteditable:\"contentEditable\"},prop:function(bz,bx,bA){var bw,e,by,bv=bz.nodeType;if(!bz||bv===3||bv===8||bv===2){return}by=bv!==1||!b.isXMLDoc(bz);if(by){bx=b.propFix[bx]||bx;e=b.propHooks[bx]}if(bA!==L){if(e&&\"set\" in e&&(bw=e.set(bz,bA,bx))!==L){return bw}else{return(bz[bx]=bA)}}else{if(e&&\"get\" in e&&(bw=e.get(bz,bx))!==null){return bw}else{return bz[bx]}}},propHooks:{tabIndex:{get:function(bv){var e=bv.getAttributeNode(\"tabindex\");return e&&e.specified?parseInt(e.value,10):D.test(bv.nodeName)||l.test(bv.nodeName)&&bv.href?0:L}}}});b.attrHooks.tabindex=b.propHooks.tabIndex;aY={get:function(bv,e){var bx,bw=b.prop(bv,e);return bw===true||typeof bw!==\"boolean\"&&(bx=bv.getAttributeNode(e))&&bx.nodeValue!==false?e.toLowerCase():L},set:function(bv,bx,e){var bw;if(bx===false){b.removeAttr(bv,e)}else{bw=b.propFix[e]||e;if(bw in bv){bv[bw]=true}bv.setAttribute(e,e.toLowerCase())}return e}};if(!F){aF={name:true,id:true};be=b.valHooks.button={get:function(bw,bv){var e;e=bw.getAttributeNode(bv);return e&&(aF[bv]?e.nodeValue!==\"\":e.specified)?e.nodeValue:L},set:function(bw,bx,bv){var e=bw.getAttributeNode(bv);if(!e){e=av.createAttribute(bv);bw.setAttributeNode(e)}return(e.nodeValue=bx+\"\")}};b.attrHooks.tabindex.set=be.set;b.each([\"width\",\"height\"],function(bv,e){b.attrHooks[e]=b.extend(b.attrHooks[e],{set:function(bw,bx){if(bx===\"\"){bw.setAttribute(e,\"auto\");return bx}}})});b.attrHooks.contenteditable={get:be.get,set:function(bv,bw,e){if(bw===\"\"){bw=\"false\"}be.set(bv,bw,e)}}}if(!b.support.hrefNormalized){b.each([\"href\",\"src\",\"width\",\"height\"],function(bv,e){b.attrHooks[e]=b.extend(b.attrHooks[e],{get:function(bx){var bw=bx.getAttribute(e,2);return bw===null?L:bw}})})}if(!b.support.style){b.attrHooks.style={get:function(e){return e.style.cssText.toLowerCase()||L},set:function(e,bv){return(e.style.cssText=\"\"+bv)}}}if(!b.support.optSelected){b.propHooks.selected=b.extend(b.propHooks.selected,{get:function(bv){var e=bv.parentNode;if(e){e.selectedIndex;if(e.parentNode){e.parentNode.selectedIndex}}return null}})}if(!b.support.enctype){b.propFix.enctype=\"encoding\"}if(!b.support.checkOn){b.each([\"radio\",\"checkbox\"],function(){b.valHooks[this]={get:function(e){return e.getAttribute(\"value\")===null?\"on\":e.value}}})}b.each([\"radio\",\"checkbox\"],function(){b.valHooks[this]=b.extend(b.valHooks[this],{set:function(e,bv){if(b.isArray(bv)){return(e.checked=b.inArray(b(e).val(),bv)>=0)}}})});var bd=/^(?:textarea|input|select)$/i,n=/^([^\\.]*)?(?:\\.(.+))?$/,J=/\\bhover(\\.\\S+)?\\b/,aO=/^key/,bf=/^(?:mouse|contextmenu)|click/,T=/^(?:focusinfocus|focusoutblur)$/,U=/^(\\w*)(?:#([\\w\\-]+))?(?:\\.([\\w\\-]+))?$/,Y=function(e){var bv=U.exec(e);if(bv){bv[1]=(bv[1]||\"\").toLowerCase();bv[3]=bv[3]&&new RegExp(\"(?:^|\\\\s)\"+bv[3]+\"(?:\\\\s|$)\")}return bv},j=function(bw,e){var bv=bw.attributes||{};return((!e[1]||bw.nodeName.toLowerCase()===e[1])&&(!e[2]||(bv.id||{}).value===e[2])&&(!e[3]||e[3].test((bv[\"class\"]||{}).value)))},bt=function(e){return b.event.special.hover?e:e.replace(J,\"mouseenter$1 mouseleave$1\")};b.event={add:function(bx,bC,bJ,bA,by){var bD,bB,bK,bI,bH,bF,e,bG,bv,bz,bw,bE;if(bx.nodeType===3||bx.nodeType===8||!bC||!bJ||!(bD=b._data(bx))){return}if(bJ.handler){bv=bJ;bJ=bv.handler}if(!bJ.guid){bJ.guid=b.guid++}bK=bD.events;if(!bK){bD.events=bK={}}bB=bD.handle;if(!bB){bD.handle=bB=function(bL){return typeof b!==\"undefined\"&&(!bL||b.event.triggered!==bL.type)?b.event.dispatch.apply(bB.elem,arguments):L};bB.elem=bx}bC=b.trim(bt(bC)).split(\" \");for(bI=0;bI<bC.length;bI++){bH=n.exec(bC[bI])||[];bF=bH[1];e=(bH[2]||\"\").split(\".\").sort();bE=b.event.special[bF]||{};bF=(by?bE.delegateType:bE.bindType)||bF;bE=b.event.special[bF]||{};bG=b.extend({type:bF,origType:bH[1],data:bA,handler:bJ,guid:bJ.guid,selector:by,quick:Y(by),namespace:e.join(\".\")},bv);bw=bK[bF];if(!bw){bw=bK[bF]=[];bw.delegateCount=0;if(!bE.setup||bE.setup.call(bx,bA,e,bB)===false){if(bx.addEventListener){bx.addEventListener(bF,bB,false)}else{if(bx.attachEvent){bx.attachEvent(\"on\"+bF,bB)}}}}if(bE.add){bE.add.call(bx,bG);if(!bG.handler.guid){bG.handler.guid=bJ.guid}}if(by){bw.splice(bw.delegateCount++,0,bG)}else{bw.push(bG)}b.event.global[bF]=true}bx=null},global:{},remove:function(bJ,bE,bv,bH,bB){var bI=b.hasData(bJ)&&b._data(bJ),bF,bx,bz,bL,bC,bA,bG,bw,by,bK,bD,e;if(!bI||!(bw=bI.events)){return}bE=b.trim(bt(bE||\"\")).split(\" \");for(bF=0;bF<bE.length;bF++){bx=n.exec(bE[bF])||[];bz=bL=bx[1];bC=bx[2];if(!bz){for(bz in bw){b.event.remove(bJ,bz+bE[bF],bv,bH,true)}continue}by=b.event.special[bz]||{};bz=(bH?by.delegateType:by.bindType)||bz;bD=bw[bz]||[];bA=bD.length;bC=bC?new RegExp(\"(^|\\\\.)\"+bC.split(\".\").sort().join(\"\\\\.(?:.*\\\\.)?\")+\"(\\\\.|$)\"):null;for(bG=0;bG<bD.length;bG++){e=bD[bG];if((bB||bL===e.origType)&&(!bv||bv.guid===e.guid)&&(!bC||bC.test(e.namespace))&&(!bH||bH===e.selector||bH===\"**\"&&e.selector)){bD.splice(bG--,1);if(e.selector){bD.delegateCount--}if(by.remove){by.remove.call(bJ,e)}}}if(bD.length===0&&bA!==bD.length){if(!by.teardown||by.teardown.call(bJ,bC)===false){b.removeEvent(bJ,bz,bI.handle)}delete bw[bz]}}if(b.isEmptyObject(bw)){bK=bI.handle;if(bK){bK.elem=null}b.removeData(bJ,[\"events\",\"handle\"],true)}},customEvent:{getData:true,setData:true,changeData:true},trigger:function(bv,bD,bA,bJ){if(bA&&(bA.nodeType===3||bA.nodeType===8)){return}var bG=bv.type||bv,bx=[],e,bw,bC,bH,bz,by,bF,bE,bB,bI;if(T.test(bG+b.event.triggered)){return}if(bG.indexOf(\"!\")>=0){bG=bG.slice(0,-1);bw=true}if(bG.indexOf(\".\")>=0){bx=bG.split(\".\");bG=bx.shift();bx.sort()}if((!bA||b.event.customEvent[bG])&&!b.event.global[bG]){return}bv=typeof bv===\"object\"?bv[b.expando]?bv:new b.Event(bG,bv):new b.Event(bG);bv.type=bG;bv.isTrigger=true;bv.exclusive=bw;bv.namespace=bx.join(\".\");bv.namespace_re=bv.namespace?new RegExp(\"(^|\\\\.)\"+bx.join(\"\\\\.(?:.*\\\\.)?\")+\"(\\\\.|$)\"):null;by=bG.indexOf(\":\")<0?\"on\"+bG:\"\";if(!bA){e=b.cache;for(bC in e){if(e[bC].events&&e[bC].events[bG]){b.event.trigger(bv,bD,e[bC].handle.elem,true)}}return}bv.result=L;if(!bv.target){bv.target=bA}bD=bD!=null?b.makeArray(bD):[];bD.unshift(bv);bF=b.event.special[bG]||{};if(bF.trigger&&bF.trigger.apply(bA,bD)===false){return}bB=[[bA,bF.bindType||bG]];if(!bJ&&!bF.noBubble&&!b.isWindow(bA)){bI=bF.delegateType||bG;bH=T.test(bI+bG)?bA:bA.parentNode;bz=null;for(;bH;bH=bH.parentNode){bB.push([bH,bI]);bz=bH}if(bz&&bz===bA.ownerDocument){bB.push([bz.defaultView||bz.parentWindow||bb,bI])}}for(bC=0;bC<bB.length&&!bv.isPropagationStopped();bC++){bH=bB[bC][0];bv.type=bB[bC][1];bE=(b._data(bH,\"events\")||{})[bv.type]&&b._data(bH,\"handle\");if(bE){bE.apply(bH,bD)}bE=by&&bH[by];if(bE&&b.acceptData(bH)&&bE.apply(bH,bD)===false){bv.preventDefault()}}bv.type=bG;if(!bJ&&!bv.isDefaultPrevented()){if((!bF._default||bF._default.apply(bA.ownerDocument,bD)===false)&&!(bG===\"click\"&&b.nodeName(bA,\"a\"))&&b.acceptData(bA)){if(by&&bA[bG]&&((bG!==\"focus\"&&bG!==\"blur\")||bv.target.offsetWidth!==0)&&!b.isWindow(bA)){bz=bA[by];if(bz){bA[by]=null}b.event.triggered=bG;bA[bG]();b.event.triggered=L;if(bz){bA[by]=bz}}}}return bv.result},dispatch:function(e){e=b.event.fix(e||bb.event);var bz=((b._data(this,\"events\")||{})[e.type]||[]),bA=bz.delegateCount,bG=[].slice.call(arguments,0),by=!e.exclusive&&!e.namespace,bH=[],bC,bB,bK,bx,bF,bE,bv,bD,bI,bw,bJ;bG[0]=e;e.delegateTarget=this;if(bA&&!e.target.disabled&&!(e.button&&e.type===\"click\")){bx=b(this);bx.context=this.ownerDocument||this;for(bK=e.target;bK!=this;bK=bK.parentNode||this){bE={};bD=[];bx[0]=bK;for(bC=0;bC<bA;bC++){bI=bz[bC];bw=bI.selector;if(bE[bw]===L){bE[bw]=(bI.quick?j(bK,bI.quick):bx.is(bw))}if(bE[bw]){bD.push(bI)}}if(bD.length){bH.push({elem:bK,matches:bD})}}}if(bz.length>bA){bH.push({elem:this,matches:bz.slice(bA)})}for(bC=0;bC<bH.length&&!e.isPropagationStopped();bC++){bv=bH[bC];e.currentTarget=bv.elem;for(bB=0;bB<bv.matches.length&&!e.isImmediatePropagationStopped();bB++){bI=bv.matches[bB];if(by||(!e.namespace&&!bI.namespace)||e.namespace_re&&e.namespace_re.test(bI.namespace)){e.data=bI.data;e.handleObj=bI;bF=((b.event.special[bI.origType]||{}).handle||bI.handler).apply(bv.elem,bG);if(bF!==L){e.result=bF;if(bF===false){e.preventDefault();e.stopPropagation()}}}}}return e.result},props:\"attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which\".split(\" \"),fixHooks:{},keyHooks:{props:\"char charCode key keyCode\".split(\" \"),filter:function(bv,e){if(bv.which==null){bv.which=e.charCode!=null?e.charCode:e.keyCode}return bv}},mouseHooks:{props:\"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement\".split(\" \"),filter:function(bx,bw){var by,bz,e,bv=bw.button,bA=bw.fromElement;if(bx.pageX==null&&bw.clientX!=null){by=bx.target.ownerDocument||av;bz=by.documentElement;e=by.body;bx.pageX=bw.clientX+(bz&&bz.scrollLeft||e&&e.scrollLeft||0)-(bz&&bz.clientLeft||e&&e.clientLeft||0);bx.pageY=bw.clientY+(bz&&bz.scrollTop||e&&e.scrollTop||0)-(bz&&bz.clientTop||e&&e.clientTop||0)}if(!bx.relatedTarget&&bA){bx.relatedTarget=bA===bx.target?bw.toElement:bA}if(!bx.which&&bv!==L){bx.which=(bv&1?1:(bv&2?3:(bv&4?2:0)))}return bx}},fix:function(bw){if(bw[b.expando]){return bw}var bv,bz,e=bw,bx=b.event.fixHooks[bw.type]||{},by=bx.props?this.props.concat(bx.props):this.props;bw=b.Event(e);for(bv=by.length;bv;){bz=by[--bv];bw[bz]=e[bz]}if(!bw.target){bw.target=e.srcElement||av}if(bw.target.nodeType===3){bw.target=bw.target.parentNode}if(bw.metaKey===L){bw.metaKey=bw.ctrlKey}return bx.filter?bx.filter(bw,e):bw},special:{ready:{setup:b.bindReady},load:{noBubble:true},focus:{delegateType:\"focusin\"},blur:{delegateType:\"focusout\"},beforeunload:{setup:function(bw,bv,e){if(b.isWindow(this)){this.onbeforeunload=e}},teardown:function(bv,e){if(this.onbeforeunload===e){this.onbeforeunload=null}}}},simulate:function(bw,by,bx,bv){var bz=b.extend(new b.Event(),bx,{type:bw,isSimulated:true,originalEvent:{}});if(bv){b.event.trigger(bz,null,by)}else{b.event.dispatch.call(by,bz)}if(bz.isDefaultPrevented()){bx.preventDefault()}}};b.event.handle=b.event.dispatch;b.removeEvent=av.removeEventListener?function(bv,e,bw){if(bv.removeEventListener){bv.removeEventListener(e,bw,false)}}:function(bv,e,bw){if(bv.detachEvent){bv.detachEvent(\"on\"+e,bw)}};b.Event=function(bv,e){if(!(this instanceof b.Event)){return new b.Event(bv,e)}if(bv&&bv.type){this.originalEvent=bv;this.type=bv.type;this.isDefaultPrevented=(bv.defaultPrevented||bv.returnValue===false||bv.getPreventDefault&&bv.getPreventDefault())?i:bk}else{this.type=bv}if(e){b.extend(this,e)}this.timeStamp=bv&&bv.timeStamp||b.now();this[b.expando]=true};function bk(){return false}function i(){return true}b.Event.prototype={preventDefault:function(){this.isDefaultPrevented=i;var bv=this.originalEvent;if(!bv){return}if(bv.preventDefault){bv.preventDefault()}else{bv.returnValue=false}},stopPropagation:function(){this.isPropagationStopped=i;var bv=this.originalEvent;if(!bv){return}if(bv.stopPropagation){bv.stopPropagation()}bv.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=i;this.stopPropagation()},isDefaultPrevented:bk,isPropagationStopped:bk,isImmediatePropagationStopped:bk};b.each({mouseenter:\"mouseover\",mouseleave:\"mouseout\"},function(bv,e){b.event.special[bv]={delegateType:e,bindType:e,handle:function(bz){var bB=this,bA=bz.relatedTarget,by=bz.handleObj,bw=by.selector,bx;if(!bA||(bA!==bB&&!b.contains(bB,bA))){bz.type=by.origType;bx=by.handler.apply(this,arguments);bz.type=e}return bx}}});if(!b.support.submitBubbles){b.event.special.submit={setup:function(){if(b.nodeName(this,\"form\")){return false}b.event.add(this,\"click._submit keypress._submit\",function(bx){var bw=bx.target,bv=b.nodeName(bw,\"input\")||b.nodeName(bw,\"button\")?bw.form:L;if(bv&&!bv._submit_attached){b.event.add(bv,\"submit._submit\",function(e){if(this.parentNode&&!e.isTrigger){b.event.simulate(\"submit\",this.parentNode,e,true)}});bv._submit_attached=true}})},teardown:function(){if(b.nodeName(this,\"form\")){return false}b.event.remove(this,\"._submit\")}}}if(!b.support.changeBubbles){b.event.special.change={setup:function(){if(bd.test(this.nodeName)){if(this.type===\"checkbox\"||this.type===\"radio\"){b.event.add(this,\"propertychange._change\",function(e){if(e.originalEvent.propertyName===\"checked\"){this._just_changed=true}});b.event.add(this,\"click._change\",function(e){if(this._just_changed&&!e.isTrigger){this._just_changed=false;b.event.simulate(\"change\",this,e,true)}})}return false}b.event.add(this,\"beforeactivate._change\",function(bw){var bv=bw.target;if(bd.test(bv.nodeName)&&!bv._change_attached){b.event.add(bv,\"change._change\",function(e){if(this.parentNode&&!e.isSimulated&&!e.isTrigger){b.event.simulate(\"change\",this.parentNode,e,true)}});bv._change_attached=true}})},handle:function(bv){var e=bv.target;if(this!==e||bv.isSimulated||bv.isTrigger||(e.type!==\"radio\"&&e.type!==\"checkbox\")){return bv.handleObj.handler.apply(this,arguments)}},teardown:function(){b.event.remove(this,\"._change\");return bd.test(this.nodeName)}}}if(!b.support.focusinBubbles){b.each({focus:\"focusin\",blur:\"focusout\"},function(bx,e){var bv=0,bw=function(by){b.event.simulate(e,by.target,b.event.fix(by),true)};b.event.special[e]={setup:function(){if(bv++===0){av.addEventListener(bx,bw,true)}},teardown:function(){if(--bv===0){av.removeEventListener(bx,bw,true)}}}})}b.fn.extend({on:function(bw,e,bz,by,bv){var bA,bx;if(typeof bw===\"object\"){if(typeof e!==\"string\"){bz=e;e=L}for(bx in bw){this.on(bx,e,bz,bw[bx],bv)}return this}if(bz==null&&by==null){by=e;bz=e=L}else{if(by==null){if(typeof e===\"string\"){by=bz;bz=L}else{by=bz;bz=e;e=L}}}if(by===false){by=bk}else{if(!by){return this}}if(bv===1){bA=by;by=function(bB){b().off(bB);return bA.apply(this,arguments)};by.guid=bA.guid||(bA.guid=b.guid++)}return this.each(function(){b.event.add(this,bw,by,bz,e)})},one:function(bv,e,bx,bw){return this.on.call(this,bv,e,bx,bw,1)},off:function(bw,e,by){if(bw&&bw.preventDefault&&bw.handleObj){var bv=bw.handleObj;b(bw.delegateTarget).off(bv.namespace?bv.type+\".\"+bv.namespace:bv.type,bv.selector,bv.handler);return this}if(typeof bw===\"object\"){for(var bx in bw){this.off(bx,e,bw[bx])}return this}if(e===false||typeof e===\"function\"){by=e;e=L}if(by===false){by=bk}return this.each(function(){b.event.remove(this,bw,by,e)})},bind:function(e,bw,bv){return this.on(e,null,bw,bv)},unbind:function(e,bv){return this.off(e,null,bv)},live:function(e,bw,bv){b(this.context).on(e,this.selector,bw,bv);return this},die:function(e,bv){b(this.context).off(e,this.selector||\"**\",bv);return this},delegate:function(e,bv,bx,bw){return this.on(bv,e,bx,bw)},undelegate:function(e,bv,bw){return arguments.length==1?this.off(e,\"**\"):this.off(bv,e,bw)},trigger:function(e,bv){return this.each(function(){b.event.trigger(e,bv,this)})},triggerHandler:function(e,bv){if(this[0]){return b.event.trigger(e,bv,this[0],true)}},toggle:function(bx){var bv=arguments,e=bx.guid||b.guid++,bw=0,by=function(bz){var bA=(b._data(this,\"lastToggle\"+bx.guid)||0)%bw;b._data(this,\"lastToggle\"+bx.guid,bA+1);bz.preventDefault();return bv[bA].apply(this,arguments)||false};by.guid=e;while(bw<bv.length){bv[bw++].guid=e}return this.click(by)},hover:function(e,bv){return this.mouseenter(e).mouseleave(bv||e)}});b.each((\"blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu\").split(\" \"),function(bv,e){b.fn[e]=function(bx,bw){if(bw==null){bw=bx;bx=null}return arguments.length>0?this.on(e,null,bx,bw):this.trigger(e)};if(b.attrFn){b.attrFn[e]=true}if(aO.test(e)){b.event.fixHooks[e]=b.event.keyHooks}if(bf.test(e)){b.event.fixHooks[e]=b.event.mouseHooks}});\n/*!\n * Sizzle CSS Selector Engine\n *  Copyright 2011, The Dojo Foundation\n *  Released under the MIT, BSD, and GPL Licenses.\n *  More information: http://sizzlejs.com/\n */\n(function(){var bH=/((?:\\((?:\\([^()]+\\)|[^()]+)+\\)|\\[(?:\\[[^\\[\\]]*\\]|['\"][^'\"]*['\"]|[^\\[\\]'\"]+)+\\]|\\\\.|[^ >+~,(\\[\\\\]+)+|[>+~])(\\s*,\\s*)?((?:.|\\r|\\n)*)/g,bC=\"sizcache\"+(Math.random()+\"\").replace(\".\",\"\"),bI=0,bL=Object.prototype.toString,bB=false,bA=true,bK=/\\\\/g,bO=/\\r\\n/g,bQ=/\\W/;[0,0].sort(function(){bA=false;return 0});var by=function(bV,e,bY,bZ){bY=bY||[];e=e||av;var b1=e;if(e.nodeType!==1&&e.nodeType!==9){return[]}if(!bV||typeof bV!==\"string\"){return bY}var bS,b3,b6,bR,b2,b5,b4,bX,bU=true,bT=by.isXML(e),bW=[],b0=bV;do{bH.exec(\"\");bS=bH.exec(b0);if(bS){b0=bS[3];bW.push(bS[1]);if(bS[2]){bR=bS[3];break}}}while(bS);if(bW.length>1&&bD.exec(bV)){if(bW.length===2&&bE.relative[bW[0]]){b3=bM(bW[0]+bW[1],e,bZ)}else{b3=bE.relative[bW[0]]?[e]:by(bW.shift(),e);while(bW.length){bV=bW.shift();if(bE.relative[bV]){bV+=bW.shift()}b3=bM(bV,b3,bZ)}}}else{if(!bZ&&bW.length>1&&e.nodeType===9&&!bT&&bE.match.ID.test(bW[0])&&!bE.match.ID.test(bW[bW.length-1])){b2=by.find(bW.shift(),e,bT);e=b2.expr?by.filter(b2.expr,b2.set)[0]:b2.set[0]}if(e){b2=bZ?{expr:bW.pop(),set:bF(bZ)}:by.find(bW.pop(),bW.length===1&&(bW[0]===\"~\"||bW[0]===\"+\")&&e.parentNode?e.parentNode:e,bT);b3=b2.expr?by.filter(b2.expr,b2.set):b2.set;if(bW.length>0){b6=bF(b3)}else{bU=false}while(bW.length){b5=bW.pop();b4=b5;if(!bE.relative[b5]){b5=\"\"}else{b4=bW.pop()}if(b4==null){b4=e}bE.relative[b5](b6,b4,bT)}}else{b6=bW=[]}}if(!b6){b6=b3}if(!b6){by.error(b5||bV)}if(bL.call(b6)===\"[object Array]\"){if(!bU){bY.push.apply(bY,b6)}else{if(e&&e.nodeType===1){for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&(b6[bX]===true||b6[bX].nodeType===1&&by.contains(e,b6[bX]))){bY.push(b3[bX])}}}else{for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&b6[bX].nodeType===1){bY.push(b3[bX])}}}}}else{bF(b6,bY)}if(bR){by(bR,b1,bY,bZ);by.uniqueSort(bY)}return bY};by.uniqueSort=function(bR){if(bJ){bB=bA;bR.sort(bJ);if(bB){for(var e=1;e<bR.length;e++){if(bR[e]===bR[e-1]){bR.splice(e--,1)}}}}return bR};by.matches=function(e,bR){return by(e,null,null,bR)};by.matchesSelector=function(e,bR){return by(bR,null,null,[e]).length>0};by.find=function(bX,e,bY){var bW,bS,bU,bT,bV,bR;if(!bX){return[]}for(bS=0,bU=bE.order.length;bS<bU;bS++){bV=bE.order[bS];if((bT=bE.leftMatch[bV].exec(bX))){bR=bT[1];bT.splice(1,1);if(bR.substr(bR.length-1)!==\"\\\\\"){bT[1]=(bT[1]||\"\").replace(bK,\"\");bW=bE.find[bV](bT,e,bY);if(bW!=null){bX=bX.replace(bE.match[bV],\"\");break}}}}if(!bW){bW=typeof e.getElementsByTagName!==\"undefined\"?e.getElementsByTagName(\"*\"):[]}return{set:bW,expr:bX}};by.filter=function(b1,b0,b4,bU){var bW,e,bZ,b6,b3,bR,bT,bV,b2,bS=b1,b5=[],bY=b0,bX=b0&&b0[0]&&by.isXML(b0[0]);while(b1&&b0.length){for(bZ in bE.filter){if((bW=bE.leftMatch[bZ].exec(b1))!=null&&bW[2]){bR=bE.filter[bZ];bT=bW[1];e=false;bW.splice(1,1);if(bT.substr(bT.length-1)===\"\\\\\"){continue}if(bY===b5){b5=[]}if(bE.preFilter[bZ]){bW=bE.preFilter[bZ](bW,bY,b4,b5,bU,bX);if(!bW){e=b6=true}else{if(bW===true){continue}}}if(bW){for(bV=0;(b3=bY[bV])!=null;bV++){if(b3){b6=bR(b3,bW,bV,bY);b2=bU^b6;if(b4&&b6!=null){if(b2){e=true}else{bY[bV]=false}}else{if(b2){b5.push(b3);e=true}}}}}if(b6!==L){if(!b4){bY=b5}b1=b1.replace(bE.match[bZ],\"\");if(!e){return[]}break}}}if(b1===bS){if(e==null){by.error(b1)}else{break}}bS=b1}return bY};by.error=function(e){throw new Error(\"Syntax error, unrecognized expression: \"+e)};var bw=by.getText=function(bU){var bS,bT,e=bU.nodeType,bR=\"\";if(e){if(e===1||e===9){if(typeof bU.textContent===\"string\"){return bU.textContent}else{if(typeof bU.innerText===\"string\"){return bU.innerText.replace(bO,\"\")}else{for(bU=bU.firstChild;bU;bU=bU.nextSibling){bR+=bw(bU)}}}}else{if(e===3||e===4){return bU.nodeValue}}}else{for(bS=0;(bT=bU[bS]);bS++){if(bT.nodeType!==8){bR+=bw(bT)}}}return bR};var bE=by.selectors={order:[\"ID\",\"NAME\",\"TAG\"],match:{ID:/#((?:[\\w\\u00c0-\\uFFFF\\-]|\\\\.)+)/,CLASS:/\\.((?:[\\w\\u00c0-\\uFFFF\\-]|\\\\.)+)/,NAME:/\\[name=['\"]*((?:[\\w\\u00c0-\\uFFFF\\-]|\\\\.)+)['\"]*\\]/,ATTR:/\\[\\s*((?:[\\w\\u00c0-\\uFFFF\\-]|\\\\.)+)\\s*(?:(\\S?=)\\s*(?:(['\"])(.*?)\\3|(#?(?:[\\w\\u00c0-\\uFFFF\\-]|\\\\.)*)|)|)\\s*\\]/,TAG:/^((?:[\\w\\u00c0-\\uFFFF\\*\\-]|\\\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\\(\\s*(even|odd|(?:[+\\-]?\\d+|(?:[+\\-]?\\d*)?n\\s*(?:[+\\-]\\s*\\d+)?))\\s*\\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\\((\\d*)\\))?(?=[^\\-]|$)/,PSEUDO:/:((?:[\\w\\u00c0-\\uFFFF\\-]|\\\\.)+)(?:\\((['\"]?)((?:\\([^\\)]+\\)|[^\\(\\)]*)+)\\2\\))?/},leftMatch:{},attrMap:{\"class\":\"className\",\"for\":\"htmlFor\"},attrHandle:{href:function(e){return e.getAttribute(\"href\")},type:function(e){return e.getAttribute(\"type\")}},relative:{\"+\":function(bW,bR){var bT=typeof bR===\"string\",bV=bT&&!bQ.test(bR),bX=bT&&!bV;if(bV){bR=bR.toLowerCase()}for(var bS=0,e=bW.length,bU;bS<e;bS++){if((bU=bW[bS])){while((bU=bU.previousSibling)&&bU.nodeType!==1){}bW[bS]=bX||bU&&bU.nodeName.toLowerCase()===bR?bU||false:bU===bR}}if(bX){by.filter(bR,bW,true)}},\">\":function(bW,bR){var bV,bU=typeof bR===\"string\",bS=0,e=bW.length;if(bU&&!bQ.test(bR)){bR=bR.toLowerCase();for(;bS<e;bS++){bV=bW[bS];if(bV){var bT=bV.parentNode;bW[bS]=bT.nodeName.toLowerCase()===bR?bT:false}}}else{for(;bS<e;bS++){bV=bW[bS];if(bV){bW[bS]=bU?bV.parentNode:bV.parentNode===bR}}if(bU){by.filter(bR,bW,true)}}},\"\":function(bT,bR,bV){var bU,bS=bI++,e=bN;if(typeof bR===\"string\"&&!bQ.test(bR)){bR=bR.toLowerCase();bU=bR;e=bv}e(\"parentNode\",bR,bS,bT,bU,bV)},\"~\":function(bT,bR,bV){var bU,bS=bI++,e=bN;if(typeof bR===\"string\"&&!bQ.test(bR)){bR=bR.toLowerCase();bU=bR;e=bv}e(\"previousSibling\",bR,bS,bT,bU,bV)}},find:{ID:function(bR,bS,bT){if(typeof bS.getElementById!==\"undefined\"&&!bT){var e=bS.getElementById(bR[1]);return e&&e.parentNode?[e]:[]}},NAME:function(bS,bV){if(typeof bV.getElementsByName!==\"undefined\"){var bR=[],bU=bV.getElementsByName(bS[1]);for(var bT=0,e=bU.length;bT<e;bT++){if(bU[bT].getAttribute(\"name\")===bS[1]){bR.push(bU[bT])}}return bR.length===0?null:bR}},TAG:function(e,bR){if(typeof bR.getElementsByTagName!==\"undefined\"){return bR.getElementsByTagName(e[1])}}},preFilter:{CLASS:function(bT,bR,bS,e,bW,bX){bT=\" \"+bT[1].replace(bK,\"\")+\" \";if(bX){return bT}for(var bU=0,bV;(bV=bR[bU])!=null;bU++){if(bV){if(bW^(bV.className&&(\" \"+bV.className+\" \").replace(/[\\t\\n\\r]/g,\" \").indexOf(bT)>=0)){if(!bS){e.push(bV)}}else{if(bS){bR[bU]=false}}}}return false},ID:function(e){return e[1].replace(bK,\"\")},TAG:function(bR,e){return bR[1].replace(bK,\"\").toLowerCase()},CHILD:function(e){if(e[1]===\"nth\"){if(!e[2]){by.error(e[0])}e[2]=e[2].replace(/^\\+|\\s*/g,\"\");var bR=/(-?)(\\d*)(?:n([+\\-]?\\d*))?/.exec(e[2]===\"even\"&&\"2n\"||e[2]===\"odd\"&&\"2n+1\"||!/\\D/.test(e[2])&&\"0n+\"+e[2]||e[2]);e[2]=(bR[1]+(bR[2]||1))-0;e[3]=bR[3]-0}else{if(e[2]){by.error(e[0])}}e[0]=bI++;return e},ATTR:function(bU,bR,bS,e,bV,bW){var bT=bU[1]=bU[1].replace(bK,\"\");if(!bW&&bE.attrMap[bT]){bU[1]=bE.attrMap[bT]}bU[4]=(bU[4]||bU[5]||\"\").replace(bK,\"\");if(bU[2]===\"~=\"){bU[4]=\" \"+bU[4]+\" \"}return bU},PSEUDO:function(bU,bR,bS,e,bV){if(bU[1]===\"not\"){if((bH.exec(bU[3])||\"\").length>1||/^\\w/.test(bU[3])){bU[3]=by(bU[3],null,null,bR)}else{var bT=by.filter(bU[3],bR,bS,true^bV);if(!bS){e.push.apply(e,bT)}return false}}else{if(bE.match.POS.test(bU[0])||bE.match.CHILD.test(bU[0])){return true}}return bU},POS:function(e){e.unshift(true);return e}},filters:{enabled:function(e){return e.disabled===false&&e.type!==\"hidden\"},disabled:function(e){return e.disabled===true},checked:function(e){return e.checked===true},selected:function(e){if(e.parentNode){e.parentNode.selectedIndex}return e.selected===true},parent:function(e){return !!e.firstChild},empty:function(e){return !e.firstChild},has:function(bS,bR,e){return !!by(e[3],bS).length},header:function(e){return(/h\\d/i).test(e.nodeName)},text:function(bS){var e=bS.getAttribute(\"type\"),bR=bS.type;return bS.nodeName.toLowerCase()===\"input\"&&\"text\"===bR&&(e===bR||e===null)},radio:function(e){return e.nodeName.toLowerCase()===\"input\"&&\"radio\"===e.type},checkbox:function(e){return e.nodeName.toLowerCase()===\"input\"&&\"checkbox\"===e.type},file:function(e){return e.nodeName.toLowerCase()===\"input\"&&\"file\"===e.type},password:function(e){return e.nodeName.toLowerCase()===\"input\"&&\"password\"===e.type},submit:function(bR){var e=bR.nodeName.toLowerCase();return(e===\"input\"||e===\"button\")&&\"submit\"===bR.type},image:function(e){return e.nodeName.toLowerCase()===\"input\"&&\"image\"===e.type},reset:function(bR){var e=bR.nodeName.toLowerCase();return(e===\"input\"||e===\"button\")&&\"reset\"===bR.type},button:function(bR){var e=bR.nodeName.toLowerCase();return e===\"input\"&&\"button\"===bR.type||e===\"button\"},input:function(e){return(/input|select|textarea|button/i).test(e.nodeName)},focus:function(e){return e===e.ownerDocument.activeElement}},setFilters:{first:function(bR,e){return e===0},last:function(bS,bR,e,bT){return bR===bT.length-1},even:function(bR,e){return e%2===0},odd:function(bR,e){return e%2===1},lt:function(bS,bR,e){return bR<e[3]-0},gt:function(bS,bR,e){return bR>e[3]-0},nth:function(bS,bR,e){return e[3]-0===bR},eq:function(bS,bR,e){return e[3]-0===bR}},filter:{PSEUDO:function(bS,bX,bW,bY){var e=bX[1],bR=bE.filters[e];if(bR){return bR(bS,bW,bX,bY)}else{if(e===\"contains\"){return(bS.textContent||bS.innerText||bw([bS])||\"\").indexOf(bX[3])>=0}else{if(e===\"not\"){var bT=bX[3];for(var bV=0,bU=bT.length;bV<bU;bV++){if(bT[bV]===bS){return false}}return true}else{by.error(e)}}}},CHILD:function(bS,bU){var bT,b0,bW,bZ,e,bV,bY,bX=bU[1],bR=bS;switch(bX){case\"only\":case\"first\":while((bR=bR.previousSibling)){if(bR.nodeType===1){return false}}if(bX===\"first\"){return true}bR=bS;case\"last\":while((bR=bR.nextSibling)){if(bR.nodeType===1){return false}}return true;case\"nth\":bT=bU[2];b0=bU[3];if(bT===1&&b0===0){return true}bW=bU[0];bZ=bS.parentNode;if(bZ&&(bZ[bC]!==bW||!bS.nodeIndex)){bV=0;for(bR=bZ.firstChild;bR;bR=bR.nextSibling){if(bR.nodeType===1){bR.nodeIndex=++bV}}bZ[bC]=bW}bY=bS.nodeIndex-b0;if(bT===0){return bY===0}else{return(bY%bT===0&&bY/bT>=0)}}},ID:function(bR,e){return bR.nodeType===1&&bR.getAttribute(\"id\")===e},TAG:function(bR,e){return(e===\"*\"&&bR.nodeType===1)||!!bR.nodeName&&bR.nodeName.toLowerCase()===e},CLASS:function(bR,e){return(\" \"+(bR.className||bR.getAttribute(\"class\"))+\" \").indexOf(e)>-1},ATTR:function(bV,bT){var bS=bT[1],e=by.attr?by.attr(bV,bS):bE.attrHandle[bS]?bE.attrHandle[bS](bV):bV[bS]!=null?bV[bS]:bV.getAttribute(bS),bW=e+\"\",bU=bT[2],bR=bT[4];return e==null?bU===\"!=\":!bU&&by.attr?e!=null:bU===\"=\"?bW===bR:bU===\"*=\"?bW.indexOf(bR)>=0:bU===\"~=\"?(\" \"+bW+\" \").indexOf(bR)>=0:!bR?bW&&e!==false:bU===\"!=\"?bW!==bR:bU===\"^=\"?bW.indexOf(bR)===0:bU===\"$=\"?bW.substr(bW.length-bR.length)===bR:bU===\"|=\"?bW===bR||bW.substr(0,bR.length+1)===bR+\"-\":false},POS:function(bU,bR,bS,bV){var e=bR[2],bT=bE.setFilters[e];if(bT){return bT(bU,bS,bR,bV)}}}};var bD=bE.match.POS,bx=function(bR,e){return\"\\\\\"+(e-0+1)};for(var bz in bE.match){bE.match[bz]=new RegExp(bE.match[bz].source+(/(?![^\\[]*\\])(?![^\\(]*\\))/.source));bE.leftMatch[bz]=new RegExp(/(^(?:.|\\r|\\n)*?)/.source+bE.match[bz].source.replace(/\\\\(\\d+)/g,bx))}var bF=function(bR,e){bR=Array.prototype.slice.call(bR,0);if(e){e.push.apply(e,bR);return e}return bR};try{Array.prototype.slice.call(av.documentElement.childNodes,0)[0].nodeType}catch(bP){bF=function(bU,bT){var bS=0,bR=bT||[];if(bL.call(bU)===\"[object Array]\"){Array.prototype.push.apply(bR,bU)}else{if(typeof bU.length===\"number\"){for(var e=bU.length;bS<e;bS++){bR.push(bU[bS])}}else{for(;bU[bS];bS++){bR.push(bU[bS])}}}return bR}}var bJ,bG;if(av.documentElement.compareDocumentPosition){bJ=function(bR,e){if(bR===e){bB=true;return 0}if(!bR.compareDocumentPosition||!e.compareDocumentPosition){return bR.compareDocumentPosition?-1:1}return bR.compareDocumentPosition(e)&4?-1:1}}else{bJ=function(bY,bX){if(bY===bX){bB=true;return 0}else{if(bY.sourceIndex&&bX.sourceIndex){return bY.sourceIndex-bX.sourceIndex}}var bV,bR,bS=[],e=[],bU=bY.parentNode,bW=bX.parentNode,bZ=bU;if(bU===bW){return bG(bY,bX)}else{if(!bU){return -1}else{if(!bW){return 1}}}while(bZ){bS.unshift(bZ);bZ=bZ.parentNode}bZ=bW;while(bZ){e.unshift(bZ);bZ=bZ.parentNode}bV=bS.length;bR=e.length;for(var bT=0;bT<bV&&bT<bR;bT++){if(bS[bT]!==e[bT]){return bG(bS[bT],e[bT])}}return bT===bV?bG(bY,e[bT],-1):bG(bS[bT],bX,1)};bG=function(bR,e,bS){if(bR===e){return bS}var bT=bR.nextSibling;while(bT){if(bT===e){return -1}bT=bT.nextSibling}return 1}}(function(){var bR=av.createElement(\"div\"),bS=\"script\"+(new Date()).getTime(),e=av.documentElement;bR.innerHTML=\"<a name='\"+bS+\"'/>\";e.insertBefore(bR,e.firstChild);if(av.getElementById(bS)){bE.find.ID=function(bU,bV,bW){if(typeof bV.getElementById!==\"undefined\"&&!bW){var bT=bV.getElementById(bU[1]);return bT?bT.id===bU[1]||typeof bT.getAttributeNode!==\"undefined\"&&bT.getAttributeNode(\"id\").nodeValue===bU[1]?[bT]:L:[]}};bE.filter.ID=function(bV,bT){var bU=typeof bV.getAttributeNode!==\"undefined\"&&bV.getAttributeNode(\"id\");return bV.nodeType===1&&bU&&bU.nodeValue===bT}}e.removeChild(bR);e=bR=null})();(function(){var e=av.createElement(\"div\");e.appendChild(av.createComment(\"\"));if(e.getElementsByTagName(\"*\").length>0){bE.find.TAG=function(bR,bV){var bU=bV.getElementsByTagName(bR[1]);if(bR[1]===\"*\"){var bT=[];for(var bS=0;bU[bS];bS++){if(bU[bS].nodeType===1){bT.push(bU[bS])}}bU=bT}return bU}}e.innerHTML=\"<a href='#'></a>\";if(e.firstChild&&typeof e.firstChild.getAttribute!==\"undefined\"&&e.firstChild.getAttribute(\"href\")!==\"#\"){bE.attrHandle.href=function(bR){return bR.getAttribute(\"href\",2)}}e=null})();if(av.querySelectorAll){(function(){var e=by,bT=av.createElement(\"div\"),bS=\"__sizzle__\";bT.innerHTML=\"<p class='TEST'></p>\";if(bT.querySelectorAll&&bT.querySelectorAll(\".TEST\").length===0){return}by=function(b4,bV,bZ,b3){bV=bV||av;if(!b3&&!by.isXML(bV)){var b2=/^(\\w+$)|^\\.([\\w\\-]+$)|^#([\\w\\-]+$)/.exec(b4);if(b2&&(bV.nodeType===1||bV.nodeType===9)){if(b2[1]){return bF(bV.getElementsByTagName(b4),bZ)}else{if(b2[2]&&bE.find.CLASS&&bV.getElementsByClassName){return bF(bV.getElementsByClassName(b2[2]),bZ)}}}if(bV.nodeType===9){if(b4===\"body\"&&bV.body){return bF([bV.body],bZ)}else{if(b2&&b2[3]){var bY=bV.getElementById(b2[3]);if(bY&&bY.parentNode){if(bY.id===b2[3]){return bF([bY],bZ)}}else{return bF([],bZ)}}}try{return bF(bV.querySelectorAll(b4),bZ)}catch(b0){}}else{if(bV.nodeType===1&&bV.nodeName.toLowerCase()!==\"object\"){var bW=bV,bX=bV.getAttribute(\"id\"),bU=bX||bS,b6=bV.parentNode,b5=/^\\s*[+~]/.test(b4);if(!bX){bV.setAttribute(\"id\",bU)}else{bU=bU.replace(/'/g,\"\\\\$&\")}if(b5&&b6){bV=bV.parentNode}try{if(!b5||b6){return bF(bV.querySelectorAll(\"[id='\"+bU+\"'] \"+b4),bZ)}}catch(b1){}finally{if(!bX){bW.removeAttribute(\"id\")}}}}}return e(b4,bV,bZ,b3)};for(var bR in e){by[bR]=e[bR]}bT=null})()}(function(){var e=av.documentElement,bS=e.matchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.msMatchesSelector;if(bS){var bU=!bS.call(av.createElement(\"div\"),\"div\"),bR=false;try{bS.call(av.documentElement,\"[test!='']:sizzle\")}catch(bT){bR=true}by.matchesSelector=function(bW,bY){bY=bY.replace(/\\=\\s*([^'\"\\]]*)\\s*\\]/g,\"='$1']\");if(!by.isXML(bW)){try{if(bR||!bE.match.PSEUDO.test(bY)&&!/!=/.test(bY)){var bV=bS.call(bW,bY);if(bV||!bU||bW.document&&bW.document.nodeType!==11){return bV}}}catch(bX){}}return by(bY,null,null,[bW]).length>0}}})();(function(){var e=av.createElement(\"div\");e.innerHTML=\"<div class='test e'></div><div class='test'></div>\";if(!e.getElementsByClassName||e.getElementsByClassName(\"e\").length===0){return}e.lastChild.className=\"e\";if(e.getElementsByClassName(\"e\").length===1){return}bE.order.splice(1,0,\"CLASS\");bE.find.CLASS=function(bR,bS,bT){if(typeof bS.getElementsByClassName!==\"undefined\"&&!bT){return bS.getElementsByClassName(bR[1])}};e=null})();function bv(bR,bW,bV,bZ,bX,bY){for(var bT=0,bS=bZ.length;bT<bS;bT++){var e=bZ[bT];if(e){var bU=false;e=e[bR];while(e){if(e[bC]===bV){bU=bZ[e.sizset];break}if(e.nodeType===1&&!bY){e[bC]=bV;e.sizset=bT}if(e.nodeName.toLowerCase()===bW){bU=e;break}e=e[bR]}bZ[bT]=bU}}}function bN(bR,bW,bV,bZ,bX,bY){for(var bT=0,bS=bZ.length;bT<bS;bT++){var e=bZ[bT];if(e){var bU=false;e=e[bR];while(e){if(e[bC]===bV){bU=bZ[e.sizset];break}if(e.nodeType===1){if(!bY){e[bC]=bV;e.sizset=bT}if(typeof bW!==\"string\"){if(e===bW){bU=true;break}}else{if(by.filter(bW,[e]).length>0){bU=e;break}}}e=e[bR]}bZ[bT]=bU}}}if(av.documentElement.contains){by.contains=function(bR,e){return bR!==e&&(bR.contains?bR.contains(e):true)}}else{if(av.documentElement.compareDocumentPosition){by.contains=function(bR,e){return !!(bR.compareDocumentPosition(e)&16)}}else{by.contains=function(){return false}}}by.isXML=function(e){var bR=(e?e.ownerDocument||e:0).documentElement;return bR?bR.nodeName!==\"HTML\":false};var bM=function(bS,e,bW){var bV,bX=[],bU=\"\",bY=e.nodeType?[e]:e;while((bV=bE.match.PSEUDO.exec(bS))){bU+=bV[0];bS=bS.replace(bE.match.PSEUDO,\"\")}bS=bE.relative[bS]?bS+\"*\":bS;for(var bT=0,bR=bY.length;bT<bR;bT++){by(bS,bY[bT],bX,bW)}return by.filter(bU,bX)};by.attr=b.attr;by.selectors.attrMap={};b.find=by;b.expr=by.selectors;b.expr[\":\"]=b.expr.filters;b.unique=by.uniqueSort;b.text=by.getText;b.isXMLDoc=by.isXML;b.contains=by.contains})();var ab=/Until$/,aq=/^(?:parents|prevUntil|prevAll)/,a9=/,/,bp=/^.[^:#\\[\\.,]*$/,P=Array.prototype.slice,H=b.expr.match.POS,ay={children:true,contents:true,next:true,prev:true};b.fn.extend({find:function(e){var bw=this,by,bv;if(typeof e!==\"string\"){return b(e).filter(function(){for(by=0,bv=bw.length;by<bv;by++){if(b.contains(bw[by],this)){return true}}})}var bx=this.pushStack(\"\",\"find\",e),bA,bB,bz;for(by=0,bv=this.length;by<bv;by++){bA=bx.length;b.find(e,this[by],bx);if(by>0){for(bB=bA;bB<bx.length;bB++){for(bz=0;bz<bA;bz++){if(bx[bz]===bx[bB]){bx.splice(bB--,1);break}}}}}return bx},has:function(bv){var e=b(bv);return this.filter(function(){for(var bx=0,bw=e.length;bx<bw;bx++){if(b.contains(this,e[bx])){return true}}})},not:function(e){return this.pushStack(aG(this,e,false),\"not\",e)},filter:function(e){return this.pushStack(aG(this,e,true),\"filter\",e)},is:function(e){return !!e&&(typeof e===\"string\"?H.test(e)?b(e,this.context).index(this[0])>=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(by,bx){var bv=[],bw,e,bz=this[0];if(b.isArray(by)){var bB=1;while(bz&&bz.ownerDocument&&bz!==bx){for(bw=0;bw<by.length;bw++){if(b(bz).is(by[bw])){bv.push({selector:by[bw],elem:bz,level:bB})}}bz=bz.parentNode;bB++}return bv}var bA=H.test(by)||typeof by!==\"string\"?b(by,bx||this.context):0;for(bw=0,e=this.length;bw<e;bw++){bz=this[bw];while(bz){if(bA?bA.index(bz)>-1:b.find.matchesSelector(bz,by)){bv.push(bz);break}else{bz=bz.parentNode;if(!bz||!bz.ownerDocument||bz===bx||bz.nodeType===11){break}}}}bv=bv.length>1?b.unique(bv):bv;return this.pushStack(bv,\"closest\",by)},index:function(e){if(!e){return(this[0]&&this[0].parentNode)?this.prevAll().length:-1}if(typeof e===\"string\"){return b.inArray(this[0],b(e))}return b.inArray(e.jquery?e[0]:e,this)},add:function(e,bv){var bx=typeof e===\"string\"?b(e,bv):b.makeArray(e&&e.nodeType?[e]:e),bw=b.merge(this.get(),bx);return this.pushStack(C(bx[0])||C(bw[0])?bw:b.unique(bw))},andSelf:function(){return this.add(this.prevObject)}});function C(e){return !e||!e.parentNode||e.parentNode.nodeType===11}b.each({parent:function(bv){var e=bv.parentNode;return e&&e.nodeType!==11?e:null},parents:function(e){return b.dir(e,\"parentNode\")},parentsUntil:function(bv,e,bw){return b.dir(bv,\"parentNode\",bw)},next:function(e){return b.nth(e,2,\"nextSibling\")},prev:function(e){return b.nth(e,2,\"previousSibling\")},nextAll:function(e){return b.dir(e,\"nextSibling\")},prevAll:function(e){return b.dir(e,\"previousSibling\")},nextUntil:function(bv,e,bw){return b.dir(bv,\"nextSibling\",bw)},prevUntil:function(bv,e,bw){return b.dir(bv,\"previousSibling\",bw)},siblings:function(e){return b.sibling(e.parentNode.firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,\"iframe\")?e.contentDocument||e.contentWindow.document:b.makeArray(e.childNodes)}},function(e,bv){b.fn[e]=function(by,bw){var bx=b.map(this,bv,by);if(!ab.test(e)){bw=by}if(bw&&typeof bw===\"string\"){bx=b.filter(bw,bx)}bx=this.length>1&&!ay[e]?b.unique(bx):bx;if((this.length>1||a9.test(bw))&&aq.test(e)){bx=bx.reverse()}return this.pushStack(bx,e,P.call(arguments).join(\",\"))}});b.extend({filter:function(bw,e,bv){if(bv){bw=\":not(\"+bw+\")\"}return e.length===1?b.find.matchesSelector(e[0],bw)?[e[0]]:[]:b.find.matches(bw,e)},dir:function(bw,bv,by){var e=[],bx=bw[bv];while(bx&&bx.nodeType!==9&&(by===L||bx.nodeType!==1||!b(bx).is(by))){if(bx.nodeType===1){e.push(bx)}bx=bx[bv]}return e},nth:function(by,e,bw,bx){e=e||1;var bv=0;for(;by;by=by[bw]){if(by.nodeType===1&&++bv===e){break}}return by},sibling:function(bw,bv){var e=[];for(;bw;bw=bw.nextSibling){if(bw.nodeType===1&&bw!==bv){e.push(bw)}}return e}});function aG(bx,bw,e){bw=bw||0;if(b.isFunction(bw)){return b.grep(bx,function(bz,by){var bA=!!bw.call(bz,by,bz);return bA===e})}else{if(bw.nodeType){return b.grep(bx,function(bz,by){return(bz===bw)===e})}else{if(typeof bw===\"string\"){var bv=b.grep(bx,function(by){return by.nodeType===1});if(bp.test(bw)){return b.filter(bw,bv,!e)}else{bw=b.filter(bw,bv)}}}}return b.grep(bx,function(bz,by){return(b.inArray(bz,bw)>=0)===e})}function a(e){var bw=aR.split(\"|\"),bv=e.createDocumentFragment();if(bv.createElement){while(bw.length){bv.createElement(bw.pop())}}return bv}var aR=\"abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video\",ag=/ jQuery\\d+=\"(?:\\d+|null)\"/g,ar=/^\\s+/,R=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\\w:]+)[^>]*)\\/>/ig,d=/<([\\w:]+)/,w=/<tbody/i,W=/<|&#?\\w+;/,ae=/<(?:script|style)/i,O=/<(?:script|object|embed|option|style)/i,ah=new RegExp(\"<(?:\"+aR+\")\",\"i\"),o=/checked\\s*(?:[^=]|=\\s*.checked.)/i,bm=/\\/(java|ecma)script/i,aN=/^\\s*<!(?:\\[CDATA\\[|\\-\\-)/,ax={option:[1,\"<select multiple='multiple'>\",\"</select>\"],legend:[1,\"<fieldset>\",\"</fieldset>\"],thead:[1,\"<table>\",\"</table>\"],tr:[2,\"<table><tbody>\",\"</tbody></table>\"],td:[3,\"<table><tbody><tr>\",\"</tr></tbody></table>\"],col:[2,\"<table><tbody></tbody><colgroup>\",\"</colgroup></table>\"],area:[1,\"<map>\",\"</map>\"],_default:[0,\"\",\"\"]},ac=a(av);ax.optgroup=ax.option;ax.tbody=ax.tfoot=ax.colgroup=ax.caption=ax.thead;ax.th=ax.td;if(!b.support.htmlSerialize){ax._default=[1,\"div<div>\",\"</div>\"]}b.fn.extend({text:function(e){if(b.isFunction(e)){return this.each(function(bw){var bv=b(this);bv.text(e.call(this,bw,bv.text()))})}if(typeof e!==\"object\"&&e!==L){return this.empty().append((this[0]&&this[0].ownerDocument||av).createTextNode(e))}return b.text(this)},wrapAll:function(e){if(b.isFunction(e)){return this.each(function(bw){b(this).wrapAll(e.call(this,bw))})}if(this[0]){var bv=b(e,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){bv.insertBefore(this[0])}bv.map(function(){var bw=this;while(bw.firstChild&&bw.firstChild.nodeType===1){bw=bw.firstChild}return bw}).append(this)}return this},wrapInner:function(e){if(b.isFunction(e)){return this.each(function(bv){b(this).wrapInner(e.call(this,bv))})}return this.each(function(){var bv=b(this),bw=bv.contents();if(bw.length){bw.wrapAll(e)}else{bv.append(e)}})},wrap:function(e){var bv=b.isFunction(e);return this.each(function(bw){b(this).wrapAll(bv?e.call(this,bw):e)})},unwrap:function(){return this.parent().each(function(){if(!b.nodeName(this,\"body\")){b(this).replaceWith(this.childNodes)}}).end()},append:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.appendChild(e)}})},prepend:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.insertBefore(e,this.firstChild)}})},before:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this)})}else{if(arguments.length){var e=b.clean(arguments);e.push.apply(e,this.toArray());return this.pushStack(e,\"before\",arguments)}}},after:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this.nextSibling)})}else{if(arguments.length){var e=this.pushStack(this,\"after\",arguments);e.push.apply(e,b.clean(arguments));return e}}},remove:function(e,bx){for(var bv=0,bw;(bw=this[bv])!=null;bv++){if(!e||b.filter(e,[bw]).length){if(!bx&&bw.nodeType===1){b.cleanData(bw.getElementsByTagName(\"*\"));b.cleanData([bw])}if(bw.parentNode){bw.parentNode.removeChild(bw)}}}return this},empty:function(){for(var e=0,bv;(bv=this[e])!=null;e++){if(bv.nodeType===1){b.cleanData(bv.getElementsByTagName(\"*\"))}while(bv.firstChild){bv.removeChild(bv.firstChild)}}return this},clone:function(bv,e){bv=bv==null?false:bv;e=e==null?bv:e;return this.map(function(){return b.clone(this,bv,e)})},html:function(bx){if(bx===L){return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(ag,\"\"):null}else{if(typeof bx===\"string\"&&!ae.test(bx)&&(b.support.leadingWhitespace||!ar.test(bx))&&!ax[(d.exec(bx)||[\"\",\"\"])[1].toLowerCase()]){bx=bx.replace(R,\"<$1></$2>\");try{for(var bw=0,bv=this.length;bw<bv;bw++){if(this[bw].nodeType===1){b.cleanData(this[bw].getElementsByTagName(\"*\"));this[bw].innerHTML=bx}}}catch(by){this.empty().append(bx)}}else{if(b.isFunction(bx)){this.each(function(bz){var e=b(this);e.html(bx.call(this,bz,e.html()))})}else{this.empty().append(bx)}}}return this},replaceWith:function(e){if(this[0]&&this[0].parentNode){if(b.isFunction(e)){return this.each(function(bx){var bw=b(this),bv=bw.html();bw.replaceWith(e.call(this,bx,bv))})}if(typeof e!==\"string\"){e=b(e).detach()}return this.each(function(){var bw=this.nextSibling,bv=this.parentNode;b(this).remove();if(bw){b(bw).before(e)}else{b(bv).append(e)}})}else{return this.length?this.pushStack(b(b.isFunction(e)?e():e),\"replaceWith\",e):this}},detach:function(e){return this.remove(e,true)},domManip:function(bB,bF,bE){var bx,by,bA,bD,bC=bB[0],bv=[];if(!b.support.checkClone&&arguments.length===3&&typeof bC===\"string\"&&o.test(bC)){return this.each(function(){b(this).domManip(bB,bF,bE,true)})}if(b.isFunction(bC)){return this.each(function(bH){var bG=b(this);bB[0]=bC.call(this,bH,bF?bG.html():L);bG.domManip(bB,bF,bE)})}if(this[0]){bD=bC&&bC.parentNode;if(b.support.parentNode&&bD&&bD.nodeType===11&&bD.childNodes.length===this.length){bx={fragment:bD}}else{bx=b.buildFragment(bB,this,bv)}bA=bx.fragment;if(bA.childNodes.length===1){by=bA=bA.firstChild}else{by=bA.firstChild}if(by){bF=bF&&b.nodeName(by,\"tr\");for(var bw=0,e=this.length,bz=e-1;bw<e;bw++){bE.call(bF?ba(this[bw],by):this[bw],bx.cacheable||(e>1&&bw<bz)?b.clone(bA,true,true):bA)}}if(bv.length){b.each(bv,bo)}}return this}});function ba(e,bv){return b.nodeName(e,\"table\")?(e.getElementsByTagName(\"tbody\")[0]||e.appendChild(e.ownerDocument.createElement(\"tbody\"))):e}function t(bB,bv){if(bv.nodeType!==1||!b.hasData(bB)){return}var by,bx,e,bA=b._data(bB),bz=b._data(bv,bA),bw=bA.events;if(bw){delete bz.handle;bz.events={};for(by in bw){for(bx=0,e=bw[by].length;bx<e;bx++){b.event.add(bv,by+(bw[by][bx].namespace?\".\":\"\")+bw[by][bx].namespace,bw[by][bx],bw[by][bx].data)}}}if(bz.data){bz.data=b.extend({},bz.data)}}function ai(bv,e){var bw;if(e.nodeType!==1){return}if(e.clearAttributes){e.clearAttributes()}if(e.mergeAttributes){e.mergeAttributes(bv)}bw=e.nodeName.toLowerCase();if(bw===\"object\"){e.outerHTML=bv.outerHTML}else{if(bw===\"input\"&&(bv.type===\"checkbox\"||bv.type===\"radio\")){if(bv.checked){e.defaultChecked=e.checked=bv.checked}if(e.value!==bv.value){e.value=bv.value}}else{if(bw===\"option\"){e.selected=bv.defaultSelected}else{if(bw===\"input\"||bw===\"textarea\"){e.defaultValue=bv.defaultValue}}}}e.removeAttribute(b.expando)}b.buildFragment=function(bz,bx,bv){var by,e,bw,bA,bB=bz[0];if(bx&&bx[0]){bA=bx[0].ownerDocument||bx[0]}if(!bA.createDocumentFragment){bA=av}if(bz.length===1&&typeof bB===\"string\"&&bB.length<512&&bA===av&&bB.charAt(0)===\"<\"&&!O.test(bB)&&(b.support.checkClone||!o.test(bB))&&(b.support.html5Clone||!ah.test(bB))){e=true;bw=b.fragments[bB];if(bw&&bw!==1){by=bw}}if(!by){by=bA.createDocumentFragment();b.clean(bz,bA,by,bv)}if(e){b.fragments[bB]=bw?by:1}return{fragment:by,cacheable:e}};b.fragments={};b.each({appendTo:\"append\",prependTo:\"prepend\",insertBefore:\"before\",insertAfter:\"after\",replaceAll:\"replaceWith\"},function(e,bv){b.fn[e]=function(bw){var bz=[],bC=b(bw),bB=this.length===1&&this[0].parentNode;if(bB&&bB.nodeType===11&&bB.childNodes.length===1&&bC.length===1){bC[bv](this[0]);return this}else{for(var bA=0,bx=bC.length;bA<bx;bA++){var by=(bA>0?this.clone(true):this).get();b(bC[bA])[bv](by);bz=bz.concat(by)}return this.pushStack(bz,e,bC.selector)}}});function bg(e){if(typeof e.getElementsByTagName!==\"undefined\"){return e.getElementsByTagName(\"*\")}else{if(typeof e.querySelectorAll!==\"undefined\"){return e.querySelectorAll(\"*\")}else{return[]}}}function az(e){if(e.type===\"checkbox\"||e.type===\"radio\"){e.defaultChecked=e.checked}}function E(e){var bv=(e.nodeName||\"\").toLowerCase();if(bv===\"input\"){az(e)}else{if(bv!==\"script\"&&typeof e.getElementsByTagName!==\"undefined\"){b.grep(e.getElementsByTagName(\"input\"),az)}}}function al(e){var bv=av.createElement(\"div\");ac.appendChild(bv);bv.innerHTML=e.outerHTML;return bv.firstChild}b.extend({clone:function(by,bA,bw){var e,bv,bx,bz=b.support.html5Clone||!ah.test(\"<\"+by.nodeName)?by.cloneNode(true):al(by);if((!b.support.noCloneEvent||!b.support.noCloneChecked)&&(by.nodeType===1||by.nodeType===11)&&!b.isXMLDoc(by)){ai(by,bz);e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){if(bv[bx]){ai(e[bx],bv[bx])}}}if(bA){t(by,bz);if(bw){e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){t(e[bx],bv[bx])}}}e=bv=null;return bz},clean:function(bw,by,bH,bA){var bF;by=by||av;if(typeof by.createElement===\"undefined\"){by=by.ownerDocument||by[0]&&by[0].ownerDocument||av}var bI=[],bB;for(var bE=0,bz;(bz=bw[bE])!=null;bE++){if(typeof bz===\"number\"){bz+=\"\"}if(!bz){continue}if(typeof bz===\"string\"){if(!W.test(bz)){bz=by.createTextNode(bz)}else{bz=bz.replace(R,\"<$1></$2>\");var bK=(d.exec(bz)||[\"\",\"\"])[1].toLowerCase(),bx=ax[bK]||ax._default,bD=bx[0],bv=by.createElement(\"div\");if(by===av){ac.appendChild(bv)}else{a(by).appendChild(bv)}bv.innerHTML=bx[1]+bz+bx[2];while(bD--){bv=bv.lastChild}if(!b.support.tbody){var e=w.test(bz),bC=bK===\"table\"&&!e?bv.firstChild&&bv.firstChild.childNodes:bx[1]===\"<table>\"&&!e?bv.childNodes:[];for(bB=bC.length-1;bB>=0;--bB){if(b.nodeName(bC[bB],\"tbody\")&&!bC[bB].childNodes.length){bC[bB].parentNode.removeChild(bC[bB])}}}if(!b.support.leadingWhitespace&&ar.test(bz)){bv.insertBefore(by.createTextNode(ar.exec(bz)[0]),bv.firstChild)}bz=bv.childNodes}}var bG;if(!b.support.appendChecked){if(bz[0]&&typeof(bG=bz.length)===\"number\"){for(bB=0;bB<bG;bB++){E(bz[bB])}}else{E(bz)}}if(bz.nodeType){bI.push(bz)}else{bI=b.merge(bI,bz)}}if(bH){bF=function(bL){return !bL.type||bm.test(bL.type)};for(bE=0;bI[bE];bE++){if(bA&&b.nodeName(bI[bE],\"script\")&&(!bI[bE].type||bI[bE].type.toLowerCase()===\"text/javascript\")){bA.push(bI[bE].parentNode?bI[bE].parentNode.removeChild(bI[bE]):bI[bE])}else{if(bI[bE].nodeType===1){var bJ=b.grep(bI[bE].getElementsByTagName(\"script\"),bF);bI.splice.apply(bI,[bE+1,0].concat(bJ))}bH.appendChild(bI[bE])}}}return bI},cleanData:function(bv){var by,bw,e=b.cache,bB=b.event.special,bA=b.support.deleteExpando;for(var bz=0,bx;(bx=bv[bz])!=null;bz++){if(bx.nodeName&&b.noData[bx.nodeName.toLowerCase()]){continue}bw=bx[b.expando];if(bw){by=e[bw];if(by&&by.events){for(var bC in by.events){if(bB[bC]){b.event.remove(bx,bC)}else{b.removeEvent(bx,bC,by.handle)}}if(by.handle){by.handle.elem=null}}if(bA){delete bx[b.expando]}else{if(bx.removeAttribute){bx.removeAttribute(b.expando)}}delete e[bw]}}}});function bo(e,bv){if(bv.src){b.ajax({url:bv.src,async:false,dataType:\"script\"})}else{b.globalEval((bv.text||bv.textContent||bv.innerHTML||\"\").replace(aN,\"/*$0*/\"))}if(bv.parentNode){bv.parentNode.removeChild(bv)}}var ak=/alpha\\([^)]*\\)/i,au=/opacity=([^)]*)/,z=/([A-Z]|^ms)/g,bc=/^-?\\d+(?:px)?$/i,bn=/^-?\\d/,I=/^([\\-+])=([\\-+.\\de]+)/,a7={position:\"absolute\",visibility:\"hidden\",display:\"block\"},an=[\"Left\",\"Right\"],a1=[\"Top\",\"Bottom\"],Z,aI,aX;b.fn.css=function(e,bv){if(arguments.length===2&&bv===L){return this}return b.access(this,e,bv,true,function(bx,bw,by){return by!==L?b.style(bx,bw,by):b.css(bx,bw)})};b.extend({cssHooks:{opacity:{get:function(bw,bv){if(bv){var e=Z(bw,\"opacity\",\"opacity\");return e===\"\"?\"1\":e}else{return bw.style.opacity}}}},cssNumber:{fillOpacity:true,fontWeight:true,lineHeight:true,opacity:true,orphans:true,widows:true,zIndex:true,zoom:true},cssProps:{\"float\":b.support.cssFloat?\"cssFloat\":\"styleFloat\"},style:function(bx,bw,bD,by){if(!bx||bx.nodeType===3||bx.nodeType===8||!bx.style){return}var bB,bC,bz=b.camelCase(bw),bv=bx.style,bE=b.cssHooks[bz];bw=b.cssProps[bz]||bz;if(bD!==L){bC=typeof bD;if(bC===\"string\"&&(bB=I.exec(bD))){bD=(+(bB[1]+1)*+bB[2])+parseFloat(b.css(bx,bw));bC=\"number\"}if(bD==null||bC===\"number\"&&isNaN(bD)){return}if(bC===\"number\"&&!b.cssNumber[bz]){bD+=\"px\"}if(!bE||!(\"set\" in bE)||(bD=bE.set(bx,bD))!==L){try{bv[bw]=bD}catch(bA){}}}else{if(bE&&\"get\" in bE&&(bB=bE.get(bx,false,by))!==L){return bB}return bv[bw]}},css:function(by,bx,bv){var bw,e;bx=b.camelCase(bx);e=b.cssHooks[bx];bx=b.cssProps[bx]||bx;if(bx===\"cssFloat\"){bx=\"float\"}if(e&&\"get\" in e&&(bw=e.get(by,true,bv))!==L){return bw}else{if(Z){return Z(by,bx)}}},swap:function(bx,bw,by){var e={};for(var bv in bw){e[bv]=bx.style[bv];bx.style[bv]=bw[bv]}by.call(bx);for(bv in bw){bx.style[bv]=e[bv]}}});b.curCSS=b.css;b.each([\"height\",\"width\"],function(bv,e){b.cssHooks[e]={get:function(by,bx,bw){var bz;if(bx){if(by.offsetWidth!==0){return p(by,e,bw)}else{b.swap(by,a7,function(){bz=p(by,e,bw)})}return bz}},set:function(bw,bx){if(bc.test(bx)){bx=parseFloat(bx);if(bx>=0){return bx+\"px\"}}else{return bx}}}});if(!b.support.opacity){b.cssHooks.opacity={get:function(bv,e){return au.test((e&&bv.currentStyle?bv.currentStyle.filter:bv.style.filter)||\"\")?(parseFloat(RegExp.$1)/100)+\"\":e?\"1\":\"\"},set:function(by,bz){var bx=by.style,bv=by.currentStyle,e=b.isNumeric(bz)?\"alpha(opacity=\"+bz*100+\")\":\"\",bw=bv&&bv.filter||bx.filter||\"\";bx.zoom=1;if(bz>=1&&b.trim(bw.replace(ak,\"\"))===\"\"){bx.removeAttribute(\"filter\");if(bv&&!bv.filter){return}}bx.filter=ak.test(bw)?bw.replace(ak,e):bw+\" \"+e}}}b(function(){if(!b.support.reliableMarginRight){b.cssHooks.marginRight={get:function(bw,bv){var e;b.swap(bw,{display:\"inline-block\"},function(){if(bv){e=Z(bw,\"margin-right\",\"marginRight\")}else{e=bw.style.marginRight}});return e}}}});if(av.defaultView&&av.defaultView.getComputedStyle){aI=function(by,bw){var bv,bx,e;bw=bw.replace(z,\"-$1\").toLowerCase();if((bx=by.ownerDocument.defaultView)&&(e=bx.getComputedStyle(by,null))){bv=e.getPropertyValue(bw);if(bv===\"\"&&!b.contains(by.ownerDocument.documentElement,by)){bv=b.style(by,bw)}}return bv}}if(av.documentElement.currentStyle){aX=function(bz,bw){var bA,e,by,bv=bz.currentStyle&&bz.currentStyle[bw],bx=bz.style;if(bv===null&&bx&&(by=bx[bw])){bv=by}if(!bc.test(bv)&&bn.test(bv)){bA=bx.left;e=bz.runtimeStyle&&bz.runtimeStyle.left;if(e){bz.runtimeStyle.left=bz.currentStyle.left}bx.left=bw===\"fontSize\"?\"1em\":(bv||0);bv=bx.pixelLeft+\"px\";bx.left=bA;if(e){bz.runtimeStyle.left=e}}return bv===\"\"?\"auto\":bv}}Z=aI||aX;function p(by,bw,bv){var bA=bw===\"width\"?by.offsetWidth:by.offsetHeight,bz=bw===\"width\"?an:a1,bx=0,e=bz.length;if(bA>0){if(bv!==\"border\"){for(;bx<e;bx++){if(!bv){bA-=parseFloat(b.css(by,\"padding\"+bz[bx]))||0}if(bv===\"margin\"){bA+=parseFloat(b.css(by,bv+bz[bx]))||0}else{bA-=parseFloat(b.css(by,\"border\"+bz[bx]+\"Width\"))||0}}}return bA+\"px\"}bA=Z(by,bw,bw);if(bA<0||bA==null){bA=by.style[bw]||0}bA=parseFloat(bA)||0;if(bv){for(;bx<e;bx++){bA+=parseFloat(b.css(by,\"padding\"+bz[bx]))||0;if(bv!==\"padding\"){bA+=parseFloat(b.css(by,\"border\"+bz[bx]+\"Width\"))||0}if(bv===\"margin\"){bA+=parseFloat(b.css(by,bv+bz[bx]))||0}}}return bA+\"px\"}if(b.expr&&b.expr.filters){b.expr.filters.hidden=function(bw){var bv=bw.offsetWidth,e=bw.offsetHeight;return(bv===0&&e===0)||(!b.support.reliableHiddenOffsets&&((bw.style&&bw.style.display)||b.css(bw,\"display\"))===\"none\")};b.expr.filters.visible=function(e){return !b.expr.filters.hidden(e)}}var k=/%20/g,ap=/\\[\\]$/,bs=/\\r?\\n/g,bq=/#.*$/,aD=/^(.*?):[ \\t]*([^\\r\\n]*)\\r?$/mg,aZ=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,aM=/^(?:about|app|app\\-storage|.+\\-extension|file|res|widget):$/,aQ=/^(?:GET|HEAD)$/,c=/^\\/\\//,M=/\\?/,a6=/<script\\b[^<]*(?:(?!<\\/script>)<[^<]*)*<\\/script>/gi,q=/^(?:select|textarea)/i,h=/\\s+/,br=/([?&])_=[^&]*/,K=/^([\\w\\+\\.\\-]+:)(?:\\/\\/([^\\/?#:]*)(?::(\\d+))?)?/,A=b.fn.load,aa={},r={},aE,s,aV=[\"*/\"]+[\"*\"];try{aE=bl.href}catch(aw){aE=av.createElement(\"a\");aE.href=\"\";aE=aE.href}s=K.exec(aE.toLowerCase())||[];function f(e){return function(by,bA){if(typeof by!==\"string\"){bA=by;by=\"*\"}if(b.isFunction(bA)){var bx=by.toLowerCase().split(h),bw=0,bz=bx.length,bv,bB,bC;for(;bw<bz;bw++){bv=bx[bw];bC=/^\\+/.test(bv);if(bC){bv=bv.substr(1)||\"*\"}bB=e[bv]=e[bv]||[];bB[bC?\"unshift\":\"push\"](bA)}}}}function aW(bv,bE,bz,bD,bB,bx){bB=bB||bE.dataTypes[0];bx=bx||{};bx[bB]=true;var bA=bv[bB],bw=0,e=bA?bA.length:0,by=(bv===aa),bC;for(;bw<e&&(by||!bC);bw++){bC=bA[bw](bE,bz,bD);if(typeof bC===\"string\"){if(!by||bx[bC]){bC=L}else{bE.dataTypes.unshift(bC);bC=aW(bv,bE,bz,bD,bC,bx)}}}if((by||!bC)&&!bx[\"*\"]){bC=aW(bv,bE,bz,bD,\"*\",bx)}return bC}function am(bw,bx){var bv,e,by=b.ajaxSettings.flatOptions||{};for(bv in bx){if(bx[bv]!==L){(by[bv]?bw:(e||(e={})))[bv]=bx[bv]}}if(e){b.extend(true,bw,e)}}b.fn.extend({load:function(bw,bz,bA){if(typeof bw!==\"string\"&&A){return A.apply(this,arguments)}else{if(!this.length){return this}}var by=bw.indexOf(\" \");if(by>=0){var e=bw.slice(by,bw.length);bw=bw.slice(0,by)}var bx=\"GET\";if(bz){if(b.isFunction(bz)){bA=bz;bz=L}else{if(typeof bz===\"object\"){bz=b.param(bz,b.ajaxSettings.traditional);bx=\"POST\"}}}var bv=this;b.ajax({url:bw,type:bx,dataType:\"html\",data:bz,complete:function(bC,bB,bD){bD=bC.responseText;if(bC.isResolved()){bC.done(function(bE){bD=bE});bv.html(e?b(\"<div>\").append(bD.replace(a6,\"\")).find(e):bD)}if(bA){bv.each(bA,[bD,bB,bC])}}});return this},serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?b.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||q.test(this.nodeName)||aZ.test(this.type))}).map(function(e,bv){var bw=b(this).val();return bw==null?null:b.isArray(bw)?b.map(bw,function(by,bx){return{name:bv.name,value:by.replace(bs,\"\\r\\n\")}}):{name:bv.name,value:bw.replace(bs,\"\\r\\n\")}}).get()}});b.each(\"ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend\".split(\" \"),function(e,bv){b.fn[bv]=function(bw){return this.on(bv,bw)}});b.each([\"get\",\"post\"],function(e,bv){b[bv]=function(bw,by,bz,bx){if(b.isFunction(by)){bx=bx||bz;bz=by;by=L}return b.ajax({type:bv,url:bw,data:by,success:bz,dataType:bx})}});b.extend({getScript:function(e,bv){return b.get(e,L,bv,\"script\")},getJSON:function(e,bv,bw){return b.get(e,bv,bw,\"json\")},ajaxSetup:function(bv,e){if(e){am(bv,b.ajaxSettings)}else{e=bv;bv=b.ajaxSettings}am(bv,e);return bv},ajaxSettings:{url:aE,isLocal:aM.test(s[1]),global:true,type:\"GET\",contentType:\"application/x-www-form-urlencoded\",processData:true,async:true,accepts:{xml:\"application/xml, text/xml\",html:\"text/html\",text:\"text/plain\",json:\"application/json, text/javascript\",\"*\":aV},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:\"responseXML\",text:\"responseText\"},converters:{\"* text\":bb.String,\"text html\":true,\"text json\":b.parseJSON,\"text xml\":b.parseXML},flatOptions:{context:true,url:true}},ajaxPrefilter:f(aa),ajaxTransport:f(r),ajax:function(bz,bx){if(typeof bz===\"object\"){bx=bz;bz=L}bx=bx||{};var bD=b.ajaxSetup({},bx),bS=bD.context||bD,bG=bS!==bD&&(bS.nodeType||bS instanceof b)?b(bS):b.event,bR=b.Deferred(),bN=b.Callbacks(\"once memory\"),bB=bD.statusCode||{},bC,bH={},bO={},bQ,by,bL,bE,bI,bA=0,bw,bK,bJ={readyState:0,setRequestHeader:function(bT,bU){if(!bA){var e=bT.toLowerCase();bT=bO[e]=bO[e]||bT;bH[bT]=bU}return this},getAllResponseHeaders:function(){return bA===2?bQ:null},getResponseHeader:function(bT){var e;if(bA===2){if(!by){by={};while((e=aD.exec(bQ))){by[e[1].toLowerCase()]=e[2]}}e=by[bT.toLowerCase()]}return e===L?null:e},overrideMimeType:function(e){if(!bA){bD.mimeType=e}return this},abort:function(e){e=e||\"abort\";if(bL){bL.abort(e)}bF(0,e);return this}};function bF(bZ,bU,b0,bW){if(bA===2){return}bA=2;if(bE){clearTimeout(bE)}bL=L;bQ=bW||\"\";bJ.readyState=bZ>0?4:0;var bT,b4,b3,bX=bU,bY=b0?bj(bD,bJ,b0):L,bV,b2;if(bZ>=200&&bZ<300||bZ===304){if(bD.ifModified){if((bV=bJ.getResponseHeader(\"Last-Modified\"))){b.lastModified[bC]=bV}if((b2=bJ.getResponseHeader(\"Etag\"))){b.etag[bC]=b2}}if(bZ===304){bX=\"notmodified\";bT=true}else{try{b4=G(bD,bY);bX=\"success\";bT=true}catch(b1){bX=\"parsererror\";b3=b1}}}else{b3=bX;if(!bX||bZ){bX=\"error\";if(bZ<0){bZ=0}}}bJ.status=bZ;bJ.statusText=\"\"+(bU||bX);if(bT){bR.resolveWith(bS,[b4,bX,bJ])}else{bR.rejectWith(bS,[bJ,bX,b3])}bJ.statusCode(bB);bB=L;if(bw){bG.trigger(\"ajax\"+(bT?\"Success\":\"Error\"),[bJ,bD,bT?b4:b3])}bN.fireWith(bS,[bJ,bX]);if(bw){bG.trigger(\"ajaxComplete\",[bJ,bD]);if(!(--b.active)){b.event.trigger(\"ajaxStop\")}}}bR.promise(bJ);bJ.success=bJ.done;bJ.error=bJ.fail;bJ.complete=bN.add;bJ.statusCode=function(bT){if(bT){var e;if(bA<2){for(e in bT){bB[e]=[bB[e],bT[e]]}}else{e=bT[bJ.status];bJ.then(e,e)}}return this};bD.url=((bz||bD.url)+\"\").replace(bq,\"\").replace(c,s[1]+\"//\");bD.dataTypes=b.trim(bD.dataType||\"*\").toLowerCase().split(h);if(bD.crossDomain==null){bI=K.exec(bD.url.toLowerCase());bD.crossDomain=!!(bI&&(bI[1]!=s[1]||bI[2]!=s[2]||(bI[3]||(bI[1]===\"http:\"?80:443))!=(s[3]||(s[1]===\"http:\"?80:443))))}if(bD.data&&bD.processData&&typeof bD.data!==\"string\"){bD.data=b.param(bD.data,bD.traditional)}aW(aa,bD,bx,bJ);if(bA===2){return false}bw=bD.global;bD.type=bD.type.toUpperCase();bD.hasContent=!aQ.test(bD.type);if(bw&&b.active++===0){b.event.trigger(\"ajaxStart\")}if(!bD.hasContent){if(bD.data){bD.url+=(M.test(bD.url)?\"&\":\"?\")+bD.data;delete bD.data}bC=bD.url;if(bD.cache===false){var bv=b.now(),bP=bD.url.replace(br,\"$1_=\"+bv);bD.url=bP+((bP===bD.url)?(M.test(bD.url)?\"&\":\"?\")+\"_=\"+bv:\"\")}}if(bD.data&&bD.hasContent&&bD.contentType!==false||bx.contentType){bJ.setRequestHeader(\"Content-Type\",bD.contentType)}if(bD.ifModified){bC=bC||bD.url;if(b.lastModified[bC]){bJ.setRequestHeader(\"If-Modified-Since\",b.lastModified[bC])}if(b.etag[bC]){bJ.setRequestHeader(\"If-None-Match\",b.etag[bC])}}bJ.setRequestHeader(\"Accept\",bD.dataTypes[0]&&bD.accepts[bD.dataTypes[0]]?bD.accepts[bD.dataTypes[0]]+(bD.dataTypes[0]!==\"*\"?\", \"+aV+\"; q=0.01\":\"\"):bD.accepts[\"*\"]);for(bK in bD.headers){bJ.setRequestHeader(bK,bD.headers[bK])}if(bD.beforeSend&&(bD.beforeSend.call(bS,bJ,bD)===false||bA===2)){bJ.abort();return false}for(bK in {success:1,error:1,complete:1}){bJ[bK](bD[bK])}bL=aW(r,bD,bx,bJ);if(!bL){bF(-1,\"No Transport\")}else{bJ.readyState=1;if(bw){bG.trigger(\"ajaxSend\",[bJ,bD])}if(bD.async&&bD.timeout>0){bE=setTimeout(function(){bJ.abort(\"timeout\")},bD.timeout)}try{bA=1;bL.send(bH,bF)}catch(bM){if(bA<2){bF(-1,bM)}else{throw bM}}}return bJ},param:function(e,bw){var bv=[],by=function(bz,bA){bA=b.isFunction(bA)?bA():bA;bv[bv.length]=encodeURIComponent(bz)+\"=\"+encodeURIComponent(bA)};if(bw===L){bw=b.ajaxSettings.traditional}if(b.isArray(e)||(e.jquery&&!b.isPlainObject(e))){b.each(e,function(){by(this.name,this.value)})}else{for(var bx in e){v(bx,e[bx],bw,by)}}return bv.join(\"&\").replace(k,\"+\")}});function v(bw,by,bv,bx){if(b.isArray(by)){b.each(by,function(bA,bz){if(bv||ap.test(bw)){bx(bw,bz)}else{v(bw+\"[\"+(typeof bz===\"object\"||b.isArray(bz)?bA:\"\")+\"]\",bz,bv,bx)}})}else{if(!bv&&by!=null&&typeof by===\"object\"){for(var e in by){v(bw+\"[\"+e+\"]\",by[e],bv,bx)}}else{bx(bw,by)}}}b.extend({active:0,lastModified:{},etag:{}});function bj(bD,bC,bz){var bv=bD.contents,bB=bD.dataTypes,bw=bD.responseFields,by,bA,bx,e;for(bA in bw){if(bA in bz){bC[bw[bA]]=bz[bA]}}while(bB[0]===\"*\"){bB.shift();if(by===L){by=bD.mimeType||bC.getResponseHeader(\"content-type\")}}if(by){for(bA in bv){if(bv[bA]&&bv[bA].test(by)){bB.unshift(bA);break}}}if(bB[0] in bz){bx=bB[0]}else{for(bA in bz){if(!bB[0]||bD.converters[bA+\" \"+bB[0]]){bx=bA;break}if(!e){e=bA}}bx=bx||e}if(bx){if(bx!==bB[0]){bB.unshift(bx)}return bz[bx]}}function G(bH,bz){if(bH.dataFilter){bz=bH.dataFilter(bz,bH.dataType)}var bD=bH.dataTypes,bG={},bA,bE,bw=bD.length,bB,bC=bD[0],bx,by,bF,bv,e;for(bA=1;bA<bw;bA++){if(bA===1){for(bE in bH.converters){if(typeof bE===\"string\"){bG[bE.toLowerCase()]=bH.converters[bE]}}}bx=bC;bC=bD[bA];if(bC===\"*\"){bC=bx}else{if(bx!==\"*\"&&bx!==bC){by=bx+\" \"+bC;bF=bG[by]||bG[\"* \"+bC];if(!bF){e=L;for(bv in bG){bB=bv.split(\" \");if(bB[0]===bx||bB[0]===\"*\"){e=bG[bB[1]+\" \"+bC];if(e){bv=bG[bv];if(bv===true){bF=e}else{if(e===true){bF=bv}}break}}}}if(!(bF||e)){b.error(\"No conversion from \"+by.replace(\" \",\" to \"))}if(bF!==true){bz=bF?bF(bz):e(bv(bz))}}}}return bz}var aC=b.now(),u=/(\\=)\\?(&|$)|\\?\\?/i;b.ajaxSetup({jsonp:\"callback\",jsonpCallback:function(){return b.expando+\"_\"+(aC++)}});b.ajaxPrefilter(\"json jsonp\",function(bD,bA,bC){var bx=bD.contentType===\"application/x-www-form-urlencoded\"&&(typeof bD.data===\"string\");if(bD.dataTypes[0]===\"jsonp\"||bD.jsonp!==false&&(u.test(bD.url)||bx&&u.test(bD.data))){var bB,bw=bD.jsonpCallback=b.isFunction(bD.jsonpCallback)?bD.jsonpCallback():bD.jsonpCallback,bz=bb[bw],e=bD.url,by=bD.data,bv=\"$1\"+bw+\"$2\";if(bD.jsonp!==false){e=e.replace(u,bv);if(bD.url===e){if(bx){by=by.replace(u,bv)}if(bD.data===by){e+=(/\\?/.test(e)?\"&\":\"?\")+bD.jsonp+\"=\"+bw}}}bD.url=e;bD.data=by;bb[bw]=function(bE){bB=[bE]};bC.always(function(){bb[bw]=bz;if(bB&&b.isFunction(bz)){bb[bw](bB[0])}});bD.converters[\"script json\"]=function(){if(!bB){b.error(bw+\" was not called\")}return bB[0]};bD.dataTypes[0]=\"json\";return\"script\"}});b.ajaxSetup({accepts:{script:\"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript\"},contents:{script:/javascript|ecmascript/},converters:{\"text script\":function(e){b.globalEval(e);return e}}});b.ajaxPrefilter(\"script\",function(e){if(e.cache===L){e.cache=false}if(e.crossDomain){e.type=\"GET\";e.global=false}});b.ajaxTransport(\"script\",function(bw){if(bw.crossDomain){var e,bv=av.head||av.getElementsByTagName(\"head\")[0]||av.documentElement;return{send:function(bx,by){e=av.createElement(\"script\");e.async=\"async\";if(bw.scriptCharset){e.charset=bw.scriptCharset}e.src=bw.url;e.onload=e.onreadystatechange=function(bA,bz){if(bz||!e.readyState||/loaded|complete/.test(e.readyState)){e.onload=e.onreadystatechange=null;if(bv&&e.parentNode){bv.removeChild(e)}e=L;if(!bz){by(200,\"success\")}}};bv.insertBefore(e,bv.firstChild)},abort:function(){if(e){e.onload(0,1)}}}}});var B=bb.ActiveXObject?function(){for(var e in N){N[e](0,1)}}:false,y=0,N;function aL(){try{return new bb.XMLHttpRequest()}catch(bv){}}function aj(){try{return new bb.ActiveXObject(\"Microsoft.XMLHTTP\")}catch(bv){}}b.ajaxSettings.xhr=bb.ActiveXObject?function(){return !this.isLocal&&aL()||aj()}:aL;(function(e){b.extend(b.support,{ajax:!!e,cors:!!e&&(\"withCredentials\" in e)})})(b.ajaxSettings.xhr());if(b.support.ajax){b.ajaxTransport(function(e){if(!e.crossDomain||b.support.cors){var bv;return{send:function(bB,bw){var bA=e.xhr(),bz,by;if(e.username){bA.open(e.type,e.url,e.async,e.username,e.password)}else{bA.open(e.type,e.url,e.async)}if(e.xhrFields){for(by in e.xhrFields){bA[by]=e.xhrFields[by]}}if(e.mimeType&&bA.overrideMimeType){bA.overrideMimeType(e.mimeType)}if(!e.crossDomain&&!bB[\"X-Requested-With\"]){bB[\"X-Requested-With\"]=\"XMLHttpRequest\"}try{for(by in bB){bA.setRequestHeader(by,bB[by])}}catch(bx){}bA.send((e.hasContent&&e.data)||null);bv=function(bK,bE){var bF,bD,bC,bI,bH;try{if(bv&&(bE||bA.readyState===4)){bv=L;if(bz){bA.onreadystatechange=b.noop;if(B){delete N[bz]}}if(bE){if(bA.readyState!==4){bA.abort()}}else{bF=bA.status;bC=bA.getAllResponseHeaders();bI={};bH=bA.responseXML;if(bH&&bH.documentElement){bI.xml=bH}bI.text=bA.responseText;try{bD=bA.statusText}catch(bJ){bD=\"\"}if(!bF&&e.isLocal&&!e.crossDomain){bF=bI.text?200:404}else{if(bF===1223){bF=204}}}}}catch(bG){if(!bE){bw(-1,bG)}}if(bI){bw(bF,bD,bI,bC)}};if(!e.async||bA.readyState===4){bv()}else{bz=++y;if(B){if(!N){N={};b(bb).unload(B)}N[bz]=bv}bA.onreadystatechange=bv}},abort:function(){if(bv){bv(0,1)}}}}})}var Q={},a8,m,aB=/^(?:toggle|show|hide)$/,aT=/^([+\\-]=)?([\\d+.\\-]+)([a-z%]*)$/i,a3,aH=[[\"height\",\"marginTop\",\"marginBottom\",\"paddingTop\",\"paddingBottom\"],[\"width\",\"marginLeft\",\"marginRight\",\"paddingLeft\",\"paddingRight\"],[\"opacity\"]],a4;b.fn.extend({show:function(bx,bA,bz){var bw,by;if(bx||bx===0){return this.animate(a0(\"show\",3),bx,bA,bz)}else{for(var bv=0,e=this.length;bv<e;bv++){bw=this[bv];if(bw.style){by=bw.style.display;if(!b._data(bw,\"olddisplay\")&&by===\"none\"){by=bw.style.display=\"\"}if(by===\"\"&&b.css(bw,\"display\")===\"none\"){b._data(bw,\"olddisplay\",x(bw.nodeName))}}}for(bv=0;bv<e;bv++){bw=this[bv];if(bw.style){by=bw.style.display;if(by===\"\"||by===\"none\"){bw.style.display=b._data(bw,\"olddisplay\")||\"\"}}}return this}},hide:function(bx,bA,bz){if(bx||bx===0){return this.animate(a0(\"hide\",3),bx,bA,bz)}else{var bw,by,bv=0,e=this.length;for(;bv<e;bv++){bw=this[bv];if(bw.style){by=b.css(bw,\"display\");if(by!==\"none\"&&!b._data(bw,\"olddisplay\")){b._data(bw,\"olddisplay\",by)}}}for(bv=0;bv<e;bv++){if(this[bv].style){this[bv].style.display=\"none\"}}return this}},_toggle:b.fn.toggle,toggle:function(bw,bv,bx){var e=typeof bw===\"boolean\";if(b.isFunction(bw)&&b.isFunction(bv)){this._toggle.apply(this,arguments)}else{if(bw==null||e){this.each(function(){var by=e?bw:b(this).is(\":hidden\");b(this)[by?\"show\":\"hide\"]()})}else{this.animate(a0(\"toggle\",3),bw,bv,bx)}}return this},fadeTo:function(e,bx,bw,bv){return this.filter(\":hidden\").css(\"opacity\",0).show().end().animate({opacity:bx},e,bw,bv)},animate:function(bz,bw,by,bx){var e=b.speed(bw,by,bx);if(b.isEmptyObject(bz)){return this.each(e.complete,[false])}bz=b.extend({},bz);function bv(){if(e.queue===false){b._mark(this)}var bE=b.extend({},e),bK=this.nodeType===1,bI=bK&&b(this).is(\":hidden\"),bB,bF,bD,bJ,bH,bC,bG,bL,bA;bE.animatedProperties={};for(bD in bz){bB=b.camelCase(bD);if(bD!==bB){bz[bB]=bz[bD];delete bz[bD]}bF=bz[bB];if(b.isArray(bF)){bE.animatedProperties[bB]=bF[1];bF=bz[bB]=bF[0]}else{bE.animatedProperties[bB]=bE.specialEasing&&bE.specialEasing[bB]||bE.easing||\"swing\"}if(bF===\"hide\"&&bI||bF===\"show\"&&!bI){return bE.complete.call(this)}if(bK&&(bB===\"height\"||bB===\"width\")){bE.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY];if(b.css(this,\"display\")===\"inline\"&&b.css(this,\"float\")===\"none\"){if(!b.support.inlineBlockNeedsLayout||x(this.nodeName)===\"inline\"){this.style.display=\"inline-block\"}else{this.style.zoom=1}}}}if(bE.overflow!=null){this.style.overflow=\"hidden\"}for(bD in bz){bJ=new b.fx(this,bE,bD);bF=bz[bD];if(aB.test(bF)){bA=b._data(this,\"toggle\"+bD)||(bF===\"toggle\"?bI?\"show\":\"hide\":0);if(bA){b._data(this,\"toggle\"+bD,bA===\"show\"?\"hide\":\"show\");bJ[bA]()}else{bJ[bF]()}}else{bH=aT.exec(bF);bC=bJ.cur();if(bH){bG=parseFloat(bH[2]);bL=bH[3]||(b.cssNumber[bD]?\"\":\"px\");if(bL!==\"px\"){b.style(this,bD,(bG||1)+bL);bC=((bG||1)/bJ.cur())*bC;b.style(this,bD,bC+bL)}if(bH[1]){bG=((bH[1]===\"-=\"?-1:1)*bG)+bC}bJ.custom(bC,bG,bL)}else{bJ.custom(bC,bF,\"\")}}}return true}return e.queue===false?this.each(bv):this.queue(e.queue,bv)},stop:function(bw,bv,e){if(typeof bw!==\"string\"){e=bv;bv=bw;bw=L}if(bv&&bw!==false){this.queue(bw||\"fx\",[])}return this.each(function(){var bx,by=false,bA=b.timers,bz=b._data(this);if(!e){b._unmark(true,this)}function bB(bE,bF,bD){var bC=bF[bD];b.removeData(bE,bD,true);bC.stop(e)}if(bw==null){for(bx in bz){if(bz[bx]&&bz[bx].stop&&bx.indexOf(\".run\")===bx.length-4){bB(this,bz,bx)}}}else{if(bz[bx=bw+\".run\"]&&bz[bx].stop){bB(this,bz,bx)}}for(bx=bA.length;bx--;){if(bA[bx].elem===this&&(bw==null||bA[bx].queue===bw)){if(e){bA[bx](true)}else{bA[bx].saveState()}by=true;bA.splice(bx,1)}}if(!(e&&by)){b.dequeue(this,bw)}})}});function bh(){setTimeout(at,0);return(a4=b.now())}function at(){a4=L}function a0(bv,e){var bw={};b.each(aH.concat.apply([],aH.slice(0,e)),function(){bw[this]=bv});return bw}b.each({slideDown:a0(\"show\",1),slideUp:a0(\"hide\",1),slideToggle:a0(\"toggle\",1),fadeIn:{opacity:\"show\"},fadeOut:{opacity:\"hide\"},fadeToggle:{opacity:\"toggle\"}},function(e,bv){b.fn[e]=function(bw,by,bx){return this.animate(bv,bw,by,bx)}});b.extend({speed:function(bw,bx,bv){var e=bw&&typeof bw===\"object\"?b.extend({},bw):{complete:bv||!bv&&bx||b.isFunction(bw)&&bw,duration:bw,easing:bv&&bx||bx&&!b.isFunction(bx)&&bx};e.duration=b.fx.off?0:typeof e.duration===\"number\"?e.duration:e.duration in b.fx.speeds?b.fx.speeds[e.duration]:b.fx.speeds._default;if(e.queue==null||e.queue===true){e.queue=\"fx\"}e.old=e.complete;e.complete=function(by){if(b.isFunction(e.old)){e.old.call(this)}if(e.queue){b.dequeue(this,e.queue)}else{if(by!==false){b._unmark(this)}}};return e},easing:{linear:function(bw,bx,e,bv){return e+bv*bw},swing:function(bw,bx,e,bv){return((-Math.cos(bw*Math.PI)/2)+0.5)*bv+e}},timers:[],fx:function(bv,e,bw){this.options=e;this.elem=bv;this.prop=bw;e.orig=e.orig||{}}});b.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this)}(b.fx.step[this.prop]||b.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop]}var e,bv=b.css(this.elem,this.prop);return isNaN(e=parseFloat(bv))?!bv||bv===\"auto\"?0:bv:e},custom:function(bz,by,bx){var e=this,bw=b.fx;this.startTime=a4||bh();this.end=by;this.now=this.start=bz;this.pos=this.state=0;this.unit=bx||this.unit||(b.cssNumber[this.prop]?\"\":\"px\");function bv(bA){return e.step(bA)}bv.queue=this.options.queue;bv.elem=this.elem;bv.saveState=function(){if(e.options.hide&&b._data(e.elem,\"fxshow\"+e.prop)===L){b._data(e.elem,\"fxshow\"+e.prop,e.start)}};if(bv()&&b.timers.push(bv)&&!a3){a3=setInterval(bw.tick,bw.interval)}},show:function(){var e=b._data(this.elem,\"fxshow\"+this.prop);this.options.orig[this.prop]=e||b.style(this.elem,this.prop);this.options.show=true;if(e!==L){this.custom(this.cur(),e)}else{this.custom(this.prop===\"width\"||this.prop===\"height\"?1:0,this.cur())}b(this.elem).show()},hide:function(){this.options.orig[this.prop]=b._data(this.elem,\"fxshow\"+this.prop)||b.style(this.elem,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(by){var bA,bB,bv,bx=a4||bh(),e=true,bz=this.elem,bw=this.options;if(by||bx>=bw.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();bw.animatedProperties[this.prop]=true;for(bA in bw.animatedProperties){if(bw.animatedProperties[bA]!==true){e=false}}if(e){if(bw.overflow!=null&&!b.support.shrinkWrapBlocks){b.each([\"\",\"X\",\"Y\"],function(bC,bD){bz.style[\"overflow\"+bD]=bw.overflow[bC]})}if(bw.hide){b(bz).hide()}if(bw.hide||bw.show){for(bA in bw.animatedProperties){b.style(bz,bA,bw.orig[bA]);b.removeData(bz,\"fxshow\"+bA,true);b.removeData(bz,\"toggle\"+bA,true)}}bv=bw.complete;if(bv){bw.complete=false;bv.call(bz)}}return false}else{if(bw.duration==Infinity){this.now=bx}else{bB=bx-this.startTime;this.state=bB/bw.duration;this.pos=b.easing[bw.animatedProperties[this.prop]](this.state,bB,0,1,bw.duration);this.now=this.start+((this.end-this.start)*this.pos)}this.update()}return true}};b.extend(b.fx,{tick:function(){var bw,bv=b.timers,e=0;for(;e<bv.length;e++){bw=bv[e];if(!bw()&&bv[e]===bw){bv.splice(e--,1)}}if(!bv.length){b.fx.stop()}},interval:13,stop:function(){clearInterval(a3);a3=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(e){b.style(e.elem,\"opacity\",e.now)},_default:function(e){if(e.elem.style&&e.elem.style[e.prop]!=null){e.elem.style[e.prop]=e.now+e.unit}else{e.elem[e.prop]=e.now}}}});b.each([\"width\",\"height\"],function(e,bv){b.fx.step[bv]=function(bw){b.style(bw.elem,bv,Math.max(0,bw.now)+bw.unit)}});if(b.expr&&b.expr.filters){b.expr.filters.animated=function(e){return b.grep(b.timers,function(bv){return e===bv.elem}).length}}function x(bx){if(!Q[bx]){var e=av.body,bv=b(\"<\"+bx+\">\").appendTo(e),bw=bv.css(\"display\");bv.remove();if(bw===\"none\"||bw===\"\"){if(!a8){a8=av.createElement(\"iframe\");a8.frameBorder=a8.width=a8.height=0}e.appendChild(a8);if(!m||!a8.createElement){m=(a8.contentWindow||a8.contentDocument).document;m.write((av.compatMode===\"CSS1Compat\"?\"<!doctype html>\":\"\")+\"<html><body>\");m.close()}bv=m.createElement(bx);m.body.appendChild(bv);bw=b.css(bv,\"display\");e.removeChild(a8)}Q[bx]=bw}return Q[bx]}var V=/^t(?:able|d|h)$/i,ad=/^(?:body|html)$/i;if(\"getBoundingClientRect\" in av.documentElement){b.fn.offset=function(bI){var by=this[0],bB;if(bI){return this.each(function(e){b.offset.setOffset(this,bI,e)})}if(!by||!by.ownerDocument){return null}if(by===by.ownerDocument.body){return b.offset.bodyOffset(by)}try{bB=by.getBoundingClientRect()}catch(bF){}var bH=by.ownerDocument,bw=bH.documentElement;if(!bB||!b.contains(bw,by)){return bB?{top:bB.top,left:bB.left}:{top:0,left:0}}var bC=bH.body,bD=aK(bH),bA=bw.clientTop||bC.clientTop||0,bE=bw.clientLeft||bC.clientLeft||0,bv=bD.pageYOffset||b.support.boxModel&&bw.scrollTop||bC.scrollTop,bz=bD.pageXOffset||b.support.boxModel&&bw.scrollLeft||bC.scrollLeft,bG=bB.top+bv-bA,bx=bB.left+bz-bE;return{top:bG,left:bx}}}else{b.fn.offset=function(bF){var bz=this[0];if(bF){return this.each(function(bG){b.offset.setOffset(this,bF,bG)})}if(!bz||!bz.ownerDocument){return null}if(bz===bz.ownerDocument.body){return b.offset.bodyOffset(bz)}var bC,bw=bz.offsetParent,bv=bz,bE=bz.ownerDocument,bx=bE.documentElement,bA=bE.body,bB=bE.defaultView,e=bB?bB.getComputedStyle(bz,null):bz.currentStyle,bD=bz.offsetTop,by=bz.offsetLeft;while((bz=bz.parentNode)&&bz!==bA&&bz!==bx){if(b.support.fixedPosition&&e.position===\"fixed\"){break}bC=bB?bB.getComputedStyle(bz,null):bz.currentStyle;bD-=bz.scrollTop;by-=bz.scrollLeft;if(bz===bw){bD+=bz.offsetTop;by+=bz.offsetLeft;if(b.support.doesNotAddBorder&&!(b.support.doesAddBorderForTableAndCells&&V.test(bz.nodeName))){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}bv=bw;bw=bz.offsetParent}if(b.support.subtractsBorderForOverflowNotVisible&&bC.overflow!==\"visible\"){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}e=bC}if(e.position===\"relative\"||e.position===\"static\"){bD+=bA.offsetTop;by+=bA.offsetLeft}if(b.support.fixedPosition&&e.position===\"fixed\"){bD+=Math.max(bx.scrollTop,bA.scrollTop);by+=Math.max(bx.scrollLeft,bA.scrollLeft)}return{top:bD,left:by}}}b.offset={bodyOffset:function(e){var bw=e.offsetTop,bv=e.offsetLeft;if(b.support.doesNotIncludeMarginInBodyOffset){bw+=parseFloat(b.css(e,\"marginTop\"))||0;bv+=parseFloat(b.css(e,\"marginLeft\"))||0}return{top:bw,left:bv}},setOffset:function(bx,bG,bA){var bB=b.css(bx,\"position\");if(bB===\"static\"){bx.style.position=\"relative\"}var bz=b(bx),bv=bz.offset(),e=b.css(bx,\"top\"),bE=b.css(bx,\"left\"),bF=(bB===\"absolute\"||bB===\"fixed\")&&b.inArray(\"auto\",[e,bE])>-1,bD={},bC={},bw,by;if(bF){bC=bz.position();bw=bC.top;by=bC.left}else{bw=parseFloat(e)||0;by=parseFloat(bE)||0}if(b.isFunction(bG)){bG=bG.call(bx,bA,bv)}if(bG.top!=null){bD.top=(bG.top-bv.top)+bw}if(bG.left!=null){bD.left=(bG.left-bv.left)+by}if(\"using\" in bG){bG.using.call(bx,bD)}else{bz.css(bD)}}};b.fn.extend({position:function(){if(!this[0]){return null}var bw=this[0],bv=this.offsetParent(),bx=this.offset(),e=ad.test(bv[0].nodeName)?{top:0,left:0}:bv.offset();bx.top-=parseFloat(b.css(bw,\"marginTop\"))||0;bx.left-=parseFloat(b.css(bw,\"marginLeft\"))||0;e.top+=parseFloat(b.css(bv[0],\"borderTopWidth\"))||0;e.left+=parseFloat(b.css(bv[0],\"borderLeftWidth\"))||0;return{top:bx.top-e.top,left:bx.left-e.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||av.body;while(e&&(!ad.test(e.nodeName)&&b.css(e,\"position\")===\"static\")){e=e.offsetParent}return e})}});b.each([\"Left\",\"Top\"],function(bv,e){var bw=\"scroll\"+e;b.fn[bw]=function(bz){var bx,by;if(bz===L){bx=this[0];if(!bx){return null}by=aK(bx);return by?(\"pageXOffset\" in by)?by[bv?\"pageYOffset\":\"pageXOffset\"]:b.support.boxModel&&by.document.documentElement[bw]||by.document.body[bw]:bx[bw]}return this.each(function(){by=aK(this);if(by){by.scrollTo(!bv?bz:b(by).scrollLeft(),bv?bz:b(by).scrollTop())}else{this[bw]=bz}})}});function aK(e){return b.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:false}b.each([\"Height\",\"Width\"],function(bv,e){var bw=e.toLowerCase();b.fn[\"inner\"+e]=function(){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,\"padding\")):this[bw]():null};b.fn[\"outer\"+e]=function(by){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,by?\"margin\":\"border\")):this[bw]():null};b.fn[bw]=function(bz){var bA=this[0];if(!bA){return bz==null?null:this}if(b.isFunction(bz)){return this.each(function(bE){var bD=b(this);bD[bw](bz.call(this,bE,bD[bw]()))})}if(b.isWindow(bA)){var bB=bA.document.documentElement[\"client\"+e],bx=bA.document.body;return bA.document.compatMode===\"CSS1Compat\"&&bB||bx&&bx[\"client\"+e]||bB}else{if(bA.nodeType===9){return Math.max(bA.documentElement[\"client\"+e],bA.body[\"scroll\"+e],bA.documentElement[\"scroll\"+e],bA.body[\"offset\"+e],bA.documentElement[\"offset\"+e])}else{if(bz===L){var bC=b.css(bA,bw),by=parseFloat(bC);return b.isNumeric(by)?by:bC}else{return this.css(bw,typeof bz===\"string\"?bz:bz+\"px\")}}}}});bb.jQuery=bb.$=b;if(typeof define===\"function\"&&define.amd&&define.amd.jQuery){define(\"jquery\",[],function(){return b})}})(window);/*!\n * jQuery UI 1.8.18\n *\n * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)\n * Dual licensed under the MIT or GPL Version 2 licenses.\n * http://jquery.org/license\n *\n * http://docs.jquery.com/UI\n */\n(function(a,d){a.ui=a.ui||{};if(a.ui.version){return}a.extend(a.ui,{version:\"1.8.18\",keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}});a.fn.extend({propAttr:a.fn.prop||a.fn.attr,_focus:a.fn.focus,focus:function(e,f){return typeof e===\"number\"?this.each(function(){var g=this;setTimeout(function(){a(g).focus();if(f){f.call(g)}},e)}):this._focus.apply(this,arguments)},scrollParent:function(){var e;if((a.browser.msie&&(/(static|relative)/).test(this.css(\"position\")))||(/absolute/).test(this.css(\"position\"))){e=this.parents().filter(function(){return(/(relative|absolute|fixed)/).test(a.curCSS(this,\"position\",1))&&(/(auto|scroll)/).test(a.curCSS(this,\"overflow\",1)+a.curCSS(this,\"overflow-y\",1)+a.curCSS(this,\"overflow-x\",1))}).eq(0)}else{e=this.parents().filter(function(){return(/(auto|scroll)/).test(a.curCSS(this,\"overflow\",1)+a.curCSS(this,\"overflow-y\",1)+a.curCSS(this,\"overflow-x\",1))}).eq(0)}return(/fixed/).test(this.css(\"position\"))||!e.length?a(document):e},zIndex:function(h){if(h!==d){return this.css(\"zIndex\",h)}if(this.length){var f=a(this[0]),e,g;while(f.length&&f[0]!==document){e=f.css(\"position\");if(e===\"absolute\"||e===\"relative\"||e===\"fixed\"){g=parseInt(f.css(\"zIndex\"),10);if(!isNaN(g)&&g!==0){return g}}f=f.parent()}}return 0},disableSelection:function(){return this.bind((a.support.selectstart?\"selectstart\":\"mousedown\")+\".ui-disableSelection\",function(e){e.preventDefault()})},enableSelection:function(){return this.unbind(\".ui-disableSelection\")}});a.each([\"Width\",\"Height\"],function(g,e){var f=e===\"Width\"?[\"Left\",\"Right\"]:[\"Top\",\"Bottom\"],h=e.toLowerCase(),k={innerWidth:a.fn.innerWidth,innerHeight:a.fn.innerHeight,outerWidth:a.fn.outerWidth,outerHeight:a.fn.outerHeight};function j(m,l,i,n){a.each(f,function(){l-=parseFloat(a.curCSS(m,\"padding\"+this,true))||0;if(i){l-=parseFloat(a.curCSS(m,\"border\"+this+\"Width\",true))||0}if(n){l-=parseFloat(a.curCSS(m,\"margin\"+this,true))||0}});return l}a.fn[\"inner\"+e]=function(i){if(i===d){return k[\"inner\"+e].call(this)}return this.each(function(){a(this).css(h,j(this,i)+\"px\")})};a.fn[\"outer\"+e]=function(i,l){if(typeof i!==\"number\"){return k[\"outer\"+e].call(this,i)}return this.each(function(){a(this).css(h,j(this,i,true,l)+\"px\")})}});function c(g,e){var j=g.nodeName.toLowerCase();if(\"area\"===j){var i=g.parentNode,h=i.name,f;if(!g.href||!h||i.nodeName.toLowerCase()!==\"map\"){return false}f=a(\"img[usemap=#\"+h+\"]\")[0];return !!f&&b(f)}return(/input|select|textarea|button|object/.test(j)?!g.disabled:\"a\"==j?g.href||e:e)&&b(g)}function b(e){return !a(e).parents().andSelf().filter(function(){return a.curCSS(this,\"visibility\")===\"hidden\"||a.expr.filters.hidden(this)}).length}a.extend(a.expr[\":\"],{data:function(g,f,e){return !!a.data(g,e[3])},focusable:function(e){return c(e,!isNaN(a.attr(e,\"tabindex\")))},tabbable:function(g){var e=a.attr(g,\"tabindex\"),f=isNaN(e);return(f||e>=0)&&c(g,!f)}});a(function(){var e=document.body,f=e.appendChild(f=document.createElement(\"div\"));f.offsetHeight;a.extend(f.style,{minHeight:\"100px\",height:\"auto\",padding:0,borderWidth:0});a.support.minHeight=f.offsetHeight===100;a.support.selectstart=\"onselectstart\" in f;e.removeChild(f).style.display=\"none\"});a.extend(a.ui,{plugin:{add:function(f,g,j){var h=a.ui[f].prototype;for(var e in j){h.plugins[e]=h.plugins[e]||[];h.plugins[e].push([g,j[e]])}},call:function(e,g,f){var j=e.plugins[g];if(!j||!e.element[0].parentNode){return}for(var h=0;h<j.length;h++){if(e.options[j[h][0]]){j[h][1].apply(e.element,f)}}}},contains:function(f,e){return document.compareDocumentPosition?f.compareDocumentPosition(e)&16:f!==e&&f.contains(e)},hasScroll:function(h,f){if(a(h).css(\"overflow\")===\"hidden\"){return false}var e=(f&&f===\"left\")?\"scrollLeft\":\"scrollTop\",g=false;if(h[e]>0){return true}h[e]=1;g=(h[e]>0);h[e]=0;return g},isOverAxis:function(f,e,g){return(f>e)&&(f<(e+g))},isOver:function(j,f,i,h,e,g){return a.ui.isOverAxis(j,i,e)&&a.ui.isOverAxis(f,h,g)}})})(jQuery);/*!\n * jQuery UI Widget 1.8.18\n *\n * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)\n * Dual licensed under the MIT or GPL Version 2 licenses.\n * http://jquery.org/license\n *\n * http://docs.jquery.com/UI/Widget\n */\n(function(b,d){if(b.cleanData){var c=b.cleanData;b.cleanData=function(f){for(var g=0,h;(h=f[g])!=null;g++){try{b(h).triggerHandler(\"remove\")}catch(j){}}c(f)}}else{var a=b.fn.remove;b.fn.remove=function(e,f){return this.each(function(){if(!f){if(!e||b.filter(e,[this]).length){b(\"*\",this).add([this]).each(function(){try{b(this).triggerHandler(\"remove\")}catch(g){}})}}return a.call(b(this),e,f)})}}b.widget=function(f,h,e){var g=f.split(\".\")[0],j;f=f.split(\".\")[1];j=g+\"-\"+f;if(!e){e=h;h=b.Widget}b.expr[\":\"][j]=function(k){return !!b.data(k,f)};b[g]=b[g]||{};b[g][f]=function(k,l){if(arguments.length){this._createWidget(k,l)}};var i=new h();i.options=b.extend(true,{},i.options);b[g][f].prototype=b.extend(true,i,{namespace:g,widgetName:f,widgetEventPrefix:b[g][f].prototype.widgetEventPrefix||f,widgetBaseClass:j},e);b.widget.bridge(f,b[g][f])};b.widget.bridge=function(f,e){b.fn[f]=function(i){var g=typeof i===\"string\",h=Array.prototype.slice.call(arguments,1),j=this;i=!g&&h.length?b.extend.apply(null,[true,i].concat(h)):i;if(g&&i.charAt(0)===\"_\"){return j}if(g){this.each(function(){var k=b.data(this,f),l=k&&b.isFunction(k[i])?k[i].apply(k,h):k;if(l!==k&&l!==d){j=l;return false}})}else{this.each(function(){var k=b.data(this,f);if(k){k.option(i||{})._init()}else{b.data(this,f,new e(i,this))}})}return j}};b.Widget=function(e,f){if(arguments.length){this._createWidget(e,f)}};b.Widget.prototype={widgetName:\"widget\",widgetEventPrefix:\"\",options:{disabled:false},_createWidget:function(f,g){b.data(g,this.widgetName,this);this.element=b(g);this.options=b.extend(true,{},this.options,this._getCreateOptions(),f);var e=this;this.element.bind(\"remove.\"+this.widgetName,function(){e.destroy()});this._create();this._trigger(\"create\");this._init()},_getCreateOptions:function(){return b.metadata&&b.metadata.get(this.element[0])[this.widgetName]},_create:function(){},_init:function(){},destroy:function(){this.element.unbind(\".\"+this.widgetName).removeData(this.widgetName);this.widget().unbind(\".\"+this.widgetName).removeAttr(\"aria-disabled\").removeClass(this.widgetBaseClass+\"-disabled ui-state-disabled\")},widget:function(){return this.element},option:function(f,g){var e=f;if(arguments.length===0){return b.extend({},this.options)}if(typeof f===\"string\"){if(g===d){return this.options[f]}e={};e[f]=g}this._setOptions(e);return this},_setOptions:function(f){var e=this;b.each(f,function(g,h){e._setOption(g,h)});return this},_setOption:function(e,f){this.options[e]=f;if(e===\"disabled\"){this.widget()[f?\"addClass\":\"removeClass\"](this.widgetBaseClass+\"-disabled ui-state-disabled\").attr(\"aria-disabled\",f)}return this},enable:function(){return this._setOption(\"disabled\",false)},disable:function(){return this._setOption(\"disabled\",true)},_trigger:function(e,f,g){var j,i,h=this.options[e];g=g||{};f=b.Event(f);f.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase();f.target=this.element[0];i=f.originalEvent;if(i){for(j in i){if(!(j in f)){f[j]=i[j]}}}this.element.trigger(f,g);return !(b.isFunction(h)&&h.call(this.element[0],f,g)===false||f.isDefaultPrevented())}}})(jQuery);/*!\n * jQuery UI Mouse 1.8.18\n *\n * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)\n * Dual licensed under the MIT or GPL Version 2 licenses.\n * http://jquery.org/license\n *\n * http://docs.jquery.com/UI/Mouse\n *\n * Depends:\n *\tjquery.ui.widget.js\n */\n(function(b,c){var a=false;b(document).mouseup(function(d){a=false});b.widget(\"ui.mouse\",{options:{cancel:\":input,option\",distance:1,delay:0},_mouseInit:function(){var d=this;this.element.bind(\"mousedown.\"+this.widgetName,function(e){return d._mouseDown(e)}).bind(\"click.\"+this.widgetName,function(e){if(true===b.data(e.target,d.widgetName+\".preventClickEvent\")){b.removeData(e.target,d.widgetName+\".preventClickEvent\");e.stopImmediatePropagation();return false}});this.started=false},_mouseDestroy:function(){this.element.unbind(\".\"+this.widgetName)},_mouseDown:function(f){if(a){return}(this._mouseStarted&&this._mouseUp(f));this._mouseDownEvent=f;var e=this,g=(f.which==1),d=(typeof this.options.cancel==\"string\"&&f.target.nodeName?b(f.target).closest(this.options.cancel).length:false);if(!g||d||!this._mouseCapture(f)){return true}this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet){this._mouseDelayTimer=setTimeout(function(){e.mouseDelayMet=true},this.options.delay)}if(this._mouseDistanceMet(f)&&this._mouseDelayMet(f)){this._mouseStarted=(this._mouseStart(f)!==false);if(!this._mouseStarted){f.preventDefault();return true}}if(true===b.data(f.target,this.widgetName+\".preventClickEvent\")){b.removeData(f.target,this.widgetName+\".preventClickEvent\")}this._mouseMoveDelegate=function(h){return e._mouseMove(h)};this._mouseUpDelegate=function(h){return e._mouseUp(h)};b(document).bind(\"mousemove.\"+this.widgetName,this._mouseMoveDelegate).bind(\"mouseup.\"+this.widgetName,this._mouseUpDelegate);f.preventDefault();a=true;return true},_mouseMove:function(d){if(b.browser.msie&&!(document.documentMode>=9)&&!d.button){return this._mouseUp(d)}if(this._mouseStarted){this._mouseDrag(d);return d.preventDefault()}if(this._mouseDistanceMet(d)&&this._mouseDelayMet(d)){this._mouseStarted=(this._mouseStart(this._mouseDownEvent,d)!==false);(this._mouseStarted?this._mouseDrag(d):this._mouseUp(d))}return !this._mouseStarted},_mouseUp:function(d){b(document).unbind(\"mousemove.\"+this.widgetName,this._mouseMoveDelegate).unbind(\"mouseup.\"+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;if(d.target==this._mouseDownEvent.target){b.data(d.target,this.widgetName+\".preventClickEvent\",true)}this._mouseStop(d)}return false},_mouseDistanceMet:function(d){return(Math.max(Math.abs(this._mouseDownEvent.pageX-d.pageX),Math.abs(this._mouseDownEvent.pageY-d.pageY))>=this.options.distance)},_mouseDelayMet:function(d){return this.mouseDelayMet},_mouseStart:function(d){},_mouseDrag:function(d){},_mouseStop:function(d){},_mouseCapture:function(d){return true}})})(jQuery);(function(c,d){c.widget(\"ui.resizable\",c.ui.mouse,{widgetEventPrefix:\"resize\",options:{alsoResize:false,animate:false,animateDuration:\"slow\",animateEasing:\"swing\",aspectRatio:false,autoHide:false,containment:false,ghost:false,grid:false,handles:\"e,s,se\",helper:false,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:1000},_create:function(){var f=this,k=this.options;this.element.addClass(\"ui-resizable\");c.extend(this,{_aspectRatio:!!(k.aspectRatio),aspectRatio:k.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:k.helper||k.ghost||k.animate?k.helper||\"ui-resizable-helper\":null});if(this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)){this.element.wrap(c('<div class=\"ui-wrapper\" style=\"overflow: hidden;\"></div>').css({position:this.element.css(\"position\"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css(\"top\"),left:this.element.css(\"left\")}));this.element=this.element.parent().data(\"resizable\",this.element.data(\"resizable\"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css(\"marginLeft\"),marginTop:this.originalElement.css(\"marginTop\"),marginRight:this.originalElement.css(\"marginRight\"),marginBottom:this.originalElement.css(\"marginBottom\")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});this.originalResizeStyle=this.originalElement.css(\"resize\");this.originalElement.css(\"resize\",\"none\");this._proportionallyResizeElements.push(this.originalElement.css({position:\"static\",zoom:1,display:\"block\"}));this.originalElement.css({margin:this.originalElement.css(\"margin\")});this._proportionallyResize()}this.handles=k.handles||(!c(\".ui-resizable-handle\",this.element).length?\"e,s,se\":{n:\".ui-resizable-n\",e:\".ui-resizable-e\",s:\".ui-resizable-s\",w:\".ui-resizable-w\",se:\".ui-resizable-se\",sw:\".ui-resizable-sw\",ne:\".ui-resizable-ne\",nw:\".ui-resizable-nw\"});if(this.handles.constructor==String){if(this.handles==\"all\"){this.handles=\"n,e,s,w,se,sw,ne,nw\"}var l=this.handles.split(\",\");this.handles={};for(var g=0;g<l.length;g++){var j=c.trim(l[g]),e=\"ui-resizable-\"+j;var h=c('<div class=\"ui-resizable-handle '+e+'\"></div>');if(/sw|se|ne|nw/.test(j)){h.css({zIndex:++k.zIndex})}if(\"se\"==j){h.addClass(\"ui-icon ui-icon-gripsmall-diagonal-se\")}this.handles[j]=\".ui-resizable-\"+j;this.element.append(h)}}this._renderAxis=function(q){q=q||this.element;for(var n in this.handles){if(this.handles[n].constructor==String){this.handles[n]=c(this.handles[n],this.element).show()}if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var o=c(this.handles[n],this.element),p=0;p=/sw|ne|nw|se|n|s/.test(n)?o.outerHeight():o.outerWidth();var m=[\"padding\",/ne|nw|n/.test(n)?\"Top\":/se|sw|s/.test(n)?\"Bottom\":/^e$/.test(n)?\"Right\":\"Left\"].join(\"\");q.css(m,p);this._proportionallyResize()}if(!c(this.handles[n]).length){continue}}};this._renderAxis(this.element);this._handles=c(\".ui-resizable-handle\",this.element).disableSelection();this._handles.mouseover(function(){if(!f.resizing){if(this.className){var i=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)}f.axis=i&&i[1]?i[1]:\"se\"}});if(k.autoHide){this._handles.hide();c(this.element).addClass(\"ui-resizable-autohide\").hover(function(){if(k.disabled){return}c(this).removeClass(\"ui-resizable-autohide\");f._handles.show()},function(){if(k.disabled){return}if(!f.resizing){c(this).addClass(\"ui-resizable-autohide\");f._handles.hide()}})}this._mouseInit()},destroy:function(){this._mouseDestroy();var e=function(g){c(g).removeClass(\"ui-resizable ui-resizable-disabled ui-resizable-resizing\").removeData(\"resizable\").unbind(\".resizable\").find(\".ui-resizable-handle\").remove()};if(this.elementIsWrapper){e(this.element);var f=this.element;f.after(this.originalElement.css({position:f.css(\"position\"),width:f.outerWidth(),height:f.outerHeight(),top:f.css(\"top\"),left:f.css(\"left\")})).remove()}this.originalElement.css(\"resize\",this.originalResizeStyle);e(this.originalElement);return this},_mouseCapture:function(f){var g=false;for(var e in this.handles){if(c(this.handles[e])[0]==f.target){g=true}}return !this.options.disabled&&g},_mouseStart:function(g){var j=this.options,f=this.element.position(),e=this.element;this.resizing=true;this.documentScroll={top:c(document).scrollTop(),left:c(document).scrollLeft()};if(e.is(\".ui-draggable\")||(/absolute/).test(e.css(\"position\"))){e.css({position:\"absolute\",top:f.top,left:f.left})}this._renderProxy();var k=b(this.helper.css(\"left\")),h=b(this.helper.css(\"top\"));if(j.containment){k+=c(j.containment).scrollLeft()||0;h+=c(j.containment).scrollTop()||0}this.offset=this.helper.offset();this.position={left:k,top:h};this.size=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalSize=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalPosition={left:k,top:h};this.sizeDiff={width:e.outerWidth()-e.width(),height:e.outerHeight()-e.height()};this.originalMousePosition={left:g.pageX,top:g.pageY};this.aspectRatio=(typeof j.aspectRatio==\"number\")?j.aspectRatio:((this.originalSize.width/this.originalSize.height)||1);var i=c(\".ui-resizable-\"+this.axis).css(\"cursor\");c(\"body\").css(\"cursor\",i==\"auto\"?this.axis+\"-resize\":i);e.addClass(\"ui-resizable-resizing\");this._propagate(\"start\",g);return true},_mouseDrag:function(e){var h=this.helper,g=this.options,m={},q=this,j=this.originalMousePosition,n=this.axis;var r=(e.pageX-j.left)||0,p=(e.pageY-j.top)||0;var i=this._change[n];if(!i){return false}var l=i.apply(this,[e,r,p]),k=c.browser.msie&&c.browser.version<7,f=this.sizeDiff;this._updateVirtualBoundaries(e.shiftKey);if(this._aspectRatio||e.shiftKey){l=this._updateRatio(l,e)}l=this._respectSize(l,e);this._propagate(\"resize\",e);h.css({top:this.position.top+\"px\",left:this.position.left+\"px\",width:this.size.width+\"px\",height:this.size.height+\"px\"});if(!this._helper&&this._proportionallyResizeElements.length){this._proportionallyResize()}this._updateCache(l);this._trigger(\"resize\",e,this.ui());return false},_mouseStop:function(h){this.resizing=false;var i=this.options,m=this;if(this._helper){var g=this._proportionallyResizeElements,e=g.length&&(/textarea/i).test(g[0].nodeName),f=e&&c.ui.hasScroll(g[0],\"left\")?0:m.sizeDiff.height,k=e?0:m.sizeDiff.width;var n={width:(m.helper.width()-k),height:(m.helper.height()-f)},j=(parseInt(m.element.css(\"left\"),10)+(m.position.left-m.originalPosition.left))||null,l=(parseInt(m.element.css(\"top\"),10)+(m.position.top-m.originalPosition.top))||null;if(!i.animate){this.element.css(c.extend(n,{top:l,left:j}))}m.helper.height(m.size.height);m.helper.width(m.size.width);if(this._helper&&!i.animate){this._proportionallyResize()}}c(\"body\").css(\"cursor\",\"auto\");this.element.removeClass(\"ui-resizable-resizing\");this._propagate(\"stop\",h);if(this._helper){this.helper.remove()}return false},_updateVirtualBoundaries:function(g){var j=this.options,i,h,f,k,e;e={minWidth:a(j.minWidth)?j.minWidth:0,maxWidth:a(j.maxWidth)?j.maxWidth:Infinity,minHeight:a(j.minHeight)?j.minHeight:0,maxHeight:a(j.maxHeight)?j.maxHeight:Infinity};if(this._aspectRatio||g){i=e.minHeight*this.aspectRatio;f=e.minWidth/this.aspectRatio;h=e.maxHeight*this.aspectRatio;k=e.maxWidth/this.aspectRatio;if(i>e.minWidth){e.minWidth=i}if(f>e.minHeight){e.minHeight=f}if(h<e.maxWidth){e.maxWidth=h}if(k<e.maxHeight){e.maxHeight=k}}this._vBoundaries=e},_updateCache:function(e){var f=this.options;this.offset=this.helper.offset();if(a(e.left)){this.position.left=e.left}if(a(e.top)){this.position.top=e.top}if(a(e.height)){this.size.height=e.height}if(a(e.width)){this.size.width=e.width}},_updateRatio:function(h,g){var i=this.options,j=this.position,f=this.size,e=this.axis;if(a(h.height)){h.width=(h.height*this.aspectRatio)}else{if(a(h.width)){h.height=(h.width/this.aspectRatio)}}if(e==\"sw\"){h.left=j.left+(f.width-h.width);h.top=null}if(e==\"nw\"){h.top=j.top+(f.height-h.height);h.left=j.left+(f.width-h.width)}return h},_respectSize:function(l,g){var j=this.helper,i=this._vBoundaries,r=this._aspectRatio||g.shiftKey,q=this.axis,t=a(l.width)&&i.maxWidth&&(i.maxWidth<l.width),m=a(l.height)&&i.maxHeight&&(i.maxHeight<l.height),h=a(l.width)&&i.minWidth&&(i.minWidth>l.width),s=a(l.height)&&i.minHeight&&(i.minHeight>l.height);if(h){l.width=i.minWidth}if(s){l.height=i.minHeight}if(t){l.width=i.maxWidth}if(m){l.height=i.maxHeight}var f=this.originalPosition.left+this.originalSize.width,p=this.position.top+this.size.height;var k=/sw|nw|w/.test(q),e=/nw|ne|n/.test(q);if(h&&k){l.left=f-i.minWidth}if(t&&k){l.left=f-i.maxWidth}if(s&&e){l.top=p-i.minHeight}if(m&&e){l.top=p-i.maxHeight}var n=!l.width&&!l.height;if(n&&!l.left&&l.top){l.top=null}else{if(n&&!l.top&&l.left){l.left=null}}return l},_proportionallyResize:function(){var k=this.options;if(!this._proportionallyResizeElements.length){return}var g=this.helper||this.element;for(var f=0;f<this._proportionallyResizeElements.length;f++){var h=this._proportionallyResizeElements[f];if(!this.borderDif){var e=[h.css(\"borderTopWidth\"),h.css(\"borderRightWidth\"),h.css(\"borderBottomWidth\"),h.css(\"borderLeftWidth\")],j=[h.css(\"paddingTop\"),h.css(\"paddingRight\"),h.css(\"paddingBottom\"),h.css(\"paddingLeft\")];this.borderDif=c.map(e,function(l,n){var m=parseInt(l,10)||0,o=parseInt(j[n],10)||0;return m+o})}if(c.browser.msie&&!(!(c(g).is(\":hidden\")||c(g).parents(\":hidden\").length))){continue}h.css({height:(g.height()-this.borderDif[0]-this.borderDif[2])||0,width:(g.width()-this.borderDif[1]-this.borderDif[3])||0})}},_renderProxy:function(){var f=this.element,i=this.options;this.elementOffset=f.offset();if(this._helper){this.helper=this.helper||c('<div style=\"overflow:hidden;\"></div>');var e=c.browser.msie&&c.browser.version<7,g=(e?1:0),h=(e?2:-1);this.helper.addClass(this._helper).css({width:this.element.outerWidth()+h,height:this.element.outerHeight()+h,position:\"absolute\",left:this.elementOffset.left-g+\"px\",top:this.elementOffset.top-g+\"px\",zIndex:++i.zIndex});this.helper.appendTo(\"body\").disableSelection()}else{this.helper=this.element}},_change:{e:function(g,f,e){return{width:this.originalSize.width+f}},w:function(h,f,e){var j=this.options,g=this.originalSize,i=this.originalPosition;return{left:i.left+f,width:g.width-f}},n:function(h,f,e){var j=this.options,g=this.originalSize,i=this.originalPosition;return{top:i.top+e,height:g.height-e}},s:function(g,f,e){return{height:this.originalSize.height+e}},se:function(g,f,e){return c.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[g,f,e]))},sw:function(g,f,e){return c.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[g,f,e]))},ne:function(g,f,e){return c.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[g,f,e]))},nw:function(g,f,e){return c.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[g,f,e]))}},_propagate:function(f,e){c.ui.plugin.call(this,f,[e,this.ui()]);(f!=\"resize\"&&this._trigger(f,e,this.ui()))},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}});c.extend(c.ui.resizable,{version:\"1.8.18\"});c.ui.plugin.add(\"resizable\",\"alsoResize\",{start:function(f,g){var e=c(this).data(\"resizable\"),i=e.options;var h=function(j){c(j).each(function(){var k=c(this);k.data(\"resizable-alsoresize\",{width:parseInt(k.width(),10),height:parseInt(k.height(),10),left:parseInt(k.css(\"left\"),10),top:parseInt(k.css(\"top\"),10)})})};if(typeof(i.alsoResize)==\"object\"&&!i.alsoResize.parentNode){if(i.alsoResize.length){i.alsoResize=i.alsoResize[0];h(i.alsoResize)}else{c.each(i.alsoResize,function(j){h(j)})}}else{h(i.alsoResize)}},resize:function(g,i){var f=c(this).data(\"resizable\"),j=f.options,h=f.originalSize,l=f.originalPosition;var k={height:(f.size.height-h.height)||0,width:(f.size.width-h.width)||0,top:(f.position.top-l.top)||0,left:(f.position.left-l.left)||0},e=function(m,n){c(m).each(function(){var q=c(this),r=c(this).data(\"resizable-alsoresize\"),p={},o=n&&n.length?n:q.parents(i.originalElement[0]).length?[\"width\",\"height\"]:[\"width\",\"height\",\"top\",\"left\"];c.each(o,function(s,u){var t=(r[u]||0)+(k[u]||0);if(t&&t>=0){p[u]=t||null}});q.css(p)})};if(typeof(j.alsoResize)==\"object\"&&!j.alsoResize.nodeType){c.each(j.alsoResize,function(m,n){e(m,n)})}else{e(j.alsoResize)}},stop:function(e,f){c(this).removeData(\"resizable-alsoresize\")}});c.ui.plugin.add(\"resizable\",\"animate\",{stop:function(i,n){var p=c(this).data(\"resizable\"),j=p.options;var h=p._proportionallyResizeElements,e=h.length&&(/textarea/i).test(h[0].nodeName),f=e&&c.ui.hasScroll(h[0],\"left\")?0:p.sizeDiff.height,l=e?0:p.sizeDiff.width;var g={width:(p.size.width-l),height:(p.size.height-f)},k=(parseInt(p.element.css(\"left\"),10)+(p.position.left-p.originalPosition.left))||null,m=(parseInt(p.element.css(\"top\"),10)+(p.position.top-p.originalPosition.top))||null;p.element.animate(c.extend(g,m&&k?{top:m,left:k}:{}),{duration:j.animateDuration,easing:j.animateEasing,step:function(){var o={width:parseInt(p.element.css(\"width\"),10),height:parseInt(p.element.css(\"height\"),10),top:parseInt(p.element.css(\"top\"),10),left:parseInt(p.element.css(\"left\"),10)};if(h&&h.length){c(h[0]).css({width:o.width,height:o.height})}p._updateCache(o);p._propagate(\"resize\",i)}})}});c.ui.plugin.add(\"resizable\",\"containment\",{start:function(f,r){var t=c(this).data(\"resizable\"),j=t.options,l=t.element;var g=j.containment,k=(g instanceof c)?g.get(0):(/parent/.test(g))?l.parent().get(0):g;if(!k){return}t.containerElement=c(k);if(/document/.test(g)||g==document){t.containerOffset={left:0,top:0};t.containerPosition={left:0,top:0};t.parentData={element:c(document),left:0,top:0,width:c(document).width(),height:c(document).height()||document.body.parentNode.scrollHeight}}else{var n=c(k),i=[];c([\"Top\",\"Right\",\"Left\",\"Bottom\"]).each(function(p,o){i[p]=b(n.css(\"padding\"+o))});t.containerOffset=n.offset();t.containerPosition=n.position();t.containerSize={height:(n.innerHeight()-i[3]),width:(n.innerWidth()-i[1])};var q=t.containerOffset,e=t.containerSize.height,m=t.containerSize.width,h=(c.ui.hasScroll(k,\"left\")?k.scrollWidth:m),s=(c.ui.hasScroll(k)?k.scrollHeight:e);t.parentData={element:k,left:q.left,top:q.top,width:h,height:s}}},resize:function(g,q){var t=c(this).data(\"resizable\"),i=t.options,f=t.containerSize,p=t.containerOffset,m=t.size,n=t.position,r=t._aspectRatio||g.shiftKey,e={top:0,left:0},h=t.containerElement;if(h[0]!=document&&(/static/).test(h.css(\"position\"))){e=p}if(n.left<(t._helper?p.left:0)){t.size.width=t.size.width+(t._helper?(t.position.left-p.left):(t.position.left-e.left));if(r){t.size.height=t.size.width/i.aspectRatio}t.position.left=i.helper?p.left:0}if(n.top<(t._helper?p.top:0)){t.size.height=t.size.height+(t._helper?(t.position.top-p.top):t.position.top);if(r){t.size.width=t.size.height*i.aspectRatio}t.position.top=t._helper?p.top:0}t.offset.left=t.parentData.left+t.position.left;t.offset.top=t.parentData.top+t.position.top;var l=Math.abs((t._helper?t.offset.left-e.left:(t.offset.left-e.left))+t.sizeDiff.width),s=Math.abs((t._helper?t.offset.top-e.top:(t.offset.top-p.top))+t.sizeDiff.height);var k=t.containerElement.get(0)==t.element.parent().get(0),j=/relative|absolute/.test(t.containerElement.css(\"position\"));if(k&&j){l-=t.parentData.left}if(l+t.size.width>=t.parentData.width){t.size.width=t.parentData.width-l;if(r){t.size.height=t.size.width/t.aspectRatio}}if(s+t.size.height>=t.parentData.height){t.size.height=t.parentData.height-s;if(r){t.size.width=t.size.height*t.aspectRatio}}},stop:function(f,n){var q=c(this).data(\"resizable\"),g=q.options,l=q.position,m=q.containerOffset,e=q.containerPosition,i=q.containerElement;var j=c(q.helper),r=j.offset(),p=j.outerWidth()-q.sizeDiff.width,k=j.outerHeight()-q.sizeDiff.height;if(q._helper&&!g.animate&&(/relative/).test(i.css(\"position\"))){c(this).css({left:r.left-e.left-m.left,width:p,height:k})}if(q._helper&&!g.animate&&(/static/).test(i.css(\"position\"))){c(this).css({left:r.left-e.left-m.left,width:p,height:k})}}});c.ui.plugin.add(\"resizable\",\"ghost\",{start:function(g,h){var e=c(this).data(\"resizable\"),i=e.options,f=e.size;e.ghost=e.originalElement.clone();e.ghost.css({opacity:0.25,display:\"block\",position:\"relative\",height:f.height,width:f.width,margin:0,left:0,top:0}).addClass(\"ui-resizable-ghost\").addClass(typeof i.ghost==\"string\"?i.ghost:\"\");e.ghost.appendTo(e.helper)},resize:function(f,g){var e=c(this).data(\"resizable\"),h=e.options;if(e.ghost){e.ghost.css({position:\"relative\",height:e.size.height,width:e.size.width})}},stop:function(f,g){var e=c(this).data(\"resizable\"),h=e.options;if(e.ghost&&e.helper){e.helper.get(0).removeChild(e.ghost.get(0))}}});c.ui.plugin.add(\"resizable\",\"grid\",{resize:function(e,m){var p=c(this).data(\"resizable\"),h=p.options,k=p.size,i=p.originalSize,j=p.originalPosition,n=p.axis,l=h._aspectRatio||e.shiftKey;h.grid=typeof h.grid==\"number\"?[h.grid,h.grid]:h.grid;var g=Math.round((k.width-i.width)/(h.grid[0]||1))*(h.grid[0]||1),f=Math.round((k.height-i.height)/(h.grid[1]||1))*(h.grid[1]||1);if(/^(se|s|e)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f}else{if(/^(ne)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f;p.position.top=j.top-f}else{if(/^(sw)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f;p.position.left=j.left-g}else{p.size.width=i.width+g;p.size.height=i.height+f;p.position.top=j.top-f;p.position.left=j.left-g}}}}});var b=function(e){return parseInt(e,10)||0};var a=function(e){return !isNaN(parseInt(e,10))}})(jQuery);/*!\n * jQuery hashchange event - v1.3 - 7/21/2010\n * http://benalman.com/projects/jquery-hashchange-plugin/\n * \n * Copyright (c) 2010 \"Cowboy\" Ben Alman\n * Dual licensed under the MIT and GPL licenses.\n * http://benalman.com/about/license/\n */\n(function($,e,b){var c=\"hashchange\",h=document,f,g=$.event.special,i=h.documentMode,d=\"on\"+c in e&&(i===b||i>7);function a(j){j=j||location.href;return\"#\"+j.replace(/^[^#]*#?(.*)$/,\"$1\")}$.fn[c]=function(j){return j?this.bind(c,j):this.trigger(c)};$.fn[c].delay=50;g[c]=$.extend(g[c],{setup:function(){if(d){return false}$(f.start)},teardown:function(){if(d){return false}$(f.stop)}});f=(function(){var j={},p,m=a(),k=function(q){return q},l=k,o=k;j.start=function(){p||n()};j.stop=function(){p&&clearTimeout(p);p=b};function n(){var r=a(),q=o(m);if(r!==m){l(m=r,q);$(e).trigger(c)}else{if(q!==m){location.href=location.href.replace(/#.*/,\"\")+q}}p=setTimeout(n,$.fn[c].delay)}$.browser.msie&&!d&&(function(){var q,r;j.start=function(){if(!q){r=$.fn[c].src;r=r&&r+a();q=$('<iframe tabindex=\"-1\" title=\"empty\"/>').hide().one(\"load\",function(){r||l(a());n()}).attr(\"src\",r||\"javascript:0\").insertAfter(\"body\")[0].contentWindow;h.onpropertychange=function(){try{if(event.propertyName===\"title\"){q.document.title=h.title}}catch(s){}}}};j.stop=k;o=function(){return a(q.location.href)};l=function(v,s){var u=q.document,t=$.fn[c].domain;if(v!==s){u.title=h.title;u.open();t&&u.write('<script>document.domain=\"'+t+'\"<\\/script>');u.close();q.location.hash=v}}})();return j})()})(jQuery,this);(function(c){var a=c.scrollTo=function(f,e,d){c(window).scrollTo(f,e,d)};a.defaults={axis:\"xy\",duration:parseFloat(c.fn.jquery)>=1.3?0:1};a.window=function(d){return c(window)._scrollable()};c.fn._scrollable=function(){return this.map(function(){var e=this,d=!e.nodeName||c.inArray(e.nodeName.toLowerCase(),[\"iframe\",\"#document\",\"html\",\"body\"])!=-1;if(!d){return e}var f=(e.contentWindow||e).document||e.ownerDocument||e;return c.browser.safari||f.compatMode==\"BackCompat\"?f.body:f.documentElement})};c.fn.scrollTo=function(f,e,d){if(typeof e==\"object\"){d=e;e=0}if(typeof d==\"function\"){d={onAfter:d}}if(f==\"max\"){f=9000000000}d=c.extend({},a.defaults,d);e=e||d.speed||d.duration;d.queue=d.queue&&d.axis.length>1;if(d.queue){e/=2}d.offset=b(d.offset);d.over=b(d.over);return this._scrollable().each(function(){var l=this,j=c(l),k=f,i,g={},m=j.is(\"html,body\");switch(typeof k){case\"number\":case\"string\":if(/^([+-]=)?\\d+(\\.\\d+)?(px|%)?$/.test(k)){k=b(k);break}k=c(k,this);case\"object\":if(k.is||k.style){i=(k=c(k)).offset()}}c.each(d.axis.split(\"\"),function(q,r){var s=r==\"x\"?\"Left\":\"Top\",u=s.toLowerCase(),p=\"scroll\"+s,o=l[p],n=a.max(l,r);if(i){g[p]=i[u]+(m?0:o-j.offset()[u]);if(d.margin){g[p]-=parseInt(k.css(\"margin\"+s))||0;g[p]-=parseInt(k.css(\"border\"+s+\"Width\"))||0}g[p]+=d.offset[u]||0;if(d.over[u]){g[p]+=k[r==\"x\"?\"width\":\"height\"]()*d.over[u]}}else{var t=k[u];g[p]=t.slice&&t.slice(-1)==\"%\"?parseFloat(t)/100*n:t}if(/^\\d+$/.test(g[p])){g[p]=g[p]<=0?0:Math.min(g[p],n)}if(!q&&d.queue){if(o!=g[p]){h(d.onAfterFirst)}delete g[p]}});h(d.onAfter);function h(n){j.animate(g,e,d.easing,n&&function(){n.call(this,f,d)})}}).end()};a.max=function(j,i){var h=i==\"x\"?\"Width\":\"Height\",e=\"scroll\"+h;if(!c(j).is(\"html,body\")){return j[e]-c(j)[h.toLowerCase()]()}var g=\"client\"+h,f=j.ownerDocument.documentElement,d=j.ownerDocument.body;return Math.max(f[e],d[e])-Math.min(f[g],d[g])};function b(d){return typeof d==\"object\"?d:{top:d,left:d}}})(jQuery);/*!\n PowerTip - v1.2.0 - 2013-04-03\n http://stevenbenner.github.com/jquery-powertip/\n Copyright (c) 2013 Steven Benner (http://stevenbenner.com/).\n Released under MIT license.\n https://raw.github.com/stevenbenner/jquery-powertip/master/LICENSE.txt\n*/\n(function(a){if(typeof define===\"function\"&&define.amd){define([\"jquery\"],a)}else{a(jQuery)}}(function(k){var A=k(document),s=k(window),w=k(\"body\");var n=\"displayController\",e=\"hasActiveHover\",d=\"forcedOpen\",u=\"hasMouseMove\",f=\"mouseOnToPopup\",g=\"originalTitle\",y=\"powertip\",o=\"powertipjq\",l=\"powertiptarget\",E=180/Math.PI;var c={isTipOpen:false,isFixedTipOpen:false,isClosing:false,tipOpenImminent:false,activeHover:null,currentX:0,currentY:0,previousX:0,previousY:0,desyncTimeout:null,mouseTrackingActive:false,delayInProgress:false,windowWidth:0,windowHeight:0,scrollTop:0,scrollLeft:0};var p={none:0,top:1,bottom:2,left:4,right:8};k.fn.powerTip=function(F,N){if(!this.length){return this}if(k.type(F)===\"string\"&&k.powerTip[F]){return k.powerTip[F].call(this,this,N)}var O=k.extend({},k.fn.powerTip.defaults,F),G=new x(O);h();this.each(function M(){var R=k(this),Q=R.data(y),P=R.data(o),T=R.data(l),S;if(R.data(n)){k.powerTip.destroy(R)}S=R.attr(\"title\");if(!Q&&!T&&!P&&S){R.data(y,S);R.data(g,S);R.removeAttr(\"title\")}R.data(n,new t(R,O,G))});if(!O.manual){this.on({\"mouseenter.powertip\":function J(P){k.powerTip.show(this,P)},\"mouseleave.powertip\":function L(){k.powerTip.hide(this)},\"focus.powertip\":function K(){k.powerTip.show(this)},\"blur.powertip\":function H(){k.powerTip.hide(this,true)},\"keydown.powertip\":function I(P){if(P.keyCode===27){k.powerTip.hide(this,true)}}})}return this};k.fn.powerTip.defaults={fadeInTime:200,fadeOutTime:100,followMouse:false,popupId:\"powerTip\",intentSensitivity:7,intentPollInterval:100,closeDelay:100,placement:\"n\",smartPlacement:false,offset:10,mouseOnToPopup:false,manual:false};k.fn.powerTip.smartPlacementLists={n:[\"n\",\"ne\",\"nw\",\"s\"],e:[\"e\",\"ne\",\"se\",\"w\",\"nw\",\"sw\",\"n\",\"s\",\"e\"],s:[\"s\",\"se\",\"sw\",\"n\"],w:[\"w\",\"nw\",\"sw\",\"e\",\"ne\",\"se\",\"n\",\"s\",\"w\"],nw:[\"nw\",\"w\",\"sw\",\"n\",\"s\",\"se\",\"nw\"],ne:[\"ne\",\"e\",\"se\",\"n\",\"s\",\"sw\",\"ne\"],sw:[\"sw\",\"w\",\"nw\",\"s\",\"n\",\"ne\",\"sw\"],se:[\"se\",\"e\",\"ne\",\"s\",\"n\",\"nw\",\"se\"],\"nw-alt\":[\"nw-alt\",\"n\",\"ne-alt\",\"sw-alt\",\"s\",\"se-alt\",\"w\",\"e\"],\"ne-alt\":[\"ne-alt\",\"n\",\"nw-alt\",\"se-alt\",\"s\",\"sw-alt\",\"e\",\"w\"],\"sw-alt\":[\"sw-alt\",\"s\",\"se-alt\",\"nw-alt\",\"n\",\"ne-alt\",\"w\",\"e\"],\"se-alt\":[\"se-alt\",\"s\",\"sw-alt\",\"ne-alt\",\"n\",\"nw-alt\",\"e\",\"w\"]};k.powerTip={show:function z(F,G){if(G){i(G);c.previousX=G.pageX;c.previousY=G.pageY;k(F).data(n).show()}else{k(F).first().data(n).show(true,true)}return F},reposition:function r(F){k(F).first().data(n).resetPosition();return F},hide:function D(G,F){if(G){k(G).first().data(n).hide(F)}else{if(c.activeHover){c.activeHover.data(n).hide(true)}}return G},destroy:function C(G){k(G).off(\".powertip\").each(function F(){var I=k(this),H=[g,n,e,d];if(I.data(g)){I.attr(\"title\",I.data(g));H.push(y)}I.removeData(H)});return G}};k.powerTip.showTip=k.powerTip.show;k.powerTip.closeTip=k.powerTip.hide;function b(){var F=this;F.top=\"auto\";F.left=\"auto\";F.right=\"auto\";F.bottom=\"auto\";F.set=function(H,G){if(k.isNumeric(G)){F[H]=Math.round(G)}}}function t(K,N,F){var J=null;function L(P,Q){M();if(!K.data(e)){if(!P){c.tipOpenImminent=true;J=setTimeout(function O(){J=null;I()},N.intentPollInterval)}else{if(Q){K.data(d,true)}F.showTip(K)}}}function G(P){M();c.tipOpenImminent=false;if(K.data(e)){K.data(d,false);if(!P){c.delayInProgress=true;J=setTimeout(function O(){J=null;F.hideTip(K);c.delayInProgress=false},N.closeDelay)}else{F.hideTip(K)}}}function I(){var Q=Math.abs(c.previousX-c.currentX),O=Math.abs(c.previousY-c.currentY),P=Q+O;if(P<N.intentSensitivity){F.showTip(K)}else{c.previousX=c.currentX;c.previousY=c.currentY;L()}}function M(){J=clearTimeout(J);c.delayInProgress=false}function H(){F.resetPosition(K)}this.show=L;this.hide=G;this.cancel=M;this.resetPosition=H}function j(){function G(M,L,J,O,P){var K=L.split(\"-\")[0],N=new b(),I;if(q(M)){I=H(M,K)}else{I=F(M,K)}switch(L){case\"n\":N.set(\"left\",I.left-(J/2));N.set(\"bottom\",c.windowHeight-I.top+P);break;case\"e\":N.set(\"left\",I.left+P);N.set(\"top\",I.top-(O/2));break;case\"s\":N.set(\"left\",I.left-(J/2));N.set(\"top\",I.top+P);break;case\"w\":N.set(\"top\",I.top-(O/2));N.set(\"right\",c.windowWidth-I.left+P);break;case\"nw\":N.set(\"bottom\",c.windowHeight-I.top+P);N.set(\"right\",c.windowWidth-I.left-20);break;case\"nw-alt\":N.set(\"left\",I.left);N.set(\"bottom\",c.windowHeight-I.top+P);break;case\"ne\":N.set(\"left\",I.left-20);N.set(\"bottom\",c.windowHeight-I.top+P);break;case\"ne-alt\":N.set(\"bottom\",c.windowHeight-I.top+P);N.set(\"right\",c.windowWidth-I.left);break;case\"sw\":N.set(\"top\",I.top+P);N.set(\"right\",c.windowWidth-I.left-20);break;case\"sw-alt\":N.set(\"left\",I.left);N.set(\"top\",I.top+P);break;case\"se\":N.set(\"left\",I.left-20);N.set(\"top\",I.top+P);break;case\"se-alt\":N.set(\"top\",I.top+P);N.set(\"right\",c.windowWidth-I.left);break}return N}function F(K,J){var O=K.offset(),N=K.outerWidth(),I=K.outerHeight(),M,L;switch(J){case\"n\":M=O.left+N/2;L=O.top;break;case\"e\":M=O.left+N;L=O.top+I/2;break;case\"s\":M=O.left+N/2;L=O.top+I;break;case\"w\":M=O.left;L=O.top+I/2;break;case\"nw\":M=O.left;L=O.top;break;case\"ne\":M=O.left+N;L=O.top;break;case\"sw\":M=O.left;L=O.top+I;break;case\"se\":M=O.left+N;L=O.top+I;break}return{top:L,left:M}}function H(O,K){var S=O.closest(\"svg\")[0],N=O[0],W=S.createSVGPoint(),L=N.getBBox(),V=N.getScreenCTM(),M=L.width/2,Q=L.height/2,P=[],I=[\"nw\",\"n\",\"ne\",\"e\",\"se\",\"s\",\"sw\",\"w\"],U,X,R,T;function J(){P.push(W.matrixTransform(V))}W.x=L.x;W.y=L.y;J();W.x+=M;J();W.x+=M;J();W.y+=Q;J();W.y+=Q;J();W.x-=M;J();W.x-=M;J();W.y-=Q;J();if(P[0].y!==P[1].y||P[0].x!==P[7].x){X=Math.atan2(V.b,V.a)*E;R=Math.ceil(((X%360)-22.5)/45);if(R<1){R+=8}while(R--){I.push(I.shift())}}for(T=0;T<P.length;T++){if(I[T]===K){U=P[T];break}}return{top:U.y+c.scrollTop,left:U.x+c.scrollLeft}}this.compute=G}function x(Q){var P=new j(),O=k(\"#\"+Q.popupId);if(O.length===0){O=k(\"<div/>\",{id:Q.popupId});if(w.length===0){w=k(\"body\")}w.append(O)}if(Q.followMouse){if(!O.data(u)){A.on(\"mousemove\",M);s.on(\"scroll\",M);O.data(u,true)}}if(Q.mouseOnToPopup){O.on({mouseenter:function L(){if(O.data(f)){if(c.activeHover){c.activeHover.data(n).cancel()}}},mouseleave:function N(){if(c.activeHover){c.activeHover.data(n).hide()}}})}function I(S){S.data(e,true);O.queue(function R(T){H(S);T()})}function H(S){var U;if(!S.data(e)){return}if(c.isTipOpen){if(!c.isClosing){K(c.activeHover)}O.delay(100).queue(function R(V){H(S);V()});return}S.trigger(\"powerTipPreRender\");U=B(S);if(U){O.empty().append(U)}else{return}S.trigger(\"powerTipRender\");c.activeHover=S;c.isTipOpen=true;O.data(f,Q.mouseOnToPopup);if(!Q.followMouse){G(S);c.isFixedTipOpen=true}else{M()}O.fadeIn(Q.fadeInTime,function T(){if(!c.desyncTimeout){c.desyncTimeout=setInterval(J,500)}S.trigger(\"powerTipOpen\")})}function K(R){c.isClosing=true;c.activeHover=null;c.isTipOpen=false;c.desyncTimeout=clearInterval(c.desyncTimeout);R.data(e,false);R.data(d,false);O.fadeOut(Q.fadeOutTime,function S(){var T=new b();c.isClosing=false;c.isFixedTipOpen=false;O.removeClass();T.set(\"top\",c.currentY+Q.offset);T.set(\"left\",c.currentX+Q.offset);O.css(T);R.trigger(\"powerTipClose\")})}function M(){if(!c.isFixedTipOpen&&(c.isTipOpen||(c.tipOpenImminent&&O.data(u)))){var R=O.outerWidth(),V=O.outerHeight(),U=new b(),S,T;U.set(\"top\",c.currentY+Q.offset);U.set(\"left\",c.currentX+Q.offset);S=m(U,R,V);if(S!==p.none){T=a(S);if(T===1){if(S===p.right){U.set(\"left\",c.windowWidth-R)}else{if(S===p.bottom){U.set(\"top\",c.scrollTop+c.windowHeight-V)}}}else{U.set(\"left\",c.currentX-R-Q.offset);U.set(\"top\",c.currentY-V-Q.offset)}}O.css(U)}}function G(S){var R,T;if(Q.smartPlacement){R=k.fn.powerTip.smartPlacementLists[Q.placement];k.each(R,function(U,W){var V=m(F(S,W),O.outerWidth(),O.outerHeight());T=W;if(V===p.none){return false}})}else{F(S,Q.placement);T=Q.placement}O.addClass(T)}function F(U,T){var R=0,S,W,V=new b();V.set(\"top\",0);V.set(\"left\",0);O.css(V);do{S=O.outerWidth();W=O.outerHeight();V=P.compute(U,T,S,W,Q.offset);O.css(V)}while(++R<=5&&(S!==O.outerWidth()||W!==O.outerHeight()));return V}function J(){var R=false;if(c.isTipOpen&&!c.isClosing&&!c.delayInProgress){if(c.activeHover.data(e)===false||c.activeHover.is(\":disabled\")){R=true}else{if(!v(c.activeHover)&&!c.activeHover.is(\":focus\")&&!c.activeHover.data(d)){if(O.data(f)){if(!v(O)){R=true}}else{R=true}}}if(R){K(c.activeHover)}}}this.showTip=I;this.hideTip=K;this.resetPosition=G}function q(F){return window.SVGElement&&F[0] instanceof SVGElement}function h(){if(!c.mouseTrackingActive){c.mouseTrackingActive=true;k(function H(){c.scrollLeft=s.scrollLeft();c.scrollTop=s.scrollTop();c.windowWidth=s.width();c.windowHeight=s.height()});A.on(\"mousemove\",i);s.on({resize:function G(){c.windowWidth=s.width();c.windowHeight=s.height()},scroll:function F(){var I=s.scrollLeft(),J=s.scrollTop();if(I!==c.scrollLeft){c.currentX+=I-c.scrollLeft;c.scrollLeft=I}if(J!==c.scrollTop){c.currentY+=J-c.scrollTop;c.scrollTop=J}}})}}function i(F){c.currentX=F.pageX;c.currentY=F.pageY}function v(F){var H=F.offset(),J=F[0].getBoundingClientRect(),I=J.right-J.left,G=J.bottom-J.top;return c.currentX>=H.left&&c.currentX<=H.left+I&&c.currentY>=H.top&&c.currentY<=H.top+G}function B(I){var G=I.data(y),F=I.data(o),K=I.data(l),H,J;if(G){if(k.isFunction(G)){G=G.call(I[0])}J=G}else{if(F){if(k.isFunction(F)){F=F.call(I[0])}if(F.length>0){J=F.clone(true,true)}}else{if(K){H=k(\"#\"+K);if(H.length>0){J=H.html()}}}}return J}function m(M,L,K){var G=c.scrollTop,J=c.scrollLeft,I=G+c.windowHeight,F=J+c.windowWidth,H=p.none;if(M.top<G||Math.abs(M.bottom-c.windowHeight)-K<G){H|=p.top}if(M.top+K>I||Math.abs(M.bottom-c.windowHeight)>I){H|=p.bottom}if(M.left<J||M.right+L>F){H|=p.left}if(M.left+L>F||M.right<J){H|=p.right}return H}function a(G){var F=0;while(G){G&=G-1;F++}return F}}));"
  },
  {
    "path": "doc/_static/api/struct_nv_flex_solver_callback.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.9.1\"/>\n<title>FLEX: NvFlexSolverCallback Struct Reference</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n<link href=\"flex.css\" rel=\"stylesheet\" type=\"text/css\"/>\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectlogo\"><img alt=\"Logo\" src=\"nvidia.png\"/></td>\n  <td style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">FLEX\n   &#160;<span id=\"projectnumber\">1.2.0</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.9.1 -->\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"summary\">\n<a href=\"#pub-attribs\">Data Fields</a>  </div>\n  <div class=\"headertitle\">\n<div class=\"title\">NvFlexSolverCallback Struct Reference</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n<table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-attribs\"></a>\nData Fields</h2></td></tr>\n<tr class=\"memitem:a2878301f697313b3ef3ad1bc2410c915\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"struct_nv_flex_solver_callback.html#a2878301f697313b3ef3ad1bc2410c915\">userData</a></td></tr>\n<tr class=\"separator:a2878301f697313b3ef3ad1bc2410c915\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a728134bf4d667b207539d7318e42e92a\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void(*&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"struct_nv_flex_solver_callback.html#a728134bf4d667b207539d7318e42e92a\">function</a> )(<a class=\"el\" href=\"_nv_flex_8h.html#struct_nv_flex_solver_callback_params\">NvFlexSolverCallbackParams</a> params)</td></tr>\n<tr class=\"separator:a728134bf4d667b207539d7318e42e92a\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table>\n<a name=\"details\" id=\"details\"></a><h2 class=\"groupheader\">Detailed Description</h2>\n<div class=\"textblock\"><p>Solver callback definition, see <a class=\"el\" href=\"_nv_flex_8h.html#ac5427457488ab3f2de91cf65335dda08\">NvFlexRegisterSolverCallback()</a> </p>\n</div><h2 class=\"groupheader\">Field Documentation</h2>\n<a class=\"anchor\" id=\"a2878301f697313b3ef3ad1bc2410c915\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void* NvFlexSolverCallback::userData</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>User data passed to the callback </p>\n\n</div>\n</div>\n<a class=\"anchor\" id=\"a728134bf4d667b207539d7318e42e92a\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void(* NvFlexSolverCallback::function) (<a class=\"el\" href=\"_nv_flex_8h.html#struct_nv_flex_solver_callback_params\">NvFlexSolverCallbackParams</a> params)</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n<p>Function pointer to a callback method </p>\n\n</div>\n</div>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated on Mon Mar 19 2018 14:53:17 for FLEX by &#160;<a href=\"http://www.doxygen.org/index.html\">\n<img class=\"footer\" src=\"doxygen.png\" alt=\"doxygen\"/>\n</a> 1.8.9.1\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "doc/_static/api/struct_nv_flex_vector.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\"/>\n<meta name=\"generator\" content=\"Doxygen 1.8.9.1\"/>\n<title>FLEX: NvFlexVector&lt; T &gt; Struct Template Reference</title>\n<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\"/>\n<script type=\"text/javascript\" src=\"jquery.js\"></script>\n<script type=\"text/javascript\" src=\"dynsections.js\"></script>\n<link href=\"doxygen.css\" rel=\"stylesheet\" type=\"text/css\" />\n<link href=\"flex.css\" rel=\"stylesheet\" type=\"text/css\"/>\n</head>\n<body>\n<div id=\"top\"><!-- do not remove this div, it is closed by doxygen! -->\n<div id=\"titlearea\">\n<table cellspacing=\"0\" cellpadding=\"0\">\n <tbody>\n <tr style=\"height: 56px;\">\n  <td id=\"projectlogo\"><img alt=\"Logo\" src=\"nvidia.png\"/></td>\n  <td style=\"padding-left: 0.5em;\">\n   <div id=\"projectname\">FLEX\n   &#160;<span id=\"projectnumber\">1.2.0</span>\n   </div>\n  </td>\n </tr>\n </tbody>\n</table>\n</div>\n<!-- end header part -->\n<!-- Generated by Doxygen 1.8.9.1 -->\n</div><!-- top -->\n<div class=\"header\">\n  <div class=\"summary\">\n<a href=\"#pub-methods\">Public Member Functions</a> &#124;\n<a href=\"#pub-attribs\">Data Fields</a>  </div>\n  <div class=\"headertitle\">\n<div class=\"title\">NvFlexVector&lt; T &gt; Struct Template Reference</div>  </div>\n</div><!--header-->\n<div class=\"contents\">\n<table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-methods\"></a>\nPublic Member Functions</h2></td></tr>\n<tr class=\"memitem:a51edbab41cc249bc117c7ce17651007c\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"struct_nv_flex_vector.html#a51edbab41cc249bc117c7ce17651007c\">NvFlexVector</a> (<a class=\"el\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a> *l, int <a class=\"el\" href=\"struct_nv_flex_vector.html#a1933b633e9055d9adf8b62c4aa8a3bc0\">size</a>=0, <a class=\"el\" href=\"_nv_flex_8h.html#a169e4c126acf46bdebf76c36a44deca3\">NvFlexBufferType</a> <a class=\"el\" href=\"struct_nv_flex_vector.html#a24fa4e3807b492cd5fbdc6c1c235062b\">type</a>=<a class=\"el\" href=\"_nv_flex_8h.html#a169e4c126acf46bdebf76c36a44deca3aec63221ddc1b13eff4db55fbf6cd85f8\">eNvFlexBufferHost</a>)</td></tr>\n<tr class=\"separator:a51edbab41cc249bc117c7ce17651007c\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ae5818b10d20083ee9ed0aa7826ea7ab8\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"struct_nv_flex_vector.html#ae5818b10d20083ee9ed0aa7826ea7ab8\">NvFlexVector</a> (<a class=\"el\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a> *l, const T *ptr, int <a class=\"el\" href=\"struct_nv_flex_vector.html#a1933b633e9055d9adf8b62c4aa8a3bc0\">size</a>, <a class=\"el\" href=\"_nv_flex_8h.html#a169e4c126acf46bdebf76c36a44deca3\">NvFlexBufferType</a> <a class=\"el\" href=\"struct_nv_flex_vector.html#a24fa4e3807b492cd5fbdc6c1c235062b\">type</a>=<a class=\"el\" href=\"_nv_flex_8h.html#a169e4c126acf46bdebf76c36a44deca3aec63221ddc1b13eff4db55fbf6cd85f8\">eNvFlexBufferHost</a>)</td></tr>\n<tr class=\"separator:ae5818b10d20083ee9ed0aa7826ea7ab8\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:afb9c0f47544c0cdebe21efb6908dd3a0\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"struct_nv_flex_vector.html#afb9c0f47544c0cdebe21efb6908dd3a0\">~NvFlexVector</a> ()</td></tr>\n<tr class=\"separator:afb9c0f47544c0cdebe21efb6908dd3a0\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a0309d584abbe900d3af3823a79e89ee7\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"struct_nv_flex_vector.html#a0309d584abbe900d3af3823a79e89ee7\">init</a> (int <a class=\"el\" href=\"struct_nv_flex_vector.html#a1933b633e9055d9adf8b62c4aa8a3bc0\">size</a>)</td></tr>\n<tr class=\"separator:a0309d584abbe900d3af3823a79e89ee7\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ade3c494ee6e75e54a6ba73d6bc100bd9\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"struct_nv_flex_vector.html#ade3c494ee6e75e54a6ba73d6bc100bd9\">destroy</a> ()</td></tr>\n<tr class=\"separator:ade3c494ee6e75e54a6ba73d6bc100bd9\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a56640fd10b06a4024a4bf01c306c436b\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"struct_nv_flex_vector.html#a56640fd10b06a4024a4bf01c306c436b\">map</a> (int flags=<a class=\"el\" href=\"_nv_flex_8h.html#a6541b33eaca7b2323e73b30cea34d16ca11adf517d180983daec217e761acc3d6\">eNvFlexMapWait</a>)</td></tr>\n<tr class=\"separator:a56640fd10b06a4024a4bf01c306c436b\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:afca9914468beb61f6c98bc052e2af5e0\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"struct_nv_flex_vector.html#afca9914468beb61f6c98bc052e2af5e0\">unmap</a> ()</td></tr>\n<tr class=\"separator:afca9914468beb61f6c98bc052e2af5e0\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a3871fbd5422c9b3f41bd5dc2046e1aa7\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const T &amp;&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"struct_nv_flex_vector.html#a3871fbd5422c9b3f41bd5dc2046e1aa7\">operator[]</a> (int index) const </td></tr>\n<tr class=\"separator:a3871fbd5422c9b3f41bd5dc2046e1aa7\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a769d5ad0723a3fceac7951967e8b4d03\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">T &amp;&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"struct_nv_flex_vector.html#a769d5ad0723a3fceac7951967e8b4d03\">operator[]</a> (int index)</td></tr>\n<tr class=\"separator:a769d5ad0723a3fceac7951967e8b4d03\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a98584303358b70fd12ead231cd750335\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"struct_nv_flex_vector.html#a98584303358b70fd12ead231cd750335\">push_back</a> (const T &amp;t)</td></tr>\n<tr class=\"separator:a98584303358b70fd12ead231cd750335\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:acd29b9b2b27e53e3640c24da6959e3cd\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"struct_nv_flex_vector.html#acd29b9b2b27e53e3640c24da6959e3cd\">assign</a> (const T *srcPtr, int newCount)</td></tr>\n<tr class=\"separator:acd29b9b2b27e53e3640c24da6959e3cd\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a225da2c753ca0bb95b570c303f0cd761\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"struct_nv_flex_vector.html#a225da2c753ca0bb95b570c303f0cd761\">copyto</a> (T *dest, int <a class=\"el\" href=\"struct_nv_flex_vector.html#ad462ae46f0270161c79572762b558124\">count</a>)</td></tr>\n<tr class=\"separator:a225da2c753ca0bb95b570c303f0cd761\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a1933b633e9055d9adf8b62c4aa8a3bc0\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"struct_nv_flex_vector.html#a1933b633e9055d9adf8b62c4aa8a3bc0\">size</a> () const </td></tr>\n<tr class=\"separator:a1933b633e9055d9adf8b62c4aa8a3bc0\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a73f78b1efc76c96666a96a79064670c5\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">bool&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"struct_nv_flex_vector.html#a73f78b1efc76c96666a96a79064670c5\">empty</a> () const </td></tr>\n<tr class=\"separator:a73f78b1efc76c96666a96a79064670c5\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a37fbf38300ea57635af4b60c934e9f46\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">const T &amp;&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"struct_nv_flex_vector.html#a37fbf38300ea57635af4b60c934e9f46\">back</a> () const </td></tr>\n<tr class=\"separator:a37fbf38300ea57635af4b60c934e9f46\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ae0e6ce694fb95a50c2974c6c2cc0ffc8\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"struct_nv_flex_vector.html#ae0e6ce694fb95a50c2974c6c2cc0ffc8\">reserve</a> (int minCapacity)</td></tr>\n<tr class=\"separator:ae0e6ce694fb95a50c2974c6c2cc0ffc8\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a6c4a1f4acb4d6275c9e1ac01d4e35ab1\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"struct_nv_flex_vector.html#a6c4a1f4acb4d6275c9e1ac01d4e35ab1\">resize</a> (int newCount)</td></tr>\n<tr class=\"separator:a6c4a1f4acb4d6275c9e1ac01d4e35ab1\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a36a3fd5e42c5d8005f72bcc43217cf37\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">void&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"struct_nv_flex_vector.html#a36a3fd5e42c5d8005f72bcc43217cf37\">resize</a> (int newCount, const T &amp;val)</td></tr>\n<tr class=\"separator:a36a3fd5e42c5d8005f72bcc43217cf37\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table><table class=\"memberdecls\">\n<tr class=\"heading\"><td colspan=\"2\"><h2 class=\"groupheader\"><a name=\"pub-attribs\"></a>\nData Fields</h2></td></tr>\n<tr class=\"memitem:ab08ce71766df91fc9201a61a48054d0c\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"struct_nv_flex_vector.html#ab08ce71766df91fc9201a61a48054d0c\">lib</a></td></tr>\n<tr class=\"separator:ab08ce71766df91fc9201a61a48054d0c\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa408aa5327d07f69fc12314df2d5dcfb\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a> *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"struct_nv_flex_vector.html#aa408aa5327d07f69fc12314df2d5dcfb\">buffer</a></td></tr>\n<tr class=\"separator:aa408aa5327d07f69fc12314df2d5dcfb\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:aa4422fcaa24d5bbd71aa7772639512b9\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">T *&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"struct_nv_flex_vector.html#aa4422fcaa24d5bbd71aa7772639512b9\">mappedPtr</a></td></tr>\n<tr class=\"separator:aa4422fcaa24d5bbd71aa7772639512b9\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ad462ae46f0270161c79572762b558124\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"struct_nv_flex_vector.html#ad462ae46f0270161c79572762b558124\">count</a></td></tr>\n<tr class=\"separator:ad462ae46f0270161c79572762b558124\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:ac28b5fd10fd519265c66cf4a0ce8e6ae\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">int&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"struct_nv_flex_vector.html#ac28b5fd10fd519265c66cf4a0ce8e6ae\">capacity</a></td></tr>\n<tr class=\"separator:ac28b5fd10fd519265c66cf4a0ce8e6ae\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n<tr class=\"memitem:a24fa4e3807b492cd5fbdc6c1c235062b\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\"><a class=\"el\" href=\"_nv_flex_8h.html#a169e4c126acf46bdebf76c36a44deca3\">NvFlexBufferType</a>&#160;</td><td class=\"memItemRight\" valign=\"bottom\"><a class=\"el\" href=\"struct_nv_flex_vector.html#a24fa4e3807b492cd5fbdc6c1c235062b\">type</a></td></tr>\n<tr class=\"separator:a24fa4e3807b492cd5fbdc6c1c235062b\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n</table>\n<h2 class=\"groupheader\">Constructor &amp; Destructor Documentation</h2>\n<a class=\"anchor\" id=\"a51edbab41cc249bc117c7ce17651007c\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n<div class=\"memtemplate\">\ntemplate&lt;typename T &gt; </div>\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\"><a class=\"el\" href=\"struct_nv_flex_vector.html\">NvFlexVector</a>&lt; T &gt;::<a class=\"el\" href=\"struct_nv_flex_vector.html\">NvFlexVector</a> </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a> *&#160;</td>\n          <td class=\"paramname\"><em>l</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>size</em> = <code>0</code>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a169e4c126acf46bdebf76c36a44deca3\">NvFlexBufferType</a>&#160;</td>\n          <td class=\"paramname\"><em>type</em> = <code><a class=\"el\" href=\"_nv_flex_8h.html#a169e4c126acf46bdebf76c36a44deca3aec63221ddc1b13eff4db55fbf6cd85f8\">eNvFlexBufferHost</a></code>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n\n</div>\n</div>\n<a class=\"anchor\" id=\"ae5818b10d20083ee9ed0aa7826ea7ab8\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n<div class=\"memtemplate\">\ntemplate&lt;typename T &gt; </div>\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\"><a class=\"el\" href=\"struct_nv_flex_vector.html\">NvFlexVector</a>&lt; T &gt;::<a class=\"el\" href=\"struct_nv_flex_vector.html\">NvFlexVector</a> </td>\n          <td>(</td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a> *&#160;</td>\n          <td class=\"paramname\"><em>l</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const T *&#160;</td>\n          <td class=\"paramname\"><em>ptr</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>size</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\"><a class=\"el\" href=\"_nv_flex_8h.html#a169e4c126acf46bdebf76c36a44deca3\">NvFlexBufferType</a>&#160;</td>\n          <td class=\"paramname\"><em>type</em> = <code><a class=\"el\" href=\"_nv_flex_8h.html#a169e4c126acf46bdebf76c36a44deca3aec63221ddc1b13eff4db55fbf6cd85f8\">eNvFlexBufferHost</a></code>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n\n</div>\n</div>\n<a class=\"anchor\" id=\"afb9c0f47544c0cdebe21efb6908dd3a0\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n<div class=\"memtemplate\">\ntemplate&lt;typename T &gt; </div>\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\"><a class=\"el\" href=\"struct_nv_flex_vector.html\">NvFlexVector</a>&lt; T &gt;::~<a class=\"el\" href=\"struct_nv_flex_vector.html\">NvFlexVector</a> </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n\n</div>\n</div>\n<h2 class=\"groupheader\">Member Function Documentation</h2>\n<a class=\"anchor\" id=\"a0309d584abbe900d3af3823a79e89ee7\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n<div class=\"memtemplate\">\ntemplate&lt;typename T &gt; </div>\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void <a class=\"el\" href=\"struct_nv_flex_vector.html\">NvFlexVector</a>&lt; T &gt;::init </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>size</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n\n</div>\n</div>\n<a class=\"anchor\" id=\"ade3c494ee6e75e54a6ba73d6bc100bd9\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n<div class=\"memtemplate\">\ntemplate&lt;typename T &gt; </div>\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void <a class=\"el\" href=\"struct_nv_flex_vector.html\">NvFlexVector</a>&lt; T &gt;::destroy </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n\n</div>\n</div>\n<a class=\"anchor\" id=\"a56640fd10b06a4024a4bf01c306c436b\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n<div class=\"memtemplate\">\ntemplate&lt;typename T &gt; </div>\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void <a class=\"el\" href=\"struct_nv_flex_vector.html\">NvFlexVector</a>&lt; T &gt;::map </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>flags</em> = <code><a class=\"el\" href=\"_nv_flex_8h.html#a6541b33eaca7b2323e73b30cea34d16ca11adf517d180983daec217e761acc3d6\">eNvFlexMapWait</a></code></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n\n</div>\n</div>\n<a class=\"anchor\" id=\"afca9914468beb61f6c98bc052e2af5e0\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n<div class=\"memtemplate\">\ntemplate&lt;typename T &gt; </div>\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void <a class=\"el\" href=\"struct_nv_flex_vector.html\">NvFlexVector</a>&lt; T &gt;::unmap </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n\n</div>\n</div>\n<a class=\"anchor\" id=\"a3871fbd5422c9b3f41bd5dc2046e1aa7\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n<div class=\"memtemplate\">\ntemplate&lt;typename T &gt; </div>\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const T&amp; <a class=\"el\" href=\"struct_nv_flex_vector.html\">NvFlexVector</a>&lt; T &gt;::operator[] </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>index</em></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n\n</div>\n</div>\n<a class=\"anchor\" id=\"a769d5ad0723a3fceac7951967e8b4d03\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n<div class=\"memtemplate\">\ntemplate&lt;typename T &gt; </div>\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">T&amp; <a class=\"el\" href=\"struct_nv_flex_vector.html\">NvFlexVector</a>&lt; T &gt;::operator[] </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>index</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n\n</div>\n</div>\n<a class=\"anchor\" id=\"a98584303358b70fd12ead231cd750335\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n<div class=\"memtemplate\">\ntemplate&lt;typename T &gt; </div>\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void <a class=\"el\" href=\"struct_nv_flex_vector.html\">NvFlexVector</a>&lt; T &gt;::push_back </td>\n          <td>(</td>\n          <td class=\"paramtype\">const T &amp;&#160;</td>\n          <td class=\"paramname\"><em>t</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n\n</div>\n</div>\n<a class=\"anchor\" id=\"acd29b9b2b27e53e3640c24da6959e3cd\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n<div class=\"memtemplate\">\ntemplate&lt;typename T &gt; </div>\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void <a class=\"el\" href=\"struct_nv_flex_vector.html\">NvFlexVector</a>&lt; T &gt;::assign </td>\n          <td>(</td>\n          <td class=\"paramtype\">const T *&#160;</td>\n          <td class=\"paramname\"><em>srcPtr</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>newCount</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n\n</div>\n</div>\n<a class=\"anchor\" id=\"a225da2c753ca0bb95b570c303f0cd761\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n<div class=\"memtemplate\">\ntemplate&lt;typename T &gt; </div>\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void <a class=\"el\" href=\"struct_nv_flex_vector.html\">NvFlexVector</a>&lt; T &gt;::copyto </td>\n          <td>(</td>\n          <td class=\"paramtype\">T *&#160;</td>\n          <td class=\"paramname\"><em>dest</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>count</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n\n</div>\n</div>\n<a class=\"anchor\" id=\"a1933b633e9055d9adf8b62c4aa8a3bc0\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n<div class=\"memtemplate\">\ntemplate&lt;typename T &gt; </div>\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">int <a class=\"el\" href=\"struct_nv_flex_vector.html\">NvFlexVector</a>&lt; T &gt;::size </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n\n</div>\n</div>\n<a class=\"anchor\" id=\"a73f78b1efc76c96666a96a79064670c5\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n<div class=\"memtemplate\">\ntemplate&lt;typename T &gt; </div>\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">bool <a class=\"el\" href=\"struct_nv_flex_vector.html\">NvFlexVector</a>&lt; T &gt;::empty </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n\n</div>\n</div>\n<a class=\"anchor\" id=\"a37fbf38300ea57635af4b60c934e9f46\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n<div class=\"memtemplate\">\ntemplate&lt;typename T &gt; </div>\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">const T&amp; <a class=\"el\" href=\"struct_nv_flex_vector.html\">NvFlexVector</a>&lt; T &gt;::back </td>\n          <td>(</td>\n          <td class=\"paramname\"></td><td>)</td>\n          <td> const</td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n\n</div>\n</div>\n<a class=\"anchor\" id=\"ae0e6ce694fb95a50c2974c6c2cc0ffc8\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n<div class=\"memtemplate\">\ntemplate&lt;typename T &gt; </div>\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void <a class=\"el\" href=\"struct_nv_flex_vector.html\">NvFlexVector</a>&lt; T &gt;::reserve </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>minCapacity</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n\n</div>\n</div>\n<a class=\"anchor\" id=\"a6c4a1f4acb4d6275c9e1ac01d4e35ab1\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n<div class=\"memtemplate\">\ntemplate&lt;typename T &gt; </div>\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void <a class=\"el\" href=\"struct_nv_flex_vector.html\">NvFlexVector</a>&lt; T &gt;::resize </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>newCount</em></td><td>)</td>\n          <td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n\n</div>\n</div>\n<a class=\"anchor\" id=\"a36a3fd5e42c5d8005f72bcc43217cf37\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n<div class=\"memtemplate\">\ntemplate&lt;typename T &gt; </div>\n<table class=\"mlabels\">\n  <tr>\n  <td class=\"mlabels-left\">\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">void <a class=\"el\" href=\"struct_nv_flex_vector.html\">NvFlexVector</a>&lt; T &gt;::resize </td>\n          <td>(</td>\n          <td class=\"paramtype\">int&#160;</td>\n          <td class=\"paramname\"><em>newCount</em>, </td>\n        </tr>\n        <tr>\n          <td class=\"paramkey\"></td>\n          <td></td>\n          <td class=\"paramtype\">const T &amp;&#160;</td>\n          <td class=\"paramname\"><em>val</em>&#160;</td>\n        </tr>\n        <tr>\n          <td></td>\n          <td>)</td>\n          <td></td><td></td>\n        </tr>\n      </table>\n  </td>\n  <td class=\"mlabels-right\">\n<span class=\"mlabels\"><span class=\"mlabel\">inline</span></span>  </td>\n  </tr>\n</table>\n</div><div class=\"memdoc\">\n\n</div>\n</div>\n<h2 class=\"groupheader\">Field Documentation</h2>\n<a class=\"anchor\" id=\"ab08ce71766df91fc9201a61a48054d0c\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n<div class=\"memtemplate\">\ntemplate&lt;typename T &gt; </div>\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\"><a class=\"el\" href=\"_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318\">NvFlexLibrary</a>* <a class=\"el\" href=\"struct_nv_flex_vector.html\">NvFlexVector</a>&lt; T &gt;::lib</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n\n</div>\n</div>\n<a class=\"anchor\" id=\"aa408aa5327d07f69fc12314df2d5dcfb\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n<div class=\"memtemplate\">\ntemplate&lt;typename T &gt; </div>\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\"><a class=\"el\" href=\"_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a\">NvFlexBuffer</a>* <a class=\"el\" href=\"struct_nv_flex_vector.html\">NvFlexVector</a>&lt; T &gt;::buffer</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n\n</div>\n</div>\n<a class=\"anchor\" id=\"aa4422fcaa24d5bbd71aa7772639512b9\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n<div class=\"memtemplate\">\ntemplate&lt;typename T &gt; </div>\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">T* <a class=\"el\" href=\"struct_nv_flex_vector.html\">NvFlexVector</a>&lt; T &gt;::mappedPtr</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n\n</div>\n</div>\n<a class=\"anchor\" id=\"ad462ae46f0270161c79572762b558124\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n<div class=\"memtemplate\">\ntemplate&lt;typename T &gt; </div>\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">int <a class=\"el\" href=\"struct_nv_flex_vector.html\">NvFlexVector</a>&lt; T &gt;::count</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n\n</div>\n</div>\n<a class=\"anchor\" id=\"ac28b5fd10fd519265c66cf4a0ce8e6ae\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n<div class=\"memtemplate\">\ntemplate&lt;typename T &gt; </div>\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\">int <a class=\"el\" href=\"struct_nv_flex_vector.html\">NvFlexVector</a>&lt; T &gt;::capacity</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n\n</div>\n</div>\n<a class=\"anchor\" id=\"a24fa4e3807b492cd5fbdc6c1c235062b\"></a>\n<div class=\"memitem\">\n<div class=\"memproto\">\n<div class=\"memtemplate\">\ntemplate&lt;typename T &gt; </div>\n      <table class=\"memname\">\n        <tr>\n          <td class=\"memname\"><a class=\"el\" href=\"_nv_flex_8h.html#a169e4c126acf46bdebf76c36a44deca3\">NvFlexBufferType</a> <a class=\"el\" href=\"struct_nv_flex_vector.html\">NvFlexVector</a>&lt; T &gt;::type</td>\n        </tr>\n      </table>\n</div><div class=\"memdoc\">\n\n</div>\n</div>\n</div><!-- contents -->\n<!-- start footer part -->\n<hr class=\"footer\"/><address class=\"footer\"><small>\nGenerated on Mon Mar 19 2018 14:53:17 for FLEX by &#160;<a href=\"http://www.doxygen.org/index.html\">\n<img class=\"footer\" src=\"doxygen.png\" alt=\"doxygen\"/>\n</a> 1.8.9.1\n</small></address>\n</body>\n</html>\n"
  },
  {
    "path": "doc/_static/api/tabs.css",
    "content": ".tabs, .tabs2, .tabs3 {\n    background-image: url('tab_b.png');\n    width: 100%;\n    z-index: 101;\n    font-size: 13px;\n    font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif;\n}\n\n.tabs2 {\n    font-size: 10px;\n}\n.tabs3 {\n    font-size: 9px;\n}\n\n.tablist {\n    margin: 0;\n    padding: 0;\n    display: table;\n}\n\n.tablist li {\n    float: left;\n    display: table-cell;\n    background-image: url('tab_b.png');\n    line-height: 36px;\n    list-style: none;\n}\n\n.tablist a {\n    display: block;\n    padding: 0 20px;\n    font-weight: bold;\n    background-image:url('tab_s.png');\n    background-repeat:no-repeat;\n    background-position:right;\n    color: #3E5035;\n    text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);\n    text-decoration: none;\n    outline: none;\n}\n\n.tabs3 .tablist a {\n    padding: 0 10px;\n}\n\n.tablist a:hover {\n    background-image: url('tab_h.png');\n    background-repeat:repeat-x;\n    color: #fff;\n    text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);\n    text-decoration: none;\n}\n\n.tablist li.current a {\n    background-image: url('tab_a.png');\n    background-repeat:repeat-x;\n    color: #fff;\n    text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);\n}\n"
  },
  {
    "path": "doc/_static/application.css",
    "content": "/*! normalize.css v2.1.3 | MIT License | git.io/normalize */\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\ntopic,\nmain,\nnav,\nsection,\nsummary {\n  display: block;\n}\naudio,\ncanvas,\nvideo {\n  display: inline-block;\n}\naudio:not([controls]) {\n  display: none;\n  height: 0;\n}\n[hidden],\ntemplate {\n  display: none;\n}\nhtml {\n  font-family: sans-serif;\n  -ms-text-size-adjust: 100%;\n  -webkit-text-size-adjust: 100%;\n}\nbody {\n  margin: 0;\n}\na {\n  background: transparent;\n}\na:focus {\n  outline: thin dotted;\n}\na:active,\na:hover {\n  outline: 0;\n}\nh1 {\n  font-size: 2em;\n  margin: 0.67em 0;\n}\nabbr[title] {\n  border-bottom: 1px dotted;\n}\nb,\nstrong {\n  font-weight: bold;\n}\ndfn {\n  font-style: italic;\n}\nhr {\n  -moz-box-sizing: content-box;\n  box-sizing: content-box;\n  height: 0;\n}\nmark {\n  background: #ff0;\n  color: #000;\n}\ncode,\nkbd,\npre,\nsamp {\n  font-family: monospace, serif;\n  font-size: 1em;\n}\npre {\n  white-space: pre-wrap;\n}\nq {\n  quotes: \"\\201C\" \"\\201D\" \"\\2018\" \"\\2019\";\n}\nsmall {\n  font-size: 80%;\n}\nsub,\nsup {\n  font-size: 75%;\n  line-height: 0;\n  position: relative;\n  vertical-align: baseline;\n}\nsup {\n  top: -0.5em;\n}\nsub {\n  bottom: -0.25em;\n}\nimg {\n  border: 0;\n}\nsvg:not(:root) {\n  overflow: hidden;\n}\nfigure {\n  margin: 0;\n}\nfieldset {\n  border: 1px solid #c0c0c0;\n  margin: 0 2px;\n  padding: 0.35em 0.625em 0.75em;\n}\nlegend {\n  border: 0;\n  padding: 0;\n}\nbutton,\ninput,\nselect,\ntextarea {\n  font-family: inherit;\n  font-size: 100%;\n  margin: 0;\n}\nbutton,\ninput {\n  line-height: normal;\n}\nbutton,\nselect {\n  text-transform: none;\n}\nbutton,\nhtml input[type=\"button\"],\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n  -webkit-appearance: button;\n  cursor: pointer;\n}\nbutton[disabled],\nhtml input[disabled] {\n  cursor: default;\n}\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n  box-sizing: border-box;\n  padding: 0;\n}\ninput[type=\"search\"] {\n  -webkit-appearance: textfield;\n  -moz-box-sizing: content-box;\n  -webkit-box-sizing: content-box;\n  box-sizing: content-box;\n}\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n  -webkit-appearance: none;\n}\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n  border: 0;\n  padding: 0;\n}\ntextarea {\n  overflow: auto;\n  vertical-align: top;\n}\ntable {\n  border-collapse: collapse;\n  border-spacing: 0;\n}\n@media print {\n  * {\n    text-shadow: none !important;\n    color: #000 !important;\n    background: transparent !important;\n    box-shadow: none !important;\n  }\n  a,\n  a:visited {\n    text-decoration: underline;\n  }\n  a[href]:after {\n    content: \" (\" attr(href) \")\";\n  }\n  abbr[title]:after {\n    content: \" (\" attr(title) \")\";\n  }\n  a[href^=\"javascript:\"]:after,\n  a[href^=\"#\"]:after {\n    content: \"\";\n  }\n  pre,\n  blockquote {\n    border: 1px solid #999;\n    page-break-inside: avoid;\n  }\n  thead {\n    display: table-header-group;\n  }\n  tr,\n  img {\n    page-break-inside: avoid;\n  }\n  img {\n    max-width: 100% !important;\n  }\n  @page {\n    margin: 2cm .5cm;\n  }\n  p,\n  h2,\n  h3 {\n    orphans: 3;\n    widows: 3;\n  }\n  h2,\n  h3 {\n    page-break-after: avoid;\n  }\n  select {\n    background: #fff !important;\n  }\n  .navbar {\n    display: none;\n  }\n  .table td,\n  .table th {\n    background-color: #fff !important;\n  }\n  .btn > .caret,\n  .dropup > .btn > .caret {\n    border-top-color: #000 !important;\n  }\n  .label {\n    border: 1px solid #000;\n  }\n  .table {\n    border-collapse: collapse !important;\n  }\n  .table-bordered th,\n  .table-bordered td {\n    border: 1px solid #ddd !important;\n  }\n}\n*,\n*:before,\n*:after {\n  -webkit-box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  box-sizing: border-box;\n}\nhtml {\n  font-size: 62.5%;\n  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\nbody {\n  font-family: \"Roboto\", Trebuchet, Helvetica, Arial, sans-serif;\n  font-size: 16px;\n  line-height: 1.5;\n  color: #333333;\n  background-color: #fcfcfc;\n}\ninput,\nbutton,\nselect,\ntextarea {\n  font-family: inherit;\n  font-size: inherit;\n  line-height: inherit;\n}\na {\n  color: #76b900;\n  text-decoration: none;\n}\na:hover,\na:focus {\n  color: #76b900;\n  text-decoration: underline;\n}\na:focus {\n  outline: thin dotted;\n  outline: 5px auto -webkit-focus-ring-color;\n  outline-offset: -2px;\n}\nimg {\n  vertical-align: middle;\n}\n.img-responsive {\n  display: block;\n  max-width: 100%;\n  height: auto;\n}\n.img-rounded {\n  border-radius: 0px;\n}\n.img-thumbnail {\n  padding: 4px;\n  line-height: 1.5;\n  background-color: #fcfcfc;\n  border: 1px solid #dddddd;\n  border-radius: 0px;\n  -webkit-transition: all 0.2s ease-in-out;\n  transition: all 0.2s ease-in-out;\n  display: inline-block;\n  max-width: 100%;\n  height: auto;\n}\n.img-circle {\n  border-radius: 50%;\n}\nhr {\n  margin-top: 24px;\n  margin-bottom: 24px;\n  border: 0;\n  border-top: 1px solid #efefef;\n}\n.sr-only {\n  position: absolute;\n  width: 1px;\n  height: 1px;\n  margin: -1px;\n  padding: 0;\n  overflow: hidden;\n  clip: rect(0, 0, 0, 0);\n  border: 0;\n}\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\n.h1,\n.h2,\n.h3,\n.h4,\n.h5,\n.h6 {\n  font-family: \"Roboto\", Trebuchet, Helvetica, Arial, sans-serif;\n  font-weight: 600;\n  line-height: 1.1;\n  color: #004e49;\n}\nh1 small,\nh2 small,\nh3 small,\nh4 small,\nh5 small,\nh6 small,\n.h1 small,\n.h2 small,\n.h3 small,\n.h4 small,\n.h5 small,\n.h6 small,\nh1 .small,\nh2 .small,\nh3 .small,\nh4 .small,\nh5 .small,\nh6 .small,\n.h1 .small,\n.h2 .small,\n.h3 .small,\n.h4 .small,\n.h5 .small,\n.h6 .small {\n  font-weight: normal;\n  line-height: 1;\n  color: #999999;\n}\nh1,\nh2,\nh3 {\n  margin-top: 24px;\n  margin-bottom: 12px;\n}\nh1 small,\nh2 small,\nh3 small,\nh1 .small,\nh2 .small,\nh3 .small {\n  font-size: 65%;\n}\nh4,\nh5,\nh6 {\n  margin-top: 12px;\n  margin-bottom: 12px;\n}\nh4 small,\nh5 small,\nh6 small,\nh4 .small,\nh5 .small,\nh6 .small {\n  font-size: 75%;\n}\nh1,\n.h1 {\n  font-size: 41px;\n}\nh2,\n.h2 {\n  font-size: 34px;\n}\nh3,\n.h3 {\n  font-size: 28px;\n}\nh4,\n.h4 {\n  font-size: 20px;\n}\nh5,\n.h5 {\n  font-size: 16px;\n}\nh6,\n.h6 {\n  font-size: 14px;\n}\np {\n  margin: 0 0 12px;\n}\n.lead {\n  margin-bottom: 24px;\n  font-size: 18px;\n  font-weight: 200;\n  line-height: 1.4;\n}\n@media (min-width: 768px) {\n  .lead {\n    font-size: 24px;\n  }\n}\nsmall,\n.small {\n  font-size: 85%;\n}\ncite {\n  font-style: normal;\n}\n.text-muted {\n  color: #999999;\n}\n.text-primary {\n  color: #76b900;\n}\n.text-primary:hover {\n  color: #558600;\n}\n.text-warning {\n  color: #8a6d3b;\n}\n.text-warning:hover {\n  color: #66512c;\n}\n.text-danger {\n  color: #a94442;\n}\n.text-danger:hover {\n  color: #843534;\n}\n.text-success {\n  color: #3c763d;\n}\n.text-success:hover {\n  color: #2b542c;\n}\n.text-info {\n  color: #31708f;\n}\n.text-info:hover {\n  color: #245269;\n}\n.text-left {\n  text-align: left;\n}\n.text-right {\n  text-align: right;\n}\n.text-center {\n  text-align: center;\n}\n.page-header {\n  padding-bottom: 11px;\n  margin: 48px 0 24px;\n  border-bottom: 1px solid #efefef;\n}\nul,\nol {\n  margin-top: 0;\n  margin-bottom: 12px;\n}\nul ul,\nol ul,\nul ol,\nol ol {\n  margin-bottom: 0;\n}\n.list-unstyled {\n  padding-left: 0;\n  list-style: none;\n}\n.list-inline {\n  padding-left: 0;\n  list-style: none;\n}\n.list-inline > li {\n  display: inline-block;\n  padding-left: 5px;\n  padding-right: 5px;\n}\n.list-inline > li:first-child {\n  padding-left: 0;\n}\ndl {\n  margin-top: 0;\n  margin-bottom: 24px;\n}\ndt,\ndd {\n  line-height: 1.5;\n}\ndt {\n  font-weight: bold;\n}\ndd {\n  margin-left: 0;\n}\n@media (min-width: 992px) {\n  .dl-horizontal dt {\n    float: left;\n    width: 160px;\n    clear: left;\n    text-align: right;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n  .dl-horizontal dd {\n    margin-left: 180px;\n  }\n  .dl-horizontal dd:before,\n  .dl-horizontal dd:after {\n    content: \" \";\n    display: table;\n  }\n  .dl-horizontal dd:after {\n    clear: both;\n  }\n  .dl-horizontal dd:before,\n  .dl-horizontal dd:after {\n    content: \" \";\n    display: table;\n  }\n  .dl-horizontal dd:after {\n    clear: both;\n  }\n}\nabbr[title],\nabbr[data-original-title] {\n  cursor: help;\n  border-bottom: 1px dotted #999999;\n}\n.initialism {\n  font-size: 90%;\n  text-transform: uppercase;\n}\nblockquote {\n  padding: 12px 24px;\n  margin: 0 0 24px;\n  border-left: 5px solid #efefef;\n}\nblockquote p {\n  font-size: 20px;\n  font-weight: 300;\n  line-height: 1.25;\n}\nblockquote p:last-child {\n  margin-bottom: 0;\n}\nblockquote small,\nblockquote .small {\n  display: block;\n  line-height: 1.5;\n  color: #999999;\n}\nblockquote small:before,\nblockquote .small:before {\n  content: '\\2014 \\00A0';\n}\nblockquote.pull-right {\n  padding-right: 15px;\n  padding-left: 0;\n  border-right: 5px solid #efefef;\n  border-left: 0;\n}\nblockquote.pull-right p,\nblockquote.pull-right small,\nblockquote.pull-right .small {\n  text-align: right;\n}\nblockquote.pull-right small:before,\nblockquote.pull-right .small:before {\n  content: '';\n}\nblockquote.pull-right small:after,\nblockquote.pull-right .small:after {\n  content: '\\00A0 \\2014';\n}\nblockquote:before,\nblockquote:after {\n  content: \"\";\n}\naddress {\n  margin-bottom: 24px;\n  font-style: normal;\n  line-height: 1.5;\n}\ncode,\nkbd,\npre,\nsamp {\n  font-family: Menlo, Monaco, Consolas, \"Courier New\", monospace;\n}\ncode {\n  padding: 2px 4px;\n  font-size: 90%;\n  color: #c7254e;\n  background-color: #f9f2f4;\n  white-space: nowrap;\n  border-radius: 0px;\n}\npre {\n  display: block;\n  padding: 11.5px;\n  margin: 0 0 12px;\n  font-size: 15px;\n  line-height: 1.5;\n  word-break: break-all;\n  word-wrap: break-word;\n  color: #595959;\n  background-color: #f5f5f5;\n  border: 1px solid #cccccc;\n  border-radius: 0px;\n}\npre code {\n  padding: 0;\n  font-size: inherit;\n  color: inherit;\n  white-space: pre-wrap;\n  background-color: transparent;\n  border-radius: 0;\n}\n.pre-scrollable {\n  max-height: 340px;\n  overflow-y: scroll;\n}\n.container {\n  margin-right: auto;\n  margin-left: auto;\n  padding-left: 10px;\n  padding-right: 10px;\n}\n.container:before,\n.container:after {\n  content: \" \";\n  display: table;\n}\n.container:after {\n  clear: both;\n}\n.container:before,\n.container:after {\n  content: \" \";\n  display: table;\n}\n.container:after {\n  clear: both;\n}\n@media (min-width: 768px) {\n  .container {\n    width: 740px;\n  }\n}\n@media (min-width: 992px) {\n  .container {\n    width: 960px;\n  }\n}\n@media (min-width: 1200px) {\n  .container {\n    width: 1160px;\n  }\n}\n.row {\n  margin-left: 10px;\n}\n.row:before,\n.row:after {\n  content: \" \";\n  display: table;\n}\n.row:after {\n  clear: both;\n}\n.row:before,\n.row:after {\n  content: \" \";\n  display: table;\n}\n.row:after {\n  clear: both;\n}\n.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {\n  position: relative;\n  min-height: 1px;\n  padding-left: 10px;\n  padding-right: 10px;\n}\n.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {\n  float: left;\n}\n.col-xs-12 {\n  width: 100%;\n}\n.col-xs-11 {\n  width: 91.66666666666666%;\n}\n.col-xs-10 {\n  width: 83.33333333333334%;\n}\n.col-xs-9 {\n  width: 75%;\n}\n.col-xs-8 {\n  width: 66.66666666666666%;\n}\n.col-xs-7 {\n  width: 58.333333333333336%;\n}\n.col-xs-6 {\n  width: 50%;\n}\n.col-xs-5 {\n  width: 41.66666666666667%;\n}\n.col-xs-4 {\n  width: 33.33333333333333%;\n}\n.col-xs-3 {\n  width: 25%;\n}\n.col-xs-2 {\n  width: 16.666666666666664%;\n}\n.col-xs-1 {\n  width: 8.333333333333332%;\n}\n.col-xs-pull-12 {\n  right: 100%;\n}\n.col-xs-pull-11 {\n  right: 91.66666666666666%;\n}\n.col-xs-pull-10 {\n  right: 83.33333333333334%;\n}\n.col-xs-pull-9 {\n  right: 75%;\n}\n.col-xs-pull-8 {\n  right: 66.66666666666666%;\n}\n.col-xs-pull-7 {\n  right: 58.333333333333336%;\n}\n.col-xs-pull-6 {\n  right: 50%;\n}\n.col-xs-pull-5 {\n  right: 41.66666666666667%;\n}\n.col-xs-pull-4 {\n  right: 33.33333333333333%;\n}\n.col-xs-pull-3 {\n  right: 25%;\n}\n.col-xs-pull-2 {\n  right: 16.666666666666664%;\n}\n.col-xs-pull-1 {\n  right: 8.333333333333332%;\n}\n.col-xs-pull-0 {\n  right: 0%;\n}\n.col-xs-push-12 {\n  left: 100%;\n}\n.col-xs-push-11 {\n  left: 91.66666666666666%;\n}\n.col-xs-push-10 {\n  left: 83.33333333333334%;\n}\n.col-xs-push-9 {\n  left: 75%;\n}\n.col-xs-push-8 {\n  left: 66.66666666666666%;\n}\n.col-xs-push-7 {\n  left: 58.333333333333336%;\n}\n.col-xs-push-6 {\n  left: 50%;\n}\n.col-xs-push-5 {\n  left: 41.66666666666667%;\n}\n.col-xs-push-4 {\n  left: 33.33333333333333%;\n}\n.col-xs-push-3 {\n  left: 25%;\n}\n.col-xs-push-2 {\n  left: 16.666666666666664%;\n}\n.col-xs-push-1 {\n  left: 8.333333333333332%;\n}\n.col-xs-push-0 {\n  left: 0%;\n}\n.col-xs-offset-12 {\n  margin-left: 100%;\n}\n.col-xs-offset-11 {\n  margin-left: 91.66666666666666%;\n}\n.col-xs-offset-10 {\n  margin-left: 83.33333333333334%;\n}\n.col-xs-offset-9 {\n  margin-left: 75%;\n}\n.col-xs-offset-8 {\n  margin-left: 66.66666666666666%;\n}\n.col-xs-offset-7 {\n  margin-left: 58.333333333333336%;\n}\n.col-xs-offset-6 {\n  margin-left: 50%;\n}\n.col-xs-offset-5 {\n  margin-left: 41.66666666666667%;\n}\n.col-xs-offset-4 {\n  margin-left: 33.33333333333333%;\n}\n.col-xs-offset-3 {\n  margin-left: 25%;\n}\n.col-xs-offset-2 {\n  margin-left: 16.666666666666664%;\n}\n.col-xs-offset-1 {\n  margin-left: 8.333333333333332%;\n}\n.col-xs-offset-0 {\n  margin-left: 0%;\n}\n@media (min-width: 768px) {\n  .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {\n    float: left;\n  }\n  .col-sm-12 {\n    width: 100%;\n  }\n  .col-sm-11 {\n    width: 91.66666666666666%;\n  }\n  .col-sm-10 {\n    width: 83.33333333333334%;\n  }\n  .col-sm-9 {\n    width: 75%;\n  }\n  .col-sm-8 {\n    width: 66.66666666666666%;\n  }\n  .col-sm-7 {\n    width: 58.333333333333336%;\n  }\n  .col-sm-6 {\n    width: 50%;\n  }\n  .col-sm-5 {\n    width: 41.66666666666667%;\n  }\n  .col-sm-4 {\n    width: 33.33333333333333%;\n  }\n  .col-sm-3 {\n    width: 25%;\n  }\n  .col-sm-2 {\n    width: 16.666666666666664%;\n  }\n  .col-sm-1 {\n    width: 8.333333333333332%;\n  }\n  .col-sm-pull-12 {\n    right: 100%;\n  }\n  .col-sm-pull-11 {\n    right: 91.66666666666666%;\n  }\n  .col-sm-pull-10 {\n    right: 83.33333333333334%;\n  }\n  .col-sm-pull-9 {\n    right: 75%;\n  }\n  .col-sm-pull-8 {\n    right: 66.66666666666666%;\n  }\n  .col-sm-pull-7 {\n    right: 58.333333333333336%;\n  }\n  .col-sm-pull-6 {\n    right: 50%;\n  }\n  .col-sm-pull-5 {\n    right: 41.66666666666667%;\n  }\n  .col-sm-pull-4 {\n    right: 33.33333333333333%;\n  }\n  .col-sm-pull-3 {\n    right: 25%;\n  }\n  .col-sm-pull-2 {\n    right: 16.666666666666664%;\n  }\n  .col-sm-pull-1 {\n    right: 8.333333333333332%;\n  }\n  .col-sm-pull-0 {\n    right: 0%;\n  }\n  .col-sm-push-12 {\n    left: 100%;\n  }\n  .col-sm-push-11 {\n    left: 91.66666666666666%;\n  }\n  .col-sm-push-10 {\n    left: 83.33333333333334%;\n  }\n  .col-sm-push-9 {\n    left: 75%;\n  }\n  .col-sm-push-8 {\n    left: 66.66666666666666%;\n  }\n  .col-sm-push-7 {\n    left: 58.333333333333336%;\n  }\n  .col-sm-push-6 {\n    left: 50%;\n  }\n  .col-sm-push-5 {\n    left: 41.66666666666667%;\n  }\n  .col-sm-push-4 {\n    left: 33.33333333333333%;\n  }\n  .col-sm-push-3 {\n    left: 25%;\n  }\n  .col-sm-push-2 {\n    left: 16.666666666666664%;\n  }\n  .col-sm-push-1 {\n    left: 8.333333333333332%;\n  }\n  .col-sm-push-0 {\n    left: 0%;\n  }\n  .col-sm-offset-12 {\n    margin-left: 100%;\n  }\n  .col-sm-offset-11 {\n    margin-left: 91.66666666666666%;\n  }\n  .col-sm-offset-10 {\n    margin-left: 83.33333333333334%;\n  }\n  .col-sm-offset-9 {\n    margin-left: 75%;\n  }\n  .col-sm-offset-8 {\n    margin-left: 66.66666666666666%;\n  }\n  .col-sm-offset-7 {\n    margin-left: 58.333333333333336%;\n  }\n  .col-sm-offset-6 {\n    margin-left: 50%;\n  }\n  .col-sm-offset-5 {\n    margin-left: 41.66666666666667%;\n  }\n  .col-sm-offset-4 {\n    margin-left: 33.33333333333333%;\n  }\n  .col-sm-offset-3 {\n    margin-left: 25%;\n  }\n  .col-sm-offset-2 {\n    margin-left: 16.666666666666664%;\n  }\n  .col-sm-offset-1 {\n    margin-left: 8.333333333333332%;\n  }\n  .col-sm-offset-0 {\n    margin-left: 0%;\n  }\n}\n@media (min-width: 992px) {\n  .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {\n    float: left;\n  }\n  .col-md-12 {\n    width: 100%;\n  }\n  .col-md-11 {\n    width: 91.66666666666666%;\n  }\n  .col-md-10 {\n    width: 83.33333333333334%;\n  }\n  .col-md-9 {\n    width: 75%;\n  }\n  .col-md-8 {\n    width: 66.66666666666666%;\n  }\n  .col-md-7 {\n    width: 58.333333333333336%;\n  }\n  .col-md-6 {\n    width: 50%;\n  }\n  .col-md-5 {\n    width: 41.66666666666667%;\n  }\n  .col-md-4 {\n    width: 33.33333333333333%;\n  }\n  .col-md-3 {\n    width: 25%;\n  }\n  .col-md-2 {\n    width: 16.666666666666664%;\n  }\n  .col-md-1 {\n    width: 8.333333333333332%;\n  }\n  .col-md-pull-12 {\n    right: 100%;\n  }\n  .col-md-pull-11 {\n    right: 91.66666666666666%;\n  }\n  .col-md-pull-10 {\n    right: 83.33333333333334%;\n  }\n  .col-md-pull-9 {\n    right: 75%;\n  }\n  .col-md-pull-8 {\n    right: 66.66666666666666%;\n  }\n  .col-md-pull-7 {\n    right: 58.333333333333336%;\n  }\n  .col-md-pull-6 {\n    right: 50%;\n  }\n  .col-md-pull-5 {\n    right: 41.66666666666667%;\n  }\n  .col-md-pull-4 {\n    right: 33.33333333333333%;\n  }\n  .col-md-pull-3 {\n    right: 25%;\n  }\n  .col-md-pull-2 {\n    right: 16.666666666666664%;\n  }\n  .col-md-pull-1 {\n    right: 8.333333333333332%;\n  }\n  .col-md-pull-0 {\n    right: 0%;\n  }\n  .col-md-push-12 {\n    left: 100%;\n  }\n  .col-md-push-11 {\n    left: 91.66666666666666%;\n  }\n  .col-md-push-10 {\n    left: 83.33333333333334%;\n  }\n  .col-md-push-9 {\n    left: 75%;\n  }\n  .col-md-push-8 {\n    left: 66.66666666666666%;\n  }\n  .col-md-push-7 {\n    left: 58.333333333333336%;\n  }\n  .col-md-push-6 {\n    left: 50%;\n  }\n  .col-md-push-5 {\n    left: 41.66666666666667%;\n  }\n  .col-md-push-4 {\n    left: 33.33333333333333%;\n  }\n  .col-md-push-3 {\n    left: 25%;\n  }\n  .col-md-push-2 {\n    left: 16.666666666666664%;\n  }\n  .col-md-push-1 {\n    left: 8.333333333333332%;\n  }\n  .col-md-push-0 {\n    left: 0%;\n  }\n  .col-md-offset-12 {\n    margin-left: 100%;\n  }\n  .col-md-offset-11 {\n    margin-left: 91.66666666666666%;\n  }\n  .col-md-offset-10 {\n    margin-left: 83.33333333333334%;\n  }\n  .col-md-offset-9 {\n    margin-left: 75%;\n  }\n  .col-md-offset-8 {\n    margin-left: 66.66666666666666%;\n  }\n  .col-md-offset-7 {\n    margin-left: 58.333333333333336%;\n  }\n  .col-md-offset-6 {\n    margin-left: 50%;\n  }\n  .col-md-offset-5 {\n    margin-left: 41.66666666666667%;\n  }\n  .col-md-offset-4 {\n    margin-left: 33.33333333333333%;\n  }\n  .col-md-offset-3 {\n    margin-left: 25%;\n  }\n  .col-md-offset-2 {\n    margin-left: 16.666666666666664%;\n  }\n  .col-md-offset-1 {\n    margin-left: 8.333333333333332%;\n  }\n  .col-md-offset-0 {\n    margin-left: 0%;\n  }\n}\n@media (min-width: 1200px) {\n  .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {\n    float: left;\n  }\n  .col-lg-12 {\n    width: 100%;\n  }\n  .col-lg-11 {\n    width: 91.66666666666666%;\n  }\n  .col-lg-10 {\n    width: 83.33333333333334%;\n  }\n  .col-lg-9 {\n    width: 75%;\n  }\n  .col-lg-8 {\n    width: 66.66666666666666%;\n  }\n  .col-lg-7 {\n    width: 58.333333333333336%;\n  }\n  .col-lg-6 {\n    width: 50%;\n  }\n  .col-lg-5 {\n    width: 41.66666666666667%;\n  }\n  .col-lg-4 {\n    width: 33.33333333333333%;\n  }\n  .col-lg-3 {\n    width: 25%;\n  }\n  .col-lg-2 {\n    width: 16.666666666666664%;\n  }\n  .col-lg-1 {\n    width: 8.333333333333332%;\n  }\n  .col-lg-pull-12 {\n    right: 100%;\n  }\n  .col-lg-pull-11 {\n    right: 91.66666666666666%;\n  }\n  .col-lg-pull-10 {\n    right: 83.33333333333334%;\n  }\n  .col-lg-pull-9 {\n    right: 75%;\n  }\n  .col-lg-pull-8 {\n    right: 66.66666666666666%;\n  }\n  .col-lg-pull-7 {\n    right: 58.333333333333336%;\n  }\n  .col-lg-pull-6 {\n    right: 50%;\n  }\n  .col-lg-pull-5 {\n    right: 41.66666666666667%;\n  }\n  .col-lg-pull-4 {\n    right: 33.33333333333333%;\n  }\n  .col-lg-pull-3 {\n    right: 25%;\n  }\n  .col-lg-pull-2 {\n    right: 16.666666666666664%;\n  }\n  .col-lg-pull-1 {\n    right: 8.333333333333332%;\n  }\n  .col-lg-pull-0 {\n    right: 0%;\n  }\n  .col-lg-push-12 {\n    left: 100%;\n  }\n  .col-lg-push-11 {\n    left: 91.66666666666666%;\n  }\n  .col-lg-push-10 {\n    left: 83.33333333333334%;\n  }\n  .col-lg-push-9 {\n    left: 75%;\n  }\n  .col-lg-push-8 {\n    left: 66.66666666666666%;\n  }\n  .col-lg-push-7 {\n    left: 58.333333333333336%;\n  }\n  .col-lg-push-6 {\n    left: 50%;\n  }\n  .col-lg-push-5 {\n    left: 41.66666666666667%;\n  }\n  .col-lg-push-4 {\n    left: 33.33333333333333%;\n  }\n  .col-lg-push-3 {\n    left: 25%;\n  }\n  .col-lg-push-2 {\n    left: 16.666666666666664%;\n  }\n  .col-lg-push-1 {\n    left: 8.333333333333332%;\n  }\n  .col-lg-push-0 {\n    left: 0%;\n  }\n  .col-lg-offset-12 {\n    margin-left: 100%;\n  }\n  .col-lg-offset-11 {\n    margin-left: 91.66666666666666%;\n  }\n  .col-lg-offset-10 {\n    margin-left: 83.33333333333334%;\n  }\n  .col-lg-offset-9 {\n    margin-left: 75%;\n  }\n  .col-lg-offset-8 {\n    margin-left: 66.66666666666666%;\n  }\n  .col-lg-offset-7 {\n    margin-left: 58.333333333333336%;\n  }\n  .col-lg-offset-6 {\n    margin-left: 50%;\n  }\n  .col-lg-offset-5 {\n    margin-left: 41.66666666666667%;\n  }\n  .col-lg-offset-4 {\n    margin-left: 33.33333333333333%;\n  }\n  .col-lg-offset-3 {\n    margin-left: 25%;\n  }\n  .col-lg-offset-2 {\n    margin-left: 16.666666666666664%;\n  }\n  .col-lg-offset-1 {\n    margin-left: 8.333333333333332%;\n  }\n  .col-lg-offset-0 {\n    margin-left: 0%;\n  }\n}\ntable {\n  max-width: 100%;\n  background-color: transparent;\n}\nth {\n  text-align: left;\n}\n.table {\n  width: 100%;\n  margin-bottom: 24px;\n}\n.table > thead > tr > th,\n.table > tbody > tr > th,\n.table > tfoot > tr > th,\n.table > thead > tr > td,\n.table > tbody > tr > td,\n.table > tfoot > tr > td {\n  padding: 8px;\n  line-height: 1.5;\n  vertical-align: top;\n  border-top: 1px solid #dddddd;\n}\n.table > thead > tr > th {\n  vertical-align: bottom;\n  border-bottom: 2px solid #dddddd;\n}\n.table > caption + thead > tr:first-child > th,\n.table > colgroup + thead > tr:first-child > th,\n.table > thead:first-child > tr:first-child > th,\n.table > caption + thead > tr:first-child > td,\n.table > colgroup + thead > tr:first-child > td,\n.table > thead:first-child > tr:first-child > td {\n  border-top: 0;\n}\n.table > tbody + tbody {\n  border-top: 2px solid #dddddd;\n}\n.table .table {\n  background-color: #fcfcfc;\n}\n.table-condensed > thead > tr > th,\n.table-condensed > tbody > tr > th,\n.table-condensed > tfoot > tr > th,\n.table-condensed > thead > tr > td,\n.table-condensed > tbody > tr > td,\n.table-condensed > tfoot > tr > td {\n  padding: 5px;\n}\n.table-bordered {\n  border: 1px solid #dddddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > tbody > tr > th,\n.table-bordered > tfoot > tr > th,\n.table-bordered > thead > tr > td,\n.table-bordered > tbody > tr > td,\n.table-bordered > tfoot > tr > td {\n  border: 1px solid #dddddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > thead > tr > td {\n  border-bottom-width: 2px;\n}\n.table-striped > tbody > tr:nth-child(odd) > td,\n.table-striped > tbody > tr:nth-child(odd) > th {\n  background-color: #f9f9f9;\n}\n.table-hover > tbody > tr:hover > td,\n.table-hover > tbody > tr:hover > th {\n  background-color: #f5f5f5;\n}\ntable col[class*=\"col-\"] {\n  position: static;\n  float: none;\n  display: table-column;\n}\ntable td[class*=\"col-\"],\ntable th[class*=\"col-\"] {\n  float: none;\n  display: table-cell;\n}\n.table > thead > tr > .active,\n.table > tbody > tr > .active,\n.table > tfoot > tr > .active,\n.table > thead > .active > td,\n.table > tbody > .active > td,\n.table > tfoot > .active > td,\n.table > thead > .active > th,\n.table > tbody > .active > th,\n.table > tfoot > .active > th {\n  background-color: #f5f5f5;\n}\n.table-hover > tbody > tr > .active:hover,\n.table-hover > tbody > .active:hover > td,\n.table-hover > tbody > .active:hover > th {\n  background-color: #e8e8e8;\n}\n.table > thead > tr > .success,\n.table > tbody > tr > .success,\n.table > tfoot > tr > .success,\n.table > thead > .success > td,\n.table > tbody > .success > td,\n.table > tfoot > .success > td,\n.table > thead > .success > th,\n.table > tbody > .success > th,\n.table > tfoot > .success > th {\n  background-color: #dff0d8;\n}\n.table-hover > tbody > tr > .success:hover,\n.table-hover > tbody > .success:hover > td,\n.table-hover > tbody > .success:hover > th {\n  background-color: #d0e9c6;\n}\n.table > thead > tr > .danger,\n.table > tbody > tr > .danger,\n.table > tfoot > tr > .danger,\n.table > thead > .danger > td,\n.table > tbody > .danger > td,\n.table > tfoot > .danger > td,\n.table > thead > .danger > th,\n.table > tbody > .danger > th,\n.table > tfoot > .danger > th {\n  background-color: #f2dede;\n}\n.table-hover > tbody > tr > .danger:hover,\n.table-hover > tbody > .danger:hover > td,\n.table-hover > tbody > .danger:hover > th {\n  background-color: #ebcccc;\n}\n.table > thead > tr > .warning,\n.table > tbody > tr > .warning,\n.table > tfoot > tr > .warning,\n.table > thead > .warning > td,\n.table > tbody > .warning > td,\n.table > tfoot > .warning > td,\n.table > thead > .warning > th,\n.table > tbody > .warning > th,\n.table > tfoot > .warning > th {\n  background-color: #fcf8e3;\n}\n.table-hover > tbody > tr > .warning:hover,\n.table-hover > tbody > .warning:hover > td,\n.table-hover > tbody > .warning:hover > th {\n  background-color: #faf2cc;\n}\n@media (max-width: 767px) {\n  .table-responsive {\n    width: 100%;\n    margin-bottom: 18px;\n    overflow-y: hidden;\n    overflow-x: scroll;\n    -ms-overflow-style: -ms-autohiding-scrollbar;\n    border: 1px solid #dddddd;\n    -webkit-overflow-scrolling: touch;\n  }\n  .table-responsive > .table {\n    margin-bottom: 0;\n  }\n  .table-responsive > .table > thead > tr > th,\n  .table-responsive > .table > tbody > tr > th,\n  .table-responsive > .table > tfoot > tr > th,\n  .table-responsive > .table > thead > tr > td,\n  .table-responsive > .table > tbody > tr > td,\n  .table-responsive > .table > tfoot > tr > td {\n    white-space: nowrap;\n  }\n  .table-responsive > .table-bordered {\n    border: 0;\n  }\n  .table-responsive > .table-bordered > thead > tr > th:first-child,\n  .table-responsive > .table-bordered > tbody > tr > th:first-child,\n  .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n  .table-responsive > .table-bordered > thead > tr > td:first-child,\n  .table-responsive > .table-bordered > tbody > tr > td:first-child,\n  .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n    border-left: 0;\n  }\n  .table-responsive > .table-bordered > thead > tr > th:last-child,\n  .table-responsive > .table-bordered > tbody > tr > th:last-child,\n  .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n  .table-responsive > .table-bordered > thead > tr > td:last-child,\n  .table-responsive > .table-bordered > tbody > tr > td:last-child,\n  .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n    border-right: 0;\n  }\n  .table-responsive > .table-bordered > tbody > tr:last-child > th,\n  .table-responsive > .table-bordered > tfoot > tr:last-child > th,\n  .table-responsive > .table-bordered > tbody > tr:last-child > td,\n  .table-responsive > .table-bordered > tfoot > tr:last-child > td {\n    border-bottom: 0;\n  }\n}\nfieldset {\n  padding: 0;\n  margin: 0;\n  border: 0;\n}\nlegend {\n  display: block;\n  width: 100%;\n  padding: 0;\n  margin-bottom: 24px;\n  font-size: 24px;\n  line-height: inherit;\n  color: #595959;\n  border: 0;\n  border-bottom: 1px solid #e5e5e5;\n}\nlabel {\n  display: inline-block;\n  margin-bottom: 5px;\n  font-weight: bold;\n}\ninput[type=\"search\"] {\n  -webkit-box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  box-sizing: border-box;\n}\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n  margin: 4px 0 0;\n  margin-top: 1px \\9;\n  /* IE8-9 */\n  line-height: normal;\n}\ninput[type=\"file\"] {\n  display: block;\n}\nselect[multiple],\nselect[size] {\n  height: auto;\n}\nselect optgroup {\n  font-size: inherit;\n  font-style: inherit;\n  font-family: inherit;\n}\ninput[type=\"file\"]:focus,\ninput[type=\"radio\"]:focus,\ninput[type=\"checkbox\"]:focus {\n  outline: thin dotted;\n  outline: 5px auto -webkit-focus-ring-color;\n  outline-offset: -2px;\n}\ninput[type=\"number\"]::-webkit-outer-spin-button,\ninput[type=\"number\"]::-webkit-inner-spin-button {\n  height: auto;\n}\noutput {\n  display: block;\n  padding-top: 7px;\n  font-size: 16px;\n  line-height: 1.5;\n  color: #999999;\n  vertical-align: middle;\n}\n.form-control {\n  display: block;\n  height: 38px;\n  padding: 6px 12px;\n  font-size: 16px;\n  line-height: 1.5;\n  color: #999999;\n  vertical-align: middle;\n  background-color: #ffffff;\n  background-image: none;\n  border: 1px solid #cccccc;\n  border-radius: 0px;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n  -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n}\n.form-control:focus {\n  border-color: #66afe9;\n  outline: 0;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);\n  box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);\n}\n.form-control:-moz-placeholder {\n  color: #999999;\n}\n.form-control::-moz-placeholder {\n  color: #999999;\n  opacity: 1;\n}\n.form-control:-ms-input-placeholder {\n  color: #999999;\n}\n.form-control::-webkit-input-placeholder {\n  color: #999999;\n}\n.form-control[disabled],\n.form-control[readonly],\nfieldset[disabled] .form-control {\n  cursor: not-allowed;\n  background-color: #efefef;\n}\ntextarea.form-control {\n  height: auto;\n}\n.form-group {\n  margin-bottom: 15px;\n}\n.radio,\n.checkbox {\n  display: block;\n  min-height: 24px;\n  margin-top: 10px;\n  margin-bottom: 10px;\n  padding-left: 20px;\n  vertical-align: middle;\n}\n.radio label,\n.checkbox label {\n  display: inline;\n  margin-bottom: 0;\n  font-weight: normal;\n  cursor: pointer;\n}\n.radio input[type=\"radio\"],\n.radio-inline input[type=\"radio\"],\n.checkbox input[type=\"checkbox\"],\n.checkbox-inline input[type=\"checkbox\"] {\n  float: left;\n  margin-left: -20px;\n}\n.radio + .radio,\n.checkbox + .checkbox {\n  margin-top: -5px;\n}\n.radio-inline,\n.checkbox-inline {\n  display: inline-block;\n  padding-left: 20px;\n  margin-bottom: 0;\n  vertical-align: middle;\n  font-weight: normal;\n  cursor: pointer;\n}\n.radio-inline + .radio-inline,\n.checkbox-inline + .checkbox-inline {\n  margin-top: 0;\n  margin-left: 10px;\n}\ninput[type=\"radio\"][disabled],\ninput[type=\"checkbox\"][disabled],\n.radio[disabled],\n.radio-inline[disabled],\n.checkbox[disabled],\n.checkbox-inline[disabled],\nfieldset[disabled] input[type=\"radio\"],\nfieldset[disabled] input[type=\"checkbox\"],\nfieldset[disabled] .radio,\nfieldset[disabled] .radio-inline,\nfieldset[disabled] .checkbox,\nfieldset[disabled] .checkbox-inline {\n  cursor: not-allowed;\n}\n.input-sm {\n  height: 33px;\n  padding: 5px 10px;\n  font-size: 14px;\n  line-height: 1.5;\n  border-radius: 0px;\n}\nselect.input-sm {\n  height: 33px;\n  line-height: 33px;\n}\ntextarea.input-sm {\n  height: auto;\n}\n.input-lg {\n  height: 45px;\n  padding: 8px 16px;\n  font-size: 20px;\n  line-height: 1.33;\n  border-radius: 0px;\n}\nselect.input-lg {\n  height: 45px;\n  line-height: 45px;\n}\ntextarea.input-lg {\n  height: auto;\n}\n.has-warning .help-block,\n.has-warning .control-label,\n.has-warning .radio,\n.has-warning .checkbox,\n.has-warning .radio-inline,\n.has-warning .checkbox-inline {\n  color: #8a6d3b;\n}\n.has-warning .form-control {\n  border-color: #8a6d3b;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-warning .form-control:focus {\n  border-color: #66512c;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;\n}\n.has-warning .input-group-addon {\n  color: #8a6d3b;\n  border-color: #8a6d3b;\n  background-color: #fcf8e3;\n}\n.has-error .help-block,\n.has-error .control-label,\n.has-error .radio,\n.has-error .checkbox,\n.has-error .radio-inline,\n.has-error .checkbox-inline {\n  color: #a94442;\n}\n.has-error .form-control {\n  border-color: #a94442;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-error .form-control:focus {\n  border-color: #843534;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;\n}\n.has-error .input-group-addon {\n  color: #a94442;\n  border-color: #a94442;\n  background-color: #f2dede;\n}\n.has-success .help-block,\n.has-success .control-label,\n.has-success .radio,\n.has-success .checkbox,\n.has-success .radio-inline,\n.has-success .checkbox-inline {\n  color: #3c763d;\n}\n.has-success .form-control {\n  border-color: #3c763d;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-success .form-control:focus {\n  border-color: #2b542c;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;\n}\n.has-success .input-group-addon {\n  color: #3c763d;\n  border-color: #3c763d;\n  background-color: #dff0d8;\n}\n.form-control-static {\n  margin-bottom: 0;\n}\n.help-block {\n  display: block;\n  margin-top: 5px;\n  margin-bottom: 10px;\n  color: #737373;\n}\n@media (min-width: 768px) {\n  .form-inline .form-group {\n    display: inline-block;\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .form-inline .form-control {\n    display: inline-block;\n  }\n  .form-inline select.form-control {\n    width: auto;\n  }\n  .form-inline .radio,\n  .form-inline .checkbox {\n    display: inline-block;\n    margin-top: 0;\n    margin-bottom: 0;\n    padding-left: 0;\n  }\n  .form-inline .radio input[type=\"radio\"],\n  .form-inline .checkbox input[type=\"checkbox\"] {\n    float: none;\n    margin-left: 0;\n  }\n}\n.form-horizontal .control-label,\n.form-horizontal .radio,\n.form-horizontal .checkbox,\n.form-horizontal .radio-inline,\n.form-horizontal .checkbox-inline {\n  margin-top: 0;\n  margin-bottom: 0;\n  padding-top: 7px;\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox {\n  min-height: 31px;\n}\n.form-horizontal .form-group {\n  margin-left: -10px;\n  margin-right: -10px;\n}\n.form-horizontal .form-group:before,\n.form-horizontal .form-group:after {\n  content: \" \";\n  display: table;\n}\n.form-horizontal .form-group:after {\n  clear: both;\n}\n.form-horizontal .form-group:before,\n.form-horizontal .form-group:after {\n  content: \" \";\n  display: table;\n}\n.form-horizontal .form-group:after {\n  clear: both;\n}\n.form-horizontal .form-control-static {\n  padding-top: 7px;\n}\n@media (min-width: 768px) {\n  .form-horizontal .control-label {\n    text-align: right;\n  }\n}\n.btn {\n  display: inline-block;\n  margin-bottom: 0;\n  font-weight: normal;\n  text-align: center;\n  vertical-align: middle;\n  cursor: pointer;\n  background-image: none;\n  border: 1px solid transparent;\n  white-space: nowrap;\n  padding: 6px 12px;\n  font-size: 16px;\n  line-height: 1.5;\n  border-radius: 0px;\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  -o-user-select: none;\n  user-select: none;\n}\n.btn:focus {\n  outline: thin dotted;\n  outline: 5px auto -webkit-focus-ring-color;\n  outline-offset: -2px;\n}\n.btn:hover,\n.btn:focus {\n  color: #333333;\n  text-decoration: none;\n}\n.btn:active,\n.btn.active {\n  outline: 0;\n  background-image: none;\n  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn.disabled,\n.btn[disabled],\nfieldset[disabled] .btn {\n  cursor: not-allowed;\n  pointer-events: none;\n  opacity: 0.65;\n  filter: alpha(opacity=65);\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.btn-default {\n  color: #333333;\n  background-color: #ffffff;\n  border-color: #cccccc;\n}\n.btn-default:hover,\n.btn-default:focus,\n.btn-default:active,\n.btn-default.active,\n.open .dropdown-toggle.btn-default {\n  color: #333333;\n  background-color: #ebebeb;\n  border-color: #adadad;\n}\n.btn-default:active,\n.btn-default.active,\n.open .dropdown-toggle.btn-default {\n  background-image: none;\n}\n.btn-default.disabled,\n.btn-default[disabled],\nfieldset[disabled] .btn-default,\n.btn-default.disabled:hover,\n.btn-default[disabled]:hover,\nfieldset[disabled] .btn-default:hover,\n.btn-default.disabled:focus,\n.btn-default[disabled]:focus,\nfieldset[disabled] .btn-default:focus,\n.btn-default.disabled:active,\n.btn-default[disabled]:active,\nfieldset[disabled] .btn-default:active,\n.btn-default.disabled.active,\n.btn-default[disabled].active,\nfieldset[disabled] .btn-default.active {\n  background-color: #ffffff;\n  border-color: #cccccc;\n}\n.btn-default .badge {\n  color: #ffffff;\n  background-color: #fff;\n}\n.btn-primary {\n  color: #ffffff;\n  background-color: #76b900;\n  border-color: #76b900;\n}\n.btn-primary:hover,\n.btn-primary:focus,\n.btn-primary:active,\n.btn-primary.active,\n.open .dropdown-toggle.btn-primary {\n  color: #ffffff;\n  background-color: #5c9000;\n  border-color: #4f7c00;\n}\n.btn-primary:active,\n.btn-primary.active,\n.open .dropdown-toggle.btn-primary {\n  background-image: none;\n}\n.btn-primary.disabled,\n.btn-primary[disabled],\nfieldset[disabled] .btn-primary,\n.btn-primary.disabled:hover,\n.btn-primary[disabled]:hover,\nfieldset[disabled] .btn-primary:hover,\n.btn-primary.disabled:focus,\n.btn-primary[disabled]:focus,\nfieldset[disabled] .btn-primary:focus,\n.btn-primary.disabled:active,\n.btn-primary[disabled]:active,\nfieldset[disabled] .btn-primary:active,\n.btn-primary.disabled.active,\n.btn-primary[disabled].active,\nfieldset[disabled] .btn-primary.active {\n  background-color: #76b900;\n  border-color: #76b900;\n}\n.btn-primary .badge {\n  color: #76b900;\n  background-color: #fff;\n}\n.btn-warning {\n  color: #ffffff;\n  background-color: #f0ad4e;\n  border-color: #f0ad4e;\n}\n.btn-warning:hover,\n.btn-warning:focus,\n.btn-warning:active,\n.btn-warning.active,\n.open .dropdown-toggle.btn-warning {\n  color: #ffffff;\n  background-color: #ed9c28;\n  border-color: #eb9316;\n}\n.btn-warning:active,\n.btn-warning.active,\n.open .dropdown-toggle.btn-warning {\n  background-image: none;\n}\n.btn-warning.disabled,\n.btn-warning[disabled],\nfieldset[disabled] .btn-warning,\n.btn-warning.disabled:hover,\n.btn-warning[disabled]:hover,\nfieldset[disabled] .btn-warning:hover,\n.btn-warning.disabled:focus,\n.btn-warning[disabled]:focus,\nfieldset[disabled] .btn-warning:focus,\n.btn-warning.disabled:active,\n.btn-warning[disabled]:active,\nfieldset[disabled] .btn-warning:active,\n.btn-warning.disabled.active,\n.btn-warning[disabled].active,\nfieldset[disabled] .btn-warning.active {\n  background-color: #f0ad4e;\n  border-color: #f0ad4e;\n}\n.btn-warning .badge {\n  color: #f0ad4e;\n  background-color: #fff;\n}\n.btn-danger {\n  color: #ffffff;\n  background-color: #d9534f;\n  border-color: #d9534f;\n}\n.btn-danger:hover,\n.btn-danger:focus,\n.btn-danger:active,\n.btn-danger.active,\n.open .dropdown-toggle.btn-danger {\n  color: #ffffff;\n  background-color: #d2322d;\n  border-color: #c12e2a;\n}\n.btn-danger:active,\n.btn-danger.active,\n.open .dropdown-toggle.btn-danger {\n  background-image: none;\n}\n.btn-danger.disabled,\n.btn-danger[disabled],\nfieldset[disabled] .btn-danger,\n.btn-danger.disabled:hover,\n.btn-danger[disabled]:hover,\nfieldset[disabled] .btn-danger:hover,\n.btn-danger.disabled:focus,\n.btn-danger[disabled]:focus,\nfieldset[disabled] .btn-danger:focus,\n.btn-danger.disabled:active,\n.btn-danger[disabled]:active,\nfieldset[disabled] .btn-danger:active,\n.btn-danger.disabled.active,\n.btn-danger[disabled].active,\nfieldset[disabled] .btn-danger.active {\n  background-color: #d9534f;\n  border-color: #d9534f;\n}\n.btn-danger .badge {\n  color: #d9534f;\n  background-color: #fff;\n}\n.btn-success {\n  color: #ffffff;\n  background-color: #76b900;\n  border-color: #76b900;\n}\n.btn-success:hover,\n.btn-success:focus,\n.btn-success:active,\n.btn-success.active,\n.open .dropdown-toggle.btn-success {\n  color: #ffffff;\n  background-color: #5c9000;\n  border-color: #4f7c00;\n}\n.btn-success:active,\n.btn-success.active,\n.open .dropdown-toggle.btn-success {\n  background-image: none;\n}\n.btn-success.disabled,\n.btn-success[disabled],\nfieldset[disabled] .btn-success,\n.btn-success.disabled:hover,\n.btn-success[disabled]:hover,\nfieldset[disabled] .btn-success:hover,\n.btn-success.disabled:focus,\n.btn-success[disabled]:focus,\nfieldset[disabled] .btn-success:focus,\n.btn-success.disabled:active,\n.btn-success[disabled]:active,\nfieldset[disabled] .btn-success:active,\n.btn-success.disabled.active,\n.btn-success[disabled].active,\nfieldset[disabled] .btn-success.active {\n  background-color: #76b900;\n  border-color: #76b900;\n}\n.btn-success .badge {\n  color: #76b900;\n  background-color: #fff;\n}\n.btn-info {\n  color: #ffffff;\n  background-color: #5bc0de;\n  border-color: #5bc0de;\n}\n.btn-info:hover,\n.btn-info:focus,\n.btn-info:active,\n.btn-info.active,\n.open .dropdown-toggle.btn-info {\n  color: #ffffff;\n  background-color: #39b3d7;\n  border-color: #2aabd2;\n}\n.btn-info:active,\n.btn-info.active,\n.open .dropdown-toggle.btn-info {\n  background-image: none;\n}\n.btn-info.disabled,\n.btn-info[disabled],\nfieldset[disabled] .btn-info,\n.btn-info.disabled:hover,\n.btn-info[disabled]:hover,\nfieldset[disabled] .btn-info:hover,\n.btn-info.disabled:focus,\n.btn-info[disabled]:focus,\nfieldset[disabled] .btn-info:focus,\n.btn-info.disabled:active,\n.btn-info[disabled]:active,\nfieldset[disabled] .btn-info:active,\n.btn-info.disabled.active,\n.btn-info[disabled].active,\nfieldset[disabled] .btn-info.active {\n  background-color: #5bc0de;\n  border-color: #5bc0de;\n}\n.btn-info .badge {\n  color: #5bc0de;\n  background-color: #fff;\n}\n.btn-link {\n  color: #76b900;\n  font-weight: normal;\n  cursor: pointer;\n  border-radius: 0;\n}\n.btn-link,\n.btn-link:active,\n.btn-link[disabled],\nfieldset[disabled] .btn-link {\n  background-color: transparent;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.btn-link,\n.btn-link:hover,\n.btn-link:focus,\n.btn-link:active {\n  border-color: transparent;\n}\n.btn-link:hover,\n.btn-link:focus {\n  color: #76b900;\n  text-decoration: underline;\n  background-color: transparent;\n}\n.btn-link[disabled]:hover,\nfieldset[disabled] .btn-link:hover,\n.btn-link[disabled]:focus,\nfieldset[disabled] .btn-link:focus {\n  color: #999999;\n  text-decoration: none;\n}\n.btn-lg {\n  padding: 8px 16px;\n  font-size: 20px;\n  line-height: 1.33;\n  border-radius: 0px;\n}\n.btn-sm {\n  padding: 5px 10px;\n  font-size: 14px;\n  line-height: 1.5;\n  border-radius: 0px;\n}\n.btn-xs {\n  padding: 4px 6px;\n  font-size: 14px;\n  line-height: 1.5;\n  border-radius: 0px;\n}\n.btn-block {\n  display: block;\n  width: 100%;\n  padding-left: 0;\n  padding-right: 0;\n}\n.btn-block + .btn-block {\n  margin-top: 5px;\n}\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n  width: 100%;\n}\n.fade {\n  opacity: 0;\n  -webkit-transition: opacity 0.15s linear;\n  transition: opacity 0.15s linear;\n}\n.fade.in {\n  opacity: 1;\n}\n.collapse {\n  display: none;\n}\n.collapse.in {\n  display: block;\n}\n.collapsing {\n  position: relative;\n  height: 0;\n  overflow: hidden;\n  -webkit-transition: height 0.35s ease;\n  transition: height 0.35s ease;\n}\n@font-face {\n  font-family: 'Glyphicons Halflings';\n  src: url('glyphicons-halflings-regular.eot');\n  src: url('glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('glyphicons-halflings-regular.woff') format('woff'), url('glyphicons-halflings-regular.ttf') format('truetype'), url('glyphicons-halflings-regular.svg#glyphicons-halflingsregular') format('svg');\n}\n.glyphicon {\n  position: relative;\n  top: 1px;\n  display: inline-block;\n  font-family: 'Glyphicons Halflings';\n  font-style: normal;\n  font-weight: normal;\n  line-height: 1;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n}\n.glyphicon:empty {\n  width: 1em;\n}\n.glyphicon-asterisk:before {\n  content: \"\\2a\";\n}\n.glyphicon-plus:before {\n  content: \"\\2b\";\n}\n.glyphicon-euro:before {\n  content: \"\\20ac\";\n}\n.glyphicon-minus:before {\n  content: \"\\2212\";\n}\n.glyphicon-cloud:before {\n  content: \"\\2601\";\n}\n.glyphicon-envelope:before {\n  content: \"\\2709\";\n}\n.glyphicon-pencil:before {\n  content: \"\\270f\";\n}\n.glyphicon-glass:before {\n  content: \"\\e001\";\n}\n.glyphicon-music:before {\n  content: \"\\e002\";\n}\n.glyphicon-search:before {\n  content: \"\\e003\";\n}\n.glyphicon-heart:before {\n  content: \"\\e005\";\n}\n.glyphicon-star:before {\n  content: \"\\e006\";\n}\n.glyphicon-star-empty:before {\n  content: \"\\e007\";\n}\n.glyphicon-user:before {\n  content: \"\\e008\";\n}\n.glyphicon-film:before {\n  content: \"\\e009\";\n}\n.glyphicon-th-large:before {\n  content: \"\\e010\";\n}\n.glyphicon-th:before {\n  content: \"\\e011\";\n}\n.glyphicon-th-list:before {\n  content: \"\\e012\";\n}\n.glyphicon-ok:before {\n  content: \"\\e013\";\n}\n.glyphicon-remove:before {\n  content: \"\\e014\";\n}\n.glyphicon-zoom-in:before {\n  content: \"\\e015\";\n}\n.glyphicon-zoom-out:before {\n  content: \"\\e016\";\n}\n.glyphicon-off:before {\n  content: \"\\e017\";\n}\n.glyphicon-signal:before {\n  content: \"\\e018\";\n}\n.glyphicon-cog:before {\n  content: \"\\e019\";\n}\n.glyphicon-trash:before {\n  content: \"\\e020\";\n}\n.glyphicon-home:before {\n  content: \"\\e021\";\n}\n.glyphicon-file:before {\n  content: \"\\e022\";\n}\n.glyphicon-time:before {\n  content: \"\\e023\";\n}\n.glyphicon-road:before {\n  content: \"\\e024\";\n}\n.glyphicon-download-alt:before {\n  content: \"\\e025\";\n}\n.glyphicon-download:before {\n  content: \"\\e026\";\n}\n.glyphicon-upload:before {\n  content: \"\\e027\";\n}\n.glyphicon-inbox:before {\n  content: \"\\e028\";\n}\n.glyphicon-play-circle:before {\n  content: \"\\e029\";\n}\n.glyphicon-repeat:before {\n  content: \"\\e030\";\n}\n.glyphicon-refresh:before {\n  content: \"\\e031\";\n}\n.glyphicon-list-alt:before {\n  content: \"\\e032\";\n}\n.glyphicon-lock:before {\n  content: \"\\e033\";\n}\n.glyphicon-flag:before {\n  content: \"\\e034\";\n}\n.glyphicon-headphones:before {\n  content: \"\\e035\";\n}\n.glyphicon-volume-off:before {\n  content: \"\\e036\";\n}\n.glyphicon-volume-down:before {\n  content: \"\\e037\";\n}\n.glyphicon-volume-up:before {\n  content: \"\\e038\";\n}\n.glyphicon-qrcode:before {\n  content: \"\\e039\";\n}\n.glyphicon-barcode:before {\n  content: \"\\e040\";\n}\n.glyphicon-tag:before {\n  content: \"\\e041\";\n}\n.glyphicon-tags:before {\n  content: \"\\e042\";\n}\n.glyphicon-book:before {\n  content: \"\\e043\";\n}\n.glyphicon-bookmark:before {\n  content: \"\\e044\";\n}\n.glyphicon-print:before {\n  content: \"\\e045\";\n}\n.glyphicon-camera:before {\n  content: \"\\e046\";\n}\n.glyphicon-font:before {\n  content: \"\\e047\";\n}\n.glyphicon-bold:before {\n  content: \"\\e048\";\n}\n.glyphicon-italic:before {\n  content: \"\\e049\";\n}\n.glyphicon-text-height:before {\n  content: \"\\e050\";\n}\n.glyphicon-text-width:before {\n  content: \"\\e051\";\n}\n.glyphicon-align-left:before {\n  content: \"\\e052\";\n}\n.glyphicon-align-center:before {\n  content: \"\\e053\";\n}\n.glyphicon-align-right:before {\n  content: \"\\e054\";\n}\n.glyphicon-align-justify:before {\n  content: \"\\e055\";\n}\n.glyphicon-list:before {\n  content: \"\\e056\";\n}\n.glyphicon-indent-left:before {\n  content: \"\\e057\";\n}\n.glyphicon-indent-right:before {\n  content: \"\\e058\";\n}\n.glyphicon-facetime-video:before {\n  content: \"\\e059\";\n}\n.glyphicon-picture:before {\n  content: \"\\e060\";\n}\n.glyphicon-map-marker:before {\n  content: \"\\e062\";\n}\n.glyphicon-adjust:before {\n  content: \"\\e063\";\n}\n.glyphicon-tint:before {\n  content: \"\\e064\";\n}\n.glyphicon-edit:before {\n  content: \"\\e065\";\n}\n.glyphicon-share:before {\n  content: \"\\e066\";\n}\n.glyphicon-check:before {\n  content: \"\\e067\";\n}\n.glyphicon-move:before {\n  content: \"\\e068\";\n}\n.glyphicon-step-backward:before {\n  content: \"\\e069\";\n}\n.glyphicon-fast-backward:before {\n  content: \"\\e070\";\n}\n.glyphicon-backward:before {\n  content: \"\\e071\";\n}\n.glyphicon-play:before {\n  content: \"\\e072\";\n}\n.glyphicon-pause:before {\n  content: \"\\e073\";\n}\n.glyphicon-stop:before {\n  content: \"\\e074\";\n}\n.glyphicon-forward:before {\n  content: \"\\e075\";\n}\n.glyphicon-fast-forward:before {\n  content: \"\\e076\";\n}\n.glyphicon-step-forward:before {\n  content: \"\\e077\";\n}\n.glyphicon-eject:before {\n  content: \"\\e078\";\n}\n.glyphicon-chevron-left:before {\n  content: \"\\e079\";\n}\n.glyphicon-chevron-right:before {\n  content: \"\\e080\";\n}\n.glyphicon-plus-sign:before {\n  content: \"\\e081\";\n}\n.glyphicon-minus-sign:before {\n  content: \"\\e082\";\n}\n.glyphicon-remove-sign:before {\n  content: \"\\e083\";\n}\n.glyphicon-ok-sign:before {\n  content: \"\\e084\";\n}\n.glyphicon-question-sign:before {\n  content: \"\\e085\";\n}\n.glyphicon-info-sign:before {\n  content: \"\\e086\";\n}\n.glyphicon-screenshot:before {\n  content: \"\\e087\";\n}\n.glyphicon-remove-circle:before {\n  content: \"\\e088\";\n}\n.glyphicon-ok-circle:before {\n  content: \"\\e089\";\n}\n.glyphicon-ban-circle:before {\n  content: \"\\e090\";\n}\n.glyphicon-arrow-left:before {\n  content: \"\\e091\";\n}\n.glyphicon-arrow-right:before {\n  content: \"\\e092\";\n}\n.glyphicon-arrow-up:before {\n  content: \"\\e093\";\n}\n.glyphicon-arrow-down:before {\n  content: \"\\e094\";\n}\n.glyphicon-share-alt:before {\n  content: \"\\e095\";\n}\n.glyphicon-resize-full:before {\n  content: \"\\e096\";\n}\n.glyphicon-resize-small:before {\n  content: \"\\e097\";\n}\n.glyphicon-exclamation-sign:before {\n  content: \"\\e101\";\n}\n.glyphicon-gift:before {\n  content: \"\\e102\";\n}\n.glyphicon-leaf:before {\n  content: \"\\e103\";\n}\n.glyphicon-fire:before {\n  content: \"\\e104\";\n}\n.glyphicon-eye-open:before {\n  content: \"\\e105\";\n}\n.glyphicon-eye-close:before {\n  content: \"\\e106\";\n}\n.glyphicon-warning-sign:before {\n  content: \"\\e107\";\n}\n.glyphicon-plane:before {\n  content: \"\\e108\";\n}\n.glyphicon-calendar:before {\n  content: \"\\e109\";\n}\n.glyphicon-random:before {\n  content: \"\\e110\";\n}\n.glyphicon-comment:before {\n  content: \"\\e111\";\n}\n.glyphicon-magnet:before {\n  content: \"\\e112\";\n}\n.glyphicon-chevron-up:before {\n  content: \"\\e113\";\n}\n.glyphicon-chevron-down:before {\n  content: \"\\e114\";\n}\n.glyphicon-retweet:before {\n  content: \"\\e115\";\n}\n.glyphicon-shopping-cart:before {\n  content: \"\\e116\";\n}\n.glyphicon-folder-close:before {\n  content: \"\\e117\";\n}\n.glyphicon-folder-open:before {\n  content: \"\\e118\";\n}\n.glyphicon-resize-vertical:before {\n  content: \"\\e119\";\n}\n.glyphicon-resize-horizontal:before {\n  content: \"\\e120\";\n}\n.glyphicon-hdd:before {\n  content: \"\\e121\";\n}\n.glyphicon-bullhorn:before {\n  content: \"\\e122\";\n}\n.glyphicon-bell:before {\n  content: \"\\e123\";\n}\n.glyphicon-certificate:before {\n  content: \"\\e124\";\n}\n.glyphicon-thumbs-up:before {\n  content: \"\\e125\";\n}\n.glyphicon-thumbs-down:before {\n  content: \"\\e126\";\n}\n.glyphicon-hand-right:before {\n  content: \"\\e127\";\n}\n.glyphicon-hand-left:before {\n  content: \"\\e128\";\n}\n.glyphicon-hand-up:before {\n  content: \"\\e129\";\n}\n.glyphicon-hand-down:before {\n  content: \"\\e130\";\n}\n.glyphicon-circle-arrow-right:before {\n  content: \"\\e131\";\n}\n.glyphicon-circle-arrow-left:before {\n  content: \"\\e132\";\n}\n.glyphicon-circle-arrow-up:before {\n  content: \"\\e133\";\n}\n.glyphicon-circle-arrow-down:before {\n  content: \"\\e134\";\n}\n.glyphicon-globe:before {\n  content: \"\\e135\";\n}\n.glyphicon-wrench:before {\n  content: \"\\e136\";\n}\n.glyphicon-tasks:before {\n  content: \"\\e137\";\n}\n.glyphicon-filter:before {\n  content: \"\\e138\";\n}\n.glyphicon-briefcase:before {\n  content: \"\\e139\";\n}\n.glyphicon-fullscreen:before {\n  content: \"\\e140\";\n}\n.glyphicon-dashboard:before {\n  content: \"\\e141\";\n}\n.glyphicon-paperclip:before {\n  content: \"\\e142\";\n}\n.glyphicon-heart-empty:before {\n  content: \"\\e143\";\n}\n.glyphicon-link:before {\n  content: \"\\e144\";\n}\n.glyphicon-phone:before {\n  content: \"\\e145\";\n}\n.glyphicon-pushpin:before {\n  content: \"\\e146\";\n}\n.glyphicon-usd:before {\n  content: \"\\e148\";\n}\n.glyphicon-gbp:before {\n  content: \"\\e149\";\n}\n.glyphicon-sort:before {\n  content: \"\\e150\";\n}\n.glyphicon-sort-by-alphabet:before {\n  content: \"\\e151\";\n}\n.glyphicon-sort-by-alphabet-alt:before {\n  content: \"\\e152\";\n}\n.glyphicon-sort-by-order:before {\n  content: \"\\e153\";\n}\n.glyphicon-sort-by-order-alt:before {\n  content: \"\\e154\";\n}\n.glyphicon-sort-by-attributes:before {\n  content: \"\\e155\";\n}\n.glyphicon-sort-by-attributes-alt:before {\n  content: \"\\e156\";\n}\n.glyphicon-unchecked:before {\n  content: \"\\e157\";\n}\n.glyphicon-expand:before {\n  content: \"\\e158\";\n}\n.glyphicon-collapse-down:before {\n  content: \"\\e159\";\n}\n.glyphicon-collapse-up:before {\n  content: \"\\e160\";\n}\n.glyphicon-log-in:before {\n  content: \"\\e161\";\n}\n.glyphicon-flash:before {\n  content: \"\\e162\";\n}\n.glyphicon-log-out:before {\n  content: \"\\e163\";\n}\n.glyphicon-new-window:before {\n  content: \"\\e164\";\n}\n.glyphicon-record:before {\n  content: \"\\e165\";\n}\n.glyphicon-save:before {\n  content: \"\\e166\";\n}\n.glyphicon-open:before {\n  content: \"\\e167\";\n}\n.glyphicon-saved:before {\n  content: \"\\e168\";\n}\n.glyphicon-import:before {\n  content: \"\\e169\";\n}\n.glyphicon-export:before {\n  content: \"\\e170\";\n}\n.glyphicon-send:before {\n  content: \"\\e171\";\n}\n.glyphicon-floppy-disk:before {\n  content: \"\\e172\";\n}\n.glyphicon-floppy-saved:before {\n  content: \"\\e173\";\n}\n.glyphicon-floppy-remove:before {\n  content: \"\\e174\";\n}\n.glyphicon-floppy-save:before {\n  content: \"\\e175\";\n}\n.glyphicon-floppy-open:before {\n  content: \"\\e176\";\n}\n.glyphicon-credit-card:before {\n  content: \"\\e177\";\n}\n.glyphicon-transfer:before {\n  content: \"\\e178\";\n}\n.glyphicon-cutlery:before {\n  content: \"\\e179\";\n}\n.glyphicon-header:before {\n  content: \"\\e180\";\n}\n.glyphicon-compressed:before {\n  content: \"\\e181\";\n}\n.glyphicon-earphone:before {\n  content: \"\\e182\";\n}\n.glyphicon-phone-alt:before {\n  content: \"\\e183\";\n}\n.glyphicon-tower:before {\n  content: \"\\e184\";\n}\n.glyphicon-stats:before {\n  content: \"\\e185\";\n}\n.glyphicon-sd-video:before {\n  content: \"\\e186\";\n}\n.glyphicon-hd-video:before {\n  content: \"\\e187\";\n}\n.glyphicon-subtitles:before {\n  content: \"\\e188\";\n}\n.glyphicon-sound-stereo:before {\n  content: \"\\e189\";\n}\n.glyphicon-sound-dolby:before {\n  content: \"\\e190\";\n}\n.glyphicon-sound-5-1:before {\n  content: \"\\e191\";\n}\n.glyphicon-sound-6-1:before {\n  content: \"\\e192\";\n}\n.glyphicon-sound-7-1:before {\n  content: \"\\e193\";\n}\n.glyphicon-copyright-mark:before {\n  content: \"\\e194\";\n}\n.glyphicon-registration-mark:before {\n  content: \"\\e195\";\n}\n.glyphicon-cloud-download:before {\n  content: \"\\e197\";\n}\n.glyphicon-cloud-upload:before {\n  content: \"\\e198\";\n}\n.glyphicon-tree-conifer:before {\n  content: \"\\e199\";\n}\n.glyphicon-tree-deciduous:before {\n  content: \"\\e200\";\n}\n.caret {\n  display: inline-block;\n  width: 0;\n  height: 0;\n  margin-left: 2px;\n  vertical-align: middle;\n  border-top: 4px solid;\n  border-right: 4px solid transparent;\n  border-left: 4px solid transparent;\n}\n.dropdown {\n  position: relative;\n}\n.dropdown-toggle:focus {\n  outline: 0;\n}\n.dropdown-menu {\n  position: absolute;\n  top: 100%;\n  left: 0;\n  z-index: 1000;\n  display: none;\n  float: left;\n  min-width: 160px;\n  padding: 5px 0;\n  margin: 2px 0 0;\n  list-style: none;\n  font-size: 16px;\n  background-color: #ffffff;\n  border: 1px solid #cccccc;\n  border: 1px solid rgba(0, 0, 0, 0.15);\n  border-radius: 0px;\n  -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n  background-clip: padding-box;\n}\n.dropdown-menu.pull-right {\n  right: 0;\n  left: auto;\n}\n.dropdown-menu .divider {\n  height: 1px;\n  margin: 11px 0;\n  overflow: hidden;\n  background-color: #e5e5e5;\n}\n.dropdown-menu > li > a {\n  display: block;\n  padding: 3px 20px;\n  clear: both;\n  font-weight: normal;\n  line-height: 1.5;\n  color: #595959;\n  white-space: nowrap;\n}\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n  text-decoration: none;\n  color: #4c4c4c;\n  background-color: #f5f5f5;\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n  color: #ffffff;\n  text-decoration: none;\n  outline: 0;\n  background-color: #76b900;\n}\n.dropdown-menu > .disabled > a,\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n  color: #999999;\n}\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n  text-decoration: none;\n  background-color: transparent;\n  background-image: none;\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n  cursor: not-allowed;\n}\n.open > .dropdown-menu {\n  display: block;\n}\n.open > a {\n  outline: 0;\n}\n.dropdown-header {\n  display: block;\n  padding: 3px 20px;\n  font-size: 14px;\n  line-height: 1.5;\n  color: #999999;\n}\n.dropdown-backdrop {\n  position: fixed;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  top: 0;\n  z-index: 990;\n}\n.pull-right > .dropdown-menu {\n  right: 0;\n  left: auto;\n}\n.dropup .caret,\n.navbar-fixed-bottom .dropdown .caret {\n  border-top: 0;\n  border-bottom: 4px solid;\n  content: \"\";\n}\n.dropup .dropdown-menu,\n.navbar-fixed-bottom .dropdown .dropdown-menu {\n  top: auto;\n  bottom: 100%;\n  margin-bottom: 1px;\n}\n@media (min-width: 992px) {\n  .navbar-right .dropdown-menu {\n    right: 0;\n    left: auto;\n  }\n}\n.btn-group,\n.btn-group-vertical {\n  position: relative;\n  display: inline-block;\n  vertical-align: middle;\n}\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n  position: relative;\n  float: left;\n}\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover,\n.btn-group > .btn:focus,\n.btn-group-vertical > .btn:focus,\n.btn-group > .btn:active,\n.btn-group-vertical > .btn:active,\n.btn-group > .btn.active,\n.btn-group-vertical > .btn.active {\n  z-index: 2;\n}\n.btn-group > .btn:focus,\n.btn-group-vertical > .btn:focus {\n  outline: none;\n}\n.btn-group .btn + .btn,\n.btn-group .btn + .btn-group,\n.btn-group .btn-group + .btn,\n.btn-group .btn-group + .btn-group {\n  margin-left: -1px;\n}\n.btn-toolbar:before,\n.btn-toolbar:after {\n  content: \" \";\n  display: table;\n}\n.btn-toolbar:after {\n  clear: both;\n}\n.btn-toolbar:before,\n.btn-toolbar:after {\n  content: \" \";\n  display: table;\n}\n.btn-toolbar:after {\n  clear: both;\n}\n.btn-toolbar .btn-group {\n  float: left;\n}\n.btn-toolbar > .btn + .btn,\n.btn-toolbar > .btn-group + .btn,\n.btn-toolbar > .btn + .btn-group,\n.btn-toolbar > .btn-group + .btn-group {\n  margin-left: 5px;\n}\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n  border-radius: 0;\n}\n.btn-group > .btn:first-child {\n  margin-left: 0;\n}\n.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {\n  border-bottom-right-radius: 0;\n  border-top-right-radius: 0;\n}\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n  border-bottom-left-radius: 0;\n  border-top-left-radius: 0;\n}\n.btn-group > .btn-group {\n  float: left;\n}\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n  border-radius: 0;\n}\n.btn-group > .btn-group:first-child > .btn:last-child,\n.btn-group > .btn-group:first-child > .dropdown-toggle {\n  border-bottom-right-radius: 0;\n  border-top-right-radius: 0;\n}\n.btn-group > .btn-group:last-child > .btn:first-child {\n  border-bottom-left-radius: 0;\n  border-top-left-radius: 0;\n}\n.btn-group .dropdown-toggle:active,\n.btn-group.open .dropdown-toggle {\n  outline: 0;\n}\n.btn-group-xs > .btn {\n  padding: 4px 6px;\n  font-size: 14px;\n  line-height: 1.5;\n  border-radius: 0px;\n  padding-top: 6.384px;\n  padding-bottom: 4.8px;\n}\n.btn-group-sm > .btn {\n  padding: 5px 10px;\n  font-size: 14px;\n  line-height: 1.5;\n  border-radius: 0px;\n  padding-top: 7.98px;\n  padding-bottom: 6px;\n}\n.btn-group-lg > .btn {\n  padding: 8px 16px;\n  font-size: 20px;\n  line-height: 1.33;\n  border-radius: 0px;\n  padding-top: 12.768px;\n  padding-bottom: 9.6px;\n}\n.btn-group > .btn + .dropdown-toggle {\n  padding-left: 8px;\n  padding-right: 8px;\n}\n.btn-group > .btn-lg + .dropdown-toggle {\n  padding-left: 12px;\n  padding-right: 12px;\n}\n.btn-group.open .dropdown-toggle {\n  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn-group.open .dropdown-toggle.btn-link {\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.btn .caret {\n  margin-left: 0;\n}\n.btn-lg .caret {\n  border-width: 5px 5px 0;\n  border-bottom-width: 0;\n}\n.dropup .btn-lg .caret {\n  border-width: 0 5px 5px;\n}\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group,\n.btn-group-vertical > .btn-group > .btn {\n  display: block;\n  float: none;\n  width: 100%;\n  max-width: 100%;\n}\n.btn-group-vertical > .btn-group:before,\n.btn-group-vertical > .btn-group:after {\n  content: \" \";\n  display: table;\n}\n.btn-group-vertical > .btn-group:after {\n  clear: both;\n}\n.btn-group-vertical > .btn-group:before,\n.btn-group-vertical > .btn-group:after {\n  content: \" \";\n  display: table;\n}\n.btn-group-vertical > .btn-group:after {\n  clear: both;\n}\n.btn-group-vertical > .btn-group > .btn {\n  float: none;\n}\n.btn-group-vertical > .btn + .btn,\n.btn-group-vertical > .btn + .btn-group,\n.btn-group-vertical > .btn-group + .btn,\n.btn-group-vertical > .btn-group + .btn-group {\n  margin-top: -1px;\n  margin-left: 0;\n}\n.btn-group-vertical > .btn:not(:first-child):not(:last-child) {\n  border-radius: 0;\n}\n.btn-group-vertical > .btn:first-child:not(:last-child) {\n  border-top-right-radius: 0px;\n  border-bottom-right-radius: 0;\n  border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn:last-child:not(:first-child) {\n  border-bottom-left-radius: 0px;\n  border-top-right-radius: 0;\n  border-top-left-radius: 0;\n}\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n  border-radius: 0;\n}\n.btn-group-vertical > .btn-group:first-child > .btn:last-child,\n.btn-group-vertical > .btn-group:first-child > .dropdown-toggle {\n  border-bottom-right-radius: 0;\n  border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn-group:last-child > .btn:first-child {\n  border-top-right-radius: 0;\n  border-top-left-radius: 0;\n}\n.btn-group-justified {\n  display: table;\n  width: 100%;\n  table-layout: fixed;\n  border-collapse: separate;\n}\n.btn-group-justified > .btn,\n.btn-group-justified > .btn-group {\n  float: none;\n  display: table-cell;\n  width: 1%;\n}\n.btn-group-justified > .btn-group .btn {\n  width: 100%;\n}\n[data-toggle=\"buttons\"] > .btn > input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn > input[type=\"checkbox\"] {\n  display: none;\n}\n.input-group {\n  position: relative;\n  display: table;\n  border-collapse: separate;\n}\n.input-group[class*=\"col-\"] {\n  float: none;\n  padding-left: 0;\n  padding-right: 0;\n}\n.input-group .form-control {\n  width: 100%;\n  margin-bottom: 0;\n}\n.input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n  height: 45px;\n  padding: 8px 16px;\n  font-size: 20px;\n  line-height: 1.33;\n  border-radius: 0px;\n}\nselect.input-group-lg > .form-control,\nselect.input-group-lg > .input-group-addon,\nselect.input-group-lg > .input-group-btn > .btn {\n  height: 45px;\n  line-height: 45px;\n}\ntextarea.input-group-lg > .form-control,\ntextarea.input-group-lg > .input-group-addon,\ntextarea.input-group-lg > .input-group-btn > .btn {\n  height: auto;\n}\n.input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n  height: 33px;\n  padding: 5px 10px;\n  font-size: 14px;\n  line-height: 1.5;\n  border-radius: 0px;\n}\nselect.input-group-sm > .form-control,\nselect.input-group-sm > .input-group-addon,\nselect.input-group-sm > .input-group-btn > .btn {\n  height: 33px;\n  line-height: 33px;\n}\ntextarea.input-group-sm > .form-control,\ntextarea.input-group-sm > .input-group-addon,\ntextarea.input-group-sm > .input-group-btn > .btn {\n  height: auto;\n}\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n  display: table-cell;\n}\n.input-group-addon:not(:first-child):not(:last-child),\n.input-group-btn:not(:first-child):not(:last-child),\n.input-group .form-control:not(:first-child):not(:last-child) {\n  border-radius: 0;\n}\n.input-group-addon,\n.input-group-btn {\n  width: 1%;\n  white-space: nowrap;\n  vertical-align: middle;\n}\n.input-group-addon {\n  padding: 6px 12px;\n  font-size: 16px;\n  font-weight: normal;\n  line-height: 1;\n  color: #999999;\n  text-align: center;\n  background-color: #efefef;\n  border: 1px solid #cccccc;\n  border-radius: 0px;\n}\n.input-group-addon.input-sm {\n  padding: 5px 10px;\n  font-size: 14px;\n  border-radius: 0px;\n}\n.input-group-addon.input-lg {\n  padding: 8px 16px;\n  font-size: 20px;\n  border-radius: 0px;\n}\n.input-group-addon input[type=\"radio\"],\n.input-group-addon input[type=\"checkbox\"] {\n  margin-top: 0;\n}\n.input-group .form-control:first-child,\n.input-group-addon:first-child,\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .dropdown-toggle,\n.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle) {\n  border-bottom-right-radius: 0;\n  border-top-right-radius: 0;\n}\n.input-group-addon:first-child {\n  border-right: 0;\n}\n.input-group .form-control:last-child,\n.input-group-addon:last-child,\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .dropdown-toggle,\n.input-group-btn:first-child > .btn:not(:first-child) {\n  border-bottom-left-radius: 0;\n  border-top-left-radius: 0;\n}\n.input-group-addon:last-child {\n  border-left: 0;\n}\n.input-group-btn {\n  position: relative;\n  white-space: nowrap;\n}\n.input-group-btn:first-child > .btn {\n  margin-right: -1px;\n}\n.input-group-btn:last-child > .btn {\n  margin-left: -1px;\n}\n.input-group-btn > .btn {\n  position: relative;\n}\n.input-group-btn > .btn + .btn {\n  margin-left: -4px;\n}\n.input-group-btn > .btn:hover,\n.input-group-btn > .btn:active {\n  z-index: 2;\n}\n.nav {\n  margin-bottom: 0;\n  padding-left: 0;\n  list-style: none;\n}\n.nav:before,\n.nav:after {\n  content: \" \";\n  display: table;\n}\n.nav:after {\n  clear: both;\n}\n.nav:before,\n.nav:after {\n  content: \" \";\n  display: table;\n}\n.nav:after {\n  clear: both;\n}\n.nav > li {\n  position: relative;\n  display: block;\n}\n.nav > li > a {\n  position: relative;\n  display: block;\n  padding: 10px 15px;\n}\n.nav > li > a:hover,\n.nav > li > a:focus {\n  text-decoration: none;\n  background-color: #efefef;\n}\n.nav > li.disabled > a {\n  color: #999999;\n}\n.nav > li.disabled > a:hover,\n.nav > li.disabled > a:focus {\n  color: #999999;\n  text-decoration: none;\n  background-color: transparent;\n  cursor: not-allowed;\n}\n.nav .open > a,\n.nav .open > a:hover,\n.nav .open > a:focus {\n  background-color: #efefef;\n  border-color: #76b900;\n}\n.nav .nav-divider {\n  height: 1px;\n  margin: 11px 0;\n  overflow: hidden;\n  background-color: #e5e5e5;\n}\n.nav > li > a > img {\n  max-width: none;\n}\n.nav-tabs {\n  border-bottom: 1px solid #dddddd;\n}\n.nav-tabs > li {\n  float: left;\n  margin-bottom: -1px;\n}\n.nav-tabs > li > a {\n  margin-right: 2px;\n  line-height: 1.5;\n  border: 1px solid transparent;\n  border-radius: 0px 0px 0 0;\n}\n.nav-tabs > li > a:hover {\n  border-color: #efefef #efefef #dddddd;\n}\n.nav-tabs > li.active > a,\n.nav-tabs > li.active > a:hover,\n.nav-tabs > li.active > a:focus {\n  color: #999999;\n  background-color: #fcfcfc;\n  border: 1px solid #dddddd;\n  border-bottom-color: transparent;\n  cursor: default;\n}\n.nav-tabs.nav-justified {\n  width: 100%;\n  border-bottom: 0;\n}\n.nav-tabs.nav-justified > li {\n  float: none;\n}\n.nav-tabs.nav-justified > li > a {\n  text-align: center;\n  margin-bottom: 5px;\n}\n.nav-tabs.nav-justified > .dropdown .dropdown-menu {\n  top: auto;\n  left: auto;\n}\n@media (min-width: 768px) {\n  .nav-tabs.nav-justified > li {\n    display: table-cell;\n    width: 1%;\n  }\n  .nav-tabs.nav-justified > li > a {\n    margin-bottom: 0;\n  }\n}\n.nav-tabs.nav-justified > li > a {\n  margin-right: 0;\n  border-radius: 0px;\n}\n.nav-tabs.nav-justified > .active > a,\n.nav-tabs.nav-justified > .active > a:hover,\n.nav-tabs.nav-justified > .active > a:focus {\n  border: 1px solid #dddddd;\n}\n@media (min-width: 768px) {\n  .nav-tabs.nav-justified > li > a {\n    border-bottom: 1px solid #dddddd;\n    border-radius: 0px 0px 0 0;\n  }\n  .nav-tabs.nav-justified > .active > a,\n  .nav-tabs.nav-justified > .active > a:hover,\n  .nav-tabs.nav-justified > .active > a:focus {\n    border-bottom-color: #fcfcfc;\n  }\n}\n.nav-pills > li {\n  float: left;\n}\n.nav-pills > li > a {\n  border-radius: 0px;\n}\n.nav-pills > li + li {\n  margin-left: 2px;\n}\n.nav-pills > li.active > a,\n.nav-pills > li.active > a:hover,\n.nav-pills > li.active > a:focus {\n  color: #ffffff;\n  background-color: #76b900;\n}\n.nav-stacked > li {\n  float: none;\n}\n.nav-stacked > li + li {\n  margin-top: 2px;\n  margin-left: 0;\n}\n.nav-justified {\n  width: 100%;\n}\n.nav-justified > li {\n  float: none;\n}\n.nav-justified > li > a {\n  text-align: center;\n  margin-bottom: 5px;\n}\n.nav-justified > .dropdown .dropdown-menu {\n  top: auto;\n  left: auto;\n}\n@media (min-width: 768px) {\n  .nav-justified > li {\n    display: table-cell;\n    width: 1%;\n  }\n  .nav-justified > li > a {\n    margin-bottom: 0;\n  }\n}\n.nav-tabs-justified {\n  border-bottom: 0;\n}\n.nav-tabs-justified > li > a {\n  margin-right: 0;\n  border-radius: 0px;\n}\n.nav-tabs-justified > .active > a,\n.nav-tabs-justified > .active > a:hover,\n.nav-tabs-justified > .active > a:focus {\n  border: 1px solid #dddddd;\n}\n@media (min-width: 768px) {\n  .nav-tabs-justified > li > a {\n    border-bottom: 1px solid #dddddd;\n    border-radius: 0px 0px 0 0;\n  }\n  .nav-tabs-justified > .active > a,\n  .nav-tabs-justified > .active > a:hover,\n  .nav-tabs-justified > .active > a:focus {\n    border-bottom-color: #fcfcfc;\n  }\n}\n.tab-content > .tab-pane {\n  display: none;\n}\n.tab-content > .active {\n  display: block;\n}\n.nav-tabs .dropdown-menu {\n  margin-top: -1px;\n  border-top-right-radius: 0;\n  border-top-left-radius: 0;\n}\n.navbar {\n  position: relative;\n  min-height: 50px;\n  margin-bottom: 24px;\n  border: 1px solid transparent;\n}\n.navbar:before,\n.navbar:after {\n  content: \" \";\n  display: table;\n}\n.navbar:after {\n  clear: both;\n}\n.navbar:before,\n.navbar:after {\n  content: \" \";\n  display: table;\n}\n.navbar:after {\n  clear: both;\n}\n@media (min-width: 992px) {\n  .navbar {\n    border-radius: 0px;\n  }\n}\n.navbar-header:before,\n.navbar-header:after {\n  content: \" \";\n  display: table;\n}\n.navbar-header:after {\n  clear: both;\n}\n.navbar-header:before,\n.navbar-header:after {\n  content: \" \";\n  display: table;\n}\n.navbar-header:after {\n  clear: both;\n}\n@media (min-width: 992px) {\n  .navbar-header {\n    float: left;\n  }\n}\n.navbar-collapse {\n  max-height: 340px;\n  overflow-x: visible;\n  padding-right: 10px;\n  padding-left: 10px;\n  border-top: 1px solid transparent;\n  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);\n  -webkit-overflow-scrolling: touch;\n}\n.navbar-collapse:before,\n.navbar-collapse:after {\n  content: \" \";\n  display: table;\n}\n.navbar-collapse:after {\n  clear: both;\n}\n.navbar-collapse:before,\n.navbar-collapse:after {\n  content: \" \";\n  display: table;\n}\n.navbar-collapse:after {\n  clear: both;\n}\n.navbar-collapse.in {\n  overflow-y: auto;\n}\n@media (min-width: 992px) {\n  .navbar-collapse {\n    width: auto;\n    border-top: 0;\n    box-shadow: none;\n  }\n  .navbar-collapse.collapse {\n    display: block !important;\n    height: auto !important;\n    padding-bottom: 0;\n    overflow: visible !important;\n  }\n  .navbar-collapse.in {\n    overflow-y: visible;\n  }\n  .navbar-fixed-top .navbar-collapse,\n  .navbar-static-top .navbar-collapse,\n  .navbar-fixed-bottom .navbar-collapse {\n    padding-left: 0;\n    padding-right: 0;\n  }\n}\n.container > .navbar-header,\n.container > .navbar-collapse {\n  margin-right: -10px;\n  margin-left: -10px;\n}\n@media (min-width: 992px) {\n  .container > .navbar-header,\n  .container > .navbar-collapse {\n    margin-right: 0;\n    margin-left: 0;\n  }\n}\n.navbar-static-top {\n  z-index: 1000;\n  border-width: 0 0 1px;\n}\n@media (min-width: 992px) {\n  .navbar-static-top {\n    border-radius: 0;\n  }\n}\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n  position: fixed;\n  right: 0;\n  left: 0;\n  z-index: 1030;\n}\n@media (min-width: 992px) {\n  .navbar-fixed-top,\n  .navbar-fixed-bottom {\n    border-radius: 0;\n  }\n}\n.navbar-fixed-top {\n  top: 0;\n  border-width: 0 0 1px;\n}\n.navbar-fixed-bottom {\n  bottom: 0;\n  margin-bottom: 0;\n  border-width: 1px 0 0;\n}\n.navbar-brand {\n  float: left;\n  padding: 13px 10px;\n  font-size: 20px;\n  line-height: 24px;\n}\n.navbar-brand:hover,\n.navbar-brand:focus {\n  text-decoration: none;\n}\n@media (min-width: 992px) {\n  .navbar > .container .navbar-brand {\n    margin-left: -10px;\n  }\n}\n.navbar-toggle {\n  position: relative;\n  float: right;\n  margin-right: 10px;\n  padding: 9px 10px;\n  margin-top: 8px;\n  margin-bottom: 8px;\n  background-color: transparent;\n  background-image: none;\n  border: 1px solid transparent;\n  border-radius: 0px;\n}\n.navbar-toggle .icon-bar {\n  display: block;\n  width: 22px;\n  height: 2px;\n  border-radius: 1px;\n}\n.navbar-toggle .icon-bar + .icon-bar {\n  margin-top: 4px;\n}\n@media (min-width: 992px) {\n  .navbar-toggle {\n    display: none;\n  }\n}\n.navbar-nav {\n  margin: 6.5px -10px;\n}\n.navbar-nav > li > a {\n  padding-top: 10px;\n  padding-bottom: 10px;\n  line-height: 24px;\n}\n@media (max-width: 991px) {\n  .navbar-nav .open .dropdown-menu {\n    position: static;\n    float: none;\n    width: auto;\n    margin-top: 0;\n    background-color: transparent;\n    border: 0;\n    box-shadow: none;\n  }\n  .navbar-nav .open .dropdown-menu > li > a,\n  .navbar-nav .open .dropdown-menu .dropdown-header {\n    padding: 5px 15px 5px 25px;\n  }\n  .navbar-nav .open .dropdown-menu > li > a {\n    line-height: 24px;\n  }\n  .navbar-nav .open .dropdown-menu > li > a:hover,\n  .navbar-nav .open .dropdown-menu > li > a:focus {\n    background-image: none;\n  }\n}\n@media (min-width: 992px) {\n  .navbar-nav {\n    float: left;\n    margin: 0;\n  }\n  .navbar-nav > li {\n    float: left;\n  }\n  .navbar-nav > li > a {\n    padding-top: 13px;\n    padding-bottom: 13px;\n  }\n  .navbar-nav.navbar-right:last-child {\n    margin-right: -10px;\n  }\n}\n@media (min-width: 992px) {\n  .navbar-left {\n    float: left !important;\n    float: left;\n  }\n  .navbar-right {\n    float: right !important;\n    float: right;\n  }\n}\n.navbar-form {\n  margin-left: -10px;\n  margin-right: -10px;\n  padding: 10px 10px;\n  border-top: 1px solid transparent;\n  border-bottom: 1px solid transparent;\n  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n  margin-top: 6px;\n  margin-bottom: 6px;\n}\n@media (min-width: 768px) {\n  .navbar-form .form-group {\n    display: inline-block;\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .navbar-form .form-control {\n    display: inline-block;\n  }\n  .navbar-form select.form-control {\n    width: auto;\n  }\n  .navbar-form .radio,\n  .navbar-form .checkbox {\n    display: inline-block;\n    margin-top: 0;\n    margin-bottom: 0;\n    padding-left: 0;\n  }\n  .navbar-form .radio input[type=\"radio\"],\n  .navbar-form .checkbox input[type=\"checkbox\"] {\n    float: none;\n    margin-left: 0;\n  }\n}\n@media (max-width: 991px) {\n  .navbar-form .form-group {\n    margin-bottom: 5px;\n  }\n}\n@media (min-width: 992px) {\n  .navbar-form {\n    width: auto;\n    border: 0;\n    margin-left: 0;\n    margin-right: 0;\n    padding-top: 0;\n    padding-bottom: 0;\n    -webkit-box-shadow: none;\n    box-shadow: none;\n  }\n  .navbar-form.navbar-right:last-child {\n    margin-right: -10px;\n  }\n}\n.navbar-nav > li > .dropdown-menu {\n  margin-top: 0;\n  border-top-right-radius: 0;\n  border-top-left-radius: 0;\n}\n.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {\n  border-bottom-right-radius: 0;\n  border-bottom-left-radius: 0;\n}\n.navbar-nav.pull-right > li > .dropdown-menu,\n.navbar-nav > li > .dropdown-menu.pull-right {\n  left: auto;\n  right: 0;\n}\n.navbar-btn {\n  margin-top: 6px;\n  margin-bottom: 6px;\n}\n.navbar-btn.btn-sm {\n  margin-top: 8.5px;\n  margin-bottom: 8.5px;\n}\n.navbar-btn.btn-xs {\n  margin-top: 14px;\n  margin-bottom: 14px;\n}\n.navbar-text {\n  margin-top: 13px;\n  margin-bottom: 13px;\n}\n@media (min-width: 992px) {\n  .navbar-text {\n    float: left;\n    margin-left: 10px;\n    margin-right: 10px;\n  }\n  .navbar-text.navbar-right:last-child {\n    margin-right: 0;\n  }\n}\n.navbar-default {\n  background-color: #f8f8f8;\n  border-color: #e7e7e7;\n}\n.navbar-default .navbar-brand {\n  color: #777777;\n}\n.navbar-default .navbar-brand:hover,\n.navbar-default .navbar-brand:focus {\n  color: #5e5e5e;\n  background-color: transparent;\n}\n.navbar-default .navbar-text {\n  color: #777777;\n}\n.navbar-default .navbar-nav > li > a {\n  color: #777777;\n}\n.navbar-default .navbar-nav > li > a:hover,\n.navbar-default .navbar-nav > li > a:focus {\n  color: #333333;\n  background-color: transparent;\n}\n.navbar-default .navbar-nav > .active > a,\n.navbar-default .navbar-nav > .active > a:hover,\n.navbar-default .navbar-nav > .active > a:focus {\n  color: #555555;\n  background-color: #e7e7e7;\n}\n.navbar-default .navbar-nav > .disabled > a,\n.navbar-default .navbar-nav > .disabled > a:hover,\n.navbar-default .navbar-nav > .disabled > a:focus {\n  color: #cccccc;\n  background-color: transparent;\n}\n.navbar-default .navbar-toggle {\n  border-color: #dddddd;\n}\n.navbar-default .navbar-toggle:hover,\n.navbar-default .navbar-toggle:focus {\n  background-color: #dddddd;\n}\n.navbar-default .navbar-toggle .icon-bar {\n  background-color: #cccccc;\n}\n.navbar-default .navbar-collapse,\n.navbar-default .navbar-form {\n  border-color: #e7e7e7;\n}\n.navbar-default .navbar-nav > .open > a,\n.navbar-default .navbar-nav > .open > a:hover,\n.navbar-default .navbar-nav > .open > a:focus {\n  background-color: #e7e7e7;\n  color: #555555;\n}\n@media (max-width: 991px) {\n  .navbar-default .navbar-nav .open .dropdown-menu > li > a {\n    color: #777777;\n  }\n  .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,\n  .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {\n    color: #333333;\n    background-color: transparent;\n  }\n  .navbar-default .navbar-nav .open .dropdown-menu > .active > a,\n  .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,\n  .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {\n    color: #555555;\n    background-color: #e7e7e7;\n  }\n  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,\n  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n    color: #cccccc;\n    background-color: transparent;\n  }\n}\n.navbar-default .navbar-link {\n  color: #777777;\n}\n.navbar-default .navbar-link:hover {\n  color: #333333;\n}\n.navbar-inverse {\n  background-color: #000000;\n  border-color: #000000;\n}\n.navbar-inverse .navbar-brand {\n  color: #999999;\n}\n.navbar-inverse .navbar-brand:hover,\n.navbar-inverse .navbar-brand:focus {\n  color: #ffffff;\n  background-color: transparent;\n}\n.navbar-inverse .navbar-text {\n  color: #707070;\n}\n.navbar-inverse .navbar-nav > li > a {\n  color: #999999;\n}\n.navbar-inverse .navbar-nav > li > a:hover,\n.navbar-inverse .navbar-nav > li > a:focus {\n  color: #ffffff;\n  background-color: transparent;\n}\n.navbar-inverse .navbar-nav > .active > a,\n.navbar-inverse .navbar-nav > .active > a:hover,\n.navbar-inverse .navbar-nav > .active > a:focus {\n  color: #ffffff;\n  background-color: transparent;\n}\n.navbar-inverse .navbar-nav > .disabled > a,\n.navbar-inverse .navbar-nav > .disabled > a:hover,\n.navbar-inverse .navbar-nav > .disabled > a:focus {\n  color: #444444;\n  background-color: transparent;\n}\n.navbar-inverse .navbar-toggle {\n  border-color: #333333;\n}\n.navbar-inverse .navbar-toggle:hover,\n.navbar-inverse .navbar-toggle:focus {\n  background-color: #333333;\n}\n.navbar-inverse .navbar-toggle .icon-bar {\n  background-color: #ffffff;\n}\n.navbar-inverse .navbar-collapse,\n.navbar-inverse .navbar-form {\n  border-color: #000000;\n}\n.navbar-inverse .navbar-nav > .open > a,\n.navbar-inverse .navbar-nav > .open > a:hover,\n.navbar-inverse .navbar-nav > .open > a:focus {\n  background-color: transparent;\n  color: #ffffff;\n}\n@media (max-width: 991px) {\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {\n    border-color: #000000;\n  }\n  .navbar-inverse .navbar-nav .open .dropdown-menu .divider {\n    background-color: #000000;\n  }\n  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {\n    color: #999999;\n  }\n  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,\n  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {\n    color: #ffffff;\n    background-color: transparent;\n  }\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {\n    color: #ffffff;\n    background-color: transparent;\n  }\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n    color: #444444;\n    background-color: transparent;\n  }\n}\n.navbar-inverse .navbar-link {\n  color: #999999;\n}\n.navbar-inverse .navbar-link:hover {\n  color: #ffffff;\n}\n.breadcrumb {\n  padding: 8px 15px;\n  margin-top: 17px;\n  list-style: none;\n  background-color: #f5f5f5;\n  border-radius: 0px;\n}\n.breadcrumb > li {\n  display: inline-block;\n}\n.breadcrumb > li + li:before {\n  content: \">\\00a0\";\n  padding: 0 5px;\n  color: #cccccc;\n}\n.breadcrumb > .active {\n  color: #999999;\n}\n.pagination {\n  display: inline-block;\n  padding-left: 0;\n  margin: 24px 0;\n  border-radius: 0px;\n}\n.pagination > li {\n  display: inline;\n}\n.pagination > li > a,\n.pagination > li > span {\n  position: relative;\n  float: left;\n  padding: 6px 12px;\n  line-height: 1.5;\n  text-decoration: none;\n  background-color: #ffffff;\n  border: 1px solid #dddddd;\n  margin-left: -1px;\n}\n.pagination > li:first-child > a,\n.pagination > li:first-child > span {\n  margin-left: 0;\n  border-bottom-left-radius: 0px;\n  border-top-left-radius: 0px;\n}\n.pagination > li:last-child > a,\n.pagination > li:last-child > span {\n  border-bottom-right-radius: 0px;\n  border-top-right-radius: 0px;\n}\n.pagination > li > a:hover,\n.pagination > li > span:hover,\n.pagination > li > a:focus,\n.pagination > li > span:focus {\n  background-color: #efefef;\n}\n.pagination > .active > a,\n.pagination > .active > span,\n.pagination > .active > a:hover,\n.pagination > .active > span:hover,\n.pagination > .active > a:focus,\n.pagination > .active > span:focus {\n  z-index: 2;\n  color: #ffffff;\n  background-color: #76b900;\n  border-color: #76b900;\n  cursor: default;\n}\n.pagination > .disabled > span,\n.pagination > .disabled > span:hover,\n.pagination > .disabled > span:focus,\n.pagination > .disabled > a,\n.pagination > .disabled > a:hover,\n.pagination > .disabled > a:focus {\n  color: #999999;\n  background-color: #ffffff;\n  border-color: #dddddd;\n  cursor: not-allowed;\n}\n.pagination-lg > li > a,\n.pagination-lg > li > span {\n  padding: 8px 16px;\n  font-size: 20px;\n}\n.pagination-lg > li:first-child > a,\n.pagination-lg > li:first-child > span {\n  border-bottom-left-radius: 0px;\n  border-top-left-radius: 0px;\n}\n.pagination-lg > li:last-child > a,\n.pagination-lg > li:last-child > span {\n  border-bottom-right-radius: 0px;\n  border-top-right-radius: 0px;\n}\n.pagination-sm > li > a,\n.pagination-sm > li > span {\n  padding: 5px 10px;\n  font-size: 14px;\n}\n.pagination-sm > li:first-child > a,\n.pagination-sm > li:first-child > span {\n  border-bottom-left-radius: 0px;\n  border-top-left-radius: 0px;\n}\n.pagination-sm > li:last-child > a,\n.pagination-sm > li:last-child > span {\n  border-bottom-right-radius: 0px;\n  border-top-right-radius: 0px;\n}\n.pager {\n  padding-left: 0;\n  margin: 24px 0;\n  list-style: none;\n  text-align: center;\n}\n.pager:before,\n.pager:after {\n  content: \" \";\n  display: table;\n}\n.pager:after {\n  clear: both;\n}\n.pager:before,\n.pager:after {\n  content: \" \";\n  display: table;\n}\n.pager:after {\n  clear: both;\n}\n.pager li {\n  display: inline;\n}\n.pager li > a,\n.pager li > span {\n  display: inline-block;\n  padding: 5px 14px;\n  background-color: #ffffff;\n  border: 1px solid #dddddd;\n  border-radius: 0px;\n}\n.pager li > a:hover,\n.pager li > a:focus {\n  text-decoration: none;\n  background-color: #efefef;\n}\n.pager .next > a,\n.pager .next > span {\n  float: right;\n}\n.pager .previous > a,\n.pager .previous > span {\n  float: left;\n}\n.pager .disabled > a,\n.pager .disabled > a:hover,\n.pager .disabled > a:focus,\n.pager .disabled > span {\n  color: #999999;\n  background-color: #ffffff;\n  cursor: not-allowed;\n}\n.label {\n  display: inline;\n  padding: .2em .6em .3em;\n  font-size: 75%;\n  font-weight: bold;\n  line-height: 1;\n  color: #ffffff;\n  text-align: center;\n  white-space: nowrap;\n  vertical-align: baseline;\n  border-radius: .25em;\n}\n.label[href]:hover,\n.label[href]:focus {\n  color: #ffffff;\n  text-decoration: none;\n  cursor: pointer;\n}\n.label:empty {\n  display: none;\n}\n.btn .label {\n  position: relative;\n  top: -1px;\n}\n.label-default {\n  background-color: #999999;\n}\n.label-default[href]:hover,\n.label-default[href]:focus {\n  background-color: #808080;\n}\n.label-primary {\n  background-color: #76b900;\n}\n.label-primary[href]:hover,\n.label-primary[href]:focus {\n  background-color: #558600;\n}\n.label-success {\n  background-color: #76b900;\n}\n.label-success[href]:hover,\n.label-success[href]:focus {\n  background-color: #558600;\n}\n.label-info {\n  background-color: #5bc0de;\n}\n.label-info[href]:hover,\n.label-info[href]:focus {\n  background-color: #31b0d5;\n}\n.label-warning {\n  background-color: #f0ad4e;\n}\n.label-warning[href]:hover,\n.label-warning[href]:focus {\n  background-color: #ec971f;\n}\n.label-danger {\n  background-color: #d9534f;\n}\n.label-danger[href]:hover,\n.label-danger[href]:focus {\n  background-color: #c9302c;\n}\n.badge {\n  display: inline-block;\n  min-width: 10px;\n  padding: 3px 7px;\n  font-size: 14px;\n  font-weight: bold;\n  color: #ffffff;\n  line-height: 1;\n  vertical-align: baseline;\n  white-space: nowrap;\n  text-align: center;\n  background-color: #999999;\n  border-radius: 10px;\n}\n.badge:empty {\n  display: none;\n}\n.btn .badge {\n  position: relative;\n  top: -1px;\n}\na.badge:hover,\na.badge:focus {\n  color: #ffffff;\n  text-decoration: none;\n  cursor: pointer;\n}\na.list-group-item.active > .badge,\n.nav-pills > .active > a > .badge {\n  color: #76b900;\n  background-color: #ffffff;\n}\n.nav-pills > li > a > .badge {\n  margin-left: 3px;\n}\n.jumbotron {\n  padding: 30px;\n  margin-bottom: 30px;\n  font-size: 24px;\n  font-weight: 200;\n  line-height: 2.25;\n  color: inherit;\n  background-color: #efefef;\n}\n.jumbotron h1,\n.jumbotron .h1 {\n  line-height: 1;\n  color: inherit;\n}\n.jumbotron p {\n  line-height: 1.4;\n}\n.container .jumbotron {\n  border-radius: 0px;\n}\n.jumbotron .container {\n  max-width: 100%;\n}\n@media screen and (min-width: 768px) {\n  .jumbotron {\n    padding-top: 48px;\n    padding-bottom: 48px;\n  }\n  .container .jumbotron {\n    padding-left: 60px;\n    padding-right: 60px;\n  }\n  .jumbotron h1,\n  .jumbotron .h1 {\n    font-size: 72px;\n  }\n}\n.thumbnail {\n  display: block;\n  padding: 4px;\n  margin-bottom: 24px;\n  line-height: 1.5;\n  background-color: #fcfcfc;\n  border: 1px solid #dddddd;\n  border-radius: 0px;\n  -webkit-transition: all 0.2s ease-in-out;\n  transition: all 0.2s ease-in-out;\n}\n.thumbnail > img,\n.thumbnail a > img {\n  display: block;\n  max-width: 100%;\n  height: auto;\n  margin-left: auto;\n  margin-right: auto;\n}\na.thumbnail:hover,\na.thumbnail:focus,\na.thumbnail.active {\n  border-color: #76b900;\n}\n.thumbnail .caption {\n  padding: 9px;\n  color: #333333;\n}\n.alert {\n  padding: 15px;\n  margin-bottom: 24px;\n  border: 1px solid transparent;\n  border-radius: 0px;\n}\n.alert h4 {\n  margin-top: 0;\n  color: inherit;\n}\n.alert .alert-link {\n  font-weight: bold;\n}\n.alert > p,\n.alert > ul {\n  margin-bottom: 0;\n}\n.alert > p + p {\n  margin-top: 5px;\n}\n.alert-dismissable {\n  padding-right: 35px;\n}\n.alert-dismissable .close {\n  position: relative;\n  top: -2px;\n  right: -21px;\n  color: inherit;\n}\n.alert-success {\n  background-color: #dff0d8;\n  border-color: #d6e9c6;\n  color: #3c763d;\n}\n.alert-success hr {\n  border-top-color: #c9e2b3;\n}\n.alert-success .alert-link {\n  color: #2b542c;\n}\n.alert-info {\n  background-color: #d9edf7;\n  border-color: #bce8f1;\n  color: #31708f;\n}\n.alert-info hr {\n  border-top-color: #a6e1ec;\n}\n.alert-info .alert-link {\n  color: #245269;\n}\n.alert-warning {\n  background-color: #fcf8e3;\n  border-color: #faebcc;\n  color: #8a6d3b;\n}\n.alert-warning hr {\n  border-top-color: #f7e1b5;\n}\n.alert-warning .alert-link {\n  color: #66512c;\n}\n.alert-danger {\n  background-color: #f2dede;\n  border-color: #ebccd1;\n  color: #a94442;\n}\n.alert-danger hr {\n  border-top-color: #e4b9c0;\n}\n.alert-danger .alert-link {\n  color: #843534;\n}\n@-webkit-keyframes progress-bar-stripes {\n  from {\n    background-position: 40px 0;\n  }\n  to {\n    background-position: 0 0;\n  }\n}\n@keyframes progress-bar-stripes {\n  from {\n    background-position: 40px 0;\n  }\n  to {\n    background-position: 0 0;\n  }\n}\n.progress {\n  overflow: hidden;\n  height: 24px;\n  margin-bottom: 24px;\n  background-color: #f5f5f5;\n  border-radius: 0px;\n  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n}\n.progress-bar {\n  float: left;\n  width: 0%;\n  height: 100%;\n  font-size: 14px;\n  line-height: 24px;\n  color: #ffffff;\n  text-align: center;\n  background-color: #76b900;\n  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n  -webkit-transition: width 0.6s ease;\n  transition: width 0.6s ease;\n}\n.progress-striped .progress-bar {\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-size: 40px 40px;\n}\n.progress.active .progress-bar {\n  -webkit-animation: progress-bar-stripes 2s linear infinite;\n  animation: progress-bar-stripes 2s linear infinite;\n}\n.progress-bar-success {\n  background-color: #76b900;\n}\n.progress-striped .progress-bar-success {\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-info {\n  background-color: #5bc0de;\n}\n.progress-striped .progress-bar-info {\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-warning {\n  background-color: #f0ad4e;\n}\n.progress-striped .progress-bar-warning {\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-danger {\n  background-color: #d9534f;\n}\n.progress-striped .progress-bar-danger {\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.media,\n.media-body {\n  overflow: hidden;\n  zoom: 1;\n}\n.media,\n.media .media {\n  margin-top: 15px;\n}\n.media:first-child {\n  margin-top: 0;\n}\n.media-object {\n  display: block;\n}\n.media-heading {\n  margin: 0 0 5px;\n}\n.media > .pull-left {\n  margin-right: 10px;\n}\n.media > .pull-right {\n  margin-left: 10px;\n}\n.media-list {\n  padding-left: 0;\n  list-style: none;\n}\n.list-group {\n  margin-bottom: 20px;\n  padding-left: 0;\n}\n.list-group-item {\n  position: relative;\n  display: block;\n  padding: 10px 15px;\n  margin-bottom: -1px;\n  background-color: #ffffff;\n  border: 1px solid #dddddd;\n}\n.list-group-item:first-child {\n  border-top-right-radius: 0px;\n  border-top-left-radius: 0px;\n}\n.list-group-item:last-child {\n  margin-bottom: 0;\n  border-bottom-right-radius: 0px;\n  border-bottom-left-radius: 0px;\n}\n.list-group-item > .badge {\n  float: right;\n}\n.list-group-item > .badge + .badge {\n  margin-right: 5px;\n}\na.list-group-item {\n  color: #555555;\n}\na.list-group-item .list-group-item-heading {\n  color: #333333;\n}\na.list-group-item:hover,\na.list-group-item:focus {\n  text-decoration: none;\n  background-color: #f5f5f5;\n}\na.list-group-item.active,\na.list-group-item.active:hover,\na.list-group-item.active:focus {\n  z-index: 2;\n  color: #ffffff;\n  background-color: #76b900;\n  border-color: #76b900;\n}\na.list-group-item.active .list-group-item-heading,\na.list-group-item.active:hover .list-group-item-heading,\na.list-group-item.active:focus .list-group-item-heading {\n  color: inherit;\n}\na.list-group-item.active .list-group-item-text,\na.list-group-item.active:hover .list-group-item-text,\na.list-group-item.active:focus .list-group-item-text {\n  color: #d3ff86;\n}\n.list-group-item-heading {\n  margin-top: 0;\n  margin-bottom: 5px;\n}\n.list-group-item-text {\n  margin-bottom: 0;\n  line-height: 1.3;\n}\n.panel {\n  margin-bottom: 24px;\n  background-color: #ffffff;\n  border: 1px solid transparent;\n  border-radius: 0px;\n  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);\n  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);\n}\n.panel-body {\n  padding: 15px;\n}\n.panel-body:before,\n.panel-body:after {\n  content: \" \";\n  display: table;\n}\n.panel-body:after {\n  clear: both;\n}\n.panel-body:before,\n.panel-body:after {\n  content: \" \";\n  display: table;\n}\n.panel-body:after {\n  clear: both;\n}\n.panel > .list-group {\n  margin-bottom: 0;\n}\n.panel > .list-group .list-group-item {\n  border-width: 1px 0;\n}\n.panel > .list-group .list-group-item:first-child {\n  border-top-right-radius: 0;\n  border-top-left-radius: 0;\n}\n.panel > .list-group .list-group-item:last-child {\n  border-bottom: 0;\n}\n.panel-heading + .list-group .list-group-item:first-child {\n  border-top-width: 0;\n}\n.panel > .table,\n.panel > .table-responsive > .table {\n  margin-bottom: 0;\n}\n.panel > .panel-body + .table,\n.panel > .panel-body + .table-responsive {\n  border-top: 1px solid #dddddd;\n}\n.panel > .table > tbody:first-child th,\n.panel > .table > tbody:first-child td {\n  border-top: 0;\n}\n.panel > .table-bordered,\n.panel > .table-responsive > .table-bordered {\n  border: 0;\n}\n.panel > .table-bordered > thead > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,\n.panel > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-bordered > thead > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,\n.panel > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-bordered > tfoot > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n  border-left: 0;\n}\n.panel > .table-bordered > thead > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,\n.panel > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-bordered > thead > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,\n.panel > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-bordered > tfoot > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n  border-right: 0;\n}\n.panel > .table-bordered > thead > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > thead > tr:last-child > th,\n.panel > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-bordered > tfoot > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th,\n.panel > .table-bordered > thead > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > thead > tr:last-child > td,\n.panel > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td {\n  border-bottom: 0;\n}\n.panel > .table-responsive {\n  border: 0;\n  margin-bottom: 0;\n}\n.panel-heading {\n  padding: 10px 15px;\n  border-bottom: 1px solid transparent;\n  border-top-right-radius: -1px;\n  border-top-left-radius: -1px;\n}\n.panel-heading > .dropdown .dropdown-toggle {\n  color: inherit;\n}\n.panel-title {\n  margin-top: 0;\n  margin-bottom: 0;\n  font-size: 18px;\n  color: inherit;\n}\n.panel-title > a {\n  color: inherit;\n}\n.panel-footer {\n  padding: 10px 15px;\n  background-color: #f5f5f5;\n  border-top: 1px solid #dddddd;\n  border-bottom-right-radius: -1px;\n  border-bottom-left-radius: -1px;\n}\n.panel-group .panel {\n  margin-bottom: 0;\n  border-radius: 0px;\n  overflow: hidden;\n}\n.panel-group .panel + .panel {\n  margin-top: 5px;\n}\n.panel-group .panel-heading {\n  border-bottom: 0;\n}\n.panel-group .panel-heading + .panel-collapse .panel-body {\n  border-top: 1px solid #dddddd;\n}\n.panel-group .panel-footer {\n  border-top: 0;\n}\n.panel-group .panel-footer + .panel-collapse .panel-body {\n  border-bottom: 1px solid #dddddd;\n}\n.panel-default {\n  border-color: #dddddd;\n}\n.panel-default > .panel-heading {\n  color: #595959;\n  background-color: #f5f5f5;\n  border-color: #dddddd;\n}\n.panel-default > .panel-heading + .panel-collapse .panel-body {\n  border-top-color: #dddddd;\n}\n.panel-default > .panel-footer + .panel-collapse .panel-body {\n  border-bottom-color: #dddddd;\n}\n.panel-primary {\n  border-color: #76b900;\n}\n.panel-primary > .panel-heading {\n  color: #ffffff;\n  background-color: #76b900;\n  border-color: #76b900;\n}\n.panel-primary > .panel-heading + .panel-collapse .panel-body {\n  border-top-color: #76b900;\n}\n.panel-primary > .panel-footer + .panel-collapse .panel-body {\n  border-bottom-color: #76b900;\n}\n.panel-success {\n  border-color: #d6e9c6;\n}\n.panel-success > .panel-heading {\n  color: #3c763d;\n  background-color: #dff0d8;\n  border-color: #d6e9c6;\n}\n.panel-success > .panel-heading + .panel-collapse .panel-body {\n  border-top-color: #d6e9c6;\n}\n.panel-success > .panel-footer + .panel-collapse .panel-body {\n  border-bottom-color: #d6e9c6;\n}\n.panel-warning {\n  border-color: #faebcc;\n}\n.panel-warning > .panel-heading {\n  color: #8a6d3b;\n  background-color: #fcf8e3;\n  border-color: #faebcc;\n}\n.panel-warning > .panel-heading + .panel-collapse .panel-body {\n  border-top-color: #faebcc;\n}\n.panel-warning > .panel-footer + .panel-collapse .panel-body {\n  border-bottom-color: #faebcc;\n}\n.panel-danger {\n  border-color: #ebccd1;\n}\n.panel-danger > .panel-heading {\n  color: #a94442;\n  background-color: #f2dede;\n  border-color: #ebccd1;\n}\n.panel-danger > .panel-heading + .panel-collapse .panel-body {\n  border-top-color: #ebccd1;\n}\n.panel-danger > .panel-footer + .panel-collapse .panel-body {\n  border-bottom-color: #ebccd1;\n}\n.panel-info {\n  border-color: #bce8f1;\n}\n.panel-info > .panel-heading {\n  color: #31708f;\n  background-color: #d9edf7;\n  border-color: #bce8f1;\n}\n.panel-info > .panel-heading + .panel-collapse .panel-body {\n  border-top-color: #bce8f1;\n}\n.panel-info > .panel-footer + .panel-collapse .panel-body {\n  border-bottom-color: #bce8f1;\n}\n.well {\n  min-height: 20px;\n  padding: 19px;\n  margin-bottom: 20px;\n  background-color: #f5f5f5;\n  border: 1px solid #e3e3e3;\n  border-radius: 0px;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n}\n.well blockquote {\n  border-color: #ddd;\n  border-color: rgba(0, 0, 0, 0.15);\n}\n.well-lg {\n  padding: 24px;\n  border-radius: 0px;\n}\n.well-sm {\n  padding: 9px;\n  border-radius: 0px;\n}\n.close {\n  float: right;\n  font-size: 24px;\n  font-weight: bold;\n  line-height: 1;\n  color: #000000;\n  text-shadow: 0 1px 0 #ffffff;\n  opacity: 0.2;\n  filter: alpha(opacity=20);\n}\n.close:hover,\n.close:focus {\n  color: #000000;\n  text-decoration: none;\n  cursor: pointer;\n  opacity: 0.5;\n  filter: alpha(opacity=50);\n}\nbutton.close {\n  padding: 0;\n  cursor: pointer;\n  background: transparent;\n  border: 0;\n  -webkit-appearance: none;\n}\n.modal-open {\n  overflow: hidden;\n}\n.modal {\n  display: none;\n  overflow: auto;\n  overflow-y: scroll;\n  position: fixed;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: 1040;\n}\n.modal.fade .modal-dialog {\n  -webkit-transform: translate(0, -25%);\n  -ms-transform: translate(0, -25%);\n  transform: translate(0, -25%);\n  -webkit-transition: -webkit-transform 0.3s ease-out;\n  -moz-transition: -moz-transform 0.3s ease-out;\n  -o-transition: -o-transform 0.3s ease-out;\n  transition: transform 0.3s ease-out;\n}\n.modal.in .modal-dialog {\n  -webkit-transform: translate(0, 0);\n  -ms-transform: translate(0, 0);\n  transform: translate(0, 0);\n}\n.modal-dialog {\n  position: relative;\n  width: auto;\n  margin: 10px;\n  z-index: 1050;\n}\n.modal-content {\n  position: relative;\n  background-color: #ffffff;\n  border: 1px solid #999999;\n  border: 1px solid rgba(0, 0, 0, 0.2);\n  border-radius: 0px;\n  -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);\n  box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);\n  background-clip: padding-box;\n  outline: none;\n}\n.modal-backdrop {\n  position: fixed;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: 1030;\n  background-color: #000000;\n}\n.modal-backdrop.fade {\n  opacity: 0;\n  filter: alpha(opacity=0);\n}\n.modal-backdrop.in {\n  opacity: 0.5;\n  filter: alpha(opacity=50);\n}\n.modal-header {\n  padding: 15px;\n  border-bottom: 1px solid #e5e5e5;\n  min-height: 16.5px;\n}\n.modal-header .close {\n  margin-top: -2px;\n}\n.modal-title {\n  margin: 0;\n  line-height: 1.5;\n}\n.modal-body {\n  position: relative;\n  padding: 20px;\n}\n.modal-footer {\n  margin-top: 15px;\n  padding: 19px 20px 20px;\n  text-align: right;\n  border-top: 1px solid #e5e5e5;\n}\n.modal-footer:before,\n.modal-footer:after {\n  content: \" \";\n  display: table;\n}\n.modal-footer:after {\n  clear: both;\n}\n.modal-footer:before,\n.modal-footer:after {\n  content: \" \";\n  display: table;\n}\n.modal-footer:after {\n  clear: both;\n}\n.modal-footer .btn + .btn {\n  margin-left: 5px;\n  margin-bottom: 0;\n}\n.modal-footer .btn-group .btn + .btn {\n  margin-left: -1px;\n}\n.modal-footer .btn-block + .btn-block {\n  margin-left: 0;\n}\n@media screen and (min-width: 768px) {\n  .modal-dialog {\n    width: 600px;\n    margin: 30px auto;\n  }\n  .modal-content {\n    -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);\n    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);\n  }\n}\n.tooltip {\n  position: absolute;\n  z-index: 1030;\n  display: block;\n  visibility: visible;\n  font-size: 14px;\n  line-height: 1.4;\n  opacity: 0;\n  filter: alpha(opacity=0);\n}\n.tooltip.in {\n  opacity: 0.9;\n  filter: alpha(opacity=90);\n}\n.tooltip.top {\n  margin-top: -3px;\n  padding: 5px 0;\n}\n.tooltip.right {\n  margin-left: 3px;\n  padding: 0 5px;\n}\n.tooltip.bottom {\n  margin-top: 3px;\n  padding: 5px 0;\n}\n.tooltip.left {\n  margin-left: -3px;\n  padding: 0 5px;\n}\n.tooltip-inner {\n  max-width: 200px;\n  padding: 3px 8px;\n  color: #ffffff;\n  text-align: center;\n  text-decoration: none;\n  background-color: #000000;\n  border-radius: 0px;\n}\n.tooltip-arrow {\n  position: absolute;\n  width: 0;\n  height: 0;\n  border-color: transparent;\n  border-style: solid;\n}\n.tooltip.top .tooltip-arrow {\n  bottom: 0;\n  left: 50%;\n  margin-left: -5px;\n  border-width: 5px 5px 0;\n  border-top-color: #000000;\n}\n.tooltip.top-left .tooltip-arrow {\n  bottom: 0;\n  left: 5px;\n  border-width: 5px 5px 0;\n  border-top-color: #000000;\n}\n.tooltip.top-right .tooltip-arrow {\n  bottom: 0;\n  right: 5px;\n  border-width: 5px 5px 0;\n  border-top-color: #000000;\n}\n.tooltip.right .tooltip-arrow {\n  top: 50%;\n  left: 0;\n  margin-top: -5px;\n  border-width: 5px 5px 5px 0;\n  border-right-color: #000000;\n}\n.tooltip.left .tooltip-arrow {\n  top: 50%;\n  right: 0;\n  margin-top: -5px;\n  border-width: 5px 0 5px 5px;\n  border-left-color: #000000;\n}\n.tooltip.bottom .tooltip-arrow {\n  top: 0;\n  left: 50%;\n  margin-left: -5px;\n  border-width: 0 5px 5px;\n  border-bottom-color: #000000;\n}\n.tooltip.bottom-left .tooltip-arrow {\n  top: 0;\n  left: 5px;\n  border-width: 0 5px 5px;\n  border-bottom-color: #000000;\n}\n.tooltip.bottom-right .tooltip-arrow {\n  top: 0;\n  right: 5px;\n  border-width: 0 5px 5px;\n  border-bottom-color: #000000;\n}\n.popover {\n  position: absolute;\n  top: 0;\n  left: 0;\n  z-index: 1010;\n  display: none;\n  max-width: 276px;\n  padding: 1px;\n  text-align: left;\n  background-color: #ffffff;\n  background-clip: padding-box;\n  border: 1px solid #cccccc;\n  border: 1px solid rgba(0, 0, 0, 0.2);\n  border-radius: 0px;\n  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n  white-space: normal;\n}\n.popover.top {\n  margin-top: -10px;\n}\n.popover.right {\n  margin-left: 10px;\n}\n.popover.bottom {\n  margin-top: 10px;\n}\n.popover.left {\n  margin-left: -10px;\n}\n.popover-title {\n  margin: 0;\n  padding: 8px 14px;\n  font-size: 16px;\n  font-weight: normal;\n  line-height: 18px;\n  background-color: #f7f7f7;\n  border-bottom: 1px solid #ebebeb;\n  border-radius: 5px 5px 0 0;\n}\n.popover-content {\n  padding: 9px 14px;\n}\n.popover .arrow,\n.popover .arrow:after {\n  position: absolute;\n  display: block;\n  width: 0;\n  height: 0;\n  border-color: transparent;\n  border-style: solid;\n}\n.popover .arrow {\n  border-width: 11px;\n}\n.popover .arrow:after {\n  border-width: 10px;\n  content: \"\";\n}\n.popover.top .arrow {\n  left: 50%;\n  margin-left: -11px;\n  border-bottom-width: 0;\n  border-top-color: #999999;\n  border-top-color: rgba(0, 0, 0, 0.25);\n  bottom: -11px;\n}\n.popover.top .arrow:after {\n  content: \" \";\n  bottom: 1px;\n  margin-left: -10px;\n  border-bottom-width: 0;\n  border-top-color: #ffffff;\n}\n.popover.right .arrow {\n  top: 50%;\n  left: -11px;\n  margin-top: -11px;\n  border-left-width: 0;\n  border-right-color: #999999;\n  border-right-color: rgba(0, 0, 0, 0.25);\n}\n.popover.right .arrow:after {\n  content: \" \";\n  left: 1px;\n  bottom: -10px;\n  border-left-width: 0;\n  border-right-color: #ffffff;\n}\n.popover.bottom .arrow {\n  left: 50%;\n  margin-left: -11px;\n  border-top-width: 0;\n  border-bottom-color: #999999;\n  border-bottom-color: rgba(0, 0, 0, 0.25);\n  top: -11px;\n}\n.popover.bottom .arrow:after {\n  content: \" \";\n  top: 1px;\n  margin-left: -10px;\n  border-top-width: 0;\n  border-bottom-color: #ffffff;\n}\n.popover.left .arrow {\n  top: 50%;\n  right: -11px;\n  margin-top: -11px;\n  border-right-width: 0;\n  border-left-color: #999999;\n  border-left-color: rgba(0, 0, 0, 0.25);\n}\n.popover.left .arrow:after {\n  content: \" \";\n  right: 1px;\n  border-right-width: 0;\n  border-left-color: #ffffff;\n  bottom: -10px;\n}\n.carousel {\n  position: relative;\n}\n.carousel-inner {\n  position: relative;\n  overflow: hidden;\n  width: 100%;\n}\n.carousel-inner > .item {\n  display: none;\n  position: relative;\n  -webkit-transition: 0.6s ease-in-out left;\n  transition: 0.6s ease-in-out left;\n}\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n  display: block;\n  max-width: 100%;\n  height: auto;\n  line-height: 1;\n}\n.carousel-inner > .active,\n.carousel-inner > .next,\n.carousel-inner > .prev {\n  display: block;\n}\n.carousel-inner > .active {\n  left: 0;\n}\n.carousel-inner > .next,\n.carousel-inner > .prev {\n  position: absolute;\n  top: 0;\n  width: 100%;\n}\n.carousel-inner > .next {\n  left: 100%;\n}\n.carousel-inner > .prev {\n  left: -100%;\n}\n.carousel-inner > .next.left,\n.carousel-inner > .prev.right {\n  left: 0;\n}\n.carousel-inner > .active.left {\n  left: -100%;\n}\n.carousel-inner > .active.right {\n  left: 100%;\n}\n.carousel-control {\n  position: absolute;\n  top: 0;\n  left: 0;\n  bottom: 0;\n  width: 15%;\n  opacity: 0.5;\n  filter: alpha(opacity=50);\n  font-size: 20px;\n  color: #ffffff;\n  text-align: center;\n  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);\n}\n.carousel-control.left {\n  background-image: -webkit-linear-gradient(left, color-stop(rgba(0, 0, 0, 0.5) 0%), color-stop(rgba(0, 0, 0, 0.0001) 100%));\n  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);\n}\n.carousel-control.right {\n  left: auto;\n  right: 0;\n  background-image: -webkit-linear-gradient(left, color-stop(rgba(0, 0, 0, 0.0001) 0%), color-stop(rgba(0, 0, 0, 0.5) 100%));\n  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);\n}\n.carousel-control:hover,\n.carousel-control:focus {\n  outline: none;\n  color: #ffffff;\n  text-decoration: none;\n  opacity: 0.9;\n  filter: alpha(opacity=90);\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-left,\n.carousel-control .glyphicon-chevron-right {\n  position: absolute;\n  top: 50%;\n  z-index: 5;\n  display: inline-block;\n}\n.carousel-control .icon-prev,\n.carousel-control .glyphicon-chevron-left {\n  left: 50%;\n}\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-right {\n  right: 50%;\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next {\n  width: 20px;\n  height: 20px;\n  margin-top: -10px;\n  margin-left: -10px;\n  font-family: serif;\n}\n.carousel-control .icon-prev:before {\n  content: '\\2039';\n}\n.carousel-control .icon-next:before {\n  content: '\\203a';\n}\n.carousel-indicators {\n  position: absolute;\n  bottom: 10px;\n  left: 50%;\n  z-index: 15;\n  width: 60%;\n  margin-left: -30%;\n  padding-left: 0;\n  list-style: none;\n  text-align: center;\n}\n.carousel-indicators li {\n  display: inline-block;\n  width: 10px;\n  height: 10px;\n  margin: 1px;\n  text-indent: -999px;\n  border: 1px solid #ffffff;\n  border-radius: 10px;\n  cursor: pointer;\n  background-color: #000 \\9;\n  background-color: rgba(0, 0, 0, 0);\n}\n.carousel-indicators .active {\n  margin: 0;\n  width: 12px;\n  height: 12px;\n  background-color: #ffffff;\n}\n.carousel-caption {\n  position: absolute;\n  left: 15%;\n  right: 15%;\n  bottom: 20px;\n  z-index: 10;\n  padding-top: 20px;\n  padding-bottom: 20px;\n  color: #ffffff;\n  text-align: center;\n  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);\n}\n.carousel-caption .btn {\n  text-shadow: none;\n}\n@media screen and (min-width: 768px) {\n  .carousel-control .glyphicons-chevron-left,\n  .carousel-control .glyphicons-chevron-right,\n  .carousel-control .icon-prev,\n  .carousel-control .icon-next {\n    width: 30px;\n    height: 30px;\n    margin-top: -15px;\n    margin-left: -15px;\n    font-size: 30px;\n  }\n  .carousel-caption {\n    left: 20%;\n    right: 20%;\n    padding-bottom: 30px;\n  }\n  .carousel-indicators {\n    bottom: 20px;\n  }\n}\n.clearfix:before,\n.clearfix:after {\n  content: \" \";\n  display: table;\n}\n.clearfix:after {\n  clear: both;\n}\n.center-block {\n  display: block;\n  margin-left: auto;\n  margin-right: auto;\n}\n.pull-right {\n  float: right !important;\n}\n.pull-left {\n  float: left !important;\n}\n.hide {\n  display: none !important;\n}\n.show {\n  display: block !important;\n}\n.invisible {\n  visibility: hidden;\n}\n.text-hide {\n  font: 0/0 a;\n  color: transparent;\n  text-shadow: none;\n  background-color: transparent;\n  border: 0;\n}\n.hidden {\n  display: none !important;\n  visibility: hidden !important;\n}\n.affix {\n  position: fixed;\n}\n@-ms-viewport {\n  width: device-width;\n}\n.visible-xs,\ntr.visible-xs,\nth.visible-xs,\ntd.visible-xs {\n  display: none !important;\n}\n@media (max-width: 767px) {\n  .visible-xs {\n    display: block !important;\n  }\n  table.visible-xs {\n    display: table;\n  }\n  tr.visible-xs {\n    display: table-row !important;\n  }\n  th.visible-xs,\n  td.visible-xs {\n    display: table-cell !important;\n  }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n  .visible-xs.visible-sm {\n    display: block !important;\n  }\n  table.visible-xs.visible-sm {\n    display: table;\n  }\n  tr.visible-xs.visible-sm {\n    display: table-row !important;\n  }\n  th.visible-xs.visible-sm,\n  td.visible-xs.visible-sm {\n    display: table-cell !important;\n  }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n  .visible-xs.visible-md {\n    display: block !important;\n  }\n  table.visible-xs.visible-md {\n    display: table;\n  }\n  tr.visible-xs.visible-md {\n    display: table-row !important;\n  }\n  th.visible-xs.visible-md,\n  td.visible-xs.visible-md {\n    display: table-cell !important;\n  }\n}\n@media (min-width: 1200px) {\n  .visible-xs.visible-lg {\n    display: block !important;\n  }\n  table.visible-xs.visible-lg {\n    display: table;\n  }\n  tr.visible-xs.visible-lg {\n    display: table-row !important;\n  }\n  th.visible-xs.visible-lg,\n  td.visible-xs.visible-lg {\n    display: table-cell !important;\n  }\n}\n.visible-sm,\ntr.visible-sm,\nth.visible-sm,\ntd.visible-sm {\n  display: none !important;\n}\n@media (max-width: 767px) {\n  .visible-sm.visible-xs {\n    display: block !important;\n  }\n  table.visible-sm.visible-xs {\n    display: table;\n  }\n  tr.visible-sm.visible-xs {\n    display: table-row !important;\n  }\n  th.visible-sm.visible-xs,\n  td.visible-sm.visible-xs {\n    display: table-cell !important;\n  }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n  .visible-sm {\n    display: block !important;\n  }\n  table.visible-sm {\n    display: table;\n  }\n  tr.visible-sm {\n    display: table-row !important;\n  }\n  th.visible-sm,\n  td.visible-sm {\n    display: table-cell !important;\n  }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n  .visible-sm.visible-md {\n    display: block !important;\n  }\n  table.visible-sm.visible-md {\n    display: table;\n  }\n  tr.visible-sm.visible-md {\n    display: table-row !important;\n  }\n  th.visible-sm.visible-md,\n  td.visible-sm.visible-md {\n    display: table-cell !important;\n  }\n}\n@media (min-width: 1200px) {\n  .visible-sm.visible-lg {\n    display: block !important;\n  }\n  table.visible-sm.visible-lg {\n    display: table;\n  }\n  tr.visible-sm.visible-lg {\n    display: table-row !important;\n  }\n  th.visible-sm.visible-lg,\n  td.visible-sm.visible-lg {\n    display: table-cell !important;\n  }\n}\n.visible-md,\ntr.visible-md,\nth.visible-md,\ntd.visible-md {\n  display: none !important;\n}\n@media (max-width: 767px) {\n  .visible-md.visible-xs {\n    display: block !important;\n  }\n  table.visible-md.visible-xs {\n    display: table;\n  }\n  tr.visible-md.visible-xs {\n    display: table-row !important;\n  }\n  th.visible-md.visible-xs,\n  td.visible-md.visible-xs {\n    display: table-cell !important;\n  }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n  .visible-md.visible-sm {\n    display: block !important;\n  }\n  table.visible-md.visible-sm {\n    display: table;\n  }\n  tr.visible-md.visible-sm {\n    display: table-row !important;\n  }\n  th.visible-md.visible-sm,\n  td.visible-md.visible-sm {\n    display: table-cell !important;\n  }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n  .visible-md {\n    display: block !important;\n  }\n  table.visible-md {\n    display: table;\n  }\n  tr.visible-md {\n    display: table-row !important;\n  }\n  th.visible-md,\n  td.visible-md {\n    display: table-cell !important;\n  }\n}\n@media (min-width: 1200px) {\n  .visible-md.visible-lg {\n    display: block !important;\n  }\n  table.visible-md.visible-lg {\n    display: table;\n  }\n  tr.visible-md.visible-lg {\n    display: table-row !important;\n  }\n  th.visible-md.visible-lg,\n  td.visible-md.visible-lg {\n    display: table-cell !important;\n  }\n}\n.visible-lg,\ntr.visible-lg,\nth.visible-lg,\ntd.visible-lg {\n  display: none !important;\n}\n@media (max-width: 767px) {\n  .visible-lg.visible-xs {\n    display: block !important;\n  }\n  table.visible-lg.visible-xs {\n    display: table;\n  }\n  tr.visible-lg.visible-xs {\n    display: table-row !important;\n  }\n  th.visible-lg.visible-xs,\n  td.visible-lg.visible-xs {\n    display: table-cell !important;\n  }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n  .visible-lg.visible-sm {\n    display: block !important;\n  }\n  table.visible-lg.visible-sm {\n    display: table;\n  }\n  tr.visible-lg.visible-sm {\n    display: table-row !important;\n  }\n  th.visible-lg.visible-sm,\n  td.visible-lg.visible-sm {\n    display: table-cell !important;\n  }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n  .visible-lg.visible-md {\n    display: block !important;\n  }\n  table.visible-lg.visible-md {\n    display: table;\n  }\n  tr.visible-lg.visible-md {\n    display: table-row !important;\n  }\n  th.visible-lg.visible-md,\n  td.visible-lg.visible-md {\n    display: table-cell !important;\n  }\n}\n@media (min-width: 1200px) {\n  .visible-lg {\n    display: block !important;\n  }\n  table.visible-lg {\n    display: table;\n  }\n  tr.visible-lg {\n    display: table-row !important;\n  }\n  th.visible-lg,\n  td.visible-lg {\n    display: table-cell !important;\n  }\n}\n.hidden-xs {\n  display: block !important;\n}\ntable.hidden-xs {\n  display: table;\n}\ntr.hidden-xs {\n  display: table-row !important;\n}\nth.hidden-xs,\ntd.hidden-xs {\n  display: table-cell !important;\n}\n@media (max-width: 767px) {\n  .hidden-xs,\n  tr.hidden-xs,\n  th.hidden-xs,\n  td.hidden-xs {\n    display: none !important;\n  }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n  .hidden-xs.hidden-sm,\n  tr.hidden-xs.hidden-sm,\n  th.hidden-xs.hidden-sm,\n  td.hidden-xs.hidden-sm {\n    display: none !important;\n  }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n  .hidden-xs.hidden-md,\n  tr.hidden-xs.hidden-md,\n  th.hidden-xs.hidden-md,\n  td.hidden-xs.hidden-md {\n    display: none !important;\n  }\n}\n@media (min-width: 1200px) {\n  .hidden-xs.hidden-lg,\n  tr.hidden-xs.hidden-lg,\n  th.hidden-xs.hidden-lg,\n  td.hidden-xs.hidden-lg {\n    display: none !important;\n  }\n}\n.hidden-sm {\n  display: block !important;\n}\ntable.hidden-sm {\n  display: table;\n}\ntr.hidden-sm {\n  display: table-row !important;\n}\nth.hidden-sm,\ntd.hidden-sm {\n  display: table-cell !important;\n}\n@media (max-width: 767px) {\n  .hidden-sm.hidden-xs,\n  tr.hidden-sm.hidden-xs,\n  th.hidden-sm.hidden-xs,\n  td.hidden-sm.hidden-xs {\n    display: none !important;\n  }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n  .hidden-sm,\n  tr.hidden-sm,\n  th.hidden-sm,\n  td.hidden-sm {\n    display: none !important;\n  }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n  .hidden-sm.hidden-md,\n  tr.hidden-sm.hidden-md,\n  th.hidden-sm.hidden-md,\n  td.hidden-sm.hidden-md {\n    display: none !important;\n  }\n}\n@media (min-width: 1200px) {\n  .hidden-sm.hidden-lg,\n  tr.hidden-sm.hidden-lg,\n  th.hidden-sm.hidden-lg,\n  td.hidden-sm.hidden-lg {\n    display: none !important;\n  }\n}\n.hidden-md {\n  display: block !important;\n}\ntable.hidden-md {\n  display: table;\n}\ntr.hidden-md {\n  display: table-row !important;\n}\nth.hidden-md,\ntd.hidden-md {\n  display: table-cell !important;\n}\n@media (max-width: 767px) {\n  .hidden-md.hidden-xs,\n  tr.hidden-md.hidden-xs,\n  th.hidden-md.hidden-xs,\n  td.hidden-md.hidden-xs {\n    display: none !important;\n  }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n  .hidden-md.hidden-sm,\n  tr.hidden-md.hidden-sm,\n  th.hidden-md.hidden-sm,\n  td.hidden-md.hidden-sm {\n    display: none !important;\n  }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n  .hidden-md,\n  tr.hidden-md,\n  th.hidden-md,\n  td.hidden-md {\n    display: none !important;\n  }\n}\n@media (min-width: 1200px) {\n  .hidden-md.hidden-lg,\n  tr.hidden-md.hidden-lg,\n  th.hidden-md.hidden-lg,\n  td.hidden-md.hidden-lg {\n    display: none !important;\n  }\n}\n.hidden-lg {\n  display: block !important;\n}\ntable.hidden-lg {\n  display: table;\n}\ntr.hidden-lg {\n  display: table-row !important;\n}\nth.hidden-lg,\ntd.hidden-lg {\n  display: table-cell !important;\n}\n@media (max-width: 767px) {\n  .hidden-lg.hidden-xs,\n  tr.hidden-lg.hidden-xs,\n  th.hidden-lg.hidden-xs,\n  td.hidden-lg.hidden-xs {\n    display: none !important;\n  }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n  .hidden-lg.hidden-sm,\n  tr.hidden-lg.hidden-sm,\n  th.hidden-lg.hidden-sm,\n  td.hidden-lg.hidden-sm {\n    display: none !important;\n  }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n  .hidden-lg.hidden-md,\n  tr.hidden-lg.hidden-md,\n  th.hidden-lg.hidden-md,\n  td.hidden-lg.hidden-md {\n    display: none !important;\n  }\n}\n@media (min-width: 1200px) {\n  .hidden-lg,\n  tr.hidden-lg,\n  th.hidden-lg,\n  td.hidden-lg {\n    display: none !important;\n  }\n}\n.visible-print,\ntr.visible-print,\nth.visible-print,\ntd.visible-print {\n  display: none !important;\n}\n@media print {\n  .visible-print {\n    display: block !important;\n  }\n  table.visible-print {\n    display: table;\n  }\n  tr.visible-print {\n    display: table-row !important;\n  }\n  th.visible-print,\n  td.visible-print {\n    display: table-cell !important;\n  }\n  .hidden-print,\n  tr.hidden-print,\n  th.hidden-print,\n  td.hidden-print {\n    display: none !important;\n  }\n}\n/*!\n *  Font Awesome 4.0.3 by @davegandy - http://fontawesome.io - @fontawesome\n *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)\n */\n/* FONT PATH\n * -------------------------- */\n@font-face {\n  font-family: 'FontAwesome';\n  src: url('fontawesome-webfont.eot?v=4.0.3');\n  src: url('fontawesome-webfont.eot?#iefix&v=4.0.3') format('embedded-opentype'), url('fontawesome-webfont.woff?v=4.0.3') format('woff'), url('fontawesome-webfont.ttf?v=4.0.3') format('truetype'), url('fontawesome-webfont.svg?v=4.0.3#fontawesomeregular') format('svg');\n  font-weight: normal;\n  font-style: normal;\n}\n.fa {\n  display: inline-block;\n  font-family: FontAwesome;\n  font-style: normal;\n  font-weight: normal;\n  line-height: 1;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n}\n/* makes the font 33% larger relative to the icon container */\n.fa-lg {\n  font-size: 1.3333333333333333em;\n  line-height: 0.75em;\n  vertical-align: -15%;\n}\n.fa-2x {\n  font-size: 2em;\n}\n.fa-3x {\n  font-size: 3em;\n}\n.fa-4x {\n  font-size: 4em;\n}\n.fa-5x {\n  font-size: 5em;\n}\n.fa-fw {\n  width: 1.2857142857142858em;\n  text-align: center;\n}\n.fa-ul {\n  padding-left: 0;\n  margin-left: 2.142857142857143em;\n  list-style-type: none;\n}\n.fa-ul > li {\n  position: relative;\n}\n.fa-li {\n  position: absolute;\n  left: -2.142857142857143em;\n  width: 2.142857142857143em;\n  top: 0.14285714285714285em;\n  text-align: center;\n}\n.fa-li.fa-lg {\n  left: -1.8571428571428572em;\n}\n.fa-border {\n  padding: .2em .25em .15em;\n  border: solid 0.08em #eeeeee;\n  border-radius: .1em;\n}\n.pull-right {\n  float: right;\n}\n.pull-left {\n  float: left;\n}\n.fa.pull-left {\n  margin-right: .3em;\n}\n.fa.pull-right {\n  margin-left: .3em;\n}\n.fa-spin {\n  -webkit-animation: spin 2s infinite linear;\n  -moz-animation: spin 2s infinite linear;\n  -o-animation: spin 2s infinite linear;\n  animation: spin 2s infinite linear;\n}\n@-moz-keyframes spin {\n  0% {\n    -moz-transform: rotate(0deg);\n  }\n  100% {\n    -moz-transform: rotate(359deg);\n  }\n}\n@-webkit-keyframes spin {\n  0% {\n    -webkit-transform: rotate(0deg);\n  }\n  100% {\n    -webkit-transform: rotate(359deg);\n  }\n}\n@-o-keyframes spin {\n  0% {\n    -o-transform: rotate(0deg);\n  }\n  100% {\n    -o-transform: rotate(359deg);\n  }\n}\n@-ms-keyframes spin {\n  0% {\n    -ms-transform: rotate(0deg);\n  }\n  100% {\n    -ms-transform: rotate(359deg);\n  }\n}\n@keyframes spin {\n  0% {\n    transform: rotate(0deg);\n  }\n  100% {\n    transform: rotate(359deg);\n  }\n}\n.fa-rotate-90 {\n  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);\n  -webkit-transform: rotate(90deg);\n  -moz-transform: rotate(90deg);\n  -ms-transform: rotate(90deg);\n  -o-transform: rotate(90deg);\n  transform: rotate(90deg);\n}\n.fa-rotate-180 {\n  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);\n  -webkit-transform: rotate(180deg);\n  -moz-transform: rotate(180deg);\n  -ms-transform: rotate(180deg);\n  -o-transform: rotate(180deg);\n  transform: rotate(180deg);\n}\n.fa-rotate-270 {\n  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);\n  -webkit-transform: rotate(270deg);\n  -moz-transform: rotate(270deg);\n  -ms-transform: rotate(270deg);\n  -o-transform: rotate(270deg);\n  transform: rotate(270deg);\n}\n.fa-flip-horizontal {\n  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);\n  -webkit-transform: scale(-1, 1);\n  -moz-transform: scale(-1, 1);\n  -ms-transform: scale(-1, 1);\n  -o-transform: scale(-1, 1);\n  transform: scale(-1, 1);\n}\n.fa-flip-vertical {\n  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);\n  -webkit-transform: scale(1, -1);\n  -moz-transform: scale(1, -1);\n  -ms-transform: scale(1, -1);\n  -o-transform: scale(1, -1);\n  transform: scale(1, -1);\n}\n.fa-stack {\n  position: relative;\n  display: inline-block;\n  width: 2em;\n  height: 2em;\n  line-height: 2em;\n  vertical-align: middle;\n}\n.fa-stack-1x,\n.fa-stack-2x {\n  position: absolute;\n  left: 0;\n  width: 100%;\n  text-align: center;\n}\n.fa-stack-1x {\n  line-height: inherit;\n}\n.fa-stack-2x {\n  font-size: 2em;\n}\n.fa-inverse {\n  color: #ffffff;\n}\n/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen\n   readers do not read off random characters that represent icons */\n.fa-glass:before {\n  content: \"\\f000\";\n}\n.fa-music:before {\n  content: \"\\f001\";\n}\n.fa-search:before {\n  content: \"\\f002\";\n}\n.fa-envelope-o:before {\n  content: \"\\f003\";\n}\n.fa-heart:before {\n  content: \"\\f004\";\n}\n.fa-star:before {\n  content: \"\\f005\";\n}\n.fa-star-o:before {\n  content: \"\\f006\";\n}\n.fa-user:before {\n  content: \"\\f007\";\n}\n.fa-film:before {\n  content: \"\\f008\";\n}\n.fa-th-large:before {\n  content: \"\\f009\";\n}\n.fa-th:before {\n  content: \"\\f00a\";\n}\n.fa-th-list:before {\n  content: \"\\f00b\";\n}\n.fa-check:before {\n  content: \"\\f00c\";\n}\n.fa-times:before {\n  content: \"\\f00d\";\n}\n.fa-search-plus:before {\n  content: \"\\f00e\";\n}\n.fa-search-minus:before {\n  content: \"\\f010\";\n}\n.fa-power-off:before {\n  content: \"\\f011\";\n}\n.fa-signal:before {\n  content: \"\\f012\";\n}\n.fa-gear:before,\n.fa-cog:before {\n  content: \"\\f013\";\n}\n.fa-trash-o:before {\n  content: \"\\f014\";\n}\n.fa-home:before {\n  content: \"\\f015\";\n}\n.fa-file-o:before {\n  content: \"\\f016\";\n}\n.fa-clock-o:before {\n  content: \"\\f017\";\n}\n.fa-road:before {\n  content: \"\\f018\";\n}\n.fa-download:before {\n  content: \"\\f019\";\n}\n.fa-arrow-circle-o-down:before {\n  content: \"\\f01a\";\n}\n.fa-arrow-circle-o-up:before {\n  content: \"\\f01b\";\n}\n.fa-inbox:before {\n  content: \"\\f01c\";\n}\n.fa-play-circle-o:before {\n  content: \"\\f01d\";\n}\n.fa-rotate-right:before,\n.fa-repeat:before {\n  content: \"\\f01e\";\n}\n.fa-refresh:before {\n  content: \"\\f021\";\n}\n.fa-list-alt:before {\n  content: \"\\f022\";\n}\n.fa-lock:before {\n  content: \"\\f023\";\n}\n.fa-flag:before {\n  content: \"\\f024\";\n}\n.fa-headphones:before {\n  content: \"\\f025\";\n}\n.fa-volume-off:before {\n  content: \"\\f026\";\n}\n.fa-volume-down:before {\n  content: \"\\f027\";\n}\n.fa-volume-up:before {\n  content: \"\\f028\";\n}\n.fa-qrcode:before {\n  content: \"\\f029\";\n}\n.fa-barcode:before {\n  content: \"\\f02a\";\n}\n.fa-tag:before {\n  content: \"\\f02b\";\n}\n.fa-tags:before {\n  content: \"\\f02c\";\n}\n.fa-book:before {\n  content: \"\\f02d\";\n}\n.fa-bookmark:before {\n  content: \"\\f02e\";\n}\n.fa-print:before {\n  content: \"\\f02f\";\n}\n.fa-camera:before {\n  content: \"\\f030\";\n}\n.fa-font:before {\n  content: \"\\f031\";\n}\n.fa-bold:before {\n  content: \"\\f032\";\n}\n.fa-italic:before {\n  content: \"\\f033\";\n}\n.fa-text-height:before {\n  content: \"\\f034\";\n}\n.fa-text-width:before {\n  content: \"\\f035\";\n}\n.fa-align-left:before {\n  content: \"\\f036\";\n}\n.fa-align-center:before {\n  content: \"\\f037\";\n}\n.fa-align-right:before {\n  content: \"\\f038\";\n}\n.fa-align-justify:before {\n  content: \"\\f039\";\n}\n.fa-list:before {\n  content: \"\\f03a\";\n}\n.fa-dedent:before,\n.fa-outdent:before {\n  content: \"\\f03b\";\n}\n.fa-indent:before {\n  content: \"\\f03c\";\n}\n.fa-video-camera:before {\n  content: \"\\f03d\";\n}\n.fa-picture-o:before {\n  content: \"\\f03e\";\n}\n.fa-pencil:before {\n  content: \"\\f040\";\n}\n.fa-map-marker:before {\n  content: \"\\f041\";\n}\n.fa-adjust:before {\n  content: \"\\f042\";\n}\n.fa-tint:before {\n  content: \"\\f043\";\n}\n.fa-edit:before,\n.fa-pencil-square-o:before {\n  content: \"\\f044\";\n}\n.fa-share-square-o:before {\n  content: \"\\f045\";\n}\n.fa-check-square-o:before {\n  content: \"\\f046\";\n}\n.fa-arrows:before {\n  content: \"\\f047\";\n}\n.fa-step-backward:before {\n  content: \"\\f048\";\n}\n.fa-fast-backward:before {\n  content: \"\\f049\";\n}\n.fa-backward:before {\n  content: \"\\f04a\";\n}\n.fa-play:before {\n  content: \"\\f04b\";\n}\n.fa-pause:before {\n  content: \"\\f04c\";\n}\n.fa-stop:before {\n  content: \"\\f04d\";\n}\n.fa-forward:before {\n  content: \"\\f04e\";\n}\n.fa-fast-forward:before {\n  content: \"\\f050\";\n}\n.fa-step-forward:before {\n  content: \"\\f051\";\n}\n.fa-eject:before {\n  content: \"\\f052\";\n}\n.fa-chevron-left:before {\n  content: \"\\f053\";\n}\n.fa-chevron-right:before {\n  content: \"\\f054\";\n}\n.fa-plus-circle:before {\n  content: \"\\f055\";\n}\n.fa-minus-circle:before {\n  content: \"\\f056\";\n}\n.fa-times-circle:before {\n  content: \"\\f057\";\n}\n.fa-check-circle:before {\n  content: \"\\f058\";\n}\n.fa-question-circle:before {\n  content: \"\\f059\";\n}\n.fa-info-circle:before {\n  content: \"\\f05a\";\n}\n.fa-crosshairs:before {\n  content: \"\\f05b\";\n}\n.fa-times-circle-o:before {\n  content: \"\\f05c\";\n}\n.fa-check-circle-o:before {\n  content: \"\\f05d\";\n}\n.fa-ban:before {\n  content: \"\\f05e\";\n}\n.fa-arrow-left:before {\n  content: \"\\f060\";\n}\n.fa-arrow-right:before {\n  content: \"\\f061\";\n}\n.fa-arrow-up:before {\n  content: \"\\f062\";\n}\n.fa-arrow-down:before {\n  content: \"\\f063\";\n}\n.fa-mail-forward:before,\n.fa-share:before {\n  content: \"\\f064\";\n}\n.fa-expand:before {\n  content: \"\\f065\";\n}\n.fa-compress:before {\n  content: \"\\f066\";\n}\n.fa-plus:before {\n  content: \"\\f067\";\n}\n.fa-minus:before {\n  content: \"\\f068\";\n}\n.fa-asterisk:before {\n  content: \"\\f069\";\n}\n.fa-exclamation-circle:before {\n  content: \"\\f06a\";\n}\n.fa-gift:before {\n  content: \"\\f06b\";\n}\n.fa-leaf:before {\n  content: \"\\f06c\";\n}\n.fa-fire:before {\n  content: \"\\f06d\";\n}\n.fa-eye:before {\n  content: \"\\f06e\";\n}\n.fa-eye-slash:before {\n  content: \"\\f070\";\n}\n.fa-warning:before,\n.fa-exclamation-triangle:before {\n  content: \"\\f071\";\n}\n.fa-plane:before {\n  content: \"\\f072\";\n}\n.fa-calendar:before {\n  content: \"\\f073\";\n}\n.fa-random:before {\n  content: \"\\f074\";\n}\n.fa-comment:before {\n  content: \"\\f075\";\n}\n.fa-magnet:before {\n  content: \"\\f076\";\n}\n.fa-chevron-up:before {\n  content: \"\\f077\";\n}\n.fa-chevron-down:before {\n  content: \"\\f078\";\n}\n.fa-retweet:before {\n  content: \"\\f079\";\n}\n.fa-shopping-cart:before {\n  content: \"\\f07a\";\n}\n.fa-folder:before {\n  content: \"\\f07b\";\n}\n.fa-folder-open:before {\n  content: \"\\f07c\";\n}\n.fa-arrows-v:before {\n  content: \"\\f07d\";\n}\n.fa-arrows-h:before {\n  content: \"\\f07e\";\n}\n.fa-bar-chart-o:before {\n  content: \"\\f080\";\n}\n.fa-twitter-square:before {\n  content: \"\\f081\";\n}\n.fa-facebook-square:before {\n  content: \"\\f082\";\n}\n.fa-camera-retro:before {\n  content: \"\\f083\";\n}\n.fa-key:before {\n  content: \"\\f084\";\n}\n.fa-gears:before,\n.fa-cogs:before {\n  content: \"\\f085\";\n}\n.fa-comments:before {\n  content: \"\\f086\";\n}\n.fa-thumbs-o-up:before {\n  content: \"\\f087\";\n}\n.fa-thumbs-o-down:before {\n  content: \"\\f088\";\n}\n.fa-star-half:before {\n  content: \"\\f089\";\n}\n.fa-heart-o:before {\n  content: \"\\f08a\";\n}\n.fa-sign-out:before {\n  content: \"\\f08b\";\n}\n.fa-linkedin-square:before {\n  content: \"\\f08c\";\n}\n.fa-thumb-tack:before {\n  content: \"\\f08d\";\n}\n.fa-external-link:before {\n  content: \"\\f08e\";\n}\n.fa-sign-in:before {\n  content: \"\\f090\";\n}\n.fa-trophy:before {\n  content: \"\\f091\";\n}\n.fa-github-square:before {\n  content: \"\\f092\";\n}\n.fa-upload:before {\n  content: \"\\f093\";\n}\n.fa-lemon-o:before {\n  content: \"\\f094\";\n}\n.fa-phone:before {\n  content: \"\\f095\";\n}\n.fa-square-o:before {\n  content: \"\\f096\";\n}\n.fa-bookmark-o:before {\n  content: \"\\f097\";\n}\n.fa-phone-square:before {\n  content: \"\\f098\";\n}\n.fa-twitter:before {\n  content: \"\\f099\";\n}\n.fa-facebook:before {\n  content: \"\\f09a\";\n}\n.fa-github:before {\n  content: \"\\f09b\";\n}\n.fa-unlock:before {\n  content: \"\\f09c\";\n}\n.fa-credit-card:before {\n  content: \"\\f09d\";\n}\n.fa-rss:before {\n  content: \"\\f09e\";\n}\n.fa-hdd-o:before {\n  content: \"\\f0a0\";\n}\n.fa-bullhorn:before {\n  content: \"\\f0a1\";\n}\n.fa-bell:before {\n  content: \"\\f0f3\";\n}\n.fa-certificate:before {\n  content: \"\\f0a3\";\n}\n.fa-hand-o-right:before {\n  content: \"\\f0a4\";\n}\n.fa-hand-o-left:before {\n  content: \"\\f0a5\";\n}\n.fa-hand-o-up:before {\n  content: \"\\f0a6\";\n}\n.fa-hand-o-down:before {\n  content: \"\\f0a7\";\n}\n.fa-arrow-circle-left:before {\n  content: \"\\f0a8\";\n}\n.fa-arrow-circle-right:before {\n  content: \"\\f0a9\";\n}\n.fa-arrow-circle-up:before {\n  content: \"\\f0aa\";\n}\n.fa-arrow-circle-down:before {\n  content: \"\\f0ab\";\n}\n.fa-globe:before {\n  content: \"\\f0ac\";\n}\n.fa-wrench:before {\n  content: \"\\f0ad\";\n}\n.fa-tasks:before {\n  content: \"\\f0ae\";\n}\n.fa-filter:before {\n  content: \"\\f0b0\";\n}\n.fa-briefcase:before {\n  content: \"\\f0b1\";\n}\n.fa-arrows-alt:before {\n  content: \"\\f0b2\";\n}\n.fa-group:before,\n.fa-users:before {\n  content: \"\\f0c0\";\n}\n.fa-chain:before,\n.fa-link:before {\n  content: \"\\f0c1\";\n}\n.fa-cloud:before {\n  content: \"\\f0c2\";\n}\n.fa-flask:before {\n  content: \"\\f0c3\";\n}\n.fa-cut:before,\n.fa-scissors:before {\n  content: \"\\f0c4\";\n}\n.fa-copy:before,\n.fa-files-o:before {\n  content: \"\\f0c5\";\n}\n.fa-paperclip:before {\n  content: \"\\f0c6\";\n}\n.fa-save:before,\n.fa-floppy-o:before {\n  content: \"\\f0c7\";\n}\n.fa-square:before {\n  content: \"\\f0c8\";\n}\n.fa-bars:before {\n  content: \"\\f0c9\";\n}\n.fa-list-ul:before {\n  content: \"\\f0ca\";\n}\n.fa-list-ol:before {\n  content: \"\\f0cb\";\n}\n.fa-strikethrough:before {\n  content: \"\\f0cc\";\n}\n.fa-underline:before {\n  content: \"\\f0cd\";\n}\n.fa-table:before {\n  content: \"\\f0ce\";\n}\n.fa-magic:before {\n  content: \"\\f0d0\";\n}\n.fa-truck:before {\n  content: \"\\f0d1\";\n}\n.fa-pinterest:before {\n  content: \"\\f0d2\";\n}\n.fa-pinterest-square:before {\n  content: \"\\f0d3\";\n}\n.fa-google-plus-square:before {\n  content: \"\\f0d4\";\n}\n.fa-google-plus:before {\n  content: \"\\f0d5\";\n}\n.fa-money:before {\n  content: \"\\f0d6\";\n}\n.fa-caret-down:before {\n  content: \"\\f0d7\";\n}\n.fa-caret-up:before {\n  content: \"\\f0d8\";\n}\n.fa-caret-left:before {\n  content: \"\\f0d9\";\n}\n.fa-caret-right:before {\n  content: \"\\f0da\";\n}\n.fa-columns:before {\n  content: \"\\f0db\";\n}\n.fa-unsorted:before,\n.fa-sort:before {\n  content: \"\\f0dc\";\n}\n.fa-sort-down:before,\n.fa-sort-asc:before {\n  content: \"\\f0dd\";\n}\n.fa-sort-up:before,\n.fa-sort-desc:before {\n  content: \"\\f0de\";\n}\n.fa-envelope:before {\n  content: \"\\f0e0\";\n}\n.fa-linkedin:before {\n  content: \"\\f0e1\";\n}\n.fa-rotate-left:before,\n.fa-undo:before {\n  content: \"\\f0e2\";\n}\n.fa-legal:before,\n.fa-gavel:before {\n  content: \"\\f0e3\";\n}\n.fa-dashboard:before,\n.fa-tachometer:before {\n  content: \"\\f0e4\";\n}\n.fa-comment-o:before {\n  content: \"\\f0e5\";\n}\n.fa-comments-o:before {\n  content: \"\\f0e6\";\n}\n.fa-flash:before,\n.fa-bolt:before {\n  content: \"\\f0e7\";\n}\n.fa-sitemap:before {\n  content: \"\\f0e8\";\n}\n.fa-umbrella:before {\n  content: \"\\f0e9\";\n}\n.fa-paste:before,\n.fa-clipboard:before {\n  content: \"\\f0ea\";\n}\n.fa-lightbulb-o:before {\n  content: \"\\f0eb\";\n}\n.fa-exchange:before {\n  content: \"\\f0ec\";\n}\n.fa-cloud-download:before {\n  content: \"\\f0ed\";\n}\n.fa-cloud-upload:before {\n  content: \"\\f0ee\";\n}\n.fa-user-md:before {\n  content: \"\\f0f0\";\n}\n.fa-stethoscope:before {\n  content: \"\\f0f1\";\n}\n.fa-suitcase:before {\n  content: \"\\f0f2\";\n}\n.fa-bell-o:before {\n  content: \"\\f0a2\";\n}\n.fa-coffee:before {\n  content: \"\\f0f4\";\n}\n.fa-cutlery:before {\n  content: \"\\f0f5\";\n}\n.fa-file-text-o:before {\n  content: \"\\f0f6\";\n}\n.fa-building-o:before {\n  content: \"\\f0f7\";\n}\n.fa-hospital-o:before {\n  content: \"\\f0f8\";\n}\n.fa-ambulance:before {\n  content: \"\\f0f9\";\n}\n.fa-medkit:before {\n  content: \"\\f0fa\";\n}\n.fa-fighter-jet:before {\n  content: \"\\f0fb\";\n}\n.fa-beer:before {\n  content: \"\\f0fc\";\n}\n.fa-h-square:before {\n  content: \"\\f0fd\";\n}\n.fa-plus-square:before {\n  content: \"\\f0fe\";\n}\n.fa-angle-double-left:before {\n  content: \"\\f100\";\n}\n.fa-angle-double-right:before {\n  content: \"\\f101\";\n}\n.fa-angle-double-up:before {\n  content: \"\\f102\";\n}\n.fa-angle-double-down:before {\n  content: \"\\f103\";\n}\n.fa-angle-left:before {\n  content: \"\\f104\";\n}\n.fa-angle-right:before {\n  content: \"\\f105\";\n}\n.fa-angle-up:before {\n  content: \"\\f106\";\n}\n.fa-angle-down:before {\n  content: \"\\f107\";\n}\n.fa-desktop:before {\n  content: \"\\f108\";\n}\n.fa-laptop:before {\n  content: \"\\f109\";\n}\n.fa-tablet:before {\n  content: \"\\f10a\";\n}\n.fa-mobile-phone:before,\n.fa-mobile:before {\n  content: \"\\f10b\";\n}\n.fa-circle-o:before {\n  content: \"\\f10c\";\n}\n.fa-quote-left:before {\n  content: \"\\f10d\";\n}\n.fa-quote-right:before {\n  content: \"\\f10e\";\n}\n.fa-spinner:before {\n  content: \"\\f110\";\n}\n.fa-circle:before {\n  content: \"\\f111\";\n}\n.fa-mail-reply:before,\n.fa-reply:before {\n  content: \"\\f112\";\n}\n.fa-github-alt:before {\n  content: \"\\f113\";\n}\n.fa-folder-o:before {\n  content: \"\\f114\";\n}\n.fa-folder-open-o:before {\n  content: \"\\f115\";\n}\n.fa-smile-o:before {\n  content: \"\\f118\";\n}\n.fa-frown-o:before {\n  content: \"\\f119\";\n}\n.fa-meh-o:before {\n  content: \"\\f11a\";\n}\n.fa-gamepad:before {\n  content: \"\\f11b\";\n}\n.fa-keyboard-o:before {\n  content: \"\\f11c\";\n}\n.fa-flag-o:before {\n  content: \"\\f11d\";\n}\n.fa-flag-checkered:before {\n  content: \"\\f11e\";\n}\n.fa-terminal:before {\n  content: \"\\f120\";\n}\n.fa-code:before {\n  content: \"\\f121\";\n}\n.fa-reply-all:before {\n  content: \"\\f122\";\n}\n.fa-mail-reply-all:before {\n  content: \"\\f122\";\n}\n.fa-star-half-empty:before,\n.fa-star-half-full:before,\n.fa-star-half-o:before {\n  content: \"\\f123\";\n}\n.fa-location-arrow:before {\n  content: \"\\f124\";\n}\n.fa-crop:before {\n  content: \"\\f125\";\n}\n.fa-code-fork:before {\n  content: \"\\f126\";\n}\n.fa-unlink:before,\n.fa-chain-broken:before {\n  content: \"\\f127\";\n}\n.fa-question:before {\n  content: \"\\f128\";\n}\n.fa-info:before {\n  content: \"\\f129\";\n}\n.fa-exclamation:before {\n  content: \"\\f12a\";\n}\n.fa-superscript:before {\n  content: \"\\f12b\";\n}\n.fa-subscript:before {\n  content: \"\\f12c\";\n}\n.fa-eraser:before {\n  content: \"\\f12d\";\n}\n.fa-puzzle-piece:before {\n  content: \"\\f12e\";\n}\n.fa-microphone:before {\n  content: \"\\f130\";\n}\n.fa-microphone-slash:before {\n  content: \"\\f131\";\n}\n.fa-shield:before {\n  content: \"\\f132\";\n}\n.fa-calendar-o:before {\n  content: \"\\f133\";\n}\n.fa-fire-extinguisher:before {\n  content: \"\\f134\";\n}\n.fa-rocket:before {\n  content: \"\\f135\";\n}\n.fa-maxcdn:before {\n  content: \"\\f136\";\n}\n.fa-chevron-circle-left:before {\n  content: \"\\f137\";\n}\n.fa-chevron-circle-right:before {\n  content: \"\\f138\";\n}\n.fa-chevron-circle-up:before {\n  content: \"\\f139\";\n}\n.fa-chevron-circle-down:before {\n  content: \"\\f13a\";\n}\n.fa-html5:before {\n  content: \"\\f13b\";\n}\n.fa-css3:before {\n  content: \"\\f13c\";\n}\n.fa-anchor:before {\n  content: \"\\f13d\";\n}\n.fa-unlock-alt:before {\n  content: \"\\f13e\";\n}\n.fa-bullseye:before {\n  content: \"\\f140\";\n}\n.fa-ellipsis-h:before {\n  content: \"\\f141\";\n}\n.fa-ellipsis-v:before {\n  content: \"\\f142\";\n}\n.fa-rss-square:before {\n  content: \"\\f143\";\n}\n.fa-play-circle:before {\n  content: \"\\f144\";\n}\n.fa-ticket:before {\n  content: \"\\f145\";\n}\n.fa-minus-square:before {\n  content: \"\\f146\";\n}\n.fa-minus-square-o:before {\n  content: \"\\f147\";\n}\n.fa-level-up:before {\n  content: \"\\f148\";\n}\n.fa-level-down:before {\n  content: \"\\f149\";\n}\n.fa-check-square:before {\n  content: \"\\f14a\";\n}\n.fa-pencil-square:before {\n  content: \"\\f14b\";\n}\n.fa-external-link-square:before {\n  content: \"\\f14c\";\n}\n.fa-share-square:before {\n  content: \"\\f14d\";\n}\n.fa-compass:before {\n  content: \"\\f14e\";\n}\n.fa-toggle-down:before,\n.fa-caret-square-o-down:before {\n  content: \"\\f150\";\n}\n.fa-toggle-up:before,\n.fa-caret-square-o-up:before {\n  content: \"\\f151\";\n}\n.fa-toggle-right:before,\n.fa-caret-square-o-right:before {\n  content: \"\\f152\";\n}\n.fa-euro:before,\n.fa-eur:before {\n  content: \"\\f153\";\n}\n.fa-gbp:before {\n  content: \"\\f154\";\n}\n.fa-dollar:before,\n.fa-usd:before {\n  content: \"\\f155\";\n}\n.fa-rupee:before,\n.fa-inr:before {\n  content: \"\\f156\";\n}\n.fa-cny:before,\n.fa-rmb:before,\n.fa-yen:before,\n.fa-jpy:before {\n  content: \"\\f157\";\n}\n.fa-ruble:before,\n.fa-rouble:before,\n.fa-rub:before {\n  content: \"\\f158\";\n}\n.fa-won:before,\n.fa-krw:before {\n  content: \"\\f159\";\n}\n.fa-bitcoin:before,\n.fa-btc:before {\n  content: \"\\f15a\";\n}\n.fa-file:before {\n  content: \"\\f15b\";\n}\n.fa-file-text:before {\n  content: \"\\f15c\";\n}\n.fa-sort-alpha-asc:before {\n  content: \"\\f15d\";\n}\n.fa-sort-alpha-desc:before {\n  content: \"\\f15e\";\n}\n.fa-sort-amount-asc:before {\n  content: \"\\f160\";\n}\n.fa-sort-amount-desc:before {\n  content: \"\\f161\";\n}\n.fa-sort-numeric-asc:before {\n  content: \"\\f162\";\n}\n.fa-sort-numeric-desc:before {\n  content: \"\\f163\";\n}\n.fa-thumbs-up:before {\n  content: \"\\f164\";\n}\n.fa-thumbs-down:before {\n  content: \"\\f165\";\n}\n.fa-youtube-square:before {\n  content: \"\\f166\";\n}\n.fa-youtube:before {\n  content: \"\\f167\";\n}\n.fa-xing:before {\n  content: \"\\f168\";\n}\n.fa-xing-square:before {\n  content: \"\\f169\";\n}\n.fa-youtube-play:before {\n  content: \"\\f16a\";\n}\n.fa-dropbox:before {\n  content: \"\\f16b\";\n}\n.fa-stack-overflow:before {\n  content: \"\\f16c\";\n}\n.fa-instagram:before {\n  content: \"\\f16d\";\n}\n.fa-flickr:before {\n  content: \"\\f16e\";\n}\n.fa-adn:before {\n  content: \"\\f170\";\n}\n.fa-bitbucket:before {\n  content: \"\\f171\";\n}\n.fa-bitbucket-square:before {\n  content: \"\\f172\";\n}\n.fa-tumblr:before {\n  content: \"\\f173\";\n}\n.fa-tumblr-square:before {\n  content: \"\\f174\";\n}\n.fa-long-arrow-down:before {\n  content: \"\\f175\";\n}\n.fa-long-arrow-up:before {\n  content: \"\\f176\";\n}\n.fa-long-arrow-left:before {\n  content: \"\\f177\";\n}\n.fa-long-arrow-right:before {\n  content: \"\\f178\";\n}\n.fa-apple:before {\n  content: \"\\f179\";\n}\n.fa-windows:before {\n  content: \"\\f17a\";\n}\n.fa-android:before {\n  content: \"\\f17b\";\n}\n.fa-linux:before {\n  content: \"\\f17c\";\n}\n.fa-dribbble:before {\n  content: \"\\f17d\";\n}\n.fa-skype:before {\n  content: \"\\f17e\";\n}\n.fa-foursquare:before {\n  content: \"\\f180\";\n}\n.fa-trello:before {\n  content: \"\\f181\";\n}\n.fa-female:before {\n  content: \"\\f182\";\n}\n.fa-male:before {\n  content: \"\\f183\";\n}\n.fa-gittip:before {\n  content: \"\\f184\";\n}\n.fa-sun-o:before {\n  content: \"\\f185\";\n}\n.fa-moon-o:before {\n  content: \"\\f186\";\n}\n.fa-archive:before {\n  content: \"\\f187\";\n}\n.fa-bug:before {\n  content: \"\\f188\";\n}\n.fa-vk:before {\n  content: \"\\f189\";\n}\n.fa-weibo:before {\n  content: \"\\f18a\";\n}\n.fa-renren:before {\n  content: \"\\f18b\";\n}\n.fa-pagelines:before {\n  content: \"\\f18c\";\n}\n.fa-stack-exchange:before {\n  content: \"\\f18d\";\n}\n.fa-arrow-circle-o-right:before {\n  content: \"\\f18e\";\n}\n.fa-arrow-circle-o-left:before {\n  content: \"\\f190\";\n}\n.fa-toggle-left:before,\n.fa-caret-square-o-left:before {\n  content: \"\\f191\";\n}\n.fa-dot-circle-o:before {\n  content: \"\\f192\";\n}\n.fa-wheelchair:before {\n  content: \"\\f193\";\n}\n.fa-vimeo-square:before {\n  content: \"\\f194\";\n}\n.fa-turkish-lira:before,\n.fa-try:before {\n  content: \"\\f195\";\n}\n.fa-plus-square-o:before {\n  content: \"\\f196\";\n}\n@font-face {\n  font-family: 'Roboto';\n  src: url(\"Roboto.woff\") format(\"woff\");\n  font-weight: 400;\n  font-style: normal;\n}\n@font-face {\n  font-family: 'Roboto';\n  src: url(\"Roboto-Ita.woff\") format(\"woff\");\n  font-weight: 400;\n  font-style: italic;\n}\n@font-face {\n  font-family: 'Roboto';\n  src: url(\"Roboto-Medium.woff\") format(\"woff\");\n  font-weight: 600;\n  font-style: normal;\n}\n@font-face {\n  font-family: 'Roboto';\n  src: url(\"Roboto-MediumIta.woff\") format(\"woff\");\n  font-weight: 600;\n  font-style: italic;\n}\n@font-face {\n  font-family: 'Roboto';\n  src: url(\"Roboto-Bold.woff\") format(\"woff\");\n  font-weight: 700;\n  font-style: normal;\n}\n@font-face {\n  font-family: 'Roboto';\n  src: url(\"Roboto-BoldIta.woff\") format(\"woff\");\n  font-weight: 700;\n  font-style: italic;\n}\n@font-face {\n  font-family: 'Roboto';\n  src: url(\"Roboto-Light.woff\") format(\"woff\");\n  font-weight: 300;\n  font-style: normal;\n}\n@font-face {\n  font-family: 'Roboto';\n  src: url(\"Roboto-LightIta.woff\") format(\"woff\");\n  font-weight: 300;\n  font-style: italic;\n}\n@media (min-width: 1400px) {\n  .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12 {\n    float: left;\n  }\n  .col-xl-12 {\n    width: 100%;\n  }\n  .col-xl-11 {\n    width: 91.66666666666666%;\n  }\n  .col-xl-10 {\n    width: 83.33333333333334%;\n  }\n  .col-xl-9 {\n    width: 75%;\n  }\n  .col-xl-8 {\n    width: 66.66666666666666%;\n  }\n  .col-xl-7 {\n    width: 58.333333333333336%;\n  }\n  .col-xl-6 {\n    width: 50%;\n  }\n  .col-xl-5 {\n    width: 41.66666666666667%;\n  }\n  .col-xl-4 {\n    width: 33.33333333333333%;\n  }\n  .col-xl-3 {\n    width: 25%;\n  }\n  .col-xl-2 {\n    width: 16.666666666666664%;\n  }\n  .col-xl-1 {\n    width: 8.333333333333332%;\n  }\n  .col-xl-pull-12 {\n    right: 100%;\n  }\n  .col-xl-pull-11 {\n    right: 91.66666666666666%;\n  }\n  .col-xl-pull-10 {\n    right: 83.33333333333334%;\n  }\n  .col-xl-pull-9 {\n    right: 75%;\n  }\n  .col-xl-pull-8 {\n    right: 66.66666666666666%;\n  }\n  .col-xl-pull-7 {\n    right: 58.333333333333336%;\n  }\n  .col-xl-pull-6 {\n    right: 50%;\n  }\n  .col-xl-pull-5 {\n    right: 41.66666666666667%;\n  }\n  .col-xl-pull-4 {\n    right: 33.33333333333333%;\n  }\n  .col-xl-pull-3 {\n    right: 25%;\n  }\n  .col-xl-pull-2 {\n    right: 16.666666666666664%;\n  }\n  .col-xl-pull-1 {\n    right: 8.333333333333332%;\n  }\n  .col-xl-pull-0 {\n    right: 0%;\n  }\n  .col-xl-push-12 {\n    left: 100%;\n  }\n  .col-xl-push-11 {\n    left: 91.66666666666666%;\n  }\n  .col-xl-push-10 {\n    left: 83.33333333333334%;\n  }\n  .col-xl-push-9 {\n    left: 75%;\n  }\n  .col-xl-push-8 {\n    left: 66.66666666666666%;\n  }\n  .col-xl-push-7 {\n    left: 58.333333333333336%;\n  }\n  .col-xl-push-6 {\n    left: 50%;\n  }\n  .col-xl-push-5 {\n    left: 41.66666666666667%;\n  }\n  .col-xl-push-4 {\n    left: 33.33333333333333%;\n  }\n  .col-xl-push-3 {\n    left: 25%;\n  }\n  .col-xl-push-2 {\n    left: 16.666666666666664%;\n  }\n  .col-xl-push-1 {\n    left: 8.333333333333332%;\n  }\n  .col-xl-push-0 {\n    left: 0%;\n  }\n  .col-xl-offset-12 {\n    margin-left: 100%;\n  }\n  .col-xl-offset-11 {\n    margin-left: 91.66666666666666%;\n  }\n  .col-xl-offset-10 {\n    margin-left: 83.33333333333334%;\n  }\n  .col-xl-offset-9 {\n    margin-left: 75%;\n  }\n  .col-xl-offset-8 {\n    margin-left: 66.66666666666666%;\n  }\n  .col-xl-offset-7 {\n    margin-left: 58.333333333333336%;\n  }\n  .col-xl-offset-6 {\n    margin-left: 50%;\n  }\n  .col-xl-offset-5 {\n    margin-left: 41.66666666666667%;\n  }\n  .col-xl-offset-4 {\n    margin-left: 33.33333333333333%;\n  }\n  .col-xl-offset-3 {\n    margin-left: 25%;\n  }\n  .col-xl-offset-2 {\n    margin-left: 16.666666666666664%;\n  }\n  .col-xl-offset-1 {\n    margin-left: 8.333333333333332%;\n  }\n  .col-xl-offset-0 {\n    margin-left: 0%;\n  }\n}\n@media (min-width: 1400px) {\n  .container {\n    width: container-extra-large-desktop;\n  }\n}\n@media (min-width: 992px) {\n  .col-md-4 {\n    width: 33.3%;\n  }\n}\n@media (min-width: 1200px) {\n  .col-lg-4 {\n    width: 33.3%;\n  }\n}\n@media (min-width: 1400px) {\n  .col-xl-4 {\n    width: 33.3%;\n  }\n}\n.navbar {\n  min-height: 50px;\n  margin-bottom: 0;\n}\n@media (max-width: 1199px) {\n  .navbar {\n    margin-bottom: 0;\n  }\n}\n.navbar .navbar-header {\n  white-space: nowrap;\n}\n.navbar .nav-uppercase {\n  text-transform: uppercase;\n}\n.navbar .login-nav {\n  text-transform: none;\n}\n.navbar .divider-nav {\n  background-color: #303030;\n  width: 1px;\n  height: 30px;\n  margin-left: 20px;\n  display: inline-block;\n  vertical-align: middle;\n}\n.navbar .navbar-brand {\n  padding: 13px 10px;\n  margin: 0;\n}\n.navbar .navbar-brand .divider-nav {\n  margin-left: 30px;\n}\n.navbar .gw-download {\n  color: #76b900 !important;\n}\n.navbar .gw-sub-navbar > li > a {\n  padding: 17px 32px 9px 0;\n}\n@media (min-width: 992px) {\n  .navbar-nav > li > a {\n    padding-top: 17px;\n    padding-bottom: 9px;\n  }\n}\n.container > .navbar-header,\n.container > .navbar-collapse {\n  margin-left: 0;\n  margin-right: 0;\n}\n@media (min-width: 991px) {\n  #search-top {\n    position: relative;\n  }\n  #search-top a {\n    padding-left: 0;\n    padding-right: 10px;\n    position: relative;\n    z-index: 3;\n  }\n  #search-top a:hover {\n    color: #77b820;\n  }\n  #search-top .search-form {\n    position: absolute;\n    top: 7px;\n    right: 0;\n    z-index: 2;\n  }\n  #search-top .search-form input {\n    display: none;\n    width: 300px;\n    height: 36px !important;\n    line-height: 38px;\n    border: 0;\n    outline: 0;\n    padding: 0 40px 0 12px;\n    border-radius: 3px;\n    background: #fff;\n    -webkit-box-sizing: border-box;\n    -moz-box-sizing: border-box;\n    box-sizing: border-box;\n  }\n}\n.nvidia-dropdown {\n  position: relative;\n}\n.nvidia-dropdown-menu {\n  left: auto;\n  float: right;\n  right: -59px;\n  background: #000000;\n  border: 1px solid #cccccc;\n  border: 1px solid #404040;\n}\n.nvidia-dropdown-menu.drop-gw {\n  right: -59px;\n}\n.nvidia-dropdown-menu.drop-sub-gw {\n  right: -43px;\n  background-color: #242424;\n}\n.nvidia-dropdown-menu.drop-sub-gw:after {\n  border-bottom: 9px solid #242424;\n  top: -7px;\n}\n.nvidia-dropdown-menu.pull-right {\n  right: 0;\n  left: auto;\n}\n.nvidia-dropdown-menu .divider {\n  height: 1px;\n  margin: 11px 0;\n  overflow: hidden;\n  background-color: transparent;\n}\n.nvidia-dropdown-menu > li {\n  font-size: 0.9em;\n}\n.nvidia-dropdown-menu > li > a {\n  display: block;\n  padding: 7px 20px;\n  clear: both;\n  font-weight: normal;\n  line-height: 1.5;\n  color: #cacaca;\n  white-space: nowrap;\n}\n@media (min-width: 991px) {\n  .nvidia-dropdown-menu:before,\n  .nvidia-dropdown-menu:after {\n    content: '';\n    position: absolute;\n    left: 50%;\n    border-left: 9px solid transparent;\n    border-right: 9px solid transparent;\n    margin: 0 0 0 -7px;\n  }\n  .nvidia-dropdown-menu:before {\n    border-bottom: 9px solid #404040;\n    top: -9px;\n  }\n  .nvidia-dropdown-menu:after {\n    border-bottom: 9px solid #000000;\n    top: -7px;\n  }\n}\n@media (max-width: 991px) {\n  .nvidia-dropdown-menu:before,\n  .nvidia-dropdown-menu:after {\n    display: none;\n  }\n}\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n  text-decoration: none;\n  color: #ffffff;\n  background-color: transparent;\n}\n@media (max-width: 768px) {\n  .navbar .navbar-header {\n    text-align: left !important;\n  }\n  .navbar .navbar-header .logo-header {\n    display: block !important;\n    margin: 0 !important;\n  }\n  .navbar .navbar-brand {\n    float: none;\n    display: block;\n  }\n}\n.second-navbar {\n  background-color: #242424;\n  border-color: transparent;\n  margin-bottom: 0;\n}\nbody {\n  background-color: #1a1a1a;\n}\n#wrapper {\n  background-color: #fcfcfc;\n}\n.container-fluid {\n  margin-left: 10px;\n  margin-right: 10px;\n}\n.masthead {\n  background-color: #373737;\n  background-size: cover;\n  background-position: center 0;\n  background-repeat: no-repeat;\n  height: 50px\n  text-overflow: ellipsis;\n  overflow: hidden;\n  white-space: nowrap;\n}\n.masthead .container {\n  padding: 0;\n}\n.masthead .masthead-content {\n  padding: 30px 10px 20px 10px;\n}\n.masthead .masthead-content h1 {\n  font-size: 24px;\n  color: #76b900;\n  padding: 0;\n  margin: 0;\n  text-transform: uppercase;\n  font-weight: normal;\n}\n.masthead .masthead-content p {\n  font-size: 1.2em;\n  color: #cacaca;\n  font-weight: normal;\n  padding-top: 10px;\n}\n.masthead-sub-page {\n  background-color: white;\n}\n.masthead-sub-page h1 {\n  margin-top: 12px;\n}\n.section-header {\n  padding-bottom: 5px;\n  margin: 24px 0 24px 0;\n  border-bottom: 1px solid #efefef;\n}\n.section-header h4 {\n  color: #004831;\n  text-transform: capitalize;\n  font-size: 19px;\n}\n.section-header a {\n  float: right;\n  padding-top: 4px;\n  font-size: 14px;\n  text-transform: capitalize;\n  color: #999999;\n}\n.section-header a:hover,\n.section-header a:focus {\n  text-decoration: underline;\n}\n.newsletter-registration h5 {\n  margin-top: 0;\n}\n.newsletter-registration .input-group .input-group-addon {\n  background-color: white;\n  border-style: solid none solid solid;\n  border-width: 1px 0 1px 1px;\n  border-right: 0;\n}\n.newsletter-registration .input-group .form-control {\n  background-color: white;\n  border-style: solid none solid none;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n  -webkit-appearance: none;\n  border-width: 1px 0 1px 0;\n  height: 38px;\n  padding-left: 0;\n}\n.newsletter-registration .input-group .form-control:focus {\n  border-color: #ccc;\n}\n.node {\n  padding-bottom: 1em;\n}\na.node-thumbnail {\n  position: relative;\n  display: block;\n  margin-bottom: 1em;\n}\na.node-thumbnail img {\n  width: 100%;\n  height: auto;\n  border: 1px solid;\n  border-color: #999999;\n  display: inline;\n}\na.node-thumbnail img.no-border {\n  border: none;\n}\na.node-thumbnail .node-overlay {\n  position: absolute;\n  width: 100%;\n  height: 100%;\n  background-color: rgba(0, 0, 0, 0);\n  -webkit-transition: background-color 0.5s ease-in-out;\n  transition: background-color 0.5s ease-in-out;\n}\na.node-thumbnail .node-overlay .node-cta {\n  color: rgba(255, 255, 255, 0);\n  -webkit-transition: color 0.5s ease-in-out;\n  transition: color 0.5s ease-in-out;\n  text-align: center;\n  margin: auto;\n  position: absolute;\n  height: 24px;\n  top: 0;\n  left: 0;\n  bottom: 0;\n  right: 0;\n}\na.node-thumbnail .node-overlay .node-cta i {\n  color: rgba(118, 185, 0, 0);\n  -webkit-transition: color 0.5s ease-in-out;\n  transition: color 0.5s ease-in-out;\n  font-size: 0.9em;\n}\na.node-thumbnail:hover .node-overlay {\n  background-color: rgba(0, 0, 0, 0.65);\n  -webkit-transition: background-color 0.5s ease-in-out;\n  transition: background-color 0.5s ease-in-out;\n}\na.node-thumbnail:hover .node-overlay .node-cta {\n  color: #ffffff;\n  -webkit-transition: color 0.5s ease-in-out;\n  transition: color 0.5s ease-in-out;\n}\na.node-thumbnail:hover .node-overlay .node-cta i {\n  color: #76b900;\n  -webkit-transition: color 0.5s ease-in-out;\n  transition: color 0.5s ease-in-out;\n}\n.node-description .node-date {\n  color: #999999;\n  padding-bottom: 5px;\n  font-size: 0.8em;\n  font-weight: 600;\n}\n.node-description a.node-title {\n  display: block;\n  font-size: 1.1em;\n  font-weight: 600;\n  line-height: 1.25em;\n  color: #004831;\n  padding-bottom: 0.4em;\n}\n.node-description a.node-title:hover,\n.node-description a.node-title:focus {\n  text-decoration: underline;\n}\n.node-description p {\n  font-size: 0.8em;\n  color: #999999;\n}\n.icon-description {\n  padding-bottom: 12px;\n  -webkit-box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  box-sizing: border-box;\n}\n.icon-description .icon {\n  color: white;\n  background-color: #76b900;\n  float: left;\n  width: 90px;\n  height: 90px;\n  text-align: center;\n  font-size: 3em;\n  line-height: 97px;\n}\n.icon-description .icon.icon-cogs {\n  line-height: 103px;\n}\n.icon-description .icon.icon-book {\n  line-height: 100px;\n}\n.icon-description .icon.icon-download {\n  line-height: 100px;\n}\n.icon-description .description {\n  margin-left: 100px;\n}\n.icon-description .description h2 {\n  font-size: 1.3em;\n  margin: 0;\n  padding-bottom: 5px;\n}\n.icon-description .description > h2 > a {\n  font-size: 1em;\n  margin: 0;\n  padding-bottom: 5px;\n  color: #004831;\n}\n.icon-description .description > h2 > a:hover,\n.icon-description .description > h2 > a:focus {\n  text-decoration: underline;\n}\n.icon-description .description > p > a {\n  font-size: 1em;\n  color: #76b900;\n}\n.icon-description .description > p > a:hover,\n.icon-description .description > p > a:focus {\n  text-decoration: underline;\n}\n.icon-description .description p {\n  font-size: 0.9em;\n  text-transform: none;\n  margin-bottom: 10px;\n}\n.product > h4 > a {\n  color: #004831;\n}\n.feature_items .feature_item {\n  padding-bottom: 1em;\n}\n.feature_items .feature_item .feature_image {\n  padding-bottom: 1em;\n}\n.feature_items .feature_item .feature_image img {\n  width: 100%;\n}\n.feature_items .feature_item .feature_image .feature_icon {\n  padding: 20px 0 20px 0;\n  background-color: #76b900;\n  text-align: center;\n  font-size: 4em;\n  line-height: 1em;\n}\n.feature_items .feature_item .feature_description h2 {\n  margin: 0;\n  font-size: 1.5em;\n}\n.twitter img {\n  float: right;\n}\n.twitter #twitter-feeds {\n  border: 1px solid #E1E3E4;\n  border-radius: 3px;\n  width: 100%;\n  padding: 8px 8px 0 8px;\n  margin-top: 10px;\n}\n.twitter #twitter-feeds.twt-cuda {\n  height: 340px;\n}\n.twitter #twitter-feeds.twt-gameworks {\n  height: 276px;\n}\n.twitter #twitter-feeds #overflow {\n  width: 100%;\n  overflow-y: auto;\n  height: 100%;\n}\n.twitter #twitter-feeds .twt_description {\n  padding: 10px 0 10px;\n  border-bottom: 1px solid #E1E3E4;\n}\n.twitter #twitter-feeds .twt_description .twt-thumbnails {\n  float: left;\n  width: 70px;\n  height: 70px;\n}\n.twitter #twitter-feeds .twt_description a {\n  font-size: 0.7em;\n  color: #999999;\n}\n.twitter #twitter-feeds .twt_description a:hover,\n.twitter #twitter-feeds .twt_description a:focus {\n  text-decoration: underline;\n}\n.twitter #twitter-feeds .twt_description .tweet {\n  margin-left: 85px;\n}\n.twitter #twitter-feeds .twt_description .tweet h2 {\n  color: #333333;\n  font-size: 1em;\n  margin: 0;\n  padding: 0;\n}\n.twitter #twitter-feeds .twt_description .tweet h6 {\n  color: #999999;\n  font-size: 0.7em;\n  margin: 0;\n  padding: 0;\n}\n.twitter #twitter-feeds .twt_description .tweet p {\n  padding-top: 5px;\n  font-size: 0.8em;\n  text-transform: none;\n}\n.twitter #twitter-feeds .twt_description .tweet p > a {\n  font-size: 1em;\n  color: #76b900;\n}\n.twitter #twitter-feeds .twt_description .tweet p > a:hover,\n.twitter #twitter-feeds .twt_description .tweet p > a:focus {\n  text-decoration: underline;\n}\n.homepage .home-masthead .masthead-content h1 {\n  color: #76b900;\n  text-transform: uppercase;\n  font-size: 32px;\n  line-height: 1.2em;\n}\n.homepage .home-masthead .masthead-content p {\n  color: #cacaca;\n  font-size: 18px;\n}\n.homepage .home-zones-container {\n  padding: 40px 15px 30px;\n  background-color: #efefef;\n}\n.homepage .dev-zone-box {\n  background-color: black;\n  position: relative;\n  background-repeat: no-repeat;\n  background-size: cover;\n  background-position: center center;\n  margin-bottom: 1em;\n}\n.homepage .dev-zone-box.even {\n  background-color: #333;\n}\n.homepage .dev-zone-box .box {\n  height: 250px;\n  width: 100%;\n}\n.homepage .dev-zone-box a {\n  display: block;\n  padding: 20px;\n  width: 100%;\n  height: 100%;\n  position: relative;\n  -webkit-transition: all 0.5s ease-in-out;\n  transition: all 0.5s ease-in-out;\n  -webkit-box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  box-sizing: border-box;\n}\n.homepage .dev-zone-box a .dev-zone-box-content {\n  position: absolute;\n  top: 20px;\n  margin-right: 20px;\n  -webkit-transition: all 0.5s ease-in-out;\n  transition: all 0.5s ease-in-out;\n}\n.homepage .dev-zone-box a .dev-zone-box-content h2 {\n  margin: 0;\n  color: #76b900;\n  font-size: 24px;\n  text-transform: uppercase;\n  -webkit-transition: all 0.5s ease-in-out;\n  transition: all 0.5s ease-in-out;\n}\n.homepage .dev-zone-box a .dev-zone-box-content p {\n  font-size: 16px;\n  color: #cacaca;\n  -webkit-transition: all 0.5s ease-in-out;\n  transition: all 0.5s ease-in-out;\n}\n.homepage .dev-zone-box a:hover {\n  text-decoration: underline;\n  background-color: #76b900;\n  -webkit-transition: all 0.5s ease-in-out;\n  transition: all 0.5s ease-in-out;\n}\n.homepage .dev-zone-box a:hover .dev-zone-box-content {\n  -webkit-transition: all 0.5s ease-in-out;\n  transition: all 0.5s ease-in-out;\n}\n.homepage .dev-zone-box a:hover .dev-zone-box-content h2,\n.homepage .dev-zone-box a:hover .dev-zone-box-content p {\n  color: white;\n}\n.content .page-header {\n  margin-top: 0;\n}\n.content .page-header h1,\n.content .page-header h2,\n.content .page-header h3 {\n  margin-top: 0;\n}\n.content-sidebar .panel-heading {\n  text-transform: uppercase;\n  font-weight: bold;\n}\n.btn-dark-icon > i.fa {\n  font-size: 1em;\n  color: #004831;\n}\n.seperator,\n.separator {\n  height: 20px;\n}\n.seperator-sm,\n.separator-sm {\n  height: 10px;\n}\n.padding-left {\n  padding-left: 0px;\n}\n.padding-md {\n  padding: 20px;\n}\n.padding-md-right {\n  padding-right: 20px;\n}\n.padding-md-left {\n  padding-left: 20px;\n}\n.padding-md-bottom {\n  padding-bottom: 20px;\n}\n.padding-md-top {\n  padding-top: 20px;\n}\n.padding-sm {\n  padding: 10px;\n}\n.padding-sm-right {\n  padding-right: 10px;\n}\n.padding-sm-left {\n  padding-left: 10px;\n}\n.padding-sm-bottom {\n  padding-bottom: 10px;\n}\n.padding-sm-top {\n  padding-top: 10px;\n}\n.padding-md-footer {\n  padding: 20px 20px 20px 0;\n}\n.padding-section-footer {\n  padding-right: 0px;\n}\n.padding-sub-footer {\n  padding: 20px 20px 20px 0px;\n}\n.gray-lighter-background {\n  background-color: #efefef;\n}\n.gray-darker-background {\n  background-color: #373737;\n}\n.white-background {\n  background-color: white;\n}\n.vertical-align-middle {\n  vertical-align: middle !important;\n}\n.text-white {\n  color: white;\n}\n.text-green {\n  color: #76b900;\n}\n@media (max-width: 991px) {\n  .navbar-toggle {\n    float: left;\n  }\n}\n.sidr {\n  display: none;\n  position: absolute;\n  position: fixed;\n  top: 0;\n  height: 100%;\n  z-index: 999999;\n  width: 260px;\n  overflow-x: none;\n  overflow-y: auto;\n  background-color: #3c3c3d;\n  color: white;\n}\n.sidr.right {\n  left: auto;\n  right: -260px;\n}\n.sidr.left {\n  left: -260px;\n  right: auto;\n}\n.sidr ul {\n  display: block;\n  margin: 0;\n  padding: 0;\n}\n.sidr ul li {\n  display: block;\n  margin: 0;\n  line-height: 40px;\n  padding: 0 15px;\n}\n.sidr ul li.menu-title {\n  color: white;\n  border-bottom: 1px solid #262626;\n  text-transform: uppercase;\n  padding-top: 7px;\n  padding-bottom: 3px;\n}\n.sidr ul li a {\n  display: block;\n  text-decoration: none;\n  color: #999999;\n  padding: 10px 0;\n}\n.sidr ul li a:hover,\n.sidr ul li a:active,\n.sidr ul li a:focus {\n  color: white;\n  background: none;\n}\n.sidr ul li a .caret {\n  display: inline-block;\n  font-family: FontAwesome;\n  font-style: normal;\n  font-weight: normal;\n  line-height: 1;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  width: auto;\n  height: auto;\n  border: none;\n  margin-left: 5px;\n  vertical-align: baseline;\n}\n.sidr ul li a .caret:before {\n  content: \"\\f105\";\n}\n.sidr ul li.dropdown .dropdown-menu {\n  display: none;\n}\n.sidr ul li.open > a {\n  background: none;\n}\n.sidr ul li.open > a:hover,\n.sidr ul li.open > a:active,\n.sidr ul li.open > a:focus {\n  background: none;\n}\n.sidr ul li.open > a .caret:before {\n  content: \"\\f107\";\n}\n.sidr ul li.open.dropdown .dropdown-menu {\n  display: block;\n}\n.sidr ul li.open .dropdown-menu > li > a {\n  padding: 5px 15px 5px 0;\n}\n.sidr ul li .search-form {\n  padding-top: 10px;\n  padding-bottom: 10px;\n}\n.sidr ul li .search-form .container-inline div {\n  display: block;\n  margin-top: 0;\n  margin-bottom: 0;\n}\n.sidr ul li .search-form .input {\n  position: relative;\n}\n.sidr ul li .search-form .input .fa {\n  position: absolute;\n  top: 8px;\n  right: 12px;\n  font-size: 18px;\n  color: #3c3c3d;\n}\n.sidr ul li .search-form .input input {\n  width: 100%;\n  padding: 7px 14px 5px 14px;\n  line-height: 1.5em;\n  background-color: #f0f0f0;\n  border: 0;\n  color: #3c3c3d;\n  border-radius: 3px;\n  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2) inset;\n  -webkit-box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  box-sizing: border-box;\n}\nfooter {\n  border-top: 3px solid #76b900;\n}\nfooter .footer-links {\n  background-color: #222222;\n}\n@media (max-width: 768px) {\n  footer .footer-links .zone-select {\n    text-align: left;\n  }\n}\n@media (min-width: 1200px) {\n  footer .footer-links .zone-select {\n    text-align: right;\n  }\n}\nfooter .footer-links a {\n  color: #6e6e6e;\n}\n\nfooter .footer-links a:hover h6,\nfooter .footer-links a:active h6,\nfooter .footer-links a:hover,\nfooter .footer-links a:active {\n  color: #FFFFFF;\n  text-decoration: none;\n}\nfooter .footer-links h5 {\n  margin: 0 0 19px;\n  padding: 0 0 0.5em 0;\n  text-transform: uppercase;\n  color: #707070;\n}\nfooter .footer-links h6 {\n  margin: 0;\n  padding: 0 0 0.5em 0;\n  font-weight: normal;\n  text-transform: uppercase;\n  color: #707070;\n}\nfooter .footer-links ul {\n  margin: 0;\n  padding: 0;\n}\nfooter .footer-links ul li {\n  font-weight: lighter;\n  font-size: 0.8em;\n  list-style: none;\n  margin: 0;\n  padding: 0 0 5px;\n}\nfooter .footer-links .logo-footer {\n  height: 26px;\n  width: 195px;\n  background-image: url(\"../images/nvidia-logo-footer.png\");\n  padding-bottom: 10px;\n  background-repeat: no-repeat;\n  vertical-align: middle;\n  border: 0 none;\n}\nfooter .footer-links .logo-footer ul {\n  margin: 0;\n  padding: 40px 0 0;\n}\nfooter .footer-boilerplate {\n  background-color: #1a1a1a;\n}\nfooter .footer-boilerplate.footer-home {\n  padding: 5px 0 5px;\n}\nfooter .footer-boilerplate .boilerplate {\n  text-align: left;\n  font-size: 0.8em;\n  color: #666666;\n  padding: 10px 0;\n}\nfooter .footer-boilerplate .boilerplate .footer-brand {\n  margin: -2px 40px 20px 0px;\n}\nfooter .footer-boilerplate .boilerplate a {\n  font-size: 0.9em;\n  text-transform: none;\n  color: #666666;\n  text-decoration: none;\n}\nfooter .footer-boilerplate .boilerplate a:hover,\nfooter .footer-boilerplate .boilerplate a:focus {\n  color: #FFFFFF;\n  text-decoration: none;\n}\n.label {\n  padding: .5em .6em .3em;\n}\nlabel {\n  font-weight: normal;\n}\n:focus {\n  outline-color: transparent;\n  outline-style: none;\n}\n.btn {\n  padding-top: 9.575999999999999px;\n  padding-bottom: 7.199999999999999px;\n  line-height: 1.2em;\n}\n.btn-lg {\n  padding-top: 12.768px;\n  padding-bottom: 9.6px;\n}\n.btn-sm {\n  padding-top: 7.98px;\n  padding-bottom: 6px;\n}\n.btn-xs {\n  padding-top: 6.384px;\n  padding-bottom: 4.8px;\n}\n.lead {\n  font-size: 18px;\n}\n@media (min-width: 768px) {\n  .lead {\n    font-size: 20px;\n  }\n}\n.breadcrumb {\n  background-color: transparent;\n  padding: 0;\n  font-size: 14px;\n}\n.block ul {\n  margin: 0;\n  padding: 0;\n}\n.panel-success {\n  border-color: #76b900;\n}\n.panel-success > .panel-heading {\n  color: #ffffff;\n  background-color: #76b900;\n  border-color: #76b900;\n}\n.panel-success > .panel-heading + .panel-collapse .panel-body {\n  border-top-color: #76b900;\n}\n.panel-success > .panel-footer + .panel-collapse .panel-body {\n  border-bottom-color: #76b900;\n}\n.panel-success .panel-heading a {\n  color: white;\n}\n/* \n * \tCore Owl Carousel CSS File\n *\tv1.3.2\n */\n/* clearfix */\n.owl-carousel .owl-wrapper:after {\n  content: \".\";\n  display: block;\n  clear: both;\n  visibility: hidden;\n  line-height: 0;\n  height: 0;\n}\n/* display none until init */\n.owl-carousel {\n  display: none;\n  position: relative;\n  width: 100%;\n  -ms-touch-action: pan-y;\n}\n.owl-carousel .owl-wrapper {\n  display: none;\n  position: relative;\n  -webkit-transform: translate3d(0px, 0px, 0px);\n}\n.owl-carousel .owl-wrapper-outer {\n  overflow: hidden;\n  position: relative;\n  width: 100%;\n}\n.owl-carousel .owl-wrapper-outer.autoHeight {\n  -webkit-transition: height 500ms ease-in-out;\n  -moz-transition: height 500ms ease-in-out;\n  -ms-transition: height 500ms ease-in-out;\n  -o-transition: height 500ms ease-in-out;\n  transition: height 500ms ease-in-out;\n}\n.owl-carousel .owl-item {\n  float: left;\n}\n.owl-controls .owl-page,\n.owl-controls .owl-buttons div {\n  cursor: pointer;\n}\n.owl-controls {\n  -webkit-user-select: none;\n  -khtml-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n/* mouse grab icon */\n.grabbing {\n  cursor: url(grabbing.png) 8 8, move;\n}\n/* fix */\n.owl-carousel .owl-wrapper,\n.owl-carousel .owl-item {\n  -webkit-backface-visibility: hidden;\n  -moz-backface-visibility: hidden;\n  -ms-backface-visibility: hidden;\n  -webkit-transform: translate3d(0, 0, 0);\n  -moz-transform: translate3d(0, 0, 0);\n  -ms-transform: translate3d(0, 0, 0);\n}\n/*\n* \tOwl Carousel Owl Demo Theme \n*\tv1.3.2\n*/\n.owl-theme .owl-controls {\n  margin-top: 10px;\n  text-align: center;\n}\n/* Styling Next and Prev buttons */\n.owl-theme .owl-controls .owl-buttons div {\n  color: #FFF;\n  display: inline-block;\n  zoom: 1;\n  *display: inline;\n  /*IE7 life-saver */\n  margin: 5px;\n  padding: 3px 10px;\n  font-size: 12px;\n  -webkit-border-radius: 30px;\n  -moz-border-radius: 30px;\n  border-radius: 30px;\n  background: #869791;\n  filter: alpha(opacity=50);\n  /*IE7 fix*/\n  opacity: 0.5;\n}\n/* Clickable class fix problem with hover on touch devices */\n/* Use it for non-touch hover action */\n.owl-theme .owl-controls.clickable .owl-buttons div:hover {\n  filter: alpha(opacity=100);\n  /*IE7 fix*/\n  opacity: 1;\n  text-decoration: none;\n}\n/* Styling Pagination*/\n.owl-theme .owl-controls .owl-page {\n  display: inline-block;\n  zoom: 1;\n  *display: inline;\n  /*IE7 life-saver */\n}\n.owl-theme .owl-controls .owl-page span {\n  display: block;\n  width: 12px;\n  height: 12px;\n  margin: 5px 7px;\n  filter: alpha(opacity=50);\n  /*IE7 fix*/\n  opacity: 0.5;\n  -webkit-border-radius: 20px;\n  -moz-border-radius: 20px;\n  border-radius: 20px;\n  background: #869791;\n}\n.owl-theme .owl-controls .owl-page.active span,\n.owl-theme .owl-controls.clickable .owl-page:hover span {\n  filter: alpha(opacity=100);\n  /*IE7 fix*/\n  opacity: 1;\n}\n/* If PaginationNumbers is true */\n.owl-theme .owl-controls .owl-page span.owl-numbers {\n  height: auto;\n  width: auto;\n  color: #FFF;\n  padding: 2px 10px;\n  font-size: 12px;\n  -webkit-border-radius: 30px;\n  -moz-border-radius: 30px;\n  border-radius: 30px;\n}\n/* preloading images */\n.owl-item.loading {\n  min-height: 150px;\n  background: url(AjaxLoader.gif) no-repeat center center;\n}\n.carousel-container {\n  color: #fff;\n}\n.carousel-container #masthead-text {\n  padding-bottom: 1em;\n}\n.carousel-container h1,\n.carousel-container h2,\n.carousel-container h3,\n.carousel-container h4,\n.carousel-container h5,\n.carousel-container h6 {\n  padding-top: 0;\n  margin-top: 0;\n}\n.carousel-container h2 {\n  color: #80bd01;\n}\n.carousel-container h3 {\n  color: #76b900;\n  text-transform: uppercase;\n  font-size: 22px;\n}\n.carousel-container .fa {\n  vertical-align: top;\n  margin: 2px 0 0 4px;\n}\n.owl-carousel .item {\n  position: relative;\n  background-repeat: no-repeat;\n  background-position: right 0px center;\n  padding-left: 10px;\n  padding-right: 10px;\n  min-height: 200px;\n}\n.owl-carousel .item .row,\n.owl-carousel .item .carousel-text {\n  padding-top: 1em;\n  padding-bottom: 1em;\n  position: relative;\n  z-index: 3;\n}\n.owl-carousel .item .item-background {\n  width: 100%;\n  height: 100%;\n  position: absolute;\n  top: 0;\n  left: 0;\n  background-repeat: no-repeat;\n  background-position: right 0px top;\n  background-size: cover;\n}\n@media (max-width: 767px) {\n  .owl-carousel .item .item-background {\n    opacity: 0.1;\n  }\n}\n@media (max-width: 991px) {\n  .owl-carousel .item .item-background {\n    opacity: 0.3;\n  }\n}\n.owl-carousel .owl-controls {\n  margin: 0;\n  position: absolute;\n  top: 0;\n  left: 0;\n  width: 100%;\n  z-index: 2;\n}\n.owl-carousel .owl-controls .owl-buttons .owl-prev,\n.owl-carousel .owl-controls .owl-buttons .owl-next {\n  height: 43px;\n  line-height: 43px;\n  font-size: 43px;\n  z-index: 3;\n  position: absolute;\n  padding: 0;\n  margin: 0;\n  background: transparent;\n  color: #CECECE;\n  border-radius: 0;\n}\n.owl-carousel .owl-controls .owl-buttons .owl-prev {\n  left: 0;\n}\n.owl-carousel .owl-controls .owl-buttons .owl-next {\n  right: 4px;\n}\n.owl-carousel .owl-controls .owl-buttons .fa {\n  vertical-align: top;\n}\n#colorbox,\n#cboxOverlay,\n#cboxWrapper {\n  position: absolute;\n  top: 0;\n  left: 0;\n  z-index: 9999;\n  overflow: hidden;\n}\n#cboxWrapper {\n  max-width: none;\n}\n#cboxOverlay {\n  position: fixed;\n  width: 100%;\n  height: 100%;\n}\n#cboxMiddleLeft,\n#cboxBottomLeft {\n  clear: left;\n}\n#cboxContent {\n  position: relative;\n}\n#cboxLoadedContent {\n  overflow: auto;\n  -webkit-overflow-scrolling: touch;\n}\n#cboxTitle {\n  margin: 0;\n}\n#cboxLoadingOverlay,\n#cboxLoadingGraphic {\n  position: absolute;\n  top: 0;\n  left: 0;\n  width: 100%;\n  height: 100%;\n}\n#cboxPrevious,\n#cboxNext,\n#cboxClose,\n#cboxSlideshow {\n  cursor: pointer;\n}\n.cboxPhoto {\n  float: left;\n  margin: auto;\n  border: 0;\n  display: block;\n  max-width: none;\n  -ms-interpolation-mode: bicubic;\n}\n.cboxIframe {\n  width: 100%;\n  height: 100%;\n  display: block;\n  border: 0;\n}\n#colorbox,\n#cboxContent,\n#cboxLoadedContent {\n  box-sizing: content-box;\n  -moz-box-sizing: content-box;\n  -webkit-box-sizing: content-box;\n}\n#cboxOverlay {\n  background: #000;\n}\n#colorbox {\n  outline: 0;\n}\n#cboxContent {\n  margin-top: 20px;\n  background: #000;\n}\n.cboxIframe {\n  background: #fff;\n}\n#cboxError {\n  padding: 50px;\n  border: 1px solid #ccc;\n}\n#cboxLoadedContent {\n  border: 5px solid #000;\n  background: #fff;\n}\n#cboxTitle {\n  position: absolute;\n  top: -20px;\n  left: 0;\n  color: #ccc;\n}\n#cboxCurrent {\n  position: absolute;\n  top: -20px;\n  right: 0px;\n  color: #ccc;\n}\n#cboxLoadingGraphic {\n  background: url(/images/colorbox/loading.gif) no-repeat center center;\n}\n/* these elements are buttons, and may need to have additional styles reset to avoid unwanted base styles */\n#cboxPrevious,\n#cboxNext,\n#cboxSlideshow,\n#cboxClose {\n  border: 0;\n  padding: 0;\n  margin: 0;\n  overflow: visible;\n  width: auto;\n  background: none;\n}\n/* avoid outlines on :active (mouseclick), but preserve outlines on :focus (tabbed navigating) */\n#cboxPrevious:active,\n#cboxNext:active,\n#cboxSlideshow:active,\n#cboxClose:active {\n  outline: 0;\n}\n#cboxSlideshow {\n  position: absolute;\n  top: -20px;\n  right: 90px;\n  color: #fff;\n}\n#cboxPrevious {\n  position: absolute;\n  top: 50%;\n  left: 5px;\n  margin-top: -32px;\n  background: url(/images/colorbox/controls.png) no-repeat top left;\n  width: 28px;\n  height: 65px;\n  text-indent: -9999px;\n}\n#cboxPrevious:hover {\n  background-position: bottom left;\n}\n#cboxNext {\n  position: absolute;\n  top: 50%;\n  right: 5px;\n  margin-top: -32px;\n  background: url(/images/colorbox/controls.png) no-repeat top right;\n  width: 28px;\n  height: 65px;\n  text-indent: -9999px;\n}\n#cboxNext:hover {\n  background-position: bottom right;\n}\n#cboxClose {\n  position: absolute;\n  top: 5px;\n  right: 5px;\n  display: block;\n  background: url(/images/colorbox/controls.png) no-repeat top center;\n  width: 38px;\n  height: 19px;\n  text-indent: -9999px;\n}\n#cboxClose:hover {\n  background-position: bottom center;\n}\n/* Pretty printing styles. Used with prettify.js. */\n/* SPAN elements with the classes below are added by prettyprint. */\n.pln {\n  color: #000;\n}\n/* plain text */\n@media screen {\n  .str {\n    color: #080;\n  }\n  /* string content */\n  .kwd {\n    color: #008;\n  }\n  /* a keyword */\n  .com {\n    color: #800;\n  }\n  /* a comment */\n  .typ {\n    color: #606;\n  }\n  /* a type name */\n  .lit {\n    color: #066;\n  }\n  /* a literal value */\n  /* punctuation, lisp open bracket, lisp close bracket */\n  .pun,\n  .opn,\n  .clo {\n    color: #660;\n  }\n  .tag {\n    color: #008;\n  }\n  /* a markup tag name */\n  .atn {\n    color: #606;\n  }\n  /* a markup attribute name */\n  .atv {\n    color: #080;\n  }\n  /* a markup attribute value */\n  .dec,\n  .var {\n    color: #606;\n  }\n  /* a declaration; a variable name */\n  .fun {\n    color: red;\n  }\n  /* a function name */\n}\n/* Use higher contrast and text-weight for printable form. */\n@media print, projection {\n  .str {\n    color: #060;\n  }\n  .kwd {\n    color: #006;\n    font-weight: bold;\n  }\n  .com {\n    color: #600;\n    font-style: italic;\n  }\n  .typ {\n    color: #404;\n    font-weight: bold;\n  }\n  .lit {\n    color: #044;\n  }\n  .pun,\n  .opn,\n  .clo {\n    color: #440;\n  }\n  .tag {\n    color: #006;\n    font-weight: bold;\n  }\n  .atn {\n    color: #404;\n  }\n  .atv {\n    color: #060;\n  }\n}\n/* Put a border around prettyprinted code snippets. */\npre.prettyprint {\n  padding: 2px;\n  border: 1px solid #888;\n}\n/* Specify class=linenums on a pre to get line numbering */\nol.linenums {\n  margin-top: 0;\n  margin-bottom: 0;\n}\n/* IE indents via margin-left */\nli.L0,\nli.L1,\nli.L2,\nli.L3,\nli.L5,\nli.L6,\nli.L7,\nli.L8 {\n  list-style-type: none;\n}\n/* Alternate shading for lines */\nli.L1,\nli.L3,\nli.L5,\nli.L7,\nli.L9 {\n  background: #eee;\n}\npre.prettyprint {\n  padding: 10px;\n  font-size: 14px;\n}\n#right .more-link {\n  text-align: left;\n  border-top: 1px solid #dddddd;\n}\n#right .more-link a {\n  padding: 10px 15px 10px 15px;\n  display: block;\n  text-transform: capitalize;\n  color: #555555;\n}\n#right .more-link a:hover {\n  text-decoration: none;\n  background-color: #f5f5f5;\n}\n\n.topic {\n  padding: 1em 1em 1em 1em;\n  color: #004e49;\n  background-color: white;\n}\n\n.topic-title {\n  color: white;\n  background-color: #004e49;\n  padding: 0em 0em 0em 0.3em;\n}\n\n.sidebar {\n  margin: 0 0 1em 1em;\n  padding: 1em;\n  color: #004e49;\n  background-color: white;\n  display: inline-block;\n  float: right;\n  width: 33%;\n}\n\n.sidebar-title {\n  color: white;\n  background-color: #004e49;\n  padding: 0em 0em 0em 0.3em;\n}\n\n.float-right {\n  margin: 0 0 1em 1em;\n  padding: 1em;\n  color: #004e49;\n  background-color: white;\n  display: inline-block;\n  float: right;\n  width: inherit;\n}\n.float-left {\n  margin: 0 0 1em 1em;\n  padding: 1em;\n  color: #004e49;\n  background-color: white;\n  display: inline-block;\n  float: left;\n  width: inherit;\n}\niv.admonition p.admonition-title + p {\n    display: inline;\n}\n\ndiv.admonition p {\n    margin-bottom: 5px;\n}\n\ndiv.admonition pre {\n    margin-bottom: 5px;\n}\n\ndiv.admonition ul, div.admonition ol {\n    margin-bottom: 5px;\n}\n\ndiv.note {\n    background-color: #eee;\n    border: 1px solid #ccc;\n}\n\ndiv.seealso {\n    background-color: #ffc;\n    border: 1px solid #ff6;\n}\n\ndiv.topic {\n    background-color: #eee;\n}\n\ndiv.warning {\n    background-color: #ffe4e4;\n    border: 1px solid #f66;\n}\n\np.admonition-title {\n    display: inline;\n}\n\np.admonition-title:after {\n    content: \":\";\n}\n\n"
  },
  {
    "path": "doc/_static/bootstrap.css",
    "content": "/*!\n * Bootstrap v2.3.2\n *\n * Copyright 2013 Twitter, Inc\n * Licensed under the Apache License v2.0\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Designed and built with all the love in the world by @mdo and @fat.\n */\n\n.clearfix {\n  *zoom: 1;\n}\n\n.clearfix:before,\n.clearfix:after {\n  display: table;\n  line-height: 0;\n  content: \"\";\n}\n\n.clearfix:after {\n  clear: both;\n}\n\n.hide-text {\n  font: 0/0 a;\n  color: transparent;\n  text-shadow: none;\n  background-color: transparent;\n  border: 0;\n}\n\n.input-block-level {\n  display: block;\n  width: 100%;\n  min-height: 30px;\n  -webkit-box-sizing: border-box;\n     -moz-box-sizing: border-box;\n          box-sizing: border-box;\n}\n\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nnav,\nsection {\n  display: block;\n}\n\naudio,\ncanvas,\nvideo {\n  display: inline-block;\n  *display: inline;\n  *zoom: 1;\n}\n\naudio:not([controls]) {\n  display: none;\n}\n\nhtml {\n  font-size: 100%;\n  -webkit-text-size-adjust: 100%;\n      -ms-text-size-adjust: 100%;\n}\n\na:focus {\n  outline: thin dotted #333;\n  outline: 5px auto -webkit-focus-ring-color;\n  outline-offset: -2px;\n}\n\na:hover,\na:active {\n  outline: 0;\n}\n\nsub,\nsup {\n  position: relative;\n  font-size: 75%;\n  line-height: 0;\n  vertical-align: baseline;\n}\n\nsup {\n  top: -0.5em;\n}\n\nsub {\n  bottom: -0.25em;\n}\n\nimg {\n  width: auto\\9;\n  height: auto;\n  max-width: 100%;\n  vertical-align: middle;\n  border: 0;\n  -ms-interpolation-mode: bicubic;\n}\n\n#map_canvas img,\n.google-maps img {\n  max-width: none;\n}\n\nbutton,\ninput,\nselect,\ntextarea {\n  margin: 0;\n  font-size: 100%;\n  vertical-align: middle;\n}\n\nbutton,\ninput {\n  *overflow: visible;\n  line-height: normal;\n}\n\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n  padding: 0;\n  border: 0;\n}\n\nbutton,\nhtml input[type=\"button\"],\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n  cursor: pointer;\n  -webkit-appearance: button;\n}\n\nlabel,\nselect,\nbutton,\ninput[type=\"button\"],\ninput[type=\"reset\"],\ninput[type=\"submit\"],\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n  cursor: pointer;\n}\n\ninput[type=\"search\"] {\n  -webkit-box-sizing: content-box;\n     -moz-box-sizing: content-box;\n          box-sizing: content-box;\n  -webkit-appearance: textfield;\n}\n\ninput[type=\"search\"]::-webkit-search-decoration,\ninput[type=\"search\"]::-webkit-search-cancel-button {\n  -webkit-appearance: none;\n}\n\ntextarea {\n  overflow: auto;\n  vertical-align: top;\n}\n\n@media print {\n  * {\n    color: #000 !important;\n    text-shadow: none !important;\n    background: transparent !important;\n    box-shadow: none !important;\n  }\n  a,\n  a:visited {\n    text-decoration: underline;\n  }\n  a[href]:after {\n    content: \" (\" attr(href) \")\";\n  }\n  abbr[title]:after {\n    content: \" (\" attr(title) \")\";\n  }\n  .ir a:after,\n  a[href^=\"javascript:\"]:after,\n  a[href^=\"#\"]:after {\n    content: \"\";\n  }\n  pre,\n  blockquote {\n    border: 1px solid #999;\n    page-break-inside: avoid;\n  }\n  thead {\n    display: table-header-group;\n  }\n  tr,\n  img {\n    page-break-inside: avoid;\n  }\n  img {\n    max-width: 100% !important;\n  }\n  @page  {\n    margin: 0.5cm;\n  }\n  p,\n  h2,\n  h3 {\n    orphans: 3;\n    widows: 3;\n  }\n  h2,\n  h3 {\n    page-break-after: avoid;\n  }\n}\n\nbody {\n  margin: 0;\n  font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n  font-size: 14px;\n  line-height: 20px;\n  color: #333333;\n  background-color: #ffffff;\n}\n\na {\n  color: #0088cc;\n  text-decoration: none;\n}\n\na:hover,\na:focus {\n  color: #005580;\n  text-decoration: underline;\n}\n\n.img-rounded {\n  -webkit-border-radius: 6px;\n     -moz-border-radius: 6px;\n          border-radius: 6px;\n}\n\n.img-polaroid {\n  padding: 4px;\n  background-color: #fff;\n  border: 1px solid #ccc;\n  border: 1px solid rgba(0, 0, 0, 0.2);\n  -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);\n     -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);\n          box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);\n}\n\n.img-circle {\n  -webkit-border-radius: 500px;\n     -moz-border-radius: 500px;\n          border-radius: 500px;\n}\n\n.row {\n  margin-left: -20px;\n  *zoom: 1;\n}\n\n.row:before,\n.row:after {\n  display: table;\n  line-height: 0;\n  content: \"\";\n}\n\n.row:after {\n  clear: both;\n}\n\n[class*=\"span\"] {\n  float: left;\n  min-height: 1px;\n  margin-left: 20px;\n}\n\n.container,\n.navbar-static-top .container,\n.navbar-fixed-top .container,\n.navbar-fixed-bottom .container {\n  width: 940px;\n}\n\n.span12 {\n  width: 940px;\n}\n\n.span11 {\n  width: 860px;\n}\n\n.span10 {\n  width: 780px;\n}\n\n.span9 {\n  width: 700px;\n}\n\n.span8 {\n  width: 620px;\n}\n\n.span7 {\n  width: 540px;\n}\n\n.span6 {\n  width: 460px;\n}\n\n.span5 {\n  width: 380px;\n}\n\n.span4 {\n  width: 300px;\n}\n\n.span3 {\n  width: 220px;\n}\n\n.span2 {\n  width: 140px;\n}\n\n.span1 {\n  width: 60px;\n}\n\n.offset12 {\n  margin-left: 980px;\n}\n\n.offset11 {\n  margin-left: 900px;\n}\n\n.offset10 {\n  margin-left: 820px;\n}\n\n.offset9 {\n  margin-left: 740px;\n}\n\n.offset8 {\n  margin-left: 660px;\n}\n\n.offset7 {\n  margin-left: 580px;\n}\n\n.offset6 {\n  margin-left: 500px;\n}\n\n.offset5 {\n  margin-left: 420px;\n}\n\n.offset4 {\n  margin-left: 340px;\n}\n\n.offset3 {\n  margin-left: 260px;\n}\n\n.offset2 {\n  margin-left: 180px;\n}\n\n.offset1 {\n  margin-left: 100px;\n}\n\n.row-fluid {\n  width: 100%;\n  *zoom: 1;\n}\n\n.row-fluid:before,\n.row-fluid:after {\n  display: table;\n  line-height: 0;\n  content: \"\";\n}\n\n.row-fluid:after {\n  clear: both;\n}\n\n.row-fluid [class*=\"span\"] {\n  display: block;\n  float: left;\n  width: 100%;\n  min-height: 30px;\n  margin-left: 2.127659574468085%;\n  *margin-left: 2.074468085106383%;\n  -webkit-box-sizing: border-box;\n     -moz-box-sizing: border-box;\n          box-sizing: border-box;\n}\n\n.row-fluid [class*=\"span\"]:first-child {\n  margin-left: 0;\n}\n\n.row-fluid .controls-row [class*=\"span\"] + [class*=\"span\"] {\n  margin-left: 2.127659574468085%;\n}\n\n.row-fluid .span12 {\n  width: 100%;\n  *width: 99.94680851063829%;\n}\n\n.row-fluid .span11 {\n  width: 91.48936170212765%;\n  *width: 91.43617021276594%;\n}\n\n.row-fluid .span10 {\n  width: 82.97872340425532%;\n  *width: 82.92553191489361%;\n}\n\n.row-fluid .span9 {\n  width: 74.46808510638297%;\n  *width: 74.41489361702126%;\n}\n\n.row-fluid .span8 {\n  width: 65.95744680851064%;\n  *width: 65.90425531914893%;\n}\n\n.row-fluid .span7 {\n  width: 57.44680851063829%;\n  *width: 57.39361702127659%;\n}\n\n.row-fluid .span6 {\n  width: 48.93617021276595%;\n  *width: 48.88297872340425%;\n}\n\n.row-fluid .span5 {\n  width: 40.42553191489362%;\n  *width: 40.37234042553192%;\n}\n\n.row-fluid .span4 {\n  width: 31.914893617021278%;\n  *width: 31.861702127659576%;\n}\n\n.row-fluid .span3 {\n  width: 23.404255319148934%;\n  *width: 23.351063829787233%;\n}\n\n.row-fluid .span2 {\n  width: 14.893617021276595%;\n  *width: 14.840425531914894%;\n}\n\n.row-fluid .span1 {\n  width: 6.382978723404255%;\n  *width: 6.329787234042553%;\n}\n\n.row-fluid .offset12 {\n  margin-left: 104.25531914893617%;\n  *margin-left: 104.14893617021275%;\n}\n\n.row-fluid .offset12:first-child {\n  margin-left: 102.12765957446808%;\n  *margin-left: 102.02127659574467%;\n}\n\n.row-fluid .offset11 {\n  margin-left: 95.74468085106382%;\n  *margin-left: 95.6382978723404%;\n}\n\n.row-fluid .offset11:first-child {\n  margin-left: 93.61702127659574%;\n  *margin-left: 93.51063829787232%;\n}\n\n.row-fluid .offset10 {\n  margin-left: 87.23404255319149%;\n  *margin-left: 87.12765957446807%;\n}\n\n.row-fluid .offset10:first-child {\n  margin-left: 85.1063829787234%;\n  *margin-left: 84.99999999999999%;\n}\n\n.row-fluid .offset9 {\n  margin-left: 78.72340425531914%;\n  *margin-left: 78.61702127659572%;\n}\n\n.row-fluid .offset9:first-child {\n  margin-left: 76.59574468085106%;\n  *margin-left: 76.48936170212764%;\n}\n\n.row-fluid .offset8 {\n  margin-left: 70.2127659574468%;\n  *margin-left: 70.10638297872339%;\n}\n\n.row-fluid .offset8:first-child {\n  margin-left: 68.08510638297872%;\n  *margin-left: 67.9787234042553%;\n}\n\n.row-fluid .offset7 {\n  margin-left: 61.70212765957446%;\n  *margin-left: 61.59574468085106%;\n}\n\n.row-fluid .offset7:first-child {\n  margin-left: 59.574468085106375%;\n  *margin-left: 59.46808510638297%;\n}\n\n.row-fluid .offset6 {\n  margin-left: 53.191489361702125%;\n  *margin-left: 53.085106382978715%;\n}\n\n.row-fluid .offset6:first-child {\n  margin-left: 51.063829787234035%;\n  *margin-left: 50.95744680851063%;\n}\n\n.row-fluid .offset5 {\n  margin-left: 44.68085106382979%;\n  *margin-left: 44.57446808510638%;\n}\n\n.row-fluid .offset5:first-child {\n  margin-left: 42.5531914893617%;\n  *margin-left: 42.4468085106383%;\n}\n\n.row-fluid .offset4 {\n  margin-left: 36.170212765957444%;\n  *margin-left: 36.06382978723405%;\n}\n\n.row-fluid .offset4:first-child {\n  margin-left: 34.04255319148936%;\n  *margin-left: 33.93617021276596%;\n}\n\n.row-fluid .offset3 {\n  margin-left: 27.659574468085104%;\n  *margin-left: 27.5531914893617%;\n}\n\n.row-fluid .offset3:first-child {\n  margin-left: 25.53191489361702%;\n  *margin-left: 25.425531914893618%;\n}\n\n.row-fluid .offset2 {\n  margin-left: 19.148936170212764%;\n  *margin-left: 19.04255319148936%;\n}\n\n.row-fluid .offset2:first-child {\n  margin-left: 17.02127659574468%;\n  *margin-left: 16.914893617021278%;\n}\n\n.row-fluid .offset1 {\n  margin-left: 10.638297872340425%;\n  *margin-left: 10.53191489361702%;\n}\n\n.row-fluid .offset1:first-child {\n  margin-left: 8.51063829787234%;\n  *margin-left: 8.404255319148938%;\n}\n\n[class*=\"span\"].hide,\n.row-fluid [class*=\"span\"].hide {\n  display: none;\n}\n\n[class*=\"span\"].pull-right,\n.row-fluid [class*=\"span\"].pull-right {\n  float: right;\n}\n\n.container {\n  margin-right: auto;\n  margin-left: auto;\n  *zoom: 1;\n}\n\n.container:before,\n.container:after {\n  display: table;\n  line-height: 0;\n  content: \"\";\n}\n\n.container:after {\n  clear: both;\n}\n\n.container-fluid {\n  padding-right: 20px;\n  padding-left: 20px;\n  *zoom: 1;\n}\n\n.container-fluid:before,\n.container-fluid:after {\n  display: table;\n  line-height: 0;\n  content: \"\";\n}\n\n.container-fluid:after {\n  clear: both;\n}\n\np {\n  margin: 0 0 10px;\n}\n\n.lead {\n  margin-bottom: 20px;\n  font-size: 21px;\n  font-weight: 200;\n  line-height: 30px;\n}\n\nsmall {\n  font-size: 85%;\n}\n\nstrong {\n  font-weight: bold;\n}\n\nem {\n  font-style: italic;\n}\n\ncite {\n  font-style: normal;\n}\n\n.muted {\n  color: #999999;\n}\n\na.muted:hover,\na.muted:focus {\n  color: #808080;\n}\n\n.text-warning {\n  color: #c09853;\n}\n\na.text-warning:hover,\na.text-warning:focus {\n  color: #a47e3c;\n}\n\n.text-error {\n  color: #b94a48;\n}\n\na.text-error:hover,\na.text-error:focus {\n  color: #953b39;\n}\n\n.text-info {\n  color: #3a87ad;\n}\n\na.text-info:hover,\na.text-info:focus {\n  color: #2d6987;\n}\n\n.text-success {\n  color: #468847;\n}\n\na.text-success:hover,\na.text-success:focus {\n  color: #356635;\n}\n\n.text-left {\n  text-align: left;\n}\n\n.text-right {\n  text-align: right;\n}\n\n.text-center {\n  text-align: center;\n}\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n  margin: 10px 0;\n  font-family: inherit;\n  font-weight: bold;\n  line-height: 20px;\n  color: inherit;\n  text-rendering: optimizelegibility;\n}\n\nh1 small,\nh2 small,\nh3 small,\nh4 small,\nh5 small,\nh6 small {\n  font-weight: normal;\n  line-height: 1;\n  color: #999999;\n}\n\nh1,\nh2,\nh3 {\n  line-height: 40px;\n}\n\nh1 {\n  font-size: 38.5px;\n}\n\nh2 {\n  font-size: 31.5px;\n}\n\nh3 {\n  font-size: 24.5px;\n}\n\nh4 {\n  font-size: 17.5px;\n}\n\nh5 {\n  font-size: 14px;\n}\n\nh6 {\n  font-size: 11.9px;\n}\n\nh1 small {\n  font-size: 24.5px;\n}\n\nh2 small {\n  font-size: 17.5px;\n}\n\nh3 small {\n  font-size: 14px;\n}\n\nh4 small {\n  font-size: 14px;\n}\n\n.page-header {\n  padding-bottom: 9px;\n  margin: 20px 0 30px;\n  border-bottom: 1px solid #eeeeee;\n}\n\nul,\nol {\n  padding: 0;\n  margin: 0 0 10px 25px;\n}\n\nul ul,\nul ol,\nol ol,\nol ul {\n  margin-bottom: 0;\n}\n\nli {\n  line-height: 20px;\n}\n\nul.unstyled,\nol.unstyled {\n  margin-left: 0;\n  list-style: none;\n}\n\nul.inline,\nol.inline {\n  margin-left: 0;\n  list-style: none;\n}\n\nul.inline > li,\nol.inline > li {\n  display: inline-block;\n  *display: inline;\n  padding-right: 5px;\n  padding-left: 5px;\n  *zoom: 1;\n}\n\ndl {\n  margin-bottom: 20px;\n}\n\ndt,\ndd {\n  line-height: 20px;\n}\n\ndt {\n  font-weight: bold;\n}\n\ndd {\n  margin-left: 10px;\n}\n\n.dl-horizontal {\n  *zoom: 1;\n}\n\n.dl-horizontal:before,\n.dl-horizontal:after {\n  display: table;\n  line-height: 0;\n  content: \"\";\n}\n\n.dl-horizontal:after {\n  clear: both;\n}\n\n.dl-horizontal dt {\n  float: left;\n  width: 160px;\n  overflow: hidden;\n  clear: left;\n  text-align: right;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n\n.dl-horizontal dd {\n  margin-left: 180px;\n}\n\nhr {\n  margin: 20px 0;\n  border: 0;\n  border-top: 1px solid #eeeeee;\n  border-bottom: 1px solid #ffffff;\n}\n\nabbr[title],\nabbr[data-original-title] {\n  cursor: help;\n  border-bottom: 1px dotted #999999;\n}\n\nabbr.initialism {\n  font-size: 90%;\n  text-transform: uppercase;\n}\n\nblockquote {\n  padding: 0 0 0 15px;\n  margin: 0 0 20px;\n  border-left: 5px solid #eeeeee;\n}\n\nblockquote p {\n  margin-bottom: 0;\n  font-size: 17.5px;\n  font-weight: 300;\n  line-height: 1.25;\n}\n\nblockquote small {\n  display: block;\n  line-height: 20px;\n  color: #999999;\n}\n\nblockquote small:before {\n  content: '\\2014 \\00A0';\n}\n\nblockquote.pull-right {\n  float: right;\n  padding-right: 15px;\n  padding-left: 0;\n  border-right: 5px solid #eeeeee;\n  border-left: 0;\n}\n\nblockquote.pull-right p,\nblockquote.pull-right small {\n  text-align: right;\n}\n\nblockquote.pull-right small:before {\n  content: '';\n}\n\nblockquote.pull-right small:after {\n  content: '\\00A0 \\2014';\n}\n\nq:before,\nq:after,\nblockquote:before,\nblockquote:after {\n  content: \"\";\n}\n\naddress {\n  display: block;\n  margin-bottom: 20px;\n  font-style: normal;\n  line-height: 20px;\n}\n\ncode,\npre {\n  padding: 0 3px 2px;\n  font-family: Monaco, Menlo, Consolas, \"Courier New\", monospace;\n  font-size: 12px;\n  color: #333333;\n  -webkit-border-radius: 3px;\n     -moz-border-radius: 3px;\n          border-radius: 3px;\n}\n\ncode {\n  padding: 2px 4px;\n  color: #d14;\n  white-space: nowrap;\n  background-color: #f7f7f9;\n  border: 1px solid #e1e1e8;\n}\n\npre {\n  display: block;\n  padding: 9.5px;\n  margin: 0 0 10px;\n  font-size: 13px;\n  line-height: 20px;\n  word-break: break-all;\n  word-wrap: break-word;\n  white-space: pre;\n  white-space: pre-wrap;\n  background-color: #f5f5f5;\n  border: 1px solid #ccc;\n  border: 1px solid rgba(0, 0, 0, 0.15);\n  -webkit-border-radius: 4px;\n     -moz-border-radius: 4px;\n          border-radius: 4px;\n}\n\npre.prettyprint {\n  margin-bottom: 20px;\n}\n\npre code {\n  padding: 0;\n  color: inherit;\n  white-space: pre;\n  white-space: pre-wrap;\n  background-color: transparent;\n  border: 0;\n}\n\n.pre-scrollable {\n  max-height: 340px;\n  overflow-y: scroll;\n}\n\nform {\n  margin: 0 0 20px;\n}\n\nfieldset {\n  padding: 0;\n  margin: 0;\n  border: 0;\n}\n\nlegend {\n  display: block;\n  width: 100%;\n  padding: 0;\n  margin-bottom: 20px;\n  font-size: 21px;\n  line-height: 40px;\n  color: #333333;\n  border: 0;\n  border-bottom: 1px solid #e5e5e5;\n}\n\nlegend small {\n  font-size: 15px;\n  color: #999999;\n}\n\nlabel,\ninput,\nbutton,\nselect,\ntextarea {\n  font-size: 14px;\n  font-weight: normal;\n  line-height: 20px;\n}\n\ninput,\nbutton,\nselect,\ntextarea {\n  font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n}\n\nlabel {\n  display: block;\n  margin-bottom: 5px;\n}\n\nselect,\ntextarea,\ninput[type=\"text\"],\ninput[type=\"password\"],\ninput[type=\"datetime\"],\ninput[type=\"datetime-local\"],\ninput[type=\"date\"],\ninput[type=\"month\"],\ninput[type=\"time\"],\ninput[type=\"week\"],\ninput[type=\"number\"],\ninput[type=\"email\"],\ninput[type=\"url\"],\ninput[type=\"search\"],\ninput[type=\"tel\"],\ninput[type=\"color\"],\n.uneditable-input {\n  display: inline-block;\n  height: 20px;\n  padding: 4px 6px;\n  margin-bottom: 10px;\n  font-size: 14px;\n  line-height: 20px;\n  color: #555555;\n  vertical-align: middle;\n  -webkit-border-radius: 4px;\n     -moz-border-radius: 4px;\n          border-radius: 4px;\n}\n\ninput,\ntextarea,\n.uneditable-input {\n  width: 206px;\n}\n\ntextarea {\n  height: auto;\n}\n\ntextarea,\ninput[type=\"text\"],\ninput[type=\"password\"],\ninput[type=\"datetime\"],\ninput[type=\"datetime-local\"],\ninput[type=\"date\"],\ninput[type=\"month\"],\ninput[type=\"time\"],\ninput[type=\"week\"],\ninput[type=\"number\"],\ninput[type=\"email\"],\ninput[type=\"url\"],\ninput[type=\"search\"],\ninput[type=\"tel\"],\ninput[type=\"color\"],\n.uneditable-input {\n  background-color: #ffffff;\n  border: 1px solid #cccccc;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n     -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n          box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n  -webkit-transition: border linear 0.2s, box-shadow linear 0.2s;\n     -moz-transition: border linear 0.2s, box-shadow linear 0.2s;\n       -o-transition: border linear 0.2s, box-shadow linear 0.2s;\n          transition: border linear 0.2s, box-shadow linear 0.2s;\n}\n\ntextarea:focus,\ninput[type=\"text\"]:focus,\ninput[type=\"password\"]:focus,\ninput[type=\"datetime\"]:focus,\ninput[type=\"datetime-local\"]:focus,\ninput[type=\"date\"]:focus,\ninput[type=\"month\"]:focus,\ninput[type=\"time\"]:focus,\ninput[type=\"week\"]:focus,\ninput[type=\"number\"]:focus,\ninput[type=\"email\"]:focus,\ninput[type=\"url\"]:focus,\ninput[type=\"search\"]:focus,\ninput[type=\"tel\"]:focus,\ninput[type=\"color\"]:focus,\n.uneditable-input:focus {\n  border-color: rgba(82, 168, 236, 0.8);\n  outline: 0;\n  outline: thin dotted \\9;\n  /* IE6-9 */\n\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);\n     -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);\n          box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n  margin: 4px 0 0;\n  margin-top: 1px \\9;\n  *margin-top: 0;\n  line-height: normal;\n}\n\ninput[type=\"file\"],\ninput[type=\"image\"],\ninput[type=\"submit\"],\ninput[type=\"reset\"],\ninput[type=\"button\"],\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n  width: auto;\n}\n\nselect,\ninput[type=\"file\"] {\n  height: 30px;\n  /* In IE7, the height of the select element cannot be changed by height, only font-size */\n\n  *margin-top: 4px;\n  /* For IE7, add top margin to align select with labels */\n\n  line-height: 30px;\n}\n\nselect {\n  width: 220px;\n  background-color: #ffffff;\n  border: 1px solid #cccccc;\n}\n\nselect[multiple],\nselect[size] {\n  height: auto;\n}\n\nselect:focus,\ninput[type=\"file\"]:focus,\ninput[type=\"radio\"]:focus,\ninput[type=\"checkbox\"]:focus {\n  outline: thin dotted #333;\n  outline: 5px auto -webkit-focus-ring-color;\n  outline-offset: -2px;\n}\n\n.uneditable-input,\n.uneditable-textarea {\n  color: #999999;\n  cursor: not-allowed;\n  background-color: #fcfcfc;\n  border-color: #cccccc;\n  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);\n     -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);\n          box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);\n}\n\n.uneditable-input {\n  overflow: hidden;\n  white-space: nowrap;\n}\n\n.uneditable-textarea {\n  width: auto;\n  height: auto;\n}\n\ninput:-moz-placeholder,\ntextarea:-moz-placeholder {\n  color: #999999;\n}\n\ninput:-ms-input-placeholder,\ntextarea:-ms-input-placeholder {\n  color: #999999;\n}\n\ninput::-webkit-input-placeholder,\ntextarea::-webkit-input-placeholder {\n  color: #999999;\n}\n\n.radio,\n.checkbox {\n  min-height: 20px;\n  padding-left: 20px;\n}\n\n.radio input[type=\"radio\"],\n.checkbox input[type=\"checkbox\"] {\n  float: left;\n  margin-left: -20px;\n}\n\n.controls > .radio:first-child,\n.controls > .checkbox:first-child {\n  padding-top: 5px;\n}\n\n.radio.inline,\n.checkbox.inline {\n  display: inline-block;\n  padding-top: 5px;\n  margin-bottom: 0;\n  vertical-align: middle;\n}\n\n.radio.inline + .radio.inline,\n.checkbox.inline + .checkbox.inline {\n  margin-left: 10px;\n}\n\n.input-mini {\n  width: 60px;\n}\n\n.input-small {\n  width: 90px;\n}\n\n.input-medium {\n  width: 150px;\n}\n\n.input-large {\n  width: 210px;\n}\n\n.input-xlarge {\n  width: 270px;\n}\n\n.input-xxlarge {\n  width: 530px;\n}\n\ninput[class*=\"span\"],\nselect[class*=\"span\"],\ntextarea[class*=\"span\"],\n.uneditable-input[class*=\"span\"],\n.row-fluid input[class*=\"span\"],\n.row-fluid select[class*=\"span\"],\n.row-fluid textarea[class*=\"span\"],\n.row-fluid .uneditable-input[class*=\"span\"] {\n  float: none;\n  margin-left: 0;\n}\n\n.input-append input[class*=\"span\"],\n.input-append .uneditable-input[class*=\"span\"],\n.input-prepend input[class*=\"span\"],\n.input-prepend .uneditable-input[class*=\"span\"],\n.row-fluid input[class*=\"span\"],\n.row-fluid select[class*=\"span\"],\n.row-fluid textarea[class*=\"span\"],\n.row-fluid .uneditable-input[class*=\"span\"],\n.row-fluid .input-prepend [class*=\"span\"],\n.row-fluid .input-append [class*=\"span\"] {\n  display: inline-block;\n}\n\ninput,\ntextarea,\n.uneditable-input {\n  margin-left: 0;\n}\n\n.controls-row [class*=\"span\"] + [class*=\"span\"] {\n  margin-left: 20px;\n}\n\ninput.span12,\ntextarea.span12,\n.uneditable-input.span12 {\n  width: 926px;\n}\n\ninput.span11,\ntextarea.span11,\n.uneditable-input.span11 {\n  width: 846px;\n}\n\ninput.span10,\ntextarea.span10,\n.uneditable-input.span10 {\n  width: 766px;\n}\n\ninput.span9,\ntextarea.span9,\n.uneditable-input.span9 {\n  width: 686px;\n}\n\ninput.span8,\ntextarea.span8,\n.uneditable-input.span8 {\n  width: 606px;\n}\n\ninput.span7,\ntextarea.span7,\n.uneditable-input.span7 {\n  width: 526px;\n}\n\ninput.span6,\ntextarea.span6,\n.uneditable-input.span6 {\n  width: 446px;\n}\n\ninput.span5,\ntextarea.span5,\n.uneditable-input.span5 {\n  width: 366px;\n}\n\ninput.span4,\ntextarea.span4,\n.uneditable-input.span4 {\n  width: 286px;\n}\n\ninput.span3,\ntextarea.span3,\n.uneditable-input.span3 {\n  width: 206px;\n}\n\ninput.span2,\ntextarea.span2,\n.uneditable-input.span2 {\n  width: 126px;\n}\n\ninput.span1,\ntextarea.span1,\n.uneditable-input.span1 {\n  width: 46px;\n}\n\n.controls-row {\n  *zoom: 1;\n}\n\n.controls-row:before,\n.controls-row:after {\n  display: table;\n  line-height: 0;\n  content: \"\";\n}\n\n.controls-row:after {\n  clear: both;\n}\n\n.controls-row [class*=\"span\"],\n.row-fluid .controls-row [class*=\"span\"] {\n  float: left;\n}\n\n.controls-row .checkbox[class*=\"span\"],\n.controls-row .radio[class*=\"span\"] {\n  padding-top: 5px;\n}\n\ninput[disabled],\nselect[disabled],\ntextarea[disabled],\ninput[readonly],\nselect[readonly],\ntextarea[readonly] {\n  cursor: not-allowed;\n  background-color: #eeeeee;\n}\n\ninput[type=\"radio\"][disabled],\ninput[type=\"checkbox\"][disabled],\ninput[type=\"radio\"][readonly],\ninput[type=\"checkbox\"][readonly] {\n  background-color: transparent;\n}\n\n.control-group.warning .control-label,\n.control-group.warning .help-block,\n.control-group.warning .help-inline {\n  color: #c09853;\n}\n\n.control-group.warning .checkbox,\n.control-group.warning .radio,\n.control-group.warning input,\n.control-group.warning select,\n.control-group.warning textarea {\n  color: #c09853;\n}\n\n.control-group.warning input,\n.control-group.warning select,\n.control-group.warning textarea {\n  border-color: #c09853;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n     -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n          box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n\n.control-group.warning input:focus,\n.control-group.warning select:focus,\n.control-group.warning textarea:focus {\n  border-color: #a47e3c;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e;\n     -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e;\n          box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e;\n}\n\n.control-group.warning .input-prepend .add-on,\n.control-group.warning .input-append .add-on {\n  color: #c09853;\n  background-color: #fcf8e3;\n  border-color: #c09853;\n}\n\n.control-group.error .control-label,\n.control-group.error .help-block,\n.control-group.error .help-inline {\n  color: #b94a48;\n}\n\n.control-group.error .checkbox,\n.control-group.error .radio,\n.control-group.error input,\n.control-group.error select,\n.control-group.error textarea {\n  color: #b94a48;\n}\n\n.control-group.error input,\n.control-group.error select,\n.control-group.error textarea {\n  border-color: #b94a48;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n     -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n          box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n\n.control-group.error input:focus,\n.control-group.error select:focus,\n.control-group.error textarea:focus {\n  border-color: #953b39;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392;\n     -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392;\n          box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392;\n}\n\n.control-group.error .input-prepend .add-on,\n.control-group.error .input-append .add-on {\n  color: #b94a48;\n  background-color: #f2dede;\n  border-color: #b94a48;\n}\n\n.control-group.success .control-label,\n.control-group.success .help-block,\n.control-group.success .help-inline {\n  color: #468847;\n}\n\n.control-group.success .checkbox,\n.control-group.success .radio,\n.control-group.success input,\n.control-group.success select,\n.control-group.success textarea {\n  color: #468847;\n}\n\n.control-group.success input,\n.control-group.success select,\n.control-group.success textarea {\n  border-color: #468847;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n     -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n          box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n\n.control-group.success input:focus,\n.control-group.success select:focus,\n.control-group.success textarea:focus {\n  border-color: #356635;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b;\n     -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b;\n          box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b;\n}\n\n.control-group.success .input-prepend .add-on,\n.control-group.success .input-append .add-on {\n  color: #468847;\n  background-color: #dff0d8;\n  border-color: #468847;\n}\n\n.control-group.info .control-label,\n.control-group.info .help-block,\n.control-group.info .help-inline {\n  color: #3a87ad;\n}\n\n.control-group.info .checkbox,\n.control-group.info .radio,\n.control-group.info input,\n.control-group.info select,\n.control-group.info textarea {\n  color: #3a87ad;\n}\n\n.control-group.info input,\n.control-group.info select,\n.control-group.info textarea {\n  border-color: #3a87ad;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n     -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n          box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n\n.control-group.info input:focus,\n.control-group.info select:focus,\n.control-group.info textarea:focus {\n  border-color: #2d6987;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3;\n     -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3;\n          box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3;\n}\n\n.control-group.info .input-prepend .add-on,\n.control-group.info .input-append .add-on {\n  color: #3a87ad;\n  background-color: #d9edf7;\n  border-color: #3a87ad;\n}\n\ninput:focus:invalid,\ntextarea:focus:invalid,\nselect:focus:invalid {\n  color: #b94a48;\n  border-color: #ee5f5b;\n}\n\ninput:focus:invalid:focus,\ntextarea:focus:invalid:focus,\nselect:focus:invalid:focus {\n  border-color: #e9322d;\n  -webkit-box-shadow: 0 0 6px #f8b9b7;\n     -moz-box-shadow: 0 0 6px #f8b9b7;\n          box-shadow: 0 0 6px #f8b9b7;\n}\n\n.form-actions {\n  padding: 19px 20px 20px;\n  margin-top: 20px;\n  margin-bottom: 20px;\n  background-color: #f5f5f5;\n  border-top: 1px solid #e5e5e5;\n  *zoom: 1;\n}\n\n.form-actions:before,\n.form-actions:after {\n  display: table;\n  line-height: 0;\n  content: \"\";\n}\n\n.form-actions:after {\n  clear: both;\n}\n\n.help-block,\n.help-inline {\n  color: #595959;\n}\n\n.help-block {\n  display: block;\n  margin-bottom: 10px;\n}\n\n.help-inline {\n  display: inline-block;\n  *display: inline;\n  padding-left: 5px;\n  vertical-align: middle;\n  *zoom: 1;\n}\n\n.input-append,\n.input-prepend {\n  display: inline-block;\n  margin-bottom: 10px;\n  font-size: 0;\n  white-space: nowrap;\n  vertical-align: middle;\n}\n\n.input-append input,\n.input-prepend input,\n.input-append select,\n.input-prepend select,\n.input-append .uneditable-input,\n.input-prepend .uneditable-input,\n.input-append .dropdown-menu,\n.input-prepend .dropdown-menu,\n.input-append .popover,\n.input-prepend .popover {\n  font-size: 14px;\n}\n\n.input-append input,\n.input-prepend input,\n.input-append select,\n.input-prepend select,\n.input-append .uneditable-input,\n.input-prepend .uneditable-input {\n  position: relative;\n  margin-bottom: 0;\n  *margin-left: 0;\n  vertical-align: top;\n  -webkit-border-radius: 0 4px 4px 0;\n     -moz-border-radius: 0 4px 4px 0;\n          border-radius: 0 4px 4px 0;\n}\n\n.input-append input:focus,\n.input-prepend input:focus,\n.input-append select:focus,\n.input-prepend select:focus,\n.input-append .uneditable-input:focus,\n.input-prepend .uneditable-input:focus {\n  z-index: 2;\n}\n\n.input-append .add-on,\n.input-prepend .add-on {\n  display: inline-block;\n  width: auto;\n  height: 20px;\n  min-width: 16px;\n  padding: 4px 5px;\n  font-size: 14px;\n  font-weight: normal;\n  line-height: 20px;\n  text-align: center;\n  text-shadow: 0 1px 0 #ffffff;\n  background-color: #eeeeee;\n  border: 1px solid #ccc;\n}\n\n.input-append .add-on,\n.input-prepend .add-on,\n.input-append .btn,\n.input-prepend .btn,\n.input-append .btn-group > .dropdown-toggle,\n.input-prepend .btn-group > .dropdown-toggle {\n  vertical-align: top;\n  -webkit-border-radius: 0;\n     -moz-border-radius: 0;\n          border-radius: 0;\n}\n\n.input-append .active,\n.input-prepend .active {\n  background-color: #a9dba9;\n  border-color: #46a546;\n}\n\n.input-prepend .add-on,\n.input-prepend .btn {\n  margin-right: -1px;\n}\n\n.input-prepend .add-on:first-child,\n.input-prepend .btn:first-child {\n  -webkit-border-radius: 4px 0 0 4px;\n     -moz-border-radius: 4px 0 0 4px;\n          border-radius: 4px 0 0 4px;\n}\n\n.input-append input,\n.input-append select,\n.input-append .uneditable-input {\n  -webkit-border-radius: 4px 0 0 4px;\n     -moz-border-radius: 4px 0 0 4px;\n          border-radius: 4px 0 0 4px;\n}\n\n.input-append input + .btn-group .btn:last-child,\n.input-append select + .btn-group .btn:last-child,\n.input-append .uneditable-input + .btn-group .btn:last-child {\n  -webkit-border-radius: 0 4px 4px 0;\n     -moz-border-radius: 0 4px 4px 0;\n          border-radius: 0 4px 4px 0;\n}\n\n.input-append .add-on,\n.input-append .btn,\n.input-append .btn-group {\n  margin-left: -1px;\n}\n\n.input-append .add-on:last-child,\n.input-append .btn:last-child,\n.input-append .btn-group:last-child > .dropdown-toggle {\n  -webkit-border-radius: 0 4px 4px 0;\n     -moz-border-radius: 0 4px 4px 0;\n          border-radius: 0 4px 4px 0;\n}\n\n.input-prepend.input-append input,\n.input-prepend.input-append select,\n.input-prepend.input-append .uneditable-input {\n  -webkit-border-radius: 0;\n     -moz-border-radius: 0;\n          border-radius: 0;\n}\n\n.input-prepend.input-append input + .btn-group .btn,\n.input-prepend.input-append select + .btn-group .btn,\n.input-prepend.input-append .uneditable-input + .btn-group .btn {\n  -webkit-border-radius: 0 4px 4px 0;\n     -moz-border-radius: 0 4px 4px 0;\n          border-radius: 0 4px 4px 0;\n}\n\n.input-prepend.input-append .add-on:first-child,\n.input-prepend.input-append .btn:first-child {\n  margin-right: -1px;\n  -webkit-border-radius: 4px 0 0 4px;\n     -moz-border-radius: 4px 0 0 4px;\n          border-radius: 4px 0 0 4px;\n}\n\n.input-prepend.input-append .add-on:last-child,\n.input-prepend.input-append .btn:last-child {\n  margin-left: -1px;\n  -webkit-border-radius: 0 4px 4px 0;\n     -moz-border-radius: 0 4px 4px 0;\n          border-radius: 0 4px 4px 0;\n}\n\n.input-prepend.input-append .btn-group:first-child {\n  margin-left: 0;\n}\n\ninput.search-query {\n  padding-right: 14px;\n  padding-right: 4px \\9;\n  padding-left: 14px;\n  padding-left: 4px \\9;\n  /* IE7-8 doesn't have border-radius, so don't indent the padding */\n\n  margin-bottom: 0;\n  -webkit-border-radius: 15px;\n     -moz-border-radius: 15px;\n          border-radius: 15px;\n}\n\n/* Allow for input prepend/append in search forms */\n\n.form-search .input-append .search-query,\n.form-search .input-prepend .search-query {\n  -webkit-border-radius: 0;\n     -moz-border-radius: 0;\n          border-radius: 0;\n}\n\n.form-search .input-append .search-query {\n  -webkit-border-radius: 14px 0 0 14px;\n     -moz-border-radius: 14px 0 0 14px;\n          border-radius: 14px 0 0 14px;\n}\n\n.form-search .input-append .btn {\n  -webkit-border-radius: 0 14px 14px 0;\n     -moz-border-radius: 0 14px 14px 0;\n          border-radius: 0 14px 14px 0;\n}\n\n.form-search .input-prepend .search-query {\n  -webkit-border-radius: 0 14px 14px 0;\n     -moz-border-radius: 0 14px 14px 0;\n          border-radius: 0 14px 14px 0;\n}\n\n.form-search .input-prepend .btn {\n  -webkit-border-radius: 14px 0 0 14px;\n     -moz-border-radius: 14px 0 0 14px;\n          border-radius: 14px 0 0 14px;\n}\n\n.form-search input,\n.form-inline input,\n.form-horizontal input,\n.form-search textarea,\n.form-inline textarea,\n.form-horizontal textarea,\n.form-search select,\n.form-inline select,\n.form-horizontal select,\n.form-search .help-inline,\n.form-inline .help-inline,\n.form-horizontal .help-inline,\n.form-search .uneditable-input,\n.form-inline .uneditable-input,\n.form-horizontal .uneditable-input,\n.form-search .input-prepend,\n.form-inline .input-prepend,\n.form-horizontal .input-prepend,\n.form-search .input-append,\n.form-inline .input-append,\n.form-horizontal .input-append {\n  display: inline-block;\n  *display: inline;\n  margin-bottom: 0;\n  vertical-align: middle;\n  *zoom: 1;\n}\n\n.form-search .hide,\n.form-inline .hide,\n.form-horizontal .hide {\n  display: none;\n}\n\n.form-search label,\n.form-inline label,\n.form-search .btn-group,\n.form-inline .btn-group {\n  display: inline-block;\n}\n\n.form-search .input-append,\n.form-inline .input-append,\n.form-search .input-prepend,\n.form-inline .input-prepend {\n  margin-bottom: 0;\n}\n\n.form-search .radio,\n.form-search .checkbox,\n.form-inline .radio,\n.form-inline .checkbox {\n  padding-left: 0;\n  margin-bottom: 0;\n  vertical-align: middle;\n}\n\n.form-search .radio input[type=\"radio\"],\n.form-search .checkbox input[type=\"checkbox\"],\n.form-inline .radio input[type=\"radio\"],\n.form-inline .checkbox input[type=\"checkbox\"] {\n  float: left;\n  margin-right: 3px;\n  margin-left: 0;\n}\n\n.control-group {\n  margin-bottom: 10px;\n}\n\nlegend + .control-group {\n  margin-top: 20px;\n  -webkit-margin-top-collapse: separate;\n}\n\n.form-horizontal .control-group {\n  margin-bottom: 20px;\n  *zoom: 1;\n}\n\n.form-horizontal .control-group:before,\n.form-horizontal .control-group:after {\n  display: table;\n  line-height: 0;\n  content: \"\";\n}\n\n.form-horizontal .control-group:after {\n  clear: both;\n}\n\n.form-horizontal .control-label {\n  float: left;\n  width: 160px;\n  padding-top: 5px;\n  text-align: right;\n}\n\n.form-horizontal .controls {\n  *display: inline-block;\n  *padding-left: 20px;\n  margin-left: 180px;\n  *margin-left: 0;\n}\n\n.form-horizontal .controls:first-child {\n  *padding-left: 180px;\n}\n\n.form-horizontal .help-block {\n  margin-bottom: 0;\n}\n\n.form-horizontal input + .help-block,\n.form-horizontal select + .help-block,\n.form-horizontal textarea + .help-block,\n.form-horizontal .uneditable-input + .help-block,\n.form-horizontal .input-prepend + .help-block,\n.form-horizontal .input-append + .help-block {\n  margin-top: 10px;\n}\n\n.form-horizontal .form-actions {\n  padding-left: 180px;\n}\n\ntable {\n  max-width: 100%;\n  background-color: transparent;\n  border-collapse: collapse;\n  border-spacing: 0;\n}\n\n.table {\n  width: 100%;\n  margin-bottom: 20px;\n}\n\n.table th,\n.table td {\n  padding: 8px;\n  line-height: 20px;\n  text-align: left;\n  vertical-align: top;\n  border-top: 1px solid #dddddd;\n}\n\n.table th {\n  font-weight: bold;\n}\n\n.table thead th {\n  vertical-align: bottom;\n}\n\n.table caption + thead tr:first-child th,\n.table caption + thead tr:first-child td,\n.table colgroup + thead tr:first-child th,\n.table colgroup + thead tr:first-child td,\n.table thead:first-child tr:first-child th,\n.table thead:first-child tr:first-child td {\n  border-top: 0;\n}\n\n.table tbody + tbody {\n  border-top: 2px solid #dddddd;\n}\n\n.table .table {\n  background-color: #ffffff;\n}\n\n.table-condensed th,\n.table-condensed td {\n  padding: 4px 5px;\n}\n\n.table-bordered {\n  border: 1px solid #dddddd;\n  border-collapse: separate;\n  *border-collapse: collapse;\n  border-left: 0;\n  -webkit-border-radius: 4px;\n     -moz-border-radius: 4px;\n          border-radius: 4px;\n}\n\n.table-bordered th,\n.table-bordered td {\n  border-left: 1px solid #dddddd;\n}\n\n.table-bordered caption + thead tr:first-child th,\n.table-bordered caption + tbody tr:first-child th,\n.table-bordered caption + tbody tr:first-child td,\n.table-bordered colgroup + thead tr:first-child th,\n.table-bordered colgroup + tbody tr:first-child th,\n.table-bordered colgroup + tbody tr:first-child td,\n.table-bordered thead:first-child tr:first-child th,\n.table-bordered tbody:first-child tr:first-child th,\n.table-bordered tbody:first-child tr:first-child td {\n  border-top: 0;\n}\n\n.table-bordered thead:first-child tr:first-child > th:first-child,\n.table-bordered tbody:first-child tr:first-child > td:first-child,\n.table-bordered tbody:first-child tr:first-child > th:first-child {\n  -webkit-border-top-left-radius: 4px;\n          border-top-left-radius: 4px;\n  -moz-border-radius-topleft: 4px;\n}\n\n.table-bordered thead:first-child tr:first-child > th:last-child,\n.table-bordered tbody:first-child tr:first-child > td:last-child,\n.table-bordered tbody:first-child tr:first-child > th:last-child {\n  -webkit-border-top-right-radius: 4px;\n          border-top-right-radius: 4px;\n  -moz-border-radius-topright: 4px;\n}\n\n.table-bordered thead:last-child tr:last-child > th:first-child,\n.table-bordered tbody:last-child tr:last-child > td:first-child,\n.table-bordered tbody:last-child tr:last-child > th:first-child,\n.table-bordered tfoot:last-child tr:last-child > td:first-child,\n.table-bordered tfoot:last-child tr:last-child > th:first-child {\n  -webkit-border-bottom-left-radius: 4px;\n          border-bottom-left-radius: 4px;\n  -moz-border-radius-bottomleft: 4px;\n}\n\n.table-bordered thead:last-child tr:last-child > th:last-child,\n.table-bordered tbody:last-child tr:last-child > td:last-child,\n.table-bordered tbody:last-child tr:last-child > th:last-child,\n.table-bordered tfoot:last-child tr:last-child > td:last-child,\n.table-bordered tfoot:last-child tr:last-child > th:last-child {\n  -webkit-border-bottom-right-radius: 4px;\n          border-bottom-right-radius: 4px;\n  -moz-border-radius-bottomright: 4px;\n}\n\n.table-bordered tfoot + tbody:last-child tr:last-child td:first-child {\n  -webkit-border-bottom-left-radius: 0;\n          border-bottom-left-radius: 0;\n  -moz-border-radius-bottomleft: 0;\n}\n\n.table-bordered tfoot + tbody:last-child tr:last-child td:last-child {\n  -webkit-border-bottom-right-radius: 0;\n          border-bottom-right-radius: 0;\n  -moz-border-radius-bottomright: 0;\n}\n\n.table-bordered caption + thead tr:first-child th:first-child,\n.table-bordered caption + tbody tr:first-child td:first-child,\n.table-bordered colgroup + thead tr:first-child th:first-child,\n.table-bordered colgroup + tbody tr:first-child td:first-child {\n  -webkit-border-top-left-radius: 4px;\n          border-top-left-radius: 4px;\n  -moz-border-radius-topleft: 4px;\n}\n\n.table-bordered caption + thead tr:first-child th:last-child,\n.table-bordered caption + tbody tr:first-child td:last-child,\n.table-bordered colgroup + thead tr:first-child th:last-child,\n.table-bordered colgroup + tbody tr:first-child td:last-child {\n  -webkit-border-top-right-radius: 4px;\n          border-top-right-radius: 4px;\n  -moz-border-radius-topright: 4px;\n}\n\n.table-striped tbody > tr:nth-child(odd) > td,\n.table-striped tbody > tr:nth-child(odd) > th {\n  background-color: #f9f9f9;\n}\n\n.table-hover tbody tr:hover > td,\n.table-hover tbody tr:hover > th {\n  background-color: #f5f5f5;\n}\n\ntable td[class*=\"span\"],\ntable th[class*=\"span\"],\n.row-fluid table td[class*=\"span\"],\n.row-fluid table th[class*=\"span\"] {\n  display: table-cell;\n  float: none;\n  margin-left: 0;\n}\n\n.table td.span1,\n.table th.span1 {\n  float: none;\n  width: 44px;\n  margin-left: 0;\n}\n\n.table td.span2,\n.table th.span2 {\n  float: none;\n  width: 124px;\n  margin-left: 0;\n}\n\n.table td.span3,\n.table th.span3 {\n  float: none;\n  width: 204px;\n  margin-left: 0;\n}\n\n.table td.span4,\n.table th.span4 {\n  float: none;\n  width: 284px;\n  margin-left: 0;\n}\n\n.table td.span5,\n.table th.span5 {\n  float: none;\n  width: 364px;\n  margin-left: 0;\n}\n\n.table td.span6,\n.table th.span6 {\n  float: none;\n  width: 444px;\n  margin-left: 0;\n}\n\n.table td.span7,\n.table th.span7 {\n  float: none;\n  width: 524px;\n  margin-left: 0;\n}\n\n.table td.span8,\n.table th.span8 {\n  float: none;\n  width: 604px;\n  margin-left: 0;\n}\n\n.table td.span9,\n.table th.span9 {\n  float: none;\n  width: 684px;\n  margin-left: 0;\n}\n\n.table td.span10,\n.table th.span10 {\n  float: none;\n  width: 764px;\n  margin-left: 0;\n}\n\n.table td.span11,\n.table th.span11 {\n  float: none;\n  width: 844px;\n  margin-left: 0;\n}\n\n.table td.span12,\n.table th.span12 {\n  float: none;\n  width: 924px;\n  margin-left: 0;\n}\n\n.table tbody tr.success > td {\n  background-color: #dff0d8;\n}\n\n.table tbody tr.error > td {\n  background-color: #f2dede;\n}\n\n.table tbody tr.warning > td {\n  background-color: #fcf8e3;\n}\n\n.table tbody tr.info > td {\n  background-color: #d9edf7;\n}\n\n.table-hover tbody tr.success:hover > td {\n  background-color: #d0e9c6;\n}\n\n.table-hover tbody tr.error:hover > td {\n  background-color: #ebcccc;\n}\n\n.table-hover tbody tr.warning:hover > td {\n  background-color: #faf2cc;\n}\n\n.table-hover tbody tr.info:hover > td {\n  background-color: #c4e3f3;\n}\n\n[class^=\"icon-\"],\n[class*=\" icon-\"] {\n  display: inline-block;\n  width: 14px;\n  height: 14px;\n  margin-top: 1px;\n  *margin-right: .3em;\n  line-height: 14px;\n  vertical-align: text-top;\n  background-image: url(\"../img/glyphicons-halflings.png\");\n  background-position: 14px 14px;\n  background-repeat: no-repeat;\n}\n\n/* White icons with optional class, or on hover/focus/active states of certain elements */\n\n.icon-white,\n.nav-pills > .active > a > [class^=\"icon-\"],\n.nav-pills > .active > a > [class*=\" icon-\"],\n.nav-list > .active > a > [class^=\"icon-\"],\n.nav-list > .active > a > [class*=\" icon-\"],\n.navbar-inverse .nav > .active > a > [class^=\"icon-\"],\n.navbar-inverse .nav > .active > a > [class*=\" icon-\"],\n.dropdown-menu > li > a:hover > [class^=\"icon-\"],\n.dropdown-menu > li > a:focus > [class^=\"icon-\"],\n.dropdown-menu > li > a:hover > [class*=\" icon-\"],\n.dropdown-menu > li > a:focus > [class*=\" icon-\"],\n.dropdown-menu > .active > a > [class^=\"icon-\"],\n.dropdown-menu > .active > a > [class*=\" icon-\"],\n.dropdown-submenu:hover > a > [class^=\"icon-\"],\n.dropdown-submenu:focus > a > [class^=\"icon-\"],\n.dropdown-submenu:hover > a > [class*=\" icon-\"],\n.dropdown-submenu:focus > a > [class*=\" icon-\"] {\n  background-image: url(\"../img/glyphicons-halflings-white.png\");\n}\n\n.icon-glass {\n  background-position: 0      0;\n}\n\n.icon-music {\n  background-position: -24px 0;\n}\n\n.icon-search {\n  background-position: -48px 0;\n}\n\n.icon-envelope {\n  background-position: -72px 0;\n}\n\n.icon-heart {\n  background-position: -96px 0;\n}\n\n.icon-star {\n  background-position: -120px 0;\n}\n\n.icon-star-empty {\n  background-position: -144px 0;\n}\n\n.icon-user {\n  background-position: -168px 0;\n}\n\n.icon-film {\n  background-position: -192px 0;\n}\n\n.icon-th-large {\n  background-position: -216px 0;\n}\n\n.icon-th {\n  background-position: -240px 0;\n}\n\n.icon-th-list {\n  background-position: -264px 0;\n}\n\n.icon-ok {\n  background-position: -288px 0;\n}\n\n.icon-remove {\n  background-position: -312px 0;\n}\n\n.icon-zoom-in {\n  background-position: -336px 0;\n}\n\n.icon-zoom-out {\n  background-position: -360px 0;\n}\n\n.icon-off {\n  background-position: -384px 0;\n}\n\n.icon-signal {\n  background-position: -408px 0;\n}\n\n.icon-cog {\n  background-position: -432px 0;\n}\n\n.icon-trash {\n  background-position: -456px 0;\n}\n\n.icon-home {\n  background-position: 0 -24px;\n}\n\n.icon-file {\n  background-position: -24px -24px;\n}\n\n.icon-time {\n  background-position: -48px -24px;\n}\n\n.icon-road {\n  background-position: -72px -24px;\n}\n\n.icon-download-alt {\n  background-position: -96px -24px;\n}\n\n.icon-download {\n  background-position: -120px -24px;\n}\n\n.icon-upload {\n  background-position: -144px -24px;\n}\n\n.icon-inbox {\n  background-position: -168px -24px;\n}\n\n.icon-play-circle {\n  background-position: -192px -24px;\n}\n\n.icon-repeat {\n  background-position: -216px -24px;\n}\n\n.icon-refresh {\n  background-position: -240px -24px;\n}\n\n.icon-list-alt {\n  background-position: -264px -24px;\n}\n\n.icon-lock {\n  background-position: -287px -24px;\n}\n\n.icon-flag {\n  background-position: -312px -24px;\n}\n\n.icon-headphones {\n  background-position: -336px -24px;\n}\n\n.icon-volume-off {\n  background-position: -360px -24px;\n}\n\n.icon-volume-down {\n  background-position: -384px -24px;\n}\n\n.icon-volume-up {\n  background-position: -408px -24px;\n}\n\n.icon-qrcode {\n  background-position: -432px -24px;\n}\n\n.icon-barcode {\n  background-position: -456px -24px;\n}\n\n.icon-tag {\n  background-position: 0 -48px;\n}\n\n.icon-tags {\n  background-position: -25px -48px;\n}\n\n.icon-book {\n  background-position: -48px -48px;\n}\n\n.icon-bookmark {\n  background-position: -72px -48px;\n}\n\n.icon-print {\n  background-position: -96px -48px;\n}\n\n.icon-camera {\n  background-position: -120px -48px;\n}\n\n.icon-font {\n  background-position: -144px -48px;\n}\n\n.icon-bold {\n  background-position: -167px -48px;\n}\n\n.icon-italic {\n  background-position: -192px -48px;\n}\n\n.icon-text-height {\n  background-position: -216px -48px;\n}\n\n.icon-text-width {\n  background-position: -240px -48px;\n}\n\n.icon-align-left {\n  background-position: -264px -48px;\n}\n\n.icon-align-center {\n  background-position: -288px -48px;\n}\n\n.icon-align-right {\n  background-position: -312px -48px;\n}\n\n.icon-align-justify {\n  background-position: -336px -48px;\n}\n\n.icon-list {\n  background-position: -360px -48px;\n}\n\n.icon-indent-left {\n  background-position: -384px -48px;\n}\n\n.icon-indent-right {\n  background-position: -408px -48px;\n}\n\n.icon-facetime-video {\n  background-position: -432px -48px;\n}\n\n.icon-picture {\n  background-position: -456px -48px;\n}\n\n.icon-pencil {\n  background-position: 0 -72px;\n}\n\n.icon-map-marker {\n  background-position: -24px -72px;\n}\n\n.icon-adjust {\n  background-position: -48px -72px;\n}\n\n.icon-tint {\n  background-position: -72px -72px;\n}\n\n.icon-edit {\n  background-position: -96px -72px;\n}\n\n.icon-share {\n  background-position: -120px -72px;\n}\n\n.icon-check {\n  background-position: -144px -72px;\n}\n\n.icon-move {\n  background-position: -168px -72px;\n}\n\n.icon-step-backward {\n  background-position: -192px -72px;\n}\n\n.icon-fast-backward {\n  background-position: -216px -72px;\n}\n\n.icon-backward {\n  background-position: -240px -72px;\n}\n\n.icon-play {\n  background-position: -264px -72px;\n}\n\n.icon-pause {\n  background-position: -288px -72px;\n}\n\n.icon-stop {\n  background-position: -312px -72px;\n}\n\n.icon-forward {\n  background-position: -336px -72px;\n}\n\n.icon-fast-forward {\n  background-position: -360px -72px;\n}\n\n.icon-step-forward {\n  background-position: -384px -72px;\n}\n\n.icon-eject {\n  background-position: -408px -72px;\n}\n\n.icon-chevron-left {\n  background-position: -432px -72px;\n}\n\n.icon-chevron-right {\n  background-position: -456px -72px;\n}\n\n.icon-plus-sign {\n  background-position: 0 -96px;\n}\n\n.icon-minus-sign {\n  background-position: -24px -96px;\n}\n\n.icon-remove-sign {\n  background-position: -48px -96px;\n}\n\n.icon-ok-sign {\n  background-position: -72px -96px;\n}\n\n.icon-question-sign {\n  background-position: -96px -96px;\n}\n\n.icon-info-sign {\n  background-position: -120px -96px;\n}\n\n.icon-screenshot {\n  background-position: -144px -96px;\n}\n\n.icon-remove-circle {\n  background-position: -168px -96px;\n}\n\n.icon-ok-circle {\n  background-position: -192px -96px;\n}\n\n.icon-ban-circle {\n  background-position: -216px -96px;\n}\n\n.icon-arrow-left {\n  background-position: -240px -96px;\n}\n\n.icon-arrow-right {\n  background-position: -264px -96px;\n}\n\n.icon-arrow-up {\n  background-position: -289px -96px;\n}\n\n.icon-arrow-down {\n  background-position: -312px -96px;\n}\n\n.icon-share-alt {\n  background-position: -336px -96px;\n}\n\n.icon-resize-full {\n  background-position: -360px -96px;\n}\n\n.icon-resize-small {\n  background-position: -384px -96px;\n}\n\n.icon-plus {\n  background-position: -408px -96px;\n}\n\n.icon-minus {\n  background-position: -433px -96px;\n}\n\n.icon-asterisk {\n  background-position: -456px -96px;\n}\n\n.icon-exclamation-sign {\n  background-position: 0 -120px;\n}\n\n.icon-gift {\n  background-position: -24px -120px;\n}\n\n.icon-leaf {\n  background-position: -48px -120px;\n}\n\n.icon-fire {\n  background-position: -72px -120px;\n}\n\n.icon-eye-open {\n  background-position: -96px -120px;\n}\n\n.icon-eye-close {\n  background-position: -120px -120px;\n}\n\n.icon-warning-sign {\n  background-position: -144px -120px;\n}\n\n.icon-plane {\n  background-position: -168px -120px;\n}\n\n.icon-calendar {\n  background-position: -192px -120px;\n}\n\n.icon-random {\n  width: 16px;\n  background-position: -216px -120px;\n}\n\n.icon-comment {\n  background-position: -240px -120px;\n}\n\n.icon-magnet {\n  background-position: -264px -120px;\n}\n\n.icon-chevron-up {\n  background-position: -288px -120px;\n}\n\n.icon-chevron-down {\n  background-position: -313px -119px;\n}\n\n.icon-retweet {\n  background-position: -336px -120px;\n}\n\n.icon-shopping-cart {\n  background-position: -360px -120px;\n}\n\n.icon-folder-close {\n  width: 16px;\n  background-position: -384px -120px;\n}\n\n.icon-folder-open {\n  width: 16px;\n  background-position: -408px -120px;\n}\n\n.icon-resize-vertical {\n  background-position: -432px -119px;\n}\n\n.icon-resize-horizontal {\n  background-position: -456px -118px;\n}\n\n.icon-hdd {\n  background-position: 0 -144px;\n}\n\n.icon-bullhorn {\n  background-position: -24px -144px;\n}\n\n.icon-bell {\n  background-position: -48px -144px;\n}\n\n.icon-certificate {\n  background-position: -72px -144px;\n}\n\n.icon-thumbs-up {\n  background-position: -96px -144px;\n}\n\n.icon-thumbs-down {\n  background-position: -120px -144px;\n}\n\n.icon-hand-right {\n  background-position: -144px -144px;\n}\n\n.icon-hand-left {\n  background-position: -168px -144px;\n}\n\n.icon-hand-up {\n  background-position: -192px -144px;\n}\n\n.icon-hand-down {\n  background-position: -216px -144px;\n}\n\n.icon-circle-arrow-right {\n  background-position: -240px -144px;\n}\n\n.icon-circle-arrow-left {\n  background-position: -264px -144px;\n}\n\n.icon-circle-arrow-up {\n  background-position: -288px -144px;\n}\n\n.icon-circle-arrow-down {\n  background-position: -312px -144px;\n}\n\n.icon-globe {\n  background-position: -336px -144px;\n}\n\n.icon-wrench {\n  background-position: -360px -144px;\n}\n\n.icon-tasks {\n  background-position: -384px -144px;\n}\n\n.icon-filter {\n  background-position: -408px -144px;\n}\n\n.icon-briefcase {\n  background-position: -432px -144px;\n}\n\n.icon-fullscreen {\n  background-position: -456px -144px;\n}\n\n.dropup,\n.dropdown {\n  position: relative;\n}\n\n.dropdown-toggle {\n  *margin-bottom: -3px;\n}\n\n.dropdown-toggle:active,\n.open .dropdown-toggle {\n  outline: 0;\n}\n\n.caret {\n  display: inline-block;\n  width: 0;\n  height: 0;\n  vertical-align: top;\n  border-top: 4px solid #000000;\n  border-right: 4px solid transparent;\n  border-left: 4px solid transparent;\n  content: \"\";\n}\n\n.dropdown .caret {\n  margin-top: 8px;\n  margin-left: 2px;\n}\n\n.dropdown-menu {\n  position: absolute;\n  top: 100%;\n  left: 0;\n  z-index: 1000;\n  display: none;\n  float: left;\n  min-width: 160px;\n  padding: 5px 0;\n  margin: 2px 0 0;\n  list-style: none;\n  background-color: #ffffff;\n  border: 1px solid #ccc;\n  border: 1px solid rgba(0, 0, 0, 0.2);\n  *border-right-width: 2px;\n  *border-bottom-width: 2px;\n  -webkit-border-radius: 6px;\n     -moz-border-radius: 6px;\n          border-radius: 6px;\n  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n     -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n          box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n  -webkit-background-clip: padding-box;\n     -moz-background-clip: padding;\n          background-clip: padding-box;\n}\n\n.dropdown-menu.pull-right {\n  right: 0;\n  left: auto;\n}\n\n.dropdown-menu .divider {\n  *width: 100%;\n  height: 1px;\n  margin: 9px 1px;\n  *margin: -5px 0 5px;\n  overflow: hidden;\n  background-color: #e5e5e5;\n  border-bottom: 1px solid #ffffff;\n}\n\n.dropdown-menu > li > a {\n  display: block;\n  padding: 3px 20px;\n  clear: both;\n  font-weight: normal;\n  line-height: 20px;\n  color: #333333;\n  white-space: nowrap;\n}\n\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus,\n.dropdown-submenu:hover > a,\n.dropdown-submenu:focus > a {\n  color: #ffffff;\n  text-decoration: none;\n  background-color: #0081c2;\n  background-image: -moz-linear-gradient(top, #0088cc, #0077b3);\n  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0077b3));\n  background-image: -webkit-linear-gradient(top, #0088cc, #0077b3);\n  background-image: -o-linear-gradient(top, #0088cc, #0077b3);\n  background-image: linear-gradient(to bottom, #0088cc, #0077b3);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0);\n}\n\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n  color: #ffffff;\n  text-decoration: none;\n  background-color: #0081c2;\n  background-image: -moz-linear-gradient(top, #0088cc, #0077b3);\n  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0077b3));\n  background-image: -webkit-linear-gradient(top, #0088cc, #0077b3);\n  background-image: -o-linear-gradient(top, #0088cc, #0077b3);\n  background-image: linear-gradient(to bottom, #0088cc, #0077b3);\n  background-repeat: repeat-x;\n  outline: 0;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0);\n}\n\n.dropdown-menu > .disabled > a,\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n  color: #999999;\n}\n\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n  text-decoration: none;\n  cursor: default;\n  background-color: transparent;\n  background-image: none;\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);\n}\n\n.open {\n  *z-index: 1000;\n}\n\n.open > .dropdown-menu {\n  display: block;\n}\n\n.dropdown-backdrop {\n  position: fixed;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: 990;\n}\n\n.pull-right > .dropdown-menu {\n  right: 0;\n  left: auto;\n}\n\n.dropup .caret,\n.navbar-fixed-bottom .dropdown .caret {\n  border-top: 0;\n  border-bottom: 4px solid #000000;\n  content: \"\";\n}\n\n.dropup .dropdown-menu,\n.navbar-fixed-bottom .dropdown .dropdown-menu {\n  top: auto;\n  bottom: 100%;\n  margin-bottom: 1px;\n}\n\n.dropdown-submenu {\n  position: relative;\n}\n\n.dropdown-submenu > .dropdown-menu {\n  top: 0;\n  left: 100%;\n  margin-top: -6px;\n  margin-left: -1px;\n  -webkit-border-radius: 0 6px 6px 6px;\n     -moz-border-radius: 0 6px 6px 6px;\n          border-radius: 0 6px 6px 6px;\n}\n\n.dropdown-submenu:hover > .dropdown-menu {\n  display: block;\n}\n\n.dropup .dropdown-submenu > .dropdown-menu {\n  top: auto;\n  bottom: 0;\n  margin-top: 0;\n  margin-bottom: -2px;\n  -webkit-border-radius: 5px 5px 5px 0;\n     -moz-border-radius: 5px 5px 5px 0;\n          border-radius: 5px 5px 5px 0;\n}\n\n.dropdown-submenu > a:after {\n  display: block;\n  float: right;\n  width: 0;\n  height: 0;\n  margin-top: 5px;\n  margin-right: -10px;\n  border-color: transparent;\n  border-left-color: #cccccc;\n  border-style: solid;\n  border-width: 5px 0 5px 5px;\n  content: \" \";\n}\n\n.dropdown-submenu:hover > a:after {\n  border-left-color: #ffffff;\n}\n\n.dropdown-submenu.pull-left {\n  float: none;\n}\n\n.dropdown-submenu.pull-left > .dropdown-menu {\n  left: -100%;\n  margin-left: 10px;\n  -webkit-border-radius: 6px 0 6px 6px;\n     -moz-border-radius: 6px 0 6px 6px;\n          border-radius: 6px 0 6px 6px;\n}\n\n.dropdown .dropdown-menu .nav-header {\n  padding-right: 20px;\n  padding-left: 20px;\n}\n\n.typeahead {\n  z-index: 1051;\n  margin-top: 2px;\n  -webkit-border-radius: 4px;\n     -moz-border-radius: 4px;\n          border-radius: 4px;\n}\n\n.well {\n  min-height: 20px;\n  padding: 19px;\n  margin-bottom: 20px;\n  background-color: #f5f5f5;\n  border: 1px solid #e3e3e3;\n  -webkit-border-radius: 4px;\n     -moz-border-radius: 4px;\n          border-radius: 4px;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n     -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n          box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n}\n\n.well blockquote {\n  border-color: #ddd;\n  border-color: rgba(0, 0, 0, 0.15);\n}\n\n.well-large {\n  padding: 24px;\n  -webkit-border-radius: 6px;\n     -moz-border-radius: 6px;\n          border-radius: 6px;\n}\n\n.well-small {\n  padding: 9px;\n  -webkit-border-radius: 3px;\n     -moz-border-radius: 3px;\n          border-radius: 3px;\n}\n\n.fade {\n  opacity: 0;\n  -webkit-transition: opacity 0.15s linear;\n     -moz-transition: opacity 0.15s linear;\n       -o-transition: opacity 0.15s linear;\n          transition: opacity 0.15s linear;\n}\n\n.fade.in {\n  opacity: 1;\n}\n\n.collapse {\n  position: relative;\n  height: 0;\n  overflow: hidden;\n  -webkit-transition: height 0.35s ease;\n     -moz-transition: height 0.35s ease;\n       -o-transition: height 0.35s ease;\n          transition: height 0.35s ease;\n}\n\n.collapse.in {\n  height: auto;\n}\n\n.close {\n  float: right;\n  font-size: 20px;\n  font-weight: bold;\n  line-height: 20px;\n  color: #000000;\n  text-shadow: 0 1px 0 #ffffff;\n  opacity: 0.2;\n  filter: alpha(opacity=20);\n}\n\n.close:hover,\n.close:focus {\n  color: #000000;\n  text-decoration: none;\n  cursor: pointer;\n  opacity: 0.4;\n  filter: alpha(opacity=40);\n}\n\nbutton.close {\n  padding: 0;\n  cursor: pointer;\n  background: transparent;\n  border: 0;\n  -webkit-appearance: none;\n}\n\n.btn {\n  display: inline-block;\n  *display: inline;\n  padding: 4px 12px;\n  margin-bottom: 0;\n  *margin-left: .3em;\n  font-size: 14px;\n  line-height: 20px;\n  color: #333333;\n  text-align: center;\n  text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);\n  vertical-align: middle;\n  cursor: pointer;\n  background-color: #f5f5f5;\n  *background-color: #e6e6e6;\n  background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6);\n  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6));\n  background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6);\n  background-image: -o-linear-gradient(top, #ffffff, #e6e6e6);\n  background-image: linear-gradient(to bottom, #ffffff, #e6e6e6);\n  background-repeat: repeat-x;\n  border: 1px solid #cccccc;\n  *border: 0;\n  border-color: #e6e6e6 #e6e6e6 #bfbfbf;\n  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);\n  border-bottom-color: #b3b3b3;\n  -webkit-border-radius: 4px;\n     -moz-border-radius: 4px;\n          border-radius: 4px;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe6e6e6', GradientType=0);\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);\n  *zoom: 1;\n  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);\n     -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);\n          box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);\n}\n\n.btn:hover,\n.btn:focus,\n.btn:active,\n.btn.active,\n.btn.disabled,\n.btn[disabled] {\n  color: #333333;\n  background-color: #e6e6e6;\n  *background-color: #d9d9d9;\n}\n\n.btn:active,\n.btn.active {\n  background-color: #cccccc \\9;\n}\n\n.btn:first-child {\n  *margin-left: 0;\n}\n\n.btn:hover,\n.btn:focus {\n  color: #333333;\n  text-decoration: none;\n  background-position: 0 -15px;\n  -webkit-transition: background-position 0.1s linear;\n     -moz-transition: background-position 0.1s linear;\n       -o-transition: background-position 0.1s linear;\n          transition: background-position 0.1s linear;\n}\n\n.btn:focus {\n  outline: thin dotted #333;\n  outline: 5px auto -webkit-focus-ring-color;\n  outline-offset: -2px;\n}\n\n.btn.active,\n.btn:active {\n  background-image: none;\n  outline: 0;\n  -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);\n     -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);\n          box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);\n}\n\n.btn.disabled,\n.btn[disabled] {\n  cursor: default;\n  background-image: none;\n  opacity: 0.65;\n  filter: alpha(opacity=65);\n  -webkit-box-shadow: none;\n     -moz-box-shadow: none;\n          box-shadow: none;\n}\n\n.btn-large {\n  padding: 11px 19px;\n  font-size: 17.5px;\n  -webkit-border-radius: 6px;\n     -moz-border-radius: 6px;\n          border-radius: 6px;\n}\n\n.btn-large [class^=\"icon-\"],\n.btn-large [class*=\" icon-\"] {\n  margin-top: 4px;\n}\n\n.btn-small {\n  padding: 2px 10px;\n  font-size: 11.9px;\n  -webkit-border-radius: 3px;\n     -moz-border-radius: 3px;\n          border-radius: 3px;\n}\n\n.btn-small [class^=\"icon-\"],\n.btn-small [class*=\" icon-\"] {\n  margin-top: 0;\n}\n\n.btn-mini [class^=\"icon-\"],\n.btn-mini [class*=\" icon-\"] {\n  margin-top: -1px;\n}\n\n.btn-mini {\n  padding: 0 6px;\n  font-size: 10.5px;\n  -webkit-border-radius: 3px;\n     -moz-border-radius: 3px;\n          border-radius: 3px;\n}\n\n.btn-block {\n  display: block;\n  width: 100%;\n  padding-right: 0;\n  padding-left: 0;\n  -webkit-box-sizing: border-box;\n     -moz-box-sizing: border-box;\n          box-sizing: border-box;\n}\n\n.btn-block + .btn-block {\n  margin-top: 5px;\n}\n\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n  width: 100%;\n}\n\n.btn-primary.active,\n.btn-warning.active,\n.btn-danger.active,\n.btn-success.active,\n.btn-info.active,\n.btn-inverse.active {\n  color: rgba(255, 255, 255, 0.75);\n}\n\n.btn-primary {\n  color: #ffffff;\n  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);\n  background-color: #006dcc;\n  *background-color: #0044cc;\n  background-image: -moz-linear-gradient(top, #0088cc, #0044cc);\n  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc));\n  background-image: -webkit-linear-gradient(top, #0088cc, #0044cc);\n  background-image: -o-linear-gradient(top, #0088cc, #0044cc);\n  background-image: linear-gradient(to bottom, #0088cc, #0044cc);\n  background-repeat: repeat-x;\n  border-color: #0044cc #0044cc #002a80;\n  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0044cc', GradientType=0);\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);\n}\n\n.btn-primary:hover,\n.btn-primary:focus,\n.btn-primary:active,\n.btn-primary.active,\n.btn-primary.disabled,\n.btn-primary[disabled] {\n  color: #ffffff;\n  background-color: #0044cc;\n  *background-color: #003bb3;\n}\n\n.btn-primary:active,\n.btn-primary.active {\n  background-color: #003399 \\9;\n}\n\n.btn-warning {\n  color: #ffffff;\n  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);\n  background-color: #faa732;\n  *background-color: #f89406;\n  background-image: -moz-linear-gradient(top, #fbb450, #f89406);\n  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406));\n  background-image: -webkit-linear-gradient(top, #fbb450, #f89406);\n  background-image: -o-linear-gradient(top, #fbb450, #f89406);\n  background-image: linear-gradient(to bottom, #fbb450, #f89406);\n  background-repeat: repeat-x;\n  border-color: #f89406 #f89406 #ad6704;\n  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450', endColorstr='#fff89406', GradientType=0);\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);\n}\n\n.btn-warning:hover,\n.btn-warning:focus,\n.btn-warning:active,\n.btn-warning.active,\n.btn-warning.disabled,\n.btn-warning[disabled] {\n  color: #ffffff;\n  background-color: #f89406;\n  *background-color: #df8505;\n}\n\n.btn-warning:active,\n.btn-warning.active {\n  background-color: #c67605 \\9;\n}\n\n.btn-danger {\n  color: #ffffff;\n  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);\n  background-color: #da4f49;\n  *background-color: #bd362f;\n  background-image: -moz-linear-gradient(top, #ee5f5b, #bd362f);\n  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#bd362f));\n  background-image: -webkit-linear-gradient(top, #ee5f5b, #bd362f);\n  background-image: -o-linear-gradient(top, #ee5f5b, #bd362f);\n  background-image: linear-gradient(to bottom, #ee5f5b, #bd362f);\n  background-repeat: repeat-x;\n  border-color: #bd362f #bd362f #802420;\n  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b', endColorstr='#ffbd362f', GradientType=0);\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);\n}\n\n.btn-danger:hover,\n.btn-danger:focus,\n.btn-danger:active,\n.btn-danger.active,\n.btn-danger.disabled,\n.btn-danger[disabled] {\n  color: #ffffff;\n  background-color: #bd362f;\n  *background-color: #a9302a;\n}\n\n.btn-danger:active,\n.btn-danger.active {\n  background-color: #942a25 \\9;\n}\n\n.btn-success {\n  color: #ffffff;\n  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);\n  background-color: #5bb75b;\n  *background-color: #51a351;\n  background-image: -moz-linear-gradient(top, #62c462, #51a351);\n  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#51a351));\n  background-image: -webkit-linear-gradient(top, #62c462, #51a351);\n  background-image: -o-linear-gradient(top, #62c462, #51a351);\n  background-image: linear-gradient(to bottom, #62c462, #51a351);\n  background-repeat: repeat-x;\n  border-color: #51a351 #51a351 #387038;\n  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462', endColorstr='#ff51a351', GradientType=0);\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);\n}\n\n.btn-success:hover,\n.btn-success:focus,\n.btn-success:active,\n.btn-success.active,\n.btn-success.disabled,\n.btn-success[disabled] {\n  color: #ffffff;\n  background-color: #51a351;\n  *background-color: #499249;\n}\n\n.btn-success:active,\n.btn-success.active {\n  background-color: #408140 \\9;\n}\n\n.btn-info {\n  color: #ffffff;\n  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);\n  background-color: #49afcd;\n  *background-color: #2f96b4;\n  background-image: -moz-linear-gradient(top, #5bc0de, #2f96b4);\n  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#2f96b4));\n  background-image: -webkit-linear-gradient(top, #5bc0de, #2f96b4);\n  background-image: -o-linear-gradient(top, #5bc0de, #2f96b4);\n  background-image: linear-gradient(to bottom, #5bc0de, #2f96b4);\n  background-repeat: repeat-x;\n  border-color: #2f96b4 #2f96b4 #1f6377;\n  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2f96b4', GradientType=0);\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);\n}\n\n.btn-info:hover,\n.btn-info:focus,\n.btn-info:active,\n.btn-info.active,\n.btn-info.disabled,\n.btn-info[disabled] {\n  color: #ffffff;\n  background-color: #2f96b4;\n  *background-color: #2a85a0;\n}\n\n.btn-info:active,\n.btn-info.active {\n  background-color: #24748c \\9;\n}\n\n.btn-inverse {\n  color: #ffffff;\n  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);\n  background-color: #363636;\n  *background-color: #222222;\n  background-image: -moz-linear-gradient(top, #444444, #222222);\n  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#444444), to(#222222));\n  background-image: -webkit-linear-gradient(top, #444444, #222222);\n  background-image: -o-linear-gradient(top, #444444, #222222);\n  background-image: linear-gradient(to bottom, #444444, #222222);\n  background-repeat: repeat-x;\n  border-color: #222222 #222222 #000000;\n  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff444444', endColorstr='#ff222222', GradientType=0);\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);\n}\n\n.btn-inverse:hover,\n.btn-inverse:focus,\n.btn-inverse:active,\n.btn-inverse.active,\n.btn-inverse.disabled,\n.btn-inverse[disabled] {\n  color: #ffffff;\n  background-color: #222222;\n  *background-color: #151515;\n}\n\n.btn-inverse:active,\n.btn-inverse.active {\n  background-color: #080808 \\9;\n}\n\nbutton.btn,\ninput[type=\"submit\"].btn {\n  *padding-top: 3px;\n  *padding-bottom: 3px;\n}\n\nbutton.btn::-moz-focus-inner,\ninput[type=\"submit\"].btn::-moz-focus-inner {\n  padding: 0;\n  border: 0;\n}\n\nbutton.btn.btn-large,\ninput[type=\"submit\"].btn.btn-large {\n  *padding-top: 7px;\n  *padding-bottom: 7px;\n}\n\nbutton.btn.btn-small,\ninput[type=\"submit\"].btn.btn-small {\n  *padding-top: 3px;\n  *padding-bottom: 3px;\n}\n\nbutton.btn.btn-mini,\ninput[type=\"submit\"].btn.btn-mini {\n  *padding-top: 1px;\n  *padding-bottom: 1px;\n}\n\n.btn-link,\n.btn-link:active,\n.btn-link[disabled] {\n  background-color: transparent;\n  background-image: none;\n  -webkit-box-shadow: none;\n     -moz-box-shadow: none;\n          box-shadow: none;\n}\n\n.btn-link {\n  color: #0088cc;\n  cursor: pointer;\n  border-color: transparent;\n  -webkit-border-radius: 0;\n     -moz-border-radius: 0;\n          border-radius: 0;\n}\n\n.btn-link:hover,\n.btn-link:focus {\n  color: #005580;\n  text-decoration: underline;\n  background-color: transparent;\n}\n\n.btn-link[disabled]:hover,\n.btn-link[disabled]:focus {\n  color: #333333;\n  text-decoration: none;\n}\n\n.btn-group {\n  position: relative;\n  display: inline-block;\n  *display: inline;\n  *margin-left: .3em;\n  font-size: 0;\n  white-space: nowrap;\n  vertical-align: middle;\n  *zoom: 1;\n}\n\n.btn-group:first-child {\n  *margin-left: 0;\n}\n\n.btn-group + .btn-group {\n  margin-left: 5px;\n}\n\n.btn-toolbar {\n  margin-top: 10px;\n  margin-bottom: 10px;\n  font-size: 0;\n}\n\n.btn-toolbar > .btn + .btn,\n.btn-toolbar > .btn-group + .btn,\n.btn-toolbar > .btn + .btn-group {\n  margin-left: 5px;\n}\n\n.btn-group > .btn {\n  position: relative;\n  -webkit-border-radius: 0;\n     -moz-border-radius: 0;\n          border-radius: 0;\n}\n\n.btn-group > .btn + .btn {\n  margin-left: -1px;\n}\n\n.btn-group > .btn,\n.btn-group > .dropdown-menu,\n.btn-group > .popover {\n  font-size: 14px;\n}\n\n.btn-group > .btn-mini {\n  font-size: 10.5px;\n}\n\n.btn-group > .btn-small {\n  font-size: 11.9px;\n}\n\n.btn-group > .btn-large {\n  font-size: 17.5px;\n}\n\n.btn-group > .btn:first-child {\n  margin-left: 0;\n  -webkit-border-bottom-left-radius: 4px;\n          border-bottom-left-radius: 4px;\n  -webkit-border-top-left-radius: 4px;\n          border-top-left-radius: 4px;\n  -moz-border-radius-bottomleft: 4px;\n  -moz-border-radius-topleft: 4px;\n}\n\n.btn-group > .btn:last-child,\n.btn-group > .dropdown-toggle {\n  -webkit-border-top-right-radius: 4px;\n          border-top-right-radius: 4px;\n  -webkit-border-bottom-right-radius: 4px;\n          border-bottom-right-radius: 4px;\n  -moz-border-radius-topright: 4px;\n  -moz-border-radius-bottomright: 4px;\n}\n\n.btn-group > .btn.large:first-child {\n  margin-left: 0;\n  -webkit-border-bottom-left-radius: 6px;\n          border-bottom-left-radius: 6px;\n  -webkit-border-top-left-radius: 6px;\n          border-top-left-radius: 6px;\n  -moz-border-radius-bottomleft: 6px;\n  -moz-border-radius-topleft: 6px;\n}\n\n.btn-group > .btn.large:last-child,\n.btn-group > .large.dropdown-toggle {\n  -webkit-border-top-right-radius: 6px;\n          border-top-right-radius: 6px;\n  -webkit-border-bottom-right-radius: 6px;\n          border-bottom-right-radius: 6px;\n  -moz-border-radius-topright: 6px;\n  -moz-border-radius-bottomright: 6px;\n}\n\n.btn-group > .btn:hover,\n.btn-group > .btn:focus,\n.btn-group > .btn:active,\n.btn-group > .btn.active {\n  z-index: 2;\n}\n\n.btn-group .dropdown-toggle:active,\n.btn-group.open .dropdown-toggle {\n  outline: 0;\n}\n\n.btn-group > .btn + .dropdown-toggle {\n  *padding-top: 5px;\n  padding-right: 8px;\n  *padding-bottom: 5px;\n  padding-left: 8px;\n  -webkit-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);\n     -moz-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);\n          box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);\n}\n\n.btn-group > .btn-mini + .dropdown-toggle {\n  *padding-top: 2px;\n  padding-right: 5px;\n  *padding-bottom: 2px;\n  padding-left: 5px;\n}\n\n.btn-group > .btn-small + .dropdown-toggle {\n  *padding-top: 5px;\n  *padding-bottom: 4px;\n}\n\n.btn-group > .btn-large + .dropdown-toggle {\n  *padding-top: 7px;\n  padding-right: 12px;\n  *padding-bottom: 7px;\n  padding-left: 12px;\n}\n\n.btn-group.open .dropdown-toggle {\n  background-image: none;\n  -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);\n     -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);\n          box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);\n}\n\n.btn-group.open .btn.dropdown-toggle {\n  background-color: #e6e6e6;\n}\n\n.btn-group.open .btn-primary.dropdown-toggle {\n  background-color: #0044cc;\n}\n\n.btn-group.open .btn-warning.dropdown-toggle {\n  background-color: #f89406;\n}\n\n.btn-group.open .btn-danger.dropdown-toggle {\n  background-color: #bd362f;\n}\n\n.btn-group.open .btn-success.dropdown-toggle {\n  background-color: #51a351;\n}\n\n.btn-group.open .btn-info.dropdown-toggle {\n  background-color: #2f96b4;\n}\n\n.btn-group.open .btn-inverse.dropdown-toggle {\n  background-color: #222222;\n}\n\n.btn .caret {\n  margin-top: 8px;\n  margin-left: 0;\n}\n\n.btn-large .caret {\n  margin-top: 6px;\n}\n\n.btn-large .caret {\n  border-top-width: 5px;\n  border-right-width: 5px;\n  border-left-width: 5px;\n}\n\n.btn-mini .caret,\n.btn-small .caret {\n  margin-top: 8px;\n}\n\n.dropup .btn-large .caret {\n  border-bottom-width: 5px;\n}\n\n.btn-primary .caret,\n.btn-warning .caret,\n.btn-danger .caret,\n.btn-info .caret,\n.btn-success .caret,\n.btn-inverse .caret {\n  border-top-color: #ffffff;\n  border-bottom-color: #ffffff;\n}\n\n.btn-group-vertical {\n  display: inline-block;\n  *display: inline;\n  /* IE7 inline-block hack */\n\n  *zoom: 1;\n}\n\n.btn-group-vertical > .btn {\n  display: block;\n  float: none;\n  max-width: 100%;\n  -webkit-border-radius: 0;\n     -moz-border-radius: 0;\n          border-radius: 0;\n}\n\n.btn-group-vertical > .btn + .btn {\n  margin-top: -1px;\n  margin-left: 0;\n}\n\n.btn-group-vertical > .btn:first-child {\n  -webkit-border-radius: 4px 4px 0 0;\n     -moz-border-radius: 4px 4px 0 0;\n          border-radius: 4px 4px 0 0;\n}\n\n.btn-group-vertical > .btn:last-child {\n  -webkit-border-radius: 0 0 4px 4px;\n     -moz-border-radius: 0 0 4px 4px;\n          border-radius: 0 0 4px 4px;\n}\n\n.btn-group-vertical > .btn-large:first-child {\n  -webkit-border-radius: 6px 6px 0 0;\n     -moz-border-radius: 6px 6px 0 0;\n          border-radius: 6px 6px 0 0;\n}\n\n.btn-group-vertical > .btn-large:last-child {\n  -webkit-border-radius: 0 0 6px 6px;\n     -moz-border-radius: 0 0 6px 6px;\n          border-radius: 0 0 6px 6px;\n}\n\n.alert {\n  padding: 8px 35px 8px 14px;\n  margin-bottom: 20px;\n  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);\n  background-color: #fcf8e3;\n  border: 1px solid #fbeed5;\n  -webkit-border-radius: 4px;\n     -moz-border-radius: 4px;\n          border-radius: 4px;\n}\n\n.alert,\n.alert h4 {\n  color: #c09853;\n}\n\n.alert h4 {\n  margin: 0;\n}\n\n.alert .close {\n  position: relative;\n  top: -2px;\n  right: -21px;\n  line-height: 20px;\n}\n\n.alert-success {\n  color: #468847;\n  background-color: #dff0d8;\n  border-color: #d6e9c6;\n}\n\n.alert-success h4 {\n  color: #468847;\n}\n\n.alert-danger,\n.alert-error {\n  color: #b94a48;\n  background-color: #f2dede;\n  border-color: #eed3d7;\n}\n\n.alert-danger h4,\n.alert-error h4 {\n  color: #b94a48;\n}\n\n.alert-info {\n  color: #3a87ad;\n  background-color: #d9edf7;\n  border-color: #bce8f1;\n}\n\n.alert-info h4 {\n  color: #3a87ad;\n}\n\n.alert-block {\n  padding-top: 14px;\n  padding-bottom: 14px;\n}\n\n.alert-block > p,\n.alert-block > ul {\n  margin-bottom: 0;\n}\n\n.alert-block p + p {\n  margin-top: 5px;\n}\n\n.nav {\n  margin-bottom: 20px;\n  margin-left: 0;\n  list-style: none;\n}\n\n.nav > li > a {\n  display: block;\n}\n\n.nav > li > a:hover,\n.nav > li > a:focus {\n  text-decoration: none;\n  background-color: #eeeeee;\n}\n\n.nav > li > a > img {\n  max-width: none;\n}\n\n.nav > .pull-right {\n  float: right;\n}\n\n.nav-header {\n  display: block;\n  padding: 3px 15px;\n  font-size: 11px;\n  font-weight: bold;\n  line-height: 20px;\n  color: #999999;\n  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);\n  text-transform: uppercase;\n}\n\n.nav li + .nav-header {\n  margin-top: 9px;\n}\n\n.nav-list {\n  padding-right: 15px;\n  padding-left: 15px;\n  margin-bottom: 0;\n}\n\n.nav-list > li > a,\n.nav-list .nav-header {\n  margin-right: -15px;\n  margin-left: -15px;\n  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);\n}\n\n.nav-list > li > a {\n  padding: 3px 15px;\n}\n\n.nav-list > .active > a,\n.nav-list > .active > a:hover,\n.nav-list > .active > a:focus {\n  color: #ffffff;\n  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);\n  background-color: #0088cc;\n}\n\n.nav-list [class^=\"icon-\"],\n.nav-list [class*=\" icon-\"] {\n  margin-right: 2px;\n}\n\n.nav-list .divider {\n  *width: 100%;\n  height: 1px;\n  margin: 9px 1px;\n  *margin: -5px 0 5px;\n  overflow: hidden;\n  background-color: #e5e5e5;\n  border-bottom: 1px solid #ffffff;\n}\n\n.nav-tabs,\n.nav-pills {\n  *zoom: 1;\n}\n\n.nav-tabs:before,\n.nav-pills:before,\n.nav-tabs:after,\n.nav-pills:after {\n  display: table;\n  line-height: 0;\n  content: \"\";\n}\n\n.nav-tabs:after,\n.nav-pills:after {\n  clear: both;\n}\n\n.nav-tabs > li,\n.nav-pills > li {\n  float: left;\n}\n\n.nav-tabs > li > a,\n.nav-pills > li > a {\n  padding-right: 12px;\n  padding-left: 12px;\n  margin-right: 2px;\n  line-height: 14px;\n}\n\n.nav-tabs {\n  border-bottom: 1px solid #ddd;\n}\n\n.nav-tabs > li {\n  margin-bottom: -1px;\n}\n\n.nav-tabs > li > a {\n  padding-top: 8px;\n  padding-bottom: 8px;\n  line-height: 20px;\n  border: 1px solid transparent;\n  -webkit-border-radius: 4px 4px 0 0;\n     -moz-border-radius: 4px 4px 0 0;\n          border-radius: 4px 4px 0 0;\n}\n\n.nav-tabs > li > a:hover,\n.nav-tabs > li > a:focus {\n  border-color: #eeeeee #eeeeee #dddddd;\n}\n\n.nav-tabs > .active > a,\n.nav-tabs > .active > a:hover,\n.nav-tabs > .active > a:focus {\n  color: #555555;\n  cursor: default;\n  background-color: #ffffff;\n  border: 1px solid #ddd;\n  border-bottom-color: transparent;\n}\n\n.nav-pills > li > a {\n  padding-top: 8px;\n  padding-bottom: 8px;\n  margin-top: 2px;\n  margin-bottom: 2px;\n  -webkit-border-radius: 5px;\n     -moz-border-radius: 5px;\n          border-radius: 5px;\n}\n\n.nav-pills > .active > a,\n.nav-pills > .active > a:hover,\n.nav-pills > .active > a:focus {\n  color: #ffffff;\n  background-color: #0088cc;\n}\n\n.nav-stacked > li {\n  float: none;\n}\n\n.nav-stacked > li > a {\n  margin-right: 0;\n}\n\n.nav-tabs.nav-stacked {\n  border-bottom: 0;\n}\n\n.nav-tabs.nav-stacked > li > a {\n  border: 1px solid #ddd;\n  -webkit-border-radius: 0;\n     -moz-border-radius: 0;\n          border-radius: 0;\n}\n\n.nav-tabs.nav-stacked > li:first-child > a {\n  -webkit-border-top-right-radius: 4px;\n          border-top-right-radius: 4px;\n  -webkit-border-top-left-radius: 4px;\n          border-top-left-radius: 4px;\n  -moz-border-radius-topright: 4px;\n  -moz-border-radius-topleft: 4px;\n}\n\n.nav-tabs.nav-stacked > li:last-child > a {\n  -webkit-border-bottom-right-radius: 4px;\n          border-bottom-right-radius: 4px;\n  -webkit-border-bottom-left-radius: 4px;\n          border-bottom-left-radius: 4px;\n  -moz-border-radius-bottomright: 4px;\n  -moz-border-radius-bottomleft: 4px;\n}\n\n.nav-tabs.nav-stacked > li > a:hover,\n.nav-tabs.nav-stacked > li > a:focus {\n  z-index: 2;\n  border-color: #ddd;\n}\n\n.nav-pills.nav-stacked > li > a {\n  margin-bottom: 3px;\n}\n\n.nav-pills.nav-stacked > li:last-child > a {\n  margin-bottom: 1px;\n}\n\n.nav-tabs .dropdown-menu {\n  -webkit-border-radius: 0 0 6px 6px;\n     -moz-border-radius: 0 0 6px 6px;\n          border-radius: 0 0 6px 6px;\n}\n\n.nav-pills .dropdown-menu {\n  -webkit-border-radius: 6px;\n     -moz-border-radius: 6px;\n          border-radius: 6px;\n}\n\n.nav .dropdown-toggle .caret {\n  margin-top: 6px;\n  border-top-color: #0088cc;\n  border-bottom-color: #0088cc;\n}\n\n.nav .dropdown-toggle:hover .caret,\n.nav .dropdown-toggle:focus .caret {\n  border-top-color: #005580;\n  border-bottom-color: #005580;\n}\n\n/* move down carets for tabs */\n\n.nav-tabs .dropdown-toggle .caret {\n  margin-top: 8px;\n}\n\n.nav .active .dropdown-toggle .caret {\n  border-top-color: #fff;\n  border-bottom-color: #fff;\n}\n\n.nav-tabs .active .dropdown-toggle .caret {\n  border-top-color: #555555;\n  border-bottom-color: #555555;\n}\n\n.nav > .dropdown.active > a:hover,\n.nav > .dropdown.active > a:focus {\n  cursor: pointer;\n}\n\n.nav-tabs .open .dropdown-toggle,\n.nav-pills .open .dropdown-toggle,\n.nav > li.dropdown.open.active > a:hover,\n.nav > li.dropdown.open.active > a:focus {\n  color: #ffffff;\n  background-color: #999999;\n  border-color: #999999;\n}\n\n.nav li.dropdown.open .caret,\n.nav li.dropdown.open.active .caret,\n.nav li.dropdown.open a:hover .caret,\n.nav li.dropdown.open a:focus .caret {\n  border-top-color: #ffffff;\n  border-bottom-color: #ffffff;\n  opacity: 1;\n  filter: alpha(opacity=100);\n}\n\n.tabs-stacked .open > a:hover,\n.tabs-stacked .open > a:focus {\n  border-color: #999999;\n}\n\n.tabbable {\n  *zoom: 1;\n}\n\n.tabbable:before,\n.tabbable:after {\n  display: table;\n  line-height: 0;\n  content: \"\";\n}\n\n.tabbable:after {\n  clear: both;\n}\n\n.tab-content {\n  overflow: auto;\n}\n\n.tabs-below > .nav-tabs,\n.tabs-right > .nav-tabs,\n.tabs-left > .nav-tabs {\n  border-bottom: 0;\n}\n\n.tab-content > .tab-pane,\n.pill-content > .pill-pane {\n  display: none;\n}\n\n.tab-content > .active,\n.pill-content > .active {\n  display: block;\n}\n\n.tabs-below > .nav-tabs {\n  border-top: 1px solid #ddd;\n}\n\n.tabs-below > .nav-tabs > li {\n  margin-top: -1px;\n  margin-bottom: 0;\n}\n\n.tabs-below > .nav-tabs > li > a {\n  -webkit-border-radius: 0 0 4px 4px;\n     -moz-border-radius: 0 0 4px 4px;\n          border-radius: 0 0 4px 4px;\n}\n\n.tabs-below > .nav-tabs > li > a:hover,\n.tabs-below > .nav-tabs > li > a:focus {\n  border-top-color: #ddd;\n  border-bottom-color: transparent;\n}\n\n.tabs-below > .nav-tabs > .active > a,\n.tabs-below > .nav-tabs > .active > a:hover,\n.tabs-below > .nav-tabs > .active > a:focus {\n  border-color: transparent #ddd #ddd #ddd;\n}\n\n.tabs-left > .nav-tabs > li,\n.tabs-right > .nav-tabs > li {\n  float: none;\n}\n\n.tabs-left > .nav-tabs > li > a,\n.tabs-right > .nav-tabs > li > a {\n  min-width: 74px;\n  margin-right: 0;\n  margin-bottom: 3px;\n}\n\n.tabs-left > .nav-tabs {\n  float: left;\n  margin-right: 19px;\n  border-right: 1px solid #ddd;\n}\n\n.tabs-left > .nav-tabs > li > a {\n  margin-right: -1px;\n  -webkit-border-radius: 4px 0 0 4px;\n     -moz-border-radius: 4px 0 0 4px;\n          border-radius: 4px 0 0 4px;\n}\n\n.tabs-left > .nav-tabs > li > a:hover,\n.tabs-left > .nav-tabs > li > a:focus {\n  border-color: #eeeeee #dddddd #eeeeee #eeeeee;\n}\n\n.tabs-left > .nav-tabs .active > a,\n.tabs-left > .nav-tabs .active > a:hover,\n.tabs-left > .nav-tabs .active > a:focus {\n  border-color: #ddd transparent #ddd #ddd;\n  *border-right-color: #ffffff;\n}\n\n.tabs-right > .nav-tabs {\n  float: right;\n  margin-left: 19px;\n  border-left: 1px solid #ddd;\n}\n\n.tabs-right > .nav-tabs > li > a {\n  margin-left: -1px;\n  -webkit-border-radius: 0 4px 4px 0;\n     -moz-border-radius: 0 4px 4px 0;\n          border-radius: 0 4px 4px 0;\n}\n\n.tabs-right > .nav-tabs > li > a:hover,\n.tabs-right > .nav-tabs > li > a:focus {\n  border-color: #eeeeee #eeeeee #eeeeee #dddddd;\n}\n\n.tabs-right > .nav-tabs .active > a,\n.tabs-right > .nav-tabs .active > a:hover,\n.tabs-right > .nav-tabs .active > a:focus {\n  border-color: #ddd #ddd #ddd transparent;\n  *border-left-color: #ffffff;\n}\n\n.nav > .disabled > a {\n  color: #999999;\n}\n\n.nav > .disabled > a:hover,\n.nav > .disabled > a:focus {\n  text-decoration: none;\n  cursor: default;\n  background-color: transparent;\n}\n\n.navbar {\n  *position: relative;\n  *z-index: 2;\n  margin-bottom: 20px;\n  overflow: visible;\n}\n\n.navbar-inner {\n  min-height: 40px;\n  padding-right: 20px;\n  padding-left: 20px;\n  background-color: #fafafa;\n  background-image: -moz-linear-gradient(top, #ffffff, #f2f2f2);\n  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#f2f2f2));\n  background-image: -webkit-linear-gradient(top, #ffffff, #f2f2f2);\n  background-image: -o-linear-gradient(top, #ffffff, #f2f2f2);\n  background-image: linear-gradient(to bottom, #ffffff, #f2f2f2);\n  background-repeat: repeat-x;\n  border: 1px solid #d4d4d4;\n  -webkit-border-radius: 4px;\n     -moz-border-radius: 4px;\n          border-radius: 4px;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff2f2f2', GradientType=0);\n  *zoom: 1;\n  -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065);\n     -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065);\n          box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065);\n}\n\n.navbar-inner:before,\n.navbar-inner:after {\n  display: table;\n  line-height: 0;\n  content: \"\";\n}\n\n.navbar-inner:after {\n  clear: both;\n}\n\n.navbar .container {\n  width: auto;\n}\n\n.nav-collapse.collapse {\n  height: auto;\n  overflow: visible;\n}\n\n.navbar .brand {\n  display: block;\n  float: left;\n  padding: 10px 20px 10px;\n  margin-left: -20px;\n  font-size: 20px;\n  font-weight: 200;\n  color: #777777;\n  text-shadow: 0 1px 0 #ffffff;\n}\n\n.navbar .brand:hover,\n.navbar .brand:focus {\n  text-decoration: none;\n}\n\n.navbar-text {\n  margin-bottom: 0;\n  line-height: 40px;\n  color: #777777;\n}\n\n.navbar-link {\n  color: #777777;\n}\n\n.navbar-link:hover,\n.navbar-link:focus {\n  color: #333333;\n}\n\n.navbar .divider-vertical {\n  height: 40px;\n  margin: 0 9px;\n  border-right: 1px solid #ffffff;\n  border-left: 1px solid #f2f2f2;\n}\n\n.navbar .btn,\n.navbar .btn-group {\n  margin-top: 5px;\n}\n\n.navbar .btn-group .btn,\n.navbar .input-prepend .btn,\n.navbar .input-append .btn,\n.navbar .input-prepend .btn-group,\n.navbar .input-append .btn-group {\n  margin-top: 0;\n}\n\n.navbar-form {\n  margin-bottom: 0;\n  *zoom: 1;\n}\n\n.navbar-form:before,\n.navbar-form:after {\n  display: table;\n  line-height: 0;\n  content: \"\";\n}\n\n.navbar-form:after {\n  clear: both;\n}\n\n.navbar-form input,\n.navbar-form select,\n.navbar-form .radio,\n.navbar-form .checkbox {\n  margin-top: 5px;\n}\n\n.navbar-form input,\n.navbar-form select,\n.navbar-form .btn {\n  display: inline-block;\n  margin-bottom: 0;\n}\n\n.navbar-form input[type=\"image\"],\n.navbar-form input[type=\"checkbox\"],\n.navbar-form input[type=\"radio\"] {\n  margin-top: 3px;\n}\n\n.navbar-form .input-append,\n.navbar-form .input-prepend {\n  margin-top: 5px;\n  white-space: nowrap;\n}\n\n.navbar-form .input-append input,\n.navbar-form .input-prepend input {\n  margin-top: 0;\n}\n\n.navbar-search {\n  position: relative;\n  float: left;\n  margin-top: 5px;\n  margin-bottom: 0;\n}\n\n.navbar-search .search-query {\n  padding: 4px 14px;\n  margin-bottom: 0;\n  font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n  font-size: 13px;\n  font-weight: normal;\n  line-height: 1;\n  -webkit-border-radius: 15px;\n     -moz-border-radius: 15px;\n          border-radius: 15px;\n}\n\n.navbar-static-top {\n  position: static;\n  margin-bottom: 0;\n}\n\n.navbar-static-top .navbar-inner {\n  -webkit-border-radius: 0;\n     -moz-border-radius: 0;\n          border-radius: 0;\n}\n\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n  position: fixed;\n  right: 0;\n  left: 0;\n  z-index: 1030;\n  margin-bottom: 0;\n}\n\n.navbar-fixed-top .navbar-inner,\n.navbar-static-top .navbar-inner {\n  border-width: 0 0 1px;\n}\n\n.navbar-fixed-bottom .navbar-inner {\n  border-width: 1px 0 0;\n}\n\n.navbar-fixed-top .navbar-inner,\n.navbar-fixed-bottom .navbar-inner {\n  padding-right: 0;\n  padding-left: 0;\n  -webkit-border-radius: 0;\n     -moz-border-radius: 0;\n          border-radius: 0;\n}\n\n.navbar-static-top .container,\n.navbar-fixed-top .container,\n.navbar-fixed-bottom .container {\n  width: 940px;\n}\n\n.navbar-fixed-top {\n  top: 0;\n}\n\n.navbar-fixed-top .navbar-inner,\n.navbar-static-top .navbar-inner {\n  -webkit-box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1);\n     -moz-box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1);\n          box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1);\n}\n\n.navbar-fixed-bottom {\n  bottom: 0;\n}\n\n.navbar-fixed-bottom .navbar-inner {\n  -webkit-box-shadow: 0 -1px 10px rgba(0, 0, 0, 0.1);\n     -moz-box-shadow: 0 -1px 10px rgba(0, 0, 0, 0.1);\n          box-shadow: 0 -1px 10px rgba(0, 0, 0, 0.1);\n}\n\n.navbar .nav {\n  position: relative;\n  left: 0;\n  display: block;\n  float: left;\n  margin: 0 10px 0 0;\n}\n\n.navbar .nav.pull-right {\n  float: right;\n  margin-right: 0;\n}\n\n.navbar .nav > li {\n  float: left;\n}\n\n.navbar .nav > li > a {\n  float: none;\n  padding: 10px 15px 10px;\n  color: #777777;\n  text-decoration: none;\n  text-shadow: 0 1px 0 #ffffff;\n}\n\n.navbar .nav .dropdown-toggle .caret {\n  margin-top: 8px;\n}\n\n.navbar .nav > li > a:focus,\n.navbar .nav > li > a:hover {\n  color: #333333;\n  text-decoration: none;\n  background-color: transparent;\n}\n\n.navbar .nav > .active > a,\n.navbar .nav > .active > a:hover,\n.navbar .nav > .active > a:focus {\n  color: #555555;\n  text-decoration: none;\n  background-color: #e5e5e5;\n  -webkit-box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125);\n     -moz-box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125);\n          box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125);\n}\n\n.navbar .btn-navbar {\n  display: none;\n  float: right;\n  padding: 7px 10px;\n  margin-right: 5px;\n  margin-left: 5px;\n  color: #ffffff;\n  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);\n  background-color: #ededed;\n  *background-color: #e5e5e5;\n  background-image: -moz-linear-gradient(top, #f2f2f2, #e5e5e5);\n  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f2f2f2), to(#e5e5e5));\n  background-image: -webkit-linear-gradient(top, #f2f2f2, #e5e5e5);\n  background-image: -o-linear-gradient(top, #f2f2f2, #e5e5e5);\n  background-image: linear-gradient(to bottom, #f2f2f2, #e5e5e5);\n  background-repeat: repeat-x;\n  border-color: #e5e5e5 #e5e5e5 #bfbfbf;\n  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2f2f2', endColorstr='#ffe5e5e5', GradientType=0);\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);\n  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);\n     -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);\n          box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);\n}\n\n.navbar .btn-navbar:hover,\n.navbar .btn-navbar:focus,\n.navbar .btn-navbar:active,\n.navbar .btn-navbar.active,\n.navbar .btn-navbar.disabled,\n.navbar .btn-navbar[disabled] {\n  color: #ffffff;\n  background-color: #e5e5e5;\n  *background-color: #d9d9d9;\n}\n\n.navbar .btn-navbar:active,\n.navbar .btn-navbar.active {\n  background-color: #cccccc \\9;\n}\n\n.navbar .btn-navbar .icon-bar {\n  display: block;\n  width: 18px;\n  height: 2px;\n  background-color: #f5f5f5;\n  -webkit-border-radius: 1px;\n     -moz-border-radius: 1px;\n          border-radius: 1px;\n  -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);\n     -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);\n          box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);\n}\n\n.btn-navbar .icon-bar + .icon-bar {\n  margin-top: 3px;\n}\n\n.navbar .nav > li > .dropdown-menu:before {\n  position: absolute;\n  top: -7px;\n  left: 9px;\n  display: inline-block;\n  border-right: 7px solid transparent;\n  border-bottom: 7px solid #ccc;\n  border-left: 7px solid transparent;\n  border-bottom-color: rgba(0, 0, 0, 0.2);\n  content: '';\n}\n\n.navbar .nav > li > .dropdown-menu:after {\n  position: absolute;\n  top: -6px;\n  left: 10px;\n  display: inline-block;\n  border-right: 6px solid transparent;\n  border-bottom: 6px solid #ffffff;\n  border-left: 6px solid transparent;\n  content: '';\n}\n\n.navbar-fixed-bottom .nav > li > .dropdown-menu:before {\n  top: auto;\n  bottom: -7px;\n  border-top: 7px solid #ccc;\n  border-bottom: 0;\n  border-top-color: rgba(0, 0, 0, 0.2);\n}\n\n.navbar-fixed-bottom .nav > li > .dropdown-menu:after {\n  top: auto;\n  bottom: -6px;\n  border-top: 6px solid #ffffff;\n  border-bottom: 0;\n}\n\n.navbar .nav li.dropdown > a:hover .caret,\n.navbar .nav li.dropdown > a:focus .caret {\n  border-top-color: #333333;\n  border-bottom-color: #333333;\n}\n\n.navbar .nav li.dropdown.open > .dropdown-toggle,\n.navbar .nav li.dropdown.active > .dropdown-toggle,\n.navbar .nav li.dropdown.open.active > .dropdown-toggle {\n  color: #555555;\n  background-color: #e5e5e5;\n}\n\n.navbar .nav li.dropdown > .dropdown-toggle .caret {\n  border-top-color: #777777;\n  border-bottom-color: #777777;\n}\n\n.navbar .nav li.dropdown.open > .dropdown-toggle .caret,\n.navbar .nav li.dropdown.active > .dropdown-toggle .caret,\n.navbar .nav li.dropdown.open.active > .dropdown-toggle .caret {\n  border-top-color: #555555;\n  border-bottom-color: #555555;\n}\n\n.navbar .pull-right > li > .dropdown-menu,\n.navbar .nav > li > .dropdown-menu.pull-right {\n  right: 0;\n  left: auto;\n}\n\n.navbar .pull-right > li > .dropdown-menu:before,\n.navbar .nav > li > .dropdown-menu.pull-right:before {\n  right: 12px;\n  left: auto;\n}\n\n.navbar .pull-right > li > .dropdown-menu:after,\n.navbar .nav > li > .dropdown-menu.pull-right:after {\n  right: 13px;\n  left: auto;\n}\n\n.navbar .pull-right > li > .dropdown-menu .dropdown-menu,\n.navbar .nav > li > .dropdown-menu.pull-right .dropdown-menu {\n  right: 100%;\n  left: auto;\n  margin-right: -1px;\n  margin-left: 0;\n  -webkit-border-radius: 6px 0 6px 6px;\n     -moz-border-radius: 6px 0 6px 6px;\n          border-radius: 6px 0 6px 6px;\n}\n\n.navbar-inverse .navbar-inner {\n  background-color: #1b1b1b;\n  background-image: -moz-linear-gradient(top, #222222, #111111);\n  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#222222), to(#111111));\n  background-image: -webkit-linear-gradient(top, #222222, #111111);\n  background-image: -o-linear-gradient(top, #222222, #111111);\n  background-image: linear-gradient(to bottom, #222222, #111111);\n  background-repeat: repeat-x;\n  border-color: #252525;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222', endColorstr='#ff111111', GradientType=0);\n}\n\n.navbar-inverse .brand,\n.navbar-inverse .nav > li > a {\n  color: #999999;\n  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);\n}\n\n.navbar-inverse .brand:hover,\n.navbar-inverse .nav > li > a:hover,\n.navbar-inverse .brand:focus,\n.navbar-inverse .nav > li > a:focus {\n  color: #ffffff;\n}\n\n.navbar-inverse .brand {\n  color: #999999;\n}\n\n.navbar-inverse .navbar-text {\n  color: #999999;\n}\n\n.navbar-inverse .nav > li > a:focus,\n.navbar-inverse .nav > li > a:hover {\n  color: #ffffff;\n  background-color: transparent;\n}\n\n.navbar-inverse .nav .active > a,\n.navbar-inverse .nav .active > a:hover,\n.navbar-inverse .nav .active > a:focus {\n  color: #ffffff;\n  background-color: #111111;\n}\n\n.navbar-inverse .navbar-link {\n  color: #999999;\n}\n\n.navbar-inverse .navbar-link:hover,\n.navbar-inverse .navbar-link:focus {\n  color: #ffffff;\n}\n\n.navbar-inverse .divider-vertical {\n  border-right-color: #222222;\n  border-left-color: #111111;\n}\n\n.navbar-inverse .nav li.dropdown.open > .dropdown-toggle,\n.navbar-inverse .nav li.dropdown.active > .dropdown-toggle,\n.navbar-inverse .nav li.dropdown.open.active > .dropdown-toggle {\n  color: #ffffff;\n  background-color: #111111;\n}\n\n.navbar-inverse .nav li.dropdown > a:hover .caret,\n.navbar-inverse .nav li.dropdown > a:focus .caret {\n  border-top-color: #ffffff;\n  border-bottom-color: #ffffff;\n}\n\n.navbar-inverse .nav li.dropdown > .dropdown-toggle .caret {\n  border-top-color: #999999;\n  border-bottom-color: #999999;\n}\n\n.navbar-inverse .nav li.dropdown.open > .dropdown-toggle .caret,\n.navbar-inverse .nav li.dropdown.active > .dropdown-toggle .caret,\n.navbar-inverse .nav li.dropdown.open.active > .dropdown-toggle .caret {\n  border-top-color: #ffffff;\n  border-bottom-color: #ffffff;\n}\n\n.navbar-inverse .navbar-search .search-query {\n  color: #ffffff;\n  background-color: #515151;\n  border-color: #111111;\n  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15);\n     -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15);\n          box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15);\n  -webkit-transition: none;\n     -moz-transition: none;\n       -o-transition: none;\n          transition: none;\n}\n\n.navbar-inverse .navbar-search .search-query:-moz-placeholder {\n  color: #cccccc;\n}\n\n.navbar-inverse .navbar-search .search-query:-ms-input-placeholder {\n  color: #cccccc;\n}\n\n.navbar-inverse .navbar-search .search-query::-webkit-input-placeholder {\n  color: #cccccc;\n}\n\n.navbar-inverse .navbar-search .search-query:focus,\n.navbar-inverse .navbar-search .search-query.focused {\n  padding: 5px 15px;\n  color: #333333;\n  text-shadow: 0 1px 0 #ffffff;\n  background-color: #ffffff;\n  border: 0;\n  outline: 0;\n  -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);\n     -moz-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);\n          box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);\n}\n\n.navbar-inverse .btn-navbar {\n  color: #ffffff;\n  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);\n  background-color: #0e0e0e;\n  *background-color: #040404;\n  background-image: -moz-linear-gradient(top, #151515, #040404);\n  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#151515), to(#040404));\n  background-image: -webkit-linear-gradient(top, #151515, #040404);\n  background-image: -o-linear-gradient(top, #151515, #040404);\n  background-image: linear-gradient(to bottom, #151515, #040404);\n  background-repeat: repeat-x;\n  border-color: #040404 #040404 #000000;\n  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff151515', endColorstr='#ff040404', GradientType=0);\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);\n}\n\n.navbar-inverse .btn-navbar:hover,\n.navbar-inverse .btn-navbar:focus,\n.navbar-inverse .btn-navbar:active,\n.navbar-inverse .btn-navbar.active,\n.navbar-inverse .btn-navbar.disabled,\n.navbar-inverse .btn-navbar[disabled] {\n  color: #ffffff;\n  background-color: #040404;\n  *background-color: #000000;\n}\n\n.navbar-inverse .btn-navbar:active,\n.navbar-inverse .btn-navbar.active {\n  background-color: #000000 \\9;\n}\n\n.breadcrumb {\n  padding: 8px 15px;\n  margin: 0 0 20px;\n  list-style: none;\n  background-color: #f5f5f5;\n  -webkit-border-radius: 4px;\n     -moz-border-radius: 4px;\n          border-radius: 4px;\n}\n\n.breadcrumb > li {\n  display: inline-block;\n  *display: inline;\n  text-shadow: 0 1px 0 #ffffff;\n  *zoom: 1;\n}\n\n.breadcrumb > li > .divider {\n  padding: 0 5px;\n  color: #ccc;\n}\n\n.breadcrumb > .active {\n  color: #999999;\n}\n\n.pagination {\n  margin: 20px 0;\n}\n\n.pagination ul {\n  display: inline-block;\n  *display: inline;\n  margin-bottom: 0;\n  margin-left: 0;\n  -webkit-border-radius: 4px;\n     -moz-border-radius: 4px;\n          border-radius: 4px;\n  *zoom: 1;\n  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);\n     -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);\n          box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);\n}\n\n.pagination ul > li {\n  display: inline;\n}\n\n.pagination ul > li > a,\n.pagination ul > li > span {\n  float: left;\n  padding: 4px 12px;\n  line-height: 20px;\n  text-decoration: none;\n  background-color: #ffffff;\n  border: 1px solid #dddddd;\n  border-left-width: 0;\n}\n\n.pagination ul > li > a:hover,\n.pagination ul > li > a:focus,\n.pagination ul > .active > a,\n.pagination ul > .active > span {\n  background-color: #f5f5f5;\n}\n\n.pagination ul > .active > a,\n.pagination ul > .active > span {\n  color: #999999;\n  cursor: default;\n}\n\n.pagination ul > .disabled > span,\n.pagination ul > .disabled > a,\n.pagination ul > .disabled > a:hover,\n.pagination ul > .disabled > a:focus {\n  color: #999999;\n  cursor: default;\n  background-color: transparent;\n}\n\n.pagination ul > li:first-child > a,\n.pagination ul > li:first-child > span {\n  border-left-width: 1px;\n  -webkit-border-bottom-left-radius: 4px;\n          border-bottom-left-radius: 4px;\n  -webkit-border-top-left-radius: 4px;\n          border-top-left-radius: 4px;\n  -moz-border-radius-bottomleft: 4px;\n  -moz-border-radius-topleft: 4px;\n}\n\n.pagination ul > li:last-child > a,\n.pagination ul > li:last-child > span {\n  -webkit-border-top-right-radius: 4px;\n          border-top-right-radius: 4px;\n  -webkit-border-bottom-right-radius: 4px;\n          border-bottom-right-radius: 4px;\n  -moz-border-radius-topright: 4px;\n  -moz-border-radius-bottomright: 4px;\n}\n\n.pagination-centered {\n  text-align: center;\n}\n\n.pagination-right {\n  text-align: right;\n}\n\n.pagination-large ul > li > a,\n.pagination-large ul > li > span {\n  padding: 11px 19px;\n  font-size: 17.5px;\n}\n\n.pagination-large ul > li:first-child > a,\n.pagination-large ul > li:first-child > span {\n  -webkit-border-bottom-left-radius: 6px;\n          border-bottom-left-radius: 6px;\n  -webkit-border-top-left-radius: 6px;\n          border-top-left-radius: 6px;\n  -moz-border-radius-bottomleft: 6px;\n  -moz-border-radius-topleft: 6px;\n}\n\n.pagination-large ul > li:last-child > a,\n.pagination-large ul > li:last-child > span {\n  -webkit-border-top-right-radius: 6px;\n          border-top-right-radius: 6px;\n  -webkit-border-bottom-right-radius: 6px;\n          border-bottom-right-radius: 6px;\n  -moz-border-radius-topright: 6px;\n  -moz-border-radius-bottomright: 6px;\n}\n\n.pagination-mini ul > li:first-child > a,\n.pagination-small ul > li:first-child > a,\n.pagination-mini ul > li:first-child > span,\n.pagination-small ul > li:first-child > span {\n  -webkit-border-bottom-left-radius: 3px;\n          border-bottom-left-radius: 3px;\n  -webkit-border-top-left-radius: 3px;\n          border-top-left-radius: 3px;\n  -moz-border-radius-bottomleft: 3px;\n  -moz-border-radius-topleft: 3px;\n}\n\n.pagination-mini ul > li:last-child > a,\n.pagination-small ul > li:last-child > a,\n.pagination-mini ul > li:last-child > span,\n.pagination-small ul > li:last-child > span {\n  -webkit-border-top-right-radius: 3px;\n          border-top-right-radius: 3px;\n  -webkit-border-bottom-right-radius: 3px;\n          border-bottom-right-radius: 3px;\n  -moz-border-radius-topright: 3px;\n  -moz-border-radius-bottomright: 3px;\n}\n\n.pagination-small ul > li > a,\n.pagination-small ul > li > span {\n  padding: 2px 10px;\n  font-size: 11.9px;\n}\n\n.pagination-mini ul > li > a,\n.pagination-mini ul > li > span {\n  padding: 0 6px;\n  font-size: 10.5px;\n}\n\n.pager {\n  margin: 20px 0;\n  text-align: center;\n  list-style: none;\n  *zoom: 1;\n}\n\n.pager:before,\n.pager:after {\n  display: table;\n  line-height: 0;\n  content: \"\";\n}\n\n.pager:after {\n  clear: both;\n}\n\n.pager li {\n  display: inline;\n}\n\n.pager li > a,\n.pager li > span {\n  display: inline-block;\n  padding: 5px 14px;\n  background-color: #fff;\n  border: 1px solid #ddd;\n  -webkit-border-radius: 15px;\n     -moz-border-radius: 15px;\n          border-radius: 15px;\n}\n\n.pager li > a:hover,\n.pager li > a:focus {\n  text-decoration: none;\n  background-color: #f5f5f5;\n}\n\n.pager .next > a,\n.pager .next > span {\n  float: right;\n}\n\n.pager .previous > a,\n.pager .previous > span {\n  float: left;\n}\n\n.pager .disabled > a,\n.pager .disabled > a:hover,\n.pager .disabled > a:focus,\n.pager .disabled > span {\n  color: #999999;\n  cursor: default;\n  background-color: #fff;\n}\n\n.modal-backdrop {\n  position: fixed;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: 1040;\n  background-color: #000000;\n}\n\n.modal-backdrop.fade {\n  opacity: 0;\n}\n\n.modal-backdrop,\n.modal-backdrop.fade.in {\n  opacity: 0.8;\n  filter: alpha(opacity=80);\n}\n\n.modal {\n  position: fixed;\n  top: 10%;\n  left: 50%;\n  z-index: 1050;\n  width: 560px;\n  margin-left: -280px;\n  background-color: #ffffff;\n  border: 1px solid #999;\n  border: 1px solid rgba(0, 0, 0, 0.3);\n  *border: 1px solid #999;\n  -webkit-border-radius: 6px;\n     -moz-border-radius: 6px;\n          border-radius: 6px;\n  outline: none;\n  -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);\n     -moz-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);\n          box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);\n  -webkit-background-clip: padding-box;\n     -moz-background-clip: padding-box;\n          background-clip: padding-box;\n}\n\n.modal.fade {\n  top: -25%;\n  -webkit-transition: opacity 0.3s linear, top 0.3s ease-out;\n     -moz-transition: opacity 0.3s linear, top 0.3s ease-out;\n       -o-transition: opacity 0.3s linear, top 0.3s ease-out;\n          transition: opacity 0.3s linear, top 0.3s ease-out;\n}\n\n.modal.fade.in {\n  top: 10%;\n}\n\n.modal-header {\n  padding: 9px 15px;\n  border-bottom: 1px solid #eee;\n}\n\n.modal-header .close {\n  margin-top: 2px;\n}\n\n.modal-header h3 {\n  margin: 0;\n  line-height: 30px;\n}\n\n.modal-body {\n  position: relative;\n  max-height: 400px;\n  padding: 15px;\n  overflow-y: auto;\n}\n\n.modal-form {\n  margin-bottom: 0;\n}\n\n.modal-footer {\n  padding: 14px 15px 15px;\n  margin-bottom: 0;\n  text-align: right;\n  background-color: #f5f5f5;\n  border-top: 1px solid #ddd;\n  -webkit-border-radius: 0 0 6px 6px;\n     -moz-border-radius: 0 0 6px 6px;\n          border-radius: 0 0 6px 6px;\n  *zoom: 1;\n  -webkit-box-shadow: inset 0 1px 0 #ffffff;\n     -moz-box-shadow: inset 0 1px 0 #ffffff;\n          box-shadow: inset 0 1px 0 #ffffff;\n}\n\n.modal-footer:before,\n.modal-footer:after {\n  display: table;\n  line-height: 0;\n  content: \"\";\n}\n\n.modal-footer:after {\n  clear: both;\n}\n\n.modal-footer .btn + .btn {\n  margin-bottom: 0;\n  margin-left: 5px;\n}\n\n.modal-footer .btn-group .btn + .btn {\n  margin-left: -1px;\n}\n\n.modal-footer .btn-block + .btn-block {\n  margin-left: 0;\n}\n\n.tooltip {\n  position: absolute;\n  z-index: 1030;\n  display: block;\n  font-size: 11px;\n  line-height: 1.4;\n  opacity: 0;\n  filter: alpha(opacity=0);\n  visibility: visible;\n}\n\n.tooltip.in {\n  opacity: 0.8;\n  filter: alpha(opacity=80);\n}\n\n.tooltip.top {\n  padding: 5px 0;\n  margin-top: -3px;\n}\n\n.tooltip.right {\n  padding: 0 5px;\n  margin-left: 3px;\n}\n\n.tooltip.bottom {\n  padding: 5px 0;\n  margin-top: 3px;\n}\n\n.tooltip.left {\n  padding: 0 5px;\n  margin-left: -3px;\n}\n\n.tooltip-inner {\n  max-width: 200px;\n  padding: 8px;\n  color: #ffffff;\n  text-align: center;\n  text-decoration: none;\n  background-color: #000000;\n  -webkit-border-radius: 4px;\n     -moz-border-radius: 4px;\n          border-radius: 4px;\n}\n\n.tooltip-arrow {\n  position: absolute;\n  width: 0;\n  height: 0;\n  border-color: transparent;\n  border-style: solid;\n}\n\n.tooltip.top .tooltip-arrow {\n  bottom: 0;\n  left: 50%;\n  margin-left: -5px;\n  border-top-color: #000000;\n  border-width: 5px 5px 0;\n}\n\n.tooltip.right .tooltip-arrow {\n  top: 50%;\n  left: 0;\n  margin-top: -5px;\n  border-right-color: #000000;\n  border-width: 5px 5px 5px 0;\n}\n\n.tooltip.left .tooltip-arrow {\n  top: 50%;\n  right: 0;\n  margin-top: -5px;\n  border-left-color: #000000;\n  border-width: 5px 0 5px 5px;\n}\n\n.tooltip.bottom .tooltip-arrow {\n  top: 0;\n  left: 50%;\n  margin-left: -5px;\n  border-bottom-color: #000000;\n  border-width: 0 5px 5px;\n}\n\n.popover {\n  position: absolute;\n  top: 0;\n  left: 0;\n  z-index: 1010;\n  display: none;\n  max-width: 276px;\n  padding: 1px;\n  text-align: left;\n  white-space: normal;\n  background-color: #ffffff;\n  border: 1px solid #ccc;\n  border: 1px solid rgba(0, 0, 0, 0.2);\n  -webkit-border-radius: 6px;\n     -moz-border-radius: 6px;\n          border-radius: 6px;\n  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n     -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n          box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n  -webkit-background-clip: padding-box;\n     -moz-background-clip: padding;\n          background-clip: padding-box;\n}\n\n.popover.top {\n  margin-top: -10px;\n}\n\n.popover.right {\n  margin-left: 10px;\n}\n\n.popover.bottom {\n  margin-top: 10px;\n}\n\n.popover.left {\n  margin-left: -10px;\n}\n\n.popover-title {\n  padding: 8px 14px;\n  margin: 0;\n  font-size: 14px;\n  font-weight: normal;\n  line-height: 18px;\n  background-color: #f7f7f7;\n  border-bottom: 1px solid #ebebeb;\n  -webkit-border-radius: 5px 5px 0 0;\n     -moz-border-radius: 5px 5px 0 0;\n          border-radius: 5px 5px 0 0;\n}\n\n.popover-title:empty {\n  display: none;\n}\n\n.popover-content {\n  padding: 9px 14px;\n}\n\n.popover .arrow,\n.popover .arrow:after {\n  position: absolute;\n  display: block;\n  width: 0;\n  height: 0;\n  border-color: transparent;\n  border-style: solid;\n}\n\n.popover .arrow {\n  border-width: 11px;\n}\n\n.popover .arrow:after {\n  border-width: 10px;\n  content: \"\";\n}\n\n.popover.top .arrow {\n  bottom: -11px;\n  left: 50%;\n  margin-left: -11px;\n  border-top-color: #999;\n  border-top-color: rgba(0, 0, 0, 0.25);\n  border-bottom-width: 0;\n}\n\n.popover.top .arrow:after {\n  bottom: 1px;\n  margin-left: -10px;\n  border-top-color: #ffffff;\n  border-bottom-width: 0;\n}\n\n.popover.right .arrow {\n  top: 50%;\n  left: -11px;\n  margin-top: -11px;\n  border-right-color: #999;\n  border-right-color: rgba(0, 0, 0, 0.25);\n  border-left-width: 0;\n}\n\n.popover.right .arrow:after {\n  bottom: -10px;\n  left: 1px;\n  border-right-color: #ffffff;\n  border-left-width: 0;\n}\n\n.popover.bottom .arrow {\n  top: -11px;\n  left: 50%;\n  margin-left: -11px;\n  border-bottom-color: #999;\n  border-bottom-color: rgba(0, 0, 0, 0.25);\n  border-top-width: 0;\n}\n\n.popover.bottom .arrow:after {\n  top: 1px;\n  margin-left: -10px;\n  border-bottom-color: #ffffff;\n  border-top-width: 0;\n}\n\n.popover.left .arrow {\n  top: 50%;\n  right: -11px;\n  margin-top: -11px;\n  border-left-color: #999;\n  border-left-color: rgba(0, 0, 0, 0.25);\n  border-right-width: 0;\n}\n\n.popover.left .arrow:after {\n  right: 1px;\n  bottom: -10px;\n  border-left-color: #ffffff;\n  border-right-width: 0;\n}\n\n.thumbnails {\n  margin-left: -20px;\n  list-style: none;\n  *zoom: 1;\n}\n\n.thumbnails:before,\n.thumbnails:after {\n  display: table;\n  line-height: 0;\n  content: \"\";\n}\n\n.thumbnails:after {\n  clear: both;\n}\n\n.row-fluid .thumbnails {\n  margin-left: 0;\n}\n\n.thumbnails > li {\n  float: left;\n  margin-bottom: 20px;\n  margin-left: 20px;\n}\n\n.thumbnail {\n  display: block;\n  padding: 4px;\n  line-height: 20px;\n  border: 1px solid #ddd;\n  -webkit-border-radius: 4px;\n     -moz-border-radius: 4px;\n          border-radius: 4px;\n  -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055);\n     -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055);\n          box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055);\n  -webkit-transition: all 0.2s ease-in-out;\n     -moz-transition: all 0.2s ease-in-out;\n       -o-transition: all 0.2s ease-in-out;\n          transition: all 0.2s ease-in-out;\n}\n\na.thumbnail:hover,\na.thumbnail:focus {\n  border-color: #0088cc;\n  -webkit-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);\n     -moz-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);\n          box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);\n}\n\n.thumbnail > img {\n  display: block;\n  max-width: 100%;\n  margin-right: auto;\n  margin-left: auto;\n}\n\n.thumbnail .caption {\n  padding: 9px;\n  color: #555555;\n}\n\n.media,\n.media-body {\n  overflow: hidden;\n  *overflow: visible;\n  zoom: 1;\n}\n\n.media,\n.media .media {\n  margin-top: 15px;\n}\n\n.media:first-child {\n  margin-top: 0;\n}\n\n.media-object {\n  display: block;\n}\n\n.media-heading {\n  margin: 0 0 5px;\n}\n\n.media > .pull-left {\n  margin-right: 10px;\n}\n\n.media > .pull-right {\n  margin-left: 10px;\n}\n\n.media-list {\n  margin-left: 0;\n  list-style: none;\n}\n\n.label,\n.badge {\n  display: inline-block;\n  padding: 2px 4px;\n  font-size: 11.844px;\n  font-weight: bold;\n  line-height: 14px;\n  color: #ffffff;\n  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);\n  white-space: nowrap;\n  vertical-align: baseline;\n  background-color: #999999;\n}\n\n.label {\n  -webkit-border-radius: 3px;\n     -moz-border-radius: 3px;\n          border-radius: 3px;\n}\n\n.badge {\n  padding-right: 9px;\n  padding-left: 9px;\n  -webkit-border-radius: 9px;\n     -moz-border-radius: 9px;\n          border-radius: 9px;\n}\n\n.label:empty,\n.badge:empty {\n  display: none;\n}\n\na.label:hover,\na.label:focus,\na.badge:hover,\na.badge:focus {\n  color: #ffffff;\n  text-decoration: none;\n  cursor: pointer;\n}\n\n.label-important,\n.badge-important {\n  background-color: #b94a48;\n}\n\n.label-important[href],\n.badge-important[href] {\n  background-color: #953b39;\n}\n\n.label-warning,\n.badge-warning {\n  background-color: #f89406;\n}\n\n.label-warning[href],\n.badge-warning[href] {\n  background-color: #c67605;\n}\n\n.label-success,\n.badge-success {\n  background-color: #468847;\n}\n\n.label-success[href],\n.badge-success[href] {\n  background-color: #356635;\n}\n\n.label-info,\n.badge-info {\n  background-color: #3a87ad;\n}\n\n.label-info[href],\n.badge-info[href] {\n  background-color: #2d6987;\n}\n\n.label-inverse,\n.badge-inverse {\n  background-color: #333333;\n}\n\n.label-inverse[href],\n.badge-inverse[href] {\n  background-color: #1a1a1a;\n}\n\n.btn .label,\n.btn .badge {\n  position: relative;\n  top: -1px;\n}\n\n.btn-mini .label,\n.btn-mini .badge {\n  top: 0;\n}\n\n@-webkit-keyframes progress-bar-stripes {\n  from {\n    background-position: 40px 0;\n  }\n  to {\n    background-position: 0 0;\n  }\n}\n\n@-moz-keyframes progress-bar-stripes {\n  from {\n    background-position: 40px 0;\n  }\n  to {\n    background-position: 0 0;\n  }\n}\n\n@-ms-keyframes progress-bar-stripes {\n  from {\n    background-position: 40px 0;\n  }\n  to {\n    background-position: 0 0;\n  }\n}\n\n@-o-keyframes progress-bar-stripes {\n  from {\n    background-position: 0 0;\n  }\n  to {\n    background-position: 40px 0;\n  }\n}\n\n@keyframes progress-bar-stripes {\n  from {\n    background-position: 40px 0;\n  }\n  to {\n    background-position: 0 0;\n  }\n}\n\n.progress {\n  height: 20px;\n  margin-bottom: 20px;\n  overflow: hidden;\n  background-color: #f7f7f7;\n  background-image: -moz-linear-gradient(top, #f5f5f5, #f9f9f9);\n  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f5f5f5), to(#f9f9f9));\n  background-image: -webkit-linear-gradient(top, #f5f5f5, #f9f9f9);\n  background-image: -o-linear-gradient(top, #f5f5f5, #f9f9f9);\n  background-image: linear-gradient(to bottom, #f5f5f5, #f9f9f9);\n  background-repeat: repeat-x;\n  -webkit-border-radius: 4px;\n     -moz-border-radius: 4px;\n          border-radius: 4px;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#fff9f9f9', GradientType=0);\n  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n     -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n          box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n}\n\n.progress .bar {\n  float: left;\n  width: 0;\n  height: 100%;\n  font-size: 12px;\n  color: #ffffff;\n  text-align: center;\n  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);\n  background-color: #0e90d2;\n  background-image: -moz-linear-gradient(top, #149bdf, #0480be);\n  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#149bdf), to(#0480be));\n  background-image: -webkit-linear-gradient(top, #149bdf, #0480be);\n  background-image: -o-linear-gradient(top, #149bdf, #0480be);\n  background-image: linear-gradient(to bottom, #149bdf, #0480be);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff149bdf', endColorstr='#ff0480be', GradientType=0);\n  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n     -moz-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n          box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n  -webkit-box-sizing: border-box;\n     -moz-box-sizing: border-box;\n          box-sizing: border-box;\n  -webkit-transition: width 0.6s ease;\n     -moz-transition: width 0.6s ease;\n       -o-transition: width 0.6s ease;\n          transition: width 0.6s ease;\n}\n\n.progress .bar + .bar {\n  -webkit-box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.15), inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n     -moz-box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.15), inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n          box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.15), inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n}\n\n.progress-striped .bar {\n  background-color: #149bdf;\n  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  -webkit-background-size: 40px 40px;\n     -moz-background-size: 40px 40px;\n       -o-background-size: 40px 40px;\n          background-size: 40px 40px;\n}\n\n.progress.active .bar {\n  -webkit-animation: progress-bar-stripes 2s linear infinite;\n     -moz-animation: progress-bar-stripes 2s linear infinite;\n      -ms-animation: progress-bar-stripes 2s linear infinite;\n       -o-animation: progress-bar-stripes 2s linear infinite;\n          animation: progress-bar-stripes 2s linear infinite;\n}\n\n.progress-danger .bar,\n.progress .bar-danger {\n  background-color: #dd514c;\n  background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35);\n  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#c43c35));\n  background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35);\n  background-image: -o-linear-gradient(top, #ee5f5b, #c43c35);\n  background-image: linear-gradient(to bottom, #ee5f5b, #c43c35);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b', endColorstr='#ffc43c35', GradientType=0);\n}\n\n.progress-danger.progress-striped .bar,\n.progress-striped .bar-danger {\n  background-color: #ee5f5b;\n  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n\n.progress-success .bar,\n.progress .bar-success {\n  background-color: #5eb95e;\n  background-image: -moz-linear-gradient(top, #62c462, #57a957);\n  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#57a957));\n  background-image: -webkit-linear-gradient(top, #62c462, #57a957);\n  background-image: -o-linear-gradient(top, #62c462, #57a957);\n  background-image: linear-gradient(to bottom, #62c462, #57a957);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462', endColorstr='#ff57a957', GradientType=0);\n}\n\n.progress-success.progress-striped .bar,\n.progress-striped .bar-success {\n  background-color: #62c462;\n  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n\n.progress-info .bar,\n.progress .bar-info {\n  background-color: #4bb1cf;\n  background-image: -moz-linear-gradient(top, #5bc0de, #339bb9);\n  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#339bb9));\n  background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9);\n  background-image: -o-linear-gradient(top, #5bc0de, #339bb9);\n  background-image: linear-gradient(to bottom, #5bc0de, #339bb9);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff339bb9', GradientType=0);\n}\n\n.progress-info.progress-striped .bar,\n.progress-striped .bar-info {\n  background-color: #5bc0de;\n  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n\n.progress-warning .bar,\n.progress .bar-warning {\n  background-color: #faa732;\n  background-image: -moz-linear-gradient(top, #fbb450, #f89406);\n  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406));\n  background-image: -webkit-linear-gradient(top, #fbb450, #f89406);\n  background-image: -o-linear-gradient(top, #fbb450, #f89406);\n  background-image: linear-gradient(to bottom, #fbb450, #f89406);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450', endColorstr='#fff89406', GradientType=0);\n}\n\n.progress-warning.progress-striped .bar,\n.progress-striped .bar-warning {\n  background-color: #fbb450;\n  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n\n.accordion {\n  margin-bottom: 20px;\n}\n\n.accordion-group {\n  margin-bottom: 2px;\n  border: 1px solid #e5e5e5;\n  -webkit-border-radius: 4px;\n     -moz-border-radius: 4px;\n          border-radius: 4px;\n}\n\n.accordion-heading {\n  border-bottom: 0;\n}\n\n.accordion-heading .accordion-toggle {\n  display: block;\n  padding: 8px 15px;\n}\n\n.accordion-toggle {\n  cursor: pointer;\n}\n\n.accordion-inner {\n  padding: 9px 15px;\n  border-top: 1px solid #e5e5e5;\n}\n\n.carousel {\n  position: relative;\n  margin-bottom: 20px;\n  line-height: 1;\n}\n\n.carousel-inner {\n  position: relative;\n  width: 100%;\n  overflow: hidden;\n}\n\n.carousel-inner > .item {\n  position: relative;\n  display: none;\n  -webkit-transition: 0.6s ease-in-out left;\n     -moz-transition: 0.6s ease-in-out left;\n       -o-transition: 0.6s ease-in-out left;\n          transition: 0.6s ease-in-out left;\n}\n\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n  display: block;\n  line-height: 1;\n}\n\n.carousel-inner > .active,\n.carousel-inner > .next,\n.carousel-inner > .prev {\n  display: block;\n}\n\n.carousel-inner > .active {\n  left: 0;\n}\n\n.carousel-inner > .next,\n.carousel-inner > .prev {\n  position: absolute;\n  top: 0;\n  width: 100%;\n}\n\n.carousel-inner > .next {\n  left: 100%;\n}\n\n.carousel-inner > .prev {\n  left: -100%;\n}\n\n.carousel-inner > .next.left,\n.carousel-inner > .prev.right {\n  left: 0;\n}\n\n.carousel-inner > .active.left {\n  left: -100%;\n}\n\n.carousel-inner > .active.right {\n  left: 100%;\n}\n\n.carousel-control {\n  position: absolute;\n  top: 40%;\n  left: 15px;\n  width: 40px;\n  height: 40px;\n  margin-top: -20px;\n  font-size: 60px;\n  font-weight: 100;\n  line-height: 30px;\n  color: #ffffff;\n  text-align: center;\n  background: #222222;\n  border: 3px solid #ffffff;\n  -webkit-border-radius: 23px;\n     -moz-border-radius: 23px;\n          border-radius: 23px;\n  opacity: 0.5;\n  filter: alpha(opacity=50);\n}\n\n.carousel-control.right {\n  right: 15px;\n  left: auto;\n}\n\n.carousel-control:hover,\n.carousel-control:focus {\n  color: #ffffff;\n  text-decoration: none;\n  opacity: 0.9;\n  filter: alpha(opacity=90);\n}\n\n.carousel-indicators {\n  position: absolute;\n  top: 15px;\n  right: 15px;\n  z-index: 5;\n  margin: 0;\n  list-style: none;\n}\n\n.carousel-indicators li {\n  display: block;\n  float: left;\n  width: 10px;\n  height: 10px;\n  margin-left: 5px;\n  text-indent: -999px;\n  background-color: #ccc;\n  background-color: rgba(255, 255, 255, 0.25);\n  border-radius: 5px;\n}\n\n.carousel-indicators .active {\n  background-color: #fff;\n}\n\n.carousel-caption {\n  position: absolute;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  padding: 15px;\n  background: #333333;\n  background: rgba(0, 0, 0, 0.75);\n}\n\n.carousel-caption h4,\n.carousel-caption p {\n  line-height: 20px;\n  color: #ffffff;\n}\n\n.carousel-caption h4 {\n  margin: 0 0 5px;\n}\n\n.carousel-caption p {\n  margin-bottom: 0;\n}\n\n.hero-unit {\n  padding: 60px;\n  margin-bottom: 30px;\n  font-size: 18px;\n  font-weight: 200;\n  line-height: 30px;\n  color: inherit;\n  background-color: #eeeeee;\n  -webkit-border-radius: 6px;\n     -moz-border-radius: 6px;\n          border-radius: 6px;\n}\n\n.hero-unit h1 {\n  margin-bottom: 0;\n  font-size: 60px;\n  line-height: 1;\n  letter-spacing: -1px;\n  color: inherit;\n}\n\n.hero-unit li {\n  line-height: 30px;\n}\n\n.pull-right {\n  float: right;\n}\n\n.pull-left {\n  float: left;\n}\n\n.hide {\n  display: none;\n}\n\n.show {\n  display: block;\n}\n\n.invisible {\n  visibility: hidden;\n}\n\n.affix {\n  position: fixed;\n}\n"
  },
  {
    "path": "doc/_static/bootstrap.js",
    "content": "/* ===================================================\n * bootstrap-transition.js v2.3.2\n * http://getbootstrap.com/2.3.2/javascript.html#transitions\n * ===================================================\n * Copyright 2013 Twitter, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * ========================================================== */\n\n\n!function ($) {\n\n  \"use strict\"; // jshint ;_;\n\n\n  /* CSS TRANSITION SUPPORT (http://www.modernizr.com/)\n   * ======================================================= */\n\n  $(function () {\n\n    $.support.transition = (function () {\n\n      var transitionEnd = (function () {\n\n        var el = document.createElement('bootstrap')\n          , transEndEventNames = {\n               'WebkitTransition' : 'webkitTransitionEnd'\n            ,  'MozTransition'    : 'transitionend'\n            ,  'OTransition'      : 'oTransitionEnd otransitionend'\n            ,  'transition'       : 'transitionend'\n            }\n          , name\n\n        for (name in transEndEventNames){\n          if (el.style[name] !== undefined) {\n            return transEndEventNames[name]\n          }\n        }\n\n      }())\n\n      return transitionEnd && {\n        end: transitionEnd\n      }\n\n    })()\n\n  })\n\n}(window.jQuery);/* ==========================================================\n * bootstrap-alert.js v2.3.2\n * http://getbootstrap.com/2.3.2/javascript.html#alerts\n * ==========================================================\n * Copyright 2013 Twitter, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * ========================================================== */\n\n\n!function ($) {\n\n  \"use strict\"; // jshint ;_;\n\n\n /* ALERT CLASS DEFINITION\n  * ====================== */\n\n  var dismiss = '[data-dismiss=\"alert\"]'\n    , Alert = function (el) {\n        $(el).on('click', dismiss, this.close)\n      }\n\n  Alert.prototype.close = function (e) {\n    var $this = $(this)\n      , selector = $this.attr('data-target')\n      , $parent\n\n    if (!selector) {\n      selector = $this.attr('href')\n      selector = selector && selector.replace(/.*(?=#[^\\s]*$)/, '') //strip for ie7\n    }\n\n    $parent = $(selector)\n\n    e && e.preventDefault()\n\n    $parent.length || ($parent = $this.hasClass('alert') ? $this : $this.parent())\n\n    $parent.trigger(e = $.Event('close'))\n\n    if (e.isDefaultPrevented()) return\n\n    $parent.removeClass('in')\n\n    function removeElement() {\n      $parent\n        .trigger('closed')\n        .remove()\n    }\n\n    $.support.transition && $parent.hasClass('fade') ?\n      $parent.on($.support.transition.end, removeElement) :\n      removeElement()\n  }\n\n\n /* ALERT PLUGIN DEFINITION\n  * ======================= */\n\n  var old = $.fn.alert\n\n  $.fn.alert = function (option) {\n    return this.each(function () {\n      var $this = $(this)\n        , data = $this.data('alert')\n      if (!data) $this.data('alert', (data = new Alert(this)))\n      if (typeof option == 'string') data[option].call($this)\n    })\n  }\n\n  $.fn.alert.Constructor = Alert\n\n\n /* ALERT NO CONFLICT\n  * ================= */\n\n  $.fn.alert.noConflict = function () {\n    $.fn.alert = old\n    return this\n  }\n\n\n /* ALERT DATA-API\n  * ============== */\n\n  $(document).on('click.alert.data-api', dismiss, Alert.prototype.close)\n\n}(window.jQuery);/* ============================================================\n * bootstrap-button.js v2.3.2\n * http://getbootstrap.com/2.3.2/javascript.html#buttons\n * ============================================================\n * Copyright 2013 Twitter, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * ============================================================ */\n\n\n!function ($) {\n\n  \"use strict\"; // jshint ;_;\n\n\n /* BUTTON PUBLIC CLASS DEFINITION\n  * ============================== */\n\n  var Button = function (element, options) {\n    this.$element = $(element)\n    this.options = $.extend({}, $.fn.button.defaults, options)\n  }\n\n  Button.prototype.setState = function (state) {\n    var d = 'disabled'\n      , $el = this.$element\n      , data = $el.data()\n      , val = $el.is('input') ? 'val' : 'html'\n\n    state = state + 'Text'\n    data.resetText || $el.data('resetText', $el[val]())\n\n    $el[val](data[state] || this.options[state])\n\n    // push to event loop to allow forms to submit\n    setTimeout(function () {\n      state == 'loadingText' ?\n        $el.addClass(d).attr(d, d) :\n        $el.removeClass(d).removeAttr(d)\n    }, 0)\n  }\n\n  Button.prototype.toggle = function () {\n    var $parent = this.$element.closest('[data-toggle=\"buttons-radio\"]')\n\n    $parent && $parent\n      .find('.active')\n      .removeClass('active')\n\n    this.$element.toggleClass('active')\n  }\n\n\n /* BUTTON PLUGIN DEFINITION\n  * ======================== */\n\n  var old = $.fn.button\n\n  $.fn.button = function (option) {\n    return this.each(function () {\n      var $this = $(this)\n        , data = $this.data('button')\n        , options = typeof option == 'object' && option\n      if (!data) $this.data('button', (data = new Button(this, options)))\n      if (option == 'toggle') data.toggle()\n      else if (option) data.setState(option)\n    })\n  }\n\n  $.fn.button.defaults = {\n    loadingText: 'loading...'\n  }\n\n  $.fn.button.Constructor = Button\n\n\n /* BUTTON NO CONFLICT\n  * ================== */\n\n  $.fn.button.noConflict = function () {\n    $.fn.button = old\n    return this\n  }\n\n\n /* BUTTON DATA-API\n  * =============== */\n\n  $(document).on('click.button.data-api', '[data-toggle^=button]', function (e) {\n    var $btn = $(e.target)\n    if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn')\n    $btn.button('toggle')\n  })\n\n}(window.jQuery);/* ==========================================================\n * bootstrap-carousel.js v2.3.2\n * http://getbootstrap.com/2.3.2/javascript.html#carousel\n * ==========================================================\n * Copyright 2013 Twitter, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * ========================================================== */\n\n\n!function ($) {\n\n  \"use strict\"; // jshint ;_;\n\n\n /* CAROUSEL CLASS DEFINITION\n  * ========================= */\n\n  var Carousel = function (element, options) {\n    this.$element = $(element)\n    this.$indicators = this.$element.find('.carousel-indicators')\n    this.options = options\n    this.options.pause == 'hover' && this.$element\n      .on('mouseenter', $.proxy(this.pause, this))\n      .on('mouseleave', $.proxy(this.cycle, this))\n  }\n\n  Carousel.prototype = {\n\n    cycle: function (e) {\n      if (!e) this.paused = false\n      if (this.interval) clearInterval(this.interval);\n      this.options.interval\n        && !this.paused\n        && (this.interval = setInterval($.proxy(this.next, this), this.options.interval))\n      return this\n    }\n\n  , getActiveIndex: function () {\n      this.$active = this.$element.find('.item.active')\n      this.$items = this.$active.parent().children()\n      return this.$items.index(this.$active)\n    }\n\n  , to: function (pos) {\n      var activeIndex = this.getActiveIndex()\n        , that = this\n\n      if (pos > (this.$items.length - 1) || pos < 0) return\n\n      if (this.sliding) {\n        return this.$element.one('slid', function () {\n          that.to(pos)\n        })\n      }\n\n      if (activeIndex == pos) {\n        return this.pause().cycle()\n      }\n\n      return this.slide(pos > activeIndex ? 'next' : 'prev', $(this.$items[pos]))\n    }\n\n  , pause: function (e) {\n      if (!e) this.paused = true\n      if (this.$element.find('.next, .prev').length && $.support.transition.end) {\n        this.$element.trigger($.support.transition.end)\n        this.cycle(true)\n      }\n      clearInterval(this.interval)\n      this.interval = null\n      return this\n    }\n\n  , next: function () {\n      if (this.sliding) return\n      return this.slide('next')\n    }\n\n  , prev: function () {\n      if (this.sliding) return\n      return this.slide('prev')\n    }\n\n  , slide: function (type, next) {\n      var $active = this.$element.find('.item.active')\n        , $next = next || $active[type]()\n        , isCycling = this.interval\n        , direction = type == 'next' ? 'left' : 'right'\n        , fallback  = type == 'next' ? 'first' : 'last'\n        , that = this\n        , e\n\n      this.sliding = true\n\n      isCycling && this.pause()\n\n      $next = $next.length ? $next : this.$element.find('.item')[fallback]()\n\n      e = $.Event('slide', {\n        relatedTarget: $next[0]\n      , direction: direction\n      })\n\n      if ($next.hasClass('active')) return\n\n      if (this.$indicators.length) {\n        this.$indicators.find('.active').removeClass('active')\n        this.$element.one('slid', function () {\n          var $nextIndicator = $(that.$indicators.children()[that.getActiveIndex()])\n          $nextIndicator && $nextIndicator.addClass('active')\n        })\n      }\n\n      if ($.support.transition && this.$element.hasClass('slide')) {\n        this.$element.trigger(e)\n        if (e.isDefaultPrevented()) return\n        $next.addClass(type)\n        $next[0].offsetWidth // force reflow\n        $active.addClass(direction)\n        $next.addClass(direction)\n        this.$element.one($.support.transition.end, function () {\n          $next.removeClass([type, direction].join(' ')).addClass('active')\n          $active.removeClass(['active', direction].join(' '))\n          that.sliding = false\n          setTimeout(function () { that.$element.trigger('slid') }, 0)\n        })\n      } else {\n        this.$element.trigger(e)\n        if (e.isDefaultPrevented()) return\n        $active.removeClass('active')\n        $next.addClass('active')\n        this.sliding = false\n        this.$element.trigger('slid')\n      }\n\n      isCycling && this.cycle()\n\n      return this\n    }\n\n  }\n\n\n /* CAROUSEL PLUGIN DEFINITION\n  * ========================== */\n\n  var old = $.fn.carousel\n\n  $.fn.carousel = function (option) {\n    return this.each(function () {\n      var $this = $(this)\n        , data = $this.data('carousel')\n        , options = $.extend({}, $.fn.carousel.defaults, typeof option == 'object' && option)\n        , action = typeof option == 'string' ? option : options.slide\n      if (!data) $this.data('carousel', (data = new Carousel(this, options)))\n      if (typeof option == 'number') data.to(option)\n      else if (action) data[action]()\n      else if (options.interval) data.pause().cycle()\n    })\n  }\n\n  $.fn.carousel.defaults = {\n    interval: 5000\n  , pause: 'hover'\n  }\n\n  $.fn.carousel.Constructor = Carousel\n\n\n /* CAROUSEL NO CONFLICT\n  * ==================== */\n\n  $.fn.carousel.noConflict = function () {\n    $.fn.carousel = old\n    return this\n  }\n\n /* CAROUSEL DATA-API\n  * ================= */\n\n  $(document).on('click.carousel.data-api', '[data-slide], [data-slide-to]', function (e) {\n    var $this = $(this), href\n      , $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\\s]+$)/, '')) //strip for ie7\n      , options = $.extend({}, $target.data(), $this.data())\n      , slideIndex\n\n    $target.carousel(options)\n\n    if (slideIndex = $this.attr('data-slide-to')) {\n      $target.data('carousel').pause().to(slideIndex).cycle()\n    }\n\n    e.preventDefault()\n  })\n\n}(window.jQuery);/* =============================================================\n * bootstrap-collapse.js v2.3.2\n * http://getbootstrap.com/2.3.2/javascript.html#collapse\n * =============================================================\n * Copyright 2013 Twitter, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * ============================================================ */\n\n\n!function ($) {\n\n  \"use strict\"; // jshint ;_;\n\n\n /* COLLAPSE PUBLIC CLASS DEFINITION\n  * ================================ */\n\n  var Collapse = function (element, options) {\n    this.$element = $(element)\n    this.options = $.extend({}, $.fn.collapse.defaults, options)\n\n    if (this.options.parent) {\n      this.$parent = $(this.options.parent)\n    }\n\n    this.options.toggle && this.toggle()\n  }\n\n  Collapse.prototype = {\n\n    constructor: Collapse\n\n  , dimension: function () {\n      var hasWidth = this.$element.hasClass('width')\n      return hasWidth ? 'width' : 'height'\n    }\n\n  , show: function () {\n      var dimension\n        , scroll\n        , actives\n        , hasData\n\n      if (this.transitioning || this.$element.hasClass('in')) return\n\n      dimension = this.dimension()\n      scroll = $.camelCase(['scroll', dimension].join('-'))\n      actives = this.$parent && this.$parent.find('> .accordion-group > .in')\n\n      if (actives && actives.length) {\n        hasData = actives.data('collapse')\n        if (hasData && hasData.transitioning) return\n        actives.collapse('hide')\n        hasData || actives.data('collapse', null)\n      }\n\n      this.$element[dimension](0)\n      this.transition('addClass', $.Event('show'), 'shown')\n      $.support.transition && this.$element[dimension](this.$element[0][scroll])\n    }\n\n  , hide: function () {\n      var dimension\n      if (this.transitioning || !this.$element.hasClass('in')) return\n      dimension = this.dimension()\n      this.reset(this.$element[dimension]())\n      this.transition('removeClass', $.Event('hide'), 'hidden')\n      this.$element[dimension](0)\n    }\n\n  , reset: function (size) {\n      var dimension = this.dimension()\n\n      this.$element\n        .removeClass('collapse')\n        [dimension](size || 'auto')\n        [0].offsetWidth\n\n      this.$element[size !== null ? 'addClass' : 'removeClass']('collapse')\n\n      return this\n    }\n\n  , transition: function (method, startEvent, completeEvent) {\n      var that = this\n        , complete = function () {\n            if (startEvent.type == 'show') that.reset()\n            that.transitioning = 0\n            that.$element.trigger(completeEvent)\n          }\n\n      this.$element.trigger(startEvent)\n\n      if (startEvent.isDefaultPrevented()) return\n\n      this.transitioning = 1\n\n      this.$element[method]('in')\n\n      $.support.transition && this.$element.hasClass('collapse') ?\n        this.$element.one($.support.transition.end, complete) :\n        complete()\n    }\n\n  , toggle: function () {\n      this[this.$element.hasClass('in') ? 'hide' : 'show']()\n    }\n\n  }\n\n\n /* COLLAPSE PLUGIN DEFINITION\n  * ========================== */\n\n  var old = $.fn.collapse\n\n  $.fn.collapse = function (option) {\n    return this.each(function () {\n      var $this = $(this)\n        , data = $this.data('collapse')\n        , options = $.extend({}, $.fn.collapse.defaults, $this.data(), typeof option == 'object' && option)\n      if (!data) $this.data('collapse', (data = new Collapse(this, options)))\n      if (typeof option == 'string') data[option]()\n    })\n  }\n\n  $.fn.collapse.defaults = {\n    toggle: true\n  }\n\n  $.fn.collapse.Constructor = Collapse\n\n\n /* COLLAPSE NO CONFLICT\n  * ==================== */\n\n  $.fn.collapse.noConflict = function () {\n    $.fn.collapse = old\n    return this\n  }\n\n\n /* COLLAPSE DATA-API\n  * ================= */\n\n  $(document).on('click.collapse.data-api', '[data-toggle=collapse]', function (e) {\n    var $this = $(this), href\n      , target = $this.attr('data-target')\n        || e.preventDefault()\n        || (href = $this.attr('href')) && href.replace(/.*(?=#[^\\s]+$)/, '') //strip for ie7\n      , option = $(target).data('collapse') ? 'toggle' : $this.data()\n    $this[$(target).hasClass('in') ? 'addClass' : 'removeClass']('collapsed')\n    $(target).collapse(option)\n  })\n\n}(window.jQuery);/* ============================================================\n * bootstrap-dropdown.js v2.3.2\n * http://getbootstrap.com/2.3.2/javascript.html#dropdowns\n * ============================================================\n * Copyright 2013 Twitter, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * ============================================================ */\n\n\n!function ($) {\n\n  \"use strict\"; // jshint ;_;\n\n\n /* DROPDOWN CLASS DEFINITION\n  * ========================= */\n\n  var toggle = '[data-toggle=dropdown]'\n    , Dropdown = function (element) {\n        var $el = $(element).on('click.dropdown.data-api', this.toggle)\n        $('html').on('click.dropdown.data-api', function () {\n          $el.parent().removeClass('open')\n        })\n      }\n\n  Dropdown.prototype = {\n\n    constructor: Dropdown\n\n  , toggle: function (e) {\n      var $this = $(this)\n        , $parent\n        , isActive\n\n      if ($this.is('.disabled, :disabled')) return\n\n      $parent = getParent($this)\n\n      isActive = $parent.hasClass('open')\n\n      clearMenus()\n\n      if (!isActive) {\n        if ('ontouchstart' in document.documentElement) {\n          // if mobile we we use a backdrop because click events don't delegate\n          $('<div class=\"dropdown-backdrop\"/>').insertBefore($(this)).on('click', clearMenus)\n        }\n        $parent.toggleClass('open')\n      }\n\n      $this.focus()\n\n      return false\n    }\n\n  , keydown: function (e) {\n      var $this\n        , $items\n        , $active\n        , $parent\n        , isActive\n        , index\n\n      if (!/(38|40|27)/.test(e.keyCode)) return\n\n      $this = $(this)\n\n      e.preventDefault()\n      e.stopPropagation()\n\n      if ($this.is('.disabled, :disabled')) return\n\n      $parent = getParent($this)\n\n      isActive = $parent.hasClass('open')\n\n      if (!isActive || (isActive && e.keyCode == 27)) {\n        if (e.which == 27) $parent.find(toggle).focus()\n        return $this.click()\n      }\n\n      $items = $('[role=menu] li:not(.divider):visible a', $parent)\n\n      if (!$items.length) return\n\n      index = $items.index($items.filter(':focus'))\n\n      if (e.keyCode == 38 && index > 0) index--                                        // up\n      if (e.keyCode == 40 && index < $items.length - 1) index++                        // down\n      if (!~index) index = 0\n\n      $items\n        .eq(index)\n        .focus()\n    }\n\n  }\n\n  function clearMenus() {\n    $('.dropdown-backdrop').remove()\n    $(toggle).each(function () {\n      getParent($(this)).removeClass('open')\n    })\n  }\n\n  function getParent($this) {\n    var selector = $this.attr('data-target')\n      , $parent\n\n    if (!selector) {\n      selector = $this.attr('href')\n      selector = selector && /#/.test(selector) && selector.replace(/.*(?=#[^\\s]*$)/, '') //strip for ie7\n    }\n\n    $parent = selector && $(selector)\n\n    if (!$parent || !$parent.length) $parent = $this.parent()\n\n    return $parent\n  }\n\n\n  /* DROPDOWN PLUGIN DEFINITION\n   * ========================== */\n\n  var old = $.fn.dropdown\n\n  $.fn.dropdown = function (option) {\n    return this.each(function () {\n      var $this = $(this)\n        , data = $this.data('dropdown')\n      if (!data) $this.data('dropdown', (data = new Dropdown(this)))\n      if (typeof option == 'string') data[option].call($this)\n    })\n  }\n\n  $.fn.dropdown.Constructor = Dropdown\n\n\n /* DROPDOWN NO CONFLICT\n  * ==================== */\n\n  $.fn.dropdown.noConflict = function () {\n    $.fn.dropdown = old\n    return this\n  }\n\n\n  /* APPLY TO STANDARD DROPDOWN ELEMENTS\n   * =================================== */\n\n  $(document)\n    .on('click.dropdown.data-api', clearMenus)\n    .on('click.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })\n    .on('click.dropdown.data-api'  , toggle, Dropdown.prototype.toggle)\n    .on('keydown.dropdown.data-api', toggle + ', [role=menu]' , Dropdown.prototype.keydown)\n\n}(window.jQuery);\n/* =========================================================\n * bootstrap-modal.js v2.3.2\n * http://getbootstrap.com/2.3.2/javascript.html#modals\n * =========================================================\n * Copyright 2013 Twitter, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * ========================================================= */\n\n\n!function ($) {\n\n  \"use strict\"; // jshint ;_;\n\n\n /* MODAL CLASS DEFINITION\n  * ====================== */\n\n  var Modal = function (element, options) {\n    this.options = options\n    this.$element = $(element)\n      .delegate('[data-dismiss=\"modal\"]', 'click.dismiss.modal', $.proxy(this.hide, this))\n    this.options.remote && this.$element.find('.modal-body').load(this.options.remote)\n  }\n\n  Modal.prototype = {\n\n      constructor: Modal\n\n    , toggle: function () {\n        return this[!this.isShown ? 'show' : 'hide']()\n      }\n\n    , show: function () {\n        var that = this\n          , e = $.Event('show')\n\n        this.$element.trigger(e)\n\n        if (this.isShown || e.isDefaultPrevented()) return\n\n        this.isShown = true\n\n        this.escape()\n\n        this.backdrop(function () {\n          var transition = $.support.transition && that.$element.hasClass('fade')\n\n          if (!that.$element.parent().length) {\n            that.$element.appendTo(document.body) //don't move modals dom position\n          }\n\n          that.$element.show()\n\n          if (transition) {\n            that.$element[0].offsetWidth // force reflow\n          }\n\n          that.$element\n            .addClass('in')\n            .attr('aria-hidden', false)\n\n          that.enforceFocus()\n\n          transition ?\n            that.$element.one($.support.transition.end, function () { that.$element.focus().trigger('shown') }) :\n            that.$element.focus().trigger('shown')\n\n        })\n      }\n\n    , hide: function (e) {\n        e && e.preventDefault()\n\n        var that = this\n\n        e = $.Event('hide')\n\n        this.$element.trigger(e)\n\n        if (!this.isShown || e.isDefaultPrevented()) return\n\n        this.isShown = false\n\n        this.escape()\n\n        $(document).off('focusin.modal')\n\n        this.$element\n          .removeClass('in')\n          .attr('aria-hidden', true)\n\n        $.support.transition && this.$element.hasClass('fade') ?\n          this.hideWithTransition() :\n          this.hideModal()\n      }\n\n    , enforceFocus: function () {\n        var that = this\n        $(document).on('focusin.modal', function (e) {\n          if (that.$element[0] !== e.target && !that.$element.has(e.target).length) {\n            that.$element.focus()\n          }\n        })\n      }\n\n    , escape: function () {\n        var that = this\n        if (this.isShown && this.options.keyboard) {\n          this.$element.on('keyup.dismiss.modal', function ( e ) {\n            e.which == 27 && that.hide()\n          })\n        } else if (!this.isShown) {\n          this.$element.off('keyup.dismiss.modal')\n        }\n      }\n\n    , hideWithTransition: function () {\n        var that = this\n          , timeout = setTimeout(function () {\n              that.$element.off($.support.transition.end)\n              that.hideModal()\n            }, 500)\n\n        this.$element.one($.support.transition.end, function () {\n          clearTimeout(timeout)\n          that.hideModal()\n        })\n      }\n\n    , hideModal: function () {\n        var that = this\n        this.$element.hide()\n        this.backdrop(function () {\n          that.removeBackdrop()\n          that.$element.trigger('hidden')\n        })\n      }\n\n    , removeBackdrop: function () {\n        this.$backdrop && this.$backdrop.remove()\n        this.$backdrop = null\n      }\n\n    , backdrop: function (callback) {\n        var that = this\n          , animate = this.$element.hasClass('fade') ? 'fade' : ''\n\n        if (this.isShown && this.options.backdrop) {\n          var doAnimate = $.support.transition && animate\n\n          this.$backdrop = $('<div class=\"modal-backdrop ' + animate + '\" />')\n            .appendTo(document.body)\n\n          this.$backdrop.click(\n            this.options.backdrop == 'static' ?\n              $.proxy(this.$element[0].focus, this.$element[0])\n            : $.proxy(this.hide, this)\n          )\n\n          if (doAnimate) this.$backdrop[0].offsetWidth // force reflow\n\n          this.$backdrop.addClass('in')\n\n          if (!callback) return\n\n          doAnimate ?\n            this.$backdrop.one($.support.transition.end, callback) :\n            callback()\n\n        } else if (!this.isShown && this.$backdrop) {\n          this.$backdrop.removeClass('in')\n\n          $.support.transition && this.$element.hasClass('fade')?\n            this.$backdrop.one($.support.transition.end, callback) :\n            callback()\n\n        } else if (callback) {\n          callback()\n        }\n      }\n  }\n\n\n /* MODAL PLUGIN DEFINITION\n  * ======================= */\n\n  var old = $.fn.modal\n\n  $.fn.modal = function (option) {\n    return this.each(function () {\n      var $this = $(this)\n        , data = $this.data('modal')\n        , options = $.extend({}, $.fn.modal.defaults, $this.data(), typeof option == 'object' && option)\n      if (!data) $this.data('modal', (data = new Modal(this, options)))\n      if (typeof option == 'string') data[option]()\n      else if (options.show) data.show()\n    })\n  }\n\n  $.fn.modal.defaults = {\n      backdrop: true\n    , keyboard: true\n    , show: true\n  }\n\n  $.fn.modal.Constructor = Modal\n\n\n /* MODAL NO CONFLICT\n  * ================= */\n\n  $.fn.modal.noConflict = function () {\n    $.fn.modal = old\n    return this\n  }\n\n\n /* MODAL DATA-API\n  * ============== */\n\n  $(document).on('click.modal.data-api', '[data-toggle=\"modal\"]', function (e) {\n    var $this = $(this)\n      , href = $this.attr('href')\n      , $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\\s]+$)/, ''))) //strip for ie7\n      , option = $target.data('modal') ? 'toggle' : $.extend({ remote:!/#/.test(href) && href }, $target.data(), $this.data())\n\n    e.preventDefault()\n\n    $target\n      .modal(option)\n      .one('hide', function () {\n        $this.focus()\n      })\n  })\n\n}(window.jQuery);\n/* ===========================================================\n * bootstrap-tooltip.js v2.3.2\n * http://getbootstrap.com/2.3.2/javascript.html#tooltips\n * Inspired by the original jQuery.tipsy by Jason Frame\n * ===========================================================\n * Copyright 2013 Twitter, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * ========================================================== */\n\n\n!function ($) {\n\n  \"use strict\"; // jshint ;_;\n\n\n /* TOOLTIP PUBLIC CLASS DEFINITION\n  * =============================== */\n\n  var Tooltip = function (element, options) {\n    this.init('tooltip', element, options)\n  }\n\n  Tooltip.prototype = {\n\n    constructor: Tooltip\n\n  , init: function (type, element, options) {\n      var eventIn\n        , eventOut\n        , triggers\n        , trigger\n        , i\n\n      this.type = type\n      this.$element = $(element)\n      this.options = this.getOptions(options)\n      this.enabled = true\n\n      triggers = this.options.trigger.split(' ')\n\n      for (i = triggers.length; i--;) {\n        trigger = triggers[i]\n        if (trigger == 'click') {\n          this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this))\n        } else if (trigger != 'manual') {\n          eventIn = trigger == 'hover' ? 'mouseenter' : 'focus'\n          eventOut = trigger == 'hover' ? 'mouseleave' : 'blur'\n          this.$element.on(eventIn + '.' + this.type, this.options.selector, $.proxy(this.enter, this))\n          this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this))\n        }\n      }\n\n      this.options.selector ?\n        (this._options = $.extend({}, this.options, { trigger: 'manual', selector: '' })) :\n        this.fixTitle()\n    }\n\n  , getOptions: function (options) {\n      options = $.extend({}, $.fn[this.type].defaults, this.$element.data(), options)\n\n      if (options.delay && typeof options.delay == 'number') {\n        options.delay = {\n          show: options.delay\n        , hide: options.delay\n        }\n      }\n\n      return options\n    }\n\n  , enter: function (e) {\n      var defaults = $.fn[this.type].defaults\n        , options = {}\n        , self\n\n      this._options && $.each(this._options, function (key, value) {\n        if (defaults[key] != value) options[key] = value\n      }, this)\n\n      self = $(e.currentTarget)[this.type](options).data(this.type)\n\n      if (!self.options.delay || !self.options.delay.show) return self.show()\n\n      clearTimeout(this.timeout)\n      self.hoverState = 'in'\n      this.timeout = setTimeout(function() {\n        if (self.hoverState == 'in') self.show()\n      }, self.options.delay.show)\n    }\n\n  , leave: function (e) {\n      var self = $(e.currentTarget)[this.type](this._options).data(this.type)\n\n      if (this.timeout) clearTimeout(this.timeout)\n      if (!self.options.delay || !self.options.delay.hide) return self.hide()\n\n      self.hoverState = 'out'\n      this.timeout = setTimeout(function() {\n        if (self.hoverState == 'out') self.hide()\n      }, self.options.delay.hide)\n    }\n\n  , show: function () {\n      var $tip\n        , pos\n        , actualWidth\n        , actualHeight\n        , placement\n        , tp\n        , e = $.Event('show')\n\n      if (this.hasContent() && this.enabled) {\n        this.$element.trigger(e)\n        if (e.isDefaultPrevented()) return\n        $tip = this.tip()\n        this.setContent()\n\n        if (this.options.animation) {\n          $tip.addClass('fade')\n        }\n\n        placement = typeof this.options.placement == 'function' ?\n          this.options.placement.call(this, $tip[0], this.$element[0]) :\n          this.options.placement\n\n        $tip\n          .detach()\n          .css({ top: 0, left: 0, display: 'block' })\n\n        this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element)\n\n        pos = this.getPosition()\n\n        actualWidth = $tip[0].offsetWidth\n        actualHeight = $tip[0].offsetHeight\n\n        switch (placement) {\n          case 'bottom':\n            tp = {top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2}\n            break\n          case 'top':\n            tp = {top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2}\n            break\n          case 'left':\n            tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth}\n            break\n          case 'right':\n            tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width}\n            break\n        }\n\n        this.applyPlacement(tp, placement)\n        this.$element.trigger('shown')\n      }\n    }\n\n  , applyPlacement: function(offset, placement){\n      var $tip = this.tip()\n        , width = $tip[0].offsetWidth\n        , height = $tip[0].offsetHeight\n        , actualWidth\n        , actualHeight\n        , delta\n        , replace\n\n      $tip\n        .offset(offset)\n        .addClass(placement)\n        .addClass('in')\n\n      actualWidth = $tip[0].offsetWidth\n      actualHeight = $tip[0].offsetHeight\n\n      if (placement == 'top' && actualHeight != height) {\n        offset.top = offset.top + height - actualHeight\n        replace = true\n      }\n\n      if (placement == 'bottom' || placement == 'top') {\n        delta = 0\n\n        if (offset.left < 0){\n          delta = offset.left * -2\n          offset.left = 0\n          $tip.offset(offset)\n          actualWidth = $tip[0].offsetWidth\n          actualHeight = $tip[0].offsetHeight\n        }\n\n        this.replaceArrow(delta - width + actualWidth, actualWidth, 'left')\n      } else {\n        this.replaceArrow(actualHeight - height, actualHeight, 'top')\n      }\n\n      if (replace) $tip.offset(offset)\n    }\n\n  , replaceArrow: function(delta, dimension, position){\n      this\n        .arrow()\n        .css(position, delta ? (50 * (1 - delta / dimension) + \"%\") : '')\n    }\n\n  , setContent: function () {\n      var $tip = this.tip()\n        , title = this.getTitle()\n\n      $tip.find('.tooltip-inner')[this.options.html ? 'html' : 'text'](title)\n      $tip.removeClass('fade in top bottom left right')\n    }\n\n  , hide: function () {\n      var that = this\n        , $tip = this.tip()\n        , e = $.Event('hide')\n\n      this.$element.trigger(e)\n      if (e.isDefaultPrevented()) return\n\n      $tip.removeClass('in')\n\n      function removeWithAnimation() {\n        var timeout = setTimeout(function () {\n          $tip.off($.support.transition.end).detach()\n        }, 500)\n\n        $tip.one($.support.transition.end, function () {\n          clearTimeout(timeout)\n          $tip.detach()\n        })\n      }\n\n      $.support.transition && this.$tip.hasClass('fade') ?\n        removeWithAnimation() :\n        $tip.detach()\n\n      this.$element.trigger('hidden')\n\n      return this\n    }\n\n  , fixTitle: function () {\n      var $e = this.$element\n      if ($e.attr('title') || typeof($e.attr('data-original-title')) != 'string') {\n        $e.attr('data-original-title', $e.attr('title') || '').attr('title', '')\n      }\n    }\n\n  , hasContent: function () {\n      return this.getTitle()\n    }\n\n  , getPosition: function () {\n      var el = this.$element[0]\n      return $.extend({}, (typeof el.getBoundingClientRect == 'function') ? el.getBoundingClientRect() : {\n        width: el.offsetWidth\n      , height: el.offsetHeight\n      }, this.$element.offset())\n    }\n\n  , getTitle: function () {\n      var title\n        , $e = this.$element\n        , o = this.options\n\n      title = $e.attr('data-original-title')\n        || (typeof o.title == 'function' ? o.title.call($e[0]) :  o.title)\n\n      return title\n    }\n\n  , tip: function () {\n      return this.$tip = this.$tip || $(this.options.template)\n    }\n\n  , arrow: function(){\n      return this.$arrow = this.$arrow || this.tip().find(\".tooltip-arrow\")\n    }\n\n  , validate: function () {\n      if (!this.$element[0].parentNode) {\n        this.hide()\n        this.$element = null\n        this.options = null\n      }\n    }\n\n  , enable: function () {\n      this.enabled = true\n    }\n\n  , disable: function () {\n      this.enabled = false\n    }\n\n  , toggleEnabled: function () {\n      this.enabled = !this.enabled\n    }\n\n  , toggle: function (e) {\n      var self = e ? $(e.currentTarget)[this.type](this._options).data(this.type) : this\n      self.tip().hasClass('in') ? self.hide() : self.show()\n    }\n\n  , destroy: function () {\n      this.hide().$element.off('.' + this.type).removeData(this.type)\n    }\n\n  }\n\n\n /* TOOLTIP PLUGIN DEFINITION\n  * ========================= */\n\n  var old = $.fn.tooltip\n\n  $.fn.tooltip = function ( option ) {\n    return this.each(function () {\n      var $this = $(this)\n        , data = $this.data('tooltip')\n        , options = typeof option == 'object' && option\n      if (!data) $this.data('tooltip', (data = new Tooltip(this, options)))\n      if (typeof option == 'string') data[option]()\n    })\n  }\n\n  $.fn.tooltip.Constructor = Tooltip\n\n  $.fn.tooltip.defaults = {\n    animation: true\n  , placement: 'top'\n  , selector: false\n  , template: '<div class=\"tooltip\"><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>'\n  , trigger: 'hover focus'\n  , title: ''\n  , delay: 0\n  , html: false\n  , container: false\n  }\n\n\n /* TOOLTIP NO CONFLICT\n  * =================== */\n\n  $.fn.tooltip.noConflict = function () {\n    $.fn.tooltip = old\n    return this\n  }\n\n}(window.jQuery);\n/* ===========================================================\n * bootstrap-popover.js v2.3.2\n * http://getbootstrap.com/2.3.2/javascript.html#popovers\n * ===========================================================\n * Copyright 2013 Twitter, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =========================================================== */\n\n\n!function ($) {\n\n  \"use strict\"; // jshint ;_;\n\n\n /* POPOVER PUBLIC CLASS DEFINITION\n  * =============================== */\n\n  var Popover = function (element, options) {\n    this.init('popover', element, options)\n  }\n\n\n  /* NOTE: POPOVER EXTENDS BOOTSTRAP-TOOLTIP.js\n     ========================================== */\n\n  Popover.prototype = $.extend({}, $.fn.tooltip.Constructor.prototype, {\n\n    constructor: Popover\n\n  , setContent: function () {\n      var $tip = this.tip()\n        , title = this.getTitle()\n        , content = this.getContent()\n\n      $tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title)\n      $tip.find('.popover-content')[this.options.html ? 'html' : 'text'](content)\n\n      $tip.removeClass('fade top bottom left right in')\n    }\n\n  , hasContent: function () {\n      return this.getTitle() || this.getContent()\n    }\n\n  , getContent: function () {\n      var content\n        , $e = this.$element\n        , o = this.options\n\n      content = (typeof o.content == 'function' ? o.content.call($e[0]) :  o.content)\n        || $e.attr('data-content')\n\n      return content\n    }\n\n  , tip: function () {\n      if (!this.$tip) {\n        this.$tip = $(this.options.template)\n      }\n      return this.$tip\n    }\n\n  , destroy: function () {\n      this.hide().$element.off('.' + this.type).removeData(this.type)\n    }\n\n  })\n\n\n /* POPOVER PLUGIN DEFINITION\n  * ======================= */\n\n  var old = $.fn.popover\n\n  $.fn.popover = function (option) {\n    return this.each(function () {\n      var $this = $(this)\n        , data = $this.data('popover')\n        , options = typeof option == 'object' && option\n      if (!data) $this.data('popover', (data = new Popover(this, options)))\n      if (typeof option == 'string') data[option]()\n    })\n  }\n\n  $.fn.popover.Constructor = Popover\n\n  $.fn.popover.defaults = $.extend({} , $.fn.tooltip.defaults, {\n    placement: 'right'\n  , trigger: 'click'\n  , content: ''\n  , template: '<div class=\"popover\"><div class=\"arrow\"></div><h3 class=\"popover-title\"></h3><div class=\"popover-content\"></div></div>'\n  })\n\n\n /* POPOVER NO CONFLICT\n  * =================== */\n\n  $.fn.popover.noConflict = function () {\n    $.fn.popover = old\n    return this\n  }\n\n}(window.jQuery);\n/* =============================================================\n * bootstrap-scrollspy.js v2.3.2\n * http://getbootstrap.com/2.3.2/javascript.html#scrollspy\n * =============================================================\n * Copyright 2013 Twitter, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * ============================================================== */\n\n\n!function ($) {\n\n  \"use strict\"; // jshint ;_;\n\n\n /* SCROLLSPY CLASS DEFINITION\n  * ========================== */\n\n  function ScrollSpy(element, options) {\n    var process = $.proxy(this.process, this)\n      , $element = $(element).is('body') ? $(window) : $(element)\n      , href\n    this.options = $.extend({}, $.fn.scrollspy.defaults, options)\n    this.$scrollElement = $element.on('scroll.scroll-spy.data-api', process)\n    this.selector = (this.options.target\n      || ((href = $(element).attr('href')) && href.replace(/.*(?=#[^\\s]+$)/, '')) //strip for ie7\n      || '') + ' .nav li > a'\n    this.$body = $('body')\n    this.refresh()\n    this.process()\n  }\n\n  ScrollSpy.prototype = {\n\n      constructor: ScrollSpy\n\n    , refresh: function () {\n        var self = this\n          , $targets\n\n        this.offsets = $([])\n        this.targets = $([])\n\n        $targets = this.$body\n          .find(this.selector)\n          .map(function () {\n            var $el = $(this)\n              , href = $el.data('target') || $el.attr('href')\n              , $href = /^#\\w/.test(href) && $(href)\n            return ( $href\n              && $href.length\n              && [[ $href.position().top + (!$.isWindow(self.$scrollElement.get(0)) && self.$scrollElement.scrollTop()), href ]] ) || null\n          })\n          .sort(function (a, b) { return a[0] - b[0] })\n          .each(function () {\n            self.offsets.push(this[0])\n            self.targets.push(this[1])\n          })\n      }\n\n    , process: function () {\n        var scrollTop = this.$scrollElement.scrollTop() + this.options.offset\n          , scrollHeight = this.$scrollElement[0].scrollHeight || this.$body[0].scrollHeight\n          , maxScroll = scrollHeight - this.$scrollElement.height()\n          , offsets = this.offsets\n          , targets = this.targets\n          , activeTarget = this.activeTarget\n          , i\n\n        if (scrollTop >= maxScroll) {\n          return activeTarget != (i = targets.last()[0])\n            && this.activate ( i )\n        }\n\n        for (i = offsets.length; i--;) {\n          activeTarget != targets[i]\n            && scrollTop >= offsets[i]\n            && (!offsets[i + 1] || scrollTop <= offsets[i + 1])\n            && this.activate( targets[i] )\n        }\n      }\n\n    , activate: function (target) {\n        var active\n          , selector\n\n        this.activeTarget = target\n\n        $(this.selector)\n          .parent('.active')\n          .removeClass('active')\n\n        selector = this.selector\n          + '[data-target=\"' + target + '\"],'\n          + this.selector + '[href=\"' + target + '\"]'\n\n        active = $(selector)\n          .parent('li')\n          .addClass('active')\n\n        if (active.parent('.dropdown-menu').length)  {\n          active = active.closest('li.dropdown').addClass('active')\n        }\n\n        active.trigger('activate')\n      }\n\n  }\n\n\n /* SCROLLSPY PLUGIN DEFINITION\n  * =========================== */\n\n  var old = $.fn.scrollspy\n\n  $.fn.scrollspy = function (option) {\n    return this.each(function () {\n      var $this = $(this)\n        , data = $this.data('scrollspy')\n        , options = typeof option == 'object' && option\n      if (!data) $this.data('scrollspy', (data = new ScrollSpy(this, options)))\n      if (typeof option == 'string') data[option]()\n    })\n  }\n\n  $.fn.scrollspy.Constructor = ScrollSpy\n\n  $.fn.scrollspy.defaults = {\n    offset: 10\n  }\n\n\n /* SCROLLSPY NO CONFLICT\n  * ===================== */\n\n  $.fn.scrollspy.noConflict = function () {\n    $.fn.scrollspy = old\n    return this\n  }\n\n\n /* SCROLLSPY DATA-API\n  * ================== */\n\n  $(window).on('load', function () {\n    $('[data-spy=\"scroll\"]').each(function () {\n      var $spy = $(this)\n      $spy.scrollspy($spy.data())\n    })\n  })\n\n}(window.jQuery);/* ========================================================\n * bootstrap-tab.js v2.3.2\n * http://getbootstrap.com/2.3.2/javascript.html#tabs\n * ========================================================\n * Copyright 2013 Twitter, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * ======================================================== */\n\n\n!function ($) {\n\n  \"use strict\"; // jshint ;_;\n\n\n /* TAB CLASS DEFINITION\n  * ==================== */\n\n  var Tab = function (element) {\n    this.element = $(element)\n  }\n\n  Tab.prototype = {\n\n    constructor: Tab\n\n  , show: function () {\n      var $this = this.element\n        , $ul = $this.closest('ul:not(.dropdown-menu)')\n        , selector = $this.attr('data-target')\n        , previous\n        , $target\n        , e\n\n      if (!selector) {\n        selector = $this.attr('href')\n        selector = selector && selector.replace(/.*(?=#[^\\s]*$)/, '') //strip for ie7\n      }\n\n      if ( $this.parent('li').hasClass('active') ) return\n\n      previous = $ul.find('.active:last a')[0]\n\n      e = $.Event('show', {\n        relatedTarget: previous\n      })\n\n      $this.trigger(e)\n\n      if (e.isDefaultPrevented()) return\n\n      $target = $(selector)\n\n      this.activate($this.parent('li'), $ul)\n      this.activate($target, $target.parent(), function () {\n        $this.trigger({\n          type: 'shown'\n        , relatedTarget: previous\n        })\n      })\n    }\n\n  , activate: function ( element, container, callback) {\n      var $active = container.find('> .active')\n        , transition = callback\n            && $.support.transition\n            && $active.hasClass('fade')\n\n      function next() {\n        $active\n          .removeClass('active')\n          .find('> .dropdown-menu > .active')\n          .removeClass('active')\n\n        element.addClass('active')\n\n        if (transition) {\n          element[0].offsetWidth // reflow for transition\n          element.addClass('in')\n        } else {\n          element.removeClass('fade')\n        }\n\n        if ( element.parent('.dropdown-menu') ) {\n          element.closest('li.dropdown').addClass('active')\n        }\n\n        callback && callback()\n      }\n\n      transition ?\n        $active.one($.support.transition.end, next) :\n        next()\n\n      $active.removeClass('in')\n    }\n  }\n\n\n /* TAB PLUGIN DEFINITION\n  * ===================== */\n\n  var old = $.fn.tab\n\n  $.fn.tab = function ( option ) {\n    return this.each(function () {\n      var $this = $(this)\n        , data = $this.data('tab')\n      if (!data) $this.data('tab', (data = new Tab(this)))\n      if (typeof option == 'string') data[option]()\n    })\n  }\n\n  $.fn.tab.Constructor = Tab\n\n\n /* TAB NO CONFLICT\n  * =============== */\n\n  $.fn.tab.noConflict = function () {\n    $.fn.tab = old\n    return this\n  }\n\n\n /* TAB DATA-API\n  * ============ */\n\n  $(document).on('click.tab.data-api', '[data-toggle=\"tab\"], [data-toggle=\"pill\"]', function (e) {\n    e.preventDefault()\n    $(this).tab('show')\n  })\n\n}(window.jQuery);/* =============================================================\n * bootstrap-typeahead.js v2.3.2\n * http://getbootstrap.com/2.3.2/javascript.html#typeahead\n * =============================================================\n * Copyright 2013 Twitter, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * ============================================================ */\n\n\n!function($){\n\n  \"use strict\"; // jshint ;_;\n\n\n /* TYPEAHEAD PUBLIC CLASS DEFINITION\n  * ================================= */\n\n  var Typeahead = function (element, options) {\n    this.$element = $(element)\n    this.options = $.extend({}, $.fn.typeahead.defaults, options)\n    this.matcher = this.options.matcher || this.matcher\n    this.sorter = this.options.sorter || this.sorter\n    this.highlighter = this.options.highlighter || this.highlighter\n    this.updater = this.options.updater || this.updater\n    this.source = this.options.source\n    this.$menu = $(this.options.menu)\n    this.shown = false\n    this.listen()\n  }\n\n  Typeahead.prototype = {\n\n    constructor: Typeahead\n\n  , select: function () {\n      var val = this.$menu.find('.active').attr('data-value')\n      this.$element\n        .val(this.updater(val))\n        .change()\n      return this.hide()\n    }\n\n  , updater: function (item) {\n      return item\n    }\n\n  , show: function () {\n      var pos = $.extend({}, this.$element.position(), {\n        height: this.$element[0].offsetHeight\n      })\n\n      this.$menu\n        .insertAfter(this.$element)\n        .css({\n          top: pos.top + pos.height\n        , left: pos.left\n        })\n        .show()\n\n      this.shown = true\n      return this\n    }\n\n  , hide: function () {\n      this.$menu.hide()\n      this.shown = false\n      return this\n    }\n\n  , lookup: function (event) {\n      var items\n\n      this.query = this.$element.val()\n\n      if (!this.query || this.query.length < this.options.minLength) {\n        return this.shown ? this.hide() : this\n      }\n\n      items = $.isFunction(this.source) ? this.source(this.query, $.proxy(this.process, this)) : this.source\n\n      return items ? this.process(items) : this\n    }\n\n  , process: function (items) {\n      var that = this\n\n      items = $.grep(items, function (item) {\n        return that.matcher(item)\n      })\n\n      items = this.sorter(items)\n\n      if (!items.length) {\n        return this.shown ? this.hide() : this\n      }\n\n      return this.render(items.slice(0, this.options.items)).show()\n    }\n\n  , matcher: function (item) {\n      return ~item.toLowerCase().indexOf(this.query.toLowerCase())\n    }\n\n  , sorter: function (items) {\n      var beginswith = []\n        , caseSensitive = []\n        , caseInsensitive = []\n        , item\n\n      while (item = items.shift()) {\n        if (!item.toLowerCase().indexOf(this.query.toLowerCase())) beginswith.push(item)\n        else if (~item.indexOf(this.query)) caseSensitive.push(item)\n        else caseInsensitive.push(item)\n      }\n\n      return beginswith.concat(caseSensitive, caseInsensitive)\n    }\n\n  , highlighter: function (item) {\n      var query = this.query.replace(/[\\-\\[\\]{}()*+?.,\\\\\\^$|#\\s]/g, '\\\\$&')\n      return item.replace(new RegExp('(' + query + ')', 'ig'), function ($1, match) {\n        return '<strong>' + match + '</strong>'\n      })\n    }\n\n  , render: function (items) {\n      var that = this\n\n      items = $(items).map(function (i, item) {\n        i = $(that.options.item).attr('data-value', item)\n        i.find('a').html(that.highlighter(item))\n        return i[0]\n      })\n\n      items.first().addClass('active')\n      this.$menu.html(items)\n      return this\n    }\n\n  , next: function (event) {\n      var active = this.$menu.find('.active').removeClass('active')\n        , next = active.next()\n\n      if (!next.length) {\n        next = $(this.$menu.find('li')[0])\n      }\n\n      next.addClass('active')\n    }\n\n  , prev: function (event) {\n      var active = this.$menu.find('.active').removeClass('active')\n        , prev = active.prev()\n\n      if (!prev.length) {\n        prev = this.$menu.find('li').last()\n      }\n\n      prev.addClass('active')\n    }\n\n  , listen: function () {\n      this.$element\n        .on('focus',    $.proxy(this.focus, this))\n        .on('blur',     $.proxy(this.blur, this))\n        .on('keypress', $.proxy(this.keypress, this))\n        .on('keyup',    $.proxy(this.keyup, this))\n\n      if (this.eventSupported('keydown')) {\n        this.$element.on('keydown', $.proxy(this.keydown, this))\n      }\n\n      this.$menu\n        .on('click', $.proxy(this.click, this))\n        .on('mouseenter', 'li', $.proxy(this.mouseenter, this))\n        .on('mouseleave', 'li', $.proxy(this.mouseleave, this))\n    }\n\n  , eventSupported: function(eventName) {\n      var isSupported = eventName in this.$element\n      if (!isSupported) {\n        this.$element.setAttribute(eventName, 'return;')\n        isSupported = typeof this.$element[eventName] === 'function'\n      }\n      return isSupported\n    }\n\n  , move: function (e) {\n      if (!this.shown) return\n\n      switch(e.keyCode) {\n        case 9: // tab\n        case 13: // enter\n        case 27: // escape\n          e.preventDefault()\n          break\n\n        case 38: // up arrow\n          e.preventDefault()\n          this.prev()\n          break\n\n        case 40: // down arrow\n          e.preventDefault()\n          this.next()\n          break\n      }\n\n      e.stopPropagation()\n    }\n\n  , keydown: function (e) {\n      this.suppressKeyPressRepeat = ~$.inArray(e.keyCode, [40,38,9,13,27])\n      this.move(e)\n    }\n\n  , keypress: function (e) {\n      if (this.suppressKeyPressRepeat) return\n      this.move(e)\n    }\n\n  , keyup: function (e) {\n      switch(e.keyCode) {\n        case 40: // down arrow\n        case 38: // up arrow\n        case 16: // shift\n        case 17: // ctrl\n        case 18: // alt\n          break\n\n        case 9: // tab\n        case 13: // enter\n          if (!this.shown) return\n          this.select()\n          break\n\n        case 27: // escape\n          if (!this.shown) return\n          this.hide()\n          break\n\n        default:\n          this.lookup()\n      }\n\n      e.stopPropagation()\n      e.preventDefault()\n  }\n\n  , focus: function (e) {\n      this.focused = true\n    }\n\n  , blur: function (e) {\n      this.focused = false\n      if (!this.mousedover && this.shown) this.hide()\n    }\n\n  , click: function (e) {\n      e.stopPropagation()\n      e.preventDefault()\n      this.select()\n      this.$element.focus()\n    }\n\n  , mouseenter: function (e) {\n      this.mousedover = true\n      this.$menu.find('.active').removeClass('active')\n      $(e.currentTarget).addClass('active')\n    }\n\n  , mouseleave: function (e) {\n      this.mousedover = false\n      if (!this.focused && this.shown) this.hide()\n    }\n\n  }\n\n\n  /* TYPEAHEAD PLUGIN DEFINITION\n   * =========================== */\n\n  var old = $.fn.typeahead\n\n  $.fn.typeahead = function (option) {\n    return this.each(function () {\n      var $this = $(this)\n        , data = $this.data('typeahead')\n        , options = typeof option == 'object' && option\n      if (!data) $this.data('typeahead', (data = new Typeahead(this, options)))\n      if (typeof option == 'string') data[option]()\n    })\n  }\n\n  $.fn.typeahead.defaults = {\n    source: []\n  , items: 8\n  , menu: '<ul class=\"typeahead dropdown-menu\"></ul>'\n  , item: '<li><a href=\"#\"></a></li>'\n  , minLength: 1\n  }\n\n  $.fn.typeahead.Constructor = Typeahead\n\n\n /* TYPEAHEAD NO CONFLICT\n  * =================== */\n\n  $.fn.typeahead.noConflict = function () {\n    $.fn.typeahead = old\n    return this\n  }\n\n\n /* TYPEAHEAD DATA-API\n  * ================== */\n\n  $(document).on('focus.typeahead.data-api', '[data-provide=\"typeahead\"]', function (e) {\n    var $this = $(this)\n    if ($this.data('typeahead')) return\n    $this.typeahead($this.data())\n  })\n\n}(window.jQuery);\n/* ==========================================================\n * bootstrap-affix.js v2.3.2\n * http://getbootstrap.com/2.3.2/javascript.html#affix\n * ==========================================================\n * Copyright 2013 Twitter, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * ========================================================== */\n\n\n!function ($) {\n\n  \"use strict\"; // jshint ;_;\n\n\n /* AFFIX CLASS DEFINITION\n  * ====================== */\n\n  var Affix = function (element, options) {\n    this.options = $.extend({}, $.fn.affix.defaults, options)\n    this.$window = $(window)\n      .on('scroll.affix.data-api', $.proxy(this.checkPosition, this))\n      .on('click.affix.data-api',  $.proxy(function () { setTimeout($.proxy(this.checkPosition, this), 1) }, this))\n    this.$element = $(element)\n    this.checkPosition()\n  }\n\n  Affix.prototype.checkPosition = function () {\n    if (!this.$element.is(':visible')) return\n\n    var scrollHeight = $(document).height()\n      , scrollTop = this.$window.scrollTop()\n      , position = this.$element.offset()\n      , offset = this.options.offset\n      , offsetBottom = offset.bottom\n      , offsetTop = offset.top\n      , reset = 'affix affix-top affix-bottom'\n      , affix\n\n    if (typeof offset != 'object') offsetBottom = offsetTop = offset\n    if (typeof offsetTop == 'function') offsetTop = offset.top()\n    if (typeof offsetBottom == 'function') offsetBottom = offset.bottom()\n\n    affix = this.unpin != null && (scrollTop + this.unpin <= position.top) ?\n      false    : offsetBottom != null && (position.top + this.$element.height() >= scrollHeight - offsetBottom) ?\n      'bottom' : offsetTop != null && scrollTop <= offsetTop ?\n      'top'    : false\n\n    if (this.affixed === affix) return\n\n    this.affixed = affix\n    this.unpin = affix == 'bottom' ? position.top - scrollTop : null\n\n    this.$element.removeClass(reset).addClass('affix' + (affix ? '-' + affix : ''))\n  }\n\n\n /* AFFIX PLUGIN DEFINITION\n  * ======================= */\n\n  var old = $.fn.affix\n\n  $.fn.affix = function (option) {\n    return this.each(function () {\n      var $this = $(this)\n        , data = $this.data('affix')\n        , options = typeof option == 'object' && option\n      if (!data) $this.data('affix', (data = new Affix(this, options)))\n      if (typeof option == 'string') data[option]()\n    })\n  }\n\n  $.fn.affix.Constructor = Affix\n\n  $.fn.affix.defaults = {\n    offset: 0\n  }\n\n\n /* AFFIX NO CONFLICT\n  * ================= */\n\n  $.fn.affix.noConflict = function () {\n    $.fn.affix = old\n    return this\n  }\n\n\n /* AFFIX DATA-API\n  * ============== */\n\n  $(window).on('load', function () {\n    $('[data-spy=\"affix\"]').each(function () {\n      var $spy = $(this)\n        , data = $spy.data()\n\n      data.offset = data.offset || {}\n\n      data.offsetBottom && (data.offset.bottom = data.offsetBottom)\n      data.offsetTop && (data.offset.top = data.offsetTop)\n\n      $spy.affix(data)\n    })\n  })\n\n\n}(window.jQuery);"
  },
  {
    "path": "doc/_static/default.css",
    "content": "a.headerlink {\n    color: #ffffff;\n    font-size: 0.8em;\n    padding: 0 4px 0 4px;\n    text-decoration: none;\n}\n\na.headerlink:hover {\n    background-color: #ffffff;\n    color: #c60f0f;\n}\n\n#sidebar_toc ul {\n    list-style-type: none;\n    padding-left: 10px;\n}\n\n.toc_handle {\n    background         : transparent\n    url(space.gif);\n    background-repeat  : no-repeat;\n    background-position: center bottom;\n    display   : block;\n    float     : left;\n    width     : 14px;\n    height    : 19px;\n}\n\n.toc_collapsed {\n    background         : transparent\n    url(expand.png);\n    background-repeat  : no-repeat;\n    background-position: center bottom;\n    cursor             : pointer;\n}\n\n.toc_expanded {\n    background         : transparent\n    url(collapse.png);\n    background-repeat  : no-repeat;\n    background-position: center bottom;\n    cursor             : pointer;\n}\n\nbody {\n    -webkit-animation-duration: 0.1s;\n\t-webkit-animation-name: fontfix;\n\t-webkit-animation-iteration-count: 1;\n\t-webkit-animation-timing-function: linear;\n\t-webkit-animation-delay: 0.5s;\n}\n\n@-webkit-keyframes fontfix{\n\tfrom{ \topacity: 1; }\n\tto{\topacity: 1; }\n}\n\nimg.floatleft{\n  float: left\n}\n\nimg.floatright{\n  float:right\n}\n\nimg.floatcenter{\n  float:center\n}"
  },
  {
    "path": "doc/_static/doctools.js",
    "content": "/*\n * doctools.js\n * ~~~~~~~~~~~\n *\n * Sphinx JavaScript utilities for all documentation.\n *\n * :copyright: Copyright 2007-2013 by the Sphinx team, see AUTHORS.\n * :license: BSD, see LICENSE for details.\n *\n */\n\n/**\n * select a different prefix for underscore\n */\n$u = _.noConflict();\n\n/**\n * make the code below compatible with browsers without\n * an installed firebug like debugger\nif (!window.console || !console.firebug) {\n  var names = [\"log\", \"debug\", \"info\", \"warn\", \"error\", \"assert\", \"dir\",\n    \"dirxml\", \"group\", \"groupEnd\", \"time\", \"timeEnd\", \"count\", \"trace\",\n    \"profile\", \"profileEnd\"];\n  window.console = {};\n  for (var i = 0; i < names.length; ++i)\n    window.console[names[i]] = function() {};\n}\n */\n\n/**\n * small helper function to urldecode strings\n */\njQuery.urldecode = function(x) {\n  return decodeURIComponent(x).replace(/\\+/g, ' ');\n};\n\n/**\n * small helper function to urlencode strings\n */\njQuery.urlencode = encodeURIComponent;\n\n/**\n * This function returns the parsed url parameters of the\n * current request. Multiple values per key are supported,\n * it will always return arrays of strings for the value parts.\n */\njQuery.getQueryParameters = function(s) {\n  if (typeof s == 'undefined')\n    s = document.location.search;\n  var parts = s.substr(s.indexOf('?') + 1).split('&');\n  var result = {};\n  for (var i = 0; i < parts.length; i++) {\n    var tmp = parts[i].split('=', 2);\n    var key = jQuery.urldecode(tmp[0]);\n    var value = jQuery.urldecode(tmp[1]);\n    if (key in result)\n      result[key].push(value);\n    else\n      result[key] = [value];\n  }\n  return result;\n};\n\n/**\n * highlight a given string on a jquery object by wrapping it in\n * span elements with the given class name.\n */\njQuery.fn.highlightText = function(text, className) {\n  function highlight(node) {\n    if (node.nodeType == 3) {\n      var val = node.nodeValue;\n      var pos = val.toLowerCase().indexOf(text);\n      if (pos >= 0 && !jQuery(node.parentNode).hasClass(className)) {\n        var span = document.createElement(\"span\");\n        span.className = className;\n        span.appendChild(document.createTextNode(val.substr(pos, text.length)));\n        node.parentNode.insertBefore(span, node.parentNode.insertBefore(\n          document.createTextNode(val.substr(pos + text.length)),\n          node.nextSibling));\n        node.nodeValue = val.substr(0, pos);\n      }\n    }\n    else if (!jQuery(node).is(\"button, select, textarea\")) {\n      jQuery.each(node.childNodes, function() {\n        highlight(this);\n      });\n    }\n  }\n  return this.each(function() {\n    highlight(this);\n  });\n};\n\n/**\n * Small JavaScript module for the documentation.\n */\nvar Documentation = {\n\n  init : function() {\n    this.fixFirefoxAnchorBug();\n    this.highlightSearchWords();\n    this.initIndexTable();\n  },\n\n  /**\n   * i18n support\n   */\n  TRANSLATIONS : {},\n  PLURAL_EXPR : function(n) { return n == 1 ? 0 : 1; },\n  LOCALE : 'unknown',\n\n  // gettext and ngettext don't access this so that the functions\n  // can safely bound to a different name (_ = Documentation.gettext)\n  gettext : function(string) {\n    var translated = Documentation.TRANSLATIONS[string];\n    if (typeof translated == 'undefined')\n      return string;\n    return (typeof translated == 'string') ? translated : translated[0];\n  },\n\n  ngettext : function(singular, plural, n) {\n    var translated = Documentation.TRANSLATIONS[singular];\n    if (typeof translated == 'undefined')\n      return (n == 1) ? singular : plural;\n    return translated[Documentation.PLURALEXPR(n)];\n  },\n\n  addTranslations : function(catalog) {\n    for (var key in catalog.messages)\n      this.TRANSLATIONS[key] = catalog.messages[key];\n    this.PLURAL_EXPR = new Function('n', 'return +(' + catalog.plural_expr + ')');\n    this.LOCALE = catalog.locale;\n  },\n\n  /**\n   * add context elements like header anchor links\n   */\n  addContextElements : function() {\n    $('div[id] > :header:first').each(function() {\n      $('<a class=\"headerlink\">\\u00B6</a>').\n      attr('href', '#' + this.id).\n      attr('title', _('Permalink to this headline')).\n      appendTo(this);\n    });\n    $('dt[id]').each(function() {\n      $('<a class=\"headerlink\">\\u00B6</a>').\n      attr('href', '#' + this.id).\n      attr('title', _('Permalink to this definition')).\n      appendTo(this);\n    });\n  },\n\n  /**\n   * workaround a firefox stupidity\n   */\n  fixFirefoxAnchorBug : function() {\n    if (document.location.hash && $.browser.mozilla)\n      window.setTimeout(function() {\n        document.location.href += '';\n      }, 10);\n  },\n\n  /**\n   * highlight the search words provided in the url in the text\n   */\n  highlightSearchWords : function() {\n    var params = $.getQueryParameters();\n    var terms = (params.highlight) ? params.highlight[0].split(/\\s+/) : [];\n    if (terms.length) {\n      var body = $('div.body');\n      window.setTimeout(function() {\n        $.each(terms, function() {\n          body.highlightText(this.toLowerCase(), 'highlighted');\n        });\n      }, 10);\n      $('<p class=\"highlight-link\"><a href=\"javascript:Documentation.' +\n        'hideSearchWords()\">' + _('Hide Search Matches') + '</a></p>')\n          .appendTo($('#searchbox'));\n    }\n  },\n\n  /**\n   * init the domain index toggle buttons\n   */\n  initIndexTable : function() {\n    var togglers = $('img.toggler').click(function() {\n      var src = $(this).attr('src');\n      var idnum = $(this).attr('id').substr(7);\n      $('tr.cg-' + idnum).toggle();\n      if (src.substr(-9) == 'minus.png')\n        $(this).attr('src', src.substr(0, src.length-9) + 'plus.png');\n      else\n        $(this).attr('src', src.substr(0, src.length-8) + 'minus.png');\n    }).css('display', '');\n    if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) {\n        togglers.click();\n    }\n  },\n\n  /**\n   * helper function to hide the search marks again\n   */\n  hideSearchWords : function() {\n    $('#searchbox .highlight-link').fadeOut(300);\n    $('span.highlighted').removeClass('highlighted');\n  },\n\n  /**\n   * make the url absolute\n   */\n  makeURL : function(relativeURL) {\n    return DOCUMENTATION_OPTIONS.URL_ROOT + '/' + relativeURL;\n  },\n\n  /**\n   * get the current relative url\n   */\n  getCurrentURL : function() {\n    var path = document.location.pathname;\n    var parts = path.split(/\\//);\n    $.each(DOCUMENTATION_OPTIONS.URL_ROOT.split(/\\//), function() {\n      if (this == '..')\n        parts.pop();\n    });\n    var url = parts.join('/');\n    return path.substring(url.lastIndexOf('/') + 1, path.length - 1);\n  }\n};\n\n// quick alias for translations\n_ = Documentation.gettext;\n\n$(document).ready(function() {\n  Documentation.init();\n});\n"
  },
  {
    "path": "doc/_static/jquery.cookie.js",
    "content": "/*!\n * jQuery Cookie Plugin v1.4.1\n * https://github.com/carhartl/jquery-cookie\n *\n * Copyright 2006, 2014 Klaus Hartl\n * Released under the MIT license\n */\n(function (factory) {\n\tif (typeof define === 'function' && define.amd) {\n\t\t// AMD\n\t\tdefine(['jquery'], factory);\n\t} else if (typeof exports === 'object') {\n\t\t// CommonJS\n\t\tfactory(require('jquery'));\n\t} else {\n\t\t// Browser globals\n\t\tfactory(jQuery);\n\t}\n}(function ($) {\n\n\tvar pluses = /\\+/g;\n\n\tfunction encode(s) {\n\t\treturn config.raw ? s : encodeURIComponent(s);\n\t}\n\n\tfunction decode(s) {\n\t\treturn config.raw ? s : decodeURIComponent(s);\n\t}\n\n\tfunction stringifyCookieValue(value) {\n\t\treturn encode(config.json ? JSON.stringify(value) : String(value));\n\t}\n\n\tfunction parseCookieValue(s) {\n\t\tif (s.indexOf('\"') === 0) {\n\t\t\t// This is a quoted cookie as according to RFC2068, unescape...\n\t\t\ts = s.slice(1, -1).replace(/\\\\\"/g, '\"').replace(/\\\\\\\\/g, '\\\\');\n\t\t}\n\n\t\ttry {\n\t\t\t// Replace server-side written pluses with spaces.\n\t\t\t// If we can't decode the cookie, ignore it, it's unusable.\n\t\t\t// If we can't parse the cookie, ignore it, it's unusable.\n\t\t\ts = decodeURIComponent(s.replace(pluses, ' '));\n\t\t\treturn config.json ? JSON.parse(s) : s;\n\t\t} catch(e) {}\n\t}\n\n\tfunction read(s, converter) {\n\t\tvar value = config.raw ? s : parseCookieValue(s);\n\t\treturn $.isFunction(converter) ? converter(value) : value;\n\t}\n\n\tvar config = $.cookie = function (key, value, options) {\n\n\t\t// Write\n\n\t\tif (arguments.length > 1 && !$.isFunction(value)) {\n\t\t\toptions = $.extend({}, config.defaults, options);\n\n\t\t\tif (typeof options.expires === 'number') {\n\t\t\t\tvar days = options.expires, t = options.expires = new Date();\n\t\t\t\tt.setTime(+t + days * 864e+5);\n\t\t\t}\n\n\t\t\treturn (document.cookie = [\n\t\t\t\tencode(key), '=', stringifyCookieValue(value),\n\t\t\t\toptions.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE\n\t\t\t\toptions.path    ? '; path=' + options.path : '',\n\t\t\t\toptions.domain  ? '; domain=' + options.domain : '',\n\t\t\t\toptions.secure  ? '; secure' : ''\n\t\t\t].join(''));\n\t\t}\n\n\t\t// Read\n\n\t\tvar result = key ? undefined : {};\n\n\t\t// To prevent the for loop in the first place assign an empty array\n\t\t// in case there are no cookies at all. Also prevents odd result when\n\t\t// calling $.cookie().\n\t\tvar cookies = document.cookie ? document.cookie.split('; ') : [];\n\n\t\tfor (var i = 0, l = cookies.length; i < l; i++) {\n\t\t\tvar parts = cookies[i].split('=');\n\t\t\tvar name = decode(parts.shift());\n\t\t\tvar cookie = parts.join('=');\n\n\t\t\tif (key && key === name) {\n\t\t\t\t// If second argument (value) is a function it's a converter...\n\t\t\t\tresult = read(cookie, value);\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\t// Prevent storing a cookie that we couldn't decode.\n\t\t\tif (!key && (cookie = read(cookie)) !== undefined) {\n\t\t\t\tresult[name] = cookie;\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t};\n\n\tconfig.defaults = {};\n\n\t$.removeCookie = function (key, options) {\n\t\tif ($.cookie(key) === undefined) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Must not alter options, thus extending a fresh object...\n\t\t$.cookie(key, '', $.extend({}, options, { expires: -1 }));\n\t\treturn !$.cookie(key);\n\t};\n\n}));\n"
  },
  {
    "path": "doc/_static/jquery.js",
    "content": "/*! jQuery v1.8.3 jquery.com | jquery.org/license */\n(function(e,t){function _(e){var t=M[e]={};return v.each(e.split(y),function(e,n){t[n]=!0}),t}function H(e,n,r){if(r===t&&e.nodeType===1){var i=\"data-\"+n.replace(P,\"-$1\").toLowerCase();r=e.getAttribute(i);if(typeof r==\"string\"){try{r=r===\"true\"?!0:r===\"false\"?!1:r===\"null\"?null:+r+\"\"===r?+r:D.test(r)?v.parseJSON(r):r}catch(s){}v.data(e,n,r)}else r=t}return r}function B(e){var t;for(t in e){if(t===\"data\"&&v.isEmptyObject(e[t]))continue;if(t!==\"toJSON\")return!1}return!0}function et(){return!1}function tt(){return!0}function ut(e){return!e||!e.parentNode||e.parentNode.nodeType===11}function at(e,t){do e=e[t];while(e&&e.nodeType!==1);return e}function ft(e,t,n){t=t||0;if(v.isFunction(t))return v.grep(e,function(e,r){var i=!!t.call(e,r,e);return i===n});if(t.nodeType)return v.grep(e,function(e,r){return e===t===n});if(typeof t==\"string\"){var r=v.grep(e,function(e){return e.nodeType===1});if(it.test(t))return v.filter(t,r,!n);t=v.filter(t,r)}return v.grep(e,function(e,r){return v.inArray(e,t)>=0===n})}function lt(e){var t=ct.split(\"|\"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}function Lt(e,t){return e.getElementsByTagName(t)[0]||e.appendChild(e.ownerDocument.createElement(t))}function At(e,t){if(t.nodeType!==1||!v.hasData(e))return;var n,r,i,s=v._data(e),o=v._data(t,s),u=s.events;if(u){delete o.handle,o.events={};for(n in u)for(r=0,i=u[n].length;r<i;r++)v.event.add(t,n,u[n][r])}o.data&&(o.data=v.extend({},o.data))}function Ot(e,t){var n;if(t.nodeType!==1)return;t.clearAttributes&&t.clearAttributes(),t.mergeAttributes&&t.mergeAttributes(e),n=t.nodeName.toLowerCase(),n===\"object\"?(t.parentNode&&(t.outerHTML=e.outerHTML),v.support.html5Clone&&e.innerHTML&&!v.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):n===\"input\"&&Et.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):n===\"option\"?t.selected=e.defaultSelected:n===\"input\"||n===\"textarea\"?t.defaultValue=e.defaultValue:n===\"script\"&&t.text!==e.text&&(t.text=e.text),t.removeAttribute(v.expando)}function Mt(e){return typeof e.getElementsByTagName!=\"undefined\"?e.getElementsByTagName(\"*\"):typeof e.querySelectorAll!=\"undefined\"?e.querySelectorAll(\"*\"):[]}function _t(e){Et.test(e.type)&&(e.defaultChecked=e.checked)}function Qt(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=Jt.length;while(i--){t=Jt[i]+n;if(t in e)return t}return r}function Gt(e,t){return e=t||e,v.css(e,\"display\")===\"none\"||!v.contains(e.ownerDocument,e)}function Yt(e,t){var n,r,i=[],s=0,o=e.length;for(;s<o;s++){n=e[s];if(!n.style)continue;i[s]=v._data(n,\"olddisplay\"),t?(!i[s]&&n.style.display===\"none\"&&(n.style.display=\"\"),n.style.display===\"\"&&Gt(n)&&(i[s]=v._data(n,\"olddisplay\",nn(n.nodeName)))):(r=Dt(n,\"display\"),!i[s]&&r!==\"none\"&&v._data(n,\"olddisplay\",r))}for(s=0;s<o;s++){n=e[s];if(!n.style)continue;if(!t||n.style.display===\"none\"||n.style.display===\"\")n.style.display=t?i[s]||\"\":\"none\"}return e}function Zt(e,t,n){var r=Rt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||\"px\"):t}function en(e,t,n,r){var i=n===(r?\"border\":\"content\")?4:t===\"width\"?1:0,s=0;for(;i<4;i+=2)n===\"margin\"&&(s+=v.css(e,n+$t[i],!0)),r?(n===\"content\"&&(s-=parseFloat(Dt(e,\"padding\"+$t[i]))||0),n!==\"margin\"&&(s-=parseFloat(Dt(e,\"border\"+$t[i]+\"Width\"))||0)):(s+=parseFloat(Dt(e,\"padding\"+$t[i]))||0,n!==\"padding\"&&(s+=parseFloat(Dt(e,\"border\"+$t[i]+\"Width\"))||0));return s}function tn(e,t,n){var r=t===\"width\"?e.offsetWidth:e.offsetHeight,i=!0,s=v.support.boxSizing&&v.css(e,\"boxSizing\")===\"border-box\";if(r<=0||r==null){r=Dt(e,t);if(r<0||r==null)r=e.style[t];if(Ut.test(r))return r;i=s&&(v.support.boxSizingReliable||r===e.style[t]),r=parseFloat(r)||0}return r+en(e,t,n||(s?\"border\":\"content\"),i)+\"px\"}function nn(e){if(Wt[e])return Wt[e];var t=v(\"<\"+e+\">\").appendTo(i.body),n=t.css(\"display\");t.remove();if(n===\"none\"||n===\"\"){Pt=i.body.appendChild(Pt||v.extend(i.createElement(\"iframe\"),{frameBorder:0,width:0,height:0}));if(!Ht||!Pt.createElement)Ht=(Pt.contentWindow||Pt.contentDocument).document,Ht.write(\"<!doctype html><html><body>\"),Ht.close();t=Ht.body.appendChild(Ht.createElement(e)),n=Dt(t,\"display\"),i.body.removeChild(Pt)}return Wt[e]=n,n}function fn(e,t,n,r){var i;if(v.isArray(t))v.each(t,function(t,i){n||sn.test(e)?r(e,i):fn(e+\"[\"+(typeof i==\"object\"?t:\"\")+\"]\",i,n,r)});else if(!n&&v.type(t)===\"object\")for(i in t)fn(e+\"[\"+i+\"]\",t[i],n,r);else r(e,t)}function Cn(e){return function(t,n){typeof t!=\"string\"&&(n=t,t=\"*\");var r,i,s,o=t.toLowerCase().split(y),u=0,a=o.length;if(v.isFunction(n))for(;u<a;u++)r=o[u],s=/^\\+/.test(r),s&&(r=r.substr(1)||\"*\"),i=e[r]=e[r]||[],i[s?\"unshift\":\"push\"](n)}}function kn(e,n,r,i,s,o){s=s||n.dataTypes[0],o=o||{},o[s]=!0;var u,a=e[s],f=0,l=a?a.length:0,c=e===Sn;for(;f<l&&(c||!u);f++)u=a[f](n,r,i),typeof u==\"string\"&&(!c||o[u]?u=t:(n.dataTypes.unshift(u),u=kn(e,n,r,i,u,o)));return(c||!u)&&!o[\"*\"]&&(u=kn(e,n,r,i,\"*\",o)),u}function Ln(e,n){var r,i,s=v.ajaxSettings.flatOptions||{};for(r in n)n[r]!==t&&((s[r]?e:i||(i={}))[r]=n[r]);i&&v.extend(!0,e,i)}function An(e,n,r){var i,s,o,u,a=e.contents,f=e.dataTypes,l=e.responseFields;for(s in l)s in r&&(n[l[s]]=r[s]);while(f[0]===\"*\")f.shift(),i===t&&(i=e.mimeType||n.getResponseHeader(\"content-type\"));if(i)for(s in a)if(a[s]&&a[s].test(i)){f.unshift(s);break}if(f[0]in r)o=f[0];else{for(s in r){if(!f[0]||e.converters[s+\" \"+f[0]]){o=s;break}u||(u=s)}o=o||u}if(o)return o!==f[0]&&f.unshift(o),r[o]}function On(e,t){var n,r,i,s,o=e.dataTypes.slice(),u=o[0],a={},f=0;e.dataFilter&&(t=e.dataFilter(t,e.dataType));if(o[1])for(n in e.converters)a[n.toLowerCase()]=e.converters[n];for(;i=o[++f];)if(i!==\"*\"){if(u!==\"*\"&&u!==i){n=a[u+\" \"+i]||a[\"* \"+i];if(!n)for(r in a){s=r.split(\" \");if(s[1]===i){n=a[u+\" \"+s[0]]||a[\"* \"+s[0]];if(n){n===!0?n=a[r]:a[r]!==!0&&(i=s[0],o.splice(f--,0,i));break}}}if(n!==!0)if(n&&e[\"throws\"])t=n(t);else try{t=n(t)}catch(l){return{state:\"parsererror\",error:n?l:\"No conversion from \"+u+\" to \"+i}}}u=i}return{state:\"success\",data:t}}function Fn(){try{return new e.XMLHttpRequest}catch(t){}}function In(){try{return new e.ActiveXObject(\"Microsoft.XMLHTTP\")}catch(t){}}function $n(){return setTimeout(function(){qn=t},0),qn=v.now()}function Jn(e,t){v.each(t,function(t,n){var r=(Vn[t]||[]).concat(Vn[\"*\"]),i=0,s=r.length;for(;i<s;i++)if(r[i].call(e,t,n))return})}function Kn(e,t,n){var r,i=0,s=0,o=Xn.length,u=v.Deferred().always(function(){delete a.elem}),a=function(){var t=qn||$n(),n=Math.max(0,f.startTime+f.duration-t),r=n/f.duration||0,i=1-r,s=0,o=f.tweens.length;for(;s<o;s++)f.tweens[s].run(i);return u.notifyWith(e,[f,i,n]),i<1&&o?n:(u.resolveWith(e,[f]),!1)},f=u.promise({elem:e,props:v.extend({},t),opts:v.extend(!0,{specialEasing:{}},n),originalProperties:t,originalOptions:n,startTime:qn||$n(),duration:n.duration,tweens:[],createTween:function(t,n,r){var i=v.Tween(e,f.opts,t,n,f.opts.specialEasing[t]||f.opts.easing);return f.tweens.push(i),i},stop:function(t){var n=0,r=t?f.tweens.length:0;for(;n<r;n++)f.tweens[n].run(1);return t?u.resolveWith(e,[f,t]):u.rejectWith(e,[f,t]),this}}),l=f.props;Qn(l,f.opts.specialEasing);for(;i<o;i++){r=Xn[i].call(f,e,l,f.opts);if(r)return r}return Jn(f,l),v.isFunction(f.opts.start)&&f.opts.start.call(e,f),v.fx.timer(v.extend(a,{anim:f,queue:f.opts.queue,elem:e})),f.progress(f.opts.progress).done(f.opts.done,f.opts.complete).fail(f.opts.fail).always(f.opts.always)}function Qn(e,t){var n,r,i,s,o;for(n in e){r=v.camelCase(n),i=t[r],s=e[n],v.isArray(s)&&(i=s[1],s=e[n]=s[0]),n!==r&&(e[r]=s,delete e[n]),o=v.cssHooks[r];if(o&&\"expand\"in o){s=o.expand(s),delete e[r];for(n in s)n in e||(e[n]=s[n],t[n]=i)}else t[r]=i}}function Gn(e,t,n){var r,i,s,o,u,a,f,l,c,h=this,p=e.style,d={},m=[],g=e.nodeType&&Gt(e);n.queue||(l=v._queueHooks(e,\"fx\"),l.unqueued==null&&(l.unqueued=0,c=l.empty.fire,l.empty.fire=function(){l.unqueued||c()}),l.unqueued++,h.always(function(){h.always(function(){l.unqueued--,v.queue(e,\"fx\").length||l.empty.fire()})})),e.nodeType===1&&(\"height\"in t||\"width\"in t)&&(n.overflow=[p.overflow,p.overflowX,p.overflowY],v.css(e,\"display\")===\"inline\"&&v.css(e,\"float\")===\"none\"&&(!v.support.inlineBlockNeedsLayout||nn(e.nodeName)===\"inline\"?p.display=\"inline-block\":p.zoom=1)),n.overflow&&(p.overflow=\"hidden\",v.support.shrinkWrapBlocks||h.done(function(){p.overflow=n.overflow[0],p.overflowX=n.overflow[1],p.overflowY=n.overflow[2]}));for(r in t){s=t[r];if(Un.exec(s)){delete t[r],a=a||s===\"toggle\";if(s===(g?\"hide\":\"show\"))continue;m.push(r)}}o=m.length;if(o){u=v._data(e,\"fxshow\")||v._data(e,\"fxshow\",{}),\"hidden\"in u&&(g=u.hidden),a&&(u.hidden=!g),g?v(e).show():h.done(function(){v(e).hide()}),h.done(function(){var t;v.removeData(e,\"fxshow\",!0);for(t in d)v.style(e,t,d[t])});for(r=0;r<o;r++)i=m[r],f=h.createTween(i,g?u[i]:0),d[i]=u[i]||v.style(e,i),i in u||(u[i]=f.start,g&&(f.end=f.start,f.start=i===\"width\"||i===\"height\"?1:0))}}function Yn(e,t,n,r,i){return new Yn.prototype.init(e,t,n,r,i)}function Zn(e,t){var n,r={height:e},i=0;t=t?1:0;for(;i<4;i+=2-t)n=$t[i],r[\"margin\"+n]=r[\"padding\"+n]=e;return t&&(r.opacity=r.width=e),r}function tr(e){return v.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:!1}var n,r,i=e.document,s=e.location,o=e.navigator,u=e.jQuery,a=e.$,f=Array.prototype.push,l=Array.prototype.slice,c=Array.prototype.indexOf,h=Object.prototype.toString,p=Object.prototype.hasOwnProperty,d=String.prototype.trim,v=function(e,t){return new v.fn.init(e,t,n)},m=/[\\-+]?(?:\\d*\\.|)\\d+(?:[eE][\\-+]?\\d+|)/.source,g=/\\S/,y=/\\s+/,b=/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g,w=/^(?:[^#<]*(<[\\w\\W]+>)[^>]*$|#([\\w\\-]*)$)/,E=/^<(\\w+)\\s*\\/?>(?:<\\/\\1>|)$/,S=/^[\\],:{}\\s]*$/,x=/(?:^|:|,)(?:\\s*\\[)+/g,T=/\\\\(?:[\"\\\\\\/bfnrt]|u[\\da-fA-F]{4})/g,N=/\"[^\"\\\\\\r\\n]*\"|true|false|null|-?(?:\\d\\d*\\.|)\\d+(?:[eE][\\-+]?\\d+|)/g,C=/^-ms-/,k=/-([\\da-z])/gi,L=function(e,t){return(t+\"\").toUpperCase()},A=function(){i.addEventListener?(i.removeEventListener(\"DOMContentLoaded\",A,!1),v.ready()):i.readyState===\"complete\"&&(i.detachEvent(\"onreadystatechange\",A),v.ready())},O={};v.fn=v.prototype={constructor:v,init:function(e,n,r){var s,o,u,a;if(!e)return this;if(e.nodeType)return this.context=this[0]=e,this.length=1,this;if(typeof e==\"string\"){e.charAt(0)===\"<\"&&e.charAt(e.length-1)===\">\"&&e.length>=3?s=[null,e,null]:s=w.exec(e);if(s&&(s[1]||!n)){if(s[1])return n=n instanceof v?n[0]:n,a=n&&n.nodeType?n.ownerDocument||n:i,e=v.parseHTML(s[1],a,!0),E.test(s[1])&&v.isPlainObject(n)&&this.attr.call(e,n,!0),v.merge(this,e);o=i.getElementById(s[2]);if(o&&o.parentNode){if(o.id!==s[2])return r.find(e);this.length=1,this[0]=o}return this.context=i,this.selector=e,this}return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e)}return v.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),v.makeArray(e,this))},selector:\"\",jquery:\"1.8.3\",length:0,size:function(){return this.length},toArray:function(){return l.call(this)},get:function(e){return e==null?this.toArray():e<0?this[this.length+e]:this[e]},pushStack:function(e,t,n){var r=v.merge(this.constructor(),e);return r.prevObject=this,r.context=this.context,t===\"find\"?r.selector=this.selector+(this.selector?\" \":\"\")+n:t&&(r.selector=this.selector+\".\"+t+\"(\"+n+\")\"),r},each:function(e,t){return v.each(this,e,t)},ready:function(e){return v.ready.promise().done(e),this},eq:function(e){return e=+e,e===-1?this.slice(e):this.slice(e,e+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(l.apply(this,arguments),\"slice\",l.call(arguments).join(\",\"))},map:function(e){return this.pushStack(v.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:[].sort,splice:[].splice},v.fn.init.prototype=v.fn,v.extend=v.fn.extend=function(){var e,n,r,i,s,o,u=arguments[0]||{},a=1,f=arguments.length,l=!1;typeof u==\"boolean\"&&(l=u,u=arguments[1]||{},a=2),typeof u!=\"object\"&&!v.isFunction(u)&&(u={}),f===a&&(u=this,--a);for(;a<f;a++)if((e=arguments[a])!=null)for(n in e){r=u[n],i=e[n];if(u===i)continue;l&&i&&(v.isPlainObject(i)||(s=v.isArray(i)))?(s?(s=!1,o=r&&v.isArray(r)?r:[]):o=r&&v.isPlainObject(r)?r:{},u[n]=v.extend(l,o,i)):i!==t&&(u[n]=i)}return u},v.extend({noConflict:function(t){return e.$===v&&(e.$=a),t&&e.jQuery===v&&(e.jQuery=u),v},isReady:!1,readyWait:1,holdReady:function(e){e?v.readyWait++:v.ready(!0)},ready:function(e){if(e===!0?--v.readyWait:v.isReady)return;if(!i.body)return setTimeout(v.ready,1);v.isReady=!0;if(e!==!0&&--v.readyWait>0)return;r.resolveWith(i,[v]),v.fn.trigger&&v(i).trigger(\"ready\").off(\"ready\")},isFunction:function(e){return v.type(e)===\"function\"},isArray:Array.isArray||function(e){return v.type(e)===\"array\"},isWindow:function(e){return e!=null&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return e==null?String(e):O[h.call(e)]||\"object\"},isPlainObject:function(e){if(!e||v.type(e)!==\"object\"||e.nodeType||v.isWindow(e))return!1;try{if(e.constructor&&!p.call(e,\"constructor\")&&!p.call(e.constructor.prototype,\"isPrototypeOf\"))return!1}catch(n){return!1}var r;for(r in e);return r===t||p.call(e,r)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw new Error(e)},parseHTML:function(e,t,n){var r;return!e||typeof e!=\"string\"?null:(typeof t==\"boolean\"&&(n=t,t=0),t=t||i,(r=E.exec(e))?[t.createElement(r[1])]:(r=v.buildFragment([e],t,n?null:[]),v.merge([],(r.cacheable?v.clone(r.fragment):r.fragment).childNodes)))},parseJSON:function(t){if(!t||typeof t!=\"string\")return null;t=v.trim(t);if(e.JSON&&e.JSON.parse)return e.JSON.parse(t);if(S.test(t.replace(T,\"@\").replace(N,\"]\").replace(x,\"\")))return(new Function(\"return \"+t))();v.error(\"Invalid JSON: \"+t)},parseXML:function(n){var r,i;if(!n||typeof n!=\"string\")return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,\"text/xml\")):(r=new ActiveXObject(\"Microsoft.XMLDOM\"),r.async=\"false\",r.loadXML(n))}catch(s){r=t}return(!r||!r.documentElement||r.getElementsByTagName(\"parsererror\").length)&&v.error(\"Invalid XML: \"+n),r},noop:function(){},globalEval:function(t){t&&g.test(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(C,\"ms-\").replace(k,L)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,n,r){var i,s=0,o=e.length,u=o===t||v.isFunction(e);if(r){if(u){for(i in e)if(n.apply(e[i],r)===!1)break}else for(;s<o;)if(n.apply(e[s++],r)===!1)break}else if(u){for(i in e)if(n.call(e[i],i,e[i])===!1)break}else for(;s<o;)if(n.call(e[s],s,e[s++])===!1)break;return e},trim:d&&!d.call(\"\\ufeff\\u00a0\")?function(e){return e==null?\"\":d.call(e)}:function(e){return e==null?\"\":(e+\"\").replace(b,\"\")},makeArray:function(e,t){var n,r=t||[];return e!=null&&(n=v.type(e),e.length==null||n===\"string\"||n===\"function\"||n===\"regexp\"||v.isWindow(e)?f.call(r,e):v.merge(r,e)),r},inArray:function(e,t,n){var r;if(t){if(c)return c.call(t,e,n);r=t.length,n=n?n<0?Math.max(0,r+n):n:0;for(;n<r;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,n){var r=n.length,i=e.length,s=0;if(typeof r==\"number\")for(;s<r;s++)e[i++]=n[s];else while(n[s]!==t)e[i++]=n[s++];return e.length=i,e},grep:function(e,t,n){var r,i=[],s=0,o=e.length;n=!!n;for(;s<o;s++)r=!!t(e[s],s),n!==r&&i.push(e[s]);return i},map:function(e,n,r){var i,s,o=[],u=0,a=e.length,f=e instanceof v||a!==t&&typeof a==\"number\"&&(a>0&&e[0]&&e[a-1]||a===0||v.isArray(e));if(f)for(;u<a;u++)i=n(e[u],u,r),i!=null&&(o[o.length]=i);else for(s in e)i=n(e[s],s,r),i!=null&&(o[o.length]=i);return o.concat.apply([],o)},guid:1,proxy:function(e,n){var r,i,s;return typeof n==\"string\"&&(r=e[n],n=e,e=r),v.isFunction(e)?(i=l.call(arguments,2),s=function(){return e.apply(n,i.concat(l.call(arguments)))},s.guid=e.guid=e.guid||v.guid++,s):t},access:function(e,n,r,i,s,o,u){var a,f=r==null,l=0,c=e.length;if(r&&typeof r==\"object\"){for(l in r)v.access(e,n,l,r[l],1,o,i);s=1}else if(i!==t){a=u===t&&v.isFunction(i),f&&(a?(a=n,n=function(e,t,n){return a.call(v(e),n)}):(n.call(e,i),n=null));if(n)for(;l<c;l++)n(e[l],r,a?i.call(e[l],l,n(e[l],r)):i,u);s=1}return s?e:f?n.call(e):c?n(e[0],r):o},now:function(){return(new Date).getTime()}}),v.ready.promise=function(t){if(!r){r=v.Deferred();if(i.readyState===\"complete\")setTimeout(v.ready,1);else if(i.addEventListener)i.addEventListener(\"DOMContentLoaded\",A,!1),e.addEventListener(\"load\",v.ready,!1);else{i.attachEvent(\"onreadystatechange\",A),e.attachEvent(\"onload\",v.ready);var n=!1;try{n=e.frameElement==null&&i.documentElement}catch(s){}n&&n.doScroll&&function o(){if(!v.isReady){try{n.doScroll(\"left\")}catch(e){return setTimeout(o,50)}v.ready()}}()}}return r.promise(t)},v.each(\"Boolean Number String Function Array Date RegExp Object\".split(\" \"),function(e,t){O[\"[object \"+t+\"]\"]=t.toLowerCase()}),n=v(i);var M={};v.Callbacks=function(e){e=typeof e==\"string\"?M[e]||_(e):v.extend({},e);var n,r,i,s,o,u,a=[],f=!e.once&&[],l=function(t){n=e.memory&&t,r=!0,u=s||0,s=0,o=a.length,i=!0;for(;a&&u<o;u++)if(a[u].apply(t[0],t[1])===!1&&e.stopOnFalse){n=!1;break}i=!1,a&&(f?f.length&&l(f.shift()):n?a=[]:c.disable())},c={add:function(){if(a){var t=a.length;(function r(t){v.each(t,function(t,n){var i=v.type(n);i===\"function\"?(!e.unique||!c.has(n))&&a.push(n):n&&n.length&&i!==\"string\"&&r(n)})})(arguments),i?o=a.length:n&&(s=t,l(n))}return this},remove:function(){return a&&v.each(arguments,function(e,t){var n;while((n=v.inArray(t,a,n))>-1)a.splice(n,1),i&&(n<=o&&o--,n<=u&&u--)}),this},has:function(e){return v.inArray(e,a)>-1},empty:function(){return a=[],this},disable:function(){return a=f=n=t,this},disabled:function(){return!a},lock:function(){return f=t,n||c.disable(),this},locked:function(){return!f},fireWith:function(e,t){return t=t||[],t=[e,t.slice?t.slice():t],a&&(!r||f)&&(i?f.push(t):l(t)),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!r}};return c},v.extend({Deferred:function(e){var t=[[\"resolve\",\"done\",v.Callbacks(\"once memory\"),\"resolved\"],[\"reject\",\"fail\",v.Callbacks(\"once memory\"),\"rejected\"],[\"notify\",\"progress\",v.Callbacks(\"memory\")]],n=\"pending\",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return v.Deferred(function(n){v.each(t,function(t,r){var s=r[0],o=e[t];i[r[1]](v.isFunction(o)?function(){var e=o.apply(this,arguments);e&&v.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[s+\"With\"](this===i?n:this,[e])}:n[s])}),e=null}).promise()},promise:function(e){return e!=null?v.extend(e,r):r}},i={};return r.pipe=r.then,v.each(t,function(e,s){var o=s[2],u=s[3];r[s[1]]=o.add,u&&o.add(function(){n=u},t[e^1][2].disable,t[2][2].lock),i[s[0]]=o.fire,i[s[0]+\"With\"]=o.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=l.call(arguments),r=n.length,i=r!==1||e&&v.isFunction(e.promise)?r:0,s=i===1?e:v.Deferred(),o=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?l.call(arguments):r,n===u?s.notifyWith(t,n):--i||s.resolveWith(t,n)}},u,a,f;if(r>1){u=new Array(r),a=new Array(r),f=new Array(r);for(;t<r;t++)n[t]&&v.isFunction(n[t].promise)?n[t].promise().done(o(t,f,n)).fail(s.reject).progress(o(t,a,u)):--i}return i||s.resolveWith(f,n),s.promise()}}),v.support=function(){var t,n,r,s,o,u,a,f,l,c,h,p=i.createElement(\"div\");p.setAttribute(\"className\",\"t\"),p.innerHTML=\"  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>\",n=p.getElementsByTagName(\"*\"),r=p.getElementsByTagName(\"a\")[0];if(!n||!r||!n.length)return{};s=i.createElement(\"select\"),o=s.appendChild(i.createElement(\"option\")),u=p.getElementsByTagName(\"input\")[0],r.style.cssText=\"top:1px;float:left;opacity:.5\",t={leadingWhitespace:p.firstChild.nodeType===3,tbody:!p.getElementsByTagName(\"tbody\").length,htmlSerialize:!!p.getElementsByTagName(\"link\").length,style:/top/.test(r.getAttribute(\"style\")),hrefNormalized:r.getAttribute(\"href\")===\"/a\",opacity:/^0.5/.test(r.style.opacity),cssFloat:!!r.style.cssFloat,checkOn:u.value===\"on\",optSelected:o.selected,getSetAttribute:p.className!==\"t\",enctype:!!i.createElement(\"form\").enctype,html5Clone:i.createElement(\"nav\").cloneNode(!0).outerHTML!==\"<:nav></:nav>\",boxModel:i.compatMode===\"CSS1Compat\",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},u.checked=!0,t.noCloneChecked=u.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!o.disabled;try{delete p.test}catch(d){t.deleteExpando=!1}!p.addEventListener&&p.attachEvent&&p.fireEvent&&(p.attachEvent(\"onclick\",h=function(){t.noCloneEvent=!1}),p.cloneNode(!0).fireEvent(\"onclick\"),p.detachEvent(\"onclick\",h)),u=i.createElement(\"input\"),u.value=\"t\",u.setAttribute(\"type\",\"radio\"),t.radioValue=u.value===\"t\",u.setAttribute(\"checked\",\"checked\"),u.setAttribute(\"name\",\"t\"),p.appendChild(u),a=i.createDocumentFragment(),a.appendChild(p.lastChild),t.checkClone=a.cloneNode(!0).cloneNode(!0).lastChild.checked,t.appendChecked=u.checked,a.removeChild(u),a.appendChild(p);if(p.attachEvent)for(l in{submit:!0,change:!0,focusin:!0})f=\"on\"+l,c=f in p,c||(p.setAttribute(f,\"return;\"),c=typeof p[f]==\"function\"),t[l+\"Bubbles\"]=c;return v(function(){var n,r,s,o,u=\"padding:0;margin:0;border:0;display:block;overflow:hidden;\",a=i.getElementsByTagName(\"body\")[0];if(!a)return;n=i.createElement(\"div\"),n.style.cssText=\"visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px\",a.insertBefore(n,a.firstChild),r=i.createElement(\"div\"),n.appendChild(r),r.innerHTML=\"<table><tr><td></td><td>t</td></tr></table>\",s=r.getElementsByTagName(\"td\"),s[0].style.cssText=\"padding:0;margin:0;border:0;display:none\",c=s[0].offsetHeight===0,s[0].style.display=\"\",s[1].style.display=\"none\",t.reliableHiddenOffsets=c&&s[0].offsetHeight===0,r.innerHTML=\"\",r.style.cssText=\"box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;\",t.boxSizing=r.offsetWidth===4,t.doesNotIncludeMarginInBodyOffset=a.offsetTop!==1,e.getComputedStyle&&(t.pixelPosition=(e.getComputedStyle(r,null)||{}).top!==\"1%\",t.boxSizingReliable=(e.getComputedStyle(r,null)||{width:\"4px\"}).width===\"4px\",o=i.createElement(\"div\"),o.style.cssText=r.style.cssText=u,o.style.marginRight=o.style.width=\"0\",r.style.width=\"1px\",r.appendChild(o),t.reliableMarginRight=!parseFloat((e.getComputedStyle(o,null)||{}).marginRight)),typeof r.style.zoom!=\"undefined\"&&(r.innerHTML=\"\",r.style.cssText=u+\"width:1px;padding:1px;display:inline;zoom:1\",t.inlineBlockNeedsLayout=r.offsetWidth===3,r.style.display=\"block\",r.style.overflow=\"visible\",r.innerHTML=\"<div></div>\",r.firstChild.style.width=\"5px\",t.shrinkWrapBlocks=r.offsetWidth!==3,n.style.zoom=1),a.removeChild(n),n=r=s=o=null}),a.removeChild(p),n=r=s=o=u=a=p=null,t}();var D=/(?:\\{[\\s\\S]*\\}|\\[[\\s\\S]*\\])$/,P=/([A-Z])/g;v.extend({cache:{},deletedIds:[],uuid:0,expando:\"jQuery\"+(v.fn.jquery+Math.random()).replace(/\\D/g,\"\"),noData:{embed:!0,object:\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\",applet:!0},hasData:function(e){return e=e.nodeType?v.cache[e[v.expando]]:e[v.expando],!!e&&!B(e)},data:function(e,n,r,i){if(!v.acceptData(e))return;var s,o,u=v.expando,a=typeof n==\"string\",f=e.nodeType,l=f?v.cache:e,c=f?e[u]:e[u]&&u;if((!c||!l[c]||!i&&!l[c].data)&&a&&r===t)return;c||(f?e[u]=c=v.deletedIds.pop()||v.guid++:c=u),l[c]||(l[c]={},f||(l[c].toJSON=v.noop));if(typeof n==\"object\"||typeof n==\"function\")i?l[c]=v.extend(l[c],n):l[c].data=v.extend(l[c].data,n);return s=l[c],i||(s.data||(s.data={}),s=s.data),r!==t&&(s[v.camelCase(n)]=r),a?(o=s[n],o==null&&(o=s[v.camelCase(n)])):o=s,o},removeData:function(e,t,n){if(!v.acceptData(e))return;var r,i,s,o=e.nodeType,u=o?v.cache:e,a=o?e[v.expando]:v.expando;if(!u[a])return;if(t){r=n?u[a]:u[a].data;if(r){v.isArray(t)||(t in r?t=[t]:(t=v.camelCase(t),t in r?t=[t]:t=t.split(\" \")));for(i=0,s=t.length;i<s;i++)delete r[t[i]];if(!(n?B:v.isEmptyObject)(r))return}}if(!n){delete u[a].data;if(!B(u[a]))return}o?v.cleanData([e],!0):v.support.deleteExpando||u!=u.window?delete u[a]:u[a]=null},_data:function(e,t,n){return v.data(e,t,n,!0)},acceptData:function(e){var t=e.nodeName&&v.noData[e.nodeName.toLowerCase()];return!t||t!==!0&&e.getAttribute(\"classid\")===t}}),v.fn.extend({data:function(e,n){var r,i,s,o,u,a=this[0],f=0,l=null;if(e===t){if(this.length){l=v.data(a);if(a.nodeType===1&&!v._data(a,\"parsedAttrs\")){s=a.attributes;for(u=s.length;f<u;f++)o=s[f].name,o.indexOf(\"data-\")||(o=v.camelCase(o.substring(5)),H(a,o,l[o]));v._data(a,\"parsedAttrs\",!0)}}return l}return typeof e==\"object\"?this.each(function(){v.data(this,e)}):(r=e.split(\".\",2),r[1]=r[1]?\".\"+r[1]:\"\",i=r[1]+\"!\",v.access(this,function(n){if(n===t)return l=this.triggerHandler(\"getData\"+i,[r[0]]),l===t&&a&&(l=v.data(a,e),l=H(a,e,l)),l===t&&r[1]?this.data(r[0]):l;r[1]=n,this.each(function(){var t=v(this);t.triggerHandler(\"setData\"+i,r),v.data(this,e,n),t.triggerHandler(\"changeData\"+i,r)})},null,n,arguments.length>1,null,!1))},removeData:function(e){return this.each(function(){v.removeData(this,e)})}}),v.extend({queue:function(e,t,n){var r;if(e)return t=(t||\"fx\")+\"queue\",r=v._data(e,t),n&&(!r||v.isArray(n)?r=v._data(e,t,v.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||\"fx\";var n=v.queue(e,t),r=n.length,i=n.shift(),s=v._queueHooks(e,t),o=function(){v.dequeue(e,t)};i===\"inprogress\"&&(i=n.shift(),r--),i&&(t===\"fx\"&&n.unshift(\"inprogress\"),delete s.stop,i.call(e,o,s)),!r&&s&&s.empty.fire()},_queueHooks:function(e,t){var n=t+\"queueHooks\";return v._data(e,n)||v._data(e,n,{empty:v.Callbacks(\"once memory\").add(function(){v.removeData(e,t+\"queue\",!0),v.removeData(e,n,!0)})})}}),v.fn.extend({queue:function(e,n){var r=2;return typeof e!=\"string\"&&(n=e,e=\"fx\",r--),arguments.length<r?v.queue(this[0],e):n===t?this:this.each(function(){var t=v.queue(this,e,n);v._queueHooks(this,e),e===\"fx\"&&t[0]!==\"inprogress\"&&v.dequeue(this,e)})},dequeue:function(e){return this.each(function(){v.dequeue(this,e)})},delay:function(e,t){return e=v.fx?v.fx.speeds[e]||e:e,t=t||\"fx\",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||\"fx\",[])},promise:function(e,n){var r,i=1,s=v.Deferred(),o=this,u=this.length,a=function(){--i||s.resolveWith(o,[o])};typeof e!=\"string\"&&(n=e,e=t),e=e||\"fx\";while(u--)r=v._data(o[u],e+\"queueHooks\"),r&&r.empty&&(i++,r.empty.add(a));return a(),s.promise(n)}});var j,F,I,q=/[\\t\\r\\n]/g,R=/\\r/g,U=/^(?:button|input)$/i,z=/^(?:button|input|object|select|textarea)$/i,W=/^a(?:rea|)$/i,X=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,V=v.support.getSetAttribute;v.fn.extend({attr:function(e,t){return v.access(this,v.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){v.removeAttr(this,e)})},prop:function(e,t){return v.access(this,v.prop,e,t,arguments.length>1)},removeProp:function(e){return e=v.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,s,o,u;if(v.isFunction(e))return this.each(function(t){v(this).addClass(e.call(this,t,this.className))});if(e&&typeof e==\"string\"){t=e.split(y);for(n=0,r=this.length;n<r;n++){i=this[n];if(i.nodeType===1)if(!i.className&&t.length===1)i.className=e;else{s=\" \"+i.className+\" \";for(o=0,u=t.length;o<u;o++)s.indexOf(\" \"+t[o]+\" \")<0&&(s+=t[o]+\" \");i.className=v.trim(s)}}}return this},removeClass:function(e){var n,r,i,s,o,u,a;if(v.isFunction(e))return this.each(function(t){v(this).removeClass(e.call(this,t,this.className))});if(e&&typeof e==\"string\"||e===t){n=(e||\"\").split(y);for(u=0,a=this.length;u<a;u++){i=this[u];if(i.nodeType===1&&i.className){r=(\" \"+i.className+\" \").replace(q,\" \");for(s=0,o=n.length;s<o;s++)while(r.indexOf(\" \"+n[s]+\" \")>=0)r=r.replace(\" \"+n[s]+\" \",\" \");i.className=e?v.trim(r):\"\"}}}return this},toggleClass:function(e,t){var n=typeof e,r=typeof t==\"boolean\";return v.isFunction(e)?this.each(function(n){v(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if(n===\"string\"){var i,s=0,o=v(this),u=t,a=e.split(y);while(i=a[s++])u=r?u:!o.hasClass(i),o[u?\"addClass\":\"removeClass\"](i)}else if(n===\"undefined\"||n===\"boolean\")this.className&&v._data(this,\"__className__\",this.className),this.className=this.className||e===!1?\"\":v._data(this,\"__className__\")||\"\"})},hasClass:function(e){var t=\" \"+e+\" \",n=0,r=this.length;for(;n<r;n++)if(this[n].nodeType===1&&(\" \"+this[n].className+\" \").replace(q,\" \").indexOf(t)>=0)return!0;return!1},val:function(e){var n,r,i,s=this[0];if(!arguments.length){if(s)return n=v.valHooks[s.type]||v.valHooks[s.nodeName.toLowerCase()],n&&\"get\"in n&&(r=n.get(s,\"value\"))!==t?r:(r=s.value,typeof r==\"string\"?r.replace(R,\"\"):r==null?\"\":r);return}return i=v.isFunction(e),this.each(function(r){var s,o=v(this);if(this.nodeType!==1)return;i?s=e.call(this,r,o.val()):s=e,s==null?s=\"\":typeof s==\"number\"?s+=\"\":v.isArray(s)&&(s=v.map(s,function(e){return e==null?\"\":e+\"\"})),n=v.valHooks[this.type]||v.valHooks[this.nodeName.toLowerCase()];if(!n||!(\"set\"in n)||n.set(this,s,\"value\")===t)this.value=s})}}),v.extend({valHooks:{option:{get:function(e){var t=e.attributes.value;return!t||t.specified?e.value:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,s=e.type===\"select-one\"||i<0,o=s?null:[],u=s?i+1:r.length,a=i<0?u:s?i:0;for(;a<u;a++){n=r[a];if((n.selected||a===i)&&(v.support.optDisabled?!n.disabled:n.getAttribute(\"disabled\")===null)&&(!n.parentNode.disabled||!v.nodeName(n.parentNode,\"optgroup\"))){t=v(n).val();if(s)return t;o.push(t)}}return o},set:function(e,t){var n=v.makeArray(t);return v(e).find(\"option\").each(function(){this.selected=v.inArray(v(this).val(),n)>=0}),n.length||(e.selectedIndex=-1),n}}},attrFn:{},attr:function(e,n,r,i){var s,o,u,a=e.nodeType;if(!e||a===3||a===8||a===2)return;if(i&&v.isFunction(v.fn[n]))return v(e)[n](r);if(typeof e.getAttribute==\"undefined\")return v.prop(e,n,r);u=a!==1||!v.isXMLDoc(e),u&&(n=n.toLowerCase(),o=v.attrHooks[n]||(X.test(n)?F:j));if(r!==t){if(r===null){v.removeAttr(e,n);return}return o&&\"set\"in o&&u&&(s=o.set(e,r,n))!==t?s:(e.setAttribute(n,r+\"\"),r)}return o&&\"get\"in o&&u&&(s=o.get(e,n))!==null?s:(s=e.getAttribute(n),s===null?t:s)},removeAttr:function(e,t){var n,r,i,s,o=0;if(t&&e.nodeType===1){r=t.split(y);for(;o<r.length;o++)i=r[o],i&&(n=v.propFix[i]||i,s=X.test(i),s||v.attr(e,i,\"\"),e.removeAttribute(V?i:n),s&&n in e&&(e[n]=!1))}},attrHooks:{type:{set:function(e,t){if(U.test(e.nodeName)&&e.parentNode)v.error(\"type property can't be changed\");else if(!v.support.radioValue&&t===\"radio\"&&v.nodeName(e,\"input\")){var n=e.value;return e.setAttribute(\"type\",t),n&&(e.value=n),t}}},value:{get:function(e,t){return j&&v.nodeName(e,\"button\")?j.get(e,t):t in e?e.value:null},set:function(e,t,n){if(j&&v.nodeName(e,\"button\"))return j.set(e,t,n);e.value=t}}},propFix:{tabindex:\"tabIndex\",readonly:\"readOnly\",\"for\":\"htmlFor\",\"class\":\"className\",maxlength:\"maxLength\",cellspacing:\"cellSpacing\",cellpadding:\"cellPadding\",rowspan:\"rowSpan\",colspan:\"colSpan\",usemap:\"useMap\",frameborder:\"frameBorder\",contenteditable:\"contentEditable\"},prop:function(e,n,r){var i,s,o,u=e.nodeType;if(!e||u===3||u===8||u===2)return;return o=u!==1||!v.isXMLDoc(e),o&&(n=v.propFix[n]||n,s=v.propHooks[n]),r!==t?s&&\"set\"in s&&(i=s.set(e,r,n))!==t?i:e[n]=r:s&&\"get\"in s&&(i=s.get(e,n))!==null?i:e[n]},propHooks:{tabIndex:{get:function(e){var n=e.getAttributeNode(\"tabindex\");return n&&n.specified?parseInt(n.value,10):z.test(e.nodeName)||W.test(e.nodeName)&&e.href?0:t}}}}),F={get:function(e,n){var r,i=v.prop(e,n);return i===!0||typeof i!=\"boolean\"&&(r=e.getAttributeNode(n))&&r.nodeValue!==!1?n.toLowerCase():t},set:function(e,t,n){var r;return t===!1?v.removeAttr(e,n):(r=v.propFix[n]||n,r in e&&(e[r]=!0),e.setAttribute(n,n.toLowerCase())),n}},V||(I={name:!0,id:!0,coords:!0},j=v.valHooks.button={get:function(e,n){var r;return r=e.getAttributeNode(n),r&&(I[n]?r.value!==\"\":r.specified)?r.value:t},set:function(e,t,n){var r=e.getAttributeNode(n);return r||(r=i.createAttribute(n),e.setAttributeNode(r)),r.value=t+\"\"}},v.each([\"width\",\"height\"],function(e,t){v.attrHooks[t]=v.extend(v.attrHooks[t],{set:function(e,n){if(n===\"\")return e.setAttribute(t,\"auto\"),n}})}),v.attrHooks.contenteditable={get:j.get,set:function(e,t,n){t===\"\"&&(t=\"false\"),j.set(e,t,n)}}),v.support.hrefNormalized||v.each([\"href\",\"src\",\"width\",\"height\"],function(e,n){v.attrHooks[n]=v.extend(v.attrHooks[n],{get:function(e){var r=e.getAttribute(n,2);return r===null?t:r}})}),v.support.style||(v.attrHooks.style={get:function(e){return e.style.cssText.toLowerCase()||t},set:function(e,t){return e.style.cssText=t+\"\"}}),v.support.optSelected||(v.propHooks.selected=v.extend(v.propHooks.selected,{get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}})),v.support.enctype||(v.propFix.enctype=\"encoding\"),v.support.checkOn||v.each([\"radio\",\"checkbox\"],function(){v.valHooks[this]={get:function(e){return e.getAttribute(\"value\")===null?\"on\":e.value}}}),v.each([\"radio\",\"checkbox\"],function(){v.valHooks[this]=v.extend(v.valHooks[this],{set:function(e,t){if(v.isArray(t))return e.checked=v.inArray(v(e).val(),t)>=0}})});var $=/^(?:textarea|input|select)$/i,J=/^([^\\.]*|)(?:\\.(.+)|)$/,K=/(?:^|\\s)hover(\\.\\S+|)\\b/,Q=/^key/,G=/^(?:mouse|contextmenu)|click/,Y=/^(?:focusinfocus|focusoutblur)$/,Z=function(e){return v.event.special.hover?e:e.replace(K,\"mouseenter$1 mouseleave$1\")};v.event={add:function(e,n,r,i,s){var o,u,a,f,l,c,h,p,d,m,g;if(e.nodeType===3||e.nodeType===8||!n||!r||!(o=v._data(e)))return;r.handler&&(d=r,r=d.handler,s=d.selector),r.guid||(r.guid=v.guid++),a=o.events,a||(o.events=a={}),u=o.handle,u||(o.handle=u=function(e){return typeof v==\"undefined\"||!!e&&v.event.triggered===e.type?t:v.event.dispatch.apply(u.elem,arguments)},u.elem=e),n=v.trim(Z(n)).split(\" \");for(f=0;f<n.length;f++){l=J.exec(n[f])||[],c=l[1],h=(l[2]||\"\").split(\".\").sort(),g=v.event.special[c]||{},c=(s?g.delegateType:g.bindType)||c,g=v.event.special[c]||{},p=v.extend({type:c,origType:l[1],data:i,handler:r,guid:r.guid,selector:s,needsContext:s&&v.expr.match.needsContext.test(s),namespace:h.join(\".\")},d),m=a[c];if(!m){m=a[c]=[],m.delegateCount=0;if(!g.setup||g.setup.call(e,i,h,u)===!1)e.addEventListener?e.addEventListener(c,u,!1):e.attachEvent&&e.attachEvent(\"on\"+c,u)}g.add&&(g.add.call(e,p),p.handler.guid||(p.handler.guid=r.guid)),s?m.splice(m.delegateCount++,0,p):m.push(p),v.event.global[c]=!0}e=null},global:{},remove:function(e,t,n,r,i){var s,o,u,a,f,l,c,h,p,d,m,g=v.hasData(e)&&v._data(e);if(!g||!(h=g.events))return;t=v.trim(Z(t||\"\")).split(\" \");for(s=0;s<t.length;s++){o=J.exec(t[s])||[],u=a=o[1],f=o[2];if(!u){for(u in h)v.event.remove(e,u+t[s],n,r,!0);continue}p=v.event.special[u]||{},u=(r?p.delegateType:p.bindType)||u,d=h[u]||[],l=d.length,f=f?new RegExp(\"(^|\\\\.)\"+f.split(\".\").sort().join(\"\\\\.(?:.*\\\\.|)\")+\"(\\\\.|$)\"):null;for(c=0;c<d.length;c++)m=d[c],(i||a===m.origType)&&(!n||n.guid===m.guid)&&(!f||f.test(m.namespace))&&(!r||r===m.selector||r===\"**\"&&m.selector)&&(d.splice(c--,1),m.selector&&d.delegateCount--,p.remove&&p.remove.call(e,m));d.length===0&&l!==d.length&&((!p.teardown||p.teardown.call(e,f,g.handle)===!1)&&v.removeEvent(e,u,g.handle),delete h[u])}v.isEmptyObject(h)&&(delete g.handle,v.removeData(e,\"events\",!0))},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(n,r,s,o){if(!s||s.nodeType!==3&&s.nodeType!==8){var u,a,f,l,c,h,p,d,m,g,y=n.type||n,b=[];if(Y.test(y+v.event.triggered))return;y.indexOf(\"!\")>=0&&(y=y.slice(0,-1),a=!0),y.indexOf(\".\")>=0&&(b=y.split(\".\"),y=b.shift(),b.sort());if((!s||v.event.customEvent[y])&&!v.event.global[y])return;n=typeof n==\"object\"?n[v.expando]?n:new v.Event(y,n):new v.Event(y),n.type=y,n.isTrigger=!0,n.exclusive=a,n.namespace=b.join(\".\"),n.namespace_re=n.namespace?new RegExp(\"(^|\\\\.)\"+b.join(\"\\\\.(?:.*\\\\.|)\")+\"(\\\\.|$)\"):null,h=y.indexOf(\":\")<0?\"on\"+y:\"\";if(!s){u=v.cache;for(f in u)u[f].events&&u[f].events[y]&&v.event.trigger(n,r,u[f].handle.elem,!0);return}n.result=t,n.target||(n.target=s),r=r!=null?v.makeArray(r):[],r.unshift(n),p=v.event.special[y]||{};if(p.trigger&&p.trigger.apply(s,r)===!1)return;m=[[s,p.bindType||y]];if(!o&&!p.noBubble&&!v.isWindow(s)){g=p.delegateType||y,l=Y.test(g+y)?s:s.parentNode;for(c=s;l;l=l.parentNode)m.push([l,g]),c=l;c===(s.ownerDocument||i)&&m.push([c.defaultView||c.parentWindow||e,g])}for(f=0;f<m.length&&!n.isPropagationStopped();f++)l=m[f][0],n.type=m[f][1],d=(v._data(l,\"events\")||{})[n.type]&&v._data(l,\"handle\"),d&&d.apply(l,r),d=h&&l[h],d&&v.acceptData(l)&&d.apply&&d.apply(l,r)===!1&&n.preventDefault();return n.type=y,!o&&!n.isDefaultPrevented()&&(!p._default||p._default.apply(s.ownerDocument,r)===!1)&&(y!==\"click\"||!v.nodeName(s,\"a\"))&&v.acceptData(s)&&h&&s[y]&&(y!==\"focus\"&&y!==\"blur\"||n.target.offsetWidth!==0)&&!v.isWindow(s)&&(c=s[h],c&&(s[h]=null),v.event.triggered=y,s[y](),v.event.triggered=t,c&&(s[h]=c)),n.result}return},dispatch:function(n){n=v.event.fix(n||e.event);var r,i,s,o,u,a,f,c,h,p,d=(v._data(this,\"events\")||{})[n.type]||[],m=d.delegateCount,g=l.call(arguments),y=!n.exclusive&&!n.namespace,b=v.event.special[n.type]||{},w=[];g[0]=n,n.delegateTarget=this;if(b.preDispatch&&b.preDispatch.call(this,n)===!1)return;if(m&&(!n.button||n.type!==\"click\"))for(s=n.target;s!=this;s=s.parentNode||this)if(s.disabled!==!0||n.type!==\"click\"){u={},f=[];for(r=0;r<m;r++)c=d[r],h=c.selector,u[h]===t&&(u[h]=c.needsContext?v(h,this).index(s)>=0:v.find(h,this,null,[s]).length),u[h]&&f.push(c);f.length&&w.push({elem:s,matches:f})}d.length>m&&w.push({elem:this,matches:d.slice(m)});for(r=0;r<w.length&&!n.isPropagationStopped();r++){a=w[r],n.currentTarget=a.elem;for(i=0;i<a.matches.length&&!n.isImmediatePropagationStopped();i++){c=a.matches[i];if(y||!n.namespace&&!c.namespace||n.namespace_re&&n.namespace_re.test(c.namespace))n.data=c.data,n.handleObj=c,o=((v.event.special[c.origType]||{}).handle||c.handler).apply(a.elem,g),o!==t&&(n.result=o,o===!1&&(n.preventDefault(),n.stopPropagation()))}}return b.postDispatch&&b.postDispatch.call(this,n),n.result},props:\"attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which\".split(\" \"),fixHooks:{},keyHooks:{props:\"char charCode key keyCode\".split(\" \"),filter:function(e,t){return e.which==null&&(e.which=t.charCode!=null?t.charCode:t.keyCode),e}},mouseHooks:{props:\"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement\".split(\" \"),filter:function(e,n){var r,s,o,u=n.button,a=n.fromElement;return e.pageX==null&&n.clientX!=null&&(r=e.target.ownerDocument||i,s=r.documentElement,o=r.body,e.pageX=n.clientX+(s&&s.scrollLeft||o&&o.scrollLeft||0)-(s&&s.clientLeft||o&&o.clientLeft||0),e.pageY=n.clientY+(s&&s.scrollTop||o&&o.scrollTop||0)-(s&&s.clientTop||o&&o.clientTop||0)),!e.relatedTarget&&a&&(e.relatedTarget=a===e.target?n.toElement:a),!e.which&&u!==t&&(e.which=u&1?1:u&2?3:u&4?2:0),e}},fix:function(e){if(e[v.expando])return e;var t,n,r=e,s=v.event.fixHooks[e.type]||{},o=s.props?this.props.concat(s.props):this.props;e=v.Event(r);for(t=o.length;t;)n=o[--t],e[n]=r[n];return e.target||(e.target=r.srcElement||i),e.target.nodeType===3&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,s.filter?s.filter(e,r):e},special:{load:{noBubble:!0},focus:{delegateType:\"focusin\"},blur:{delegateType:\"focusout\"},beforeunload:{setup:function(e,t,n){v.isWindow(this)&&(this.onbeforeunload=n)},teardown:function(e,t){this.onbeforeunload===t&&(this.onbeforeunload=null)}}},simulate:function(e,t,n,r){var i=v.extend(new v.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?v.event.trigger(i,null,t):v.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},v.event.handle=v.event.dispatch,v.removeEvent=i.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)}:function(e,t,n){var r=\"on\"+t;e.detachEvent&&(typeof e[r]==\"undefined\"&&(e[r]=null),e.detachEvent(r,n))},v.Event=function(e,t){if(!(this instanceof v.Event))return new v.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.returnValue===!1||e.getPreventDefault&&e.getPreventDefault()?tt:et):this.type=e,t&&v.extend(this,t),this.timeStamp=e&&e.timeStamp||v.now(),this[v.expando]=!0},v.Event.prototype={preventDefault:function(){this.isDefaultPrevented=tt;var e=this.originalEvent;if(!e)return;e.preventDefault?e.preventDefault():e.returnValue=!1},stopPropagation:function(){this.isPropagationStopped=tt;var e=this.originalEvent;if(!e)return;e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=tt,this.stopPropagation()},isDefaultPrevented:et,isPropagationStopped:et,isImmediatePropagationStopped:et},v.each({mouseenter:\"mouseover\",mouseleave:\"mouseout\"},function(e,t){v.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,s=e.handleObj,o=s.selector;if(!i||i!==r&&!v.contains(r,i))e.type=s.origType,n=s.handler.apply(this,arguments),e.type=t;return n}}}),v.support.submitBubbles||(v.event.special.submit={setup:function(){if(v.nodeName(this,\"form\"))return!1;v.event.add(this,\"click._submit keypress._submit\",function(e){var n=e.target,r=v.nodeName(n,\"input\")||v.nodeName(n,\"button\")?n.form:t;r&&!v._data(r,\"_submit_attached\")&&(v.event.add(r,\"submit._submit\",function(e){e._submit_bubble=!0}),v._data(r,\"_submit_attached\",!0))})},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&v.event.simulate(\"submit\",this.parentNode,e,!0))},teardown:function(){if(v.nodeName(this,\"form\"))return!1;v.event.remove(this,\"._submit\")}}),v.support.changeBubbles||(v.event.special.change={setup:function(){if($.test(this.nodeName)){if(this.type===\"checkbox\"||this.type===\"radio\")v.event.add(this,\"propertychange._change\",function(e){e.originalEvent.propertyName===\"checked\"&&(this._just_changed=!0)}),v.event.add(this,\"click._change\",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),v.event.simulate(\"change\",this,e,!0)});return!1}v.event.add(this,\"beforeactivate._change\",function(e){var t=e.target;$.test(t.nodeName)&&!v._data(t,\"_change_attached\")&&(v.event.add(t,\"change._change\",function(e){this.parentNode&&!e.isSimulated&&!e.isTrigger&&v.event.simulate(\"change\",this.parentNode,e,!0)}),v._data(t,\"_change_attached\",!0))})},handle:function(e){var t=e.target;if(this!==t||e.isSimulated||e.isTrigger||t.type!==\"radio\"&&t.type!==\"checkbox\")return e.handleObj.handler.apply(this,arguments)},teardown:function(){return v.event.remove(this,\"._change\"),!$.test(this.nodeName)}}),v.support.focusinBubbles||v.each({focus:\"focusin\",blur:\"focusout\"},function(e,t){var n=0,r=function(e){v.event.simulate(t,e.target,v.event.fix(e),!0)};v.event.special[t]={setup:function(){n++===0&&i.addEventListener(e,r,!0)},teardown:function(){--n===0&&i.removeEventListener(e,r,!0)}}}),v.fn.extend({on:function(e,n,r,i,s){var o,u;if(typeof e==\"object\"){typeof n!=\"string\"&&(r=r||n,n=t);for(u in e)this.on(u,n,r,e[u],s);return this}r==null&&i==null?(i=n,r=n=t):i==null&&(typeof n==\"string\"?(i=r,r=t):(i=r,r=n,n=t));if(i===!1)i=et;else if(!i)return this;return s===1&&(o=i,i=function(e){return v().off(e),o.apply(this,arguments)},i.guid=o.guid||(o.guid=v.guid++)),this.each(function(){v.event.add(this,e,i,r,n)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,n,r){var i,s;if(e&&e.preventDefault&&e.handleObj)return i=e.handleObj,v(e.delegateTarget).off(i.namespace?i.origType+\".\"+i.namespace:i.origType,i.selector,i.handler),this;if(typeof e==\"object\"){for(s in e)this.off(s,n,e[s]);return this}if(n===!1||typeof n==\"function\")r=n,n=t;return r===!1&&(r=et),this.each(function(){v.event.remove(this,e,r,n)})},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},live:function(e,t,n){return v(this.context).on(e,this.selector,t,n),this},die:function(e,t){return v(this.context).off(e,this.selector||\"**\",t),this},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return arguments.length===1?this.off(e,\"**\"):this.off(t,e||\"**\",n)},trigger:function(e,t){return this.each(function(){v.event.trigger(e,t,this)})},triggerHandler:function(e,t){if(this[0])return v.event.trigger(e,t,this[0],!0)},toggle:function(e){var t=arguments,n=e.guid||v.guid++,r=0,i=function(n){var i=(v._data(this,\"lastToggle\"+e.guid)||0)%r;return v._data(this,\"lastToggle\"+e.guid,i+1),n.preventDefault(),t[i].apply(this,arguments)||!1};i.guid=n;while(r<t.length)t[r++].guid=n;return this.click(i)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),v.each(\"blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu\".split(\" \"),function(e,t){v.fn[t]=function(e,n){return n==null&&(n=e,e=null),arguments.length>0?this.on(t,null,e,n):this.trigger(t)},Q.test(t)&&(v.event.fixHooks[t]=v.event.keyHooks),G.test(t)&&(v.event.fixHooks[t]=v.event.mouseHooks)}),function(e,t){function nt(e,t,n,r){n=n||[],t=t||g;var i,s,a,f,l=t.nodeType;if(!e||typeof e!=\"string\")return n;if(l!==1&&l!==9)return[];a=o(t);if(!a&&!r)if(i=R.exec(e))if(f=i[1]){if(l===9){s=t.getElementById(f);if(!s||!s.parentNode)return n;if(s.id===f)return n.push(s),n}else if(t.ownerDocument&&(s=t.ownerDocument.getElementById(f))&&u(t,s)&&s.id===f)return n.push(s),n}else{if(i[2])return S.apply(n,x.call(t.getElementsByTagName(e),0)),n;if((f=i[3])&&Z&&t.getElementsByClassName)return S.apply(n,x.call(t.getElementsByClassName(f),0)),n}return vt(e.replace(j,\"$1\"),t,n,r,a)}function rt(e){return function(t){var n=t.nodeName.toLowerCase();return n===\"input\"&&t.type===e}}function it(e){return function(t){var n=t.nodeName.toLowerCase();return(n===\"input\"||n===\"button\")&&t.type===e}}function st(e){return N(function(t){return t=+t,N(function(n,r){var i,s=e([],n.length,t),o=s.length;while(o--)n[i=s[o]]&&(n[i]=!(r[i]=n[i]))})})}function ot(e,t,n){if(e===t)return n;var r=e.nextSibling;while(r){if(r===t)return-1;r=r.nextSibling}return 1}function ut(e,t){var n,r,s,o,u,a,f,l=L[d][e+\" \"];if(l)return t?0:l.slice(0);u=e,a=[],f=i.preFilter;while(u){if(!n||(r=F.exec(u)))r&&(u=u.slice(r[0].length)||u),a.push(s=[]);n=!1;if(r=I.exec(u))s.push(n=new m(r.shift())),u=u.slice(n.length),n.type=r[0].replace(j,\" \");for(o in i.filter)(r=J[o].exec(u))&&(!f[o]||(r=f[o](r)))&&(s.push(n=new m(r.shift())),u=u.slice(n.length),n.type=o,n.matches=r);if(!n)break}return t?u.length:u?nt.error(e):L(e,a).slice(0)}function at(e,t,r){var i=t.dir,s=r&&t.dir===\"parentNode\",o=w++;return t.first?function(t,n,r){while(t=t[i])if(s||t.nodeType===1)return e(t,n,r)}:function(t,r,u){if(!u){var a,f=b+\" \"+o+\" \",l=f+n;while(t=t[i])if(s||t.nodeType===1){if((a=t[d])===l)return t.sizset;if(typeof a==\"string\"&&a.indexOf(f)===0){if(t.sizset)return t}else{t[d]=l;if(e(t,r,u))return t.sizset=!0,t;t.sizset=!1}}}else while(t=t[i])if(s||t.nodeType===1)if(e(t,r,u))return t}}function ft(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function lt(e,t,n,r,i){var s,o=[],u=0,a=e.length,f=t!=null;for(;u<a;u++)if(s=e[u])if(!n||n(s,r,i))o.push(s),f&&t.push(u);return o}function ct(e,t,n,r,i,s){return r&&!r[d]&&(r=ct(r)),i&&!i[d]&&(i=ct(i,s)),N(function(s,o,u,a){var f,l,c,h=[],p=[],d=o.length,v=s||dt(t||\"*\",u.nodeType?[u]:u,[]),m=e&&(s||!t)?lt(v,h,e,u,a):v,g=n?i||(s?e:d||r)?[]:o:m;n&&n(m,g,u,a);if(r){f=lt(g,p),r(f,[],u,a),l=f.length;while(l--)if(c=f[l])g[p[l]]=!(m[p[l]]=c)}if(s){if(i||e){if(i){f=[],l=g.length;while(l--)(c=g[l])&&f.push(m[l]=c);i(null,g=[],f,a)}l=g.length;while(l--)(c=g[l])&&(f=i?T.call(s,c):h[l])>-1&&(s[f]=!(o[f]=c))}}else g=lt(g===o?g.splice(d,g.length):g),i?i(null,o,g,a):S.apply(o,g)})}function ht(e){var t,n,r,s=e.length,o=i.relative[e[0].type],u=o||i.relative[\" \"],a=o?1:0,f=at(function(e){return e===t},u,!0),l=at(function(e){return T.call(t,e)>-1},u,!0),h=[function(e,n,r){return!o&&(r||n!==c)||((t=n).nodeType?f(e,n,r):l(e,n,r))}];for(;a<s;a++)if(n=i.relative[e[a].type])h=[at(ft(h),n)];else{n=i.filter[e[a].type].apply(null,e[a].matches);if(n[d]){r=++a;for(;r<s;r++)if(i.relative[e[r].type])break;return ct(a>1&&ft(h),a>1&&e.slice(0,a-1).join(\"\").replace(j,\"$1\"),n,a<r&&ht(e.slice(a,r)),r<s&&ht(e=e.slice(r)),r<s&&e.join(\"\"))}h.push(n)}return ft(h)}function pt(e,t){var r=t.length>0,s=e.length>0,o=function(u,a,f,l,h){var p,d,v,m=[],y=0,w=\"0\",x=u&&[],T=h!=null,N=c,C=u||s&&i.find.TAG(\"*\",h&&a.parentNode||a),k=b+=N==null?1:Math.E;T&&(c=a!==g&&a,n=o.el);for(;(p=C[w])!=null;w++){if(s&&p){for(d=0;v=e[d];d++)if(v(p,a,f)){l.push(p);break}T&&(b=k,n=++o.el)}r&&((p=!v&&p)&&y--,u&&x.push(p))}y+=w;if(r&&w!==y){for(d=0;v=t[d];d++)v(x,m,a,f);if(u){if(y>0)while(w--)!x[w]&&!m[w]&&(m[w]=E.call(l));m=lt(m)}S.apply(l,m),T&&!u&&m.length>0&&y+t.length>1&&nt.uniqueSort(l)}return T&&(b=k,c=N),x};return o.el=0,r?N(o):o}function dt(e,t,n){var r=0,i=t.length;for(;r<i;r++)nt(e,t[r],n);return n}function vt(e,t,n,r,s){var o,u,f,l,c,h=ut(e),p=h.length;if(!r&&h.length===1){u=h[0]=h[0].slice(0);if(u.length>2&&(f=u[0]).type===\"ID\"&&t.nodeType===9&&!s&&i.relative[u[1].type]){t=i.find.ID(f.matches[0].replace($,\"\"),t,s)[0];if(!t)return n;e=e.slice(u.shift().length)}for(o=J.POS.test(e)?-1:u.length-1;o>=0;o--){f=u[o];if(i.relative[l=f.type])break;if(c=i.find[l])if(r=c(f.matches[0].replace($,\"\"),z.test(u[0].type)&&t.parentNode||t,s)){u.splice(o,1),e=r.length&&u.join(\"\");if(!e)return S.apply(n,x.call(r,0)),n;break}}}return a(e,h)(r,t,s,n,z.test(e)),n}function mt(){}var n,r,i,s,o,u,a,f,l,c,h=!0,p=\"undefined\",d=(\"sizcache\"+Math.random()).replace(\".\",\"\"),m=String,g=e.document,y=g.documentElement,b=0,w=0,E=[].pop,S=[].push,x=[].slice,T=[].indexOf||function(e){var t=0,n=this.length;for(;t<n;t++)if(this[t]===e)return t;return-1},N=function(e,t){return e[d]=t==null||t,e},C=function(){var e={},t=[];return N(function(n,r){return t.push(n)>i.cacheLength&&delete e[t.shift()],e[n+\" \"]=r},e)},k=C(),L=C(),A=C(),O=\"[\\\\x20\\\\t\\\\r\\\\n\\\\f]\",M=\"(?:\\\\\\\\.|[-\\\\w]|[^\\\\x00-\\\\xa0])+\",_=M.replace(\"w\",\"w#\"),D=\"([*^$|!~]?=)\",P=\"\\\\[\"+O+\"*(\"+M+\")\"+O+\"*(?:\"+D+O+\"*(?:(['\\\"])((?:\\\\\\\\.|[^\\\\\\\\])*?)\\\\3|(\"+_+\")|)|)\"+O+\"*\\\\]\",H=\":(\"+M+\")(?:\\\\((?:(['\\\"])((?:\\\\\\\\.|[^\\\\\\\\])*?)\\\\2|([^()[\\\\]]*|(?:(?:\"+P+\")|[^:]|\\\\\\\\.)*|.*))\\\\)|)\",B=\":(even|odd|eq|gt|lt|nth|first|last)(?:\\\\(\"+O+\"*((?:-\\\\d)?\\\\d*)\"+O+\"*\\\\)|)(?=[^-]|$)\",j=new RegExp(\"^\"+O+\"+|((?:^|[^\\\\\\\\])(?:\\\\\\\\.)*)\"+O+\"+$\",\"g\"),F=new RegExp(\"^\"+O+\"*,\"+O+\"*\"),I=new RegExp(\"^\"+O+\"*([\\\\x20\\\\t\\\\r\\\\n\\\\f>+~])\"+O+\"*\"),q=new RegExp(H),R=/^(?:#([\\w\\-]+)|(\\w+)|\\.([\\w\\-]+))$/,U=/^:not/,z=/[\\x20\\t\\r\\n\\f]*[+~]/,W=/:not\\($/,X=/h\\d/i,V=/input|select|textarea|button/i,$=/\\\\(?!\\\\)/g,J={ID:new RegExp(\"^#(\"+M+\")\"),CLASS:new RegExp(\"^\\\\.(\"+M+\")\"),NAME:new RegExp(\"^\\\\[name=['\\\"]?(\"+M+\")['\\\"]?\\\\]\"),TAG:new RegExp(\"^(\"+M.replace(\"w\",\"w*\")+\")\"),ATTR:new RegExp(\"^\"+P),PSEUDO:new RegExp(\"^\"+H),POS:new RegExp(B,\"i\"),CHILD:new RegExp(\"^:(only|nth|first|last)-child(?:\\\\(\"+O+\"*(even|odd|(([+-]|)(\\\\d*)n|)\"+O+\"*(?:([+-]|)\"+O+\"*(\\\\d+)|))\"+O+\"*\\\\)|)\",\"i\"),needsContext:new RegExp(\"^\"+O+\"*[>+~]|\"+B,\"i\")},K=function(e){var t=g.createElement(\"div\");try{return e(t)}catch(n){return!1}finally{t=null}},Q=K(function(e){return e.appendChild(g.createComment(\"\")),!e.getElementsByTagName(\"*\").length}),G=K(function(e){return e.innerHTML=\"<a href='#'></a>\",e.firstChild&&typeof e.firstChild.getAttribute!==p&&e.firstChild.getAttribute(\"href\")===\"#\"}),Y=K(function(e){e.innerHTML=\"<select></select>\";var t=typeof e.lastChild.getAttribute(\"multiple\");return t!==\"boolean\"&&t!==\"string\"}),Z=K(function(e){return e.innerHTML=\"<div class='hidden e'></div><div class='hidden'></div>\",!e.getElementsByClassName||!e.getElementsByClassName(\"e\").length?!1:(e.lastChild.className=\"e\",e.getElementsByClassName(\"e\").length===2)}),et=K(function(e){e.id=d+0,e.innerHTML=\"<a name='\"+d+\"'></a><div name='\"+d+\"'></div>\",y.insertBefore(e,y.firstChild);var t=g.getElementsByName&&g.getElementsByName(d).length===2+g.getElementsByName(d+0).length;return r=!g.getElementById(d),y.removeChild(e),t});try{x.call(y.childNodes,0)[0].nodeType}catch(tt){x=function(e){var t,n=[];for(;t=this[e];e++)n.push(t);return n}}nt.matches=function(e,t){return nt(e,null,null,t)},nt.matchesSelector=function(e,t){return nt(t,null,null,[e]).length>0},s=nt.getText=function(e){var t,n=\"\",r=0,i=e.nodeType;if(i){if(i===1||i===9||i===11){if(typeof e.textContent==\"string\")return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=s(e)}else if(i===3||i===4)return e.nodeValue}else for(;t=e[r];r++)n+=s(t);return n},o=nt.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?t.nodeName!==\"HTML\":!1},u=nt.contains=y.contains?function(e,t){var n=e.nodeType===9?e.documentElement:e,r=t&&t.parentNode;return e===r||!!(r&&r.nodeType===1&&n.contains&&n.contains(r))}:y.compareDocumentPosition?function(e,t){return t&&!!(e.compareDocumentPosition(t)&16)}:function(e,t){while(t=t.parentNode)if(t===e)return!0;return!1},nt.attr=function(e,t){var n,r=o(e);return r||(t=t.toLowerCase()),(n=i.attrHandle[t])?n(e):r||Y?e.getAttribute(t):(n=e.getAttributeNode(t),n?typeof e[t]==\"boolean\"?e[t]?t:null:n.specified?n.value:null:null)},i=nt.selectors={cacheLength:50,createPseudo:N,match:J,attrHandle:G?{}:{href:function(e){return e.getAttribute(\"href\",2)},type:function(e){return e.getAttribute(\"type\")}},find:{ID:r?function(e,t,n){if(typeof t.getElementById!==p&&!n){var r=t.getElementById(e);return r&&r.parentNode?[r]:[]}}:function(e,n,r){if(typeof n.getElementById!==p&&!r){var i=n.getElementById(e);return i?i.id===e||typeof i.getAttributeNode!==p&&i.getAttributeNode(\"id\").value===e?[i]:t:[]}},TAG:Q?function(e,t){if(typeof t.getElementsByTagName!==p)return t.getElementsByTagName(e)}:function(e,t){var n=t.getElementsByTagName(e);if(e===\"*\"){var r,i=[],s=0;for(;r=n[s];s++)r.nodeType===1&&i.push(r);return i}return n},NAME:et&&function(e,t){if(typeof t.getElementsByName!==p)return t.getElementsByName(name)},CLASS:Z&&function(e,t,n){if(typeof t.getElementsByClassName!==p&&!n)return t.getElementsByClassName(e)}},relative:{\">\":{dir:\"parentNode\",first:!0},\" \":{dir:\"parentNode\"},\"+\":{dir:\"previousSibling\",first:!0},\"~\":{dir:\"previousSibling\"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace($,\"\"),e[3]=(e[4]||e[5]||\"\").replace($,\"\"),e[2]===\"~=\"&&(e[3]=\" \"+e[3]+\" \"),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),e[1]===\"nth\"?(e[2]||nt.error(e[0]),e[3]=+(e[3]?e[4]+(e[5]||1):2*(e[2]===\"even\"||e[2]===\"odd\")),e[4]=+(e[6]+e[7]||e[2]===\"odd\")):e[2]&&nt.error(e[0]),e},PSEUDO:function(e){var t,n;if(J.CHILD.test(e[0]))return null;if(e[3])e[2]=e[3];else if(t=e[4])q.test(t)&&(n=ut(t,!0))&&(n=t.indexOf(\")\",t.length-n)-t.length)&&(t=t.slice(0,n),e[0]=e[0].slice(0,n)),e[2]=t;return e.slice(0,3)}},filter:{ID:r?function(e){return e=e.replace($,\"\"),function(t){return t.getAttribute(\"id\")===e}}:function(e){return e=e.replace($,\"\"),function(t){var n=typeof t.getAttributeNode!==p&&t.getAttributeNode(\"id\");return n&&n.value===e}},TAG:function(e){return e===\"*\"?function(){return!0}:(e=e.replace($,\"\").toLowerCase(),function(t){return t.nodeName&&t.nodeName.toLowerCase()===e})},CLASS:function(e){var t=k[d][e+\" \"];return t||(t=new RegExp(\"(^|\"+O+\")\"+e+\"(\"+O+\"|$)\"))&&k(e,function(e){return t.test(e.className||typeof e.getAttribute!==p&&e.getAttribute(\"class\")||\"\")})},ATTR:function(e,t,n){return function(r,i){var s=nt.attr(r,e);return s==null?t===\"!=\":t?(s+=\"\",t===\"=\"?s===n:t===\"!=\"?s!==n:t===\"^=\"?n&&s.indexOf(n)===0:t===\"*=\"?n&&s.indexOf(n)>-1:t===\"$=\"?n&&s.substr(s.length-n.length)===n:t===\"~=\"?(\" \"+s+\" \").indexOf(n)>-1:t===\"|=\"?s===n||s.substr(0,n.length+1)===n+\"-\":!1):!0}},CHILD:function(e,t,n,r){return e===\"nth\"?function(e){var t,i,s=e.parentNode;if(n===1&&r===0)return!0;if(s){i=0;for(t=s.firstChild;t;t=t.nextSibling)if(t.nodeType===1){i++;if(e===t)break}}return i-=r,i===n||i%n===0&&i/n>=0}:function(t){var n=t;switch(e){case\"only\":case\"first\":while(n=n.previousSibling)if(n.nodeType===1)return!1;if(e===\"first\")return!0;n=t;case\"last\":while(n=n.nextSibling)if(n.nodeType===1)return!1;return!0}}},PSEUDO:function(e,t){var n,r=i.pseudos[e]||i.setFilters[e.toLowerCase()]||nt.error(\"unsupported pseudo: \"+e);return r[d]?r(t):r.length>1?(n=[e,e,\"\",t],i.setFilters.hasOwnProperty(e.toLowerCase())?N(function(e,n){var i,s=r(e,t),o=s.length;while(o--)i=T.call(e,s[o]),e[i]=!(n[i]=s[o])}):function(e){return r(e,0,n)}):r}},pseudos:{not:N(function(e){var t=[],n=[],r=a(e.replace(j,\"$1\"));return r[d]?N(function(e,t,n,i){var s,o=r(e,null,i,[]),u=e.length;while(u--)if(s=o[u])e[u]=!(t[u]=s)}):function(e,i,s){return t[0]=e,r(t,null,s,n),!n.pop()}}),has:N(function(e){return function(t){return nt(e,t).length>0}}),contains:N(function(e){return function(t){return(t.textContent||t.innerText||s(t)).indexOf(e)>-1}}),enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return t===\"input\"&&!!e.checked||t===\"option\"&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},parent:function(e){return!i.pseudos.empty(e)},empty:function(e){var t;e=e.firstChild;while(e){if(e.nodeName>\"@\"||(t=e.nodeType)===3||t===4)return!1;e=e.nextSibling}return!0},header:function(e){return X.test(e.nodeName)},text:function(e){var t,n;return e.nodeName.toLowerCase()===\"input\"&&(t=e.type)===\"text\"&&((n=e.getAttribute(\"type\"))==null||n.toLowerCase()===t)},radio:rt(\"radio\"),checkbox:rt(\"checkbox\"),file:rt(\"file\"),password:rt(\"password\"),image:rt(\"image\"),submit:it(\"submit\"),reset:it(\"reset\"),button:function(e){var t=e.nodeName.toLowerCase();return t===\"input\"&&e.type===\"button\"||t===\"button\"},input:function(e){return V.test(e.nodeName)},focus:function(e){var t=e.ownerDocument;return e===t.activeElement&&(!t.hasFocus||t.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},active:function(e){return e===e.ownerDocument.activeElement},first:st(function(){return[0]}),last:st(function(e,t){return[t-1]}),eq:st(function(e,t,n){return[n<0?n+t:n]}),even:st(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:st(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:st(function(e,t,n){for(var r=n<0?n+t:n;--r>=0;)e.push(r);return e}),gt:st(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}},f=y.compareDocumentPosition?function(e,t){return e===t?(l=!0,0):(!e.compareDocumentPosition||!t.compareDocumentPosition?e.compareDocumentPosition:e.compareDocumentPosition(t)&4)?-1:1}:function(e,t){if(e===t)return l=!0,0;if(e.sourceIndex&&t.sourceIndex)return e.sourceIndex-t.sourceIndex;var n,r,i=[],s=[],o=e.parentNode,u=t.parentNode,a=o;if(o===u)return ot(e,t);if(!o)return-1;if(!u)return 1;while(a)i.unshift(a),a=a.parentNode;a=u;while(a)s.unshift(a),a=a.parentNode;n=i.length,r=s.length;for(var f=0;f<n&&f<r;f++)if(i[f]!==s[f])return ot(i[f],s[f]);return f===n?ot(e,s[f],-1):ot(i[f],t,1)},[0,0].sort(f),h=!l,nt.uniqueSort=function(e){var t,n=[],r=1,i=0;l=h,e.sort(f);if(l){for(;t=e[r];r++)t===e[r-1]&&(i=n.push(r));while(i--)e.splice(n[i],1)}return e},nt.error=function(e){throw new Error(\"Syntax error, unrecognized expression: \"+e)},a=nt.compile=function(e,t){var n,r=[],i=[],s=A[d][e+\" \"];if(!s){t||(t=ut(e)),n=t.length;while(n--)s=ht(t[n]),s[d]?r.push(s):i.push(s);s=A(e,pt(i,r))}return s},g.querySelectorAll&&function(){var e,t=vt,n=/'|\\\\/g,r=/\\=[\\x20\\t\\r\\n\\f]*([^'\"\\]]*)[\\x20\\t\\r\\n\\f]*\\]/g,i=[\":focus\"],s=[\":active\"],u=y.matchesSelector||y.mozMatchesSelector||y.webkitMatchesSelector||y.oMatchesSelector||y.msMatchesSelector;K(function(e){e.innerHTML=\"<select><option selected=''></option></select>\",e.querySelectorAll(\"[selected]\").length||i.push(\"\\\\[\"+O+\"*(?:checked|disabled|ismap|multiple|readonly|selected|value)\"),e.querySelectorAll(\":checked\").length||i.push(\":checked\")}),K(function(e){e.innerHTML=\"<p test=''></p>\",e.querySelectorAll(\"[test^='']\").length&&i.push(\"[*^$]=\"+O+\"*(?:\\\"\\\"|'')\"),e.innerHTML=\"<input type='hidden'/>\",e.querySelectorAll(\":enabled\").length||i.push(\":enabled\",\":disabled\")}),i=new RegExp(i.join(\"|\")),vt=function(e,r,s,o,u){if(!o&&!u&&!i.test(e)){var a,f,l=!0,c=d,h=r,p=r.nodeType===9&&e;if(r.nodeType===1&&r.nodeName.toLowerCase()!==\"object\"){a=ut(e),(l=r.getAttribute(\"id\"))?c=l.replace(n,\"\\\\$&\"):r.setAttribute(\"id\",c),c=\"[id='\"+c+\"'] \",f=a.length;while(f--)a[f]=c+a[f].join(\"\");h=z.test(e)&&r.parentNode||r,p=a.join(\",\")}if(p)try{return S.apply(s,x.call(h.querySelectorAll(p),0)),s}catch(v){}finally{l||r.removeAttribute(\"id\")}}return t(e,r,s,o,u)},u&&(K(function(t){e=u.call(t,\"div\");try{u.call(t,\"[test!='']:sizzle\"),s.push(\"!=\",H)}catch(n){}}),s=new RegExp(s.join(\"|\")),nt.matchesSelector=function(t,n){n=n.replace(r,\"='$1']\");if(!o(t)&&!s.test(n)&&!i.test(n))try{var a=u.call(t,n);if(a||e||t.document&&t.document.nodeType!==11)return a}catch(f){}return nt(n,null,null,[t]).length>0})}(),i.pseudos.nth=i.pseudos.eq,i.filters=mt.prototype=i.pseudos,i.setFilters=new mt,nt.attr=v.attr,v.find=nt,v.expr=nt.selectors,v.expr[\":\"]=v.expr.pseudos,v.unique=nt.uniqueSort,v.text=nt.getText,v.isXMLDoc=nt.isXML,v.contains=nt.contains}(e);var nt=/Until$/,rt=/^(?:parents|prev(?:Until|All))/,it=/^.[^:#\\[\\.,]*$/,st=v.expr.match.needsContext,ot={children:!0,contents:!0,next:!0,prev:!0};v.fn.extend({find:function(e){var t,n,r,i,s,o,u=this;if(typeof e!=\"string\")return v(e).filter(function(){for(t=0,n=u.length;t<n;t++)if(v.contains(u[t],this))return!0});o=this.pushStack(\"\",\"find\",e);for(t=0,n=this.length;t<n;t++){r=o.length,v.find(e,this[t],o);if(t>0)for(i=r;i<o.length;i++)for(s=0;s<r;s++)if(o[s]===o[i]){o.splice(i--,1);break}}return o},has:function(e){var t,n=v(e,this),r=n.length;return this.filter(function(){for(t=0;t<r;t++)if(v.contains(this,n[t]))return!0})},not:function(e){return this.pushStack(ft(this,e,!1),\"not\",e)},filter:function(e){return this.pushStack(ft(this,e,!0),\"filter\",e)},is:function(e){return!!e&&(typeof e==\"string\"?st.test(e)?v(e,this.context).index(this[0])>=0:v.filter(e,this).length>0:this.filter(e).length>0)},closest:function(e,t){var n,r=0,i=this.length,s=[],o=st.test(e)||typeof e!=\"string\"?v(e,t||this.context):0;for(;r<i;r++){n=this[r];while(n&&n.ownerDocument&&n!==t&&n.nodeType!==11){if(o?o.index(n)>-1:v.find.matchesSelector(n,e)){s.push(n);break}n=n.parentNode}}return s=s.length>1?v.unique(s):s,this.pushStack(s,\"closest\",e)},index:function(e){return e?typeof e==\"string\"?v.inArray(this[0],v(e)):v.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.prevAll().length:-1},add:function(e,t){var n=typeof e==\"string\"?v(e,t):v.makeArray(e&&e.nodeType?[e]:e),r=v.merge(this.get(),n);return this.pushStack(ut(n[0])||ut(r[0])?r:v.unique(r))},addBack:function(e){return this.add(e==null?this.prevObject:this.prevObject.filter(e))}}),v.fn.andSelf=v.fn.addBack,v.each({parent:function(e){var t=e.parentNode;return t&&t.nodeType!==11?t:null},parents:function(e){return v.dir(e,\"parentNode\")},parentsUntil:function(e,t,n){return v.dir(e,\"parentNode\",n)},next:function(e){return at(e,\"nextSibling\")},prev:function(e){return at(e,\"previousSibling\")},nextAll:function(e){return v.dir(e,\"nextSibling\")},prevAll:function(e){return v.dir(e,\"previousSibling\")},nextUntil:function(e,t,n){return v.dir(e,\"nextSibling\",n)},prevUntil:function(e,t,n){return v.dir(e,\"previousSibling\",n)},siblings:function(e){return v.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return v.sibling(e.firstChild)},contents:function(e){return v.nodeName(e,\"iframe\")?e.contentDocument||e.contentWindow.document:v.merge([],e.childNodes)}},function(e,t){v.fn[e]=function(n,r){var i=v.map(this,t,n);return nt.test(e)||(r=n),r&&typeof r==\"string\"&&(i=v.filter(r,i)),i=this.length>1&&!ot[e]?v.unique(i):i,this.length>1&&rt.test(e)&&(i=i.reverse()),this.pushStack(i,e,l.call(arguments).join(\",\"))}}),v.extend({filter:function(e,t,n){return n&&(e=\":not(\"+e+\")\"),t.length===1?v.find.matchesSelector(t[0],e)?[t[0]]:[]:v.find.matches(e,t)},dir:function(e,n,r){var i=[],s=e[n];while(s&&s.nodeType!==9&&(r===t||s.nodeType!==1||!v(s).is(r)))s.nodeType===1&&i.push(s),s=s[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)e.nodeType===1&&e!==t&&n.push(e);return n}});var ct=\"abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video\",ht=/ jQuery\\d+=\"(?:null|\\d+)\"/g,pt=/^\\s+/,dt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\\w:]+)[^>]*)\\/>/gi,vt=/<([\\w:]+)/,mt=/<tbody/i,gt=/<|&#?\\w+;/,yt=/<(?:script|style|link)/i,bt=/<(?:script|object|embed|option|style)/i,wt=new RegExp(\"<(?:\"+ct+\")[\\\\s/>]\",\"i\"),Et=/^(?:checkbox|radio)$/,St=/checked\\s*(?:[^=]|=\\s*.checked.)/i,xt=/\\/(java|ecma)script/i,Tt=/^\\s*<!(?:\\[CDATA\\[|\\-\\-)|[\\]\\-]{2}>\\s*$/g,Nt={option:[1,\"<select multiple='multiple'>\",\"</select>\"],legend:[1,\"<fieldset>\",\"</fieldset>\"],thead:[1,\"<table>\",\"</table>\"],tr:[2,\"<table><tbody>\",\"</tbody></table>\"],td:[3,\"<table><tbody><tr>\",\"</tr></tbody></table>\"],col:[2,\"<table><tbody></tbody><colgroup>\",\"</colgroup></table>\"],area:[1,\"<map>\",\"</map>\"],_default:[0,\"\",\"\"]},Ct=lt(i),kt=Ct.appendChild(i.createElement(\"div\"));Nt.optgroup=Nt.option,Nt.tbody=Nt.tfoot=Nt.colgroup=Nt.caption=Nt.thead,Nt.th=Nt.td,v.support.htmlSerialize||(Nt._default=[1,\"X<div>\",\"</div>\"]),v.fn.extend({text:function(e){return v.access(this,function(e){return e===t?v.text(this):this.empty().append((this[0]&&this[0].ownerDocument||i).createTextNode(e))},null,e,arguments.length)},wrapAll:function(e){if(v.isFunction(e))return this.each(function(t){v(this).wrapAll(e.call(this,t))});if(this[0]){var t=v(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&e.firstChild.nodeType===1)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return v.isFunction(e)?this.each(function(t){v(this).wrapInner(e.call(this,t))}):this.each(function(){var t=v(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=v.isFunction(e);return this.each(function(n){v(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){v.nodeName(this,\"body\")||v(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(e){(this.nodeType===1||this.nodeType===11)&&this.appendChild(e)})},prepend:function(){return this.domManip(arguments,!0,function(e){(this.nodeType===1||this.nodeType===11)&&this.insertBefore(e,this.firstChild)})},before:function(){if(!ut(this[0]))return this.domManip(arguments,!1,function(e){this.parentNode.insertBefore(e,this)});if(arguments.length){var e=v.clean(arguments);return this.pushStack(v.merge(e,this),\"before\",this.selector)}},after:function(){if(!ut(this[0]))return this.domManip(arguments,!1,function(e){this.parentNode.insertBefore(e,this.nextSibling)});if(arguments.length){var e=v.clean(arguments);return this.pushStack(v.merge(this,e),\"after\",this.selector)}},remove:function(e,t){var n,r=0;for(;(n=this[r])!=null;r++)if(!e||v.filter(e,[n]).length)!t&&n.nodeType===1&&(v.cleanData(n.getElementsByTagName(\"*\")),v.cleanData([n])),n.parentNode&&n.parentNode.removeChild(n);return this},empty:function(){var e,t=0;for(;(e=this[t])!=null;t++){e.nodeType===1&&v.cleanData(e.getElementsByTagName(\"*\"));while(e.firstChild)e.removeChild(e.firstChild)}return this},clone:function(e,t){return e=e==null?!1:e,t=t==null?e:t,this.map(function(){return v.clone(this,e,t)})},html:function(e){return v.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return n.nodeType===1?n.innerHTML.replace(ht,\"\"):t;if(typeof e==\"string\"&&!yt.test(e)&&(v.support.htmlSerialize||!wt.test(e))&&(v.support.leadingWhitespace||!pt.test(e))&&!Nt[(vt.exec(e)||[\"\",\"\"])[1].toLowerCase()]){e=e.replace(dt,\"<$1></$2>\");try{for(;r<i;r++)n=this[r]||{},n.nodeType===1&&(v.cleanData(n.getElementsByTagName(\"*\")),n.innerHTML=e);n=0}catch(s){}}n&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(e){return ut(this[0])?this.length?this.pushStack(v(v.isFunction(e)?e():e),\"replaceWith\",e):this:v.isFunction(e)?this.each(function(t){var n=v(this),r=n.html();n.replaceWith(e.call(this,t,r))}):(typeof e!=\"string\"&&(e=v(e).detach()),this.each(function(){var t=this.nextSibling,n=this.parentNode;v(this).remove(),t?v(t).before(e):v(n).append(e)}))},detach:function(e){return this.remove(e,!0)},domManip:function(e,n,r){e=[].concat.apply([],e);var i,s,o,u,a=0,f=e[0],l=[],c=this.length;if(!v.support.checkClone&&c>1&&typeof f==\"string\"&&St.test(f))return this.each(function(){v(this).domManip(e,n,r)});if(v.isFunction(f))return this.each(function(i){var s=v(this);e[0]=f.call(this,i,n?s.html():t),s.domManip(e,n,r)});if(this[0]){i=v.buildFragment(e,this,l),o=i.fragment,s=o.firstChild,o.childNodes.length===1&&(o=s);if(s){n=n&&v.nodeName(s,\"tr\");for(u=i.cacheable||c-1;a<c;a++)r.call(n&&v.nodeName(this[a],\"table\")?Lt(this[a],\"tbody\"):this[a],a===u?o:v.clone(o,!0,!0))}o=s=null,l.length&&v.each(l,function(e,t){t.src?v.ajax?v.ajax({url:t.src,type:\"GET\",dataType:\"script\",async:!1,global:!1,\"throws\":!0}):v.error(\"no ajax\"):v.globalEval((t.text||t.textContent||t.innerHTML||\"\").replace(Tt,\"\")),t.parentNode&&t.parentNode.removeChild(t)})}return this}}),v.buildFragment=function(e,n,r){var s,o,u,a=e[0];return n=n||i,n=!n.nodeType&&n[0]||n,n=n.ownerDocument||n,e.length===1&&typeof a==\"string\"&&a.length<512&&n===i&&a.charAt(0)===\"<\"&&!bt.test(a)&&(v.support.checkClone||!St.test(a))&&(v.support.html5Clone||!wt.test(a))&&(o=!0,s=v.fragments[a],u=s!==t),s||(s=n.createDocumentFragment(),v.clean(e,n,s,r),o&&(v.fragments[a]=u&&s)),{fragment:s,cacheable:o}},v.fragments={},v.each({appendTo:\"append\",prependTo:\"prepend\",insertBefore:\"before\",insertAfter:\"after\",replaceAll:\"replaceWith\"},function(e,t){v.fn[e]=function(n){var r,i=0,s=[],o=v(n),u=o.length,a=this.length===1&&this[0].parentNode;if((a==null||a&&a.nodeType===11&&a.childNodes.length===1)&&u===1)return o[t](this[0]),this;for(;i<u;i++)r=(i>0?this.clone(!0):this).get(),v(o[i])[t](r),s=s.concat(r);return this.pushStack(s,e,o.selector)}}),v.extend({clone:function(e,t,n){var r,i,s,o;v.support.html5Clone||v.isXMLDoc(e)||!wt.test(\"<\"+e.nodeName+\">\")?o=e.cloneNode(!0):(kt.innerHTML=e.outerHTML,kt.removeChild(o=kt.firstChild));if((!v.support.noCloneEvent||!v.support.noCloneChecked)&&(e.nodeType===1||e.nodeType===11)&&!v.isXMLDoc(e)){Ot(e,o),r=Mt(e),i=Mt(o);for(s=0;r[s];++s)i[s]&&Ot(r[s],i[s])}if(t){At(e,o);if(n){r=Mt(e),i=Mt(o);for(s=0;r[s];++s)At(r[s],i[s])}}return r=i=null,o},clean:function(e,t,n,r){var s,o,u,a,f,l,c,h,p,d,m,g,y=t===i&&Ct,b=[];if(!t||typeof t.createDocumentFragment==\"undefined\")t=i;for(s=0;(u=e[s])!=null;s++){typeof u==\"number\"&&(u+=\"\");if(!u)continue;if(typeof u==\"string\")if(!gt.test(u))u=t.createTextNode(u);else{y=y||lt(t),c=t.createElement(\"div\"),y.appendChild(c),u=u.replace(dt,\"<$1></$2>\"),a=(vt.exec(u)||[\"\",\"\"])[1].toLowerCase(),f=Nt[a]||Nt._default,l=f[0],c.innerHTML=f[1]+u+f[2];while(l--)c=c.lastChild;if(!v.support.tbody){h=mt.test(u),p=a===\"table\"&&!h?c.firstChild&&c.firstChild.childNodes:f[1]===\"<table>\"&&!h?c.childNodes:[];for(o=p.length-1;o>=0;--o)v.nodeName(p[o],\"tbody\")&&!p[o].childNodes.length&&p[o].parentNode.removeChild(p[o])}!v.support.leadingWhitespace&&pt.test(u)&&c.insertBefore(t.createTextNode(pt.exec(u)[0]),c.firstChild),u=c.childNodes,c.parentNode.removeChild(c)}u.nodeType?b.push(u):v.merge(b,u)}c&&(u=c=y=null);if(!v.support.appendChecked)for(s=0;(u=b[s])!=null;s++)v.nodeName(u,\"input\")?_t(u):typeof u.getElementsByTagName!=\"undefined\"&&v.grep(u.getElementsByTagName(\"input\"),_t);if(n){m=function(e){if(!e.type||xt.test(e.type))return r?r.push(e.parentNode?e.parentNode.removeChild(e):e):n.appendChild(e)};for(s=0;(u=b[s])!=null;s++)if(!v.nodeName(u,\"script\")||!m(u))n.appendChild(u),typeof u.getElementsByTagName!=\"undefined\"&&(g=v.grep(v.merge([],u.getElementsByTagName(\"script\")),m),b.splice.apply(b,[s+1,0].concat(g)),s+=g.length)}return b},cleanData:function(e,t){var n,r,i,s,o=0,u=v.expando,a=v.cache,f=v.support.deleteExpando,l=v.event.special;for(;(i=e[o])!=null;o++)if(t||v.acceptData(i)){r=i[u],n=r&&a[r];if(n){if(n.events)for(s in n.events)l[s]?v.event.remove(i,s):v.removeEvent(i,s,n.handle);a[r]&&(delete a[r],f?delete i[u]:i.removeAttribute?i.removeAttribute(u):i[u]=null,v.deletedIds.push(r))}}}}),function(){var e,t;v.uaMatch=function(e){e=e.toLowerCase();var t=/(chrome)[ \\/]([\\w.]+)/.exec(e)||/(webkit)[ \\/]([\\w.]+)/.exec(e)||/(opera)(?:.*version|)[ \\/]([\\w.]+)/.exec(e)||/(msie) ([\\w.]+)/.exec(e)||e.indexOf(\"compatible\")<0&&/(mozilla)(?:.*? rv:([\\w.]+)|)/.exec(e)||[];return{browser:t[1]||\"\",version:t[2]||\"0\"}},e=v.uaMatch(o.userAgent),t={},e.browser&&(t[e.browser]=!0,t.version=e.version),t.chrome?t.webkit=!0:t.webkit&&(t.safari=!0),v.browser=t,v.sub=function(){function e(t,n){return new e.fn.init(t,n)}v.extend(!0,e,this),e.superclass=this,e.fn=e.prototype=this(),e.fn.constructor=e,e.sub=this.sub,e.fn.init=function(r,i){return i&&i instanceof v&&!(i instanceof e)&&(i=e(i)),v.fn.init.call(this,r,i,t)},e.fn.init.prototype=e.fn;var t=e(i);return e}}();var Dt,Pt,Ht,Bt=/alpha\\([^)]*\\)/i,jt=/opacity=([^)]*)/,Ft=/^(top|right|bottom|left)$/,It=/^(none|table(?!-c[ea]).+)/,qt=/^margin/,Rt=new RegExp(\"^(\"+m+\")(.*)$\",\"i\"),Ut=new RegExp(\"^(\"+m+\")(?!px)[a-z%]+$\",\"i\"),zt=new RegExp(\"^([-+])=(\"+m+\")\",\"i\"),Wt={BODY:\"block\"},Xt={position:\"absolute\",visibility:\"hidden\",display:\"block\"},Vt={letterSpacing:0,fontWeight:400},$t=[\"Top\",\"Right\",\"Bottom\",\"Left\"],Jt=[\"Webkit\",\"O\",\"Moz\",\"ms\"],Kt=v.fn.toggle;v.fn.extend({css:function(e,n){return v.access(this,function(e,n,r){return r!==t?v.style(e,n,r):v.css(e,n)},e,n,arguments.length>1)},show:function(){return Yt(this,!0)},hide:function(){return Yt(this)},toggle:function(e,t){var n=typeof e==\"boolean\";return v.isFunction(e)&&v.isFunction(t)?Kt.apply(this,arguments):this.each(function(){(n?e:Gt(this))?v(this).show():v(this).hide()})}}),v.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Dt(e,\"opacity\");return n===\"\"?\"1\":n}}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{\"float\":v.support.cssFloat?\"cssFloat\":\"styleFloat\"},style:function(e,n,r,i){if(!e||e.nodeType===3||e.nodeType===8||!e.style)return;var s,o,u,a=v.camelCase(n),f=e.style;n=v.cssProps[a]||(v.cssProps[a]=Qt(f,a)),u=v.cssHooks[n]||v.cssHooks[a];if(r===t)return u&&\"get\"in u&&(s=u.get(e,!1,i))!==t?s:f[n];o=typeof r,o===\"string\"&&(s=zt.exec(r))&&(r=(s[1]+1)*s[2]+parseFloat(v.css(e,n)),o=\"number\");if(r==null||o===\"number\"&&isNaN(r))return;o===\"number\"&&!v.cssNumber[a]&&(r+=\"px\");if(!u||!(\"set\"in u)||(r=u.set(e,r,i))!==t)try{f[n]=r}catch(l){}},css:function(e,n,r,i){var s,o,u,a=v.camelCase(n);return n=v.cssProps[a]||(v.cssProps[a]=Qt(e.style,a)),u=v.cssHooks[n]||v.cssHooks[a],u&&\"get\"in u&&(s=u.get(e,!0,i)),s===t&&(s=Dt(e,n)),s===\"normal\"&&n in Vt&&(s=Vt[n]),r||i!==t?(o=parseFloat(s),r||v.isNumeric(o)?o||0:s):s},swap:function(e,t,n){var r,i,s={};for(i in t)s[i]=e.style[i],e.style[i]=t[i];r=n.call(e);for(i in t)e.style[i]=s[i];return r}}),e.getComputedStyle?Dt=function(t,n){var r,i,s,o,u=e.getComputedStyle(t,null),a=t.style;return u&&(r=u.getPropertyValue(n)||u[n],r===\"\"&&!v.contains(t.ownerDocument,t)&&(r=v.style(t,n)),Ut.test(r)&&qt.test(n)&&(i=a.width,s=a.minWidth,o=a.maxWidth,a.minWidth=a.maxWidth=a.width=r,r=u.width,a.width=i,a.minWidth=s,a.maxWidth=o)),r}:i.documentElement.currentStyle&&(Dt=function(e,t){var n,r,i=e.currentStyle&&e.currentStyle[t],s=e.style;return i==null&&s&&s[t]&&(i=s[t]),Ut.test(i)&&!Ft.test(t)&&(n=s.left,r=e.runtimeStyle&&e.runtimeStyle.left,r&&(e.runtimeStyle.left=e.currentStyle.left),s.left=t===\"fontSize\"?\"1em\":i,i=s.pixelLeft+\"px\",s.left=n,r&&(e.runtimeStyle.left=r)),i===\"\"?\"auto\":i}),v.each([\"height\",\"width\"],function(e,t){v.cssHooks[t]={get:function(e,n,r){if(n)return e.offsetWidth===0&&It.test(Dt(e,\"display\"))?v.swap(e,Xt,function(){return tn(e,t,r)}):tn(e,t,r)},set:function(e,n,r){return Zt(e,n,r?en(e,t,r,v.support.boxSizing&&v.css(e,\"boxSizing\")===\"border-box\"):0)}}}),v.support.opacity||(v.cssHooks.opacity={get:function(e,t){return jt.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||\"\")?.01*parseFloat(RegExp.$1)+\"\":t?\"1\":\"\"},set:function(e,t){var n=e.style,r=e.currentStyle,i=v.isNumeric(t)?\"alpha(opacity=\"+t*100+\")\":\"\",s=r&&r.filter||n.filter||\"\";n.zoom=1;if(t>=1&&v.trim(s.replace(Bt,\"\"))===\"\"&&n.removeAttribute){n.removeAttribute(\"filter\");if(r&&!r.filter)return}n.filter=Bt.test(s)?s.replace(Bt,i):s+\" \"+i}}),v(function(){v.support.reliableMarginRight||(v.cssHooks.marginRight={get:function(e,t){return v.swap(e,{display:\"inline-block\"},function(){if(t)return Dt(e,\"marginRight\")})}}),!v.support.pixelPosition&&v.fn.position&&v.each([\"top\",\"left\"],function(e,t){v.cssHooks[t]={get:function(e,n){if(n){var r=Dt(e,t);return Ut.test(r)?v(e).position()[t]+\"px\":r}}}})}),v.expr&&v.expr.filters&&(v.expr.filters.hidden=function(e){return e.offsetWidth===0&&e.offsetHeight===0||!v.support.reliableHiddenOffsets&&(e.style&&e.style.display||Dt(e,\"display\"))===\"none\"},v.expr.filters.visible=function(e){return!v.expr.filters.hidden(e)}),v.each({margin:\"\",padding:\"\",border:\"Width\"},function(e,t){v.cssHooks[e+t]={expand:function(n){var r,i=typeof n==\"string\"?n.split(\" \"):[n],s={};for(r=0;r<4;r++)s[e+$t[r]+t]=i[r]||i[r-2]||i[0];return s}},qt.test(e)||(v.cssHooks[e+t].set=Zt)});var rn=/%20/g,sn=/\\[\\]$/,on=/\\r?\\n/g,un=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,an=/^(?:select|textarea)/i;v.fn.extend({serialize:function(){return v.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?v.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||an.test(this.nodeName)||un.test(this.type))}).map(function(e,t){var n=v(this).val();return n==null?null:v.isArray(n)?v.map(n,function(e,n){return{name:t.name,value:e.replace(on,\"\\r\\n\")}}):{name:t.name,value:n.replace(on,\"\\r\\n\")}}).get()}}),v.param=function(e,n){var r,i=[],s=function(e,t){t=v.isFunction(t)?t():t==null?\"\":t,i[i.length]=encodeURIComponent(e)+\"=\"+encodeURIComponent(t)};n===t&&(n=v.ajaxSettings&&v.ajaxSettings.traditional);if(v.isArray(e)||e.jquery&&!v.isPlainObject(e))v.each(e,function(){s(this.name,this.value)});else for(r in e)fn(r,e[r],n,s);return i.join(\"&\").replace(rn,\"+\")};var ln,cn,hn=/#.*$/,pn=/^(.*?):[ \\t]*([^\\r\\n]*)\\r?$/mg,dn=/^(?:about|app|app\\-storage|.+\\-extension|file|res|widget):$/,vn=/^(?:GET|HEAD)$/,mn=/^\\/\\//,gn=/\\?/,yn=/<script\\b[^<]*(?:(?!<\\/script>)<[^<]*)*<\\/script>/gi,bn=/([?&])_=[^&]*/,wn=/^([\\w\\+\\.\\-]+:)(?:\\/\\/([^\\/?#:]*)(?::(\\d+)|)|)/,En=v.fn.load,Sn={},xn={},Tn=[\"*/\"]+[\"*\"];try{cn=s.href}catch(Nn){cn=i.createElement(\"a\"),cn.href=\"\",cn=cn.href}ln=wn.exec(cn.toLowerCase())||[],v.fn.load=function(e,n,r){if(typeof e!=\"string\"&&En)return En.apply(this,arguments);if(!this.length)return this;var i,s,o,u=this,a=e.indexOf(\" \");return a>=0&&(i=e.slice(a,e.length),e=e.slice(0,a)),v.isFunction(n)?(r=n,n=t):n&&typeof n==\"object\"&&(s=\"POST\"),v.ajax({url:e,type:s,dataType:\"html\",data:n,complete:function(e,t){r&&u.each(r,o||[e.responseText,t,e])}}).done(function(e){o=arguments,u.html(i?v(\"<div>\").append(e.replace(yn,\"\")).find(i):e)}),this},v.each(\"ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend\".split(\" \"),function(e,t){v.fn[t]=function(e){return this.on(t,e)}}),v.each([\"get\",\"post\"],function(e,n){v[n]=function(e,r,i,s){return v.isFunction(r)&&(s=s||i,i=r,r=t),v.ajax({type:n,url:e,data:r,success:i,dataType:s})}}),v.extend({getScript:function(e,n){return v.get(e,t,n,\"script\")},getJSON:function(e,t,n){return v.get(e,t,n,\"json\")},ajaxSetup:function(e,t){return t?Ln(e,v.ajaxSettings):(t=e,e=v.ajaxSettings),Ln(e,t),e},ajaxSettings:{url:cn,isLocal:dn.test(ln[1]),global:!0,type:\"GET\",contentType:\"application/x-www-form-urlencoded; charset=UTF-8\",processData:!0,async:!0,accepts:{xml:\"application/xml, text/xml\",html:\"text/html\",text:\"text/plain\",json:\"application/json, text/javascript\",\"*\":Tn},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:\"responseXML\",text:\"responseText\"},converters:{\"* text\":e.String,\"text html\":!0,\"text json\":v.parseJSON,\"text xml\":v.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:Cn(Sn),ajaxTransport:Cn(xn),ajax:function(e,n){function T(e,n,s,a){var l,y,b,w,S,T=n;if(E===2)return;E=2,u&&clearTimeout(u),o=t,i=a||\"\",x.readyState=e>0?4:0,s&&(w=An(c,x,s));if(e>=200&&e<300||e===304)c.ifModified&&(S=x.getResponseHeader(\"Last-Modified\"),S&&(v.lastModified[r]=S),S=x.getResponseHeader(\"Etag\"),S&&(v.etag[r]=S)),e===304?(T=\"notmodified\",l=!0):(l=On(c,w),T=l.state,y=l.data,b=l.error,l=!b);else{b=T;if(!T||e)T=\"error\",e<0&&(e=0)}x.status=e,x.statusText=(n||T)+\"\",l?d.resolveWith(h,[y,T,x]):d.rejectWith(h,[x,T,b]),x.statusCode(g),g=t,f&&p.trigger(\"ajax\"+(l?\"Success\":\"Error\"),[x,c,l?y:b]),m.fireWith(h,[x,T]),f&&(p.trigger(\"ajaxComplete\",[x,c]),--v.active||v.event.trigger(\"ajaxStop\"))}typeof e==\"object\"&&(n=e,e=t),n=n||{};var r,i,s,o,u,a,f,l,c=v.ajaxSetup({},n),h=c.context||c,p=h!==c&&(h.nodeType||h instanceof v)?v(h):v.event,d=v.Deferred(),m=v.Callbacks(\"once memory\"),g=c.statusCode||{},b={},w={},E=0,S=\"canceled\",x={readyState:0,setRequestHeader:function(e,t){if(!E){var n=e.toLowerCase();e=w[n]=w[n]||e,b[e]=t}return this},getAllResponseHeaders:function(){return E===2?i:null},getResponseHeader:function(e){var n;if(E===2){if(!s){s={};while(n=pn.exec(i))s[n[1].toLowerCase()]=n[2]}n=s[e.toLowerCase()]}return n===t?null:n},overrideMimeType:function(e){return E||(c.mimeType=e),this},abort:function(e){return e=e||S,o&&o.abort(e),T(0,e),this}};d.promise(x),x.success=x.done,x.error=x.fail,x.complete=m.add,x.statusCode=function(e){if(e){var t;if(E<2)for(t in e)g[t]=[g[t],e[t]];else t=e[x.status],x.always(t)}return this},c.url=((e||c.url)+\"\").replace(hn,\"\").replace(mn,ln[1]+\"//\"),c.dataTypes=v.trim(c.dataType||\"*\").toLowerCase().split(y),c.crossDomain==null&&(a=wn.exec(c.url.toLowerCase()),c.crossDomain=!(!a||a[1]===ln[1]&&a[2]===ln[2]&&(a[3]||(a[1]===\"http:\"?80:443))==(ln[3]||(ln[1]===\"http:\"?80:443)))),c.data&&c.processData&&typeof c.data!=\"string\"&&(c.data=v.param(c.data,c.traditional)),kn(Sn,c,n,x);if(E===2)return x;f=c.global,c.type=c.type.toUpperCase(),c.hasContent=!vn.test(c.type),f&&v.active++===0&&v.event.trigger(\"ajaxStart\");if(!c.hasContent){c.data&&(c.url+=(gn.test(c.url)?\"&\":\"?\")+c.data,delete c.data),r=c.url;if(c.cache===!1){var N=v.now(),C=c.url.replace(bn,\"$1_=\"+N);c.url=C+(C===c.url?(gn.test(c.url)?\"&\":\"?\")+\"_=\"+N:\"\")}}(c.data&&c.hasContent&&c.contentType!==!1||n.contentType)&&x.setRequestHeader(\"Content-Type\",c.contentType),c.ifModified&&(r=r||c.url,v.lastModified[r]&&x.setRequestHeader(\"If-Modified-Since\",v.lastModified[r]),v.etag[r]&&x.setRequestHeader(\"If-None-Match\",v.etag[r])),x.setRequestHeader(\"Accept\",c.dataTypes[0]&&c.accepts[c.dataTypes[0]]?c.accepts[c.dataTypes[0]]+(c.dataTypes[0]!==\"*\"?\", \"+Tn+\"; q=0.01\":\"\"):c.accepts[\"*\"]);for(l in c.headers)x.setRequestHeader(l,c.headers[l]);if(!c.beforeSend||c.beforeSend.call(h,x,c)!==!1&&E!==2){S=\"abort\";for(l in{success:1,error:1,complete:1})x[l](c[l]);o=kn(xn,c,n,x);if(!o)T(-1,\"No Transport\");else{x.readyState=1,f&&p.trigger(\"ajaxSend\",[x,c]),c.async&&c.timeout>0&&(u=setTimeout(function(){x.abort(\"timeout\")},c.timeout));try{E=1,o.send(b,T)}catch(k){if(!(E<2))throw k;T(-1,k)}}return x}return x.abort()},active:0,lastModified:{},etag:{}});var Mn=[],_n=/\\?/,Dn=/(=)\\?(?=&|$)|\\?\\?/,Pn=v.now();v.ajaxSetup({jsonp:\"callback\",jsonpCallback:function(){var e=Mn.pop()||v.expando+\"_\"+Pn++;return this[e]=!0,e}}),v.ajaxPrefilter(\"json jsonp\",function(n,r,i){var s,o,u,a=n.data,f=n.url,l=n.jsonp!==!1,c=l&&Dn.test(f),h=l&&!c&&typeof a==\"string\"&&!(n.contentType||\"\").indexOf(\"application/x-www-form-urlencoded\")&&Dn.test(a);if(n.dataTypes[0]===\"jsonp\"||c||h)return s=n.jsonpCallback=v.isFunction(n.jsonpCallback)?n.jsonpCallback():n.jsonpCallback,o=e[s],c?n.url=f.replace(Dn,\"$1\"+s):h?n.data=a.replace(Dn,\"$1\"+s):l&&(n.url+=(_n.test(f)?\"&\":\"?\")+n.jsonp+\"=\"+s),n.converters[\"script json\"]=function(){return u||v.error(s+\" was not called\"),u[0]},n.dataTypes[0]=\"json\",e[s]=function(){u=arguments},i.always(function(){e[s]=o,n[s]&&(n.jsonpCallback=r.jsonpCallback,Mn.push(s)),u&&v.isFunction(o)&&o(u[0]),u=o=t}),\"script\"}),v.ajaxSetup({accepts:{script:\"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript\"},contents:{script:/javascript|ecmascript/},converters:{\"text script\":function(e){return v.globalEval(e),e}}}),v.ajaxPrefilter(\"script\",function(e){e.cache===t&&(e.cache=!1),e.crossDomain&&(e.type=\"GET\",e.global=!1)}),v.ajaxTransport(\"script\",function(e){if(e.crossDomain){var n,r=i.head||i.getElementsByTagName(\"head\")[0]||i.documentElement;return{send:function(s,o){n=i.createElement(\"script\"),n.async=\"async\",e.scriptCharset&&(n.charset=e.scriptCharset),n.src=e.url,n.onload=n.onreadystatechange=function(e,i){if(i||!n.readyState||/loaded|complete/.test(n.readyState))n.onload=n.onreadystatechange=null,r&&n.parentNode&&r.removeChild(n),n=t,i||o(200,\"success\")},r.insertBefore(n,r.firstChild)},abort:function(){n&&n.onload(0,1)}}}});var Hn,Bn=e.ActiveXObject?function(){for(var e in Hn)Hn[e](0,1)}:!1,jn=0;v.ajaxSettings.xhr=e.ActiveXObject?function(){return!this.isLocal&&Fn()||In()}:Fn,function(e){v.extend(v.support,{ajax:!!e,cors:!!e&&\"withCredentials\"in e})}(v.ajaxSettings.xhr()),v.support.ajax&&v.ajaxTransport(function(n){if(!n.crossDomain||v.support.cors){var r;return{send:function(i,s){var o,u,a=n.xhr();n.username?a.open(n.type,n.url,n.async,n.username,n.password):a.open(n.type,n.url,n.async);if(n.xhrFields)for(u in n.xhrFields)a[u]=n.xhrFields[u];n.mimeType&&a.overrideMimeType&&a.overrideMimeType(n.mimeType),!n.crossDomain&&!i[\"X-Requested-With\"]&&(i[\"X-Requested-With\"]=\"XMLHttpRequest\");try{for(u in i)a.setRequestHeader(u,i[u])}catch(f){}a.send(n.hasContent&&n.data||null),r=function(e,i){var u,f,l,c,h;try{if(r&&(i||a.readyState===4)){r=t,o&&(a.onreadystatechange=v.noop,Bn&&delete Hn[o]);if(i)a.readyState!==4&&a.abort();else{u=a.status,l=a.getAllResponseHeaders(),c={},h=a.responseXML,h&&h.documentElement&&(c.xml=h);try{c.text=a.responseText}catch(p){}try{f=a.statusText}catch(p){f=\"\"}!u&&n.isLocal&&!n.crossDomain?u=c.text?200:404:u===1223&&(u=204)}}}catch(d){i||s(-1,d)}c&&s(u,f,c,l)},n.async?a.readyState===4?setTimeout(r,0):(o=++jn,Bn&&(Hn||(Hn={},v(e).unload(Bn)),Hn[o]=r),a.onreadystatechange=r):r()},abort:function(){r&&r(0,1)}}}});var qn,Rn,Un=/^(?:toggle|show|hide)$/,zn=new RegExp(\"^(?:([-+])=|)(\"+m+\")([a-z%]*)$\",\"i\"),Wn=/queueHooks$/,Xn=[Gn],Vn={\"*\":[function(e,t){var n,r,i=this.createTween(e,t),s=zn.exec(t),o=i.cur(),u=+o||0,a=1,f=20;if(s){n=+s[2],r=s[3]||(v.cssNumber[e]?\"\":\"px\");if(r!==\"px\"&&u){u=v.css(i.elem,e,!0)||n||1;do a=a||\".5\",u/=a,v.style(i.elem,e,u+r);while(a!==(a=i.cur()/o)&&a!==1&&--f)}i.unit=r,i.start=u,i.end=s[1]?u+(s[1]+1)*n:n}return i}]};v.Animation=v.extend(Kn,{tweener:function(e,t){v.isFunction(e)?(t=e,e=[\"*\"]):e=e.split(\" \");var n,r=0,i=e.length;for(;r<i;r++)n=e[r],Vn[n]=Vn[n]||[],Vn[n].unshift(t)},prefilter:function(e,t){t?Xn.unshift(e):Xn.push(e)}}),v.Tween=Yn,Yn.prototype={constructor:Yn,init:function(e,t,n,r,i,s){this.elem=e,this.prop=n,this.easing=i||\"swing\",this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=s||(v.cssNumber[n]?\"\":\"px\")},cur:function(){var e=Yn.propHooks[this.prop];return e&&e.get?e.get(this):Yn.propHooks._default.get(this)},run:function(e){var t,n=Yn.propHooks[this.prop];return this.options.duration?this.pos=t=v.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):Yn.propHooks._default.set(this),this}},Yn.prototype.init.prototype=Yn.prototype,Yn.propHooks={_default:{get:function(e){var t;return e.elem[e.prop]==null||!!e.elem.style&&e.elem.style[e.prop]!=null?(t=v.css(e.elem,e.prop,!1,\"\"),!t||t===\"auto\"?0:t):e.elem[e.prop]},set:function(e){v.fx.step[e.prop]?v.fx.step[e.prop](e):e.elem.style&&(e.elem.style[v.cssProps[e.prop]]!=null||v.cssHooks[e.prop])?v.style(e.elem,e.prop,e.now+e.unit):e.elem[e.prop]=e.now}}},Yn.propHooks.scrollTop=Yn.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},v.each([\"toggle\",\"show\",\"hide\"],function(e,t){var n=v.fn[t];v.fn[t]=function(r,i,s){return r==null||typeof r==\"boolean\"||!e&&v.isFunction(r)&&v.isFunction(i)?n.apply(this,arguments):this.animate(Zn(t,!0),r,i,s)}}),v.fn.extend({fadeTo:function(e,t,n,r){return this.filter(Gt).css(\"opacity\",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=v.isEmptyObject(e),s=v.speed(t,n,r),o=function(){var t=Kn(this,v.extend({},e),s);i&&t.stop(!0)};return i||s.queue===!1?this.each(o):this.queue(s.queue,o)},stop:function(e,n,r){var i=function(e){var t=e.stop;delete e.stop,t(r)};return typeof e!=\"string\"&&(r=n,n=e,e=t),n&&e!==!1&&this.queue(e||\"fx\",[]),this.each(function(){var t=!0,n=e!=null&&e+\"queueHooks\",s=v.timers,o=v._data(this);if(n)o[n]&&o[n].stop&&i(o[n]);else for(n in o)o[n]&&o[n].stop&&Wn.test(n)&&i(o[n]);for(n=s.length;n--;)s[n].elem===this&&(e==null||s[n].queue===e)&&(s[n].anim.stop(r),t=!1,s.splice(n,1));(t||!r)&&v.dequeue(this,e)})}}),v.each({slideDown:Zn(\"show\"),slideUp:Zn(\"hide\"),slideToggle:Zn(\"toggle\"),fadeIn:{opacity:\"show\"},fadeOut:{opacity:\"hide\"},fadeToggle:{opacity:\"toggle\"}},function(e,t){v.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),v.speed=function(e,t,n){var r=e&&typeof e==\"object\"?v.extend({},e):{complete:n||!n&&t||v.isFunction(e)&&e,duration:e,easing:n&&t||t&&!v.isFunction(t)&&t};r.duration=v.fx.off?0:typeof r.duration==\"number\"?r.duration:r.duration in v.fx.speeds?v.fx.speeds[r.duration]:v.fx.speeds._default;if(r.queue==null||r.queue===!0)r.queue=\"fx\";return r.old=r.complete,r.complete=function(){v.isFunction(r.old)&&r.old.call(this),r.queue&&v.dequeue(this,r.queue)},r},v.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2}},v.timers=[],v.fx=Yn.prototype.init,v.fx.tick=function(){var e,n=v.timers,r=0;qn=v.now();for(;r<n.length;r++)e=n[r],!e()&&n[r]===e&&n.splice(r--,1);n.length||v.fx.stop(),qn=t},v.fx.timer=function(e){e()&&v.timers.push(e)&&!Rn&&(Rn=setInterval(v.fx.tick,v.fx.interval))},v.fx.interval=13,v.fx.stop=function(){clearInterval(Rn),Rn=null},v.fx.speeds={slow:600,fast:200,_default:400},v.fx.step={},v.expr&&v.expr.filters&&(v.expr.filters.animated=function(e){return v.grep(v.timers,function(t){return e===t.elem}).length});var er=/^(?:body|html)$/i;v.fn.offset=function(e){if(arguments.length)return e===t?this:this.each(function(t){v.offset.setOffset(this,e,t)});var n,r,i,s,o,u,a,f={top:0,left:0},l=this[0],c=l&&l.ownerDocument;if(!c)return;return(r=c.body)===l?v.offset.bodyOffset(l):(n=c.documentElement,v.contains(n,l)?(typeof l.getBoundingClientRect!=\"undefined\"&&(f=l.getBoundingClientRect()),i=tr(c),s=n.clientTop||r.clientTop||0,o=n.clientLeft||r.clientLeft||0,u=i.pageYOffset||n.scrollTop,a=i.pageXOffset||n.scrollLeft,{top:f.top+u-s,left:f.left+a-o}):f)},v.offset={bodyOffset:function(e){var t=e.offsetTop,n=e.offsetLeft;return v.support.doesNotIncludeMarginInBodyOffset&&(t+=parseFloat(v.css(e,\"marginTop\"))||0,n+=parseFloat(v.css(e,\"marginLeft\"))||0),{top:t,left:n}},setOffset:function(e,t,n){var r=v.css(e,\"position\");r===\"static\"&&(e.style.position=\"relative\");var i=v(e),s=i.offset(),o=v.css(e,\"top\"),u=v.css(e,\"left\"),a=(r===\"absolute\"||r===\"fixed\")&&v.inArray(\"auto\",[o,u])>-1,f={},l={},c,h;a?(l=i.position(),c=l.top,h=l.left):(c=parseFloat(o)||0,h=parseFloat(u)||0),v.isFunction(t)&&(t=t.call(e,n,s)),t.top!=null&&(f.top=t.top-s.top+c),t.left!=null&&(f.left=t.left-s.left+h),\"using\"in t?t.using.call(e,f):i.css(f)}},v.fn.extend({position:function(){if(!this[0])return;var e=this[0],t=this.offsetParent(),n=this.offset(),r=er.test(t[0].nodeName)?{top:0,left:0}:t.offset();return n.top-=parseFloat(v.css(e,\"marginTop\"))||0,n.left-=parseFloat(v.css(e,\"marginLeft\"))||0,r.top+=parseFloat(v.css(t[0],\"borderTopWidth\"))||0,r.left+=parseFloat(v.css(t[0],\"borderLeftWidth\"))||0,{top:n.top-r.top,left:n.left-r.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||i.body;while(e&&!er.test(e.nodeName)&&v.css(e,\"position\")===\"static\")e=e.offsetParent;return e||i.body})}}),v.each({scrollLeft:\"pageXOffset\",scrollTop:\"pageYOffset\"},function(e,n){var r=/Y/.test(n);v.fn[e]=function(i){return v.access(this,function(e,i,s){var o=tr(e);if(s===t)return o?n in o?o[n]:o.document.documentElement[i]:e[i];o?o.scrollTo(r?v(o).scrollLeft():s,r?s:v(o).scrollTop()):e[i]=s},e,i,arguments.length,null)}}),v.each({Height:\"height\",Width:\"width\"},function(e,n){v.each({padding:\"inner\"+e,content:n,\"\":\"outer\"+e},function(r,i){v.fn[i]=function(i,s){var o=arguments.length&&(r||typeof i!=\"boolean\"),u=r||(i===!0||s===!0?\"margin\":\"border\");return v.access(this,function(n,r,i){var s;return v.isWindow(n)?n.document.documentElement[\"client\"+e]:n.nodeType===9?(s=n.documentElement,Math.max(n.body[\"scroll\"+e],s[\"scroll\"+e],n.body[\"offset\"+e],s[\"offset\"+e],s[\"client\"+e])):i===t?v.css(n,r,i,u):v.style(n,r,i,u)},n,o?i:t,o,null)}})}),e.jQuery=e.$=v,typeof define==\"function\"&&define.amd&&define.amd.jQuery&&define(\"jquery\",[],function(){return v})})(window);"
  },
  {
    "path": "doc/_static/jquery.storageapi.js",
    "content": "/*\n * jQuery Storage API Plugin\n *\n * Copyright (c) 2013 Julien Maurel\n *\n * Licensed under the MIT license:\n * http://www.opensource.org/licenses/mit-license.php\n *\n * Project home:\n * https://github.com/julien-maurel/jQuery-Storage-API\n *\n * Version: 1.7.3\n *\n */\n(function (factory) {\n  if(typeof define==='function' && define.amd){\n    // AMD\n    define(['jquery'],factory);\n  }else if(typeof exports==='object') {\n    // CommonJS\n    factory(require('jquery'));\n  }else {\n    // Browser globals\n    factory(jQuery);\n  }\n}(function($){\n  // Prefix to use with cookie fallback\n  var cookie_local_prefix=\"ls_\";\n  var cookie_session_prefix=\"ss_\";\n\n  // Get items from a storage\n  function _get(storage){\n    var l=arguments.length,s=window[storage],a=arguments,a1=a[1],vi,ret,tmp;\n    if(l<2) throw new Error('Minimum 2 arguments must be given');\n    else if($.isArray(a1)){\n      // If second argument is an array, return an object with value of storage for each item in this array\n      ret={};\n      for(var i in a1){\n        vi=a1[i];\n        try{\n          ret[vi]=JSON.parse(s.getItem(vi));\n        }catch(e){\n          ret[vi]=s.getItem(vi);\n        }\n      }\n      return ret;\n    }else if(l==2){\n      // If only 2 arguments, return value directly\n      try{\n        return JSON.parse(s.getItem(a1));\n      }catch(e){\n        return s.getItem(a1);\n      }\n    }else{\n      // If more than 2 arguments, parse storage to retrieve final value to return it\n      // Get first level\n      try{\n        ret=JSON.parse(s.getItem(a1));\n      }catch(e){\n        throw new ReferenceError(a1+' is not defined in this storage');\n      }\n      // Parse next levels\n      for(var i=2;i<l-1;i++){\n        ret=ret[a[i]];\n        if(ret===undefined) throw new ReferenceError([].slice.call(a,1,i+1).join('.')+' is not defined in this storage');\n      }\n      // If last argument is an array, return an object with value for each item in this array\n      // Else return value normally\n      if($.isArray(a[i])){\n        tmp=ret;\n        ret={};\n        for(var j in a[i]){\n          ret[a[i][j]]=tmp[a[i][j]];\n        }\n        return ret;\n      }else{\n        return ret[a[i]];\n      }\n    }\n  }\n\n  // Set items of a storage\n  function _set(storage){\n    var l=arguments.length,s=window[storage],a=arguments,a1=a[1],a2=a[2],vi,to_store={},tmp;\n    if(l<2 || !$.isPlainObject(a1) && l<3) throw new Error('Minimum 3 arguments must be given or second parameter must be an object');\n    else if($.isPlainObject(a1)){\n      // If first argument is an object, set values of storage for each property of this object\n      for(var i in a1){\n        vi=a1[i];\n        if(!$.isPlainObject(vi)) s.setItem(i,vi);\n        else s.setItem(i,JSON.stringify(vi));\n      }\n      return a1;\n    }else if(l==3){\n      // If only 3 arguments, set value of storage directly\n      if(typeof a2==='object') s.setItem(a1,JSON.stringify(a2));\n      else s.setItem(a1,a2);\n      return a2;\n    }else{\n      // If more than 3 arguments, parse storage to retrieve final node and set value\n      // Get first level\n      try{\n        tmp=s.getItem(a1);\n        if(tmp!=null) {\n          to_store=JSON.parse(tmp);\n        }\n      }catch(e){\n      }\n      tmp=to_store;\n      // Parse next levels and set value\n      for(var i=2;i<l-2;i++){\n        vi=a[i];\n        if(!tmp[vi] || !$.isPlainObject(tmp[vi])) tmp[vi]={};\n        tmp=tmp[vi];\n      }\n      tmp[a[i]]=a[i+1];\n      s.setItem(a1,JSON.stringify(to_store));\n      return to_store;\n    }\n  }\n\n  // Remove items from a storage\n  function _remove(storage){\n    var l=arguments.length,s=window[storage],a=arguments,a1=a[1],to_store,tmp;\n    if(l<2) throw new Error('Minimum 2 arguments must be given');\n    else if($.isArray(a1)){\n      // If first argument is an array, remove values from storage for each item of this array\n      for(var i in a1){\n        s.removeItem(a1[i]);\n      }\n      return true;\n    }else if(l==2){\n      // If only 2 arguments, remove value from storage directly\n      s.removeItem(a1);\n      return true;\n    }else{\n      // If more than 2 arguments, parse storage to retrieve final node and remove value\n      // Get first level\n      try{\n        to_store=tmp=JSON.parse(s.getItem(a1));\n      }catch(e){\n        throw new ReferenceError(a1+' is not defined in this storage');\n      }\n      // Parse next levels and remove value\n      for(var i=2;i<l-1;i++){\n        tmp=tmp[a[i]];\n        if(tmp===undefined) throw new ReferenceError([].slice.call(a,1,i).join('.')+' is not defined in this storage');\n      }\n      // If last argument is an array,remove value for each item in this array\n      // Else remove value normally\n      if($.isArray(a[i])){\n        for(var j in a[i]){\n          delete tmp[a[i][j]];\n        }\n      }else{\n        delete tmp[a[i]];\n      }\n      s.setItem(a1,JSON.stringify(to_store));\n      return true;\n    }\n  }\n\n  // Remove all items from a storage\n  function _removeAll(storage, reinit_ns){\n    var keys=_keys(storage);\n    for(var i in keys){\n      _remove(storage,keys[i]);\n    }\n    // Reinitialize all namespace storages\n    if(reinit_ns){\n      for(var i in $.namespaceStorages){\n        _createNamespace(i);\n      }\n    }\n  }\n\n  // Check if items of a storage are empty\n  function _isEmpty(storage){\n    var l=arguments.length,a=arguments,s=window[storage],a1=a[1];\n    if(l==1){\n      // If only one argument, test if storage is empty\n      return (_keys(storage).length==0);\n    }else if($.isArray(a1)){\n      // If first argument is an array, test each item of this array and return true only if all items are empty\n      for(var i=0; i<a1.length;i++){\n        if(!_isEmpty(storage,a1[i])) return false;\n      }\n      return true;\n    }else{\n      // If more than 1 argument, try to get value and test it\n      try{\n        var v=_get.apply(this, arguments);\n        // Convert result to an object (if last argument is an array, _get return already an object) and test each item\n        if(!$.isArray(a[l-1])) v={'totest':v};\n        for(var i in v){\n          if(!(\n            ($.isPlainObject(v[i]) && $.isEmptyObject(v[i])) ||\n            ($.isArray(v[i]) && !v[i].length) ||\n            (!v[i])\n          )) return false;\n        }\n        return true;\n      }catch(e){\n        return true;\n      }\n    }\n  }\n\n  // Check if items of a storage exist\n  function _isSet(storage){\n    var l=arguments.length,a=arguments,s=window[storage],a1=a[1];\n    if(l<2) throw new Error('Minimum 2 arguments must be given');\n    if($.isArray(a1)){\n      // If first argument is an array, test each item of this array and return true only if all items exist\n      for(var i=0; i<a1.length;i++){\n        if(!_isSet(storage,a1[i])) return false;\n      }\n      return true;\n    }else{\n      // For other case, try to get value and test it\n      try{\n        var v=_get.apply(this, arguments);\n        // Convert result to an object (if last argument is an array, _get return already an object) and test each item\n        if(!$.isArray(a[l-1])) v={'totest':v};\n        for(var i in v){\n          if(!(v[i]!==undefined && v[i]!==null)) return false;\n        }\n        return true;\n      }catch(e){\n        return false;\n      }\n    }\n  }\n\n  // Get keys of a storage or of an item of the storage\n  function _keys(storage){\n    var l=arguments.length,s=window[storage],a=arguments,a1=a[1],keys=[],o={};\n    // If more than 1 argument, get value from storage to retrieve keys\n    // Else, use storage to retrieve keys\n    if(l>1){\n      o=_get.apply(this,a);\n    }else{\n      o=s;\n    }\n    if(o._cookie){\n      // If storage is a cookie, use $.cookie to retrieve keys\n      for(var key in $.cookie()){\n        if(key!='') {\n          keys.push(key.replace(o._prefix,''));\n        }\n      }\n    }else{\n      for(var i in o){\n        keys.push(i);\n      }\n    }\n    return keys;\n  }\n\n  // Create new namespace storage\n  function _createNamespace(name){\n    if(!name || typeof name!=\"string\") throw new Error('First parameter must be a string');\n    if(storage_available){\n      if(!window.localStorage.getItem(name)) window.localStorage.setItem(name,'{}');\n      if(!window.sessionStorage.getItem(name)) window.sessionStorage.setItem(name,'{}');\n    }else{\n      if(!window.localCookieStorage.getItem(name)) window.localCookieStorage.setItem(name,'{}');\n      if(!window.sessionCookieStorage.getItem(name)) window.sessionCookieStorage.setItem(name,'{}');\n    }\n    var ns={\n      localStorage:$.extend({},$.localStorage,{_ns:name}),\n      sessionStorage:$.extend({},$.sessionStorage,{_ns:name})\n    };\n    if($.cookie){\n      if(!window.cookieStorage.getItem(name)) window.cookieStorage.setItem(name,'{}');\n      ns.cookieStorage=$.extend({},$.cookieStorage,{_ns:name});\n    }\n    $.namespaceStorages[name]=ns;\n    return ns;\n  }\n\n  // Test if storage is natively available on browser\n  function _testStorage(name){\n    if(!window[name]) return false;\n    var foo='jsapi';\n    try{\n      window[name].setItem(foo,foo);\n      window[name].removeItem(foo);\n      return true;\n    }catch(e){\n      return false;\n    }\n  }\n  \n  // Check if storages are natively available on browser\n  var storage_available=_testStorage('localStorage');\n  \n  // Namespace object\n  var storage={\n    _type:'',\n    _ns:'',\n    _callMethod:function(f,a){\n      var p=[this._type],a=Array.prototype.slice.call(a),a0=a[0];\n      if(this._ns) p.push(this._ns);\n      if(typeof a0==='string' && a0.indexOf('.')!==-1){\n        a.shift();\n        [].unshift.apply(a,a0.split('.'));\n      }\n      [].push.apply(p,a);\n      return f.apply(this,p);\n    },\n    // Get items. If no parameters and storage have a namespace, return all namespace\n    get:function(){\n      return this._callMethod(_get,arguments);\n    },\n    // Set items\n    set:function(){\n      var l=arguments.length,a=arguments,a0=a[0];\n      if(l<1 || !$.isPlainObject(a0) && l<2) throw new Error('Minimum 2 arguments must be given or first parameter must be an object');\n      // If first argument is an object and storage is a namespace storage, set values individually\n      if($.isPlainObject(a0) && this._ns){\n        for(var i in a0){\n          _set(this._type,this._ns,i,a0[i]);\n        }\n        return a0;\n      }else{\n        var r=this._callMethod(_set,a);\n        if(this._ns) return r[a0.split('.')[0]];\n        else return r;\n      }\n    },\n    // Delete items\n    remove:function(){\n      if(arguments.length<1) throw new Error('Minimum 1 argument must be given');\n      return this._callMethod(_remove,arguments);\n    },\n    // Delete all items\n    removeAll:function(reinit_ns){\n      if(this._ns){\n        _set(this._type,this._ns,{});\n        return true;\n      }else{\n        return _removeAll(this._type, reinit_ns);\n      }\n    },\n    // Items empty\n    isEmpty:function(){\n      return this._callMethod(_isEmpty,arguments);\n    },\n    // Items exists\n    isSet:function(){\n      if(arguments.length<1) throw new Error('Minimum 1 argument must be given');\n      return this._callMethod(_isSet,arguments);\n    },\n    // Get keys of items\n    keys:function(){\n      return this._callMethod(_keys,arguments);\n    }\n  };\n\n  // Use jquery.cookie for compatibility with old browsers and give access to cookieStorage\n  if($.cookie){\n    // sessionStorage is valid for one window/tab. To simulate that with cookie, we set a name for the window and use it for the name of the cookie\n    if(!window.name) window.name=Math.floor(Math.random()*100000000);\n    var cookie_storage={\n      _cookie:true,\n      _prefix:'',\n      _expires:null,\n      _path:null,\n      _domain:null,\n      setItem:function(n,v){\n        $.cookie(this._prefix+n,v,{expires:this._expires,path:this._path,domain:this._domain});\n      },\n      getItem:function(n){\n        return $.cookie(this._prefix+n);\n      },\n      removeItem:function(n){\n        return $.removeCookie(this._prefix+n);\n      },\n      clear:function(){\n        for(var key in $.cookie()){\n          if(key!=''){\n            if(!this._prefix && key.indexOf(cookie_local_prefix)===-1 && key.indexOf(cookie_session_prefix)===-1 || this._prefix && key.indexOf(this._prefix)===0) {\n              $.removeCookie(key);\n            }\n          }\n        }\n      },\n      setExpires:function(e){\n        this._expires=e;\n        return this;\n      },\n      setPath:function(p){\n        this._path=p;\n        return this;\n      },\n      setDomain:function(d){\n        this._domain=d;\n        return this;\n      },\n      setConf:function(c){\n        if(c.path) this._path=c.path;\n        if(c.domain) this._domain=c.domain;\n        if(c.expires) this._expires=c.expires;\n        return this;\n      },\n      setDefaultConf:function(){\n        this._path=this._domain=this._expires=null;\n      }\n    };\n    if(!storage_available){\n      window.localCookieStorage=$.extend({},cookie_storage,{_prefix:cookie_local_prefix,_expires:365*10});\n      window.sessionCookieStorage=$.extend({},cookie_storage,{_prefix:cookie_session_prefix+window.name+'_'});\n    }\n    window.cookieStorage=$.extend({},cookie_storage);\n    // cookieStorage API\n    $.cookieStorage=$.extend({},storage,{\n      _type:'cookieStorage',\n      setExpires:function(e){window.cookieStorage.setExpires(e); return this;},\n      setPath:function(p){window.cookieStorage.setPath(p); return this;},\n      setDomain:function(d){window.cookieStorage.setDomain(d); return this;},\n      setConf:function(c){window.cookieStorage.setConf(c); return this;},\n      setDefaultConf:function(){window.cookieStorage.setDefaultConf(); return this;}\n    });\n  }\n\n  // Get a new API on a namespace\n  $.initNamespaceStorage=function(ns){ return _createNamespace(ns); };\n  if(storage_available) {\n    // localStorage API\n    $.localStorage=$.extend({},storage,{_type:'localStorage'});\n    // sessionStorage API\n    $.sessionStorage=$.extend({},storage,{_type:'sessionStorage'});\n  }else{\n    // localStorage API\n    $.localStorage=$.extend({},storage,{_type:'localCookieStorage'});\n    // sessionStorage API\n    $.sessionStorage=$.extend({},storage,{_type:'sessionCookieStorage'});\n  }\n  // List of all namespace storage\n  $.namespaceStorages={};\n  // Remove all items in all storages\n  $.removeAllStorages=function(reinit_ns){\n    $.localStorage.removeAll(reinit_ns);\n    $.sessionStorage.removeAll(reinit_ns);\n    if($.cookieStorage) $.cookieStorage.removeAll(reinit_ns);\n    if(!reinit_ns){\n      $.namespaceStorages={};\n    }\n  }\n}));\n"
  },
  {
    "path": "doc/_static/pygments.css",
    "content": ".highlight .hll { background-color: #ffffcc }\n.highlight  { background: #eeffcc; }\n.highlight .c { color: #408090; font-style: italic } /* Comment */\n.highlight .err { border: 1px solid #FF0000 } /* Error */\n.highlight .k { color: #007020; font-weight: bold } /* Keyword */\n.highlight .o { color: #666666 } /* Operator */\n.highlight .cm { color: #408090; font-style: italic } /* Comment.Multiline */\n.highlight .cp { color: #007020 } /* Comment.Preproc */\n.highlight .c1 { color: #408090; font-style: italic } /* Comment.Single */\n.highlight .cs { color: #408090; background-color: #fff0f0 } /* Comment.Special */\n.highlight .gd { color: #A00000 } /* Generic.Deleted */\n.highlight .ge { font-style: italic } /* Generic.Emph */\n.highlight .gr { color: #FF0000 } /* Generic.Error */\n.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */\n.highlight .gi { color: #00A000 } /* Generic.Inserted */\n.highlight .go { color: #333333 } /* Generic.Output */\n.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */\n.highlight .gs { font-weight: bold } /* Generic.Strong */\n.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */\n.highlight .gt { color: #0044DD } /* Generic.Traceback */\n.highlight .kc { color: #007020; font-weight: bold } /* Keyword.Constant */\n.highlight .kd { color: #007020; font-weight: bold } /* Keyword.Declaration */\n.highlight .kn { color: #007020; font-weight: bold } /* Keyword.Namespace */\n.highlight .kp { color: #007020 } /* Keyword.Pseudo */\n.highlight .kr { color: #007020; font-weight: bold } /* Keyword.Reserved */\n.highlight .kt { color: #902000 } /* Keyword.Type */\n.highlight .m { color: #208050 } /* Literal.Number */\n.highlight .s { color: #4070a0 } /* Literal.String */\n.highlight .na { color: #4070a0 } /* Name.Attribute */\n.highlight .nb { color: #007020 } /* Name.Builtin */\n.highlight .nc { color: #0e84b5; font-weight: bold } /* Name.Class */\n.highlight .no { color: #60add5 } /* Name.Constant */\n.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */\n.highlight .ni { color: #d55537; font-weight: bold } /* Name.Entity */\n.highlight .ne { color: #007020 } /* Name.Exception */\n.highlight .nf { color: #06287e } /* Name.Function */\n.highlight .nl { color: #002070; font-weight: bold } /* Name.Label */\n.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */\n.highlight .nt { color: #062873; font-weight: bold } /* Name.Tag */\n.highlight .nv { color: #bb60d5 } /* Name.Variable */\n.highlight .ow { color: #007020; font-weight: bold } /* Operator.Word */\n.highlight .w { color: #bbbbbb } /* Text.Whitespace */\n.highlight .mf { color: #208050 } /* Literal.Number.Float */\n.highlight .mh { color: #208050 } /* Literal.Number.Hex */\n.highlight .mi { color: #208050 } /* Literal.Number.Integer */\n.highlight .mo { color: #208050 } /* Literal.Number.Oct */\n.highlight .sb { color: #4070a0 } /* Literal.String.Backtick */\n.highlight .sc { color: #4070a0 } /* Literal.String.Char */\n.highlight .sd { color: #4070a0; font-style: italic } /* Literal.String.Doc */\n.highlight .s2 { color: #4070a0 } /* Literal.String.Double */\n.highlight .se { color: #4070a0; font-weight: bold } /* Literal.String.Escape */\n.highlight .sh { color: #4070a0 } /* Literal.String.Heredoc */\n.highlight .si { color: #70a0d0; font-style: italic } /* Literal.String.Interpol */\n.highlight .sx { color: #c65d09 } /* Literal.String.Other */\n.highlight .sr { color: #235388 } /* Literal.String.Regex */\n.highlight .s1 { color: #4070a0 } /* Literal.String.Single */\n.highlight .ss { color: #517918 } /* Literal.String.Symbol */\n.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */\n.highlight .vc { color: #bb60d5 } /* Name.Variable.Class */\n.highlight .vg { color: #bb60d5 } /* Name.Variable.Global */\n.highlight .vi { color: #bb60d5 } /* Name.Variable.Instance */\n.highlight .il { color: #208050 } /* Literal.Number.Integer.Long */"
  },
  {
    "path": "doc/_static/searchtools.js",
    "content": "/*\n * searchtools.js_t\n * ~~~~~~~~~~~~~~~~\n *\n * Sphinx JavaScript utilties for the full-text search.\n *\n * :copyright: Copyright 2007-2013 by the Sphinx team, see AUTHORS.\n * :license: BSD, see LICENSE for details.\n *\n */\n\n\n/**\n * Porter Stemmer\n */\nvar Stemmer = function() {\n\n  var step2list = {\n    ational: 'ate',\n    tional: 'tion',\n    enci: 'ence',\n    anci: 'ance',\n    izer: 'ize',\n    bli: 'ble',\n    alli: 'al',\n    entli: 'ent',\n    eli: 'e',\n    ousli: 'ous',\n    ization: 'ize',\n    ation: 'ate',\n    ator: 'ate',\n    alism: 'al',\n    iveness: 'ive',\n    fulness: 'ful',\n    ousness: 'ous',\n    aliti: 'al',\n    iviti: 'ive',\n    biliti: 'ble',\n    logi: 'log'\n  };\n\n  var step3list = {\n    icate: 'ic',\n    ative: '',\n    alize: 'al',\n    iciti: 'ic',\n    ical: 'ic',\n    ful: '',\n    ness: ''\n  };\n\n  var c = \"[^aeiou]\";          // consonant\n  var v = \"[aeiouy]\";          // vowel\n  var C = c + \"[^aeiouy]*\";    // consonant sequence\n  var V = v + \"[aeiou]*\";      // vowel sequence\n\n  var mgr0 = \"^(\" + C + \")?\" + V + C;                      // [C]VC... is m>0\n  var meq1 = \"^(\" + C + \")?\" + V + C + \"(\" + V + \")?$\";    // [C]VC[V] is m=1\n  var mgr1 = \"^(\" + C + \")?\" + V + C + V + C;              // [C]VCVC... is m>1\n  var s_v   = \"^(\" + C + \")?\" + v;                         // vowel in stem\n\n  this.stemWord = function (w) {\n    var stem;\n    var suffix;\n    var firstch;\n    var origword = w;\n\n    if (w.length < 3)\n      return w;\n\n    var re;\n    var re2;\n    var re3;\n    var re4;\n\n    firstch = w.substr(0,1);\n    if (firstch == \"y\")\n      w = firstch.toUpperCase() + w.substr(1);\n\n    // Step 1a\n    re = /^(.+?)(ss|i)es$/;\n    re2 = /^(.+?)([^s])s$/;\n\n    if (re.test(w))\n      w = w.replace(re,\"$1$2\");\n    else if (re2.test(w))\n      w = w.replace(re2,\"$1$2\");\n\n    // Step 1b\n    re = /^(.+?)eed$/;\n    re2 = /^(.+?)(ed|ing)$/;\n    if (re.test(w)) {\n      var fp = re.exec(w);\n      re = new RegExp(mgr0);\n      if (re.test(fp[1])) {\n        re = /.$/;\n        w = w.replace(re,\"\");\n      }\n    }\n    else if (re2.test(w)) {\n      var fp = re2.exec(w);\n      stem = fp[1];\n      re2 = new RegExp(s_v);\n      if (re2.test(stem)) {\n        w = stem;\n        re2 = /(at|bl|iz)$/;\n        re3 = new RegExp(\"([^aeiouylsz])\\\\1$\");\n        re4 = new RegExp(\"^\" + C + v + \"[^aeiouwxy]$\");\n        if (re2.test(w))\n          w = w + \"e\";\n        else if (re3.test(w)) {\n          re = /.$/;\n          w = w.replace(re,\"\");\n        }\n        else if (re4.test(w))\n          w = w + \"e\";\n      }\n    }\n\n    // Step 1c\n    re = /^(.+?)y$/;\n    if (re.test(w)) {\n      var fp = re.exec(w);\n      stem = fp[1];\n      re = new RegExp(s_v);\n      if (re.test(stem))\n        w = stem + \"i\";\n    }\n\n    // Step 2\n    re = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/;\n    if (re.test(w)) {\n      var fp = re.exec(w);\n      stem = fp[1];\n      suffix = fp[2];\n      re = new RegExp(mgr0);\n      if (re.test(stem))\n        w = stem + step2list[suffix];\n    }\n\n    // Step 3\n    re = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/;\n    if (re.test(w)) {\n      var fp = re.exec(w);\n      stem = fp[1];\n      suffix = fp[2];\n      re = new RegExp(mgr0);\n      if (re.test(stem))\n        w = stem + step3list[suffix];\n    }\n\n    // Step 4\n    re = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/;\n    re2 = /^(.+?)(s|t)(ion)$/;\n    if (re.test(w)) {\n      var fp = re.exec(w);\n      stem = fp[1];\n      re = new RegExp(mgr1);\n      if (re.test(stem))\n        w = stem;\n    }\n    else if (re2.test(w)) {\n      var fp = re2.exec(w);\n      stem = fp[1] + fp[2];\n      re2 = new RegExp(mgr1);\n      if (re2.test(stem))\n        w = stem;\n    }\n\n    // Step 5\n    re = /^(.+?)e$/;\n    if (re.test(w)) {\n      var fp = re.exec(w);\n      stem = fp[1];\n      re = new RegExp(mgr1);\n      re2 = new RegExp(meq1);\n      re3 = new RegExp(\"^\" + C + v + \"[^aeiouwxy]$\");\n      if (re.test(stem) || (re2.test(stem) && !(re3.test(stem))))\n        w = stem;\n    }\n    re = /ll$/;\n    re2 = new RegExp(mgr1);\n    if (re.test(w) && re2.test(w)) {\n      re = /.$/;\n      w = w.replace(re,\"\");\n    }\n\n    // and turn initial Y back to y\n    if (firstch == \"y\")\n      w = firstch.toLowerCase() + w.substr(1);\n    return w;\n  }\n}\n\n\n\n/**\n * Simple result scoring code.\n */\nvar Scorer = {\n  // Implement the following function to further tweak the score for each result\n  // The function takes a result array [filename, title, anchor, descr, score]\n  // and returns the new score.\n  /*\n  score: function(result) {\n    return result[4];\n  },\n  */\n\n  // query matches the full name of an object\n  objNameMatch: 11,\n  // or matches in the last dotted part of the object name\n  objPartialMatch: 6,\n  // Additive scores depending on the priority of the object\n  objPrio: {0:  15,   // used to be importantResults\n            1:  5,   // used to be objectResults\n            2: -5},  // used to be unimportantResults\n  //  Used when the priority is not in the mapping.\n  objPrioDefault: 0,\n\n  // query found in title\n  title: 15,\n  // query found in terms\n  term: 5\n};\n\n\n/**\n * Search Module\n */\nvar Search = {\n\n  _index : null,\n  _queued_query : null,\n  _pulse_status : -1,\n\n  init : function() {\n      var params = $.getQueryParameters();\n      if (params.q) {\n          var query = params.q[0];\n          $('input[name=\"q\"]')[0].value = query;\n          this.performSearch(query);\n      }\n  },\n\n  loadIndex : function(url) {\n    $.ajax({type: \"GET\", url: url, data: null,\n            dataType: \"script\", cache: true,\n            complete: function(jqxhr, textstatus) {\n              if (textstatus != \"success\") {\n                document.getElementById(\"searchindexloader\").src = url;\n              }\n            }});\n  },\n\n  setIndex : function(index) {\n    var q;\n    this._index = index;\n    if ((q = this._queued_query) !== null) {\n      this._queued_query = null;\n      Search.query(q);\n    }\n  },\n\n  hasIndex : function() {\n      return this._index !== null;\n  },\n\n  deferQuery : function(query) {\n      this._queued_query = query;\n  },\n\n  stopPulse : function() {\n      this._pulse_status = 0;\n  },\n\n  startPulse : function() {\n    if (this._pulse_status >= 0)\n        return;\n    function pulse() {\n      var i;\n      Search._pulse_status = (Search._pulse_status + 1) % 4;\n      var dotString = '';\n      for (i = 0; i < Search._pulse_status; i++)\n        dotString += '.';\n      Search.dots.text(dotString);\n      if (Search._pulse_status > -1)\n        window.setTimeout(pulse, 500);\n    }\n    pulse();\n  },\n\n  /**\n   * perform a search for something (or wait until index is loaded)\n   */\n  performSearch : function(query) {\n    // create the required interface elements\n    this.out = $('#search-results');\n    this.title = $('<h2>' + _('Searching') + '</h2>').appendTo(this.out);\n    this.dots = $('<span></span>').appendTo(this.title);\n    this.status = $('<p style=\"display: none\"></p>').appendTo(this.out);\n    this.output = $('<ul class=\"search\"/>').appendTo(this.out);\n\n    $('#search-progress').text(_('Preparing search...'));\n    this.startPulse();\n\n    // index already loaded, the browser was quick!\n    if (this.hasIndex())\n      this.query(query);\n    else\n      this.deferQuery(query);\n  },\n\n  /**\n   * execute search (requires search index to be loaded)\n   */\n  query : function(query) {\n    var i;\n    var stopwords = [\"a\",\"and\",\"are\",\"as\",\"at\",\"be\",\"but\",\"by\",\"for\",\"if\",\"in\",\"into\",\"is\",\"it\",\"near\",\"no\",\"not\",\"of\",\"on\",\"or\",\"such\",\"that\",\"the\",\"their\",\"then\",\"there\",\"these\",\"they\",\"this\",\"to\",\"was\",\"will\",\"with\"];\n\n    // stem the searchterms and add them to the correct list\n    var stemmer = new Stemmer();\n    var searchterms = [];\n    var excluded = [];\n    var hlterms = [];\n    var tmp = query.split(/\\s+/);\n    var objectterms = [];\n    for (i = 0; i < tmp.length; i++) {\n      if (tmp[i] !== \"\") {\n          objectterms.push(tmp[i].toLowerCase());\n      }\n\n      if ($u.indexOf(stopwords, tmp[i]) != -1 || tmp[i].match(/^\\d+$/) ||\n          tmp[i] === \"\") {\n        // skip this \"word\"\n        continue;\n      }\n      // stem the word\n      var word = stemmer.stemWord(tmp[i]).toLowerCase();\n      var toAppend;\n      // select the correct list\n      if (word[0] == '-') {\n        toAppend = excluded;\n        word = word.substr(1);\n      }\n      else {\n        toAppend = searchterms;\n        hlterms.push(tmp[i].toLowerCase());\n      }\n      // only add if not already in the list\n      if (!$u.contains(toAppend, word))\n        toAppend.push(word);\n    }\n    var highlightstring = '?highlight=' + $.urlencode(hlterms.join(\" \"));\n\n    // console.debug('SEARCH: searching for:');\n    // console.info('required: ', searchterms);\n    // console.info('excluded: ', excluded);\n\n    // prepare search\n    var terms = this._index.terms;\n    var titleterms = this._index.titleterms;\n\n    // array of [filename, title, anchor, descr, score]\n    var results = [];\n    $('#search-progress').empty();\n\n    // lookup as object\n    for (i = 0; i < objectterms.length; i++) {\n      var others = [].concat(objectterms.slice(0, i),\n                             objectterms.slice(i+1, objectterms.length));\n      results = results.concat(this.performObjectSearch(objectterms[i], others));\n    }\n\n    // lookup as search terms in fulltext\n    results = results.concat(this.performTermsSearch(searchterms, excluded, terms, Scorer.term))\n                     .concat(this.performTermsSearch(searchterms, excluded, titleterms, Scorer.title));\n\n    // let the scorer override scores with a custom scoring function\n    if (Scorer.score) {\n      for (i = 0; i < results.length; i++)\n        results[i][4] = Scorer.score(results[i]);\n    }\n\n    // now sort the results by score (in opposite order of appearance, since the\n    // display function below uses pop() to retrieve items) and then\n    // alphabetically\n    results.sort(function(a, b) {\n      var left = a[4];\n      var right = b[4];\n      if (left > right) {\n        return 1;\n      } else if (left < right) {\n        return -1;\n      } else {\n        // same score: sort alphabetically\n        left = a[1].toLowerCase();\n        right = b[1].toLowerCase();\n        return (left > right) ? -1 : ((left < right) ? 1 : 0);\n      }\n    });\n\n    // for debugging\n    //Search.lastresults = results.slice();  // a copy\n    //console.info('search results:', Search.lastresults);\n\n    // print the results\n    var resultCount = results.length;\n    function displayNextItem() {\n      // results left, load the summary and display it\n      if (results.length) {\n        var item = results.pop();\n        var listItem = $('<li style=\"display:none\"></li>');\n        if (DOCUMENTATION_OPTIONS.FILE_SUFFIX === '') {\n          // dirhtml builder\n          var dirname = item[0] + '/';\n          if (dirname.match(/\\/index\\/$/)) {\n            dirname = dirname.substring(0, dirname.length-6);\n          } else if (dirname == 'index/') {\n            dirname = '';\n          }\n          listItem.append($('<a/>').attr('href',\n            DOCUMENTATION_OPTIONS.URL_ROOT + dirname +\n            highlightstring + item[2]).html(item[1]));\n        } else {\n          // normal html builders\n          listItem.append($('<a/>').attr('href',\n            item[0] + DOCUMENTATION_OPTIONS.FILE_SUFFIX +\n            highlightstring + item[2]).html(item[1]));\n        }\n        if (item[3]) {\n          listItem.append($('<span> (' + item[3] + ')</span>'));\n          Search.output.append(listItem);\n          listItem.slideDown(5, function() {\n            displayNextItem();\n          });\n        } else if (DOCUMENTATION_OPTIONS.HAS_SOURCE) {\n          $.ajax({url: DOCUMENTATION_OPTIONS.URL_ROOT + '_sources/' + item[0] + '.txt',\n                  dataType: \"text\",\n                  complete: function(jqxhr, textstatus) {\n                    var data = jqxhr.responseText;\n                    if (data !== '') {\n                      listItem.append(Search.makeSearchSummary(data, searchterms, hlterms));\n                    }\n                    Search.output.append(listItem);\n                    listItem.slideDown(5, function() {\n                      displayNextItem();\n                    });\n                  }});\n        } else {\n          // no source available, just display title\n          Search.output.append(listItem);\n          listItem.slideDown(5, function() {\n            displayNextItem();\n          });\n        }\n      }\n      // search finished, update title and status message\n      else {\n        Search.stopPulse();\n        Search.title.text(_('Search Results'));\n        if (!resultCount)\n          Search.status.text(_('Your search did not match any documents. Please make sure that all words are spelled correctly and that you\\'ve selected enough categories.'));\n        else\n            Search.status.text(_('Search finished, found %s page(s) matching the search query.').replace('%s', resultCount));\n        Search.status.fadeIn(500);\n      }\n    }\n    displayNextItem();\n  },\n\n  /**\n   * search for object names\n   */\n  performObjectSearch : function(object, otherterms) {\n    var filenames = this._index.filenames;\n    var objects = this._index.objects;\n    var objnames = this._index.objnames;\n    var titles = this._index.titles;\n\n    var i;\n    var results = [];\n\n    for (var prefix in objects) {\n      for (var name in objects[prefix]) {\n        var fullname = (prefix ? prefix + '.' : '') + name;\n        if (fullname.toLowerCase().indexOf(object) > -1) {\n          var score = 0;\n          var parts = fullname.split('.');\n          // check for different match types: exact matches of full name or\n          // \"last name\" (i.e. last dotted part)\n          if (fullname == object || parts[parts.length - 1] == object) {\n            score += Scorer.objNameMatch;\n          // matches in last name\n          } else if (parts[parts.length - 1].indexOf(object) > -1) {\n            score += Scorer.objPartialMatch;\n          }\n          var match = objects[prefix][name];\n          var objname = objnames[match[1]][2];\n          var title = titles[match[0]];\n          // If more than one term searched for, we require other words to be\n          // found in the name/title/description\n          if (otherterms.length > 0) {\n            var haystack = (prefix + ' ' + name + ' ' +\n                            objname + ' ' + title).toLowerCase();\n            var allfound = true;\n            for (i = 0; i < otherterms.length; i++) {\n              if (haystack.indexOf(otherterms[i]) == -1) {\n                allfound = false;\n                break;\n              }\n            }\n            if (!allfound) {\n              continue;\n            }\n          }\n          var descr = objname + _(', in ') + title;\n\n          var anchor = match[3];\n          if (anchor === '')\n            anchor = fullname;\n          else if (anchor == '-')\n            anchor = objnames[match[1]][1] + '-' + fullname;\n          // add custom score for some objects according to scorer\n          if (Scorer.objPrio.hasOwnProperty(match[2])) {\n            score += Scorer.objPrio[match[2]];\n          } else {\n            score += Scorer.objPrioDefault;\n          }\n          results.push([filenames[match[0]], fullname, '#'+anchor, descr, score]);\n        }\n      }\n    }\n\n    return results;\n  },\n\n  /**\n   * search for full-text terms in the index\n   */\n  performTermsSearch : function(searchterms, excluded, terms, score) {\n    var filenames = this._index.filenames;\n    var titles = this._index.titles;\n\n    var i, j, file, files;\n    var fileMap = {};\n    var results = [];\n\n    // perform the search on the required terms\n    for (i = 0; i < searchterms.length; i++) {\n      var word = searchterms[i];\n      // no match but word was a required one\n      if ((files = terms[word]) === undefined)\n        break;\n      if (files.length === undefined) {\n        files = [files];\n      }\n      // create the mapping\n      for (j = 0; j < files.length; j++) {\n        file = files[j];\n        if (file in fileMap)\n          fileMap[file].push(word);\n        else\n          fileMap[file] = [word];\n      }\n    }\n\n    // now check if the files don't contain excluded terms\n    for (file in fileMap) {\n      var valid = true;\n\n      // check if all requirements are matched\n      if (fileMap[file].length != searchterms.length)\n          continue;\n\n      // ensure that none of the excluded terms is in the search result\n      for (i = 0; i < excluded.length; i++) {\n        if (terms[excluded[i]] == file ||\n          $u.contains(terms[excluded[i]] || [], file)) {\n          valid = false;\n          break;\n        }\n      }\n\n      // if we have still a valid result we can add it to the result list\n      if (valid) {\n        results.push([filenames[file], titles[file], '', null, score]);\n      }\n    }\n    return results;\n  },\n\n  /**\n   * helper function to return a node containing the\n   * search summary for a given text. keywords is a list\n   * of stemmed words, hlwords is the list of normal, unstemmed\n   * words. the first one is used to find the occurance, the\n   * latter for highlighting it.\n   */\n  makeSearchSummary : function(text, keywords, hlwords) {\n    var textLower = text.toLowerCase();\n    var start = 0;\n    $.each(keywords, function() {\n      var i = textLower.indexOf(this.toLowerCase());\n      if (i > -1)\n        start = i;\n    });\n    start = Math.max(start - 120, 0);\n    var excerpt = ((start > 0) ? '...' : '') +\n      $.trim(text.substr(start, 240)) +\n      ((start + 240 - text.length) ? '...' : '');\n    var rv = $('<div class=\"context\"></div>').text(excerpt);\n    $.each(hlwords, function() {\n      rv = rv.highlightText(this, 'highlighted');\n    });\n    return rv;\n  }\n};\n\n$(document).ready(function() {\n  Search.init();\n});"
  },
  {
    "path": "doc/_static/sidebar.js",
    "content": "/*\n * sidebar.js\n * ~~~~~~~~~~\n *\n * This script makes the Sphinx sidebar collapsible.\n *\n * .sphinxsidebar contains .sphinxsidebarwrapper.  This script adds\n * in .sphixsidebar, after .sphinxsidebarwrapper, the #sidebarbutton\n * used to collapse and expand the sidebar.\n *\n * When the sidebar is collapsed the .sphinxsidebarwrapper is hidden\n * and the width of the sidebar and the margin-left of the document\n * are decreased. When the sidebar is expanded the opposite happens.\n * This script saves a per-browser/per-session cookie used to\n * remember the position of the sidebar among the pages.\n * Once the browser is closed the cookie is deleted and the position\n * reset to the default (expanded).\n *\n * :copyright: Copyright 2007-2013 by the Sphinx team, see AUTHORS.\n * :license: BSD, see LICENSE for details.\n *\n */\n\n$(function() {\n  \n  \n  \n  \n  \n  \n  \n\n  // global elements used by the functions.\n  // the 'sidebarbutton' element is defined as global after its\n  // creation, in the add_sidebar_button function\n  var bodywrapper = $('.bodywrapper');\n  var sidebar = $('.sphinxsidebar');\n  var sidebarwrapper = $('.sphinxsidebarwrapper');\n\n  // for some reason, the document has no sidebar; do not run into errors\n  if (!sidebar.length) return;\n\n  // original margin-left of the bodywrapper and width of the sidebar\n  // with the sidebar expanded\n  var bw_margin_expanded = bodywrapper.css('margin-left');\n  var ssb_width_expanded = sidebar.width();\n\n  // margin-left of the bodywrapper and width of the sidebar\n  // with the sidebar collapsed\n  var bw_margin_collapsed = '.8em';\n  var ssb_width_collapsed = '.8em';\n\n  // colors used by the current theme\n  var dark_color = $('.related').css('background-color');\n  var light_color = $('.document').css('background-color');\n\n  function sidebar_is_collapsed() {\n    return sidebarwrapper.is(':not(:visible)');\n  }\n\n  function toggle_sidebar() {\n    if (sidebar_is_collapsed())\n      expand_sidebar();\n    else\n      collapse_sidebar();\n  }\n\n  function collapse_sidebar() {\n    sidebarwrapper.hide();\n    sidebar.css('width', ssb_width_collapsed);\n    bodywrapper.css('margin-left', bw_margin_collapsed);\n    sidebarbutton.css({\n        'margin-left': '0',\n        'height': bodywrapper.height()\n    });\n    sidebarbutton.find('span').text('»');\n    sidebarbutton.attr('title', _('Expand sidebar'));\n    document.cookie = 'sidebar=collapsed';\n  }\n\n  function expand_sidebar() {\n    bodywrapper.css('margin-left', bw_margin_expanded);\n    sidebar.css('width', ssb_width_expanded);\n    sidebarwrapper.show();\n    sidebarbutton.css({\n        'margin-left': ssb_width_expanded-12,\n        'height': bodywrapper.height()\n    });\n    sidebarbutton.find('span').text('«');\n    sidebarbutton.attr('title', _('Collapse sidebar'));\n    document.cookie = 'sidebar=expanded';\n  }\n\n  function add_sidebar_button() {\n    sidebarwrapper.css({\n        'float': 'left',\n        'margin-right': '0',\n        'width': ssb_width_expanded - 28\n    });\n    // create the button\n    sidebar.append(\n        '<div id=\"sidebarbutton\"><span>&laquo;</span></div>'\n    );\n    var sidebarbutton = $('#sidebarbutton');\n    light_color = sidebarbutton.css('background-color');\n    // find the height of the viewport to center the '<<' in the page\n    var viewport_height;\n    if (window.innerHeight)\n \t  viewport_height = window.innerHeight;\n    else\n\t  viewport_height = $(window).height();\n    sidebarbutton.find('span').css({\n        'display': 'block',\n        'margin-top': (viewport_height - sidebar.position().top - 20) / 2\n    });\n\n    sidebarbutton.click(toggle_sidebar);\n    sidebarbutton.attr('title', _('Collapse sidebar'));\n    sidebarbutton.css({\n        'color': '#FFFFFF',\n        'border-left': '1px solid ' + dark_color,\n        'font-size': '1.2em',\n        'cursor': 'pointer',\n        'height': bodywrapper.height(),\n        'padding-top': '1px',\n        'margin-left': ssb_width_expanded - 12\n    });\n\n    sidebarbutton.hover(\n      function () {\n          $(this).css('background-color', dark_color);\n      },\n      function () {\n          $(this).css('background-color', light_color);\n      }\n    );\n  }\n\n  function set_position_from_cookie() {\n    if (!document.cookie)\n      return;\n    var items = document.cookie.split(';');\n    for(var k=0; k<items.length; k++) {\n      var key_val = items[k].split('=');\n      var key = key_val[0].replace(/ /, \"\");  // strip leading spaces\n      if (key == 'sidebar') {\n        var value = key_val[1];\n        if ((value == 'collapsed') && (!sidebar_is_collapsed()))\n          collapse_sidebar();\n        else if ((value == 'expanded') && (sidebar_is_collapsed()))\n          expand_sidebar();\n      }\n    }\n  }\n\n  add_sidebar_button();\n  var sidebarbutton = $('#sidebarbutton');\n  set_position_from_cookie();\n});"
  },
  {
    "path": "doc/_static/styleguide.css",
    "content": "body {\n  background-color: #fcfcfc;\n}\n.example {\n  padding: 20px;\n  border: 1px solid #efefef;\n}\n.doc-section {\n  padding-top: 60px;\n  margin-top: -60px;\n}\n/*\n * Side navigation\n *\n * Scrollspy and affixed enhanced navigation to highlight sections and secondary\n * sections of docs content.\n */\n/* By default it's not affixed in mobile views, so undo that */\n.bs-sidebar.affix {\n  position: static;\n}\n/* First level of nav */\n.bs-sidenav {\n  padding-top: 10px;\n  padding-bottom: 10px;\n  text-shadow: 0 1px 0 #fff;\n  background-color: #f7f5fa;\n  border-radius: 5px;\n}\n/* All levels of nav */\n.bs-sidebar .nav > li > a {\n  display: block;\n  color: #716b7a;\n  padding: 5px 20px;\n}\n.bs-sidebar .nav > li > a:hover,\n.bs-sidebar .nav > li > a:focus {\n  text-decoration: none;\n  background-color: #e5e3e9;\n  border-right: 1px solid #dbd8e0;\n}\n.bs-sidebar .nav > .active > a,\n.bs-sidebar .nav > .active:hover > a,\n.bs-sidebar .nav > .active:focus > a {\n  font-weight: bold;\n  color: #563d7c;\n  background-color: transparent;\n  border-right: 1px solid #563d7c;\n}\n/* Nav: second level (shown on .active) */\n.bs-sidebar .nav .nav {\n  margin-bottom: 8px;\n}\n.bs-sidebar .nav .nav > li > a {\n  padding-top: 3px;\n  padding-bottom: 3px;\n  padding-left: 30px;\n  font-size: 90%;\n}\n/* Show and affix the side nav when space allows it */\n@media (min-width: 992px) {\n  .bs-sidebar .nav > .active > ul {\n    display: block;\n  }\n  /* Widen the fixed sidebar */\n  .bs-sidebar.affix,\n  .bs-sidebar.affix-bottom {\n    width: 213px;\n  }\n  .bs-sidebar.affix {\n    position: fixed;\n    /* Undo the static from mobile first approach */\n    top: 80px;\n  }\n  .bs-sidebar.affix-bottom {\n    position: absolute;\n    /* Undo the static from mobile first approach */\n  }\n  .bs-sidebar.affix-bottom .bs-sidenav,\n  .bs-sidebar.affix .bs-sidenav {\n    margin-top: 0;\n    margin-bottom: 0;\n  }\n}\n@media (min-width: 1200px) {\n  /* Widen the fixed sidebar again */\n  .bs-sidebar.affix-bottom,\n  .bs-sidebar.affix {\n    width: 263px;\n  }\n}\n.show-grid {\n  margin-bottom: 15px;\n}\n.show-grid [class^=\"col-\"] {\n  padding-top: 10px;\n  padding-bottom: 10px;\n  background-color: #eee;\n  border: 1px solid #ddd;\n  background-color: rgba(86, 61, 124, 0.15);\n  border: 1px solid rgba(86, 61, 124, 0.2);\n}\n"
  },
  {
    "path": "doc/_static/underscore.js",
    "content": "// Underscore.js 1.3.1\n// (c) 2009-2012 Jeremy Ashkenas, DocumentCloud Inc.\n// Underscore is freely distributable under the MIT license.\n// Portions of Underscore are inspired or borrowed from Prototype,\n// Oliver Steele's Functional, and John Resig's Micro-Templating.\n// For all details and documentation:\n// http://documentcloud.github.com/underscore\n(function(){function q(a,c,d){if(a===c)return a!==0||1/a==1/c;if(a==null||c==null)return a===c;if(a._chain)a=a._wrapped;if(c._chain)c=c._wrapped;if(a.isEqual&&b.isFunction(a.isEqual))return a.isEqual(c);if(c.isEqual&&b.isFunction(c.isEqual))return c.isEqual(a);var e=l.call(a);if(e!=l.call(c))return false;switch(e){case \"[object String]\":return a==String(c);case \"[object Number]\":return a!=+a?c!=+c:a==0?1/a==1/c:a==+c;case \"[object Date]\":case \"[object Boolean]\":return+a==+c;case \"[object RegExp]\":return a.source==\nc.source&&a.global==c.global&&a.multiline==c.multiline&&a.ignoreCase==c.ignoreCase}if(typeof a!=\"object\"||typeof c!=\"object\")return false;for(var f=d.length;f--;)if(d[f]==a)return true;d.push(a);var f=0,g=true;if(e==\"[object Array]\"){if(f=a.length,g=f==c.length)for(;f--;)if(!(g=f in a==f in c&&q(a[f],c[f],d)))break}else{if(\"constructor\"in a!=\"constructor\"in c||a.constructor!=c.constructor)return false;for(var h in a)if(b.has(a,h)&&(f++,!(g=b.has(c,h)&&q(a[h],c[h],d))))break;if(g){for(h in c)if(b.has(c,\nh)&&!f--)break;g=!f}}d.pop();return g}var r=this,G=r._,n={},k=Array.prototype,o=Object.prototype,i=k.slice,H=k.unshift,l=o.toString,I=o.hasOwnProperty,w=k.forEach,x=k.map,y=k.reduce,z=k.reduceRight,A=k.filter,B=k.every,C=k.some,p=k.indexOf,D=k.lastIndexOf,o=Array.isArray,J=Object.keys,s=Function.prototype.bind,b=function(a){return new m(a)};if(typeof exports!==\"undefined\"){if(typeof module!==\"undefined\"&&module.exports)exports=module.exports=b;exports._=b}else r._=b;b.VERSION=\"1.3.1\";var j=b.each=\nb.forEach=function(a,c,d){if(a!=null)if(w&&a.forEach===w)a.forEach(c,d);else if(a.length===+a.length)for(var e=0,f=a.length;e<f;e++){if(e in a&&c.call(d,a[e],e,a)===n)break}else for(e in a)if(b.has(a,e)&&c.call(d,a[e],e,a)===n)break};b.map=b.collect=function(a,c,b){var e=[];if(a==null)return e;if(x&&a.map===x)return a.map(c,b);j(a,function(a,g,h){e[e.length]=c.call(b,a,g,h)});if(a.length===+a.length)e.length=a.length;return e};b.reduce=b.foldl=b.inject=function(a,c,d,e){var f=arguments.length>2;a==\nnull&&(a=[]);if(y&&a.reduce===y)return e&&(c=b.bind(c,e)),f?a.reduce(c,d):a.reduce(c);j(a,function(a,b,i){f?d=c.call(e,d,a,b,i):(d=a,f=true)});if(!f)throw new TypeError(\"Reduce of empty array with no initial value\");return d};b.reduceRight=b.foldr=function(a,c,d,e){var f=arguments.length>2;a==null&&(a=[]);if(z&&a.reduceRight===z)return e&&(c=b.bind(c,e)),f?a.reduceRight(c,d):a.reduceRight(c);var g=b.toArray(a).reverse();e&&!f&&(c=b.bind(c,e));return f?b.reduce(g,c,d,e):b.reduce(g,c)};b.find=b.detect=\nfunction(a,c,b){var e;E(a,function(a,g,h){if(c.call(b,a,g,h))return e=a,true});return e};b.filter=b.select=function(a,c,b){var e=[];if(a==null)return e;if(A&&a.filter===A)return a.filter(c,b);j(a,function(a,g,h){c.call(b,a,g,h)&&(e[e.length]=a)});return e};b.reject=function(a,c,b){var e=[];if(a==null)return e;j(a,function(a,g,h){c.call(b,a,g,h)||(e[e.length]=a)});return e};b.every=b.all=function(a,c,b){var e=true;if(a==null)return e;if(B&&a.every===B)return a.every(c,b);j(a,function(a,g,h){if(!(e=\ne&&c.call(b,a,g,h)))return n});return e};var E=b.some=b.any=function(a,c,d){c||(c=b.identity);var e=false;if(a==null)return e;if(C&&a.some===C)return a.some(c,d);j(a,function(a,b,h){if(e||(e=c.call(d,a,b,h)))return n});return!!e};b.include=b.contains=function(a,c){var b=false;if(a==null)return b;return p&&a.indexOf===p?a.indexOf(c)!=-1:b=E(a,function(a){return a===c})};b.invoke=function(a,c){var d=i.call(arguments,2);return b.map(a,function(a){return(b.isFunction(c)?c||a:a[c]).apply(a,d)})};b.pluck=\nfunction(a,c){return b.map(a,function(a){return a[c]})};b.max=function(a,c,d){if(!c&&b.isArray(a))return Math.max.apply(Math,a);if(!c&&b.isEmpty(a))return-Infinity;var e={computed:-Infinity};j(a,function(a,b,h){b=c?c.call(d,a,b,h):a;b>=e.computed&&(e={value:a,computed:b})});return e.value};b.min=function(a,c,d){if(!c&&b.isArray(a))return Math.min.apply(Math,a);if(!c&&b.isEmpty(a))return Infinity;var e={computed:Infinity};j(a,function(a,b,h){b=c?c.call(d,a,b,h):a;b<e.computed&&(e={value:a,computed:b})});\nreturn e.value};b.shuffle=function(a){var b=[],d;j(a,function(a,f){f==0?b[0]=a:(d=Math.floor(Math.random()*(f+1)),b[f]=b[d],b[d]=a)});return b};b.sortBy=function(a,c,d){return b.pluck(b.map(a,function(a,b,g){return{value:a,criteria:c.call(d,a,b,g)}}).sort(function(a,b){var c=a.criteria,d=b.criteria;return c<d?-1:c>d?1:0}),\"value\")};b.groupBy=function(a,c){var d={},e=b.isFunction(c)?c:function(a){return a[c]};j(a,function(a,b){var c=e(a,b);(d[c]||(d[c]=[])).push(a)});return d};b.sortedIndex=function(a,\nc,d){d||(d=b.identity);for(var e=0,f=a.length;e<f;){var g=e+f>>1;d(a[g])<d(c)?e=g+1:f=g}return e};b.toArray=function(a){return!a?[]:a.toArray?a.toArray():b.isArray(a)?i.call(a):b.isArguments(a)?i.call(a):b.values(a)};b.size=function(a){return b.toArray(a).length};b.first=b.head=function(a,b,d){return b!=null&&!d?i.call(a,0,b):a[0]};b.initial=function(a,b,d){return i.call(a,0,a.length-(b==null||d?1:b))};b.last=function(a,b,d){return b!=null&&!d?i.call(a,Math.max(a.length-b,0)):a[a.length-1]};b.rest=\nb.tail=function(a,b,d){return i.call(a,b==null||d?1:b)};b.compact=function(a){return b.filter(a,function(a){return!!a})};b.flatten=function(a,c){return b.reduce(a,function(a,e){if(b.isArray(e))return a.concat(c?e:b.flatten(e));a[a.length]=e;return a},[])};b.without=function(a){return b.difference(a,i.call(arguments,1))};b.uniq=b.unique=function(a,c,d){var d=d?b.map(a,d):a,e=[];b.reduce(d,function(d,g,h){if(0==h||(c===true?b.last(d)!=g:!b.include(d,g)))d[d.length]=g,e[e.length]=a[h];return d},[]);\nreturn e};b.union=function(){return b.uniq(b.flatten(arguments,true))};b.intersection=b.intersect=function(a){var c=i.call(arguments,1);return b.filter(b.uniq(a),function(a){return b.every(c,function(c){return b.indexOf(c,a)>=0})})};b.difference=function(a){var c=b.flatten(i.call(arguments,1));return b.filter(a,function(a){return!b.include(c,a)})};b.zip=function(){for(var a=i.call(arguments),c=b.max(b.pluck(a,\"length\")),d=Array(c),e=0;e<c;e++)d[e]=b.pluck(a,\"\"+e);return d};b.indexOf=function(a,c,\nd){if(a==null)return-1;var e;if(d)return d=b.sortedIndex(a,c),a[d]===c?d:-1;if(p&&a.indexOf===p)return a.indexOf(c);for(d=0,e=a.length;d<e;d++)if(d in a&&a[d]===c)return d;return-1};b.lastIndexOf=function(a,b){if(a==null)return-1;if(D&&a.lastIndexOf===D)return a.lastIndexOf(b);for(var d=a.length;d--;)if(d in a&&a[d]===b)return d;return-1};b.range=function(a,b,d){arguments.length<=1&&(b=a||0,a=0);for(var d=arguments[2]||1,e=Math.max(Math.ceil((b-a)/d),0),f=0,g=Array(e);f<e;)g[f++]=a,a+=d;return g};\nvar F=function(){};b.bind=function(a,c){var d,e;if(a.bind===s&&s)return s.apply(a,i.call(arguments,1));if(!b.isFunction(a))throw new TypeError;e=i.call(arguments,2);return d=function(){if(!(this instanceof d))return a.apply(c,e.concat(i.call(arguments)));F.prototype=a.prototype;var b=new F,g=a.apply(b,e.concat(i.call(arguments)));return Object(g)===g?g:b}};b.bindAll=function(a){var c=i.call(arguments,1);c.length==0&&(c=b.functions(a));j(c,function(c){a[c]=b.bind(a[c],a)});return a};b.memoize=function(a,\nc){var d={};c||(c=b.identity);return function(){var e=c.apply(this,arguments);return b.has(d,e)?d[e]:d[e]=a.apply(this,arguments)}};b.delay=function(a,b){var d=i.call(arguments,2);return setTimeout(function(){return a.apply(a,d)},b)};b.defer=function(a){return b.delay.apply(b,[a,1].concat(i.call(arguments,1)))};b.throttle=function(a,c){var d,e,f,g,h,i=b.debounce(function(){h=g=false},c);return function(){d=this;e=arguments;var b;f||(f=setTimeout(function(){f=null;h&&a.apply(d,e);i()},c));g?h=true:\na.apply(d,e);i();g=true}};b.debounce=function(a,b){var d;return function(){var e=this,f=arguments;clearTimeout(d);d=setTimeout(function(){d=null;a.apply(e,f)},b)}};b.once=function(a){var b=false,d;return function(){if(b)return d;b=true;return d=a.apply(this,arguments)}};b.wrap=function(a,b){return function(){var d=[a].concat(i.call(arguments,0));return b.apply(this,d)}};b.compose=function(){var a=arguments;return function(){for(var b=arguments,d=a.length-1;d>=0;d--)b=[a[d].apply(this,b)];return b[0]}};\nb.after=function(a,b){return a<=0?b():function(){if(--a<1)return b.apply(this,arguments)}};b.keys=J||function(a){if(a!==Object(a))throw new TypeError(\"Invalid object\");var c=[],d;for(d in a)b.has(a,d)&&(c[c.length]=d);return c};b.values=function(a){return b.map(a,b.identity)};b.functions=b.methods=function(a){var c=[],d;for(d in a)b.isFunction(a[d])&&c.push(d);return c.sort()};b.extend=function(a){j(i.call(arguments,1),function(b){for(var d in b)a[d]=b[d]});return a};b.defaults=function(a){j(i.call(arguments,\n1),function(b){for(var d in b)a[d]==null&&(a[d]=b[d])});return a};b.clone=function(a){return!b.isObject(a)?a:b.isArray(a)?a.slice():b.extend({},a)};b.tap=function(a,b){b(a);return a};b.isEqual=function(a,b){return q(a,b,[])};b.isEmpty=function(a){if(b.isArray(a)||b.isString(a))return a.length===0;for(var c in a)if(b.has(a,c))return false;return true};b.isElement=function(a){return!!(a&&a.nodeType==1)};b.isArray=o||function(a){return l.call(a)==\"[object Array]\"};b.isObject=function(a){return a===Object(a)};\nb.isArguments=function(a){return l.call(a)==\"[object Arguments]\"};if(!b.isArguments(arguments))b.isArguments=function(a){return!(!a||!b.has(a,\"callee\"))};b.isFunction=function(a){return l.call(a)==\"[object Function]\"};b.isString=function(a){return l.call(a)==\"[object String]\"};b.isNumber=function(a){return l.call(a)==\"[object Number]\"};b.isNaN=function(a){return a!==a};b.isBoolean=function(a){return a===true||a===false||l.call(a)==\"[object Boolean]\"};b.isDate=function(a){return l.call(a)==\"[object Date]\"};\nb.isRegExp=function(a){return l.call(a)==\"[object RegExp]\"};b.isNull=function(a){return a===null};b.isUndefined=function(a){return a===void 0};b.has=function(a,b){return I.call(a,b)};b.noConflict=function(){r._=G;return this};b.identity=function(a){return a};b.times=function(a,b,d){for(var e=0;e<a;e++)b.call(d,e)};b.escape=function(a){return(\"\"+a).replace(/&/g,\"&amp;\").replace(/</g,\"&lt;\").replace(/>/g,\"&gt;\").replace(/\"/g,\"&quot;\").replace(/'/g,\"&#x27;\").replace(/\\//g,\"&#x2F;\")};b.mixin=function(a){j(b.functions(a),\nfunction(c){K(c,b[c]=a[c])})};var L=0;b.uniqueId=function(a){var b=L++;return a?a+b:b};b.templateSettings={evaluate:/<%([\\s\\S]+?)%>/g,interpolate:/<%=([\\s\\S]+?)%>/g,escape:/<%-([\\s\\S]+?)%>/g};var t=/.^/,u=function(a){return a.replace(/\\\\\\\\/g,\"\\\\\").replace(/\\\\'/g,\"'\")};b.template=function(a,c){var d=b.templateSettings,d=\"var __p=[],print=function(){__p.push.apply(__p,arguments);};with(obj||{}){__p.push('\"+a.replace(/\\\\/g,\"\\\\\\\\\").replace(/'/g,\"\\\\'\").replace(d.escape||t,function(a,b){return\"',_.escape(\"+\nu(b)+\"),'\"}).replace(d.interpolate||t,function(a,b){return\"',\"+u(b)+\",'\"}).replace(d.evaluate||t,function(a,b){return\"');\"+u(b).replace(/[\\r\\n\\t]/g,\" \")+\";__p.push('\"}).replace(/\\r/g,\"\\\\r\").replace(/\\n/g,\"\\\\n\").replace(/\\t/g,\"\\\\t\")+\"');}return __p.join('');\",e=new Function(\"obj\",\"_\",d);return c?e(c,b):function(a){return e.call(this,a,b)}};b.chain=function(a){return b(a).chain()};var m=function(a){this._wrapped=a};b.prototype=m.prototype;var v=function(a,c){return c?b(a).chain():a},K=function(a,c){m.prototype[a]=\nfunction(){var a=i.call(arguments);H.call(a,this._wrapped);return v(c.apply(b,a),this._chain)}};b.mixin(b);j(\"pop,push,reverse,shift,sort,splice,unshift\".split(\",\"),function(a){var b=k[a];m.prototype[a]=function(){var d=this._wrapped;b.apply(d,arguments);var e=d.length;(a==\"shift\"||a==\"splice\")&&e===0&&delete d[0];return v(d,this._chain)}});j([\"concat\",\"join\",\"slice\"],function(a){var b=k[a];m.prototype[a]=function(){return v(b.apply(this._wrapped,arguments),this._chain)}});m.prototype.chain=function(){this._chain=\ntrue;return this};m.prototype.value=function(){return this._wrapped}}).call(this);\n"
  },
  {
    "path": "doc/genindex.html",
    "content": "\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"\n  \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n\n\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n  <head>\n    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\n    <meta http-equiv=\"x-ua-compatible\" content=\"IE=Edge\"/>\n    \n    <title>Index &mdash; NVIDIA Flex 1.2.0 documentation</title>\n    \n    <link rel=\"stylesheet\" href=\"_static/default.css\" type=\"text/css\" />\n    <link rel=\"stylesheet\" href=\"_static/pygments.css\" type=\"text/css\" />\n    <link rel=\"stylesheet\" href=\"_static/breathe.css\" type=\"text/css\" />\n    <link rel=\"stylesheet\" href=\"_static/application.css\" type=\"text/css\" />\n    <link rel=\"stylesheet\" href=\"_static/styleguide.css\" type=\"text/css\" />\n    \n    <script type=\"text/javascript\">\n      var DOCUMENTATION_OPTIONS = {\n        URL_ROOT:    './',\n        VERSION:     '1.2.0',\n        COLLAPSE_INDEX: false,\n        FILE_SUFFIX: '.html',\n        HAS_SOURCE:  true\n      };\n    </script>\n    <script type=\"text/javascript\" src=\"_static/jquery.js\"></script>\n    <script type=\"text/javascript\" src=\"_static/underscore.js\"></script>\n    <script type=\"text/javascript\" src=\"_static/doctools.js\"></script>\n    <script type=\"text/javascript\" src=\"http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML\"></script>\n    <script type=\"text/javascript\" src=\"_static/bootstrap.js\"></script>\n    <script type=\"text/javascript\" src=\"_static/jquery.cookie.js\"></script>\n    <script type=\"text/javascript\" src=\"_static/jquery.storageapi.js\"></script>\n    <link rel=\"top\" title=\"NVIDIA Flex 1.2.0 documentation\" href=\"index.html\" /> \n  </head>\n  <body>\n<nav class=\"navbar navbar-inverse navbar-default\">\n  <div class=\"row\">\n      <div class=\"navbar-brand\">\n             <img class=\"logo\" src=\"_static/developerzone_gameworks_logo.png\" alt=\"Logo\"/>\n      </div>\n<div id=\"searchbox\" style=\"display: none; float:right; padding-top:4px; padding-right:4px\">\n    <form class=\"search form-inline\" action=\"search.html\" method=\"get\">\n      <div class=\"form-group\">\n      <input type=\"text\" name=\"q\" class=\"form-control\" />\n      <input type=\"submit\" value=\"Search\" class=\"btn btn-primary\" />\n      </div>\n      <input type=\"hidden\" name=\"check_keywords\" value=\"yes\" />\n      <input type=\"hidden\" name=\"area\" value=\"default\" />\n    </form>\n</div>\n<script type=\"text/javascript\">$('#searchbox').show(0);</script>\n  </div>\n</nav>\n<div class=\"masthead\">\n    <div class=\"row\">\n      <ul class=\"breadcrumb\">\n        <li><a href=\"index.html\">NVIDIA Flex 1.2.0 documentation</a></li> \n      </ul>\n    </div>\n</div>\n<div class=\"row\">\n  <div class=\"col-md-3 bs-sidenav\" style=\"white-space: nowrap; overflow: auto;\">\n<div class=\"bs-sidebar\">\n  <div id=\"sidebar_toc\">\n  <h4>Table Of Contents</h4>\n  <ul>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"index.html\">Overview</a></li>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"manual.html\">Manual</a><ul>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"manual.html#introduction\">Introduction</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"manual.html#library-design\">Library Design</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"manual.html#quick-start\">Quick Start</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"manual.html#buffers\">Buffers</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"manual.html#particles\">Particles</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"manual.html#radius\">Radius</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"manual.html#phase\">Phase</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"manual.html#active-set\">Active Set</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"manual.html#constraints\">Constraints</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"manual.html#fluids\">Fluids</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"manual.html#springs\">Springs</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"manual.html#cloth\">Cloth</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"manual.html#inflatables\">Inflatables</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"manual.html#rigid-bodies\">Rigid Bodies</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"manual.html#soft-bodies\">Soft Bodies</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"manual.html#solver\">Solver</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"manual.html#time-stepping\">Time Stepping</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"manual.html#relaxation\">Relaxation</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"manual.html#collision\">Collision</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"manual.html#spheres\">Spheres</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"manual.html#capsules\">Capsules</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"manual.html#triangle-meshes\">Triangle Meshes</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"manual.html#convex-meshes\">Convex Meshes</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"manual.html#signed-distance-fields\">Signed Distance Fields</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"manual.html#planes\">Planes</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"manual.html#margins\">Margins</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"manual.html#priority\">Priority</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"manual.html#diffuse-particles\">Diffuse Particles</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"manual.html#threading\">Threading</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"manual.html#profiling\">Profiling</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"manual.html#limitations-known-issues\">Limitations / Known Issues</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"manual.html#acknowledgments\">Acknowledgments</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"manual.html#references\">References</a></li>\n</ul>\n</li>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"releasenotes.html\">Release Notes</a><ul>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"releasenotes.html#id1\">1.2.0</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"releasenotes.html#id2\">1.1.0</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"releasenotes.html#id3\">1.0.0</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"releasenotes.html#id4\">0.9.5</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"releasenotes.html#id5\">0.9.0</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"releasenotes.html#id6\">0.8.0</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"releasenotes.html#id7\">0.2.5</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"releasenotes.html#id8\">0.2.3</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"releasenotes.html#id9\">0.2.2</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"releasenotes.html#id10\">0.2.1</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"releasenotes.html#id11\">0.2.0</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"releasenotes.html#id12\">0.1.0</a></li>\n</ul>\n</li>\n</ul>\n\n  </div>\n\n   \n\n<div id=\"searchbox\" style=\"display: none\">\n  <h4>Quick search</h4>\n    <form class=\"search form-inline\" action=\"search.html\" method=\"get\">\n      <div class=\"form-group\">\n      <input type=\"text\" name=\"q\" class=\"form-control\" />\n      <input type=\"submit\" value=\"Search\" class=\"btn btn-primary\" />\n      </div>\n      <input type=\"hidden\" name=\"check_keywords\" value=\"yes\" />\n      <input type=\"hidden\" name=\"area\" value=\"default\" />\n    </form>\n    <p class=\"searchtip\" style=\"font-size: 90%\">\n    Enter search terms or a module, class or function name.\n    </p>\n</div>\n<script type=\"text/javascript\">$('#searchbox').show(0);</script>\n</div>\n  </div>\n    <div class=\"document col-md-8\">\n          <div class=\"body\">\n            \n\n<h1 id=\"index\">Index</h1>\n\n<div class=\"genindex-jumpbox\">\n \n</div>\n\n\n          </div>\n      <div class=\"clearer\"></div>\n    </div>\n    <div class=\"col-md-1\"></div>\n</div>\n<div class=\"masthead\">\n    <div class=\"row\">\n      <ul class=\"breadcrumb\">\n        <li><a href=\"index.html\">NVIDIA Flex 1.2.0 documentation</a></li> \n      </ul>\n    </div>\n</div>\n\n<footer>\n    <div class=\"footer-boilerplate\">\n        <div class=\"row\">\n            <div class=\"boilerplate\">\n                Copyright &copy; 2014, NVIDIA Corporation &nbsp; | &nbsp; <a href=\"http://www.nvidia.com/object/about-nvidia.html\" onclick=\"s_objectID=&quot;http://www.nvidia.com/object/about-nvidia.html_1&quot;;return this.s_oc?this.s_oc(e):true\">About NVIDIA </a>&nbsp; | &nbsp; <a href=\"http://www.nvidia.com/object/legal_info.html\" onclick=\"s_objectID=&quot;http://www.nvidia.com/object/legal_info.html_1&quot;;return this.s_oc?this.s_oc(e):true\">Legal Information </a>&nbsp; | &nbsp; <a href=\"http://www.nvidia.com/object/privacy_policy.html\" onclick=\"s_objectID=&quot;http://www.nvidia.com/object/privacy_policy.html_1&quot;;return this.s_oc?this.s_oc(e):true\">Privacy Policy </a>\n            </div>\n        </div>\n    </div>\n</div>\n</footer>\n\n\n<script type=\"text/x-mathjax-config\">\n  MathJax.Hub.Config({\n    extensions: [\"tex2jax.js\"],\n    jax: [\"input/TeX\", \"output/HTML-CSS\"],\n    tex2jax: {\n      processEscapes: true,\n      skipTags: [\"script\",\"noscript\",\"style\",\"textarea\"]\n    },\n    \"HTML-CSS\": { availableFonts: [\"TeX\"] },\n    TeX: {\n        Macros: {\n          Lrg: ['\\\\displaystyle{#1}', 1, \"\"]\n        }\n      }\n  });\n</script>\n\n\n<script type=\"text/javascript\" async\n  src=\"http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-MML-AM_CHTML\">\n</script>\n\n<script>\nvar treestatename = 'GWDocsTreeState';\nvar protocol = location.href.split('/')[0].toLowerCase();\nvar storage;\nif (protocol.substring(0,4) == 'http') {\n  storage = $.cookieStorage;\n  storage.setPath('/');\n} else {\n  storage = $.localStorage;\n}\n\nif (storage.isEmpty(treestatename)) {\n  storage.set(treestatename, {});\n}\n\nvar treestate = storage.get(treestatename);\n\n$.each($(\"#sidebar_toc ul li\"), toc_walker);\n\nfunction toc_walker(key, value) {\n    var handleSpan = $(\"<span></span>\")\n        .addClass(\"toc_handle\").prependTo(value);\n    handleSpan.attr(\"id\", $(value).closest(\"div\").attr(\"id\") + \".\" + key);\n\n    if($(value).has(\"ul li\").size() > 0) {\n        var id = handleSpan.attr(\"id\");\n        if (!(id in treestate)) {\n          treestate[id] = false;\n        }\n        handleSpan.addClass(\"toc_expanded\").click(function() {\n            $(this).toggleClass(\"toc_expanded toc_collapsed\").siblings(\"ul\").toggle();\n            treestate[$(this).attr('id')] = $(this).hasClass('toc_expanded');\n            storage.set(treestatename, treestate);\n        });\n        if(!($(this).hasClass('current') || treestate[id])) {\n            handleSpan.click();\n        }\n        if($(this).hasClass('current')) {\n            treestate[handleSpan.attr('id')] = handleSpan.hasClass('toc_expanded');\n            storage.set(treestatename, treestate);\n        }\n    }\n}\n</script>\n  </body>\n</html>"
  },
  {
    "path": "doc/index.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"\n  \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n\n\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n  <head>\n    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\n    <meta http-equiv=\"x-ua-compatible\" content=\"IE=Edge\"/>\n    \n    <title>NVIDIA Flex &mdash; NVIDIA Flex 1.2.0 documentation</title>\n    \n    <link rel=\"stylesheet\" href=\"_static/default.css\" type=\"text/css\" />\n    <link rel=\"stylesheet\" href=\"_static/pygments.css\" type=\"text/css\" />\n    <link rel=\"stylesheet\" href=\"_static/breathe.css\" type=\"text/css\" />\n    <link rel=\"stylesheet\" href=\"_static/application.css\" type=\"text/css\" />\n    <link rel=\"stylesheet\" href=\"_static/styleguide.css\" type=\"text/css\" />\n    \n    <script type=\"text/javascript\">\n      var DOCUMENTATION_OPTIONS = {\n        URL_ROOT:    './',\n        VERSION:     '1.2.0',\n        COLLAPSE_INDEX: false,\n        FILE_SUFFIX: '.html',\n        HAS_SOURCE:  true\n      };\n    </script>\n    <script type=\"text/javascript\" src=\"_static/jquery.js\"></script>\n    <script type=\"text/javascript\" src=\"_static/underscore.js\"></script>\n    <script type=\"text/javascript\" src=\"_static/doctools.js\"></script>\n    <script type=\"text/javascript\" src=\"http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML\"></script>\n    <script type=\"text/javascript\" src=\"_static/bootstrap.js\"></script>\n    <script type=\"text/javascript\" src=\"_static/jquery.cookie.js\"></script>\n    <script type=\"text/javascript\" src=\"_static/jquery.storageapi.js\"></script>\n    <link rel=\"top\" title=\"NVIDIA Flex 1.2.0 documentation\" href=\"#\" />\n    <link rel=\"next\" title=\"Manual\" href=\"manual.html\" /> \n  </head>\n  <body>\n<nav class=\"navbar navbar-inverse navbar-default\">\n  <div class=\"row\">\n      <div class=\"navbar-brand\">\n             <img class=\"logo\" src=\"_static/developerzone_gameworks_logo.png\" alt=\"Logo\"/>\n      </div>\n<div id=\"searchbox\" style=\"display: none; float:right; padding-top:4px; padding-right:4px\">\n    <form class=\"search form-inline\" action=\"search.html\" method=\"get\">\n      <div class=\"form-group\">\n      <input type=\"text\" name=\"q\" class=\"form-control\" />\n      <input type=\"submit\" value=\"Search\" class=\"btn btn-primary\" />\n      </div>\n      <input type=\"hidden\" name=\"check_keywords\" value=\"yes\" />\n      <input type=\"hidden\" name=\"area\" value=\"default\" />\n    </form>\n</div>\n<script type=\"text/javascript\">$('#searchbox').show(0);</script>\n  </div>\n</nav>\n<div class=\"masthead\">\n    <div class=\"row\">\n      <ul class=\"breadcrumb\">\n        <li><a href=\"#\">NVIDIA Flex 1.2.0 documentation</a></li> \n      </ul>\n    </div>\n</div>\n<div class=\"row\">\n  <div class=\"col-md-3 bs-sidenav\" style=\"white-space: nowrap; overflow: auto;\">\n<div class=\"bs-sidebar\">\n  <div id=\"sidebar_toc\">\n  <h4>Table Of Contents</h4>\n  <ul class=\"current\">\n<li class=\"toctree-l1 current\"><a class=\"current reference internal\" href=\"\">Overview</a></li>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"manual.html\">Manual</a><ul>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"manual.html#introduction\">Introduction</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"manual.html#library-design\">Library Design</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"manual.html#quick-start\">Quick Start</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"manual.html#buffers\">Buffers</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"manual.html#particles\">Particles</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"manual.html#radius\">Radius</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"manual.html#phase\">Phase</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"manual.html#active-set\">Active Set</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"manual.html#constraints\">Constraints</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"manual.html#fluids\">Fluids</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"manual.html#springs\">Springs</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"manual.html#cloth\">Cloth</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"manual.html#inflatables\">Inflatables</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"manual.html#rigid-bodies\">Rigid Bodies</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"manual.html#soft-bodies\">Soft Bodies</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"manual.html#solver\">Solver</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"manual.html#time-stepping\">Time Stepping</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"manual.html#relaxation\">Relaxation</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"manual.html#collision\">Collision</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"manual.html#spheres\">Spheres</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"manual.html#capsules\">Capsules</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"manual.html#triangle-meshes\">Triangle Meshes</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"manual.html#convex-meshes\">Convex Meshes</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"manual.html#signed-distance-fields\">Signed Distance Fields</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"manual.html#planes\">Planes</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"manual.html#margins\">Margins</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"manual.html#priority\">Priority</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"manual.html#diffuse-particles\">Diffuse Particles</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"manual.html#threading\">Threading</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"manual.html#profiling\">Profiling</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"manual.html#limitations-known-issues\">Limitations / Known Issues</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"manual.html#acknowledgments\">Acknowledgments</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"manual.html#references\">References</a></li>\n</ul>\n</li>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"releasenotes.html\">Release Notes</a><ul>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"releasenotes.html#id1\">1.2.0</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"releasenotes.html#id2\">1.1.0</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"releasenotes.html#id3\">1.0.0</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"releasenotes.html#id4\">0.9.5</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"releasenotes.html#id5\">0.9.0</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"releasenotes.html#id6\">0.8.0</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"releasenotes.html#id7\">0.2.5</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"releasenotes.html#id8\">0.2.3</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"releasenotes.html#id9\">0.2.2</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"releasenotes.html#id10\">0.2.1</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"releasenotes.html#id11\">0.2.0</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"releasenotes.html#id12\">0.1.0</a></li>\n</ul>\n</li>\n</ul>\n\n  </div>\n  <h4>Next topic</h4>\n  <p class=\"topless\"><a href=\"manual.html\"\n                        title=\"next chapter\">Manual</a></p>\n<div id=\"searchbox\" style=\"display: none\">\n  <h4>Quick search</h4>\n    <form class=\"search form-inline\" action=\"search.html\" method=\"get\">\n      <div class=\"form-group\">\n      <input type=\"text\" name=\"q\" class=\"form-control\" />\n      <input type=\"submit\" value=\"Search\" class=\"btn btn-primary\" />\n      </div>\n      <input type=\"hidden\" name=\"check_keywords\" value=\"yes\" />\n      <input type=\"hidden\" name=\"area\" value=\"default\" />\n    </form>\n    <p class=\"searchtip\" style=\"font-size: 90%\">\n    Enter search terms or a module, class or function name.\n    </p>\n</div>\n<script type=\"text/javascript\">$('#searchbox').show(0);</script>\n</div>\n  </div>\n    <div class=\"document col-md-8\">\n          <div class=\"body\">\n            \n  <div class=\"toctree-wrapper compound\">\n</div>\n<div class=\"section\" id=\"productname\">\n<h1>NVIDIA Flex<a class=\"headerlink\" href=\"#productname\" title=\"Permalink to this headline\">¶</a></h1>\n<p>Flex is a GPU-based particle simulation library designed for real-time applications. It provides a unified interface that is capable of simulating fluids, clothing, solids, ropes, and more. See the <a class=\"reference internal\" href=\"releasenotes.html#releasenotes\"><em>Release Notes</em></a> for the latest updates.</p>\n<p>Download the latest Flex release from the <a class=\"reference external\" href=\"http://developer.nvidia.com/physx-flex\">product home page</a> on <a class=\"reference external\" href=\"http://developer.nvidia.com\">NVIDIA Developer</a>.</p>\n<div class=\"section\" id=\"documentation\">\n<h2>Documentation<a class=\"headerlink\" href=\"#documentation\" title=\"Permalink to this headline\">¶</a></h2>\n<p>Please see the <a class=\"reference internal\" href=\"manual.html#manual\"><em>Manual</em></a> included in this release package for more information on\nthe solver API and usage.</p>\n<p>Doxygen generated API documentation is available here:</p>\n<ul class=\"simple\">\n<li><a class=\"reference external\" href=\"_static/api/_nv_flex_8h.html\">Core API Reference</a></li>\n<li><a class=\"reference external\" href=\"_static/api/_nv_flex_ext_8h.html\">Extensions API Reference</a></li>\n<li><a class=\"reference external\" href=\"_static/api/_nv_flex_device_8h.html\">Device API Reference</a></li>\n</ul>\n</div>\n<div class=\"section\" id=\"supported-platforms\">\n<h2>Supported Platforms<a class=\"headerlink\" href=\"#supported-platforms\" title=\"Permalink to this headline\">¶</a></h2>\n<ul class=\"simple\">\n<li>Windows 32/64 bit</li>\n<li>Linux 64 bit (tested with Ubuntu 16.04 LTS)</li>\n</ul>\n</div>\n<div class=\"section\" id=\"requirements\">\n<h2>Requirements<a class=\"headerlink\" href=\"#requirements\" title=\"Permalink to this headline\">¶</a></h2>\n<p>A D3D11 capable graphics card with the following driver versions:</p>\n<ul class=\"simple\">\n<li>NVIDIA: GeForce Game Ready Driver 372.90 or above</li>\n<li>AMD: Radeon Software Version 16.9.1 or above</li>\n</ul>\n<p>To build the demo at least one of the following is required:</p>\n<ul class=\"simple\">\n<li>Microsoft Visual Studio 2013</li>\n<li>Microsoft Visual Studio 2015</li>\n<li>g++ 4.6.3 or higher</li>\n<li>CUDA 8.0.44 toolkit</li>\n<li>DirectX 11/12 SDK</li>\n</ul>\n</div>\n</div>\n\n\n          </div>\n      <div class=\"clearer\"></div>\n    </div>\n    <div class=\"col-md-1\"></div>\n</div>\n<div class=\"masthead\">\n    <div class=\"row\">\n      <ul class=\"breadcrumb\">\n        <li><a href=\"#\">NVIDIA Flex 1.2.0 documentation</a></li> \n      </ul>\n    </div>\n</div>\n\n<footer>\n    <div class=\"footer-boilerplate\">\n        <div class=\"row\">\n            <div class=\"boilerplate\">\n                Copyright &copy; 2014, NVIDIA Corporation &nbsp; | &nbsp; <a href=\"http://www.nvidia.com/object/about-nvidia.html\" onclick=\"s_objectID=&quot;http://www.nvidia.com/object/about-nvidia.html_1&quot;;return this.s_oc?this.s_oc(e):true\">About NVIDIA </a>&nbsp; | &nbsp; <a href=\"http://www.nvidia.com/object/legal_info.html\" onclick=\"s_objectID=&quot;http://www.nvidia.com/object/legal_info.html_1&quot;;return this.s_oc?this.s_oc(e):true\">Legal Information </a>&nbsp; | &nbsp; <a href=\"http://www.nvidia.com/object/privacy_policy.html\" onclick=\"s_objectID=&quot;http://www.nvidia.com/object/privacy_policy.html_1&quot;;return this.s_oc?this.s_oc(e):true\">Privacy Policy </a>\n            </div>\n        </div>\n    </div>\n</div>\n</footer>\n\n\n<script type=\"text/x-mathjax-config\">\n  MathJax.Hub.Config({\n    extensions: [\"tex2jax.js\"],\n    jax: [\"input/TeX\", \"output/HTML-CSS\"],\n    tex2jax: {\n      processEscapes: true,\n      skipTags: [\"script\",\"noscript\",\"style\",\"textarea\"]\n    },\n    \"HTML-CSS\": { availableFonts: [\"TeX\"] },\n    TeX: {\n        Macros: {\n          Lrg: ['\\\\displaystyle{#1}', 1, \"\"]\n        }\n      }\n  });\n</script>\n\n\n<script type=\"text/javascript\" async\n  src=\"http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-MML-AM_CHTML\">\n</script>\n\n<script>\nvar treestatename = 'GWDocsTreeState';\nvar protocol = location.href.split('/')[0].toLowerCase();\nvar storage;\nif (protocol.substring(0,4) == 'http') {\n  storage = $.cookieStorage;\n  storage.setPath('/');\n} else {\n  storage = $.localStorage;\n}\n\nif (storage.isEmpty(treestatename)) {\n  storage.set(treestatename, {});\n}\n\nvar treestate = storage.get(treestatename);\n\n$.each($(\"#sidebar_toc ul li\"), toc_walker);\n\nfunction toc_walker(key, value) {\n    var handleSpan = $(\"<span></span>\")\n        .addClass(\"toc_handle\").prependTo(value);\n    handleSpan.attr(\"id\", $(value).closest(\"div\").attr(\"id\") + \".\" + key);\n\n    if($(value).has(\"ul li\").size() > 0) {\n        var id = handleSpan.attr(\"id\");\n        if (!(id in treestate)) {\n          treestate[id] = false;\n        }\n        handleSpan.addClass(\"toc_expanded\").click(function() {\n            $(this).toggleClass(\"toc_expanded toc_collapsed\").siblings(\"ul\").toggle();\n            treestate[$(this).attr('id')] = $(this).hasClass('toc_expanded');\n            storage.set(treestatename, treestate);\n        });\n        if(!($(this).hasClass('current') || treestate[id])) {\n            handleSpan.click();\n        }\n        if($(this).hasClass('current')) {\n            treestate[handleSpan.attr('id')] = handleSpan.hasClass('toc_expanded');\n            storage.set(treestatename, treestate);\n        }\n    }\n}\n</script>\n  </body>\n</html>"
  },
  {
    "path": "doc/manual.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"\n  \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n\n\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n  <head>\n    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\n    <meta http-equiv=\"x-ua-compatible\" content=\"IE=Edge\"/>\n    \n    <title>Manual &mdash; NVIDIA Flex 1.2.0 documentation</title>\n    \n    <link rel=\"stylesheet\" href=\"_static/default.css\" type=\"text/css\" />\n    <link rel=\"stylesheet\" href=\"_static/pygments.css\" type=\"text/css\" />\n    <link rel=\"stylesheet\" href=\"_static/breathe.css\" type=\"text/css\" />\n    <link rel=\"stylesheet\" href=\"_static/application.css\" type=\"text/css\" />\n    <link rel=\"stylesheet\" href=\"_static/styleguide.css\" type=\"text/css\" />\n    \n    <script type=\"text/javascript\">\n      var DOCUMENTATION_OPTIONS = {\n        URL_ROOT:    './',\n        VERSION:     '1.2.0',\n        COLLAPSE_INDEX: false,\n        FILE_SUFFIX: '.html',\n        HAS_SOURCE:  true\n      };\n    </script>\n    <script type=\"text/javascript\" src=\"_static/jquery.js\"></script>\n    <script type=\"text/javascript\" src=\"_static/underscore.js\"></script>\n    <script type=\"text/javascript\" src=\"_static/doctools.js\"></script>\n    <script type=\"text/javascript\" src=\"http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML\"></script>\n    <script type=\"text/javascript\" src=\"_static/bootstrap.js\"></script>\n    <script type=\"text/javascript\" src=\"_static/jquery.cookie.js\"></script>\n    <script type=\"text/javascript\" src=\"_static/jquery.storageapi.js\"></script>\n    <link rel=\"top\" title=\"NVIDIA Flex 1.2.0 documentation\" href=\"index.html\" />\n    <link rel=\"next\" title=\"Release Notes\" href=\"releasenotes.html\" />\n    <link rel=\"prev\" title=\"NVIDIA Flex\" href=\"index.html\" /> \n  </head>\n  <body>\n<nav class=\"navbar navbar-inverse navbar-default\">\n  <div class=\"row\">\n      <div class=\"navbar-brand\">\n             <img class=\"logo\" src=\"_static/developerzone_gameworks_logo.png\" alt=\"Logo\"/>\n      </div>\n<div id=\"searchbox\" style=\"display: none; float:right; padding-top:4px; padding-right:4px\">\n    <form class=\"search form-inline\" action=\"search.html\" method=\"get\">\n      <div class=\"form-group\">\n      <input type=\"text\" name=\"q\" class=\"form-control\" />\n      <input type=\"submit\" value=\"Search\" class=\"btn btn-primary\" />\n      </div>\n      <input type=\"hidden\" name=\"check_keywords\" value=\"yes\" />\n      <input type=\"hidden\" name=\"area\" value=\"default\" />\n    </form>\n</div>\n<script type=\"text/javascript\">$('#searchbox').show(0);</script>\n  </div>\n</nav>\n<div class=\"masthead\">\n    <div class=\"row\">\n      <ul class=\"breadcrumb\">\n        <li><a href=\"index.html\">NVIDIA Flex 1.2.0 documentation</a></li> \n      </ul>\n    </div>\n</div>\n<div class=\"row\">\n  <div class=\"col-md-3 bs-sidenav\" style=\"white-space: nowrap; overflow: auto;\">\n<div class=\"bs-sidebar\">\n  <div id=\"sidebar_toc\">\n  <h4>Table Of Contents</h4>\n  <ul class=\"current\">\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"index.html\">Overview</a></li>\n<li class=\"toctree-l1 current\"><a class=\"current reference internal\" href=\"\">Manual</a><ul>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"#introduction\">Introduction</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"#library-design\">Library Design</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"#quick-start\">Quick Start</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"#buffers\">Buffers</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"#particles\">Particles</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"#radius\">Radius</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"#phase\">Phase</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"#active-set\">Active Set</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"#constraints\">Constraints</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"#fluids\">Fluids</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"#springs\">Springs</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"#cloth\">Cloth</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"#inflatables\">Inflatables</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"#rigid-bodies\">Rigid Bodies</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"#soft-bodies\">Soft Bodies</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"#solver\">Solver</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"#time-stepping\">Time Stepping</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"#relaxation\">Relaxation</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"#collision\">Collision</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"#spheres\">Spheres</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"#capsules\">Capsules</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"#triangle-meshes\">Triangle Meshes</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"#convex-meshes\">Convex Meshes</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"#signed-distance-fields\">Signed Distance Fields</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"#planes\">Planes</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"#margins\">Margins</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"#priority\">Priority</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"#diffuse-particles\">Diffuse Particles</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"#threading\">Threading</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"#profiling\">Profiling</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"#limitations-known-issues\">Limitations / Known Issues</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"#acknowledgments\">Acknowledgments</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"#references\">References</a></li>\n</ul>\n</li>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"releasenotes.html\">Release Notes</a><ul>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"releasenotes.html#id1\">1.2.0</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"releasenotes.html#id2\">1.1.0</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"releasenotes.html#id3\">1.0.0</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"releasenotes.html#id4\">0.9.5</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"releasenotes.html#id5\">0.9.0</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"releasenotes.html#id6\">0.8.0</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"releasenotes.html#id7\">0.2.5</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"releasenotes.html#id8\">0.2.3</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"releasenotes.html#id9\">0.2.2</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"releasenotes.html#id10\">0.2.1</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"releasenotes.html#id11\">0.2.0</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"releasenotes.html#id12\">0.1.0</a></li>\n</ul>\n</li>\n</ul>\n\n  </div>\n  <h4>Previous topic</h4>\n  <p class=\"topless\"><a href=\"index.html\"\n                        title=\"previous chapter\">NVIDIA Flex</a></p>\n  <h4>Next topic</h4>\n  <p class=\"topless\"><a href=\"releasenotes.html\"\n                        title=\"next chapter\">Release Notes</a></p>\n<div id=\"searchbox\" style=\"display: none\">\n  <h4>Quick search</h4>\n    <form class=\"search form-inline\" action=\"search.html\" method=\"get\">\n      <div class=\"form-group\">\n      <input type=\"text\" name=\"q\" class=\"form-control\" />\n      <input type=\"submit\" value=\"Search\" class=\"btn btn-primary\" />\n      </div>\n      <input type=\"hidden\" name=\"check_keywords\" value=\"yes\" />\n      <input type=\"hidden\" name=\"area\" value=\"default\" />\n    </form>\n    <p class=\"searchtip\" style=\"font-size: 90%\">\n    Enter search terms or a module, class or function name.\n    </p>\n</div>\n<script type=\"text/javascript\">$('#searchbox').show(0);</script>\n</div>\n  </div>\n    <div class=\"document col-md-8\">\n          <div class=\"body\">\n            \n  <div class=\"section\" id=\"manual\">\n<span id=\"id1\"></span><h1>Manual<a class=\"headerlink\" href=\"#manual\" title=\"Permalink to this headline\">¶</a></h1>\n<style>\n.caption {\n\ttext-align: center;\n\tfont-style: italic;\n}\n</style><div class=\"section\" id=\"introduction\">\n<h2>Introduction<a class=\"headerlink\" href=\"#introduction\" title=\"Permalink to this headline\">¶</a></h2>\n<p>Flex is a particle-based simulation library that is broadly based on Position-Based Dynamics [1], and the Unified Particle Physics for Real-Time Applications SIGGRAPH paper [2].</p>\n<p>The core idea of Flex is that <em>everything is a system of particles connected by constraints</em>. The benefit of having a unified representation is that it allows efficient modeling of many different materials, and allows interaction between elements of different types, for example, two-way coupling between rigid bodies and fluids.</p>\n<p>Flex&#8217;s strength lies in enabling interesting secondary effects that enhance the visual experience. It is not designed to build gameplay affecting physics, for example it lacks functionality such as trigger events, contact callbacks, ray-casting, serialization, etc. Although it is possible to build these capabilities on top of the core solver, they don&#8217;t come in the box. For this reason it is recommended to use Flex in conjunction with a traditional rigid-body physics engine, such as PhysX.</p>\n<p>The rest of this guide describes the standalone Flex SDK. It discusses some of the common applications, limitations, performance best practices, and general recommendations when using Flex.</p>\n</div>\n<div class=\"section\" id=\"library-design\">\n<span id=\"design\"></span><h2>Library Design<a class=\"headerlink\" href=\"#library-design\" title=\"Permalink to this headline\">¶</a></h2>\n<p>The library is broken into two parts, the core solver (<strong>NvFlex.h</strong>), which essentially operates on flat arrays of particles and constraints, and an extensions library (<strong>NvFlexExt.h</strong>), which provides some basic object/asset management to ease integration with typical work flows. The core solver is currently closed source, while the extensions library and demo application are shipped with full source.</p>\n<p>The core solver API is written in C-style, and can be considered a low-level wrapper around the solver internals. In contrast to traditional physics APIs, where operations are carried out on one rigid body or constraint at a time, in Flex, all particles and constraints are sent to the solver in one shot, as flat-arrays. This allows Flex to be efficient when dealing with large numbers of constraints and particles, although it means performing incremental updates can be slower.</p>\n<p>Flex uses a structure-of-arrays (SOA) data layout for efficiency during simulation. To avoid additional copy overhead the API requires data to be provided in this SOA format.</p>\n<div class=\"section\" id=\"quick-start\">\n<span id=\"quick\"></span><h3>Quick Start<a class=\"headerlink\" href=\"#quick-start\" title=\"Permalink to this headline\">¶</a></h3>\n<p>The example code below shows how to initialize the library, create a new solver (similar to a scene in PhysX), and how to tick the solver:</p>\n<div class=\"highlight-cpp\"><div class=\"highlight\"><pre>    <span class=\"n\">NvFlexLibrary</span><span class=\"o\">*</span> <span class=\"n\">library</span> <span class=\"o\">=</span> <span class=\"n\">NvFlexInit</span><span class=\"p\">();</span>\n\n    <span class=\"c1\">// create new solver</span>\n    <span class=\"n\">NvFlexSolverDesc</span> <span class=\"n\">solverDesc</span><span class=\"p\">;</span>\n    <span class=\"n\">NvFlexSetSolverDescDefaults</span><span class=\"p\">(</span><span class=\"o\">&amp;</span><span class=\"n\">solverDesc</span><span class=\"p\">);</span>\n    <span class=\"n\">solverDesc</span><span class=\"p\">.</span><span class=\"n\">maxParticles</span> <span class=\"o\">=</span> <span class=\"n\">n</span><span class=\"p\">;</span>\n    <span class=\"n\">solverDesc</span><span class=\"p\">.</span><span class=\"n\">maxDiffuseParticles</span> <span class=\"o\">=</span> <span class=\"mi\">0</span><span class=\"p\">;</span>\n\n    <span class=\"n\">NvFlexSolver</span><span class=\"o\">*</span> <span class=\"n\">solver</span> <span class=\"o\">=</span> <span class=\"n\">NvFlexCreateSolver</span><span class=\"p\">(</span><span class=\"n\">library</span><span class=\"p\">,</span> <span class=\"o\">&amp;</span><span class=\"n\">solverDesc</span><span class=\"p\">);</span>\n\n    <span class=\"n\">NvFlexBuffer</span><span class=\"o\">*</span> <span class=\"n\">particleBuffer</span> <span class=\"o\">=</span> <span class=\"n\">NvFlexAllocBuffer</span><span class=\"p\">(</span><span class=\"n\">library</span><span class=\"p\">,</span> <span class=\"n\">n</span><span class=\"p\">,</span> <span class=\"k\">sizeof</span><span class=\"p\">(</span><span class=\"n\">float4</span><span class=\"p\">),</span> <span class=\"n\">eNvFlexBufferHost</span><span class=\"p\">);</span>\n    <span class=\"n\">NvFlexBuffer</span><span class=\"o\">*</span> <span class=\"n\">velocityBuffer</span> <span class=\"o\">=</span> <span class=\"n\">NvFlexAllocBuffer</span><span class=\"p\">(</span><span class=\"n\">library</span><span class=\"p\">,</span> <span class=\"n\">n</span><span class=\"p\">,</span> <span class=\"k\">sizeof</span><span class=\"p\">(</span><span class=\"n\">float4</span><span class=\"p\">),</span> <span class=\"n\">eNvFlexBufferHost</span><span class=\"p\">);</span>\n    <span class=\"n\">NvFlexBuffer</span><span class=\"o\">*</span> <span class=\"n\">phaseBuffer</span> <span class=\"o\">=</span> <span class=\"n\">NvFlexAllocBuffer</span><span class=\"p\">(</span><span class=\"n\">library</span><span class=\"p\">,</span> <span class=\"n\">n</span><span class=\"p\">,</span> <span class=\"k\">sizeof</span><span class=\"p\">(</span><span class=\"kt\">int</span><span class=\"p\">),</span> <span class=\"n\">eNvFlexBufferHost</span><span class=\"p\">);</span>\n\n<span class=\"kt\">int</span> <span class=\"n\">numParticles</span> <span class=\"o\">=</span> <span class=\"mi\">0</span><span class=\"p\">;</span>\n\n    <span class=\"k\">while</span><span class=\"p\">(</span><span class=\"o\">!</span><span class=\"n\">done</span><span class=\"p\">)</span>\n    <span class=\"p\">{</span>\n            <span class=\"c1\">// map buffers for reading / writing</span>\n            <span class=\"n\">float4</span><span class=\"o\">*</span> <span class=\"n\">particles</span> <span class=\"o\">=</span> <span class=\"p\">(</span><span class=\"n\">float4</span><span class=\"o\">*</span><span class=\"p\">)</span><span class=\"n\">NvFlexMap</span><span class=\"p\">(</span><span class=\"n\">particleBuffer</span><span class=\"p\">,</span> <span class=\"n\">eNvFlexMapWait</span><span class=\"p\">);</span>\n            <span class=\"n\">float3</span><span class=\"o\">*</span> <span class=\"n\">velocities</span>  <span class=\"o\">=</span> <span class=\"p\">(</span><span class=\"n\">float3</span><span class=\"o\">*</span><span class=\"p\">)</span><span class=\"n\">NvFlexMap</span><span class=\"p\">(</span><span class=\"n\">velocityBuffer</span><span class=\"p\">,</span> <span class=\"n\">eNvFlexMapWait</span><span class=\"p\">);</span>\n            <span class=\"kt\">int</span><span class=\"o\">*</span> <span class=\"n\">phases</span> <span class=\"o\">=</span> <span class=\"p\">(</span><span class=\"kt\">int</span><span class=\"o\">*</span><span class=\"p\">)</span><span class=\"n\">NvFlexMap</span><span class=\"p\">(</span><span class=\"n\">phaseBuffer</span><span class=\"p\">,</span> <span class=\"n\">eNvFlexMapWait</span><span class=\"p\">);</span>\n\n            <span class=\"c1\">// spawn (user method)</span>\n            <span class=\"n\">numParticles</span> <span class=\"o\">=</span> <span class=\"n\">SpawnParticles</span><span class=\"p\">(</span><span class=\"n\">particles</span><span class=\"p\">,</span> <span class=\"n\">velocities</span><span class=\"p\">,</span> <span class=\"n\">phases</span><span class=\"p\">,</span> <span class=\"n\">numParticles</span><span class=\"p\">);</span>\n\n            <span class=\"c1\">// render (user method)</span>\n            <span class=\"n\">RenderParticles</span><span class=\"p\">(</span><span class=\"n\">particles</span><span class=\"p\">,</span> <span class=\"n\">velocities</span><span class=\"p\">,</span> <span class=\"n\">phases</span><span class=\"p\">,</span> <span class=\"n\">numParticles</span><span class=\"p\">);</span>\n\n            <span class=\"c1\">// unmap buffers</span>\n            <span class=\"n\">NvFlexUnmap</span><span class=\"p\">(</span><span class=\"n\">particleBuffer</span><span class=\"p\">);</span>\n            <span class=\"n\">NvFlexUnmap</span><span class=\"p\">(</span><span class=\"n\">velocityBuffer</span><span class=\"p\">);</span>\n            <span class=\"n\">NvFlexUnmap</span><span class=\"p\">(</span><span class=\"n\">phaseBuffer</span><span class=\"p\">);</span>\n\n            <span class=\"c1\">// write to device (async)</span>\n            <span class=\"n\">NvFlexSetParticles</span><span class=\"p\">(</span><span class=\"n\">solver</span><span class=\"p\">,</span> <span class=\"n\">particleBuffer</span><span class=\"p\">,</span> <span class=\"nb\">NULL</span><span class=\"p\">);</span>\n            <span class=\"n\">NvFlexSetVelocities</span><span class=\"p\">(</span><span class=\"n\">solver</span><span class=\"p\">,</span> <span class=\"n\">velocityBuffer</span><span class=\"p\">,</span> <span class=\"nb\">NULL</span><span class=\"p\">);</span>\n            <span class=\"n\">NvFlexSetPhases</span><span class=\"p\">(</span><span class=\"n\">solver</span><span class=\"p\">,</span> <span class=\"n\">phaseBuffer</span><span class=\"p\">,</span> <span class=\"nb\">NULL</span><span class=\"p\">);</span>\n\n    <span class=\"c1\">// set active count</span>\n    <span class=\"n\">NvFlexSetActiveCount</span><span class=\"p\">(</span><span class=\"n\">solver</span><span class=\"p\">,</span> <span class=\"n\">numParticles</span><span class=\"p\">);</span>\n\n            <span class=\"c1\">// tick</span>\n            <span class=\"n\">NvFlexUpdateSolver</span><span class=\"p\">(</span><span class=\"n\">solver</span><span class=\"p\">,</span> <span class=\"n\">dt</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"nb\">false</span><span class=\"p\">);</span>\n\n            <span class=\"c1\">// read back (async)</span>\n            <span class=\"n\">NvFlexGetParticles</span><span class=\"p\">(</span><span class=\"n\">solver</span><span class=\"p\">,</span> <span class=\"n\">particleBuffer</span><span class=\"p\">,</span> <span class=\"nb\">NULL</span><span class=\"p\">);</span>\n            <span class=\"n\">NvFlexGetVelocities</span><span class=\"p\">(</span><span class=\"n\">solver</span><span class=\"p\">,</span> <span class=\"n\">velocityBuffer</span><span class=\"p\">,</span> <span class=\"nb\">NULL</span><span class=\"p\">);</span>\n            <span class=\"n\">NvFlexGetPhases</span><span class=\"p\">(</span><span class=\"n\">solver</span><span class=\"p\">,</span> <span class=\"n\">phaseBuffer</span><span class=\"p\">,</span> <span class=\"nb\">NULL</span><span class=\"p\">);</span>\n    <span class=\"p\">}</span>\n\n    <span class=\"n\">NvFlexFreeBuffer</span><span class=\"p\">(</span><span class=\"n\">particleBuffer</span><span class=\"p\">);</span>\n    <span class=\"n\">NvFlexFreeBuffer</span><span class=\"p\">(</span><span class=\"n\">velocityBuffer</span><span class=\"p\">);</span>\n    <span class=\"n\">NvFlexFreeBuffer</span><span class=\"p\">(</span><span class=\"n\">phaseBuffer</span><span class=\"p\">);</span>\n\n    <span class=\"n\">NvFlexDestroySolver</span><span class=\"p\">(</span><span class=\"n\">solver</span><span class=\"p\">);</span>\n    <span class=\"n\">NvFlexShutdown</span><span class=\"p\">(</span><span class=\"n\">library</span><span class=\"p\">);</span>\n</pre></div>\n</div>\n<p>Although Flex allows you to combine effects in one solver it often makes sense to create a separate one for each type of effect. For example, if you have a scene with clothing and fluids, but they don&#8217;t need to interact, you may have one solver for each. This approach provides more flexibility when setting parameters.</p>\n</div>\n</div>\n<div class=\"section\" id=\"buffers\">\n<span id=\"id2\"></span><h2>Buffers<a class=\"headerlink\" href=\"#buffers\" title=\"Permalink to this headline\">¶</a></h2>\n<p>Since Flex 1.1 all data passed to and from Flex must be through a FlexBuffer. This is a simple memory abstraction that allows Flex to support both DirectX, CUDA, and other GPU platforms. To create a buffer use the the NvlexAllocBuffer() method as follows:</p>\n<div class=\"highlight-cpp\"><div class=\"highlight\"><pre><span class=\"n\">NvFlexBuffer</span><span class=\"o\">*</span> <span class=\"n\">particles</span> <span class=\"o\">=</span> <span class=\"n\">NvFlexAllocBuffer</span><span class=\"p\">(</span><span class=\"n\">library</span><span class=\"p\">,</span> <span class=\"n\">n</span><span class=\"p\">,</span> <span class=\"k\">sizeof</span><span class=\"p\">(</span><span class=\"n\">Vec4</span><span class=\"p\">),</span> <span class=\"n\">eNvFlexBufferHost</span><span class=\"p\">);</span>\n</pre></div>\n</div>\n<p>Buffers must have both their element count and stride set appropriately for the method they are passed to, e.g.: for <strong>NvFlexSetParticles()</strong>, the method expects a buffer with a stride of sizeof(float)*4.</p>\n<p>To send data to Flex you must first map a buffer for reading/writing by calling <strong>NvFlexMap()</strong>, this will return a pointer to the contents of the buffer which can then be accessed by the CPU code, for example to spawn or update particle data. When the CPU has finished writing to the buffer, it must first unmap the buffer by calling <strong>NvFlexUnmap()</strong>, and then update the solver by calling a <strong>NvFlexSet*()</strong> method, e.g.: <strong>NvFlexSetParticles()</strong>. By calling <strong>NvFlexUnmap()</strong>, Flex knows the CPU will no longer be accessing the buffer, and it can safely send the new data to the GPU asynchronously.</p>\n<p>To retrieve data from Flex you must instruct it to populate a buffer object. For example, to retrieve particle positions you would first call a <strong>NvFlexGet*()</strong> method, e.g.: <strong>NvFlexGetParticles()</strong>, and then map it for reading. When you call <strong>NvFlexMap()</strong> on a buffer with the eNvFlexMapWait flag Flex will block the calling thread until any outstanding transfers have completed. This ensures that you always see the most up to date data.</p>\n<p>Why do we use buffers at all? First, they provide an abstraction around graphics APIs that don&#8217;t have direct access to raw GPU memory. Second, they allow Flex to ensure transfers are always completed asynchronously and as efficiently as possible.</p>\n</div>\n<div class=\"section\" id=\"particles\">\n<span id=\"id3\"></span><h2>Particles<a class=\"headerlink\" href=\"#particles\" title=\"Permalink to this headline\">¶</a></h2>\n<p>Particles are the fundamental building-block in Flex. For each particle the basic dynamic quantities of position, velocity, and inverse mass are stored. The inverse mass is stored alongside the position, in the format [x, y, z, 1/m]. In addition to these properties, Flex also stores a per-particle <em>phase</em> value, which controls the particle behavior (see the <a class=\"reference internal\" href=\"#phase\">Phase</a> section for more information). Below is a simple example showing the layout for particle data, and how to set it onto the API.:</p>\n<div class=\"highlight-cpp\"><div class=\"highlight\"><pre><span class=\"n\">NvFlexBuffer</span><span class=\"o\">*</span> <span class=\"n\">particleBuffer</span> <span class=\"o\">=</span> <span class=\"n\">NvFlexAllocBuffer</span><span class=\"p\">(</span><span class=\"n\">library</span><span class=\"p\">,</span> <span class=\"n\">n</span><span class=\"p\">,</span> <span class=\"k\">sizeof</span><span class=\"p\">(</span><span class=\"n\">Vec4</span><span class=\"p\">),</span> <span class=\"n\">eNvFlexBufferHost</span><span class=\"p\">);</span>\n<span class=\"n\">NvFlexBuffer</span><span class=\"o\">*</span> <span class=\"n\">velocityBuffer</span> <span class=\"o\">=</span> <span class=\"n\">NvFlexAllocBuffer</span><span class=\"p\">(</span><span class=\"n\">library</span><span class=\"p\">,</span> <span class=\"n\">n</span><span class=\"p\">,</span> <span class=\"k\">sizeof</span><span class=\"p\">(</span><span class=\"n\">Vec4</span><span class=\"p\">),</span> <span class=\"n\">eNvFlexBufferHost</span><span class=\"p\">);</span>\n<span class=\"n\">NvFlexBuffer</span><span class=\"o\">*</span> <span class=\"n\">phaseBuffer</span> <span class=\"o\">=</span> <span class=\"n\">NvFlexAllocBuffer</span><span class=\"p\">(</span><span class=\"n\">library</span><span class=\"p\">,</span> <span class=\"n\">n</span><span class=\"p\">,</span> <span class=\"k\">sizeof</span><span class=\"p\">(</span><span class=\"kt\">int</span><span class=\"p\">),</span> <span class=\"n\">eNvFlexBufferHost</span><span class=\"p\">);</span>\n\n<span class=\"c1\">// map buffers for reading / writing</span>\n<span class=\"n\">float4</span><span class=\"o\">*</span> <span class=\"n\">particles</span> <span class=\"o\">=</span> <span class=\"p\">(</span><span class=\"n\">float4</span><span class=\"o\">*</span><span class=\"p\">)</span><span class=\"n\">NvFlexMap</span><span class=\"p\">(</span><span class=\"n\">particlesBuffer</span><span class=\"p\">,</span> <span class=\"n\">eNvFlexMapWait</span><span class=\"p\">);</span>\n<span class=\"n\">float3</span><span class=\"o\">*</span> <span class=\"n\">velocities</span> <span class=\"o\">=</span> <span class=\"p\">(</span><span class=\"n\">float3</span><span class=\"o\">*</span><span class=\"p\">)</span><span class=\"n\">NvFlexMap</span><span class=\"p\">(</span><span class=\"n\">velocityBuffer</span><span class=\"p\">,</span> <span class=\"n\">eNvFlexMapWait</span><span class=\"p\">);</span>\n<span class=\"kt\">int</span><span class=\"o\">*</span> <span class=\"n\">phases</span> <span class=\"o\">=</span> <span class=\"p\">(</span><span class=\"kt\">int</span><span class=\"o\">*</span><span class=\"p\">)</span><span class=\"n\">NvFlexMap</span><span class=\"p\">(</span><span class=\"n\">phaseBuffer</span><span class=\"p\">,</span> <span class=\"n\">eFlexMapWait</span><span class=\"p\">);</span>\n\n<span class=\"c1\">// spawn particles</span>\n<span class=\"k\">for</span> <span class=\"p\">(</span><span class=\"kt\">int</span> <span class=\"n\">i</span><span class=\"o\">=</span><span class=\"mi\">0</span><span class=\"p\">;</span> <span class=\"n\">i</span> <span class=\"o\">&lt;</span> <span class=\"n\">n</span><span class=\"p\">;</span> <span class=\"o\">++</span><span class=\"n\">i</span><span class=\"p\">)</span>\n<span class=\"p\">{</span>\n        <span class=\"n\">particles</span><span class=\"p\">[</span><span class=\"n\">i</span><span class=\"p\">]</span> <span class=\"o\">=</span> <span class=\"n\">RandomSpawnPosition</span><span class=\"p\">();</span>\n        <span class=\"n\">velocities</span><span class=\"p\">[</span><span class=\"n\">i</span><span class=\"p\">]</span> <span class=\"o\">=</span> <span class=\"n\">RandomSpawnVelocity</span><span class=\"p\">();</span>\n        <span class=\"n\">phases</span><span class=\"p\">[</span><span class=\"n\">i</span><span class=\"p\">]</span> <span class=\"o\">=</span> <span class=\"n\">NvFlexMakePhase</span><span class=\"p\">(</span><span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"n\">eNvFlexPhaseSelfCollide</span><span class=\"p\">);</span>\n<span class=\"p\">}</span>\n\n<span class=\"c1\">// unmap buffers</span>\n<span class=\"n\">NvFlexUnmap</span><span class=\"p\">(</span><span class=\"n\">particleBuffer</span><span class=\"p\">);</span>\n<span class=\"n\">NvFlexUnmap</span><span class=\"p\">(</span><span class=\"n\">velocityBuffer</span><span class=\"p\">);</span>\n<span class=\"n\">NvFlexUnmap</span><span class=\"p\">(</span><span class=\"n\">phaseBuffer</span><span class=\"p\">);</span>\n\n<span class=\"c1\">// write to device (async)</span>\n<span class=\"n\">NvFlexSetParticles</span><span class=\"p\">(</span><span class=\"n\">solver</span><span class=\"p\">,</span> <span class=\"n\">particleBuffer</span><span class=\"p\">,</span> <span class=\"nb\">NULL</span><span class=\"p\">);</span>\n<span class=\"n\">NvFlexSetVelocities</span><span class=\"p\">(</span><span class=\"n\">solver</span><span class=\"p\">,</span> <span class=\"n\">velocityBuffer</span><span class=\"p\">,</span> <span class=\"nb\">NULL</span><span class=\"p\">);</span>\n<span class=\"n\">NvFlexSetPhases</span><span class=\"p\">(</span><span class=\"n\">solver</span><span class=\"p\">,</span> <span class=\"n\">phaseBuffer</span><span class=\"p\">,</span> <span class=\"nb\">NULL</span><span class=\"p\">);</span>\n</pre></div>\n</div>\n<div class=\"section\" id=\"radius\">\n<span id=\"id4\"></span><h3>Radius<a class=\"headerlink\" href=\"#radius\" title=\"Permalink to this headline\">¶</a></h3>\n<p>All particles in Flex share the same radius, and its value has a large impact on simulation behavior and performance. The main particle radius is set via <strong>NvFlexParams::radius</strong>, which is the &#8220;interaction radius&#8221;. Particles closer than this distance will be able to affect each other. How exactly they affect each other depends on the other parameters that are set, but this is the master control that sets the upper limit on the particle interaction distance.</p>\n<p>Particles can interact as either fluids or solids, the <strong>NvFlexParams::solidRestDistance</strong> and <strong>NvFlexParams::fluidRestDistance</strong> parameters control the distance particles attempt to maintain from each other, they must both be less than or equal to the radius parameter.</p>\n</div>\n<div class=\"section\" id=\"phase\">\n<span id=\"id5\"></span><h3>Phase<a class=\"headerlink\" href=\"#phase\" title=\"Permalink to this headline\">¶</a></h3>\n<p>Each particle in Flex has an associated <em>phase</em>, this is a 32 bit integer that controls the behavior of the particle in the simulation. A phase value consists of a group identifier, and particle flags, as described below:</p>\n<ul class=\"simple\">\n<li><strong>eNvFlexPhaseGroupMask</strong> - The particle group is an arbitrary positive integer, stored in the lower 24 bits of the particle phase. Groups can be used to organize related particles and to control collisions between them. The collision rules for groups are as follows: particles of different groups will always collide with each other, but by default particles within the same group will not collide. This is useful, for example, if you have a rigid body made up of many particles and do not want the internal particles of the body to collide with each other. In this case all particles belonging to the rigid would have the same group value.</li>\n<li><strong>eFlexPhaseSelfCollide</strong> - To enable particles of the same group to collide with each other this flag should be specified on the particle phase. For example, for a piece of cloth that deforms and needs to collide with itself, each particle in the cloth could have the same group and have this flag specified.</li>\n<li><strong>eNvFlexPhaseFluid</strong> - When this flag is set the particle will also generate fluid density constraints, cohesion, and surface tension effects with other fluid particles. Note that generally fluids should have both the fluid and self-collide flag set, otherwise they will only interact with particles of other groups.</li>\n</ul>\n<p>The API comes with a helper function, <strong>NvFlexMakePhase()</strong>, that generates phase values given a group and flag set. The example below shows how to set up phases for the most common cases:</p>\n<div class=\"highlight-cpp\"><div class=\"highlight\"><pre><span class=\"c1\">// create a fluid phase that self collides and generates density constraints</span>\n<span class=\"kt\">int</span> <span class=\"n\">fluidPhase</span> <span class=\"o\">=</span> <span class=\"n\">NvFlexMakePhase</span><span class=\"p\">(</span><span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"n\">eNvFlexPhaseSelfCollide</span> <span class=\"o\">|</span> <span class=\"n\">eNvFlexPhaseFluid</span><span class=\"p\">);</span>\n\n<span class=\"c1\">// create a rigid phase that collides against other groups, but does not self-collide</span>\n<span class=\"kt\">int</span> <span class=\"n\">rigidPhase</span> <span class=\"o\">=</span> <span class=\"n\">NvFlexMakePhase</span><span class=\"p\">(</span><span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">);</span>\n\n<span class=\"c1\">// create a cloth phase that collides against other groups and itself</span>\n<span class=\"kt\">int</span> <span class=\"n\">clothPhase</span> <span class=\"o\">=</span> <span class=\"n\">NvFlexMakePhase</span><span class=\"p\">(</span><span class=\"mi\">2</span><span class=\"p\">,</span> <span class=\"n\">eNvFlexPhaseSelfCollide</span><span class=\"p\">);</span>\n</pre></div>\n</div>\n</div>\n<div class=\"section\" id=\"active-set\">\n<span id=\"active\"></span><h3>Active Set<a class=\"headerlink\" href=\"#active-set\" title=\"Permalink to this headline\">¶</a></h3>\n<p>Each solver has a fixed maximum number of particles specified at creation time (see <strong>NvFlexCreateSolver()</strong>), but not all particles need to be active at one time. Before a particle will be simulated, it must be added to the <em>active set</em>. This is an array of unique particle indices that the solver will simulate. Inactive particles have very low computational overhead, so this mechanism can be used to implement more general particle allocation strategies on top of the solver. By default the active indices array is initialized with successive numbers from 0 to maxParticles-1, so by just setting the active count value to N user can make the firts N particles active.</p>\n<p>The example code below shows how to create an active set which enables simulation on the first 10 particles in the solver:</p>\n<div class=\"highlight-cpp\"><div class=\"highlight\"><pre><span class=\"n\">NvFlexBuffer</span><span class=\"o\">*</span> <span class=\"n\">activeBuffer</span> <span class=\"o\">=</span> <span class=\"n\">NvFlexAllocBuffer</span><span class=\"p\">(</span><span class=\"n\">library</span><span class=\"p\">,</span> <span class=\"n\">n</span><span class=\"p\">,</span> <span class=\"k\">sizeof</span><span class=\"p\">(</span><span class=\"kt\">int</span><span class=\"p\">),</span> <span class=\"n\">eNvFlexBufferHost</span><span class=\"p\">);</span>\n<span class=\"kt\">int</span><span class=\"o\">*</span> <span class=\"n\">activeIndices</span> <span class=\"o\">=</span> <span class=\"p\">(</span><span class=\"kt\">int</span><span class=\"o\">*</span><span class=\"p\">)</span><span class=\"n\">NvFlexMap</span><span class=\"p\">(</span><span class=\"n\">activeBuffer</span><span class=\"p\">,</span> <span class=\"n\">eNvFlexMapWait</span><span class=\"p\">);</span>\n\n<span class=\"k\">for</span> <span class=\"p\">(</span><span class=\"kt\">int</span> <span class=\"n\">i</span><span class=\"o\">=</span><span class=\"mi\">0</span><span class=\"p\">;</span> <span class=\"n\">i</span> <span class=\"o\">&lt;</span> <span class=\"mi\">10</span><span class=\"p\">;</span> <span class=\"o\">++</span><span class=\"n\">i</span><span class=\"p\">)</span>\n        <span class=\"n\">activeIndices</span><span class=\"p\">[</span><span class=\"n\">i</span><span class=\"p\">]</span> <span class=\"o\">=</span> <span class=\"n\">i</span><span class=\"p\">;</span>\n\n<span class=\"n\">NvFlexUnmap</span><span class=\"p\">(</span><span class=\"n\">activeBuffer</span><span class=\"p\">);</span>\n\n<span class=\"n\">NvFlexSetActive</span><span class=\"p\">(</span><span class=\"n\">solver</span><span class=\"p\">,</span> <span class=\"n\">activeBuffer</span><span class=\"p\">,</span> <span class=\"nb\">NULL</span><span class=\"p\">)</span>\n<span class=\"n\">NvFlexSetActiveCount</span><span class=\"p\">(</span><span class=\"n\">solver</span><span class=\"p\">,</span> <span class=\"mi\">10</span><span class=\"p\">);</span>\n</pre></div>\n</div>\n<p><strong>Note:</strong> constraints referencing inactive particles may behave unexpectedly.</p>\n</div>\n</div>\n<div class=\"section\" id=\"constraints\">\n<span id=\"id6\"></span><h2>Constraints<a class=\"headerlink\" href=\"#constraints\" title=\"Permalink to this headline\">¶</a></h2>\n<p>Constraints in Flex are what make particles behave in interesting ways. This section describes the basic constraint types, and discusses how they can be used to model common materials.</p>\n<div class=\"section\" id=\"fluids\">\n<span id=\"id7\"></span><h3>Fluids<a class=\"headerlink\" href=\"#fluids\" title=\"Permalink to this headline\">¶</a></h3>\n<div class=\"figure align-center\">\n<a class=\"reference internal image-reference\" href=\"_images/sticky_fluids.png\"><img alt=\"_images/sticky_fluids.png\" src=\"_images/sticky_fluids.png\" style=\"width: 100%;\" /></a>\n<p class=\"caption\">Fluids adhering to a wall</p>\n</div>\n<p>Fluids in Flex are based on Position Based Fluids (PBF) [3]. This method uses position-based density constraints to achieve lower compression and better stability than traditional Smoothed Particle Hydrodynamics (SPH) methods.</p>\n<p>The behavior of the fluid depends on the ratio between <strong>NvFlexParams::radius</strong> and the <strong>NvFlexParams::fluidRestDistance</strong>, a good rule of thumb is that the ratio should be about 2:1, e.g.: a radius of 10cm, and a rest distance of 5cm. When the radius is large compared to the rest distance the fluid is said to have a larger <em>smoothing distance</em>. Larger smoothing distances generally provide a more accurate simulation, but also tend to be more expensive because particles interact with many more neighbors. If the rest-distance is close to the radius, e.g.: a radius of 10cm, and a rest distance of 9cm, then the fluid will appear more like a granular material than a fluid, but will be cheaper to simulate because there is less overlap between neighbors.</p>\n<p>Flex automatically calculates the fluid rest-density from the rest-distance and radius. When seeding fluid particles, the user should just take care to ensure particles are approximately at the rest-distance. In addition to the basic fluid density solve the following fluid behaviors are supported:</p>\n<ul class=\"simple\">\n<li><strong>Cohesion</strong> - Cohesion acts between fluid particles to bring them towards the rest-distance, while the density constraint only acts to push particles apart, cohesion can also pull them together. This creates gooey effects that cause long strands of fluids to form.</li>\n<li><strong>Surface Tension</strong> - Surface tension acts to minimize the surface area of a fluid. It can generate convincing droplets that split and merge, but is somewhat expensive computationally. Surface tension effects are mostly visible at small scales, so often surface tension is not required unless you have a high-resolution simulation.</li>\n<li><strong>Vorticity Confinement</strong> - Numerical damping can cause fluids to come to rest unrealistically quickly, especially when using low-resolution simulations. Vorticity confinement works by injecting back some rotational motion to the fluid. It is mostly useful for pools, or larger bodies of water.</li>\n<li><strong>Adhesion</strong> - Adhesion affects how particles stick to solid surfaces, when enabled particles will stick to, and slide down surfaces. Note that adhesion will affect both fluid and solid particles.</li>\n</ul>\n<p>Although Flex does not perform any rendering itself, it can generate information to support high-quality surface rendering based on ellipsoid splatting and screen-space surface reconstruction. If <strong>NvFlexParams::smoothing</strong> is &gt; 0, then Flex will calculate the Laplacian smoothed fluid particle positions that can be accessed through <strong>NvFlexGetSmoothParticles()</strong>. If, <strong>NvFlexParams::anisotropyScale</strong> is &gt; 0, then Flex will also calculate the anisotropy vectors for each fluid particle according to the distribution of it&#8217;s neighbors, these can be accessed through <strong>NvFlexGetAnisotropy()</strong>. See [4] for more information on the anisotropy calculation, and refer to the demo application for example OpenGL fluid rendering code.</p>\n</div>\n<div class=\"section\" id=\"springs\">\n<span id=\"id8\"></span><h3>Springs<a class=\"headerlink\" href=\"#springs\" title=\"Permalink to this headline\">¶</a></h3>\n<p>Springs in Flex are specified as pairs of particle indices, a rest-length, and a stiffness coefficient. They are not a spring in the classical sense, but rather a distance constraint with a user-specified stiffness. The index pairs should appear consecutively, for example the following example code sets up a chain of particles with each edge 1 unit long, with a stiffness coefficient of 0.5:</p>\n<div class=\"highlight-cpp\"><div class=\"highlight\"><pre><span class=\"k\">const</span> <span class=\"kt\">int</span> <span class=\"n\">springIndices</span><span class=\"p\">[]</span> <span class=\"o\">=</span> <span class=\"p\">{</span> <span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">2</span><span class=\"p\">,</span> <span class=\"mi\">2</span><span class=\"p\">,</span> <span class=\"mi\">3</span> <span class=\"p\">}</span>\n<span class=\"k\">const</span> <span class=\"kt\">float</span> <span class=\"n\">springLengths</span><span class=\"p\">[]</span> <span class=\"o\">=</span> <span class=\"p\">{</span> <span class=\"mf\">1.0f</span><span class=\"p\">,</span> <span class=\"mf\">1.0f</span><span class=\"p\">,</span> <span class=\"mf\">1.0f</span> <span class=\"p\">}</span>\n<span class=\"k\">const</span> <span class=\"kt\">float</span> <span class=\"n\">springCoefficients</span><span class=\"p\">[]</span> <span class=\"p\">{</span> <span class=\"mf\">0.5f</span><span class=\"p\">,</span> <span class=\"mf\">0.5f</span><span class=\"p\">,</span> <span class=\"mf\">0.5f</span> <span class=\"p\">}</span>\n\n<span class=\"n\">NvFlexBuffer</span> <span class=\"n\">indicesBuffer</span> <span class=\"o\">=</span> <span class=\"n\">NvFlexAllocBuffer</span><span class=\"p\">(</span><span class=\"n\">library</span><span class=\"p\">,</span> <span class=\"mi\">6</span><span class=\"p\">,</span> <span class=\"k\">sizeof</span><span class=\"p\">(</span><span class=\"kt\">int</span><span class=\"p\">),</span> <span class=\"n\">eNvFlexBufferHost</span><span class=\"p\">);</span>\n<span class=\"n\">NvFlexBuffer</span> <span class=\"n\">lengthsBuffer</span> <span class=\"o\">=</span> <span class=\"n\">NvFlexAllocBuffer</span><span class=\"p\">(</span><span class=\"n\">library</span><span class=\"p\">,</span> <span class=\"mi\">3</span><span class=\"p\">,</span> <span class=\"k\">sizeof</span><span class=\"p\">(</span><span class=\"kt\">float</span><span class=\"p\">),</span> <span class=\"n\">eNvFlexBufferHost</span><span class=\"p\">);</span>\n<span class=\"n\">NvFlexBuffer</span> <span class=\"n\">coefficientsBuffer</span> <span class=\"o\">=</span> <span class=\"n\">NvFlexAllocBuffer</span><span class=\"p\">(</span><span class=\"n\">library</span><span class=\"p\">,</span> <span class=\"mi\">3</span><span class=\"p\">,</span> <span class=\"k\">sizeof</span><span class=\"p\">(</span><span class=\"kt\">float</span><span class=\"p\">),</span> <span class=\"n\">eNvFlexBufferHost</span><span class=\"p\">);</span>\n\n<span class=\"n\">memcpy</span><span class=\"p\">(</span><span class=\"n\">NvFlexMap</span><span class=\"p\">(</span><span class=\"n\">indicesBuffer</span><span class=\"p\">,</span> <span class=\"n\">eNvFlexMapWait</span><span class=\"p\">),</span> <span class=\"n\">springIndices</span><span class=\"p\">,</span> <span class=\"k\">sizeof</span><span class=\"p\">(</span><span class=\"n\">springIndices</span><span class=\"p\">));</span>\n<span class=\"n\">memcpy</span><span class=\"p\">(</span><span class=\"n\">NvFlexMap</span><span class=\"p\">(</span><span class=\"n\">lengthsBuffer</span><span class=\"p\">,</span> <span class=\"n\">eNvFlexMapWait</span><span class=\"p\">),</span> <span class=\"n\">springLengths</span><span class=\"p\">,</span> <span class=\"k\">sizeof</span><span class=\"p\">(</span><span class=\"n\">springLengths</span><span class=\"p\">));</span>\n<span class=\"n\">memcpy</span><span class=\"p\">(</span><span class=\"n\">NvFlexMap</span><span class=\"p\">(</span><span class=\"n\">coefficientsBuffer</span><span class=\"p\">,</span> <span class=\"n\">eNvFlexMapWait</span><span class=\"p\">),</span> <span class=\"n\">springCoefficients</span><span class=\"p\">,</span> <span class=\"k\">sizeof</span><span class=\"p\">(</span><span class=\"n\">springCoefficients</span><span class=\"p\">));</span>\n\n<span class=\"n\">NvFlexUnmap</span><span class=\"p\">(</span><span class=\"n\">indicesBuffer</span><span class=\"p\">);</span>\n<span class=\"n\">NvFlexUnmap</span><span class=\"p\">(</span><span class=\"n\">lengthsBuffer</span><span class=\"p\">);</span>\n<span class=\"n\">NvFlexUnmap</span><span class=\"p\">(</span><span class=\"n\">coefficientsBuffer</span><span class=\"p\">);</span>\n\n<span class=\"n\">NvFlexSetSprings</span><span class=\"p\">(</span><span class=\"n\">solver</span><span class=\"p\">,</span> <span class=\"n\">indicesBuffer</span><span class=\"p\">,</span> <span class=\"n\">lengthsBuffer</span><span class=\"p\">,</span> <span class=\"n\">coefficientsBuffer</span><span class=\"p\">,</span> <span class=\"mi\">3</span><span class=\"p\">);</span>\n</pre></div>\n</div>\n<p>Distance constraints are incredibly versatile, and relatively cheap to solve. When combined with dynamic topology changes they can model interesting effects such as tearing, merging.</p>\n</div>\n<div class=\"section\" id=\"cloth\">\n<span id=\"id9\"></span><h3>Cloth<a class=\"headerlink\" href=\"#cloth\" title=\"Permalink to this headline\">¶</a></h3>\n<p>Clothing in Flex is modeled using networks of springs. The cloth model is up to the user, but the extensions library provides an example\ncloth cooker (<strong>NvFlexExtCreateClothFromMesh()</strong>) that implements a common approach where the 1-ring neighbors are used to control stretch, and 2-ring neighbors are used to control bending.</p>\n<div class=\"figure align-center\">\n<a class=\"reference internal image-reference\" href=\"_images/flag.png\"><img alt=\"_images/flag.png\" src=\"_images/flag.png\" style=\"width: 100%;\" /></a>\n<p class=\"caption\">Cloth Flag</p>\n</div>\n<p>In addition to the basic cloth behavior governed by the distance constraints, there are some cloth specific features in Flex. By specifying\nthe underlying triangle topology using <strong>NvFlexSetDynamicTriangles()</strong>, additional forces can be computed to generate more complex effects. Specifically:</p>\n<ul class=\"simple\">\n<li><strong>Lift and drag</strong> - Triangles will generate drag forces and lift forces proportional to area and orientation. This can generate interesting fluttering motion on pieces of cloth, typically drag forces should be set higher than lift.</li>\n<li><strong>Wind</strong> - In addition to gravity, a global acceleration vector is provided to model basic wind. If the drag parameter is non-zero then triangles will receive forces according  to the wind vector&#8217;s direction and magnitude.</li>\n<li><strong>Smooth normals</strong> - When triangle topology is set, Flex will also generate smoothed vertex normals based on the current particle positions, these can be retrieved through <strong>NvFlexGetNormals()</strong> for rendering.</li>\n</ul>\n<p><strong>Note:</strong> because all collisions in Flex are performed at the particle level, the cloth mesh must be sufficiently well tessellated to avoid particle tunneling. Care must especially be taken for clothing with self-collision, the cloth mesh should be authored so that the mesh has a uniform edge length close to the solid particle rest distance. If self-collision is enabled, and particles are closer than this in the mesh then erroneous buckling or folding might occur as the distance and collision constraints fight each other.</p>\n</div>\n<div class=\"section\" id=\"inflatables\">\n<span id=\"inflatable\"></span><h3>Inflatables<a class=\"headerlink\" href=\"#inflatables\" title=\"Permalink to this headline\">¶</a></h3>\n<div class=\"figure align-center\">\n<a class=\"reference internal image-reference\" href=\"_images/inflatables.png\"><img alt=\"_images/inflatables.png\" src=\"_images/inflatables.png\" style=\"width: 100%;\" /></a>\n</div>\n<p>Inflatable bodies can be seen as an extension of a cloth model. An inflatable can be constructed by starting with a closed triangle mesh and adding a volume constraint to the solver. To set up an inflatable object Flex needs a closed, 2-manifold mesh to be specified using <strong>NvFlexSetDynamicTriangles()</strong>. An inflatable is then defined by a start and end range in the triangles array using <strong>NvFlexSetInflatables()</strong>. Each inflatable has an &#8216;overpressure&#8217; parameter that controls how inflated it is relative to it&#8217;s rest volume.</p>\n<p>Although Flex does not currently expose tetrahedral constraints, they can be simulated in a limited fashion by creating distance constraints along the tetrahedral mesh edges.</p>\n</div>\n<div class=\"section\" id=\"rigid-bodies\">\n<span id=\"rigid\"></span><h3>Rigid Bodies<a class=\"headerlink\" href=\"#rigid-bodies\" title=\"Permalink to this headline\">¶</a></h3>\n<p>Rigid bodies in Flex are modeled quite differently from traditional rigid body solvers. In Flex, each rigid body consists of a collection of particles, and a shape matching constraint that holds them in a rigid configuration. By using particles to represent rigid bodies, Flex can use the same collision pipeline as for fluids, clothing, etc. Also, the shape-matching allows us to have semi-rigid, or deformable bodies, by setting a stiffness parameter per-body.</p>\n<div class=\"figure align-center\">\n<a class=\"reference internal image-reference\" href=\"_images/blocks.png\"><img alt=\"_images/blocks.png\" src=\"_images/blocks.png\" style=\"width: 100%;\" /></a>\n<p class=\"caption\">Block Pile</p>\n</div>\n<p>Rigid bodies are specified by a set of rest-positions, relative to the body center of mass, through <strong>NvFlexSetRigids()</strong>. The extensions library provides an example function (<strong>NvFlexExtCreateRigidFromMesh()</strong>) that shows how particles can be placed to represent a triangle mesh. During simulation collisions are handled for each particle individually, so that after a collision, the particles are typically no-longer in their rigid configuration. In order to restore rigidity, the least squares best rigid transform is found to match the deformed particle positions back to the rigid shape. Unlike a traditional rigid body solver the linear or angular velocity of the body are not explicitly tracked, these quantities are simply derived from the particles referenced.</p>\n<p>There are some limitations with this particle based approach. When the time-step is too large the particles can tunnel through each other and become interlocked. Flex allows you to specify a normal and distance value per-particle to help avoid this, see the paper [2] for more details. Another limitation of shape-matching is that the stiffness of the rigid body is affected by how many particles make it up. Bodies made of many particles can require many iterations to converge, and appear &#8216;squishy&#8217;. Because of this, it is generally recommended to use Flex for smaller rigid bodies, and use a traditional rigid body solver for larger bodies. A good rule of thumb is to keep the effective particle resolution under 64^3 per-body.</p>\n<p>The table below summarizes the strengths and weaknesses of Flex rigid bodies and suggests some suitable applications:</p>\n<table class=\"table\">\n<colgroup>\n<col width=\"50%\" />\n<col width=\"50%\" />\n</colgroup>\n<thead valign=\"bottom\">\n<tr class=\"row-odd\"><th class=\"head\">Strength</th>\n<th class=\"head\">Examples</th>\n</tr>\n</thead>\n<tbody valign=\"top\">\n<tr class=\"row-even\"><td>Environmental debris</td>\n<td>Bullet shrapnel, rocks, cans</td>\n</tr>\n<tr class=\"row-odd\"><td>Unstructured piling</td>\n<td>Piles of trash</td>\n</tr>\n<tr class=\"row-even\"><td>Non-convex shapes</td>\n<td>Irregular stones, bones, bananas</td>\n</tr>\n<tr class=\"row-odd\"><td>Two-way interaction</td>\n<td>Parachuting bunnies</td>\n</tr>\n</tbody>\n</table>\n<table class=\"table\">\n<colgroup>\n<col width=\"50%\" />\n<col width=\"50%\" />\n</colgroup>\n<thead valign=\"bottom\">\n<tr class=\"row-odd\"><th class=\"head\">Weakness</th>\n<th class=\"head\">Examples</th>\n</tr>\n</thead>\n<tbody valign=\"top\">\n<tr class=\"row-even\"><td>Thin or sharp objects</td>\n<td>Floor tiles, glass shards</td>\n</tr>\n<tr class=\"row-odd\"><td>Structured stacking</td>\n<td>Brickwork, arches</td>\n</tr>\n<tr class=\"row-even\"><td>Large relative sizes</td>\n<td>Large scale destruction</td>\n</tr>\n<tr class=\"row-odd\"><td>Collision filtering</td>\n<td>Character controller</td>\n</tr>\n</tbody>\n</table>\n<p>The particles in a rigid body can be affected by other constraints in Flex, some example applications of this generality are:</p>\n<ul class=\"simple\">\n<li>Adding a rigid constraint to a piece of clothing to generate stiff bending resistance even at low-iteration counts</li>\n<li>Adding a rigid constraint to a fluid and animating the rigid stiffness to simulate melting or phase changes</li>\n<li>Connecting rigid bodies to clothing through distance constraints, e.g.: cloth hanging from the sides of a rigid body</li>\n</ul>\n</div>\n<div class=\"section\" id=\"soft-bodies\">\n<span id=\"soft\"></span><h3>Soft Bodies<a class=\"headerlink\" href=\"#soft-bodies\" title=\"Permalink to this headline\">¶</a></h3>\n<div class=\"figure align-center\">\n<a class=\"reference internal image-reference\" href=\"_images/flex_soft_body.jpg\"><img alt=\"_images/flex_soft_body.jpg\" src=\"_images/flex_soft_body.jpg\" style=\"width: 100%;\" /></a>\n</div>\n<p>Soft bodies can be modelled by using &#8216;clusters&#8217; of shape-matching constraints. Because each shape-matching constraint&#8217;s output is a rotation and translation, it can be useful to think of them similar to bones in a traditional skeletal deformation system.</p>\n<p>Each paticle may belong to multiple clusters (shape-matching constraint), by overlapping clusters and averaging their output the system can deform realistically. The more shape-matching constraints used in body the more degrees of freedom it has. If a body has only one shape-matching constraint then it is treated essentially as a rigid body.</p>\n<p>The Flex extensions library contains an example cooker for creating soft bodies, see <strong>NvFlexExtCreateSoftFromMesh()</strong>. It works by first voxelizing the mesh into particles, then grouping particles into overlapping clusters. Because shape matching consraints act to resist bending and torsion in the model the cooker may optionally include regular distance constraints, or &#8216;links&#8217; between neighboring particles. By setting the stiffness separately for links and clusters bending and stretching can be controlled separately.</p>\n</div>\n</div>\n<div class=\"section\" id=\"solver\">\n<span id=\"id10\"></span><h2>Solver<a class=\"headerlink\" href=\"#solver\" title=\"Permalink to this headline\">¶</a></h2>\n<div class=\"section\" id=\"time-stepping\">\n<span id=\"stepping\"></span><h3>Time Stepping<a class=\"headerlink\" href=\"#time-stepping\" title=\"Permalink to this headline\">¶</a></h3>\n<p>Flex supports sub-stepping through the <strong>NvFlexUpdateSolver()</strong> <em>substeps</em> parameter. There is a trade-off between increasing the number of iterations and increasing the number of substeps. Collision detection is performed once per-substep, which means increasing substeps is more expensive than adding iterations, but it is often the only way to improve the accuracy of collision detection when using small particles. Each substep performs <strong>NvFlexParams::numIterations</strong> solve passes over the constraints, so substepping will also make constraints appear stiffer.</p>\n<p>For best results the solver should be ticked with fixed time-steps. If the application runs with a variable frame rate, then the application should divide each frame&#8217;s delta time into fixed size chunks and set the sub-step parameter accordingly. Variable time stepping is supported, but will often result in &#8216;wiggle&#8217; or &#8216;jittering&#8217;, as the amount of constraint error is usually related to the time-step size.</p>\n<p><strong>Note:</strong> many constraint types allow the user to specify a stiffness value, but the overall stiffness of the simulation is dependent on the number of solver iterations, the time-step, and the number of sub-steps.</p>\n</div>\n<div class=\"section\" id=\"relaxation\">\n<span id=\"id11\"></span><h3>Relaxation<a class=\"headerlink\" href=\"#relaxation\" title=\"Permalink to this headline\">¶</a></h3>\n<p>Typically the constraint solve is the most time-consuming aspect of the simulation, so Flex has some parameters to fine-tune the convergence speed. The solver has two primary modes of operation, <em>local</em>, and <em>global</em>, as described below:</p>\n<ul class=\"simple\">\n<li><strong>eNvFlexRelaxationLocal</strong> - In this mode a local averaging is performed per-particle. The sum of all constraints affecting a particle is averaged before updating the position and velocity. This method is very robust and will generally converge even in difficult circumstances, for example when competing or redundant constraints are present. However it tends to converge quite slowly, and requires many iterations to appear stiff. To improve convergence in this mode <strong>NvFlexParams::relaxationFactor</strong> can be set to a value &gt; 1.0, this is called <em>over relaxation</em>, values much larger than 1.0 will occasionally cause the simulation to blow up so it should be set carefully.</li>\n<li><strong>eNvFlexRelaxationGlobal</strong> - In this mode the effect of constraints is weighted by a global factor, no averaging is performed. This mode tends to converge faster than the local mode, but may cause divergence in difficult cases. In this mode the relaxation factor, <strong>relaxationFactor</strong>, should be set to a value &lt; 1.0, e.g.: 0.25-0.5 to ensure convergence.</li>\n</ul>\n</div>\n</div>\n<div class=\"section\" id=\"collision\">\n<span id=\"id12\"></span><h2>Collision<a class=\"headerlink\" href=\"#collision\" title=\"Permalink to this headline\">¶</a></h2>\n<p>Flex supports static collision geometry in the form of spheres, capsules, planes, convex shapes, triangle meshes, and signed distance fields (SDF). Shape geometry is always specified in a local space, and then instanced into the scene with a translation and rotation. Flex uses a flat buffer of geometry types to allow it to efficiently treat each type:</p>\n<div class=\"highlight-cpp\"><div class=\"highlight\"><pre><span class=\"k\">union</span> <span class=\"n\">NvFlexCollisionGeometry</span>\n<span class=\"p\">{</span>\n        <span class=\"n\">NvFlexSphereGeometry</span> <span class=\"n\">sphere</span><span class=\"p\">;</span>\n        <span class=\"n\">NvFlexCapsuleGeometry</span> <span class=\"n\">capsule</span><span class=\"p\">;</span>\n        <span class=\"n\">NvFlexBoxGeometry</span> <span class=\"n\">box</span><span class=\"p\">;</span>\n        <span class=\"n\">NvFlexConvexMeshGeometry</span> <span class=\"n\">convexMesh</span><span class=\"p\">;</span>\n        <span class=\"n\">NvFlexTriangleMeshGeometry</span> <span class=\"n\">triMesh</span><span class=\"p\">;</span>\n        <span class=\"n\">NvFlexSDFGeometry</span> <span class=\"n\">sdf</span><span class=\"p\">;</span>\n<span class=\"p\">};</span>\n</pre></div>\n</div>\n<p>The collision geometry is specified as an array of geometry and world space transforms. Once an array of geometry structs and transforms has been filled out it is sent to Flex via the <strong>NvFlexSetShapes()</strong> method. This will build a broad-phase structure that allow for fast GPU queries against the shapes. The following example shows how to set up a sphere and a triangle mesh shape:</p>\n<div class=\"highlight-cpp\"><div class=\"highlight\"><pre><span class=\"n\">NvFlexCollisionGeometry</span><span class=\"o\">*</span> <span class=\"n\">geometry</span> <span class=\"o\">=</span> <span class=\"p\">(</span><span class=\"n\">NvFlexCollisionGeometry</span><span class=\"o\">*</span><span class=\"p\">)</span><span class=\"n\">NvFlexMap</span><span class=\"p\">(</span><span class=\"n\">geometryBuffer</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">);</span>\n<span class=\"n\">float4</span><span class=\"o\">*</span> <span class=\"n\">positions</span> <span class=\"o\">=</span> <span class=\"p\">(</span><span class=\"n\">float4</span><span class=\"o\">*</span><span class=\"p\">)</span><span class=\"n\">NvFlexMap</span><span class=\"p\">(</span><span class=\"n\">positionsBuffer</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">);</span>\n<span class=\"n\">quat</span><span class=\"o\">*</span> <span class=\"n\">rotations</span> <span class=\"o\">=</span> <span class=\"p\">(</span><span class=\"n\">quat</span><span class=\"o\">*</span><span class=\"p\">)</span><span class=\"n\">NvFlexMap</span><span class=\"p\">(</span><span class=\"n\">rotationsBuffer</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">);</span>\n<span class=\"kt\">int</span><span class=\"o\">*</span> <span class=\"n\">flags</span> <span class=\"o\">=</span> <span class=\"p\">(</span><span class=\"kt\">int</span><span class=\"o\">*</span><span class=\"p\">)</span><span class=\"n\">NvFlexMap</span><span class=\"p\">(</span><span class=\"n\">flagsBuffer</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">);</span>\n\n<span class=\"c1\">// add sphere</span>\n<span class=\"n\">flags</span><span class=\"p\">[</span><span class=\"mi\">0</span><span class=\"p\">]</span> <span class=\"o\">=</span> <span class=\"n\">NvFlexMakeShapeFlags</span><span class=\"p\">(</span><span class=\"n\">eNvFlexShapeSphere</span><span class=\"p\">,</span> <span class=\"nb\">false</span><span class=\"p\">);</span>\n<span class=\"n\">geometry</span><span class=\"p\">[</span><span class=\"mi\">0</span><span class=\"p\">].</span><span class=\"n\">sphere</span><span class=\"p\">.</span><span class=\"n\">radius</span> <span class=\"o\">=</span> <span class=\"n\">radius</span><span class=\"p\">;</span>\n<span class=\"n\">positions</span><span class=\"p\">[</span><span class=\"mi\">0</span><span class=\"p\">]</span> <span class=\"o\">=</span> <span class=\"n\">float3</span><span class=\"p\">(</span><span class=\"mf\">0.0f</span><span class=\"p\">);</span>\n<span class=\"n\">rotations</span><span class=\"p\">[</span><span class=\"mi\">0</span><span class=\"p\">]</span> <span class=\"o\">=</span> <span class=\"n\">quat</span><span class=\"p\">(</span><span class=\"mf\">0.0f</span><span class=\"p\">);</span>\n\n<span class=\"c1\">// create a triangle mesh</span>\n<span class=\"n\">NvFlexTriangleMeshId</span> <span class=\"n\">mesh</span> <span class=\"o\">=</span> <span class=\"n\">NvFlexCreateTriangleMesh</span><span class=\"p\">();</span>\n<span class=\"n\">NvFlexUpdateTriangleMesh</span><span class=\"p\">(</span><span class=\"n\">lib</span><span class=\"p\">,</span> <span class=\"n\">mesh</span><span class=\"p\">,</span> <span class=\"n\">vertices</span><span class=\"p\">,</span> <span class=\"n\">indices</span><span class=\"p\">,</span> <span class=\"n\">numVertices</span><span class=\"p\">,</span> <span class=\"n\">numTriangles</span><span class=\"p\">,</span> <span class=\"nb\">NULL</span><span class=\"p\">,</span> <span class=\"nb\">NULL</span><span class=\"p\">);</span>\n\n<span class=\"c1\">// add triangle mesh instance</span>\n<span class=\"n\">flags</span><span class=\"p\">[</span><span class=\"mi\">1</span><span class=\"p\">]</span> <span class=\"o\">=</span> <span class=\"n\">NvFlexMakeShapeFlags</span><span class=\"p\">(</span><span class=\"n\">eNvFlexShapeTriangleMesh</span><span class=\"p\">,</span> <span class=\"nb\">false</span><span class=\"p\">);</span>\n<span class=\"n\">geometry</span><span class=\"p\">[</span><span class=\"mi\">1</span><span class=\"p\">].</span><span class=\"n\">triMesh</span><span class=\"p\">.</span><span class=\"n\">mesh</span> <span class=\"o\">=</span> <span class=\"n\">mesh</span><span class=\"p\">;</span>\n<span class=\"n\">geometry</span><span class=\"p\">[</span><span class=\"mi\">1</span><span class=\"p\">].</span><span class=\"n\">triMesh</span><span class=\"p\">.</span><span class=\"n\">scale</span><span class=\"p\">[</span><span class=\"mi\">0</span><span class=\"p\">]</span> <span class=\"o\">=</span> <span class=\"mf\">1.0f</span><span class=\"p\">;</span>\n<span class=\"n\">geometry</span><span class=\"p\">[</span><span class=\"mi\">1</span><span class=\"p\">].</span><span class=\"n\">triMesh</span><span class=\"p\">.</span><span class=\"n\">scale</span><span class=\"p\">[</span><span class=\"mi\">1</span><span class=\"p\">]</span> <span class=\"o\">=</span> <span class=\"mf\">1.0f</span><span class=\"p\">;</span>\n<span class=\"n\">geometry</span><span class=\"p\">[</span><span class=\"mi\">1</span><span class=\"p\">].</span><span class=\"n\">triMesh</span><span class=\"p\">.</span><span class=\"n\">scale</span><span class=\"p\">[</span><span class=\"mi\">2</span><span class=\"p\">]</span> <span class=\"o\">=</span> <span class=\"mf\">1.0f</span><span class=\"p\">;</span>\n<span class=\"n\">positions</span><span class=\"p\">[</span><span class=\"mi\">1</span><span class=\"p\">]</span> <span class=\"o\">=</span> <span class=\"n\">float3</span><span class=\"p\">(</span><span class=\"mf\">0.0f</span><span class=\"p\">,</span> <span class=\"mf\">100.0f</span><span class=\"p\">,</span> <span class=\"mf\">0.0f</span><span class=\"p\">);</span>\n<span class=\"n\">rotations</span><span class=\"p\">[</span><span class=\"mi\">1</span><span class=\"p\">]</span> <span class=\"o\">=</span> <span class=\"n\">quat</span><span class=\"p\">(</span><span class=\"mf\">0.0f</span><span class=\"p\">);</span>\n\n<span class=\"c1\">// unmap buffers</span>\n<span class=\"n\">NvFlexUnmap</span><span class=\"p\">(</span><span class=\"n\">geometryBuffer</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">);</span>\n<span class=\"n\">NvFlexUnmap</span><span class=\"p\">(</span><span class=\"n\">positionsBuffer</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">);</span>\n<span class=\"n\">NvFlexUnmap</span><span class=\"p\">(</span><span class=\"n\">rotationsBuffer</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">);</span>\n<span class=\"n\">NvFlexUnmap</span><span class=\"p\">(</span><span class=\"n\">flagsBuffer</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">);</span>\n\n<span class=\"c1\">// send shapes to Flex</span>\n<span class=\"n\">NvFlexSetShapes</span><span class=\"p\">(</span><span class=\"n\">solver</span><span class=\"p\">,</span> <span class=\"n\">geometry</span><span class=\"p\">,</span> <span class=\"n\">positions</span><span class=\"p\">,</span> <span class=\"n\">rotation</span><span class=\"p\">,</span> <span class=\"nb\">NULL</span><span class=\"p\">,</span> <span class=\"nb\">NULL</span><span class=\"p\">,</span> <span class=\"n\">flags</span><span class=\"p\">,</span> <span class=\"mi\">2</span><span class=\"p\">);</span>\n</pre></div>\n</div>\n<p>Shapes may also have a previous translation and rotation specified which enables accurate frictional effects to be calculated. Each shape may also be marked as static or dynamic, which affects the priority that contacts are solved in, see the section on collision priorty;</p>\n<div class=\"section\" id=\"spheres\">\n<span id=\"id13\"></span><h3>Spheres<a class=\"headerlink\" href=\"#spheres\" title=\"Permalink to this headline\">¶</a></h3>\n<p>The simplest shape, defined as follows:</p>\n<div class=\"highlight-cpp\"><div class=\"highlight\"><pre><span class=\"k\">struct</span> <span class=\"n\">NvFlexSphereGeometry</span>\n<span class=\"p\">{</span>\n        <span class=\"kt\">float</span> <span class=\"n\">radius</span><span class=\"p\">;</span>\n<span class=\"p\">};</span>\n</pre></div>\n</div>\n</div>\n<div class=\"section\" id=\"capsules\">\n<span id=\"id14\"></span><h3>Capsules<a class=\"headerlink\" href=\"#capsules\" title=\"Permalink to this headline\">¶</a></h3>\n<p>Defined as a radius and half-height along the local x-axis, with the center of the shape at middle of the capsule:</p>\n<div class=\"highlight-cpp\"><div class=\"highlight\"><pre><span class=\"k\">struct</span> <span class=\"n\">NvFlexCapsuleGeometry</span>\n<span class=\"p\">{</span>\n        <span class=\"kt\">float</span> <span class=\"n\">radius</span><span class=\"p\">;</span>\n        <span class=\"kt\">float</span> <span class=\"n\">halfHeight</span><span class=\"p\">;</span>\n<span class=\"p\">};</span>\n</pre></div>\n</div>\n</div>\n<div class=\"section\" id=\"triangle-meshes\">\n<span id=\"triangles\"></span><h3>Triangle Meshes<a class=\"headerlink\" href=\"#triangle-meshes\" title=\"Permalink to this headline\">¶</a></h3>\n<p>Indexed triangle meshes can be created by calling the <strong>NvFlexCreateTriangleMesh()</strong> method. Once a mesh definition has been created it can be instanced into the scene using the following structure:</p>\n<div class=\"highlight-cpp\"><div class=\"highlight\"><pre><span class=\"k\">struct</span> <span class=\"n\">NvFlexTriangleMeshGeometry</span>\n<span class=\"p\">{</span>\n        <span class=\"kt\">float</span> <span class=\"n\">scale</span><span class=\"p\">[</span><span class=\"mi\">3</span><span class=\"p\">];</span>            <span class=\"c1\">//!&lt; The scale of the object from local space to world space</span>\n        <span class=\"n\">FlexTriangleMeshId</span> <span class=\"n\">mesh</span><span class=\"p\">;</span>   <span class=\"c1\">//!&lt; A triangle mesh pointer created by NvFlexCreateTriangleMesh()</span>\n<span class=\"p\">};</span>\n</pre></div>\n</div>\n<p>Collision against triangle meshes is performed using CCD line-segment tests, using the particle velocity at the beginning of the frame. Triangle tests are performed as if one-sided with CCW front faces. Even though the initial test is a form of continuous collision detection, it is still possible for particles to tunnel if they are pushed through the triangle mesh by constraints during the constraint solve.</p>\n<p><strong>Note:</strong> For triangle mesh collision to be robust, the <strong>NvFlexParams::collisionDistance</strong> should be set to a non-zero value, otherwise particles may initially collide and then &#8216;slip&#8217; through the mesh due to numerical precision errors.</p>\n</div>\n<div class=\"section\" id=\"convex-meshes\">\n<span id=\"convexes\"></span><h3>Convex Meshes<a class=\"headerlink\" href=\"#convex-meshes\" title=\"Permalink to this headline\">¶</a></h3>\n<p>Convex polyhedrons are supported, and are represented by sets of half-spaces specified by the following plane struct:</p>\n<div class=\"highlight-cpp\"><div class=\"highlight\"><pre><span class=\"k\">struct</span> <span class=\"n\">NvFlexConvexMeshGeometry</span>\n<span class=\"p\">{</span>\n        <span class=\"kt\">float</span> <span class=\"n\">scale</span><span class=\"p\">[</span><span class=\"mi\">3</span><span class=\"p\">];</span>\n        <span class=\"n\">NvFlexConvexMeshId</span> <span class=\"n\">mesh</span><span class=\"p\">;</span>\n<span class=\"p\">};</span>\n</pre></div>\n</div>\n<p>Where the mesh is created through <strong>NvFlexCreateConvexMesh()</strong>.</p>\n</div>\n<div class=\"section\" id=\"signed-distance-fields\">\n<span id=\"sdfs\"></span><h3>Signed Distance Fields<a class=\"headerlink\" href=\"#signed-distance-fields\" title=\"Permalink to this headline\">¶</a></h3>\n<p>Signed distance fields (SDFs) can be specified as a dense voxel array of floating point data. SDFs are very cheap to collide against because they are stored as volume textures on the GPU and have an O(1) lookup cost. To create an SDF, first call <strong>NvFlexCreateSDF()</strong>, and then instance it into the scene by filling out the geometry struct:</p>\n<div class=\"highlight-cpp\"><div class=\"highlight\"><pre><span class=\"k\">struct</span> <span class=\"n\">NvFlexSDFGeometry</span>\n<span class=\"p\">{</span>\n        <span class=\"kt\">float</span> <span class=\"n\">scale</span><span class=\"p\">;</span>                                    <span class=\"c1\">//!&lt; Should be equivalent to the width of the SDF in world space.</span>\n        <span class=\"n\">NvFlexDistanceFieldId</span> <span class=\"n\">field</span><span class=\"p\">;</span>    <span class=\"c1\">//!&lt; A signed distance field pointer created by NvFlexCreateSDF()</span>\n<span class=\"p\">};</span>\n</pre></div>\n</div>\n<p>SDFs are defined in a right-handed coordinate system where the voxel corresponding to an index x,y,z is given by index = z*width*height + y*width + x. The origin of the shape is at the corner of the SDF with index 0,0,0.</p>\n<p>Currently SDFs can only be square (cubic) volumes, the scale parameter should be set equal to the edge length of the shape AABB.</p>\n<p>Flex uses the convention that negative values represent the shape interior, with the distance value normalized between -1 to 1 according to the volume dimensions.</p>\n</div>\n<div class=\"section\" id=\"planes\">\n<span id=\"id15\"></span><h3>Planes<a class=\"headerlink\" href=\"#planes\" title=\"Permalink to this headline\">¶</a></h3>\n<p>In addition to the convex meshes, there is also a convenient way to set infinite half-spaces to the solver through <strong>NvFlexParams::planes</strong>.</p>\n</div>\n<div class=\"section\" id=\"margins\">\n<span id=\"id16\"></span><h3>Margins<a class=\"headerlink\" href=\"#margins\" title=\"Permalink to this headline\">¶</a></h3>\n<p>For most geometry, Flex uses discrete collision detection which is generally performed once per-substep. Performing collision detection only once per-substep is efficient, but means that collisions may be missed. When this happens, the particle may either tunnel through the shape, or be ejected back out on the next frame. This can sometimes appear as popping or jumping for no obvious reason. One way to ensure collisions are not missed is to increase the distance at which the contacts are generated. This is what the margin parameters\nare used for:</p>\n<ul class=\"simple\">\n<li><strong>NvFlexParams::particleCollisionMargin</strong> - Increases the distance at which particle interactions are created</li>\n<li><strong>NvFlexParams::shapeCollisionMargin</strong> - Increases the distance at which contacts with static geometry are considered</li>\n</ul>\n<p><strong>Note:</strong> increasing the collision margin will naturally generate more contacts, which can also be problematic. Internally Flex stores up to 6 contact planes\nper-particle, if this is exceeded then subsequent contacts will be dropped. Increasing the margin can also harm performance, be particularly\ncareful increasing the particle collision margin, as this can cause many particle neighbors to be unnecessarily considered. Generally the margins should only be\nincreased if you are having problems with collision, and always set as low as possible.</p>\n<p><strong>Note:</strong> margins are added on top of the <strong>NvFlexParams::radius</strong> parameter.</p>\n</div>\n<div class=\"section\" id=\"priority\">\n<span id=\"id17\"></span><h3>Priority<a class=\"headerlink\" href=\"#priority\" title=\"Permalink to this headline\">¶</a></h3>\n<p>The order in which particle contacts with shapes are processed has a large impact on the behavior of the simulation. To avoid tunneling through thin shapes, and to prevent dynamic objects pushing particles through static shapes, Flex processes contacts with the following priority:</p>\n<ol class=\"arabic simple\">\n<li>Triangle meshes</li>\n<li>Static signed distance fields (SDFs)</li>\n<li>Static convex meshes</li>\n<li>Dynamic convex meshes</li>\n</ol>\n</div>\n</div>\n<div class=\"section\" id=\"diffuse-particles\">\n<span id=\"diffuse\"></span><h2>Diffuse Particles<a class=\"headerlink\" href=\"#diffuse-particles\" title=\"Permalink to this headline\">¶</a></h2>\n<div class=\"figure align-center\">\n<a class=\"reference internal image-reference\" href=\"_images/diffuse.png\"><img alt=\"_images/diffuse.png\" src=\"_images/diffuse.png\" style=\"width: 100%;\" /></a>\n<p class=\"caption\">Diffuse foam and spray particles</p>\n</div>\n<p>The spray and foam in Flex is made through the use of diffuse particles. These are secondary, <em>passive</em>, particles that can be used to add additional detail to an underlying\nsimulation. Diffuse particles can be created through the <strong>NvFlexSetDiffuseParticles()</strong> method, or created by the simulation itself. If <strong>NvFlexParams::diffuseThreshold</strong> is set, then colliding fluid particles generate a diffuse <em>potential</em> according to their kinetic energy and relative velocity. When this potential goes over the threshold a new diffuse particle will be spawned at a random location around that particle.</p>\n<p>When a diffuse particle is surrounded by fluid neighbors, it will interpolate their velocity and be advected forward through the flow. If a diffuse particle has less than <strong>NvFlexParams::diffuseBallistic</strong> neighboring particles, then it will be treated as a simple ballistic particle and move under gravity.</p>\n<p><strong>Note:</strong> it is often useful to have the diffuse particles sorted back to front for rendering. The solver can optionally perform this sort by specifying the <strong>NvFlexParams::diffuseSortAxis</strong>, if this is zero then the particles will not be sorted for rendering.</p>\n</div>\n<div class=\"section\" id=\"threading\">\n<span id=\"id18\"></span><h2>Threading<a class=\"headerlink\" href=\"#threading\" title=\"Permalink to this headline\">¶</a></h2>\n<p>The Flex core and extension APIs are not thread-safe, meaning only one thread should ever use the API at a time. Almost all Flex operations are performed asynchronously on the GPU. For example, when you call <strong>NvFlexUpdateSolver()</strong> Flex will launch a number of GPU kernels that will complete some time in the future. Likewise, when you ask Flex to get the updated data using one of the NvFlexGet*() methods, it is launching an asynchronous copy into the FlexBuffer provided. Control will return to the CPU while the transfer is still in progress.</p>\n<p>Synchronization occurs when you call <strong>NvFlexMap()</strong> on a simulation buffer. To avoid making the CPU wait a long time for the GPU to finish its work it is good practice to call <strong>NvFlexMap()</strong> as far away from the <strong>NvFlexUpdateSolver()</strong> and <strong>NvFlexGet*()</strong> as possible. This gives the GPU enough time to finish its work so that the new data is ready for when you call <strong>NvFlexMap()</strong>. The following snippet shows an example of this by performing the main game tick after the the read-back methods have been issued.:</p>\n<div class=\"highlight-cpp\"><div class=\"highlight\"><pre><span class=\"k\">while</span> <span class=\"p\">(</span><span class=\"o\">!</span><span class=\"n\">done</span><span class=\"p\">)</span>\n<span class=\"p\">{</span>\n<span class=\"c1\">// map buffers for reading / writing (synchronizes with GPU)</span>\n<span class=\"n\">float4</span><span class=\"o\">*</span> <span class=\"n\">particles</span> <span class=\"o\">=</span> <span class=\"p\">(</span><span class=\"n\">float4</span><span class=\"o\">*</span><span class=\"p\">)</span><span class=\"n\">NvFlexMap</span><span class=\"p\">(</span><span class=\"n\">particleBuffer</span><span class=\"p\">,</span> <span class=\"n\">eNvFlexMapWait</span><span class=\"p\">);</span>\n<span class=\"n\">float3</span><span class=\"o\">*</span> <span class=\"n\">velocities</span>  <span class=\"o\">=</span> <span class=\"p\">(</span><span class=\"n\">float3</span><span class=\"o\">*</span><span class=\"p\">)</span><span class=\"n\">NvFlexMap</span><span class=\"p\">(</span><span class=\"n\">velocityBuffer</span><span class=\"p\">,</span> <span class=\"n\">eNvFlexMapWait</span><span class=\"p\">);</span>\n<span class=\"kt\">int</span><span class=\"o\">*</span> <span class=\"n\">phases</span> <span class=\"o\">=</span> <span class=\"p\">(</span><span class=\"kt\">int</span><span class=\"o\">*</span><span class=\"p\">)</span><span class=\"n\">NvFlexMap</span><span class=\"p\">(</span><span class=\"n\">phaseBuffer</span><span class=\"p\">,</span> <span class=\"n\">eNvFlexMapWait</span><span class=\"p\">);</span>\n\n<span class=\"c1\">// application CPU-side particle update</span>\n<span class=\"n\">UpdateBuffers</span><span class=\"p\">(</span><span class=\"n\">particles</span><span class=\"p\">,</span> <span class=\"n\">velocities</span><span class=\"p\">,</span> <span class=\"n\">phases</span><span class=\"p\">);</span>\n\n<span class=\"c1\">// unmap buffers</span>\n<span class=\"n\">NvFlexUnmap</span><span class=\"p\">(</span><span class=\"n\">particleBuffer</span><span class=\"p\">);</span>\n<span class=\"n\">NvFlexUnmap</span><span class=\"p\">(</span><span class=\"n\">velocityBuffer</span><span class=\"p\">);</span>\n<span class=\"n\">NvFlexUnmap</span><span class=\"p\">(</span><span class=\"n\">phaseBuffer</span><span class=\"p\">);</span>\n\n<span class=\"c1\">// write to device (async)</span>\n<span class=\"n\">NvFlexSetParticles</span><span class=\"p\">(</span><span class=\"n\">solver</span><span class=\"p\">,</span> <span class=\"n\">particleBuffer</span><span class=\"p\">,</span> <span class=\"nb\">NULL</span><span class=\"p\">);</span>\n<span class=\"n\">NvFlexSetVelocities</span><span class=\"p\">(</span><span class=\"n\">solver</span><span class=\"p\">,</span> <span class=\"n\">velocityBuffer</span><span class=\"p\">,</span> <span class=\"nb\">NULL</span><span class=\"p\">);</span>\n<span class=\"n\">NvFlexSetPhases</span><span class=\"p\">(</span><span class=\"n\">solver</span><span class=\"p\">,</span> <span class=\"n\">phaseBuffer</span><span class=\"p\">,</span> <span class=\"nb\">NULL</span><span class=\"p\">);</span>\n\n<span class=\"c1\">// tick (async)</span>\n<span class=\"n\">NvFlexUpdateSolver</span><span class=\"p\">(</span><span class=\"n\">solver</span><span class=\"p\">,</span> <span class=\"n\">dt</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"nb\">NULL</span><span class=\"p\">);</span>\n\n<span class=\"c1\">// read back (async)</span>\n<span class=\"n\">NvFlexGetParticles</span><span class=\"p\">(</span><span class=\"n\">solver</span><span class=\"p\">,</span> <span class=\"n\">particleBuffer</span><span class=\"p\">,</span> <span class=\"nb\">NULL</span><span class=\"p\">);</span>\n<span class=\"n\">NvFlexGetVelocities</span><span class=\"p\">(</span><span class=\"n\">solver</span><span class=\"p\">,</span> <span class=\"n\">velocityBuffer</span><span class=\"p\">,</span> <span class=\"nb\">NULL</span><span class=\"p\">);</span>\n<span class=\"n\">NvFlexGetPhases</span><span class=\"p\">(</span><span class=\"n\">solver</span><span class=\"p\">,</span> <span class=\"n\">phaseBuffer</span><span class=\"p\">,</span> <span class=\"nb\">NULL</span><span class=\"p\">);</span>\n\n<span class=\"c1\">// Perform CPU work here while update and transfer are in flight</span>\n<span class=\"n\">TickGame</span><span class=\"p\">()</span>\n<span class=\"p\">}</span>\n</pre></div>\n</div>\n<p><strong>Note:</strong> Flex can also transfer data directly to OpenGL or DirectX buffers directly through the CUDA-graphics interop mechanism, see the CUDA programming guide and Flex demo application for more details.</p>\n</div>\n<div class=\"section\" id=\"profiling\">\n<span id=\"id19\"></span><h2>Profiling<a class=\"headerlink\" href=\"#profiling\" title=\"Permalink to this headline\">¶</a></h2>\n<p>Because Flex executes most of its work asynchronously on the GPU, it is not recommended to measure execution times with CPU timers around API calls. GPU kernel timers can be retrieved by first passing <em>true</em> to the timers parameter of <strong>NvFlexUpdateSolver()</strong>, and then calling <strong>NvFlexGetTimers()</strong>. The returned <strong>NvFlexTimers</strong> structure has timers for each stage of the simulation, these timers can give a good idea of which parts of the update pipeline are the bottleneck.</p>\n<p><strong>Note:</strong> Enabling timers can have a negative impact on overall performance (although individual timers will be accurate), it is recommended to use timers only when profiling.</p>\n</div>\n<div class=\"section\" id=\"limitations-known-issues\">\n<span id=\"limitations\"></span><h2>Limitations / Known Issues<a class=\"headerlink\" href=\"#limitations-known-issues\" title=\"Permalink to this headline\">¶</a></h2>\n<ul class=\"simple\">\n<li>Position-Based Dynamics has a close relationship to traditional implicit time-stepping schemes. As such, it is quite dissipative and will quickly lose energy, often this is acceptable (and sometimes desirable), however external forcing functions (such as vorticity confinement) can be used to inject energy back to the simulation.</li>\n<li>Flex is not deterministic. Although simulations with the same initial conditions are often reasonably consistent, they may diverge over time, and may differ between different GPU architectures and versions.</li>\n<li>Restitution for rigid bodies may behave weaker than expected, this is generally problematic for shape-matched rigid bodies.</li>\n<li>Particles can have a maximum of 6 contact planes per-step, if a particle overlaps more than 6 planes then contacts will be dropped.</li>\n</ul>\n</div>\n<div class=\"section\" id=\"acknowledgments\">\n<span id=\"acknowledgements\"></span><h2>Acknowledgments<a class=\"headerlink\" href=\"#acknowledgments\" title=\"Permalink to this headline\">¶</a></h2>\n<ul class=\"simple\">\n<li>The Flex demo application uses the imgui library from Mikko Mononen&#8217;s Recast library, <a class=\"reference external\" href=\"https://github.com/memononen/recastnavigation\">https://github.com/memononen/recastnavigation</a></li>\n<li>The Flex demo application uses the stb_truetype.h font library from Sean Barrett, <a class=\"reference external\" href=\"https://github.com/nothings/stb\">https://github.com/nothings/stb</a></li>\n<li>The Flex demo application uses the SDL library, <a class=\"reference external\" href=\"https://www.libsdl.org\">https://www.libsdl.org</a></li>\n<li>The Flex solver uses NVIDIA&#8217;s CUB library for parallel operations internally, <a class=\"reference external\" href=\"http://nvlabs.github.io/cub/\">http://nvlabs.github.io/cub/</a></li>\n</ul>\n</div>\n<div class=\"section\" id=\"references\">\n<span id=\"id20\"></span><h2>References<a class=\"headerlink\" href=\"#references\" title=\"Permalink to this headline\">¶</a></h2>\n<p>[1] Position Based Dynamics - Matthias Müller, Bruno Heidelberger, Marcus Hennix, John Ratcliff - J. Vis. Communications, 2007 - <a class=\"reference external\" href=\"http://dl.acm.org/citation.cfm?id=1234575\">http://dl.acm.org/citation.cfm?id=1234575</a></p>\n<p>[2] Unified Particle Physics for Real-Time Applications - Miles Macklin, Matthias Müller, Nuttapong Chentanez, Tae-Yong Kim: Unified Particle Physics for Real-Time Applications, ACM Transactions on Graphics (SIGGRAPH 2014), 33(4), <a class=\"reference external\" href=\"http://dl.acm.org/citation.cfm?id=2601152\">http://dl.acm.org/citation.cfm?id=2601152</a></p>\n<p>[3] Position Based Fluids - Miles Macklin, Matthias Müller: Position Based Fluids, ACM Transactions on Graphics (SIGGRAPH 2013), 32(4), <a class=\"reference external\" href=\"http://dl.acm.org/citation.cfm?id=2461984\">http://dl.acm.org/citation.cfm?id=2461984</a></p>\n<p>[4] Reconstructing surfaces of particle-based fluids using anisotropic kernels - Jihun Yu and Greg Turk. 2013. ACM Trans. Graph. 32, 1, Article 5 (February 2013). <a class=\"reference external\" href=\"http://dl.acm.org/citation.cfm?id=2421641\">http://dl.acm.org/citation.cfm?id=2421641</a></p>\n</div>\n</div>\n\n\n          </div>\n      <div class=\"clearer\"></div>\n    </div>\n    <div class=\"col-md-1\"></div>\n</div>\n<div class=\"masthead\">\n    <div class=\"row\">\n      <ul class=\"breadcrumb\">\n        <li><a href=\"index.html\">NVIDIA Flex 1.2.0 documentation</a></li> \n      </ul>\n    </div>\n</div>\n\n<footer>\n    <div class=\"footer-boilerplate\">\n        <div class=\"row\">\n            <div class=\"boilerplate\">\n                Copyright &copy; 2014, NVIDIA Corporation &nbsp; | &nbsp; <a href=\"http://www.nvidia.com/object/about-nvidia.html\" onclick=\"s_objectID=&quot;http://www.nvidia.com/object/about-nvidia.html_1&quot;;return this.s_oc?this.s_oc(e):true\">About NVIDIA </a>&nbsp; | &nbsp; <a href=\"http://www.nvidia.com/object/legal_info.html\" onclick=\"s_objectID=&quot;http://www.nvidia.com/object/legal_info.html_1&quot;;return this.s_oc?this.s_oc(e):true\">Legal Information </a>&nbsp; | &nbsp; <a href=\"http://www.nvidia.com/object/privacy_policy.html\" onclick=\"s_objectID=&quot;http://www.nvidia.com/object/privacy_policy.html_1&quot;;return this.s_oc?this.s_oc(e):true\">Privacy Policy </a>\n            </div>\n        </div>\n    </div>\n</div>\n</footer>\n\n\n<script type=\"text/x-mathjax-config\">\n  MathJax.Hub.Config({\n    extensions: [\"tex2jax.js\"],\n    jax: [\"input/TeX\", \"output/HTML-CSS\"],\n    tex2jax: {\n      processEscapes: true,\n      skipTags: [\"script\",\"noscript\",\"style\",\"textarea\"]\n    },\n    \"HTML-CSS\": { availableFonts: [\"TeX\"] },\n    TeX: {\n        Macros: {\n          Lrg: ['\\\\displaystyle{#1}', 1, \"\"]\n        }\n      }\n  });\n</script>\n\n\n<script type=\"text/javascript\" async\n  src=\"http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-MML-AM_CHTML\">\n</script>\n\n<script>\nvar treestatename = 'GWDocsTreeState';\nvar protocol = location.href.split('/')[0].toLowerCase();\nvar storage;\nif (protocol.substring(0,4) == 'http') {\n  storage = $.cookieStorage;\n  storage.setPath('/');\n} else {\n  storage = $.localStorage;\n}\n\nif (storage.isEmpty(treestatename)) {\n  storage.set(treestatename, {});\n}\n\nvar treestate = storage.get(treestatename);\n\n$.each($(\"#sidebar_toc ul li\"), toc_walker);\n\nfunction toc_walker(key, value) {\n    var handleSpan = $(\"<span></span>\")\n        .addClass(\"toc_handle\").prependTo(value);\n    handleSpan.attr(\"id\", $(value).closest(\"div\").attr(\"id\") + \".\" + key);\n\n    if($(value).has(\"ul li\").size() > 0) {\n        var id = handleSpan.attr(\"id\");\n        if (!(id in treestate)) {\n          treestate[id] = false;\n        }\n        handleSpan.addClass(\"toc_expanded\").click(function() {\n            $(this).toggleClass(\"toc_expanded toc_collapsed\").siblings(\"ul\").toggle();\n            treestate[$(this).attr('id')] = $(this).hasClass('toc_expanded');\n            storage.set(treestatename, treestate);\n        });\n        if(!($(this).hasClass('current') || treestate[id])) {\n            handleSpan.click();\n        }\n        if($(this).hasClass('current')) {\n            treestate[handleSpan.attr('id')] = handleSpan.hasClass('toc_expanded');\n            storage.set(treestatename, treestate);\n        }\n    }\n}\n</script>\n  </body>\n</html>"
  },
  {
    "path": "doc/releasenotes.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"\n  \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n\n\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n  <head>\n    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\n    <meta http-equiv=\"x-ua-compatible\" content=\"IE=Edge\"/>\n    \n    <title>Release Notes &mdash; NVIDIA Flex 1.2.0 documentation</title>\n    \n    <link rel=\"stylesheet\" href=\"_static/default.css\" type=\"text/css\" />\n    <link rel=\"stylesheet\" href=\"_static/pygments.css\" type=\"text/css\" />\n    <link rel=\"stylesheet\" href=\"_static/breathe.css\" type=\"text/css\" />\n    <link rel=\"stylesheet\" href=\"_static/application.css\" type=\"text/css\" />\n    <link rel=\"stylesheet\" href=\"_static/styleguide.css\" type=\"text/css\" />\n    \n    <script type=\"text/javascript\">\n      var DOCUMENTATION_OPTIONS = {\n        URL_ROOT:    './',\n        VERSION:     '1.2.0',\n        COLLAPSE_INDEX: false,\n        FILE_SUFFIX: '.html',\n        HAS_SOURCE:  true\n      };\n    </script>\n    <script type=\"text/javascript\" src=\"_static/jquery.js\"></script>\n    <script type=\"text/javascript\" src=\"_static/underscore.js\"></script>\n    <script type=\"text/javascript\" src=\"_static/doctools.js\"></script>\n    <script type=\"text/javascript\" src=\"http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML\"></script>\n    <script type=\"text/javascript\" src=\"_static/bootstrap.js\"></script>\n    <script type=\"text/javascript\" src=\"_static/jquery.cookie.js\"></script>\n    <script type=\"text/javascript\" src=\"_static/jquery.storageapi.js\"></script>\n    <link rel=\"top\" title=\"NVIDIA Flex 1.2.0 documentation\" href=\"index.html\" />\n    <link rel=\"prev\" title=\"Manual\" href=\"manual.html\" /> \n  </head>\n  <body>\n<nav class=\"navbar navbar-inverse navbar-default\">\n  <div class=\"row\">\n      <div class=\"navbar-brand\">\n             <img class=\"logo\" src=\"_static/developerzone_gameworks_logo.png\" alt=\"Logo\"/>\n      </div>\n<div id=\"searchbox\" style=\"display: none; float:right; padding-top:4px; padding-right:4px\">\n    <form class=\"search form-inline\" action=\"search.html\" method=\"get\">\n      <div class=\"form-group\">\n      <input type=\"text\" name=\"q\" class=\"form-control\" />\n      <input type=\"submit\" value=\"Search\" class=\"btn btn-primary\" />\n      </div>\n      <input type=\"hidden\" name=\"check_keywords\" value=\"yes\" />\n      <input type=\"hidden\" name=\"area\" value=\"default\" />\n    </form>\n</div>\n<script type=\"text/javascript\">$('#searchbox').show(0);</script>\n  </div>\n</nav>\n<div class=\"masthead\">\n    <div class=\"row\">\n      <ul class=\"breadcrumb\">\n        <li><a href=\"index.html\">NVIDIA Flex 1.2.0 documentation</a></li> \n      </ul>\n    </div>\n</div>\n<div class=\"row\">\n  <div class=\"col-md-3 bs-sidenav\" style=\"white-space: nowrap; overflow: auto;\">\n<div class=\"bs-sidebar\">\n  <div id=\"sidebar_toc\">\n  <h4>Table Of Contents</h4>\n  <ul class=\"current\">\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"index.html\">Overview</a></li>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"manual.html\">Manual</a><ul>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"manual.html#introduction\">Introduction</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"manual.html#library-design\">Library Design</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"manual.html#quick-start\">Quick Start</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"manual.html#buffers\">Buffers</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"manual.html#particles\">Particles</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"manual.html#radius\">Radius</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"manual.html#phase\">Phase</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"manual.html#active-set\">Active Set</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"manual.html#constraints\">Constraints</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"manual.html#fluids\">Fluids</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"manual.html#springs\">Springs</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"manual.html#cloth\">Cloth</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"manual.html#inflatables\">Inflatables</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"manual.html#rigid-bodies\">Rigid Bodies</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"manual.html#soft-bodies\">Soft Bodies</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"manual.html#solver\">Solver</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"manual.html#time-stepping\">Time Stepping</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"manual.html#relaxation\">Relaxation</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"manual.html#collision\">Collision</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"manual.html#spheres\">Spheres</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"manual.html#capsules\">Capsules</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"manual.html#triangle-meshes\">Triangle Meshes</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"manual.html#convex-meshes\">Convex Meshes</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"manual.html#signed-distance-fields\">Signed Distance Fields</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"manual.html#planes\">Planes</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"manual.html#margins\">Margins</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"manual.html#priority\">Priority</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"manual.html#diffuse-particles\">Diffuse Particles</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"manual.html#threading\">Threading</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"manual.html#profiling\">Profiling</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"manual.html#limitations-known-issues\">Limitations / Known Issues</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"manual.html#acknowledgments\">Acknowledgments</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"manual.html#references\">References</a></li>\n</ul>\n</li>\n<li class=\"toctree-l1 current\"><a class=\"current reference internal\" href=\"\">Release Notes</a><ul>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"#id1\">1.2.0</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"#id2\">1.1.0</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"#id3\">1.0.0</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"#id4\">0.9.5</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"#id5\">0.9.0</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"#id6\">0.8.0</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"#id7\">0.2.5</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"#id8\">0.2.3</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"#id9\">0.2.2</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"#id10\">0.2.1</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"#id11\">0.2.0</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"#id12\">0.1.0</a></li>\n</ul>\n</li>\n</ul>\n\n  </div>\n  <h4>Previous topic</h4>\n  <p class=\"topless\"><a href=\"manual.html\"\n                        title=\"previous chapter\">Manual</a></p>\n<div id=\"searchbox\" style=\"display: none\">\n  <h4>Quick search</h4>\n    <form class=\"search form-inline\" action=\"search.html\" method=\"get\">\n      <div class=\"form-group\">\n      <input type=\"text\" name=\"q\" class=\"form-control\" />\n      <input type=\"submit\" value=\"Search\" class=\"btn btn-primary\" />\n      </div>\n      <input type=\"hidden\" name=\"check_keywords\" value=\"yes\" />\n      <input type=\"hidden\" name=\"area\" value=\"default\" />\n    </form>\n    <p class=\"searchtip\" style=\"font-size: 90%\">\n    Enter search terms or a module, class or function name.\n    </p>\n</div>\n<script type=\"text/javascript\">$('#searchbox').show(0);</script>\n</div>\n  </div>\n    <div class=\"document col-md-8\">\n          <div class=\"body\">\n            \n  <div class=\"section\" id=\"release-notes\">\n<span id=\"releasenotes\"></span><h1>Release Notes<a class=\"headerlink\" href=\"#release-notes\" title=\"Permalink to this headline\">¶</a></h1>\n<div class=\"section\" id=\"id1\">\n<h2>1.2.0<a class=\"headerlink\" href=\"#id1\" title=\"Permalink to this headline\">¶</a></h2>\n<ul class=\"simple\">\n<li>Improved collision against moving shapes, solver now correctly interpolates shape transforms for substeps</li>\n<li>Improved Linux support, removed GLUT/GLEW dependencies</li>\n<li>New API for adding soft-joints (dynamic shape-matching constraints) via. the extensions API, see NvFlexExtCreateSoftJoint()</li>\n<li>New API to retrieve particle neighbor information, see NvFlexGetNeighbors()</li>\n<li>New API to support shape collision filtering, collision channels can be assigned to particles and shapes to specify which pairs collide, see NvFlexPhase</li>\n<li>New API to support per-shape plastic deformation, it is now possible to specify plastic creep and threshold coefficient on a per-shape basis (previous global settings), see NvFlexSetRigids()</li>\n<li>New API to selectively disable solver features, this can lead to improved performance, see NvFlexFeatureMode, replaces global FlexParams::fluid option</li>\n<li>New API to allow sub-range particle buffer updates, see NvFlexCopyDesc</li>\n<li>New API for asynchronous compute, see NvFlexInitDesc</li>\n<li>New API change, NvFlexUpdateTriangleMesh() now takes vertices with 16-byte stride to remove CPU synchronization step in D3D implementations</li>\n<li>Fix for NvFlexParams::anisotropyScale, this change improves the fitting of ellipsoids to fluid particle distributions, it should now typically be left at 1.0</li>\n<li>Fix for NvFlexGetTimers() reporting incorrect values on D3D12</li>\n<li>Fix for vsync in D3D12</li>\n<li>Fix for crash when using Flex with NVIDIA driver 384.76</li>\n<li>Fix for unnecessary synchronization when calling NvFlexMap() on a device buffer</li>\n<li>Fix numerical precision for shape-matching constraints with large coordinates</li>\n<li>Fix for uninitialized contact indices returned from NvFlexGetContacts() if NvFlexUpdateSolver() has not been called</li>\n<li>Fix for SDF collision in D3D12</li>\n<li>Fix for free after delete in CUDA when using SDFs</li>\n<li>Fix for D3D warning when using NvFlexSetRigids()</li>\n<li>Add D3D12 rendering support to the demo</li>\n<li>Add support for device NvFlexBuffers on D3D</li>\n<li>Enable NvToolkit profiling zones so to provide annotations in NSight profiles by default, this requires nvToolsExt64_1.dll be present</li>\n</ul>\n</div>\n<div class=\"section\" id=\"id2\">\n<h2>1.1.0<a class=\"headerlink\" href=\"#id2\" title=\"Permalink to this headline\">¶</a></h2>\n<ul class=\"simple\">\n<li>New API style, for consistency with other products the API has now an NvFlex prefix and follows a naming convention similar to PhysX</li>\n<li>Add support for DirectX, in addition to CUDA there is now a cross platform DirectX 11 and 12 version of the Flex libraries that Windows applications can link against</li>\n<li>Add support for max acceleration clamping, see NvFlexParams::maxAcceleration, can be useful to reduce popping with fast moving kinematic shapes and large interpenetration</li>\n<li>Add support to querying compute device, see NvFlexGetDeviceName()</li>\n<li>Add support for flushing compute queue, see NvFlexFlush()</li>\n<li>Add support for multiple library instances, NvFlexInit() now returns a library which is bound to a single compute device</li>\n<li>Add support for local space particle simulation, see NvFlexExtMovingFrameInit() and two new local space fluid and cloth demos</li>\n<li>Add support for CUDA 8.0.44</li>\n<li>Remove NvFlexError enum, errors will be reported through the NvFlexErrorCallback passed to NvFlexInit()</li>\n<li>Remove NvFlexMemory enum, users should use the new NvFlexBufferType</li>\n<li>Fix bug in inflatable constraint solver that could cause some shapes to generate NaNs</li>\n<li>Fix for SDF contact generation when the particle lies completely outside volume, fixes a problem with ghost contacts</li>\n<li>Fix for friction being incorrectly applied on trigger shapes</li>\n<li>Fix for multi-phase fluid cohesion not working correctly, re-enable Rayleigh-Taylor instability test</li>\n<li>Fix bug with public projects that referenced internal CUDA paths</li>\n<li>Fix for calling NvFlexSetInflatables() with a count of zero</li>\n<li>Fix for buoyancy parameter</li>\n<li>Fix for bug in BVH builder that could cause missed collisions</li>\n<li>New optional NvFlexDevice library for handling GPU selection and initialization in CUDA</li>\n<li>New buffer based API, all data must now be passed to Flex through FlexBuffers created through NvFlexAllocBuffer()</li>\n<li>New stable shape matching code for more robust and efficient soft bodies, removes need for NvFlexParams::inertiaBias</li>\n<li>New collision shape API supports instancing of convex meshes and a much simplified API, see NvFlexSetShapes()</li>\n<li>Improvements to collision detection for moving shapes, Flex will now perform a CCD check also taking into account the shape trajectory using the prev/current transforms of each shape</li>\n</ul>\n</div>\n<div class=\"section\" id=\"id3\">\n<h2>1.0.0<a class=\"headerlink\" href=\"#id3\" title=\"Permalink to this headline\">¶</a></h2>\n<ul class=\"simple\">\n<li>Added support for reporting collision shape ids, and trigger volume shapes, see flexGetContacts()</li>\n<li>Optimizations to host code performance</li>\n<li>Fix for potential memory leak in SDF object destruction</li>\n<li>Fix for potentially missed collisions during convex shape CCD</li>\n<li>Fix for incorrect bounds computation during flexSetShapes() (if not specified by user)</li>\n<li>Fix for initial shape translations being incorrect when using a transform with flexExtCreateInstance()</li>\n<li>Move flexExt.h header to the /include folder</li>\n</ul>\n</div>\n<div class=\"section\" id=\"id4\">\n<h2>0.9.5<a class=\"headerlink\" href=\"#id4\" title=\"Permalink to this headline\">¶</a></h2>\n<ul class=\"simple\">\n<li>Fix for NaNs being generated during shape matching with plastic deformation enabled</li>\n<li>Fix for bug that could lead to translational drifting of shape matched rigid bodies</li>\n<li>Fix for incorrect interaction of restitution and friction when using the collision margin parameters</li>\n<li>New geometry instancing API for specifying collision shapes, adds support for transformed triangle meshes and signed distance fields, see flexSetShapes()</li>\n<li>New BVH based collision detection improves performance for scenes with large triangle meshes</li>\n<li>New mesh tearing API, see flexExtTearClothMesh()</li>\n<li>New CCD collision detection for particle versus convex shape, helps reduce tunneling with thin convexes</li>\n<li>Performance improvements for soft body cooking times in flexExtCreateSoftFromMesh()</li>\n<li>Exposed intertial bias for shape matching constraints, see FlexParams::mInertiaBias</li>\n<li>Exposed parameter to control the lifetime of diffuse particles, see FlexParams::mDiffuseLifetime</li>\n</ul>\n</div>\n<div class=\"section\" id=\"id5\">\n<h2>0.9.0<a class=\"headerlink\" href=\"#id5\" title=\"Permalink to this headline\">¶</a></h2>\n<ul class=\"simple\">\n<li>Added support for soft bodies, particles can now belong to multiple shape-matching clusters used to drive linear blend skinning</li>\n<li>Added support for particle rest positions that can be used to filter collisions between particles that touch in their rest pose, see flexSetRestPositions()</li>\n<li>Added support for spheres and capsules as collision shapes, renamed flexSetConvexes() to flexSetShapes()</li>\n<li>Added support for user callbacks, these can be used to implement custom constraints, force fields, etc. See flexRegisterSolverCallback()</li>\n<li>Added support for the NVIDIA control panel, Flex will now use the selected PhysX device if desired, see flexInit() for details</li>\n<li>Added support for Android platforms</li>\n<li>Added flexGetParams() method to retrieve default values and set defaults to sensible values</li>\n<li>Improved shape-matching algorithm with better inversion handling</li>\n<li>Optimizations for flexSetTriangles(), users can now pass the triangle bounds to avoid having them re-calculated explicitly</li>\n<li>Rigid constraints now use quaternions as their orientation representation, see flexSetRigids() and flexGetRigidTransforms()</li>\n<li>Exposed anisotropy min/max clamping for better control of particle fluid rendering, see FlexParams::mAnisotropyMin and FlexParams::mAnisotropyMax</li>\n<li>Fix for smooth particles not being generated if anisotropy was not enabled</li>\n<li>Fix for demo mouse picking</li>\n<li>Fix for flexGetContacts() returning incorrect values, added contact visualization to the demo app</li>\n<li>Fix for bug in flexGetBounds() which meant it could return bounds with one frame delay, users should now synchronize the flexGetBounds() call like other query methods</li>\n<li>Fix whitespace on flex.h to play nice with Github&#8217;s code view</li>\n<li>Fix for triangle mesh collision when particle moves in the plane of the triangle incorrectly reporting contact</li>\n<li>Fix leak when destroying solver</li>\n<li>Fix for incomplete initialization of FlexExtAssets in the extension creation methods</li>\n<li>Rename FlexParams::mMaxVelocity -&gt; FlexParams::mMaxSpeed</li>\n</ul>\n</div>\n<div class=\"section\" id=\"id6\">\n<h2>0.8.0<a class=\"headerlink\" href=\"#id6\" title=\"Permalink to this headline\">¶</a></h2>\n<ul class=\"simple\">\n<li>Upgrade to CUDA 7.0</li>\n<li>Linux binaries are now compiled with -fPIC</li>\n<li>Fix for extensions library not writing velocities correctly</li>\n<li>Fix for memory leak when using moving convex shapes</li>\n<li>Optimizations for inflatable constraints to reduce number of kernel launches</li>\n<li>Added option to control the max number of neighbors stored per-particle, this can reduce memory usage, see flexCreateSolver()</li>\n</ul>\n</div>\n<div class=\"section\" id=\"id7\">\n<h2>0.2.5<a class=\"headerlink\" href=\"#id7\" title=\"Permalink to this headline\">¶</a></h2>\n<ul class=\"simple\">\n<li>Fix for vertex normal calculation when using sparse active particle set</li>\n<li>Fix for division by zero in rest density calculation when fluid rest distance was 0.0</li>\n<li>Fix for infinite mass particles being moved by kinematic objects</li>\n<li>Added CUDA force fields to extensions library, see flexExtSetForceFields()</li>\n<li>Added particle contact reporting API, see flexGetContacts()</li>\n<li>Added early out to avoid Laplacian smoothing and anisotropy calculation if not using them</li>\n<li>Added global damping parameter to model viscous drag on particles (not just cloth), see FlexParams::mDamping</li>\n<li>Added user manual in pdf and chm formats</li>\n<li>Made enum names consistent, eFlexHost -&gt; eFlexMemoryHost</li>\n<li>Upgraded to CUB 1.3.2</li>\n<li>Extended particle phase parameters to allow fine grained control over self-collision and fluid properties, see flexMakePhase()</li>\n</ul>\n</div>\n<div class=\"section\" id=\"id8\">\n<h2>0.2.3<a class=\"headerlink\" href=\"#id8\" title=\"Permalink to this headline\">¶</a></h2>\n<ul class=\"simple\">\n<li>Switched to bindless textures, 50% reduction in CPU usage, because of this change Flex now requires an SM3.0 or above GPU</li>\n<li>Optimized convex grid rasterization by assigning 4 warps/shape, reduces time from 1ms-&gt;0.25ms for large shapes</li>\n<li>Added error mesasge callback, see flexInit()</li>\n<li>Added flexSetFence()/flexWaitFence() for more fine grained synchronization with Flex GPU work, flexSynchronize() has been removed</li>\n<li>Added static/dynamic flags for convex shapes to allow prioritising static contacts over dynamic, can be useful to prevent tunnelling through thin shapes</li>\n<li>Added local/global relaxation to improve convergence for some scenes (see FlexParams::eRelaxationMode)</li>\n<li>Removed flexGetVorticities(), allows optimizations for vorticity confinement calculation</li>\n<li>Fix for flexSetSprings(), flexSetTriangles(), and flexSetConvexes() reallocing more often than necessary</li>\n<li>Fix for flexGetDensities(), and flexGetAnisotropy() not returning the full particle array if using sparse active set</li>\n<li>Fix for memory leak when instance creation fails in flexExtCreateInstance()</li>\n<li>Fix for memory leak when setting rigid bodies multiple times</li>\n<li>Fix for potential GPU crash when using plastic deformation on rigid bodies</li>\n<li>Smooth vertex normals are now computed for particles belonging to dynamic triangles (cloth), they can be retrieved via flexGetNormals()</li>\n<li>Optimized CompactObjects in flexExtPushToDevice()</li>\n<li>Made headers compile with /W4 on MSVC</li>\n<li>Added debug capture functionality</li>\n</ul>\n</div>\n<div class=\"section\" id=\"id9\">\n<h2>0.2.2<a class=\"headerlink\" href=\"#id9\" title=\"Permalink to this headline\">¶</a></h2>\n<ul class=\"simple\">\n<li>Fix for infinite mass particles gaining velocity during collisions</li>\n<li>Fix bug with planar triangle mesh rasterization</li>\n<li>Fix for zero-length distance constraints</li>\n<li>Fix cloth drag and lift causing instability at high velocities</li>\n<li>Fix for convex grid perf. when there is a single large convex body</li>\n<li>Improved behaviour when particles are overconstrained (constraint averaging), can reduce jitter for pinned cloth</li>\n<li>Improved adhesion behaviour for fluids against solids</li>\n<li>Improved restitution behavior</li>\n<li>Improved fluid rendering performance by using a smaller bilateral filter kernel</li>\n<li>Change particle friction to be an absolute parameter instead of a multiplier on dynamic friction</li>\n<li>Change sort to use async device-device memcpys to avoid stalling host</li>\n<li>Exposed new parameter to control collision margin against shapes see FlexParams::mShapeCollisionMargin</li>\n<li>Warning fixes for Linux and Windows</li>\n<li>Fix z-precision rendering issues in demo</li>\n<li>Added &#8220;Ext&#8221; prefix to extensions types</li>\n<li>Clamp particle velocity to maximum user velocity before prediction step, improves behaviour when interacting with force fields</li>\n</ul>\n</div>\n<div class=\"section\" id=\"id10\">\n<h2>0.2.1<a class=\"headerlink\" href=\"#id10\" title=\"Permalink to this headline\">¶</a></h2>\n<ul class=\"simple\">\n<li>Add support for lower dimensional particle rigid bodies (rods, planes)</li>\n<li>Allow specifying rigid rotations through the solver API</li>\n<li>Allow separate control of fluid and solid rest distances</li>\n<li>Add GUI to demo</li>\n</ul>\n</div>\n<div class=\"section\" id=\"id11\">\n<h2>0.2.0<a class=\"headerlink\" href=\"#id11\" title=\"Permalink to this headline\">¶</a></h2>\n<ul class=\"simple\">\n<li>Fix for rest density calculation when number of neighbors &gt; than max</li>\n<li>Add support for async memory copies back to pinned host memory</li>\n<li>Add functions to allocate pinned host memory, see flexAlloc()</li>\n<li>Add rigid body support to FlexExtensions</li>\n<li>Add rigid body SDF collision support</li>\n<li>Add position level friction</li>\n<li>Static triangle grid now created on the GPU, see flexSetTriangles</li>\n<li>Unify triangle collision with rest of the pipline</li>\n<li>Exposed a new parameter to run a second collision pass against triangle meshes, see FlexParam::mEnableCCD</li>\n<li>Optimized rigid body solve using CUB parallel reductions</li>\n<li>Fix for solve springs when some particles have infinite mass</li>\n<li>Reduce allocations in flexSetConvexes</li>\n<li>Fix plastic deformation for rigids</li>\n<li>Switch to /MT for FlexExtensions library</li>\n</ul>\n</div>\n<div class=\"section\" id=\"id12\">\n<h2>0.1.0<a class=\"headerlink\" href=\"#id12\" title=\"Permalink to this headline\">¶</a></h2>\n<p>Initial release</p>\n</div>\n</div>\n\n\n          </div>\n      <div class=\"clearer\"></div>\n    </div>\n    <div class=\"col-md-1\"></div>\n</div>\n<div class=\"masthead\">\n    <div class=\"row\">\n      <ul class=\"breadcrumb\">\n        <li><a href=\"index.html\">NVIDIA Flex 1.2.0 documentation</a></li> \n      </ul>\n    </div>\n</div>\n\n<footer>\n    <div class=\"footer-boilerplate\">\n        <div class=\"row\">\n            <div class=\"boilerplate\">\n                Copyright &copy; 2014, NVIDIA Corporation &nbsp; | &nbsp; <a href=\"http://www.nvidia.com/object/about-nvidia.html\" onclick=\"s_objectID=&quot;http://www.nvidia.com/object/about-nvidia.html_1&quot;;return this.s_oc?this.s_oc(e):true\">About NVIDIA </a>&nbsp; | &nbsp; <a href=\"http://www.nvidia.com/object/legal_info.html\" onclick=\"s_objectID=&quot;http://www.nvidia.com/object/legal_info.html_1&quot;;return this.s_oc?this.s_oc(e):true\">Legal Information </a>&nbsp; | &nbsp; <a href=\"http://www.nvidia.com/object/privacy_policy.html\" onclick=\"s_objectID=&quot;http://www.nvidia.com/object/privacy_policy.html_1&quot;;return this.s_oc?this.s_oc(e):true\">Privacy Policy </a>\n            </div>\n        </div>\n    </div>\n</div>\n</footer>\n\n\n<script type=\"text/x-mathjax-config\">\n  MathJax.Hub.Config({\n    extensions: [\"tex2jax.js\"],\n    jax: [\"input/TeX\", \"output/HTML-CSS\"],\n    tex2jax: {\n      processEscapes: true,\n      skipTags: [\"script\",\"noscript\",\"style\",\"textarea\"]\n    },\n    \"HTML-CSS\": { availableFonts: [\"TeX\"] },\n    TeX: {\n        Macros: {\n          Lrg: ['\\\\displaystyle{#1}', 1, \"\"]\n        }\n      }\n  });\n</script>\n\n\n<script type=\"text/javascript\" async\n  src=\"http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-MML-AM_CHTML\">\n</script>\n\n<script>\nvar treestatename = 'GWDocsTreeState';\nvar protocol = location.href.split('/')[0].toLowerCase();\nvar storage;\nif (protocol.substring(0,4) == 'http') {\n  storage = $.cookieStorage;\n  storage.setPath('/');\n} else {\n  storage = $.localStorage;\n}\n\nif (storage.isEmpty(treestatename)) {\n  storage.set(treestatename, {});\n}\n\nvar treestate = storage.get(treestatename);\n\n$.each($(\"#sidebar_toc ul li\"), toc_walker);\n\nfunction toc_walker(key, value) {\n    var handleSpan = $(\"<span></span>\")\n        .addClass(\"toc_handle\").prependTo(value);\n    handleSpan.attr(\"id\", $(value).closest(\"div\").attr(\"id\") + \".\" + key);\n\n    if($(value).has(\"ul li\").size() > 0) {\n        var id = handleSpan.attr(\"id\");\n        if (!(id in treestate)) {\n          treestate[id] = false;\n        }\n        handleSpan.addClass(\"toc_expanded\").click(function() {\n            $(this).toggleClass(\"toc_expanded toc_collapsed\").siblings(\"ul\").toggle();\n            treestate[$(this).attr('id')] = $(this).hasClass('toc_expanded');\n            storage.set(treestatename, treestate);\n        });\n        if(!($(this).hasClass('current') || treestate[id])) {\n            handleSpan.click();\n        }\n        if($(this).hasClass('current')) {\n            treestate[handleSpan.attr('id')] = handleSpan.hasClass('toc_expanded');\n            storage.set(treestatename, treestate);\n        }\n    }\n}\n</script>\n  </body>\n</html>"
  },
  {
    "path": "doc/search.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"\n  \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n\n\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n  <head>\n    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\n    <meta http-equiv=\"x-ua-compatible\" content=\"IE=Edge\"/>\n    \n    <title>Search &mdash; NVIDIA Flex 1.2.0 documentation</title>\n    \n    <link rel=\"stylesheet\" href=\"_static/default.css\" type=\"text/css\" />\n    <link rel=\"stylesheet\" href=\"_static/pygments.css\" type=\"text/css\" />\n    <link rel=\"stylesheet\" href=\"_static/breathe.css\" type=\"text/css\" />\n    <link rel=\"stylesheet\" href=\"_static/application.css\" type=\"text/css\" />\n    <link rel=\"stylesheet\" href=\"_static/styleguide.css\" type=\"text/css\" />\n    \n    <script type=\"text/javascript\">\n      var DOCUMENTATION_OPTIONS = {\n        URL_ROOT:    './',\n        VERSION:     '1.2.0',\n        COLLAPSE_INDEX: false,\n        FILE_SUFFIX: '.html',\n        HAS_SOURCE:  true\n      };\n    </script>\n    <script type=\"text/javascript\" src=\"_static/jquery.js\"></script>\n    <script type=\"text/javascript\" src=\"_static/underscore.js\"></script>\n    <script type=\"text/javascript\" src=\"_static/doctools.js\"></script>\n    <script type=\"text/javascript\" src=\"http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML\"></script>\n    <script type=\"text/javascript\" src=\"_static/searchtools.js\"></script>\n    <script type=\"text/javascript\" src=\"_static/bootstrap.js\"></script>\n    <script type=\"text/javascript\" src=\"_static/jquery.cookie.js\"></script>\n    <script type=\"text/javascript\" src=\"_static/jquery.storageapi.js\"></script>\n    <link rel=\"top\" title=\"NVIDIA Flex 1.2.0 documentation\" href=\"index.html\" />\n  <script type=\"text/javascript\">\n    jQuery(function() { Search.loadIndex(\"searchindex.js\"); });\n  </script>\n  \n  <script type=\"text/javascript\" id=\"searchindexloader\"></script>\n   \n\n  </head>\n  <body>\n<nav class=\"navbar navbar-inverse navbar-default\">\n  <div class=\"row\">\n      <div class=\"navbar-brand\">\n             <img class=\"logo\" src=\"_static/developerzone_gameworks_logo.png\" alt=\"Logo\"/>\n      </div>\n  </div>\n</nav>\n<div class=\"masthead\">\n    <div class=\"row\">\n      <ul class=\"breadcrumb\">\n        <li><a href=\"index.html\">NVIDIA Flex 1.2.0 documentation</a></li> \n      </ul>\n    </div>\n</div>\n<div class=\"row\">\n  <div class=\"col-md-3 bs-sidenav\" style=\"white-space: nowrap; overflow: auto;\">\n<div class=\"bs-sidebar\">\n  <div id=\"sidebar_toc\">\n  <h4>Table Of Contents</h4>\n  <ul>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"index.html\">Overview</a></li>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"manual.html\">Manual</a><ul>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"manual.html#introduction\">Introduction</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"manual.html#library-design\">Library Design</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"manual.html#quick-start\">Quick Start</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"manual.html#buffers\">Buffers</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"manual.html#particles\">Particles</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"manual.html#radius\">Radius</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"manual.html#phase\">Phase</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"manual.html#active-set\">Active Set</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"manual.html#constraints\">Constraints</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"manual.html#fluids\">Fluids</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"manual.html#springs\">Springs</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"manual.html#cloth\">Cloth</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"manual.html#inflatables\">Inflatables</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"manual.html#rigid-bodies\">Rigid Bodies</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"manual.html#soft-bodies\">Soft Bodies</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"manual.html#solver\">Solver</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"manual.html#time-stepping\">Time Stepping</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"manual.html#relaxation\">Relaxation</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"manual.html#collision\">Collision</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"manual.html#spheres\">Spheres</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"manual.html#capsules\">Capsules</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"manual.html#triangle-meshes\">Triangle Meshes</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"manual.html#convex-meshes\">Convex Meshes</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"manual.html#signed-distance-fields\">Signed Distance Fields</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"manual.html#planes\">Planes</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"manual.html#margins\">Margins</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"manual.html#priority\">Priority</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"manual.html#diffuse-particles\">Diffuse Particles</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"manual.html#threading\">Threading</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"manual.html#profiling\">Profiling</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"manual.html#limitations-known-issues\">Limitations / Known Issues</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"manual.html#acknowledgments\">Acknowledgments</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"manual.html#references\">References</a></li>\n</ul>\n</li>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"releasenotes.html\">Release Notes</a><ul>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"releasenotes.html#id1\">1.2.0</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"releasenotes.html#id2\">1.1.0</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"releasenotes.html#id3\">1.0.0</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"releasenotes.html#id4\">0.9.5</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"releasenotes.html#id5\">0.9.0</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"releasenotes.html#id6\">0.8.0</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"releasenotes.html#id7\">0.2.5</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"releasenotes.html#id8\">0.2.3</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"releasenotes.html#id9\">0.2.2</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"releasenotes.html#id10\">0.2.1</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"releasenotes.html#id11\">0.2.0</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"releasenotes.html#id12\">0.1.0</a></li>\n</ul>\n</li>\n</ul>\n\n  </div>\n</div>\n  </div>\n    <div class=\"document col-md-8\">\n          <div class=\"body\">\n            \n  <h1 id=\"search-documentation\">Search</h1>\n  <div id=\"fallback\" class=\"admonition warning\">\n  <script type=\"text/javascript\">$('#fallback').hide();</script>\n  <p>\n    Please activate JavaScript to enable the search\n    functionality.\n  </p>\n  </div>\n  <p>\n    From here you can search these documents. Enter your search\n    words into the box below and click \"search\". Note that the search\n    function will automatically search for all of the words. Pages\n    containing fewer words won't appear in the result list.\n  </p>\n  <form action=\"\" method=\"get\">\n    <input type=\"text\" name=\"q\" value=\"\" />\n    <input type=\"submit\" value=\"search\" />\n    <span id=\"search-progress\" style=\"padding-left: 10px\"></span>\n  </form>\n  \n  <div id=\"search-results\">\n  \n  </div>\n\n          </div>\n      <div class=\"clearer\"></div>\n    </div>\n    <div class=\"col-md-1\"></div>\n</div>\n<div class=\"masthead\">\n    <div class=\"row\">\n      <ul class=\"breadcrumb\">\n        <li><a href=\"index.html\">NVIDIA Flex 1.2.0 documentation</a></li> \n      </ul>\n    </div>\n</div>\n\n<footer>\n    <div class=\"footer-boilerplate\">\n        <div class=\"row\">\n            <div class=\"boilerplate\">\n                Copyright &copy; 2014, NVIDIA Corporation &nbsp; | &nbsp; <a href=\"http://www.nvidia.com/object/about-nvidia.html\" onclick=\"s_objectID=&quot;http://www.nvidia.com/object/about-nvidia.html_1&quot;;return this.s_oc?this.s_oc(e):true\">About NVIDIA </a>&nbsp; | &nbsp; <a href=\"http://www.nvidia.com/object/legal_info.html\" onclick=\"s_objectID=&quot;http://www.nvidia.com/object/legal_info.html_1&quot;;return this.s_oc?this.s_oc(e):true\">Legal Information </a>&nbsp; | &nbsp; <a href=\"http://www.nvidia.com/object/privacy_policy.html\" onclick=\"s_objectID=&quot;http://www.nvidia.com/object/privacy_policy.html_1&quot;;return this.s_oc?this.s_oc(e):true\">Privacy Policy </a>\n            </div>\n        </div>\n    </div>\n</div>\n</footer>\n\n\n<script type=\"text/x-mathjax-config\">\n  MathJax.Hub.Config({\n    extensions: [\"tex2jax.js\"],\n    jax: [\"input/TeX\", \"output/HTML-CSS\"],\n    tex2jax: {\n      processEscapes: true,\n      skipTags: [\"script\",\"noscript\",\"style\",\"textarea\"]\n    },\n    \"HTML-CSS\": { availableFonts: [\"TeX\"] },\n    TeX: {\n        Macros: {\n          Lrg: ['\\\\displaystyle{#1}', 1, \"\"]\n        }\n      }\n  });\n</script>\n\n\n<script type=\"text/javascript\" async\n  src=\"http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-MML-AM_CHTML\">\n</script>\n\n<script>\nvar treestatename = 'GWDocsTreeState';\nvar protocol = location.href.split('/')[0].toLowerCase();\nvar storage;\nif (protocol.substring(0,4) == 'http') {\n  storage = $.cookieStorage;\n  storage.setPath('/');\n} else {\n  storage = $.localStorage;\n}\n\nif (storage.isEmpty(treestatename)) {\n  storage.set(treestatename, {});\n}\n\nvar treestate = storage.get(treestatename);\n\n$.each($(\"#sidebar_toc ul li\"), toc_walker);\n\nfunction toc_walker(key, value) {\n    var handleSpan = $(\"<span></span>\")\n        .addClass(\"toc_handle\").prependTo(value);\n    handleSpan.attr(\"id\", $(value).closest(\"div\").attr(\"id\") + \".\" + key);\n\n    if($(value).has(\"ul li\").size() > 0) {\n        var id = handleSpan.attr(\"id\");\n        if (!(id in treestate)) {\n          treestate[id] = false;\n        }\n        handleSpan.addClass(\"toc_expanded\").click(function() {\n            $(this).toggleClass(\"toc_expanded toc_collapsed\").siblings(\"ul\").toggle();\n            treestate[$(this).attr('id')] = $(this).hasClass('toc_expanded');\n            storage.set(treestatename, treestate);\n        });\n        if(!($(this).hasClass('current') || treestate[id])) {\n            handleSpan.click();\n        }\n        if($(this).hasClass('current')) {\n            treestate[handleSpan.attr('id')] = handleSpan.hasClass('toc_expanded');\n            storage.set(treestatename, treestate);\n        }\n    }\n}\n</script>\n  </body>\n</html>"
  },
  {
    "path": "doc/searchindex.js",
    "content": "Search.setIndex({envversion:42,terms:{applic:[0,1,2],represent:[1,2],all:[1,2],code:[1,2],edg:2,chain:2,queri:[1,2],lack:2,hennix:2,prefix:1,mile:2,upgrad:1,computation:2,skin:1,follow:[0,1,2],nvflexconvexmeshid:2,bvh:1,nvlab:2,nvflexinitdesc:1,accur:2,depend:[1,2],nvflexcreatetrianglemesh:2,doe:2,graph:2,show:2,rock:2,send:2,particlesbuff:2,granular:2,flexgetnorm:1,program:2,nvflexsolv:2,sens:2,sent:2,inject:2,passiv:2,\"case\":2,sourc:2,envflexrelaxationloc:2,inact:2,tickgam:2,fals:2,rod:1,nvflexflush:1,mous:1,diffusethreshold:2,mechan:2,broadli:2,govern:2,veri:2,affect:2,flexgetanisotropi:1,bottleneck:2,strand:2,flexregistersolvercallback:1,imgui:2,secondari:2,maxdiffuseparticl:2,solver:0,tear:[1,2],gui:1,iter:2,anisotropyscal:[1,2],halfheight:2,pbf:2,hydrodynam:2,small:2,nvflexupdatesolv:[1,2],anisotropi:[1,2],refer:0,stiffer:2,align:2,pleas:0,upper:2,smaller:[1,2],slower:2,natur:2,dimens:2,eas:2,direct:2,annot:1,jump:2,fold:2,second:[1,2],cost:2,design:0,priorti:2,pass:[1,2],download:0,improv:[1,2],mesasg:1,even:2,index:2,what:2,appear:2,compar:2,cast:2,neg:2,section:2,abl:2,\"while\":2,melt:2,uniform:2,current:[1,2],delet:1,version:[0,1,2],nvtoolkit:1,consecut:2,\"new\":[1,2],nvflexsetactivecount:2,ever:2,method:[1,2],contrast:2,thin:[1,2],manag:2,simplifi:1,full:[1,2],deriv:2,gener:[0,1,2],coeffici:[1,2],here:[0,2],nvflexmap:[1,2],water:2,middl:2,studio:0,ubuntu:0,\"const\":2,along:2,becom:2,realloc:1,implicit:2,valu:[1,2],wait:2,box:2,zone:1,broken:2,larger:2,host:1,flexgetparam:1,precis:[1,2],converg:[1,2],amount:2,behav:2,pick:1,typic:[1,2],magnitud:2,flexsetspr:1,nvflexmakeshapeflag:2,flexgetdens:1,solverdesc:2,via:[1,2],although:2,lengthsbuff:2,appli:1,approxim:2,citat:2,releas:0,api:[0,1,2],visibl:2,instabl:1,nvflexsetdiffuseparticl:2,unit:2,environment:2,from:[0,1,2],perf:1,would:2,memori:[1,2],nvflexbuff:[1,2],skelet:2,flextrianglemeshid:2,two:[1,2],particl:0,next:2,predict:1,compactobject:1,overhead:2,asset:2,recommend:2,taken:2,nvflexerror:1,prev:1,type:[1,2],until:2,nvflexfreebuff:2,more:[0,1,2],sort:[1,2],flat:2,desir:[1,2],said:2,numtriangl:2,nvflexcreateconvexmesh:2,relat:2,ital:2,about:2,nvflexsetdynamictriangl:2,enhanc:2,warn:1,glass:2,visual:[0,1,2],envflexphaseselfcollid:2,stick:2,hold:2,must:[1,2],high:[1,2],account:1,graphic:[0,2],retriev:[1,2],restor:2,tunnel:[1,2],debri:2,work:[1,2],uniqu:2,other:[1,2],can:[1,2],www:2,d3d12:1,d3d11:0,veloc:[1,2],problemat:2,control:[1,2],weaker:2,kinet:2,slip:2,give:2,process:2,synchron:[1,2],share:2,shard:2,indic:[1,2],sph:2,tae:2,bend:2,want:2,geometrybuff:2,sharp:2,serial:2,keep:2,occur:2,envflexphasefluid:2,ratio:2,delai:1,alwai:2,surfac:2,end:2,divid:2,nvflexgetnorm:2,anoth:2,write:[1,2],how:2,mikko:2,nvflexextcreaterigidfrommesh:2,confin:[1,2],tile:2,place:2,bit:[0,2],rotationsbuff:2,simpl:2,numiter:2,buoyanc:1,updat:[0,1,2],map:2,product:[0,1],referenc:[1,2],convexmesh:2,max:1,after:[1,2],nvflexinit:[1,2],paticl:2,less:2,befor:[1,2],flexgetvort:1,nvflexsetspr:2,date:2,multipl:[1,2],\"5cm\":2,stiff:2,arch:2,flutter:2,physic:2,spawnparticl:2,stabil:2,alloc:[1,2],github:[1,2],essenti:2,practic:2,interpol:[1,2],shapecollisionmargin:2,correspond:2,element:2,caus:[1,2],callback:[1,2],\"switch\":1,fluidrestdist:2,combin:2,allow:[1,2],volum:[1,2],radeon:0,order:2,flexbuff:[1,2],includ:[0,1,2],polyhedron:2,deform:[1,2],softwar:0,over:[1,2],move:[1,2],becaus:[1,2],trade:2,increas:2,vec4:2,paper:2,through:[1,2],same:2,left:1,flexibl:2,pointer:2,directx:[0,1,2],paramet:[1,2],divis:1,style:[1,2],group:2,thumb:2,fit:1,fix:[1,2],better:[1,2],window:[0,1],flexextasset:1,creat:[1,2],onc:2,glew:1,main:2,might:2,soa:2,them:[1,2],good:2,\"return\":[1,2],thei:[1,2],envflexphasegroupmask:2,handl:[1,2],safe:2,initi:[1,2],scene:[1,2],half:2,front:2,nvflexconvexmeshgeometri:2,discuss:2,oper:2,envflexbufferhost:2,name:1,realist:2,tran:2,stb_truetyp:2,instruct:2,separ:[1,2],achiev:2,nsight:1,mode:2,each:[1,2],debug:1,done:2,d3d:1,higher:[0,2],side:2,bone:2,mean:2,clamp:1,voxel:2,harm:2,\"9cm\":2,weight:2,tension:2,interop:2,replac:1,chunk:2,nvflexext:2,idea:2,consum:2,ensur:2,finish:2,\"static\":[1,2],connect:2,velocitybuff:2,happen:2,differ:2,accord:2,orient:[1,2],out:[1,2],variabl:2,slide:2,architectur:2,physx:[1,2],springindic:2,space:[1,2],goe:2,flexextcreateinst:1,inertiabia:1,nvflexcreatesdf:2,identifi:2,angular:2,content:2,\"m\\u00fcller\":2,vector:2,suitabl:2,rel:2,flexsynchron:1,nvflexset:2,common:2,model:[1,2],linear:[1,2],found:2,driver:[0,1],\"10cm\":2,gameplai:2,flexexttearclothmesh:1,free:1,like:[1,2],standalon:2,reason:2,base:[0,1,2],nvflexcollisiongeometri:2,latest:0,ask:2,org:2,\"byte\":1,hand:2,nvflexcreatesolv:2,card:0,basi:1,raster:1,nvflexshutdown:2,launch:[1,2],recast:2,could:[1,2],area:2,sm3:1,success:2,timer:2,nvflexgettim:[1,2],menableccd:1,caption:2,length:[1,2],turk:2,due:2,outsid:1,memononen:2,geometri:[1,2],nvflexsetshap:[1,2],scheme:2,lifetim:1,onto:2,top:2,first:2,origin:2,brickwork:2,prioritis:1,yong:2,render:[1,2],prevent:[1,2],carri:2,articl:2,arrai:[1,2],qualiti:2,number:[1,2],system:2,mai:2,unlik:2,cfm:2,nvflexallocbuff:[1,2],wrapper:2,stabl:1,ring:2,nvflexextmovingframeinit:1,miss:[1,2],primari:2,stage:2,size:2,given:2,springlength:2,complet:[1,2],envflexshapespher:2,advect:2,data:[1,2],interact:[1,2],contact:[1,2],sometim:2,least:[0,2],parallel:[1,2],master:2,flexalloc:1,accept:2,nvflextim:2,gpu:[0,1,2],libsdl:2,john:2,filter:[1,2],store:[1,2],too:2,adhes:[1,2],adher:2,assign:1,interti:1,option:[1,2],relationship:2,especi:2,quat:2,aabb:2,copi:[1,2],circumst:2,specifi:[1,2],part:2,somewhat:2,incred:2,attempt:2,exactli:2,than:[1,2],center:2,nvflextrianglemeshgeometri:2,conveni:2,unmap:2,stb:2,shrapnel:2,provid:[0,1,2],remov:1,zero:[1,2],structur:2,banana:2,project:1,greg:2,nvflexmakephas:2,substep:[1,2],posit:[1,2],nvflexdestroysolv:2,toward:2,ccw:2,result:2,fashion:2,comput:[1,2],behavior:[1,2],nvflexgetcontact:1,nvflexgetsmoothparticl:2,splat:2,ani:2,rai:2,raw:2,seed:2,nvflexextcreatesoftjoint:1,increment:2,cohes:[1,2],need:[1,2],seen:2,nvflexsolverdesc:2,\"null\":2,featur:[1,2],overconstrain:1,nvflexextcreatesoftfrommesh:2,strength:2,engin:2,squar:2,equival:2,inform:[0,1,2],destroi:1,self:[1,2],simul:[0,1,2],accuraci:2,note:[0,2],also:[1,2],maintain:2,take:[1,2],which:[1,2],interior:2,springcoeffici:2,properti:[1,2],graviti:2,channel:1,nvflex:[1,2],closer:2,pipelin:2,flexinit:1,unless:2,nvflexsetphas:2,normal:[1,2],track:2,flexwaitf:1,object:[1,2],compress:2,recastnavig:2,mmaxspe:1,most:2,plai:1,regular:2,pop:[1,2],pair:[1,2],nvflexsetact:2,cpu:[1,2],segment:2,why:2,sub:[1,2],tradit:2,mdiffuselifetim:1,ballist:2,eject:2,cloth:0,dens:2,flow:2,drive:1,destruct:[1,2],quantiti:2,piplin:1,width:2,wind:2,occasion:2,axi:2,blend:1,microsoft:0,translat:[1,2],viscou:1,shot:2,mostli:2,rayleigh:1,carefulli:2,text:2,random:2,cheap:2,nvflexgetdevicenam:1,friction:[1,2],bring:2,directli:2,particularli:2,flexextsetforcefield:1,flexgetrigidtransform:1,threshold:[1,2],corner:2,font:2,fine:[1,2],maxacceler:1,rotat:[1,2],impact:2,absolut:1,onli:2,explicitli:[1,2],locat:2,just:[1,2],ellipsoid:[1,2],transact:2,configur:2,written:2,fluid:0,should:[1,2],solidrestdist:2,nvflexparam:[1,2],clothphas:2,factor:2,nvflexsetparticl:2,folder:1,local:[1,2],gooei:2,meant:1,custom:1,get:2,kinemat:1,likewis:2,memcpi:[1,2],cheaper:2,joint:1,obviou:2,numparticl:2,report:1,reconstruct:2,updatebuff:2,parachut:2,layout:2,nvflexmemori:1,think:2,enabl:[1,2],organ:2,possibl:[1,2],\"public\":1,network:2,\"float\":2,integr:2,contain:2,anisotrop:2,where:2,view:1,unexpectedli:2,kernel:[1,2],vsync:1,numvertic:2,nvflexerrorcallback:1,nvflexgetneighbor:1,frame:[1,2],still:2,sprai:2,consraint:2,maximum:[1,2],resist:2,nvflexgetphas:2,flagsbuff:2,sean:2,randomspawnposit:2,fail:1,close:2,charact:2,best:2,float3:2,infinit:[1,2],nvflexgetparticl:2,nvflexunmap:2,detect:[1,2],collisiondist:2,correctli:1,dll:1,enough:2,stall:1,outstand:2,bruno:2,simplest:2,progress:2,awai:2,experi:2,approach:2,eflexmapwait:2,coefficientsbuff:2,spars:1,extend:1,numer:[1,2],fluidphas:2,screen:2,fundament:2,weak:2,conjunct:2,popul:2,extens:[0,1,2],matthia:2,solv:[1,2],come:2,flexsetrestposit:1,barrett:2,both:2,doxygen:0,irregular:2,similar:[1,2],howev:2,randomspawnveloc:2,against:[1,2],vortic:[1,2],flexgetbound:1,instanc:[1,2],grain:1,nvflexget:2,trimesh:2,pdf:1,unstructur:2,com:2,acceler:[1,2],simpli:2,pose:1,point:2,wall:2,format:[1,2],unrealist:2,height:2,header:1,uniniti:1,path:1,averag:[1,2],guid:2,summar:2,panel:1,torsion:2,quit:2,nvtoolsext64_1:1,vertic:[1,2],slowli:2,eflexphaseselfcollid:2,coupl:2,stretch:2,damp:[1,2],devic:[0,1,2],invers:[1,2],laplacian:[1,2],sinc:2,trigger:[1,2],treat:2,interest:2,basic:2,minertiabia:1,nvflextrianglemeshid:2,addit:[1,2],\"abstract\":2,strategi:2,rather:2,flight:2,\"25m\":1,resolut:2,unnecessarili:2,coordin:[1,2],lift:[1,2],nvflexsetveloc:2,togeth:2,minim:2,firt:2,rang:[1,2],present:[1,2],nvflexsetinflat:[1,2],determinist:2,multi:1,subsequ:2,packag:0,solid:[0,1,2],mdamp:1,erron:2,heidelberg:2,rope:0,defin:2,calcul:[1,2],unifi:[0,1,2],abov:[0,1],error:[1,2],activebuff:2,spawn:2,real:[0,2],planar:1,flexsettriangl:1,have:[1,2],helper:2,wiggl:2,almost:2,demo:[0,1,2],tabl:2,nvflexgetanisotropi:2,non:2,equal:2,cluster:[1,2],itself:2,renderparticl:2,flexcreatesolv:1,cook:1,crash:1,overpressur:2,queue:1,develop:0,author:2,perform:[1,2],suggest:2,make:2,belong:[1,2],bunni:2,tetrahedr:2,binari:1,complex:2,split:2,flexsetshap:1,collid:[1,2],android:1,difficult:2,overal:2,http:2,see:[0,1,2],cubic:2,optim:1,foam:2,hang:2,effect:2,amd:0,capabl:[0,2],app:1,nvflexcapsulegeometri:2,user:[1,2],kim:2,mani:2,extern:2,robust:[1,2],stack:2,tune:2,manisotropymax:1,lower:[1,2],appropri:2,off:2,lib:2,cross:1,builder:1,min:1,well:2,versatil:2,anim:2,exampl:2,expens:2,thi:[0,1,2],diverg:2,ccd:[1,2],everyth:2,dimension:1,usual:2,construct:2,manifold:2,execut:2,eflexhost:1,when:[1,2],glut:1,bilater:1,rest:[1,2],detail:[1,2],shape:[1,2],aspect:2,world:2,touch:1,jitter:[1,2],envflexmapwait:2,speed:2,renam:1,nvflexsetsolverdescdefault:2,blow:2,versu:1,now:1,struct:2,expos:[1,2],mshapecollisionmargin:1,help:[1,2],maxparticl:2,add:[1,2],discret:2,pile:2,cub:[1,2],densiti:[1,2],lookup:2,nvflexsdfgeometri:2,mmaxveloc:1,match:[1,2],build:[0,2],earli:1,nvflexdevic:1,dissip:2,around:2,nvlexallocbuff:2,read:2,piec:2,bia:1,test:[0,1,2],game:[0,2],grid:1,know:2,consid:2,marcu:2,apart:2,tick:2,associ:2,flexparam:1,nvflexcopydesc:1,redund:2,measur:2,trash:2,semi:2,specif:2,whitespac:1,arbitrari:2,manual:0,tend:2,integ:2,noth:2,collect:2,benefit:2,necessari:1,singl:1,lose:2,output:2,flexextpushtodevic:1,per:[1,2],unnecessari:1,underli:2,exceed:2,drop:2,often:[1,2],erelaxationmod:1,captur:1,linux:[0,1],some:[1,2],begin:2,interlock:2,interpenetr:1,global:[1,2],nvflexdistancefieldid:2,previou:[1,2],flush:1,home:0,sizeof:2,flexsetrigid:1,librari:0,distribut:[1,2],textur:[1,2],flexext:1,scale:2,siggraph:2,lead:1,phasebuff:2,broad:2,fpic:1,though:2,definit:2,februari:2,overlap:2,multipli:1,mononen:2,larg:[1,2],select:1,toolkit:0,condit:2,either:2,msvc:1,core:[0,2],sensibl:1,run:[1,2],flexsetconvex:1,vertex:[1,2],nvflexspheregeometri:2,\"enum\":1,usag:[0,1],nvflexextcreateclothfrommesh:2,quaternion:1,convent:[1,2],stride:[1,2],async:[1,2],flexextcreatesoftfrommesh:1,between:[1,2],describ:2,continu:2,plastic:1,stone:2,compet:2,nvflexbuffertyp:1,face:2,freedom:2,materi:2,commun:2,acm:2,page:0,union:2,degre:2,cuda:[0,1,2],neighbor:[1,2],act:2,convinc:2,geforc:0,behaviour:1,disabl:1,block:2,reduct:1,compil:1,effici:[1,2],activeindic:2,within:2,bound:1,automat:2,chm:1,down:2,right:2,been:[1,2],positionsbuff:2,float4:2,chang:[1,2],mark:2,bullet:2,merg:2,surround:2,accordingli:2,deal:2,suffici:2,opengl:2,eflexmemoryhost:1,transfer:2,squishi:2,transform:[1,2],fast:[1,2],fight:2,avail:0,topolog:2,much:[1,2],interfac:0,low:2,under:2,forward:2,call:[1,2],flexmakephas:1,individu:2,etc:[1,2],\"function\":[1,2],ghost:1,creation:[1,2],form:2,droplet:2,forc:[1,2],nuttapong:2,indicesbuff:2,back:[1,2],nvflexgetveloc:2,sdf:[1,2],link:[1,2],gain:1,trajectori:1,sdl:2,don:2,line:2,level:[1,2],\"true\":2,bug:1,sdk:[0,2],count:[1,2],pull:2,made:[1,2],algorithm:1,consist:[1,2],relaxationfactor:2,\"default\":[1,2],rate:2,access:2,smooth:[1,2],intern:[1,2],asynchron:[1,2],below:2,sum:2,flexextens:1,otherwis:2,problem:[1,2],quickli:2,rigidphas:2,motion:2,care:2,expect:2,instead:1,taylor:1,alongsid:2,pin:1,classic:2,\"int\":2,energi:2,dure:[1,2],buckl:2,futur:2,repres:2,incomplet:1,implement:[1,2],chentanez:2,restitut:[1,2],ship:2,proport:2,check:1,fill:2,incorrect:1,manisotropymin:1,readi:[0,2],incorrectli:1,nvflexphas:1,bindless:1,floor:2,nan:1,ext:1,dynam:[1,2],event:2,longer:2,wai:2,diffuseballist:2,creep:1,nvflexsetrigid:[1,2],diffusesortaxi:2,you:2,flexsetf:1,envflexrelaxationglob:2,nice:1,potenti:[1,2],ratcliff:2,nvflexlibrari:2,nvflexupdatetrianglemesh:[1,2],leak:1,time:0,drift:1,push:2,drag:[1,2],particlecollisionmargin:2,warp:1,tessel:2,pool:2,nvflexboxgeometri:2,reduc:1,nvflexfeaturemod:1,receiv:2,faster:2,macklin:2,cooker:2,flexgetcontact:1,snippet:2,flag:[1,2],rule:2,jihun:2,delta:2,mass:[1,2],\"long\":2,particlebuff:2,far:2,envflexshapetrianglemesh:2,avoid:[1,2]},objtypes:{},objnames:{},filenames:[\"index\",\"releasenotes\",\"manual\"],titles:[\"NVIDIA Flex\",\"Release Notes\",\"Manual\"],objects:{},titleterms:{distanc:2,plane:2,acknowledg:2,radiu:2,sign:2,sphere:2,set:2,design:2,capsul:2,convex:2,librari:2,prioriti:2,note:1,triangl:2,start:2,support:0,activ:2,profil:2,platform:0,collis:2,particl:2,spring:2,document:0,refer:2,flex:0,relax:2,buffer:2,nvidia:0,fluid:2,inflat:2,bodi:2,cloth:2,step:2,diffus:2,rigid:2,phase:2,requir:0,introduct:2,known:2,thread:2,constraint:2,soft:2,solver:2,manual:2,issu:2,releas:1,mesh:2,limit:2,time:2,quick:2,field:2,margin:2}})"
  },
  {
    "path": "extensions/compiler/makeandroid_aarch64/Makefile",
    "content": "#!/usr/bin/make\n# Makefile generated by XPJ for android_aarch64\n\nDEPSDIR = .deps\nNDKROOT = \"$(NDK_ROOT)\"/\"$(NDK_VERSION)\"\nNDK_BIN_DIR = \"$(NDK_ROOT)\"/\"$(NDK_VERSION)\"/toolchains/\"$(NDK_TOOLCHAIN)\"/prebuilt/\"linux-x86_64\"/bin\nNDK_PREFIX = aarch64-linux-android-\nJAVA_HOME  = ./../xpj/\"$(JAVA_HOME)\"\nANT_TOOL = ./../xpj/\"$(ANT_HOME}\"/bin/ant\n#default defines\nOBJS_DIR  = build\nRMDIR     = rm -fr\nECHO      = echo\nCCLD      =  $(NDK_BIN_DIR)/$(NDK_PREFIX)g++\nCXX       =  $(NDK_BIN_DIR)/$(NDK_PREFIX)g++\nCC        =  $(NDK_BIN_DIR)/$(NDK_PREFIX)gcc\nRANLIB    = $(NDK_BIN_DIR)/$(NDK_PREFIX)ranlib\nAR\t\t = $(NDK_BIN_DIR)/$(NDK_PREFIX)ar\nSTRIP     = $(NDK_BIN_DIR)/$(NDK_PREFIX)strip\nOBJDUMP   = $(NDK_BIN_DIR)/$(NDK_PREFIX)objdump\nOBJCOPY   = $(NDK_BIN_DIR)/$(NDK_PREFIX)objcopy\n-include Makedefs.ANDROID.mk\n\nall: debug release \n\ndebug: build_flexExtCUDA_debug \n\nrelease: build_flexExtCUDA_release \n\nclean: clean_flexExtCUDA_release clean_flexExtCUDA_debug \n\trm -rf $(DEPSDIR)\n\n\nclean_release: clean_flexExtCUDA_release \n\trm -rf $(DEPSDIR)\n\n\nclean_debug: clean_flexExtCUDA_debug \n\trm -rf $(DEPSDIR)\n\n\ninclude Makefile.flexExtCUDA.mk\n\n\n# Disable implicit rules to speedup build\n.SUFFIXES:\nSUFFIXES :=\n%.out:\n%.a:\n%.ln:\n%.o:\n%: %.o\n%.c:\n%: %.c\n%.ln: %.c\n%.o: %.c\n%.cc:\n%: %.cc\n%.o: %.cc\n%.C:\n%: %.C\n%.o: %.C\n%.cpp:\n%: %.cpp\n%.o: %.cpp\n%.p:\n%: %.p\n%.o: %.p\n%.f:\n%:\n %.f%.o: %.f\n%.F:\n%: %.F\n%.o: %.F\n%.f: %.F\n%.r:\n%: %.r\n%.o: %.r\n%.f: %.r\n%.y:\n%.ln: %.y\n%.c: %.y\n%.l:\n%.ln: %.l\n%.c: %.l\n%.r: %.l\n%.s:\n%: %.s\n%.o: %.s\n%.S:\n%: %.S\n%.o: %.S\n%.s: %.S\n%.mod:\n%: %.mod\n%.o: %.mod\n%.sym:\n%.def:\n%.sym: %.def\n%.h:\n%.info:\n%.dvi:\n%.tex:\n%.dvi: %.tex\n%.texinfo:\n%.info: %.texinfo\n%.dvi: %.texinfo\n%.texi:\n%.info: %.texi\n%.dvi: %.texi\n%.txinfo:\n%.info: %.txinfo\n%.dvi: %.txinfo\n%.w:\n%.c: %.w\n%.tex: %.w\n%.ch:\n%.web:\n%.p: %.web\n%.tex: %.web\n%.sh:\n%: %.sh\n%.elc:\n%.el:\n(%): %\n%.out: %\n%.c: %.w %.ch\n%.tex: %.w %.ch\n%: %,v\n%: RCS/%,v\n%: RCS/%\n%: s.%\n%: SCCS/s.%\n.web.p:\n.l.r:\n.dvi:\n.F.o:\n.l:\n.y.ln:\n.o:\n.y:\n.def.sym:\n.p.o:\n.p:\n.txinfo.dvi:\n.a:\n.l.ln:\n.w.c:\n.texi.dvi:\n.sh:\n.cc:\n.cc.o:\n.def:\n.c.o:\n.r.o:\n.r:\n.info:\n.elc:\n.l.c:\n.out:\n.C:\n.r.f:\n.S:\n.texinfo.info:\n.c:\n.w.tex:\n.c.ln:\n.s.o:\n.s:\n.texinfo.dvi:\n.el:\n.texinfo:\n.y.c:\n.web.tex:\n.texi.info:\n.DEFAULT:\n.h:\n.tex.dvi:\n.cpp.o:\n.cpp:\n.C.o:\n.ln:\n.texi:\n.txinfo:\n.tex:\n.txinfo.info:\n.ch:\n.S.s:\n.mod:\n.mod.o:\n.F.f:\n.w:\n.S.o:\n.F:\n.web:\n.sym:\n.f:\n.f.o:\nexport VERBOSE\nifndef VERBOSE\n.SILENT:\nendif\n"
  },
  {
    "path": "extensions/compiler/makeandroid_aarch64/Makefile.flexExtCUDA.mk",
    "content": "# Makefile generated by XPJ for android_aarch64\n-include Makefile.custom\nProjectName = flexExtCUDA\nflexExtCUDA_cppfiles   += ./../../flexExtCloth.cpp\nflexExtCUDA_cppfiles   += ./../../flexExtContainer.cpp\nflexExtCUDA_cppfiles   += ./../../flexExtMovingFrame.cpp\nflexExtCUDA_cppfiles   += ./../../flexExtRigid.cpp\nflexExtCUDA_cppfiles   += ./../../flexExtSoft.cpp\nflexExtCUDA_cuda_cuda_flexExt_cu   += ./../../cuda/flexExt.cu\nflexExtCUDA_cppfiles   += ./../../../core/sdf.cpp\nflexExtCUDA_cppfiles   += ./../../../core/voxelize.cpp\nflexExtCUDA_cppfiles   += ./../../../core/maths.cpp\nflexExtCUDA_cppfiles   += ./../../../core/aabbtree.cpp\n\nflexExtCUDA_cpp_release_dep    = $(addprefix $(DEPSDIR)/flexExtCUDA/release/, $(subst ./, , $(subst ../, , $(patsubst %.cpp, %.cpp.P, $(flexExtCUDA_cppfiles)))))\nflexExtCUDA_cc_release_dep    = $(addprefix $(DEPSDIR)/, $(subst ./, , $(subst ../, , $(patsubst %.cc, %.cc.release.P, $(flexExtCUDA_ccfiles)))))\nflexExtCUDA_c_release_dep      = $(addprefix $(DEPSDIR)/flexExtCUDA/release/, $(subst ./, , $(subst ../, , $(patsubst %.c, %.c.P, $(flexExtCUDA_cfiles)))))\nflexExtCUDA_release_dep      = $(flexExtCUDA_cpp_release_dep) $(flexExtCUDA_cc_release_dep) $(flexExtCUDA_c_release_dep)\n-include $(flexExtCUDA_release_dep)\nflexExtCUDA_cpp_debug_dep    = $(addprefix $(DEPSDIR)/flexExtCUDA/debug/, $(subst ./, , $(subst ../, , $(patsubst %.cpp, %.cpp.P, $(flexExtCUDA_cppfiles)))))\nflexExtCUDA_cc_debug_dep    = $(addprefix $(DEPSDIR)/, $(subst ./, , $(subst ../, , $(patsubst %.cc, %.cc.debug.P, $(flexExtCUDA_ccfiles)))))\nflexExtCUDA_c_debug_dep      = $(addprefix $(DEPSDIR)/flexExtCUDA/debug/, $(subst ./, , $(subst ../, , $(patsubst %.c, %.c.P, $(flexExtCUDA_cfiles)))))\nflexExtCUDA_debug_dep      = $(flexExtCUDA_cpp_debug_dep) $(flexExtCUDA_cc_debug_dep) $(flexExtCUDA_c_debug_dep)\n-include $(flexExtCUDA_debug_dep)\nflexExtCUDA_release_hpaths    := \nflexExtCUDA_release_hpaths    += ./../../..\nflexExtCUDA_release_hpaths    += $(NDK_ROOT)/$(NDK_VERSION)/platforms/android-21/arch-arm64/usr/include\nflexExtCUDA_release_hpaths    += $(NDK_ROOT)/$(NDK_VERSION)/sources/cxx-stl/gnu-libstdc++/4.9/include\nflexExtCUDA_release_hpaths    += $(NDK_ROOT)/$(NDK_VERSION)/sources/cxx-stl/gnu-libstdc++/4.9/libs/arm64-v8a/include\nflexExtCUDA_release_hpaths    += $(CUDA_PATH)/targets/aarch64-linux-androideabi/include\nflexExtCUDA_release_lpaths    := \nflexExtCUDA_release_lpaths    += $(CUDA_PATH)/targets/aarch64-linux-androideabi/lib\nflexExtCUDA_release_lpaths    += ./../../../lib/android\nflexExtCUDA_release_lpaths    += $(NDK_ROOT)/$(NDK_VERSION)/sources/cxx-stl/gnu-libstdc++/4.9/libs/arm64-v8a\nflexExtCUDA_release_defines   := $(flexExtCUDA_custom_defines)\nflexExtCUDA_release_defines   += android\nflexExtCUDA_release_defines   += ANDROID=1\nflexExtCUDA_release_defines   += ANDROID_PLAT=1\nflexExtCUDA_release_defines   += DISABLE_IMPORTGL\nflexExtCUDA_release_libraries := \nflexExtCUDA_release_libraries += ./../../../lib/android_aarch64/libNvFlexRelease_aarch64.a\nflexExtCUDA_release_common_cflags\t:= $(flexExtCUDA_custom_cflags)\nflexExtCUDA_release_common_cflags    += -MMD\nflexExtCUDA_release_common_cflags    += $(addprefix -D, $(flexExtCUDA_release_defines))\nflexExtCUDA_release_common_cflags    += $(addprefix -I, $(flexExtCUDA_release_hpaths))\nflexExtCUDA_release_common_cflags  += -Wall -std=c++11 -fpermissive -fno-strict-aliasing -fno-rtti -fno-exceptions\nflexExtCUDA_release_common_cflags  += -O3 -ffast-math\nflexExtCUDA_release_cflags\t:= $(flexExtCUDA_release_common_cflags)\nflexExtCUDA_release_cppflags\t:= $(flexExtCUDA_release_common_cflags)\nflexExtCUDA_release_lflags    := $(flexExtCUDA_custom_lflags)\nflexExtCUDA_release_lflags    += $(addprefix -L, $(flexExtCUDA_release_lpaths))\nflexExtCUDA_release_lflags    += -Wl,--start-group $(addprefix -l, $(flexExtCUDA_release_libraries)) -Wl,--end-group\nflexExtCUDA_release_objsdir  = $(OBJS_DIR)/flexExtCUDA_release\nflexExtCUDA_release_cpp_o    = $(addprefix $(flexExtCUDA_release_objsdir)/, $(subst ./, , $(subst ../, , $(patsubst %.cpp, %.cpp.o, $(flexExtCUDA_cppfiles)))))\nflexExtCUDA_release_cc_o    = $(addprefix $(flexExtCUDA_release_objsdir)/, $(subst ./, , $(subst ../, , $(patsubst %.cc, %.cc.o, $(flexExtCUDA_ccfiles)))))\nflexExtCUDA_release_c_o      = $(addprefix $(flexExtCUDA_release_objsdir)/, $(subst ./, , $(subst ../, , $(patsubst %.c, %.c.o, $(flexExtCUDA_cfiles)))))\nflexExtCUDA_release_cuda_cuda_flexExt_cu_o += $(OBJS_DIR)/flexExtCUDA_release/cuda/cudaflexExt.o\nflexExtCUDA_release_obj      = $(flexExtCUDA_release_cpp_o) $(flexExtCUDA_release_cc_o) $(flexExtCUDA_release_c_o) $(flexExtCUDA_release_cuda_cuda_flexExt_cu_o)\nflexExtCUDA_release_bin      := ./../../../lib/android_aarch64/libNvFlexExtReleaseCUDA_aarch64.a\n\nclean_flexExtCUDA_release: \n\t@$(ECHO) clean flexExtCUDA release\n\t@$(RMDIR) $(flexExtCUDA_release_objsdir)\n\t@$(RMDIR) $(flexExtCUDA_release_bin)\n\t@$(RMDIR) $(DEPSDIR)/flexExtCUDA/release\n\nbuild_flexExtCUDA_release: postbuild_flexExtCUDA_release\npostbuild_flexExtCUDA_release: mainbuild_flexExtCUDA_release\nmainbuild_flexExtCUDA_release: prebuild_flexExtCUDA_release $(flexExtCUDA_release_bin)\nprebuild_flexExtCUDA_release:\n\n$(flexExtCUDA_release_bin): $(flexExtCUDA_release_obj) \n\tmkdir -p `dirname ./../../../lib/android_aarch64/libNvFlexExtReleaseCUDA_aarch64.a`\n\t@$(AR) rcs $(flexExtCUDA_release_bin) $(flexExtCUDA_release_obj)\n\t$(ECHO) building $@ complete!\n\n$(flexExtCUDA_release_cuda_cuda_flexExt_cu_o): $(flexExtCUDA_cuda_cuda_flexExt_cu) \n\t@mkdir -p `dirname $(OBJS_DIR)/flexExtCUDA_release/cuda/cudaflexExt.o`\n\t$(ECHO) \"$(CUDA_PATH)/bin/nvcc\" -ccbin $(NDK_ROOT)/$(NDK_VERSION)/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/bin/aarch64-linux-android-g++ -target-cpu-arch=ARM -m64 -arch=sm_32 -O3 -Xptxas -dlcm=ca -target-os-variant=Android -I\"$(CUDA_PATH)/targets/aarch64-linux-androideabi/include\" -I\"../../..\" -I\"$(NDK_ROOT)/$(NDK_VERSION)/sources/cxx-stl/gnu-libstdc++/4.9/include\" -I\"$(NDK_ROOT)/$(NDK_VERSION)/sources/cxx-stl/gnu-libstdc++/4.9/libs/arm64-v8a/include\" -I\"$(NDK_ROOT)/$(NDK_VERSION)/platforms/android-21/arch-arm64/usr/include\"  --compile \"./../../cuda/flexExt.cu\" -o \"$(OBJS_DIR)/flexExtCUDA_release/cuda/cudaflexExt.o\"\n\t\"$(CUDA_PATH)/bin/nvcc\" -ccbin $(NDK_ROOT)/$(NDK_VERSION)/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/bin/aarch64-linux-android-g++ -target-cpu-arch=ARM -m64 -arch=sm_32 -O3 -Xptxas -dlcm=ca -target-os-variant=Android -I\"$(CUDA_PATH)/targets/aarch64-linux-androideabi/include\" -I\"../../..\" -I\"$(NDK_ROOT)/$(NDK_VERSION)/sources/cxx-stl/gnu-libstdc++/4.9/include\" -I\"$(NDK_ROOT)/$(NDK_VERSION)/sources/cxx-stl/gnu-libstdc++/4.9/libs/arm64-v8a/include\" -I\"$(NDK_ROOT)/$(NDK_VERSION)/platforms/android-21/arch-arm64/usr/include\"  --compile \"./../../cuda/flexExt.cu\" -o \"$(OBJS_DIR)/flexExtCUDA_release/cuda/cudaflexExt.o\"\n\nflexExtCUDA_release_DEPDIR = $(dir $(@))/$(*F)\n$(flexExtCUDA_release_cpp_o): $(flexExtCUDA_release_objsdir)/%.o:\n\t$(ECHO) flexExtCUDA: compiling release $(filter %$(strip $(subst .cpp.o,.cpp, $(subst $(flexExtCUDA_release_objsdir),, $@))), $(flexExtCUDA_cppfiles))...\n\tmkdir -p $(dir $(@))\n\t$(CXX) $(flexExtCUDA_release_cppflags) -c $(filter %$(strip $(subst .cpp.o,.cpp, $(subst $(flexExtCUDA_release_objsdir),, $@))), $(flexExtCUDA_cppfiles)) -o $@\n\t@mkdir -p $(dir $(addprefix $(DEPSDIR)/flexExtCUDA/release/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cpp.o,.cpp, $(subst $(flexExtCUDA_release_objsdir),, $@))), $(flexExtCUDA_cppfiles))))))\n\tcp $(flexExtCUDA_release_DEPDIR).d $(addprefix $(DEPSDIR)/flexExtCUDA/release/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cpp.o,.cpp, $(subst $(flexExtCUDA_release_objsdir),, $@))), $(flexExtCUDA_cppfiles))))).P; \\\n\t  sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\\\$$//' \\\n\t\t-e '/^$$/ d' -e 's/$$/ :/' < $(flexExtCUDA_release_DEPDIR).d >> $(addprefix $(DEPSDIR)/flexExtCUDA/release/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cpp.o,.cpp, $(subst $(flexExtCUDA_release_objsdir),, $@))), $(flexExtCUDA_cppfiles))))).P; \\\n\t  rm -f $(flexExtCUDA_release_DEPDIR).d\n\n$(flexExtCUDA_release_cc_o): $(flexExtCUDA_release_objsdir)/%.o:\n\t$(ECHO) flexExtCUDA: compiling release $(filter %$(strip $(subst .cc.o,.cc, $(subst $(flexExtCUDA_release_objsdir),, $@))), $(flexExtCUDA_ccfiles))...\n\tmkdir -p $(dir $(@))\n\t$(CXX) $(flexExtCUDA_release_cppflags) -c $(filter %$(strip $(subst .cc.o,.cc, $(subst $(flexExtCUDA_release_objsdir),, $@))), $(flexExtCUDA_ccfiles)) -o $@\n\tmkdir -p $(dir $(addprefix $(DEPSDIR)/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cc.o,.cc, $(subst $(flexExtCUDA_release_objsdir),, $@))), $(flexExtCUDA_ccfiles))))))\n\tcp $(flexExtCUDA_release_DEPDIR).d $(addprefix $(DEPSDIR)/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cc.o,.cc, $(subst $(flexExtCUDA_release_objsdir),, $@))), $(flexExtCUDA_ccfiles))))).release.P; \\\n\t  sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\\\$$//' \\\n\t\t-e '/^$$/ d' -e 's/$$/ :/' < $(flexExtCUDA_release_DEPDIR).d >> $(addprefix $(DEPSDIR)/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cc.o,.cc, $(subst $(flexExtCUDA_release_objsdir),, $@))), $(flexExtCUDA_ccfiles))))).release.P; \\\n\t  rm -f $(flexExtCUDA_release_DEPDIR).d\n\n$(flexExtCUDA_release_c_o): $(flexExtCUDA_release_objsdir)/%.o:\n\t$(ECHO) flexExtCUDA: compiling release $(filter %$(strip $(subst .c.o,.c, $(subst $(flexExtCUDA_release_objsdir),, $@))), $(flexExtCUDA_cfiles))...\n\tmkdir -p $(dir $(@))\n\t$(CC) $(flexExtCUDA_release_cflags) -c $(filter %$(strip $(subst .c.o,.c, $(subst $(flexExtCUDA_release_objsdir),, $@))), $(flexExtCUDA_cfiles)) -o $@ \n\t@mkdir -p $(dir $(addprefix $(DEPSDIR)/flexExtCUDA/release/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .c.o,.c, $(subst $(flexExtCUDA_release_objsdir),, $@))), $(flexExtCUDA_cfiles))))))\n\tcp $(flexExtCUDA_release_DEPDIR).d $(addprefix $(DEPSDIR)/flexExtCUDA/release/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .c.o,.c, $(subst $(flexExtCUDA_release_objsdir),, $@))), $(flexExtCUDA_cfiles))))).P; \\\n\t  sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\\\$$//' \\\n\t\t-e '/^$$/ d' -e 's/$$/ :/' < $(flexExtCUDA_release_DEPDIR).d >> $(addprefix $(DEPSDIR)/flexExtCUDA/release/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .c.o,.c, $(subst $(flexExtCUDA_release_objsdir),, $@))), $(flexExtCUDA_cfiles))))).P; \\\n\t  rm -f $(flexExtCUDA_release_DEPDIR).d\n\nflexExtCUDA_debug_hpaths    := \nflexExtCUDA_debug_hpaths    += ./../../..\nflexExtCUDA_debug_hpaths    += $(NDK_ROOT)/$(NDK_VERSION)/platforms/android-21/arch-arm64/usr/include\nflexExtCUDA_debug_hpaths    += $(NDK_ROOT)/$(NDK_VERSION)/sources/cxx-stl/gnu-libstdc++/4.9/include\nflexExtCUDA_debug_hpaths    += $(NDK_ROOT)/$(NDK_VERSION)/sources/cxx-stl/gnu-libstdc++/4.9/libs/arm64-v8a/include\nflexExtCUDA_debug_hpaths    += $(CUDA_PATH)/targets/aarch64-linux-androideabi/include\nflexExtCUDA_debug_lpaths    := \nflexExtCUDA_debug_lpaths    += $(CUDA_PATH)/targets/aarch64-linux-androideabi/lib\nflexExtCUDA_debug_lpaths    += ./../../../lib/android\nflexExtCUDA_debug_lpaths    += $(NDK_ROOT)/$(NDK_VERSION)/sources/cxx-stl/gnu-libstdc++/4.9/libs/arm64-v8a\nflexExtCUDA_debug_defines   := $(flexExtCUDA_custom_defines)\nflexExtCUDA_debug_defines   += android\nflexExtCUDA_debug_defines   += ANDROID=1\nflexExtCUDA_debug_defines   += ANDROID_PLAT=1\nflexExtCUDA_debug_defines   += DISABLE_IMPORTGL\nflexExtCUDA_debug_libraries := \nflexExtCUDA_debug_libraries += ./../../../lib/android_aarch64/libNvFlexDebug_aarch64.a\nflexExtCUDA_debug_common_cflags\t:= $(flexExtCUDA_custom_cflags)\nflexExtCUDA_debug_common_cflags    += -MMD\nflexExtCUDA_debug_common_cflags    += $(addprefix -D, $(flexExtCUDA_debug_defines))\nflexExtCUDA_debug_common_cflags    += $(addprefix -I, $(flexExtCUDA_debug_hpaths))\nflexExtCUDA_debug_common_cflags  += -Wall -std=c++11 -fpermissive -fno-strict-aliasing -fno-rtti -fno-exceptions\nflexExtCUDA_debug_common_cflags  += -g -O0\nflexExtCUDA_debug_cflags\t:= $(flexExtCUDA_debug_common_cflags)\nflexExtCUDA_debug_cppflags\t:= $(flexExtCUDA_debug_common_cflags)\nflexExtCUDA_debug_lflags    := $(flexExtCUDA_custom_lflags)\nflexExtCUDA_debug_lflags    += $(addprefix -L, $(flexExtCUDA_debug_lpaths))\nflexExtCUDA_debug_lflags    += -Wl,--start-group $(addprefix -l, $(flexExtCUDA_debug_libraries)) -Wl,--end-group\nflexExtCUDA_debug_objsdir  = $(OBJS_DIR)/flexExtCUDA_debug\nflexExtCUDA_debug_cpp_o    = $(addprefix $(flexExtCUDA_debug_objsdir)/, $(subst ./, , $(subst ../, , $(patsubst %.cpp, %.cpp.o, $(flexExtCUDA_cppfiles)))))\nflexExtCUDA_debug_cc_o    = $(addprefix $(flexExtCUDA_debug_objsdir)/, $(subst ./, , $(subst ../, , $(patsubst %.cc, %.cc.o, $(flexExtCUDA_ccfiles)))))\nflexExtCUDA_debug_c_o      = $(addprefix $(flexExtCUDA_debug_objsdir)/, $(subst ./, , $(subst ../, , $(patsubst %.c, %.c.o, $(flexExtCUDA_cfiles)))))\nflexExtCUDA_debug_cuda_cuda_flexExt_cu_o += $(OBJS_DIR)/flexExtCUDA_debug/cuda/cudaflexExt.o\nflexExtCUDA_debug_obj      = $(flexExtCUDA_debug_cpp_o) $(flexExtCUDA_debug_cc_o) $(flexExtCUDA_debug_c_o) $(flexExtCUDA_debug_cuda_cuda_flexExt_cu_o)\nflexExtCUDA_debug_bin      := ./../../../lib/android_aarch64/libNvFlexExtDebugCUDA_aarch64.a\n\nclean_flexExtCUDA_debug: \n\t@$(ECHO) clean flexExtCUDA debug\n\t@$(RMDIR) $(flexExtCUDA_debug_objsdir)\n\t@$(RMDIR) $(flexExtCUDA_debug_bin)\n\t@$(RMDIR) $(DEPSDIR)/flexExtCUDA/debug\n\nbuild_flexExtCUDA_debug: postbuild_flexExtCUDA_debug\npostbuild_flexExtCUDA_debug: mainbuild_flexExtCUDA_debug\nmainbuild_flexExtCUDA_debug: prebuild_flexExtCUDA_debug $(flexExtCUDA_debug_bin)\nprebuild_flexExtCUDA_debug:\n\n$(flexExtCUDA_debug_bin): $(flexExtCUDA_debug_obj) \n\tmkdir -p `dirname ./../../../lib/android_aarch64/libNvFlexExtDebugCUDA_aarch64.a`\n\t@$(AR) rcs $(flexExtCUDA_debug_bin) $(flexExtCUDA_debug_obj)\n\t$(ECHO) building $@ complete!\n\n$(flexExtCUDA_debug_cuda_cuda_flexExt_cu_o): $(flexExtCUDA_cuda_cuda_flexExt_cu) \n\t@mkdir -p `dirname $(OBJS_DIR)/flexExtCUDA_debug/cuda/cudaflexExt.o`\n\t$(ECHO) \"$(CUDA_PATH)/bin/nvcc\" -ccbin $(NDK_ROOT)/$(NDK_VERSION)/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/bin/aarch64-linux-android-g++ -target-cpu-arch=ARM -m64 -arch=sm_32 -O3 -Xptxas -dlcm=ca -target-os-variant=Android -I\"$(CUDA_PATH)/targets/aarch64-linux-androideabi/include\" -I\"../../..\" -I\"$(NDK_ROOT)/$(NDK_VERSION)/sources/cxx-stl/gnu-libstdc++/4.9/include\" -I\"$(NDK_ROOT)/$(NDK_VERSION)/sources/cxx-stl/gnu-libstdc++/4.9/libs/arm64-v8a/include\" -I\"$(NDK_ROOT)/$(NDK_VERSION)/platforms/android-21/arch-arm64/usr/include\"  --compile \"./../../cuda/flexExt.cu\" -o \"$(OBJS_DIR)/flexExtCUDA_debug/cuda/cudaflexExt.o\"\n\t\"$(CUDA_PATH)/bin/nvcc\" -ccbin $(NDK_ROOT)/$(NDK_VERSION)/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/bin/aarch64-linux-android-g++ -target-cpu-arch=ARM -m64 -arch=sm_32 -O3 -Xptxas -dlcm=ca -target-os-variant=Android -I\"$(CUDA_PATH)/targets/aarch64-linux-androideabi/include\" -I\"../../..\" -I\"$(NDK_ROOT)/$(NDK_VERSION)/sources/cxx-stl/gnu-libstdc++/4.9/include\" -I\"$(NDK_ROOT)/$(NDK_VERSION)/sources/cxx-stl/gnu-libstdc++/4.9/libs/arm64-v8a/include\" -I\"$(NDK_ROOT)/$(NDK_VERSION)/platforms/android-21/arch-arm64/usr/include\"  --compile \"./../../cuda/flexExt.cu\" -o \"$(OBJS_DIR)/flexExtCUDA_debug/cuda/cudaflexExt.o\"\n\nflexExtCUDA_debug_DEPDIR = $(dir $(@))/$(*F)\n$(flexExtCUDA_debug_cpp_o): $(flexExtCUDA_debug_objsdir)/%.o:\n\t$(ECHO) flexExtCUDA: compiling debug $(filter %$(strip $(subst .cpp.o,.cpp, $(subst $(flexExtCUDA_debug_objsdir),, $@))), $(flexExtCUDA_cppfiles))...\n\tmkdir -p $(dir $(@))\n\t$(CXX) $(flexExtCUDA_debug_cppflags) -c $(filter %$(strip $(subst .cpp.o,.cpp, $(subst $(flexExtCUDA_debug_objsdir),, $@))), $(flexExtCUDA_cppfiles)) -o $@\n\t@mkdir -p $(dir $(addprefix $(DEPSDIR)/flexExtCUDA/debug/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cpp.o,.cpp, $(subst $(flexExtCUDA_debug_objsdir),, $@))), $(flexExtCUDA_cppfiles))))))\n\tcp $(flexExtCUDA_debug_DEPDIR).d $(addprefix $(DEPSDIR)/flexExtCUDA/debug/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cpp.o,.cpp, $(subst $(flexExtCUDA_debug_objsdir),, $@))), $(flexExtCUDA_cppfiles))))).P; \\\n\t  sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\\\$$//' \\\n\t\t-e '/^$$/ d' -e 's/$$/ :/' < $(flexExtCUDA_debug_DEPDIR).d >> $(addprefix $(DEPSDIR)/flexExtCUDA/debug/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cpp.o,.cpp, $(subst $(flexExtCUDA_debug_objsdir),, $@))), $(flexExtCUDA_cppfiles))))).P; \\\n\t  rm -f $(flexExtCUDA_debug_DEPDIR).d\n\n$(flexExtCUDA_debug_cc_o): $(flexExtCUDA_debug_objsdir)/%.o:\n\t$(ECHO) flexExtCUDA: compiling debug $(filter %$(strip $(subst .cc.o,.cc, $(subst $(flexExtCUDA_debug_objsdir),, $@))), $(flexExtCUDA_ccfiles))...\n\tmkdir -p $(dir $(@))\n\t$(CXX) $(flexExtCUDA_debug_cppflags) -c $(filter %$(strip $(subst .cc.o,.cc, $(subst $(flexExtCUDA_debug_objsdir),, $@))), $(flexExtCUDA_ccfiles)) -o $@\n\tmkdir -p $(dir $(addprefix $(DEPSDIR)/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cc.o,.cc, $(subst $(flexExtCUDA_debug_objsdir),, $@))), $(flexExtCUDA_ccfiles))))))\n\tcp $(flexExtCUDA_debug_DEPDIR).d $(addprefix $(DEPSDIR)/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cc.o,.cc, $(subst $(flexExtCUDA_debug_objsdir),, $@))), $(flexExtCUDA_ccfiles))))).debug.P; \\\n\t  sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\\\$$//' \\\n\t\t-e '/^$$/ d' -e 's/$$/ :/' < $(flexExtCUDA_debug_DEPDIR).d >> $(addprefix $(DEPSDIR)/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cc.o,.cc, $(subst $(flexExtCUDA_debug_objsdir),, $@))), $(flexExtCUDA_ccfiles))))).debug.P; \\\n\t  rm -f $(flexExtCUDA_debug_DEPDIR).d\n\n$(flexExtCUDA_debug_c_o): $(flexExtCUDA_debug_objsdir)/%.o:\n\t$(ECHO) flexExtCUDA: compiling debug $(filter %$(strip $(subst .c.o,.c, $(subst $(flexExtCUDA_debug_objsdir),, $@))), $(flexExtCUDA_cfiles))...\n\tmkdir -p $(dir $(@))\n\t$(CC) $(flexExtCUDA_debug_cflags) -c $(filter %$(strip $(subst .c.o,.c, $(subst $(flexExtCUDA_debug_objsdir),, $@))), $(flexExtCUDA_cfiles)) -o $@ \n\t@mkdir -p $(dir $(addprefix $(DEPSDIR)/flexExtCUDA/debug/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .c.o,.c, $(subst $(flexExtCUDA_debug_objsdir),, $@))), $(flexExtCUDA_cfiles))))))\n\tcp $(flexExtCUDA_debug_DEPDIR).d $(addprefix $(DEPSDIR)/flexExtCUDA/debug/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .c.o,.c, $(subst $(flexExtCUDA_debug_objsdir),, $@))), $(flexExtCUDA_cfiles))))).P; \\\n\t  sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\\\$$//' \\\n\t\t-e '/^$$/ d' -e 's/$$/ :/' < $(flexExtCUDA_debug_DEPDIR).d >> $(addprefix $(DEPSDIR)/flexExtCUDA/debug/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .c.o,.c, $(subst $(flexExtCUDA_debug_objsdir),, $@))), $(flexExtCUDA_cfiles))))).P; \\\n\t  rm -f $(flexExtCUDA_debug_DEPDIR).d\n\nclean_flexExtCUDA:  clean_flexExtCUDA_release clean_flexExtCUDA_debug\n\trm -rf $(DEPSDIR)\n\nexport VERBOSE\nifndef VERBOSE\n.SILENT:\nendif\n"
  },
  {
    "path": "extensions/compiler/makelinux64/Makefile",
    "content": "#!/usr/bin/make\n# Makefile generated by XPJ for linux64\n\nDEPSDIR = .deps\n#default defines\nOBJS_DIR  = build\nRMDIR     = rm -fr\nECHO      = echo\nCCLD      =  g++\nCXX       =  g++\nCC        =  gcc\nRANLIB    = ranlib\nAR\t\t = ar\nSTRIP     = strip\nOBJDUMP   = objdump\nOBJCOPY   = objcopy\n-include Makedefs.linux64.mk\n\nall: debug release \n\ndebug: build_flexExtCUDA_debug \n\nrelease: build_flexExtCUDA_release \n\nclean: clean_flexExtCUDA_release clean_flexExtCUDA_debug \n\trm -rf $(DEPSDIR)\n\n\nclean_release: clean_flexExtCUDA_release \n\trm -rf $(DEPSDIR)\n\n\nclean_debug: clean_flexExtCUDA_debug \n\trm -rf $(DEPSDIR)\n\n\ninclude Makefile.flexExtCUDA.mk\n\n\n# Disable implicit rules to speedup build\n.SUFFIXES:\nSUFFIXES :=\n%.out:\n%.a:\n%.ln:\n%.o:\n%: %.o\n%.c:\n%: %.c\n%.ln: %.c\n%.o: %.c\n%.cc:\n%: %.cc\n%.o: %.cc\n%.C:\n%: %.C\n%.o: %.C\n%.cpp:\n%: %.cpp\n%.o: %.cpp\n%.p:\n%: %.p\n%.o: %.p\n%.f:\n%:\n %.f%.o: %.f\n%.F:\n%: %.F\n%.o: %.F\n%.f: %.F\n%.r:\n%: %.r\n%.o: %.r\n%.f: %.r\n%.y:\n%.ln: %.y\n%.c: %.y\n%.l:\n%.ln: %.l\n%.c: %.l\n%.r: %.l\n%.s:\n%: %.s\n%.o: %.s\n%.S:\n%: %.S\n%.o: %.S\n%.s: %.S\n%.mod:\n%: %.mod\n%.o: %.mod\n%.sym:\n%.def:\n%.sym: %.def\n%.h:\n%.info:\n%.dvi:\n%.tex:\n%.dvi: %.tex\n%.texinfo:\n%.info: %.texinfo\n%.dvi: %.texinfo\n%.texi:\n%.info: %.texi\n%.dvi: %.texi\n%.txinfo:\n%.info: %.txinfo\n%.dvi: %.txinfo\n%.w:\n%.c: %.w\n%.tex: %.w\n%.ch:\n%.web:\n%.p: %.web\n%.tex: %.web\n%.sh:\n%: %.sh\n%.elc:\n%.el:\n(%): %\n%.out: %\n%.c: %.w %.ch\n%.tex: %.w %.ch\n%: %,v\n%: RCS/%,v\n%: RCS/%\n%: s.%\n%: SCCS/s.%\n.web.p:\n.l.r:\n.dvi:\n.F.o:\n.l:\n.y.ln:\n.o:\n.y:\n.def.sym:\n.p.o:\n.p:\n.txinfo.dvi:\n.a:\n.l.ln:\n.w.c:\n.texi.dvi:\n.sh:\n.cc:\n.cc.o:\n.def:\n.c.o:\n.r.o:\n.r:\n.info:\n.elc:\n.l.c:\n.out:\n.C:\n.r.f:\n.S:\n.texinfo.info:\n.c:\n.w.tex:\n.c.ln:\n.s.o:\n.s:\n.texinfo.dvi:\n.el:\n.texinfo:\n.y.c:\n.web.tex:\n.texi.info:\n.DEFAULT:\n.h:\n.tex.dvi:\n.cpp.o:\n.cpp:\n.C.o:\n.ln:\n.texi:\n.txinfo:\n.tex:\n.txinfo.info:\n.ch:\n.S.s:\n.mod:\n.mod.o:\n.F.f:\n.w:\n.S.o:\n.F:\n.web:\n.sym:\n.f:\n.f.o:\nexport VERBOSE\nifndef VERBOSE\n.SILENT:\nendif\n"
  },
  {
    "path": "extensions/compiler/makelinux64/Makefile.flexExtCUDA.mk",
    "content": "# Makefile generated by XPJ for linux64\n-include Makefile.custom\nProjectName = flexExtCUDA\nflexExtCUDA_cppfiles   += ./../../flexExtCloth.cpp\nflexExtCUDA_cppfiles   += ./../../flexExtContainer.cpp\nflexExtCUDA_cppfiles   += ./../../flexExtMovingFrame.cpp\nflexExtCUDA_cppfiles   += ./../../flexExtRigid.cpp\nflexExtCUDA_cppfiles   += ./../../flexExtSoft.cpp\nflexExtCUDA_cuda_cuda_flexExt_cu   += ./../../cuda/flexExt.cu\nflexExtCUDA_cppfiles   += ./../../../core/sdf.cpp\nflexExtCUDA_cppfiles   += ./../../../core/voxelize.cpp\nflexExtCUDA_cppfiles   += ./../../../core/maths.cpp\nflexExtCUDA_cppfiles   += ./../../../core/aabbtree.cpp\n\nflexExtCUDA_cpp_release_dep    = $(addprefix $(DEPSDIR)/flexExtCUDA/release/, $(subst ./, , $(subst ../, , $(patsubst %.cpp, %.cpp.P, $(flexExtCUDA_cppfiles)))))\nflexExtCUDA_cc_release_dep    = $(addprefix $(DEPSDIR)/, $(subst ./, , $(subst ../, , $(patsubst %.cc, %.cc.release.P, $(flexExtCUDA_ccfiles)))))\nflexExtCUDA_c_release_dep      = $(addprefix $(DEPSDIR)/flexExtCUDA/release/, $(subst ./, , $(subst ../, , $(patsubst %.c, %.c.P, $(flexExtCUDA_cfiles)))))\nflexExtCUDA_release_dep      = $(flexExtCUDA_cpp_release_dep) $(flexExtCUDA_cc_release_dep) $(flexExtCUDA_c_release_dep)\n-include $(flexExtCUDA_release_dep)\nflexExtCUDA_cpp_debug_dep    = $(addprefix $(DEPSDIR)/flexExtCUDA/debug/, $(subst ./, , $(subst ../, , $(patsubst %.cpp, %.cpp.P, $(flexExtCUDA_cppfiles)))))\nflexExtCUDA_cc_debug_dep    = $(addprefix $(DEPSDIR)/, $(subst ./, , $(subst ../, , $(patsubst %.cc, %.cc.debug.P, $(flexExtCUDA_ccfiles)))))\nflexExtCUDA_c_debug_dep      = $(addprefix $(DEPSDIR)/flexExtCUDA/debug/, $(subst ./, , $(subst ../, , $(patsubst %.c, %.c.P, $(flexExtCUDA_cfiles)))))\nflexExtCUDA_debug_dep      = $(flexExtCUDA_cpp_debug_dep) $(flexExtCUDA_cc_debug_dep) $(flexExtCUDA_c_debug_dep)\n-include $(flexExtCUDA_debug_dep)\nflexExtCUDA_release_hpaths    := \nflexExtCUDA_release_hpaths    += /usr/local/cuda/include\nflexExtCUDA_release_hpaths    += /usr/local/cuda/extras/cupti/include\nflexExtCUDA_release_hpaths    += ./../../..\nflexExtCUDA_release_hpaths    += ./../../../external/freeglut/include\nflexExtCUDA_release_lpaths    := \nflexExtCUDA_release_lpaths    += /usr/local/cuda/lib64\nflexExtCUDA_release_defines   := $(flexExtCUDA_custom_defines)\nflexExtCUDA_release_libraries := \nflexExtCUDA_release_libraries += ./../../../lib/linux64/NvFlexReleaseCUDA_x64.a\nflexExtCUDA_release_common_cflags\t:= $(flexExtCUDA_custom_cflags)\nflexExtCUDA_release_common_cflags    += -MMD\nflexExtCUDA_release_common_cflags    += $(addprefix -D, $(flexExtCUDA_release_defines))\nflexExtCUDA_release_common_cflags    += $(addprefix -I, $(flexExtCUDA_release_hpaths))\nflexExtCUDA_release_common_cflags  += -m64\nflexExtCUDA_release_common_cflags  += -Wall -std=c++0x -fPIC -fpermissive -fno-strict-aliasing\nflexExtCUDA_release_common_cflags  += -O3 -ffast-math -DNDEBUG\nflexExtCUDA_release_cflags\t:= $(flexExtCUDA_release_common_cflags)\nflexExtCUDA_release_cppflags\t:= $(flexExtCUDA_release_common_cflags)\nflexExtCUDA_release_lflags    := $(flexExtCUDA_custom_lflags)\nflexExtCUDA_release_lflags    += $(addprefix -L, $(flexExtCUDA_release_lpaths))\nflexExtCUDA_release_lflags    += -Wl,--start-group $(addprefix -l, $(flexExtCUDA_release_libraries)) -Wl,--end-group\nflexExtCUDA_release_lflags  += -m64\nflexExtCUDA_release_objsdir  = $(OBJS_DIR)/flexExtCUDA_release\nflexExtCUDA_release_cpp_o    = $(addprefix $(flexExtCUDA_release_objsdir)/, $(subst ./, , $(subst ../, , $(patsubst %.cpp, %.cpp.o, $(flexExtCUDA_cppfiles)))))\nflexExtCUDA_release_cc_o    = $(addprefix $(flexExtCUDA_release_objsdir)/, $(subst ./, , $(subst ../, , $(patsubst %.cc, %.cc.o, $(flexExtCUDA_ccfiles)))))\nflexExtCUDA_release_c_o      = $(addprefix $(flexExtCUDA_release_objsdir)/, $(subst ./, , $(subst ../, , $(patsubst %.c, %.c.o, $(flexExtCUDA_cfiles)))))\nflexExtCUDA_release_cuda_cuda_flexExt_cu_o += $(OBJS_DIR)/flexExtCUDA_release/cuda/cudaflexExt.o\nflexExtCUDA_release_obj      = $(flexExtCUDA_release_cpp_o) $(flexExtCUDA_release_cc_o) $(flexExtCUDA_release_c_o) $(flexExtCUDA_release_cuda_cuda_flexExt_cu_o)\nflexExtCUDA_release_bin      := ./../../../lib/linux64/NvFlexExtReleaseCUDA_x64.a\n\nclean_flexExtCUDA_release: \n\t@$(ECHO) clean flexExtCUDA release\n\t@$(RMDIR) $(flexExtCUDA_release_objsdir)\n\t@$(RMDIR) $(flexExtCUDA_release_bin)\n\t@$(RMDIR) $(DEPSDIR)/flexExtCUDA/release\n\nbuild_flexExtCUDA_release: postbuild_flexExtCUDA_release\npostbuild_flexExtCUDA_release: mainbuild_flexExtCUDA_release\nmainbuild_flexExtCUDA_release: prebuild_flexExtCUDA_release $(flexExtCUDA_release_bin)\nprebuild_flexExtCUDA_release:\n\n$(flexExtCUDA_release_bin): $(flexExtCUDA_release_obj) \n\tmkdir -p `dirname ./../../../lib/linux64/NvFlexExtReleaseCUDA_x64.a`\n\t@$(AR) rcs $(flexExtCUDA_release_bin) $(flexExtCUDA_release_obj)\n\t$(ECHO) building $@ complete!\n\n$(flexExtCUDA_release_cuda_cuda_flexExt_cu_o): $(flexExtCUDA_cuda_cuda_flexExt_cu) \n\t@mkdir -p `dirname $(OBJS_DIR)/flexExtCUDA_release/cuda/cudaflexExt.o`\n\t$(ECHO) /usr/local/cuda/bin/nvcc -O3 -g -arch=sm_30 -m64 -Xcompiler -fPIC -D_FORCE_INLINES  -I../../.. -I../../../external -I/usr/local/cuda/include -I../../../external/cub-1.3.2  --compile \"./../../cuda/flexExt.cu\" -o \"$(OBJS_DIR)/flexExtCUDA_release/cuda/cudaflexExt.o\"\n\t/usr/local/cuda/bin/nvcc -O3 -g -arch=sm_30 -m64 -Xcompiler -fPIC -D_FORCE_INLINES  -I../../.. -I../../../external -I/usr/local/cuda/include -I../../../external/cub-1.3.2  --compile \"./../../cuda/flexExt.cu\" -o \"$(OBJS_DIR)/flexExtCUDA_release/cuda/cudaflexExt.o\"\n\nflexExtCUDA_release_DEPDIR = $(dir $(@))/$(*F)\n$(flexExtCUDA_release_cpp_o): $(flexExtCUDA_release_objsdir)/%.o:\n\t$(ECHO) flexExtCUDA: compiling release $(filter %$(strip $(subst .cpp.o,.cpp, $(subst $(flexExtCUDA_release_objsdir),, $@))), $(flexExtCUDA_cppfiles))...\n\tmkdir -p $(dir $(@))\n\t$(CXX) $(flexExtCUDA_release_cppflags) -c $(filter %$(strip $(subst .cpp.o,.cpp, $(subst $(flexExtCUDA_release_objsdir),, $@))), $(flexExtCUDA_cppfiles)) -o $@\n\t@mkdir -p $(dir $(addprefix $(DEPSDIR)/flexExtCUDA/release/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cpp.o,.cpp, $(subst $(flexExtCUDA_release_objsdir),, $@))), $(flexExtCUDA_cppfiles))))))\n\tcp $(flexExtCUDA_release_DEPDIR).d $(addprefix $(DEPSDIR)/flexExtCUDA/release/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cpp.o,.cpp, $(subst $(flexExtCUDA_release_objsdir),, $@))), $(flexExtCUDA_cppfiles))))).P; \\\n\t  sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\\\$$//' \\\n\t\t-e '/^$$/ d' -e 's/$$/ :/' < $(flexExtCUDA_release_DEPDIR).d >> $(addprefix $(DEPSDIR)/flexExtCUDA/release/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cpp.o,.cpp, $(subst $(flexExtCUDA_release_objsdir),, $@))), $(flexExtCUDA_cppfiles))))).P; \\\n\t  rm -f $(flexExtCUDA_release_DEPDIR).d\n\n$(flexExtCUDA_release_cc_o): $(flexExtCUDA_release_objsdir)/%.o:\n\t$(ECHO) flexExtCUDA: compiling release $(filter %$(strip $(subst .cc.o,.cc, $(subst $(flexExtCUDA_release_objsdir),, $@))), $(flexExtCUDA_ccfiles))...\n\tmkdir -p $(dir $(@))\n\t$(CXX) $(flexExtCUDA_release_cppflags) -c $(filter %$(strip $(subst .cc.o,.cc, $(subst $(flexExtCUDA_release_objsdir),, $@))), $(flexExtCUDA_ccfiles)) -o $@\n\tmkdir -p $(dir $(addprefix $(DEPSDIR)/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cc.o,.cc, $(subst $(flexExtCUDA_release_objsdir),, $@))), $(flexExtCUDA_ccfiles))))))\n\tcp $(flexExtCUDA_release_DEPDIR).d $(addprefix $(DEPSDIR)/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cc.o,.cc, $(subst $(flexExtCUDA_release_objsdir),, $@))), $(flexExtCUDA_ccfiles))))).release.P; \\\n\t  sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\\\$$//' \\\n\t\t-e '/^$$/ d' -e 's/$$/ :/' < $(flexExtCUDA_release_DEPDIR).d >> $(addprefix $(DEPSDIR)/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cc.o,.cc, $(subst $(flexExtCUDA_release_objsdir),, $@))), $(flexExtCUDA_ccfiles))))).release.P; \\\n\t  rm -f $(flexExtCUDA_release_DEPDIR).d\n\n$(flexExtCUDA_release_c_o): $(flexExtCUDA_release_objsdir)/%.o:\n\t$(ECHO) flexExtCUDA: compiling release $(filter %$(strip $(subst .c.o,.c, $(subst $(flexExtCUDA_release_objsdir),, $@))), $(flexExtCUDA_cfiles))...\n\tmkdir -p $(dir $(@))\n\t$(CC) $(flexExtCUDA_release_cflags) -c $(filter %$(strip $(subst .c.o,.c, $(subst $(flexExtCUDA_release_objsdir),, $@))), $(flexExtCUDA_cfiles)) -o $@ \n\t@mkdir -p $(dir $(addprefix $(DEPSDIR)/flexExtCUDA/release/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .c.o,.c, $(subst $(flexExtCUDA_release_objsdir),, $@))), $(flexExtCUDA_cfiles))))))\n\tcp $(flexExtCUDA_release_DEPDIR).d $(addprefix $(DEPSDIR)/flexExtCUDA/release/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .c.o,.c, $(subst $(flexExtCUDA_release_objsdir),, $@))), $(flexExtCUDA_cfiles))))).P; \\\n\t  sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\\\$$//' \\\n\t\t-e '/^$$/ d' -e 's/$$/ :/' < $(flexExtCUDA_release_DEPDIR).d >> $(addprefix $(DEPSDIR)/flexExtCUDA/release/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .c.o,.c, $(subst $(flexExtCUDA_release_objsdir),, $@))), $(flexExtCUDA_cfiles))))).P; \\\n\t  rm -f $(flexExtCUDA_release_DEPDIR).d\n\nflexExtCUDA_debug_hpaths    := \nflexExtCUDA_debug_hpaths    += /usr/local/cuda/include\nflexExtCUDA_debug_hpaths    += /usr/local/cuda/extras/cupti/include\nflexExtCUDA_debug_hpaths    += ./../../..\nflexExtCUDA_debug_hpaths    += ./../../../external/freeglut/include\nflexExtCUDA_debug_lpaths    := \nflexExtCUDA_debug_lpaths    += /usr/local/cuda/lib64\nflexExtCUDA_debug_defines   := $(flexExtCUDA_custom_defines)\nflexExtCUDA_debug_libraries := \nflexExtCUDA_debug_libraries += ./../../../lib/linux64/NvFlexDebugCUDA_x64.a\nflexExtCUDA_debug_common_cflags\t:= $(flexExtCUDA_custom_cflags)\nflexExtCUDA_debug_common_cflags    += -MMD\nflexExtCUDA_debug_common_cflags    += $(addprefix -D, $(flexExtCUDA_debug_defines))\nflexExtCUDA_debug_common_cflags    += $(addprefix -I, $(flexExtCUDA_debug_hpaths))\nflexExtCUDA_debug_common_cflags  += -m64\nflexExtCUDA_debug_common_cflags  += -Wall -std=c++0x -fPIC -fpermissive -fno-strict-aliasing\nflexExtCUDA_debug_common_cflags  += -g -O0\nflexExtCUDA_debug_cflags\t:= $(flexExtCUDA_debug_common_cflags)\nflexExtCUDA_debug_cppflags\t:= $(flexExtCUDA_debug_common_cflags)\nflexExtCUDA_debug_lflags    := $(flexExtCUDA_custom_lflags)\nflexExtCUDA_debug_lflags    += $(addprefix -L, $(flexExtCUDA_debug_lpaths))\nflexExtCUDA_debug_lflags    += -Wl,--start-group $(addprefix -l, $(flexExtCUDA_debug_libraries)) -Wl,--end-group\nflexExtCUDA_debug_lflags  += -m64\nflexExtCUDA_debug_objsdir  = $(OBJS_DIR)/flexExtCUDA_debug\nflexExtCUDA_debug_cpp_o    = $(addprefix $(flexExtCUDA_debug_objsdir)/, $(subst ./, , $(subst ../, , $(patsubst %.cpp, %.cpp.o, $(flexExtCUDA_cppfiles)))))\nflexExtCUDA_debug_cc_o    = $(addprefix $(flexExtCUDA_debug_objsdir)/, $(subst ./, , $(subst ../, , $(patsubst %.cc, %.cc.o, $(flexExtCUDA_ccfiles)))))\nflexExtCUDA_debug_c_o      = $(addprefix $(flexExtCUDA_debug_objsdir)/, $(subst ./, , $(subst ../, , $(patsubst %.c, %.c.o, $(flexExtCUDA_cfiles)))))\nflexExtCUDA_debug_cuda_cuda_flexExt_cu_o += $(OBJS_DIR)/flexExtCUDA_debug/cuda/cudaflexExt.o\nflexExtCUDA_debug_obj      = $(flexExtCUDA_debug_cpp_o) $(flexExtCUDA_debug_cc_o) $(flexExtCUDA_debug_c_o) $(flexExtCUDA_debug_cuda_cuda_flexExt_cu_o)\nflexExtCUDA_debug_bin      := ./../../../lib/linux64/NvFlexExtDebugCUDA_x64.a\n\nclean_flexExtCUDA_debug: \n\t@$(ECHO) clean flexExtCUDA debug\n\t@$(RMDIR) $(flexExtCUDA_debug_objsdir)\n\t@$(RMDIR) $(flexExtCUDA_debug_bin)\n\t@$(RMDIR) $(DEPSDIR)/flexExtCUDA/debug\n\nbuild_flexExtCUDA_debug: postbuild_flexExtCUDA_debug\npostbuild_flexExtCUDA_debug: mainbuild_flexExtCUDA_debug\nmainbuild_flexExtCUDA_debug: prebuild_flexExtCUDA_debug $(flexExtCUDA_debug_bin)\nprebuild_flexExtCUDA_debug:\n\n$(flexExtCUDA_debug_bin): $(flexExtCUDA_debug_obj) \n\tmkdir -p `dirname ./../../../lib/linux64/NvFlexExtDebugCUDA_x64.a`\n\t@$(AR) rcs $(flexExtCUDA_debug_bin) $(flexExtCUDA_debug_obj)\n\t$(ECHO) building $@ complete!\n\n$(flexExtCUDA_debug_cuda_cuda_flexExt_cu_o): $(flexExtCUDA_cuda_cuda_flexExt_cu) \n\t@mkdir -p `dirname $(OBJS_DIR)/flexExtCUDA_debug/cuda/cudaflexExt.o`\n\t$(ECHO) /usr/local/cuda/bin/nvcc -O3 -g -arch=sm_30 -m64 -Xcompiler -fPIC -D_FORCE_INLINES  -I../../.. -I../../../external -I/usr/local/cuda/include -I../../../external/cub-1.3.2  --compile \"./../../cuda/flexExt.cu\" -o \"$(OBJS_DIR)/flexExtCUDA_debug/cuda/cudaflexExt.o\"\n\t/usr/local/cuda/bin/nvcc -O3 -g -arch=sm_30 -m64 -Xcompiler -fPIC -D_FORCE_INLINES  -I../../.. -I../../../external -I/usr/local/cuda/include -I../../../external/cub-1.3.2  --compile \"./../../cuda/flexExt.cu\" -o \"$(OBJS_DIR)/flexExtCUDA_debug/cuda/cudaflexExt.o\"\n\nflexExtCUDA_debug_DEPDIR = $(dir $(@))/$(*F)\n$(flexExtCUDA_debug_cpp_o): $(flexExtCUDA_debug_objsdir)/%.o:\n\t$(ECHO) flexExtCUDA: compiling debug $(filter %$(strip $(subst .cpp.o,.cpp, $(subst $(flexExtCUDA_debug_objsdir),, $@))), $(flexExtCUDA_cppfiles))...\n\tmkdir -p $(dir $(@))\n\t$(CXX) $(flexExtCUDA_debug_cppflags) -c $(filter %$(strip $(subst .cpp.o,.cpp, $(subst $(flexExtCUDA_debug_objsdir),, $@))), $(flexExtCUDA_cppfiles)) -o $@\n\t@mkdir -p $(dir $(addprefix $(DEPSDIR)/flexExtCUDA/debug/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cpp.o,.cpp, $(subst $(flexExtCUDA_debug_objsdir),, $@))), $(flexExtCUDA_cppfiles))))))\n\tcp $(flexExtCUDA_debug_DEPDIR).d $(addprefix $(DEPSDIR)/flexExtCUDA/debug/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cpp.o,.cpp, $(subst $(flexExtCUDA_debug_objsdir),, $@))), $(flexExtCUDA_cppfiles))))).P; \\\n\t  sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\\\$$//' \\\n\t\t-e '/^$$/ d' -e 's/$$/ :/' < $(flexExtCUDA_debug_DEPDIR).d >> $(addprefix $(DEPSDIR)/flexExtCUDA/debug/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cpp.o,.cpp, $(subst $(flexExtCUDA_debug_objsdir),, $@))), $(flexExtCUDA_cppfiles))))).P; \\\n\t  rm -f $(flexExtCUDA_debug_DEPDIR).d\n\n$(flexExtCUDA_debug_cc_o): $(flexExtCUDA_debug_objsdir)/%.o:\n\t$(ECHO) flexExtCUDA: compiling debug $(filter %$(strip $(subst .cc.o,.cc, $(subst $(flexExtCUDA_debug_objsdir),, $@))), $(flexExtCUDA_ccfiles))...\n\tmkdir -p $(dir $(@))\n\t$(CXX) $(flexExtCUDA_debug_cppflags) -c $(filter %$(strip $(subst .cc.o,.cc, $(subst $(flexExtCUDA_debug_objsdir),, $@))), $(flexExtCUDA_ccfiles)) -o $@\n\tmkdir -p $(dir $(addprefix $(DEPSDIR)/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cc.o,.cc, $(subst $(flexExtCUDA_debug_objsdir),, $@))), $(flexExtCUDA_ccfiles))))))\n\tcp $(flexExtCUDA_debug_DEPDIR).d $(addprefix $(DEPSDIR)/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cc.o,.cc, $(subst $(flexExtCUDA_debug_objsdir),, $@))), $(flexExtCUDA_ccfiles))))).debug.P; \\\n\t  sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\\\$$//' \\\n\t\t-e '/^$$/ d' -e 's/$$/ :/' < $(flexExtCUDA_debug_DEPDIR).d >> $(addprefix $(DEPSDIR)/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cc.o,.cc, $(subst $(flexExtCUDA_debug_objsdir),, $@))), $(flexExtCUDA_ccfiles))))).debug.P; \\\n\t  rm -f $(flexExtCUDA_debug_DEPDIR).d\n\n$(flexExtCUDA_debug_c_o): $(flexExtCUDA_debug_objsdir)/%.o:\n\t$(ECHO) flexExtCUDA: compiling debug $(filter %$(strip $(subst .c.o,.c, $(subst $(flexExtCUDA_debug_objsdir),, $@))), $(flexExtCUDA_cfiles))...\n\tmkdir -p $(dir $(@))\n\t$(CC) $(flexExtCUDA_debug_cflags) -c $(filter %$(strip $(subst .c.o,.c, $(subst $(flexExtCUDA_debug_objsdir),, $@))), $(flexExtCUDA_cfiles)) -o $@ \n\t@mkdir -p $(dir $(addprefix $(DEPSDIR)/flexExtCUDA/debug/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .c.o,.c, $(subst $(flexExtCUDA_debug_objsdir),, $@))), $(flexExtCUDA_cfiles))))))\n\tcp $(flexExtCUDA_debug_DEPDIR).d $(addprefix $(DEPSDIR)/flexExtCUDA/debug/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .c.o,.c, $(subst $(flexExtCUDA_debug_objsdir),, $@))), $(flexExtCUDA_cfiles))))).P; \\\n\t  sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\\\$$//' \\\n\t\t-e '/^$$/ d' -e 's/$$/ :/' < $(flexExtCUDA_debug_DEPDIR).d >> $(addprefix $(DEPSDIR)/flexExtCUDA/debug/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .c.o,.c, $(subst $(flexExtCUDA_debug_objsdir),, $@))), $(flexExtCUDA_cfiles))))).P; \\\n\t  rm -f $(flexExtCUDA_debug_DEPDIR).d\n\nclean_flexExtCUDA:  clean_flexExtCUDA_release clean_flexExtCUDA_debug\n\trm -rf $(DEPSDIR)\n\nexport VERBOSE\nifndef VERBOSE\n.SILENT:\nendif\n"
  },
  {
    "path": "extensions/compiler/vc12win32/flexExtCUDA.sln",
    "content": "Microsoft Visual Studio Solution File, Format Version 12.00\n# Visual Studio 2013\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"flexExtCUDA\", \"./flexExtCUDA.vcxproj\", \"{FD4C9C06-7BEC-CDF8-C631-CD32A428A280}\"\n\tProjectSection(ProjectDependencies) = postProject\n\tEndProjectSection\nEndProject\nGlobal\n\tGlobalSection(SolutionConfigurationPlatforms) = preSolution\n\t\tdebug|Win32 = debug|Win32\n\t\trelease|Win32 = release|Win32\n\tEndGlobalSection\n\tGlobalSection(ProjectConfigurationPlatforms) = postSolution\n\t\t{FD4C9C06-7BEC-CDF8-C631-CD32A428A280}.debug|Win32.ActiveCfg = debug|Win32\n\t\t{FD4C9C06-7BEC-CDF8-C631-CD32A428A280}.debug|Win32.Build.0 = debug|Win32\n\t\t{FD4C9C06-7BEC-CDF8-C631-CD32A428A280}.release|Win32.ActiveCfg = release|Win32\n\t\t{FD4C9C06-7BEC-CDF8-C631-CD32A428A280}.release|Win32.Build.0 = release|Win32\n\tEndGlobalSection\n\tGlobalSection(ExtensibilityGlobals) = postSolution\n\tEndGlobalSection\n\tGlobalSection(ExtensibilityAddins) = postSolution\n\tEndGlobalSection\n\tGlobalSection(NestedProjects) = preSolution\n\tEndGlobalSection\nEndGlobal\n"
  },
  {
    "path": "extensions/compiler/vc12win32/flexExtCUDA.vcxproj",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project DefaultTargets=\"Build\" ToolsVersion=\"12.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n\t<ItemGroup Label=\"ProjectConfigurations\">\n\t\t<ProjectConfiguration Include=\"debug|Win32\">\n\t\t\t<Configuration>debug</Configuration>\n\t\t\t<Platform>Win32</Platform>\n\t\t</ProjectConfiguration>\n\t\t<ProjectConfiguration Include=\"release|Win32\">\n\t\t\t<Configuration>release</Configuration>\n\t\t\t<Platform>Win32</Platform>\n\t\t</ProjectConfiguration>\n\t</ItemGroup>\n\t<PropertyGroup Label=\"Globals\">\n\t\t<ProjectGuid>{FD4C9C06-7BEC-CDF8-C631-CD32A428A280}</ProjectGuid>\n\t\t<RootNamespace>flexExtCUDA</RootNamespace>\n\t</PropertyGroup>\n\t<Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.Default.props\" />\n\t<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\" Label=\"Configuration\">\n\t\t<ConfigurationType>DynamicLibrary</ConfigurationType>\n\t\t<PlatformToolset>v120</PlatformToolset>\n\t</PropertyGroup>\n\t<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\" Label=\"Configuration\">\n\t\t<ConfigurationType>DynamicLibrary</ConfigurationType>\n\t\t<PlatformToolset>v120</PlatformToolset>\n\t\t<WholeProgramOptimization>true</WholeProgramOptimization>\n\t</PropertyGroup>\n\t<Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.props\" />\n\t<ImportGroup Label=\"ExtensionSettings\">\n\t</ImportGroup>\n\t<ImportGroup Label=\"PropertySheets\" Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">\n\t\t<Import Project=\"$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props\" Condition=\"exists('$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props')\" Label=\"LocalAppDataPlatform\" />\n\t</ImportGroup>\n\t<ImportGroup Label=\"PropertySheets\" Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">\n\t\t<Import Project=\"$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props\" Condition=\"exists('$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props')\" Label=\"LocalAppDataPlatform\" />\n\t</ImportGroup>\n\t<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">\n\t\t<OutDir>./../../../bin/win32\\</OutDir>\n\t\t<IntDir>./build/win32/debug\\</IntDir>\n\t\t<TargetExt>.dll</TargetExt>\n\t\t<TargetName>NvFlexExtDebugCUDA_x86</TargetName>\n\t\t<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>\n\t\t<CodeAnalysisRules />\n\t\t<CodeAnalysisRuleAssemblies />\n\t\t<SkipCopyingSymbolsToOutputDirectory>true</SkipCopyingSymbolsToOutputDirectory>\n\t</PropertyGroup>\n\t<ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">\n\t\t<ClCompile>\n\t\t\t<FloatingPointModel>Precise</FloatingPointModel>\n\t\t\t<AdditionalOptions> /d2Zi+</AdditionalOptions>\n\t\t\t<Optimization>Disabled</Optimization>\n\t\t\t<AdditionalIncludeDirectories>$(CUDA_PATH)/include;$(CUDA_PATH)/extras/cupti/include;./../../../../..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\n\t\t\t<PreprocessorDefinitions>_CONSOLE;WIN32;_DEBUG;_ITERATOR_DEBUG_LEVEL=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n\t\t\t<WarningLevel>Level3</WarningLevel>\n\t\t\t<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>\n\t\t\t<PrecompiledHeader>NotUsing</PrecompiledHeader>\n\t\t\t<PrecompiledHeaderFile></PrecompiledHeaderFile>\n\t\t</ClCompile>\n\t\t<Link>\n\t\t\t<AdditionalOptions>/DELAYLOAD:d3d11.dll /DELAYLOAD:d3d12.dll /DELAYLOAD:dxgi.dll</AdditionalOptions>\n\t\t\t<AdditionalDependencies>cudart.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;./../../../lib/win32/NvFlexDebugCUDA_x86.lib;%(AdditionalDependencies)</AdditionalDependencies>\n\t\t\t<OutputFile>$(OutDir)NvFlexExtDebugCUDA_x86.dll</OutputFile>\n\t\t\t<AdditionalLibraryDirectories>$(CUDA_PATH)/lib/win32;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\n\t\t\t<ProgramDatabaseFile>$(OutDir)/NvFlexExtDebugCUDA_x86.dll.pdb</ProgramDatabaseFile>\n\t\t\t<SubSystem>Console</SubSystem>\n\t\t\t<ImportLibrary>./../../../lib/win32/NvFlexExtDebugCUDA_x86.lib</ImportLibrary>\n\t\t\t<GenerateDebugInformation>true</GenerateDebugInformation>\n\t\t\t<TargetMachine>MachineX86</TargetMachine>\n\t\t</Link>\n\t\t<ResourceCompile>\n\t\t</ResourceCompile>\n\t\t<ProjectReference>\n\t\t</ProjectReference>\n\t</ItemDefinitionGroup>\n\t<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">\n\t\t<OutDir>./../../../bin/win32\\</OutDir>\n\t\t<IntDir>./build/win32/release\\</IntDir>\n\t\t<TargetExt>.dll</TargetExt>\n\t\t<TargetName>NvFlexExtReleaseCUDA_x86</TargetName>\n\t\t<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>\n\t\t<CodeAnalysisRules />\n\t\t<CodeAnalysisRuleAssemblies />\n\t\t<SkipCopyingSymbolsToOutputDirectory>true</SkipCopyingSymbolsToOutputDirectory>\n\t</PropertyGroup>\n\t<ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">\n\t\t<ClCompile>\n\t\t\t<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>\n\t\t\t<IntrinsicFunctions>true</IntrinsicFunctions>\n\t\t\t<FunctionLevelLinking>true</FunctionLevelLinking>\n\t\t\t<BufferSecurityCheck>false</BufferSecurityCheck>\n\t\t\t<FloatingPointModel>Fast</FloatingPointModel>\n\t\t\t<AdditionalOptions> /d2Zi+</AdditionalOptions>\n\t\t\t<Optimization>Full</Optimization>\n\t\t\t<AdditionalIncludeDirectories>$(CUDA_PATH)/include;$(CUDA_PATH)/extras/cupti/include;./../../../../..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\n\t\t\t<PreprocessorDefinitions>_CONSOLE;WIN32;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n\t\t\t<WarningLevel>Level3</WarningLevel>\n\t\t\t<RuntimeLibrary>MultiThreaded</RuntimeLibrary>\n\t\t\t<PrecompiledHeader>NotUsing</PrecompiledHeader>\n\t\t\t<PrecompiledHeaderFile></PrecompiledHeaderFile>\n\t\t</ClCompile>\n\t\t<Link>\n\t\t\t<AdditionalOptions>/DELAYLOAD:d3d11.dll /DELAYLOAD:d3d12.dll /DELAYLOAD:dxgi.dll</AdditionalOptions>\n\t\t\t<AdditionalDependencies>cudart.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;./../../../lib/win32/NvFlexReleaseCUDA_x86.lib;%(AdditionalDependencies)</AdditionalDependencies>\n\t\t\t<OutputFile>$(OutDir)NvFlexExtReleaseCUDA_x86.dll</OutputFile>\n\t\t\t<AdditionalLibraryDirectories>$(CUDA_PATH)/lib/win32;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\n\t\t\t<ProgramDatabaseFile>$(OutDir)/NvFlexExtReleaseCUDA_x86.dll.pdb</ProgramDatabaseFile>\n\t\t\t<SubSystem>Console</SubSystem>\n\t\t\t<ImportLibrary>./../../../lib/win32/NvFlexExtReleaseCUDA_x86.lib</ImportLibrary>\n\t\t\t<GenerateDebugInformation>true</GenerateDebugInformation>\n\t\t\t<TargetMachine>MachineX86</TargetMachine>\n\t\t</Link>\n\t\t<ResourceCompile>\n\t\t</ResourceCompile>\n\t\t<ProjectReference>\n\t\t</ProjectReference>\n\t</ItemDefinitionGroup>\n\t<ItemGroup>\n\t\t<ClCompile Include=\"..\\..\\flexExtCloth.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\flexExtContainer.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\flexExtMovingFrame.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\flexExtRigid.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\flexExtSoft.cpp\">\n\t\t</ClCompile>\n\t</ItemGroup>\n\t<ItemGroup>\n\t\t<CustomBuild Include=\"..\\..\\cuda\\flexExt.cu\">\n\t\t\t<FileType Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">cuda</FileType>\n\t\t\t<Command Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">\"$(CUDA_PATH)\\bin\\nvcc.exe\" -g -G --compiler-bindir=\"$(VCInstallDir)bin\" --compiler-options=/MTd,/Zi -I\"..\\..\\..\" -D_ITERATOR_DEBUG_LEVEL=0 -DCUDA -m32 -arch=sm_30 -prec-div=false -prec-sqrt=false -ftz=true -use_fast_math -c ..\\..\\cuda\\flexExt.cu -o ./Win32/flexExtCUDA/debug/cuda/flexExt.obj</Command>\n\t\t\t<Message Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">Building %(Identity)</Message>\n\t\t\t<Outputs Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">./Win32/flexExtCUDA/debug/cuda/flexExt.obj;</Outputs>\n\t\t\t<FileType Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">cuda</FileType>\n\t\t\t<Command Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">\"$(CUDA_PATH)\\bin\\nvcc.exe\" -O3 --compiler-bindir=\"$(VCInstallDir)bin\"  --compiler-options=/MT,/Zi -I\"..\\..\\..\" -D_ITERATOR_DEBUG_LEVEL=0 -DNDEBUG -DCUDA -m32 -arch=sm_30 -prec-div=false -prec-sqrt=false -ftz=true -use_fast_math -c ..\\..\\cuda\\flexExt.cu -o ./Win32/flexExtCUDA/release/cuda/flexExt.obj</Command>\n\t\t\t<Message Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">Building %(Identity)</Message>\n\t\t\t<Outputs Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">./Win32/flexExtCUDA/release/cuda/flexExt.obj;</Outputs>\n\t\t</CustomBuild>\n\t</ItemGroup>\n\t<ItemGroup>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\sdf.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\voxelize.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\maths.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\aabbtree.cpp\">\n\t\t</ClCompile>\n\t</ItemGroup>\n\t<Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.targets\" />\n\t<ImportGroup Label=\"ExtensionTargets\"></ImportGroup>\n</Project>\n"
  },
  {
    "path": "extensions/compiler/vc12win32/flexExtCUDA.vcxproj.filters",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\r\n<Project ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\r\r\n\t<ItemGroup>\r\r\n\t\t<Filter Include=\"src\">\r\r\n\t\t</Filter>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<ClCompile Include=\"..\\..\\flexExtCloth.cpp\">\r\r\n\t\t\t<Filter>src</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\flexExtContainer.cpp\">\r\r\n\t\t\t<Filter>src</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\flexExtMovingFrame.cpp\">\r\r\n\t\t\t<Filter>src</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\flexExtRigid.cpp\">\r\r\n\t\t\t<Filter>src</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\flexExtSoft.cpp\">\r\r\n\t\t\t<Filter>src</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<Filter Include=\"cuda\">\r\r\n\t\t</Filter>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<CustomBuild Include=\"..\\..\\cuda\\flexExt.cu\">\r\r\n\t\t\t<Filter>cuda</Filter>\r\r\n\t\t</CustomBuild>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<Filter Include=\"core\">\r\r\n\t\t</Filter>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\sdf.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\voxelize.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\maths.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\aabbtree.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t</ItemGroup>\r\r\n</Project>"
  },
  {
    "path": "extensions/compiler/vc12win32/flexExtD3D.sln",
    "content": "Microsoft Visual Studio Solution File, Format Version 12.00\n# Visual Studio 2013\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"flexExtD3D\", \"./flexExtD3D.vcxproj\", \"{9B42889D-2F0D-0378-E87E-82C8D918DB4D}\"\n\tProjectSection(ProjectDependencies) = postProject\n\tEndProjectSection\nEndProject\nGlobal\n\tGlobalSection(SolutionConfigurationPlatforms) = preSolution\n\t\tdebug|Win32 = debug|Win32\n\t\trelease|Win32 = release|Win32\n\tEndGlobalSection\n\tGlobalSection(ProjectConfigurationPlatforms) = postSolution\n\t\t{9B42889D-2F0D-0378-E87E-82C8D918DB4D}.debug|Win32.ActiveCfg = debug|Win32\n\t\t{9B42889D-2F0D-0378-E87E-82C8D918DB4D}.debug|Win32.Build.0 = debug|Win32\n\t\t{9B42889D-2F0D-0378-E87E-82C8D918DB4D}.release|Win32.ActiveCfg = release|Win32\n\t\t{9B42889D-2F0D-0378-E87E-82C8D918DB4D}.release|Win32.Build.0 = release|Win32\n\tEndGlobalSection\n\tGlobalSection(ExtensibilityGlobals) = postSolution\n\tEndGlobalSection\n\tGlobalSection(ExtensibilityAddins) = postSolution\n\tEndGlobalSection\n\tGlobalSection(NestedProjects) = preSolution\n\tEndGlobalSection\nEndGlobal\n"
  },
  {
    "path": "extensions/compiler/vc12win32/flexExtD3D.vcxproj",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project DefaultTargets=\"Build\" ToolsVersion=\"12.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n\t<ItemGroup Label=\"ProjectConfigurations\">\n\t\t<ProjectConfiguration Include=\"debug|Win32\">\n\t\t\t<Configuration>debug</Configuration>\n\t\t\t<Platform>Win32</Platform>\n\t\t</ProjectConfiguration>\n\t\t<ProjectConfiguration Include=\"release|Win32\">\n\t\t\t<Configuration>release</Configuration>\n\t\t\t<Platform>Win32</Platform>\n\t\t</ProjectConfiguration>\n\t</ItemGroup>\n\t<PropertyGroup Label=\"Globals\">\n\t\t<ProjectGuid>{9B42889D-2F0D-0378-E87E-82C8D918DB4D}</ProjectGuid>\n\t\t<RootNamespace>flexExtD3D</RootNamespace>\n\t</PropertyGroup>\n\t<Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.Default.props\" />\n\t<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\" Label=\"Configuration\">\n\t\t<ConfigurationType>DynamicLibrary</ConfigurationType>\n\t\t<PlatformToolset>v120</PlatformToolset>\n\t</PropertyGroup>\n\t<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\" Label=\"Configuration\">\n\t\t<ConfigurationType>DynamicLibrary</ConfigurationType>\n\t\t<PlatformToolset>v120</PlatformToolset>\n\t\t<WholeProgramOptimization>true</WholeProgramOptimization>\n\t</PropertyGroup>\n\t<Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.props\" />\n\t<ImportGroup Label=\"ExtensionSettings\">\n\t</ImportGroup>\n\t<ImportGroup Label=\"PropertySheets\" Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">\n\t\t<Import Project=\"$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props\" Condition=\"exists('$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props')\" Label=\"LocalAppDataPlatform\" />\n\t</ImportGroup>\n\t<ImportGroup Label=\"PropertySheets\" Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">\n\t\t<Import Project=\"$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props\" Condition=\"exists('$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props')\" Label=\"LocalAppDataPlatform\" />\n\t</ImportGroup>\n\t<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">\n\t\t<OutDir>./../../../bin/win32\\</OutDir>\n\t\t<IntDir>./build/win32/DX/debug\\</IntDir>\n\t\t<TargetExt>.dll</TargetExt>\n\t\t<TargetName>NvFlexExtDebugD3D_x86</TargetName>\n\t\t<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>\n\t\t<CodeAnalysisRules />\n\t\t<CodeAnalysisRuleAssemblies />\n\t\t<SkipCopyingSymbolsToOutputDirectory>true</SkipCopyingSymbolsToOutputDirectory>\n\t</PropertyGroup>\n\t<ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">\n\t\t<ClCompile>\n\t\t\t<FloatingPointModel>Precise</FloatingPointModel>\n\t\t\t<AdditionalOptions> /d2Zi+</AdditionalOptions>\n\t\t\t<Optimization>Disabled</Optimization>\n\t\t\t<AdditionalIncludeDirectories>./../../../../..;./../../..;./../../../external/D3D11/include;./../../../external/D3D12/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\n\t\t\t<PreprocessorDefinitions>_CONSOLE;WIN32;_DEBUG;_ITERATOR_DEBUG_LEVEL=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n\t\t\t<WarningLevel>Level3</WarningLevel>\n\t\t\t<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>\n\t\t\t<PrecompiledHeader>NotUsing</PrecompiledHeader>\n\t\t\t<PrecompiledHeaderFile></PrecompiledHeaderFile>\n\t\t</ClCompile>\n\t\t<Link>\n\t\t\t<AdditionalOptions>/DELAYLOAD:d3d11.dll /DELAYLOAD:d3d12.dll /DELAYLOAD:dxgi.dll</AdditionalOptions>\n\t\t\t<AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib;./../../../lib/win32/NvFlexDebugD3D_x86.lib;%(AdditionalDependencies)</AdditionalDependencies>\n\t\t\t<OutputFile>$(OutDir)NvFlexExtDebugD3D_x86.dll</OutputFile>\n\t\t\t<AdditionalLibraryDirectories>./../../../external/D3D11/libs/x86;./../../../external/D3D12/libs/x86;./../../../lib/win32;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\n\t\t\t<ProgramDatabaseFile>$(OutDir)/NvFlexExtDebugD3D_x86.dll.pdb</ProgramDatabaseFile>\n\t\t\t<SubSystem>Console</SubSystem>\n\t\t\t<ImportLibrary>./../../../lib/win32/NvFlexExtDebugD3D_x86.lib</ImportLibrary>\n\t\t\t<GenerateDebugInformation>true</GenerateDebugInformation>\n\t\t\t<TargetMachine>MachineX86</TargetMachine>\n\t\t</Link>\n\t\t<ResourceCompile>\n\t\t</ResourceCompile>\n\t\t<ProjectReference>\n\t\t</ProjectReference>\n\t</ItemDefinitionGroup>\n\t<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">\n\t\t<OutDir>./../../../bin/win32\\</OutDir>\n\t\t<IntDir>./build/win32/DX/release\\</IntDir>\n\t\t<TargetExt>.dll</TargetExt>\n\t\t<TargetName>NvFlexExtReleaseD3D_x86</TargetName>\n\t\t<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>\n\t\t<CodeAnalysisRules />\n\t\t<CodeAnalysisRuleAssemblies />\n\t\t<SkipCopyingSymbolsToOutputDirectory>true</SkipCopyingSymbolsToOutputDirectory>\n\t</PropertyGroup>\n\t<ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">\n\t\t<ClCompile>\n\t\t\t<IntrinsicFunctions>true</IntrinsicFunctions>\n\t\t\t<FunctionLevelLinking>true</FunctionLevelLinking>\n\t\t\t<BufferSecurityCheck>false</BufferSecurityCheck>\n\t\t\t<FloatingPointModel>Fast</FloatingPointModel>\n\t\t\t<AdditionalOptions> /d2Zi+</AdditionalOptions>\n\t\t\t<Optimization>Full</Optimization>\n\t\t\t<AdditionalIncludeDirectories>./../../../../..;./../../..;./../../../external/D3D11/include;./../../../external/D3D12/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\n\t\t\t<PreprocessorDefinitions>_CONSOLE;WIN32;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n\t\t\t<WarningLevel>Level3</WarningLevel>\n\t\t\t<RuntimeLibrary>MultiThreaded</RuntimeLibrary>\n\t\t\t<PrecompiledHeader>NotUsing</PrecompiledHeader>\n\t\t\t<PrecompiledHeaderFile></PrecompiledHeaderFile>\n\t\t</ClCompile>\n\t\t<Link>\n\t\t\t<AdditionalOptions>/DELAYLOAD:d3d11.dll /DELAYLOAD:d3d12.dll /DELAYLOAD:dxgi.dll</AdditionalOptions>\n\t\t\t<AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib;./../../../lib/win32/NvFlexReleaseD3D_x86.lib;%(AdditionalDependencies)</AdditionalDependencies>\n\t\t\t<OutputFile>$(OutDir)NvFlexExtReleaseD3D_x86.dll</OutputFile>\n\t\t\t<AdditionalLibraryDirectories>./../../../external/D3D11/libs/x86;./../../../external/D3D12/libs/x86;./../../../lib/win32;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\n\t\t\t<ProgramDatabaseFile>$(OutDir)/NvFlexExtReleaseD3D_x86.dll.pdb</ProgramDatabaseFile>\n\t\t\t<SubSystem>Console</SubSystem>\n\t\t\t<ImportLibrary>./../../../lib/win32/NvFlexExtReleaseD3D_x86.lib</ImportLibrary>\n\t\t\t<GenerateDebugInformation>true</GenerateDebugInformation>\n\t\t\t<TargetMachine>MachineX86</TargetMachine>\n\t\t</Link>\n\t\t<ResourceCompile>\n\t\t</ResourceCompile>\n\t\t<ProjectReference>\n\t\t</ProjectReference>\n\t</ItemDefinitionGroup>\n\t<ItemGroup>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\sdf.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\voxelize.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\maths.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\aabbtree.cpp\">\n\t\t</ClCompile>\n\t</ItemGroup>\n\t<ItemGroup>\n\t\t<ClCompile Include=\"..\\..\\dx\\flexExt.cpp\">\n\t\t</ClCompile>\n\t\t<None Include=\"..\\..\\dx\\flexExt.hlsl\">\n\t\t</None>\n\t\t<ClInclude Include=\"..\\..\\dx\\flexExt_dx_common.h\">\n\t\t</ClInclude>\n\t\t<ClCompile Include=\"..\\..\\flexExtCloth.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\flexExtRigid.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\flexExtSoft.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\flexExtMovingFrame.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\flexExtContainer.cpp\">\n\t\t</ClCompile>\n\t</ItemGroup>\n\t<ItemGroup>\n\t\t<FxCompile Include=\"./../../dx/shaders/flexExt.UpdateForceFields.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">Compute</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">UpdateForceFields::execute</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</TreatWarningAsError>\n\t\t\t<VariableName Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">g_flexExt_UpdateForceFields</VariableName>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">../../../extensions/dx/shaders/%(Filename).h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">Compute</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">UpdateForceFields::execute</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</TreatWarningAsError>\n\t\t\t<VariableName Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">g_flexExt_UpdateForceFields</VariableName>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">../../../extensions/dx/shaders/%(Filename).h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t</ItemGroup>\n\t<Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.targets\" />\n\t<ImportGroup Label=\"ExtensionTargets\"></ImportGroup>\n</Project>\n"
  },
  {
    "path": "extensions/compiler/vc12win32/flexExtD3D.vcxproj.filters",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\r\n<Project ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\r\r\n\t<ItemGroup>\r\r\n\t\t<Filter Include=\"Core\">\r\r\n\t\t</Filter>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\sdf.cpp\">\r\r\n\t\t\t<Filter>Core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\voxelize.cpp\">\r\r\n\t\t\t<Filter>Core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\maths.cpp\">\r\r\n\t\t\t<Filter>Core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\aabbtree.cpp\">\r\r\n\t\t\t<Filter>Core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<Filter Include=\"src\">\r\r\n\t\t</Filter>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<ClCompile Include=\"..\\..\\dx\\flexExt.cpp\">\r\r\n\t\t\t<Filter>src</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<None Include=\"..\\..\\dx\\flexExt.hlsl\">\r\r\n\t\t\t<Filter>src</Filter>\r\r\n\t\t</None>\r\r\n\t\t<ClInclude Include=\"..\\..\\dx\\flexExt_dx_common.h\">\r\r\n\t\t\t<Filter>src</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClCompile Include=\"..\\..\\flexExtCloth.cpp\">\r\r\n\t\t\t<Filter>src</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\flexExtRigid.cpp\">\r\r\n\t\t\t<Filter>src</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\flexExtSoft.cpp\">\r\r\n\t\t\t<Filter>src</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\flexExtMovingFrame.cpp\">\r\r\n\t\t\t<Filter>src</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\flexExtContainer.cpp\">\r\r\n\t\t\t<Filter>src</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup><Filter Include=\"Shader Files\"></Filter></ItemGroup>\r\n\t<ItemGroup>\r\n\t\t<FxCompile Include=\"./../../dx/shaders/flexExt.UpdateForceFields.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t</ItemGroup>\r\n</Project>"
  },
  {
    "path": "extensions/compiler/vc12win64/flexExtCUDA.sln",
    "content": "Microsoft Visual Studio Solution File, Format Version 12.00\n# Visual Studio 2013\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"flexExtCUDA\", \"./flexExtCUDA.vcxproj\", \"{FD4C9C06-7BEC-CDF8-C631-CD32A428A280}\"\n\tProjectSection(ProjectDependencies) = postProject\n\tEndProjectSection\nEndProject\nGlobal\n\tGlobalSection(SolutionConfigurationPlatforms) = preSolution\n\t\tdebug|x64 = debug|x64\n\t\trelease|x64 = release|x64\n\tEndGlobalSection\n\tGlobalSection(ProjectConfigurationPlatforms) = postSolution\n\t\t{FD4C9C06-7BEC-CDF8-C631-CD32A428A280}.debug|x64.ActiveCfg = debug|x64\n\t\t{FD4C9C06-7BEC-CDF8-C631-CD32A428A280}.debug|x64.Build.0 = debug|x64\n\t\t{FD4C9C06-7BEC-CDF8-C631-CD32A428A280}.release|x64.ActiveCfg = release|x64\n\t\t{FD4C9C06-7BEC-CDF8-C631-CD32A428A280}.release|x64.Build.0 = release|x64\n\tEndGlobalSection\n\tGlobalSection(ExtensibilityGlobals) = postSolution\n\tEndGlobalSection\n\tGlobalSection(ExtensibilityAddins) = postSolution\n\tEndGlobalSection\n\tGlobalSection(NestedProjects) = preSolution\n\tEndGlobalSection\nEndGlobal\n"
  },
  {
    "path": "extensions/compiler/vc12win64/flexExtCUDA.vcxproj",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project DefaultTargets=\"Build\" ToolsVersion=\"12.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n\t<ItemGroup Label=\"ProjectConfigurations\">\n\t\t<ProjectConfiguration Include=\"debug|x64\">\n\t\t\t<Configuration>debug</Configuration>\n\t\t\t<Platform>x64</Platform>\n\t\t</ProjectConfiguration>\n\t\t<ProjectConfiguration Include=\"release|x64\">\n\t\t\t<Configuration>release</Configuration>\n\t\t\t<Platform>x64</Platform>\n\t\t</ProjectConfiguration>\n\t</ItemGroup>\n\t<PropertyGroup Label=\"Globals\">\n\t\t<ProjectGuid>{FD4C9C06-7BEC-CDF8-C631-CD32A428A280}</ProjectGuid>\n\t\t<RootNamespace>flexExtCUDA</RootNamespace>\n\t</PropertyGroup>\n\t<Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.Default.props\" />\n\t<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\" Label=\"Configuration\">\n\t\t<ConfigurationType>DynamicLibrary</ConfigurationType>\n\t\t<PlatformToolset>v120</PlatformToolset>\n\t</PropertyGroup>\n\t<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\" Label=\"Configuration\">\n\t\t<ConfigurationType>DynamicLibrary</ConfigurationType>\n\t\t<PlatformToolset>v120</PlatformToolset>\n\t\t<WholeProgramOptimization>true</WholeProgramOptimization>\n\t</PropertyGroup>\n\t<Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.props\" />\n\t<ImportGroup Label=\"ExtensionSettings\">\n\t</ImportGroup>\n\t<ImportGroup Label=\"PropertySheets\" Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">\n\t\t<Import Project=\"$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props\" Condition=\"exists('$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props')\" Label=\"LocalAppDataPlatform\" />\n\t</ImportGroup>\n\t<ImportGroup Label=\"PropertySheets\" Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">\n\t\t<Import Project=\"$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props\" Condition=\"exists('$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props')\" Label=\"LocalAppDataPlatform\" />\n\t</ImportGroup>\n\t<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">\n\t\t<OutDir>./../../../bin/win64\\</OutDir>\n\t\t<IntDir>./build/win64/debug\\</IntDir>\n\t\t<TargetExt>.dll</TargetExt>\n\t\t<TargetName>NvFlexExtDebugCUDA_x64</TargetName>\n\t\t<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>\n\t\t<CodeAnalysisRules />\n\t\t<CodeAnalysisRuleAssemblies />\n\t\t<SkipCopyingSymbolsToOutputDirectory>true</SkipCopyingSymbolsToOutputDirectory>\n\t</PropertyGroup>\n\t<ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">\n\t\t<ClCompile>\n\t\t\t<FloatingPointModel>Precise</FloatingPointModel>\n\t\t\t<AdditionalOptions> /d2Zi+</AdditionalOptions>\n\t\t\t<Optimization>Disabled</Optimization>\n\t\t\t<AdditionalIncludeDirectories>$(CUDA_PATH)/include;$(CUDA_PATH)/extras/cupti/include;./../../../../..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\n\t\t\t<PreprocessorDefinitions>_CONSOLE;WIN32;_DEBUG;_ITERATOR_DEBUG_LEVEL=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n\t\t\t<WarningLevel>Level3</WarningLevel>\n\t\t\t<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>\n\t\t\t<PrecompiledHeader>NotUsing</PrecompiledHeader>\n\t\t\t<PrecompiledHeaderFile></PrecompiledHeaderFile>\n\t\t</ClCompile>\n\t\t<Link>\n\t\t\t<AdditionalOptions>/DELAYLOAD:d3d11.dll /DELAYLOAD:d3d12.dll /DELAYLOAD:dxgi.dll</AdditionalOptions>\n\t\t\t<AdditionalDependencies>cudart.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;./../../../lib/win64/NvFlexDebugCUDA_x64.lib;%(AdditionalDependencies)</AdditionalDependencies>\n\t\t\t<OutputFile>$(OutDir)NvFlexExtDebugCUDA_x64.dll</OutputFile>\n\t\t\t<AdditionalLibraryDirectories>$(CUDA_PATH)/lib/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\n\t\t\t<ProgramDatabaseFile>$(OutDir)/NvFlexExtDebugCUDA_x64.dll.pdb</ProgramDatabaseFile>\n\t\t\t<SubSystem>Console</SubSystem>\n\t\t\t<ImportLibrary>./../../../lib/win64/NvFlexExtDebugCUDA_x64.lib</ImportLibrary>\n\t\t\t<GenerateDebugInformation>true</GenerateDebugInformation>\n\t\t\t<TargetMachine>MachineX64</TargetMachine>\n\t\t</Link>\n\t\t<ResourceCompile>\n\t\t</ResourceCompile>\n\t\t<ProjectReference>\n\t\t</ProjectReference>\n\t</ItemDefinitionGroup>\n\t<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">\n\t\t<OutDir>./../../../bin/win64\\</OutDir>\n\t\t<IntDir>./build/win64/release\\</IntDir>\n\t\t<TargetExt>.dll</TargetExt>\n\t\t<TargetName>NvFlexExtReleaseCUDA_x64</TargetName>\n\t\t<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>\n\t\t<CodeAnalysisRules />\n\t\t<CodeAnalysisRuleAssemblies />\n\t\t<SkipCopyingSymbolsToOutputDirectory>true</SkipCopyingSymbolsToOutputDirectory>\n\t</PropertyGroup>\n\t<ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">\n\t\t<ClCompile>\n\t\t\t<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>\n\t\t\t<IntrinsicFunctions>true</IntrinsicFunctions>\n\t\t\t<FunctionLevelLinking>true</FunctionLevelLinking>\n\t\t\t<BufferSecurityCheck>false</BufferSecurityCheck>\n\t\t\t<FloatingPointModel>Fast</FloatingPointModel>\n\t\t\t<AdditionalOptions> /d2Zi+</AdditionalOptions>\n\t\t\t<Optimization>Full</Optimization>\n\t\t\t<AdditionalIncludeDirectories>$(CUDA_PATH)/include;$(CUDA_PATH)/extras/cupti/include;./../../../../..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\n\t\t\t<PreprocessorDefinitions>_CONSOLE;WIN32;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n\t\t\t<WarningLevel>Level3</WarningLevel>\n\t\t\t<RuntimeLibrary>MultiThreaded</RuntimeLibrary>\n\t\t\t<PrecompiledHeader>NotUsing</PrecompiledHeader>\n\t\t\t<PrecompiledHeaderFile></PrecompiledHeaderFile>\n\t\t</ClCompile>\n\t\t<Link>\n\t\t\t<AdditionalOptions>/DELAYLOAD:d3d11.dll /DELAYLOAD:d3d12.dll /DELAYLOAD:dxgi.dll</AdditionalOptions>\n\t\t\t<AdditionalDependencies>cudart.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;./../../../lib/win64/NvFlexReleaseCUDA_x64.lib;%(AdditionalDependencies)</AdditionalDependencies>\n\t\t\t<OutputFile>$(OutDir)NvFlexExtReleaseCUDA_x64.dll</OutputFile>\n\t\t\t<AdditionalLibraryDirectories>$(CUDA_PATH)/lib/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\n\t\t\t<ProgramDatabaseFile>$(OutDir)/NvFlexExtReleaseCUDA_x64.dll.pdb</ProgramDatabaseFile>\n\t\t\t<SubSystem>Console</SubSystem>\n\t\t\t<ImportLibrary>./../../../lib/win64/NvFlexExtReleaseCUDA_x64.lib</ImportLibrary>\n\t\t\t<GenerateDebugInformation>true</GenerateDebugInformation>\n\t\t\t<TargetMachine>MachineX64</TargetMachine>\n\t\t</Link>\n\t\t<ResourceCompile>\n\t\t</ResourceCompile>\n\t\t<ProjectReference>\n\t\t</ProjectReference>\n\t</ItemDefinitionGroup>\n\t<ItemGroup>\n\t\t<ClCompile Include=\"..\\..\\flexExtCloth.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\flexExtContainer.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\flexExtMovingFrame.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\flexExtRigid.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\flexExtSoft.cpp\">\n\t\t</ClCompile>\n\t</ItemGroup>\n\t<ItemGroup>\n\t\t<CustomBuild Include=\"..\\..\\cuda\\flexExt.cu\">\n\t\t\t<FileType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">cuda</FileType>\n\t\t\t<Command Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">\"$(CUDA_PATH)\\bin\\nvcc.exe\" -g -G --compiler-bindir=\"$(VCInstallDir)bin\" --compiler-options=/MTd,/Zi -I\"..\\..\\..\" -D_ITERATOR_DEBUG_LEVEL=0 -DCUDA -arch=sm_30 -prec-div=false -prec-sqrt=false -ftz=true -use_fast_math -c ..\\..\\cuda\\flexExt.cu -o ./x64/flexExtCUDA/debug/cuda/flexExt.obj</Command>\n\t\t\t<Message Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Building %(Identity)</Message>\n\t\t\t<Outputs Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">./x64/flexExtCUDA/debug/cuda/flexExt.obj;</Outputs>\n\t\t\t<FileType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">cuda</FileType>\n\t\t\t<Command Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">\"$(CUDA_PATH)\\bin\\nvcc.exe\" -O3 --compiler-bindir=\"$(VCInstallDir)bin\"  --compiler-options=/MT,/Zi -I\"..\\..\\..\" -D_ITERATOR_DEBUG_LEVEL=0 -DNDEBUG -DCUDA -arch=sm_30 -prec-div=false -prec-sqrt=false -ftz=true -use_fast_math -c ..\\..\\cuda\\flexExt.cu -o ./x64/flexExtCUDA/release/cuda/flexExt.obj</Command>\n\t\t\t<Message Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Building %(Identity)</Message>\n\t\t\t<Outputs Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">./x64/flexExtCUDA/release/cuda/flexExt.obj;</Outputs>\n\t\t</CustomBuild>\n\t</ItemGroup>\n\t<ItemGroup>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\sdf.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\voxelize.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\maths.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\aabbtree.cpp\">\n\t\t</ClCompile>\n\t</ItemGroup>\n\t<Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.targets\" />\n\t<ImportGroup Label=\"ExtensionTargets\"></ImportGroup>\n</Project>\n"
  },
  {
    "path": "extensions/compiler/vc12win64/flexExtCUDA.vcxproj.filters",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\r\n<Project ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\r\r\n\t<ItemGroup>\r\r\n\t\t<Filter Include=\"src\">\r\r\n\t\t</Filter>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<ClCompile Include=\"..\\..\\flexExtCloth.cpp\">\r\r\n\t\t\t<Filter>src</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\flexExtContainer.cpp\">\r\r\n\t\t\t<Filter>src</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\flexExtMovingFrame.cpp\">\r\r\n\t\t\t<Filter>src</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\flexExtRigid.cpp\">\r\r\n\t\t\t<Filter>src</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\flexExtSoft.cpp\">\r\r\n\t\t\t<Filter>src</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<Filter Include=\"cuda\">\r\r\n\t\t</Filter>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<CustomBuild Include=\"..\\..\\cuda\\flexExt.cu\">\r\r\n\t\t\t<Filter>cuda</Filter>\r\r\n\t\t</CustomBuild>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<Filter Include=\"core\">\r\r\n\t\t</Filter>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\sdf.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\voxelize.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\maths.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\aabbtree.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t</ItemGroup>\r\r\n</Project>"
  },
  {
    "path": "extensions/compiler/vc12win64/flexExtD3D.sln",
    "content": "Microsoft Visual Studio Solution File, Format Version 12.00\n# Visual Studio 2013\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"flexExtD3D\", \"./flexExtD3D.vcxproj\", \"{9B42889D-2F0D-0378-E87E-82C8D918DB4D}\"\n\tProjectSection(ProjectDependencies) = postProject\n\tEndProjectSection\nEndProject\nGlobal\n\tGlobalSection(SolutionConfigurationPlatforms) = preSolution\n\t\tdebug|x64 = debug|x64\n\t\trelease|x64 = release|x64\n\tEndGlobalSection\n\tGlobalSection(ProjectConfigurationPlatforms) = postSolution\n\t\t{9B42889D-2F0D-0378-E87E-82C8D918DB4D}.debug|x64.ActiveCfg = debug|x64\n\t\t{9B42889D-2F0D-0378-E87E-82C8D918DB4D}.debug|x64.Build.0 = debug|x64\n\t\t{9B42889D-2F0D-0378-E87E-82C8D918DB4D}.release|x64.ActiveCfg = release|x64\n\t\t{9B42889D-2F0D-0378-E87E-82C8D918DB4D}.release|x64.Build.0 = release|x64\n\tEndGlobalSection\n\tGlobalSection(ExtensibilityGlobals) = postSolution\n\tEndGlobalSection\n\tGlobalSection(ExtensibilityAddins) = postSolution\n\tEndGlobalSection\n\tGlobalSection(NestedProjects) = preSolution\n\tEndGlobalSection\nEndGlobal\n"
  },
  {
    "path": "extensions/compiler/vc12win64/flexExtD3D.vcxproj",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project DefaultTargets=\"Build\" ToolsVersion=\"12.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n\t<ItemGroup Label=\"ProjectConfigurations\">\n\t\t<ProjectConfiguration Include=\"debug|x64\">\n\t\t\t<Configuration>debug</Configuration>\n\t\t\t<Platform>x64</Platform>\n\t\t</ProjectConfiguration>\n\t\t<ProjectConfiguration Include=\"release|x64\">\n\t\t\t<Configuration>release</Configuration>\n\t\t\t<Platform>x64</Platform>\n\t\t</ProjectConfiguration>\n\t</ItemGroup>\n\t<PropertyGroup Label=\"Globals\">\n\t\t<ProjectGuid>{9B42889D-2F0D-0378-E87E-82C8D918DB4D}</ProjectGuid>\n\t\t<RootNamespace>flexExtD3D</RootNamespace>\n\t</PropertyGroup>\n\t<Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.Default.props\" />\n\t<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\" Label=\"Configuration\">\n\t\t<ConfigurationType>DynamicLibrary</ConfigurationType>\n\t\t<PlatformToolset>v120</PlatformToolset>\n\t</PropertyGroup>\n\t<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\" Label=\"Configuration\">\n\t\t<ConfigurationType>DynamicLibrary</ConfigurationType>\n\t\t<PlatformToolset>v120</PlatformToolset>\n\t\t<WholeProgramOptimization>true</WholeProgramOptimization>\n\t</PropertyGroup>\n\t<Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.props\" />\n\t<ImportGroup Label=\"ExtensionSettings\">\n\t</ImportGroup>\n\t<ImportGroup Label=\"PropertySheets\" Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">\n\t\t<Import Project=\"$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props\" Condition=\"exists('$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props')\" Label=\"LocalAppDataPlatform\" />\n\t</ImportGroup>\n\t<ImportGroup Label=\"PropertySheets\" Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">\n\t\t<Import Project=\"$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props\" Condition=\"exists('$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props')\" Label=\"LocalAppDataPlatform\" />\n\t</ImportGroup>\n\t<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">\n\t\t<OutDir>./../../../bin/win64\\</OutDir>\n\t\t<IntDir>./build/win64/DX/debug\\</IntDir>\n\t\t<TargetExt>.dll</TargetExt>\n\t\t<TargetName>NvFlexExtDebugD3D_x64</TargetName>\n\t\t<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>\n\t\t<CodeAnalysisRules />\n\t\t<CodeAnalysisRuleAssemblies />\n\t\t<SkipCopyingSymbolsToOutputDirectory>true</SkipCopyingSymbolsToOutputDirectory>\n\t</PropertyGroup>\n\t<ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">\n\t\t<ClCompile>\n\t\t\t<FloatingPointModel>Precise</FloatingPointModel>\n\t\t\t<AdditionalOptions> /d2Zi+</AdditionalOptions>\n\t\t\t<Optimization>Disabled</Optimization>\n\t\t\t<AdditionalIncludeDirectories>./../../../../..;./../../..;./../../../external/D3D11/include;./../../../external/D3D12/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\n\t\t\t<PreprocessorDefinitions>_CONSOLE;WIN32;_DEBUG;_ITERATOR_DEBUG_LEVEL=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n\t\t\t<WarningLevel>Level3</WarningLevel>\n\t\t\t<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>\n\t\t\t<PrecompiledHeader>NotUsing</PrecompiledHeader>\n\t\t\t<PrecompiledHeaderFile></PrecompiledHeaderFile>\n\t\t</ClCompile>\n\t\t<Link>\n\t\t\t<AdditionalOptions>/DELAYLOAD:d3d11.dll /DELAYLOAD:d3d12.dll /DELAYLOAD:dxgi.dll</AdditionalOptions>\n\t\t\t<AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib;./../../../lib/win64/NvFlexDebugD3D_x64.lib;%(AdditionalDependencies)</AdditionalDependencies>\n\t\t\t<OutputFile>$(OutDir)NvFlexExtDebugD3D_x64.dll</OutputFile>\n\t\t\t<AdditionalLibraryDirectories>./../../../external/D3D11/libs/x64;./../../../external/D3D12/libs/x64;./../../../lib/win64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\n\t\t\t<ProgramDatabaseFile>$(OutDir)/NvFlexExtDebugD3D_x64.dll.pdb</ProgramDatabaseFile>\n\t\t\t<SubSystem>Console</SubSystem>\n\t\t\t<ImportLibrary>./../../../lib/win64/NvFlexExtDebugD3D_x64.lib</ImportLibrary>\n\t\t\t<GenerateDebugInformation>true</GenerateDebugInformation>\n\t\t\t<TargetMachine>MachineX64</TargetMachine>\n\t\t</Link>\n\t\t<ResourceCompile>\n\t\t</ResourceCompile>\n\t\t<ProjectReference>\n\t\t</ProjectReference>\n\t</ItemDefinitionGroup>\n\t<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">\n\t\t<OutDir>./../../../bin/win64\\</OutDir>\n\t\t<IntDir>./build/win64/DX/release\\</IntDir>\n\t\t<TargetExt>.dll</TargetExt>\n\t\t<TargetName>NvFlexExtReleaseD3D_x64</TargetName>\n\t\t<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>\n\t\t<CodeAnalysisRules />\n\t\t<CodeAnalysisRuleAssemblies />\n\t\t<SkipCopyingSymbolsToOutputDirectory>true</SkipCopyingSymbolsToOutputDirectory>\n\t</PropertyGroup>\n\t<ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">\n\t\t<ClCompile>\n\t\t\t<IntrinsicFunctions>true</IntrinsicFunctions>\n\t\t\t<FunctionLevelLinking>true</FunctionLevelLinking>\n\t\t\t<BufferSecurityCheck>false</BufferSecurityCheck>\n\t\t\t<FloatingPointModel>Fast</FloatingPointModel>\n\t\t\t<AdditionalOptions> /d2Zi+</AdditionalOptions>\n\t\t\t<Optimization>Full</Optimization>\n\t\t\t<AdditionalIncludeDirectories>./../../../../..;./../../..;./../../../external/D3D11/include;./../../../external/D3D12/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\n\t\t\t<PreprocessorDefinitions>_CONSOLE;WIN32;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n\t\t\t<WarningLevel>Level3</WarningLevel>\n\t\t\t<RuntimeLibrary>MultiThreaded</RuntimeLibrary>\n\t\t\t<PrecompiledHeader>NotUsing</PrecompiledHeader>\n\t\t\t<PrecompiledHeaderFile></PrecompiledHeaderFile>\n\t\t</ClCompile>\n\t\t<Link>\n\t\t\t<AdditionalOptions>/DELAYLOAD:d3d11.dll /DELAYLOAD:d3d12.dll /DELAYLOAD:dxgi.dll</AdditionalOptions>\n\t\t\t<AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib;./../../../lib/win64/NvFlexReleaseD3D_x64.lib;%(AdditionalDependencies)</AdditionalDependencies>\n\t\t\t<OutputFile>$(OutDir)NvFlexExtReleaseD3D_x64.dll</OutputFile>\n\t\t\t<AdditionalLibraryDirectories>./../../../external/D3D11/libs/x64;./../../../external/D3D12/libs/x64;./../../../lib/win64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\n\t\t\t<ProgramDatabaseFile>$(OutDir)/NvFlexExtReleaseD3D_x64.dll.pdb</ProgramDatabaseFile>\n\t\t\t<SubSystem>Console</SubSystem>\n\t\t\t<ImportLibrary>./../../../lib/win64/NvFlexExtReleaseD3D_x64.lib</ImportLibrary>\n\t\t\t<GenerateDebugInformation>true</GenerateDebugInformation>\n\t\t\t<TargetMachine>MachineX64</TargetMachine>\n\t\t</Link>\n\t\t<ResourceCompile>\n\t\t</ResourceCompile>\n\t\t<ProjectReference>\n\t\t</ProjectReference>\n\t</ItemDefinitionGroup>\n\t<ItemGroup>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\sdf.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\voxelize.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\maths.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\aabbtree.cpp\">\n\t\t</ClCompile>\n\t</ItemGroup>\n\t<ItemGroup>\n\t\t<ClCompile Include=\"..\\..\\dx\\flexExt.cpp\">\n\t\t</ClCompile>\n\t\t<None Include=\"..\\..\\dx\\flexExt.hlsl\">\n\t\t</None>\n\t\t<ClInclude Include=\"..\\..\\dx\\flexExt_dx_common.h\">\n\t\t</ClInclude>\n\t\t<ClCompile Include=\"..\\..\\flexExtCloth.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\flexExtRigid.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\flexExtSoft.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\flexExtMovingFrame.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\flexExtContainer.cpp\">\n\t\t</ClCompile>\n\t</ItemGroup>\n\t<ItemGroup>\n\t\t<FxCompile Include=\"./../../dx/shaders/flexExt.UpdateForceFields.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Compute</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">UpdateForceFields::execute</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<VariableName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">g_flexExt_UpdateForceFields</VariableName>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../extensions/dx/shaders/%(Filename).h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Compute</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">UpdateForceFields::execute</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<VariableName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">g_flexExt_UpdateForceFields</VariableName>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../extensions/dx/shaders/%(Filename).h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t</ItemGroup>\n\t<Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.targets\" />\n\t<ImportGroup Label=\"ExtensionTargets\"></ImportGroup>\n</Project>\n"
  },
  {
    "path": "extensions/compiler/vc12win64/flexExtD3D.vcxproj.filters",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\r\n<Project ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\r\r\n\t<ItemGroup>\r\r\n\t\t<Filter Include=\"Core\">\r\r\n\t\t</Filter>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\sdf.cpp\">\r\r\n\t\t\t<Filter>Core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\voxelize.cpp\">\r\r\n\t\t\t<Filter>Core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\maths.cpp\">\r\r\n\t\t\t<Filter>Core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\aabbtree.cpp\">\r\r\n\t\t\t<Filter>Core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<Filter Include=\"src\">\r\r\n\t\t</Filter>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<ClCompile Include=\"..\\..\\dx\\flexExt.cpp\">\r\r\n\t\t\t<Filter>src</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<None Include=\"..\\..\\dx\\flexExt.hlsl\">\r\r\n\t\t\t<Filter>src</Filter>\r\r\n\t\t</None>\r\r\n\t\t<ClInclude Include=\"..\\..\\dx\\flexExt_dx_common.h\">\r\r\n\t\t\t<Filter>src</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClCompile Include=\"..\\..\\flexExtCloth.cpp\">\r\r\n\t\t\t<Filter>src</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\flexExtRigid.cpp\">\r\r\n\t\t\t<Filter>src</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\flexExtSoft.cpp\">\r\r\n\t\t\t<Filter>src</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\flexExtMovingFrame.cpp\">\r\r\n\t\t\t<Filter>src</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\flexExtContainer.cpp\">\r\r\n\t\t\t<Filter>src</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup><Filter Include=\"Shader Files\"></Filter></ItemGroup>\r\n\t<ItemGroup>\r\n\t\t<FxCompile Include=\"./../../dx/shaders/flexExt.UpdateForceFields.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t</ItemGroup>\r\n</Project>"
  },
  {
    "path": "extensions/compiler/vc14win32/flexExtD3D.sln",
    "content": "Microsoft Visual Studio Solution File, Format Version 12.00\n# Visual Studio 14\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"flexExtD3D\", \"./flexExtD3D.vcxproj\", \"{9B42889D-2F0D-0378-E87E-82C8D918DB4D}\"\n\tProjectSection(ProjectDependencies) = postProject\n\tEndProjectSection\nEndProject\nGlobal\n\tGlobalSection(SolutionConfigurationPlatforms) = preSolution\n\t\tdebug|Win32 = debug|Win32\n\t\trelease|Win32 = release|Win32\n\tEndGlobalSection\n\tGlobalSection(ProjectConfigurationPlatforms) = postSolution\n\t\t{9B42889D-2F0D-0378-E87E-82C8D918DB4D}.debug|Win32.ActiveCfg = debug|Win32\n\t\t{9B42889D-2F0D-0378-E87E-82C8D918DB4D}.debug|Win32.Build.0 = debug|Win32\n\t\t{9B42889D-2F0D-0378-E87E-82C8D918DB4D}.release|Win32.ActiveCfg = release|Win32\n\t\t{9B42889D-2F0D-0378-E87E-82C8D918DB4D}.release|Win32.Build.0 = release|Win32\n\tEndGlobalSection\n\tGlobalSection(ExtensibilityGlobals) = postSolution\n\tEndGlobalSection\n\tGlobalSection(ExtensibilityAddins) = postSolution\n\tEndGlobalSection\n\tGlobalSection(NestedProjects) = preSolution\n\tEndGlobalSection\nEndGlobal\n"
  },
  {
    "path": "extensions/compiler/vc14win32/flexExtD3D.vcxproj",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project DefaultTargets=\"Build\" ToolsVersion=\"14.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n\t<ItemGroup Label=\"ProjectConfigurations\">\n\t\t<ProjectConfiguration Include=\"debug|Win32\">\n\t\t\t<Configuration>debug</Configuration>\n\t\t\t<Platform>Win32</Platform>\n\t\t</ProjectConfiguration>\n\t\t<ProjectConfiguration Include=\"release|Win32\">\n\t\t\t<Configuration>release</Configuration>\n\t\t\t<Platform>Win32</Platform>\n\t\t</ProjectConfiguration>\n\t</ItemGroup>\n\t<PropertyGroup Label=\"Globals\">\n\t\t<ProjectGuid>{9B42889D-2F0D-0378-E87E-82C8D918DB4D}</ProjectGuid>\n\t\t<RootNamespace>flexExtD3D</RootNamespace>\n\t</PropertyGroup>\n\t<Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.Default.props\" />\n\t<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\" Label=\"Configuration\">\n\t\t<ConfigurationType>DynamicLibrary</ConfigurationType>\n\t\t<PlatformToolset>v140</PlatformToolset>\n\t</PropertyGroup>\n\t<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\" Label=\"Configuration\">\n\t\t<ConfigurationType>DynamicLibrary</ConfigurationType>\n\t\t<PlatformToolset>v140</PlatformToolset>\n\t\t<WholeProgramOptimization>true</WholeProgramOptimization>\n\t</PropertyGroup>\n\t<Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.props\" />\n\t<ImportGroup Label=\"ExtensionSettings\">\n\t</ImportGroup>\n\t<ImportGroup Label=\"PropertySheets\" Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">\n\t\t<Import Project=\"$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props\" Condition=\"exists('$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props')\" Label=\"LocalAppDataPlatform\" />\n\t</ImportGroup>\n\t<ImportGroup Label=\"PropertySheets\" Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">\n\t\t<Import Project=\"$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props\" Condition=\"exists('$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props')\" Label=\"LocalAppDataPlatform\" />\n\t</ImportGroup>\n\t<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">\n\t\t<OutDir>./../../../bin/win32\\</OutDir>\n\t\t<IntDir>./build/win32/DX/debug\\</IntDir>\n\t\t<TargetExt>.dll</TargetExt>\n\t\t<TargetName>NvFlexExtDebugD3D_x86</TargetName>\n\t\t<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>\n\t\t<CodeAnalysisRules />\n\t\t<CodeAnalysisRuleAssemblies />\n\t\t<SkipCopyingSymbolsToOutputDirectory>true</SkipCopyingSymbolsToOutputDirectory>\n\t</PropertyGroup>\n\t<ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">\n\t\t<ClCompile>\n\t\t\t<FloatingPointModel>Precise</FloatingPointModel>\n\t\t\t<AdditionalOptions> /d2Zi+</AdditionalOptions>\n\t\t\t<Optimization>Disabled</Optimization>\n\t\t\t<AdditionalIncludeDirectories>./../../../../..;./../../..;./../../../external/D3D11/include;./../../../external/D3D12/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\n\t\t\t<PreprocessorDefinitions>_CONSOLE;WIN32;_DEBUG;_ITERATOR_DEBUG_LEVEL=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n\t\t\t<WarningLevel>Level3</WarningLevel>\n\t\t\t<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>\n\t\t\t<PrecompiledHeader>NotUsing</PrecompiledHeader>\n\t\t\t<PrecompiledHeaderFile></PrecompiledHeaderFile>\n\t\t</ClCompile>\n\t\t<Link>\n\t\t\t<AdditionalOptions>/DELAYLOAD:d3d11.dll /DELAYLOAD:d3d12.dll /DELAYLOAD:dxgi.dll</AdditionalOptions>\n\t\t\t<AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib;./../../../lib/win32/NvFlexDebugD3D_x86.lib;%(AdditionalDependencies)</AdditionalDependencies>\n\t\t\t<OutputFile>$(OutDir)NvFlexExtDebugD3D_x86.dll</OutputFile>\n\t\t\t<AdditionalLibraryDirectories>./../../../external/D3D11/libs/x86;./../../../external/D3D12/libs/x86;./../../../lib/win32;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\n\t\t\t<ProgramDatabaseFile>$(OutDir)/NvFlexExtDebugD3D_x86.dll.pdb</ProgramDatabaseFile>\n\t\t\t<SubSystem>Console</SubSystem>\n\t\t\t<ImportLibrary>./../../../lib/win32/NvFlexExtDebugD3D_x86.lib</ImportLibrary>\n\t\t\t<GenerateDebugInformation>true</GenerateDebugInformation>\n\t\t\t<TargetMachine>MachineX86</TargetMachine>\n\t\t</Link>\n\t\t<ResourceCompile>\n\t\t</ResourceCompile>\n\t\t<ProjectReference>\n\t\t</ProjectReference>\n\t</ItemDefinitionGroup>\n\t<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">\n\t\t<OutDir>./../../../bin/win32\\</OutDir>\n\t\t<IntDir>./build/win32/DX/release\\</IntDir>\n\t\t<TargetExt>.dll</TargetExt>\n\t\t<TargetName>NvFlexExtReleaseD3D_x86</TargetName>\n\t\t<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>\n\t\t<CodeAnalysisRules />\n\t\t<CodeAnalysisRuleAssemblies />\n\t\t<SkipCopyingSymbolsToOutputDirectory>true</SkipCopyingSymbolsToOutputDirectory>\n\t</PropertyGroup>\n\t<ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">\n\t\t<ClCompile>\n\t\t\t<IntrinsicFunctions>true</IntrinsicFunctions>\n\t\t\t<FunctionLevelLinking>true</FunctionLevelLinking>\n\t\t\t<BufferSecurityCheck>false</BufferSecurityCheck>\n\t\t\t<FloatingPointModel>Fast</FloatingPointModel>\n\t\t\t<AdditionalOptions> /d2Zi+</AdditionalOptions>\n\t\t\t<Optimization>Full</Optimization>\n\t\t\t<AdditionalIncludeDirectories>./../../../../..;./../../..;./../../../external/D3D11/include;./../../../external/D3D12/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\n\t\t\t<PreprocessorDefinitions>_CONSOLE;WIN32;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n\t\t\t<WarningLevel>Level3</WarningLevel>\n\t\t\t<RuntimeLibrary>MultiThreaded</RuntimeLibrary>\n\t\t\t<PrecompiledHeader>NotUsing</PrecompiledHeader>\n\t\t\t<PrecompiledHeaderFile></PrecompiledHeaderFile>\n\t\t</ClCompile>\n\t\t<Link>\n\t\t\t<AdditionalOptions>/DELAYLOAD:d3d11.dll /DELAYLOAD:d3d12.dll /DELAYLOAD:dxgi.dll</AdditionalOptions>\n\t\t\t<AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib;./../../../lib/win32/NvFlexReleaseD3D_x86.lib;%(AdditionalDependencies)</AdditionalDependencies>\n\t\t\t<OutputFile>$(OutDir)NvFlexExtReleaseD3D_x86.dll</OutputFile>\n\t\t\t<AdditionalLibraryDirectories>./../../../external/D3D11/libs/x86;./../../../external/D3D12/libs/x86;./../../../lib/win32;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\n\t\t\t<ProgramDatabaseFile>$(OutDir)/NvFlexExtReleaseD3D_x86.dll.pdb</ProgramDatabaseFile>\n\t\t\t<SubSystem>Console</SubSystem>\n\t\t\t<ImportLibrary>./../../../lib/win32/NvFlexExtReleaseD3D_x86.lib</ImportLibrary>\n\t\t\t<GenerateDebugInformation>true</GenerateDebugInformation>\n\t\t\t<TargetMachine>MachineX86</TargetMachine>\n\t\t</Link>\n\t\t<ResourceCompile>\n\t\t</ResourceCompile>\n\t\t<ProjectReference>\n\t\t</ProjectReference>\n\t</ItemDefinitionGroup>\n\t<ItemGroup>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\sdf.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\voxelize.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\maths.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\aabbtree.cpp\">\n\t\t</ClCompile>\n\t</ItemGroup>\n\t<ItemGroup>\n\t\t<ClCompile Include=\"..\\..\\dx\\flexExt.cpp\">\n\t\t</ClCompile>\n\t\t<None Include=\"..\\..\\dx\\flexExt.hlsl\">\n\t\t</None>\n\t\t<ClInclude Include=\"..\\..\\dx\\flexExt_dx_common.h\">\n\t\t</ClInclude>\n\t\t<ClCompile Include=\"..\\..\\flexExtCloth.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\flexExtRigid.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\flexExtSoft.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\flexExtMovingFrame.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\flexExtContainer.cpp\">\n\t\t</ClCompile>\n\t</ItemGroup>\n\t<ItemGroup>\n\t\t<FxCompile Include=\"./../../dx/shaders/flexExt.UpdateForceFields.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">Compute</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">UpdateForceFields::execute</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">false</TreatWarningAsError>\n\t\t\t<VariableName Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">g_flexExt_UpdateForceFields</VariableName>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\">../../../extensions/dx/shaders/%(Filename).h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|Win32'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">Compute</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">UpdateForceFields::execute</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">false</TreatWarningAsError>\n\t\t\t<VariableName Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">g_flexExt_UpdateForceFields</VariableName>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\">../../../extensions/dx/shaders/%(Filename).h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|Win32'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t</ItemGroup>\n\t<Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.targets\" />\n\t<ImportGroup Label=\"ExtensionTargets\"></ImportGroup>\n</Project>\n"
  },
  {
    "path": "extensions/compiler/vc14win32/flexExtD3D.vcxproj.filters",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\r\n<Project ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\r\r\n\t<ItemGroup>\r\r\n\t\t<Filter Include=\"Core\">\r\r\n\t\t</Filter>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\sdf.cpp\">\r\r\n\t\t\t<Filter>Core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\voxelize.cpp\">\r\r\n\t\t\t<Filter>Core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\maths.cpp\">\r\r\n\t\t\t<Filter>Core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\aabbtree.cpp\">\r\r\n\t\t\t<Filter>Core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<Filter Include=\"src\">\r\r\n\t\t</Filter>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<ClCompile Include=\"..\\..\\dx\\flexExt.cpp\">\r\r\n\t\t\t<Filter>src</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<None Include=\"..\\..\\dx\\flexExt.hlsl\">\r\r\n\t\t\t<Filter>src</Filter>\r\r\n\t\t</None>\r\r\n\t\t<ClInclude Include=\"..\\..\\dx\\flexExt_dx_common.h\">\r\r\n\t\t\t<Filter>src</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClCompile Include=\"..\\..\\flexExtCloth.cpp\">\r\r\n\t\t\t<Filter>src</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\flexExtRigid.cpp\">\r\r\n\t\t\t<Filter>src</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\flexExtSoft.cpp\">\r\r\n\t\t\t<Filter>src</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\flexExtMovingFrame.cpp\">\r\r\n\t\t\t<Filter>src</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\flexExtContainer.cpp\">\r\r\n\t\t\t<Filter>src</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup><Filter Include=\"Shader Files\"></Filter></ItemGroup>\r\n\t<ItemGroup>\r\n\t\t<FxCompile Include=\"./../../dx/shaders/flexExt.UpdateForceFields.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t</ItemGroup>\r\n</Project>"
  },
  {
    "path": "extensions/compiler/vc14win64/flexExtCUDA.sln",
    "content": "Microsoft Visual Studio Solution File, Format Version 12.00\n# Visual Studio 14\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"flexExtCUDA\", \"./flexExtCUDA.vcxproj\", \"{FD4C9C06-7BEC-CDF8-C631-CD32A428A280}\"\n\tProjectSection(ProjectDependencies) = postProject\n\tEndProjectSection\nEndProject\nGlobal\n\tGlobalSection(SolutionConfigurationPlatforms) = preSolution\n\t\tdebug|x64 = debug|x64\n\t\trelease|x64 = release|x64\n\tEndGlobalSection\n\tGlobalSection(ProjectConfigurationPlatforms) = postSolution\n\t\t{FD4C9C06-7BEC-CDF8-C631-CD32A428A280}.debug|x64.ActiveCfg = debug|x64\n\t\t{FD4C9C06-7BEC-CDF8-C631-CD32A428A280}.debug|x64.Build.0 = debug|x64\n\t\t{FD4C9C06-7BEC-CDF8-C631-CD32A428A280}.release|x64.ActiveCfg = release|x64\n\t\t{FD4C9C06-7BEC-CDF8-C631-CD32A428A280}.release|x64.Build.0 = release|x64\n\tEndGlobalSection\n\tGlobalSection(ExtensibilityGlobals) = postSolution\n\tEndGlobalSection\n\tGlobalSection(ExtensibilityAddins) = postSolution\n\tEndGlobalSection\n\tGlobalSection(NestedProjects) = preSolution\n\tEndGlobalSection\nEndGlobal\n"
  },
  {
    "path": "extensions/compiler/vc14win64/flexExtCUDA.vcxproj",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project DefaultTargets=\"Build\" ToolsVersion=\"14.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n\t<ItemGroup Label=\"ProjectConfigurations\">\n\t\t<ProjectConfiguration Include=\"debug|x64\">\n\t\t\t<Configuration>debug</Configuration>\n\t\t\t<Platform>x64</Platform>\n\t\t</ProjectConfiguration>\n\t\t<ProjectConfiguration Include=\"release|x64\">\n\t\t\t<Configuration>release</Configuration>\n\t\t\t<Platform>x64</Platform>\n\t\t</ProjectConfiguration>\n\t</ItemGroup>\n\t<PropertyGroup Label=\"Globals\">\n\t\t<ProjectGuid>{FD4C9C06-7BEC-CDF8-C631-CD32A428A280}</ProjectGuid>\n\t\t<RootNamespace>flexExtCUDA</RootNamespace>\n\t</PropertyGroup>\n\t<Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.Default.props\" />\n\t<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\" Label=\"Configuration\">\n\t\t<ConfigurationType>DynamicLibrary</ConfigurationType>\n\t\t<PlatformToolset>v140</PlatformToolset>\n\t</PropertyGroup>\n\t<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\" Label=\"Configuration\">\n\t\t<ConfigurationType>DynamicLibrary</ConfigurationType>\n\t\t<PlatformToolset>v140</PlatformToolset>\n\t\t<WholeProgramOptimization>true</WholeProgramOptimization>\n\t</PropertyGroup>\n\t<Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.props\" />\n\t<ImportGroup Label=\"ExtensionSettings\">\n\t</ImportGroup>\n\t<ImportGroup Label=\"PropertySheets\" Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">\n\t\t<Import Project=\"$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props\" Condition=\"exists('$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props')\" Label=\"LocalAppDataPlatform\" />\n\t</ImportGroup>\n\t<ImportGroup Label=\"PropertySheets\" Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">\n\t\t<Import Project=\"$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props\" Condition=\"exists('$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props')\" Label=\"LocalAppDataPlatform\" />\n\t</ImportGroup>\n\t<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">\n\t\t<OutDir>./../../../bin/win64\\</OutDir>\n\t\t<IntDir>./build/win64/debug\\</IntDir>\n\t\t<TargetExt>.dll</TargetExt>\n\t\t<TargetName>NvFlexExtDebugCUDA_x64</TargetName>\n\t\t<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>\n\t\t<CodeAnalysisRules />\n\t\t<CodeAnalysisRuleAssemblies />\n\t\t<SkipCopyingSymbolsToOutputDirectory>true</SkipCopyingSymbolsToOutputDirectory>\n\t</PropertyGroup>\n\t<ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">\n\t\t<ClCompile>\n\t\t\t<FloatingPointModel>Precise</FloatingPointModel>\n\t\t\t<AdditionalOptions> /d2Zi+</AdditionalOptions>\n\t\t\t<Optimization>Disabled</Optimization>\n\t\t\t<AdditionalIncludeDirectories>$(CUDA_PATH)/include;$(CUDA_PATH)/extras/cupti/include;./../../../../..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\n\t\t\t<PreprocessorDefinitions>_CONSOLE;WIN32;_DEBUG;_ITERATOR_DEBUG_LEVEL=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n\t\t\t<WarningLevel>Level3</WarningLevel>\n\t\t\t<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>\n\t\t\t<PrecompiledHeader>NotUsing</PrecompiledHeader>\n\t\t\t<PrecompiledHeaderFile></PrecompiledHeaderFile>\n\t\t</ClCompile>\n\t\t<Link>\n\t\t\t<AdditionalOptions>/DELAYLOAD:d3d11.dll /DELAYLOAD:d3d12.dll /DELAYLOAD:dxgi.dll</AdditionalOptions>\n\t\t\t<AdditionalDependencies>cudart.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;./../../../lib/win64/NvFlexDebugCUDA_x64.lib;%(AdditionalDependencies)</AdditionalDependencies>\n\t\t\t<OutputFile>$(OutDir)NvFlexExtDebugCUDA_x64.dll</OutputFile>\n\t\t\t<AdditionalLibraryDirectories>$(CUDA_PATH)/lib/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\n\t\t\t<ProgramDatabaseFile>$(OutDir)/NvFlexExtDebugCUDA_x64.dll.pdb</ProgramDatabaseFile>\n\t\t\t<SubSystem>Console</SubSystem>\n\t\t\t<ImportLibrary>./../../../lib/win64/NvFlexExtDebugCUDA_x64.lib</ImportLibrary>\n\t\t\t<GenerateDebugInformation>true</GenerateDebugInformation>\n\t\t\t<TargetMachine>MachineX64</TargetMachine>\n\t\t</Link>\n\t\t<ResourceCompile>\n\t\t</ResourceCompile>\n\t\t<ProjectReference>\n\t\t</ProjectReference>\n\t</ItemDefinitionGroup>\n\t<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">\n\t\t<OutDir>./../../../bin/win64\\</OutDir>\n\t\t<IntDir>./build/win64/release\\</IntDir>\n\t\t<TargetExt>.dll</TargetExt>\n\t\t<TargetName>NvFlexExtReleaseCUDA_x64</TargetName>\n\t\t<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>\n\t\t<CodeAnalysisRules />\n\t\t<CodeAnalysisRuleAssemblies />\n\t\t<SkipCopyingSymbolsToOutputDirectory>true</SkipCopyingSymbolsToOutputDirectory>\n\t</PropertyGroup>\n\t<ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">\n\t\t<ClCompile>\n\t\t\t<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>\n\t\t\t<IntrinsicFunctions>true</IntrinsicFunctions>\n\t\t\t<FunctionLevelLinking>true</FunctionLevelLinking>\n\t\t\t<BufferSecurityCheck>false</BufferSecurityCheck>\n\t\t\t<FloatingPointModel>Fast</FloatingPointModel>\n\t\t\t<AdditionalOptions> /d2Zi+</AdditionalOptions>\n\t\t\t<Optimization>Full</Optimization>\n\t\t\t<AdditionalIncludeDirectories>$(CUDA_PATH)/include;$(CUDA_PATH)/extras/cupti/include;./../../../../..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\n\t\t\t<PreprocessorDefinitions>_CONSOLE;WIN32;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n\t\t\t<WarningLevel>Level3</WarningLevel>\n\t\t\t<RuntimeLibrary>MultiThreaded</RuntimeLibrary>\n\t\t\t<PrecompiledHeader>NotUsing</PrecompiledHeader>\n\t\t\t<PrecompiledHeaderFile></PrecompiledHeaderFile>\n\t\t</ClCompile>\n\t\t<Link>\n\t\t\t<AdditionalOptions>/DELAYLOAD:d3d11.dll /DELAYLOAD:d3d12.dll /DELAYLOAD:dxgi.dll</AdditionalOptions>\n\t\t\t<AdditionalDependencies>cudart.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;./../../../lib/win64/NvFlexReleaseCUDA_x64.lib;%(AdditionalDependencies)</AdditionalDependencies>\n\t\t\t<OutputFile>$(OutDir)NvFlexExtReleaseCUDA_x64.dll</OutputFile>\n\t\t\t<AdditionalLibraryDirectories>$(CUDA_PATH)/lib/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\n\t\t\t<ProgramDatabaseFile>$(OutDir)/NvFlexExtReleaseCUDA_x64.dll.pdb</ProgramDatabaseFile>\n\t\t\t<SubSystem>Console</SubSystem>\n\t\t\t<ImportLibrary>./../../../lib/win64/NvFlexExtReleaseCUDA_x64.lib</ImportLibrary>\n\t\t\t<GenerateDebugInformation>true</GenerateDebugInformation>\n\t\t\t<TargetMachine>MachineX64</TargetMachine>\n\t\t</Link>\n\t\t<ResourceCompile>\n\t\t</ResourceCompile>\n\t\t<ProjectReference>\n\t\t</ProjectReference>\n\t</ItemDefinitionGroup>\n\t<ItemGroup>\n\t\t<ClCompile Include=\"..\\..\\flexExtCloth.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\flexExtContainer.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\flexExtMovingFrame.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\flexExtRigid.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\flexExtSoft.cpp\">\n\t\t</ClCompile>\n\t</ItemGroup>\n\t<ItemGroup>\n\t\t<CustomBuild Include=\"..\\..\\cuda\\flexExt.cu\">\n\t\t\t<FileType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">cuda</FileType>\n\t\t\t<Command Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">\"$(CUDA_PATH)\\bin\\nvcc.exe\" -g -G --compiler-bindir=\"$(VCInstallDir)bin\" --compiler-options=/MTd,/Zi -I\"..\\..\\..\" -D_ITERATOR_DEBUG_LEVEL=0 -DCUDA -arch=sm_30 -prec-div=false -prec-sqrt=false -ftz=true -use_fast_math -c ..\\..\\cuda\\flexExt.cu -o ./x64/flexExtCUDA/debug/cuda/flexExt.obj</Command>\n\t\t\t<Message Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Building %(Identity)</Message>\n\t\t\t<Outputs Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">./x64/flexExtCUDA/debug/cuda/flexExt.obj;</Outputs>\n\t\t\t<FileType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">cuda</FileType>\n\t\t\t<Command Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">\"$(CUDA_PATH)\\bin\\nvcc.exe\" -O3 --compiler-bindir=\"$(VCInstallDir)bin\"  --compiler-options=/MT,/Zi -I\"..\\..\\..\" -D_ITERATOR_DEBUG_LEVEL=0 -DNDEBUG -DCUDA -arch=sm_30 -prec-div=false -prec-sqrt=false -ftz=true -use_fast_math -c ..\\..\\cuda\\flexExt.cu -o ./x64/flexExtCUDA/release/cuda/flexExt.obj</Command>\n\t\t\t<Message Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Building %(Identity)</Message>\n\t\t\t<Outputs Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">./x64/flexExtCUDA/release/cuda/flexExt.obj;</Outputs>\n\t\t</CustomBuild>\n\t</ItemGroup>\n\t<ItemGroup>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\sdf.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\voxelize.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\maths.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\aabbtree.cpp\">\n\t\t</ClCompile>\n\t</ItemGroup>\n\t<Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.targets\" />\n\t<ImportGroup Label=\"ExtensionTargets\"></ImportGroup>\n</Project>\n"
  },
  {
    "path": "extensions/compiler/vc14win64/flexExtCUDA.vcxproj.filters",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\r\n<Project ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\r\r\n\t<ItemGroup>\r\r\n\t\t<Filter Include=\"src\">\r\r\n\t\t</Filter>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<ClCompile Include=\"..\\..\\flexExtCloth.cpp\">\r\r\n\t\t\t<Filter>src</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\flexExtContainer.cpp\">\r\r\n\t\t\t<Filter>src</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\flexExtMovingFrame.cpp\">\r\r\n\t\t\t<Filter>src</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\flexExtRigid.cpp\">\r\r\n\t\t\t<Filter>src</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\flexExtSoft.cpp\">\r\r\n\t\t\t<Filter>src</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<Filter Include=\"cuda\">\r\r\n\t\t</Filter>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<CustomBuild Include=\"..\\..\\cuda\\flexExt.cu\">\r\r\n\t\t\t<Filter>cuda</Filter>\r\r\n\t\t</CustomBuild>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<Filter Include=\"core\">\r\r\n\t\t</Filter>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\sdf.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\voxelize.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\maths.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\aabbtree.cpp\">\r\r\n\t\t\t<Filter>core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t</ItemGroup>\r\r\n</Project>"
  },
  {
    "path": "extensions/compiler/vc14win64/flexExtD3D.sln",
    "content": "Microsoft Visual Studio Solution File, Format Version 12.00\n# Visual Studio 14\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"flexExtD3D\", \"./flexExtD3D.vcxproj\", \"{9B42889D-2F0D-0378-E87E-82C8D918DB4D}\"\n\tProjectSection(ProjectDependencies) = postProject\n\tEndProjectSection\nEndProject\nGlobal\n\tGlobalSection(SolutionConfigurationPlatforms) = preSolution\n\t\tdebug|x64 = debug|x64\n\t\trelease|x64 = release|x64\n\tEndGlobalSection\n\tGlobalSection(ProjectConfigurationPlatforms) = postSolution\n\t\t{9B42889D-2F0D-0378-E87E-82C8D918DB4D}.debug|x64.ActiveCfg = debug|x64\n\t\t{9B42889D-2F0D-0378-E87E-82C8D918DB4D}.debug|x64.Build.0 = debug|x64\n\t\t{9B42889D-2F0D-0378-E87E-82C8D918DB4D}.release|x64.ActiveCfg = release|x64\n\t\t{9B42889D-2F0D-0378-E87E-82C8D918DB4D}.release|x64.Build.0 = release|x64\n\tEndGlobalSection\n\tGlobalSection(ExtensibilityGlobals) = postSolution\n\tEndGlobalSection\n\tGlobalSection(ExtensibilityAddins) = postSolution\n\tEndGlobalSection\n\tGlobalSection(NestedProjects) = preSolution\n\tEndGlobalSection\nEndGlobal\n"
  },
  {
    "path": "extensions/compiler/vc14win64/flexExtD3D.vcxproj",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project DefaultTargets=\"Build\" ToolsVersion=\"14.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n\t<ItemGroup Label=\"ProjectConfigurations\">\n\t\t<ProjectConfiguration Include=\"debug|x64\">\n\t\t\t<Configuration>debug</Configuration>\n\t\t\t<Platform>x64</Platform>\n\t\t</ProjectConfiguration>\n\t\t<ProjectConfiguration Include=\"release|x64\">\n\t\t\t<Configuration>release</Configuration>\n\t\t\t<Platform>x64</Platform>\n\t\t</ProjectConfiguration>\n\t</ItemGroup>\n\t<PropertyGroup Label=\"Globals\">\n\t\t<ProjectGuid>{9B42889D-2F0D-0378-E87E-82C8D918DB4D}</ProjectGuid>\n\t\t<RootNamespace>flexExtD3D</RootNamespace>\n\t</PropertyGroup>\n\t<Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.Default.props\" />\n\t<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\" Label=\"Configuration\">\n\t\t<ConfigurationType>DynamicLibrary</ConfigurationType>\n\t\t<PlatformToolset>v140</PlatformToolset>\n\t</PropertyGroup>\n\t<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\" Label=\"Configuration\">\n\t\t<ConfigurationType>DynamicLibrary</ConfigurationType>\n\t\t<PlatformToolset>v140</PlatformToolset>\n\t\t<WholeProgramOptimization>true</WholeProgramOptimization>\n\t</PropertyGroup>\n\t<Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.props\" />\n\t<ImportGroup Label=\"ExtensionSettings\">\n\t</ImportGroup>\n\t<ImportGroup Label=\"PropertySheets\" Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">\n\t\t<Import Project=\"$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props\" Condition=\"exists('$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props')\" Label=\"LocalAppDataPlatform\" />\n\t</ImportGroup>\n\t<ImportGroup Label=\"PropertySheets\" Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">\n\t\t<Import Project=\"$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props\" Condition=\"exists('$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props')\" Label=\"LocalAppDataPlatform\" />\n\t</ImportGroup>\n\t<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">\n\t\t<OutDir>./../../../bin/win64\\</OutDir>\n\t\t<IntDir>./build/win64/DX/debug\\</IntDir>\n\t\t<TargetExt>.dll</TargetExt>\n\t\t<TargetName>NvFlexExtDebugD3D_x64</TargetName>\n\t\t<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>\n\t\t<CodeAnalysisRules />\n\t\t<CodeAnalysisRuleAssemblies />\n\t\t<SkipCopyingSymbolsToOutputDirectory>true</SkipCopyingSymbolsToOutputDirectory>\n\t</PropertyGroup>\n\t<ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">\n\t\t<ClCompile>\n\t\t\t<FloatingPointModel>Precise</FloatingPointModel>\n\t\t\t<AdditionalOptions> /d2Zi+</AdditionalOptions>\n\t\t\t<Optimization>Disabled</Optimization>\n\t\t\t<AdditionalIncludeDirectories>./../../../../..;./../../..;./../../../external/D3D11/include;./../../../external/D3D12/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\n\t\t\t<PreprocessorDefinitions>_CONSOLE;WIN32;_DEBUG;_ITERATOR_DEBUG_LEVEL=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n\t\t\t<WarningLevel>Level3</WarningLevel>\n\t\t\t<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>\n\t\t\t<PrecompiledHeader>NotUsing</PrecompiledHeader>\n\t\t\t<PrecompiledHeaderFile></PrecompiledHeaderFile>\n\t\t</ClCompile>\n\t\t<Link>\n\t\t\t<AdditionalOptions>/DELAYLOAD:d3d11.dll /DELAYLOAD:d3d12.dll /DELAYLOAD:dxgi.dll</AdditionalOptions>\n\t\t\t<AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib;./../../../lib/win64/NvFlexDebugD3D_x64.lib;%(AdditionalDependencies)</AdditionalDependencies>\n\t\t\t<OutputFile>$(OutDir)NvFlexExtDebugD3D_x64.dll</OutputFile>\n\t\t\t<AdditionalLibraryDirectories>./../../../external/D3D11/libs/x64;./../../../external/D3D12/libs/x64;./../../../lib/win64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\n\t\t\t<ProgramDatabaseFile>$(OutDir)/NvFlexExtDebugD3D_x64.dll.pdb</ProgramDatabaseFile>\n\t\t\t<SubSystem>Console</SubSystem>\n\t\t\t<ImportLibrary>./../../../lib/win64/NvFlexExtDebugD3D_x64.lib</ImportLibrary>\n\t\t\t<GenerateDebugInformation>true</GenerateDebugInformation>\n\t\t\t<TargetMachine>MachineX64</TargetMachine>\n\t\t</Link>\n\t\t<ResourceCompile>\n\t\t</ResourceCompile>\n\t\t<ProjectReference>\n\t\t</ProjectReference>\n\t</ItemDefinitionGroup>\n\t<PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">\n\t\t<OutDir>./../../../bin/win64\\</OutDir>\n\t\t<IntDir>./build/win64/DX/release\\</IntDir>\n\t\t<TargetExt>.dll</TargetExt>\n\t\t<TargetName>NvFlexExtReleaseD3D_x64</TargetName>\n\t\t<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>\n\t\t<CodeAnalysisRules />\n\t\t<CodeAnalysisRuleAssemblies />\n\t\t<SkipCopyingSymbolsToOutputDirectory>true</SkipCopyingSymbolsToOutputDirectory>\n\t</PropertyGroup>\n\t<ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">\n\t\t<ClCompile>\n\t\t\t<IntrinsicFunctions>true</IntrinsicFunctions>\n\t\t\t<FunctionLevelLinking>true</FunctionLevelLinking>\n\t\t\t<BufferSecurityCheck>false</BufferSecurityCheck>\n\t\t\t<FloatingPointModel>Fast</FloatingPointModel>\n\t\t\t<AdditionalOptions> /d2Zi+</AdditionalOptions>\n\t\t\t<Optimization>Full</Optimization>\n\t\t\t<AdditionalIncludeDirectories>./../../../../..;./../../..;./../../../external/D3D11/include;./../../../external/D3D12/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\n\t\t\t<PreprocessorDefinitions>_CONSOLE;WIN32;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n\t\t\t<WarningLevel>Level3</WarningLevel>\n\t\t\t<RuntimeLibrary>MultiThreaded</RuntimeLibrary>\n\t\t\t<PrecompiledHeader>NotUsing</PrecompiledHeader>\n\t\t\t<PrecompiledHeaderFile></PrecompiledHeaderFile>\n\t\t</ClCompile>\n\t\t<Link>\n\t\t\t<AdditionalOptions>/DELAYLOAD:d3d11.dll /DELAYLOAD:d3d12.dll /DELAYLOAD:dxgi.dll</AdditionalOptions>\n\t\t\t<AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib;./../../../lib/win64/NvFlexReleaseD3D_x64.lib;%(AdditionalDependencies)</AdditionalDependencies>\n\t\t\t<OutputFile>$(OutDir)NvFlexExtReleaseD3D_x64.dll</OutputFile>\n\t\t\t<AdditionalLibraryDirectories>./../../../external/D3D11/libs/x64;./../../../external/D3D12/libs/x64;./../../../lib/win64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\n\t\t\t<ProgramDatabaseFile>$(OutDir)/NvFlexExtReleaseD3D_x64.dll.pdb</ProgramDatabaseFile>\n\t\t\t<SubSystem>Console</SubSystem>\n\t\t\t<ImportLibrary>./../../../lib/win64/NvFlexExtReleaseD3D_x64.lib</ImportLibrary>\n\t\t\t<GenerateDebugInformation>true</GenerateDebugInformation>\n\t\t\t<TargetMachine>MachineX64</TargetMachine>\n\t\t</Link>\n\t\t<ResourceCompile>\n\t\t</ResourceCompile>\n\t\t<ProjectReference>\n\t\t</ProjectReference>\n\t</ItemDefinitionGroup>\n\t<ItemGroup>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\sdf.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\voxelize.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\maths.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\..\\core\\aabbtree.cpp\">\n\t\t</ClCompile>\n\t</ItemGroup>\n\t<ItemGroup>\n\t\t<ClCompile Include=\"..\\..\\dx\\flexExt.cpp\">\n\t\t</ClCompile>\n\t\t<None Include=\"..\\..\\dx\\flexExt.hlsl\">\n\t\t</None>\n\t\t<ClInclude Include=\"..\\..\\dx\\flexExt_dx_common.h\">\n\t\t</ClInclude>\n\t\t<ClCompile Include=\"..\\..\\flexExtCloth.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\flexExtRigid.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\flexExtSoft.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\flexExtMovingFrame.cpp\">\n\t\t</ClCompile>\n\t\t<ClCompile Include=\"..\\..\\flexExtContainer.cpp\">\n\t\t</ClCompile>\n\t</ItemGroup>\n\t<ItemGroup>\n\t\t<FxCompile Include=\"./../../dx/shaders/flexExt.UpdateForceFields.hlsl\">\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">Compute</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">UpdateForceFields::execute</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">false</TreatWarningAsError>\n\t\t\t<VariableName Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">g_flexExt_UpdateForceFields</VariableName>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\">../../../extensions/dx/shaders/%(Filename).h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='debug|x64'\"> </ObjectFileOutput>\n\t\t\t<ShaderType Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">Compute</ShaderType>\n\t\t\t<ShaderModel Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">5.0</ShaderModel>\n\t\t\t<EnableDebuggingInformation Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</EnableDebuggingInformation>\n\t\t\t<DisableOptimizations Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</DisableOptimizations>\n\t\t\t<EntryPointName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">UpdateForceFields::execute</EntryPointName>\n\t\t\t<TreatWarningAsError Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">false</TreatWarningAsError>\n\t\t\t<VariableName Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">g_flexExt_UpdateForceFields</VariableName>\n\t\t\t<HeaderFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\">../../../extensions/dx/shaders/%(Filename).h</HeaderFileOutput>\n\t\t\t<ObjectFileOutput Condition=\"'$(Configuration)|$(Platform)'=='release|x64'\"> </ObjectFileOutput>\n\t\t</FxCompile>\n\t</ItemGroup>\n\t<Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.targets\" />\n\t<ImportGroup Label=\"ExtensionTargets\"></ImportGroup>\n</Project>\n"
  },
  {
    "path": "extensions/compiler/vc14win64/flexExtD3D.vcxproj.filters",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\r\n<Project ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\r\r\n\t<ItemGroup>\r\r\n\t\t<Filter Include=\"Core\">\r\r\n\t\t</Filter>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\sdf.cpp\">\r\r\n\t\t\t<Filter>Core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\voxelize.cpp\">\r\r\n\t\t\t<Filter>Core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\maths.cpp\">\r\r\n\t\t\t<Filter>Core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\..\\core\\aabbtree.cpp\">\r\r\n\t\t\t<Filter>Core</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<Filter Include=\"src\">\r\r\n\t\t</Filter>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup>\r\r\n\t\t<ClCompile Include=\"..\\..\\dx\\flexExt.cpp\">\r\r\n\t\t\t<Filter>src</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<None Include=\"..\\..\\dx\\flexExt.hlsl\">\r\r\n\t\t\t<Filter>src</Filter>\r\r\n\t\t</None>\r\r\n\t\t<ClInclude Include=\"..\\..\\dx\\flexExt_dx_common.h\">\r\r\n\t\t\t<Filter>src</Filter>\r\r\n\t\t</ClInclude>\r\r\n\t\t<ClCompile Include=\"..\\..\\flexExtCloth.cpp\">\r\r\n\t\t\t<Filter>src</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\flexExtRigid.cpp\">\r\r\n\t\t\t<Filter>src</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\flexExtSoft.cpp\">\r\r\n\t\t\t<Filter>src</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\flexExtMovingFrame.cpp\">\r\r\n\t\t\t<Filter>src</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t\t<ClCompile Include=\"..\\..\\flexExtContainer.cpp\">\r\r\n\t\t\t<Filter>src</Filter>\r\r\n\t\t</ClCompile>\r\r\n\t</ItemGroup>\r\r\n\t<ItemGroup><Filter Include=\"Shader Files\"></Filter></ItemGroup>\r\n\t<ItemGroup>\r\n\t\t<FxCompile Include=\"./../../dx/shaders/flexExt.UpdateForceFields.hlsl\">\r\n\t\t\t<Filter>Shader Files</Filter>\r\n\t\t</FxCompile>\r\n\t</ItemGroup>\r\n</Project>"
  },
  {
    "path": "extensions/cuda/flexExt.cu",
    "content": "// This code contains NVIDIA Confidential Information and is disclosed to you\n// under a form of NVIDIA software license agreement provided separately to you.\n//\n// Notice\n// NVIDIA Corporation and its licensors retain all intellectual property and\n// proprietary rights in and to this software and related documentation and\n// any modifications thereto. Any use, reproduction, disclosure, or\n// distribution of this software and related documentation without an express\n// license agreement from NVIDIA Corporation is strictly prohibited.\n//\n// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED \"AS IS.\". NVIDIA MAKES\n// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO\n// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,\n// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.\n//\n// Information and code furnished is believed to be accurate and reliable.\n// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such\n// information or for any infringement of patents or other rights of third parties that may\n// result from its use. No license is granted by implication or otherwise under any patent\n// or patent rights of NVIDIA Corporation. Details are subject to change without notice.\n// This code supersedes and replaces all information previously supplied.\n// NVIDIA Corporation products are not authorized for use as critical\n// components in life support devices or systems without express written approval of\n// NVIDIA Corporation.\n//\n// Copyright (c) 2013-2020 NVIDIA Corporation. All rights reserved.\n\n#include <cuda.h>\n#include <cuda_runtime_api.h>\n\n#include <vector>\n#include <limits>\n#include <algorithm>\n\n#include \"../../core/core.h\"\n#include \"../../core/maths.h\"\n\n#include \"../../include/NvFlex.h\"\n#include \"../../include/NvFlexExt.h\"\n\n#define CudaCheck(x) { cudaError_t err = x; if (err != cudaSuccess) { printf(\"Cuda error: %d in %s at %s:%d\\n\", err, #x, __FILE__, __LINE__); assert(0); } }\n\nstatic const int kNumThreadsPerBlock = 256;\n\nstruct NvFlexExtForceFieldCallback\n{\n\tNvFlexExtForceFieldCallback(NvFlexSolver* solver) : mSolver(solver)\n\t{\n\t\t// force fields\n\t\tmForceFieldsCpu = NULL;\n\t\tmForceFieldsGpu = NULL;\n\t\tmMaxForceFields = 0;\n\t\tmNumForceFields = 0;\n\n\t}\n\n\t~NvFlexExtForceFieldCallback()\n\t{\n\t\t// force fields\n\t\tCudaCheck(cudaFreeHost(mForceFieldsCpu));\n\t\tCudaCheck(cudaFree(mForceFieldsGpu));\n\t}\n\t\n\tNvFlexExtForceField* mForceFieldsCpu;\t// pinned host copy for async transfer\n\tNvFlexExtForceField* mForceFieldsGpu; // device copy\n\n\tint mMaxForceFields;\n\tint mNumForceFields;\n\n\tNvFlexSolver* mSolver;\n};\n\nNvFlexExtForceFieldCallback* NvFlexExtCreateForceFieldCallback(NvFlexSolver* solver)\n{\n\treturn new NvFlexExtForceFieldCallback(solver);\t\n}\n\nvoid NvFlexExtDestroyForceFieldCallback(NvFlexExtForceFieldCallback* callback)\n{\n\tdelete callback;\n}\n\n\n__global__ void UpdateForceFields(int numParticles, const Vec4* __restrict__ positions, Vec4* __restrict__ velocities, const NvFlexExtForceField* __restrict__ forceFields, int numForceFields, float dt)\n{\n\tconst int i = blockIdx.x*blockDim.x + threadIdx.x;\n\t\n\tfor (int f = 0; f < numForceFields; f++)\n\t{\n\t\tconst NvFlexExtForceField& forceField = forceFields[f];\n\n\t\tif (i < numParticles)\n\t\t{\n\t\t\tconst int index = i;\n\n\t\t\tVec4 p = positions[index];\n\t\t\tVec3 v = Vec3(velocities[index]);\n\n\t\t\tVec3 localPos = Vec3(p.x, p.y, p.z) - Vec3(forceField.mPosition[0], forceField.mPosition[1], forceField.mPosition[2]);\n\n\t\t\tfloat length = Length(localPos);\n\t\t\tif (length >= forceField.mRadius)\n\t\t\t{\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\t\n\t\t\tVec3 fieldDir;\n\t\t\tif (length > 0.0f)\n\t\t\t{\n\t\t\t\tfieldDir = localPos / length;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tfieldDir = localPos;\n\t\t\t}\n\n\t\t\t// If using linear falloff, scale with distance.\n\t\t\tfloat fieldStrength = forceField.mStrength;\n\t\t\tif (forceField.mLinearFalloff)\n\t\t\t{\n\t\t\t\tfieldStrength *= (1.0f - (length / forceField.mRadius));\n\t\t\t}\n\n\t\t\t// Apply force\n\t\t\tVec3 force = localPos * fieldStrength;\n\n\t\t\tfloat unitMultiplier;\n\t\t\tif (forceField.mMode == eNvFlexExtModeForce)\n\t\t\t{\n\t\t\t\tunitMultiplier = dt * p.w; // time/mass\n\t\t\t} \n\t\t\telse if (forceField.mMode == eNvFlexExtModeImpulse)\n\t\t\t{\n\t\t\t\tunitMultiplier = p.w; // 1/mass\n\t\t\t}\n\t\t\telse if (forceField.mMode == eNvFlexExtModeVelocityChange)\n\t\t\t{\n\t\t\t\tunitMultiplier = 1.0f;\n\t\t\t}\n\n\t\t\tVec3 deltaVelocity = fieldDir * fieldStrength * unitMultiplier;\n\t\t\tvelocities[index] = Vec4(v + deltaVelocity, 0.0f);\n\t\t}\n\t}\n}\n\nvoid ApplyForceFieldsCallback(NvFlexSolverCallbackParams params)\n{\n\t// callbacks always have the correct CUDA device set so we can safely launch kernels without acquiring\n\n\tNvFlexExtForceFieldCallback* c = (NvFlexExtForceFieldCallback*)params.userData;\n\n\tif (params.numActive && c->mNumForceFields)\n\t{\n\t\tconst int kNumBlocks = (params.numActive+kNumThreadsPerBlock-1)/kNumThreadsPerBlock;\n\n\t\tUpdateForceFields<<<kNumBlocks, kNumThreadsPerBlock>>>(\n\t\t\tparams.numActive,\n\t   \t\t(Vec4*)params.particles,\n\t   \t\t(Vec4*)params.velocities,\n\t\t\tc->mForceFieldsGpu,\n\t\t\tc->mNumForceFields,\n\t\t\tparams.dt);\n\t}\n}\n\nvoid NvFlexExtSetForceFields(NvFlexExtForceFieldCallback* c, const NvFlexExtForceField* forceFields, int numForceFields)\n{\n\t// re-alloc if necessary\n\tif (numForceFields > c->mMaxForceFields)\n\t{\n\t\tCudaCheck(cudaFreeHost(c->mForceFieldsCpu));\n\t\tCudaCheck(cudaMallocHost(&c->mForceFieldsCpu, sizeof(NvFlexExtForceField)*numForceFields));\n\n\t\tCudaCheck(cudaFree(c->mForceFieldsGpu));\n\t\tCudaCheck(cudaMalloc(&c->mForceFieldsGpu, sizeof(NvFlexExtForceField)*numForceFields));\n\n\n\t\tc->mMaxForceFields = numForceFields;\n\t}\n\tc->mNumForceFields = numForceFields;\n\n\tif (numForceFields > 0)\n\t{\n\t\t// copy to pinned host memory\n\t\tmemcpy(c->mForceFieldsCpu, forceFields, numForceFields*sizeof(NvFlexExtForceField));\n\n\t\tcudaMemcpyKind kind = cudaMemcpyHostToDevice;\n\t\tCudaCheck(cudaMemcpyAsync(c->mForceFieldsGpu, &c->mForceFieldsCpu[0], numForceFields*sizeof(NvFlexExtForceField), kind, 0));\n\t}\n\n\tNvFlexSolverCallback callback;\n\tcallback.function = ApplyForceFieldsCallback;\n\tcallback.userData = c;\n\t\n\t// register a callback to calculate the forces at the end of the time-step\n\tNvFlexRegisterSolverCallback(c->mSolver, callback, eNvFlexStageUpdateEnd);\n}\n"
  },
  {
    "path": "extensions/dx/flexExt.cpp",
    "content": "// This code contains NVIDIA Confidential Information and is disclosed to you\n// under a form of NVIDIA software license agreement provided separately to you.\n//\n// Notice\n// NVIDIA Corporation and its licensors retain all intellectual property and\n// proprietary rights in and to this software and related documentation and\n// any modifications thereto. Any use, reproduction, disclosure, or\n// distribution of this software and related documentation without an express\n// license agreement from NVIDIA Corporation is strictly prohibited.\n//\n// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED \"AS IS.\". NVIDIA MAKES\n// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO\n// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,\n// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.\n//\n// Information and code furnished is believed to be accurate and reliable.\n// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such\n// information or for any infringement of patents or other rights of third parties that may\n// result from its use. No license is granted by implication or otherwise under any patent\n// or patent rights of NVIDIA Corporation. Details are subject to change without notice.\n// This code supersedes and replaces all information previously supplied.\n// NVIDIA Corporation products are not authorized for use as critical\n// components in life support devices or systems without express written approval of\n// NVIDIA Corporation.\n//\n// Copyright (c) 2013-2020 NVIDIA Corporation. All rights reserved.\n\n#include \"core/core.h\"\n#include \"core/maths.h\"\n\n#include \"include/NvFlex.h\"\n#include \"include/NvFlexExt.h\"\n\n#include \"src/dx/context/context.h\"\n#include \"src/dx/context/device.h\"\n\n#include \"flexExt_dx_common.h\"\n\n#include \"shaders\\flexExt.UpdateForceFields.h\"\n\n\nstruct NvFlexExtForceFieldCallback\n{\n\tNvFlexExtForceFieldCallback(NvFlexSolver* solver) : mSolver(solver)\n\t{\n\t\t// force fields\n\t\tmMaxForceFields = 0;\n\t\tmNumForceFields = 0;\n\t\t\n\t\tmForceFieldsGpu = NULL;\n\n\t\tmDevice = NULL;\n\t\tmContext = NULL;\n\n\t\tNvFlexLibrary* lib = NvFlexGetSolverLibrary(solver);\n\t\tNvFlexGetDeviceAndContext(lib, (void**)&mDevice, (void**)&mContext);\n\n\t\t{\n\t\t\t// force field shader\n\t\t\tNvFlex::ComputeShaderDesc desc{};\n\t\t\tdesc.cs = (void*)g_flexExt_UpdateForceFields;\n\t\t\tdesc.cs_length = sizeof(g_flexExt_UpdateForceFields);\n\t\t\tdesc.label = L\"NvFlexExtForceFieldCallback\";\n\t\t\tdesc.NvAPI_Slot = 0;\n\n\t\t\tmShaderUpdateForceFields = mContext->createComputeShader(&desc);\n\t\t}\n\n\t\t{\n\t\t\t// constant buffer\n\t\t\tNvFlex::ConstantBufferDesc desc;\n\t\t\tdesc.stride = sizeof(int);\n\t\t\tdesc.dim = 4;\n\t\t\tdesc.uploadAccess = true;\n\t\t\t\n\t\t\tmConstantBuffer = mContext->createConstantBuffer(&desc);\n\t\t}\n\t}\n\n\t~NvFlexExtForceFieldCallback()\n\t{\n\t\t// force fields\n\t\tdelete mForceFieldsGpu;\n\t\tdelete mConstantBuffer;\n\t\tdelete mShaderUpdateForceFields;\n\t}\n\t\n\tNvFlex::Buffer* mForceFieldsGpu;\n\n\t// DX Specific\n\tNvFlex::ComputeShader* mShaderUpdateForceFields;\n\tNvFlex::ConstantBuffer* mConstantBuffer;\n\n\tint mMaxForceFields;\n\tint mNumForceFields;\n\n\t// D3D device and context wrappers for the solver library\n\tNvFlex::Device* mDevice;\n\tNvFlex::Context* mContext;\n\n\tNvFlexSolver* mSolver;\n\n};\n\nNvFlexExtForceFieldCallback* NvFlexExtCreateForceFieldCallback(NvFlexSolver* solver)\n{\n\treturn new NvFlexExtForceFieldCallback(solver);\t\n}\n\nvoid NvFlexExtDestroyForceFieldCallback(NvFlexExtForceFieldCallback* callback)\n{\n\tdelete callback;\n}\n\nvoid ApplyForceFieldsCallback(NvFlexSolverCallbackParams params)\n{\n\t// callbacks always have the correct CUDA device set so we can safely launch kernels without acquiring\n\n\tNvFlexExtForceFieldCallback* c = (NvFlexExtForceFieldCallback*)params.userData;\n\n\tif (params.numActive && c->mNumForceFields)\n\t{\n\t\tconst unsigned int numThreadsPerBlock = 256;\n\t\tconst unsigned int kNumBlocks = (params.numActive + numThreadsPerBlock - 1) / numThreadsPerBlock;\n\n\t\tNvFlex::Buffer* particles = (NvFlex::Buffer*)params.particles;\n\t\tNvFlex::Buffer* velocities = (NvFlex::Buffer*)params.velocities;\n\n\t\t// Init constant buffer\n\t\t{\n\t\t\tFlexExtConstParams constBuffer;\n\n\t\t\tconstBuffer.kNumParticles = params.numActive;\n\t\t\tconstBuffer.kNumForceFields = c->mNumForceFields;\n\t\t\tconstBuffer.kDt = params.dt;\n\n\t\t\tmemcpy(c->mContext->map(c->mConstantBuffer), &constBuffer, sizeof(FlexExtConstParams));\n\t\t\tc->mContext->unmap(c->mConstantBuffer);\n\t\t}\n\n\t\t{\n\t\t\tNvFlex::DispatchParams params = {};\n\t\t\tparams.shader = c->mShaderUpdateForceFields;\n\t\t\tparams.readWrite[0] = velocities->getResourceRW();\n\t\t\tparams.readOnly[0] = particles->getResource();\n\t\t\tparams.readOnly[1] = c->mForceFieldsGpu->getResource();\n\t\t\tparams.gridDim = { kNumBlocks , 1, 1 };\n\t\t\tparams.rootConstantBuffer = c->mConstantBuffer;\n\n\t\t\tc->mContext->dispatch(&params);\n\t\t}\n\t}\n}\n\nvoid NvFlexExtSetForceFields(NvFlexExtForceFieldCallback* c, const NvFlexExtForceField* forceFields, int numForceFields)\n{\n\t// re-alloc if necessary\n\tif (numForceFields > c->mMaxForceFields)\n\t{\n\t\tdelete c->mForceFieldsGpu;\n\n\t\tNvFlex::BufferDesc desc {};\n\t\tdesc.dim = numForceFields;\n\t\tdesc.stride = sizeof(NvFlexExtForceField);\n\t\tdesc.bufferType = NvFlex::eBuffer | NvFlex::eUAV_SRV | NvFlex::eStructured | NvFlex::eStage; \n\t\tdesc.format = NvFlexFormat::eNvFlexFormat_unknown;\n\t\tdesc.data = NULL;\n\t\n\t\tc->mForceFieldsGpu = c->mContext->createBuffer(&desc);\n\n\t\tc->mMaxForceFields = numForceFields;\n\t}\n\tc->mNumForceFields = numForceFields;\n\n\tif (numForceFields > 0)\n\t{\n\t\t// update staging buffer\n\t\tvoid* dstPtr = c->mContext->map(c->mForceFieldsGpu, NvFlex::eMapWrite);\n\t\tmemcpy(dstPtr, forceFields, numForceFields*sizeof(NvFlexExtForceField));\n\t\tc->mContext->unmap(c->mForceFieldsGpu);\n\n\t\t// upload to device buffer\n\t\tc->mContext->upload(c->mForceFieldsGpu, 0, numForceFields*sizeof(NvFlexExtForceField));\n\n\t}\n\n\tNvFlexSolverCallback callback;\n\tcallback.function = ApplyForceFieldsCallback;\n\tcallback.userData = c;\n\n\t// register a callback to calculate the forces at the end of the time-step\n\tNvFlexRegisterSolverCallback(c->mSolver, callback, eNvFlexStageUpdateEnd);\n}\n"
  },
  {
    "path": "extensions/dx/flexExt.hlsl",
    "content": "// This code contains NVIDIA Confidential Information and is disclosed to you\n// under a form of NVIDIA software license agreement provided separately to you.\n//\n// Notice\n// NVIDIA Corporation and its licensors retain all intellectual property and\n// proprietary rights in and to this software and related documentation and\n// any modifications thereto. Any use, reproduction, disclosure, or\n// distribution of this software and related documentation without an express\n// license agreement from NVIDIA Corporation is strictly prohibited.\n//\n// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED \"AS IS.\". NVIDIA MAKES\n// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO\n// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,\n// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.\n//\n// Information and code furnished is believed to be accurate and reliable.\n// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such\n// information or for any infringement of patents or other rights of third parties that may\n// result from its use. No license is granted by implication or otherwise under any patent\n// or patent rights of NVIDIA Corporation. Details are subject to change without notice.\n// This code supersedes and replaces all information previously supplied.\n// NVIDIA Corporation products are not authorized for use as critical\n// components in life support devices or systems without express written approval of\n// NVIDIA Corporation.\n//\n// Copyright (c) 2013-2020 NVIDIA Corporation. All rights reserved.\n\n#include \"flexExt_dx_common.h\"\n\n#define kNumThreadsPerBlock 256\n\ncbuffer consts : register(b0) { FlexExtConstParams gParams; };\n\nnamespace UpdateForceFields\n{\n\tStructuredBuffer<float4> positions : register(t0);\n\tStructuredBuffer<FlexExtForceFieldD3D> forceFields : register(t1);\n\n\tRWStructuredBuffer<float4> velocities : register(u0);\n\n\t[numthreads(kNumThreadsPerBlock, 1, 1)] void execute(uint3 globalIdx : SV_DispatchThreadID)\n\t{\n\t\tconst int i = globalIdx.x;\n\t\tconst int numParticles = gParams.kNumParticles;\n\t\tconst int numForceFields = gParams.kNumForceFields;\n\t\tconst float dt = gParams.kDt;\n\t\t\n\t\tfor (int f = 0; f < numForceFields; f++)\n\t\t{\n\t\t\tconst FlexExtForceFieldD3D forceField = forceFields[f];\n\t\t\t\n\t\t\tif (i < numParticles)\n\t\t\t{\n\t\t\t\tconst int index = i;\n\t\t\t\t\n\t\t\t\tfloat4 p = positions[index];\n\t\t\t\tfloat3 v = velocities[index].xyz;\n\t\t\t\t\n\t\t\t\tfloat3 localPos = float3(p.x, p.y, p.z) - float3(forceField.mPosition[0], forceField.mPosition[1], forceField.mPosition[2]);\n\n\t\t\t\tfloat dist = length(localPos);\n\t\t\t\tif (dist >= forceField.mRadius)\n\t\t\t\t{\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tfloat3 fieldDir;\n\t\t\t\tif (dist > 0.0f)\n\t\t\t\t{\n\t\t\t\t\tfieldDir = localPos / dist;\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tfieldDir = localPos;\n\t\t\t\t}\n\n\t\t\t\t// If using linear falloff, scale with distance.\n\t\t\t\tfloat fieldStrength = forceField.mStrength;\n\t\t\t\tif (forceField.mLinearFalloff)\n\t\t\t\t{\n\t\t\t\t\tfieldStrength *= (1.0f - (dist / forceField.mRadius));\n\t\t\t\t}\n\n\t\t\t\t// Apply force\n\t\t\t\tfloat3 force = localPos * fieldStrength;\n\n\t\t\t\tfloat unitMultiplier;\n\t\t\t\tif (forceField.mMode == eNvFlexExtModeForce)\n\t\t\t\t{\n\t\t\t\t\tunitMultiplier = dt * p.w; // time/mass\n\t\t\t\t}\n\t\t\t\telse if (forceField.mMode == eNvFlexExtModeImpulse)\n\t\t\t\t{\n\t\t\t\t\tunitMultiplier = p.w; // 1/mass\n\t\t\t\t}\n\t\t\t\telse if (forceField.mMode == eNvFlexExtModeVelocityChange)\n\t\t\t\t{\n\t\t\t\t\tunitMultiplier = 1.0f;\n\t\t\t\t}\n\n\t\t\t\tfloat3 deltaVelocity = fieldDir * fieldStrength * unitMultiplier;\n\t\t\t\tvelocities[index] = float4(v + deltaVelocity, 0.0f);\n\t\t\t}\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "extensions/dx/flexExt_dx_common.h",
    "content": "// This code contains NVIDIA Confidential Information and is disclosed to you\n// under a form of NVIDIA software license agreement provided separately to you.\n//\n// Notice\n// NVIDIA Corporation and its licensors retain all intellectual property and\n// proprietary rights in and to this software and related documentation and\n// any modifications thereto. Any use, reproduction, disclosure, or\n// distribution of this software and related documentation without an express\n// license agreement from NVIDIA Corporation is strictly prohibited.\n//\n// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED \"AS IS.\". NVIDIA MAKES\n// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO\n// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,\n// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.\n//\n// Information and code furnished is believed to be accurate and reliable.\n// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such\n// information or for any infringement of patents or other rights of third parties that may\n// result from its use. No license is granted by implication or otherwise under any patent\n// or patent rights of NVIDIA Corporation. Details are subject to change without notice.\n// This code supersedes and replaces all information previously supplied.\n// NVIDIA Corporation products are not authorized for use as critical\n// components in life support devices or systems without express written approval of\n// NVIDIA Corporation.\n//\n// Copyright (c) 2013-2020 NVIDIA Corporation. All rights reserved.\n\n#ifndef FLEXEXT_DX_COMMON_H\n#define FLEXEXT_DX_COMMON_H\n\n#ifdef WIN32\n#pragma pack(push)\n#pragma pack(16)\n#endif\n\nstruct FlexExtConstParams\n{\n\tint kNumParticles;\n\tint kNumForceFields;\n\tfloat kDt;\n\tfloat _pad;\n};\n\n#ifdef WIN32\n#pragma pack(pop)\n#endif\n\n// enum FlexForceExtMode\n#define eNvFlexExtModeForce\t\t\t0\n#define eNvFlexExtModeImpulse\t\t\t1\n#define eNvFlexExtModeVelocityChange\t2\n\n/**\n* Force field data, currently just supports radial fields\n*/\nstruct FlexExtForceFieldD3D\n{\n\tfloat mPosition[3];\t\t//!< Center of force field\n\tfloat mRadius;\t\t\t//!< Radius of the force field\n\tfloat mStrength;\t\t//!< Strength of the force field\n\tint mMode;\t\t\t\t//!< Mode of field application\n\tbool mLinearFalloff;\t//!< Linear or no falloff \n};\n\n#endif\t// FLEXEXT_DX_COMMON_H\n"
  },
  {
    "path": "extensions/dx/shaders/flexExt.UpdateForceFields.hlsl",
    "content": "// This code contains NVIDIA Confidential Information and is disclosed to you\n// under a form of NVIDIA software license agreement provided separately to you.\n//\n// Notice\n// NVIDIA Corporation and its licensors retain all intellectual property and\n// proprietary rights in and to this software and related documentation and\n// any modifications thereto. Any use, reproduction, disclosure, or\n// distribution of this software and related documentation without an express\n// license agreement from NVIDIA Corporation is strictly prohibited.\n//\n// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED \"AS IS.\". NVIDIA MAKES\n// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO\n// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,\n// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.\n//\n// Information and code furnished is believed to be accurate and reliable.\n// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such\n// information or for any infringement of patents or other rights of third parties that may\n// result from its use. No license is granted by implication or otherwise under any patent\n// or patent rights of NVIDIA Corporation. Details are subject to change without notice.\n// This code supersedes and replaces all information previously supplied.\n// NVIDIA Corporation products are not authorized for use as critical\n// components in life support devices or systems without express written approval of\n// NVIDIA Corporation.\n//\n// Copyright (c) 2013-2020 NVIDIA Corporation. All rights reserved.\n\n#include \"../flexExt.hlsl\"\n"
  },
  {
    "path": "extensions/flexExtCloth.cpp",
    "content": "// This code contains NVIDIA Confidential Information and is disclosed to you\n// under a form of NVIDIA software license agreement provided separately to you.\n//\n// Notice\n// NVIDIA Corporation and its licensors retain all intellectual property and\n// proprietary rights in and to this software and related documentation and\n// any modifications thereto. Any use, reproduction, disclosure, or\n// distribution of this software and related documentation without an express\n// license agreement from NVIDIA Corporation is strictly prohibited.\n//\n// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED \"AS IS.\". NVIDIA MAKES\n// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO\n// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,\n// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.\n//\n// Information and code furnished is believed to be accurate and reliable.\n// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such\n// information or for any infringement of patents or other rights of third parties that may\n// result from its use. No license is granted by implication or otherwise under any patent\n// or patent rights of NVIDIA Corporation. Details are subject to change without notice.\n// This code supersedes and replaces all information previously supplied.\n// NVIDIA Corporation products are not authorized for use as critical\n// components in life support devices or systems without express written approval of\n// NVIDIA Corporation.\n//\n// Copyright (c) 2013-2020 NVIDIA Corporation. All rights reserved.\n\n#include \"../include/NvFlexExt.h\"\n\n#include \"../core/cloth.h\"\n\nnamespace\n{\n\tstruct Key\n\t{\n\t\tKey(int i, float d) : index(i), depth(d) {}\n\n\t\tint index;\n\t\tfloat depth;\n\t\t\n\t\tbool operator < (const Key& rhs) const { return depth < rhs.depth; }\n\t};\n}\n\nint NvFlexExtCreateWeldedMeshIndices(const float* vertices, int numVertices, int* uniqueIndices, int* originalToUniqueMap, float threshold)\n{\n\tmemset(originalToUniqueMap, -1, numVertices*sizeof(int));\n\n\tconst Vec3* positions = (const Vec3*)vertices;\n\n\t// use a sweep and prune style search to accelerate neighbor finding\n\tstd::vector<Key> keys;\n\tfor (int i=0; i < numVertices; i++)\n\t\tkeys.push_back(Key(i, positions[i].z));\n\n\tstd::sort(keys.begin(), keys.end());\n\n\tint uniqueCount = 0;\n\n\t// sweep keys to find matching verts\n\tfor (int i=0; i < numVertices; ++i)\n\t{\n\t\t// we are a duplicate, skip\n\t\tif (originalToUniqueMap[keys[i].index] != -1)\n\t\t\tcontinue;\n\n\t\t// scan forward until no vertex can be closer than threshold\n\t\tfor (int j=i+1; j < numVertices && (keys[j].depth-keys[i].depth) <= threshold; ++j)\n\t\t{\n\t\t\tfloat distance = Length(Vector3(positions[keys[i].index])-Vector3(positions[keys[j].index]));\n\n\t\t\tif (distance <= threshold)\n\t\t\t\toriginalToUniqueMap[keys[j].index] = uniqueCount;\n\t\t}\n\n\t\toriginalToUniqueMap[keys[i].index] = uniqueCount;\n\n\t\tuniqueIndices[uniqueCount++] = keys[i].index;\n\t}\n\n\treturn uniqueCount;\n}\n\nNvFlexExtAsset* NvFlexExtCreateClothFromMesh(const float* particles, int numVertices, const int* indices, int numTriangles, float stretchStiffness, float bendStiffness, float tetherStiffness, float tetherGive, float pressure)\n{\n\tNvFlexExtAsset* asset = new NvFlexExtAsset();\n\tmemset(asset, 0, sizeof(*asset));\n\n\tasset->particles = new float[numVertices*4];\n\tmemcpy(asset->particles, particles, numVertices*sizeof(float)*4);\t\n\n\tasset->triangleIndices = new int[numTriangles*3];\n\tmemcpy(asset->triangleIndices, indices, numTriangles*3*sizeof(int));\n\n\tasset->numParticles = numVertices;\n\tasset->maxParticles = numVertices;\n\n\tasset->numTriangles = numTriangles;\n\n\t// create cloth mesh\n\tClothMesh cloth((Vec4*)particles, numVertices, indices, numTriangles*3, stretchStiffness, bendStiffness, true);\n\n\tif (cloth.mValid)\n\t{\n\t\t// create tethers\n\t\tif (tetherStiffness > 0.0f)\n\t\t{\n\t\t\tstd::vector<int> anchors;\n\t\t\tanchors.reserve(numVertices);\n\n\t\t\t// find anchors\n\t\t\tfor (int i=0; i < numVertices; ++i)\n\t\t\t{\n\t\t\t\tVec4& particle = ((Vec4*)particles)[i];\n\n\t\t\t\tif (particle.w == 0.0f)\n\t\t\t\t\tanchors.push_back(i);\n\t\t\t}\n\n\t\t\tif (anchors.size())\n\t\t\t{\n\t\t\t\t// create tethers\n\t\t\t\tfor (int i=0; i < numVertices; ++i)\n\t\t\t\t{\n\t\t\t\t\tVec4& particle = ((Vec4*)particles)[i];\n\t\t\t\t\tif (particle.w == 0.0f)\n\t\t\t\t\t\tcontinue;\n\n\t\t\t\t\tfloat minSqrDist = FLT_MAX;\n\t\t\t\t\tint minIndex = -1;\n\n\t\t\t\t\t// find the closest attachment point\n\t\t\t\t\tfor (int a=0; a < int(anchors.size()); ++a)\n\t\t\t\t\t{\n\t\t\t\t\t\tVec4& attachment = ((Vec4*)particles)[anchors[a]];\n\n\t\t\t\t\t\tfloat distSqr = LengthSq(Vec3(particle)-Vec3(attachment));\n\t\t\t\t\t\tif (distSqr < minSqrDist)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tminSqrDist = distSqr;\n\t\t\t\t\t\t\tminIndex = anchors[a];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// add a tether\n\t\t\t\t\tif (minIndex != -1)\n\t\t\t\t\t{\t\t\t\t\t\t\n\t\t\t\t\t\tcloth.mConstraintIndices.push_back(i);\n\t\t\t\t\t\tcloth.mConstraintIndices.push_back(minIndex);\n\t\t\t\t\t\tcloth.mConstraintRestLengths.push_back(sqrtf(minSqrDist)*(1.0f + tetherGive));\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t// negative stiffness indicates tether (unilateral constraint)\n\t\t\t\t\t\tcloth.mConstraintCoefficients.push_back(-tetherStiffness);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tconst int numSprings = int(cloth.mConstraintCoefficients.size());\n\n\t\tasset->springIndices = new int[numSprings*2];\n\t\tasset->springCoefficients = new float[numSprings];\n\t\tasset->springRestLengths = new float[numSprings];\n\t\tasset->numSprings = numSprings;\n\n\t\tfor (int i=0; i < numSprings; ++i)\n\t\t{\n\t\t\tasset->springIndices[i*2+0] = cloth.mConstraintIndices[i*2+0];\n\t\t\tasset->springIndices[i*2+1] = cloth.mConstraintIndices[i*2+1];\t\t\t\n\t\t\tasset->springRestLengths[i] = cloth.mConstraintRestLengths[i];\n\t\t\tasset->springCoefficients[i] = cloth.mConstraintCoefficients[i];\n\t\t}\n\n\t\tif (pressure > 0.0f)\n\t\t{\n\t\t\tasset->inflatable = true;\n\t\t\tasset->inflatableVolume = cloth.mRestVolume;\n\t\t\tasset->inflatableStiffness = cloth.mConstraintScale;\n\t\t\tasset->inflatablePressure = pressure;\n\t\t}\n\t}\n\telse\n\t{\n\t\tNvFlexExtDestroyAsset(asset);\n\t\treturn NULL;\n\t}\n\n\treturn asset;\n}\n\nstruct FlexExtTearingClothAsset : public NvFlexExtAsset\n{\n\tClothMesh* mMesh;\n};\n\nNvFlexExtAsset* NvFlexExtCreateTearingClothFromMesh(const float* particles, int numParticles, int maxParticles, const int* indices, int numTriangles, float stretchStiffness, float bendStiffness, float pressure)\n{\n\tFlexExtTearingClothAsset* asset = new FlexExtTearingClothAsset();\n\tmemset(asset, 0, sizeof(*asset));\n\n\tasset->particles = new float[maxParticles*4];\n\tmemcpy(asset->particles, particles, numParticles*sizeof(float)*4);\t\n\n\tasset->triangleIndices = new int[numTriangles*3];\n\tmemcpy(asset->triangleIndices, indices, numTriangles*3*sizeof(int));\n\n\tasset->numParticles = numParticles;\n\tasset->maxParticles = maxParticles;\n\n\tasset->numTriangles = numTriangles;\n\t\n\t// create and store cloth mesh\n\tasset->mMesh = new ClothMesh((Vec4*)particles, numParticles, indices, numTriangles*3, stretchStiffness, bendStiffness, true);\n\t\n\tClothMesh& cloth = *asset->mMesh;\n\n\tif (cloth.mValid)\n\t{\n\t\tconst int numSprings = int(cloth.mConstraintCoefficients.size());\n\n\t\t// asset references cloth mesh memory directly\n\t\tasset->springIndices = &cloth.mConstraintIndices[0];\n\t\tasset->springCoefficients = &cloth.mConstraintCoefficients[0];\n\t\tasset->springRestLengths = &cloth.mConstraintRestLengths[0];\n\t\tasset->numSprings = numSprings;\n\n\t\tif (pressure > 0.0f)\n\t\t{\n\t\t\tasset->inflatable = true;\n\t\t\tasset->inflatableVolume = cloth.mRestVolume;\n\t\t\tasset->inflatableStiffness = cloth.mConstraintScale;\n\t\t\tasset->inflatablePressure = pressure;\n\t\t}\n\t}\n\telse\n\t{\n\t\tNvFlexExtDestroyAsset(asset);\n\t\treturn NULL;\n\t}\n\n\treturn asset;\n\n}\n\nvoid NvFlexExtDestroyTearingCloth(NvFlexExtAsset* asset)\n{\n\tFlexExtTearingClothAsset* tearable = (FlexExtTearingClothAsset*)asset;\n\n\tdelete[] asset->particles;\n\tdelete[] asset->triangleIndices;\n\n\tdelete tearable->mMesh;\n\tdelete tearable;\n}\n\nvoid NvFlexExtTearClothMesh(NvFlexExtAsset* asset, float maxStrain, int maxSplits, NvFlexExtTearingParticleClone* particleCopies, int* numParticleCopies,  int maxCopies, NvFlexExtTearingMeshEdit* triangleEdits, int* numTriangleEdits, int maxEdits) \n{\n\tFlexExtTearingClothAsset* tearable = (FlexExtTearingClothAsset*)asset;\n\t\n\tstd::vector<ClothMesh::TriangleUpdate> edits;\n\tstd::vector<ClothMesh::VertexCopy> copies;\n\n\tint splits = 0;\n\n\tmaxCopies = Min(maxCopies, tearable->maxParticles-tearable->numParticles);\n\n\t// iterate over all edges and tear if beyond maximum strain\n\tfor (int i=0; i < tearable->numSprings && int(copies.size()) < maxCopies && splits < maxSplits; ++i)\n\t{\n\t\tint a = tearable->springIndices[i*2+0];\n\t\tint b = tearable->springIndices[i*2+1];\n\n\t\tVec3 p = Vec3(&tearable->particles[a*4]);\n\t\tVec3 q = Vec3(&tearable->particles[b*4]);\n\n\t\t// check strain and break if greater than max threshold\n\t\tif (Length(p-q) > tearable->springRestLengths[i]*maxStrain)\n\t\t{\n\t\t\t// skip fixed particles\n\t\t\tif (Vec4(&tearable->particles[a*4]).w == 0.0f)\n\t\t\t\tcontinue;\n\n\t\t\tif (Vec4(&tearable->particles[b*4]).w == 0.0f)\n\t\t\t\tcontinue;\n\n\t\t\t// choose vertex of edge to split\n\t\t\tconst int splitIndex = Randf() > 0.5f ? a : b;\n\t\t\tconst Vec3 splitPlane = Normalize(p-q);\t// todo: use plane perpendicular to normal and edge..\n\n\t\t\tstd::vector<int> adjacentTriangles;\n\t\t\tstd::vector<int> adjacentVertices;\n\n\t\t\tconst int newIndex = tearable->mMesh->SplitVertex((Vec4*)tearable->particles, splitIndex, splitPlane, adjacentTriangles, adjacentVertices, edits, copies, maxCopies-int(copies.size()));\n\n\t\t\tif (newIndex != -1)\n\t\t\t{\n\t\t\t\t++splits;\n\n\t\t\t\t// separate each adjacent vertex if it is now singular\n\t\t\t\tfor (int s=0; s < int(adjacentVertices.size()); ++s)\n\t\t\t\t{\n\t\t\t\t\tconst int adjacentVertex = adjacentVertices[s];\n\n\t\t\t\t\ttearable->mMesh->SeparateVertex(adjacentVertex, edits, copies, maxCopies-int(copies.size()));\n\t\t\t\t}\n\n\t\t\t\t// also test the new vertex which can become singular\n\t\t\t\ttearable->mMesh->SeparateVertex(newIndex, edits, copies, maxCopies-int(copies.size()));\n\t\t\t}\n\t\t}\n\t}\n\n\t// update asset particle count\n\ttearable->numParticles = tearable->mMesh->mNumVertices;\n\n\t// output copies\n\tfor (int c=0; c < int(copies.size()); ++c)\n\t{\n\t\tNvFlexExtTearingParticleClone clone;\n\t\tclone.srcIndex = copies[c].srcIndex;\n\t\tclone.destIndex = copies[c].destIndex;\n\n\t\tparticleCopies[c] = clone;\n\t}\n\n\t// output mesh edits, note that some edits will not be reported if edit buffer is not big enough\n\tconst int numEdits = Min(int(edits.size()), maxEdits);\n\n\tfor (int u=0; u < numEdits; ++u)\n\t{\n\t\tNvFlexExtTearingMeshEdit update;\n\t\tupdate.triIndex = edits[u].triangle;\n\t\tupdate.newParticleIndex = edits[u].vertex;\n\n\t\ttearable->triangleIndices[update.triIndex] = update.newParticleIndex;\n\n\t\ttriangleEdits[u] = update;\n\t}\n\n\n\t*numTriangleEdits = numEdits;\n\t*numParticleCopies = int(copies.size());\n}\n"
  },
  {
    "path": "extensions/flexExtContainer.cpp",
    "content": "// This code contains NVIDIA Confidential Information and is disclosed to you\n// under a form of NVIDIA software license agreement provided separately to you.\n//\n// Notice\n// NVIDIA Corporation and its licensors retain all intellectual property and\n// proprietary rights in and to this software and related documentation and\n// any modifications thereto. Any use, reproduction, disclosure, or\n// distribution of this software and related documentation without an express\n// license agreement from NVIDIA Corporation is strictly prohibited.\n//\n// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED \"AS IS.\". NVIDIA MAKES\n// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO\n// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,\n// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.\n//\n// Information and code furnished is believed to be accurate and reliable.\n// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such\n// information or for any infringement of patents or other rights of third parties that may\n// result from its use. No license is granted by implication or otherwise under any patent\n// or patent rights of NVIDIA Corporation. Details are subject to change without notice.\n// This code supersedes and replaces all information previously supplied.\n// NVIDIA Corporation products are not authorized for use as critical\n// components in life support devices or systems without express written approval of\n// NVIDIA Corporation.\n//\n// Copyright (c) 2013-2020 NVIDIA Corporation. All rights reserved.\n\n#include <vector>\n#include <limits>\n#include <algorithm>\n\n#include \"../core/core.h\"\n#include \"../core/maths.h\"\n\n#include \"../include/NvFlex.h\"\n#include \"../include/NvFlexExt.h\"\n\nclass Bitmap\n{\npublic:\n\n\ttypedef unsigned int Word;\n\n\tstatic const int kWordSize = sizeof(Word)*8;\n\n\tBitmap(int numBits) : mBits((numBits+kWordSize-1)/kWordSize)\n\t{\n\t}\n\n\tinline void Set(int bit)\n\t{\n\t\tconst int wordIndex = bit/kWordSize;\n\t\tconst int bitIndex = bit&(kWordSize-1);\n\n\t\tconst Word word = mBits[wordIndex];\n\n\t\tmBits[wordIndex] = word|(1<<bitIndex);\n\t}\n\n\tinline void Reset(int bit)\n\t{\n\t\tconst int wordIndex = bit/kWordSize;\n\t\tconst int bitIndex = bit&(kWordSize-1);\n\n\t\tconst Word word = mBits[wordIndex];\n\n\t\tmBits[wordIndex] = word&~(1<<bitIndex);\n\t}\n\n\tinline bool IsSet(int bit)\n\t{\n\t\tconst int wordIndex = bit/kWordSize;\n\t\tconst int bitIndex = bit&(kWordSize-1);\n\n\t\tconst Word word = mBits[wordIndex];\n\n\t\treturn (word & (1<<bitIndex)) != 0;\n\t}\n\nprivate:\n\n\tstd::vector<Word> mBits;\n};\n\n\nstruct NvFlexExtContainer\n{\n\tint mMaxParticles;\n\t\n\tNvFlexSolver* mSolver;\n\tNvFlexLibrary* mFlexLib;\n\n\t// first n indices \n\tNvFlexVector<int> mActiveList;\n\t\n\tstd::vector<int> mFreeList;\n\tstd::vector<NvFlexExtInstance*> mInstances;\n\n\tstd::vector<NvFlexExtSoftJoint*> mSoftJoints;\n\n\t// particles\n\tNvFlexVector<Vec4> mParticles;\n\tNvFlexVector<Vec4> mParticlesRest;\n\tNvFlexVector<Vec3> mVelocities;\n\tNvFlexVector<int> mPhases;\n\tNvFlexVector<Vec4> mNormals;\t\n\n\t// shapes\n\tNvFlexVector<int> mShapeOffsets;\n\tNvFlexVector<int> mShapeIndices;\n\tNvFlexVector<float> mShapeCoefficients;\n\tNvFlexVector<float> mShapePlasticThresholds;\n\tNvFlexVector<float> mShapePlasticCreeps;\n\tNvFlexVector<Quat> mShapeRotations;\n\tNvFlexVector<Vec3> mShapeTranslations;\n\tNvFlexVector<Vec3> mShapeRestPositions;\n\n\t// springs\n\tNvFlexVector<int> mSpringIndices;\n\tNvFlexVector<float> mSpringLengths;\n\tNvFlexVector<float> mSpringCoefficients;\n\n\t// cloth\n\tNvFlexVector<int> mTriangleIndices;\n\tNvFlexVector<Vec3> mTriangleNormals;\t\n\n\tNvFlexVector<int> mInflatableStarts;\n\tNvFlexVector<int> mInflatableCounts;\t\n\tNvFlexVector<float> mInflatableRestVolumes;\n\tNvFlexVector<float> mInflatableCoefficients;\n\tNvFlexVector<float> mInflatableOverPressures;\n\n\t// bounds (CPU), stored in a vector to ensure transfers can happen asynchronously\n\tNvFlexVector<Vec3> mBoundsLower;\n\tNvFlexVector<Vec3> mBoundsUpper;\n\n\t// needs compact\n\tbool mNeedsCompact;\n\t// needs to update active list\n\tbool mNeedsActiveListRebuild;\n\n\tNvFlexExtContainer(NvFlexLibrary* l) :\n\t\tmMaxParticles(0), mSolver(NULL), mFlexLib(l),\n\t\tmActiveList(l),mParticles(l),mParticlesRest(l),mVelocities(l),\n\t\tmPhases(l),mNormals(l),mShapeOffsets(l),mShapeIndices(l),\n\t\tmShapeCoefficients(l),mShapePlasticThresholds(l),\n\t\tmShapePlasticCreeps(l),mShapeRotations(l),mShapeTranslations(l),\n\t\tmShapeRestPositions(l),mSpringIndices(l),mSpringLengths(l),\n\t\tmSpringCoefficients(l),mTriangleIndices(l),mTriangleNormals(l),\n\t\tmInflatableStarts(l),mInflatableCounts(l),mInflatableRestVolumes(l),\n\t\tmInflatableCoefficients(l),mInflatableOverPressures(l), mBoundsLower(l), mBoundsUpper(l),\n\t\tmNeedsCompact(false), mNeedsActiveListRebuild(false)\n\t{}\n};\n\n\n\nnamespace\n{\n\n// compacts all constraints into linear arrays\nvoid CompactObjects(NvFlexExtContainer* c)\n{\n\tint totalNumSprings = 0;\n\tint totalNumTris = 0;\n\tint totalNumShapes = 0;\n\tint totalNumShapeIndices = 0;\n\n\tbool plasticDeformation = false;\n\n\t// pre-calculate array sizes\n\tfor (size_t i = 0; i < c->mInstances.size(); ++i)\n\t{\n\t\tNvFlexExtInstance* inst = c->mInstances[i];\n\n\t\tconst NvFlexExtAsset* asset = inst->asset;\n\n\t\t// index into the triangle array for this instance\n\t\tinst->triangleIndex = totalNumTris;\n\n\t\ttotalNumSprings += asset->numSprings;\n\t\ttotalNumTris += asset->numTriangles;\n\n\t\ttotalNumShapeIndices += asset->numShapeIndices;\n\t\ttotalNumShapes += asset->numShapes;\n\n\t\tif (asset->shapePlasticThresholds && asset->shapePlasticCreeps)\n\t\t{ \n\t\t\tplasticDeformation = true;\n\t\t}\n\t}\n\n\t// each joint corresponds to one shape matching constraint\n\tfor (size_t i = 0; i < c->mSoftJoints.size(); ++i)\n\t{\n\t\tconst NvFlexExtSoftJoint* joint = c->mSoftJoints[i];\n\n\t\ttotalNumShapeIndices += joint->numParticles;\n\t\t++totalNumShapes;\n\t}\n\n\t//----------------------\n\t// map buffers\n\n\t// springs\n\tc->mSpringIndices.map();\n\tc->mSpringLengths.map();\n\tc->mSpringCoefficients.map();\n\n\t// cloth\n\tc->mTriangleIndices.map();\n\tc->mTriangleNormals.map();\n\n\t// inflatables\n\tc->mInflatableStarts.map();\n\tc->mInflatableCounts.map();\n\tc->mInflatableRestVolumes.map();\n\tc->mInflatableCoefficients.map();\n\tc->mInflatableOverPressures.map();\n\n\t// shapes\n\tc->mShapeIndices.map();\n\tc->mShapeRestPositions.map();\n\tc->mShapeOffsets.map();\n\tc->mShapeCoefficients.map();\n\n\tc->mShapePlasticThresholds.map();\n\tc->mShapePlasticCreeps.map();\n\n\tc->mShapeTranslations.map();\n\tc->mShapeRotations.map();\n\n\t//----------------------\n\t// resize buffers\n\n\t// springs\n\tc->mSpringIndices.resize(totalNumSprings * 2);\n\tc->mSpringLengths.resize(totalNumSprings);\n\tc->mSpringCoefficients.resize(totalNumSprings);\n\n\t// cloth\n\tc->mTriangleIndices.resize(totalNumTris * 3);\n\tc->mTriangleNormals.resize(totalNumTris);\n\n\t// inflatables\n\tc->mInflatableStarts.resize(0);\n\tc->mInflatableCounts.resize(0);\n\tc->mInflatableRestVolumes.resize(0);\n\tc->mInflatableCoefficients.resize(0);\n\tc->mInflatableOverPressures.resize(0);\n\n\t// shapes\n\tc->mShapeIndices.resize(totalNumShapeIndices);\n\tc->mShapeRestPositions.resize(totalNumShapeIndices);\n\tc->mShapeOffsets.resize(1 + totalNumShapes);\n\tc->mShapeCoefficients.resize(totalNumShapes);\n\n\tif (plasticDeformation) \n\t{\n\t\tc->mShapePlasticThresholds.resize(totalNumShapes);\n\t\tc->mShapePlasticCreeps.resize(totalNumShapes);\n\t}\n\telse\n\t{\n\t\tc->mShapePlasticThresholds.resize(0);\n\t\tc->mShapePlasticCreeps.resize(0);\n\t}\n\n\tc->mShapeTranslations.resize(totalNumShapes);\n\tc->mShapeRotations.resize(totalNumShapes);\n\n\tint* __restrict dstSpringIndices = (totalNumSprings) ? &c->mSpringIndices[0] : NULL;\n\tfloat* __restrict dstSpringLengths = (totalNumSprings) ? &c->mSpringLengths[0] : NULL;\n\tfloat* __restrict dstSpringCoefficients = (totalNumSprings) ? &c->mSpringCoefficients[0] : NULL;\n\n\tint* __restrict dstTriangleIndices = (totalNumTris) ? &c->mTriangleIndices[0] : NULL;\n\n\tint* __restrict dstShapeIndices = (totalNumShapeIndices) ? &c->mShapeIndices[0] : NULL;\n\tVec3* __restrict dstShapeRestPositions = (totalNumShapeIndices) ? &c->mShapeRestPositions[0] : NULL;\n\tint* __restrict dstShapeOffsets = (totalNumShapes) ? &c->mShapeOffsets[0] : NULL;\n\tfloat* __restrict dstShapeCoefficients = (totalNumShapes) ? &c->mShapeCoefficients[0] : NULL;\n\tfloat* __restrict dstShapePlasticThresholds = NULL;\n\tfloat* __restrict dstShapePlasticCreeps = NULL;\n\tif (plasticDeformation)\n\t{\n\t\tdstShapePlasticThresholds = (totalNumShapes) ? &c->mShapePlasticThresholds[0] : NULL;\n\t\tdstShapePlasticCreeps = (totalNumShapes) ? &c->mShapePlasticCreeps[0] : NULL;\n\t}\n\tVec3* __restrict dstShapeTranslations = (totalNumShapes) ? &c->mShapeTranslations[0] : NULL;\n\tQuat* __restrict dstShapeRotations = (totalNumShapes) ? &c->mShapeRotations[0] : NULL;\n\n\t// push leading zero if necessary\n\tif (totalNumShapes != 0)\n\t{\n\t\t*dstShapeOffsets = 0;\n\t\t++dstShapeOffsets;\n\t}\n\n\tint shapeIndexOffset = 0;\n\tint shapeIndex = 0;\n\n\t// go through each instance and update springs, shapes, etc\n\tfor (size_t i = 0; i < c->mInstances.size(); ++i)\n\t{\n\t\tNvFlexExtInstance* inst = c->mInstances[i];\n\n\t\tconst NvFlexExtAsset* asset = inst->asset;\n\n\t\t// map indices from the asset to the instance\n\t\tconst int* __restrict remap = &inst->particleIndices[0];\n\n\t\t// flatten spring data\n\t\tint numSprings = asset->numSprings;\n\t\tconst int numSpringIndices = asset->numSprings * 2;\n\t\tconst int* __restrict srcSpringIndices = asset->springIndices;\n\n\t\tfor (int i = 0; i < numSpringIndices; ++i)\n\t\t{\n\t\t\t*dstSpringIndices = remap[*srcSpringIndices];\n\n\t\t\t++dstSpringIndices;\n\t\t\t++srcSpringIndices;\n\t\t}\n\n\t\tmemcpy(dstSpringLengths, asset->springRestLengths, numSprings*sizeof(float));\n\t\tmemcpy(dstSpringCoefficients, asset->springCoefficients, numSprings*sizeof(float));\n\n\t\tdstSpringLengths += numSprings;\n\t\tdstSpringCoefficients += numSprings;\n\n\t\t// shapes\n\t\tif (asset->numShapes)\n\t\t{\n\t\t\tconst int indexOffset = shapeIndexOffset;\n\n\t\t\t// store start index into shape array\n\t\t\tinst->shapeIndex = shapeIndex;\n\n\t\t\tint shapeStart = 0;\n\n\t\t\tfor (int s=0; s < asset->numShapes; ++s)\n\t\t\t{\n\t\t\t\tdstShapeOffsets[shapeIndex] = asset->shapeOffsets[s] + indexOffset;\n\t\t\t\tdstShapeCoefficients[shapeIndex]  = asset->shapeCoefficients[s];\n\t\t\t\tif (plasticDeformation)\n\t\t\t\t{\n\t\t\t\t\tif (asset->shapePlasticThresholds)\n\t\t\t\t\t\tdstShapePlasticThresholds[shapeIndex] = asset->shapePlasticThresholds[s];\n\t\t\t\t\telse\n\t\t\t\t\t\tdstShapePlasticThresholds[shapeIndex] = 0.0f;\n\n\t\t\t\t\tif (asset->shapePlasticCreeps)\n\t\t\t\t\t\tdstShapePlasticCreeps[shapeIndex]  = asset->shapePlasticCreeps[s];\n\t\t\t\t\telse\n\t\t\t\t\t\tdstShapePlasticCreeps[shapeIndex] = 0.0f;\n\t\t\t\t}\n\t\t\t\tdstShapeTranslations[shapeIndex]  = Vec3(&inst->shapeTranslations[s*3]);\n\t\t\t\tdstShapeRotations[shapeIndex]  = Quat(&inst->shapeRotations[s*4]);\n\n\t\t\t\t++shapeIndex;\n\n\t\t\t\tconst int shapeEnd = asset->shapeOffsets[s];\n\n\t\t\t\tfor (int i=shapeStart; i < shapeEnd; ++i)\n\t\t\t\t{\n\t\t\t\t\tconst int currentParticle = asset->shapeIndices[i];\n\n\t\t\t\t\t// remap indices and create local space positions for each shape\n\t\t\t\t\tdstShapeRestPositions[shapeIndexOffset] = Vec3(&asset->particles[currentParticle*4]) - Vec3(&asset->shapeCenters[s*3]);\n\t\t\t\t\tdstShapeIndices[shapeIndexOffset] = remap[asset->shapeIndices[i]];\n\n\t\t\t\t\t++shapeIndexOffset;\n\t\t\t\t}\n\n\t\t\t\tshapeStart = shapeEnd;\n\t\t\t}\t\t\n\t\t}\n\n\t\tif (asset->numTriangles)\n\t\t{\n\t\t\t// triangles\n\t\t\tconst int numTriIndices = asset->numTriangles * 3;\n\t\t\tconst int* __restrict srcTriIndices = asset->triangleIndices;\n\n\t\t\tfor (int i = 0; i < numTriIndices; ++i)\n\t\t\t{\n\t\t\t\t*dstTriangleIndices = remap[*srcTriIndices];\n\n\t\t\t\t++dstTriangleIndices;\n\t\t\t\t++srcTriIndices;\n\t\t\t}\n\n\t\t\tif (asset->inflatable)\n\t\t\t{\n\t\t\t\tc->mInflatableStarts.push_back(inst->triangleIndex);\n\t\t\t\tc->mInflatableCounts.push_back(asset->numTriangles);\n\t\t\t\tc->mInflatableRestVolumes.push_back(asset->inflatableVolume);\n\t\t\t\tc->mInflatableCoefficients.push_back(asset->inflatableStiffness);\n\t\t\t\tc->mInflatableOverPressures.push_back(asset->inflatablePressure);\n\t\t\t}\n\t\t}\n\t}\n\n\n\t// go through each joint and add shape matching constraint to the solver\n\tfor (size_t i = 0; i < c->mSoftJoints.size(); ++i)\n\t{\n\t\tNvFlexExtSoftJoint* joint = c->mSoftJoints[i];\n\t\tconst int numJointParticles = joint->numParticles;\n\n\t\t// store start index into shape array\n\t\tjoint->shapeIndex = shapeIndex;\n\n\t\tconst int offset = dstShapeOffsets[shapeIndex - 1];\n\t\tdstShapeOffsets[shapeIndex] = offset + numJointParticles;\n\n\t\tfor (int i = 0; i < numJointParticles; ++i)\n\t\t{\n\t\t\tdstShapeIndices[shapeIndexOffset] = joint->particleIndices[i];\n\t\t\tdstShapeRestPositions[shapeIndexOffset] = Vec3(joint->particleLocalPositions[3 * i + 0], joint->particleLocalPositions[3 * i + 1], joint->particleLocalPositions[3 * i + 2]);\n\n\t\t\t++shapeIndexOffset;\n\t\t}\n\n\t\tdstShapeTranslations[shapeIndex] = Vec3(joint->shapeTranslations);\n\t\tdstShapeRotations[shapeIndex] = Quat(joint->shapeRotations);\n\t\tdstShapeCoefficients[shapeIndex] = joint->stiffness;\n\n\t\t++shapeIndex;\n\t}\n\n\t//----------------------\n\t// unmap buffers\n\n\t// springs\n\tc->mSpringIndices.unmap();\n\tc->mSpringLengths.unmap();\n\tc->mSpringCoefficients.unmap();\n\n\t// cloth\n\tc->mTriangleIndices.unmap();\n\tc->mTriangleNormals.unmap();\n\n\t// inflatables\n\tc->mInflatableStarts.unmap();\n\tc->mInflatableCounts.unmap();\n\tc->mInflatableRestVolumes.unmap();\n\tc->mInflatableCoefficients.unmap();\n\tc->mInflatableOverPressures.unmap();\n\n\t// shapes\n\tc->mShapeIndices.unmap();\n\tc->mShapeRestPositions.unmap();\n\tc->mShapeOffsets.unmap();\n\tc->mShapeCoefficients.unmap();\n\n\tc->mShapePlasticThresholds.unmap();\n\tc->mShapePlasticCreeps.unmap();\n\n\tc->mShapeTranslations.unmap();\n\tc->mShapeRotations.unmap();\n\n\t// ----------------------\n\t// Flex update\n\n\t// springs\n\tif (c->mSpringLengths.size())\n\t\tNvFlexSetSprings(c->mSolver, c->mSpringIndices.buffer, c->mSpringLengths.buffer, c->mSpringCoefficients.buffer, int(c->mSpringLengths.size()));\n\telse\n\t\tNvFlexSetSprings(c->mSolver, NULL, NULL, NULL, 0);\n\n\t// shapes\n\tif (c->mShapeCoefficients.size())\n\t{\n\t\tNvFlexSetRigids(c->mSolver, c->mShapeOffsets.buffer, c->mShapeIndices.buffer, c->mShapeRestPositions.buffer, NULL, c->mShapeCoefficients.buffer, c->mShapePlasticThresholds.buffer, c->mShapePlasticCreeps.buffer, c->mShapeRotations.buffer, c->mShapeTranslations.buffer, int(c->mShapeCoefficients.size()), c->mShapeIndices.size());\n\t}\n\telse\n\t{\n\t\tc->mShapeRotations.resize(0);\n\t\tc->mShapeTranslations.resize(0);\n\n\t\tNvFlexSetRigids(c->mSolver, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0);\t\t\n\t}\n\n\t// triangles\n\tif (c->mTriangleIndices.size())\n\t\tNvFlexSetDynamicTriangles(c->mSolver, c->mTriangleIndices.buffer, NULL, int(c->mTriangleIndices.size()/3));\n\telse\n\t\tNvFlexSetDynamicTriangles(c->mSolver, NULL, NULL, 0);\n\n\t// inflatables\n\tif (c->mInflatableCounts.size())\n\t\tNvFlexSetInflatables(c->mSolver, c->mInflatableStarts.buffer, c->mInflatableCounts.buffer, c->mInflatableRestVolumes.buffer, c->mInflatableOverPressures.buffer, c->mInflatableCoefficients.buffer, int(c->mInflatableCounts.size()));\n\telse\n\t\tNvFlexSetInflatables(c->mSolver, NULL, NULL, NULL, NULL, NULL, 0);\n\n\tc->mNeedsCompact = false;\n\n}\n\n} // anonymous namespace\n\n\nNvFlexExtContainer* NvFlexExtCreateContainer(NvFlexLibrary* flexLib, NvFlexSolver* solver, int maxParticles)\n{\n\tNvFlexExtContainer* c = new NvFlexExtContainer(flexLib);\n\n\tc->mSolver = solver;\n\tc->mFlexLib = flexLib;\n\tc->mMaxParticles = maxParticles;\n\n\t// initialize free list\n\tc->mFreeList.resize(maxParticles);\n\tfor (int i=0; i < maxParticles; ++i)\n\t\tc->mFreeList[i] = i;\n\n\tc->mActiveList.init(maxParticles);\n\tc->mParticles.init(maxParticles);\n\tc->mParticlesRest.init(maxParticles);\n\tc->mVelocities.init(maxParticles);\n\tc->mPhases.init(maxParticles);\n\tc->mNormals.init(maxParticles);\n\n\n\t// ensure we have the corerct CUDA context set\n\tNvFlexAcquireContext(flexLib);\n\n\tc->mBoundsLower.init(1);\n\tc->mBoundsUpper.init(1);\n\n\tNvFlexRestoreContext(flexLib);\n\n\tc->mNeedsCompact = false;\n\n\treturn c;\n}\n\nvoid NvFlexExtDestroyContainer(NvFlexExtContainer* c)\n{\n\t// ensure we have the corerct CUDA context set\n\tNvFlexLibrary* lib = c->mFlexLib;\n\n\tNvFlexAcquireContext(lib);\n\n\tdelete c;\n\n\tNvFlexRestoreContext(lib);\n\n}\n\nint NvFlexExtAllocParticles(NvFlexExtContainer* c, int n, int* indices)\n{\n\tconst int numToAlloc = Min(int(c->mFreeList.size()), n);\n\tconst int start = int(c->mFreeList.size())-numToAlloc;\n\n\tif (numToAlloc)\n\t{\n\t\tmemcpy(indices, &c->mFreeList[start], numToAlloc*sizeof(int));\n\t\tc->mFreeList.resize(start);\n\t}\n\n\tc->mNeedsActiveListRebuild = true;\n\n\treturn numToAlloc;\n}\n\nvoid NvFlexExtFreeParticles(NvFlexExtContainer* c, int n, const int* indices)\n{\n#if _DEBUG\n\tfor (int i=0; i < n; ++i)\n\t{\n\t\t// check valid values\n\t\tassert(indices[i] >= 0 && indices[i] < int(c->mFreeList.capacity()));\n\n\t\t// check for double delete\n\t\tassert(std::find(c->mFreeList.begin(), c->mFreeList.end(), indices[i]) == c->mFreeList.end());\n\t}\n#endif\n\n\tc->mFreeList.insert(c->mFreeList.end(), indices, indices+n);\n\n\tc->mNeedsActiveListRebuild = true;\n}\n\nint NvFlexExtGetActiveList(NvFlexExtContainer* c, int* indices)\n{\n\tint count = 0;\n\n\tBitmap inactive(c->mMaxParticles);\n\n\t// create bitmap\n\tfor (size_t i=0; i < c->mFreeList.size(); ++i)\n\t{\n\t\t// if this fires then somehow a duplicate has ended up in the free list (double delete)\n\t\tassert(!inactive.IsSet(c->mFreeList[i]));\n\n\t\tinactive.Set(c->mFreeList[i]);\n\t}\n\n\t// iterate bitmap to find active elements\n\tfor (int i=0; i < c->mMaxParticles; ++i)\n\t\tif (inactive.IsSet(i) == false)\n\t\t\tindices[count++] = i;\n\n\treturn count;\n}\n\nNvFlexExtParticleData NvFlexExtMapParticleData(NvFlexExtContainer* c)\n{\n\tNvFlexExtParticleData data;\n\n\tc->mParticles.map();\n\tc->mParticlesRest.map();\n\tc->mVelocities.map();\n\tc->mPhases.map();\n\tc->mNormals.map();\n\n\tc->mBoundsLower.map();\n\tc->mBoundsUpper.map();\n\n\tif (c->mParticles.size())\n\t\tdata.particles = (float*)&c->mParticles[0];\n\n\tif (c->mParticlesRest.size())\n\t\tdata.restParticles = (float*)&c->mParticlesRest[0];\n\n\tif (c->mVelocities.size())\n\t\tdata.velocities = (float*)&c->mVelocities[0];\n\n\tif (c->mPhases.size())\n\t\tdata.phases = (int*)&c->mPhases[0];\n\n\tif (c->mNormals.size())\n\t\tdata.normals = (float*)&c->mNormals[0];\n\n\tdata.lower = c->mBoundsLower[0];\n\tdata.upper = c->mBoundsUpper[0];\n\n\treturn data;\n}\n\nvoid NvFlexExtUnmapParticleData(NvFlexExtContainer*c)\n{\n\tc->mParticles.unmap();\n\tc->mParticlesRest.unmap();\n\tc->mVelocities.unmap();\n\tc->mPhases.unmap();\n\tc->mNormals.unmap();\n\n\tc->mBoundsLower.unmap();\n\tc->mBoundsUpper.unmap();\n}\n\nNvFlexExtTriangleData NvFlexExtMapTriangleData(NvFlexExtContainer* c)\n{\n\tNvFlexExtTriangleData data;\n\n\tc->mTriangleIndices.map();\n\tc->mTriangleNormals.map();\n\t\n\tif (c->mTriangleIndices.size())\n\t\tdata.indices = &c->mTriangleIndices[0];\n\t\n\tif (c->mTriangleNormals.size())\n\t\tdata.normals = (float*)&c->mTriangleNormals[0];\n\n\treturn data;\n}\n\nvoid NvFlexExtUnmapTriangleData(NvFlexExtContainer* c)\n{\t\n\tc->mTriangleIndices.unmap();\n\tc->mTriangleNormals.unmap();\n}\n\nNvFlexExtShapeData NvFlexExtMapShapeData(NvFlexExtContainer* c)\n{\n\tNvFlexExtShapeData data;\n\n\tc->mShapeRotations.map();\n\tc->mShapeTranslations.map();\n\n\tif (c->mShapeRotations.size())\n\t\tdata.rotations = (float*)&c->mShapeRotations[0];\n\n\tif (c->mShapeTranslations.size())\n\t\tdata.positions = (float*)&c->mShapeTranslations[0];\n\n\treturn data;\n}\n\nvoid NvFlexExtUnmapShapeData(NvFlexExtContainer* c)\n{\n\tc->mShapeRotations.unmap();\n\tc->mShapeTranslations.unmap();\n}\n\n\nNvFlexExtInstance* NvFlexExtCreateInstance(NvFlexExtContainer* c, NvFlexExtParticleData* particleData, const NvFlexExtAsset* asset, const float* transform, float vx, float vy, float vz, int phase, float invMassScale)\n{\t\n\tconst int numParticles = asset->numParticles;\n\n\t// check if asset will fit\n\tif (int(c->mFreeList.size()) < numParticles)\n\t\treturn NULL;\n\n\tNvFlexExtInstance* inst = new NvFlexExtInstance();\n\n\tinst->asset = asset;\n\tinst->triangleIndex = -1;\n\tinst->shapeIndex = -1;\n\tinst->inflatableIndex = -1;\n\tinst->userData = NULL;\n\tinst->numParticles = numParticles;\n\t\n\tassert(inst->numParticles <= asset->maxParticles);\n\n\t// allocate particles for instance\n\tinst->particleIndices = new int[asset->maxParticles];\n\tint n = NvFlexExtAllocParticles(c, numParticles, &inst->particleIndices[0]);\n\tassert(n == numParticles);\n\t(void)n;\n\n\tc->mInstances.push_back(inst);\n\n\tconst Matrix44 xform(transform);\n\n\tfor (int i=0; i < numParticles; ++i)\n\t{\n\t\tconst int index = inst->particleIndices[i];\n\n\t\t// add transformed particles to the locked particle data\n\t\t((Vec4*)(particleData->particles))[index] = xform*Vec4(Vec3(&asset->particles[i*4]), 1.0f);\n\t\t((Vec4*)(particleData->particles))[index].w = asset->particles[i*4+3]*invMassScale;\n\t\t((Vec4*)(particleData->restParticles))[index] = Vec4(&asset->particles[i*4]);\n\n\t\t((Vec3*)(particleData->velocities))[index] = Vec3(vx, vy, vz);\n\t\t((int*)(particleData->phases))[index] = phase;\n\t\t((Vec4*)(particleData->normals))[index] = Vec4(0.0f);\n\t}\n\n\tconst int numShapes = asset->numShapes;\n\n\t// allocate memory for shape transforms\n\tVec3* shapeTranslations = new Vec3[numShapes];\n\tQuat* shapeRotations = new Quat[numShapes];\n\n\tQuat rotation = Quat(Matrix33(xform.GetAxis(0), xform.GetAxis(1), xform.GetAxis(2)));\n\n\tfor (int i=0; i < numShapes; ++i)\n\t{\n\t\tshapeTranslations[i] = Vec3(xform*Vec4(asset->shapeCenters[i*3+0], asset->shapeCenters[i*3+1], asset->shapeCenters[i*3+2], 1.0));\n\t\tshapeRotations[i] = rotation;\n\t}\n\n\tinst->shapeTranslations = (float*)shapeTranslations;\n\tinst->shapeRotations = (float*)shapeRotations;\n\n\t// mark container as dirty\n\tc->mNeedsCompact = true;\n\tc->mNeedsActiveListRebuild = true;\n\n\treturn inst;\n}\n\nvoid NvFlexExtDestroyInstance(NvFlexExtContainer* c, const NvFlexExtInstance* inst)\n{\n\tNvFlexExtFreeParticles(c, inst->numParticles, &inst->particleIndices[0]);\n\tdelete[] inst->particleIndices;\n\n\tdelete[] inst->shapeRotations;\n\tdelete[] inst->shapeTranslations;\n\n\t// TODO: O(N) remove\n\tstd::vector<NvFlexExtInstance*>::iterator iter = std::find(c->mInstances.begin(), c->mInstances.end(), inst);\n\tassert(iter != c->mInstances.end());\n\tc->mInstances.erase(iter);\n\n\tc->mNeedsCompact = true;\n\tc->mNeedsActiveListRebuild = true;\n\n\tdelete inst;\n}\n\nvoid NvFlexExtTickContainer(NvFlexExtContainer* c, float dt, int substeps, bool enableTiming)\n{\n\t// update the device\n\tNvFlexExtPushToDevice(c);\n\n\t// update solver\n\tNvFlexUpdateSolver(c->mSolver, dt, substeps, enableTiming);\n\n\t// update host\n\tNvFlexExtPullFromDevice(c);\n}\n\nvoid NvFlexExtNotifyAssetChanged(NvFlexExtContainer* c, const NvFlexExtAsset* asset)\n{\n\tc->mNeedsCompact = true;\n}\n\nvoid NvFlexExtPushToDevice(NvFlexExtContainer* c)\n{\n\tif (c->mNeedsActiveListRebuild)\n\t{\n\t\t// update active list\n\t\tc->mActiveList.map();\n\t\tint n = NvFlexExtGetActiveList(c, &c->mActiveList[0]);\t\t\n\t\tc->mActiveList.unmap();\n\n\t\tNvFlexSetActive(c->mSolver, c->mActiveList.buffer, NULL);\n\t\tNvFlexSetActiveCount(c->mSolver, n);\n\n\t\tc->mNeedsActiveListRebuild = false;\n\t}\n\n\t// push any changes to solver\n\tNvFlexSetParticles(c->mSolver, c->mParticles.buffer, NULL);\n\tNvFlexSetRestParticles(c->mSolver, c->mParticlesRest.buffer, NULL);\n\n\tNvFlexSetVelocities(c->mSolver, c->mVelocities.buffer, NULL);\n\tNvFlexSetPhases(c->mSolver, c->mPhases.buffer, NULL);\n\tNvFlexSetNormals(c->mSolver, c->mNormals.buffer, NULL);\n\t\n\tif (c->mNeedsCompact)\n\t\tCompactObjects(c);\n}\n\nvoid NvFlexExtPullFromDevice(NvFlexExtContainer* c)\n{\n\t// read back particle data\n\tNvFlexGetParticles(c->mSolver, c->mParticles.buffer, NULL);\n\tNvFlexGetVelocities(c->mSolver, c->mVelocities.buffer, NULL);\n\tNvFlexGetPhases(c->mSolver, c->mPhases.buffer, NULL);\n\tNvFlexGetNormals(c->mSolver, c->mNormals.buffer, NULL);\n\tNvFlexGetBounds(c->mSolver, c->mBoundsLower.buffer, c->mBoundsUpper.buffer);\n\n\t// read back shape transforms\n\tif (c->mShapeCoefficients.size())\n\t\tNvFlexGetRigids(c->mSolver, NULL, NULL, NULL, NULL, NULL, NULL, NULL, c->mShapeRotations.buffer, c->mShapeTranslations.buffer);\n}\n\nvoid NvFlexExtUpdateInstances(NvFlexExtContainer* c)\n{\n\tc->mShapeTranslations.map();\n\tc->mShapeRotations.map();\n\n\tfor (int i=0; i < int(c->mInstances.size()); ++i)\n\t{\n\t\tNvFlexExtInstance* inst = c->mInstances[i];\n\n\t\t// copy data back to per-instance memory from the container's memory\n\t\tconst int numShapes = inst->asset->numShapes;\n\t\tconst int shapeStart = inst->shapeIndex;\n\n\t\tif (shapeStart == -1)\n\t\t\tcontinue;\n\n\t\tfor (int s=0; s < numShapes; ++s)\n\t\t{\n\t\t\t((Vec3*)inst->shapeTranslations)[s] = c->mShapeTranslations[shapeStart + s];\n\t\t\t((Quat*)inst->shapeRotations)[s] = c->mShapeRotations[shapeStart + s];\n\t\t}\t\t\n\t}\n\n\tfor (int i = 0; i < int(c->mSoftJoints.size()); ++i)\n\t{\n\t\tNvFlexExtSoftJoint* joint = c->mSoftJoints[i];\n\n\t\tconst int shapeStart = joint->shapeIndex;\n\n\t\t// Here we compute the COM only once instead of in NvFlexExtCreateSoftJoint() to avoid buffer mapping issue\n\t\tif (!joint->initialized)\n\t\t{\n\t\t\t// Calculate the center of mass of the new shape matching constraint given a set of joint particles and its indices\n\t\t\t// To improve the accuracy of the result, first transform the particlePosition to relative coordinates (by finding the mean and subtracting that from all positions)\n\t\t\t// Note: If this is not done, one might see ghost forces if the mean of the particlePosition is far from the origin.\n\t\t\tVec3 shapeOffset(0.0f);\n\t\t\tfor (int i = 0; i < joint->numParticles; ++i)\n\t\t\t{\n\t\t\t\tconst Vec4 particlePosition = c->mParticles[joint->particleIndices[i]];\n\t\t\t\tshapeOffset += Vec3(particlePosition);\n\t\t\t}\n\t\t\tshapeOffset /= float(joint->numParticles);\n\n\t\t\tVec3 com;\n\t\t\tfor (int i = 0; i < joint->numParticles; ++i)\n\t\t\t{\n\t\t\t\tconst Vec4 particlePosition = c->mParticles[joint->particleIndices[i]];\n\n\t\t\t\t// By subtracting shapeOffset the calculation is done in relative coordinates\n\t\t\t\tcom += Vec3(particlePosition) - shapeOffset;\n\t\t\t}\n\t\t\tcom /= float(joint->numParticles);\n\n\t\t\t// Add the shapeOffset to switch back to absolute coordinates\n\t\t\tcom += shapeOffset;\n\n\t\t\t// update per-joint shapeTranslations and copy to the container's memory\n\t\t\tjoint->shapeTranslations[0] = com.x;\n\t\t\tjoint->shapeTranslations[1] = com.y;\n\t\t\tjoint->shapeTranslations[2] = com.z;\n\n\t\t\tjoint->initialized = true;\t\t// Complete joint initilization process \n\t\t}\n\t\telse\n\t\t{\n\t\t\tjoint->shapeTranslations[0] = c->mShapeTranslations[shapeStart].x;\n\t\t\tjoint->shapeTranslations[1] = c->mShapeTranslations[shapeStart].y;\n\t\t\tjoint->shapeTranslations[2] = c->mShapeTranslations[shapeStart].z;\n\t\t}\n\n\t\t// copy data back to per-joint memory from the container's memory\n\t\tjoint->shapeRotations[0] = c->mShapeRotations[shapeStart].x;\n\t\tjoint->shapeRotations[1] = c->mShapeRotations[shapeStart].y;\n\t\tjoint->shapeRotations[2] = c->mShapeRotations[shapeStart].z;\n\t\tjoint->shapeRotations[3] = c->mShapeRotations[shapeStart].w;\n\t}\n\n\tc->mShapeTranslations.unmap();\n\tc->mShapeRotations.unmap();\n}\n\nvoid NvFlexExtDestroyAsset(NvFlexExtAsset* asset)\n{\n\tdelete[] asset->particles;\n\tdelete[] asset->springIndices;\n\tdelete[] asset->springCoefficients;\n\tdelete[] asset->springRestLengths;\n\tdelete[] asset->triangleIndices;\n\tdelete[] asset->shapeIndices;\n\tdelete[] asset->shapeOffsets;\n\tdelete[] asset->shapeCenters;\n\tdelete[] asset->shapeCoefficients;\t\n\tdelete[] asset->shapePlasticThresholds;\t\n\tdelete[] asset->shapePlasticCreeps;\t\n\n\tdelete asset;\n}\n\nNvFlexExtSoftJoint* NvFlexExtCreateSoftJoint(NvFlexExtContainer* c, const int* particleIndices, const float* particleLocalPositions, const int numJointParticles, const float stiffness)\n{\n\tNvFlexExtSoftJoint* joint = new NvFlexExtSoftJoint();\n\n\tjoint->particleIndices = new int[numJointParticles];\n\tmemcpy(joint->particleIndices, particleIndices, sizeof(int) * numJointParticles);\n\n\tjoint->particleLocalPositions = new float[3 * numJointParticles];\n\tmemcpy(joint->particleLocalPositions, particleLocalPositions, 3 * sizeof(float)*numJointParticles);\n\n\t// initialize with Quat()\n\tjoint->shapeRotations[0] = Quat().x;\n\tjoint->shapeRotations[1] = Quat().y;\n\tjoint->shapeRotations[2] = Quat().z;\n\tjoint->shapeRotations[3] = Quat().w;\n\n\tjoint->numParticles = numJointParticles;\n\tjoint->stiffness = stiffness;\n\tjoint->initialized = false;\t\t// Initialization will be fully completed in NvFlexExtUpdateInstances()\n\n\tc->mSoftJoints.push_back(joint);\n\n\t// mark container as dirty\n\tc->mNeedsCompact = true;\n\n\treturn joint;\n}\n\nvoid NvFlexExtDestroySoftJoint(NvFlexExtContainer* c, NvFlexExtSoftJoint* joint)\n{\n\tdelete[] joint->particleIndices;\n\tdelete[] joint->particleLocalPositions;\n\n\t// TODO: O(N) remove\n\tstd::vector<NvFlexExtSoftJoint*>::iterator iter = std::find(c->mSoftJoints.begin(), c->mSoftJoints.end(), joint);\n\tassert(iter != c->mSoftJoints.end());\n\tc->mSoftJoints.erase(iter);\n\n\tc->mNeedsCompact = true;\n\n\tdelete joint;\n}\n\nvoid NvFlexExtSoftJointSetTransform(NvFlexExtContainer* c, NvFlexExtSoftJoint* joint, const float* newPosition, const float* newRotation)\n{\n\t// calculate transform from old position to new position\n\tMatrix44 LocalFromOld = AffineInverse(TranslationMatrix(Point3(joint->shapeTranslations))*RotationMatrix(joint->shapeRotations));\n\tMatrix44 NewFromLocal = TranslationMatrix(Point3(newPosition))*RotationMatrix(newRotation);\n\tMatrix44 transform = NewFromLocal*LocalFromOld;\n\n\t// transform soft joint particles to new location\n\n\t//----------------------\n\t// map buffers\n\tc->mParticles.map();\n\n\tfor (int i = 0; i < joint->numParticles; ++i)\n\t{\n\t\tconst Vec3 particlePosition = Vec3(c->mParticles[joint->particleIndices[i]]);\n\t\tVec4 particleNewPostion = transform * Vec4(particlePosition, 1.0f);\n\n\t\t// update soft joint particles\n\t\tc->mParticles[joint->particleIndices[i]].x = particleNewPostion.x;\n\t\tc->mParticles[joint->particleIndices[i]].y = particleNewPostion.y;\n\t\tc->mParticles[joint->particleIndices[i]].z = particleNewPostion.z;\n\t}\n\n\tjoint->shapeTranslations[0] = newPosition[0];\n\tjoint->shapeTranslations[1] = newPosition[1];\n\tjoint->shapeTranslations[2] = newPosition[2];\n\n\tjoint->shapeRotations[0] = newRotation[0];\n\tjoint->shapeRotations[1] = newRotation[1];\n\tjoint->shapeRotations[2] = newRotation[2];\n\tjoint->shapeRotations[3] = newRotation[3];\n\n\t//----------------------\n\t// unmap buffers\n\tc->mParticles.unmap();\n}\n\n\n"
  },
  {
    "path": "extensions/flexExtMovingFrame.cpp",
    "content": "#include \"../include/NvFlexExt.h\"\n\n#include \"../core/maths.h\"\n\nnamespace \n{\n\n// internal version of the public NvFlexExtMovingFrame type\n// this must be a byte exact copy of of NvFlexExtMovingFrame\n// we just separate the internal types to avoid exposing \n// our math types on the API\n\nstruct MovingFrame\n{\n\tVec3 position;\t\n\tQuat rotation;\n\n\tVec3 velocity;\n\tVec3 omega;\n\n\tVec3 acceleration;\n\tVec3 tau;\n\n\tMatrix44 delta;\n\n\tMovingFrame(Vec3 worldTranslation, Quat worldRotation)\n\t{\n\t\tposition = worldTranslation;\n\t\trotation = worldRotation;\n\t\tdelta = Matrix44::kIdentity;\n\t}\n\t\n\t// update the frame, returns a matrix representing the delta transform that \n\t// can be applied to particles to teleport them to the frame's new location\n\tvoid Move(Vec3 newPosition, Quat newRotation, float dt)\n\t{\n\t\tconst float invDt = 1.0f/dt;\n\n\t\t// calculate new velocity\n\t\tVec3 newVelocity = (newPosition-position)*invDt;\n\t\tVec3 newOmega = 2.0f*Vec3(Quat(newRotation-rotation)*Inverse(rotation)*invDt);\n\n\t\t// calculate new acceleration\n\t\tVec3 newAcceleration = (newVelocity-velocity)*invDt;\n\t\tVec3 newTau = (newOmega-omega)*invDt;\n\n\t\t// calculate delta transform\n\t\tMatrix44 LocalFromOld = AffineInverse(TranslationMatrix(Point3(position))*RotationMatrix(rotation));\n\t\tMatrix44 NewFromLocal = TranslationMatrix(Point3(newPosition))*RotationMatrix(newRotation);\n\t\t\n\t\t// update delta transform\n\t\tdelta = NewFromLocal*LocalFromOld;\n\n\t\t// position\n\t\tposition = newPosition;\n\t\trotation = newRotation;\n\n\t\t// update velocity\n\t\tvelocity = newVelocity;\n\t\tomega = newOmega;\n\n\t\tacceleration = newAcceleration;\n\t\ttau = newTau;\n\t}\n\n\tinline Vec3 GetLinearForce() const\n\t{\n\t\treturn -acceleration;\n\t}\n\n\tinline Vec3 GetAngularForce(Vec3 p) const\n\t{\n\t\tVec3 d = p-position;\n\n\t\t// forces due to rotation\n\t\tVec3 centrifugalForce = -Cross(omega, Cross(omega, d));\n\t\tVec3 eulerForce = -Cross(tau, d);\n\n\t\treturn centrifugalForce + eulerForce;\n\t}\n\n};\n\nstatic_assert(sizeof(NvFlexExtMovingFrame) == sizeof(MovingFrame), \"Size mismatch for NvFlexExtMovingFrame\");\n\n} // anonymous namespace\n\nvoid NvFlexExtMovingFrameInit(NvFlexExtMovingFrame* frame, const float* worldTranslation, const float* worldRotation)\n{\n\t((MovingFrame&)(*frame)) = MovingFrame(Vec3(worldTranslation), Quat(worldRotation));\n}\n\nvoid NvFlexExtMovingFrameUpdate(NvFlexExtMovingFrame* frame, const float* worldTranslation, const float* worldRotation, float dt)\n{\n\t((MovingFrame&)(*frame)).Move(Vec3(worldTranslation), Quat(worldRotation), dt);\n}\n\nvoid NvFlexExtMovingFrameApply(NvFlexExtMovingFrame* frame, float* positions, float* velocities, int numParticles, float linearScale, float angularScale, float dt)\n{\n\tconst MovingFrame& f = (MovingFrame&)(*frame);\n\n\t// linear force constant for all particles\n\tVec3 linearForce = f.GetLinearForce()*linearScale;\n\n\tfor (int i=0; i < numParticles; ++i)\n\t{\n\t\tVec3 particlePos = Vec3(&positions[i*4]);\n\t\tVec3 particleVel = Vec3(&velocities[i*3]);\n\n\t\t// angular force depends on particles position\n\t\tVec3 angularForce = f.GetAngularForce(particlePos)*angularScale;\n\n\t\t// transform particle to frame's new location\n\t\tparticlePos = Vec3(f.delta*Vec4(particlePos, 1.0f));\n\t\tparticleVel += (linearForce + angularForce)*dt;\n\n\t\t// update positions\n\t\tpositions[i*4+0] = particlePos.x;\n\t\tpositions[i*4+1] = particlePos.y;\n\t\tpositions[i*4+2] = particlePos.z;\n\n\t\tvelocities[i*3+0] = particleVel.x;\n\t\tvelocities[i*3+1] = particleVel.y;\n\t\tvelocities[i*3+2] = particleVel.z;\n\t\t\n\t}\n}\n"
  },
  {
    "path": "extensions/flexExtRigid.cpp",
    "content": "// This code contains NVIDIA Confidential Information and is disclosed to you\n// under a form of NVIDIA software license agreement provided separately to you.\n//\n// Notice\n// NVIDIA Corporation and its licensors retain all intellectual property and\n// proprietary rights in and to this software and related documentation and\n// any modifications thereto. Any use, reproduction, disclosure, or\n// distribution of this software and related documentation without an express\n// license agreement from NVIDIA Corporation is strictly prohibited.\n//\n// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED \"AS IS.\". NVIDIA MAKES\n// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO\n// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,\n// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.\n//\n// Information and code furnished is believed to be accurate and reliable.\n// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such\n// information or for any infringement of patents or other rights of third parties that may\n// result from its use. No license is granted by implication or otherwise under any patent\n// or patent rights of NVIDIA Corporation. Details are subject to change without notice.\n// This code supersedes and replaces all information previously supplied.\n// NVIDIA Corporation products are not authorized for use as critical\n// components in life support devices or systems without express written approval of\n// NVIDIA Corporation.\n//\n// Copyright (c) 2013-2020 NVIDIA Corporation. All rights reserved.\n\n#include \"../include/NvFlexExt.h\"\n\n#include \"../core/maths.h\"\n#include \"../core/voxelize.h\"\n#include \"../core/sdf.h\"\n\n#include <vector>\n\nnamespace\n{\n\nfloat SampleSDF(const float* sdf, int dim, int x, int y, int z)\n{\n\tassert(x < dim && x >= 0);\n\tassert(y < dim && y >= 0);\n\tassert(z < dim && z >= 0);\n\n\treturn sdf[z*dim*dim + y*dim + x];\n}\n\n// return normal of signed distance field\nVec3 SampleSDFGrad(const float* sdf, int dim, int x, int y, int z)\n{\n\tint x0 = std::max(x-1, 0);\n\tint x1 = std::min(x+1, dim-1);\n\n\tint y0 = std::max(y-1, 0);\n\tint y1 = std::min(y+1, dim-1);\n\n\tint z0 = std::max(z-1, 0);\n\tint z1 = std::min(z+1, dim-1);\n\n\tfloat dx = (SampleSDF(sdf, dim, x1, y, z) - SampleSDF(sdf, dim, x0, y, z))*(dim*0.5f);\n\tfloat dy = (SampleSDF(sdf, dim, x, y1, z) - SampleSDF(sdf, dim, x, y0, z))*(dim*0.5f);\n\tfloat dz = (SampleSDF(sdf, dim, x, y, z1) - SampleSDF(sdf, dim, x, y, z0))*(dim*0.5f);\n\n\treturn Vec3(dx, dy, dz);\n}\n\n} // anonymous namespace\n\nNvFlexExtAsset* NvFlexExtCreateRigidFromMesh(const float* vertices, int numVertices, const int* indices, int numTriangleIndices, float spacing, float expand)\n{\n\t// Switch to relative coordinates by computing the mean position of the vertices and subtracting the result from every vertex position\n\t// The increased precision will prevent ghost forces caused by inaccurate center of mass computations\n\tVec3 meshOffset(0.0f);\n\tfor (int i = 0; i < numVertices; i++)\n\t{\n\t\tmeshOffset += ((Vec3*)vertices)[i];\n\t}\n\tmeshOffset /= float(numVertices);\n\n\tVec3* relativeVertices = new Vec3[numVertices];\n\tfor (int i = 0; i < numVertices; i++)\n\t{\n\t\trelativeVertices[i] += ((Vec3*)vertices)[i] - meshOffset;\n\t}\n\n\tstd::vector<Vec4> particles;\n\tstd::vector<Vec4> normals;\n\tstd::vector<int> phases;\n\n\tconst Vec3* positions = relativeVertices;\n\n\tVec3 meshLower(FLT_MAX), meshUpper(-FLT_MAX);\n\tfor (int i=0; i < numVertices; ++i)\n\t{\n\t\tmeshLower = Min(meshLower, positions[i]);\n\t\tmeshUpper = Max(meshUpper, positions[i]);\n\t}\n\n\tVec3 edges = meshUpper-meshLower;\n\tfloat maxEdge = std::max(std::max(edges.x, edges.y), edges.z);\n\n\t// tweak spacing to avoid edge cases for particles laying on the boundary\n\t// just covers the case where an edge is a whole multiple of the spacing.\n\tfloat spacingEps = spacing*(1.0f - 1e-4f);\n\n\t// make sure to have at least one particle in each dimension\n\tint dx, dy, dz;\n\tdx = spacing > edges.x ? 1 : int(edges.x/spacingEps);\n\tdy = spacing > edges.y ? 1 : int(edges.y/spacingEps);\n\tdz = spacing > edges.z ? 1 : int(edges.z/spacingEps);\n\n\tint maxDim = std::max(std::max(dx, dy), dz);\n\n\t// expand border by two voxels to ensure adequate sampling at edges\n\tmeshLower -= 2.0f*Vec3(spacing);\n\tmeshUpper += 2.0f*Vec3(spacing);\n\tmaxDim += 4;\n\n\t// we shift the voxelization bounds so that the voxel centers\n\t// lie symmetrically to the center of the object. this reduces the \n\t// chance of missing features, and also better aligns the particles\n\t// with the mesh\n\tVec3 meshShift;\n\tmeshShift.x = 0.5f * (spacing - (edges.x - (dx-1)*spacing));\n\tmeshShift.y = 0.5f * (spacing - (edges.y - (dy-1)*spacing));\n\tmeshShift.z = 0.5f * (spacing - (edges.z - (dz-1)*spacing));\n\tmeshLower -= meshShift;\n\n\t// don't allow samplings with > 64 per-side\t\n\tif (maxDim > 64)\n\t\treturn NULL;\n\n\tstd::vector<uint32_t> voxels(maxDim*maxDim*maxDim);\n\n\tVoxelize(relativeVertices, numVertices, indices, numTriangleIndices, maxDim, maxDim, maxDim, &voxels[0], meshLower, meshLower + Vec3(maxDim*spacing));\n\n\tdelete[] relativeVertices;\n\n\tstd::vector<float> sdf(maxDim*maxDim*maxDim);\n\tMakeSDF(&voxels[0], maxDim, maxDim, maxDim, &sdf[0]);\n\n\tVec3 center;\n\n\tfor (int x=0; x < maxDim; ++x)\n\t{\n\t\tfor (int y=0; y < maxDim; ++y)\n\t\t{\n\t\t\tfor (int z=0; z < maxDim; ++z)\n\t\t\t{\n\t\t\t\tconst int index = z*maxDim*maxDim + y*maxDim + x;\n\n\t\t\t\t// if voxel is marked as occupied the add a particle\n\t\t\t\tif (voxels[index])\n\t\t\t\t{\n\t\t\t\t\tVec3 position = meshLower + spacing*Vec3(float(x) + 0.5f, float(y) + 0.5f, float(z) + 0.5f);\n\n\t\t\t\t\t// normalize the sdf value and transform to world scale\n\t\t\t\t\tVec3 n = SafeNormalize(SampleSDFGrad(&sdf[0], maxDim, x, y, z));\n\t\t\t\t\tfloat d = sdf[index]*maxEdge;\n\n\t\t\t\t\t// move particles inside or outside shape\n\t\t\t\t\tposition += n*expand;\n\n\t\t\t\t\tnormals.push_back(Vec4(n, d));\n\t\t\t\t\tparticles.push_back(Vec4(position.x, position.y, position.z, 1.0f));\t\t\t\t\t\t\n\t\t\t\t\tphases.push_back(0);\n\n\t\t\t\t\tcenter += position;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tconst int numParticles = int(particles.size());\n\n\t// Switch back to absolute coordinates by adding meshOffset to the center of mass and to each particle positions\n\tcenter /= float(numParticles);\n\tcenter += meshOffset;\n\n\tfor (int i = 0; i < numParticles; i++) {\n\t\tparticles[i] += Vec4(meshOffset, 0.0f);\n\t}\n\n\tNvFlexExtAsset* asset = new NvFlexExtAsset();\n\tmemset(asset, 0, sizeof(*asset));\n\n\tif (numParticles)\n\t{\n\t\tasset->numParticles = numParticles;\n\t\tasset->maxParticles = numParticles;\n\n\t\tasset->particles = new float[numParticles*4];\n\t\tmemcpy(asset->particles, &particles[0], sizeof(Vec4)*numParticles);\n\n\t\tasset->numShapes = 1;\n\t\tasset->numShapeIndices = numParticles;\n\t\t\n\t\t// for rigids we just reference all particles in the shape\n\t\tasset->shapeIndices = new int[numParticles];\n\n\t\tfor (int i = 0; i < numParticles; ++i)\n\t\t\tasset->shapeIndices[i] = i;\n\n\t\t// store center of mass\n\t\tasset->shapeCenters = new float[4];\n\t\tasset->shapeCenters[0] = center.x;\n\t\tasset->shapeCenters[1] = center.y;\n\t\tasset->shapeCenters[2] = center.z;\n\n\t\tasset->shapePlasticThresholds = NULL;\n\t\tasset->shapePlasticCreeps = NULL;\n\n\t\tasset->shapeCoefficients = new float[1];\n\t\tasset->shapeCoefficients[0] = 1.0f;\n\n\t\tasset->shapeOffsets = new int[1];\n\t\tasset->shapeOffsets[0] = numParticles;\n\t}\n\n\treturn asset;\n}\n"
  },
  {
    "path": "extensions/flexExtSoft.cpp",
    "content": "// This code contains NVIDIA Confidential Information and is disclosed to you\n// under a form of NVIDIA software license agreement provided separately to you.\n//\n// Notice\n// NVIDIA Corporation and its licensors retain all intellectual property and\n// proprietary rights in and to this software and related documentation and\n// any modifications thereto. Any use, reproduction, disclosure, or\n// distribution of this software and related documentation without an express\n// license agreement from NVIDIA Corporation is strictly prohibited.\n//\n// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED \"AS IS.\". NVIDIA MAKES\n// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO\n// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,\n// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.\n//\n// Information and code furnished is believed to be accurate and reliable.\n// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such\n// information or for any infringement of patents or other rights of third parties that may\n// result from its use. No license is granted by implication or otherwise under any patent\n// or patent rights of NVIDIA Corporation. Details are subject to change without notice.\n// This code supersedes and replaces all information previously supplied.\n// NVIDIA Corporation products are not authorized for use as critical\n// components in life support devices or systems without express written approval of\n// NVIDIA Corporation.\n//\n// Copyright (c) 2013-2020 NVIDIA Corporation. All rights reserved.\n\n#include \"../include/NvFlexExt.h\"\n\n#include \"../core/core.h\"\n#include \"../core/maths.h\"\n#include \"../core/voxelize.h\"\n\n#include <vector>\n#include <algorithm>\n\nusing namespace std;\n\n// Soft body support functions\n\nnamespace\n{\n\nVec3 CalculateMean(const Vec3* particles, const int* indices, int numIndices)\n{\n\tVec3 sum;\n\n\tfor (int i = 0; i < numIndices; ++i)\n\t\tsum += Vec3(particles[indices[i]]);\n\n\tif (numIndices)\n\t\treturn sum / float(numIndices);\n\telse\n\t\treturn sum;\n}\n\nfloat CalculateRadius(const Vec3* particles, Vec3 center, const int* indices, int numIndices)\n{\n\tfloat radiusSq = 0.0f;\n\n\tfor (int i = 0; i < numIndices; ++i)\n\t{\n\t\tfloat dSq = LengthSq(Vec3(particles[indices[i]]) - center);\n\t\tif (dSq > radiusSq)\n\t\t\tradiusSq = dSq;\n\t}\n\n\treturn sqrtf(radiusSq);\n}\n\nstruct Cluster\n{\n\tVec3 mean;\n\tfloat radius;\n\n\t// indices of particles belonging to this cluster\n\tstd::vector<int> indices;\n};\n\nstruct Seed\n{\n\tint index;\n\tfloat priority;\n\n\tbool operator < (const Seed& rhs) const\n\t{\n\t\treturn priority < rhs.priority;\n\t}\n};\n\n// basic SAP based acceleration structure for point cloud queries\nstruct SweepAndPrune\n{\n\tstruct Entry\n\t{\n\t\tEntry(Vec3 p, int i) : point(p), index(i) {}\n\n\t\tVec3 point;\n\t\tint index;\n\t};\n\n\tSweepAndPrune(const Vec3* points, int n)\n\t{\n\t\tentries.reserve(n);\t\t\n\t\tfor (int i=0; i < n; ++i)\n\t\t\tentries.push_back(Entry(points[i], i));\n\n\t\tstruct SortOnAxis\n\t\t{\n\t\t\tint axis;\n\n\t\t\tSortOnAxis(int axis) : axis(axis) {}\n\n\t\t\tbool operator()(const Entry& lhs, const Entry& rhs) const\t\t\t\n\t\t\t{\n\t\t\t\treturn lhs.point[axis] < rhs.point[axis];\n\t\t\t}\n\t\t};\n\n\t\t// calculate particle bounds and longest axis\n\t\tVec3 lower(FLT_MAX), upper(-FLT_MAX);\n\t\tfor (int i=0; i < n; ++i)\n\t\t{\n\t\t\tlower = Min(points[i], lower);\n\t\t\tupper = Max(points[i], upper);\n\t\t}\n\n\t\tVec3 edges = upper-lower;\n\t\t\n\t\tif (edges.x > edges.y && edges.x > edges.z)\n\t\t\tlongestAxis = 0;\n\t\telse if (edges.y > edges.z)\n\t\t\tlongestAxis = 1;\n\t\telse\n\t\t\tlongestAxis = 2;\n\t\t\n\t\tstd::sort(entries.begin(), entries.end(), SortOnAxis(longestAxis));\n\t}\n\n\tvoid QuerySphere(Vec3 center, float radius, std::vector<int>& indices)\n\t{\n\t\t// find start point in the array\n\t\tint low = 0;\n\t\tint high = int(entries.size());\n\t\t\n\t\t// the point we are trying to find\n\t\tfloat queryLower = center[longestAxis] - radius;\n\t\tfloat queryUpper = center[longestAxis] + radius;\n\n\t\t// binary search to find the start point in the sorted entries array\n\t\twhile (low < high)\n\t\t{\n\t\t\tconst int mid = (high+low)/2;\n\n\t\t\tif (queryLower > entries[mid].point[longestAxis])\n\t\t\t\tlow = mid+1;\n\t\t\telse\n\t\t\t\thigh = mid;\n\t\t}\n\n\t\t// scan forward over potential overlaps\n\t\tfloat radiusSq = radius*radius;\n\n\t\tfor (int i=low; i < int(entries.size()); ++i)\n\t\t{\n\t\t\tVec3 p = entries[i].point;\n\n\t\t\tif (LengthSq(p-center) < radiusSq)\n\t\t\t{\n\t\t\t\tindices.push_back(entries[i].index);\n\t\t\t}\t\t\t\t\t\n\t\t\telse if (entries[i].point[longestAxis] > queryUpper)\n\t\t\t{\n\t\t\t\t// early out if ther are no more possible candidates\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\t\n\tint longestAxis;\t// [0,2] -> x,y,z\n\n\tstd::vector<Entry> entries;\n};\n\nint CreateClusters(Vec3* particles, const float* priority, int numParticles, std::vector<int>& outClusterOffsets, std::vector<int>& outClusterIndices, std::vector<Vec3>& outClusterPositions, float radius, float smoothing = 0.0f)\n{\n\tstd::vector<Seed> seeds;\n\tstd::vector<Cluster> clusters;\n\n\t// flags a particle as belonging to at least one cluster\n\tstd::vector<bool> used(numParticles, false);\n\n\t// initialize seeds\n\tfor (int i = 0; i < numParticles; ++i)\n\t{\n\t\tSeed s;\n\t\ts.index = i;\n\t\ts.priority = priority[i];\n\n\t\tseeds.push_back(s);\n\t}\n\n\t// sort seeds on priority\n\tstd::stable_sort(seeds.begin(), seeds.end());\n\n\tSweepAndPrune sap(particles, numParticles);\n\n\twhile (seeds.size())\n\t{\n\t\t// pick highest unused particle from the seeds list\n\t\tSeed seed = seeds.back();\n\t\tseeds.pop_back();\n\n\t\tif (!used[seed.index])\n\t\t{\n\t\t\tCluster c;\n\n\t\t\tsap.QuerySphere(Vec3(particles[seed.index]), radius, c.indices);\n\t\t\t\n\t\t\t// mark overlapping particles as used so they are removed from the list of potential cluster seeds\n\t\t\tfor (int i=0; i < int(c.indices.size()); ++i)\n\t\t\t\tused[c.indices[i]] = true;\n\n\t\t\tc.mean = CalculateMean(particles, &c.indices[0], int(c.indices.size()));\n\n\t\t\tclusters.push_back(c);\n\t\t}\n\t}\n\n\tif (smoothing > 0.0f)\n\t{\n\t\tfor (int i = 0; i < int(clusters.size()); ++i)\n\t\t{\n\t\t\tCluster& c = clusters[i];\n\n\t\t\t// clear cluster indices\n\t\t\tc.indices.resize(0);\n\n\t\t\t// calculate cluster particles using cluster mean and smoothing radius\n\t\t\tsap.QuerySphere(c.mean, smoothing, c.indices);\n\n\t\t\tc.mean = CalculateMean(particles, &c.indices[0], int(c.indices.size()));\n\t\t}\n\t}\n\n\t// write out cluster indices\n\tint count = 0;\n\n\tfor (int c = 0; c < int(clusters.size()); ++c)\n\t{\n\t\tconst Cluster& cluster = clusters[c];\n\n\t\tconst int clusterSize = int(cluster.indices.size());\n\n\t\t// skip empty clusters\n\t\tif (clusterSize)\n\t\t{\n\t\t\t// write cluster indices\n\t\t\tfor (int i = 0; i < clusterSize; ++i)\n\t\t\t\toutClusterIndices.push_back(cluster.indices[i]);\n\n\t\t\t// write cluster offset\n\t\t\toutClusterOffsets.push_back(int(outClusterIndices.size()));\n\n\t\t\t// write center\n\t\t\toutClusterPositions.push_back(cluster.mean);\n\n\t\t\t++count;\n\t\t}\n\t}\n\n\treturn count;\n}\n\n// creates distance constraints between particles within some radius\nint CreateLinks(const Vec3* particles, int numParticles, std::vector<int>& outSpringIndices, std::vector<float>& outSpringLengths, std::vector<float>& outSpringStiffness, float radius, float stiffness = 1.0f)\n{\n\tint count = 0;\n\n\tstd::vector<int> neighbors;\n\tSweepAndPrune sap(particles, numParticles);\n\n\tfor (int i = 0; i < numParticles; ++i)\n\t{\n\t\tneighbors.resize(0);\n\n\t\tsap.QuerySphere(Vec3(particles[i]), radius, neighbors);\n\n\t\tfor (int j = 0; j < int(neighbors.size()); ++j)\n\t\t{\n\t\t\tconst int nj = neighbors[j];\n\n\t\t\tif (nj != i)\n\t\t\t{\n\t\t\t\toutSpringIndices.push_back(i);\n\t\t\t\toutSpringIndices.push_back(nj);\n\t\t\t\toutSpringLengths.push_back(Length(Vec3(particles[i]) - Vec3(particles[nj])));\n\t\t\t\toutSpringStiffness.push_back(stiffness);\n\n\t\t\t\t++count;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn count;\n}\n\nvoid CreateSkinning(const Vec3* vertices, int numVertices, const Vec3* clusters, int numClusters, float* outWeights, int* outIndices, float falloff, float maxdist)\n{\n\tconst int maxBones = 4;\n\n\tSweepAndPrune sap(clusters, numClusters);\n\n\tstd::vector<int> influences;\n\n\t// for each vertex, find the closest n clusters\n\tfor (int i = 0; i < numVertices; ++i)\n\t{\n\t\tint indices[4] = { -1, -1, -1, -1 };\n\t\tfloat distances[4] = { FLT_MAX, FLT_MAX, FLT_MAX, FLT_MAX };\n\t\tfloat weights[maxBones];\n\n\t\tinfluences.resize(0);\n\t\tsap.QuerySphere(vertices[i], maxdist, influences);\n\n\t\tfor (int c = 0; c < int(influences.size()); ++c)\t\t\t\n\t\t{\n\t\t\tfloat dSq = LengthSq(vertices[i] - clusters[influences[c]]);\n\n\t\t\t// insertion sort\n\t\t\tint w = 0;\n\t\t\tfor (; w < maxBones; ++w)\n\t\t\t\tif (dSq < distances[w])\n\t\t\t\t\tbreak;\n\n\t\t\tif (w < maxBones)\n\t\t\t{\n\t\t\t\t// shuffle down\n\t\t\t\tfor (int s = maxBones - 1; s > w; --s)\n\t\t\t\t{\n\t\t\t\t\tindices[s] = indices[s - 1];\n\t\t\t\t\tdistances[s] = distances[s - 1];\n\t\t\t\t}\n\n\t\t\t\tdistances[w] = dSq;\n\t\t\t\tindices[w] = influences[c];\n\t\t\t}\n\t\t}\n\n\t\t// weight particles according to distance\n\t\tfloat wSum = 0.0f;\n\n\t\tfor (int w = 0; w < maxBones; ++w)\n\t\t{\n\t\t\tif (distances[w] > Sqr(maxdist))\n\t\t\t{\n\t\t\t\t// clamp bones over a given distance to zero\n\t\t\t\tweights[w] = 0.0f;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\t// weight falls off inversely with distance\n\t\t\t\tweights[w] = 1.0f / (powf(distances[w], falloff) + 0.0001f);\n\t\t\t}\n\n\t\t\twSum += weights[w];\n\t\t}\n\n\t\tif (wSum == 0.0f)\n\t\t{\n\t\t\t// if all weights are zero then just \n\t\t\t// rigidly skin to the closest bone\n\t\t\tweights[0] = 1.0f;\n\t\t}\n\t\telse\n\t\t{\n\t\t\t// normalize weights\n\t\t\tfor (int w = 0; w < maxBones; ++w)\n\t\t\t{\n\t\t\t\tweights[w] = weights[w] / wSum;\n\t\t\t}\n\t\t}\n\n\t\t// output\n\t\tfor (int j = 0; j < maxBones; ++j)\n\t\t{\n\t\t\toutWeights[i*maxBones + j] = weights[j];\n\t\t\toutIndices[i*maxBones + j] = indices[j];\n\t\t}\n\t}\n}\n\n// creates mesh interior and surface sample points and clusters them into particles\nvoid SampleMesh(const Vec3* vertices, int numVertices, const int* indices, int numIndices, float radius, float volumeSampling, float surfaceSampling, std::vector<Vec3>& outPositions)\n{\n\tVec3 meshLower(FLT_MAX);\n\tVec3 meshUpper(-FLT_MAX);\n\n\tfor (int i = 0; i < numVertices; ++i)\n\t{\n\t\tmeshLower = Min(meshLower, vertices[i]);\n\t\tmeshUpper = Max(meshUpper, vertices[i]);\n\t}\n\n\tstd::vector<Vec3> samples;\n\n\tif (volumeSampling > 0.0f)\n\t{\n\t\t// recompute expanded edges\n\t\tVec3 edges = meshUpper - meshLower;\n\n\t\t// use a higher resolution voxelization as a basis for the particle decomposition\n\t\tfloat spacing = radius / volumeSampling;\n\n\t\t// tweak spacing to avoid edge cases for particles laying on the boundary\n\t\t// just covers the case where an edge is a whole multiple of the spacing.\n\t\tfloat spacingEps = spacing*(1.0f - 1e-4f);\n\n\t\t// make sure to have at least one particle in each dimension\n\t\tint dx, dy, dz;\n\t\tdx = spacing > edges.x ? 1 : int(edges.x / spacingEps);\n\t\tdy = spacing > edges.y ? 1 : int(edges.y / spacingEps);\n\t\tdz = spacing > edges.z ? 1 : int(edges.z / spacingEps);\n\n\t\tint maxDim = max(max(dx, dy), dz);\n\n\t\t// expand border by two voxels to ensure adequate sampling at edges\n\t\tmeshLower -= 2.0f*Vec3(spacing);\n\t\tmeshUpper += 2.0f*Vec3(spacing);\n\t\tmaxDim += 4;\n\n\t\tvector<uint32_t> voxels(maxDim*maxDim*maxDim);\n\n\t\t// we shift the voxelization bounds so that the voxel centers\n\t\t// lie symmetrically to the center of the object. this reduces the \n\t\t// chance of missing features, and also better aligns the particles\n\t\t// with the mesh\n\t\tVec3 meshOffset;\n\t\tmeshOffset.x = 0.5f * (spacing - (edges.x - (dx - 1)*spacing));\n\t\tmeshOffset.y = 0.5f * (spacing - (edges.y - (dy - 1)*spacing));\n\t\tmeshOffset.z = 0.5f * (spacing - (edges.z - (dz - 1)*spacing));\n\t\tmeshLower -= meshOffset;\n\n\t\tVoxelize(vertices, numVertices, indices, numIndices, maxDim, maxDim, maxDim, &voxels[0], meshLower, meshLower + Vec3(maxDim*spacing));\n\n\t\t// sample interior\n\t\tfor (int x = 0; x < maxDim; ++x)\n\t\t{\n\t\t\tfor (int y = 0; y < maxDim; ++y)\n\t\t\t{\n\t\t\t\tfor (int z = 0; z < maxDim; ++z)\n\t\t\t\t{\n\t\t\t\t\tconst int index = z*maxDim*maxDim + y*maxDim + x;\n\n\t\t\t\t\t// if voxel is marked as occupied the add a particle\n\t\t\t\t\tif (voxels[index])\n\t\t\t\t\t{\n\t\t\t\t\t\tVec3 position = meshLower + spacing*Vec3(float(x) + 0.5f, float(y) + 0.5f, float(z) + 0.5f);\n\n\t\t\t\t\t\t// normalize the sdf value and transform to world scale\n\t\t\t\t\t\tsamples.push_back(position);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tif (surfaceSampling > 0.0f)\n\t{\n\t\t// sample vertices\n\t\tfor (int i = 0; i < numVertices; ++i)\n\t\t\tsamples.push_back(vertices[i]);\n\n\t\t// random surface sampling (non-uniform)\n\t\tconst int numSamples = int(50000 * surfaceSampling);\n\t\tconst int numTriangles = numIndices/3;\n\n\t\tRandInit();\n\n\t\tfor (int i = 0; i < numSamples; ++i)\n\t\t{\n\t\t\tint t = Rand() % numTriangles;\n\t\t\tfloat u = Randf();\n\t\t\tfloat v = Randf()*(1.0f - u);\n\t\t\tfloat w = 1.0f - u - v;\n\n\t\t\tint a = indices[t*3 + 0];\n\t\t\tint b = indices[t*3 + 1];\n\t\t\tint c = indices[t*3 + 2];\n\n\t\t\tVec3 p = vertices[a] * u + vertices[b] * v + vertices[c] * w;\n\n\t\t\tsamples.push_back(p);\n\t\t}\n\t}\n\n\tstd::vector<int> clusterIndices;\n\tstd::vector<int> clusterOffsets;\n\tstd::vector<Vec3> clusterPositions;\n\tstd::vector<float> priority(samples.size());\n\n\t// cluster mesh sample points into actual particles\n\tCreateClusters(&samples[0], &priority[0], int(samples.size()), clusterOffsets, clusterIndices, outPositions, radius);\n}\n\n} // anonymous namespace\n\n// API methods\n\nNvFlexExtAsset* NvFlexExtCreateSoftFromMesh(const float* vertices, int numVertices, const int* indices, int numIndices, float particleSpacing, float volumeSampling, float surfaceSampling, float clusterSpacing, float clusterRadius, float clusterStiffness, float linkRadius, float linkStiffness, float globalStiffness, float clusterPlasticThreshold, float clusterPlasticCreep)\n{\n\t// Switch to relative coordinates by computing the mean position of the vertices and subtracting the result from every vertex position\n\t// The increased precision will prevent ghost forces caused by inaccurate center of mass computations\n\tVec3 meshOffset(0.0f);\n\tfor (int i = 0; i < numVertices; i++)\n\t{\n\t\tmeshOffset += ((Vec3*)vertices)[i];\n\t}\n\tmeshOffset /= float(numVertices);\n\n\tVec3* relativeVertices = new Vec3[numVertices];\n\tfor (int i = 0; i < numVertices; i++)\n\t{\n\t\trelativeVertices[i] += ((Vec3*)vertices)[i] - meshOffset;\n\t}\n\n\t// construct asset definition\n\tNvFlexExtAsset* asset = new NvFlexExtAsset();\n\n\t// create particle sampling\n\tstd::vector<Vec3> samples;\n\tSampleMesh(relativeVertices, numVertices, indices, numIndices, particleSpacing, volumeSampling, surfaceSampling, samples);\n\n\tdelete[] relativeVertices;\n\n\tconst int numParticles = int(samples.size());\t\n\n\tstd::vector<int> clusterIndices;\n\tstd::vector<int> clusterOffsets;\n\tstd::vector<Vec3> clusterPositions;\n\tstd::vector<float> clusterCoefficients;\n\tstd::vector<float> clusterPlasticThresholds;\n\tstd::vector<float> clusterPlasticCreeps;\n\n\t// priority (not currently used)\n\tstd::vector<float> priority(numParticles);\n\tfor (int i = 0; i < int(priority.size()); ++i)\n\t\tpriority[i] = 0.0f;\n\n\t// cluster particles into shape matching groups\n\tint numClusters = CreateClusters(&samples[0], &priority[0], int(samples.size()), clusterOffsets, clusterIndices, clusterPositions, clusterSpacing, clusterRadius);\n\t\n\t// assign all clusters the same stiffness \n\tclusterCoefficients.resize(numClusters, clusterStiffness);\n\n\tif (clusterPlasticCreep) \n\t{\n\t\t// assign all clusters the same plastic threshold \n\t\tclusterPlasticThresholds.resize(numClusters, clusterPlasticThreshold);\n\n\t\t// assign all clusters the same plastic creep \n\t\tclusterPlasticCreeps.resize(numClusters, clusterPlasticCreep);\n\t}\n\n\t// create links between clusters \n\tif (linkRadius > 0.0f)\n\t{\t\t\n\t\tstd::vector<int> springIndices;\n\t\tstd::vector<float> springLengths;\n\t\tstd::vector<float> springStiffness;\n\n\t\t// create links between particles\n\t\tint numLinks = CreateLinks(&samples[0], int(samples.size()), springIndices, springLengths, springStiffness, linkRadius, linkStiffness);\n\n\t\t// assign links\n\t\tif (numLinks)\n\t\t{\t\t\t\n\t\t\tasset->springIndices = new int[numLinks * 2];\n\t\t\tmemcpy(asset->springIndices, &springIndices[0], sizeof(int)*springIndices.size());\n\n\t\t\tasset->springCoefficients = new float[numLinks];\n\t\t\tmemcpy(asset->springCoefficients, &springStiffness[0], sizeof(float)*numLinks);\n\n\t\t\tasset->springRestLengths = new float[numLinks];\n\t\t\tmemcpy(asset->springRestLengths, &springLengths[0], sizeof(float)*numLinks);\n\n\t\t\tasset->numSprings = numLinks;\n\t\t}\n\t}\n\n\t// add an additional global cluster with stiffness = globalStiffness\n\tif (globalStiffness > 0.0f)\n\t{\n\t\tnumClusters += 1;\n\t\tclusterCoefficients.push_back(globalStiffness);\n\t\tif (clusterPlasticCreep) \n\t\t{\n\t\t\tclusterPlasticThresholds.push_back(clusterPlasticThreshold);\n\t\t\tclusterPlasticCreeps.push_back(clusterPlasticCreep);\n\t\t}\n\n\t\tfor (int i = 0; i < numParticles; ++i)\n\t\t{\n\t\t\tclusterIndices.push_back(i);\n\t\t}\n\t\tclusterOffsets.push_back((int)clusterIndices.size());\n\n\t\t// the mean of the global cluster is the mean of all particles\n\t\tVec3 globalMeanPosition(0.0f);\n\t\tfor (int i = 0; i < numParticles; ++i)\n\t\t{\n\t\t\tglobalMeanPosition += samples[i];\n\t\t}\n\t\tglobalMeanPosition /= float(numParticles);\n\t\tclusterPositions.push_back(globalMeanPosition);\n\t}\n\n\t// Switch back to absolute coordinates by adding meshOffset to the centers of mass and to each particle positions\n\tfor (int i = 0; i < numParticles; ++i)\n\t{\n\t\t samples[i] += meshOffset;\n\t}\n\tfor (int i = 0; i < numClusters; ++i)\n\t{\n\t\tclusterPositions[i] += meshOffset;\n\t}\n\n\t// assign particles\n\tasset->particles = new float[numParticles * 4];\n\tasset->numParticles = numParticles;\n\tasset->maxParticles = numParticles;\n\n\tfor (int i = 0; i < numParticles; ++i)\n\t{\n\t\tasset->particles[i*4+0] = samples[i].x;\n\t\tasset->particles[i*4+1] = samples[i].y;\n\t\tasset->particles[i*4+2] = samples[i].z;\n\t\tasset->particles[i*4+3] = 1.0f;\n\t}\n\n\t// assign shapes\n\tasset->shapeIndices = new int[clusterIndices.size()];\n\tmemcpy(asset->shapeIndices, &clusterIndices[0], sizeof(int)*clusterIndices.size());\n\n\tasset->shapeOffsets = new int[numClusters];\n\tmemcpy(asset->shapeOffsets, &clusterOffsets[0], sizeof(int)*numClusters);\n\n\tasset->shapeCenters = new float[numClusters*3];\n\tmemcpy(asset->shapeCenters, &clusterPositions[0], sizeof(float)*numClusters*3);\n\n\tasset->shapeCoefficients = new float[numClusters];\n\tmemcpy(asset->shapeCoefficients, &clusterCoefficients[0], sizeof(float)*numClusters);\n\n\tif (clusterPlasticCreep) \n\t{\n\t\tasset->shapePlasticThresholds = new float[numClusters];\n\t\tmemcpy(asset->shapePlasticThresholds, &clusterPlasticThresholds[0], sizeof(float)*numClusters);\n\n\t\tasset->shapePlasticCreeps = new float[numClusters];\n\t\tmemcpy(asset->shapePlasticCreeps, &clusterPlasticCreeps[0], sizeof(float)*numClusters);\n\t}\n\telse\n\t{\n\t\tasset->shapePlasticThresholds = NULL;\n\t\tasset->shapePlasticCreeps = NULL;\n\t}\n\n\tasset->numShapeIndices = int(clusterIndices.size());\n\tasset->numShapes = numClusters;\n\n\treturn asset;\n}\n\nvoid NvFlexExtCreateSoftMeshSkinning(const float* vertices, int numVertices, const float* bones, int numBones, float falloff, float maxDistance, float* skinningWeights, int* skinningIndices)\n{\n\tCreateSkinning((Vec3*)vertices, numVertices, (Vec3*)bones, numBones, skinningWeights, skinningIndices, falloff, maxDistance);\n}\n"
  },
  {
    "path": "external/D3D11/include/D3DX10.h",
    "content": "//////////////////////////////////////////////////////////////////////////////\n//\n//  Copyright (C) Microsoft Corporation.  All Rights Reserved.\n//\n//  File:       d3dx10.h\n//  Content:    D3DX10 utility library\n//\n//////////////////////////////////////////////////////////////////////////////\n\n#ifdef  __D3DX10_INTERNAL__\n#error Incorrect D3DX10 header used\n#endif\n\n#ifndef __D3DX10_H__\n#define __D3DX10_H__\n\n\n// Defines\n#include <limits.h>\n#include <float.h>\n\n#define D3DX10_DEFAULT            ((UINT) -1)\n#define D3DX10_FROM_FILE          ((UINT) -3)\n#define DXGI_FORMAT_FROM_FILE     ((DXGI_FORMAT) -3)\n\n#ifndef D3DX10INLINE\n#ifdef _MSC_VER\n  #if (_MSC_VER >= 1200)\n  #define D3DX10INLINE __forceinline\n  #else\n  #define D3DX10INLINE __inline\n  #endif\n#else\n  #ifdef __cplusplus\n  #define D3DX10INLINE inline\n  #else\n  #define D3DX10INLINE\n  #endif\n#endif\n#endif\n\n\n\n// Includes\n#include \"d3d10.h\"\n#include \"d3dx10.h\"\n#include \"d3dx10math.h\"\n#include \"d3dx10core.h\"\n#include \"d3dx10tex.h\"\n#include \"d3dx10mesh.h\"\n#include \"d3dx10async.h\"\n\n\n// Errors\n#define _FACDD  0x876\n#define MAKE_DDHRESULT( code )  MAKE_HRESULT( 1, _FACDD, code )\n\nenum _D3DX10_ERR {\n    D3DX10_ERR_CANNOT_MODIFY_INDEX_BUFFER       = MAKE_DDHRESULT(2900),\n    D3DX10_ERR_INVALID_MESH                     = MAKE_DDHRESULT(2901),\n    D3DX10_ERR_CANNOT_ATTR_SORT                 = MAKE_DDHRESULT(2902),\n    D3DX10_ERR_SKINNING_NOT_SUPPORTED           = MAKE_DDHRESULT(2903),\n    D3DX10_ERR_TOO_MANY_INFLUENCES              = MAKE_DDHRESULT(2904),\n    D3DX10_ERR_INVALID_DATA                     = MAKE_DDHRESULT(2905),\n    D3DX10_ERR_LOADED_MESH_HAS_NO_DATA          = MAKE_DDHRESULT(2906),\n    D3DX10_ERR_DUPLICATE_NAMED_FRAGMENT         = MAKE_DDHRESULT(2907),\n    D3DX10_ERR_CANNOT_REMOVE_LAST_ITEM\t\t    = MAKE_DDHRESULT(2908),\n};\n\n\n#endif //__D3DX10_H__\n\n"
  },
  {
    "path": "external/D3D11/include/D3DX10core.h",
    "content": "///////////////////////////////////////////////////////////////////////////\n//\n//  Copyright (C) Microsoft Corporation.  All Rights Reserved.\n//\n//  File:       d3dx10core.h\n//  Content:    D3DX10 core types and functions\n//\n///////////////////////////////////////////////////////////////////////////\n\n#include \"d3dx10.h\"\n\n#ifndef __D3DX10CORE_H__\n#define __D3DX10CORE_H__\n\n// Current name of the DLL shipped in the same SDK as this header.\n\n\n#define D3DX10_DLL_W L\"d3dx10_43.dll\"\n#define D3DX10_DLL_A \"d3dx10_43.dll\"\n\n#ifdef UNICODE\n    #define D3DX10_DLL D3DX10_DLL_W \n#else\n    #define D3DX10_DLL D3DX10_DLL_A\n#endif\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif //__cplusplus\n\n///////////////////////////////////////////////////////////////////////////\n// D3DX10_SDK_VERSION:\n// -----------------\n// This identifier is passed to D3DX10CheckVersion in order to ensure that an\n// application was built against the correct header files and lib files. \n// This number is incremented whenever a header (or other) change would \n// require applications to be rebuilt. If the version doesn't match, \n// D3DX10CreateVersion will return FALSE. (The number itself has no meaning.)\n///////////////////////////////////////////////////////////////////////////\n\n\n#define D3DX10_SDK_VERSION 43\n\n\n///////////////////////////////////////////////////////////////////////////\n// D3DX10CreateDevice\n// D3DX10CreateDeviceAndSwapChain\n// D3DX10GetFeatureLevel1\n///////////////////////////////////////////////////////////////////////////\nHRESULT WINAPI D3DX10CreateDevice(IDXGIAdapter *pAdapter,\n                                  D3D10_DRIVER_TYPE DriverType,\n                                  HMODULE Software,\n                                  UINT Flags,\n                                  ID3D10Device **ppDevice);\n\nHRESULT WINAPI D3DX10CreateDeviceAndSwapChain(IDXGIAdapter *pAdapter,\n                                              D3D10_DRIVER_TYPE DriverType,\n                                              HMODULE Software,\n                                              UINT Flags,\n                                              DXGI_SWAP_CHAIN_DESC *pSwapChainDesc,\n                                              IDXGISwapChain **ppSwapChain,    \n                                              ID3D10Device **ppDevice);\n\ntypedef interface ID3D10Device1 ID3D10Device1;\nHRESULT WINAPI D3DX10GetFeatureLevel1(ID3D10Device *pDevice, ID3D10Device1 **ppDevice1);\n\n\n#ifdef D3D_DIAG_DLL\nBOOL WINAPI D3DX10DebugMute(BOOL Mute);  \n#endif\nHRESULT WINAPI D3DX10CheckVersion(UINT D3DSdkVersion, UINT D3DX10SdkVersion);\n\n#ifdef __cplusplus\n}\n#endif //__cplusplus\n\n\n//////////////////////////////////////////////////////////////////////////////\n// D3DX10_SPRITE flags:\n// -----------------\n// D3DX10_SPRITE_SAVE_STATE\n//   Specifies device state should be saved and restored in Begin/End.\n// D3DX10SPRITE_SORT_TEXTURE\n//   Sprites are sorted by texture prior to drawing.  This is recommended when\n//   drawing non-overlapping sprites of uniform depth.  For example, drawing\n//   screen-aligned text with ID3DX10Font.\n// D3DX10SPRITE_SORT_DEPTH_FRONT_TO_BACK\n//   Sprites are sorted by depth front-to-back prior to drawing.  This is \n//   recommended when drawing opaque sprites of varying depths.\n// D3DX10SPRITE_SORT_DEPTH_BACK_TO_FRONT\n//   Sprites are sorted by depth back-to-front prior to drawing.  This is \n//   recommended when drawing transparent sprites of varying depths.\n// D3DX10SPRITE_ADDREF_TEXTURES\n//   AddRef/Release all textures passed in to DrawSpritesBuffered\n//////////////////////////////////////////////////////////////////////////////\n\ntypedef enum _D3DX10_SPRITE_FLAG\n{\n    D3DX10_SPRITE_SORT_TEXTURE              = 0x01,\n    D3DX10_SPRITE_SORT_DEPTH_BACK_TO_FRONT  = 0x02,\n    D3DX10_SPRITE_SORT_DEPTH_FRONT_TO_BACK  = 0x04,\n    D3DX10_SPRITE_SAVE_STATE                = 0x08,\n    D3DX10_SPRITE_ADDREF_TEXTURES           = 0x10,\n} D3DX10_SPRITE_FLAG;\n\ntypedef struct _D3DX10_SPRITE\n{\n    D3DXMATRIX  matWorld;\n\n    D3DXVECTOR2 TexCoord;\n    D3DXVECTOR2 TexSize;\n\n    D3DXCOLOR   ColorModulate;\n\n    ID3D10ShaderResourceView *pTexture;\n    UINT        TextureIndex;\n} D3DX10_SPRITE;\n\n\n//////////////////////////////////////////////////////////////////////////////\n// ID3DX10Sprite:\n// ------------\n// This object intends to provide an easy way to drawing sprites using D3D.\n//\n// Begin - \n//    Prepares device for drawing sprites.\n//\n// Draw -\n//    Draws a sprite\n//\n// Flush -\n//    Forces all batched sprites to submitted to the device.\n//\n// End - \n//    Restores device state to how it was when Begin was called.\n//\n//////////////////////////////////////////////////////////////////////////////\n\ntypedef interface ID3DX10Sprite ID3DX10Sprite;\ntypedef interface ID3DX10Sprite *LPD3DX10SPRITE;\n\n\n// {BA0B762D-8D28-43ec-B9DC-2F84443B0614}\nDEFINE_GUID(IID_ID3DX10Sprite, \n0xba0b762d, 0x8d28, 0x43ec, 0xb9, 0xdc, 0x2f, 0x84, 0x44, 0x3b, 0x6, 0x14);\n\n\n#undef INTERFACE\n#define INTERFACE ID3DX10Sprite\n\nDECLARE_INTERFACE_(ID3DX10Sprite, IUnknown)\n{\n    // IUnknown\n    STDMETHOD(QueryInterface)(THIS_ REFIID iid, LPVOID *ppv) PURE;\n    STDMETHOD_(ULONG, AddRef)(THIS) PURE;\n    STDMETHOD_(ULONG, Release)(THIS) PURE;\n\n    // ID3DX10Sprite\n    STDMETHOD(Begin)(THIS_ UINT flags) PURE;\n    \n    STDMETHOD(DrawSpritesBuffered)(THIS_ D3DX10_SPRITE *pSprites, UINT cSprites) PURE;\n    STDMETHOD(Flush)(THIS) PURE;\n\n    STDMETHOD(DrawSpritesImmediate)(THIS_ D3DX10_SPRITE *pSprites, UINT cSprites, UINT cbSprite, UINT flags) PURE;\n    STDMETHOD(End)(THIS) PURE;\n\n    STDMETHOD(GetViewTransform)(THIS_ D3DXMATRIX *pViewTransform) PURE;\n    STDMETHOD(SetViewTransform)(THIS_ D3DXMATRIX *pViewTransform) PURE;\n    STDMETHOD(GetProjectionTransform)(THIS_ D3DXMATRIX *pProjectionTransform) PURE;\n    STDMETHOD(SetProjectionTransform)(THIS_ D3DXMATRIX *pProjectionTransform) PURE;\n\n    STDMETHOD(GetDevice)(THIS_ ID3D10Device** ppDevice) PURE;\n};\n\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif //__cplusplus\n\nHRESULT WINAPI \n    D3DX10CreateSprite( \n        ID3D10Device*         pDevice, \n        UINT                  cDeviceBufferSize,\n        LPD3DX10SPRITE*       ppSprite);\n\n#ifdef __cplusplus\n}\n#endif //__cplusplus\n\n\n//////////////////////////////////////////////////////////////////////////////\n// ID3DX10ThreadPump:\n//////////////////////////////////////////////////////////////////////////////\n\n#undef INTERFACE\n#define INTERFACE ID3DX10DataLoader\n\nDECLARE_INTERFACE(ID3DX10DataLoader)\n{\n\tSTDMETHOD(Load)(THIS) PURE;\n\tSTDMETHOD(Decompress)(THIS_ void **ppData, SIZE_T *pcBytes) PURE;\n\tSTDMETHOD(Destroy)(THIS) PURE;\n};\n\n#undef INTERFACE\n#define INTERFACE ID3DX10DataProcessor\n\nDECLARE_INTERFACE(ID3DX10DataProcessor)\n{\n\tSTDMETHOD(Process)(THIS_ void *pData, SIZE_T cBytes) PURE;\n\tSTDMETHOD(CreateDeviceObject)(THIS_ void **ppDataObject) PURE;\n\tSTDMETHOD(Destroy)(THIS) PURE;\n};\n\n// {C93FECFA-6967-478a-ABBC-402D90621FCB}\nDEFINE_GUID(IID_ID3DX10ThreadPump, \n0xc93fecfa, 0x6967, 0x478a, 0xab, 0xbc, 0x40, 0x2d, 0x90, 0x62, 0x1f, 0xcb);\n\n#undef INTERFACE\n#define INTERFACE ID3DX10ThreadPump\n\nDECLARE_INTERFACE_(ID3DX10ThreadPump, IUnknown)\n{\n    // IUnknown\n    STDMETHOD(QueryInterface)(THIS_ REFIID iid, LPVOID *ppv) PURE;\n    STDMETHOD_(ULONG, AddRef)(THIS) PURE;\n    STDMETHOD_(ULONG, Release)(THIS) PURE;\n\n    // ID3DX10ThreadPump\n    STDMETHOD(AddWorkItem)(THIS_ ID3DX10DataLoader *pDataLoader, ID3DX10DataProcessor *pDataProcessor, HRESULT *pHResult, void **ppDeviceObject) PURE;\n    STDMETHOD_(UINT, GetWorkItemCount)(THIS) PURE;\n      \n    STDMETHOD(WaitForAllItems)(THIS) PURE;\n    STDMETHOD(ProcessDeviceWorkItems)(THIS_ UINT iWorkItemCount);\n\n    STDMETHOD(PurgeAllItems)(THIS) PURE;\n    STDMETHOD(GetQueueStatus)(THIS_ UINT *pIoQueue, UINT *pProcessQueue, UINT *pDeviceQueue) PURE;\n    \n};\n\nHRESULT WINAPI D3DX10CreateThreadPump(UINT cIoThreads, UINT cProcThreads, ID3DX10ThreadPump **ppThreadPump);\n\n\n//////////////////////////////////////////////////////////////////////////////\n// ID3DX10Font:\n// ----------\n// Font objects contain the textures and resources needed to render a specific \n// font on a specific device.\n//\n// GetGlyphData -\n//    Returns glyph cache data, for a given glyph.\n//\n// PreloadCharacters/PreloadGlyphs/PreloadText -\n//    Preloads glyphs into the glyph cache textures.\n//\n// DrawText -\n//    Draws formatted text on a D3D device.  Some parameters are \n//    surprisingly similar to those of GDI's DrawText function.  See GDI \n//    documentation for a detailed description of these parameters.\n//    If pSprite is NULL, an internal sprite object will be used.\n//\n//////////////////////////////////////////////////////////////////////////////\n\ntypedef struct _D3DX10_FONT_DESCA\n{\n    INT Height;\n    UINT Width;\n    UINT Weight;\n    UINT MipLevels;\n    BOOL Italic;\n    BYTE CharSet;\n    BYTE OutputPrecision;\n    BYTE Quality;\n    BYTE PitchAndFamily;\n    CHAR FaceName[LF_FACESIZE];\n\n} D3DX10_FONT_DESCA, *LPD3DX10_FONT_DESCA;\n\ntypedef struct _D3DX10_FONT_DESCW\n{\n    INT Height;\n    UINT Width;\n    UINT Weight;\n    UINT MipLevels;\n    BOOL Italic;\n    BYTE CharSet;\n    BYTE OutputPrecision;\n    BYTE Quality;\n    BYTE PitchAndFamily;\n    WCHAR FaceName[LF_FACESIZE];\n\n} D3DX10_FONT_DESCW, *LPD3DX10_FONT_DESCW;\n\n#ifdef UNICODE\ntypedef D3DX10_FONT_DESCW D3DX10_FONT_DESC;\ntypedef LPD3DX10_FONT_DESCW LPD3DX10_FONT_DESC;\n#else\ntypedef D3DX10_FONT_DESCA D3DX10_FONT_DESC;\ntypedef LPD3DX10_FONT_DESCA LPD3DX10_FONT_DESC;\n#endif\n\n\ntypedef interface ID3DX10Font ID3DX10Font;\ntypedef interface ID3DX10Font *LPD3DX10FONT;\n\n\n// {D79DBB70-5F21-4d36-BBC2-FF525C213CDC}\nDEFINE_GUID(IID_ID3DX10Font, \n0xd79dbb70, 0x5f21, 0x4d36, 0xbb, 0xc2, 0xff, 0x52, 0x5c, 0x21, 0x3c, 0xdc);\n\n\n#undef INTERFACE\n#define INTERFACE ID3DX10Font\n\nDECLARE_INTERFACE_(ID3DX10Font, IUnknown)\n{\n    // IUnknown\n    STDMETHOD(QueryInterface)(THIS_ REFIID iid, LPVOID *ppv) PURE;\n    STDMETHOD_(ULONG, AddRef)(THIS) PURE;\n    STDMETHOD_(ULONG, Release)(THIS) PURE;\n\n    // ID3DX10Font\n    STDMETHOD(GetDevice)(THIS_ ID3D10Device** ppDevice) PURE;\n    STDMETHOD(GetDescA)(THIS_ D3DX10_FONT_DESCA *pDesc) PURE;\n    STDMETHOD(GetDescW)(THIS_ D3DX10_FONT_DESCW *pDesc) PURE;\n    STDMETHOD_(BOOL, GetTextMetricsA)(THIS_ TEXTMETRICA *pTextMetrics) PURE;\n    STDMETHOD_(BOOL, GetTextMetricsW)(THIS_ TEXTMETRICW *pTextMetrics) PURE;\n\n    STDMETHOD_(HDC, GetDC)(THIS) PURE;\n    STDMETHOD(GetGlyphData)(THIS_ UINT Glyph, ID3D10ShaderResourceView** ppTexture, RECT *pBlackBox, POINT *pCellInc) PURE;\n\n    STDMETHOD(PreloadCharacters)(THIS_ UINT First, UINT Last) PURE;\n    STDMETHOD(PreloadGlyphs)(THIS_ UINT First, UINT Last) PURE;\n    STDMETHOD(PreloadTextA)(THIS_ LPCSTR pString, INT Count) PURE;\n    STDMETHOD(PreloadTextW)(THIS_ LPCWSTR pString, INT Count) PURE;\n\n    STDMETHOD_(INT, DrawTextA)(THIS_ LPD3DX10SPRITE pSprite, LPCSTR pString, INT Count, LPRECT pRect, UINT Format, D3DXCOLOR Color) PURE;\n    STDMETHOD_(INT, DrawTextW)(THIS_ LPD3DX10SPRITE pSprite, LPCWSTR pString, INT Count, LPRECT pRect, UINT Format, D3DXCOLOR Color) PURE;\n\n#ifdef __cplusplus\n#ifdef UNICODE\n    HRESULT WINAPI_INLINE GetDesc(D3DX10_FONT_DESCW *pDesc) { return GetDescW(pDesc); }\n    HRESULT WINAPI_INLINE PreloadText(LPCWSTR pString, INT Count) { return PreloadTextW(pString, Count); }\n#else\n    HRESULT WINAPI_INLINE GetDesc(D3DX10_FONT_DESCA *pDesc) { return GetDescA(pDesc); }\n    HRESULT WINAPI_INLINE PreloadText(LPCSTR pString, INT Count) { return PreloadTextA(pString, Count); }\n#endif\n#endif //__cplusplus\n};\n\n#ifndef GetTextMetrics\n#ifdef UNICODE\n#define GetTextMetrics GetTextMetricsW\n#else\n#define GetTextMetrics GetTextMetricsA\n#endif\n#endif\n\n#ifndef DrawText\n#ifdef UNICODE\n#define DrawText DrawTextW\n#else\n#define DrawText DrawTextA\n#endif\n#endif\n\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif //__cplusplus\n\n\nHRESULT WINAPI \n    D3DX10CreateFontA(\n        ID3D10Device*           pDevice,  \n        INT                     Height,\n        UINT                    Width,\n        UINT                    Weight,\n        UINT                    MipLevels,\n        BOOL                    Italic,\n        UINT                    CharSet,\n        UINT                    OutputPrecision,\n        UINT                    Quality,\n        UINT                    PitchAndFamily,\n        LPCSTR                  pFaceName,\n        LPD3DX10FONT*           ppFont);\n\nHRESULT WINAPI \n    D3DX10CreateFontW(\n        ID3D10Device*           pDevice,  \n        INT                     Height,\n        UINT                    Width,\n        UINT                    Weight,\n        UINT                    MipLevels,\n        BOOL                    Italic,\n        UINT                    CharSet,\n        UINT                    OutputPrecision,\n        UINT                    Quality,\n        UINT                    PitchAndFamily,\n        LPCWSTR                 pFaceName,\n        LPD3DX10FONT*           ppFont);\n\n#ifdef UNICODE\n#define D3DX10CreateFont D3DX10CreateFontW\n#else\n#define D3DX10CreateFont D3DX10CreateFontA\n#endif\n\n\nHRESULT WINAPI \n    D3DX10CreateFontIndirectA( \n        ID3D10Device*             pDevice,  \n        CONST D3DX10_FONT_DESCA*   pDesc, \n        LPD3DX10FONT*             ppFont);\n\nHRESULT WINAPI \n    D3DX10CreateFontIndirectW( \n        ID3D10Device*             pDevice,  \n        CONST D3DX10_FONT_DESCW*   pDesc, \n        LPD3DX10FONT*             ppFont);\n\n#ifdef UNICODE\n#define D3DX10CreateFontIndirect D3DX10CreateFontIndirectW\n#else\n#define D3DX10CreateFontIndirect D3DX10CreateFontIndirectA\n#endif\n\nHRESULT WINAPI D3DX10UnsetAllDeviceObjects(ID3D10Device *pDevice);\n\n#ifdef __cplusplus\n}\n#endif //__cplusplus\n\n///////////////////////////////////////////////////////////////////////////\n\n#define _FACD3D  0x876\n#define MAKE_D3DHRESULT( code )  MAKE_HRESULT( 1, _FACD3D, code )\n#define MAKE_D3DSTATUS( code )  MAKE_HRESULT( 0, _FACD3D, code )\n\n#define D3DERR_INVALIDCALL                      MAKE_D3DHRESULT(2156)\n#define D3DERR_WASSTILLDRAWING                  MAKE_D3DHRESULT(540)\n\n#endif //__D3DX10CORE_H__\n\n"
  },
  {
    "path": "external/D3D11/include/D3DX10math.h",
    "content": "//////////////////////////////////////////////////////////////////////////////\n//\n//  Copyright (C) Microsoft Corporation.  All Rights Reserved.\n//\n//  File:       D3DX10math.h\n//  Content:    D3DX10 math types and functions\n//\n//////////////////////////////////////////////////////////////////////////////\n\n#include \"D3DX10.h\"\n\n// D3DX10 and D3DX9 math look the same. You can include either one into your project.\n// We are intentionally using the header define from D3DX9 math to prevent double-inclusion.\n#ifndef __D3DX9MATH_H__\n#define __D3DX9MATH_H__\n\n#include <math.h>\n#if _MSC_VER >= 1200\n#pragma warning(push)\n#endif\n#pragma warning(disable:4201) // anonymous unions warning\n\n//===========================================================================\n//\n// Type definitions from D3D9\n//\n//===========================================================================\n\n#ifndef D3DVECTOR_DEFINED\ntypedef struct _D3DVECTOR {\n    float x;\n    float y;\n    float z;\n} D3DVECTOR;\n#define D3DVECTOR_DEFINED\n#endif\n\n#ifndef D3DMATRIX_DEFINED\ntypedef struct _D3DMATRIX {\n    union {\n        struct {\n            float        _11, _12, _13, _14;\n            float        _21, _22, _23, _24;\n            float        _31, _32, _33, _34;\n            float        _41, _42, _43, _44;\n\n        };\n        float m[4][4];\n    };\n} D3DMATRIX;\n#define D3DMATRIX_DEFINED\n#endif\n\n//===========================================================================\n//\n// General purpose utilities\n//\n//===========================================================================\n#define D3DX_PI    (3.14159265358979323846)\n#define D3DX_1BYPI ( 1.0 / D3DX_PI )\n\n#define D3DXToRadian( degree ) ((degree) * (D3DX_PI / 180.0))\n#define D3DXToDegree( radian ) ((radian) * (180.0 / D3DX_PI))\n\n\n\n//===========================================================================\n//\n// 16 bit floating point numbers\n//\n//===========================================================================\n\n#define D3DX_16F_DIG          3                // # of decimal digits of precision\n#define D3DX_16F_EPSILON      4.8875809e-4f    // smallest such that 1.0 + epsilon != 1.0\n#define D3DX_16F_MANT_DIG     11               // # of bits in mantissa\n#define D3DX_16F_MAX          6.550400e+004    // max value\n#define D3DX_16F_MAX_10_EXP   4                // max decimal exponent\n#define D3DX_16F_MAX_EXP      15               // max binary exponent\n#define D3DX_16F_MIN          6.1035156e-5f    // min positive value\n#define D3DX_16F_MIN_10_EXP   (-4)             // min decimal exponent\n#define D3DX_16F_MIN_EXP      (-14)            // min binary exponent\n#define D3DX_16F_RADIX        2                // exponent radix\n#define D3DX_16F_ROUNDS       1                // addition rounding: near\n#define D3DX_16F_SIGN_MASK    0x8000\n#define D3DX_16F_EXP_MASK     0x7C00\n#define D3DX_16F_FRAC_MASK    0x03FF\n\ntypedef struct D3DXFLOAT16\n{\n#ifdef __cplusplus\npublic:\n    D3DXFLOAT16() {};\n    D3DXFLOAT16( FLOAT );\n    D3DXFLOAT16( CONST D3DXFLOAT16& );\n\n    // casting\n    operator FLOAT ();\n\n    // binary operators\n    BOOL operator == ( CONST D3DXFLOAT16& ) const;\n    BOOL operator != ( CONST D3DXFLOAT16& ) const;\n\nprotected:\n#endif //__cplusplus\n    WORD value;\n} D3DXFLOAT16, *LPD3DXFLOAT16;\n\n\n\n//===========================================================================\n//\n// Vectors\n//\n//===========================================================================\n\n\n//--------------------------\n// 2D Vector\n//--------------------------\ntypedef struct D3DXVECTOR2\n{\n#ifdef __cplusplus\npublic:\n    D3DXVECTOR2() {};\n    D3DXVECTOR2( CONST FLOAT * );\n    D3DXVECTOR2( CONST D3DXFLOAT16 * );\n    D3DXVECTOR2( FLOAT x, FLOAT y );\n\n    // casting\n    operator FLOAT* ();\n    operator CONST FLOAT* () const;\n\n    // assignment operators\n    D3DXVECTOR2& operator += ( CONST D3DXVECTOR2& );\n    D3DXVECTOR2& operator -= ( CONST D3DXVECTOR2& );\n    D3DXVECTOR2& operator *= ( FLOAT );\n    D3DXVECTOR2& operator /= ( FLOAT );\n\n    // unary operators\n    D3DXVECTOR2 operator + () const;\n    D3DXVECTOR2 operator - () const;\n\n    // binary operators\n    D3DXVECTOR2 operator + ( CONST D3DXVECTOR2& ) const;\n    D3DXVECTOR2 operator - ( CONST D3DXVECTOR2& ) const;\n    D3DXVECTOR2 operator * ( FLOAT ) const;\n    D3DXVECTOR2 operator / ( FLOAT ) const;\n\n    friend D3DXVECTOR2 operator * ( FLOAT, CONST D3DXVECTOR2& );\n\n    BOOL operator == ( CONST D3DXVECTOR2& ) const;\n    BOOL operator != ( CONST D3DXVECTOR2& ) const;\n\n\npublic:\n#endif //__cplusplus\n    FLOAT x, y;\n} D3DXVECTOR2, *LPD3DXVECTOR2;\n\n\n\n//--------------------------\n// 2D Vector (16 bit)\n//--------------------------\n\ntypedef struct D3DXVECTOR2_16F\n{\n#ifdef __cplusplus\npublic:\n    D3DXVECTOR2_16F() {};\n    D3DXVECTOR2_16F( CONST FLOAT * );\n    D3DXVECTOR2_16F( CONST D3DXFLOAT16 * );\n    D3DXVECTOR2_16F( CONST D3DXFLOAT16 &x, CONST D3DXFLOAT16 &y );\n\n    // casting\n    operator D3DXFLOAT16* ();\n    operator CONST D3DXFLOAT16* () const;\n\n    // binary operators\n    BOOL operator == ( CONST D3DXVECTOR2_16F& ) const;\n    BOOL operator != ( CONST D3DXVECTOR2_16F& ) const;\n\npublic:\n#endif //__cplusplus\n    D3DXFLOAT16 x, y;\n\n} D3DXVECTOR2_16F, *LPD3DXVECTOR2_16F;\n\n\n\n//--------------------------\n// 3D Vector\n//--------------------------\n#ifdef __cplusplus\ntypedef struct D3DXVECTOR3 : public D3DVECTOR\n{\npublic:\n    D3DXVECTOR3() {};\n    D3DXVECTOR3( CONST FLOAT * );\n    D3DXVECTOR3( CONST D3DVECTOR& );\n    D3DXVECTOR3( CONST D3DXFLOAT16 * );\n    D3DXVECTOR3( FLOAT x, FLOAT y, FLOAT z );\n\n    // casting\n    operator FLOAT* ();\n    operator CONST FLOAT* () const;\n\n    // assignment operators\n    D3DXVECTOR3& operator += ( CONST D3DXVECTOR3& );\n    D3DXVECTOR3& operator -= ( CONST D3DXVECTOR3& );\n    D3DXVECTOR3& operator *= ( FLOAT );\n    D3DXVECTOR3& operator /= ( FLOAT );\n\n    // unary operators\n    D3DXVECTOR3 operator + () const;\n    D3DXVECTOR3 operator - () const;\n\n    // binary operators\n    D3DXVECTOR3 operator + ( CONST D3DXVECTOR3& ) const;\n    D3DXVECTOR3 operator - ( CONST D3DXVECTOR3& ) const;\n    D3DXVECTOR3 operator * ( FLOAT ) const;\n    D3DXVECTOR3 operator / ( FLOAT ) const;\n\n    friend D3DXVECTOR3 operator * ( FLOAT, CONST struct D3DXVECTOR3& );\n\n    BOOL operator == ( CONST D3DXVECTOR3& ) const;\n    BOOL operator != ( CONST D3DXVECTOR3& ) const;\n\n} D3DXVECTOR3, *LPD3DXVECTOR3;\n\n#else //!__cplusplus\ntypedef struct _D3DVECTOR D3DXVECTOR3, *LPD3DXVECTOR3;\n#endif //!__cplusplus\n\n\n\n//--------------------------\n// 3D Vector (16 bit)\n//--------------------------\ntypedef struct D3DXVECTOR3_16F\n{\n#ifdef __cplusplus\npublic:\n    D3DXVECTOR3_16F() {};\n    D3DXVECTOR3_16F( CONST FLOAT * );\n    D3DXVECTOR3_16F( CONST D3DVECTOR& );\n    D3DXVECTOR3_16F( CONST D3DXFLOAT16 * );\n    D3DXVECTOR3_16F( CONST D3DXFLOAT16 &x, CONST D3DXFLOAT16 &y, CONST D3DXFLOAT16 &z );\n\n    // casting\n    operator D3DXFLOAT16* ();\n    operator CONST D3DXFLOAT16* () const;\n\n    // binary operators\n    BOOL operator == ( CONST D3DXVECTOR3_16F& ) const;\n    BOOL operator != ( CONST D3DXVECTOR3_16F& ) const;\n\npublic:\n#endif //__cplusplus\n    D3DXFLOAT16 x, y, z;\n\n} D3DXVECTOR3_16F, *LPD3DXVECTOR3_16F;\n\n\n\n//--------------------------\n// 4D Vector\n//--------------------------\ntypedef struct D3DXVECTOR4\n{\n#ifdef __cplusplus\npublic:\n    D3DXVECTOR4() {};\n    D3DXVECTOR4( CONST FLOAT* );\n    D3DXVECTOR4( CONST D3DXFLOAT16* );\n    D3DXVECTOR4( CONST D3DVECTOR& xyz, FLOAT w );\n    D3DXVECTOR4( FLOAT x, FLOAT y, FLOAT z, FLOAT w );\n\n    // casting\n    operator FLOAT* ();\n    operator CONST FLOAT* () const;\n\n    // assignment operators\n    D3DXVECTOR4& operator += ( CONST D3DXVECTOR4& );\n    D3DXVECTOR4& operator -= ( CONST D3DXVECTOR4& );\n    D3DXVECTOR4& operator *= ( FLOAT );\n    D3DXVECTOR4& operator /= ( FLOAT );\n\n    // unary operators\n    D3DXVECTOR4 operator + () const;\n    D3DXVECTOR4 operator - () const;\n\n    // binary operators\n    D3DXVECTOR4 operator + ( CONST D3DXVECTOR4& ) const;\n    D3DXVECTOR4 operator - ( CONST D3DXVECTOR4& ) const;\n    D3DXVECTOR4 operator * ( FLOAT ) const;\n    D3DXVECTOR4 operator / ( FLOAT ) const;\n\n    friend D3DXVECTOR4 operator * ( FLOAT, CONST D3DXVECTOR4& );\n\n    BOOL operator == ( CONST D3DXVECTOR4& ) const;\n    BOOL operator != ( CONST D3DXVECTOR4& ) const;\n\npublic:\n#endif //__cplusplus\n    FLOAT x, y, z, w;\n} D3DXVECTOR4, *LPD3DXVECTOR4;\n\n\n//--------------------------\n// 4D Vector (16 bit)\n//--------------------------\ntypedef struct D3DXVECTOR4_16F\n{\n#ifdef __cplusplus\npublic:\n    D3DXVECTOR4_16F() {};\n    D3DXVECTOR4_16F( CONST FLOAT * );\n    D3DXVECTOR4_16F( CONST D3DXFLOAT16* );\n    D3DXVECTOR4_16F( CONST D3DXVECTOR3_16F& xyz, CONST D3DXFLOAT16& w );\n    D3DXVECTOR4_16F( CONST D3DXFLOAT16& x, CONST D3DXFLOAT16& y, CONST D3DXFLOAT16& z, CONST D3DXFLOAT16& w );\n\n    // casting\n    operator D3DXFLOAT16* ();\n    operator CONST D3DXFLOAT16* () const;\n\n    // binary operators\n    BOOL operator == ( CONST D3DXVECTOR4_16F& ) const;\n    BOOL operator != ( CONST D3DXVECTOR4_16F& ) const;\n\npublic:\n#endif //__cplusplus\n    D3DXFLOAT16 x, y, z, w;\n\n} D3DXVECTOR4_16F, *LPD3DXVECTOR4_16F;\n\n\n\n//===========================================================================\n//\n// Matrices\n//\n//===========================================================================\n#ifdef __cplusplus\ntypedef struct D3DXMATRIX : public D3DMATRIX\n{\npublic:\n    D3DXMATRIX() {};\n    D3DXMATRIX( CONST FLOAT * );\n    D3DXMATRIX( CONST D3DMATRIX& );\n    D3DXMATRIX( CONST D3DXFLOAT16 * );\n    D3DXMATRIX( FLOAT _11, FLOAT _12, FLOAT _13, FLOAT _14,\n                FLOAT _21, FLOAT _22, FLOAT _23, FLOAT _24,\n                FLOAT _31, FLOAT _32, FLOAT _33, FLOAT _34,\n                FLOAT _41, FLOAT _42, FLOAT _43, FLOAT _44 );\n\n\n    // access grants\n    FLOAT& operator () ( UINT Row, UINT Col );\n    FLOAT  operator () ( UINT Row, UINT Col ) const;\n\n    // casting operators\n    operator FLOAT* ();\n    operator CONST FLOAT* () const;\n\n    // assignment operators\n    D3DXMATRIX& operator *= ( CONST D3DXMATRIX& );\n    D3DXMATRIX& operator += ( CONST D3DXMATRIX& );\n    D3DXMATRIX& operator -= ( CONST D3DXMATRIX& );\n    D3DXMATRIX& operator *= ( FLOAT );\n    D3DXMATRIX& operator /= ( FLOAT );\n\n    // unary operators\n    D3DXMATRIX operator + () const;\n    D3DXMATRIX operator - () const;\n\n    // binary operators\n    D3DXMATRIX operator * ( CONST D3DXMATRIX& ) const;\n    D3DXMATRIX operator + ( CONST D3DXMATRIX& ) const;\n    D3DXMATRIX operator - ( CONST D3DXMATRIX& ) const;\n    D3DXMATRIX operator * ( FLOAT ) const;\n    D3DXMATRIX operator / ( FLOAT ) const;\n\n    friend D3DXMATRIX operator * ( FLOAT, CONST D3DXMATRIX& );\n\n    BOOL operator == ( CONST D3DXMATRIX& ) const;\n    BOOL operator != ( CONST D3DXMATRIX& ) const;\n\n} D3DXMATRIX, *LPD3DXMATRIX;\n\n#else //!__cplusplus\ntypedef struct _D3DMATRIX D3DXMATRIX, *LPD3DXMATRIX;\n#endif //!__cplusplus\n\n\n//---------------------------------------------------------------------------\n// Aligned Matrices\n//\n// This class helps keep matrices 16-byte aligned as preferred by P4 cpus.\n// It aligns matrices on the stack and on the heap or in global scope.\n// It does this using __declspec(align(16)) which works on VC7 and on VC 6\n// with the processor pack. Unfortunately there is no way to detect the \n// latter so this is turned on only on VC7. On other compilers this is the\n// the same as D3DXMATRIX.\n//\n// Using this class on a compiler that does not actually do the alignment\n// can be dangerous since it will not expose bugs that ignore alignment.\n// E.g if an object of this class in inside a struct or class, and some code\n// memcopys data in it assuming tight packing. This could break on a compiler\n// that eventually start aligning the matrix.\n//---------------------------------------------------------------------------\n#ifdef __cplusplus\ntypedef struct _D3DXMATRIXA16 : public D3DXMATRIX\n{\n    _D3DXMATRIXA16() {};\n    _D3DXMATRIXA16( CONST FLOAT * );\n    _D3DXMATRIXA16( CONST D3DMATRIX& );\n    _D3DXMATRIXA16( CONST D3DXFLOAT16 * );\n    _D3DXMATRIXA16( FLOAT _11, FLOAT _12, FLOAT _13, FLOAT _14,\n                    FLOAT _21, FLOAT _22, FLOAT _23, FLOAT _24,\n                    FLOAT _31, FLOAT _32, FLOAT _33, FLOAT _34,\n                    FLOAT _41, FLOAT _42, FLOAT _43, FLOAT _44 );\n\n    // new operators\n    void* operator new   ( size_t );\n    void* operator new[] ( size_t );\n\n    // delete operators\n    void operator delete   ( void* );   // These are NOT virtual; Do not \n    void operator delete[] ( void* );   // cast to D3DXMATRIX and delete.\n    \n    // assignment operators\n    _D3DXMATRIXA16& operator = ( CONST D3DXMATRIX& );\n\n} _D3DXMATRIXA16;\n\n#else //!__cplusplus\ntypedef D3DXMATRIX  _D3DXMATRIXA16;\n#endif //!__cplusplus\n\n\n\n#if _MSC_VER >= 1300  // VC7\n#define D3DX_ALIGN16 __declspec(align(16))\n#else\n#define D3DX_ALIGN16  // Earlier compiler may not understand this, do nothing.\n#endif\n\ntypedef D3DX_ALIGN16 _D3DXMATRIXA16 D3DXMATRIXA16, *LPD3DXMATRIXA16;\n\n\n\n//===========================================================================\n//\n//    Quaternions\n//\n//===========================================================================\ntypedef struct D3DXQUATERNION\n{\n#ifdef __cplusplus\npublic:\n    D3DXQUATERNION() {};\n    D3DXQUATERNION( CONST FLOAT * );\n    D3DXQUATERNION( CONST D3DXFLOAT16 * );\n    D3DXQUATERNION( FLOAT x, FLOAT y, FLOAT z, FLOAT w );\n\n    // casting\n    operator FLOAT* ();\n    operator CONST FLOAT* () const;\n\n    // assignment operators\n    D3DXQUATERNION& operator += ( CONST D3DXQUATERNION& );\n    D3DXQUATERNION& operator -= ( CONST D3DXQUATERNION& );\n    D3DXQUATERNION& operator *= ( CONST D3DXQUATERNION& );\n    D3DXQUATERNION& operator *= ( FLOAT );\n    D3DXQUATERNION& operator /= ( FLOAT );\n\n    // unary operators\n    D3DXQUATERNION  operator + () const;\n    D3DXQUATERNION  operator - () const;\n\n    // binary operators\n    D3DXQUATERNION operator + ( CONST D3DXQUATERNION& ) const;\n    D3DXQUATERNION operator - ( CONST D3DXQUATERNION& ) const;\n    D3DXQUATERNION operator * ( CONST D3DXQUATERNION& ) const;\n    D3DXQUATERNION operator * ( FLOAT ) const;\n    D3DXQUATERNION operator / ( FLOAT ) const;\n\n    friend D3DXQUATERNION operator * (FLOAT, CONST D3DXQUATERNION& );\n\n    BOOL operator == ( CONST D3DXQUATERNION& ) const;\n    BOOL operator != ( CONST D3DXQUATERNION& ) const;\n\n#endif //__cplusplus\n    FLOAT x, y, z, w;\n} D3DXQUATERNION, *LPD3DXQUATERNION;\n\n\n//===========================================================================\n//\n// Planes\n//\n//===========================================================================\ntypedef struct D3DXPLANE\n{\n#ifdef __cplusplus\npublic:\n    D3DXPLANE() {};\n    D3DXPLANE( CONST FLOAT* );\n    D3DXPLANE( CONST D3DXFLOAT16* );\n    D3DXPLANE( FLOAT a, FLOAT b, FLOAT c, FLOAT d );\n\n    // casting\n    operator FLOAT* ();\n    operator CONST FLOAT* () const;\n\n    // assignment operators\n    D3DXPLANE& operator *= ( FLOAT );\n    D3DXPLANE& operator /= ( FLOAT );\n\n    // unary operators\n    D3DXPLANE operator + () const;\n    D3DXPLANE operator - () const;\n\n    // binary operators\n    D3DXPLANE operator * ( FLOAT ) const;\n    D3DXPLANE operator / ( FLOAT ) const;\n\n    friend D3DXPLANE operator * ( FLOAT, CONST D3DXPLANE& );\n\n    BOOL operator == ( CONST D3DXPLANE& ) const;\n    BOOL operator != ( CONST D3DXPLANE& ) const;\n\n#endif //__cplusplus\n    FLOAT a, b, c, d;\n} D3DXPLANE, *LPD3DXPLANE;\n\n\n//===========================================================================\n//\n// Colors\n//\n//===========================================================================\n\ntypedef struct D3DXCOLOR\n{\n#ifdef __cplusplus\npublic:\n    D3DXCOLOR() {};\n    D3DXCOLOR( UINT  argb );\n    D3DXCOLOR( CONST FLOAT * );\n    D3DXCOLOR( CONST D3DXFLOAT16 * );\n    D3DXCOLOR( FLOAT r, FLOAT g, FLOAT b, FLOAT a );\n\n    // casting\n    operator UINT  () const;\n\n    operator FLOAT* ();\n    operator CONST FLOAT* () const;\n\n    // assignment operators\n    D3DXCOLOR& operator += ( CONST D3DXCOLOR& );\n    D3DXCOLOR& operator -= ( CONST D3DXCOLOR& );\n    D3DXCOLOR& operator *= ( FLOAT );\n    D3DXCOLOR& operator /= ( FLOAT );\n\n    // unary operators\n    D3DXCOLOR operator + () const;\n    D3DXCOLOR operator - () const;\n\n    // binary operators\n    D3DXCOLOR operator + ( CONST D3DXCOLOR& ) const;\n    D3DXCOLOR operator - ( CONST D3DXCOLOR& ) const;\n    D3DXCOLOR operator * ( FLOAT ) const;\n    D3DXCOLOR operator / ( FLOAT ) const;\n\n    friend D3DXCOLOR operator * ( FLOAT, CONST D3DXCOLOR& );\n\n    BOOL operator == ( CONST D3DXCOLOR& ) const;\n    BOOL operator != ( CONST D3DXCOLOR& ) const;\n\n#endif //__cplusplus\n    FLOAT r, g, b, a;\n} D3DXCOLOR, *LPD3DXCOLOR;\n\n\n\n//===========================================================================\n//\n// D3DX math functions:\n//\n// NOTE:\n//  * All these functions can take the same object as in and out parameters.\n//\n//  * Out parameters are typically also returned as return values, so that\n//    the output of one function may be used as a parameter to another.\n//\n//===========================================================================\n\n//--------------------------\n// Float16\n//--------------------------\n\n// non-inline\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n// Converts an array 32-bit floats to 16-bit floats\nD3DXFLOAT16* WINAPI D3DXFloat32To16Array\n    ( D3DXFLOAT16 *pOut, CONST FLOAT *pIn, UINT n );\n\n// Converts an array 16-bit floats to 32-bit floats\nFLOAT* WINAPI D3DXFloat16To32Array\n    ( __out_ecount(n) FLOAT *pOut, __in_ecount(n) CONST D3DXFLOAT16 *pIn, UINT n );\n\n#ifdef __cplusplus\n}\n#endif\n\n\n//--------------------------\n// 2D Vector\n//--------------------------\n\n// inline\n\nFLOAT D3DXVec2Length\n    ( CONST D3DXVECTOR2 *pV );\n\nFLOAT D3DXVec2LengthSq\n    ( CONST D3DXVECTOR2 *pV );\n\nFLOAT D3DXVec2Dot\n    ( CONST D3DXVECTOR2 *pV1, CONST D3DXVECTOR2 *pV2 );\n\n// Z component of ((x1,y1,0) cross (x2,y2,0))\nFLOAT D3DXVec2CCW\n    ( CONST D3DXVECTOR2 *pV1, CONST D3DXVECTOR2 *pV2 );\n\nD3DXVECTOR2* D3DXVec2Add\n    ( D3DXVECTOR2 *pOut, CONST D3DXVECTOR2 *pV1, CONST D3DXVECTOR2 *pV2 );\n\nD3DXVECTOR2* D3DXVec2Subtract\n    ( D3DXVECTOR2 *pOut, CONST D3DXVECTOR2 *pV1, CONST D3DXVECTOR2 *pV2 );\n\n// Minimize each component.  x = min(x1, x2), y = min(y1, y2)\nD3DXVECTOR2* D3DXVec2Minimize\n    ( D3DXVECTOR2 *pOut, CONST D3DXVECTOR2 *pV1, CONST D3DXVECTOR2 *pV2 );\n\n// Maximize each component.  x = max(x1, x2), y = max(y1, y2)\nD3DXVECTOR2* D3DXVec2Maximize\n    ( D3DXVECTOR2 *pOut, CONST D3DXVECTOR2 *pV1, CONST D3DXVECTOR2 *pV2 );\n\nD3DXVECTOR2* D3DXVec2Scale\n    ( D3DXVECTOR2 *pOut, CONST D3DXVECTOR2 *pV, FLOAT s );\n\n// Linear interpolation. V1 + s(V2-V1)\nD3DXVECTOR2* D3DXVec2Lerp\n    ( D3DXVECTOR2 *pOut, CONST D3DXVECTOR2 *pV1, CONST D3DXVECTOR2 *pV2,\n      FLOAT s );\n\n// non-inline\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\nD3DXVECTOR2* WINAPI D3DXVec2Normalize\n    ( D3DXVECTOR2 *pOut, CONST D3DXVECTOR2 *pV );\n\n// Hermite interpolation between position V1, tangent T1 (when s == 0)\n// and position V2, tangent T2 (when s == 1).\nD3DXVECTOR2* WINAPI D3DXVec2Hermite\n    ( D3DXVECTOR2 *pOut, CONST D3DXVECTOR2 *pV1, CONST D3DXVECTOR2 *pT1,\n      CONST D3DXVECTOR2 *pV2, CONST D3DXVECTOR2 *pT2, FLOAT s );\n\n// CatmullRom interpolation between V1 (when s == 0) and V2 (when s == 1)\nD3DXVECTOR2* WINAPI D3DXVec2CatmullRom\n    ( D3DXVECTOR2 *pOut, CONST D3DXVECTOR2 *pV0, CONST D3DXVECTOR2 *pV1,\n      CONST D3DXVECTOR2 *pV2, CONST D3DXVECTOR2 *pV3, FLOAT s );\n\n// Barycentric coordinates.  V1 + f(V2-V1) + g(V3-V1)\nD3DXVECTOR2* WINAPI D3DXVec2BaryCentric\n    ( D3DXVECTOR2 *pOut, CONST D3DXVECTOR2 *pV1, CONST D3DXVECTOR2 *pV2,\n      CONST D3DXVECTOR2 *pV3, FLOAT f, FLOAT g);\n\n// Transform (x, y, 0, 1) by matrix.\nD3DXVECTOR4* WINAPI D3DXVec2Transform\n    ( D3DXVECTOR4 *pOut, CONST D3DXVECTOR2 *pV, CONST D3DXMATRIX *pM );\n\n// Transform (x, y, 0, 1) by matrix, project result back into w=1.\nD3DXVECTOR2* WINAPI D3DXVec2TransformCoord\n    ( D3DXVECTOR2 *pOut, CONST D3DXVECTOR2 *pV, CONST D3DXMATRIX *pM );\n\n// Transform (x, y, 0, 0) by matrix.\nD3DXVECTOR2* WINAPI D3DXVec2TransformNormal\n    ( D3DXVECTOR2 *pOut, CONST D3DXVECTOR2 *pV, CONST D3DXMATRIX *pM );\n     \n// Transform Array (x, y, 0, 1) by matrix.\nD3DXVECTOR4* WINAPI D3DXVec2TransformArray\n    ( D3DXVECTOR4 *pOut, UINT OutStride, CONST D3DXVECTOR2 *pV, UINT VStride, CONST D3DXMATRIX *pM, UINT n);\n\n// Transform Array (x, y, 0, 1) by matrix, project result back into w=1.\nD3DXVECTOR2* WINAPI D3DXVec2TransformCoordArray\n    ( D3DXVECTOR2 *pOut, UINT OutStride, CONST D3DXVECTOR2 *pV, UINT VStride, CONST D3DXMATRIX *pM, UINT n );\n\n// Transform Array (x, y, 0, 0) by matrix.\nD3DXVECTOR2* WINAPI D3DXVec2TransformNormalArray\n    ( D3DXVECTOR2 *pOut, UINT OutStride, CONST D3DXVECTOR2 *pV, UINT VStride, CONST D3DXMATRIX *pM, UINT n );\n    \n    \n\n#ifdef __cplusplus\n}\n#endif\n\n\n//--------------------------\n// 3D Vector\n//--------------------------\n\n// inline\n\nFLOAT D3DXVec3Length\n    ( CONST D3DXVECTOR3 *pV );\n\nFLOAT D3DXVec3LengthSq\n    ( CONST D3DXVECTOR3 *pV );\n\nFLOAT D3DXVec3Dot\n    ( CONST D3DXVECTOR3 *pV1, CONST D3DXVECTOR3 *pV2 );\n\nD3DXVECTOR3* D3DXVec3Cross\n    ( D3DXVECTOR3 *pOut, CONST D3DXVECTOR3 *pV1, CONST D3DXVECTOR3 *pV2 );\n\nD3DXVECTOR3* D3DXVec3Add\n    ( D3DXVECTOR3 *pOut, CONST D3DXVECTOR3 *pV1, CONST D3DXVECTOR3 *pV2 );\n\nD3DXVECTOR3* D3DXVec3Subtract\n    ( D3DXVECTOR3 *pOut, CONST D3DXVECTOR3 *pV1, CONST D3DXVECTOR3 *pV2 );\n\n// Minimize each component.  x = min(x1, x2), y = min(y1, y2), ...\nD3DXVECTOR3* D3DXVec3Minimize\n    ( D3DXVECTOR3 *pOut, CONST D3DXVECTOR3 *pV1, CONST D3DXVECTOR3 *pV2 );\n\n// Maximize each component.  x = max(x1, x2), y = max(y1, y2), ...\nD3DXVECTOR3* D3DXVec3Maximize\n    ( D3DXVECTOR3 *pOut, CONST D3DXVECTOR3 *pV1, CONST D3DXVECTOR3 *pV2 );\n\nD3DXVECTOR3* D3DXVec3Scale\n    ( D3DXVECTOR3 *pOut, CONST D3DXVECTOR3 *pV, FLOAT s);\n\n// Linear interpolation. V1 + s(V2-V1)\nD3DXVECTOR3* D3DXVec3Lerp\n    ( D3DXVECTOR3 *pOut, CONST D3DXVECTOR3 *pV1, CONST D3DXVECTOR3 *pV2,\n      FLOAT s );\n\n// non-inline\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\nD3DXVECTOR3* WINAPI D3DXVec3Normalize\n    ( D3DXVECTOR3 *pOut, CONST D3DXVECTOR3 *pV );\n\n// Hermite interpolation between position V1, tangent T1 (when s == 0)\n// and position V2, tangent T2 (when s == 1).\nD3DXVECTOR3* WINAPI D3DXVec3Hermite\n    ( D3DXVECTOR3 *pOut, CONST D3DXVECTOR3 *pV1, CONST D3DXVECTOR3 *pT1,\n      CONST D3DXVECTOR3 *pV2, CONST D3DXVECTOR3 *pT2, FLOAT s );\n\n// CatmullRom interpolation between V1 (when s == 0) and V2 (when s == 1)\nD3DXVECTOR3* WINAPI D3DXVec3CatmullRom\n    ( D3DXVECTOR3 *pOut, CONST D3DXVECTOR3 *pV0, CONST D3DXVECTOR3 *pV1,\n      CONST D3DXVECTOR3 *pV2, CONST D3DXVECTOR3 *pV3, FLOAT s );\n\n// Barycentric coordinates.  V1 + f(V2-V1) + g(V3-V1)\nD3DXVECTOR3* WINAPI D3DXVec3BaryCentric\n    ( D3DXVECTOR3 *pOut, CONST D3DXVECTOR3 *pV1, CONST D3DXVECTOR3 *pV2,\n      CONST D3DXVECTOR3 *pV3, FLOAT f, FLOAT g);\n\n// Transform (x, y, z, 1) by matrix.\nD3DXVECTOR4* WINAPI D3DXVec3Transform\n    ( D3DXVECTOR4 *pOut, CONST D3DXVECTOR3 *pV, CONST D3DXMATRIX *pM );\n\n// Transform (x, y, z, 1) by matrix, project result back into w=1.\nD3DXVECTOR3* WINAPI D3DXVec3TransformCoord\n    ( D3DXVECTOR3 *pOut, CONST D3DXVECTOR3 *pV, CONST D3DXMATRIX *pM );\n\n// Transform (x, y, z, 0) by matrix.  If you transforming a normal by a \n// non-affine matrix, the matrix you pass to this function should be the \n// transpose of the inverse of the matrix you would use to transform a coord.\nD3DXVECTOR3* WINAPI D3DXVec3TransformNormal\n    ( D3DXVECTOR3 *pOut, CONST D3DXVECTOR3 *pV, CONST D3DXMATRIX *pM );\n    \n    \n// Transform Array (x, y, z, 1) by matrix. \nD3DXVECTOR4* WINAPI D3DXVec3TransformArray\n    ( D3DXVECTOR4 *pOut, UINT OutStride, CONST D3DXVECTOR3 *pV, UINT VStride, CONST D3DXMATRIX *pM, UINT n );\n\n// Transform Array (x, y, z, 1) by matrix, project result back into w=1.\nD3DXVECTOR3* WINAPI D3DXVec3TransformCoordArray\n    ( D3DXVECTOR3 *pOut, UINT OutStride, CONST D3DXVECTOR3 *pV, UINT VStride, CONST D3DXMATRIX *pM, UINT n );\n\n// Transform (x, y, z, 0) by matrix.  If you transforming a normal by a \n// non-affine matrix, the matrix you pass to this function should be the \n// transpose of the inverse of the matrix you would use to transform a coord.\nD3DXVECTOR3* WINAPI D3DXVec3TransformNormalArray\n    ( D3DXVECTOR3 *pOut, UINT OutStride, CONST D3DXVECTOR3 *pV, UINT VStride, CONST D3DXMATRIX *pM, UINT n );\n\n// Project vector from object space into screen space\nD3DXVECTOR3* WINAPI D3DXVec3Project\n    ( D3DXVECTOR3 *pOut, CONST D3DXVECTOR3 *pV, CONST D3D10_VIEWPORT *pViewport,\n      CONST D3DXMATRIX *pProjection, CONST D3DXMATRIX *pView, CONST D3DXMATRIX *pWorld);\n\n// Project vector from screen space into object space\nD3DXVECTOR3* WINAPI D3DXVec3Unproject\n    ( D3DXVECTOR3 *pOut, CONST D3DXVECTOR3 *pV, CONST D3D10_VIEWPORT *pViewport,\n      CONST D3DXMATRIX *pProjection, CONST D3DXMATRIX *pView, CONST D3DXMATRIX *pWorld);\n      \n// Project vector Array from object space into screen space\nD3DXVECTOR3* WINAPI D3DXVec3ProjectArray\n    ( D3DXVECTOR3 *pOut, UINT OutStride,CONST D3DXVECTOR3 *pV, UINT VStride,CONST D3D10_VIEWPORT *pViewport,\n      CONST D3DXMATRIX *pProjection, CONST D3DXMATRIX *pView, CONST D3DXMATRIX *pWorld, UINT n);\n\n// Project vector Array from screen space into object space\nD3DXVECTOR3* WINAPI D3DXVec3UnprojectArray\n    ( D3DXVECTOR3 *pOut, UINT OutStride, CONST D3DXVECTOR3 *pV, UINT VStride, CONST D3D10_VIEWPORT *pViewport,\n      CONST D3DXMATRIX *pProjection, CONST D3DXMATRIX *pView, CONST D3DXMATRIX *pWorld, UINT n);\n\n\n#ifdef __cplusplus\n}\n#endif\n\n\n\n//--------------------------\n// 4D Vector\n//--------------------------\n\n// inline\n\nFLOAT D3DXVec4Length\n    ( CONST D3DXVECTOR4 *pV );\n\nFLOAT D3DXVec4LengthSq\n    ( CONST D3DXVECTOR4 *pV );\n\nFLOAT D3DXVec4Dot\n    ( CONST D3DXVECTOR4 *pV1, CONST D3DXVECTOR4 *pV2 );\n\nD3DXVECTOR4* D3DXVec4Add\n    ( D3DXVECTOR4 *pOut, CONST D3DXVECTOR4 *pV1, CONST D3DXVECTOR4 *pV2);\n\nD3DXVECTOR4* D3DXVec4Subtract\n    ( D3DXVECTOR4 *pOut, CONST D3DXVECTOR4 *pV1, CONST D3DXVECTOR4 *pV2);\n\n// Minimize each component.  x = min(x1, x2), y = min(y1, y2), ...\nD3DXVECTOR4* D3DXVec4Minimize\n    ( D3DXVECTOR4 *pOut, CONST D3DXVECTOR4 *pV1, CONST D3DXVECTOR4 *pV2);\n\n// Maximize each component.  x = max(x1, x2), y = max(y1, y2), ...\nD3DXVECTOR4* D3DXVec4Maximize\n    ( D3DXVECTOR4 *pOut, CONST D3DXVECTOR4 *pV1, CONST D3DXVECTOR4 *pV2);\n\nD3DXVECTOR4* D3DXVec4Scale\n    ( D3DXVECTOR4 *pOut, CONST D3DXVECTOR4 *pV, FLOAT s);\n\n// Linear interpolation. V1 + s(V2-V1)\nD3DXVECTOR4* D3DXVec4Lerp\n    ( D3DXVECTOR4 *pOut, CONST D3DXVECTOR4 *pV1, CONST D3DXVECTOR4 *pV2,\n      FLOAT s );\n\n// non-inline\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n// Cross-product in 4 dimensions.\nD3DXVECTOR4* WINAPI D3DXVec4Cross\n    ( D3DXVECTOR4 *pOut, CONST D3DXVECTOR4 *pV1, CONST D3DXVECTOR4 *pV2,\n      CONST D3DXVECTOR4 *pV3);\n\nD3DXVECTOR4* WINAPI D3DXVec4Normalize\n    ( D3DXVECTOR4 *pOut, CONST D3DXVECTOR4 *pV );\n\n// Hermite interpolation between position V1, tangent T1 (when s == 0)\n// and position V2, tangent T2 (when s == 1).\nD3DXVECTOR4* WINAPI D3DXVec4Hermite\n    ( D3DXVECTOR4 *pOut, CONST D3DXVECTOR4 *pV1, CONST D3DXVECTOR4 *pT1,\n      CONST D3DXVECTOR4 *pV2, CONST D3DXVECTOR4 *pT2, FLOAT s );\n\n// CatmullRom interpolation between V1 (when s == 0) and V2 (when s == 1)\nD3DXVECTOR4* WINAPI D3DXVec4CatmullRom\n    ( D3DXVECTOR4 *pOut, CONST D3DXVECTOR4 *pV0, CONST D3DXVECTOR4 *pV1,\n      CONST D3DXVECTOR4 *pV2, CONST D3DXVECTOR4 *pV3, FLOAT s );\n\n// Barycentric coordinates.  V1 + f(V2-V1) + g(V3-V1)\nD3DXVECTOR4* WINAPI D3DXVec4BaryCentric\n    ( D3DXVECTOR4 *pOut, CONST D3DXVECTOR4 *pV1, CONST D3DXVECTOR4 *pV2,\n      CONST D3DXVECTOR4 *pV3, FLOAT f, FLOAT g);\n\n// Transform vector by matrix.\nD3DXVECTOR4* WINAPI D3DXVec4Transform\n    ( D3DXVECTOR4 *pOut, CONST D3DXVECTOR4 *pV, CONST D3DXMATRIX *pM );\n    \n// Transform vector array by matrix.\nD3DXVECTOR4* WINAPI D3DXVec4TransformArray\n    ( D3DXVECTOR4 *pOut, UINT OutStride, CONST D3DXVECTOR4 *pV, UINT VStride, CONST D3DXMATRIX *pM, UINT n );\n\n#ifdef __cplusplus\n}\n#endif\n\n\n//--------------------------\n// 4D Matrix\n//--------------------------\n\n// inline\n\nD3DXMATRIX* D3DXMatrixIdentity\n    ( D3DXMATRIX *pOut );\n\nBOOL D3DXMatrixIsIdentity\n    ( CONST D3DXMATRIX *pM );\n\n\n// non-inline\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\nFLOAT WINAPI D3DXMatrixDeterminant\n    ( CONST D3DXMATRIX *pM );\n\nHRESULT WINAPI D3DXMatrixDecompose\n    ( D3DXVECTOR3 *pOutScale, D3DXQUATERNION *pOutRotation, \n\t  D3DXVECTOR3 *pOutTranslation, CONST D3DXMATRIX *pM );\n\nD3DXMATRIX* WINAPI D3DXMatrixTranspose\n    ( D3DXMATRIX *pOut, CONST D3DXMATRIX *pM );\n\n// Matrix multiplication.  The result represents the transformation M2\n// followed by the transformation M1.  (Out = M1 * M2)\nD3DXMATRIX* WINAPI D3DXMatrixMultiply\n    ( D3DXMATRIX *pOut, CONST D3DXMATRIX *pM1, CONST D3DXMATRIX *pM2 );\n\n// Matrix multiplication, followed by a transpose. (Out = T(M1 * M2))\nD3DXMATRIX* WINAPI D3DXMatrixMultiplyTranspose\n    ( D3DXMATRIX *pOut, CONST D3DXMATRIX *pM1, CONST D3DXMATRIX *pM2 );\n\n// Calculate inverse of matrix.  Inversion my fail, in which case NULL will\n// be returned.  The determinant of pM is also returned it pfDeterminant\n// is non-NULL.\nD3DXMATRIX* WINAPI D3DXMatrixInverse\n    ( D3DXMATRIX *pOut, FLOAT *pDeterminant, CONST D3DXMATRIX *pM );\n\n// Build a matrix which scales by (sx, sy, sz)\nD3DXMATRIX* WINAPI D3DXMatrixScaling\n    ( D3DXMATRIX *pOut, FLOAT sx, FLOAT sy, FLOAT sz );\n\n// Build a matrix which translates by (x, y, z)\nD3DXMATRIX* WINAPI D3DXMatrixTranslation\n    ( D3DXMATRIX *pOut, FLOAT x, FLOAT y, FLOAT z );\n\n// Build a matrix which rotates around the X axis\nD3DXMATRIX* WINAPI D3DXMatrixRotationX\n    ( D3DXMATRIX *pOut, FLOAT Angle );\n\n// Build a matrix which rotates around the Y axis\nD3DXMATRIX* WINAPI D3DXMatrixRotationY\n    ( D3DXMATRIX *pOut, FLOAT Angle );\n\n// Build a matrix which rotates around the Z axis\nD3DXMATRIX* WINAPI D3DXMatrixRotationZ\n    ( D3DXMATRIX *pOut, FLOAT Angle );\n\n// Build a matrix which rotates around an arbitrary axis\nD3DXMATRIX* WINAPI D3DXMatrixRotationAxis\n    ( D3DXMATRIX *pOut, CONST D3DXVECTOR3 *pV, FLOAT Angle );\n\n// Build a matrix from a quaternion\nD3DXMATRIX* WINAPI D3DXMatrixRotationQuaternion\n    ( D3DXMATRIX *pOut, CONST D3DXQUATERNION *pQ);\n\n// Yaw around the Y axis, a pitch around the X axis,\n// and a roll around the Z axis.\nD3DXMATRIX* WINAPI D3DXMatrixRotationYawPitchRoll\n    ( D3DXMATRIX *pOut, FLOAT Yaw, FLOAT Pitch, FLOAT Roll );\n\n// Build transformation matrix.  NULL arguments are treated as identity.\n// Mout = Msc-1 * Msr-1 * Ms * Msr * Msc * Mrc-1 * Mr * Mrc * Mt\nD3DXMATRIX* WINAPI D3DXMatrixTransformation\n    ( D3DXMATRIX *pOut, CONST D3DXVECTOR3 *pScalingCenter,\n      CONST D3DXQUATERNION *pScalingRotation, CONST D3DXVECTOR3 *pScaling,\n      CONST D3DXVECTOR3 *pRotationCenter, CONST D3DXQUATERNION *pRotation,\n      CONST D3DXVECTOR3 *pTranslation);\n\n// Build 2D transformation matrix in XY plane.  NULL arguments are treated as identity.\n// Mout = Msc-1 * Msr-1 * Ms * Msr * Msc * Mrc-1 * Mr * Mrc * Mt\nD3DXMATRIX* WINAPI D3DXMatrixTransformation2D\n    ( D3DXMATRIX *pOut, CONST D3DXVECTOR2* pScalingCenter, \n      FLOAT ScalingRotation, CONST D3DXVECTOR2* pScaling, \n      CONST D3DXVECTOR2* pRotationCenter, FLOAT Rotation, \n      CONST D3DXVECTOR2* pTranslation);\n\n// Build affine transformation matrix.  NULL arguments are treated as identity.\n// Mout = Ms * Mrc-1 * Mr * Mrc * Mt\nD3DXMATRIX* WINAPI D3DXMatrixAffineTransformation\n    ( D3DXMATRIX *pOut, FLOAT Scaling, CONST D3DXVECTOR3 *pRotationCenter,\n      CONST D3DXQUATERNION *pRotation, CONST D3DXVECTOR3 *pTranslation);\n\n// Build 2D affine transformation matrix in XY plane.  NULL arguments are treated as identity.\n// Mout = Ms * Mrc-1 * Mr * Mrc * Mt\nD3DXMATRIX* WINAPI D3DXMatrixAffineTransformation2D\n    ( D3DXMATRIX *pOut, FLOAT Scaling, CONST D3DXVECTOR2* pRotationCenter, \n      FLOAT Rotation, CONST D3DXVECTOR2* pTranslation);\n\n// Build a lookat matrix. (right-handed)\nD3DXMATRIX* WINAPI D3DXMatrixLookAtRH\n    ( D3DXMATRIX *pOut, CONST D3DXVECTOR3 *pEye, CONST D3DXVECTOR3 *pAt,\n      CONST D3DXVECTOR3 *pUp );\n\n// Build a lookat matrix. (left-handed)\nD3DXMATRIX* WINAPI D3DXMatrixLookAtLH\n    ( D3DXMATRIX *pOut, CONST D3DXVECTOR3 *pEye, CONST D3DXVECTOR3 *pAt,\n      CONST D3DXVECTOR3 *pUp );\n\n// Build a perspective projection matrix. (right-handed)\nD3DXMATRIX* WINAPI D3DXMatrixPerspectiveRH\n    ( D3DXMATRIX *pOut, FLOAT w, FLOAT h, FLOAT zn, FLOAT zf );\n\n// Build a perspective projection matrix. (left-handed)\nD3DXMATRIX* WINAPI D3DXMatrixPerspectiveLH\n    ( D3DXMATRIX *pOut, FLOAT w, FLOAT h, FLOAT zn, FLOAT zf );\n\n// Build a perspective projection matrix. (right-handed)\nD3DXMATRIX* WINAPI D3DXMatrixPerspectiveFovRH\n    ( D3DXMATRIX *pOut, FLOAT fovy, FLOAT Aspect, FLOAT zn, FLOAT zf );\n\n// Build a perspective projection matrix. (left-handed)\nD3DXMATRIX* WINAPI D3DXMatrixPerspectiveFovLH\n    ( D3DXMATRIX *pOut, FLOAT fovy, FLOAT Aspect, FLOAT zn, FLOAT zf );\n\n// Build a perspective projection matrix. (right-handed)\nD3DXMATRIX* WINAPI D3DXMatrixPerspectiveOffCenterRH\n    ( D3DXMATRIX *pOut, FLOAT l, FLOAT r, FLOAT b, FLOAT t, FLOAT zn,\n      FLOAT zf );\n\n// Build a perspective projection matrix. (left-handed)\nD3DXMATRIX* WINAPI D3DXMatrixPerspectiveOffCenterLH\n    ( D3DXMATRIX *pOut, FLOAT l, FLOAT r, FLOAT b, FLOAT t, FLOAT zn,\n      FLOAT zf );\n\n// Build an ortho projection matrix. (right-handed)\nD3DXMATRIX* WINAPI D3DXMatrixOrthoRH\n    ( D3DXMATRIX *pOut, FLOAT w, FLOAT h, FLOAT zn, FLOAT zf );\n\n// Build an ortho projection matrix. (left-handed)\nD3DXMATRIX* WINAPI D3DXMatrixOrthoLH\n    ( D3DXMATRIX *pOut, FLOAT w, FLOAT h, FLOAT zn, FLOAT zf );\n\n// Build an ortho projection matrix. (right-handed)\nD3DXMATRIX* WINAPI D3DXMatrixOrthoOffCenterRH\n    ( D3DXMATRIX *pOut, FLOAT l, FLOAT r, FLOAT b, FLOAT t, FLOAT zn,\n      FLOAT zf );\n\n// Build an ortho projection matrix. (left-handed)\nD3DXMATRIX* WINAPI D3DXMatrixOrthoOffCenterLH\n    ( D3DXMATRIX *pOut, FLOAT l, FLOAT r, FLOAT b, FLOAT t, FLOAT zn,\n      FLOAT zf );\n\n// Build a matrix which flattens geometry into a plane, as if casting\n// a shadow from a light.\nD3DXMATRIX* WINAPI D3DXMatrixShadow\n    ( D3DXMATRIX *pOut, CONST D3DXVECTOR4 *pLight,\n      CONST D3DXPLANE *pPlane );\n\n// Build a matrix which reflects the coordinate system about a plane\nD3DXMATRIX* WINAPI D3DXMatrixReflect\n    ( D3DXMATRIX *pOut, CONST D3DXPLANE *pPlane );\n\n#ifdef __cplusplus\n}\n#endif\n\n\n//--------------------------\n// Quaternion\n//--------------------------\n\n// inline\n\nFLOAT D3DXQuaternionLength\n    ( CONST D3DXQUATERNION *pQ );\n\n// Length squared, or \"norm\"\nFLOAT D3DXQuaternionLengthSq\n    ( CONST D3DXQUATERNION *pQ );\n\nFLOAT D3DXQuaternionDot\n    ( CONST D3DXQUATERNION *pQ1, CONST D3DXQUATERNION *pQ2 );\n\n// (0, 0, 0, 1)\nD3DXQUATERNION* D3DXQuaternionIdentity\n    ( D3DXQUATERNION *pOut );\n\nBOOL D3DXQuaternionIsIdentity\n    ( CONST D3DXQUATERNION *pQ );\n\n// (-x, -y, -z, w)\nD3DXQUATERNION* D3DXQuaternionConjugate\n    ( D3DXQUATERNION *pOut, CONST D3DXQUATERNION *pQ );\n\n\n// non-inline\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n// Compute a quaternin's axis and angle of rotation. Expects unit quaternions.\nvoid WINAPI D3DXQuaternionToAxisAngle\n    ( CONST D3DXQUATERNION *pQ, D3DXVECTOR3 *pAxis, FLOAT *pAngle );\n\n// Build a quaternion from a rotation matrix.\nD3DXQUATERNION* WINAPI D3DXQuaternionRotationMatrix\n    ( D3DXQUATERNION *pOut, CONST D3DXMATRIX *pM);\n\n// Rotation about arbitrary axis.\nD3DXQUATERNION* WINAPI D3DXQuaternionRotationAxis\n    ( D3DXQUATERNION *pOut, CONST D3DXVECTOR3 *pV, FLOAT Angle );\n\n// Yaw around the Y axis, a pitch around the X axis,\n// and a roll around the Z axis.\nD3DXQUATERNION* WINAPI D3DXQuaternionRotationYawPitchRoll\n    ( D3DXQUATERNION *pOut, FLOAT Yaw, FLOAT Pitch, FLOAT Roll );\n\n// Quaternion multiplication.  The result represents the rotation Q2\n// followed by the rotation Q1.  (Out = Q2 * Q1)\nD3DXQUATERNION* WINAPI D3DXQuaternionMultiply\n    ( D3DXQUATERNION *pOut, CONST D3DXQUATERNION *pQ1,\n      CONST D3DXQUATERNION *pQ2 );\n\nD3DXQUATERNION* WINAPI D3DXQuaternionNormalize\n    ( D3DXQUATERNION *pOut, CONST D3DXQUATERNION *pQ );\n\n// Conjugate and re-norm\nD3DXQUATERNION* WINAPI D3DXQuaternionInverse\n    ( D3DXQUATERNION *pOut, CONST D3DXQUATERNION *pQ );\n\n// Expects unit quaternions.\n// if q = (cos(theta), sin(theta) * v); ln(q) = (0, theta * v)\nD3DXQUATERNION* WINAPI D3DXQuaternionLn\n    ( D3DXQUATERNION *pOut, CONST D3DXQUATERNION *pQ );\n\n// Expects pure quaternions. (w == 0)  w is ignored in calculation.\n// if q = (0, theta * v); exp(q) = (cos(theta), sin(theta) * v)\nD3DXQUATERNION* WINAPI D3DXQuaternionExp\n    ( D3DXQUATERNION *pOut, CONST D3DXQUATERNION *pQ );\n      \n// Spherical linear interpolation between Q1 (t == 0) and Q2 (t == 1).\n// Expects unit quaternions.\nD3DXQUATERNION* WINAPI D3DXQuaternionSlerp\n    ( D3DXQUATERNION *pOut, CONST D3DXQUATERNION *pQ1,\n      CONST D3DXQUATERNION *pQ2, FLOAT t );\n\n// Spherical quadrangle interpolation.\n// Slerp(Slerp(Q1, C, t), Slerp(A, B, t), 2t(1-t))\nD3DXQUATERNION* WINAPI D3DXQuaternionSquad\n    ( D3DXQUATERNION *pOut, CONST D3DXQUATERNION *pQ1,\n      CONST D3DXQUATERNION *pA, CONST D3DXQUATERNION *pB,\n      CONST D3DXQUATERNION *pC, FLOAT t );\n\n// Setup control points for spherical quadrangle interpolation\n// from Q1 to Q2.  The control points are chosen in such a way \n// to ensure the continuity of tangents with adjacent segments.\nvoid WINAPI D3DXQuaternionSquadSetup\n    ( D3DXQUATERNION *pAOut, D3DXQUATERNION *pBOut, D3DXQUATERNION *pCOut,\n      CONST D3DXQUATERNION *pQ0, CONST D3DXQUATERNION *pQ1, \n      CONST D3DXQUATERNION *pQ2, CONST D3DXQUATERNION *pQ3 );\n\n// Barycentric interpolation.\n// Slerp(Slerp(Q1, Q2, f+g), Slerp(Q1, Q3, f+g), g/(f+g))\nD3DXQUATERNION* WINAPI D3DXQuaternionBaryCentric\n    ( D3DXQUATERNION *pOut, CONST D3DXQUATERNION *pQ1,\n      CONST D3DXQUATERNION *pQ2, CONST D3DXQUATERNION *pQ3,\n      FLOAT f, FLOAT g );\n\n#ifdef __cplusplus\n}\n#endif\n\n\n//--------------------------\n// Plane\n//--------------------------\n\n// inline\n\n// ax + by + cz + dw\nFLOAT D3DXPlaneDot\n    ( CONST D3DXPLANE *pP, CONST D3DXVECTOR4 *pV);\n\n// ax + by + cz + d\nFLOAT D3DXPlaneDotCoord\n    ( CONST D3DXPLANE *pP, CONST D3DXVECTOR3 *pV);\n\n// ax + by + cz\nFLOAT D3DXPlaneDotNormal\n    ( CONST D3DXPLANE *pP, CONST D3DXVECTOR3 *pV);\n\nD3DXPLANE* D3DXPlaneScale\n    (D3DXPLANE *pOut, CONST D3DXPLANE *pP, FLOAT s);\n\n// non-inline\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n// Normalize plane (so that |a,b,c| == 1)\nD3DXPLANE* WINAPI D3DXPlaneNormalize\n    ( D3DXPLANE *pOut, CONST D3DXPLANE *pP);\n\n// Find the intersection between a plane and a line.  If the line is\n// parallel to the plane, NULL is returned.\nD3DXVECTOR3* WINAPI D3DXPlaneIntersectLine\n    ( D3DXVECTOR3 *pOut, CONST D3DXPLANE *pP, CONST D3DXVECTOR3 *pV1,\n      CONST D3DXVECTOR3 *pV2);\n\n// Construct a plane from a point and a normal\nD3DXPLANE* WINAPI D3DXPlaneFromPointNormal\n    ( D3DXPLANE *pOut, CONST D3DXVECTOR3 *pPoint, CONST D3DXVECTOR3 *pNormal);\n\n// Construct a plane from 3 points\nD3DXPLANE* WINAPI D3DXPlaneFromPoints\n    ( D3DXPLANE *pOut, CONST D3DXVECTOR3 *pV1, CONST D3DXVECTOR3 *pV2,\n      CONST D3DXVECTOR3 *pV3);\n\n// Transform a plane by a matrix.  The vector (a,b,c) must be normal.\n// M should be the inverse transpose of the transformation desired.\nD3DXPLANE* WINAPI D3DXPlaneTransform\n    ( D3DXPLANE *pOut, CONST D3DXPLANE *pP, CONST D3DXMATRIX *pM );\n    \n// Transform an array of planes by a matrix.  The vectors (a,b,c) must be normal.\n// M should be the inverse transpose of the transformation desired.\nD3DXPLANE* WINAPI D3DXPlaneTransformArray\n    ( D3DXPLANE *pOut, UINT OutStride, CONST D3DXPLANE *pP, UINT PStride, CONST D3DXMATRIX *pM, UINT n );\n\n#ifdef __cplusplus\n}\n#endif\n\n\n//--------------------------\n// Color\n//--------------------------\n\n// inline\n\n// (1-r, 1-g, 1-b, a)\nD3DXCOLOR* D3DXColorNegative\n    (D3DXCOLOR *pOut, CONST D3DXCOLOR *pC);\n\nD3DXCOLOR* D3DXColorAdd\n    (D3DXCOLOR *pOut, CONST D3DXCOLOR *pC1, CONST D3DXCOLOR *pC2);\n\nD3DXCOLOR* D3DXColorSubtract\n    (D3DXCOLOR *pOut, CONST D3DXCOLOR *pC1, CONST D3DXCOLOR *pC2);\n\nD3DXCOLOR* D3DXColorScale\n    (D3DXCOLOR *pOut, CONST D3DXCOLOR *pC, FLOAT s);\n\n// (r1*r2, g1*g2, b1*b2, a1*a2)\nD3DXCOLOR* D3DXColorModulate\n    (D3DXCOLOR *pOut, CONST D3DXCOLOR *pC1, CONST D3DXCOLOR *pC2);\n\n// Linear interpolation of r,g,b, and a. C1 + s(C2-C1)\nD3DXCOLOR* D3DXColorLerp\n    (D3DXCOLOR *pOut, CONST D3DXCOLOR *pC1, CONST D3DXCOLOR *pC2, FLOAT s);\n\n// non-inline\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n// Interpolate r,g,b between desaturated color and color.\n// DesaturatedColor + s(Color - DesaturatedColor)\nD3DXCOLOR* WINAPI D3DXColorAdjustSaturation\n    (D3DXCOLOR *pOut, CONST D3DXCOLOR *pC, FLOAT s);\n\n// Interpolate r,g,b between 50% grey and color.  Grey + s(Color - Grey)\nD3DXCOLOR* WINAPI D3DXColorAdjustContrast\n    (D3DXCOLOR *pOut, CONST D3DXCOLOR *pC, FLOAT c);\n\n#ifdef __cplusplus\n}\n#endif\n\n\n\n\n//--------------------------\n// Misc\n//--------------------------\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n// Calculate Fresnel term given the cosine of theta (likely obtained by\n// taking the dot of two normals), and the refraction index of the material.\nFLOAT WINAPI D3DXFresnelTerm\n    (FLOAT CosTheta, FLOAT RefractionIndex);     \n\n#ifdef __cplusplus\n}\n#endif\n\n\n\n//===========================================================================\n//\n//    Matrix Stack\n//\n//===========================================================================\n\ntypedef interface ID3DXMatrixStack ID3DXMatrixStack;\ntypedef interface ID3DXMatrixStack *LPD3DXMATRIXSTACK;\n\n// {C7885BA7-F990-4fe7-922D-8515E477DD85}\nDEFINE_GUID(IID_ID3DXMatrixStack, \n0xc7885ba7, 0xf990, 0x4fe7, 0x92, 0x2d, 0x85, 0x15, 0xe4, 0x77, 0xdd, 0x85);\n\n\n#undef INTERFACE\n#define INTERFACE ID3DXMatrixStack\n\nDECLARE_INTERFACE_(ID3DXMatrixStack, IUnknown)\n{\n    //\n    // IUnknown methods\n    //\n    STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID * ppvObj) PURE;\n    STDMETHOD_(ULONG,AddRef)(THIS) PURE;\n    STDMETHOD_(ULONG,Release)(THIS) PURE;\n\n    //\n    // ID3DXMatrixStack methods\n    //\n\n    // Pops the top of the stack, returns the current top\n    // *after* popping the top.\n    STDMETHOD(Pop)(THIS) PURE;\n\n    // Pushes the stack by one, duplicating the current matrix.\n    STDMETHOD(Push)(THIS) PURE;\n\n    // Loads identity in the current matrix.\n    STDMETHOD(LoadIdentity)(THIS) PURE;\n\n    // Loads the given matrix into the current matrix\n    STDMETHOD(LoadMatrix)(THIS_ CONST D3DXMATRIX* pM ) PURE;\n\n    // Right-Multiplies the given matrix to the current matrix.\n    // (transformation is about the current world origin)\n    STDMETHOD(MultMatrix)(THIS_ CONST D3DXMATRIX* pM ) PURE;\n\n    // Left-Multiplies the given matrix to the current matrix\n    // (transformation is about the local origin of the object)\n    STDMETHOD(MultMatrixLocal)(THIS_ CONST D3DXMATRIX* pM ) PURE;\n\n    // Right multiply the current matrix with the computed rotation\n    // matrix, counterclockwise about the given axis with the given angle.\n    // (rotation is about the current world origin)\n    STDMETHOD(RotateAxis)\n        (THIS_ CONST D3DXVECTOR3* pV, FLOAT Angle) PURE;\n\n    // Left multiply the current matrix with the computed rotation\n    // matrix, counterclockwise about the given axis with the given angle.\n    // (rotation is about the local origin of the object)\n    STDMETHOD(RotateAxisLocal)\n        (THIS_ CONST D3DXVECTOR3* pV, FLOAT Angle) PURE;\n\n    // Right multiply the current matrix with the computed rotation\n    // matrix. All angles are counterclockwise. (rotation is about the\n    // current world origin)\n\n    // The rotation is composed of a yaw around the Y axis, a pitch around\n    // the X axis, and a roll around the Z axis.\n    STDMETHOD(RotateYawPitchRoll)\n        (THIS_ FLOAT Yaw, FLOAT Pitch, FLOAT Roll) PURE;\n\n    // Left multiply the current matrix with the computed rotation\n    // matrix. All angles are counterclockwise. (rotation is about the\n    // local origin of the object)\n\n    // The rotation is composed of a yaw around the Y axis, a pitch around\n    // the X axis, and a roll around the Z axis.\n    STDMETHOD(RotateYawPitchRollLocal)\n        (THIS_ FLOAT Yaw, FLOAT Pitch, FLOAT Roll) PURE;\n\n    // Right multiply the current matrix with the computed scale\n    // matrix. (transformation is about the current world origin)\n    STDMETHOD(Scale)(THIS_ FLOAT x, FLOAT y, FLOAT z) PURE;\n\n    // Left multiply the current matrix with the computed scale\n    // matrix. (transformation is about the local origin of the object)\n    STDMETHOD(ScaleLocal)(THIS_ FLOAT x, FLOAT y, FLOAT z) PURE;\n\n    // Right multiply the current matrix with the computed translation\n    // matrix. (transformation is about the current world origin)\n    STDMETHOD(Translate)(THIS_ FLOAT x, FLOAT y, FLOAT z ) PURE;\n\n    // Left multiply the current matrix with the computed translation\n    // matrix. (transformation is about the local origin of the object)\n    STDMETHOD(TranslateLocal)(THIS_ FLOAT x, FLOAT y, FLOAT z) PURE;\n\n    // Obtain the current matrix at the top of the stack\n    STDMETHOD_(D3DXMATRIX*, GetTop)(THIS) PURE;\n};\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\nHRESULT WINAPI \n    D3DXCreateMatrixStack( \n        UINT                Flags, \n        LPD3DXMATRIXSTACK*  ppStack);\n\n#ifdef __cplusplus\n}\n#endif\n\n// non-inline\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n//============================================================================\n//\n//  Basic Spherical Harmonic math routines\n//\n//============================================================================\n\n#define D3DXSH_MINORDER 2\n#define D3DXSH_MAXORDER 6\n\n//============================================================================\n//\n//  D3DXSHEvalDirection:\n//  --------------------\n//  Evaluates the Spherical Harmonic basis functions\n//\n//  Parameters:\n//   pOut\n//      Output SH coefficients - basis function Ylm is stored at l*l + m+l\n//      This is the pointer that is returned.\n//   Order\n//      Order of the SH evaluation, generates Order^2 coefs, degree is Order-1\n//   pDir\n//      Direction to evaluate in - assumed to be normalized\n//\n//============================================================================\n\nFLOAT* WINAPI D3DXSHEvalDirection\n    (  FLOAT *pOut, UINT Order, CONST D3DXVECTOR3 *pDir );\n    \n//============================================================================\n//\n//  D3DXSHRotate:\n//  --------------------\n//  Rotates SH vector by a rotation matrix\n//\n//  Parameters:\n//   pOut\n//      Output SH coefficients - basis function Ylm is stored at l*l + m+l\n//      This is the pointer that is returned (should not alias with pIn.)\n//   Order\n//      Order of the SH evaluation, generates Order^2 coefs, degree is Order-1\n//   pMatrix\n//      Matrix used for rotation - rotation sub matrix should be orthogonal\n//      and have a unit determinant.\n//   pIn\n//      Input SH coeffs (rotated), incorect results if this is also output.\n//\n//============================================================================\n\nFLOAT* WINAPI D3DXSHRotate\n    ( __out_ecount(Order*Order) FLOAT *pOut, UINT Order, CONST D3DXMATRIX *pMatrix, CONST FLOAT *pIn );\n    \n//============================================================================\n//\n//  D3DXSHRotateZ:\n//  --------------------\n//  Rotates the SH vector in the Z axis by an angle\n//\n//  Parameters:\n//   pOut\n//      Output SH coefficients - basis function Ylm is stored at l*l + m+l\n//      This is the pointer that is returned (should not alias with pIn.)\n//   Order\n//      Order of the SH evaluation, generates Order^2 coefs, degree is Order-1\n//   Angle\n//      Angle in radians to rotate around the Z axis.\n//   pIn\n//      Input SH coeffs (rotated), incorect results if this is also output.\n//\n//============================================================================\n\n\nFLOAT* WINAPI D3DXSHRotateZ\n    ( FLOAT *pOut, UINT Order, FLOAT Angle, CONST FLOAT *pIn );\n    \n//============================================================================\n//\n//  D3DXSHAdd:\n//  --------------------\n//  Adds two SH vectors, pOut[i] = pA[i] + pB[i];\n//\n//  Parameters:\n//   pOut\n//      Output SH coefficients - basis function Ylm is stored at l*l + m+l\n//      This is the pointer that is returned.\n//   Order\n//      Order of the SH evaluation, generates Order^2 coefs, degree is Order-1\n//   pA\n//      Input SH coeffs.\n//   pB\n//      Input SH coeffs (second vector.)\n//\n//============================================================================\n\nFLOAT* WINAPI D3DXSHAdd\n    ( __out_ecount(Order*Order) FLOAT *pOut, UINT Order, CONST FLOAT *pA, CONST FLOAT *pB );\n\n//============================================================================\n//\n//  D3DXSHScale:\n//  --------------------\n//  Adds two SH vectors, pOut[i] = pA[i]*Scale;\n//\n//  Parameters:\n//   pOut\n//      Output SH coefficients - basis function Ylm is stored at l*l + m+l\n//      This is the pointer that is returned.\n//   Order\n//      Order of the SH evaluation, generates Order^2 coefs, degree is Order-1\n//   pIn\n//      Input SH coeffs.\n//   Scale\n//      Scale factor.\n//\n//============================================================================\n\nFLOAT* WINAPI D3DXSHScale\n    ( __out_ecount(Order*Order) FLOAT *pOut, UINT Order, CONST FLOAT *pIn, CONST FLOAT Scale );\n    \n//============================================================================\n//\n//  D3DXSHDot:\n//  --------------------\n//  Computes the dot product of two SH vectors\n//\n//  Parameters:\n//   Order\n//      Order of the SH evaluation, generates Order^2 coefs, degree is Order-1\n//   pA\n//      Input SH coeffs.\n//   pB\n//      Second set of input SH coeffs.\n//\n//============================================================================\n\nFLOAT WINAPI D3DXSHDot\n    ( UINT Order, CONST FLOAT *pA, CONST FLOAT *pB );\n\n//============================================================================\n//\n//  D3DXSHMultiply[O]:\n//  --------------------\n//  Computes the product of two functions represented using SH (f and g), where:\n//  pOut[i] = int(y_i(s) * f(s) * g(s)), where y_i(s) is the ith SH basis\n//  function, f(s) and g(s) are SH functions (sum_i(y_i(s)*c_i)).  The order O\n//  determines the lengths of the arrays, where there should always be O^2 \n//  coefficients.  In general the product of two SH functions of order O generates\n//  and SH function of order 2*O - 1, but we truncate the result.  This means\n//  that the product commutes (f*g == g*f) but doesn't associate \n//  (f*(g*h) != (f*g)*h.\n//\n//  Parameters:\n//   pOut\n//      Output SH coefficients - basis function Ylm is stored at l*l + m+l\n//      This is the pointer that is returned.\n//   pF\n//      Input SH coeffs for first function.\n//   pG\n//      Second set of input SH coeffs.\n//\n//============================================================================\n\n__out_ecount(4)  FLOAT* WINAPI D3DXSHMultiply2(__out_ecount(4)  FLOAT *pOut,__in_ecount(4)  CONST FLOAT *pF,__in_ecount(4)  CONST FLOAT *pG);\n__out_ecount(9)  FLOAT* WINAPI D3DXSHMultiply3(__out_ecount(9)  FLOAT *pOut,__in_ecount(9)  CONST FLOAT *pF,__in_ecount(9)  CONST FLOAT *pG);\n__out_ecount(16) FLOAT* WINAPI D3DXSHMultiply4(__out_ecount(16) FLOAT *pOut,__in_ecount(16) CONST FLOAT *pF,__in_ecount(16) CONST FLOAT *pG);\n__out_ecount(25) FLOAT* WINAPI D3DXSHMultiply5(__out_ecount(25) FLOAT *pOut,__in_ecount(25) CONST FLOAT *pF,__in_ecount(25) CONST FLOAT *pG);\n__out_ecount(36) FLOAT* WINAPI D3DXSHMultiply6(__out_ecount(36) FLOAT *pOut,__in_ecount(36) CONST FLOAT *pF,__in_ecount(36) CONST FLOAT *pG);\n\n\n//============================================================================\n//\n//  Basic Spherical Harmonic lighting routines\n//\n//============================================================================\n\n//============================================================================\n//\n//  D3DXSHEvalDirectionalLight:\n//  --------------------\n//  Evaluates a directional light and returns spectral SH data.  The output \n//  vector is computed so that if the intensity of R/G/B is unit the resulting\n//  exit radiance of a point directly under the light on a diffuse object with\n//  an albedo of 1 would be 1.0.  This will compute 3 spectral samples, pROut\n//  has to be specified, while pGout and pBout are optional.\n//\n//  Parameters:\n//   Order\n//      Order of the SH evaluation, generates Order^2 coefs, degree is Order-1\n//   pDir\n//      Direction light is coming from (assumed to be normalized.)\n//   RIntensity\n//      Red intensity of light.\n//   GIntensity\n//      Green intensity of light.\n//   BIntensity\n//      Blue intensity of light.\n//   pROut\n//      Output SH vector for Red.\n//   pGOut\n//      Output SH vector for Green (optional.)\n//   pBOut\n//      Output SH vector for Blue (optional.)        \n//\n//============================================================================\n\nHRESULT WINAPI D3DXSHEvalDirectionalLight\n    ( UINT Order, CONST D3DXVECTOR3 *pDir, \n      FLOAT RIntensity, FLOAT GIntensity, FLOAT BIntensity,\n      __out_ecount_opt(Order*Order) FLOAT *pROut, \n      __out_ecount_opt(Order*Order) FLOAT *pGOut, \n      __out_ecount_opt(Order*Order) FLOAT *pBOut );\n\n//============================================================================\n//\n//  D3DXSHEvalSphericalLight:\n//  --------------------\n//  Evaluates a spherical light and returns spectral SH data.  There is no \n//  normalization of the intensity of the light like there is for directional\n//  lights, care has to be taken when specifiying the intensities.  This will \n//  compute 3 spectral samples, pROut has to be specified, while pGout and \n//  pBout are optional.\n//\n//  Parameters:\n//   Order\n//      Order of the SH evaluation, generates Order^2 coefs, degree is Order-1\n//   pPos\n//      Position of light - reciever is assumed to be at the origin.\n//   Radius\n//      Radius of the spherical light source.\n//   RIntensity\n//      Red intensity of light.\n//   GIntensity\n//      Green intensity of light.\n//   BIntensity\n//      Blue intensity of light.\n//   pROut\n//      Output SH vector for Red.\n//   pGOut\n//      Output SH vector for Green (optional.)\n//   pBOut\n//      Output SH vector for Blue (optional.)        \n//\n//============================================================================\n\nHRESULT WINAPI D3DXSHEvalSphericalLight\n    ( UINT Order, CONST D3DXVECTOR3 *pPos, FLOAT Radius,\n      FLOAT RIntensity, FLOAT GIntensity, FLOAT BIntensity,\n      __out_ecount_opt(Order*Order) FLOAT *pROut, \n      __out_ecount_opt(Order*Order) FLOAT *pGOut, \n      __out_ecount_opt(Order*Order) FLOAT *pBOut );\n\n//============================================================================\n//\n//  D3DXSHEvalConeLight:\n//  --------------------\n//  Evaluates a light that is a cone of constant intensity and returns spectral\n//  SH data.  The output vector is computed so that if the intensity of R/G/B is\n//  unit the resulting exit radiance of a point directly under the light oriented\n//  in the cone direction on a diffuse object with an albedo of 1 would be 1.0.\n//  This will compute 3 spectral samples, pROut has to be specified, while pGout\n//  and pBout are optional.\n//\n//  Parameters:\n//   Order\n//      Order of the SH evaluation, generates Order^2 coefs, degree is Order-1\n//   pDir\n//      Direction light is coming from (assumed to be normalized.)\n//   Radius\n//      Radius of cone in radians.\n//   RIntensity\n//      Red intensity of light.\n//   GIntensity\n//      Green intensity of light.\n//   BIntensity\n//      Blue intensity of light.\n//   pROut\n//      Output SH vector for Red.\n//   pGOut\n//      Output SH vector for Green (optional.)\n//   pBOut\n//      Output SH vector for Blue (optional.)        \n//\n//============================================================================\n\nHRESULT WINAPI D3DXSHEvalConeLight\n    ( UINT Order, CONST D3DXVECTOR3 *pDir, FLOAT Radius,\n      FLOAT RIntensity, FLOAT GIntensity, FLOAT BIntensity,\n      __out_ecount_opt(Order*Order) FLOAT *pROut, \n      __out_ecount_opt(Order*Order) FLOAT *pGOut, \n      __out_ecount_opt(Order*Order) FLOAT *pBOut );\n      \n//============================================================================\n//\n//  D3DXSHEvalHemisphereLight:\n//  --------------------\n//  Evaluates a light that is a linear interpolant between two colors over the\n//  sphere.  The interpolant is linear along the axis of the two points, not\n//  over the surface of the sphere (ie: if the axis was (0,0,1) it is linear in\n//  Z, not in the azimuthal angle.)  The resulting spherical lighting function\n//  is normalized so that a point on a perfectly diffuse surface with no\n//  shadowing and a normal pointed in the direction pDir would result in exit\n//  radiance with a value of 1 if the top color was white and the bottom color\n//  was black.  This is a very simple model where Top represents the intensity \n//  of the \"sky\" and Bottom represents the intensity of the \"ground\".\n//\n//  Parameters:\n//   Order\n//      Order of the SH evaluation, generates Order^2 coefs, degree is Order-1\n//   pDir\n//      Axis of the hemisphere.\n//   Top\n//      Color of the upper hemisphere.\n//   Bottom\n//      Color of the lower hemisphere.\n//   pROut\n//      Output SH vector for Red.\n//   pGOut\n//      Output SH vector for Green\n//   pBOut\n//      Output SH vector for Blue        \n//\n//============================================================================\n\nHRESULT WINAPI D3DXSHEvalHemisphereLight\n    ( UINT Order, CONST D3DXVECTOR3 *pDir, D3DXCOLOR Top, D3DXCOLOR Bottom,\n      __out_ecount_opt(Order*Order) FLOAT *pROut, \n      __out_ecount_opt(Order*Order) FLOAT *pGOut, \n      __out_ecount_opt(Order*Order) FLOAT *pBOut );\n\n// Math intersection functions\n\nBOOL WINAPI D3DXIntersectTri \n(\n    CONST D3DXVECTOR3 *p0,           // Triangle vertex 0 position\n    CONST D3DXVECTOR3 *p1,           // Triangle vertex 1 position\n    CONST D3DXVECTOR3 *p2,           // Triangle vertex 2 position\n    CONST D3DXVECTOR3 *pRayPos,      // Ray origin\n    CONST D3DXVECTOR3 *pRayDir,      // Ray direction\n    FLOAT *pU,                         // Barycentric Hit Coordinates\n    FLOAT *pV,                         // Barycentric Hit Coordinates\n    FLOAT *pDist);                     // Ray-Intersection Parameter Distance\n\nBOOL WINAPI\n    D3DXSphereBoundProbe(\n        CONST D3DXVECTOR3 *pCenter,\n        FLOAT Radius,\n        CONST D3DXVECTOR3 *pRayPosition,\n        CONST D3DXVECTOR3 *pRayDirection);\n\nBOOL WINAPI \n    D3DXBoxBoundProbe(\n        CONST D3DXVECTOR3 *pMin, \n        CONST D3DXVECTOR3 *pMax,\n        CONST D3DXVECTOR3 *pRayPosition,\n        CONST D3DXVECTOR3 *pRayDirection);\n\nHRESULT WINAPI \n    D3DXComputeBoundingSphere(\n        CONST D3DXVECTOR3 *pFirstPosition,\t// pointer to first position\n        DWORD NumVertices, \n        DWORD dwStride,\t\t\t\t\t\t\t// count in bytes to subsequent position vectors\n        D3DXVECTOR3 *pCenter, \n        FLOAT *pRadius);\n\nHRESULT WINAPI \n    D3DXComputeBoundingBox(\n        CONST D3DXVECTOR3 *pFirstPosition,\t// pointer to first position\n        DWORD NumVertices, \n        DWORD dwStride,\t\t\t\t\t\t\t// count in bytes to subsequent position vectors\n        D3DXVECTOR3 *pMin, \n        D3DXVECTOR3 *pMax);\n\n\n///////////////////////////////////////////////////////////////////////////\n// CPU Optimization:\n///////////////////////////////////////////////////////////////////////////\n\n//-------------------------------------------------------------------------\n// D3DX_CPU_OPTIMIZATION flags:\n// ----------------------------\n// D3DX_NOT_OPTIMIZED       Use Intel Pentium optimizations\n// D3DX_3DNOW_OPTIMIZED     Use AMD 3DNow optimizations\n// D3DX_SSE_OPTIMIZED       Use Intel Pentium III SSE optimizations\n// D3DX_SSE2_OPTIMIZED      Use Intel Pentium IV SSE2 optimizations\n//-------------------------------------------------------------------------\n\n\ntypedef enum _D3DX_CPU_OPTIMIZATION\n{\n    D3DX_NOT_OPTIMIZED = 0,\n    D3DX_3DNOW_OPTIMIZED,\n    D3DX_SSE2_OPTIMIZED,\n    D3DX_SSE_OPTIMIZED\n} D3DX_CPU_OPTIMIZATION;\n\n\n//-------------------------------------------------------------------------\n// D3DXCpuOptimizations:\n// ---------------------\n// Enables or disables CPU optimizations. Returns the type of CPU, which \n// was detected, and for which optimizations exist.\n//\n// Parameters:\n//  Enable\n//      TRUE to enable CPU optimizations. FALSE to disable.\n//-------------------------------------------------------------------------\n\nD3DX_CPU_OPTIMIZATION WINAPI \n    D3DXCpuOptimizations(BOOL Enable);\n\n#ifdef __cplusplus\n}\n#endif\n\n\n#include \"D3DX10math.inl\"\n\n#if _MSC_VER >= 1200\n#pragma warning(pop)\n#else\n#pragma warning(default:4201)\n#endif\n\n#endif // __D3DX9MATH_H__\n\n"
  },
  {
    "path": "external/D3D11/include/D3DX10math.inl",
    "content": "//////////////////////////////////////////////////////////////////////////////\n//\n//  Copyright (C) Microsoft Corporation.  All Rights Reserved.\n//\n//  File:       d3dx10math.inl\n//  Content:    D3DX10 math inline functions\n//\n//////////////////////////////////////////////////////////////////////////////\n\n#ifndef __D3DXMATH_INL__\n#define __D3DXMATH_INL__\n\n\n//===========================================================================\n//\n// Inline Class Methods\n//\n//===========================================================================\n\n#ifdef __cplusplus\n\n//--------------------------\n// Float16\n//--------------------------\n\nD3DX10INLINE\nD3DXFLOAT16::D3DXFLOAT16( FLOAT f )\n{\n    D3DXFloat32To16Array(this, &f, 1);\n}\n\nD3DX10INLINE\nD3DXFLOAT16::D3DXFLOAT16( CONST D3DXFLOAT16& f )\n{\n    value = f.value;\n}\n\n// casting\nD3DX10INLINE\nD3DXFLOAT16::operator FLOAT ()\n{\n    FLOAT f;\n    D3DXFloat16To32Array(&f, this, 1);\n    return f;\n}\n\n// binary operators\nD3DX10INLINE BOOL\nD3DXFLOAT16::operator == ( CONST D3DXFLOAT16& f ) const\n{\n    // At least one is NaN\n    if(((value & D3DX_16F_EXP_MASK) == D3DX_16F_EXP_MASK && (value & D3DX_16F_FRAC_MASK))\n        || ((f.value & D3DX_16F_EXP_MASK) == D3DX_16F_EXP_MASK && (f.value & D3DX_16F_FRAC_MASK)))\n        return false;\n    // +/- Zero\n    else if((value & ~D3DX_16F_SIGN_MASK) == 0 && (f.value & ~D3DX_16F_SIGN_MASK) == 0)\n        return true;\n    else\n        return value == f.value;\n}\n\nD3DX10INLINE BOOL\nD3DXFLOAT16::operator != ( CONST D3DXFLOAT16& f ) const\n{\n    // At least one is NaN\n    if(((value & D3DX_16F_EXP_MASK) == D3DX_16F_EXP_MASK && (value & D3DX_16F_FRAC_MASK))\n        || ((f.value & D3DX_16F_EXP_MASK) == D3DX_16F_EXP_MASK && (f.value & D3DX_16F_FRAC_MASK)))\n        return true;\n    // +/- Zero\n    else if((value & ~D3DX_16F_SIGN_MASK) == 0 && (f.value & ~D3DX_16F_SIGN_MASK) == 0)\n        return false;\n    else\n        return value != f.value;\n}\n\n\n//--------------------------\n// 2D Vector\n//--------------------------\n\nD3DX10INLINE\nD3DXVECTOR2::D3DXVECTOR2( CONST FLOAT *pf )\n{\n#ifdef D3DX10_DEBUG\n    if(!pf)\n        return;\n#endif\n\n    x = pf[0];\n    y = pf[1];\n}\n\nD3DX10INLINE\nD3DXVECTOR2::D3DXVECTOR2( CONST D3DXFLOAT16 *pf )\n{\n#ifdef D3DX10_DEBUG\n    if(!pf)\n        return;\n#endif\n\n    D3DXFloat16To32Array(&x, pf, 2);    \n}\n\nD3DX10INLINE\nD3DXVECTOR2::D3DXVECTOR2( FLOAT fx, FLOAT fy )\n{\n    x = fx;\n    y = fy;\n}\n\n\n// casting\nD3DX10INLINE\nD3DXVECTOR2::operator FLOAT* ()\n{\n    return (FLOAT *) &x;\n}\n\nD3DX10INLINE\nD3DXVECTOR2::operator CONST FLOAT* () const\n{\n    return (CONST FLOAT *) &x;\n}\n\n\n// assignment operators\nD3DX10INLINE D3DXVECTOR2&\nD3DXVECTOR2::operator += ( CONST D3DXVECTOR2& v )\n{\n    x += v.x;\n    y += v.y;\n    return *this;\n}\n\nD3DX10INLINE D3DXVECTOR2&\nD3DXVECTOR2::operator -= ( CONST D3DXVECTOR2& v )\n{\n    x -= v.x;\n    y -= v.y;\n    return *this;\n}\n\nD3DX10INLINE D3DXVECTOR2&\nD3DXVECTOR2::operator *= ( FLOAT f )\n{\n    x *= f;\n    y *= f;\n    return *this;\n}\n\nD3DX10INLINE D3DXVECTOR2&\nD3DXVECTOR2::operator /= ( FLOAT f )\n{\n    FLOAT fInv = 1.0f / f;\n    x *= fInv;\n    y *= fInv;\n    return *this;\n}\n\n\n// unary operators\nD3DX10INLINE D3DXVECTOR2\nD3DXVECTOR2::operator + () const\n{\n    return *this;\n}\n\nD3DX10INLINE D3DXVECTOR2\nD3DXVECTOR2::operator - () const\n{\n    return D3DXVECTOR2(-x, -y);\n}\n\n\n// binary operators\nD3DX10INLINE D3DXVECTOR2\nD3DXVECTOR2::operator + ( CONST D3DXVECTOR2& v ) const\n{\n    return D3DXVECTOR2(x + v.x, y + v.y);\n}\n\nD3DX10INLINE D3DXVECTOR2\nD3DXVECTOR2::operator - ( CONST D3DXVECTOR2& v ) const\n{\n    return D3DXVECTOR2(x - v.x, y - v.y);\n}\n\nD3DX10INLINE D3DXVECTOR2\nD3DXVECTOR2::operator * ( FLOAT f ) const\n{\n    return D3DXVECTOR2(x * f, y * f);\n}\n\nD3DX10INLINE D3DXVECTOR2\nD3DXVECTOR2::operator / ( FLOAT f ) const\n{\n    FLOAT fInv = 1.0f / f;\n    return D3DXVECTOR2(x * fInv, y * fInv);\n}\n\nD3DX10INLINE D3DXVECTOR2\noperator * ( FLOAT f, CONST D3DXVECTOR2& v )\n{\n    return D3DXVECTOR2(f * v.x, f * v.y);\n}\n\nD3DX10INLINE BOOL\nD3DXVECTOR2::operator == ( CONST D3DXVECTOR2& v ) const\n{\n    return x == v.x && y == v.y;\n}\n\nD3DX10INLINE BOOL\nD3DXVECTOR2::operator != ( CONST D3DXVECTOR2& v ) const\n{\n    return x != v.x || y != v.y;\n}\n\n\n\n//--------------------------\n// 2D Vector (16 bit)\n//--------------------------\n\nD3DX10INLINE\nD3DXVECTOR2_16F::D3DXVECTOR2_16F( CONST FLOAT *pf )\n{\n#ifdef D3DX10_DEBUG\n    if(!pf)\n        return;\n#endif\n\n    D3DXFloat32To16Array(&x, pf, 2);\n}\n\nD3DX10INLINE\nD3DXVECTOR2_16F::D3DXVECTOR2_16F( CONST D3DXFLOAT16 *pf )\n{\n#ifdef D3DX10_DEBUG\n    if(!pf)\n        return;\n#endif\n\n    *((UINT *) &x) = *((UINT *) &pf[0]);\n}\n\nD3DX10INLINE\nD3DXVECTOR2_16F::D3DXVECTOR2_16F( CONST D3DXFLOAT16 &fx, CONST D3DXFLOAT16 &fy )\n{\n    x = fx;\n    y = fy;\n}\n\n\n// casting\nD3DX10INLINE\nD3DXVECTOR2_16F::operator D3DXFLOAT16* ()\n{\n    return (D3DXFLOAT16*) &x;\n}\n\nD3DX10INLINE\nD3DXVECTOR2_16F::operator CONST D3DXFLOAT16* () const\n{\n    return (CONST D3DXFLOAT16*) &x;\n}\n\n\n// binary operators\nD3DX10INLINE BOOL \nD3DXVECTOR2_16F::operator == ( CONST D3DXVECTOR2_16F &v ) const\n{\n    return x == v.x && y == v.y;\n}\n\nD3DX10INLINE BOOL \nD3DXVECTOR2_16F::operator != ( CONST D3DXVECTOR2_16F &v ) const\n{\n    return x != v.x || y != v.y;\n}\n\n\n//--------------------------\n// 3D Vector\n//--------------------------\nD3DX10INLINE\nD3DXVECTOR3::D3DXVECTOR3( CONST FLOAT *pf )\n{\n#ifdef D3DX10_DEBUG\n    if(!pf)\n        return;\n#endif\n\n    x = pf[0];\n    y = pf[1];\n    z = pf[2];\n}\n\nD3DX10INLINE\nD3DXVECTOR3::D3DXVECTOR3( CONST D3DVECTOR& v )\n{\n    x = v.x;\n    y = v.y;\n    z = v.z;\n}\n\nD3DX10INLINE\nD3DXVECTOR3::D3DXVECTOR3( CONST D3DXFLOAT16 *pf )\n{\n#ifdef D3DX10_DEBUG\n    if(!pf)\n        return;\n#endif\n\n    D3DXFloat16To32Array(&x, pf, 3);\n}\n\nD3DX10INLINE\nD3DXVECTOR3::D3DXVECTOR3( FLOAT fx, FLOAT fy, FLOAT fz )\n{\n    x = fx;\n    y = fy;\n    z = fz;\n}\n\n\n// casting\nD3DX10INLINE\nD3DXVECTOR3::operator FLOAT* ()\n{\n    return (FLOAT *) &x;\n}\n\nD3DX10INLINE\nD3DXVECTOR3::operator CONST FLOAT* () const\n{\n    return (CONST FLOAT *) &x;\n}\n\n\n// assignment operators\nD3DX10INLINE D3DXVECTOR3&\nD3DXVECTOR3::operator += ( CONST D3DXVECTOR3& v )\n{\n    x += v.x;\n    y += v.y;\n    z += v.z;\n    return *this;\n}\n\nD3DX10INLINE D3DXVECTOR3&\nD3DXVECTOR3::operator -= ( CONST D3DXVECTOR3& v )\n{\n    x -= v.x;\n    y -= v.y;\n    z -= v.z;\n    return *this;\n}\n\nD3DX10INLINE D3DXVECTOR3&\nD3DXVECTOR3::operator *= ( FLOAT f )\n{\n    x *= f;\n    y *= f;\n    z *= f;\n    return *this;\n}\n\nD3DX10INLINE D3DXVECTOR3&\nD3DXVECTOR3::operator /= ( FLOAT f )\n{\n    FLOAT fInv = 1.0f / f;\n    x *= fInv;\n    y *= fInv;\n    z *= fInv;\n    return *this;\n}\n\n\n// unary operators\nD3DX10INLINE D3DXVECTOR3\nD3DXVECTOR3::operator + () const\n{\n    return *this;\n}\n\nD3DX10INLINE D3DXVECTOR3\nD3DXVECTOR3::operator - () const\n{\n    return D3DXVECTOR3(-x, -y, -z);\n}\n\n\n// binary operators\nD3DX10INLINE D3DXVECTOR3\nD3DXVECTOR3::operator + ( CONST D3DXVECTOR3& v ) const\n{\n    return D3DXVECTOR3(x + v.x, y + v.y, z + v.z);\n}\n\nD3DX10INLINE D3DXVECTOR3\nD3DXVECTOR3::operator - ( CONST D3DXVECTOR3& v ) const\n{\n    return D3DXVECTOR3(x - v.x, y - v.y, z - v.z);\n}\n\nD3DX10INLINE D3DXVECTOR3\nD3DXVECTOR3::operator * ( FLOAT f ) const\n{\n    return D3DXVECTOR3(x * f, y * f, z * f);\n}\n\nD3DX10INLINE D3DXVECTOR3\nD3DXVECTOR3::operator / ( FLOAT f ) const\n{\n    FLOAT fInv = 1.0f / f;\n    return D3DXVECTOR3(x * fInv, y * fInv, z * fInv);\n}\n\n\nD3DX10INLINE D3DXVECTOR3\noperator * ( FLOAT f, CONST struct D3DXVECTOR3& v )\n{\n    return D3DXVECTOR3(f * v.x, f * v.y, f * v.z);\n}\n\n\nD3DX10INLINE BOOL\nD3DXVECTOR3::operator == ( CONST D3DXVECTOR3& v ) const\n{\n    return x == v.x && y == v.y && z == v.z;\n}\n\nD3DX10INLINE BOOL\nD3DXVECTOR3::operator != ( CONST D3DXVECTOR3& v ) const\n{\n    return x != v.x || y != v.y || z != v.z;\n}\n\n\n\n//--------------------------\n// 3D Vector (16 bit)\n//--------------------------\n\nD3DX10INLINE\nD3DXVECTOR3_16F::D3DXVECTOR3_16F( CONST FLOAT *pf )\n{\n#ifdef D3DX10_DEBUG\n    if(!pf)\n        return;\n#endif\n\n    D3DXFloat32To16Array(&x, pf, 3);\n}\n\nD3DX10INLINE\nD3DXVECTOR3_16F::D3DXVECTOR3_16F( CONST D3DVECTOR& v )\n{\n    D3DXFloat32To16Array(&x, &v.x, 1);\n    D3DXFloat32To16Array(&y, &v.y, 1);\n    D3DXFloat32To16Array(&z, &v.z, 1);\n}\n\nD3DX10INLINE\nD3DXVECTOR3_16F::D3DXVECTOR3_16F( CONST D3DXFLOAT16 *pf )\n{\n#ifdef D3DX10_DEBUG\n    if(!pf)\n        return;\n#endif\n\n    *((UINT *) &x) = *((UINT *) &pf[0]);\n    *((WORD  *) &z) = *((WORD  *) &pf[2]);\n}\n\nD3DX10INLINE\nD3DXVECTOR3_16F::D3DXVECTOR3_16F( CONST D3DXFLOAT16 &fx, CONST D3DXFLOAT16 &fy, CONST D3DXFLOAT16 &fz )\n{\n    x = fx;\n    y = fy;\n    z = fz;\n}\n\n\n// casting\nD3DX10INLINE\nD3DXVECTOR3_16F::operator D3DXFLOAT16* ()\n{\n    return (D3DXFLOAT16*) &x;\n}\n\nD3DX10INLINE\nD3DXVECTOR3_16F::operator CONST D3DXFLOAT16* () const\n{\n    return (CONST D3DXFLOAT16*) &x;\n}\n\n\n// binary operators\nD3DX10INLINE BOOL \nD3DXVECTOR3_16F::operator == ( CONST D3DXVECTOR3_16F &v ) const\n{\n    return x == v.x && y == v.y && z == v.z;\n}\n\nD3DX10INLINE BOOL \nD3DXVECTOR3_16F::operator != ( CONST D3DXVECTOR3_16F &v ) const\n{\n    return x != v.x || y != v.y || z != v.z;\n}\n\n\n//--------------------------\n// 4D Vector\n//--------------------------\nD3DX10INLINE\nD3DXVECTOR4::D3DXVECTOR4( CONST FLOAT *pf )\n{\n#ifdef D3DX10_DEBUG\n    if(!pf)\n        return;\n#endif\n\n    x = pf[0];\n    y = pf[1];\n    z = pf[2];\n    w = pf[3];\n}\n\nD3DX10INLINE\nD3DXVECTOR4::D3DXVECTOR4( CONST D3DXFLOAT16 *pf )\n{\n#ifdef D3DX10_DEBUG\n    if(!pf)\n        return;\n#endif\n\n    D3DXFloat16To32Array(&x, pf, 4);\n}\n\nD3DX10INLINE\nD3DXVECTOR4::D3DXVECTOR4( CONST D3DVECTOR& v, FLOAT f )\n{\n    x = v.x;\n    y = v.y;\n    z = v.z;\n    w = f;\n}\n\nD3DX10INLINE\nD3DXVECTOR4::D3DXVECTOR4( FLOAT fx, FLOAT fy, FLOAT fz, FLOAT fw )\n{\n    x = fx;\n    y = fy;\n    z = fz;\n    w = fw;\n}\n\n\n// casting\nD3DX10INLINE\nD3DXVECTOR4::operator FLOAT* ()\n{\n    return (FLOAT *) &x;\n}\n\nD3DX10INLINE\nD3DXVECTOR4::operator CONST FLOAT* () const\n{\n    return (CONST FLOAT *) &x;\n}\n\n\n// assignment operators\nD3DX10INLINE D3DXVECTOR4&\nD3DXVECTOR4::operator += ( CONST D3DXVECTOR4& v )\n{\n    x += v.x;\n    y += v.y;\n    z += v.z;\n    w += v.w;\n    return *this;\n}\n\nD3DX10INLINE D3DXVECTOR4&\nD3DXVECTOR4::operator -= ( CONST D3DXVECTOR4& v )\n{\n    x -= v.x;\n    y -= v.y;\n    z -= v.z;\n    w -= v.w;\n    return *this;\n}\n\nD3DX10INLINE D3DXVECTOR4&\nD3DXVECTOR4::operator *= ( FLOAT f )\n{\n    x *= f;\n    y *= f;\n    z *= f;\n    w *= f;\n    return *this;\n}\n\nD3DX10INLINE D3DXVECTOR4&\nD3DXVECTOR4::operator /= ( FLOAT f )\n{\n    FLOAT fInv = 1.0f / f;\n    x *= fInv;\n    y *= fInv;\n    z *= fInv;\n    w *= fInv;\n    return *this;\n}\n\n\n// unary operators\nD3DX10INLINE D3DXVECTOR4\nD3DXVECTOR4::operator + () const\n{\n    return *this;\n}\n\nD3DX10INLINE D3DXVECTOR4\nD3DXVECTOR4::operator - () const\n{\n    return D3DXVECTOR4(-x, -y, -z, -w);\n}\n\n\n// binary operators\nD3DX10INLINE D3DXVECTOR4\nD3DXVECTOR4::operator + ( CONST D3DXVECTOR4& v ) const\n{\n    return D3DXVECTOR4(x + v.x, y + v.y, z + v.z, w + v.w);\n}\n\nD3DX10INLINE D3DXVECTOR4\nD3DXVECTOR4::operator - ( CONST D3DXVECTOR4& v ) const\n{\n    return D3DXVECTOR4(x - v.x, y - v.y, z - v.z, w - v.w);\n}\n\nD3DX10INLINE D3DXVECTOR4\nD3DXVECTOR4::operator * ( FLOAT f ) const\n{\n    return D3DXVECTOR4(x * f, y * f, z * f, w * f);\n}\n\nD3DX10INLINE D3DXVECTOR4\nD3DXVECTOR4::operator / ( FLOAT f ) const\n{\n    FLOAT fInv = 1.0f / f;\n    return D3DXVECTOR4(x * fInv, y * fInv, z * fInv, w * fInv);\n}\n\nD3DX10INLINE D3DXVECTOR4\noperator * ( FLOAT f, CONST D3DXVECTOR4& v )\n{\n    return D3DXVECTOR4(f * v.x, f * v.y, f * v.z, f * v.w);\n}\n\n\nD3DX10INLINE BOOL\nD3DXVECTOR4::operator == ( CONST D3DXVECTOR4& v ) const\n{\n    return x == v.x && y == v.y && z == v.z && w == v.w;\n}\n\nD3DX10INLINE BOOL\nD3DXVECTOR4::operator != ( CONST D3DXVECTOR4& v ) const\n{\n    return x != v.x || y != v.y || z != v.z || w != v.w;\n}\n\n\n\n//--------------------------\n// 4D Vector (16 bit)\n//--------------------------\n\nD3DX10INLINE\nD3DXVECTOR4_16F::D3DXVECTOR4_16F( CONST FLOAT *pf )\n{\n#ifdef D3DX10_DEBUG\n    if(!pf)\n        return;\n#endif\n\n    D3DXFloat32To16Array(&x, pf, 4);\n}\n\nD3DX10INLINE\nD3DXVECTOR4_16F::D3DXVECTOR4_16F( CONST D3DXFLOAT16 *pf )\n{\n#ifdef D3DX10_DEBUG\n    if(!pf)\n        return;\n#endif\n\n    *((UINT *) &x) = *((UINT *) &pf[0]);\n    *((UINT *) &z) = *((UINT *) &pf[2]);\n}\n\nD3DX10INLINE\nD3DXVECTOR4_16F::D3DXVECTOR4_16F( CONST D3DXVECTOR3_16F& v, CONST D3DXFLOAT16& f )\n{\n    x = v.x;\n    y = v.y;\n    z = v.z;\n    w = f;\n}\n\nD3DX10INLINE\nD3DXVECTOR4_16F::D3DXVECTOR4_16F( CONST D3DXFLOAT16 &fx, CONST D3DXFLOAT16 &fy, CONST D3DXFLOAT16 &fz, CONST D3DXFLOAT16 &fw )\n{\n    x = fx;\n    y = fy;\n    z = fz;\n    w = fw;\n}\n\n\n// casting\nD3DX10INLINE\nD3DXVECTOR4_16F::operator D3DXFLOAT16* ()\n{\n    return (D3DXFLOAT16*) &x;\n}\n\nD3DX10INLINE\nD3DXVECTOR4_16F::operator CONST D3DXFLOAT16* () const\n{\n    return (CONST D3DXFLOAT16*) &x;\n}\n\n\n// binary operators\nD3DX10INLINE BOOL \nD3DXVECTOR4_16F::operator == ( CONST D3DXVECTOR4_16F &v ) const\n{\n    return x == v.x && y == v.y && z == v.z && w == v.w;\n}\n\nD3DX10INLINE BOOL \nD3DXVECTOR4_16F::operator != ( CONST D3DXVECTOR4_16F &v ) const\n{\n    return x != v.x || y != v.y || z != v.z || w != v.w;\n}\n\n\n//--------------------------\n// Matrix\n//--------------------------\nD3DX10INLINE\nD3DXMATRIX::D3DXMATRIX( CONST FLOAT* pf )\n{\n#ifdef D3DX10_DEBUG\n    if(!pf)\n        return;\n#endif\n\n    memcpy(&_11, pf, sizeof(D3DXMATRIX));\n}\n\nD3DX10INLINE\nD3DXMATRIX::D3DXMATRIX( CONST D3DMATRIX& mat )\n{\n    memcpy(&_11, &mat, sizeof(D3DXMATRIX));\n}\n\nD3DX10INLINE\nD3DXMATRIX::D3DXMATRIX( CONST D3DXFLOAT16* pf )\n{\n#ifdef D3DX10_DEBUG\n    if(!pf)\n        return;\n#endif\n\n    D3DXFloat16To32Array(&_11, pf, 16);\n}\n\nD3DX10INLINE\nD3DXMATRIX::D3DXMATRIX( FLOAT f11, FLOAT f12, FLOAT f13, FLOAT f14,\n                        FLOAT f21, FLOAT f22, FLOAT f23, FLOAT f24,\n                        FLOAT f31, FLOAT f32, FLOAT f33, FLOAT f34,\n                        FLOAT f41, FLOAT f42, FLOAT f43, FLOAT f44 )\n{\n    _11 = f11; _12 = f12; _13 = f13; _14 = f14;\n    _21 = f21; _22 = f22; _23 = f23; _24 = f24;\n    _31 = f31; _32 = f32; _33 = f33; _34 = f34;\n    _41 = f41; _42 = f42; _43 = f43; _44 = f44;\n}\n\n\n\n// access grants\nD3DX10INLINE FLOAT&\nD3DXMATRIX::operator () ( UINT iRow, UINT iCol )\n{\n    return m[iRow][iCol];\n}\n\nD3DX10INLINE FLOAT\nD3DXMATRIX::operator () ( UINT iRow, UINT iCol ) const\n{\n    return m[iRow][iCol];\n}\n\n\n// casting operators\nD3DX10INLINE\nD3DXMATRIX::operator FLOAT* ()\n{\n    return (FLOAT *) &_11;\n}\n\nD3DX10INLINE\nD3DXMATRIX::operator CONST FLOAT* () const\n{\n    return (CONST FLOAT *) &_11;\n}\n\n\n// assignment operators\nD3DX10INLINE D3DXMATRIX&\nD3DXMATRIX::operator *= ( CONST D3DXMATRIX& mat )\n{\n    D3DXMatrixMultiply(this, this, &mat);\n    return *this;\n}\n\nD3DX10INLINE D3DXMATRIX&\nD3DXMATRIX::operator += ( CONST D3DXMATRIX& mat )\n{\n    _11 += mat._11; _12 += mat._12; _13 += mat._13; _14 += mat._14;\n    _21 += mat._21; _22 += mat._22; _23 += mat._23; _24 += mat._24;\n    _31 += mat._31; _32 += mat._32; _33 += mat._33; _34 += mat._34;\n    _41 += mat._41; _42 += mat._42; _43 += mat._43; _44 += mat._44;\n    return *this;\n}\n\nD3DX10INLINE D3DXMATRIX&\nD3DXMATRIX::operator -= ( CONST D3DXMATRIX& mat )\n{\n    _11 -= mat._11; _12 -= mat._12; _13 -= mat._13; _14 -= mat._14;\n    _21 -= mat._21; _22 -= mat._22; _23 -= mat._23; _24 -= mat._24;\n    _31 -= mat._31; _32 -= mat._32; _33 -= mat._33; _34 -= mat._34;\n    _41 -= mat._41; _42 -= mat._42; _43 -= mat._43; _44 -= mat._44;\n    return *this;\n}\n\nD3DX10INLINE D3DXMATRIX&\nD3DXMATRIX::operator *= ( FLOAT f )\n{\n    _11 *= f; _12 *= f; _13 *= f; _14 *= f;\n    _21 *= f; _22 *= f; _23 *= f; _24 *= f;\n    _31 *= f; _32 *= f; _33 *= f; _34 *= f;\n    _41 *= f; _42 *= f; _43 *= f; _44 *= f;\n    return *this;\n}\n\nD3DX10INLINE D3DXMATRIX&\nD3DXMATRIX::operator /= ( FLOAT f )\n{\n    FLOAT fInv = 1.0f / f;\n    _11 *= fInv; _12 *= fInv; _13 *= fInv; _14 *= fInv;\n    _21 *= fInv; _22 *= fInv; _23 *= fInv; _24 *= fInv;\n    _31 *= fInv; _32 *= fInv; _33 *= fInv; _34 *= fInv;\n    _41 *= fInv; _42 *= fInv; _43 *= fInv; _44 *= fInv;\n    return *this;\n}\n\n\n// unary operators\nD3DX10INLINE D3DXMATRIX\nD3DXMATRIX::operator + () const\n{\n    return *this;\n}\n\nD3DX10INLINE D3DXMATRIX\nD3DXMATRIX::operator - () const\n{\n    return D3DXMATRIX(-_11, -_12, -_13, -_14,\n                      -_21, -_22, -_23, -_24,\n                      -_31, -_32, -_33, -_34,\n                      -_41, -_42, -_43, -_44);\n}\n\n\n// binary operators\nD3DX10INLINE D3DXMATRIX\nD3DXMATRIX::operator * ( CONST D3DXMATRIX& mat ) const\n{\n    D3DXMATRIX matT;\n    D3DXMatrixMultiply(&matT, this, &mat);\n    return matT;\n}\n\nD3DX10INLINE D3DXMATRIX\nD3DXMATRIX::operator + ( CONST D3DXMATRIX& mat ) const\n{\n    return D3DXMATRIX(_11 + mat._11, _12 + mat._12, _13 + mat._13, _14 + mat._14,\n                      _21 + mat._21, _22 + mat._22, _23 + mat._23, _24 + mat._24,\n                      _31 + mat._31, _32 + mat._32, _33 + mat._33, _34 + mat._34,\n                      _41 + mat._41, _42 + mat._42, _43 + mat._43, _44 + mat._44);\n}\n\nD3DX10INLINE D3DXMATRIX\nD3DXMATRIX::operator - ( CONST D3DXMATRIX& mat ) const\n{\n    return D3DXMATRIX(_11 - mat._11, _12 - mat._12, _13 - mat._13, _14 - mat._14,\n                      _21 - mat._21, _22 - mat._22, _23 - mat._23, _24 - mat._24,\n                      _31 - mat._31, _32 - mat._32, _33 - mat._33, _34 - mat._34,\n                      _41 - mat._41, _42 - mat._42, _43 - mat._43, _44 - mat._44);\n}\n\nD3DX10INLINE D3DXMATRIX\nD3DXMATRIX::operator * ( FLOAT f ) const\n{\n    return D3DXMATRIX(_11 * f, _12 * f, _13 * f, _14 * f,\n                      _21 * f, _22 * f, _23 * f, _24 * f,\n                      _31 * f, _32 * f, _33 * f, _34 * f,\n                      _41 * f, _42 * f, _43 * f, _44 * f);\n}\n\nD3DX10INLINE D3DXMATRIX\nD3DXMATRIX::operator / ( FLOAT f ) const\n{\n    FLOAT fInv = 1.0f / f;\n    return D3DXMATRIX(_11 * fInv, _12 * fInv, _13 * fInv, _14 * fInv,\n                      _21 * fInv, _22 * fInv, _23 * fInv, _24 * fInv,\n                      _31 * fInv, _32 * fInv, _33 * fInv, _34 * fInv,\n                      _41 * fInv, _42 * fInv, _43 * fInv, _44 * fInv);\n}\n\n\nD3DX10INLINE D3DXMATRIX\noperator * ( FLOAT f, CONST D3DXMATRIX& mat )\n{\n    return D3DXMATRIX(f * mat._11, f * mat._12, f * mat._13, f * mat._14,\n                      f * mat._21, f * mat._22, f * mat._23, f * mat._24,\n                      f * mat._31, f * mat._32, f * mat._33, f * mat._34,\n                      f * mat._41, f * mat._42, f * mat._43, f * mat._44);\n}\n\n\nD3DX10INLINE BOOL\nD3DXMATRIX::operator == ( CONST D3DXMATRIX& mat ) const\n{\n    return 0 == memcmp(this, &mat, sizeof(D3DXMATRIX));\n}\n\nD3DX10INLINE BOOL\nD3DXMATRIX::operator != ( CONST D3DXMATRIX& mat ) const\n{\n    return 0 != memcmp(this, &mat, sizeof(D3DXMATRIX));\n}\n\n\n\n//--------------------------\n// Aligned Matrices\n//--------------------------\n\nD3DX10INLINE\n_D3DXMATRIXA16::_D3DXMATRIXA16( CONST FLOAT* f ) : \n    D3DXMATRIX( f ) \n{\n}\n\nD3DX10INLINE\n_D3DXMATRIXA16::_D3DXMATRIXA16( CONST D3DMATRIX& m ) : \n    D3DXMATRIX( m ) \n{\n}\n\nD3DX10INLINE\n_D3DXMATRIXA16::_D3DXMATRIXA16( CONST D3DXFLOAT16* f ) : \n    D3DXMATRIX( f ) \n{\n}\n\nD3DX10INLINE\n_D3DXMATRIXA16::_D3DXMATRIXA16( FLOAT _11, FLOAT _12, FLOAT _13, FLOAT _14,\n                                FLOAT _21, FLOAT _22, FLOAT _23, FLOAT _24,\n                                FLOAT _31, FLOAT _32, FLOAT _33, FLOAT _34,\n                                FLOAT _41, FLOAT _42, FLOAT _43, FLOAT _44 ) :\n    D3DXMATRIX(_11, _12, _13, _14,\n               _21, _22, _23, _24,\n               _31, _32, _33, _34,\n               _41, _42, _43, _44) \n{\n}\n\n#ifndef SIZE_MAX\n#define SIZE_MAX ((SIZE_T)-1)\n#endif\n\nD3DX10INLINE void* \n_D3DXMATRIXA16::operator new( size_t s )\n{\n    if (s > (SIZE_MAX-16))\n\treturn NULL;\n    LPBYTE p = ::new BYTE[s + 16];\n    if (p)\n    {\n        BYTE offset = (BYTE)(16 - ((UINT_PTR)p & 15));\n        p += offset;\n        p[-1] = offset;\n    }\n    return p;\n}\n\nD3DX10INLINE void* \n_D3DXMATRIXA16::operator new[]( size_t s )\n{\n    if (s > (SIZE_MAX-16))\n\treturn NULL;\n    LPBYTE p = ::new BYTE[s + 16];\n    if (p)\n    {\n        BYTE offset = (BYTE)(16 - ((UINT_PTR)p & 15));\n        p += offset;\n        p[-1] = offset;\n    }\n    return p;\n}\n\nD3DX10INLINE void \n_D3DXMATRIXA16::operator delete(void* p)\n{\n    if(p)\n    {\n        BYTE* pb = static_cast<BYTE*>(p);\n        pb -= pb[-1];\n        ::delete [] pb;\n    }\n}\n\nD3DX10INLINE void \n_D3DXMATRIXA16::operator delete[](void* p)\n{\n    if(p)\n    {\n        BYTE* pb = static_cast<BYTE*>(p);\n        pb -= pb[-1];\n        ::delete [] pb;\n    }\n}\n\nD3DX10INLINE _D3DXMATRIXA16& \n_D3DXMATRIXA16::operator=(CONST D3DXMATRIX& rhs)\n{\n    memcpy(&_11, &rhs, sizeof(D3DXMATRIX));\n    return *this;\n}\n\n\n//--------------------------\n// Quaternion\n//--------------------------\n\nD3DX10INLINE\nD3DXQUATERNION::D3DXQUATERNION( CONST FLOAT* pf )\n{\n#ifdef D3DX10_DEBUG\n    if(!pf)\n        return;\n#endif\n\n    x = pf[0];\n    y = pf[1];\n    z = pf[2];\n    w = pf[3];\n}\n\nD3DX10INLINE\nD3DXQUATERNION::D3DXQUATERNION( CONST D3DXFLOAT16* pf )\n{\n#ifdef D3DX10_DEBUG\n    if(!pf)\n        return;\n#endif\n\n    D3DXFloat16To32Array(&x, pf, 4);\n}\n\nD3DX10INLINE\nD3DXQUATERNION::D3DXQUATERNION( FLOAT fx, FLOAT fy, FLOAT fz, FLOAT fw )\n{\n    x = fx;\n    y = fy;\n    z = fz;\n    w = fw;\n}\n\n\n// casting\nD3DX10INLINE\nD3DXQUATERNION::operator FLOAT* ()\n{\n    return (FLOAT *) &x;\n}\n\nD3DX10INLINE\nD3DXQUATERNION::operator CONST FLOAT* () const\n{\n    return (CONST FLOAT *) &x;\n}\n\n\n// assignment operators\nD3DX10INLINE D3DXQUATERNION&\nD3DXQUATERNION::operator += ( CONST D3DXQUATERNION& q )\n{\n    x += q.x;\n    y += q.y;\n    z += q.z;\n    w += q.w;\n    return *this;\n}\n\nD3DX10INLINE D3DXQUATERNION&\nD3DXQUATERNION::operator -= ( CONST D3DXQUATERNION& q )\n{\n    x -= q.x;\n    y -= q.y;\n    z -= q.z;\n    w -= q.w;\n    return *this;\n}\n\nD3DX10INLINE D3DXQUATERNION&\nD3DXQUATERNION::operator *= ( CONST D3DXQUATERNION& q )\n{\n    D3DXQuaternionMultiply(this, this, &q);\n    return *this;\n}\n\nD3DX10INLINE D3DXQUATERNION&\nD3DXQUATERNION::operator *= ( FLOAT f )\n{\n    x *= f;\n    y *= f;\n    z *= f;\n    w *= f;\n    return *this;\n}\n\nD3DX10INLINE D3DXQUATERNION&\nD3DXQUATERNION::operator /= ( FLOAT f )\n{\n    FLOAT fInv = 1.0f / f;\n    x *= fInv;\n    y *= fInv;\n    z *= fInv;\n    w *= fInv;\n    return *this;\n}\n\n\n// unary operators\nD3DX10INLINE D3DXQUATERNION\nD3DXQUATERNION::operator + () const\n{\n    return *this;\n}\n\nD3DX10INLINE D3DXQUATERNION\nD3DXQUATERNION::operator - () const\n{\n    return D3DXQUATERNION(-x, -y, -z, -w);\n}\n\n\n// binary operators\nD3DX10INLINE D3DXQUATERNION\nD3DXQUATERNION::operator + ( CONST D3DXQUATERNION& q ) const\n{\n    return D3DXQUATERNION(x + q.x, y + q.y, z + q.z, w + q.w);\n}\n\nD3DX10INLINE D3DXQUATERNION\nD3DXQUATERNION::operator - ( CONST D3DXQUATERNION& q ) const\n{\n    return D3DXQUATERNION(x - q.x, y - q.y, z - q.z, w - q.w);\n}\n\nD3DX10INLINE D3DXQUATERNION\nD3DXQUATERNION::operator * ( CONST D3DXQUATERNION& q ) const\n{\n    D3DXQUATERNION qT;\n    D3DXQuaternionMultiply(&qT, this, &q);\n    return qT;\n}\n\nD3DX10INLINE D3DXQUATERNION\nD3DXQUATERNION::operator * ( FLOAT f ) const\n{\n    return D3DXQUATERNION(x * f, y * f, z * f, w * f);\n}\n\nD3DX10INLINE D3DXQUATERNION\nD3DXQUATERNION::operator / ( FLOAT f ) const\n{\n    FLOAT fInv = 1.0f / f;\n    return D3DXQUATERNION(x * fInv, y * fInv, z * fInv, w * fInv);\n}\n\n\nD3DX10INLINE D3DXQUATERNION\noperator * (FLOAT f, CONST D3DXQUATERNION& q )\n{\n    return D3DXQUATERNION(f * q.x, f * q.y, f * q.z, f * q.w);\n}\n\n\nD3DX10INLINE BOOL\nD3DXQUATERNION::operator == ( CONST D3DXQUATERNION& q ) const\n{\n    return x == q.x && y == q.y && z == q.z && w == q.w;\n}\n\nD3DX10INLINE BOOL\nD3DXQUATERNION::operator != ( CONST D3DXQUATERNION& q ) const\n{\n    return x != q.x || y != q.y || z != q.z || w != q.w;\n}\n\n\n\n//--------------------------\n// Plane\n//--------------------------\n\nD3DX10INLINE\nD3DXPLANE::D3DXPLANE( CONST FLOAT* pf )\n{\n#ifdef D3DX10_DEBUG\n    if(!pf)\n        return;\n#endif\n\n    a = pf[0];\n    b = pf[1];\n    c = pf[2];\n    d = pf[3];\n}\n\nD3DX10INLINE\nD3DXPLANE::D3DXPLANE( CONST D3DXFLOAT16* pf )\n{\n#ifdef D3DX10_DEBUG\n    if(!pf)\n        return;\n#endif\n\n    D3DXFloat16To32Array(&a, pf, 4);\n}\n\nD3DX10INLINE\nD3DXPLANE::D3DXPLANE( FLOAT fa, FLOAT fb, FLOAT fc, FLOAT fd )\n{\n    a = fa;\n    b = fb;\n    c = fc;\n    d = fd;\n}\n\n\n// casting\nD3DX10INLINE\nD3DXPLANE::operator FLOAT* ()\n{\n    return (FLOAT *) &a;\n}\n\nD3DX10INLINE\nD3DXPLANE::operator CONST FLOAT* () const\n{\n    return (CONST FLOAT *) &a;\n}\n\n\n// assignment operators\nD3DX10INLINE D3DXPLANE&\nD3DXPLANE::operator *= ( FLOAT f )\n{\n    a *= f;\n    b *= f;\n    c *= f;\n    d *= f;\n    return *this;\n}\n\nD3DX10INLINE D3DXPLANE&\nD3DXPLANE::operator /= ( FLOAT f )\n{\n    FLOAT fInv = 1.0f / f;\n    a *= fInv;\n    b *= fInv;\n    c *= fInv;\n    d *= fInv;\n    return *this;\n}\n\n\n// unary operators\nD3DX10INLINE D3DXPLANE\nD3DXPLANE::operator + () const\n{\n    return *this;\n}\n\nD3DX10INLINE D3DXPLANE\nD3DXPLANE::operator - () const\n{\n    return D3DXPLANE(-a, -b, -c, -d);\n}\n\n\n// binary operators\nD3DX10INLINE D3DXPLANE\nD3DXPLANE::operator * ( FLOAT f ) const\n{\n    return D3DXPLANE(a * f, b * f, c * f, d * f);\n}\n\nD3DX10INLINE D3DXPLANE\nD3DXPLANE::operator / ( FLOAT f ) const\n{\n    FLOAT fInv = 1.0f / f;\n    return D3DXPLANE(a * fInv, b * fInv, c * fInv, d * fInv);\n}\n\nD3DX10INLINE D3DXPLANE\noperator * (FLOAT f, CONST D3DXPLANE& p )\n{\n    return D3DXPLANE(f * p.a, f * p.b, f * p.c, f * p.d);\n}\n\nD3DX10INLINE BOOL\nD3DXPLANE::operator == ( CONST D3DXPLANE& p ) const\n{\n    return a == p.a && b == p.b && c == p.c && d == p.d;\n}\n\nD3DX10INLINE BOOL\nD3DXPLANE::operator != ( CONST D3DXPLANE& p ) const\n{\n    return a != p.a || b != p.b || c != p.c || d != p.d;\n}\n\n\n\n\n//--------------------------\n// Color\n//--------------------------\n\nD3DX10INLINE\nD3DXCOLOR::D3DXCOLOR( UINT dw )\n{\n    CONST FLOAT f = 1.0f / 255.0f;\n    r = f * (FLOAT) (unsigned char) (dw >> 16);\n    g = f * (FLOAT) (unsigned char) (dw >>  8);\n    b = f * (FLOAT) (unsigned char) (dw >>  0);\n    a = f * (FLOAT) (unsigned char) (dw >> 24);\n}\n\nD3DX10INLINE\nD3DXCOLOR::D3DXCOLOR( CONST FLOAT* pf )\n{\n#ifdef D3DX10_DEBUG\n    if(!pf)\n        return;\n#endif\n\n    r = pf[0];\n    g = pf[1];\n    b = pf[2];\n    a = pf[3];\n}\n\nD3DX10INLINE\nD3DXCOLOR::D3DXCOLOR( CONST D3DXFLOAT16* pf )\n{\n#ifdef D3DX10_DEBUG\n    if(!pf)\n        return;\n#endif\n\n    D3DXFloat16To32Array(&r, pf, 4);\n}\n\nD3DX10INLINE\nD3DXCOLOR::D3DXCOLOR( FLOAT fr, FLOAT fg, FLOAT fb, FLOAT fa )\n{\n    r = fr;\n    g = fg;\n    b = fb;\n    a = fa;\n}\n\n\n// casting\nD3DX10INLINE\nD3DXCOLOR::operator UINT () const\n{\n    UINT dwR = r >= 1.0f ? 0xff : r <= 0.0f ? 0x00 : (UINT) (r * 255.0f + 0.5f);\n    UINT dwG = g >= 1.0f ? 0xff : g <= 0.0f ? 0x00 : (UINT) (g * 255.0f + 0.5f);\n    UINT dwB = b >= 1.0f ? 0xff : b <= 0.0f ? 0x00 : (UINT) (b * 255.0f + 0.5f);\n    UINT dwA = a >= 1.0f ? 0xff : a <= 0.0f ? 0x00 : (UINT) (a * 255.0f + 0.5f);\n\n    return (dwA << 24) | (dwR << 16) | (dwG << 8) | (dwB << 0);\n}\n\n\nD3DX10INLINE\nD3DXCOLOR::operator FLOAT * ()\n{\n    return (FLOAT *) &r;\n}\n\nD3DX10INLINE\nD3DXCOLOR::operator CONST FLOAT * () const\n{\n    return (CONST FLOAT *) &r;\n}\n\n// assignment operators\nD3DX10INLINE D3DXCOLOR&\nD3DXCOLOR::operator += ( CONST D3DXCOLOR& c )\n{\n    r += c.r;\n    g += c.g;\n    b += c.b;\n    a += c.a;\n    return *this;\n}\n\nD3DX10INLINE D3DXCOLOR&\nD3DXCOLOR::operator -= ( CONST D3DXCOLOR& c )\n{\n    r -= c.r;\n    g -= c.g;\n    b -= c.b;\n    a -= c.a;\n    return *this;\n}\n\nD3DX10INLINE D3DXCOLOR&\nD3DXCOLOR::operator *= ( FLOAT f )\n{\n    r *= f;\n    g *= f;\n    b *= f;\n    a *= f;\n    return *this;\n}\n\nD3DX10INLINE D3DXCOLOR&\nD3DXCOLOR::operator /= ( FLOAT f )\n{\n    FLOAT fInv = 1.0f / f;\n    r *= fInv;\n    g *= fInv;\n    b *= fInv;\n    a *= fInv;\n    return *this;\n}\n\n\n// unary operators\nD3DX10INLINE D3DXCOLOR\nD3DXCOLOR::operator + () const\n{\n    return *this;\n}\n\nD3DX10INLINE D3DXCOLOR\nD3DXCOLOR::operator - () const\n{\n    return D3DXCOLOR(-r, -g, -b, -a);\n}\n\n\n// binary operators\nD3DX10INLINE D3DXCOLOR\nD3DXCOLOR::operator + ( CONST D3DXCOLOR& c ) const\n{\n    return D3DXCOLOR(r + c.r, g + c.g, b + c.b, a + c.a);\n}\n\nD3DX10INLINE D3DXCOLOR\nD3DXCOLOR::operator - ( CONST D3DXCOLOR& c ) const\n{\n    return D3DXCOLOR(r - c.r, g - c.g, b - c.b, a - c.a);\n}\n\nD3DX10INLINE D3DXCOLOR\nD3DXCOLOR::operator * ( FLOAT f ) const\n{\n    return D3DXCOLOR(r * f, g * f, b * f, a * f);\n}\n\nD3DX10INLINE D3DXCOLOR\nD3DXCOLOR::operator / ( FLOAT f ) const\n{\n    FLOAT fInv = 1.0f / f;\n    return D3DXCOLOR(r * fInv, g * fInv, b * fInv, a * fInv);\n}\n\n\nD3DX10INLINE D3DXCOLOR\noperator * (FLOAT f, CONST D3DXCOLOR& c )\n{\n    return D3DXCOLOR(f * c.r, f * c.g, f * c.b, f * c.a);\n}\n\n\nD3DX10INLINE BOOL\nD3DXCOLOR::operator == ( CONST D3DXCOLOR& c ) const\n{\n    return r == c.r && g == c.g && b == c.b && a == c.a;\n}\n\nD3DX10INLINE BOOL\nD3DXCOLOR::operator != ( CONST D3DXCOLOR& c ) const\n{\n    return r != c.r || g != c.g || b != c.b || a != c.a;\n}\n\n\n#endif //__cplusplus\n\n\n\n//===========================================================================\n//\n// Inline functions\n//\n//===========================================================================\n\n\n//--------------------------\n// 2D Vector\n//--------------------------\n\nD3DX10INLINE FLOAT D3DXVec2Length\n    ( CONST D3DXVECTOR2 *pV )\n{\n#ifdef D3DX10_DEBUG\n    if(!pV)\n        return 0.0f;\n#endif\n\n#ifdef __cplusplus\n    return sqrtf(pV->x * pV->x + pV->y * pV->y);\n#else\n    return (FLOAT) sqrt(pV->x * pV->x + pV->y * pV->y);\n#endif\n}\n\nD3DX10INLINE FLOAT D3DXVec2LengthSq\n    ( CONST D3DXVECTOR2 *pV )\n{\n#ifdef D3DX10_DEBUG\n    if(!pV)\n        return 0.0f;\n#endif\n\n    return pV->x * pV->x + pV->y * pV->y;\n}\n\nD3DX10INLINE FLOAT D3DXVec2Dot\n    ( CONST D3DXVECTOR2 *pV1, CONST D3DXVECTOR2 *pV2 )\n{\n#ifdef D3DX10_DEBUG\n    if(!pV1 || !pV2)\n        return 0.0f;\n#endif\n\n    return pV1->x * pV2->x + pV1->y * pV2->y;\n}\n\nD3DX10INLINE FLOAT D3DXVec2CCW\n    ( CONST D3DXVECTOR2 *pV1, CONST D3DXVECTOR2 *pV2 )\n{\n#ifdef D3DX10_DEBUG\n    if(!pV1 || !pV2)\n        return 0.0f;\n#endif\n\n    return pV1->x * pV2->y - pV1->y * pV2->x;\n}\n\nD3DX10INLINE D3DXVECTOR2* D3DXVec2Add\n    ( D3DXVECTOR2 *pOut, CONST D3DXVECTOR2 *pV1, CONST D3DXVECTOR2 *pV2 )\n{\n#ifdef D3DX10_DEBUG\n    if(!pOut || !pV1 || !pV2)\n        return NULL;\n#endif\n\n    pOut->x = pV1->x + pV2->x;\n    pOut->y = pV1->y + pV2->y;\n    return pOut;\n}\n\nD3DX10INLINE D3DXVECTOR2* D3DXVec2Subtract\n    ( D3DXVECTOR2 *pOut, CONST D3DXVECTOR2 *pV1, CONST D3DXVECTOR2 *pV2 )\n{\n#ifdef D3DX10_DEBUG\n    if(!pOut || !pV1 || !pV2)\n        return NULL;\n#endif\n\n    pOut->x = pV1->x - pV2->x;\n    pOut->y = pV1->y - pV2->y;\n    return pOut;\n}\n\nD3DX10INLINE D3DXVECTOR2* D3DXVec2Minimize\n    ( D3DXVECTOR2 *pOut, CONST D3DXVECTOR2 *pV1, CONST D3DXVECTOR2 *pV2 )\n{\n#ifdef D3DX10_DEBUG\n    if(!pOut || !pV1 || !pV2)\n        return NULL;\n#endif\n\n    pOut->x = pV1->x < pV2->x ? pV1->x : pV2->x;\n    pOut->y = pV1->y < pV2->y ? pV1->y : pV2->y;\n    return pOut;\n}\n\nD3DX10INLINE D3DXVECTOR2* D3DXVec2Maximize\n    ( D3DXVECTOR2 *pOut, CONST D3DXVECTOR2 *pV1, CONST D3DXVECTOR2 *pV2 )\n{\n#ifdef D3DX10_DEBUG\n    if(!pOut || !pV1 || !pV2)\n        return NULL;\n#endif\n\n    pOut->x = pV1->x > pV2->x ? pV1->x : pV2->x;\n    pOut->y = pV1->y > pV2->y ? pV1->y : pV2->y;\n    return pOut;\n}\n\nD3DX10INLINE D3DXVECTOR2* D3DXVec2Scale\n    ( D3DXVECTOR2 *pOut, CONST D3DXVECTOR2 *pV, FLOAT s )\n{\n#ifdef D3DX10_DEBUG\n    if(!pOut || !pV)\n        return NULL;\n#endif\n\n    pOut->x = pV->x * s;\n    pOut->y = pV->y * s;\n    return pOut;\n}\n\nD3DX10INLINE D3DXVECTOR2* D3DXVec2Lerp\n    ( D3DXVECTOR2 *pOut, CONST D3DXVECTOR2 *pV1, CONST D3DXVECTOR2 *pV2,\n      FLOAT s )\n{\n#ifdef D3DX10_DEBUG\n    if(!pOut || !pV1 || !pV2)\n        return NULL;\n#endif\n\n    pOut->x = pV1->x + s * (pV2->x - pV1->x);\n    pOut->y = pV1->y + s * (pV2->y - pV1->y);\n    return pOut;\n}\n\n\n//--------------------------\n// 3D Vector\n//--------------------------\n\nD3DX10INLINE FLOAT D3DXVec3Length\n    ( CONST D3DXVECTOR3 *pV )\n{\n#ifdef D3DX10_DEBUG\n    if(!pV)\n        return 0.0f;\n#endif\n\n#ifdef __cplusplus\n    return sqrtf(pV->x * pV->x + pV->y * pV->y + pV->z * pV->z);\n#else\n    return (FLOAT) sqrt(pV->x * pV->x + pV->y * pV->y + pV->z * pV->z);\n#endif\n}\n\nD3DX10INLINE FLOAT D3DXVec3LengthSq\n    ( CONST D3DXVECTOR3 *pV )\n{\n#ifdef D3DX10_DEBUG\n    if(!pV)\n        return 0.0f;\n#endif\n\n    return pV->x * pV->x + pV->y * pV->y + pV->z * pV->z;\n}\n\nD3DX10INLINE FLOAT D3DXVec3Dot\n    ( CONST D3DXVECTOR3 *pV1, CONST D3DXVECTOR3 *pV2 )\n{\n#ifdef D3DX10_DEBUG\n    if(!pV1 || !pV2)\n        return 0.0f;\n#endif\n\n    return pV1->x * pV2->x + pV1->y * pV2->y + pV1->z * pV2->z;\n}\n\nD3DX10INLINE D3DXVECTOR3* D3DXVec3Cross\n    ( D3DXVECTOR3 *pOut, CONST D3DXVECTOR3 *pV1, CONST D3DXVECTOR3 *pV2 )\n{\n    D3DXVECTOR3 v;\n\n#ifdef D3DX10_DEBUG\n    if(!pOut || !pV1 || !pV2)\n        return NULL;\n#endif\n\n    v.x = pV1->y * pV2->z - pV1->z * pV2->y;\n    v.y = pV1->z * pV2->x - pV1->x * pV2->z;\n    v.z = pV1->x * pV2->y - pV1->y * pV2->x;\n\n    *pOut = v;\n    return pOut;\n}\n\nD3DX10INLINE D3DXVECTOR3* D3DXVec3Add\n    ( D3DXVECTOR3 *pOut, CONST D3DXVECTOR3 *pV1, CONST D3DXVECTOR3 *pV2 )\n{\n#ifdef D3DX10_DEBUG\n    if(!pOut || !pV1 || !pV2)\n        return NULL;\n#endif\n\n    pOut->x = pV1->x + pV2->x;\n    pOut->y = pV1->y + pV2->y;\n    pOut->z = pV1->z + pV2->z;\n    return pOut;\n}\n\nD3DX10INLINE D3DXVECTOR3* D3DXVec3Subtract\n    ( D3DXVECTOR3 *pOut, CONST D3DXVECTOR3 *pV1, CONST D3DXVECTOR3 *pV2 )\n{\n#ifdef D3DX10_DEBUG\n    if(!pOut || !pV1 || !pV2)\n        return NULL;\n#endif\n\n    pOut->x = pV1->x - pV2->x;\n    pOut->y = pV1->y - pV2->y;\n    pOut->z = pV1->z - pV2->z;\n    return pOut;\n}\n\nD3DX10INLINE D3DXVECTOR3* D3DXVec3Minimize\n    ( D3DXVECTOR3 *pOut, CONST D3DXVECTOR3 *pV1, CONST D3DXVECTOR3 *pV2 )\n{\n#ifdef D3DX10_DEBUG\n    if(!pOut || !pV1 || !pV2)\n        return NULL;\n#endif\n\n    pOut->x = pV1->x < pV2->x ? pV1->x : pV2->x;\n    pOut->y = pV1->y < pV2->y ? pV1->y : pV2->y;\n    pOut->z = pV1->z < pV2->z ? pV1->z : pV2->z;\n    return pOut;\n}\n\nD3DX10INLINE D3DXVECTOR3* D3DXVec3Maximize\n    ( D3DXVECTOR3 *pOut, CONST D3DXVECTOR3 *pV1, CONST D3DXVECTOR3 *pV2 )\n{\n#ifdef D3DX10_DEBUG\n    if(!pOut || !pV1 || !pV2)\n        return NULL;\n#endif\n\n    pOut->x = pV1->x > pV2->x ? pV1->x : pV2->x;\n    pOut->y = pV1->y > pV2->y ? pV1->y : pV2->y;\n    pOut->z = pV1->z > pV2->z ? pV1->z : pV2->z;\n    return pOut;\n}\n\nD3DX10INLINE D3DXVECTOR3* D3DXVec3Scale\n    ( D3DXVECTOR3 *pOut, CONST D3DXVECTOR3 *pV, FLOAT s)\n{\n#ifdef D3DX10_DEBUG\n    if(!pOut || !pV)\n        return NULL;\n#endif\n\n    pOut->x = pV->x * s;\n    pOut->y = pV->y * s;\n    pOut->z = pV->z * s;\n    return pOut;\n}\n\nD3DX10INLINE D3DXVECTOR3* D3DXVec3Lerp\n    ( D3DXVECTOR3 *pOut, CONST D3DXVECTOR3 *pV1, CONST D3DXVECTOR3 *pV2,\n      FLOAT s )\n{\n#ifdef D3DX10_DEBUG\n    if(!pOut || !pV1 || !pV2)\n        return NULL;\n#endif\n\n    pOut->x = pV1->x + s * (pV2->x - pV1->x);\n    pOut->y = pV1->y + s * (pV2->y - pV1->y);\n    pOut->z = pV1->z + s * (pV2->z - pV1->z);\n    return pOut;\n}\n\n\n//--------------------------\n// 4D Vector\n//--------------------------\n\nD3DX10INLINE FLOAT D3DXVec4Length\n    ( CONST D3DXVECTOR4 *pV )\n{\n#ifdef D3DX10_DEBUG\n    if(!pV)\n        return 0.0f;\n#endif\n\n#ifdef __cplusplus\n    return sqrtf(pV->x * pV->x + pV->y * pV->y + pV->z * pV->z + pV->w * pV->w);\n#else\n    return (FLOAT) sqrt(pV->x * pV->x + pV->y * pV->y + pV->z * pV->z + pV->w * pV->w);\n#endif\n}\n\nD3DX10INLINE FLOAT D3DXVec4LengthSq\n    ( CONST D3DXVECTOR4 *pV )\n{\n#ifdef D3DX10_DEBUG\n    if(!pV)\n        return 0.0f;\n#endif\n\n    return pV->x * pV->x + pV->y * pV->y + pV->z * pV->z + pV->w * pV->w;\n}\n\nD3DX10INLINE FLOAT D3DXVec4Dot\n    ( CONST D3DXVECTOR4 *pV1, CONST D3DXVECTOR4 *pV2 )\n{\n#ifdef D3DX10_DEBUG\n    if(!pV1 || !pV2)\n        return 0.0f;\n#endif\n\n    return pV1->x * pV2->x + pV1->y * pV2->y + pV1->z * pV2->z + pV1->w * pV2->w;\n}\n\nD3DX10INLINE D3DXVECTOR4* D3DXVec4Add\n    ( D3DXVECTOR4 *pOut, CONST D3DXVECTOR4 *pV1, CONST D3DXVECTOR4 *pV2)\n{\n#ifdef D3DX10_DEBUG\n    if(!pOut || !pV1 || !pV2)\n        return NULL;\n#endif\n\n    pOut->x = pV1->x + pV2->x;\n    pOut->y = pV1->y + pV2->y;\n    pOut->z = pV1->z + pV2->z;\n    pOut->w = pV1->w + pV2->w;\n    return pOut;\n}\n\nD3DX10INLINE D3DXVECTOR4* D3DXVec4Subtract\n    ( D3DXVECTOR4 *pOut, CONST D3DXVECTOR4 *pV1, CONST D3DXVECTOR4 *pV2)\n{\n#ifdef D3DX10_DEBUG\n    if(!pOut || !pV1 || !pV2)\n        return NULL;\n#endif\n\n    pOut->x = pV1->x - pV2->x;\n    pOut->y = pV1->y - pV2->y;\n    pOut->z = pV1->z - pV2->z;\n    pOut->w = pV1->w - pV2->w;\n    return pOut;\n}\n\nD3DX10INLINE D3DXVECTOR4* D3DXVec4Minimize\n    ( D3DXVECTOR4 *pOut, CONST D3DXVECTOR4 *pV1, CONST D3DXVECTOR4 *pV2)\n{\n#ifdef D3DX10_DEBUG\n    if(!pOut || !pV1 || !pV2)\n        return NULL;\n#endif\n\n    pOut->x = pV1->x < pV2->x ? pV1->x : pV2->x;\n    pOut->y = pV1->y < pV2->y ? pV1->y : pV2->y;\n    pOut->z = pV1->z < pV2->z ? pV1->z : pV2->z;\n    pOut->w = pV1->w < pV2->w ? pV1->w : pV2->w;\n    return pOut;\n}\n\nD3DX10INLINE D3DXVECTOR4* D3DXVec4Maximize\n    ( D3DXVECTOR4 *pOut, CONST D3DXVECTOR4 *pV1, CONST D3DXVECTOR4 *pV2)\n{\n#ifdef D3DX10_DEBUG\n    if(!pOut || !pV1 || !pV2)\n        return NULL;\n#endif\n\n    pOut->x = pV1->x > pV2->x ? pV1->x : pV2->x;\n    pOut->y = pV1->y > pV2->y ? pV1->y : pV2->y;\n    pOut->z = pV1->z > pV2->z ? pV1->z : pV2->z;\n    pOut->w = pV1->w > pV2->w ? pV1->w : pV2->w;\n    return pOut;\n}\n\nD3DX10INLINE D3DXVECTOR4* D3DXVec4Scale\n    ( D3DXVECTOR4 *pOut, CONST D3DXVECTOR4 *pV, FLOAT s)\n{\n#ifdef D3DX10_DEBUG\n    if(!pOut || !pV)\n        return NULL;\n#endif\n\n    pOut->x = pV->x * s;\n    pOut->y = pV->y * s;\n    pOut->z = pV->z * s;\n    pOut->w = pV->w * s;\n    return pOut;\n}\n\nD3DX10INLINE D3DXVECTOR4* D3DXVec4Lerp\n    ( D3DXVECTOR4 *pOut, CONST D3DXVECTOR4 *pV1, CONST D3DXVECTOR4 *pV2,\n      FLOAT s )\n{\n#ifdef D3DX10_DEBUG\n    if(!pOut || !pV1 || !pV2)\n        return NULL;\n#endif\n\n    pOut->x = pV1->x + s * (pV2->x - pV1->x);\n    pOut->y = pV1->y + s * (pV2->y - pV1->y);\n    pOut->z = pV1->z + s * (pV2->z - pV1->z);\n    pOut->w = pV1->w + s * (pV2->w - pV1->w);\n    return pOut;\n}\n\n\n//--------------------------\n// 4D Matrix\n//--------------------------\n\nD3DX10INLINE D3DXMATRIX* D3DXMatrixIdentity\n    ( D3DXMATRIX *pOut )\n{\n#ifdef D3DX10_DEBUG\n    if(!pOut)\n        return NULL;\n#endif\n\n    pOut->m[0][1] = pOut->m[0][2] = pOut->m[0][3] =\n    pOut->m[1][0] = pOut->m[1][2] = pOut->m[1][3] =\n    pOut->m[2][0] = pOut->m[2][1] = pOut->m[2][3] =\n    pOut->m[3][0] = pOut->m[3][1] = pOut->m[3][2] = 0.0f;\n\n    pOut->m[0][0] = pOut->m[1][1] = pOut->m[2][2] = pOut->m[3][3] = 1.0f;\n    return pOut;\n}\n\n\nD3DX10INLINE BOOL D3DXMatrixIsIdentity\n    ( CONST D3DXMATRIX *pM )\n{\n#ifdef D3DX10_DEBUG\n    if(!pM)\n        return FALSE;\n#endif\n\n    return pM->m[0][0] == 1.0f && pM->m[0][1] == 0.0f && pM->m[0][2] == 0.0f && pM->m[0][3] == 0.0f &&\n           pM->m[1][0] == 0.0f && pM->m[1][1] == 1.0f && pM->m[1][2] == 0.0f && pM->m[1][3] == 0.0f &&\n           pM->m[2][0] == 0.0f && pM->m[2][1] == 0.0f && pM->m[2][2] == 1.0f && pM->m[2][3] == 0.0f &&\n           pM->m[3][0] == 0.0f && pM->m[3][1] == 0.0f && pM->m[3][2] == 0.0f && pM->m[3][3] == 1.0f;\n}\n\n\n//--------------------------\n// Quaternion\n//--------------------------\n\nD3DX10INLINE FLOAT D3DXQuaternionLength\n    ( CONST D3DXQUATERNION *pQ )\n{\n#ifdef D3DX10_DEBUG\n    if(!pQ)\n        return 0.0f;\n#endif\n\n#ifdef __cplusplus\n    return sqrtf(pQ->x * pQ->x + pQ->y * pQ->y + pQ->z * pQ->z + pQ->w * pQ->w);\n#else\n    return (FLOAT) sqrt(pQ->x * pQ->x + pQ->y * pQ->y + pQ->z * pQ->z + pQ->w * pQ->w);\n#endif\n}\n\nD3DX10INLINE FLOAT D3DXQuaternionLengthSq\n    ( CONST D3DXQUATERNION *pQ )\n{\n#ifdef D3DX10_DEBUG\n    if(!pQ)\n        return 0.0f;\n#endif\n\n    return pQ->x * pQ->x + pQ->y * pQ->y + pQ->z * pQ->z + pQ->w * pQ->w;\n}\n\nD3DX10INLINE FLOAT D3DXQuaternionDot\n    ( CONST D3DXQUATERNION *pQ1, CONST D3DXQUATERNION *pQ2 )\n{\n#ifdef D3DX10_DEBUG\n    if(!pQ1 || !pQ2)\n        return 0.0f;\n#endif\n\n    return pQ1->x * pQ2->x + pQ1->y * pQ2->y + pQ1->z * pQ2->z + pQ1->w * pQ2->w;\n}\n\n\nD3DX10INLINE D3DXQUATERNION* D3DXQuaternionIdentity\n    ( D3DXQUATERNION *pOut )\n{\n#ifdef D3DX10_DEBUG\n    if(!pOut)\n        return NULL;\n#endif\n\n    pOut->x = pOut->y = pOut->z = 0.0f;\n    pOut->w = 1.0f;\n    return pOut;\n}\n\nD3DX10INLINE BOOL D3DXQuaternionIsIdentity\n    ( CONST D3DXQUATERNION *pQ )\n{\n#ifdef D3DX10_DEBUG\n    if(!pQ)\n        return FALSE;\n#endif\n\n    return pQ->x == 0.0f && pQ->y == 0.0f && pQ->z == 0.0f && pQ->w == 1.0f;\n}\n\n\nD3DX10INLINE D3DXQUATERNION* D3DXQuaternionConjugate\n    ( D3DXQUATERNION *pOut, CONST D3DXQUATERNION *pQ )\n{\n#ifdef D3DX10_DEBUG\n    if(!pOut || !pQ)\n        return NULL;\n#endif\n\n    pOut->x = -pQ->x;\n    pOut->y = -pQ->y;\n    pOut->z = -pQ->z;\n    pOut->w =  pQ->w;\n    return pOut;\n}\n\n\n//--------------------------\n// Plane\n//--------------------------\n\nD3DX10INLINE FLOAT D3DXPlaneDot\n    ( CONST D3DXPLANE *pP, CONST D3DXVECTOR4 *pV)\n{\n#ifdef D3DX10_DEBUG\n    if(!pP || !pV)\n        return 0.0f;\n#endif\n\n    return pP->a * pV->x + pP->b * pV->y + pP->c * pV->z + pP->d * pV->w;\n}\n\nD3DX10INLINE FLOAT D3DXPlaneDotCoord\n    ( CONST D3DXPLANE *pP, CONST D3DXVECTOR3 *pV)\n{\n#ifdef D3DX10_DEBUG\n    if(!pP || !pV)\n        return 0.0f;\n#endif\n\n    return pP->a * pV->x + pP->b * pV->y + pP->c * pV->z + pP->d;\n}\n\nD3DX10INLINE FLOAT D3DXPlaneDotNormal\n    ( CONST D3DXPLANE *pP, CONST D3DXVECTOR3 *pV)\n{\n#ifdef D3DX10_DEBUG\n    if(!pP || !pV)\n        return 0.0f;\n#endif\n\n    return pP->a * pV->x + pP->b * pV->y + pP->c * pV->z;\n}\n\nD3DX10INLINE D3DXPLANE* D3DXPlaneScale\n    (D3DXPLANE *pOut, CONST D3DXPLANE *pP, FLOAT s)\n{\n#ifdef D3DX10_DEBUG\n    if(!pOut || !pP)\n        return NULL;\n#endif\n\n    pOut->a = pP->a * s;\n    pOut->b = pP->b * s;\n    pOut->c = pP->c * s;\n    pOut->d = pP->d * s;\n    return pOut;\n}\n\n\n//--------------------------\n// Color\n//--------------------------\n\nD3DX10INLINE D3DXCOLOR* D3DXColorNegative\n    (D3DXCOLOR *pOut, CONST D3DXCOLOR *pC)\n{\n#ifdef D3DX10_DEBUG\n    if(!pOut || !pC)\n        return NULL;\n#endif\n\n    pOut->r = 1.0f - pC->r;\n    pOut->g = 1.0f - pC->g;\n    pOut->b = 1.0f - pC->b;\n    pOut->a = pC->a;\n    return pOut;\n}\n\nD3DX10INLINE D3DXCOLOR* D3DXColorAdd\n    (D3DXCOLOR *pOut, CONST D3DXCOLOR *pC1, CONST D3DXCOLOR *pC2)\n{\n#ifdef D3DX10_DEBUG\n    if(!pOut || !pC1 || !pC2)\n        return NULL;\n#endif\n\n    pOut->r = pC1->r + pC2->r;\n    pOut->g = pC1->g + pC2->g;\n    pOut->b = pC1->b + pC2->b;\n    pOut->a = pC1->a + pC2->a;\n    return pOut;\n}\n\nD3DX10INLINE D3DXCOLOR* D3DXColorSubtract\n    (D3DXCOLOR *pOut, CONST D3DXCOLOR *pC1, CONST D3DXCOLOR *pC2)\n{\n#ifdef D3DX10_DEBUG\n    if(!pOut || !pC1 || !pC2)\n        return NULL;\n#endif\n\n    pOut->r = pC1->r - pC2->r;\n    pOut->g = pC1->g - pC2->g;\n    pOut->b = pC1->b - pC2->b;\n    pOut->a = pC1->a - pC2->a;\n    return pOut;\n}\n\nD3DX10INLINE D3DXCOLOR* D3DXColorScale\n    (D3DXCOLOR *pOut, CONST D3DXCOLOR *pC, FLOAT s)\n{\n#ifdef D3DX10_DEBUG\n    if(!pOut || !pC)\n        return NULL;\n#endif\n\n    pOut->r = pC->r * s;\n    pOut->g = pC->g * s;\n    pOut->b = pC->b * s;\n    pOut->a = pC->a * s;\n    return pOut;\n}\n\nD3DX10INLINE D3DXCOLOR* D3DXColorModulate\n    (D3DXCOLOR *pOut, CONST D3DXCOLOR *pC1, CONST D3DXCOLOR *pC2)\n{\n#ifdef D3DX10_DEBUG\n    if(!pOut || !pC1 || !pC2)\n        return NULL;\n#endif\n\n    pOut->r = pC1->r * pC2->r;\n    pOut->g = pC1->g * pC2->g;\n    pOut->b = pC1->b * pC2->b;\n    pOut->a = pC1->a * pC2->a;\n    return pOut;\n}\n\nD3DX10INLINE D3DXCOLOR* D3DXColorLerp\n    (D3DXCOLOR *pOut, CONST D3DXCOLOR *pC1, CONST D3DXCOLOR *pC2, FLOAT s)\n{\n#ifdef D3DX10_DEBUG\n    if(!pOut || !pC1 || !pC2)\n        return NULL;\n#endif\n\n    pOut->r = pC1->r + s * (pC2->r - pC1->r);\n    pOut->g = pC1->g + s * (pC2->g - pC1->g);\n    pOut->b = pC1->b + s * (pC2->b - pC1->b);\n    pOut->a = pC1->a + s * (pC2->a - pC1->a);\n    return pOut;\n}\n\n\n#endif // __D3DXMATH_INL__\n\n"
  },
  {
    "path": "external/D3D11/include/D3DX10mesh.h",
    "content": "//////////////////////////////////////////////////////////////////////////////\n//\n//  Copyright (C) Microsoft Corporation.  All Rights Reserved.\n//\n//  File:       d3dx10mesh.h\n//  Content:    D3DX10 mesh types and functions\n//\n//////////////////////////////////////////////////////////////////////////////\n\n#include \"d3dx10.h\"\n\n#ifndef __D3DX10MESH_H__\n#define __D3DX10MESH_H__\n\n// {7ED943DD-52E8-40b5-A8D8-76685C406330}\nDEFINE_GUID(IID_ID3DX10BaseMesh, \n0x7ed943dd, 0x52e8, 0x40b5, 0xa8, 0xd8, 0x76, 0x68, 0x5c, 0x40, 0x63, 0x30);\n\n// {04B0D117-1041-46b1-AA8A-3952848BA22E}\nDEFINE_GUID(IID_ID3DX10MeshBuffer, \n0x4b0d117, 0x1041, 0x46b1, 0xaa, 0x8a, 0x39, 0x52, 0x84, 0x8b, 0xa2, 0x2e);\n\n// {4020E5C2-1403-4929-883F-E2E849FAC195}\nDEFINE_GUID(IID_ID3DX10Mesh, \n0x4020e5c2, 0x1403, 0x4929, 0x88, 0x3f, 0xe2, 0xe8, 0x49, 0xfa, 0xc1, 0x95);\n\n// {8875769A-D579-4088-AAEB-534D1AD84E96}\nDEFINE_GUID(IID_ID3DX10PMesh, \n0x8875769a, 0xd579, 0x4088, 0xaa, 0xeb, 0x53, 0x4d, 0x1a, 0xd8, 0x4e, 0x96);\n\n// {667EA4C7-F1CD-4386-B523-7C0290B83CC5}\nDEFINE_GUID(IID_ID3DX10SPMesh, \n0x667ea4c7, 0xf1cd, 0x4386, 0xb5, 0x23, 0x7c, 0x2, 0x90, 0xb8, 0x3c, 0xc5);\n\n// {3CE6CC22-DBF2-44f4-894D-F9C34A337139}\nDEFINE_GUID(IID_ID3DX10PatchMesh, \n0x3ce6cc22, 0xdbf2, 0x44f4, 0x89, 0x4d, 0xf9, 0xc3, 0x4a, 0x33, 0x71, 0x39);\n\n\n// Mesh options - lower 3 bytes only, upper byte used by _D3DX10MESHOPT option flags\nenum _D3DX10_MESH {\n    D3DX10_MESH_32_BIT                  = 0x001, // If set, then use 32 bit indices, if not set use 16 bit indices.\n    D3DX10_MESH_GS_ADJACENCY\t\t\t= 0x004, // If set, mesh contains GS adjacency info. Not valid on input.\n\n};\n\ntypedef struct _D3DX10_ATTRIBUTE_RANGE\n{\n    UINT  AttribId;\n    UINT  FaceStart;\n    UINT  FaceCount;\n    UINT  VertexStart;\n    UINT  VertexCount;\n} D3DX10_ATTRIBUTE_RANGE;\n\ntypedef D3DX10_ATTRIBUTE_RANGE* LPD3DX10_ATTRIBUTE_RANGE;\n\ntypedef enum _D3DX10_MESH_DISCARD_FLAGS\n{\n    D3DX10_MESH_DISCARD_ATTRIBUTE_BUFFER = 0x01,\n    D3DX10_MESH_DISCARD_ATTRIBUTE_TABLE = 0x02,\n    D3DX10_MESH_DISCARD_POINTREPS = 0x04,\n    D3DX10_MESH_DISCARD_ADJACENCY = 0x08,\n    D3DX10_MESH_DISCARD_DEVICE_BUFFERS = 0x10,\n\n} D3DX10_MESH_DISCARD_FLAGS;\n\ntypedef struct _D3DX10_WELD_EPSILONS\n{\n    FLOAT Position;                 // NOTE: This does NOT replace the epsilon in GenerateAdjacency\n                                            // in general, it should be the same value or greater than the one passed to GeneratedAdjacency\n    FLOAT BlendWeights;\n    FLOAT Normal;\n    FLOAT PSize;\n    FLOAT Specular;\n    FLOAT Diffuse;\n    FLOAT Texcoord[8];\n    FLOAT Tangent;\n    FLOAT Binormal;\n    FLOAT TessFactor;\n} D3DX10_WELD_EPSILONS;\n\ntypedef D3DX10_WELD_EPSILONS* LPD3DX10_WELD_EPSILONS;\n\ntypedef struct _D3DX10_INTERSECT_INFO\n{\n    UINT  FaceIndex;                // index of face intersected\n    FLOAT U;                        // Barycentric Hit Coordinates    \n    FLOAT V;                        // Barycentric Hit Coordinates\n    FLOAT Dist;                     // Ray-Intersection Parameter Distance\n} D3DX10_INTERSECT_INFO, *LPD3DX10_INTERSECT_INFO;\n\n// ID3DX10MeshBuffer is used by D3DX10Mesh vertex and index buffers\n#undef INTERFACE\n#define INTERFACE ID3DX10MeshBuffer\n\nDECLARE_INTERFACE_(ID3DX10MeshBuffer, IUnknown)\n{\n    // IUnknown\n    STDMETHOD(QueryInterface)(THIS_ REFIID iid, LPVOID *ppv) PURE;\n    STDMETHOD_(ULONG, AddRef)(THIS) PURE;\n    STDMETHOD_(ULONG, Release)(THIS) PURE;\n    \n    // ID3DX10MeshBuffer\n    STDMETHOD(Map)(THIS_ void **ppData, SIZE_T *pSize) PURE;\n    STDMETHOD(Unmap)(THIS) PURE;\n    STDMETHOD_(SIZE_T, GetSize)(THIS) PURE;\n};\n\n// D3DX10 Mesh interfaces\n#undef INTERFACE\n#define INTERFACE ID3DX10Mesh\n\nDECLARE_INTERFACE_(ID3DX10Mesh, IUnknown)\n{\n    // IUnknown\n    STDMETHOD(QueryInterface)(THIS_ REFIID iid, LPVOID *ppv) PURE;\n    STDMETHOD_(ULONG, AddRef)(THIS) PURE;\n    STDMETHOD_(ULONG, Release)(THIS) PURE;\n\n    // ID3DX10Mesh\n    STDMETHOD_(UINT, GetFaceCount)(THIS) PURE;\n    STDMETHOD_(UINT, GetVertexCount)(THIS) PURE;\n    STDMETHOD_(UINT, GetVertexBufferCount)(THIS) PURE;\n    STDMETHOD_(UINT, GetFlags)(THIS) PURE;\n    STDMETHOD(GetVertexDescription)(THIS_ CONST D3D10_INPUT_ELEMENT_DESC **ppDesc, UINT *pDeclCount) PURE;\n\n    STDMETHOD(SetVertexData)(THIS_ UINT iBuffer, CONST void *pData) PURE;\n    STDMETHOD(GetVertexBuffer)(THIS_ UINT iBuffer, ID3DX10MeshBuffer **ppVertexBuffer) PURE;\n\n    STDMETHOD(SetIndexData)(THIS_ CONST void *pData, UINT cIndices) PURE;\n    STDMETHOD(GetIndexBuffer)(THIS_ ID3DX10MeshBuffer **ppIndexBuffer) PURE;\n\n    STDMETHOD(SetAttributeData)(THIS_ CONST UINT *pData) PURE;\n    STDMETHOD(GetAttributeBuffer)(THIS_ ID3DX10MeshBuffer **ppAttributeBuffer) PURE;\n\n    STDMETHOD(SetAttributeTable)(THIS_ CONST D3DX10_ATTRIBUTE_RANGE *pAttribTable, UINT  cAttribTableSize) PURE;\n    STDMETHOD(GetAttributeTable)(THIS_ D3DX10_ATTRIBUTE_RANGE *pAttribTable, UINT  *pAttribTableSize) PURE;\n\n    STDMETHOD(GenerateAdjacencyAndPointReps)(THIS_ FLOAT Epsilon) PURE;\n    STDMETHOD(GenerateGSAdjacency)(THIS) PURE;\n\n    STDMETHOD(SetAdjacencyData)(THIS_ CONST UINT *pAdjacency) PURE;\n    STDMETHOD(GetAdjacencyBuffer)(THIS_ ID3DX10MeshBuffer **ppAdjacency) PURE;\n\n    STDMETHOD(SetPointRepData)(THIS_ CONST UINT *pPointReps) PURE;\n    STDMETHOD(GetPointRepBuffer)(THIS_ ID3DX10MeshBuffer **ppPointReps) PURE;\n    \n    STDMETHOD(Discard)(THIS_ D3DX10_MESH_DISCARD_FLAGS dwDiscard) PURE;\n    STDMETHOD(CloneMesh)(THIS_ UINT Flags, LPCSTR pPosSemantic, CONST D3D10_INPUT_ELEMENT_DESC *pDesc, UINT  DeclCount, ID3DX10Mesh** ppCloneMesh) PURE;\n\n    STDMETHOD(Optimize)(THIS_ UINT Flags, UINT * pFaceRemap, LPD3D10BLOB *ppVertexRemap) PURE;\n    STDMETHOD(GenerateAttributeBufferFromTable)(THIS) PURE;\n    \n\tSTDMETHOD(Intersect)(THIS_ D3DXVECTOR3 *pRayPos, D3DXVECTOR3 *pRayDir, \n                                        UINT *pHitCount, UINT *pFaceIndex, float *pU, float *pV, float *pDist, ID3D10Blob **ppAllHits);\n    STDMETHOD(IntersectSubset)(THIS_ UINT AttribId, D3DXVECTOR3 *pRayPos, D3DXVECTOR3 *pRayDir, \n                                        UINT *pHitCount, UINT *pFaceIndex, float *pU, float *pV, float *pDist, ID3D10Blob **ppAllHits);\n    \n    // ID3DX10Mesh - Device functions\n    STDMETHOD(CommitToDevice)(THIS) PURE;\n    STDMETHOD(DrawSubset)(THIS_ UINT AttribId) PURE;\n    STDMETHOD(DrawSubsetInstanced)(THIS_ UINT AttribId, UINT InstanceCount, UINT StartInstanceLocation) PURE;\n\n    STDMETHOD(GetDeviceVertexBuffer)(THIS_ UINT iBuffer, ID3D10Buffer **ppVertexBuffer) PURE;\n    STDMETHOD(GetDeviceIndexBuffer)(THIS_ ID3D10Buffer **ppIndexBuffer) PURE;\n};\n\n\n// Flat API\n#ifdef __cplusplus\nextern \"C\" {\n#endif //__cplusplus\n\nHRESULT WINAPI \n    D3DX10CreateMesh(\n        ID3D10Device *pDevice,\n        CONST D3D10_INPUT_ELEMENT_DESC *pDeclaration, \n        UINT  DeclCount,\n        LPCSTR pPositionSemantic,\n        UINT  VertexCount,\n        UINT  FaceCount,\n        UINT  Options, \n        ID3DX10Mesh **ppMesh);\n\n#ifdef __cplusplus\n}\n#endif //__cplusplus\n\n\n// ID3DX10Mesh::Optimize options - upper byte only, lower 3 bytes used from _D3DX10MESH option flags\nenum _D3DX10_MESHOPT {\n    D3DX10_MESHOPT_COMPACT       = 0x01000000,\n    D3DX10_MESHOPT_ATTR_SORT     = 0x02000000,\n    D3DX10_MESHOPT_VERTEX_CACHE   = 0x04000000,\n    D3DX10_MESHOPT_STRIP_REORDER  = 0x08000000,\n    D3DX10_MESHOPT_IGNORE_VERTS   = 0x10000000,  // optimize faces only, don't touch vertices\n    D3DX10_MESHOPT_DO_NOT_SPLIT    = 0x20000000,  // do not split vertices shared between attribute groups when attribute sorting\n    D3DX10_MESHOPT_DEVICE_INDEPENDENT = 0x00400000,  // Only affects VCache.  uses a static known good cache size for all cards\n                            \n    // D3DX10_MESHOPT_SHAREVB has been removed, please use D3DX10MESH_VB_SHARE instead\n\n};\n\n\n//////////////////////////////////////////////////////////////////////////\n// ID3DXSkinInfo\n//////////////////////////////////////////////////////////////////////////\n\n// {420BD604-1C76-4a34-A466-E45D0658A32C}\nDEFINE_GUID(IID_ID3DX10SkinInfo, \n0x420bd604, 0x1c76, 0x4a34, 0xa4, 0x66, 0xe4, 0x5d, 0x6, 0x58, 0xa3, 0x2c);\n\n// scaling modes for ID3DX10SkinInfo::Compact() & ID3DX10SkinInfo::UpdateMesh()\n#define D3DX10_SKININFO_NO_SCALING 0\n#define D3DX10_SKININFO_SCALE_TO_1 1\n#define D3DX10_SKININFO_SCALE_TO_TOTAL 2\n\ntypedef struct _D3DX10_SKINNING_CHANNEL\n{\n    UINT            SrcOffset;\n    UINT            DestOffset;\n    BOOL            IsNormal;\n} D3DX10_SKINNING_CHANNEL;\n\n#undef INTERFACE\n#define INTERFACE ID3DX10SkinInfo\n\ntypedef struct ID3DX10SkinInfo *LPD3DX10SKININFO;\n\nDECLARE_INTERFACE_(ID3DX10SkinInfo, IUnknown)\n{\n    // IUnknown\n    STDMETHOD(QueryInterface)(THIS_ REFIID iid, LPVOID *ppv) PURE;\n    STDMETHOD_(ULONG, AddRef)(THIS) PURE;\n    STDMETHOD_(ULONG, Release)(THIS) PURE;\n\n    STDMETHOD_(UINT , GetNumVertices)(THIS) PURE;\n    STDMETHOD_(UINT , GetNumBones)(THIS) PURE;\n    STDMETHOD_(UINT , GetMaxBoneInfluences)(THIS) PURE;\n\n    STDMETHOD(AddVertices)(THIS_ UINT  Count) PURE;\n    STDMETHOD(RemapVertices)(THIS_ UINT  NewVertexCount, UINT  *pVertexRemap) PURE;\n\n    STDMETHOD(AddBones)(THIS_ UINT  Count) PURE;\n    STDMETHOD(RemoveBone)(THIS_ UINT  Index) PURE;\n    STDMETHOD(RemapBones)(THIS_ UINT  NewBoneCount, UINT  *pBoneRemap) PURE;\n\n    STDMETHOD(AddBoneInfluences)(THIS_ UINT  BoneIndex, UINT  InfluenceCount, UINT  *pIndices, float *pWeights) PURE;\n    STDMETHOD(ClearBoneInfluences)(THIS_ UINT  BoneIndex) PURE;\n    STDMETHOD_(UINT , GetBoneInfluenceCount)(THIS_ UINT  BoneIndex) PURE;\n    STDMETHOD(GetBoneInfluences)(THIS_ UINT  BoneIndex, UINT  Offset, UINT  Count, UINT  *pDestIndices, float *pDestWeights) PURE;\n    STDMETHOD(FindBoneInfluenceIndex)(THIS_ UINT  BoneIndex, UINT  VertexIndex, UINT  *pInfluenceIndex) PURE;\n    STDMETHOD(SetBoneInfluence)(THIS_ UINT  BoneIndex, UINT  InfluenceIndex, float Weight) PURE;\n    STDMETHOD(GetBoneInfluence)(THIS_ UINT  BoneIndex, UINT  InfluenceIndex, float *pWeight) PURE;\n\n    STDMETHOD(Compact)(THIS_ UINT  MaxPerVertexInfluences, UINT  ScaleMode, float MinWeight) PURE;\n    STDMETHOD(DoSoftwareSkinning)(UINT  StartVertex, UINT  VertexCount, void *pSrcVertices, UINT  SrcStride, void *pDestVertices, UINT  DestStride, D3DXMATRIX *pBoneMatrices, D3DXMATRIX *pInverseTransposeBoneMatrices, D3DX10_SKINNING_CHANNEL *pChannelDescs, UINT  NumChannels) PURE;\n};\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif //__cplusplus\n\nHRESULT WINAPI\n    D3DX10CreateSkinInfo(LPD3DX10SKININFO* ppSkinInfo);\n        \n#ifdef __cplusplus\n}\n#endif //__cplusplus\n\ntypedef struct _D3DX10_ATTRIBUTE_WEIGHTS\n{\n    FLOAT Position;\n    FLOAT Boundary;\n    FLOAT Normal;\n    FLOAT Diffuse;\n    FLOAT Specular;\n    FLOAT Texcoord[8];\n    FLOAT Tangent;\n    FLOAT Binormal;\n} D3DX10_ATTRIBUTE_WEIGHTS, *LPD3DX10_ATTRIBUTE_WEIGHTS;\n\n#endif //__D3DX10MESH_H__\n\n\n"
  },
  {
    "path": "external/D3D11/include/D3DX10tex.h",
    "content": "//////////////////////////////////////////////////////////////////////////////\n//\n//  Copyright (C) Microsoft Corporation.  All Rights Reserved.\n//\n//  File:       d3dx10tex.h\n//  Content:    D3DX10 texturing APIs\n//\n//////////////////////////////////////////////////////////////////////////////\n\n#include \"d3dx10.h\"\n\n#ifndef __D3DX10TEX_H__\n#define __D3DX10TEX_H__\n\n\n//----------------------------------------------------------------------------\n// D3DX10_FILTER flags:\n// ------------------\n//\n// A valid filter must contain one of these values:\n//\n//  D3DX10_FILTER_NONE\n//      No scaling or filtering will take place.  Pixels outside the bounds\n//      of the source image are assumed to be transparent black.\n//  D3DX10_FILTER_POINT\n//      Each destination pixel is computed by sampling the nearest pixel\n//      from the source image.\n//  D3DX10_FILTER_LINEAR\n//      Each destination pixel is computed by linearly interpolating between\n//      the nearest pixels in the source image.  This filter works best \n//      when the scale on each axis is less than 2.\n//  D3DX10_FILTER_TRIANGLE\n//      Every pixel in the source image contributes equally to the\n//      destination image.  This is the slowest of all the filters.\n//  D3DX10_FILTER_BOX\n//      Each pixel is computed by averaging a 2x2(x2) box pixels from \n//      the source image. Only works when the dimensions of the \n//      destination are half those of the source. (as with mip maps)\n//\n// And can be OR'd with any of these optional flags:\n//\n//  D3DX10_FILTER_MIRROR_U\n//      Indicates that pixels off the edge of the texture on the U-axis\n//      should be mirrored, not wraped.\n//  D3DX10_FILTER_MIRROR_V\n//      Indicates that pixels off the edge of the texture on the V-axis\n//      should be mirrored, not wraped.\n//  D3DX10_FILTER_MIRROR_W\n//      Indicates that pixels off the edge of the texture on the W-axis\n//      should be mirrored, not wraped.\n//  D3DX10_FILTER_MIRROR\n//      Same as specifying D3DX10_FILTER_MIRROR_U | D3DX10_FILTER_MIRROR_V |\n//      D3DX10_FILTER_MIRROR_V\n//  D3DX10_FILTER_DITHER\n//      Dithers the resulting image using a 4x4 order dither pattern.\n//  D3DX10_FILTER_SRGB_IN\n//      Denotes that the input data is in sRGB (gamma 2.2) colorspace.\n//  D3DX10_FILTER_SRGB_OUT\n//      Denotes that the output data is in sRGB (gamma 2.2) colorspace.\n//  D3DX10_FILTER_SRGB\n//      Same as specifying D3DX10_FILTER_SRGB_IN | D3DX10_FILTER_SRGB_OUT\n//\n//----------------------------------------------------------------------------\n\ntypedef enum D3DX10_FILTER_FLAG\n{\n    D3DX10_FILTER_NONE            =   (1 << 0),\n    D3DX10_FILTER_POINT           =   (2 << 0),\n    D3DX10_FILTER_LINEAR          =   (3 << 0),\n    D3DX10_FILTER_TRIANGLE        =   (4 << 0),\n    D3DX10_FILTER_BOX             =   (5 << 0),\n\n    D3DX10_FILTER_MIRROR_U        =   (1 << 16),\n    D3DX10_FILTER_MIRROR_V        =   (2 << 16),\n    D3DX10_FILTER_MIRROR_W        =   (4 << 16),\n    D3DX10_FILTER_MIRROR          =   (7 << 16),\n\n    D3DX10_FILTER_DITHER          =   (1 << 19),\n    D3DX10_FILTER_DITHER_DIFFUSION=   (2 << 19),\n\n    D3DX10_FILTER_SRGB_IN         =   (1 << 21),\n    D3DX10_FILTER_SRGB_OUT        =   (2 << 21),\n    D3DX10_FILTER_SRGB            =   (3 << 21),\n} D3DX10_FILTER_FLAG;\n\n//----------------------------------------------------------------------------\n// D3DX10_NORMALMAP flags:\n// ---------------------\n// These flags are used to control how D3DX10ComputeNormalMap generates normal\n// maps.  Any number of these flags may be OR'd together in any combination.\n//\n//  D3DX10_NORMALMAP_MIRROR_U\n//      Indicates that pixels off the edge of the texture on the U-axis\n//      should be mirrored, not wraped.\n//  D3DX10_NORMALMAP_MIRROR_V\n//      Indicates that pixels off the edge of the texture on the V-axis\n//      should be mirrored, not wraped.\n//  D3DX10_NORMALMAP_MIRROR\n//      Same as specifying D3DX10_NORMALMAP_MIRROR_U | D3DX10_NORMALMAP_MIRROR_V\n//  D3DX10_NORMALMAP_INVERTSIGN\n//      Inverts the direction of each normal \n//  D3DX10_NORMALMAP_COMPUTE_OCCLUSION\n//      Compute the per pixel Occlusion term and encodes it into the alpha.\n//      An Alpha of 1 means that the pixel is not obscured in anyway, and\n//      an alpha of 0 would mean that the pixel is completly obscured.\n//\n//----------------------------------------------------------------------------\n\ntypedef enum D3DX10_NORMALMAP_FLAG\n{\n    D3DX10_NORMALMAP_MIRROR_U          =   (1 << 16),\n    D3DX10_NORMALMAP_MIRROR_V          =   (2 << 16),\n    D3DX10_NORMALMAP_MIRROR            =   (3 << 16),\n    D3DX10_NORMALMAP_INVERTSIGN        =   (8 << 16),\n    D3DX10_NORMALMAP_COMPUTE_OCCLUSION =   (16 << 16),\n} D3DX10_NORMALMAP_FLAG;\n\n//----------------------------------------------------------------------------\n// D3DX10_CHANNEL flags:\n// -------------------\n// These flags are used by functions which operate on or more channels\n// in a texture.\n//\n// D3DX10_CHANNEL_RED\n//     Indicates the red channel should be used\n// D3DX10_CHANNEL_BLUE\n//     Indicates the blue channel should be used\n// D3DX10_CHANNEL_GREEN\n//     Indicates the green channel should be used\n// D3DX10_CHANNEL_ALPHA\n//     Indicates the alpha channel should be used\n// D3DX10_CHANNEL_LUMINANCE\n//     Indicates the luminaces of the red green and blue channels should be \n//     used.\n//\n//----------------------------------------------------------------------------\n\ntypedef enum D3DX10_CHANNEL_FLAG\n{\n    D3DX10_CHANNEL_RED           =    (1 << 0),\n    D3DX10_CHANNEL_BLUE          =    (1 << 1),\n    D3DX10_CHANNEL_GREEN         =    (1 << 2),\n    D3DX10_CHANNEL_ALPHA         =    (1 << 3),\n    D3DX10_CHANNEL_LUMINANCE     =    (1 << 4),\n} D3DX10_CHANNEL_FLAG;\n\n\n\n//----------------------------------------------------------------------------\n// D3DX10_IMAGE_FILE_FORMAT:\n// ---------------------\n// This enum is used to describe supported image file formats.\n//\n//----------------------------------------------------------------------------\n\ntypedef enum D3DX10_IMAGE_FILE_FORMAT\n{\n    D3DX10_IFF_BMP         = 0,\n    D3DX10_IFF_JPG         = 1,\n    D3DX10_IFF_PNG         = 3,\n    D3DX10_IFF_DDS         = 4,\n    D3DX10_IFF_TIFF\t\t  = 10,\n    D3DX10_IFF_GIF\t\t  = 11,\n    D3DX10_IFF_WMP\t\t  = 12,\n    D3DX10_IFF_FORCE_DWORD = 0x7fffffff\n\n} D3DX10_IMAGE_FILE_FORMAT;\n\n\n//----------------------------------------------------------------------------\n// D3DX10_SAVE_TEXTURE_FLAG:\n// ---------------------\n// This enum is used to support texture saving options.\n//\n//----------------------------------------------------------------------------\n\ntypedef enum D3DX10_SAVE_TEXTURE_FLAG\n{\n    D3DX10_STF_USEINPUTBLOB      = 0x0001,\n} D3DX10_SAVE_TEXTURE_FLAG;\n\n\n\n//----------------------------------------------------------------------------\n// D3DX10_IMAGE_INFO:\n// ---------------\n// This structure is used to return a rough description of what the\n// the original contents of an image file looked like.\n// \n//  Width\n//      Width of original image in pixels\n//  Height\n//      Height of original image in pixels\n//  Depth\n//      Depth of original image in pixels\n//  ArraySize\n//      Array size in textures\n//  MipLevels\n//      Number of mip levels in original image\n//  MiscFlags\n//      Miscellaneous flags\n//  Format\n//      D3D format which most closely describes the data in original image\n//  ResourceDimension\n//      D3D10_RESOURCE_DIMENSION representing the dimension of texture stored in the file.\n//      D3D10_RESOURCE_DIMENSION_TEXTURE1D, 2D, 3D\n//  ImageFileFormat\n//      D3DX10_IMAGE_FILE_FORMAT representing the format of the image file.\n//----------------------------------------------------------------------------\n\ntypedef struct D3DX10_IMAGE_INFO\n{\n    UINT                        Width;\n    UINT                        Height;\n    UINT                        Depth;\n    UINT                        ArraySize;\n    UINT                        MipLevels;\n    UINT                        MiscFlags;\n    DXGI_FORMAT                 Format;\n    D3D10_RESOURCE_DIMENSION    ResourceDimension;\n    D3DX10_IMAGE_FILE_FORMAT    ImageFileFormat;\n} D3DX10_IMAGE_INFO;\n\n\n\n\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif //__cplusplus\n\n\n\n//////////////////////////////////////////////////////////////////////////////\n// Image File APIs ///////////////////////////////////////////////////////////\n//////////////////////////////////////////////////////////////////////////////\n\n//----------------------------------------------------------------------------\n// D3DX10_IMAGE_LOAD_INFO:\n// ---------------\n// This structure can be optionally passed in to texture loader APIs to \n// control how textures get loaded. Pass in D3DX10_DEFAULT for any of these\n// to have D3DX automatically pick defaults based on the source file.\n// \n//  Width\n//      Rescale texture to Width texels wide\n//  Height\n//      Rescale texture to Height texels high\n//  Depth\n//      Rescale texture to Depth texels deep\n//  FirstMipLevel\n//      First mip level to load\n//  MipLevels\n//      Number of mip levels to load after the first level\n//  Usage\n//      D3D10_USAGE flag for the new texture\n//  BindFlags\n//      D3D10 Bind flags for the new texture\n//  CpuAccessFlags\n//      D3D10 CPU Access flags for the new texture\n//  MiscFlags\n//      Reserved. Must be 0\n//  Format\n//      Resample texture to the specified format\n//  Filter\n//      Filter the texture using the specified filter (only when resampling)\n//  MipFilter\n//      Filter the texture mip levels using the specified filter (only if \n//      generating mips)\n//  pSrcInfo\n//      (optional) pointer to a D3DX10_IMAGE_INFO structure that will get \n//      populated with source image information\n//----------------------------------------------------------------------------\n\n\ntypedef struct D3DX10_IMAGE_LOAD_INFO\n{\n    UINT                       Width;\n    UINT                       Height;\n    UINT                       Depth;\n    UINT                       FirstMipLevel;\n    UINT                       MipLevels;\n    D3D10_USAGE                Usage;\n    UINT                       BindFlags;\n    UINT                       CpuAccessFlags;\n    UINT                       MiscFlags;\n    DXGI_FORMAT                Format;\n    UINT                       Filter;\n    UINT                       MipFilter;\n    D3DX10_IMAGE_INFO*         pSrcInfo;\n    \n#ifdef __cplusplus\n    D3DX10_IMAGE_LOAD_INFO()\n    {\n        Width = D3DX10_DEFAULT;\n        Height = D3DX10_DEFAULT;\n        Depth = D3DX10_DEFAULT;\n        FirstMipLevel = D3DX10_DEFAULT;\n        MipLevels = D3DX10_DEFAULT;\n        Usage = (D3D10_USAGE) D3DX10_DEFAULT;\n        BindFlags = D3DX10_DEFAULT;\n        CpuAccessFlags = D3DX10_DEFAULT;\n        MiscFlags = D3DX10_DEFAULT;\n        Format = DXGI_FORMAT_FROM_FILE;\n        Filter = D3DX10_DEFAULT;\n        MipFilter = D3DX10_DEFAULT;\n        pSrcInfo = NULL;\n    }  \n#endif\n\n} D3DX10_IMAGE_LOAD_INFO;\n\n//-------------------------------------------------------------------------------\n// GetImageInfoFromFile/Resource/Memory:\n// ------------------------------\n// Fills in a D3DX10_IMAGE_INFO struct with information about an image file.\n//\n// Parameters:\n//  pSrcFile\n//      File name of the source image.\n//  pSrcModule\n//      Module where resource is located, or NULL for module associated\n//      with image the os used to create the current process.\n//  pSrcResource\n//      Resource name.\n//  pSrcData\n//      Pointer to file in memory.\n//  SrcDataSize\n//      Size in bytes of file in memory.\n//  pPump\n//      Optional pointer to a thread pump object to use.\n//  pSrcInfo\n//      Pointer to a D3DX10_IMAGE_INFO structure to be filled in with the \n//      description of the data in the source image file.\n//  pHResult\n//      Pointer to a memory location to receive the return value upon completion.\n//      Maybe NULL if not needed.\n//      If pPump != NULL, pHResult must be a valid memory location until the\n//      the asynchronous execution completes.\n//-------------------------------------------------------------------------------\n\nHRESULT WINAPI\n    D3DX10GetImageInfoFromFileA(\n        LPCSTR                    pSrcFile,\n        ID3DX10ThreadPump*        pPump,\n        D3DX10_IMAGE_INFO*        pSrcInfo,\n        HRESULT*                  pHResult);\n\nHRESULT WINAPI\n    D3DX10GetImageInfoFromFileW(\n        LPCWSTR                   pSrcFile,\n        ID3DX10ThreadPump*        pPump,\n        D3DX10_IMAGE_INFO*        pSrcInfo,\n        HRESULT*                  pHResult);\n\n#ifdef UNICODE\n#define D3DX10GetImageInfoFromFile D3DX10GetImageInfoFromFileW\n#else\n#define D3DX10GetImageInfoFromFile D3DX10GetImageInfoFromFileA\n#endif\n\n\nHRESULT WINAPI\n    D3DX10GetImageInfoFromResourceA(\n        HMODULE                   hSrcModule,\n        LPCSTR                    pSrcResource,\n        ID3DX10ThreadPump*        pPump,\n        D3DX10_IMAGE_INFO*        pSrcInfo,\n        HRESULT*                  pHResult);\n\nHRESULT WINAPI\n    D3DX10GetImageInfoFromResourceW(\n        HMODULE                   hSrcModule,\n        LPCWSTR                   pSrcResource,\n        ID3DX10ThreadPump*        pPump,\n        D3DX10_IMAGE_INFO*        pSrcInfo,\n        HRESULT*                  pHResult);\n\n#ifdef UNICODE\n#define D3DX10GetImageInfoFromResource D3DX10GetImageInfoFromResourceW\n#else\n#define D3DX10GetImageInfoFromResource D3DX10GetImageInfoFromResourceA\n#endif\n\n\nHRESULT WINAPI\n    D3DX10GetImageInfoFromMemory(\n        LPCVOID                   pSrcData,\n        SIZE_T                    SrcDataSize,\n        ID3DX10ThreadPump*        pPump,\n        D3DX10_IMAGE_INFO*        pSrcInfo,\n        HRESULT*                  pHResult);\n\n\n//////////////////////////////////////////////////////////////////////////////\n// Create/Save Texture APIs //////////////////////////////////////////////////\n//////////////////////////////////////////////////////////////////////////////\n\n//----------------------------------------------------------------------------\n// D3DX10CreateTextureFromFile/Resource/Memory:\n// D3DX10CreateShaderResourceViewFromFile/Resource/Memory:\n// -----------------------------------\n// Create a texture object from a file or resource.\n//\n// Parameters:\n//\n//  pDevice\n//      The D3D device with which the texture is going to be used.\n//  pSrcFile\n//      File name.\n//  hSrcModule\n//      Module handle. if NULL, current module will be used.\n//  pSrcResource\n//      Resource name in module\n//  pvSrcData\n//      Pointer to file in memory.\n//  SrcDataSize\n//      Size in bytes of file in memory.\n//  pLoadInfo\n//      Optional pointer to a D3DX10_IMAGE_LOAD_INFO structure that\n//      contains additional loader parameters.\n//  pPump\n//      Optional pointer to a thread pump object to use.\n//  ppTexture\n//      [out] Created texture object.\n//  ppShaderResourceView\n//      [out] Shader resource view object created.\n//  pHResult\n//      Pointer to a memory location to receive the return value upon completion.\n//      Maybe NULL if not needed.\n//      If pPump != NULL, pHResult must be a valid memory location until the\n//      the asynchronous execution completes.\n//\n//----------------------------------------------------------------------------\n\n\n// FromFile\n\nHRESULT WINAPI\n    D3DX10CreateShaderResourceViewFromFileA(\n        ID3D10Device*               pDevice,\n        LPCSTR                      pSrcFile,\n        D3DX10_IMAGE_LOAD_INFO      *pLoadInfo,\n        ID3DX10ThreadPump*          pPump,\n        ID3D10ShaderResourceView**  ppShaderResourceView,\n        HRESULT*                    pHResult);\n\nHRESULT WINAPI\n    D3DX10CreateShaderResourceViewFromFileW(\n        ID3D10Device*               pDevice,\n        LPCWSTR                     pSrcFile,\n        D3DX10_IMAGE_LOAD_INFO      *pLoadInfo,\n        ID3DX10ThreadPump*          pPump,\n        ID3D10ShaderResourceView**  ppShaderResourceView,\n        HRESULT*                    pHResult);\n\n#ifdef UNICODE\n#define D3DX10CreateShaderResourceViewFromFile D3DX10CreateShaderResourceViewFromFileW\n#else\n#define D3DX10CreateShaderResourceViewFromFile D3DX10CreateShaderResourceViewFromFileA\n#endif\n\nHRESULT WINAPI\n    D3DX10CreateTextureFromFileA(\n        ID3D10Device*               pDevice,\n        LPCSTR                      pSrcFile,\n        D3DX10_IMAGE_LOAD_INFO      *pLoadInfo,\n        ID3DX10ThreadPump*          pPump,\n        ID3D10Resource**            ppTexture,\n        HRESULT*                    pHResult);\n\nHRESULT WINAPI\n    D3DX10CreateTextureFromFileW(\n        ID3D10Device*               pDevice,\n        LPCWSTR                     pSrcFile,\n        D3DX10_IMAGE_LOAD_INFO      *pLoadInfo,\n        ID3DX10ThreadPump*          pPump,\n        ID3D10Resource**            ppTexture,\n        HRESULT*                    pHResult);\n\n#ifdef UNICODE\n#define D3DX10CreateTextureFromFile D3DX10CreateTextureFromFileW\n#else\n#define D3DX10CreateTextureFromFile D3DX10CreateTextureFromFileA\n#endif\n\n\n// FromResource (resources in dll/exes)\n\nHRESULT WINAPI\n    D3DX10CreateShaderResourceViewFromResourceA(\n        ID3D10Device*              pDevice,\n        HMODULE                    hSrcModule,\n        LPCSTR                     pSrcResource,\n        D3DX10_IMAGE_LOAD_INFO*    pLoadInfo,\n        ID3DX10ThreadPump*         pPump,\n        ID3D10ShaderResourceView** ppShaderResourceView,\n        HRESULT*                   pHResult);\n\nHRESULT WINAPI\n    D3DX10CreateShaderResourceViewFromResourceW(\n        ID3D10Device*              pDevice,\n        HMODULE                    hSrcModule,\n        LPCWSTR                    pSrcResource,\n        D3DX10_IMAGE_LOAD_INFO*    pLoadInfo,\n        ID3DX10ThreadPump*         pPump,\n        ID3D10ShaderResourceView** ppShaderResourceView,\n        HRESULT*                   pHResult);\n\n#ifdef UNICODE\n#define D3DX10CreateShaderResourceViewFromResource D3DX10CreateShaderResourceViewFromResourceW\n#else\n#define D3DX10CreateShaderResourceViewFromResource D3DX10CreateShaderResourceViewFromResourceA\n#endif\n\nHRESULT WINAPI\n    D3DX10CreateTextureFromResourceA(\n        ID3D10Device*            pDevice,\n        HMODULE                  hSrcModule,\n        LPCSTR                   pSrcResource,\n        D3DX10_IMAGE_LOAD_INFO   *pLoadInfo,  \n        ID3DX10ThreadPump*       pPump,   \n        ID3D10Resource**         ppTexture,\n        HRESULT*                 pHResult);\n\nHRESULT WINAPI\n    D3DX10CreateTextureFromResourceW(\n        ID3D10Device*           pDevice,\n        HMODULE                 hSrcModule,\n        LPCWSTR                 pSrcResource,\n        D3DX10_IMAGE_LOAD_INFO* pLoadInfo,\n        ID3DX10ThreadPump*      pPump,\n        ID3D10Resource**        ppTexture,\n        HRESULT*                pHResult);\n\n#ifdef UNICODE\n#define D3DX10CreateTextureFromResource D3DX10CreateTextureFromResourceW\n#else\n#define D3DX10CreateTextureFromResource D3DX10CreateTextureFromResourceA\n#endif\n\n\n// FromFileInMemory\n\nHRESULT WINAPI\n    D3DX10CreateShaderResourceViewFromMemory(\n        ID3D10Device*              pDevice,\n        LPCVOID                    pSrcData,\n        SIZE_T                     SrcDataSize,\n        D3DX10_IMAGE_LOAD_INFO*    pLoadInfo,\n        ID3DX10ThreadPump*         pPump,        \n        ID3D10ShaderResourceView** ppShaderResourceView,\n        HRESULT*                   pHResult);\n\nHRESULT WINAPI\n    D3DX10CreateTextureFromMemory(\n        ID3D10Device*             pDevice,\n        LPCVOID                   pSrcData,\n        SIZE_T                    SrcDataSize,\n        D3DX10_IMAGE_LOAD_INFO*   pLoadInfo,    \n        ID3DX10ThreadPump*        pPump,    \n        ID3D10Resource**          ppTexture,\n        HRESULT*                  pHResult);\n\n\n//////////////////////////////////////////////////////////////////////////////\n// Misc Texture APIs /////////////////////////////////////////////////////////\n//////////////////////////////////////////////////////////////////////////////\n\n//----------------------------------------------------------------------------\n// D3DX10_TEXTURE_LOAD_INFO:\n// ------------------------\n//\n//----------------------------------------------------------------------------\n\ntypedef struct _D3DX10_TEXTURE_LOAD_INFO\n{\n    D3D10_BOX       *pSrcBox;\n    D3D10_BOX       *pDstBox;\n    UINT            SrcFirstMip;\n    UINT            DstFirstMip;\n    UINT            NumMips;\n    UINT            SrcFirstElement;\n    UINT            DstFirstElement;\n    UINT            NumElements;\n    UINT            Filter;\n    UINT            MipFilter;\n    \n#ifdef __cplusplus\n    _D3DX10_TEXTURE_LOAD_INFO()\n    {\n        pSrcBox = NULL;\n        pDstBox = NULL;\n        SrcFirstMip = 0;\n        DstFirstMip = 0;\n        NumMips = D3DX10_DEFAULT;\n        SrcFirstElement = 0;\n        DstFirstElement = 0;\n        NumElements = D3DX10_DEFAULT;\n        Filter = D3DX10_DEFAULT;\n        MipFilter = D3DX10_DEFAULT;\n    }  \n#endif\n\n} D3DX10_TEXTURE_LOAD_INFO;\n\n\n//----------------------------------------------------------------------------\n// D3DX10LoadTextureFromTexture:\n// ----------------------------\n// Load a texture from a texture.\n//\n// Parameters:\n//\n//----------------------------------------------------------------------------\n\n\nHRESULT WINAPI\n    D3DX10LoadTextureFromTexture(\n        ID3D10Resource            *pSrcTexture,\n        D3DX10_TEXTURE_LOAD_INFO  *pLoadInfo,\n        ID3D10Resource            *pDstTexture);\n\n\n//----------------------------------------------------------------------------\n// D3DX10FilterTexture:\n// ------------------\n// Filters mipmaps levels of a texture.\n//\n// Parameters:\n//  pBaseTexture\n//      The texture object to be filtered\n//  SrcLevel\n//      The level whose image is used to generate the subsequent levels. \n//  MipFilter\n//      D3DX10_FILTER flags controlling how each miplevel is filtered.\n//      Or D3DX10_DEFAULT for D3DX10_FILTER_BOX,\n//\n//----------------------------------------------------------------------------\n\nHRESULT WINAPI\n    D3DX10FilterTexture(\n        ID3D10Resource            *pTexture,\n        UINT                      SrcLevel,\n        UINT                      MipFilter);\n\n\n//----------------------------------------------------------------------------\n// D3DX10SaveTextureToFile:\n// ----------------------\n// Save a texture to a file.\n//\n// Parameters:\n//  pDestFile\n//      File name of the destination file\n//  DestFormat\n//      D3DX10_IMAGE_FILE_FORMAT specifying file format to use when saving.\n//  pSrcTexture\n//      Source texture, containing the image to be saved\n//\n//----------------------------------------------------------------------------\n\nHRESULT WINAPI\n    D3DX10SaveTextureToFileA(\n        ID3D10Resource            *pSrcTexture,\n        D3DX10_IMAGE_FILE_FORMAT    DestFormat,\n        LPCSTR                    pDestFile);\n\nHRESULT WINAPI\n    D3DX10SaveTextureToFileW(\n        ID3D10Resource            *pSrcTexture,\n        D3DX10_IMAGE_FILE_FORMAT    DestFormat,\n        LPCWSTR                   pDestFile);\n\n#ifdef UNICODE\n#define D3DX10SaveTextureToFile D3DX10SaveTextureToFileW\n#else\n#define D3DX10SaveTextureToFile D3DX10SaveTextureToFileA\n#endif\n\n\n//----------------------------------------------------------------------------\n// D3DX10SaveTextureToMemory:\n// ----------------------\n// Save a texture to a blob.\n//\n// Parameters:\n//  pSrcTexture\n//      Source texture, containing the image to be saved\n//  DestFormat\n//      D3DX10_IMAGE_FILE_FORMAT specifying file format to use when saving.\n//  ppDestBuf\n//      address of a d3dxbuffer pointer to return the image data\n//  Flags\n//      optional flags\n//----------------------------------------------------------------------------\n\nHRESULT WINAPI\n    D3DX10SaveTextureToMemory(\n        ID3D10Resource*            pSrcTexture,\n        D3DX10_IMAGE_FILE_FORMAT   DestFormat,\n        LPD3D10BLOB*               ppDestBuf,\n        UINT                       Flags);\n\n\n//----------------------------------------------------------------------------\n// D3DX10ComputeNormalMap:\n// ---------------------\n// Converts a height map into a normal map.  The (x,y,z) components of each\n// normal are mapped to the (r,g,b) channels of the output texture.\n//\n// Parameters\n//  pSrcTexture\n//      Pointer to the source heightmap texture \n//  Flags\n//      D3DX10_NORMALMAP flags\n//  Channel\n//      D3DX10_CHANNEL specifying source of height information\n//  Amplitude\n//      The constant value which the height information is multiplied by.\n//  pDestTexture\n//      Pointer to the destination texture\n//---------------------------------------------------------------------------\n\nHRESULT WINAPI\n    D3DX10ComputeNormalMap(\n        ID3D10Texture2D\t\t     *pSrcTexture,\n        UINT                      Flags,\n        UINT                      Channel,\n        FLOAT                     Amplitude,\n        ID3D10Texture2D\t\t     *pDestTexture);\n\n\n//----------------------------------------------------------------------------\n// D3DX10SHProjectCubeMap:\n// ----------------------\n//  Projects a function represented in a cube map into spherical harmonics.\n//\n//  Parameters:\n//   Order\n//      Order of the SH evaluation, generates Order^2 coefs, degree is Order-1\n//   pCubeMap\n//      CubeMap that is going to be projected into spherical harmonics\n//   pROut\n//      Output SH vector for Red.\n//   pGOut\n//      Output SH vector for Green\n//   pBOut\n//      Output SH vector for Blue        \n//\n//---------------------------------------------------------------------------\n\nHRESULT WINAPI\n    D3DX10SHProjectCubeMap(\n        __in_range(2,6) UINT                                Order,\n        ID3D10Texture2D                                    *pCubeMap,\n        __out_ecount(Order*Order) FLOAT                    *pROut,\n        __out_ecount_opt(Order*Order) FLOAT                *pGOut,\n        __out_ecount_opt(Order*Order) FLOAT                *pBOut);\n\n#ifdef __cplusplus\n}\n#endif //__cplusplus\n\n#endif //__D3DX10TEX_H__\n\n"
  },
  {
    "path": "external/D3D11/include/D3DX11.h",
    "content": "//////////////////////////////////////////////////////////////////////////////\n//\n//  Copyright (C) Microsoft Corporation.  All Rights Reserved.\n//\n//  File:       d3dx11.h\n//  Content:    D3DX11 utility library\n//\n//////////////////////////////////////////////////////////////////////////////\n\n#ifdef  __D3DX11_INTERNAL__\n#error Incorrect D3DX11 header used\n#endif\n\n#ifndef __D3DX11_H__\n#define __D3DX11_H__\n\n\n// Defines\n#include <limits.h>\n#include <float.h>\n\n#ifdef ALLOW_THROWING_NEW\n#include <new>\n#endif\n\n#define D3DX11_DEFAULT            ((UINT) -1)\n#define D3DX11_FROM_FILE          ((UINT) -3)\n#define DXGI_FORMAT_FROM_FILE     ((DXGI_FORMAT) -3)\n\n#ifndef D3DX11INLINE\n#ifdef _MSC_VER\n  #if (_MSC_VER >= 1200)\n  #define D3DX11INLINE __forceinline\n  #else\n  #define D3DX11INLINE __inline\n  #endif\n#else\n  #ifdef __cplusplus\n  #define D3DX11INLINE inline\n  #else\n  #define D3DX11INLINE\n  #endif\n#endif\n#endif\n\n\n\n// Includes\n#include \"d3d11.h\"\n#include \"d3dx11.h\"\n#include \"d3dx11core.h\"\n#include \"d3dx11tex.h\"\n#include \"d3dx11async.h\"\n\n\n// Errors\n#define _FACDD  0x876\n#define MAKE_DDHRESULT( code )  MAKE_HRESULT( 1, _FACDD, code )\n\nenum _D3DX11_ERR {\n    D3DX11_ERR_CANNOT_MODIFY_INDEX_BUFFER       = MAKE_DDHRESULT(2900),\n    D3DX11_ERR_INVALID_MESH                     = MAKE_DDHRESULT(2901),\n    D3DX11_ERR_CANNOT_ATTR_SORT                 = MAKE_DDHRESULT(2902),\n    D3DX11_ERR_SKINNING_NOT_SUPPORTED           = MAKE_DDHRESULT(2903),\n    D3DX11_ERR_TOO_MANY_INFLUENCES              = MAKE_DDHRESULT(2904),\n    D3DX11_ERR_INVALID_DATA                     = MAKE_DDHRESULT(2905),\n    D3DX11_ERR_LOADED_MESH_HAS_NO_DATA          = MAKE_DDHRESULT(2906),\n    D3DX11_ERR_DUPLICATE_NAMED_FRAGMENT         = MAKE_DDHRESULT(2907),\n    D3DX11_ERR_CANNOT_REMOVE_LAST_ITEM\t\t    = MAKE_DDHRESULT(2908),\n};\n\n\n#endif //__D3DX11_H__\n\n"
  },
  {
    "path": "external/D3D11/include/D3DX11async.h",
    "content": "\n//////////////////////////////////////////////////////////////////////////////\n//\n//  Copyright (c) Microsoft Corporation.  All rights reserved.\n//\n//  File:       D3DX11Async.h\n//  Content:    D3DX11 Asynchronous Shader loaders / compilers\n//\n//////////////////////////////////////////////////////////////////////////////\n\n#ifndef __D3DX11ASYNC_H__\n#define __D3DX11ASYNC_H__\n\n#include \"d3dx11.h\"\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif //__cplusplus\n\n\n//----------------------------------------------------------------------------\n// D3DX11Compile:\n// ------------------\n// Compiles an effect or shader.\n//\n// Parameters:\n//  pSrcFile\n//      Source file name.\n//  hSrcModule\n//      Module handle. if NULL, current module will be used.\n//  pSrcResource\n//      Resource name in module.\n//  pSrcData\n//      Pointer to source code.\n//  SrcDataLen\n//      Size of source code, in bytes.\n//  pDefines\n//      Optional NULL-terminated array of preprocessor macro definitions.\n//  pInclude\n//      Optional interface pointer to use for handling #include directives.\n//      If this parameter is NULL, #includes will be honored when compiling\n//      from file, and will error when compiling from resource or memory.\n//  pFunctionName\n//      Name of the entrypoint function where execution should begin.\n//  pProfile\n//      Instruction set to be used when generating code.  Currently supported\n//      profiles are \"vs_1_1\",  \"vs_2_0\", \"vs_2_a\", \"vs_2_sw\", \"vs_3_0\",\n//                   \"vs_3_sw\", \"vs_4_0\", \"vs_4_1\",\n//                   \"ps_2_0\",  \"ps_2_a\", \"ps_2_b\", \"ps_2_sw\", \"ps_3_0\", \n//                   \"ps_3_sw\", \"ps_4_0\", \"ps_4_1\",\n//                   \"gs_4_0\",  \"gs_4_1\",\n//                   \"tx_1_0\",\n//                   \"fx_4_0\",  \"fx_4_1\"\n//      Note that this entrypoint does not compile fx_2_0 targets, for that\n//      you need to use the D3DX9 function.\n//  Flags1\n//      See D3D10_SHADER_xxx flags.\n//  Flags2\n//      See D3D10_EFFECT_xxx flags.\n//  ppShader\n//      Returns a buffer containing the created shader.  This buffer contains\n//      the compiled shader code, as well as any embedded debug and symbol\n//      table info.  (See D3D10GetShaderConstantTable)\n//  ppErrorMsgs\n//      Returns a buffer containing a listing of errors and warnings that were\n//      encountered during the compile.  If you are running in a debugger,\n//      these are the same messages you will see in your debug output.\n//  pHResult\n//      Pointer to a memory location to receive the return value upon completion.\n//      Maybe NULL if not needed.\n//      If pPump != NULL, pHResult must be a valid memory location until the\n//      the asynchronous execution completes.\n//----------------------------------------------------------------------------\n\nHRESULT WINAPI D3DX11CompileFromFileA(LPCSTR pSrcFile,CONST D3D10_SHADER_MACRO* pDefines, LPD3D10INCLUDE pInclude,\n        LPCSTR pFunctionName, LPCSTR pProfile, UINT Flags1, UINT Flags2, ID3DX11ThreadPump* pPump, ID3D10Blob** ppShader, ID3D10Blob** ppErrorMsgs, HRESULT* pHResult);\n\nHRESULT WINAPI D3DX11CompileFromFileW(LPCWSTR pSrcFile, CONST D3D10_SHADER_MACRO* pDefines, LPD3D10INCLUDE pInclude,\n        LPCSTR pFunctionName, LPCSTR pProfile, UINT Flags1, UINT Flags2, ID3DX11ThreadPump* pPump, ID3D10Blob** ppShader, ID3D10Blob** ppErrorMsgs, HRESULT* pHResult);\n\n#ifdef UNICODE\n#define D3DX11CompileFromFile D3DX11CompileFromFileW\n#else\n#define D3DX11CompileFromFile D3DX11CompileFromFileA\n#endif\n\nHRESULT WINAPI D3DX11CompileFromResourceA(HMODULE hSrcModule, LPCSTR pSrcResource, LPCSTR pSrcFileName, CONST D3D10_SHADER_MACRO* pDefines, \n    LPD3D10INCLUDE pInclude, LPCSTR pFunctionName, LPCSTR pProfile, UINT Flags1, UINT Flags2, ID3DX11ThreadPump* pPump, ID3D10Blob** ppShader, ID3D10Blob** ppErrorMsgs, HRESULT* pHResult);\n\nHRESULT WINAPI D3DX11CompileFromResourceW(HMODULE hSrcModule, LPCWSTR pSrcResource, LPCWSTR pSrcFileName, CONST D3D10_SHADER_MACRO* pDefines, \n    LPD3D10INCLUDE pInclude, LPCSTR pFunctionName, LPCSTR pProfile, UINT Flags1, UINT Flags2, ID3DX11ThreadPump* pPump, ID3D10Blob** ppShader, ID3D10Blob** ppErrorMsgs, HRESULT* pHResult);\n\n#ifdef UNICODE\n#define D3DX11CompileFromResource D3DX11CompileFromResourceW\n#else\n#define D3DX11CompileFromResource D3DX11CompileFromResourceA\n#endif\n\nHRESULT WINAPI D3DX11CompileFromMemory(LPCSTR pSrcData, SIZE_T SrcDataLen, LPCSTR pFileName, CONST D3D10_SHADER_MACRO* pDefines, LPD3D10INCLUDE pInclude, \n    LPCSTR pFunctionName, LPCSTR pProfile, UINT Flags1, UINT Flags2, ID3DX11ThreadPump* pPump, ID3D10Blob** ppShader, ID3D10Blob** ppErrorMsgs, HRESULT* pHResult);\n\nHRESULT WINAPI D3DX11PreprocessShaderFromFileA(LPCSTR pFileName, CONST D3D10_SHADER_MACRO* pDefines, \n    LPD3D10INCLUDE pInclude, ID3DX11ThreadPump *pPump, ID3D10Blob** ppShaderText, ID3D10Blob** ppErrorMsgs, HRESULT* pHResult);\n\nHRESULT WINAPI D3DX11PreprocessShaderFromFileW(LPCWSTR pFileName, CONST D3D10_SHADER_MACRO* pDefines, \n    LPD3D10INCLUDE pInclude, ID3DX11ThreadPump *pPump, ID3D10Blob** ppShaderText, ID3D10Blob** ppErrorMsgs, HRESULT* pHResult);\n\nHRESULT WINAPI D3DX11PreprocessShaderFromMemory(LPCSTR pSrcData, SIZE_T SrcDataSize, LPCSTR pFileName, CONST D3D10_SHADER_MACRO* pDefines, \n    LPD3D10INCLUDE pInclude, ID3DX11ThreadPump *pPump, ID3D10Blob** ppShaderText, ID3D10Blob** ppErrorMsgs, HRESULT* pHResult);\n\nHRESULT WINAPI D3DX11PreprocessShaderFromResourceA(HMODULE hModule, LPCSTR pResourceName, LPCSTR pSrcFileName, CONST D3D10_SHADER_MACRO* pDefines, \n    LPD3D10INCLUDE pInclude, ID3DX11ThreadPump *pPump, ID3D10Blob** ppShaderText, ID3D10Blob** ppErrorMsgs, HRESULT* pHResult);\n\nHRESULT WINAPI D3DX11PreprocessShaderFromResourceW(HMODULE hModule, LPCWSTR pResourceName, LPCWSTR pSrcFileName, CONST D3D10_SHADER_MACRO* pDefines, \n    LPD3D10INCLUDE pInclude, ID3DX11ThreadPump *pPump, ID3D10Blob** ppShaderText, ID3D10Blob** ppErrorMsgs, HRESULT* pHResult);\n\n#ifdef UNICODE\n#define D3DX11PreprocessShaderFromFile      D3DX11PreprocessShaderFromFileW\n#define D3DX11PreprocessShaderFromResource  D3DX11PreprocessShaderFromResourceW\n#else\n#define D3DX11PreprocessShaderFromFile      D3DX11PreprocessShaderFromFileA\n#define D3DX11PreprocessShaderFromResource  D3DX11PreprocessShaderFromResourceA\n#endif\n\n//----------------------------------------------------------------------------\n// Async processors\n//----------------------------------------------------------------------------\n\nHRESULT WINAPI D3DX11CreateAsyncCompilerProcessor(LPCSTR pFileName, CONST D3D10_SHADER_MACRO* pDefines, LPD3D10INCLUDE pInclude, \n        LPCSTR pFunctionName, LPCSTR pProfile, UINT Flags1, UINT Flags2,\n        ID3D10Blob **ppCompiledShader, ID3D10Blob **ppErrorBuffer, ID3DX11DataProcessor **ppProcessor);\n\nHRESULT WINAPI D3DX11CreateAsyncShaderPreprocessProcessor(LPCSTR pFileName, CONST D3D10_SHADER_MACRO* pDefines, LPD3D10INCLUDE pInclude, \n        ID3D10Blob** ppShaderText, ID3D10Blob **ppErrorBuffer, ID3DX11DataProcessor **ppProcessor);\n\n//----------------------------------------------------------------------------\n// D3DX11 Asynchronous texture I/O (advanced mode)\n//----------------------------------------------------------------------------\n\nHRESULT WINAPI D3DX11CreateAsyncFileLoaderW(LPCWSTR pFileName, ID3DX11DataLoader **ppDataLoader);\nHRESULT WINAPI D3DX11CreateAsyncFileLoaderA(LPCSTR pFileName, ID3DX11DataLoader **ppDataLoader);\nHRESULT WINAPI D3DX11CreateAsyncMemoryLoader(LPCVOID pData, SIZE_T cbData, ID3DX11DataLoader **ppDataLoader);\nHRESULT WINAPI D3DX11CreateAsyncResourceLoaderW(HMODULE hSrcModule, LPCWSTR pSrcResource, ID3DX11DataLoader **ppDataLoader);\nHRESULT WINAPI D3DX11CreateAsyncResourceLoaderA(HMODULE hSrcModule, LPCSTR pSrcResource, ID3DX11DataLoader **ppDataLoader);\n\n#ifdef UNICODE\n#define D3DX11CreateAsyncFileLoader D3DX11CreateAsyncFileLoaderW\n#define D3DX11CreateAsyncResourceLoader D3DX11CreateAsyncResourceLoaderW\n#else\n#define D3DX11CreateAsyncFileLoader D3DX11CreateAsyncFileLoaderA\n#define D3DX11CreateAsyncResourceLoader D3DX11CreateAsyncResourceLoaderA\n#endif\n\nHRESULT WINAPI D3DX11CreateAsyncTextureProcessor(ID3D11Device *pDevice, D3DX11_IMAGE_LOAD_INFO *pLoadInfo, ID3DX11DataProcessor **ppDataProcessor);\nHRESULT WINAPI D3DX11CreateAsyncTextureInfoProcessor(D3DX11_IMAGE_INFO *pImageInfo, ID3DX11DataProcessor **ppDataProcessor);\nHRESULT WINAPI D3DX11CreateAsyncShaderResourceViewProcessor(ID3D11Device *pDevice, D3DX11_IMAGE_LOAD_INFO *pLoadInfo, ID3DX11DataProcessor **ppDataProcessor);\n\n#ifdef __cplusplus\n}\n#endif //__cplusplus\n\n#endif //__D3DX11ASYNC_H__\n\n\n"
  },
  {
    "path": "external/D3D11/include/D3DX11core.h",
    "content": "///////////////////////////////////////////////////////////////////////////\n//\n//  Copyright (C) Microsoft Corporation.  All Rights Reserved.\n//\n//  File:       d3dx11core.h\n//  Content:    D3DX11 core types and functions\n//\n///////////////////////////////////////////////////////////////////////////\n\n#include \"d3dx11.h\"\n\n#ifndef __D3DX11CORE_H__\n#define __D3DX11CORE_H__\n\n// Current name of the DLL shipped in the same SDK as this header.\n\n\n#define D3DX11_DLL_W L\"d3dx11_43.dll\"\n#define D3DX11_DLL_A \"d3dx11_43.dll\"\n\n#ifdef UNICODE\n    #define D3DX11_DLL D3DX11_DLL_W \n#else\n    #define D3DX11_DLL D3DX11_DLL_A\n#endif\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif //__cplusplus\n\n///////////////////////////////////////////////////////////////////////////\n// D3DX11_SDK_VERSION:\n// -----------------\n// This identifier is passed to D3DX11CheckVersion in order to ensure that an\n// application was built against the correct header files and lib files. \n// This number is incremented whenever a header (or other) change would \n// require applications to be rebuilt. If the version doesn't match, \n// D3DX11CreateVersion will return FALSE. (The number itself has no meaning.)\n///////////////////////////////////////////////////////////////////////////\n\n\n#define D3DX11_SDK_VERSION 43\n\n\n#ifdef D3D_DIAG_DLL\nBOOL WINAPI D3DX11DebugMute(BOOL Mute);  \n#endif\nHRESULT WINAPI D3DX11CheckVersion(UINT D3DSdkVersion, UINT D3DX11SdkVersion);\n\n#ifdef __cplusplus\n}\n#endif //__cplusplus\n\n\n\n//////////////////////////////////////////////////////////////////////////////\n// ID3DX11ThreadPump:\n//////////////////////////////////////////////////////////////////////////////\n\n#undef INTERFACE\n#define INTERFACE ID3DX11DataLoader\n\nDECLARE_INTERFACE(ID3DX11DataLoader)\n{\n\tSTDMETHOD(Load)(THIS) PURE;\n\tSTDMETHOD(Decompress)(THIS_ void **ppData, SIZE_T *pcBytes) PURE;\n\tSTDMETHOD(Destroy)(THIS) PURE;\n};\n\n#undef INTERFACE\n#define INTERFACE ID3DX11DataProcessor\n\nDECLARE_INTERFACE(ID3DX11DataProcessor)\n{\n\tSTDMETHOD(Process)(THIS_ void *pData, SIZE_T cBytes) PURE;\n\tSTDMETHOD(CreateDeviceObject)(THIS_ void **ppDataObject) PURE;\n\tSTDMETHOD(Destroy)(THIS) PURE;\n};\n\n// {C93FECFA-6967-478a-ABBC-402D90621FCB}\nDEFINE_GUID(IID_ID3DX11ThreadPump, \n0xc93fecfa, 0x6967, 0x478a, 0xab, 0xbc, 0x40, 0x2d, 0x90, 0x62, 0x1f, 0xcb);\n\n#undef INTERFACE\n#define INTERFACE ID3DX11ThreadPump\n\nDECLARE_INTERFACE_(ID3DX11ThreadPump, IUnknown)\n{\n    // IUnknown\n    STDMETHOD(QueryInterface)(THIS_ REFIID iid, LPVOID *ppv) PURE;\n    STDMETHOD_(ULONG, AddRef)(THIS) PURE;\n    STDMETHOD_(ULONG, Release)(THIS) PURE;\n\n    // ID3DX11ThreadPump\n    STDMETHOD(AddWorkItem)(THIS_ ID3DX11DataLoader *pDataLoader, ID3DX11DataProcessor *pDataProcessor, HRESULT *pHResult, void **ppDeviceObject) PURE;\n    STDMETHOD_(UINT, GetWorkItemCount)(THIS) PURE;\n      \n    STDMETHOD(WaitForAllItems)(THIS) PURE;\n    STDMETHOD(ProcessDeviceWorkItems)(THIS_ UINT iWorkItemCount);\n\n    STDMETHOD(PurgeAllItems)(THIS) PURE;\n    STDMETHOD(GetQueueStatus)(THIS_ UINT *pIoQueue, UINT *pProcessQueue, UINT *pDeviceQueue) PURE;\n    \n};\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif //__cplusplus\n\nHRESULT WINAPI D3DX11CreateThreadPump(UINT cIoThreads, UINT cProcThreads, ID3DX11ThreadPump **ppThreadPump);\n\nHRESULT WINAPI D3DX11UnsetAllDeviceObjects(ID3D11DeviceContext *pContext);\n\n#ifdef __cplusplus\n}\n#endif //__cplusplus\n\n///////////////////////////////////////////////////////////////////////////\n\n#define _FACD3D  0x876\n#define MAKE_D3DHRESULT( code )  MAKE_HRESULT( 1, _FACD3D, code )\n#define MAKE_D3DSTATUS( code )  MAKE_HRESULT( 0, _FACD3D, code )\n\n#define D3DERR_INVALIDCALL                      MAKE_D3DHRESULT(2156)\n#define D3DERR_WASSTILLDRAWING                  MAKE_D3DHRESULT(540)\n\n#endif //__D3DX11CORE_H__\n\n"
  },
  {
    "path": "external/D3D11/include/D3DX11tex.h",
    "content": "//////////////////////////////////////////////////////////////////////////////\n//\n//  Copyright (C) Microsoft Corporation.  All Rights Reserved.\n//\n//  File:       d3dx11tex.h\n//  Content:    D3DX11 texturing APIs\n//\n//////////////////////////////////////////////////////////////////////////////\n\n#include \"d3dx11.h\"\n\n#ifndef __D3DX11TEX_H__\n#define __D3DX11TEX_H__\n\n\n//----------------------------------------------------------------------------\n// D3DX11_FILTER flags:\n// ------------------\n//\n// A valid filter must contain one of these values:\n//\n//  D3DX11_FILTER_NONE\n//      No scaling or filtering will take place.  Pixels outside the bounds\n//      of the source image are assumed to be transparent black.\n//  D3DX11_FILTER_POINT\n//      Each destination pixel is computed by sampling the nearest pixel\n//      from the source image.\n//  D3DX11_FILTER_LINEAR\n//      Each destination pixel is computed by linearly interpolating between\n//      the nearest pixels in the source image.  This filter works best \n//      when the scale on each axis is less than 2.\n//  D3DX11_FILTER_TRIANGLE\n//      Every pixel in the source image contributes equally to the\n//      destination image.  This is the slowest of all the filters.\n//  D3DX11_FILTER_BOX\n//      Each pixel is computed by averaging a 2x2(x2) box pixels from \n//      the source image. Only works when the dimensions of the \n//      destination are half those of the source. (as with mip maps)\n//\n// And can be OR'd with any of these optional flags:\n//\n//  D3DX11_FILTER_MIRROR_U\n//      Indicates that pixels off the edge of the texture on the U-axis\n//      should be mirrored, not wraped.\n//  D3DX11_FILTER_MIRROR_V\n//      Indicates that pixels off the edge of the texture on the V-axis\n//      should be mirrored, not wraped.\n//  D3DX11_FILTER_MIRROR_W\n//      Indicates that pixels off the edge of the texture on the W-axis\n//      should be mirrored, not wraped.\n//  D3DX11_FILTER_MIRROR\n//      Same as specifying D3DX11_FILTER_MIRROR_U | D3DX11_FILTER_MIRROR_V |\n//      D3DX11_FILTER_MIRROR_V\n//  D3DX11_FILTER_DITHER\n//      Dithers the resulting image using a 4x4 order dither pattern.\n//  D3DX11_FILTER_SRGB_IN\n//      Denotes that the input data is in sRGB (gamma 2.2) colorspace.\n//  D3DX11_FILTER_SRGB_OUT\n//      Denotes that the output data is in sRGB (gamma 2.2) colorspace.\n//  D3DX11_FILTER_SRGB\n//      Same as specifying D3DX11_FILTER_SRGB_IN | D3DX11_FILTER_SRGB_OUT\n//\n//----------------------------------------------------------------------------\n\ntypedef enum D3DX11_FILTER_FLAG\n{\n    D3DX11_FILTER_NONE            =   (1 << 0),\n    D3DX11_FILTER_POINT           =   (2 << 0),\n    D3DX11_FILTER_LINEAR          =   (3 << 0),\n    D3DX11_FILTER_TRIANGLE        =   (4 << 0),\n    D3DX11_FILTER_BOX             =   (5 << 0),\n\n    D3DX11_FILTER_MIRROR_U        =   (1 << 16),\n    D3DX11_FILTER_MIRROR_V        =   (2 << 16),\n    D3DX11_FILTER_MIRROR_W        =   (4 << 16),\n    D3DX11_FILTER_MIRROR          =   (7 << 16),\n\n    D3DX11_FILTER_DITHER          =   (1 << 19),\n    D3DX11_FILTER_DITHER_DIFFUSION=   (2 << 19),\n\n    D3DX11_FILTER_SRGB_IN         =   (1 << 21),\n    D3DX11_FILTER_SRGB_OUT        =   (2 << 21),\n    D3DX11_FILTER_SRGB            =   (3 << 21),\n} D3DX11_FILTER_FLAG;\n\n//----------------------------------------------------------------------------\n// D3DX11_NORMALMAP flags:\n// ---------------------\n// These flags are used to control how D3DX11ComputeNormalMap generates normal\n// maps.  Any number of these flags may be OR'd together in any combination.\n//\n//  D3DX11_NORMALMAP_MIRROR_U\n//      Indicates that pixels off the edge of the texture on the U-axis\n//      should be mirrored, not wraped.\n//  D3DX11_NORMALMAP_MIRROR_V\n//      Indicates that pixels off the edge of the texture on the V-axis\n//      should be mirrored, not wraped.\n//  D3DX11_NORMALMAP_MIRROR\n//      Same as specifying D3DX11_NORMALMAP_MIRROR_U | D3DX11_NORMALMAP_MIRROR_V\n//  D3DX11_NORMALMAP_INVERTSIGN\n//      Inverts the direction of each normal \n//  D3DX11_NORMALMAP_COMPUTE_OCCLUSION\n//      Compute the per pixel Occlusion term and encodes it into the alpha.\n//      An Alpha of 1 means that the pixel is not obscured in anyway, and\n//      an alpha of 0 would mean that the pixel is completly obscured.\n//\n//----------------------------------------------------------------------------\n\ntypedef enum D3DX11_NORMALMAP_FLAG\n{\n    D3DX11_NORMALMAP_MIRROR_U          =   (1 << 16),\n    D3DX11_NORMALMAP_MIRROR_V          =   (2 << 16),\n    D3DX11_NORMALMAP_MIRROR            =   (3 << 16),\n    D3DX11_NORMALMAP_INVERTSIGN        =   (8 << 16),\n    D3DX11_NORMALMAP_COMPUTE_OCCLUSION =   (16 << 16),\n} D3DX11_NORMALMAP_FLAG;\n\n//----------------------------------------------------------------------------\n// D3DX11_CHANNEL flags:\n// -------------------\n// These flags are used by functions which operate on or more channels\n// in a texture.\n//\n// D3DX11_CHANNEL_RED\n//     Indicates the red channel should be used\n// D3DX11_CHANNEL_BLUE\n//     Indicates the blue channel should be used\n// D3DX11_CHANNEL_GREEN\n//     Indicates the green channel should be used\n// D3DX11_CHANNEL_ALPHA\n//     Indicates the alpha channel should be used\n// D3DX11_CHANNEL_LUMINANCE\n//     Indicates the luminaces of the red green and blue channels should be \n//     used.\n//\n//----------------------------------------------------------------------------\n\ntypedef enum D3DX11_CHANNEL_FLAG\n{\n    D3DX11_CHANNEL_RED           =    (1 << 0),\n    D3DX11_CHANNEL_BLUE          =    (1 << 1),\n    D3DX11_CHANNEL_GREEN         =    (1 << 2),\n    D3DX11_CHANNEL_ALPHA         =    (1 << 3),\n    D3DX11_CHANNEL_LUMINANCE     =    (1 << 4),\n} D3DX11_CHANNEL_FLAG;\n\n\n\n//----------------------------------------------------------------------------\n// D3DX11_IMAGE_FILE_FORMAT:\n// ---------------------\n// This enum is used to describe supported image file formats.\n//\n//----------------------------------------------------------------------------\n\ntypedef enum D3DX11_IMAGE_FILE_FORMAT\n{\n    D3DX11_IFF_BMP         = 0,\n    D3DX11_IFF_JPG         = 1,\n    D3DX11_IFF_PNG         = 3,\n    D3DX11_IFF_DDS         = 4,\n    D3DX11_IFF_TIFF\t\t  = 10,\n    D3DX11_IFF_GIF\t\t  = 11,\n    D3DX11_IFF_WMP\t\t  = 12,\n    D3DX11_IFF_FORCE_DWORD = 0x7fffffff\n\n} D3DX11_IMAGE_FILE_FORMAT;\n\n\n//----------------------------------------------------------------------------\n// D3DX11_SAVE_TEXTURE_FLAG:\n// ---------------------\n// This enum is used to support texture saving options.\n//\n//----------------------------------------------------------------------------\n\ntypedef enum D3DX11_SAVE_TEXTURE_FLAG\n{\n    D3DX11_STF_USEINPUTBLOB      = 0x0001,\n} D3DX11_SAVE_TEXTURE_FLAG;\n\n\n//----------------------------------------------------------------------------\n// D3DX11_IMAGE_INFO:\n// ---------------\n// This structure is used to return a rough description of what the\n// the original contents of an image file looked like.\n// \n//  Width\n//      Width of original image in pixels\n//  Height\n//      Height of original image in pixels\n//  Depth\n//      Depth of original image in pixels\n//  ArraySize\n//      Array size in textures\n//  MipLevels\n//      Number of mip levels in original image\n//  MiscFlags\n//      Miscellaneous flags\n//  Format\n//      D3D format which most closely describes the data in original image\n//  ResourceDimension\n//      D3D11_RESOURCE_DIMENSION representing the dimension of texture stored in the file.\n//      D3D11_RESOURCE_DIMENSION_TEXTURE1D, 2D, 3D\n//  ImageFileFormat\n//      D3DX11_IMAGE_FILE_FORMAT representing the format of the image file.\n//----------------------------------------------------------------------------\n\ntypedef struct D3DX11_IMAGE_INFO\n{\n    UINT                        Width;\n    UINT                        Height;\n    UINT                        Depth;\n    UINT                        ArraySize;\n    UINT                        MipLevels;\n    UINT                        MiscFlags;\n    DXGI_FORMAT                 Format;\n    D3D11_RESOURCE_DIMENSION    ResourceDimension;\n    D3DX11_IMAGE_FILE_FORMAT    ImageFileFormat;\n} D3DX11_IMAGE_INFO;\n\n\n\n\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif //__cplusplus\n\n\n\n//////////////////////////////////////////////////////////////////////////////\n// Image File APIs ///////////////////////////////////////////////////////////\n//////////////////////////////////////////////////////////////////////////////\n\n//----------------------------------------------------------------------------\n// D3DX11_IMAGE_LOAD_INFO:\n// ---------------\n// This structure can be optionally passed in to texture loader APIs to \n// control how textures get loaded. Pass in D3DX11_DEFAULT for any of these\n// to have D3DX automatically pick defaults based on the source file.\n// \n//  Width\n//      Rescale texture to Width texels wide\n//  Height\n//      Rescale texture to Height texels high\n//  Depth\n//      Rescale texture to Depth texels deep\n//  FirstMipLevel\n//      First mip level to load\n//  MipLevels\n//      Number of mip levels to load after the first level\n//  Usage\n//      D3D11_USAGE flag for the new texture\n//  BindFlags\n//      D3D11 Bind flags for the new texture\n//  CpuAccessFlags\n//      D3D11 CPU Access flags for the new texture\n//  MiscFlags\n//      Reserved. Must be 0\n//  Format\n//      Resample texture to the specified format\n//  Filter\n//      Filter the texture using the specified filter (only when resampling)\n//  MipFilter\n//      Filter the texture mip levels using the specified filter (only if \n//      generating mips)\n//  pSrcInfo\n//      (optional) pointer to a D3DX11_IMAGE_INFO structure that will get \n//      populated with source image information\n//----------------------------------------------------------------------------\n\n\ntypedef struct D3DX11_IMAGE_LOAD_INFO\n{\n    UINT                       Width;\n    UINT                       Height;\n    UINT                       Depth;\n    UINT                       FirstMipLevel;\n    UINT                       MipLevels;\n    D3D11_USAGE                Usage;\n    UINT                       BindFlags;\n    UINT                       CpuAccessFlags;\n    UINT                       MiscFlags;\n    DXGI_FORMAT                Format;\n    UINT                       Filter;\n    UINT                       MipFilter;\n    D3DX11_IMAGE_INFO*         pSrcInfo;\n    \n#ifdef __cplusplus\n    D3DX11_IMAGE_LOAD_INFO()\n    {\n        Width = D3DX11_DEFAULT;\n        Height = D3DX11_DEFAULT;\n        Depth = D3DX11_DEFAULT;\n        FirstMipLevel = D3DX11_DEFAULT;\n        MipLevels = D3DX11_DEFAULT;\n        Usage = (D3D11_USAGE) D3DX11_DEFAULT;\n        BindFlags = D3DX11_DEFAULT;\n        CpuAccessFlags = D3DX11_DEFAULT;\n        MiscFlags = D3DX11_DEFAULT;\n        Format = DXGI_FORMAT_FROM_FILE;\n        Filter = D3DX11_DEFAULT;\n        MipFilter = D3DX11_DEFAULT;\n        pSrcInfo = NULL;\n    }  \n#endif\n\n} D3DX11_IMAGE_LOAD_INFO;\n\n//-------------------------------------------------------------------------------\n// GetImageInfoFromFile/Resource/Memory:\n// ------------------------------\n// Fills in a D3DX11_IMAGE_INFO struct with information about an image file.\n//\n// Parameters:\n//  pSrcFile\n//      File name of the source image.\n//  pSrcModule\n//      Module where resource is located, or NULL for module associated\n//      with image the os used to create the current process.\n//  pSrcResource\n//      Resource name.\n//  pSrcData\n//      Pointer to file in memory.\n//  SrcDataSize\n//      Size in bytes of file in memory.\n//  pPump\n//      Optional pointer to a thread pump object to use.\n//  pSrcInfo\n//      Pointer to a D3DX11_IMAGE_INFO structure to be filled in with the \n//      description of the data in the source image file.\n//  pHResult\n//      Pointer to a memory location to receive the return value upon completion.\n//      Maybe NULL if not needed.\n//      If pPump != NULL, pHResult must be a valid memory location until the\n//      the asynchronous execution completes.\n//-------------------------------------------------------------------------------\n\nHRESULT WINAPI\n    D3DX11GetImageInfoFromFileA(\n        LPCSTR                    pSrcFile,\n        ID3DX11ThreadPump*        pPump,\n        D3DX11_IMAGE_INFO*        pSrcInfo,\n        HRESULT*                  pHResult);\n\nHRESULT WINAPI\n    D3DX11GetImageInfoFromFileW(\n        LPCWSTR                   pSrcFile,\n        ID3DX11ThreadPump*        pPump,\n        D3DX11_IMAGE_INFO*        pSrcInfo,\n        HRESULT*                  pHResult);\n\n#ifdef UNICODE\n#define D3DX11GetImageInfoFromFile D3DX11GetImageInfoFromFileW\n#else\n#define D3DX11GetImageInfoFromFile D3DX11GetImageInfoFromFileA\n#endif\n\n\nHRESULT WINAPI\n    D3DX11GetImageInfoFromResourceA(\n        HMODULE                   hSrcModule,\n        LPCSTR                    pSrcResource,\n        ID3DX11ThreadPump*        pPump,\n        D3DX11_IMAGE_INFO*        pSrcInfo,\n        HRESULT*                  pHResult);\n\nHRESULT WINAPI\n    D3DX11GetImageInfoFromResourceW(\n        HMODULE                   hSrcModule,\n        LPCWSTR                   pSrcResource,\n        ID3DX11ThreadPump*        pPump,\n        D3DX11_IMAGE_INFO*        pSrcInfo,\n        HRESULT*                  pHResult);\n\n#ifdef UNICODE\n#define D3DX11GetImageInfoFromResource D3DX11GetImageInfoFromResourceW\n#else\n#define D3DX11GetImageInfoFromResource D3DX11GetImageInfoFromResourceA\n#endif\n\n\nHRESULT WINAPI\n    D3DX11GetImageInfoFromMemory(\n        LPCVOID                   pSrcData,\n        SIZE_T                    SrcDataSize,\n        ID3DX11ThreadPump*        pPump,\n        D3DX11_IMAGE_INFO*        pSrcInfo,\n        HRESULT*                  pHResult);\n\n\n//////////////////////////////////////////////////////////////////////////////\n// Create/Save Texture APIs //////////////////////////////////////////////////\n//////////////////////////////////////////////////////////////////////////////\n\n//----------------------------------------------------------------------------\n// D3DX11CreateTextureFromFile/Resource/Memory:\n// D3DX11CreateShaderResourceViewFromFile/Resource/Memory:\n// -----------------------------------\n// Create a texture object from a file or resource.\n//\n// Parameters:\n//\n//  pDevice\n//      The D3D device with which the texture is going to be used.\n//  pSrcFile\n//      File name.\n//  hSrcModule\n//      Module handle. if NULL, current module will be used.\n//  pSrcResource\n//      Resource name in module\n//  pvSrcData\n//      Pointer to file in memory.\n//  SrcDataSize\n//      Size in bytes of file in memory.\n//  pLoadInfo\n//      Optional pointer to a D3DX11_IMAGE_LOAD_INFO structure that\n//      contains additional loader parameters.\n//  pPump\n//      Optional pointer to a thread pump object to use.\n//  ppTexture\n//      [out] Created texture object.\n//  ppShaderResourceView\n//      [out] Shader resource view object created.\n//  pHResult\n//      Pointer to a memory location to receive the return value upon completion.\n//      Maybe NULL if not needed.\n//      If pPump != NULL, pHResult must be a valid memory location until the\n//      the asynchronous execution completes.\n//\n//----------------------------------------------------------------------------\n\n\n// FromFile\n\nHRESULT WINAPI\n    D3DX11CreateShaderResourceViewFromFileA(\n        ID3D11Device*               pDevice,\n        LPCSTR                      pSrcFile,\n        D3DX11_IMAGE_LOAD_INFO      *pLoadInfo,\n        ID3DX11ThreadPump*          pPump,\n        ID3D11ShaderResourceView**  ppShaderResourceView,\n        HRESULT*                    pHResult);\n\nHRESULT WINAPI\n    D3DX11CreateShaderResourceViewFromFileW(\n        ID3D11Device*               pDevice,\n        LPCWSTR                     pSrcFile,\n        D3DX11_IMAGE_LOAD_INFO      *pLoadInfo,\n        ID3DX11ThreadPump*          pPump,\n        ID3D11ShaderResourceView**  ppShaderResourceView,\n        HRESULT*                    pHResult);\n\n#ifdef UNICODE\n#define D3DX11CreateShaderResourceViewFromFile D3DX11CreateShaderResourceViewFromFileW\n#else\n#define D3DX11CreateShaderResourceViewFromFile D3DX11CreateShaderResourceViewFromFileA\n#endif\n\nHRESULT WINAPI\n    D3DX11CreateTextureFromFileA(\n        ID3D11Device*               pDevice,\n        LPCSTR                      pSrcFile,\n        D3DX11_IMAGE_LOAD_INFO      *pLoadInfo,\n        ID3DX11ThreadPump*          pPump,\n        ID3D11Resource**            ppTexture,\n        HRESULT*                    pHResult);\n\nHRESULT WINAPI\n    D3DX11CreateTextureFromFileW(\n        ID3D11Device*               pDevice,\n        LPCWSTR                     pSrcFile,\n        D3DX11_IMAGE_LOAD_INFO      *pLoadInfo,\n        ID3DX11ThreadPump*          pPump,\n        ID3D11Resource**            ppTexture,\n        HRESULT*                    pHResult);\n\n#ifdef UNICODE\n#define D3DX11CreateTextureFromFile D3DX11CreateTextureFromFileW\n#else\n#define D3DX11CreateTextureFromFile D3DX11CreateTextureFromFileA\n#endif\n\n\n// FromResource (resources in dll/exes)\n\nHRESULT WINAPI\n    D3DX11CreateShaderResourceViewFromResourceA(\n        ID3D11Device*              pDevice,\n        HMODULE                    hSrcModule,\n        LPCSTR                     pSrcResource,\n        D3DX11_IMAGE_LOAD_INFO*    pLoadInfo,\n        ID3DX11ThreadPump*         pPump,\n        ID3D11ShaderResourceView** ppShaderResourceView,\n        HRESULT*                   pHResult);\n\nHRESULT WINAPI\n    D3DX11CreateShaderResourceViewFromResourceW(\n        ID3D11Device*              pDevice,\n        HMODULE                    hSrcModule,\n        LPCWSTR                    pSrcResource,\n        D3DX11_IMAGE_LOAD_INFO*    pLoadInfo,\n        ID3DX11ThreadPump*         pPump,\n        ID3D11ShaderResourceView** ppShaderResourceView,\n        HRESULT*                   pHResult);\n\n#ifdef UNICODE\n#define D3DX11CreateShaderResourceViewFromResource D3DX11CreateShaderResourceViewFromResourceW\n#else\n#define D3DX11CreateShaderResourceViewFromResource D3DX11CreateShaderResourceViewFromResourceA\n#endif\n\nHRESULT WINAPI\n    D3DX11CreateTextureFromResourceA(\n        ID3D11Device*            pDevice,\n        HMODULE                  hSrcModule,\n        LPCSTR                   pSrcResource,\n        D3DX11_IMAGE_LOAD_INFO   *pLoadInfo,  \n        ID3DX11ThreadPump*       pPump,   \n        ID3D11Resource**         ppTexture,\n        HRESULT*                 pHResult);\n\nHRESULT WINAPI\n    D3DX11CreateTextureFromResourceW(\n        ID3D11Device*           pDevice,\n        HMODULE                 hSrcModule,\n        LPCWSTR                 pSrcResource,\n        D3DX11_IMAGE_LOAD_INFO* pLoadInfo,\n        ID3DX11ThreadPump*      pPump,\n        ID3D11Resource**        ppTexture,\n        HRESULT*                pHResult);\n\n#ifdef UNICODE\n#define D3DX11CreateTextureFromResource D3DX11CreateTextureFromResourceW\n#else\n#define D3DX11CreateTextureFromResource D3DX11CreateTextureFromResourceA\n#endif\n\n\n// FromFileInMemory\n\nHRESULT WINAPI\n    D3DX11CreateShaderResourceViewFromMemory(\n        ID3D11Device*              pDevice,\n        LPCVOID                    pSrcData,\n        SIZE_T                     SrcDataSize,\n        D3DX11_IMAGE_LOAD_INFO*    pLoadInfo,\n        ID3DX11ThreadPump*         pPump,        \n        ID3D11ShaderResourceView** ppShaderResourceView,\n        HRESULT*                   pHResult);\n\nHRESULT WINAPI\n    D3DX11CreateTextureFromMemory(\n        ID3D11Device*             pDevice,\n        LPCVOID                   pSrcData,\n        SIZE_T                    SrcDataSize,\n        D3DX11_IMAGE_LOAD_INFO*   pLoadInfo,    \n        ID3DX11ThreadPump*        pPump,    \n        ID3D11Resource**          ppTexture,\n        HRESULT*                  pHResult);\n\n\n//////////////////////////////////////////////////////////////////////////////\n// Misc Texture APIs /////////////////////////////////////////////////////////\n//////////////////////////////////////////////////////////////////////////////\n\n//----------------------------------------------------------------------------\n// D3DX11_TEXTURE_LOAD_INFO:\n// ------------------------\n//\n//----------------------------------------------------------------------------\n\ntypedef struct _D3DX11_TEXTURE_LOAD_INFO\n{\n    D3D11_BOX       *pSrcBox;\n    D3D11_BOX       *pDstBox;\n    UINT            SrcFirstMip;\n    UINT            DstFirstMip;\n    UINT            NumMips;\n    UINT            SrcFirstElement;\n    UINT            DstFirstElement;\n    UINT            NumElements;\n    UINT            Filter;\n    UINT            MipFilter;\n    \n#ifdef __cplusplus\n    _D3DX11_TEXTURE_LOAD_INFO()\n    {\n        pSrcBox = NULL;\n        pDstBox = NULL;\n        SrcFirstMip = 0;\n        DstFirstMip = 0;\n        NumMips = D3DX11_DEFAULT;\n        SrcFirstElement = 0;\n        DstFirstElement = 0;\n        NumElements = D3DX11_DEFAULT;\n        Filter = D3DX11_DEFAULT;\n        MipFilter = D3DX11_DEFAULT;\n    }  \n#endif\n\n} D3DX11_TEXTURE_LOAD_INFO;\n\n\n//----------------------------------------------------------------------------\n// D3DX11LoadTextureFromTexture:\n// ----------------------------\n// Load a texture from a texture.\n//\n// Parameters:\n//\n//----------------------------------------------------------------------------\n\n\nHRESULT WINAPI\n    D3DX11LoadTextureFromTexture(\n\t\tID3D11DeviceContext       *pContext,\n        ID3D11Resource            *pSrcTexture,\n        D3DX11_TEXTURE_LOAD_INFO  *pLoadInfo,\n        ID3D11Resource            *pDstTexture);\n\n\n//----------------------------------------------------------------------------\n// D3DX11FilterTexture:\n// ------------------\n// Filters mipmaps levels of a texture.\n//\n// Parameters:\n//  pBaseTexture\n//      The texture object to be filtered\n//  SrcLevel\n//      The level whose image is used to generate the subsequent levels. \n//  MipFilter\n//      D3DX11_FILTER flags controlling how each miplevel is filtered.\n//      Or D3DX11_DEFAULT for D3DX11_FILTER_BOX,\n//\n//----------------------------------------------------------------------------\n\nHRESULT WINAPI\n    D3DX11FilterTexture(\n\t\tID3D11DeviceContext       *pContext,\n        ID3D11Resource            *pTexture,\n        UINT                      SrcLevel,\n        UINT                      MipFilter);\n\n\n//----------------------------------------------------------------------------\n// D3DX11SaveTextureToFile:\n// ----------------------\n// Save a texture to a file.\n//\n// Parameters:\n//  pDestFile\n//      File name of the destination file\n//  DestFormat\n//      D3DX11_IMAGE_FILE_FORMAT specifying file format to use when saving.\n//  pSrcTexture\n//      Source texture, containing the image to be saved\n//\n//----------------------------------------------------------------------------\n\nHRESULT WINAPI\n    D3DX11SaveTextureToFileA(\n\t\tID3D11DeviceContext       *pContext,\n        ID3D11Resource            *pSrcTexture,\n        D3DX11_IMAGE_FILE_FORMAT    DestFormat,\n        LPCSTR                    pDestFile);\n\nHRESULT WINAPI\n    D3DX11SaveTextureToFileW(\n\t\tID3D11DeviceContext       *pContext,\n        ID3D11Resource            *pSrcTexture,\n        D3DX11_IMAGE_FILE_FORMAT    DestFormat,\n        LPCWSTR                   pDestFile);\n\n#ifdef UNICODE\n#define D3DX11SaveTextureToFile D3DX11SaveTextureToFileW\n#else\n#define D3DX11SaveTextureToFile D3DX11SaveTextureToFileA\n#endif\n\n\n//----------------------------------------------------------------------------\n// D3DX11SaveTextureToMemory:\n// ----------------------\n// Save a texture to a blob.\n//\n// Parameters:\n//  pSrcTexture\n//      Source texture, containing the image to be saved\n//  DestFormat\n//      D3DX11_IMAGE_FILE_FORMAT specifying file format to use when saving.\n//  ppDestBuf\n//      address of a d3dxbuffer pointer to return the image data\n//  Flags\n//      optional flags\n//----------------------------------------------------------------------------\n\nHRESULT WINAPI\n    D3DX11SaveTextureToMemory(\n\t\tID3D11DeviceContext       *pContext,\n        ID3D11Resource*            pSrcTexture,\n        D3DX11_IMAGE_FILE_FORMAT   DestFormat,\n        ID3D10Blob**               ppDestBuf,\n        UINT                       Flags);\n\n\n//----------------------------------------------------------------------------\n// D3DX11ComputeNormalMap:\n// ---------------------\n// Converts a height map into a normal map.  The (x,y,z) components of each\n// normal are mapped to the (r,g,b) channels of the output texture.\n//\n// Parameters\n//  pSrcTexture\n//      Pointer to the source heightmap texture \n//  Flags\n//      D3DX11_NORMALMAP flags\n//  Channel\n//      D3DX11_CHANNEL specifying source of height information\n//  Amplitude\n//      The constant value which the height information is multiplied by.\n//  pDestTexture\n//      Pointer to the destination texture\n//---------------------------------------------------------------------------\n\nHRESULT WINAPI\n    D3DX11ComputeNormalMap(\n        ID3D11DeviceContext      *pContext,\n        ID3D11Texture2D\t\t     *pSrcTexture,\n        UINT                      Flags,\n        UINT                      Channel,\n        FLOAT                     Amplitude,\n        ID3D11Texture2D\t\t     *pDestTexture);\n\n\n//----------------------------------------------------------------------------\n// D3DX11SHProjectCubeMap:\n// ----------------------\n//  Projects a function represented in a cube map into spherical harmonics.\n//\n//  Parameters:\n//   Order\n//      Order of the SH evaluation, generates Order^2 coefs, degree is Order-1\n//   pCubeMap\n//      CubeMap that is going to be projected into spherical harmonics\n//   pROut\n//      Output SH vector for Red.\n//   pGOut\n//      Output SH vector for Green\n//   pBOut\n//      Output SH vector for Blue        \n//\n//---------------------------------------------------------------------------\n\nHRESULT WINAPI\n    D3DX11SHProjectCubeMap(\n        ID3D11DeviceContext                                *pContext,\n        __in_range(2,6) UINT                                Order,\n        ID3D11Texture2D                                    *pCubeMap,\n        __out_ecount(Order*Order) FLOAT                    *pROut,\n        __out_ecount_opt(Order*Order) FLOAT                *pGOut,\n        __out_ecount_opt(Order*Order) FLOAT                *pBOut);\n\n#ifdef __cplusplus\n}\n#endif //__cplusplus\n\n#endif //__D3DX11TEX_H__\n\n"
  },
  {
    "path": "external/D3D11/include/d3dx10async.h",
    "content": "\n//////////////////////////////////////////////////////////////////////////////\n//\n//  Copyright (c) Microsoft Corporation.  All rights reserved.\n//\n//  File:       D3DX10Async.h\n//  Content:    D3DX10 Asynchronous Effect / Shader loaders / compilers\n//\n//////////////////////////////////////////////////////////////////////////////\n\n#ifndef __D3DX10ASYNC_H__\n#define __D3DX10ASYNC_H__\n\n#include \"d3dx10.h\"\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif //__cplusplus\n\n\n//----------------------------------------------------------------------------\n// D3DX10Compile:\n// ------------------\n// Compiles an effect or shader.\n//\n// Parameters:\n//  pSrcFile\n//      Source file name.\n//  hSrcModule\n//      Module handle. if NULL, current module will be used.\n//  pSrcResource\n//      Resource name in module.\n//  pSrcData\n//      Pointer to source code.\n//  SrcDataLen\n//      Size of source code, in bytes.\n//  pDefines\n//      Optional NULL-terminated array of preprocessor macro definitions.\n//  pInclude\n//      Optional interface pointer to use for handling #include directives.\n//      If this parameter is NULL, #includes will be honored when compiling\n//      from file, and will error when compiling from resource or memory.\n//  pFunctionName\n//      Name of the entrypoint function where execution should begin.\n//  pProfile\n//      Instruction set to be used when generating code.  Currently supported\n//      profiles are \"vs_1_1\",  \"vs_2_0\", \"vs_2_a\", \"vs_2_sw\", \"vs_3_0\",\n//                   \"vs_3_sw\", \"vs_4_0\", \"vs_4_1\",\n//                   \"ps_2_0\",  \"ps_2_a\", \"ps_2_b\", \"ps_2_sw\", \"ps_3_0\", \n//                   \"ps_3_sw\", \"ps_4_0\", \"ps_4_1\",\n//                   \"gs_4_0\",  \"gs_4_1\",\n//                   \"tx_1_0\",\n//                   \"fx_4_0\",  \"fx_4_1\"\n//      Note that this entrypoint does not compile fx_2_0 targets, for that\n//      you need to use the D3DX9 function.\n//  Flags1\n//      See D3D10_SHADER_xxx flags.\n//  Flags2\n//      See D3D10_EFFECT_xxx flags.\n//  ppShader\n//      Returns a buffer containing the created shader.  This buffer contains\n//      the compiled shader code, as well as any embedded debug and symbol\n//      table info.  (See D3D10GetShaderConstantTable)\n//  ppErrorMsgs\n//      Returns a buffer containing a listing of errors and warnings that were\n//      encountered during the compile.  If you are running in a debugger,\n//      these are the same messages you will see in your debug output.\n//  pHResult\n//      Pointer to a memory location to receive the return value upon completion.\n//      Maybe NULL if not needed.\n//      If pPump != NULL, pHResult must be a valid memory location until the\n//      the asynchronous execution completes.\n//----------------------------------------------------------------------------\n\nHRESULT WINAPI D3DX10CompileFromFileA(LPCSTR pSrcFile,CONST D3D10_SHADER_MACRO* pDefines, LPD3D10INCLUDE pInclude,\n        LPCSTR pFunctionName, LPCSTR pProfile, UINT Flags1, UINT Flags2, ID3DX10ThreadPump* pPump, ID3D10Blob** ppShader, ID3D10Blob** ppErrorMsgs, HRESULT* pHResult);\n\nHRESULT WINAPI D3DX10CompileFromFileW(LPCWSTR pSrcFile, CONST D3D10_SHADER_MACRO* pDefines, LPD3D10INCLUDE pInclude,\n        LPCSTR pFunctionName, LPCSTR pProfile, UINT Flags1, UINT Flags2, ID3DX10ThreadPump* pPump, ID3D10Blob** ppShader, ID3D10Blob** ppErrorMsgs, HRESULT* pHResult);\n\n#ifdef UNICODE\n#define D3DX10CompileFromFile D3DX10CompileFromFileW\n#else\n#define D3DX10CompileFromFile D3DX10CompileFromFileA\n#endif\n\nHRESULT WINAPI D3DX10CompileFromResourceA(HMODULE hSrcModule, LPCSTR pSrcResource, LPCSTR pSrcFileName, CONST D3D10_SHADER_MACRO* pDefines, \n    LPD3D10INCLUDE pInclude, LPCSTR pFunctionName, LPCSTR pProfile, UINT Flags1, UINT Flags2, ID3DX10ThreadPump* pPump, ID3D10Blob** ppShader, ID3D10Blob** ppErrorMsgs, HRESULT* pHResult);\n\nHRESULT WINAPI D3DX10CompileFromResourceW(HMODULE hSrcModule, LPCWSTR pSrcResource, LPCWSTR pSrcFileName, CONST D3D10_SHADER_MACRO* pDefines, \n    LPD3D10INCLUDE pInclude, LPCSTR pFunctionName, LPCSTR pProfile, UINT Flags1, UINT Flags2, ID3DX10ThreadPump* pPump, ID3D10Blob** ppShader, ID3D10Blob** ppErrorMsgs, HRESULT* pHResult);\n\n#ifdef UNICODE\n#define D3DX10CompileFromResource D3DX10CompileFromResourceW\n#else\n#define D3DX10CompileFromResource D3DX10CompileFromResourceA\n#endif\n\nHRESULT WINAPI D3DX10CompileFromMemory(LPCSTR pSrcData, SIZE_T SrcDataLen, LPCSTR pFileName, CONST D3D10_SHADER_MACRO* pDefines, LPD3D10INCLUDE pInclude, \n    LPCSTR pFunctionName, LPCSTR pProfile, UINT Flags1, UINT Flags2, ID3DX10ThreadPump* pPump, ID3D10Blob** ppShader, ID3D10Blob** ppErrorMsgs, HRESULT* pHResult);\n\n//----------------------------------------------------------------------------\n// D3DX10CreateEffectFromXXXX:\n// --------------------------\n// Creates an effect from a binary effect or file\n//\n// Parameters:\n//\n// [in]\n//\n//\n//  pFileName\n//      Name of the ASCII (uncompiled) or binary (compiled) Effect file to load\n//\n//  hModule\n//      Handle to the module containing the resource to compile from\n//  pResourceName\n//      Name of the resource within hModule to compile from\n//\n//  pData\n//      Blob of effect data, either ASCII (uncompiled) or binary (compiled)\n//  DataLength\n//      Length of the data blob\n//\n//  pDefines\n//      Optional NULL-terminated array of preprocessor macro definitions.\n//  pInclude\n//      Optional interface pointer to use for handling #include directives.\n//      If this parameter is NULL, #includes will be honored when compiling\n//      from file, and will error when compiling from resource or memory.\n//  pProfile\n//      Profile to use when compiling the effect.\n//  HLSLFlags\n//      Compilation flags pertaining to shaders and data types, honored by\n//      the HLSL compiler\n//  FXFlags\n//      Compilation flags pertaining to Effect compilation, honored\n//      by the Effect compiler\n//  pDevice\n//      Pointer to the D3D10 device on which to create Effect resources\n//  pEffectPool\n//      Pointer to an Effect pool to share variables with or NULL\n//\n// [out]\n//\n//  ppEffect\n//      Address of the newly created Effect interface\n//  ppEffectPool\n//      Address of the newly created Effect pool interface\n//  ppErrors\n//      If non-NULL, address of a buffer with error messages that occurred \n//      during parsing or compilation\n//  pHResult\n//      Pointer to a memory location to receive the return value upon completion.\n//      Maybe NULL if not needed.\n//      If pPump != NULL, pHResult must be a valid memory location until the\n//      the asynchronous execution completes.\n//----------------------------------------------------------------------------\n\n\nHRESULT WINAPI D3DX10CreateEffectFromFileA(LPCSTR pFileName, CONST D3D10_SHADER_MACRO *pDefines, \n    ID3D10Include *pInclude, LPCSTR pProfile, UINT HLSLFlags, UINT FXFlags, ID3D10Device *pDevice, \n    ID3D10EffectPool *pEffectPool, ID3DX10ThreadPump* pPump, ID3D10Effect **ppEffect, ID3D10Blob **ppErrors, HRESULT* pHResult);\n\nHRESULT WINAPI D3DX10CreateEffectFromFileW(LPCWSTR pFileName, CONST D3D10_SHADER_MACRO *pDefines, \n    ID3D10Include *pInclude, LPCSTR pProfile, UINT HLSLFlags, UINT FXFlags, ID3D10Device *pDevice, \n    ID3D10EffectPool *pEffectPool, ID3DX10ThreadPump* pPump, ID3D10Effect **ppEffect, ID3D10Blob **ppErrors, HRESULT* pHResult);\n\nHRESULT WINAPI D3DX10CreateEffectFromMemory(LPCVOID pData, SIZE_T DataLength, LPCSTR pSrcFileName, CONST D3D10_SHADER_MACRO *pDefines, \n    ID3D10Include *pInclude, LPCSTR pProfile, UINT HLSLFlags, UINT FXFlags, ID3D10Device *pDevice, \n    ID3D10EffectPool *pEffectPool, ID3DX10ThreadPump* pPump, ID3D10Effect **ppEffect, ID3D10Blob **ppErrors, HRESULT* pHResult);\n\nHRESULT WINAPI D3DX10CreateEffectFromResourceA(HMODULE hModule, LPCSTR pResourceName, LPCSTR pSrcFileName, CONST D3D10_SHADER_MACRO *pDefines, \n    ID3D10Include *pInclude, LPCSTR pProfile, UINT HLSLFlags, UINT FXFlags, ID3D10Device *pDevice, \n    ID3D10EffectPool *pEffectPool, ID3DX10ThreadPump* pPump, ID3D10Effect **ppEffect, ID3D10Blob **ppErrors, HRESULT* pHResult);\n\nHRESULT WINAPI D3DX10CreateEffectFromResourceW(HMODULE hModule, LPCWSTR pResourceName, LPCWSTR pSrcFileName, CONST D3D10_SHADER_MACRO *pDefines, \n    ID3D10Include *pInclude, LPCSTR pProfile, UINT HLSLFlags, UINT FXFlags, ID3D10Device *pDevice, \n    ID3D10EffectPool *pEffectPool, ID3DX10ThreadPump* pPump, ID3D10Effect **ppEffect, ID3D10Blob **ppErrors, HRESULT* pHResult);\n\n\n#ifdef UNICODE\n#define D3DX10CreateEffectFromFile          D3DX10CreateEffectFromFileW\n#define D3DX10CreateEffectFromResource      D3DX10CreateEffectFromResourceW\n#else\n#define D3DX10CreateEffectFromFile          D3DX10CreateEffectFromFileA\n#define D3DX10CreateEffectFromResource      D3DX10CreateEffectFromResourceA\n#endif\n\nHRESULT WINAPI D3DX10CreateEffectPoolFromFileA(LPCSTR pFileName, CONST D3D10_SHADER_MACRO *pDefines, \n    ID3D10Include *pInclude, LPCSTR pProfile, UINT HLSLFlags, UINT FXFlags, ID3D10Device *pDevice, ID3DX10ThreadPump* pPump, \n    ID3D10EffectPool **ppEffectPool, ID3D10Blob **ppErrors, HRESULT* pHResult);\n\nHRESULT WINAPI D3DX10CreateEffectPoolFromFileW(LPCWSTR pFileName, CONST D3D10_SHADER_MACRO *pDefines, \n    ID3D10Include *pInclude, LPCSTR pProfile, UINT HLSLFlags, UINT FXFlags, ID3D10Device *pDevice, ID3DX10ThreadPump* pPump, \n    ID3D10EffectPool **ppEffectPool, ID3D10Blob **ppErrors, HRESULT* pHResult);\n\nHRESULT WINAPI D3DX10CreateEffectPoolFromMemory(LPCVOID pData, SIZE_T DataLength, LPCSTR pSrcFileName, CONST D3D10_SHADER_MACRO *pDefines, \n    ID3D10Include *pInclude, LPCSTR pProfile, UINT HLSLFlags, UINT FXFlags, ID3D10Device *pDevice,\n    ID3DX10ThreadPump* pPump, ID3D10EffectPool **ppEffectPool, ID3D10Blob **ppErrors, HRESULT* pHResult);\n\nHRESULT WINAPI D3DX10CreateEffectPoolFromResourceA(HMODULE hModule, LPCSTR pResourceName, LPCSTR pSrcFileName, CONST D3D10_SHADER_MACRO *pDefines, \n    ID3D10Include *pInclude, LPCSTR pProfile, UINT HLSLFlags, UINT FXFlags, ID3D10Device *pDevice,\n    ID3DX10ThreadPump* pPump, ID3D10EffectPool **ppEffectPool, ID3D10Blob **ppErrors, HRESULT* pHResult);\n                                         \nHRESULT WINAPI D3DX10CreateEffectPoolFromResourceW(HMODULE hModule, LPCWSTR pResourceName, LPCWSTR pSrcFileName, CONST D3D10_SHADER_MACRO *pDefines, \n    ID3D10Include *pInclude, LPCSTR pProfile, UINT HLSLFlags, UINT FXFlags, ID3D10Device *pDevice,\n    ID3DX10ThreadPump* pPump, ID3D10EffectPool **ppEffectPool, ID3D10Blob **ppErrors, HRESULT* pHResult);\n\n#ifdef UNICODE\n#define D3DX10CreateEffectPoolFromFile      D3DX10CreateEffectPoolFromFileW\n#define D3DX10CreateEffectPoolFromResource  D3DX10CreateEffectPoolFromResourceW\n#else\n#define D3DX10CreateEffectPoolFromFile      D3DX10CreateEffectPoolFromFileA\n#define D3DX10CreateEffectPoolFromResource  D3DX10CreateEffectPoolFromResourceA\n#endif\n\nHRESULT WINAPI D3DX10PreprocessShaderFromFileA(LPCSTR pFileName, CONST D3D10_SHADER_MACRO* pDefines, \n    LPD3D10INCLUDE pInclude, ID3DX10ThreadPump *pPump, ID3D10Blob** ppShaderText, ID3D10Blob** ppErrorMsgs, HRESULT* pHResult);\n\nHRESULT WINAPI D3DX10PreprocessShaderFromFileW(LPCWSTR pFileName, CONST D3D10_SHADER_MACRO* pDefines, \n    LPD3D10INCLUDE pInclude, ID3DX10ThreadPump *pPump, ID3D10Blob** ppShaderText, ID3D10Blob** ppErrorMsgs, HRESULT* pHResult);\n\nHRESULT WINAPI D3DX10PreprocessShaderFromMemory(LPCSTR pSrcData, SIZE_T SrcDataSize, LPCSTR pFileName, CONST D3D10_SHADER_MACRO* pDefines, \n    LPD3D10INCLUDE pInclude, ID3DX10ThreadPump *pPump, ID3D10Blob** ppShaderText, ID3D10Blob** ppErrorMsgs, HRESULT* pHResult);\n\nHRESULT WINAPI D3DX10PreprocessShaderFromResourceA(HMODULE hModule, LPCSTR pResourceName, LPCSTR pSrcFileName, CONST D3D10_SHADER_MACRO* pDefines, \n    LPD3D10INCLUDE pInclude, ID3DX10ThreadPump *pPump, ID3D10Blob** ppShaderText, ID3D10Blob** ppErrorMsgs, HRESULT* pHResult);\n\nHRESULT WINAPI D3DX10PreprocessShaderFromResourceW(HMODULE hModule, LPCWSTR pResourceName, LPCWSTR pSrcFileName, CONST D3D10_SHADER_MACRO* pDefines, \n    LPD3D10INCLUDE pInclude, ID3DX10ThreadPump *pPump, ID3D10Blob** ppShaderText, ID3D10Blob** ppErrorMsgs, HRESULT* pHResult);\n\n#ifdef UNICODE\n#define D3DX10PreprocessShaderFromFile      D3DX10PreprocessShaderFromFileW\n#define D3DX10PreprocessShaderFromResource  D3DX10PreprocessShaderFromResourceW\n#else\n#define D3DX10PreprocessShaderFromFile      D3DX10PreprocessShaderFromFileA\n#define D3DX10PreprocessShaderFromResource  D3DX10PreprocessShaderFromResourceA\n#endif\n\n//----------------------------------------------------------------------------\n// Async processors\n//----------------------------------------------------------------------------\n\nHRESULT WINAPI D3DX10CreateAsyncCompilerProcessor(LPCSTR pFileName, CONST D3D10_SHADER_MACRO* pDefines, LPD3D10INCLUDE pInclude, \n        LPCSTR pFunctionName, LPCSTR pProfile, UINT Flags1, UINT Flags2,\n        ID3D10Blob **ppCompiledShader, ID3D10Blob **ppErrorBuffer, ID3DX10DataProcessor **ppProcessor);\n\nHRESULT WINAPI D3DX10CreateAsyncEffectCreateProcessor(LPCSTR pFileName, CONST D3D10_SHADER_MACRO* pDefines, LPD3D10INCLUDE pInclude, \n        LPCSTR pProfile, UINT Flags, UINT FXFlags, ID3D10Device *pDevice,\n        ID3D10EffectPool *pPool, ID3D10Blob **ppErrorBuffer, ID3DX10DataProcessor **ppProcessor);\n\nHRESULT WINAPI D3DX10CreateAsyncEffectPoolCreateProcessor(LPCSTR pFileName, CONST D3D10_SHADER_MACRO* pDefines, LPD3D10INCLUDE pInclude, \n        LPCSTR pProfile, UINT Flags, UINT FXFlags, ID3D10Device *pDevice,\n        ID3D10Blob **ppErrorBuffer, ID3DX10DataProcessor **ppProcessor);\n\nHRESULT WINAPI D3DX10CreateAsyncShaderPreprocessProcessor(LPCSTR pFileName, CONST D3D10_SHADER_MACRO* pDefines, LPD3D10INCLUDE pInclude, \n        ID3D10Blob** ppShaderText, ID3D10Blob **ppErrorBuffer, ID3DX10DataProcessor **ppProcessor);\n\n\n\n//----------------------------------------------------------------------------\n// D3DX10 Asynchronous texture I/O (advanced mode)\n//----------------------------------------------------------------------------\n\nHRESULT WINAPI D3DX10CreateAsyncFileLoaderW(LPCWSTR pFileName, ID3DX10DataLoader **ppDataLoader);\nHRESULT WINAPI D3DX10CreateAsyncFileLoaderA(LPCSTR pFileName, ID3DX10DataLoader **ppDataLoader);\nHRESULT WINAPI D3DX10CreateAsyncMemoryLoader(LPCVOID pData, SIZE_T cbData, ID3DX10DataLoader **ppDataLoader);\nHRESULT WINAPI D3DX10CreateAsyncResourceLoaderW(HMODULE hSrcModule, LPCWSTR pSrcResource, ID3DX10DataLoader **ppDataLoader);\nHRESULT WINAPI D3DX10CreateAsyncResourceLoaderA(HMODULE hSrcModule, LPCSTR pSrcResource, ID3DX10DataLoader **ppDataLoader);\n\n#ifdef UNICODE\n#define D3DX10CreateAsyncFileLoader D3DX10CreateAsyncFileLoaderW\n#define D3DX10CreateAsyncResourceLoader D3DX10CreateAsyncResourceLoaderW\n#else\n#define D3DX10CreateAsyncFileLoader D3DX10CreateAsyncFileLoaderA\n#define D3DX10CreateAsyncResourceLoader D3DX10CreateAsyncResourceLoaderA\n#endif\n\nHRESULT WINAPI D3DX10CreateAsyncTextureProcessor(ID3D10Device *pDevice, D3DX10_IMAGE_LOAD_INFO *pLoadInfo, ID3DX10DataProcessor **ppDataProcessor);\nHRESULT WINAPI D3DX10CreateAsyncTextureInfoProcessor(D3DX10_IMAGE_INFO *pImageInfo, ID3DX10DataProcessor **ppDataProcessor);\nHRESULT WINAPI D3DX10CreateAsyncShaderResourceViewProcessor(ID3D10Device *pDevice, D3DX10_IMAGE_LOAD_INFO *pLoadInfo, ID3DX10DataProcessor **ppDataProcessor);\n\n#ifdef __cplusplus\n}\n#endif //__cplusplus\n\n#endif //__D3DX10ASYNC_H__\n\n\n"
  },
  {
    "path": "external/D3D12/include/PIXEventsCommon.h",
    "content": "//\n// This file was copied from //depot/rs_xbox_dev_flight/xbox/drivers/Graphics/Pix3/PixEvt/inc/PIXEventsCommon.h#6\n//\n// To refresh: run 'UpdateFromXbox -latest'\n//\n\n/*==========================================================================;\n*\n*  Copyright (C) Microsoft Corporation.  All Rights Reserved.\n*\n*  File:       PIXEventsCommon.h\n*  Content:    PIX include file\n*              Don't include this file directly - use pix3.h\n*\n****************************************************************************/\n#pragma once\n\n#ifndef _PIXEventsCommon_H_\n#define _PIXEventsCommon_H_\n\n#if defined(_AMD64_) || defined(_X86_)\n#include <emmintrin.h>\n#endif // _AMD64_ || _X86_\n\nextern \"C\" UINT64 WINAPI PIXEventsReplaceBlock(bool getEarliestTime);\n\nenum PIXEventType\n{\n    PIXEvent_EndEvent                       = 0x000,\n    PIXEvent_BeginEvent_VarArgs             = 0x001,\n    PIXEvent_BeginEvent_NoArgs              = 0x002,\n    PIXEvent_SetMarker_VarArgs              = 0x007,\n    PIXEvent_SetMarker_NoArgs               = 0x008,\n\n    PIXEvent_EndEvent_OnContext             = 0x010,\n    PIXEvent_BeginEvent_OnContext_VarArgs   = 0x011,\n    PIXEvent_BeginEvent_OnContext_NoArgs    = 0x012,\n    PIXEvent_SetMarker_OnContext_VarArgs    = 0x017,\n    PIXEvent_SetMarker_OnContext_NoArgs     = 0x018,\n};\n\nstatic const UINT64 PIXEventsReservedRecordSpaceQwords = 64;\n//this is used to make sure SSE string copy always will end 16-byte write in the current block\n//this way only a check if destination < limit can be performed, instead of destination < limit - 1\n//since both these are UINT64* and SSE writes in 16 byte chunks, 8 bytes are kept in reserve\n//so even if SSE overwrites 8 extra bytes, those will still belong to the correct block\n//on next iteration check destination will be greater than limit\n//this is used as well for fixed size UMD events and PIXEndEvent since these require less space\n//than other variable length user events and do not need big reserved space\nstatic const UINT64 PIXEventsReservedTailSpaceQwords = 2;\nstatic const UINT64 PIXEventsSafeFastCopySpaceQwords = PIXEventsReservedRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;\nstatic const UINT64 PIXEventsGraphicsRecordSpaceQwords = 64;\n\n//Bits 7-19 (13 bits)\nstatic const UINT64 PIXEventsBlockEndMarker     = 0x00000000000FFF80;\n\n//Bits 10-19 (10 bits)\nstatic const UINT64 PIXEventsTypeReadMask       = 0x00000000000FFC00;\nstatic const UINT64 PIXEventsTypeWriteMask      = 0x00000000000003FF;\nstatic const UINT64 PIXEventsTypeBitShift       = 10;\n\n//Bits 20-63 (44 bits)\nstatic const UINT64 PIXEventsTimestampReadMask  = 0xFFFFFFFFFFF00000;\nstatic const UINT64 PIXEventsTimestampWriteMask = 0x00000FFFFFFFFFFF;\nstatic const UINT64 PIXEventsTimestampBitShift  = 20;\n\ninline UINT64 PIXEncodeEventInfo(UINT64 timestamp, PIXEventType eventType)\n{\n    return ((timestamp & PIXEventsTimestampWriteMask) << PIXEventsTimestampBitShift) |\n        (((UINT64)eventType & PIXEventsTypeWriteMask) << PIXEventsTypeBitShift);\n}\n\n//Bits 60-63 (4)\nstatic const UINT64 PIXEventsStringAlignmentWriteMask     = 0x000000000000000F;\nstatic const UINT64 PIXEventsStringAlignmentReadMask      = 0xF000000000000000;\nstatic const UINT64 PIXEventsStringAlignmentBitShift      = 60;\n\n//Bits 55-59 (5)\nstatic const UINT64 PIXEventsStringCopyChunkSizeWriteMask = 0x000000000000001F;\nstatic const UINT64 PIXEventsStringCopyChunkSizeReadMask  = 0x0F80000000000000;\nstatic const UINT64 PIXEventsStringCopyChunkSizeBitShift  = 55;\n\n//Bit 54\nstatic const UINT64 PIXEventsStringIsANSIWriteMask        = 0x0000000000000001;\nstatic const UINT64 PIXEventsStringIsANSIReadMask         = 0x0040000000000000;\nstatic const UINT64 PIXEventsStringIsANSIBitShift         = 54;\n\n//Bit 53\nstatic const UINT64 PIXEventsStringIsShortcutWriteMask    = 0x0000000000000001;\nstatic const UINT64 PIXEventsStringIsShortcutReadMask     = 0x0020000000000000;\nstatic const UINT64 PIXEventsStringIsShortcutBitShift     = 53;\n\ninline UINT64 PIXEncodeStringInfo(UINT64 alignment, UINT64 copyChunkSize, BOOL isANSI, BOOL isShortcut)\n{\n    return ((alignment & PIXEventsStringAlignmentWriteMask) << PIXEventsStringAlignmentBitShift) |\n        ((copyChunkSize & PIXEventsStringCopyChunkSizeWriteMask) << PIXEventsStringCopyChunkSizeBitShift) |\n        (((UINT64)isANSI & PIXEventsStringIsANSIWriteMask) << PIXEventsStringIsANSIBitShift) |\n        (((UINT64)isShortcut & PIXEventsStringIsShortcutWriteMask) << PIXEventsStringIsShortcutBitShift);\n}\n\ntemplate<UINT alignment, class T>\ninline bool PIXIsPointerAligned(T* pointer)\n{\n    return !(((UINT64)pointer) & (alignment - 1));\n}\n\ntemplate<class T>\ninline void PIXCopyEventArgument(_Out_writes_to_ptr_(limit) UINT64*& destination, _In_ const UINT64* limit, T argument)\n{\n    if (destination < limit)\n    {\n        *((T*)destination) = argument;\n        ++destination;\n    }\n}\n\n//floats must be cast to double during writing the data to be properly printed later when reading the data\n//this is needed because when float is passed to varargs function it's cast to double\ntemplate<>\ninline void PIXCopyEventArgument<float>(_Out_writes_to_ptr_(limit) UINT64*& destination, _In_ const UINT64* limit, float argument)\n{\n    if (destination < limit)\n    {\n        *((double*)destination) = (double)(argument);\n        ++destination;\n    }\n}\n\n//char has to be cast to a longer signed integer type\n//this is due to printf not ignoring correctly the upper bits of unsigned long long for a char format specifier\ntemplate<>\ninline void PIXCopyEventArgument<char>(_Out_writes_to_ptr_(limit) UINT64*& destination, _In_ const UINT64* limit, char argument)\n{\n    if (destination < limit)\n    {\n        *((INT64*)destination) = (INT64)(argument);\n        ++destination;\n    }\n}\n\n//unsigned char has to be cast to a longer unsigned integer type\n//this is due to printf not ignoring correctly the upper bits of unsigned long long for a char format specifier\ntemplate<>\ninline void PIXCopyEventArgument<unsigned char>(_Out_writes_to_ptr_(limit) UINT64*& destination, _In_ const UINT64* limit, unsigned char argument)\n{\n    if (destination < limit)\n    {\n        *destination = (UINT64)(argument);\n        ++destination;\n    }\n}\n\n//bool has to be cast to an integer since it's not explicitly supported by string format routines\n//there's no format specifier for bool type, but it should work with integer format specifiers\ntemplate<>\ninline void PIXCopyEventArgument<bool>(_Out_writes_to_ptr_(limit) UINT64*& destination, _In_ const UINT64* limit, bool argument)\n{\n    if (destination < limit)\n    {\n        *destination = (UINT64)(argument);\n        ++destination;\n    }\n}\n\ninline void PIXCopyEventArgumentSlowest(_Out_writes_to_ptr_(limit) UINT64*& destination, _In_ const UINT64* limit, _In_ PCSTR argument)\n{\n    *destination++ = PIXEncodeStringInfo(0, 8, TRUE, FALSE);\n    while (destination < limit)\n    {\n        UINT64 c = argument[0];\n        if (!c)\n        {\n            *destination++ = 0;\n            return;\n        }\n        UINT64 x = c;\n        c = argument[1];\n        if (!c)\n        {\n            *destination++ = x;\n            return;\n        }\n        x |= c << 8;\n        c = argument[2];\n        if (!c)\n        {\n            *destination++ = x;\n            return;\n        }\n        x |= c << 16;\n        c = argument[3];\n        if (!c)\n        {\n            *destination++ = x;\n            return;\n        }\n        x |= c << 24;\n        c = argument[4];\n        if (!c)\n        {\n            *destination++ = x;\n            return;\n        }\n        x |= c << 32;\n        c = argument[5];\n        if (!c)\n        {\n            *destination++ = x;\n            return;\n        }\n        x |= c << 40;\n        c = argument[6];\n        if (!c)\n        {\n            *destination++ = x;\n            return;\n        }\n        x |= c << 48;\n        c = argument[7];\n        if (!c)\n        {\n            *destination++ = x;\n            return;\n        }\n        x |= c << 56;\n        *destination++ = x;\n        argument += 8;\n    }\n}\n\ninline void PIXCopyEventArgumentSlow(_Out_writes_to_ptr_(limit) UINT64*& destination, _In_ const UINT64* limit, _In_ PCSTR argument)\n{\n    if (PIXIsPointerAligned<8>(argument))\n    {\n        *destination++ = PIXEncodeStringInfo(0, 8, TRUE, FALSE);\n        UINT64* source = (UINT64*)argument;\n        while (destination < limit)\n        {\n            UINT64 qword = *source++;\n            *destination++ = qword;\n            //check if any of the characters is a terminating zero\n            if (!((qword & 0xFF00000000000000) &&\n                (qword & 0xFF000000000000) &&\n                (qword & 0xFF0000000000) &&\n                (qword & 0xFF00000000) &&\n                (qword & 0xFF000000) &&\n                (qword & 0xFF0000) &&\n                (qword & 0xFF00) &&\n                (qword & 0xFF)))\n            {\n                break;\n            }\n        }\n    }\n    else\n    {\n        PIXCopyEventArgumentSlowest(destination, limit, argument);\n    }\n}\n\ntemplate<>\ninline void PIXCopyEventArgument<PCSTR>(_Out_writes_to_ptr_(limit) UINT64*& destination, _In_ const UINT64* limit, _In_ PCSTR argument)\n{\n    if (destination < limit)\n    {\n        if (argument != nullptr)\n        {\n#if defined(_AMD64_) || defined(_X86_)\n            if (PIXIsPointerAligned<16>(argument))\n            {\n                *destination++ = PIXEncodeStringInfo(0, 16, TRUE, FALSE);\n                __m128i zero = _mm_setzero_si128();\n                if (PIXIsPointerAligned<16>(destination))\n                {\n                    while (destination < limit)\n                    {\n                        __m128i mem = _mm_load_si128((__m128i*)argument);\n                        _mm_store_si128((__m128i*)destination, mem);\n                        //check if any of the characters is a terminating zero\n                        __m128i res = _mm_cmpeq_epi8(mem, zero);\n                        destination += 2;\n                        if (_mm_movemask_epi8(res))\n                            break;\n                        argument += 16;\n                    }\n                }\n                else\n                {\n                    while (destination < limit)\n                    {\n                        __m128i mem = _mm_load_si128((__m128i*)argument);\n                        _mm_storeu_si128((__m128i*)destination, mem);\n                        //check if any of the characters is a terminating zero\n                        __m128i res = _mm_cmpeq_epi8(mem, zero);\n                        destination += 2;\n                        if (_mm_movemask_epi8(res))\n                            break;\n                        argument += 16;\n                    }\n                }\n            }\n            else\n#endif // _AMD64_ || _X86_\n            {\n                PIXCopyEventArgumentSlow(destination, limit, argument);\n            }\n        }\n        else\n        {\n            *destination++ = 0ull;\n        }\n    }\n}\n\ntemplate<>\ninline void PIXCopyEventArgument<PSTR>(_Out_writes_to_ptr_(limit) UINT64*& destination, _In_ const UINT64* limit, _In_ PSTR argument)\n{\n    PIXCopyEventArgument(destination, limit, (PCSTR)argument);\n}\n\ninline void PIXCopyEventArgumentSlowest(_Out_writes_to_ptr_(limit) UINT64*& destination, _In_ const UINT64* limit, _In_ PCWSTR argument)\n{\n    *destination++ = PIXEncodeStringInfo(0, 8, FALSE, FALSE);\n    while (destination < limit)\n    {\n        UINT64 c = argument[0];\n        if (!c)\n        {\n            *destination++ = 0;\n            return;\n        }\n        UINT64 x = c;\n        c = argument[1];\n        if (!c)\n        {\n            *destination++ = x;\n            return;\n        }\n        x |= c << 16;\n        c = argument[2];\n        if (!c)\n        {\n            *destination++ = x;\n            return;\n        }\n        x |= c << 32;\n        c = argument[3];\n        if (!c)\n        {\n            *destination++ = x;\n            return;\n        }\n        x |= c << 48;\n        *destination++ = x;\n        argument += 4;\n    }\n}\n\ninline void PIXCopyEventArgumentSlow(_Out_writes_to_ptr_(limit) UINT64*& destination, _In_ const UINT64* limit, _In_ PCWSTR argument)\n{\n    if (PIXIsPointerAligned<8>(argument))\n    {\n        *destination++ = PIXEncodeStringInfo(0, 8, FALSE, FALSE);\n        UINT64* source = (UINT64*)argument;\n        while (destination < limit)\n        {\n            UINT64 qword = *source++;\n            *destination++ = qword;\n            //check if any of the characters is a terminating zero\n            //TODO: check if reversed condition is faster\n            if (!((qword & 0xFFFF000000000000) &&\n                (qword & 0xFFFF00000000) &&\n                (qword & 0xFFFF0000) &&\n                (qword & 0xFFFF)))\n            {\n                break;\n            }\n        }\n    }\n    else\n    {\n        PIXCopyEventArgumentSlowest(destination, limit, argument);\n    }\n}\n\ntemplate<>\ninline void PIXCopyEventArgument<PCWSTR>(_Out_writes_to_ptr_(limit) UINT64*& destination, _In_ const UINT64* limit, _In_ PCWSTR argument)\n{\n    if (destination < limit)\n    {\n        if (argument != nullptr)\n        {\n#if defined(_AMD64_) || defined(_X86_)\n            if (PIXIsPointerAligned<16>(argument))\n            {\n                *destination++ = PIXEncodeStringInfo(0, 16, FALSE, FALSE);\n                __m128i zero = _mm_setzero_si128();\n                if (PIXIsPointerAligned<16>(destination))\n                {\n                    while (destination < limit)\n                    {\n                        __m128i mem = _mm_load_si128((__m128i*)argument);\n                        _mm_store_si128((__m128i*)destination, mem);\n                        //check if any of the characters is a terminating zero\n                        __m128i res = _mm_cmpeq_epi16(mem, zero);\n                        destination += 2;\n                        if (_mm_movemask_epi8(res))\n                            break;\n                        argument += 8;\n                    }\n                }\n                else\n                {\n                    while (destination < limit)\n                    {\n                        __m128i mem = _mm_load_si128((__m128i*)argument);\n                        _mm_storeu_si128((__m128i*)destination, mem);\n                        //check if any of the characters is a terminating zero\n                        __m128i res = _mm_cmpeq_epi16(mem, zero);\n                        destination += 2;\n                        if (_mm_movemask_epi8(res))\n                            break;\n                        argument += 8;\n                    }\n                }\n            }\n            else\n#endif // _AMD64_ || _X86_\n            {\n                PIXCopyEventArgumentSlow(destination, limit, argument);\n            }\n        }\n        else\n        {\n            *destination++ = 0ull;\n        }\n    }\n}\n\ntemplate<>\ninline void PIXCopyEventArgument<PWSTR>(_Out_writes_to_ptr_(limit) UINT64*& destination, _In_ const UINT64* limit, _In_ PWSTR argument)\n{\n    PIXCopyEventArgument(destination, limit, (PCWSTR)argument);\n};\n\n#if defined(__d3d12_x_h__) || defined(__d3d12_h__)\n\ninline void PIXSetMarkerOnContext(_In_ ID3D12GraphicsCommandList* commandList, _In_reads_bytes_(size) void* data, UINT size)\n{\n    commandList->SetMarker(D3D12_EVENT_METADATA, data, size);\n}\n\ninline void PIXSetMarkerOnContext(_In_ ID3D12CommandQueue* commandQueue, _In_reads_bytes_(size) void* data, UINT size)\n{\n    commandQueue->SetMarker(D3D12_EVENT_METADATA, data, size);\n}\n\ninline void PIXBeginEventOnContext(_In_ ID3D12GraphicsCommandList* commandList, _In_reads_bytes_(size) void* data, UINT size)\n{\n    commandList->BeginEvent(D3D12_EVENT_METADATA, data, size);\n}\n\ninline void PIXBeginEventOnContext(_In_ ID3D12CommandQueue* commandQueue, _In_reads_bytes_(size) void* data, UINT size)\n{\n    commandQueue->BeginEvent(D3D12_EVENT_METADATA, data, size);\n}\ninline void PIXEndEventOnContext(_In_ ID3D12GraphicsCommandList* commandList)\n{\n    commandList->EndEvent();\n}\n\ninline void PIXEndEventOnContext(_In_ ID3D12CommandQueue* commandQueue)\n{\n    commandQueue->EndEvent();\n}\n\n#endif //__d3d12_x_h__\n\ntemplate<class T> struct PIXInferScopedEventType { typedef T Type; };\ntemplate<class T> struct PIXInferScopedEventType<const T> { typedef T Type; };\ntemplate<class T> struct PIXInferScopedEventType<T*> { typedef T Type; };\ntemplate<class T> struct PIXInferScopedEventType<T* const> { typedef T Type; };\ntemplate<> struct PIXInferScopedEventType<UINT64> { typedef void Type; };\ntemplate<> struct PIXInferScopedEventType<const UINT64> { typedef void Type; };\ntemplate<> struct PIXInferScopedEventType<INT64> { typedef void Type; };\ntemplate<> struct PIXInferScopedEventType<const INT64> { typedef void Type; };\ntemplate<> struct PIXInferScopedEventType<UINT> { typedef void Type; };\ntemplate<> struct PIXInferScopedEventType<const UINT> { typedef void Type; };\ntemplate<> struct PIXInferScopedEventType<INT> { typedef void Type; };\ntemplate<> struct PIXInferScopedEventType<const INT> { typedef void Type; };\n#endif //_PIXEventsCommon_H_\n"
  },
  {
    "path": "external/D3D12/include/PIXEventsGenerated.h",
    "content": "//\n// This file was copied from //depot/rs_xbox_dev_flight/xbox/drivers/Graphics/Pix3/PixEvt/inc/PIXEventsGenerated.h#6\n//\n// To refresh: run 'UpdateFromXbox -latest'\n//\n\n//This is a generated file.\n#pragma once\n\n#ifndef _PIXEventsGenerated_H_\n#define _PIXEventsGenerated_H_\n\n#ifndef _PIX3_H_\n#error Don't include this file directly - use pix3.h\n#endif\n\n#include \"PIXEventsCommon.h\"\n\n//__declspec(noinline) is specified to stop compiler from making bad inlining decisions\n//inline has to be specified for functions fully defined in header due to one definition rule\n//supported context types for TContext are ID3D11DeviceContextX, ID3D11ComputeContextX and ID3D11DmaEngineContextX\n\n__declspec(noinline) inline void PIXBeginEventAllocate(UINT64 color, _In_ PCSTR formatString)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_NoArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, formatString);\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1>\n__declspec(noinline) inline void PIXBeginEventAllocate(UINT64 color, _In_ PCSTR formatString, T1 a1)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2>\n__declspec(noinline) inline void PIXBeginEventAllocate(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3>\n__declspec(noinline) inline void PIXBeginEventAllocate(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4>\n__declspec(noinline) inline void PIXBeginEventAllocate(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5>\n__declspec(noinline) inline void PIXBeginEventAllocate(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6>\n__declspec(noinline) inline void PIXBeginEventAllocate(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7>\n__declspec(noinline) inline void PIXBeginEventAllocate(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            PIXCopyEventArgument(destination, limit, a7);\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8>\n__declspec(noinline) inline void PIXBeginEventAllocate(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            PIXCopyEventArgument(destination, limit, a7);\n            PIXCopyEventArgument(destination, limit, a8);\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9>\n__declspec(noinline) inline void PIXBeginEventAllocate(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            PIXCopyEventArgument(destination, limit, a7);\n            PIXCopyEventArgument(destination, limit, a8);\n            PIXCopyEventArgument(destination, limit, a9);\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10>\n__declspec(noinline) inline void PIXBeginEventAllocate(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            PIXCopyEventArgument(destination, limit, a7);\n            PIXCopyEventArgument(destination, limit, a8);\n            PIXCopyEventArgument(destination, limit, a9);\n            PIXCopyEventArgument(destination, limit, a10);\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11>\n__declspec(noinline) inline void PIXBeginEventAllocate(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            PIXCopyEventArgument(destination, limit, a7);\n            PIXCopyEventArgument(destination, limit, a8);\n            PIXCopyEventArgument(destination, limit, a9);\n            PIXCopyEventArgument(destination, limit, a10);\n            PIXCopyEventArgument(destination, limit, a11);\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12>\n__declspec(noinline) inline void PIXBeginEventAllocate(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            PIXCopyEventArgument(destination, limit, a7);\n            PIXCopyEventArgument(destination, limit, a8);\n            PIXCopyEventArgument(destination, limit, a9);\n            PIXCopyEventArgument(destination, limit, a10);\n            PIXCopyEventArgument(destination, limit, a11);\n            PIXCopyEventArgument(destination, limit, a12);\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13>\n__declspec(noinline) inline void PIXBeginEventAllocate(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            PIXCopyEventArgument(destination, limit, a7);\n            PIXCopyEventArgument(destination, limit, a8);\n            PIXCopyEventArgument(destination, limit, a9);\n            PIXCopyEventArgument(destination, limit, a10);\n            PIXCopyEventArgument(destination, limit, a11);\n            PIXCopyEventArgument(destination, limit, a12);\n            PIXCopyEventArgument(destination, limit, a13);\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14>\n__declspec(noinline) inline void PIXBeginEventAllocate(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            PIXCopyEventArgument(destination, limit, a7);\n            PIXCopyEventArgument(destination, limit, a8);\n            PIXCopyEventArgument(destination, limit, a9);\n            PIXCopyEventArgument(destination, limit, a10);\n            PIXCopyEventArgument(destination, limit, a11);\n            PIXCopyEventArgument(destination, limit, a12);\n            PIXCopyEventArgument(destination, limit, a13);\n            PIXCopyEventArgument(destination, limit, a14);\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15>\n__declspec(noinline) inline void PIXBeginEventAllocate(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            PIXCopyEventArgument(destination, limit, a7);\n            PIXCopyEventArgument(destination, limit, a8);\n            PIXCopyEventArgument(destination, limit, a9);\n            PIXCopyEventArgument(destination, limit, a10);\n            PIXCopyEventArgument(destination, limit, a11);\n            PIXCopyEventArgument(destination, limit, a12);\n            PIXCopyEventArgument(destination, limit, a13);\n            PIXCopyEventArgument(destination, limit, a14);\n            PIXCopyEventArgument(destination, limit, a15);\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15, class T16>\n__declspec(noinline) inline void PIXBeginEventAllocate(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15, T16 a16)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            PIXCopyEventArgument(destination, limit, a7);\n            PIXCopyEventArgument(destination, limit, a8);\n            PIXCopyEventArgument(destination, limit, a9);\n            PIXCopyEventArgument(destination, limit, a10);\n            PIXCopyEventArgument(destination, limit, a11);\n            PIXCopyEventArgument(destination, limit, a12);\n            PIXCopyEventArgument(destination, limit, a13);\n            PIXCopyEventArgument(destination, limit, a14);\n            PIXCopyEventArgument(destination, limit, a15);\n            PIXCopyEventArgument(destination, limit, a16);\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\n__declspec(noinline) inline void PIXBeginEventAllocate(UINT64 color, _In_ PCWSTR formatString)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_NoArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, formatString);\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1>\n__declspec(noinline) inline void PIXBeginEventAllocate(UINT64 color, _In_ PCWSTR formatString, T1 a1)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2>\n__declspec(noinline) inline void PIXBeginEventAllocate(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3>\n__declspec(noinline) inline void PIXBeginEventAllocate(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4>\n__declspec(noinline) inline void PIXBeginEventAllocate(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5>\n__declspec(noinline) inline void PIXBeginEventAllocate(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6>\n__declspec(noinline) inline void PIXBeginEventAllocate(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7>\n__declspec(noinline) inline void PIXBeginEventAllocate(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            PIXCopyEventArgument(destination, limit, a7);\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8>\n__declspec(noinline) inline void PIXBeginEventAllocate(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            PIXCopyEventArgument(destination, limit, a7);\n            PIXCopyEventArgument(destination, limit, a8);\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9>\n__declspec(noinline) inline void PIXBeginEventAllocate(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            PIXCopyEventArgument(destination, limit, a7);\n            PIXCopyEventArgument(destination, limit, a8);\n            PIXCopyEventArgument(destination, limit, a9);\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10>\n__declspec(noinline) inline void PIXBeginEventAllocate(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            PIXCopyEventArgument(destination, limit, a7);\n            PIXCopyEventArgument(destination, limit, a8);\n            PIXCopyEventArgument(destination, limit, a9);\n            PIXCopyEventArgument(destination, limit, a10);\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11>\n__declspec(noinline) inline void PIXBeginEventAllocate(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            PIXCopyEventArgument(destination, limit, a7);\n            PIXCopyEventArgument(destination, limit, a8);\n            PIXCopyEventArgument(destination, limit, a9);\n            PIXCopyEventArgument(destination, limit, a10);\n            PIXCopyEventArgument(destination, limit, a11);\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12>\n__declspec(noinline) inline void PIXBeginEventAllocate(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            PIXCopyEventArgument(destination, limit, a7);\n            PIXCopyEventArgument(destination, limit, a8);\n            PIXCopyEventArgument(destination, limit, a9);\n            PIXCopyEventArgument(destination, limit, a10);\n            PIXCopyEventArgument(destination, limit, a11);\n            PIXCopyEventArgument(destination, limit, a12);\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13>\n__declspec(noinline) inline void PIXBeginEventAllocate(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            PIXCopyEventArgument(destination, limit, a7);\n            PIXCopyEventArgument(destination, limit, a8);\n            PIXCopyEventArgument(destination, limit, a9);\n            PIXCopyEventArgument(destination, limit, a10);\n            PIXCopyEventArgument(destination, limit, a11);\n            PIXCopyEventArgument(destination, limit, a12);\n            PIXCopyEventArgument(destination, limit, a13);\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14>\n__declspec(noinline) inline void PIXBeginEventAllocate(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            PIXCopyEventArgument(destination, limit, a7);\n            PIXCopyEventArgument(destination, limit, a8);\n            PIXCopyEventArgument(destination, limit, a9);\n            PIXCopyEventArgument(destination, limit, a10);\n            PIXCopyEventArgument(destination, limit, a11);\n            PIXCopyEventArgument(destination, limit, a12);\n            PIXCopyEventArgument(destination, limit, a13);\n            PIXCopyEventArgument(destination, limit, a14);\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15>\n__declspec(noinline) inline void PIXBeginEventAllocate(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            PIXCopyEventArgument(destination, limit, a7);\n            PIXCopyEventArgument(destination, limit, a8);\n            PIXCopyEventArgument(destination, limit, a9);\n            PIXCopyEventArgument(destination, limit, a10);\n            PIXCopyEventArgument(destination, limit, a11);\n            PIXCopyEventArgument(destination, limit, a12);\n            PIXCopyEventArgument(destination, limit, a13);\n            PIXCopyEventArgument(destination, limit, a14);\n            PIXCopyEventArgument(destination, limit, a15);\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15, class T16>\n__declspec(noinline) inline void PIXBeginEventAllocate(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15, T16 a16)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            PIXCopyEventArgument(destination, limit, a7);\n            PIXCopyEventArgument(destination, limit, a8);\n            PIXCopyEventArgument(destination, limit, a9);\n            PIXCopyEventArgument(destination, limit, a10);\n            PIXCopyEventArgument(destination, limit, a11);\n            PIXCopyEventArgument(destination, limit, a12);\n            PIXCopyEventArgument(destination, limit, a13);\n            PIXCopyEventArgument(destination, limit, a14);\n            PIXCopyEventArgument(destination, limit, a15);\n            PIXCopyEventArgument(destination, limit, a16);\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ninline void PIXBeginEvent(UINT64 color, _In_ PCSTR formatString)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_NoArgs);\n        *destination++ = color;\n\n        PIXCopyEventArgument(destination, limit, formatString);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        PIXBeginEventAllocate(color, formatString);\n    }\n}\n\ntemplate<class T1>\ninline void PIXBeginEvent(UINT64 color, _In_ PCSTR formatString, T1 a1)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);\n        *destination++ = color;\n\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        PIXBeginEventAllocate(color, formatString, a1);\n    }\n}\n\ntemplate<class T1, class T2>\ninline void PIXBeginEvent(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);\n        *destination++ = color;\n\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        PIXBeginEventAllocate(color, formatString, a1, a2);\n    }\n}\n\ntemplate<class T1, class T2, class T3>\ninline void PIXBeginEvent(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);\n        *destination++ = color;\n\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        PIXBeginEventAllocate(color, formatString, a1, a2, a3);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4>\ninline void PIXBeginEvent(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);\n        *destination++ = color;\n\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        PIXBeginEventAllocate(color, formatString, a1, a2, a3, a4);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5>\ninline void PIXBeginEvent(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);\n        *destination++ = color;\n\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        PIXBeginEventAllocate(color, formatString, a1, a2, a3, a4, a5);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6>\ninline void PIXBeginEvent(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);\n        *destination++ = color;\n\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        PIXBeginEventAllocate(color, formatString, a1, a2, a3, a4, a5, a6);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7>\ninline void PIXBeginEvent(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);\n        *destination++ = color;\n\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n        PIXCopyEventArgument(destination, limit, a7);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        PIXBeginEventAllocate(color, formatString, a1, a2, a3, a4, a5, a6, a7);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8>\ninline void PIXBeginEvent(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);\n        *destination++ = color;\n\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n        PIXCopyEventArgument(destination, limit, a7);\n        PIXCopyEventArgument(destination, limit, a8);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        PIXBeginEventAllocate(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9>\ninline void PIXBeginEvent(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);\n        *destination++ = color;\n\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n        PIXCopyEventArgument(destination, limit, a7);\n        PIXCopyEventArgument(destination, limit, a8);\n        PIXCopyEventArgument(destination, limit, a9);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        PIXBeginEventAllocate(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10>\ninline void PIXBeginEvent(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);\n        *destination++ = color;\n\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n        PIXCopyEventArgument(destination, limit, a7);\n        PIXCopyEventArgument(destination, limit, a8);\n        PIXCopyEventArgument(destination, limit, a9);\n        PIXCopyEventArgument(destination, limit, a10);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        PIXBeginEventAllocate(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11>\ninline void PIXBeginEvent(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);\n        *destination++ = color;\n\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n        PIXCopyEventArgument(destination, limit, a7);\n        PIXCopyEventArgument(destination, limit, a8);\n        PIXCopyEventArgument(destination, limit, a9);\n        PIXCopyEventArgument(destination, limit, a10);\n        PIXCopyEventArgument(destination, limit, a11);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        PIXBeginEventAllocate(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12>\ninline void PIXBeginEvent(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);\n        *destination++ = color;\n\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n        PIXCopyEventArgument(destination, limit, a7);\n        PIXCopyEventArgument(destination, limit, a8);\n        PIXCopyEventArgument(destination, limit, a9);\n        PIXCopyEventArgument(destination, limit, a10);\n        PIXCopyEventArgument(destination, limit, a11);\n        PIXCopyEventArgument(destination, limit, a12);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        PIXBeginEventAllocate(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13>\ninline void PIXBeginEvent(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);\n        *destination++ = color;\n\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n        PIXCopyEventArgument(destination, limit, a7);\n        PIXCopyEventArgument(destination, limit, a8);\n        PIXCopyEventArgument(destination, limit, a9);\n        PIXCopyEventArgument(destination, limit, a10);\n        PIXCopyEventArgument(destination, limit, a11);\n        PIXCopyEventArgument(destination, limit, a12);\n        PIXCopyEventArgument(destination, limit, a13);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        PIXBeginEventAllocate(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14>\ninline void PIXBeginEvent(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);\n        *destination++ = color;\n\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n        PIXCopyEventArgument(destination, limit, a7);\n        PIXCopyEventArgument(destination, limit, a8);\n        PIXCopyEventArgument(destination, limit, a9);\n        PIXCopyEventArgument(destination, limit, a10);\n        PIXCopyEventArgument(destination, limit, a11);\n        PIXCopyEventArgument(destination, limit, a12);\n        PIXCopyEventArgument(destination, limit, a13);\n        PIXCopyEventArgument(destination, limit, a14);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        PIXBeginEventAllocate(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15>\ninline void PIXBeginEvent(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);\n        *destination++ = color;\n\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n        PIXCopyEventArgument(destination, limit, a7);\n        PIXCopyEventArgument(destination, limit, a8);\n        PIXCopyEventArgument(destination, limit, a9);\n        PIXCopyEventArgument(destination, limit, a10);\n        PIXCopyEventArgument(destination, limit, a11);\n        PIXCopyEventArgument(destination, limit, a12);\n        PIXCopyEventArgument(destination, limit, a13);\n        PIXCopyEventArgument(destination, limit, a14);\n        PIXCopyEventArgument(destination, limit, a15);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        PIXBeginEventAllocate(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15, class T16>\ninline void PIXBeginEvent(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15, T16 a16)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);\n        *destination++ = color;\n\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n        PIXCopyEventArgument(destination, limit, a7);\n        PIXCopyEventArgument(destination, limit, a8);\n        PIXCopyEventArgument(destination, limit, a9);\n        PIXCopyEventArgument(destination, limit, a10);\n        PIXCopyEventArgument(destination, limit, a11);\n        PIXCopyEventArgument(destination, limit, a12);\n        PIXCopyEventArgument(destination, limit, a13);\n        PIXCopyEventArgument(destination, limit, a14);\n        PIXCopyEventArgument(destination, limit, a15);\n        PIXCopyEventArgument(destination, limit, a16);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        PIXBeginEventAllocate(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16);\n    }\n}\n\ninline void PIXBeginEvent(UINT64 color, _In_ PCWSTR formatString)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_NoArgs);\n        *destination++ = color;\n\n        PIXCopyEventArgument(destination, limit, formatString);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        PIXBeginEventAllocate(color, formatString);\n    }\n}\n\ntemplate<class T1>\ninline void PIXBeginEvent(UINT64 color, _In_ PCWSTR formatString, T1 a1)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);\n        *destination++ = color;\n\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        PIXBeginEventAllocate(color, formatString, a1);\n    }\n}\n\ntemplate<class T1, class T2>\ninline void PIXBeginEvent(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);\n        *destination++ = color;\n\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        PIXBeginEventAllocate(color, formatString, a1, a2);\n    }\n}\n\ntemplate<class T1, class T2, class T3>\ninline void PIXBeginEvent(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);\n        *destination++ = color;\n\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        PIXBeginEventAllocate(color, formatString, a1, a2, a3);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4>\ninline void PIXBeginEvent(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);\n        *destination++ = color;\n\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        PIXBeginEventAllocate(color, formatString, a1, a2, a3, a4);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5>\ninline void PIXBeginEvent(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);\n        *destination++ = color;\n\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        PIXBeginEventAllocate(color, formatString, a1, a2, a3, a4, a5);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6>\ninline void PIXBeginEvent(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);\n        *destination++ = color;\n\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        PIXBeginEventAllocate(color, formatString, a1, a2, a3, a4, a5, a6);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7>\ninline void PIXBeginEvent(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);\n        *destination++ = color;\n\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n        PIXCopyEventArgument(destination, limit, a7);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        PIXBeginEventAllocate(color, formatString, a1, a2, a3, a4, a5, a6, a7);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8>\ninline void PIXBeginEvent(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);\n        *destination++ = color;\n\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n        PIXCopyEventArgument(destination, limit, a7);\n        PIXCopyEventArgument(destination, limit, a8);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        PIXBeginEventAllocate(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9>\ninline void PIXBeginEvent(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);\n        *destination++ = color;\n\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n        PIXCopyEventArgument(destination, limit, a7);\n        PIXCopyEventArgument(destination, limit, a8);\n        PIXCopyEventArgument(destination, limit, a9);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        PIXBeginEventAllocate(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10>\ninline void PIXBeginEvent(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);\n        *destination++ = color;\n\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n        PIXCopyEventArgument(destination, limit, a7);\n        PIXCopyEventArgument(destination, limit, a8);\n        PIXCopyEventArgument(destination, limit, a9);\n        PIXCopyEventArgument(destination, limit, a10);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        PIXBeginEventAllocate(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11>\ninline void PIXBeginEvent(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);\n        *destination++ = color;\n\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n        PIXCopyEventArgument(destination, limit, a7);\n        PIXCopyEventArgument(destination, limit, a8);\n        PIXCopyEventArgument(destination, limit, a9);\n        PIXCopyEventArgument(destination, limit, a10);\n        PIXCopyEventArgument(destination, limit, a11);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        PIXBeginEventAllocate(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12>\ninline void PIXBeginEvent(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);\n        *destination++ = color;\n\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n        PIXCopyEventArgument(destination, limit, a7);\n        PIXCopyEventArgument(destination, limit, a8);\n        PIXCopyEventArgument(destination, limit, a9);\n        PIXCopyEventArgument(destination, limit, a10);\n        PIXCopyEventArgument(destination, limit, a11);\n        PIXCopyEventArgument(destination, limit, a12);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        PIXBeginEventAllocate(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13>\ninline void PIXBeginEvent(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);\n        *destination++ = color;\n\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n        PIXCopyEventArgument(destination, limit, a7);\n        PIXCopyEventArgument(destination, limit, a8);\n        PIXCopyEventArgument(destination, limit, a9);\n        PIXCopyEventArgument(destination, limit, a10);\n        PIXCopyEventArgument(destination, limit, a11);\n        PIXCopyEventArgument(destination, limit, a12);\n        PIXCopyEventArgument(destination, limit, a13);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        PIXBeginEventAllocate(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14>\ninline void PIXBeginEvent(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);\n        *destination++ = color;\n\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n        PIXCopyEventArgument(destination, limit, a7);\n        PIXCopyEventArgument(destination, limit, a8);\n        PIXCopyEventArgument(destination, limit, a9);\n        PIXCopyEventArgument(destination, limit, a10);\n        PIXCopyEventArgument(destination, limit, a11);\n        PIXCopyEventArgument(destination, limit, a12);\n        PIXCopyEventArgument(destination, limit, a13);\n        PIXCopyEventArgument(destination, limit, a14);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        PIXBeginEventAllocate(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15>\ninline void PIXBeginEvent(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);\n        *destination++ = color;\n\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n        PIXCopyEventArgument(destination, limit, a7);\n        PIXCopyEventArgument(destination, limit, a8);\n        PIXCopyEventArgument(destination, limit, a9);\n        PIXCopyEventArgument(destination, limit, a10);\n        PIXCopyEventArgument(destination, limit, a11);\n        PIXCopyEventArgument(destination, limit, a12);\n        PIXCopyEventArgument(destination, limit, a13);\n        PIXCopyEventArgument(destination, limit, a14);\n        PIXCopyEventArgument(destination, limit, a15);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        PIXBeginEventAllocate(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15, class T16>\ninline void PIXBeginEvent(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15, T16 a16)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_VarArgs);\n        *destination++ = color;\n\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n        PIXCopyEventArgument(destination, limit, a7);\n        PIXCopyEventArgument(destination, limit, a8);\n        PIXCopyEventArgument(destination, limit, a9);\n        PIXCopyEventArgument(destination, limit, a10);\n        PIXCopyEventArgument(destination, limit, a11);\n        PIXCopyEventArgument(destination, limit, a12);\n        PIXCopyEventArgument(destination, limit, a13);\n        PIXCopyEventArgument(destination, limit, a14);\n        PIXCopyEventArgument(destination, limit, a15);\n        PIXCopyEventArgument(destination, limit, a16);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        PIXBeginEventAllocate(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16);\n    }\n}\n\n__declspec(noinline) inline void PIXSetMarkerAllocate(UINT64 color, _In_ PCSTR formatString)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_NoArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, formatString);\n\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1>\n__declspec(noinline) inline void PIXSetMarkerAllocate(UINT64 color, _In_ PCSTR formatString, T1 a1)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2>\n__declspec(noinline) inline void PIXSetMarkerAllocate(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3>\n__declspec(noinline) inline void PIXSetMarkerAllocate(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4>\n__declspec(noinline) inline void PIXSetMarkerAllocate(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5>\n__declspec(noinline) inline void PIXSetMarkerAllocate(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6>\n__declspec(noinline) inline void PIXSetMarkerAllocate(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7>\n__declspec(noinline) inline void PIXSetMarkerAllocate(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            PIXCopyEventArgument(destination, limit, a7);\n\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8>\n__declspec(noinline) inline void PIXSetMarkerAllocate(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            PIXCopyEventArgument(destination, limit, a7);\n            PIXCopyEventArgument(destination, limit, a8);\n\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9>\n__declspec(noinline) inline void PIXSetMarkerAllocate(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            PIXCopyEventArgument(destination, limit, a7);\n            PIXCopyEventArgument(destination, limit, a8);\n            PIXCopyEventArgument(destination, limit, a9);\n\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10>\n__declspec(noinline) inline void PIXSetMarkerAllocate(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            PIXCopyEventArgument(destination, limit, a7);\n            PIXCopyEventArgument(destination, limit, a8);\n            PIXCopyEventArgument(destination, limit, a9);\n            PIXCopyEventArgument(destination, limit, a10);\n\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11>\n__declspec(noinline) inline void PIXSetMarkerAllocate(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            PIXCopyEventArgument(destination, limit, a7);\n            PIXCopyEventArgument(destination, limit, a8);\n            PIXCopyEventArgument(destination, limit, a9);\n            PIXCopyEventArgument(destination, limit, a10);\n            PIXCopyEventArgument(destination, limit, a11);\n\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12>\n__declspec(noinline) inline void PIXSetMarkerAllocate(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            PIXCopyEventArgument(destination, limit, a7);\n            PIXCopyEventArgument(destination, limit, a8);\n            PIXCopyEventArgument(destination, limit, a9);\n            PIXCopyEventArgument(destination, limit, a10);\n            PIXCopyEventArgument(destination, limit, a11);\n            PIXCopyEventArgument(destination, limit, a12);\n\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13>\n__declspec(noinline) inline void PIXSetMarkerAllocate(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            PIXCopyEventArgument(destination, limit, a7);\n            PIXCopyEventArgument(destination, limit, a8);\n            PIXCopyEventArgument(destination, limit, a9);\n            PIXCopyEventArgument(destination, limit, a10);\n            PIXCopyEventArgument(destination, limit, a11);\n            PIXCopyEventArgument(destination, limit, a12);\n            PIXCopyEventArgument(destination, limit, a13);\n\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14>\n__declspec(noinline) inline void PIXSetMarkerAllocate(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            PIXCopyEventArgument(destination, limit, a7);\n            PIXCopyEventArgument(destination, limit, a8);\n            PIXCopyEventArgument(destination, limit, a9);\n            PIXCopyEventArgument(destination, limit, a10);\n            PIXCopyEventArgument(destination, limit, a11);\n            PIXCopyEventArgument(destination, limit, a12);\n            PIXCopyEventArgument(destination, limit, a13);\n            PIXCopyEventArgument(destination, limit, a14);\n\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15>\n__declspec(noinline) inline void PIXSetMarkerAllocate(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            PIXCopyEventArgument(destination, limit, a7);\n            PIXCopyEventArgument(destination, limit, a8);\n            PIXCopyEventArgument(destination, limit, a9);\n            PIXCopyEventArgument(destination, limit, a10);\n            PIXCopyEventArgument(destination, limit, a11);\n            PIXCopyEventArgument(destination, limit, a12);\n            PIXCopyEventArgument(destination, limit, a13);\n            PIXCopyEventArgument(destination, limit, a14);\n            PIXCopyEventArgument(destination, limit, a15);\n\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15, class T16>\n__declspec(noinline) inline void PIXSetMarkerAllocate(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15, T16 a16)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            PIXCopyEventArgument(destination, limit, a7);\n            PIXCopyEventArgument(destination, limit, a8);\n            PIXCopyEventArgument(destination, limit, a9);\n            PIXCopyEventArgument(destination, limit, a10);\n            PIXCopyEventArgument(destination, limit, a11);\n            PIXCopyEventArgument(destination, limit, a12);\n            PIXCopyEventArgument(destination, limit, a13);\n            PIXCopyEventArgument(destination, limit, a14);\n            PIXCopyEventArgument(destination, limit, a15);\n            PIXCopyEventArgument(destination, limit, a16);\n\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\n__declspec(noinline) inline void PIXSetMarkerAllocate(UINT64 color, _In_ PCWSTR formatString)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_NoArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, formatString);\n\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1>\n__declspec(noinline) inline void PIXSetMarkerAllocate(UINT64 color, _In_ PCWSTR formatString, T1 a1)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2>\n__declspec(noinline) inline void PIXSetMarkerAllocate(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3>\n__declspec(noinline) inline void PIXSetMarkerAllocate(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4>\n__declspec(noinline) inline void PIXSetMarkerAllocate(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5>\n__declspec(noinline) inline void PIXSetMarkerAllocate(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6>\n__declspec(noinline) inline void PIXSetMarkerAllocate(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7>\n__declspec(noinline) inline void PIXSetMarkerAllocate(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            PIXCopyEventArgument(destination, limit, a7);\n\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8>\n__declspec(noinline) inline void PIXSetMarkerAllocate(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            PIXCopyEventArgument(destination, limit, a7);\n            PIXCopyEventArgument(destination, limit, a8);\n\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9>\n__declspec(noinline) inline void PIXSetMarkerAllocate(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            PIXCopyEventArgument(destination, limit, a7);\n            PIXCopyEventArgument(destination, limit, a8);\n            PIXCopyEventArgument(destination, limit, a9);\n\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10>\n__declspec(noinline) inline void PIXSetMarkerAllocate(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            PIXCopyEventArgument(destination, limit, a7);\n            PIXCopyEventArgument(destination, limit, a8);\n            PIXCopyEventArgument(destination, limit, a9);\n            PIXCopyEventArgument(destination, limit, a10);\n\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11>\n__declspec(noinline) inline void PIXSetMarkerAllocate(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            PIXCopyEventArgument(destination, limit, a7);\n            PIXCopyEventArgument(destination, limit, a8);\n            PIXCopyEventArgument(destination, limit, a9);\n            PIXCopyEventArgument(destination, limit, a10);\n            PIXCopyEventArgument(destination, limit, a11);\n\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12>\n__declspec(noinline) inline void PIXSetMarkerAllocate(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            PIXCopyEventArgument(destination, limit, a7);\n            PIXCopyEventArgument(destination, limit, a8);\n            PIXCopyEventArgument(destination, limit, a9);\n            PIXCopyEventArgument(destination, limit, a10);\n            PIXCopyEventArgument(destination, limit, a11);\n            PIXCopyEventArgument(destination, limit, a12);\n\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13>\n__declspec(noinline) inline void PIXSetMarkerAllocate(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            PIXCopyEventArgument(destination, limit, a7);\n            PIXCopyEventArgument(destination, limit, a8);\n            PIXCopyEventArgument(destination, limit, a9);\n            PIXCopyEventArgument(destination, limit, a10);\n            PIXCopyEventArgument(destination, limit, a11);\n            PIXCopyEventArgument(destination, limit, a12);\n            PIXCopyEventArgument(destination, limit, a13);\n\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14>\n__declspec(noinline) inline void PIXSetMarkerAllocate(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            PIXCopyEventArgument(destination, limit, a7);\n            PIXCopyEventArgument(destination, limit, a8);\n            PIXCopyEventArgument(destination, limit, a9);\n            PIXCopyEventArgument(destination, limit, a10);\n            PIXCopyEventArgument(destination, limit, a11);\n            PIXCopyEventArgument(destination, limit, a12);\n            PIXCopyEventArgument(destination, limit, a13);\n            PIXCopyEventArgument(destination, limit, a14);\n\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15>\n__declspec(noinline) inline void PIXSetMarkerAllocate(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            PIXCopyEventArgument(destination, limit, a7);\n            PIXCopyEventArgument(destination, limit, a8);\n            PIXCopyEventArgument(destination, limit, a9);\n            PIXCopyEventArgument(destination, limit, a10);\n            PIXCopyEventArgument(destination, limit, a11);\n            PIXCopyEventArgument(destination, limit, a12);\n            PIXCopyEventArgument(destination, limit, a13);\n            PIXCopyEventArgument(destination, limit, a14);\n            PIXCopyEventArgument(destination, limit, a15);\n\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15, class T16>\n__declspec(noinline) inline void PIXSetMarkerAllocate(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15, T16 a16)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            PIXCopyEventArgument(destination, limit, a7);\n            PIXCopyEventArgument(destination, limit, a8);\n            PIXCopyEventArgument(destination, limit, a9);\n            PIXCopyEventArgument(destination, limit, a10);\n            PIXCopyEventArgument(destination, limit, a11);\n            PIXCopyEventArgument(destination, limit, a12);\n            PIXCopyEventArgument(destination, limit, a13);\n            PIXCopyEventArgument(destination, limit, a14);\n            PIXCopyEventArgument(destination, limit, a15);\n            PIXCopyEventArgument(destination, limit, a16);\n\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ninline void PIXSetMarker(UINT64 color, _In_ PCSTR formatString)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_NoArgs);\n        *destination++ = color;\n\n        PIXCopyEventArgument(destination, limit, formatString);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        PIXSetMarkerAllocate(color, formatString);\n    }\n}\n\ntemplate<class T1>\ninline void PIXSetMarker(UINT64 color, _In_ PCSTR formatString, T1 a1)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);\n        *destination++ = color;\n\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        PIXSetMarkerAllocate(color, formatString, a1);\n    }\n}\n\ntemplate<class T1, class T2>\ninline void PIXSetMarker(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);\n        *destination++ = color;\n\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        PIXSetMarkerAllocate(color, formatString, a1, a2);\n    }\n}\n\ntemplate<class T1, class T2, class T3>\ninline void PIXSetMarker(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);\n        *destination++ = color;\n\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        PIXSetMarkerAllocate(color, formatString, a1, a2, a3);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4>\ninline void PIXSetMarker(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);\n        *destination++ = color;\n\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        PIXSetMarkerAllocate(color, formatString, a1, a2, a3, a4);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5>\ninline void PIXSetMarker(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);\n        *destination++ = color;\n\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        PIXSetMarkerAllocate(color, formatString, a1, a2, a3, a4, a5);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6>\ninline void PIXSetMarker(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);\n        *destination++ = color;\n\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        PIXSetMarkerAllocate(color, formatString, a1, a2, a3, a4, a5, a6);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7>\ninline void PIXSetMarker(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);\n        *destination++ = color;\n\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n        PIXCopyEventArgument(destination, limit, a7);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        PIXSetMarkerAllocate(color, formatString, a1, a2, a3, a4, a5, a6, a7);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8>\ninline void PIXSetMarker(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);\n        *destination++ = color;\n\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n        PIXCopyEventArgument(destination, limit, a7);\n        PIXCopyEventArgument(destination, limit, a8);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        PIXSetMarkerAllocate(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9>\ninline void PIXSetMarker(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);\n        *destination++ = color;\n\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n        PIXCopyEventArgument(destination, limit, a7);\n        PIXCopyEventArgument(destination, limit, a8);\n        PIXCopyEventArgument(destination, limit, a9);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        PIXSetMarkerAllocate(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10>\ninline void PIXSetMarker(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);\n        *destination++ = color;\n\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n        PIXCopyEventArgument(destination, limit, a7);\n        PIXCopyEventArgument(destination, limit, a8);\n        PIXCopyEventArgument(destination, limit, a9);\n        PIXCopyEventArgument(destination, limit, a10);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        PIXSetMarkerAllocate(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11>\ninline void PIXSetMarker(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);\n        *destination++ = color;\n\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n        PIXCopyEventArgument(destination, limit, a7);\n        PIXCopyEventArgument(destination, limit, a8);\n        PIXCopyEventArgument(destination, limit, a9);\n        PIXCopyEventArgument(destination, limit, a10);\n        PIXCopyEventArgument(destination, limit, a11);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        PIXSetMarkerAllocate(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12>\ninline void PIXSetMarker(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);\n        *destination++ = color;\n\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n        PIXCopyEventArgument(destination, limit, a7);\n        PIXCopyEventArgument(destination, limit, a8);\n        PIXCopyEventArgument(destination, limit, a9);\n        PIXCopyEventArgument(destination, limit, a10);\n        PIXCopyEventArgument(destination, limit, a11);\n        PIXCopyEventArgument(destination, limit, a12);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        PIXSetMarkerAllocate(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13>\ninline void PIXSetMarker(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);\n        *destination++ = color;\n\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n        PIXCopyEventArgument(destination, limit, a7);\n        PIXCopyEventArgument(destination, limit, a8);\n        PIXCopyEventArgument(destination, limit, a9);\n        PIXCopyEventArgument(destination, limit, a10);\n        PIXCopyEventArgument(destination, limit, a11);\n        PIXCopyEventArgument(destination, limit, a12);\n        PIXCopyEventArgument(destination, limit, a13);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        PIXSetMarkerAllocate(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14>\ninline void PIXSetMarker(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);\n        *destination++ = color;\n\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n        PIXCopyEventArgument(destination, limit, a7);\n        PIXCopyEventArgument(destination, limit, a8);\n        PIXCopyEventArgument(destination, limit, a9);\n        PIXCopyEventArgument(destination, limit, a10);\n        PIXCopyEventArgument(destination, limit, a11);\n        PIXCopyEventArgument(destination, limit, a12);\n        PIXCopyEventArgument(destination, limit, a13);\n        PIXCopyEventArgument(destination, limit, a14);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        PIXSetMarkerAllocate(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15>\ninline void PIXSetMarker(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);\n        *destination++ = color;\n\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n        PIXCopyEventArgument(destination, limit, a7);\n        PIXCopyEventArgument(destination, limit, a8);\n        PIXCopyEventArgument(destination, limit, a9);\n        PIXCopyEventArgument(destination, limit, a10);\n        PIXCopyEventArgument(destination, limit, a11);\n        PIXCopyEventArgument(destination, limit, a12);\n        PIXCopyEventArgument(destination, limit, a13);\n        PIXCopyEventArgument(destination, limit, a14);\n        PIXCopyEventArgument(destination, limit, a15);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        PIXSetMarkerAllocate(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15, class T16>\ninline void PIXSetMarker(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15, T16 a16)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);\n        *destination++ = color;\n\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n        PIXCopyEventArgument(destination, limit, a7);\n        PIXCopyEventArgument(destination, limit, a8);\n        PIXCopyEventArgument(destination, limit, a9);\n        PIXCopyEventArgument(destination, limit, a10);\n        PIXCopyEventArgument(destination, limit, a11);\n        PIXCopyEventArgument(destination, limit, a12);\n        PIXCopyEventArgument(destination, limit, a13);\n        PIXCopyEventArgument(destination, limit, a14);\n        PIXCopyEventArgument(destination, limit, a15);\n        PIXCopyEventArgument(destination, limit, a16);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        PIXSetMarkerAllocate(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16);\n    }\n}\n\ninline void PIXSetMarker(UINT64 color, _In_ PCWSTR formatString)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_NoArgs);\n        *destination++ = color;\n\n        PIXCopyEventArgument(destination, limit, formatString);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        PIXSetMarkerAllocate(color, formatString);\n    }\n}\n\ntemplate<class T1>\ninline void PIXSetMarker(UINT64 color, _In_ PCWSTR formatString, T1 a1)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);\n        *destination++ = color;\n\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        PIXSetMarkerAllocate(color, formatString, a1);\n    }\n}\n\ntemplate<class T1, class T2>\ninline void PIXSetMarker(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);\n        *destination++ = color;\n\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        PIXSetMarkerAllocate(color, formatString, a1, a2);\n    }\n}\n\ntemplate<class T1, class T2, class T3>\ninline void PIXSetMarker(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);\n        *destination++ = color;\n\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        PIXSetMarkerAllocate(color, formatString, a1, a2, a3);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4>\ninline void PIXSetMarker(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);\n        *destination++ = color;\n\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        PIXSetMarkerAllocate(color, formatString, a1, a2, a3, a4);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5>\ninline void PIXSetMarker(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);\n        *destination++ = color;\n\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        PIXSetMarkerAllocate(color, formatString, a1, a2, a3, a4, a5);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6>\ninline void PIXSetMarker(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);\n        *destination++ = color;\n\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        PIXSetMarkerAllocate(color, formatString, a1, a2, a3, a4, a5, a6);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7>\ninline void PIXSetMarker(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);\n        *destination++ = color;\n\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n        PIXCopyEventArgument(destination, limit, a7);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        PIXSetMarkerAllocate(color, formatString, a1, a2, a3, a4, a5, a6, a7);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8>\ninline void PIXSetMarker(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);\n        *destination++ = color;\n\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n        PIXCopyEventArgument(destination, limit, a7);\n        PIXCopyEventArgument(destination, limit, a8);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        PIXSetMarkerAllocate(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9>\ninline void PIXSetMarker(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);\n        *destination++ = color;\n\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n        PIXCopyEventArgument(destination, limit, a7);\n        PIXCopyEventArgument(destination, limit, a8);\n        PIXCopyEventArgument(destination, limit, a9);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        PIXSetMarkerAllocate(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10>\ninline void PIXSetMarker(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);\n        *destination++ = color;\n\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n        PIXCopyEventArgument(destination, limit, a7);\n        PIXCopyEventArgument(destination, limit, a8);\n        PIXCopyEventArgument(destination, limit, a9);\n        PIXCopyEventArgument(destination, limit, a10);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        PIXSetMarkerAllocate(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11>\ninline void PIXSetMarker(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);\n        *destination++ = color;\n\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n        PIXCopyEventArgument(destination, limit, a7);\n        PIXCopyEventArgument(destination, limit, a8);\n        PIXCopyEventArgument(destination, limit, a9);\n        PIXCopyEventArgument(destination, limit, a10);\n        PIXCopyEventArgument(destination, limit, a11);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        PIXSetMarkerAllocate(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12>\ninline void PIXSetMarker(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);\n        *destination++ = color;\n\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n        PIXCopyEventArgument(destination, limit, a7);\n        PIXCopyEventArgument(destination, limit, a8);\n        PIXCopyEventArgument(destination, limit, a9);\n        PIXCopyEventArgument(destination, limit, a10);\n        PIXCopyEventArgument(destination, limit, a11);\n        PIXCopyEventArgument(destination, limit, a12);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        PIXSetMarkerAllocate(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13>\ninline void PIXSetMarker(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);\n        *destination++ = color;\n\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n        PIXCopyEventArgument(destination, limit, a7);\n        PIXCopyEventArgument(destination, limit, a8);\n        PIXCopyEventArgument(destination, limit, a9);\n        PIXCopyEventArgument(destination, limit, a10);\n        PIXCopyEventArgument(destination, limit, a11);\n        PIXCopyEventArgument(destination, limit, a12);\n        PIXCopyEventArgument(destination, limit, a13);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        PIXSetMarkerAllocate(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14>\ninline void PIXSetMarker(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);\n        *destination++ = color;\n\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n        PIXCopyEventArgument(destination, limit, a7);\n        PIXCopyEventArgument(destination, limit, a8);\n        PIXCopyEventArgument(destination, limit, a9);\n        PIXCopyEventArgument(destination, limit, a10);\n        PIXCopyEventArgument(destination, limit, a11);\n        PIXCopyEventArgument(destination, limit, a12);\n        PIXCopyEventArgument(destination, limit, a13);\n        PIXCopyEventArgument(destination, limit, a14);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        PIXSetMarkerAllocate(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15>\ninline void PIXSetMarker(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);\n        *destination++ = color;\n\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n        PIXCopyEventArgument(destination, limit, a7);\n        PIXCopyEventArgument(destination, limit, a8);\n        PIXCopyEventArgument(destination, limit, a9);\n        PIXCopyEventArgument(destination, limit, a10);\n        PIXCopyEventArgument(destination, limit, a11);\n        PIXCopyEventArgument(destination, limit, a12);\n        PIXCopyEventArgument(destination, limit, a13);\n        PIXCopyEventArgument(destination, limit, a14);\n        PIXCopyEventArgument(destination, limit, a15);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        PIXSetMarkerAllocate(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15, class T16>\ninline void PIXSetMarker(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15, T16 a16)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_VarArgs);\n        *destination++ = color;\n\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n        PIXCopyEventArgument(destination, limit, a7);\n        PIXCopyEventArgument(destination, limit, a8);\n        PIXCopyEventArgument(destination, limit, a9);\n        PIXCopyEventArgument(destination, limit, a10);\n        PIXCopyEventArgument(destination, limit, a11);\n        PIXCopyEventArgument(destination, limit, a12);\n        PIXCopyEventArgument(destination, limit, a13);\n        PIXCopyEventArgument(destination, limit, a14);\n        PIXCopyEventArgument(destination, limit, a15);\n        PIXCopyEventArgument(destination, limit, a16);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        PIXSetMarkerAllocate(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16);\n    }\n}\n\ntemplate<class TContext>\ninline void PIXBeginEvent(TContext* context, UINT64 color, _In_ PCSTR formatString)\n{\n    PIXBeginCPUEventOnContext(context, color, formatString);\n\n    UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];\n    UINT64* destination = buffer;\n    UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;\n\n    *destination++ = PIXEncodeEventInfo(0, PIXEvent_BeginEvent_NoArgs);\n    *destination++ = color;\n\n    PIXCopyEventArgument(destination, limit, formatString);\n    *destination = 0ull;\n    PIXBeginEventOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));\n}\n\ntemplate<class TContext, class T1>\ninline void PIXBeginEvent(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1)\n{\n    PIXBeginCPUEventOnContext(context, color, formatString, a1);\n\n    UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];\n    UINT64* destination = buffer;\n    UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;\n\n    *destination++ = PIXEncodeEventInfo(0, PIXEvent_BeginEvent_VarArgs);\n    *destination++ = color;\n\n    PIXCopyEventArgument(destination, limit, formatString);\n    PIXCopyEventArgument(destination, limit, a1);\n    *destination = 0ull;\n    PIXBeginEventOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));\n}\n\ntemplate<class TContext, class T1, class T2>\ninline void PIXBeginEvent(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2)\n{\n    PIXBeginCPUEventOnContext(context, color, formatString, a1, a2);\n\n    UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];\n    UINT64* destination = buffer;\n    UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;\n\n    *destination++ = PIXEncodeEventInfo(0, PIXEvent_BeginEvent_VarArgs);\n    *destination++ = color;\n\n    PIXCopyEventArgument(destination, limit, formatString);\n    PIXCopyEventArgument(destination, limit, a1);\n    PIXCopyEventArgument(destination, limit, a2);\n    *destination = 0ull;\n    PIXBeginEventOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));\n}\n\ntemplate<class TContext, class T1, class T2, class T3>\ninline void PIXBeginEvent(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3)\n{\n    PIXBeginCPUEventOnContext(context, color, formatString, a1, a2, a3);\n\n    UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];\n    UINT64* destination = buffer;\n    UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;\n\n    *destination++ = PIXEncodeEventInfo(0, PIXEvent_BeginEvent_VarArgs);\n    *destination++ = color;\n\n    PIXCopyEventArgument(destination, limit, formatString);\n    PIXCopyEventArgument(destination, limit, a1);\n    PIXCopyEventArgument(destination, limit, a2);\n    PIXCopyEventArgument(destination, limit, a3);\n    *destination = 0ull;\n    PIXBeginEventOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));\n}\n\ntemplate<class TContext, class T1, class T2, class T3, class T4>\ninline void PIXBeginEvent(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4)\n{\n    PIXBeginCPUEventOnContext(context, color, formatString, a1, a2, a3, a4);\n\n    UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];\n    UINT64* destination = buffer;\n    UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;\n\n    *destination++ = PIXEncodeEventInfo(0, PIXEvent_BeginEvent_VarArgs);\n    *destination++ = color;\n\n    PIXCopyEventArgument(destination, limit, formatString);\n    PIXCopyEventArgument(destination, limit, a1);\n    PIXCopyEventArgument(destination, limit, a2);\n    PIXCopyEventArgument(destination, limit, a3);\n    PIXCopyEventArgument(destination, limit, a4);\n    *destination = 0ull;\n    PIXBeginEventOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));\n}\n\ntemplate<class TContext, class T1, class T2, class T3, class T4, class T5>\ninline void PIXBeginEvent(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)\n{\n    PIXBeginCPUEventOnContext(context, color, formatString, a1, a2, a3, a4, a5);\n\n    UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];\n    UINT64* destination = buffer;\n    UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;\n\n    *destination++ = PIXEncodeEventInfo(0, PIXEvent_BeginEvent_VarArgs);\n    *destination++ = color;\n\n    PIXCopyEventArgument(destination, limit, formatString);\n    PIXCopyEventArgument(destination, limit, a1);\n    PIXCopyEventArgument(destination, limit, a2);\n    PIXCopyEventArgument(destination, limit, a3);\n    PIXCopyEventArgument(destination, limit, a4);\n    PIXCopyEventArgument(destination, limit, a5);\n    *destination = 0ull;\n    PIXBeginEventOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));\n}\n\ntemplate<class TContext, class T1, class T2, class T3, class T4, class T5, class T6>\ninline void PIXBeginEvent(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6)\n{\n    PIXBeginCPUEventOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6);\n\n    UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];\n    UINT64* destination = buffer;\n    UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;\n\n    *destination++ = PIXEncodeEventInfo(0, PIXEvent_BeginEvent_VarArgs);\n    *destination++ = color;\n\n    PIXCopyEventArgument(destination, limit, formatString);\n    PIXCopyEventArgument(destination, limit, a1);\n    PIXCopyEventArgument(destination, limit, a2);\n    PIXCopyEventArgument(destination, limit, a3);\n    PIXCopyEventArgument(destination, limit, a4);\n    PIXCopyEventArgument(destination, limit, a5);\n    PIXCopyEventArgument(destination, limit, a6);\n    *destination = 0ull;\n    PIXBeginEventOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));\n}\n\ntemplate<class TContext, class T1, class T2, class T3, class T4, class T5, class T6, class T7>\ninline void PIXBeginEvent(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7)\n{\n    PIXBeginCPUEventOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6, a7);\n\n    UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];\n    UINT64* destination = buffer;\n    UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;\n\n    *destination++ = PIXEncodeEventInfo(0, PIXEvent_BeginEvent_VarArgs);\n    *destination++ = color;\n\n    PIXCopyEventArgument(destination, limit, formatString);\n    PIXCopyEventArgument(destination, limit, a1);\n    PIXCopyEventArgument(destination, limit, a2);\n    PIXCopyEventArgument(destination, limit, a3);\n    PIXCopyEventArgument(destination, limit, a4);\n    PIXCopyEventArgument(destination, limit, a5);\n    PIXCopyEventArgument(destination, limit, a6);\n    PIXCopyEventArgument(destination, limit, a7);\n    *destination = 0ull;\n    PIXBeginEventOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));\n}\n\ntemplate<class TContext, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8>\ninline void PIXBeginEvent(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8)\n{\n    PIXBeginCPUEventOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8);\n\n    UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];\n    UINT64* destination = buffer;\n    UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;\n\n    *destination++ = PIXEncodeEventInfo(0, PIXEvent_BeginEvent_VarArgs);\n    *destination++ = color;\n\n    PIXCopyEventArgument(destination, limit, formatString);\n    PIXCopyEventArgument(destination, limit, a1);\n    PIXCopyEventArgument(destination, limit, a2);\n    PIXCopyEventArgument(destination, limit, a3);\n    PIXCopyEventArgument(destination, limit, a4);\n    PIXCopyEventArgument(destination, limit, a5);\n    PIXCopyEventArgument(destination, limit, a6);\n    PIXCopyEventArgument(destination, limit, a7);\n    PIXCopyEventArgument(destination, limit, a8);\n    *destination = 0ull;\n    PIXBeginEventOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));\n}\n\ntemplate<class TContext, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9>\ninline void PIXBeginEvent(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9)\n{\n    PIXBeginCPUEventOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9);\n\n    UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];\n    UINT64* destination = buffer;\n    UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;\n\n    *destination++ = PIXEncodeEventInfo(0, PIXEvent_BeginEvent_VarArgs);\n    *destination++ = color;\n\n    PIXCopyEventArgument(destination, limit, formatString);\n    PIXCopyEventArgument(destination, limit, a1);\n    PIXCopyEventArgument(destination, limit, a2);\n    PIXCopyEventArgument(destination, limit, a3);\n    PIXCopyEventArgument(destination, limit, a4);\n    PIXCopyEventArgument(destination, limit, a5);\n    PIXCopyEventArgument(destination, limit, a6);\n    PIXCopyEventArgument(destination, limit, a7);\n    PIXCopyEventArgument(destination, limit, a8);\n    PIXCopyEventArgument(destination, limit, a9);\n    *destination = 0ull;\n    PIXBeginEventOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));\n}\n\ntemplate<class TContext, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10>\ninline void PIXBeginEvent(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10)\n{\n    PIXBeginCPUEventOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);\n\n    UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];\n    UINT64* destination = buffer;\n    UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;\n\n    *destination++ = PIXEncodeEventInfo(0, PIXEvent_BeginEvent_VarArgs);\n    *destination++ = color;\n\n    PIXCopyEventArgument(destination, limit, formatString);\n    PIXCopyEventArgument(destination, limit, a1);\n    PIXCopyEventArgument(destination, limit, a2);\n    PIXCopyEventArgument(destination, limit, a3);\n    PIXCopyEventArgument(destination, limit, a4);\n    PIXCopyEventArgument(destination, limit, a5);\n    PIXCopyEventArgument(destination, limit, a6);\n    PIXCopyEventArgument(destination, limit, a7);\n    PIXCopyEventArgument(destination, limit, a8);\n    PIXCopyEventArgument(destination, limit, a9);\n    PIXCopyEventArgument(destination, limit, a10);\n    *destination = 0ull;\n    PIXBeginEventOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));\n}\n\ntemplate<class TContext, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11>\ninline void PIXBeginEvent(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11)\n{\n    PIXBeginCPUEventOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);\n\n    UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];\n    UINT64* destination = buffer;\n    UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;\n\n    *destination++ = PIXEncodeEventInfo(0, PIXEvent_BeginEvent_VarArgs);\n    *destination++ = color;\n\n    PIXCopyEventArgument(destination, limit, formatString);\n    PIXCopyEventArgument(destination, limit, a1);\n    PIXCopyEventArgument(destination, limit, a2);\n    PIXCopyEventArgument(destination, limit, a3);\n    PIXCopyEventArgument(destination, limit, a4);\n    PIXCopyEventArgument(destination, limit, a5);\n    PIXCopyEventArgument(destination, limit, a6);\n    PIXCopyEventArgument(destination, limit, a7);\n    PIXCopyEventArgument(destination, limit, a8);\n    PIXCopyEventArgument(destination, limit, a9);\n    PIXCopyEventArgument(destination, limit, a10);\n    PIXCopyEventArgument(destination, limit, a11);\n    *destination = 0ull;\n    PIXBeginEventOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));\n}\n\ntemplate<class TContext, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12>\ninline void PIXBeginEvent(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12)\n{\n    PIXBeginCPUEventOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);\n\n    UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];\n    UINT64* destination = buffer;\n    UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;\n\n    *destination++ = PIXEncodeEventInfo(0, PIXEvent_BeginEvent_VarArgs);\n    *destination++ = color;\n\n    PIXCopyEventArgument(destination, limit, formatString);\n    PIXCopyEventArgument(destination, limit, a1);\n    PIXCopyEventArgument(destination, limit, a2);\n    PIXCopyEventArgument(destination, limit, a3);\n    PIXCopyEventArgument(destination, limit, a4);\n    PIXCopyEventArgument(destination, limit, a5);\n    PIXCopyEventArgument(destination, limit, a6);\n    PIXCopyEventArgument(destination, limit, a7);\n    PIXCopyEventArgument(destination, limit, a8);\n    PIXCopyEventArgument(destination, limit, a9);\n    PIXCopyEventArgument(destination, limit, a10);\n    PIXCopyEventArgument(destination, limit, a11);\n    PIXCopyEventArgument(destination, limit, a12);\n    *destination = 0ull;\n    PIXBeginEventOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));\n}\n\ntemplate<class TContext, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13>\ninline void PIXBeginEvent(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13)\n{\n    PIXBeginCPUEventOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13);\n\n    UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];\n    UINT64* destination = buffer;\n    UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;\n\n    *destination++ = PIXEncodeEventInfo(0, PIXEvent_BeginEvent_VarArgs);\n    *destination++ = color;\n\n    PIXCopyEventArgument(destination, limit, formatString);\n    PIXCopyEventArgument(destination, limit, a1);\n    PIXCopyEventArgument(destination, limit, a2);\n    PIXCopyEventArgument(destination, limit, a3);\n    PIXCopyEventArgument(destination, limit, a4);\n    PIXCopyEventArgument(destination, limit, a5);\n    PIXCopyEventArgument(destination, limit, a6);\n    PIXCopyEventArgument(destination, limit, a7);\n    PIXCopyEventArgument(destination, limit, a8);\n    PIXCopyEventArgument(destination, limit, a9);\n    PIXCopyEventArgument(destination, limit, a10);\n    PIXCopyEventArgument(destination, limit, a11);\n    PIXCopyEventArgument(destination, limit, a12);\n    PIXCopyEventArgument(destination, limit, a13);\n    *destination = 0ull;\n    PIXBeginEventOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));\n}\n\ntemplate<class TContext, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14>\ninline void PIXBeginEvent(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14)\n{\n    PIXBeginCPUEventOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14);\n\n    UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];\n    UINT64* destination = buffer;\n    UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;\n\n    *destination++ = PIXEncodeEventInfo(0, PIXEvent_BeginEvent_VarArgs);\n    *destination++ = color;\n\n    PIXCopyEventArgument(destination, limit, formatString);\n    PIXCopyEventArgument(destination, limit, a1);\n    PIXCopyEventArgument(destination, limit, a2);\n    PIXCopyEventArgument(destination, limit, a3);\n    PIXCopyEventArgument(destination, limit, a4);\n    PIXCopyEventArgument(destination, limit, a5);\n    PIXCopyEventArgument(destination, limit, a6);\n    PIXCopyEventArgument(destination, limit, a7);\n    PIXCopyEventArgument(destination, limit, a8);\n    PIXCopyEventArgument(destination, limit, a9);\n    PIXCopyEventArgument(destination, limit, a10);\n    PIXCopyEventArgument(destination, limit, a11);\n    PIXCopyEventArgument(destination, limit, a12);\n    PIXCopyEventArgument(destination, limit, a13);\n    PIXCopyEventArgument(destination, limit, a14);\n    *destination = 0ull;\n    PIXBeginEventOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));\n}\n\ntemplate<class TContext, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15>\ninline void PIXBeginEvent(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15)\n{\n    PIXBeginCPUEventOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15);\n\n    UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];\n    UINT64* destination = buffer;\n    UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;\n\n    *destination++ = PIXEncodeEventInfo(0, PIXEvent_BeginEvent_VarArgs);\n    *destination++ = color;\n\n    PIXCopyEventArgument(destination, limit, formatString);\n    PIXCopyEventArgument(destination, limit, a1);\n    PIXCopyEventArgument(destination, limit, a2);\n    PIXCopyEventArgument(destination, limit, a3);\n    PIXCopyEventArgument(destination, limit, a4);\n    PIXCopyEventArgument(destination, limit, a5);\n    PIXCopyEventArgument(destination, limit, a6);\n    PIXCopyEventArgument(destination, limit, a7);\n    PIXCopyEventArgument(destination, limit, a8);\n    PIXCopyEventArgument(destination, limit, a9);\n    PIXCopyEventArgument(destination, limit, a10);\n    PIXCopyEventArgument(destination, limit, a11);\n    PIXCopyEventArgument(destination, limit, a12);\n    PIXCopyEventArgument(destination, limit, a13);\n    PIXCopyEventArgument(destination, limit, a14);\n    PIXCopyEventArgument(destination, limit, a15);\n    *destination = 0ull;\n    PIXBeginEventOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));\n}\n\ntemplate<class TContext, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15, class T16>\ninline void PIXBeginEvent(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15, T16 a16)\n{\n    PIXBeginCPUEventOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16);\n\n    UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];\n    UINT64* destination = buffer;\n    UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;\n\n    *destination++ = PIXEncodeEventInfo(0, PIXEvent_BeginEvent_VarArgs);\n    *destination++ = color;\n\n    PIXCopyEventArgument(destination, limit, formatString);\n    PIXCopyEventArgument(destination, limit, a1);\n    PIXCopyEventArgument(destination, limit, a2);\n    PIXCopyEventArgument(destination, limit, a3);\n    PIXCopyEventArgument(destination, limit, a4);\n    PIXCopyEventArgument(destination, limit, a5);\n    PIXCopyEventArgument(destination, limit, a6);\n    PIXCopyEventArgument(destination, limit, a7);\n    PIXCopyEventArgument(destination, limit, a8);\n    PIXCopyEventArgument(destination, limit, a9);\n    PIXCopyEventArgument(destination, limit, a10);\n    PIXCopyEventArgument(destination, limit, a11);\n    PIXCopyEventArgument(destination, limit, a12);\n    PIXCopyEventArgument(destination, limit, a13);\n    PIXCopyEventArgument(destination, limit, a14);\n    PIXCopyEventArgument(destination, limit, a15);\n    PIXCopyEventArgument(destination, limit, a16);\n    *destination = 0ull;\n    PIXBeginEventOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));\n}\n\ntemplate<class TContext>\ninline void PIXBeginEvent(TContext* context, UINT64 color, _In_ PCWSTR formatString)\n{\n    PIXBeginCPUEventOnContext(context, color, formatString);\n\n    UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];\n    UINT64* destination = buffer;\n    UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;\n\n    *destination++ = PIXEncodeEventInfo(0, PIXEvent_BeginEvent_NoArgs);\n    *destination++ = color;\n\n    PIXCopyEventArgument(destination, limit, formatString);\n    *destination = 0ull;\n    PIXBeginEventOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));\n}\n\ntemplate<class TContext, class T1>\ninline void PIXBeginEvent(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1)\n{\n    PIXBeginCPUEventOnContext(context, color, formatString, a1);\n\n    UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];\n    UINT64* destination = buffer;\n    UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;\n\n    *destination++ = PIXEncodeEventInfo(0, PIXEvent_BeginEvent_VarArgs);\n    *destination++ = color;\n\n    PIXCopyEventArgument(destination, limit, formatString);\n    PIXCopyEventArgument(destination, limit, a1);\n    *destination = 0ull;\n    PIXBeginEventOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));\n}\n\ntemplate<class TContext, class T1, class T2>\ninline void PIXBeginEvent(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2)\n{\n    PIXBeginCPUEventOnContext(context, color, formatString, a1, a2);\n\n    UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];\n    UINT64* destination = buffer;\n    UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;\n\n    *destination++ = PIXEncodeEventInfo(0, PIXEvent_BeginEvent_VarArgs);\n    *destination++ = color;\n\n    PIXCopyEventArgument(destination, limit, formatString);\n    PIXCopyEventArgument(destination, limit, a1);\n    PIXCopyEventArgument(destination, limit, a2);\n    *destination = 0ull;\n    PIXBeginEventOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));\n}\n\ntemplate<class TContext, class T1, class T2, class T3>\ninline void PIXBeginEvent(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3)\n{\n    PIXBeginCPUEventOnContext(context, color, formatString, a1, a2, a3);\n\n    UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];\n    UINT64* destination = buffer;\n    UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;\n\n    *destination++ = PIXEncodeEventInfo(0, PIXEvent_BeginEvent_VarArgs);\n    *destination++ = color;\n\n    PIXCopyEventArgument(destination, limit, formatString);\n    PIXCopyEventArgument(destination, limit, a1);\n    PIXCopyEventArgument(destination, limit, a2);\n    PIXCopyEventArgument(destination, limit, a3);\n    *destination = 0ull;\n    PIXBeginEventOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));\n}\n\ntemplate<class TContext, class T1, class T2, class T3, class T4>\ninline void PIXBeginEvent(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4)\n{\n    PIXBeginCPUEventOnContext(context, color, formatString, a1, a2, a3, a4);\n\n    UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];\n    UINT64* destination = buffer;\n    UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;\n\n    *destination++ = PIXEncodeEventInfo(0, PIXEvent_BeginEvent_VarArgs);\n    *destination++ = color;\n\n    PIXCopyEventArgument(destination, limit, formatString);\n    PIXCopyEventArgument(destination, limit, a1);\n    PIXCopyEventArgument(destination, limit, a2);\n    PIXCopyEventArgument(destination, limit, a3);\n    PIXCopyEventArgument(destination, limit, a4);\n    *destination = 0ull;\n    PIXBeginEventOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));\n}\n\ntemplate<class TContext, class T1, class T2, class T3, class T4, class T5>\ninline void PIXBeginEvent(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)\n{\n    PIXBeginCPUEventOnContext(context, color, formatString, a1, a2, a3, a4, a5);\n\n    UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];\n    UINT64* destination = buffer;\n    UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;\n\n    *destination++ = PIXEncodeEventInfo(0, PIXEvent_BeginEvent_VarArgs);\n    *destination++ = color;\n\n    PIXCopyEventArgument(destination, limit, formatString);\n    PIXCopyEventArgument(destination, limit, a1);\n    PIXCopyEventArgument(destination, limit, a2);\n    PIXCopyEventArgument(destination, limit, a3);\n    PIXCopyEventArgument(destination, limit, a4);\n    PIXCopyEventArgument(destination, limit, a5);\n    *destination = 0ull;\n    PIXBeginEventOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));\n}\n\ntemplate<class TContext, class T1, class T2, class T3, class T4, class T5, class T6>\ninline void PIXBeginEvent(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6)\n{\n    PIXBeginCPUEventOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6);\n\n    UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];\n    UINT64* destination = buffer;\n    UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;\n\n    *destination++ = PIXEncodeEventInfo(0, PIXEvent_BeginEvent_VarArgs);\n    *destination++ = color;\n\n    PIXCopyEventArgument(destination, limit, formatString);\n    PIXCopyEventArgument(destination, limit, a1);\n    PIXCopyEventArgument(destination, limit, a2);\n    PIXCopyEventArgument(destination, limit, a3);\n    PIXCopyEventArgument(destination, limit, a4);\n    PIXCopyEventArgument(destination, limit, a5);\n    PIXCopyEventArgument(destination, limit, a6);\n    *destination = 0ull;\n    PIXBeginEventOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));\n}\n\ntemplate<class TContext, class T1, class T2, class T3, class T4, class T5, class T6, class T7>\ninline void PIXBeginEvent(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7)\n{\n    PIXBeginCPUEventOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6, a7);\n\n    UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];\n    UINT64* destination = buffer;\n    UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;\n\n    *destination++ = PIXEncodeEventInfo(0, PIXEvent_BeginEvent_VarArgs);\n    *destination++ = color;\n\n    PIXCopyEventArgument(destination, limit, formatString);\n    PIXCopyEventArgument(destination, limit, a1);\n    PIXCopyEventArgument(destination, limit, a2);\n    PIXCopyEventArgument(destination, limit, a3);\n    PIXCopyEventArgument(destination, limit, a4);\n    PIXCopyEventArgument(destination, limit, a5);\n    PIXCopyEventArgument(destination, limit, a6);\n    PIXCopyEventArgument(destination, limit, a7);\n    *destination = 0ull;\n    PIXBeginEventOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));\n}\n\ntemplate<class TContext, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8>\ninline void PIXBeginEvent(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8)\n{\n    PIXBeginCPUEventOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8);\n\n    UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];\n    UINT64* destination = buffer;\n    UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;\n\n    *destination++ = PIXEncodeEventInfo(0, PIXEvent_BeginEvent_VarArgs);\n    *destination++ = color;\n\n    PIXCopyEventArgument(destination, limit, formatString);\n    PIXCopyEventArgument(destination, limit, a1);\n    PIXCopyEventArgument(destination, limit, a2);\n    PIXCopyEventArgument(destination, limit, a3);\n    PIXCopyEventArgument(destination, limit, a4);\n    PIXCopyEventArgument(destination, limit, a5);\n    PIXCopyEventArgument(destination, limit, a6);\n    PIXCopyEventArgument(destination, limit, a7);\n    PIXCopyEventArgument(destination, limit, a8);\n    *destination = 0ull;\n    PIXBeginEventOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));\n}\n\ntemplate<class TContext, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9>\ninline void PIXBeginEvent(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9)\n{\n    PIXBeginCPUEventOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9);\n\n    UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];\n    UINT64* destination = buffer;\n    UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;\n\n    *destination++ = PIXEncodeEventInfo(0, PIXEvent_BeginEvent_VarArgs);\n    *destination++ = color;\n\n    PIXCopyEventArgument(destination, limit, formatString);\n    PIXCopyEventArgument(destination, limit, a1);\n    PIXCopyEventArgument(destination, limit, a2);\n    PIXCopyEventArgument(destination, limit, a3);\n    PIXCopyEventArgument(destination, limit, a4);\n    PIXCopyEventArgument(destination, limit, a5);\n    PIXCopyEventArgument(destination, limit, a6);\n    PIXCopyEventArgument(destination, limit, a7);\n    PIXCopyEventArgument(destination, limit, a8);\n    PIXCopyEventArgument(destination, limit, a9);\n    *destination = 0ull;\n    PIXBeginEventOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));\n}\n\ntemplate<class TContext, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10>\ninline void PIXBeginEvent(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10)\n{\n    PIXBeginCPUEventOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);\n\n    UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];\n    UINT64* destination = buffer;\n    UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;\n\n    *destination++ = PIXEncodeEventInfo(0, PIXEvent_BeginEvent_VarArgs);\n    *destination++ = color;\n\n    PIXCopyEventArgument(destination, limit, formatString);\n    PIXCopyEventArgument(destination, limit, a1);\n    PIXCopyEventArgument(destination, limit, a2);\n    PIXCopyEventArgument(destination, limit, a3);\n    PIXCopyEventArgument(destination, limit, a4);\n    PIXCopyEventArgument(destination, limit, a5);\n    PIXCopyEventArgument(destination, limit, a6);\n    PIXCopyEventArgument(destination, limit, a7);\n    PIXCopyEventArgument(destination, limit, a8);\n    PIXCopyEventArgument(destination, limit, a9);\n    PIXCopyEventArgument(destination, limit, a10);\n    *destination = 0ull;\n    PIXBeginEventOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));\n}\n\ntemplate<class TContext, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11>\ninline void PIXBeginEvent(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11)\n{\n    PIXBeginCPUEventOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);\n\n    UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];\n    UINT64* destination = buffer;\n    UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;\n\n    *destination++ = PIXEncodeEventInfo(0, PIXEvent_BeginEvent_VarArgs);\n    *destination++ = color;\n\n    PIXCopyEventArgument(destination, limit, formatString);\n    PIXCopyEventArgument(destination, limit, a1);\n    PIXCopyEventArgument(destination, limit, a2);\n    PIXCopyEventArgument(destination, limit, a3);\n    PIXCopyEventArgument(destination, limit, a4);\n    PIXCopyEventArgument(destination, limit, a5);\n    PIXCopyEventArgument(destination, limit, a6);\n    PIXCopyEventArgument(destination, limit, a7);\n    PIXCopyEventArgument(destination, limit, a8);\n    PIXCopyEventArgument(destination, limit, a9);\n    PIXCopyEventArgument(destination, limit, a10);\n    PIXCopyEventArgument(destination, limit, a11);\n    *destination = 0ull;\n    PIXBeginEventOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));\n}\n\ntemplate<class TContext, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12>\ninline void PIXBeginEvent(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12)\n{\n    PIXBeginCPUEventOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);\n\n    UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];\n    UINT64* destination = buffer;\n    UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;\n\n    *destination++ = PIXEncodeEventInfo(0, PIXEvent_BeginEvent_VarArgs);\n    *destination++ = color;\n\n    PIXCopyEventArgument(destination, limit, formatString);\n    PIXCopyEventArgument(destination, limit, a1);\n    PIXCopyEventArgument(destination, limit, a2);\n    PIXCopyEventArgument(destination, limit, a3);\n    PIXCopyEventArgument(destination, limit, a4);\n    PIXCopyEventArgument(destination, limit, a5);\n    PIXCopyEventArgument(destination, limit, a6);\n    PIXCopyEventArgument(destination, limit, a7);\n    PIXCopyEventArgument(destination, limit, a8);\n    PIXCopyEventArgument(destination, limit, a9);\n    PIXCopyEventArgument(destination, limit, a10);\n    PIXCopyEventArgument(destination, limit, a11);\n    PIXCopyEventArgument(destination, limit, a12);\n    *destination = 0ull;\n    PIXBeginEventOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));\n}\n\ntemplate<class TContext, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13>\ninline void PIXBeginEvent(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13)\n{\n    PIXBeginCPUEventOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13);\n\n    UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];\n    UINT64* destination = buffer;\n    UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;\n\n    *destination++ = PIXEncodeEventInfo(0, PIXEvent_BeginEvent_VarArgs);\n    *destination++ = color;\n\n    PIXCopyEventArgument(destination, limit, formatString);\n    PIXCopyEventArgument(destination, limit, a1);\n    PIXCopyEventArgument(destination, limit, a2);\n    PIXCopyEventArgument(destination, limit, a3);\n    PIXCopyEventArgument(destination, limit, a4);\n    PIXCopyEventArgument(destination, limit, a5);\n    PIXCopyEventArgument(destination, limit, a6);\n    PIXCopyEventArgument(destination, limit, a7);\n    PIXCopyEventArgument(destination, limit, a8);\n    PIXCopyEventArgument(destination, limit, a9);\n    PIXCopyEventArgument(destination, limit, a10);\n    PIXCopyEventArgument(destination, limit, a11);\n    PIXCopyEventArgument(destination, limit, a12);\n    PIXCopyEventArgument(destination, limit, a13);\n    *destination = 0ull;\n    PIXBeginEventOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));\n}\n\ntemplate<class TContext, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14>\ninline void PIXBeginEvent(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14)\n{\n    PIXBeginCPUEventOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14);\n\n    UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];\n    UINT64* destination = buffer;\n    UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;\n\n    *destination++ = PIXEncodeEventInfo(0, PIXEvent_BeginEvent_VarArgs);\n    *destination++ = color;\n\n    PIXCopyEventArgument(destination, limit, formatString);\n    PIXCopyEventArgument(destination, limit, a1);\n    PIXCopyEventArgument(destination, limit, a2);\n    PIXCopyEventArgument(destination, limit, a3);\n    PIXCopyEventArgument(destination, limit, a4);\n    PIXCopyEventArgument(destination, limit, a5);\n    PIXCopyEventArgument(destination, limit, a6);\n    PIXCopyEventArgument(destination, limit, a7);\n    PIXCopyEventArgument(destination, limit, a8);\n    PIXCopyEventArgument(destination, limit, a9);\n    PIXCopyEventArgument(destination, limit, a10);\n    PIXCopyEventArgument(destination, limit, a11);\n    PIXCopyEventArgument(destination, limit, a12);\n    PIXCopyEventArgument(destination, limit, a13);\n    PIXCopyEventArgument(destination, limit, a14);\n    *destination = 0ull;\n    PIXBeginEventOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));\n}\n\ntemplate<class TContext, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15>\ninline void PIXBeginEvent(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15)\n{\n    PIXBeginCPUEventOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15);\n\n    UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];\n    UINT64* destination = buffer;\n    UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;\n\n    *destination++ = PIXEncodeEventInfo(0, PIXEvent_BeginEvent_VarArgs);\n    *destination++ = color;\n\n    PIXCopyEventArgument(destination, limit, formatString);\n    PIXCopyEventArgument(destination, limit, a1);\n    PIXCopyEventArgument(destination, limit, a2);\n    PIXCopyEventArgument(destination, limit, a3);\n    PIXCopyEventArgument(destination, limit, a4);\n    PIXCopyEventArgument(destination, limit, a5);\n    PIXCopyEventArgument(destination, limit, a6);\n    PIXCopyEventArgument(destination, limit, a7);\n    PIXCopyEventArgument(destination, limit, a8);\n    PIXCopyEventArgument(destination, limit, a9);\n    PIXCopyEventArgument(destination, limit, a10);\n    PIXCopyEventArgument(destination, limit, a11);\n    PIXCopyEventArgument(destination, limit, a12);\n    PIXCopyEventArgument(destination, limit, a13);\n    PIXCopyEventArgument(destination, limit, a14);\n    PIXCopyEventArgument(destination, limit, a15);\n    *destination = 0ull;\n    PIXBeginEventOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));\n}\n\ntemplate<class TContext, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15, class T16>\ninline void PIXBeginEvent(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15, T16 a16)\n{\n    PIXBeginCPUEventOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16);\n\n    UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];\n    UINT64* destination = buffer;\n    UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;\n\n    *destination++ = PIXEncodeEventInfo(0, PIXEvent_BeginEvent_VarArgs);\n    *destination++ = color;\n\n    PIXCopyEventArgument(destination, limit, formatString);\n    PIXCopyEventArgument(destination, limit, a1);\n    PIXCopyEventArgument(destination, limit, a2);\n    PIXCopyEventArgument(destination, limit, a3);\n    PIXCopyEventArgument(destination, limit, a4);\n    PIXCopyEventArgument(destination, limit, a5);\n    PIXCopyEventArgument(destination, limit, a6);\n    PIXCopyEventArgument(destination, limit, a7);\n    PIXCopyEventArgument(destination, limit, a8);\n    PIXCopyEventArgument(destination, limit, a9);\n    PIXCopyEventArgument(destination, limit, a10);\n    PIXCopyEventArgument(destination, limit, a11);\n    PIXCopyEventArgument(destination, limit, a12);\n    PIXCopyEventArgument(destination, limit, a13);\n    PIXCopyEventArgument(destination, limit, a14);\n    PIXCopyEventArgument(destination, limit, a15);\n    PIXCopyEventArgument(destination, limit, a16);\n    *destination = 0ull;\n    PIXBeginEventOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));\n}\n\ntemplate<class TContext>\ninline void PIXSetMarker(TContext* context, UINT64 color, _In_ PCSTR formatString)\n{\n    PIXSetCPUMarkerOnContext(context, color, formatString);\n\n    UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];\n    UINT64* destination = buffer;\n    UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;\n\n    *destination++ = PIXEncodeEventInfo(0, PIXEvent_SetMarker_NoArgs);\n    *destination++ = color;\n\n    PIXCopyEventArgument(destination, limit, formatString);\n    *destination = 0ull;\n    PIXSetMarkerOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));\n}\n\ntemplate<class TContext, class T1>\ninline void PIXSetMarker(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1)\n{\n    PIXSetCPUMarkerOnContext(context, color, formatString, a1);\n\n    UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];\n    UINT64* destination = buffer;\n    UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;\n\n    *destination++ = PIXEncodeEventInfo(0, PIXEvent_SetMarker_VarArgs);\n    *destination++ = color;\n\n    PIXCopyEventArgument(destination, limit, formatString);\n    PIXCopyEventArgument(destination, limit, a1);\n    *destination = 0ull;\n    PIXSetMarkerOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));\n}\n\ntemplate<class TContext, class T1, class T2>\ninline void PIXSetMarker(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2)\n{\n    PIXSetCPUMarkerOnContext(context, color, formatString, a1, a2);\n\n    UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];\n    UINT64* destination = buffer;\n    UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;\n\n    *destination++ = PIXEncodeEventInfo(0, PIXEvent_SetMarker_VarArgs);\n    *destination++ = color;\n\n    PIXCopyEventArgument(destination, limit, formatString);\n    PIXCopyEventArgument(destination, limit, a1);\n    PIXCopyEventArgument(destination, limit, a2);\n    *destination = 0ull;\n    PIXSetMarkerOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));\n}\n\ntemplate<class TContext, class T1, class T2, class T3>\ninline void PIXSetMarker(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3)\n{\n    PIXSetCPUMarkerOnContext(context, color, formatString, a1, a2, a3);\n\n    UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];\n    UINT64* destination = buffer;\n    UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;\n\n    *destination++ = PIXEncodeEventInfo(0, PIXEvent_SetMarker_VarArgs);\n    *destination++ = color;\n\n    PIXCopyEventArgument(destination, limit, formatString);\n    PIXCopyEventArgument(destination, limit, a1);\n    PIXCopyEventArgument(destination, limit, a2);\n    PIXCopyEventArgument(destination, limit, a3);\n    *destination = 0ull;\n    PIXSetMarkerOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));\n}\n\ntemplate<class TContext, class T1, class T2, class T3, class T4>\ninline void PIXSetMarker(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4)\n{\n    PIXSetCPUMarkerOnContext(context, color, formatString, a1, a2, a3, a4);\n\n    UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];\n    UINT64* destination = buffer;\n    UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;\n\n    *destination++ = PIXEncodeEventInfo(0, PIXEvent_SetMarker_VarArgs);\n    *destination++ = color;\n\n    PIXCopyEventArgument(destination, limit, formatString);\n    PIXCopyEventArgument(destination, limit, a1);\n    PIXCopyEventArgument(destination, limit, a2);\n    PIXCopyEventArgument(destination, limit, a3);\n    PIXCopyEventArgument(destination, limit, a4);\n    *destination = 0ull;\n    PIXSetMarkerOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));\n}\n\ntemplate<class TContext, class T1, class T2, class T3, class T4, class T5>\ninline void PIXSetMarker(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)\n{\n    PIXSetCPUMarkerOnContext(context, color, formatString, a1, a2, a3, a4, a5);\n\n    UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];\n    UINT64* destination = buffer;\n    UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;\n\n    *destination++ = PIXEncodeEventInfo(0, PIXEvent_SetMarker_VarArgs);\n    *destination++ = color;\n\n    PIXCopyEventArgument(destination, limit, formatString);\n    PIXCopyEventArgument(destination, limit, a1);\n    PIXCopyEventArgument(destination, limit, a2);\n    PIXCopyEventArgument(destination, limit, a3);\n    PIXCopyEventArgument(destination, limit, a4);\n    PIXCopyEventArgument(destination, limit, a5);\n    *destination = 0ull;\n    PIXSetMarkerOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));\n}\n\ntemplate<class TContext, class T1, class T2, class T3, class T4, class T5, class T6>\ninline void PIXSetMarker(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6)\n{\n    PIXSetCPUMarkerOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6);\n\n    UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];\n    UINT64* destination = buffer;\n    UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;\n\n    *destination++ = PIXEncodeEventInfo(0, PIXEvent_SetMarker_VarArgs);\n    *destination++ = color;\n\n    PIXCopyEventArgument(destination, limit, formatString);\n    PIXCopyEventArgument(destination, limit, a1);\n    PIXCopyEventArgument(destination, limit, a2);\n    PIXCopyEventArgument(destination, limit, a3);\n    PIXCopyEventArgument(destination, limit, a4);\n    PIXCopyEventArgument(destination, limit, a5);\n    PIXCopyEventArgument(destination, limit, a6);\n    *destination = 0ull;\n    PIXSetMarkerOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));\n}\n\ntemplate<class TContext, class T1, class T2, class T3, class T4, class T5, class T6, class T7>\ninline void PIXSetMarker(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7)\n{\n    PIXSetCPUMarkerOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6, a7);\n\n    UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];\n    UINT64* destination = buffer;\n    UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;\n\n    *destination++ = PIXEncodeEventInfo(0, PIXEvent_SetMarker_VarArgs);\n    *destination++ = color;\n\n    PIXCopyEventArgument(destination, limit, formatString);\n    PIXCopyEventArgument(destination, limit, a1);\n    PIXCopyEventArgument(destination, limit, a2);\n    PIXCopyEventArgument(destination, limit, a3);\n    PIXCopyEventArgument(destination, limit, a4);\n    PIXCopyEventArgument(destination, limit, a5);\n    PIXCopyEventArgument(destination, limit, a6);\n    PIXCopyEventArgument(destination, limit, a7);\n    *destination = 0ull;\n    PIXSetMarkerOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));\n}\n\ntemplate<class TContext, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8>\ninline void PIXSetMarker(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8)\n{\n    PIXSetCPUMarkerOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8);\n\n    UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];\n    UINT64* destination = buffer;\n    UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;\n\n    *destination++ = PIXEncodeEventInfo(0, PIXEvent_SetMarker_VarArgs);\n    *destination++ = color;\n\n    PIXCopyEventArgument(destination, limit, formatString);\n    PIXCopyEventArgument(destination, limit, a1);\n    PIXCopyEventArgument(destination, limit, a2);\n    PIXCopyEventArgument(destination, limit, a3);\n    PIXCopyEventArgument(destination, limit, a4);\n    PIXCopyEventArgument(destination, limit, a5);\n    PIXCopyEventArgument(destination, limit, a6);\n    PIXCopyEventArgument(destination, limit, a7);\n    PIXCopyEventArgument(destination, limit, a8);\n    *destination = 0ull;\n    PIXSetMarkerOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));\n}\n\ntemplate<class TContext, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9>\ninline void PIXSetMarker(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9)\n{\n    PIXSetCPUMarkerOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9);\n\n    UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];\n    UINT64* destination = buffer;\n    UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;\n\n    *destination++ = PIXEncodeEventInfo(0, PIXEvent_SetMarker_VarArgs);\n    *destination++ = color;\n\n    PIXCopyEventArgument(destination, limit, formatString);\n    PIXCopyEventArgument(destination, limit, a1);\n    PIXCopyEventArgument(destination, limit, a2);\n    PIXCopyEventArgument(destination, limit, a3);\n    PIXCopyEventArgument(destination, limit, a4);\n    PIXCopyEventArgument(destination, limit, a5);\n    PIXCopyEventArgument(destination, limit, a6);\n    PIXCopyEventArgument(destination, limit, a7);\n    PIXCopyEventArgument(destination, limit, a8);\n    PIXCopyEventArgument(destination, limit, a9);\n    *destination = 0ull;\n    PIXSetMarkerOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));\n}\n\ntemplate<class TContext, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10>\ninline void PIXSetMarker(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10)\n{\n    PIXSetCPUMarkerOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);\n\n    UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];\n    UINT64* destination = buffer;\n    UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;\n\n    *destination++ = PIXEncodeEventInfo(0, PIXEvent_SetMarker_VarArgs);\n    *destination++ = color;\n\n    PIXCopyEventArgument(destination, limit, formatString);\n    PIXCopyEventArgument(destination, limit, a1);\n    PIXCopyEventArgument(destination, limit, a2);\n    PIXCopyEventArgument(destination, limit, a3);\n    PIXCopyEventArgument(destination, limit, a4);\n    PIXCopyEventArgument(destination, limit, a5);\n    PIXCopyEventArgument(destination, limit, a6);\n    PIXCopyEventArgument(destination, limit, a7);\n    PIXCopyEventArgument(destination, limit, a8);\n    PIXCopyEventArgument(destination, limit, a9);\n    PIXCopyEventArgument(destination, limit, a10);\n    *destination = 0ull;\n    PIXSetMarkerOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));\n}\n\ntemplate<class TContext, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11>\ninline void PIXSetMarker(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11)\n{\n    PIXSetCPUMarkerOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);\n\n    UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];\n    UINT64* destination = buffer;\n    UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;\n\n    *destination++ = PIXEncodeEventInfo(0, PIXEvent_SetMarker_VarArgs);\n    *destination++ = color;\n\n    PIXCopyEventArgument(destination, limit, formatString);\n    PIXCopyEventArgument(destination, limit, a1);\n    PIXCopyEventArgument(destination, limit, a2);\n    PIXCopyEventArgument(destination, limit, a3);\n    PIXCopyEventArgument(destination, limit, a4);\n    PIXCopyEventArgument(destination, limit, a5);\n    PIXCopyEventArgument(destination, limit, a6);\n    PIXCopyEventArgument(destination, limit, a7);\n    PIXCopyEventArgument(destination, limit, a8);\n    PIXCopyEventArgument(destination, limit, a9);\n    PIXCopyEventArgument(destination, limit, a10);\n    PIXCopyEventArgument(destination, limit, a11);\n    *destination = 0ull;\n    PIXSetMarkerOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));\n}\n\ntemplate<class TContext, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12>\ninline void PIXSetMarker(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12)\n{\n    PIXSetCPUMarkerOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);\n\n    UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];\n    UINT64* destination = buffer;\n    UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;\n\n    *destination++ = PIXEncodeEventInfo(0, PIXEvent_SetMarker_VarArgs);\n    *destination++ = color;\n\n    PIXCopyEventArgument(destination, limit, formatString);\n    PIXCopyEventArgument(destination, limit, a1);\n    PIXCopyEventArgument(destination, limit, a2);\n    PIXCopyEventArgument(destination, limit, a3);\n    PIXCopyEventArgument(destination, limit, a4);\n    PIXCopyEventArgument(destination, limit, a5);\n    PIXCopyEventArgument(destination, limit, a6);\n    PIXCopyEventArgument(destination, limit, a7);\n    PIXCopyEventArgument(destination, limit, a8);\n    PIXCopyEventArgument(destination, limit, a9);\n    PIXCopyEventArgument(destination, limit, a10);\n    PIXCopyEventArgument(destination, limit, a11);\n    PIXCopyEventArgument(destination, limit, a12);\n    *destination = 0ull;\n    PIXSetMarkerOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));\n}\n\ntemplate<class TContext, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13>\ninline void PIXSetMarker(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13)\n{\n    PIXSetCPUMarkerOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13);\n\n    UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];\n    UINT64* destination = buffer;\n    UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;\n\n    *destination++ = PIXEncodeEventInfo(0, PIXEvent_SetMarker_VarArgs);\n    *destination++ = color;\n\n    PIXCopyEventArgument(destination, limit, formatString);\n    PIXCopyEventArgument(destination, limit, a1);\n    PIXCopyEventArgument(destination, limit, a2);\n    PIXCopyEventArgument(destination, limit, a3);\n    PIXCopyEventArgument(destination, limit, a4);\n    PIXCopyEventArgument(destination, limit, a5);\n    PIXCopyEventArgument(destination, limit, a6);\n    PIXCopyEventArgument(destination, limit, a7);\n    PIXCopyEventArgument(destination, limit, a8);\n    PIXCopyEventArgument(destination, limit, a9);\n    PIXCopyEventArgument(destination, limit, a10);\n    PIXCopyEventArgument(destination, limit, a11);\n    PIXCopyEventArgument(destination, limit, a12);\n    PIXCopyEventArgument(destination, limit, a13);\n    *destination = 0ull;\n    PIXSetMarkerOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));\n}\n\ntemplate<class TContext, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14>\ninline void PIXSetMarker(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14)\n{\n    PIXSetCPUMarkerOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14);\n\n    UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];\n    UINT64* destination = buffer;\n    UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;\n\n    *destination++ = PIXEncodeEventInfo(0, PIXEvent_SetMarker_VarArgs);\n    *destination++ = color;\n\n    PIXCopyEventArgument(destination, limit, formatString);\n    PIXCopyEventArgument(destination, limit, a1);\n    PIXCopyEventArgument(destination, limit, a2);\n    PIXCopyEventArgument(destination, limit, a3);\n    PIXCopyEventArgument(destination, limit, a4);\n    PIXCopyEventArgument(destination, limit, a5);\n    PIXCopyEventArgument(destination, limit, a6);\n    PIXCopyEventArgument(destination, limit, a7);\n    PIXCopyEventArgument(destination, limit, a8);\n    PIXCopyEventArgument(destination, limit, a9);\n    PIXCopyEventArgument(destination, limit, a10);\n    PIXCopyEventArgument(destination, limit, a11);\n    PIXCopyEventArgument(destination, limit, a12);\n    PIXCopyEventArgument(destination, limit, a13);\n    PIXCopyEventArgument(destination, limit, a14);\n    *destination = 0ull;\n    PIXSetMarkerOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));\n}\n\ntemplate<class TContext, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15>\ninline void PIXSetMarker(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15)\n{\n    PIXSetCPUMarkerOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15);\n\n    UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];\n    UINT64* destination = buffer;\n    UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;\n\n    *destination++ = PIXEncodeEventInfo(0, PIXEvent_SetMarker_VarArgs);\n    *destination++ = color;\n\n    PIXCopyEventArgument(destination, limit, formatString);\n    PIXCopyEventArgument(destination, limit, a1);\n    PIXCopyEventArgument(destination, limit, a2);\n    PIXCopyEventArgument(destination, limit, a3);\n    PIXCopyEventArgument(destination, limit, a4);\n    PIXCopyEventArgument(destination, limit, a5);\n    PIXCopyEventArgument(destination, limit, a6);\n    PIXCopyEventArgument(destination, limit, a7);\n    PIXCopyEventArgument(destination, limit, a8);\n    PIXCopyEventArgument(destination, limit, a9);\n    PIXCopyEventArgument(destination, limit, a10);\n    PIXCopyEventArgument(destination, limit, a11);\n    PIXCopyEventArgument(destination, limit, a12);\n    PIXCopyEventArgument(destination, limit, a13);\n    PIXCopyEventArgument(destination, limit, a14);\n    PIXCopyEventArgument(destination, limit, a15);\n    *destination = 0ull;\n    PIXSetMarkerOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));\n}\n\ntemplate<class TContext, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15, class T16>\ninline void PIXSetMarker(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15, T16 a16)\n{\n    PIXSetCPUMarkerOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16);\n\n    UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];\n    UINT64* destination = buffer;\n    UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;\n\n    *destination++ = PIXEncodeEventInfo(0, PIXEvent_SetMarker_VarArgs);\n    *destination++ = color;\n\n    PIXCopyEventArgument(destination, limit, formatString);\n    PIXCopyEventArgument(destination, limit, a1);\n    PIXCopyEventArgument(destination, limit, a2);\n    PIXCopyEventArgument(destination, limit, a3);\n    PIXCopyEventArgument(destination, limit, a4);\n    PIXCopyEventArgument(destination, limit, a5);\n    PIXCopyEventArgument(destination, limit, a6);\n    PIXCopyEventArgument(destination, limit, a7);\n    PIXCopyEventArgument(destination, limit, a8);\n    PIXCopyEventArgument(destination, limit, a9);\n    PIXCopyEventArgument(destination, limit, a10);\n    PIXCopyEventArgument(destination, limit, a11);\n    PIXCopyEventArgument(destination, limit, a12);\n    PIXCopyEventArgument(destination, limit, a13);\n    PIXCopyEventArgument(destination, limit, a14);\n    PIXCopyEventArgument(destination, limit, a15);\n    PIXCopyEventArgument(destination, limit, a16);\n    *destination = 0ull;\n    PIXSetMarkerOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));\n}\n\ntemplate<class TContext>\ninline void PIXSetMarker(TContext* context, UINT64 color, _In_ PCWSTR formatString)\n{\n    PIXSetCPUMarkerOnContext(context, color, formatString);\n\n    UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];\n    UINT64* destination = buffer;\n    UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;\n\n    *destination++ = PIXEncodeEventInfo(0, PIXEvent_SetMarker_NoArgs);\n    *destination++ = color;\n\n    PIXCopyEventArgument(destination, limit, formatString);\n    *destination = 0ull;\n    PIXSetMarkerOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));\n}\n\ntemplate<class TContext, class T1>\ninline void PIXSetMarker(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1)\n{\n    PIXSetCPUMarkerOnContext(context, color, formatString, a1);\n\n    UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];\n    UINT64* destination = buffer;\n    UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;\n\n    *destination++ = PIXEncodeEventInfo(0, PIXEvent_SetMarker_VarArgs);\n    *destination++ = color;\n\n    PIXCopyEventArgument(destination, limit, formatString);\n    PIXCopyEventArgument(destination, limit, a1);\n    *destination = 0ull;\n    PIXSetMarkerOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));\n}\n\ntemplate<class TContext, class T1, class T2>\ninline void PIXSetMarker(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2)\n{\n    PIXSetCPUMarkerOnContext(context, color, formatString, a1, a2);\n\n    UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];\n    UINT64* destination = buffer;\n    UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;\n\n    *destination++ = PIXEncodeEventInfo(0, PIXEvent_SetMarker_VarArgs);\n    *destination++ = color;\n\n    PIXCopyEventArgument(destination, limit, formatString);\n    PIXCopyEventArgument(destination, limit, a1);\n    PIXCopyEventArgument(destination, limit, a2);\n    *destination = 0ull;\n    PIXSetMarkerOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));\n}\n\ntemplate<class TContext, class T1, class T2, class T3>\ninline void PIXSetMarker(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3)\n{\n    PIXSetCPUMarkerOnContext(context, color, formatString, a1, a2, a3);\n\n    UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];\n    UINT64* destination = buffer;\n    UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;\n\n    *destination++ = PIXEncodeEventInfo(0, PIXEvent_SetMarker_VarArgs);\n    *destination++ = color;\n\n    PIXCopyEventArgument(destination, limit, formatString);\n    PIXCopyEventArgument(destination, limit, a1);\n    PIXCopyEventArgument(destination, limit, a2);\n    PIXCopyEventArgument(destination, limit, a3);\n    *destination = 0ull;\n    PIXSetMarkerOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));\n}\n\ntemplate<class TContext, class T1, class T2, class T3, class T4>\ninline void PIXSetMarker(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4)\n{\n    PIXSetCPUMarkerOnContext(context, color, formatString, a1, a2, a3, a4);\n\n    UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];\n    UINT64* destination = buffer;\n    UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;\n\n    *destination++ = PIXEncodeEventInfo(0, PIXEvent_SetMarker_VarArgs);\n    *destination++ = color;\n\n    PIXCopyEventArgument(destination, limit, formatString);\n    PIXCopyEventArgument(destination, limit, a1);\n    PIXCopyEventArgument(destination, limit, a2);\n    PIXCopyEventArgument(destination, limit, a3);\n    PIXCopyEventArgument(destination, limit, a4);\n    *destination = 0ull;\n    PIXSetMarkerOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));\n}\n\ntemplate<class TContext, class T1, class T2, class T3, class T4, class T5>\ninline void PIXSetMarker(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)\n{\n    PIXSetCPUMarkerOnContext(context, color, formatString, a1, a2, a3, a4, a5);\n\n    UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];\n    UINT64* destination = buffer;\n    UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;\n\n    *destination++ = PIXEncodeEventInfo(0, PIXEvent_SetMarker_VarArgs);\n    *destination++ = color;\n\n    PIXCopyEventArgument(destination, limit, formatString);\n    PIXCopyEventArgument(destination, limit, a1);\n    PIXCopyEventArgument(destination, limit, a2);\n    PIXCopyEventArgument(destination, limit, a3);\n    PIXCopyEventArgument(destination, limit, a4);\n    PIXCopyEventArgument(destination, limit, a5);\n    *destination = 0ull;\n    PIXSetMarkerOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));\n}\n\ntemplate<class TContext, class T1, class T2, class T3, class T4, class T5, class T6>\ninline void PIXSetMarker(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6)\n{\n    PIXSetCPUMarkerOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6);\n\n    UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];\n    UINT64* destination = buffer;\n    UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;\n\n    *destination++ = PIXEncodeEventInfo(0, PIXEvent_SetMarker_VarArgs);\n    *destination++ = color;\n\n    PIXCopyEventArgument(destination, limit, formatString);\n    PIXCopyEventArgument(destination, limit, a1);\n    PIXCopyEventArgument(destination, limit, a2);\n    PIXCopyEventArgument(destination, limit, a3);\n    PIXCopyEventArgument(destination, limit, a4);\n    PIXCopyEventArgument(destination, limit, a5);\n    PIXCopyEventArgument(destination, limit, a6);\n    *destination = 0ull;\n    PIXSetMarkerOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));\n}\n\ntemplate<class TContext, class T1, class T2, class T3, class T4, class T5, class T6, class T7>\ninline void PIXSetMarker(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7)\n{\n    PIXSetCPUMarkerOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6, a7);\n\n    UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];\n    UINT64* destination = buffer;\n    UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;\n\n    *destination++ = PIXEncodeEventInfo(0, PIXEvent_SetMarker_VarArgs);\n    *destination++ = color;\n\n    PIXCopyEventArgument(destination, limit, formatString);\n    PIXCopyEventArgument(destination, limit, a1);\n    PIXCopyEventArgument(destination, limit, a2);\n    PIXCopyEventArgument(destination, limit, a3);\n    PIXCopyEventArgument(destination, limit, a4);\n    PIXCopyEventArgument(destination, limit, a5);\n    PIXCopyEventArgument(destination, limit, a6);\n    PIXCopyEventArgument(destination, limit, a7);\n    *destination = 0ull;\n    PIXSetMarkerOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));\n}\n\ntemplate<class TContext, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8>\ninline void PIXSetMarker(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8)\n{\n    PIXSetCPUMarkerOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8);\n\n    UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];\n    UINT64* destination = buffer;\n    UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;\n\n    *destination++ = PIXEncodeEventInfo(0, PIXEvent_SetMarker_VarArgs);\n    *destination++ = color;\n\n    PIXCopyEventArgument(destination, limit, formatString);\n    PIXCopyEventArgument(destination, limit, a1);\n    PIXCopyEventArgument(destination, limit, a2);\n    PIXCopyEventArgument(destination, limit, a3);\n    PIXCopyEventArgument(destination, limit, a4);\n    PIXCopyEventArgument(destination, limit, a5);\n    PIXCopyEventArgument(destination, limit, a6);\n    PIXCopyEventArgument(destination, limit, a7);\n    PIXCopyEventArgument(destination, limit, a8);\n    *destination = 0ull;\n    PIXSetMarkerOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));\n}\n\ntemplate<class TContext, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9>\ninline void PIXSetMarker(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9)\n{\n    PIXSetCPUMarkerOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9);\n\n    UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];\n    UINT64* destination = buffer;\n    UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;\n\n    *destination++ = PIXEncodeEventInfo(0, PIXEvent_SetMarker_VarArgs);\n    *destination++ = color;\n\n    PIXCopyEventArgument(destination, limit, formatString);\n    PIXCopyEventArgument(destination, limit, a1);\n    PIXCopyEventArgument(destination, limit, a2);\n    PIXCopyEventArgument(destination, limit, a3);\n    PIXCopyEventArgument(destination, limit, a4);\n    PIXCopyEventArgument(destination, limit, a5);\n    PIXCopyEventArgument(destination, limit, a6);\n    PIXCopyEventArgument(destination, limit, a7);\n    PIXCopyEventArgument(destination, limit, a8);\n    PIXCopyEventArgument(destination, limit, a9);\n    *destination = 0ull;\n    PIXSetMarkerOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));\n}\n\ntemplate<class TContext, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10>\ninline void PIXSetMarker(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10)\n{\n    PIXSetCPUMarkerOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);\n\n    UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];\n    UINT64* destination = buffer;\n    UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;\n\n    *destination++ = PIXEncodeEventInfo(0, PIXEvent_SetMarker_VarArgs);\n    *destination++ = color;\n\n    PIXCopyEventArgument(destination, limit, formatString);\n    PIXCopyEventArgument(destination, limit, a1);\n    PIXCopyEventArgument(destination, limit, a2);\n    PIXCopyEventArgument(destination, limit, a3);\n    PIXCopyEventArgument(destination, limit, a4);\n    PIXCopyEventArgument(destination, limit, a5);\n    PIXCopyEventArgument(destination, limit, a6);\n    PIXCopyEventArgument(destination, limit, a7);\n    PIXCopyEventArgument(destination, limit, a8);\n    PIXCopyEventArgument(destination, limit, a9);\n    PIXCopyEventArgument(destination, limit, a10);\n    *destination = 0ull;\n    PIXSetMarkerOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));\n}\n\ntemplate<class TContext, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11>\ninline void PIXSetMarker(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11)\n{\n    PIXSetCPUMarkerOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);\n\n    UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];\n    UINT64* destination = buffer;\n    UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;\n\n    *destination++ = PIXEncodeEventInfo(0, PIXEvent_SetMarker_VarArgs);\n    *destination++ = color;\n\n    PIXCopyEventArgument(destination, limit, formatString);\n    PIXCopyEventArgument(destination, limit, a1);\n    PIXCopyEventArgument(destination, limit, a2);\n    PIXCopyEventArgument(destination, limit, a3);\n    PIXCopyEventArgument(destination, limit, a4);\n    PIXCopyEventArgument(destination, limit, a5);\n    PIXCopyEventArgument(destination, limit, a6);\n    PIXCopyEventArgument(destination, limit, a7);\n    PIXCopyEventArgument(destination, limit, a8);\n    PIXCopyEventArgument(destination, limit, a9);\n    PIXCopyEventArgument(destination, limit, a10);\n    PIXCopyEventArgument(destination, limit, a11);\n    *destination = 0ull;\n    PIXSetMarkerOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));\n}\n\ntemplate<class TContext, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12>\ninline void PIXSetMarker(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12)\n{\n    PIXSetCPUMarkerOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);\n\n    UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];\n    UINT64* destination = buffer;\n    UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;\n\n    *destination++ = PIXEncodeEventInfo(0, PIXEvent_SetMarker_VarArgs);\n    *destination++ = color;\n\n    PIXCopyEventArgument(destination, limit, formatString);\n    PIXCopyEventArgument(destination, limit, a1);\n    PIXCopyEventArgument(destination, limit, a2);\n    PIXCopyEventArgument(destination, limit, a3);\n    PIXCopyEventArgument(destination, limit, a4);\n    PIXCopyEventArgument(destination, limit, a5);\n    PIXCopyEventArgument(destination, limit, a6);\n    PIXCopyEventArgument(destination, limit, a7);\n    PIXCopyEventArgument(destination, limit, a8);\n    PIXCopyEventArgument(destination, limit, a9);\n    PIXCopyEventArgument(destination, limit, a10);\n    PIXCopyEventArgument(destination, limit, a11);\n    PIXCopyEventArgument(destination, limit, a12);\n    *destination = 0ull;\n    PIXSetMarkerOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));\n}\n\ntemplate<class TContext, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13>\ninline void PIXSetMarker(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13)\n{\n    PIXSetCPUMarkerOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13);\n\n    UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];\n    UINT64* destination = buffer;\n    UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;\n\n    *destination++ = PIXEncodeEventInfo(0, PIXEvent_SetMarker_VarArgs);\n    *destination++ = color;\n\n    PIXCopyEventArgument(destination, limit, formatString);\n    PIXCopyEventArgument(destination, limit, a1);\n    PIXCopyEventArgument(destination, limit, a2);\n    PIXCopyEventArgument(destination, limit, a3);\n    PIXCopyEventArgument(destination, limit, a4);\n    PIXCopyEventArgument(destination, limit, a5);\n    PIXCopyEventArgument(destination, limit, a6);\n    PIXCopyEventArgument(destination, limit, a7);\n    PIXCopyEventArgument(destination, limit, a8);\n    PIXCopyEventArgument(destination, limit, a9);\n    PIXCopyEventArgument(destination, limit, a10);\n    PIXCopyEventArgument(destination, limit, a11);\n    PIXCopyEventArgument(destination, limit, a12);\n    PIXCopyEventArgument(destination, limit, a13);\n    *destination = 0ull;\n    PIXSetMarkerOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));\n}\n\ntemplate<class TContext, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14>\ninline void PIXSetMarker(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14)\n{\n    PIXSetCPUMarkerOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14);\n\n    UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];\n    UINT64* destination = buffer;\n    UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;\n\n    *destination++ = PIXEncodeEventInfo(0, PIXEvent_SetMarker_VarArgs);\n    *destination++ = color;\n\n    PIXCopyEventArgument(destination, limit, formatString);\n    PIXCopyEventArgument(destination, limit, a1);\n    PIXCopyEventArgument(destination, limit, a2);\n    PIXCopyEventArgument(destination, limit, a3);\n    PIXCopyEventArgument(destination, limit, a4);\n    PIXCopyEventArgument(destination, limit, a5);\n    PIXCopyEventArgument(destination, limit, a6);\n    PIXCopyEventArgument(destination, limit, a7);\n    PIXCopyEventArgument(destination, limit, a8);\n    PIXCopyEventArgument(destination, limit, a9);\n    PIXCopyEventArgument(destination, limit, a10);\n    PIXCopyEventArgument(destination, limit, a11);\n    PIXCopyEventArgument(destination, limit, a12);\n    PIXCopyEventArgument(destination, limit, a13);\n    PIXCopyEventArgument(destination, limit, a14);\n    *destination = 0ull;\n    PIXSetMarkerOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));\n}\n\ntemplate<class TContext, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15>\ninline void PIXSetMarker(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15)\n{\n    PIXSetCPUMarkerOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15);\n\n    UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];\n    UINT64* destination = buffer;\n    UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;\n\n    *destination++ = PIXEncodeEventInfo(0, PIXEvent_SetMarker_VarArgs);\n    *destination++ = color;\n\n    PIXCopyEventArgument(destination, limit, formatString);\n    PIXCopyEventArgument(destination, limit, a1);\n    PIXCopyEventArgument(destination, limit, a2);\n    PIXCopyEventArgument(destination, limit, a3);\n    PIXCopyEventArgument(destination, limit, a4);\n    PIXCopyEventArgument(destination, limit, a5);\n    PIXCopyEventArgument(destination, limit, a6);\n    PIXCopyEventArgument(destination, limit, a7);\n    PIXCopyEventArgument(destination, limit, a8);\n    PIXCopyEventArgument(destination, limit, a9);\n    PIXCopyEventArgument(destination, limit, a10);\n    PIXCopyEventArgument(destination, limit, a11);\n    PIXCopyEventArgument(destination, limit, a12);\n    PIXCopyEventArgument(destination, limit, a13);\n    PIXCopyEventArgument(destination, limit, a14);\n    PIXCopyEventArgument(destination, limit, a15);\n    *destination = 0ull;\n    PIXSetMarkerOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));\n}\n\ntemplate<class TContext, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15, class T16>\ninline void PIXSetMarker(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15, T16 a16)\n{\n    PIXSetCPUMarkerOnContext(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16);\n\n    UINT64 buffer[PIXEventsGraphicsRecordSpaceQwords];\n    UINT64* destination = buffer;\n    UINT64* limit = buffer + PIXEventsGraphicsRecordSpaceQwords - PIXEventsReservedTailSpaceQwords;\n\n    *destination++ = PIXEncodeEventInfo(0, PIXEvent_SetMarker_VarArgs);\n    *destination++ = color;\n\n    PIXCopyEventArgument(destination, limit, formatString);\n    PIXCopyEventArgument(destination, limit, a1);\n    PIXCopyEventArgument(destination, limit, a2);\n    PIXCopyEventArgument(destination, limit, a3);\n    PIXCopyEventArgument(destination, limit, a4);\n    PIXCopyEventArgument(destination, limit, a5);\n    PIXCopyEventArgument(destination, limit, a6);\n    PIXCopyEventArgument(destination, limit, a7);\n    PIXCopyEventArgument(destination, limit, a8);\n    PIXCopyEventArgument(destination, limit, a9);\n    PIXCopyEventArgument(destination, limit, a10);\n    PIXCopyEventArgument(destination, limit, a11);\n    PIXCopyEventArgument(destination, limit, a12);\n    PIXCopyEventArgument(destination, limit, a13);\n    PIXCopyEventArgument(destination, limit, a14);\n    PIXCopyEventArgument(destination, limit, a15);\n    PIXCopyEventArgument(destination, limit, a16);\n    *destination = 0ull;\n    PIXSetMarkerOnContext(context, static_cast<void*>(buffer), static_cast<UINT>(reinterpret_cast<BYTE*>(destination) - reinterpret_cast<BYTE*>(buffer)));\n}\n\n__declspec(noinline)  inline void MakeCPUSetMarkerForContextAllocate(UINT64 color, PVOID context, _In_ PCSTR formatString)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_NoArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, context);\n            PIXCopyEventArgument(destination, limit, formatString);\n\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1>\n__declspec(noinline)  inline void MakeCPUSetMarkerForContextAllocate(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, context);\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2>\n__declspec(noinline)  inline void MakeCPUSetMarkerForContextAllocate(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, context);\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3>\n__declspec(noinline)  inline void MakeCPUSetMarkerForContextAllocate(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, context);\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4>\n__declspec(noinline)  inline void MakeCPUSetMarkerForContextAllocate(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, context);\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5>\n__declspec(noinline)  inline void MakeCPUSetMarkerForContextAllocate(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, context);\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6>\n__declspec(noinline)  inline void MakeCPUSetMarkerForContextAllocate(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, context);\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7>\n__declspec(noinline)  inline void MakeCPUSetMarkerForContextAllocate(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, context);\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            PIXCopyEventArgument(destination, limit, a7);\n\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8>\n__declspec(noinline)  inline void MakeCPUSetMarkerForContextAllocate(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, context);\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            PIXCopyEventArgument(destination, limit, a7);\n            PIXCopyEventArgument(destination, limit, a8);\n\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9>\n__declspec(noinline)  inline void MakeCPUSetMarkerForContextAllocate(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, context);\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            PIXCopyEventArgument(destination, limit, a7);\n            PIXCopyEventArgument(destination, limit, a8);\n            PIXCopyEventArgument(destination, limit, a9);\n\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10>\n__declspec(noinline)  inline void MakeCPUSetMarkerForContextAllocate(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, context);\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            PIXCopyEventArgument(destination, limit, a7);\n            PIXCopyEventArgument(destination, limit, a8);\n            PIXCopyEventArgument(destination, limit, a9);\n            PIXCopyEventArgument(destination, limit, a10);\n\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11>\n__declspec(noinline)  inline void MakeCPUSetMarkerForContextAllocate(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, context);\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            PIXCopyEventArgument(destination, limit, a7);\n            PIXCopyEventArgument(destination, limit, a8);\n            PIXCopyEventArgument(destination, limit, a9);\n            PIXCopyEventArgument(destination, limit, a10);\n            PIXCopyEventArgument(destination, limit, a11);\n\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12>\n__declspec(noinline)  inline void MakeCPUSetMarkerForContextAllocate(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, context);\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            PIXCopyEventArgument(destination, limit, a7);\n            PIXCopyEventArgument(destination, limit, a8);\n            PIXCopyEventArgument(destination, limit, a9);\n            PIXCopyEventArgument(destination, limit, a10);\n            PIXCopyEventArgument(destination, limit, a11);\n            PIXCopyEventArgument(destination, limit, a12);\n\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13>\n__declspec(noinline)  inline void MakeCPUSetMarkerForContextAllocate(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, context);\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            PIXCopyEventArgument(destination, limit, a7);\n            PIXCopyEventArgument(destination, limit, a8);\n            PIXCopyEventArgument(destination, limit, a9);\n            PIXCopyEventArgument(destination, limit, a10);\n            PIXCopyEventArgument(destination, limit, a11);\n            PIXCopyEventArgument(destination, limit, a12);\n            PIXCopyEventArgument(destination, limit, a13);\n\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14>\n__declspec(noinline)  inline void MakeCPUSetMarkerForContextAllocate(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, context);\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            PIXCopyEventArgument(destination, limit, a7);\n            PIXCopyEventArgument(destination, limit, a8);\n            PIXCopyEventArgument(destination, limit, a9);\n            PIXCopyEventArgument(destination, limit, a10);\n            PIXCopyEventArgument(destination, limit, a11);\n            PIXCopyEventArgument(destination, limit, a12);\n            PIXCopyEventArgument(destination, limit, a13);\n            PIXCopyEventArgument(destination, limit, a14);\n\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15>\n__declspec(noinline)  inline void MakeCPUSetMarkerForContextAllocate(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, context);\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            PIXCopyEventArgument(destination, limit, a7);\n            PIXCopyEventArgument(destination, limit, a8);\n            PIXCopyEventArgument(destination, limit, a9);\n            PIXCopyEventArgument(destination, limit, a10);\n            PIXCopyEventArgument(destination, limit, a11);\n            PIXCopyEventArgument(destination, limit, a12);\n            PIXCopyEventArgument(destination, limit, a13);\n            PIXCopyEventArgument(destination, limit, a14);\n            PIXCopyEventArgument(destination, limit, a15);\n\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15, class T16>\n__declspec(noinline)  inline void MakeCPUSetMarkerForContextAllocate(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15, T16 a16)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, context);\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            PIXCopyEventArgument(destination, limit, a7);\n            PIXCopyEventArgument(destination, limit, a8);\n            PIXCopyEventArgument(destination, limit, a9);\n            PIXCopyEventArgument(destination, limit, a10);\n            PIXCopyEventArgument(destination, limit, a11);\n            PIXCopyEventArgument(destination, limit, a12);\n            PIXCopyEventArgument(destination, limit, a13);\n            PIXCopyEventArgument(destination, limit, a14);\n            PIXCopyEventArgument(destination, limit, a15);\n            PIXCopyEventArgument(destination, limit, a16);\n\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\n__declspec(noinline)  inline void MakeCPUSetMarkerForContextAllocate(UINT64 color, PVOID context, _In_ PCWSTR formatString)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_NoArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, context);\n            PIXCopyEventArgument(destination, limit, formatString);\n\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1>\n__declspec(noinline)  inline void MakeCPUSetMarkerForContextAllocate(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, context);\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2>\n__declspec(noinline)  inline void MakeCPUSetMarkerForContextAllocate(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, context);\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3>\n__declspec(noinline)  inline void MakeCPUSetMarkerForContextAllocate(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, context);\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4>\n__declspec(noinline)  inline void MakeCPUSetMarkerForContextAllocate(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, context);\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5>\n__declspec(noinline)  inline void MakeCPUSetMarkerForContextAllocate(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, context);\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6>\n__declspec(noinline)  inline void MakeCPUSetMarkerForContextAllocate(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, context);\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7>\n__declspec(noinline)  inline void MakeCPUSetMarkerForContextAllocate(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, context);\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            PIXCopyEventArgument(destination, limit, a7);\n\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8>\n__declspec(noinline)  inline void MakeCPUSetMarkerForContextAllocate(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, context);\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            PIXCopyEventArgument(destination, limit, a7);\n            PIXCopyEventArgument(destination, limit, a8);\n\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9>\n__declspec(noinline)  inline void MakeCPUSetMarkerForContextAllocate(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, context);\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            PIXCopyEventArgument(destination, limit, a7);\n            PIXCopyEventArgument(destination, limit, a8);\n            PIXCopyEventArgument(destination, limit, a9);\n\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10>\n__declspec(noinline)  inline void MakeCPUSetMarkerForContextAllocate(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, context);\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            PIXCopyEventArgument(destination, limit, a7);\n            PIXCopyEventArgument(destination, limit, a8);\n            PIXCopyEventArgument(destination, limit, a9);\n            PIXCopyEventArgument(destination, limit, a10);\n\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11>\n__declspec(noinline)  inline void MakeCPUSetMarkerForContextAllocate(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, context);\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            PIXCopyEventArgument(destination, limit, a7);\n            PIXCopyEventArgument(destination, limit, a8);\n            PIXCopyEventArgument(destination, limit, a9);\n            PIXCopyEventArgument(destination, limit, a10);\n            PIXCopyEventArgument(destination, limit, a11);\n\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12>\n__declspec(noinline)  inline void MakeCPUSetMarkerForContextAllocate(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, context);\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            PIXCopyEventArgument(destination, limit, a7);\n            PIXCopyEventArgument(destination, limit, a8);\n            PIXCopyEventArgument(destination, limit, a9);\n            PIXCopyEventArgument(destination, limit, a10);\n            PIXCopyEventArgument(destination, limit, a11);\n            PIXCopyEventArgument(destination, limit, a12);\n\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13>\n__declspec(noinline)  inline void MakeCPUSetMarkerForContextAllocate(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, context);\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            PIXCopyEventArgument(destination, limit, a7);\n            PIXCopyEventArgument(destination, limit, a8);\n            PIXCopyEventArgument(destination, limit, a9);\n            PIXCopyEventArgument(destination, limit, a10);\n            PIXCopyEventArgument(destination, limit, a11);\n            PIXCopyEventArgument(destination, limit, a12);\n            PIXCopyEventArgument(destination, limit, a13);\n\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14>\n__declspec(noinline)  inline void MakeCPUSetMarkerForContextAllocate(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, context);\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            PIXCopyEventArgument(destination, limit, a7);\n            PIXCopyEventArgument(destination, limit, a8);\n            PIXCopyEventArgument(destination, limit, a9);\n            PIXCopyEventArgument(destination, limit, a10);\n            PIXCopyEventArgument(destination, limit, a11);\n            PIXCopyEventArgument(destination, limit, a12);\n            PIXCopyEventArgument(destination, limit, a13);\n            PIXCopyEventArgument(destination, limit, a14);\n\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15>\n__declspec(noinline)  inline void MakeCPUSetMarkerForContextAllocate(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, context);\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            PIXCopyEventArgument(destination, limit, a7);\n            PIXCopyEventArgument(destination, limit, a8);\n            PIXCopyEventArgument(destination, limit, a9);\n            PIXCopyEventArgument(destination, limit, a10);\n            PIXCopyEventArgument(destination, limit, a11);\n            PIXCopyEventArgument(destination, limit, a12);\n            PIXCopyEventArgument(destination, limit, a13);\n            PIXCopyEventArgument(destination, limit, a14);\n            PIXCopyEventArgument(destination, limit, a15);\n\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15, class T16>\n__declspec(noinline)  inline void MakeCPUSetMarkerForContextAllocate(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15, T16 a16)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, context);\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            PIXCopyEventArgument(destination, limit, a7);\n            PIXCopyEventArgument(destination, limit, a8);\n            PIXCopyEventArgument(destination, limit, a9);\n            PIXCopyEventArgument(destination, limit, a10);\n            PIXCopyEventArgument(destination, limit, a11);\n            PIXCopyEventArgument(destination, limit, a12);\n            PIXCopyEventArgument(destination, limit, a13);\n            PIXCopyEventArgument(destination, limit, a14);\n            PIXCopyEventArgument(destination, limit, a15);\n            PIXCopyEventArgument(destination, limit, a16);\n\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ninline void MakeCPUSetMarkerForContext(UINT64 color, PVOID context, _In_ PCSTR formatString)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_NoArgs);\n        *destination++ = color;\n        \n        PIXCopyEventArgument(destination, limit, context);\n        PIXCopyEventArgument(destination, limit, formatString);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        MakeCPUSetMarkerForContextAllocate(color, context, formatString);\n    }\n}\n\ntemplate<class T1>\ninline void MakeCPUSetMarkerForContext(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);\n        *destination++ = color;\n        \n        PIXCopyEventArgument(destination, limit, context);\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        MakeCPUSetMarkerForContextAllocate(color, context, formatString, a1);\n    }\n}\n\ntemplate<class T1, class T2>\ninline void MakeCPUSetMarkerForContext(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);\n        *destination++ = color;\n        \n        PIXCopyEventArgument(destination, limit, context);\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        MakeCPUSetMarkerForContextAllocate(color, context, formatString, a1, a2);\n    }\n}\n\ntemplate<class T1, class T2, class T3>\ninline void MakeCPUSetMarkerForContext(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);\n        *destination++ = color;\n        \n        PIXCopyEventArgument(destination, limit, context);\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        MakeCPUSetMarkerForContextAllocate(color, context, formatString, a1, a2, a3);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4>\ninline void MakeCPUSetMarkerForContext(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);\n        *destination++ = color;\n        \n        PIXCopyEventArgument(destination, limit, context);\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        MakeCPUSetMarkerForContextAllocate(color, context, formatString, a1, a2, a3, a4);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5>\ninline void MakeCPUSetMarkerForContext(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);\n        *destination++ = color;\n        \n        PIXCopyEventArgument(destination, limit, context);\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        MakeCPUSetMarkerForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6>\ninline void MakeCPUSetMarkerForContext(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);\n        *destination++ = color;\n        \n        PIXCopyEventArgument(destination, limit, context);\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        MakeCPUSetMarkerForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7>\ninline void MakeCPUSetMarkerForContext(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);\n        *destination++ = color;\n        \n        PIXCopyEventArgument(destination, limit, context);\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n        PIXCopyEventArgument(destination, limit, a7);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        MakeCPUSetMarkerForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6, a7);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8>\ninline void MakeCPUSetMarkerForContext(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);\n        *destination++ = color;\n        \n        PIXCopyEventArgument(destination, limit, context);\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n        PIXCopyEventArgument(destination, limit, a7);\n        PIXCopyEventArgument(destination, limit, a8);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        MakeCPUSetMarkerForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6, a7, a8);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9>\ninline void MakeCPUSetMarkerForContext(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);\n        *destination++ = color;\n        \n        PIXCopyEventArgument(destination, limit, context);\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n        PIXCopyEventArgument(destination, limit, a7);\n        PIXCopyEventArgument(destination, limit, a8);\n        PIXCopyEventArgument(destination, limit, a9);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        MakeCPUSetMarkerForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10>\ninline void MakeCPUSetMarkerForContext(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);\n        *destination++ = color;\n        \n        PIXCopyEventArgument(destination, limit, context);\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n        PIXCopyEventArgument(destination, limit, a7);\n        PIXCopyEventArgument(destination, limit, a8);\n        PIXCopyEventArgument(destination, limit, a9);\n        PIXCopyEventArgument(destination, limit, a10);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        MakeCPUSetMarkerForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11>\ninline void MakeCPUSetMarkerForContext(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);\n        *destination++ = color;\n        \n        PIXCopyEventArgument(destination, limit, context);\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n        PIXCopyEventArgument(destination, limit, a7);\n        PIXCopyEventArgument(destination, limit, a8);\n        PIXCopyEventArgument(destination, limit, a9);\n        PIXCopyEventArgument(destination, limit, a10);\n        PIXCopyEventArgument(destination, limit, a11);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        MakeCPUSetMarkerForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12>\ninline void MakeCPUSetMarkerForContext(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);\n        *destination++ = color;\n        \n        PIXCopyEventArgument(destination, limit, context);\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n        PIXCopyEventArgument(destination, limit, a7);\n        PIXCopyEventArgument(destination, limit, a8);\n        PIXCopyEventArgument(destination, limit, a9);\n        PIXCopyEventArgument(destination, limit, a10);\n        PIXCopyEventArgument(destination, limit, a11);\n        PIXCopyEventArgument(destination, limit, a12);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        MakeCPUSetMarkerForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13>\ninline void MakeCPUSetMarkerForContext(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);\n        *destination++ = color;\n        \n        PIXCopyEventArgument(destination, limit, context);\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n        PIXCopyEventArgument(destination, limit, a7);\n        PIXCopyEventArgument(destination, limit, a8);\n        PIXCopyEventArgument(destination, limit, a9);\n        PIXCopyEventArgument(destination, limit, a10);\n        PIXCopyEventArgument(destination, limit, a11);\n        PIXCopyEventArgument(destination, limit, a12);\n        PIXCopyEventArgument(destination, limit, a13);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        MakeCPUSetMarkerForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14>\ninline void MakeCPUSetMarkerForContext(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);\n        *destination++ = color;\n        \n        PIXCopyEventArgument(destination, limit, context);\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n        PIXCopyEventArgument(destination, limit, a7);\n        PIXCopyEventArgument(destination, limit, a8);\n        PIXCopyEventArgument(destination, limit, a9);\n        PIXCopyEventArgument(destination, limit, a10);\n        PIXCopyEventArgument(destination, limit, a11);\n        PIXCopyEventArgument(destination, limit, a12);\n        PIXCopyEventArgument(destination, limit, a13);\n        PIXCopyEventArgument(destination, limit, a14);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        MakeCPUSetMarkerForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15>\ninline void MakeCPUSetMarkerForContext(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);\n        *destination++ = color;\n        \n        PIXCopyEventArgument(destination, limit, context);\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n        PIXCopyEventArgument(destination, limit, a7);\n        PIXCopyEventArgument(destination, limit, a8);\n        PIXCopyEventArgument(destination, limit, a9);\n        PIXCopyEventArgument(destination, limit, a10);\n        PIXCopyEventArgument(destination, limit, a11);\n        PIXCopyEventArgument(destination, limit, a12);\n        PIXCopyEventArgument(destination, limit, a13);\n        PIXCopyEventArgument(destination, limit, a14);\n        PIXCopyEventArgument(destination, limit, a15);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        MakeCPUSetMarkerForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15, class T16>\ninline void MakeCPUSetMarkerForContext(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15, T16 a16)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);\n        *destination++ = color;\n        \n        PIXCopyEventArgument(destination, limit, context);\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n        PIXCopyEventArgument(destination, limit, a7);\n        PIXCopyEventArgument(destination, limit, a8);\n        PIXCopyEventArgument(destination, limit, a9);\n        PIXCopyEventArgument(destination, limit, a10);\n        PIXCopyEventArgument(destination, limit, a11);\n        PIXCopyEventArgument(destination, limit, a12);\n        PIXCopyEventArgument(destination, limit, a13);\n        PIXCopyEventArgument(destination, limit, a14);\n        PIXCopyEventArgument(destination, limit, a15);\n        PIXCopyEventArgument(destination, limit, a16);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        MakeCPUSetMarkerForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16);\n    }\n}\n\ninline void MakeCPUSetMarkerForContext(UINT64 color, PVOID context, _In_ PCWSTR formatString)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_NoArgs);\n        *destination++ = color;\n        \n        PIXCopyEventArgument(destination, limit, context);\n        PIXCopyEventArgument(destination, limit, formatString);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        MakeCPUSetMarkerForContextAllocate(color, context, formatString);\n    }\n}\n\ntemplate<class T1>\ninline void MakeCPUSetMarkerForContext(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);\n        *destination++ = color;\n        \n        PIXCopyEventArgument(destination, limit, context);\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        MakeCPUSetMarkerForContextAllocate(color, context, formatString, a1);\n    }\n}\n\ntemplate<class T1, class T2>\ninline void MakeCPUSetMarkerForContext(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);\n        *destination++ = color;\n        \n        PIXCopyEventArgument(destination, limit, context);\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        MakeCPUSetMarkerForContextAllocate(color, context, formatString, a1, a2);\n    }\n}\n\ntemplate<class T1, class T2, class T3>\ninline void MakeCPUSetMarkerForContext(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);\n        *destination++ = color;\n        \n        PIXCopyEventArgument(destination, limit, context);\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        MakeCPUSetMarkerForContextAllocate(color, context, formatString, a1, a2, a3);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4>\ninline void MakeCPUSetMarkerForContext(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);\n        *destination++ = color;\n        \n        PIXCopyEventArgument(destination, limit, context);\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        MakeCPUSetMarkerForContextAllocate(color, context, formatString, a1, a2, a3, a4);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5>\ninline void MakeCPUSetMarkerForContext(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);\n        *destination++ = color;\n        \n        PIXCopyEventArgument(destination, limit, context);\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        MakeCPUSetMarkerForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6>\ninline void MakeCPUSetMarkerForContext(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);\n        *destination++ = color;\n        \n        PIXCopyEventArgument(destination, limit, context);\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        MakeCPUSetMarkerForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7>\ninline void MakeCPUSetMarkerForContext(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);\n        *destination++ = color;\n        \n        PIXCopyEventArgument(destination, limit, context);\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n        PIXCopyEventArgument(destination, limit, a7);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        MakeCPUSetMarkerForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6, a7);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8>\ninline void MakeCPUSetMarkerForContext(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);\n        *destination++ = color;\n        \n        PIXCopyEventArgument(destination, limit, context);\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n        PIXCopyEventArgument(destination, limit, a7);\n        PIXCopyEventArgument(destination, limit, a8);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        MakeCPUSetMarkerForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6, a7, a8);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9>\ninline void MakeCPUSetMarkerForContext(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);\n        *destination++ = color;\n        \n        PIXCopyEventArgument(destination, limit, context);\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n        PIXCopyEventArgument(destination, limit, a7);\n        PIXCopyEventArgument(destination, limit, a8);\n        PIXCopyEventArgument(destination, limit, a9);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        MakeCPUSetMarkerForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10>\ninline void MakeCPUSetMarkerForContext(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);\n        *destination++ = color;\n        \n        PIXCopyEventArgument(destination, limit, context);\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n        PIXCopyEventArgument(destination, limit, a7);\n        PIXCopyEventArgument(destination, limit, a8);\n        PIXCopyEventArgument(destination, limit, a9);\n        PIXCopyEventArgument(destination, limit, a10);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        MakeCPUSetMarkerForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11>\ninline void MakeCPUSetMarkerForContext(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);\n        *destination++ = color;\n        \n        PIXCopyEventArgument(destination, limit, context);\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n        PIXCopyEventArgument(destination, limit, a7);\n        PIXCopyEventArgument(destination, limit, a8);\n        PIXCopyEventArgument(destination, limit, a9);\n        PIXCopyEventArgument(destination, limit, a10);\n        PIXCopyEventArgument(destination, limit, a11);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        MakeCPUSetMarkerForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12>\ninline void MakeCPUSetMarkerForContext(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);\n        *destination++ = color;\n        \n        PIXCopyEventArgument(destination, limit, context);\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n        PIXCopyEventArgument(destination, limit, a7);\n        PIXCopyEventArgument(destination, limit, a8);\n        PIXCopyEventArgument(destination, limit, a9);\n        PIXCopyEventArgument(destination, limit, a10);\n        PIXCopyEventArgument(destination, limit, a11);\n        PIXCopyEventArgument(destination, limit, a12);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        MakeCPUSetMarkerForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13>\ninline void MakeCPUSetMarkerForContext(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);\n        *destination++ = color;\n        \n        PIXCopyEventArgument(destination, limit, context);\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n        PIXCopyEventArgument(destination, limit, a7);\n        PIXCopyEventArgument(destination, limit, a8);\n        PIXCopyEventArgument(destination, limit, a9);\n        PIXCopyEventArgument(destination, limit, a10);\n        PIXCopyEventArgument(destination, limit, a11);\n        PIXCopyEventArgument(destination, limit, a12);\n        PIXCopyEventArgument(destination, limit, a13);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        MakeCPUSetMarkerForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14>\ninline void MakeCPUSetMarkerForContext(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);\n        *destination++ = color;\n        \n        PIXCopyEventArgument(destination, limit, context);\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n        PIXCopyEventArgument(destination, limit, a7);\n        PIXCopyEventArgument(destination, limit, a8);\n        PIXCopyEventArgument(destination, limit, a9);\n        PIXCopyEventArgument(destination, limit, a10);\n        PIXCopyEventArgument(destination, limit, a11);\n        PIXCopyEventArgument(destination, limit, a12);\n        PIXCopyEventArgument(destination, limit, a13);\n        PIXCopyEventArgument(destination, limit, a14);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        MakeCPUSetMarkerForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15>\ninline void MakeCPUSetMarkerForContext(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);\n        *destination++ = color;\n        \n        PIXCopyEventArgument(destination, limit, context);\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n        PIXCopyEventArgument(destination, limit, a7);\n        PIXCopyEventArgument(destination, limit, a8);\n        PIXCopyEventArgument(destination, limit, a9);\n        PIXCopyEventArgument(destination, limit, a10);\n        PIXCopyEventArgument(destination, limit, a11);\n        PIXCopyEventArgument(destination, limit, a12);\n        PIXCopyEventArgument(destination, limit, a13);\n        PIXCopyEventArgument(destination, limit, a14);\n        PIXCopyEventArgument(destination, limit, a15);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        MakeCPUSetMarkerForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15, class T16>\ninline void MakeCPUSetMarkerForContext(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15, T16 a16)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_SetMarker_OnContext_VarArgs);\n        *destination++ = color;\n        \n        PIXCopyEventArgument(destination, limit, context);\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n        PIXCopyEventArgument(destination, limit, a7);\n        PIXCopyEventArgument(destination, limit, a8);\n        PIXCopyEventArgument(destination, limit, a9);\n        PIXCopyEventArgument(destination, limit, a10);\n        PIXCopyEventArgument(destination, limit, a11);\n        PIXCopyEventArgument(destination, limit, a12);\n        PIXCopyEventArgument(destination, limit, a13);\n        PIXCopyEventArgument(destination, limit, a14);\n        PIXCopyEventArgument(destination, limit, a15);\n        PIXCopyEventArgument(destination, limit, a16);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        MakeCPUSetMarkerForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16);\n    }\n}\n\n\n__declspec(noinline) inline void MakeCPUBeginEventForContextAllocate(UINT64 color, PVOID context, _In_ PCSTR formatString)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_NoArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, context);\n            PIXCopyEventArgument(destination, limit, formatString);\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1>\n__declspec(noinline) inline void MakeCPUBeginEventForContextAllocate(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, context);\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2>\n__declspec(noinline) inline void MakeCPUBeginEventForContextAllocate(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, context);\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3>\n__declspec(noinline) inline void MakeCPUBeginEventForContextAllocate(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, context);\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4>\n__declspec(noinline) inline void MakeCPUBeginEventForContextAllocate(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, context);\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5>\n__declspec(noinline) inline void MakeCPUBeginEventForContextAllocate(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, context);\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6>\n__declspec(noinline) inline void MakeCPUBeginEventForContextAllocate(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, context);\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7>\n__declspec(noinline) inline void MakeCPUBeginEventForContextAllocate(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, context);\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            PIXCopyEventArgument(destination, limit, a7);\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8>\n__declspec(noinline) inline void MakeCPUBeginEventForContextAllocate(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, context);\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            PIXCopyEventArgument(destination, limit, a7);\n            PIXCopyEventArgument(destination, limit, a8);\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9>\n__declspec(noinline) inline void MakeCPUBeginEventForContextAllocate(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, context);\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            PIXCopyEventArgument(destination, limit, a7);\n            PIXCopyEventArgument(destination, limit, a8);\n            PIXCopyEventArgument(destination, limit, a9);\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10>\n__declspec(noinline) inline void MakeCPUBeginEventForContextAllocate(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, context);\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            PIXCopyEventArgument(destination, limit, a7);\n            PIXCopyEventArgument(destination, limit, a8);\n            PIXCopyEventArgument(destination, limit, a9);\n            PIXCopyEventArgument(destination, limit, a10);\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11>\n__declspec(noinline) inline void MakeCPUBeginEventForContextAllocate(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, context);\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            PIXCopyEventArgument(destination, limit, a7);\n            PIXCopyEventArgument(destination, limit, a8);\n            PIXCopyEventArgument(destination, limit, a9);\n            PIXCopyEventArgument(destination, limit, a10);\n            PIXCopyEventArgument(destination, limit, a11);\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12>\n__declspec(noinline) inline void MakeCPUBeginEventForContextAllocate(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, context);\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            PIXCopyEventArgument(destination, limit, a7);\n            PIXCopyEventArgument(destination, limit, a8);\n            PIXCopyEventArgument(destination, limit, a9);\n            PIXCopyEventArgument(destination, limit, a10);\n            PIXCopyEventArgument(destination, limit, a11);\n            PIXCopyEventArgument(destination, limit, a12);\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13>\n__declspec(noinline) inline void MakeCPUBeginEventForContextAllocate(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, context);\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            PIXCopyEventArgument(destination, limit, a7);\n            PIXCopyEventArgument(destination, limit, a8);\n            PIXCopyEventArgument(destination, limit, a9);\n            PIXCopyEventArgument(destination, limit, a10);\n            PIXCopyEventArgument(destination, limit, a11);\n            PIXCopyEventArgument(destination, limit, a12);\n            PIXCopyEventArgument(destination, limit, a13);\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14>\n__declspec(noinline) inline void MakeCPUBeginEventForContextAllocate(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, context);\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            PIXCopyEventArgument(destination, limit, a7);\n            PIXCopyEventArgument(destination, limit, a8);\n            PIXCopyEventArgument(destination, limit, a9);\n            PIXCopyEventArgument(destination, limit, a10);\n            PIXCopyEventArgument(destination, limit, a11);\n            PIXCopyEventArgument(destination, limit, a12);\n            PIXCopyEventArgument(destination, limit, a13);\n            PIXCopyEventArgument(destination, limit, a14);\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15>\n__declspec(noinline) inline void MakeCPUBeginEventForContextAllocate(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, context);\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            PIXCopyEventArgument(destination, limit, a7);\n            PIXCopyEventArgument(destination, limit, a8);\n            PIXCopyEventArgument(destination, limit, a9);\n            PIXCopyEventArgument(destination, limit, a10);\n            PIXCopyEventArgument(destination, limit, a11);\n            PIXCopyEventArgument(destination, limit, a12);\n            PIXCopyEventArgument(destination, limit, a13);\n            PIXCopyEventArgument(destination, limit, a14);\n            PIXCopyEventArgument(destination, limit, a15);\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15, class T16>\n__declspec(noinline) inline void MakeCPUBeginEventForContextAllocate(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15, T16 a16)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, context);\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            PIXCopyEventArgument(destination, limit, a7);\n            PIXCopyEventArgument(destination, limit, a8);\n            PIXCopyEventArgument(destination, limit, a9);\n            PIXCopyEventArgument(destination, limit, a10);\n            PIXCopyEventArgument(destination, limit, a11);\n            PIXCopyEventArgument(destination, limit, a12);\n            PIXCopyEventArgument(destination, limit, a13);\n            PIXCopyEventArgument(destination, limit, a14);\n            PIXCopyEventArgument(destination, limit, a15);\n            PIXCopyEventArgument(destination, limit, a16);\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\n__declspec(noinline) inline void MakeCPUBeginEventForContextAllocate(UINT64 color, PVOID context, _In_ PCWSTR formatString)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_NoArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, context);\n            PIXCopyEventArgument(destination, limit, formatString);\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1>\n__declspec(noinline) inline void MakeCPUBeginEventForContextAllocate(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, context);\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2>\n__declspec(noinline) inline void MakeCPUBeginEventForContextAllocate(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, context);\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3>\n__declspec(noinline) inline void MakeCPUBeginEventForContextAllocate(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, context);\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4>\n__declspec(noinline) inline void MakeCPUBeginEventForContextAllocate(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, context);\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5>\n__declspec(noinline) inline void MakeCPUBeginEventForContextAllocate(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, context);\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6>\n__declspec(noinline) inline void MakeCPUBeginEventForContextAllocate(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, context);\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7>\n__declspec(noinline) inline void MakeCPUBeginEventForContextAllocate(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, context);\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            PIXCopyEventArgument(destination, limit, a7);\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8>\n__declspec(noinline) inline void MakeCPUBeginEventForContextAllocate(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, context);\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            PIXCopyEventArgument(destination, limit, a7);\n            PIXCopyEventArgument(destination, limit, a8);\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9>\n__declspec(noinline) inline void MakeCPUBeginEventForContextAllocate(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, context);\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            PIXCopyEventArgument(destination, limit, a7);\n            PIXCopyEventArgument(destination, limit, a8);\n            PIXCopyEventArgument(destination, limit, a9);\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10>\n__declspec(noinline) inline void MakeCPUBeginEventForContextAllocate(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, context);\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            PIXCopyEventArgument(destination, limit, a7);\n            PIXCopyEventArgument(destination, limit, a8);\n            PIXCopyEventArgument(destination, limit, a9);\n            PIXCopyEventArgument(destination, limit, a10);\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11>\n__declspec(noinline) inline void MakeCPUBeginEventForContextAllocate(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, context);\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            PIXCopyEventArgument(destination, limit, a7);\n            PIXCopyEventArgument(destination, limit, a8);\n            PIXCopyEventArgument(destination, limit, a9);\n            PIXCopyEventArgument(destination, limit, a10);\n            PIXCopyEventArgument(destination, limit, a11);\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12>\n__declspec(noinline) inline void MakeCPUBeginEventForContextAllocate(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, context);\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            PIXCopyEventArgument(destination, limit, a7);\n            PIXCopyEventArgument(destination, limit, a8);\n            PIXCopyEventArgument(destination, limit, a9);\n            PIXCopyEventArgument(destination, limit, a10);\n            PIXCopyEventArgument(destination, limit, a11);\n            PIXCopyEventArgument(destination, limit, a12);\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13>\n__declspec(noinline) inline void MakeCPUBeginEventForContextAllocate(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, context);\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            PIXCopyEventArgument(destination, limit, a7);\n            PIXCopyEventArgument(destination, limit, a8);\n            PIXCopyEventArgument(destination, limit, a9);\n            PIXCopyEventArgument(destination, limit, a10);\n            PIXCopyEventArgument(destination, limit, a11);\n            PIXCopyEventArgument(destination, limit, a12);\n            PIXCopyEventArgument(destination, limit, a13);\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14>\n__declspec(noinline) inline void MakeCPUBeginEventForContextAllocate(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, context);\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            PIXCopyEventArgument(destination, limit, a7);\n            PIXCopyEventArgument(destination, limit, a8);\n            PIXCopyEventArgument(destination, limit, a9);\n            PIXCopyEventArgument(destination, limit, a10);\n            PIXCopyEventArgument(destination, limit, a11);\n            PIXCopyEventArgument(destination, limit, a12);\n            PIXCopyEventArgument(destination, limit, a13);\n            PIXCopyEventArgument(destination, limit, a14);\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15>\n__declspec(noinline) inline void MakeCPUBeginEventForContextAllocate(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, context);\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            PIXCopyEventArgument(destination, limit, a7);\n            PIXCopyEventArgument(destination, limit, a8);\n            PIXCopyEventArgument(destination, limit, a9);\n            PIXCopyEventArgument(destination, limit, a10);\n            PIXCopyEventArgument(destination, limit, a11);\n            PIXCopyEventArgument(destination, limit, a12);\n            PIXCopyEventArgument(destination, limit, a13);\n            PIXCopyEventArgument(destination, limit, a14);\n            PIXCopyEventArgument(destination, limit, a15);\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15, class T16>\n__declspec(noinline) inline void MakeCPUBeginEventForContextAllocate(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15, T16 a16)\n{\n    UINT64 time = PIXEventsReplaceBlock(false);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);\n            *destination++ = color;\n\n            PIXCopyEventArgument(destination, limit, context);\n            PIXCopyEventArgument(destination, limit, formatString);\n            PIXCopyEventArgument(destination, limit, a1);\n            PIXCopyEventArgument(destination, limit, a2);\n            PIXCopyEventArgument(destination, limit, a3);\n            PIXCopyEventArgument(destination, limit, a4);\n            PIXCopyEventArgument(destination, limit, a5);\n            PIXCopyEventArgument(destination, limit, a6);\n            PIXCopyEventArgument(destination, limit, a7);\n            PIXCopyEventArgument(destination, limit, a8);\n            PIXCopyEventArgument(destination, limit, a9);\n            PIXCopyEventArgument(destination, limit, a10);\n            PIXCopyEventArgument(destination, limit, a11);\n            PIXCopyEventArgument(destination, limit, a12);\n            PIXCopyEventArgument(destination, limit, a13);\n            PIXCopyEventArgument(destination, limit, a14);\n            PIXCopyEventArgument(destination, limit, a15);\n            PIXCopyEventArgument(destination, limit, a16);\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ninline void MakeCPUBeginEventForContext(UINT64 color, PVOID context, _In_ PCSTR formatString)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_NoArgs);\n        *destination++ = color;\n        \n        PIXCopyEventArgument(destination, limit, context);\n        PIXCopyEventArgument(destination, limit, formatString);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        MakeCPUBeginEventForContextAllocate(color, context, formatString);\n    }\n}\n\ntemplate<class T1>\ninline void MakeCPUBeginEventForContext(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);\n        *destination++ = color;\n        \n        PIXCopyEventArgument(destination, limit, context);\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        MakeCPUBeginEventForContextAllocate(color, context, formatString, a1);\n    }\n}\n\ntemplate<class T1, class T2>\ninline void MakeCPUBeginEventForContext(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);\n        *destination++ = color;\n        \n        PIXCopyEventArgument(destination, limit, context);\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        MakeCPUBeginEventForContextAllocate(color, context, formatString, a1, a2);\n    }\n}\n\ntemplate<class T1, class T2, class T3>\ninline void MakeCPUBeginEventForContext(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);\n        *destination++ = color;\n        \n        PIXCopyEventArgument(destination, limit, context);\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        MakeCPUBeginEventForContextAllocate(color, context, formatString, a1, a2, a3);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4>\ninline void MakeCPUBeginEventForContext(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);\n        *destination++ = color;\n        \n        PIXCopyEventArgument(destination, limit, context);\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        MakeCPUBeginEventForContextAllocate(color, context, formatString, a1, a2, a3, a4);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5>\ninline void MakeCPUBeginEventForContext(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);\n        *destination++ = color;\n        \n        PIXCopyEventArgument(destination, limit, context);\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        MakeCPUBeginEventForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6>\ninline void MakeCPUBeginEventForContext(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);\n        *destination++ = color;\n        \n        PIXCopyEventArgument(destination, limit, context);\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        MakeCPUBeginEventForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7>\ninline void MakeCPUBeginEventForContext(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);\n        *destination++ = color;\n        \n        PIXCopyEventArgument(destination, limit, context);\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n        PIXCopyEventArgument(destination, limit, a7);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        MakeCPUBeginEventForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6, a7);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8>\ninline void MakeCPUBeginEventForContext(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);\n        *destination++ = color;\n        \n        PIXCopyEventArgument(destination, limit, context);\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n        PIXCopyEventArgument(destination, limit, a7);\n        PIXCopyEventArgument(destination, limit, a8);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        MakeCPUBeginEventForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6, a7, a8);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9>\ninline void MakeCPUBeginEventForContext(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);\n        *destination++ = color;\n        \n        PIXCopyEventArgument(destination, limit, context);\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n        PIXCopyEventArgument(destination, limit, a7);\n        PIXCopyEventArgument(destination, limit, a8);\n        PIXCopyEventArgument(destination, limit, a9);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        MakeCPUBeginEventForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10>\ninline void MakeCPUBeginEventForContext(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);\n        *destination++ = color;\n        \n        PIXCopyEventArgument(destination, limit, context);\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n        PIXCopyEventArgument(destination, limit, a7);\n        PIXCopyEventArgument(destination, limit, a8);\n        PIXCopyEventArgument(destination, limit, a9);\n        PIXCopyEventArgument(destination, limit, a10);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        MakeCPUBeginEventForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11>\ninline void MakeCPUBeginEventForContext(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);\n        *destination++ = color;\n        \n        PIXCopyEventArgument(destination, limit, context);\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n        PIXCopyEventArgument(destination, limit, a7);\n        PIXCopyEventArgument(destination, limit, a8);\n        PIXCopyEventArgument(destination, limit, a9);\n        PIXCopyEventArgument(destination, limit, a10);\n        PIXCopyEventArgument(destination, limit, a11);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        MakeCPUBeginEventForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12>\ninline void MakeCPUBeginEventForContext(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);\n        *destination++ = color;\n        \n        PIXCopyEventArgument(destination, limit, context);\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n        PIXCopyEventArgument(destination, limit, a7);\n        PIXCopyEventArgument(destination, limit, a8);\n        PIXCopyEventArgument(destination, limit, a9);\n        PIXCopyEventArgument(destination, limit, a10);\n        PIXCopyEventArgument(destination, limit, a11);\n        PIXCopyEventArgument(destination, limit, a12);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        MakeCPUBeginEventForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13>\ninline void MakeCPUBeginEventForContext(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);\n        *destination++ = color;\n        \n        PIXCopyEventArgument(destination, limit, context);\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n        PIXCopyEventArgument(destination, limit, a7);\n        PIXCopyEventArgument(destination, limit, a8);\n        PIXCopyEventArgument(destination, limit, a9);\n        PIXCopyEventArgument(destination, limit, a10);\n        PIXCopyEventArgument(destination, limit, a11);\n        PIXCopyEventArgument(destination, limit, a12);\n        PIXCopyEventArgument(destination, limit, a13);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        MakeCPUBeginEventForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14>\ninline void MakeCPUBeginEventForContext(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);\n        *destination++ = color;\n        \n        PIXCopyEventArgument(destination, limit, context);\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n        PIXCopyEventArgument(destination, limit, a7);\n        PIXCopyEventArgument(destination, limit, a8);\n        PIXCopyEventArgument(destination, limit, a9);\n        PIXCopyEventArgument(destination, limit, a10);\n        PIXCopyEventArgument(destination, limit, a11);\n        PIXCopyEventArgument(destination, limit, a12);\n        PIXCopyEventArgument(destination, limit, a13);\n        PIXCopyEventArgument(destination, limit, a14);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        MakeCPUBeginEventForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15>\ninline void MakeCPUBeginEventForContext(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);\n        *destination++ = color;\n        \n        PIXCopyEventArgument(destination, limit, context);\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n        PIXCopyEventArgument(destination, limit, a7);\n        PIXCopyEventArgument(destination, limit, a8);\n        PIXCopyEventArgument(destination, limit, a9);\n        PIXCopyEventArgument(destination, limit, a10);\n        PIXCopyEventArgument(destination, limit, a11);\n        PIXCopyEventArgument(destination, limit, a12);\n        PIXCopyEventArgument(destination, limit, a13);\n        PIXCopyEventArgument(destination, limit, a14);\n        PIXCopyEventArgument(destination, limit, a15);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        MakeCPUBeginEventForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15, class T16>\ninline void MakeCPUBeginEventForContext(UINT64 color, PVOID context, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15, T16 a16)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);\n        *destination++ = color;\n        \n        PIXCopyEventArgument(destination, limit, context);\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n        PIXCopyEventArgument(destination, limit, a7);\n        PIXCopyEventArgument(destination, limit, a8);\n        PIXCopyEventArgument(destination, limit, a9);\n        PIXCopyEventArgument(destination, limit, a10);\n        PIXCopyEventArgument(destination, limit, a11);\n        PIXCopyEventArgument(destination, limit, a12);\n        PIXCopyEventArgument(destination, limit, a13);\n        PIXCopyEventArgument(destination, limit, a14);\n        PIXCopyEventArgument(destination, limit, a15);\n        PIXCopyEventArgument(destination, limit, a16);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        MakeCPUBeginEventForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16);\n    }\n}\n\ninline void MakeCPUBeginEventForContext(UINT64 color, PVOID context, _In_ PCWSTR formatString)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_NoArgs);\n        *destination++ = color;\n        \n        PIXCopyEventArgument(destination, limit, context);\n        PIXCopyEventArgument(destination, limit, formatString);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        MakeCPUBeginEventForContextAllocate(color, context, formatString);\n    }\n}\n\ntemplate<class T1>\ninline void MakeCPUBeginEventForContext(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);\n        *destination++ = color;\n        \n        PIXCopyEventArgument(destination, limit, context);\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        MakeCPUBeginEventForContextAllocate(color, context, formatString, a1);\n    }\n}\n\ntemplate<class T1, class T2>\ninline void MakeCPUBeginEventForContext(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);\n        *destination++ = color;\n        \n        PIXCopyEventArgument(destination, limit, context);\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        MakeCPUBeginEventForContextAllocate(color, context, formatString, a1, a2);\n    }\n}\n\ntemplate<class T1, class T2, class T3>\ninline void MakeCPUBeginEventForContext(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);\n        *destination++ = color;\n        \n        PIXCopyEventArgument(destination, limit, context);\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        MakeCPUBeginEventForContextAllocate(color, context, formatString, a1, a2, a3);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4>\ninline void MakeCPUBeginEventForContext(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);\n        *destination++ = color;\n        \n        PIXCopyEventArgument(destination, limit, context);\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        MakeCPUBeginEventForContextAllocate(color, context, formatString, a1, a2, a3, a4);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5>\ninline void MakeCPUBeginEventForContext(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);\n        *destination++ = color;\n        \n        PIXCopyEventArgument(destination, limit, context);\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        MakeCPUBeginEventForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6>\ninline void MakeCPUBeginEventForContext(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);\n        *destination++ = color;\n        \n        PIXCopyEventArgument(destination, limit, context);\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        MakeCPUBeginEventForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7>\ninline void MakeCPUBeginEventForContext(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);\n        *destination++ = color;\n        \n        PIXCopyEventArgument(destination, limit, context);\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n        PIXCopyEventArgument(destination, limit, a7);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        MakeCPUBeginEventForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6, a7);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8>\ninline void MakeCPUBeginEventForContext(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);\n        *destination++ = color;\n        \n        PIXCopyEventArgument(destination, limit, context);\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n        PIXCopyEventArgument(destination, limit, a7);\n        PIXCopyEventArgument(destination, limit, a8);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        MakeCPUBeginEventForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6, a7, a8);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9>\ninline void MakeCPUBeginEventForContext(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);\n        *destination++ = color;\n        \n        PIXCopyEventArgument(destination, limit, context);\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n        PIXCopyEventArgument(destination, limit, a7);\n        PIXCopyEventArgument(destination, limit, a8);\n        PIXCopyEventArgument(destination, limit, a9);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        MakeCPUBeginEventForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10>\ninline void MakeCPUBeginEventForContext(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);\n        *destination++ = color;\n        \n        PIXCopyEventArgument(destination, limit, context);\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n        PIXCopyEventArgument(destination, limit, a7);\n        PIXCopyEventArgument(destination, limit, a8);\n        PIXCopyEventArgument(destination, limit, a9);\n        PIXCopyEventArgument(destination, limit, a10);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        MakeCPUBeginEventForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11>\ninline void MakeCPUBeginEventForContext(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);\n        *destination++ = color;\n        \n        PIXCopyEventArgument(destination, limit, context);\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n        PIXCopyEventArgument(destination, limit, a7);\n        PIXCopyEventArgument(destination, limit, a8);\n        PIXCopyEventArgument(destination, limit, a9);\n        PIXCopyEventArgument(destination, limit, a10);\n        PIXCopyEventArgument(destination, limit, a11);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        MakeCPUBeginEventForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12>\ninline void MakeCPUBeginEventForContext(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);\n        *destination++ = color;\n        \n        PIXCopyEventArgument(destination, limit, context);\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n        PIXCopyEventArgument(destination, limit, a7);\n        PIXCopyEventArgument(destination, limit, a8);\n        PIXCopyEventArgument(destination, limit, a9);\n        PIXCopyEventArgument(destination, limit, a10);\n        PIXCopyEventArgument(destination, limit, a11);\n        PIXCopyEventArgument(destination, limit, a12);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        MakeCPUBeginEventForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13>\ninline void MakeCPUBeginEventForContext(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);\n        *destination++ = color;\n        \n        PIXCopyEventArgument(destination, limit, context);\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n        PIXCopyEventArgument(destination, limit, a7);\n        PIXCopyEventArgument(destination, limit, a8);\n        PIXCopyEventArgument(destination, limit, a9);\n        PIXCopyEventArgument(destination, limit, a10);\n        PIXCopyEventArgument(destination, limit, a11);\n        PIXCopyEventArgument(destination, limit, a12);\n        PIXCopyEventArgument(destination, limit, a13);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        MakeCPUBeginEventForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14>\ninline void MakeCPUBeginEventForContext(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);\n        *destination++ = color;\n        \n        PIXCopyEventArgument(destination, limit, context);\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n        PIXCopyEventArgument(destination, limit, a7);\n        PIXCopyEventArgument(destination, limit, a8);\n        PIXCopyEventArgument(destination, limit, a9);\n        PIXCopyEventArgument(destination, limit, a10);\n        PIXCopyEventArgument(destination, limit, a11);\n        PIXCopyEventArgument(destination, limit, a12);\n        PIXCopyEventArgument(destination, limit, a13);\n        PIXCopyEventArgument(destination, limit, a14);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        MakeCPUBeginEventForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15>\ninline void MakeCPUBeginEventForContext(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);\n        *destination++ = color;\n        \n        PIXCopyEventArgument(destination, limit, context);\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n        PIXCopyEventArgument(destination, limit, a7);\n        PIXCopyEventArgument(destination, limit, a8);\n        PIXCopyEventArgument(destination, limit, a9);\n        PIXCopyEventArgument(destination, limit, a10);\n        PIXCopyEventArgument(destination, limit, a11);\n        PIXCopyEventArgument(destination, limit, a12);\n        PIXCopyEventArgument(destination, limit, a13);\n        PIXCopyEventArgument(destination, limit, a14);\n        PIXCopyEventArgument(destination, limit, a15);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        MakeCPUBeginEventForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15);\n    }\n}\n\ntemplate<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15, class T16>\ninline void MakeCPUBeginEventForContext(UINT64 color, PVOID context, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15, T16 a16)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_BeginEvent_OnContext_VarArgs);\n        *destination++ = color;\n        \n        PIXCopyEventArgument(destination, limit, context);\n        PIXCopyEventArgument(destination, limit, formatString);\n        PIXCopyEventArgument(destination, limit, a1);\n        PIXCopyEventArgument(destination, limit, a2);\n        PIXCopyEventArgument(destination, limit, a3);\n        PIXCopyEventArgument(destination, limit, a4);\n        PIXCopyEventArgument(destination, limit, a5);\n        PIXCopyEventArgument(destination, limit, a6);\n        PIXCopyEventArgument(destination, limit, a7);\n        PIXCopyEventArgument(destination, limit, a8);\n        PIXCopyEventArgument(destination, limit, a9);\n        PIXCopyEventArgument(destination, limit, a10);\n        PIXCopyEventArgument(destination, limit, a11);\n        PIXCopyEventArgument(destination, limit, a12);\n        PIXCopyEventArgument(destination, limit, a13);\n        PIXCopyEventArgument(destination, limit, a14);\n        PIXCopyEventArgument(destination, limit, a15);\n        PIXCopyEventArgument(destination, limit, a16);\n\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        MakeCPUBeginEventForContextAllocate(color, context, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16);\n    }\n}\n\n\n__declspec(noinline) inline void PIXEndEventAllocate()\n{\n    UINT64 time = PIXEventsReplaceBlock(true);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_EndEvent);\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ninline void PIXEndEvent()\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->limit;\n    if (destination < limit)\n    {\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_EndEvent);\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        PIXEndEventAllocate();\n    }\n}\n\n__declspec(noinline) inline void MakeCPUEndEventForContextAllocate(PVOID context)\n{\n    UINT64 time = PIXEventsReplaceBlock(true);\n    if (time)\n    {\n        PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n        UINT64* destination = threadInfo->destination;\n        UINT64* limit = threadInfo->limit;\n        if (destination < limit)\n        {\n            *destination++ = PIXEncodeEventInfo(time, PIXEvent_EndEvent_OnContext);\n            PIXCopyEventArgument(destination, limit, context);\n            *destination = PIXEventsBlockEndMarker;\n            threadInfo->destination = destination;\n        }\n    }\n}\n\ninline void MakeCPUEndEventForContext(PVOID context)\n{\n    PIXEventsThreadInfo* threadInfo = PIXGetThreadInfo();\n    UINT64* destination = threadInfo->destination;\n    UINT64* limit = threadInfo->biasedLimit;\n    if (destination < limit)\n    {\n        limit += PIXEventsSafeFastCopySpaceQwords;\n        UINT64 time = PIXGetTimestampCounter();\n        *destination++ = PIXEncodeEventInfo(time, PIXEvent_EndEvent_OnContext);\n        PIXCopyEventArgument(destination, limit, context);\n        *destination = PIXEventsBlockEndMarker;\n        threadInfo->destination = destination;\n    }\n    else if (limit != nullptr)\n    {\n        MakeCPUEndEventForContextAllocate(context);\n    }\n}\n\ntemplate<class TContext>\ninline void PIXEndEvent(TContext* context)\n{\n    PIXEndCPUEventOnContext(context);\n    PIXEndEventOnContext(context);\n}\n\ntemplate<class TContext>\nclass PIXScopedEventObject\n{\nprivate:\n    TContext* m_context;\n\npublic:\n    PIXScopedEventObject(TContext* context, UINT64 color, _In_ PCSTR formatString)\n        : m_context(context)\n    {\n        PIXBeginEvent(context, color, formatString);\n    }\n\n    template<class T1>\n    PIXScopedEventObject(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1)\n        : m_context(context)\n    {\n        PIXBeginEvent(context, color, formatString, a1);\n    }\n\n    template<class T1, class T2>\n    PIXScopedEventObject(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2)\n        : m_context(context)\n    {\n        PIXBeginEvent(context, color, formatString, a1, a2);\n    }\n\n    template<class T1, class T2, class T3>\n    PIXScopedEventObject(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3)\n        : m_context(context)\n    {\n        PIXBeginEvent(context, color, formatString, a1, a2, a3);\n    }\n\n    template<class T1, class T2, class T3, class T4>\n    PIXScopedEventObject(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4)\n        : m_context(context)\n    {\n        PIXBeginEvent(context, color, formatString, a1, a2, a3, a4);\n    }\n\n    template<class T1, class T2, class T3, class T4, class T5>\n    PIXScopedEventObject(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)\n        : m_context(context)\n    {\n        PIXBeginEvent(context, color, formatString, a1, a2, a3, a4, a5);\n    }\n\n    template<class T1, class T2, class T3, class T4, class T5, class T6>\n    PIXScopedEventObject(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6)\n        : m_context(context)\n    {\n        PIXBeginEvent(context, color, formatString, a1, a2, a3, a4, a5, a6);\n    }\n\n    template<class T1, class T2, class T3, class T4, class T5, class T6, class T7>\n    PIXScopedEventObject(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7)\n        : m_context(context)\n    {\n        PIXBeginEvent(context, color, formatString, a1, a2, a3, a4, a5, a6, a7);\n    }\n\n    template<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8>\n    PIXScopedEventObject(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8)\n        : m_context(context)\n    {\n        PIXBeginEvent(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8);\n    }\n\n    template<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9>\n    PIXScopedEventObject(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9)\n        : m_context(context)\n    {\n        PIXBeginEvent(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9);\n    }\n\n    template<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10>\n    PIXScopedEventObject(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10)\n        : m_context(context)\n    {\n        PIXBeginEvent(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);\n    }\n\n    template<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11>\n    PIXScopedEventObject(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11)\n        : m_context(context)\n    {\n        PIXBeginEvent(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);\n    }\n\n    template<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12>\n    PIXScopedEventObject(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12)\n        : m_context(context)\n    {\n        PIXBeginEvent(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);\n    }\n\n    template<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13>\n    PIXScopedEventObject(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13)\n        : m_context(context)\n    {\n        PIXBeginEvent(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13);\n    }\n\n    template<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14>\n    PIXScopedEventObject(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14)\n        : m_context(context)\n    {\n        PIXBeginEvent(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14);\n    }\n\n    template<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15>\n    PIXScopedEventObject(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15)\n        : m_context(context)\n    {\n        PIXBeginEvent(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15);\n    }\n\n    template<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15, class T16>\n    PIXScopedEventObject(TContext* context, UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15, T16 a16)\n        : m_context(context)\n    {\n        PIXBeginEvent(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16);\n    }\n\n    PIXScopedEventObject(TContext* context, UINT64 color, _In_ PCWSTR formatString)\n        : m_context(context)\n    {\n        PIXBeginEvent(context, color, formatString);\n    }\n\n    template<class T1>\n    PIXScopedEventObject(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1)\n        : m_context(context)\n    {\n        PIXBeginEvent(context, color, formatString, a1);\n    }\n\n    template<class T1, class T2>\n    PIXScopedEventObject(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2)\n        : m_context(context)\n    {\n        PIXBeginEvent(context, color, formatString, a1, a2);\n    }\n\n    template<class T1, class T2, class T3>\n    PIXScopedEventObject(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3)\n        : m_context(context)\n    {\n        PIXBeginEvent(context, color, formatString, a1, a2, a3);\n    }\n\n    template<class T1, class T2, class T3, class T4>\n    PIXScopedEventObject(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4)\n        : m_context(context)\n    {\n        PIXBeginEvent(context, color, formatString, a1, a2, a3, a4);\n    }\n\n    template<class T1, class T2, class T3, class T4, class T5>\n    PIXScopedEventObject(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)\n        : m_context(context)\n    {\n        PIXBeginEvent(context, color, formatString, a1, a2, a3, a4, a5);\n    }\n\n    template<class T1, class T2, class T3, class T4, class T5, class T6>\n    PIXScopedEventObject(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6)\n        : m_context(context)\n    {\n        PIXBeginEvent(context, color, formatString, a1, a2, a3, a4, a5, a6);\n    }\n\n    template<class T1, class T2, class T3, class T4, class T5, class T6, class T7>\n    PIXScopedEventObject(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7)\n        : m_context(context)\n    {\n        PIXBeginEvent(context, color, formatString, a1, a2, a3, a4, a5, a6, a7);\n    }\n\n    template<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8>\n    PIXScopedEventObject(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8)\n        : m_context(context)\n    {\n        PIXBeginEvent(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8);\n    }\n\n    template<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9>\n    PIXScopedEventObject(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9)\n        : m_context(context)\n    {\n        PIXBeginEvent(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9);\n    }\n\n    template<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10>\n    PIXScopedEventObject(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10)\n        : m_context(context)\n    {\n        PIXBeginEvent(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);\n    }\n\n    template<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11>\n    PIXScopedEventObject(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11)\n        : m_context(context)\n    {\n        PIXBeginEvent(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);\n    }\n\n    template<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12>\n    PIXScopedEventObject(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12)\n        : m_context(context)\n    {\n        PIXBeginEvent(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);\n    }\n\n    template<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13>\n    PIXScopedEventObject(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13)\n        : m_context(context)\n    {\n        PIXBeginEvent(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13);\n    }\n\n    template<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14>\n    PIXScopedEventObject(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14)\n        : m_context(context)\n    {\n        PIXBeginEvent(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14);\n    }\n\n    template<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15>\n    PIXScopedEventObject(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15)\n        : m_context(context)\n    {\n        PIXBeginEvent(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15);\n    }\n\n    template<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15, class T16>\n    PIXScopedEventObject(TContext* context, UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15, T16 a16)\n        : m_context(context)\n    {\n        PIXBeginEvent(context, color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16);\n    }\n\n    ~PIXScopedEventObject()\n    {\n        PIXEndEvent(m_context);\n    }\n};\n\ntemplate<>\nclass PIXScopedEventObject<void>\n{\npublic:\n    PIXScopedEventObject(UINT64 color, _In_ PCSTR formatString)\n    {\n        PIXBeginEvent(color, formatString);\n    }\n\n    template<class T1>\n    PIXScopedEventObject(UINT64 color, _In_ PCSTR formatString, T1 a1)\n    {\n        PIXBeginEvent(color, formatString, a1);\n    }\n\n    template<class T1, class T2>\n    PIXScopedEventObject(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2)\n    {\n        PIXBeginEvent(color, formatString, a1, a2);\n    }\n\n    template<class T1, class T2, class T3>\n    PIXScopedEventObject(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3)\n    {\n        PIXBeginEvent(color, formatString, a1, a2, a3);\n    }\n\n    template<class T1, class T2, class T3, class T4>\n    PIXScopedEventObject(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4)\n    {\n        PIXBeginEvent(color, formatString, a1, a2, a3, a4);\n    }\n\n    template<class T1, class T2, class T3, class T4, class T5>\n    PIXScopedEventObject(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)\n    {\n        PIXBeginEvent(color, formatString, a1, a2, a3, a4, a5);\n    }\n\n    template<class T1, class T2, class T3, class T4, class T5, class T6>\n    PIXScopedEventObject(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6)\n    {\n        PIXBeginEvent(color, formatString, a1, a2, a3, a4, a5, a6);\n    }\n\n    template<class T1, class T2, class T3, class T4, class T5, class T6, class T7>\n    PIXScopedEventObject(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7)\n    {\n        PIXBeginEvent(color, formatString, a1, a2, a3, a4, a5, a6, a7);\n    }\n\n    template<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8>\n    PIXScopedEventObject(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8)\n    {\n        PIXBeginEvent(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8);\n    }\n\n    template<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9>\n    PIXScopedEventObject(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9)\n    {\n        PIXBeginEvent(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9);\n    }\n\n    template<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10>\n    PIXScopedEventObject(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10)\n    {\n        PIXBeginEvent(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);\n    }\n\n    template<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11>\n    PIXScopedEventObject(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11)\n    {\n        PIXBeginEvent(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);\n    }\n\n    template<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12>\n    PIXScopedEventObject(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12)\n    {\n        PIXBeginEvent(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);\n    }\n\n    template<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13>\n    PIXScopedEventObject(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13)\n    {\n        PIXBeginEvent(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13);\n    }\n\n    template<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14>\n    PIXScopedEventObject(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14)\n    {\n        PIXBeginEvent(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14);\n    }\n\n    template<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15>\n    PIXScopedEventObject(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15)\n    {\n        PIXBeginEvent(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15);\n    }\n\n    template<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15, class T16>\n    PIXScopedEventObject(UINT64 color, _In_ PCSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15, T16 a16)\n    {\n        PIXBeginEvent(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16);\n    }\n\n    PIXScopedEventObject(UINT64 color, _In_ PCWSTR formatString)\n    {\n        PIXBeginEvent(color, formatString);\n    }\n\n    template<class T1>\n    PIXScopedEventObject(UINT64 color, _In_ PCWSTR formatString, T1 a1)\n    {\n        PIXBeginEvent(color, formatString, a1);\n    }\n\n    template<class T1, class T2>\n    PIXScopedEventObject(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2)\n    {\n        PIXBeginEvent(color, formatString, a1, a2);\n    }\n\n    template<class T1, class T2, class T3>\n    PIXScopedEventObject(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3)\n    {\n        PIXBeginEvent(color, formatString, a1, a2, a3);\n    }\n\n    template<class T1, class T2, class T3, class T4>\n    PIXScopedEventObject(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4)\n    {\n        PIXBeginEvent(color, formatString, a1, a2, a3, a4);\n    }\n\n    template<class T1, class T2, class T3, class T4, class T5>\n    PIXScopedEventObject(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)\n    {\n        PIXBeginEvent(color, formatString, a1, a2, a3, a4, a5);\n    }\n\n    template<class T1, class T2, class T3, class T4, class T5, class T6>\n    PIXScopedEventObject(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6)\n    {\n        PIXBeginEvent(color, formatString, a1, a2, a3, a4, a5, a6);\n    }\n\n    template<class T1, class T2, class T3, class T4, class T5, class T6, class T7>\n    PIXScopedEventObject(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7)\n    {\n        PIXBeginEvent(color, formatString, a1, a2, a3, a4, a5, a6, a7);\n    }\n\n    template<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8>\n    PIXScopedEventObject(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8)\n    {\n        PIXBeginEvent(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8);\n    }\n\n    template<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9>\n    PIXScopedEventObject(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9)\n    {\n        PIXBeginEvent(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9);\n    }\n\n    template<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10>\n    PIXScopedEventObject(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10)\n    {\n        PIXBeginEvent(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);\n    }\n\n    template<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11>\n    PIXScopedEventObject(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11)\n    {\n        PIXBeginEvent(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);\n    }\n\n    template<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12>\n    PIXScopedEventObject(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12)\n    {\n        PIXBeginEvent(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);\n    }\n\n    template<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13>\n    PIXScopedEventObject(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13)\n    {\n        PIXBeginEvent(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13);\n    }\n\n    template<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14>\n    PIXScopedEventObject(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14)\n    {\n        PIXBeginEvent(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14);\n    }\n\n    template<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15>\n    PIXScopedEventObject(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15)\n    {\n        PIXBeginEvent(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15);\n    }\n\n    template<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15, class T16>\n    PIXScopedEventObject(UINT64 color, _In_ PCWSTR formatString, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10, T11 a11, T12 a12, T13 a13, T14 a14, T15 a15, T16 a16)\n    {\n        PIXBeginEvent(color, formatString, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16);\n    }\n\n    ~PIXScopedEventObject()\n    {\n        PIXEndEvent();\n    }\n};\n\n#define PIXConcatenate(a, b) a ## b\n#define PIXGetScopedEventVariableName(a, b) PIXConcatenate(a, b)\n#define PIXScopedEvent(context, ...) PIXScopedEventObject<PIXInferScopedEventType<decltype(context)>::Type> PIXGetScopedEventVariableName(pixEvent, __LINE__)(context, __VA_ARGS__)\n\n#endif\n"
  },
  {
    "path": "external/D3D12/include/d3d12.h",
    "content": "/*-------------------------------------------------------------------------------------\n *\n * Copyright (c) Microsoft Corporation\n *\n *-------------------------------------------------------------------------------------*/\n\n\n/* this ALWAYS GENERATED file contains the definitions for the interfaces */\n\n\n /* File created by MIDL compiler version 8.01.0618 */\n\n\n\n/* verify that the <rpcndr.h> version is high enough to compile this file*/\n#ifndef __REQUIRED_RPCNDR_H_VERSION__\n#define __REQUIRED_RPCNDR_H_VERSION__ 500\n#endif\n\n/* verify that the <rpcsal.h> version is high enough to compile this file*/\n#ifndef __REQUIRED_RPCSAL_H_VERSION__\n#define __REQUIRED_RPCSAL_H_VERSION__ 100\n#endif\n\n#include \"rpc.h\"\n#include \"rpcndr.h\"\n\n#ifndef __RPCNDR_H_VERSION__\n#error this stub requires an updated version of <rpcndr.h>\n#endif /* __RPCNDR_H_VERSION__ */\n\n#ifndef COM_NO_WINDOWS_H\n#include \"windows.h\"\n#include \"ole2.h\"\n#endif /*COM_NO_WINDOWS_H*/\n\n#ifndef __d3d12_h__\n#define __d3d12_h__\n\n#if defined(_MSC_VER) && (_MSC_VER >= 1020)\n#pragma once\n#endif\n\n/* Forward Declarations */ \n\n#ifndef __ID3D12Object_FWD_DEFINED__\n#define __ID3D12Object_FWD_DEFINED__\ntypedef interface ID3D12Object ID3D12Object;\n\n#endif \t/* __ID3D12Object_FWD_DEFINED__ */\n\n\n#ifndef __ID3D12DeviceChild_FWD_DEFINED__\n#define __ID3D12DeviceChild_FWD_DEFINED__\ntypedef interface ID3D12DeviceChild ID3D12DeviceChild;\n\n#endif \t/* __ID3D12DeviceChild_FWD_DEFINED__ */\n\n\n#ifndef __ID3D12RootSignature_FWD_DEFINED__\n#define __ID3D12RootSignature_FWD_DEFINED__\ntypedef interface ID3D12RootSignature ID3D12RootSignature;\n\n#endif \t/* __ID3D12RootSignature_FWD_DEFINED__ */\n\n\n#ifndef __ID3D12RootSignatureDeserializer_FWD_DEFINED__\n#define __ID3D12RootSignatureDeserializer_FWD_DEFINED__\ntypedef interface ID3D12RootSignatureDeserializer ID3D12RootSignatureDeserializer;\n\n#endif \t/* __ID3D12RootSignatureDeserializer_FWD_DEFINED__ */\n\n\n#ifndef __ID3D12VersionedRootSignatureDeserializer_FWD_DEFINED__\n#define __ID3D12VersionedRootSignatureDeserializer_FWD_DEFINED__\ntypedef interface ID3D12VersionedRootSignatureDeserializer ID3D12VersionedRootSignatureDeserializer;\n\n#endif \t/* __ID3D12VersionedRootSignatureDeserializer_FWD_DEFINED__ */\n\n\n#ifndef __ID3D12Pageable_FWD_DEFINED__\n#define __ID3D12Pageable_FWD_DEFINED__\ntypedef interface ID3D12Pageable ID3D12Pageable;\n\n#endif \t/* __ID3D12Pageable_FWD_DEFINED__ */\n\n\n#ifndef __ID3D12Heap_FWD_DEFINED__\n#define __ID3D12Heap_FWD_DEFINED__\ntypedef interface ID3D12Heap ID3D12Heap;\n\n#endif \t/* __ID3D12Heap_FWD_DEFINED__ */\n\n\n#ifndef __ID3D12Resource_FWD_DEFINED__\n#define __ID3D12Resource_FWD_DEFINED__\ntypedef interface ID3D12Resource ID3D12Resource;\n\n#endif \t/* __ID3D12Resource_FWD_DEFINED__ */\n\n\n#ifndef __ID3D12CommandAllocator_FWD_DEFINED__\n#define __ID3D12CommandAllocator_FWD_DEFINED__\ntypedef interface ID3D12CommandAllocator ID3D12CommandAllocator;\n\n#endif \t/* __ID3D12CommandAllocator_FWD_DEFINED__ */\n\n\n#ifndef __ID3D12Fence_FWD_DEFINED__\n#define __ID3D12Fence_FWD_DEFINED__\ntypedef interface ID3D12Fence ID3D12Fence;\n\n#endif \t/* __ID3D12Fence_FWD_DEFINED__ */\n\n\n#ifndef __ID3D12PipelineState_FWD_DEFINED__\n#define __ID3D12PipelineState_FWD_DEFINED__\ntypedef interface ID3D12PipelineState ID3D12PipelineState;\n\n#endif \t/* __ID3D12PipelineState_FWD_DEFINED__ */\n\n\n#ifndef __ID3D12DescriptorHeap_FWD_DEFINED__\n#define __ID3D12DescriptorHeap_FWD_DEFINED__\ntypedef interface ID3D12DescriptorHeap ID3D12DescriptorHeap;\n\n#endif \t/* __ID3D12DescriptorHeap_FWD_DEFINED__ */\n\n\n#ifndef __ID3D12QueryHeap_FWD_DEFINED__\n#define __ID3D12QueryHeap_FWD_DEFINED__\ntypedef interface ID3D12QueryHeap ID3D12QueryHeap;\n\n#endif \t/* __ID3D12QueryHeap_FWD_DEFINED__ */\n\n\n#ifndef __ID3D12CommandSignature_FWD_DEFINED__\n#define __ID3D12CommandSignature_FWD_DEFINED__\ntypedef interface ID3D12CommandSignature ID3D12CommandSignature;\n\n#endif \t/* __ID3D12CommandSignature_FWD_DEFINED__ */\n\n\n#ifndef __ID3D12CommandList_FWD_DEFINED__\n#define __ID3D12CommandList_FWD_DEFINED__\ntypedef interface ID3D12CommandList ID3D12CommandList;\n\n#endif \t/* __ID3D12CommandList_FWD_DEFINED__ */\n\n\n#ifndef __ID3D12GraphicsCommandList_FWD_DEFINED__\n#define __ID3D12GraphicsCommandList_FWD_DEFINED__\ntypedef interface ID3D12GraphicsCommandList ID3D12GraphicsCommandList;\n\n#endif \t/* __ID3D12GraphicsCommandList_FWD_DEFINED__ */\n\n\n#ifndef __ID3D12CommandQueue_FWD_DEFINED__\n#define __ID3D12CommandQueue_FWD_DEFINED__\ntypedef interface ID3D12CommandQueue ID3D12CommandQueue;\n\n#endif \t/* __ID3D12CommandQueue_FWD_DEFINED__ */\n\n\n#ifndef __ID3D12Device_FWD_DEFINED__\n#define __ID3D12Device_FWD_DEFINED__\ntypedef interface ID3D12Device ID3D12Device;\n\n#endif \t/* __ID3D12Device_FWD_DEFINED__ */\n\n\n#ifndef __ID3D12PipelineLibrary_FWD_DEFINED__\n#define __ID3D12PipelineLibrary_FWD_DEFINED__\ntypedef interface ID3D12PipelineLibrary ID3D12PipelineLibrary;\n\n#endif \t/* __ID3D12PipelineLibrary_FWD_DEFINED__ */\n\n\n#ifndef __ID3D12Device1_FWD_DEFINED__\n#define __ID3D12Device1_FWD_DEFINED__\ntypedef interface ID3D12Device1 ID3D12Device1;\n\n#endif \t/* __ID3D12Device1_FWD_DEFINED__ */\n\n\n/* header files for imported files */\n#include \"oaidl.h\"\n#include \"ocidl.h\"\n#include \"dxgi.h\"\n#include \"d3dcommon.h\"\n\n#ifdef __cplusplus\nextern \"C\"{\n#endif \n\n\n/* interface __MIDL_itf_d3d12_0000_0000 */\n/* [local] */ \n\n#include <winapifamily.h>\n#pragma region App Family\n#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)\n#ifndef _D3D12_CONSTANTS\n#define _D3D12_CONSTANTS\n#define\tD3D12_16BIT_INDEX_STRIP_CUT_VALUE\t( 0xffff )\n\n#define\tD3D12_32BIT_INDEX_STRIP_CUT_VALUE\t( 0xffffffff )\n\n#define\tD3D12_8BIT_INDEX_STRIP_CUT_VALUE\t( 0xff )\n\n#define\tD3D12_APPEND_ALIGNED_ELEMENT\t( 0xffffffff )\n\n#define\tD3D12_ARRAY_AXIS_ADDRESS_RANGE_BIT_COUNT\t( 9 )\n\n#define\tD3D12_CLIP_OR_CULL_DISTANCE_COUNT\t( 8 )\n\n#define\tD3D12_CLIP_OR_CULL_DISTANCE_ELEMENT_COUNT\t( 2 )\n\n#define\tD3D12_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT\t( 14 )\n\n#define\tD3D12_COMMONSHADER_CONSTANT_BUFFER_COMPONENTS\t( 4 )\n\n#define\tD3D12_COMMONSHADER_CONSTANT_BUFFER_COMPONENT_BIT_COUNT\t( 32 )\n\n#define\tD3D12_COMMONSHADER_CONSTANT_BUFFER_HW_SLOT_COUNT\t( 15 )\n\n#define\tD3D12_COMMONSHADER_CONSTANT_BUFFER_PARTIAL_UPDATE_EXTENTS_BYTE_ALIGNMENT\t( 16 )\n\n#define\tD3D12_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COMPONENTS\t( 4 )\n\n#define\tD3D12_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COUNT\t( 15 )\n\n#define\tD3D12_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READS_PER_INST\t( 1 )\n\n#define\tD3D12_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READ_PORTS\t( 1 )\n\n#define\tD3D12_COMMONSHADER_FLOWCONTROL_NESTING_LIMIT\t( 64 )\n\n#define\tD3D12_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COMPONENTS\t( 4 )\n\n#define\tD3D12_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COUNT\t( 1 )\n\n#define\tD3D12_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READS_PER_INST\t( 1 )\n\n#define\tD3D12_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READ_PORTS\t( 1 )\n\n#define\tD3D12_COMMONSHADER_IMMEDIATE_VALUE_COMPONENT_BIT_COUNT\t( 32 )\n\n#define\tD3D12_COMMONSHADER_INPUT_RESOURCE_REGISTER_COMPONENTS\t( 1 )\n\n#define\tD3D12_COMMONSHADER_INPUT_RESOURCE_REGISTER_COUNT\t( 128 )\n\n#define\tD3D12_COMMONSHADER_INPUT_RESOURCE_REGISTER_READS_PER_INST\t( 1 )\n\n#define\tD3D12_COMMONSHADER_INPUT_RESOURCE_REGISTER_READ_PORTS\t( 1 )\n\n#define\tD3D12_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT\t( 128 )\n\n#define\tD3D12_COMMONSHADER_SAMPLER_REGISTER_COMPONENTS\t( 1 )\n\n#define\tD3D12_COMMONSHADER_SAMPLER_REGISTER_COUNT\t( 16 )\n\n#define\tD3D12_COMMONSHADER_SAMPLER_REGISTER_READS_PER_INST\t( 1 )\n\n#define\tD3D12_COMMONSHADER_SAMPLER_REGISTER_READ_PORTS\t( 1 )\n\n#define\tD3D12_COMMONSHADER_SAMPLER_SLOT_COUNT\t( 16 )\n\n#define\tD3D12_COMMONSHADER_SUBROUTINE_NESTING_LIMIT\t( 32 )\n\n#define\tD3D12_COMMONSHADER_TEMP_REGISTER_COMPONENTS\t( 4 )\n\n#define\tD3D12_COMMONSHADER_TEMP_REGISTER_COMPONENT_BIT_COUNT\t( 32 )\n\n#define\tD3D12_COMMONSHADER_TEMP_REGISTER_COUNT\t( 4096 )\n\n#define\tD3D12_COMMONSHADER_TEMP_REGISTER_READS_PER_INST\t( 3 )\n\n#define\tD3D12_COMMONSHADER_TEMP_REGISTER_READ_PORTS\t( 3 )\n\n#define\tD3D12_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MAX\t( 10 )\n\n#define\tD3D12_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MIN\t( -10 )\n\n#define\tD3D12_COMMONSHADER_TEXEL_OFFSET_MAX_NEGATIVE\t( -8 )\n\n#define\tD3D12_COMMONSHADER_TEXEL_OFFSET_MAX_POSITIVE\t( 7 )\n\n#define\tD3D12_CONSTANT_BUFFER_DATA_PLACEMENT_ALIGNMENT\t( 256 )\n\n#define\tD3D12_CS_4_X_BUCKET00_MAX_BYTES_TGSM_WRITABLE_PER_THREAD\t( 256 )\n\n#define\tD3D12_CS_4_X_BUCKET00_MAX_NUM_THREADS_PER_GROUP\t( 64 )\n\n#define\tD3D12_CS_4_X_BUCKET01_MAX_BYTES_TGSM_WRITABLE_PER_THREAD\t( 240 )\n\n#define\tD3D12_CS_4_X_BUCKET01_MAX_NUM_THREADS_PER_GROUP\t( 68 )\n\n#define\tD3D12_CS_4_X_BUCKET02_MAX_BYTES_TGSM_WRITABLE_PER_THREAD\t( 224 )\n\n#define\tD3D12_CS_4_X_BUCKET02_MAX_NUM_THREADS_PER_GROUP\t( 72 )\n\n#define\tD3D12_CS_4_X_BUCKET03_MAX_BYTES_TGSM_WRITABLE_PER_THREAD\t( 208 )\n\n#define\tD3D12_CS_4_X_BUCKET03_MAX_NUM_THREADS_PER_GROUP\t( 76 )\n\n#define\tD3D12_CS_4_X_BUCKET04_MAX_BYTES_TGSM_WRITABLE_PER_THREAD\t( 192 )\n\n#define\tD3D12_CS_4_X_BUCKET04_MAX_NUM_THREADS_PER_GROUP\t( 84 )\n\n#define\tD3D12_CS_4_X_BUCKET05_MAX_BYTES_TGSM_WRITABLE_PER_THREAD\t( 176 )\n\n#define\tD3D12_CS_4_X_BUCKET05_MAX_NUM_THREADS_PER_GROUP\t( 92 )\n\n#define\tD3D12_CS_4_X_BUCKET06_MAX_BYTES_TGSM_WRITABLE_PER_THREAD\t( 160 )\n\n#define\tD3D12_CS_4_X_BUCKET06_MAX_NUM_THREADS_PER_GROUP\t( 100 )\n\n#define\tD3D12_CS_4_X_BUCKET07_MAX_BYTES_TGSM_WRITABLE_PER_THREAD\t( 144 )\n\n#define\tD3D12_CS_4_X_BUCKET07_MAX_NUM_THREADS_PER_GROUP\t( 112 )\n\n#define\tD3D12_CS_4_X_BUCKET08_MAX_BYTES_TGSM_WRITABLE_PER_THREAD\t( 128 )\n\n#define\tD3D12_CS_4_X_BUCKET08_MAX_NUM_THREADS_PER_GROUP\t( 128 )\n\n#define\tD3D12_CS_4_X_BUCKET09_MAX_BYTES_TGSM_WRITABLE_PER_THREAD\t( 112 )\n\n#define\tD3D12_CS_4_X_BUCKET09_MAX_NUM_THREADS_PER_GROUP\t( 144 )\n\n#define\tD3D12_CS_4_X_BUCKET10_MAX_BYTES_TGSM_WRITABLE_PER_THREAD\t( 96 )\n\n#define\tD3D12_CS_4_X_BUCKET10_MAX_NUM_THREADS_PER_GROUP\t( 168 )\n\n#define\tD3D12_CS_4_X_BUCKET11_MAX_BYTES_TGSM_WRITABLE_PER_THREAD\t( 80 )\n\n#define\tD3D12_CS_4_X_BUCKET11_MAX_NUM_THREADS_PER_GROUP\t( 204 )\n\n#define\tD3D12_CS_4_X_BUCKET12_MAX_BYTES_TGSM_WRITABLE_PER_THREAD\t( 64 )\n\n#define\tD3D12_CS_4_X_BUCKET12_MAX_NUM_THREADS_PER_GROUP\t( 256 )\n\n#define\tD3D12_CS_4_X_BUCKET13_MAX_BYTES_TGSM_WRITABLE_PER_THREAD\t( 48 )\n\n#define\tD3D12_CS_4_X_BUCKET13_MAX_NUM_THREADS_PER_GROUP\t( 340 )\n\n#define\tD3D12_CS_4_X_BUCKET14_MAX_BYTES_TGSM_WRITABLE_PER_THREAD\t( 32 )\n\n#define\tD3D12_CS_4_X_BUCKET14_MAX_NUM_THREADS_PER_GROUP\t( 512 )\n\n#define\tD3D12_CS_4_X_BUCKET15_MAX_BYTES_TGSM_WRITABLE_PER_THREAD\t( 16 )\n\n#define\tD3D12_CS_4_X_BUCKET15_MAX_NUM_THREADS_PER_GROUP\t( 768 )\n\n#define\tD3D12_CS_4_X_DISPATCH_MAX_THREAD_GROUPS_IN_Z_DIMENSION\t( 1 )\n\n#define\tD3D12_CS_4_X_RAW_UAV_BYTE_ALIGNMENT\t( 256 )\n\n#define\tD3D12_CS_4_X_THREAD_GROUP_MAX_THREADS_PER_GROUP\t( 768 )\n\n#define\tD3D12_CS_4_X_THREAD_GROUP_MAX_X\t( 768 )\n\n#define\tD3D12_CS_4_X_THREAD_GROUP_MAX_Y\t( 768 )\n\n#define\tD3D12_CS_4_X_UAV_REGISTER_COUNT\t( 1 )\n\n#define\tD3D12_CS_DISPATCH_MAX_THREAD_GROUPS_PER_DIMENSION\t( 65535 )\n\n#define\tD3D12_CS_TGSM_REGISTER_COUNT\t( 8192 )\n\n#define\tD3D12_CS_TGSM_REGISTER_READS_PER_INST\t( 1 )\n\n#define\tD3D12_CS_TGSM_RESOURCE_REGISTER_COMPONENTS\t( 1 )\n\n#define\tD3D12_CS_TGSM_RESOURCE_REGISTER_READ_PORTS\t( 1 )\n\n#define\tD3D12_CS_THREADGROUPID_REGISTER_COMPONENTS\t( 3 )\n\n#define\tD3D12_CS_THREADGROUPID_REGISTER_COUNT\t( 1 )\n\n#define\tD3D12_CS_THREADIDINGROUPFLATTENED_REGISTER_COMPONENTS\t( 1 )\n\n#define\tD3D12_CS_THREADIDINGROUPFLATTENED_REGISTER_COUNT\t( 1 )\n\n#define\tD3D12_CS_THREADIDINGROUP_REGISTER_COMPONENTS\t( 3 )\n\n#define\tD3D12_CS_THREADIDINGROUP_REGISTER_COUNT\t( 1 )\n\n#define\tD3D12_CS_THREADID_REGISTER_COMPONENTS\t( 3 )\n\n#define\tD3D12_CS_THREADID_REGISTER_COUNT\t( 1 )\n\n#define\tD3D12_CS_THREAD_GROUP_MAX_THREADS_PER_GROUP\t( 1024 )\n\n#define\tD3D12_CS_THREAD_GROUP_MAX_X\t( 1024 )\n\n#define\tD3D12_CS_THREAD_GROUP_MAX_Y\t( 1024 )\n\n#define\tD3D12_CS_THREAD_GROUP_MAX_Z\t( 64 )\n\n#define\tD3D12_CS_THREAD_GROUP_MIN_X\t( 1 )\n\n#define\tD3D12_CS_THREAD_GROUP_MIN_Y\t( 1 )\n\n#define\tD3D12_CS_THREAD_GROUP_MIN_Z\t( 1 )\n\n#define\tD3D12_CS_THREAD_LOCAL_TEMP_REGISTER_POOL\t( 16384 )\n\n#define D3D12_DEFAULT_BLEND_FACTOR_ALPHA\t( 1.0f )\n#define D3D12_DEFAULT_BLEND_FACTOR_BLUE\t( 1.0f )\n#define D3D12_DEFAULT_BLEND_FACTOR_GREEN\t( 1.0f )\n#define D3D12_DEFAULT_BLEND_FACTOR_RED\t( 1.0f )\n#define D3D12_DEFAULT_BORDER_COLOR_COMPONENT\t( 0.0f )\n#define\tD3D12_DEFAULT_DEPTH_BIAS\t( 0 )\n\n#define D3D12_DEFAULT_DEPTH_BIAS_CLAMP\t( 0.0f )\n#define\tD3D12_DEFAULT_MAX_ANISOTROPY\t( 16 )\n\n#define D3D12_DEFAULT_MIP_LOD_BIAS\t( 0.0f )\n#define\tD3D12_DEFAULT_MSAA_RESOURCE_PLACEMENT_ALIGNMENT\t( 4194304 )\n\n#define\tD3D12_DEFAULT_RENDER_TARGET_ARRAY_INDEX\t( 0 )\n\n#define\tD3D12_DEFAULT_RESOURCE_PLACEMENT_ALIGNMENT\t( 65536 )\n\n#define\tD3D12_DEFAULT_SAMPLE_MASK\t( 0xffffffff )\n\n#define\tD3D12_DEFAULT_SCISSOR_ENDX\t( 0 )\n\n#define\tD3D12_DEFAULT_SCISSOR_ENDY\t( 0 )\n\n#define\tD3D12_DEFAULT_SCISSOR_STARTX\t( 0 )\n\n#define\tD3D12_DEFAULT_SCISSOR_STARTY\t( 0 )\n\n#define D3D12_DEFAULT_SLOPE_SCALED_DEPTH_BIAS\t( 0.0f )\n#define\tD3D12_DEFAULT_STENCIL_READ_MASK\t( 0xff )\n\n#define\tD3D12_DEFAULT_STENCIL_REFERENCE\t( 0 )\n\n#define\tD3D12_DEFAULT_STENCIL_WRITE_MASK\t( 0xff )\n\n#define\tD3D12_DEFAULT_VIEWPORT_AND_SCISSORRECT_INDEX\t( 0 )\n\n#define\tD3D12_DEFAULT_VIEWPORT_HEIGHT\t( 0 )\n\n#define D3D12_DEFAULT_VIEWPORT_MAX_DEPTH\t( 0.0f )\n#define D3D12_DEFAULT_VIEWPORT_MIN_DEPTH\t( 0.0f )\n#define\tD3D12_DEFAULT_VIEWPORT_TOPLEFTX\t( 0 )\n\n#define\tD3D12_DEFAULT_VIEWPORT_TOPLEFTY\t( 0 )\n\n#define\tD3D12_DEFAULT_VIEWPORT_WIDTH\t( 0 )\n\n#define\tD3D12_DESCRIPTOR_RANGE_OFFSET_APPEND\t( 0xffffffff )\n\n#define\tD3D12_DRIVER_RESERVED_REGISTER_SPACE_VALUES_END\t( 0xfffffff7 )\n\n#define\tD3D12_DRIVER_RESERVED_REGISTER_SPACE_VALUES_START\t( 0xfffffff0 )\n\n#define\tD3D12_DS_INPUT_CONTROL_POINTS_MAX_TOTAL_SCALARS\t( 3968 )\n\n#define\tD3D12_DS_INPUT_CONTROL_POINT_REGISTER_COMPONENTS\t( 4 )\n\n#define\tD3D12_DS_INPUT_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT\t( 32 )\n\n#define\tD3D12_DS_INPUT_CONTROL_POINT_REGISTER_COUNT\t( 32 )\n\n#define\tD3D12_DS_INPUT_CONTROL_POINT_REGISTER_READS_PER_INST\t( 2 )\n\n#define\tD3D12_DS_INPUT_CONTROL_POINT_REGISTER_READ_PORTS\t( 1 )\n\n#define\tD3D12_DS_INPUT_DOMAIN_POINT_REGISTER_COMPONENTS\t( 3 )\n\n#define\tD3D12_DS_INPUT_DOMAIN_POINT_REGISTER_COMPONENT_BIT_COUNT\t( 32 )\n\n#define\tD3D12_DS_INPUT_DOMAIN_POINT_REGISTER_COUNT\t( 1 )\n\n#define\tD3D12_DS_INPUT_DOMAIN_POINT_REGISTER_READS_PER_INST\t( 2 )\n\n#define\tD3D12_DS_INPUT_DOMAIN_POINT_REGISTER_READ_PORTS\t( 1 )\n\n#define\tD3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_COMPONENTS\t( 4 )\n\n#define\tD3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_COMPONENT_BIT_COUNT\t( 32 )\n\n#define\tD3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_COUNT\t( 32 )\n\n#define\tD3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_READS_PER_INST\t( 2 )\n\n#define\tD3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_READ_PORTS\t( 1 )\n\n#define\tD3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENTS\t( 1 )\n\n#define\tD3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENT_BIT_COUNT\t( 32 )\n\n#define\tD3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_COUNT\t( 1 )\n\n#define\tD3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_READS_PER_INST\t( 2 )\n\n#define\tD3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_READ_PORTS\t( 1 )\n\n#define\tD3D12_DS_OUTPUT_REGISTER_COMPONENTS\t( 4 )\n\n#define\tD3D12_DS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT\t( 32 )\n\n#define\tD3D12_DS_OUTPUT_REGISTER_COUNT\t( 32 )\n\n#define D3D12_FLOAT16_FUSED_TOLERANCE_IN_ULP\t( 0.6 )\n#define D3D12_FLOAT32_MAX\t( 3.402823466e+38f )\n#define D3D12_FLOAT32_TO_INTEGER_TOLERANCE_IN_ULP\t( 0.6f )\n#define D3D12_FLOAT_TO_SRGB_EXPONENT_DENOMINATOR\t( 2.4f )\n#define D3D12_FLOAT_TO_SRGB_EXPONENT_NUMERATOR\t( 1.0f )\n#define D3D12_FLOAT_TO_SRGB_OFFSET\t( 0.055f )\n#define D3D12_FLOAT_TO_SRGB_SCALE_1\t( 12.92f )\n#define D3D12_FLOAT_TO_SRGB_SCALE_2\t( 1.055f )\n#define D3D12_FLOAT_TO_SRGB_THRESHOLD\t( 0.0031308f )\n#define D3D12_FTOI_INSTRUCTION_MAX_INPUT\t( 2147483647.999f )\n#define D3D12_FTOI_INSTRUCTION_MIN_INPUT\t( -2147483648.999f )\n#define D3D12_FTOU_INSTRUCTION_MAX_INPUT\t( 4294967295.999f )\n#define D3D12_FTOU_INSTRUCTION_MIN_INPUT\t( 0.0f )\n#define\tD3D12_GS_INPUT_INSTANCE_ID_READS_PER_INST\t( 2 )\n\n#define\tD3D12_GS_INPUT_INSTANCE_ID_READ_PORTS\t( 1 )\n\n#define\tD3D12_GS_INPUT_INSTANCE_ID_REGISTER_COMPONENTS\t( 1 )\n\n#define\tD3D12_GS_INPUT_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT\t( 32 )\n\n#define\tD3D12_GS_INPUT_INSTANCE_ID_REGISTER_COUNT\t( 1 )\n\n#define\tD3D12_GS_INPUT_PRIM_CONST_REGISTER_COMPONENTS\t( 1 )\n\n#define\tD3D12_GS_INPUT_PRIM_CONST_REGISTER_COMPONENT_BIT_COUNT\t( 32 )\n\n#define\tD3D12_GS_INPUT_PRIM_CONST_REGISTER_COUNT\t( 1 )\n\n#define\tD3D12_GS_INPUT_PRIM_CONST_REGISTER_READS_PER_INST\t( 2 )\n\n#define\tD3D12_GS_INPUT_PRIM_CONST_REGISTER_READ_PORTS\t( 1 )\n\n#define\tD3D12_GS_INPUT_REGISTER_COMPONENTS\t( 4 )\n\n#define\tD3D12_GS_INPUT_REGISTER_COMPONENT_BIT_COUNT\t( 32 )\n\n#define\tD3D12_GS_INPUT_REGISTER_COUNT\t( 32 )\n\n#define\tD3D12_GS_INPUT_REGISTER_READS_PER_INST\t( 2 )\n\n#define\tD3D12_GS_INPUT_REGISTER_READ_PORTS\t( 1 )\n\n#define\tD3D12_GS_INPUT_REGISTER_VERTICES\t( 32 )\n\n#define\tD3D12_GS_MAX_INSTANCE_COUNT\t( 32 )\n\n#define\tD3D12_GS_MAX_OUTPUT_VERTEX_COUNT_ACROSS_INSTANCES\t( 1024 )\n\n#define\tD3D12_GS_OUTPUT_ELEMENTS\t( 32 )\n\n#define\tD3D12_GS_OUTPUT_REGISTER_COMPONENTS\t( 4 )\n\n#define\tD3D12_GS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT\t( 32 )\n\n#define\tD3D12_GS_OUTPUT_REGISTER_COUNT\t( 32 )\n\n#define\tD3D12_HS_CONTROL_POINT_PHASE_INPUT_REGISTER_COUNT\t( 32 )\n\n#define\tD3D12_HS_CONTROL_POINT_PHASE_OUTPUT_REGISTER_COUNT\t( 32 )\n\n#define\tD3D12_HS_CONTROL_POINT_REGISTER_COMPONENTS\t( 4 )\n\n#define\tD3D12_HS_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT\t( 32 )\n\n#define\tD3D12_HS_CONTROL_POINT_REGISTER_READS_PER_INST\t( 2 )\n\n#define\tD3D12_HS_CONTROL_POINT_REGISTER_READ_PORTS\t( 1 )\n\n#define\tD3D12_HS_FORK_PHASE_INSTANCE_COUNT_UPPER_BOUND\t( 0xffffffff )\n\n#define\tD3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COMPONENTS\t( 1 )\n\n#define\tD3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT\t( 32 )\n\n#define\tD3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COUNT\t( 1 )\n\n#define\tD3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_READS_PER_INST\t( 2 )\n\n#define\tD3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_READ_PORTS\t( 1 )\n\n#define\tD3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COMPONENTS\t( 1 )\n\n#define\tD3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT\t( 32 )\n\n#define\tD3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COUNT\t( 1 )\n\n#define\tD3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_READS_PER_INST\t( 2 )\n\n#define\tD3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_READ_PORTS\t( 1 )\n\n#define\tD3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENTS\t( 1 )\n\n#define\tD3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENT_BIT_COUNT\t( 32 )\n\n#define\tD3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_COUNT\t( 1 )\n\n#define\tD3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_READS_PER_INST\t( 2 )\n\n#define\tD3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_READ_PORTS\t( 1 )\n\n#define\tD3D12_HS_JOIN_PHASE_INSTANCE_COUNT_UPPER_BOUND\t( 0xffffffff )\n\n#define D3D12_HS_MAXTESSFACTOR_LOWER_BOUND\t( 1.0f )\n#define D3D12_HS_MAXTESSFACTOR_UPPER_BOUND\t( 64.0f )\n#define\tD3D12_HS_OUTPUT_CONTROL_POINTS_MAX_TOTAL_SCALARS\t( 3968 )\n\n#define\tD3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COMPONENTS\t( 1 )\n\n#define\tD3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COMPONENT_BIT_COUNT\t( 32 )\n\n#define\tD3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COUNT\t( 1 )\n\n#define\tD3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_READS_PER_INST\t( 2 )\n\n#define\tD3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_READ_PORTS\t( 1 )\n\n#define\tD3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COMPONENTS\t( 4 )\n\n#define\tD3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COMPONENT_BIT_COUNT\t( 32 )\n\n#define\tD3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COUNT\t( 32 )\n\n#define\tD3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_READS_PER_INST\t( 2 )\n\n#define\tD3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_READ_PORTS\t( 1 )\n\n#define\tD3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_SCALAR_COMPONENTS\t( 128 )\n\n#define\tD3D12_IA_DEFAULT_INDEX_BUFFER_OFFSET_IN_BYTES\t( 0 )\n\n#define\tD3D12_IA_DEFAULT_PRIMITIVE_TOPOLOGY\t( 0 )\n\n#define\tD3D12_IA_DEFAULT_VERTEX_BUFFER_OFFSET_IN_BYTES\t( 0 )\n\n#define\tD3D12_IA_INDEX_INPUT_RESOURCE_SLOT_COUNT\t( 1 )\n\n#define\tD3D12_IA_INSTANCE_ID_BIT_COUNT\t( 32 )\n\n#define\tD3D12_IA_INTEGER_ARITHMETIC_BIT_COUNT\t( 32 )\n\n#define\tD3D12_IA_PATCH_MAX_CONTROL_POINT_COUNT\t( 32 )\n\n#define\tD3D12_IA_PRIMITIVE_ID_BIT_COUNT\t( 32 )\n\n#define\tD3D12_IA_VERTEX_ID_BIT_COUNT\t( 32 )\n\n#define\tD3D12_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT\t( 32 )\n\n#define\tD3D12_IA_VERTEX_INPUT_STRUCTURE_ELEMENTS_COMPONENTS\t( 128 )\n\n#define\tD3D12_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT\t( 32 )\n\n#define\tD3D12_INTEGER_DIVIDE_BY_ZERO_QUOTIENT\t( 0xffffffff )\n\n#define\tD3D12_INTEGER_DIVIDE_BY_ZERO_REMAINDER\t( 0xffffffff )\n\n#define\tD3D12_KEEP_RENDER_TARGETS_AND_DEPTH_STENCIL\t( 0xffffffff )\n\n#define\tD3D12_KEEP_UNORDERED_ACCESS_VIEWS\t( 0xffffffff )\n\n#define D3D12_LINEAR_GAMMA\t( 1.0f )\n#define\tD3D12_MAJOR_VERSION\t( 12 )\n\n#define D3D12_MAX_BORDER_COLOR_COMPONENT\t( 1.0f )\n#define D3D12_MAX_DEPTH\t( 1.0f )\n#define\tD3D12_MAX_LIVE_STATIC_SAMPLERS\t( 2032 )\n\n#define\tD3D12_MAX_MAXANISOTROPY\t( 16 )\n\n#define\tD3D12_MAX_MULTISAMPLE_SAMPLE_COUNT\t( 32 )\n\n#define D3D12_MAX_POSITION_VALUE\t( 3.402823466e+34f )\n#define\tD3D12_MAX_ROOT_COST\t( 64 )\n\n#define\tD3D12_MAX_SHADER_VISIBLE_DESCRIPTOR_HEAP_SIZE_TIER_1\t( 1000000 )\n\n#define\tD3D12_MAX_SHADER_VISIBLE_DESCRIPTOR_HEAP_SIZE_TIER_2\t( 1000000 )\n\n#define\tD3D12_MAX_SHADER_VISIBLE_SAMPLER_HEAP_SIZE\t( 2048 )\n\n#define\tD3D12_MAX_TEXTURE_DIMENSION_2_TO_EXP\t( 17 )\n\n#define\tD3D12_MINOR_VERSION\t( 0 )\n\n#define D3D12_MIN_BORDER_COLOR_COMPONENT\t( 0.0f )\n#define D3D12_MIN_DEPTH\t( 0.0f )\n#define\tD3D12_MIN_MAXANISOTROPY\t( 0 )\n\n#define D3D12_MIP_LOD_BIAS_MAX\t( 15.99f )\n#define D3D12_MIP_LOD_BIAS_MIN\t( -16.0f )\n#define\tD3D12_MIP_LOD_FRACTIONAL_BIT_COUNT\t( 8 )\n\n#define\tD3D12_MIP_LOD_RANGE_BIT_COUNT\t( 8 )\n\n#define D3D12_MULTISAMPLE_ANTIALIAS_LINE_WIDTH\t( 1.4f )\n#define\tD3D12_NONSAMPLE_FETCH_OUT_OF_RANGE_ACCESS_RESULT\t( 0 )\n\n#define\tD3D12_OS_RESERVED_REGISTER_SPACE_VALUES_END\t( 0xffffffff )\n\n#define\tD3D12_OS_RESERVED_REGISTER_SPACE_VALUES_START\t( 0xfffffff8 )\n\n#define\tD3D12_PACKED_TILE\t( 0xffffffff )\n\n#define\tD3D12_PIXEL_ADDRESS_RANGE_BIT_COUNT\t( 15 )\n\n#define\tD3D12_PRE_SCISSOR_PIXEL_ADDRESS_RANGE_BIT_COUNT\t( 16 )\n\n#define\tD3D12_PS_CS_UAV_REGISTER_COMPONENTS\t( 1 )\n\n#define\tD3D12_PS_CS_UAV_REGISTER_COUNT\t( 8 )\n\n#define\tD3D12_PS_CS_UAV_REGISTER_READS_PER_INST\t( 1 )\n\n#define\tD3D12_PS_CS_UAV_REGISTER_READ_PORTS\t( 1 )\n\n#define\tD3D12_PS_FRONTFACING_DEFAULT_VALUE\t( 0xffffffff )\n\n#define\tD3D12_PS_FRONTFACING_FALSE_VALUE\t( 0 )\n\n#define\tD3D12_PS_FRONTFACING_TRUE_VALUE\t( 0xffffffff )\n\n#define\tD3D12_PS_INPUT_REGISTER_COMPONENTS\t( 4 )\n\n#define\tD3D12_PS_INPUT_REGISTER_COMPONENT_BIT_COUNT\t( 32 )\n\n#define\tD3D12_PS_INPUT_REGISTER_COUNT\t( 32 )\n\n#define\tD3D12_PS_INPUT_REGISTER_READS_PER_INST\t( 2 )\n\n#define\tD3D12_PS_INPUT_REGISTER_READ_PORTS\t( 1 )\n\n#define D3D12_PS_LEGACY_PIXEL_CENTER_FRACTIONAL_COMPONENT\t( 0.0f )\n#define\tD3D12_PS_OUTPUT_DEPTH_REGISTER_COMPONENTS\t( 1 )\n\n#define\tD3D12_PS_OUTPUT_DEPTH_REGISTER_COMPONENT_BIT_COUNT\t( 32 )\n\n#define\tD3D12_PS_OUTPUT_DEPTH_REGISTER_COUNT\t( 1 )\n\n#define\tD3D12_PS_OUTPUT_MASK_REGISTER_COMPONENTS\t( 1 )\n\n#define\tD3D12_PS_OUTPUT_MASK_REGISTER_COMPONENT_BIT_COUNT\t( 32 )\n\n#define\tD3D12_PS_OUTPUT_MASK_REGISTER_COUNT\t( 1 )\n\n#define\tD3D12_PS_OUTPUT_REGISTER_COMPONENTS\t( 4 )\n\n#define\tD3D12_PS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT\t( 32 )\n\n#define\tD3D12_PS_OUTPUT_REGISTER_COUNT\t( 8 )\n\n#define D3D12_PS_PIXEL_CENTER_FRACTIONAL_COMPONENT\t( 0.5f )\n#define\tD3D12_RAW_UAV_SRV_BYTE_ALIGNMENT\t( 16 )\n\n#define\tD3D12_REQ_BLEND_OBJECT_COUNT_PER_DEVICE\t( 4096 )\n\n#define\tD3D12_REQ_BUFFER_RESOURCE_TEXEL_COUNT_2_TO_EXP\t( 27 )\n\n#define\tD3D12_REQ_CONSTANT_BUFFER_ELEMENT_COUNT\t( 4096 )\n\n#define\tD3D12_REQ_DEPTH_STENCIL_OBJECT_COUNT_PER_DEVICE\t( 4096 )\n\n#define\tD3D12_REQ_DRAWINDEXED_INDEX_COUNT_2_TO_EXP\t( 32 )\n\n#define\tD3D12_REQ_DRAW_VERTEX_COUNT_2_TO_EXP\t( 32 )\n\n#define\tD3D12_REQ_FILTERING_HW_ADDRESSABLE_RESOURCE_DIMENSION\t( 16384 )\n\n#define\tD3D12_REQ_GS_INVOCATION_32BIT_OUTPUT_COMPONENT_LIMIT\t( 1024 )\n\n#define\tD3D12_REQ_IMMEDIATE_CONSTANT_BUFFER_ELEMENT_COUNT\t( 4096 )\n\n#define\tD3D12_REQ_MAXANISOTROPY\t( 16 )\n\n#define\tD3D12_REQ_MIP_LEVELS\t( 15 )\n\n#define\tD3D12_REQ_MULTI_ELEMENT_STRUCTURE_SIZE_IN_BYTES\t( 2048 )\n\n#define\tD3D12_REQ_RASTERIZER_OBJECT_COUNT_PER_DEVICE\t( 4096 )\n\n#define\tD3D12_REQ_RENDER_TO_BUFFER_WINDOW_WIDTH\t( 16384 )\n\n#define\tD3D12_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_A_TERM\t( 128 )\n\n#define D3D12_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_B_TERM\t( 0.25f )\n#define\tD3D12_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_C_TERM\t( 2048 )\n\n#define\tD3D12_REQ_RESOURCE_VIEW_COUNT_PER_DEVICE_2_TO_EXP\t( 20 )\n\n#define\tD3D12_REQ_SAMPLER_OBJECT_COUNT_PER_DEVICE\t( 4096 )\n\n#define\tD3D12_REQ_SUBRESOURCES\t( 30720 )\n\n#define\tD3D12_REQ_TEXTURE1D_ARRAY_AXIS_DIMENSION\t( 2048 )\n\n#define\tD3D12_REQ_TEXTURE1D_U_DIMENSION\t( 16384 )\n\n#define\tD3D12_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION\t( 2048 )\n\n#define\tD3D12_REQ_TEXTURE2D_U_OR_V_DIMENSION\t( 16384 )\n\n#define\tD3D12_REQ_TEXTURE3D_U_V_OR_W_DIMENSION\t( 2048 )\n\n#define\tD3D12_REQ_TEXTURECUBE_DIMENSION\t( 16384 )\n\n#define\tD3D12_RESINFO_INSTRUCTION_MISSING_COMPONENT_RETVAL\t( 0 )\n\n#define\tD3D12_RESOURCE_BARRIER_ALL_SUBRESOURCES\t( 0xffffffff )\n\n#define\tD3D12_SHADER_MAJOR_VERSION\t( 5 )\n\n#define\tD3D12_SHADER_MAX_INSTANCES\t( 65535 )\n\n#define\tD3D12_SHADER_MAX_INTERFACES\t( 253 )\n\n#define\tD3D12_SHADER_MAX_INTERFACE_CALL_SITES\t( 4096 )\n\n#define\tD3D12_SHADER_MAX_TYPES\t( 65535 )\n\n#define\tD3D12_SHADER_MINOR_VERSION\t( 1 )\n\n#define\tD3D12_SHIFT_INSTRUCTION_PAD_VALUE\t( 0 )\n\n#define\tD3D12_SHIFT_INSTRUCTION_SHIFT_VALUE_BIT_COUNT\t( 5 )\n\n#define\tD3D12_SIMULTANEOUS_RENDER_TARGET_COUNT\t( 8 )\n\n#define\tD3D12_SMALL_MSAA_RESOURCE_PLACEMENT_ALIGNMENT\t( 65536 )\n\n#define\tD3D12_SMALL_RESOURCE_PLACEMENT_ALIGNMENT\t( 4096 )\n\n#define\tD3D12_SO_BUFFER_MAX_STRIDE_IN_BYTES\t( 2048 )\n\n#define\tD3D12_SO_BUFFER_MAX_WRITE_WINDOW_IN_BYTES\t( 512 )\n\n#define\tD3D12_SO_BUFFER_SLOT_COUNT\t( 4 )\n\n#define\tD3D12_SO_DDI_REGISTER_INDEX_DENOTING_GAP\t( 0xffffffff )\n\n#define\tD3D12_SO_NO_RASTERIZED_STREAM\t( 0xffffffff )\n\n#define\tD3D12_SO_OUTPUT_COMPONENT_COUNT\t( 128 )\n\n#define\tD3D12_SO_STREAM_COUNT\t( 4 )\n\n#define\tD3D12_SPEC_DATE_DAY\t( 14 )\n\n#define\tD3D12_SPEC_DATE_MONTH\t( 11 )\n\n#define\tD3D12_SPEC_DATE_YEAR\t( 2014 )\n\n#define D3D12_SPEC_VERSION\t( 1.16 )\n#define D3D12_SRGB_GAMMA\t( 2.2f )\n#define D3D12_SRGB_TO_FLOAT_DENOMINATOR_1\t( 12.92f )\n#define D3D12_SRGB_TO_FLOAT_DENOMINATOR_2\t( 1.055f )\n#define D3D12_SRGB_TO_FLOAT_EXPONENT\t( 2.4f )\n#define D3D12_SRGB_TO_FLOAT_OFFSET\t( 0.055f )\n#define D3D12_SRGB_TO_FLOAT_THRESHOLD\t( 0.04045f )\n#define D3D12_SRGB_TO_FLOAT_TOLERANCE_IN_ULP\t( 0.5f )\n#define\tD3D12_STANDARD_COMPONENT_BIT_COUNT\t( 32 )\n\n#define\tD3D12_STANDARD_COMPONENT_BIT_COUNT_DOUBLED\t( 64 )\n\n#define\tD3D12_STANDARD_MAXIMUM_ELEMENT_ALIGNMENT_BYTE_MULTIPLE\t( 4 )\n\n#define\tD3D12_STANDARD_PIXEL_COMPONENT_COUNT\t( 128 )\n\n#define\tD3D12_STANDARD_PIXEL_ELEMENT_COUNT\t( 32 )\n\n#define\tD3D12_STANDARD_VECTOR_SIZE\t( 4 )\n\n#define\tD3D12_STANDARD_VERTEX_ELEMENT_COUNT\t( 32 )\n\n#define\tD3D12_STANDARD_VERTEX_TOTAL_COMPONENT_COUNT\t( 64 )\n\n#define\tD3D12_SUBPIXEL_FRACTIONAL_BIT_COUNT\t( 8 )\n\n#define\tD3D12_SUBTEXEL_FRACTIONAL_BIT_COUNT\t( 8 )\n\n#define\tD3D12_SYSTEM_RESERVED_REGISTER_SPACE_VALUES_END\t( 0xffffffff )\n\n#define\tD3D12_SYSTEM_RESERVED_REGISTER_SPACE_VALUES_START\t( 0xfffffff0 )\n\n#define\tD3D12_TESSELLATOR_MAX_EVEN_TESSELLATION_FACTOR\t( 64 )\n\n#define\tD3D12_TESSELLATOR_MAX_ISOLINE_DENSITY_TESSELLATION_FACTOR\t( 64 )\n\n#define\tD3D12_TESSELLATOR_MAX_ODD_TESSELLATION_FACTOR\t( 63 )\n\n#define\tD3D12_TESSELLATOR_MAX_TESSELLATION_FACTOR\t( 64 )\n\n#define\tD3D12_TESSELLATOR_MIN_EVEN_TESSELLATION_FACTOR\t( 2 )\n\n#define\tD3D12_TESSELLATOR_MIN_ISOLINE_DENSITY_TESSELLATION_FACTOR\t( 1 )\n\n#define\tD3D12_TESSELLATOR_MIN_ODD_TESSELLATION_FACTOR\t( 1 )\n\n#define\tD3D12_TEXEL_ADDRESS_RANGE_BIT_COUNT\t( 16 )\n\n#define\tD3D12_TEXTURE_DATA_PITCH_ALIGNMENT\t( 256 )\n\n#define\tD3D12_TEXTURE_DATA_PLACEMENT_ALIGNMENT\t( 512 )\n\n#define\tD3D12_TILED_RESOURCE_TILE_SIZE_IN_BYTES\t( 65536 )\n\n#define\tD3D12_UAV_COUNTER_PLACEMENT_ALIGNMENT\t( 4096 )\n\n#define\tD3D12_UAV_SLOT_COUNT\t( 64 )\n\n#define\tD3D12_UNBOUND_MEMORY_ACCESS_RESULT\t( 0 )\n\n#define\tD3D12_VIEWPORT_AND_SCISSORRECT_MAX_INDEX\t( 15 )\n\n#define\tD3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE\t( 16 )\n\n#define\tD3D12_VIEWPORT_BOUNDS_MAX\t( 32767 )\n\n#define\tD3D12_VIEWPORT_BOUNDS_MIN\t( -32768 )\n\n#define\tD3D12_VS_INPUT_REGISTER_COMPONENTS\t( 4 )\n\n#define\tD3D12_VS_INPUT_REGISTER_COMPONENT_BIT_COUNT\t( 32 )\n\n#define\tD3D12_VS_INPUT_REGISTER_COUNT\t( 32 )\n\n#define\tD3D12_VS_INPUT_REGISTER_READS_PER_INST\t( 2 )\n\n#define\tD3D12_VS_INPUT_REGISTER_READ_PORTS\t( 1 )\n\n#define\tD3D12_VS_OUTPUT_REGISTER_COMPONENTS\t( 4 )\n\n#define\tD3D12_VS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT\t( 32 )\n\n#define\tD3D12_VS_OUTPUT_REGISTER_COUNT\t( 32 )\n\n#define\tD3D12_WHQL_CONTEXT_COUNT_FOR_RESOURCE_LIMIT\t( 10 )\n\n#define\tD3D12_WHQL_DRAWINDEXED_INDEX_COUNT_2_TO_EXP\t( 25 )\n\n#define\tD3D12_WHQL_DRAW_VERTEX_COUNT_2_TO_EXP\t( 25 )\n\n#endif\n\ntypedef UINT64 D3D12_GPU_VIRTUAL_ADDRESS;\n\ntypedef \nenum D3D12_COMMAND_LIST_TYPE\n    {\n        D3D12_COMMAND_LIST_TYPE_DIRECT\t= 0,\n        D3D12_COMMAND_LIST_TYPE_BUNDLE\t= 1,\n        D3D12_COMMAND_LIST_TYPE_COMPUTE\t= 2,\n        D3D12_COMMAND_LIST_TYPE_COPY\t= 3\n    } \tD3D12_COMMAND_LIST_TYPE;\n\ntypedef \nenum D3D12_COMMAND_QUEUE_FLAGS\n    {\n        D3D12_COMMAND_QUEUE_FLAG_NONE\t= 0,\n        D3D12_COMMAND_QUEUE_FLAG_DISABLE_GPU_TIMEOUT\t= 0x1\n    } \tD3D12_COMMAND_QUEUE_FLAGS;\n\nDEFINE_ENUM_FLAG_OPERATORS( D3D12_COMMAND_QUEUE_FLAGS );\ntypedef \nenum D3D12_COMMAND_QUEUE_PRIORITY\n    {\n        D3D12_COMMAND_QUEUE_PRIORITY_NORMAL\t= 0,\n        D3D12_COMMAND_QUEUE_PRIORITY_HIGH\t= 100\n    } \tD3D12_COMMAND_QUEUE_PRIORITY;\n\ntypedef struct D3D12_COMMAND_QUEUE_DESC\n    {\n    D3D12_COMMAND_LIST_TYPE Type;\n    INT Priority;\n    D3D12_COMMAND_QUEUE_FLAGS Flags;\n    UINT NodeMask;\n    } \tD3D12_COMMAND_QUEUE_DESC;\n\ntypedef \nenum D3D12_PRIMITIVE_TOPOLOGY_TYPE\n    {\n        D3D12_PRIMITIVE_TOPOLOGY_TYPE_UNDEFINED\t= 0,\n        D3D12_PRIMITIVE_TOPOLOGY_TYPE_POINT\t= 1,\n        D3D12_PRIMITIVE_TOPOLOGY_TYPE_LINE\t= 2,\n        D3D12_PRIMITIVE_TOPOLOGY_TYPE_TRIANGLE\t= 3,\n        D3D12_PRIMITIVE_TOPOLOGY_TYPE_PATCH\t= 4\n    } \tD3D12_PRIMITIVE_TOPOLOGY_TYPE;\n\ntypedef \nenum D3D12_INPUT_CLASSIFICATION\n    {\n        D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA\t= 0,\n        D3D12_INPUT_CLASSIFICATION_PER_INSTANCE_DATA\t= 1\n    } \tD3D12_INPUT_CLASSIFICATION;\n\ntypedef struct D3D12_INPUT_ELEMENT_DESC\n    {\n    LPCSTR SemanticName;\n    UINT SemanticIndex;\n    DXGI_FORMAT Format;\n    UINT InputSlot;\n    UINT AlignedByteOffset;\n    D3D12_INPUT_CLASSIFICATION InputSlotClass;\n    UINT InstanceDataStepRate;\n    } \tD3D12_INPUT_ELEMENT_DESC;\n\ntypedef \nenum D3D12_FILL_MODE\n    {\n        D3D12_FILL_MODE_WIREFRAME\t= 2,\n        D3D12_FILL_MODE_SOLID\t= 3\n    } \tD3D12_FILL_MODE;\n\ntypedef D3D_PRIMITIVE_TOPOLOGY D3D12_PRIMITIVE_TOPOLOGY;\n\ntypedef D3D_PRIMITIVE D3D12_PRIMITIVE;\n\ntypedef \nenum D3D12_CULL_MODE\n    {\n        D3D12_CULL_MODE_NONE\t= 1,\n        D3D12_CULL_MODE_FRONT\t= 2,\n        D3D12_CULL_MODE_BACK\t= 3\n    } \tD3D12_CULL_MODE;\n\ntypedef struct D3D12_SO_DECLARATION_ENTRY\n    {\n    UINT Stream;\n    LPCSTR SemanticName;\n    UINT SemanticIndex;\n    BYTE StartComponent;\n    BYTE ComponentCount;\n    BYTE OutputSlot;\n    } \tD3D12_SO_DECLARATION_ENTRY;\n\ntypedef struct D3D12_VIEWPORT\n    {\n    FLOAT TopLeftX;\n    FLOAT TopLeftY;\n    FLOAT Width;\n    FLOAT Height;\n    FLOAT MinDepth;\n    FLOAT MaxDepth;\n    } \tD3D12_VIEWPORT;\n\ntypedef RECT D3D12_RECT;\n\ntypedef struct D3D12_BOX\n    {\n    UINT left;\n    UINT top;\n    UINT front;\n    UINT right;\n    UINT bottom;\n    UINT back;\n    } \tD3D12_BOX;\n\ntypedef \nenum D3D12_COMPARISON_FUNC\n    {\n        D3D12_COMPARISON_FUNC_NEVER\t= 1,\n        D3D12_COMPARISON_FUNC_LESS\t= 2,\n        D3D12_COMPARISON_FUNC_EQUAL\t= 3,\n        D3D12_COMPARISON_FUNC_LESS_EQUAL\t= 4,\n        D3D12_COMPARISON_FUNC_GREATER\t= 5,\n        D3D12_COMPARISON_FUNC_NOT_EQUAL\t= 6,\n        D3D12_COMPARISON_FUNC_GREATER_EQUAL\t= 7,\n        D3D12_COMPARISON_FUNC_ALWAYS\t= 8\n    } \tD3D12_COMPARISON_FUNC;\n\ntypedef \nenum D3D12_DEPTH_WRITE_MASK\n    {\n        D3D12_DEPTH_WRITE_MASK_ZERO\t= 0,\n        D3D12_DEPTH_WRITE_MASK_ALL\t= 1\n    } \tD3D12_DEPTH_WRITE_MASK;\n\ntypedef \nenum D3D12_STENCIL_OP\n    {\n        D3D12_STENCIL_OP_KEEP\t= 1,\n        D3D12_STENCIL_OP_ZERO\t= 2,\n        D3D12_STENCIL_OP_REPLACE\t= 3,\n        D3D12_STENCIL_OP_INCR_SAT\t= 4,\n        D3D12_STENCIL_OP_DECR_SAT\t= 5,\n        D3D12_STENCIL_OP_INVERT\t= 6,\n        D3D12_STENCIL_OP_INCR\t= 7,\n        D3D12_STENCIL_OP_DECR\t= 8\n    } \tD3D12_STENCIL_OP;\n\ntypedef struct D3D12_DEPTH_STENCILOP_DESC\n    {\n    D3D12_STENCIL_OP StencilFailOp;\n    D3D12_STENCIL_OP StencilDepthFailOp;\n    D3D12_STENCIL_OP StencilPassOp;\n    D3D12_COMPARISON_FUNC StencilFunc;\n    } \tD3D12_DEPTH_STENCILOP_DESC;\n\ntypedef struct D3D12_DEPTH_STENCIL_DESC\n    {\n    BOOL DepthEnable;\n    D3D12_DEPTH_WRITE_MASK DepthWriteMask;\n    D3D12_COMPARISON_FUNC DepthFunc;\n    BOOL StencilEnable;\n    UINT8 StencilReadMask;\n    UINT8 StencilWriteMask;\n    D3D12_DEPTH_STENCILOP_DESC FrontFace;\n    D3D12_DEPTH_STENCILOP_DESC BackFace;\n    } \tD3D12_DEPTH_STENCIL_DESC;\n\ntypedef \nenum D3D12_BLEND\n    {\n        D3D12_BLEND_ZERO\t= 1,\n        D3D12_BLEND_ONE\t= 2,\n        D3D12_BLEND_SRC_COLOR\t= 3,\n        D3D12_BLEND_INV_SRC_COLOR\t= 4,\n        D3D12_BLEND_SRC_ALPHA\t= 5,\n        D3D12_BLEND_INV_SRC_ALPHA\t= 6,\n        D3D12_BLEND_DEST_ALPHA\t= 7,\n        D3D12_BLEND_INV_DEST_ALPHA\t= 8,\n        D3D12_BLEND_DEST_COLOR\t= 9,\n        D3D12_BLEND_INV_DEST_COLOR\t= 10,\n        D3D12_BLEND_SRC_ALPHA_SAT\t= 11,\n        D3D12_BLEND_BLEND_FACTOR\t= 14,\n        D3D12_BLEND_INV_BLEND_FACTOR\t= 15,\n        D3D12_BLEND_SRC1_COLOR\t= 16,\n        D3D12_BLEND_INV_SRC1_COLOR\t= 17,\n        D3D12_BLEND_SRC1_ALPHA\t= 18,\n        D3D12_BLEND_INV_SRC1_ALPHA\t= 19\n    } \tD3D12_BLEND;\n\ntypedef \nenum D3D12_BLEND_OP\n    {\n        D3D12_BLEND_OP_ADD\t= 1,\n        D3D12_BLEND_OP_SUBTRACT\t= 2,\n        D3D12_BLEND_OP_REV_SUBTRACT\t= 3,\n        D3D12_BLEND_OP_MIN\t= 4,\n        D3D12_BLEND_OP_MAX\t= 5\n    } \tD3D12_BLEND_OP;\n\ntypedef \nenum D3D12_COLOR_WRITE_ENABLE\n    {\n        D3D12_COLOR_WRITE_ENABLE_RED\t= 1,\n        D3D12_COLOR_WRITE_ENABLE_GREEN\t= 2,\n        D3D12_COLOR_WRITE_ENABLE_BLUE\t= 4,\n        D3D12_COLOR_WRITE_ENABLE_ALPHA\t= 8,\n        D3D12_COLOR_WRITE_ENABLE_ALL\t= ( ( ( D3D12_COLOR_WRITE_ENABLE_RED | D3D12_COLOR_WRITE_ENABLE_GREEN )  | D3D12_COLOR_WRITE_ENABLE_BLUE )  | D3D12_COLOR_WRITE_ENABLE_ALPHA ) \n    } \tD3D12_COLOR_WRITE_ENABLE;\n\ntypedef \nenum D3D12_LOGIC_OP\n    {\n        D3D12_LOGIC_OP_CLEAR\t= 0,\n        D3D12_LOGIC_OP_SET\t= ( D3D12_LOGIC_OP_CLEAR + 1 ) ,\n        D3D12_LOGIC_OP_COPY\t= ( D3D12_LOGIC_OP_SET + 1 ) ,\n        D3D12_LOGIC_OP_COPY_INVERTED\t= ( D3D12_LOGIC_OP_COPY + 1 ) ,\n        D3D12_LOGIC_OP_NOOP\t= ( D3D12_LOGIC_OP_COPY_INVERTED + 1 ) ,\n        D3D12_LOGIC_OP_INVERT\t= ( D3D12_LOGIC_OP_NOOP + 1 ) ,\n        D3D12_LOGIC_OP_AND\t= ( D3D12_LOGIC_OP_INVERT + 1 ) ,\n        D3D12_LOGIC_OP_NAND\t= ( D3D12_LOGIC_OP_AND + 1 ) ,\n        D3D12_LOGIC_OP_OR\t= ( D3D12_LOGIC_OP_NAND + 1 ) ,\n        D3D12_LOGIC_OP_NOR\t= ( D3D12_LOGIC_OP_OR + 1 ) ,\n        D3D12_LOGIC_OP_XOR\t= ( D3D12_LOGIC_OP_NOR + 1 ) ,\n        D3D12_LOGIC_OP_EQUIV\t= ( D3D12_LOGIC_OP_XOR + 1 ) ,\n        D3D12_LOGIC_OP_AND_REVERSE\t= ( D3D12_LOGIC_OP_EQUIV + 1 ) ,\n        D3D12_LOGIC_OP_AND_INVERTED\t= ( D3D12_LOGIC_OP_AND_REVERSE + 1 ) ,\n        D3D12_LOGIC_OP_OR_REVERSE\t= ( D3D12_LOGIC_OP_AND_INVERTED + 1 ) ,\n        D3D12_LOGIC_OP_OR_INVERTED\t= ( D3D12_LOGIC_OP_OR_REVERSE + 1 ) \n    } \tD3D12_LOGIC_OP;\n\ntypedef struct D3D12_RENDER_TARGET_BLEND_DESC\n    {\n    BOOL BlendEnable;\n    BOOL LogicOpEnable;\n    D3D12_BLEND SrcBlend;\n    D3D12_BLEND DestBlend;\n    D3D12_BLEND_OP BlendOp;\n    D3D12_BLEND SrcBlendAlpha;\n    D3D12_BLEND DestBlendAlpha;\n    D3D12_BLEND_OP BlendOpAlpha;\n    D3D12_LOGIC_OP LogicOp;\n    UINT8 RenderTargetWriteMask;\n    } \tD3D12_RENDER_TARGET_BLEND_DESC;\n\ntypedef struct D3D12_BLEND_DESC\n    {\n    BOOL AlphaToCoverageEnable;\n    BOOL IndependentBlendEnable;\n    D3D12_RENDER_TARGET_BLEND_DESC RenderTarget[ 8 ];\n    } \tD3D12_BLEND_DESC;\n\n/* Note, the array size for RenderTarget[] above is D3D12_SIMULTANEOUS_RENDERTARGET_COUNT. \n   IDL processing/generation of this header replaces the define; this comment is merely explaining what happened. */\ntypedef \nenum D3D12_CONSERVATIVE_RASTERIZATION_MODE\n    {\n        D3D12_CONSERVATIVE_RASTERIZATION_MODE_OFF\t= 0,\n        D3D12_CONSERVATIVE_RASTERIZATION_MODE_ON\t= 1\n    } \tD3D12_CONSERVATIVE_RASTERIZATION_MODE;\n\ntypedef struct D3D12_RASTERIZER_DESC\n    {\n    D3D12_FILL_MODE FillMode;\n    D3D12_CULL_MODE CullMode;\n    BOOL FrontCounterClockwise;\n    INT DepthBias;\n    FLOAT DepthBiasClamp;\n    FLOAT SlopeScaledDepthBias;\n    BOOL DepthClipEnable;\n    BOOL MultisampleEnable;\n    BOOL AntialiasedLineEnable;\n    UINT ForcedSampleCount;\n    D3D12_CONSERVATIVE_RASTERIZATION_MODE ConservativeRaster;\n    } \tD3D12_RASTERIZER_DESC;\n\n\n\nextern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0000_v0_0_c_ifspec;\nextern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0000_v0_0_s_ifspec;\n\n#ifndef __ID3D12Object_INTERFACE_DEFINED__\n#define __ID3D12Object_INTERFACE_DEFINED__\n\n/* interface ID3D12Object */\n/* [unique][local][object][uuid] */ \n\n\nEXTERN_C const IID IID_ID3D12Object;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"c4fec28f-7966-4e95-9f94-f431cb56c3b8\")\n    ID3D12Object : public IUnknown\n    {\n    public:\n        virtual HRESULT STDMETHODCALLTYPE GetPrivateData( \n            _In_  REFGUID guid,\n            _Inout_  UINT *pDataSize,\n            _Out_writes_bytes_opt_( *pDataSize )  void *pData) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE SetPrivateData( \n            _In_  REFGUID guid,\n            _In_  UINT DataSize,\n            _In_reads_bytes_opt_( DataSize )  const void *pData) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE SetPrivateDataInterface( \n            _In_  REFGUID guid,\n            _In_opt_  const IUnknown *pData) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE SetName( \n            _In_z_  LPCWSTR Name) = 0;\n        \n    };\n    \n    \n#else \t/* C style interface */\n\n    typedef struct ID3D12ObjectVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            ID3D12Object * This,\n            REFIID riid,\n            _COM_Outptr_  void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            ID3D12Object * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            ID3D12Object * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( \n            ID3D12Object * This,\n            _In_  REFGUID guid,\n            _Inout_  UINT *pDataSize,\n            _Out_writes_bytes_opt_( *pDataSize )  void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( \n            ID3D12Object * This,\n            _In_  REFGUID guid,\n            _In_  UINT DataSize,\n            _In_reads_bytes_opt_( DataSize )  const void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( \n            ID3D12Object * This,\n            _In_  REFGUID guid,\n            _In_opt_  const IUnknown *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetName )( \n            ID3D12Object * This,\n            _In_z_  LPCWSTR Name);\n        \n        END_INTERFACE\n    } ID3D12ObjectVtbl;\n\n    interface ID3D12Object\n    {\n        CONST_VTBL struct ID3D12ObjectVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define ID3D12Object_QueryInterface(This,riid,ppvObject)\t\\\n    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \n\n#define ID3D12Object_AddRef(This)\t\\\n    ( (This)->lpVtbl -> AddRef(This) ) \n\n#define ID3D12Object_Release(This)\t\\\n    ( (This)->lpVtbl -> Release(This) ) \n\n\n#define ID3D12Object_GetPrivateData(This,guid,pDataSize,pData)\t\\\n    ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) \n\n#define ID3D12Object_SetPrivateData(This,guid,DataSize,pData)\t\\\n    ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) \n\n#define ID3D12Object_SetPrivateDataInterface(This,guid,pData)\t\\\n    ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) \n\n#define ID3D12Object_SetName(This,Name)\t\\\n    ( (This)->lpVtbl -> SetName(This,Name) ) \n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n\n#endif \t/* __ID3D12Object_INTERFACE_DEFINED__ */\n\n\n#ifndef __ID3D12DeviceChild_INTERFACE_DEFINED__\n#define __ID3D12DeviceChild_INTERFACE_DEFINED__\n\n/* interface ID3D12DeviceChild */\n/* [unique][local][object][uuid] */ \n\n\nEXTERN_C const IID IID_ID3D12DeviceChild;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"905db94b-a00c-4140-9df5-2b64ca9ea357\")\n    ID3D12DeviceChild : public ID3D12Object\n    {\n    public:\n        virtual HRESULT STDMETHODCALLTYPE GetDevice( \n            REFIID riid,\n            _COM_Outptr_opt_  void **ppvDevice) = 0;\n        \n    };\n    \n    \n#else \t/* C style interface */\n\n    typedef struct ID3D12DeviceChildVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            ID3D12DeviceChild * This,\n            REFIID riid,\n            _COM_Outptr_  void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            ID3D12DeviceChild * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            ID3D12DeviceChild * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( \n            ID3D12DeviceChild * This,\n            _In_  REFGUID guid,\n            _Inout_  UINT *pDataSize,\n            _Out_writes_bytes_opt_( *pDataSize )  void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( \n            ID3D12DeviceChild * This,\n            _In_  REFGUID guid,\n            _In_  UINT DataSize,\n            _In_reads_bytes_opt_( DataSize )  const void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( \n            ID3D12DeviceChild * This,\n            _In_  REFGUID guid,\n            _In_opt_  const IUnknown *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetName )( \n            ID3D12DeviceChild * This,\n            _In_z_  LPCWSTR Name);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetDevice )( \n            ID3D12DeviceChild * This,\n            REFIID riid,\n            _COM_Outptr_opt_  void **ppvDevice);\n        \n        END_INTERFACE\n    } ID3D12DeviceChildVtbl;\n\n    interface ID3D12DeviceChild\n    {\n        CONST_VTBL struct ID3D12DeviceChildVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define ID3D12DeviceChild_QueryInterface(This,riid,ppvObject)\t\\\n    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \n\n#define ID3D12DeviceChild_AddRef(This)\t\\\n    ( (This)->lpVtbl -> AddRef(This) ) \n\n#define ID3D12DeviceChild_Release(This)\t\\\n    ( (This)->lpVtbl -> Release(This) ) \n\n\n#define ID3D12DeviceChild_GetPrivateData(This,guid,pDataSize,pData)\t\\\n    ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) \n\n#define ID3D12DeviceChild_SetPrivateData(This,guid,DataSize,pData)\t\\\n    ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) \n\n#define ID3D12DeviceChild_SetPrivateDataInterface(This,guid,pData)\t\\\n    ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) \n\n#define ID3D12DeviceChild_SetName(This,Name)\t\\\n    ( (This)->lpVtbl -> SetName(This,Name) ) \n\n\n#define ID3D12DeviceChild_GetDevice(This,riid,ppvDevice)\t\\\n    ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) ) \n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n\n#endif \t/* __ID3D12DeviceChild_INTERFACE_DEFINED__ */\n\n\n#ifndef __ID3D12RootSignature_INTERFACE_DEFINED__\n#define __ID3D12RootSignature_INTERFACE_DEFINED__\n\n/* interface ID3D12RootSignature */\n/* [unique][local][object][uuid] */ \n\n\nEXTERN_C const IID IID_ID3D12RootSignature;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"c54a6b66-72df-4ee8-8be5-a946a1429214\")\n    ID3D12RootSignature : public ID3D12DeviceChild\n    {\n    public:\n    };\n    \n    \n#else \t/* C style interface */\n\n    typedef struct ID3D12RootSignatureVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            ID3D12RootSignature * This,\n            REFIID riid,\n            _COM_Outptr_  void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            ID3D12RootSignature * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            ID3D12RootSignature * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( \n            ID3D12RootSignature * This,\n            _In_  REFGUID guid,\n            _Inout_  UINT *pDataSize,\n            _Out_writes_bytes_opt_( *pDataSize )  void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( \n            ID3D12RootSignature * This,\n            _In_  REFGUID guid,\n            _In_  UINT DataSize,\n            _In_reads_bytes_opt_( DataSize )  const void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( \n            ID3D12RootSignature * This,\n            _In_  REFGUID guid,\n            _In_opt_  const IUnknown *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetName )( \n            ID3D12RootSignature * This,\n            _In_z_  LPCWSTR Name);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetDevice )( \n            ID3D12RootSignature * This,\n            REFIID riid,\n            _COM_Outptr_opt_  void **ppvDevice);\n        \n        END_INTERFACE\n    } ID3D12RootSignatureVtbl;\n\n    interface ID3D12RootSignature\n    {\n        CONST_VTBL struct ID3D12RootSignatureVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define ID3D12RootSignature_QueryInterface(This,riid,ppvObject)\t\\\n    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \n\n#define ID3D12RootSignature_AddRef(This)\t\\\n    ( (This)->lpVtbl -> AddRef(This) ) \n\n#define ID3D12RootSignature_Release(This)\t\\\n    ( (This)->lpVtbl -> Release(This) ) \n\n\n#define ID3D12RootSignature_GetPrivateData(This,guid,pDataSize,pData)\t\\\n    ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) \n\n#define ID3D12RootSignature_SetPrivateData(This,guid,DataSize,pData)\t\\\n    ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) \n\n#define ID3D12RootSignature_SetPrivateDataInterface(This,guid,pData)\t\\\n    ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) \n\n#define ID3D12RootSignature_SetName(This,Name)\t\\\n    ( (This)->lpVtbl -> SetName(This,Name) ) \n\n\n#define ID3D12RootSignature_GetDevice(This,riid,ppvDevice)\t\\\n    ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) ) \n\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n\n#endif \t/* __ID3D12RootSignature_INTERFACE_DEFINED__ */\n\n\n/* interface __MIDL_itf_d3d12_0000_0001 */\n/* [local] */ \n\ntypedef struct D3D12_SHADER_BYTECODE\n    {\n    _Field_size_bytes_full_(BytecodeLength)  const void *pShaderBytecode;\n    SIZE_T BytecodeLength;\n    } \tD3D12_SHADER_BYTECODE;\n\ntypedef struct D3D12_STREAM_OUTPUT_DESC\n    {\n    _Field_size_full_(NumEntries)  const D3D12_SO_DECLARATION_ENTRY *pSODeclaration;\n    UINT NumEntries;\n    _Field_size_full_(NumStrides)  const UINT *pBufferStrides;\n    UINT NumStrides;\n    UINT RasterizedStream;\n    } \tD3D12_STREAM_OUTPUT_DESC;\n\ntypedef struct D3D12_INPUT_LAYOUT_DESC\n    {\n    _Field_size_full_(NumElements)  const D3D12_INPUT_ELEMENT_DESC *pInputElementDescs;\n    UINT NumElements;\n    } \tD3D12_INPUT_LAYOUT_DESC;\n\ntypedef \nenum D3D12_INDEX_BUFFER_STRIP_CUT_VALUE\n    {\n        D3D12_INDEX_BUFFER_STRIP_CUT_VALUE_DISABLED\t= 0,\n        D3D12_INDEX_BUFFER_STRIP_CUT_VALUE_0xFFFF\t= 1,\n        D3D12_INDEX_BUFFER_STRIP_CUT_VALUE_0xFFFFFFFF\t= 2\n    } \tD3D12_INDEX_BUFFER_STRIP_CUT_VALUE;\n\ntypedef struct D3D12_CACHED_PIPELINE_STATE\n    {\n    _Field_size_bytes_full_(CachedBlobSizeInBytes)  const void *pCachedBlob;\n    SIZE_T CachedBlobSizeInBytes;\n    } \tD3D12_CACHED_PIPELINE_STATE;\n\ntypedef \nenum D3D12_PIPELINE_STATE_FLAGS\n    {\n        D3D12_PIPELINE_STATE_FLAG_NONE\t= 0,\n        D3D12_PIPELINE_STATE_FLAG_TOOL_DEBUG\t= 0x1\n    } \tD3D12_PIPELINE_STATE_FLAGS;\n\nDEFINE_ENUM_FLAG_OPERATORS( D3D12_PIPELINE_STATE_FLAGS );\ntypedef struct D3D12_GRAPHICS_PIPELINE_STATE_DESC\n    {\n    ID3D12RootSignature *pRootSignature;\n    D3D12_SHADER_BYTECODE VS;\n    D3D12_SHADER_BYTECODE PS;\n    D3D12_SHADER_BYTECODE DS;\n    D3D12_SHADER_BYTECODE HS;\n    D3D12_SHADER_BYTECODE GS;\n    D3D12_STREAM_OUTPUT_DESC StreamOutput;\n    D3D12_BLEND_DESC BlendState;\n    UINT SampleMask;\n    D3D12_RASTERIZER_DESC RasterizerState;\n    D3D12_DEPTH_STENCIL_DESC DepthStencilState;\n    D3D12_INPUT_LAYOUT_DESC InputLayout;\n    D3D12_INDEX_BUFFER_STRIP_CUT_VALUE IBStripCutValue;\n    D3D12_PRIMITIVE_TOPOLOGY_TYPE PrimitiveTopologyType;\n    UINT NumRenderTargets;\n    DXGI_FORMAT RTVFormats[ 8 ];\n    DXGI_FORMAT DSVFormat;\n    DXGI_SAMPLE_DESC SampleDesc;\n    UINT NodeMask;\n    D3D12_CACHED_PIPELINE_STATE CachedPSO;\n    D3D12_PIPELINE_STATE_FLAGS Flags;\n    } \tD3D12_GRAPHICS_PIPELINE_STATE_DESC;\n\ntypedef struct D3D12_COMPUTE_PIPELINE_STATE_DESC\n    {\n    ID3D12RootSignature *pRootSignature;\n    D3D12_SHADER_BYTECODE CS;\n    UINT NodeMask;\n    D3D12_CACHED_PIPELINE_STATE CachedPSO;\n    D3D12_PIPELINE_STATE_FLAGS Flags;\n    } \tD3D12_COMPUTE_PIPELINE_STATE_DESC;\n\ntypedef \nenum D3D12_FEATURE\n    {\n        D3D12_FEATURE_D3D12_OPTIONS\t= 0,\n        D3D12_FEATURE_ARCHITECTURE\t= 1,\n        D3D12_FEATURE_FEATURE_LEVELS\t= 2,\n        D3D12_FEATURE_FORMAT_SUPPORT\t= 3,\n        D3D12_FEATURE_MULTISAMPLE_QUALITY_LEVELS\t= 4,\n        D3D12_FEATURE_FORMAT_INFO\t= 5,\n        D3D12_FEATURE_GPU_VIRTUAL_ADDRESS_SUPPORT\t= 6,\n        D3D12_FEATURE_SHADER_MODEL\t= 7,\n        D3D12_FEATURE_D3D12_OPTIONS1\t= 8,\n        D3D12_FEATURE_ROOT_SIGNATURE\t= 12\n    } \tD3D12_FEATURE;\n\ntypedef \nenum D3D12_SHADER_MIN_PRECISION_SUPPORT\n    {\n        D3D12_SHADER_MIN_PRECISION_SUPPORT_NONE\t= 0,\n        D3D12_SHADER_MIN_PRECISION_SUPPORT_10_BIT\t= 0x1,\n        D3D12_SHADER_MIN_PRECISION_SUPPORT_16_BIT\t= 0x2\n    } \tD3D12_SHADER_MIN_PRECISION_SUPPORT;\n\nDEFINE_ENUM_FLAG_OPERATORS( D3D12_SHADER_MIN_PRECISION_SUPPORT );\ntypedef \nenum D3D12_TILED_RESOURCES_TIER\n    {\n        D3D12_TILED_RESOURCES_TIER_NOT_SUPPORTED\t= 0,\n        D3D12_TILED_RESOURCES_TIER_1\t= 1,\n        D3D12_TILED_RESOURCES_TIER_2\t= 2,\n        D3D12_TILED_RESOURCES_TIER_3\t= 3\n    } \tD3D12_TILED_RESOURCES_TIER;\n\ntypedef \nenum D3D12_RESOURCE_BINDING_TIER\n    {\n        D3D12_RESOURCE_BINDING_TIER_1\t= 1,\n        D3D12_RESOURCE_BINDING_TIER_2\t= 2,\n        D3D12_RESOURCE_BINDING_TIER_3\t= 3\n    } \tD3D12_RESOURCE_BINDING_TIER;\n\ntypedef \nenum D3D12_CONSERVATIVE_RASTERIZATION_TIER\n    {\n        D3D12_CONSERVATIVE_RASTERIZATION_TIER_NOT_SUPPORTED\t= 0,\n        D3D12_CONSERVATIVE_RASTERIZATION_TIER_1\t= 1,\n        D3D12_CONSERVATIVE_RASTERIZATION_TIER_2\t= 2,\n        D3D12_CONSERVATIVE_RASTERIZATION_TIER_3\t= 3\n    } \tD3D12_CONSERVATIVE_RASTERIZATION_TIER;\n\ntypedef \nenum D3D12_FORMAT_SUPPORT1\n    {\n        D3D12_FORMAT_SUPPORT1_NONE\t= 0,\n        D3D12_FORMAT_SUPPORT1_BUFFER\t= 0x1,\n        D3D12_FORMAT_SUPPORT1_IA_VERTEX_BUFFER\t= 0x2,\n        D3D12_FORMAT_SUPPORT1_IA_INDEX_BUFFER\t= 0x4,\n        D3D12_FORMAT_SUPPORT1_SO_BUFFER\t= 0x8,\n        D3D12_FORMAT_SUPPORT1_TEXTURE1D\t= 0x10,\n        D3D12_FORMAT_SUPPORT1_TEXTURE2D\t= 0x20,\n        D3D12_FORMAT_SUPPORT1_TEXTURE3D\t= 0x40,\n        D3D12_FORMAT_SUPPORT1_TEXTURECUBE\t= 0x80,\n        D3D12_FORMAT_SUPPORT1_SHADER_LOAD\t= 0x100,\n        D3D12_FORMAT_SUPPORT1_SHADER_SAMPLE\t= 0x200,\n        D3D12_FORMAT_SUPPORT1_SHADER_SAMPLE_COMPARISON\t= 0x400,\n        D3D12_FORMAT_SUPPORT1_SHADER_SAMPLE_MONO_TEXT\t= 0x800,\n        D3D12_FORMAT_SUPPORT1_MIP\t= 0x1000,\n        D3D12_FORMAT_SUPPORT1_RENDER_TARGET\t= 0x4000,\n        D3D12_FORMAT_SUPPORT1_BLENDABLE\t= 0x8000,\n        D3D12_FORMAT_SUPPORT1_DEPTH_STENCIL\t= 0x10000,\n        D3D12_FORMAT_SUPPORT1_MULTISAMPLE_RESOLVE\t= 0x40000,\n        D3D12_FORMAT_SUPPORT1_DISPLAY\t= 0x80000,\n        D3D12_FORMAT_SUPPORT1_CAST_WITHIN_BIT_LAYOUT\t= 0x100000,\n        D3D12_FORMAT_SUPPORT1_MULTISAMPLE_RENDERTARGET\t= 0x200000,\n        D3D12_FORMAT_SUPPORT1_MULTISAMPLE_LOAD\t= 0x400000,\n        D3D12_FORMAT_SUPPORT1_SHADER_GATHER\t= 0x800000,\n        D3D12_FORMAT_SUPPORT1_BACK_BUFFER_CAST\t= 0x1000000,\n        D3D12_FORMAT_SUPPORT1_TYPED_UNORDERED_ACCESS_VIEW\t= 0x2000000,\n        D3D12_FORMAT_SUPPORT1_SHADER_GATHER_COMPARISON\t= 0x4000000,\n        D3D12_FORMAT_SUPPORT1_DECODER_OUTPUT\t= 0x8000000,\n        D3D12_FORMAT_SUPPORT1_VIDEO_PROCESSOR_OUTPUT\t= 0x10000000,\n        D3D12_FORMAT_SUPPORT1_VIDEO_PROCESSOR_INPUT\t= 0x20000000,\n        D3D12_FORMAT_SUPPORT1_VIDEO_ENCODER\t= 0x40000000\n    } \tD3D12_FORMAT_SUPPORT1;\n\nDEFINE_ENUM_FLAG_OPERATORS( D3D12_FORMAT_SUPPORT1 );\ntypedef \nenum D3D12_FORMAT_SUPPORT2\n    {\n        D3D12_FORMAT_SUPPORT2_NONE\t= 0,\n        D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_ADD\t= 0x1,\n        D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_BITWISE_OPS\t= 0x2,\n        D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_COMPARE_STORE_OR_COMPARE_EXCHANGE\t= 0x4,\n        D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_EXCHANGE\t= 0x8,\n        D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_SIGNED_MIN_OR_MAX\t= 0x10,\n        D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_UNSIGNED_MIN_OR_MAX\t= 0x20,\n        D3D12_FORMAT_SUPPORT2_UAV_TYPED_LOAD\t= 0x40,\n        D3D12_FORMAT_SUPPORT2_UAV_TYPED_STORE\t= 0x80,\n        D3D12_FORMAT_SUPPORT2_OUTPUT_MERGER_LOGIC_OP\t= 0x100,\n        D3D12_FORMAT_SUPPORT2_TILED\t= 0x200,\n        D3D12_FORMAT_SUPPORT2_MULTIPLANE_OVERLAY\t= 0x4000\n    } \tD3D12_FORMAT_SUPPORT2;\n\nDEFINE_ENUM_FLAG_OPERATORS( D3D12_FORMAT_SUPPORT2 );\ntypedef \nenum D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS\n    {\n        D3D12_MULTISAMPLE_QUALITY_LEVELS_FLAG_NONE\t= 0,\n        D3D12_MULTISAMPLE_QUALITY_LEVELS_FLAG_TILED_RESOURCE\t= 0x1\n    } \tD3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS;\n\nDEFINE_ENUM_FLAG_OPERATORS( D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS );\ntypedef \nenum D3D12_CROSS_NODE_SHARING_TIER\n    {\n        D3D12_CROSS_NODE_SHARING_TIER_NOT_SUPPORTED\t= 0,\n        D3D12_CROSS_NODE_SHARING_TIER_1_EMULATED\t= 1,\n        D3D12_CROSS_NODE_SHARING_TIER_1\t= 2,\n        D3D12_CROSS_NODE_SHARING_TIER_2\t= 3\n    } \tD3D12_CROSS_NODE_SHARING_TIER;\n\ntypedef \nenum D3D12_RESOURCE_HEAP_TIER\n    {\n        D3D12_RESOURCE_HEAP_TIER_1\t= 1,\n        D3D12_RESOURCE_HEAP_TIER_2\t= 2\n    } \tD3D12_RESOURCE_HEAP_TIER;\n\ntypedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS\n    {\n    _Out_  BOOL DoublePrecisionFloatShaderOps;\n    _Out_  BOOL OutputMergerLogicOp;\n    _Out_  D3D12_SHADER_MIN_PRECISION_SUPPORT MinPrecisionSupport;\n    _Out_  D3D12_TILED_RESOURCES_TIER TiledResourcesTier;\n    _Out_  D3D12_RESOURCE_BINDING_TIER ResourceBindingTier;\n    _Out_  BOOL PSSpecifiedStencilRefSupported;\n    _Out_  BOOL TypedUAVLoadAdditionalFormats;\n    _Out_  BOOL ROVsSupported;\n    _Out_  D3D12_CONSERVATIVE_RASTERIZATION_TIER ConservativeRasterizationTier;\n    _Out_  UINT MaxGPUVirtualAddressBitsPerResource;\n    _Out_  BOOL StandardSwizzle64KBSupported;\n    _Out_  D3D12_CROSS_NODE_SHARING_TIER CrossNodeSharingTier;\n    _Out_  BOOL CrossAdapterRowMajorTextureSupported;\n    _Out_  BOOL VPAndRTArrayIndexFromAnyShaderFeedingRasterizerSupportedWithoutGSEmulation;\n    _Out_  D3D12_RESOURCE_HEAP_TIER ResourceHeapTier;\n    } \tD3D12_FEATURE_DATA_D3D12_OPTIONS;\n\ntypedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS1\n    {\n    _Out_  BOOL WaveOps;\n    _Out_  UINT WaveLaneCountMin;\n    _Out_  UINT WaveLaneCountMax;\n    _Out_  UINT TotalLaneCount;\n    _Out_  BOOL ExpandedComputeResourceStates;\n    _Out_  BOOL Int64ShaderOps;\n    } \tD3D12_FEATURE_DATA_D3D12_OPTIONS1;\n\ntypedef \nenum D3D_ROOT_SIGNATURE_VERSION\n    {\n        D3D_ROOT_SIGNATURE_VERSION_1\t= 0x1,\n        D3D_ROOT_SIGNATURE_VERSION_1_0\t= 0x1,\n        D3D_ROOT_SIGNATURE_VERSION_1_1\t= 0x2\n    } \tD3D_ROOT_SIGNATURE_VERSION;\n\ntypedef struct D3D12_FEATURE_DATA_ROOT_SIGNATURE\n    {\n    _Inout_  D3D_ROOT_SIGNATURE_VERSION HighestVersion;\n    } \tD3D12_FEATURE_DATA_ROOT_SIGNATURE;\n\ntypedef struct D3D12_FEATURE_DATA_ARCHITECTURE\n    {\n    _In_  UINT NodeIndex;\n    _Out_  BOOL TileBasedRenderer;\n    _Out_  BOOL UMA;\n    _Out_  BOOL CacheCoherentUMA;\n    } \tD3D12_FEATURE_DATA_ARCHITECTURE;\n\ntypedef struct D3D12_FEATURE_DATA_FEATURE_LEVELS\n    {\n    _In_  UINT NumFeatureLevels;\n    _In_reads_(NumFeatureLevels)  const D3D_FEATURE_LEVEL *pFeatureLevelsRequested;\n    _Out_  D3D_FEATURE_LEVEL MaxSupportedFeatureLevel;\n    } \tD3D12_FEATURE_DATA_FEATURE_LEVELS;\n\ntypedef \nenum D3D_SHADER_MODEL\n    {\n        D3D_SHADER_MODEL_5_1\t= 0x51,\n        D3D_SHADER_MODEL_6_0\t= 0x60\n    } \tD3D_SHADER_MODEL;\n\ntypedef struct D3D12_FEATURE_DATA_SHADER_MODEL\n    {\n    _Inout_  D3D_SHADER_MODEL HighestShaderModel;\n    } \tD3D12_FEATURE_DATA_SHADER_MODEL;\n\ntypedef struct D3D12_FEATURE_DATA_FORMAT_SUPPORT\n    {\n    _In_  DXGI_FORMAT Format;\n    _Out_  D3D12_FORMAT_SUPPORT1 Support1;\n    _Out_  D3D12_FORMAT_SUPPORT2 Support2;\n    } \tD3D12_FEATURE_DATA_FORMAT_SUPPORT;\n\ntypedef struct D3D12_FEATURE_DATA_MULTISAMPLE_QUALITY_LEVELS\n    {\n    _In_  DXGI_FORMAT Format;\n    _In_  UINT SampleCount;\n    _In_  D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS Flags;\n    _Out_  UINT NumQualityLevels;\n    } \tD3D12_FEATURE_DATA_MULTISAMPLE_QUALITY_LEVELS;\n\ntypedef struct D3D12_FEATURE_DATA_FORMAT_INFO\n    {\n    DXGI_FORMAT Format;\n    UINT8 PlaneCount;\n    } \tD3D12_FEATURE_DATA_FORMAT_INFO;\n\ntypedef struct D3D12_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT\n    {\n    UINT MaxGPUVirtualAddressBitsPerResource;\n    UINT MaxGPUVirtualAddressBitsPerProcess;\n    } \tD3D12_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT;\n\ntypedef struct D3D12_RESOURCE_ALLOCATION_INFO\n    {\n    UINT64 SizeInBytes;\n    UINT64 Alignment;\n    } \tD3D12_RESOURCE_ALLOCATION_INFO;\n\ntypedef \nenum D3D12_HEAP_TYPE\n    {\n        D3D12_HEAP_TYPE_DEFAULT\t= 1,\n        D3D12_HEAP_TYPE_UPLOAD\t= 2,\n        D3D12_HEAP_TYPE_READBACK\t= 3,\n        D3D12_HEAP_TYPE_CUSTOM\t= 4\n    } \tD3D12_HEAP_TYPE;\n\ntypedef \nenum D3D12_CPU_PAGE_PROPERTY\n    {\n        D3D12_CPU_PAGE_PROPERTY_UNKNOWN\t= 0,\n        D3D12_CPU_PAGE_PROPERTY_NOT_AVAILABLE\t= 1,\n        D3D12_CPU_PAGE_PROPERTY_WRITE_COMBINE\t= 2,\n        D3D12_CPU_PAGE_PROPERTY_WRITE_BACK\t= 3\n    } \tD3D12_CPU_PAGE_PROPERTY;\n\ntypedef \nenum D3D12_MEMORY_POOL\n    {\n        D3D12_MEMORY_POOL_UNKNOWN\t= 0,\n        D3D12_MEMORY_POOL_L0\t= 1,\n        D3D12_MEMORY_POOL_L1\t= 2\n    } \tD3D12_MEMORY_POOL;\n\ntypedef struct D3D12_HEAP_PROPERTIES\n    {\n    D3D12_HEAP_TYPE Type;\n    D3D12_CPU_PAGE_PROPERTY CPUPageProperty;\n    D3D12_MEMORY_POOL MemoryPoolPreference;\n    UINT CreationNodeMask;\n    UINT VisibleNodeMask;\n    } \tD3D12_HEAP_PROPERTIES;\n\ntypedef \nenum D3D12_HEAP_FLAGS\n    {\n        D3D12_HEAP_FLAG_NONE\t= 0,\n        D3D12_HEAP_FLAG_SHARED\t= 0x1,\n        D3D12_HEAP_FLAG_DENY_BUFFERS\t= 0x4,\n        D3D12_HEAP_FLAG_ALLOW_DISPLAY\t= 0x8,\n        D3D12_HEAP_FLAG_SHARED_CROSS_ADAPTER\t= 0x20,\n        D3D12_HEAP_FLAG_DENY_RT_DS_TEXTURES\t= 0x40,\n        D3D12_HEAP_FLAG_DENY_NON_RT_DS_TEXTURES\t= 0x80,\n        D3D12_HEAP_FLAG_HARDWARE_PROTECTED\t= 0x100,\n        D3D12_HEAP_FLAG_ALLOW_ALL_BUFFERS_AND_TEXTURES\t= 0,\n        D3D12_HEAP_FLAG_ALLOW_ONLY_BUFFERS\t= 0xc0,\n        D3D12_HEAP_FLAG_ALLOW_ONLY_NON_RT_DS_TEXTURES\t= 0x44,\n        D3D12_HEAP_FLAG_ALLOW_ONLY_RT_DS_TEXTURES\t= 0x84\n    } \tD3D12_HEAP_FLAGS;\n\nDEFINE_ENUM_FLAG_OPERATORS( D3D12_HEAP_FLAGS );\ntypedef struct D3D12_HEAP_DESC\n    {\n    UINT64 SizeInBytes;\n    D3D12_HEAP_PROPERTIES Properties;\n    UINT64 Alignment;\n    D3D12_HEAP_FLAGS Flags;\n    } \tD3D12_HEAP_DESC;\n\ntypedef \nenum D3D12_RESOURCE_DIMENSION\n    {\n        D3D12_RESOURCE_DIMENSION_UNKNOWN\t= 0,\n        D3D12_RESOURCE_DIMENSION_BUFFER\t= 1,\n        D3D12_RESOURCE_DIMENSION_TEXTURE1D\t= 2,\n        D3D12_RESOURCE_DIMENSION_TEXTURE2D\t= 3,\n        D3D12_RESOURCE_DIMENSION_TEXTURE3D\t= 4\n    } \tD3D12_RESOURCE_DIMENSION;\n\ntypedef \nenum D3D12_TEXTURE_LAYOUT\n    {\n        D3D12_TEXTURE_LAYOUT_UNKNOWN\t= 0,\n        D3D12_TEXTURE_LAYOUT_ROW_MAJOR\t= 1,\n        D3D12_TEXTURE_LAYOUT_64KB_UNDEFINED_SWIZZLE\t= 2,\n        D3D12_TEXTURE_LAYOUT_64KB_STANDARD_SWIZZLE\t= 3\n    } \tD3D12_TEXTURE_LAYOUT;\n\ntypedef \nenum D3D12_RESOURCE_FLAGS\n    {\n        D3D12_RESOURCE_FLAG_NONE\t= 0,\n        D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET\t= 0x1,\n        D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL\t= 0x2,\n        D3D12_RESOURCE_FLAG_ALLOW_UNORDERED_ACCESS\t= 0x4,\n        D3D12_RESOURCE_FLAG_DENY_SHADER_RESOURCE\t= 0x8,\n        D3D12_RESOURCE_FLAG_ALLOW_CROSS_ADAPTER\t= 0x10,\n        D3D12_RESOURCE_FLAG_ALLOW_SIMULTANEOUS_ACCESS\t= 0x20\n    } \tD3D12_RESOURCE_FLAGS;\n\nDEFINE_ENUM_FLAG_OPERATORS( D3D12_RESOURCE_FLAGS );\ntypedef struct D3D12_RESOURCE_DESC\n    {\n    D3D12_RESOURCE_DIMENSION Dimension;\n    UINT64 Alignment;\n    UINT64 Width;\n    UINT Height;\n    UINT16 DepthOrArraySize;\n    UINT16 MipLevels;\n    DXGI_FORMAT Format;\n    DXGI_SAMPLE_DESC SampleDesc;\n    D3D12_TEXTURE_LAYOUT Layout;\n    D3D12_RESOURCE_FLAGS Flags;\n    } \tD3D12_RESOURCE_DESC;\n\ntypedef struct D3D12_DEPTH_STENCIL_VALUE\n    {\n    FLOAT Depth;\n    UINT8 Stencil;\n    } \tD3D12_DEPTH_STENCIL_VALUE;\n\ntypedef struct D3D12_CLEAR_VALUE\n    {\n    DXGI_FORMAT Format;\n    union \n        {\n        FLOAT Color[ 4 ];\n        D3D12_DEPTH_STENCIL_VALUE DepthStencil;\n        } \t;\n    } \tD3D12_CLEAR_VALUE;\n\ntypedef struct D3D12_RANGE\n    {\n    SIZE_T Begin;\n    SIZE_T End;\n    } \tD3D12_RANGE;\n\ntypedef struct D3D12_SUBRESOURCE_INFO\n    {\n    UINT64 Offset;\n    UINT RowPitch;\n    UINT DepthPitch;\n    } \tD3D12_SUBRESOURCE_INFO;\n\ntypedef struct D3D12_TILED_RESOURCE_COORDINATE\n    {\n    UINT X;\n    UINT Y;\n    UINT Z;\n    UINT Subresource;\n    } \tD3D12_TILED_RESOURCE_COORDINATE;\n\ntypedef struct D3D12_TILE_REGION_SIZE\n    {\n    UINT NumTiles;\n    BOOL UseBox;\n    UINT Width;\n    UINT16 Height;\n    UINT16 Depth;\n    } \tD3D12_TILE_REGION_SIZE;\n\ntypedef \nenum D3D12_TILE_RANGE_FLAGS\n    {\n        D3D12_TILE_RANGE_FLAG_NONE\t= 0,\n        D3D12_TILE_RANGE_FLAG_NULL\t= 1,\n        D3D12_TILE_RANGE_FLAG_SKIP\t= 2,\n        D3D12_TILE_RANGE_FLAG_REUSE_SINGLE_TILE\t= 4\n    } \tD3D12_TILE_RANGE_FLAGS;\n\ntypedef struct D3D12_SUBRESOURCE_TILING\n    {\n    UINT WidthInTiles;\n    UINT16 HeightInTiles;\n    UINT16 DepthInTiles;\n    UINT StartTileIndexInOverallResource;\n    } \tD3D12_SUBRESOURCE_TILING;\n\ntypedef struct D3D12_TILE_SHAPE\n    {\n    UINT WidthInTexels;\n    UINT HeightInTexels;\n    UINT DepthInTexels;\n    } \tD3D12_TILE_SHAPE;\n\ntypedef struct D3D12_PACKED_MIP_INFO\n    {\n    UINT8 NumStandardMips;\n    UINT8 NumPackedMips;\n    UINT NumTilesForPackedMips;\n    UINT StartTileIndexInOverallResource;\n    } \tD3D12_PACKED_MIP_INFO;\n\ntypedef \nenum D3D12_TILE_MAPPING_FLAGS\n    {\n        D3D12_TILE_MAPPING_FLAG_NONE\t= 0,\n        D3D12_TILE_MAPPING_FLAG_NO_HAZARD\t= 0x1\n    } \tD3D12_TILE_MAPPING_FLAGS;\n\nDEFINE_ENUM_FLAG_OPERATORS( D3D12_TILE_MAPPING_FLAGS );\ntypedef \nenum D3D12_TILE_COPY_FLAGS\n    {\n        D3D12_TILE_COPY_FLAG_NONE\t= 0,\n        D3D12_TILE_COPY_FLAG_NO_HAZARD\t= 0x1,\n        D3D12_TILE_COPY_FLAG_LINEAR_BUFFER_TO_SWIZZLED_TILED_RESOURCE\t= 0x2,\n        D3D12_TILE_COPY_FLAG_SWIZZLED_TILED_RESOURCE_TO_LINEAR_BUFFER\t= 0x4\n    } \tD3D12_TILE_COPY_FLAGS;\n\nDEFINE_ENUM_FLAG_OPERATORS( D3D12_TILE_COPY_FLAGS );\ntypedef \nenum D3D12_RESOURCE_STATES\n    {\n        D3D12_RESOURCE_STATE_COMMON\t= 0,\n        D3D12_RESOURCE_STATE_VERTEX_AND_CONSTANT_BUFFER\t= 0x1,\n        D3D12_RESOURCE_STATE_INDEX_BUFFER\t= 0x2,\n        D3D12_RESOURCE_STATE_RENDER_TARGET\t= 0x4,\n        D3D12_RESOURCE_STATE_UNORDERED_ACCESS\t= 0x8,\n        D3D12_RESOURCE_STATE_DEPTH_WRITE\t= 0x10,\n        D3D12_RESOURCE_STATE_DEPTH_READ\t= 0x20,\n        D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE\t= 0x40,\n        D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE\t= 0x80,\n        D3D12_RESOURCE_STATE_STREAM_OUT\t= 0x100,\n        D3D12_RESOURCE_STATE_INDIRECT_ARGUMENT\t= 0x200,\n        D3D12_RESOURCE_STATE_COPY_DEST\t= 0x400,\n        D3D12_RESOURCE_STATE_COPY_SOURCE\t= 0x800,\n        D3D12_RESOURCE_STATE_RESOLVE_DEST\t= 0x1000,\n        D3D12_RESOURCE_STATE_RESOLVE_SOURCE\t= 0x2000,\n        D3D12_RESOURCE_STATE_GENERIC_READ\t= ( ( ( ( ( 0x1 | 0x2 )  | 0x40 )  | 0x80 )  | 0x200 )  | 0x800 ) ,\n        D3D12_RESOURCE_STATE_PRESENT\t= 0,\n        D3D12_RESOURCE_STATE_PREDICATION\t= 0x200\n    } \tD3D12_RESOURCE_STATES;\n\nDEFINE_ENUM_FLAG_OPERATORS( D3D12_RESOURCE_STATES );\ntypedef \nenum D3D12_RESOURCE_BARRIER_TYPE\n    {\n        D3D12_RESOURCE_BARRIER_TYPE_TRANSITION\t= 0,\n        D3D12_RESOURCE_BARRIER_TYPE_ALIASING\t= ( D3D12_RESOURCE_BARRIER_TYPE_TRANSITION + 1 ) ,\n        D3D12_RESOURCE_BARRIER_TYPE_UAV\t= ( D3D12_RESOURCE_BARRIER_TYPE_ALIASING + 1 ) \n    } \tD3D12_RESOURCE_BARRIER_TYPE;\n\n\ntypedef struct D3D12_RESOURCE_TRANSITION_BARRIER\n    {\n    ID3D12Resource *pResource;\n    UINT Subresource;\n    D3D12_RESOURCE_STATES StateBefore;\n    D3D12_RESOURCE_STATES StateAfter;\n    } \tD3D12_RESOURCE_TRANSITION_BARRIER;\n\ntypedef struct D3D12_RESOURCE_ALIASING_BARRIER\n    {\n    ID3D12Resource *pResourceBefore;\n    ID3D12Resource *pResourceAfter;\n    } \tD3D12_RESOURCE_ALIASING_BARRIER;\n\ntypedef struct D3D12_RESOURCE_UAV_BARRIER\n    {\n    ID3D12Resource *pResource;\n    } \tD3D12_RESOURCE_UAV_BARRIER;\n\ntypedef \nenum D3D12_RESOURCE_BARRIER_FLAGS\n    {\n        D3D12_RESOURCE_BARRIER_FLAG_NONE\t= 0,\n        D3D12_RESOURCE_BARRIER_FLAG_BEGIN_ONLY\t= 0x1,\n        D3D12_RESOURCE_BARRIER_FLAG_END_ONLY\t= 0x2\n    } \tD3D12_RESOURCE_BARRIER_FLAGS;\n\nDEFINE_ENUM_FLAG_OPERATORS( D3D12_RESOURCE_BARRIER_FLAGS );\ntypedef struct D3D12_RESOURCE_BARRIER\n    {\n    D3D12_RESOURCE_BARRIER_TYPE Type;\n    D3D12_RESOURCE_BARRIER_FLAGS Flags;\n    union \n        {\n        D3D12_RESOURCE_TRANSITION_BARRIER Transition;\n        D3D12_RESOURCE_ALIASING_BARRIER Aliasing;\n        D3D12_RESOURCE_UAV_BARRIER UAV;\n        } \t;\n    } \tD3D12_RESOURCE_BARRIER;\n\ntypedef struct D3D12_SUBRESOURCE_FOOTPRINT\n    {\n    DXGI_FORMAT Format;\n    UINT Width;\n    UINT Height;\n    UINT Depth;\n    UINT RowPitch;\n    } \tD3D12_SUBRESOURCE_FOOTPRINT;\n\ntypedef struct D3D12_PLACED_SUBRESOURCE_FOOTPRINT\n    {\n    UINT64 Offset;\n    D3D12_SUBRESOURCE_FOOTPRINT Footprint;\n    } \tD3D12_PLACED_SUBRESOURCE_FOOTPRINT;\n\ntypedef \nenum D3D12_TEXTURE_COPY_TYPE\n    {\n        D3D12_TEXTURE_COPY_TYPE_SUBRESOURCE_INDEX\t= 0,\n        D3D12_TEXTURE_COPY_TYPE_PLACED_FOOTPRINT\t= 1\n    } \tD3D12_TEXTURE_COPY_TYPE;\n\ntypedef struct D3D12_TEXTURE_COPY_LOCATION\n    {\n    ID3D12Resource *pResource;\n    D3D12_TEXTURE_COPY_TYPE Type;\n    union \n        {\n        D3D12_PLACED_SUBRESOURCE_FOOTPRINT PlacedFootprint;\n        UINT SubresourceIndex;\n        } \t;\n    } \tD3D12_TEXTURE_COPY_LOCATION;\n\ntypedef \nenum D3D12_SHADER_COMPONENT_MAPPING\n    {\n        D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_0\t= 0,\n        D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_1\t= 1,\n        D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_2\t= 2,\n        D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_3\t= 3,\n        D3D12_SHADER_COMPONENT_MAPPING_FORCE_VALUE_0\t= 4,\n        D3D12_SHADER_COMPONENT_MAPPING_FORCE_VALUE_1\t= 5\n    } \tD3D12_SHADER_COMPONENT_MAPPING;\n\n#define D3D12_SHADER_COMPONENT_MAPPING_MASK 0x7 \n#define D3D12_SHADER_COMPONENT_MAPPING_SHIFT 3 \n#define D3D12_SHADER_COMPONENT_MAPPING_ALWAYS_SET_BIT_AVOIDING_ZEROMEM_MISTAKES (1<<(D3D12_SHADER_COMPONENT_MAPPING_SHIFT*4)) \n#define D3D12_ENCODE_SHADER_4_COMPONENT_MAPPING(Src0,Src1,Src2,Src3) ((((Src0)&D3D12_SHADER_COMPONENT_MAPPING_MASK)| \\\n                                                                (((Src1)&D3D12_SHADER_COMPONENT_MAPPING_MASK)<<D3D12_SHADER_COMPONENT_MAPPING_SHIFT)| \\\n                                                                (((Src2)&D3D12_SHADER_COMPONENT_MAPPING_MASK)<<(D3D12_SHADER_COMPONENT_MAPPING_SHIFT*2))| \\\n                                                                (((Src3)&D3D12_SHADER_COMPONENT_MAPPING_MASK)<<(D3D12_SHADER_COMPONENT_MAPPING_SHIFT*3))| \\\n                                                                D3D12_SHADER_COMPONENT_MAPPING_ALWAYS_SET_BIT_AVOIDING_ZEROMEM_MISTAKES))\n#define D3D12_DECODE_SHADER_4_COMPONENT_MAPPING(ComponentToExtract,Mapping) ((D3D12_SHADER_COMPONENT_MAPPING)(Mapping >> (D3D12_SHADER_COMPONENT_MAPPING_SHIFT*ComponentToExtract) & D3D12_SHADER_COMPONENT_MAPPING_MASK))\n#define D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING D3D12_ENCODE_SHADER_4_COMPONENT_MAPPING(0,1,2,3) \ntypedef \nenum D3D12_BUFFER_SRV_FLAGS\n    {\n        D3D12_BUFFER_SRV_FLAG_NONE\t= 0,\n        D3D12_BUFFER_SRV_FLAG_RAW\t= 0x1\n    } \tD3D12_BUFFER_SRV_FLAGS;\n\nDEFINE_ENUM_FLAG_OPERATORS( D3D12_BUFFER_SRV_FLAGS );\ntypedef struct D3D12_BUFFER_SRV\n    {\n    UINT64 FirstElement;\n    UINT NumElements;\n    UINT StructureByteStride;\n    D3D12_BUFFER_SRV_FLAGS Flags;\n    } \tD3D12_BUFFER_SRV;\n\ntypedef struct D3D12_TEX1D_SRV\n    {\n    UINT MostDetailedMip;\n    UINT MipLevels;\n    FLOAT ResourceMinLODClamp;\n    } \tD3D12_TEX1D_SRV;\n\ntypedef struct D3D12_TEX1D_ARRAY_SRV\n    {\n    UINT MostDetailedMip;\n    UINT MipLevels;\n    UINT FirstArraySlice;\n    UINT ArraySize;\n    FLOAT ResourceMinLODClamp;\n    } \tD3D12_TEX1D_ARRAY_SRV;\n\ntypedef struct D3D12_TEX2D_SRV\n    {\n    UINT MostDetailedMip;\n    UINT MipLevels;\n    UINT PlaneSlice;\n    FLOAT ResourceMinLODClamp;\n    } \tD3D12_TEX2D_SRV;\n\ntypedef struct D3D12_TEX2D_ARRAY_SRV\n    {\n    UINT MostDetailedMip;\n    UINT MipLevels;\n    UINT FirstArraySlice;\n    UINT ArraySize;\n    UINT PlaneSlice;\n    FLOAT ResourceMinLODClamp;\n    } \tD3D12_TEX2D_ARRAY_SRV;\n\ntypedef struct D3D12_TEX3D_SRV\n    {\n    UINT MostDetailedMip;\n    UINT MipLevels;\n    FLOAT ResourceMinLODClamp;\n    } \tD3D12_TEX3D_SRV;\n\ntypedef struct D3D12_TEXCUBE_SRV\n    {\n    UINT MostDetailedMip;\n    UINT MipLevels;\n    FLOAT ResourceMinLODClamp;\n    } \tD3D12_TEXCUBE_SRV;\n\ntypedef struct D3D12_TEXCUBE_ARRAY_SRV\n    {\n    UINT MostDetailedMip;\n    UINT MipLevels;\n    UINT First2DArrayFace;\n    UINT NumCubes;\n    FLOAT ResourceMinLODClamp;\n    } \tD3D12_TEXCUBE_ARRAY_SRV;\n\ntypedef struct D3D12_TEX2DMS_SRV\n    {\n    UINT UnusedField_NothingToDefine;\n    } \tD3D12_TEX2DMS_SRV;\n\ntypedef struct D3D12_TEX2DMS_ARRAY_SRV\n    {\n    UINT FirstArraySlice;\n    UINT ArraySize;\n    } \tD3D12_TEX2DMS_ARRAY_SRV;\n\ntypedef \nenum D3D12_SRV_DIMENSION\n    {\n        D3D12_SRV_DIMENSION_UNKNOWN\t= 0,\n        D3D12_SRV_DIMENSION_BUFFER\t= 1,\n        D3D12_SRV_DIMENSION_TEXTURE1D\t= 2,\n        D3D12_SRV_DIMENSION_TEXTURE1DARRAY\t= 3,\n        D3D12_SRV_DIMENSION_TEXTURE2D\t= 4,\n        D3D12_SRV_DIMENSION_TEXTURE2DARRAY\t= 5,\n        D3D12_SRV_DIMENSION_TEXTURE2DMS\t= 6,\n        D3D12_SRV_DIMENSION_TEXTURE2DMSARRAY\t= 7,\n        D3D12_SRV_DIMENSION_TEXTURE3D\t= 8,\n        D3D12_SRV_DIMENSION_TEXTURECUBE\t= 9,\n        D3D12_SRV_DIMENSION_TEXTURECUBEARRAY\t= 10\n    } \tD3D12_SRV_DIMENSION;\n\ntypedef struct D3D12_SHADER_RESOURCE_VIEW_DESC\n    {\n    DXGI_FORMAT Format;\n    D3D12_SRV_DIMENSION ViewDimension;\n    UINT Shader4ComponentMapping;\n    union \n        {\n        D3D12_BUFFER_SRV Buffer;\n        D3D12_TEX1D_SRV Texture1D;\n        D3D12_TEX1D_ARRAY_SRV Texture1DArray;\n        D3D12_TEX2D_SRV Texture2D;\n        D3D12_TEX2D_ARRAY_SRV Texture2DArray;\n        D3D12_TEX2DMS_SRV Texture2DMS;\n        D3D12_TEX2DMS_ARRAY_SRV Texture2DMSArray;\n        D3D12_TEX3D_SRV Texture3D;\n        D3D12_TEXCUBE_SRV TextureCube;\n        D3D12_TEXCUBE_ARRAY_SRV TextureCubeArray;\n        } \t;\n    } \tD3D12_SHADER_RESOURCE_VIEW_DESC;\n\ntypedef struct D3D12_CONSTANT_BUFFER_VIEW_DESC\n    {\n    D3D12_GPU_VIRTUAL_ADDRESS BufferLocation;\n    UINT SizeInBytes;\n    } \tD3D12_CONSTANT_BUFFER_VIEW_DESC;\n\ntypedef \nenum D3D12_FILTER\n    {\n        D3D12_FILTER_MIN_MAG_MIP_POINT\t= 0,\n        D3D12_FILTER_MIN_MAG_POINT_MIP_LINEAR\t= 0x1,\n        D3D12_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT\t= 0x4,\n        D3D12_FILTER_MIN_POINT_MAG_MIP_LINEAR\t= 0x5,\n        D3D12_FILTER_MIN_LINEAR_MAG_MIP_POINT\t= 0x10,\n        D3D12_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR\t= 0x11,\n        D3D12_FILTER_MIN_MAG_LINEAR_MIP_POINT\t= 0x14,\n        D3D12_FILTER_MIN_MAG_MIP_LINEAR\t= 0x15,\n        D3D12_FILTER_ANISOTROPIC\t= 0x55,\n        D3D12_FILTER_COMPARISON_MIN_MAG_MIP_POINT\t= 0x80,\n        D3D12_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR\t= 0x81,\n        D3D12_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT\t= 0x84,\n        D3D12_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR\t= 0x85,\n        D3D12_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT\t= 0x90,\n        D3D12_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR\t= 0x91,\n        D3D12_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT\t= 0x94,\n        D3D12_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR\t= 0x95,\n        D3D12_FILTER_COMPARISON_ANISOTROPIC\t= 0xd5,\n        D3D12_FILTER_MINIMUM_MIN_MAG_MIP_POINT\t= 0x100,\n        D3D12_FILTER_MINIMUM_MIN_MAG_POINT_MIP_LINEAR\t= 0x101,\n        D3D12_FILTER_MINIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT\t= 0x104,\n        D3D12_FILTER_MINIMUM_MIN_POINT_MAG_MIP_LINEAR\t= 0x105,\n        D3D12_FILTER_MINIMUM_MIN_LINEAR_MAG_MIP_POINT\t= 0x110,\n        D3D12_FILTER_MINIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR\t= 0x111,\n        D3D12_FILTER_MINIMUM_MIN_MAG_LINEAR_MIP_POINT\t= 0x114,\n        D3D12_FILTER_MINIMUM_MIN_MAG_MIP_LINEAR\t= 0x115,\n        D3D12_FILTER_MINIMUM_ANISOTROPIC\t= 0x155,\n        D3D12_FILTER_MAXIMUM_MIN_MAG_MIP_POINT\t= 0x180,\n        D3D12_FILTER_MAXIMUM_MIN_MAG_POINT_MIP_LINEAR\t= 0x181,\n        D3D12_FILTER_MAXIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT\t= 0x184,\n        D3D12_FILTER_MAXIMUM_MIN_POINT_MAG_MIP_LINEAR\t= 0x185,\n        D3D12_FILTER_MAXIMUM_MIN_LINEAR_MAG_MIP_POINT\t= 0x190,\n        D3D12_FILTER_MAXIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR\t= 0x191,\n        D3D12_FILTER_MAXIMUM_MIN_MAG_LINEAR_MIP_POINT\t= 0x194,\n        D3D12_FILTER_MAXIMUM_MIN_MAG_MIP_LINEAR\t= 0x195,\n        D3D12_FILTER_MAXIMUM_ANISOTROPIC\t= 0x1d5\n    } \tD3D12_FILTER;\n\ntypedef \nenum D3D12_FILTER_TYPE\n    {\n        D3D12_FILTER_TYPE_POINT\t= 0,\n        D3D12_FILTER_TYPE_LINEAR\t= 1\n    } \tD3D12_FILTER_TYPE;\n\ntypedef \nenum D3D12_FILTER_REDUCTION_TYPE\n    {\n        D3D12_FILTER_REDUCTION_TYPE_STANDARD\t= 0,\n        D3D12_FILTER_REDUCTION_TYPE_COMPARISON\t= 1,\n        D3D12_FILTER_REDUCTION_TYPE_MINIMUM\t= 2,\n        D3D12_FILTER_REDUCTION_TYPE_MAXIMUM\t= 3\n    } \tD3D12_FILTER_REDUCTION_TYPE;\n\n#define\tD3D12_FILTER_REDUCTION_TYPE_MASK\t( 0x3 )\n\n#define\tD3D12_FILTER_REDUCTION_TYPE_SHIFT\t( 7 )\n\n#define\tD3D12_FILTER_TYPE_MASK\t( 0x3 )\n\n#define\tD3D12_MIN_FILTER_SHIFT\t( 4 )\n\n#define\tD3D12_MAG_FILTER_SHIFT\t( 2 )\n\n#define\tD3D12_MIP_FILTER_SHIFT\t( 0 )\n\n#define\tD3D12_ANISOTROPIC_FILTERING_BIT\t( 0x40 )\n\n#define D3D12_ENCODE_BASIC_FILTER( min, mag, mip, reduction )                                                     \\\n                                   ( ( D3D12_FILTER ) (                                                           \\\n                                   ( ( ( min ) & D3D12_FILTER_TYPE_MASK ) << D3D12_MIN_FILTER_SHIFT ) |           \\\n                                   ( ( ( mag ) & D3D12_FILTER_TYPE_MASK ) << D3D12_MAG_FILTER_SHIFT ) |           \\\n                                   ( ( ( mip ) & D3D12_FILTER_TYPE_MASK ) << D3D12_MIP_FILTER_SHIFT ) |           \\\n                                   ( ( ( reduction ) & D3D12_FILTER_REDUCTION_TYPE_MASK ) << D3D12_FILTER_REDUCTION_TYPE_SHIFT ) ) ) \n#define D3D12_ENCODE_ANISOTROPIC_FILTER( reduction )                                                  \\\n                                         ( ( D3D12_FILTER ) (                                         \\\n                                         D3D12_ANISOTROPIC_FILTERING_BIT |                            \\\n                                         D3D12_ENCODE_BASIC_FILTER( D3D12_FILTER_TYPE_LINEAR,         \\\n                                                                    D3D12_FILTER_TYPE_LINEAR,         \\\n                                                                    D3D12_FILTER_TYPE_LINEAR,         \\\n                                                                    reduction ) ) )                     \n#define D3D12_DECODE_MIN_FILTER( D3D12Filter )                                                              \\\n                                 ( ( D3D12_FILTER_TYPE )                                                    \\\n                                 ( ( ( D3D12Filter ) >> D3D12_MIN_FILTER_SHIFT ) & D3D12_FILTER_TYPE_MASK ) ) \n#define D3D12_DECODE_MAG_FILTER( D3D12Filter )                                                              \\\n                                 ( ( D3D12_FILTER_TYPE )                                                    \\\n                                 ( ( ( D3D12Filter ) >> D3D12_MAG_FILTER_SHIFT ) & D3D12_FILTER_TYPE_MASK ) ) \n#define D3D12_DECODE_MIP_FILTER( D3D12Filter )                                                              \\\n                                 ( ( D3D12_FILTER_TYPE )                                                    \\\n                                 ( ( ( D3D12Filter ) >> D3D12_MIP_FILTER_SHIFT ) & D3D12_FILTER_TYPE_MASK ) ) \n#define D3D12_DECODE_FILTER_REDUCTION( D3D12Filter )                                                        \\\n                                 ( ( D3D12_FILTER_REDUCTION_TYPE )                                                      \\\n                                 ( ( ( D3D12Filter ) >> D3D12_FILTER_REDUCTION_TYPE_SHIFT ) & D3D12_FILTER_REDUCTION_TYPE_MASK ) ) \n#define D3D12_DECODE_IS_COMPARISON_FILTER( D3D12Filter )                                                    \\\n                                 ( D3D12_DECODE_FILTER_REDUCTION( D3D12Filter ) == D3D12_FILTER_REDUCTION_TYPE_COMPARISON ) \n#define D3D12_DECODE_IS_ANISOTROPIC_FILTER( D3D12Filter )                                               \\\n                            ( ( ( D3D12Filter ) & D3D12_ANISOTROPIC_FILTERING_BIT ) &&                  \\\n                            ( D3D12_FILTER_TYPE_LINEAR == D3D12_DECODE_MIN_FILTER( D3D12Filter ) ) &&   \\\n                            ( D3D12_FILTER_TYPE_LINEAR == D3D12_DECODE_MAG_FILTER( D3D12Filter ) ) &&   \\\n                            ( D3D12_FILTER_TYPE_LINEAR == D3D12_DECODE_MIP_FILTER( D3D12Filter ) ) )      \ntypedef \nenum D3D12_TEXTURE_ADDRESS_MODE\n    {\n        D3D12_TEXTURE_ADDRESS_MODE_WRAP\t= 1,\n        D3D12_TEXTURE_ADDRESS_MODE_MIRROR\t= 2,\n        D3D12_TEXTURE_ADDRESS_MODE_CLAMP\t= 3,\n        D3D12_TEXTURE_ADDRESS_MODE_BORDER\t= 4,\n        D3D12_TEXTURE_ADDRESS_MODE_MIRROR_ONCE\t= 5\n    } \tD3D12_TEXTURE_ADDRESS_MODE;\n\ntypedef struct D3D12_SAMPLER_DESC\n    {\n    D3D12_FILTER Filter;\n    D3D12_TEXTURE_ADDRESS_MODE AddressU;\n    D3D12_TEXTURE_ADDRESS_MODE AddressV;\n    D3D12_TEXTURE_ADDRESS_MODE AddressW;\n    FLOAT MipLODBias;\n    UINT MaxAnisotropy;\n    D3D12_COMPARISON_FUNC ComparisonFunc;\n    FLOAT BorderColor[ 4 ];\n    FLOAT MinLOD;\n    FLOAT MaxLOD;\n    } \tD3D12_SAMPLER_DESC;\n\ntypedef \nenum D3D12_BUFFER_UAV_FLAGS\n    {\n        D3D12_BUFFER_UAV_FLAG_NONE\t= 0,\n        D3D12_BUFFER_UAV_FLAG_RAW\t= 0x1\n    } \tD3D12_BUFFER_UAV_FLAGS;\n\nDEFINE_ENUM_FLAG_OPERATORS( D3D12_BUFFER_UAV_FLAGS );\ntypedef struct D3D12_BUFFER_UAV\n    {\n    UINT64 FirstElement;\n    UINT NumElements;\n    UINT StructureByteStride;\n    UINT64 CounterOffsetInBytes;\n    D3D12_BUFFER_UAV_FLAGS Flags;\n    } \tD3D12_BUFFER_UAV;\n\ntypedef struct D3D12_TEX1D_UAV\n    {\n    UINT MipSlice;\n    } \tD3D12_TEX1D_UAV;\n\ntypedef struct D3D12_TEX1D_ARRAY_UAV\n    {\n    UINT MipSlice;\n    UINT FirstArraySlice;\n    UINT ArraySize;\n    } \tD3D12_TEX1D_ARRAY_UAV;\n\ntypedef struct D3D12_TEX2D_UAV\n    {\n    UINT MipSlice;\n    UINT PlaneSlice;\n    } \tD3D12_TEX2D_UAV;\n\ntypedef struct D3D12_TEX2D_ARRAY_UAV\n    {\n    UINT MipSlice;\n    UINT FirstArraySlice;\n    UINT ArraySize;\n    UINT PlaneSlice;\n    } \tD3D12_TEX2D_ARRAY_UAV;\n\ntypedef struct D3D12_TEX3D_UAV\n    {\n    UINT MipSlice;\n    UINT FirstWSlice;\n    UINT WSize;\n    } \tD3D12_TEX3D_UAV;\n\ntypedef \nenum D3D12_UAV_DIMENSION\n    {\n        D3D12_UAV_DIMENSION_UNKNOWN\t= 0,\n        D3D12_UAV_DIMENSION_BUFFER\t= 1,\n        D3D12_UAV_DIMENSION_TEXTURE1D\t= 2,\n        D3D12_UAV_DIMENSION_TEXTURE1DARRAY\t= 3,\n        D3D12_UAV_DIMENSION_TEXTURE2D\t= 4,\n        D3D12_UAV_DIMENSION_TEXTURE2DARRAY\t= 5,\n        D3D12_UAV_DIMENSION_TEXTURE3D\t= 8\n    } \tD3D12_UAV_DIMENSION;\n\ntypedef struct D3D12_UNORDERED_ACCESS_VIEW_DESC\n    {\n    DXGI_FORMAT Format;\n    D3D12_UAV_DIMENSION ViewDimension;\n    union \n        {\n        D3D12_BUFFER_UAV Buffer;\n        D3D12_TEX1D_UAV Texture1D;\n        D3D12_TEX1D_ARRAY_UAV Texture1DArray;\n        D3D12_TEX2D_UAV Texture2D;\n        D3D12_TEX2D_ARRAY_UAV Texture2DArray;\n        D3D12_TEX3D_UAV Texture3D;\n        } \t;\n    } \tD3D12_UNORDERED_ACCESS_VIEW_DESC;\n\ntypedef struct D3D12_BUFFER_RTV\n    {\n    UINT64 FirstElement;\n    UINT NumElements;\n    } \tD3D12_BUFFER_RTV;\n\ntypedef struct D3D12_TEX1D_RTV\n    {\n    UINT MipSlice;\n    } \tD3D12_TEX1D_RTV;\n\ntypedef struct D3D12_TEX1D_ARRAY_RTV\n    {\n    UINT MipSlice;\n    UINT FirstArraySlice;\n    UINT ArraySize;\n    } \tD3D12_TEX1D_ARRAY_RTV;\n\ntypedef struct D3D12_TEX2D_RTV\n    {\n    UINT MipSlice;\n    UINT PlaneSlice;\n    } \tD3D12_TEX2D_RTV;\n\ntypedef struct D3D12_TEX2DMS_RTV\n    {\n    UINT UnusedField_NothingToDefine;\n    } \tD3D12_TEX2DMS_RTV;\n\ntypedef struct D3D12_TEX2D_ARRAY_RTV\n    {\n    UINT MipSlice;\n    UINT FirstArraySlice;\n    UINT ArraySize;\n    UINT PlaneSlice;\n    } \tD3D12_TEX2D_ARRAY_RTV;\n\ntypedef struct D3D12_TEX2DMS_ARRAY_RTV\n    {\n    UINT FirstArraySlice;\n    UINT ArraySize;\n    } \tD3D12_TEX2DMS_ARRAY_RTV;\n\ntypedef struct D3D12_TEX3D_RTV\n    {\n    UINT MipSlice;\n    UINT FirstWSlice;\n    UINT WSize;\n    } \tD3D12_TEX3D_RTV;\n\ntypedef \nenum D3D12_RTV_DIMENSION\n    {\n        D3D12_RTV_DIMENSION_UNKNOWN\t= 0,\n        D3D12_RTV_DIMENSION_BUFFER\t= 1,\n        D3D12_RTV_DIMENSION_TEXTURE1D\t= 2,\n        D3D12_RTV_DIMENSION_TEXTURE1DARRAY\t= 3,\n        D3D12_RTV_DIMENSION_TEXTURE2D\t= 4,\n        D3D12_RTV_DIMENSION_TEXTURE2DARRAY\t= 5,\n        D3D12_RTV_DIMENSION_TEXTURE2DMS\t= 6,\n        D3D12_RTV_DIMENSION_TEXTURE2DMSARRAY\t= 7,\n        D3D12_RTV_DIMENSION_TEXTURE3D\t= 8\n    } \tD3D12_RTV_DIMENSION;\n\ntypedef struct D3D12_RENDER_TARGET_VIEW_DESC\n    {\n    DXGI_FORMAT Format;\n    D3D12_RTV_DIMENSION ViewDimension;\n    union \n        {\n        D3D12_BUFFER_RTV Buffer;\n        D3D12_TEX1D_RTV Texture1D;\n        D3D12_TEX1D_ARRAY_RTV Texture1DArray;\n        D3D12_TEX2D_RTV Texture2D;\n        D3D12_TEX2D_ARRAY_RTV Texture2DArray;\n        D3D12_TEX2DMS_RTV Texture2DMS;\n        D3D12_TEX2DMS_ARRAY_RTV Texture2DMSArray;\n        D3D12_TEX3D_RTV Texture3D;\n        } \t;\n    } \tD3D12_RENDER_TARGET_VIEW_DESC;\n\ntypedef struct D3D12_TEX1D_DSV\n    {\n    UINT MipSlice;\n    } \tD3D12_TEX1D_DSV;\n\ntypedef struct D3D12_TEX1D_ARRAY_DSV\n    {\n    UINT MipSlice;\n    UINT FirstArraySlice;\n    UINT ArraySize;\n    } \tD3D12_TEX1D_ARRAY_DSV;\n\ntypedef struct D3D12_TEX2D_DSV\n    {\n    UINT MipSlice;\n    } \tD3D12_TEX2D_DSV;\n\ntypedef struct D3D12_TEX2D_ARRAY_DSV\n    {\n    UINT MipSlice;\n    UINT FirstArraySlice;\n    UINT ArraySize;\n    } \tD3D12_TEX2D_ARRAY_DSV;\n\ntypedef struct D3D12_TEX2DMS_DSV\n    {\n    UINT UnusedField_NothingToDefine;\n    } \tD3D12_TEX2DMS_DSV;\n\ntypedef struct D3D12_TEX2DMS_ARRAY_DSV\n    {\n    UINT FirstArraySlice;\n    UINT ArraySize;\n    } \tD3D12_TEX2DMS_ARRAY_DSV;\n\ntypedef \nenum D3D12_DSV_FLAGS\n    {\n        D3D12_DSV_FLAG_NONE\t= 0,\n        D3D12_DSV_FLAG_READ_ONLY_DEPTH\t= 0x1,\n        D3D12_DSV_FLAG_READ_ONLY_STENCIL\t= 0x2\n    } \tD3D12_DSV_FLAGS;\n\nDEFINE_ENUM_FLAG_OPERATORS( D3D12_DSV_FLAGS );\ntypedef \nenum D3D12_DSV_DIMENSION\n    {\n        D3D12_DSV_DIMENSION_UNKNOWN\t= 0,\n        D3D12_DSV_DIMENSION_TEXTURE1D\t= 1,\n        D3D12_DSV_DIMENSION_TEXTURE1DARRAY\t= 2,\n        D3D12_DSV_DIMENSION_TEXTURE2D\t= 3,\n        D3D12_DSV_DIMENSION_TEXTURE2DARRAY\t= 4,\n        D3D12_DSV_DIMENSION_TEXTURE2DMS\t= 5,\n        D3D12_DSV_DIMENSION_TEXTURE2DMSARRAY\t= 6\n    } \tD3D12_DSV_DIMENSION;\n\ntypedef struct D3D12_DEPTH_STENCIL_VIEW_DESC\n    {\n    DXGI_FORMAT Format;\n    D3D12_DSV_DIMENSION ViewDimension;\n    D3D12_DSV_FLAGS Flags;\n    union \n        {\n        D3D12_TEX1D_DSV Texture1D;\n        D3D12_TEX1D_ARRAY_DSV Texture1DArray;\n        D3D12_TEX2D_DSV Texture2D;\n        D3D12_TEX2D_ARRAY_DSV Texture2DArray;\n        D3D12_TEX2DMS_DSV Texture2DMS;\n        D3D12_TEX2DMS_ARRAY_DSV Texture2DMSArray;\n        } \t;\n    } \tD3D12_DEPTH_STENCIL_VIEW_DESC;\n\ntypedef \nenum D3D12_CLEAR_FLAGS\n    {\n        D3D12_CLEAR_FLAG_DEPTH\t= 0x1,\n        D3D12_CLEAR_FLAG_STENCIL\t= 0x2\n    } \tD3D12_CLEAR_FLAGS;\n\nDEFINE_ENUM_FLAG_OPERATORS( D3D12_CLEAR_FLAGS );\ntypedef \nenum D3D12_FENCE_FLAGS\n    {\n        D3D12_FENCE_FLAG_NONE\t= 0,\n        D3D12_FENCE_FLAG_SHARED\t= 0x1,\n        D3D12_FENCE_FLAG_SHARED_CROSS_ADAPTER\t= 0x2\n    } \tD3D12_FENCE_FLAGS;\n\nDEFINE_ENUM_FLAG_OPERATORS( D3D12_FENCE_FLAGS );\ntypedef \nenum D3D12_DESCRIPTOR_HEAP_TYPE\n    {\n        D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV\t= 0,\n        D3D12_DESCRIPTOR_HEAP_TYPE_SAMPLER\t= ( D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV + 1 ) ,\n        D3D12_DESCRIPTOR_HEAP_TYPE_RTV\t= ( D3D12_DESCRIPTOR_HEAP_TYPE_SAMPLER + 1 ) ,\n        D3D12_DESCRIPTOR_HEAP_TYPE_DSV\t= ( D3D12_DESCRIPTOR_HEAP_TYPE_RTV + 1 ) ,\n        D3D12_DESCRIPTOR_HEAP_TYPE_NUM_TYPES\t= ( D3D12_DESCRIPTOR_HEAP_TYPE_DSV + 1 ) \n    } \tD3D12_DESCRIPTOR_HEAP_TYPE;\n\ntypedef \nenum D3D12_DESCRIPTOR_HEAP_FLAGS\n    {\n        D3D12_DESCRIPTOR_HEAP_FLAG_NONE\t= 0,\n        D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE\t= 0x1\n    } \tD3D12_DESCRIPTOR_HEAP_FLAGS;\n\nDEFINE_ENUM_FLAG_OPERATORS( D3D12_DESCRIPTOR_HEAP_FLAGS );\ntypedef struct D3D12_DESCRIPTOR_HEAP_DESC\n    {\n    D3D12_DESCRIPTOR_HEAP_TYPE Type;\n    UINT NumDescriptors;\n    D3D12_DESCRIPTOR_HEAP_FLAGS Flags;\n    UINT NodeMask;\n    } \tD3D12_DESCRIPTOR_HEAP_DESC;\n\ntypedef \nenum D3D12_DESCRIPTOR_RANGE_TYPE\n    {\n        D3D12_DESCRIPTOR_RANGE_TYPE_SRV\t= 0,\n        D3D12_DESCRIPTOR_RANGE_TYPE_UAV\t= ( D3D12_DESCRIPTOR_RANGE_TYPE_SRV + 1 ) ,\n        D3D12_DESCRIPTOR_RANGE_TYPE_CBV\t= ( D3D12_DESCRIPTOR_RANGE_TYPE_UAV + 1 ) ,\n        D3D12_DESCRIPTOR_RANGE_TYPE_SAMPLER\t= ( D3D12_DESCRIPTOR_RANGE_TYPE_CBV + 1 ) \n    } \tD3D12_DESCRIPTOR_RANGE_TYPE;\n\ntypedef struct D3D12_DESCRIPTOR_RANGE\n    {\n    D3D12_DESCRIPTOR_RANGE_TYPE RangeType;\n    UINT NumDescriptors;\n    UINT BaseShaderRegister;\n    UINT RegisterSpace;\n    UINT OffsetInDescriptorsFromTableStart;\n    } \tD3D12_DESCRIPTOR_RANGE;\n\ntypedef struct D3D12_ROOT_DESCRIPTOR_TABLE\n    {\n    UINT NumDescriptorRanges;\n    _Field_size_full_(NumDescriptorRanges)  const D3D12_DESCRIPTOR_RANGE *pDescriptorRanges;\n    } \tD3D12_ROOT_DESCRIPTOR_TABLE;\n\ntypedef struct D3D12_ROOT_CONSTANTS\n    {\n    UINT ShaderRegister;\n    UINT RegisterSpace;\n    UINT Num32BitValues;\n    } \tD3D12_ROOT_CONSTANTS;\n\ntypedef struct D3D12_ROOT_DESCRIPTOR\n    {\n    UINT ShaderRegister;\n    UINT RegisterSpace;\n    } \tD3D12_ROOT_DESCRIPTOR;\n\ntypedef \nenum D3D12_SHADER_VISIBILITY\n    {\n        D3D12_SHADER_VISIBILITY_ALL\t= 0,\n        D3D12_SHADER_VISIBILITY_VERTEX\t= 1,\n        D3D12_SHADER_VISIBILITY_HULL\t= 2,\n        D3D12_SHADER_VISIBILITY_DOMAIN\t= 3,\n        D3D12_SHADER_VISIBILITY_GEOMETRY\t= 4,\n        D3D12_SHADER_VISIBILITY_PIXEL\t= 5\n    } \tD3D12_SHADER_VISIBILITY;\n\ntypedef \nenum D3D12_ROOT_PARAMETER_TYPE\n    {\n        D3D12_ROOT_PARAMETER_TYPE_DESCRIPTOR_TABLE\t= 0,\n        D3D12_ROOT_PARAMETER_TYPE_32BIT_CONSTANTS\t= ( D3D12_ROOT_PARAMETER_TYPE_DESCRIPTOR_TABLE + 1 ) ,\n        D3D12_ROOT_PARAMETER_TYPE_CBV\t= ( D3D12_ROOT_PARAMETER_TYPE_32BIT_CONSTANTS + 1 ) ,\n        D3D12_ROOT_PARAMETER_TYPE_SRV\t= ( D3D12_ROOT_PARAMETER_TYPE_CBV + 1 ) ,\n        D3D12_ROOT_PARAMETER_TYPE_UAV\t= ( D3D12_ROOT_PARAMETER_TYPE_SRV + 1 ) \n    } \tD3D12_ROOT_PARAMETER_TYPE;\n\ntypedef struct D3D12_ROOT_PARAMETER\n    {\n    D3D12_ROOT_PARAMETER_TYPE ParameterType;\n    union \n        {\n        D3D12_ROOT_DESCRIPTOR_TABLE DescriptorTable;\n        D3D12_ROOT_CONSTANTS Constants;\n        D3D12_ROOT_DESCRIPTOR Descriptor;\n        } \t;\n    D3D12_SHADER_VISIBILITY ShaderVisibility;\n    } \tD3D12_ROOT_PARAMETER;\n\ntypedef \nenum D3D12_ROOT_SIGNATURE_FLAGS\n    {\n        D3D12_ROOT_SIGNATURE_FLAG_NONE\t= 0,\n        D3D12_ROOT_SIGNATURE_FLAG_ALLOW_INPUT_ASSEMBLER_INPUT_LAYOUT\t= 0x1,\n        D3D12_ROOT_SIGNATURE_FLAG_DENY_VERTEX_SHADER_ROOT_ACCESS\t= 0x2,\n        D3D12_ROOT_SIGNATURE_FLAG_DENY_HULL_SHADER_ROOT_ACCESS\t= 0x4,\n        D3D12_ROOT_SIGNATURE_FLAG_DENY_DOMAIN_SHADER_ROOT_ACCESS\t= 0x8,\n        D3D12_ROOT_SIGNATURE_FLAG_DENY_GEOMETRY_SHADER_ROOT_ACCESS\t= 0x10,\n        D3D12_ROOT_SIGNATURE_FLAG_DENY_PIXEL_SHADER_ROOT_ACCESS\t= 0x20,\n        D3D12_ROOT_SIGNATURE_FLAG_ALLOW_STREAM_OUTPUT\t= 0x40\n    } \tD3D12_ROOT_SIGNATURE_FLAGS;\n\nDEFINE_ENUM_FLAG_OPERATORS( D3D12_ROOT_SIGNATURE_FLAGS );\ntypedef \nenum D3D12_STATIC_BORDER_COLOR\n    {\n        D3D12_STATIC_BORDER_COLOR_TRANSPARENT_BLACK\t= 0,\n        D3D12_STATIC_BORDER_COLOR_OPAQUE_BLACK\t= ( D3D12_STATIC_BORDER_COLOR_TRANSPARENT_BLACK + 1 ) ,\n        D3D12_STATIC_BORDER_COLOR_OPAQUE_WHITE\t= ( D3D12_STATIC_BORDER_COLOR_OPAQUE_BLACK + 1 ) \n    } \tD3D12_STATIC_BORDER_COLOR;\n\ntypedef struct D3D12_STATIC_SAMPLER_DESC\n    {\n    D3D12_FILTER Filter;\n    D3D12_TEXTURE_ADDRESS_MODE AddressU;\n    D3D12_TEXTURE_ADDRESS_MODE AddressV;\n    D3D12_TEXTURE_ADDRESS_MODE AddressW;\n    FLOAT MipLODBias;\n    UINT MaxAnisotropy;\n    D3D12_COMPARISON_FUNC ComparisonFunc;\n    D3D12_STATIC_BORDER_COLOR BorderColor;\n    FLOAT MinLOD;\n    FLOAT MaxLOD;\n    UINT ShaderRegister;\n    UINT RegisterSpace;\n    D3D12_SHADER_VISIBILITY ShaderVisibility;\n    } \tD3D12_STATIC_SAMPLER_DESC;\n\ntypedef struct D3D12_ROOT_SIGNATURE_DESC\n    {\n    UINT NumParameters;\n    _Field_size_full_(NumParameters)  const D3D12_ROOT_PARAMETER *pParameters;\n    UINT NumStaticSamplers;\n    _Field_size_full_(NumStaticSamplers)  const D3D12_STATIC_SAMPLER_DESC *pStaticSamplers;\n    D3D12_ROOT_SIGNATURE_FLAGS Flags;\n    } \tD3D12_ROOT_SIGNATURE_DESC;\n\ntypedef \nenum D3D12_DESCRIPTOR_RANGE_FLAGS\n    {\n        D3D12_DESCRIPTOR_RANGE_FLAG_NONE\t= 0,\n        D3D12_DESCRIPTOR_RANGE_FLAG_DESCRIPTORS_VOLATILE\t= 0x1,\n        D3D12_DESCRIPTOR_RANGE_FLAG_DATA_VOLATILE\t= 0x2,\n        D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE\t= 0x4,\n        D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC\t= 0x8\n    } \tD3D12_DESCRIPTOR_RANGE_FLAGS;\n\nDEFINE_ENUM_FLAG_OPERATORS( D3D12_DESCRIPTOR_RANGE_FLAGS );\ntypedef struct D3D12_DESCRIPTOR_RANGE1\n    {\n    D3D12_DESCRIPTOR_RANGE_TYPE RangeType;\n    UINT NumDescriptors;\n    UINT BaseShaderRegister;\n    UINT RegisterSpace;\n    D3D12_DESCRIPTOR_RANGE_FLAGS Flags;\n    UINT OffsetInDescriptorsFromTableStart;\n    } \tD3D12_DESCRIPTOR_RANGE1;\n\ntypedef struct D3D12_ROOT_DESCRIPTOR_TABLE1\n    {\n    UINT NumDescriptorRanges;\n    _Field_size_full_(NumDescriptorRanges)  const D3D12_DESCRIPTOR_RANGE1 *pDescriptorRanges;\n    } \tD3D12_ROOT_DESCRIPTOR_TABLE1;\n\ntypedef \nenum D3D12_ROOT_DESCRIPTOR_FLAGS\n    {\n        D3D12_ROOT_DESCRIPTOR_FLAG_NONE\t= 0,\n        D3D12_ROOT_DESCRIPTOR_FLAG_DATA_VOLATILE\t= 0x2,\n        D3D12_ROOT_DESCRIPTOR_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE\t= 0x4,\n        D3D12_ROOT_DESCRIPTOR_FLAG_DATA_STATIC\t= 0x8\n    } \tD3D12_ROOT_DESCRIPTOR_FLAGS;\n\nDEFINE_ENUM_FLAG_OPERATORS( D3D12_ROOT_DESCRIPTOR_FLAGS );\ntypedef struct D3D12_ROOT_DESCRIPTOR1\n    {\n    UINT ShaderRegister;\n    UINT RegisterSpace;\n    D3D12_ROOT_DESCRIPTOR_FLAGS Flags;\n    } \tD3D12_ROOT_DESCRIPTOR1;\n\ntypedef struct D3D12_ROOT_PARAMETER1\n    {\n    D3D12_ROOT_PARAMETER_TYPE ParameterType;\n    union \n        {\n        D3D12_ROOT_DESCRIPTOR_TABLE1 DescriptorTable;\n        D3D12_ROOT_CONSTANTS Constants;\n        D3D12_ROOT_DESCRIPTOR1 Descriptor;\n        } \t;\n    D3D12_SHADER_VISIBILITY ShaderVisibility;\n    } \tD3D12_ROOT_PARAMETER1;\n\ntypedef struct D3D12_ROOT_SIGNATURE_DESC1\n    {\n    UINT NumParameters;\n    _Field_size_full_(NumParameters)  const D3D12_ROOT_PARAMETER1 *pParameters;\n    UINT NumStaticSamplers;\n    _Field_size_full_(NumStaticSamplers)  const D3D12_STATIC_SAMPLER_DESC *pStaticSamplers;\n    D3D12_ROOT_SIGNATURE_FLAGS Flags;\n    } \tD3D12_ROOT_SIGNATURE_DESC1;\n\ntypedef struct D3D12_VERSIONED_ROOT_SIGNATURE_DESC\n    {\n    D3D_ROOT_SIGNATURE_VERSION Version;\n    union \n        {\n        D3D12_ROOT_SIGNATURE_DESC Desc_1_0;\n        D3D12_ROOT_SIGNATURE_DESC1 Desc_1_1;\n        } \t;\n    } \tD3D12_VERSIONED_ROOT_SIGNATURE_DESC;\n\n\n\nextern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0001_v0_0_c_ifspec;\nextern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0001_v0_0_s_ifspec;\n\n#ifndef __ID3D12RootSignatureDeserializer_INTERFACE_DEFINED__\n#define __ID3D12RootSignatureDeserializer_INTERFACE_DEFINED__\n\n/* interface ID3D12RootSignatureDeserializer */\n/* [unique][local][object][uuid] */ \n\n\nEXTERN_C const IID IID_ID3D12RootSignatureDeserializer;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"34AB647B-3CC8-46AC-841B-C0965645C046\")\n    ID3D12RootSignatureDeserializer : public IUnknown\n    {\n    public:\n        virtual const D3D12_ROOT_SIGNATURE_DESC *STDMETHODCALLTYPE GetRootSignatureDesc( void) = 0;\n        \n    };\n    \n    \n#else \t/* C style interface */\n\n    typedef struct ID3D12RootSignatureDeserializerVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            ID3D12RootSignatureDeserializer * This,\n            REFIID riid,\n            _COM_Outptr_  void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            ID3D12RootSignatureDeserializer * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            ID3D12RootSignatureDeserializer * This);\n        \n        const D3D12_ROOT_SIGNATURE_DESC *( STDMETHODCALLTYPE *GetRootSignatureDesc )( \n            ID3D12RootSignatureDeserializer * This);\n        \n        END_INTERFACE\n    } ID3D12RootSignatureDeserializerVtbl;\n\n    interface ID3D12RootSignatureDeserializer\n    {\n        CONST_VTBL struct ID3D12RootSignatureDeserializerVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define ID3D12RootSignatureDeserializer_QueryInterface(This,riid,ppvObject)\t\\\n    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \n\n#define ID3D12RootSignatureDeserializer_AddRef(This)\t\\\n    ( (This)->lpVtbl -> AddRef(This) ) \n\n#define ID3D12RootSignatureDeserializer_Release(This)\t\\\n    ( (This)->lpVtbl -> Release(This) ) \n\n\n#define ID3D12RootSignatureDeserializer_GetRootSignatureDesc(This)\t\\\n    ( (This)->lpVtbl -> GetRootSignatureDesc(This) ) \n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n\n#endif \t/* __ID3D12RootSignatureDeserializer_INTERFACE_DEFINED__ */\n\n\n#ifndef __ID3D12VersionedRootSignatureDeserializer_INTERFACE_DEFINED__\n#define __ID3D12VersionedRootSignatureDeserializer_INTERFACE_DEFINED__\n\n/* interface ID3D12VersionedRootSignatureDeserializer */\n/* [unique][local][object][uuid] */ \n\n\nEXTERN_C const IID IID_ID3D12VersionedRootSignatureDeserializer;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"7F91CE67-090C-4BB7-B78E-ED8FF2E31DA0\")\n    ID3D12VersionedRootSignatureDeserializer : public IUnknown\n    {\n    public:\n        virtual HRESULT STDMETHODCALLTYPE GetRootSignatureDescAtVersion( \n            D3D_ROOT_SIGNATURE_VERSION convertToVersion,\n            _Out_  const D3D12_VERSIONED_ROOT_SIGNATURE_DESC **ppDesc) = 0;\n        \n        virtual const D3D12_VERSIONED_ROOT_SIGNATURE_DESC *STDMETHODCALLTYPE GetUnconvertedRootSignatureDesc( void) = 0;\n        \n    };\n    \n    \n#else \t/* C style interface */\n\n    typedef struct ID3D12VersionedRootSignatureDeserializerVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            ID3D12VersionedRootSignatureDeserializer * This,\n            REFIID riid,\n            _COM_Outptr_  void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            ID3D12VersionedRootSignatureDeserializer * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            ID3D12VersionedRootSignatureDeserializer * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetRootSignatureDescAtVersion )( \n            ID3D12VersionedRootSignatureDeserializer * This,\n            D3D_ROOT_SIGNATURE_VERSION convertToVersion,\n            _Out_  const D3D12_VERSIONED_ROOT_SIGNATURE_DESC **ppDesc);\n        \n        const D3D12_VERSIONED_ROOT_SIGNATURE_DESC *( STDMETHODCALLTYPE *GetUnconvertedRootSignatureDesc )( \n            ID3D12VersionedRootSignatureDeserializer * This);\n        \n        END_INTERFACE\n    } ID3D12VersionedRootSignatureDeserializerVtbl;\n\n    interface ID3D12VersionedRootSignatureDeserializer\n    {\n        CONST_VTBL struct ID3D12VersionedRootSignatureDeserializerVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define ID3D12VersionedRootSignatureDeserializer_QueryInterface(This,riid,ppvObject)\t\\\n    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \n\n#define ID3D12VersionedRootSignatureDeserializer_AddRef(This)\t\\\n    ( (This)->lpVtbl -> AddRef(This) ) \n\n#define ID3D12VersionedRootSignatureDeserializer_Release(This)\t\\\n    ( (This)->lpVtbl -> Release(This) ) \n\n\n#define ID3D12VersionedRootSignatureDeserializer_GetRootSignatureDescAtVersion(This,convertToVersion,ppDesc)\t\\\n    ( (This)->lpVtbl -> GetRootSignatureDescAtVersion(This,convertToVersion,ppDesc) ) \n\n#define ID3D12VersionedRootSignatureDeserializer_GetUnconvertedRootSignatureDesc(This)\t\\\n    ( (This)->lpVtbl -> GetUnconvertedRootSignatureDesc(This) ) \n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n\n#endif \t/* __ID3D12VersionedRootSignatureDeserializer_INTERFACE_DEFINED__ */\n\n\n/* interface __MIDL_itf_d3d12_0000_0003 */\n/* [local] */ \n\ntypedef HRESULT (WINAPI* PFN_D3D12_SERIALIZE_ROOT_SIGNATURE)(\n                            _In_ const D3D12_ROOT_SIGNATURE_DESC* pRootSignature,\n                            _In_ D3D_ROOT_SIGNATURE_VERSION Version,\n                            _Out_ ID3DBlob** ppBlob,\n                            _Always_(_Outptr_opt_result_maybenull_) ID3DBlob** ppErrorBlob);\n\nHRESULT WINAPI D3D12SerializeRootSignature(\n                            _In_ const D3D12_ROOT_SIGNATURE_DESC* pRootSignature,\n                            _In_ D3D_ROOT_SIGNATURE_VERSION Version,\n                            _Out_ ID3DBlob** ppBlob,\n                            _Always_(_Outptr_opt_result_maybenull_) ID3DBlob** ppErrorBlob);\n\ntypedef HRESULT (WINAPI* PFN_D3D12_CREATE_ROOT_SIGNATURE_DESERIALIZER)(\n                                     _In_reads_bytes_(SrcDataSizeInBytes) LPCVOID pSrcData,\n                                     _In_ SIZE_T SrcDataSizeInBytes,\n                                     _In_ REFIID pRootSignatureDeserializerInterface,\n                                     _Out_ void** ppRootSignatureDeserializer);\n\nHRESULT WINAPI D3D12CreateRootSignatureDeserializer(\n                                     _In_reads_bytes_(SrcDataSizeInBytes) LPCVOID pSrcData,\n                                     _In_ SIZE_T SrcDataSizeInBytes,\n                                     _In_ REFIID pRootSignatureDeserializerInterface,\n                                     _Out_ void** ppRootSignatureDeserializer);\n\ntypedef HRESULT (WINAPI* PFN_D3D12_SERIALIZE_VERSIONED_ROOT_SIGNATURE)(\n                            _In_ const D3D12_VERSIONED_ROOT_SIGNATURE_DESC* pRootSignature,\n                            _Out_ ID3DBlob** ppBlob,\n                            _Always_(_Outptr_opt_result_maybenull_) ID3DBlob** ppErrorBlob);\n\nHRESULT WINAPI D3D12SerializeVersionedRootSignature(\n                            _In_ const D3D12_VERSIONED_ROOT_SIGNATURE_DESC* pRootSignature,\n                            _Out_ ID3DBlob** ppBlob,\n                            _Always_(_Outptr_opt_result_maybenull_) ID3DBlob** ppErrorBlob);\n\ntypedef HRESULT (WINAPI* PFN_D3D12_CREATE_VERSIONED_ROOT_SIGNATURE_DESERIALIZER)(\n                                     _In_reads_bytes_(SrcDataSizeInBytes) LPCVOID pSrcData,\n                                     _In_ SIZE_T SrcDataSizeInBytes,\n                                     _In_ REFIID pRootSignatureDeserializerInterface,\n                                     _Out_ void** ppRootSignatureDeserializer);\n\nHRESULT WINAPI D3D12CreateVersionedRootSignatureDeserializer(\n                                     _In_reads_bytes_(SrcDataSizeInBytes) LPCVOID pSrcData,\n                                     _In_ SIZE_T SrcDataSizeInBytes,\n                                     _In_ REFIID pRootSignatureDeserializerInterface,\n                                     _Out_ void** ppRootSignatureDeserializer);\n\ntypedef struct D3D12_CPU_DESCRIPTOR_HANDLE\n    {\n    SIZE_T ptr;\n    } \tD3D12_CPU_DESCRIPTOR_HANDLE;\n\ntypedef struct D3D12_GPU_DESCRIPTOR_HANDLE\n    {\n    UINT64 ptr;\n    } \tD3D12_GPU_DESCRIPTOR_HANDLE;\n\n// If rects are supplied in D3D12_DISCARD_REGION, below, the resource \n// must have 2D subresources with all specified subresources the same dimension.\ntypedef struct D3D12_DISCARD_REGION\n    {\n    UINT NumRects;\n    _In_reads_(NumRects)  const D3D12_RECT *pRects;\n    UINT FirstSubresource;\n    UINT NumSubresources;\n    } \tD3D12_DISCARD_REGION;\n\ntypedef \nenum D3D12_QUERY_HEAP_TYPE\n    {\n        D3D12_QUERY_HEAP_TYPE_OCCLUSION\t= 0,\n        D3D12_QUERY_HEAP_TYPE_TIMESTAMP\t= 1,\n        D3D12_QUERY_HEAP_TYPE_PIPELINE_STATISTICS\t= 2,\n        D3D12_QUERY_HEAP_TYPE_SO_STATISTICS\t= 3\n    } \tD3D12_QUERY_HEAP_TYPE;\n\ntypedef struct D3D12_QUERY_HEAP_DESC\n    {\n    D3D12_QUERY_HEAP_TYPE Type;\n    UINT Count;\n    UINT NodeMask;\n    } \tD3D12_QUERY_HEAP_DESC;\n\ntypedef \nenum D3D12_QUERY_TYPE\n    {\n        D3D12_QUERY_TYPE_OCCLUSION\t= 0,\n        D3D12_QUERY_TYPE_BINARY_OCCLUSION\t= 1,\n        D3D12_QUERY_TYPE_TIMESTAMP\t= 2,\n        D3D12_QUERY_TYPE_PIPELINE_STATISTICS\t= 3,\n        D3D12_QUERY_TYPE_SO_STATISTICS_STREAM0\t= 4,\n        D3D12_QUERY_TYPE_SO_STATISTICS_STREAM1\t= 5,\n        D3D12_QUERY_TYPE_SO_STATISTICS_STREAM2\t= 6,\n        D3D12_QUERY_TYPE_SO_STATISTICS_STREAM3\t= 7\n    } \tD3D12_QUERY_TYPE;\n\ntypedef \nenum D3D12_PREDICATION_OP\n    {\n        D3D12_PREDICATION_OP_EQUAL_ZERO\t= 0,\n        D3D12_PREDICATION_OP_NOT_EQUAL_ZERO\t= 1\n    } \tD3D12_PREDICATION_OP;\n\ntypedef struct D3D12_QUERY_DATA_PIPELINE_STATISTICS\n    {\n    UINT64 IAVertices;\n    UINT64 IAPrimitives;\n    UINT64 VSInvocations;\n    UINT64 GSInvocations;\n    UINT64 GSPrimitives;\n    UINT64 CInvocations;\n    UINT64 CPrimitives;\n    UINT64 PSInvocations;\n    UINT64 HSInvocations;\n    UINT64 DSInvocations;\n    UINT64 CSInvocations;\n    } \tD3D12_QUERY_DATA_PIPELINE_STATISTICS;\n\ntypedef struct D3D12_QUERY_DATA_SO_STATISTICS\n    {\n    UINT64 NumPrimitivesWritten;\n    UINT64 PrimitivesStorageNeeded;\n    } \tD3D12_QUERY_DATA_SO_STATISTICS;\n\ntypedef struct D3D12_STREAM_OUTPUT_BUFFER_VIEW\n    {\n    D3D12_GPU_VIRTUAL_ADDRESS BufferLocation;\n    UINT64 SizeInBytes;\n    D3D12_GPU_VIRTUAL_ADDRESS BufferFilledSizeLocation;\n    } \tD3D12_STREAM_OUTPUT_BUFFER_VIEW;\n\ntypedef struct D3D12_DRAW_ARGUMENTS\n    {\n    UINT VertexCountPerInstance;\n    UINT InstanceCount;\n    UINT StartVertexLocation;\n    UINT StartInstanceLocation;\n    } \tD3D12_DRAW_ARGUMENTS;\n\ntypedef struct D3D12_DRAW_INDEXED_ARGUMENTS\n    {\n    UINT IndexCountPerInstance;\n    UINT InstanceCount;\n    UINT StartIndexLocation;\n    INT BaseVertexLocation;\n    UINT StartInstanceLocation;\n    } \tD3D12_DRAW_INDEXED_ARGUMENTS;\n\ntypedef struct D3D12_DISPATCH_ARGUMENTS\n    {\n    UINT ThreadGroupCountX;\n    UINT ThreadGroupCountY;\n    UINT ThreadGroupCountZ;\n    } \tD3D12_DISPATCH_ARGUMENTS;\n\ntypedef struct D3D12_VERTEX_BUFFER_VIEW\n    {\n    D3D12_GPU_VIRTUAL_ADDRESS BufferLocation;\n    UINT SizeInBytes;\n    UINT StrideInBytes;\n    } \tD3D12_VERTEX_BUFFER_VIEW;\n\ntypedef struct D3D12_INDEX_BUFFER_VIEW\n    {\n    D3D12_GPU_VIRTUAL_ADDRESS BufferLocation;\n    UINT SizeInBytes;\n    DXGI_FORMAT Format;\n    } \tD3D12_INDEX_BUFFER_VIEW;\n\ntypedef \nenum D3D12_INDIRECT_ARGUMENT_TYPE\n    {\n        D3D12_INDIRECT_ARGUMENT_TYPE_DRAW\t= 0,\n        D3D12_INDIRECT_ARGUMENT_TYPE_DRAW_INDEXED\t= ( D3D12_INDIRECT_ARGUMENT_TYPE_DRAW + 1 ) ,\n        D3D12_INDIRECT_ARGUMENT_TYPE_DISPATCH\t= ( D3D12_INDIRECT_ARGUMENT_TYPE_DRAW_INDEXED + 1 ) ,\n        D3D12_INDIRECT_ARGUMENT_TYPE_VERTEX_BUFFER_VIEW\t= ( D3D12_INDIRECT_ARGUMENT_TYPE_DISPATCH + 1 ) ,\n        D3D12_INDIRECT_ARGUMENT_TYPE_INDEX_BUFFER_VIEW\t= ( D3D12_INDIRECT_ARGUMENT_TYPE_VERTEX_BUFFER_VIEW + 1 ) ,\n        D3D12_INDIRECT_ARGUMENT_TYPE_CONSTANT\t= ( D3D12_INDIRECT_ARGUMENT_TYPE_INDEX_BUFFER_VIEW + 1 ) ,\n        D3D12_INDIRECT_ARGUMENT_TYPE_CONSTANT_BUFFER_VIEW\t= ( D3D12_INDIRECT_ARGUMENT_TYPE_CONSTANT + 1 ) ,\n        D3D12_INDIRECT_ARGUMENT_TYPE_SHADER_RESOURCE_VIEW\t= ( D3D12_INDIRECT_ARGUMENT_TYPE_CONSTANT_BUFFER_VIEW + 1 ) ,\n        D3D12_INDIRECT_ARGUMENT_TYPE_UNORDERED_ACCESS_VIEW\t= ( D3D12_INDIRECT_ARGUMENT_TYPE_SHADER_RESOURCE_VIEW + 1 ) \n    } \tD3D12_INDIRECT_ARGUMENT_TYPE;\n\ntypedef struct D3D12_INDIRECT_ARGUMENT_DESC\n    {\n    D3D12_INDIRECT_ARGUMENT_TYPE Type;\n    union \n        {\n        struct \n            {\n            UINT Slot;\n            } \tVertexBuffer;\n        struct \n            {\n            UINT RootParameterIndex;\n            UINT DestOffsetIn32BitValues;\n            UINT Num32BitValuesToSet;\n            } \tConstant;\n        struct \n            {\n            UINT RootParameterIndex;\n            } \tConstantBufferView;\n        struct \n            {\n            UINT RootParameterIndex;\n            } \tShaderResourceView;\n        struct \n            {\n            UINT RootParameterIndex;\n            } \tUnorderedAccessView;\n        } \t;\n    } \tD3D12_INDIRECT_ARGUMENT_DESC;\n\ntypedef struct D3D12_COMMAND_SIGNATURE_DESC\n    {\n    UINT ByteStride;\n    UINT NumArgumentDescs;\n    _Field_size_full_(NumArgumentDescs)  const D3D12_INDIRECT_ARGUMENT_DESC *pArgumentDescs;\n    UINT NodeMask;\n    } \tD3D12_COMMAND_SIGNATURE_DESC;\n\n\n\n\nextern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0003_v0_0_c_ifspec;\nextern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0003_v0_0_s_ifspec;\n\n#ifndef __ID3D12Pageable_INTERFACE_DEFINED__\n#define __ID3D12Pageable_INTERFACE_DEFINED__\n\n/* interface ID3D12Pageable */\n/* [unique][local][object][uuid] */ \n\n\nEXTERN_C const IID IID_ID3D12Pageable;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"63ee58fb-1268-4835-86da-f008ce62f0d6\")\n    ID3D12Pageable : public ID3D12DeviceChild\n    {\n    public:\n    };\n    \n    \n#else \t/* C style interface */\n\n    typedef struct ID3D12PageableVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            ID3D12Pageable * This,\n            REFIID riid,\n            _COM_Outptr_  void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            ID3D12Pageable * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            ID3D12Pageable * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( \n            ID3D12Pageable * This,\n            _In_  REFGUID guid,\n            _Inout_  UINT *pDataSize,\n            _Out_writes_bytes_opt_( *pDataSize )  void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( \n            ID3D12Pageable * This,\n            _In_  REFGUID guid,\n            _In_  UINT DataSize,\n            _In_reads_bytes_opt_( DataSize )  const void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( \n            ID3D12Pageable * This,\n            _In_  REFGUID guid,\n            _In_opt_  const IUnknown *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetName )( \n            ID3D12Pageable * This,\n            _In_z_  LPCWSTR Name);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetDevice )( \n            ID3D12Pageable * This,\n            REFIID riid,\n            _COM_Outptr_opt_  void **ppvDevice);\n        \n        END_INTERFACE\n    } ID3D12PageableVtbl;\n\n    interface ID3D12Pageable\n    {\n        CONST_VTBL struct ID3D12PageableVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define ID3D12Pageable_QueryInterface(This,riid,ppvObject)\t\\\n    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \n\n#define ID3D12Pageable_AddRef(This)\t\\\n    ( (This)->lpVtbl -> AddRef(This) ) \n\n#define ID3D12Pageable_Release(This)\t\\\n    ( (This)->lpVtbl -> Release(This) ) \n\n\n#define ID3D12Pageable_GetPrivateData(This,guid,pDataSize,pData)\t\\\n    ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) \n\n#define ID3D12Pageable_SetPrivateData(This,guid,DataSize,pData)\t\\\n    ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) \n\n#define ID3D12Pageable_SetPrivateDataInterface(This,guid,pData)\t\\\n    ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) \n\n#define ID3D12Pageable_SetName(This,Name)\t\\\n    ( (This)->lpVtbl -> SetName(This,Name) ) \n\n\n#define ID3D12Pageable_GetDevice(This,riid,ppvDevice)\t\\\n    ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) ) \n\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n\n#endif \t/* __ID3D12Pageable_INTERFACE_DEFINED__ */\n\n\n#ifndef __ID3D12Heap_INTERFACE_DEFINED__\n#define __ID3D12Heap_INTERFACE_DEFINED__\n\n/* interface ID3D12Heap */\n/* [unique][local][object][uuid] */ \n\n\nEXTERN_C const IID IID_ID3D12Heap;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"6b3b2502-6e51-45b3-90ee-9884265e8df3\")\n    ID3D12Heap : public ID3D12Pageable\n    {\n    public:\n        virtual D3D12_HEAP_DESC STDMETHODCALLTYPE GetDesc( void) = 0;\n        \n    };\n    \n    \n#else \t/* C style interface */\n\n    typedef struct ID3D12HeapVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            ID3D12Heap * This,\n            REFIID riid,\n            _COM_Outptr_  void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            ID3D12Heap * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            ID3D12Heap * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( \n            ID3D12Heap * This,\n            _In_  REFGUID guid,\n            _Inout_  UINT *pDataSize,\n            _Out_writes_bytes_opt_( *pDataSize )  void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( \n            ID3D12Heap * This,\n            _In_  REFGUID guid,\n            _In_  UINT DataSize,\n            _In_reads_bytes_opt_( DataSize )  const void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( \n            ID3D12Heap * This,\n            _In_  REFGUID guid,\n            _In_opt_  const IUnknown *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetName )( \n            ID3D12Heap * This,\n            _In_z_  LPCWSTR Name);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetDevice )( \n            ID3D12Heap * This,\n            REFIID riid,\n            _COM_Outptr_opt_  void **ppvDevice);\n        \n        D3D12_HEAP_DESC ( STDMETHODCALLTYPE *GetDesc )( \n            ID3D12Heap * This);\n        \n        END_INTERFACE\n    } ID3D12HeapVtbl;\n\n    interface ID3D12Heap\n    {\n        CONST_VTBL struct ID3D12HeapVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define ID3D12Heap_QueryInterface(This,riid,ppvObject)\t\\\n    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \n\n#define ID3D12Heap_AddRef(This)\t\\\n    ( (This)->lpVtbl -> AddRef(This) ) \n\n#define ID3D12Heap_Release(This)\t\\\n    ( (This)->lpVtbl -> Release(This) ) \n\n\n#define ID3D12Heap_GetPrivateData(This,guid,pDataSize,pData)\t\\\n    ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) \n\n#define ID3D12Heap_SetPrivateData(This,guid,DataSize,pData)\t\\\n    ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) \n\n#define ID3D12Heap_SetPrivateDataInterface(This,guid,pData)\t\\\n    ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) \n\n#define ID3D12Heap_SetName(This,Name)\t\\\n    ( (This)->lpVtbl -> SetName(This,Name) ) \n\n\n#define ID3D12Heap_GetDevice(This,riid,ppvDevice)\t\\\n    ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) ) \n\n\n\n#define ID3D12Heap_GetDesc(This)\t\\\n    ( (This)->lpVtbl -> GetDesc(This) ) \n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n\n\n\n\n\n#endif \t/* __ID3D12Heap_INTERFACE_DEFINED__ */\n\n\n#ifndef __ID3D12Resource_INTERFACE_DEFINED__\n#define __ID3D12Resource_INTERFACE_DEFINED__\n\n/* interface ID3D12Resource */\n/* [unique][local][object][uuid] */ \n\n\nEXTERN_C const IID IID_ID3D12Resource;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"696442be-a72e-4059-bc79-5b5c98040fad\")\n    ID3D12Resource : public ID3D12Pageable\n    {\n    public:\n        virtual HRESULT STDMETHODCALLTYPE Map( \n            UINT Subresource,\n            _In_opt_  const D3D12_RANGE *pReadRange,\n            _Outptr_opt_result_bytebuffer_(_Inexpressible_(\"Dependent on resource\"))  void **ppData) = 0;\n        \n        virtual void STDMETHODCALLTYPE Unmap( \n            UINT Subresource,\n            _In_opt_  const D3D12_RANGE *pWrittenRange) = 0;\n        \n        virtual D3D12_RESOURCE_DESC STDMETHODCALLTYPE GetDesc( void) = 0;\n        \n        virtual D3D12_GPU_VIRTUAL_ADDRESS STDMETHODCALLTYPE GetGPUVirtualAddress( void) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE WriteToSubresource( \n            UINT DstSubresource,\n            _In_opt_  const D3D12_BOX *pDstBox,\n            _In_  const void *pSrcData,\n            UINT SrcRowPitch,\n            UINT SrcDepthPitch) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE ReadFromSubresource( \n            _Out_  void *pDstData,\n            UINT DstRowPitch,\n            UINT DstDepthPitch,\n            UINT SrcSubresource,\n            _In_opt_  const D3D12_BOX *pSrcBox) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE GetHeapProperties( \n            _Out_opt_  D3D12_HEAP_PROPERTIES *pHeapProperties,\n            _Out_opt_  D3D12_HEAP_FLAGS *pHeapFlags) = 0;\n        \n    };\n    \n    \n#else \t/* C style interface */\n\n    typedef struct ID3D12ResourceVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            ID3D12Resource * This,\n            REFIID riid,\n            _COM_Outptr_  void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            ID3D12Resource * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            ID3D12Resource * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( \n            ID3D12Resource * This,\n            _In_  REFGUID guid,\n            _Inout_  UINT *pDataSize,\n            _Out_writes_bytes_opt_( *pDataSize )  void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( \n            ID3D12Resource * This,\n            _In_  REFGUID guid,\n            _In_  UINT DataSize,\n            _In_reads_bytes_opt_( DataSize )  const void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( \n            ID3D12Resource * This,\n            _In_  REFGUID guid,\n            _In_opt_  const IUnknown *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetName )( \n            ID3D12Resource * This,\n            _In_z_  LPCWSTR Name);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetDevice )( \n            ID3D12Resource * This,\n            REFIID riid,\n            _COM_Outptr_opt_  void **ppvDevice);\n        \n        HRESULT ( STDMETHODCALLTYPE *Map )( \n            ID3D12Resource * This,\n            UINT Subresource,\n            _In_opt_  const D3D12_RANGE *pReadRange,\n            _Outptr_opt_result_bytebuffer_(_Inexpressible_(\"Dependent on resource\"))  void **ppData);\n        \n        void ( STDMETHODCALLTYPE *Unmap )( \n            ID3D12Resource * This,\n            UINT Subresource,\n            _In_opt_  const D3D12_RANGE *pWrittenRange);\n        \n        D3D12_RESOURCE_DESC ( STDMETHODCALLTYPE *GetDesc )( \n            ID3D12Resource * This);\n        \n        D3D12_GPU_VIRTUAL_ADDRESS ( STDMETHODCALLTYPE *GetGPUVirtualAddress )( \n            ID3D12Resource * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *WriteToSubresource )( \n            ID3D12Resource * This,\n            UINT DstSubresource,\n            _In_opt_  const D3D12_BOX *pDstBox,\n            _In_  const void *pSrcData,\n            UINT SrcRowPitch,\n            UINT SrcDepthPitch);\n        \n        HRESULT ( STDMETHODCALLTYPE *ReadFromSubresource )( \n            ID3D12Resource * This,\n            _Out_  void *pDstData,\n            UINT DstRowPitch,\n            UINT DstDepthPitch,\n            UINT SrcSubresource,\n            _In_opt_  const D3D12_BOX *pSrcBox);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetHeapProperties )( \n            ID3D12Resource * This,\n            _Out_opt_  D3D12_HEAP_PROPERTIES *pHeapProperties,\n            _Out_opt_  D3D12_HEAP_FLAGS *pHeapFlags);\n        \n        END_INTERFACE\n    } ID3D12ResourceVtbl;\n\n    interface ID3D12Resource\n    {\n        CONST_VTBL struct ID3D12ResourceVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define ID3D12Resource_QueryInterface(This,riid,ppvObject)\t\\\n    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \n\n#define ID3D12Resource_AddRef(This)\t\\\n    ( (This)->lpVtbl -> AddRef(This) ) \n\n#define ID3D12Resource_Release(This)\t\\\n    ( (This)->lpVtbl -> Release(This) ) \n\n\n#define ID3D12Resource_GetPrivateData(This,guid,pDataSize,pData)\t\\\n    ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) \n\n#define ID3D12Resource_SetPrivateData(This,guid,DataSize,pData)\t\\\n    ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) \n\n#define ID3D12Resource_SetPrivateDataInterface(This,guid,pData)\t\\\n    ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) \n\n#define ID3D12Resource_SetName(This,Name)\t\\\n    ( (This)->lpVtbl -> SetName(This,Name) ) \n\n\n#define ID3D12Resource_GetDevice(This,riid,ppvDevice)\t\\\n    ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) ) \n\n\n\n#define ID3D12Resource_Map(This,Subresource,pReadRange,ppData)\t\\\n    ( (This)->lpVtbl -> Map(This,Subresource,pReadRange,ppData) ) \n\n#define ID3D12Resource_Unmap(This,Subresource,pWrittenRange)\t\\\n    ( (This)->lpVtbl -> Unmap(This,Subresource,pWrittenRange) ) \n\n#define ID3D12Resource_GetDesc(This)\t\\\n    ( (This)->lpVtbl -> GetDesc(This) ) \n\n#define ID3D12Resource_GetGPUVirtualAddress(This)\t\\\n    ( (This)->lpVtbl -> GetGPUVirtualAddress(This) ) \n\n#define ID3D12Resource_WriteToSubresource(This,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch)\t\\\n    ( (This)->lpVtbl -> WriteToSubresource(This,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch) ) \n\n#define ID3D12Resource_ReadFromSubresource(This,pDstData,DstRowPitch,DstDepthPitch,SrcSubresource,pSrcBox)\t\\\n    ( (This)->lpVtbl -> ReadFromSubresource(This,pDstData,DstRowPitch,DstDepthPitch,SrcSubresource,pSrcBox) ) \n\n#define ID3D12Resource_GetHeapProperties(This,pHeapProperties,pHeapFlags)\t\\\n    ( (This)->lpVtbl -> GetHeapProperties(This,pHeapProperties,pHeapFlags) ) \n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n\n\n\n\n\n#endif \t/* __ID3D12Resource_INTERFACE_DEFINED__ */\n\n\n#ifndef __ID3D12CommandAllocator_INTERFACE_DEFINED__\n#define __ID3D12CommandAllocator_INTERFACE_DEFINED__\n\n/* interface ID3D12CommandAllocator */\n/* [unique][local][object][uuid] */ \n\n\nEXTERN_C const IID IID_ID3D12CommandAllocator;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"6102dee4-af59-4b09-b999-b44d73f09b24\")\n    ID3D12CommandAllocator : public ID3D12Pageable\n    {\n    public:\n        virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;\n        \n    };\n    \n    \n#else \t/* C style interface */\n\n    typedef struct ID3D12CommandAllocatorVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            ID3D12CommandAllocator * This,\n            REFIID riid,\n            _COM_Outptr_  void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            ID3D12CommandAllocator * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            ID3D12CommandAllocator * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( \n            ID3D12CommandAllocator * This,\n            _In_  REFGUID guid,\n            _Inout_  UINT *pDataSize,\n            _Out_writes_bytes_opt_( *pDataSize )  void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( \n            ID3D12CommandAllocator * This,\n            _In_  REFGUID guid,\n            _In_  UINT DataSize,\n            _In_reads_bytes_opt_( DataSize )  const void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( \n            ID3D12CommandAllocator * This,\n            _In_  REFGUID guid,\n            _In_opt_  const IUnknown *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetName )( \n            ID3D12CommandAllocator * This,\n            _In_z_  LPCWSTR Name);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetDevice )( \n            ID3D12CommandAllocator * This,\n            REFIID riid,\n            _COM_Outptr_opt_  void **ppvDevice);\n        \n        HRESULT ( STDMETHODCALLTYPE *Reset )( \n            ID3D12CommandAllocator * This);\n        \n        END_INTERFACE\n    } ID3D12CommandAllocatorVtbl;\n\n    interface ID3D12CommandAllocator\n    {\n        CONST_VTBL struct ID3D12CommandAllocatorVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define ID3D12CommandAllocator_QueryInterface(This,riid,ppvObject)\t\\\n    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \n\n#define ID3D12CommandAllocator_AddRef(This)\t\\\n    ( (This)->lpVtbl -> AddRef(This) ) \n\n#define ID3D12CommandAllocator_Release(This)\t\\\n    ( (This)->lpVtbl -> Release(This) ) \n\n\n#define ID3D12CommandAllocator_GetPrivateData(This,guid,pDataSize,pData)\t\\\n    ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) \n\n#define ID3D12CommandAllocator_SetPrivateData(This,guid,DataSize,pData)\t\\\n    ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) \n\n#define ID3D12CommandAllocator_SetPrivateDataInterface(This,guid,pData)\t\\\n    ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) \n\n#define ID3D12CommandAllocator_SetName(This,Name)\t\\\n    ( (This)->lpVtbl -> SetName(This,Name) ) \n\n\n#define ID3D12CommandAllocator_GetDevice(This,riid,ppvDevice)\t\\\n    ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) ) \n\n\n\n#define ID3D12CommandAllocator_Reset(This)\t\\\n    ( (This)->lpVtbl -> Reset(This) ) \n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n\n#endif \t/* __ID3D12CommandAllocator_INTERFACE_DEFINED__ */\n\n\n#ifndef __ID3D12Fence_INTERFACE_DEFINED__\n#define __ID3D12Fence_INTERFACE_DEFINED__\n\n/* interface ID3D12Fence */\n/* [unique][local][object][uuid] */ \n\n\nEXTERN_C const IID IID_ID3D12Fence;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"0a753dcf-c4d8-4b91-adf6-be5a60d95a76\")\n    ID3D12Fence : public ID3D12Pageable\n    {\n    public:\n        virtual UINT64 STDMETHODCALLTYPE GetCompletedValue( void) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE SetEventOnCompletion( \n            UINT64 Value,\n            HANDLE hEvent) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Signal( \n            UINT64 Value) = 0;\n        \n    };\n    \n    \n#else \t/* C style interface */\n\n    typedef struct ID3D12FenceVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            ID3D12Fence * This,\n            REFIID riid,\n            _COM_Outptr_  void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            ID3D12Fence * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            ID3D12Fence * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( \n            ID3D12Fence * This,\n            _In_  REFGUID guid,\n            _Inout_  UINT *pDataSize,\n            _Out_writes_bytes_opt_( *pDataSize )  void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( \n            ID3D12Fence * This,\n            _In_  REFGUID guid,\n            _In_  UINT DataSize,\n            _In_reads_bytes_opt_( DataSize )  const void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( \n            ID3D12Fence * This,\n            _In_  REFGUID guid,\n            _In_opt_  const IUnknown *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetName )( \n            ID3D12Fence * This,\n            _In_z_  LPCWSTR Name);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetDevice )( \n            ID3D12Fence * This,\n            REFIID riid,\n            _COM_Outptr_opt_  void **ppvDevice);\n        \n        UINT64 ( STDMETHODCALLTYPE *GetCompletedValue )( \n            ID3D12Fence * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetEventOnCompletion )( \n            ID3D12Fence * This,\n            UINT64 Value,\n            HANDLE hEvent);\n        \n        HRESULT ( STDMETHODCALLTYPE *Signal )( \n            ID3D12Fence * This,\n            UINT64 Value);\n        \n        END_INTERFACE\n    } ID3D12FenceVtbl;\n\n    interface ID3D12Fence\n    {\n        CONST_VTBL struct ID3D12FenceVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define ID3D12Fence_QueryInterface(This,riid,ppvObject)\t\\\n    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \n\n#define ID3D12Fence_AddRef(This)\t\\\n    ( (This)->lpVtbl -> AddRef(This) ) \n\n#define ID3D12Fence_Release(This)\t\\\n    ( (This)->lpVtbl -> Release(This) ) \n\n\n#define ID3D12Fence_GetPrivateData(This,guid,pDataSize,pData)\t\\\n    ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) \n\n#define ID3D12Fence_SetPrivateData(This,guid,DataSize,pData)\t\\\n    ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) \n\n#define ID3D12Fence_SetPrivateDataInterface(This,guid,pData)\t\\\n    ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) \n\n#define ID3D12Fence_SetName(This,Name)\t\\\n    ( (This)->lpVtbl -> SetName(This,Name) ) \n\n\n#define ID3D12Fence_GetDevice(This,riid,ppvDevice)\t\\\n    ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) ) \n\n\n\n#define ID3D12Fence_GetCompletedValue(This)\t\\\n    ( (This)->lpVtbl -> GetCompletedValue(This) ) \n\n#define ID3D12Fence_SetEventOnCompletion(This,Value,hEvent)\t\\\n    ( (This)->lpVtbl -> SetEventOnCompletion(This,Value,hEvent) ) \n\n#define ID3D12Fence_Signal(This,Value)\t\\\n    ( (This)->lpVtbl -> Signal(This,Value) ) \n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n\n#endif \t/* __ID3D12Fence_INTERFACE_DEFINED__ */\n\n\n#ifndef __ID3D12PipelineState_INTERFACE_DEFINED__\n#define __ID3D12PipelineState_INTERFACE_DEFINED__\n\n/* interface ID3D12PipelineState */\n/* [unique][local][object][uuid] */ \n\n\nEXTERN_C const IID IID_ID3D12PipelineState;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"765a30f3-f624-4c6f-a828-ace948622445\")\n    ID3D12PipelineState : public ID3D12Pageable\n    {\n    public:\n        virtual HRESULT STDMETHODCALLTYPE GetCachedBlob( \n            _COM_Outptr_  ID3DBlob **ppBlob) = 0;\n        \n    };\n    \n    \n#else \t/* C style interface */\n\n    typedef struct ID3D12PipelineStateVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            ID3D12PipelineState * This,\n            REFIID riid,\n            _COM_Outptr_  void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            ID3D12PipelineState * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            ID3D12PipelineState * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( \n            ID3D12PipelineState * This,\n            _In_  REFGUID guid,\n            _Inout_  UINT *pDataSize,\n            _Out_writes_bytes_opt_( *pDataSize )  void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( \n            ID3D12PipelineState * This,\n            _In_  REFGUID guid,\n            _In_  UINT DataSize,\n            _In_reads_bytes_opt_( DataSize )  const void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( \n            ID3D12PipelineState * This,\n            _In_  REFGUID guid,\n            _In_opt_  const IUnknown *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetName )( \n            ID3D12PipelineState * This,\n            _In_z_  LPCWSTR Name);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetDevice )( \n            ID3D12PipelineState * This,\n            REFIID riid,\n            _COM_Outptr_opt_  void **ppvDevice);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetCachedBlob )( \n            ID3D12PipelineState * This,\n            _COM_Outptr_  ID3DBlob **ppBlob);\n        \n        END_INTERFACE\n    } ID3D12PipelineStateVtbl;\n\n    interface ID3D12PipelineState\n    {\n        CONST_VTBL struct ID3D12PipelineStateVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define ID3D12PipelineState_QueryInterface(This,riid,ppvObject)\t\\\n    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \n\n#define ID3D12PipelineState_AddRef(This)\t\\\n    ( (This)->lpVtbl -> AddRef(This) ) \n\n#define ID3D12PipelineState_Release(This)\t\\\n    ( (This)->lpVtbl -> Release(This) ) \n\n\n#define ID3D12PipelineState_GetPrivateData(This,guid,pDataSize,pData)\t\\\n    ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) \n\n#define ID3D12PipelineState_SetPrivateData(This,guid,DataSize,pData)\t\\\n    ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) \n\n#define ID3D12PipelineState_SetPrivateDataInterface(This,guid,pData)\t\\\n    ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) \n\n#define ID3D12PipelineState_SetName(This,Name)\t\\\n    ( (This)->lpVtbl -> SetName(This,Name) ) \n\n\n#define ID3D12PipelineState_GetDevice(This,riid,ppvDevice)\t\\\n    ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) ) \n\n\n\n#define ID3D12PipelineState_GetCachedBlob(This,ppBlob)\t\\\n    ( (This)->lpVtbl -> GetCachedBlob(This,ppBlob) ) \n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n\n#endif \t/* __ID3D12PipelineState_INTERFACE_DEFINED__ */\n\n\n#ifndef __ID3D12DescriptorHeap_INTERFACE_DEFINED__\n#define __ID3D12DescriptorHeap_INTERFACE_DEFINED__\n\n/* interface ID3D12DescriptorHeap */\n/* [unique][local][object][uuid] */ \n\n\nEXTERN_C const IID IID_ID3D12DescriptorHeap;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"8efb471d-616c-4f49-90f7-127bb763fa51\")\n    ID3D12DescriptorHeap : public ID3D12Pageable\n    {\n    public:\n        virtual D3D12_DESCRIPTOR_HEAP_DESC STDMETHODCALLTYPE GetDesc( void) = 0;\n        \n        virtual D3D12_CPU_DESCRIPTOR_HANDLE STDMETHODCALLTYPE GetCPUDescriptorHandleForHeapStart( void) = 0;\n        \n        virtual D3D12_GPU_DESCRIPTOR_HANDLE STDMETHODCALLTYPE GetGPUDescriptorHandleForHeapStart( void) = 0;\n        \n    };\n    \n    \n#else \t/* C style interface */\n\n    typedef struct ID3D12DescriptorHeapVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            ID3D12DescriptorHeap * This,\n            REFIID riid,\n            _COM_Outptr_  void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            ID3D12DescriptorHeap * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            ID3D12DescriptorHeap * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( \n            ID3D12DescriptorHeap * This,\n            _In_  REFGUID guid,\n            _Inout_  UINT *pDataSize,\n            _Out_writes_bytes_opt_( *pDataSize )  void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( \n            ID3D12DescriptorHeap * This,\n            _In_  REFGUID guid,\n            _In_  UINT DataSize,\n            _In_reads_bytes_opt_( DataSize )  const void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( \n            ID3D12DescriptorHeap * This,\n            _In_  REFGUID guid,\n            _In_opt_  const IUnknown *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetName )( \n            ID3D12DescriptorHeap * This,\n            _In_z_  LPCWSTR Name);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetDevice )( \n            ID3D12DescriptorHeap * This,\n            REFIID riid,\n            _COM_Outptr_opt_  void **ppvDevice);\n        \n        D3D12_DESCRIPTOR_HEAP_DESC ( STDMETHODCALLTYPE *GetDesc )( \n            ID3D12DescriptorHeap * This);\n        \n        D3D12_CPU_DESCRIPTOR_HANDLE ( STDMETHODCALLTYPE *GetCPUDescriptorHandleForHeapStart )( \n            ID3D12DescriptorHeap * This);\n        \n        D3D12_GPU_DESCRIPTOR_HANDLE ( STDMETHODCALLTYPE *GetGPUDescriptorHandleForHeapStart )( \n            ID3D12DescriptorHeap * This);\n        \n        END_INTERFACE\n    } ID3D12DescriptorHeapVtbl;\n\n    interface ID3D12DescriptorHeap\n    {\n        CONST_VTBL struct ID3D12DescriptorHeapVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define ID3D12DescriptorHeap_QueryInterface(This,riid,ppvObject)\t\\\n    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \n\n#define ID3D12DescriptorHeap_AddRef(This)\t\\\n    ( (This)->lpVtbl -> AddRef(This) ) \n\n#define ID3D12DescriptorHeap_Release(This)\t\\\n    ( (This)->lpVtbl -> Release(This) ) \n\n\n#define ID3D12DescriptorHeap_GetPrivateData(This,guid,pDataSize,pData)\t\\\n    ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) \n\n#define ID3D12DescriptorHeap_SetPrivateData(This,guid,DataSize,pData)\t\\\n    ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) \n\n#define ID3D12DescriptorHeap_SetPrivateDataInterface(This,guid,pData)\t\\\n    ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) \n\n#define ID3D12DescriptorHeap_SetName(This,Name)\t\\\n    ( (This)->lpVtbl -> SetName(This,Name) ) \n\n\n#define ID3D12DescriptorHeap_GetDevice(This,riid,ppvDevice)\t\\\n    ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) ) \n\n\n\n#define ID3D12DescriptorHeap_GetDesc(This)\t\\\n    ( (This)->lpVtbl -> GetDesc(This) ) \n\n#define ID3D12DescriptorHeap_GetCPUDescriptorHandleForHeapStart(This)\t\\\n    ( (This)->lpVtbl -> GetCPUDescriptorHandleForHeapStart(This) ) \n\n#define ID3D12DescriptorHeap_GetGPUDescriptorHandleForHeapStart(This)\t\\\n    ( (This)->lpVtbl -> GetGPUDescriptorHandleForHeapStart(This) ) \n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n#endif \t/* __ID3D12DescriptorHeap_INTERFACE_DEFINED__ */\n\n\n#ifndef __ID3D12QueryHeap_INTERFACE_DEFINED__\n#define __ID3D12QueryHeap_INTERFACE_DEFINED__\n\n/* interface ID3D12QueryHeap */\n/* [unique][local][object][uuid] */ \n\n\nEXTERN_C const IID IID_ID3D12QueryHeap;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"0d9658ae-ed45-469e-a61d-970ec583cab4\")\n    ID3D12QueryHeap : public ID3D12Pageable\n    {\n    public:\n    };\n    \n    \n#else \t/* C style interface */\n\n    typedef struct ID3D12QueryHeapVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            ID3D12QueryHeap * This,\n            REFIID riid,\n            _COM_Outptr_  void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            ID3D12QueryHeap * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            ID3D12QueryHeap * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( \n            ID3D12QueryHeap * This,\n            _In_  REFGUID guid,\n            _Inout_  UINT *pDataSize,\n            _Out_writes_bytes_opt_( *pDataSize )  void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( \n            ID3D12QueryHeap * This,\n            _In_  REFGUID guid,\n            _In_  UINT DataSize,\n            _In_reads_bytes_opt_( DataSize )  const void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( \n            ID3D12QueryHeap * This,\n            _In_  REFGUID guid,\n            _In_opt_  const IUnknown *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetName )( \n            ID3D12QueryHeap * This,\n            _In_z_  LPCWSTR Name);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetDevice )( \n            ID3D12QueryHeap * This,\n            REFIID riid,\n            _COM_Outptr_opt_  void **ppvDevice);\n        \n        END_INTERFACE\n    } ID3D12QueryHeapVtbl;\n\n    interface ID3D12QueryHeap\n    {\n        CONST_VTBL struct ID3D12QueryHeapVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define ID3D12QueryHeap_QueryInterface(This,riid,ppvObject)\t\\\n    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \n\n#define ID3D12QueryHeap_AddRef(This)\t\\\n    ( (This)->lpVtbl -> AddRef(This) ) \n\n#define ID3D12QueryHeap_Release(This)\t\\\n    ( (This)->lpVtbl -> Release(This) ) \n\n\n#define ID3D12QueryHeap_GetPrivateData(This,guid,pDataSize,pData)\t\\\n    ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) \n\n#define ID3D12QueryHeap_SetPrivateData(This,guid,DataSize,pData)\t\\\n    ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) \n\n#define ID3D12QueryHeap_SetPrivateDataInterface(This,guid,pData)\t\\\n    ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) \n\n#define ID3D12QueryHeap_SetName(This,Name)\t\\\n    ( (This)->lpVtbl -> SetName(This,Name) ) \n\n\n#define ID3D12QueryHeap_GetDevice(This,riid,ppvDevice)\t\\\n    ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) ) \n\n\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n\n#endif \t/* __ID3D12QueryHeap_INTERFACE_DEFINED__ */\n\n\n#ifndef __ID3D12CommandSignature_INTERFACE_DEFINED__\n#define __ID3D12CommandSignature_INTERFACE_DEFINED__\n\n/* interface ID3D12CommandSignature */\n/* [unique][local][object][uuid] */ \n\n\nEXTERN_C const IID IID_ID3D12CommandSignature;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"c36a797c-ec80-4f0a-8985-a7b2475082d1\")\n    ID3D12CommandSignature : public ID3D12Pageable\n    {\n    public:\n    };\n    \n    \n#else \t/* C style interface */\n\n    typedef struct ID3D12CommandSignatureVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            ID3D12CommandSignature * This,\n            REFIID riid,\n            _COM_Outptr_  void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            ID3D12CommandSignature * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            ID3D12CommandSignature * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( \n            ID3D12CommandSignature * This,\n            _In_  REFGUID guid,\n            _Inout_  UINT *pDataSize,\n            _Out_writes_bytes_opt_( *pDataSize )  void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( \n            ID3D12CommandSignature * This,\n            _In_  REFGUID guid,\n            _In_  UINT DataSize,\n            _In_reads_bytes_opt_( DataSize )  const void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( \n            ID3D12CommandSignature * This,\n            _In_  REFGUID guid,\n            _In_opt_  const IUnknown *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetName )( \n            ID3D12CommandSignature * This,\n            _In_z_  LPCWSTR Name);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetDevice )( \n            ID3D12CommandSignature * This,\n            REFIID riid,\n            _COM_Outptr_opt_  void **ppvDevice);\n        \n        END_INTERFACE\n    } ID3D12CommandSignatureVtbl;\n\n    interface ID3D12CommandSignature\n    {\n        CONST_VTBL struct ID3D12CommandSignatureVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define ID3D12CommandSignature_QueryInterface(This,riid,ppvObject)\t\\\n    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \n\n#define ID3D12CommandSignature_AddRef(This)\t\\\n    ( (This)->lpVtbl -> AddRef(This) ) \n\n#define ID3D12CommandSignature_Release(This)\t\\\n    ( (This)->lpVtbl -> Release(This) ) \n\n\n#define ID3D12CommandSignature_GetPrivateData(This,guid,pDataSize,pData)\t\\\n    ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) \n\n#define ID3D12CommandSignature_SetPrivateData(This,guid,DataSize,pData)\t\\\n    ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) \n\n#define ID3D12CommandSignature_SetPrivateDataInterface(This,guid,pData)\t\\\n    ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) \n\n#define ID3D12CommandSignature_SetName(This,Name)\t\\\n    ( (This)->lpVtbl -> SetName(This,Name) ) \n\n\n#define ID3D12CommandSignature_GetDevice(This,riid,ppvDevice)\t\\\n    ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) ) \n\n\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n\n#endif \t/* __ID3D12CommandSignature_INTERFACE_DEFINED__ */\n\n\n#ifndef __ID3D12CommandList_INTERFACE_DEFINED__\n#define __ID3D12CommandList_INTERFACE_DEFINED__\n\n/* interface ID3D12CommandList */\n/* [unique][local][object][uuid] */ \n\n\nEXTERN_C const IID IID_ID3D12CommandList;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"7116d91c-e7e4-47ce-b8c6-ec8168f437e5\")\n    ID3D12CommandList : public ID3D12DeviceChild\n    {\n    public:\n        virtual D3D12_COMMAND_LIST_TYPE STDMETHODCALLTYPE GetType( void) = 0;\n        \n    };\n    \n    \n#else \t/* C style interface */\n\n    typedef struct ID3D12CommandListVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            ID3D12CommandList * This,\n            REFIID riid,\n            _COM_Outptr_  void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            ID3D12CommandList * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            ID3D12CommandList * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( \n            ID3D12CommandList * This,\n            _In_  REFGUID guid,\n            _Inout_  UINT *pDataSize,\n            _Out_writes_bytes_opt_( *pDataSize )  void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( \n            ID3D12CommandList * This,\n            _In_  REFGUID guid,\n            _In_  UINT DataSize,\n            _In_reads_bytes_opt_( DataSize )  const void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( \n            ID3D12CommandList * This,\n            _In_  REFGUID guid,\n            _In_opt_  const IUnknown *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetName )( \n            ID3D12CommandList * This,\n            _In_z_  LPCWSTR Name);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetDevice )( \n            ID3D12CommandList * This,\n            REFIID riid,\n            _COM_Outptr_opt_  void **ppvDevice);\n        \n        D3D12_COMMAND_LIST_TYPE ( STDMETHODCALLTYPE *GetType )( \n            ID3D12CommandList * This);\n        \n        END_INTERFACE\n    } ID3D12CommandListVtbl;\n\n    interface ID3D12CommandList\n    {\n        CONST_VTBL struct ID3D12CommandListVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define ID3D12CommandList_QueryInterface(This,riid,ppvObject)\t\\\n    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \n\n#define ID3D12CommandList_AddRef(This)\t\\\n    ( (This)->lpVtbl -> AddRef(This) ) \n\n#define ID3D12CommandList_Release(This)\t\\\n    ( (This)->lpVtbl -> Release(This) ) \n\n\n#define ID3D12CommandList_GetPrivateData(This,guid,pDataSize,pData)\t\\\n    ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) \n\n#define ID3D12CommandList_SetPrivateData(This,guid,DataSize,pData)\t\\\n    ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) \n\n#define ID3D12CommandList_SetPrivateDataInterface(This,guid,pData)\t\\\n    ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) \n\n#define ID3D12CommandList_SetName(This,Name)\t\\\n    ( (This)->lpVtbl -> SetName(This,Name) ) \n\n\n#define ID3D12CommandList_GetDevice(This,riid,ppvDevice)\t\\\n    ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) ) \n\n\n#define ID3D12CommandList_GetType(This)\t\\\n    ( (This)->lpVtbl -> GetType(This) ) \n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n\n#endif \t/* __ID3D12CommandList_INTERFACE_DEFINED__ */\n\n\n#ifndef __ID3D12GraphicsCommandList_INTERFACE_DEFINED__\n#define __ID3D12GraphicsCommandList_INTERFACE_DEFINED__\n\n/* interface ID3D12GraphicsCommandList */\n/* [unique][local][object][uuid] */ \n\n\nEXTERN_C const IID IID_ID3D12GraphicsCommandList;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"5b160d0f-ac1b-4185-8ba8-b3ae42a5a455\")\n    ID3D12GraphicsCommandList : public ID3D12CommandList\n    {\n    public:\n        virtual HRESULT STDMETHODCALLTYPE Close( void) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Reset( \n            _In_  ID3D12CommandAllocator *pAllocator,\n            _In_opt_  ID3D12PipelineState *pInitialState) = 0;\n        \n        virtual void STDMETHODCALLTYPE ClearState( \n            _In_opt_  ID3D12PipelineState *pPipelineState) = 0;\n        \n        virtual void STDMETHODCALLTYPE DrawInstanced( \n            _In_  UINT VertexCountPerInstance,\n            _In_  UINT InstanceCount,\n            _In_  UINT StartVertexLocation,\n            _In_  UINT StartInstanceLocation) = 0;\n        \n        virtual void STDMETHODCALLTYPE DrawIndexedInstanced( \n            _In_  UINT IndexCountPerInstance,\n            _In_  UINT InstanceCount,\n            _In_  UINT StartIndexLocation,\n            _In_  INT BaseVertexLocation,\n            _In_  UINT StartInstanceLocation) = 0;\n        \n        virtual void STDMETHODCALLTYPE Dispatch( \n            _In_  UINT ThreadGroupCountX,\n            _In_  UINT ThreadGroupCountY,\n            _In_  UINT ThreadGroupCountZ) = 0;\n        \n        virtual void STDMETHODCALLTYPE CopyBufferRegion( \n            _In_  ID3D12Resource *pDstBuffer,\n            UINT64 DstOffset,\n            _In_  ID3D12Resource *pSrcBuffer,\n            UINT64 SrcOffset,\n            UINT64 NumBytes) = 0;\n        \n        virtual void STDMETHODCALLTYPE CopyTextureRegion( \n            _In_  const D3D12_TEXTURE_COPY_LOCATION *pDst,\n            UINT DstX,\n            UINT DstY,\n            UINT DstZ,\n            _In_  const D3D12_TEXTURE_COPY_LOCATION *pSrc,\n            _In_opt_  const D3D12_BOX *pSrcBox) = 0;\n        \n        virtual void STDMETHODCALLTYPE CopyResource( \n            _In_  ID3D12Resource *pDstResource,\n            _In_  ID3D12Resource *pSrcResource) = 0;\n        \n        virtual void STDMETHODCALLTYPE CopyTiles( \n            _In_  ID3D12Resource *pTiledResource,\n            _In_  const D3D12_TILED_RESOURCE_COORDINATE *pTileRegionStartCoordinate,\n            _In_  const D3D12_TILE_REGION_SIZE *pTileRegionSize,\n            _In_  ID3D12Resource *pBuffer,\n            UINT64 BufferStartOffsetInBytes,\n            D3D12_TILE_COPY_FLAGS Flags) = 0;\n        \n        virtual void STDMETHODCALLTYPE ResolveSubresource( \n            _In_  ID3D12Resource *pDstResource,\n            _In_  UINT DstSubresource,\n            _In_  ID3D12Resource *pSrcResource,\n            _In_  UINT SrcSubresource,\n            _In_  DXGI_FORMAT Format) = 0;\n        \n        virtual void STDMETHODCALLTYPE IASetPrimitiveTopology( \n            _In_  D3D12_PRIMITIVE_TOPOLOGY PrimitiveTopology) = 0;\n        \n        virtual void STDMETHODCALLTYPE RSSetViewports( \n            _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE)  UINT NumViewports,\n            _In_reads_( NumViewports)  const D3D12_VIEWPORT *pViewports) = 0;\n        \n        virtual void STDMETHODCALLTYPE RSSetScissorRects( \n            _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE)  UINT NumRects,\n            _In_reads_( NumRects)  const D3D12_RECT *pRects) = 0;\n        \n        virtual void STDMETHODCALLTYPE OMSetBlendFactor( \n            _In_opt_  const FLOAT BlendFactor[ 4 ]) = 0;\n        \n        virtual void STDMETHODCALLTYPE OMSetStencilRef( \n            _In_  UINT StencilRef) = 0;\n        \n        virtual void STDMETHODCALLTYPE SetPipelineState( \n            _In_  ID3D12PipelineState *pPipelineState) = 0;\n        \n        virtual void STDMETHODCALLTYPE ResourceBarrier( \n            _In_  UINT NumBarriers,\n            _In_reads_(NumBarriers)  const D3D12_RESOURCE_BARRIER *pBarriers) = 0;\n        \n        virtual void STDMETHODCALLTYPE ExecuteBundle( \n            _In_  ID3D12GraphicsCommandList *pCommandList) = 0;\n        \n        virtual void STDMETHODCALLTYPE SetDescriptorHeaps( \n            _In_  UINT NumDescriptorHeaps,\n            _In_reads_(NumDescriptorHeaps)  ID3D12DescriptorHeap *const *ppDescriptorHeaps) = 0;\n        \n        virtual void STDMETHODCALLTYPE SetComputeRootSignature( \n            _In_opt_  ID3D12RootSignature *pRootSignature) = 0;\n        \n        virtual void STDMETHODCALLTYPE SetGraphicsRootSignature( \n            _In_opt_  ID3D12RootSignature *pRootSignature) = 0;\n        \n        virtual void STDMETHODCALLTYPE SetComputeRootDescriptorTable( \n            _In_  UINT RootParameterIndex,\n            _In_  D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor) = 0;\n        \n        virtual void STDMETHODCALLTYPE SetGraphicsRootDescriptorTable( \n            _In_  UINT RootParameterIndex,\n            _In_  D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor) = 0;\n        \n        virtual void STDMETHODCALLTYPE SetComputeRoot32BitConstant( \n            _In_  UINT RootParameterIndex,\n            _In_  UINT SrcData,\n            _In_  UINT DestOffsetIn32BitValues) = 0;\n        \n        virtual void STDMETHODCALLTYPE SetGraphicsRoot32BitConstant( \n            _In_  UINT RootParameterIndex,\n            _In_  UINT SrcData,\n            _In_  UINT DestOffsetIn32BitValues) = 0;\n        \n        virtual void STDMETHODCALLTYPE SetComputeRoot32BitConstants( \n            _In_  UINT RootParameterIndex,\n            _In_  UINT Num32BitValuesToSet,\n            _In_reads_(Num32BitValuesToSet*sizeof(UINT))  const void *pSrcData,\n            _In_  UINT DestOffsetIn32BitValues) = 0;\n        \n        virtual void STDMETHODCALLTYPE SetGraphicsRoot32BitConstants( \n            _In_  UINT RootParameterIndex,\n            _In_  UINT Num32BitValuesToSet,\n            _In_reads_(Num32BitValuesToSet*sizeof(UINT))  const void *pSrcData,\n            _In_  UINT DestOffsetIn32BitValues) = 0;\n        \n        virtual void STDMETHODCALLTYPE SetComputeRootConstantBufferView( \n            _In_  UINT RootParameterIndex,\n            _In_  D3D12_GPU_VIRTUAL_ADDRESS BufferLocation) = 0;\n        \n        virtual void STDMETHODCALLTYPE SetGraphicsRootConstantBufferView( \n            _In_  UINT RootParameterIndex,\n            _In_  D3D12_GPU_VIRTUAL_ADDRESS BufferLocation) = 0;\n        \n        virtual void STDMETHODCALLTYPE SetComputeRootShaderResourceView( \n            _In_  UINT RootParameterIndex,\n            _In_  D3D12_GPU_VIRTUAL_ADDRESS BufferLocation) = 0;\n        \n        virtual void STDMETHODCALLTYPE SetGraphicsRootShaderResourceView( \n            _In_  UINT RootParameterIndex,\n            _In_  D3D12_GPU_VIRTUAL_ADDRESS BufferLocation) = 0;\n        \n        virtual void STDMETHODCALLTYPE SetComputeRootUnorderedAccessView( \n            _In_  UINT RootParameterIndex,\n            _In_  D3D12_GPU_VIRTUAL_ADDRESS BufferLocation) = 0;\n        \n        virtual void STDMETHODCALLTYPE SetGraphicsRootUnorderedAccessView( \n            _In_  UINT RootParameterIndex,\n            _In_  D3D12_GPU_VIRTUAL_ADDRESS BufferLocation) = 0;\n        \n        virtual void STDMETHODCALLTYPE IASetIndexBuffer( \n            _In_opt_  const D3D12_INDEX_BUFFER_VIEW *pView) = 0;\n        \n        virtual void STDMETHODCALLTYPE IASetVertexBuffers( \n            _In_  UINT StartSlot,\n            _In_  UINT NumViews,\n            _In_reads_opt_(NumViews)  const D3D12_VERTEX_BUFFER_VIEW *pViews) = 0;\n        \n        virtual void STDMETHODCALLTYPE SOSetTargets( \n            _In_  UINT StartSlot,\n            _In_  UINT NumViews,\n            _In_reads_opt_(NumViews)  const D3D12_STREAM_OUTPUT_BUFFER_VIEW *pViews) = 0;\n        \n        virtual void STDMETHODCALLTYPE OMSetRenderTargets( \n            _In_  UINT NumRenderTargetDescriptors,\n            _In_opt_  const D3D12_CPU_DESCRIPTOR_HANDLE *pRenderTargetDescriptors,\n            _In_  BOOL RTsSingleHandleToDescriptorRange,\n            _In_opt_  const D3D12_CPU_DESCRIPTOR_HANDLE *pDepthStencilDescriptor) = 0;\n        \n        virtual void STDMETHODCALLTYPE ClearDepthStencilView( \n            _In_  D3D12_CPU_DESCRIPTOR_HANDLE DepthStencilView,\n            _In_  D3D12_CLEAR_FLAGS ClearFlags,\n            _In_  FLOAT Depth,\n            _In_  UINT8 Stencil,\n            _In_  UINT NumRects,\n            _In_reads_(NumRects)  const D3D12_RECT *pRects) = 0;\n        \n        virtual void STDMETHODCALLTYPE ClearRenderTargetView( \n            _In_  D3D12_CPU_DESCRIPTOR_HANDLE RenderTargetView,\n            _In_  const FLOAT ColorRGBA[ 4 ],\n            _In_  UINT NumRects,\n            _In_reads_(NumRects)  const D3D12_RECT *pRects) = 0;\n        \n        virtual void STDMETHODCALLTYPE ClearUnorderedAccessViewUint( \n            _In_  D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,\n            _In_  D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,\n            _In_  ID3D12Resource *pResource,\n            _In_  const UINT Values[ 4 ],\n            _In_  UINT NumRects,\n            _In_reads_(NumRects)  const D3D12_RECT *pRects) = 0;\n        \n        virtual void STDMETHODCALLTYPE ClearUnorderedAccessViewFloat( \n            _In_  D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,\n            _In_  D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,\n            _In_  ID3D12Resource *pResource,\n            _In_  const FLOAT Values[ 4 ],\n            _In_  UINT NumRects,\n            _In_reads_(NumRects)  const D3D12_RECT *pRects) = 0;\n        \n        virtual void STDMETHODCALLTYPE DiscardResource( \n            _In_  ID3D12Resource *pResource,\n            _In_opt_  const D3D12_DISCARD_REGION *pRegion) = 0;\n        \n        virtual void STDMETHODCALLTYPE BeginQuery( \n            _In_  ID3D12QueryHeap *pQueryHeap,\n            _In_  D3D12_QUERY_TYPE Type,\n            _In_  UINT Index) = 0;\n        \n        virtual void STDMETHODCALLTYPE EndQuery( \n            _In_  ID3D12QueryHeap *pQueryHeap,\n            _In_  D3D12_QUERY_TYPE Type,\n            _In_  UINT Index) = 0;\n        \n        virtual void STDMETHODCALLTYPE ResolveQueryData( \n            _In_  ID3D12QueryHeap *pQueryHeap,\n            _In_  D3D12_QUERY_TYPE Type,\n            _In_  UINT StartIndex,\n            _In_  UINT NumQueries,\n            _In_  ID3D12Resource *pDestinationBuffer,\n            _In_  UINT64 AlignedDestinationBufferOffset) = 0;\n        \n        virtual void STDMETHODCALLTYPE SetPredication( \n            _In_opt_  ID3D12Resource *pBuffer,\n            _In_  UINT64 AlignedBufferOffset,\n            _In_  D3D12_PREDICATION_OP Operation) = 0;\n        \n        virtual void STDMETHODCALLTYPE SetMarker( \n            UINT Metadata,\n            _In_reads_bytes_opt_(Size)  const void *pData,\n            UINT Size) = 0;\n        \n        virtual void STDMETHODCALLTYPE BeginEvent( \n            UINT Metadata,\n            _In_reads_bytes_opt_(Size)  const void *pData,\n            UINT Size) = 0;\n        \n        virtual void STDMETHODCALLTYPE EndEvent( void) = 0;\n        \n        virtual void STDMETHODCALLTYPE ExecuteIndirect( \n            _In_  ID3D12CommandSignature *pCommandSignature,\n            _In_  UINT MaxCommandCount,\n            _In_  ID3D12Resource *pArgumentBuffer,\n            _In_  UINT64 ArgumentBufferOffset,\n            _In_opt_  ID3D12Resource *pCountBuffer,\n            _In_  UINT64 CountBufferOffset) = 0;\n        \n    };\n    \n    \n#else \t/* C style interface */\n\n    typedef struct ID3D12GraphicsCommandListVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            ID3D12GraphicsCommandList * This,\n            REFIID riid,\n            _COM_Outptr_  void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            ID3D12GraphicsCommandList * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            ID3D12GraphicsCommandList * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( \n            ID3D12GraphicsCommandList * This,\n            _In_  REFGUID guid,\n            _Inout_  UINT *pDataSize,\n            _Out_writes_bytes_opt_( *pDataSize )  void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( \n            ID3D12GraphicsCommandList * This,\n            _In_  REFGUID guid,\n            _In_  UINT DataSize,\n            _In_reads_bytes_opt_( DataSize )  const void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( \n            ID3D12GraphicsCommandList * This,\n            _In_  REFGUID guid,\n            _In_opt_  const IUnknown *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetName )( \n            ID3D12GraphicsCommandList * This,\n            _In_z_  LPCWSTR Name);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetDevice )( \n            ID3D12GraphicsCommandList * This,\n            REFIID riid,\n            _COM_Outptr_opt_  void **ppvDevice);\n        \n        D3D12_COMMAND_LIST_TYPE ( STDMETHODCALLTYPE *GetType )( \n            ID3D12GraphicsCommandList * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *Close )( \n            ID3D12GraphicsCommandList * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *Reset )( \n            ID3D12GraphicsCommandList * This,\n            _In_  ID3D12CommandAllocator *pAllocator,\n            _In_opt_  ID3D12PipelineState *pInitialState);\n        \n        void ( STDMETHODCALLTYPE *ClearState )( \n            ID3D12GraphicsCommandList * This,\n            _In_opt_  ID3D12PipelineState *pPipelineState);\n        \n        void ( STDMETHODCALLTYPE *DrawInstanced )( \n            ID3D12GraphicsCommandList * This,\n            _In_  UINT VertexCountPerInstance,\n            _In_  UINT InstanceCount,\n            _In_  UINT StartVertexLocation,\n            _In_  UINT StartInstanceLocation);\n        \n        void ( STDMETHODCALLTYPE *DrawIndexedInstanced )( \n            ID3D12GraphicsCommandList * This,\n            _In_  UINT IndexCountPerInstance,\n            _In_  UINT InstanceCount,\n            _In_  UINT StartIndexLocation,\n            _In_  INT BaseVertexLocation,\n            _In_  UINT StartInstanceLocation);\n        \n        void ( STDMETHODCALLTYPE *Dispatch )( \n            ID3D12GraphicsCommandList * This,\n            _In_  UINT ThreadGroupCountX,\n            _In_  UINT ThreadGroupCountY,\n            _In_  UINT ThreadGroupCountZ);\n        \n        void ( STDMETHODCALLTYPE *CopyBufferRegion )( \n            ID3D12GraphicsCommandList * This,\n            _In_  ID3D12Resource *pDstBuffer,\n            UINT64 DstOffset,\n            _In_  ID3D12Resource *pSrcBuffer,\n            UINT64 SrcOffset,\n            UINT64 NumBytes);\n        \n        void ( STDMETHODCALLTYPE *CopyTextureRegion )( \n            ID3D12GraphicsCommandList * This,\n            _In_  const D3D12_TEXTURE_COPY_LOCATION *pDst,\n            UINT DstX,\n            UINT DstY,\n            UINT DstZ,\n            _In_  const D3D12_TEXTURE_COPY_LOCATION *pSrc,\n            _In_opt_  const D3D12_BOX *pSrcBox);\n        \n        void ( STDMETHODCALLTYPE *CopyResource )( \n            ID3D12GraphicsCommandList * This,\n            _In_  ID3D12Resource *pDstResource,\n            _In_  ID3D12Resource *pSrcResource);\n        \n        void ( STDMETHODCALLTYPE *CopyTiles )( \n            ID3D12GraphicsCommandList * This,\n            _In_  ID3D12Resource *pTiledResource,\n            _In_  const D3D12_TILED_RESOURCE_COORDINATE *pTileRegionStartCoordinate,\n            _In_  const D3D12_TILE_REGION_SIZE *pTileRegionSize,\n            _In_  ID3D12Resource *pBuffer,\n            UINT64 BufferStartOffsetInBytes,\n            D3D12_TILE_COPY_FLAGS Flags);\n        \n        void ( STDMETHODCALLTYPE *ResolveSubresource )( \n            ID3D12GraphicsCommandList * This,\n            _In_  ID3D12Resource *pDstResource,\n            _In_  UINT DstSubresource,\n            _In_  ID3D12Resource *pSrcResource,\n            _In_  UINT SrcSubresource,\n            _In_  DXGI_FORMAT Format);\n        \n        void ( STDMETHODCALLTYPE *IASetPrimitiveTopology )( \n            ID3D12GraphicsCommandList * This,\n            _In_  D3D12_PRIMITIVE_TOPOLOGY PrimitiveTopology);\n        \n        void ( STDMETHODCALLTYPE *RSSetViewports )( \n            ID3D12GraphicsCommandList * This,\n            _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE)  UINT NumViewports,\n            _In_reads_( NumViewports)  const D3D12_VIEWPORT *pViewports);\n        \n        void ( STDMETHODCALLTYPE *RSSetScissorRects )( \n            ID3D12GraphicsCommandList * This,\n            _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE)  UINT NumRects,\n            _In_reads_( NumRects)  const D3D12_RECT *pRects);\n        \n        void ( STDMETHODCALLTYPE *OMSetBlendFactor )( \n            ID3D12GraphicsCommandList * This,\n            _In_opt_  const FLOAT BlendFactor[ 4 ]);\n        \n        void ( STDMETHODCALLTYPE *OMSetStencilRef )( \n            ID3D12GraphicsCommandList * This,\n            _In_  UINT StencilRef);\n        \n        void ( STDMETHODCALLTYPE *SetPipelineState )( \n            ID3D12GraphicsCommandList * This,\n            _In_  ID3D12PipelineState *pPipelineState);\n        \n        void ( STDMETHODCALLTYPE *ResourceBarrier )( \n            ID3D12GraphicsCommandList * This,\n            _In_  UINT NumBarriers,\n            _In_reads_(NumBarriers)  const D3D12_RESOURCE_BARRIER *pBarriers);\n        \n        void ( STDMETHODCALLTYPE *ExecuteBundle )( \n            ID3D12GraphicsCommandList * This,\n            _In_  ID3D12GraphicsCommandList *pCommandList);\n        \n        void ( STDMETHODCALLTYPE *SetDescriptorHeaps )( \n            ID3D12GraphicsCommandList * This,\n            _In_  UINT NumDescriptorHeaps,\n            _In_reads_(NumDescriptorHeaps)  ID3D12DescriptorHeap *const *ppDescriptorHeaps);\n        \n        void ( STDMETHODCALLTYPE *SetComputeRootSignature )( \n            ID3D12GraphicsCommandList * This,\n            _In_opt_  ID3D12RootSignature *pRootSignature);\n        \n        void ( STDMETHODCALLTYPE *SetGraphicsRootSignature )( \n            ID3D12GraphicsCommandList * This,\n            _In_opt_  ID3D12RootSignature *pRootSignature);\n        \n        void ( STDMETHODCALLTYPE *SetComputeRootDescriptorTable )( \n            ID3D12GraphicsCommandList * This,\n            _In_  UINT RootParameterIndex,\n            _In_  D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor);\n        \n        void ( STDMETHODCALLTYPE *SetGraphicsRootDescriptorTable )( \n            ID3D12GraphicsCommandList * This,\n            _In_  UINT RootParameterIndex,\n            _In_  D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor);\n        \n        void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstant )( \n            ID3D12GraphicsCommandList * This,\n            _In_  UINT RootParameterIndex,\n            _In_  UINT SrcData,\n            _In_  UINT DestOffsetIn32BitValues);\n        \n        void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstant )( \n            ID3D12GraphicsCommandList * This,\n            _In_  UINT RootParameterIndex,\n            _In_  UINT SrcData,\n            _In_  UINT DestOffsetIn32BitValues);\n        \n        void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstants )( \n            ID3D12GraphicsCommandList * This,\n            _In_  UINT RootParameterIndex,\n            _In_  UINT Num32BitValuesToSet,\n            _In_reads_(Num32BitValuesToSet*sizeof(UINT))  const void *pSrcData,\n            _In_  UINT DestOffsetIn32BitValues);\n        \n        void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstants )( \n            ID3D12GraphicsCommandList * This,\n            _In_  UINT RootParameterIndex,\n            _In_  UINT Num32BitValuesToSet,\n            _In_reads_(Num32BitValuesToSet*sizeof(UINT))  const void *pSrcData,\n            _In_  UINT DestOffsetIn32BitValues);\n        \n        void ( STDMETHODCALLTYPE *SetComputeRootConstantBufferView )( \n            ID3D12GraphicsCommandList * This,\n            _In_  UINT RootParameterIndex,\n            _In_  D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);\n        \n        void ( STDMETHODCALLTYPE *SetGraphicsRootConstantBufferView )( \n            ID3D12GraphicsCommandList * This,\n            _In_  UINT RootParameterIndex,\n            _In_  D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);\n        \n        void ( STDMETHODCALLTYPE *SetComputeRootShaderResourceView )( \n            ID3D12GraphicsCommandList * This,\n            _In_  UINT RootParameterIndex,\n            _In_  D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);\n        \n        void ( STDMETHODCALLTYPE *SetGraphicsRootShaderResourceView )( \n            ID3D12GraphicsCommandList * This,\n            _In_  UINT RootParameterIndex,\n            _In_  D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);\n        \n        void ( STDMETHODCALLTYPE *SetComputeRootUnorderedAccessView )( \n            ID3D12GraphicsCommandList * This,\n            _In_  UINT RootParameterIndex,\n            _In_  D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);\n        \n        void ( STDMETHODCALLTYPE *SetGraphicsRootUnorderedAccessView )( \n            ID3D12GraphicsCommandList * This,\n            _In_  UINT RootParameterIndex,\n            _In_  D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);\n        \n        void ( STDMETHODCALLTYPE *IASetIndexBuffer )( \n            ID3D12GraphicsCommandList * This,\n            _In_opt_  const D3D12_INDEX_BUFFER_VIEW *pView);\n        \n        void ( STDMETHODCALLTYPE *IASetVertexBuffers )( \n            ID3D12GraphicsCommandList * This,\n            _In_  UINT StartSlot,\n            _In_  UINT NumViews,\n            _In_reads_opt_(NumViews)  const D3D12_VERTEX_BUFFER_VIEW *pViews);\n        \n        void ( STDMETHODCALLTYPE *SOSetTargets )( \n            ID3D12GraphicsCommandList * This,\n            _In_  UINT StartSlot,\n            _In_  UINT NumViews,\n            _In_reads_opt_(NumViews)  const D3D12_STREAM_OUTPUT_BUFFER_VIEW *pViews);\n        \n        void ( STDMETHODCALLTYPE *OMSetRenderTargets )( \n            ID3D12GraphicsCommandList * This,\n            _In_  UINT NumRenderTargetDescriptors,\n            _In_opt_  const D3D12_CPU_DESCRIPTOR_HANDLE *pRenderTargetDescriptors,\n            _In_  BOOL RTsSingleHandleToDescriptorRange,\n            _In_opt_  const D3D12_CPU_DESCRIPTOR_HANDLE *pDepthStencilDescriptor);\n        \n        void ( STDMETHODCALLTYPE *ClearDepthStencilView )( \n            ID3D12GraphicsCommandList * This,\n            _In_  D3D12_CPU_DESCRIPTOR_HANDLE DepthStencilView,\n            _In_  D3D12_CLEAR_FLAGS ClearFlags,\n            _In_  FLOAT Depth,\n            _In_  UINT8 Stencil,\n            _In_  UINT NumRects,\n            _In_reads_(NumRects)  const D3D12_RECT *pRects);\n        \n        void ( STDMETHODCALLTYPE *ClearRenderTargetView )( \n            ID3D12GraphicsCommandList * This,\n            _In_  D3D12_CPU_DESCRIPTOR_HANDLE RenderTargetView,\n            _In_  const FLOAT ColorRGBA[ 4 ],\n            _In_  UINT NumRects,\n            _In_reads_(NumRects)  const D3D12_RECT *pRects);\n        \n        void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewUint )( \n            ID3D12GraphicsCommandList * This,\n            _In_  D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,\n            _In_  D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,\n            _In_  ID3D12Resource *pResource,\n            _In_  const UINT Values[ 4 ],\n            _In_  UINT NumRects,\n            _In_reads_(NumRects)  const D3D12_RECT *pRects);\n        \n        void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewFloat )( \n            ID3D12GraphicsCommandList * This,\n            _In_  D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,\n            _In_  D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,\n            _In_  ID3D12Resource *pResource,\n            _In_  const FLOAT Values[ 4 ],\n            _In_  UINT NumRects,\n            _In_reads_(NumRects)  const D3D12_RECT *pRects);\n        \n        void ( STDMETHODCALLTYPE *DiscardResource )( \n            ID3D12GraphicsCommandList * This,\n            _In_  ID3D12Resource *pResource,\n            _In_opt_  const D3D12_DISCARD_REGION *pRegion);\n        \n        void ( STDMETHODCALLTYPE *BeginQuery )( \n            ID3D12GraphicsCommandList * This,\n            _In_  ID3D12QueryHeap *pQueryHeap,\n            _In_  D3D12_QUERY_TYPE Type,\n            _In_  UINT Index);\n        \n        void ( STDMETHODCALLTYPE *EndQuery )( \n            ID3D12GraphicsCommandList * This,\n            _In_  ID3D12QueryHeap *pQueryHeap,\n            _In_  D3D12_QUERY_TYPE Type,\n            _In_  UINT Index);\n        \n        void ( STDMETHODCALLTYPE *ResolveQueryData )( \n            ID3D12GraphicsCommandList * This,\n            _In_  ID3D12QueryHeap *pQueryHeap,\n            _In_  D3D12_QUERY_TYPE Type,\n            _In_  UINT StartIndex,\n            _In_  UINT NumQueries,\n            _In_  ID3D12Resource *pDestinationBuffer,\n            _In_  UINT64 AlignedDestinationBufferOffset);\n        \n        void ( STDMETHODCALLTYPE *SetPredication )( \n            ID3D12GraphicsCommandList * This,\n            _In_opt_  ID3D12Resource *pBuffer,\n            _In_  UINT64 AlignedBufferOffset,\n            _In_  D3D12_PREDICATION_OP Operation);\n        \n        void ( STDMETHODCALLTYPE *SetMarker )( \n            ID3D12GraphicsCommandList * This,\n            UINT Metadata,\n            _In_reads_bytes_opt_(Size)  const void *pData,\n            UINT Size);\n        \n        void ( STDMETHODCALLTYPE *BeginEvent )( \n            ID3D12GraphicsCommandList * This,\n            UINT Metadata,\n            _In_reads_bytes_opt_(Size)  const void *pData,\n            UINT Size);\n        \n        void ( STDMETHODCALLTYPE *EndEvent )( \n            ID3D12GraphicsCommandList * This);\n        \n        void ( STDMETHODCALLTYPE *ExecuteIndirect )( \n            ID3D12GraphicsCommandList * This,\n            _In_  ID3D12CommandSignature *pCommandSignature,\n            _In_  UINT MaxCommandCount,\n            _In_  ID3D12Resource *pArgumentBuffer,\n            _In_  UINT64 ArgumentBufferOffset,\n            _In_opt_  ID3D12Resource *pCountBuffer,\n            _In_  UINT64 CountBufferOffset);\n        \n        END_INTERFACE\n    } ID3D12GraphicsCommandListVtbl;\n\n    interface ID3D12GraphicsCommandList\n    {\n        CONST_VTBL struct ID3D12GraphicsCommandListVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define ID3D12GraphicsCommandList_QueryInterface(This,riid,ppvObject)\t\\\n    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \n\n#define ID3D12GraphicsCommandList_AddRef(This)\t\\\n    ( (This)->lpVtbl -> AddRef(This) ) \n\n#define ID3D12GraphicsCommandList_Release(This)\t\\\n    ( (This)->lpVtbl -> Release(This) ) \n\n\n#define ID3D12GraphicsCommandList_GetPrivateData(This,guid,pDataSize,pData)\t\\\n    ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) \n\n#define ID3D12GraphicsCommandList_SetPrivateData(This,guid,DataSize,pData)\t\\\n    ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) \n\n#define ID3D12GraphicsCommandList_SetPrivateDataInterface(This,guid,pData)\t\\\n    ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) \n\n#define ID3D12GraphicsCommandList_SetName(This,Name)\t\\\n    ( (This)->lpVtbl -> SetName(This,Name) ) \n\n\n#define ID3D12GraphicsCommandList_GetDevice(This,riid,ppvDevice)\t\\\n    ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) ) \n\n\n#define ID3D12GraphicsCommandList_GetType(This)\t\\\n    ( (This)->lpVtbl -> GetType(This) ) \n\n\n#define ID3D12GraphicsCommandList_Close(This)\t\\\n    ( (This)->lpVtbl -> Close(This) ) \n\n#define ID3D12GraphicsCommandList_Reset(This,pAllocator,pInitialState)\t\\\n    ( (This)->lpVtbl -> Reset(This,pAllocator,pInitialState) ) \n\n#define ID3D12GraphicsCommandList_ClearState(This,pPipelineState)\t\\\n    ( (This)->lpVtbl -> ClearState(This,pPipelineState) ) \n\n#define ID3D12GraphicsCommandList_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation)\t\\\n    ( (This)->lpVtbl -> DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) ) \n\n#define ID3D12GraphicsCommandList_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation)\t\\\n    ( (This)->lpVtbl -> DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) ) \n\n#define ID3D12GraphicsCommandList_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ)\t\\\n    ( (This)->lpVtbl -> Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) ) \n\n#define ID3D12GraphicsCommandList_CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes)\t\\\n    ( (This)->lpVtbl -> CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes) ) \n\n#define ID3D12GraphicsCommandList_CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox)\t\\\n    ( (This)->lpVtbl -> CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox) ) \n\n#define ID3D12GraphicsCommandList_CopyResource(This,pDstResource,pSrcResource)\t\\\n    ( (This)->lpVtbl -> CopyResource(This,pDstResource,pSrcResource) ) \n\n#define ID3D12GraphicsCommandList_CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags)\t\\\n    ( (This)->lpVtbl -> CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) ) \n\n#define ID3D12GraphicsCommandList_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format)\t\\\n    ( (This)->lpVtbl -> ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) ) \n\n#define ID3D12GraphicsCommandList_IASetPrimitiveTopology(This,PrimitiveTopology)\t\\\n    ( (This)->lpVtbl -> IASetPrimitiveTopology(This,PrimitiveTopology) ) \n\n#define ID3D12GraphicsCommandList_RSSetViewports(This,NumViewports,pViewports)\t\\\n    ( (This)->lpVtbl -> RSSetViewports(This,NumViewports,pViewports) ) \n\n#define ID3D12GraphicsCommandList_RSSetScissorRects(This,NumRects,pRects)\t\\\n    ( (This)->lpVtbl -> RSSetScissorRects(This,NumRects,pRects) ) \n\n#define ID3D12GraphicsCommandList_OMSetBlendFactor(This,BlendFactor)\t\\\n    ( (This)->lpVtbl -> OMSetBlendFactor(This,BlendFactor) ) \n\n#define ID3D12GraphicsCommandList_OMSetStencilRef(This,StencilRef)\t\\\n    ( (This)->lpVtbl -> OMSetStencilRef(This,StencilRef) ) \n\n#define ID3D12GraphicsCommandList_SetPipelineState(This,pPipelineState)\t\\\n    ( (This)->lpVtbl -> SetPipelineState(This,pPipelineState) ) \n\n#define ID3D12GraphicsCommandList_ResourceBarrier(This,NumBarriers,pBarriers)\t\\\n    ( (This)->lpVtbl -> ResourceBarrier(This,NumBarriers,pBarriers) ) \n\n#define ID3D12GraphicsCommandList_ExecuteBundle(This,pCommandList)\t\\\n    ( (This)->lpVtbl -> ExecuteBundle(This,pCommandList) ) \n\n#define ID3D12GraphicsCommandList_SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps)\t\\\n    ( (This)->lpVtbl -> SetDescriptorHeaps(This,NumDescriptorHeaps,ppDescriptorHeaps) ) \n\n#define ID3D12GraphicsCommandList_SetComputeRootSignature(This,pRootSignature)\t\\\n    ( (This)->lpVtbl -> SetComputeRootSignature(This,pRootSignature) ) \n\n#define ID3D12GraphicsCommandList_SetGraphicsRootSignature(This,pRootSignature)\t\\\n    ( (This)->lpVtbl -> SetGraphicsRootSignature(This,pRootSignature) ) \n\n#define ID3D12GraphicsCommandList_SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor)\t\\\n    ( (This)->lpVtbl -> SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) ) \n\n#define ID3D12GraphicsCommandList_SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor)\t\\\n    ( (This)->lpVtbl -> SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) ) \n\n#define ID3D12GraphicsCommandList_SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues)\t\\\n    ( (This)->lpVtbl -> SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) ) \n\n#define ID3D12GraphicsCommandList_SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues)\t\\\n    ( (This)->lpVtbl -> SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) ) \n\n#define ID3D12GraphicsCommandList_SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues)\t\\\n    ( (This)->lpVtbl -> SetComputeRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) ) \n\n#define ID3D12GraphicsCommandList_SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues)\t\\\n    ( (This)->lpVtbl -> SetGraphicsRoot32BitConstants(This,RootParameterIndex,Num32BitValuesToSet,pSrcData,DestOffsetIn32BitValues) ) \n\n#define ID3D12GraphicsCommandList_SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation)\t\\\n    ( (This)->lpVtbl -> SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) ) \n\n#define ID3D12GraphicsCommandList_SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation)\t\\\n    ( (This)->lpVtbl -> SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) ) \n\n#define ID3D12GraphicsCommandList_SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation)\t\\\n    ( (This)->lpVtbl -> SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) ) \n\n#define ID3D12GraphicsCommandList_SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation)\t\\\n    ( (This)->lpVtbl -> SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) ) \n\n#define ID3D12GraphicsCommandList_SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation)\t\\\n    ( (This)->lpVtbl -> SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) ) \n\n#define ID3D12GraphicsCommandList_SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation)\t\\\n    ( (This)->lpVtbl -> SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) ) \n\n#define ID3D12GraphicsCommandList_IASetIndexBuffer(This,pView)\t\\\n    ( (This)->lpVtbl -> IASetIndexBuffer(This,pView) ) \n\n#define ID3D12GraphicsCommandList_IASetVertexBuffers(This,StartSlot,NumViews,pViews)\t\\\n    ( (This)->lpVtbl -> IASetVertexBuffers(This,StartSlot,NumViews,pViews) ) \n\n#define ID3D12GraphicsCommandList_SOSetTargets(This,StartSlot,NumViews,pViews)\t\\\n    ( (This)->lpVtbl -> SOSetTargets(This,StartSlot,NumViews,pViews) ) \n\n#define ID3D12GraphicsCommandList_OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor)\t\\\n    ( (This)->lpVtbl -> OMSetRenderTargets(This,NumRenderTargetDescriptors,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,pDepthStencilDescriptor) ) \n\n#define ID3D12GraphicsCommandList_ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects)\t\\\n    ( (This)->lpVtbl -> ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,NumRects,pRects) ) \n\n#define ID3D12GraphicsCommandList_ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects)\t\\\n    ( (This)->lpVtbl -> ClearRenderTargetView(This,RenderTargetView,ColorRGBA,NumRects,pRects) ) \n\n#define ID3D12GraphicsCommandList_ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects)\t\\\n    ( (This)->lpVtbl -> ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) ) \n\n#define ID3D12GraphicsCommandList_ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects)\t\\\n    ( (This)->lpVtbl -> ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,NumRects,pRects) ) \n\n#define ID3D12GraphicsCommandList_DiscardResource(This,pResource,pRegion)\t\\\n    ( (This)->lpVtbl -> DiscardResource(This,pResource,pRegion) ) \n\n#define ID3D12GraphicsCommandList_BeginQuery(This,pQueryHeap,Type,Index)\t\\\n    ( (This)->lpVtbl -> BeginQuery(This,pQueryHeap,Type,Index) ) \n\n#define ID3D12GraphicsCommandList_EndQuery(This,pQueryHeap,Type,Index)\t\\\n    ( (This)->lpVtbl -> EndQuery(This,pQueryHeap,Type,Index) ) \n\n#define ID3D12GraphicsCommandList_ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset)\t\\\n    ( (This)->lpVtbl -> ResolveQueryData(This,pQueryHeap,Type,StartIndex,NumQueries,pDestinationBuffer,AlignedDestinationBufferOffset) ) \n\n#define ID3D12GraphicsCommandList_SetPredication(This,pBuffer,AlignedBufferOffset,Operation)\t\\\n    ( (This)->lpVtbl -> SetPredication(This,pBuffer,AlignedBufferOffset,Operation) ) \n\n#define ID3D12GraphicsCommandList_SetMarker(This,Metadata,pData,Size)\t\\\n    ( (This)->lpVtbl -> SetMarker(This,Metadata,pData,Size) ) \n\n#define ID3D12GraphicsCommandList_BeginEvent(This,Metadata,pData,Size)\t\\\n    ( (This)->lpVtbl -> BeginEvent(This,Metadata,pData,Size) ) \n\n#define ID3D12GraphicsCommandList_EndEvent(This)\t\\\n    ( (This)->lpVtbl -> EndEvent(This) ) \n\n#define ID3D12GraphicsCommandList_ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset)\t\\\n    ( (This)->lpVtbl -> ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) ) \n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n\n#endif \t/* __ID3D12GraphicsCommandList_INTERFACE_DEFINED__ */\n\n\n#ifndef __ID3D12CommandQueue_INTERFACE_DEFINED__\n#define __ID3D12CommandQueue_INTERFACE_DEFINED__\n\n/* interface ID3D12CommandQueue */\n/* [unique][local][object][uuid] */ \n\n\nEXTERN_C const IID IID_ID3D12CommandQueue;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"0ec870a6-5d7e-4c22-8cfc-5baae07616ed\")\n    ID3D12CommandQueue : public ID3D12Pageable\n    {\n    public:\n        virtual void STDMETHODCALLTYPE UpdateTileMappings( \n            _In_  ID3D12Resource *pResource,\n            UINT NumResourceRegions,\n            _In_reads_opt_(NumResourceRegions)  const D3D12_TILED_RESOURCE_COORDINATE *pResourceRegionStartCoordinates,\n            _In_reads_opt_(NumResourceRegions)  const D3D12_TILE_REGION_SIZE *pResourceRegionSizes,\n            _In_opt_  ID3D12Heap *pHeap,\n            UINT NumRanges,\n            _In_reads_opt_(NumRanges)  const D3D12_TILE_RANGE_FLAGS *pRangeFlags,\n            _In_reads_opt_(NumRanges)  const UINT *pHeapRangeStartOffsets,\n            _In_reads_opt_(NumRanges)  const UINT *pRangeTileCounts,\n            D3D12_TILE_MAPPING_FLAGS Flags) = 0;\n        \n        virtual void STDMETHODCALLTYPE CopyTileMappings( \n            _In_  ID3D12Resource *pDstResource,\n            _In_  const D3D12_TILED_RESOURCE_COORDINATE *pDstRegionStartCoordinate,\n            _In_  ID3D12Resource *pSrcResource,\n            _In_  const D3D12_TILED_RESOURCE_COORDINATE *pSrcRegionStartCoordinate,\n            _In_  const D3D12_TILE_REGION_SIZE *pRegionSize,\n            D3D12_TILE_MAPPING_FLAGS Flags) = 0;\n        \n        virtual void STDMETHODCALLTYPE ExecuteCommandLists( \n            _In_  UINT NumCommandLists,\n            _In_reads_(NumCommandLists)  ID3D12CommandList *const *ppCommandLists) = 0;\n        \n        virtual void STDMETHODCALLTYPE SetMarker( \n            UINT Metadata,\n            _In_reads_bytes_opt_(Size)  const void *pData,\n            UINT Size) = 0;\n        \n        virtual void STDMETHODCALLTYPE BeginEvent( \n            UINT Metadata,\n            _In_reads_bytes_opt_(Size)  const void *pData,\n            UINT Size) = 0;\n        \n        virtual void STDMETHODCALLTYPE EndEvent( void) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Signal( \n            ID3D12Fence *pFence,\n            UINT64 Value) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Wait( \n            ID3D12Fence *pFence,\n            UINT64 Value) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE GetTimestampFrequency( \n            _Out_  UINT64 *pFrequency) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE GetClockCalibration( \n            _Out_  UINT64 *pGpuTimestamp,\n            _Out_  UINT64 *pCpuTimestamp) = 0;\n        \n        virtual D3D12_COMMAND_QUEUE_DESC STDMETHODCALLTYPE GetDesc( void) = 0;\n        \n    };\n    \n    \n#else \t/* C style interface */\n\n    typedef struct ID3D12CommandQueueVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            ID3D12CommandQueue * This,\n            REFIID riid,\n            _COM_Outptr_  void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            ID3D12CommandQueue * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            ID3D12CommandQueue * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( \n            ID3D12CommandQueue * This,\n            _In_  REFGUID guid,\n            _Inout_  UINT *pDataSize,\n            _Out_writes_bytes_opt_( *pDataSize )  void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( \n            ID3D12CommandQueue * This,\n            _In_  REFGUID guid,\n            _In_  UINT DataSize,\n            _In_reads_bytes_opt_( DataSize )  const void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( \n            ID3D12CommandQueue * This,\n            _In_  REFGUID guid,\n            _In_opt_  const IUnknown *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetName )( \n            ID3D12CommandQueue * This,\n            _In_z_  LPCWSTR Name);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetDevice )( \n            ID3D12CommandQueue * This,\n            REFIID riid,\n            _COM_Outptr_opt_  void **ppvDevice);\n        \n        void ( STDMETHODCALLTYPE *UpdateTileMappings )( \n            ID3D12CommandQueue * This,\n            _In_  ID3D12Resource *pResource,\n            UINT NumResourceRegions,\n            _In_reads_opt_(NumResourceRegions)  const D3D12_TILED_RESOURCE_COORDINATE *pResourceRegionStartCoordinates,\n            _In_reads_opt_(NumResourceRegions)  const D3D12_TILE_REGION_SIZE *pResourceRegionSizes,\n            _In_opt_  ID3D12Heap *pHeap,\n            UINT NumRanges,\n            _In_reads_opt_(NumRanges)  const D3D12_TILE_RANGE_FLAGS *pRangeFlags,\n            _In_reads_opt_(NumRanges)  const UINT *pHeapRangeStartOffsets,\n            _In_reads_opt_(NumRanges)  const UINT *pRangeTileCounts,\n            D3D12_TILE_MAPPING_FLAGS Flags);\n        \n        void ( STDMETHODCALLTYPE *CopyTileMappings )( \n            ID3D12CommandQueue * This,\n            _In_  ID3D12Resource *pDstResource,\n            _In_  const D3D12_TILED_RESOURCE_COORDINATE *pDstRegionStartCoordinate,\n            _In_  ID3D12Resource *pSrcResource,\n            _In_  const D3D12_TILED_RESOURCE_COORDINATE *pSrcRegionStartCoordinate,\n            _In_  const D3D12_TILE_REGION_SIZE *pRegionSize,\n            D3D12_TILE_MAPPING_FLAGS Flags);\n        \n        void ( STDMETHODCALLTYPE *ExecuteCommandLists )( \n            ID3D12CommandQueue * This,\n            _In_  UINT NumCommandLists,\n            _In_reads_(NumCommandLists)  ID3D12CommandList *const *ppCommandLists);\n        \n        void ( STDMETHODCALLTYPE *SetMarker )( \n            ID3D12CommandQueue * This,\n            UINT Metadata,\n            _In_reads_bytes_opt_(Size)  const void *pData,\n            UINT Size);\n        \n        void ( STDMETHODCALLTYPE *BeginEvent )( \n            ID3D12CommandQueue * This,\n            UINT Metadata,\n            _In_reads_bytes_opt_(Size)  const void *pData,\n            UINT Size);\n        \n        void ( STDMETHODCALLTYPE *EndEvent )( \n            ID3D12CommandQueue * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *Signal )( \n            ID3D12CommandQueue * This,\n            ID3D12Fence *pFence,\n            UINT64 Value);\n        \n        HRESULT ( STDMETHODCALLTYPE *Wait )( \n            ID3D12CommandQueue * This,\n            ID3D12Fence *pFence,\n            UINT64 Value);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetTimestampFrequency )( \n            ID3D12CommandQueue * This,\n            _Out_  UINT64 *pFrequency);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetClockCalibration )( \n            ID3D12CommandQueue * This,\n            _Out_  UINT64 *pGpuTimestamp,\n            _Out_  UINT64 *pCpuTimestamp);\n        \n        D3D12_COMMAND_QUEUE_DESC ( STDMETHODCALLTYPE *GetDesc )( \n            ID3D12CommandQueue * This);\n        \n        END_INTERFACE\n    } ID3D12CommandQueueVtbl;\n\n    interface ID3D12CommandQueue\n    {\n        CONST_VTBL struct ID3D12CommandQueueVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define ID3D12CommandQueue_QueryInterface(This,riid,ppvObject)\t\\\n    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \n\n#define ID3D12CommandQueue_AddRef(This)\t\\\n    ( (This)->lpVtbl -> AddRef(This) ) \n\n#define ID3D12CommandQueue_Release(This)\t\\\n    ( (This)->lpVtbl -> Release(This) ) \n\n\n#define ID3D12CommandQueue_GetPrivateData(This,guid,pDataSize,pData)\t\\\n    ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) \n\n#define ID3D12CommandQueue_SetPrivateData(This,guid,DataSize,pData)\t\\\n    ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) \n\n#define ID3D12CommandQueue_SetPrivateDataInterface(This,guid,pData)\t\\\n    ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) \n\n#define ID3D12CommandQueue_SetName(This,Name)\t\\\n    ( (This)->lpVtbl -> SetName(This,Name) ) \n\n\n#define ID3D12CommandQueue_GetDevice(This,riid,ppvDevice)\t\\\n    ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) ) \n\n\n\n#define ID3D12CommandQueue_UpdateTileMappings(This,pResource,NumResourceRegions,pResourceRegionStartCoordinates,pResourceRegionSizes,pHeap,NumRanges,pRangeFlags,pHeapRangeStartOffsets,pRangeTileCounts,Flags)\t\\\n    ( (This)->lpVtbl -> UpdateTileMappings(This,pResource,NumResourceRegions,pResourceRegionStartCoordinates,pResourceRegionSizes,pHeap,NumRanges,pRangeFlags,pHeapRangeStartOffsets,pRangeTileCounts,Flags) ) \n\n#define ID3D12CommandQueue_CopyTileMappings(This,pDstResource,pDstRegionStartCoordinate,pSrcResource,pSrcRegionStartCoordinate,pRegionSize,Flags)\t\\\n    ( (This)->lpVtbl -> CopyTileMappings(This,pDstResource,pDstRegionStartCoordinate,pSrcResource,pSrcRegionStartCoordinate,pRegionSize,Flags) ) \n\n#define ID3D12CommandQueue_ExecuteCommandLists(This,NumCommandLists,ppCommandLists)\t\\\n    ( (This)->lpVtbl -> ExecuteCommandLists(This,NumCommandLists,ppCommandLists) ) \n\n#define ID3D12CommandQueue_SetMarker(This,Metadata,pData,Size)\t\\\n    ( (This)->lpVtbl -> SetMarker(This,Metadata,pData,Size) ) \n\n#define ID3D12CommandQueue_BeginEvent(This,Metadata,pData,Size)\t\\\n    ( (This)->lpVtbl -> BeginEvent(This,Metadata,pData,Size) ) \n\n#define ID3D12CommandQueue_EndEvent(This)\t\\\n    ( (This)->lpVtbl -> EndEvent(This) ) \n\n#define ID3D12CommandQueue_Signal(This,pFence,Value)\t\\\n    ( (This)->lpVtbl -> Signal(This,pFence,Value) ) \n\n#define ID3D12CommandQueue_Wait(This,pFence,Value)\t\\\n    ( (This)->lpVtbl -> Wait(This,pFence,Value) ) \n\n#define ID3D12CommandQueue_GetTimestampFrequency(This,pFrequency)\t\\\n    ( (This)->lpVtbl -> GetTimestampFrequency(This,pFrequency) ) \n\n#define ID3D12CommandQueue_GetClockCalibration(This,pGpuTimestamp,pCpuTimestamp)\t\\\n    ( (This)->lpVtbl -> GetClockCalibration(This,pGpuTimestamp,pCpuTimestamp) ) \n\n#define ID3D12CommandQueue_GetDesc(This)\t\\\n    ( (This)->lpVtbl -> GetDesc(This) ) \n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n\n\n\n\n\n#endif \t/* __ID3D12CommandQueue_INTERFACE_DEFINED__ */\n\n\n#ifndef __ID3D12Device_INTERFACE_DEFINED__\n#define __ID3D12Device_INTERFACE_DEFINED__\n\n/* interface ID3D12Device */\n/* [unique][local][object][uuid] */ \n\n\nEXTERN_C const IID IID_ID3D12Device;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"189819f1-1db6-4b57-be54-1821339b85f7\")\n    ID3D12Device : public ID3D12Object\n    {\n    public:\n        virtual UINT STDMETHODCALLTYPE GetNodeCount( void) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE CreateCommandQueue( \n            _In_  const D3D12_COMMAND_QUEUE_DESC *pDesc,\n            REFIID riid,\n            _COM_Outptr_  void **ppCommandQueue) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE CreateCommandAllocator( \n            _In_  D3D12_COMMAND_LIST_TYPE type,\n            REFIID riid,\n            _COM_Outptr_  void **ppCommandAllocator) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE CreateGraphicsPipelineState( \n            _In_  const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc,\n            REFIID riid,\n            _COM_Outptr_  void **ppPipelineState) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE CreateComputePipelineState( \n            _In_  const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc,\n            REFIID riid,\n            _COM_Outptr_  void **ppPipelineState) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE CreateCommandList( \n            _In_  UINT nodeMask,\n            _In_  D3D12_COMMAND_LIST_TYPE type,\n            _In_  ID3D12CommandAllocator *pCommandAllocator,\n            _In_opt_  ID3D12PipelineState *pInitialState,\n            REFIID riid,\n            _COM_Outptr_  void **ppCommandList) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE CheckFeatureSupport( \n            D3D12_FEATURE Feature,\n            _Inout_updates_bytes_(FeatureSupportDataSize)  void *pFeatureSupportData,\n            UINT FeatureSupportDataSize) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE CreateDescriptorHeap( \n            _In_  const D3D12_DESCRIPTOR_HEAP_DESC *pDescriptorHeapDesc,\n            REFIID riid,\n            _COM_Outptr_  void **ppvHeap) = 0;\n        \n        virtual UINT STDMETHODCALLTYPE GetDescriptorHandleIncrementSize( \n            _In_  D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE CreateRootSignature( \n            _In_  UINT nodeMask,\n            _In_reads_(blobLengthInBytes)  const void *pBlobWithRootSignature,\n            _In_  SIZE_T blobLengthInBytes,\n            REFIID riid,\n            _COM_Outptr_  void **ppvRootSignature) = 0;\n        \n        virtual void STDMETHODCALLTYPE CreateConstantBufferView( \n            _In_opt_  const D3D12_CONSTANT_BUFFER_VIEW_DESC *pDesc,\n            _In_  D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor) = 0;\n        \n        virtual void STDMETHODCALLTYPE CreateShaderResourceView( \n            _In_opt_  ID3D12Resource *pResource,\n            _In_opt_  const D3D12_SHADER_RESOURCE_VIEW_DESC *pDesc,\n            _In_  D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor) = 0;\n        \n        virtual void STDMETHODCALLTYPE CreateUnorderedAccessView( \n            _In_opt_  ID3D12Resource *pResource,\n            _In_opt_  ID3D12Resource *pCounterResource,\n            _In_opt_  const D3D12_UNORDERED_ACCESS_VIEW_DESC *pDesc,\n            _In_  D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor) = 0;\n        \n        virtual void STDMETHODCALLTYPE CreateRenderTargetView( \n            _In_opt_  ID3D12Resource *pResource,\n            _In_opt_  const D3D12_RENDER_TARGET_VIEW_DESC *pDesc,\n            _In_  D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor) = 0;\n        \n        virtual void STDMETHODCALLTYPE CreateDepthStencilView( \n            _In_opt_  ID3D12Resource *pResource,\n            _In_opt_  const D3D12_DEPTH_STENCIL_VIEW_DESC *pDesc,\n            _In_  D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor) = 0;\n        \n        virtual void STDMETHODCALLTYPE CreateSampler( \n            _In_  const D3D12_SAMPLER_DESC *pDesc,\n            _In_  D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor) = 0;\n        \n        virtual void STDMETHODCALLTYPE CopyDescriptors( \n            _In_  UINT NumDestDescriptorRanges,\n            _In_reads_(NumDestDescriptorRanges)  const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts,\n            _In_reads_opt_(NumDestDescriptorRanges)  const UINT *pDestDescriptorRangeSizes,\n            _In_  UINT NumSrcDescriptorRanges,\n            _In_reads_(NumSrcDescriptorRanges)  const D3D12_CPU_DESCRIPTOR_HANDLE *pSrcDescriptorRangeStarts,\n            _In_reads_opt_(NumSrcDescriptorRanges)  const UINT *pSrcDescriptorRangeSizes,\n            _In_  D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType) = 0;\n        \n        virtual void STDMETHODCALLTYPE CopyDescriptorsSimple( \n            _In_  UINT NumDescriptors,\n            _In_  D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart,\n            _In_  D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart,\n            _In_  D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType) = 0;\n        \n        virtual D3D12_RESOURCE_ALLOCATION_INFO STDMETHODCALLTYPE GetResourceAllocationInfo( \n            _In_  UINT visibleMask,\n            _In_  UINT numResourceDescs,\n            _In_reads_(numResourceDescs)  const D3D12_RESOURCE_DESC *pResourceDescs) = 0;\n        \n        virtual D3D12_HEAP_PROPERTIES STDMETHODCALLTYPE GetCustomHeapProperties( \n            _In_  UINT nodeMask,\n            D3D12_HEAP_TYPE heapType) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE CreateCommittedResource( \n            _In_  const D3D12_HEAP_PROPERTIES *pHeapProperties,\n            D3D12_HEAP_FLAGS HeapFlags,\n            _In_  const D3D12_RESOURCE_DESC *pDesc,\n            D3D12_RESOURCE_STATES InitialResourceState,\n            _In_opt_  const D3D12_CLEAR_VALUE *pOptimizedClearValue,\n            REFIID riidResource,\n            _COM_Outptr_opt_  void **ppvResource) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE CreateHeap( \n            _In_  const D3D12_HEAP_DESC *pDesc,\n            REFIID riid,\n            _COM_Outptr_opt_  void **ppvHeap) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE CreatePlacedResource( \n            _In_  ID3D12Heap *pHeap,\n            UINT64 HeapOffset,\n            _In_  const D3D12_RESOURCE_DESC *pDesc,\n            D3D12_RESOURCE_STATES InitialState,\n            _In_opt_  const D3D12_CLEAR_VALUE *pOptimizedClearValue,\n            REFIID riid,\n            _COM_Outptr_opt_  void **ppvResource) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE CreateReservedResource( \n            _In_  const D3D12_RESOURCE_DESC *pDesc,\n            D3D12_RESOURCE_STATES InitialState,\n            _In_opt_  const D3D12_CLEAR_VALUE *pOptimizedClearValue,\n            REFIID riid,\n            _COM_Outptr_opt_  void **ppvResource) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE CreateSharedHandle( \n            _In_  ID3D12DeviceChild *pObject,\n            _In_opt_  const SECURITY_ATTRIBUTES *pAttributes,\n            DWORD Access,\n            _In_opt_  LPCWSTR Name,\n            _Out_  HANDLE *pHandle) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE OpenSharedHandle( \n            _In_  HANDLE NTHandle,\n            REFIID riid,\n            _COM_Outptr_opt_  void **ppvObj) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE OpenSharedHandleByName( \n            _In_  LPCWSTR Name,\n            DWORD Access,\n            /* [annotation][out] */ \n            _Out_  HANDLE *pNTHandle) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE MakeResident( \n            UINT NumObjects,\n            _In_reads_(NumObjects)  ID3D12Pageable *const *ppObjects) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Evict( \n            UINT NumObjects,\n            _In_reads_(NumObjects)  ID3D12Pageable *const *ppObjects) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE CreateFence( \n            UINT64 InitialValue,\n            D3D12_FENCE_FLAGS Flags,\n            REFIID riid,\n            _COM_Outptr_  void **ppFence) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE GetDeviceRemovedReason( void) = 0;\n        \n        virtual void STDMETHODCALLTYPE GetCopyableFootprints( \n            _In_  const D3D12_RESOURCE_DESC *pResourceDesc,\n            _In_range_(0,D3D12_REQ_SUBRESOURCES)  UINT FirstSubresource,\n            _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource)  UINT NumSubresources,\n            UINT64 BaseOffset,\n            _Out_writes_opt_(NumSubresources)  D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts,\n            _Out_writes_opt_(NumSubresources)  UINT *pNumRows,\n            _Out_writes_opt_(NumSubresources)  UINT64 *pRowSizeInBytes,\n            _Out_opt_  UINT64 *pTotalBytes) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE CreateQueryHeap( \n            _In_  const D3D12_QUERY_HEAP_DESC *pDesc,\n            REFIID riid,\n            _COM_Outptr_opt_  void **ppvHeap) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE SetStablePowerState( \n            BOOL Enable) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE CreateCommandSignature( \n            _In_  const D3D12_COMMAND_SIGNATURE_DESC *pDesc,\n            _In_opt_  ID3D12RootSignature *pRootSignature,\n            REFIID riid,\n            _COM_Outptr_opt_  void **ppvCommandSignature) = 0;\n        \n        virtual void STDMETHODCALLTYPE GetResourceTiling( \n            _In_  ID3D12Resource *pTiledResource,\n            _Out_opt_  UINT *pNumTilesForEntireResource,\n            _Out_opt_  D3D12_PACKED_MIP_INFO *pPackedMipDesc,\n            _Out_opt_  D3D12_TILE_SHAPE *pStandardTileShapeForNonPackedMips,\n            _Inout_opt_  UINT *pNumSubresourceTilings,\n            _In_  UINT FirstSubresourceTilingToGet,\n            _Out_writes_(*pNumSubresourceTilings)  D3D12_SUBRESOURCE_TILING *pSubresourceTilingsForNonPackedMips) = 0;\n        \n        virtual LUID STDMETHODCALLTYPE GetAdapterLuid( void) = 0;\n        \n    };\n    \n    \n#else \t/* C style interface */\n\n    typedef struct ID3D12DeviceVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            ID3D12Device * This,\n            REFIID riid,\n            _COM_Outptr_  void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            ID3D12Device * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            ID3D12Device * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( \n            ID3D12Device * This,\n            _In_  REFGUID guid,\n            _Inout_  UINT *pDataSize,\n            _Out_writes_bytes_opt_( *pDataSize )  void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( \n            ID3D12Device * This,\n            _In_  REFGUID guid,\n            _In_  UINT DataSize,\n            _In_reads_bytes_opt_( DataSize )  const void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( \n            ID3D12Device * This,\n            _In_  REFGUID guid,\n            _In_opt_  const IUnknown *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetName )( \n            ID3D12Device * This,\n            _In_z_  LPCWSTR Name);\n        \n        UINT ( STDMETHODCALLTYPE *GetNodeCount )( \n            ID3D12Device * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue )( \n            ID3D12Device * This,\n            _In_  const D3D12_COMMAND_QUEUE_DESC *pDesc,\n            REFIID riid,\n            _COM_Outptr_  void **ppCommandQueue);\n        \n        HRESULT ( STDMETHODCALLTYPE *CreateCommandAllocator )( \n            ID3D12Device * This,\n            _In_  D3D12_COMMAND_LIST_TYPE type,\n            REFIID riid,\n            _COM_Outptr_  void **ppCommandAllocator);\n        \n        HRESULT ( STDMETHODCALLTYPE *CreateGraphicsPipelineState )( \n            ID3D12Device * This,\n            _In_  const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc,\n            REFIID riid,\n            _COM_Outptr_  void **ppPipelineState);\n        \n        HRESULT ( STDMETHODCALLTYPE *CreateComputePipelineState )( \n            ID3D12Device * This,\n            _In_  const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc,\n            REFIID riid,\n            _COM_Outptr_  void **ppPipelineState);\n        \n        HRESULT ( STDMETHODCALLTYPE *CreateCommandList )( \n            ID3D12Device * This,\n            _In_  UINT nodeMask,\n            _In_  D3D12_COMMAND_LIST_TYPE type,\n            _In_  ID3D12CommandAllocator *pCommandAllocator,\n            _In_opt_  ID3D12PipelineState *pInitialState,\n            REFIID riid,\n            _COM_Outptr_  void **ppCommandList);\n        \n        HRESULT ( STDMETHODCALLTYPE *CheckFeatureSupport )( \n            ID3D12Device * This,\n            D3D12_FEATURE Feature,\n            _Inout_updates_bytes_(FeatureSupportDataSize)  void *pFeatureSupportData,\n            UINT FeatureSupportDataSize);\n        \n        HRESULT ( STDMETHODCALLTYPE *CreateDescriptorHeap )( \n            ID3D12Device * This,\n            _In_  const D3D12_DESCRIPTOR_HEAP_DESC *pDescriptorHeapDesc,\n            REFIID riid,\n            _COM_Outptr_  void **ppvHeap);\n        \n        UINT ( STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize )( \n            ID3D12Device * This,\n            _In_  D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType);\n        \n        HRESULT ( STDMETHODCALLTYPE *CreateRootSignature )( \n            ID3D12Device * This,\n            _In_  UINT nodeMask,\n            _In_reads_(blobLengthInBytes)  const void *pBlobWithRootSignature,\n            _In_  SIZE_T blobLengthInBytes,\n            REFIID riid,\n            _COM_Outptr_  void **ppvRootSignature);\n        \n        void ( STDMETHODCALLTYPE *CreateConstantBufferView )( \n            ID3D12Device * This,\n            _In_opt_  const D3D12_CONSTANT_BUFFER_VIEW_DESC *pDesc,\n            _In_  D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);\n        \n        void ( STDMETHODCALLTYPE *CreateShaderResourceView )( \n            ID3D12Device * This,\n            _In_opt_  ID3D12Resource *pResource,\n            _In_opt_  const D3D12_SHADER_RESOURCE_VIEW_DESC *pDesc,\n            _In_  D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);\n        \n        void ( STDMETHODCALLTYPE *CreateUnorderedAccessView )( \n            ID3D12Device * This,\n            _In_opt_  ID3D12Resource *pResource,\n            _In_opt_  ID3D12Resource *pCounterResource,\n            _In_opt_  const D3D12_UNORDERED_ACCESS_VIEW_DESC *pDesc,\n            _In_  D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);\n        \n        void ( STDMETHODCALLTYPE *CreateRenderTargetView )( \n            ID3D12Device * This,\n            _In_opt_  ID3D12Resource *pResource,\n            _In_opt_  const D3D12_RENDER_TARGET_VIEW_DESC *pDesc,\n            _In_  D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);\n        \n        void ( STDMETHODCALLTYPE *CreateDepthStencilView )( \n            ID3D12Device * This,\n            _In_opt_  ID3D12Resource *pResource,\n            _In_opt_  const D3D12_DEPTH_STENCIL_VIEW_DESC *pDesc,\n            _In_  D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);\n        \n        void ( STDMETHODCALLTYPE *CreateSampler )( \n            ID3D12Device * This,\n            _In_  const D3D12_SAMPLER_DESC *pDesc,\n            _In_  D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);\n        \n        void ( STDMETHODCALLTYPE *CopyDescriptors )( \n            ID3D12Device * This,\n            _In_  UINT NumDestDescriptorRanges,\n            _In_reads_(NumDestDescriptorRanges)  const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts,\n            _In_reads_opt_(NumDestDescriptorRanges)  const UINT *pDestDescriptorRangeSizes,\n            _In_  UINT NumSrcDescriptorRanges,\n            _In_reads_(NumSrcDescriptorRanges)  const D3D12_CPU_DESCRIPTOR_HANDLE *pSrcDescriptorRangeStarts,\n            _In_reads_opt_(NumSrcDescriptorRanges)  const UINT *pSrcDescriptorRangeSizes,\n            _In_  D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);\n        \n        void ( STDMETHODCALLTYPE *CopyDescriptorsSimple )( \n            ID3D12Device * This,\n            _In_  UINT NumDescriptors,\n            _In_  D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart,\n            _In_  D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart,\n            _In_  D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);\n        \n        D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo )( \n            ID3D12Device * This,\n            _In_  UINT visibleMask,\n            _In_  UINT numResourceDescs,\n            _In_reads_(numResourceDescs)  const D3D12_RESOURCE_DESC *pResourceDescs);\n        \n        D3D12_HEAP_PROPERTIES ( STDMETHODCALLTYPE *GetCustomHeapProperties )( \n            ID3D12Device * This,\n            _In_  UINT nodeMask,\n            D3D12_HEAP_TYPE heapType);\n        \n        HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource )( \n            ID3D12Device * This,\n            _In_  const D3D12_HEAP_PROPERTIES *pHeapProperties,\n            D3D12_HEAP_FLAGS HeapFlags,\n            _In_  const D3D12_RESOURCE_DESC *pDesc,\n            D3D12_RESOURCE_STATES InitialResourceState,\n            _In_opt_  const D3D12_CLEAR_VALUE *pOptimizedClearValue,\n            REFIID riidResource,\n            _COM_Outptr_opt_  void **ppvResource);\n        \n        HRESULT ( STDMETHODCALLTYPE *CreateHeap )( \n            ID3D12Device * This,\n            _In_  const D3D12_HEAP_DESC *pDesc,\n            REFIID riid,\n            _COM_Outptr_opt_  void **ppvHeap);\n        \n        HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource )( \n            ID3D12Device * This,\n            _In_  ID3D12Heap *pHeap,\n            UINT64 HeapOffset,\n            _In_  const D3D12_RESOURCE_DESC *pDesc,\n            D3D12_RESOURCE_STATES InitialState,\n            _In_opt_  const D3D12_CLEAR_VALUE *pOptimizedClearValue,\n            REFIID riid,\n            _COM_Outptr_opt_  void **ppvResource);\n        \n        HRESULT ( STDMETHODCALLTYPE *CreateReservedResource )( \n            ID3D12Device * This,\n            _In_  const D3D12_RESOURCE_DESC *pDesc,\n            D3D12_RESOURCE_STATES InitialState,\n            _In_opt_  const D3D12_CLEAR_VALUE *pOptimizedClearValue,\n            REFIID riid,\n            _COM_Outptr_opt_  void **ppvResource);\n        \n        HRESULT ( STDMETHODCALLTYPE *CreateSharedHandle )( \n            ID3D12Device * This,\n            _In_  ID3D12DeviceChild *pObject,\n            _In_opt_  const SECURITY_ATTRIBUTES *pAttributes,\n            DWORD Access,\n            _In_opt_  LPCWSTR Name,\n            _Out_  HANDLE *pHandle);\n        \n        HRESULT ( STDMETHODCALLTYPE *OpenSharedHandle )( \n            ID3D12Device * This,\n            _In_  HANDLE NTHandle,\n            REFIID riid,\n            _COM_Outptr_opt_  void **ppvObj);\n        \n        HRESULT ( STDMETHODCALLTYPE *OpenSharedHandleByName )( \n            ID3D12Device * This,\n            _In_  LPCWSTR Name,\n            DWORD Access,\n            /* [annotation][out] */ \n            _Out_  HANDLE *pNTHandle);\n        \n        HRESULT ( STDMETHODCALLTYPE *MakeResident )( \n            ID3D12Device * This,\n            UINT NumObjects,\n            _In_reads_(NumObjects)  ID3D12Pageable *const *ppObjects);\n        \n        HRESULT ( STDMETHODCALLTYPE *Evict )( \n            ID3D12Device * This,\n            UINT NumObjects,\n            _In_reads_(NumObjects)  ID3D12Pageable *const *ppObjects);\n        \n        HRESULT ( STDMETHODCALLTYPE *CreateFence )( \n            ID3D12Device * This,\n            UINT64 InitialValue,\n            D3D12_FENCE_FLAGS Flags,\n            REFIID riid,\n            _COM_Outptr_  void **ppFence);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetDeviceRemovedReason )( \n            ID3D12Device * This);\n        \n        void ( STDMETHODCALLTYPE *GetCopyableFootprints )( \n            ID3D12Device * This,\n            _In_  const D3D12_RESOURCE_DESC *pResourceDesc,\n            _In_range_(0,D3D12_REQ_SUBRESOURCES)  UINT FirstSubresource,\n            _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource)  UINT NumSubresources,\n            UINT64 BaseOffset,\n            _Out_writes_opt_(NumSubresources)  D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts,\n            _Out_writes_opt_(NumSubresources)  UINT *pNumRows,\n            _Out_writes_opt_(NumSubresources)  UINT64 *pRowSizeInBytes,\n            _Out_opt_  UINT64 *pTotalBytes);\n        \n        HRESULT ( STDMETHODCALLTYPE *CreateQueryHeap )( \n            ID3D12Device * This,\n            _In_  const D3D12_QUERY_HEAP_DESC *pDesc,\n            REFIID riid,\n            _COM_Outptr_opt_  void **ppvHeap);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetStablePowerState )( \n            ID3D12Device * This,\n            BOOL Enable);\n        \n        HRESULT ( STDMETHODCALLTYPE *CreateCommandSignature )( \n            ID3D12Device * This,\n            _In_  const D3D12_COMMAND_SIGNATURE_DESC *pDesc,\n            _In_opt_  ID3D12RootSignature *pRootSignature,\n            REFIID riid,\n            _COM_Outptr_opt_  void **ppvCommandSignature);\n        \n        void ( STDMETHODCALLTYPE *GetResourceTiling )( \n            ID3D12Device * This,\n            _In_  ID3D12Resource *pTiledResource,\n            _Out_opt_  UINT *pNumTilesForEntireResource,\n            _Out_opt_  D3D12_PACKED_MIP_INFO *pPackedMipDesc,\n            _Out_opt_  D3D12_TILE_SHAPE *pStandardTileShapeForNonPackedMips,\n            _Inout_opt_  UINT *pNumSubresourceTilings,\n            _In_  UINT FirstSubresourceTilingToGet,\n            _Out_writes_(*pNumSubresourceTilings)  D3D12_SUBRESOURCE_TILING *pSubresourceTilingsForNonPackedMips);\n        \n        LUID ( STDMETHODCALLTYPE *GetAdapterLuid )( \n            ID3D12Device * This);\n        \n        END_INTERFACE\n    } ID3D12DeviceVtbl;\n\n    interface ID3D12Device\n    {\n        CONST_VTBL struct ID3D12DeviceVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define ID3D12Device_QueryInterface(This,riid,ppvObject)\t\\\n    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \n\n#define ID3D12Device_AddRef(This)\t\\\n    ( (This)->lpVtbl -> AddRef(This) ) \n\n#define ID3D12Device_Release(This)\t\\\n    ( (This)->lpVtbl -> Release(This) ) \n\n\n#define ID3D12Device_GetPrivateData(This,guid,pDataSize,pData)\t\\\n    ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) \n\n#define ID3D12Device_SetPrivateData(This,guid,DataSize,pData)\t\\\n    ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) \n\n#define ID3D12Device_SetPrivateDataInterface(This,guid,pData)\t\\\n    ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) \n\n#define ID3D12Device_SetName(This,Name)\t\\\n    ( (This)->lpVtbl -> SetName(This,Name) ) \n\n\n#define ID3D12Device_GetNodeCount(This)\t\\\n    ( (This)->lpVtbl -> GetNodeCount(This) ) \n\n#define ID3D12Device_CreateCommandQueue(This,pDesc,riid,ppCommandQueue)\t\\\n    ( (This)->lpVtbl -> CreateCommandQueue(This,pDesc,riid,ppCommandQueue) ) \n\n#define ID3D12Device_CreateCommandAllocator(This,type,riid,ppCommandAllocator)\t\\\n    ( (This)->lpVtbl -> CreateCommandAllocator(This,type,riid,ppCommandAllocator) ) \n\n#define ID3D12Device_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState)\t\\\n    ( (This)->lpVtbl -> CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) ) \n\n#define ID3D12Device_CreateComputePipelineState(This,pDesc,riid,ppPipelineState)\t\\\n    ( (This)->lpVtbl -> CreateComputePipelineState(This,pDesc,riid,ppPipelineState) ) \n\n#define ID3D12Device_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList)\t\\\n    ( (This)->lpVtbl -> CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) ) \n\n#define ID3D12Device_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize)\t\\\n    ( (This)->lpVtbl -> CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) ) \n\n#define ID3D12Device_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap)\t\\\n    ( (This)->lpVtbl -> CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) ) \n\n#define ID3D12Device_GetDescriptorHandleIncrementSize(This,DescriptorHeapType)\t\\\n    ( (This)->lpVtbl -> GetDescriptorHandleIncrementSize(This,DescriptorHeapType) ) \n\n#define ID3D12Device_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature)\t\\\n    ( (This)->lpVtbl -> CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) ) \n\n#define ID3D12Device_CreateConstantBufferView(This,pDesc,DestDescriptor)\t\\\n    ( (This)->lpVtbl -> CreateConstantBufferView(This,pDesc,DestDescriptor) ) \n\n#define ID3D12Device_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor)\t\\\n    ( (This)->lpVtbl -> CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) ) \n\n#define ID3D12Device_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor)\t\\\n    ( (This)->lpVtbl -> CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) ) \n\n#define ID3D12Device_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor)\t\\\n    ( (This)->lpVtbl -> CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) ) \n\n#define ID3D12Device_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor)\t\\\n    ( (This)->lpVtbl -> CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) ) \n\n#define ID3D12Device_CreateSampler(This,pDesc,DestDescriptor)\t\\\n    ( (This)->lpVtbl -> CreateSampler(This,pDesc,DestDescriptor) ) \n\n#define ID3D12Device_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType)\t\\\n    ( (This)->lpVtbl -> CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) ) \n\n#define ID3D12Device_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType)\t\\\n    ( (This)->lpVtbl -> CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) ) \n\n#define ID3D12Device_GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs)\t\\\n    ( (This)->lpVtbl -> GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) ) \n\n#define ID3D12Device_GetCustomHeapProperties(This,nodeMask,heapType)\t\\\n    ( (This)->lpVtbl -> GetCustomHeapProperties(This,nodeMask,heapType) ) \n\n#define ID3D12Device_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource)\t\\\n    ( (This)->lpVtbl -> CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) ) \n\n#define ID3D12Device_CreateHeap(This,pDesc,riid,ppvHeap)\t\\\n    ( (This)->lpVtbl -> CreateHeap(This,pDesc,riid,ppvHeap) ) \n\n#define ID3D12Device_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource)\t\\\n    ( (This)->lpVtbl -> CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) \n\n#define ID3D12Device_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource)\t\\\n    ( (This)->lpVtbl -> CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) \n\n#define ID3D12Device_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle)\t\\\n    ( (This)->lpVtbl -> CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) ) \n\n#define ID3D12Device_OpenSharedHandle(This,NTHandle,riid,ppvObj)\t\\\n    ( (This)->lpVtbl -> OpenSharedHandle(This,NTHandle,riid,ppvObj) ) \n\n#define ID3D12Device_OpenSharedHandleByName(This,Name,Access,pNTHandle)\t\\\n    ( (This)->lpVtbl -> OpenSharedHandleByName(This,Name,Access,pNTHandle) ) \n\n#define ID3D12Device_MakeResident(This,NumObjects,ppObjects)\t\\\n    ( (This)->lpVtbl -> MakeResident(This,NumObjects,ppObjects) ) \n\n#define ID3D12Device_Evict(This,NumObjects,ppObjects)\t\\\n    ( (This)->lpVtbl -> Evict(This,NumObjects,ppObjects) ) \n\n#define ID3D12Device_CreateFence(This,InitialValue,Flags,riid,ppFence)\t\\\n    ( (This)->lpVtbl -> CreateFence(This,InitialValue,Flags,riid,ppFence) ) \n\n#define ID3D12Device_GetDeviceRemovedReason(This)\t\\\n    ( (This)->lpVtbl -> GetDeviceRemovedReason(This) ) \n\n#define ID3D12Device_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes)\t\\\n    ( (This)->lpVtbl -> GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) ) \n\n#define ID3D12Device_CreateQueryHeap(This,pDesc,riid,ppvHeap)\t\\\n    ( (This)->lpVtbl -> CreateQueryHeap(This,pDesc,riid,ppvHeap) ) \n\n#define ID3D12Device_SetStablePowerState(This,Enable)\t\\\n    ( (This)->lpVtbl -> SetStablePowerState(This,Enable) ) \n\n#define ID3D12Device_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature)\t\\\n    ( (This)->lpVtbl -> CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) ) \n\n#define ID3D12Device_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips)\t\\\n    ( (This)->lpVtbl -> GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) ) \n\n#define ID3D12Device_GetAdapterLuid(This)\t\\\n    ( (This)->lpVtbl -> GetAdapterLuid(This) ) \n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n#endif \t/* __ID3D12Device_INTERFACE_DEFINED__ */\n\n\n#ifndef __ID3D12PipelineLibrary_INTERFACE_DEFINED__\n#define __ID3D12PipelineLibrary_INTERFACE_DEFINED__\n\n/* interface ID3D12PipelineLibrary */\n/* [unique][local][object][uuid] */ \n\n\nEXTERN_C const IID IID_ID3D12PipelineLibrary;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"c64226a8-9201-46af-b4cc-53fb9ff7414f\")\n    ID3D12PipelineLibrary : public ID3D12DeviceChild\n    {\n    public:\n        virtual HRESULT STDMETHODCALLTYPE StorePipeline( \n            _In_opt_  LPCWSTR pName,\n            _In_  ID3D12PipelineState *pPipeline) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE LoadGraphicsPipeline( \n            _In_  LPCWSTR pName,\n            _In_  const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc,\n            REFIID riid,\n            _COM_Outptr_  void **ppPipelineState) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE LoadComputePipeline( \n            _In_  LPCWSTR pName,\n            _In_  const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc,\n            REFIID riid,\n            _COM_Outptr_  void **ppPipelineState) = 0;\n        \n        virtual SIZE_T STDMETHODCALLTYPE GetSerializedSize( void) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Serialize( \n            _Out_writes_(DataSizeInBytes)  void *pData,\n            SIZE_T DataSizeInBytes) = 0;\n        \n    };\n    \n    \n#else \t/* C style interface */\n\n    typedef struct ID3D12PipelineLibraryVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            ID3D12PipelineLibrary * This,\n            REFIID riid,\n            _COM_Outptr_  void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            ID3D12PipelineLibrary * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            ID3D12PipelineLibrary * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( \n            ID3D12PipelineLibrary * This,\n            _In_  REFGUID guid,\n            _Inout_  UINT *pDataSize,\n            _Out_writes_bytes_opt_( *pDataSize )  void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( \n            ID3D12PipelineLibrary * This,\n            _In_  REFGUID guid,\n            _In_  UINT DataSize,\n            _In_reads_bytes_opt_( DataSize )  const void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( \n            ID3D12PipelineLibrary * This,\n            _In_  REFGUID guid,\n            _In_opt_  const IUnknown *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetName )( \n            ID3D12PipelineLibrary * This,\n            _In_z_  LPCWSTR Name);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetDevice )( \n            ID3D12PipelineLibrary * This,\n            REFIID riid,\n            _COM_Outptr_opt_  void **ppvDevice);\n        \n        HRESULT ( STDMETHODCALLTYPE *StorePipeline )( \n            ID3D12PipelineLibrary * This,\n            _In_opt_  LPCWSTR pName,\n            _In_  ID3D12PipelineState *pPipeline);\n        \n        HRESULT ( STDMETHODCALLTYPE *LoadGraphicsPipeline )( \n            ID3D12PipelineLibrary * This,\n            _In_  LPCWSTR pName,\n            _In_  const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc,\n            REFIID riid,\n            _COM_Outptr_  void **ppPipelineState);\n        \n        HRESULT ( STDMETHODCALLTYPE *LoadComputePipeline )( \n            ID3D12PipelineLibrary * This,\n            _In_  LPCWSTR pName,\n            _In_  const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc,\n            REFIID riid,\n            _COM_Outptr_  void **ppPipelineState);\n        \n        SIZE_T ( STDMETHODCALLTYPE *GetSerializedSize )( \n            ID3D12PipelineLibrary * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *Serialize )( \n            ID3D12PipelineLibrary * This,\n            _Out_writes_(DataSizeInBytes)  void *pData,\n            SIZE_T DataSizeInBytes);\n        \n        END_INTERFACE\n    } ID3D12PipelineLibraryVtbl;\n\n    interface ID3D12PipelineLibrary\n    {\n        CONST_VTBL struct ID3D12PipelineLibraryVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define ID3D12PipelineLibrary_QueryInterface(This,riid,ppvObject)\t\\\n    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \n\n#define ID3D12PipelineLibrary_AddRef(This)\t\\\n    ( (This)->lpVtbl -> AddRef(This) ) \n\n#define ID3D12PipelineLibrary_Release(This)\t\\\n    ( (This)->lpVtbl -> Release(This) ) \n\n\n#define ID3D12PipelineLibrary_GetPrivateData(This,guid,pDataSize,pData)\t\\\n    ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) \n\n#define ID3D12PipelineLibrary_SetPrivateData(This,guid,DataSize,pData)\t\\\n    ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) \n\n#define ID3D12PipelineLibrary_SetPrivateDataInterface(This,guid,pData)\t\\\n    ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) \n\n#define ID3D12PipelineLibrary_SetName(This,Name)\t\\\n    ( (This)->lpVtbl -> SetName(This,Name) ) \n\n\n#define ID3D12PipelineLibrary_GetDevice(This,riid,ppvDevice)\t\\\n    ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) ) \n\n\n#define ID3D12PipelineLibrary_StorePipeline(This,pName,pPipeline)\t\\\n    ( (This)->lpVtbl -> StorePipeline(This,pName,pPipeline) ) \n\n#define ID3D12PipelineLibrary_LoadGraphicsPipeline(This,pName,pDesc,riid,ppPipelineState)\t\\\n    ( (This)->lpVtbl -> LoadGraphicsPipeline(This,pName,pDesc,riid,ppPipelineState) ) \n\n#define ID3D12PipelineLibrary_LoadComputePipeline(This,pName,pDesc,riid,ppPipelineState)\t\\\n    ( (This)->lpVtbl -> LoadComputePipeline(This,pName,pDesc,riid,ppPipelineState) ) \n\n#define ID3D12PipelineLibrary_GetSerializedSize(This)\t\\\n    ( (This)->lpVtbl -> GetSerializedSize(This) ) \n\n#define ID3D12PipelineLibrary_Serialize(This,pData,DataSizeInBytes)\t\\\n    ( (This)->lpVtbl -> Serialize(This,pData,DataSizeInBytes) ) \n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n\n#endif \t/* __ID3D12PipelineLibrary_INTERFACE_DEFINED__ */\n\n\n/* interface __MIDL_itf_d3d12_0000_0019 */\n/* [local] */ \n\ntypedef \nenum D3D12_MULTIPLE_FENCE_WAIT_FLAGS\n    {\n        D3D12_MULTIPLE_FENCE_WAIT_FLAG_NONE\t= 0,\n        D3D12_MULTIPLE_FENCE_WAIT_FLAG_ANY\t= 0x1,\n        D3D12_MULTIPLE_FENCE_WAIT_FLAG_ALL\t= 0\n    } \tD3D12_MULTIPLE_FENCE_WAIT_FLAGS;\n\nDEFINE_ENUM_FLAG_OPERATORS( D3D12_MULTIPLE_FENCE_WAIT_FLAGS );\ntypedef \nenum D3D12_RESIDENCY_PRIORITY\n    {\n        D3D12_RESIDENCY_PRIORITY_MINIMUM\t= 0x28000000,\n        D3D12_RESIDENCY_PRIORITY_LOW\t= 0x50000000,\n        D3D12_RESIDENCY_PRIORITY_NORMAL\t= 0x78000000,\n        D3D12_RESIDENCY_PRIORITY_HIGH\t= 0xa0000000,\n        D3D12_RESIDENCY_PRIORITY_MAXIMUM\t= 0xc8000000\n    } \tD3D12_RESIDENCY_PRIORITY;\n\n\n\nextern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0019_v0_0_c_ifspec;\nextern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0019_v0_0_s_ifspec;\n\n#ifndef __ID3D12Device1_INTERFACE_DEFINED__\n#define __ID3D12Device1_INTERFACE_DEFINED__\n\n/* interface ID3D12Device1 */\n/* [unique][local][object][uuid] */ \n\n\nEXTERN_C const IID IID_ID3D12Device1;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"77acce80-638e-4e65-8895-c1f23386863e\")\n    ID3D12Device1 : public ID3D12Device\n    {\n    public:\n        virtual HRESULT STDMETHODCALLTYPE CreatePipelineLibrary( \n            _In_reads_(BlobLength)  const void *pLibraryBlob,\n            SIZE_T BlobLength,\n            REFIID riid,\n            _COM_Outptr_  void **ppPipelineLibrary) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE SetEventOnMultipleFenceCompletion( \n            _In_reads_(NumFences)  ID3D12Fence *const *ppFences,\n            _In_reads_(NumFences)  const UINT64 *pFenceValues,\n            UINT NumFences,\n            D3D12_MULTIPLE_FENCE_WAIT_FLAGS Flags,\n            HANDLE hEvent) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE SetResidencyPriority( \n            UINT NumObjects,\n            _In_reads_(NumObjects)  ID3D12Pageable *const *ppObjects,\n            _In_reads_(NumObjects)  const D3D12_RESIDENCY_PRIORITY *pPriorities) = 0;\n        \n    };\n    \n    \n#else \t/* C style interface */\n\n    typedef struct ID3D12Device1Vtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            ID3D12Device1 * This,\n            REFIID riid,\n            _COM_Outptr_  void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            ID3D12Device1 * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            ID3D12Device1 * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( \n            ID3D12Device1 * This,\n            _In_  REFGUID guid,\n            _Inout_  UINT *pDataSize,\n            _Out_writes_bytes_opt_( *pDataSize )  void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( \n            ID3D12Device1 * This,\n            _In_  REFGUID guid,\n            _In_  UINT DataSize,\n            _In_reads_bytes_opt_( DataSize )  const void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( \n            ID3D12Device1 * This,\n            _In_  REFGUID guid,\n            _In_opt_  const IUnknown *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetName )( \n            ID3D12Device1 * This,\n            _In_z_  LPCWSTR Name);\n        \n        UINT ( STDMETHODCALLTYPE *GetNodeCount )( \n            ID3D12Device1 * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue )( \n            ID3D12Device1 * This,\n            _In_  const D3D12_COMMAND_QUEUE_DESC *pDesc,\n            REFIID riid,\n            _COM_Outptr_  void **ppCommandQueue);\n        \n        HRESULT ( STDMETHODCALLTYPE *CreateCommandAllocator )( \n            ID3D12Device1 * This,\n            _In_  D3D12_COMMAND_LIST_TYPE type,\n            REFIID riid,\n            _COM_Outptr_  void **ppCommandAllocator);\n        \n        HRESULT ( STDMETHODCALLTYPE *CreateGraphicsPipelineState )( \n            ID3D12Device1 * This,\n            _In_  const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc,\n            REFIID riid,\n            _COM_Outptr_  void **ppPipelineState);\n        \n        HRESULT ( STDMETHODCALLTYPE *CreateComputePipelineState )( \n            ID3D12Device1 * This,\n            _In_  const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc,\n            REFIID riid,\n            _COM_Outptr_  void **ppPipelineState);\n        \n        HRESULT ( STDMETHODCALLTYPE *CreateCommandList )( \n            ID3D12Device1 * This,\n            _In_  UINT nodeMask,\n            _In_  D3D12_COMMAND_LIST_TYPE type,\n            _In_  ID3D12CommandAllocator *pCommandAllocator,\n            _In_opt_  ID3D12PipelineState *pInitialState,\n            REFIID riid,\n            _COM_Outptr_  void **ppCommandList);\n        \n        HRESULT ( STDMETHODCALLTYPE *CheckFeatureSupport )( \n            ID3D12Device1 * This,\n            D3D12_FEATURE Feature,\n            _Inout_updates_bytes_(FeatureSupportDataSize)  void *pFeatureSupportData,\n            UINT FeatureSupportDataSize);\n        \n        HRESULT ( STDMETHODCALLTYPE *CreateDescriptorHeap )( \n            ID3D12Device1 * This,\n            _In_  const D3D12_DESCRIPTOR_HEAP_DESC *pDescriptorHeapDesc,\n            REFIID riid,\n            _COM_Outptr_  void **ppvHeap);\n        \n        UINT ( STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize )( \n            ID3D12Device1 * This,\n            _In_  D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType);\n        \n        HRESULT ( STDMETHODCALLTYPE *CreateRootSignature )( \n            ID3D12Device1 * This,\n            _In_  UINT nodeMask,\n            _In_reads_(blobLengthInBytes)  const void *pBlobWithRootSignature,\n            _In_  SIZE_T blobLengthInBytes,\n            REFIID riid,\n            _COM_Outptr_  void **ppvRootSignature);\n        \n        void ( STDMETHODCALLTYPE *CreateConstantBufferView )( \n            ID3D12Device1 * This,\n            _In_opt_  const D3D12_CONSTANT_BUFFER_VIEW_DESC *pDesc,\n            _In_  D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);\n        \n        void ( STDMETHODCALLTYPE *CreateShaderResourceView )( \n            ID3D12Device1 * This,\n            _In_opt_  ID3D12Resource *pResource,\n            _In_opt_  const D3D12_SHADER_RESOURCE_VIEW_DESC *pDesc,\n            _In_  D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);\n        \n        void ( STDMETHODCALLTYPE *CreateUnorderedAccessView )( \n            ID3D12Device1 * This,\n            _In_opt_  ID3D12Resource *pResource,\n            _In_opt_  ID3D12Resource *pCounterResource,\n            _In_opt_  const D3D12_UNORDERED_ACCESS_VIEW_DESC *pDesc,\n            _In_  D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);\n        \n        void ( STDMETHODCALLTYPE *CreateRenderTargetView )( \n            ID3D12Device1 * This,\n            _In_opt_  ID3D12Resource *pResource,\n            _In_opt_  const D3D12_RENDER_TARGET_VIEW_DESC *pDesc,\n            _In_  D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);\n        \n        void ( STDMETHODCALLTYPE *CreateDepthStencilView )( \n            ID3D12Device1 * This,\n            _In_opt_  ID3D12Resource *pResource,\n            _In_opt_  const D3D12_DEPTH_STENCIL_VIEW_DESC *pDesc,\n            _In_  D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);\n        \n        void ( STDMETHODCALLTYPE *CreateSampler )( \n            ID3D12Device1 * This,\n            _In_  const D3D12_SAMPLER_DESC *pDesc,\n            _In_  D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);\n        \n        void ( STDMETHODCALLTYPE *CopyDescriptors )( \n            ID3D12Device1 * This,\n            _In_  UINT NumDestDescriptorRanges,\n            _In_reads_(NumDestDescriptorRanges)  const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts,\n            _In_reads_opt_(NumDestDescriptorRanges)  const UINT *pDestDescriptorRangeSizes,\n            _In_  UINT NumSrcDescriptorRanges,\n            _In_reads_(NumSrcDescriptorRanges)  const D3D12_CPU_DESCRIPTOR_HANDLE *pSrcDescriptorRangeStarts,\n            _In_reads_opt_(NumSrcDescriptorRanges)  const UINT *pSrcDescriptorRangeSizes,\n            _In_  D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);\n        \n        void ( STDMETHODCALLTYPE *CopyDescriptorsSimple )( \n            ID3D12Device1 * This,\n            _In_  UINT NumDescriptors,\n            _In_  D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart,\n            _In_  D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart,\n            _In_  D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);\n        \n        D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo )( \n            ID3D12Device1 * This,\n            _In_  UINT visibleMask,\n            _In_  UINT numResourceDescs,\n            _In_reads_(numResourceDescs)  const D3D12_RESOURCE_DESC *pResourceDescs);\n        \n        D3D12_HEAP_PROPERTIES ( STDMETHODCALLTYPE *GetCustomHeapProperties )( \n            ID3D12Device1 * This,\n            _In_  UINT nodeMask,\n            D3D12_HEAP_TYPE heapType);\n        \n        HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource )( \n            ID3D12Device1 * This,\n            _In_  const D3D12_HEAP_PROPERTIES *pHeapProperties,\n            D3D12_HEAP_FLAGS HeapFlags,\n            _In_  const D3D12_RESOURCE_DESC *pDesc,\n            D3D12_RESOURCE_STATES InitialResourceState,\n            _In_opt_  const D3D12_CLEAR_VALUE *pOptimizedClearValue,\n            REFIID riidResource,\n            _COM_Outptr_opt_  void **ppvResource);\n        \n        HRESULT ( STDMETHODCALLTYPE *CreateHeap )( \n            ID3D12Device1 * This,\n            _In_  const D3D12_HEAP_DESC *pDesc,\n            REFIID riid,\n            _COM_Outptr_opt_  void **ppvHeap);\n        \n        HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource )( \n            ID3D12Device1 * This,\n            _In_  ID3D12Heap *pHeap,\n            UINT64 HeapOffset,\n            _In_  const D3D12_RESOURCE_DESC *pDesc,\n            D3D12_RESOURCE_STATES InitialState,\n            _In_opt_  const D3D12_CLEAR_VALUE *pOptimizedClearValue,\n            REFIID riid,\n            _COM_Outptr_opt_  void **ppvResource);\n        \n        HRESULT ( STDMETHODCALLTYPE *CreateReservedResource )( \n            ID3D12Device1 * This,\n            _In_  const D3D12_RESOURCE_DESC *pDesc,\n            D3D12_RESOURCE_STATES InitialState,\n            _In_opt_  const D3D12_CLEAR_VALUE *pOptimizedClearValue,\n            REFIID riid,\n            _COM_Outptr_opt_  void **ppvResource);\n        \n        HRESULT ( STDMETHODCALLTYPE *CreateSharedHandle )( \n            ID3D12Device1 * This,\n            _In_  ID3D12DeviceChild *pObject,\n            _In_opt_  const SECURITY_ATTRIBUTES *pAttributes,\n            DWORD Access,\n            _In_opt_  LPCWSTR Name,\n            _Out_  HANDLE *pHandle);\n        \n        HRESULT ( STDMETHODCALLTYPE *OpenSharedHandle )( \n            ID3D12Device1 * This,\n            _In_  HANDLE NTHandle,\n            REFIID riid,\n            _COM_Outptr_opt_  void **ppvObj);\n        \n        HRESULT ( STDMETHODCALLTYPE *OpenSharedHandleByName )( \n            ID3D12Device1 * This,\n            _In_  LPCWSTR Name,\n            DWORD Access,\n            /* [annotation][out] */ \n            _Out_  HANDLE *pNTHandle);\n        \n        HRESULT ( STDMETHODCALLTYPE *MakeResident )( \n            ID3D12Device1 * This,\n            UINT NumObjects,\n            _In_reads_(NumObjects)  ID3D12Pageable *const *ppObjects);\n        \n        HRESULT ( STDMETHODCALLTYPE *Evict )( \n            ID3D12Device1 * This,\n            UINT NumObjects,\n            _In_reads_(NumObjects)  ID3D12Pageable *const *ppObjects);\n        \n        HRESULT ( STDMETHODCALLTYPE *CreateFence )( \n            ID3D12Device1 * This,\n            UINT64 InitialValue,\n            D3D12_FENCE_FLAGS Flags,\n            REFIID riid,\n            _COM_Outptr_  void **ppFence);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetDeviceRemovedReason )( \n            ID3D12Device1 * This);\n        \n        void ( STDMETHODCALLTYPE *GetCopyableFootprints )( \n            ID3D12Device1 * This,\n            _In_  const D3D12_RESOURCE_DESC *pResourceDesc,\n            _In_range_(0,D3D12_REQ_SUBRESOURCES)  UINT FirstSubresource,\n            _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource)  UINT NumSubresources,\n            UINT64 BaseOffset,\n            _Out_writes_opt_(NumSubresources)  D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts,\n            _Out_writes_opt_(NumSubresources)  UINT *pNumRows,\n            _Out_writes_opt_(NumSubresources)  UINT64 *pRowSizeInBytes,\n            _Out_opt_  UINT64 *pTotalBytes);\n        \n        HRESULT ( STDMETHODCALLTYPE *CreateQueryHeap )( \n            ID3D12Device1 * This,\n            _In_  const D3D12_QUERY_HEAP_DESC *pDesc,\n            REFIID riid,\n            _COM_Outptr_opt_  void **ppvHeap);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetStablePowerState )( \n            ID3D12Device1 * This,\n            BOOL Enable);\n        \n        HRESULT ( STDMETHODCALLTYPE *CreateCommandSignature )( \n            ID3D12Device1 * This,\n            _In_  const D3D12_COMMAND_SIGNATURE_DESC *pDesc,\n            _In_opt_  ID3D12RootSignature *pRootSignature,\n            REFIID riid,\n            _COM_Outptr_opt_  void **ppvCommandSignature);\n        \n        void ( STDMETHODCALLTYPE *GetResourceTiling )( \n            ID3D12Device1 * This,\n            _In_  ID3D12Resource *pTiledResource,\n            _Out_opt_  UINT *pNumTilesForEntireResource,\n            _Out_opt_  D3D12_PACKED_MIP_INFO *pPackedMipDesc,\n            _Out_opt_  D3D12_TILE_SHAPE *pStandardTileShapeForNonPackedMips,\n            _Inout_opt_  UINT *pNumSubresourceTilings,\n            _In_  UINT FirstSubresourceTilingToGet,\n            _Out_writes_(*pNumSubresourceTilings)  D3D12_SUBRESOURCE_TILING *pSubresourceTilingsForNonPackedMips);\n        \n        LUID ( STDMETHODCALLTYPE *GetAdapterLuid )( \n            ID3D12Device1 * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *CreatePipelineLibrary )( \n            ID3D12Device1 * This,\n            _In_reads_(BlobLength)  const void *pLibraryBlob,\n            SIZE_T BlobLength,\n            REFIID riid,\n            _COM_Outptr_  void **ppPipelineLibrary);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetEventOnMultipleFenceCompletion )( \n            ID3D12Device1 * This,\n            _In_reads_(NumFences)  ID3D12Fence *const *ppFences,\n            _In_reads_(NumFences)  const UINT64 *pFenceValues,\n            UINT NumFences,\n            D3D12_MULTIPLE_FENCE_WAIT_FLAGS Flags,\n            HANDLE hEvent);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetResidencyPriority )( \n            ID3D12Device1 * This,\n            UINT NumObjects,\n            _In_reads_(NumObjects)  ID3D12Pageable *const *ppObjects,\n            _In_reads_(NumObjects)  const D3D12_RESIDENCY_PRIORITY *pPriorities);\n        \n        END_INTERFACE\n    } ID3D12Device1Vtbl;\n\n    interface ID3D12Device1\n    {\n        CONST_VTBL struct ID3D12Device1Vtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define ID3D12Device1_QueryInterface(This,riid,ppvObject)\t\\\n    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \n\n#define ID3D12Device1_AddRef(This)\t\\\n    ( (This)->lpVtbl -> AddRef(This) ) \n\n#define ID3D12Device1_Release(This)\t\\\n    ( (This)->lpVtbl -> Release(This) ) \n\n\n#define ID3D12Device1_GetPrivateData(This,guid,pDataSize,pData)\t\\\n    ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) \n\n#define ID3D12Device1_SetPrivateData(This,guid,DataSize,pData)\t\\\n    ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) \n\n#define ID3D12Device1_SetPrivateDataInterface(This,guid,pData)\t\\\n    ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) \n\n#define ID3D12Device1_SetName(This,Name)\t\\\n    ( (This)->lpVtbl -> SetName(This,Name) ) \n\n\n#define ID3D12Device1_GetNodeCount(This)\t\\\n    ( (This)->lpVtbl -> GetNodeCount(This) ) \n\n#define ID3D12Device1_CreateCommandQueue(This,pDesc,riid,ppCommandQueue)\t\\\n    ( (This)->lpVtbl -> CreateCommandQueue(This,pDesc,riid,ppCommandQueue) ) \n\n#define ID3D12Device1_CreateCommandAllocator(This,type,riid,ppCommandAllocator)\t\\\n    ( (This)->lpVtbl -> CreateCommandAllocator(This,type,riid,ppCommandAllocator) ) \n\n#define ID3D12Device1_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState)\t\\\n    ( (This)->lpVtbl -> CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) ) \n\n#define ID3D12Device1_CreateComputePipelineState(This,pDesc,riid,ppPipelineState)\t\\\n    ( (This)->lpVtbl -> CreateComputePipelineState(This,pDesc,riid,ppPipelineState) ) \n\n#define ID3D12Device1_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList)\t\\\n    ( (This)->lpVtbl -> CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) ) \n\n#define ID3D12Device1_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize)\t\\\n    ( (This)->lpVtbl -> CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) ) \n\n#define ID3D12Device1_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap)\t\\\n    ( (This)->lpVtbl -> CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) ) \n\n#define ID3D12Device1_GetDescriptorHandleIncrementSize(This,DescriptorHeapType)\t\\\n    ( (This)->lpVtbl -> GetDescriptorHandleIncrementSize(This,DescriptorHeapType) ) \n\n#define ID3D12Device1_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature)\t\\\n    ( (This)->lpVtbl -> CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) ) \n\n#define ID3D12Device1_CreateConstantBufferView(This,pDesc,DestDescriptor)\t\\\n    ( (This)->lpVtbl -> CreateConstantBufferView(This,pDesc,DestDescriptor) ) \n\n#define ID3D12Device1_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor)\t\\\n    ( (This)->lpVtbl -> CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) ) \n\n#define ID3D12Device1_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor)\t\\\n    ( (This)->lpVtbl -> CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) ) \n\n#define ID3D12Device1_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor)\t\\\n    ( (This)->lpVtbl -> CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) ) \n\n#define ID3D12Device1_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor)\t\\\n    ( (This)->lpVtbl -> CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) ) \n\n#define ID3D12Device1_CreateSampler(This,pDesc,DestDescriptor)\t\\\n    ( (This)->lpVtbl -> CreateSampler(This,pDesc,DestDescriptor) ) \n\n#define ID3D12Device1_CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType)\t\\\n    ( (This)->lpVtbl -> CopyDescriptors(This,NumDestDescriptorRanges,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumSrcDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,DescriptorHeapsType) ) \n\n#define ID3D12Device1_CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType)\t\\\n    ( (This)->lpVtbl -> CopyDescriptorsSimple(This,NumDescriptors,DestDescriptorRangeStart,SrcDescriptorRangeStart,DescriptorHeapsType) ) \n\n#define ID3D12Device1_GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs)\t\\\n    ( (This)->lpVtbl -> GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) ) \n\n#define ID3D12Device1_GetCustomHeapProperties(This,nodeMask,heapType)\t\\\n    ( (This)->lpVtbl -> GetCustomHeapProperties(This,nodeMask,heapType) ) \n\n#define ID3D12Device1_CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource)\t\\\n    ( (This)->lpVtbl -> CreateCommittedResource(This,pHeapProperties,HeapFlags,pDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) ) \n\n#define ID3D12Device1_CreateHeap(This,pDesc,riid,ppvHeap)\t\\\n    ( (This)->lpVtbl -> CreateHeap(This,pDesc,riid,ppvHeap) ) \n\n#define ID3D12Device1_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource)\t\\\n    ( (This)->lpVtbl -> CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) \n\n#define ID3D12Device1_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource)\t\\\n    ( (This)->lpVtbl -> CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) ) \n\n#define ID3D12Device1_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle)\t\\\n    ( (This)->lpVtbl -> CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) ) \n\n#define ID3D12Device1_OpenSharedHandle(This,NTHandle,riid,ppvObj)\t\\\n    ( (This)->lpVtbl -> OpenSharedHandle(This,NTHandle,riid,ppvObj) ) \n\n#define ID3D12Device1_OpenSharedHandleByName(This,Name,Access,pNTHandle)\t\\\n    ( (This)->lpVtbl -> OpenSharedHandleByName(This,Name,Access,pNTHandle) ) \n\n#define ID3D12Device1_MakeResident(This,NumObjects,ppObjects)\t\\\n    ( (This)->lpVtbl -> MakeResident(This,NumObjects,ppObjects) ) \n\n#define ID3D12Device1_Evict(This,NumObjects,ppObjects)\t\\\n    ( (This)->lpVtbl -> Evict(This,NumObjects,ppObjects) ) \n\n#define ID3D12Device1_CreateFence(This,InitialValue,Flags,riid,ppFence)\t\\\n    ( (This)->lpVtbl -> CreateFence(This,InitialValue,Flags,riid,ppFence) ) \n\n#define ID3D12Device1_GetDeviceRemovedReason(This)\t\\\n    ( (This)->lpVtbl -> GetDeviceRemovedReason(This) ) \n\n#define ID3D12Device1_GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes)\t\\\n    ( (This)->lpVtbl -> GetCopyableFootprints(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) ) \n\n#define ID3D12Device1_CreateQueryHeap(This,pDesc,riid,ppvHeap)\t\\\n    ( (This)->lpVtbl -> CreateQueryHeap(This,pDesc,riid,ppvHeap) ) \n\n#define ID3D12Device1_SetStablePowerState(This,Enable)\t\\\n    ( (This)->lpVtbl -> SetStablePowerState(This,Enable) ) \n\n#define ID3D12Device1_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature)\t\\\n    ( (This)->lpVtbl -> CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) ) \n\n#define ID3D12Device1_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips)\t\\\n    ( (This)->lpVtbl -> GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) ) \n\n#define ID3D12Device1_GetAdapterLuid(This)\t\\\n    ( (This)->lpVtbl -> GetAdapterLuid(This) ) \n\n\n#define ID3D12Device1_CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary)\t\\\n    ( (This)->lpVtbl -> CreatePipelineLibrary(This,pLibraryBlob,BlobLength,riid,ppPipelineLibrary) ) \n\n#define ID3D12Device1_SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent)\t\\\n    ( (This)->lpVtbl -> SetEventOnMultipleFenceCompletion(This,ppFences,pFenceValues,NumFences,Flags,hEvent) ) \n\n#define ID3D12Device1_SetResidencyPriority(This,NumObjects,ppObjects,pPriorities)\t\\\n    ( (This)->lpVtbl -> SetResidencyPriority(This,NumObjects,ppObjects,pPriorities) ) \n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n\n#endif \t/* __ID3D12Device1_INTERFACE_DEFINED__ */\n\n\n/* interface __MIDL_itf_d3d12_0000_0020 */\n/* [local] */ \n\ntypedef struct D3D12_SUBRESOURCE_DATA\n    {\n    const void *pData;\n    LONG_PTR RowPitch;\n    LONG_PTR SlicePitch;\n    } \tD3D12_SUBRESOURCE_DATA;\n\ntypedef struct D3D12_MEMCPY_DEST\n    {\n    void *pData;\n    SIZE_T RowPitch;\n    SIZE_T SlicePitch;\n    } \tD3D12_MEMCPY_DEST;\n\n#if !defined( D3D12_IGNORE_SDK_LAYERS ) \n#include \"d3d12sdklayers.h\" \n#endif \n\n///////////////////////////////////////////////////////////////////////////\n// D3D12CreateDevice\n// ------------------\n//\n// pAdapter\n//      If NULL, D3D12CreateDevice will choose the primary adapter.\n//      If non-NULL, D3D12CreateDevice will use the provided adapter.\n// MinimumFeatureLevel\n//      The minimum feature level required for successful device creation.\n// riid\n//      The interface IID of the device to be returned. Expected: ID3D12Device.\n// ppDevice\n//      Pointer to returned interface. May be NULL.\n//\n// Return Values\n//  Any of those documented for \n//          CreateDXGIFactory1\n//          IDXGIFactory::EnumAdapters\n//          D3D12CreateDevice\n//\n///////////////////////////////////////////////////////////////////////////\ntypedef HRESULT (WINAPI* PFN_D3D12_CREATE_DEVICE)( _In_opt_ IUnknown*, \n    D3D_FEATURE_LEVEL, \n    _In_ REFIID, _COM_Outptr_opt_ void** );\n\nHRESULT WINAPI D3D12CreateDevice(\n    _In_opt_ IUnknown* pAdapter,\n    D3D_FEATURE_LEVEL MinimumFeatureLevel,\n    _In_ REFIID riid, // Expected: ID3D12Device\n    _COM_Outptr_opt_ void** ppDevice );\n\n\ntypedef HRESULT (WINAPI* PFN_D3D12_GET_DEBUG_INTERFACE)( _In_ REFIID, _COM_Outptr_opt_ void** );\n\nHRESULT WINAPI D3D12GetDebugInterface( _In_ REFIID riid, _COM_Outptr_opt_ void** ppvDebug );\n\n#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */\n#pragma endregion\nDEFINE_GUID(IID_ID3D12Object,0xc4fec28f,0x7966,0x4e95,0x9f,0x94,0xf4,0x31,0xcb,0x56,0xc3,0xb8);\nDEFINE_GUID(IID_ID3D12DeviceChild,0x905db94b,0xa00c,0x4140,0x9d,0xf5,0x2b,0x64,0xca,0x9e,0xa3,0x57);\nDEFINE_GUID(IID_ID3D12RootSignature,0xc54a6b66,0x72df,0x4ee8,0x8b,0xe5,0xa9,0x46,0xa1,0x42,0x92,0x14);\nDEFINE_GUID(IID_ID3D12RootSignatureDeserializer,0x34AB647B,0x3CC8,0x46AC,0x84,0x1B,0xC0,0x96,0x56,0x45,0xC0,0x46);\nDEFINE_GUID(IID_ID3D12VersionedRootSignatureDeserializer,0x7F91CE67,0x090C,0x4BB7,0xB7,0x8E,0xED,0x8F,0xF2,0xE3,0x1D,0xA0);\nDEFINE_GUID(IID_ID3D12Pageable,0x63ee58fb,0x1268,0x4835,0x86,0xda,0xf0,0x08,0xce,0x62,0xf0,0xd6);\nDEFINE_GUID(IID_ID3D12Heap,0x6b3b2502,0x6e51,0x45b3,0x90,0xee,0x98,0x84,0x26,0x5e,0x8d,0xf3);\nDEFINE_GUID(IID_ID3D12Resource,0x696442be,0xa72e,0x4059,0xbc,0x79,0x5b,0x5c,0x98,0x04,0x0f,0xad);\nDEFINE_GUID(IID_ID3D12CommandAllocator,0x6102dee4,0xaf59,0x4b09,0xb9,0x99,0xb4,0x4d,0x73,0xf0,0x9b,0x24);\nDEFINE_GUID(IID_ID3D12Fence,0x0a753dcf,0xc4d8,0x4b91,0xad,0xf6,0xbe,0x5a,0x60,0xd9,0x5a,0x76);\nDEFINE_GUID(IID_ID3D12PipelineState,0x765a30f3,0xf624,0x4c6f,0xa8,0x28,0xac,0xe9,0x48,0x62,0x24,0x45);\nDEFINE_GUID(IID_ID3D12DescriptorHeap,0x8efb471d,0x616c,0x4f49,0x90,0xf7,0x12,0x7b,0xb7,0x63,0xfa,0x51);\nDEFINE_GUID(IID_ID3D12QueryHeap,0x0d9658ae,0xed45,0x469e,0xa6,0x1d,0x97,0x0e,0xc5,0x83,0xca,0xb4);\nDEFINE_GUID(IID_ID3D12CommandSignature,0xc36a797c,0xec80,0x4f0a,0x89,0x85,0xa7,0xb2,0x47,0x50,0x82,0xd1);\nDEFINE_GUID(IID_ID3D12CommandList,0x7116d91c,0xe7e4,0x47ce,0xb8,0xc6,0xec,0x81,0x68,0xf4,0x37,0xe5);\nDEFINE_GUID(IID_ID3D12GraphicsCommandList,0x5b160d0f,0xac1b,0x4185,0x8b,0xa8,0xb3,0xae,0x42,0xa5,0xa4,0x55);\nDEFINE_GUID(IID_ID3D12CommandQueue,0x0ec870a6,0x5d7e,0x4c22,0x8c,0xfc,0x5b,0xaa,0xe0,0x76,0x16,0xed);\nDEFINE_GUID(IID_ID3D12Device,0x189819f1,0x1db6,0x4b57,0xbe,0x54,0x18,0x21,0x33,0x9b,0x85,0xf7);\nDEFINE_GUID(IID_ID3D12PipelineLibrary,0xc64226a8,0x9201,0x46af,0xb4,0xcc,0x53,0xfb,0x9f,0xf7,0x41,0x4f);\nDEFINE_GUID(IID_ID3D12Device1,0x77acce80,0x638e,0x4e65,0x88,0x95,0xc1,0xf2,0x33,0x86,0x86,0x3e);\n\n\nextern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0020_v0_0_c_ifspec;\nextern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0020_v0_0_s_ifspec;\n\n/* Additional Prototypes for ALL interfaces */\n\n/* end of Additional Prototypes */\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif\n\n\n"
  },
  {
    "path": "external/D3D12/include/d3d12sdklayers.h",
    "content": "/*-------------------------------------------------------------------------------------\n *\n * Copyright (c) Microsoft Corporation\n *\n *-------------------------------------------------------------------------------------*/\n\n\n/* this ALWAYS GENERATED file contains the definitions for the interfaces */\n\n\n /* File created by MIDL compiler version 8.01.0618 */\n\n\n\n/* verify that the <rpcndr.h> version is high enough to compile this file*/\n#ifndef __REQUIRED_RPCNDR_H_VERSION__\n#define __REQUIRED_RPCNDR_H_VERSION__ 500\n#endif\n\n/* verify that the <rpcsal.h> version is high enough to compile this file*/\n#ifndef __REQUIRED_RPCSAL_H_VERSION__\n#define __REQUIRED_RPCSAL_H_VERSION__ 100\n#endif\n\n#include \"rpc.h\"\n#include \"rpcndr.h\"\n\n#ifndef __RPCNDR_H_VERSION__\n#error this stub requires an updated version of <rpcndr.h>\n#endif /* __RPCNDR_H_VERSION__ */\n\n#ifndef COM_NO_WINDOWS_H\n#include \"windows.h\"\n#include \"ole2.h\"\n#endif /*COM_NO_WINDOWS_H*/\n\n#ifndef __d3d12sdklayers_h__\n#define __d3d12sdklayers_h__\n\n#if defined(_MSC_VER) && (_MSC_VER >= 1020)\n#pragma once\n#endif\n\n/* Forward Declarations */ \n\n#ifndef __ID3D12Debug_FWD_DEFINED__\n#define __ID3D12Debug_FWD_DEFINED__\ntypedef interface ID3D12Debug ID3D12Debug;\n\n#endif \t/* __ID3D12Debug_FWD_DEFINED__ */\n\n\n#ifndef __ID3D12Debug1_FWD_DEFINED__\n#define __ID3D12Debug1_FWD_DEFINED__\ntypedef interface ID3D12Debug1 ID3D12Debug1;\n\n#endif \t/* __ID3D12Debug1_FWD_DEFINED__ */\n\n\n#ifndef __ID3D12DebugDevice1_FWD_DEFINED__\n#define __ID3D12DebugDevice1_FWD_DEFINED__\ntypedef interface ID3D12DebugDevice1 ID3D12DebugDevice1;\n\n#endif \t/* __ID3D12DebugDevice1_FWD_DEFINED__ */\n\n\n#ifndef __ID3D12DebugDevice_FWD_DEFINED__\n#define __ID3D12DebugDevice_FWD_DEFINED__\ntypedef interface ID3D12DebugDevice ID3D12DebugDevice;\n\n#endif \t/* __ID3D12DebugDevice_FWD_DEFINED__ */\n\n\n#ifndef __ID3D12DebugCommandQueue_FWD_DEFINED__\n#define __ID3D12DebugCommandQueue_FWD_DEFINED__\ntypedef interface ID3D12DebugCommandQueue ID3D12DebugCommandQueue;\n\n#endif \t/* __ID3D12DebugCommandQueue_FWD_DEFINED__ */\n\n\n#ifndef __ID3D12DebugCommandList1_FWD_DEFINED__\n#define __ID3D12DebugCommandList1_FWD_DEFINED__\ntypedef interface ID3D12DebugCommandList1 ID3D12DebugCommandList1;\n\n#endif \t/* __ID3D12DebugCommandList1_FWD_DEFINED__ */\n\n\n#ifndef __ID3D12DebugCommandList_FWD_DEFINED__\n#define __ID3D12DebugCommandList_FWD_DEFINED__\ntypedef interface ID3D12DebugCommandList ID3D12DebugCommandList;\n\n#endif \t/* __ID3D12DebugCommandList_FWD_DEFINED__ */\n\n\n#ifndef __ID3D12InfoQueue_FWD_DEFINED__\n#define __ID3D12InfoQueue_FWD_DEFINED__\ntypedef interface ID3D12InfoQueue ID3D12InfoQueue;\n\n#endif \t/* __ID3D12InfoQueue_FWD_DEFINED__ */\n\n\n/* header files for imported files */\n#include \"oaidl.h\"\n#include \"ocidl.h\"\n#include \"d3d12.h\"\n\n#ifdef __cplusplus\nextern \"C\"{\n#endif \n\n\n/* interface __MIDL_itf_d3d12sdklayers_0000_0000 */\n/* [local] */ \n\n#include <winapifamily.h>\n#pragma region App Family\n#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)\n\n\nextern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0000_v0_0_c_ifspec;\nextern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0000_v0_0_s_ifspec;\n\n#ifndef __ID3D12Debug_INTERFACE_DEFINED__\n#define __ID3D12Debug_INTERFACE_DEFINED__\n\n/* interface ID3D12Debug */\n/* [unique][local][object][uuid] */ \n\n\nEXTERN_C const IID IID_ID3D12Debug;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"344488b7-6846-474b-b989-f027448245e0\")\n    ID3D12Debug : public IUnknown\n    {\n    public:\n        virtual void STDMETHODCALLTYPE EnableDebugLayer( void) = 0;\n        \n    };\n    \n    \n#else \t/* C style interface */\n\n    typedef struct ID3D12DebugVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            ID3D12Debug * This,\n            REFIID riid,\n            _COM_Outptr_  void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            ID3D12Debug * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            ID3D12Debug * This);\n        \n        void ( STDMETHODCALLTYPE *EnableDebugLayer )( \n            ID3D12Debug * This);\n        \n        END_INTERFACE\n    } ID3D12DebugVtbl;\n\n    interface ID3D12Debug\n    {\n        CONST_VTBL struct ID3D12DebugVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define ID3D12Debug_QueryInterface(This,riid,ppvObject)\t\\\n    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \n\n#define ID3D12Debug_AddRef(This)\t\\\n    ( (This)->lpVtbl -> AddRef(This) ) \n\n#define ID3D12Debug_Release(This)\t\\\n    ( (This)->lpVtbl -> Release(This) ) \n\n\n#define ID3D12Debug_EnableDebugLayer(This)\t\\\n    ( (This)->lpVtbl -> EnableDebugLayer(This) ) \n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n\n#endif \t/* __ID3D12Debug_INTERFACE_DEFINED__ */\n\n\n#ifndef __ID3D12Debug1_INTERFACE_DEFINED__\n#define __ID3D12Debug1_INTERFACE_DEFINED__\n\n/* interface ID3D12Debug1 */\n/* [unique][local][object][uuid] */ \n\n\nEXTERN_C const IID IID_ID3D12Debug1;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"affaa4ca-63fe-4d8e-b8ad-159000af4304\")\n    ID3D12Debug1 : public IUnknown\n    {\n    public:\n        virtual void STDMETHODCALLTYPE EnableDebugLayer( void) = 0;\n        \n        virtual void STDMETHODCALLTYPE SetEnableGPUBasedValidation( \n            BOOL Enable) = 0;\n        \n        virtual void STDMETHODCALLTYPE SetEnableSynchronizedCommandQueueValidation( \n            BOOL Enable) = 0;\n        \n    };\n    \n    \n#else \t/* C style interface */\n\n    typedef struct ID3D12Debug1Vtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            ID3D12Debug1 * This,\n            REFIID riid,\n            _COM_Outptr_  void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            ID3D12Debug1 * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            ID3D12Debug1 * This);\n        \n        void ( STDMETHODCALLTYPE *EnableDebugLayer )( \n            ID3D12Debug1 * This);\n        \n        void ( STDMETHODCALLTYPE *SetEnableGPUBasedValidation )( \n            ID3D12Debug1 * This,\n            BOOL Enable);\n        \n        void ( STDMETHODCALLTYPE *SetEnableSynchronizedCommandQueueValidation )( \n            ID3D12Debug1 * This,\n            BOOL Enable);\n        \n        END_INTERFACE\n    } ID3D12Debug1Vtbl;\n\n    interface ID3D12Debug1\n    {\n        CONST_VTBL struct ID3D12Debug1Vtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define ID3D12Debug1_QueryInterface(This,riid,ppvObject)\t\\\n    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \n\n#define ID3D12Debug1_AddRef(This)\t\\\n    ( (This)->lpVtbl -> AddRef(This) ) \n\n#define ID3D12Debug1_Release(This)\t\\\n    ( (This)->lpVtbl -> Release(This) ) \n\n\n#define ID3D12Debug1_EnableDebugLayer(This)\t\\\n    ( (This)->lpVtbl -> EnableDebugLayer(This) ) \n\n#define ID3D12Debug1_SetEnableGPUBasedValidation(This,Enable)\t\\\n    ( (This)->lpVtbl -> SetEnableGPUBasedValidation(This,Enable) ) \n\n#define ID3D12Debug1_SetEnableSynchronizedCommandQueueValidation(This,Enable)\t\\\n    ( (This)->lpVtbl -> SetEnableSynchronizedCommandQueueValidation(This,Enable) ) \n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n\n#endif \t/* __ID3D12Debug1_INTERFACE_DEFINED__ */\n\n\n/* interface __MIDL_itf_d3d12sdklayers_0000_0002 */\n/* [local] */ \n\ntypedef \nenum D3D12_RLDO_FLAGS\n    {\n        D3D12_RLDO_NONE\t= 0,\n        D3D12_RLDO_SUMMARY\t= 0x1,\n        D3D12_RLDO_DETAIL\t= 0x2,\n        D3D12_RLDO_IGNORE_INTERNAL\t= 0x4\n    } \tD3D12_RLDO_FLAGS;\n\nDEFINE_ENUM_FLAG_OPERATORS(D3D12_RLDO_FLAGS)\ntypedef \nenum D3D12_DEBUG_DEVICE_PARAMETER_TYPE\n    {\n        D3D12_DEBUG_DEVICE_PARAMETER_FEATURE_FLAGS\t= 0,\n        D3D12_DEBUG_DEVICE_PARAMETER_GPU_BASED_VALIDATION_SETTINGS\t= ( D3D12_DEBUG_DEVICE_PARAMETER_FEATURE_FLAGS + 1 ) \n    } \tD3D12_DEBUG_DEVICE_PARAMETER_TYPE;\n\ntypedef \nenum D3D12_DEBUG_FEATURE\n    {\n        D3D12_DEBUG_FEATURE_NONE\t= 0,\n        D3D12_DEBUG_FEATURE_ALLOW_BEHAVIOR_CHANGING_DEBUG_AIDS\t= 0x1,\n        D3D12_DEBUG_FEATURE_CONSERVATIVE_RESOURCE_STATE_TRACKING\t= 0x2,\n        D3D12_DEBUG_FEATURE_DISABLE_VIRTUALIZED_BUNDLES_VALIDATION\t= 0x4,\n        D3D12_DEBUG_FEATURE_VALID_MASK\t= ( ( D3D12_DEBUG_FEATURE_ALLOW_BEHAVIOR_CHANGING_DEBUG_AIDS | D3D12_DEBUG_FEATURE_CONSERVATIVE_RESOURCE_STATE_TRACKING )  | D3D12_DEBUG_FEATURE_DISABLE_VIRTUALIZED_BUNDLES_VALIDATION ) \n    } \tD3D12_DEBUG_FEATURE;\n\nDEFINE_ENUM_FLAG_OPERATORS(D3D12_DEBUG_FEATURE)\ntypedef \nenum D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE\n    {\n        D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_NONE\t= 0,\n        D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_STATE_TRACKING_ONLY\t= ( D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_NONE + 1 ) ,\n        D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_UNGUARDED_VALIDATION\t= ( D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_STATE_TRACKING_ONLY + 1 ) ,\n        D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_GUARDED_VALIDATION\t= ( D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_UNGUARDED_VALIDATION + 1 ) ,\n        NUM_D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODES\t= ( D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_GUARDED_VALIDATION + 1 ) \n    } \tD3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE;\n\ntypedef \nenum D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS\n    {\n        D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAG_NONE\t= 0,\n        D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAG_FRONT_LOAD_CREATE_TRACKING_ONLY_SHADERS\t= 0x1,\n        D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAG_FRONT_LOAD_CREATE_UNGUARDED_VALIDATION_SHADERS\t= 0x2,\n        D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAG_FRONT_LOAD_CREATE_GUARDED_VALIDATION_SHADERS\t= 0x4,\n        D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS_VALID_MASK\t= 0x7\n    } \tD3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS;\n\nDEFINE_ENUM_FLAG_OPERATORS(D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS)\ntypedef struct D3D12_DEBUG_DEVICE_GPU_BASED_VALIDATION_SETTINGS\n    {\n    UINT MaxMessagesPerCommandList;\n    D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE DefaultShaderPatchMode;\n    D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS PipelineStateCreateFlags;\n    } \tD3D12_DEBUG_DEVICE_GPU_BASED_VALIDATION_SETTINGS;\n\n\n\nextern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0002_v0_0_c_ifspec;\nextern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0002_v0_0_s_ifspec;\n\n#ifndef __ID3D12DebugDevice1_INTERFACE_DEFINED__\n#define __ID3D12DebugDevice1_INTERFACE_DEFINED__\n\n/* interface ID3D12DebugDevice1 */\n/* [unique][local][object][uuid] */ \n\n\nEXTERN_C const IID IID_ID3D12DebugDevice1;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"a9b71770-d099-4a65-a698-3dee10020f88\")\n    ID3D12DebugDevice1 : public IUnknown\n    {\n    public:\n        virtual HRESULT STDMETHODCALLTYPE SetDebugParameter( \n            D3D12_DEBUG_DEVICE_PARAMETER_TYPE Type,\n            _In_reads_bytes_(DataSize)  const void *pData,\n            UINT DataSize) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE GetDebugParameter( \n            D3D12_DEBUG_DEVICE_PARAMETER_TYPE Type,\n            _Out_writes_bytes_(DataSize)  void *pData,\n            UINT DataSize) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE ReportLiveDeviceObjects( \n            D3D12_RLDO_FLAGS Flags) = 0;\n        \n    };\n    \n    \n#else \t/* C style interface */\n\n    typedef struct ID3D12DebugDevice1Vtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            ID3D12DebugDevice1 * This,\n            REFIID riid,\n            _COM_Outptr_  void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            ID3D12DebugDevice1 * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            ID3D12DebugDevice1 * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetDebugParameter )( \n            ID3D12DebugDevice1 * This,\n            D3D12_DEBUG_DEVICE_PARAMETER_TYPE Type,\n            _In_reads_bytes_(DataSize)  const void *pData,\n            UINT DataSize);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetDebugParameter )( \n            ID3D12DebugDevice1 * This,\n            D3D12_DEBUG_DEVICE_PARAMETER_TYPE Type,\n            _Out_writes_bytes_(DataSize)  void *pData,\n            UINT DataSize);\n        \n        HRESULT ( STDMETHODCALLTYPE *ReportLiveDeviceObjects )( \n            ID3D12DebugDevice1 * This,\n            D3D12_RLDO_FLAGS Flags);\n        \n        END_INTERFACE\n    } ID3D12DebugDevice1Vtbl;\n\n    interface ID3D12DebugDevice1\n    {\n        CONST_VTBL struct ID3D12DebugDevice1Vtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define ID3D12DebugDevice1_QueryInterface(This,riid,ppvObject)\t\\\n    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \n\n#define ID3D12DebugDevice1_AddRef(This)\t\\\n    ( (This)->lpVtbl -> AddRef(This) ) \n\n#define ID3D12DebugDevice1_Release(This)\t\\\n    ( (This)->lpVtbl -> Release(This) ) \n\n\n#define ID3D12DebugDevice1_SetDebugParameter(This,Type,pData,DataSize)\t\\\n    ( (This)->lpVtbl -> SetDebugParameter(This,Type,pData,DataSize) ) \n\n#define ID3D12DebugDevice1_GetDebugParameter(This,Type,pData,DataSize)\t\\\n    ( (This)->lpVtbl -> GetDebugParameter(This,Type,pData,DataSize) ) \n\n#define ID3D12DebugDevice1_ReportLiveDeviceObjects(This,Flags)\t\\\n    ( (This)->lpVtbl -> ReportLiveDeviceObjects(This,Flags) ) \n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n\n#endif \t/* __ID3D12DebugDevice1_INTERFACE_DEFINED__ */\n\n\n#ifndef __ID3D12DebugDevice_INTERFACE_DEFINED__\n#define __ID3D12DebugDevice_INTERFACE_DEFINED__\n\n/* interface ID3D12DebugDevice */\n/* [unique][local][object][uuid] */ \n\n\nEXTERN_C const IID IID_ID3D12DebugDevice;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"3febd6dd-4973-4787-8194-e45f9e28923e\")\n    ID3D12DebugDevice : public IUnknown\n    {\n    public:\n        virtual HRESULT STDMETHODCALLTYPE SetFeatureMask( \n            D3D12_DEBUG_FEATURE Mask) = 0;\n        \n        virtual D3D12_DEBUG_FEATURE STDMETHODCALLTYPE GetFeatureMask( void) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE ReportLiveDeviceObjects( \n            D3D12_RLDO_FLAGS Flags) = 0;\n        \n    };\n    \n    \n#else \t/* C style interface */\n\n    typedef struct ID3D12DebugDeviceVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            ID3D12DebugDevice * This,\n            REFIID riid,\n            _COM_Outptr_  void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            ID3D12DebugDevice * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            ID3D12DebugDevice * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetFeatureMask )( \n            ID3D12DebugDevice * This,\n            D3D12_DEBUG_FEATURE Mask);\n        \n        D3D12_DEBUG_FEATURE ( STDMETHODCALLTYPE *GetFeatureMask )( \n            ID3D12DebugDevice * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *ReportLiveDeviceObjects )( \n            ID3D12DebugDevice * This,\n            D3D12_RLDO_FLAGS Flags);\n        \n        END_INTERFACE\n    } ID3D12DebugDeviceVtbl;\n\n    interface ID3D12DebugDevice\n    {\n        CONST_VTBL struct ID3D12DebugDeviceVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define ID3D12DebugDevice_QueryInterface(This,riid,ppvObject)\t\\\n    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \n\n#define ID3D12DebugDevice_AddRef(This)\t\\\n    ( (This)->lpVtbl -> AddRef(This) ) \n\n#define ID3D12DebugDevice_Release(This)\t\\\n    ( (This)->lpVtbl -> Release(This) ) \n\n\n#define ID3D12DebugDevice_SetFeatureMask(This,Mask)\t\\\n    ( (This)->lpVtbl -> SetFeatureMask(This,Mask) ) \n\n#define ID3D12DebugDevice_GetFeatureMask(This)\t\\\n    ( (This)->lpVtbl -> GetFeatureMask(This) ) \n\n#define ID3D12DebugDevice_ReportLiveDeviceObjects(This,Flags)\t\\\n    ( (This)->lpVtbl -> ReportLiveDeviceObjects(This,Flags) ) \n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n\n#endif \t/* __ID3D12DebugDevice_INTERFACE_DEFINED__ */\n\n\n/* interface __MIDL_itf_d3d12sdklayers_0000_0004 */\n/* [local] */ \n\nDEFINE_GUID(DXGI_DEBUG_D3D12, 0xcf59a98c, 0xa950, 0x4326, 0x91, 0xef, 0x9b, 0xba, 0xa1, 0x7b, 0xfd, 0x95);\n\n\nextern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0004_v0_0_c_ifspec;\nextern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0004_v0_0_s_ifspec;\n\n#ifndef __ID3D12DebugCommandQueue_INTERFACE_DEFINED__\n#define __ID3D12DebugCommandQueue_INTERFACE_DEFINED__\n\n/* interface ID3D12DebugCommandQueue */\n/* [unique][local][object][uuid] */ \n\n\nEXTERN_C const IID IID_ID3D12DebugCommandQueue;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"09e0bf36-54ac-484f-8847-4baeeab6053a\")\n    ID3D12DebugCommandQueue : public IUnknown\n    {\n    public:\n        virtual BOOL STDMETHODCALLTYPE AssertResourceState( \n            _In_  ID3D12Resource *pResource,\n            UINT Subresource,\n            UINT State) = 0;\n        \n    };\n    \n    \n#else \t/* C style interface */\n\n    typedef struct ID3D12DebugCommandQueueVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            ID3D12DebugCommandQueue * This,\n            REFIID riid,\n            _COM_Outptr_  void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            ID3D12DebugCommandQueue * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            ID3D12DebugCommandQueue * This);\n        \n        BOOL ( STDMETHODCALLTYPE *AssertResourceState )( \n            ID3D12DebugCommandQueue * This,\n            _In_  ID3D12Resource *pResource,\n            UINT Subresource,\n            UINT State);\n        \n        END_INTERFACE\n    } ID3D12DebugCommandQueueVtbl;\n\n    interface ID3D12DebugCommandQueue\n    {\n        CONST_VTBL struct ID3D12DebugCommandQueueVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define ID3D12DebugCommandQueue_QueryInterface(This,riid,ppvObject)\t\\\n    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \n\n#define ID3D12DebugCommandQueue_AddRef(This)\t\\\n    ( (This)->lpVtbl -> AddRef(This) ) \n\n#define ID3D12DebugCommandQueue_Release(This)\t\\\n    ( (This)->lpVtbl -> Release(This) ) \n\n\n#define ID3D12DebugCommandQueue_AssertResourceState(This,pResource,Subresource,State)\t\\\n    ( (This)->lpVtbl -> AssertResourceState(This,pResource,Subresource,State) ) \n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n\n#endif \t/* __ID3D12DebugCommandQueue_INTERFACE_DEFINED__ */\n\n\n/* interface __MIDL_itf_d3d12sdklayers_0000_0005 */\n/* [local] */ \n\ntypedef \nenum D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE\n    {\n        D3D12_DEBUG_COMMAND_LIST_PARAMETER_GPU_BASED_VALIDATION_SETTINGS\t= 0\n    } \tD3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE;\n\ntypedef struct D3D12_DEBUG_COMMAND_LIST_GPU_BASED_VALIDATION_SETTINGS\n    {\n    D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE ShaderPatchMode;\n    } \tD3D12_DEBUG_COMMAND_LIST_GPU_BASED_VALIDATION_SETTINGS;\n\n\n\nextern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0005_v0_0_c_ifspec;\nextern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0005_v0_0_s_ifspec;\n\n#ifndef __ID3D12DebugCommandList1_INTERFACE_DEFINED__\n#define __ID3D12DebugCommandList1_INTERFACE_DEFINED__\n\n/* interface ID3D12DebugCommandList1 */\n/* [unique][local][object][uuid] */ \n\n\nEXTERN_C const IID IID_ID3D12DebugCommandList1;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"102ca951-311b-4b01-b11f-ecb83e061b37\")\n    ID3D12DebugCommandList1 : public IUnknown\n    {\n    public:\n        virtual BOOL STDMETHODCALLTYPE AssertResourceState( \n            _In_  ID3D12Resource *pResource,\n            UINT Subresource,\n            UINT State) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE SetDebugParameter( \n            D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE Type,\n            _In_reads_bytes_(DataSize)  const void *pData,\n            UINT DataSize) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE GetDebugParameter( \n            D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE Type,\n            _Out_writes_bytes_(DataSize)  void *pData,\n            UINT DataSize) = 0;\n        \n    };\n    \n    \n#else \t/* C style interface */\n\n    typedef struct ID3D12DebugCommandList1Vtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            ID3D12DebugCommandList1 * This,\n            REFIID riid,\n            _COM_Outptr_  void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            ID3D12DebugCommandList1 * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            ID3D12DebugCommandList1 * This);\n        \n        BOOL ( STDMETHODCALLTYPE *AssertResourceState )( \n            ID3D12DebugCommandList1 * This,\n            _In_  ID3D12Resource *pResource,\n            UINT Subresource,\n            UINT State);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetDebugParameter )( \n            ID3D12DebugCommandList1 * This,\n            D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE Type,\n            _In_reads_bytes_(DataSize)  const void *pData,\n            UINT DataSize);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetDebugParameter )( \n            ID3D12DebugCommandList1 * This,\n            D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE Type,\n            _Out_writes_bytes_(DataSize)  void *pData,\n            UINT DataSize);\n        \n        END_INTERFACE\n    } ID3D12DebugCommandList1Vtbl;\n\n    interface ID3D12DebugCommandList1\n    {\n        CONST_VTBL struct ID3D12DebugCommandList1Vtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define ID3D12DebugCommandList1_QueryInterface(This,riid,ppvObject)\t\\\n    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \n\n#define ID3D12DebugCommandList1_AddRef(This)\t\\\n    ( (This)->lpVtbl -> AddRef(This) ) \n\n#define ID3D12DebugCommandList1_Release(This)\t\\\n    ( (This)->lpVtbl -> Release(This) ) \n\n\n#define ID3D12DebugCommandList1_AssertResourceState(This,pResource,Subresource,State)\t\\\n    ( (This)->lpVtbl -> AssertResourceState(This,pResource,Subresource,State) ) \n\n#define ID3D12DebugCommandList1_SetDebugParameter(This,Type,pData,DataSize)\t\\\n    ( (This)->lpVtbl -> SetDebugParameter(This,Type,pData,DataSize) ) \n\n#define ID3D12DebugCommandList1_GetDebugParameter(This,Type,pData,DataSize)\t\\\n    ( (This)->lpVtbl -> GetDebugParameter(This,Type,pData,DataSize) ) \n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n\n#endif \t/* __ID3D12DebugCommandList1_INTERFACE_DEFINED__ */\n\n\n#ifndef __ID3D12DebugCommandList_INTERFACE_DEFINED__\n#define __ID3D12DebugCommandList_INTERFACE_DEFINED__\n\n/* interface ID3D12DebugCommandList */\n/* [unique][local][object][uuid] */ \n\n\nEXTERN_C const IID IID_ID3D12DebugCommandList;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"09e0bf36-54ac-484f-8847-4baeeab6053f\")\n    ID3D12DebugCommandList : public IUnknown\n    {\n    public:\n        virtual BOOL STDMETHODCALLTYPE AssertResourceState( \n            _In_  ID3D12Resource *pResource,\n            UINT Subresource,\n            UINT State) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE SetFeatureMask( \n            D3D12_DEBUG_FEATURE Mask) = 0;\n        \n        virtual D3D12_DEBUG_FEATURE STDMETHODCALLTYPE GetFeatureMask( void) = 0;\n        \n    };\n    \n    \n#else \t/* C style interface */\n\n    typedef struct ID3D12DebugCommandListVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            ID3D12DebugCommandList * This,\n            REFIID riid,\n            _COM_Outptr_  void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            ID3D12DebugCommandList * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            ID3D12DebugCommandList * This);\n        \n        BOOL ( STDMETHODCALLTYPE *AssertResourceState )( \n            ID3D12DebugCommandList * This,\n            _In_  ID3D12Resource *pResource,\n            UINT Subresource,\n            UINT State);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetFeatureMask )( \n            ID3D12DebugCommandList * This,\n            D3D12_DEBUG_FEATURE Mask);\n        \n        D3D12_DEBUG_FEATURE ( STDMETHODCALLTYPE *GetFeatureMask )( \n            ID3D12DebugCommandList * This);\n        \n        END_INTERFACE\n    } ID3D12DebugCommandListVtbl;\n\n    interface ID3D12DebugCommandList\n    {\n        CONST_VTBL struct ID3D12DebugCommandListVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define ID3D12DebugCommandList_QueryInterface(This,riid,ppvObject)\t\\\n    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \n\n#define ID3D12DebugCommandList_AddRef(This)\t\\\n    ( (This)->lpVtbl -> AddRef(This) ) \n\n#define ID3D12DebugCommandList_Release(This)\t\\\n    ( (This)->lpVtbl -> Release(This) ) \n\n\n#define ID3D12DebugCommandList_AssertResourceState(This,pResource,Subresource,State)\t\\\n    ( (This)->lpVtbl -> AssertResourceState(This,pResource,Subresource,State) ) \n\n#define ID3D12DebugCommandList_SetFeatureMask(This,Mask)\t\\\n    ( (This)->lpVtbl -> SetFeatureMask(This,Mask) ) \n\n#define ID3D12DebugCommandList_GetFeatureMask(This)\t\\\n    ( (This)->lpVtbl -> GetFeatureMask(This) ) \n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n\n#endif \t/* __ID3D12DebugCommandList_INTERFACE_DEFINED__ */\n\n\n/* interface __MIDL_itf_d3d12sdklayers_0000_0007 */\n/* [local] */ \n\ntypedef \nenum D3D12_MESSAGE_CATEGORY\n    {\n        D3D12_MESSAGE_CATEGORY_APPLICATION_DEFINED\t= 0,\n        D3D12_MESSAGE_CATEGORY_MISCELLANEOUS\t= ( D3D12_MESSAGE_CATEGORY_APPLICATION_DEFINED + 1 ) ,\n        D3D12_MESSAGE_CATEGORY_INITIALIZATION\t= ( D3D12_MESSAGE_CATEGORY_MISCELLANEOUS + 1 ) ,\n        D3D12_MESSAGE_CATEGORY_CLEANUP\t= ( D3D12_MESSAGE_CATEGORY_INITIALIZATION + 1 ) ,\n        D3D12_MESSAGE_CATEGORY_COMPILATION\t= ( D3D12_MESSAGE_CATEGORY_CLEANUP + 1 ) ,\n        D3D12_MESSAGE_CATEGORY_STATE_CREATION\t= ( D3D12_MESSAGE_CATEGORY_COMPILATION + 1 ) ,\n        D3D12_MESSAGE_CATEGORY_STATE_SETTING\t= ( D3D12_MESSAGE_CATEGORY_STATE_CREATION + 1 ) ,\n        D3D12_MESSAGE_CATEGORY_STATE_GETTING\t= ( D3D12_MESSAGE_CATEGORY_STATE_SETTING + 1 ) ,\n        D3D12_MESSAGE_CATEGORY_RESOURCE_MANIPULATION\t= ( D3D12_MESSAGE_CATEGORY_STATE_GETTING + 1 ) ,\n        D3D12_MESSAGE_CATEGORY_EXECUTION\t= ( D3D12_MESSAGE_CATEGORY_RESOURCE_MANIPULATION + 1 ) ,\n        D3D12_MESSAGE_CATEGORY_SHADER\t= ( D3D12_MESSAGE_CATEGORY_EXECUTION + 1 ) \n    } \tD3D12_MESSAGE_CATEGORY;\n\ntypedef \nenum D3D12_MESSAGE_SEVERITY\n    {\n        D3D12_MESSAGE_SEVERITY_CORRUPTION\t= 0,\n        D3D12_MESSAGE_SEVERITY_ERROR\t= ( D3D12_MESSAGE_SEVERITY_CORRUPTION + 1 ) ,\n        D3D12_MESSAGE_SEVERITY_WARNING\t= ( D3D12_MESSAGE_SEVERITY_ERROR + 1 ) ,\n        D3D12_MESSAGE_SEVERITY_INFO\t= ( D3D12_MESSAGE_SEVERITY_WARNING + 1 ) ,\n        D3D12_MESSAGE_SEVERITY_MESSAGE\t= ( D3D12_MESSAGE_SEVERITY_INFO + 1 ) \n    } \tD3D12_MESSAGE_SEVERITY;\n\ntypedef \nenum D3D12_MESSAGE_ID\n    {\n        D3D12_MESSAGE_ID_UNKNOWN\t= 0,\n        D3D12_MESSAGE_ID_STRING_FROM_APPLICATION\t= ( D3D12_MESSAGE_ID_UNKNOWN + 1 ) ,\n        D3D12_MESSAGE_ID_CORRUPTED_THIS\t= ( D3D12_MESSAGE_ID_STRING_FROM_APPLICATION + 1 ) ,\n        D3D12_MESSAGE_ID_CORRUPTED_PARAMETER1\t= ( D3D12_MESSAGE_ID_CORRUPTED_THIS + 1 ) ,\n        D3D12_MESSAGE_ID_CORRUPTED_PARAMETER2\t= ( D3D12_MESSAGE_ID_CORRUPTED_PARAMETER1 + 1 ) ,\n        D3D12_MESSAGE_ID_CORRUPTED_PARAMETER3\t= ( D3D12_MESSAGE_ID_CORRUPTED_PARAMETER2 + 1 ) ,\n        D3D12_MESSAGE_ID_CORRUPTED_PARAMETER4\t= ( D3D12_MESSAGE_ID_CORRUPTED_PARAMETER3 + 1 ) ,\n        D3D12_MESSAGE_ID_CORRUPTED_PARAMETER5\t= ( D3D12_MESSAGE_ID_CORRUPTED_PARAMETER4 + 1 ) ,\n        D3D12_MESSAGE_ID_CORRUPTED_PARAMETER6\t= ( D3D12_MESSAGE_ID_CORRUPTED_PARAMETER5 + 1 ) ,\n        D3D12_MESSAGE_ID_CORRUPTED_PARAMETER7\t= ( D3D12_MESSAGE_ID_CORRUPTED_PARAMETER6 + 1 ) ,\n        D3D12_MESSAGE_ID_CORRUPTED_PARAMETER8\t= ( D3D12_MESSAGE_ID_CORRUPTED_PARAMETER7 + 1 ) ,\n        D3D12_MESSAGE_ID_CORRUPTED_PARAMETER9\t= ( D3D12_MESSAGE_ID_CORRUPTED_PARAMETER8 + 1 ) ,\n        D3D12_MESSAGE_ID_CORRUPTED_PARAMETER10\t= ( D3D12_MESSAGE_ID_CORRUPTED_PARAMETER9 + 1 ) ,\n        D3D12_MESSAGE_ID_CORRUPTED_PARAMETER11\t= ( D3D12_MESSAGE_ID_CORRUPTED_PARAMETER10 + 1 ) ,\n        D3D12_MESSAGE_ID_CORRUPTED_PARAMETER12\t= ( D3D12_MESSAGE_ID_CORRUPTED_PARAMETER11 + 1 ) ,\n        D3D12_MESSAGE_ID_CORRUPTED_PARAMETER13\t= ( D3D12_MESSAGE_ID_CORRUPTED_PARAMETER12 + 1 ) ,\n        D3D12_MESSAGE_ID_CORRUPTED_PARAMETER14\t= ( D3D12_MESSAGE_ID_CORRUPTED_PARAMETER13 + 1 ) ,\n        D3D12_MESSAGE_ID_CORRUPTED_PARAMETER15\t= ( D3D12_MESSAGE_ID_CORRUPTED_PARAMETER14 + 1 ) ,\n        D3D12_MESSAGE_ID_CORRUPTED_MULTITHREADING\t= ( D3D12_MESSAGE_ID_CORRUPTED_PARAMETER15 + 1 ) ,\n        D3D12_MESSAGE_ID_MESSAGE_REPORTING_OUTOFMEMORY\t= ( D3D12_MESSAGE_ID_CORRUPTED_MULTITHREADING + 1 ) ,\n        D3D12_MESSAGE_ID_GETPRIVATEDATA_MOREDATA\t= ( D3D12_MESSAGE_ID_MESSAGE_REPORTING_OUTOFMEMORY + 1 ) ,\n        D3D12_MESSAGE_ID_SETPRIVATEDATA_INVALIDFREEDATA\t= ( D3D12_MESSAGE_ID_GETPRIVATEDATA_MOREDATA + 1 ) ,\n        D3D12_MESSAGE_ID_SETPRIVATEDATA_INVALIDIUNKNOWN\t= ( D3D12_MESSAGE_ID_SETPRIVATEDATA_INVALIDFREEDATA + 1 ) ,\n        D3D12_MESSAGE_ID_SETPRIVATEDATA_INVALIDFLAGS\t= ( D3D12_MESSAGE_ID_SETPRIVATEDATA_INVALIDIUNKNOWN + 1 ) ,\n        D3D12_MESSAGE_ID_SETPRIVATEDATA_CHANGINGPARAMS\t= ( D3D12_MESSAGE_ID_SETPRIVATEDATA_INVALIDFLAGS + 1 ) ,\n        D3D12_MESSAGE_ID_SETPRIVATEDATA_OUTOFMEMORY\t= ( D3D12_MESSAGE_ID_SETPRIVATEDATA_CHANGINGPARAMS + 1 ) ,\n        D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_UNRECOGNIZEDFORMAT\t= ( D3D12_MESSAGE_ID_SETPRIVATEDATA_OUTOFMEMORY + 1 ) ,\n        D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDDESC\t= ( D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_UNRECOGNIZEDFORMAT + 1 ) ,\n        D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDFORMAT\t= ( D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDDESC + 1 ) ,\n        D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDVIDEOPLANESLICE\t= ( D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDFORMAT + 1 ) ,\n        D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDPLANESLICE\t= ( D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDVIDEOPLANESLICE + 1 ) ,\n        D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDDIMENSIONS\t= ( D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDPLANESLICE + 1 ) ,\n        D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDRESOURCE\t= ( D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDDIMENSIONS + 1 ) ,\n        D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDARG_RETURN\t= ( D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDRESOURCE + 1 ) ,\n        D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_OUTOFMEMORY_RETURN\t= ( D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDARG_RETURN + 1 ) ,\n        D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_UNRECOGNIZEDFORMAT\t= ( D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_OUTOFMEMORY_RETURN + 1 ) ,\n        D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_UNSUPPORTEDFORMAT\t= ( D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_UNRECOGNIZEDFORMAT + 1 ) ,\n        D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDDESC\t= ( D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_UNSUPPORTEDFORMAT + 1 ) ,\n        D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDFORMAT\t= ( D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDDESC + 1 ) ,\n        D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDVIDEOPLANESLICE\t= ( D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDFORMAT + 1 ) ,\n        D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDPLANESLICE\t= ( D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDVIDEOPLANESLICE + 1 ) ,\n        D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDDIMENSIONS\t= ( D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDPLANESLICE + 1 ) ,\n        D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDRESOURCE\t= ( D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDDIMENSIONS + 1 ) ,\n        D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDARG_RETURN\t= ( D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDRESOURCE + 1 ) ,\n        D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_OUTOFMEMORY_RETURN\t= ( D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDARG_RETURN + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_UNRECOGNIZEDFORMAT\t= ( D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_OUTOFMEMORY_RETURN + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDDESC\t= ( D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_UNRECOGNIZEDFORMAT + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDFORMAT\t= ( D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDDESC + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDDIMENSIONS\t= ( D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDFORMAT + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDRESOURCE\t= ( D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDDIMENSIONS + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDARG_RETURN\t= ( D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDRESOURCE + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_OUTOFMEMORY_RETURN\t= ( D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDARG_RETURN + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_OUTOFMEMORY\t= ( D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_OUTOFMEMORY_RETURN + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_TOOMANYELEMENTS\t= ( D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_OUTOFMEMORY + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDFORMAT\t= ( D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_TOOMANYELEMENTS + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INCOMPATIBLEFORMAT\t= ( D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDFORMAT + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDSLOT\t= ( D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INCOMPATIBLEFORMAT + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDINPUTSLOTCLASS\t= ( D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDSLOT + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_STEPRATESLOTCLASSMISMATCH\t= ( D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDINPUTSLOTCLASS + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDSLOTCLASSCHANGE\t= ( D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_STEPRATESLOTCLASSMISMATCH + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDSTEPRATECHANGE\t= ( D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDSLOTCLASSCHANGE + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDALIGNMENT\t= ( D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDSTEPRATECHANGE + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_DUPLICATESEMANTIC\t= ( D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDALIGNMENT + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_UNPARSEABLEINPUTSIGNATURE\t= ( D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_DUPLICATESEMANTIC + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_NULLSEMANTIC\t= ( D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_UNPARSEABLEINPUTSIGNATURE + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_MISSINGELEMENT\t= ( D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_NULLSEMANTIC + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEVERTEXSHADER_OUTOFMEMORY\t= ( D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_MISSINGELEMENT + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEVERTEXSHADER_INVALIDSHADERBYTECODE\t= ( D3D12_MESSAGE_ID_CREATEVERTEXSHADER_OUTOFMEMORY + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEVERTEXSHADER_INVALIDSHADERTYPE\t= ( D3D12_MESSAGE_ID_CREATEVERTEXSHADER_INVALIDSHADERBYTECODE + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEGEOMETRYSHADER_OUTOFMEMORY\t= ( D3D12_MESSAGE_ID_CREATEVERTEXSHADER_INVALIDSHADERTYPE + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEGEOMETRYSHADER_INVALIDSHADERBYTECODE\t= ( D3D12_MESSAGE_ID_CREATEGEOMETRYSHADER_OUTOFMEMORY + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEGEOMETRYSHADER_INVALIDSHADERTYPE\t= ( D3D12_MESSAGE_ID_CREATEGEOMETRYSHADER_INVALIDSHADERBYTECODE + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTOFMEMORY\t= ( D3D12_MESSAGE_ID_CREATEGEOMETRYSHADER_INVALIDSHADERTYPE + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSHADERBYTECODE\t= ( D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTOFMEMORY + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSHADERTYPE\t= ( D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSHADERBYTECODE + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDNUMENTRIES\t= ( D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSHADERTYPE + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTPUTSTREAMSTRIDEUNUSED\t= ( D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDNUMENTRIES + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UNEXPECTEDDECL\t= ( D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTPUTSTREAMSTRIDEUNUSED + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_EXPECTEDDECL\t= ( D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UNEXPECTEDDECL + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTPUTSLOT0EXPECTED\t= ( D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_EXPECTEDDECL + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDOUTPUTSLOT\t= ( D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTPUTSLOT0EXPECTED + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_ONLYONEELEMENTPERSLOT\t= ( D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDOUTPUTSLOT + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDCOMPONENTCOUNT\t= ( D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_ONLYONEELEMENTPERSLOT + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTARTCOMPONENTANDCOMPONENTCOUNT\t= ( D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDCOMPONENTCOUNT + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDGAPDEFINITION\t= ( D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTARTCOMPONENTANDCOMPONENTCOUNT + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_REPEATEDOUTPUT\t= ( D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDGAPDEFINITION + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDOUTPUTSTREAMSTRIDE\t= ( D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_REPEATEDOUTPUT + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MISSINGSEMANTIC\t= ( D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDOUTPUTSTREAMSTRIDE + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MASKMISMATCH\t= ( D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MISSINGSEMANTIC + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_CANTHAVEONLYGAPS\t= ( D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MASKMISMATCH + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_DECLTOOCOMPLEX\t= ( D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_CANTHAVEONLYGAPS + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MISSINGOUTPUTSIGNATURE\t= ( D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_DECLTOOCOMPLEX + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEPIXELSHADER_OUTOFMEMORY\t= ( D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MISSINGOUTPUTSIGNATURE + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEPIXELSHADER_INVALIDSHADERBYTECODE\t= ( D3D12_MESSAGE_ID_CREATEPIXELSHADER_OUTOFMEMORY + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEPIXELSHADER_INVALIDSHADERTYPE\t= ( D3D12_MESSAGE_ID_CREATEPIXELSHADER_INVALIDSHADERBYTECODE + 1 ) ,\n        D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDFILLMODE\t= ( D3D12_MESSAGE_ID_CREATEPIXELSHADER_INVALIDSHADERTYPE + 1 ) ,\n        D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDCULLMODE\t= ( D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDFILLMODE + 1 ) ,\n        D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDDEPTHBIASCLAMP\t= ( D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDCULLMODE + 1 ) ,\n        D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDSLOPESCALEDDEPTHBIAS\t= ( D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDDEPTHBIASCLAMP + 1 ) ,\n        D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_NULLDESC\t= ( D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDSLOPESCALEDDEPTHBIAS + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDDEPTHWRITEMASK\t= ( D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_NULLDESC + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDDEPTHFUNC\t= ( D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDDEPTHWRITEMASK + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILFAILOP\t= ( D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDDEPTHFUNC + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILZFAILOP\t= ( D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILFAILOP + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILPASSOP\t= ( D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILZFAILOP + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILFUNC\t= ( D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILPASSOP + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILFAILOP\t= ( D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILFUNC + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILZFAILOP\t= ( D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILFAILOP + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILPASSOP\t= ( D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILZFAILOP + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILFUNC\t= ( D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILPASSOP + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_NULLDESC\t= ( D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILFUNC + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDSRCBLEND\t= ( D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_NULLDESC + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDDESTBLEND\t= ( D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDSRCBLEND + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDBLENDOP\t= ( D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDDESTBLEND + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDSRCBLENDALPHA\t= ( D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDBLENDOP + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDDESTBLENDALPHA\t= ( D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDSRCBLENDALPHA + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDBLENDOPALPHA\t= ( D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDDESTBLENDALPHA + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDRENDERTARGETWRITEMASK\t= ( D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDBLENDOPALPHA + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEBLENDSTATE_NULLDESC\t= ( D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDRENDERTARGETWRITEMASK + 1 ) ,\n        D3D12_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDFILTER\t= ( D3D12_MESSAGE_ID_CREATEBLENDSTATE_NULLDESC + 1 ) ,\n        D3D12_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDADDRESSU\t= ( D3D12_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDFILTER + 1 ) ,\n        D3D12_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDADDRESSV\t= ( D3D12_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDADDRESSU + 1 ) ,\n        D3D12_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDADDRESSW\t= ( D3D12_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDADDRESSV + 1 ) ,\n        D3D12_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDMIPLODBIAS\t= ( D3D12_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDADDRESSW + 1 ) ,\n        D3D12_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDMAXANISOTROPY\t= ( D3D12_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDMIPLODBIAS + 1 ) ,\n        D3D12_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDCOMPARISONFUNC\t= ( D3D12_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDMAXANISOTROPY + 1 ) ,\n        D3D12_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDMINLOD\t= ( D3D12_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDCOMPARISONFUNC + 1 ) ,\n        D3D12_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDMAXLOD\t= ( D3D12_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDMINLOD + 1 ) ,\n        D3D12_MESSAGE_ID_CREATESAMPLERSTATE_NULLDESC\t= ( D3D12_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDMAXLOD + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_IASETPRIMITIVETOPOLOGY_TOPOLOGY_UNRECOGNIZED\t= ( D3D12_MESSAGE_ID_CREATESAMPLERSTATE_NULLDESC + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_IASETPRIMITIVETOPOLOGY_TOPOLOGY_UNDEFINED\t= ( D3D12_MESSAGE_ID_DEVICE_IASETPRIMITIVETOPOLOGY_TOPOLOGY_UNRECOGNIZED + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_RSSETVIEWPORTS_INVALIDVIEWPORT\t= ( D3D12_MESSAGE_ID_DEVICE_IASETPRIMITIVETOPOLOGY_TOPOLOGY_UNDEFINED + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_RSSETSCISSORRECTS_INVALIDSCISSOR\t= ( D3D12_MESSAGE_ID_DEVICE_RSSETVIEWPORTS_INVALIDVIEWPORT + 1 ) ,\n        D3D12_MESSAGE_ID_CLEARRENDERTARGETVIEW_DENORMFLUSH\t= ( D3D12_MESSAGE_ID_DEVICE_RSSETSCISSORRECTS_INVALIDSCISSOR + 1 ) ,\n        D3D12_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_DENORMFLUSH\t= ( D3D12_MESSAGE_ID_CLEARRENDERTARGETVIEW_DENORMFLUSH + 1 ) ,\n        D3D12_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_INVALID\t= ( D3D12_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_DENORMFLUSH + 1 ) ,\n        D3D12_MESSAGE_ID_COPYRESOURCE_INVALIDSOURCE\t= ( D3D12_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_INVALID + 1 ) ,\n        D3D12_MESSAGE_ID_COPYRESOURCE_INVALIDDESTINATIONSTATE\t= ( D3D12_MESSAGE_ID_COPYRESOURCE_INVALIDSOURCE + 1 ) ,\n        D3D12_MESSAGE_ID_COPYRESOURCE_INVALIDSOURCESTATE\t= ( D3D12_MESSAGE_ID_COPYRESOURCE_INVALIDDESTINATIONSTATE + 1 ) ,\n        D3D12_MESSAGE_ID_UPDATESUBRESOURCE_INVALIDDESTINATIONSUBRESOURCE\t= ( D3D12_MESSAGE_ID_COPYRESOURCE_INVALIDSOURCESTATE + 1 ) ,\n        D3D12_MESSAGE_ID_UPDATESUBRESOURCE_INVALIDDESTINATIONBOX\t= ( D3D12_MESSAGE_ID_UPDATESUBRESOURCE_INVALIDDESTINATIONSUBRESOURCE + 1 ) ,\n        D3D12_MESSAGE_ID_UPDATESUBRESOURCE_INVALIDDESTINATIONSTATE\t= ( D3D12_MESSAGE_ID_UPDATESUBRESOURCE_INVALIDDESTINATIONBOX + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_RESOLVESUBRESOURCE_DESTINATION_INVALID\t= ( D3D12_MESSAGE_ID_UPDATESUBRESOURCE_INVALIDDESTINATIONSTATE + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_RESOLVESUBRESOURCE_DESTINATION_SUBRESOURCE_INVALID\t= ( D3D12_MESSAGE_ID_DEVICE_RESOLVESUBRESOURCE_DESTINATION_INVALID + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_RESOLVESUBRESOURCE_SOURCE_INVALID\t= ( D3D12_MESSAGE_ID_DEVICE_RESOLVESUBRESOURCE_DESTINATION_SUBRESOURCE_INVALID + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_RESOLVESUBRESOURCE_SOURCE_SUBRESOURCE_INVALID\t= ( D3D12_MESSAGE_ID_DEVICE_RESOLVESUBRESOURCE_SOURCE_INVALID + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_RESOLVESUBRESOURCE_FORMAT_INVALID\t= ( D3D12_MESSAGE_ID_DEVICE_RESOLVESUBRESOURCE_SOURCE_SUBRESOURCE_INVALID + 1 ) ,\n        D3D12_MESSAGE_ID_BUFFER_MAP_INVALIDMAPTYPE\t= ( D3D12_MESSAGE_ID_DEVICE_RESOLVESUBRESOURCE_FORMAT_INVALID + 1 ) ,\n        D3D12_MESSAGE_ID_BUFFER_MAP_INVALIDFLAGS\t= ( D3D12_MESSAGE_ID_BUFFER_MAP_INVALIDMAPTYPE + 1 ) ,\n        D3D12_MESSAGE_ID_BUFFER_MAP_ALREADYMAPPED\t= ( D3D12_MESSAGE_ID_BUFFER_MAP_INVALIDFLAGS + 1 ) ,\n        D3D12_MESSAGE_ID_BUFFER_MAP_DEVICEREMOVED_RETURN\t= ( D3D12_MESSAGE_ID_BUFFER_MAP_ALREADYMAPPED + 1 ) ,\n        D3D12_MESSAGE_ID_BUFFER_UNMAP_NOTMAPPED\t= ( D3D12_MESSAGE_ID_BUFFER_MAP_DEVICEREMOVED_RETURN + 1 ) ,\n        D3D12_MESSAGE_ID_TEXTURE1D_MAP_INVALIDMAPTYPE\t= ( D3D12_MESSAGE_ID_BUFFER_UNMAP_NOTMAPPED + 1 ) ,\n        D3D12_MESSAGE_ID_TEXTURE1D_MAP_INVALIDSUBRESOURCE\t= ( D3D12_MESSAGE_ID_TEXTURE1D_MAP_INVALIDMAPTYPE + 1 ) ,\n        D3D12_MESSAGE_ID_TEXTURE1D_MAP_INVALIDFLAGS\t= ( D3D12_MESSAGE_ID_TEXTURE1D_MAP_INVALIDSUBRESOURCE + 1 ) ,\n        D3D12_MESSAGE_ID_TEXTURE1D_MAP_ALREADYMAPPED\t= ( D3D12_MESSAGE_ID_TEXTURE1D_MAP_INVALIDFLAGS + 1 ) ,\n        D3D12_MESSAGE_ID_TEXTURE1D_MAP_DEVICEREMOVED_RETURN\t= ( D3D12_MESSAGE_ID_TEXTURE1D_MAP_ALREADYMAPPED + 1 ) ,\n        D3D12_MESSAGE_ID_TEXTURE1D_UNMAP_INVALIDSUBRESOURCE\t= ( D3D12_MESSAGE_ID_TEXTURE1D_MAP_DEVICEREMOVED_RETURN + 1 ) ,\n        D3D12_MESSAGE_ID_TEXTURE1D_UNMAP_NOTMAPPED\t= ( D3D12_MESSAGE_ID_TEXTURE1D_UNMAP_INVALIDSUBRESOURCE + 1 ) ,\n        D3D12_MESSAGE_ID_TEXTURE2D_MAP_INVALIDMAPTYPE\t= ( D3D12_MESSAGE_ID_TEXTURE1D_UNMAP_NOTMAPPED + 1 ) ,\n        D3D12_MESSAGE_ID_TEXTURE2D_MAP_INVALIDSUBRESOURCE\t= ( D3D12_MESSAGE_ID_TEXTURE2D_MAP_INVALIDMAPTYPE + 1 ) ,\n        D3D12_MESSAGE_ID_TEXTURE2D_MAP_INVALIDFLAGS\t= ( D3D12_MESSAGE_ID_TEXTURE2D_MAP_INVALIDSUBRESOURCE + 1 ) ,\n        D3D12_MESSAGE_ID_TEXTURE2D_MAP_ALREADYMAPPED\t= ( D3D12_MESSAGE_ID_TEXTURE2D_MAP_INVALIDFLAGS + 1 ) ,\n        D3D12_MESSAGE_ID_TEXTURE2D_MAP_DEVICEREMOVED_RETURN\t= ( D3D12_MESSAGE_ID_TEXTURE2D_MAP_ALREADYMAPPED + 1 ) ,\n        D3D12_MESSAGE_ID_TEXTURE2D_UNMAP_INVALIDSUBRESOURCE\t= ( D3D12_MESSAGE_ID_TEXTURE2D_MAP_DEVICEREMOVED_RETURN + 1 ) ,\n        D3D12_MESSAGE_ID_TEXTURE2D_UNMAP_NOTMAPPED\t= ( D3D12_MESSAGE_ID_TEXTURE2D_UNMAP_INVALIDSUBRESOURCE + 1 ) ,\n        D3D12_MESSAGE_ID_TEXTURE3D_MAP_INVALIDMAPTYPE\t= ( D3D12_MESSAGE_ID_TEXTURE2D_UNMAP_NOTMAPPED + 1 ) ,\n        D3D12_MESSAGE_ID_TEXTURE3D_MAP_INVALIDSUBRESOURCE\t= ( D3D12_MESSAGE_ID_TEXTURE3D_MAP_INVALIDMAPTYPE + 1 ) ,\n        D3D12_MESSAGE_ID_TEXTURE3D_MAP_INVALIDFLAGS\t= ( D3D12_MESSAGE_ID_TEXTURE3D_MAP_INVALIDSUBRESOURCE + 1 ) ,\n        D3D12_MESSAGE_ID_TEXTURE3D_MAP_ALREADYMAPPED\t= ( D3D12_MESSAGE_ID_TEXTURE3D_MAP_INVALIDFLAGS + 1 ) ,\n        D3D12_MESSAGE_ID_TEXTURE3D_MAP_DEVICEREMOVED_RETURN\t= ( D3D12_MESSAGE_ID_TEXTURE3D_MAP_ALREADYMAPPED + 1 ) ,\n        D3D12_MESSAGE_ID_TEXTURE3D_UNMAP_INVALIDSUBRESOURCE\t= ( D3D12_MESSAGE_ID_TEXTURE3D_MAP_DEVICEREMOVED_RETURN + 1 ) ,\n        D3D12_MESSAGE_ID_TEXTURE3D_UNMAP_NOTMAPPED\t= ( D3D12_MESSAGE_ID_TEXTURE3D_UNMAP_INVALIDSUBRESOURCE + 1 ) ,\n        D3D12_MESSAGE_ID_CHECKFORMATSUPPORT_FORMAT_DEPRECATED\t= ( D3D12_MESSAGE_ID_TEXTURE3D_UNMAP_NOTMAPPED + 1 ) ,\n        D3D12_MESSAGE_ID_CHECKMULTISAMPLEQUALITYLEVELS_FORMAT_DEPRECATED\t= ( D3D12_MESSAGE_ID_CHECKFORMATSUPPORT_FORMAT_DEPRECATED + 1 ) ,\n        D3D12_MESSAGE_ID_SETEXCEPTIONMODE_UNRECOGNIZEDFLAGS\t= ( D3D12_MESSAGE_ID_CHECKMULTISAMPLEQUALITYLEVELS_FORMAT_DEPRECATED + 1 ) ,\n        D3D12_MESSAGE_ID_SETEXCEPTIONMODE_INVALIDARG_RETURN\t= ( D3D12_MESSAGE_ID_SETEXCEPTIONMODE_UNRECOGNIZEDFLAGS + 1 ) ,\n        D3D12_MESSAGE_ID_SETEXCEPTIONMODE_DEVICEREMOVED_RETURN\t= ( D3D12_MESSAGE_ID_SETEXCEPTIONMODE_INVALIDARG_RETURN + 1 ) ,\n        D3D12_MESSAGE_ID_REF_SIMULATING_INFINITELY_FAST_HARDWARE\t= ( D3D12_MESSAGE_ID_SETEXCEPTIONMODE_DEVICEREMOVED_RETURN + 1 ) ,\n        D3D12_MESSAGE_ID_REF_THREADING_MODE\t= ( D3D12_MESSAGE_ID_REF_SIMULATING_INFINITELY_FAST_HARDWARE + 1 ) ,\n        D3D12_MESSAGE_ID_REF_UMDRIVER_EXCEPTION\t= ( D3D12_MESSAGE_ID_REF_THREADING_MODE + 1 ) ,\n        D3D12_MESSAGE_ID_REF_KMDRIVER_EXCEPTION\t= ( D3D12_MESSAGE_ID_REF_UMDRIVER_EXCEPTION + 1 ) ,\n        D3D12_MESSAGE_ID_REF_HARDWARE_EXCEPTION\t= ( D3D12_MESSAGE_ID_REF_KMDRIVER_EXCEPTION + 1 ) ,\n        D3D12_MESSAGE_ID_REF_ACCESSING_INDEXABLE_TEMP_OUT_OF_RANGE\t= ( D3D12_MESSAGE_ID_REF_HARDWARE_EXCEPTION + 1 ) ,\n        D3D12_MESSAGE_ID_REF_PROBLEM_PARSING_SHADER\t= ( D3D12_MESSAGE_ID_REF_ACCESSING_INDEXABLE_TEMP_OUT_OF_RANGE + 1 ) ,\n        D3D12_MESSAGE_ID_REF_OUT_OF_MEMORY\t= ( D3D12_MESSAGE_ID_REF_PROBLEM_PARSING_SHADER + 1 ) ,\n        D3D12_MESSAGE_ID_REF_INFO\t= ( D3D12_MESSAGE_ID_REF_OUT_OF_MEMORY + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_DRAW_VERTEXPOS_OVERFLOW\t= ( D3D12_MESSAGE_ID_REF_INFO + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_DRAWINDEXED_INDEXPOS_OVERFLOW\t= ( D3D12_MESSAGE_ID_DEVICE_DRAW_VERTEXPOS_OVERFLOW + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_DRAWINSTANCED_VERTEXPOS_OVERFLOW\t= ( D3D12_MESSAGE_ID_DEVICE_DRAWINDEXED_INDEXPOS_OVERFLOW + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_DRAWINSTANCED_INSTANCEPOS_OVERFLOW\t= ( D3D12_MESSAGE_ID_DEVICE_DRAWINSTANCED_VERTEXPOS_OVERFLOW + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_DRAWINDEXEDINSTANCED_INSTANCEPOS_OVERFLOW\t= ( D3D12_MESSAGE_ID_DEVICE_DRAWINSTANCED_INSTANCEPOS_OVERFLOW + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_DRAWINDEXEDINSTANCED_INDEXPOS_OVERFLOW\t= ( D3D12_MESSAGE_ID_DEVICE_DRAWINDEXEDINSTANCED_INSTANCEPOS_OVERFLOW + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_DRAW_VERTEX_SHADER_NOT_SET\t= ( D3D12_MESSAGE_ID_DEVICE_DRAWINDEXEDINSTANCED_INDEXPOS_OVERFLOW + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_SHADER_LINKAGE_SEMANTICNAME_NOT_FOUND\t= ( D3D12_MESSAGE_ID_DEVICE_DRAW_VERTEX_SHADER_NOT_SET + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_SHADER_LINKAGE_REGISTERINDEX\t= ( D3D12_MESSAGE_ID_DEVICE_SHADER_LINKAGE_SEMANTICNAME_NOT_FOUND + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_SHADER_LINKAGE_COMPONENTTYPE\t= ( D3D12_MESSAGE_ID_DEVICE_SHADER_LINKAGE_REGISTERINDEX + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_SHADER_LINKAGE_REGISTERMASK\t= ( D3D12_MESSAGE_ID_DEVICE_SHADER_LINKAGE_COMPONENTTYPE + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_SHADER_LINKAGE_SYSTEMVALUE\t= ( D3D12_MESSAGE_ID_DEVICE_SHADER_LINKAGE_REGISTERMASK + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_SHADER_LINKAGE_NEVERWRITTEN_ALWAYSREADS\t= ( D3D12_MESSAGE_ID_DEVICE_SHADER_LINKAGE_SYSTEMVALUE + 1 ) ,\n        D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_ROOT_SIGNATURE_NOT_SET\t= ( D3D12_MESSAGE_ID_DEVICE_SHADER_LINKAGE_NEVERWRITTEN_ALWAYSREADS + 1 ) ,\n        D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_ROOT_SIGNATURE_MISMATCH\t= ( D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_ROOT_SIGNATURE_NOT_SET + 1 ) ,\n        D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_VERTEX_BUFFER_NOT_SET\t= ( D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_ROOT_SIGNATURE_MISMATCH + 1 ) ,\n        D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INPUTLAYOUT_NOT_SET\t= ( D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_VERTEX_BUFFER_NOT_SET + 1 ) ,\n        D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_CONSTANT_BUFFER_NOT_SET\t= ( D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INPUTLAYOUT_NOT_SET + 1 ) ,\n        D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_CONSTANT_BUFFER_TOO_SMALL\t= ( D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_CONSTANT_BUFFER_NOT_SET + 1 ) ,\n        D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_SAMPLER_NOT_SET\t= ( D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_CONSTANT_BUFFER_TOO_SMALL + 1 ) ,\n        D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_SHADERRESOURCEVIEW_NOT_SET\t= ( D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_SAMPLER_NOT_SET + 1 ) ,\n        D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_VIEW_DIMENSION_MISMATCH\t= ( D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_SHADERRESOURCEVIEW_NOT_SET + 1 ) ,\n        D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_VERTEX_BUFFER_STRIDE_TOO_SMALL\t= ( D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_VIEW_DIMENSION_MISMATCH + 1 ) ,\n        D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_VERTEX_BUFFER_TOO_SMALL\t= ( D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_VERTEX_BUFFER_STRIDE_TOO_SMALL + 1 ) ,\n        D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INDEX_BUFFER_NOT_SET\t= ( D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_VERTEX_BUFFER_TOO_SMALL + 1 ) ,\n        D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INDEX_BUFFER_FORMAT_INVALID\t= ( D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INDEX_BUFFER_NOT_SET + 1 ) ,\n        D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INDEX_BUFFER_TOO_SMALL\t= ( D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INDEX_BUFFER_FORMAT_INVALID + 1 ) ,\n        D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_GS_INPUT_PRIMITIVE_MISMATCH\t= ( D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INDEX_BUFFER_TOO_SMALL + 1 ) ,\n        D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_RESOURCE_RETURN_TYPE_MISMATCH\t= ( D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_GS_INPUT_PRIMITIVE_MISMATCH + 1 ) ,\n        D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_POSITION_NOT_PRESENT\t= ( D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_RESOURCE_RETURN_TYPE_MISMATCH + 1 ) ,\n        D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_OUTPUT_STREAM_NOT_SET\t= ( D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_POSITION_NOT_PRESENT + 1 ) ,\n        D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_BOUND_RESOURCE_MAPPED\t= ( D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_OUTPUT_STREAM_NOT_SET + 1 ) ,\n        D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INVALID_PRIMITIVETOPOLOGY\t= ( D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_BOUND_RESOURCE_MAPPED + 1 ) ,\n        D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_VERTEX_OFFSET_UNALIGNED\t= ( D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INVALID_PRIMITIVETOPOLOGY + 1 ) ,\n        D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_VERTEX_STRIDE_UNALIGNED\t= ( D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_VERTEX_OFFSET_UNALIGNED + 1 ) ,\n        D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INDEX_OFFSET_UNALIGNED\t= ( D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_VERTEX_STRIDE_UNALIGNED + 1 ) ,\n        D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_OUTPUT_STREAM_OFFSET_UNALIGNED\t= ( D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INDEX_OFFSET_UNALIGNED + 1 ) ,\n        D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_RESOURCE_FORMAT_LD_UNSUPPORTED\t= ( D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_OUTPUT_STREAM_OFFSET_UNALIGNED + 1 ) ,\n        D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_RESOURCE_FORMAT_SAMPLE_UNSUPPORTED\t= ( D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_RESOURCE_FORMAT_LD_UNSUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_RESOURCE_FORMAT_SAMPLE_C_UNSUPPORTED\t= ( D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_RESOURCE_FORMAT_SAMPLE_UNSUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_RESOURCE_MULTISAMPLE_UNSUPPORTED\t= ( D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_RESOURCE_FORMAT_SAMPLE_C_UNSUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_SO_TARGETS_BOUND_WITHOUT_SOURCE\t= ( D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_RESOURCE_MULTISAMPLE_UNSUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_SO_STRIDE_LARGER_THAN_BUFFER\t= ( D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_SO_TARGETS_BOUND_WITHOUT_SOURCE + 1 ) ,\n        D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_OM_RENDER_TARGET_DOES_NOT_SUPPORT_BLENDING\t= ( D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_SO_STRIDE_LARGER_THAN_BUFFER + 1 ) ,\n        D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_OM_DUAL_SOURCE_BLENDING_CAN_ONLY_HAVE_RENDER_TARGET_0\t= ( D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_OM_RENDER_TARGET_DOES_NOT_SUPPORT_BLENDING + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_REMOVAL_PROCESS_AT_FAULT\t= ( D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_OM_DUAL_SOURCE_BLENDING_CAN_ONLY_HAVE_RENDER_TARGET_0 + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_REMOVAL_PROCESS_POSSIBLY_AT_FAULT\t= ( D3D12_MESSAGE_ID_DEVICE_REMOVAL_PROCESS_AT_FAULT + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_REMOVAL_PROCESS_NOT_AT_FAULT\t= ( D3D12_MESSAGE_ID_DEVICE_REMOVAL_PROCESS_POSSIBLY_AT_FAULT + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_OPEN_SHARED_RESOURCE_INVALIDARG_RETURN\t= ( D3D12_MESSAGE_ID_DEVICE_REMOVAL_PROCESS_NOT_AT_FAULT + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_OPEN_SHARED_RESOURCE_OUTOFMEMORY_RETURN\t= ( D3D12_MESSAGE_ID_DEVICE_OPEN_SHARED_RESOURCE_INVALIDARG_RETURN + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_OPEN_SHARED_RESOURCE_BADINTERFACE_RETURN\t= ( D3D12_MESSAGE_ID_DEVICE_OPEN_SHARED_RESOURCE_OUTOFMEMORY_RETURN + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_DRAW_VIEWPORT_NOT_SET\t= ( D3D12_MESSAGE_ID_DEVICE_OPEN_SHARED_RESOURCE_BADINTERFACE_RETURN + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_TRAILING_DIGIT_IN_SEMANTIC\t= ( D3D12_MESSAGE_ID_DEVICE_DRAW_VIEWPORT_NOT_SET + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_TRAILING_DIGIT_IN_SEMANTIC\t= ( D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_TRAILING_DIGIT_IN_SEMANTIC + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_RSSETVIEWPORTS_DENORMFLUSH\t= ( D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_TRAILING_DIGIT_IN_SEMANTIC + 1 ) ,\n        D3D12_MESSAGE_ID_OMSETRENDERTARGETS_INVALIDVIEW\t= ( D3D12_MESSAGE_ID_DEVICE_RSSETVIEWPORTS_DENORMFLUSH + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_SETTEXTFILTERSIZE_INVALIDDIMENSIONS\t= ( D3D12_MESSAGE_ID_OMSETRENDERTARGETS_INVALIDVIEW + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_DRAW_SAMPLER_MISMATCH\t= ( D3D12_MESSAGE_ID_DEVICE_SETTEXTFILTERSIZE_INVALIDDIMENSIONS + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_TYPE_MISMATCH\t= ( D3D12_MESSAGE_ID_DEVICE_DRAW_SAMPLER_MISMATCH + 1 ) ,\n        D3D12_MESSAGE_ID_BLENDSTATE_GETDESC_LEGACY\t= ( D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_TYPE_MISMATCH + 1 ) ,\n        D3D12_MESSAGE_ID_SHADERRESOURCEVIEW_GETDESC_LEGACY\t= ( D3D12_MESSAGE_ID_BLENDSTATE_GETDESC_LEGACY + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_DRAW_PS_OUTPUT_TYPE_MISMATCH\t= ( D3D12_MESSAGE_ID_SHADERRESOURCEVIEW_GETDESC_LEGACY + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_DRAW_RESOURCE_FORMAT_GATHER_UNSUPPORTED\t= ( D3D12_MESSAGE_ID_DEVICE_DRAW_PS_OUTPUT_TYPE_MISMATCH + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_DRAW_INVALID_USE_OF_CENTER_MULTISAMPLE_PATTERN\t= ( D3D12_MESSAGE_ID_DEVICE_DRAW_RESOURCE_FORMAT_GATHER_UNSUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_IASETVERTEXBUFFERS_STRIDE_TOO_LARGE\t= ( D3D12_MESSAGE_ID_DEVICE_DRAW_INVALID_USE_OF_CENTER_MULTISAMPLE_PATTERN + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_IASETVERTEXBUFFERS_INVALIDRANGE\t= ( D3D12_MESSAGE_ID_DEVICE_IASETVERTEXBUFFERS_STRIDE_TOO_LARGE + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_EMPTY_LAYOUT\t= ( D3D12_MESSAGE_ID_DEVICE_IASETVERTEXBUFFERS_INVALIDRANGE + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_DRAW_RESOURCE_SAMPLE_COUNT_MISMATCH\t= ( D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_EMPTY_LAYOUT + 1 ) ,\n        D3D12_MESSAGE_ID_LIVE_OBJECT_SUMMARY\t= ( D3D12_MESSAGE_ID_DEVICE_DRAW_RESOURCE_SAMPLE_COUNT_MISMATCH + 1 ) ,\n        D3D12_MESSAGE_ID_LIVE_BUFFER\t= ( D3D12_MESSAGE_ID_LIVE_OBJECT_SUMMARY + 1 ) ,\n        D3D12_MESSAGE_ID_LIVE_TEXTURE1D\t= ( D3D12_MESSAGE_ID_LIVE_BUFFER + 1 ) ,\n        D3D12_MESSAGE_ID_LIVE_TEXTURE2D\t= ( D3D12_MESSAGE_ID_LIVE_TEXTURE1D + 1 ) ,\n        D3D12_MESSAGE_ID_LIVE_TEXTURE3D\t= ( D3D12_MESSAGE_ID_LIVE_TEXTURE2D + 1 ) ,\n        D3D12_MESSAGE_ID_LIVE_SHADERRESOURCEVIEW\t= ( D3D12_MESSAGE_ID_LIVE_TEXTURE3D + 1 ) ,\n        D3D12_MESSAGE_ID_LIVE_RENDERTARGETVIEW\t= ( D3D12_MESSAGE_ID_LIVE_SHADERRESOURCEVIEW + 1 ) ,\n        D3D12_MESSAGE_ID_LIVE_DEPTHSTENCILVIEW\t= ( D3D12_MESSAGE_ID_LIVE_RENDERTARGETVIEW + 1 ) ,\n        D3D12_MESSAGE_ID_LIVE_VERTEXSHADER\t= ( D3D12_MESSAGE_ID_LIVE_DEPTHSTENCILVIEW + 1 ) ,\n        D3D12_MESSAGE_ID_LIVE_GEOMETRYSHADER\t= ( D3D12_MESSAGE_ID_LIVE_VERTEXSHADER + 1 ) ,\n        D3D12_MESSAGE_ID_LIVE_PIXELSHADER\t= ( D3D12_MESSAGE_ID_LIVE_GEOMETRYSHADER + 1 ) ,\n        D3D12_MESSAGE_ID_LIVE_INPUTLAYOUT\t= ( D3D12_MESSAGE_ID_LIVE_PIXELSHADER + 1 ) ,\n        D3D12_MESSAGE_ID_LIVE_SAMPLER\t= ( D3D12_MESSAGE_ID_LIVE_INPUTLAYOUT + 1 ) ,\n        D3D12_MESSAGE_ID_LIVE_BLENDSTATE\t= ( D3D12_MESSAGE_ID_LIVE_SAMPLER + 1 ) ,\n        D3D12_MESSAGE_ID_LIVE_DEPTHSTENCILSTATE\t= ( D3D12_MESSAGE_ID_LIVE_BLENDSTATE + 1 ) ,\n        D3D12_MESSAGE_ID_LIVE_RASTERIZERSTATE\t= ( D3D12_MESSAGE_ID_LIVE_DEPTHSTENCILSTATE + 1 ) ,\n        D3D12_MESSAGE_ID_LIVE_QUERY\t= ( D3D12_MESSAGE_ID_LIVE_RASTERIZERSTATE + 1 ) ,\n        D3D12_MESSAGE_ID_LIVE_PREDICATE\t= ( D3D12_MESSAGE_ID_LIVE_QUERY + 1 ) ,\n        D3D12_MESSAGE_ID_LIVE_COUNTER\t= ( D3D12_MESSAGE_ID_LIVE_PREDICATE + 1 ) ,\n        D3D12_MESSAGE_ID_LIVE_DEVICE\t= ( D3D12_MESSAGE_ID_LIVE_COUNTER + 1 ) ,\n        D3D12_MESSAGE_ID_LIVE_SWAPCHAIN\t= ( D3D12_MESSAGE_ID_LIVE_DEVICE + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDFLAGS\t= ( D3D12_MESSAGE_ID_LIVE_SWAPCHAIN + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEVERTEXSHADER_INVALIDCLASSLINKAGE\t= ( D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDFLAGS + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEGEOMETRYSHADER_INVALIDCLASSLINKAGE\t= ( D3D12_MESSAGE_ID_CREATEVERTEXSHADER_INVALIDCLASSLINKAGE + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDNUMSTREAMS\t= ( D3D12_MESSAGE_ID_CREATEGEOMETRYSHADER_INVALIDCLASSLINKAGE + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTREAMTORASTERIZER\t= ( D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDNUMSTREAMS + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UNEXPECTEDSTREAMS\t= ( D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTREAMTORASTERIZER + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDCLASSLINKAGE\t= ( D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UNEXPECTEDSTREAMS + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEPIXELSHADER_INVALIDCLASSLINKAGE\t= ( D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDCLASSLINKAGE + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTREAM\t= ( D3D12_MESSAGE_ID_CREATEPIXELSHADER_INVALIDCLASSLINKAGE + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UNEXPECTEDENTRIES\t= ( D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTREAM + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UNEXPECTEDSTRIDES\t= ( D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UNEXPECTEDENTRIES + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDNUMSTRIDES\t= ( D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UNEXPECTEDSTRIDES + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEHULLSHADER_INVALIDCALL\t= ( D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDNUMSTRIDES + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEHULLSHADER_OUTOFMEMORY\t= ( D3D12_MESSAGE_ID_CREATEHULLSHADER_INVALIDCALL + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEHULLSHADER_INVALIDSHADERBYTECODE\t= ( D3D12_MESSAGE_ID_CREATEHULLSHADER_OUTOFMEMORY + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEHULLSHADER_INVALIDSHADERTYPE\t= ( D3D12_MESSAGE_ID_CREATEHULLSHADER_INVALIDSHADERBYTECODE + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEHULLSHADER_INVALIDCLASSLINKAGE\t= ( D3D12_MESSAGE_ID_CREATEHULLSHADER_INVALIDSHADERTYPE + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDCALL\t= ( D3D12_MESSAGE_ID_CREATEHULLSHADER_INVALIDCLASSLINKAGE + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEDOMAINSHADER_OUTOFMEMORY\t= ( D3D12_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDCALL + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDSHADERBYTECODE\t= ( D3D12_MESSAGE_ID_CREATEDOMAINSHADER_OUTOFMEMORY + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDSHADERTYPE\t= ( D3D12_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDSHADERBYTECODE + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDCLASSLINKAGE\t= ( D3D12_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDSHADERTYPE + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_DRAW_HS_XOR_DS_MISMATCH\t= ( D3D12_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDCLASSLINKAGE + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_DRAWINDIRECT_INVALID_ARG_BUFFER\t= ( D3D12_MESSAGE_ID_DEVICE_DRAW_HS_XOR_DS_MISMATCH + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_DRAWINDIRECT_OFFSET_UNALIGNED\t= ( D3D12_MESSAGE_ID_DEVICE_DRAWINDIRECT_INVALID_ARG_BUFFER + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_DRAWINDIRECT_OFFSET_OVERFLOW\t= ( D3D12_MESSAGE_ID_DEVICE_DRAWINDIRECT_OFFSET_UNALIGNED + 1 ) ,\n        D3D12_MESSAGE_ID_RESOURCE_MAP_INVALIDMAPTYPE\t= ( D3D12_MESSAGE_ID_DEVICE_DRAWINDIRECT_OFFSET_OVERFLOW + 1 ) ,\n        D3D12_MESSAGE_ID_RESOURCE_MAP_INVALIDSUBRESOURCE\t= ( D3D12_MESSAGE_ID_RESOURCE_MAP_INVALIDMAPTYPE + 1 ) ,\n        D3D12_MESSAGE_ID_RESOURCE_MAP_INVALIDFLAGS\t= ( D3D12_MESSAGE_ID_RESOURCE_MAP_INVALIDSUBRESOURCE + 1 ) ,\n        D3D12_MESSAGE_ID_RESOURCE_MAP_ALREADYMAPPED\t= ( D3D12_MESSAGE_ID_RESOURCE_MAP_INVALIDFLAGS + 1 ) ,\n        D3D12_MESSAGE_ID_RESOURCE_MAP_DEVICEREMOVED_RETURN\t= ( D3D12_MESSAGE_ID_RESOURCE_MAP_ALREADYMAPPED + 1 ) ,\n        D3D12_MESSAGE_ID_RESOURCE_MAP_OUTOFMEMORY_RETURN\t= ( D3D12_MESSAGE_ID_RESOURCE_MAP_DEVICEREMOVED_RETURN + 1 ) ,\n        D3D12_MESSAGE_ID_RESOURCE_MAP_WITHOUT_INITIAL_DISCARD\t= ( D3D12_MESSAGE_ID_RESOURCE_MAP_OUTOFMEMORY_RETURN + 1 ) ,\n        D3D12_MESSAGE_ID_RESOURCE_UNMAP_INVALIDSUBRESOURCE\t= ( D3D12_MESSAGE_ID_RESOURCE_MAP_WITHOUT_INITIAL_DISCARD + 1 ) ,\n        D3D12_MESSAGE_ID_RESOURCE_UNMAP_NOTMAPPED\t= ( D3D12_MESSAGE_ID_RESOURCE_UNMAP_INVALIDSUBRESOURCE + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_DRAW_RASTERIZING_CONTROL_POINTS\t= ( D3D12_MESSAGE_ID_RESOURCE_UNMAP_NOTMAPPED + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_IASETPRIMITIVETOPOLOGY_TOPOLOGY_UNSUPPORTED\t= ( D3D12_MESSAGE_ID_DEVICE_DRAW_RASTERIZING_CONTROL_POINTS + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_DRAW_HS_DS_SIGNATURE_MISMATCH\t= ( D3D12_MESSAGE_ID_DEVICE_IASETPRIMITIVETOPOLOGY_TOPOLOGY_UNSUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_DRAW_HULL_SHADER_INPUT_TOPOLOGY_MISMATCH\t= ( D3D12_MESSAGE_ID_DEVICE_DRAW_HS_DS_SIGNATURE_MISMATCH + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_DRAW_HS_DS_CONTROL_POINT_COUNT_MISMATCH\t= ( D3D12_MESSAGE_ID_DEVICE_DRAW_HULL_SHADER_INPUT_TOPOLOGY_MISMATCH + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_DRAW_HS_DS_TESSELLATOR_DOMAIN_MISMATCH\t= ( D3D12_MESSAGE_ID_DEVICE_DRAW_HS_DS_CONTROL_POINT_COUNT_MISMATCH + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_CHECKFEATURESUPPORT_UNRECOGNIZED_FEATURE\t= ( D3D12_MESSAGE_ID_DEVICE_DRAW_HS_DS_TESSELLATOR_DOMAIN_MISMATCH + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_CHECKFEATURESUPPORT_MISMATCHED_DATA_SIZE\t= ( D3D12_MESSAGE_ID_DEVICE_CHECKFEATURESUPPORT_UNRECOGNIZED_FEATURE + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_CHECKFEATURESUPPORT_INVALIDARG_RETURN\t= ( D3D12_MESSAGE_ID_DEVICE_CHECKFEATURESUPPORT_MISMATCHED_DATA_SIZE + 1 ) ,\n        D3D12_MESSAGE_ID_CREATECOMPUTESHADER_INVALIDCALL\t= ( D3D12_MESSAGE_ID_DEVICE_CHECKFEATURESUPPORT_INVALIDARG_RETURN + 1 ) ,\n        D3D12_MESSAGE_ID_CREATECOMPUTESHADER_OUTOFMEMORY\t= ( D3D12_MESSAGE_ID_CREATECOMPUTESHADER_INVALIDCALL + 1 ) ,\n        D3D12_MESSAGE_ID_CREATECOMPUTESHADER_INVALIDSHADERBYTECODE\t= ( D3D12_MESSAGE_ID_CREATECOMPUTESHADER_OUTOFMEMORY + 1 ) ,\n        D3D12_MESSAGE_ID_CREATECOMPUTESHADER_INVALIDCLASSLINKAGE\t= ( D3D12_MESSAGE_ID_CREATECOMPUTESHADER_INVALIDSHADERBYTECODE + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_CSSETSHADERRESOURCES_VIEWS_EMPTY\t= ( D3D12_MESSAGE_ID_CREATECOMPUTESHADER_INVALIDCLASSLINKAGE + 1 ) ,\n        D3D12_MESSAGE_ID_CSSETCONSTANTBUFFERS_INVALIDBUFFER\t= ( D3D12_MESSAGE_ID_DEVICE_CSSETSHADERRESOURCES_VIEWS_EMPTY + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_CSSETCONSTANTBUFFERS_BUFFERS_EMPTY\t= ( D3D12_MESSAGE_ID_CSSETCONSTANTBUFFERS_INVALIDBUFFER + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_CSSETSAMPLERS_SAMPLERS_EMPTY\t= ( D3D12_MESSAGE_ID_DEVICE_CSSETCONSTANTBUFFERS_BUFFERS_EMPTY + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_CSGETSHADERRESOURCES_VIEWS_EMPTY\t= ( D3D12_MESSAGE_ID_DEVICE_CSSETSAMPLERS_SAMPLERS_EMPTY + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_CSGETCONSTANTBUFFERS_BUFFERS_EMPTY\t= ( D3D12_MESSAGE_ID_DEVICE_CSGETSHADERRESOURCES_VIEWS_EMPTY + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_CSGETSAMPLERS_SAMPLERS_EMPTY\t= ( D3D12_MESSAGE_ID_DEVICE_CSGETCONSTANTBUFFERS_BUFFERS_EMPTY + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_CREATEVERTEXSHADER_DOUBLEFLOATOPSNOTSUPPORTED\t= ( D3D12_MESSAGE_ID_DEVICE_CSGETSAMPLERS_SAMPLERS_EMPTY + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_CREATEHULLSHADER_DOUBLEFLOATOPSNOTSUPPORTED\t= ( D3D12_MESSAGE_ID_DEVICE_CREATEVERTEXSHADER_DOUBLEFLOATOPSNOTSUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_CREATEDOMAINSHADER_DOUBLEFLOATOPSNOTSUPPORTED\t= ( D3D12_MESSAGE_ID_DEVICE_CREATEHULLSHADER_DOUBLEFLOATOPSNOTSUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADER_DOUBLEFLOATOPSNOTSUPPORTED\t= ( D3D12_MESSAGE_ID_DEVICE_CREATEDOMAINSHADER_DOUBLEFLOATOPSNOTSUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_DOUBLEFLOATOPSNOTSUPPORTED\t= ( D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADER_DOUBLEFLOATOPSNOTSUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_CREATEPIXELSHADER_DOUBLEFLOATOPSNOTSUPPORTED\t= ( D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_DOUBLEFLOATOPSNOTSUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_CREATECOMPUTESHADER_DOUBLEFLOATOPSNOTSUPPORTED\t= ( D3D12_MESSAGE_ID_DEVICE_CREATEPIXELSHADER_DOUBLEFLOATOPSNOTSUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEBUFFER_INVALIDSTRUCTURESTRIDE\t= ( D3D12_MESSAGE_ID_DEVICE_CREATECOMPUTESHADER_DOUBLEFLOATOPSNOTSUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDFLAGS\t= ( D3D12_MESSAGE_ID_CREATEBUFFER_INVALIDSTRUCTURESTRIDE + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDRESOURCE\t= ( D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDFLAGS + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDDESC\t= ( D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDRESOURCE + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDFORMAT\t= ( D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDDESC + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDVIDEOPLANESLICE\t= ( D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDFORMAT + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDPLANESLICE\t= ( D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDVIDEOPLANESLICE + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDDIMENSIONS\t= ( D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDPLANESLICE + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_UNRECOGNIZEDFORMAT\t= ( D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDDIMENSIONS + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_OMSETRENDERTARGETSANDUNORDEREDACCESSVIEWS_OVERLAPPING_OLD_SLOTS\t= ( D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_UNRECOGNIZEDFORMAT + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_OMSETRENDERTARGETSANDUNORDEREDACCESSVIEWS_NO_OP\t= ( D3D12_MESSAGE_ID_DEVICE_OMSETRENDERTARGETSANDUNORDEREDACCESSVIEWS_OVERLAPPING_OLD_SLOTS + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDARG_RETURN\t= ( D3D12_MESSAGE_ID_DEVICE_OMSETRENDERTARGETSANDUNORDEREDACCESSVIEWS_NO_OP + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_OUTOFMEMORY_RETURN\t= ( D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDARG_RETURN + 1 ) ,\n        D3D12_MESSAGE_ID_CLEARUNORDEREDACCESSVIEW_DENORMFLUSH\t= ( D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_OUTOFMEMORY_RETURN + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_CSSETUNORDEREDACCESSS_VIEWS_EMPTY\t= ( D3D12_MESSAGE_ID_CLEARUNORDEREDACCESSVIEW_DENORMFLUSH + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_CSGETUNORDEREDACCESSS_VIEWS_EMPTY\t= ( D3D12_MESSAGE_ID_DEVICE_CSSETUNORDEREDACCESSS_VIEWS_EMPTY + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDFLAGS\t= ( D3D12_MESSAGE_ID_DEVICE_CSGETUNORDEREDACCESSS_VIEWS_EMPTY + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_DISPATCHINDIRECT_INVALID_ARG_BUFFER\t= ( D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDFLAGS + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_DISPATCHINDIRECT_OFFSET_UNALIGNED\t= ( D3D12_MESSAGE_ID_DEVICE_DISPATCHINDIRECT_INVALID_ARG_BUFFER + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_DISPATCHINDIRECT_OFFSET_OVERFLOW\t= ( D3D12_MESSAGE_ID_DEVICE_DISPATCHINDIRECT_OFFSET_UNALIGNED + 1 ) ,\n        D3D12_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_DEPTH_READONLY\t= ( D3D12_MESSAGE_ID_DEVICE_DISPATCHINDIRECT_OFFSET_OVERFLOW + 1 ) ,\n        D3D12_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_STENCIL_READONLY\t= ( D3D12_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_DEPTH_READONLY + 1 ) ,\n        D3D12_MESSAGE_ID_CHECKFEATURESUPPORT_FORMAT_DEPRECATED\t= ( D3D12_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_STENCIL_READONLY + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_RETURN_TYPE_MISMATCH\t= ( D3D12_MESSAGE_ID_CHECKFEATURESUPPORT_FORMAT_DEPRECATED + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_NOT_SET\t= ( D3D12_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_RETURN_TYPE_MISMATCH + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_DRAW_UNORDEREDACCESSVIEW_RENDERTARGETVIEW_OVERLAP\t= ( D3D12_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_NOT_SET + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_DIMENSION_MISMATCH\t= ( D3D12_MESSAGE_ID_DEVICE_DRAW_UNORDEREDACCESSVIEW_RENDERTARGETVIEW_OVERLAP + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_APPEND_UNSUPPORTED\t= ( D3D12_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_DIMENSION_MISMATCH + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMICS_UNSUPPORTED\t= ( D3D12_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_APPEND_UNSUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_STRUCTURE_STRIDE_MISMATCH\t= ( D3D12_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMICS_UNSUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_BUFFER_TYPE_MISMATCH\t= ( D3D12_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_STRUCTURE_STRIDE_MISMATCH + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_RAW_UNSUPPORTED\t= ( D3D12_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_BUFFER_TYPE_MISMATCH + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_FORMAT_LD_UNSUPPORTED\t= ( D3D12_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_RAW_UNSUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_FORMAT_STORE_UNSUPPORTED\t= ( D3D12_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_FORMAT_LD_UNSUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMIC_ADD_UNSUPPORTED\t= ( D3D12_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_FORMAT_STORE_UNSUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMIC_BITWISE_OPS_UNSUPPORTED\t= ( D3D12_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMIC_ADD_UNSUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMIC_CMPSTORE_CMPEXCHANGE_UNSUPPORTED\t= ( D3D12_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMIC_BITWISE_OPS_UNSUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMIC_EXCHANGE_UNSUPPORTED\t= ( D3D12_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMIC_CMPSTORE_CMPEXCHANGE_UNSUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMIC_SIGNED_MINMAX_UNSUPPORTED\t= ( D3D12_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMIC_EXCHANGE_UNSUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMIC_UNSIGNED_MINMAX_UNSUPPORTED\t= ( D3D12_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMIC_SIGNED_MINMAX_UNSUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_DISPATCH_BOUND_RESOURCE_MAPPED\t= ( D3D12_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMIC_UNSIGNED_MINMAX_UNSUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_DISPATCH_THREADGROUPCOUNT_OVERFLOW\t= ( D3D12_MESSAGE_ID_DEVICE_DISPATCH_BOUND_RESOURCE_MAPPED + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_DISPATCH_THREADGROUPCOUNT_ZERO\t= ( D3D12_MESSAGE_ID_DEVICE_DISPATCH_THREADGROUPCOUNT_OVERFLOW + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_SHADERRESOURCEVIEW_STRUCTURE_STRIDE_MISMATCH\t= ( D3D12_MESSAGE_ID_DEVICE_DISPATCH_THREADGROUPCOUNT_ZERO + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_SHADERRESOURCEVIEW_BUFFER_TYPE_MISMATCH\t= ( D3D12_MESSAGE_ID_DEVICE_SHADERRESOURCEVIEW_STRUCTURE_STRIDE_MISMATCH + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_SHADERRESOURCEVIEW_RAW_UNSUPPORTED\t= ( D3D12_MESSAGE_ID_DEVICE_SHADERRESOURCEVIEW_BUFFER_TYPE_MISMATCH + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_DISPATCH_UNSUPPORTED\t= ( D3D12_MESSAGE_ID_DEVICE_SHADERRESOURCEVIEW_RAW_UNSUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_DISPATCHINDIRECT_UNSUPPORTED\t= ( D3D12_MESSAGE_ID_DEVICE_DISPATCH_UNSUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_COPYSTRUCTURECOUNT_INVALIDOFFSET\t= ( D3D12_MESSAGE_ID_DEVICE_DISPATCHINDIRECT_UNSUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_COPYSTRUCTURECOUNT_LARGEOFFSET\t= ( D3D12_MESSAGE_ID_COPYSTRUCTURECOUNT_INVALIDOFFSET + 1 ) ,\n        D3D12_MESSAGE_ID_COPYSTRUCTURECOUNT_INVALIDDESTINATIONSTATE\t= ( D3D12_MESSAGE_ID_COPYSTRUCTURECOUNT_LARGEOFFSET + 1 ) ,\n        D3D12_MESSAGE_ID_COPYSTRUCTURECOUNT_INVALIDSOURCESTATE\t= ( D3D12_MESSAGE_ID_COPYSTRUCTURECOUNT_INVALIDDESTINATIONSTATE + 1 ) ,\n        D3D12_MESSAGE_ID_CHECKFORMATSUPPORT_FORMAT_NOT_SUPPORTED\t= ( D3D12_MESSAGE_ID_COPYSTRUCTURECOUNT_INVALIDSOURCESTATE + 1 ) ,\n        D3D12_MESSAGE_ID_CLEARUNORDEREDACCESSVIEWFLOAT_INVALIDFORMAT\t= ( D3D12_MESSAGE_ID_CHECKFORMATSUPPORT_FORMAT_NOT_SUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_COUNTER_UNSUPPORTED\t= ( D3D12_MESSAGE_ID_CLEARUNORDEREDACCESSVIEWFLOAT_INVALIDFORMAT + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_DRAW_PIXEL_SHADER_WITHOUT_RTV_OR_DSV\t= ( D3D12_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_COUNTER_UNSUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_SHADER_ABORT\t= ( D3D12_MESSAGE_ID_DEVICE_DRAW_PIXEL_SHADER_WITHOUT_RTV_OR_DSV + 1 ) ,\n        D3D12_MESSAGE_ID_SHADER_MESSAGE\t= ( D3D12_MESSAGE_ID_SHADER_ABORT + 1 ) ,\n        D3D12_MESSAGE_ID_SHADER_ERROR\t= ( D3D12_MESSAGE_ID_SHADER_MESSAGE + 1 ) ,\n        D3D12_MESSAGE_ID_OFFERRESOURCES_INVALIDRESOURCE\t= ( D3D12_MESSAGE_ID_SHADER_ERROR + 1 ) ,\n        D3D12_MESSAGE_ID_ENQUEUESETEVENT_INVALIDARG_RETURN\t= ( D3D12_MESSAGE_ID_OFFERRESOURCES_INVALIDRESOURCE + 1 ) ,\n        D3D12_MESSAGE_ID_ENQUEUESETEVENT_OUTOFMEMORY_RETURN\t= ( D3D12_MESSAGE_ID_ENQUEUESETEVENT_INVALIDARG_RETURN + 1 ) ,\n        D3D12_MESSAGE_ID_ENQUEUESETEVENT_ACCESSDENIED_RETURN\t= ( D3D12_MESSAGE_ID_ENQUEUESETEVENT_OUTOFMEMORY_RETURN + 1 ) ,\n        D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDFORCEDSAMPLECOUNT\t= ( D3D12_MESSAGE_ID_ENQUEUESETEVENT_ACCESSDENIED_RETURN + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_DRAW_INVALID_USE_OF_FORCED_SAMPLE_COUNT\t= ( D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDFORCEDSAMPLECOUNT + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDLOGICOPS\t= ( D3D12_MESSAGE_ID_DEVICE_DRAW_INVALID_USE_OF_FORCED_SAMPLE_COUNT + 1 ) ,\n        D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDDARRAYWITHDECODER\t= ( D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDLOGICOPS + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDDARRAYWITHDECODER\t= ( D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDDARRAYWITHDECODER + 1 ) ,\n        D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDDARRAYWITHDECODER\t= ( D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDDARRAYWITHDECODER + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_LOCKEDOUT_INTERFACE\t= ( D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDDARRAYWITHDECODER + 1 ) ,\n        D3D12_MESSAGE_ID_OFFERRESOURCES_INVALIDPRIORITY\t= ( D3D12_MESSAGE_ID_DEVICE_LOCKEDOUT_INTERFACE + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_CLEARVIEW_INVALIDVIEW\t= ( D3D12_MESSAGE_ID_OFFERRESOURCES_INVALIDPRIORITY + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_CREATEVERTEXSHADER_DOUBLEEXTENSIONSNOTSUPPORTED\t= ( D3D12_MESSAGE_ID_DEVICE_CLEARVIEW_INVALIDVIEW + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_CREATEVERTEXSHADER_SHADEREXTENSIONSNOTSUPPORTED\t= ( D3D12_MESSAGE_ID_DEVICE_CREATEVERTEXSHADER_DOUBLEEXTENSIONSNOTSUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_CREATEHULLSHADER_DOUBLEEXTENSIONSNOTSUPPORTED\t= ( D3D12_MESSAGE_ID_DEVICE_CREATEVERTEXSHADER_SHADEREXTENSIONSNOTSUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_CREATEHULLSHADER_SHADEREXTENSIONSNOTSUPPORTED\t= ( D3D12_MESSAGE_ID_DEVICE_CREATEHULLSHADER_DOUBLEEXTENSIONSNOTSUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_CREATEDOMAINSHADER_DOUBLEEXTENSIONSNOTSUPPORTED\t= ( D3D12_MESSAGE_ID_DEVICE_CREATEHULLSHADER_SHADEREXTENSIONSNOTSUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_CREATEDOMAINSHADER_SHADEREXTENSIONSNOTSUPPORTED\t= ( D3D12_MESSAGE_ID_DEVICE_CREATEDOMAINSHADER_DOUBLEEXTENSIONSNOTSUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADER_DOUBLEEXTENSIONSNOTSUPPORTED\t= ( D3D12_MESSAGE_ID_DEVICE_CREATEDOMAINSHADER_SHADEREXTENSIONSNOTSUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADER_SHADEREXTENSIONSNOTSUPPORTED\t= ( D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADER_DOUBLEEXTENSIONSNOTSUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_DOUBLEEXTENSIONSNOTSUPPORTED\t= ( D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADER_SHADEREXTENSIONSNOTSUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_SHADEREXTENSIONSNOTSUPPORTED\t= ( D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_DOUBLEEXTENSIONSNOTSUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_CREATEPIXELSHADER_DOUBLEEXTENSIONSNOTSUPPORTED\t= ( D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_SHADEREXTENSIONSNOTSUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_CREATEPIXELSHADER_SHADEREXTENSIONSNOTSUPPORTED\t= ( D3D12_MESSAGE_ID_DEVICE_CREATEPIXELSHADER_DOUBLEEXTENSIONSNOTSUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_CREATECOMPUTESHADER_DOUBLEEXTENSIONSNOTSUPPORTED\t= ( D3D12_MESSAGE_ID_DEVICE_CREATEPIXELSHADER_SHADEREXTENSIONSNOTSUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_CREATECOMPUTESHADER_SHADEREXTENSIONSNOTSUPPORTED\t= ( D3D12_MESSAGE_ID_DEVICE_CREATECOMPUTESHADER_DOUBLEEXTENSIONSNOTSUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_SHADER_LINKAGE_MINPRECISION\t= ( D3D12_MESSAGE_ID_DEVICE_CREATECOMPUTESHADER_SHADEREXTENSIONSNOTSUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_CREATEVERTEXSHADER_UAVSNOTSUPPORTED\t= ( D3D12_MESSAGE_ID_DEVICE_SHADER_LINKAGE_MINPRECISION + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_CREATEHULLSHADER_UAVSNOTSUPPORTED\t= ( D3D12_MESSAGE_ID_DEVICE_CREATEVERTEXSHADER_UAVSNOTSUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_CREATEDOMAINSHADER_UAVSNOTSUPPORTED\t= ( D3D12_MESSAGE_ID_DEVICE_CREATEHULLSHADER_UAVSNOTSUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADER_UAVSNOTSUPPORTED\t= ( D3D12_MESSAGE_ID_DEVICE_CREATEDOMAINSHADER_UAVSNOTSUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UAVSNOTSUPPORTED\t= ( D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADER_UAVSNOTSUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_CREATEPIXELSHADER_UAVSNOTSUPPORTED\t= ( D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UAVSNOTSUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_CREATECOMPUTESHADER_UAVSNOTSUPPORTED\t= ( D3D12_MESSAGE_ID_DEVICE_CREATEPIXELSHADER_UAVSNOTSUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_OMSETRENDERTARGETSANDUNORDEREDACCESSVIEWS_INVALIDOFFSET\t= ( D3D12_MESSAGE_ID_DEVICE_CREATECOMPUTESHADER_UAVSNOTSUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_OMSETRENDERTARGETSANDUNORDEREDACCESSVIEWS_TOOMANYVIEWS\t= ( D3D12_MESSAGE_ID_DEVICE_OMSETRENDERTARGETSANDUNORDEREDACCESSVIEWS_INVALIDOFFSET + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_CLEARVIEW_NOTSUPPORTED\t= ( D3D12_MESSAGE_ID_DEVICE_OMSETRENDERTARGETSANDUNORDEREDACCESSVIEWS_TOOMANYVIEWS + 1 ) ,\n        D3D12_MESSAGE_ID_SWAPDEVICECONTEXTSTATE_NOTSUPPORTED\t= ( D3D12_MESSAGE_ID_DEVICE_CLEARVIEW_NOTSUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_UPDATESUBRESOURCE_PREFERUPDATESUBRESOURCE1\t= ( D3D12_MESSAGE_ID_SWAPDEVICECONTEXTSTATE_NOTSUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_GETDC_INACCESSIBLE\t= ( D3D12_MESSAGE_ID_UPDATESUBRESOURCE_PREFERUPDATESUBRESOURCE1 + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_CLEARVIEW_INVALIDRECT\t= ( D3D12_MESSAGE_ID_GETDC_INACCESSIBLE + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_DRAW_SAMPLE_MASK_IGNORED_ON_FL9\t= ( D3D12_MESSAGE_ID_DEVICE_CLEARVIEW_INVALIDRECT + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_OPEN_SHARED_RESOURCE1_NOT_SUPPORTED\t= ( D3D12_MESSAGE_ID_DEVICE_DRAW_SAMPLE_MASK_IGNORED_ON_FL9 + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_OPEN_SHARED_RESOURCE_BY_NAME_NOT_SUPPORTED\t= ( D3D12_MESSAGE_ID_DEVICE_OPEN_SHARED_RESOURCE1_NOT_SUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_ENQUEUESETEVENT_NOT_SUPPORTED\t= ( D3D12_MESSAGE_ID_DEVICE_OPEN_SHARED_RESOURCE_BY_NAME_NOT_SUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_OFFERRELEASE_NOT_SUPPORTED\t= ( D3D12_MESSAGE_ID_ENQUEUESETEVENT_NOT_SUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_OFFERRESOURCES_INACCESSIBLE\t= ( D3D12_MESSAGE_ID_OFFERRELEASE_NOT_SUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEVIDEOPROCESSORINPUTVIEW_INVALIDMSAA\t= ( D3D12_MESSAGE_ID_OFFERRESOURCES_INACCESSIBLE + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEVIDEOPROCESSOROUTPUTVIEW_INVALIDMSAA\t= ( D3D12_MESSAGE_ID_CREATEVIDEOPROCESSORINPUTVIEW_INVALIDMSAA + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_CLEARVIEW_INVALIDSOURCERECT\t= ( D3D12_MESSAGE_ID_CREATEVIDEOPROCESSOROUTPUTVIEW_INVALIDMSAA + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_CLEARVIEW_EMPTYRECT\t= ( D3D12_MESSAGE_ID_DEVICE_CLEARVIEW_INVALIDSOURCERECT + 1 ) ,\n        D3D12_MESSAGE_ID_UPDATESUBRESOURCE_EMPTYDESTBOX\t= ( D3D12_MESSAGE_ID_DEVICE_CLEARVIEW_EMPTYRECT + 1 ) ,\n        D3D12_MESSAGE_ID_COPYSUBRESOURCEREGION_EMPTYSOURCEBOX\t= ( D3D12_MESSAGE_ID_UPDATESUBRESOURCE_EMPTYDESTBOX + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_DRAW_OM_RENDER_TARGET_DOES_NOT_SUPPORT_LOGIC_OPS\t= ( D3D12_MESSAGE_ID_COPYSUBRESOURCEREGION_EMPTYSOURCEBOX + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_DRAW_DEPTHSTENCILVIEW_NOT_SET\t= ( D3D12_MESSAGE_ID_DEVICE_DRAW_OM_RENDER_TARGET_DOES_NOT_SUPPORT_LOGIC_OPS + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_DRAW_RENDERTARGETVIEW_NOT_SET\t= ( D3D12_MESSAGE_ID_DEVICE_DRAW_DEPTHSTENCILVIEW_NOT_SET + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_DRAW_RENDERTARGETVIEW_NOT_SET_DUE_TO_FLIP_PRESENT\t= ( D3D12_MESSAGE_ID_DEVICE_DRAW_RENDERTARGETVIEW_NOT_SET + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_NOT_SET_DUE_TO_FLIP_PRESENT\t= ( D3D12_MESSAGE_ID_DEVICE_DRAW_RENDERTARGETVIEW_NOT_SET_DUE_TO_FLIP_PRESENT + 1 ) ,\n        D3D12_MESSAGE_ID_GETDATAFORNEWHARDWAREKEY_NULLPARAM\t= ( D3D12_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_NOT_SET_DUE_TO_FLIP_PRESENT + 1 ) ,\n        D3D12_MESSAGE_ID_CHECKCRYPTOSESSIONSTATUS_NULLPARAM\t= ( D3D12_MESSAGE_ID_GETDATAFORNEWHARDWAREKEY_NULLPARAM + 1 ) ,\n        D3D12_MESSAGE_ID_SETEVENTONHARDWARECONTENTPROTECTIONTILT_NULLPARAM\t= ( D3D12_MESSAGE_ID_CHECKCRYPTOSESSIONSTATUS_NULLPARAM + 1 ) ,\n        D3D12_MESSAGE_ID_GETVIDEODECODERCAPS_NULLPARAM\t= ( D3D12_MESSAGE_ID_SETEVENTONHARDWARECONTENTPROTECTIONTILT_NULLPARAM + 1 ) ,\n        D3D12_MESSAGE_ID_GETVIDEODECODERCAPS_ZEROWIDTHHEIGHT\t= ( D3D12_MESSAGE_ID_GETVIDEODECODERCAPS_NULLPARAM + 1 ) ,\n        D3D12_MESSAGE_ID_CHECKVIDEODECODERDOWNSAMPLING_NULLPARAM\t= ( D3D12_MESSAGE_ID_GETVIDEODECODERCAPS_ZEROWIDTHHEIGHT + 1 ) ,\n        D3D12_MESSAGE_ID_CHECKVIDEODECODERDOWNSAMPLING_INVALIDCOLORSPACE\t= ( D3D12_MESSAGE_ID_CHECKVIDEODECODERDOWNSAMPLING_NULLPARAM + 1 ) ,\n        D3D12_MESSAGE_ID_CHECKVIDEODECODERDOWNSAMPLING_ZEROWIDTHHEIGHT\t= ( D3D12_MESSAGE_ID_CHECKVIDEODECODERDOWNSAMPLING_INVALIDCOLORSPACE + 1 ) ,\n        D3D12_MESSAGE_ID_VIDEODECODERENABLEDOWNSAMPLING_NULLPARAM\t= ( D3D12_MESSAGE_ID_CHECKVIDEODECODERDOWNSAMPLING_ZEROWIDTHHEIGHT + 1 ) ,\n        D3D12_MESSAGE_ID_VIDEODECODERENABLEDOWNSAMPLING_UNSUPPORTED\t= ( D3D12_MESSAGE_ID_VIDEODECODERENABLEDOWNSAMPLING_NULLPARAM + 1 ) ,\n        D3D12_MESSAGE_ID_VIDEODECODERUPDATEDOWNSAMPLING_NULLPARAM\t= ( D3D12_MESSAGE_ID_VIDEODECODERENABLEDOWNSAMPLING_UNSUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_VIDEODECODERUPDATEDOWNSAMPLING_UNSUPPORTED\t= ( D3D12_MESSAGE_ID_VIDEODECODERUPDATEDOWNSAMPLING_NULLPARAM + 1 ) ,\n        D3D12_MESSAGE_ID_CHECKVIDEOPROCESSORFORMATCONVERSION_NULLPARAM\t= ( D3D12_MESSAGE_ID_VIDEODECODERUPDATEDOWNSAMPLING_UNSUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTCOLORSPACE1_NULLPARAM\t= ( D3D12_MESSAGE_ID_CHECKVIDEOPROCESSORFORMATCONVERSION_NULLPARAM + 1 ) ,\n        D3D12_MESSAGE_ID_VIDEOPROCESSORGETOUTPUTCOLORSPACE1_NULLPARAM\t= ( D3D12_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTCOLORSPACE1_NULLPARAM + 1 ) ,\n        D3D12_MESSAGE_ID_VIDEOPROCESSORSETSTREAMCOLORSPACE1_NULLPARAM\t= ( D3D12_MESSAGE_ID_VIDEOPROCESSORGETOUTPUTCOLORSPACE1_NULLPARAM + 1 ) ,\n        D3D12_MESSAGE_ID_VIDEOPROCESSORSETSTREAMCOLORSPACE1_INVALIDSTREAM\t= ( D3D12_MESSAGE_ID_VIDEOPROCESSORSETSTREAMCOLORSPACE1_NULLPARAM + 1 ) ,\n        D3D12_MESSAGE_ID_VIDEOPROCESSORSETSTREAMMIRROR_NULLPARAM\t= ( D3D12_MESSAGE_ID_VIDEOPROCESSORSETSTREAMCOLORSPACE1_INVALIDSTREAM + 1 ) ,\n        D3D12_MESSAGE_ID_VIDEOPROCESSORSETSTREAMMIRROR_INVALIDSTREAM\t= ( D3D12_MESSAGE_ID_VIDEOPROCESSORSETSTREAMMIRROR_NULLPARAM + 1 ) ,\n        D3D12_MESSAGE_ID_VIDEOPROCESSORSETSTREAMMIRROR_UNSUPPORTED\t= ( D3D12_MESSAGE_ID_VIDEOPROCESSORSETSTREAMMIRROR_INVALIDSTREAM + 1 ) ,\n        D3D12_MESSAGE_ID_VIDEOPROCESSORGETSTREAMCOLORSPACE1_NULLPARAM\t= ( D3D12_MESSAGE_ID_VIDEOPROCESSORSETSTREAMMIRROR_UNSUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_VIDEOPROCESSORGETSTREAMMIRROR_NULLPARAM\t= ( D3D12_MESSAGE_ID_VIDEOPROCESSORGETSTREAMCOLORSPACE1_NULLPARAM + 1 ) ,\n        D3D12_MESSAGE_ID_RECOMMENDVIDEODECODERDOWNSAMPLING_NULLPARAM\t= ( D3D12_MESSAGE_ID_VIDEOPROCESSORGETSTREAMMIRROR_NULLPARAM + 1 ) ,\n        D3D12_MESSAGE_ID_RECOMMENDVIDEODECODERDOWNSAMPLING_INVALIDCOLORSPACE\t= ( D3D12_MESSAGE_ID_RECOMMENDVIDEODECODERDOWNSAMPLING_NULLPARAM + 1 ) ,\n        D3D12_MESSAGE_ID_RECOMMENDVIDEODECODERDOWNSAMPLING_ZEROWIDTHHEIGHT\t= ( D3D12_MESSAGE_ID_RECOMMENDVIDEODECODERDOWNSAMPLING_INVALIDCOLORSPACE + 1 ) ,\n        D3D12_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTSHADERUSAGE_NULLPARAM\t= ( D3D12_MESSAGE_ID_RECOMMENDVIDEODECODERDOWNSAMPLING_ZEROWIDTHHEIGHT + 1 ) ,\n        D3D12_MESSAGE_ID_VIDEOPROCESSORGETOUTPUTSHADERUSAGE_NULLPARAM\t= ( D3D12_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTSHADERUSAGE_NULLPARAM + 1 ) ,\n        D3D12_MESSAGE_ID_VIDEOPROCESSORGETBEHAVIORHINTS_NULLPARAM\t= ( D3D12_MESSAGE_ID_VIDEOPROCESSORGETOUTPUTSHADERUSAGE_NULLPARAM + 1 ) ,\n        D3D12_MESSAGE_ID_VIDEOPROCESSORGETBEHAVIORHINTS_INVALIDSTREAMCOUNT\t= ( D3D12_MESSAGE_ID_VIDEOPROCESSORGETBEHAVIORHINTS_NULLPARAM + 1 ) ,\n        D3D12_MESSAGE_ID_VIDEOPROCESSORGETBEHAVIORHINTS_TARGETRECT\t= ( D3D12_MESSAGE_ID_VIDEOPROCESSORGETBEHAVIORHINTS_INVALIDSTREAMCOUNT + 1 ) ,\n        D3D12_MESSAGE_ID_VIDEOPROCESSORGETBEHAVIORHINTS_INVALIDSOURCERECT\t= ( D3D12_MESSAGE_ID_VIDEOPROCESSORGETBEHAVIORHINTS_TARGETRECT + 1 ) ,\n        D3D12_MESSAGE_ID_VIDEOPROCESSORGETBEHAVIORHINTS_INVALIDDESTRECT\t= ( D3D12_MESSAGE_ID_VIDEOPROCESSORGETBEHAVIORHINTS_INVALIDSOURCERECT + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEBUFFER_INVALIDUSAGE\t= ( D3D12_MESSAGE_ID_VIDEOPROCESSORGETBEHAVIORHINTS_INVALIDDESTRECT + 1 ) ,\n        D3D12_MESSAGE_ID_CREATETEXTURE1D_INVALIDUSAGE\t= ( D3D12_MESSAGE_ID_CREATEBUFFER_INVALIDUSAGE + 1 ) ,\n        D3D12_MESSAGE_ID_CREATETEXTURE2D_INVALIDUSAGE\t= ( D3D12_MESSAGE_ID_CREATETEXTURE1D_INVALIDUSAGE + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_LEVEL9_STEPRATE_NOT_1\t= ( D3D12_MESSAGE_ID_CREATETEXTURE2D_INVALIDUSAGE + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_LEVEL9_INSTANCING_NOT_SUPPORTED\t= ( D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_LEVEL9_STEPRATE_NOT_1 + 1 ) ,\n        D3D12_MESSAGE_ID_UPDATETILEMAPPINGS_INVALID_PARAMETER\t= ( D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_LEVEL9_INSTANCING_NOT_SUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_COPYTILEMAPPINGS_INVALID_PARAMETER\t= ( D3D12_MESSAGE_ID_UPDATETILEMAPPINGS_INVALID_PARAMETER + 1 ) ,\n        D3D12_MESSAGE_ID_COPYTILES_INVALID_PARAMETER\t= ( D3D12_MESSAGE_ID_COPYTILEMAPPINGS_INVALID_PARAMETER + 1 ) ,\n        D3D12_MESSAGE_ID_NULL_TILE_MAPPING_ACCESS_WARNING\t= ( D3D12_MESSAGE_ID_COPYTILES_INVALID_PARAMETER + 1 ) ,\n        D3D12_MESSAGE_ID_NULL_TILE_MAPPING_ACCESS_ERROR\t= ( D3D12_MESSAGE_ID_NULL_TILE_MAPPING_ACCESS_WARNING + 1 ) ,\n        D3D12_MESSAGE_ID_DIRTY_TILE_MAPPING_ACCESS\t= ( D3D12_MESSAGE_ID_NULL_TILE_MAPPING_ACCESS_ERROR + 1 ) ,\n        D3D12_MESSAGE_ID_DUPLICATE_TILE_MAPPINGS_IN_COVERED_AREA\t= ( D3D12_MESSAGE_ID_DIRTY_TILE_MAPPING_ACCESS + 1 ) ,\n        D3D12_MESSAGE_ID_TILE_MAPPINGS_IN_COVERED_AREA_DUPLICATED_OUTSIDE\t= ( D3D12_MESSAGE_ID_DUPLICATE_TILE_MAPPINGS_IN_COVERED_AREA + 1 ) ,\n        D3D12_MESSAGE_ID_TILE_MAPPINGS_SHARED_BETWEEN_INCOMPATIBLE_RESOURCES\t= ( D3D12_MESSAGE_ID_TILE_MAPPINGS_IN_COVERED_AREA_DUPLICATED_OUTSIDE + 1 ) ,\n        D3D12_MESSAGE_ID_TILE_MAPPINGS_SHARED_BETWEEN_INPUT_AND_OUTPUT\t= ( D3D12_MESSAGE_ID_TILE_MAPPINGS_SHARED_BETWEEN_INCOMPATIBLE_RESOURCES + 1 ) ,\n        D3D12_MESSAGE_ID_CHECKMULTISAMPLEQUALITYLEVELS_INVALIDFLAGS\t= ( D3D12_MESSAGE_ID_TILE_MAPPINGS_SHARED_BETWEEN_INPUT_AND_OUTPUT + 1 ) ,\n        D3D12_MESSAGE_ID_GETRESOURCETILING_NONTILED_RESOURCE\t= ( D3D12_MESSAGE_ID_CHECKMULTISAMPLEQUALITYLEVELS_INVALIDFLAGS + 1 ) ,\n        D3D12_MESSAGE_ID_NEED_TO_CALL_TILEDRESOURCEBARRIER\t= ( D3D12_MESSAGE_ID_GETRESOURCETILING_NONTILED_RESOURCE + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEDEVICE_INVALIDARGS\t= ( D3D12_MESSAGE_ID_NEED_TO_CALL_TILEDRESOURCEBARRIER + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEDEVICE_WARNING\t= ( D3D12_MESSAGE_ID_CREATEDEVICE_INVALIDARGS + 1 ) ,\n        D3D12_MESSAGE_ID_TILED_RESOURCE_TIER_1_BUFFER_TEXTURE_MISMATCH\t= ( D3D12_MESSAGE_ID_CREATEDEVICE_WARNING + 1 ) ,\n        D3D12_MESSAGE_ID_CREATE_CRYPTOSESSION\t= ( D3D12_MESSAGE_ID_TILED_RESOURCE_TIER_1_BUFFER_TEXTURE_MISMATCH + 1 ) ,\n        D3D12_MESSAGE_ID_CREATE_AUTHENTICATEDCHANNEL\t= ( D3D12_MESSAGE_ID_CREATE_CRYPTOSESSION + 1 ) ,\n        D3D12_MESSAGE_ID_LIVE_CRYPTOSESSION\t= ( D3D12_MESSAGE_ID_CREATE_AUTHENTICATEDCHANNEL + 1 ) ,\n        D3D12_MESSAGE_ID_LIVE_AUTHENTICATEDCHANNEL\t= ( D3D12_MESSAGE_ID_LIVE_CRYPTOSESSION + 1 ) ,\n        D3D12_MESSAGE_ID_DESTROY_CRYPTOSESSION\t= ( D3D12_MESSAGE_ID_LIVE_AUTHENTICATEDCHANNEL + 1 ) ,\n        D3D12_MESSAGE_ID_DESTROY_AUTHENTICATEDCHANNEL\t= ( D3D12_MESSAGE_ID_DESTROY_CRYPTOSESSION + 1 ) ,\n        D3D12_MESSAGE_ID_MAP_INVALID_SUBRESOURCE\t= ( D3D12_MESSAGE_ID_DESTROY_AUTHENTICATEDCHANNEL + 1 ) ,\n        D3D12_MESSAGE_ID_MAP_INVALID_TYPE\t= ( D3D12_MESSAGE_ID_MAP_INVALID_SUBRESOURCE + 1 ) ,\n        D3D12_MESSAGE_ID_MAP_UNSUPPORTED_TYPE\t= ( D3D12_MESSAGE_ID_MAP_INVALID_TYPE + 1 ) ,\n        D3D12_MESSAGE_ID_UNMAP_INVALID_SUBRESOURCE\t= ( D3D12_MESSAGE_ID_MAP_UNSUPPORTED_TYPE + 1 ) ,\n        D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_TYPE\t= ( D3D12_MESSAGE_ID_UNMAP_INVALID_SUBRESOURCE + 1 ) ,\n        D3D12_MESSAGE_ID_RESOURCE_BARRIER_NULL_POINTER\t= ( D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_TYPE + 1 ) ,\n        D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_SUBRESOURCE\t= ( D3D12_MESSAGE_ID_RESOURCE_BARRIER_NULL_POINTER + 1 ) ,\n        D3D12_MESSAGE_ID_RESOURCE_BARRIER_RESERVED_BITS\t= ( D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_SUBRESOURCE + 1 ) ,\n        D3D12_MESSAGE_ID_RESOURCE_BARRIER_MISSING_BIND_FLAGS\t= ( D3D12_MESSAGE_ID_RESOURCE_BARRIER_RESERVED_BITS + 1 ) ,\n        D3D12_MESSAGE_ID_RESOURCE_BARRIER_MISMATCHING_MISC_FLAGS\t= ( D3D12_MESSAGE_ID_RESOURCE_BARRIER_MISSING_BIND_FLAGS + 1 ) ,\n        D3D12_MESSAGE_ID_RESOURCE_BARRIER_MATCHING_STATES\t= ( D3D12_MESSAGE_ID_RESOURCE_BARRIER_MISMATCHING_MISC_FLAGS + 1 ) ,\n        D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_COMBINATION\t= ( D3D12_MESSAGE_ID_RESOURCE_BARRIER_MATCHING_STATES + 1 ) ,\n        D3D12_MESSAGE_ID_RESOURCE_BARRIER_BEFORE_AFTER_MISMATCH\t= ( D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_COMBINATION + 1 ) ,\n        D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_RESOURCE\t= ( D3D12_MESSAGE_ID_RESOURCE_BARRIER_BEFORE_AFTER_MISMATCH + 1 ) ,\n        D3D12_MESSAGE_ID_RESOURCE_BARRIER_SAMPLE_COUNT\t= ( D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_RESOURCE + 1 ) ,\n        D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_FLAGS\t= ( D3D12_MESSAGE_ID_RESOURCE_BARRIER_SAMPLE_COUNT + 1 ) ,\n        D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_COMBINED_FLAGS\t= ( D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_FLAGS + 1 ) ,\n        D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_FLAGS_FOR_FORMAT\t= ( D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_COMBINED_FLAGS + 1 ) ,\n        D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_SPLIT_BARRIER\t= ( D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_FLAGS_FOR_FORMAT + 1 ) ,\n        D3D12_MESSAGE_ID_RESOURCE_BARRIER_UNMATCHED_END\t= ( D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_SPLIT_BARRIER + 1 ) ,\n        D3D12_MESSAGE_ID_RESOURCE_BARRIER_UNMATCHED_BEGIN\t= ( D3D12_MESSAGE_ID_RESOURCE_BARRIER_UNMATCHED_END + 1 ) ,\n        D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_FLAG\t= ( D3D12_MESSAGE_ID_RESOURCE_BARRIER_UNMATCHED_BEGIN + 1 ) ,\n        D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_COMMAND_LIST_TYPE\t= ( D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_FLAG + 1 ) ,\n        D3D12_MESSAGE_ID_INVALID_SUBRESOURCE_STATE\t= ( D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_COMMAND_LIST_TYPE + 1 ) ,\n        D3D12_MESSAGE_ID_INEFFICIENT_PRESENT\t= ( D3D12_MESSAGE_ID_INVALID_SUBRESOURCE_STATE + 1 ) ,\n        D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_CONTENTION\t= ( D3D12_MESSAGE_ID_INEFFICIENT_PRESENT + 1 ) ,\n        D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_RESET\t= ( D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_CONTENTION + 1 ) ,\n        D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_RESET_BUNDLE\t= ( D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_RESET + 1 ) ,\n        D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_CANNOT_RESET\t= ( D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_RESET_BUNDLE + 1 ) ,\n        D3D12_MESSAGE_ID_COMMAND_LIST_OPEN\t= ( D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_CANNOT_RESET + 1 ) ,\n        D3D12_MESSAGE_ID_QUERY_STATE_MISMATCH\t= ( D3D12_MESSAGE_ID_COMMAND_LIST_OPEN + 1 ) ,\n        D3D12_MESSAGE_ID_INVALID_BUNDLE_API\t= ( D3D12_MESSAGE_ID_QUERY_STATE_MISMATCH + 1 ) ,\n        D3D12_MESSAGE_ID_COMMAND_LIST_CLOSED\t= ( D3D12_MESSAGE_ID_INVALID_BUNDLE_API + 1 ) ,\n        D3D12_MESSAGE_ID_COMMAND_LIST_CLOSED_WITH_INVALID_RESOURCE\t= ( D3D12_MESSAGE_ID_COMMAND_LIST_CLOSED + 1 ) ,\n        D3D12_MESSAGE_ID_WRONG_COMMAND_ALLOCATOR_TYPE\t= ( D3D12_MESSAGE_ID_COMMAND_LIST_CLOSED_WITH_INVALID_RESOURCE + 1 ) ,\n        D3D12_MESSAGE_ID_INVALID_INDIRECT_ARGUMENT_BUFFER\t= ( D3D12_MESSAGE_ID_WRONG_COMMAND_ALLOCATOR_TYPE + 1 ) ,\n        D3D12_MESSAGE_ID_COMPUTE_AND_GRAPHICS_PIPELINE\t= ( D3D12_MESSAGE_ID_INVALID_INDIRECT_ARGUMENT_BUFFER + 1 ) ,\n        D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_SYNC\t= ( D3D12_MESSAGE_ID_COMPUTE_AND_GRAPHICS_PIPELINE + 1 ) ,\n        D3D12_MESSAGE_ID_COMMAND_LIST_SYNC\t= ( D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_SYNC + 1 ) ,\n        D3D12_MESSAGE_ID_SET_DESCRIPTOR_HEAP_INVALID\t= ( D3D12_MESSAGE_ID_COMMAND_LIST_SYNC + 1 ) ,\n        D3D12_MESSAGE_ID_CREATE_QUEUE_IMAGE_NOT_SUPPORTED\t= ( D3D12_MESSAGE_ID_SET_DESCRIPTOR_HEAP_INVALID + 1 ) ,\n        D3D12_MESSAGE_ID_CREATE_COMMAND_ALLOCATOR_IMAGE_NOT_SUPPORTED\t= ( D3D12_MESSAGE_ID_CREATE_QUEUE_IMAGE_NOT_SUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_CREATE_COMMANDQUEUE\t= ( D3D12_MESSAGE_ID_CREATE_COMMAND_ALLOCATOR_IMAGE_NOT_SUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_CREATE_COMMANDALLOCATOR\t= ( D3D12_MESSAGE_ID_CREATE_COMMANDQUEUE + 1 ) ,\n        D3D12_MESSAGE_ID_CREATE_PIPELINESTATE\t= ( D3D12_MESSAGE_ID_CREATE_COMMANDALLOCATOR + 1 ) ,\n        D3D12_MESSAGE_ID_CREATE_COMMANDLIST12\t= ( D3D12_MESSAGE_ID_CREATE_PIPELINESTATE + 1 ) ,\n        D3D12_MESSAGE_ID_CREATE_IMAGECOMMANDLIST\t= ( D3D12_MESSAGE_ID_CREATE_COMMANDLIST12 + 1 ) ,\n        D3D12_MESSAGE_ID_CREATE_RESOURCE\t= ( D3D12_MESSAGE_ID_CREATE_IMAGECOMMANDLIST + 1 ) ,\n        D3D12_MESSAGE_ID_CREATE_DESCRIPTORHEAP\t= ( D3D12_MESSAGE_ID_CREATE_RESOURCE + 1 ) ,\n        D3D12_MESSAGE_ID_CREATE_ROOTSIGNATURE\t= ( D3D12_MESSAGE_ID_CREATE_DESCRIPTORHEAP + 1 ) ,\n        D3D12_MESSAGE_ID_CREATE_LIBRARY\t= ( D3D12_MESSAGE_ID_CREATE_ROOTSIGNATURE + 1 ) ,\n        D3D12_MESSAGE_ID_CREATE_HEAP\t= ( D3D12_MESSAGE_ID_CREATE_LIBRARY + 1 ) ,\n        D3D12_MESSAGE_ID_CREATE_MONITOREDFENCE\t= ( D3D12_MESSAGE_ID_CREATE_HEAP + 1 ) ,\n        D3D12_MESSAGE_ID_CREATE_QUERYHEAP\t= ( D3D12_MESSAGE_ID_CREATE_MONITOREDFENCE + 1 ) ,\n        D3D12_MESSAGE_ID_CREATE_COMMANDSIGNATURE\t= ( D3D12_MESSAGE_ID_CREATE_QUERYHEAP + 1 ) ,\n        D3D12_MESSAGE_ID_LIVE_COMMANDQUEUE\t= ( D3D12_MESSAGE_ID_CREATE_COMMANDSIGNATURE + 1 ) ,\n        D3D12_MESSAGE_ID_LIVE_COMMANDALLOCATOR\t= ( D3D12_MESSAGE_ID_LIVE_COMMANDQUEUE + 1 ) ,\n        D3D12_MESSAGE_ID_LIVE_PIPELINESTATE\t= ( D3D12_MESSAGE_ID_LIVE_COMMANDALLOCATOR + 1 ) ,\n        D3D12_MESSAGE_ID_LIVE_COMMANDLIST12\t= ( D3D12_MESSAGE_ID_LIVE_PIPELINESTATE + 1 ) ,\n        D3D12_MESSAGE_ID_LIVE_IMAGECOMMANDLIST\t= ( D3D12_MESSAGE_ID_LIVE_COMMANDLIST12 + 1 ) ,\n        D3D12_MESSAGE_ID_LIVE_RESOURCE\t= ( D3D12_MESSAGE_ID_LIVE_IMAGECOMMANDLIST + 1 ) ,\n        D3D12_MESSAGE_ID_LIVE_DESCRIPTORHEAP\t= ( D3D12_MESSAGE_ID_LIVE_RESOURCE + 1 ) ,\n        D3D12_MESSAGE_ID_LIVE_ROOTSIGNATURE\t= ( D3D12_MESSAGE_ID_LIVE_DESCRIPTORHEAP + 1 ) ,\n        D3D12_MESSAGE_ID_LIVE_LIBRARY\t= ( D3D12_MESSAGE_ID_LIVE_ROOTSIGNATURE + 1 ) ,\n        D3D12_MESSAGE_ID_LIVE_HEAP\t= ( D3D12_MESSAGE_ID_LIVE_LIBRARY + 1 ) ,\n        D3D12_MESSAGE_ID_LIVE_MONITOREDFENCE\t= ( D3D12_MESSAGE_ID_LIVE_HEAP + 1 ) ,\n        D3D12_MESSAGE_ID_LIVE_QUERYHEAP\t= ( D3D12_MESSAGE_ID_LIVE_MONITOREDFENCE + 1 ) ,\n        D3D12_MESSAGE_ID_LIVE_COMMANDSIGNATURE\t= ( D3D12_MESSAGE_ID_LIVE_QUERYHEAP + 1 ) ,\n        D3D12_MESSAGE_ID_DESTROY_COMMANDQUEUE\t= ( D3D12_MESSAGE_ID_LIVE_COMMANDSIGNATURE + 1 ) ,\n        D3D12_MESSAGE_ID_DESTROY_COMMANDALLOCATOR\t= ( D3D12_MESSAGE_ID_DESTROY_COMMANDQUEUE + 1 ) ,\n        D3D12_MESSAGE_ID_DESTROY_PIPELINESTATE\t= ( D3D12_MESSAGE_ID_DESTROY_COMMANDALLOCATOR + 1 ) ,\n        D3D12_MESSAGE_ID_DESTROY_COMMANDLIST12\t= ( D3D12_MESSAGE_ID_DESTROY_PIPELINESTATE + 1 ) ,\n        D3D12_MESSAGE_ID_DESTROY_IMAGECOMMANDLIST\t= ( D3D12_MESSAGE_ID_DESTROY_COMMANDLIST12 + 1 ) ,\n        D3D12_MESSAGE_ID_DESTROY_RESOURCE\t= ( D3D12_MESSAGE_ID_DESTROY_IMAGECOMMANDLIST + 1 ) ,\n        D3D12_MESSAGE_ID_DESTROY_DESCRIPTORHEAP\t= ( D3D12_MESSAGE_ID_DESTROY_RESOURCE + 1 ) ,\n        D3D12_MESSAGE_ID_DESTROY_ROOTSIGNATURE\t= ( D3D12_MESSAGE_ID_DESTROY_DESCRIPTORHEAP + 1 ) ,\n        D3D12_MESSAGE_ID_DESTROY_LIBRARY\t= ( D3D12_MESSAGE_ID_DESTROY_ROOTSIGNATURE + 1 ) ,\n        D3D12_MESSAGE_ID_DESTROY_HEAP\t= ( D3D12_MESSAGE_ID_DESTROY_LIBRARY + 1 ) ,\n        D3D12_MESSAGE_ID_DESTROY_MONITOREDFENCE\t= ( D3D12_MESSAGE_ID_DESTROY_HEAP + 1 ) ,\n        D3D12_MESSAGE_ID_DESTROY_QUERYHEAP\t= ( D3D12_MESSAGE_ID_DESTROY_MONITOREDFENCE + 1 ) ,\n        D3D12_MESSAGE_ID_DESTROY_COMMANDSIGNATURE\t= ( D3D12_MESSAGE_ID_DESTROY_QUERYHEAP + 1 ) ,\n        D3D12_MESSAGE_ID_CREATERESOURCE_UNRECOGNIZEDHEAPTYPE\t= ( D3D12_MESSAGE_ID_DESTROY_COMMANDSIGNATURE + 1 ) ,\n        D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDDIMENSIONS\t= ( D3D12_MESSAGE_ID_CREATERESOURCE_UNRECOGNIZEDHEAPTYPE + 1 ) ,\n        D3D12_MESSAGE_ID_CREATERESOURCE_UNRECOGNIZEDMISCFLAGS\t= ( D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDDIMENSIONS + 1 ) ,\n        D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDMISCFLAGS\t= ( D3D12_MESSAGE_ID_CREATERESOURCE_UNRECOGNIZEDMISCFLAGS + 1 ) ,\n        D3D12_MESSAGE_ID_CREATERESOURCE_LARGEALLOCATION\t= ( D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDMISCFLAGS + 1 ) ,\n        D3D12_MESSAGE_ID_CREATERESOURCE_SMALLALLOCATION\t= ( D3D12_MESSAGE_ID_CREATERESOURCE_LARGEALLOCATION + 1 ) ,\n        D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDARG_RETURN\t= ( D3D12_MESSAGE_ID_CREATERESOURCE_SMALLALLOCATION + 1 ) ,\n        D3D12_MESSAGE_ID_CREATERESOURCE_OUTOFMEMORY_RETURN\t= ( D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDARG_RETURN + 1 ) ,\n        D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDDESC\t= ( D3D12_MESSAGE_ID_CREATERESOURCE_OUTOFMEMORY_RETURN + 1 ) ,\n        D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDINITIALSTATE\t= ( D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDDESC + 1 ) ,\n        D3D12_MESSAGE_ID_RESOURCE_HAS_PENDING_INITIAL_DATA\t= ( D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDINITIALSTATE + 1 ) ,\n        D3D12_MESSAGE_ID_POSSIBLY_INVALID_SUBRESOURCE_STATE\t= ( D3D12_MESSAGE_ID_RESOURCE_HAS_PENDING_INITIAL_DATA + 1 ) ,\n        D3D12_MESSAGE_ID_INVALID_USE_OF_NON_RESIDENT_RESOURCE\t= ( D3D12_MESSAGE_ID_POSSIBLY_INVALID_SUBRESOURCE_STATE + 1 ) ,\n        D3D12_MESSAGE_ID_POSSIBLE_INVALID_USE_OF_NON_RESIDENT_RESOURCE\t= ( D3D12_MESSAGE_ID_INVALID_USE_OF_NON_RESIDENT_RESOURCE + 1 ) ,\n        D3D12_MESSAGE_ID_BUNDLE_PIPELINE_STATE_MISMATCH\t= ( D3D12_MESSAGE_ID_POSSIBLE_INVALID_USE_OF_NON_RESIDENT_RESOURCE + 1 ) ,\n        D3D12_MESSAGE_ID_PRIMITIVE_TOPOLOGY_MISMATCH_PIPELINE_STATE\t= ( D3D12_MESSAGE_ID_BUNDLE_PIPELINE_STATE_MISMATCH + 1 ) ,\n        D3D12_MESSAGE_ID_RENDER_TARGET_NUMBER_MISMATCH_PIPELINE_STATE\t= ( D3D12_MESSAGE_ID_PRIMITIVE_TOPOLOGY_MISMATCH_PIPELINE_STATE + 1 ) ,\n        D3D12_MESSAGE_ID_RENDER_TARGET_FORMAT_MISMATCH_PIPELINE_STATE\t= ( D3D12_MESSAGE_ID_RENDER_TARGET_NUMBER_MISMATCH_PIPELINE_STATE + 1 ) ,\n        D3D12_MESSAGE_ID_RENDER_TARGET_SAMPLE_DESC_MISMATCH_PIPELINE_STATE\t= ( D3D12_MESSAGE_ID_RENDER_TARGET_FORMAT_MISMATCH_PIPELINE_STATE + 1 ) ,\n        D3D12_MESSAGE_ID_DEPTH_STENCIL_FORMAT_MISMATCH_PIPELINE_STATE\t= ( D3D12_MESSAGE_ID_RENDER_TARGET_SAMPLE_DESC_MISMATCH_PIPELINE_STATE + 1 ) ,\n        D3D12_MESSAGE_ID_DEPTH_STENCIL_SAMPLE_DESC_MISMATCH_PIPELINE_STATE\t= ( D3D12_MESSAGE_ID_DEPTH_STENCIL_FORMAT_MISMATCH_PIPELINE_STATE + 1 ) ,\n        D3D12_MESSAGE_ID_RENDER_TARGET_NUMBER_MISMATCH_BUNDLE_PIPELINE_STATE\t= ( D3D12_MESSAGE_ID_DEPTH_STENCIL_SAMPLE_DESC_MISMATCH_PIPELINE_STATE + 1 ) ,\n        D3D12_MESSAGE_ID_RENDER_TARGET_FORMAT_MISMATCH_BUNDLE_PIPELINE_STATE\t= ( D3D12_MESSAGE_ID_RENDER_TARGET_NUMBER_MISMATCH_BUNDLE_PIPELINE_STATE + 1 ) ,\n        D3D12_MESSAGE_ID_RENDER_TARGET_SAMPLE_DESC_MISMATCH_BUNDLE_PIPELINE_STATE\t= ( D3D12_MESSAGE_ID_RENDER_TARGET_FORMAT_MISMATCH_BUNDLE_PIPELINE_STATE + 1 ) ,\n        D3D12_MESSAGE_ID_DEPTH_STENCIL_FORMAT_MISMATCH_BUNDLE_PIPELINE_STATE\t= ( D3D12_MESSAGE_ID_RENDER_TARGET_SAMPLE_DESC_MISMATCH_BUNDLE_PIPELINE_STATE + 1 ) ,\n        D3D12_MESSAGE_ID_DEPTH_STENCIL_SAMPLE_DESC_MISMATCH_BUNDLE_PIPELINE_STATE\t= ( D3D12_MESSAGE_ID_DEPTH_STENCIL_FORMAT_MISMATCH_BUNDLE_PIPELINE_STATE + 1 ) ,\n        D3D12_MESSAGE_ID_CREATESHADER_INVALIDBYTECODE\t= ( D3D12_MESSAGE_ID_DEPTH_STENCIL_SAMPLE_DESC_MISMATCH_BUNDLE_PIPELINE_STATE + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEHEAP_NULLDESC\t= ( D3D12_MESSAGE_ID_CREATESHADER_INVALIDBYTECODE + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEHEAP_INVALIDSIZE\t= ( D3D12_MESSAGE_ID_CREATEHEAP_NULLDESC + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEHEAP_UNRECOGNIZEDHEAPTYPE\t= ( D3D12_MESSAGE_ID_CREATEHEAP_INVALIDSIZE + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEHEAP_UNRECOGNIZEDCPUPAGEPROPERTIES\t= ( D3D12_MESSAGE_ID_CREATEHEAP_UNRECOGNIZEDHEAPTYPE + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEHEAP_UNRECOGNIZEDMEMORYPOOL\t= ( D3D12_MESSAGE_ID_CREATEHEAP_UNRECOGNIZEDCPUPAGEPROPERTIES + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEHEAP_INVALIDPROPERTIES\t= ( D3D12_MESSAGE_ID_CREATEHEAP_UNRECOGNIZEDMEMORYPOOL + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEHEAP_INVALIDALIGNMENT\t= ( D3D12_MESSAGE_ID_CREATEHEAP_INVALIDPROPERTIES + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEHEAP_UNRECOGNIZEDMISCFLAGS\t= ( D3D12_MESSAGE_ID_CREATEHEAP_INVALIDALIGNMENT + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEHEAP_INVALIDMISCFLAGS\t= ( D3D12_MESSAGE_ID_CREATEHEAP_UNRECOGNIZEDMISCFLAGS + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEHEAP_INVALIDARG_RETURN\t= ( D3D12_MESSAGE_ID_CREATEHEAP_INVALIDMISCFLAGS + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEHEAP_OUTOFMEMORY_RETURN\t= ( D3D12_MESSAGE_ID_CREATEHEAP_INVALIDARG_RETURN + 1 ) ,\n        D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_NULLHEAPPROPERTIES\t= ( D3D12_MESSAGE_ID_CREATEHEAP_OUTOFMEMORY_RETURN + 1 ) ,\n        D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_UNRECOGNIZEDHEAPTYPE\t= ( D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_NULLHEAPPROPERTIES + 1 ) ,\n        D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_UNRECOGNIZEDCPUPAGEPROPERTIES\t= ( D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_UNRECOGNIZEDHEAPTYPE + 1 ) ,\n        D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_UNRECOGNIZEDMEMORYPOOL\t= ( D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_UNRECOGNIZEDCPUPAGEPROPERTIES + 1 ) ,\n        D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_INVALIDHEAPPROPERTIES\t= ( D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_UNRECOGNIZEDMEMORYPOOL + 1 ) ,\n        D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_UNRECOGNIZEDHEAPMISCFLAGS\t= ( D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_INVALIDHEAPPROPERTIES + 1 ) ,\n        D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_INVALIDHEAPMISCFLAGS\t= ( D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_UNRECOGNIZEDHEAPMISCFLAGS + 1 ) ,\n        D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_INVALIDARG_RETURN\t= ( D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_INVALIDHEAPMISCFLAGS + 1 ) ,\n        D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_OUTOFMEMORY_RETURN\t= ( D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_INVALIDARG_RETURN + 1 ) ,\n        D3D12_MESSAGE_ID_GETCUSTOMHEAPPROPERTIES_UNRECOGNIZEDHEAPTYPE\t= ( D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_OUTOFMEMORY_RETURN + 1 ) ,\n        D3D12_MESSAGE_ID_GETCUSTOMHEAPPROPERTIES_INVALIDHEAPTYPE\t= ( D3D12_MESSAGE_ID_GETCUSTOMHEAPPROPERTIES_UNRECOGNIZEDHEAPTYPE + 1 ) ,\n        D3D12_MESSAGE_ID_CREATE_DESCRIPTOR_HEAP_INVALID_DESC\t= ( D3D12_MESSAGE_ID_GETCUSTOMHEAPPROPERTIES_INVALIDHEAPTYPE + 1 ) ,\n        D3D12_MESSAGE_ID_INVALID_DESCRIPTOR_HANDLE\t= ( D3D12_MESSAGE_ID_CREATE_DESCRIPTOR_HEAP_INVALID_DESC + 1 ) ,\n        D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALID_CONSERVATIVERASTERMODE\t= ( D3D12_MESSAGE_ID_INVALID_DESCRIPTOR_HANDLE + 1 ) ,\n        D3D12_MESSAGE_ID_DEVICE_DRAW_INVALID_SYSTEMVALUE\t= ( D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALID_CONSERVATIVERASTERMODE + 1 ) ,\n        D3D12_MESSAGE_ID_CREATE_CONSTANT_BUFFER_VIEW_INVALID_RESOURCE\t= ( D3D12_MESSAGE_ID_DEVICE_DRAW_INVALID_SYSTEMVALUE + 1 ) ,\n        D3D12_MESSAGE_ID_CREATE_CONSTANT_BUFFER_VIEW_INVALID_DESC\t= ( D3D12_MESSAGE_ID_CREATE_CONSTANT_BUFFER_VIEW_INVALID_RESOURCE + 1 ) ,\n        D3D12_MESSAGE_ID_CREATE_CONSTANT_BUFFER_VIEW_LARGE_OFFSET\t= ( D3D12_MESSAGE_ID_CREATE_CONSTANT_BUFFER_VIEW_INVALID_DESC + 1 ) ,\n        D3D12_MESSAGE_ID_CREATE_UNORDEREDACCESS_VIEW_INVALID_COUNTER_USAGE\t= ( D3D12_MESSAGE_ID_CREATE_CONSTANT_BUFFER_VIEW_LARGE_OFFSET + 1 ) ,\n        D3D12_MESSAGE_ID_COPY_DESCRIPTORS_INVALID_RANGES\t= ( D3D12_MESSAGE_ID_CREATE_UNORDEREDACCESS_VIEW_INVALID_COUNTER_USAGE + 1 ) ,\n        D3D12_MESSAGE_ID_COPY_DESCRIPTORS_WRITE_ONLY_DESCRIPTOR\t= ( D3D12_MESSAGE_ID_COPY_DESCRIPTORS_INVALID_RANGES + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_RTV_FORMAT_NOT_UNKNOWN\t= ( D3D12_MESSAGE_ID_COPY_DESCRIPTORS_WRITE_ONLY_DESCRIPTOR + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_RENDER_TARGET_COUNT\t= ( D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_RTV_FORMAT_NOT_UNKNOWN + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_VERTEX_SHADER_NOT_SET\t= ( D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_RENDER_TARGET_COUNT + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INPUTLAYOUT_NOT_SET\t= ( D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_VERTEX_SHADER_NOT_SET + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_HS_DS_SIGNATURE_MISMATCH\t= ( D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INPUTLAYOUT_NOT_SET + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_REGISTERINDEX\t= ( D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_HS_DS_SIGNATURE_MISMATCH + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_COMPONENTTYPE\t= ( D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_REGISTERINDEX + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_REGISTERMASK\t= ( D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_COMPONENTTYPE + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_SYSTEMVALUE\t= ( D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_REGISTERMASK + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_NEVERWRITTEN_ALWAYSREADS\t= ( D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_SYSTEMVALUE + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_MINPRECISION\t= ( D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_NEVERWRITTEN_ALWAYSREADS + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_SEMANTICNAME_NOT_FOUND\t= ( D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_MINPRECISION + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HS_XOR_DS_MISMATCH\t= ( D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_SEMANTICNAME_NOT_FOUND + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HULL_SHADER_INPUT_TOPOLOGY_MISMATCH\t= ( D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HS_XOR_DS_MISMATCH + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HS_DS_CONTROL_POINT_COUNT_MISMATCH\t= ( D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HULL_SHADER_INPUT_TOPOLOGY_MISMATCH + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HS_DS_TESSELLATOR_DOMAIN_MISMATCH\t= ( D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HS_DS_CONTROL_POINT_COUNT_MISMATCH + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_USE_OF_CENTER_MULTISAMPLE_PATTERN\t= ( D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HS_DS_TESSELLATOR_DOMAIN_MISMATCH + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_USE_OF_FORCED_SAMPLE_COUNT\t= ( D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_USE_OF_CENTER_MULTISAMPLE_PATTERN + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_PRIMITIVETOPOLOGY\t= ( D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_USE_OF_FORCED_SAMPLE_COUNT + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_SYSTEMVALUE\t= ( D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_PRIMITIVETOPOLOGY + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_OM_DUAL_SOURCE_BLENDING_CAN_ONLY_HAVE_RENDER_TARGET_0\t= ( D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_SYSTEMVALUE + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_OM_RENDER_TARGET_DOES_NOT_SUPPORT_BLENDING\t= ( D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_OM_DUAL_SOURCE_BLENDING_CAN_ONLY_HAVE_RENDER_TARGET_0 + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_PS_OUTPUT_TYPE_MISMATCH\t= ( D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_OM_RENDER_TARGET_DOES_NOT_SUPPORT_BLENDING + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_OM_RENDER_TARGET_DOES_NOT_SUPPORT_LOGIC_OPS\t= ( D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_PS_OUTPUT_TYPE_MISMATCH + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_RENDERTARGETVIEW_NOT_SET\t= ( D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_OM_RENDER_TARGET_DOES_NOT_SUPPORT_LOGIC_OPS + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_DEPTHSTENCILVIEW_NOT_SET\t= ( D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_RENDERTARGETVIEW_NOT_SET + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_GS_INPUT_PRIMITIVE_MISMATCH\t= ( D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_DEPTHSTENCILVIEW_NOT_SET + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_POSITION_NOT_PRESENT\t= ( D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_GS_INPUT_PRIMITIVE_MISMATCH + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_MISSING_ROOT_SIGNATURE_FLAGS\t= ( D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_POSITION_NOT_PRESENT + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_INDEX_BUFFER_PROPERTIES\t= ( D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_MISSING_ROOT_SIGNATURE_FLAGS + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_SAMPLE_DESC\t= ( D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_INDEX_BUFFER_PROPERTIES + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HS_ROOT_SIGNATURE_MISMATCH\t= ( D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_SAMPLE_DESC + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_DS_ROOT_SIGNATURE_MISMATCH\t= ( D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HS_ROOT_SIGNATURE_MISMATCH + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_VS_ROOT_SIGNATURE_MISMATCH\t= ( D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_DS_ROOT_SIGNATURE_MISMATCH + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_GS_ROOT_SIGNATURE_MISMATCH\t= ( D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_VS_ROOT_SIGNATURE_MISMATCH + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_PS_ROOT_SIGNATURE_MISMATCH\t= ( D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_GS_ROOT_SIGNATURE_MISMATCH + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_MISSING_ROOT_SIGNATURE\t= ( D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_PS_ROOT_SIGNATURE_MISMATCH + 1 ) ,\n        D3D12_MESSAGE_ID_EXECUTE_BUNDLE_OPEN_BUNDLE\t= ( D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_MISSING_ROOT_SIGNATURE + 1 ) ,\n        D3D12_MESSAGE_ID_EXECUTE_BUNDLE_DESCRIPTOR_HEAP_MISMATCH\t= ( D3D12_MESSAGE_ID_EXECUTE_BUNDLE_OPEN_BUNDLE + 1 ) ,\n        D3D12_MESSAGE_ID_EXECUTE_BUNDLE_TYPE\t= ( D3D12_MESSAGE_ID_EXECUTE_BUNDLE_DESCRIPTOR_HEAP_MISMATCH + 1 ) ,\n        D3D12_MESSAGE_ID_DRAW_EMPTY_SCISSOR_RECTANGLE\t= ( D3D12_MESSAGE_ID_EXECUTE_BUNDLE_TYPE + 1 ) ,\n        D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_BLOB_NOT_FOUND\t= ( D3D12_MESSAGE_ID_DRAW_EMPTY_SCISSOR_RECTANGLE + 1 ) ,\n        D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_DESERIALIZE_FAILED\t= ( D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_BLOB_NOT_FOUND + 1 ) ,\n        D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_INVALID_CONFIGURATION\t= ( D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_DESERIALIZE_FAILED + 1 ) ,\n        D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_NOT_SUPPORTED_ON_DEVICE\t= ( D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_INVALID_CONFIGURATION + 1 ) ,\n        D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_NULLRESOURCEPROPERTIES\t= ( D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_NOT_SUPPORTED_ON_DEVICE + 1 ) ,\n        D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_NULLHEAP\t= ( D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_NULLRESOURCEPROPERTIES + 1 ) ,\n        D3D12_MESSAGE_ID_GETRESOURCEALLOCATIONINFO_INVALIDRDESCS\t= ( D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_NULLHEAP + 1 ) ,\n        D3D12_MESSAGE_ID_MAKERESIDENT_NULLOBJECTARRAY\t= ( D3D12_MESSAGE_ID_GETRESOURCEALLOCATIONINFO_INVALIDRDESCS + 1 ) ,\n        D3D12_MESSAGE_ID_MAKERESIDENT_INVALIDOBJECT\t= ( D3D12_MESSAGE_ID_MAKERESIDENT_NULLOBJECTARRAY + 1 ) ,\n        D3D12_MESSAGE_ID_EVICT_NULLOBJECTARRAY\t= ( D3D12_MESSAGE_ID_MAKERESIDENT_INVALIDOBJECT + 1 ) ,\n        D3D12_MESSAGE_ID_EVICT_INVALIDOBJECT\t= ( D3D12_MESSAGE_ID_EVICT_NULLOBJECTARRAY + 1 ) ,\n        D3D12_MESSAGE_ID_HEAPS_UNSUPPORTED\t= ( D3D12_MESSAGE_ID_EVICT_INVALIDOBJECT + 1 ) ,\n        D3D12_MESSAGE_ID_SET_DESCRIPTOR_TABLE_INVALID\t= ( D3D12_MESSAGE_ID_HEAPS_UNSUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_SET_ROOT_CONSTANT_INVALID\t= ( D3D12_MESSAGE_ID_SET_DESCRIPTOR_TABLE_INVALID + 1 ) ,\n        D3D12_MESSAGE_ID_SET_ROOT_CONSTANT_BUFFER_VIEW_INVALID\t= ( D3D12_MESSAGE_ID_SET_ROOT_CONSTANT_INVALID + 1 ) ,\n        D3D12_MESSAGE_ID_SET_ROOT_SHADER_RESOURCE_VIEW_INVALID\t= ( D3D12_MESSAGE_ID_SET_ROOT_CONSTANT_BUFFER_VIEW_INVALID + 1 ) ,\n        D3D12_MESSAGE_ID_SET_ROOT_UNORDERED_ACCESS_VIEW_INVALID\t= ( D3D12_MESSAGE_ID_SET_ROOT_SHADER_RESOURCE_VIEW_INVALID + 1 ) ,\n        D3D12_MESSAGE_ID_SET_VERTEX_BUFFERS_INVALID_DESC\t= ( D3D12_MESSAGE_ID_SET_ROOT_UNORDERED_ACCESS_VIEW_INVALID + 1 ) ,\n        D3D12_MESSAGE_ID_SET_VERTEX_BUFFERS_LARGE_OFFSET\t= ( D3D12_MESSAGE_ID_SET_VERTEX_BUFFERS_INVALID_DESC + 1 ) ,\n        D3D12_MESSAGE_ID_SET_INDEX_BUFFER_INVALID_DESC\t= ( D3D12_MESSAGE_ID_SET_VERTEX_BUFFERS_LARGE_OFFSET + 1 ) ,\n        D3D12_MESSAGE_ID_SET_INDEX_BUFFER_LARGE_OFFSET\t= ( D3D12_MESSAGE_ID_SET_INDEX_BUFFER_INVALID_DESC + 1 ) ,\n        D3D12_MESSAGE_ID_SET_STREAM_OUTPUT_BUFFERS_INVALID_DESC\t= ( D3D12_MESSAGE_ID_SET_INDEX_BUFFER_LARGE_OFFSET + 1 ) ,\n        D3D12_MESSAGE_ID_CREATERESOURCE_UNRECOGNIZEDDIMENSIONALITY\t= ( D3D12_MESSAGE_ID_SET_STREAM_OUTPUT_BUFFERS_INVALID_DESC + 1 ) ,\n        D3D12_MESSAGE_ID_CREATERESOURCE_UNRECOGNIZEDLAYOUT\t= ( D3D12_MESSAGE_ID_CREATERESOURCE_UNRECOGNIZEDDIMENSIONALITY + 1 ) ,\n        D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDDIMENSIONALITY\t= ( D3D12_MESSAGE_ID_CREATERESOURCE_UNRECOGNIZEDLAYOUT + 1 ) ,\n        D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDALIGNMENT\t= ( D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDDIMENSIONALITY + 1 ) ,\n        D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDMIPLEVELS\t= ( D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDALIGNMENT + 1 ) ,\n        D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDSAMPLEDESC\t= ( D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDMIPLEVELS + 1 ) ,\n        D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDLAYOUT\t= ( D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDSAMPLEDESC + 1 ) ,\n        D3D12_MESSAGE_ID_SET_INDEX_BUFFER_INVALID\t= ( D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDLAYOUT + 1 ) ,\n        D3D12_MESSAGE_ID_SET_VERTEX_BUFFERS_INVALID\t= ( D3D12_MESSAGE_ID_SET_INDEX_BUFFER_INVALID + 1 ) ,\n        D3D12_MESSAGE_ID_SET_STREAM_OUTPUT_BUFFERS_INVALID\t= ( D3D12_MESSAGE_ID_SET_VERTEX_BUFFERS_INVALID + 1 ) ,\n        D3D12_MESSAGE_ID_SET_RENDER_TARGETS_INVALID\t= ( D3D12_MESSAGE_ID_SET_STREAM_OUTPUT_BUFFERS_INVALID + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEQUERY_HEAP_INVALID_PARAMETERS\t= ( D3D12_MESSAGE_ID_SET_RENDER_TARGETS_INVALID + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEQUERY_HEAP_JPEG_NOT_SUPPORTED\t= ( D3D12_MESSAGE_ID_CREATEQUERY_HEAP_INVALID_PARAMETERS + 1 ) ,\n        D3D12_MESSAGE_ID_BEGIN_END_QUERY_INVALID_PARAMETERS\t= ( D3D12_MESSAGE_ID_CREATEQUERY_HEAP_JPEG_NOT_SUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_CLOSE_COMMAND_LIST_OPEN_QUERY\t= ( D3D12_MESSAGE_ID_BEGIN_END_QUERY_INVALID_PARAMETERS + 1 ) ,\n        D3D12_MESSAGE_ID_RESOLVE_QUERY_DATA_INVALID_PARAMETERS\t= ( D3D12_MESSAGE_ID_CLOSE_COMMAND_LIST_OPEN_QUERY + 1 ) ,\n        D3D12_MESSAGE_ID_SET_PREDICATION_INVALID_PARAMETERS\t= ( D3D12_MESSAGE_ID_RESOLVE_QUERY_DATA_INVALID_PARAMETERS + 1 ) ,\n        D3D12_MESSAGE_ID_TIMESTAMPS_NOT_SUPPORTED\t= ( D3D12_MESSAGE_ID_SET_PREDICATION_INVALID_PARAMETERS + 1 ) ,\n        D3D12_MESSAGE_ID_UNSTABLE_POWER_STATE\t= ( D3D12_MESSAGE_ID_TIMESTAMPS_NOT_SUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_CREATERESOURCE_UNRECOGNIZEDFORMAT\t= ( D3D12_MESSAGE_ID_UNSTABLE_POWER_STATE + 1 ) ,\n        D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDFORMAT\t= ( D3D12_MESSAGE_ID_CREATERESOURCE_UNRECOGNIZEDFORMAT + 1 ) ,\n        D3D12_MESSAGE_ID_GETCOPYABLELAYOUT_INVALIDSUBRESOURCERANGE\t= ( D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDFORMAT + 1 ) ,\n        D3D12_MESSAGE_ID_GETCOPYABLELAYOUT_INVALIDBASEOFFSET\t= ( D3D12_MESSAGE_ID_GETCOPYABLELAYOUT_INVALIDSUBRESOURCERANGE + 1 ) ,\n        D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_HEAP\t= ( D3D12_MESSAGE_ID_GETCOPYABLELAYOUT_INVALIDBASEOFFSET + 1 ) ,\n        D3D12_MESSAGE_ID_CREATE_SAMPLER_INVALID\t= ( D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_HEAP + 1 ) ,\n        D3D12_MESSAGE_ID_CREATECOMMANDSIGNATURE_INVALID\t= ( D3D12_MESSAGE_ID_CREATE_SAMPLER_INVALID + 1 ) ,\n        D3D12_MESSAGE_ID_EXECUTE_INDIRECT_INVALID_PARAMETERS\t= ( D3D12_MESSAGE_ID_CREATECOMMANDSIGNATURE_INVALID + 1 ) ,\n        D3D12_MESSAGE_ID_GETGPUVIRTUALADDRESS_INVALID_RESOURCE_DIMENSION\t= ( D3D12_MESSAGE_ID_EXECUTE_INDIRECT_INVALID_PARAMETERS + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEQUERYORPREDICATE_INVALIDCONTEXTTYPE\t= ( D3D12_MESSAGE_ID_GETGPUVIRTUALADDRESS_INVALID_RESOURCE_DIMENSION + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEQUERYORPREDICATE_DECODENOTSUPPORTED\t= ( D3D12_MESSAGE_ID_CREATEQUERYORPREDICATE_INVALIDCONTEXTTYPE + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEQUERYORPREDICATE_ENCODENOTSUPPORTED\t= ( D3D12_MESSAGE_ID_CREATEQUERYORPREDICATE_DECODENOTSUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDPLANEINDEX\t= ( D3D12_MESSAGE_ID_CREATEQUERYORPREDICATE_ENCODENOTSUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDVIDEOPLANEINDEX\t= ( D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDPLANEINDEX + 1 ) ,\n        D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_AMBIGUOUSVIDEOPLANEINDEX\t= ( D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDVIDEOPLANEINDEX + 1 ) ,\n        D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDPLANEINDEX\t= ( D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_AMBIGUOUSVIDEOPLANEINDEX + 1 ) ,\n        D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDVIDEOPLANEINDEX\t= ( D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDPLANEINDEX + 1 ) ,\n        D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_AMBIGUOUSVIDEOPLANEINDEX\t= ( D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDVIDEOPLANEINDEX + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDPLANEINDEX\t= ( D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_AMBIGUOUSVIDEOPLANEINDEX + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDVIDEOPLANEINDEX\t= ( D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDPLANEINDEX + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_AMBIGUOUSVIDEOPLANEINDEX\t= ( D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDVIDEOPLANEINDEX + 1 ) ,\n        D3D12_MESSAGE_ID_JPEGDECODE_INVALIDSCANDATAOFFSET\t= ( D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_AMBIGUOUSVIDEOPLANEINDEX + 1 ) ,\n        D3D12_MESSAGE_ID_JPEGDECODE_NOTSUPPORTED\t= ( D3D12_MESSAGE_ID_JPEGDECODE_INVALIDSCANDATAOFFSET + 1 ) ,\n        D3D12_MESSAGE_ID_JPEGDECODE_DIMENSIONSTOOLARGE\t= ( D3D12_MESSAGE_ID_JPEGDECODE_NOTSUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_JPEGDECODE_INVALIDCOMPONENTS\t= ( D3D12_MESSAGE_ID_JPEGDECODE_DIMENSIONSTOOLARGE + 1 ) ,\n        D3D12_MESSAGE_ID_JPEGDECODE_UNSUPPORTEDCOMPONENTS\t= ( D3D12_MESSAGE_ID_JPEGDECODE_INVALIDCOMPONENTS + 1 ) ,\n        D3D12_MESSAGE_ID_JPEGDECODE_DESTINATIONNOT2D\t= ( D3D12_MESSAGE_ID_JPEGDECODE_UNSUPPORTEDCOMPONENTS + 1 ) ,\n        D3D12_MESSAGE_ID_JPEGDECODE_TILEDRESOURCESUNSUPPORTED\t= ( D3D12_MESSAGE_ID_JPEGDECODE_DESTINATIONNOT2D + 1 ) ,\n        D3D12_MESSAGE_ID_JPEGDECODE_GUARDRECTSUNSUPPORTED\t= ( D3D12_MESSAGE_ID_JPEGDECODE_TILEDRESOURCESUNSUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_JPEGDECODE_FORMATUNSUPPORTED\t= ( D3D12_MESSAGE_ID_JPEGDECODE_GUARDRECTSUNSUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_JPEGDECODE_INVALIDSUBRESOURCE\t= ( D3D12_MESSAGE_ID_JPEGDECODE_FORMATUNSUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_JPEGDECODE_INVALIDMIPLEVEL\t= ( D3D12_MESSAGE_ID_JPEGDECODE_INVALIDSUBRESOURCE + 1 ) ,\n        D3D12_MESSAGE_ID_JPEGDECODE_EMPTYDESTBOX\t= ( D3D12_MESSAGE_ID_JPEGDECODE_INVALIDMIPLEVEL + 1 ) ,\n        D3D12_MESSAGE_ID_JPEGDECODE_DESTBOXNOT2D\t= ( D3D12_MESSAGE_ID_JPEGDECODE_EMPTYDESTBOX + 1 ) ,\n        D3D12_MESSAGE_ID_JPEGDECODE_DESTBOXNOTSUB\t= ( D3D12_MESSAGE_ID_JPEGDECODE_DESTBOXNOT2D + 1 ) ,\n        D3D12_MESSAGE_ID_JPEGDECODE_DESTBOXESINTERSECT\t= ( D3D12_MESSAGE_ID_JPEGDECODE_DESTBOXNOTSUB + 1 ) ,\n        D3D12_MESSAGE_ID_JPEGDECODE_XSUBSAMPLEMISMATCH\t= ( D3D12_MESSAGE_ID_JPEGDECODE_DESTBOXESINTERSECT + 1 ) ,\n        D3D12_MESSAGE_ID_JPEGDECODE_YSUBSAMPLEMISMATCH\t= ( D3D12_MESSAGE_ID_JPEGDECODE_XSUBSAMPLEMISMATCH + 1 ) ,\n        D3D12_MESSAGE_ID_JPEGDECODE_XSUBSAMPLEODD\t= ( D3D12_MESSAGE_ID_JPEGDECODE_YSUBSAMPLEMISMATCH + 1 ) ,\n        D3D12_MESSAGE_ID_JPEGDECODE_YSUBSAMPLEODD\t= ( D3D12_MESSAGE_ID_JPEGDECODE_XSUBSAMPLEODD + 1 ) ,\n        D3D12_MESSAGE_ID_JPEGDECODE_UPSCALEUNSUPPORTED\t= ( D3D12_MESSAGE_ID_JPEGDECODE_YSUBSAMPLEODD + 1 ) ,\n        D3D12_MESSAGE_ID_JPEGDECODE_TIER4DOWNSCALETOLARGE\t= ( D3D12_MESSAGE_ID_JPEGDECODE_UPSCALEUNSUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_JPEGDECODE_TIER3DOWNSCALEUNSUPPORTED\t= ( D3D12_MESSAGE_ID_JPEGDECODE_TIER4DOWNSCALETOLARGE + 1 ) ,\n        D3D12_MESSAGE_ID_JPEGDECODE_CHROMASIZEMISMATCH\t= ( D3D12_MESSAGE_ID_JPEGDECODE_TIER3DOWNSCALEUNSUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_JPEGDECODE_LUMACHROMASIZEMISMATCH\t= ( D3D12_MESSAGE_ID_JPEGDECODE_CHROMASIZEMISMATCH + 1 ) ,\n        D3D12_MESSAGE_ID_JPEGDECODE_INVALIDNUMDESTINATIONS\t= ( D3D12_MESSAGE_ID_JPEGDECODE_LUMACHROMASIZEMISMATCH + 1 ) ,\n        D3D12_MESSAGE_ID_JPEGDECODE_SUBBOXUNSUPPORTED\t= ( D3D12_MESSAGE_ID_JPEGDECODE_INVALIDNUMDESTINATIONS + 1 ) ,\n        D3D12_MESSAGE_ID_JPEGDECODE_1DESTUNSUPPORTEDFORMAT\t= ( D3D12_MESSAGE_ID_JPEGDECODE_SUBBOXUNSUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_JPEGDECODE_3DESTUNSUPPORTEDFORMAT\t= ( D3D12_MESSAGE_ID_JPEGDECODE_1DESTUNSUPPORTEDFORMAT + 1 ) ,\n        D3D12_MESSAGE_ID_JPEGDECODE_SCALEUNSUPPORTED\t= ( D3D12_MESSAGE_ID_JPEGDECODE_3DESTUNSUPPORTEDFORMAT + 1 ) ,\n        D3D12_MESSAGE_ID_JPEGDECODE_INVALIDSOURCESIZE\t= ( D3D12_MESSAGE_ID_JPEGDECODE_SCALEUNSUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_JPEGDECODE_INVALIDCOPYFLAGS\t= ( D3D12_MESSAGE_ID_JPEGDECODE_INVALIDSOURCESIZE + 1 ) ,\n        D3D12_MESSAGE_ID_JPEGDECODE_HAZARD\t= ( D3D12_MESSAGE_ID_JPEGDECODE_INVALIDCOPYFLAGS + 1 ) ,\n        D3D12_MESSAGE_ID_JPEGDECODE_UNSUPPORTEDSRCBUFFERUSAGE\t= ( D3D12_MESSAGE_ID_JPEGDECODE_HAZARD + 1 ) ,\n        D3D12_MESSAGE_ID_JPEGDECODE_UNSUPPORTEDSRCBUFFERMISCFLAGS\t= ( D3D12_MESSAGE_ID_JPEGDECODE_UNSUPPORTEDSRCBUFFERUSAGE + 1 ) ,\n        D3D12_MESSAGE_ID_JPEGDECODE_UNSUPPORTEDDSTTEXTUREUSAGE\t= ( D3D12_MESSAGE_ID_JPEGDECODE_UNSUPPORTEDSRCBUFFERMISCFLAGS + 1 ) ,\n        D3D12_MESSAGE_ID_JPEGDECODE_BACKBUFFERNOTSUPPORTED\t= ( D3D12_MESSAGE_ID_JPEGDECODE_UNSUPPORTEDDSTTEXTUREUSAGE + 1 ) ,\n        D3D12_MESSAGE_ID_JPEGDECODE_UNSUPPRTEDCOPYFLAGS\t= ( D3D12_MESSAGE_ID_JPEGDECODE_BACKBUFFERNOTSUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_JPEGENCODE_NOTSUPPORTED\t= ( D3D12_MESSAGE_ID_JPEGDECODE_UNSUPPRTEDCOPYFLAGS + 1 ) ,\n        D3D12_MESSAGE_ID_JPEGENCODE_INVALIDSCANDATAOFFSET\t= ( D3D12_MESSAGE_ID_JPEGENCODE_NOTSUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_JPEGENCODE_INVALIDCOMPONENTS\t= ( D3D12_MESSAGE_ID_JPEGENCODE_INVALIDSCANDATAOFFSET + 1 ) ,\n        D3D12_MESSAGE_ID_JPEGENCODE_SOURCENOT2D\t= ( D3D12_MESSAGE_ID_JPEGENCODE_INVALIDCOMPONENTS + 1 ) ,\n        D3D12_MESSAGE_ID_JPEGENCODE_TILEDRESOURCESUNSUPPORTED\t= ( D3D12_MESSAGE_ID_JPEGENCODE_SOURCENOT2D + 1 ) ,\n        D3D12_MESSAGE_ID_JPEGENCODE_GUARDRECTSUNSUPPORTED\t= ( D3D12_MESSAGE_ID_JPEGENCODE_TILEDRESOURCESUNSUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_JPEGENCODE_XSUBSAMPLEMISMATCH\t= ( D3D12_MESSAGE_ID_JPEGENCODE_GUARDRECTSUNSUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_JPEGENCODE_YSUBSAMPLEMISMATCH\t= ( D3D12_MESSAGE_ID_JPEGENCODE_XSUBSAMPLEMISMATCH + 1 ) ,\n        D3D12_MESSAGE_ID_JPEGENCODE_UNSUPPORTEDCOMPONENTS\t= ( D3D12_MESSAGE_ID_JPEGENCODE_YSUBSAMPLEMISMATCH + 1 ) ,\n        D3D12_MESSAGE_ID_JPEGENCODE_FORMATUNSUPPORTED\t= ( D3D12_MESSAGE_ID_JPEGENCODE_UNSUPPORTEDCOMPONENTS + 1 ) ,\n        D3D12_MESSAGE_ID_JPEGENCODE_INVALIDSUBRESOURCE\t= ( D3D12_MESSAGE_ID_JPEGENCODE_FORMATUNSUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_JPEGENCODE_INVALIDMIPLEVEL\t= ( D3D12_MESSAGE_ID_JPEGENCODE_INVALIDSUBRESOURCE + 1 ) ,\n        D3D12_MESSAGE_ID_JPEGENCODE_DIMENSIONSTOOLARGE\t= ( D3D12_MESSAGE_ID_JPEGENCODE_INVALIDMIPLEVEL + 1 ) ,\n        D3D12_MESSAGE_ID_JPEGENCODE_HAZARD\t= ( D3D12_MESSAGE_ID_JPEGENCODE_DIMENSIONSTOOLARGE + 1 ) ,\n        D3D12_MESSAGE_ID_JPEGENCODE_UNSUPPORTEDDSTBUFFERUSAGE\t= ( D3D12_MESSAGE_ID_JPEGENCODE_HAZARD + 1 ) ,\n        D3D12_MESSAGE_ID_JPEGENCODE_UNSUPPORTEDDSTBUFFERMISCFLAGS\t= ( D3D12_MESSAGE_ID_JPEGENCODE_UNSUPPORTEDDSTBUFFERUSAGE + 1 ) ,\n        D3D12_MESSAGE_ID_JPEGENCODE_UNSUPPORTEDSRCTEXTUREUSAGE\t= ( D3D12_MESSAGE_ID_JPEGENCODE_UNSUPPORTEDDSTBUFFERMISCFLAGS + 1 ) ,\n        D3D12_MESSAGE_ID_JPEGENCODE_BACKBUFFERNOTSUPPORTED\t= ( D3D12_MESSAGE_ID_JPEGENCODE_UNSUPPORTEDSRCTEXTUREUSAGE + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEQUERYORPREDICATE_UNSUPPORTEDCONTEXTTTYPEFORQUERY\t= ( D3D12_MESSAGE_ID_JPEGENCODE_BACKBUFFERNOTSUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_FLUSH1_INVALIDCONTEXTTYPE\t= ( D3D12_MESSAGE_ID_CREATEQUERYORPREDICATE_UNSUPPORTEDCONTEXTTTYPEFORQUERY + 1 ) ,\n        D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDCLEARVALUE\t= ( D3D12_MESSAGE_ID_FLUSH1_INVALIDCONTEXTTYPE + 1 ) ,\n        D3D12_MESSAGE_ID_CREATERESOURCE_UNRECOGNIZEDCLEARVALUEFORMAT\t= ( D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDCLEARVALUE + 1 ) ,\n        D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDCLEARVALUEFORMAT\t= ( D3D12_MESSAGE_ID_CREATERESOURCE_UNRECOGNIZEDCLEARVALUEFORMAT + 1 ) ,\n        D3D12_MESSAGE_ID_CREATERESOURCE_CLEARVALUEDENORMFLUSH\t= ( D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDCLEARVALUEFORMAT + 1 ) ,\n        D3D12_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_INVALIDDEPTH\t= ( D3D12_MESSAGE_ID_CREATERESOURCE_CLEARVALUEDENORMFLUSH + 1 ) ,\n        D3D12_MESSAGE_ID_CLEARRENDERTARGETVIEW_MISMATCHINGCLEARVALUE\t= ( D3D12_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_INVALIDDEPTH + 1 ) ,\n        D3D12_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_MISMATCHINGCLEARVALUE\t= ( D3D12_MESSAGE_ID_CLEARRENDERTARGETVIEW_MISMATCHINGCLEARVALUE + 1 ) ,\n        D3D12_MESSAGE_ID_MAP_INVALIDHEAP\t= ( D3D12_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_MISMATCHINGCLEARVALUE + 1 ) ,\n        D3D12_MESSAGE_ID_UNMAP_INVALIDHEAP\t= ( D3D12_MESSAGE_ID_MAP_INVALIDHEAP + 1 ) ,\n        D3D12_MESSAGE_ID_MAP_INVALIDRESOURCE\t= ( D3D12_MESSAGE_ID_UNMAP_INVALIDHEAP + 1 ) ,\n        D3D12_MESSAGE_ID_UNMAP_INVALIDRESOURCE\t= ( D3D12_MESSAGE_ID_MAP_INVALIDRESOURCE + 1 ) ,\n        D3D12_MESSAGE_ID_MAP_INVALIDSUBRESOURCE\t= ( D3D12_MESSAGE_ID_UNMAP_INVALIDRESOURCE + 1 ) ,\n        D3D12_MESSAGE_ID_UNMAP_INVALIDSUBRESOURCE\t= ( D3D12_MESSAGE_ID_MAP_INVALIDSUBRESOURCE + 1 ) ,\n        D3D12_MESSAGE_ID_MAP_INVALIDRANGE\t= ( D3D12_MESSAGE_ID_UNMAP_INVALIDSUBRESOURCE + 1 ) ,\n        D3D12_MESSAGE_ID_UNMAP_INVALIDRANGE\t= ( D3D12_MESSAGE_ID_MAP_INVALIDRANGE + 1 ) ,\n        D3D12_MESSAGE_ID_MAP_NULLRANGE\t= ( D3D12_MESSAGE_ID_UNMAP_INVALIDRANGE + 1 ) ,\n        D3D12_MESSAGE_ID_UNMAP_NULLRANGE\t= ( D3D12_MESSAGE_ID_MAP_NULLRANGE + 1 ) ,\n        D3D12_MESSAGE_ID_MAP_INVALIDDATAPOINTER\t= ( D3D12_MESSAGE_ID_UNMAP_NULLRANGE + 1 ) ,\n        D3D12_MESSAGE_ID_MAP_INVALIDARG_RETURN\t= ( D3D12_MESSAGE_ID_MAP_INVALIDDATAPOINTER + 1 ) ,\n        D3D12_MESSAGE_ID_MAP_OUTOFMEMORY_RETURN\t= ( D3D12_MESSAGE_ID_MAP_INVALIDARG_RETURN + 1 ) ,\n        D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_BUNDLENOTSUPPORTED\t= ( D3D12_MESSAGE_ID_MAP_OUTOFMEMORY_RETURN + 1 ) ,\n        D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_COMMANDLISTMISMATCH\t= ( D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_BUNDLENOTSUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_OPENCOMMANDLIST\t= ( D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_COMMANDLISTMISMATCH + 1 ) ,\n        D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_FAILEDCOMMANDLIST\t= ( D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_OPENCOMMANDLIST + 1 ) ,\n        D3D12_MESSAGE_ID_COPYBUFFERREGION_NULLDST\t= ( D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_FAILEDCOMMANDLIST + 1 ) ,\n        D3D12_MESSAGE_ID_COPYBUFFERREGION_INVALIDDSTRESOURCEDIMENSION\t= ( D3D12_MESSAGE_ID_COPYBUFFERREGION_NULLDST + 1 ) ,\n        D3D12_MESSAGE_ID_COPYBUFFERREGION_DSTRANGEOUTOFBOUNDS\t= ( D3D12_MESSAGE_ID_COPYBUFFERREGION_INVALIDDSTRESOURCEDIMENSION + 1 ) ,\n        D3D12_MESSAGE_ID_COPYBUFFERREGION_NULLSRC\t= ( D3D12_MESSAGE_ID_COPYBUFFERREGION_DSTRANGEOUTOFBOUNDS + 1 ) ,\n        D3D12_MESSAGE_ID_COPYBUFFERREGION_INVALIDSRCRESOURCEDIMENSION\t= ( D3D12_MESSAGE_ID_COPYBUFFERREGION_NULLSRC + 1 ) ,\n        D3D12_MESSAGE_ID_COPYBUFFERREGION_SRCRANGEOUTOFBOUNDS\t= ( D3D12_MESSAGE_ID_COPYBUFFERREGION_INVALIDSRCRESOURCEDIMENSION + 1 ) ,\n        D3D12_MESSAGE_ID_COPYBUFFERREGION_INVALIDCOPYFLAGS\t= ( D3D12_MESSAGE_ID_COPYBUFFERREGION_SRCRANGEOUTOFBOUNDS + 1 ) ,\n        D3D12_MESSAGE_ID_COPYTEXTUREREGION_NULLDST\t= ( D3D12_MESSAGE_ID_COPYBUFFERREGION_INVALIDCOPYFLAGS + 1 ) ,\n        D3D12_MESSAGE_ID_COPYTEXTUREREGION_UNRECOGNIZEDDSTTYPE\t= ( D3D12_MESSAGE_ID_COPYTEXTUREREGION_NULLDST + 1 ) ,\n        D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTRESOURCEDIMENSION\t= ( D3D12_MESSAGE_ID_COPYTEXTUREREGION_UNRECOGNIZEDDSTTYPE + 1 ) ,\n        D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTRESOURCE\t= ( D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTRESOURCEDIMENSION + 1 ) ,\n        D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTSUBRESOURCE\t= ( D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTRESOURCE + 1 ) ,\n        D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTOFFSET\t= ( D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTSUBRESOURCE + 1 ) ,\n        D3D12_MESSAGE_ID_COPYTEXTUREREGION_UNRECOGNIZEDDSTFORMAT\t= ( D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTOFFSET + 1 ) ,\n        D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTFORMAT\t= ( D3D12_MESSAGE_ID_COPYTEXTUREREGION_UNRECOGNIZEDDSTFORMAT + 1 ) ,\n        D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTDIMENSIONS\t= ( D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTFORMAT + 1 ) ,\n        D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTROWPITCH\t= ( D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTDIMENSIONS + 1 ) ,\n        D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTPLACEMENT\t= ( D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTROWPITCH + 1 ) ,\n        D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTDSPLACEDFOOTPRINTFORMAT\t= ( D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTPLACEMENT + 1 ) ,\n        D3D12_MESSAGE_ID_COPYTEXTUREREGION_DSTREGIONOUTOFBOUNDS\t= ( D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTDSPLACEDFOOTPRINTFORMAT + 1 ) ,\n        D3D12_MESSAGE_ID_COPYTEXTUREREGION_NULLSRC\t= ( D3D12_MESSAGE_ID_COPYTEXTUREREGION_DSTREGIONOUTOFBOUNDS + 1 ) ,\n        D3D12_MESSAGE_ID_COPYTEXTUREREGION_UNRECOGNIZEDSRCTYPE\t= ( D3D12_MESSAGE_ID_COPYTEXTUREREGION_NULLSRC + 1 ) ,\n        D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCRESOURCEDIMENSION\t= ( D3D12_MESSAGE_ID_COPYTEXTUREREGION_UNRECOGNIZEDSRCTYPE + 1 ) ,\n        D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCRESOURCE\t= ( D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCRESOURCEDIMENSION + 1 ) ,\n        D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCSUBRESOURCE\t= ( D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCRESOURCE + 1 ) ,\n        D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCOFFSET\t= ( D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCSUBRESOURCE + 1 ) ,\n        D3D12_MESSAGE_ID_COPYTEXTUREREGION_UNRECOGNIZEDSRCFORMAT\t= ( D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCOFFSET + 1 ) ,\n        D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCFORMAT\t= ( D3D12_MESSAGE_ID_COPYTEXTUREREGION_UNRECOGNIZEDSRCFORMAT + 1 ) ,\n        D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCDIMENSIONS\t= ( D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCFORMAT + 1 ) ,\n        D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCROWPITCH\t= ( D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCDIMENSIONS + 1 ) ,\n        D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCPLACEMENT\t= ( D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCROWPITCH + 1 ) ,\n        D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCDSPLACEDFOOTPRINTFORMAT\t= ( D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCPLACEMENT + 1 ) ,\n        D3D12_MESSAGE_ID_COPYTEXTUREREGION_SRCREGIONOUTOFBOUNDS\t= ( D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCDSPLACEDFOOTPRINTFORMAT + 1 ) ,\n        D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTCOORDINATES\t= ( D3D12_MESSAGE_ID_COPYTEXTUREREGION_SRCREGIONOUTOFBOUNDS + 1 ) ,\n        D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCBOX\t= ( D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTCOORDINATES + 1 ) ,\n        D3D12_MESSAGE_ID_COPYTEXTUREREGION_FORMATMISMATCH\t= ( D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCBOX + 1 ) ,\n        D3D12_MESSAGE_ID_COPYTEXTUREREGION_EMPTYBOX\t= ( D3D12_MESSAGE_ID_COPYTEXTUREREGION_FORMATMISMATCH + 1 ) ,\n        D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDCOPYFLAGS\t= ( D3D12_MESSAGE_ID_COPYTEXTUREREGION_EMPTYBOX + 1 ) ,\n        D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALID_SUBRESOURCE_INDEX\t= ( D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDCOPYFLAGS + 1 ) ,\n        D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALID_FORMAT\t= ( D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALID_SUBRESOURCE_INDEX + 1 ) ,\n        D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_RESOURCE_MISMATCH\t= ( D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALID_FORMAT + 1 ) ,\n        D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALID_SAMPLE_COUNT\t= ( D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_RESOURCE_MISMATCH + 1 ) ,\n        D3D12_MESSAGE_ID_CREATECOMPUTEPIPELINESTATE_INVALID_SHADER\t= ( D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALID_SAMPLE_COUNT + 1 ) ,\n        D3D12_MESSAGE_ID_CREATECOMPUTEPIPELINESTATE_CS_ROOT_SIGNATURE_MISMATCH\t= ( D3D12_MESSAGE_ID_CREATECOMPUTEPIPELINESTATE_INVALID_SHADER + 1 ) ,\n        D3D12_MESSAGE_ID_CREATECOMPUTEPIPELINESTATE_MISSING_ROOT_SIGNATURE\t= ( D3D12_MESSAGE_ID_CREATECOMPUTEPIPELINESTATE_CS_ROOT_SIGNATURE_MISMATCH + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEPIPELINESTATE_INVALIDCACHEDBLOB\t= ( D3D12_MESSAGE_ID_CREATECOMPUTEPIPELINESTATE_MISSING_ROOT_SIGNATURE + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CACHEDBLOBADAPTERMISMATCH\t= ( D3D12_MESSAGE_ID_CREATEPIPELINESTATE_INVALIDCACHEDBLOB + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CACHEDBLOBDRIVERVERSIONMISMATCH\t= ( D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CACHEDBLOBADAPTERMISMATCH + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CACHEDBLOBDESCMISMATCH\t= ( D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CACHEDBLOBDRIVERVERSIONMISMATCH + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CACHEDBLOBIGNORED\t= ( D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CACHEDBLOBDESCMISMATCH + 1 ) ,\n        D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_INVALIDHEAP\t= ( D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CACHEDBLOBIGNORED + 1 ) ,\n        D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_INVALIDRESOURCE\t= ( D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_INVALIDHEAP + 1 ) ,\n        D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_INVALIDBOX\t= ( D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_INVALIDRESOURCE + 1 ) ,\n        D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_INVALIDSUBRESOURCE\t= ( D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_INVALIDBOX + 1 ) ,\n        D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_EMPTYBOX\t= ( D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_INVALIDSUBRESOURCE + 1 ) ,\n        D3D12_MESSAGE_ID_READFROMSUBRESOURCE_INVALIDHEAP\t= ( D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_EMPTYBOX + 1 ) ,\n        D3D12_MESSAGE_ID_READFROMSUBRESOURCE_INVALIDRESOURCE\t= ( D3D12_MESSAGE_ID_READFROMSUBRESOURCE_INVALIDHEAP + 1 ) ,\n        D3D12_MESSAGE_ID_READFROMSUBRESOURCE_INVALIDBOX\t= ( D3D12_MESSAGE_ID_READFROMSUBRESOURCE_INVALIDRESOURCE + 1 ) ,\n        D3D12_MESSAGE_ID_READFROMSUBRESOURCE_INVALIDSUBRESOURCE\t= ( D3D12_MESSAGE_ID_READFROMSUBRESOURCE_INVALIDBOX + 1 ) ,\n        D3D12_MESSAGE_ID_READFROMSUBRESOURCE_EMPTYBOX\t= ( D3D12_MESSAGE_ID_READFROMSUBRESOURCE_INVALIDSUBRESOURCE + 1 ) ,\n        D3D12_MESSAGE_ID_TOO_MANY_NODES_SPECIFIED\t= ( D3D12_MESSAGE_ID_READFROMSUBRESOURCE_EMPTYBOX + 1 ) ,\n        D3D12_MESSAGE_ID_INVALID_NODE_INDEX\t= ( D3D12_MESSAGE_ID_TOO_MANY_NODES_SPECIFIED + 1 ) ,\n        D3D12_MESSAGE_ID_GETHEAPPROPERTIES_INVALIDRESOURCE\t= ( D3D12_MESSAGE_ID_INVALID_NODE_INDEX + 1 ) ,\n        D3D12_MESSAGE_ID_NODE_MASK_MISMATCH\t= ( D3D12_MESSAGE_ID_GETHEAPPROPERTIES_INVALIDRESOURCE + 1 ) ,\n        D3D12_MESSAGE_ID_COMMAND_LIST_OUTOFMEMORY\t= ( D3D12_MESSAGE_ID_NODE_MASK_MISMATCH + 1 ) ,\n        D3D12_MESSAGE_ID_COMMAND_LIST_MULTIPLE_SWAPCHAIN_BUFFER_REFERENCES\t= ( D3D12_MESSAGE_ID_COMMAND_LIST_OUTOFMEMORY + 1 ) ,\n        D3D12_MESSAGE_ID_COMMAND_LIST_TOO_MANY_SWAPCHAIN_REFERENCES\t= ( D3D12_MESSAGE_ID_COMMAND_LIST_MULTIPLE_SWAPCHAIN_BUFFER_REFERENCES + 1 ) ,\n        D3D12_MESSAGE_ID_COMMAND_QUEUE_TOO_MANY_SWAPCHAIN_REFERENCES\t= ( D3D12_MESSAGE_ID_COMMAND_LIST_TOO_MANY_SWAPCHAIN_REFERENCES + 1 ) ,\n        D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_WRONGSWAPCHAINBUFFERREFERENCE\t= ( D3D12_MESSAGE_ID_COMMAND_QUEUE_TOO_MANY_SWAPCHAIN_REFERENCES + 1 ) ,\n        D3D12_MESSAGE_ID_COMMAND_LIST_SETRENDERTARGETS_INVALIDNUMRENDERTARGETS\t= ( D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_WRONGSWAPCHAINBUFFERREFERENCE + 1 ) ,\n        D3D12_MESSAGE_ID_CREATE_QUEUE_INVALID_TYPE\t= ( D3D12_MESSAGE_ID_COMMAND_LIST_SETRENDERTARGETS_INVALIDNUMRENDERTARGETS + 1 ) ,\n        D3D12_MESSAGE_ID_CREATE_QUEUE_INVALID_FLAGS\t= ( D3D12_MESSAGE_ID_CREATE_QUEUE_INVALID_TYPE + 1 ) ,\n        D3D12_MESSAGE_ID_CREATESHAREDRESOURCE_INVALIDFLAGS\t= ( D3D12_MESSAGE_ID_CREATE_QUEUE_INVALID_FLAGS + 1 ) ,\n        D3D12_MESSAGE_ID_CREATESHAREDRESOURCE_INVALIDFORMAT\t= ( D3D12_MESSAGE_ID_CREATESHAREDRESOURCE_INVALIDFLAGS + 1 ) ,\n        D3D12_MESSAGE_ID_CREATESHAREDHEAP_INVALIDFLAGS\t= ( D3D12_MESSAGE_ID_CREATESHAREDRESOURCE_INVALIDFORMAT + 1 ) ,\n        D3D12_MESSAGE_ID_REFLECTSHAREDPROPERTIES_UNRECOGNIZEDPROPERTIES\t= ( D3D12_MESSAGE_ID_CREATESHAREDHEAP_INVALIDFLAGS + 1 ) ,\n        D3D12_MESSAGE_ID_REFLECTSHAREDPROPERTIES_INVALIDSIZE\t= ( D3D12_MESSAGE_ID_REFLECTSHAREDPROPERTIES_UNRECOGNIZEDPROPERTIES + 1 ) ,\n        D3D12_MESSAGE_ID_REFLECTSHAREDPROPERTIES_INVALIDOBJECT\t= ( D3D12_MESSAGE_ID_REFLECTSHAREDPROPERTIES_INVALIDSIZE + 1 ) ,\n        D3D12_MESSAGE_ID_KEYEDMUTEX_INVALIDOBJECT\t= ( D3D12_MESSAGE_ID_REFLECTSHAREDPROPERTIES_INVALIDOBJECT + 1 ) ,\n        D3D12_MESSAGE_ID_KEYEDMUTEX_INVALIDKEY\t= ( D3D12_MESSAGE_ID_KEYEDMUTEX_INVALIDOBJECT + 1 ) ,\n        D3D12_MESSAGE_ID_KEYEDMUTEX_WRONGSTATE\t= ( D3D12_MESSAGE_ID_KEYEDMUTEX_INVALIDKEY + 1 ) ,\n        D3D12_MESSAGE_ID_CREATE_QUEUE_INVALID_PRIORITY\t= ( D3D12_MESSAGE_ID_KEYEDMUTEX_WRONGSTATE + 1 ) ,\n        D3D12_MESSAGE_ID_OBJECT_DELETED_WHILE_STILL_IN_USE\t= ( D3D12_MESSAGE_ID_CREATE_QUEUE_INVALID_PRIORITY + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEPIPELINESTATE_INVALID_FLAGS\t= ( D3D12_MESSAGE_ID_OBJECT_DELETED_WHILE_STILL_IN_USE + 1 ) ,\n        D3D12_MESSAGE_ID_HEAP_ADDRESS_RANGE_HAS_NO_RESOURCE\t= ( D3D12_MESSAGE_ID_CREATEPIPELINESTATE_INVALID_FLAGS + 1 ) ,\n        D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_RENDER_TARGET_DELETED\t= ( D3D12_MESSAGE_ID_HEAP_ADDRESS_RANGE_HAS_NO_RESOURCE + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_ALL_RENDER_TARGETS_HAVE_UNKNOWN_FORMAT\t= ( D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_RENDER_TARGET_DELETED + 1 ) ,\n        D3D12_MESSAGE_ID_HEAP_ADDRESS_RANGE_INTERSECTS_MULTIPLE_BUFFERS\t= ( D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_ALL_RENDER_TARGETS_HAVE_UNKNOWN_FORMAT + 1 ) ,\n        D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_GPU_WRITTEN_READBACK_RESOURCE_MAPPED\t= ( D3D12_MESSAGE_ID_HEAP_ADDRESS_RANGE_INTERSECTS_MULTIPLE_BUFFERS + 1 ) ,\n        D3D12_MESSAGE_ID_UNMAP_RANGE_NOT_NEEDED\t= ( D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_GPU_WRITTEN_READBACK_RESOURCE_MAPPED + 1 ) ,\n        D3D12_MESSAGE_ID_UNMAP_RANGE_NOT_EMPTY\t= ( D3D12_MESSAGE_ID_UNMAP_RANGE_NOT_NEEDED + 1 ) ,\n        D3D12_MESSAGE_ID_MAP_INVALID_NULLRANGE\t= ( D3D12_MESSAGE_ID_UNMAP_RANGE_NOT_EMPTY + 1 ) ,\n        D3D12_MESSAGE_ID_UNMAP_INVALID_NULLRANGE\t= ( D3D12_MESSAGE_ID_MAP_INVALID_NULLRANGE + 1 ) ,\n        D3D12_MESSAGE_ID_NO_GRAPHICS_API_SUPPORT\t= ( D3D12_MESSAGE_ID_UNMAP_INVALID_NULLRANGE + 1 ) ,\n        D3D12_MESSAGE_ID_NO_COMPUTE_API_SUPPORT\t= ( D3D12_MESSAGE_ID_NO_GRAPHICS_API_SUPPORT + 1 ) ,\n        D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_RESOURCE_FLAGS_NOT_SUPPORTED\t= ( D3D12_MESSAGE_ID_NO_COMPUTE_API_SUPPORT + 1 ) ,\n        D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_ROOT_ARGUMENT_UNINITIALIZED\t= ( D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_RESOURCE_FLAGS_NOT_SUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_HEAP_INDEX_OUT_OF_BOUNDS\t= ( D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_ROOT_ARGUMENT_UNINITIALIZED + 1 ) ,\n        D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_TABLE_REGISTER_INDEX_OUT_OF_BOUNDS\t= ( D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_HEAP_INDEX_OUT_OF_BOUNDS + 1 ) ,\n        D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_UNINITIALIZED\t= ( D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_TABLE_REGISTER_INDEX_OUT_OF_BOUNDS + 1 ) ,\n        D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_TYPE_MISMATCH\t= ( D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_UNINITIALIZED + 1 ) ,\n        D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_SRV_RESOURCE_DIMENSION_MISMATCH\t= ( D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_TYPE_MISMATCH + 1 ) ,\n        D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_UAV_RESOURCE_DIMENSION_MISMATCH\t= ( D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_SRV_RESOURCE_DIMENSION_MISMATCH + 1 ) ,\n        D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_INCOMPATIBLE_RESOURCE_STATE\t= ( D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_UAV_RESOURCE_DIMENSION_MISMATCH + 1 ) ,\n        D3D12_MESSAGE_ID_COPYRESOURCE_NULLDST\t= ( D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_INCOMPATIBLE_RESOURCE_STATE + 1 ) ,\n        D3D12_MESSAGE_ID_COPYRESOURCE_INVALIDDSTRESOURCE\t= ( D3D12_MESSAGE_ID_COPYRESOURCE_NULLDST + 1 ) ,\n        D3D12_MESSAGE_ID_COPYRESOURCE_NULLSRC\t= ( D3D12_MESSAGE_ID_COPYRESOURCE_INVALIDDSTRESOURCE + 1 ) ,\n        D3D12_MESSAGE_ID_COPYRESOURCE_INVALIDSRCRESOURCE\t= ( D3D12_MESSAGE_ID_COPYRESOURCE_NULLSRC + 1 ) ,\n        D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_NULLDST\t= ( D3D12_MESSAGE_ID_COPYRESOURCE_INVALIDSRCRESOURCE + 1 ) ,\n        D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALIDDSTRESOURCE\t= ( D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_NULLDST + 1 ) ,\n        D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_NULLSRC\t= ( D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALIDDSTRESOURCE + 1 ) ,\n        D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALIDSRCRESOURCE\t= ( D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_NULLSRC + 1 ) ,\n        D3D12_MESSAGE_ID_PIPELINE_STATE_TYPE_MISMATCH\t= ( D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALIDSRCRESOURCE + 1 ) ,\n        D3D12_MESSAGE_ID_COMMAND_LIST_DISPATCH_ROOT_SIGNATURE_NOT_SET\t= ( D3D12_MESSAGE_ID_PIPELINE_STATE_TYPE_MISMATCH + 1 ) ,\n        D3D12_MESSAGE_ID_COMMAND_LIST_DISPATCH_ROOT_SIGNATURE_MISMATCH\t= ( D3D12_MESSAGE_ID_COMMAND_LIST_DISPATCH_ROOT_SIGNATURE_NOT_SET + 1 ) ,\n        D3D12_MESSAGE_ID_RESOURCE_BARRIER_ZERO_BARRIERS\t= ( D3D12_MESSAGE_ID_COMMAND_LIST_DISPATCH_ROOT_SIGNATURE_MISMATCH + 1 ) ,\n        D3D12_MESSAGE_ID_BEGIN_END_EVENT_MISMATCH\t= ( D3D12_MESSAGE_ID_RESOURCE_BARRIER_ZERO_BARRIERS + 1 ) ,\n        D3D12_MESSAGE_ID_RESOURCE_BARRIER_POSSIBLE_BEFORE_AFTER_MISMATCH\t= ( D3D12_MESSAGE_ID_BEGIN_END_EVENT_MISMATCH + 1 ) ,\n        D3D12_MESSAGE_ID_RESOURCE_BARRIER_MISMATCHING_BEGIN_END\t= ( D3D12_MESSAGE_ID_RESOURCE_BARRIER_POSSIBLE_BEFORE_AFTER_MISMATCH + 1 ) ,\n        D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_INVALID_RESOURCE\t= ( D3D12_MESSAGE_ID_RESOURCE_BARRIER_MISMATCHING_BEGIN_END + 1 ) ,\n        D3D12_MESSAGE_ID_USE_OF_ZERO_REFCOUNT_OBJECT\t= ( D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_INVALID_RESOURCE + 1 ) ,\n        D3D12_MESSAGE_ID_OBJECT_EVICTED_WHILE_STILL_IN_USE\t= ( D3D12_MESSAGE_ID_USE_OF_ZERO_REFCOUNT_OBJECT + 1 ) ,\n        D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_ROOT_DESCRIPTOR_ACCESS_OUT_OF_BOUNDS\t= ( D3D12_MESSAGE_ID_OBJECT_EVICTED_WHILE_STILL_IN_USE + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_INVALIDLIBRARYBLOB\t= ( D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_ROOT_DESCRIPTOR_ACCESS_OUT_OF_BOUNDS + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_DRIVERVERSIONMISMATCH\t= ( D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_INVALIDLIBRARYBLOB + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_ADAPTERVERSIONMISMATCH\t= ( D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_DRIVERVERSIONMISMATCH + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_UNSUPPORTED\t= ( D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_ADAPTERVERSIONMISMATCH + 1 ) ,\n        D3D12_MESSAGE_ID_CREATE_PIPELINELIBRARY\t= ( D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_UNSUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_LIVE_PIPELINELIBRARY\t= ( D3D12_MESSAGE_ID_CREATE_PIPELINELIBRARY + 1 ) ,\n        D3D12_MESSAGE_ID_DESTROY_PIPELINELIBRARY\t= ( D3D12_MESSAGE_ID_LIVE_PIPELINELIBRARY + 1 ) ,\n        D3D12_MESSAGE_ID_STOREPIPELINE_NONAME\t= ( D3D12_MESSAGE_ID_DESTROY_PIPELINELIBRARY + 1 ) ,\n        D3D12_MESSAGE_ID_STOREPIPELINE_DUPLICATENAME\t= ( D3D12_MESSAGE_ID_STOREPIPELINE_NONAME + 1 ) ,\n        D3D12_MESSAGE_ID_LOADPIPELINE_NAMENOTFOUND\t= ( D3D12_MESSAGE_ID_STOREPIPELINE_DUPLICATENAME + 1 ) ,\n        D3D12_MESSAGE_ID_LOADPIPELINE_INVALIDDESC\t= ( D3D12_MESSAGE_ID_LOADPIPELINE_NAMENOTFOUND + 1 ) ,\n        D3D12_MESSAGE_ID_PIPELINELIBRARY_SERIALIZE_NOTENOUGHMEMORY\t= ( D3D12_MESSAGE_ID_LOADPIPELINE_INVALIDDESC + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_PS_OUTPUT_RT_OUTPUT_MISMATCH\t= ( D3D12_MESSAGE_ID_PIPELINELIBRARY_SERIALIZE_NOTENOUGHMEMORY + 1 ) ,\n        D3D12_MESSAGE_ID_SETEVENTONMULTIPLEFENCECOMPLETION_INVALIDFLAGS\t= ( D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_PS_OUTPUT_RT_OUTPUT_MISMATCH + 1 ) ,\n        D3D12_MESSAGE_ID_CREATE_QUEUE_VIDEO_NOT_SUPPORTED\t= ( D3D12_MESSAGE_ID_SETEVENTONMULTIPLEFENCECOMPLETION_INVALIDFLAGS + 1 ) ,\n        D3D12_MESSAGE_ID_CREATE_COMMAND_ALLOCATOR_VIDEO_NOT_SUPPORTED\t= ( D3D12_MESSAGE_ID_CREATE_QUEUE_VIDEO_NOT_SUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_CREATEQUERY_HEAP_VIDEO_DECODE_STATISTICS_NOT_SUPPORTED\t= ( D3D12_MESSAGE_ID_CREATE_COMMAND_ALLOCATOR_VIDEO_NOT_SUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_CREATE_VIDEOCOMMANDLIST\t= ( D3D12_MESSAGE_ID_CREATEQUERY_HEAP_VIDEO_DECODE_STATISTICS_NOT_SUPPORTED + 1 ) ,\n        D3D12_MESSAGE_ID_CREATE_VIDEODECODER\t= ( D3D12_MESSAGE_ID_CREATE_VIDEOCOMMANDLIST + 1 ) ,\n        D3D12_MESSAGE_ID_CREATE_VIDEODECODESTREAM\t= ( D3D12_MESSAGE_ID_CREATE_VIDEODECODER + 1 ) ,\n        D3D12_MESSAGE_ID_LIVE_VIDEOCOMMANDLIST\t= ( D3D12_MESSAGE_ID_CREATE_VIDEODECODESTREAM + 1 ) ,\n        D3D12_MESSAGE_ID_LIVE_VIDEODECODER\t= ( D3D12_MESSAGE_ID_LIVE_VIDEOCOMMANDLIST + 1 ) ,\n        D3D12_MESSAGE_ID_LIVE_VIDEODECODESTREAM\t= ( D3D12_MESSAGE_ID_LIVE_VIDEODECODER + 1 ) ,\n        D3D12_MESSAGE_ID_DESTROY_VIDEOCOMMANDLIST\t= ( D3D12_MESSAGE_ID_LIVE_VIDEODECODESTREAM + 1 ) ,\n        D3D12_MESSAGE_ID_DESTROY_VIDEODECODER\t= ( D3D12_MESSAGE_ID_DESTROY_VIDEOCOMMANDLIST + 1 ) ,\n        D3D12_MESSAGE_ID_DESTROY_VIDEODECODESTREAM\t= ( D3D12_MESSAGE_ID_DESTROY_VIDEODECODER + 1 ) ,\n        D3D12_MESSAGE_ID_DECODE_FRAME_INVALID_PARAMETERS\t= ( D3D12_MESSAGE_ID_DESTROY_VIDEODECODESTREAM + 1 ) ,\n        D3D12_MESSAGE_ID_DEPRECATED_API\t= ( D3D12_MESSAGE_ID_DECODE_FRAME_INVALID_PARAMETERS + 1 ) ,\n        D3D12_MESSAGE_ID_RESOURCE_BARRIER_MISMATCHING_COMMAND_LIST_TYPE\t= ( D3D12_MESSAGE_ID_DEPRECATED_API + 1 ) ,\n        D3D12_MESSAGE_ID_COMMAND_LIST_DESCRIPTOR_TABLE_NOT_SET\t= ( D3D12_MESSAGE_ID_RESOURCE_BARRIER_MISMATCHING_COMMAND_LIST_TYPE + 1 ) ,\n        D3D12_MESSAGE_ID_COMMAND_LIST_ROOT_CONSTANT_BUFFER_VIEW_NOT_SET\t= ( D3D12_MESSAGE_ID_COMMAND_LIST_DESCRIPTOR_TABLE_NOT_SET + 1 ) ,\n        D3D12_MESSAGE_ID_COMMAND_LIST_ROOT_SHADER_RESOURCE_VIEW_NOT_SET\t= ( D3D12_MESSAGE_ID_COMMAND_LIST_ROOT_CONSTANT_BUFFER_VIEW_NOT_SET + 1 ) ,\n        D3D12_MESSAGE_ID_COMMAND_LIST_ROOT_UNORDERED_ACCESS_VIEW_NOT_SET\t= ( D3D12_MESSAGE_ID_COMMAND_LIST_ROOT_SHADER_RESOURCE_VIEW_NOT_SET + 1 ) ,\n        D3D12_MESSAGE_ID_DISCARD_INVALID_SUBRESOURCE_RANGE\t= ( D3D12_MESSAGE_ID_COMMAND_LIST_ROOT_UNORDERED_ACCESS_VIEW_NOT_SET + 1 ) ,\n        D3D12_MESSAGE_ID_DISCARD_ONE_SUBRESOURCE_FOR_MIPS_WITH_RECTS\t= ( D3D12_MESSAGE_ID_DISCARD_INVALID_SUBRESOURCE_RANGE + 1 ) ,\n        D3D12_MESSAGE_ID_DISCARD_NO_RECTS_FOR_NON_TEXTURE2D\t= ( D3D12_MESSAGE_ID_DISCARD_ONE_SUBRESOURCE_FOR_MIPS_WITH_RECTS + 1 ) ,\n        D3D12_MESSAGE_ID_COPY_ON_SAME_SUBRESOURCE\t= ( D3D12_MESSAGE_ID_DISCARD_NO_RECTS_FOR_NON_TEXTURE2D + 1 ) ,\n        D3D12_MESSAGE_ID_SETRESIDENCYPRIORITY_INVALID_PAGEABLE\t= ( D3D12_MESSAGE_ID_COPY_ON_SAME_SUBRESOURCE + 1 ) ,\n        D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_UNSUPPORTED\t= ( D3D12_MESSAGE_ID_SETRESIDENCYPRIORITY_INVALID_PAGEABLE + 1 ) ,\n        D3D12_MESSAGE_ID_D3D12_MESSAGES_END\t= ( D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_UNSUPPORTED + 1 ) \n    } \tD3D12_MESSAGE_ID;\n\ntypedef struct D3D12_MESSAGE\n    {\n    D3D12_MESSAGE_CATEGORY Category;\n    D3D12_MESSAGE_SEVERITY Severity;\n    D3D12_MESSAGE_ID ID;\n    _Field_size_(DescriptionByteLength)  const char *pDescription;\n    SIZE_T DescriptionByteLength;\n    } \tD3D12_MESSAGE;\n\ntypedef struct D3D12_INFO_QUEUE_FILTER_DESC\n    {\n    UINT NumCategories;\n    _Field_size_(NumCategories)  D3D12_MESSAGE_CATEGORY *pCategoryList;\n    UINT NumSeverities;\n    _Field_size_(NumSeverities)  D3D12_MESSAGE_SEVERITY *pSeverityList;\n    UINT NumIDs;\n    _Field_size_(NumIDs)  D3D12_MESSAGE_ID *pIDList;\n    } \tD3D12_INFO_QUEUE_FILTER_DESC;\n\ntypedef struct D3D12_INFO_QUEUE_FILTER\n    {\n    D3D12_INFO_QUEUE_FILTER_DESC AllowList;\n    D3D12_INFO_QUEUE_FILTER_DESC DenyList;\n    } \tD3D12_INFO_QUEUE_FILTER;\n\n#define D3D12_INFO_QUEUE_DEFAULT_MESSAGE_COUNT_LIMIT 1024\n\n\nextern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0007_v0_0_c_ifspec;\nextern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0007_v0_0_s_ifspec;\n\n#ifndef __ID3D12InfoQueue_INTERFACE_DEFINED__\n#define __ID3D12InfoQueue_INTERFACE_DEFINED__\n\n/* interface ID3D12InfoQueue */\n/* [unique][local][object][uuid] */ \n\n\nEXTERN_C const IID IID_ID3D12InfoQueue;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"0742a90b-c387-483f-b946-30a7e4e61458\")\n    ID3D12InfoQueue : public IUnknown\n    {\n    public:\n        virtual HRESULT STDMETHODCALLTYPE SetMessageCountLimit( \n            _In_  UINT64 MessageCountLimit) = 0;\n        \n        virtual void STDMETHODCALLTYPE ClearStoredMessages( void) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE GetMessage( \n            _In_  UINT64 MessageIndex,\n            _Out_writes_bytes_opt_(*pMessageByteLength)  D3D12_MESSAGE *pMessage,\n            _Inout_  SIZE_T *pMessageByteLength) = 0;\n        \n        virtual UINT64 STDMETHODCALLTYPE GetNumMessagesAllowedByStorageFilter( void) = 0;\n        \n        virtual UINT64 STDMETHODCALLTYPE GetNumMessagesDeniedByStorageFilter( void) = 0;\n        \n        virtual UINT64 STDMETHODCALLTYPE GetNumStoredMessages( void) = 0;\n        \n        virtual UINT64 STDMETHODCALLTYPE GetNumStoredMessagesAllowedByRetrievalFilter( void) = 0;\n        \n        virtual UINT64 STDMETHODCALLTYPE GetNumMessagesDiscardedByMessageCountLimit( void) = 0;\n        \n        virtual UINT64 STDMETHODCALLTYPE GetMessageCountLimit( void) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE AddStorageFilterEntries( \n            _In_  D3D12_INFO_QUEUE_FILTER *pFilter) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE GetStorageFilter( \n            _Out_writes_bytes_opt_(*pFilterByteLength)  D3D12_INFO_QUEUE_FILTER *pFilter,\n            _Inout_  SIZE_T *pFilterByteLength) = 0;\n        \n        virtual void STDMETHODCALLTYPE ClearStorageFilter( void) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE PushEmptyStorageFilter( void) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE PushCopyOfStorageFilter( void) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE PushStorageFilter( \n            _In_  D3D12_INFO_QUEUE_FILTER *pFilter) = 0;\n        \n        virtual void STDMETHODCALLTYPE PopStorageFilter( void) = 0;\n        \n        virtual UINT STDMETHODCALLTYPE GetStorageFilterStackSize( void) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE AddRetrievalFilterEntries( \n            _In_  D3D12_INFO_QUEUE_FILTER *pFilter) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE GetRetrievalFilter( \n            _Out_writes_bytes_opt_(*pFilterByteLength)  D3D12_INFO_QUEUE_FILTER *pFilter,\n            _Inout_  SIZE_T *pFilterByteLength) = 0;\n        \n        virtual void STDMETHODCALLTYPE ClearRetrievalFilter( void) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE PushEmptyRetrievalFilter( void) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE PushCopyOfRetrievalFilter( void) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE PushRetrievalFilter( \n            _In_  D3D12_INFO_QUEUE_FILTER *pFilter) = 0;\n        \n        virtual void STDMETHODCALLTYPE PopRetrievalFilter( void) = 0;\n        \n        virtual UINT STDMETHODCALLTYPE GetRetrievalFilterStackSize( void) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE AddMessage( \n            _In_  D3D12_MESSAGE_CATEGORY Category,\n            _In_  D3D12_MESSAGE_SEVERITY Severity,\n            _In_  D3D12_MESSAGE_ID ID,\n            _In_  LPCSTR pDescription) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE AddApplicationMessage( \n            _In_  D3D12_MESSAGE_SEVERITY Severity,\n            _In_  LPCSTR pDescription) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE SetBreakOnCategory( \n            _In_  D3D12_MESSAGE_CATEGORY Category,\n            _In_  BOOL bEnable) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE SetBreakOnSeverity( \n            _In_  D3D12_MESSAGE_SEVERITY Severity,\n            _In_  BOOL bEnable) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE SetBreakOnID( \n            _In_  D3D12_MESSAGE_ID ID,\n            _In_  BOOL bEnable) = 0;\n        \n        virtual BOOL STDMETHODCALLTYPE GetBreakOnCategory( \n            _In_  D3D12_MESSAGE_CATEGORY Category) = 0;\n        \n        virtual BOOL STDMETHODCALLTYPE GetBreakOnSeverity( \n            _In_  D3D12_MESSAGE_SEVERITY Severity) = 0;\n        \n        virtual BOOL STDMETHODCALLTYPE GetBreakOnID( \n            _In_  D3D12_MESSAGE_ID ID) = 0;\n        \n        virtual void STDMETHODCALLTYPE SetMuteDebugOutput( \n            _In_  BOOL bMute) = 0;\n        \n        virtual BOOL STDMETHODCALLTYPE GetMuteDebugOutput( void) = 0;\n        \n    };\n    \n    \n#else \t/* C style interface */\n\n    typedef struct ID3D12InfoQueueVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            ID3D12InfoQueue * This,\n            REFIID riid,\n            _COM_Outptr_  void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            ID3D12InfoQueue * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            ID3D12InfoQueue * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetMessageCountLimit )( \n            ID3D12InfoQueue * This,\n            _In_  UINT64 MessageCountLimit);\n        \n        void ( STDMETHODCALLTYPE *ClearStoredMessages )( \n            ID3D12InfoQueue * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetMessage )( \n            ID3D12InfoQueue * This,\n            _In_  UINT64 MessageIndex,\n            _Out_writes_bytes_opt_(*pMessageByteLength)  D3D12_MESSAGE *pMessage,\n            _Inout_  SIZE_T *pMessageByteLength);\n        \n        UINT64 ( STDMETHODCALLTYPE *GetNumMessagesAllowedByStorageFilter )( \n            ID3D12InfoQueue * This);\n        \n        UINT64 ( STDMETHODCALLTYPE *GetNumMessagesDeniedByStorageFilter )( \n            ID3D12InfoQueue * This);\n        \n        UINT64 ( STDMETHODCALLTYPE *GetNumStoredMessages )( \n            ID3D12InfoQueue * This);\n        \n        UINT64 ( STDMETHODCALLTYPE *GetNumStoredMessagesAllowedByRetrievalFilter )( \n            ID3D12InfoQueue * This);\n        \n        UINT64 ( STDMETHODCALLTYPE *GetNumMessagesDiscardedByMessageCountLimit )( \n            ID3D12InfoQueue * This);\n        \n        UINT64 ( STDMETHODCALLTYPE *GetMessageCountLimit )( \n            ID3D12InfoQueue * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *AddStorageFilterEntries )( \n            ID3D12InfoQueue * This,\n            _In_  D3D12_INFO_QUEUE_FILTER *pFilter);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetStorageFilter )( \n            ID3D12InfoQueue * This,\n            _Out_writes_bytes_opt_(*pFilterByteLength)  D3D12_INFO_QUEUE_FILTER *pFilter,\n            _Inout_  SIZE_T *pFilterByteLength);\n        \n        void ( STDMETHODCALLTYPE *ClearStorageFilter )( \n            ID3D12InfoQueue * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *PushEmptyStorageFilter )( \n            ID3D12InfoQueue * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *PushCopyOfStorageFilter )( \n            ID3D12InfoQueue * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *PushStorageFilter )( \n            ID3D12InfoQueue * This,\n            _In_  D3D12_INFO_QUEUE_FILTER *pFilter);\n        \n        void ( STDMETHODCALLTYPE *PopStorageFilter )( \n            ID3D12InfoQueue * This);\n        \n        UINT ( STDMETHODCALLTYPE *GetStorageFilterStackSize )( \n            ID3D12InfoQueue * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *AddRetrievalFilterEntries )( \n            ID3D12InfoQueue * This,\n            _In_  D3D12_INFO_QUEUE_FILTER *pFilter);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetRetrievalFilter )( \n            ID3D12InfoQueue * This,\n            _Out_writes_bytes_opt_(*pFilterByteLength)  D3D12_INFO_QUEUE_FILTER *pFilter,\n            _Inout_  SIZE_T *pFilterByteLength);\n        \n        void ( STDMETHODCALLTYPE *ClearRetrievalFilter )( \n            ID3D12InfoQueue * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *PushEmptyRetrievalFilter )( \n            ID3D12InfoQueue * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *PushCopyOfRetrievalFilter )( \n            ID3D12InfoQueue * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *PushRetrievalFilter )( \n            ID3D12InfoQueue * This,\n            _In_  D3D12_INFO_QUEUE_FILTER *pFilter);\n        \n        void ( STDMETHODCALLTYPE *PopRetrievalFilter )( \n            ID3D12InfoQueue * This);\n        \n        UINT ( STDMETHODCALLTYPE *GetRetrievalFilterStackSize )( \n            ID3D12InfoQueue * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *AddMessage )( \n            ID3D12InfoQueue * This,\n            _In_  D3D12_MESSAGE_CATEGORY Category,\n            _In_  D3D12_MESSAGE_SEVERITY Severity,\n            _In_  D3D12_MESSAGE_ID ID,\n            _In_  LPCSTR pDescription);\n        \n        HRESULT ( STDMETHODCALLTYPE *AddApplicationMessage )( \n            ID3D12InfoQueue * This,\n            _In_  D3D12_MESSAGE_SEVERITY Severity,\n            _In_  LPCSTR pDescription);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetBreakOnCategory )( \n            ID3D12InfoQueue * This,\n            _In_  D3D12_MESSAGE_CATEGORY Category,\n            _In_  BOOL bEnable);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetBreakOnSeverity )( \n            ID3D12InfoQueue * This,\n            _In_  D3D12_MESSAGE_SEVERITY Severity,\n            _In_  BOOL bEnable);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetBreakOnID )( \n            ID3D12InfoQueue * This,\n            _In_  D3D12_MESSAGE_ID ID,\n            _In_  BOOL bEnable);\n        \n        BOOL ( STDMETHODCALLTYPE *GetBreakOnCategory )( \n            ID3D12InfoQueue * This,\n            _In_  D3D12_MESSAGE_CATEGORY Category);\n        \n        BOOL ( STDMETHODCALLTYPE *GetBreakOnSeverity )( \n            ID3D12InfoQueue * This,\n            _In_  D3D12_MESSAGE_SEVERITY Severity);\n        \n        BOOL ( STDMETHODCALLTYPE *GetBreakOnID )( \n            ID3D12InfoQueue * This,\n            _In_  D3D12_MESSAGE_ID ID);\n        \n        void ( STDMETHODCALLTYPE *SetMuteDebugOutput )( \n            ID3D12InfoQueue * This,\n            _In_  BOOL bMute);\n        \n        BOOL ( STDMETHODCALLTYPE *GetMuteDebugOutput )( \n            ID3D12InfoQueue * This);\n        \n        END_INTERFACE\n    } ID3D12InfoQueueVtbl;\n\n    interface ID3D12InfoQueue\n    {\n        CONST_VTBL struct ID3D12InfoQueueVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define ID3D12InfoQueue_QueryInterface(This,riid,ppvObject)\t\\\n    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \n\n#define ID3D12InfoQueue_AddRef(This)\t\\\n    ( (This)->lpVtbl -> AddRef(This) ) \n\n#define ID3D12InfoQueue_Release(This)\t\\\n    ( (This)->lpVtbl -> Release(This) ) \n\n\n#define ID3D12InfoQueue_SetMessageCountLimit(This,MessageCountLimit)\t\\\n    ( (This)->lpVtbl -> SetMessageCountLimit(This,MessageCountLimit) ) \n\n#define ID3D12InfoQueue_ClearStoredMessages(This)\t\\\n    ( (This)->lpVtbl -> ClearStoredMessages(This) ) \n\n#define ID3D12InfoQueue_GetMessage(This,MessageIndex,pMessage,pMessageByteLength)\t\\\n    ( (This)->lpVtbl -> GetMessage(This,MessageIndex,pMessage,pMessageByteLength) ) \n\n#define ID3D12InfoQueue_GetNumMessagesAllowedByStorageFilter(This)\t\\\n    ( (This)->lpVtbl -> GetNumMessagesAllowedByStorageFilter(This) ) \n\n#define ID3D12InfoQueue_GetNumMessagesDeniedByStorageFilter(This)\t\\\n    ( (This)->lpVtbl -> GetNumMessagesDeniedByStorageFilter(This) ) \n\n#define ID3D12InfoQueue_GetNumStoredMessages(This)\t\\\n    ( (This)->lpVtbl -> GetNumStoredMessages(This) ) \n\n#define ID3D12InfoQueue_GetNumStoredMessagesAllowedByRetrievalFilter(This)\t\\\n    ( (This)->lpVtbl -> GetNumStoredMessagesAllowedByRetrievalFilter(This) ) \n\n#define ID3D12InfoQueue_GetNumMessagesDiscardedByMessageCountLimit(This)\t\\\n    ( (This)->lpVtbl -> GetNumMessagesDiscardedByMessageCountLimit(This) ) \n\n#define ID3D12InfoQueue_GetMessageCountLimit(This)\t\\\n    ( (This)->lpVtbl -> GetMessageCountLimit(This) ) \n\n#define ID3D12InfoQueue_AddStorageFilterEntries(This,pFilter)\t\\\n    ( (This)->lpVtbl -> AddStorageFilterEntries(This,pFilter) ) \n\n#define ID3D12InfoQueue_GetStorageFilter(This,pFilter,pFilterByteLength)\t\\\n    ( (This)->lpVtbl -> GetStorageFilter(This,pFilter,pFilterByteLength) ) \n\n#define ID3D12InfoQueue_ClearStorageFilter(This)\t\\\n    ( (This)->lpVtbl -> ClearStorageFilter(This) ) \n\n#define ID3D12InfoQueue_PushEmptyStorageFilter(This)\t\\\n    ( (This)->lpVtbl -> PushEmptyStorageFilter(This) ) \n\n#define ID3D12InfoQueue_PushCopyOfStorageFilter(This)\t\\\n    ( (This)->lpVtbl -> PushCopyOfStorageFilter(This) ) \n\n#define ID3D12InfoQueue_PushStorageFilter(This,pFilter)\t\\\n    ( (This)->lpVtbl -> PushStorageFilter(This,pFilter) ) \n\n#define ID3D12InfoQueue_PopStorageFilter(This)\t\\\n    ( (This)->lpVtbl -> PopStorageFilter(This) ) \n\n#define ID3D12InfoQueue_GetStorageFilterStackSize(This)\t\\\n    ( (This)->lpVtbl -> GetStorageFilterStackSize(This) ) \n\n#define ID3D12InfoQueue_AddRetrievalFilterEntries(This,pFilter)\t\\\n    ( (This)->lpVtbl -> AddRetrievalFilterEntries(This,pFilter) ) \n\n#define ID3D12InfoQueue_GetRetrievalFilter(This,pFilter,pFilterByteLength)\t\\\n    ( (This)->lpVtbl -> GetRetrievalFilter(This,pFilter,pFilterByteLength) ) \n\n#define ID3D12InfoQueue_ClearRetrievalFilter(This)\t\\\n    ( (This)->lpVtbl -> ClearRetrievalFilter(This) ) \n\n#define ID3D12InfoQueue_PushEmptyRetrievalFilter(This)\t\\\n    ( (This)->lpVtbl -> PushEmptyRetrievalFilter(This) ) \n\n#define ID3D12InfoQueue_PushCopyOfRetrievalFilter(This)\t\\\n    ( (This)->lpVtbl -> PushCopyOfRetrievalFilter(This) ) \n\n#define ID3D12InfoQueue_PushRetrievalFilter(This,pFilter)\t\\\n    ( (This)->lpVtbl -> PushRetrievalFilter(This,pFilter) ) \n\n#define ID3D12InfoQueue_PopRetrievalFilter(This)\t\\\n    ( (This)->lpVtbl -> PopRetrievalFilter(This) ) \n\n#define ID3D12InfoQueue_GetRetrievalFilterStackSize(This)\t\\\n    ( (This)->lpVtbl -> GetRetrievalFilterStackSize(This) ) \n\n#define ID3D12InfoQueue_AddMessage(This,Category,Severity,ID,pDescription)\t\\\n    ( (This)->lpVtbl -> AddMessage(This,Category,Severity,ID,pDescription) ) \n\n#define ID3D12InfoQueue_AddApplicationMessage(This,Severity,pDescription)\t\\\n    ( (This)->lpVtbl -> AddApplicationMessage(This,Severity,pDescription) ) \n\n#define ID3D12InfoQueue_SetBreakOnCategory(This,Category,bEnable)\t\\\n    ( (This)->lpVtbl -> SetBreakOnCategory(This,Category,bEnable) ) \n\n#define ID3D12InfoQueue_SetBreakOnSeverity(This,Severity,bEnable)\t\\\n    ( (This)->lpVtbl -> SetBreakOnSeverity(This,Severity,bEnable) ) \n\n#define ID3D12InfoQueue_SetBreakOnID(This,ID,bEnable)\t\\\n    ( (This)->lpVtbl -> SetBreakOnID(This,ID,bEnable) ) \n\n#define ID3D12InfoQueue_GetBreakOnCategory(This,Category)\t\\\n    ( (This)->lpVtbl -> GetBreakOnCategory(This,Category) ) \n\n#define ID3D12InfoQueue_GetBreakOnSeverity(This,Severity)\t\\\n    ( (This)->lpVtbl -> GetBreakOnSeverity(This,Severity) ) \n\n#define ID3D12InfoQueue_GetBreakOnID(This,ID)\t\\\n    ( (This)->lpVtbl -> GetBreakOnID(This,ID) ) \n\n#define ID3D12InfoQueue_SetMuteDebugOutput(This,bMute)\t\\\n    ( (This)->lpVtbl -> SetMuteDebugOutput(This,bMute) ) \n\n#define ID3D12InfoQueue_GetMuteDebugOutput(This)\t\\\n    ( (This)->lpVtbl -> GetMuteDebugOutput(This) ) \n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n\n#endif \t/* __ID3D12InfoQueue_INTERFACE_DEFINED__ */\n\n\n/* interface __MIDL_itf_d3d12sdklayers_0000_0008 */\n/* [local] */ \n\n#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */\n#pragma endregion\nDEFINE_GUID(IID_ID3D12Debug,0x344488b7,0x6846,0x474b,0xb9,0x89,0xf0,0x27,0x44,0x82,0x45,0xe0);\nDEFINE_GUID(IID_ID3D12Debug1,0xaffaa4ca,0x63fe,0x4d8e,0xb8,0xad,0x15,0x90,0x00,0xaf,0x43,0x04);\nDEFINE_GUID(IID_ID3D12DebugDevice1,0xa9b71770,0xd099,0x4a65,0xa6,0x98,0x3d,0xee,0x10,0x02,0x0f,0x88);\nDEFINE_GUID(IID_ID3D12DebugDevice,0x3febd6dd,0x4973,0x4787,0x81,0x94,0xe4,0x5f,0x9e,0x28,0x92,0x3e);\nDEFINE_GUID(IID_ID3D12DebugCommandQueue,0x09e0bf36,0x54ac,0x484f,0x88,0x47,0x4b,0xae,0xea,0xb6,0x05,0x3a);\nDEFINE_GUID(IID_ID3D12DebugCommandList1,0x102ca951,0x311b,0x4b01,0xb1,0x1f,0xec,0xb8,0x3e,0x06,0x1b,0x37);\nDEFINE_GUID(IID_ID3D12DebugCommandList,0x09e0bf36,0x54ac,0x484f,0x88,0x47,0x4b,0xae,0xea,0xb6,0x05,0x3f);\nDEFINE_GUID(IID_ID3D12InfoQueue,0x0742a90b,0xc387,0x483f,0xb9,0x46,0x30,0xa7,0xe4,0xe6,0x14,0x58);\n\n\nextern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0008_v0_0_c_ifspec;\nextern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0008_v0_0_s_ifspec;\n\n/* Additional Prototypes for ALL interfaces */\n\n/* end of Additional Prototypes */\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif\n\n\n"
  },
  {
    "path": "external/D3D12/include/d3dx12.h",
    "content": "﻿//////////////////////////////////////////////////////////////////////////////\n//\n//  Copyright (C) Microsoft Corporation.  All Rights Reserved.\n//\n//  File:       d3dx12.h\n//  Content:    D3DX12 utility library\n//\n//////////////////////////////////////////////////////////////////////////////\n\n#ifndef __D3DX12_H__\n#define __D3DX12_H__\n\n#include \"d3d12.h\"\n\n#if defined( __cplusplus )\n\nstruct CD3DX12_DEFAULT {};\nextern const DECLSPEC_SELECTANY CD3DX12_DEFAULT D3D12_DEFAULT;\n\n//------------------------------------------------------------------------------------------------\ninline bool operator==( const D3D12_VIEWPORT& l, const D3D12_VIEWPORT& r )\n{\n    return l.TopLeftX == r.TopLeftX && l.TopLeftY == r.TopLeftY && l.Width == r.Width &&\n        l.Height == r.Height && l.MinDepth == r.MinDepth && l.MaxDepth == r.MaxDepth;\n}\n\n//------------------------------------------------------------------------------------------------\ninline bool operator!=( const D3D12_VIEWPORT& l, const D3D12_VIEWPORT& r )\n{ return !( l == r ); }\n\n//------------------------------------------------------------------------------------------------\nstruct CD3DX12_RECT : public D3D12_RECT\n{\n    CD3DX12_RECT()\n    {}\n    explicit CD3DX12_RECT( const D3D12_RECT& o ) :\n        D3D12_RECT( o )\n    {}\n    explicit CD3DX12_RECT(\n        LONG Left,\n        LONG Top,\n        LONG Right,\n        LONG Bottom )\n    {\n        left = Left;\n        top = Top;\n        right = Right;\n        bottom = Bottom;\n    }\n    ~CD3DX12_RECT() {}\n    operator const D3D12_RECT&() const { return *this; }\n};\n\n//------------------------------------------------------------------------------------------------\nstruct CD3DX12_BOX : public D3D12_BOX\n{\n    CD3DX12_BOX()\n    {}\n    explicit CD3DX12_BOX( const D3D12_BOX& o ) :\n        D3D12_BOX( o )\n    {}\n    explicit CD3DX12_BOX(\n        LONG Left,\n        LONG Right )\n    {\n        left = Left;\n        top = 0;\n        front = 0;\n        right = Right;\n        bottom = 1;\n        back = 1;\n    }\n    explicit CD3DX12_BOX(\n        LONG Left,\n        LONG Top,\n        LONG Right,\n        LONG Bottom )\n    {\n        left = Left;\n        top = Top;\n        front = 0;\n        right = Right;\n        bottom = Bottom;\n        back = 1;\n    }\n    explicit CD3DX12_BOX(\n        LONG Left,\n        LONG Top,\n        LONG Front,\n        LONG Right,\n        LONG Bottom,\n        LONG Back )\n    {\n        left = Left;\n        top = Top;\n        front = Front;\n        right = Right;\n        bottom = Bottom;\n        back = Back;\n    }\n    ~CD3DX12_BOX() {}\n    operator const D3D12_BOX&() const { return *this; }\n};\ninline bool operator==( const D3D12_BOX& l, const D3D12_BOX& r )\n{\n    return l.left == r.left && l.top == r.top && l.front == r.front &&\n        l.right == r.right && l.bottom == r.bottom && l.back == r.back;\n}\ninline bool operator!=( const D3D12_BOX& l, const D3D12_BOX& r )\n{ return !( l == r ); }\n\n//------------------------------------------------------------------------------------------------\nstruct CD3DX12_DEPTH_STENCIL_DESC : public D3D12_DEPTH_STENCIL_DESC\n{\n    CD3DX12_DEPTH_STENCIL_DESC()\n    {}\n    explicit CD3DX12_DEPTH_STENCIL_DESC( const D3D12_DEPTH_STENCIL_DESC& o ) :\n        D3D12_DEPTH_STENCIL_DESC( o )\n    {}\n    explicit CD3DX12_DEPTH_STENCIL_DESC( CD3DX12_DEFAULT )\n    {\n        DepthEnable = TRUE;\n        DepthWriteMask = D3D12_DEPTH_WRITE_MASK_ALL;\n        DepthFunc = D3D12_COMPARISON_FUNC_LESS;\n        StencilEnable = FALSE;\n        StencilReadMask = D3D12_DEFAULT_STENCIL_READ_MASK;\n        StencilWriteMask = D3D12_DEFAULT_STENCIL_WRITE_MASK;\n        const D3D12_DEPTH_STENCILOP_DESC defaultStencilOp =\n        { D3D12_STENCIL_OP_KEEP, D3D12_STENCIL_OP_KEEP, D3D12_STENCIL_OP_KEEP, D3D12_COMPARISON_FUNC_ALWAYS };\n        FrontFace = defaultStencilOp;\n        BackFace = defaultStencilOp;\n    }\n    explicit CD3DX12_DEPTH_STENCIL_DESC(\n        BOOL depthEnable,\n        D3D12_DEPTH_WRITE_MASK depthWriteMask,\n        D3D12_COMPARISON_FUNC depthFunc,\n        BOOL stencilEnable,\n        UINT8 stencilReadMask,\n        UINT8 stencilWriteMask,\n        D3D12_STENCIL_OP frontStencilFailOp,\n        D3D12_STENCIL_OP frontStencilDepthFailOp,\n        D3D12_STENCIL_OP frontStencilPassOp,\n        D3D12_COMPARISON_FUNC frontStencilFunc,\n        D3D12_STENCIL_OP backStencilFailOp,\n        D3D12_STENCIL_OP backStencilDepthFailOp,\n        D3D12_STENCIL_OP backStencilPassOp,\n        D3D12_COMPARISON_FUNC backStencilFunc )\n    {\n        DepthEnable = depthEnable;\n        DepthWriteMask = depthWriteMask;\n        DepthFunc = depthFunc;\n        StencilEnable = stencilEnable;\n        StencilReadMask = stencilReadMask;\n        StencilWriteMask = stencilWriteMask;\n        FrontFace.StencilFailOp = frontStencilFailOp;\n        FrontFace.StencilDepthFailOp = frontStencilDepthFailOp;\n        FrontFace.StencilPassOp = frontStencilPassOp;\n        FrontFace.StencilFunc = frontStencilFunc;\n        BackFace.StencilFailOp = backStencilFailOp;\n        BackFace.StencilDepthFailOp = backStencilDepthFailOp;\n        BackFace.StencilPassOp = backStencilPassOp;\n        BackFace.StencilFunc = backStencilFunc;\n    }\n    ~CD3DX12_DEPTH_STENCIL_DESC() {}\n    operator const D3D12_DEPTH_STENCIL_DESC&() const { return *this; }\n};\n\n//------------------------------------------------------------------------------------------------\nstruct CD3DX12_BLEND_DESC : public D3D12_BLEND_DESC\n{\n    CD3DX12_BLEND_DESC()\n    {}\n    explicit CD3DX12_BLEND_DESC( const D3D12_BLEND_DESC& o ) :\n        D3D12_BLEND_DESC( o )\n    {}\n    explicit CD3DX12_BLEND_DESC( CD3DX12_DEFAULT )\n    {\n        AlphaToCoverageEnable = FALSE;\n        IndependentBlendEnable = FALSE;\n        const D3D12_RENDER_TARGET_BLEND_DESC defaultRenderTargetBlendDesc =\n        {\n            FALSE,FALSE,\n            D3D12_BLEND_ONE, D3D12_BLEND_ZERO, D3D12_BLEND_OP_ADD,\n            D3D12_BLEND_ONE, D3D12_BLEND_ZERO, D3D12_BLEND_OP_ADD,\n            D3D12_LOGIC_OP_NOOP,\n            D3D12_COLOR_WRITE_ENABLE_ALL,\n        };\n        for (UINT i = 0; i < D3D12_SIMULTANEOUS_RENDER_TARGET_COUNT; ++i)\n            RenderTarget[ i ] = defaultRenderTargetBlendDesc;\n    }\n    ~CD3DX12_BLEND_DESC() {}\n    operator const D3D12_BLEND_DESC&() const { return *this; }\n};\n\n//------------------------------------------------------------------------------------------------\nstruct CD3DX12_RASTERIZER_DESC : public D3D12_RASTERIZER_DESC\n{\n    CD3DX12_RASTERIZER_DESC()\n    {}\n    explicit CD3DX12_RASTERIZER_DESC( const D3D12_RASTERIZER_DESC& o ) :\n        D3D12_RASTERIZER_DESC( o )\n    {}\n    explicit CD3DX12_RASTERIZER_DESC( CD3DX12_DEFAULT )\n    {\n        FillMode = D3D12_FILL_MODE_SOLID;\n        CullMode = D3D12_CULL_MODE_BACK;\n        FrontCounterClockwise = FALSE;\n        DepthBias = D3D12_DEFAULT_DEPTH_BIAS;\n        DepthBiasClamp = D3D12_DEFAULT_DEPTH_BIAS_CLAMP;\n        SlopeScaledDepthBias = D3D12_DEFAULT_SLOPE_SCALED_DEPTH_BIAS;\n        DepthClipEnable = TRUE;\n        MultisampleEnable = FALSE;\n        AntialiasedLineEnable = FALSE;\n        ForcedSampleCount = 0;\n        ConservativeRaster = D3D12_CONSERVATIVE_RASTERIZATION_MODE_OFF;\n    }\n    explicit CD3DX12_RASTERIZER_DESC(\n        D3D12_FILL_MODE fillMode,\n        D3D12_CULL_MODE cullMode,\n        BOOL frontCounterClockwise,\n        INT depthBias,\n        FLOAT depthBiasClamp,\n        FLOAT slopeScaledDepthBias,\n        BOOL depthClipEnable,\n        BOOL multisampleEnable,\n        BOOL antialiasedLineEnable, \n        UINT forcedSampleCount, \n        D3D12_CONSERVATIVE_RASTERIZATION_MODE conservativeRaster)\n    {\n        FillMode = fillMode;\n        CullMode = cullMode;\n        FrontCounterClockwise = frontCounterClockwise;\n        DepthBias = depthBias;\n        DepthBiasClamp = depthBiasClamp;\n        SlopeScaledDepthBias = slopeScaledDepthBias;\n        DepthClipEnable = depthClipEnable;\n        MultisampleEnable = multisampleEnable;\n        AntialiasedLineEnable = antialiasedLineEnable;\n        ForcedSampleCount = forcedSampleCount;\n        ConservativeRaster = conservativeRaster;\n    }\n    ~CD3DX12_RASTERIZER_DESC() {}\n    operator const D3D12_RASTERIZER_DESC&() const { return *this; }\n};\n\n//------------------------------------------------------------------------------------------------\nstruct CD3DX12_RESOURCE_ALLOCATION_INFO : public D3D12_RESOURCE_ALLOCATION_INFO\n{\n    CD3DX12_RESOURCE_ALLOCATION_INFO()\n    {}\n    explicit CD3DX12_RESOURCE_ALLOCATION_INFO( const D3D12_RESOURCE_ALLOCATION_INFO& o ) :\n        D3D12_RESOURCE_ALLOCATION_INFO( o )\n    {}\n    CD3DX12_RESOURCE_ALLOCATION_INFO(\n        UINT64 size,\n        UINT64 alignment )\n    {\n        SizeInBytes = size;\n        Alignment = alignment;\n    }\n    operator const D3D12_RESOURCE_ALLOCATION_INFO&() const { return *this; }\n};\n\n//------------------------------------------------------------------------------------------------\nstruct CD3DX12_HEAP_PROPERTIES : public D3D12_HEAP_PROPERTIES\n{\n    CD3DX12_HEAP_PROPERTIES()\n    {}\n    explicit CD3DX12_HEAP_PROPERTIES(const D3D12_HEAP_PROPERTIES &o) :\n        D3D12_HEAP_PROPERTIES(o)\n    {}\n    CD3DX12_HEAP_PROPERTIES( \n        D3D12_CPU_PAGE_PROPERTY cpuPageProperty, \n        D3D12_MEMORY_POOL memoryPoolPreference,\n        UINT creationNodeMask = 1, \n        UINT nodeMask = 1 )\n    {\n        Type = D3D12_HEAP_TYPE_CUSTOM;\n        CPUPageProperty = cpuPageProperty;\n        MemoryPoolPreference = memoryPoolPreference;\n        CreationNodeMask = creationNodeMask;\n        VisibleNodeMask = nodeMask;\n    }\n    explicit CD3DX12_HEAP_PROPERTIES( \n        D3D12_HEAP_TYPE type, \n        UINT creationNodeMask = 1, \n        UINT nodeMask = 1 )\n    {\n        Type = type;\n        CPUPageProperty = D3D12_CPU_PAGE_PROPERTY_UNKNOWN;\n        MemoryPoolPreference = D3D12_MEMORY_POOL_UNKNOWN;\n        CreationNodeMask = creationNodeMask;\n        VisibleNodeMask = nodeMask;\n    }\n    operator const D3D12_HEAP_PROPERTIES&() const { return *this; }\n    bool IsCPUAccessible() const\n    {\n        return Type == D3D12_HEAP_TYPE_UPLOAD || Type == D3D12_HEAP_TYPE_READBACK || (Type == D3D12_HEAP_TYPE_CUSTOM &&\n            (CPUPageProperty == D3D12_CPU_PAGE_PROPERTY_WRITE_COMBINE || CPUPageProperty == D3D12_CPU_PAGE_PROPERTY_WRITE_BACK));\n    }\n};\ninline bool operator==( const D3D12_HEAP_PROPERTIES& l, const D3D12_HEAP_PROPERTIES& r )\n{\n    return l.Type == r.Type && l.CPUPageProperty == r.CPUPageProperty && \n        l.MemoryPoolPreference == r.MemoryPoolPreference &&\n        l.CreationNodeMask == r.CreationNodeMask &&\n        l.VisibleNodeMask == r.VisibleNodeMask;\n}\ninline bool operator!=( const D3D12_HEAP_PROPERTIES& l, const D3D12_HEAP_PROPERTIES& r )\n{ return !( l == r ); }\n\n//------------------------------------------------------------------------------------------------\nstruct CD3DX12_HEAP_DESC : public D3D12_HEAP_DESC\n{\n    CD3DX12_HEAP_DESC()\n    {}\n    explicit CD3DX12_HEAP_DESC(const D3D12_HEAP_DESC &o) :\n        D3D12_HEAP_DESC(o)\n    {}\n    CD3DX12_HEAP_DESC( \n        UINT64 size, \n        D3D12_HEAP_PROPERTIES properties, \n        UINT64 alignment = 0, \n        D3D12_HEAP_FLAGS flags = D3D12_HEAP_FLAG_NONE )\n    {\n        SizeInBytes = size;\n        Properties = properties;\n        Alignment = alignment;\n        Flags = flags;\n    }\n    CD3DX12_HEAP_DESC( \n        UINT64 size, \n        D3D12_HEAP_TYPE type, \n        UINT64 alignment = 0, \n        D3D12_HEAP_FLAGS flags = D3D12_HEAP_FLAG_NONE )\n    {\n        SizeInBytes = size;\n        Properties = CD3DX12_HEAP_PROPERTIES( type );\n        Alignment = alignment;\n        Flags = flags;\n    }\n    CD3DX12_HEAP_DESC( \n        UINT64 size, \n        D3D12_CPU_PAGE_PROPERTY cpuPageProperty, \n        D3D12_MEMORY_POOL memoryPoolPreference, \n        UINT64 alignment = 0, \n        D3D12_HEAP_FLAGS flags = D3D12_HEAP_FLAG_NONE )\n    {\n        SizeInBytes = size;\n        Properties = CD3DX12_HEAP_PROPERTIES( cpuPageProperty, memoryPoolPreference );\n        Alignment = alignment;\n        Flags = flags;\n    }\n    CD3DX12_HEAP_DESC( \n        const D3D12_RESOURCE_ALLOCATION_INFO& resAllocInfo,\n        D3D12_HEAP_PROPERTIES properties, \n        D3D12_HEAP_FLAGS flags = D3D12_HEAP_FLAG_NONE )\n    {\n        SizeInBytes = resAllocInfo.SizeInBytes;\n        Properties = properties;\n        Alignment = resAllocInfo.Alignment;\n        Flags = flags;\n    }\n    CD3DX12_HEAP_DESC( \n        const D3D12_RESOURCE_ALLOCATION_INFO& resAllocInfo,\n        D3D12_HEAP_TYPE type, \n        D3D12_HEAP_FLAGS flags = D3D12_HEAP_FLAG_NONE )\n    {\n        SizeInBytes = resAllocInfo.SizeInBytes;\n        Properties = CD3DX12_HEAP_PROPERTIES( type );\n        Alignment = resAllocInfo.Alignment;\n        Flags = flags;\n    }\n    CD3DX12_HEAP_DESC( \n        const D3D12_RESOURCE_ALLOCATION_INFO& resAllocInfo,\n        D3D12_CPU_PAGE_PROPERTY cpuPageProperty, \n        D3D12_MEMORY_POOL memoryPoolPreference, \n        D3D12_HEAP_FLAGS flags = D3D12_HEAP_FLAG_NONE )\n    {\n        SizeInBytes = resAllocInfo.SizeInBytes;\n        Properties = CD3DX12_HEAP_PROPERTIES( cpuPageProperty, memoryPoolPreference );\n        Alignment = resAllocInfo.Alignment;\n        Flags = flags;\n    }\n    operator const D3D12_HEAP_DESC&() const { return *this; }\n    bool IsCPUAccessible() const\n    { return static_cast< const CD3DX12_HEAP_PROPERTIES* >( &Properties )->IsCPUAccessible(); }\n};\n\n//------------------------------------------------------------------------------------------------\nstruct CD3DX12_CLEAR_VALUE : public D3D12_CLEAR_VALUE\n{\n    CD3DX12_CLEAR_VALUE()\n    {}\n    explicit CD3DX12_CLEAR_VALUE(const D3D12_CLEAR_VALUE &o) :\n        D3D12_CLEAR_VALUE(o)\n    {}\n    CD3DX12_CLEAR_VALUE( \n        DXGI_FORMAT format, \n        const FLOAT color[4] )\n    {\n        Format = format;\n        memcpy( Color, color, sizeof( Color ) );\n    }\n    CD3DX12_CLEAR_VALUE( \n        DXGI_FORMAT format, \n        FLOAT depth,\n        UINT8 stencil )\n    {\n        Format = format;\n        /* Use memcpy to preserve NAN values */\n        memcpy( &DepthStencil.Depth, &depth, sizeof( depth ) );\n        DepthStencil.Stencil = stencil;\n    }\n    operator const D3D12_CLEAR_VALUE&() const { return *this; }\n};\n\n//------------------------------------------------------------------------------------------------\nstruct CD3DX12_RANGE : public D3D12_RANGE\n{\n    CD3DX12_RANGE()\n    {}\n    explicit CD3DX12_RANGE(const D3D12_RANGE &o) :\n        D3D12_RANGE(o)\n    {}\n    CD3DX12_RANGE( \n        SIZE_T begin, \n        SIZE_T end )\n    {\n        Begin = begin;\n        End = end;\n    }\n    operator const D3D12_RANGE&() const { return *this; }\n};\n\n//------------------------------------------------------------------------------------------------\nstruct CD3DX12_TILED_RESOURCE_COORDINATE : public D3D12_TILED_RESOURCE_COORDINATE\n{\n    CD3DX12_TILED_RESOURCE_COORDINATE()\n    {}\n    explicit CD3DX12_TILED_RESOURCE_COORDINATE(const D3D12_TILED_RESOURCE_COORDINATE &o) :\n        D3D12_TILED_RESOURCE_COORDINATE(o)\n    {}\n    CD3DX12_TILED_RESOURCE_COORDINATE( \n        UINT x, \n        UINT y, \n        UINT z, \n        UINT subresource ) \n    {\n        X = x;\n        Y = y;\n        Z = z;\n        Subresource = subresource;\n    }\n    operator const D3D12_TILED_RESOURCE_COORDINATE&() const { return *this; }\n};\n\n//------------------------------------------------------------------------------------------------\nstruct CD3DX12_TILE_REGION_SIZE : public D3D12_TILE_REGION_SIZE\n{\n    CD3DX12_TILE_REGION_SIZE()\n    {}\n    explicit CD3DX12_TILE_REGION_SIZE(const D3D12_TILE_REGION_SIZE &o) :\n        D3D12_TILE_REGION_SIZE(o)\n    {}\n    CD3DX12_TILE_REGION_SIZE( \n        UINT numTiles, \n        BOOL useBox, \n        UINT width, \n        UINT16 height, \n        UINT16 depth ) \n    {\n        NumTiles = numTiles;\n        UseBox = useBox;\n        Width = width;\n        Height = height;\n        Depth = depth;\n    }\n    operator const D3D12_TILE_REGION_SIZE&() const { return *this; }\n};\n\n//------------------------------------------------------------------------------------------------\nstruct CD3DX12_SUBRESOURCE_TILING : public D3D12_SUBRESOURCE_TILING\n{\n    CD3DX12_SUBRESOURCE_TILING()\n    {}\n    explicit CD3DX12_SUBRESOURCE_TILING(const D3D12_SUBRESOURCE_TILING &o) :\n        D3D12_SUBRESOURCE_TILING(o)\n    {}\n    CD3DX12_SUBRESOURCE_TILING( \n        UINT widthInTiles, \n        UINT16 heightInTiles, \n        UINT16 depthInTiles, \n        UINT startTileIndexInOverallResource ) \n    {\n        WidthInTiles = widthInTiles;\n        HeightInTiles = heightInTiles;\n        DepthInTiles = depthInTiles;\n        StartTileIndexInOverallResource = startTileIndexInOverallResource;\n    }\n    operator const D3D12_SUBRESOURCE_TILING&() const { return *this; }\n};\n\n//------------------------------------------------------------------------------------------------\nstruct CD3DX12_TILE_SHAPE : public D3D12_TILE_SHAPE\n{\n    CD3DX12_TILE_SHAPE()\n    {}\n    explicit CD3DX12_TILE_SHAPE(const D3D12_TILE_SHAPE &o) :\n        D3D12_TILE_SHAPE(o)\n    {}\n    CD3DX12_TILE_SHAPE( \n        UINT widthInTexels, \n        UINT heightInTexels, \n        UINT depthInTexels ) \n    {\n        WidthInTexels = widthInTexels;\n        HeightInTexels = heightInTexels;\n        DepthInTexels = depthInTexels;\n    }\n    operator const D3D12_TILE_SHAPE&() const { return *this; }\n};\n\n//------------------------------------------------------------------------------------------------\nstruct CD3DX12_RESOURCE_BARRIER : public D3D12_RESOURCE_BARRIER\n{\n    CD3DX12_RESOURCE_BARRIER()\n    {}\n    explicit CD3DX12_RESOURCE_BARRIER(const D3D12_RESOURCE_BARRIER &o) :\n        D3D12_RESOURCE_BARRIER(o)\n    {}\n    static inline CD3DX12_RESOURCE_BARRIER Transition(\n        _In_ ID3D12Resource* pResource,\n        D3D12_RESOURCE_STATES stateBefore,\n        D3D12_RESOURCE_STATES stateAfter,\n        UINT subresource = D3D12_RESOURCE_BARRIER_ALL_SUBRESOURCES,\n        D3D12_RESOURCE_BARRIER_FLAGS flags = D3D12_RESOURCE_BARRIER_FLAG_NONE)\n    {\n        CD3DX12_RESOURCE_BARRIER result = {};\n        D3D12_RESOURCE_BARRIER &barrier = result;\n        result.Type = D3D12_RESOURCE_BARRIER_TYPE_TRANSITION;\n        result.Flags = flags;\n        barrier.Transition.pResource = pResource;\n        barrier.Transition.StateBefore = stateBefore;\n        barrier.Transition.StateAfter = stateAfter;\n        barrier.Transition.Subresource = subresource;\n        return result;\n    }\n    static inline CD3DX12_RESOURCE_BARRIER Aliasing(\n        _In_ ID3D12Resource* pResourceBefore,\n        _In_ ID3D12Resource* pResourceAfter)\n    {\n        CD3DX12_RESOURCE_BARRIER result = {};\n        D3D12_RESOURCE_BARRIER &barrier = result;\n        result.Type = D3D12_RESOURCE_BARRIER_TYPE_ALIASING;\n        barrier.Aliasing.pResourceBefore = pResourceBefore;\n        barrier.Aliasing.pResourceAfter = pResourceAfter;\n        return result;\n    }\n    static inline CD3DX12_RESOURCE_BARRIER UAV(\n        _In_ ID3D12Resource* pResource)\n    {\n        CD3DX12_RESOURCE_BARRIER result = {};\n        D3D12_RESOURCE_BARRIER &barrier = result;\n        result.Type = D3D12_RESOURCE_BARRIER_TYPE_UAV;\n        barrier.UAV.pResource = pResource;\n        return result;\n    }\n    operator const D3D12_RESOURCE_BARRIER&() const { return *this; }\n};\n\n//------------------------------------------------------------------------------------------------\nstruct CD3DX12_PACKED_MIP_INFO : public D3D12_PACKED_MIP_INFO\n{\n    CD3DX12_PACKED_MIP_INFO()\n    {}\n    explicit CD3DX12_PACKED_MIP_INFO(const D3D12_PACKED_MIP_INFO &o) :\n        D3D12_PACKED_MIP_INFO(o)\n    {}\n    CD3DX12_PACKED_MIP_INFO( \n        UINT8 numStandardMips, \n        UINT8 numPackedMips, \n        UINT numTilesForPackedMips, \n        UINT startTileIndexInOverallResource ) \n    {\n        NumStandardMips = numStandardMips;\n        NumPackedMips = numPackedMips;\n        NumTilesForPackedMips = numTilesForPackedMips;\n        StartTileIndexInOverallResource = startTileIndexInOverallResource;\n    }\n    operator const D3D12_PACKED_MIP_INFO&() const { return *this; }\n};\n\n//------------------------------------------------------------------------------------------------\nstruct CD3DX12_SUBRESOURCE_FOOTPRINT : public D3D12_SUBRESOURCE_FOOTPRINT\n{\n    CD3DX12_SUBRESOURCE_FOOTPRINT()\n    {}\n    explicit CD3DX12_SUBRESOURCE_FOOTPRINT(const D3D12_SUBRESOURCE_FOOTPRINT &o) :\n        D3D12_SUBRESOURCE_FOOTPRINT(o)\n    {}\n    CD3DX12_SUBRESOURCE_FOOTPRINT( \n        DXGI_FORMAT format, \n        UINT width, \n        UINT height, \n        UINT depth, \n        UINT rowPitch ) \n    {\n        Format = format;\n        Width = width;\n        Height = height;\n        Depth = depth;\n        RowPitch = rowPitch;\n    }\n    explicit CD3DX12_SUBRESOURCE_FOOTPRINT( \n        const D3D12_RESOURCE_DESC& resDesc, \n        UINT rowPitch ) \n    {\n        Format = resDesc.Format;\n        Width = UINT( resDesc.Width );\n        Height = resDesc.Height;\n        Depth = (resDesc.Dimension == D3D12_RESOURCE_DIMENSION_TEXTURE3D ? resDesc.DepthOrArraySize : 1);\n        RowPitch = rowPitch;\n    }\n    operator const D3D12_SUBRESOURCE_FOOTPRINT&() const { return *this; }\n};\n\n//------------------------------------------------------------------------------------------------\nstruct CD3DX12_TEXTURE_COPY_LOCATION : public D3D12_TEXTURE_COPY_LOCATION\n{ \n    CD3DX12_TEXTURE_COPY_LOCATION()\n    {}\n    explicit CD3DX12_TEXTURE_COPY_LOCATION(const D3D12_TEXTURE_COPY_LOCATION &o) :\n        D3D12_TEXTURE_COPY_LOCATION(o)\n    {}\n    CD3DX12_TEXTURE_COPY_LOCATION(ID3D12Resource* pRes) { pResource = pRes; }\n    CD3DX12_TEXTURE_COPY_LOCATION(ID3D12Resource* pRes, D3D12_PLACED_SUBRESOURCE_FOOTPRINT const& Footprint)\n    {\n        pResource = pRes;\n        Type = D3D12_TEXTURE_COPY_TYPE_PLACED_FOOTPRINT;\n        PlacedFootprint = Footprint;\n    }\n    CD3DX12_TEXTURE_COPY_LOCATION(ID3D12Resource* pRes, UINT Sub)\n    {\n        pResource = pRes;\n        Type = D3D12_TEXTURE_COPY_TYPE_SUBRESOURCE_INDEX;\n        SubresourceIndex = Sub;\n    }\n}; \n\n//------------------------------------------------------------------------------------------------\nstruct CD3DX12_DESCRIPTOR_RANGE : public D3D12_DESCRIPTOR_RANGE\n{\n    CD3DX12_DESCRIPTOR_RANGE() { }\n    explicit CD3DX12_DESCRIPTOR_RANGE(const D3D12_DESCRIPTOR_RANGE &o) :\n        D3D12_DESCRIPTOR_RANGE(o)\n    {}\n    CD3DX12_DESCRIPTOR_RANGE(\n        D3D12_DESCRIPTOR_RANGE_TYPE rangeType,\n        UINT numDescriptors,\n        UINT baseShaderRegister,\n        UINT registerSpace = 0,\n        UINT offsetInDescriptorsFromTableStart =\n        D3D12_DESCRIPTOR_RANGE_OFFSET_APPEND)\n    {\n        Init(rangeType, numDescriptors, baseShaderRegister, registerSpace, offsetInDescriptorsFromTableStart);\n    }\n    \n    inline void Init(\n        D3D12_DESCRIPTOR_RANGE_TYPE rangeType,\n        UINT numDescriptors,\n        UINT baseShaderRegister,\n        UINT registerSpace = 0,\n        UINT offsetInDescriptorsFromTableStart =\n        D3D12_DESCRIPTOR_RANGE_OFFSET_APPEND)\n    {\n        Init(*this, rangeType, numDescriptors, baseShaderRegister, registerSpace, offsetInDescriptorsFromTableStart);\n    }\n    \n    static inline void Init(\n        _Out_ D3D12_DESCRIPTOR_RANGE &range,\n        D3D12_DESCRIPTOR_RANGE_TYPE rangeType,\n        UINT numDescriptors,\n        UINT baseShaderRegister,\n        UINT registerSpace = 0,\n        UINT offsetInDescriptorsFromTableStart =\n        D3D12_DESCRIPTOR_RANGE_OFFSET_APPEND)\n    {\n        range.RangeType = rangeType;\n        range.NumDescriptors = numDescriptors;\n        range.BaseShaderRegister = baseShaderRegister;\n        range.RegisterSpace = registerSpace;\n        range.OffsetInDescriptorsFromTableStart = offsetInDescriptorsFromTableStart;\n    }\n};\n\n//------------------------------------------------------------------------------------------------\nstruct CD3DX12_ROOT_DESCRIPTOR_TABLE : public D3D12_ROOT_DESCRIPTOR_TABLE\n{\n    CD3DX12_ROOT_DESCRIPTOR_TABLE() {}\n    explicit CD3DX12_ROOT_DESCRIPTOR_TABLE(const D3D12_ROOT_DESCRIPTOR_TABLE &o) :\n        D3D12_ROOT_DESCRIPTOR_TABLE(o)\n    {}\n    CD3DX12_ROOT_DESCRIPTOR_TABLE(\n        UINT numDescriptorRanges,\n        _In_reads_opt_(numDescriptorRanges) const D3D12_DESCRIPTOR_RANGE* _pDescriptorRanges)\n    {\n        Init(numDescriptorRanges, _pDescriptorRanges);\n    }\n    \n    inline void Init(\n        UINT numDescriptorRanges,\n        _In_reads_(numDescriptorRanges) const D3D12_DESCRIPTOR_RANGE* _pDescriptorRanges)\n    {\n        Init(*this, numDescriptorRanges, _pDescriptorRanges);\n    }\n    \n    static inline void Init(\n        _Out_ D3D12_ROOT_DESCRIPTOR_TABLE &rootDescriptorTable,\n        UINT numDescriptorRanges,\n        _In_reads_opt_(numDescriptorRanges) const D3D12_DESCRIPTOR_RANGE* _pDescriptorRanges)\n    {\n        rootDescriptorTable.NumDescriptorRanges = numDescriptorRanges;\n        rootDescriptorTable.pDescriptorRanges = _pDescriptorRanges;\n    }\n};\n\n//------------------------------------------------------------------------------------------------\nstruct CD3DX12_ROOT_CONSTANTS : public D3D12_ROOT_CONSTANTS\n{\n    CD3DX12_ROOT_CONSTANTS() {}\n    explicit CD3DX12_ROOT_CONSTANTS(const D3D12_ROOT_CONSTANTS &o) :\n        D3D12_ROOT_CONSTANTS(o)\n    {}\n    CD3DX12_ROOT_CONSTANTS(\n        UINT num32BitValues,\n        UINT shaderRegister,\n        UINT registerSpace = 0)\n    {\n        Init(num32BitValues, shaderRegister, registerSpace);\n    }\n    \n    inline void Init(\n        UINT num32BitValues,\n        UINT shaderRegister,\n        UINT registerSpace = 0)\n    {\n        Init(*this, num32BitValues, shaderRegister, registerSpace);\n    }\n    \n    static inline void Init(\n        _Out_ D3D12_ROOT_CONSTANTS &rootConstants,\n        UINT num32BitValues,\n        UINT shaderRegister,\n        UINT registerSpace = 0)\n    {\n        rootConstants.Num32BitValues = num32BitValues;\n        rootConstants.ShaderRegister = shaderRegister;\n        rootConstants.RegisterSpace = registerSpace;\n    }\n};\n\n//------------------------------------------------------------------------------------------------\nstruct CD3DX12_ROOT_DESCRIPTOR : public D3D12_ROOT_DESCRIPTOR\n{\n    CD3DX12_ROOT_DESCRIPTOR() {}\n    explicit CD3DX12_ROOT_DESCRIPTOR(const D3D12_ROOT_DESCRIPTOR &o) :\n        D3D12_ROOT_DESCRIPTOR(o)\n    {}\n    CD3DX12_ROOT_DESCRIPTOR(\n        UINT shaderRegister,\n        UINT registerSpace = 0)\n    {\n        Init(shaderRegister, registerSpace);\n    }\n    \n    inline void Init(\n        UINT shaderRegister,\n        UINT registerSpace = 0)\n    {\n        Init(*this, shaderRegister, registerSpace);\n    }\n    \n    static inline void Init(_Out_ D3D12_ROOT_DESCRIPTOR &table, UINT shaderRegister, UINT registerSpace = 0)\n    {\n        table.ShaderRegister = shaderRegister;\n        table.RegisterSpace = registerSpace;\n    }\n};\n\n//------------------------------------------------------------------------------------------------\nstruct CD3DX12_ROOT_PARAMETER : public D3D12_ROOT_PARAMETER\n{\n    CD3DX12_ROOT_PARAMETER() {}\n    explicit CD3DX12_ROOT_PARAMETER(const D3D12_ROOT_PARAMETER &o) :\n        D3D12_ROOT_PARAMETER(o)\n    {}\n    \n    static inline void InitAsDescriptorTable(\n        _Out_ D3D12_ROOT_PARAMETER &rootParam,\n        UINT numDescriptorRanges,\n        _In_reads_(numDescriptorRanges) const D3D12_DESCRIPTOR_RANGE* pDescriptorRanges,\n        D3D12_SHADER_VISIBILITY visibility = D3D12_SHADER_VISIBILITY_ALL)\n    {\n        rootParam.ParameterType = D3D12_ROOT_PARAMETER_TYPE_DESCRIPTOR_TABLE;\n        rootParam.ShaderVisibility = visibility;\n        CD3DX12_ROOT_DESCRIPTOR_TABLE::Init(rootParam.DescriptorTable, numDescriptorRanges, pDescriptorRanges);\n    }\n\n    static inline void InitAsConstants(\n        _Out_ D3D12_ROOT_PARAMETER &rootParam,\n        UINT num32BitValues,\n        UINT shaderRegister,\n        UINT registerSpace = 0,\n        D3D12_SHADER_VISIBILITY visibility = D3D12_SHADER_VISIBILITY_ALL)\n    {\n        rootParam.ParameterType = D3D12_ROOT_PARAMETER_TYPE_32BIT_CONSTANTS;\n        rootParam.ShaderVisibility = visibility;\n        CD3DX12_ROOT_CONSTANTS::Init(rootParam.Constants, num32BitValues, shaderRegister, registerSpace);\n    }\n\n    static inline void InitAsConstantBufferView(\n        _Out_ D3D12_ROOT_PARAMETER &rootParam,\n        UINT shaderRegister,\n        UINT registerSpace = 0,\n        D3D12_SHADER_VISIBILITY visibility = D3D12_SHADER_VISIBILITY_ALL)\n    {\n        rootParam.ParameterType = D3D12_ROOT_PARAMETER_TYPE_CBV;\n        rootParam.ShaderVisibility = visibility;\n        CD3DX12_ROOT_DESCRIPTOR::Init(rootParam.Descriptor, shaderRegister, registerSpace);\n    }\n\n    static inline void InitAsShaderResourceView(\n        _Out_ D3D12_ROOT_PARAMETER &rootParam,\n        UINT shaderRegister,\n        UINT registerSpace = 0,\n        D3D12_SHADER_VISIBILITY visibility = D3D12_SHADER_VISIBILITY_ALL)\n    {\n        rootParam.ParameterType = D3D12_ROOT_PARAMETER_TYPE_SRV;\n        rootParam.ShaderVisibility = visibility;\n        CD3DX12_ROOT_DESCRIPTOR::Init(rootParam.Descriptor, shaderRegister, registerSpace);\n    }\n\n    static inline void InitAsUnorderedAccessView(\n        _Out_ D3D12_ROOT_PARAMETER &rootParam,\n        UINT shaderRegister,\n        UINT registerSpace = 0,\n        D3D12_SHADER_VISIBILITY visibility = D3D12_SHADER_VISIBILITY_ALL)\n    {\n        rootParam.ParameterType = D3D12_ROOT_PARAMETER_TYPE_UAV;\n        rootParam.ShaderVisibility = visibility;\n        CD3DX12_ROOT_DESCRIPTOR::Init(rootParam.Descriptor, shaderRegister, registerSpace);\n    }\n    \n    inline void InitAsDescriptorTable(\n        UINT numDescriptorRanges,\n        _In_reads_(numDescriptorRanges) const D3D12_DESCRIPTOR_RANGE* pDescriptorRanges,\n        D3D12_SHADER_VISIBILITY visibility = D3D12_SHADER_VISIBILITY_ALL)\n    {\n        InitAsDescriptorTable(*this, numDescriptorRanges, pDescriptorRanges, visibility);\n    }\n    \n    inline void InitAsConstants(\n        UINT num32BitValues,\n        UINT shaderRegister,\n        UINT registerSpace = 0,\n        D3D12_SHADER_VISIBILITY visibility = D3D12_SHADER_VISIBILITY_ALL)\n    {\n        InitAsConstants(*this, num32BitValues, shaderRegister, registerSpace, visibility);\n    }\n\n    inline void InitAsConstantBufferView(\n        UINT shaderRegister,\n        UINT registerSpace = 0,\n        D3D12_SHADER_VISIBILITY visibility = D3D12_SHADER_VISIBILITY_ALL)\n    {\n        InitAsConstantBufferView(*this, shaderRegister, registerSpace, visibility);\n    }\n\n    inline void InitAsShaderResourceView(\n        UINT shaderRegister,\n        UINT registerSpace = 0,\n        D3D12_SHADER_VISIBILITY visibility = D3D12_SHADER_VISIBILITY_ALL)\n    {\n        InitAsShaderResourceView(*this, shaderRegister, registerSpace, visibility);\n    }\n\n    inline void InitAsUnorderedAccessView(\n        UINT shaderRegister,\n        UINT registerSpace = 0,\n        D3D12_SHADER_VISIBILITY visibility = D3D12_SHADER_VISIBILITY_ALL)\n    {\n        InitAsUnorderedAccessView(*this, shaderRegister, registerSpace, visibility);\n    }\n};\n\n//------------------------------------------------------------------------------------------------\nstruct CD3DX12_STATIC_SAMPLER_DESC : public D3D12_STATIC_SAMPLER_DESC\n{\n    CD3DX12_STATIC_SAMPLER_DESC() {}\n    explicit CD3DX12_STATIC_SAMPLER_DESC(const D3D12_STATIC_SAMPLER_DESC &o) :\n        D3D12_STATIC_SAMPLER_DESC(o)\n    {}\n    CD3DX12_STATIC_SAMPLER_DESC(\n         UINT shaderRegister,\n         D3D12_FILTER filter = D3D12_FILTER_ANISOTROPIC,\n         D3D12_TEXTURE_ADDRESS_MODE addressU = D3D12_TEXTURE_ADDRESS_MODE_WRAP,\n         D3D12_TEXTURE_ADDRESS_MODE addressV = D3D12_TEXTURE_ADDRESS_MODE_WRAP,\n         D3D12_TEXTURE_ADDRESS_MODE addressW = D3D12_TEXTURE_ADDRESS_MODE_WRAP,\n         FLOAT mipLODBias = 0,\n         UINT maxAnisotropy = 16,\n         D3D12_COMPARISON_FUNC comparisonFunc = D3D12_COMPARISON_FUNC_LESS_EQUAL,\n         D3D12_STATIC_BORDER_COLOR borderColor = D3D12_STATIC_BORDER_COLOR_OPAQUE_WHITE,\n         FLOAT minLOD = 0.f,\n         FLOAT maxLOD = D3D12_FLOAT32_MAX,\n         D3D12_SHADER_VISIBILITY shaderVisibility = D3D12_SHADER_VISIBILITY_ALL, \n         UINT registerSpace = 0)\n    {\n        Init(\n            shaderRegister,\n            filter,\n            addressU,\n            addressV,\n            addressW,\n            mipLODBias,\n            maxAnisotropy,\n            comparisonFunc,\n            borderColor,\n            minLOD,\n            maxLOD,\n            shaderVisibility,\n            registerSpace);\n    }\n    \n    static inline void Init(\n        _Out_ D3D12_STATIC_SAMPLER_DESC &samplerDesc,\n         UINT shaderRegister,\n         D3D12_FILTER filter = D3D12_FILTER_ANISOTROPIC,\n         D3D12_TEXTURE_ADDRESS_MODE addressU = D3D12_TEXTURE_ADDRESS_MODE_WRAP,\n         D3D12_TEXTURE_ADDRESS_MODE addressV = D3D12_TEXTURE_ADDRESS_MODE_WRAP,\n         D3D12_TEXTURE_ADDRESS_MODE addressW = D3D12_TEXTURE_ADDRESS_MODE_WRAP,\n         FLOAT mipLODBias = 0,\n         UINT maxAnisotropy = 16,\n         D3D12_COMPARISON_FUNC comparisonFunc = D3D12_COMPARISON_FUNC_LESS_EQUAL,\n         D3D12_STATIC_BORDER_COLOR borderColor = D3D12_STATIC_BORDER_COLOR_OPAQUE_WHITE,\n         FLOAT minLOD = 0.f,\n         FLOAT maxLOD = D3D12_FLOAT32_MAX,\n         D3D12_SHADER_VISIBILITY shaderVisibility = D3D12_SHADER_VISIBILITY_ALL, \n         UINT registerSpace = 0)\n    {\n        samplerDesc.ShaderRegister = shaderRegister;\n        samplerDesc.Filter = filter;\n        samplerDesc.AddressU = addressU;\n        samplerDesc.AddressV = addressV;\n        samplerDesc.AddressW = addressW;\n        samplerDesc.MipLODBias = mipLODBias;\n        samplerDesc.MaxAnisotropy = maxAnisotropy;\n        samplerDesc.ComparisonFunc = comparisonFunc;\n        samplerDesc.BorderColor = borderColor;\n        samplerDesc.MinLOD = minLOD;\n        samplerDesc.MaxLOD = maxLOD;\n        samplerDesc.ShaderVisibility = shaderVisibility;\n        samplerDesc.RegisterSpace = registerSpace;\n    }\n    inline void Init(\n         UINT shaderRegister,\n         D3D12_FILTER filter = D3D12_FILTER_ANISOTROPIC,\n         D3D12_TEXTURE_ADDRESS_MODE addressU = D3D12_TEXTURE_ADDRESS_MODE_WRAP,\n         D3D12_TEXTURE_ADDRESS_MODE addressV = D3D12_TEXTURE_ADDRESS_MODE_WRAP,\n         D3D12_TEXTURE_ADDRESS_MODE addressW = D3D12_TEXTURE_ADDRESS_MODE_WRAP,\n         FLOAT mipLODBias = 0,\n         UINT maxAnisotropy = 16,\n         D3D12_COMPARISON_FUNC comparisonFunc = D3D12_COMPARISON_FUNC_LESS_EQUAL,\n         D3D12_STATIC_BORDER_COLOR borderColor = D3D12_STATIC_BORDER_COLOR_OPAQUE_WHITE,\n         FLOAT minLOD = 0.f,\n         FLOAT maxLOD = D3D12_FLOAT32_MAX,\n         D3D12_SHADER_VISIBILITY shaderVisibility = D3D12_SHADER_VISIBILITY_ALL, \n         UINT registerSpace = 0)\n    {\n        Init(\n            *this,\n            shaderRegister,\n            filter,\n            addressU,\n            addressV,\n            addressW,\n            mipLODBias,\n            maxAnisotropy,\n            comparisonFunc,\n            borderColor,\n            minLOD,\n            maxLOD,\n            shaderVisibility,\n            registerSpace);\n    }\n    \n};\n\n//------------------------------------------------------------------------------------------------\nstruct CD3DX12_ROOT_SIGNATURE_DESC : public D3D12_ROOT_SIGNATURE_DESC\n{\n    CD3DX12_ROOT_SIGNATURE_DESC() {}\n    explicit CD3DX12_ROOT_SIGNATURE_DESC(const D3D12_ROOT_SIGNATURE_DESC &o) :\n        D3D12_ROOT_SIGNATURE_DESC(o)\n    {}\n    CD3DX12_ROOT_SIGNATURE_DESC(\n        UINT numParameters,\n        _In_reads_opt_(numParameters) const D3D12_ROOT_PARAMETER* _pParameters,\n        UINT numStaticSamplers = 0,\n        _In_reads_opt_(numStaticSamplers) const D3D12_STATIC_SAMPLER_DESC* _pStaticSamplers = NULL,\n        D3D12_ROOT_SIGNATURE_FLAGS flags = D3D12_ROOT_SIGNATURE_FLAG_NONE)\n    {\n        Init(numParameters, _pParameters, numStaticSamplers, _pStaticSamplers, flags);\n    }\n    \n    inline void Init(\n        UINT numParameters,\n        _In_reads_opt_(numParameters) const D3D12_ROOT_PARAMETER* _pParameters,\n        UINT numStaticSamplers = 0,\n        _In_reads_opt_(numStaticSamplers) const D3D12_STATIC_SAMPLER_DESC* _pStaticSamplers = NULL,\n        D3D12_ROOT_SIGNATURE_FLAGS flags = D3D12_ROOT_SIGNATURE_FLAG_NONE)\n    {\n        Init(*this, numParameters, _pParameters, numStaticSamplers, _pStaticSamplers, flags);\n    }\n\n    static inline void Init(\n        _Out_ D3D12_ROOT_SIGNATURE_DESC &desc,\n        UINT numParameters,\n        _In_reads_opt_(numParameters) const D3D12_ROOT_PARAMETER* _pParameters,\n        UINT numStaticSamplers = 0,\n        _In_reads_opt_(numStaticSamplers) const D3D12_STATIC_SAMPLER_DESC* _pStaticSamplers = NULL,\n        D3D12_ROOT_SIGNATURE_FLAGS flags = D3D12_ROOT_SIGNATURE_FLAG_NONE)\n    {\n        desc.NumParameters = numParameters;\n        desc.pParameters = _pParameters;\n        desc.NumStaticSamplers = numStaticSamplers;\n        desc.pStaticSamplers = _pStaticSamplers;\n        desc.Flags = flags;\n    }\n    \n    CD3DX12_ROOT_SIGNATURE_DESC(CD3DX12_DEFAULT) : CD3DX12_ROOT_SIGNATURE_DESC(0,NULL,0,NULL,D3D12_ROOT_SIGNATURE_FLAG_NONE) {}\n};\n\n//------------------------------------------------------------------------------------------------\nstruct CD3DX12_CPU_DESCRIPTOR_HANDLE : public D3D12_CPU_DESCRIPTOR_HANDLE\n{\n    CD3DX12_CPU_DESCRIPTOR_HANDLE() {}\n    explicit CD3DX12_CPU_DESCRIPTOR_HANDLE(const D3D12_CPU_DESCRIPTOR_HANDLE &o) :\n        D3D12_CPU_DESCRIPTOR_HANDLE(o)\n    {}\n    CD3DX12_CPU_DESCRIPTOR_HANDLE(CD3DX12_DEFAULT) { ptr = 0; }\n    CD3DX12_CPU_DESCRIPTOR_HANDLE(_In_ const D3D12_CPU_DESCRIPTOR_HANDLE &other, INT offsetScaledByIncrementSize)\n    {\n        InitOffsetted(other, offsetScaledByIncrementSize);\n    }\n    CD3DX12_CPU_DESCRIPTOR_HANDLE(_In_ const D3D12_CPU_DESCRIPTOR_HANDLE &other, INT offsetInDescriptors, UINT descriptorIncrementSize)\n    {\n        InitOffsetted(other, offsetInDescriptors, descriptorIncrementSize);\n    }\n    CD3DX12_CPU_DESCRIPTOR_HANDLE& Offset(INT offsetInDescriptors, UINT descriptorIncrementSize)\n    { \n        ptr += offsetInDescriptors * descriptorIncrementSize;\n        return *this;\n    }\n    CD3DX12_CPU_DESCRIPTOR_HANDLE& Offset(INT offsetScaledByIncrementSize) \n    { \n        ptr += offsetScaledByIncrementSize;\n        return *this;\n    }\n    bool operator==(_In_ const D3D12_CPU_DESCRIPTOR_HANDLE& other)\n    {\n        return (ptr == other.ptr);\n    }\n    bool operator!=(_In_ const D3D12_CPU_DESCRIPTOR_HANDLE& other)\n    {\n        return (ptr != other.ptr);\n    }\n    CD3DX12_CPU_DESCRIPTOR_HANDLE &operator=(const D3D12_CPU_DESCRIPTOR_HANDLE &other)\n    {\n        ptr = other.ptr;\n        return *this;\n    }\n    \n    inline void InitOffsetted(_In_ const D3D12_CPU_DESCRIPTOR_HANDLE &base, INT offsetScaledByIncrementSize)\n    {\n        InitOffsetted(*this, base, offsetScaledByIncrementSize);\n    }\n    \n    inline void InitOffsetted(_In_ const D3D12_CPU_DESCRIPTOR_HANDLE &base, INT offsetInDescriptors, UINT descriptorIncrementSize)\n    {\n        InitOffsetted(*this, base, offsetInDescriptors, descriptorIncrementSize);\n    }\n    \n    static inline void InitOffsetted(_Out_ D3D12_CPU_DESCRIPTOR_HANDLE &handle, _In_ const D3D12_CPU_DESCRIPTOR_HANDLE &base, INT offsetScaledByIncrementSize)\n    {\n        handle.ptr = base.ptr + offsetScaledByIncrementSize;\n    }\n    \n    static inline void InitOffsetted(_Out_ D3D12_CPU_DESCRIPTOR_HANDLE &handle, _In_ const D3D12_CPU_DESCRIPTOR_HANDLE &base, INT offsetInDescriptors, UINT descriptorIncrementSize)\n    {\n        handle.ptr = base.ptr + offsetInDescriptors * descriptorIncrementSize;\n    }\n};\n\n//------------------------------------------------------------------------------------------------\nstruct CD3DX12_GPU_DESCRIPTOR_HANDLE : public D3D12_GPU_DESCRIPTOR_HANDLE\n{\n    CD3DX12_GPU_DESCRIPTOR_HANDLE() {}\n    explicit CD3DX12_GPU_DESCRIPTOR_HANDLE(const D3D12_GPU_DESCRIPTOR_HANDLE &o) :\n        D3D12_GPU_DESCRIPTOR_HANDLE(o)\n    {}\n    CD3DX12_GPU_DESCRIPTOR_HANDLE(CD3DX12_DEFAULT) { ptr = 0; }\n    CD3DX12_GPU_DESCRIPTOR_HANDLE(_In_ const D3D12_GPU_DESCRIPTOR_HANDLE &other, INT offsetScaledByIncrementSize)\n    {\n        InitOffsetted(other, offsetScaledByIncrementSize);\n    }\n    CD3DX12_GPU_DESCRIPTOR_HANDLE(_In_ const D3D12_GPU_DESCRIPTOR_HANDLE &other, INT offsetInDescriptors, UINT descriptorIncrementSize)\n    {\n        InitOffsetted(other, offsetInDescriptors, descriptorIncrementSize);\n    }\n    CD3DX12_GPU_DESCRIPTOR_HANDLE& Offset(INT offsetInDescriptors, UINT descriptorIncrementSize)\n    { \n        ptr += offsetInDescriptors * descriptorIncrementSize;\n        return *this;\n    }\n    CD3DX12_GPU_DESCRIPTOR_HANDLE& Offset(INT offsetScaledByIncrementSize) \n    { \n        ptr += offsetScaledByIncrementSize;\n        return *this;\n    }\n    inline bool operator==(_In_ const D3D12_GPU_DESCRIPTOR_HANDLE& other)\n    {\n        return (ptr == other.ptr);\n    }\n    inline bool operator!=(_In_ const D3D12_GPU_DESCRIPTOR_HANDLE& other)\n    {\n        return (ptr != other.ptr);\n    }\n    CD3DX12_GPU_DESCRIPTOR_HANDLE &operator=(const D3D12_GPU_DESCRIPTOR_HANDLE &other)\n    {\n        ptr = other.ptr;\n        return *this;\n    }\n    \n    inline void InitOffsetted(_In_ const D3D12_GPU_DESCRIPTOR_HANDLE &base, INT offsetScaledByIncrementSize)\n    {\n        InitOffsetted(*this, base, offsetScaledByIncrementSize);\n    }\n    \n    inline void InitOffsetted(_In_ const D3D12_GPU_DESCRIPTOR_HANDLE &base, INT offsetInDescriptors, UINT descriptorIncrementSize)\n    {\n        InitOffsetted(*this, base, offsetInDescriptors, descriptorIncrementSize);\n    }\n    \n    static inline void InitOffsetted(_Out_ D3D12_GPU_DESCRIPTOR_HANDLE &handle, _In_ const D3D12_GPU_DESCRIPTOR_HANDLE &base, INT offsetScaledByIncrementSize)\n    {\n        handle.ptr = base.ptr + offsetScaledByIncrementSize;\n    }\n    \n    static inline void InitOffsetted(_Out_ D3D12_GPU_DESCRIPTOR_HANDLE &handle, _In_ const D3D12_GPU_DESCRIPTOR_HANDLE &base, INT offsetInDescriptors, UINT descriptorIncrementSize)\n    {\n        handle.ptr = base.ptr + offsetInDescriptors * descriptorIncrementSize;\n    }\n};\n\n//------------------------------------------------------------------------------------------------\ninline UINT D3D12CalcSubresource( UINT MipSlice, UINT ArraySlice, UINT PlaneSlice, UINT MipLevels, UINT ArraySize )\n{ \n    return MipSlice + ArraySlice * MipLevels + PlaneSlice * MipLevels * ArraySize; \n}\n\n//------------------------------------------------------------------------------------------------\ntemplate <typename T, typename U, typename V>\ninline void D3D12DecomposeSubresource( UINT Subresource, UINT MipLevels, UINT ArraySize, _Out_ T& MipSlice, _Out_ U& ArraySlice, _Out_ V& PlaneSlice )\n{\n    MipSlice = static_cast<T>(Subresource % MipLevels);\n    ArraySlice = static_cast<U>((Subresource / MipLevels) % ArraySize);\n    PlaneSlice = static_cast<V>(Subresource / (MipLevels * ArraySize));\n}\n\n//------------------------------------------------------------------------------------------------\ninline UINT8 D3D12GetFormatPlaneCount(\n    _In_ ID3D12Device* pDevice,\n    DXGI_FORMAT Format\n    )\n{\n    D3D12_FEATURE_DATA_FORMAT_INFO formatInfo = {Format};\n    if (FAILED(pDevice->CheckFeatureSupport(D3D12_FEATURE_FORMAT_INFO, &formatInfo, sizeof(formatInfo))))\n    {\n        return 0;\n    }\n    return formatInfo.PlaneCount;\n}\n\n//------------------------------------------------------------------------------------------------\nstruct CD3DX12_RESOURCE_DESC : public D3D12_RESOURCE_DESC\n{\n    CD3DX12_RESOURCE_DESC()\n    {}\n    explicit CD3DX12_RESOURCE_DESC( const D3D12_RESOURCE_DESC& o ) :\n        D3D12_RESOURCE_DESC( o )\n    {}\n    CD3DX12_RESOURCE_DESC( \n        D3D12_RESOURCE_DIMENSION dimension,\n        UINT64 alignment,\n        UINT64 width,\n        UINT height,\n        UINT16 depthOrArraySize,\n        UINT16 mipLevels,\n        DXGI_FORMAT format,\n        UINT sampleCount,\n        UINT sampleQuality,\n        D3D12_TEXTURE_LAYOUT layout,\n        D3D12_RESOURCE_FLAGS flags )\n    {\n        Dimension = dimension;\n        Alignment = alignment;\n        Width = width;\n        Height = height;\n        DepthOrArraySize = depthOrArraySize;\n        MipLevels = mipLevels;\n        Format = format;\n        SampleDesc.Count = sampleCount;\n        SampleDesc.Quality = sampleQuality;\n        Layout = layout;\n        Flags = flags;\n    }\n    static inline CD3DX12_RESOURCE_DESC Buffer( \n        const D3D12_RESOURCE_ALLOCATION_INFO& resAllocInfo,\n        D3D12_RESOURCE_FLAGS flags = D3D12_RESOURCE_FLAG_NONE )\n    {\n        return CD3DX12_RESOURCE_DESC( D3D12_RESOURCE_DIMENSION_BUFFER, resAllocInfo.Alignment, resAllocInfo.SizeInBytes, \n            1, 1, 1, DXGI_FORMAT_UNKNOWN, 1, 0, D3D12_TEXTURE_LAYOUT_ROW_MAJOR, flags );\n    }\n    static inline CD3DX12_RESOURCE_DESC Buffer( \n        UINT64 width,\n        D3D12_RESOURCE_FLAGS flags = D3D12_RESOURCE_FLAG_NONE,\n        UINT64 alignment = 0 )\n    {\n        return CD3DX12_RESOURCE_DESC( D3D12_RESOURCE_DIMENSION_BUFFER, alignment, width, 1, 1, 1, \n            DXGI_FORMAT_UNKNOWN, 1, 0, D3D12_TEXTURE_LAYOUT_ROW_MAJOR, flags );\n    }\n    static inline CD3DX12_RESOURCE_DESC Tex1D( \n        DXGI_FORMAT format,\n        UINT64 width,\n        UINT16 arraySize = 1,\n        UINT16 mipLevels = 0,\n        D3D12_RESOURCE_FLAGS flags = D3D12_RESOURCE_FLAG_NONE,\n        D3D12_TEXTURE_LAYOUT layout = D3D12_TEXTURE_LAYOUT_UNKNOWN,\n        UINT64 alignment = 0 )\n    {\n        return CD3DX12_RESOURCE_DESC( D3D12_RESOURCE_DIMENSION_TEXTURE1D, alignment, width, 1, arraySize, \n            mipLevels, format, 1, 0, layout, flags );\n    }\n    static inline CD3DX12_RESOURCE_DESC Tex2D( \n        DXGI_FORMAT format,\n        UINT64 width,\n        UINT height,\n        UINT16 arraySize = 1,\n        UINT16 mipLevels = 0,\n        UINT sampleCount = 1,\n        UINT sampleQuality = 0,\n        D3D12_RESOURCE_FLAGS flags = D3D12_RESOURCE_FLAG_NONE,\n        D3D12_TEXTURE_LAYOUT layout = D3D12_TEXTURE_LAYOUT_UNKNOWN,\n        UINT64 alignment = 0 )\n    {\n        return CD3DX12_RESOURCE_DESC( D3D12_RESOURCE_DIMENSION_TEXTURE2D, alignment, width, height, arraySize, \n            mipLevels, format, sampleCount, sampleQuality, layout, flags );\n    }\n    static inline CD3DX12_RESOURCE_DESC Tex3D( \n        DXGI_FORMAT format,\n        UINT64 width,\n        UINT height,\n        UINT16 depth,\n        UINT16 mipLevels = 0,\n        D3D12_RESOURCE_FLAGS flags = D3D12_RESOURCE_FLAG_NONE,\n        D3D12_TEXTURE_LAYOUT layout = D3D12_TEXTURE_LAYOUT_UNKNOWN,\n        UINT64 alignment = 0 )\n    {\n        return CD3DX12_RESOURCE_DESC( D3D12_RESOURCE_DIMENSION_TEXTURE3D, alignment, width, height, depth, \n            mipLevels, format, 1, 0, layout, flags );\n    }\n    inline UINT16 Depth() const\n    { return (Dimension == D3D12_RESOURCE_DIMENSION_TEXTURE3D ? DepthOrArraySize : 1); }\n    inline UINT16 ArraySize() const\n    { return (Dimension != D3D12_RESOURCE_DIMENSION_TEXTURE3D ? DepthOrArraySize : 1); }\n    inline UINT8 PlaneCount(_In_ ID3D12Device* pDevice) const\n    { return D3D12GetFormatPlaneCount(pDevice, Format); }\n    inline UINT Subresources(_In_ ID3D12Device* pDevice) const\n    { return MipLevels * ArraySize() * PlaneCount(pDevice); }\n    inline UINT CalcSubresource(UINT MipSlice, UINT ArraySlice, UINT PlaneSlice)\n    { return D3D12CalcSubresource(MipSlice, ArraySlice, PlaneSlice, MipLevels, ArraySize()); }\n    operator const D3D12_RESOURCE_DESC&() const { return *this; }\n};\n\n//------------------------------------------------------------------------------------------------\n// Row-by-row memcpy\ninline void MemcpySubresource(\n    _In_ const D3D12_MEMCPY_DEST* pDest,\n    _In_ const D3D12_SUBRESOURCE_DATA* pSrc,\n    SIZE_T RowSizeInBytes,\n    UINT NumRows,\n    UINT NumSlices)\n{\n    for (UINT z = 0; z < NumSlices; ++z)\n    {\n        BYTE* pDestSlice = reinterpret_cast<BYTE*>(pDest->pData) + pDest->SlicePitch * z;\n        const BYTE* pSrcSlice = reinterpret_cast<const BYTE*>(pSrc->pData) + pSrc->SlicePitch * z;\n        for (UINT y = 0; y < NumRows; ++y)\n        {\n            memcpy(pDestSlice + pDest->RowPitch * y,\n                   pSrcSlice + pSrc->RowPitch * y,\n                   RowSizeInBytes);\n        }\n    }\n}\n\n//------------------------------------------------------------------------------------------------\n// Returns required size of a buffer to be used for data upload\ninline UINT64 GetRequiredIntermediateSize(\n    _In_ ID3D12Resource* pDestinationResource,\n    _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,\n    _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources)\n{\n    D3D12_RESOURCE_DESC Desc = pDestinationResource->GetDesc();\n    UINT64 RequiredSize = 0;\n    \n    ID3D12Device* pDevice;\n    pDestinationResource->GetDevice(__uuidof(*pDevice), reinterpret_cast<void**>(&pDevice));\n    pDevice->GetCopyableFootprints(&Desc, FirstSubresource, NumSubresources, 0, nullptr, nullptr, nullptr, &RequiredSize);\n    pDevice->Release();\n    \n    return RequiredSize;\n}\n\n//------------------------------------------------------------------------------------------------\n// All arrays must be populated (e.g. by calling GetCopyableFootprints)\ninline UINT64 UpdateSubresources(\n    _In_ ID3D12GraphicsCommandList* pCmdList,\n    _In_ ID3D12Resource* pDestinationResource,\n    _In_ ID3D12Resource* pIntermediate,\n    _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,\n    _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources,\n    UINT64 RequiredSize,\n    _In_reads_(NumSubresources) const D3D12_PLACED_SUBRESOURCE_FOOTPRINT* pLayouts,\n    _In_reads_(NumSubresources) const UINT* pNumRows,\n    _In_reads_(NumSubresources) const UINT64* pRowSizesInBytes,\n    _In_reads_(NumSubresources) const D3D12_SUBRESOURCE_DATA* pSrcData)\n{\n    // Minor validation\n    D3D12_RESOURCE_DESC IntermediateDesc = pIntermediate->GetDesc();\n    D3D12_RESOURCE_DESC DestinationDesc = pDestinationResource->GetDesc();\n    if (IntermediateDesc.Dimension != D3D12_RESOURCE_DIMENSION_BUFFER || \n        IntermediateDesc.Width < RequiredSize + pLayouts[0].Offset || \n        RequiredSize > (SIZE_T)-1 || \n        (DestinationDesc.Dimension == D3D12_RESOURCE_DIMENSION_BUFFER && \n            (FirstSubresource != 0 || NumSubresources != 1)))\n    {\n        return 0;\n    }\n    \n    BYTE* pData;\n    HRESULT hr = pIntermediate->Map(0, NULL, reinterpret_cast<void**>(&pData));\n    if (FAILED(hr))\n    {\n        return 0;\n    }\n    \n    for (UINT i = 0; i < NumSubresources; ++i)\n    {\n        if (pRowSizesInBytes[i] > (SIZE_T)-1) return 0;\n        D3D12_MEMCPY_DEST DestData = { pData + pLayouts[i].Offset, pLayouts[i].Footprint.RowPitch, pLayouts[i].Footprint.RowPitch * pNumRows[i] };\n        MemcpySubresource(&DestData, &pSrcData[i], (SIZE_T)pRowSizesInBytes[i], pNumRows[i], pLayouts[i].Footprint.Depth);\n    }\n    pIntermediate->Unmap(0, NULL);\n    \n    if (DestinationDesc.Dimension == D3D12_RESOURCE_DIMENSION_BUFFER)\n    {\n        CD3DX12_BOX SrcBox( UINT( pLayouts[0].Offset ), UINT( pLayouts[0].Offset + pLayouts[0].Footprint.Width ) );\n        pCmdList->CopyBufferRegion(\n            pDestinationResource, 0, pIntermediate, pLayouts[0].Offset, pLayouts[0].Footprint.Width);\n    }\n    else\n    {\n        for (UINT i = 0; i < NumSubresources; ++i)\n        {\n            CD3DX12_TEXTURE_COPY_LOCATION Dst(pDestinationResource, i + FirstSubresource);\n            CD3DX12_TEXTURE_COPY_LOCATION Src(pIntermediate, pLayouts[i]);\n            pCmdList->CopyTextureRegion(&Dst, 0, 0, 0, &Src, nullptr);\n        }\n    }\n    return RequiredSize;\n}\n\n//------------------------------------------------------------------------------------------------\n// Heap-allocating UpdateSubresources implementation\ninline UINT64 UpdateSubresources( \n    _In_ ID3D12GraphicsCommandList* pCmdList,\n    _In_ ID3D12Resource* pDestinationResource,\n    _In_ ID3D12Resource* pIntermediate,\n    UINT64 IntermediateOffset,\n    _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,\n    _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources,\n    _In_reads_(NumSubresources) D3D12_SUBRESOURCE_DATA* pSrcData)\n{\n    UINT64 RequiredSize = 0;\n    UINT64 MemToAlloc = static_cast<UINT64>(sizeof(D3D12_PLACED_SUBRESOURCE_FOOTPRINT) + sizeof(UINT) + sizeof(UINT64)) * NumSubresources;\n    if (MemToAlloc > SIZE_MAX)\n    {\n       return 0;\n    }\n    void* pMem = HeapAlloc(GetProcessHeap(), 0, static_cast<SIZE_T>(MemToAlloc));\n    if (pMem == NULL)\n    {\n       return 0;\n    }\n    D3D12_PLACED_SUBRESOURCE_FOOTPRINT* pLayouts = reinterpret_cast<D3D12_PLACED_SUBRESOURCE_FOOTPRINT*>(pMem);\n    UINT64* pRowSizesInBytes = reinterpret_cast<UINT64*>(pLayouts + NumSubresources);\n    UINT* pNumRows = reinterpret_cast<UINT*>(pRowSizesInBytes + NumSubresources);\n    \n    D3D12_RESOURCE_DESC Desc = pDestinationResource->GetDesc();\n    ID3D12Device* pDevice;\n    pDestinationResource->GetDevice(__uuidof(*pDevice), reinterpret_cast<void**>(&pDevice));\n    pDevice->GetCopyableFootprints(&Desc, FirstSubresource, NumSubresources, IntermediateOffset, pLayouts, pNumRows, pRowSizesInBytes, &RequiredSize);\n    pDevice->Release();\n    \n    UINT64 Result = UpdateSubresources(pCmdList, pDestinationResource, pIntermediate, FirstSubresource, NumSubresources, RequiredSize, pLayouts, pNumRows, pRowSizesInBytes, pSrcData);\n    HeapFree(GetProcessHeap(), 0, pMem);\n    return Result;\n}\n\n//------------------------------------------------------------------------------------------------\n// Stack-allocating UpdateSubresources implementation\ntemplate <UINT MaxSubresources>\ninline UINT64 UpdateSubresources( \n    _In_ ID3D12GraphicsCommandList* pCmdList,\n    _In_ ID3D12Resource* pDestinationResource,\n    _In_ ID3D12Resource* pIntermediate,\n    UINT64 IntermediateOffset,\n    _In_range_(0, MaxSubresources) UINT FirstSubresource,\n    _In_range_(1, MaxSubresources - FirstSubresource) UINT NumSubresources,\n    _In_reads_(NumSubresources) D3D12_SUBRESOURCE_DATA* pSrcData)\n{\n    UINT64 RequiredSize = 0;\n    D3D12_PLACED_SUBRESOURCE_FOOTPRINT Layouts[MaxSubresources];\n    UINT NumRows[MaxSubresources];\n    UINT64 RowSizesInBytes[MaxSubresources];\n    \n    D3D12_RESOURCE_DESC Desc = pDestinationResource->GetDesc();\n    ID3D12Device* pDevice;\n    pDestinationResource->GetDevice(__uuidof(*pDevice), reinterpret_cast<void**>(&pDevice));\n    pDevice->GetCopyableFootprints(&Desc, FirstSubresource, NumSubresources, IntermediateOffset, Layouts, NumRows, RowSizesInBytes, &RequiredSize);\n    pDevice->Release();\n    \n    return UpdateSubresources(pCmdList, pDestinationResource, pIntermediate, FirstSubresource, NumSubresources, RequiredSize, Layouts, NumRows, RowSizesInBytes, pSrcData);\n}\n\n//------------------------------------------------------------------------------------------------\ninline bool D3D12IsLayoutOpaque( D3D12_TEXTURE_LAYOUT Layout )\n{ return Layout == D3D12_TEXTURE_LAYOUT_UNKNOWN || Layout == D3D12_TEXTURE_LAYOUT_64KB_UNDEFINED_SWIZZLE; }\n\n//------------------------------------------------------------------------------------------------\ninline ID3D12CommandList * const * CommandListCast(ID3D12GraphicsCommandList * const * pp)\n{\n    // This cast is useful for passing strongly typed command list pointers into\n    // ExecuteCommandLists.\n    // This cast is valid as long as the const-ness is respected. D3D12 APIs do\n    // respect the const-ness of their arguments.\n    return reinterpret_cast<ID3D12CommandList * const *>(pp);\n}\n\n\n#endif // defined( __cplusplus )\n\n#endif //__D3DX12_H__\n\n\n\n"
  },
  {
    "path": "external/D3D12/include/dxgi.h",
    "content": "\n\n/* this ALWAYS GENERATED file contains the definitions for the interfaces */\n\n\n /* File created by MIDL compiler version 8.01.0618 */\n/* @@MIDL_FILE_HEADING(  ) */\n\n\n\n/* verify that the <rpcndr.h> version is high enough to compile this file*/\n#ifndef __REQUIRED_RPCNDR_H_VERSION__\n#define __REQUIRED_RPCNDR_H_VERSION__ 500\n#endif\n\n/* verify that the <rpcsal.h> version is high enough to compile this file*/\n#ifndef __REQUIRED_RPCSAL_H_VERSION__\n#define __REQUIRED_RPCSAL_H_VERSION__ 100\n#endif\n\n#include \"rpc.h\"\n#include \"rpcndr.h\"\n\n#ifndef __RPCNDR_H_VERSION__\n#error this stub requires an updated version of <rpcndr.h>\n#endif /* __RPCNDR_H_VERSION__ */\n\n#ifndef COM_NO_WINDOWS_H\n#include \"windows.h\"\n#include \"ole2.h\"\n#endif /*COM_NO_WINDOWS_H*/\n\n#ifndef __dxgi_h__\n#define __dxgi_h__\n\n#if defined(_MSC_VER) && (_MSC_VER >= 1020)\n#pragma once\n#endif\n\n/* Forward Declarations */ \n\n#ifndef __IDXGIObject_FWD_DEFINED__\n#define __IDXGIObject_FWD_DEFINED__\ntypedef interface IDXGIObject IDXGIObject;\n\n#endif \t/* __IDXGIObject_FWD_DEFINED__ */\n\n\n#ifndef __IDXGIDeviceSubObject_FWD_DEFINED__\n#define __IDXGIDeviceSubObject_FWD_DEFINED__\ntypedef interface IDXGIDeviceSubObject IDXGIDeviceSubObject;\n\n#endif \t/* __IDXGIDeviceSubObject_FWD_DEFINED__ */\n\n\n#ifndef __IDXGIResource_FWD_DEFINED__\n#define __IDXGIResource_FWD_DEFINED__\ntypedef interface IDXGIResource IDXGIResource;\n\n#endif \t/* __IDXGIResource_FWD_DEFINED__ */\n\n\n#ifndef __IDXGIKeyedMutex_FWD_DEFINED__\n#define __IDXGIKeyedMutex_FWD_DEFINED__\ntypedef interface IDXGIKeyedMutex IDXGIKeyedMutex;\n\n#endif \t/* __IDXGIKeyedMutex_FWD_DEFINED__ */\n\n\n#ifndef __IDXGISurface_FWD_DEFINED__\n#define __IDXGISurface_FWD_DEFINED__\ntypedef interface IDXGISurface IDXGISurface;\n\n#endif \t/* __IDXGISurface_FWD_DEFINED__ */\n\n\n#ifndef __IDXGISurface1_FWD_DEFINED__\n#define __IDXGISurface1_FWD_DEFINED__\ntypedef interface IDXGISurface1 IDXGISurface1;\n\n#endif \t/* __IDXGISurface1_FWD_DEFINED__ */\n\n\n#ifndef __IDXGIAdapter_FWD_DEFINED__\n#define __IDXGIAdapter_FWD_DEFINED__\ntypedef interface IDXGIAdapter IDXGIAdapter;\n\n#endif \t/* __IDXGIAdapter_FWD_DEFINED__ */\n\n\n#ifndef __IDXGIOutput_FWD_DEFINED__\n#define __IDXGIOutput_FWD_DEFINED__\ntypedef interface IDXGIOutput IDXGIOutput;\n\n#endif \t/* __IDXGIOutput_FWD_DEFINED__ */\n\n\n#ifndef __IDXGISwapChain_FWD_DEFINED__\n#define __IDXGISwapChain_FWD_DEFINED__\ntypedef interface IDXGISwapChain IDXGISwapChain;\n\n#endif \t/* __IDXGISwapChain_FWD_DEFINED__ */\n\n\n#ifndef __IDXGIFactory_FWD_DEFINED__\n#define __IDXGIFactory_FWD_DEFINED__\ntypedef interface IDXGIFactory IDXGIFactory;\n\n#endif \t/* __IDXGIFactory_FWD_DEFINED__ */\n\n\n#ifndef __IDXGIDevice_FWD_DEFINED__\n#define __IDXGIDevice_FWD_DEFINED__\ntypedef interface IDXGIDevice IDXGIDevice;\n\n#endif \t/* __IDXGIDevice_FWD_DEFINED__ */\n\n\n#ifndef __IDXGIFactory1_FWD_DEFINED__\n#define __IDXGIFactory1_FWD_DEFINED__\ntypedef interface IDXGIFactory1 IDXGIFactory1;\n\n#endif \t/* __IDXGIFactory1_FWD_DEFINED__ */\n\n\n#ifndef __IDXGIAdapter1_FWD_DEFINED__\n#define __IDXGIAdapter1_FWD_DEFINED__\ntypedef interface IDXGIAdapter1 IDXGIAdapter1;\n\n#endif \t/* __IDXGIAdapter1_FWD_DEFINED__ */\n\n\n#ifndef __IDXGIDevice1_FWD_DEFINED__\n#define __IDXGIDevice1_FWD_DEFINED__\ntypedef interface IDXGIDevice1 IDXGIDevice1;\n\n#endif \t/* __IDXGIDevice1_FWD_DEFINED__ */\n\n\n/* header files for imported files */\n#include \"oaidl.h\"\n#include \"ocidl.h\"\n#include \"dxgitype.h\"\n\n#ifdef __cplusplus\nextern \"C\"{\n#endif \n\n\n/* interface __MIDL_itf_dxgi_0000_0000 */\n/* [local] */ \n\n#include <winapifamily.h>\n#define DXGI_CPU_ACCESS_NONE    ( 0 )\n#define DXGI_CPU_ACCESS_DYNAMIC    ( 1 )\n#define DXGI_CPU_ACCESS_READ_WRITE    ( 2 )\n#define DXGI_CPU_ACCESS_SCRATCH    ( 3 )\n#define DXGI_CPU_ACCESS_FIELD        15\n#define DXGI_USAGE_SHADER_INPUT             0x00000010UL\n#define DXGI_USAGE_RENDER_TARGET_OUTPUT     0x00000020UL\n#define DXGI_USAGE_BACK_BUFFER              0x00000040UL\n#define DXGI_USAGE_SHARED                   0x00000080UL\n#define DXGI_USAGE_READ_ONLY                0x00000100UL\n#define DXGI_USAGE_DISCARD_ON_PRESENT       0x00000200UL\n#define DXGI_USAGE_UNORDERED_ACCESS         0x00000400UL\ntypedef UINT DXGI_USAGE;\n\ntypedef struct DXGI_FRAME_STATISTICS\n    {\n    UINT PresentCount;\n    UINT PresentRefreshCount;\n    UINT SyncRefreshCount;\n    LARGE_INTEGER SyncQPCTime;\n    LARGE_INTEGER SyncGPUTime;\n    } \tDXGI_FRAME_STATISTICS;\n\ntypedef struct DXGI_MAPPED_RECT\n    {\n    INT Pitch;\n    BYTE *pBits;\n    } \tDXGI_MAPPED_RECT;\n\n#ifdef __midl\ntypedef struct _LUID\n    {\n    DWORD LowPart;\n    LONG HighPart;\n    } \tLUID;\n\ntypedef struct _LUID *PLUID;\n\n#endif\ntypedef struct DXGI_ADAPTER_DESC\n    {\n    WCHAR Description[ 128 ];\n    UINT VendorId;\n    UINT DeviceId;\n    UINT SubSysId;\n    UINT Revision;\n    SIZE_T DedicatedVideoMemory;\n    SIZE_T DedicatedSystemMemory;\n    SIZE_T SharedSystemMemory;\n    LUID AdapterLuid;\n    } \tDXGI_ADAPTER_DESC;\n\n#if !defined(HMONITOR_DECLARED) && !defined(HMONITOR) && (WINVER < 0x0500)\n#define HMONITOR_DECLARED\n#if 0\ntypedef HANDLE HMONITOR;\n\n#endif\nDECLARE_HANDLE(HMONITOR);\n#endif\ntypedef struct DXGI_OUTPUT_DESC\n    {\n    WCHAR DeviceName[ 32 ];\n    RECT DesktopCoordinates;\n    BOOL AttachedToDesktop;\n    DXGI_MODE_ROTATION Rotation;\n    HMONITOR Monitor;\n    } \tDXGI_OUTPUT_DESC;\n\ntypedef struct DXGI_SHARED_RESOURCE\n    {\n    HANDLE Handle;\n    } \tDXGI_SHARED_RESOURCE;\n\n#define\tDXGI_RESOURCE_PRIORITY_MINIMUM\t( 0x28000000 )\n\n#define\tDXGI_RESOURCE_PRIORITY_LOW\t( 0x50000000 )\n\n#define\tDXGI_RESOURCE_PRIORITY_NORMAL\t( 0x78000000 )\n\n#define\tDXGI_RESOURCE_PRIORITY_HIGH\t( 0xa0000000 )\n\n#define\tDXGI_RESOURCE_PRIORITY_MAXIMUM\t( 0xc8000000 )\n\ntypedef \nenum DXGI_RESIDENCY\n    {\n        DXGI_RESIDENCY_FULLY_RESIDENT\t= 1,\n        DXGI_RESIDENCY_RESIDENT_IN_SHARED_MEMORY\t= 2,\n        DXGI_RESIDENCY_EVICTED_TO_DISK\t= 3\n    } \tDXGI_RESIDENCY;\n\ntypedef struct DXGI_SURFACE_DESC\n    {\n    UINT Width;\n    UINT Height;\n    DXGI_FORMAT Format;\n    DXGI_SAMPLE_DESC SampleDesc;\n    } \tDXGI_SURFACE_DESC;\n\ntypedef \nenum DXGI_SWAP_EFFECT\n    {\n        DXGI_SWAP_EFFECT_DISCARD\t= 0,\n        DXGI_SWAP_EFFECT_SEQUENTIAL\t= 1,\n        DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL\t= 3,\n        DXGI_SWAP_EFFECT_FLIP_DISCARD\t= 4\n    } \tDXGI_SWAP_EFFECT;\n\ntypedef \nenum DXGI_SWAP_CHAIN_FLAG\n    {\n        DXGI_SWAP_CHAIN_FLAG_NONPREROTATED\t= 1,\n        DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH\t= 2,\n        DXGI_SWAP_CHAIN_FLAG_GDI_COMPATIBLE\t= 4,\n        DXGI_SWAP_CHAIN_FLAG_RESTRICTED_CONTENT\t= 8,\n        DXGI_SWAP_CHAIN_FLAG_RESTRICT_SHARED_RESOURCE_DRIVER\t= 16,\n        DXGI_SWAP_CHAIN_FLAG_DISPLAY_ONLY\t= 32,\n        DXGI_SWAP_CHAIN_FLAG_FRAME_LATENCY_WAITABLE_OBJECT\t= 64,\n        DXGI_SWAP_CHAIN_FLAG_FOREGROUND_LAYER\t= 128,\n        DXGI_SWAP_CHAIN_FLAG_FULLSCREEN_VIDEO\t= 256,\n        DXGI_SWAP_CHAIN_FLAG_YUV_VIDEO\t= 512,\n        DXGI_SWAP_CHAIN_FLAG_HW_PROTECTED\t= 1024,\n        DXGI_SWAP_CHAIN_FLAG_ALLOW_TEARING\t= 2048\n    } \tDXGI_SWAP_CHAIN_FLAG;\n\ntypedef struct DXGI_SWAP_CHAIN_DESC\n    {\n    DXGI_MODE_DESC BufferDesc;\n    DXGI_SAMPLE_DESC SampleDesc;\n    DXGI_USAGE BufferUsage;\n    UINT BufferCount;\n    HWND OutputWindow;\n    BOOL Windowed;\n    DXGI_SWAP_EFFECT SwapEffect;\n    UINT Flags;\n    } \tDXGI_SWAP_CHAIN_DESC;\n\n\n\nextern RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0000_v0_0_c_ifspec;\nextern RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0000_v0_0_s_ifspec;\n\n#ifndef __IDXGIObject_INTERFACE_DEFINED__\n#define __IDXGIObject_INTERFACE_DEFINED__\n\n/* interface IDXGIObject */\n/* [unique][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDXGIObject;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"aec22fb8-76f3-4639-9be0-28eb43a67a2e\")\n    IDXGIObject : public IUnknown\n    {\n    public:\n        virtual HRESULT STDMETHODCALLTYPE SetPrivateData( \n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [in] */ UINT DataSize,\n            /* [annotation][in] */ \n            _In_reads_bytes_(DataSize)  const void *pData) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE SetPrivateDataInterface( \n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [annotation][in] */ \n            _In_  const IUnknown *pUnknown) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE GetPrivateData( \n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [annotation][out][in] */ \n            _Inout_  UINT *pDataSize,\n            /* [annotation][out] */ \n            _Out_writes_bytes_(*pDataSize)  void *pData) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE GetParent( \n            /* [annotation][in] */ \n            _In_  REFIID riid,\n            /* [annotation][retval][out] */ \n            _COM_Outptr_  void **ppParent) = 0;\n        \n    };\n    \n    \n#else \t/* C style interface */\n\n    typedef struct IDXGIObjectVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDXGIObject * This,\n            /* [in] */ REFIID riid,\n            /* [annotation][iid_is][out] */ \n            _COM_Outptr_  void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDXGIObject * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDXGIObject * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( \n            IDXGIObject * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [in] */ UINT DataSize,\n            /* [annotation][in] */ \n            _In_reads_bytes_(DataSize)  const void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( \n            IDXGIObject * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [annotation][in] */ \n            _In_  const IUnknown *pUnknown);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( \n            IDXGIObject * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [annotation][out][in] */ \n            _Inout_  UINT *pDataSize,\n            /* [annotation][out] */ \n            _Out_writes_bytes_(*pDataSize)  void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetParent )( \n            IDXGIObject * This,\n            /* [annotation][in] */ \n            _In_  REFIID riid,\n            /* [annotation][retval][out] */ \n            _COM_Outptr_  void **ppParent);\n        \n        END_INTERFACE\n    } IDXGIObjectVtbl;\n\n    interface IDXGIObject\n    {\n        CONST_VTBL struct IDXGIObjectVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDXGIObject_QueryInterface(This,riid,ppvObject)\t\\\n    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \n\n#define IDXGIObject_AddRef(This)\t\\\n    ( (This)->lpVtbl -> AddRef(This) ) \n\n#define IDXGIObject_Release(This)\t\\\n    ( (This)->lpVtbl -> Release(This) ) \n\n\n#define IDXGIObject_SetPrivateData(This,Name,DataSize,pData)\t\\\n    ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) ) \n\n#define IDXGIObject_SetPrivateDataInterface(This,Name,pUnknown)\t\\\n    ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) ) \n\n#define IDXGIObject_GetPrivateData(This,Name,pDataSize,pData)\t\\\n    ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) ) \n\n#define IDXGIObject_GetParent(This,riid,ppParent)\t\\\n    ( (This)->lpVtbl -> GetParent(This,riid,ppParent) ) \n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n\n#endif \t/* __IDXGIObject_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDXGIDeviceSubObject_INTERFACE_DEFINED__\n#define __IDXGIDeviceSubObject_INTERFACE_DEFINED__\n\n/* interface IDXGIDeviceSubObject */\n/* [unique][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDXGIDeviceSubObject;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"3d3e0379-f9de-4d58-bb6c-18d62992f1a6\")\n    IDXGIDeviceSubObject : public IDXGIObject\n    {\n    public:\n        virtual HRESULT STDMETHODCALLTYPE GetDevice( \n            /* [annotation][in] */ \n            _In_  REFIID riid,\n            /* [annotation][retval][out] */ \n            _COM_Outptr_  void **ppDevice) = 0;\n        \n    };\n    \n    \n#else \t/* C style interface */\n\n    typedef struct IDXGIDeviceSubObjectVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDXGIDeviceSubObject * This,\n            /* [in] */ REFIID riid,\n            /* [annotation][iid_is][out] */ \n            _COM_Outptr_  void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDXGIDeviceSubObject * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDXGIDeviceSubObject * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( \n            IDXGIDeviceSubObject * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [in] */ UINT DataSize,\n            /* [annotation][in] */ \n            _In_reads_bytes_(DataSize)  const void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( \n            IDXGIDeviceSubObject * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [annotation][in] */ \n            _In_  const IUnknown *pUnknown);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( \n            IDXGIDeviceSubObject * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [annotation][out][in] */ \n            _Inout_  UINT *pDataSize,\n            /* [annotation][out] */ \n            _Out_writes_bytes_(*pDataSize)  void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetParent )( \n            IDXGIDeviceSubObject * This,\n            /* [annotation][in] */ \n            _In_  REFIID riid,\n            /* [annotation][retval][out] */ \n            _COM_Outptr_  void **ppParent);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetDevice )( \n            IDXGIDeviceSubObject * This,\n            /* [annotation][in] */ \n            _In_  REFIID riid,\n            /* [annotation][retval][out] */ \n            _COM_Outptr_  void **ppDevice);\n        \n        END_INTERFACE\n    } IDXGIDeviceSubObjectVtbl;\n\n    interface IDXGIDeviceSubObject\n    {\n        CONST_VTBL struct IDXGIDeviceSubObjectVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDXGIDeviceSubObject_QueryInterface(This,riid,ppvObject)\t\\\n    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \n\n#define IDXGIDeviceSubObject_AddRef(This)\t\\\n    ( (This)->lpVtbl -> AddRef(This) ) \n\n#define IDXGIDeviceSubObject_Release(This)\t\\\n    ( (This)->lpVtbl -> Release(This) ) \n\n\n#define IDXGIDeviceSubObject_SetPrivateData(This,Name,DataSize,pData)\t\\\n    ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) ) \n\n#define IDXGIDeviceSubObject_SetPrivateDataInterface(This,Name,pUnknown)\t\\\n    ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) ) \n\n#define IDXGIDeviceSubObject_GetPrivateData(This,Name,pDataSize,pData)\t\\\n    ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) ) \n\n#define IDXGIDeviceSubObject_GetParent(This,riid,ppParent)\t\\\n    ( (This)->lpVtbl -> GetParent(This,riid,ppParent) ) \n\n\n#define IDXGIDeviceSubObject_GetDevice(This,riid,ppDevice)\t\\\n    ( (This)->lpVtbl -> GetDevice(This,riid,ppDevice) ) \n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n\n#endif \t/* __IDXGIDeviceSubObject_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDXGIResource_INTERFACE_DEFINED__\n#define __IDXGIResource_INTERFACE_DEFINED__\n\n/* interface IDXGIResource */\n/* [unique][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDXGIResource;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"035f3ab4-482e-4e50-b41f-8a7f8bd8960b\")\n    IDXGIResource : public IDXGIDeviceSubObject\n    {\n    public:\n        virtual HRESULT STDMETHODCALLTYPE GetSharedHandle( \n            /* [annotation][out] */ \n            _Out_  HANDLE *pSharedHandle) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE GetUsage( \n            /* [out] */ DXGI_USAGE *pUsage) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE SetEvictionPriority( \n            /* [in] */ UINT EvictionPriority) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE GetEvictionPriority( \n            /* [annotation][retval][out] */ \n            _Out_  UINT *pEvictionPriority) = 0;\n        \n    };\n    \n    \n#else \t/* C style interface */\n\n    typedef struct IDXGIResourceVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDXGIResource * This,\n            /* [in] */ REFIID riid,\n            /* [annotation][iid_is][out] */ \n            _COM_Outptr_  void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDXGIResource * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDXGIResource * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( \n            IDXGIResource * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [in] */ UINT DataSize,\n            /* [annotation][in] */ \n            _In_reads_bytes_(DataSize)  const void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( \n            IDXGIResource * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [annotation][in] */ \n            _In_  const IUnknown *pUnknown);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( \n            IDXGIResource * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [annotation][out][in] */ \n            _Inout_  UINT *pDataSize,\n            /* [annotation][out] */ \n            _Out_writes_bytes_(*pDataSize)  void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetParent )( \n            IDXGIResource * This,\n            /* [annotation][in] */ \n            _In_  REFIID riid,\n            /* [annotation][retval][out] */ \n            _COM_Outptr_  void **ppParent);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetDevice )( \n            IDXGIResource * This,\n            /* [annotation][in] */ \n            _In_  REFIID riid,\n            /* [annotation][retval][out] */ \n            _COM_Outptr_  void **ppDevice);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetSharedHandle )( \n            IDXGIResource * This,\n            /* [annotation][out] */ \n            _Out_  HANDLE *pSharedHandle);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetUsage )( \n            IDXGIResource * This,\n            /* [out] */ DXGI_USAGE *pUsage);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetEvictionPriority )( \n            IDXGIResource * This,\n            /* [in] */ UINT EvictionPriority);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetEvictionPriority )( \n            IDXGIResource * This,\n            /* [annotation][retval][out] */ \n            _Out_  UINT *pEvictionPriority);\n        \n        END_INTERFACE\n    } IDXGIResourceVtbl;\n\n    interface IDXGIResource\n    {\n        CONST_VTBL struct IDXGIResourceVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDXGIResource_QueryInterface(This,riid,ppvObject)\t\\\n    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \n\n#define IDXGIResource_AddRef(This)\t\\\n    ( (This)->lpVtbl -> AddRef(This) ) \n\n#define IDXGIResource_Release(This)\t\\\n    ( (This)->lpVtbl -> Release(This) ) \n\n\n#define IDXGIResource_SetPrivateData(This,Name,DataSize,pData)\t\\\n    ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) ) \n\n#define IDXGIResource_SetPrivateDataInterface(This,Name,pUnknown)\t\\\n    ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) ) \n\n#define IDXGIResource_GetPrivateData(This,Name,pDataSize,pData)\t\\\n    ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) ) \n\n#define IDXGIResource_GetParent(This,riid,ppParent)\t\\\n    ( (This)->lpVtbl -> GetParent(This,riid,ppParent) ) \n\n\n#define IDXGIResource_GetDevice(This,riid,ppDevice)\t\\\n    ( (This)->lpVtbl -> GetDevice(This,riid,ppDevice) ) \n\n\n#define IDXGIResource_GetSharedHandle(This,pSharedHandle)\t\\\n    ( (This)->lpVtbl -> GetSharedHandle(This,pSharedHandle) ) \n\n#define IDXGIResource_GetUsage(This,pUsage)\t\\\n    ( (This)->lpVtbl -> GetUsage(This,pUsage) ) \n\n#define IDXGIResource_SetEvictionPriority(This,EvictionPriority)\t\\\n    ( (This)->lpVtbl -> SetEvictionPriority(This,EvictionPriority) ) \n\n#define IDXGIResource_GetEvictionPriority(This,pEvictionPriority)\t\\\n    ( (This)->lpVtbl -> GetEvictionPriority(This,pEvictionPriority) ) \n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n\n#endif \t/* __IDXGIResource_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDXGIKeyedMutex_INTERFACE_DEFINED__\n#define __IDXGIKeyedMutex_INTERFACE_DEFINED__\n\n/* interface IDXGIKeyedMutex */\n/* [unique][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDXGIKeyedMutex;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"9d8e1289-d7b3-465f-8126-250e349af85d\")\n    IDXGIKeyedMutex : public IDXGIDeviceSubObject\n    {\n    public:\n        virtual HRESULT STDMETHODCALLTYPE AcquireSync( \n            /* [in] */ UINT64 Key,\n            /* [in] */ DWORD dwMilliseconds) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE ReleaseSync( \n            /* [in] */ UINT64 Key) = 0;\n        \n    };\n    \n    \n#else \t/* C style interface */\n\n    typedef struct IDXGIKeyedMutexVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDXGIKeyedMutex * This,\n            /* [in] */ REFIID riid,\n            /* [annotation][iid_is][out] */ \n            _COM_Outptr_  void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDXGIKeyedMutex * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDXGIKeyedMutex * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( \n            IDXGIKeyedMutex * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [in] */ UINT DataSize,\n            /* [annotation][in] */ \n            _In_reads_bytes_(DataSize)  const void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( \n            IDXGIKeyedMutex * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [annotation][in] */ \n            _In_  const IUnknown *pUnknown);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( \n            IDXGIKeyedMutex * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [annotation][out][in] */ \n            _Inout_  UINT *pDataSize,\n            /* [annotation][out] */ \n            _Out_writes_bytes_(*pDataSize)  void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetParent )( \n            IDXGIKeyedMutex * This,\n            /* [annotation][in] */ \n            _In_  REFIID riid,\n            /* [annotation][retval][out] */ \n            _COM_Outptr_  void **ppParent);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetDevice )( \n            IDXGIKeyedMutex * This,\n            /* [annotation][in] */ \n            _In_  REFIID riid,\n            /* [annotation][retval][out] */ \n            _COM_Outptr_  void **ppDevice);\n        \n        HRESULT ( STDMETHODCALLTYPE *AcquireSync )( \n            IDXGIKeyedMutex * This,\n            /* [in] */ UINT64 Key,\n            /* [in] */ DWORD dwMilliseconds);\n        \n        HRESULT ( STDMETHODCALLTYPE *ReleaseSync )( \n            IDXGIKeyedMutex * This,\n            /* [in] */ UINT64 Key);\n        \n        END_INTERFACE\n    } IDXGIKeyedMutexVtbl;\n\n    interface IDXGIKeyedMutex\n    {\n        CONST_VTBL struct IDXGIKeyedMutexVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDXGIKeyedMutex_QueryInterface(This,riid,ppvObject)\t\\\n    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \n\n#define IDXGIKeyedMutex_AddRef(This)\t\\\n    ( (This)->lpVtbl -> AddRef(This) ) \n\n#define IDXGIKeyedMutex_Release(This)\t\\\n    ( (This)->lpVtbl -> Release(This) ) \n\n\n#define IDXGIKeyedMutex_SetPrivateData(This,Name,DataSize,pData)\t\\\n    ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) ) \n\n#define IDXGIKeyedMutex_SetPrivateDataInterface(This,Name,pUnknown)\t\\\n    ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) ) \n\n#define IDXGIKeyedMutex_GetPrivateData(This,Name,pDataSize,pData)\t\\\n    ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) ) \n\n#define IDXGIKeyedMutex_GetParent(This,riid,ppParent)\t\\\n    ( (This)->lpVtbl -> GetParent(This,riid,ppParent) ) \n\n\n#define IDXGIKeyedMutex_GetDevice(This,riid,ppDevice)\t\\\n    ( (This)->lpVtbl -> GetDevice(This,riid,ppDevice) ) \n\n\n#define IDXGIKeyedMutex_AcquireSync(This,Key,dwMilliseconds)\t\\\n    ( (This)->lpVtbl -> AcquireSync(This,Key,dwMilliseconds) ) \n\n#define IDXGIKeyedMutex_ReleaseSync(This,Key)\t\\\n    ( (This)->lpVtbl -> ReleaseSync(This,Key) ) \n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n\n#endif \t/* __IDXGIKeyedMutex_INTERFACE_DEFINED__ */\n\n\n/* interface __MIDL_itf_dxgi_0000_0004 */\n/* [local] */ \n\n#define\tDXGI_MAP_READ\t( 1UL )\n\n#define\tDXGI_MAP_WRITE\t( 2UL )\n\n#define\tDXGI_MAP_DISCARD\t( 4UL )\n\n\n\nextern RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0004_v0_0_c_ifspec;\nextern RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0004_v0_0_s_ifspec;\n\n#ifndef __IDXGISurface_INTERFACE_DEFINED__\n#define __IDXGISurface_INTERFACE_DEFINED__\n\n/* interface IDXGISurface */\n/* [unique][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDXGISurface;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"cafcb56c-6ac3-4889-bf47-9e23bbd260ec\")\n    IDXGISurface : public IDXGIDeviceSubObject\n    {\n    public:\n        virtual HRESULT STDMETHODCALLTYPE GetDesc( \n            /* [annotation][out] */ \n            _Out_  DXGI_SURFACE_DESC *pDesc) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Map( \n            /* [annotation][out] */ \n            _Out_  DXGI_MAPPED_RECT *pLockedRect,\n            /* [in] */ UINT MapFlags) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Unmap( void) = 0;\n        \n    };\n    \n    \n#else \t/* C style interface */\n\n    typedef struct IDXGISurfaceVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDXGISurface * This,\n            /* [in] */ REFIID riid,\n            /* [annotation][iid_is][out] */ \n            _COM_Outptr_  void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDXGISurface * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDXGISurface * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( \n            IDXGISurface * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [in] */ UINT DataSize,\n            /* [annotation][in] */ \n            _In_reads_bytes_(DataSize)  const void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( \n            IDXGISurface * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [annotation][in] */ \n            _In_  const IUnknown *pUnknown);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( \n            IDXGISurface * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [annotation][out][in] */ \n            _Inout_  UINT *pDataSize,\n            /* [annotation][out] */ \n            _Out_writes_bytes_(*pDataSize)  void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetParent )( \n            IDXGISurface * This,\n            /* [annotation][in] */ \n            _In_  REFIID riid,\n            /* [annotation][retval][out] */ \n            _COM_Outptr_  void **ppParent);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetDevice )( \n            IDXGISurface * This,\n            /* [annotation][in] */ \n            _In_  REFIID riid,\n            /* [annotation][retval][out] */ \n            _COM_Outptr_  void **ppDevice);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetDesc )( \n            IDXGISurface * This,\n            /* [annotation][out] */ \n            _Out_  DXGI_SURFACE_DESC *pDesc);\n        \n        HRESULT ( STDMETHODCALLTYPE *Map )( \n            IDXGISurface * This,\n            /* [annotation][out] */ \n            _Out_  DXGI_MAPPED_RECT *pLockedRect,\n            /* [in] */ UINT MapFlags);\n        \n        HRESULT ( STDMETHODCALLTYPE *Unmap )( \n            IDXGISurface * This);\n        \n        END_INTERFACE\n    } IDXGISurfaceVtbl;\n\n    interface IDXGISurface\n    {\n        CONST_VTBL struct IDXGISurfaceVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDXGISurface_QueryInterface(This,riid,ppvObject)\t\\\n    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \n\n#define IDXGISurface_AddRef(This)\t\\\n    ( (This)->lpVtbl -> AddRef(This) ) \n\n#define IDXGISurface_Release(This)\t\\\n    ( (This)->lpVtbl -> Release(This) ) \n\n\n#define IDXGISurface_SetPrivateData(This,Name,DataSize,pData)\t\\\n    ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) ) \n\n#define IDXGISurface_SetPrivateDataInterface(This,Name,pUnknown)\t\\\n    ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) ) \n\n#define IDXGISurface_GetPrivateData(This,Name,pDataSize,pData)\t\\\n    ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) ) \n\n#define IDXGISurface_GetParent(This,riid,ppParent)\t\\\n    ( (This)->lpVtbl -> GetParent(This,riid,ppParent) ) \n\n\n#define IDXGISurface_GetDevice(This,riid,ppDevice)\t\\\n    ( (This)->lpVtbl -> GetDevice(This,riid,ppDevice) ) \n\n\n#define IDXGISurface_GetDesc(This,pDesc)\t\\\n    ( (This)->lpVtbl -> GetDesc(This,pDesc) ) \n\n#define IDXGISurface_Map(This,pLockedRect,MapFlags)\t\\\n    ( (This)->lpVtbl -> Map(This,pLockedRect,MapFlags) ) \n\n#define IDXGISurface_Unmap(This)\t\\\n    ( (This)->lpVtbl -> Unmap(This) ) \n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n\n#endif \t/* __IDXGISurface_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDXGISurface1_INTERFACE_DEFINED__\n#define __IDXGISurface1_INTERFACE_DEFINED__\n\n/* interface IDXGISurface1 */\n/* [unique][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDXGISurface1;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"4AE63092-6327-4c1b-80AE-BFE12EA32B86\")\n    IDXGISurface1 : public IDXGISurface\n    {\n    public:\n        virtual HRESULT STDMETHODCALLTYPE GetDC( \n            /* [in] */ BOOL Discard,\n            /* [annotation][out] */ \n            _Out_  HDC *phdc) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE ReleaseDC( \n            /* [annotation][in] */ \n            _In_opt_  RECT *pDirtyRect) = 0;\n        \n    };\n    \n    \n#else \t/* C style interface */\n\n    typedef struct IDXGISurface1Vtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDXGISurface1 * This,\n            /* [in] */ REFIID riid,\n            /* [annotation][iid_is][out] */ \n            _COM_Outptr_  void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDXGISurface1 * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDXGISurface1 * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( \n            IDXGISurface1 * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [in] */ UINT DataSize,\n            /* [annotation][in] */ \n            _In_reads_bytes_(DataSize)  const void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( \n            IDXGISurface1 * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [annotation][in] */ \n            _In_  const IUnknown *pUnknown);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( \n            IDXGISurface1 * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [annotation][out][in] */ \n            _Inout_  UINT *pDataSize,\n            /* [annotation][out] */ \n            _Out_writes_bytes_(*pDataSize)  void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetParent )( \n            IDXGISurface1 * This,\n            /* [annotation][in] */ \n            _In_  REFIID riid,\n            /* [annotation][retval][out] */ \n            _COM_Outptr_  void **ppParent);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetDevice )( \n            IDXGISurface1 * This,\n            /* [annotation][in] */ \n            _In_  REFIID riid,\n            /* [annotation][retval][out] */ \n            _COM_Outptr_  void **ppDevice);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetDesc )( \n            IDXGISurface1 * This,\n            /* [annotation][out] */ \n            _Out_  DXGI_SURFACE_DESC *pDesc);\n        \n        HRESULT ( STDMETHODCALLTYPE *Map )( \n            IDXGISurface1 * This,\n            /* [annotation][out] */ \n            _Out_  DXGI_MAPPED_RECT *pLockedRect,\n            /* [in] */ UINT MapFlags);\n        \n        HRESULT ( STDMETHODCALLTYPE *Unmap )( \n            IDXGISurface1 * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetDC )( \n            IDXGISurface1 * This,\n            /* [in] */ BOOL Discard,\n            /* [annotation][out] */ \n            _Out_  HDC *phdc);\n        \n        HRESULT ( STDMETHODCALLTYPE *ReleaseDC )( \n            IDXGISurface1 * This,\n            /* [annotation][in] */ \n            _In_opt_  RECT *pDirtyRect);\n        \n        END_INTERFACE\n    } IDXGISurface1Vtbl;\n\n    interface IDXGISurface1\n    {\n        CONST_VTBL struct IDXGISurface1Vtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDXGISurface1_QueryInterface(This,riid,ppvObject)\t\\\n    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \n\n#define IDXGISurface1_AddRef(This)\t\\\n    ( (This)->lpVtbl -> AddRef(This) ) \n\n#define IDXGISurface1_Release(This)\t\\\n    ( (This)->lpVtbl -> Release(This) ) \n\n\n#define IDXGISurface1_SetPrivateData(This,Name,DataSize,pData)\t\\\n    ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) ) \n\n#define IDXGISurface1_SetPrivateDataInterface(This,Name,pUnknown)\t\\\n    ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) ) \n\n#define IDXGISurface1_GetPrivateData(This,Name,pDataSize,pData)\t\\\n    ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) ) \n\n#define IDXGISurface1_GetParent(This,riid,ppParent)\t\\\n    ( (This)->lpVtbl -> GetParent(This,riid,ppParent) ) \n\n\n#define IDXGISurface1_GetDevice(This,riid,ppDevice)\t\\\n    ( (This)->lpVtbl -> GetDevice(This,riid,ppDevice) ) \n\n\n#define IDXGISurface1_GetDesc(This,pDesc)\t\\\n    ( (This)->lpVtbl -> GetDesc(This,pDesc) ) \n\n#define IDXGISurface1_Map(This,pLockedRect,MapFlags)\t\\\n    ( (This)->lpVtbl -> Map(This,pLockedRect,MapFlags) ) \n\n#define IDXGISurface1_Unmap(This)\t\\\n    ( (This)->lpVtbl -> Unmap(This) ) \n\n\n#define IDXGISurface1_GetDC(This,Discard,phdc)\t\\\n    ( (This)->lpVtbl -> GetDC(This,Discard,phdc) ) \n\n#define IDXGISurface1_ReleaseDC(This,pDirtyRect)\t\\\n    ( (This)->lpVtbl -> ReleaseDC(This,pDirtyRect) ) \n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n\n#endif \t/* __IDXGISurface1_INTERFACE_DEFINED__ */\n\n\n/* interface __MIDL_itf_dxgi_0000_0006 */\n/* [local] */ \n\n\n\n\nextern RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0006_v0_0_c_ifspec;\nextern RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0006_v0_0_s_ifspec;\n\n#ifndef __IDXGIAdapter_INTERFACE_DEFINED__\n#define __IDXGIAdapter_INTERFACE_DEFINED__\n\n/* interface IDXGIAdapter */\n/* [unique][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDXGIAdapter;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"2411e7e1-12ac-4ccf-bd14-9798e8534dc0\")\n    IDXGIAdapter : public IDXGIObject\n    {\n    public:\n        virtual HRESULT STDMETHODCALLTYPE EnumOutputs( \n            /* [in] */ UINT Output,\n            /* [annotation][out][in] */ \n            _COM_Outptr_  IDXGIOutput **ppOutput) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE GetDesc( \n            /* [annotation][out] */ \n            _Out_  DXGI_ADAPTER_DESC *pDesc) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE CheckInterfaceSupport( \n            /* [annotation][in] */ \n            _In_  REFGUID InterfaceName,\n            /* [annotation][out] */ \n            _Out_  LARGE_INTEGER *pUMDVersion) = 0;\n        \n    };\n    \n    \n#else \t/* C style interface */\n\n    typedef struct IDXGIAdapterVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDXGIAdapter * This,\n            /* [in] */ REFIID riid,\n            /* [annotation][iid_is][out] */ \n            _COM_Outptr_  void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDXGIAdapter * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDXGIAdapter * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( \n            IDXGIAdapter * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [in] */ UINT DataSize,\n            /* [annotation][in] */ \n            _In_reads_bytes_(DataSize)  const void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( \n            IDXGIAdapter * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [annotation][in] */ \n            _In_  const IUnknown *pUnknown);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( \n            IDXGIAdapter * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [annotation][out][in] */ \n            _Inout_  UINT *pDataSize,\n            /* [annotation][out] */ \n            _Out_writes_bytes_(*pDataSize)  void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetParent )( \n            IDXGIAdapter * This,\n            /* [annotation][in] */ \n            _In_  REFIID riid,\n            /* [annotation][retval][out] */ \n            _COM_Outptr_  void **ppParent);\n        \n        HRESULT ( STDMETHODCALLTYPE *EnumOutputs )( \n            IDXGIAdapter * This,\n            /* [in] */ UINT Output,\n            /* [annotation][out][in] */ \n            _COM_Outptr_  IDXGIOutput **ppOutput);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetDesc )( \n            IDXGIAdapter * This,\n            /* [annotation][out] */ \n            _Out_  DXGI_ADAPTER_DESC *pDesc);\n        \n        HRESULT ( STDMETHODCALLTYPE *CheckInterfaceSupport )( \n            IDXGIAdapter * This,\n            /* [annotation][in] */ \n            _In_  REFGUID InterfaceName,\n            /* [annotation][out] */ \n            _Out_  LARGE_INTEGER *pUMDVersion);\n        \n        END_INTERFACE\n    } IDXGIAdapterVtbl;\n\n    interface IDXGIAdapter\n    {\n        CONST_VTBL struct IDXGIAdapterVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDXGIAdapter_QueryInterface(This,riid,ppvObject)\t\\\n    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \n\n#define IDXGIAdapter_AddRef(This)\t\\\n    ( (This)->lpVtbl -> AddRef(This) ) \n\n#define IDXGIAdapter_Release(This)\t\\\n    ( (This)->lpVtbl -> Release(This) ) \n\n\n#define IDXGIAdapter_SetPrivateData(This,Name,DataSize,pData)\t\\\n    ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) ) \n\n#define IDXGIAdapter_SetPrivateDataInterface(This,Name,pUnknown)\t\\\n    ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) ) \n\n#define IDXGIAdapter_GetPrivateData(This,Name,pDataSize,pData)\t\\\n    ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) ) \n\n#define IDXGIAdapter_GetParent(This,riid,ppParent)\t\\\n    ( (This)->lpVtbl -> GetParent(This,riid,ppParent) ) \n\n\n#define IDXGIAdapter_EnumOutputs(This,Output,ppOutput)\t\\\n    ( (This)->lpVtbl -> EnumOutputs(This,Output,ppOutput) ) \n\n#define IDXGIAdapter_GetDesc(This,pDesc)\t\\\n    ( (This)->lpVtbl -> GetDesc(This,pDesc) ) \n\n#define IDXGIAdapter_CheckInterfaceSupport(This,InterfaceName,pUMDVersion)\t\\\n    ( (This)->lpVtbl -> CheckInterfaceSupport(This,InterfaceName,pUMDVersion) ) \n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n\n#endif \t/* __IDXGIAdapter_INTERFACE_DEFINED__ */\n\n\n/* interface __MIDL_itf_dxgi_0000_0007 */\n/* [local] */ \n\n#define\tDXGI_ENUM_MODES_INTERLACED\t( 1UL )\n\n#define\tDXGI_ENUM_MODES_SCALING\t( 2UL )\n\n\n\nextern RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0007_v0_0_c_ifspec;\nextern RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0007_v0_0_s_ifspec;\n\n#ifndef __IDXGIOutput_INTERFACE_DEFINED__\n#define __IDXGIOutput_INTERFACE_DEFINED__\n\n/* interface IDXGIOutput */\n/* [unique][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDXGIOutput;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"ae02eedb-c735-4690-8d52-5a8dc20213aa\")\n    IDXGIOutput : public IDXGIObject\n    {\n    public:\n        virtual HRESULT STDMETHODCALLTYPE GetDesc( \n            /* [annotation][out] */ \n            _Out_  DXGI_OUTPUT_DESC *pDesc) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE GetDisplayModeList( \n            /* [in] */ DXGI_FORMAT EnumFormat,\n            /* [in] */ UINT Flags,\n            /* [annotation][out][in] */ \n            _Inout_  UINT *pNumModes,\n            /* [annotation][out] */ \n            _Out_writes_to_opt_(*pNumModes,*pNumModes)  DXGI_MODE_DESC *pDesc) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE FindClosestMatchingMode( \n            /* [annotation][in] */ \n            _In_  const DXGI_MODE_DESC *pModeToMatch,\n            /* [annotation][out] */ \n            _Out_  DXGI_MODE_DESC *pClosestMatch,\n            /* [annotation][in] */ \n            _In_opt_  IUnknown *pConcernedDevice) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE WaitForVBlank( void) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE TakeOwnership( \n            /* [annotation][in] */ \n            _In_  IUnknown *pDevice,\n            BOOL Exclusive) = 0;\n        \n        virtual void STDMETHODCALLTYPE ReleaseOwnership( void) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE GetGammaControlCapabilities( \n            /* [annotation][out] */ \n            _Out_  DXGI_GAMMA_CONTROL_CAPABILITIES *pGammaCaps) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE SetGammaControl( \n            /* [annotation][in] */ \n            _In_  const DXGI_GAMMA_CONTROL *pArray) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE GetGammaControl( \n            /* [annotation][out] */ \n            _Out_  DXGI_GAMMA_CONTROL *pArray) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE SetDisplaySurface( \n            /* [annotation][in] */ \n            _In_  IDXGISurface *pScanoutSurface) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE GetDisplaySurfaceData( \n            /* [annotation][in] */ \n            _In_  IDXGISurface *pDestination) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE GetFrameStatistics( \n            /* [annotation][out] */ \n            _Out_  DXGI_FRAME_STATISTICS *pStats) = 0;\n        \n    };\n    \n    \n#else \t/* C style interface */\n\n    typedef struct IDXGIOutputVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDXGIOutput * This,\n            /* [in] */ REFIID riid,\n            /* [annotation][iid_is][out] */ \n            _COM_Outptr_  void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDXGIOutput * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDXGIOutput * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( \n            IDXGIOutput * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [in] */ UINT DataSize,\n            /* [annotation][in] */ \n            _In_reads_bytes_(DataSize)  const void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( \n            IDXGIOutput * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [annotation][in] */ \n            _In_  const IUnknown *pUnknown);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( \n            IDXGIOutput * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [annotation][out][in] */ \n            _Inout_  UINT *pDataSize,\n            /* [annotation][out] */ \n            _Out_writes_bytes_(*pDataSize)  void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetParent )( \n            IDXGIOutput * This,\n            /* [annotation][in] */ \n            _In_  REFIID riid,\n            /* [annotation][retval][out] */ \n            _COM_Outptr_  void **ppParent);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetDesc )( \n            IDXGIOutput * This,\n            /* [annotation][out] */ \n            _Out_  DXGI_OUTPUT_DESC *pDesc);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetDisplayModeList )( \n            IDXGIOutput * This,\n            /* [in] */ DXGI_FORMAT EnumFormat,\n            /* [in] */ UINT Flags,\n            /* [annotation][out][in] */ \n            _Inout_  UINT *pNumModes,\n            /* [annotation][out] */ \n            _Out_writes_to_opt_(*pNumModes,*pNumModes)  DXGI_MODE_DESC *pDesc);\n        \n        HRESULT ( STDMETHODCALLTYPE *FindClosestMatchingMode )( \n            IDXGIOutput * This,\n            /* [annotation][in] */ \n            _In_  const DXGI_MODE_DESC *pModeToMatch,\n            /* [annotation][out] */ \n            _Out_  DXGI_MODE_DESC *pClosestMatch,\n            /* [annotation][in] */ \n            _In_opt_  IUnknown *pConcernedDevice);\n        \n        HRESULT ( STDMETHODCALLTYPE *WaitForVBlank )( \n            IDXGIOutput * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *TakeOwnership )( \n            IDXGIOutput * This,\n            /* [annotation][in] */ \n            _In_  IUnknown *pDevice,\n            BOOL Exclusive);\n        \n        void ( STDMETHODCALLTYPE *ReleaseOwnership )( \n            IDXGIOutput * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetGammaControlCapabilities )( \n            IDXGIOutput * This,\n            /* [annotation][out] */ \n            _Out_  DXGI_GAMMA_CONTROL_CAPABILITIES *pGammaCaps);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetGammaControl )( \n            IDXGIOutput * This,\n            /* [annotation][in] */ \n            _In_  const DXGI_GAMMA_CONTROL *pArray);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetGammaControl )( \n            IDXGIOutput * This,\n            /* [annotation][out] */ \n            _Out_  DXGI_GAMMA_CONTROL *pArray);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetDisplaySurface )( \n            IDXGIOutput * This,\n            /* [annotation][in] */ \n            _In_  IDXGISurface *pScanoutSurface);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetDisplaySurfaceData )( \n            IDXGIOutput * This,\n            /* [annotation][in] */ \n            _In_  IDXGISurface *pDestination);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetFrameStatistics )( \n            IDXGIOutput * This,\n            /* [annotation][out] */ \n            _Out_  DXGI_FRAME_STATISTICS *pStats);\n        \n        END_INTERFACE\n    } IDXGIOutputVtbl;\n\n    interface IDXGIOutput\n    {\n        CONST_VTBL struct IDXGIOutputVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDXGIOutput_QueryInterface(This,riid,ppvObject)\t\\\n    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \n\n#define IDXGIOutput_AddRef(This)\t\\\n    ( (This)->lpVtbl -> AddRef(This) ) \n\n#define IDXGIOutput_Release(This)\t\\\n    ( (This)->lpVtbl -> Release(This) ) \n\n\n#define IDXGIOutput_SetPrivateData(This,Name,DataSize,pData)\t\\\n    ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) ) \n\n#define IDXGIOutput_SetPrivateDataInterface(This,Name,pUnknown)\t\\\n    ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) ) \n\n#define IDXGIOutput_GetPrivateData(This,Name,pDataSize,pData)\t\\\n    ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) ) \n\n#define IDXGIOutput_GetParent(This,riid,ppParent)\t\\\n    ( (This)->lpVtbl -> GetParent(This,riid,ppParent) ) \n\n\n#define IDXGIOutput_GetDesc(This,pDesc)\t\\\n    ( (This)->lpVtbl -> GetDesc(This,pDesc) ) \n\n#define IDXGIOutput_GetDisplayModeList(This,EnumFormat,Flags,pNumModes,pDesc)\t\\\n    ( (This)->lpVtbl -> GetDisplayModeList(This,EnumFormat,Flags,pNumModes,pDesc) ) \n\n#define IDXGIOutput_FindClosestMatchingMode(This,pModeToMatch,pClosestMatch,pConcernedDevice)\t\\\n    ( (This)->lpVtbl -> FindClosestMatchingMode(This,pModeToMatch,pClosestMatch,pConcernedDevice) ) \n\n#define IDXGIOutput_WaitForVBlank(This)\t\\\n    ( (This)->lpVtbl -> WaitForVBlank(This) ) \n\n#define IDXGIOutput_TakeOwnership(This,pDevice,Exclusive)\t\\\n    ( (This)->lpVtbl -> TakeOwnership(This,pDevice,Exclusive) ) \n\n#define IDXGIOutput_ReleaseOwnership(This)\t\\\n    ( (This)->lpVtbl -> ReleaseOwnership(This) ) \n\n#define IDXGIOutput_GetGammaControlCapabilities(This,pGammaCaps)\t\\\n    ( (This)->lpVtbl -> GetGammaControlCapabilities(This,pGammaCaps) ) \n\n#define IDXGIOutput_SetGammaControl(This,pArray)\t\\\n    ( (This)->lpVtbl -> SetGammaControl(This,pArray) ) \n\n#define IDXGIOutput_GetGammaControl(This,pArray)\t\\\n    ( (This)->lpVtbl -> GetGammaControl(This,pArray) ) \n\n#define IDXGIOutput_SetDisplaySurface(This,pScanoutSurface)\t\\\n    ( (This)->lpVtbl -> SetDisplaySurface(This,pScanoutSurface) ) \n\n#define IDXGIOutput_GetDisplaySurfaceData(This,pDestination)\t\\\n    ( (This)->lpVtbl -> GetDisplaySurfaceData(This,pDestination) ) \n\n#define IDXGIOutput_GetFrameStatistics(This,pStats)\t\\\n    ( (This)->lpVtbl -> GetFrameStatistics(This,pStats) ) \n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n\n#endif \t/* __IDXGIOutput_INTERFACE_DEFINED__ */\n\n\n/* interface __MIDL_itf_dxgi_0000_0008 */\n/* [local] */ \n\n#define DXGI_MAX_SWAP_CHAIN_BUFFERS        ( 16 )\n#define DXGI_PRESENT_TEST                      0x00000001UL\n#define DXGI_PRESENT_DO_NOT_SEQUENCE           0x00000002UL\n#define DXGI_PRESENT_RESTART                   0x00000004UL\n#define DXGI_PRESENT_DO_NOT_WAIT               0x00000008UL\n#define DXGI_PRESENT_STEREO_PREFER_RIGHT       0x00000010UL\n#define DXGI_PRESENT_STEREO_TEMPORARY_MONO     0x00000020UL\n#define DXGI_PRESENT_RESTRICT_TO_OUTPUT        0x00000040UL\n#define DXGI_PRESENT_USE_DURATION              0x00000100UL\n#define DXGI_PRESENT_ALLOW_TEARING             0x00000200UL\n\n\nextern RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0008_v0_0_c_ifspec;\nextern RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0008_v0_0_s_ifspec;\n\n#ifndef __IDXGISwapChain_INTERFACE_DEFINED__\n#define __IDXGISwapChain_INTERFACE_DEFINED__\n\n/* interface IDXGISwapChain */\n/* [unique][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDXGISwapChain;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"310d36a0-d2e7-4c0a-aa04-6a9d23b8886a\")\n    IDXGISwapChain : public IDXGIDeviceSubObject\n    {\n    public:\n        virtual HRESULT STDMETHODCALLTYPE Present( \n            /* [in] */ UINT SyncInterval,\n            /* [in] */ UINT Flags) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE GetBuffer( \n            /* [in] */ UINT Buffer,\n            /* [annotation][in] */ \n            _In_  REFIID riid,\n            /* [annotation][out][in] */ \n            _COM_Outptr_  void **ppSurface) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE SetFullscreenState( \n            /* [in] */ BOOL Fullscreen,\n            /* [annotation][in] */ \n            _In_opt_  IDXGIOutput *pTarget) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE GetFullscreenState( \n            /* [annotation][out] */ \n            _Out_opt_  BOOL *pFullscreen,\n            /* [annotation][out] */ \n            _COM_Outptr_opt_result_maybenull_  IDXGIOutput **ppTarget) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE GetDesc( \n            /* [annotation][out] */ \n            _Out_  DXGI_SWAP_CHAIN_DESC *pDesc) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE ResizeBuffers( \n            /* [in] */ UINT BufferCount,\n            /* [in] */ UINT Width,\n            /* [in] */ UINT Height,\n            /* [in] */ DXGI_FORMAT NewFormat,\n            /* [in] */ UINT SwapChainFlags) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE ResizeTarget( \n            /* [annotation][in] */ \n            _In_  const DXGI_MODE_DESC *pNewTargetParameters) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE GetContainingOutput( \n            /* [annotation][out] */ \n            _COM_Outptr_  IDXGIOutput **ppOutput) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE GetFrameStatistics( \n            /* [annotation][out] */ \n            _Out_  DXGI_FRAME_STATISTICS *pStats) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE GetLastPresentCount( \n            /* [annotation][out] */ \n            _Out_  UINT *pLastPresentCount) = 0;\n        \n    };\n    \n    \n#else \t/* C style interface */\n\n    typedef struct IDXGISwapChainVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDXGISwapChain * This,\n            /* [in] */ REFIID riid,\n            /* [annotation][iid_is][out] */ \n            _COM_Outptr_  void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDXGISwapChain * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDXGISwapChain * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( \n            IDXGISwapChain * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [in] */ UINT DataSize,\n            /* [annotation][in] */ \n            _In_reads_bytes_(DataSize)  const void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( \n            IDXGISwapChain * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [annotation][in] */ \n            _In_  const IUnknown *pUnknown);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( \n            IDXGISwapChain * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [annotation][out][in] */ \n            _Inout_  UINT *pDataSize,\n            /* [annotation][out] */ \n            _Out_writes_bytes_(*pDataSize)  void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetParent )( \n            IDXGISwapChain * This,\n            /* [annotation][in] */ \n            _In_  REFIID riid,\n            /* [annotation][retval][out] */ \n            _COM_Outptr_  void **ppParent);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetDevice )( \n            IDXGISwapChain * This,\n            /* [annotation][in] */ \n            _In_  REFIID riid,\n            /* [annotation][retval][out] */ \n            _COM_Outptr_  void **ppDevice);\n        \n        HRESULT ( STDMETHODCALLTYPE *Present )( \n            IDXGISwapChain * This,\n            /* [in] */ UINT SyncInterval,\n            /* [in] */ UINT Flags);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetBuffer )( \n            IDXGISwapChain * This,\n            /* [in] */ UINT Buffer,\n            /* [annotation][in] */ \n            _In_  REFIID riid,\n            /* [annotation][out][in] */ \n            _COM_Outptr_  void **ppSurface);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetFullscreenState )( \n            IDXGISwapChain * This,\n            /* [in] */ BOOL Fullscreen,\n            /* [annotation][in] */ \n            _In_opt_  IDXGIOutput *pTarget);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetFullscreenState )( \n            IDXGISwapChain * This,\n            /* [annotation][out] */ \n            _Out_opt_  BOOL *pFullscreen,\n            /* [annotation][out] */ \n            _COM_Outptr_opt_result_maybenull_  IDXGIOutput **ppTarget);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetDesc )( \n            IDXGISwapChain * This,\n            /* [annotation][out] */ \n            _Out_  DXGI_SWAP_CHAIN_DESC *pDesc);\n        \n        HRESULT ( STDMETHODCALLTYPE *ResizeBuffers )( \n            IDXGISwapChain * This,\n            /* [in] */ UINT BufferCount,\n            /* [in] */ UINT Width,\n            /* [in] */ UINT Height,\n            /* [in] */ DXGI_FORMAT NewFormat,\n            /* [in] */ UINT SwapChainFlags);\n        \n        HRESULT ( STDMETHODCALLTYPE *ResizeTarget )( \n            IDXGISwapChain * This,\n            /* [annotation][in] */ \n            _In_  const DXGI_MODE_DESC *pNewTargetParameters);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetContainingOutput )( \n            IDXGISwapChain * This,\n            /* [annotation][out] */ \n            _COM_Outptr_  IDXGIOutput **ppOutput);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetFrameStatistics )( \n            IDXGISwapChain * This,\n            /* [annotation][out] */ \n            _Out_  DXGI_FRAME_STATISTICS *pStats);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetLastPresentCount )( \n            IDXGISwapChain * This,\n            /* [annotation][out] */ \n            _Out_  UINT *pLastPresentCount);\n        \n        END_INTERFACE\n    } IDXGISwapChainVtbl;\n\n    interface IDXGISwapChain\n    {\n        CONST_VTBL struct IDXGISwapChainVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDXGISwapChain_QueryInterface(This,riid,ppvObject)\t\\\n    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \n\n#define IDXGISwapChain_AddRef(This)\t\\\n    ( (This)->lpVtbl -> AddRef(This) ) \n\n#define IDXGISwapChain_Release(This)\t\\\n    ( (This)->lpVtbl -> Release(This) ) \n\n\n#define IDXGISwapChain_SetPrivateData(This,Name,DataSize,pData)\t\\\n    ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) ) \n\n#define IDXGISwapChain_SetPrivateDataInterface(This,Name,pUnknown)\t\\\n    ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) ) \n\n#define IDXGISwapChain_GetPrivateData(This,Name,pDataSize,pData)\t\\\n    ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) ) \n\n#define IDXGISwapChain_GetParent(This,riid,ppParent)\t\\\n    ( (This)->lpVtbl -> GetParent(This,riid,ppParent) ) \n\n\n#define IDXGISwapChain_GetDevice(This,riid,ppDevice)\t\\\n    ( (This)->lpVtbl -> GetDevice(This,riid,ppDevice) ) \n\n\n#define IDXGISwapChain_Present(This,SyncInterval,Flags)\t\\\n    ( (This)->lpVtbl -> Present(This,SyncInterval,Flags) ) \n\n#define IDXGISwapChain_GetBuffer(This,Buffer,riid,ppSurface)\t\\\n    ( (This)->lpVtbl -> GetBuffer(This,Buffer,riid,ppSurface) ) \n\n#define IDXGISwapChain_SetFullscreenState(This,Fullscreen,pTarget)\t\\\n    ( (This)->lpVtbl -> SetFullscreenState(This,Fullscreen,pTarget) ) \n\n#define IDXGISwapChain_GetFullscreenState(This,pFullscreen,ppTarget)\t\\\n    ( (This)->lpVtbl -> GetFullscreenState(This,pFullscreen,ppTarget) ) \n\n#define IDXGISwapChain_GetDesc(This,pDesc)\t\\\n    ( (This)->lpVtbl -> GetDesc(This,pDesc) ) \n\n#define IDXGISwapChain_ResizeBuffers(This,BufferCount,Width,Height,NewFormat,SwapChainFlags)\t\\\n    ( (This)->lpVtbl -> ResizeBuffers(This,BufferCount,Width,Height,NewFormat,SwapChainFlags) ) \n\n#define IDXGISwapChain_ResizeTarget(This,pNewTargetParameters)\t\\\n    ( (This)->lpVtbl -> ResizeTarget(This,pNewTargetParameters) ) \n\n#define IDXGISwapChain_GetContainingOutput(This,ppOutput)\t\\\n    ( (This)->lpVtbl -> GetContainingOutput(This,ppOutput) ) \n\n#define IDXGISwapChain_GetFrameStatistics(This,pStats)\t\\\n    ( (This)->lpVtbl -> GetFrameStatistics(This,pStats) ) \n\n#define IDXGISwapChain_GetLastPresentCount(This,pLastPresentCount)\t\\\n    ( (This)->lpVtbl -> GetLastPresentCount(This,pLastPresentCount) ) \n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n\n#endif \t/* __IDXGISwapChain_INTERFACE_DEFINED__ */\n\n\n/* interface __MIDL_itf_dxgi_0000_0009 */\n/* [local] */ \n\n#define DXGI_MWA_NO_WINDOW_CHANGES      ( 1 << 0 )\n#define DXGI_MWA_NO_ALT_ENTER           ( 1 << 1 )\n#define DXGI_MWA_NO_PRINT_SCREEN        ( 1 << 2 )\n#define DXGI_MWA_VALID                  ( 0x7 )\n\n\nextern RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0009_v0_0_c_ifspec;\nextern RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0009_v0_0_s_ifspec;\n\n#ifndef __IDXGIFactory_INTERFACE_DEFINED__\n#define __IDXGIFactory_INTERFACE_DEFINED__\n\n/* interface IDXGIFactory */\n/* [unique][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDXGIFactory;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"7b7166ec-21c7-44ae-b21a-c9ae321ae369\")\n    IDXGIFactory : public IDXGIObject\n    {\n    public:\n        virtual HRESULT STDMETHODCALLTYPE EnumAdapters( \n            /* [in] */ UINT Adapter,\n            /* [annotation][out] */ \n            _COM_Outptr_  IDXGIAdapter **ppAdapter) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE MakeWindowAssociation( \n            HWND WindowHandle,\n            UINT Flags) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE GetWindowAssociation( \n            /* [annotation][out] */ \n            _Out_  HWND *pWindowHandle) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE CreateSwapChain( \n            /* [annotation][in] */ \n            _In_  IUnknown *pDevice,\n            /* [annotation][in] */ \n            _In_  DXGI_SWAP_CHAIN_DESC *pDesc,\n            /* [annotation][out] */ \n            _COM_Outptr_  IDXGISwapChain **ppSwapChain) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE CreateSoftwareAdapter( \n            /* [in] */ HMODULE Module,\n            /* [annotation][out] */ \n            _COM_Outptr_  IDXGIAdapter **ppAdapter) = 0;\n        \n    };\n    \n    \n#else \t/* C style interface */\n\n    typedef struct IDXGIFactoryVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDXGIFactory * This,\n            /* [in] */ REFIID riid,\n            /* [annotation][iid_is][out] */ \n            _COM_Outptr_  void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDXGIFactory * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDXGIFactory * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( \n            IDXGIFactory * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [in] */ UINT DataSize,\n            /* [annotation][in] */ \n            _In_reads_bytes_(DataSize)  const void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( \n            IDXGIFactory * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [annotation][in] */ \n            _In_  const IUnknown *pUnknown);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( \n            IDXGIFactory * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [annotation][out][in] */ \n            _Inout_  UINT *pDataSize,\n            /* [annotation][out] */ \n            _Out_writes_bytes_(*pDataSize)  void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetParent )( \n            IDXGIFactory * This,\n            /* [annotation][in] */ \n            _In_  REFIID riid,\n            /* [annotation][retval][out] */ \n            _COM_Outptr_  void **ppParent);\n        \n        HRESULT ( STDMETHODCALLTYPE *EnumAdapters )( \n            IDXGIFactory * This,\n            /* [in] */ UINT Adapter,\n            /* [annotation][out] */ \n            _COM_Outptr_  IDXGIAdapter **ppAdapter);\n        \n        HRESULT ( STDMETHODCALLTYPE *MakeWindowAssociation )( \n            IDXGIFactory * This,\n            HWND WindowHandle,\n            UINT Flags);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetWindowAssociation )( \n            IDXGIFactory * This,\n            /* [annotation][out] */ \n            _Out_  HWND *pWindowHandle);\n        \n        HRESULT ( STDMETHODCALLTYPE *CreateSwapChain )( \n            IDXGIFactory * This,\n            /* [annotation][in] */ \n            _In_  IUnknown *pDevice,\n            /* [annotation][in] */ \n            _In_  DXGI_SWAP_CHAIN_DESC *pDesc,\n            /* [annotation][out] */ \n            _COM_Outptr_  IDXGISwapChain **ppSwapChain);\n        \n        HRESULT ( STDMETHODCALLTYPE *CreateSoftwareAdapter )( \n            IDXGIFactory * This,\n            /* [in] */ HMODULE Module,\n            /* [annotation][out] */ \n            _COM_Outptr_  IDXGIAdapter **ppAdapter);\n        \n        END_INTERFACE\n    } IDXGIFactoryVtbl;\n\n    interface IDXGIFactory\n    {\n        CONST_VTBL struct IDXGIFactoryVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDXGIFactory_QueryInterface(This,riid,ppvObject)\t\\\n    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \n\n#define IDXGIFactory_AddRef(This)\t\\\n    ( (This)->lpVtbl -> AddRef(This) ) \n\n#define IDXGIFactory_Release(This)\t\\\n    ( (This)->lpVtbl -> Release(This) ) \n\n\n#define IDXGIFactory_SetPrivateData(This,Name,DataSize,pData)\t\\\n    ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) ) \n\n#define IDXGIFactory_SetPrivateDataInterface(This,Name,pUnknown)\t\\\n    ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) ) \n\n#define IDXGIFactory_GetPrivateData(This,Name,pDataSize,pData)\t\\\n    ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) ) \n\n#define IDXGIFactory_GetParent(This,riid,ppParent)\t\\\n    ( (This)->lpVtbl -> GetParent(This,riid,ppParent) ) \n\n\n#define IDXGIFactory_EnumAdapters(This,Adapter,ppAdapter)\t\\\n    ( (This)->lpVtbl -> EnumAdapters(This,Adapter,ppAdapter) ) \n\n#define IDXGIFactory_MakeWindowAssociation(This,WindowHandle,Flags)\t\\\n    ( (This)->lpVtbl -> MakeWindowAssociation(This,WindowHandle,Flags) ) \n\n#define IDXGIFactory_GetWindowAssociation(This,pWindowHandle)\t\\\n    ( (This)->lpVtbl -> GetWindowAssociation(This,pWindowHandle) ) \n\n#define IDXGIFactory_CreateSwapChain(This,pDevice,pDesc,ppSwapChain)\t\\\n    ( (This)->lpVtbl -> CreateSwapChain(This,pDevice,pDesc,ppSwapChain) ) \n\n#define IDXGIFactory_CreateSoftwareAdapter(This,Module,ppAdapter)\t\\\n    ( (This)->lpVtbl -> CreateSoftwareAdapter(This,Module,ppAdapter) ) \n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n\n#endif \t/* __IDXGIFactory_INTERFACE_DEFINED__ */\n\n\n/* interface __MIDL_itf_dxgi_0000_0010 */\n/* [local] */ \n\n#pragma region Desktop Family\n#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)\nHRESULT WINAPI CreateDXGIFactory(REFIID riid, _COM_Outptr_ void **ppFactory);\n#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */\n#pragma endregion\nHRESULT WINAPI CreateDXGIFactory1(REFIID riid, _COM_Outptr_ void **ppFactory);\n\n\nextern RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0010_v0_0_c_ifspec;\nextern RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0010_v0_0_s_ifspec;\n\n#ifndef __IDXGIDevice_INTERFACE_DEFINED__\n#define __IDXGIDevice_INTERFACE_DEFINED__\n\n/* interface IDXGIDevice */\n/* [unique][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDXGIDevice;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"54ec77fa-1377-44e6-8c32-88fd5f44c84c\")\n    IDXGIDevice : public IDXGIObject\n    {\n    public:\n        virtual HRESULT STDMETHODCALLTYPE GetAdapter( \n            /* [annotation][out] */ \n            _COM_Outptr_  IDXGIAdapter **pAdapter) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE CreateSurface( \n            /* [annotation][in] */ \n            _In_  const DXGI_SURFACE_DESC *pDesc,\n            /* [in] */ UINT NumSurfaces,\n            /* [in] */ DXGI_USAGE Usage,\n            /* [annotation][in] */ \n            _In_opt_  const DXGI_SHARED_RESOURCE *pSharedResource,\n            /* [annotation][out] */ \n            _COM_Outptr_  IDXGISurface **ppSurface) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE QueryResourceResidency( \n            /* [annotation][size_is][in] */ \n            _In_reads_(NumResources)  IUnknown *const *ppResources,\n            /* [annotation][size_is][out] */ \n            _Out_writes_(NumResources)  DXGI_RESIDENCY *pResidencyStatus,\n            /* [in] */ UINT NumResources) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE SetGPUThreadPriority( \n            /* [in] */ INT Priority) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE GetGPUThreadPriority( \n            /* [annotation][retval][out] */ \n            _Out_  INT *pPriority) = 0;\n        \n    };\n    \n    \n#else \t/* C style interface */\n\n    typedef struct IDXGIDeviceVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDXGIDevice * This,\n            /* [in] */ REFIID riid,\n            /* [annotation][iid_is][out] */ \n            _COM_Outptr_  void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDXGIDevice * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDXGIDevice * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( \n            IDXGIDevice * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [in] */ UINT DataSize,\n            /* [annotation][in] */ \n            _In_reads_bytes_(DataSize)  const void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( \n            IDXGIDevice * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [annotation][in] */ \n            _In_  const IUnknown *pUnknown);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( \n            IDXGIDevice * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [annotation][out][in] */ \n            _Inout_  UINT *pDataSize,\n            /* [annotation][out] */ \n            _Out_writes_bytes_(*pDataSize)  void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetParent )( \n            IDXGIDevice * This,\n            /* [annotation][in] */ \n            _In_  REFIID riid,\n            /* [annotation][retval][out] */ \n            _COM_Outptr_  void **ppParent);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetAdapter )( \n            IDXGIDevice * This,\n            /* [annotation][out] */ \n            _COM_Outptr_  IDXGIAdapter **pAdapter);\n        \n        HRESULT ( STDMETHODCALLTYPE *CreateSurface )( \n            IDXGIDevice * This,\n            /* [annotation][in] */ \n            _In_  const DXGI_SURFACE_DESC *pDesc,\n            /* [in] */ UINT NumSurfaces,\n            /* [in] */ DXGI_USAGE Usage,\n            /* [annotation][in] */ \n            _In_opt_  const DXGI_SHARED_RESOURCE *pSharedResource,\n            /* [annotation][out] */ \n            _COM_Outptr_  IDXGISurface **ppSurface);\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryResourceResidency )( \n            IDXGIDevice * This,\n            /* [annotation][size_is][in] */ \n            _In_reads_(NumResources)  IUnknown *const *ppResources,\n            /* [annotation][size_is][out] */ \n            _Out_writes_(NumResources)  DXGI_RESIDENCY *pResidencyStatus,\n            /* [in] */ UINT NumResources);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetGPUThreadPriority )( \n            IDXGIDevice * This,\n            /* [in] */ INT Priority);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetGPUThreadPriority )( \n            IDXGIDevice * This,\n            /* [annotation][retval][out] */ \n            _Out_  INT *pPriority);\n        \n        END_INTERFACE\n    } IDXGIDeviceVtbl;\n\n    interface IDXGIDevice\n    {\n        CONST_VTBL struct IDXGIDeviceVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDXGIDevice_QueryInterface(This,riid,ppvObject)\t\\\n    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \n\n#define IDXGIDevice_AddRef(This)\t\\\n    ( (This)->lpVtbl -> AddRef(This) ) \n\n#define IDXGIDevice_Release(This)\t\\\n    ( (This)->lpVtbl -> Release(This) ) \n\n\n#define IDXGIDevice_SetPrivateData(This,Name,DataSize,pData)\t\\\n    ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) ) \n\n#define IDXGIDevice_SetPrivateDataInterface(This,Name,pUnknown)\t\\\n    ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) ) \n\n#define IDXGIDevice_GetPrivateData(This,Name,pDataSize,pData)\t\\\n    ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) ) \n\n#define IDXGIDevice_GetParent(This,riid,ppParent)\t\\\n    ( (This)->lpVtbl -> GetParent(This,riid,ppParent) ) \n\n\n#define IDXGIDevice_GetAdapter(This,pAdapter)\t\\\n    ( (This)->lpVtbl -> GetAdapter(This,pAdapter) ) \n\n#define IDXGIDevice_CreateSurface(This,pDesc,NumSurfaces,Usage,pSharedResource,ppSurface)\t\\\n    ( (This)->lpVtbl -> CreateSurface(This,pDesc,NumSurfaces,Usage,pSharedResource,ppSurface) ) \n\n#define IDXGIDevice_QueryResourceResidency(This,ppResources,pResidencyStatus,NumResources)\t\\\n    ( (This)->lpVtbl -> QueryResourceResidency(This,ppResources,pResidencyStatus,NumResources) ) \n\n#define IDXGIDevice_SetGPUThreadPriority(This,Priority)\t\\\n    ( (This)->lpVtbl -> SetGPUThreadPriority(This,Priority) ) \n\n#define IDXGIDevice_GetGPUThreadPriority(This,pPriority)\t\\\n    ( (This)->lpVtbl -> GetGPUThreadPriority(This,pPriority) ) \n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n\n#endif \t/* __IDXGIDevice_INTERFACE_DEFINED__ */\n\n\n/* interface __MIDL_itf_dxgi_0000_0011 */\n/* [local] */ \n\ntypedef \nenum DXGI_ADAPTER_FLAG\n    {\n        DXGI_ADAPTER_FLAG_NONE\t= 0,\n        DXGI_ADAPTER_FLAG_REMOTE\t= 1,\n        DXGI_ADAPTER_FLAG_SOFTWARE\t= 2,\n        DXGI_ADAPTER_FLAG_FORCE_DWORD\t= 0xffffffff\n    } \tDXGI_ADAPTER_FLAG;\n\ntypedef struct DXGI_ADAPTER_DESC1\n    {\n    WCHAR Description[ 128 ];\n    UINT VendorId;\n    UINT DeviceId;\n    UINT SubSysId;\n    UINT Revision;\n    SIZE_T DedicatedVideoMemory;\n    SIZE_T DedicatedSystemMemory;\n    SIZE_T SharedSystemMemory;\n    LUID AdapterLuid;\n    UINT Flags;\n    } \tDXGI_ADAPTER_DESC1;\n\ntypedef struct DXGI_DISPLAY_COLOR_SPACE\n    {\n    FLOAT PrimaryCoordinates[ 8 ][ 2 ];\n    FLOAT WhitePoints[ 16 ][ 2 ];\n    } \tDXGI_DISPLAY_COLOR_SPACE;\n\n\n\n\nextern RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0011_v0_0_c_ifspec;\nextern RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0011_v0_0_s_ifspec;\n\n#ifndef __IDXGIFactory1_INTERFACE_DEFINED__\n#define __IDXGIFactory1_INTERFACE_DEFINED__\n\n/* interface IDXGIFactory1 */\n/* [unique][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDXGIFactory1;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"770aae78-f26f-4dba-a829-253c83d1b387\")\n    IDXGIFactory1 : public IDXGIFactory\n    {\n    public:\n        virtual HRESULT STDMETHODCALLTYPE EnumAdapters1( \n            /* [in] */ UINT Adapter,\n            /* [annotation][out] */ \n            _COM_Outptr_  IDXGIAdapter1 **ppAdapter) = 0;\n        \n        virtual BOOL STDMETHODCALLTYPE IsCurrent( void) = 0;\n        \n    };\n    \n    \n#else \t/* C style interface */\n\n    typedef struct IDXGIFactory1Vtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDXGIFactory1 * This,\n            /* [in] */ REFIID riid,\n            /* [annotation][iid_is][out] */ \n            _COM_Outptr_  void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDXGIFactory1 * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDXGIFactory1 * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( \n            IDXGIFactory1 * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [in] */ UINT DataSize,\n            /* [annotation][in] */ \n            _In_reads_bytes_(DataSize)  const void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( \n            IDXGIFactory1 * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [annotation][in] */ \n            _In_  const IUnknown *pUnknown);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( \n            IDXGIFactory1 * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [annotation][out][in] */ \n            _Inout_  UINT *pDataSize,\n            /* [annotation][out] */ \n            _Out_writes_bytes_(*pDataSize)  void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetParent )( \n            IDXGIFactory1 * This,\n            /* [annotation][in] */ \n            _In_  REFIID riid,\n            /* [annotation][retval][out] */ \n            _COM_Outptr_  void **ppParent);\n        \n        HRESULT ( STDMETHODCALLTYPE *EnumAdapters )( \n            IDXGIFactory1 * This,\n            /* [in] */ UINT Adapter,\n            /* [annotation][out] */ \n            _COM_Outptr_  IDXGIAdapter **ppAdapter);\n        \n        HRESULT ( STDMETHODCALLTYPE *MakeWindowAssociation )( \n            IDXGIFactory1 * This,\n            HWND WindowHandle,\n            UINT Flags);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetWindowAssociation )( \n            IDXGIFactory1 * This,\n            /* [annotation][out] */ \n            _Out_  HWND *pWindowHandle);\n        \n        HRESULT ( STDMETHODCALLTYPE *CreateSwapChain )( \n            IDXGIFactory1 * This,\n            /* [annotation][in] */ \n            _In_  IUnknown *pDevice,\n            /* [annotation][in] */ \n            _In_  DXGI_SWAP_CHAIN_DESC *pDesc,\n            /* [annotation][out] */ \n            _COM_Outptr_  IDXGISwapChain **ppSwapChain);\n        \n        HRESULT ( STDMETHODCALLTYPE *CreateSoftwareAdapter )( \n            IDXGIFactory1 * This,\n            /* [in] */ HMODULE Module,\n            /* [annotation][out] */ \n            _COM_Outptr_  IDXGIAdapter **ppAdapter);\n        \n        HRESULT ( STDMETHODCALLTYPE *EnumAdapters1 )( \n            IDXGIFactory1 * This,\n            /* [in] */ UINT Adapter,\n            /* [annotation][out] */ \n            _COM_Outptr_  IDXGIAdapter1 **ppAdapter);\n        \n        BOOL ( STDMETHODCALLTYPE *IsCurrent )( \n            IDXGIFactory1 * This);\n        \n        END_INTERFACE\n    } IDXGIFactory1Vtbl;\n\n    interface IDXGIFactory1\n    {\n        CONST_VTBL struct IDXGIFactory1Vtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDXGIFactory1_QueryInterface(This,riid,ppvObject)\t\\\n    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \n\n#define IDXGIFactory1_AddRef(This)\t\\\n    ( (This)->lpVtbl -> AddRef(This) ) \n\n#define IDXGIFactory1_Release(This)\t\\\n    ( (This)->lpVtbl -> Release(This) ) \n\n\n#define IDXGIFactory1_SetPrivateData(This,Name,DataSize,pData)\t\\\n    ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) ) \n\n#define IDXGIFactory1_SetPrivateDataInterface(This,Name,pUnknown)\t\\\n    ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) ) \n\n#define IDXGIFactory1_GetPrivateData(This,Name,pDataSize,pData)\t\\\n    ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) ) \n\n#define IDXGIFactory1_GetParent(This,riid,ppParent)\t\\\n    ( (This)->lpVtbl -> GetParent(This,riid,ppParent) ) \n\n\n#define IDXGIFactory1_EnumAdapters(This,Adapter,ppAdapter)\t\\\n    ( (This)->lpVtbl -> EnumAdapters(This,Adapter,ppAdapter) ) \n\n#define IDXGIFactory1_MakeWindowAssociation(This,WindowHandle,Flags)\t\\\n    ( (This)->lpVtbl -> MakeWindowAssociation(This,WindowHandle,Flags) ) \n\n#define IDXGIFactory1_GetWindowAssociation(This,pWindowHandle)\t\\\n    ( (This)->lpVtbl -> GetWindowAssociation(This,pWindowHandle) ) \n\n#define IDXGIFactory1_CreateSwapChain(This,pDevice,pDesc,ppSwapChain)\t\\\n    ( (This)->lpVtbl -> CreateSwapChain(This,pDevice,pDesc,ppSwapChain) ) \n\n#define IDXGIFactory1_CreateSoftwareAdapter(This,Module,ppAdapter)\t\\\n    ( (This)->lpVtbl -> CreateSoftwareAdapter(This,Module,ppAdapter) ) \n\n\n#define IDXGIFactory1_EnumAdapters1(This,Adapter,ppAdapter)\t\\\n    ( (This)->lpVtbl -> EnumAdapters1(This,Adapter,ppAdapter) ) \n\n#define IDXGIFactory1_IsCurrent(This)\t\\\n    ( (This)->lpVtbl -> IsCurrent(This) ) \n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n\n#endif \t/* __IDXGIFactory1_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDXGIAdapter1_INTERFACE_DEFINED__\n#define __IDXGIAdapter1_INTERFACE_DEFINED__\n\n/* interface IDXGIAdapter1 */\n/* [unique][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDXGIAdapter1;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"29038f61-3839-4626-91fd-086879011a05\")\n    IDXGIAdapter1 : public IDXGIAdapter\n    {\n    public:\n        virtual HRESULT STDMETHODCALLTYPE GetDesc1( \n            /* [annotation][out] */ \n            _Out_  DXGI_ADAPTER_DESC1 *pDesc) = 0;\n        \n    };\n    \n    \n#else \t/* C style interface */\n\n    typedef struct IDXGIAdapter1Vtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDXGIAdapter1 * This,\n            /* [in] */ REFIID riid,\n            /* [annotation][iid_is][out] */ \n            _COM_Outptr_  void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDXGIAdapter1 * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDXGIAdapter1 * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( \n            IDXGIAdapter1 * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [in] */ UINT DataSize,\n            /* [annotation][in] */ \n            _In_reads_bytes_(DataSize)  const void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( \n            IDXGIAdapter1 * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [annotation][in] */ \n            _In_  const IUnknown *pUnknown);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( \n            IDXGIAdapter1 * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [annotation][out][in] */ \n            _Inout_  UINT *pDataSize,\n            /* [annotation][out] */ \n            _Out_writes_bytes_(*pDataSize)  void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetParent )( \n            IDXGIAdapter1 * This,\n            /* [annotation][in] */ \n            _In_  REFIID riid,\n            /* [annotation][retval][out] */ \n            _COM_Outptr_  void **ppParent);\n        \n        HRESULT ( STDMETHODCALLTYPE *EnumOutputs )( \n            IDXGIAdapter1 * This,\n            /* [in] */ UINT Output,\n            /* [annotation][out][in] */ \n            _COM_Outptr_  IDXGIOutput **ppOutput);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetDesc )( \n            IDXGIAdapter1 * This,\n            /* [annotation][out] */ \n            _Out_  DXGI_ADAPTER_DESC *pDesc);\n        \n        HRESULT ( STDMETHODCALLTYPE *CheckInterfaceSupport )( \n            IDXGIAdapter1 * This,\n            /* [annotation][in] */ \n            _In_  REFGUID InterfaceName,\n            /* [annotation][out] */ \n            _Out_  LARGE_INTEGER *pUMDVersion);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetDesc1 )( \n            IDXGIAdapter1 * This,\n            /* [annotation][out] */ \n            _Out_  DXGI_ADAPTER_DESC1 *pDesc);\n        \n        END_INTERFACE\n    } IDXGIAdapter1Vtbl;\n\n    interface IDXGIAdapter1\n    {\n        CONST_VTBL struct IDXGIAdapter1Vtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDXGIAdapter1_QueryInterface(This,riid,ppvObject)\t\\\n    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \n\n#define IDXGIAdapter1_AddRef(This)\t\\\n    ( (This)->lpVtbl -> AddRef(This) ) \n\n#define IDXGIAdapter1_Release(This)\t\\\n    ( (This)->lpVtbl -> Release(This) ) \n\n\n#define IDXGIAdapter1_SetPrivateData(This,Name,DataSize,pData)\t\\\n    ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) ) \n\n#define IDXGIAdapter1_SetPrivateDataInterface(This,Name,pUnknown)\t\\\n    ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) ) \n\n#define IDXGIAdapter1_GetPrivateData(This,Name,pDataSize,pData)\t\\\n    ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) ) \n\n#define IDXGIAdapter1_GetParent(This,riid,ppParent)\t\\\n    ( (This)->lpVtbl -> GetParent(This,riid,ppParent) ) \n\n\n#define IDXGIAdapter1_EnumOutputs(This,Output,ppOutput)\t\\\n    ( (This)->lpVtbl -> EnumOutputs(This,Output,ppOutput) ) \n\n#define IDXGIAdapter1_GetDesc(This,pDesc)\t\\\n    ( (This)->lpVtbl -> GetDesc(This,pDesc) ) \n\n#define IDXGIAdapter1_CheckInterfaceSupport(This,InterfaceName,pUMDVersion)\t\\\n    ( (This)->lpVtbl -> CheckInterfaceSupport(This,InterfaceName,pUMDVersion) ) \n\n\n#define IDXGIAdapter1_GetDesc1(This,pDesc)\t\\\n    ( (This)->lpVtbl -> GetDesc1(This,pDesc) ) \n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n\n#endif \t/* __IDXGIAdapter1_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDXGIDevice1_INTERFACE_DEFINED__\n#define __IDXGIDevice1_INTERFACE_DEFINED__\n\n/* interface IDXGIDevice1 */\n/* [unique][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDXGIDevice1;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"77db970f-6276-48ba-ba28-070143b4392c\")\n    IDXGIDevice1 : public IDXGIDevice\n    {\n    public:\n        virtual HRESULT STDMETHODCALLTYPE SetMaximumFrameLatency( \n            /* [in] */ UINT MaxLatency) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE GetMaximumFrameLatency( \n            /* [annotation][out] */ \n            _Out_  UINT *pMaxLatency) = 0;\n        \n    };\n    \n    \n#else \t/* C style interface */\n\n    typedef struct IDXGIDevice1Vtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDXGIDevice1 * This,\n            /* [in] */ REFIID riid,\n            /* [annotation][iid_is][out] */ \n            _COM_Outptr_  void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDXGIDevice1 * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDXGIDevice1 * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( \n            IDXGIDevice1 * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [in] */ UINT DataSize,\n            /* [annotation][in] */ \n            _In_reads_bytes_(DataSize)  const void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( \n            IDXGIDevice1 * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [annotation][in] */ \n            _In_  const IUnknown *pUnknown);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( \n            IDXGIDevice1 * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [annotation][out][in] */ \n            _Inout_  UINT *pDataSize,\n            /* [annotation][out] */ \n            _Out_writes_bytes_(*pDataSize)  void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetParent )( \n            IDXGIDevice1 * This,\n            /* [annotation][in] */ \n            _In_  REFIID riid,\n            /* [annotation][retval][out] */ \n            _COM_Outptr_  void **ppParent);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetAdapter )( \n            IDXGIDevice1 * This,\n            /* [annotation][out] */ \n            _COM_Outptr_  IDXGIAdapter **pAdapter);\n        \n        HRESULT ( STDMETHODCALLTYPE *CreateSurface )( \n            IDXGIDevice1 * This,\n            /* [annotation][in] */ \n            _In_  const DXGI_SURFACE_DESC *pDesc,\n            /* [in] */ UINT NumSurfaces,\n            /* [in] */ DXGI_USAGE Usage,\n            /* [annotation][in] */ \n            _In_opt_  const DXGI_SHARED_RESOURCE *pSharedResource,\n            /* [annotation][out] */ \n            _COM_Outptr_  IDXGISurface **ppSurface);\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryResourceResidency )( \n            IDXGIDevice1 * This,\n            /* [annotation][size_is][in] */ \n            _In_reads_(NumResources)  IUnknown *const *ppResources,\n            /* [annotation][size_is][out] */ \n            _Out_writes_(NumResources)  DXGI_RESIDENCY *pResidencyStatus,\n            /* [in] */ UINT NumResources);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetGPUThreadPriority )( \n            IDXGIDevice1 * This,\n            /* [in] */ INT Priority);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetGPUThreadPriority )( \n            IDXGIDevice1 * This,\n            /* [annotation][retval][out] */ \n            _Out_  INT *pPriority);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetMaximumFrameLatency )( \n            IDXGIDevice1 * This,\n            /* [in] */ UINT MaxLatency);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetMaximumFrameLatency )( \n            IDXGIDevice1 * This,\n            /* [annotation][out] */ \n            _Out_  UINT *pMaxLatency);\n        \n        END_INTERFACE\n    } IDXGIDevice1Vtbl;\n\n    interface IDXGIDevice1\n    {\n        CONST_VTBL struct IDXGIDevice1Vtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDXGIDevice1_QueryInterface(This,riid,ppvObject)\t\\\n    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \n\n#define IDXGIDevice1_AddRef(This)\t\\\n    ( (This)->lpVtbl -> AddRef(This) ) \n\n#define IDXGIDevice1_Release(This)\t\\\n    ( (This)->lpVtbl -> Release(This) ) \n\n\n#define IDXGIDevice1_SetPrivateData(This,Name,DataSize,pData)\t\\\n    ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) ) \n\n#define IDXGIDevice1_SetPrivateDataInterface(This,Name,pUnknown)\t\\\n    ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) ) \n\n#define IDXGIDevice1_GetPrivateData(This,Name,pDataSize,pData)\t\\\n    ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) ) \n\n#define IDXGIDevice1_GetParent(This,riid,ppParent)\t\\\n    ( (This)->lpVtbl -> GetParent(This,riid,ppParent) ) \n\n\n#define IDXGIDevice1_GetAdapter(This,pAdapter)\t\\\n    ( (This)->lpVtbl -> GetAdapter(This,pAdapter) ) \n\n#define IDXGIDevice1_CreateSurface(This,pDesc,NumSurfaces,Usage,pSharedResource,ppSurface)\t\\\n    ( (This)->lpVtbl -> CreateSurface(This,pDesc,NumSurfaces,Usage,pSharedResource,ppSurface) ) \n\n#define IDXGIDevice1_QueryResourceResidency(This,ppResources,pResidencyStatus,NumResources)\t\\\n    ( (This)->lpVtbl -> QueryResourceResidency(This,ppResources,pResidencyStatus,NumResources) ) \n\n#define IDXGIDevice1_SetGPUThreadPriority(This,Priority)\t\\\n    ( (This)->lpVtbl -> SetGPUThreadPriority(This,Priority) ) \n\n#define IDXGIDevice1_GetGPUThreadPriority(This,pPriority)\t\\\n    ( (This)->lpVtbl -> GetGPUThreadPriority(This,pPriority) ) \n\n\n#define IDXGIDevice1_SetMaximumFrameLatency(This,MaxLatency)\t\\\n    ( (This)->lpVtbl -> SetMaximumFrameLatency(This,MaxLatency) ) \n\n#define IDXGIDevice1_GetMaximumFrameLatency(This,pMaxLatency)\t\\\n    ( (This)->lpVtbl -> GetMaximumFrameLatency(This,pMaxLatency) ) \n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n\n#endif \t/* __IDXGIDevice1_INTERFACE_DEFINED__ */\n\n\n/* interface __MIDL_itf_dxgi_0000_0014 */\n/* [local] */ \n\n#ifdef __cplusplus\n#endif /*__cplusplus*/\nDEFINE_GUID(IID_IDXGIObject,0xaec22fb8,0x76f3,0x4639,0x9b,0xe0,0x28,0xeb,0x43,0xa6,0x7a,0x2e);\nDEFINE_GUID(IID_IDXGIDeviceSubObject,0x3d3e0379,0xf9de,0x4d58,0xbb,0x6c,0x18,0xd6,0x29,0x92,0xf1,0xa6);\nDEFINE_GUID(IID_IDXGIResource,0x035f3ab4,0x482e,0x4e50,0xb4,0x1f,0x8a,0x7f,0x8b,0xd8,0x96,0x0b);\nDEFINE_GUID(IID_IDXGIKeyedMutex,0x9d8e1289,0xd7b3,0x465f,0x81,0x26,0x25,0x0e,0x34,0x9a,0xf8,0x5d);\nDEFINE_GUID(IID_IDXGISurface,0xcafcb56c,0x6ac3,0x4889,0xbf,0x47,0x9e,0x23,0xbb,0xd2,0x60,0xec);\nDEFINE_GUID(IID_IDXGISurface1,0x4AE63092,0x6327,0x4c1b,0x80,0xAE,0xBF,0xE1,0x2E,0xA3,0x2B,0x86);\nDEFINE_GUID(IID_IDXGIAdapter,0x2411e7e1,0x12ac,0x4ccf,0xbd,0x14,0x97,0x98,0xe8,0x53,0x4d,0xc0);\nDEFINE_GUID(IID_IDXGIOutput,0xae02eedb,0xc735,0x4690,0x8d,0x52,0x5a,0x8d,0xc2,0x02,0x13,0xaa);\nDEFINE_GUID(IID_IDXGISwapChain,0x310d36a0,0xd2e7,0x4c0a,0xaa,0x04,0x6a,0x9d,0x23,0xb8,0x88,0x6a);\nDEFINE_GUID(IID_IDXGIFactory,0x7b7166ec,0x21c7,0x44ae,0xb2,0x1a,0xc9,0xae,0x32,0x1a,0xe3,0x69);\nDEFINE_GUID(IID_IDXGIDevice,0x54ec77fa,0x1377,0x44e6,0x8c,0x32,0x88,0xfd,0x5f,0x44,0xc8,0x4c);\nDEFINE_GUID(IID_IDXGIFactory1,0x770aae78,0xf26f,0x4dba,0xa8,0x29,0x25,0x3c,0x83,0xd1,0xb3,0x87);\nDEFINE_GUID(IID_IDXGIAdapter1,0x29038f61,0x3839,0x4626,0x91,0xfd,0x08,0x68,0x79,0x01,0x1a,0x05);\nDEFINE_GUID(IID_IDXGIDevice1,0x77db970f,0x6276,0x48ba,0xba,0x28,0x07,0x01,0x43,0xb4,0x39,0x2c);\n\n\nextern RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0014_v0_0_c_ifspec;\nextern RPC_IF_HANDLE __MIDL_itf_dxgi_0000_0014_v0_0_s_ifspec;\n\n/* Additional Prototypes for ALL interfaces */\n\n/* end of Additional Prototypes */\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif\n\n\n"
  },
  {
    "path": "external/D3D12/include/dxgi1_2.h",
    "content": "\n\n/* this ALWAYS GENERATED file contains the definitions for the interfaces */\n\n\n /* File created by MIDL compiler version 8.01.0618 */\n/* @@MIDL_FILE_HEADING(  ) */\n\n\n\n/* verify that the <rpcndr.h> version is high enough to compile this file*/\n#ifndef __REQUIRED_RPCNDR_H_VERSION__\n#define __REQUIRED_RPCNDR_H_VERSION__ 500\n#endif\n\n/* verify that the <rpcsal.h> version is high enough to compile this file*/\n#ifndef __REQUIRED_RPCSAL_H_VERSION__\n#define __REQUIRED_RPCSAL_H_VERSION__ 100\n#endif\n\n#include \"rpc.h\"\n#include \"rpcndr.h\"\n\n#ifndef __RPCNDR_H_VERSION__\n#error this stub requires an updated version of <rpcndr.h>\n#endif /* __RPCNDR_H_VERSION__ */\n\n#ifndef COM_NO_WINDOWS_H\n#include \"windows.h\"\n#include \"ole2.h\"\n#endif /*COM_NO_WINDOWS_H*/\n\n#ifndef __dxgi1_2_h__\n#define __dxgi1_2_h__\n\n#if defined(_MSC_VER) && (_MSC_VER >= 1020)\n#pragma once\n#endif\n\n/* Forward Declarations */ \n\n#ifndef __IDXGIDisplayControl_FWD_DEFINED__\n#define __IDXGIDisplayControl_FWD_DEFINED__\ntypedef interface IDXGIDisplayControl IDXGIDisplayControl;\n\n#endif \t/* __IDXGIDisplayControl_FWD_DEFINED__ */\n\n\n#ifndef __IDXGIOutputDuplication_FWD_DEFINED__\n#define __IDXGIOutputDuplication_FWD_DEFINED__\ntypedef interface IDXGIOutputDuplication IDXGIOutputDuplication;\n\n#endif \t/* __IDXGIOutputDuplication_FWD_DEFINED__ */\n\n\n#ifndef __IDXGISurface2_FWD_DEFINED__\n#define __IDXGISurface2_FWD_DEFINED__\ntypedef interface IDXGISurface2 IDXGISurface2;\n\n#endif \t/* __IDXGISurface2_FWD_DEFINED__ */\n\n\n#ifndef __IDXGIResource1_FWD_DEFINED__\n#define __IDXGIResource1_FWD_DEFINED__\ntypedef interface IDXGIResource1 IDXGIResource1;\n\n#endif \t/* __IDXGIResource1_FWD_DEFINED__ */\n\n\n#ifndef __IDXGIDevice2_FWD_DEFINED__\n#define __IDXGIDevice2_FWD_DEFINED__\ntypedef interface IDXGIDevice2 IDXGIDevice2;\n\n#endif \t/* __IDXGIDevice2_FWD_DEFINED__ */\n\n\n#ifndef __IDXGISwapChain1_FWD_DEFINED__\n#define __IDXGISwapChain1_FWD_DEFINED__\ntypedef interface IDXGISwapChain1 IDXGISwapChain1;\n\n#endif \t/* __IDXGISwapChain1_FWD_DEFINED__ */\n\n\n#ifndef __IDXGIFactory2_FWD_DEFINED__\n#define __IDXGIFactory2_FWD_DEFINED__\ntypedef interface IDXGIFactory2 IDXGIFactory2;\n\n#endif \t/* __IDXGIFactory2_FWD_DEFINED__ */\n\n\n#ifndef __IDXGIAdapter2_FWD_DEFINED__\n#define __IDXGIAdapter2_FWD_DEFINED__\ntypedef interface IDXGIAdapter2 IDXGIAdapter2;\n\n#endif \t/* __IDXGIAdapter2_FWD_DEFINED__ */\n\n\n#ifndef __IDXGIOutput1_FWD_DEFINED__\n#define __IDXGIOutput1_FWD_DEFINED__\ntypedef interface IDXGIOutput1 IDXGIOutput1;\n\n#endif \t/* __IDXGIOutput1_FWD_DEFINED__ */\n\n\n/* header files for imported files */\n#include \"dxgi.h\"\n\n#ifdef __cplusplus\nextern \"C\"{\n#endif \n\n\n/* interface __MIDL_itf_dxgi1_2_0000_0000 */\n/* [local] */ \n\n#include <winapifamily.h>\n#pragma region Desktop Family\n#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)\n\n\nextern RPC_IF_HANDLE __MIDL_itf_dxgi1_2_0000_0000_v0_0_c_ifspec;\nextern RPC_IF_HANDLE __MIDL_itf_dxgi1_2_0000_0000_v0_0_s_ifspec;\n\n#ifndef __IDXGIDisplayControl_INTERFACE_DEFINED__\n#define __IDXGIDisplayControl_INTERFACE_DEFINED__\n\n/* interface IDXGIDisplayControl */\n/* [unique][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDXGIDisplayControl;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"ea9dbf1a-c88e-4486-854a-98aa0138f30c\")\n    IDXGIDisplayControl : public IUnknown\n    {\n    public:\n        virtual BOOL STDMETHODCALLTYPE IsStereoEnabled( void) = 0;\n        \n        virtual void STDMETHODCALLTYPE SetStereoEnabled( \n            BOOL enabled) = 0;\n        \n    };\n    \n    \n#else \t/* C style interface */\n\n    typedef struct IDXGIDisplayControlVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDXGIDisplayControl * This,\n            /* [in] */ REFIID riid,\n            /* [annotation][iid_is][out] */ \n            _COM_Outptr_  void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDXGIDisplayControl * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDXGIDisplayControl * This);\n        \n        BOOL ( STDMETHODCALLTYPE *IsStereoEnabled )( \n            IDXGIDisplayControl * This);\n        \n        void ( STDMETHODCALLTYPE *SetStereoEnabled )( \n            IDXGIDisplayControl * This,\n            BOOL enabled);\n        \n        END_INTERFACE\n    } IDXGIDisplayControlVtbl;\n\n    interface IDXGIDisplayControl\n    {\n        CONST_VTBL struct IDXGIDisplayControlVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDXGIDisplayControl_QueryInterface(This,riid,ppvObject)\t\\\n    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \n\n#define IDXGIDisplayControl_AddRef(This)\t\\\n    ( (This)->lpVtbl -> AddRef(This) ) \n\n#define IDXGIDisplayControl_Release(This)\t\\\n    ( (This)->lpVtbl -> Release(This) ) \n\n\n#define IDXGIDisplayControl_IsStereoEnabled(This)\t\\\n    ( (This)->lpVtbl -> IsStereoEnabled(This) ) \n\n#define IDXGIDisplayControl_SetStereoEnabled(This,enabled)\t\\\n    ( (This)->lpVtbl -> SetStereoEnabled(This,enabled) ) \n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n\n#endif \t/* __IDXGIDisplayControl_INTERFACE_DEFINED__ */\n\n\n/* interface __MIDL_itf_dxgi1_2_0000_0001 */\n/* [local] */ \n\ntypedef struct DXGI_OUTDUPL_MOVE_RECT\n    {\n    POINT SourcePoint;\n    RECT DestinationRect;\n    } \tDXGI_OUTDUPL_MOVE_RECT;\n\ntypedef struct DXGI_OUTDUPL_DESC\n    {\n    DXGI_MODE_DESC ModeDesc;\n    DXGI_MODE_ROTATION Rotation;\n    BOOL DesktopImageInSystemMemory;\n    } \tDXGI_OUTDUPL_DESC;\n\ntypedef struct DXGI_OUTDUPL_POINTER_POSITION\n    {\n    POINT Position;\n    BOOL Visible;\n    } \tDXGI_OUTDUPL_POINTER_POSITION;\n\ntypedef \nenum DXGI_OUTDUPL_POINTER_SHAPE_TYPE\n    {\n        DXGI_OUTDUPL_POINTER_SHAPE_TYPE_MONOCHROME\t= 0x1,\n        DXGI_OUTDUPL_POINTER_SHAPE_TYPE_COLOR\t= 0x2,\n        DXGI_OUTDUPL_POINTER_SHAPE_TYPE_MASKED_COLOR\t= 0x4\n    } \tDXGI_OUTDUPL_POINTER_SHAPE_TYPE;\n\ntypedef struct DXGI_OUTDUPL_POINTER_SHAPE_INFO\n    {\n    UINT Type;\n    UINT Width;\n    UINT Height;\n    UINT Pitch;\n    POINT HotSpot;\n    } \tDXGI_OUTDUPL_POINTER_SHAPE_INFO;\n\ntypedef struct DXGI_OUTDUPL_FRAME_INFO\n    {\n    LARGE_INTEGER LastPresentTime;\n    LARGE_INTEGER LastMouseUpdateTime;\n    UINT AccumulatedFrames;\n    BOOL RectsCoalesced;\n    BOOL ProtectedContentMaskedOut;\n    DXGI_OUTDUPL_POINTER_POSITION PointerPosition;\n    UINT TotalMetadataBufferSize;\n    UINT PointerShapeBufferSize;\n    } \tDXGI_OUTDUPL_FRAME_INFO;\n\n\n\nextern RPC_IF_HANDLE __MIDL_itf_dxgi1_2_0000_0001_v0_0_c_ifspec;\nextern RPC_IF_HANDLE __MIDL_itf_dxgi1_2_0000_0001_v0_0_s_ifspec;\n\n#ifndef __IDXGIOutputDuplication_INTERFACE_DEFINED__\n#define __IDXGIOutputDuplication_INTERFACE_DEFINED__\n\n/* interface IDXGIOutputDuplication */\n/* [unique][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDXGIOutputDuplication;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"191cfac3-a341-470d-b26e-a864f428319c\")\n    IDXGIOutputDuplication : public IDXGIObject\n    {\n    public:\n        virtual void STDMETHODCALLTYPE GetDesc( \n            /* [annotation][out] */ \n            _Out_  DXGI_OUTDUPL_DESC *pDesc) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE AcquireNextFrame( \n            /* [annotation][in] */ \n            _In_  UINT TimeoutInMilliseconds,\n            /* [annotation][out] */ \n            _Out_  DXGI_OUTDUPL_FRAME_INFO *pFrameInfo,\n            /* [annotation][out] */ \n            _COM_Outptr_  IDXGIResource **ppDesktopResource) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE GetFrameDirtyRects( \n            /* [annotation][in] */ \n            _In_  UINT DirtyRectsBufferSize,\n            /* [annotation][out] */ \n            _Out_writes_bytes_to_(DirtyRectsBufferSize, *pDirtyRectsBufferSizeRequired)  RECT *pDirtyRectsBuffer,\n            /* [annotation][out] */ \n            _Out_  UINT *pDirtyRectsBufferSizeRequired) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE GetFrameMoveRects( \n            /* [annotation][in] */ \n            _In_  UINT MoveRectsBufferSize,\n            /* [annotation][out] */ \n            _Out_writes_bytes_to_(MoveRectsBufferSize, *pMoveRectsBufferSizeRequired)  DXGI_OUTDUPL_MOVE_RECT *pMoveRectBuffer,\n            /* [annotation][out] */ \n            _Out_  UINT *pMoveRectsBufferSizeRequired) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE GetFramePointerShape( \n            /* [annotation][in] */ \n            _In_  UINT PointerShapeBufferSize,\n            /* [annotation][out] */ \n            _Out_writes_bytes_to_(PointerShapeBufferSize, *pPointerShapeBufferSizeRequired)  void *pPointerShapeBuffer,\n            /* [annotation][out] */ \n            _Out_  UINT *pPointerShapeBufferSizeRequired,\n            /* [annotation][out] */ \n            _Out_  DXGI_OUTDUPL_POINTER_SHAPE_INFO *pPointerShapeInfo) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE MapDesktopSurface( \n            /* [annotation][out] */ \n            _Out_  DXGI_MAPPED_RECT *pLockedRect) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE UnMapDesktopSurface( void) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE ReleaseFrame( void) = 0;\n        \n    };\n    \n    \n#else \t/* C style interface */\n\n    typedef struct IDXGIOutputDuplicationVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDXGIOutputDuplication * This,\n            /* [in] */ REFIID riid,\n            /* [annotation][iid_is][out] */ \n            _COM_Outptr_  void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDXGIOutputDuplication * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDXGIOutputDuplication * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( \n            IDXGIOutputDuplication * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [in] */ UINT DataSize,\n            /* [annotation][in] */ \n            _In_reads_bytes_(DataSize)  const void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( \n            IDXGIOutputDuplication * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [annotation][in] */ \n            _In_  const IUnknown *pUnknown);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( \n            IDXGIOutputDuplication * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [annotation][out][in] */ \n            _Inout_  UINT *pDataSize,\n            /* [annotation][out] */ \n            _Out_writes_bytes_(*pDataSize)  void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetParent )( \n            IDXGIOutputDuplication * This,\n            /* [annotation][in] */ \n            _In_  REFIID riid,\n            /* [annotation][retval][out] */ \n            _COM_Outptr_  void **ppParent);\n        \n        void ( STDMETHODCALLTYPE *GetDesc )( \n            IDXGIOutputDuplication * This,\n            /* [annotation][out] */ \n            _Out_  DXGI_OUTDUPL_DESC *pDesc);\n        \n        HRESULT ( STDMETHODCALLTYPE *AcquireNextFrame )( \n            IDXGIOutputDuplication * This,\n            /* [annotation][in] */ \n            _In_  UINT TimeoutInMilliseconds,\n            /* [annotation][out] */ \n            _Out_  DXGI_OUTDUPL_FRAME_INFO *pFrameInfo,\n            /* [annotation][out] */ \n            _COM_Outptr_  IDXGIResource **ppDesktopResource);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetFrameDirtyRects )( \n            IDXGIOutputDuplication * This,\n            /* [annotation][in] */ \n            _In_  UINT DirtyRectsBufferSize,\n            /* [annotation][out] */ \n            _Out_writes_bytes_to_(DirtyRectsBufferSize, *pDirtyRectsBufferSizeRequired)  RECT *pDirtyRectsBuffer,\n            /* [annotation][out] */ \n            _Out_  UINT *pDirtyRectsBufferSizeRequired);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetFrameMoveRects )( \n            IDXGIOutputDuplication * This,\n            /* [annotation][in] */ \n            _In_  UINT MoveRectsBufferSize,\n            /* [annotation][out] */ \n            _Out_writes_bytes_to_(MoveRectsBufferSize, *pMoveRectsBufferSizeRequired)  DXGI_OUTDUPL_MOVE_RECT *pMoveRectBuffer,\n            /* [annotation][out] */ \n            _Out_  UINT *pMoveRectsBufferSizeRequired);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetFramePointerShape )( \n            IDXGIOutputDuplication * This,\n            /* [annotation][in] */ \n            _In_  UINT PointerShapeBufferSize,\n            /* [annotation][out] */ \n            _Out_writes_bytes_to_(PointerShapeBufferSize, *pPointerShapeBufferSizeRequired)  void *pPointerShapeBuffer,\n            /* [annotation][out] */ \n            _Out_  UINT *pPointerShapeBufferSizeRequired,\n            /* [annotation][out] */ \n            _Out_  DXGI_OUTDUPL_POINTER_SHAPE_INFO *pPointerShapeInfo);\n        \n        HRESULT ( STDMETHODCALLTYPE *MapDesktopSurface )( \n            IDXGIOutputDuplication * This,\n            /* [annotation][out] */ \n            _Out_  DXGI_MAPPED_RECT *pLockedRect);\n        \n        HRESULT ( STDMETHODCALLTYPE *UnMapDesktopSurface )( \n            IDXGIOutputDuplication * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *ReleaseFrame )( \n            IDXGIOutputDuplication * This);\n        \n        END_INTERFACE\n    } IDXGIOutputDuplicationVtbl;\n\n    interface IDXGIOutputDuplication\n    {\n        CONST_VTBL struct IDXGIOutputDuplicationVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDXGIOutputDuplication_QueryInterface(This,riid,ppvObject)\t\\\n    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \n\n#define IDXGIOutputDuplication_AddRef(This)\t\\\n    ( (This)->lpVtbl -> AddRef(This) ) \n\n#define IDXGIOutputDuplication_Release(This)\t\\\n    ( (This)->lpVtbl -> Release(This) ) \n\n\n#define IDXGIOutputDuplication_SetPrivateData(This,Name,DataSize,pData)\t\\\n    ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) ) \n\n#define IDXGIOutputDuplication_SetPrivateDataInterface(This,Name,pUnknown)\t\\\n    ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) ) \n\n#define IDXGIOutputDuplication_GetPrivateData(This,Name,pDataSize,pData)\t\\\n    ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) ) \n\n#define IDXGIOutputDuplication_GetParent(This,riid,ppParent)\t\\\n    ( (This)->lpVtbl -> GetParent(This,riid,ppParent) ) \n\n\n#define IDXGIOutputDuplication_GetDesc(This,pDesc)\t\\\n    ( (This)->lpVtbl -> GetDesc(This,pDesc) ) \n\n#define IDXGIOutputDuplication_AcquireNextFrame(This,TimeoutInMilliseconds,pFrameInfo,ppDesktopResource)\t\\\n    ( (This)->lpVtbl -> AcquireNextFrame(This,TimeoutInMilliseconds,pFrameInfo,ppDesktopResource) ) \n\n#define IDXGIOutputDuplication_GetFrameDirtyRects(This,DirtyRectsBufferSize,pDirtyRectsBuffer,pDirtyRectsBufferSizeRequired)\t\\\n    ( (This)->lpVtbl -> GetFrameDirtyRects(This,DirtyRectsBufferSize,pDirtyRectsBuffer,pDirtyRectsBufferSizeRequired) ) \n\n#define IDXGIOutputDuplication_GetFrameMoveRects(This,MoveRectsBufferSize,pMoveRectBuffer,pMoveRectsBufferSizeRequired)\t\\\n    ( (This)->lpVtbl -> GetFrameMoveRects(This,MoveRectsBufferSize,pMoveRectBuffer,pMoveRectsBufferSizeRequired) ) \n\n#define IDXGIOutputDuplication_GetFramePointerShape(This,PointerShapeBufferSize,pPointerShapeBuffer,pPointerShapeBufferSizeRequired,pPointerShapeInfo)\t\\\n    ( (This)->lpVtbl -> GetFramePointerShape(This,PointerShapeBufferSize,pPointerShapeBuffer,pPointerShapeBufferSizeRequired,pPointerShapeInfo) ) \n\n#define IDXGIOutputDuplication_MapDesktopSurface(This,pLockedRect)\t\\\n    ( (This)->lpVtbl -> MapDesktopSurface(This,pLockedRect) ) \n\n#define IDXGIOutputDuplication_UnMapDesktopSurface(This)\t\\\n    ( (This)->lpVtbl -> UnMapDesktopSurface(This) ) \n\n#define IDXGIOutputDuplication_ReleaseFrame(This)\t\\\n    ( (This)->lpVtbl -> ReleaseFrame(This) ) \n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n\n#endif \t/* __IDXGIOutputDuplication_INTERFACE_DEFINED__ */\n\n\n/* interface __MIDL_itf_dxgi1_2_0000_0002 */\n/* [local] */ \n\n#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */\n#pragma endregion\n#pragma region App Family\n#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)\ntypedef \nenum DXGI_ALPHA_MODE\n    {\n        DXGI_ALPHA_MODE_UNSPECIFIED\t= 0,\n        DXGI_ALPHA_MODE_PREMULTIPLIED\t= 1,\n        DXGI_ALPHA_MODE_STRAIGHT\t= 2,\n        DXGI_ALPHA_MODE_IGNORE\t= 3,\n        DXGI_ALPHA_MODE_FORCE_DWORD\t= 0xffffffff\n    } \tDXGI_ALPHA_MODE;\n\n\n\nextern RPC_IF_HANDLE __MIDL_itf_dxgi1_2_0000_0002_v0_0_c_ifspec;\nextern RPC_IF_HANDLE __MIDL_itf_dxgi1_2_0000_0002_v0_0_s_ifspec;\n\n#ifndef __IDXGISurface2_INTERFACE_DEFINED__\n#define __IDXGISurface2_INTERFACE_DEFINED__\n\n/* interface IDXGISurface2 */\n/* [unique][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDXGISurface2;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"aba496dd-b617-4cb8-a866-bc44d7eb1fa2\")\n    IDXGISurface2 : public IDXGISurface1\n    {\n    public:\n        virtual HRESULT STDMETHODCALLTYPE GetResource( \n            /* [annotation][in] */ \n            _In_  REFIID riid,\n            /* [annotation][out] */ \n            _COM_Outptr_  void **ppParentResource,\n            /* [annotation][out] */ \n            _Out_  UINT *pSubresourceIndex) = 0;\n        \n    };\n    \n    \n#else \t/* C style interface */\n\n    typedef struct IDXGISurface2Vtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDXGISurface2 * This,\n            /* [in] */ REFIID riid,\n            /* [annotation][iid_is][out] */ \n            _COM_Outptr_  void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDXGISurface2 * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDXGISurface2 * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( \n            IDXGISurface2 * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [in] */ UINT DataSize,\n            /* [annotation][in] */ \n            _In_reads_bytes_(DataSize)  const void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( \n            IDXGISurface2 * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [annotation][in] */ \n            _In_  const IUnknown *pUnknown);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( \n            IDXGISurface2 * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [annotation][out][in] */ \n            _Inout_  UINT *pDataSize,\n            /* [annotation][out] */ \n            _Out_writes_bytes_(*pDataSize)  void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetParent )( \n            IDXGISurface2 * This,\n            /* [annotation][in] */ \n            _In_  REFIID riid,\n            /* [annotation][retval][out] */ \n            _COM_Outptr_  void **ppParent);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetDevice )( \n            IDXGISurface2 * This,\n            /* [annotation][in] */ \n            _In_  REFIID riid,\n            /* [annotation][retval][out] */ \n            _COM_Outptr_  void **ppDevice);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetDesc )( \n            IDXGISurface2 * This,\n            /* [annotation][out] */ \n            _Out_  DXGI_SURFACE_DESC *pDesc);\n        \n        HRESULT ( STDMETHODCALLTYPE *Map )( \n            IDXGISurface2 * This,\n            /* [annotation][out] */ \n            _Out_  DXGI_MAPPED_RECT *pLockedRect,\n            /* [in] */ UINT MapFlags);\n        \n        HRESULT ( STDMETHODCALLTYPE *Unmap )( \n            IDXGISurface2 * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetDC )( \n            IDXGISurface2 * This,\n            /* [in] */ BOOL Discard,\n            /* [annotation][out] */ \n            _Out_  HDC *phdc);\n        \n        HRESULT ( STDMETHODCALLTYPE *ReleaseDC )( \n            IDXGISurface2 * This,\n            /* [annotation][in] */ \n            _In_opt_  RECT *pDirtyRect);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetResource )( \n            IDXGISurface2 * This,\n            /* [annotation][in] */ \n            _In_  REFIID riid,\n            /* [annotation][out] */ \n            _COM_Outptr_  void **ppParentResource,\n            /* [annotation][out] */ \n            _Out_  UINT *pSubresourceIndex);\n        \n        END_INTERFACE\n    } IDXGISurface2Vtbl;\n\n    interface IDXGISurface2\n    {\n        CONST_VTBL struct IDXGISurface2Vtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDXGISurface2_QueryInterface(This,riid,ppvObject)\t\\\n    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \n\n#define IDXGISurface2_AddRef(This)\t\\\n    ( (This)->lpVtbl -> AddRef(This) ) \n\n#define IDXGISurface2_Release(This)\t\\\n    ( (This)->lpVtbl -> Release(This) ) \n\n\n#define IDXGISurface2_SetPrivateData(This,Name,DataSize,pData)\t\\\n    ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) ) \n\n#define IDXGISurface2_SetPrivateDataInterface(This,Name,pUnknown)\t\\\n    ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) ) \n\n#define IDXGISurface2_GetPrivateData(This,Name,pDataSize,pData)\t\\\n    ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) ) \n\n#define IDXGISurface2_GetParent(This,riid,ppParent)\t\\\n    ( (This)->lpVtbl -> GetParent(This,riid,ppParent) ) \n\n\n#define IDXGISurface2_GetDevice(This,riid,ppDevice)\t\\\n    ( (This)->lpVtbl -> GetDevice(This,riid,ppDevice) ) \n\n\n#define IDXGISurface2_GetDesc(This,pDesc)\t\\\n    ( (This)->lpVtbl -> GetDesc(This,pDesc) ) \n\n#define IDXGISurface2_Map(This,pLockedRect,MapFlags)\t\\\n    ( (This)->lpVtbl -> Map(This,pLockedRect,MapFlags) ) \n\n#define IDXGISurface2_Unmap(This)\t\\\n    ( (This)->lpVtbl -> Unmap(This) ) \n\n\n#define IDXGISurface2_GetDC(This,Discard,phdc)\t\\\n    ( (This)->lpVtbl -> GetDC(This,Discard,phdc) ) \n\n#define IDXGISurface2_ReleaseDC(This,pDirtyRect)\t\\\n    ( (This)->lpVtbl -> ReleaseDC(This,pDirtyRect) ) \n\n\n#define IDXGISurface2_GetResource(This,riid,ppParentResource,pSubresourceIndex)\t\\\n    ( (This)->lpVtbl -> GetResource(This,riid,ppParentResource,pSubresourceIndex) ) \n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n\n#endif \t/* __IDXGISurface2_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDXGIResource1_INTERFACE_DEFINED__\n#define __IDXGIResource1_INTERFACE_DEFINED__\n\n/* interface IDXGIResource1 */\n/* [unique][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDXGIResource1;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"30961379-4609-4a41-998e-54fe567ee0c1\")\n    IDXGIResource1 : public IDXGIResource\n    {\n    public:\n        virtual HRESULT STDMETHODCALLTYPE CreateSubresourceSurface( \n            UINT index,\n            /* [annotation][out] */ \n            _COM_Outptr_  IDXGISurface2 **ppSurface) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE CreateSharedHandle( \n            /* [annotation][in] */ \n            _In_opt_  const SECURITY_ATTRIBUTES *pAttributes,\n            /* [annotation][in] */ \n            _In_  DWORD dwAccess,\n            /* [annotation][in] */ \n            _In_opt_  LPCWSTR lpName,\n            /* [annotation][out] */ \n            _Out_  HANDLE *pHandle) = 0;\n        \n    };\n    \n    \n#else \t/* C style interface */\n\n    typedef struct IDXGIResource1Vtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDXGIResource1 * This,\n            /* [in] */ REFIID riid,\n            /* [annotation][iid_is][out] */ \n            _COM_Outptr_  void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDXGIResource1 * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDXGIResource1 * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( \n            IDXGIResource1 * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [in] */ UINT DataSize,\n            /* [annotation][in] */ \n            _In_reads_bytes_(DataSize)  const void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( \n            IDXGIResource1 * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [annotation][in] */ \n            _In_  const IUnknown *pUnknown);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( \n            IDXGIResource1 * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [annotation][out][in] */ \n            _Inout_  UINT *pDataSize,\n            /* [annotation][out] */ \n            _Out_writes_bytes_(*pDataSize)  void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetParent )( \n            IDXGIResource1 * This,\n            /* [annotation][in] */ \n            _In_  REFIID riid,\n            /* [annotation][retval][out] */ \n            _COM_Outptr_  void **ppParent);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetDevice )( \n            IDXGIResource1 * This,\n            /* [annotation][in] */ \n            _In_  REFIID riid,\n            /* [annotation][retval][out] */ \n            _COM_Outptr_  void **ppDevice);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetSharedHandle )( \n            IDXGIResource1 * This,\n            /* [annotation][out] */ \n            _Out_  HANDLE *pSharedHandle);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetUsage )( \n            IDXGIResource1 * This,\n            /* [out] */ DXGI_USAGE *pUsage);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetEvictionPriority )( \n            IDXGIResource1 * This,\n            /* [in] */ UINT EvictionPriority);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetEvictionPriority )( \n            IDXGIResource1 * This,\n            /* [annotation][retval][out] */ \n            _Out_  UINT *pEvictionPriority);\n        \n        HRESULT ( STDMETHODCALLTYPE *CreateSubresourceSurface )( \n            IDXGIResource1 * This,\n            UINT index,\n            /* [annotation][out] */ \n            _COM_Outptr_  IDXGISurface2 **ppSurface);\n        \n        HRESULT ( STDMETHODCALLTYPE *CreateSharedHandle )( \n            IDXGIResource1 * This,\n            /* [annotation][in] */ \n            _In_opt_  const SECURITY_ATTRIBUTES *pAttributes,\n            /* [annotation][in] */ \n            _In_  DWORD dwAccess,\n            /* [annotation][in] */ \n            _In_opt_  LPCWSTR lpName,\n            /* [annotation][out] */ \n            _Out_  HANDLE *pHandle);\n        \n        END_INTERFACE\n    } IDXGIResource1Vtbl;\n\n    interface IDXGIResource1\n    {\n        CONST_VTBL struct IDXGIResource1Vtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDXGIResource1_QueryInterface(This,riid,ppvObject)\t\\\n    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \n\n#define IDXGIResource1_AddRef(This)\t\\\n    ( (This)->lpVtbl -> AddRef(This) ) \n\n#define IDXGIResource1_Release(This)\t\\\n    ( (This)->lpVtbl -> Release(This) ) \n\n\n#define IDXGIResource1_SetPrivateData(This,Name,DataSize,pData)\t\\\n    ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) ) \n\n#define IDXGIResource1_SetPrivateDataInterface(This,Name,pUnknown)\t\\\n    ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) ) \n\n#define IDXGIResource1_GetPrivateData(This,Name,pDataSize,pData)\t\\\n    ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) ) \n\n#define IDXGIResource1_GetParent(This,riid,ppParent)\t\\\n    ( (This)->lpVtbl -> GetParent(This,riid,ppParent) ) \n\n\n#define IDXGIResource1_GetDevice(This,riid,ppDevice)\t\\\n    ( (This)->lpVtbl -> GetDevice(This,riid,ppDevice) ) \n\n\n#define IDXGIResource1_GetSharedHandle(This,pSharedHandle)\t\\\n    ( (This)->lpVtbl -> GetSharedHandle(This,pSharedHandle) ) \n\n#define IDXGIResource1_GetUsage(This,pUsage)\t\\\n    ( (This)->lpVtbl -> GetUsage(This,pUsage) ) \n\n#define IDXGIResource1_SetEvictionPriority(This,EvictionPriority)\t\\\n    ( (This)->lpVtbl -> SetEvictionPriority(This,EvictionPriority) ) \n\n#define IDXGIResource1_GetEvictionPriority(This,pEvictionPriority)\t\\\n    ( (This)->lpVtbl -> GetEvictionPriority(This,pEvictionPriority) ) \n\n\n#define IDXGIResource1_CreateSubresourceSurface(This,index,ppSurface)\t\\\n    ( (This)->lpVtbl -> CreateSubresourceSurface(This,index,ppSurface) ) \n\n#define IDXGIResource1_CreateSharedHandle(This,pAttributes,dwAccess,lpName,pHandle)\t\\\n    ( (This)->lpVtbl -> CreateSharedHandle(This,pAttributes,dwAccess,lpName,pHandle) ) \n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n\n#endif \t/* __IDXGIResource1_INTERFACE_DEFINED__ */\n\n\n/* interface __MIDL_itf_dxgi1_2_0000_0004 */\n/* [local] */ \n\ntypedef \nenum _DXGI_OFFER_RESOURCE_PRIORITY\n    {\n        DXGI_OFFER_RESOURCE_PRIORITY_LOW\t= 1,\n        DXGI_OFFER_RESOURCE_PRIORITY_NORMAL\t= ( DXGI_OFFER_RESOURCE_PRIORITY_LOW + 1 ) ,\n        DXGI_OFFER_RESOURCE_PRIORITY_HIGH\t= ( DXGI_OFFER_RESOURCE_PRIORITY_NORMAL + 1 ) \n    } \tDXGI_OFFER_RESOURCE_PRIORITY;\n\n\n\nextern RPC_IF_HANDLE __MIDL_itf_dxgi1_2_0000_0004_v0_0_c_ifspec;\nextern RPC_IF_HANDLE __MIDL_itf_dxgi1_2_0000_0004_v0_0_s_ifspec;\n\n#ifndef __IDXGIDevice2_INTERFACE_DEFINED__\n#define __IDXGIDevice2_INTERFACE_DEFINED__\n\n/* interface IDXGIDevice2 */\n/* [unique][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDXGIDevice2;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"05008617-fbfd-4051-a790-144884b4f6a9\")\n    IDXGIDevice2 : public IDXGIDevice1\n    {\n    public:\n        virtual HRESULT STDMETHODCALLTYPE OfferResources( \n            /* [annotation][in] */ \n            _In_  UINT NumResources,\n            /* [annotation][size_is][in] */ \n            _In_reads_(NumResources)  IDXGIResource *const *ppResources,\n            /* [annotation][in] */ \n            _In_  DXGI_OFFER_RESOURCE_PRIORITY Priority) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE ReclaimResources( \n            /* [annotation][in] */ \n            _In_  UINT NumResources,\n            /* [annotation][size_is][in] */ \n            _In_reads_(NumResources)  IDXGIResource *const *ppResources,\n            /* [annotation][size_is][out] */ \n            _Out_writes_all_opt_(NumResources)  BOOL *pDiscarded) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE EnqueueSetEvent( \n            /* [annotation][in] */ \n            _In_  HANDLE hEvent) = 0;\n        \n    };\n    \n    \n#else \t/* C style interface */\n\n    typedef struct IDXGIDevice2Vtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDXGIDevice2 * This,\n            /* [in] */ REFIID riid,\n            /* [annotation][iid_is][out] */ \n            _COM_Outptr_  void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDXGIDevice2 * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDXGIDevice2 * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( \n            IDXGIDevice2 * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [in] */ UINT DataSize,\n            /* [annotation][in] */ \n            _In_reads_bytes_(DataSize)  const void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( \n            IDXGIDevice2 * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [annotation][in] */ \n            _In_  const IUnknown *pUnknown);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( \n            IDXGIDevice2 * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [annotation][out][in] */ \n            _Inout_  UINT *pDataSize,\n            /* [annotation][out] */ \n            _Out_writes_bytes_(*pDataSize)  void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetParent )( \n            IDXGIDevice2 * This,\n            /* [annotation][in] */ \n            _In_  REFIID riid,\n            /* [annotation][retval][out] */ \n            _COM_Outptr_  void **ppParent);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetAdapter )( \n            IDXGIDevice2 * This,\n            /* [annotation][out] */ \n            _COM_Outptr_  IDXGIAdapter **pAdapter);\n        \n        HRESULT ( STDMETHODCALLTYPE *CreateSurface )( \n            IDXGIDevice2 * This,\n            /* [annotation][in] */ \n            _In_  const DXGI_SURFACE_DESC *pDesc,\n            /* [in] */ UINT NumSurfaces,\n            /* [in] */ DXGI_USAGE Usage,\n            /* [annotation][in] */ \n            _In_opt_  const DXGI_SHARED_RESOURCE *pSharedResource,\n            /* [annotation][out] */ \n            _COM_Outptr_  IDXGISurface **ppSurface);\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryResourceResidency )( \n            IDXGIDevice2 * This,\n            /* [annotation][size_is][in] */ \n            _In_reads_(NumResources)  IUnknown *const *ppResources,\n            /* [annotation][size_is][out] */ \n            _Out_writes_(NumResources)  DXGI_RESIDENCY *pResidencyStatus,\n            /* [in] */ UINT NumResources);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetGPUThreadPriority )( \n            IDXGIDevice2 * This,\n            /* [in] */ INT Priority);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetGPUThreadPriority )( \n            IDXGIDevice2 * This,\n            /* [annotation][retval][out] */ \n            _Out_  INT *pPriority);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetMaximumFrameLatency )( \n            IDXGIDevice2 * This,\n            /* [in] */ UINT MaxLatency);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetMaximumFrameLatency )( \n            IDXGIDevice2 * This,\n            /* [annotation][out] */ \n            _Out_  UINT *pMaxLatency);\n        \n        HRESULT ( STDMETHODCALLTYPE *OfferResources )( \n            IDXGIDevice2 * This,\n            /* [annotation][in] */ \n            _In_  UINT NumResources,\n            /* [annotation][size_is][in] */ \n            _In_reads_(NumResources)  IDXGIResource *const *ppResources,\n            /* [annotation][in] */ \n            _In_  DXGI_OFFER_RESOURCE_PRIORITY Priority);\n        \n        HRESULT ( STDMETHODCALLTYPE *ReclaimResources )( \n            IDXGIDevice2 * This,\n            /* [annotation][in] */ \n            _In_  UINT NumResources,\n            /* [annotation][size_is][in] */ \n            _In_reads_(NumResources)  IDXGIResource *const *ppResources,\n            /* [annotation][size_is][out] */ \n            _Out_writes_all_opt_(NumResources)  BOOL *pDiscarded);\n        \n        HRESULT ( STDMETHODCALLTYPE *EnqueueSetEvent )( \n            IDXGIDevice2 * This,\n            /* [annotation][in] */ \n            _In_  HANDLE hEvent);\n        \n        END_INTERFACE\n    } IDXGIDevice2Vtbl;\n\n    interface IDXGIDevice2\n    {\n        CONST_VTBL struct IDXGIDevice2Vtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDXGIDevice2_QueryInterface(This,riid,ppvObject)\t\\\n    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \n\n#define IDXGIDevice2_AddRef(This)\t\\\n    ( (This)->lpVtbl -> AddRef(This) ) \n\n#define IDXGIDevice2_Release(This)\t\\\n    ( (This)->lpVtbl -> Release(This) ) \n\n\n#define IDXGIDevice2_SetPrivateData(This,Name,DataSize,pData)\t\\\n    ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) ) \n\n#define IDXGIDevice2_SetPrivateDataInterface(This,Name,pUnknown)\t\\\n    ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) ) \n\n#define IDXGIDevice2_GetPrivateData(This,Name,pDataSize,pData)\t\\\n    ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) ) \n\n#define IDXGIDevice2_GetParent(This,riid,ppParent)\t\\\n    ( (This)->lpVtbl -> GetParent(This,riid,ppParent) ) \n\n\n#define IDXGIDevice2_GetAdapter(This,pAdapter)\t\\\n    ( (This)->lpVtbl -> GetAdapter(This,pAdapter) ) \n\n#define IDXGIDevice2_CreateSurface(This,pDesc,NumSurfaces,Usage,pSharedResource,ppSurface)\t\\\n    ( (This)->lpVtbl -> CreateSurface(This,pDesc,NumSurfaces,Usage,pSharedResource,ppSurface) ) \n\n#define IDXGIDevice2_QueryResourceResidency(This,ppResources,pResidencyStatus,NumResources)\t\\\n    ( (This)->lpVtbl -> QueryResourceResidency(This,ppResources,pResidencyStatus,NumResources) ) \n\n#define IDXGIDevice2_SetGPUThreadPriority(This,Priority)\t\\\n    ( (This)->lpVtbl -> SetGPUThreadPriority(This,Priority) ) \n\n#define IDXGIDevice2_GetGPUThreadPriority(This,pPriority)\t\\\n    ( (This)->lpVtbl -> GetGPUThreadPriority(This,pPriority) ) \n\n\n#define IDXGIDevice2_SetMaximumFrameLatency(This,MaxLatency)\t\\\n    ( (This)->lpVtbl -> SetMaximumFrameLatency(This,MaxLatency) ) \n\n#define IDXGIDevice2_GetMaximumFrameLatency(This,pMaxLatency)\t\\\n    ( (This)->lpVtbl -> GetMaximumFrameLatency(This,pMaxLatency) ) \n\n\n#define IDXGIDevice2_OfferResources(This,NumResources,ppResources,Priority)\t\\\n    ( (This)->lpVtbl -> OfferResources(This,NumResources,ppResources,Priority) ) \n\n#define IDXGIDevice2_ReclaimResources(This,NumResources,ppResources,pDiscarded)\t\\\n    ( (This)->lpVtbl -> ReclaimResources(This,NumResources,ppResources,pDiscarded) ) \n\n#define IDXGIDevice2_EnqueueSetEvent(This,hEvent)\t\\\n    ( (This)->lpVtbl -> EnqueueSetEvent(This,hEvent) ) \n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n\n#endif \t/* __IDXGIDevice2_INTERFACE_DEFINED__ */\n\n\n/* interface __MIDL_itf_dxgi1_2_0000_0005 */\n/* [local] */ \n\n#define\tDXGI_ENUM_MODES_STEREO\t( 4UL )\n\n#define\tDXGI_ENUM_MODES_DISABLED_STEREO\t( 8UL )\n\n#define\tDXGI_SHARED_RESOURCE_READ\t( 0x80000000L )\n\n#define\tDXGI_SHARED_RESOURCE_WRITE\t( 1 )\n\ntypedef struct DXGI_MODE_DESC1\n    {\n    UINT Width;\n    UINT Height;\n    DXGI_RATIONAL RefreshRate;\n    DXGI_FORMAT Format;\n    DXGI_MODE_SCANLINE_ORDER ScanlineOrdering;\n    DXGI_MODE_SCALING Scaling;\n    BOOL Stereo;\n    } \tDXGI_MODE_DESC1;\n\ntypedef \nenum DXGI_SCALING\n    {\n        DXGI_SCALING_STRETCH\t= 0,\n        DXGI_SCALING_NONE\t= 1,\n        DXGI_SCALING_ASPECT_RATIO_STRETCH\t= 2\n    } \tDXGI_SCALING;\n\ntypedef struct DXGI_SWAP_CHAIN_DESC1\n    {\n    UINT Width;\n    UINT Height;\n    DXGI_FORMAT Format;\n    BOOL Stereo;\n    DXGI_SAMPLE_DESC SampleDesc;\n    DXGI_USAGE BufferUsage;\n    UINT BufferCount;\n    DXGI_SCALING Scaling;\n    DXGI_SWAP_EFFECT SwapEffect;\n    DXGI_ALPHA_MODE AlphaMode;\n    UINT Flags;\n    } \tDXGI_SWAP_CHAIN_DESC1;\n\ntypedef struct DXGI_SWAP_CHAIN_FULLSCREEN_DESC\n    {\n    DXGI_RATIONAL RefreshRate;\n    DXGI_MODE_SCANLINE_ORDER ScanlineOrdering;\n    DXGI_MODE_SCALING Scaling;\n    BOOL Windowed;\n    } \tDXGI_SWAP_CHAIN_FULLSCREEN_DESC;\n\ntypedef struct DXGI_PRESENT_PARAMETERS\n    {\n    UINT DirtyRectsCount;\n    RECT *pDirtyRects;\n    RECT *pScrollRect;\n    POINT *pScrollOffset;\n    } \tDXGI_PRESENT_PARAMETERS;\n\n\n\nextern RPC_IF_HANDLE __MIDL_itf_dxgi1_2_0000_0005_v0_0_c_ifspec;\nextern RPC_IF_HANDLE __MIDL_itf_dxgi1_2_0000_0005_v0_0_s_ifspec;\n\n#ifndef __IDXGISwapChain1_INTERFACE_DEFINED__\n#define __IDXGISwapChain1_INTERFACE_DEFINED__\n\n/* interface IDXGISwapChain1 */\n/* [unique][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDXGISwapChain1;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"790a45f7-0d42-4876-983a-0a55cfe6f4aa\")\n    IDXGISwapChain1 : public IDXGISwapChain\n    {\n    public:\n        virtual HRESULT STDMETHODCALLTYPE GetDesc1( \n            /* [annotation][out] */ \n            _Out_  DXGI_SWAP_CHAIN_DESC1 *pDesc) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE GetFullscreenDesc( \n            /* [annotation][out] */ \n            _Out_  DXGI_SWAP_CHAIN_FULLSCREEN_DESC *pDesc) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE GetHwnd( \n            /* [annotation][out] */ \n            _Out_  HWND *pHwnd) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE GetCoreWindow( \n            /* [annotation][in] */ \n            _In_  REFIID refiid,\n            /* [annotation][out] */ \n            _COM_Outptr_  void **ppUnk) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Present1( \n            /* [in] */ UINT SyncInterval,\n            /* [in] */ UINT PresentFlags,\n            /* [annotation][in] */ \n            _In_  const DXGI_PRESENT_PARAMETERS *pPresentParameters) = 0;\n        \n        virtual BOOL STDMETHODCALLTYPE IsTemporaryMonoSupported( void) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE GetRestrictToOutput( \n            /* [annotation][out] */ \n            _Out_  IDXGIOutput **ppRestrictToOutput) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE SetBackgroundColor( \n            /* [annotation][in] */ \n            _In_  const DXGI_RGBA *pColor) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE GetBackgroundColor( \n            /* [annotation][out] */ \n            _Out_  DXGI_RGBA *pColor) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE SetRotation( \n            /* [annotation][in] */ \n            _In_  DXGI_MODE_ROTATION Rotation) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE GetRotation( \n            /* [annotation][out] */ \n            _Out_  DXGI_MODE_ROTATION *pRotation) = 0;\n        \n    };\n    \n    \n#else \t/* C style interface */\n\n    typedef struct IDXGISwapChain1Vtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDXGISwapChain1 * This,\n            /* [in] */ REFIID riid,\n            /* [annotation][iid_is][out] */ \n            _COM_Outptr_  void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDXGISwapChain1 * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDXGISwapChain1 * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( \n            IDXGISwapChain1 * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [in] */ UINT DataSize,\n            /* [annotation][in] */ \n            _In_reads_bytes_(DataSize)  const void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( \n            IDXGISwapChain1 * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [annotation][in] */ \n            _In_  const IUnknown *pUnknown);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( \n            IDXGISwapChain1 * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [annotation][out][in] */ \n            _Inout_  UINT *pDataSize,\n            /* [annotation][out] */ \n            _Out_writes_bytes_(*pDataSize)  void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetParent )( \n            IDXGISwapChain1 * This,\n            /* [annotation][in] */ \n            _In_  REFIID riid,\n            /* [annotation][retval][out] */ \n            _COM_Outptr_  void **ppParent);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetDevice )( \n            IDXGISwapChain1 * This,\n            /* [annotation][in] */ \n            _In_  REFIID riid,\n            /* [annotation][retval][out] */ \n            _COM_Outptr_  void **ppDevice);\n        \n        HRESULT ( STDMETHODCALLTYPE *Present )( \n            IDXGISwapChain1 * This,\n            /* [in] */ UINT SyncInterval,\n            /* [in] */ UINT Flags);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetBuffer )( \n            IDXGISwapChain1 * This,\n            /* [in] */ UINT Buffer,\n            /* [annotation][in] */ \n            _In_  REFIID riid,\n            /* [annotation][out][in] */ \n            _COM_Outptr_  void **ppSurface);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetFullscreenState )( \n            IDXGISwapChain1 * This,\n            /* [in] */ BOOL Fullscreen,\n            /* [annotation][in] */ \n            _In_opt_  IDXGIOutput *pTarget);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetFullscreenState )( \n            IDXGISwapChain1 * This,\n            /* [annotation][out] */ \n            _Out_opt_  BOOL *pFullscreen,\n            /* [annotation][out] */ \n            _COM_Outptr_opt_result_maybenull_  IDXGIOutput **ppTarget);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetDesc )( \n            IDXGISwapChain1 * This,\n            /* [annotation][out] */ \n            _Out_  DXGI_SWAP_CHAIN_DESC *pDesc);\n        \n        HRESULT ( STDMETHODCALLTYPE *ResizeBuffers )( \n            IDXGISwapChain1 * This,\n            /* [in] */ UINT BufferCount,\n            /* [in] */ UINT Width,\n            /* [in] */ UINT Height,\n            /* [in] */ DXGI_FORMAT NewFormat,\n            /* [in] */ UINT SwapChainFlags);\n        \n        HRESULT ( STDMETHODCALLTYPE *ResizeTarget )( \n            IDXGISwapChain1 * This,\n            /* [annotation][in] */ \n            _In_  const DXGI_MODE_DESC *pNewTargetParameters);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetContainingOutput )( \n            IDXGISwapChain1 * This,\n            /* [annotation][out] */ \n            _COM_Outptr_  IDXGIOutput **ppOutput);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetFrameStatistics )( \n            IDXGISwapChain1 * This,\n            /* [annotation][out] */ \n            _Out_  DXGI_FRAME_STATISTICS *pStats);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetLastPresentCount )( \n            IDXGISwapChain1 * This,\n            /* [annotation][out] */ \n            _Out_  UINT *pLastPresentCount);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetDesc1 )( \n            IDXGISwapChain1 * This,\n            /* [annotation][out] */ \n            _Out_  DXGI_SWAP_CHAIN_DESC1 *pDesc);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetFullscreenDesc )( \n            IDXGISwapChain1 * This,\n            /* [annotation][out] */ \n            _Out_  DXGI_SWAP_CHAIN_FULLSCREEN_DESC *pDesc);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetHwnd )( \n            IDXGISwapChain1 * This,\n            /* [annotation][out] */ \n            _Out_  HWND *pHwnd);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetCoreWindow )( \n            IDXGISwapChain1 * This,\n            /* [annotation][in] */ \n            _In_  REFIID refiid,\n            /* [annotation][out] */ \n            _COM_Outptr_  void **ppUnk);\n        \n        HRESULT ( STDMETHODCALLTYPE *Present1 )( \n            IDXGISwapChain1 * This,\n            /* [in] */ UINT SyncInterval,\n            /* [in] */ UINT PresentFlags,\n            /* [annotation][in] */ \n            _In_  const DXGI_PRESENT_PARAMETERS *pPresentParameters);\n        \n        BOOL ( STDMETHODCALLTYPE *IsTemporaryMonoSupported )( \n            IDXGISwapChain1 * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetRestrictToOutput )( \n            IDXGISwapChain1 * This,\n            /* [annotation][out] */ \n            _Out_  IDXGIOutput **ppRestrictToOutput);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetBackgroundColor )( \n            IDXGISwapChain1 * This,\n            /* [annotation][in] */ \n            _In_  const DXGI_RGBA *pColor);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetBackgroundColor )( \n            IDXGISwapChain1 * This,\n            /* [annotation][out] */ \n            _Out_  DXGI_RGBA *pColor);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetRotation )( \n            IDXGISwapChain1 * This,\n            /* [annotation][in] */ \n            _In_  DXGI_MODE_ROTATION Rotation);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetRotation )( \n            IDXGISwapChain1 * This,\n            /* [annotation][out] */ \n            _Out_  DXGI_MODE_ROTATION *pRotation);\n        \n        END_INTERFACE\n    } IDXGISwapChain1Vtbl;\n\n    interface IDXGISwapChain1\n    {\n        CONST_VTBL struct IDXGISwapChain1Vtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDXGISwapChain1_QueryInterface(This,riid,ppvObject)\t\\\n    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \n\n#define IDXGISwapChain1_AddRef(This)\t\\\n    ( (This)->lpVtbl -> AddRef(This) ) \n\n#define IDXGISwapChain1_Release(This)\t\\\n    ( (This)->lpVtbl -> Release(This) ) \n\n\n#define IDXGISwapChain1_SetPrivateData(This,Name,DataSize,pData)\t\\\n    ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) ) \n\n#define IDXGISwapChain1_SetPrivateDataInterface(This,Name,pUnknown)\t\\\n    ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) ) \n\n#define IDXGISwapChain1_GetPrivateData(This,Name,pDataSize,pData)\t\\\n    ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) ) \n\n#define IDXGISwapChain1_GetParent(This,riid,ppParent)\t\\\n    ( (This)->lpVtbl -> GetParent(This,riid,ppParent) ) \n\n\n#define IDXGISwapChain1_GetDevice(This,riid,ppDevice)\t\\\n    ( (This)->lpVtbl -> GetDevice(This,riid,ppDevice) ) \n\n\n#define IDXGISwapChain1_Present(This,SyncInterval,Flags)\t\\\n    ( (This)->lpVtbl -> Present(This,SyncInterval,Flags) ) \n\n#define IDXGISwapChain1_GetBuffer(This,Buffer,riid,ppSurface)\t\\\n    ( (This)->lpVtbl -> GetBuffer(This,Buffer,riid,ppSurface) ) \n\n#define IDXGISwapChain1_SetFullscreenState(This,Fullscreen,pTarget)\t\\\n    ( (This)->lpVtbl -> SetFullscreenState(This,Fullscreen,pTarget) ) \n\n#define IDXGISwapChain1_GetFullscreenState(This,pFullscreen,ppTarget)\t\\\n    ( (This)->lpVtbl -> GetFullscreenState(This,pFullscreen,ppTarget) ) \n\n#define IDXGISwapChain1_GetDesc(This,pDesc)\t\\\n    ( (This)->lpVtbl -> GetDesc(This,pDesc) ) \n\n#define IDXGISwapChain1_ResizeBuffers(This,BufferCount,Width,Height,NewFormat,SwapChainFlags)\t\\\n    ( (This)->lpVtbl -> ResizeBuffers(This,BufferCount,Width,Height,NewFormat,SwapChainFlags) ) \n\n#define IDXGISwapChain1_ResizeTarget(This,pNewTargetParameters)\t\\\n    ( (This)->lpVtbl -> ResizeTarget(This,pNewTargetParameters) ) \n\n#define IDXGISwapChain1_GetContainingOutput(This,ppOutput)\t\\\n    ( (This)->lpVtbl -> GetContainingOutput(This,ppOutput) ) \n\n#define IDXGISwapChain1_GetFrameStatistics(This,pStats)\t\\\n    ( (This)->lpVtbl -> GetFrameStatistics(This,pStats) ) \n\n#define IDXGISwapChain1_GetLastPresentCount(This,pLastPresentCount)\t\\\n    ( (This)->lpVtbl -> GetLastPresentCount(This,pLastPresentCount) ) \n\n\n#define IDXGISwapChain1_GetDesc1(This,pDesc)\t\\\n    ( (This)->lpVtbl -> GetDesc1(This,pDesc) ) \n\n#define IDXGISwapChain1_GetFullscreenDesc(This,pDesc)\t\\\n    ( (This)->lpVtbl -> GetFullscreenDesc(This,pDesc) ) \n\n#define IDXGISwapChain1_GetHwnd(This,pHwnd)\t\\\n    ( (This)->lpVtbl -> GetHwnd(This,pHwnd) ) \n\n#define IDXGISwapChain1_GetCoreWindow(This,refiid,ppUnk)\t\\\n    ( (This)->lpVtbl -> GetCoreWindow(This,refiid,ppUnk) ) \n\n#define IDXGISwapChain1_Present1(This,SyncInterval,PresentFlags,pPresentParameters)\t\\\n    ( (This)->lpVtbl -> Present1(This,SyncInterval,PresentFlags,pPresentParameters) ) \n\n#define IDXGISwapChain1_IsTemporaryMonoSupported(This)\t\\\n    ( (This)->lpVtbl -> IsTemporaryMonoSupported(This) ) \n\n#define IDXGISwapChain1_GetRestrictToOutput(This,ppRestrictToOutput)\t\\\n    ( (This)->lpVtbl -> GetRestrictToOutput(This,ppRestrictToOutput) ) \n\n#define IDXGISwapChain1_SetBackgroundColor(This,pColor)\t\\\n    ( (This)->lpVtbl -> SetBackgroundColor(This,pColor) ) \n\n#define IDXGISwapChain1_GetBackgroundColor(This,pColor)\t\\\n    ( (This)->lpVtbl -> GetBackgroundColor(This,pColor) ) \n\n#define IDXGISwapChain1_SetRotation(This,Rotation)\t\\\n    ( (This)->lpVtbl -> SetRotation(This,Rotation) ) \n\n#define IDXGISwapChain1_GetRotation(This,pRotation)\t\\\n    ( (This)->lpVtbl -> GetRotation(This,pRotation) ) \n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n\n#endif \t/* __IDXGISwapChain1_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDXGIFactory2_INTERFACE_DEFINED__\n#define __IDXGIFactory2_INTERFACE_DEFINED__\n\n/* interface IDXGIFactory2 */\n/* [unique][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDXGIFactory2;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"50c83a1c-e072-4c48-87b0-3630fa36a6d0\")\n    IDXGIFactory2 : public IDXGIFactory1\n    {\n    public:\n        virtual BOOL STDMETHODCALLTYPE IsWindowedStereoEnabled( void) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE CreateSwapChainForHwnd( \n            /* [annotation][in] */ \n            _In_  IUnknown *pDevice,\n            /* [annotation][in] */ \n            _In_  HWND hWnd,\n            /* [annotation][in] */ \n            _In_  const DXGI_SWAP_CHAIN_DESC1 *pDesc,\n            /* [annotation][in] */ \n            _In_opt_  const DXGI_SWAP_CHAIN_FULLSCREEN_DESC *pFullscreenDesc,\n            /* [annotation][in] */ \n            _In_opt_  IDXGIOutput *pRestrictToOutput,\n            /* [annotation][out] */ \n            _COM_Outptr_  IDXGISwapChain1 **ppSwapChain) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE CreateSwapChainForCoreWindow( \n            /* [annotation][in] */ \n            _In_  IUnknown *pDevice,\n            /* [annotation][in] */ \n            _In_  IUnknown *pWindow,\n            /* [annotation][in] */ \n            _In_  const DXGI_SWAP_CHAIN_DESC1 *pDesc,\n            /* [annotation][in] */ \n            _In_opt_  IDXGIOutput *pRestrictToOutput,\n            /* [annotation][out] */ \n            _COM_Outptr_  IDXGISwapChain1 **ppSwapChain) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE GetSharedResourceAdapterLuid( \n            /* [annotation] */ \n            _In_  HANDLE hResource,\n            /* [annotation] */ \n            _Out_  LUID *pLuid) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE RegisterStereoStatusWindow( \n            /* [annotation][in] */ \n            _In_  HWND WindowHandle,\n            /* [annotation][in] */ \n            _In_  UINT wMsg,\n            /* [annotation][out] */ \n            _Out_  DWORD *pdwCookie) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE RegisterStereoStatusEvent( \n            /* [annotation][in] */ \n            _In_  HANDLE hEvent,\n            /* [annotation][out] */ \n            _Out_  DWORD *pdwCookie) = 0;\n        \n        virtual void STDMETHODCALLTYPE UnregisterStereoStatus( \n            /* [annotation][in] */ \n            _In_  DWORD dwCookie) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE RegisterOcclusionStatusWindow( \n            /* [annotation][in] */ \n            _In_  HWND WindowHandle,\n            /* [annotation][in] */ \n            _In_  UINT wMsg,\n            /* [annotation][out] */ \n            _Out_  DWORD *pdwCookie) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE RegisterOcclusionStatusEvent( \n            /* [annotation][in] */ \n            _In_  HANDLE hEvent,\n            /* [annotation][out] */ \n            _Out_  DWORD *pdwCookie) = 0;\n        \n        virtual void STDMETHODCALLTYPE UnregisterOcclusionStatus( \n            /* [annotation][in] */ \n            _In_  DWORD dwCookie) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE CreateSwapChainForComposition( \n            /* [annotation][in] */ \n            _In_  IUnknown *pDevice,\n            /* [annotation][in] */ \n            _In_  const DXGI_SWAP_CHAIN_DESC1 *pDesc,\n            /* [annotation][in] */ \n            _In_opt_  IDXGIOutput *pRestrictToOutput,\n            /* [annotation][out] */ \n            _COM_Outptr_  IDXGISwapChain1 **ppSwapChain) = 0;\n        \n    };\n    \n    \n#else \t/* C style interface */\n\n    typedef struct IDXGIFactory2Vtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDXGIFactory2 * This,\n            /* [in] */ REFIID riid,\n            /* [annotation][iid_is][out] */ \n            _COM_Outptr_  void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDXGIFactory2 * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDXGIFactory2 * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( \n            IDXGIFactory2 * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [in] */ UINT DataSize,\n            /* [annotation][in] */ \n            _In_reads_bytes_(DataSize)  const void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( \n            IDXGIFactory2 * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [annotation][in] */ \n            _In_  const IUnknown *pUnknown);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( \n            IDXGIFactory2 * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [annotation][out][in] */ \n            _Inout_  UINT *pDataSize,\n            /* [annotation][out] */ \n            _Out_writes_bytes_(*pDataSize)  void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetParent )( \n            IDXGIFactory2 * This,\n            /* [annotation][in] */ \n            _In_  REFIID riid,\n            /* [annotation][retval][out] */ \n            _COM_Outptr_  void **ppParent);\n        \n        HRESULT ( STDMETHODCALLTYPE *EnumAdapters )( \n            IDXGIFactory2 * This,\n            /* [in] */ UINT Adapter,\n            /* [annotation][out] */ \n            _COM_Outptr_  IDXGIAdapter **ppAdapter);\n        \n        HRESULT ( STDMETHODCALLTYPE *MakeWindowAssociation )( \n            IDXGIFactory2 * This,\n            HWND WindowHandle,\n            UINT Flags);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetWindowAssociation )( \n            IDXGIFactory2 * This,\n            /* [annotation][out] */ \n            _Out_  HWND *pWindowHandle);\n        \n        HRESULT ( STDMETHODCALLTYPE *CreateSwapChain )( \n            IDXGIFactory2 * This,\n            /* [annotation][in] */ \n            _In_  IUnknown *pDevice,\n            /* [annotation][in] */ \n            _In_  DXGI_SWAP_CHAIN_DESC *pDesc,\n            /* [annotation][out] */ \n            _COM_Outptr_  IDXGISwapChain **ppSwapChain);\n        \n        HRESULT ( STDMETHODCALLTYPE *CreateSoftwareAdapter )( \n            IDXGIFactory2 * This,\n            /* [in] */ HMODULE Module,\n            /* [annotation][out] */ \n            _COM_Outptr_  IDXGIAdapter **ppAdapter);\n        \n        HRESULT ( STDMETHODCALLTYPE *EnumAdapters1 )( \n            IDXGIFactory2 * This,\n            /* [in] */ UINT Adapter,\n            /* [annotation][out] */ \n            _COM_Outptr_  IDXGIAdapter1 **ppAdapter);\n        \n        BOOL ( STDMETHODCALLTYPE *IsCurrent )( \n            IDXGIFactory2 * This);\n        \n        BOOL ( STDMETHODCALLTYPE *IsWindowedStereoEnabled )( \n            IDXGIFactory2 * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *CreateSwapChainForHwnd )( \n            IDXGIFactory2 * This,\n            /* [annotation][in] */ \n            _In_  IUnknown *pDevice,\n            /* [annotation][in] */ \n            _In_  HWND hWnd,\n            /* [annotation][in] */ \n            _In_  const DXGI_SWAP_CHAIN_DESC1 *pDesc,\n            /* [annotation][in] */ \n            _In_opt_  const DXGI_SWAP_CHAIN_FULLSCREEN_DESC *pFullscreenDesc,\n            /* [annotation][in] */ \n            _In_opt_  IDXGIOutput *pRestrictToOutput,\n            /* [annotation][out] */ \n            _COM_Outptr_  IDXGISwapChain1 **ppSwapChain);\n        \n        HRESULT ( STDMETHODCALLTYPE *CreateSwapChainForCoreWindow )( \n            IDXGIFactory2 * This,\n            /* [annotation][in] */ \n            _In_  IUnknown *pDevice,\n            /* [annotation][in] */ \n            _In_  IUnknown *pWindow,\n            /* [annotation][in] */ \n            _In_  const DXGI_SWAP_CHAIN_DESC1 *pDesc,\n            /* [annotation][in] */ \n            _In_opt_  IDXGIOutput *pRestrictToOutput,\n            /* [annotation][out] */ \n            _COM_Outptr_  IDXGISwapChain1 **ppSwapChain);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetSharedResourceAdapterLuid )( \n            IDXGIFactory2 * This,\n            /* [annotation] */ \n            _In_  HANDLE hResource,\n            /* [annotation] */ \n            _Out_  LUID *pLuid);\n        \n        HRESULT ( STDMETHODCALLTYPE *RegisterStereoStatusWindow )( \n            IDXGIFactory2 * This,\n            /* [annotation][in] */ \n            _In_  HWND WindowHandle,\n            /* [annotation][in] */ \n            _In_  UINT wMsg,\n            /* [annotation][out] */ \n            _Out_  DWORD *pdwCookie);\n        \n        HRESULT ( STDMETHODCALLTYPE *RegisterStereoStatusEvent )( \n            IDXGIFactory2 * This,\n            /* [annotation][in] */ \n            _In_  HANDLE hEvent,\n            /* [annotation][out] */ \n            _Out_  DWORD *pdwCookie);\n        \n        void ( STDMETHODCALLTYPE *UnregisterStereoStatus )( \n            IDXGIFactory2 * This,\n            /* [annotation][in] */ \n            _In_  DWORD dwCookie);\n        \n        HRESULT ( STDMETHODCALLTYPE *RegisterOcclusionStatusWindow )( \n            IDXGIFactory2 * This,\n            /* [annotation][in] */ \n            _In_  HWND WindowHandle,\n            /* [annotation][in] */ \n            _In_  UINT wMsg,\n            /* [annotation][out] */ \n            _Out_  DWORD *pdwCookie);\n        \n        HRESULT ( STDMETHODCALLTYPE *RegisterOcclusionStatusEvent )( \n            IDXGIFactory2 * This,\n            /* [annotation][in] */ \n            _In_  HANDLE hEvent,\n            /* [annotation][out] */ \n            _Out_  DWORD *pdwCookie);\n        \n        void ( STDMETHODCALLTYPE *UnregisterOcclusionStatus )( \n            IDXGIFactory2 * This,\n            /* [annotation][in] */ \n            _In_  DWORD dwCookie);\n        \n        HRESULT ( STDMETHODCALLTYPE *CreateSwapChainForComposition )( \n            IDXGIFactory2 * This,\n            /* [annotation][in] */ \n            _In_  IUnknown *pDevice,\n            /* [annotation][in] */ \n            _In_  const DXGI_SWAP_CHAIN_DESC1 *pDesc,\n            /* [annotation][in] */ \n            _In_opt_  IDXGIOutput *pRestrictToOutput,\n            /* [annotation][out] */ \n            _COM_Outptr_  IDXGISwapChain1 **ppSwapChain);\n        \n        END_INTERFACE\n    } IDXGIFactory2Vtbl;\n\n    interface IDXGIFactory2\n    {\n        CONST_VTBL struct IDXGIFactory2Vtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDXGIFactory2_QueryInterface(This,riid,ppvObject)\t\\\n    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \n\n#define IDXGIFactory2_AddRef(This)\t\\\n    ( (This)->lpVtbl -> AddRef(This) ) \n\n#define IDXGIFactory2_Release(This)\t\\\n    ( (This)->lpVtbl -> Release(This) ) \n\n\n#define IDXGIFactory2_SetPrivateData(This,Name,DataSize,pData)\t\\\n    ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) ) \n\n#define IDXGIFactory2_SetPrivateDataInterface(This,Name,pUnknown)\t\\\n    ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) ) \n\n#define IDXGIFactory2_GetPrivateData(This,Name,pDataSize,pData)\t\\\n    ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) ) \n\n#define IDXGIFactory2_GetParent(This,riid,ppParent)\t\\\n    ( (This)->lpVtbl -> GetParent(This,riid,ppParent) ) \n\n\n#define IDXGIFactory2_EnumAdapters(This,Adapter,ppAdapter)\t\\\n    ( (This)->lpVtbl -> EnumAdapters(This,Adapter,ppAdapter) ) \n\n#define IDXGIFactory2_MakeWindowAssociation(This,WindowHandle,Flags)\t\\\n    ( (This)->lpVtbl -> MakeWindowAssociation(This,WindowHandle,Flags) ) \n\n#define IDXGIFactory2_GetWindowAssociation(This,pWindowHandle)\t\\\n    ( (This)->lpVtbl -> GetWindowAssociation(This,pWindowHandle) ) \n\n#define IDXGIFactory2_CreateSwapChain(This,pDevice,pDesc,ppSwapChain)\t\\\n    ( (This)->lpVtbl -> CreateSwapChain(This,pDevice,pDesc,ppSwapChain) ) \n\n#define IDXGIFactory2_CreateSoftwareAdapter(This,Module,ppAdapter)\t\\\n    ( (This)->lpVtbl -> CreateSoftwareAdapter(This,Module,ppAdapter) ) \n\n\n#define IDXGIFactory2_EnumAdapters1(This,Adapter,ppAdapter)\t\\\n    ( (This)->lpVtbl -> EnumAdapters1(This,Adapter,ppAdapter) ) \n\n#define IDXGIFactory2_IsCurrent(This)\t\\\n    ( (This)->lpVtbl -> IsCurrent(This) ) \n\n\n#define IDXGIFactory2_IsWindowedStereoEnabled(This)\t\\\n    ( (This)->lpVtbl -> IsWindowedStereoEnabled(This) ) \n\n#define IDXGIFactory2_CreateSwapChainForHwnd(This,pDevice,hWnd,pDesc,pFullscreenDesc,pRestrictToOutput,ppSwapChain)\t\\\n    ( (This)->lpVtbl -> CreateSwapChainForHwnd(This,pDevice,hWnd,pDesc,pFullscreenDesc,pRestrictToOutput,ppSwapChain) ) \n\n#define IDXGIFactory2_CreateSwapChainForCoreWindow(This,pDevice,pWindow,pDesc,pRestrictToOutput,ppSwapChain)\t\\\n    ( (This)->lpVtbl -> CreateSwapChainForCoreWindow(This,pDevice,pWindow,pDesc,pRestrictToOutput,ppSwapChain) ) \n\n#define IDXGIFactory2_GetSharedResourceAdapterLuid(This,hResource,pLuid)\t\\\n    ( (This)->lpVtbl -> GetSharedResourceAdapterLuid(This,hResource,pLuid) ) \n\n#define IDXGIFactory2_RegisterStereoStatusWindow(This,WindowHandle,wMsg,pdwCookie)\t\\\n    ( (This)->lpVtbl -> RegisterStereoStatusWindow(This,WindowHandle,wMsg,pdwCookie) ) \n\n#define IDXGIFactory2_RegisterStereoStatusEvent(This,hEvent,pdwCookie)\t\\\n    ( (This)->lpVtbl -> RegisterStereoStatusEvent(This,hEvent,pdwCookie) ) \n\n#define IDXGIFactory2_UnregisterStereoStatus(This,dwCookie)\t\\\n    ( (This)->lpVtbl -> UnregisterStereoStatus(This,dwCookie) ) \n\n#define IDXGIFactory2_RegisterOcclusionStatusWindow(This,WindowHandle,wMsg,pdwCookie)\t\\\n    ( (This)->lpVtbl -> RegisterOcclusionStatusWindow(This,WindowHandle,wMsg,pdwCookie) ) \n\n#define IDXGIFactory2_RegisterOcclusionStatusEvent(This,hEvent,pdwCookie)\t\\\n    ( (This)->lpVtbl -> RegisterOcclusionStatusEvent(This,hEvent,pdwCookie) ) \n\n#define IDXGIFactory2_UnregisterOcclusionStatus(This,dwCookie)\t\\\n    ( (This)->lpVtbl -> UnregisterOcclusionStatus(This,dwCookie) ) \n\n#define IDXGIFactory2_CreateSwapChainForComposition(This,pDevice,pDesc,pRestrictToOutput,ppSwapChain)\t\\\n    ( (This)->lpVtbl -> CreateSwapChainForComposition(This,pDevice,pDesc,pRestrictToOutput,ppSwapChain) ) \n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n\n#endif \t/* __IDXGIFactory2_INTERFACE_DEFINED__ */\n\n\n/* interface __MIDL_itf_dxgi1_2_0000_0007 */\n/* [local] */ \n\ntypedef \nenum DXGI_GRAPHICS_PREEMPTION_GRANULARITY\n    {\n        DXGI_GRAPHICS_PREEMPTION_DMA_BUFFER_BOUNDARY\t= 0,\n        DXGI_GRAPHICS_PREEMPTION_PRIMITIVE_BOUNDARY\t= 1,\n        DXGI_GRAPHICS_PREEMPTION_TRIANGLE_BOUNDARY\t= 2,\n        DXGI_GRAPHICS_PREEMPTION_PIXEL_BOUNDARY\t= 3,\n        DXGI_GRAPHICS_PREEMPTION_INSTRUCTION_BOUNDARY\t= 4\n    } \tDXGI_GRAPHICS_PREEMPTION_GRANULARITY;\n\ntypedef \nenum DXGI_COMPUTE_PREEMPTION_GRANULARITY\n    {\n        DXGI_COMPUTE_PREEMPTION_DMA_BUFFER_BOUNDARY\t= 0,\n        DXGI_COMPUTE_PREEMPTION_DISPATCH_BOUNDARY\t= 1,\n        DXGI_COMPUTE_PREEMPTION_THREAD_GROUP_BOUNDARY\t= 2,\n        DXGI_COMPUTE_PREEMPTION_THREAD_BOUNDARY\t= 3,\n        DXGI_COMPUTE_PREEMPTION_INSTRUCTION_BOUNDARY\t= 4\n    } \tDXGI_COMPUTE_PREEMPTION_GRANULARITY;\n\ntypedef struct DXGI_ADAPTER_DESC2\n    {\n    WCHAR Description[ 128 ];\n    UINT VendorId;\n    UINT DeviceId;\n    UINT SubSysId;\n    UINT Revision;\n    SIZE_T DedicatedVideoMemory;\n    SIZE_T DedicatedSystemMemory;\n    SIZE_T SharedSystemMemory;\n    LUID AdapterLuid;\n    UINT Flags;\n    DXGI_GRAPHICS_PREEMPTION_GRANULARITY GraphicsPreemptionGranularity;\n    DXGI_COMPUTE_PREEMPTION_GRANULARITY ComputePreemptionGranularity;\n    } \tDXGI_ADAPTER_DESC2;\n\n\n\nextern RPC_IF_HANDLE __MIDL_itf_dxgi1_2_0000_0007_v0_0_c_ifspec;\nextern RPC_IF_HANDLE __MIDL_itf_dxgi1_2_0000_0007_v0_0_s_ifspec;\n\n#ifndef __IDXGIAdapter2_INTERFACE_DEFINED__\n#define __IDXGIAdapter2_INTERFACE_DEFINED__\n\n/* interface IDXGIAdapter2 */\n/* [unique][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDXGIAdapter2;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"0AA1AE0A-FA0E-4B84-8644-E05FF8E5ACB5\")\n    IDXGIAdapter2 : public IDXGIAdapter1\n    {\n    public:\n        virtual HRESULT STDMETHODCALLTYPE GetDesc2( \n            /* [annotation][out] */ \n            _Out_  DXGI_ADAPTER_DESC2 *pDesc) = 0;\n        \n    };\n    \n    \n#else \t/* C style interface */\n\n    typedef struct IDXGIAdapter2Vtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDXGIAdapter2 * This,\n            /* [in] */ REFIID riid,\n            /* [annotation][iid_is][out] */ \n            _COM_Outptr_  void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDXGIAdapter2 * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDXGIAdapter2 * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( \n            IDXGIAdapter2 * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [in] */ UINT DataSize,\n            /* [annotation][in] */ \n            _In_reads_bytes_(DataSize)  const void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( \n            IDXGIAdapter2 * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [annotation][in] */ \n            _In_  const IUnknown *pUnknown);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( \n            IDXGIAdapter2 * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [annotation][out][in] */ \n            _Inout_  UINT *pDataSize,\n            /* [annotation][out] */ \n            _Out_writes_bytes_(*pDataSize)  void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetParent )( \n            IDXGIAdapter2 * This,\n            /* [annotation][in] */ \n            _In_  REFIID riid,\n            /* [annotation][retval][out] */ \n            _COM_Outptr_  void **ppParent);\n        \n        HRESULT ( STDMETHODCALLTYPE *EnumOutputs )( \n            IDXGIAdapter2 * This,\n            /* [in] */ UINT Output,\n            /* [annotation][out][in] */ \n            _COM_Outptr_  IDXGIOutput **ppOutput);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetDesc )( \n            IDXGIAdapter2 * This,\n            /* [annotation][out] */ \n            _Out_  DXGI_ADAPTER_DESC *pDesc);\n        \n        HRESULT ( STDMETHODCALLTYPE *CheckInterfaceSupport )( \n            IDXGIAdapter2 * This,\n            /* [annotation][in] */ \n            _In_  REFGUID InterfaceName,\n            /* [annotation][out] */ \n            _Out_  LARGE_INTEGER *pUMDVersion);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetDesc1 )( \n            IDXGIAdapter2 * This,\n            /* [annotation][out] */ \n            _Out_  DXGI_ADAPTER_DESC1 *pDesc);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetDesc2 )( \n            IDXGIAdapter2 * This,\n            /* [annotation][out] */ \n            _Out_  DXGI_ADAPTER_DESC2 *pDesc);\n        \n        END_INTERFACE\n    } IDXGIAdapter2Vtbl;\n\n    interface IDXGIAdapter2\n    {\n        CONST_VTBL struct IDXGIAdapter2Vtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDXGIAdapter2_QueryInterface(This,riid,ppvObject)\t\\\n    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \n\n#define IDXGIAdapter2_AddRef(This)\t\\\n    ( (This)->lpVtbl -> AddRef(This) ) \n\n#define IDXGIAdapter2_Release(This)\t\\\n    ( (This)->lpVtbl -> Release(This) ) \n\n\n#define IDXGIAdapter2_SetPrivateData(This,Name,DataSize,pData)\t\\\n    ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) ) \n\n#define IDXGIAdapter2_SetPrivateDataInterface(This,Name,pUnknown)\t\\\n    ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) ) \n\n#define IDXGIAdapter2_GetPrivateData(This,Name,pDataSize,pData)\t\\\n    ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) ) \n\n#define IDXGIAdapter2_GetParent(This,riid,ppParent)\t\\\n    ( (This)->lpVtbl -> GetParent(This,riid,ppParent) ) \n\n\n#define IDXGIAdapter2_EnumOutputs(This,Output,ppOutput)\t\\\n    ( (This)->lpVtbl -> EnumOutputs(This,Output,ppOutput) ) \n\n#define IDXGIAdapter2_GetDesc(This,pDesc)\t\\\n    ( (This)->lpVtbl -> GetDesc(This,pDesc) ) \n\n#define IDXGIAdapter2_CheckInterfaceSupport(This,InterfaceName,pUMDVersion)\t\\\n    ( (This)->lpVtbl -> CheckInterfaceSupport(This,InterfaceName,pUMDVersion) ) \n\n\n#define IDXGIAdapter2_GetDesc1(This,pDesc)\t\\\n    ( (This)->lpVtbl -> GetDesc1(This,pDesc) ) \n\n\n#define IDXGIAdapter2_GetDesc2(This,pDesc)\t\\\n    ( (This)->lpVtbl -> GetDesc2(This,pDesc) ) \n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n\n#endif \t/* __IDXGIAdapter2_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDXGIOutput1_INTERFACE_DEFINED__\n#define __IDXGIOutput1_INTERFACE_DEFINED__\n\n/* interface IDXGIOutput1 */\n/* [unique][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDXGIOutput1;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"00cddea8-939b-4b83-a340-a685226666cc\")\n    IDXGIOutput1 : public IDXGIOutput\n    {\n    public:\n        virtual HRESULT STDMETHODCALLTYPE GetDisplayModeList1( \n            /* [in] */ DXGI_FORMAT EnumFormat,\n            /* [in] */ UINT Flags,\n            /* [annotation][out][in] */ \n            _Inout_  UINT *pNumModes,\n            /* [annotation][out] */ \n            _Out_writes_to_opt_(*pNumModes,*pNumModes)  DXGI_MODE_DESC1 *pDesc) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE FindClosestMatchingMode1( \n            /* [annotation][in] */ \n            _In_  const DXGI_MODE_DESC1 *pModeToMatch,\n            /* [annotation][out] */ \n            _Out_  DXGI_MODE_DESC1 *pClosestMatch,\n            /* [annotation][in] */ \n            _In_opt_  IUnknown *pConcernedDevice) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE GetDisplaySurfaceData1( \n            /* [annotation][in] */ \n            _In_  IDXGIResource *pDestination) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE DuplicateOutput( \n            /* [annotation][in] */ \n            _In_  IUnknown *pDevice,\n            /* [annotation][out] */ \n            _COM_Outptr_  IDXGIOutputDuplication **ppOutputDuplication) = 0;\n        \n    };\n    \n    \n#else \t/* C style interface */\n\n    typedef struct IDXGIOutput1Vtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDXGIOutput1 * This,\n            /* [in] */ REFIID riid,\n            /* [annotation][iid_is][out] */ \n            _COM_Outptr_  void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDXGIOutput1 * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDXGIOutput1 * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( \n            IDXGIOutput1 * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [in] */ UINT DataSize,\n            /* [annotation][in] */ \n            _In_reads_bytes_(DataSize)  const void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( \n            IDXGIOutput1 * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [annotation][in] */ \n            _In_  const IUnknown *pUnknown);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( \n            IDXGIOutput1 * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [annotation][out][in] */ \n            _Inout_  UINT *pDataSize,\n            /* [annotation][out] */ \n            _Out_writes_bytes_(*pDataSize)  void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetParent )( \n            IDXGIOutput1 * This,\n            /* [annotation][in] */ \n            _In_  REFIID riid,\n            /* [annotation][retval][out] */ \n            _COM_Outptr_  void **ppParent);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetDesc )( \n            IDXGIOutput1 * This,\n            /* [annotation][out] */ \n            _Out_  DXGI_OUTPUT_DESC *pDesc);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetDisplayModeList )( \n            IDXGIOutput1 * This,\n            /* [in] */ DXGI_FORMAT EnumFormat,\n            /* [in] */ UINT Flags,\n            /* [annotation][out][in] */ \n            _Inout_  UINT *pNumModes,\n            /* [annotation][out] */ \n            _Out_writes_to_opt_(*pNumModes,*pNumModes)  DXGI_MODE_DESC *pDesc);\n        \n        HRESULT ( STDMETHODCALLTYPE *FindClosestMatchingMode )( \n            IDXGIOutput1 * This,\n            /* [annotation][in] */ \n            _In_  const DXGI_MODE_DESC *pModeToMatch,\n            /* [annotation][out] */ \n            _Out_  DXGI_MODE_DESC *pClosestMatch,\n            /* [annotation][in] */ \n            _In_opt_  IUnknown *pConcernedDevice);\n        \n        HRESULT ( STDMETHODCALLTYPE *WaitForVBlank )( \n            IDXGIOutput1 * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *TakeOwnership )( \n            IDXGIOutput1 * This,\n            /* [annotation][in] */ \n            _In_  IUnknown *pDevice,\n            BOOL Exclusive);\n        \n        void ( STDMETHODCALLTYPE *ReleaseOwnership )( \n            IDXGIOutput1 * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetGammaControlCapabilities )( \n            IDXGIOutput1 * This,\n            /* [annotation][out] */ \n            _Out_  DXGI_GAMMA_CONTROL_CAPABILITIES *pGammaCaps);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetGammaControl )( \n            IDXGIOutput1 * This,\n            /* [annotation][in] */ \n            _In_  const DXGI_GAMMA_CONTROL *pArray);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetGammaControl )( \n            IDXGIOutput1 * This,\n            /* [annotation][out] */ \n            _Out_  DXGI_GAMMA_CONTROL *pArray);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetDisplaySurface )( \n            IDXGIOutput1 * This,\n            /* [annotation][in] */ \n            _In_  IDXGISurface *pScanoutSurface);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetDisplaySurfaceData )( \n            IDXGIOutput1 * This,\n            /* [annotation][in] */ \n            _In_  IDXGISurface *pDestination);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetFrameStatistics )( \n            IDXGIOutput1 * This,\n            /* [annotation][out] */ \n            _Out_  DXGI_FRAME_STATISTICS *pStats);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetDisplayModeList1 )( \n            IDXGIOutput1 * This,\n            /* [in] */ DXGI_FORMAT EnumFormat,\n            /* [in] */ UINT Flags,\n            /* [annotation][out][in] */ \n            _Inout_  UINT *pNumModes,\n            /* [annotation][out] */ \n            _Out_writes_to_opt_(*pNumModes,*pNumModes)  DXGI_MODE_DESC1 *pDesc);\n        \n        HRESULT ( STDMETHODCALLTYPE *FindClosestMatchingMode1 )( \n            IDXGIOutput1 * This,\n            /* [annotation][in] */ \n            _In_  const DXGI_MODE_DESC1 *pModeToMatch,\n            /* [annotation][out] */ \n            _Out_  DXGI_MODE_DESC1 *pClosestMatch,\n            /* [annotation][in] */ \n            _In_opt_  IUnknown *pConcernedDevice);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetDisplaySurfaceData1 )( \n            IDXGIOutput1 * This,\n            /* [annotation][in] */ \n            _In_  IDXGIResource *pDestination);\n        \n        HRESULT ( STDMETHODCALLTYPE *DuplicateOutput )( \n            IDXGIOutput1 * This,\n            /* [annotation][in] */ \n            _In_  IUnknown *pDevice,\n            /* [annotation][out] */ \n            _COM_Outptr_  IDXGIOutputDuplication **ppOutputDuplication);\n        \n        END_INTERFACE\n    } IDXGIOutput1Vtbl;\n\n    interface IDXGIOutput1\n    {\n        CONST_VTBL struct IDXGIOutput1Vtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDXGIOutput1_QueryInterface(This,riid,ppvObject)\t\\\n    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \n\n#define IDXGIOutput1_AddRef(This)\t\\\n    ( (This)->lpVtbl -> AddRef(This) ) \n\n#define IDXGIOutput1_Release(This)\t\\\n    ( (This)->lpVtbl -> Release(This) ) \n\n\n#define IDXGIOutput1_SetPrivateData(This,Name,DataSize,pData)\t\\\n    ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) ) \n\n#define IDXGIOutput1_SetPrivateDataInterface(This,Name,pUnknown)\t\\\n    ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) ) \n\n#define IDXGIOutput1_GetPrivateData(This,Name,pDataSize,pData)\t\\\n    ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) ) \n\n#define IDXGIOutput1_GetParent(This,riid,ppParent)\t\\\n    ( (This)->lpVtbl -> GetParent(This,riid,ppParent) ) \n\n\n#define IDXGIOutput1_GetDesc(This,pDesc)\t\\\n    ( (This)->lpVtbl -> GetDesc(This,pDesc) ) \n\n#define IDXGIOutput1_GetDisplayModeList(This,EnumFormat,Flags,pNumModes,pDesc)\t\\\n    ( (This)->lpVtbl -> GetDisplayModeList(This,EnumFormat,Flags,pNumModes,pDesc) ) \n\n#define IDXGIOutput1_FindClosestMatchingMode(This,pModeToMatch,pClosestMatch,pConcernedDevice)\t\\\n    ( (This)->lpVtbl -> FindClosestMatchingMode(This,pModeToMatch,pClosestMatch,pConcernedDevice) ) \n\n#define IDXGIOutput1_WaitForVBlank(This)\t\\\n    ( (This)->lpVtbl -> WaitForVBlank(This) ) \n\n#define IDXGIOutput1_TakeOwnership(This,pDevice,Exclusive)\t\\\n    ( (This)->lpVtbl -> TakeOwnership(This,pDevice,Exclusive) ) \n\n#define IDXGIOutput1_ReleaseOwnership(This)\t\\\n    ( (This)->lpVtbl -> ReleaseOwnership(This) ) \n\n#define IDXGIOutput1_GetGammaControlCapabilities(This,pGammaCaps)\t\\\n    ( (This)->lpVtbl -> GetGammaControlCapabilities(This,pGammaCaps) ) \n\n#define IDXGIOutput1_SetGammaControl(This,pArray)\t\\\n    ( (This)->lpVtbl -> SetGammaControl(This,pArray) ) \n\n#define IDXGIOutput1_GetGammaControl(This,pArray)\t\\\n    ( (This)->lpVtbl -> GetGammaControl(This,pArray) ) \n\n#define IDXGIOutput1_SetDisplaySurface(This,pScanoutSurface)\t\\\n    ( (This)->lpVtbl -> SetDisplaySurface(This,pScanoutSurface) ) \n\n#define IDXGIOutput1_GetDisplaySurfaceData(This,pDestination)\t\\\n    ( (This)->lpVtbl -> GetDisplaySurfaceData(This,pDestination) ) \n\n#define IDXGIOutput1_GetFrameStatistics(This,pStats)\t\\\n    ( (This)->lpVtbl -> GetFrameStatistics(This,pStats) ) \n\n\n#define IDXGIOutput1_GetDisplayModeList1(This,EnumFormat,Flags,pNumModes,pDesc)\t\\\n    ( (This)->lpVtbl -> GetDisplayModeList1(This,EnumFormat,Flags,pNumModes,pDesc) ) \n\n#define IDXGIOutput1_FindClosestMatchingMode1(This,pModeToMatch,pClosestMatch,pConcernedDevice)\t\\\n    ( (This)->lpVtbl -> FindClosestMatchingMode1(This,pModeToMatch,pClosestMatch,pConcernedDevice) ) \n\n#define IDXGIOutput1_GetDisplaySurfaceData1(This,pDestination)\t\\\n    ( (This)->lpVtbl -> GetDisplaySurfaceData1(This,pDestination) ) \n\n#define IDXGIOutput1_DuplicateOutput(This,pDevice,ppOutputDuplication)\t\\\n    ( (This)->lpVtbl -> DuplicateOutput(This,pDevice,ppOutputDuplication) ) \n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n\n#endif \t/* __IDXGIOutput1_INTERFACE_DEFINED__ */\n\n\n/* interface __MIDL_itf_dxgi1_2_0000_0009 */\n/* [local] */ \n\n#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */\n#pragma endregion\nDEFINE_GUID(IID_IDXGIDisplayControl,0xea9dbf1a,0xc88e,0x4486,0x85,0x4a,0x98,0xaa,0x01,0x38,0xf3,0x0c);\nDEFINE_GUID(IID_IDXGIOutputDuplication,0x191cfac3,0xa341,0x470d,0xb2,0x6e,0xa8,0x64,0xf4,0x28,0x31,0x9c);\nDEFINE_GUID(IID_IDXGISurface2,0xaba496dd,0xb617,0x4cb8,0xa8,0x66,0xbc,0x44,0xd7,0xeb,0x1f,0xa2);\nDEFINE_GUID(IID_IDXGIResource1,0x30961379,0x4609,0x4a41,0x99,0x8e,0x54,0xfe,0x56,0x7e,0xe0,0xc1);\nDEFINE_GUID(IID_IDXGIDevice2,0x05008617,0xfbfd,0x4051,0xa7,0x90,0x14,0x48,0x84,0xb4,0xf6,0xa9);\nDEFINE_GUID(IID_IDXGISwapChain1,0x790a45f7,0x0d42,0x4876,0x98,0x3a,0x0a,0x55,0xcf,0xe6,0xf4,0xaa);\nDEFINE_GUID(IID_IDXGIFactory2,0x50c83a1c,0xe072,0x4c48,0x87,0xb0,0x36,0x30,0xfa,0x36,0xa6,0xd0);\nDEFINE_GUID(IID_IDXGIAdapter2,0x0AA1AE0A,0xFA0E,0x4B84,0x86,0x44,0xE0,0x5F,0xF8,0xE5,0xAC,0xB5);\nDEFINE_GUID(IID_IDXGIOutput1,0x00cddea8,0x939b,0x4b83,0xa3,0x40,0xa6,0x85,0x22,0x66,0x66,0xcc);\n\n\nextern RPC_IF_HANDLE __MIDL_itf_dxgi1_2_0000_0009_v0_0_c_ifspec;\nextern RPC_IF_HANDLE __MIDL_itf_dxgi1_2_0000_0009_v0_0_s_ifspec;\n\n/* Additional Prototypes for ALL interfaces */\n\n/* end of Additional Prototypes */\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif\n\n\n"
  },
  {
    "path": "external/D3D12/include/dxgi1_3.h",
    "content": "\n\n/* this ALWAYS GENERATED file contains the definitions for the interfaces */\n\n\n /* File created by MIDL compiler version 8.01.0618 */\n/* @@MIDL_FILE_HEADING(  ) */\n\n\n\n/* verify that the <rpcndr.h> version is high enough to compile this file*/\n#ifndef __REQUIRED_RPCNDR_H_VERSION__\n#define __REQUIRED_RPCNDR_H_VERSION__ 500\n#endif\n\n/* verify that the <rpcsal.h> version is high enough to compile this file*/\n#ifndef __REQUIRED_RPCSAL_H_VERSION__\n#define __REQUIRED_RPCSAL_H_VERSION__ 100\n#endif\n\n#include \"rpc.h\"\n#include \"rpcndr.h\"\n\n#ifndef __RPCNDR_H_VERSION__\n#error this stub requires an updated version of <rpcndr.h>\n#endif /* __RPCNDR_H_VERSION__ */\n\n#ifndef COM_NO_WINDOWS_H\n#include \"windows.h\"\n#include \"ole2.h\"\n#endif /*COM_NO_WINDOWS_H*/\n\n#ifndef __dxgi1_3_h__\n#define __dxgi1_3_h__\n\n#if defined(_MSC_VER) && (_MSC_VER >= 1020)\n#pragma once\n#endif\n\n/* Forward Declarations */ \n\n#ifndef __IDXGIDevice3_FWD_DEFINED__\n#define __IDXGIDevice3_FWD_DEFINED__\ntypedef interface IDXGIDevice3 IDXGIDevice3;\n\n#endif \t/* __IDXGIDevice3_FWD_DEFINED__ */\n\n\n#ifndef __IDXGISwapChain2_FWD_DEFINED__\n#define __IDXGISwapChain2_FWD_DEFINED__\ntypedef interface IDXGISwapChain2 IDXGISwapChain2;\n\n#endif \t/* __IDXGISwapChain2_FWD_DEFINED__ */\n\n\n#ifndef __IDXGIOutput2_FWD_DEFINED__\n#define __IDXGIOutput2_FWD_DEFINED__\ntypedef interface IDXGIOutput2 IDXGIOutput2;\n\n#endif \t/* __IDXGIOutput2_FWD_DEFINED__ */\n\n\n#ifndef __IDXGIFactory3_FWD_DEFINED__\n#define __IDXGIFactory3_FWD_DEFINED__\ntypedef interface IDXGIFactory3 IDXGIFactory3;\n\n#endif \t/* __IDXGIFactory3_FWD_DEFINED__ */\n\n\n#ifndef __IDXGIDecodeSwapChain_FWD_DEFINED__\n#define __IDXGIDecodeSwapChain_FWD_DEFINED__\ntypedef interface IDXGIDecodeSwapChain IDXGIDecodeSwapChain;\n\n#endif \t/* __IDXGIDecodeSwapChain_FWD_DEFINED__ */\n\n\n#ifndef __IDXGIFactoryMedia_FWD_DEFINED__\n#define __IDXGIFactoryMedia_FWD_DEFINED__\ntypedef interface IDXGIFactoryMedia IDXGIFactoryMedia;\n\n#endif \t/* __IDXGIFactoryMedia_FWD_DEFINED__ */\n\n\n#ifndef __IDXGISwapChainMedia_FWD_DEFINED__\n#define __IDXGISwapChainMedia_FWD_DEFINED__\ntypedef interface IDXGISwapChainMedia IDXGISwapChainMedia;\n\n#endif \t/* __IDXGISwapChainMedia_FWD_DEFINED__ */\n\n\n#ifndef __IDXGIOutput3_FWD_DEFINED__\n#define __IDXGIOutput3_FWD_DEFINED__\ntypedef interface IDXGIOutput3 IDXGIOutput3;\n\n#endif \t/* __IDXGIOutput3_FWD_DEFINED__ */\n\n\n/* header files for imported files */\n#include \"dxgi1_2.h\"\n\n#ifdef __cplusplus\nextern \"C\"{\n#endif \n\n\n/* interface __MIDL_itf_dxgi1_3_0000_0000 */\n/* [local] */ \n\n#include <winapifamily.h>\n#pragma region App Family\n#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)\n#define DXGI_CREATE_FACTORY_DEBUG 0x1\nHRESULT WINAPI CreateDXGIFactory2(UINT Flags, REFIID riid, _COM_Outptr_ void **ppFactory);\nHRESULT WINAPI DXGIGetDebugInterface1(UINT Flags, REFIID riid, _COM_Outptr_ void **pDebug);\n\n\nextern RPC_IF_HANDLE __MIDL_itf_dxgi1_3_0000_0000_v0_0_c_ifspec;\nextern RPC_IF_HANDLE __MIDL_itf_dxgi1_3_0000_0000_v0_0_s_ifspec;\n\n#ifndef __IDXGIDevice3_INTERFACE_DEFINED__\n#define __IDXGIDevice3_INTERFACE_DEFINED__\n\n/* interface IDXGIDevice3 */\n/* [unique][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDXGIDevice3;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"6007896c-3244-4afd-bf18-a6d3beda5023\")\n    IDXGIDevice3 : public IDXGIDevice2\n    {\n    public:\n        virtual void STDMETHODCALLTYPE Trim( void) = 0;\n        \n    };\n    \n    \n#else \t/* C style interface */\n\n    typedef struct IDXGIDevice3Vtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDXGIDevice3 * This,\n            /* [in] */ REFIID riid,\n            /* [annotation][iid_is][out] */ \n            _COM_Outptr_  void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDXGIDevice3 * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDXGIDevice3 * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( \n            IDXGIDevice3 * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [in] */ UINT DataSize,\n            /* [annotation][in] */ \n            _In_reads_bytes_(DataSize)  const void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( \n            IDXGIDevice3 * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [annotation][in] */ \n            _In_  const IUnknown *pUnknown);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( \n            IDXGIDevice3 * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [annotation][out][in] */ \n            _Inout_  UINT *pDataSize,\n            /* [annotation][out] */ \n            _Out_writes_bytes_(*pDataSize)  void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetParent )( \n            IDXGIDevice3 * This,\n            /* [annotation][in] */ \n            _In_  REFIID riid,\n            /* [annotation][retval][out] */ \n            _COM_Outptr_  void **ppParent);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetAdapter )( \n            IDXGIDevice3 * This,\n            /* [annotation][out] */ \n            _COM_Outptr_  IDXGIAdapter **pAdapter);\n        \n        HRESULT ( STDMETHODCALLTYPE *CreateSurface )( \n            IDXGIDevice3 * This,\n            /* [annotation][in] */ \n            _In_  const DXGI_SURFACE_DESC *pDesc,\n            /* [in] */ UINT NumSurfaces,\n            /* [in] */ DXGI_USAGE Usage,\n            /* [annotation][in] */ \n            _In_opt_  const DXGI_SHARED_RESOURCE *pSharedResource,\n            /* [annotation][out] */ \n            _COM_Outptr_  IDXGISurface **ppSurface);\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryResourceResidency )( \n            IDXGIDevice3 * This,\n            /* [annotation][size_is][in] */ \n            _In_reads_(NumResources)  IUnknown *const *ppResources,\n            /* [annotation][size_is][out] */ \n            _Out_writes_(NumResources)  DXGI_RESIDENCY *pResidencyStatus,\n            /* [in] */ UINT NumResources);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetGPUThreadPriority )( \n            IDXGIDevice3 * This,\n            /* [in] */ INT Priority);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetGPUThreadPriority )( \n            IDXGIDevice3 * This,\n            /* [annotation][retval][out] */ \n            _Out_  INT *pPriority);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetMaximumFrameLatency )( \n            IDXGIDevice3 * This,\n            /* [in] */ UINT MaxLatency);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetMaximumFrameLatency )( \n            IDXGIDevice3 * This,\n            /* [annotation][out] */ \n            _Out_  UINT *pMaxLatency);\n        \n        HRESULT ( STDMETHODCALLTYPE *OfferResources )( \n            IDXGIDevice3 * This,\n            /* [annotation][in] */ \n            _In_  UINT NumResources,\n            /* [annotation][size_is][in] */ \n            _In_reads_(NumResources)  IDXGIResource *const *ppResources,\n            /* [annotation][in] */ \n            _In_  DXGI_OFFER_RESOURCE_PRIORITY Priority);\n        \n        HRESULT ( STDMETHODCALLTYPE *ReclaimResources )( \n            IDXGIDevice3 * This,\n            /* [annotation][in] */ \n            _In_  UINT NumResources,\n            /* [annotation][size_is][in] */ \n            _In_reads_(NumResources)  IDXGIResource *const *ppResources,\n            /* [annotation][size_is][out] */ \n            _Out_writes_all_opt_(NumResources)  BOOL *pDiscarded);\n        \n        HRESULT ( STDMETHODCALLTYPE *EnqueueSetEvent )( \n            IDXGIDevice3 * This,\n            /* [annotation][in] */ \n            _In_  HANDLE hEvent);\n        \n        void ( STDMETHODCALLTYPE *Trim )( \n            IDXGIDevice3 * This);\n        \n        END_INTERFACE\n    } IDXGIDevice3Vtbl;\n\n    interface IDXGIDevice3\n    {\n        CONST_VTBL struct IDXGIDevice3Vtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDXGIDevice3_QueryInterface(This,riid,ppvObject)\t\\\n    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \n\n#define IDXGIDevice3_AddRef(This)\t\\\n    ( (This)->lpVtbl -> AddRef(This) ) \n\n#define IDXGIDevice3_Release(This)\t\\\n    ( (This)->lpVtbl -> Release(This) ) \n\n\n#define IDXGIDevice3_SetPrivateData(This,Name,DataSize,pData)\t\\\n    ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) ) \n\n#define IDXGIDevice3_SetPrivateDataInterface(This,Name,pUnknown)\t\\\n    ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) ) \n\n#define IDXGIDevice3_GetPrivateData(This,Name,pDataSize,pData)\t\\\n    ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) ) \n\n#define IDXGIDevice3_GetParent(This,riid,ppParent)\t\\\n    ( (This)->lpVtbl -> GetParent(This,riid,ppParent) ) \n\n\n#define IDXGIDevice3_GetAdapter(This,pAdapter)\t\\\n    ( (This)->lpVtbl -> GetAdapter(This,pAdapter) ) \n\n#define IDXGIDevice3_CreateSurface(This,pDesc,NumSurfaces,Usage,pSharedResource,ppSurface)\t\\\n    ( (This)->lpVtbl -> CreateSurface(This,pDesc,NumSurfaces,Usage,pSharedResource,ppSurface) ) \n\n#define IDXGIDevice3_QueryResourceResidency(This,ppResources,pResidencyStatus,NumResources)\t\\\n    ( (This)->lpVtbl -> QueryResourceResidency(This,ppResources,pResidencyStatus,NumResources) ) \n\n#define IDXGIDevice3_SetGPUThreadPriority(This,Priority)\t\\\n    ( (This)->lpVtbl -> SetGPUThreadPriority(This,Priority) ) \n\n#define IDXGIDevice3_GetGPUThreadPriority(This,pPriority)\t\\\n    ( (This)->lpVtbl -> GetGPUThreadPriority(This,pPriority) ) \n\n\n#define IDXGIDevice3_SetMaximumFrameLatency(This,MaxLatency)\t\\\n    ( (This)->lpVtbl -> SetMaximumFrameLatency(This,MaxLatency) ) \n\n#define IDXGIDevice3_GetMaximumFrameLatency(This,pMaxLatency)\t\\\n    ( (This)->lpVtbl -> GetMaximumFrameLatency(This,pMaxLatency) ) \n\n\n#define IDXGIDevice3_OfferResources(This,NumResources,ppResources,Priority)\t\\\n    ( (This)->lpVtbl -> OfferResources(This,NumResources,ppResources,Priority) ) \n\n#define IDXGIDevice3_ReclaimResources(This,NumResources,ppResources,pDiscarded)\t\\\n    ( (This)->lpVtbl -> ReclaimResources(This,NumResources,ppResources,pDiscarded) ) \n\n#define IDXGIDevice3_EnqueueSetEvent(This,hEvent)\t\\\n    ( (This)->lpVtbl -> EnqueueSetEvent(This,hEvent) ) \n\n\n#define IDXGIDevice3_Trim(This)\t\\\n    ( (This)->lpVtbl -> Trim(This) ) \n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n\n#endif \t/* __IDXGIDevice3_INTERFACE_DEFINED__ */\n\n\n/* interface __MIDL_itf_dxgi1_3_0000_0001 */\n/* [local] */ \n\ntypedef struct DXGI_MATRIX_3X2_F\n    {\n    FLOAT _11;\n    FLOAT _12;\n    FLOAT _21;\n    FLOAT _22;\n    FLOAT _31;\n    FLOAT _32;\n    } \tDXGI_MATRIX_3X2_F;\n\n\n\nextern RPC_IF_HANDLE __MIDL_itf_dxgi1_3_0000_0001_v0_0_c_ifspec;\nextern RPC_IF_HANDLE __MIDL_itf_dxgi1_3_0000_0001_v0_0_s_ifspec;\n\n#ifndef __IDXGISwapChain2_INTERFACE_DEFINED__\n#define __IDXGISwapChain2_INTERFACE_DEFINED__\n\n/* interface IDXGISwapChain2 */\n/* [unique][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDXGISwapChain2;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"a8be2ac4-199f-4946-b331-79599fb98de7\")\n    IDXGISwapChain2 : public IDXGISwapChain1\n    {\n    public:\n        virtual HRESULT STDMETHODCALLTYPE SetSourceSize( \n            UINT Width,\n            UINT Height) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE GetSourceSize( \n            /* [annotation][out] */ \n            _Out_  UINT *pWidth,\n            /* [annotation][out] */ \n            _Out_  UINT *pHeight) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE SetMaximumFrameLatency( \n            UINT MaxLatency) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE GetMaximumFrameLatency( \n            /* [annotation][out] */ \n            _Out_  UINT *pMaxLatency) = 0;\n        \n        virtual HANDLE STDMETHODCALLTYPE GetFrameLatencyWaitableObject( void) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE SetMatrixTransform( \n            const DXGI_MATRIX_3X2_F *pMatrix) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE GetMatrixTransform( \n            /* [annotation][out] */ \n            _Out_  DXGI_MATRIX_3X2_F *pMatrix) = 0;\n        \n    };\n    \n    \n#else \t/* C style interface */\n\n    typedef struct IDXGISwapChain2Vtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDXGISwapChain2 * This,\n            /* [in] */ REFIID riid,\n            /* [annotation][iid_is][out] */ \n            _COM_Outptr_  void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDXGISwapChain2 * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDXGISwapChain2 * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( \n            IDXGISwapChain2 * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [in] */ UINT DataSize,\n            /* [annotation][in] */ \n            _In_reads_bytes_(DataSize)  const void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( \n            IDXGISwapChain2 * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [annotation][in] */ \n            _In_  const IUnknown *pUnknown);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( \n            IDXGISwapChain2 * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [annotation][out][in] */ \n            _Inout_  UINT *pDataSize,\n            /* [annotation][out] */ \n            _Out_writes_bytes_(*pDataSize)  void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetParent )( \n            IDXGISwapChain2 * This,\n            /* [annotation][in] */ \n            _In_  REFIID riid,\n            /* [annotation][retval][out] */ \n            _COM_Outptr_  void **ppParent);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetDevice )( \n            IDXGISwapChain2 * This,\n            /* [annotation][in] */ \n            _In_  REFIID riid,\n            /* [annotation][retval][out] */ \n            _COM_Outptr_  void **ppDevice);\n        \n        HRESULT ( STDMETHODCALLTYPE *Present )( \n            IDXGISwapChain2 * This,\n            /* [in] */ UINT SyncInterval,\n            /* [in] */ UINT Flags);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetBuffer )( \n            IDXGISwapChain2 * This,\n            /* [in] */ UINT Buffer,\n            /* [annotation][in] */ \n            _In_  REFIID riid,\n            /* [annotation][out][in] */ \n            _COM_Outptr_  void **ppSurface);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetFullscreenState )( \n            IDXGISwapChain2 * This,\n            /* [in] */ BOOL Fullscreen,\n            /* [annotation][in] */ \n            _In_opt_  IDXGIOutput *pTarget);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetFullscreenState )( \n            IDXGISwapChain2 * This,\n            /* [annotation][out] */ \n            _Out_opt_  BOOL *pFullscreen,\n            /* [annotation][out] */ \n            _COM_Outptr_opt_result_maybenull_  IDXGIOutput **ppTarget);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetDesc )( \n            IDXGISwapChain2 * This,\n            /* [annotation][out] */ \n            _Out_  DXGI_SWAP_CHAIN_DESC *pDesc);\n        \n        HRESULT ( STDMETHODCALLTYPE *ResizeBuffers )( \n            IDXGISwapChain2 * This,\n            /* [in] */ UINT BufferCount,\n            /* [in] */ UINT Width,\n            /* [in] */ UINT Height,\n            /* [in] */ DXGI_FORMAT NewFormat,\n            /* [in] */ UINT SwapChainFlags);\n        \n        HRESULT ( STDMETHODCALLTYPE *ResizeTarget )( \n            IDXGISwapChain2 * This,\n            /* [annotation][in] */ \n            _In_  const DXGI_MODE_DESC *pNewTargetParameters);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetContainingOutput )( \n            IDXGISwapChain2 * This,\n            /* [annotation][out] */ \n            _COM_Outptr_  IDXGIOutput **ppOutput);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetFrameStatistics )( \n            IDXGISwapChain2 * This,\n            /* [annotation][out] */ \n            _Out_  DXGI_FRAME_STATISTICS *pStats);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetLastPresentCount )( \n            IDXGISwapChain2 * This,\n            /* [annotation][out] */ \n            _Out_  UINT *pLastPresentCount);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetDesc1 )( \n            IDXGISwapChain2 * This,\n            /* [annotation][out] */ \n            _Out_  DXGI_SWAP_CHAIN_DESC1 *pDesc);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetFullscreenDesc )( \n            IDXGISwapChain2 * This,\n            /* [annotation][out] */ \n            _Out_  DXGI_SWAP_CHAIN_FULLSCREEN_DESC *pDesc);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetHwnd )( \n            IDXGISwapChain2 * This,\n            /* [annotation][out] */ \n            _Out_  HWND *pHwnd);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetCoreWindow )( \n            IDXGISwapChain2 * This,\n            /* [annotation][in] */ \n            _In_  REFIID refiid,\n            /* [annotation][out] */ \n            _COM_Outptr_  void **ppUnk);\n        \n        HRESULT ( STDMETHODCALLTYPE *Present1 )( \n            IDXGISwapChain2 * This,\n            /* [in] */ UINT SyncInterval,\n            /* [in] */ UINT PresentFlags,\n            /* [annotation][in] */ \n            _In_  const DXGI_PRESENT_PARAMETERS *pPresentParameters);\n        \n        BOOL ( STDMETHODCALLTYPE *IsTemporaryMonoSupported )( \n            IDXGISwapChain2 * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetRestrictToOutput )( \n            IDXGISwapChain2 * This,\n            /* [annotation][out] */ \n            _Out_  IDXGIOutput **ppRestrictToOutput);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetBackgroundColor )( \n            IDXGISwapChain2 * This,\n            /* [annotation][in] */ \n            _In_  const DXGI_RGBA *pColor);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetBackgroundColor )( \n            IDXGISwapChain2 * This,\n            /* [annotation][out] */ \n            _Out_  DXGI_RGBA *pColor);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetRotation )( \n            IDXGISwapChain2 * This,\n            /* [annotation][in] */ \n            _In_  DXGI_MODE_ROTATION Rotation);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetRotation )( \n            IDXGISwapChain2 * This,\n            /* [annotation][out] */ \n            _Out_  DXGI_MODE_ROTATION *pRotation);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetSourceSize )( \n            IDXGISwapChain2 * This,\n            UINT Width,\n            UINT Height);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetSourceSize )( \n            IDXGISwapChain2 * This,\n            /* [annotation][out] */ \n            _Out_  UINT *pWidth,\n            /* [annotation][out] */ \n            _Out_  UINT *pHeight);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetMaximumFrameLatency )( \n            IDXGISwapChain2 * This,\n            UINT MaxLatency);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetMaximumFrameLatency )( \n            IDXGISwapChain2 * This,\n            /* [annotation][out] */ \n            _Out_  UINT *pMaxLatency);\n        \n        HANDLE ( STDMETHODCALLTYPE *GetFrameLatencyWaitableObject )( \n            IDXGISwapChain2 * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetMatrixTransform )( \n            IDXGISwapChain2 * This,\n            const DXGI_MATRIX_3X2_F *pMatrix);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetMatrixTransform )( \n            IDXGISwapChain2 * This,\n            /* [annotation][out] */ \n            _Out_  DXGI_MATRIX_3X2_F *pMatrix);\n        \n        END_INTERFACE\n    } IDXGISwapChain2Vtbl;\n\n    interface IDXGISwapChain2\n    {\n        CONST_VTBL struct IDXGISwapChain2Vtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDXGISwapChain2_QueryInterface(This,riid,ppvObject)\t\\\n    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \n\n#define IDXGISwapChain2_AddRef(This)\t\\\n    ( (This)->lpVtbl -> AddRef(This) ) \n\n#define IDXGISwapChain2_Release(This)\t\\\n    ( (This)->lpVtbl -> Release(This) ) \n\n\n#define IDXGISwapChain2_SetPrivateData(This,Name,DataSize,pData)\t\\\n    ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) ) \n\n#define IDXGISwapChain2_SetPrivateDataInterface(This,Name,pUnknown)\t\\\n    ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) ) \n\n#define IDXGISwapChain2_GetPrivateData(This,Name,pDataSize,pData)\t\\\n    ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) ) \n\n#define IDXGISwapChain2_GetParent(This,riid,ppParent)\t\\\n    ( (This)->lpVtbl -> GetParent(This,riid,ppParent) ) \n\n\n#define IDXGISwapChain2_GetDevice(This,riid,ppDevice)\t\\\n    ( (This)->lpVtbl -> GetDevice(This,riid,ppDevice) ) \n\n\n#define IDXGISwapChain2_Present(This,SyncInterval,Flags)\t\\\n    ( (This)->lpVtbl -> Present(This,SyncInterval,Flags) ) \n\n#define IDXGISwapChain2_GetBuffer(This,Buffer,riid,ppSurface)\t\\\n    ( (This)->lpVtbl -> GetBuffer(This,Buffer,riid,ppSurface) ) \n\n#define IDXGISwapChain2_SetFullscreenState(This,Fullscreen,pTarget)\t\\\n    ( (This)->lpVtbl -> SetFullscreenState(This,Fullscreen,pTarget) ) \n\n#define IDXGISwapChain2_GetFullscreenState(This,pFullscreen,ppTarget)\t\\\n    ( (This)->lpVtbl -> GetFullscreenState(This,pFullscreen,ppTarget) ) \n\n#define IDXGISwapChain2_GetDesc(This,pDesc)\t\\\n    ( (This)->lpVtbl -> GetDesc(This,pDesc) ) \n\n#define IDXGISwapChain2_ResizeBuffers(This,BufferCount,Width,Height,NewFormat,SwapChainFlags)\t\\\n    ( (This)->lpVtbl -> ResizeBuffers(This,BufferCount,Width,Height,NewFormat,SwapChainFlags) ) \n\n#define IDXGISwapChain2_ResizeTarget(This,pNewTargetParameters)\t\\\n    ( (This)->lpVtbl -> ResizeTarget(This,pNewTargetParameters) ) \n\n#define IDXGISwapChain2_GetContainingOutput(This,ppOutput)\t\\\n    ( (This)->lpVtbl -> GetContainingOutput(This,ppOutput) ) \n\n#define IDXGISwapChain2_GetFrameStatistics(This,pStats)\t\\\n    ( (This)->lpVtbl -> GetFrameStatistics(This,pStats) ) \n\n#define IDXGISwapChain2_GetLastPresentCount(This,pLastPresentCount)\t\\\n    ( (This)->lpVtbl -> GetLastPresentCount(This,pLastPresentCount) ) \n\n\n#define IDXGISwapChain2_GetDesc1(This,pDesc)\t\\\n    ( (This)->lpVtbl -> GetDesc1(This,pDesc) ) \n\n#define IDXGISwapChain2_GetFullscreenDesc(This,pDesc)\t\\\n    ( (This)->lpVtbl -> GetFullscreenDesc(This,pDesc) ) \n\n#define IDXGISwapChain2_GetHwnd(This,pHwnd)\t\\\n    ( (This)->lpVtbl -> GetHwnd(This,pHwnd) ) \n\n#define IDXGISwapChain2_GetCoreWindow(This,refiid,ppUnk)\t\\\n    ( (This)->lpVtbl -> GetCoreWindow(This,refiid,ppUnk) ) \n\n#define IDXGISwapChain2_Present1(This,SyncInterval,PresentFlags,pPresentParameters)\t\\\n    ( (This)->lpVtbl -> Present1(This,SyncInterval,PresentFlags,pPresentParameters) ) \n\n#define IDXGISwapChain2_IsTemporaryMonoSupported(This)\t\\\n    ( (This)->lpVtbl -> IsTemporaryMonoSupported(This) ) \n\n#define IDXGISwapChain2_GetRestrictToOutput(This,ppRestrictToOutput)\t\\\n    ( (This)->lpVtbl -> GetRestrictToOutput(This,ppRestrictToOutput) ) \n\n#define IDXGISwapChain2_SetBackgroundColor(This,pColor)\t\\\n    ( (This)->lpVtbl -> SetBackgroundColor(This,pColor) ) \n\n#define IDXGISwapChain2_GetBackgroundColor(This,pColor)\t\\\n    ( (This)->lpVtbl -> GetBackgroundColor(This,pColor) ) \n\n#define IDXGISwapChain2_SetRotation(This,Rotation)\t\\\n    ( (This)->lpVtbl -> SetRotation(This,Rotation) ) \n\n#define IDXGISwapChain2_GetRotation(This,pRotation)\t\\\n    ( (This)->lpVtbl -> GetRotation(This,pRotation) ) \n\n\n#define IDXGISwapChain2_SetSourceSize(This,Width,Height)\t\\\n    ( (This)->lpVtbl -> SetSourceSize(This,Width,Height) ) \n\n#define IDXGISwapChain2_GetSourceSize(This,pWidth,pHeight)\t\\\n    ( (This)->lpVtbl -> GetSourceSize(This,pWidth,pHeight) ) \n\n#define IDXGISwapChain2_SetMaximumFrameLatency(This,MaxLatency)\t\\\n    ( (This)->lpVtbl -> SetMaximumFrameLatency(This,MaxLatency) ) \n\n#define IDXGISwapChain2_GetMaximumFrameLatency(This,pMaxLatency)\t\\\n    ( (This)->lpVtbl -> GetMaximumFrameLatency(This,pMaxLatency) ) \n\n#define IDXGISwapChain2_GetFrameLatencyWaitableObject(This)\t\\\n    ( (This)->lpVtbl -> GetFrameLatencyWaitableObject(This) ) \n\n#define IDXGISwapChain2_SetMatrixTransform(This,pMatrix)\t\\\n    ( (This)->lpVtbl -> SetMatrixTransform(This,pMatrix) ) \n\n#define IDXGISwapChain2_GetMatrixTransform(This,pMatrix)\t\\\n    ( (This)->lpVtbl -> GetMatrixTransform(This,pMatrix) ) \n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n\n#endif \t/* __IDXGISwapChain2_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDXGIOutput2_INTERFACE_DEFINED__\n#define __IDXGIOutput2_INTERFACE_DEFINED__\n\n/* interface IDXGIOutput2 */\n/* [unique][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDXGIOutput2;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"595e39d1-2724-4663-99b1-da969de28364\")\n    IDXGIOutput2 : public IDXGIOutput1\n    {\n    public:\n        virtual BOOL STDMETHODCALLTYPE SupportsOverlays( void) = 0;\n        \n    };\n    \n    \n#else \t/* C style interface */\n\n    typedef struct IDXGIOutput2Vtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDXGIOutput2 * This,\n            /* [in] */ REFIID riid,\n            /* [annotation][iid_is][out] */ \n            _COM_Outptr_  void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDXGIOutput2 * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDXGIOutput2 * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( \n            IDXGIOutput2 * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [in] */ UINT DataSize,\n            /* [annotation][in] */ \n            _In_reads_bytes_(DataSize)  const void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( \n            IDXGIOutput2 * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [annotation][in] */ \n            _In_  const IUnknown *pUnknown);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( \n            IDXGIOutput2 * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [annotation][out][in] */ \n            _Inout_  UINT *pDataSize,\n            /* [annotation][out] */ \n            _Out_writes_bytes_(*pDataSize)  void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetParent )( \n            IDXGIOutput2 * This,\n            /* [annotation][in] */ \n            _In_  REFIID riid,\n            /* [annotation][retval][out] */ \n            _COM_Outptr_  void **ppParent);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetDesc )( \n            IDXGIOutput2 * This,\n            /* [annotation][out] */ \n            _Out_  DXGI_OUTPUT_DESC *pDesc);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetDisplayModeList )( \n            IDXGIOutput2 * This,\n            /* [in] */ DXGI_FORMAT EnumFormat,\n            /* [in] */ UINT Flags,\n            /* [annotation][out][in] */ \n            _Inout_  UINT *pNumModes,\n            /* [annotation][out] */ \n            _Out_writes_to_opt_(*pNumModes,*pNumModes)  DXGI_MODE_DESC *pDesc);\n        \n        HRESULT ( STDMETHODCALLTYPE *FindClosestMatchingMode )( \n            IDXGIOutput2 * This,\n            /* [annotation][in] */ \n            _In_  const DXGI_MODE_DESC *pModeToMatch,\n            /* [annotation][out] */ \n            _Out_  DXGI_MODE_DESC *pClosestMatch,\n            /* [annotation][in] */ \n            _In_opt_  IUnknown *pConcernedDevice);\n        \n        HRESULT ( STDMETHODCALLTYPE *WaitForVBlank )( \n            IDXGIOutput2 * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *TakeOwnership )( \n            IDXGIOutput2 * This,\n            /* [annotation][in] */ \n            _In_  IUnknown *pDevice,\n            BOOL Exclusive);\n        \n        void ( STDMETHODCALLTYPE *ReleaseOwnership )( \n            IDXGIOutput2 * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetGammaControlCapabilities )( \n            IDXGIOutput2 * This,\n            /* [annotation][out] */ \n            _Out_  DXGI_GAMMA_CONTROL_CAPABILITIES *pGammaCaps);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetGammaControl )( \n            IDXGIOutput2 * This,\n            /* [annotation][in] */ \n            _In_  const DXGI_GAMMA_CONTROL *pArray);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetGammaControl )( \n            IDXGIOutput2 * This,\n            /* [annotation][out] */ \n            _Out_  DXGI_GAMMA_CONTROL *pArray);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetDisplaySurface )( \n            IDXGIOutput2 * This,\n            /* [annotation][in] */ \n            _In_  IDXGISurface *pScanoutSurface);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetDisplaySurfaceData )( \n            IDXGIOutput2 * This,\n            /* [annotation][in] */ \n            _In_  IDXGISurface *pDestination);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetFrameStatistics )( \n            IDXGIOutput2 * This,\n            /* [annotation][out] */ \n            _Out_  DXGI_FRAME_STATISTICS *pStats);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetDisplayModeList1 )( \n            IDXGIOutput2 * This,\n            /* [in] */ DXGI_FORMAT EnumFormat,\n            /* [in] */ UINT Flags,\n            /* [annotation][out][in] */ \n            _Inout_  UINT *pNumModes,\n            /* [annotation][out] */ \n            _Out_writes_to_opt_(*pNumModes,*pNumModes)  DXGI_MODE_DESC1 *pDesc);\n        \n        HRESULT ( STDMETHODCALLTYPE *FindClosestMatchingMode1 )( \n            IDXGIOutput2 * This,\n            /* [annotation][in] */ \n            _In_  const DXGI_MODE_DESC1 *pModeToMatch,\n            /* [annotation][out] */ \n            _Out_  DXGI_MODE_DESC1 *pClosestMatch,\n            /* [annotation][in] */ \n            _In_opt_  IUnknown *pConcernedDevice);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetDisplaySurfaceData1 )( \n            IDXGIOutput2 * This,\n            /* [annotation][in] */ \n            _In_  IDXGIResource *pDestination);\n        \n        HRESULT ( STDMETHODCALLTYPE *DuplicateOutput )( \n            IDXGIOutput2 * This,\n            /* [annotation][in] */ \n            _In_  IUnknown *pDevice,\n            /* [annotation][out] */ \n            _COM_Outptr_  IDXGIOutputDuplication **ppOutputDuplication);\n        \n        BOOL ( STDMETHODCALLTYPE *SupportsOverlays )( \n            IDXGIOutput2 * This);\n        \n        END_INTERFACE\n    } IDXGIOutput2Vtbl;\n\n    interface IDXGIOutput2\n    {\n        CONST_VTBL struct IDXGIOutput2Vtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDXGIOutput2_QueryInterface(This,riid,ppvObject)\t\\\n    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \n\n#define IDXGIOutput2_AddRef(This)\t\\\n    ( (This)->lpVtbl -> AddRef(This) ) \n\n#define IDXGIOutput2_Release(This)\t\\\n    ( (This)->lpVtbl -> Release(This) ) \n\n\n#define IDXGIOutput2_SetPrivateData(This,Name,DataSize,pData)\t\\\n    ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) ) \n\n#define IDXGIOutput2_SetPrivateDataInterface(This,Name,pUnknown)\t\\\n    ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) ) \n\n#define IDXGIOutput2_GetPrivateData(This,Name,pDataSize,pData)\t\\\n    ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) ) \n\n#define IDXGIOutput2_GetParent(This,riid,ppParent)\t\\\n    ( (This)->lpVtbl -> GetParent(This,riid,ppParent) ) \n\n\n#define IDXGIOutput2_GetDesc(This,pDesc)\t\\\n    ( (This)->lpVtbl -> GetDesc(This,pDesc) ) \n\n#define IDXGIOutput2_GetDisplayModeList(This,EnumFormat,Flags,pNumModes,pDesc)\t\\\n    ( (This)->lpVtbl -> GetDisplayModeList(This,EnumFormat,Flags,pNumModes,pDesc) ) \n\n#define IDXGIOutput2_FindClosestMatchingMode(This,pModeToMatch,pClosestMatch,pConcernedDevice)\t\\\n    ( (This)->lpVtbl -> FindClosestMatchingMode(This,pModeToMatch,pClosestMatch,pConcernedDevice) ) \n\n#define IDXGIOutput2_WaitForVBlank(This)\t\\\n    ( (This)->lpVtbl -> WaitForVBlank(This) ) \n\n#define IDXGIOutput2_TakeOwnership(This,pDevice,Exclusive)\t\\\n    ( (This)->lpVtbl -> TakeOwnership(This,pDevice,Exclusive) ) \n\n#define IDXGIOutput2_ReleaseOwnership(This)\t\\\n    ( (This)->lpVtbl -> ReleaseOwnership(This) ) \n\n#define IDXGIOutput2_GetGammaControlCapabilities(This,pGammaCaps)\t\\\n    ( (This)->lpVtbl -> GetGammaControlCapabilities(This,pGammaCaps) ) \n\n#define IDXGIOutput2_SetGammaControl(This,pArray)\t\\\n    ( (This)->lpVtbl -> SetGammaControl(This,pArray) ) \n\n#define IDXGIOutput2_GetGammaControl(This,pArray)\t\\\n    ( (This)->lpVtbl -> GetGammaControl(This,pArray) ) \n\n#define IDXGIOutput2_SetDisplaySurface(This,pScanoutSurface)\t\\\n    ( (This)->lpVtbl -> SetDisplaySurface(This,pScanoutSurface) ) \n\n#define IDXGIOutput2_GetDisplaySurfaceData(This,pDestination)\t\\\n    ( (This)->lpVtbl -> GetDisplaySurfaceData(This,pDestination) ) \n\n#define IDXGIOutput2_GetFrameStatistics(This,pStats)\t\\\n    ( (This)->lpVtbl -> GetFrameStatistics(This,pStats) ) \n\n\n#define IDXGIOutput2_GetDisplayModeList1(This,EnumFormat,Flags,pNumModes,pDesc)\t\\\n    ( (This)->lpVtbl -> GetDisplayModeList1(This,EnumFormat,Flags,pNumModes,pDesc) ) \n\n#define IDXGIOutput2_FindClosestMatchingMode1(This,pModeToMatch,pClosestMatch,pConcernedDevice)\t\\\n    ( (This)->lpVtbl -> FindClosestMatchingMode1(This,pModeToMatch,pClosestMatch,pConcernedDevice) ) \n\n#define IDXGIOutput2_GetDisplaySurfaceData1(This,pDestination)\t\\\n    ( (This)->lpVtbl -> GetDisplaySurfaceData1(This,pDestination) ) \n\n#define IDXGIOutput2_DuplicateOutput(This,pDevice,ppOutputDuplication)\t\\\n    ( (This)->lpVtbl -> DuplicateOutput(This,pDevice,ppOutputDuplication) ) \n\n\n#define IDXGIOutput2_SupportsOverlays(This)\t\\\n    ( (This)->lpVtbl -> SupportsOverlays(This) ) \n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n\n#endif \t/* __IDXGIOutput2_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDXGIFactory3_INTERFACE_DEFINED__\n#define __IDXGIFactory3_INTERFACE_DEFINED__\n\n/* interface IDXGIFactory3 */\n/* [unique][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDXGIFactory3;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"25483823-cd46-4c7d-86ca-47aa95b837bd\")\n    IDXGIFactory3 : public IDXGIFactory2\n    {\n    public:\n        virtual UINT STDMETHODCALLTYPE GetCreationFlags( void) = 0;\n        \n    };\n    \n    \n#else \t/* C style interface */\n\n    typedef struct IDXGIFactory3Vtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDXGIFactory3 * This,\n            /* [in] */ REFIID riid,\n            /* [annotation][iid_is][out] */ \n            _COM_Outptr_  void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDXGIFactory3 * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDXGIFactory3 * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( \n            IDXGIFactory3 * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [in] */ UINT DataSize,\n            /* [annotation][in] */ \n            _In_reads_bytes_(DataSize)  const void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( \n            IDXGIFactory3 * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [annotation][in] */ \n            _In_  const IUnknown *pUnknown);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( \n            IDXGIFactory3 * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [annotation][out][in] */ \n            _Inout_  UINT *pDataSize,\n            /* [annotation][out] */ \n            _Out_writes_bytes_(*pDataSize)  void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetParent )( \n            IDXGIFactory3 * This,\n            /* [annotation][in] */ \n            _In_  REFIID riid,\n            /* [annotation][retval][out] */ \n            _COM_Outptr_  void **ppParent);\n        \n        HRESULT ( STDMETHODCALLTYPE *EnumAdapters )( \n            IDXGIFactory3 * This,\n            /* [in] */ UINT Adapter,\n            /* [annotation][out] */ \n            _COM_Outptr_  IDXGIAdapter **ppAdapter);\n        \n        HRESULT ( STDMETHODCALLTYPE *MakeWindowAssociation )( \n            IDXGIFactory3 * This,\n            HWND WindowHandle,\n            UINT Flags);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetWindowAssociation )( \n            IDXGIFactory3 * This,\n            /* [annotation][out] */ \n            _Out_  HWND *pWindowHandle);\n        \n        HRESULT ( STDMETHODCALLTYPE *CreateSwapChain )( \n            IDXGIFactory3 * This,\n            /* [annotation][in] */ \n            _In_  IUnknown *pDevice,\n            /* [annotation][in] */ \n            _In_  DXGI_SWAP_CHAIN_DESC *pDesc,\n            /* [annotation][out] */ \n            _COM_Outptr_  IDXGISwapChain **ppSwapChain);\n        \n        HRESULT ( STDMETHODCALLTYPE *CreateSoftwareAdapter )( \n            IDXGIFactory3 * This,\n            /* [in] */ HMODULE Module,\n            /* [annotation][out] */ \n            _COM_Outptr_  IDXGIAdapter **ppAdapter);\n        \n        HRESULT ( STDMETHODCALLTYPE *EnumAdapters1 )( \n            IDXGIFactory3 * This,\n            /* [in] */ UINT Adapter,\n            /* [annotation][out] */ \n            _COM_Outptr_  IDXGIAdapter1 **ppAdapter);\n        \n        BOOL ( STDMETHODCALLTYPE *IsCurrent )( \n            IDXGIFactory3 * This);\n        \n        BOOL ( STDMETHODCALLTYPE *IsWindowedStereoEnabled )( \n            IDXGIFactory3 * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *CreateSwapChainForHwnd )( \n            IDXGIFactory3 * This,\n            /* [annotation][in] */ \n            _In_  IUnknown *pDevice,\n            /* [annotation][in] */ \n            _In_  HWND hWnd,\n            /* [annotation][in] */ \n            _In_  const DXGI_SWAP_CHAIN_DESC1 *pDesc,\n            /* [annotation][in] */ \n            _In_opt_  const DXGI_SWAP_CHAIN_FULLSCREEN_DESC *pFullscreenDesc,\n            /* [annotation][in] */ \n            _In_opt_  IDXGIOutput *pRestrictToOutput,\n            /* [annotation][out] */ \n            _COM_Outptr_  IDXGISwapChain1 **ppSwapChain);\n        \n        HRESULT ( STDMETHODCALLTYPE *CreateSwapChainForCoreWindow )( \n            IDXGIFactory3 * This,\n            /* [annotation][in] */ \n            _In_  IUnknown *pDevice,\n            /* [annotation][in] */ \n            _In_  IUnknown *pWindow,\n            /* [annotation][in] */ \n            _In_  const DXGI_SWAP_CHAIN_DESC1 *pDesc,\n            /* [annotation][in] */ \n            _In_opt_  IDXGIOutput *pRestrictToOutput,\n            /* [annotation][out] */ \n            _COM_Outptr_  IDXGISwapChain1 **ppSwapChain);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetSharedResourceAdapterLuid )( \n            IDXGIFactory3 * This,\n            /* [annotation] */ \n            _In_  HANDLE hResource,\n            /* [annotation] */ \n            _Out_  LUID *pLuid);\n        \n        HRESULT ( STDMETHODCALLTYPE *RegisterStereoStatusWindow )( \n            IDXGIFactory3 * This,\n            /* [annotation][in] */ \n            _In_  HWND WindowHandle,\n            /* [annotation][in] */ \n            _In_  UINT wMsg,\n            /* [annotation][out] */ \n            _Out_  DWORD *pdwCookie);\n        \n        HRESULT ( STDMETHODCALLTYPE *RegisterStereoStatusEvent )( \n            IDXGIFactory3 * This,\n            /* [annotation][in] */ \n            _In_  HANDLE hEvent,\n            /* [annotation][out] */ \n            _Out_  DWORD *pdwCookie);\n        \n        void ( STDMETHODCALLTYPE *UnregisterStereoStatus )( \n            IDXGIFactory3 * This,\n            /* [annotation][in] */ \n            _In_  DWORD dwCookie);\n        \n        HRESULT ( STDMETHODCALLTYPE *RegisterOcclusionStatusWindow )( \n            IDXGIFactory3 * This,\n            /* [annotation][in] */ \n            _In_  HWND WindowHandle,\n            /* [annotation][in] */ \n            _In_  UINT wMsg,\n            /* [annotation][out] */ \n            _Out_  DWORD *pdwCookie);\n        \n        HRESULT ( STDMETHODCALLTYPE *RegisterOcclusionStatusEvent )( \n            IDXGIFactory3 * This,\n            /* [annotation][in] */ \n            _In_  HANDLE hEvent,\n            /* [annotation][out] */ \n            _Out_  DWORD *pdwCookie);\n        \n        void ( STDMETHODCALLTYPE *UnregisterOcclusionStatus )( \n            IDXGIFactory3 * This,\n            /* [annotation][in] */ \n            _In_  DWORD dwCookie);\n        \n        HRESULT ( STDMETHODCALLTYPE *CreateSwapChainForComposition )( \n            IDXGIFactory3 * This,\n            /* [annotation][in] */ \n            _In_  IUnknown *pDevice,\n            /* [annotation][in] */ \n            _In_  const DXGI_SWAP_CHAIN_DESC1 *pDesc,\n            /* [annotation][in] */ \n            _In_opt_  IDXGIOutput *pRestrictToOutput,\n            /* [annotation][out] */ \n            _COM_Outptr_  IDXGISwapChain1 **ppSwapChain);\n        \n        UINT ( STDMETHODCALLTYPE *GetCreationFlags )( \n            IDXGIFactory3 * This);\n        \n        END_INTERFACE\n    } IDXGIFactory3Vtbl;\n\n    interface IDXGIFactory3\n    {\n        CONST_VTBL struct IDXGIFactory3Vtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDXGIFactory3_QueryInterface(This,riid,ppvObject)\t\\\n    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \n\n#define IDXGIFactory3_AddRef(This)\t\\\n    ( (This)->lpVtbl -> AddRef(This) ) \n\n#define IDXGIFactory3_Release(This)\t\\\n    ( (This)->lpVtbl -> Release(This) ) \n\n\n#define IDXGIFactory3_SetPrivateData(This,Name,DataSize,pData)\t\\\n    ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) ) \n\n#define IDXGIFactory3_SetPrivateDataInterface(This,Name,pUnknown)\t\\\n    ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) ) \n\n#define IDXGIFactory3_GetPrivateData(This,Name,pDataSize,pData)\t\\\n    ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) ) \n\n#define IDXGIFactory3_GetParent(This,riid,ppParent)\t\\\n    ( (This)->lpVtbl -> GetParent(This,riid,ppParent) ) \n\n\n#define IDXGIFactory3_EnumAdapters(This,Adapter,ppAdapter)\t\\\n    ( (This)->lpVtbl -> EnumAdapters(This,Adapter,ppAdapter) ) \n\n#define IDXGIFactory3_MakeWindowAssociation(This,WindowHandle,Flags)\t\\\n    ( (This)->lpVtbl -> MakeWindowAssociation(This,WindowHandle,Flags) ) \n\n#define IDXGIFactory3_GetWindowAssociation(This,pWindowHandle)\t\\\n    ( (This)->lpVtbl -> GetWindowAssociation(This,pWindowHandle) ) \n\n#define IDXGIFactory3_CreateSwapChain(This,pDevice,pDesc,ppSwapChain)\t\\\n    ( (This)->lpVtbl -> CreateSwapChain(This,pDevice,pDesc,ppSwapChain) ) \n\n#define IDXGIFactory3_CreateSoftwareAdapter(This,Module,ppAdapter)\t\\\n    ( (This)->lpVtbl -> CreateSoftwareAdapter(This,Module,ppAdapter) ) \n\n\n#define IDXGIFactory3_EnumAdapters1(This,Adapter,ppAdapter)\t\\\n    ( (This)->lpVtbl -> EnumAdapters1(This,Adapter,ppAdapter) ) \n\n#define IDXGIFactory3_IsCurrent(This)\t\\\n    ( (This)->lpVtbl -> IsCurrent(This) ) \n\n\n#define IDXGIFactory3_IsWindowedStereoEnabled(This)\t\\\n    ( (This)->lpVtbl -> IsWindowedStereoEnabled(This) ) \n\n#define IDXGIFactory3_CreateSwapChainForHwnd(This,pDevice,hWnd,pDesc,pFullscreenDesc,pRestrictToOutput,ppSwapChain)\t\\\n    ( (This)->lpVtbl -> CreateSwapChainForHwnd(This,pDevice,hWnd,pDesc,pFullscreenDesc,pRestrictToOutput,ppSwapChain) ) \n\n#define IDXGIFactory3_CreateSwapChainForCoreWindow(This,pDevice,pWindow,pDesc,pRestrictToOutput,ppSwapChain)\t\\\n    ( (This)->lpVtbl -> CreateSwapChainForCoreWindow(This,pDevice,pWindow,pDesc,pRestrictToOutput,ppSwapChain) ) \n\n#define IDXGIFactory3_GetSharedResourceAdapterLuid(This,hResource,pLuid)\t\\\n    ( (This)->lpVtbl -> GetSharedResourceAdapterLuid(This,hResource,pLuid) ) \n\n#define IDXGIFactory3_RegisterStereoStatusWindow(This,WindowHandle,wMsg,pdwCookie)\t\\\n    ( (This)->lpVtbl -> RegisterStereoStatusWindow(This,WindowHandle,wMsg,pdwCookie) ) \n\n#define IDXGIFactory3_RegisterStereoStatusEvent(This,hEvent,pdwCookie)\t\\\n    ( (This)->lpVtbl -> RegisterStereoStatusEvent(This,hEvent,pdwCookie) ) \n\n#define IDXGIFactory3_UnregisterStereoStatus(This,dwCookie)\t\\\n    ( (This)->lpVtbl -> UnregisterStereoStatus(This,dwCookie) ) \n\n#define IDXGIFactory3_RegisterOcclusionStatusWindow(This,WindowHandle,wMsg,pdwCookie)\t\\\n    ( (This)->lpVtbl -> RegisterOcclusionStatusWindow(This,WindowHandle,wMsg,pdwCookie) ) \n\n#define IDXGIFactory3_RegisterOcclusionStatusEvent(This,hEvent,pdwCookie)\t\\\n    ( (This)->lpVtbl -> RegisterOcclusionStatusEvent(This,hEvent,pdwCookie) ) \n\n#define IDXGIFactory3_UnregisterOcclusionStatus(This,dwCookie)\t\\\n    ( (This)->lpVtbl -> UnregisterOcclusionStatus(This,dwCookie) ) \n\n#define IDXGIFactory3_CreateSwapChainForComposition(This,pDevice,pDesc,pRestrictToOutput,ppSwapChain)\t\\\n    ( (This)->lpVtbl -> CreateSwapChainForComposition(This,pDevice,pDesc,pRestrictToOutput,ppSwapChain) ) \n\n\n#define IDXGIFactory3_GetCreationFlags(This)\t\\\n    ( (This)->lpVtbl -> GetCreationFlags(This) ) \n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n\n#endif \t/* __IDXGIFactory3_INTERFACE_DEFINED__ */\n\n\n/* interface __MIDL_itf_dxgi1_3_0000_0004 */\n/* [local] */ \n\n#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */\n#pragma endregion\n#pragma region App Family\n#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)\ntypedef struct DXGI_DECODE_SWAP_CHAIN_DESC\n    {\n    UINT Flags;\n    } \tDXGI_DECODE_SWAP_CHAIN_DESC;\n\ntypedef \nenum DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAGS\n    {\n        DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAG_NOMINAL_RANGE\t= 0x1,\n        DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAG_BT709\t= 0x2,\n        DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAG_xvYCC\t= 0x4\n    } \tDXGI_MULTIPLANE_OVERLAY_YCbCr_FLAGS;\n\n\n\nextern RPC_IF_HANDLE __MIDL_itf_dxgi1_3_0000_0004_v0_0_c_ifspec;\nextern RPC_IF_HANDLE __MIDL_itf_dxgi1_3_0000_0004_v0_0_s_ifspec;\n\n#ifndef __IDXGIDecodeSwapChain_INTERFACE_DEFINED__\n#define __IDXGIDecodeSwapChain_INTERFACE_DEFINED__\n\n/* interface IDXGIDecodeSwapChain */\n/* [unique][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDXGIDecodeSwapChain;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"2633066b-4514-4c7a-8fd8-12ea98059d18\")\n    IDXGIDecodeSwapChain : public IUnknown\n    {\n    public:\n        virtual HRESULT STDMETHODCALLTYPE PresentBuffer( \n            UINT BufferToPresent,\n            UINT SyncInterval,\n            UINT Flags) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE SetSourceRect( \n            const RECT *pRect) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE SetTargetRect( \n            const RECT *pRect) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE SetDestSize( \n            UINT Width,\n            UINT Height) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE GetSourceRect( \n            /* [annotation][out] */ \n            _Out_  RECT *pRect) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE GetTargetRect( \n            /* [annotation][out] */ \n            _Out_  RECT *pRect) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE GetDestSize( \n            /* [annotation][out] */ \n            _Out_  UINT *pWidth,\n            /* [annotation][out] */ \n            _Out_  UINT *pHeight) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE SetColorSpace( \n            DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAGS ColorSpace) = 0;\n        \n        virtual DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAGS STDMETHODCALLTYPE GetColorSpace( void) = 0;\n        \n    };\n    \n    \n#else \t/* C style interface */\n\n    typedef struct IDXGIDecodeSwapChainVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDXGIDecodeSwapChain * This,\n            /* [in] */ REFIID riid,\n            /* [annotation][iid_is][out] */ \n            _COM_Outptr_  void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDXGIDecodeSwapChain * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDXGIDecodeSwapChain * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *PresentBuffer )( \n            IDXGIDecodeSwapChain * This,\n            UINT BufferToPresent,\n            UINT SyncInterval,\n            UINT Flags);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetSourceRect )( \n            IDXGIDecodeSwapChain * This,\n            const RECT *pRect);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetTargetRect )( \n            IDXGIDecodeSwapChain * This,\n            const RECT *pRect);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetDestSize )( \n            IDXGIDecodeSwapChain * This,\n            UINT Width,\n            UINT Height);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetSourceRect )( \n            IDXGIDecodeSwapChain * This,\n            /* [annotation][out] */ \n            _Out_  RECT *pRect);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetTargetRect )( \n            IDXGIDecodeSwapChain * This,\n            /* [annotation][out] */ \n            _Out_  RECT *pRect);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetDestSize )( \n            IDXGIDecodeSwapChain * This,\n            /* [annotation][out] */ \n            _Out_  UINT *pWidth,\n            /* [annotation][out] */ \n            _Out_  UINT *pHeight);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetColorSpace )( \n            IDXGIDecodeSwapChain * This,\n            DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAGS ColorSpace);\n        \n        DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAGS ( STDMETHODCALLTYPE *GetColorSpace )( \n            IDXGIDecodeSwapChain * This);\n        \n        END_INTERFACE\n    } IDXGIDecodeSwapChainVtbl;\n\n    interface IDXGIDecodeSwapChain\n    {\n        CONST_VTBL struct IDXGIDecodeSwapChainVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDXGIDecodeSwapChain_QueryInterface(This,riid,ppvObject)\t\\\n    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \n\n#define IDXGIDecodeSwapChain_AddRef(This)\t\\\n    ( (This)->lpVtbl -> AddRef(This) ) \n\n#define IDXGIDecodeSwapChain_Release(This)\t\\\n    ( (This)->lpVtbl -> Release(This) ) \n\n\n#define IDXGIDecodeSwapChain_PresentBuffer(This,BufferToPresent,SyncInterval,Flags)\t\\\n    ( (This)->lpVtbl -> PresentBuffer(This,BufferToPresent,SyncInterval,Flags) ) \n\n#define IDXGIDecodeSwapChain_SetSourceRect(This,pRect)\t\\\n    ( (This)->lpVtbl -> SetSourceRect(This,pRect) ) \n\n#define IDXGIDecodeSwapChain_SetTargetRect(This,pRect)\t\\\n    ( (This)->lpVtbl -> SetTargetRect(This,pRect) ) \n\n#define IDXGIDecodeSwapChain_SetDestSize(This,Width,Height)\t\\\n    ( (This)->lpVtbl -> SetDestSize(This,Width,Height) ) \n\n#define IDXGIDecodeSwapChain_GetSourceRect(This,pRect)\t\\\n    ( (This)->lpVtbl -> GetSourceRect(This,pRect) ) \n\n#define IDXGIDecodeSwapChain_GetTargetRect(This,pRect)\t\\\n    ( (This)->lpVtbl -> GetTargetRect(This,pRect) ) \n\n#define IDXGIDecodeSwapChain_GetDestSize(This,pWidth,pHeight)\t\\\n    ( (This)->lpVtbl -> GetDestSize(This,pWidth,pHeight) ) \n\n#define IDXGIDecodeSwapChain_SetColorSpace(This,ColorSpace)\t\\\n    ( (This)->lpVtbl -> SetColorSpace(This,ColorSpace) ) \n\n#define IDXGIDecodeSwapChain_GetColorSpace(This)\t\\\n    ( (This)->lpVtbl -> GetColorSpace(This) ) \n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n\n#endif \t/* __IDXGIDecodeSwapChain_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDXGIFactoryMedia_INTERFACE_DEFINED__\n#define __IDXGIFactoryMedia_INTERFACE_DEFINED__\n\n/* interface IDXGIFactoryMedia */\n/* [unique][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDXGIFactoryMedia;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"41e7d1f2-a591-4f7b-a2e5-fa9c843e1c12\")\n    IDXGIFactoryMedia : public IUnknown\n    {\n    public:\n        virtual HRESULT STDMETHODCALLTYPE CreateSwapChainForCompositionSurfaceHandle( \n            /* [annotation][in] */ \n            _In_  IUnknown *pDevice,\n            /* [annotation][in] */ \n            _In_opt_  HANDLE hSurface,\n            /* [annotation][in] */ \n            _In_  const DXGI_SWAP_CHAIN_DESC1 *pDesc,\n            /* [annotation][in] */ \n            _In_opt_  IDXGIOutput *pRestrictToOutput,\n            /* [annotation][out] */ \n            _COM_Outptr_  IDXGISwapChain1 **ppSwapChain) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE CreateDecodeSwapChainForCompositionSurfaceHandle( \n            /* [annotation][in] */ \n            _In_  IUnknown *pDevice,\n            /* [annotation][in] */ \n            _In_opt_  HANDLE hSurface,\n            /* [annotation][in] */ \n            _In_  DXGI_DECODE_SWAP_CHAIN_DESC *pDesc,\n            /* [annotation][in] */ \n            _In_  IDXGIResource *pYuvDecodeBuffers,\n            /* [annotation][in] */ \n            _In_opt_  IDXGIOutput *pRestrictToOutput,\n            /* [annotation][out] */ \n            _COM_Outptr_  IDXGIDecodeSwapChain **ppSwapChain) = 0;\n        \n    };\n    \n    \n#else \t/* C style interface */\n\n    typedef struct IDXGIFactoryMediaVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDXGIFactoryMedia * This,\n            /* [in] */ REFIID riid,\n            /* [annotation][iid_is][out] */ \n            _COM_Outptr_  void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDXGIFactoryMedia * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDXGIFactoryMedia * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *CreateSwapChainForCompositionSurfaceHandle )( \n            IDXGIFactoryMedia * This,\n            /* [annotation][in] */ \n            _In_  IUnknown *pDevice,\n            /* [annotation][in] */ \n            _In_opt_  HANDLE hSurface,\n            /* [annotation][in] */ \n            _In_  const DXGI_SWAP_CHAIN_DESC1 *pDesc,\n            /* [annotation][in] */ \n            _In_opt_  IDXGIOutput *pRestrictToOutput,\n            /* [annotation][out] */ \n            _COM_Outptr_  IDXGISwapChain1 **ppSwapChain);\n        \n        HRESULT ( STDMETHODCALLTYPE *CreateDecodeSwapChainForCompositionSurfaceHandle )( \n            IDXGIFactoryMedia * This,\n            /* [annotation][in] */ \n            _In_  IUnknown *pDevice,\n            /* [annotation][in] */ \n            _In_opt_  HANDLE hSurface,\n            /* [annotation][in] */ \n            _In_  DXGI_DECODE_SWAP_CHAIN_DESC *pDesc,\n            /* [annotation][in] */ \n            _In_  IDXGIResource *pYuvDecodeBuffers,\n            /* [annotation][in] */ \n            _In_opt_  IDXGIOutput *pRestrictToOutput,\n            /* [annotation][out] */ \n            _COM_Outptr_  IDXGIDecodeSwapChain **ppSwapChain);\n        \n        END_INTERFACE\n    } IDXGIFactoryMediaVtbl;\n\n    interface IDXGIFactoryMedia\n    {\n        CONST_VTBL struct IDXGIFactoryMediaVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDXGIFactoryMedia_QueryInterface(This,riid,ppvObject)\t\\\n    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \n\n#define IDXGIFactoryMedia_AddRef(This)\t\\\n    ( (This)->lpVtbl -> AddRef(This) ) \n\n#define IDXGIFactoryMedia_Release(This)\t\\\n    ( (This)->lpVtbl -> Release(This) ) \n\n\n#define IDXGIFactoryMedia_CreateSwapChainForCompositionSurfaceHandle(This,pDevice,hSurface,pDesc,pRestrictToOutput,ppSwapChain)\t\\\n    ( (This)->lpVtbl -> CreateSwapChainForCompositionSurfaceHandle(This,pDevice,hSurface,pDesc,pRestrictToOutput,ppSwapChain) ) \n\n#define IDXGIFactoryMedia_CreateDecodeSwapChainForCompositionSurfaceHandle(This,pDevice,hSurface,pDesc,pYuvDecodeBuffers,pRestrictToOutput,ppSwapChain)\t\\\n    ( (This)->lpVtbl -> CreateDecodeSwapChainForCompositionSurfaceHandle(This,pDevice,hSurface,pDesc,pYuvDecodeBuffers,pRestrictToOutput,ppSwapChain) ) \n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n\n#endif \t/* __IDXGIFactoryMedia_INTERFACE_DEFINED__ */\n\n\n/* interface __MIDL_itf_dxgi1_3_0000_0006 */\n/* [local] */ \n\ntypedef \nenum DXGI_FRAME_PRESENTATION_MODE\n    {\n        DXGI_FRAME_PRESENTATION_MODE_COMPOSED\t= 0,\n        DXGI_FRAME_PRESENTATION_MODE_OVERLAY\t= 1,\n        DXGI_FRAME_PRESENTATION_MODE_NONE\t= 2,\n        DXGI_FRAME_PRESENTATION_MODE_COMPOSITION_FAILURE\t= 3\n    } \tDXGI_FRAME_PRESENTATION_MODE;\n\ntypedef struct DXGI_FRAME_STATISTICS_MEDIA\n    {\n    UINT PresentCount;\n    UINT PresentRefreshCount;\n    UINT SyncRefreshCount;\n    LARGE_INTEGER SyncQPCTime;\n    LARGE_INTEGER SyncGPUTime;\n    DXGI_FRAME_PRESENTATION_MODE CompositionMode;\n    UINT ApprovedPresentDuration;\n    } \tDXGI_FRAME_STATISTICS_MEDIA;\n\n\n\nextern RPC_IF_HANDLE __MIDL_itf_dxgi1_3_0000_0006_v0_0_c_ifspec;\nextern RPC_IF_HANDLE __MIDL_itf_dxgi1_3_0000_0006_v0_0_s_ifspec;\n\n#ifndef __IDXGISwapChainMedia_INTERFACE_DEFINED__\n#define __IDXGISwapChainMedia_INTERFACE_DEFINED__\n\n/* interface IDXGISwapChainMedia */\n/* [unique][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDXGISwapChainMedia;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"dd95b90b-f05f-4f6a-bd65-25bfb264bd84\")\n    IDXGISwapChainMedia : public IUnknown\n    {\n    public:\n        virtual HRESULT STDMETHODCALLTYPE GetFrameStatisticsMedia( \n            /* [annotation][out] */ \n            _Out_  DXGI_FRAME_STATISTICS_MEDIA *pStats) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE SetPresentDuration( \n            UINT Duration) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE CheckPresentDurationSupport( \n            UINT DesiredPresentDuration,\n            /* [annotation][out] */ \n            _Out_  UINT *pClosestSmallerPresentDuration,\n            /* [annotation][out] */ \n            _Out_  UINT *pClosestLargerPresentDuration) = 0;\n        \n    };\n    \n    \n#else \t/* C style interface */\n\n    typedef struct IDXGISwapChainMediaVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDXGISwapChainMedia * This,\n            /* [in] */ REFIID riid,\n            /* [annotation][iid_is][out] */ \n            _COM_Outptr_  void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDXGISwapChainMedia * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDXGISwapChainMedia * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetFrameStatisticsMedia )( \n            IDXGISwapChainMedia * This,\n            /* [annotation][out] */ \n            _Out_  DXGI_FRAME_STATISTICS_MEDIA *pStats);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPresentDuration )( \n            IDXGISwapChainMedia * This,\n            UINT Duration);\n        \n        HRESULT ( STDMETHODCALLTYPE *CheckPresentDurationSupport )( \n            IDXGISwapChainMedia * This,\n            UINT DesiredPresentDuration,\n            /* [annotation][out] */ \n            _Out_  UINT *pClosestSmallerPresentDuration,\n            /* [annotation][out] */ \n            _Out_  UINT *pClosestLargerPresentDuration);\n        \n        END_INTERFACE\n    } IDXGISwapChainMediaVtbl;\n\n    interface IDXGISwapChainMedia\n    {\n        CONST_VTBL struct IDXGISwapChainMediaVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDXGISwapChainMedia_QueryInterface(This,riid,ppvObject)\t\\\n    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \n\n#define IDXGISwapChainMedia_AddRef(This)\t\\\n    ( (This)->lpVtbl -> AddRef(This) ) \n\n#define IDXGISwapChainMedia_Release(This)\t\\\n    ( (This)->lpVtbl -> Release(This) ) \n\n\n#define IDXGISwapChainMedia_GetFrameStatisticsMedia(This,pStats)\t\\\n    ( (This)->lpVtbl -> GetFrameStatisticsMedia(This,pStats) ) \n\n#define IDXGISwapChainMedia_SetPresentDuration(This,Duration)\t\\\n    ( (This)->lpVtbl -> SetPresentDuration(This,Duration) ) \n\n#define IDXGISwapChainMedia_CheckPresentDurationSupport(This,DesiredPresentDuration,pClosestSmallerPresentDuration,pClosestLargerPresentDuration)\t\\\n    ( (This)->lpVtbl -> CheckPresentDurationSupport(This,DesiredPresentDuration,pClosestSmallerPresentDuration,pClosestLargerPresentDuration) ) \n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n\n#endif \t/* __IDXGISwapChainMedia_INTERFACE_DEFINED__ */\n\n\n/* interface __MIDL_itf_dxgi1_3_0000_0007 */\n/* [local] */ \n\ntypedef \nenum DXGI_OVERLAY_SUPPORT_FLAG\n    {\n        DXGI_OVERLAY_SUPPORT_FLAG_DIRECT\t= 0x1,\n        DXGI_OVERLAY_SUPPORT_FLAG_SCALING\t= 0x2\n    } \tDXGI_OVERLAY_SUPPORT_FLAG;\n\n#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */\n#pragma endregion\n#pragma region App Family\n#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)\n\n\nextern RPC_IF_HANDLE __MIDL_itf_dxgi1_3_0000_0007_v0_0_c_ifspec;\nextern RPC_IF_HANDLE __MIDL_itf_dxgi1_3_0000_0007_v0_0_s_ifspec;\n\n#ifndef __IDXGIOutput3_INTERFACE_DEFINED__\n#define __IDXGIOutput3_INTERFACE_DEFINED__\n\n/* interface IDXGIOutput3 */\n/* [unique][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDXGIOutput3;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"8a6bb301-7e7e-41F4-a8e0-5b32f7f99b18\")\n    IDXGIOutput3 : public IDXGIOutput2\n    {\n    public:\n        virtual HRESULT STDMETHODCALLTYPE CheckOverlaySupport( \n            /* [annotation][in] */ \n            _In_  DXGI_FORMAT EnumFormat,\n            /* [annotation][out] */ \n            _In_  IUnknown *pConcernedDevice,\n            /* [annotation][out] */ \n            _Out_  UINT *pFlags) = 0;\n        \n    };\n    \n    \n#else \t/* C style interface */\n\n    typedef struct IDXGIOutput3Vtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDXGIOutput3 * This,\n            /* [in] */ REFIID riid,\n            /* [annotation][iid_is][out] */ \n            _COM_Outptr_  void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDXGIOutput3 * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDXGIOutput3 * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( \n            IDXGIOutput3 * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [in] */ UINT DataSize,\n            /* [annotation][in] */ \n            _In_reads_bytes_(DataSize)  const void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( \n            IDXGIOutput3 * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [annotation][in] */ \n            _In_  const IUnknown *pUnknown);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( \n            IDXGIOutput3 * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [annotation][out][in] */ \n            _Inout_  UINT *pDataSize,\n            /* [annotation][out] */ \n            _Out_writes_bytes_(*pDataSize)  void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetParent )( \n            IDXGIOutput3 * This,\n            /* [annotation][in] */ \n            _In_  REFIID riid,\n            /* [annotation][retval][out] */ \n            _COM_Outptr_  void **ppParent);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetDesc )( \n            IDXGIOutput3 * This,\n            /* [annotation][out] */ \n            _Out_  DXGI_OUTPUT_DESC *pDesc);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetDisplayModeList )( \n            IDXGIOutput3 * This,\n            /* [in] */ DXGI_FORMAT EnumFormat,\n            /* [in] */ UINT Flags,\n            /* [annotation][out][in] */ \n            _Inout_  UINT *pNumModes,\n            /* [annotation][out] */ \n            _Out_writes_to_opt_(*pNumModes,*pNumModes)  DXGI_MODE_DESC *pDesc);\n        \n        HRESULT ( STDMETHODCALLTYPE *FindClosestMatchingMode )( \n            IDXGIOutput3 * This,\n            /* [annotation][in] */ \n            _In_  const DXGI_MODE_DESC *pModeToMatch,\n            /* [annotation][out] */ \n            _Out_  DXGI_MODE_DESC *pClosestMatch,\n            /* [annotation][in] */ \n            _In_opt_  IUnknown *pConcernedDevice);\n        \n        HRESULT ( STDMETHODCALLTYPE *WaitForVBlank )( \n            IDXGIOutput3 * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *TakeOwnership )( \n            IDXGIOutput3 * This,\n            /* [annotation][in] */ \n            _In_  IUnknown *pDevice,\n            BOOL Exclusive);\n        \n        void ( STDMETHODCALLTYPE *ReleaseOwnership )( \n            IDXGIOutput3 * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetGammaControlCapabilities )( \n            IDXGIOutput3 * This,\n            /* [annotation][out] */ \n            _Out_  DXGI_GAMMA_CONTROL_CAPABILITIES *pGammaCaps);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetGammaControl )( \n            IDXGIOutput3 * This,\n            /* [annotation][in] */ \n            _In_  const DXGI_GAMMA_CONTROL *pArray);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetGammaControl )( \n            IDXGIOutput3 * This,\n            /* [annotation][out] */ \n            _Out_  DXGI_GAMMA_CONTROL *pArray);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetDisplaySurface )( \n            IDXGIOutput3 * This,\n            /* [annotation][in] */ \n            _In_  IDXGISurface *pScanoutSurface);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetDisplaySurfaceData )( \n            IDXGIOutput3 * This,\n            /* [annotation][in] */ \n            _In_  IDXGISurface *pDestination);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetFrameStatistics )( \n            IDXGIOutput3 * This,\n            /* [annotation][out] */ \n            _Out_  DXGI_FRAME_STATISTICS *pStats);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetDisplayModeList1 )( \n            IDXGIOutput3 * This,\n            /* [in] */ DXGI_FORMAT EnumFormat,\n            /* [in] */ UINT Flags,\n            /* [annotation][out][in] */ \n            _Inout_  UINT *pNumModes,\n            /* [annotation][out] */ \n            _Out_writes_to_opt_(*pNumModes,*pNumModes)  DXGI_MODE_DESC1 *pDesc);\n        \n        HRESULT ( STDMETHODCALLTYPE *FindClosestMatchingMode1 )( \n            IDXGIOutput3 * This,\n            /* [annotation][in] */ \n            _In_  const DXGI_MODE_DESC1 *pModeToMatch,\n            /* [annotation][out] */ \n            _Out_  DXGI_MODE_DESC1 *pClosestMatch,\n            /* [annotation][in] */ \n            _In_opt_  IUnknown *pConcernedDevice);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetDisplaySurfaceData1 )( \n            IDXGIOutput3 * This,\n            /* [annotation][in] */ \n            _In_  IDXGIResource *pDestination);\n        \n        HRESULT ( STDMETHODCALLTYPE *DuplicateOutput )( \n            IDXGIOutput3 * This,\n            /* [annotation][in] */ \n            _In_  IUnknown *pDevice,\n            /* [annotation][out] */ \n            _COM_Outptr_  IDXGIOutputDuplication **ppOutputDuplication);\n        \n        BOOL ( STDMETHODCALLTYPE *SupportsOverlays )( \n            IDXGIOutput3 * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *CheckOverlaySupport )( \n            IDXGIOutput3 * This,\n            /* [annotation][in] */ \n            _In_  DXGI_FORMAT EnumFormat,\n            /* [annotation][out] */ \n            _In_  IUnknown *pConcernedDevice,\n            /* [annotation][out] */ \n            _Out_  UINT *pFlags);\n        \n        END_INTERFACE\n    } IDXGIOutput3Vtbl;\n\n    interface IDXGIOutput3\n    {\n        CONST_VTBL struct IDXGIOutput3Vtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDXGIOutput3_QueryInterface(This,riid,ppvObject)\t\\\n    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \n\n#define IDXGIOutput3_AddRef(This)\t\\\n    ( (This)->lpVtbl -> AddRef(This) ) \n\n#define IDXGIOutput3_Release(This)\t\\\n    ( (This)->lpVtbl -> Release(This) ) \n\n\n#define IDXGIOutput3_SetPrivateData(This,Name,DataSize,pData)\t\\\n    ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) ) \n\n#define IDXGIOutput3_SetPrivateDataInterface(This,Name,pUnknown)\t\\\n    ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) ) \n\n#define IDXGIOutput3_GetPrivateData(This,Name,pDataSize,pData)\t\\\n    ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) ) \n\n#define IDXGIOutput3_GetParent(This,riid,ppParent)\t\\\n    ( (This)->lpVtbl -> GetParent(This,riid,ppParent) ) \n\n\n#define IDXGIOutput3_GetDesc(This,pDesc)\t\\\n    ( (This)->lpVtbl -> GetDesc(This,pDesc) ) \n\n#define IDXGIOutput3_GetDisplayModeList(This,EnumFormat,Flags,pNumModes,pDesc)\t\\\n    ( (This)->lpVtbl -> GetDisplayModeList(This,EnumFormat,Flags,pNumModes,pDesc) ) \n\n#define IDXGIOutput3_FindClosestMatchingMode(This,pModeToMatch,pClosestMatch,pConcernedDevice)\t\\\n    ( (This)->lpVtbl -> FindClosestMatchingMode(This,pModeToMatch,pClosestMatch,pConcernedDevice) ) \n\n#define IDXGIOutput3_WaitForVBlank(This)\t\\\n    ( (This)->lpVtbl -> WaitForVBlank(This) ) \n\n#define IDXGIOutput3_TakeOwnership(This,pDevice,Exclusive)\t\\\n    ( (This)->lpVtbl -> TakeOwnership(This,pDevice,Exclusive) ) \n\n#define IDXGIOutput3_ReleaseOwnership(This)\t\\\n    ( (This)->lpVtbl -> ReleaseOwnership(This) ) \n\n#define IDXGIOutput3_GetGammaControlCapabilities(This,pGammaCaps)\t\\\n    ( (This)->lpVtbl -> GetGammaControlCapabilities(This,pGammaCaps) ) \n\n#define IDXGIOutput3_SetGammaControl(This,pArray)\t\\\n    ( (This)->lpVtbl -> SetGammaControl(This,pArray) ) \n\n#define IDXGIOutput3_GetGammaControl(This,pArray)\t\\\n    ( (This)->lpVtbl -> GetGammaControl(This,pArray) ) \n\n#define IDXGIOutput3_SetDisplaySurface(This,pScanoutSurface)\t\\\n    ( (This)->lpVtbl -> SetDisplaySurface(This,pScanoutSurface) ) \n\n#define IDXGIOutput3_GetDisplaySurfaceData(This,pDestination)\t\\\n    ( (This)->lpVtbl -> GetDisplaySurfaceData(This,pDestination) ) \n\n#define IDXGIOutput3_GetFrameStatistics(This,pStats)\t\\\n    ( (This)->lpVtbl -> GetFrameStatistics(This,pStats) ) \n\n\n#define IDXGIOutput3_GetDisplayModeList1(This,EnumFormat,Flags,pNumModes,pDesc)\t\\\n    ( (This)->lpVtbl -> GetDisplayModeList1(This,EnumFormat,Flags,pNumModes,pDesc) ) \n\n#define IDXGIOutput3_FindClosestMatchingMode1(This,pModeToMatch,pClosestMatch,pConcernedDevice)\t\\\n    ( (This)->lpVtbl -> FindClosestMatchingMode1(This,pModeToMatch,pClosestMatch,pConcernedDevice) ) \n\n#define IDXGIOutput3_GetDisplaySurfaceData1(This,pDestination)\t\\\n    ( (This)->lpVtbl -> GetDisplaySurfaceData1(This,pDestination) ) \n\n#define IDXGIOutput3_DuplicateOutput(This,pDevice,ppOutputDuplication)\t\\\n    ( (This)->lpVtbl -> DuplicateOutput(This,pDevice,ppOutputDuplication) ) \n\n\n#define IDXGIOutput3_SupportsOverlays(This)\t\\\n    ( (This)->lpVtbl -> SupportsOverlays(This) ) \n\n\n#define IDXGIOutput3_CheckOverlaySupport(This,EnumFormat,pConcernedDevice,pFlags)\t\\\n    ( (This)->lpVtbl -> CheckOverlaySupport(This,EnumFormat,pConcernedDevice,pFlags) ) \n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n\n#endif \t/* __IDXGIOutput3_INTERFACE_DEFINED__ */\n\n\n/* interface __MIDL_itf_dxgi1_3_0000_0008 */\n/* [local] */ \n\n#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */\n#pragma endregion\nDEFINE_GUID(IID_IDXGIDevice3,0x6007896c,0x3244,0x4afd,0xbf,0x18,0xa6,0xd3,0xbe,0xda,0x50,0x23);\nDEFINE_GUID(IID_IDXGISwapChain2,0xa8be2ac4,0x199f,0x4946,0xb3,0x31,0x79,0x59,0x9f,0xb9,0x8d,0xe7);\nDEFINE_GUID(IID_IDXGIOutput2,0x595e39d1,0x2724,0x4663,0x99,0xb1,0xda,0x96,0x9d,0xe2,0x83,0x64);\nDEFINE_GUID(IID_IDXGIFactory3,0x25483823,0xcd46,0x4c7d,0x86,0xca,0x47,0xaa,0x95,0xb8,0x37,0xbd);\nDEFINE_GUID(IID_IDXGIDecodeSwapChain,0x2633066b,0x4514,0x4c7a,0x8f,0xd8,0x12,0xea,0x98,0x05,0x9d,0x18);\nDEFINE_GUID(IID_IDXGIFactoryMedia,0x41e7d1f2,0xa591,0x4f7b,0xa2,0xe5,0xfa,0x9c,0x84,0x3e,0x1c,0x12);\nDEFINE_GUID(IID_IDXGISwapChainMedia,0xdd95b90b,0xf05f,0x4f6a,0xbd,0x65,0x25,0xbf,0xb2,0x64,0xbd,0x84);\nDEFINE_GUID(IID_IDXGIOutput3,0x8a6bb301,0x7e7e,0x41F4,0xa8,0xe0,0x5b,0x32,0xf7,0xf9,0x9b,0x18);\n\n\nextern RPC_IF_HANDLE __MIDL_itf_dxgi1_3_0000_0008_v0_0_c_ifspec;\nextern RPC_IF_HANDLE __MIDL_itf_dxgi1_3_0000_0008_v0_0_s_ifspec;\n\n/* Additional Prototypes for ALL interfaces */\n\n/* end of Additional Prototypes */\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif\n\n\n"
  },
  {
    "path": "external/D3D12/include/dxgi1_4.h",
    "content": "\n\n/* this ALWAYS GENERATED file contains the definitions for the interfaces */\n\n\n /* File created by MIDL compiler version 8.01.0618 */\n/* @@MIDL_FILE_HEADING(  ) */\n\n\n\n/* verify that the <rpcndr.h> version is high enough to compile this file*/\n#ifndef __REQUIRED_RPCNDR_H_VERSION__\n#define __REQUIRED_RPCNDR_H_VERSION__ 500\n#endif\n\n/* verify that the <rpcsal.h> version is high enough to compile this file*/\n#ifndef __REQUIRED_RPCSAL_H_VERSION__\n#define __REQUIRED_RPCSAL_H_VERSION__ 100\n#endif\n\n#include \"rpc.h\"\n#include \"rpcndr.h\"\n\n#ifndef __RPCNDR_H_VERSION__\n#error this stub requires an updated version of <rpcndr.h>\n#endif /* __RPCNDR_H_VERSION__ */\n\n#ifndef COM_NO_WINDOWS_H\n#include \"windows.h\"\n#include \"ole2.h\"\n#endif /*COM_NO_WINDOWS_H*/\n\n#ifndef __dxgi1_4_h__\n#define __dxgi1_4_h__\n\n#if defined(_MSC_VER) && (_MSC_VER >= 1020)\n#pragma once\n#endif\n\n/* Forward Declarations */ \n\n#ifndef __IDXGISwapChain3_FWD_DEFINED__\n#define __IDXGISwapChain3_FWD_DEFINED__\ntypedef interface IDXGISwapChain3 IDXGISwapChain3;\n\n#endif \t/* __IDXGISwapChain3_FWD_DEFINED__ */\n\n\n#ifndef __IDXGIOutput4_FWD_DEFINED__\n#define __IDXGIOutput4_FWD_DEFINED__\ntypedef interface IDXGIOutput4 IDXGIOutput4;\n\n#endif \t/* __IDXGIOutput4_FWD_DEFINED__ */\n\n\n#ifndef __IDXGIFactory4_FWD_DEFINED__\n#define __IDXGIFactory4_FWD_DEFINED__\ntypedef interface IDXGIFactory4 IDXGIFactory4;\n\n#endif \t/* __IDXGIFactory4_FWD_DEFINED__ */\n\n\n#ifndef __IDXGIAdapter3_FWD_DEFINED__\n#define __IDXGIAdapter3_FWD_DEFINED__\ntypedef interface IDXGIAdapter3 IDXGIAdapter3;\n\n#endif \t/* __IDXGIAdapter3_FWD_DEFINED__ */\n\n\n/* header files for imported files */\n#include \"dxgi1_3.h\"\n\n#ifdef __cplusplus\nextern \"C\"{\n#endif \n\n\n/* interface __MIDL_itf_dxgi1_4_0000_0000 */\n/* [local] */ \n\n#include <winapifamily.h>\n#pragma region App Family\n#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)\ntypedef \nenum DXGI_SWAP_CHAIN_COLOR_SPACE_SUPPORT_FLAG\n    {\n        DXGI_SWAP_CHAIN_COLOR_SPACE_SUPPORT_FLAG_PRESENT\t= 0x1,\n        DXGI_SWAP_CHAIN_COLOR_SPACE_SUPPORT_FLAG_OVERLAY_PRESENT\t= 0x2\n    } \tDXGI_SWAP_CHAIN_COLOR_SPACE_SUPPORT_FLAG;\n\n\n\nextern RPC_IF_HANDLE __MIDL_itf_dxgi1_4_0000_0000_v0_0_c_ifspec;\nextern RPC_IF_HANDLE __MIDL_itf_dxgi1_4_0000_0000_v0_0_s_ifspec;\n\n#ifndef __IDXGISwapChain3_INTERFACE_DEFINED__\n#define __IDXGISwapChain3_INTERFACE_DEFINED__\n\n/* interface IDXGISwapChain3 */\n/* [unique][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDXGISwapChain3;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"94d99bdb-f1f8-4ab0-b236-7da0170edab1\")\n    IDXGISwapChain3 : public IDXGISwapChain2\n    {\n    public:\n        virtual UINT STDMETHODCALLTYPE GetCurrentBackBufferIndex( void) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE CheckColorSpaceSupport( \n            /* [annotation][in] */ \n            _In_  DXGI_COLOR_SPACE_TYPE ColorSpace,\n            /* [annotation][out] */ \n            _Out_  UINT *pColorSpaceSupport) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE SetColorSpace1( \n            /* [annotation][in] */ \n            _In_  DXGI_COLOR_SPACE_TYPE ColorSpace) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE ResizeBuffers1( \n            /* [annotation][in] */ \n            _In_  UINT BufferCount,\n            /* [annotation][in] */ \n            _In_  UINT Width,\n            /* [annotation][in] */ \n            _In_  UINT Height,\n            /* [annotation][in] */ \n            _In_  DXGI_FORMAT Format,\n            /* [annotation][in] */ \n            _In_  UINT SwapChainFlags,\n            /* [annotation][in] */ \n            _In_reads_(BufferCount)  const UINT *pCreationNodeMask,\n            /* [annotation][in] */ \n            _In_reads_(BufferCount)  IUnknown *const *ppPresentQueue) = 0;\n        \n    };\n    \n    \n#else \t/* C style interface */\n\n    typedef struct IDXGISwapChain3Vtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDXGISwapChain3 * This,\n            /* [in] */ REFIID riid,\n            /* [annotation][iid_is][out] */ \n            _COM_Outptr_  void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDXGISwapChain3 * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDXGISwapChain3 * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( \n            IDXGISwapChain3 * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [in] */ UINT DataSize,\n            /* [annotation][in] */ \n            _In_reads_bytes_(DataSize)  const void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( \n            IDXGISwapChain3 * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [annotation][in] */ \n            _In_  const IUnknown *pUnknown);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( \n            IDXGISwapChain3 * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [annotation][out][in] */ \n            _Inout_  UINT *pDataSize,\n            /* [annotation][out] */ \n            _Out_writes_bytes_(*pDataSize)  void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetParent )( \n            IDXGISwapChain3 * This,\n            /* [annotation][in] */ \n            _In_  REFIID riid,\n            /* [annotation][retval][out] */ \n            _COM_Outptr_  void **ppParent);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetDevice )( \n            IDXGISwapChain3 * This,\n            /* [annotation][in] */ \n            _In_  REFIID riid,\n            /* [annotation][retval][out] */ \n            _COM_Outptr_  void **ppDevice);\n        \n        HRESULT ( STDMETHODCALLTYPE *Present )( \n            IDXGISwapChain3 * This,\n            /* [in] */ UINT SyncInterval,\n            /* [in] */ UINT Flags);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetBuffer )( \n            IDXGISwapChain3 * This,\n            /* [in] */ UINT Buffer,\n            /* [annotation][in] */ \n            _In_  REFIID riid,\n            /* [annotation][out][in] */ \n            _COM_Outptr_  void **ppSurface);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetFullscreenState )( \n            IDXGISwapChain3 * This,\n            /* [in] */ BOOL Fullscreen,\n            /* [annotation][in] */ \n            _In_opt_  IDXGIOutput *pTarget);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetFullscreenState )( \n            IDXGISwapChain3 * This,\n            /* [annotation][out] */ \n            _Out_opt_  BOOL *pFullscreen,\n            /* [annotation][out] */ \n            _COM_Outptr_opt_result_maybenull_  IDXGIOutput **ppTarget);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetDesc )( \n            IDXGISwapChain3 * This,\n            /* [annotation][out] */ \n            _Out_  DXGI_SWAP_CHAIN_DESC *pDesc);\n        \n        HRESULT ( STDMETHODCALLTYPE *ResizeBuffers )( \n            IDXGISwapChain3 * This,\n            /* [in] */ UINT BufferCount,\n            /* [in] */ UINT Width,\n            /* [in] */ UINT Height,\n            /* [in] */ DXGI_FORMAT NewFormat,\n            /* [in] */ UINT SwapChainFlags);\n        \n        HRESULT ( STDMETHODCALLTYPE *ResizeTarget )( \n            IDXGISwapChain3 * This,\n            /* [annotation][in] */ \n            _In_  const DXGI_MODE_DESC *pNewTargetParameters);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetContainingOutput )( \n            IDXGISwapChain3 * This,\n            /* [annotation][out] */ \n            _COM_Outptr_  IDXGIOutput **ppOutput);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetFrameStatistics )( \n            IDXGISwapChain3 * This,\n            /* [annotation][out] */ \n            _Out_  DXGI_FRAME_STATISTICS *pStats);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetLastPresentCount )( \n            IDXGISwapChain3 * This,\n            /* [annotation][out] */ \n            _Out_  UINT *pLastPresentCount);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetDesc1 )( \n            IDXGISwapChain3 * This,\n            /* [annotation][out] */ \n            _Out_  DXGI_SWAP_CHAIN_DESC1 *pDesc);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetFullscreenDesc )( \n            IDXGISwapChain3 * This,\n            /* [annotation][out] */ \n            _Out_  DXGI_SWAP_CHAIN_FULLSCREEN_DESC *pDesc);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetHwnd )( \n            IDXGISwapChain3 * This,\n            /* [annotation][out] */ \n            _Out_  HWND *pHwnd);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetCoreWindow )( \n            IDXGISwapChain3 * This,\n            /* [annotation][in] */ \n            _In_  REFIID refiid,\n            /* [annotation][out] */ \n            _COM_Outptr_  void **ppUnk);\n        \n        HRESULT ( STDMETHODCALLTYPE *Present1 )( \n            IDXGISwapChain3 * This,\n            /* [in] */ UINT SyncInterval,\n            /* [in] */ UINT PresentFlags,\n            /* [annotation][in] */ \n            _In_  const DXGI_PRESENT_PARAMETERS *pPresentParameters);\n        \n        BOOL ( STDMETHODCALLTYPE *IsTemporaryMonoSupported )( \n            IDXGISwapChain3 * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetRestrictToOutput )( \n            IDXGISwapChain3 * This,\n            /* [annotation][out] */ \n            _Out_  IDXGIOutput **ppRestrictToOutput);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetBackgroundColor )( \n            IDXGISwapChain3 * This,\n            /* [annotation][in] */ \n            _In_  const DXGI_RGBA *pColor);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetBackgroundColor )( \n            IDXGISwapChain3 * This,\n            /* [annotation][out] */ \n            _Out_  DXGI_RGBA *pColor);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetRotation )( \n            IDXGISwapChain3 * This,\n            /* [annotation][in] */ \n            _In_  DXGI_MODE_ROTATION Rotation);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetRotation )( \n            IDXGISwapChain3 * This,\n            /* [annotation][out] */ \n            _Out_  DXGI_MODE_ROTATION *pRotation);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetSourceSize )( \n            IDXGISwapChain3 * This,\n            UINT Width,\n            UINT Height);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetSourceSize )( \n            IDXGISwapChain3 * This,\n            /* [annotation][out] */ \n            _Out_  UINT *pWidth,\n            /* [annotation][out] */ \n            _Out_  UINT *pHeight);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetMaximumFrameLatency )( \n            IDXGISwapChain3 * This,\n            UINT MaxLatency);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetMaximumFrameLatency )( \n            IDXGISwapChain3 * This,\n            /* [annotation][out] */ \n            _Out_  UINT *pMaxLatency);\n        \n        HANDLE ( STDMETHODCALLTYPE *GetFrameLatencyWaitableObject )( \n            IDXGISwapChain3 * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetMatrixTransform )( \n            IDXGISwapChain3 * This,\n            const DXGI_MATRIX_3X2_F *pMatrix);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetMatrixTransform )( \n            IDXGISwapChain3 * This,\n            /* [annotation][out] */ \n            _Out_  DXGI_MATRIX_3X2_F *pMatrix);\n        \n        UINT ( STDMETHODCALLTYPE *GetCurrentBackBufferIndex )( \n            IDXGISwapChain3 * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *CheckColorSpaceSupport )( \n            IDXGISwapChain3 * This,\n            /* [annotation][in] */ \n            _In_  DXGI_COLOR_SPACE_TYPE ColorSpace,\n            /* [annotation][out] */ \n            _Out_  UINT *pColorSpaceSupport);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetColorSpace1 )( \n            IDXGISwapChain3 * This,\n            /* [annotation][in] */ \n            _In_  DXGI_COLOR_SPACE_TYPE ColorSpace);\n        \n        HRESULT ( STDMETHODCALLTYPE *ResizeBuffers1 )( \n            IDXGISwapChain3 * This,\n            /* [annotation][in] */ \n            _In_  UINT BufferCount,\n            /* [annotation][in] */ \n            _In_  UINT Width,\n            /* [annotation][in] */ \n            _In_  UINT Height,\n            /* [annotation][in] */ \n            _In_  DXGI_FORMAT Format,\n            /* [annotation][in] */ \n            _In_  UINT SwapChainFlags,\n            /* [annotation][in] */ \n            _In_reads_(BufferCount)  const UINT *pCreationNodeMask,\n            /* [annotation][in] */ \n            _In_reads_(BufferCount)  IUnknown *const *ppPresentQueue);\n        \n        END_INTERFACE\n    } IDXGISwapChain3Vtbl;\n\n    interface IDXGISwapChain3\n    {\n        CONST_VTBL struct IDXGISwapChain3Vtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDXGISwapChain3_QueryInterface(This,riid,ppvObject)\t\\\n    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \n\n#define IDXGISwapChain3_AddRef(This)\t\\\n    ( (This)->lpVtbl -> AddRef(This) ) \n\n#define IDXGISwapChain3_Release(This)\t\\\n    ( (This)->lpVtbl -> Release(This) ) \n\n\n#define IDXGISwapChain3_SetPrivateData(This,Name,DataSize,pData)\t\\\n    ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) ) \n\n#define IDXGISwapChain3_SetPrivateDataInterface(This,Name,pUnknown)\t\\\n    ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) ) \n\n#define IDXGISwapChain3_GetPrivateData(This,Name,pDataSize,pData)\t\\\n    ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) ) \n\n#define IDXGISwapChain3_GetParent(This,riid,ppParent)\t\\\n    ( (This)->lpVtbl -> GetParent(This,riid,ppParent) ) \n\n\n#define IDXGISwapChain3_GetDevice(This,riid,ppDevice)\t\\\n    ( (This)->lpVtbl -> GetDevice(This,riid,ppDevice) ) \n\n\n#define IDXGISwapChain3_Present(This,SyncInterval,Flags)\t\\\n    ( (This)->lpVtbl -> Present(This,SyncInterval,Flags) ) \n\n#define IDXGISwapChain3_GetBuffer(This,Buffer,riid,ppSurface)\t\\\n    ( (This)->lpVtbl -> GetBuffer(This,Buffer,riid,ppSurface) ) \n\n#define IDXGISwapChain3_SetFullscreenState(This,Fullscreen,pTarget)\t\\\n    ( (This)->lpVtbl -> SetFullscreenState(This,Fullscreen,pTarget) ) \n\n#define IDXGISwapChain3_GetFullscreenState(This,pFullscreen,ppTarget)\t\\\n    ( (This)->lpVtbl -> GetFullscreenState(This,pFullscreen,ppTarget) ) \n\n#define IDXGISwapChain3_GetDesc(This,pDesc)\t\\\n    ( (This)->lpVtbl -> GetDesc(This,pDesc) ) \n\n#define IDXGISwapChain3_ResizeBuffers(This,BufferCount,Width,Height,NewFormat,SwapChainFlags)\t\\\n    ( (This)->lpVtbl -> ResizeBuffers(This,BufferCount,Width,Height,NewFormat,SwapChainFlags) ) \n\n#define IDXGISwapChain3_ResizeTarget(This,pNewTargetParameters)\t\\\n    ( (This)->lpVtbl -> ResizeTarget(This,pNewTargetParameters) ) \n\n#define IDXGISwapChain3_GetContainingOutput(This,ppOutput)\t\\\n    ( (This)->lpVtbl -> GetContainingOutput(This,ppOutput) ) \n\n#define IDXGISwapChain3_GetFrameStatistics(This,pStats)\t\\\n    ( (This)->lpVtbl -> GetFrameStatistics(This,pStats) ) \n\n#define IDXGISwapChain3_GetLastPresentCount(This,pLastPresentCount)\t\\\n    ( (This)->lpVtbl -> GetLastPresentCount(This,pLastPresentCount) ) \n\n\n#define IDXGISwapChain3_GetDesc1(This,pDesc)\t\\\n    ( (This)->lpVtbl -> GetDesc1(This,pDesc) ) \n\n#define IDXGISwapChain3_GetFullscreenDesc(This,pDesc)\t\\\n    ( (This)->lpVtbl -> GetFullscreenDesc(This,pDesc) ) \n\n#define IDXGISwapChain3_GetHwnd(This,pHwnd)\t\\\n    ( (This)->lpVtbl -> GetHwnd(This,pHwnd) ) \n\n#define IDXGISwapChain3_GetCoreWindow(This,refiid,ppUnk)\t\\\n    ( (This)->lpVtbl -> GetCoreWindow(This,refiid,ppUnk) ) \n\n#define IDXGISwapChain3_Present1(This,SyncInterval,PresentFlags,pPresentParameters)\t\\\n    ( (This)->lpVtbl -> Present1(This,SyncInterval,PresentFlags,pPresentParameters) ) \n\n#define IDXGISwapChain3_IsTemporaryMonoSupported(This)\t\\\n    ( (This)->lpVtbl -> IsTemporaryMonoSupported(This) ) \n\n#define IDXGISwapChain3_GetRestrictToOutput(This,ppRestrictToOutput)\t\\\n    ( (This)->lpVtbl -> GetRestrictToOutput(This,ppRestrictToOutput) ) \n\n#define IDXGISwapChain3_SetBackgroundColor(This,pColor)\t\\\n    ( (This)->lpVtbl -> SetBackgroundColor(This,pColor) ) \n\n#define IDXGISwapChain3_GetBackgroundColor(This,pColor)\t\\\n    ( (This)->lpVtbl -> GetBackgroundColor(This,pColor) ) \n\n#define IDXGISwapChain3_SetRotation(This,Rotation)\t\\\n    ( (This)->lpVtbl -> SetRotation(This,Rotation) ) \n\n#define IDXGISwapChain3_GetRotation(This,pRotation)\t\\\n    ( (This)->lpVtbl -> GetRotation(This,pRotation) ) \n\n\n#define IDXGISwapChain3_SetSourceSize(This,Width,Height)\t\\\n    ( (This)->lpVtbl -> SetSourceSize(This,Width,Height) ) \n\n#define IDXGISwapChain3_GetSourceSize(This,pWidth,pHeight)\t\\\n    ( (This)->lpVtbl -> GetSourceSize(This,pWidth,pHeight) ) \n\n#define IDXGISwapChain3_SetMaximumFrameLatency(This,MaxLatency)\t\\\n    ( (This)->lpVtbl -> SetMaximumFrameLatency(This,MaxLatency) ) \n\n#define IDXGISwapChain3_GetMaximumFrameLatency(This,pMaxLatency)\t\\\n    ( (This)->lpVtbl -> GetMaximumFrameLatency(This,pMaxLatency) ) \n\n#define IDXGISwapChain3_GetFrameLatencyWaitableObject(This)\t\\\n    ( (This)->lpVtbl -> GetFrameLatencyWaitableObject(This) ) \n\n#define IDXGISwapChain3_SetMatrixTransform(This,pMatrix)\t\\\n    ( (This)->lpVtbl -> SetMatrixTransform(This,pMatrix) ) \n\n#define IDXGISwapChain3_GetMatrixTransform(This,pMatrix)\t\\\n    ( (This)->lpVtbl -> GetMatrixTransform(This,pMatrix) ) \n\n\n#define IDXGISwapChain3_GetCurrentBackBufferIndex(This)\t\\\n    ( (This)->lpVtbl -> GetCurrentBackBufferIndex(This) ) \n\n#define IDXGISwapChain3_CheckColorSpaceSupport(This,ColorSpace,pColorSpaceSupport)\t\\\n    ( (This)->lpVtbl -> CheckColorSpaceSupport(This,ColorSpace,pColorSpaceSupport) ) \n\n#define IDXGISwapChain3_SetColorSpace1(This,ColorSpace)\t\\\n    ( (This)->lpVtbl -> SetColorSpace1(This,ColorSpace) ) \n\n#define IDXGISwapChain3_ResizeBuffers1(This,BufferCount,Width,Height,Format,SwapChainFlags,pCreationNodeMask,ppPresentQueue)\t\\\n    ( (This)->lpVtbl -> ResizeBuffers1(This,BufferCount,Width,Height,Format,SwapChainFlags,pCreationNodeMask,ppPresentQueue) ) \n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n\n#endif \t/* __IDXGISwapChain3_INTERFACE_DEFINED__ */\n\n\n/* interface __MIDL_itf_dxgi1_4_0000_0001 */\n/* [local] */ \n\ntypedef \nenum DXGI_OVERLAY_COLOR_SPACE_SUPPORT_FLAG\n    {\n        DXGI_OVERLAY_COLOR_SPACE_SUPPORT_FLAG_PRESENT\t= 0x1\n    } \tDXGI_OVERLAY_COLOR_SPACE_SUPPORT_FLAG;\n\n\n\nextern RPC_IF_HANDLE __MIDL_itf_dxgi1_4_0000_0001_v0_0_c_ifspec;\nextern RPC_IF_HANDLE __MIDL_itf_dxgi1_4_0000_0001_v0_0_s_ifspec;\n\n#ifndef __IDXGIOutput4_INTERFACE_DEFINED__\n#define __IDXGIOutput4_INTERFACE_DEFINED__\n\n/* interface IDXGIOutput4 */\n/* [unique][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDXGIOutput4;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"dc7dca35-2196-414d-9F53-617884032a60\")\n    IDXGIOutput4 : public IDXGIOutput3\n    {\n    public:\n        virtual HRESULT STDMETHODCALLTYPE CheckOverlayColorSpaceSupport( \n            /* [annotation][in] */ \n            _In_  DXGI_FORMAT Format,\n            /* [annotation][in] */ \n            _In_  DXGI_COLOR_SPACE_TYPE ColorSpace,\n            /* [annotation][in] */ \n            _In_  IUnknown *pConcernedDevice,\n            /* [annotation][out] */ \n            _Out_  UINT *pFlags) = 0;\n        \n    };\n    \n    \n#else \t/* C style interface */\n\n    typedef struct IDXGIOutput4Vtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDXGIOutput4 * This,\n            /* [in] */ REFIID riid,\n            /* [annotation][iid_is][out] */ \n            _COM_Outptr_  void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDXGIOutput4 * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDXGIOutput4 * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( \n            IDXGIOutput4 * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [in] */ UINT DataSize,\n            /* [annotation][in] */ \n            _In_reads_bytes_(DataSize)  const void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( \n            IDXGIOutput4 * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [annotation][in] */ \n            _In_  const IUnknown *pUnknown);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( \n            IDXGIOutput4 * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [annotation][out][in] */ \n            _Inout_  UINT *pDataSize,\n            /* [annotation][out] */ \n            _Out_writes_bytes_(*pDataSize)  void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetParent )( \n            IDXGIOutput4 * This,\n            /* [annotation][in] */ \n            _In_  REFIID riid,\n            /* [annotation][retval][out] */ \n            _COM_Outptr_  void **ppParent);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetDesc )( \n            IDXGIOutput4 * This,\n            /* [annotation][out] */ \n            _Out_  DXGI_OUTPUT_DESC *pDesc);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetDisplayModeList )( \n            IDXGIOutput4 * This,\n            /* [in] */ DXGI_FORMAT EnumFormat,\n            /* [in] */ UINT Flags,\n            /* [annotation][out][in] */ \n            _Inout_  UINT *pNumModes,\n            /* [annotation][out] */ \n            _Out_writes_to_opt_(*pNumModes,*pNumModes)  DXGI_MODE_DESC *pDesc);\n        \n        HRESULT ( STDMETHODCALLTYPE *FindClosestMatchingMode )( \n            IDXGIOutput4 * This,\n            /* [annotation][in] */ \n            _In_  const DXGI_MODE_DESC *pModeToMatch,\n            /* [annotation][out] */ \n            _Out_  DXGI_MODE_DESC *pClosestMatch,\n            /* [annotation][in] */ \n            _In_opt_  IUnknown *pConcernedDevice);\n        \n        HRESULT ( STDMETHODCALLTYPE *WaitForVBlank )( \n            IDXGIOutput4 * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *TakeOwnership )( \n            IDXGIOutput4 * This,\n            /* [annotation][in] */ \n            _In_  IUnknown *pDevice,\n            BOOL Exclusive);\n        \n        void ( STDMETHODCALLTYPE *ReleaseOwnership )( \n            IDXGIOutput4 * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetGammaControlCapabilities )( \n            IDXGIOutput4 * This,\n            /* [annotation][out] */ \n            _Out_  DXGI_GAMMA_CONTROL_CAPABILITIES *pGammaCaps);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetGammaControl )( \n            IDXGIOutput4 * This,\n            /* [annotation][in] */ \n            _In_  const DXGI_GAMMA_CONTROL *pArray);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetGammaControl )( \n            IDXGIOutput4 * This,\n            /* [annotation][out] */ \n            _Out_  DXGI_GAMMA_CONTROL *pArray);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetDisplaySurface )( \n            IDXGIOutput4 * This,\n            /* [annotation][in] */ \n            _In_  IDXGISurface *pScanoutSurface);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetDisplaySurfaceData )( \n            IDXGIOutput4 * This,\n            /* [annotation][in] */ \n            _In_  IDXGISurface *pDestination);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetFrameStatistics )( \n            IDXGIOutput4 * This,\n            /* [annotation][out] */ \n            _Out_  DXGI_FRAME_STATISTICS *pStats);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetDisplayModeList1 )( \n            IDXGIOutput4 * This,\n            /* [in] */ DXGI_FORMAT EnumFormat,\n            /* [in] */ UINT Flags,\n            /* [annotation][out][in] */ \n            _Inout_  UINT *pNumModes,\n            /* [annotation][out] */ \n            _Out_writes_to_opt_(*pNumModes,*pNumModes)  DXGI_MODE_DESC1 *pDesc);\n        \n        HRESULT ( STDMETHODCALLTYPE *FindClosestMatchingMode1 )( \n            IDXGIOutput4 * This,\n            /* [annotation][in] */ \n            _In_  const DXGI_MODE_DESC1 *pModeToMatch,\n            /* [annotation][out] */ \n            _Out_  DXGI_MODE_DESC1 *pClosestMatch,\n            /* [annotation][in] */ \n            _In_opt_  IUnknown *pConcernedDevice);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetDisplaySurfaceData1 )( \n            IDXGIOutput4 * This,\n            /* [annotation][in] */ \n            _In_  IDXGIResource *pDestination);\n        \n        HRESULT ( STDMETHODCALLTYPE *DuplicateOutput )( \n            IDXGIOutput4 * This,\n            /* [annotation][in] */ \n            _In_  IUnknown *pDevice,\n            /* [annotation][out] */ \n            _COM_Outptr_  IDXGIOutputDuplication **ppOutputDuplication);\n        \n        BOOL ( STDMETHODCALLTYPE *SupportsOverlays )( \n            IDXGIOutput4 * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *CheckOverlaySupport )( \n            IDXGIOutput4 * This,\n            /* [annotation][in] */ \n            _In_  DXGI_FORMAT EnumFormat,\n            /* [annotation][out] */ \n            _In_  IUnknown *pConcernedDevice,\n            /* [annotation][out] */ \n            _Out_  UINT *pFlags);\n        \n        HRESULT ( STDMETHODCALLTYPE *CheckOverlayColorSpaceSupport )( \n            IDXGIOutput4 * This,\n            /* [annotation][in] */ \n            _In_  DXGI_FORMAT Format,\n            /* [annotation][in] */ \n            _In_  DXGI_COLOR_SPACE_TYPE ColorSpace,\n            /* [annotation][in] */ \n            _In_  IUnknown *pConcernedDevice,\n            /* [annotation][out] */ \n            _Out_  UINT *pFlags);\n        \n        END_INTERFACE\n    } IDXGIOutput4Vtbl;\n\n    interface IDXGIOutput4\n    {\n        CONST_VTBL struct IDXGIOutput4Vtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDXGIOutput4_QueryInterface(This,riid,ppvObject)\t\\\n    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \n\n#define IDXGIOutput4_AddRef(This)\t\\\n    ( (This)->lpVtbl -> AddRef(This) ) \n\n#define IDXGIOutput4_Release(This)\t\\\n    ( (This)->lpVtbl -> Release(This) ) \n\n\n#define IDXGIOutput4_SetPrivateData(This,Name,DataSize,pData)\t\\\n    ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) ) \n\n#define IDXGIOutput4_SetPrivateDataInterface(This,Name,pUnknown)\t\\\n    ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) ) \n\n#define IDXGIOutput4_GetPrivateData(This,Name,pDataSize,pData)\t\\\n    ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) ) \n\n#define IDXGIOutput4_GetParent(This,riid,ppParent)\t\\\n    ( (This)->lpVtbl -> GetParent(This,riid,ppParent) ) \n\n\n#define IDXGIOutput4_GetDesc(This,pDesc)\t\\\n    ( (This)->lpVtbl -> GetDesc(This,pDesc) ) \n\n#define IDXGIOutput4_GetDisplayModeList(This,EnumFormat,Flags,pNumModes,pDesc)\t\\\n    ( (This)->lpVtbl -> GetDisplayModeList(This,EnumFormat,Flags,pNumModes,pDesc) ) \n\n#define IDXGIOutput4_FindClosestMatchingMode(This,pModeToMatch,pClosestMatch,pConcernedDevice)\t\\\n    ( (This)->lpVtbl -> FindClosestMatchingMode(This,pModeToMatch,pClosestMatch,pConcernedDevice) ) \n\n#define IDXGIOutput4_WaitForVBlank(This)\t\\\n    ( (This)->lpVtbl -> WaitForVBlank(This) ) \n\n#define IDXGIOutput4_TakeOwnership(This,pDevice,Exclusive)\t\\\n    ( (This)->lpVtbl -> TakeOwnership(This,pDevice,Exclusive) ) \n\n#define IDXGIOutput4_ReleaseOwnership(This)\t\\\n    ( (This)->lpVtbl -> ReleaseOwnership(This) ) \n\n#define IDXGIOutput4_GetGammaControlCapabilities(This,pGammaCaps)\t\\\n    ( (This)->lpVtbl -> GetGammaControlCapabilities(This,pGammaCaps) ) \n\n#define IDXGIOutput4_SetGammaControl(This,pArray)\t\\\n    ( (This)->lpVtbl -> SetGammaControl(This,pArray) ) \n\n#define IDXGIOutput4_GetGammaControl(This,pArray)\t\\\n    ( (This)->lpVtbl -> GetGammaControl(This,pArray) ) \n\n#define IDXGIOutput4_SetDisplaySurface(This,pScanoutSurface)\t\\\n    ( (This)->lpVtbl -> SetDisplaySurface(This,pScanoutSurface) ) \n\n#define IDXGIOutput4_GetDisplaySurfaceData(This,pDestination)\t\\\n    ( (This)->lpVtbl -> GetDisplaySurfaceData(This,pDestination) ) \n\n#define IDXGIOutput4_GetFrameStatistics(This,pStats)\t\\\n    ( (This)->lpVtbl -> GetFrameStatistics(This,pStats) ) \n\n\n#define IDXGIOutput4_GetDisplayModeList1(This,EnumFormat,Flags,pNumModes,pDesc)\t\\\n    ( (This)->lpVtbl -> GetDisplayModeList1(This,EnumFormat,Flags,pNumModes,pDesc) ) \n\n#define IDXGIOutput4_FindClosestMatchingMode1(This,pModeToMatch,pClosestMatch,pConcernedDevice)\t\\\n    ( (This)->lpVtbl -> FindClosestMatchingMode1(This,pModeToMatch,pClosestMatch,pConcernedDevice) ) \n\n#define IDXGIOutput4_GetDisplaySurfaceData1(This,pDestination)\t\\\n    ( (This)->lpVtbl -> GetDisplaySurfaceData1(This,pDestination) ) \n\n#define IDXGIOutput4_DuplicateOutput(This,pDevice,ppOutputDuplication)\t\\\n    ( (This)->lpVtbl -> DuplicateOutput(This,pDevice,ppOutputDuplication) ) \n\n\n#define IDXGIOutput4_SupportsOverlays(This)\t\\\n    ( (This)->lpVtbl -> SupportsOverlays(This) ) \n\n\n#define IDXGIOutput4_CheckOverlaySupport(This,EnumFormat,pConcernedDevice,pFlags)\t\\\n    ( (This)->lpVtbl -> CheckOverlaySupport(This,EnumFormat,pConcernedDevice,pFlags) ) \n\n\n#define IDXGIOutput4_CheckOverlayColorSpaceSupport(This,Format,ColorSpace,pConcernedDevice,pFlags)\t\\\n    ( (This)->lpVtbl -> CheckOverlayColorSpaceSupport(This,Format,ColorSpace,pConcernedDevice,pFlags) ) \n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n\n#endif \t/* __IDXGIOutput4_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDXGIFactory4_INTERFACE_DEFINED__\n#define __IDXGIFactory4_INTERFACE_DEFINED__\n\n/* interface IDXGIFactory4 */\n/* [unique][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDXGIFactory4;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"1bc6ea02-ef36-464f-bf0c-21ca39e5168a\")\n    IDXGIFactory4 : public IDXGIFactory3\n    {\n    public:\n        virtual HRESULT STDMETHODCALLTYPE EnumAdapterByLuid( \n            /* [annotation] */ \n            _In_  LUID AdapterLuid,\n            /* [annotation] */ \n            _In_  REFIID riid,\n            /* [annotation] */ \n            _COM_Outptr_  void **ppvAdapter) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE EnumWarpAdapter( \n            /* [annotation] */ \n            _In_  REFIID riid,\n            /* [annotation] */ \n            _COM_Outptr_  void **ppvAdapter) = 0;\n        \n    };\n    \n    \n#else \t/* C style interface */\n\n    typedef struct IDXGIFactory4Vtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDXGIFactory4 * This,\n            /* [in] */ REFIID riid,\n            /* [annotation][iid_is][out] */ \n            _COM_Outptr_  void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDXGIFactory4 * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDXGIFactory4 * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( \n            IDXGIFactory4 * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [in] */ UINT DataSize,\n            /* [annotation][in] */ \n            _In_reads_bytes_(DataSize)  const void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( \n            IDXGIFactory4 * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [annotation][in] */ \n            _In_  const IUnknown *pUnknown);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( \n            IDXGIFactory4 * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [annotation][out][in] */ \n            _Inout_  UINT *pDataSize,\n            /* [annotation][out] */ \n            _Out_writes_bytes_(*pDataSize)  void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetParent )( \n            IDXGIFactory4 * This,\n            /* [annotation][in] */ \n            _In_  REFIID riid,\n            /* [annotation][retval][out] */ \n            _COM_Outptr_  void **ppParent);\n        \n        HRESULT ( STDMETHODCALLTYPE *EnumAdapters )( \n            IDXGIFactory4 * This,\n            /* [in] */ UINT Adapter,\n            /* [annotation][out] */ \n            _COM_Outptr_  IDXGIAdapter **ppAdapter);\n        \n        HRESULT ( STDMETHODCALLTYPE *MakeWindowAssociation )( \n            IDXGIFactory4 * This,\n            HWND WindowHandle,\n            UINT Flags);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetWindowAssociation )( \n            IDXGIFactory4 * This,\n            /* [annotation][out] */ \n            _Out_  HWND *pWindowHandle);\n        \n        HRESULT ( STDMETHODCALLTYPE *CreateSwapChain )( \n            IDXGIFactory4 * This,\n            /* [annotation][in] */ \n            _In_  IUnknown *pDevice,\n            /* [annotation][in] */ \n            _In_  DXGI_SWAP_CHAIN_DESC *pDesc,\n            /* [annotation][out] */ \n            _COM_Outptr_  IDXGISwapChain **ppSwapChain);\n        \n        HRESULT ( STDMETHODCALLTYPE *CreateSoftwareAdapter )( \n            IDXGIFactory4 * This,\n            /* [in] */ HMODULE Module,\n            /* [annotation][out] */ \n            _COM_Outptr_  IDXGIAdapter **ppAdapter);\n        \n        HRESULT ( STDMETHODCALLTYPE *EnumAdapters1 )( \n            IDXGIFactory4 * This,\n            /* [in] */ UINT Adapter,\n            /* [annotation][out] */ \n            _COM_Outptr_  IDXGIAdapter1 **ppAdapter);\n        \n        BOOL ( STDMETHODCALLTYPE *IsCurrent )( \n            IDXGIFactory4 * This);\n        \n        BOOL ( STDMETHODCALLTYPE *IsWindowedStereoEnabled )( \n            IDXGIFactory4 * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *CreateSwapChainForHwnd )( \n            IDXGIFactory4 * This,\n            /* [annotation][in] */ \n            _In_  IUnknown *pDevice,\n            /* [annotation][in] */ \n            _In_  HWND hWnd,\n            /* [annotation][in] */ \n            _In_  const DXGI_SWAP_CHAIN_DESC1 *pDesc,\n            /* [annotation][in] */ \n            _In_opt_  const DXGI_SWAP_CHAIN_FULLSCREEN_DESC *pFullscreenDesc,\n            /* [annotation][in] */ \n            _In_opt_  IDXGIOutput *pRestrictToOutput,\n            /* [annotation][out] */ \n            _COM_Outptr_  IDXGISwapChain1 **ppSwapChain);\n        \n        HRESULT ( STDMETHODCALLTYPE *CreateSwapChainForCoreWindow )( \n            IDXGIFactory4 * This,\n            /* [annotation][in] */ \n            _In_  IUnknown *pDevice,\n            /* [annotation][in] */ \n            _In_  IUnknown *pWindow,\n            /* [annotation][in] */ \n            _In_  const DXGI_SWAP_CHAIN_DESC1 *pDesc,\n            /* [annotation][in] */ \n            _In_opt_  IDXGIOutput *pRestrictToOutput,\n            /* [annotation][out] */ \n            _COM_Outptr_  IDXGISwapChain1 **ppSwapChain);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetSharedResourceAdapterLuid )( \n            IDXGIFactory4 * This,\n            /* [annotation] */ \n            _In_  HANDLE hResource,\n            /* [annotation] */ \n            _Out_  LUID *pLuid);\n        \n        HRESULT ( STDMETHODCALLTYPE *RegisterStereoStatusWindow )( \n            IDXGIFactory4 * This,\n            /* [annotation][in] */ \n            _In_  HWND WindowHandle,\n            /* [annotation][in] */ \n            _In_  UINT wMsg,\n            /* [annotation][out] */ \n            _Out_  DWORD *pdwCookie);\n        \n        HRESULT ( STDMETHODCALLTYPE *RegisterStereoStatusEvent )( \n            IDXGIFactory4 * This,\n            /* [annotation][in] */ \n            _In_  HANDLE hEvent,\n            /* [annotation][out] */ \n            _Out_  DWORD *pdwCookie);\n        \n        void ( STDMETHODCALLTYPE *UnregisterStereoStatus )( \n            IDXGIFactory4 * This,\n            /* [annotation][in] */ \n            _In_  DWORD dwCookie);\n        \n        HRESULT ( STDMETHODCALLTYPE *RegisterOcclusionStatusWindow )( \n            IDXGIFactory4 * This,\n            /* [annotation][in] */ \n            _In_  HWND WindowHandle,\n            /* [annotation][in] */ \n            _In_  UINT wMsg,\n            /* [annotation][out] */ \n            _Out_  DWORD *pdwCookie);\n        \n        HRESULT ( STDMETHODCALLTYPE *RegisterOcclusionStatusEvent )( \n            IDXGIFactory4 * This,\n            /* [annotation][in] */ \n            _In_  HANDLE hEvent,\n            /* [annotation][out] */ \n            _Out_  DWORD *pdwCookie);\n        \n        void ( STDMETHODCALLTYPE *UnregisterOcclusionStatus )( \n            IDXGIFactory4 * This,\n            /* [annotation][in] */ \n            _In_  DWORD dwCookie);\n        \n        HRESULT ( STDMETHODCALLTYPE *CreateSwapChainForComposition )( \n            IDXGIFactory4 * This,\n            /* [annotation][in] */ \n            _In_  IUnknown *pDevice,\n            /* [annotation][in] */ \n            _In_  const DXGI_SWAP_CHAIN_DESC1 *pDesc,\n            /* [annotation][in] */ \n            _In_opt_  IDXGIOutput *pRestrictToOutput,\n            /* [annotation][out] */ \n            _COM_Outptr_  IDXGISwapChain1 **ppSwapChain);\n        \n        UINT ( STDMETHODCALLTYPE *GetCreationFlags )( \n            IDXGIFactory4 * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *EnumAdapterByLuid )( \n            IDXGIFactory4 * This,\n            /* [annotation] */ \n            _In_  LUID AdapterLuid,\n            /* [annotation] */ \n            _In_  REFIID riid,\n            /* [annotation] */ \n            _COM_Outptr_  void **ppvAdapter);\n        \n        HRESULT ( STDMETHODCALLTYPE *EnumWarpAdapter )( \n            IDXGIFactory4 * This,\n            /* [annotation] */ \n            _In_  REFIID riid,\n            /* [annotation] */ \n            _COM_Outptr_  void **ppvAdapter);\n        \n        END_INTERFACE\n    } IDXGIFactory4Vtbl;\n\n    interface IDXGIFactory4\n    {\n        CONST_VTBL struct IDXGIFactory4Vtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDXGIFactory4_QueryInterface(This,riid,ppvObject)\t\\\n    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \n\n#define IDXGIFactory4_AddRef(This)\t\\\n    ( (This)->lpVtbl -> AddRef(This) ) \n\n#define IDXGIFactory4_Release(This)\t\\\n    ( (This)->lpVtbl -> Release(This) ) \n\n\n#define IDXGIFactory4_SetPrivateData(This,Name,DataSize,pData)\t\\\n    ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) ) \n\n#define IDXGIFactory4_SetPrivateDataInterface(This,Name,pUnknown)\t\\\n    ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) ) \n\n#define IDXGIFactory4_GetPrivateData(This,Name,pDataSize,pData)\t\\\n    ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) ) \n\n#define IDXGIFactory4_GetParent(This,riid,ppParent)\t\\\n    ( (This)->lpVtbl -> GetParent(This,riid,ppParent) ) \n\n\n#define IDXGIFactory4_EnumAdapters(This,Adapter,ppAdapter)\t\\\n    ( (This)->lpVtbl -> EnumAdapters(This,Adapter,ppAdapter) ) \n\n#define IDXGIFactory4_MakeWindowAssociation(This,WindowHandle,Flags)\t\\\n    ( (This)->lpVtbl -> MakeWindowAssociation(This,WindowHandle,Flags) ) \n\n#define IDXGIFactory4_GetWindowAssociation(This,pWindowHandle)\t\\\n    ( (This)->lpVtbl -> GetWindowAssociation(This,pWindowHandle) ) \n\n#define IDXGIFactory4_CreateSwapChain(This,pDevice,pDesc,ppSwapChain)\t\\\n    ( (This)->lpVtbl -> CreateSwapChain(This,pDevice,pDesc,ppSwapChain) ) \n\n#define IDXGIFactory4_CreateSoftwareAdapter(This,Module,ppAdapter)\t\\\n    ( (This)->lpVtbl -> CreateSoftwareAdapter(This,Module,ppAdapter) ) \n\n\n#define IDXGIFactory4_EnumAdapters1(This,Adapter,ppAdapter)\t\\\n    ( (This)->lpVtbl -> EnumAdapters1(This,Adapter,ppAdapter) ) \n\n#define IDXGIFactory4_IsCurrent(This)\t\\\n    ( (This)->lpVtbl -> IsCurrent(This) ) \n\n\n#define IDXGIFactory4_IsWindowedStereoEnabled(This)\t\\\n    ( (This)->lpVtbl -> IsWindowedStereoEnabled(This) ) \n\n#define IDXGIFactory4_CreateSwapChainForHwnd(This,pDevice,hWnd,pDesc,pFullscreenDesc,pRestrictToOutput,ppSwapChain)\t\\\n    ( (This)->lpVtbl -> CreateSwapChainForHwnd(This,pDevice,hWnd,pDesc,pFullscreenDesc,pRestrictToOutput,ppSwapChain) ) \n\n#define IDXGIFactory4_CreateSwapChainForCoreWindow(This,pDevice,pWindow,pDesc,pRestrictToOutput,ppSwapChain)\t\\\n    ( (This)->lpVtbl -> CreateSwapChainForCoreWindow(This,pDevice,pWindow,pDesc,pRestrictToOutput,ppSwapChain) ) \n\n#define IDXGIFactory4_GetSharedResourceAdapterLuid(This,hResource,pLuid)\t\\\n    ( (This)->lpVtbl -> GetSharedResourceAdapterLuid(This,hResource,pLuid) ) \n\n#define IDXGIFactory4_RegisterStereoStatusWindow(This,WindowHandle,wMsg,pdwCookie)\t\\\n    ( (This)->lpVtbl -> RegisterStereoStatusWindow(This,WindowHandle,wMsg,pdwCookie) ) \n\n#define IDXGIFactory4_RegisterStereoStatusEvent(This,hEvent,pdwCookie)\t\\\n    ( (This)->lpVtbl -> RegisterStereoStatusEvent(This,hEvent,pdwCookie) ) \n\n#define IDXGIFactory4_UnregisterStereoStatus(This,dwCookie)\t\\\n    ( (This)->lpVtbl -> UnregisterStereoStatus(This,dwCookie) ) \n\n#define IDXGIFactory4_RegisterOcclusionStatusWindow(This,WindowHandle,wMsg,pdwCookie)\t\\\n    ( (This)->lpVtbl -> RegisterOcclusionStatusWindow(This,WindowHandle,wMsg,pdwCookie) ) \n\n#define IDXGIFactory4_RegisterOcclusionStatusEvent(This,hEvent,pdwCookie)\t\\\n    ( (This)->lpVtbl -> RegisterOcclusionStatusEvent(This,hEvent,pdwCookie) ) \n\n#define IDXGIFactory4_UnregisterOcclusionStatus(This,dwCookie)\t\\\n    ( (This)->lpVtbl -> UnregisterOcclusionStatus(This,dwCookie) ) \n\n#define IDXGIFactory4_CreateSwapChainForComposition(This,pDevice,pDesc,pRestrictToOutput,ppSwapChain)\t\\\n    ( (This)->lpVtbl -> CreateSwapChainForComposition(This,pDevice,pDesc,pRestrictToOutput,ppSwapChain) ) \n\n\n#define IDXGIFactory4_GetCreationFlags(This)\t\\\n    ( (This)->lpVtbl -> GetCreationFlags(This) ) \n\n\n#define IDXGIFactory4_EnumAdapterByLuid(This,AdapterLuid,riid,ppvAdapter)\t\\\n    ( (This)->lpVtbl -> EnumAdapterByLuid(This,AdapterLuid,riid,ppvAdapter) ) \n\n#define IDXGIFactory4_EnumWarpAdapter(This,riid,ppvAdapter)\t\\\n    ( (This)->lpVtbl -> EnumWarpAdapter(This,riid,ppvAdapter) ) \n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n\n#endif \t/* __IDXGIFactory4_INTERFACE_DEFINED__ */\n\n\n/* interface __MIDL_itf_dxgi1_4_0000_0003 */\n/* [local] */ \n\ntypedef \nenum DXGI_MEMORY_SEGMENT_GROUP\n    {\n        DXGI_MEMORY_SEGMENT_GROUP_LOCAL\t= 0,\n        DXGI_MEMORY_SEGMENT_GROUP_NON_LOCAL\t= 1\n    } \tDXGI_MEMORY_SEGMENT_GROUP;\n\ntypedef struct DXGI_QUERY_VIDEO_MEMORY_INFO\n    {\n    UINT64 Budget;\n    UINT64 CurrentUsage;\n    UINT64 AvailableForReservation;\n    UINT64 CurrentReservation;\n    } \tDXGI_QUERY_VIDEO_MEMORY_INFO;\n\n\n\nextern RPC_IF_HANDLE __MIDL_itf_dxgi1_4_0000_0003_v0_0_c_ifspec;\nextern RPC_IF_HANDLE __MIDL_itf_dxgi1_4_0000_0003_v0_0_s_ifspec;\n\n#ifndef __IDXGIAdapter3_INTERFACE_DEFINED__\n#define __IDXGIAdapter3_INTERFACE_DEFINED__\n\n/* interface IDXGIAdapter3 */\n/* [unique][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDXGIAdapter3;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"645967A4-1392-4310-A798-8053CE3E93FD\")\n    IDXGIAdapter3 : public IDXGIAdapter2\n    {\n    public:\n        virtual HRESULT STDMETHODCALLTYPE RegisterHardwareContentProtectionTeardownStatusEvent( \n            /* [annotation][in] */ \n            _In_  HANDLE hEvent,\n            /* [annotation][out] */ \n            _Out_  DWORD *pdwCookie) = 0;\n        \n        virtual void STDMETHODCALLTYPE UnregisterHardwareContentProtectionTeardownStatus( \n            /* [annotation][in] */ \n            _In_  DWORD dwCookie) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE QueryVideoMemoryInfo( \n            /* [annotation][in] */ \n            _In_  UINT NodeIndex,\n            /* [annotation][in] */ \n            _In_  DXGI_MEMORY_SEGMENT_GROUP MemorySegmentGroup,\n            /* [annotation][out] */ \n            _Out_  DXGI_QUERY_VIDEO_MEMORY_INFO *pVideoMemoryInfo) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE SetVideoMemoryReservation( \n            /* [annotation][in] */ \n            _In_  UINT NodeIndex,\n            /* [annotation][in] */ \n            _In_  DXGI_MEMORY_SEGMENT_GROUP MemorySegmentGroup,\n            /* [annotation][in] */ \n            _In_  UINT64 Reservation) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE RegisterVideoMemoryBudgetChangeNotificationEvent( \n            /* [annotation][in] */ \n            _In_  HANDLE hEvent,\n            /* [annotation][out] */ \n            _Out_  DWORD *pdwCookie) = 0;\n        \n        virtual void STDMETHODCALLTYPE UnregisterVideoMemoryBudgetChangeNotification( \n            /* [annotation][in] */ \n            _In_  DWORD dwCookie) = 0;\n        \n    };\n    \n    \n#else \t/* C style interface */\n\n    typedef struct IDXGIAdapter3Vtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDXGIAdapter3 * This,\n            /* [in] */ REFIID riid,\n            /* [annotation][iid_is][out] */ \n            _COM_Outptr_  void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDXGIAdapter3 * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDXGIAdapter3 * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateData )( \n            IDXGIAdapter3 * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [in] */ UINT DataSize,\n            /* [annotation][in] */ \n            _In_reads_bytes_(DataSize)  const void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )( \n            IDXGIAdapter3 * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [annotation][in] */ \n            _In_  const IUnknown *pUnknown);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetPrivateData )( \n            IDXGIAdapter3 * This,\n            /* [annotation][in] */ \n            _In_  REFGUID Name,\n            /* [annotation][out][in] */ \n            _Inout_  UINT *pDataSize,\n            /* [annotation][out] */ \n            _Out_writes_bytes_(*pDataSize)  void *pData);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetParent )( \n            IDXGIAdapter3 * This,\n            /* [annotation][in] */ \n            _In_  REFIID riid,\n            /* [annotation][retval][out] */ \n            _COM_Outptr_  void **ppParent);\n        \n        HRESULT ( STDMETHODCALLTYPE *EnumOutputs )( \n            IDXGIAdapter3 * This,\n            /* [in] */ UINT Output,\n            /* [annotation][out][in] */ \n            _COM_Outptr_  IDXGIOutput **ppOutput);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetDesc )( \n            IDXGIAdapter3 * This,\n            /* [annotation][out] */ \n            _Out_  DXGI_ADAPTER_DESC *pDesc);\n        \n        HRESULT ( STDMETHODCALLTYPE *CheckInterfaceSupport )( \n            IDXGIAdapter3 * This,\n            /* [annotation][in] */ \n            _In_  REFGUID InterfaceName,\n            /* [annotation][out] */ \n            _Out_  LARGE_INTEGER *pUMDVersion);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetDesc1 )( \n            IDXGIAdapter3 * This,\n            /* [annotation][out] */ \n            _Out_  DXGI_ADAPTER_DESC1 *pDesc);\n        \n        HRESULT ( STDMETHODCALLTYPE *GetDesc2 )( \n            IDXGIAdapter3 * This,\n            /* [annotation][out] */ \n            _Out_  DXGI_ADAPTER_DESC2 *pDesc);\n        \n        HRESULT ( STDMETHODCALLTYPE *RegisterHardwareContentProtectionTeardownStatusEvent )( \n            IDXGIAdapter3 * This,\n            /* [annotation][in] */ \n            _In_  HANDLE hEvent,\n            /* [annotation][out] */ \n            _Out_  DWORD *pdwCookie);\n        \n        void ( STDMETHODCALLTYPE *UnregisterHardwareContentProtectionTeardownStatus )( \n            IDXGIAdapter3 * This,\n            /* [annotation][in] */ \n            _In_  DWORD dwCookie);\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryVideoMemoryInfo )( \n            IDXGIAdapter3 * This,\n            /* [annotation][in] */ \n            _In_  UINT NodeIndex,\n            /* [annotation][in] */ \n            _In_  DXGI_MEMORY_SEGMENT_GROUP MemorySegmentGroup,\n            /* [annotation][out] */ \n            _Out_  DXGI_QUERY_VIDEO_MEMORY_INFO *pVideoMemoryInfo);\n        \n        HRESULT ( STDMETHODCALLTYPE *SetVideoMemoryReservation )( \n            IDXGIAdapter3 * This,\n            /* [annotation][in] */ \n            _In_  UINT NodeIndex,\n            /* [annotation][in] */ \n            _In_  DXGI_MEMORY_SEGMENT_GROUP MemorySegmentGroup,\n            /* [annotation][in] */ \n            _In_  UINT64 Reservation);\n        \n        HRESULT ( STDMETHODCALLTYPE *RegisterVideoMemoryBudgetChangeNotificationEvent )( \n            IDXGIAdapter3 * This,\n            /* [annotation][in] */ \n            _In_  HANDLE hEvent,\n            /* [annotation][out] */ \n            _Out_  DWORD *pdwCookie);\n        \n        void ( STDMETHODCALLTYPE *UnregisterVideoMemoryBudgetChangeNotification )( \n            IDXGIAdapter3 * This,\n            /* [annotation][in] */ \n            _In_  DWORD dwCookie);\n        \n        END_INTERFACE\n    } IDXGIAdapter3Vtbl;\n\n    interface IDXGIAdapter3\n    {\n        CONST_VTBL struct IDXGIAdapter3Vtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDXGIAdapter3_QueryInterface(This,riid,ppvObject)\t\\\n    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \n\n#define IDXGIAdapter3_AddRef(This)\t\\\n    ( (This)->lpVtbl -> AddRef(This) ) \n\n#define IDXGIAdapter3_Release(This)\t\\\n    ( (This)->lpVtbl -> Release(This) ) \n\n\n#define IDXGIAdapter3_SetPrivateData(This,Name,DataSize,pData)\t\\\n    ( (This)->lpVtbl -> SetPrivateData(This,Name,DataSize,pData) ) \n\n#define IDXGIAdapter3_SetPrivateDataInterface(This,Name,pUnknown)\t\\\n    ( (This)->lpVtbl -> SetPrivateDataInterface(This,Name,pUnknown) ) \n\n#define IDXGIAdapter3_GetPrivateData(This,Name,pDataSize,pData)\t\\\n    ( (This)->lpVtbl -> GetPrivateData(This,Name,pDataSize,pData) ) \n\n#define IDXGIAdapter3_GetParent(This,riid,ppParent)\t\\\n    ( (This)->lpVtbl -> GetParent(This,riid,ppParent) ) \n\n\n#define IDXGIAdapter3_EnumOutputs(This,Output,ppOutput)\t\\\n    ( (This)->lpVtbl -> EnumOutputs(This,Output,ppOutput) ) \n\n#define IDXGIAdapter3_GetDesc(This,pDesc)\t\\\n    ( (This)->lpVtbl -> GetDesc(This,pDesc) ) \n\n#define IDXGIAdapter3_CheckInterfaceSupport(This,InterfaceName,pUMDVersion)\t\\\n    ( (This)->lpVtbl -> CheckInterfaceSupport(This,InterfaceName,pUMDVersion) ) \n\n\n#define IDXGIAdapter3_GetDesc1(This,pDesc)\t\\\n    ( (This)->lpVtbl -> GetDesc1(This,pDesc) ) \n\n\n#define IDXGIAdapter3_GetDesc2(This,pDesc)\t\\\n    ( (This)->lpVtbl -> GetDesc2(This,pDesc) ) \n\n\n#define IDXGIAdapter3_RegisterHardwareContentProtectionTeardownStatusEvent(This,hEvent,pdwCookie)\t\\\n    ( (This)->lpVtbl -> RegisterHardwareContentProtectionTeardownStatusEvent(This,hEvent,pdwCookie) ) \n\n#define IDXGIAdapter3_UnregisterHardwareContentProtectionTeardownStatus(This,dwCookie)\t\\\n    ( (This)->lpVtbl -> UnregisterHardwareContentProtectionTeardownStatus(This,dwCookie) ) \n\n#define IDXGIAdapter3_QueryVideoMemoryInfo(This,NodeIndex,MemorySegmentGroup,pVideoMemoryInfo)\t\\\n    ( (This)->lpVtbl -> QueryVideoMemoryInfo(This,NodeIndex,MemorySegmentGroup,pVideoMemoryInfo) ) \n\n#define IDXGIAdapter3_SetVideoMemoryReservation(This,NodeIndex,MemorySegmentGroup,Reservation)\t\\\n    ( (This)->lpVtbl -> SetVideoMemoryReservation(This,NodeIndex,MemorySegmentGroup,Reservation) ) \n\n#define IDXGIAdapter3_RegisterVideoMemoryBudgetChangeNotificationEvent(This,hEvent,pdwCookie)\t\\\n    ( (This)->lpVtbl -> RegisterVideoMemoryBudgetChangeNotificationEvent(This,hEvent,pdwCookie) ) \n\n#define IDXGIAdapter3_UnregisterVideoMemoryBudgetChangeNotification(This,dwCookie)\t\\\n    ( (This)->lpVtbl -> UnregisterVideoMemoryBudgetChangeNotification(This,dwCookie) ) \n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n\n#endif \t/* __IDXGIAdapter3_INTERFACE_DEFINED__ */\n\n\n/* interface __MIDL_itf_dxgi1_4_0000_0004 */\n/* [local] */ \n\n#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */\n#pragma endregion\nDEFINE_GUID(IID_IDXGISwapChain3,0x94d99bdb,0xf1f8,0x4ab0,0xb2,0x36,0x7d,0xa0,0x17,0x0e,0xda,0xb1);\nDEFINE_GUID(IID_IDXGIOutput4,0xdc7dca35,0x2196,0x414d,0x9F,0x53,0x61,0x78,0x84,0x03,0x2a,0x60);\nDEFINE_GUID(IID_IDXGIFactory4,0x1bc6ea02,0xef36,0x464f,0xbf,0x0c,0x21,0xca,0x39,0xe5,0x16,0x8a);\nDEFINE_GUID(IID_IDXGIAdapter3,0x645967A4,0x1392,0x4310,0xA7,0x98,0x80,0x53,0xCE,0x3E,0x93,0xFD);\n\n\nextern RPC_IF_HANDLE __MIDL_itf_dxgi1_4_0000_0004_v0_0_c_ifspec;\nextern RPC_IF_HANDLE __MIDL_itf_dxgi1_4_0000_0004_v0_0_s_ifspec;\n\n/* Additional Prototypes for ALL interfaces */\n\n/* end of Additional Prototypes */\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif\n\n\n"
  },
  {
    "path": "external/D3D12/include/dxgitype.h",
    "content": "//\n//    Copyright (C) Microsoft.  All rights reserved.\n//\n#ifndef __dxgitype_h__\n#define __dxgitype_h__\n\n#include \"dxgiformat.h\"\n\n#define _FACDXGI    0x87a\n#define MAKE_DXGI_HRESULT(code) MAKE_HRESULT(1, _FACDXGI, code)\n#define MAKE_DXGI_STATUS(code)  MAKE_HRESULT(0, _FACDXGI, code)\n\n// DXGI error messages have moved to winerror.h\n\n#define DXGI_CPU_ACCESS_NONE                    ( 0 )\n#define DXGI_CPU_ACCESS_DYNAMIC                 ( 1 )\n#define DXGI_CPU_ACCESS_READ_WRITE              ( 2 )\n#define DXGI_CPU_ACCESS_SCRATCH                 ( 3 )\n#define DXGI_CPU_ACCESS_FIELD                   15\n\n\ntypedef struct DXGI_RGB\n{\n    float Red;\n    float Green;\n    float Blue;\n} DXGI_RGB;\n\n#ifndef D3DCOLORVALUE_DEFINED\ntypedef struct _D3DCOLORVALUE {\n    float r;\n    float g;\n    float b;\n    float a;\n} D3DCOLORVALUE;\n\n#define D3DCOLORVALUE_DEFINED\n#endif\n\ntypedef D3DCOLORVALUE DXGI_RGBA;\n\ntypedef struct DXGI_GAMMA_CONTROL\n{\n    DXGI_RGB Scale;\n    DXGI_RGB Offset;\n    DXGI_RGB GammaCurve[ 1025 ];\n} DXGI_GAMMA_CONTROL;\n\ntypedef struct DXGI_GAMMA_CONTROL_CAPABILITIES\n{\n    BOOL ScaleAndOffsetSupported;\n    float MaxConvertedValue;\n    float MinConvertedValue;\n    UINT NumGammaControlPoints;\n    float ControlPointPositions[1025];\n} DXGI_GAMMA_CONTROL_CAPABILITIES;\n\ntypedef struct DXGI_RATIONAL\n{\n    UINT Numerator;\n    UINT Denominator;\n} DXGI_RATIONAL;\n\ntypedef enum DXGI_MODE_SCANLINE_ORDER\n{\n    DXGI_MODE_SCANLINE_ORDER_UNSPECIFIED        = 0,\n    DXGI_MODE_SCANLINE_ORDER_PROGRESSIVE        = 1,\n    DXGI_MODE_SCANLINE_ORDER_UPPER_FIELD_FIRST  = 2,\n    DXGI_MODE_SCANLINE_ORDER_LOWER_FIELD_FIRST  = 3\n} DXGI_MODE_SCANLINE_ORDER;\n\ntypedef enum DXGI_MODE_SCALING\n{\n    DXGI_MODE_SCALING_UNSPECIFIED   = 0,\n    DXGI_MODE_SCALING_CENTERED      = 1,\n    DXGI_MODE_SCALING_STRETCHED     = 2\n} DXGI_MODE_SCALING;\n\ntypedef enum DXGI_MODE_ROTATION\n{\n    DXGI_MODE_ROTATION_UNSPECIFIED  = 0,\n    DXGI_MODE_ROTATION_IDENTITY     = 1,\n    DXGI_MODE_ROTATION_ROTATE90     = 2,\n    DXGI_MODE_ROTATION_ROTATE180    = 3,\n    DXGI_MODE_ROTATION_ROTATE270    = 4\n} DXGI_MODE_ROTATION;\n\ntypedef struct DXGI_MODE_DESC\n{\n    UINT Width;\n    UINT Height;\n    DXGI_RATIONAL RefreshRate;\n    DXGI_FORMAT Format;\n    DXGI_MODE_SCANLINE_ORDER ScanlineOrdering;\n    DXGI_MODE_SCALING Scaling;\n} DXGI_MODE_DESC;\n\n// The following values are used with DXGI_SAMPLE_DESC::Quality:\n#define DXGI_STANDARD_MULTISAMPLE_QUALITY_PATTERN 0xffffffff\n#define DXGI_CENTER_MULTISAMPLE_QUALITY_PATTERN 0xfffffffe\n\ntypedef struct DXGI_SAMPLE_DESC\n{\n    UINT Count;\n    UINT Quality;\n} DXGI_SAMPLE_DESC;\n\ntypedef enum DXGI_COLOR_SPACE_TYPE\n{\n    DXGI_COLOR_SPACE_RGB_FULL_G22_NONE_P709             = 0,\n    DXGI_COLOR_SPACE_RGB_FULL_G10_NONE_P709             = 1,\n    DXGI_COLOR_SPACE_RGB_STUDIO_G22_NONE_P709           = 2,\n    DXGI_COLOR_SPACE_RGB_STUDIO_G22_NONE_P2020          = 3,\n    DXGI_COLOR_SPACE_RESERVED                           = 4,\n    DXGI_COLOR_SPACE_YCBCR_FULL_G22_NONE_P709_X601      = 5,\n    DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P601         = 6,\n    DXGI_COLOR_SPACE_YCBCR_FULL_G22_LEFT_P601           = 7,\n    DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P709         = 8,\n    DXGI_COLOR_SPACE_YCBCR_FULL_G22_LEFT_P709           = 9,\n    DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P2020        = 10,\n    DXGI_COLOR_SPACE_YCBCR_FULL_G22_LEFT_P2020          = 11,\n    DXGI_COLOR_SPACE_RGB_FULL_G2084_NONE_P2020          = 12,\n    DXGI_COLOR_SPACE_YCBCR_STUDIO_G2084_LEFT_P2020      = 13,\n    DXGI_COLOR_SPACE_RGB_STUDIO_G2084_NONE_P2020        = 14,\n    DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_TOPLEFT_P2020     = 15,\n    DXGI_COLOR_SPACE_YCBCR_STUDIO_G2084_TOPLEFT_P2020   = 16,\n    DXGI_COLOR_SPACE_RGB_FULL_G22_NONE_P2020            = 17,\n    DXGI_COLOR_SPACE_CUSTOM                             = 0xFFFFFFFF\n} DXGI_COLOR_SPACE_TYPE;\n\ntypedef struct DXGI_JPEG_DC_HUFFMAN_TABLE\n{\n    BYTE CodeCounts[12];\n    BYTE CodeValues[12];\n} DXGI_JPEG_DC_HUFFMAN_TABLE;\n\ntypedef struct DXGI_JPEG_AC_HUFFMAN_TABLE\n{\n    BYTE CodeCounts[16];\n    BYTE CodeValues[162];\n} DXGI_JPEG_AC_HUFFMAN_TABLE;\n\ntypedef struct DXGI_JPEG_QUANTIZATION_TABLE\n{\n    BYTE Elements[64];\n} DXGI_JPEG_QUANTIZATION_TABLE;\n\n#endif // __dxgitype_h__\n\n"
  },
  {
    "path": "external/D3D12/include/pix3.h",
    "content": "//\n// This file was copied from //depot/rs_xbox_dev_flight/xbox/drivers/Graphics/Pix3/PixEvt/inc/pix3.h#4\n//\n// To refresh: run 'UpdateFromXbox -latest'\n//\n\n/*==========================================================================;\n *\n *  Copyright (C) Microsoft Corporation.  All Rights Reserved.\n *\n *  File:       pix3.h\n *  Content:    PIX include file\n *\n ****************************************************************************/\n#pragma once\n\n#ifndef _PIX3_H_\n#define _PIX3_H_\n\n#include <sal.h>\n\n#ifndef __cplusplus\n#error \"Only C++ files can include pix.h. C is not supported.\"\n#endif\n\n#if defined(XBOX) || defined(_XBOX_ONE) || defined(_DURANGO)\n#include \"pix3_xbox.h\"\n#else\n#include \"pix3_win.h\"\n#endif\n\n//\n// The PIX event/marker APIs compile to nothing on retail builds and on x86 builds\n//\n#if (!defined(USE_PIX)) && ((defined(_DEBUG) || DBG || (defined(PROFILE) && !defined(FASTCAP)) || defined(PROFILE_BUILD)) && !defined(i386) && defined(_AMD64_) && !defined(_PREFAST_))\n#define USE_PIX\n#endif\n\n#if defined(USE_PIX) && !defined(_AMD64_)\n#pragma message(\"Warning: Pix markers are only supported on AMD64\")\n#endif\n\n// These flags are used by both PIXBeginCapture and PIXGetCaptureState\n#define PIX_CAPTURE_TIMING                  (1 << 0)\n#define PIX_CAPTURE_GPU                     (1 << 1)\n#define PIX_CAPTURE_FUNCTION_SUMMARY        (1 << 2)\n#define PIX_CAPTURE_FUNCTION_DETAILS        (1 << 3)\n#define PIX_CAPTURE_CALLGRAPH               (1 << 4)\n#define PIX_CAPTURE_INSTRUCTION_TRACE       (1 << 5)\n#define PIX_CAPTURE_SYSTEM_MONITOR_COUNTERS (1 << 6)\n#define PIX_CAPTURE_VIDEO                   (1 << 7)\n#define PIX_CAPTURE_AUDIO                   (1 << 8)\n\ntypedef union PIXCaptureParameters\n{\n    struct GpuCaptureParameters\n    {\n        PVOID reserved;\n    } GpuCaptureParameters;\n\n    struct TimingCaptureParameters\n    {\n        BOOL CaptureCallstacks;\n        PWSTR FileName;\n    } TimingCaptureParameters;\n\n} PIXCaptureParameters, *PPIXCaptureParameters;\n\n\n\n#if defined (USE_PIX) && defined(_AMD64_)\n\n#include \"PIXEventsCommon.h\"\n#include \"PIXEventsGenerated.h\"\n\n// Starts a programmatically controlled capture.\n// captureFlags uses the PIX_CAPTURE_* family of flags to specify the type of capture to take\nextern \"C\" HRESULT WINAPI PIXBeginCapture(DWORD captureFlags, _In_opt_ const PPIXCaptureParameters captureParameters);\n\n// Stops a programmatically controlled capture\n//  If discard == TRUE, the captured data is discarded\n//  If discard == FALSE, the captured data is saved\nextern \"C\" HRESULT WINAPI PIXEndCapture(BOOL discard);\n\nextern \"C\" DWORD WINAPI PIXGetCaptureState();\n\nextern \"C\" void WINAPI PIXReportCounter(_In_ PCWSTR name, float value);\n\n#else\n\n// Eliminate these APIs when not using PIX\ninline HRESULT PIXBeginCapture(DWORD, _In_opt_ const PIXCaptureParameters*) { return S_OK; }\ninline HRESULT PIXEndCapture(BOOL) { return S_OK; }\ninline DWORD PIXGetCaptureState() { return 0; }\ninline void PIXReportCounter(_In_ PCWSTR, float) {}\n\ninline void PIXBeginEvent(UINT64, _In_ PCSTR, ...) {}\ninline void PIXBeginEvent(UINT64, _In_ PCWSTR, ...) {}\ninline void PIXBeginEvent(void*, UINT64, _In_ PCSTR, ...) {}\ninline void PIXBeginEvent(void*, UINT64, _In_ PCWSTR, ...) {}\ninline void PIXEndEvent() {}\ninline void PIXEndEvent(void*) {}\ninline void PIXSetMarker(UINT64, _In_ PCSTR, ...) {}\ninline void PIXSetMarker(UINT64, _In_ PCWSTR, ...) {}\ninline void PIXSetMarker(void*, UINT64, _In_ PCSTR, ...) {}\ninline void PIXSetMarker(void*, UINT64, _In_ PCWSTR, ...) {}\ninline void PIXScopedEvent(UINT64, _In_ PCSTR, ...) {}\ninline void PIXScopedEvent(UINT64, _In_ PCWSTR, ...) {}\ninline void PIXScopedEvent(void*, UINT64, _In_ PCSTR, ...) {}\ninline void PIXScopedEvent(void*, UINT64, _In_ PCWSTR, ...) {}\n\n// don't show warnings about expressions with no effect\n#pragma warning(disable:4548)\n#pragma warning(disable:4555)\n\n#endif // USE_PIX\n\n// Use these functions to specify colors to pass as metadata to a PIX event/marker API.\n// Use PIX_COLOR() to specify a particular color for an event.\n// Or, use PIX_COLOR_INDEX() to specify a set of unique event categories, and let PIX choose\n// the colors to represent each category.\ninline UINT PIX_COLOR(BYTE r, BYTE g, BYTE b) { return 0xff000000 | (r << 16) | (g << 8) | b; }\ninline UINT PIX_COLOR_INDEX(BYTE i) { return i; }\nconst UINT PIX_COLOR_DEFAULT = PIX_COLOR_INDEX(0);\n\n#endif // _PIX3_H_\n"
  },
  {
    "path": "external/D3D12/include/pix3_win.h",
    "content": "//\n// This file was copied from //depot/rs_xbox_dev_flight/xbox/drivers/Graphics/Pix3/PixEvt/inc/pix3_win.h#4\n//\n// To refresh: run 'UpdateFromXbox -latest'\n//\n\n/*==========================================================================;\n *\n *  Copyright (C) Microsoft Corporation.  All Rights Reserved.\n *\n *  File:       PIX3_win.h\n *  Content:    PIX include file\n *              Don't include this file directly - use pix3.h\n *\n ****************************************************************************/\n\n#pragma once\n\n#ifndef _PIX3_H_\n#error Don't include this file directly - use pix3.h\n#endif\n\n#ifndef _PIX3_WIN_H_\n#define _PIX3_WIN_H_\n\nstruct PIXEventsBlockInfo\n{\n};\n\nstruct PIXEventsThreadInfo\n{\n    PIXEventsBlockInfo* block;\n    UINT64* biasedLimit;\n    UINT64* destination;\n    UINT64* limit;\n    UINT64 id;\n};\n\nextern \"C\" PIXEventsThreadInfo* PIXGetThreadInfo();\n\n// The following defines denote the different metadata values that have been used\n// by tools to denote how to parse pix marker event data. The first two values\n// are legacy values.\n#define WINPIX_EVENT_UNICODE_VERSION 0\n#define WINPIX_EVENT_ANSI_VERSION 1\n#define WINPIX_EVENT_PIX3BLOB_VERSION 2\n\n#define D3D12_EVENT_METADATA WINPIX_EVENT_PIX3BLOB_VERSION\n\n__forceinline UINT64 PIXGetTimestampCounter()\n{\n    LARGE_INTEGER time = {};\n    QueryPerformanceCounter(&time);\n    return time.QuadPart;\n}\n\n#define PIXSetCPUMarkerOnContext(context, metadata, ...) MakeCPUSetMarkerForContext(metadata, context, __VA_ARGS__)\n#define PIXBeginCPUEventOnContext(context, metadata, ...) MakeCPUBeginEventForContext(metadata, context, __VA_ARGS__)\n#define PIXEndCPUEventOnContext(context) MakeCPUEndEventForContext(context)\n\n#endif //_PIX3_WIN_H_\n"
  },
  {
    "path": "external/GFSDK_Aftermath_v1.21/include/GFSDK_Aftermath.h",
    "content": "﻿/*\n* Copyright (c) 2016, NVIDIA CORPORATION.  All rights reserved.\n*\n* NVIDIA CORPORATION and its licensors retain all intellectual property\n* and proprietary rights in and to this software, related documentation\n* and any modifications thereto.  Any use, reproduction, disclosure or\n* distribution of this software and related documentation without an express\n* license agreement from NVIDIA CORPORATION is strictly prohibited.\n*/\n\n/* \n*   █████  █████ ██████ ████  ████   ███████   ████  ██████ ██   ██\n*   ██  ██ ██      ██   ██    ██  ██ ██ ██ ██ ██  ██   ██   ██   ██\n*   ██  ██ ██      ██   ██    ██  ██ ██ ██ ██ ██  ██   ██   ██   ██\n*   ██████ ████    ██   ████  █████  ██ ██ ██ ██████   ██   ███████\n*   ██  ██ ██      ██   ██    ██  ██ ██    ██ ██  ██   ██   ██   ██\n*   ██  ██ ██      ██   █████ ██  ██ ██    ██ ██  ██   ██   ██   ██   DEBUGGER\n*                                                           ██   ██\n*  ████████████████████████████████████████████████████████ ██ █ ██ ████████████ \n*\n*       \n*  HOW TO USE;\n*           \n*  1)  Call, 'GFSDK_Aftermath_DXxx_Initialize', to initialize the library.            \n*      This must be done before any other library calls are made, and the method\n*      must return 'GFSDK_Aftermath_Result_Success' for initialization to\n*      be complete.\n*\n*      NOTE: Your application will need to be enabled for Aftermath - if this isn't\n*            the case, you can rename the executable to; \"NvAftermath-Enable.exe\"\n*            to enable Aftermath during development.\n*\n*\n*  2)  Call 'GFSDK_Aftermath_DXxx_SetEventMarker', to inject an event \n*      marker directly into the command stream at that point.\n*\n*\n*  3)  Once TDR/hang occurs, call the 'GFSDK_Aftermath_DXxx_GetData' API \n*      to fetch the event marker last processed by the GPU for each context.\n*      This API also supports fetching the current execution state for each\n*      the GPU.\n*\n*\n*\n*  PERFORMANCE TIP;\n*\n*  o) Try make as few calls to 'GFSDK_Aftermath_DXxx_GetData', as possible.  The\n*     API is flexible enough to allow collection of data from all contexts in one call.\n*\n*\n*      Contact: Alex Dunn [adunn@nvidia.com]\n*/\n\n#ifndef GFSDK_Aftermath_H\n#define GFSDK_Aftermath_H\n\n#include \"defines.h\"\n\nenum GFSDK_Aftermath_Version { GFSDK_Aftermath_Version_API = 0x00000121 }; // Version 1.21\n\nenum GFSDK_Aftermath_Result\n{\n    GFSDK_Aftermath_Result_Success = 0x1,\n        \n    GFSDK_Aftermath_Result_Fail = 0xBAD00000,\n\n    // The callee tries to use a library version\n    //  which does not match the built binary.\n    GFSDK_Aftermath_Result_FAIL_VersionMismatch = GFSDK_Aftermath_Result_Fail | 1,\n\n    // The library hasn't been initialized, see;\n    //  'GFSDK_Aftermath_Initialize'.\n    GFSDK_Aftermath_Result_FAIL_NotInitialized = GFSDK_Aftermath_Result_Fail | 2,\n\n    // The callee tries to use the library with \n    //  a non-supported GPU.  Currently, only \n    //  NVIDIA GPUs are supported.\n    GFSDK_Aftermath_Result_FAIL_InvalidAdapter = GFSDK_Aftermath_Result_Fail | 3,\n\n    // The callee passed an invalid parameter to the \n    //  library, likely a null pointer or bad handle.\n    GFSDK_Aftermath_Result_FAIL_InvalidParameter = GFSDK_Aftermath_Result_Fail | 4,\n\n    // Something weird happened that caused the \n    //  library to fail for some reason.\n    GFSDK_Aftermath_Result_FAIL_Unknown = GFSDK_Aftermath_Result_Fail | 5,\n\n    // Got a fail error code from the graphics API.\n    GFSDK_Aftermath_Result_FAIL_ApiError = GFSDK_Aftermath_Result_Fail | 6,\n\n    // Make sure that the NvAPI DLL is up to date.\n    GFSDK_Aftermath_Result_FAIL_NvApiIncompatible = GFSDK_Aftermath_Result_Fail | 7,\n\n    // It would appear as though a call has been\n    //  made to fetch the Aftermath data for a \n    //  context that hasn't been used with \n    //  the EventMarker API yet.\n    GFSDK_Aftermath_Result_FAIL_GettingContextDataWithNewCommandList = GFSDK_Aftermath_Result_Fail | 8,\n\n    // Looks like the library has already been initialized.\n     GFSDK_Aftermath_Result_FAIL_AlreadyInitialized = GFSDK_Aftermath_Result_Fail | 9,\n\n    // Debug layer not compatible with Aftermath.\n    GFSDK_Aftermath_Result_FAIL_D3DDebugLayerNotCompatible = GFSDK_Aftermath_Result_Fail | 10,\n\n    // Aftermath not enabled in the driver.  This is\n    //  generally dealt with via application profile,\n    //  but if installed driver version is greater than \n    //  382.53, this issue can be resolved by renaming\n    //  the application to: \"NvAftermath-Enable.exe\".\n    GFSDK_Aftermath_Result_FAIL_NotEnabledInDriver = GFSDK_Aftermath_Result_Fail | 11,\n\n    // Aftermath requires driver version r378.66 and beyond\n    GFSDK_Aftermath_Result_FAIL_DriverVersionNotSupported = GFSDK_Aftermath_Result_Fail | 12,\n\n    // The system ran out of memory for allocations\n    GFSDK_Aftermath_Result_FAIL_OutOfMemory = GFSDK_Aftermath_Result_Fail | 13,\n\n    // No need to get data on bundles, as markers \n    //  execute on the command list.\n    GFSDK_Aftermath_Result_FAIL_GetDataOnBundle = GFSDK_Aftermath_Result_Fail | 14,\n\n    // No need to get data on deferred contexts, as markers \n    //  execute on the immediate context.\n    GFSDK_Aftermath_Result_FAIL_GetDataOnDeferredContext = GFSDK_Aftermath_Result_Fail | 15,\n};\n\n#define GFSDK_Aftermath_SUCCEED(value) (((value) & 0xFFF00000) != GFSDK_Aftermath_Result_Fail)\n\n\nenum GFSDK_Aftermath_Context_Status\n{\n    // GPU:\n    // The GPU has not started processing this command list yet.\n    GFSDK_Aftermath_Context_Status_NotStarted = 0,\n\n    // This command list has begun execution on the GPU.Thi\n    GFSDK_Aftermath_Context_Status_Executing,\n\n    // This command list has finished execution on the GPU.\n    GFSDK_Aftermath_Context_Status_Finished,\n\n    // This context has an invalid state, which could be\n    //  caused by an error.  \n    //\n    //  NOTE: See, 'GFSDK_Aftermath_ContextData::getErrorCode()'\n    //  for more information.\n    GFSDK_Aftermath_Context_Status_Invalid,\n};\n\n\nenum GFSDK_Aftermath_Status\n{\n    // The GPU is still active, and hasn't gone down.\n    GFSDK_Aftermath_Status_Active = 0,\n\n    // A long running shader/operation has caused a \n    //  GPU timeout. Reconfiguring the timeout length\n    //  might help tease out the problem.\n    GFSDK_Aftermath_Status_Timeout,\n\n    // Run out of memory to complete operations.\n    GFSDK_Aftermath_Status_OutOfMemory,\n\n    // An invalid VA access has caused a fault.\n    GFSDK_Aftermath_Status_PageFault,\n\n    // Unknown problem - likely using an older driver\n    //  incompatible with this Aftermath feature.\n    GFSDK_Aftermath_Status_Unknown,\n};\n\n\n// Used with, 'GFSDK_Aftermath_DXxx_GetData'.  Filled with information,\n//  about each requested context.\nextern \"C\" {\n    struct GFSDK_Aftermath_DLLSPEC GFSDK_Aftermath_ContextData\n    {\n        void* markerData;\n        unsigned int markerSize;\n        GFSDK_Aftermath_Context_Status status;\n\n        // Call this when 'status' is 'GFSDK_Aftermath_Context_Status_Invalid;\n        //  to determine what the error failure reason is.\n        GFSDK_Aftermath_Result getErrorCode();\n    };\n}\n\n\n/////////////////////////////////////////////////////////////////////////\n// GFSDK_Aftermath_DX11_Initialize\n// GFSDK_Aftermath_DX12_Initialize\n// ---------------------------------\n//\n// [pDx11Device]; DX11-Only\n//      the current dx11 device pointer.\n//\n// [pDx12Device]; DX12-Only\n//      the current dx12 device pointer.\n//\n// version;\n//      use the version supplied in this header - library will match \n//      that with what it believes to be the version internally.\n//\n//// DESCRIPTION;\n//      Library must be initialized before any other call is made.\n//      This should be done after device creation.\n// \n/////////////////////////////////////////////////////////////////////////\n#ifdef __d3d11_h__\nGFSDK_Aftermath_API GFSDK_Aftermath_DX11_Initialize(GFSDK_Aftermath_Version version, ID3D11Device* const pDx11Device);\n#endif\n#ifdef __d3d12_h__\nGFSDK_Aftermath_API GFSDK_Aftermath_DX12_Initialize(GFSDK_Aftermath_Version version, ID3D12Device* const pDx12Device);\n#endif\n\n\n/////////////////////////////////////////////////////////////////////////\n// GFSDK_Aftermath_Dx11_SetEventMarker\n// GFSDK_Aftermath_Dx12_SetEventMarker\n// -------------------------------------\n// \n// (pDx11DeviceContext); DX11-Only\n//      Command list currently being populated. \n//\n// (pDx12CommandList); DX12-Only\n//      Command list currently being populated. \n// \n// markerData;\n//      Pointer to data used for event marker.\n//      NOTE: An internal copy will be made of this data, no \n//      need to keep it around after this call - stack alloc is safe.\n//\n// markerSize;\n//      Size of event in bytes.\n//      NOTE:   Passing a 0 for this parameter is valid, and will\n//              only copy off the ptr supplied by markerData, rather\n//              than internally making a copy.\n//              NOTE:   This is a requirement for deferred contexts on D3D11.\n//\n// DESCRIPTION;\n//      Drops a event into the command stream with a payload that can be \n//      linked back to the data given here, 'markerData'.  It's \n//      safe to call from multiple threads simultaneously, normal D3D \n//      API threading restrictions apply.\n//\n/////////////////////////////////////////////////////////////////////////\n#ifdef __d3d11_h__\nGFSDK_Aftermath_API GFSDK_Aftermath_DX11_SetEventMarker(ID3D11DeviceContext* const pDx11DeviceContext, void* markerData, unsigned int markerSize);\n#endif\n#ifdef __d3d12_h__\nGFSDK_Aftermath_API GFSDK_Aftermath_DX12_SetEventMarker(ID3D12GraphicsCommandList* const pDx12CommandList, void* markerData, unsigned int markerSize);\n#endif\n\n\n/////////////////////////////////////////////////////////////////////////\n// GFSDK_Aftermath_DX11_GetData\n// GFSDK_Aftermath_DX12_GetData\n// ------------------------------\n// \n// numContexts;\n//      Number of contexts to fetch information for.\n//      NOTE:   Passing a 0 for this parameter will only \n//              return the GPU status in pStatusOut.\n//\n// (ppDx11DeviceContexts); DX11-Only\n//      Array of pointers to ID3D11DeviceContexts containing Aftermath \n//      event markers. \n//\n// (ppDx12CommandLists); DX12-Only\n//      Array of pointers to ID3D12GraphicsCommandList containing Aftermath \n//      event markers.\n// \n// pContextDataOut;\n//      OUTPUT: context data for each context requested. Contains event\n//              last reached on the GPU, and status of context if\n//              applicable (DX12-Only).\n//      NOTE: must allocate enough space for 'numContexts' worth of structures.\n//            stack allocation is fine.\n//\n// pStatusOut;\n//      OUTPUT: the current status of the GPU.\n//\n// DESCRIPTION;\n//      Once a TDR/crash/hang has occurred (or whenever you like), call \n//      this API to retrieve the event last processed by the GPU on the \n//      given context.  Also - fetch the GPUs current execution status.\n//      \n//      NOTE:   Passing a 0 for numContexts will only return the GPU \n//              status in pStatusOut and skip fetching the current value\n//              for each context.  You will still need to pass something\n//              via ppDx11DeviceContexts or ppDx12CommandLists though...\n//\n/////////////////////////////////////////////////////////////////////////\n#ifdef __d3d11_h__\nGFSDK_Aftermath_API GFSDK_Aftermath_DX11_GetData(const unsigned int numContexts, ID3D11DeviceContext* const* ppDx11DeviceContexts, GFSDK_Aftermath_ContextData* pContextDataOut, GFSDK_Aftermath_Status* pStatusOut);\n#endif\n#ifdef __d3d12_h__\nGFSDK_Aftermath_API GFSDK_Aftermath_DX12_GetData(const unsigned int numContexts, ID3D12GraphicsCommandList* const* ppDx12CommandLists, GFSDK_Aftermath_ContextData* pContextDataOut, GFSDK_Aftermath_Status* pStatusOut);\n#endif\n\n\n/////////////////////////////////////////////////////////////////////////\n//\n// NOTE: Function table provided - if dynamic loading is preferred.\n//\n/////////////////////////////////////////////////////////////////////////\n#ifdef __d3d11_h__\nGFSDK_Aftermath_PFN(*PFN_GFSDK_Aftermath_DX11_Initialize)(GFSDK_Aftermath_Version version, ID3D11Device* const pDx11Device);\nGFSDK_Aftermath_PFN(*PFN_GFSDK_Aftermath_DX11_SetEventMarker)(ID3D11DeviceContext* const pDx11DeviceContext, void* markerData, unsigned int markerSize);\nGFSDK_Aftermath_PFN(*PFN_GFSDK_Aftermath_DX11_GetData)(const unsigned int numContexts, ID3D11DeviceContext* const* ppDx11DeviceContexts, GFSDK_Aftermath_ContextData* pContextDataOut, GFSDK_Aftermath_Status* pStatusOut);\n#endif\n#ifdef __d3d12_h__\nGFSDK_Aftermath_PFN(*PFN_GFSDK_Aftermath_DX12_Initialize)(GFSDK_Aftermath_Version version, ID3D12Device* const pDx12Device);\nGFSDK_Aftermath_PFN(*PFN_GFSDK_Aftermath_DX12_SetEventMarker)(ID3D12GraphicsCommandList* const pDx12CommandList, void* markerData, unsigned int markerSize);\nGFSDK_Aftermath_PFN(*PFN_GFSDK_Aftermath_DX12_GetData)(const unsigned int numContexts, ID3D12GraphicsCommandList* const* ppDx12CommandLists, GFSDK_Aftermath_ContextData* pContextDataOut, GFSDK_Aftermath_Status* pStatusOut);\n#endif\n\n#endif // GFSDK_Aftermath_H"
  },
  {
    "path": "external/GFSDK_Aftermath_v1.21/include/defines.h",
    "content": "/*\n* Copyright (c) 2016, NVIDIA CORPORATION.  All rights reserved.\n*\n* NVIDIA CORPORATION and its licensors retain all intellectual property\n* and proprietary rights in and to this software, related documentation\n* and any modifications thereto.  Any use, reproduction, disclosure or\n* distribution of this software and related documentation without an express\n* license agreement from NVIDIA CORPORATION is strictly prohibited.\n*/\n\n#pragma once\n\n// Library stuff...\n#define GFSDK_Aftermath_PFN typedef GFSDK_Aftermath_Result\n\n#ifdef EXPORTS\n#define GFSDK_Aftermath_DLLSPEC __declspec(dllexport) \n#else\n#define GFSDK_Aftermath_DLLSPEC\n#endif\n\n#define GFSDK_Aftermath_API extern \"C\" GFSDK_Aftermath_DLLSPEC GFSDK_Aftermath_Result\n"
  },
  {
    "path": "external/NvToolsExt/include/nvToolsExt.h",
    "content": "/*\n* Copyright 2009-2012  NVIDIA Corporation.  All rights reserved.\n*\n* NOTICE TO USER:\n*\n* This source code is subject to NVIDIA ownership rights under U.S. and\n* international Copyright laws.\n*\n* This software and the information contained herein is PROPRIETARY and\n* CONFIDENTIAL to NVIDIA and is being provided under the terms and conditions\n* of a form of NVIDIA software license agreement.\n*\n* NVIDIA MAKES NO REPRESENTATION ABOUT THE SUITABILITY OF THIS SOURCE\n* CODE FOR ANY PURPOSE.  IT IS PROVIDED \"AS IS\" WITHOUT EXPRESS OR\n* IMPLIED WARRANTY OF ANY KIND.  NVIDIA DISCLAIMS ALL WARRANTIES WITH\n* REGARD TO THIS SOURCE CODE, INCLUDING ALL IMPLIED WARRANTIES OF\n* MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE.\n* IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL,\n* OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS\n* OF USE, DATA OR PROFITS,  WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE\n* OR OTHER TORTIOUS ACTION,  ARISING OUT OF OR IN CONNECTION WITH THE USE\n* OR PERFORMANCE OF THIS SOURCE CODE.\n*\n* U.S. Government End Users.   This source code is a \"commercial item\" as\n* that term is defined at  48 C.F.R. 2.101 (OCT 1995), consisting  of\n* \"commercial computer  software\"  and \"commercial computer software\n* documentation\" as such terms are  used in 48 C.F.R. 12.212 (SEPT 1995)\n* and is provided to the U.S. Government only as a commercial end item.\n* Consistent with 48 C.F.R.12.212 and 48 C.F.R. 227.7202-1 through\n* 227.7202-4 (JUNE 1995), all U.S. Government End Users acquire the\n* source code with only those rights set forth herein.\n*\n* Any use of this source code in individual and commercial software must\n* include, in the user documentation and internal comments to the code,\n* the above Disclaimer and U.S. Government End Users Notice.\n*/\n\n/** \\mainpage\n * \\section Introduction\n * The NVIDIA Tools Extension library is a set of functions that a\n * developer can use to provide additional information to tools.\n * The additional information is used by the tool to improve\n * analysis and visualization of data.\n *\n * The library introduces close to zero overhead if no tool is\n * attached to the application.  The overhead when a tool is\n * attached is specific to the tool.\n */\n\n#ifndef NVTOOLSEXT_H_\n#define NVTOOLSEXT_H_\n\n#if defined(_MSC_VER) /* Microsoft Visual C++ Compiler */\n    #ifdef NVTX_EXPORTS\n        #define NVTX_DECLSPEC\n    #else\n        #define NVTX_DECLSPEC __declspec(dllimport)\n    #endif /* NVTX_EXPORTS */\n    #define NVTX_API __stdcall\n#else /* GCC and most other compilers */\n    #define NVTX_DECLSPEC\n    #define NVTX_API\n#endif /* Platform */\n\n/**\n * The nvToolsExt library depends on stdint.h.  If the build tool chain in use\n * does not include stdint.h then define NVTX_STDINT_TYPES_ALREADY_DEFINED\n * and define the following types:\n * <ul>\n *   <li>uint8_t\n *   <li>int8_t\n *   <li>uint16_t\n *   <li>int16_t\n *   <li>uint32_t\n *   <li>int32_t\n *   <li>uint64_t\n *   <li>int64_t\n *   <li>uintptr_t\n *   <li>intptr_t\n * </ul>\n #define NVTX_STDINT_TYPES_ALREADY_DEFINED if you are using your own header file.\n */\n#ifndef NVTX_STDINT_TYPES_ALREADY_DEFINED\n#include <stdint.h>\n#endif\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif /* __cplusplus */\n\n/**\n * Tools Extension API version\n */\n#define NVTX_VERSION 1\n\n/**\n * Size of the nvtxEventAttributes_t structure.\n */\n#define NVTX_EVENT_ATTRIB_STRUCT_SIZE ( (uint16_t)( sizeof(nvtxEventAttributes_v1) ) )\n\n#define NVTX_NO_PUSH_POP_TRACKING ((int)-2)\n\ntypedef uint64_t nvtxRangeId_t;\n\n/** \\page EVENT_ATTRIBUTES Event Attributes\n *\n * \\ref MARKER_AND_RANGES can be annotated with various attributes to provide\n * additional information for an event or to guide the tool's visualization of\n * the data. Each of the attributes is optional and if left unused the\n * attributes fall back to a default value.\n *\n * To specify any attribute other than the text message, the \\ref\n * EVENT_ATTRIBUTE_STRUCTURE \"Event Attribute Structure\" must be used.\n */\n\n/** ---------------------------------------------------------------------------\n * Color Types\n * ------------------------------------------------------------------------- */\ntypedef enum nvtxColorType_t\n{\n    NVTX_COLOR_UNKNOWN  = 0,                 /**< Color attribute is unused. */\n    NVTX_COLOR_ARGB     = 1                  /**< An ARGB color is provided. */\n} nvtxColorType_t;\n\n/** ---------------------------------------------------------------------------\n * Payload Types\n * ------------------------------------------------------------------------- */\ntypedef enum nvtxPayloadType_t\n{\n    NVTX_PAYLOAD_UNKNOWN                = 0,   /**< Color payload is unused. */\n    NVTX_PAYLOAD_TYPE_UNSIGNED_INT64    = 1,   /**< A unsigned integer value is used as payload. */\n    NVTX_PAYLOAD_TYPE_INT64             = 2,   /**< A signed integer value is used as payload. */\n    NVTX_PAYLOAD_TYPE_DOUBLE            = 3    /**< A floating point value is used as payload. */\n} nvtxPayloadType_t;\n\n/** ---------------------------------------------------------------------------\n * Message Types\n * ------------------------------------------------------------------------- */\ntypedef enum nvtxMessageType_t\n{\n    NVTX_MESSAGE_UNKNOWN        = 0,         /**< Message payload is unused. */\n    NVTX_MESSAGE_TYPE_ASCII     = 1,         /**< A character sequence is used as payload. */\n    NVTX_MESSAGE_TYPE_UNICODE   = 2          /**< A wide character sequence is used as payload. */\n} nvtxMessageType_t;\n\n/** \\brief Event Attribute Structure.\n * \\anchor EVENT_ATTRIBUTE_STRUCTURE\n *\n * This structure is used to describe the attributes of an event. The layout of\n * the structure is defined by a specific version of the tools extension\n * library and can change between different versions of the Tools Extension\n * library.\n *\n * \\par Initializing the Attributes\n *\n * The caller should always perform the following three tasks when using\n * attributes:\n * <ul>\n *    <li>Zero the structure\n *    <li>Set the version field\n *    <li>Set the size field\n * </ul>\n *\n * Zeroing the structure sets all the event attributes types and values\n * to the default value.\n *\n * The version and size field are used by the Tools Extension\n * implementation to handle multiple versions of the attributes structure.\n *\n * It is recommended that the caller use one of the following to methods\n * to initialize the event attributes structure:\n *\n * \\par Method 1: Initializing nvtxEventAttributes for future compatibility\n * \\code\n * nvtxEventAttributes_t eventAttrib = {0};\n * eventAttrib.version = NVTX_VERSION;\n * eventAttrib.size = NVTX_EVENT_ATTRIB_STRUCT_SIZE;\n * \\endcode\n *\n * \\par Method 2: Initializing nvtxEventAttributes for a specific version\n * \\code\n * nvtxEventAttributes_t eventAttrib = {0};\n * eventAttrib.version = 1;\n * eventAttrib.size = (uint16_t)(sizeof(nvtxEventAttributes_v1));\n * \\endcode\n *\n * If the caller uses Method 1 it is critical that the entire binary\n * layout of the structure be configured to 0 so that all fields\n * are initialized to the default value.\n *\n * The caller should either use both NVTX_VERSION and\n * NVTX_EVENT_ATTRIB_STRUCT_SIZE (Method 1) or use explicit values\n * and a versioned type (Method 2).  Using a mix of the two methods\n * will likely cause either source level incompatibility or binary\n * incompatibility in the future.\n *\n * \\par Settings Attribute Types and Values\n *\n *\n * \\par Example:\n * \\code\n * // Initialize\n * nvtxEventAttributes_t eventAttrib = {0};\n * eventAttrib.version = NVTX_VERSION;\n * eventAttrib.size = NVTX_EVENT_ATTRIB_STRUCT_SIZE;\n *\n * // Configure the Attributes\n * eventAttrib.colorType = NVTX_COLOR_ARGB;\n * eventAttrib.color = 0xFF880000;\n * eventAttrib.messageType = NVTX_MESSAGE_TYPE_ASCII;\n * eventAttrib.message.ascii = \"Example\";\n * \\endcode\n *\n * In the example the caller does not have to set the value of\n * \\ref ::nvtxEventAttributes_v1::category or\n * \\ref ::nvtxEventAttributes_v1::payload as these fields were set to\n * the default value by {0}.\n * \\sa\n * ::nvtxMarkEx\n * ::nvtxRangeStartEx\n * ::nvtxRangePushEx\n */\ntypedef struct nvtxEventAttributes_v1\n{\n    /**\n    * \\brief Version flag of the structure.\n    *\n    * Needs to be set to NVTX_VERSION to indicate the version of NVTX APIs\n    * supported in this header file. This can optionally be overridden to\n    * another version of the tools extension library.\n    */\n    uint16_t version;\n\n    /**\n    * \\brief Size of the structure.\n    *\n    * Needs to be set to the size in bytes of the event attribute\n    * structure used to specify the event.\n    */\n    uint16_t size;\n\n    /**\n     * \\brief ID of the category the event is assigned to.\n     *\n     * A category is a user-controlled ID that can be used to group\n     * events.  The tool may use category IDs to improve filtering or\n     * enable grouping of events in the same category. The functions\n     * \\ref ::nvtxNameCategoryA or \\ref ::nvtxNameCategoryW can be used\n     * to name a category.\n     *\n     * Default Value is 0\n     */\n    uint32_t category;\n\n    /** \\brief Color type specified in this attribute structure.\n     *\n     * Defines the color format of the attribute structure's \\ref COLOR_FIELD\n     * \"color\" field.\n     *\n     * Default Value is NVTX_COLOR_UNKNOWN\n     */\n    int32_t colorType;              /* nvtxColorType_t */\n\n    /** \\brief Color assigned to this event. \\anchor COLOR_FIELD\n     *\n     * The color that the tool should use to visualize the event.\n     */\n    uint32_t color;\n\n    /**\n     * \\brief Payload type specified in this attribute structure.\n     *\n     * Defines the payload format of the attribute structure's \\ref PAYLOAD_FIELD\n     * \"payload\" field.\n     *\n     * Default Value is NVTX_PAYLOAD_UNKNOWN\n     */\n    int32_t payloadType;            /* nvtxPayloadType_t */\n\n    int32_t reserved0;\n\n    /**\n     * \\brief Payload assigned to this event. \\anchor PAYLOAD_FIELD\n     *\n     * A numerical value that can be used to annotate an event. The tool could\n     * use the payload data to reconstruct graphs and diagrams.\n     */\n    union payload_t\n    {\n        uint64_t ullValue;\n        int64_t llValue;\n        double dValue;\n    } payload;\n\n    /** \\brief Message type specified in this attribute structure.\n     *\n     * Defines the message format of the attribute structure's \\ref MESSAGE_FIELD\n     * \"message\" field.\n     *\n     * Default Value is NVTX_MESSAGE_UNKNOWN\n     */\n    int32_t messageType;            /* nvtxMessageType_t */\n\n    /** \\brief Message assigned to this attribute structure. \\anchor MESSAGE_FIELD\n     *\n     * The text message that is attached to an event.\n     */\n    union message_t\n    {\n        const char* ascii;\n        const wchar_t* unicode;\n    } message;\n\n} nvtxEventAttributes_v1;\n\ntypedef struct nvtxEventAttributes_v1 nvtxEventAttributes_t;\n\n/* ========================================================================= */\n/** \\defgroup MARKER_AND_RANGES Marker and Ranges\n *\n * Markers and ranges are used to describe events at a specific time (markers)\n * or over a time span (ranges) during the execution of the application\n * respectively. The additional information is presented alongside all other\n * captured data and facilitates understanding of the collected information.\n */\n\n/* ========================================================================= */\n/** \\name Markers\n */\n/** \\name Markers\n */\n/** \\addtogroup MARKER_AND_RANGES\n * \\section MARKER Marker\n *\n * A marker describes a single point in time.  A marker event has no side effect\n * on other events.\n *\n * @{\n */\n\n/* ------------------------------------------------------------------------- */\n/** \\brief Marks an instantaneous event in the application.\n *\n * A marker can contain a text message or specify additional information\n * using the event attributes structure.  These attributes include a text\n * message, color, category, and a payload. Each of the attributes is optional\n * and can only be sent out using the \\ref nvtxMarkEx function.\n * If \\ref nvtxMarkA or \\ref nvtxMarkW are used to specify the the marker\n * or if an attribute is unspecified then a default value will be used.\n *\n * \\param eventAttrib - The event attribute structure defining the marker's\n * attribute types and attribute values.\n *\n * \\par Example:\n * \\code\n * // zero the structure\n * nvtxEventAttributes_t eventAttrib = {0};\n * // set the version and the size information\n * eventAttrib.version = NVTX_VERSION;\n * eventAttrib.size = NVTX_EVENT_ATTRIB_STRUCT_SIZE;\n * // configure the attributes.  0 is the default for all attributes.\n * eventAttrib.colorType = NVTX_COLOR_ARGB;\n * eventAttrib.color = 0xFF880000;\n * eventAttrib.messageType = NVTX_MESSAGE_TYPE_ASCII;\n * eventAttrib.message.ascii = \"Example nvtxMarkEx\";\n * nvtxMarkEx(&eventAttrib);\n * \\endcode\n *\n * \\version \\NVTX_VERSION_1\n * @{ */\nNVTX_DECLSPEC void NVTX_API nvtxMarkEx(const nvtxEventAttributes_t* eventAttrib);\n/** @} */\n\n/* ------------------------------------------------------------------------- */\n/** \\brief Marks an instantaneous event in the application.\n *\n * A marker created using \\ref nvtxMarkA or \\ref nvtxMarkW contains only a\n * text message.\n *\n * \\param message     - The message associated to this marker event.\n *\n * \\par Example:\n * \\code\n * nvtxMarkA(\"Example nvtxMarkA\");\n * nvtxMarkW(L\"Example nvtxMarkW\");\n * \\endcode\n *\n * \\version \\NVTX_VERSION_0\n * @{ */\nNVTX_DECLSPEC void NVTX_API nvtxMarkA(const char* message);\nNVTX_DECLSPEC void NVTX_API nvtxMarkW(const wchar_t* message);\n/** @} */\n\n/** @} */ /* END MARKER_AND_RANGES */\n\n/* ========================================================================= */\n/** \\name Start/Stop Ranges\n */\n/** \\addtogroup MARKER_AND_RANGES\n * \\section INDEPENDENT_RANGES Start/Stop Ranges\n *\n * Start/Stop ranges denote a time span that can expose arbitrary concurrency -\n * opposed to Push/Pop ranges that only support nesting. In addition the start\n * of a range can happen on a different thread than the end. For the\n * correlation of a start/end pair an unique correlation ID is used that is\n * returned from the start API call and needs to be passed into the end API\n * call.\n *\n * @{\n */\n\n/* ------------------------------------------------------------------------- */\n/** \\brief Marks the start of a range.\n *\n * \\param eventAttrib - The event attribute structure defining the range's\n * attribute types and attribute values.\n *\n * \\return The unique ID used to correlate a pair of Start and End events.\n *\n * \\remarks Ranges defined by Start/End can overlap.\n *\n * \\par Example:\n * \\code\n * nvtxEventAttributes_t eventAttrib = {0};\n * eventAttrib.version = NVTX_VERSION;\n * eventAttrib.size = NVTX_EVENT_ATTRIB_STRUCT_SIZE;\n * eventAttrib.category = 3;\n * eventAttrib.colorType = NVTX_COLOR_ARGB;\n * eventAttrib.color = 0xFF0088FF;\n * eventAttrib.messageType = NVTX_MESSAGE_TYPE_ASCII;\n * eventAttrib.message.ascii = \"Example RangeStartEnd\";\n * nvtxRangeId_t rangeId = nvtxRangeStartEx(&eventAttrib);\n * // ...\n * nvtxRangeEnd(rangeId);\n * \\endcode\n *\n * \\sa\n * ::nvtxRangeEnd\n *\n * \\version \\NVTX_VERSION_1\n * @{ */\nNVTX_DECLSPEC nvtxRangeId_t NVTX_API nvtxRangeStartEx(const nvtxEventAttributes_t* eventAttrib);\n/** @} */\n\n/* ------------------------------------------------------------------------- */\n/** \\brief Marks the start of a range.\n *\n * \\param message     - The event message associated to this range event.\n *\n * \\return The unique ID used to correlate a pair of Start and End events.\n *\n * \\remarks Ranges defined by Start/End can overlap.\n *\n * \\par Example:\n * \\code\n * nvtxRangeId_t r1 = nvtxRangeStartA(\"Range 1\");\n * nvtxRangeId_t r2 = nvtxRangeStartW(L\"Range 2\");\n * nvtxRangeEnd(r1);\n * nvtxRangeEnd(r2);\n * \\endcode\n * \\sa\n * ::nvtxRangeEnd\n *\n * \\version \\NVTX_VERSION_0\n * @{ */\nNVTX_DECLSPEC nvtxRangeId_t NVTX_API nvtxRangeStartA(const char* message);\nNVTX_DECLSPEC nvtxRangeId_t NVTX_API nvtxRangeStartW(const wchar_t* message);\n/** @} */\n\n/* ------------------------------------------------------------------------- */\n/** \\brief Marks the end of a range.\n *\n * \\param id - The correlation ID returned from a nvtxRangeStart call.\n *\n * \\sa\n * ::nvtxRangeStartEx\n * ::nvtxRangeStartA\n * ::nvtxRangeStartW\n *\n * \\version \\NVTX_VERSION_0\n * @{ */\nNVTX_DECLSPEC void NVTX_API nvtxRangeEnd(nvtxRangeId_t id);\n/** @} */\n\n/** @} */\n\n\n/* ========================================================================= */\n/** \\name Push/Pop Ranges\n */\n/** \\addtogroup MARKER_AND_RANGES\n * \\section PUSH_POP_RANGES Push/Pop Ranges\n *\n * Push/Pop ranges denote nested time ranges. Nesting is maintained per thread\n * and does not require any additional correlation mechanism. The duration of a\n * push/pop range is defined by the corresponding pair of Push/Pop API calls.\n *\n * @{\n */\n\n/* ------------------------------------------------------------------------- */\n/** \\brief Marks the start of a nested range\n *\n * \\param eventAttrib - The event attribute structure defining the range's\n * attribute types and attribute values.\n *\n * \\return The 0 based level of range being started.  If an error occurs a\n * negative value is returned.\n *\n * \\par Example:\n * \\code\n * nvtxEventAttributes_t eventAttrib = {0};\n * eventAttrib.version = NVTX_VERSION;\n * eventAttrib.size = NVTX_EVENT_ATTRIB_STRUCT_SIZE;\n * eventAttrib.colorType = NVTX_COLOR_ARGB;\n * eventAttrib.color = 0xFFFF0000;\n * eventAttrib.messageType = NVTX_MESSAGE_TYPE_ASCII;\n * eventAttrib.message.ascii = \"Level 0\";\n * nvtxRangePushEx(&eventAttrib);\n *\n * // Re-use eventAttrib\n * eventAttrib.messageType = NVTX_MESSAGE_TYPE_UNICODE;\n * eventAttrib.message.unicode = L\"Level 1\";\n * nvtxRangePushEx(&eventAttrib);\n *\n * nvtxRangePop();\n * nvtxRangePop();\n * \\endcode\n *\n * \\sa\n * ::nvtxRangePop\n *\n * \\version \\NVTX_VERSION_1\n * @{ */\nNVTX_DECLSPEC int NVTX_API nvtxRangePushEx(const nvtxEventAttributes_t* eventAttrib);\n/** @} */\n\n/* ------------------------------------------------------------------------- */\n/** \\brief Marks the start of a nested range\n *\n * \\param message     - The event message associated to this range event.\n *\n * \\return The 0 based level of range being started.  If an error occurs a\n * negative value is returned.\n *\n * \\par Example:\n * \\code\n * nvtxRangePushA(\"Level 0\");\n * nvtxRangePushW(L\"Level 1\");\n * nvtxRangePop();\n * nvtxRangePop();\n * \\endcode\n *\n * \\sa\n * ::nvtxRangePop\n *\n * \\version \\NVTX_VERSION_0\n * @{ */\nNVTX_DECLSPEC int NVTX_API nvtxRangePushA(const char* message);\nNVTX_DECLSPEC int NVTX_API nvtxRangePushW(const wchar_t* message);\n/** @} */\n\n/* ------------------------------------------------------------------------- */\n/** \\brief Marks the end of a nested range\n *\n * \\return The level of the range being ended. If an error occurs a negative\n * value is returned on the current thread.\n *\n * \\sa\n * ::nvtxRangePushEx\n * ::nvtxRangePushA\n * ::nvtxRangePushW\n *\n * \\version \\NVTX_VERSION_0\n * @{ */\nNVTX_DECLSPEC int NVTX_API nvtxRangePop(void);\n/** @} */\n\n/** @} */\n\n/* ========================================================================= */\n/** \\defgroup RESOURCE_NAMING Resource Naming\n *\n * This section covers calls that allow to annotate objects with user-provided\n * names in order to allow for a better analysis of complex trace data. All of\n * the functions take the handle or the ID of the object to name and the name.\n * The functions can be called multiple times during the execution of an\n * application, however, in that case it is implementation dependent which\n * name will be reported by the tool.\n *\n * \\section RESOURCE_NAMING_NVTX NVTX Resource Naming\n * The NVIDIA Tools Extension library allows to attribute events with additional\n * information such as category IDs. These category IDs can be annotated with\n * user-provided names using the respective resource naming functions.\n *\n * \\section RESOURCE_NAMING_OS OS Resource Naming\n * In order to enable a tool to report system threads not just by their thread\n * identifier, the NVIDIA Tools Extension library allows to provide user-given\n * names to these OS resources.\n * @{\n */\n\n/* ------------------------------------------------------------------------- */\n/** \\name Functions for NVTX Resource Naming\n */\n/** @{\n * \\brief Annotate an NVTX category.\n *\n * Categories are used to group sets of events. Each category is identified\n * through a unique ID and that ID is passed into any of the marker/range\n * events to assign that event to a specific category. The nvtxNameCategory\n * function calls allow the user to assign a name to a category ID.\n *\n * \\param category - The category ID to name.\n * \\param name     - The name of the category.\n *\n * \\remarks The category names are tracked per process.\n *\n * \\par Example:\n * \\code\n * nvtxNameCategory(1, \"Memory Allocation\");\n * nvtxNameCategory(2, \"Memory Transfer\");\n * nvtxNameCategory(3, \"Memory Object Lifetime\");\n * \\endcode\n *\n * \\version \\NVTX_VERSION_1\n */\nNVTX_DECLSPEC void NVTX_API nvtxNameCategoryA(uint32_t category, const char* name);\nNVTX_DECLSPEC void NVTX_API nvtxNameCategoryW(uint32_t category, const wchar_t* name);\n/** @} */\n\n/* ------------------------------------------------------------------------- */\n/** \\name Functions for OS Resource Naming\n */\n/** @{\n * \\brief Annotate an OS thread.\n *\n * Allows the user to name an active thread of the current process. If an\n * invalid thread ID is provided or a thread ID from a different process is\n * used the behavior of the tool is implementation dependent.\n *\n * \\param threadId - The ID of the thread to name.\n * \\param name     - The name of the thread.\n *\n * \\par Example:\n * \\code\n * nvtxNameOsThread(GetCurrentThreadId(), \"MAIN_THREAD\");\n * \\endcode\n *\n * \\version \\NVTX_VERSION_1\n */\nNVTX_DECLSPEC void NVTX_API nvtxNameOsThreadA(uint32_t threadId, const char* name);\nNVTX_DECLSPEC void NVTX_API nvtxNameOsThreadW(uint32_t threadId, const wchar_t* name);\n/** @} */\n\n/** @} */ /* END RESOURCE_NAMING */\n\n/* ========================================================================= */\n\n#ifdef UNICODE\n    #define nvtxMark            nvtxMarkW\n    #define nvtxRangeStart      nvtxRangeStartW\n    #define nvtxRangePush       nvtxRangePushW\n    #define nvtxNameCategory    nvtxNameCategoryW\n    #define nvtxNameOsThread    nvtxNameOsThreadW\n#else\n    #define nvtxMark            nvtxMarkA\n    #define nvtxRangeStart      nvtxRangeStartA\n    #define nvtxRangePush       nvtxRangePushA\n    #define nvtxNameCategory    nvtxNameCategoryA\n    #define nvtxNameOsThread    nvtxNameOsThreadA\n#endif\n\n#ifdef __cplusplus\n}\n#endif /* __cplusplus */\n\n#endif /* NVTOOLSEXT_H_ */\n"
  },
  {
    "path": "external/SDL2-2.0.4/BUGS.txt",
    "content": "\nBugs are now managed in the SDL bug tracker, here:\n\n    http://bugzilla.libsdl.org/\n\nYou may report bugs there, and search to see if a given issue has already\n been reported, discussed, and maybe even fixed.\n\n\nYou may also find help on the SDL mailing list. Subscription information:\n\n    http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org\n\nBug reports are welcome here, but we really appreciate if you use Bugzilla, as\n bugs discussed on the mailing list may be forgotten or missed.\n\n"
  },
  {
    "path": "external/SDL2-2.0.4/COPYING.txt",
    "content": "\nSimple DirectMedia Layer\nCopyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>\n  \nThis software is provided 'as-is', without any express or implied\nwarranty.  In no event will the authors be held liable for any damages\narising from the use of this software.\n\nPermission is granted to anyone to use this software for any purpose,\nincluding commercial applications, and to alter it and redistribute it\nfreely, subject to the following restrictions:\n  \n1. The origin of this software must not be misrepresented; you must not\n   claim that you wrote the original software. If you use this software\n   in a product, an acknowledgment in the product documentation would be\n   appreciated but is not required. \n2. Altered source versions must be plainly marked as such, and must not be\n   misrepresented as being the original software.\n3. This notice may not be removed or altered from any source distribution.\n\n"
  },
  {
    "path": "external/SDL2-2.0.4/README-SDL.txt",
    "content": "\nPlease distribute this file with the SDL runtime environment:\n\nThe Simple DirectMedia Layer (SDL for short) is a cross-platform library\ndesigned to make it easy to write multi-media software, such as games and\nemulators.\n\nThe Simple DirectMedia Layer library source code is available from:\nhttp://www.libsdl.org/\n\nThis library is distributed under the terms of the zlib license:\nhttp://www.zlib.net/zlib_license.html\n\n"
  },
  {
    "path": "external/SDL2-2.0.4/README.txt",
    "content": "\n                         Simple DirectMedia Layer\n\n                                  (SDL)\n\n                                Version 2.0\n\n---\nhttp://www.libsdl.org/\n\nSimple DirectMedia Layer is a cross-platform development library designed\nto provide low level access to audio, keyboard, mouse, joystick, and graphics\nhardware via OpenGL and Direct3D. It is used by video playback software,\nemulators, and popular games including Valve's award winning catalog\nand many Humble Bundle games.\n\nMore extensive documentation is available in the docs directory, starting\nwith README.md\n\nEnjoy!\n\tSam Lantinga\t\t\t\t(slouken@libsdl.org)\n"
  },
  {
    "path": "external/SDL2-2.0.4/WhatsNew.txt",
    "content": "\nThis is a list of major changes in SDL's version history.\n\n---------------------------------------------------------------------------\n2.0.4:\n---------------------------------------------------------------------------\n\nGeneral:\n* Added support for web applications using Emscripten, see docs/README-emscripten.md for more information\n* Added support for web applications using Native Client (NaCl), see docs/README-nacl.md for more information\n* Added an API to queue audio instead of using the audio callback:\n    SDL_QueueAudio(), SDL_GetQueuedAudioSize(), SDL_ClearQueuedAudio()\n* Added events for audio device hot plug support:\n    SDL_AUDIODEVICEADDED, SDL_AUDIODEVICEREMOVED\n* Added SDL_PointInRect()\n* Added SDL_HasAVX2() to detect CPUs with AVX2 support\n* Added SDL_SetWindowHitTest() to let apps treat parts of their SDL window like traditional window decorations (drag areas, resize areas)\n* Added SDL_GetGrabbedWindow() to get the window that currently has input grab, if any\n* Added SDL_RenderIsClipEnabled() to tell whether clipping is currently enabled in a renderer\n* Added SDL_CaptureMouse() to capture the mouse to get events while the mouse is not in your window\n* Added SDL_WarpMouseGlobal() to warp the mouse cursor in global screen space\n* Added SDL_GetGlobalMouseState() to get the current mouse state outside of an SDL window\n* Added a direction field to mouse wheel events to tell whether they are flipped (natural) or not\n* Added GL_CONTEXT_RELEASE_BEHAVIOR GL attribute (maps to [WGL|GLX]_ARB_context_flush_control extension)\n* Added EGL_KHR_create_context support to allow OpenGL ES version selection on some platforms\n* Added NV12 and NV21 YUV texture support for OpenGL and OpenGL ES 2.0 renderers\n* Added a Vivante video driver that is used on various SoC platforms\n* Added an event SDL_RENDER_DEVICE_RESET that is sent from the D3D renderers when the D3D device is lost, and from Android's event loop when the GLES context had to be recreated\n* Added a hint SDL_HINT_NO_SIGNAL_HANDLERS to disable SDL's built in signal handling\n* Added a hint SDL_HINT_THREAD_STACK_SIZE to set the stack size of SDL's threads\n* Added SDL_sqrtf(), SDL_tan(), and SDL_tanf() to the stdlib routines\n* Improved support for WAV and BMP files with unusual chunks in them\n* Renamed SDL_assert_data to SDL_AssertData and SDL_assert_state to SDL_AssertState\n* Added a hint SDL_HINT_WINDOW_FRAME_USABLE_WHILE_CURSOR_HIDDEN to prevent window interaction while cursor is hidden\n* Added SDL_GetDisplayDPI() to get the DPI information for a display\n* Added SDL_JoystickCurrentPowerLevel() to get the battery level of a joystick\n* Added SDL_JoystickFromInstanceID(), as a helper function, to get the SDL_Joystick* that an event is referring to.\n* Added SDL_GameControllerFromInstanceID(), as a helper function, to get the SDL_GameController* that an event is referring to.\n\nWindows:\n* Added support for Windows Phone 8.1 and Windows 10/UWP (Universal Windows Platform)\n* Timer resolution is now 1 ms by default, adjustable with the SDL_HINT_TIMER_RESOLUTION hint\n* SDLmain no longer depends on the C runtime, so you can use the same .lib in both Debug and Release builds\n* Added SDL_SetWindowsMessageHook() to set a function to be called for every windows message before TranslateMessage()\n* Added a hint SDL_HINT_WINDOWS_ENABLE_MESSAGELOOP to control whether SDL_PumpEvents() processes the Windows message loop\n* You can distinguish between real mouse and touch events by looking for SDL_TOUCH_MOUSEID in the mouse event \"which\" field\n* SDL_SysWMinfo now contains the window HDC\n* Added support for Unicode command line options\n* Prevent beeping when Alt-key combos are pressed\n* SDL_SetTextInputRect() re-positions the OS-rendered IME\n* Added a hint SDL_HINT_WINDOWS_NO_CLOSE_ON_ALT_F4 to prevent generating SDL_WINDOWEVENT_CLOSE events when Alt-F4 is pressed\n* Added a hint SDL_HINT_XINPUT_USE_OLD_JOYSTICK_MAPPING to use the old axis and button mapping for XInput devices (deprecated)\n\nMac OS X:\n* Implemented drag-and-drop support\n* Improved joystick hot-plug detection\n* The SDL_WINDOWEVENT_EXPOSED window event is triggered in the appropriate situations\n* Fixed relative mouse mode when the application loses/regains focus\n* Fixed bugs related to transitioning to and from Spaces-aware fullscreen-desktop mode\n* Fixed the refresh rate of display modes\n* SDL_SysWMInfo is now ARC-compatible\n* Added a hint SDL_HINT_MAC_BACKGROUND_APP to prevent forcing the application to become a foreground process\n\nLinux:\n* Enabled building with Mir and Wayland support by default.\n* Added IBus IME support\n* Added a hint SDL_HINT_IME_INTERNAL_EDITING to control whether IBus should handle text editing internally instead of sending SDL_TEXTEDITING events\n* Added a hint SDL_HINT_VIDEO_X11_NET_WM_PING to allow disabling _NET_WM_PING protocol handling in SDL_CreateWindow()\n* Added support for multiple audio devices when using Pulseaudio\n* Fixed duplicate mouse events when using relative mouse motion\n\niOS:\n* Added support for iOS 8\n* The SDL_WINDOW_ALLOW_HIGHDPI window flag now enables high-dpi support, and SDL_GL_GetDrawableSize() or SDL_GetRendererOutputSize() gets the window resolution in pixels\n* SDL_GetWindowSize() and display mode sizes are in the \"DPI-independent points\" / \"screen coordinates\" coordinate space rather than pixels (matches OS X behavior)\n* Added native resolution support for the iPhone 6 Plus\n* Added support for MFi game controllers\n* Added support for the hint SDL_HINT_ACCELEROMETER_AS_JOYSTICK\n* Added sRGB OpenGL ES context support on iOS 7+\n* Added support for SDL_DisableScreenSaver(), SDL_EnableScreenSaver() and the hint SDL_HINT_VIDEO_ALLOW_SCREENSAVER\n* SDL_SysWMinfo now contains the OpenGL ES framebuffer and color renderbuffer objects used by the window's active GLES view\n* Fixed various rotation and orientation issues\n* Fixed memory leaks\n\nAndroid:\n* Added a hint SDL_HINT_ANDROID_SEPARATE_MOUSE_AND_TOUCH to prevent mouse events from being registered as touch events\n* Added hints SDL_HINT_ANDROID_APK_EXPANSION_MAIN_FILE_VERSION and SDL_HINT_ANDROID_APK_EXPANSION_PATCH_FILE_VERSION\n* Added support for SDL_DisableScreenSaver(), SDL_EnableScreenSaver() and the hint SDL_HINT_VIDEO_ALLOW_SCREENSAVER\n* Added support for SDL_ShowMessageBox() and SDL_ShowSimpleMessageBox()\n\nRaspberry Pi:\n* Added support for the Raspberry Pi 2\n\n\n---------------------------------------------------------------------------\n2.0.3:\n---------------------------------------------------------------------------\n\nMac OS X:\n* Fixed creating an OpenGL context by default on Mac OS X 10.6\n\n\n---------------------------------------------------------------------------\n2.0.2:\n---------------------------------------------------------------------------\nGeneral:\n* Added SDL_GL_ResetAttributes() to reset OpenGL attributes to default values\n* Added an API to load a database of game controller mappings from a file:\n    SDL_GameControllerAddMappingsFromFile(), SDL_GameControllerAddMappingsFromRW()\n* Added game controller mappings for the PS4 and OUYA controllers\n* Added SDL_GetDefaultAssertionHandler() and SDL_GetAssertionHandler()\n* Added SDL_DetachThread()\n* Added SDL_HasAVX() to determine if the CPU has AVX features\n* Added SDL_vsscanf(), SDL_acos(), and SDL_asin() to the stdlib routines\n* EGL can now create/manage OpenGL and OpenGL ES 1.x/2.x contexts, and share\n  them using SDL_GL_SHARE_WITH_CURRENT_CONTEXT\n* Added a field \"clicks\" to the mouse button event which records whether the event is a single click, double click, etc.\n* The screensaver is now disabled by default, and there is a hint SDL_HINT_VIDEO_ALLOW_SCREENSAVER that can change that behavior.\n* Added a hint SDL_HINT_MOUSE_RELATIVE_MODE_WARP to specify whether mouse relative mode should be emulated using mouse warping.\n* testgl2 does not need to link with libGL anymore\n* Added testgles2 test program to demonstrate working with OpenGL ES 2.0\n* Added controllermap test program to visually map a game controller\n\nWindows:\n* Support for OpenGL ES 2.x contexts using either WGL or EGL (natively via\n  the driver or emulated through ANGLE)\n* Added a hint SDL_HINT_VIDEO_WIN_D3DCOMPILER to specify which D3D shader compiler to use for OpenGL ES 2 support through ANGLE\n* Added a hint SDL_HINT_VIDEO_WINDOW_SHARE_PIXEL_FORMAT that is useful when creating multiple windows that should share the same OpenGL context.\n* Added an event SDL_RENDER_TARGETS_RESET that is sent when D3D9 render targets are reset after the device has been restored.\n\nMac OS X:\n* Added a hint SDL_HINT_MAC_CTRL_CLICK_EMULATE_RIGHT_CLICK to control whether Ctrl+click should be treated as a right click on Mac OS X. This is off by default.\n\nLinux:\n* Fixed fullscreen and focused behavior when receiving NotifyGrab events\n* Added experimental Wayland and Mir support, disabled by default\n\nAndroid:\n* Joystick support (minimum SDK version required to build SDL is now 12, \n  the required runtime version remains at 10, but on such devices joystick \n  support won't be available).\n* Hotplugging support for joysticks\n* Added a hint SDL_HINT_ACCELEROMETER_AS_JOYSTICK to control whether the accelerometer should be listed as a 3 axis joystick, which it will by default.\n\n\n---------------------------------------------------------------------------\n2.0.1:\n---------------------------------------------------------------------------\n\nGeneral:\n* Added an API to get common filesystem paths in SDL_filesystem.h:\n    SDL_GetBasePath(), SDL_GetPrefPath()\n* Added an API to do optimized YV12 and IYUV texture updates:\n    SDL_UpdateYUVTexture()\n* Added an API to get the amount of RAM on the system:\n    SDL_GetSystemRAM()\n* Added a macro to perform timestamp comparisons with SDL_GetTicks():\n    SDL_TICKS_PASSED()\n* Dramatically improved OpenGL ES 2.0 rendering performance\n* Added OpenGL attribute SDL_GL_FRAMEBUFFER_SRGB_CAPABLE\n\nWindows:\n* Created a static library configuration for the Visual Studio 2010 project\n* Added a hint to create the Direct3D device with support for multi-threading:\n    SDL_HINT_RENDER_DIRECT3D_THREADSAFE\n* Added a function to get the D3D9 adapter index for a display:\n    SDL_Direct3D9GetAdapterIndex()\n* Added a function to get the D3D9 device for a D3D9 renderer:\n    SDL_RenderGetD3D9Device()\n* Fixed building SDL with the mingw32 toolchain (mingw-w64 is preferred)\n* Fixed crash when using two XInput controllers at the same time\n* Fixed detecting a mixture of XInput and DirectInput controllers\n* Fixed clearing a D3D render target larger than the window\n* Improved support for format specifiers in SDL_snprintf()\n\nMac OS X:\n* Added support for retina displays:\n  Create your window with the SDL_WINDOW_ALLOW_HIGHDPI flag, and then use SDL_GL_GetDrawableSize() to find the actual drawable size. You are responsible for scaling mouse and drawing coordinates appropriately.\n* Fixed mouse warping in fullscreen mode\n* Right mouse click is emulated by holding the Ctrl key while left clicking\n\nLinux:\n* Fixed float audio support with the PulseAudio driver\n* Fixed missing line endpoints in the OpenGL renderer on some drivers\n* X11 symbols are no longer defined to avoid collisions when linking statically\n\niOS:\n* Fixed status bar visibility on iOS 7\n* Flipped the accelerometer Y axis to match expected values\n\nAndroid:\nIMPORTANT: You MUST get the updated SDLActivity.java to match C code\n* Moved EGL initialization to native code \n* Fixed the accelerometer axis rotation relative to the device rotation\n* Fixed race conditions when handling the EGL context on pause/resume\n* Touch devices are available for enumeration immediately after init\n\nRaspberry Pi:\n* Added support for the Raspberry Pi, see README-raspberrypi.txt for details\n"
  },
  {
    "path": "external/SDL2-2.0.4/docs/README-android.md",
    "content": "Android\n================================================================================\n\nRequirements:\n\nAndroid SDK (version 12 or later)\nhttp://developer.android.com/sdk/index.html\n\nAndroid NDK r7 or later\nhttp://developer.android.com/tools/sdk/ndk/index.html\n\nMinimum API level supported by SDL: 10 (Android 2.3.3)\nJoystick support is available for API level >=12 devices.\n\n================================================================================\n How the port works\n================================================================================\n\n- Android applications are Java-based, optionally with parts written in C\n- As SDL apps are C-based, we use a small Java shim that uses JNI to talk to \n  the SDL library\n- This means that your application C code must be placed inside an Android \n  Java project, along with some C support code that communicates with Java\n- This eventually produces a standard Android .apk package\n\nThe Android Java code implements an \"Activity\" and can be found in:\nandroid-project/src/org/libsdl/app/SDLActivity.java\n\nThe Java code loads your game code, the SDL shared library, and\ndispatches to native functions implemented in the SDL library:\nsrc/core/android/SDL_android.c\n\nYour project must include some glue code that starts your main() routine:\nsrc/main/android/SDL_android_main.c\n\n\n================================================================================\n Building an app\n================================================================================\n\nFor simple projects you can use the script located at build-scripts/androidbuild.sh\n\nThere's two ways of using it:\n\n    androidbuild.sh com.yourcompany.yourapp < sources.list\n    androidbuild.sh com.yourcompany.yourapp source1.c source2.c ...sourceN.c\n\nsources.list should be a text file with a source file name in each line\nFilenames should be specified relative to the current directory, for example if\nyou are in the build-scripts directory and want to create the testgles.c test, you'll\nrun:\n\n    ./androidbuild.sh org.libsdl.testgles ../test/testgles.c\n\nOne limitation of this script is that all sources provided will be aggregated into\na single directory, thus all your source files should have a unique name.\n\nOnce the project is complete the script will tell you where the debug APK is located.\nIf you want to create a signed release APK, you can use the project created by this\nutility to generate it.\n\nFinally, a word of caution: re running androidbuild.sh wipes any changes you may have\ndone in the build directory for the app!\n\n\nFor more complex projects, follow these instructions:\n    \n1. Copy the android-project directory wherever you want to keep your projects\n   and rename it to the name of your project.\n2. Move or symlink this SDL directory into the <project>/jni directory\n3. Edit <project>/jni/src/Android.mk to include your source files\n4. Run 'ndk-build' (a script provided by the NDK). This compiles the C source\n\nIf you want to use the Eclipse IDE, skip to the Eclipse section below.\n\n5. Create <project>/local.properties and use that to point to the Android SDK directory, by writing a line with the following form:\n\n       sdk.dir=PATH_TO_ANDROID_SDK\n\n6. Run 'ant debug' in android/project. This compiles the .java and eventually \n   creates a .apk with the native code embedded\n7. 'ant debug install' will push the apk to the device or emulator (if connected)\n\nHere's an explanation of the files in the Android project, so you can customize them:\n\n    android-project/\n        AndroidManifest.xml\t- package manifest. Among others, it contains the class name\n        \t\t\t  of the main Activity and the package name of the application.\n        build.properties\t- empty\n        build.xml\t\t- build description file, used by ant. The actual application name\n        \t\t\t  is specified here.\n        default.properties\t- holds the target ABI for the application, android-10 and up\n        project.properties\t- holds the target ABI for the application, android-10 and up\n        local.properties\t- holds the SDK path, you should change this to the path to your SDK\n        jni/\t\t\t- directory holding native code\n        jni/Android.mk\t\t- Android makefile that can call recursively the Android.mk files\n        \t\t\t  in all subdirectories\n        jni/SDL/\t\t- (symlink to) directory holding the SDL library files\n        jni/SDL/Android.mk\t- Android makefile for creating the SDL shared library\n        jni/src/\t\t- directory holding your C/C++ source\n        jni/src/Android.mk\t- Android makefile that you should customize to include your \n                                  source code and any library references\n        res/\t\t\t- directory holding resources for your application\n        res/drawable-*\t\t- directories holding icons for different phone hardware. Could be\n        \t\t\t  one dir called \"drawable\".\n        res/layout/main.xml\t- Usually contains a file main.xml, which declares the screen layout.\n        \t\t\t  We don't need it because we use the SDL video output.\n        res/values/strings.xml\t- strings used in your application, including the application name\n        \t\t\t  shown on the phone.\n        src/org/libsdl/app/SDLActivity.java - the Java class handling the initialization and binding\n        \t\t\t  to SDL.  Be very careful changing this, as the SDL library relies\n        \t\t\t  on this implementation.\n\n\n================================================================================\n Build an app with static linking of libSDL\n================================================================================\n\nThis build uses the Android NDK module system.\n\nInstructions:\n1. Copy the android-project directory wherever you want to keep your projects\n   and rename it to the name of your project.\n2. Rename <project>/jni/src/Android_static.mk to <project>/jni/src/Android.mk\n   (overwrite the existing one)\n3. Edit <project>/jni/src/Android.mk to include your source files\n4. create and export an environment variable named NDK_MODULE_PATH that points\n   to the parent directory of this SDL directory. e.g.:\n\n       export NDK_MODULE_PATH=\"$PWD\"/..\n\n5. Edit <project>/src/org/libsdl/app/SDLActivity.java and remove the call to\n   System.loadLibrary(\"SDL2\").\n6. Run 'ndk-build' (a script provided by the NDK). This compiles the C source\n\n\n================================================================================\n Customizing your application name\n================================================================================\n\nTo customize your application name, edit AndroidManifest.xml and replace\n\"org.libsdl.app\" with an identifier for your product package.\n\nThen create a Java class extending SDLActivity and place it in a directory\nunder src matching your package, e.g.\n\n    src/com/gamemaker/game/MyGame.java\n\nHere's an example of a minimal class file:\n\n    --- MyGame.java --------------------------\n    package com.gamemaker.game;\n    \n    import org.libsdl.app.SDLActivity; \n    \n    /**\n     * A sample wrapper class that just calls SDLActivity \n     */ \n    \n    public class MyGame extends SDLActivity { }\n    \n    ------------------------------------------\n\nThen replace \"SDLActivity\" in AndroidManifest.xml with the name of your\nclass, .e.g. \"MyGame\"\n\n================================================================================\n Customizing your application icon\n================================================================================\n\nConceptually changing your icon is just replacing the \"ic_launcher.png\" files in\nthe drawable directories under the res directory. There are four directories for\ndifferent screen sizes. These can be replaced with one dir called \"drawable\",\ncontaining an icon file \"ic_launcher.png\" with dimensions 48x48 or 72x72.\n\nYou may need to change the name of your icon in AndroidManifest.xml to match\nthis icon filename.\n\n================================================================================\n Loading assets\n================================================================================\n\nAny files you put in the \"assets\" directory of your android-project directory\nwill get bundled into the application package and you can load them using the\nstandard functions in SDL_rwops.h.\n\nThere are also a few Android specific functions that allow you to get other\nuseful paths for saving and loading data:\n* SDL_AndroidGetInternalStoragePath()\n* SDL_AndroidGetExternalStorageState()\n* SDL_AndroidGetExternalStoragePath()\n\nSee SDL_system.h for more details on these functions.\n\nThe asset packaging system will, by default, compress certain file extensions.\nSDL includes two asset file access mechanisms, the preferred one is the so\ncalled \"File Descriptor\" method, which is faster and doesn't involve the Dalvik\nGC, but given this method does not work on compressed assets, there is also the\n\"Input Stream\" method, which is automatically used as a fall back by SDL. You\nmay want to keep this fact in mind when building your APK, specially when large\nfiles are involved.\nFor more information on which extensions get compressed by default and how to\ndisable this behaviour, see for example:\n    \nhttp://ponystyle.com/blog/2010/03/26/dealing-with-asset-compression-in-android-apps/\n\n================================================================================\n Pause / Resume behaviour\n================================================================================\n\nIf SDL is compiled with SDL_ANDROID_BLOCK_ON_PAUSE defined (the default),\nthe event loop will block itself when the app is paused (ie, when the user\nreturns to the main Android dashboard). Blocking is better in terms of battery\nuse, and it allows your app to spring back to life instantaneously after resume\n(versus polling for a resume message).\n\nUpon resume, SDL will attempt to restore the GL context automatically.\nIn modern devices (Android 3.0 and up) this will most likely succeed and your\napp can continue to operate as it was.\n\nHowever, there's a chance (on older hardware, or on systems under heavy load),\nwhere the GL context can not be restored. In that case you have to listen for\na specific message, (which is not yet implemented!) and restore your textures\nmanually or quit the app (which is actually the kind of behaviour you'll see\nunder iOS, if the OS can not restore your GL context it will just kill your app)\n\n================================================================================\n Threads and the Java VM\n================================================================================\n\nFor a quick tour on how Linux native threads interoperate with the Java VM, take\na look here: http://developer.android.com/guide/practices/jni.html\n\nIf you want to use threads in your SDL app, it's strongly recommended that you\ndo so by creating them using SDL functions. This way, the required attach/detach\nhandling is managed by SDL automagically. If you have threads created by other\nmeans and they make calls to SDL functions, make sure that you call\nAndroid_JNI_SetupThread() before doing anything else otherwise SDL will attach\nyour thread automatically anyway (when you make an SDL call), but it'll never\ndetach it.\n\n================================================================================\n Using STL\n================================================================================\n\nYou can use STL in your project by creating an Application.mk file in the jni\nfolder and adding the following line:\n\n    APP_STL := stlport_static\n\nFor more information check out CPLUSPLUS-SUPPORT.html in the NDK documentation.\n\n================================================================================\n Additional documentation\n================================================================================\n\nThe documentation in the NDK docs directory is very helpful in understanding the\nbuild process and how to work with native code on the Android platform.\n\nThe best place to start is with docs/OVERVIEW.TXT\n\n\n================================================================================\n Using Eclipse\n================================================================================\n\nFirst make sure that you've installed Eclipse and the Android extensions as described here:\n\thttp://developer.android.com/tools/sdk/eclipse-adt.html\n\nOnce you've copied the SDL android project and customized it, you can create an Eclipse project from it:\n * File -> New -> Other\n * Select the Android -> Android Project wizard and click Next\n * Enter the name you'd like your project to have\n * Select \"Create project from existing source\" and browse for your project directory\n * Make sure the Build Target is set to Android 3.1 (API 12)\n * Click Finish\n\n\n================================================================================\n Using the emulator\n================================================================================\n\nThere are some good tips and tricks for getting the most out of the\nemulator here: http://developer.android.com/tools/devices/emulator.html\n\nEspecially useful is the info on setting up OpenGL ES 2.0 emulation.\n\nNotice that this software emulator is incredibly slow and needs a lot of disk space.\nUsing a real device works better.\n\n================================================================================\n Troubleshooting\n================================================================================\n\nYou can create and run an emulator from the Eclipse IDE:\n * Window -> Android SDK and AVD Manager\n\nYou can see if adb can see any devices with the following command:\n\n    adb devices\n\nYou can see the output of log messages on the default device with:\n\n    adb logcat\n\nYou can push files to the device with:\n\n    adb push local_file remote_path_and_file\n\nYou can push files to the SD Card at /sdcard, for example:\n\n    adb push moose.dat /sdcard/moose.dat\n\nYou can see the files on the SD card with a shell command:\n\n    adb shell ls /sdcard/\n\nYou can start a command shell on the default device with:\n\n    adb shell\n\nYou can remove the library files of your project (and not the SDL lib files) with:\n\n    ndk-build clean\n\nYou can do a build with the following command:\n\n    ndk-build\n\nYou can see the complete command line that ndk-build is using by passing V=1 on the command line:\n\n    ndk-build V=1\n\nIf your application crashes in native code, you can use addr2line to convert the\naddresses in the stack trace to lines in your code.\n\nFor example, if your crash looks like this:\n\n    I/DEBUG   (   31): signal 11 (SIGSEGV), code 2 (SEGV_ACCERR), fault addr 400085d0\n    I/DEBUG   (   31):  r0 00000000  r1 00001000  r2 00000003  r3 400085d4\n    I/DEBUG   (   31):  r4 400085d0  r5 40008000  r6 afd41504  r7 436c6a7c\n    I/DEBUG   (   31):  r8 436c6b30  r9 435c6fb0  10 435c6f9c  fp 4168d82c\n    I/DEBUG   (   31):  ip 8346aff0  sp 436c6a60  lr afd1c8ff  pc afd1c902  cpsr 60000030\n    I/DEBUG   (   31):          #00  pc 0001c902  /system/lib/libc.so\n    I/DEBUG   (   31):          #01  pc 0001ccf6  /system/lib/libc.so\n    I/DEBUG   (   31):          #02  pc 000014bc  /data/data/org.libsdl.app/lib/libmain.so\n    I/DEBUG   (   31):          #03  pc 00001506  /data/data/org.libsdl.app/lib/libmain.so\n\nYou can see that there's a crash in the C library being called from the main code.\nI run addr2line with the debug version of my code:\n\n    arm-eabi-addr2line -C -f -e obj/local/armeabi/libmain.so\n\nand then paste in the number after \"pc\" in the call stack, from the line that I care about:\n000014bc\n\nI get output from addr2line showing that it's in the quit function, in testspriteminimal.c, on line 23.\n\nYou can add logging to your code to help show what's happening:\n\n    #include <android/log.h>\n    \n    __android_log_print(ANDROID_LOG_INFO, \"foo\", \"Something happened! x = %d\", x);\n\nIf you need to build without optimization turned on, you can create a file called\n\"Application.mk\" in the jni directory, with the following line in it:\n\n    APP_OPTIM := debug\n\n\n================================================================================\n Memory debugging\n================================================================================\n\nThe best (and slowest) way to debug memory issues on Android is valgrind.\nValgrind has support for Android out of the box, just grab code using:\n\n    svn co svn://svn.valgrind.org/valgrind/trunk valgrind\n\n... and follow the instructions in the file README.android to build it.\n\nOne thing I needed to do on Mac OS X was change the path to the toolchain,\nand add ranlib to the environment variables:\nexport RANLIB=$NDKROOT/toolchains/arm-linux-androideabi-4.4.3/prebuilt/darwin-x86/bin/arm-linux-androideabi-ranlib\n\nOnce valgrind is built, you can create a wrapper script to launch your\napplication with it, changing org.libsdl.app to your package identifier:\n\n    --- start_valgrind_app -------------------\n    #!/system/bin/sh\n    export TMPDIR=/data/data/org.libsdl.app\n    exec /data/local/Inst/bin/valgrind --log-file=/sdcard/valgrind.log --error-limit=no $*\n    ------------------------------------------\n\nThen push it to the device:\n\n    adb push start_valgrind_app /data/local\n\nand make it executable:\n\n    adb shell chmod 755 /data/local/start_valgrind_app\n\nand tell Android to use the script to launch your application:\n\n    adb shell setprop wrap.org.libsdl.app \"logwrapper /data/local/start_valgrind_app\"\n\nIf the setprop command says \"could not set property\", it's likely that\nyour package name is too long and you should make it shorter by changing\nAndroidManifest.xml and the path to your class file in android-project/src\n\nYou can then launch your application normally and waaaaaaaiiittt for it.\nYou can monitor the startup process with the logcat command above, and\nwhen it's done (or even while it's running) you can grab the valgrind\noutput file:\n\n    adb pull /sdcard/valgrind.log\n\nWhen you're done instrumenting with valgrind, you can disable the wrapper:\n\n    adb shell setprop wrap.org.libsdl.app \"\"\n\n================================================================================\n Why is API level 10 the minimum required?\n================================================================================\n\nAPI level 10 is the minimum required level at runtime (that is, on the device) \nbecause SDL requires some functionality for running not\navailable on older devices. Since the incorporation of joystick support into SDL,\nthe minimum SDK required to *build* SDL is version 12. Devices running API levels\n10-11 are still supported, only with the joystick functionality disabled.\n\nSupport for native OpenGL ES and ES2 applications was introduced in the NDK for\nAPI level 4 and 8. EGL was made a stable API in the NDK for API level 9, which\nhas since then been obsoleted, with the recommendation to developers to bump the\nrequired API level to 10.\nAs of this writing, according to http://developer.android.com/about/dashboards/index.html\nabout 90% of the Android devices accessing Google Play support API level 10 or\nhigher (March 2013).\n\n================================================================================\n A note regarding the use of the \"dirty rectangles\" rendering technique\n================================================================================\n\nIf your app uses a variation of the \"dirty rectangles\" rendering technique,\nwhere you only update a portion of the screen on each frame, you may notice a\nvariety of visual glitches on Android, that are not present on other platforms.\nThis is caused by SDL's use of EGL as the support system to handle OpenGL ES/ES2\ncontexts, in particular the use of the eglSwapBuffers function. As stated in the\ndocumentation for the function \"The contents of ancillary buffers are always \nundefined after calling eglSwapBuffers\".\nSetting the EGL_SWAP_BEHAVIOR attribute of the surface to EGL_BUFFER_PRESERVED\nis not possible for SDL as it requires EGL 1.4, available only on the API level\n17+, so the only workaround available on this platform is to redraw the entire\nscreen each frame.\n\nReference: http://www.khronos.org/registry/egl/specs/EGLTechNote0001.html\n\n================================================================================\n Known issues\n================================================================================\n\n- The number of buttons reported for each joystick is hardcoded to be 36, which\nis the current maximum number of buttons Android can report.\n\n"
  },
  {
    "path": "external/SDL2-2.0.4/docs/README-cmake.md",
    "content": "CMake\n================================================================================\n(www.cmake.org)\n\nSDL's build system was traditionally based on autotools. Over time, this\napproach has suffered from several issues across the different supported \nplatforms.\nTo solve these problems, a new build system based on CMake is under development.\nIt works in parallel to the legacy system, so users can experiment with it\nwithout complication.\nWhile still experimental, the build system should be usable on the following\nplatforms:\n\n* FreeBSD\n* Linux\n* VS.NET 2010\n* MinGW and Msys\n* OS X with support for XCode\n\n\n================================================================================\nUsage\n================================================================================\n\nAssuming the source for SDL is located at ~/sdl\n\n    cd ~\n    mkdir build\n    cd build\n    cmake ../sdl\n\nThis will build the static and dynamic versions of SDL in the ~/build directory.\n"
  },
  {
    "path": "external/SDL2-2.0.4/docs/README-directfb.md",
    "content": "DirectFB\n========\n\nSupports:\n\n- Hardware YUV overlays\n- OpenGL - software only\n- 2D/3D accelerations (depends on directfb driver)\n- multiple displays\n- windows\n\nWhat you need:\n\n* DirectFB 1.0.1, 1.2.x, 1.3.0\n* Kernel-Framebuffer support: required: vesafb, radeonfb .... \n* Mesa 7.0.x\t   - optional for OpenGL\n\n/etc/directfbrc\n\nThis file should contain the following lines to make\nyour joystick work and avoid crashes:\n------------------------\ndisable-module=joystick\ndisable-module=cle266\ndisable-module=cyber5k\nno-linux-input-grab\n------------------------\n\nTo disable to use x11 backend when DISPLAY variable is found use\n\nexport SDL_DIRECTFB_X11_CHECK=0\n\nTo disable the use of linux input devices, i.e. multimice/multikeyboard support,\nuse\n\nexport SDL_DIRECTFB_LINUX_INPUT=0\n\nTo use hardware accelerated YUV-overlays for YUV-textures, use:\n\nexport SDL_DIRECTFB_YUV_DIRECT=1\n\nThis is disabled by default. It will only support one \nYUV texture, namely the first. Every other YUV texture will be\nrendered in software.\n\nIn addition, you may use (directfb-1.2.x)\n\nexport SDL_DIRECTFB_YUV_UNDERLAY=1\n\nto make the YUV texture an underlay. This will make the cursor to\nbe shown.\n\nSimple Window Manager\n=====================\n\nThe driver has support for a very, very basic window manager you may\nwant to use when running with \"wm=default\". Use\n\nexport SDL_DIRECTFB_WM=1\n\nto enable basic window borders. In order to have the window title rendered,\nyou need to have the following font installed:\n\n/usr/share/fonts/truetype/freefont/FreeSans.ttf\n\nOpenGL Support\n==============\n\nThe following instructions will give you *software* OpenGL. However this\nworks at least on all directfb supported platforms.\n\nAs of this writing 20100802 you need to pull Mesa from git and do the following:\n\n------------------------\ngit clone git://anongit.freedesktop.org/git/mesa/mesa\ncd mesa \ngit checkout 2c9fdaf7292423c157fc79b5ce43f0f199dd753a\n------------------------\n\nEdit configs/linux-directfb so that the Directories-section looks like\n------------------------\n# Directories\nSRC_DIRS     = mesa glu \nGLU_DIRS     = sgi\nDRIVER_DIRS  = directfb\nPROGRAM_DIRS = \n------------------------\n\nmake linux-directfb\nmake\n\necho Installing - please enter sudo pw.\n\nsudo make install INSTALL_DIR=/usr/local/dfb_GL\ncd src/mesa/drivers/directfb\nmake\nsudo make install INSTALL_DIR=/usr/local/dfb_GL\n------------------------\n\nTo run the SDL - testprograms:\n\nexport SDL_VIDEODRIVER=directfb\nexport LD_LIBRARY_PATH=/usr/local/dfb_GL/lib\nexport LD_PRELOAD=/usr/local/dfb_GL/libGL.so.7\n\n./testgl\n\n"
  },
  {
    "path": "external/SDL2-2.0.4/docs/README-dynapi.md",
    "content": "Dynamic API\n================================================================================\nOriginally posted by Ryan at:\n  https://plus.google.com/103391075724026391227/posts/TB8UfnDYu4U\n\nBackground:\n\n- The Steam Runtime has (at least in theory) a really kick-ass build of SDL2, \n  but developers are shipping their own SDL2 with individual Steam games. \n  These games might stop getting updates, but a newer SDL2 might be needed later. \n  Certainly we'll always be fixing bugs in SDL, even if a new video target isn't \n  ever needed, and these fixes won't make it to a game shipping its own SDL.\n- Even if we replace the SDL2 in those games with a compatible one, that is to \n  say, edit a developer's Steam depot (yuck!), there are developers that are \n  statically linking SDL2 that we can't do this for. We can't even force the \n  dynamic loader to ignore their SDL2 in this case, of course.\n- If you don't ship an SDL2 with the game in some form, people that disabled the\n  Steam Runtime, or just tried to run the game from the command line instead of \n  Steam might find themselves unable to run the game, due to a missing dependency.\n- If you want to ship on non-Steam platforms like GOG or Humble Bundle, or target\n  generic Linux boxes that may or may not have SDL2 installed, you have to ship \n  the library or risk a total failure to launch. So now, you might have to have \n  a non-Steam build plus a Steam build (that is, one with and one without SDL2 \n  included), which is inconvenient if you could have had one universal build \n  that works everywhere.\n- We like the zlib license, but the biggest complaint from the open source \n  community about the license change is the static linking. The LGPL forced this \n  as a legal, not technical issue, but zlib doesn't care. Even those that aren't\n  concerned about the GNU freedoms found themselves solving the same problems: \n  swapping in a newer SDL to an older game often times can save the day. \n  Static linking stops this dead.\n\nSo here's what we did:\n\nSDL now has, internally, a table of function pointers. So, this is what SDL_Init\nnow looks like:\n\n    UInt32 SDL_Init(Uint32 flags)\n    {\n        return jump_table.SDL_Init(flags);\n    }\n\nExcept that is all done with a bunch of macro magic so we don't have to maintain\nevery one of these.\n\nWhat is jump_table.SDL_init()? Eventually, that's a function pointer of the real\nSDL_Init() that you've been calling all this time. But at startup, it looks more \nlike this:\n\n    Uint32 SDL_Init_DEFAULT(Uint32 flags)\n    {\n        SDL_InitDynamicAPI();\n        return jump_table.SDL_Init(flags);\n    }\n\nSDL_InitDynamicAPI() fills in jump_table with all the actual SDL function \npointers, which means that this _DEFAULT function never gets called again. \nFirst call to any SDL function sets the whole thing up.\n\nSo you might be asking, what was the value in that? Isn't this what the operating\nsystem's dynamic loader was supposed to do for us? Yes, but now we've got this \nlevel of indirection, we can do things like this:\n\n    export SDL_DYNAMIC_API=/my/actual/libSDL-2.0.so.0\n    ./MyGameThatIsStaticallyLinkedToSDL2\n\nAnd now, this game that is staticallly linked to SDL, can still be overridden \nwith a newer, or better, SDL. The statically linked one will only be used as \nfar as calling into the jump table in this case. But in cases where no override\nis desired, the statically linked version will provide its own jump table, \nand everyone is happy.\n\nSo now:\n- Developers can statically link SDL, and users can still replace it. \n  (We'd still rather you ship a shared library, though!)\n- Developers can ship an SDL with their game, Valve can override it for, say, \n  new features on SteamOS, or distros can override it for their own needs, \n  but it'll also just work in the default case.\n- Developers can ship the same package to everyone (Humble Bundle, GOG, etc), \n  and it'll do the right thing.\n- End users (and Valve) can update a game's SDL in almost any case, \n  to keep abandoned games running on newer platforms.\n- Everyone develops with SDL exactly as they have been doing all along. \n  Same headers, same ABI. Just get the latest version to enable this magic.\n\n\nA little more about SDL_InitDynamicAPI():\n\nInternally, InitAPI does some locking to make sure everything waits until a \nsingle thread initializes everything (although even SDL_CreateThread() goes \nthrough here before spinning a thread, too), and then decides if it should use\nan external SDL library. If not, it sets up the jump table using the current \nSDL's function pointers (which might be statically linked into a program, or in\na shared library of its own). If so, it loads that library and looks for and \ncalls a single function:\n\n    SInt32 SDL_DYNAPI_entry(Uint32 version, void *table, Uint32 tablesize);\n\nThat function takes a version number (more on that in a moment), the address of\nthe jump table, and the size, in bytes, of the table. \nNow, we've got policy here: this table's layout never changes; new stuff gets \nadded to the end. Therefore SDL_DYNAPI_entry() knows that it can provide all \nthe needed functions if tablesize <= sizeof its own jump table. If tablesize is\nbigger (say, SDL 2.0.4 is trying to load SDL 2.0.3), then we know to abort, but\nif it's smaller, we know we can provide the entire API that the caller needs.\n\nThe version variable is a failsafe switch. \nRight now it's always 1. This number changes when there are major API changes \n(so we know if the tablesize might be smaller, or entries in it have changed). \nRight now SDL_DYNAPI_entry gives up if the version doesn't match, but it's not \ninconceivable to have a small dispatch library that only supplies this one \nfunction and loads different, otherwise-incompatible SDL libraries and has the\nright one initialize the jump table based on the version. For something that \nmust generically catch lots of different versions of SDL over time, like the \nSteam Client, this isn't a bad option.\n\nFinally, I'm sure some people are reading this and thinking,\n\"I don't want that overhead in my project!\"  \nTo which I would point out that the extra function call through the jump table \nprobably wouldn't even show up in a profile, but lucky you: this can all be \ndisabled. You can build SDL without this if you absolutely must, but we would \nencourage you not to do that. However, on heavily locked down platforms like \niOS, or maybe when debugging, it makes sense to disable it. The way this is\ndesigned in SDL, you just have to change one #define, and the entire system \nvaporizes out, and SDL functions exactly like it always did. Most of it is \nmacro magic, so the system is contained to one C file and a few headers. \nHowever, this is on by default and you have to edit a header file to turn it \noff. Our hopes is that if we make it easy to disable, but not too easy, \neveryone will ultimately be able to get what they want, but we've gently \nnudged everyone towards what we think is the best solution.\n"
  },
  {
    "path": "external/SDL2-2.0.4/docs/README-emscripten.md",
    "content": "Emscripten\n================================================================================\n\nBuild:\n\n    $ mkdir build\n    $ cd build\n    $ emconfigure ../configure --host=asmjs-unknown-emscripten --disable-assembly --disable-threads --enable-cpuinfo=false CFLAGS=\"-O2\"\n    $ emmake make\n\nOr with cmake:\n\n    $ mkdir build\n    $ cd build\n    $ emcmake cmake ..\n    $ emmake make\n\nTo build one of the tests:\n\n    $ cd test/\n    $ emcc -O2 --js-opts 0 -g4 testdraw2.c -I../include ../build/.libs/libSDL2.a ../build/libSDL2_test.a -o a.html\n\nUses GLES2 renderer or software\n\ntests: https://dl.dropboxusercontent.com/u/17360362/SDL2-em/index.html\n\nSome other SDL2 libraries can be easily built (assuming SDL2 is installed somewhere):\n\nSDL_mixer (http://www.libsdl.org/projects/SDL_mixer/):\n\n    $ EMCONFIGURE_JS=1 emconfigure ../configure\n    build as usual...\n\nSDL_gfx (http://cms.ferzkopp.net/index.php/software/13-sdl-gfx):\n\n    $ EMCONFIGURE_JS=1 emconfigure ../configure --disable-mmx\n    build as usual...\n"
  },
  {
    "path": "external/SDL2-2.0.4/docs/README-gesture.md",
    "content": "Dollar Gestures\n===========================================================================\nSDL provides an implementation of the $1 gesture recognition system. This allows for recording, saving, loading, and performing single stroke gestures.\n\nGestures can be performed with any number of fingers (the centroid of the fingers must follow the path of the gesture), but the number of fingers must be constant (a finger cannot go down in the middle of a gesture). The path of a gesture is considered the path from the time when the final finger went down, to the first time any finger comes up. \n\nDollar gestures are assigned an Id based on a hash function. This is guaranteed to remain constant for a given gesture. There is a (small) chance that two different gestures will be assigned the same ID. In this case, simply re-recording one of the gestures should result in a different ID.\n\nRecording:\n----------\nTo begin recording on a touch device call:\nSDL_RecordGesture(SDL_TouchID touchId), where touchId is the id of the touch device you wish to record on, or -1 to record on all connected devices.\n\nRecording terminates as soon as a finger comes up. Recording is acknowledged by an SDL_DOLLARRECORD event.\nA SDL_DOLLARRECORD event is a dgesture with the following fields:\n\n* event.dgesture.touchId   - the Id of the touch used to record the gesture.\n* event.dgesture.gestureId - the unique id of the recorded gesture.\n\n\nPerforming:\n-----------\nAs long as there is a dollar gesture assigned to a touch, every finger-up event will also cause an SDL_DOLLARGESTURE event with the following fields:\n\n* event.dgesture.touchId    - the Id of the touch which performed the gesture.\n* event.dgesture.gestureId  - the unique id of the closest gesture to the performed stroke.\n* event.dgesture.error      - the difference between the gesture template and the actual performed gesture. Lower error is a better match.\n* event.dgesture.numFingers - the number of fingers used to draw the stroke.\n\nMost programs will want to define an appropriate error threshold and check to be sure that the error of a gesture is not abnormally high (an indicator that no gesture was performed).\n\n\n\nSaving:\n-------\nTo save a template, call SDL_SaveDollarTemplate(gestureId, dst) where gestureId is the id of the gesture you want to save, and dst is an SDL_RWops pointer to the file where the gesture will be stored.\n\nTo save all currently loaded templates, call SDL_SaveAllDollarTemplates(dst) where dst is an SDL_RWops pointer to the file where the gesture will be stored.\n\nBoth functions return the number of gestures successfully saved.\n\n\nLoading:\n--------\nTo load templates from a file, call SDL_LoadDollarTemplates(touchId,src) where touchId is the id of the touch to load to (or -1 to load to all touch devices), and src is an SDL_RWops pointer to a gesture save file. \n\nSDL_LoadDollarTemplates returns the number of templates successfully loaded.\n\n\n\n===========================================================================\nMulti Gestures\n===========================================================================\nSDL provides simple support for pinch/rotate/swipe gestures. \nEvery time a finger is moved an SDL_MULTIGESTURE event is sent with the following fields:\n\n* event.mgesture.touchId - the Id of the touch on which the gesture was performed.\n* event.mgesture.x       - the normalized x coordinate of the gesture. (0..1)\n* event.mgesture.y       - the normalized y coordinate of the gesture. (0..1)\n* event.mgesture.dTheta  - the amount that the fingers rotated during this motion.\n* event.mgesture.dDist   - the amount that the fingers pinched during this motion.\n* event.mgesture.numFingers - the number of fingers used in the gesture.\n\n\n===========================================================================\nNotes\n===========================================================================\nFor a complete example see test/testgesture.c\n\nPlease direct questions/comments to:\n   jim.tla+sdl_touch@gmail.com\n"
  },
  {
    "path": "external/SDL2-2.0.4/docs/README-hg.md",
    "content": "Mercurial\n=========\n\nThe latest development version of SDL is available via Mercurial.\nMercurial allows you to get up-to-the-minute fixes and enhancements;\nas a developer works on a source tree, you can use \"hg\" to mirror that\nsource tree instead of waiting for an official release. Please look\nat the Mercurial website ( http://mercurial.selenic.com/ ) for more\ninformation on using hg, where you can also download software for\nMac OS X, Windows, and Unix systems.\n\n    hg clone http://hg.libsdl.org/SDL\n\nIf you are building SDL with an IDE, you will need to copy the file\ninclude/SDL_config.h.default to include/SDL_config.h before building.\n\nIf you are building SDL via configure, you will need to run autogen.sh\nbefore running configure.\n\nThere is a web interface to the subversion repository at:\n\thttp://hg.libsdl.org/SDL/\n\nThere is an RSS feed available at that URL, for those that want to\ntrack commits in real time.\n\n"
  },
  {
    "path": "external/SDL2-2.0.4/docs/README-ios.md",
    "content": "iOS\n======\n\n==============================================================================\nBuilding the Simple DirectMedia Layer for iOS 5.1+\n==============================================================================\n\nRequirements: Mac OS X 10.8 or later and the iOS 7+ SDK.\n\nInstructions:\n1.  Open SDL.xcodeproj (located in Xcode-iOS/SDL) in Xcode.\n2.  Select your desired target, and hit build.\n\nThere are three build targets:\n- libSDL.a:\n\tBuild SDL as a statically linked library\n- testsdl:\n\tBuild a test program (there are known test failures which are fine)\n- Template:\n\tPackage a project template together with the SDL for iPhone static libraries and copies of the SDL headers.  The template includes proper references to the SDL library and headers, skeleton code for a basic SDL program, and placeholder graphics for the application icon and startup screen.\n\n\n==============================================================================\nBuild SDL for iOS from the command line\n==============================================================================\n\n1. cd (PATH WHERE THE SDL CODE IS)/build-scripts\n2. ./iosbuild.sh\n\nIf everything goes fine, you should see a build/ios directory, inside there's\ntwo directories \"lib\" and \"include\". \n\"include\" contains a copy of the SDL headers that you'll need for your project,\nmake sure to configure XCode to look for headers there.\n\"lib\" contains find two files, libSDL2.a and libSDL2main.a, you have to add both \nto your XCode project. These libraries contain three architectures in them,\narmv6 for legacy devices, armv7, and i386 (for the simulator).\nBy default, iosbuild.sh will autodetect the SDK version you have installed using \nxcodebuild -showsdks, and build for iOS >= 3.0, you can override this behaviour \nby setting the MIN_OS_VERSION variable, ie:\n\nMIN_OS_VERSION=4.2 ./iosbuild.sh\n\n==============================================================================\nUsing the Simple DirectMedia Layer for iOS\n==============================================================================\n\nFIXME: This needs to be updated for the latest methods\n\nHere is the easiest method:\n1.  Build the SDL library (libSDL2.a) and the iPhone SDL Application template.\n2.  Install the iPhone SDL Application template by copying it to one of Xcode's template directories.  I recommend creating a directory called \"SDL\" in \"/Developer/Platforms/iOS.platform/Developer/Library/Xcode/Project Templates/\" and placing it there.\n3.  Start a new project using the template.  The project should be immediately ready for use with SDL.\n\nHere is a more manual method:\n1.  Create a new iOS view based application.\n2.  Build the SDL static library (libSDL2.a) for iOS and include them in your project.  Xcode will ignore the library that is not currently of the correct architecture, hence your app will work both on iOS and in the iOS Simulator.\n3.  Include the SDL header files in your project.\n4.  Remove the ApplicationDelegate.h and ApplicationDelegate.m files -- SDL for iOS provides its own UIApplicationDelegate.  Remove MainWindow.xib -- SDL for iOS produces its user interface programmatically.\n5.  Delete the contents of main.m and program your app as a regular SDL program instead.  You may replace main.m with your own main.c, but you must tell Xcode not to use the project prefix file, as it includes Objective-C code.\n\n==============================================================================\nNotes -- Retina / High-DPI and window sizes\n==============================================================================\n\nWindow and display mode sizes in SDL are in \"screen coordinates\" (or \"points\",\nin Apple's terminology) rather than in pixels. On iOS this means that a window\ncreated on an iPhone 6 will have a size in screen coordinates of 375 x 667,\nrather than a size in pixels of 750 x 1334. All iOS apps are expected to\nsize their content based on screen coordinates / points rather than pixels,\nas this allows different iOS devices to have different pixel densities\n(Retina versus non-Retina screens, etc.) without apps caring too much.\n\nBy default SDL will not use the full pixel density of the screen on\nRetina/high-dpi capable devices. Use the SDL_WINDOW_ALLOW_HIGHDPI flag when\ncreating your window to enable high-dpi support.\n\nWhen high-dpi support is enabled, SDL_GetWindowSize and display mode sizes\nwill still be in \"screen coordinates\" rather than pixels, but the window will\nhave a much greater pixel density when the device supports it, and the\nSDL_GL_GetDrawableSize or SDL_GetRendererOutputSize functions (depending on\nwhether raw OpenGL or the SDL_Render API is used) can be queried to determine\nthe size in pixels of the drawable screen framebuffer.\n\nSome OpenGL ES functions such as glViewport expect sizes in pixels rather than\nsizes in screen coordinates. When doing 2D rendering with OpenGL ES, an\northographic projection matrix using the size in screen coordinates\n(SDL_GetWindowSize) can be used in order to display content at the same scale\nno matter whether a Retina device is used or not.\n\n==============================================================================\nNotes -- Application events\n==============================================================================\n\nOn iOS the application goes through a fixed life cycle and you will get\nnotifications of state changes via application events. When these events\nare delivered you must handle them in an event callback because the OS may\nnot give you any processing time after the events are delivered.\n\ne.g.\n\n    int HandleAppEvents(void *userdata, SDL_Event *event)\n    {\n        switch (event->type)\n        {\n        case SDL_APP_TERMINATING:\n            /* Terminate the app.\n               Shut everything down before returning from this function.\n            */\n            return 0;\n        case SDL_APP_LOWMEMORY:\n            /* You will get this when your app is paused and iOS wants more memory.\n               Release as much memory as possible.\n            */\n            return 0;\n        case SDL_APP_WILLENTERBACKGROUND:\n            /* Prepare your app to go into the background.  Stop loops, etc.\n               This gets called when the user hits the home button, or gets a call.\n            */\n            return 0;\n        case SDL_APP_DIDENTERBACKGROUND:\n            /* This will get called if the user accepted whatever sent your app to the background.\n               If the user got a phone call and canceled it, you'll instead get an SDL_APP_DIDENTERFOREGROUND event and restart your loops.\n               When you get this, you have 5 seconds to save all your state or the app will be terminated.\n               Your app is NOT active at this point.\n            */\n            return 0;\n        case SDL_APP_WILLENTERFOREGROUND:\n            /* This call happens when your app is coming back to the foreground.\n               Restore all your state here.\n            */\n            return 0;\n        case SDL_APP_DIDENTERFOREGROUND:\n            /* Restart your loops here.\n               Your app is interactive and getting CPU again.\n            */\n            return 0;\n        default:\n            /* No special processing, add it to the event queue */\n            return 1;\n        }\n    }\n    \n    int main(int argc, char *argv[])\n    {\n        SDL_SetEventFilter(HandleAppEvents, NULL);\n    \n        ... run your main loop\n    \n        return 0;\n    }\n\n    \n==============================================================================\nNotes -- Accelerometer as Joystick\n==============================================================================\n\nSDL for iPhone supports polling the built in accelerometer as a joystick device.  For an example on how to do this, see the accelerometer.c in the demos directory.\n\nThe main thing to note when using the accelerometer with SDL is that while the iPhone natively reports accelerometer as floating point values in units of g-force, SDL_JoystickGetAxis reports joystick values as signed integers.  Hence, in order to convert between the two, some clamping and scaling is necessary on the part of the iPhone SDL joystick driver.  To convert SDL_JoystickGetAxis reported values BACK to units of g-force, simply multiply the values by SDL_IPHONE_MAX_GFORCE / 0x7FFF.\n\n==============================================================================\nNotes -- OpenGL ES\n==============================================================================\n\nYour SDL application for iOS uses OpenGL ES for video by default.\n\nOpenGL ES for iOS supports several display pixel formats, such as RGBA8 and RGB565, which provide a 32 bit and 16 bit color buffer respectively. By default, the implementation uses RGB565, but you may use RGBA8 by setting each color component to 8 bits in SDL_GL_SetAttribute.\n\nIf your application doesn't use OpenGL's depth buffer, you may find significant performance improvement by setting SDL_GL_DEPTH_SIZE to 0.\n\nFinally, if your application completely redraws the screen each frame, you may find significant performance improvement by setting the attribute SDL_GL_RETAINED_BACKING to 0.\n\nOpenGL ES on iOS doesn't use the traditional system-framebuffer setup provided in other operating systems. Special care must be taken because of this:\n\n- The drawable Renderbuffer must be bound to the GL_RENDERBUFFER binding point when SDL_GL_SwapWindow is called.\n- The drawable Framebuffer Object must be bound while rendering to the screen and when SDL_GL_SwapWindow is called.\n- If multisample antialiasing (MSAA) is used and glReadPixels is used on the screen, the drawable framebuffer must be resolved to the MSAA resolve framebuffer (via glBlitFramebuffer or glResolveMultisampleFramebufferAPPLE), and the MSAA resolve framebuffer must be bound to the GL_READ_FRAMEBUFFER binding point, before glReadPixels is called.\n\nThe above objects can be obtained via SDL_GetWindowWMInfo (in SDL_syswm.h).\n\n==============================================================================\nNotes -- Keyboard\n==============================================================================\n\nThe SDL keyboard API has been extended to support on-screen keyboards:\n\nvoid SDL_StartTextInput()\n\t-- enables text events and reveals the onscreen keyboard.\n\nvoid SDL_StopTextInput()\n\t-- disables text events and hides the onscreen keyboard.\n\nSDL_bool SDL_IsTextInputActive()\n\t-- returns whether or not text events are enabled (and the onscreen keyboard is visible)\n\n\n==============================================================================\nNotes -- Reading and Writing files\n==============================================================================\n\nEach application installed on iPhone resides in a sandbox which includes its own Application Home directory.  Your application may not access files outside this directory.\n\nOnce your application is installed its directory tree looks like:\n\n    MySDLApp Home/\n        MySDLApp.app\n        Documents/\n        Library/\n            Preferences/\n        tmp/\n\nWhen your SDL based iPhone application starts up, it sets the working directory to the main bundle (MySDLApp Home/MySDLApp.app), where your application resources are stored.  You cannot write to this directory.  Instead, I advise you to write document files to \"../Documents/\" and preferences to \"../Library/Preferences\".  \n\nMore information on this subject is available here:\nhttp://developer.apple.com/library/ios/#documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/Introduction/Introduction.html\n\n==============================================================================\nNotes -- iPhone SDL limitations\n==============================================================================\n\nWindows:\n\tFull-size, single window applications only.  You cannot create multi-window SDL applications for iPhone OS.  The application window will fill the display, though you have the option of turning on or off the menu-bar (pass SDL_CreateWindow the flag SDL_WINDOW_BORDERLESS).\n\nTextures:\n\tThe optimal texture formats on iOS are SDL_PIXELFORMAT_ABGR8888, SDL_PIXELFORMAT_ABGR8888, SDL_PIXELFORMAT_BGR888, and SDL_PIXELFORMAT_RGB24 pixel formats.\n\nLoading Shared Objects:\n\tThis is disabled by default since it seems to break the terms of the iOS SDK agreement for iOS versions prior to iOS 8. It can be re-enabled in SDL_config_iphoneos.h.\n\n==============================================================================\nGame Center \n==============================================================================\n\nGame Center integration might require that you break up your main loop in order to yield control back to the system. In other words, instead of running an endless main loop, you run each frame in a callback function, using:\n\n    int SDL_iPhoneSetAnimationCallback(SDL_Window * window, int interval, void (*callback)(void*), void *callbackParam);\n\nThis will set up the given function to be called back on the animation callback, and then you have to return from main() to let the Cocoa event loop run.\n\ne.g.\n\n    extern \"C\"\n    void ShowFrame(void*)\n    {\n        ... do event handling, frame logic and rendering ...\n    }\n    \n    int main(int argc, char *argv[])\n    {\n        ... initialize game ...\n    \n    #if __IPHONEOS__\n        // Initialize the Game Center for scoring and matchmaking\n        InitGameCenter();\n    \n        // Set up the game to run in the window animation callback on iOS\n        // so that Game Center and so forth works correctly.\n        SDL_iPhoneSetAnimationCallback(window, 1, ShowFrame, NULL);\n    #else\n        while ( running ) {\n            ShowFrame(0);\n            DelayFrame();\n        }\n    #endif\n        return 0;\n    }\n"
  },
  {
    "path": "external/SDL2-2.0.4/docs/README-linux.md",
    "content": "Linux\n================================================================================\n\nBy default SDL will only link against glibc, the rest of the features will be\nenabled dynamically at runtime depending on the available features on the target\nsystem. So, for example if you built SDL with Xinerama support and the target\nsystem does not have the Xinerama libraries installed, it will be disabled\nat runtime, and you won't get a missing library error, at least with the \ndefault configuration parameters.\n\n\n================================================================================\nBuild Dependencies\n================================================================================\n    \nUbuntu 13.04, all available features enabled:\n\nsudo apt-get install build-essential mercurial make cmake autoconf automake \\\nlibtool libasound2-dev libpulse-dev libaudio-dev libx11-dev libxext-dev \\\nlibxrandr-dev libxcursor-dev libxi-dev libxinerama-dev libxxf86vm-dev \\\nlibxss-dev libgl1-mesa-dev libesd0-dev libdbus-1-dev libudev-dev \\\nlibgles1-mesa-dev libgles2-mesa-dev libegl1-mesa-dev libibus-1.0-dev\n\nUbuntu 14.04 can also add \"libwayland-dev libmirclient-dev libxkbcommon-dev\"\nto that command line for Wayland and Mir support.\n\nNOTES:\n- This includes all the audio targets except arts, because Ubuntu pulled the \n  artsc0-dev package, but in theory SDL still supports it.\n- DirectFB isn't included because the configure script (currently) fails to find\n  it at all. You can do \"sudo apt-get install libdirectfb-dev\" and fix the \n  configure script to include DirectFB support. Send patches.  :)\n\n\n================================================================================\nJoystick does not work\n================================================================================\n\nIf you compiled or are using a version of SDL with udev support (and you should!)\nthere's a few issues that may cause SDL to fail to detect your joystick. To\ndebug this, start by installing the evtest utility. On Ubuntu/Debian:\n\n    sudo apt-get install evtest\n    \nThen run:\n    \n    sudo evtest\n    \nYou'll hopefully see your joystick listed along with a name like \"/dev/input/eventXX\"\nNow run:\n    \n    cat /dev/input/event/XX\n\nIf you get a permission error, you need to set a udev rule to change the mode of\nyour device (see below)    \n    \nAlso, try:\n    \n    sudo udevadm info --query=all --name=input/eventXX\n    \nIf you see a line stating ID_INPUT_JOYSTICK=1, great, if you don't see it,\nyou need to set up an udev rule to force this variable.\n\nA combined rule for the Saitek Pro Flight Rudder Pedals to fix both issues looks \nlike:\n    \n   SUBSYSTEM==\"input\", ATTRS{idProduct}==\"0763\", ATTRS{idVendor}==\"06a3\", MODE=\"0666\", ENV{ID_INPUT_JOYSTICK}=\"1\"\n   SUBSYSTEM==\"input\", ATTRS{idProduct}==\"0764\", ATTRS{idVendor}==\"06a3\", MODE=\"0666\", ENV{ID_INPUT_JOYSTICK}=\"1\"\n   \nYou can set up similar rules for your device by changing the values listed in\nidProduct and idVendor. To obtain these values, try:\n    \n    sudo udevadm info -a --name=input/eventXX | grep idVendor\n    sudo udevadm info -a --name=input/eventXX | grep idProduct\n    \nIf multiple values come up for each of these, the one you want is the first one of each.    \n\nOn other systems which ship with an older udev (such as CentOS), you may need\nto set up a rule such as:\n    \n    SUBSYSTEM==\"input\", ENV{ID_CLASS}==\"joystick\", ENV{ID_INPUT_JOYSTICK}=\"1\"\n\n"
  },
  {
    "path": "external/SDL2-2.0.4/docs/README-macosx.md",
    "content": "Mac OS X\n==============================================================================\n\nThese instructions are for people using Apple's Mac OS X (pronounced\n\"ten\").\n\nFrom the developer's point of view, OS X is a sort of hybrid Mac and\nUnix system, and you have the option of using either traditional\ncommand line tools or Apple's IDE Xcode.\n\nTo build SDL using the command line, use the standard configure and make\nprocess:\n\n\t./configure\n\tmake\n\tsudo make install\n\nYou can also build SDL as a Universal library (a single binary for both\n32-bit and 64-bit Intel architectures), on Mac OS X 10.7 and newer, by using\nthe gcc-fat.sh script in build-scripts:\n\n    mkdir mybuild\n    cd mybuild\n    CC=$PWD/../build-scripts/gcc-fat.sh CXX=$PWD/../build-scripts/g++fat.sh ../configure\n\tmake\n\tsudo make install\n\nThis script builds SDL with 10.5 ABI compatibility on i386 and 10.6\nABI compatibility on x86_64 architectures.  For best compatibility you\nshould compile your application the same way.\n\nPlease note that building SDL requires at least Xcode 4.6 and the 10.7 SDK\n(even if you target back to 10.5 systems). PowerPC support for Mac OS X has\nbeen officially dropped as of SDL 2.0.2.\n\nTo use the library once it's built, you essential have two possibilities:\nuse the traditional autoconf/automake/make method, or use Xcode.\n\n==============================================================================\nCaveats for using SDL with Mac OS X\n==============================================================================\n\nSome things you have to be aware of when using SDL on Mac OS X:\n\n- If you register your own NSApplicationDelegate (using [NSApp setDelegate:]),\n  SDL will not register its own. This means that SDL will not terminate using\n  SDL_Quit if it receives a termination request, it will terminate like a \n  normal app, and it will not send a SDL_DROPFILE when you request to open a\n  file with the app. To solve these issues, put the following code in your \n  NSApplicationDelegate implementation:\n\n\n    - (NSApplicationTerminateReply)applicationShouldTerminate:(NSApplication *)sender\n    {\n        if (SDL_GetEventState(SDL_QUIT) == SDL_ENABLE) {\n            SDL_Event event;\n            event.type = SDL_QUIT;\n            SDL_PushEvent(&event);\n        }\n    \n        return NSTerminateCancel;\n    }\n    \n    - (BOOL)application:(NSApplication *)theApplication openFile:(NSString *)filename\n    {\n        if (SDL_GetEventState(SDL_DROPFILE) == SDL_ENABLE) {\n            SDL_Event event;\n            event.type = SDL_DROPFILE;\n            event.drop.file = SDL_strdup([filename UTF8String]);\n            return (SDL_PushEvent(&event) > 0);\n        }\n    \n        return NO;\n    }\n\n==============================================================================\nUsing the Simple DirectMedia Layer with a traditional Makefile\n==============================================================================\n\nAn existing autoconf/automake build system for your SDL app has good chances\nto work almost unchanged on OS X. However, to produce a \"real\" Mac OS X binary\nthat you can distribute to users, you need to put the generated binary into a\nso called \"bundle\", which basically is a fancy folder with a name like\n\"MyCoolGame.app\".\n\nTo get this build automatically, add something like the following rule to\nyour Makefile.am:\n\nbundle_contents = APP_NAME.app/Contents\nAPP_NAME_bundle: EXE_NAME\n\tmkdir -p $(bundle_contents)/MacOS\n\tmkdir -p $(bundle_contents)/Resources\n\techo \"APPL????\" > $(bundle_contents)/PkgInfo\n\t$(INSTALL_PROGRAM) $< $(bundle_contents)/MacOS/\n\nYou should replace EXE_NAME with the name of the executable. APP_NAME is what\nwill be visible to the user in the Finder. Usually it will be the same\nas EXE_NAME but capitalized. E.g. if EXE_NAME is \"testgame\" then APP_NAME \nusually is \"TestGame\". You might also want to use @PACKAGE@ to use the package\nname as specified in your configure.in file.\n\nIf your project builds more than one application, you will have to do a bit\nmore. For each of your target applications, you need a separate rule.\n\nIf you want the created bundles to be installed, you may want to add this\nrule to your Makefile.am:\n\ninstall-exec-hook: APP_NAME_bundle\n\trm -rf $(DESTDIR)$(prefix)/Applications/APP_NAME.app\n\tmkdir -p $(DESTDIR)$(prefix)/Applications/\n\tcp -r $< /$(DESTDIR)$(prefix)Applications/\n\nThis rule takes the Bundle created by the rule from step 3 and installs them\ninto $(DESTDIR)$(prefix)/Applications/.\n\nAgain, if you want to install multiple applications, you will have to augment\nthe make rule accordingly.\n\n\nBut beware! That is only part of the story! With the above, you end up with\na bare bone .app bundle, which is double clickable from the Finder. But\nthere are some more things you should do before shipping your product...\n\n1) The bundle right now probably is dynamically linked against SDL. That \n   means that when you copy it to another computer, *it will not run*,\n   unless you also install SDL on that other computer. A good solution\n   for this dilemma is to static link against SDL. On OS X, you can\n   achieve that by linking against the libraries listed by\n     sdl-config --static-libs\n   instead of those listed by\n     sdl-config --libs\n   Depending on how exactly SDL is integrated into your build systems, the\n   way to achieve that varies, so I won't describe it here in detail\n2) Add an 'Info.plist' to your application. That is a special XML file which\n   contains some meta-information about your application (like some copyright\n   information, the version of your app, the name of an optional icon file,\n   and other things). Part of that information is displayed by the Finder\n   when you click on the .app, or if you look at the \"Get Info\" window.\n   More information about Info.plist files can be found on Apple's homepage.\n\n\nAs a final remark, let me add that I use some of the techniques (and some\nvariations of them) in Exult and ScummVM; both are available in source on\nthe net, so feel free to take a peek at them for inspiration!\n\n\n==============================================================================\nUsing the Simple DirectMedia Layer with Xcode\n==============================================================================\n\nThese instructions are for using Apple's Xcode IDE to build SDL applications.\n\n- First steps\n\nThe first thing to do is to unpack the Xcode.tar.gz archive in the\ntop level SDL directory (where the Xcode.tar.gz archive resides).\nBecause Stuffit Expander will unpack the archive into a subdirectory,\nyou should unpack the archive manually from the command line:\n\tcd [path_to_SDL_source]\n\ttar zxf Xcode.tar.gz\nThis will create a new folder called Xcode, which you can browse\nnormally from the Finder.\n\n- Building the Framework\n\nThe SDL Library is packaged as a framework bundle, an organized\nrelocatable folder hierarchy of executable code, interface headers,\nand additional resources. For practical purposes, you can think of a \nframework as a more user and system-friendly shared library, whose library\nfile behaves more or less like a standard UNIX shared library.\n\nTo build the framework, simply open the framework project and build it. \nBy default, the framework bundle \"SDL.framework\" is installed in \n/Library/Frameworks. Therefore, the testers and project stationary expect\nit to be located there. However, it will function the same in any of the\nfollowing locations:\n\n    ~/Library/Frameworks\n    /Local/Library/Frameworks\n    /System/Library/Frameworks\n\n- Build Options\n    There are two \"Build Styles\" (See the \"Targets\" tab) for SDL.\n    \"Deployment\" should be used if you aren't tweaking the SDL library.\n    \"Development\" should be used to debug SDL apps or the library itself.\n\n- Building the Testers\n    Open the SDLTest project and build away!\n\n- Using the Project Stationary\n    Copy the stationary to the indicated folders to access it from\n    the \"New Project\" and \"Add target\" menus. What could be easier?\n\n- Setting up a new project by hand\n    Some of you won't want to use the Stationary so I'll give some tips:\n    * Create a new \"Cocoa Application\"\n    * Add src/main/macosx/SDLMain.m , .h and .nib to your project\n    * Remove \"main.c\" from your project\n    * Remove \"MainMenu.nib\" from your project\n    * Add \"$(HOME)/Library/Frameworks/SDL.framework/Headers\" to include path\n    * Add \"$(HOME)/Library/Frameworks\" to the frameworks search path\n    * Add \"-framework SDL -framework Foundation -framework AppKit\" to \"OTHER_LDFLAGS\"\n    * Set the \"Main Nib File\" under \"Application Settings\" to \"SDLMain.nib\"\n    * Add your files\n    * Clean and build\n\n- Building from command line\n    Use pbxbuild in the same directory as your .pbproj file\n\n- Running your app\n    You can send command line args to your app by either invoking it from\n    the command line (in *.app/Contents/MacOS) or by entering them in the\n    \"Executables\" panel of the target settings.\n    \n- Implementation Notes\n    Some things that may be of interest about how it all works...\n    * Working directory\n        As defined in the SDL_main.m file, the working directory of your SDL app\n        is by default set to its parent. You may wish to change this to better\n        suit your needs.\n    * You have a Cocoa App!\n        Your SDL app is essentially a Cocoa application. When your app\n        starts up and the libraries finish loading, a Cocoa procedure is called,\n        which sets up the working directory and calls your main() method.\n        You are free to modify your Cocoa app with generally no consequence \n        to SDL. You cannot, however, easily change the SDL window itself.\n        Functionality may be added in the future to help this.\n\n\nKnown bugs are listed in the file \"BUGS\"\n"
  },
  {
    "path": "external/SDL2-2.0.4/docs/README-nacl.md",
    "content": "Native Client\n================================================================================\n\nRequirements: \n\n* Native Client SDK (https://developer.chrome.com/native-client), \n  (tested with Pepper version 33 or higher).\n\nThe SDL backend for Chrome's Native Client has been tested only with the PNaCl\ntoolchain, which generates binaries designed to run on ARM and x86_32/64 \nplatforms. This does not mean it won't work with the other toolchains!\n\n================================================================================\nBuilding SDL for NaCl\n================================================================================\n\nSet up the right environment variables (see naclbuild.sh), then configure SDL with:\n\n    configure --host=pnacl --prefix some/install/destination\n    \nThen \"make\". \n\nAs an example of how to create a deployable app a Makefile project is provided \nin test/nacl/Makefile, which includes some monkey patching of the common.mk file \nprovided by NaCl, without which linking properly to SDL won't work (the search \npath can't be modified externally, so the linker won't find SDL's binaries unless \nyou dump them into the SDK path, which is inconvenient).\nAlso provided in test/nacl is the required support file, such as index.html, \nmanifest.json, etc.\nSDL apps for NaCl run on a worker thread using the ppapi_simple infrastructure.\nThis allows for blocking calls on all the relevant systems (OpenGL ES, filesystem),\nhiding the asynchronous nature of the browser behind the scenes...which is not the\nsame as making it disappear!\n\n\n================================================================================\nRunning tests\n================================================================================\n\nDue to the nature of NaCl programs, building and running SDL tests is not as\nstraightforward as one would hope. The script naclbuild.sh in build-scripts \nautomates the process and should serve as a guide for users of SDL trying to build \ntheir own applications.\n\nBasic usage:\n    \n    ./naclbuild.sh path/to/pepper/toolchain (i.e. ~/naclsdk/pepper_35)\n    \nThis will build testgles2.c by default.\n\nIf you want to build a different test, for example testrendercopyex.c:\n    \n    SOURCES=~/sdl/SDL/test/testrendercopyex.c ./naclbuild.sh ~/naclsdk/pepper_35\n    \nOnce the build finishes, you have to serve the contents with a web server (the\nscript will give you instructions on how to do that with Python).\n\n================================================================================\nRWops and nacl_io\n================================================================================\n\nSDL_RWops work transparently with nacl_io. Two functions control the mount points:\n    \n    int mount(const char* source, const char* target, \n                      const char* filesystemtype, \n                      unsigned long mountflags, const void *data);\n    int umount(const char *target);\n    \n    For convenience, SDL will by default mount an httpfs tree at / before calling \nthe app's main function. Such setting can be overridden by calling:\n    \n    umount(\"/\");\n\nAnd then mounting a different filesystem at /\n\nIt's important to consider that the asynchronous nature of file operations on a\nbrowser is hidden from the application, effectively providing the developer with\na set of blocking file operations just like you get in a regular desktop \nenvironment, which eases the job of porting to Native Client, but also introduces \na set of challenges of its own, in particular when big file sizes and slow \nconnections are involved.\n\nFor more information on how nacl_io and mount points work, see:\n    \n    https://developer.chrome.com/native-client/devguide/coding/nacl_io\n    https://src.chromium.org/chrome/trunk/src/native_client_sdk/src/libraries/nacl_io/nacl_io.h\n\nTo be able to save into the directory \"/save/\" (like backup of game) :\n\n    mount(\"\", \"/save\", \"html5fs\", 0, \"type=PERSISTENT\");\n\nAnd add to manifest.json :\n\n    \"permissions\": [\n        \"unlimitedStorage\"\n    ]\n\n================================================================================\nTODO - Known Issues\n================================================================================\n* Testing of all systems with a real application (something other than SDL's tests)\n* Key events don't seem to work properly\n\n"
  },
  {
    "path": "external/SDL2-2.0.4/docs/README-pandora.md",
    "content": "Pandora \n=====================================================================\n\n( http://openpandora.org/ )\n- A pandora specific video driver was written to allow SDL 2.0 with OpenGL ES\nsupport to work on the pandora under the framebuffer. This driver do not have\ninput support for now, so if you use it you will have to add your own control code.\nThe video driver name is \"pandora\" so if you have problem running it from\nthe framebuffer, try to set the following variable before starting your application :\n\"export SDL_VIDEODRIVER=pandora\"\n\n- OpenGL ES support was added to the x11 driver, so it's working like the normal\nx11 driver one with OpenGLX support, with SDL input event's etc..\n\n\nDavid Carré (Cpasjuste)\ncpasjuste@gmail.com\n"
  },
  {
    "path": "external/SDL2-2.0.4/docs/README-platforms.md",
    "content": "Platforms\n=========\n\nWe maintain the list of supported platforms on our wiki now, and how to\nbuild and install SDL for those platforms:\n\n    https://wiki.libsdl.org/Installation\n\n"
  },
  {
    "path": "external/SDL2-2.0.4/docs/README-porting.md",
    "content": "Porting\n=======\n\n* Porting To A New Platform\n\n  The first thing you have to do when porting to a new platform, is look at\ninclude/SDL_platform.h and create an entry there for your operating system.\nThe standard format is __PLATFORM__, where PLATFORM is the name of the OS.\nIdeally SDL_platform.h will be able to auto-detect the system it's building\non based on C preprocessor symbols.\n\nThere are two basic ways of building SDL at the moment:\n\n1. The \"UNIX\" way:  ./configure; make; make install\n\n   If you have a GNUish system, then you might try this.  Edit configure.in,\n   take a look at the large section labelled:\n\t\"Set up the configuration based on the host platform!\"\n   Add a section for your platform, and then re-run autogen.sh and build!\n\n2. Using an IDE:\n\n   If you're using an IDE or other non-configure build system, you'll probably\n   want to create a custom SDL_config.h for your platform.  Edit SDL_config.h,\n   add a section for your platform, and create a custom SDL_config_{platform}.h,\n   based on SDL_config.h.minimal and SDL_config.h.in\n\n   Add the top level include directory to the header search path, and then add\n   the following sources to the project:\n\tsrc/*.c\n\tsrc/atomic/*.c\n\tsrc/audio/*.c\n\tsrc/cpuinfo/*.c\n\tsrc/events/*.c\n\tsrc/file/*.c\n\tsrc/haptic/*.c\n\tsrc/joystick/*.c\n\tsrc/power/*.c\n\tsrc/render/*.c\n\tsrc/stdlib/*.c\n\tsrc/thread/*.c\n\tsrc/timer/*.c\n\tsrc/video/*.c\n\tsrc/audio/disk/*.c\n\tsrc/audio/dummy/*.c\n\tsrc/filesystem/dummy/*.c\n\tsrc/video/dummy/*.c\n\tsrc/haptic/dummy/*.c\n\tsrc/joystick/dummy/*.c\n\tsrc/main/dummy/*.c\n\tsrc/thread/generic/*.c\n\tsrc/timer/dummy/*.c\n\tsrc/loadso/dummy/*.c\n\n\nOnce you have a working library without any drivers, you can go back to each\nof the major subsystems and start implementing drivers for your platform.\n\nIf you have any questions, don't hesitate to ask on the SDL mailing list:\n\thttp://www.libsdl.org/mailing-list.php\n\nEnjoy!\n\tSam Lantinga\t\t\t\t(slouken@libsdl.org)\n\n"
  },
  {
    "path": "external/SDL2-2.0.4/docs/README-psp.md",
    "content": "PSP\n======\nSDL port for the Sony PSP contributed by \n   Captian Lex \n\nCredit to\n   Marcus R.Brown,Jim Paris,Matthew H for the original SDL 1.2 for PSP\n   Geecko for his PSP GU lib \"Glib2d\"\n\nBuilding\n--------\nTo build for the PSP, make sure psp-config is in the path and run:\n   make -f Makefile.psp\n\n\n\nTo Do\n------\nPSP Screen Keyboard\n"
  },
  {
    "path": "external/SDL2-2.0.4/docs/README-raspberrypi.md",
    "content": "Raspberry Pi\n================================================================================\n\nRequirements:\n\nRaspbian (other Linux distros may work as well).\n\n================================================================================\n Features\n================================================================================\n\n* Works without X11\n* Hardware accelerated OpenGL ES 2.x\n* Sound via ALSA\n* Input (mouse/keyboard/joystick) via EVDEV\n* Hotplugging of input devices via UDEV\n\n\n================================================================================\n Raspbian Build Dependencies\n================================================================================\n\nsudo apt-get install libudev-dev libasound2-dev libdbus-1-dev\n\nYou also need the VideoCore binary stuff that ships in /opt/vc for EGL and \nOpenGL ES 2.x, it usually comes pre installed, but in any case:\n    \nsudo apt-get install libraspberrypi0 libraspberrypi-bin libraspberrypi-dev\n\n================================================================================\n Cross compiling from x86 Linux\n================================================================================\n\nTo cross compile SDL for Raspbian from your desktop machine, you'll need a\nRaspbian system root and the cross compilation tools. We'll assume these tools\nwill be placed in /opt/rpi-tools\n\n    sudo git clone --depth 1 https://github.com/raspberrypi/tools /opt/rpi-tools\n\nYou'll also need a Rasbian binary image.\nGet it from: http://downloads.raspberrypi.org/raspbian_latest \nAfter unzipping, you'll get file with a name like: <date>-wheezy-raspbian.img\nLet's assume the sysroot will be built in /opt/rpi-sysroot.\n\n    export SYSROOT=/opt/rpi-sysroot\n    sudo kpartx -a -v <path_to_raspbian_image>.img\n    sudo mount -o loop /dev/mapper/loop0p2 /mnt\n    sudo cp -r /mnt $SYSROOT\n    sudo apt-get install qemu binfmt-support qemu-user-static\n    sudo cp /usr/bin/qemu-arm-static $SYSROOT/usr/bin\n    sudo mount --bind /dev $SYSROOT/dev\n    sudo mount --bind /proc $SYSROOT/proc\n    sudo mount --bind /sys $SYSROOT/sys\n\nNow, before chrooting into the ARM sysroot, you'll need to apply a workaround,\nedit $SYSROOT/etc/ld.so.preload and comment out all lines in it.\n\n    sudo chroot $SYSROOT\n    apt-get install libudev-dev libasound2-dev libdbus-1-dev libraspberrypi0 libraspberrypi-bin libraspberrypi-dev libx11-dev libxext-dev libxrandr-dev libxcursor-dev libxi-dev libxinerama-dev libxxf86vm-dev libxss-dev\n    exit\n    sudo umount $SYSROOT/dev\n    sudo umount $SYSROOT/proc\n    sudo umount $SYSROOT/sys\n    sudo umount /mnt\n    \nThere's one more fix required, as the libdl.so symlink uses an absolute path \nwhich doesn't quite work in our setup.\n\n    sudo rm -rf $SYSROOT/usr/lib/arm-linux-gnueabihf/libdl.so\n    sudo ln -s ../../../lib/arm-linux-gnueabihf/libdl.so.2 $SYSROOT/usr/lib/arm-linux-gnueabihf/libdl.so\n\nThe final step is compiling SDL itself.\n\n    export CC=\"/opt/rpi-tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-gcc --sysroot=$SYSROOT -I$SYSROOT/opt/vc/include -I$SYSROOT/usr/include -I$SYSROOT/opt/vc/include/interface/vcos/pthreads -I$SYSROOT/opt/vc/include/interface/vmcs_host/linux\"\n    cd <SDL SOURCE>\n    mkdir -p build;cd build\n    LDFLAGS=\"-L$SYSROOT/opt/vc/lib\" ../configure --with-sysroot=$SYSROOT --host=arm-raspberry-linux-gnueabihf --prefix=$PWD/rpi-sdl2-installed --disable-pulseaudio --disable-esd\n    make\n    make install\n\nTo be able to deploy this to /usr/local in the Raspbian system you need to fix up a few paths:\n    \n    perl -w -pi -e \"s#$PWD/rpi-sdl2-installed#/usr/local#g;\" ./rpi-sdl2-installed/lib/libSDL2.la ./rpi-sdl2-installed/lib/pkgconfig/sdl2.pc ./rpi-sdl2-installed/bin/sdl2-config\n    \n================================================================================\n Apps don't work or poor video/audio performance\n================================================================================\n\nIf you get sound problems, buffer underruns, etc, run \"sudo rpi-update\" to \nupdate the RPi's firmware. Note that doing so will fix these problems, but it\nwill also render the CMA - Dynamic Memory Split functionality useless.\n\nAlso, by default the Raspbian distro configures the GPU RAM at 64MB, this is too\nlow in general, specially if a 1080p TV is hooked up.\n\nSee here how to configure this setting: http://elinux.org/RPiconfig\n\nUsing a fixed gpu_mem=128 is the best option (specially if you updated the \nfirmware, using CMA probably won't work, at least it's the current case).\n\n================================================================================\n No input\n================================================================================\n\nMake sure you belong to the \"input\" group.\n\n    sudo usermod -aG input `whoami`\n\n================================================================================\n No HDMI Audio\n================================================================================\n\nIf you notice that ALSA works but there's no audio over HDMI, try adding:\n    \n    hdmi_drive=2\n    \nto your config.txt file and reboot.\n\nReference: http://www.raspberrypi.org/phpBB3/viewtopic.php?t=5062\n\n================================================================================\n Text Input API support\n================================================================================\n\nThe Text Input API is supported, with translation of scan codes done via the\nkernel symbol tables. For this to work, SDL needs access to a valid console.\nIf you notice there's no SDL_TEXTINPUT message being emitted, double check that\nyour app has read access to one of the following:\n    \n* /proc/self/fd/0\n* /dev/tty\n* /dev/tty[0...6]\n* /dev/vc/0\n* /dev/console\n\nThis is usually not a problem if you run from the physical terminal (as opposed\nto running from a pseudo terminal, such as via SSH). If running from a PTS, a \nquick workaround is to run your app as root or add yourself to the tty group,\nthen re login to the system.\n\n   sudo usermod -aG tty `whoami`\n    \nThe keyboard layout used by SDL is the same as the one the kernel uses.\nTo configure the layout on Raspbian:\n    \n    sudo dpkg-reconfigure keyboard-configuration\n    \nTo configure the locale, which controls which keys are interpreted as letters,\nthis determining the CAPS LOCK behavior:\n\n    sudo dpkg-reconfigure locales\n\n================================================================================\n OpenGL problems\n================================================================================\n\nIf you have desktop OpenGL headers installed at build time in your RPi or cross \ncompilation environment, support for it will be built in. However, the chipset \ndoes not actually have support for it, which causes issues in certain SDL apps \nsince the presence of OpenGL support supersedes the ES/ES2 variants.\nThe workaround is to disable OpenGL at configuration time:\n\n    ./configure --disable-video-opengl\n\nOr if the application uses the Render functions, you can use the SDL_RENDER_DRIVER\nenvironment variable:\n\n    export SDL_RENDER_DRIVER=opengles2\n\n================================================================================\n Notes\n================================================================================\n\n* When launching apps remotely (via SSH), SDL can prevent local keystrokes from\n  leaking into the console only if it has root privileges. Launching apps locally\n  does not suffer from this issue.\n  \n\n"
  },
  {
    "path": "external/SDL2-2.0.4/docs/README-touch.md",
    "content": "Touch\n===========================================================================\nSystem Specific Notes\n===========================================================================\nLinux:\nThe linux touch system is currently based off event streams, and proc/bus/devices. The active user must be given permissions to read /dev/input/TOUCHDEVICE, where TOUCHDEVICE is the event stream for your device. Currently only Wacom tablets are supported. If you have an unsupported tablet contact me at jim.tla+sdl_touch@gmail.com and I will help you get support for it.\n\nMac:\nThe Mac and iPhone APIs are pretty. If your touch device supports them then you'll be fine. If it doesn't, then there isn't much we can do.\n\niPhone: \nWorks out of box.\n\nWindows:\nUnfortunately there is no windows support as of yet. Support for Windows 7 is planned, but we currently have no way to test. If you have a Windows 7 WM_TOUCH supported device, and are willing to help test please contact me at jim.tla+sdl_touch@gmail.com\n\n===========================================================================\nEvents\n===========================================================================\nSDL_FINGERDOWN:\nSent when a finger (or stylus) is placed on a touch device.\nFields:\n* event.tfinger.touchId  - the Id of the touch device.\n* event.tfinger.fingerId - the Id of the finger which just went down.\n* event.tfinger.x        - the x coordinate of the touch (0..1)\n* event.tfinger.y        - the y coordinate of the touch (0..1)\n* event.tfinger.pressure - the pressure of the touch (0..1)\n\nSDL_FINGERMOTION:\nSent when a finger (or stylus) is moved on the touch device.\nFields:\nSame as SDL_FINGERDOWN but with additional:\n* event.tfinger.dx       - change in x coordinate during this motion event.\n* event.tfinger.dy       - change in y coordinate during this motion event.\n\nSDL_FINGERUP:\nSent when a finger (or stylus) is lifted from the touch device.\nFields:\nSame as SDL_FINGERDOWN.\n\n\n===========================================================================\nFunctions\n===========================================================================\nSDL provides the ability to access the underlying Finger structures.\nThese structures should _never_ be modified.\n\nThe following functions are included from SDL_touch.h\n\nTo get a SDL_TouchID call SDL_GetTouchDevice(index).\nThis returns a SDL_TouchID.\nIMPORTANT: If the touch has been removed, or there is no touch with the given ID, SDL_GetTouchID will return 0. Be sure to check for this!\n\nThe number of touch devices can be queried with SDL_GetNumTouchDevices().\n\nA SDL_TouchID may be used to get pointers to SDL_Finger.\n\nSDL_GetNumTouchFingers(touchID) may be used to get the number of fingers currently down on the device.\n\nThe most common reason to access SDL_Finger is to query the fingers outside the event. In most cases accessing the fingers is using the event. This would be accomplished by code like the following:\n\n      float x = event.tfinger.x;\n      float y = event.tfinger.y;\n\n\n\nTo get a SDL_Finger, call SDL_GetTouchFinger(touchID,index), where touchID is a SDL_TouchID, and index is the requested finger.\nThis returns a SDL_Finger*, or NULL if the finger does not exist, or has been removed.\nA SDL_Finger is guaranteed to be persistent for the duration of a touch, but it will be de-allocated as soon as the finger is removed. This occurs when the SDL_FINGERUP event is _added_ to the event queue, and thus _before_ the SDL_FINGERUP event is polled.\nAs a result, be very careful to check for NULL return values.\n\nA SDL_Finger has the following fields:\n* x,y,pressure:\n\tThe current coordinates of the touch.\n* pressure:\n\tThe pressure of the touch.\n\n\n===========================================================================\nNotes\n===========================================================================\nFor a complete example see test/testgesture.c\n\nPlease direct questions/comments to:\n   jim.tla+sdl_touch@gmail.com\n   (original author, API was changed since)\n"
  },
  {
    "path": "external/SDL2-2.0.4/docs/README-wince.md",
    "content": "WinCE\n=====\n\nWindows CE is no longer supported by SDL.\n\nWe have left the CE support in SDL 1.2 for those that must have it, and we\nhave support for Windows Phone 8 and WinRT in SDL2, as of SDL 2.0.3.\n\n--ryan.\n\n"
  },
  {
    "path": "external/SDL2-2.0.4/docs/README-windows.md",
    "content": "Windows\n================================================================================\n\n================================================================================\nOpenGL ES 2.x support\n================================================================================\n\nSDL has support for OpenGL ES 2.x under Windows via two alternative \nimplementations. \nThe most straightforward method consists in running your app in a system with \na graphic card paired with a relatively recent (as of November of 2013) driver \nwhich supports the WGL_EXT_create_context_es2_profile extension. Vendors known \nto ship said extension on Windows currently include nVidia and Intel.\n\nThe other method involves using the ANGLE library (https://code.google.com/p/angleproject/)\nIf an OpenGL ES 2.x context is requested and no WGL_EXT_create_context_es2_profile\nextension is found, SDL will try to load the libEGL.dll library provided by\nANGLE.\nTo obtain the ANGLE binaries, you can either compile from source from\nhttps://chromium.googlesource.com/angle/angle or copy the relevant binaries from\na recent Chrome/Chromium install for Windows. The files you need are:\n    \n    * libEGL.dll\n    * libGLESv2.dll\n    * d3dcompiler_46.dll (supports Windows Vista or later, better shader compiler)\n    or...\n    * d3dcompiler_43.dll (supports Windows XP or later)\n    \nIf you compile ANGLE from source, you can configure it so it does not need the\nd3dcompiler_* DLL at all (for details on this, see their documentation). \nHowever, by default SDL will try to preload the d3dcompiler_46.dll to\ncomply with ANGLE's requirements. If you wish SDL to preload d3dcompiler_43.dll (to\nsupport Windows XP) or to skip this step at all, you can use the \nSDL_HINT_VIDEO_WIN_D3DCOMPILER hint (see SDL_hints.h for more details).\n\nKnown Bugs:\n    \n    * SDL_GL_SetSwapInterval is currently a no op when using ANGLE. It appears\n      that there's a bug in the library which prevents the window contents from\n      refreshing if this is set to anything other than the default value.\n      \n"
  },
  {
    "path": "external/SDL2-2.0.4/docs/README-winrt.md",
    "content": "WinRT\n=====\n\nThis port allows SDL applications to run on Microsoft's platforms that require\nuse of \"Windows Runtime\", aka. \"WinRT\", APIs.  WinRT apps are currently\nfull-screen only, and run in what Microsoft sometimes refers to as their\n\"Modern\" (formerly, \"Metro\"), environment.  For Windows 8.x, Microsoft may also\nrefer to them as \"Windows Store\" apps, due to them being distributed,\nprimarily, via a Microsoft-run online store (of the same name).\n\nSome of the operating systems that include WinRT, are:\n\n* Windows 10, via its Universal Windows Platform (UWP) APIs\n* Windows 8.x\n* Windows RT 8.x (aka. Windows 8.x for ARM processors)\n* Windows Phone 8.x\n\n\nRequirements\n------------\n\n* Microsoft Visual C++ (aka Visual Studio), either 2015, 2013, or 2012\n  - Free, \"Community\" or \"Express\" editions may be used, so long as they\n    include  support for either \"Windows Store\" or \"Windows Phone\" apps.\n    \"Express\" versions marked as supporting \"Windows Desktop\" development\n    typically do not include support for creating WinRT apps, to note.\n    (The \"Community\" editions of Visual C++ do, however, support both\n    desktop/Win32 and WinRT development).\n  - Visual C++ 2012 can only build apps that target versions 8.0 of Windows,\n    or  Windows Phone.  8.0-targetted apps will run on devices running 8.1\n    editions of Windows, however they will not be able to take advantage of\n    8.1-specific features.\n  - Visual C++ 2013 cannot create app projects that target Windows 8.0.\n    Visual C++ 2013 Update 4, can create app projects for Windows Phone 8.0,\n    Windows Phone 8.1, and Windows 8.1, but not Windows 8.0.  An optional\n    Visual Studio add-in, \"Tools for Maintaining Store apps for Windows 8\",\n    allows Visual C++ 2013 to load and build Windows 8.0 projects that were\n    created with Visual C++ 2012, so long as Visual C++ 2012 is installed\n    on the same machine.  More details on targeting different versions of\n    Windows can found at the following web pages:\n      - [Develop apps by using Visual Studio 2013](http://msdn.microsoft.com/en-us/library/windows/apps/br211384.aspx)\n      - [To add the Tools for Maintaining Store apps for Windows 8](http://msdn.microsoft.com/en-us/library/windows/apps/dn263114.aspx#AddMaintenanceTools)\n* A valid Microsoft account - This requirement is not imposed by SDL, but\n  rather by Microsoft's Visual C++ toolchain.  This is required to launch or \n  debug apps.\n\n\nStatus\n------\n\nHere is a rough list of what works, and what doens't:\n\n* What works:\n  * compilation via Visual C++ 2012 through 2015\n  * compile-time platform detection for SDL programs.  The C/C++ #define,\n    `__WINRT__`, will be set to 1 (by SDL) when compiling for WinRT.\n  * GPU-accelerated 2D rendering, via SDL_Renderer.\n  * OpenGL ES 2, via the ANGLE library (included separately from SDL)\n  * software rendering, via either SDL_Surface (optionally in conjunction with\n    SDL_GetWindowSurface() and SDL_UpdateWindowSurface()) or via the\n    SDL_Renderer APIs\n  * threads\n  * timers (via SDL_GetTicks(), SDL_AddTimer(), SDL_GetPerformanceCounter(),\n    SDL_GetPerformanceFrequency(), etc.)\n  * file I/O via SDL_RWops\n  * mouse input  (unsupported on Windows Phone)\n  * audio, via a modified version of SDL's XAudio2 backend\n  * .DLL file loading.  Libraries *MUST* be packaged inside applications.  Loading\n    anything outside of the app is not supported.\n  * system path retrieval via SDL's filesystem APIs\n  * game controllers.  Support is provided via the SDL_Joystick and\n    SDL_GameController APIs, and is backed by Microsoft's XInput API.\n  * multi-touch input\n  * app events.  SDL_APP_WILLENTER* and SDL_APP_DIDENTER* events get sent out as\n    appropriate.\n  * window events\n  * using Direct3D 11.x APIs outside of SDL.  Non-XAML / Direct3D-only apps can\n    choose to render content directly via Direct3D, using SDL to manage the\n    internal WinRT window, as well as input and audio.  (Use\n    SDL_GetWindowWMInfo() to get the WinRT 'CoreWindow', and pass it into\n    IDXGIFactory2::CreateSwapChainForCoreWindow() as appropriate.)\n\n* What partially works:\n  * keyboard input.  Most of WinRT's documented virtual keys are supported, as\n    well as many keys with documented hardware scancodes.\n  * SDLmain.  WinRT uses a different signature for each app's main() function.\n    SDL-based apps that use this port must compile in SDL_winrt_main_NonXAML.cpp\n    (in `SDL\\src\\main\\winrt\\`) directly in order for their C-style main()\n    functions to be called.\n\n* What doesn't work:\n  * compilation with anything other than Visual C++\n  * programmatically-created custom cursors.  These don't appear to be supported\n    by WinRT.  Different OS-provided cursors can, however, be created via\n    SDL_CreateSystemCursor() (unsupported on Windows Phone)\n  * SDL_WarpMouseInWindow() or SDL_WarpMouseGlobal().  This are not currently\n    supported by WinRT itself.\n  * joysticks and game controllers that aren't supported by Microsoft's XInput\n    API.\n  * turning off VSync when rendering on Windows Phone.  Attempts to turn VSync\n    off on Windows Phone result either in Direct3D not drawing anything, or it\n    forcing VSync back on.  As such, SDL_RENDERER_PRESENTVSYNC will always get\n    turned-on on Windows Phone.  This limitation is not present in non-Phone\n    WinRT (such as Windows 8.x), where turning off VSync appears to work.\n  * probably anything else that's not listed as supported\n\n\n\nUpgrade Notes\n-------------\n\n#### SDL_GetPrefPath() usage when upgrading WinRT apps from SDL 2.0.3\n\nSDL 2.0.4 fixes two bugs found in the WinRT version of SDL_GetPrefPath().\nThe fixes may affect older, SDL 2.0.3-based apps' save data.  Please note\nthat these changes only apply to SDL-based WinRT apps, and not to apps for\nany other platform.\n\n1. SDL_GetPrefPath() would return an invalid path, one in which the path's\n   directory had not been created.  Attempts to create files there\n   (via fopen(), for example), would fail, unless that directory was\n   explicitly created beforehand.\n\n2. SDL_GetPrefPath(), for non-WinPhone-based apps, would return a path inside\n   a WinRT 'Roaming' folder, the contents of which get automatically\n   synchronized across multiple devices.  This process can occur while an\n   application runs, and can cause existing save-data to be overwritten\n   at unexpected times, with data from other devices.  (Windows Phone apps\n   written with SDL 2.0.3 did not utilize a Roaming folder, due to API\n   restrictions in Windows Phone 8.0).\n\n\nSDL_GetPrefPath(), starting with SDL 2.0.4, addresses these by:\n\n1. making sure that SDL_GetPrefPath() returns a directory in which data\n   can be written to immediately, without first needing to create directories.\n\n2. basing SDL_GetPrefPath() off of a different, non-Roaming folder, the\n   contents of which do not automatically get synchronized across devices\n   (and which require less work to use safely, in terms of data integrity).\n\nApps that wish to get their Roaming folder's path can do so either by using\nSDL_WinRTGetFSPathUTF8(), SDL_WinRTGetFSPathUNICODE() (which returns a\nUCS-2/wide-char string), or directly through the WinRT class,\nWindows.Storage.ApplicationData.\n\n\n\nSetup, High-Level Steps\n-----------------------\n\nThe steps for setting up a project for an SDL/WinRT app looks like the\nfollowing, at a high-level:\n\n1. create a new Visual C++ project using Microsoft's template for a,\n   \"Direct3D App\".\n2. remove most of the files from the project.\n3. make your app's project directly reference SDL/WinRT's own Visual C++\n   project file, via use of Visual C++'s \"References\" dialog.  This will setup\n   the linker, and will copy SDL's .dll files to your app's final output.\n4. adjust your app's build settings, at minimum, telling it where to find SDL's\n   header files.\n5. add a file that contains a WinRT-appropriate main function.\n6. add SDL-specific app code.\n7. build and run your app.\n\n\nSetup, Detailed Steps\n---------------------\n\n### 1. Create a new project ###\n\nCreate a new project using one of Visual C++'s templates for a plain, non-XAML,\n\"Direct3D App\" (XAML support for SDL/WinRT is not yet ready for use).  If you\ndon't see one of these templates, in Visual C++'s 'New Project' dialog, try\nusing the textbox titled, 'Search Installed Templates' to look for one.\n\n\n### 2. Remove unneeded files from the project ###\n\nIn the new project, delete any file that has one of the following extensions:\n\n- .cpp\n- .h\n- .hlsl\n\nWhen you are done, you should be left with a few files, each of which will be a\nnecessary part of your app's project.  These files will consist of:\n\n- an .appxmanifest file, which contains metadata on your WinRT app.  This is\n  similar to an Info.plist file on iOS, or an AndroidManifest.xml on Android.\n- a few .png files, one of which is a splash screen (displayed when your app\n  launches), others are app icons.\n- a .pfx file, used for code signing purposes.\n\n\n### 3. Add references to SDL's project files ###\n\nSDL/WinRT can be built in multiple variations, spanning across three different\nCPU architectures (x86, x64, and ARM) and two different configurations\n(Debug and Release).  WinRT and Visual C++ do not currently provide a means\nfor combining multiple variations of one library into a single file.\nFurthermore, it does not provide an easy means for copying pre-built .dll files\ninto your app's final output (via Post-Build steps, for example).  It does,\nhowever, provide a system whereby an app can reference the MSVC projects of\nlibraries such that, when the app is built:\n\n1. each library gets built for the appropriate CPU architecture(s) and WinRT\n   platform(s).\n2. each library's output, such as .dll files, get copied to the app's build \n   output.\n\nTo set this up for SDL/WinRT, you'll need to run through the following steps:\n\n1. open up the Solution Explorer inside Visual C++ (under the \"View\" menu, then\n   \"Solution Explorer\")\n2. right click on your app's solution.\n3. navigate to \"Add\", then to \"Existing Project...\"\n4. find SDL/WinRT's Visual C++ project file and open it.  Different project\n   files exist for different WinRT platforms.  All of them are in SDL's\n   source distribution, in the following directories:\n    * `VisualC-WinRT/UWP_VS2015/`        - for Windows 10 / UWP apps\n    * `VisualC-WinRT/WinPhone81_VS2013/` - for Windows Phone 8.1 apps\n    * `VisualC-WinRT/WinRT80_VS2012/`    - for Windows 8.0 apps\n    * `VisualC-WinRT/WinRT81_VS2013/`    - for Windows 8.1 apps\n5. once the project has been added, right-click on your app's project and\n   select, \"References...\"\n6. click on the button titled, \"Add New Reference...\"\n7. check the box next to SDL\n8. click OK to close the dialog\n9. SDL will now show up in the list of references.  Click OK to close that\n   dialog.\n\nYour project is now linked to SDL's project, insofar that when the app is\nbuilt, SDL will be built as well, with its build output getting included with\nyour app.\n\n\n### 4. Adjust Your App's Build Settings ###\n\nSome build settings need to be changed in your app's project.  This guide will\noutline the following:\n\n- making sure that the compiler knows where to find SDL's header files\n- **Optional for C++, but NECESSARY for compiling C code:** telling the\n  compiler not to use Microsoft's C++ extensions for WinRT development.\n- **Optional:** telling the compiler not generate errors due to missing\n  precompiled header files.\n\nTo change these settings:\n\n1. right-click on the project\n2. choose \"Properties\"\n3. in the drop-down box next to \"Configuration\", choose, \"All Configurations\"\n4. in the drop-down box next to \"Platform\", choose, \"All Platforms\"\n5. in the left-hand list, expand the \"C/C++\" section\n6. select \"General\"\n7. edit the \"Additional Include Directories\" setting, and add a path to SDL's\n   \"include\" directory\n8. **Optional: to enable compilation of C code:** change the setting for\n   \"Consume Windows Runtime Extension\" from \"Yes (/ZW)\" to \"No\".  If you're \n   working with a completely C++ based project, this step can usually be \n   omitted.\n9. **Optional: to disable precompiled headers (which can produce \n   'stdafx.h'-related build errors, if setup incorrectly:** in the left-hand \n   list, select \"Precompiled Headers\", then change the setting for \"Precompiled \n   Header\" from \"Use (/Yu)\" to \"Not Using Precompiled Headers\".\n10. close the dialog, saving settings, by clicking the \"OK\" button\n\n\n### 5. Add a WinRT-appropriate main function to the app. ###\n\nC/C++-based WinRT apps do contain a `main` function that the OS will invoke when \nthe app starts launching. The parameters of WinRT main functions are different \nthan those found on other platforms, Win32 included.  SDL/WinRT provides a \nplatform-appropriate main function that will perform these actions, setup key \nportions of the app, then invoke a classic, C/C++-style main function (that take \nin \"argc\" and \"argv\" parameters).  The code for this file is contained inside \nSDL's source distribution, under `src/main/winrt/SDL_winrt_main_NonXAML.cpp`.  \nYou'll need to add this file, or a copy of it, to your app's project, and make \nsure it gets compiled using a Microsoft-specific set of C++ extensions called \nC++/CX.\n\n**NOTE: C++/CX compilation is currently required in at least one file of your \napp's project.  This is to make sure that Visual C++'s linker builds a 'Windows \nMetadata' file (.winmd) for your app.  Not doing so can lead to build errors.**\n\nTo include `SDL_winrt_main_NonXAML.cpp`:\n\n1. right-click on your project (again, in Visual C++'s Solution Explorer), \n   navigate to \"Add\", then choose \"Existing Item...\".\n2. open `SDL_winrt_main_NonXAML.cpp`, which is found inside SDL's source \n   distribution, under `src/main/winrt/`.  Make sure that the open-file dialog \n   closes, either by double-clicking on the file, or single-clicking on it and \n   then clicking Add.\n3. right-click on the file (as listed in your project), then click on \n   \"Properties...\".\n4. in the drop-down box next to \"Configuration\", choose, \"All Configurations\"\n5. in the drop-down box next to \"Platform\", choose, \"All Platforms\"\n6. in the left-hand list, click on \"C/C++\"\n7. change the setting for \"Consume Windows Runtime Extension\" to \"Yes (/ZW)\".\n8. click the OK button.  This will close the dialog.\n\n\n### 6. Add app code and assets ###\n\nAt this point, you can add in SDL-specific source code.  Be sure to include a \nC-style main function (ie: `int main(int argc, char *argv[])`).  From there you \nshould be able to create a single `SDL_Window` (WinRT apps can only have one \nwindow, at present), as well as an `SDL_Renderer`.  Direct3D will be used to \ndraw content.  Events are received via SDL's usual event functions \n(`SDL_PollEvent`, etc.)  If you have a set of existing source files and assets, \nyou can start adding them to the project now.  If not, or if you would like to \nmake sure that you're setup correctly, some short and simple sample code is \nprovided below.\n\n\n#### 6.A. ... when creating a new app ####\n\nIf you are creating a new app (rather than porting an existing SDL-based app), \nor if you would just like a simple app to test SDL/WinRT with before trying to \nget existing code working, some working SDL/WinRT code is provided below.  To \nset this up:\n\n1. right click on your app's project\n2. select Add, then New Item.  An \"Add New Item\" dialog will show up.\n3. from the left-hand list, choose \"Visual C++\"\n4. from the middle/main list, choose \"C++ File (.cpp)\"\n5. near the bottom of the dialog, next to \"Name:\", type in a name for your \nsource file, such as, \"main.cpp\".\n6. click on the Add button.  This will close the dialog, add the new file to \nyour project, and open the file in Visual C++'s text editor.\n7. Copy and paste the following code into the new file, then save it.\n\n\n    #include <SDL.h>\n    \n    int main(int argc, char **argv)\n    {\n        SDL_DisplayMode mode;\n        SDL_Window * window = NULL;\n        SDL_Renderer * renderer = NULL;\n        SDL_Event evt;\n    \n        if (SDL_Init(SDL_INIT_VIDEO) != 0) {\n            return 1;\n        }\n    \n        if (SDL_GetCurrentDisplayMode(0, &mode) != 0) {\n            return 1;\n        }\n    \n        if (SDL_CreateWindowAndRenderer(mode.w, mode.h, SDL_WINDOW_FULLSCREEN, &window, &renderer) != 0) {\n            return 1;\n        }\n    \n        while (1) {\n            while (SDL_PollEvent(&evt)) {\n            }\n    \n            SDL_SetRenderDrawColor(renderer, 0, 255, 0, 255);\n            SDL_RenderClear(renderer);\n            SDL_RenderPresent(renderer);\n        }\n    }\n\n\n#### 6.B. Adding code and assets ####\n\nIf you have existing code and assets that you'd like to add, you should be able \nto add them now.  The process for adding a set of files is as such.\n\n1. right click on the app's project\n2. select Add, then click on \"New Item...\"\n3. open any source, header, or asset files as appropriate.  Support for C and \nC++ is available.\n\nDo note that WinRT only supports a subset of the APIs that are available to \nWin32-based apps.  Many portions of the Win32 API and the C runtime are not \navailable.\n\nA list of unsupported C APIs can be found at \n<http://msdn.microsoft.com/en-us/library/windows/apps/jj606124.aspx>\n\nGeneral information on using the C runtime in WinRT can be found at \n<https://msdn.microsoft.com/en-us/library/hh972425.aspx>\n\nA list of supported Win32 APIs for WinRT apps can be found at \n<http://msdn.microsoft.com/en-us/library/windows/apps/br205757.aspx>.  To note, \nthe list of supported Win32 APIs for Windows Phone 8.0 is different.  \nThat list can be found at \n<http://msdn.microsoft.com/en-us/library/windowsphone/develop/jj662956(v=vs.105).aspx>\n\n\n### 7. Build and run your app ###\n\nYour app project should now be setup, and you should be ready to build your app.  \nTo run it on the local machine, open the Debug menu and choose \"Start \nDebugging\".  This will build your app, then run your app full-screen.  To switch \nout of your app, press the Windows key.  Alternatively, you can choose to run \nyour app in a window.  To do this, before building and running your app, find \nthe drop-down menu in Visual C++'s toolbar that says, \"Local Machine\".  Expand \nthis by clicking on the arrow on the right side of the list, then click on \nSimulator.  Once you do that, any time you build and run the app, the app will \nlaunch in window, rather than full-screen.\n\n\n#### 7.A. Running apps on older, ARM-based, \"Windows RT\" devices ####\n\n**These instructions do not include Windows Phone, despite Windows Phone\ntypically running on ARM processors.**  They are specifically for devices\nthat use the \"Windows RT\" operating system, which was a modified version of\nWindows 8.x that ran primarily on ARM-based tablet computers.\n\nTo build and run the app on ARM-based, \"Windows RT\" devices, you'll need to:\n\n- install Microsoft's \"Remote Debugger\" on the device.  Visual C++ installs and \n  debugs ARM-based apps via IP networks.\n- change a few options on the development machine, both to make sure it builds \n  for ARM (rather than x86 or x64), and to make sure it knows how to find the \n  Windows RT device (on the network).\n\nMicrosoft's Remote Debugger can be found at \n<https://msdn.microsoft.com/en-us/library/hh441469.aspx>.  Please note \nthat separate versions of this debugger exist for different versions of Visual \nC++, one each for MSVC 2015, 2013, and 2012.\n\nTo setup Visual C++ to launch your app on an ARM device:\n\n1. make sure the Remote Debugger is running on your ARM device, and that it's on \n   the same IP network as your development machine.\n2. from Visual C++'s toolbar, find a drop-down menu that says, \"Win32\".  Click \n   it, then change the value to \"ARM\".\n3. make sure Visual C++ knows the hostname or IP address of the ARM device.  To \n   do this:\n    1. open the app project's properties\n    2. select \"Debugging\"\n    3. next to \"Machine Name\", enter the hostname or IP address of the ARM \n       device\n    4. if, and only if, you've turned off authentication in the Remote Debugger,\n       then change the setting for \"Require Authentication\" to No\n    5. click \"OK\"\n4. build and run the app (from Visual C++).  The first time you do this, a \n   prompt will show up on the ARM device, asking for a Microsoft Account.  You \n   do, unfortunately, need to log in here, and will need to follow the \n   subsequent registration steps in order to launch the app.  After you do so, \n   if the app didn't already launch, try relaunching it again from within Visual \n   C++.\n\n\nTroubleshooting\n---------------\n\n#### Build fails with message, \"error LNK2038: mismatch detected for 'vccorlib_lib_should_be_specified_before_msvcrt_lib_to_linker'\"\n\nTry adding the following to your linker flags.  In MSVC, this can be done by\nright-clicking on the app project, navigating to Configuration Properties ->\nLinker -> Command Line, then adding them to the Additional Options\nsection.\n\n* For Release builds / MSVC-Configurations, add:\n\n    /nodefaultlib:vccorlib /nodefaultlib:msvcrt vccorlib.lib msvcrt.lib\n\n* For Debug builds / MSVC-Configurations, add:\n\n    /nodefaultlib:vccorlibd /nodefaultlib:msvcrtd vccorlibd.lib msvcrtd.lib\n\n"
  },
  {
    "path": "external/SDL2-2.0.4/docs/README.md",
    "content": "Simple DirectMedia Layer {#mainpage}\n========================\n\n                                  (SDL)\n\n                                Version 2.0\n\n---\nhttp://www.libsdl.org/\n\nSimple DirectMedia Layer is a cross-platform development library designed\nto provide low level access to audio, keyboard, mouse, joystick, and graphics\nhardware via OpenGL and Direct3D. It is used by video playback software,\nemulators, and popular games including Valve's award winning catalog\nand many Humble Bundle games.\n\nSDL officially supports Windows, Mac OS X, Linux, iOS, and Android.\nSupport for other platforms may be found in the source code.\n\nSDL is written in C, works natively with C++, and there are bindings \navailable for several other languages, including C# and Python.\n\nThis library is distributed under the zlib license, which can be found\nin the file \"COPYING.txt\".\n\nThe best way to learn how to use SDL is to check out the header files in\nthe \"include\" subdirectory and the programs in the \"test\" subdirectory.\nThe header files and test programs are well commented and always up to date.\n\nMore documentation and FAQs are available online at [the wiki](http://wiki.libsdl.org/)\n\n- [Android](README-android.md)\n- [CMake](README-cmake.md)\n- [DirectFB](README-directfb.md)\n- [DynAPI](README-dynapi.md)\n- [Emscripten](README-emscripten.md)\n- [Gesture](README-gesture.md)\n- [Mercurial](README-hg.md)\n- [iOS](README-ios.md)\n- [Linux](README-linux.md)\n- [OS X](README-macosx.md)\n- [Native Client](README-nacl.md)\n- [Pandora](README-pandora.md)\n- [Supported Platforms](README-platforms.md)\n- [Porting information](README-porting.md)\n- [PSP](README-psp.md)\n- [Raspberry Pi](README-raspberrypi.md)\n- [Touch](README-touch.md)\n- [WinCE](README-wince.md)\n- [Windows](README-windows.md)\n- [WinRT](README-winrt.md)\n\nIf you need help with the library, or just want to discuss SDL related\nissues, you can join the [developers mailing list](http://www.libsdl.org/mailing-list.php)\n\nIf you want to report bugs or contribute patches, please submit them to\n[bugzilla](http://bugzilla.libsdl.org/)\n\nEnjoy!\n\n\nSam Lantinga <mailto:slouken@libsdl.org>\n\n"
  },
  {
    "path": "external/SDL2-2.0.4/docs/doxyfile",
    "content": "# Doxyfile 1.5.9\n\n# This file describes the settings to be used by the documentation system\n# doxygen (www.doxygen.org) for a project\n#\n# All text after a hash (#) is considered a comment and will be ignored\n# The format is:\n#       TAG = value [value, ...]\n# For lists items can also be appended using:\n#       TAG += value [value, ...]\n# Values that contain spaces should be placed between quotes (\" \")\n\n#---------------------------------------------------------------------------\n# Project related configuration options\n#---------------------------------------------------------------------------\n\n# This tag specifies the encoding used for all characters in the config file \n# that follow. The default is UTF-8 which is also the encoding used for all \n# text before the first occurrence of this tag. Doxygen uses libiconv (or the \n# iconv built into libc) for the transcoding. See \n# http://www.gnu.org/software/libiconv for the list of possible encodings.\n\nDOXYFILE_ENCODING      = UTF-8\n\n# The PROJECT_NAME tag is a single word (or a sequence of words surrounded \n# by quotes) that should identify the project.\n\nPROJECT_NAME           = SDL\n\n# The PROJECT_NUMBER tag can be used to enter a project or revision number. \n# This could be handy for archiving the generated documentation or \n# if some version control system is used.\n\nPROJECT_NUMBER         = 2.0\n\n# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) \n# base path where the generated documentation will be put. \n# If a relative path is entered, it will be relative to the location \n# where doxygen was started. If left blank the current directory will be used.\n\nOUTPUT_DIRECTORY       = ./output\n\n# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create \n# 4096 sub-directories (in 2 levels) under the output directory of each output \n# format and will distribute the generated files over these directories. \n# Enabling this option can be useful when feeding doxygen a huge amount of \n# source files, where putting all generated files in the same directory would \n# otherwise cause performance problems for the file system.\n\nCREATE_SUBDIRS         = YES\n\n# The OUTPUT_LANGUAGE tag is used to specify the language in which all \n# documentation generated by doxygen is written. Doxygen will use this \n# information to generate all constant output in the proper language. \n# The default language is English, other supported languages are: \n# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, \n# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German, \n# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English \n# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, \n# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak, \n# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese.\n\nOUTPUT_LANGUAGE        = English\n\n# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will \n# include brief member descriptions after the members that are listed in \n# the file and class documentation (similar to JavaDoc). \n# Set to NO to disable this.\n\nBRIEF_MEMBER_DESC      = YES\n\n# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend \n# the brief description of a member or function before the detailed description. \n# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the \n# brief descriptions will be completely suppressed.\n\nREPEAT_BRIEF           = YES\n\n# This tag implements a quasi-intelligent brief description abbreviator \n# that is used to form the text in various listings. Each string \n# in this list, if found as the leading text of the brief description, will be \n# stripped from the text and the result after processing the whole list, is \n# used as the annotated text. Otherwise, the brief description is used as-is. \n# If left blank, the following values are used (\"$name\" is automatically \n# replaced with the name of the entity): \"The $name class\" \"The $name widget\" \n# \"The $name file\" \"is\" \"provides\" \"specifies\" \"contains\" \n# \"represents\" \"a\" \"an\" \"the\"\n\nABBREVIATE_BRIEF       = \"The $name class\" \\\n                         \"The $name widget\" \\\n                         \"The $name file\" \\\n                         is \\\n                         provides \\\n                         specifies \\\n                         contains \\\n                         represents \\\n                         a \\\n                         an \\\n                         the\n\n# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then \n# Doxygen will generate a detailed section even if there is only a brief \n# description.\n\nALWAYS_DETAILED_SEC    = YES\n\n# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all \n# inherited members of a class in the documentation of that class as if those \n# members were ordinary class members. Constructors, destructors and assignment \n# operators of the base classes will not be shown.\n\nINLINE_INHERITED_MEMB  = NO\n\n# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full \n# path before files name in the file list and in the header files. If set \n# to NO the shortest path that makes the file name unique will be used.\n\nFULL_PATH_NAMES        = YES\n\n# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag \n# can be used to strip a user-defined part of the path. Stripping is \n# only done if one of the specified strings matches the left-hand part of \n# the path. The tag can be used to show relative paths in the file list. \n# If left blank the directory from which doxygen is run is used as the \n# path to strip.\n\nSTRIP_FROM_PATH        =\n\n# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of \n# the path mentioned in the documentation of a class, which tells \n# the reader which header file to include in order to use a class. \n# If left blank only the name of the header file containing the class \n# definition is used. Otherwise one should specify the include paths that \n# are normally passed to the compiler using the -I flag.\n\nSTRIP_FROM_INC_PATH    = \n\n# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter \n# (but less readable) file names. This can be useful is your file systems \n# doesn't support long names like on DOS, Mac, or CD-ROM.\n\nSHORT_NAMES            = NO\n\n# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen \n# will interpret the first line (until the first dot) of a JavaDoc-style \n# comment as the brief description. If set to NO, the JavaDoc \n# comments will behave just like regular Qt-style comments \n# (thus requiring an explicit @brief command for a brief description.)\n\nJAVADOC_AUTOBRIEF      = NO\n\n# If the QT_AUTOBRIEF tag is set to YES then Doxygen will \n# interpret the first line (until the first dot) of a Qt-style \n# comment as the brief description. If set to NO, the comments \n# will behave just like regular Qt-style comments (thus requiring \n# an explicit \\brief command for a brief description.)\n\nQT_AUTOBRIEF           = NO\n\n# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen \n# treat a multi-line C++ special comment block (i.e. a block of //! or /// \n# comments) as a brief description. This used to be the default behaviour. \n# The new default is to treat a multi-line C++ comment block as a detailed \n# description. Set this tag to YES if you prefer the old behaviour instead.\n\nMULTILINE_CPP_IS_BRIEF = NO\n\n# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented \n# member inherits the documentation from any documented member that it \n# re-implements.\n\nINHERIT_DOCS           = YES\n\n# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce \n# a new page for each member. If set to NO, the documentation of a member will \n# be part of the file/class/namespace that contains it.\n\nSEPARATE_MEMBER_PAGES  = NO\n\n# The TAB_SIZE tag can be used to set the number of spaces in a tab. \n# Doxygen uses this value to replace tabs by spaces in code fragments.\n\nTAB_SIZE               = 8\n\n# This tag can be used to specify a number of aliases that acts \n# as commands in the documentation. An alias has the form \"name=value\". \n# For example adding \"sideeffect=\\par Side Effects:\\n\" will allow you to \n# put the command \\sideeffect (or @sideeffect) in the documentation, which \n# will result in a user-defined paragraph with heading \"Side Effects:\". \n# You can put \\n's in the value part of an alias to insert newlines.\n\nALIASES                = \"defined=\\\"\\def\\\"\" \\\n                         \"discussion=\\\"\\par Discussion:\\n\\\"\"\n\n# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C \n# sources only. Doxygen will then generate output that is more tailored for C. \n# For instance, some of the names that are used will be different. The list \n# of all members will be omitted, etc.\n\nOPTIMIZE_OUTPUT_FOR_C  = YES\n\n# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java \n# sources only. Doxygen will then generate output that is more tailored for \n# Java. For instance, namespaces will be presented as packages, qualified \n# scopes will look different, etc.\n\nOPTIMIZE_OUTPUT_JAVA   = NO\n\n# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran \n# sources only. Doxygen will then generate output that is more tailored for \n# Fortran.\n\nOPTIMIZE_FOR_FORTRAN   = NO\n\n# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL \n# sources. Doxygen will then generate output that is tailored for \n# VHDL.\n\nOPTIMIZE_OUTPUT_VHDL   = NO\n\n# Doxygen selects the parser to use depending on the extension of the files it parses. \n# With this tag you can assign which parser to use for a given extension. \n# Doxygen has a built-in mapping, but you can override or extend it using this tag. \n# The format is ext=language, where ext is a file extension, and language is one of \n# the parsers supported by doxygen: IDL, Java, Javascript, C#, C, C++, D, PHP, \n# Objective-C, Python, Fortran, VHDL, C, C++. For instance to make doxygen treat \n# .inc files as Fortran files (default is PHP), and .f files as C (default is Fortran), \n# use: inc=Fortran f=C. Note that for custom extensions you also need to set\n# FILE_PATTERNS otherwise the files are not read by doxygen.\n\nEXTENSION_MAPPING      = \n\n# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want \n# to include (a tag file for) the STL sources as input, then you should \n# set this tag to YES in order to let doxygen match functions declarations and \n# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. \n# func(std::string) {}). This also make the inheritance and collaboration \n# diagrams that involve STL classes more complete and accurate.\n\nBUILTIN_STL_SUPPORT    = YES\n\n# If you use Microsoft's C++/CLI language, you should set this option to YES to \n# enable parsing support.\n\nCPP_CLI_SUPPORT        = NO\n\n# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. \n# Doxygen will parse them like normal C++ but will assume all classes use public \n# instead of private inheritance when no explicit protection keyword is present.\n\nSIP_SUPPORT            = NO\n\n# For Microsoft's IDL there are propget and propput attributes to indicate getter \n# and setter methods for a property. Setting this option to YES (the default) \n# will make doxygen to replace the get and set methods by a property in the \n# documentation. This will only work if the methods are indeed getting or \n# setting a simple type. If this is not the case, or you want to show the \n# methods anyway, you should set this option to NO.\n\nIDL_PROPERTY_SUPPORT   = YES\n\n# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC \n# tag is set to YES, then doxygen will reuse the documentation of the first \n# member in the group (if any) for the other members of the group. By default \n# all members of a group must be documented explicitly.\n\nDISTRIBUTE_GROUP_DOC   = NO\n\n# Set the SUBGROUPING tag to YES (the default) to allow class member groups of \n# the same type (for instance a group of public functions) to be put as a \n# subgroup of that type (e.g. under the Public Functions section). Set it to \n# NO to prevent subgrouping. Alternatively, this can be done per class using \n# the \\nosubgrouping command.\n\nSUBGROUPING            = YES\n\n# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum \n# is documented as struct, union, or enum with the name of the typedef. So \n# typedef struct TypeS {} TypeT, will appear in the documentation as a struct \n# with name TypeT. When disabled the typedef will appear as a member of a file, \n# namespace, or class. And the struct will be named TypeS. This can typically \n# be useful for C code in case the coding convention dictates that all compound \n# types are typedef'ed and only the typedef is referenced, never the tag name.\n\nTYPEDEF_HIDES_STRUCT   = YES\n\n# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to \n# determine which symbols to keep in memory and which to flush to disk. \n# When the cache is full, less often used symbols will be written to disk. \n# For small to medium size projects (<1000 input files) the default value is \n# probably good enough. For larger projects a too small cache size can cause \n# doxygen to be busy swapping symbols to and from disk most of the time \n# causing a significant performance penality. \n# If the system has enough physical memory increasing the cache will improve the \n# performance by keeping more symbols in memory. Note that the value works on \n# a logarithmic scale so increasing the size by one will rougly double the \n# memory usage. The cache size is given by this formula: \n# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, \n# corresponding to a cache size of 2^16 = 65536 symbols\n\nSYMBOL_CACHE_SIZE      = 0\n\n#---------------------------------------------------------------------------\n# Build related configuration options\n#---------------------------------------------------------------------------\n\n# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in \n# documentation are documented, even if no documentation was available. \n# Private class members and static file members will be hidden unless \n# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES\n\nEXTRACT_ALL            = YES\n\n# If the EXTRACT_PRIVATE tag is set to YES all private members of a class \n# will be included in the documentation.\n\nEXTRACT_PRIVATE        = YES\n\n# If the EXTRACT_STATIC tag is set to YES all static members of a file \n# will be included in the documentation.\n\nEXTRACT_STATIC         = YES\n\n# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) \n# defined locally in source files will be included in the documentation. \n# If set to NO only classes defined in header files are included.\n\nEXTRACT_LOCAL_CLASSES  = YES\n\n# This flag is only useful for Objective-C code. When set to YES local \n# methods, which are defined in the implementation section but not in \n# the interface are included in the documentation. \n# If set to NO (the default) only methods in the interface are included.\n\nEXTRACT_LOCAL_METHODS  = YES\n\n# If this flag is set to YES, the members of anonymous namespaces will be \n# extracted and appear in the documentation as a namespace called \n# 'anonymous_namespace{file}', where file will be replaced with the base \n# name of the file that contains the anonymous namespace. By default \n# anonymous namespace are hidden.\n\nEXTRACT_ANON_NSPACES   = YES\n\n# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all \n# undocumented members of documented classes, files or namespaces. \n# If set to NO (the default) these members will be included in the \n# various overviews, but no documentation section is generated. \n# This option has no effect if EXTRACT_ALL is enabled.\n\nHIDE_UNDOC_MEMBERS     = NO\n\n# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all \n# undocumented classes that are normally visible in the class hierarchy. \n# If set to NO (the default) these classes will be included in the various \n# overviews. This option has no effect if EXTRACT_ALL is enabled.\n\nHIDE_UNDOC_CLASSES     = NO\n\n# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all \n# friend (class|struct|union) declarations. \n# If set to NO (the default) these declarations will be included in the \n# documentation.\n\nHIDE_FRIEND_COMPOUNDS  = NO\n\n# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any \n# documentation blocks found inside the body of a function. \n# If set to NO (the default) these blocks will be appended to the \n# function's detailed documentation block.\n\nHIDE_IN_BODY_DOCS      = NO\n\n# The INTERNAL_DOCS tag determines if documentation \n# that is typed after a \\internal command is included. If the tag is set \n# to NO (the default) then the documentation will be excluded. \n# Set it to YES to include the internal documentation.\n\nINTERNAL_DOCS          = YES\n\n# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate \n# file names in lower-case letters. If set to YES upper-case letters are also \n# allowed. This is useful if you have classes or files whose names only differ \n# in case and if your file system supports case sensitive file names. Windows \n# and Mac users are advised to set this option to NO.\n\nCASE_SENSE_NAMES       = NO\n\n# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen \n# will show members with their full class and namespace scopes in the \n# documentation. If set to YES the scope will be hidden.\n\nHIDE_SCOPE_NAMES       = NO\n\n# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen \n# will put a list of the files that are included by a file in the documentation \n# of that file.\n\nSHOW_INCLUDE_FILES     = YES\n\n# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] \n# is inserted in the documentation for inline members.\n\nINLINE_INFO            = YES\n\n# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen \n# will sort the (detailed) documentation of file and class members \n# alphabetically by member name. If set to NO the members will appear in \n# declaration order.\n\nSORT_MEMBER_DOCS       = YES\n\n# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the \n# brief documentation of file, namespace and class members alphabetically \n# by member name. If set to NO (the default) the members will appear in \n# declaration order.\n\nSORT_BRIEF_DOCS        = NO\n\n# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the \n# hierarchy of group names into alphabetical order. If set to NO (the default) \n# the group names will appear in their defined order.\n\nSORT_GROUP_NAMES       = NO\n\n# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be \n# sorted by fully-qualified names, including namespaces. If set to \n# NO (the default), the class list will be sorted only by class name, \n# not including the namespace part. \n# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. \n# Note: This option applies only to the class list, not to the \n# alphabetical list.\n\nSORT_BY_SCOPE_NAME     = NO\n\n# The GENERATE_TODOLIST tag can be used to enable (YES) or \n# disable (NO) the todo list. This list is created by putting \\todo \n# commands in the documentation.\n\nGENERATE_TODOLIST      = YES\n\n# The GENERATE_TESTLIST tag can be used to enable (YES) or \n# disable (NO) the test list. This list is created by putting \\test \n# commands in the documentation.\n\nGENERATE_TESTLIST      = YES\n\n# The GENERATE_BUGLIST tag can be used to enable (YES) or \n# disable (NO) the bug list. This list is created by putting \\bug \n# commands in the documentation.\n\nGENERATE_BUGLIST       = YES\n\n# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or \n# disable (NO) the deprecated list. This list is created by putting \n# \\deprecated commands in the documentation.\n\nGENERATE_DEPRECATEDLIST= YES\n\n# The ENABLED_SECTIONS tag can be used to enable conditional \n# documentation sections, marked by \\if sectionname ... \\endif.\n\nENABLED_SECTIONS       = \n\n# The MAX_INITIALIZER_LINES tag determines the maximum number of lines \n# the initial value of a variable or define consists of for it to appear in \n# the documentation. If the initializer consists of more lines than specified \n# here it will be hidden. Use a value of 0 to hide initializers completely. \n# The appearance of the initializer of individual variables and defines in the \n# documentation can be controlled using \\showinitializer or \\hideinitializer \n# command in the documentation regardless of this setting.\n\nMAX_INITIALIZER_LINES  = 30\n\n# If the sources in your project are distributed over multiple directories \n# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy \n# in the documentation. The default is NO.\n\nSHOW_DIRECTORIES       = YES\n\n# Set the SHOW_FILES tag to NO to disable the generation of the Files page. \n# This will remove the Files entry from the Quick Index and from the \n# Folder Tree View (if specified). The default is YES.\n\nSHOW_FILES             = YES\n\n# Set the SHOW_NAMESPACES tag to NO to disable the generation of the \n# Namespaces page.  This will remove the Namespaces entry from the Quick Index \n# and from the Folder Tree View (if specified). The default is YES.\n\nSHOW_NAMESPACES        = YES\n\n# The FILE_VERSION_FILTER tag can be used to specify a program or script that \n# doxygen should invoke to get the current version for each file (typically from \n# the version control system). Doxygen will invoke the program by executing (via \n# popen()) the command <command> <input-file>, where <command> is the value of \n# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file \n# provided by doxygen. Whatever the program writes to standard output \n# is used as the file version. See the manual for examples.\n\nFILE_VERSION_FILTER    = \n\n# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed by \n# doxygen. The layout file controls the global structure of the generated output files \n# in an output format independent way. The create the layout file that represents \n# doxygen's defaults, run doxygen with the -l option. You can optionally specify a \n# file name after the option, if omitted DoxygenLayout.xml will be used as the name \n# of the layout file.\n\nLAYOUT_FILE            = \n\n#---------------------------------------------------------------------------\n# configuration options related to warning and progress messages\n#---------------------------------------------------------------------------\n\n# The QUIET tag can be used to turn on/off the messages that are generated \n# by doxygen. Possible values are YES and NO. If left blank NO is used.\n\nQUIET                  = NO\n\n# The WARNINGS tag can be used to turn on/off the warning messages that are \n# generated by doxygen. Possible values are YES and NO. If left blank \n# NO is used.\n\nWARNINGS               = YES\n\n# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings \n# for undocumented members. If EXTRACT_ALL is set to YES then this flag will \n# automatically be disabled.\n\nWARN_IF_UNDOCUMENTED   = YES\n\n# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for \n# potential errors in the documentation, such as not documenting some \n# parameters in a documented function, or documenting parameters that \n# don't exist or using markup commands wrongly.\n\nWARN_IF_DOC_ERROR      = YES\n\n# This WARN_NO_PARAMDOC option can be abled to get warnings for \n# functions that are documented, but have no documentation for their parameters \n# or return value. If set to NO (the default) doxygen will only warn about \n# wrong or incomplete parameter documentation, but not about the absence of \n# documentation.\n\nWARN_NO_PARAMDOC       = YES\n\n# The WARN_FORMAT tag determines the format of the warning messages that \n# doxygen can produce. The string should contain the $file, $line, and $text \n# tags, which will be replaced by the file and line number from which the \n# warning originated and the warning text. Optionally the format may contain \n# $version, which will be replaced by the version of the file (if it could \n# be obtained via FILE_VERSION_FILTER)\n\nWARN_FORMAT            = \"$file:$line: $text\"\n\n# The WARN_LOGFILE tag can be used to specify a file to which warning \n# and error messages should be written. If left blank the output is written \n# to stderr.\n\nWARN_LOGFILE           = ./doxygen_warn.txt\n\n#---------------------------------------------------------------------------\n# configuration options related to the input files\n#---------------------------------------------------------------------------\n\n# The INPUT tag can be used to specify the files and/or directories that contain \n# documented source files. You may enter file names like \"myfile.cpp\" or \n# directories like \"/usr/src/myproject\". Separate the files or directories \n# with spaces.\n\nINPUT                  = . ../include\n\n# This tag can be used to specify the character encoding of the source files \n# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is \n# also the default input encoding. Doxygen uses libiconv (or the iconv built \n# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for \n# the list of possible encodings.\n\nINPUT_ENCODING         = UTF-8\n\n# If the value of the INPUT tag contains directories, you can use the \n# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp \n# and *.h) to filter out the source-files in the directories. If left \n# blank the following patterns are tested: \n# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx \n# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90\n\nFILE_PATTERNS          = *.c \\\n                         *.cc \\\n                         *.cxx \\\n                         *.cpp \\\n                         *.c++ \\\n                         *.d \\\n                         *.java \\\n                         *.ii \\\n                         *.ixx \\\n                         *.ipp \\\n                         *.i++ \\\n                         *.inl \\\n                         *.h \\\n                         *.hh \\\n                         *.hxx \\\n                         *.hpp \\\n                         *.h++ \\\n                         *.idl \\\n                         *.odl \\\n                         *.cs \\\n                         *.php \\\n                         *.php3 \\\n                         *.inc \\\n                         *.m \\\n                         *.mm \\\n                         *.dox \\\n                         *.py \\\n                         *.f90 \\\n                         *.f \\\n                         *.vhd \\\n                         *.vhdl \\\n                         *.h.in \\\n                         *.h.default \\\n                         *.md\n\n# The RECURSIVE tag can be used to turn specify whether or not subdirectories \n# should be searched for input files as well. Possible values are YES and NO. \n# If left blank NO is used.\n\nRECURSIVE              = YES\n\n# The EXCLUDE tag can be used to specify files and/or directories that should \n# excluded from the INPUT source files. This way you can easily exclude a \n# subdirectory from a directory tree whose root is specified with the INPUT tag.\n\nEXCLUDE                = ../include/SDL_opengles2_gl2ext.h \\\n                         ../include/SDL_opengles2_gl2platform.h \\\n                         ../include/SDL_opengles2_khrplatform.h \\\n                         ../include/SDL_opengl_glext.h \\\n                         ../include/SDL_opengles2_gl2.h \\\n                         ../include/SDL_opengles2.h \\\n                         ../include/SDL_opengles.h \\\n                         ../include/SDL_opengl.h \\\n                         ../include/SDL_egl.h \\\n\n\n# The EXCLUDE_SYMLINKS tag can be used select whether or not files or \n# directories that are symbolic links (a Unix filesystem feature) are excluded \n# from the input.\n\nEXCLUDE_SYMLINKS       = NO\n\n# If the value of the INPUT tag contains directories, you can use the \n# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude \n# certain files from those directories. Note that the wildcards are matched \n# against the file with absolute path, so to exclude all test directories \n# for example use the pattern */test/*\n\nEXCLUDE_PATTERNS       =\n\n# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names \n# (namespaces, classes, functions, etc.) that should be excluded from the \n# output. The symbol name can be a fully qualified name, a word, or if the \n# wildcard * is used, a substring. Examples: ANamespace, AClass, \n# AClass::ANamespace, ANamespace::*Test\n\nEXCLUDE_SYMBOLS        = \n\n# The EXAMPLE_PATH tag can be used to specify one or more files or \n# directories that contain example code fragments that are included (see \n# the \\include command).\n\nEXAMPLE_PATH           =\n\n# If the value of the EXAMPLE_PATH tag contains directories, you can use the \n# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp \n# and *.h) to filter out the source-files in the directories. If left \n# blank all files are included.\n\nEXAMPLE_PATTERNS       = *\n\n# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be \n# searched for input files to be used with the \\include or \\dontinclude \n# commands irrespective of the value of the RECURSIVE tag. \n# Possible values are YES and NO. If left blank NO is used.\n\nEXAMPLE_RECURSIVE      = YES\n\n# The IMAGE_PATH tag can be used to specify one or more files or \n# directories that contain image that are included in the documentation (see \n# the \\image command).\n\nIMAGE_PATH             = \n\n# The INPUT_FILTER tag can be used to specify a program that doxygen should \n# invoke to filter for each input file. Doxygen will invoke the filter program \n# by executing (via popen()) the command <filter> <input-file>, where <filter> \n# is the value of the INPUT_FILTER tag, and <input-file> is the name of an \n# input file. Doxygen will then use the output that the filter program writes \n# to standard output.  If FILTER_PATTERNS is specified, this tag will be \n# ignored.\n\nINPUT_FILTER           = \n\n# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern \n# basis.  Doxygen will compare the file name with each pattern and apply the \n# filter if there is a match.  The filters are a list of the form: \n# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further \n# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER \n# is applied to all files.\n\nFILTER_PATTERNS        = \n\n# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using \n# INPUT_FILTER) will be used to filter the input files when producing source \n# files to browse (i.e. when SOURCE_BROWSER is set to YES).\n\nFILTER_SOURCE_FILES    = NO\n\n#---------------------------------------------------------------------------\n# configuration options related to source browsing\n#---------------------------------------------------------------------------\n\n# If the SOURCE_BROWSER tag is set to YES then a list of source files will \n# be generated. Documented entities will be cross-referenced with these sources. \n# Note: To get rid of all source code in the generated output, make sure also \n# VERBATIM_HEADERS is set to NO.\n\nSOURCE_BROWSER         = YES\n\n# Setting the INLINE_SOURCES tag to YES will include the body \n# of functions and classes directly in the documentation.\n\nINLINE_SOURCES         = YES\n\n# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct \n# doxygen to hide any special comment blocks from generated source code \n# fragments. Normal C and C++ comments will always remain visible.\n\nSTRIP_CODE_COMMENTS    = NO\n\n# If the REFERENCED_BY_RELATION tag is set to YES \n# then for each documented function all documented \n# functions referencing it will be listed.\n\nREFERENCED_BY_RELATION = YES\n\n# If the REFERENCES_RELATION tag is set to YES \n# then for each documented function all documented entities \n# called/used by that function will be listed.\n\nREFERENCES_RELATION    = YES\n\n# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) \n# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from \n# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will \n# link to the source code.  Otherwise they will link to the documentation.\n\nREFERENCES_LINK_SOURCE = YES\n\n# If the USE_HTAGS tag is set to YES then the references to source code \n# will point to the HTML generated by the htags(1) tool instead of doxygen \n# built-in source browser. The htags tool is part of GNU's global source \n# tagging system (see http://www.gnu.org/software/global/global.html). You \n# will need version 4.8.6 or higher.\n\nUSE_HTAGS              = NO\n\n# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen \n# will generate a verbatim copy of the header file for each class for \n# which an include is specified. Set to NO to disable this.\n\nVERBATIM_HEADERS       = YES\n\n#---------------------------------------------------------------------------\n# configuration options related to the alphabetical class index\n#---------------------------------------------------------------------------\n\n# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index \n# of all compounds will be generated. Enable this if the project \n# contains a lot of classes, structs, unions or interfaces.\n\nALPHABETICAL_INDEX     = YES\n\n# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then \n# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns \n# in which this list will be split (can be a number in the range [1..20])\n\nCOLS_IN_ALPHA_INDEX    = 5\n\n# In case all classes in a project start with a common prefix, all \n# classes will be put under the same header in the alphabetical index. \n# The IGNORE_PREFIX tag can be used to specify one or more prefixes that \n# should be ignored while generating the index headers.\n\nIGNORE_PREFIX          = SDL_ \\\n                         SDL\n\n#---------------------------------------------------------------------------\n# configuration options related to the HTML output\n#---------------------------------------------------------------------------\n\n# If the GENERATE_HTML tag is set to YES (the default) Doxygen will \n# generate HTML output.\n\nGENERATE_HTML          = YES\n\n# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. \n# If a relative path is entered the value of OUTPUT_DIRECTORY will be \n# put in front of it. If left blank `html' will be used as the default path.\n\nHTML_OUTPUT            = html\n\n# The HTML_FILE_EXTENSION tag can be used to specify the file extension for \n# each generated HTML page (for example: .htm,.php,.asp). If it is left blank \n# doxygen will generate files with .html extension.\n\nHTML_FILE_EXTENSION    = .html\n\n# The HTML_HEADER tag can be used to specify a personal HTML header for \n# each generated HTML page. If it is left blank doxygen will generate a \n# standard header.\n\nHTML_HEADER            = \n\n# The HTML_FOOTER tag can be used to specify a personal HTML footer for \n# each generated HTML page. If it is left blank doxygen will generate a \n# standard footer.\n\nHTML_FOOTER            = \n\n# The HTML_STYLESHEET tag can be used to specify a user-defined cascading \n# style sheet that is used by each HTML page. It can be used to \n# fine-tune the look of the HTML output. If the tag is left blank doxygen \n# will generate a default style sheet. Note that doxygen will try to copy \n# the style sheet file to the HTML output directory, so don't put your own \n# stylesheet in the HTML output directory as well, or it will be erased!\n\nHTML_STYLESHEET        = \n\n# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, \n# files or namespaces will be aligned in HTML using tables. If set to \n# NO a bullet list will be used.\n\nHTML_ALIGN_MEMBERS     = YES\n\n# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML \n# documentation will contain sections that can be hidden and shown after the \n# page has loaded. For this to work a browser that supports \n# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox \n# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari).\n\nHTML_DYNAMIC_SECTIONS  = YES\n\n# If the GENERATE_DOCSET tag is set to YES, additional index files \n# will be generated that can be used as input for Apple's Xcode 3 \n# integrated development environment, introduced with OSX 10.5 (Leopard). \n# To create a documentation set, doxygen will generate a Makefile in the \n# HTML output directory. Running make will produce the docset in that \n# directory and running \"make install\" will install the docset in \n# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find \n# it at startup. \n# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html for more information.\n\nGENERATE_DOCSET        = NO\n\n# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the \n# feed. A documentation feed provides an umbrella under which multiple \n# documentation sets from a single provider (such as a company or product suite) \n# can be grouped.\n\nDOCSET_FEEDNAME        = \"SDL 2.0 Doxygen\"\n\n# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that \n# should uniquely identify the documentation set bundle. This should be a \n# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen \n# will append .docset to the name.\n\nDOCSET_BUNDLE_ID       = org.libsdl.sdl20\n\n# If the GENERATE_HTMLHELP tag is set to YES, additional index files \n# will be generated that can be used as input for tools like the \n# Microsoft HTML help workshop to generate a compiled HTML help file (.chm) \n# of the generated HTML documentation.\n\nGENERATE_HTMLHELP      = NO\n\n# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can \n# be used to specify the file name of the resulting .chm file. You \n# can add a path in front of the file if the result should not be \n# written to the html output directory.\n\nCHM_FILE               = ./sdl20.chm\n\n# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can \n# be used to specify the location (absolute path including file name) of \n# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run \n# the HTML help compiler on the generated index.hhp.\n\nHHC_LOCATION           = \n\n# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag \n# controls if a separate .chi index file is generated (YES) or that \n# it should be included in the master .chm file (NO).\n\nGENERATE_CHI           = NO\n\n# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING \n# is used to encode HtmlHelp index (hhk), content (hhc) and project file \n# content.\n\nCHM_INDEX_ENCODING     = \n\n# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag \n# controls whether a binary table of contents is generated (YES) or a \n# normal table of contents (NO) in the .chm file.\n\nBINARY_TOC             = NO\n\n# The TOC_EXPAND flag can be set to YES to add extra items for group members \n# to the contents of the HTML help documentation and to the tree view.\n\nTOC_EXPAND             = YES\n\n# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and QHP_VIRTUAL_FOLDER \n# are set, an additional index file will be generated that can be used as input for \n# Qt's qhelpgenerator to generate a Qt Compressed Help (.qch) of the generated \n# HTML documentation.\n\nGENERATE_QHP           = NO\n\n# If the QHG_LOCATION tag is specified, the QCH_FILE tag can \n# be used to specify the file name of the resulting .qch file. \n# The path specified is relative to the HTML output folder.\n\nQCH_FILE               = \n\n# The QHP_NAMESPACE tag specifies the namespace to use when generating \n# Qt Help Project output. For more information please see \n# http://doc.trolltech.com/qthelpproject.html#namespace\n\nQHP_NAMESPACE          = \n\n# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating \n# Qt Help Project output. For more information please see \n# http://doc.trolltech.com/qthelpproject.html#virtual-folders\n\nQHP_VIRTUAL_FOLDER     = doc\n\n# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to add. \n# For more information please see \n# http://doc.trolltech.com/qthelpproject.html#custom-filters\n\nQHP_CUST_FILTER_NAME   = \n\n# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the custom filter to add.For more information please see \n# <a href=\"http://doc.trolltech.com/qthelpproject.html#custom-filters\">Qt Help Project / Custom Filters</a>.\n\nQHP_CUST_FILTER_ATTRS  = \n\n# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this project's \n# filter section matches. \n# <a href=\"http://doc.trolltech.com/qthelpproject.html#filter-attributes\">Qt Help Project / Filter Attributes</a>.\n\nQHP_SECT_FILTER_ATTRS  = \n\n# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can \n# be used to specify the location of Qt's qhelpgenerator. \n# If non-empty doxygen will try to run qhelpgenerator on the generated \n# .qhp file.\n\nQHG_LOCATION           = \n\n# The DISABLE_INDEX tag can be used to turn on/off the condensed index at \n# top of each HTML page. The value NO (the default) enables the index and \n# the value YES disables it.\n\nDISABLE_INDEX          = NO\n\n# This tag can be used to set the number of enum values (range [1..20]) \n# that doxygen will group on one line in the generated HTML documentation.\n\nENUM_VALUES_PER_LINE   = 1\n\n# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index \n# structure should be generated to display hierarchical information. \n# If the tag value is set to FRAME, a side panel will be generated \n# containing a tree-like index structure (just like the one that \n# is generated for HTML Help). For this to work a browser that supports \n# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, \n# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are \n# probably better off using the HTML help feature. Other possible values \n# for this tag are: HIERARCHIES, which will generate the Groups, Directories, \n# and Class Hierarchy pages using a tree view instead of an ordered list; \n# ALL, which combines the behavior of FRAME and HIERARCHIES; and NONE, which \n# disables this behavior completely. For backwards compatibility with previous \n# releases of Doxygen, the values YES and NO are equivalent to FRAME and NONE \n# respectively.\n\nGENERATE_TREEVIEW      = ALL\n\n# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be \n# used to set the initial width (in pixels) of the frame in which the tree \n# is shown.\n\nTREEVIEW_WIDTH         = 250\n\n# Use this tag to change the font size of Latex formulas included \n# as images in the HTML documentation. The default is 10. Note that \n# when you change the font size after a successful doxygen run you need \n# to manually remove any form_*.png images from the HTML output directory \n# to force them to be regenerated.\n\nFORMULA_FONTSIZE       = 10\n\n#---------------------------------------------------------------------------\n# configuration options related to the LaTeX output\n#---------------------------------------------------------------------------\n\n# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will \n# generate Latex output.\n\nGENERATE_LATEX         = NO\n\n# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. \n# If a relative path is entered the value of OUTPUT_DIRECTORY will be \n# put in front of it. If left blank `latex' will be used as the default path.\n\nLATEX_OUTPUT           = latex\n\n# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be \n# invoked. If left blank `latex' will be used as the default command name.\n\nLATEX_CMD_NAME         = latex\n\n# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to \n# generate index for LaTeX. If left blank `makeindex' will be used as the \n# default command name.\n\nMAKEINDEX_CMD_NAME     = makeindex\n\n# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact \n# LaTeX documents. This may be useful for small projects and may help to \n# save some trees in general.\n\nCOMPACT_LATEX          = NO\n\n# The PAPER_TYPE tag can be used to set the paper type that is used \n# by the printer. Possible values are: a4, a4wide, letter, legal and \n# executive. If left blank a4wide will be used.\n\nPAPER_TYPE             = a4wide\n\n# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX \n# packages that should be included in the LaTeX output.\n\nEXTRA_PACKAGES         = \n\n# The LATEX_HEADER tag can be used to specify a personal LaTeX header for \n# the generated latex document. The header should contain everything until \n# the first chapter. If it is left blank doxygen will generate a \n# standard header. Notice: only use this tag if you know what you are doing!\n\nLATEX_HEADER           = \n\n# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated \n# is prepared for conversion to pdf (using ps2pdf). The pdf file will \n# contain links (just like the HTML output) instead of page references \n# This makes the output suitable for online browsing using a pdf viewer.\n\nPDF_HYPERLINKS         = YES\n\n# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of \n# plain latex in the generated Makefile. Set this option to YES to get a \n# higher quality PDF documentation.\n\nUSE_PDFLATEX           = YES\n\n# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\\\batchmode. \n# command to the generated LaTeX files. This will instruct LaTeX to keep \n# running if errors occur, instead of asking the user for help. \n# This option is also used when generating formulas in HTML.\n\nLATEX_BATCHMODE        = NO\n\n# If LATEX_HIDE_INDICES is set to YES then doxygen will not \n# include the index chapters (such as File Index, Compound Index, etc.) \n# in the output.\n\nLATEX_HIDE_INDICES     = NO\n\n# If LATEX_SOURCE_CODE is set to YES then doxygen will include\n# source code with syntax highlighting in the LaTeX output.\n# Note that which sources are shown also depends on other settings\n# such as SOURCE_BROWSER.\n\nLATEX_SOURCE_CODE      = NO\n\n#---------------------------------------------------------------------------\n# configuration options related to the RTF output\n#---------------------------------------------------------------------------\n\n# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output \n# The RTF output is optimized for Word 97 and may not look very pretty with \n# other RTF readers or editors.\n\nGENERATE_RTF           = NO\n\n# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. \n# If a relative path is entered the value of OUTPUT_DIRECTORY will be \n# put in front of it. If left blank `rtf' will be used as the default path.\n\nRTF_OUTPUT             = rtf\n\n# If the COMPACT_RTF tag is set to YES Doxygen generates more compact \n# RTF documents. This may be useful for small projects and may help to \n# save some trees in general.\n\nCOMPACT_RTF            = NO\n\n# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated \n# will contain hyperlink fields. The RTF file will \n# contain links (just like the HTML output) instead of page references. \n# This makes the output suitable for online browsing using WORD or other \n# programs which support those fields. \n# Note: wordpad (write) and others do not support links.\n\nRTF_HYPERLINKS         = NO\n\n# Load stylesheet definitions from file. Syntax is similar to doxygen's \n# config file, i.e. a series of assignments. You only have to provide \n# replacements, missing definitions are set to their default value.\n\nRTF_STYLESHEET_FILE    = \n\n# Set optional variables used in the generation of an rtf document. \n# Syntax is similar to doxygen's config file.\n\nRTF_EXTENSIONS_FILE    = \n\n#---------------------------------------------------------------------------\n# configuration options related to the man page output\n#---------------------------------------------------------------------------\n\n# If the GENERATE_MAN tag is set to YES (the default) Doxygen will \n# generate man pages\n\nGENERATE_MAN           = NO\n\n# The MAN_OUTPUT tag is used to specify where the man pages will be put. \n# If a relative path is entered the value of OUTPUT_DIRECTORY will be \n# put in front of it. If left blank `man' will be used as the default path.\n\nMAN_OUTPUT             = man\n\n# The MAN_EXTENSION tag determines the extension that is added to \n# the generated man pages (default is the subroutine's section .3)\n\nMAN_EXTENSION          = .3\n\n# If the MAN_LINKS tag is set to YES and Doxygen generates man output, \n# then it will generate one additional man file for each entity \n# documented in the real man page(s). These additional files \n# only source the real man page, but without them the man command \n# would be unable to find the correct page. The default is NO.\n\nMAN_LINKS              = NO\n\n#---------------------------------------------------------------------------\n# configuration options related to the XML output\n#---------------------------------------------------------------------------\n\n# If the GENERATE_XML tag is set to YES Doxygen will \n# generate an XML file that captures the structure of \n# the code including all documentation.\n\nGENERATE_XML           = NO\n\n# The XML_OUTPUT tag is used to specify where the XML pages will be put. \n# If a relative path is entered the value of OUTPUT_DIRECTORY will be \n# put in front of it. If left blank `xml' will be used as the default path.\n\nXML_OUTPUT             = xml\n\n# The XML_SCHEMA tag can be used to specify an XML schema, \n# which can be used by a validating XML parser to check the \n# syntax of the XML files.\n\nXML_SCHEMA             = \n\n# The XML_DTD tag can be used to specify an XML DTD, \n# which can be used by a validating XML parser to check the \n# syntax of the XML files.\n\nXML_DTD                = \n\n# If the XML_PROGRAMLISTING tag is set to YES Doxygen will \n# dump the program listings (including syntax highlighting \n# and cross-referencing information) to the XML output. Note that \n# enabling this will significantly increase the size of the XML output.\n\nXML_PROGRAMLISTING     = YES\n\n#---------------------------------------------------------------------------\n# configuration options for the AutoGen Definitions output\n#---------------------------------------------------------------------------\n\n# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will \n# generate an AutoGen Definitions (see autogen.sf.net) file \n# that captures the structure of the code including all \n# documentation. Note that this feature is still experimental \n# and incomplete at the moment.\n\nGENERATE_AUTOGEN_DEF   = NO\n\n#---------------------------------------------------------------------------\n# configuration options related to the Perl module output\n#---------------------------------------------------------------------------\n\n# If the GENERATE_PERLMOD tag is set to YES Doxygen will \n# generate a Perl module file that captures the structure of \n# the code including all documentation. Note that this \n# feature is still experimental and incomplete at the \n# moment.\n\nGENERATE_PERLMOD       = NO\n\n# If the PERLMOD_LATEX tag is set to YES Doxygen will generate \n# the necessary Makefile rules, Perl scripts and LaTeX code to be able \n# to generate PDF and DVI output from the Perl module output.\n\nPERLMOD_LATEX          = NO\n\n# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be \n# nicely formatted so it can be parsed by a human reader.  This is useful \n# if you want to understand what is going on.  On the other hand, if this \n# tag is set to NO the size of the Perl module output will be much smaller \n# and Perl will parse it just the same.\n\nPERLMOD_PRETTY         = YES\n\n# The names of the make variables in the generated doxyrules.make file \n# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. \n# This is useful so different doxyrules.make files included by the same \n# Makefile don't overwrite each other's variables.\n\nPERLMOD_MAKEVAR_PREFIX = \n\n#---------------------------------------------------------------------------\n# Configuration options related to the preprocessor   \n#---------------------------------------------------------------------------\n\n# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will \n# evaluate all C-preprocessor directives found in the sources and include \n# files.\n\nENABLE_PREPROCESSING   = YES\n\n# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro \n# names in the source code. If set to NO (the default) only conditional \n# compilation will be performed. Macro expansion can be done in a controlled \n# way by setting EXPAND_ONLY_PREDEF to YES.\n\nMACRO_EXPANSION        = YES\n\n# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES \n# then the macro expansion is limited to the macros specified with the \n# PREDEFINED and EXPAND_AS_DEFINED tags.\n\nEXPAND_ONLY_PREDEF     = YES\n\n# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files \n# in the INCLUDE_PATH (see below) will be search if a #include is found.\n\nSEARCH_INCLUDES        = YES\n\n# The INCLUDE_PATH tag can be used to specify one or more directories that \n# contain include files that are not input files but should be processed by \n# the preprocessor.\n\nINCLUDE_PATH           =\n\n# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard \n# patterns (like *.h and *.hpp) to filter out the header-files in the \n# directories. If left blank, the patterns specified with FILE_PATTERNS will \n# be used.\n\nINCLUDE_FILE_PATTERNS  = \n\n# The PREDEFINED tag can be used to specify one or more macro names that \n# are defined before the preprocessor is started (similar to the -D option of \n# gcc). The argument of the tag is a list of macros of the form: name \n# or name=definition (no spaces). If the definition and the = are \n# omitted =1 is assumed. To prevent a macro definition from being \n# undefined via #undef or recursively expanded use the := operator \n# instead of the = operator.\n\nPREDEFINED             = DOXYGEN_SHOULD_IGNORE_THIS=1 \\\n                         DECLSPEC= \\\n                         SDLCALL= \\\n                         _WIN32=1\n\n# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then \n# this tag can be used to specify a list of macro names that should be expanded. \n# The macro definition that is found in the sources will be used. \n# Use the PREDEFINED tag if you want to use a different macro definition.\n\nEXPAND_AS_DEFINED      = \n\n# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then \n# doxygen's preprocessor will remove all function-like macros that are alone \n# on a line, have an all uppercase name, and do not end with a semicolon. Such \n# function macros are typically used for boiler-plate code, and will confuse \n# the parser if not removed.\n\nSKIP_FUNCTION_MACROS   = YES\n\n#---------------------------------------------------------------------------\n# Configuration::additions related to external references   \n#---------------------------------------------------------------------------\n\n# The TAGFILES option can be used to specify one or more tagfiles. \n# Optionally an initial location of the external documentation \n# can be added for each tagfile. The format of a tag file without \n# this location is as follows: \n#   TAGFILES = file1 file2 ... \n# Adding location for the tag files is done as follows: \n#   TAGFILES = file1=loc1 \"file2 = loc2\" ... \n# where \"loc1\" and \"loc2\" can be relative or absolute paths or \n# URLs. If a location is present for each tag, the installdox tool \n# does not have to be run to correct the links. \n# Note that each tag file must have a unique name \n# (where the name does NOT include the path) \n# If a tag file is not located in the directory in which doxygen \n# is run, you must also specify the path to the tagfile here.\n\nTAGFILES               = \n\n# When a file name is specified after GENERATE_TAGFILE, doxygen will create \n# a tag file that is based on the input files it reads.\n\nGENERATE_TAGFILE       = ./SDL.tag\n\n# If the ALLEXTERNALS tag is set to YES all external classes will be listed \n# in the class index. If set to NO only the inherited external classes \n# will be listed.\n\nALLEXTERNALS           = NO\n\n# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed \n# in the modules index. If set to NO, only the current project's groups will \n# be listed.\n\nEXTERNAL_GROUPS        = YES\n\n# The PERL_PATH should be the absolute path and name of the perl script \n# interpreter (i.e. the result of `which perl').\n\nPERL_PATH              = c:\\Perl\\bin\\perl.exe\n\n#---------------------------------------------------------------------------\n# Configuration options related to the dot tool   \n#---------------------------------------------------------------------------\n\n# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will \n# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base \n# or super classes. Setting the tag to NO turns the diagrams off. Note that \n# this option is superseded by the HAVE_DOT option below. This is only a \n# fallback. It is recommended to install and use dot, since it yields more \n# powerful graphs.\n\nCLASS_DIAGRAMS         = YES\n\n# You can define message sequence charts within doxygen comments using the \\msc \n# command. Doxygen will then run the mscgen tool (see \n# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the \n# documentation. The MSCGEN_PATH tag allows you to specify the directory where \n# the mscgen tool resides. If left empty the tool is assumed to be found in the \n# default search path.\n\nMSCGEN_PATH            = \n\n# If set to YES, the inheritance and collaboration graphs will hide \n# inheritance and usage relations if the target is undocumented \n# or is not a class.\n\nHIDE_UNDOC_RELATIONS   = YES\n\n# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is \n# available from the path. This tool is part of Graphviz, a graph visualization \n# toolkit from AT&T and Lucent Bell Labs. The other options in this section \n# have no effect if this option is set to NO (the default)\n\nHAVE_DOT               = YES\n\n# By default doxygen will write a font called FreeSans.ttf to the output \n# directory and reference it in all dot files that doxygen generates. This \n# font does not include all possible unicode characters however, so when you need \n# these (or just want a differently looking font) you can specify the font name \n# using DOT_FONTNAME. You need need to make sure dot is able to find the font, \n# which can be done by putting it in a standard location or by setting the \n# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory \n# containing the font.\n\nDOT_FONTNAME           = FreeSans\n\n# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. \n# The default size is 10pt.\n\nDOT_FONTSIZE           = 10\n\n# By default doxygen will tell dot to use the output directory to look for the \n# FreeSans.ttf font (which doxygen will put there itself). If you specify a \n# different font using DOT_FONTNAME you can set the path where dot \n# can find it using this tag.\n\nDOT_FONTPATH           = \n\n# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen \n# will generate a graph for each documented class showing the direct and \n# indirect inheritance relations. Setting this tag to YES will force the \n# the CLASS_DIAGRAMS tag to NO.\n\nCLASS_GRAPH            = YES\n\n# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen \n# will generate a graph for each documented class showing the direct and \n# indirect implementation dependencies (inheritance, containment, and \n# class references variables) of the class with other documented classes.\n\nCOLLABORATION_GRAPH    = YES\n\n# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen \n# will generate a graph for groups, showing the direct groups dependencies\n\nGROUP_GRAPHS           = YES\n\n# If the UML_LOOK tag is set to YES doxygen will generate inheritance and \n# collaboration diagrams in a style similar to the OMG's Unified Modeling \n# Language.\n\nUML_LOOK               = NO\n\n# If set to YES, the inheritance and collaboration graphs will show the \n# relations between templates and their instances.\n\nTEMPLATE_RELATIONS     = YES\n\n# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT \n# tags are set to YES then doxygen will generate a graph for each documented \n# file showing the direct and indirect include dependencies of the file with \n# other documented files.\n\nINCLUDE_GRAPH          = YES\n\n# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and \n# HAVE_DOT tags are set to YES then doxygen will generate a graph for each \n# documented header file showing the documented files that directly or \n# indirectly include this file.\n\nINCLUDED_BY_GRAPH      = YES\n\n# If the CALL_GRAPH and HAVE_DOT options are set to YES then \n# doxygen will generate a call dependency graph for every global function \n# or class method. Note that enabling this option will significantly increase \n# the time of a run. So in most cases it will be better to enable call graphs \n# for selected functions only using the \\callgraph command.\n\nCALL_GRAPH             = NO\n\n# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then \n# doxygen will generate a caller dependency graph for every global function \n# or class method. Note that enabling this option will significantly increase \n# the time of a run. So in most cases it will be better to enable caller \n# graphs for selected functions only using the \\callergraph command.\n\nCALLER_GRAPH           = NO\n\n# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen \n# will graphical hierarchy of all classes instead of a textual one.\n\nGRAPHICAL_HIERARCHY    = YES\n\n# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES \n# then doxygen will show the dependencies a directory has on other directories \n# in a graphical way. The dependency relations are determined by the #include \n# relations between the files in the directories.\n\nDIRECTORY_GRAPH        = YES\n\n# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images \n# generated by dot. Possible values are png, jpg, or gif \n# If left blank png will be used.\n\nDOT_IMAGE_FORMAT       = png\n\n# The tag DOT_PATH can be used to specify the path where the dot tool can be \n# found. If left blank, it is assumed the dot tool can be found in the path.\n\nDOT_PATH               = \n\n# The DOTFILE_DIRS tag can be used to specify one or more directories that \n# contain dot files that are included in the documentation (see the \n# \\dotfile command).\n\nDOTFILE_DIRS           = \n\n# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of \n# nodes that will be shown in the graph. If the number of nodes in a graph \n# becomes larger than this value, doxygen will truncate the graph, which is \n# visualized by representing a node as a red box. Note that doxygen if the \n# number of direct children of the root node in a graph is already larger than \n# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note \n# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.\n\nDOT_GRAPH_MAX_NODES    = 60\n\n# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the \n# graphs generated by dot. A depth value of 3 means that only nodes reachable \n# from the root by following a path via at most 3 edges will be shown. Nodes \n# that lay further from the root node will be omitted. Note that setting this \n# option to 1 or 2 may greatly reduce the computation time needed for large \n# code bases. Also note that the size of a graph can be further restricted by \n# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.\n\nMAX_DOT_GRAPH_DEPTH    = 2\n\n# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent \n# background. This is disabled by default, because dot on Windows does not \n# seem to support this out of the box. Warning: Depending on the platform used, \n# enabling this option may lead to badly anti-aliased labels on the edges of \n# a graph (i.e. they become hard to read).\n\nDOT_TRANSPARENT        = NO\n\n# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output \n# files in one run (i.e. multiple -o and -T options on the command line). This \n# makes dot run faster, but since only newer versions of dot (>1.8.10) \n# support this, this feature is disabled by default.\n\nDOT_MULTI_TARGETS      = YES\n\n# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will \n# generate a legend page explaining the meaning of the various boxes and \n# arrows in the dot generated graphs.\n\nGENERATE_LEGEND        = YES\n\n# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will \n# remove the intermediate dot files that are used to generate \n# the various graphs.\n\nDOT_CLEANUP            = YES\n\n#---------------------------------------------------------------------------\n# Options related to the search engine\n#---------------------------------------------------------------------------\n\n# The SEARCHENGINE tag specifies whether or not a search engine should be \n# used. If set to NO the values of all tags below this one will be ignored.\n\nSEARCHENGINE           = NO\n"
  },
  {
    "path": "external/SDL2-2.0.4/include/SDL.h",
    "content": "/*\n  Simple DirectMedia Layer\n  Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>\n\n  This software is provided 'as-is', without any express or implied\n  warranty.  In no event will the authors be held liable for any damages\n  arising from the use of this software.\n\n  Permission is granted to anyone to use this software for any purpose,\n  including commercial applications, and to alter it and redistribute it\n  freely, subject to the following restrictions:\n\n  1. The origin of this software must not be misrepresented; you must not\n     claim that you wrote the original software. If you use this software\n     in a product, an acknowledgment in the product documentation would be\n     appreciated but is not required.\n  2. Altered source versions must be plainly marked as such, and must not be\n     misrepresented as being the original software.\n  3. This notice may not be removed or altered from any source distribution.\n*/\n\n/**\n *  \\file SDL.h\n *\n *  Main include header for the SDL library\n */\n\n\n#ifndef _SDL_H\n#define _SDL_H\n\n#include \"SDL_main.h\"\n#include \"SDL_stdinc.h\"\n#include \"SDL_assert.h\"\n#include \"SDL_atomic.h\"\n#include \"SDL_audio.h\"\n#include \"SDL_clipboard.h\"\n#include \"SDL_cpuinfo.h\"\n#include \"SDL_endian.h\"\n#include \"SDL_error.h\"\n#include \"SDL_events.h\"\n#include \"SDL_filesystem.h\"\n#include \"SDL_joystick.h\"\n#include \"SDL_gamecontroller.h\"\n#include \"SDL_haptic.h\"\n#include \"SDL_hints.h\"\n#include \"SDL_loadso.h\"\n#include \"SDL_log.h\"\n#include \"SDL_messagebox.h\"\n#include \"SDL_mutex.h\"\n#include \"SDL_power.h\"\n#include \"SDL_render.h\"\n#include \"SDL_rwops.h\"\n#include \"SDL_system.h\"\n#include \"SDL_thread.h\"\n#include \"SDL_timer.h\"\n#include \"SDL_version.h\"\n#include \"SDL_video.h\"\n\n#include \"begin_code.h\"\n/* Set up for C function definitions, even when using C++ */\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n/* As of version 0.5, SDL is loaded dynamically into the application */\n\n/**\n *  \\name SDL_INIT_*\n *\n *  These are the flags which may be passed to SDL_Init().  You should\n *  specify the subsystems which you will be using in your application.\n */\n/* @{ */\n#define SDL_INIT_TIMER          0x00000001\n#define SDL_INIT_AUDIO          0x00000010\n#define SDL_INIT_VIDEO          0x00000020  /**< SDL_INIT_VIDEO implies SDL_INIT_EVENTS */\n#define SDL_INIT_JOYSTICK       0x00000200  /**< SDL_INIT_JOYSTICK implies SDL_INIT_EVENTS */\n#define SDL_INIT_HAPTIC         0x00001000\n#define SDL_INIT_GAMECONTROLLER 0x00002000  /**< SDL_INIT_GAMECONTROLLER implies SDL_INIT_JOYSTICK */\n#define SDL_INIT_EVENTS         0x00004000\n#define SDL_INIT_NOPARACHUTE    0x00100000  /**< compatibility; this flag is ignored. */\n#define SDL_INIT_EVERYTHING ( \\\n                SDL_INIT_TIMER | SDL_INIT_AUDIO | SDL_INIT_VIDEO | SDL_INIT_EVENTS | \\\n                SDL_INIT_JOYSTICK | SDL_INIT_HAPTIC | SDL_INIT_GAMECONTROLLER \\\n            )\n/* @} */\n\n/**\n *  This function initializes  the subsystems specified by \\c flags\n */\nextern DECLSPEC int SDLCALL SDL_Init(Uint32 flags);\n\n/**\n *  This function initializes specific SDL subsystems\n *\n *  Subsystem initialization is ref-counted, you must call\n *  SDL_QuitSubSystem for each SDL_InitSubSystem to correctly\n *  shutdown a subsystem manually (or call SDL_Quit to force shutdown).\n *  If a subsystem is already loaded then this call will\n *  increase the ref-count and return.\n */\nextern DECLSPEC int SDLCALL SDL_InitSubSystem(Uint32 flags);\n\n/**\n *  This function cleans up specific SDL subsystems\n */\nextern DECLSPEC void SDLCALL SDL_QuitSubSystem(Uint32 flags);\n\n/**\n *  This function returns a mask of the specified subsystems which have\n *  previously been initialized.\n *\n *  If \\c flags is 0, it returns a mask of all initialized subsystems.\n */\nextern DECLSPEC Uint32 SDLCALL SDL_WasInit(Uint32 flags);\n\n/**\n *  This function cleans up all initialized subsystems. You should\n *  call it upon all exit conditions.\n */\nextern DECLSPEC void SDLCALL SDL_Quit(void);\n\n/* Ends C function definitions when using C++ */\n#ifdef __cplusplus\n}\n#endif\n#include \"close_code.h\"\n\n#endif /* _SDL_H */\n\n/* vi: set ts=4 sw=4 expandtab: */\n"
  },
  {
    "path": "external/SDL2-2.0.4/include/SDL_assert.h",
    "content": "/*\n  Simple DirectMedia Layer\n  Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>\n\n  This software is provided 'as-is', without any express or implied\n  warranty.  In no event will the authors be held liable for any damages\n  arising from the use of this software.\n\n  Permission is granted to anyone to use this software for any purpose,\n  including commercial applications, and to alter it and redistribute it\n  freely, subject to the following restrictions:\n\n  1. The origin of this software must not be misrepresented; you must not\n     claim that you wrote the original software. If you use this software\n     in a product, an acknowledgment in the product documentation would be\n     appreciated but is not required.\n  2. Altered source versions must be plainly marked as such, and must not be\n     misrepresented as being the original software.\n  3. This notice may not be removed or altered from any source distribution.\n*/\n\n#ifndef _SDL_assert_h\n#define _SDL_assert_h\n\n#include \"SDL_config.h\"\n\n#include \"begin_code.h\"\n/* Set up for C function definitions, even when using C++ */\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n#ifndef SDL_ASSERT_LEVEL\n#ifdef SDL_DEFAULT_ASSERT_LEVEL\n#define SDL_ASSERT_LEVEL SDL_DEFAULT_ASSERT_LEVEL\n#elif defined(_DEBUG) || defined(DEBUG) || \\\n      (defined(__GNUC__) && !defined(__OPTIMIZE__))\n#define SDL_ASSERT_LEVEL 2\n#else\n#define SDL_ASSERT_LEVEL 1\n#endif\n#endif /* SDL_ASSERT_LEVEL */\n\n/*\nThese are macros and not first class functions so that the debugger breaks\non the assertion line and not in some random guts of SDL, and so each\nassert can have unique static variables associated with it.\n*/\n\n#if defined(_MSC_VER)\n/* Don't include intrin.h here because it contains C++ code */\n    extern void __cdecl __debugbreak(void);\n    #define SDL_TriggerBreakpoint() __debugbreak()\n#elif (!defined(__NACL__) && defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__)))\n    #define SDL_TriggerBreakpoint() __asm__ __volatile__ ( \"int $3\\n\\t\" )\n#elif defined(HAVE_SIGNAL_H)\n    #include <signal.h>\n    #define SDL_TriggerBreakpoint() raise(SIGTRAP)\n#else\n    /* How do we trigger breakpoints on this platform? */\n    #define SDL_TriggerBreakpoint()\n#endif\n\n#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) /* C99 supports __func__ as a standard. */\n#   define SDL_FUNCTION __func__\n#elif ((__GNUC__ >= 2) || defined(_MSC_VER))\n#   define SDL_FUNCTION __FUNCTION__\n#else\n#   define SDL_FUNCTION \"???\"\n#endif\n#define SDL_FILE    __FILE__\n#define SDL_LINE    __LINE__\n\n/*\nsizeof (x) makes the compiler still parse the expression even without\nassertions enabled, so the code is always checked at compile time, but\ndoesn't actually generate code for it, so there are no side effects or\nexpensive checks at run time, just the constant size of what x WOULD be,\nwhich presumably gets optimized out as unused.\nThis also solves the problem of...\n\n    int somevalue = blah();\n    SDL_assert(somevalue == 1);\n\n...which would cause compiles to complain that somevalue is unused if we\ndisable assertions.\n*/\n\n/* \"while (0,0)\" fools Microsoft's compiler's /W4 warning level into thinking\n    this condition isn't constant. And looks like an owl's face! */\n#ifdef _MSC_VER  /* stupid /W4 warnings. */\n#define SDL_NULL_WHILE_LOOP_CONDITION (0,0)\n#else\n#define SDL_NULL_WHILE_LOOP_CONDITION (0)\n#endif\n\n#define SDL_disabled_assert(condition) \\\n    do { (void) sizeof ((condition)); } while (SDL_NULL_WHILE_LOOP_CONDITION)\n\ntypedef enum\n{\n    SDL_ASSERTION_RETRY,  /**< Retry the assert immediately. */\n    SDL_ASSERTION_BREAK,  /**< Make the debugger trigger a breakpoint. */\n    SDL_ASSERTION_ABORT,  /**< Terminate the program. */\n    SDL_ASSERTION_IGNORE,  /**< Ignore the assert. */\n    SDL_ASSERTION_ALWAYS_IGNORE  /**< Ignore the assert from now on. */\n} SDL_AssertState;\n\ntypedef struct SDL_AssertData\n{\n    int always_ignore;\n    unsigned int trigger_count;\n    const char *condition;\n    const char *filename;\n    int linenum;\n    const char *function;\n    const struct SDL_AssertData *next;\n} SDL_AssertData;\n\n#if (SDL_ASSERT_LEVEL > 0)\n\n/* Never call this directly. Use the SDL_assert* macros. */\nextern DECLSPEC SDL_AssertState SDLCALL SDL_ReportAssertion(SDL_AssertData *,\n                                                             const char *,\n                                                             const char *, int)\n#if defined(__clang__)\n#if __has_feature(attribute_analyzer_noreturn)\n/* this tells Clang's static analysis that we're a custom assert function,\n   and that the analyzer should assume the condition was always true past this\n   SDL_assert test. */\n   __attribute__((analyzer_noreturn))\n#endif\n#endif\n;\n\n/* the do {} while(0) avoids dangling else problems:\n    if (x) SDL_assert(y); else blah();\n       ... without the do/while, the \"else\" could attach to this macro's \"if\".\n   We try to handle just the minimum we need here in a macro...the loop,\n   the static vars, and break points. The heavy lifting is handled in\n   SDL_ReportAssertion(), in SDL_assert.c.\n*/\n#define SDL_enabled_assert(condition) \\\n    do { \\\n        while ( !(condition) ) { \\\n            static struct SDL_AssertData sdl_assert_data = { \\\n                0, 0, #condition, 0, 0, 0, 0 \\\n            }; \\\n            const SDL_AssertState sdl_assert_state = SDL_ReportAssertion(&sdl_assert_data, SDL_FUNCTION, SDL_FILE, SDL_LINE); \\\n            if (sdl_assert_state == SDL_ASSERTION_RETRY) { \\\n                continue; /* go again. */ \\\n            } else if (sdl_assert_state == SDL_ASSERTION_BREAK) { \\\n                SDL_TriggerBreakpoint(); \\\n            } \\\n            break; /* not retrying. */ \\\n        } \\\n    } while (SDL_NULL_WHILE_LOOP_CONDITION)\n\n#endif  /* enabled assertions support code */\n\n/* Enable various levels of assertions. */\n#if SDL_ASSERT_LEVEL == 0   /* assertions disabled */\n#   define SDL_assert(condition) SDL_disabled_assert(condition)\n#   define SDL_assert_release(condition) SDL_disabled_assert(condition)\n#   define SDL_assert_paranoid(condition) SDL_disabled_assert(condition)\n#elif SDL_ASSERT_LEVEL == 1  /* release settings. */\n#   define SDL_assert(condition) SDL_disabled_assert(condition)\n#   define SDL_assert_release(condition) SDL_enabled_assert(condition)\n#   define SDL_assert_paranoid(condition) SDL_disabled_assert(condition)\n#elif SDL_ASSERT_LEVEL == 2  /* normal settings. */\n#   define SDL_assert(condition) SDL_enabled_assert(condition)\n#   define SDL_assert_release(condition) SDL_enabled_assert(condition)\n#   define SDL_assert_paranoid(condition) SDL_disabled_assert(condition)\n#elif SDL_ASSERT_LEVEL == 3  /* paranoid settings. */\n#   define SDL_assert(condition) SDL_enabled_assert(condition)\n#   define SDL_assert_release(condition) SDL_enabled_assert(condition)\n#   define SDL_assert_paranoid(condition) SDL_enabled_assert(condition)\n#else\n#   error Unknown assertion level.\n#endif\n\n/* this assertion is never disabled at any level. */\n#define SDL_assert_always(condition) SDL_enabled_assert(condition)\n\n\ntypedef SDL_AssertState (SDLCALL *SDL_AssertionHandler)(\n                                 const SDL_AssertData* data, void* userdata);\n\n/**\n *  \\brief Set an application-defined assertion handler.\n *\n *  This allows an app to show its own assertion UI and/or force the\n *  response to an assertion failure. If the app doesn't provide this, SDL\n *  will try to do the right thing, popping up a system-specific GUI dialog,\n *  and probably minimizing any fullscreen windows.\n *\n *  This callback may fire from any thread, but it runs wrapped in a mutex, so\n *  it will only fire from one thread at a time.\n *\n *  Setting the callback to NULL restores SDL's original internal handler.\n *\n *  This callback is NOT reset to SDL's internal handler upon SDL_Quit()!\n *\n *  \\return SDL_AssertState value of how to handle the assertion failure.\n *\n *  \\param handler Callback function, called when an assertion fails.\n *  \\param userdata A pointer passed to the callback as-is.\n */\nextern DECLSPEC void SDLCALL SDL_SetAssertionHandler(\n                                            SDL_AssertionHandler handler,\n                                            void *userdata);\n\n/**\n *  \\brief Get the default assertion handler.\n *\n *  This returns the function pointer that is called by default when an\n *   assertion is triggered. This is an internal function provided by SDL,\n *   that is used for assertions when SDL_SetAssertionHandler() hasn't been\n *   used to provide a different function.\n *\n *  \\return The default SDL_AssertionHandler that is called when an assert triggers.\n */\nextern DECLSPEC SDL_AssertionHandler SDLCALL SDL_GetDefaultAssertionHandler(void);\n\n/**\n *  \\brief Get the current assertion handler.\n *\n *  This returns the function pointer that is called when an assertion is\n *   triggered. This is either the value last passed to\n *   SDL_SetAssertionHandler(), or if no application-specified function is\n *   set, is equivalent to calling SDL_GetDefaultAssertionHandler().\n *\n *   \\param puserdata Pointer to a void*, which will store the \"userdata\"\n *                    pointer that was passed to SDL_SetAssertionHandler().\n *                    This value will always be NULL for the default handler.\n *                    If you don't care about this data, it is safe to pass\n *                    a NULL pointer to this function to ignore it.\n *  \\return The SDL_AssertionHandler that is called when an assert triggers.\n */\nextern DECLSPEC SDL_AssertionHandler SDLCALL SDL_GetAssertionHandler(void **puserdata);\n\n/**\n *  \\brief Get a list of all assertion failures.\n *\n *  Get all assertions triggered since last call to SDL_ResetAssertionReport(),\n *  or the start of the program.\n *\n *  The proper way to examine this data looks something like this:\n *\n *  <code>\n *  const SDL_AssertData *item = SDL_GetAssertionReport();\n *  while (item) {\n *      printf(\"'%s', %s (%s:%d), triggered %u times, always ignore: %s.\\n\",\n *             item->condition, item->function, item->filename,\n *             item->linenum, item->trigger_count,\n *             item->always_ignore ? \"yes\" : \"no\");\n *      item = item->next;\n *  }\n *  </code>\n *\n *  \\return List of all assertions.\n *  \\sa SDL_ResetAssertionReport\n */\nextern DECLSPEC const SDL_AssertData * SDLCALL SDL_GetAssertionReport(void);\n\n/**\n *  \\brief Reset the list of all assertion failures.\n *\n *  Reset list of all assertions triggered.\n *\n *  \\sa SDL_GetAssertionReport\n */\nextern DECLSPEC void SDLCALL SDL_ResetAssertionReport(void);\n\n\n/* these had wrong naming conventions until 2.0.4. Please update your app! */\n#define SDL_assert_state SDL_AssertState\n#define SDL_assert_data SDL_AssertData\n\n\n/* Ends C function definitions when using C++ */\n#ifdef __cplusplus\n}\n#endif\n#include \"close_code.h\"\n\n#endif /* _SDL_assert_h */\n\n/* vi: set ts=4 sw=4 expandtab: */\n"
  },
  {
    "path": "external/SDL2-2.0.4/include/SDL_atomic.h",
    "content": "/*\n  Simple DirectMedia Layer\n  Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>\n\n  This software is provided 'as-is', without any express or implied\n  warranty.  In no event will the authors be held liable for any damages\n  arising from the use of this software.\n\n  Permission is granted to anyone to use this software for any purpose,\n  including commercial applications, and to alter it and redistribute it\n  freely, subject to the following restrictions:\n\n  1. The origin of this software must not be misrepresented; you must not\n     claim that you wrote the original software. If you use this software\n     in a product, an acknowledgment in the product documentation would be\n     appreciated but is not required.\n  2. Altered source versions must be plainly marked as such, and must not be\n     misrepresented as being the original software.\n  3. This notice may not be removed or altered from any source distribution.\n*/\n\n/**\n * \\file SDL_atomic.h\n *\n * Atomic operations.\n *\n * IMPORTANT:\n * If you are not an expert in concurrent lockless programming, you should\n * only be using the atomic lock and reference counting functions in this\n * file.  In all other cases you should be protecting your data structures\n * with full mutexes.\n *\n * The list of \"safe\" functions to use are:\n *  SDL_AtomicLock()\n *  SDL_AtomicUnlock()\n *  SDL_AtomicIncRef()\n *  SDL_AtomicDecRef()\n *\n * Seriously, here be dragons!\n * ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n *\n * You can find out a little more about lockless programming and the\n * subtle issues that can arise here:\n * http://msdn.microsoft.com/en-us/library/ee418650%28v=vs.85%29.aspx\n *\n * There's also lots of good information here:\n * http://www.1024cores.net/home/lock-free-algorithms\n * http://preshing.com/\n *\n * These operations may or may not actually be implemented using\n * processor specific atomic operations. When possible they are\n * implemented as true processor specific atomic operations. When that\n * is not possible the are implemented using locks that *do* use the\n * available atomic operations.\n *\n * All of the atomic operations that modify memory are full memory barriers.\n */\n\n#ifndef _SDL_atomic_h_\n#define _SDL_atomic_h_\n\n#include \"SDL_stdinc.h\"\n#include \"SDL_platform.h\"\n\n#include \"begin_code.h\"\n\n/* Set up for C function definitions, even when using C++ */\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n/**\n * \\name SDL AtomicLock\n *\n * The atomic locks are efficient spinlocks using CPU instructions,\n * but are vulnerable to starvation and can spin forever if a thread\n * holding a lock has been terminated.  For this reason you should\n * minimize the code executed inside an atomic lock and never do\n * expensive things like API or system calls while holding them.\n *\n * The atomic locks are not safe to lock recursively.\n *\n * Porting Note:\n * The spin lock functions and type are required and can not be\n * emulated because they are used in the atomic emulation code.\n */\n/* @{ */\n\ntypedef int SDL_SpinLock;\n\n/**\n * \\brief Try to lock a spin lock by setting it to a non-zero value.\n *\n * \\param lock Points to the lock.\n *\n * \\return SDL_TRUE if the lock succeeded, SDL_FALSE if the lock is already held.\n */\nextern DECLSPEC SDL_bool SDLCALL SDL_AtomicTryLock(SDL_SpinLock *lock);\n\n/**\n * \\brief Lock a spin lock by setting it to a non-zero value.\n *\n * \\param lock Points to the lock.\n */\nextern DECLSPEC void SDLCALL SDL_AtomicLock(SDL_SpinLock *lock);\n\n/**\n * \\brief Unlock a spin lock by setting it to 0. Always returns immediately\n *\n * \\param lock Points to the lock.\n */\nextern DECLSPEC void SDLCALL SDL_AtomicUnlock(SDL_SpinLock *lock);\n\n/* @} *//* SDL AtomicLock */\n\n\n/**\n * The compiler barrier prevents the compiler from reordering\n * reads and writes to globally visible variables across the call.\n */\n#if defined(_MSC_VER) && (_MSC_VER > 1200)\nvoid _ReadWriteBarrier(void);\n#pragma intrinsic(_ReadWriteBarrier)\n#define SDL_CompilerBarrier()   _ReadWriteBarrier()\n#elif (defined(__GNUC__) && !defined(__EMSCRIPTEN__)) || (defined(__SUNPRO_C) && (__SUNPRO_C >= 0x5120))\n/* This is correct for all CPUs when using GCC or Solaris Studio 12.1+. */\n#define SDL_CompilerBarrier()   __asm__ __volatile__ (\"\" : : : \"memory\")\n#else\n#define SDL_CompilerBarrier()   \\\n{ SDL_SpinLock _tmp = 0; SDL_AtomicLock(&_tmp); SDL_AtomicUnlock(&_tmp); }\n#endif\n\n/**\n * Memory barriers are designed to prevent reads and writes from being\n * reordered by the compiler and being seen out of order on multi-core CPUs.\n *\n * A typical pattern would be for thread A to write some data and a flag,\n * and for thread B to read the flag and get the data. In this case you\n * would insert a release barrier between writing the data and the flag,\n * guaranteeing that the data write completes no later than the flag is\n * written, and you would insert an acquire barrier between reading the\n * flag and reading the data, to ensure that all the reads associated\n * with the flag have completed.\n *\n * In this pattern you should always see a release barrier paired with\n * an acquire barrier and you should gate the data reads/writes with a\n * single flag variable.\n *\n * For more information on these semantics, take a look at the blog post:\n * http://preshing.com/20120913/acquire-and-release-semantics\n */\n#if defined(__GNUC__) && (defined(__powerpc__) || defined(__ppc__))\n#define SDL_MemoryBarrierRelease()   __asm__ __volatile__ (\"lwsync\" : : : \"memory\")\n#define SDL_MemoryBarrierAcquire()   __asm__ __volatile__ (\"lwsync\" : : : \"memory\")\n#elif defined(__GNUC__) && defined(__arm__)\n#if defined(__ARM_ARCH_7__) || defined(__ARM_ARCH_7A__) || defined(__ARM_ARCH_7EM__) || defined(__ARM_ARCH_7R__) || defined(__ARM_ARCH_7M__) || defined(__ARM_ARCH_7S__)\n#define SDL_MemoryBarrierRelease()   __asm__ __volatile__ (\"dmb ish\" : : : \"memory\")\n#define SDL_MemoryBarrierAcquire()   __asm__ __volatile__ (\"dmb ish\" : : : \"memory\")\n#elif defined(__ARM_ARCH_6__) || defined(__ARM_ARCH_6J__) || defined(__ARM_ARCH_6K__) || defined(__ARM_ARCH_6T2__) || defined(__ARM_ARCH_6Z__) || defined(__ARM_ARCH_6ZK__)\n#ifdef __thumb__\n/* The mcr instruction isn't available in thumb mode, use real functions */\nextern DECLSPEC void SDLCALL SDL_MemoryBarrierRelease();\nextern DECLSPEC void SDLCALL SDL_MemoryBarrierAcquire();\n#else\n#define SDL_MemoryBarrierRelease()   __asm__ __volatile__ (\"mcr p15, 0, %0, c7, c10, 5\" : : \"r\"(0) : \"memory\")\n#define SDL_MemoryBarrierAcquire()   __asm__ __volatile__ (\"mcr p15, 0, %0, c7, c10, 5\" : : \"r\"(0) : \"memory\")\n#endif /* __thumb__ */\n#else\n#define SDL_MemoryBarrierRelease()   __asm__ __volatile__ (\"\" : : : \"memory\")\n#define SDL_MemoryBarrierAcquire()   __asm__ __volatile__ (\"\" : : : \"memory\")\n#endif /* __GNUC__ && __arm__ */\n#else\n#if (defined(__SUNPRO_C) && (__SUNPRO_C >= 0x5120))\n/* This is correct for all CPUs on Solaris when using Solaris Studio 12.1+. */\n#include <mbarrier.h>\n#define SDL_MemoryBarrierRelease()  __machine_rel_barrier()\n#define SDL_MemoryBarrierAcquire()  __machine_acq_barrier()\n#else\n/* This is correct for the x86 and x64 CPUs, and we'll expand this over time. */\n#define SDL_MemoryBarrierRelease()  SDL_CompilerBarrier()\n#define SDL_MemoryBarrierAcquire()  SDL_CompilerBarrier()\n#endif\n#endif\n\n/**\n * \\brief A type representing an atomic integer value.  It is a struct\n *        so people don't accidentally use numeric operations on it.\n */\ntypedef struct { int value; } SDL_atomic_t;\n\n/**\n * \\brief Set an atomic variable to a new value if it is currently an old value.\n *\n * \\return SDL_TRUE if the atomic variable was set, SDL_FALSE otherwise.\n *\n * \\note If you don't know what this function is for, you shouldn't use it!\n*/\nextern DECLSPEC SDL_bool SDLCALL SDL_AtomicCAS(SDL_atomic_t *a, int oldval, int newval);\n\n/**\n * \\brief Set an atomic variable to a value.\n *\n * \\return The previous value of the atomic variable.\n */\nextern DECLSPEC int SDLCALL SDL_AtomicSet(SDL_atomic_t *a, int v);\n\n/**\n * \\brief Get the value of an atomic variable\n */\nextern DECLSPEC int SDLCALL SDL_AtomicGet(SDL_atomic_t *a);\n\n/**\n * \\brief Add to an atomic variable.\n *\n * \\return The previous value of the atomic variable.\n *\n * \\note This same style can be used for any number operation\n */\nextern DECLSPEC int SDLCALL SDL_AtomicAdd(SDL_atomic_t *a, int v);\n\n/**\n * \\brief Increment an atomic variable used as a reference count.\n */\n#ifndef SDL_AtomicIncRef\n#define SDL_AtomicIncRef(a)    SDL_AtomicAdd(a, 1)\n#endif\n\n/**\n * \\brief Decrement an atomic variable used as a reference count.\n *\n * \\return SDL_TRUE if the variable reached zero after decrementing,\n *         SDL_FALSE otherwise\n */\n#ifndef SDL_AtomicDecRef\n#define SDL_AtomicDecRef(a)    (SDL_AtomicAdd(a, -1) == 1)\n#endif\n\n/**\n * \\brief Set a pointer to a new value if it is currently an old value.\n *\n * \\return SDL_TRUE if the pointer was set, SDL_FALSE otherwise.\n *\n * \\note If you don't know what this function is for, you shouldn't use it!\n*/\nextern DECLSPEC SDL_bool SDLCALL SDL_AtomicCASPtr(void **a, void *oldval, void *newval);\n\n/**\n * \\brief Set a pointer to a value atomically.\n *\n * \\return The previous value of the pointer.\n */\nextern DECLSPEC void* SDLCALL SDL_AtomicSetPtr(void **a, void* v);\n\n/**\n * \\brief Get the value of a pointer atomically.\n */\nextern DECLSPEC void* SDLCALL SDL_AtomicGetPtr(void **a);\n\n/* Ends C function definitions when using C++ */\n#ifdef __cplusplus\n}\n#endif\n\n#include \"close_code.h\"\n\n#endif /* _SDL_atomic_h_ */\n\n/* vi: set ts=4 sw=4 expandtab: */\n"
  },
  {
    "path": "external/SDL2-2.0.4/include/SDL_audio.h",
    "content": "/*\n  Simple DirectMedia Layer\n  Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>\n\n  This software is provided 'as-is', without any express or implied\n  warranty.  In no event will the authors be held liable for any damages\n  arising from the use of this software.\n\n  Permission is granted to anyone to use this software for any purpose,\n  including commercial applications, and to alter it and redistribute it\n  freely, subject to the following restrictions:\n\n  1. The origin of this software must not be misrepresented; you must not\n     claim that you wrote the original software. If you use this software\n     in a product, an acknowledgment in the product documentation would be\n     appreciated but is not required.\n  2. Altered source versions must be plainly marked as such, and must not be\n     misrepresented as being the original software.\n  3. This notice may not be removed or altered from any source distribution.\n*/\n\n/**\n *  \\file SDL_audio.h\n *\n *  Access to the raw audio mixing buffer for the SDL library.\n */\n\n#ifndef _SDL_audio_h\n#define _SDL_audio_h\n\n#include \"SDL_stdinc.h\"\n#include \"SDL_error.h\"\n#include \"SDL_endian.h\"\n#include \"SDL_mutex.h\"\n#include \"SDL_thread.h\"\n#include \"SDL_rwops.h\"\n\n#include \"begin_code.h\"\n/* Set up for C function definitions, even when using C++ */\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n/**\n *  \\brief Audio format flags.\n *\n *  These are what the 16 bits in SDL_AudioFormat currently mean...\n *  (Unspecified bits are always zero).\n *\n *  \\verbatim\n    ++-----------------------sample is signed if set\n    ||\n    ||       ++-----------sample is bigendian if set\n    ||       ||\n    ||       ||          ++---sample is float if set\n    ||       ||          ||\n    ||       ||          || +---sample bit size---+\n    ||       ||          || |                     |\n    15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00\n    \\endverbatim\n *\n *  There are macros in SDL 2.0 and later to query these bits.\n */\ntypedef Uint16 SDL_AudioFormat;\n\n/**\n *  \\name Audio flags\n */\n/* @{ */\n\n#define SDL_AUDIO_MASK_BITSIZE       (0xFF)\n#define SDL_AUDIO_MASK_DATATYPE      (1<<8)\n#define SDL_AUDIO_MASK_ENDIAN        (1<<12)\n#define SDL_AUDIO_MASK_SIGNED        (1<<15)\n#define SDL_AUDIO_BITSIZE(x)         (x & SDL_AUDIO_MASK_BITSIZE)\n#define SDL_AUDIO_ISFLOAT(x)         (x & SDL_AUDIO_MASK_DATATYPE)\n#define SDL_AUDIO_ISBIGENDIAN(x)     (x & SDL_AUDIO_MASK_ENDIAN)\n#define SDL_AUDIO_ISSIGNED(x)        (x & SDL_AUDIO_MASK_SIGNED)\n#define SDL_AUDIO_ISINT(x)           (!SDL_AUDIO_ISFLOAT(x))\n#define SDL_AUDIO_ISLITTLEENDIAN(x)  (!SDL_AUDIO_ISBIGENDIAN(x))\n#define SDL_AUDIO_ISUNSIGNED(x)      (!SDL_AUDIO_ISSIGNED(x))\n\n/**\n *  \\name Audio format flags\n *\n *  Defaults to LSB byte order.\n */\n/* @{ */\n#define AUDIO_U8        0x0008  /**< Unsigned 8-bit samples */\n#define AUDIO_S8        0x8008  /**< Signed 8-bit samples */\n#define AUDIO_U16LSB    0x0010  /**< Unsigned 16-bit samples */\n#define AUDIO_S16LSB    0x8010  /**< Signed 16-bit samples */\n#define AUDIO_U16MSB    0x1010  /**< As above, but big-endian byte order */\n#define AUDIO_S16MSB    0x9010  /**< As above, but big-endian byte order */\n#define AUDIO_U16       AUDIO_U16LSB\n#define AUDIO_S16       AUDIO_S16LSB\n/* @} */\n\n/**\n *  \\name int32 support\n */\n/* @{ */\n#define AUDIO_S32LSB    0x8020  /**< 32-bit integer samples */\n#define AUDIO_S32MSB    0x9020  /**< As above, but big-endian byte order */\n#define AUDIO_S32       AUDIO_S32LSB\n/* @} */\n\n/**\n *  \\name float32 support\n */\n/* @{ */\n#define AUDIO_F32LSB    0x8120  /**< 32-bit floating point samples */\n#define AUDIO_F32MSB    0x9120  /**< As above, but big-endian byte order */\n#define AUDIO_F32       AUDIO_F32LSB\n/* @} */\n\n/**\n *  \\name Native audio byte ordering\n */\n/* @{ */\n#if SDL_BYTEORDER == SDL_LIL_ENDIAN\n#define AUDIO_U16SYS    AUDIO_U16LSB\n#define AUDIO_S16SYS    AUDIO_S16LSB\n#define AUDIO_S32SYS    AUDIO_S32LSB\n#define AUDIO_F32SYS    AUDIO_F32LSB\n#else\n#define AUDIO_U16SYS    AUDIO_U16MSB\n#define AUDIO_S16SYS    AUDIO_S16MSB\n#define AUDIO_S32SYS    AUDIO_S32MSB\n#define AUDIO_F32SYS    AUDIO_F32MSB\n#endif\n/* @} */\n\n/**\n *  \\name Allow change flags\n *\n *  Which audio format changes are allowed when opening a device.\n */\n/* @{ */\n#define SDL_AUDIO_ALLOW_FREQUENCY_CHANGE    0x00000001\n#define SDL_AUDIO_ALLOW_FORMAT_CHANGE       0x00000002\n#define SDL_AUDIO_ALLOW_CHANNELS_CHANGE     0x00000004\n#define SDL_AUDIO_ALLOW_ANY_CHANGE          (SDL_AUDIO_ALLOW_FREQUENCY_CHANGE|SDL_AUDIO_ALLOW_FORMAT_CHANGE|SDL_AUDIO_ALLOW_CHANNELS_CHANGE)\n/* @} */\n\n/* @} *//* Audio flags */\n\n/**\n *  This function is called when the audio device needs more data.\n *\n *  \\param userdata An application-specific parameter saved in\n *                  the SDL_AudioSpec structure\n *  \\param stream A pointer to the audio data buffer.\n *  \\param len    The length of that buffer in bytes.\n *\n *  Once the callback returns, the buffer will no longer be valid.\n *  Stereo samples are stored in a LRLRLR ordering.\n *\n *  You can choose to avoid callbacks and use SDL_QueueAudio() instead, if\n *  you like. Just open your audio device with a NULL callback.\n */\ntypedef void (SDLCALL * SDL_AudioCallback) (void *userdata, Uint8 * stream,\n                                            int len);\n\n/**\n *  The calculated values in this structure are calculated by SDL_OpenAudio().\n */\ntypedef struct SDL_AudioSpec\n{\n    int freq;                   /**< DSP frequency -- samples per second */\n    SDL_AudioFormat format;     /**< Audio data format */\n    Uint8 channels;             /**< Number of channels: 1 mono, 2 stereo */\n    Uint8 silence;              /**< Audio buffer silence value (calculated) */\n    Uint16 samples;             /**< Audio buffer size in samples (power of 2) */\n    Uint16 padding;             /**< Necessary for some compile environments */\n    Uint32 size;                /**< Audio buffer size in bytes (calculated) */\n    SDL_AudioCallback callback; /**< Callback that feeds the audio device (NULL to use SDL_QueueAudio()). */\n    void *userdata;             /**< Userdata passed to callback (ignored for NULL callbacks). */\n} SDL_AudioSpec;\n\n\nstruct SDL_AudioCVT;\ntypedef void (SDLCALL * SDL_AudioFilter) (struct SDL_AudioCVT * cvt,\n                                          SDL_AudioFormat format);\n\n/**\n *  A structure to hold a set of audio conversion filters and buffers.\n */\n#ifdef __GNUC__\n/* This structure is 84 bytes on 32-bit architectures, make sure GCC doesn't\n   pad it out to 88 bytes to guarantee ABI compatibility between compilers.\n   vvv\n   The next time we rev the ABI, make sure to size the ints and add padding.\n*/\n#define SDL_AUDIOCVT_PACKED __attribute__((packed))\n#else\n#define SDL_AUDIOCVT_PACKED\n#endif\n/* */\ntypedef struct SDL_AudioCVT\n{\n    int needed;                 /**< Set to 1 if conversion possible */\n    SDL_AudioFormat src_format; /**< Source audio format */\n    SDL_AudioFormat dst_format; /**< Target audio format */\n    double rate_incr;           /**< Rate conversion increment */\n    Uint8 *buf;                 /**< Buffer to hold entire audio data */\n    int len;                    /**< Length of original audio buffer */\n    int len_cvt;                /**< Length of converted audio buffer */\n    int len_mult;               /**< buffer must be len*len_mult big */\n    double len_ratio;           /**< Given len, final size is len*len_ratio */\n    SDL_AudioFilter filters[10];        /**< Filter list */\n    int filter_index;           /**< Current audio conversion function */\n} SDL_AUDIOCVT_PACKED SDL_AudioCVT;\n\n\n/* Function prototypes */\n\n/**\n *  \\name Driver discovery functions\n *\n *  These functions return the list of built in audio drivers, in the\n *  order that they are normally initialized by default.\n */\n/* @{ */\nextern DECLSPEC int SDLCALL SDL_GetNumAudioDrivers(void);\nextern DECLSPEC const char *SDLCALL SDL_GetAudioDriver(int index);\n/* @} */\n\n/**\n *  \\name Initialization and cleanup\n *\n *  \\internal These functions are used internally, and should not be used unless\n *            you have a specific need to specify the audio driver you want to\n *            use.  You should normally use SDL_Init() or SDL_InitSubSystem().\n */\n/* @{ */\nextern DECLSPEC int SDLCALL SDL_AudioInit(const char *driver_name);\nextern DECLSPEC void SDLCALL SDL_AudioQuit(void);\n/* @} */\n\n/**\n *  This function returns the name of the current audio driver, or NULL\n *  if no driver has been initialized.\n */\nextern DECLSPEC const char *SDLCALL SDL_GetCurrentAudioDriver(void);\n\n/**\n *  This function opens the audio device with the desired parameters, and\n *  returns 0 if successful, placing the actual hardware parameters in the\n *  structure pointed to by \\c obtained.  If \\c obtained is NULL, the audio\n *  data passed to the callback function will be guaranteed to be in the\n *  requested format, and will be automatically converted to the hardware\n *  audio format if necessary.  This function returns -1 if it failed\n *  to open the audio device, or couldn't set up the audio thread.\n *\n *  When filling in the desired audio spec structure,\n *    - \\c desired->freq should be the desired audio frequency in samples-per-\n *      second.\n *    - \\c desired->format should be the desired audio format.\n *    - \\c desired->samples is the desired size of the audio buffer, in\n *      samples.  This number should be a power of two, and may be adjusted by\n *      the audio driver to a value more suitable for the hardware.  Good values\n *      seem to range between 512 and 8096 inclusive, depending on the\n *      application and CPU speed.  Smaller values yield faster response time,\n *      but can lead to underflow if the application is doing heavy processing\n *      and cannot fill the audio buffer in time.  A stereo sample consists of\n *      both right and left channels in LR ordering.\n *      Note that the number of samples is directly related to time by the\n *      following formula:  \\code ms = (samples*1000)/freq \\endcode\n *    - \\c desired->size is the size in bytes of the audio buffer, and is\n *      calculated by SDL_OpenAudio().\n *    - \\c desired->silence is the value used to set the buffer to silence,\n *      and is calculated by SDL_OpenAudio().\n *    - \\c desired->callback should be set to a function that will be called\n *      when the audio device is ready for more data.  It is passed a pointer\n *      to the audio buffer, and the length in bytes of the audio buffer.\n *      This function usually runs in a separate thread, and so you should\n *      protect data structures that it accesses by calling SDL_LockAudio()\n *      and SDL_UnlockAudio() in your code. Alternately, you may pass a NULL\n *      pointer here, and call SDL_QueueAudio() with some frequency, to queue\n *      more audio samples to be played.\n *    - \\c desired->userdata is passed as the first parameter to your callback\n *      function. If you passed a NULL callback, this value is ignored.\n *\n *  The audio device starts out playing silence when it's opened, and should\n *  be enabled for playing by calling \\c SDL_PauseAudio(0) when you are ready\n *  for your audio callback function to be called.  Since the audio driver\n *  may modify the requested size of the audio buffer, you should allocate\n *  any local mixing buffers after you open the audio device.\n */\nextern DECLSPEC int SDLCALL SDL_OpenAudio(SDL_AudioSpec * desired,\n                                          SDL_AudioSpec * obtained);\n\n/**\n *  SDL Audio Device IDs.\n *\n *  A successful call to SDL_OpenAudio() is always device id 1, and legacy\n *  SDL audio APIs assume you want this device ID. SDL_OpenAudioDevice() calls\n *  always returns devices >= 2 on success. The legacy calls are good both\n *  for backwards compatibility and when you don't care about multiple,\n *  specific, or capture devices.\n */\ntypedef Uint32 SDL_AudioDeviceID;\n\n/**\n *  Get the number of available devices exposed by the current driver.\n *  Only valid after a successfully initializing the audio subsystem.\n *  Returns -1 if an explicit list of devices can't be determined; this is\n *  not an error. For example, if SDL is set up to talk to a remote audio\n *  server, it can't list every one available on the Internet, but it will\n *  still allow a specific host to be specified to SDL_OpenAudioDevice().\n *\n *  In many common cases, when this function returns a value <= 0, it can still\n *  successfully open the default device (NULL for first argument of\n *  SDL_OpenAudioDevice()).\n */\nextern DECLSPEC int SDLCALL SDL_GetNumAudioDevices(int iscapture);\n\n/**\n *  Get the human-readable name of a specific audio device.\n *  Must be a value between 0 and (number of audio devices-1).\n *  Only valid after a successfully initializing the audio subsystem.\n *  The values returned by this function reflect the latest call to\n *  SDL_GetNumAudioDevices(); recall that function to redetect available\n *  hardware.\n *\n *  The string returned by this function is UTF-8 encoded, read-only, and\n *  managed internally. You are not to free it. If you need to keep the\n *  string for any length of time, you should make your own copy of it, as it\n *  will be invalid next time any of several other SDL functions is called.\n */\nextern DECLSPEC const char *SDLCALL SDL_GetAudioDeviceName(int index,\n                                                           int iscapture);\n\n\n/**\n *  Open a specific audio device. Passing in a device name of NULL requests\n *  the most reasonable default (and is equivalent to calling SDL_OpenAudio()).\n *\n *  The device name is a UTF-8 string reported by SDL_GetAudioDeviceName(), but\n *  some drivers allow arbitrary and driver-specific strings, such as a\n *  hostname/IP address for a remote audio server, or a filename in the\n *  diskaudio driver.\n *\n *  \\return 0 on error, a valid device ID that is >= 2 on success.\n *\n *  SDL_OpenAudio(), unlike this function, always acts on device ID 1.\n */\nextern DECLSPEC SDL_AudioDeviceID SDLCALL SDL_OpenAudioDevice(const char\n                                                              *device,\n                                                              int iscapture,\n                                                              const\n                                                              SDL_AudioSpec *\n                                                              desired,\n                                                              SDL_AudioSpec *\n                                                              obtained,\n                                                              int\n                                                              allowed_changes);\n\n\n\n/**\n *  \\name Audio state\n *\n *  Get the current audio state.\n */\n/* @{ */\ntypedef enum\n{\n    SDL_AUDIO_STOPPED = 0,\n    SDL_AUDIO_PLAYING,\n    SDL_AUDIO_PAUSED\n} SDL_AudioStatus;\nextern DECLSPEC SDL_AudioStatus SDLCALL SDL_GetAudioStatus(void);\n\nextern DECLSPEC SDL_AudioStatus SDLCALL\nSDL_GetAudioDeviceStatus(SDL_AudioDeviceID dev);\n/* @} *//* Audio State */\n\n/**\n *  \\name Pause audio functions\n *\n *  These functions pause and unpause the audio callback processing.\n *  They should be called with a parameter of 0 after opening the audio\n *  device to start playing sound.  This is so you can safely initialize\n *  data for your callback function after opening the audio device.\n *  Silence will be written to the audio device during the pause.\n */\n/* @{ */\nextern DECLSPEC void SDLCALL SDL_PauseAudio(int pause_on);\nextern DECLSPEC void SDLCALL SDL_PauseAudioDevice(SDL_AudioDeviceID dev,\n                                                  int pause_on);\n/* @} *//* Pause audio functions */\n\n/**\n *  This function loads a WAVE from the data source, automatically freeing\n *  that source if \\c freesrc is non-zero.  For example, to load a WAVE file,\n *  you could do:\n *  \\code\n *      SDL_LoadWAV_RW(SDL_RWFromFile(\"sample.wav\", \"rb\"), 1, ...);\n *  \\endcode\n *\n *  If this function succeeds, it returns the given SDL_AudioSpec,\n *  filled with the audio data format of the wave data, and sets\n *  \\c *audio_buf to a malloc()'d buffer containing the audio data,\n *  and sets \\c *audio_len to the length of that audio buffer, in bytes.\n *  You need to free the audio buffer with SDL_FreeWAV() when you are\n *  done with it.\n *\n *  This function returns NULL and sets the SDL error message if the\n *  wave file cannot be opened, uses an unknown data format, or is\n *  corrupt.  Currently raw and MS-ADPCM WAVE files are supported.\n */\nextern DECLSPEC SDL_AudioSpec *SDLCALL SDL_LoadWAV_RW(SDL_RWops * src,\n                                                      int freesrc,\n                                                      SDL_AudioSpec * spec,\n                                                      Uint8 ** audio_buf,\n                                                      Uint32 * audio_len);\n\n/**\n *  Loads a WAV from a file.\n *  Compatibility convenience function.\n */\n#define SDL_LoadWAV(file, spec, audio_buf, audio_len) \\\n    SDL_LoadWAV_RW(SDL_RWFromFile(file, \"rb\"),1, spec,audio_buf,audio_len)\n\n/**\n *  This function frees data previously allocated with SDL_LoadWAV_RW()\n */\nextern DECLSPEC void SDLCALL SDL_FreeWAV(Uint8 * audio_buf);\n\n/**\n *  This function takes a source format and rate and a destination format\n *  and rate, and initializes the \\c cvt structure with information needed\n *  by SDL_ConvertAudio() to convert a buffer of audio data from one format\n *  to the other.\n *\n *  \\return -1 if the format conversion is not supported, 0 if there's\n *  no conversion needed, or 1 if the audio filter is set up.\n */\nextern DECLSPEC int SDLCALL SDL_BuildAudioCVT(SDL_AudioCVT * cvt,\n                                              SDL_AudioFormat src_format,\n                                              Uint8 src_channels,\n                                              int src_rate,\n                                              SDL_AudioFormat dst_format,\n                                              Uint8 dst_channels,\n                                              int dst_rate);\n\n/**\n *  Once you have initialized the \\c cvt structure using SDL_BuildAudioCVT(),\n *  created an audio buffer \\c cvt->buf, and filled it with \\c cvt->len bytes of\n *  audio data in the source format, this function will convert it in-place\n *  to the desired format.\n *\n *  The data conversion may expand the size of the audio data, so the buffer\n *  \\c cvt->buf should be allocated after the \\c cvt structure is initialized by\n *  SDL_BuildAudioCVT(), and should be \\c cvt->len*cvt->len_mult bytes long.\n */\nextern DECLSPEC int SDLCALL SDL_ConvertAudio(SDL_AudioCVT * cvt);\n\n#define SDL_MIX_MAXVOLUME 128\n/**\n *  This takes two audio buffers of the playing audio format and mixes\n *  them, performing addition, volume adjustment, and overflow clipping.\n *  The volume ranges from 0 - 128, and should be set to ::SDL_MIX_MAXVOLUME\n *  for full audio volume.  Note this does not change hardware volume.\n *  This is provided for convenience -- you can mix your own audio data.\n */\nextern DECLSPEC void SDLCALL SDL_MixAudio(Uint8 * dst, const Uint8 * src,\n                                          Uint32 len, int volume);\n\n/**\n *  This works like SDL_MixAudio(), but you specify the audio format instead of\n *  using the format of audio device 1. Thus it can be used when no audio\n *  device is open at all.\n */\nextern DECLSPEC void SDLCALL SDL_MixAudioFormat(Uint8 * dst,\n                                                const Uint8 * src,\n                                                SDL_AudioFormat format,\n                                                Uint32 len, int volume);\n\n/**\n *  Queue more audio on non-callback devices.\n *\n *  SDL offers two ways to feed audio to the device: you can either supply a\n *  callback that SDL triggers with some frequency to obtain more audio\n *  (pull method), or you can supply no callback, and then SDL will expect\n *  you to supply data at regular intervals (push method) with this function.\n *\n *  There are no limits on the amount of data you can queue, short of\n *  exhaustion of address space. Queued data will drain to the device as\n *  necessary without further intervention from you. If the device needs\n *  audio but there is not enough queued, it will play silence to make up\n *  the difference. This means you will have skips in your audio playback\n *  if you aren't routinely queueing sufficient data.\n *\n *  This function copies the supplied data, so you are safe to free it when\n *  the function returns. This function is thread-safe, but queueing to the\n *  same device from two threads at once does not promise which buffer will\n *  be queued first.\n *\n *  You may not queue audio on a device that is using an application-supplied\n *  callback; doing so returns an error. You have to use the audio callback\n *  or queue audio with this function, but not both.\n *\n *  You should not call SDL_LockAudio() on the device before queueing; SDL\n *  handles locking internally for this function.\n *\n *  \\param dev The device ID to which we will queue audio.\n *  \\param data The data to queue to the device for later playback.\n *  \\param len The number of bytes (not samples!) to which (data) points.\n *  \\return zero on success, -1 on error.\n *\n *  \\sa SDL_GetQueuedAudioSize\n *  \\sa SDL_ClearQueuedAudio\n */\nextern DECLSPEC int SDLCALL SDL_QueueAudio(SDL_AudioDeviceID dev, const void *data, Uint32 len);\n\n/**\n *  Get the number of bytes of still-queued audio.\n *\n *  This is the number of bytes that have been queued for playback with\n *  SDL_QueueAudio(), but have not yet been sent to the hardware.\n *\n *  Once we've sent it to the hardware, this function can not decide the exact\n *  byte boundary of what has been played. It's possible that we just gave the\n *  hardware several kilobytes right before you called this function, but it\n *  hasn't played any of it yet, or maybe half of it, etc.\n *\n *  You may not queue audio on a device that is using an application-supplied\n *  callback; calling this function on such a device always returns 0.\n *  You have to use the audio callback or queue audio with SDL_QueueAudio(),\n *  but not both.\n *\n *  You should not call SDL_LockAudio() on the device before querying; SDL\n *  handles locking internally for this function.\n *\n *  \\param dev The device ID of which we will query queued audio size.\n *  \\return Number of bytes (not samples!) of queued audio.\n *\n *  \\sa SDL_QueueAudio\n *  \\sa SDL_ClearQueuedAudio\n */\nextern DECLSPEC Uint32 SDLCALL SDL_GetQueuedAudioSize(SDL_AudioDeviceID dev);\n\n/**\n *  Drop any queued audio data waiting to be sent to the hardware.\n *\n *  Immediately after this call, SDL_GetQueuedAudioSize() will return 0 and\n *  the hardware will start playing silence if more audio isn't queued.\n *\n *  This will not prevent playback of queued audio that's already been sent\n *  to the hardware, as we can not undo that, so expect there to be some\n *  fraction of a second of audio that might still be heard. This can be\n *  useful if you want to, say, drop any pending music during a level change\n *  in your game.\n *\n *  You may not queue audio on a device that is using an application-supplied\n *  callback; calling this function on such a device is always a no-op.\n *  You have to use the audio callback or queue audio with SDL_QueueAudio(),\n *  but not both.\n *\n *  You should not call SDL_LockAudio() on the device before clearing the\n *  queue; SDL handles locking internally for this function.\n *\n *  This function always succeeds and thus returns void.\n *\n *  \\param dev The device ID of which to clear the audio queue.\n *\n *  \\sa SDL_QueueAudio\n *  \\sa SDL_GetQueuedAudioSize\n */\nextern DECLSPEC void SDLCALL SDL_ClearQueuedAudio(SDL_AudioDeviceID dev);\n\n\n/**\n *  \\name Audio lock functions\n *\n *  The lock manipulated by these functions protects the callback function.\n *  During a SDL_LockAudio()/SDL_UnlockAudio() pair, you can be guaranteed that\n *  the callback function is not running.  Do not call these from the callback\n *  function or you will cause deadlock.\n */\n/* @{ */\nextern DECLSPEC void SDLCALL SDL_LockAudio(void);\nextern DECLSPEC void SDLCALL SDL_LockAudioDevice(SDL_AudioDeviceID dev);\nextern DECLSPEC void SDLCALL SDL_UnlockAudio(void);\nextern DECLSPEC void SDLCALL SDL_UnlockAudioDevice(SDL_AudioDeviceID dev);\n/* @} *//* Audio lock functions */\n\n/**\n *  This function shuts down audio processing and closes the audio device.\n */\nextern DECLSPEC void SDLCALL SDL_CloseAudio(void);\nextern DECLSPEC void SDLCALL SDL_CloseAudioDevice(SDL_AudioDeviceID dev);\n\n/* Ends C function definitions when using C++ */\n#ifdef __cplusplus\n}\n#endif\n#include \"close_code.h\"\n\n#endif /* _SDL_audio_h */\n\n/* vi: set ts=4 sw=4 expandtab: */\n"
  },
  {
    "path": "external/SDL2-2.0.4/include/SDL_bits.h",
    "content": "/*\n  Simple DirectMedia Layer\n  Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>\n\n  This software is provided 'as-is', without any express or implied\n  warranty.  In no event will the authors be held liable for any damages\n  arising from the use of this software.\n\n  Permission is granted to anyone to use this software for any purpose,\n  including commercial applications, and to alter it and redistribute it\n  freely, subject to the following restrictions:\n\n  1. The origin of this software must not be misrepresented; you must not\n     claim that you wrote the original software. If you use this software\n     in a product, an acknowledgment in the product documentation would be\n     appreciated but is not required.\n  2. Altered source versions must be plainly marked as such, and must not be\n     misrepresented as being the original software.\n  3. This notice may not be removed or altered from any source distribution.\n*/\n\n/**\n *  \\file SDL_bits.h\n *\n *  Functions for fiddling with bits and bitmasks.\n */\n\n#ifndef _SDL_bits_h\n#define _SDL_bits_h\n\n#include \"SDL_stdinc.h\"\n\n#include \"begin_code.h\"\n/* Set up for C function definitions, even when using C++ */\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n/**\n *  \\file SDL_bits.h\n */\n\n/**\n *  Get the index of the most significant bit. Result is undefined when called\n *  with 0. This operation can also be stated as \"count leading zeroes\" and\n *  \"log base 2\".\n *\n *  \\return Index of the most significant bit, or -1 if the value is 0.\n */\nSDL_FORCE_INLINE int\nSDL_MostSignificantBitIndex32(Uint32 x)\n{\n#if defined(__GNUC__) && __GNUC__ >= 4\n    /* Count Leading Zeroes builtin in GCC.\n     * http://gcc.gnu.org/onlinedocs/gcc-4.3.4/gcc/Other-Builtins.html\n     */\n    if (x == 0) {\n        return -1;\n    }\n    return 31 - __builtin_clz(x);\n#else\n    /* Based off of Bit Twiddling Hacks by Sean Eron Anderson\n     * <seander@cs.stanford.edu>, released in the public domain.\n     * http://graphics.stanford.edu/~seander/bithacks.html#IntegerLog\n     */\n    const Uint32 b[] = {0x2, 0xC, 0xF0, 0xFF00, 0xFFFF0000};\n    const int    S[] = {1, 2, 4, 8, 16};\n\n    int msbIndex = 0;\n    int i;\n\n    if (x == 0) {\n        return -1;\n    }\n\n    for (i = 4; i >= 0; i--)\n    {\n        if (x & b[i])\n        {\n            x >>= S[i];\n            msbIndex |= S[i];\n        }\n    }\n\n    return msbIndex;\n#endif\n}\n\n/* Ends C function definitions when using C++ */\n#ifdef __cplusplus\n}\n#endif\n#include \"close_code.h\"\n\n#endif /* _SDL_bits_h */\n\n/* vi: set ts=4 sw=4 expandtab: */\n"
  },
  {
    "path": "external/SDL2-2.0.4/include/SDL_blendmode.h",
    "content": "/*\n  Simple DirectMedia Layer\n  Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>\n\n  This software is provided 'as-is', without any express or implied\n  warranty.  In no event will the authors be held liable for any damages\n  arising from the use of this software.\n\n  Permission is granted to anyone to use this software for any purpose,\n  including commercial applications, and to alter it and redistribute it\n  freely, subject to the following restrictions:\n\n  1. The origin of this software must not be misrepresented; you must not\n     claim that you wrote the original software. If you use this software\n     in a product, an acknowledgment in the product documentation would be\n     appreciated but is not required.\n  2. Altered source versions must be plainly marked as such, and must not be\n     misrepresented as being the original software.\n  3. This notice may not be removed or altered from any source distribution.\n*/\n\n/**\n *  \\file SDL_blendmode.h\n *\n *  Header file declaring the SDL_BlendMode enumeration\n */\n\n#ifndef _SDL_blendmode_h\n#define _SDL_blendmode_h\n\n#include \"begin_code.h\"\n/* Set up for C function definitions, even when using C++ */\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n/**\n *  \\brief The blend mode used in SDL_RenderCopy() and drawing operations.\n */\ntypedef enum\n{\n    SDL_BLENDMODE_NONE = 0x00000000,     /**< no blending\n                                              dstRGBA = srcRGBA */\n    SDL_BLENDMODE_BLEND = 0x00000001,    /**< alpha blending\n                                              dstRGB = (srcRGB * srcA) + (dstRGB * (1-srcA))\n                                              dstA = srcA + (dstA * (1-srcA)) */\n    SDL_BLENDMODE_ADD = 0x00000002,      /**< additive blending\n                                              dstRGB = (srcRGB * srcA) + dstRGB\n                                              dstA = dstA */\n    SDL_BLENDMODE_MOD = 0x00000004       /**< color modulate\n                                              dstRGB = srcRGB * dstRGB\n                                              dstA = dstA */\n} SDL_BlendMode;\n\n/* Ends C function definitions when using C++ */\n#ifdef __cplusplus\n}\n#endif\n#include \"close_code.h\"\n\n#endif /* _SDL_blendmode_h */\n\n/* vi: set ts=4 sw=4 expandtab: */\n"
  },
  {
    "path": "external/SDL2-2.0.4/include/SDL_clipboard.h",
    "content": "/*\n  Simple DirectMedia Layer\n  Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>\n\n  This software is provided 'as-is', without any express or implied\n  warranty.  In no event will the authors be held liable for any damages\n  arising from the use of this software.\n\n  Permission is granted to anyone to use this software for any purpose,\n  including commercial applications, and to alter it and redistribute it\n  freely, subject to the following restrictions:\n\n  1. The origin of this software must not be misrepresented; you must not\n     claim that you wrote the original software. If you use this software\n     in a product, an acknowledgment in the product documentation would be\n     appreciated but is not required.\n  2. Altered source versions must be plainly marked as such, and must not be\n     misrepresented as being the original software.\n  3. This notice may not be removed or altered from any source distribution.\n*/\n\n/**\n * \\file SDL_clipboard.h\n *\n * Include file for SDL clipboard handling\n */\n\n#ifndef _SDL_clipboard_h\n#define _SDL_clipboard_h\n\n#include \"SDL_stdinc.h\"\n\n#include \"begin_code.h\"\n/* Set up for C function definitions, even when using C++ */\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n/* Function prototypes */\n\n/**\n * \\brief Put UTF-8 text into the clipboard\n *\n * \\sa SDL_GetClipboardText()\n */\nextern DECLSPEC int SDLCALL SDL_SetClipboardText(const char *text);\n\n/**\n * \\brief Get UTF-8 text from the clipboard, which must be freed with SDL_free()\n *\n * \\sa SDL_SetClipboardText()\n */\nextern DECLSPEC char * SDLCALL SDL_GetClipboardText(void);\n\n/**\n * \\brief Returns a flag indicating whether the clipboard exists and contains a text string that is non-empty\n *\n * \\sa SDL_GetClipboardText()\n */\nextern DECLSPEC SDL_bool SDLCALL SDL_HasClipboardText(void);\n\n\n/* Ends C function definitions when using C++ */\n#ifdef __cplusplus\n}\n#endif\n#include \"close_code.h\"\n\n#endif /* _SDL_clipboard_h */\n\n/* vi: set ts=4 sw=4 expandtab: */\n"
  },
  {
    "path": "external/SDL2-2.0.4/include/SDL_config.h",
    "content": "/*\n  Simple DirectMedia Layer\n  Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>\n\n  This software is provided 'as-is', without any express or implied\n  warranty.  In no event will the authors be held liable for any damages\n  arising from the use of this software.\n\n  Permission is granted to anyone to use this software for any purpose,\n  including commercial applications, and to alter it and redistribute it\n  freely, subject to the following restrictions:\n\n  1. The origin of this software must not be misrepresented; you must not\n     claim that you wrote the original software. If you use this software\n     in a product, an acknowledgment in the product documentation would be\n     appreciated but is not required.\n  2. Altered source versions must be plainly marked as such, and must not be\n     misrepresented as being the original software.\n  3. This notice may not be removed or altered from any source distribution.\n*/\n\n#ifndef _SDL_config_windows_h\n#define _SDL_config_windows_h\n\n#include \"SDL_platform.h\"\n\n/* This is a set of defines to configure the SDL features */\n\n#if !defined(_STDINT_H_) && (!defined(HAVE_STDINT_H) || !_HAVE_STDINT_H)\n#if defined(__GNUC__) || defined(__DMC__) || defined(__WATCOMC__)\n#define HAVE_STDINT_H   1\n#elif defined(_MSC_VER)\ntypedef signed __int8 int8_t;\ntypedef unsigned __int8 uint8_t;\ntypedef signed __int16 int16_t;\ntypedef unsigned __int16 uint16_t;\ntypedef signed __int32 int32_t;\ntypedef unsigned __int32 uint32_t;\ntypedef signed __int64 int64_t;\ntypedef unsigned __int64 uint64_t;\n#ifndef _UINTPTR_T_DEFINED\n#ifdef  _WIN64\ntypedef unsigned __int64 uintptr_t;\n#else\ntypedef unsigned int uintptr_t;\n#endif\n#define _UINTPTR_T_DEFINED\n#endif\n/* Older Visual C++ headers don't have the Win64-compatible typedefs... */\n#if ((_MSC_VER <= 1200) && (!defined(DWORD_PTR)))\n#define DWORD_PTR DWORD\n#endif\n#if ((_MSC_VER <= 1200) && (!defined(LONG_PTR)))\n#define LONG_PTR LONG\n#endif\n#else /* !__GNUC__ && !_MSC_VER */\ntypedef signed char int8_t;\ntypedef unsigned char uint8_t;\ntypedef signed short int16_t;\ntypedef unsigned short uint16_t;\ntypedef signed int int32_t;\ntypedef unsigned int uint32_t;\ntypedef signed long long int64_t;\ntypedef unsigned long long uint64_t;\n#ifndef _SIZE_T_DEFINED_\n#define _SIZE_T_DEFINED_\ntypedef unsigned int size_t;\n#endif\ntypedef unsigned int uintptr_t;\n#endif /* __GNUC__ || _MSC_VER */\n#endif /* !_STDINT_H_ && !HAVE_STDINT_H */\n\n#ifdef _WIN64\n# define SIZEOF_VOIDP 8\n#else\n# define SIZEOF_VOIDP 4\n#endif\n\n#define HAVE_DDRAW_H 1\n#define HAVE_DINPUT_H 1\n#define HAVE_DSOUND_H 1\n#define HAVE_DXGI_H 1\n#define HAVE_XINPUT_H 1\n\n/* This is disabled by default to avoid C runtime dependencies and manifest requirements */\n#ifdef HAVE_LIBC\n/* Useful headers */\n#define HAVE_STDIO_H 1\n#define STDC_HEADERS 1\n#define HAVE_STRING_H 1\n#define HAVE_CTYPE_H 1\n#define HAVE_MATH_H 1\n#define HAVE_SIGNAL_H 1\n\n/* C library functions */\n#define HAVE_MALLOC 1\n#define HAVE_CALLOC 1\n#define HAVE_REALLOC 1\n#define HAVE_FREE 1\n#define HAVE_ALLOCA 1\n#define HAVE_QSORT 1\n#define HAVE_ABS 1\n#define HAVE_MEMSET 1\n#define HAVE_MEMCPY 1\n#define HAVE_MEMMOVE 1\n#define HAVE_MEMCMP 1\n#define HAVE_STRLEN 1\n#define HAVE__STRREV 1\n#define HAVE__STRUPR 1\n#define HAVE__STRLWR 1\n#define HAVE_STRCHR 1\n#define HAVE_STRRCHR 1\n#define HAVE_STRSTR 1\n#define HAVE__LTOA 1\n#define HAVE__ULTOA 1\n#define HAVE_STRTOL 1\n#define HAVE_STRTOUL 1\n#define HAVE_STRTOD 1\n#define HAVE_ATOI 1\n#define HAVE_ATOF 1\n#define HAVE_STRCMP 1\n#define HAVE_STRNCMP 1\n#define HAVE__STRICMP 1\n#define HAVE__STRNICMP 1\n#define HAVE_ATAN 1\n#define HAVE_ATAN2 1\n#define HAVE_ACOS  1\n#define HAVE_ASIN  1\n#define HAVE_CEIL 1\n#define HAVE_COS 1\n#define HAVE_COSF 1\n#define HAVE_FABS 1\n#define HAVE_FLOOR 1\n#define HAVE_LOG 1\n#define HAVE_POW 1\n#define HAVE_SIN 1\n#define HAVE_SINF 1\n#define HAVE_SQRT 1\n#define HAVE_SQRTF 1\n#define HAVE_TAN 1\n#define HAVE_TANF 1\n#if _MSC_VER >= 1800\n#define HAVE_STRTOLL 1\n#define HAVE_VSSCANF 1\n#define HAVE_COPYSIGN 1\n#define HAVE_SCALBN 1\n#endif\n#if !defined(_MSC_VER) || defined(_USE_MATH_DEFINES)\n#define HAVE_M_PI 1\n#endif\n#else\n#define HAVE_STDARG_H   1\n#define HAVE_STDDEF_H   1\n#endif\n\n/* Enable various audio drivers */\n#define SDL_AUDIO_DRIVER_DSOUND 1\n#define SDL_AUDIO_DRIVER_XAUDIO2    1\n#define SDL_AUDIO_DRIVER_WINMM  1\n#define SDL_AUDIO_DRIVER_DISK   1\n#define SDL_AUDIO_DRIVER_DUMMY  1\n\n/* Enable various input drivers */\n#define SDL_JOYSTICK_DINPUT 1\n#define SDL_JOYSTICK_XINPUT 1\n#define SDL_HAPTIC_DINPUT   1\n#define SDL_HAPTIC_XINPUT   1\n\n/* Enable various shared object loading systems */\n#define SDL_LOADSO_WINDOWS  1\n\n/* Enable various threading systems */\n#define SDL_THREAD_WINDOWS  1\n\n/* Enable various timer systems */\n#define SDL_TIMER_WINDOWS   1\n\n/* Enable various video drivers */\n#define SDL_VIDEO_DRIVER_DUMMY  1\n#define SDL_VIDEO_DRIVER_WINDOWS    1\n\n#ifndef SDL_VIDEO_RENDER_D3D\n#define SDL_VIDEO_RENDER_D3D    1\n#endif\n#ifndef SDL_VIDEO_RENDER_D3D11\n#define SDL_VIDEO_RENDER_D3D11\t0\n#endif\n\n/* Enable OpenGL support */\n#ifndef SDL_VIDEO_OPENGL\n#define SDL_VIDEO_OPENGL    1\n#endif\n#ifndef SDL_VIDEO_OPENGL_WGL\n#define SDL_VIDEO_OPENGL_WGL    1\n#endif\n#ifndef SDL_VIDEO_RENDER_OGL\n#define SDL_VIDEO_RENDER_OGL    1\n#endif\n#ifndef SDL_VIDEO_RENDER_OGL_ES2\n#define SDL_VIDEO_RENDER_OGL_ES2    1\n#endif\n#ifndef SDL_VIDEO_OPENGL_ES2\n#define SDL_VIDEO_OPENGL_ES2    1\n#endif\n#ifndef SDL_VIDEO_OPENGL_EGL\n#define SDL_VIDEO_OPENGL_EGL    1\n#endif\n\n\n/* Enable system power support */\n#define SDL_POWER_WINDOWS 1\n\n/* Enable filesystem support */\n#define SDL_FILESYSTEM_WINDOWS  1\n\n/* Enable assembly routines (Win64 doesn't have inline asm) */\n#ifndef _WIN64\n#define SDL_ASSEMBLY_ROUTINES   1\n#endif\n\n#endif /* _SDL_config_windows_h */\n"
  },
  {
    "path": "external/SDL2-2.0.4/include/SDL_cpuinfo.h",
    "content": "/*\n  Simple DirectMedia Layer\n  Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>\n\n  This software is provided 'as-is', without any express or implied\n  warranty.  In no event will the authors be held liable for any damages\n  arising from the use of this software.\n\n  Permission is granted to anyone to use this software for any purpose,\n  including commercial applications, and to alter it and redistribute it\n  freely, subject to the following restrictions:\n\n  1. The origin of this software must not be misrepresented; you must not\n     claim that you wrote the original software. If you use this software\n     in a product, an acknowledgment in the product documentation would be\n     appreciated but is not required.\n  2. Altered source versions must be plainly marked as such, and must not be\n     misrepresented as being the original software.\n  3. This notice may not be removed or altered from any source distribution.\n*/\n\n/**\n *  \\file SDL_cpuinfo.h\n *\n *  CPU feature detection for SDL.\n */\n\n#ifndef _SDL_cpuinfo_h\n#define _SDL_cpuinfo_h\n\n#include \"SDL_stdinc.h\"\n\n/* Need to do this here because intrin.h has C++ code in it */\n/* Visual Studio 2005 has a bug where intrin.h conflicts with winnt.h */\n#if defined(_MSC_VER) && (_MSC_VER >= 1500) && (defined(_M_IX86) || defined(_M_X64))\n#include <intrin.h>\n#ifndef _WIN64\n#define __MMX__\n#define __3dNOW__\n#endif\n#define __SSE__\n#define __SSE2__\n#elif defined(__MINGW64_VERSION_MAJOR)\n#include <intrin.h>\n#else\n#ifdef __ALTIVEC__\n#if HAVE_ALTIVEC_H && !defined(__APPLE_ALTIVEC__)\n#include <altivec.h>\n#undef pixel\n#endif\n#endif\n#ifdef __MMX__\n#include <mmintrin.h>\n#endif\n#ifdef __3dNOW__\n#include <mm3dnow.h>\n#endif\n#ifdef __SSE__\n#include <xmmintrin.h>\n#endif\n#ifdef __SSE2__\n#include <emmintrin.h>\n#endif\n#endif\n\n#include \"begin_code.h\"\n/* Set up for C function definitions, even when using C++ */\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n/* This is a guess for the cacheline size used for padding.\n * Most x86 processors have a 64 byte cache line.\n * The 64-bit PowerPC processors have a 128 byte cache line.\n * We'll use the larger value to be generally safe.\n */\n#define SDL_CACHELINE_SIZE  128\n\n/**\n *  This function returns the number of CPU cores available.\n */\nextern DECLSPEC int SDLCALL SDL_GetCPUCount(void);\n\n/**\n *  This function returns the L1 cache line size of the CPU\n *\n *  This is useful for determining multi-threaded structure padding\n *  or SIMD prefetch sizes.\n */\nextern DECLSPEC int SDLCALL SDL_GetCPUCacheLineSize(void);\n\n/**\n *  This function returns true if the CPU has the RDTSC instruction.\n */\nextern DECLSPEC SDL_bool SDLCALL SDL_HasRDTSC(void);\n\n/**\n *  This function returns true if the CPU has AltiVec features.\n */\nextern DECLSPEC SDL_bool SDLCALL SDL_HasAltiVec(void);\n\n/**\n *  This function returns true if the CPU has MMX features.\n */\nextern DECLSPEC SDL_bool SDLCALL SDL_HasMMX(void);\n\n/**\n *  This function returns true if the CPU has 3DNow! features.\n */\nextern DECLSPEC SDL_bool SDLCALL SDL_Has3DNow(void);\n\n/**\n *  This function returns true if the CPU has SSE features.\n */\nextern DECLSPEC SDL_bool SDLCALL SDL_HasSSE(void);\n\n/**\n *  This function returns true if the CPU has SSE2 features.\n */\nextern DECLSPEC SDL_bool SDLCALL SDL_HasSSE2(void);\n\n/**\n *  This function returns true if the CPU has SSE3 features.\n */\nextern DECLSPEC SDL_bool SDLCALL SDL_HasSSE3(void);\n\n/**\n *  This function returns true if the CPU has SSE4.1 features.\n */\nextern DECLSPEC SDL_bool SDLCALL SDL_HasSSE41(void);\n\n/**\n *  This function returns true if the CPU has SSE4.2 features.\n */\nextern DECLSPEC SDL_bool SDLCALL SDL_HasSSE42(void);\n\n/**\n *  This function returns true if the CPU has AVX features.\n */\nextern DECLSPEC SDL_bool SDLCALL SDL_HasAVX(void);\n\n/**\n *  This function returns true if the CPU has AVX2 features.\n */\nextern DECLSPEC SDL_bool SDLCALL SDL_HasAVX2(void);\n\n/**\n *  This function returns the amount of RAM configured in the system, in MB.\n */\nextern DECLSPEC int SDLCALL SDL_GetSystemRAM(void);\n\n\n/* Ends C function definitions when using C++ */\n#ifdef __cplusplus\n}\n#endif\n#include \"close_code.h\"\n\n#endif /* _SDL_cpuinfo_h */\n\n/* vi: set ts=4 sw=4 expandtab: */\n"
  },
  {
    "path": "external/SDL2-2.0.4/include/SDL_egl.h",
    "content": "/*\n  Simple DirectMedia Layer\n  Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>\n\n  This software is provided 'as-is', without any express or implied\n  warranty.  In no event will the authors be held liable for any damages\n  arising from the use of this software.\n\n  Permission is granted to anyone to use this software for any purpose,\n  including commercial applications, and to alter it and redistribute it\n  freely, subject to the following restrictions:\n\n  1. The origin of this software must not be misrepresented; you must not\n     claim that you wrote the original software. If you use this software\n     in a product, an acknowledgment in the product documentation would be\n     appreciated but is not required.\n  2. Altered source versions must be plainly marked as such, and must not be\n     misrepresented as being the original software.\n  3. This notice may not be removed or altered from any source distribution.\n*/\n\n/**\n *  \\file SDL_egl.h\n *\n *  This is a simple file to encapsulate the EGL API headers.\n */\n#ifndef _MSC_VER\n\n#include <EGL/egl.h>\n#include <EGL/eglext.h>\n\n#else /* _MSC_VER */\n\n/* EGL headers for Visual Studio */\n\n#ifndef __khrplatform_h_\n#define __khrplatform_h_\n\n/*\n** Copyright (c) 2008-2009 The Khronos Group Inc.\n**\n** Permission is hereby granted, free of charge, to any person obtaining a\n** copy of this software and/or associated documentation files (the\n** \"Materials\"), to deal in the Materials without restriction, including\n** without limitation the rights to use, copy, modify, merge, publish,\n** distribute, sublicense, and/or sell copies of the Materials, and to\n** permit persons to whom the Materials are furnished to do so, subject to\n** the following conditions:\n**\n** The above copyright notice and this permission notice shall be included\n** in all copies or substantial portions of the Materials.\n**\n** THE MATERIALS ARE PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\n** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\n** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\n** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\n** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.\n*/\n\n/* Khronos platform-specific types and definitions.\n*\n* $Revision: 23298 $ on $Date: 2013-09-30 17:07:13 -0700 (Mon, 30 Sep 2013) $\n*\n* Adopters may modify this file to suit their platform. Adopters are\n* encouraged to submit platform specific modifications to the Khronos\n* group so that they can be included in future versions of this file.\n* Please submit changes by sending them to the public Khronos Bugzilla\n* (http://khronos.org/bugzilla) by filing a bug against product\n* \"Khronos (general)\" component \"Registry\".\n*\n* A predefined template which fills in some of the bug fields can be\n* reached using http://tinyurl.com/khrplatform-h-bugreport, but you\n* must create a Bugzilla login first.\n*\n*\n* See the Implementer's Guidelines for information about where this file\n* should be located on your system and for more details of its use:\n*    http://www.khronos.org/registry/implementers_guide.pdf\n*\n* This file should be included as\n*        #include <KHR/khrplatform.h>\n* by Khronos client API header files that use its types and defines.\n*\n* The types in khrplatform.h should only be used to define API-specific types.\n*\n* Types defined in khrplatform.h:\n*    khronos_int8_t              signed   8  bit\n*    khronos_uint8_t             unsigned 8  bit\n*    khronos_int16_t             signed   16 bit\n*    khronos_uint16_t            unsigned 16 bit\n*    khronos_int32_t             signed   32 bit\n*    khronos_uint32_t            unsigned 32 bit\n*    khronos_int64_t             signed   64 bit\n*    khronos_uint64_t            unsigned 64 bit\n*    khronos_intptr_t            signed   same number of bits as a pointer\n*    khronos_uintptr_t           unsigned same number of bits as a pointer\n*    khronos_ssize_t             signed   size\n*    khronos_usize_t             unsigned size\n*    khronos_float_t             signed   32 bit floating point\n*    khronos_time_ns_t           unsigned 64 bit time in nanoseconds\n*    khronos_utime_nanoseconds_t unsigned time interval or absolute time in\n*                                         nanoseconds\n*    khronos_stime_nanoseconds_t signed time interval in nanoseconds\n*    khronos_boolean_enum_t      enumerated boolean type. This should\n*      only be used as a base type when a client API's boolean type is\n*      an enum. Client APIs which use an integer or other type for\n*      booleans cannot use this as the base type for their boolean.\n*\n* Tokens defined in khrplatform.h:\n*\n*    KHRONOS_FALSE, KHRONOS_TRUE Enumerated boolean false/true values.\n*\n*    KHRONOS_SUPPORT_INT64 is 1 if 64 bit integers are supported; otherwise 0.\n*    KHRONOS_SUPPORT_FLOAT is 1 if floats are supported; otherwise 0.\n*\n* Calling convention macros defined in this file:\n*    KHRONOS_APICALL\n*    KHRONOS_APIENTRY\n*    KHRONOS_APIATTRIBUTES\n*\n* These may be used in function prototypes as:\n*\n*      KHRONOS_APICALL void KHRONOS_APIENTRY funcname(\n*                                  int arg1,\n*                                  int arg2) KHRONOS_APIATTRIBUTES;\n*/\n\n/*-------------------------------------------------------------------------\n* Definition of KHRONOS_APICALL\n*-------------------------------------------------------------------------\n* This precedes the return type of the function in the function prototype.\n*/\n#if defined(_WIN32) && !defined(__SCITECH_SNAP__)\n#   define KHRONOS_APICALL __declspec(dllimport)\n#elif defined (__SYMBIAN32__)\n#   define KHRONOS_APICALL IMPORT_C\n#else\n#   define KHRONOS_APICALL\n#endif\n\n/*-------------------------------------------------------------------------\n* Definition of KHRONOS_APIENTRY\n*-------------------------------------------------------------------------\n* This follows the return type of the function  and precedes the function\n* name in the function prototype.\n*/\n#if defined(_WIN32) && !defined(_WIN32_WCE) && !defined(__SCITECH_SNAP__)\n/* Win32 but not WinCE */\n#   define KHRONOS_APIENTRY __stdcall\n#else\n#   define KHRONOS_APIENTRY\n#endif\n\n/*-------------------------------------------------------------------------\n* Definition of KHRONOS_APIATTRIBUTES\n*-------------------------------------------------------------------------\n* This follows the closing parenthesis of the function prototype arguments.\n*/\n#if defined (__ARMCC_2__)\n#define KHRONOS_APIATTRIBUTES __softfp\n#else\n#define KHRONOS_APIATTRIBUTES\n#endif\n\n/*-------------------------------------------------------------------------\n* basic type definitions\n*-----------------------------------------------------------------------*/\n#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || defined(__GNUC__) || defined(__SCO__) || defined(__USLC__)\n\n\n/*\n* Using <stdint.h>\n*/\n#include <stdint.h>\ntypedef int32_t                 khronos_int32_t;\ntypedef uint32_t                khronos_uint32_t;\ntypedef int64_t                 khronos_int64_t;\ntypedef uint64_t                khronos_uint64_t;\n#define KHRONOS_SUPPORT_INT64   1\n#define KHRONOS_SUPPORT_FLOAT   1\n\n#elif defined(__VMS ) || defined(__sgi)\n\n/*\n* Using <inttypes.h>\n*/\n#include <inttypes.h>\ntypedef int32_t                 khronos_int32_t;\ntypedef uint32_t                khronos_uint32_t;\ntypedef int64_t                 khronos_int64_t;\ntypedef uint64_t                khronos_uint64_t;\n#define KHRONOS_SUPPORT_INT64   1\n#define KHRONOS_SUPPORT_FLOAT   1\n\n#elif defined(_WIN32) && !defined(__SCITECH_SNAP__)\n\n/*\n* Win32\n*/\ntypedef __int32                 khronos_int32_t;\ntypedef unsigned __int32        khronos_uint32_t;\ntypedef __int64                 khronos_int64_t;\ntypedef unsigned __int64        khronos_uint64_t;\n#define KHRONOS_SUPPORT_INT64   1\n#define KHRONOS_SUPPORT_FLOAT   1\n\n#elif defined(__sun__) || defined(__digital__)\n\n/*\n* Sun or Digital\n*/\ntypedef int                     khronos_int32_t;\ntypedef unsigned int            khronos_uint32_t;\n#if defined(__arch64__) || defined(_LP64)\ntypedef long int                khronos_int64_t;\ntypedef unsigned long int       khronos_uint64_t;\n#else\ntypedef long long int           khronos_int64_t;\ntypedef unsigned long long int  khronos_uint64_t;\n#endif /* __arch64__ */\n#define KHRONOS_SUPPORT_INT64   1\n#define KHRONOS_SUPPORT_FLOAT   1\n\n#elif 0\n\n/*\n* Hypothetical platform with no float or int64 support\n*/\ntypedef int                     khronos_int32_t;\ntypedef unsigned int            khronos_uint32_t;\n#define KHRONOS_SUPPORT_INT64   0\n#define KHRONOS_SUPPORT_FLOAT   0\n\n#else\n\n/*\n* Generic fallback\n*/\n#include <stdint.h>\ntypedef int32_t                 khronos_int32_t;\ntypedef uint32_t                khronos_uint32_t;\ntypedef int64_t                 khronos_int64_t;\ntypedef uint64_t                khronos_uint64_t;\n#define KHRONOS_SUPPORT_INT64   1\n#define KHRONOS_SUPPORT_FLOAT   1\n\n#endif\n\n\n/*\n* Types that are (so far) the same on all platforms\n*/\ntypedef signed   char          khronos_int8_t;\ntypedef unsigned char          khronos_uint8_t;\ntypedef signed   short int     khronos_int16_t;\ntypedef unsigned short int     khronos_uint16_t;\n\n/*\n* Types that differ between LLP64 and LP64 architectures - in LLP64,\n* pointers are 64 bits, but 'long' is still 32 bits. Win64 appears\n* to be the only LLP64 architecture in current use.\n*/\n#ifdef _WIN64\ntypedef signed   long long int khronos_intptr_t;\ntypedef unsigned long long int khronos_uintptr_t;\ntypedef signed   long long int khronos_ssize_t;\ntypedef unsigned long long int khronos_usize_t;\n#else\ntypedef signed   long  int     khronos_intptr_t;\ntypedef unsigned long  int     khronos_uintptr_t;\ntypedef signed   long  int     khronos_ssize_t;\ntypedef unsigned long  int     khronos_usize_t;\n#endif\n\n#if KHRONOS_SUPPORT_FLOAT\n/*\n* Float type\n*/\ntypedef          float         khronos_float_t;\n#endif\n\n#if KHRONOS_SUPPORT_INT64\n/* Time types\n*\n* These types can be used to represent a time interval in nanoseconds or\n* an absolute Unadjusted System Time.  Unadjusted System Time is the number\n* of nanoseconds since some arbitrary system event (e.g. since the last\n* time the system booted).  The Unadjusted System Time is an unsigned\n* 64 bit value that wraps back to 0 every 584 years.  Time intervals\n* may be either signed or unsigned.\n*/\ntypedef khronos_uint64_t       khronos_utime_nanoseconds_t;\ntypedef khronos_int64_t        khronos_stime_nanoseconds_t;\n#endif\n\n/*\n* Dummy value used to pad enum types to 32 bits.\n*/\n#ifndef KHRONOS_MAX_ENUM\n#define KHRONOS_MAX_ENUM 0x7FFFFFFF\n#endif\n\n/*\n* Enumerated boolean type\n*\n* Values other than zero should be considered to be true.  Therefore\n* comparisons should not be made against KHRONOS_TRUE.\n*/\ntypedef enum {\n    KHRONOS_FALSE = 0,\n    KHRONOS_TRUE = 1,\n    KHRONOS_BOOLEAN_ENUM_FORCE_SIZE = KHRONOS_MAX_ENUM\n} khronos_boolean_enum_t;\n\n#endif /* __khrplatform_h_ */\n\n\n#ifndef __eglplatform_h_\n#define __eglplatform_h_\n\n/*\n** Copyright (c) 2007-2009 The Khronos Group Inc.\n**\n** Permission is hereby granted, free of charge, to any person obtaining a\n** copy of this software and/or associated documentation files (the\n** \"Materials\"), to deal in the Materials without restriction, including\n** without limitation the rights to use, copy, modify, merge, publish,\n** distribute, sublicense, and/or sell copies of the Materials, and to\n** permit persons to whom the Materials are furnished to do so, subject to\n** the following conditions:\n**\n** The above copyright notice and this permission notice shall be included\n** in all copies or substantial portions of the Materials.\n**\n** THE MATERIALS ARE PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\n** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\n** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\n** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\n** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.\n*/\n\n/* Platform-specific types and definitions for egl.h\n* $Revision: 12306 $ on $Date: 2010-08-25 09:51:28 -0700 (Wed, 25 Aug 2010) $\n*\n* Adopters may modify khrplatform.h and this file to suit their platform.\n* You are encouraged to submit all modifications to the Khronos group so that\n* they can be included in future versions of this file.  Please submit changes\n* by sending them to the public Khronos Bugzilla (http://khronos.org/bugzilla)\n* by filing a bug against product \"EGL\" component \"Registry\".\n*/\n\n/*#include <KHR/khrplatform.h>*/\n\n/* Macros used in EGL function prototype declarations.\n*\n* EGL functions should be prototyped as:\n*\n* EGLAPI return-type EGLAPIENTRY eglFunction(arguments);\n* typedef return-type (EXPAPIENTRYP PFNEGLFUNCTIONPROC) (arguments);\n*\n* KHRONOS_APICALL and KHRONOS_APIENTRY are defined in KHR/khrplatform.h\n*/\n\n#ifndef EGLAPI\n#define EGLAPI KHRONOS_APICALL\n#endif\n\n#ifndef EGLAPIENTRY\n#define EGLAPIENTRY  KHRONOS_APIENTRY\n#endif\n#define EGLAPIENTRYP EGLAPIENTRY*\n\n/* The types NativeDisplayType, NativeWindowType, and NativePixmapType\n* are aliases of window-system-dependent types, such as X Display * or\n* Windows Device Context. They must be defined in platform-specific\n* code below. The EGL-prefixed versions of Native*Type are the same\n* types, renamed in EGL 1.3 so all types in the API start with \"EGL\".\n*\n* Khronos STRONGLY RECOMMENDS that you use the default definitions\n* provided below, since these changes affect both binary and source\n* portability of applications using EGL running on different EGL\n* implementations.\n*/\n\n#if defined(_WIN32) || defined(__VC32__) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) /* Win32 and WinCE */\n#ifndef WIN32_LEAN_AND_MEAN\n#define WIN32_LEAN_AND_MEAN 1\n#endif\n#include <windows.h>\n\n#if __WINRT__\n#include <Unknwn.h>\ntypedef IUnknown * EGLNativeWindowType;\ntypedef IUnknown * EGLNativePixmapType;\ntypedef IUnknown * EGLNativeDisplayType;\n#else\ntypedef HDC     EGLNativeDisplayType;\ntypedef HBITMAP EGLNativePixmapType;\ntypedef HWND    EGLNativeWindowType;\n#endif\n\n#elif defined(__WINSCW__) || defined(__SYMBIAN32__)  /* Symbian */\n\ntypedef int   EGLNativeDisplayType;\ntypedef void *EGLNativeWindowType;\ntypedef void *EGLNativePixmapType;\n\n#elif defined(WL_EGL_PLATFORM)\n\ntypedef struct wl_display     *EGLNativeDisplayType;\ntypedef struct wl_egl_pixmap  *EGLNativePixmapType;\ntypedef struct wl_egl_window  *EGLNativeWindowType;\n\n#elif defined(__GBM__)\n\ntypedef struct gbm_device  *EGLNativeDisplayType;\ntypedef struct gbm_bo      *EGLNativePixmapType;\ntypedef void               *EGLNativeWindowType;\n\n#elif defined(__ANDROID__) /* Android */\n\nstruct ANativeWindow;\nstruct egl_native_pixmap_t;\n\ntypedef struct ANativeWindow        *EGLNativeWindowType;\ntypedef struct egl_native_pixmap_t  *EGLNativePixmapType;\ntypedef void                        *EGLNativeDisplayType;\n\n#elif defined(MIR_EGL_PLATFORM)\n\n#include <mir_toolkit/mir_client_library.h>\ntypedef MirEGLNativeDisplayType EGLNativeDisplayType;\ntypedef void                   *EGLNativePixmapType;\ntypedef MirEGLNativeWindowType  EGLNativeWindowType;\n\n#elif defined(__unix__)\n\n#ifdef MESA_EGL_NO_X11_HEADERS\n\ntypedef void            *EGLNativeDisplayType;\ntypedef khronos_uintptr_t EGLNativePixmapType;\ntypedef khronos_uintptr_t EGLNativeWindowType;\n\n#else\n\n/* X11 (tentative)  */\n#include <X11/Xlib.h>\n#include <X11/Xutil.h>\n\ntypedef Display *EGLNativeDisplayType;\ntypedef Pixmap   EGLNativePixmapType;\ntypedef Window   EGLNativeWindowType;\n\n#endif /* MESA_EGL_NO_X11_HEADERS */\n\n#else\n#error \"Platform not recognized\"\n#endif\n\n/* EGL 1.2 types, renamed for consistency in EGL 1.3 */\ntypedef EGLNativeDisplayType NativeDisplayType;\ntypedef EGLNativePixmapType  NativePixmapType;\ntypedef EGLNativeWindowType  NativeWindowType;\n\n\n/* Define EGLint. This must be a signed integral type large enough to contain\n* all legal attribute names and values passed into and out of EGL, whether\n* their type is boolean, bitmask, enumerant (symbolic constant), integer,\n* handle, or other.  While in general a 32-bit integer will suffice, if\n* handles are 64 bit types, then EGLint should be defined as a signed 64-bit\n* integer type.\n*/\ntypedef khronos_int32_t EGLint;\n\n#endif /* __eglplatform_h */\n\n#ifndef __egl_h_\n#define __egl_h_ 1\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n/*\n** Copyright (c) 2013-2015 The Khronos Group Inc.\n**\n** Permission is hereby granted, free of charge, to any person obtaining a\n** copy of this software and/or associated documentation files (the\n** \"Materials\"), to deal in the Materials without restriction, including\n** without limitation the rights to use, copy, modify, merge, publish,\n** distribute, sublicense, and/or sell copies of the Materials, and to\n** permit persons to whom the Materials are furnished to do so, subject to\n** the following conditions:\n**\n** The above copyright notice and this permission notice shall be included\n** in all copies or substantial portions of the Materials.\n**\n** THE MATERIALS ARE PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\n** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\n** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\n** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\n** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.\n*/\n/*\n** This header is generated from the Khronos OpenGL / OpenGL ES XML\n** API Registry. The current version of the Registry, generator scripts\n** used to make the header, and the header can be found at\n**   http://www.opengl.org/registry/\n**\n** Khronos $Revision: 31566 $ on $Date: 2015-06-23 08:48:48 -0700 (Tue, 23 Jun 2015) $\n*/\n\n/*#include <EGL/eglplatform.h>*/\n\n/* Generated on date 20150623 */\n\n/* Generated C header for:\n * API: egl\n * Versions considered: .*\n * Versions emitted: .*\n * Default extensions included: None\n * Additional extensions included: _nomatch_^\n * Extensions removed: _nomatch_^\n */\n\n#ifndef EGL_VERSION_1_0\n#define EGL_VERSION_1_0 1\ntypedef unsigned int EGLBoolean;\ntypedef void *EGLDisplay;\ntypedef void *EGLConfig;\ntypedef void *EGLSurface;\ntypedef void *EGLContext;\ntypedef void (*__eglMustCastToProperFunctionPointerType)(void);\n#define EGL_ALPHA_SIZE                    0x3021\n#define EGL_BAD_ACCESS                    0x3002\n#define EGL_BAD_ALLOC                     0x3003\n#define EGL_BAD_ATTRIBUTE                 0x3004\n#define EGL_BAD_CONFIG                    0x3005\n#define EGL_BAD_CONTEXT                   0x3006\n#define EGL_BAD_CURRENT_SURFACE           0x3007\n#define EGL_BAD_DISPLAY                   0x3008\n#define EGL_BAD_MATCH                     0x3009\n#define EGL_BAD_NATIVE_PIXMAP             0x300A\n#define EGL_BAD_NATIVE_WINDOW             0x300B\n#define EGL_BAD_PARAMETER                 0x300C\n#define EGL_BAD_SURFACE                   0x300D\n#define EGL_BLUE_SIZE                     0x3022\n#define EGL_BUFFER_SIZE                   0x3020\n#define EGL_CONFIG_CAVEAT                 0x3027\n#define EGL_CONFIG_ID                     0x3028\n#define EGL_CORE_NATIVE_ENGINE            0x305B\n#define EGL_DEPTH_SIZE                    0x3025\n#define EGL_DONT_CARE                     ((EGLint)-1)\n#define EGL_DRAW                          0x3059\n#define EGL_EXTENSIONS                    0x3055\n#define EGL_FALSE                         0\n#define EGL_GREEN_SIZE                    0x3023\n#define EGL_HEIGHT                        0x3056\n#define EGL_LARGEST_PBUFFER               0x3058\n#define EGL_LEVEL                         0x3029\n#define EGL_MAX_PBUFFER_HEIGHT            0x302A\n#define EGL_MAX_PBUFFER_PIXELS            0x302B\n#define EGL_MAX_PBUFFER_WIDTH             0x302C\n#define EGL_NATIVE_RENDERABLE             0x302D\n#define EGL_NATIVE_VISUAL_ID              0x302E\n#define EGL_NATIVE_VISUAL_TYPE            0x302F\n#define EGL_NONE                          0x3038\n#define EGL_NON_CONFORMANT_CONFIG         0x3051\n#define EGL_NOT_INITIALIZED               0x3001\n#define EGL_NO_CONTEXT                    ((EGLContext)0)\n#define EGL_NO_DISPLAY                    ((EGLDisplay)0)\n#define EGL_NO_SURFACE                    ((EGLSurface)0)\n#define EGL_PBUFFER_BIT                   0x0001\n#define EGL_PIXMAP_BIT                    0x0002\n#define EGL_READ                          0x305A\n#define EGL_RED_SIZE                      0x3024\n#define EGL_SAMPLES                       0x3031\n#define EGL_SAMPLE_BUFFERS                0x3032\n#define EGL_SLOW_CONFIG                   0x3050\n#define EGL_STENCIL_SIZE                  0x3026\n#define EGL_SUCCESS                       0x3000\n#define EGL_SURFACE_TYPE                  0x3033\n#define EGL_TRANSPARENT_BLUE_VALUE        0x3035\n#define EGL_TRANSPARENT_GREEN_VALUE       0x3036\n#define EGL_TRANSPARENT_RED_VALUE         0x3037\n#define EGL_TRANSPARENT_RGB               0x3052\n#define EGL_TRANSPARENT_TYPE              0x3034\n#define EGL_TRUE                          1\n#define EGL_VENDOR                        0x3053\n#define EGL_VERSION                       0x3054\n#define EGL_WIDTH                         0x3057\n#define EGL_WINDOW_BIT                    0x0004\nEGLAPI EGLBoolean EGLAPIENTRY eglChooseConfig (EGLDisplay dpy, const EGLint *attrib_list, EGLConfig *configs, EGLint config_size, EGLint *num_config);\nEGLAPI EGLBoolean EGLAPIENTRY eglCopyBuffers (EGLDisplay dpy, EGLSurface surface, EGLNativePixmapType target);\nEGLAPI EGLContext EGLAPIENTRY eglCreateContext (EGLDisplay dpy, EGLConfig config, EGLContext share_context, const EGLint *attrib_list);\nEGLAPI EGLSurface EGLAPIENTRY eglCreatePbufferSurface (EGLDisplay dpy, EGLConfig config, const EGLint *attrib_list);\nEGLAPI EGLSurface EGLAPIENTRY eglCreatePixmapSurface (EGLDisplay dpy, EGLConfig config, EGLNativePixmapType pixmap, const EGLint *attrib_list);\nEGLAPI EGLSurface EGLAPIENTRY eglCreateWindowSurface (EGLDisplay dpy, EGLConfig config, EGLNativeWindowType win, const EGLint *attrib_list);\nEGLAPI EGLBoolean EGLAPIENTRY eglDestroyContext (EGLDisplay dpy, EGLContext ctx);\nEGLAPI EGLBoolean EGLAPIENTRY eglDestroySurface (EGLDisplay dpy, EGLSurface surface);\nEGLAPI EGLBoolean EGLAPIENTRY eglGetConfigAttrib (EGLDisplay dpy, EGLConfig config, EGLint attribute, EGLint *value);\nEGLAPI EGLBoolean EGLAPIENTRY eglGetConfigs (EGLDisplay dpy, EGLConfig *configs, EGLint config_size, EGLint *num_config);\nEGLAPI EGLDisplay EGLAPIENTRY eglGetCurrentDisplay (void);\nEGLAPI EGLSurface EGLAPIENTRY eglGetCurrentSurface (EGLint readdraw);\nEGLAPI EGLDisplay EGLAPIENTRY eglGetDisplay (EGLNativeDisplayType display_id);\nEGLAPI EGLint EGLAPIENTRY eglGetError (void);\nEGLAPI __eglMustCastToProperFunctionPointerType EGLAPIENTRY eglGetProcAddress (const char *procname);\nEGLAPI EGLBoolean EGLAPIENTRY eglInitialize (EGLDisplay dpy, EGLint *major, EGLint *minor);\nEGLAPI EGLBoolean EGLAPIENTRY eglMakeCurrent (EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLContext ctx);\nEGLAPI EGLBoolean EGLAPIENTRY eglQueryContext (EGLDisplay dpy, EGLContext ctx, EGLint attribute, EGLint *value);\nEGLAPI const char *EGLAPIENTRY eglQueryString (EGLDisplay dpy, EGLint name);\nEGLAPI EGLBoolean EGLAPIENTRY eglQuerySurface (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint *value);\nEGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffers (EGLDisplay dpy, EGLSurface surface);\nEGLAPI EGLBoolean EGLAPIENTRY eglTerminate (EGLDisplay dpy);\nEGLAPI EGLBoolean EGLAPIENTRY eglWaitGL (void);\nEGLAPI EGLBoolean EGLAPIENTRY eglWaitNative (EGLint engine);\n#endif /* EGL_VERSION_1_0 */\n\n#ifndef EGL_VERSION_1_1\n#define EGL_VERSION_1_1 1\n#define EGL_BACK_BUFFER                   0x3084\n#define EGL_BIND_TO_TEXTURE_RGB           0x3039\n#define EGL_BIND_TO_TEXTURE_RGBA          0x303A\n#define EGL_CONTEXT_LOST                  0x300E\n#define EGL_MIN_SWAP_INTERVAL             0x303B\n#define EGL_MAX_SWAP_INTERVAL             0x303C\n#define EGL_MIPMAP_TEXTURE                0x3082\n#define EGL_MIPMAP_LEVEL                  0x3083\n#define EGL_NO_TEXTURE                    0x305C\n#define EGL_TEXTURE_2D                    0x305F\n#define EGL_TEXTURE_FORMAT                0x3080\n#define EGL_TEXTURE_RGB                   0x305D\n#define EGL_TEXTURE_RGBA                  0x305E\n#define EGL_TEXTURE_TARGET                0x3081\nEGLAPI EGLBoolean EGLAPIENTRY eglBindTexImage (EGLDisplay dpy, EGLSurface surface, EGLint buffer);\nEGLAPI EGLBoolean EGLAPIENTRY eglReleaseTexImage (EGLDisplay dpy, EGLSurface surface, EGLint buffer);\nEGLAPI EGLBoolean EGLAPIENTRY eglSurfaceAttrib (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint value);\nEGLAPI EGLBoolean EGLAPIENTRY eglSwapInterval (EGLDisplay dpy, EGLint interval);\n#endif /* EGL_VERSION_1_1 */\n\n#ifndef EGL_VERSION_1_2\n#define EGL_VERSION_1_2 1\ntypedef unsigned int EGLenum;\ntypedef void *EGLClientBuffer;\n#define EGL_ALPHA_FORMAT                  0x3088\n#define EGL_ALPHA_FORMAT_NONPRE           0x308B\n#define EGL_ALPHA_FORMAT_PRE              0x308C\n#define EGL_ALPHA_MASK_SIZE               0x303E\n#define EGL_BUFFER_PRESERVED              0x3094\n#define EGL_BUFFER_DESTROYED              0x3095\n#define EGL_CLIENT_APIS                   0x308D\n#define EGL_COLORSPACE                    0x3087\n#define EGL_COLORSPACE_sRGB               0x3089\n#define EGL_COLORSPACE_LINEAR             0x308A\n#define EGL_COLOR_BUFFER_TYPE             0x303F\n#define EGL_CONTEXT_CLIENT_TYPE           0x3097\n#define EGL_DISPLAY_SCALING               10000\n#define EGL_HORIZONTAL_RESOLUTION         0x3090\n#define EGL_LUMINANCE_BUFFER              0x308F\n#define EGL_LUMINANCE_SIZE                0x303D\n#define EGL_OPENGL_ES_BIT                 0x0001\n#define EGL_OPENVG_BIT                    0x0002\n#define EGL_OPENGL_ES_API                 0x30A0\n#define EGL_OPENVG_API                    0x30A1\n#define EGL_OPENVG_IMAGE                  0x3096\n#define EGL_PIXEL_ASPECT_RATIO            0x3092\n#define EGL_RENDERABLE_TYPE               0x3040\n#define EGL_RENDER_BUFFER                 0x3086\n#define EGL_RGB_BUFFER                    0x308E\n#define EGL_SINGLE_BUFFER                 0x3085\n#define EGL_SWAP_BEHAVIOR                 0x3093\n#define EGL_UNKNOWN                       ((EGLint)-1)\n#define EGL_VERTICAL_RESOLUTION           0x3091\nEGLAPI EGLBoolean EGLAPIENTRY eglBindAPI (EGLenum api);\nEGLAPI EGLenum EGLAPIENTRY eglQueryAPI (void);\nEGLAPI EGLSurface EGLAPIENTRY eglCreatePbufferFromClientBuffer (EGLDisplay dpy, EGLenum buftype, EGLClientBuffer buffer, EGLConfig config, const EGLint *attrib_list);\nEGLAPI EGLBoolean EGLAPIENTRY eglReleaseThread (void);\nEGLAPI EGLBoolean EGLAPIENTRY eglWaitClient (void);\n#endif /* EGL_VERSION_1_2 */\n\n#ifndef EGL_VERSION_1_3\n#define EGL_VERSION_1_3 1\n#define EGL_CONFORMANT                    0x3042\n#define EGL_CONTEXT_CLIENT_VERSION        0x3098\n#define EGL_MATCH_NATIVE_PIXMAP           0x3041\n#define EGL_OPENGL_ES2_BIT                0x0004\n#define EGL_VG_ALPHA_FORMAT               0x3088\n#define EGL_VG_ALPHA_FORMAT_NONPRE        0x308B\n#define EGL_VG_ALPHA_FORMAT_PRE           0x308C\n#define EGL_VG_ALPHA_FORMAT_PRE_BIT       0x0040\n#define EGL_VG_COLORSPACE                 0x3087\n#define EGL_VG_COLORSPACE_sRGB            0x3089\n#define EGL_VG_COLORSPACE_LINEAR          0x308A\n#define EGL_VG_COLORSPACE_LINEAR_BIT      0x0020\n#endif /* EGL_VERSION_1_3 */\n\n#ifndef EGL_VERSION_1_4\n#define EGL_VERSION_1_4 1\n#define EGL_DEFAULT_DISPLAY               ((EGLNativeDisplayType)0)\n#define EGL_MULTISAMPLE_RESOLVE_BOX_BIT   0x0200\n#define EGL_MULTISAMPLE_RESOLVE           0x3099\n#define EGL_MULTISAMPLE_RESOLVE_DEFAULT   0x309A\n#define EGL_MULTISAMPLE_RESOLVE_BOX       0x309B\n#define EGL_OPENGL_API                    0x30A2\n#define EGL_OPENGL_BIT                    0x0008\n#define EGL_SWAP_BEHAVIOR_PRESERVED_BIT   0x0400\nEGLAPI EGLContext EGLAPIENTRY eglGetCurrentContext (void);\n#endif /* EGL_VERSION_1_4 */\n\n#ifndef EGL_VERSION_1_5\n#define EGL_VERSION_1_5 1\ntypedef void *EGLSync;\ntypedef intptr_t EGLAttrib;\ntypedef khronos_utime_nanoseconds_t EGLTime;\ntypedef void *EGLImage;\n#define EGL_CONTEXT_MAJOR_VERSION         0x3098\n#define EGL_CONTEXT_MINOR_VERSION         0x30FB\n#define EGL_CONTEXT_OPENGL_PROFILE_MASK   0x30FD\n#define EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY 0x31BD\n#define EGL_NO_RESET_NOTIFICATION         0x31BE\n#define EGL_LOSE_CONTEXT_ON_RESET         0x31BF\n#define EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT 0x00000001\n#define EGL_CONTEXT_OPENGL_COMPATIBILITY_PROFILE_BIT 0x00000002\n#define EGL_CONTEXT_OPENGL_DEBUG          0x31B0\n#define EGL_CONTEXT_OPENGL_FORWARD_COMPATIBLE 0x31B1\n#define EGL_CONTEXT_OPENGL_ROBUST_ACCESS  0x31B2\n#define EGL_OPENGL_ES3_BIT                0x00000040\n#define EGL_CL_EVENT_HANDLE               0x309C\n#define EGL_SYNC_CL_EVENT                 0x30FE\n#define EGL_SYNC_CL_EVENT_COMPLETE        0x30FF\n#define EGL_SYNC_PRIOR_COMMANDS_COMPLETE  0x30F0\n#define EGL_SYNC_TYPE                     0x30F7\n#define EGL_SYNC_STATUS                   0x30F1\n#define EGL_SYNC_CONDITION                0x30F8\n#define EGL_SIGNALED                      0x30F2\n#define EGL_UNSIGNALED                    0x30F3\n#define EGL_SYNC_FLUSH_COMMANDS_BIT       0x0001\n#define EGL_FOREVER                       0xFFFFFFFFFFFFFFFFull\n#define EGL_TIMEOUT_EXPIRED               0x30F5\n#define EGL_CONDITION_SATISFIED           0x30F6\n#define EGL_NO_SYNC                       ((EGLSync)0)\n#define EGL_SYNC_FENCE                    0x30F9\n#define EGL_GL_COLORSPACE                 0x309D\n#define EGL_GL_COLORSPACE_SRGB            0x3089\n#define EGL_GL_COLORSPACE_LINEAR          0x308A\n#define EGL_GL_RENDERBUFFER               0x30B9\n#define EGL_GL_TEXTURE_2D                 0x30B1\n#define EGL_GL_TEXTURE_LEVEL              0x30BC\n#define EGL_GL_TEXTURE_3D                 0x30B2\n#define EGL_GL_TEXTURE_ZOFFSET            0x30BD\n#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x30B3\n#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x30B4\n#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x30B5\n#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x30B6\n#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x30B7\n#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x30B8\n#define EGL_IMAGE_PRESERVED               0x30D2\n#define EGL_NO_IMAGE                      ((EGLImage)0)\nEGLAPI EGLSync EGLAPIENTRY eglCreateSync (EGLDisplay dpy, EGLenum type, const EGLAttrib *attrib_list);\nEGLAPI EGLBoolean EGLAPIENTRY eglDestroySync (EGLDisplay dpy, EGLSync sync);\nEGLAPI EGLint EGLAPIENTRY eglClientWaitSync (EGLDisplay dpy, EGLSync sync, EGLint flags, EGLTime timeout);\nEGLAPI EGLBoolean EGLAPIENTRY eglGetSyncAttrib (EGLDisplay dpy, EGLSync sync, EGLint attribute, EGLAttrib *value);\nEGLAPI EGLImage EGLAPIENTRY eglCreateImage (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLAttrib *attrib_list);\nEGLAPI EGLBoolean EGLAPIENTRY eglDestroyImage (EGLDisplay dpy, EGLImage image);\nEGLAPI EGLDisplay EGLAPIENTRY eglGetPlatformDisplay (EGLenum platform, void *native_display, const EGLAttrib *attrib_list);\nEGLAPI EGLSurface EGLAPIENTRY eglCreatePlatformWindowSurface (EGLDisplay dpy, EGLConfig config, void *native_window, const EGLAttrib *attrib_list);\nEGLAPI EGLSurface EGLAPIENTRY eglCreatePlatformPixmapSurface (EGLDisplay dpy, EGLConfig config, void *native_pixmap, const EGLAttrib *attrib_list);\nEGLAPI EGLBoolean EGLAPIENTRY eglWaitSync (EGLDisplay dpy, EGLSync sync, EGLint flags);\n#endif /* EGL_VERSION_1_5 */\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif /* __egl_h_ */\n\n\n\n#ifndef __eglext_h_\n#define __eglext_h_ 1\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n/*\n** Copyright (c) 2013-2015 The Khronos Group Inc.\n**\n** Permission is hereby granted, free of charge, to any person obtaining a\n** copy of this software and/or associated documentation files (the\n** \"Materials\"), to deal in the Materials without restriction, including\n** without limitation the rights to use, copy, modify, merge, publish,\n** distribute, sublicense, and/or sell copies of the Materials, and to\n** permit persons to whom the Materials are furnished to do so, subject to\n** the following conditions:\n**\n** The above copyright notice and this permission notice shall be included\n** in all copies or substantial portions of the Materials.\n**\n** THE MATERIALS ARE PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\n** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\n** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\n** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\n** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.\n*/\n/*\n** This header is generated from the Khronos OpenGL / OpenGL ES XML\n** API Registry. The current version of the Registry, generator scripts\n** used to make the header, and the header can be found at\n**   http://www.opengl.org/registry/\n**\n** Khronos $Revision: 31566 $ on $Date: 2015-06-23 08:48:48 -0700 (Tue, 23 Jun 2015) $\n*/\n\n/*#include <EGL/eglplatform.h>*/\n\n#define EGL_EGLEXT_VERSION 20150623\n\n/* Generated C header for:\n * API: egl\n * Versions considered: .*\n * Versions emitted: _nomatch_^\n * Default extensions included: egl\n * Additional extensions included: _nomatch_^\n * Extensions removed: _nomatch_^\n */\n\n#ifndef EGL_KHR_cl_event\n#define EGL_KHR_cl_event 1\n#define EGL_CL_EVENT_HANDLE_KHR           0x309C\n#define EGL_SYNC_CL_EVENT_KHR             0x30FE\n#define EGL_SYNC_CL_EVENT_COMPLETE_KHR    0x30FF\n#endif /* EGL_KHR_cl_event */\n\n#ifndef EGL_KHR_cl_event2\n#define EGL_KHR_cl_event2 1\ntypedef void *EGLSyncKHR;\ntypedef intptr_t EGLAttribKHR;\ntypedef EGLSyncKHR (EGLAPIENTRYP PFNEGLCREATESYNC64KHRPROC) (EGLDisplay dpy, EGLenum type, const EGLAttribKHR *attrib_list);\n#ifdef EGL_EGLEXT_PROTOTYPES\nEGLAPI EGLSyncKHR EGLAPIENTRY eglCreateSync64KHR (EGLDisplay dpy, EGLenum type, const EGLAttribKHR *attrib_list);\n#endif\n#endif /* EGL_KHR_cl_event2 */\n\n#ifndef EGL_KHR_client_get_all_proc_addresses\n#define EGL_KHR_client_get_all_proc_addresses 1\n#endif /* EGL_KHR_client_get_all_proc_addresses */\n\n#ifndef EGL_KHR_config_attribs\n#define EGL_KHR_config_attribs 1\n#define EGL_CONFORMANT_KHR                0x3042\n#define EGL_VG_COLORSPACE_LINEAR_BIT_KHR  0x0020\n#define EGL_VG_ALPHA_FORMAT_PRE_BIT_KHR   0x0040\n#endif /* EGL_KHR_config_attribs */\n\n#ifndef EGL_KHR_create_context\n#define EGL_KHR_create_context 1\n#define EGL_CONTEXT_MAJOR_VERSION_KHR     0x3098\n#define EGL_CONTEXT_MINOR_VERSION_KHR     0x30FB\n#define EGL_CONTEXT_FLAGS_KHR             0x30FC\n#define EGL_CONTEXT_OPENGL_PROFILE_MASK_KHR 0x30FD\n#define EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_KHR 0x31BD\n#define EGL_NO_RESET_NOTIFICATION_KHR     0x31BE\n#define EGL_LOSE_CONTEXT_ON_RESET_KHR     0x31BF\n#define EGL_CONTEXT_OPENGL_DEBUG_BIT_KHR  0x00000001\n#define EGL_CONTEXT_OPENGL_FORWARD_COMPATIBLE_BIT_KHR 0x00000002\n#define EGL_CONTEXT_OPENGL_ROBUST_ACCESS_BIT_KHR 0x00000004\n#define EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT_KHR 0x00000001\n#define EGL_CONTEXT_OPENGL_COMPATIBILITY_PROFILE_BIT_KHR 0x00000002\n#define EGL_OPENGL_ES3_BIT_KHR            0x00000040\n#endif /* EGL_KHR_create_context */\n\n#ifndef EGL_KHR_create_context_no_error\n#define EGL_KHR_create_context_no_error 1\n#define EGL_CONTEXT_OPENGL_NO_ERROR_KHR   0x31B3\n#endif /* EGL_KHR_create_context_no_error */\n\n#ifndef EGL_KHR_fence_sync\n#define EGL_KHR_fence_sync 1\ntypedef khronos_utime_nanoseconds_t EGLTimeKHR;\n#ifdef KHRONOS_SUPPORT_INT64\n#define EGL_SYNC_PRIOR_COMMANDS_COMPLETE_KHR 0x30F0\n#define EGL_SYNC_CONDITION_KHR            0x30F8\n#define EGL_SYNC_FENCE_KHR                0x30F9\ntypedef EGLSyncKHR (EGLAPIENTRYP PFNEGLCREATESYNCKHRPROC) (EGLDisplay dpy, EGLenum type, const EGLint *attrib_list);\ntypedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync);\ntypedef EGLint (EGLAPIENTRYP PFNEGLCLIENTWAITSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout);\ntypedef EGLBoolean (EGLAPIENTRYP PFNEGLGETSYNCATTRIBKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint attribute, EGLint *value);\n#ifdef EGL_EGLEXT_PROTOTYPES\nEGLAPI EGLSyncKHR EGLAPIENTRY eglCreateSyncKHR (EGLDisplay dpy, EGLenum type, const EGLint *attrib_list);\nEGLAPI EGLBoolean EGLAPIENTRY eglDestroySyncKHR (EGLDisplay dpy, EGLSyncKHR sync);\nEGLAPI EGLint EGLAPIENTRY eglClientWaitSyncKHR (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout);\nEGLAPI EGLBoolean EGLAPIENTRY eglGetSyncAttribKHR (EGLDisplay dpy, EGLSyncKHR sync, EGLint attribute, EGLint *value);\n#endif\n#endif /* KHRONOS_SUPPORT_INT64 */\n#endif /* EGL_KHR_fence_sync */\n\n#ifndef EGL_KHR_get_all_proc_addresses\n#define EGL_KHR_get_all_proc_addresses 1\n#endif /* EGL_KHR_get_all_proc_addresses */\n\n#ifndef EGL_KHR_gl_colorspace\n#define EGL_KHR_gl_colorspace 1\n#define EGL_GL_COLORSPACE_KHR             0x309D\n#define EGL_GL_COLORSPACE_SRGB_KHR        0x3089\n#define EGL_GL_COLORSPACE_LINEAR_KHR      0x308A\n#endif /* EGL_KHR_gl_colorspace */\n\n#ifndef EGL_KHR_gl_renderbuffer_image\n#define EGL_KHR_gl_renderbuffer_image 1\n#define EGL_GL_RENDERBUFFER_KHR           0x30B9\n#endif /* EGL_KHR_gl_renderbuffer_image */\n\n#ifndef EGL_KHR_gl_texture_2D_image\n#define EGL_KHR_gl_texture_2D_image 1\n#define EGL_GL_TEXTURE_2D_KHR             0x30B1\n#define EGL_GL_TEXTURE_LEVEL_KHR          0x30BC\n#endif /* EGL_KHR_gl_texture_2D_image */\n\n#ifndef EGL_KHR_gl_texture_3D_image\n#define EGL_KHR_gl_texture_3D_image 1\n#define EGL_GL_TEXTURE_3D_KHR             0x30B2\n#define EGL_GL_TEXTURE_ZOFFSET_KHR        0x30BD\n#endif /* EGL_KHR_gl_texture_3D_image */\n\n#ifndef EGL_KHR_gl_texture_cubemap_image\n#define EGL_KHR_gl_texture_cubemap_image 1\n#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_X_KHR 0x30B3\n#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_X_KHR 0x30B4\n#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Y_KHR 0x30B5\n#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_KHR 0x30B6\n#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Z_KHR 0x30B7\n#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_KHR 0x30B8\n#endif /* EGL_KHR_gl_texture_cubemap_image */\n\n#ifndef EGL_KHR_image\n#define EGL_KHR_image 1\ntypedef void *EGLImageKHR;\n#define EGL_NATIVE_PIXMAP_KHR             0x30B0\n#define EGL_NO_IMAGE_KHR                  ((EGLImageKHR)0)\ntypedef EGLImageKHR (EGLAPIENTRYP PFNEGLCREATEIMAGEKHRPROC) (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint *attrib_list);\ntypedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYIMAGEKHRPROC) (EGLDisplay dpy, EGLImageKHR image);\n#ifdef EGL_EGLEXT_PROTOTYPES\nEGLAPI EGLImageKHR EGLAPIENTRY eglCreateImageKHR (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint *attrib_list);\nEGLAPI EGLBoolean EGLAPIENTRY eglDestroyImageKHR (EGLDisplay dpy, EGLImageKHR image);\n#endif\n#endif /* EGL_KHR_image */\n\n#ifndef EGL_KHR_image_base\n#define EGL_KHR_image_base 1\n#define EGL_IMAGE_PRESERVED_KHR           0x30D2\n#endif /* EGL_KHR_image_base */\n\n#ifndef EGL_KHR_image_pixmap\n#define EGL_KHR_image_pixmap 1\n#endif /* EGL_KHR_image_pixmap */\n\n#ifndef EGL_KHR_lock_surface\n#define EGL_KHR_lock_surface 1\n#define EGL_READ_SURFACE_BIT_KHR          0x0001\n#define EGL_WRITE_SURFACE_BIT_KHR         0x0002\n#define EGL_LOCK_SURFACE_BIT_KHR          0x0080\n#define EGL_OPTIMAL_FORMAT_BIT_KHR        0x0100\n#define EGL_MATCH_FORMAT_KHR              0x3043\n#define EGL_FORMAT_RGB_565_EXACT_KHR      0x30C0\n#define EGL_FORMAT_RGB_565_KHR            0x30C1\n#define EGL_FORMAT_RGBA_8888_EXACT_KHR    0x30C2\n#define EGL_FORMAT_RGBA_8888_KHR          0x30C3\n#define EGL_MAP_PRESERVE_PIXELS_KHR       0x30C4\n#define EGL_LOCK_USAGE_HINT_KHR           0x30C5\n#define EGL_BITMAP_POINTER_KHR            0x30C6\n#define EGL_BITMAP_PITCH_KHR              0x30C7\n#define EGL_BITMAP_ORIGIN_KHR             0x30C8\n#define EGL_BITMAP_PIXEL_RED_OFFSET_KHR   0x30C9\n#define EGL_BITMAP_PIXEL_GREEN_OFFSET_KHR 0x30CA\n#define EGL_BITMAP_PIXEL_BLUE_OFFSET_KHR  0x30CB\n#define EGL_BITMAP_PIXEL_ALPHA_OFFSET_KHR 0x30CC\n#define EGL_BITMAP_PIXEL_LUMINANCE_OFFSET_KHR 0x30CD\n#define EGL_LOWER_LEFT_KHR                0x30CE\n#define EGL_UPPER_LEFT_KHR                0x30CF\ntypedef EGLBoolean (EGLAPIENTRYP PFNEGLLOCKSURFACEKHRPROC) (EGLDisplay dpy, EGLSurface surface, const EGLint *attrib_list);\ntypedef EGLBoolean (EGLAPIENTRYP PFNEGLUNLOCKSURFACEKHRPROC) (EGLDisplay dpy, EGLSurface surface);\n#ifdef EGL_EGLEXT_PROTOTYPES\nEGLAPI EGLBoolean EGLAPIENTRY eglLockSurfaceKHR (EGLDisplay dpy, EGLSurface surface, const EGLint *attrib_list);\nEGLAPI EGLBoolean EGLAPIENTRY eglUnlockSurfaceKHR (EGLDisplay dpy, EGLSurface surface);\n#endif\n#endif /* EGL_KHR_lock_surface */\n\n#ifndef EGL_KHR_lock_surface2\n#define EGL_KHR_lock_surface2 1\n#define EGL_BITMAP_PIXEL_SIZE_KHR         0x3110\n#endif /* EGL_KHR_lock_surface2 */\n\n#ifndef EGL_KHR_lock_surface3\n#define EGL_KHR_lock_surface3 1\ntypedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSURFACE64KHRPROC) (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLAttribKHR *value);\n#ifdef EGL_EGLEXT_PROTOTYPES\nEGLAPI EGLBoolean EGLAPIENTRY eglQuerySurface64KHR (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLAttribKHR *value);\n#endif\n#endif /* EGL_KHR_lock_surface3 */\n\n#ifndef EGL_KHR_partial_update\n#define EGL_KHR_partial_update 1\n#define EGL_BUFFER_AGE_KHR                0x313D\ntypedef EGLBoolean (EGLAPIENTRYP PFNEGLSETDAMAGEREGIONKHRPROC) (EGLDisplay dpy, EGLSurface surface, EGLint *rects, EGLint n_rects);\n#ifdef EGL_EGLEXT_PROTOTYPES\nEGLAPI EGLBoolean EGLAPIENTRY eglSetDamageRegionKHR (EGLDisplay dpy, EGLSurface surface, EGLint *rects, EGLint n_rects);\n#endif\n#endif /* EGL_KHR_partial_update */\n\n#ifndef EGL_KHR_platform_android\n#define EGL_KHR_platform_android 1\n#define EGL_PLATFORM_ANDROID_KHR          0x3141\n#endif /* EGL_KHR_platform_android */\n\n#ifndef EGL_KHR_platform_gbm\n#define EGL_KHR_platform_gbm 1\n#define EGL_PLATFORM_GBM_KHR              0x31D7\n#endif /* EGL_KHR_platform_gbm */\n\n#ifndef EGL_KHR_platform_wayland\n#define EGL_KHR_platform_wayland 1\n#define EGL_PLATFORM_WAYLAND_KHR          0x31D8\n#endif /* EGL_KHR_platform_wayland */\n\n#ifndef EGL_KHR_platform_x11\n#define EGL_KHR_platform_x11 1\n#define EGL_PLATFORM_X11_KHR              0x31D5\n#define EGL_PLATFORM_X11_SCREEN_KHR       0x31D6\n#endif /* EGL_KHR_platform_x11 */\n\n#ifndef EGL_KHR_reusable_sync\n#define EGL_KHR_reusable_sync 1\n#ifdef KHRONOS_SUPPORT_INT64\n#define EGL_SYNC_STATUS_KHR               0x30F1\n#define EGL_SIGNALED_KHR                  0x30F2\n#define EGL_UNSIGNALED_KHR                0x30F3\n#define EGL_TIMEOUT_EXPIRED_KHR           0x30F5\n#define EGL_CONDITION_SATISFIED_KHR       0x30F6\n#define EGL_SYNC_TYPE_KHR                 0x30F7\n#define EGL_SYNC_REUSABLE_KHR             0x30FA\n#define EGL_SYNC_FLUSH_COMMANDS_BIT_KHR   0x0001\n#define EGL_FOREVER_KHR                   0xFFFFFFFFFFFFFFFFull\n#define EGL_NO_SYNC_KHR                   ((EGLSyncKHR)0)\ntypedef EGLBoolean (EGLAPIENTRYP PFNEGLSIGNALSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLenum mode);\n#ifdef EGL_EGLEXT_PROTOTYPES\nEGLAPI EGLBoolean EGLAPIENTRY eglSignalSyncKHR (EGLDisplay dpy, EGLSyncKHR sync, EGLenum mode);\n#endif\n#endif /* KHRONOS_SUPPORT_INT64 */\n#endif /* EGL_KHR_reusable_sync */\n\n#ifndef EGL_KHR_stream\n#define EGL_KHR_stream 1\ntypedef void *EGLStreamKHR;\ntypedef khronos_uint64_t EGLuint64KHR;\n#ifdef KHRONOS_SUPPORT_INT64\n#define EGL_NO_STREAM_KHR                 ((EGLStreamKHR)0)\n#define EGL_CONSUMER_LATENCY_USEC_KHR     0x3210\n#define EGL_PRODUCER_FRAME_KHR            0x3212\n#define EGL_CONSUMER_FRAME_KHR            0x3213\n#define EGL_STREAM_STATE_KHR              0x3214\n#define EGL_STREAM_STATE_CREATED_KHR      0x3215\n#define EGL_STREAM_STATE_CONNECTING_KHR   0x3216\n#define EGL_STREAM_STATE_EMPTY_KHR        0x3217\n#define EGL_STREAM_STATE_NEW_FRAME_AVAILABLE_KHR 0x3218\n#define EGL_STREAM_STATE_OLD_FRAME_AVAILABLE_KHR 0x3219\n#define EGL_STREAM_STATE_DISCONNECTED_KHR 0x321A\n#define EGL_BAD_STREAM_KHR                0x321B\n#define EGL_BAD_STATE_KHR                 0x321C\ntypedef EGLStreamKHR (EGLAPIENTRYP PFNEGLCREATESTREAMKHRPROC) (EGLDisplay dpy, const EGLint *attrib_list);\ntypedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSTREAMKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream);\ntypedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMATTRIBKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint value);\ntypedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSTREAMKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint *value);\ntypedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSTREAMU64KHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLuint64KHR *value);\n#ifdef EGL_EGLEXT_PROTOTYPES\nEGLAPI EGLStreamKHR EGLAPIENTRY eglCreateStreamKHR (EGLDisplay dpy, const EGLint *attrib_list);\nEGLAPI EGLBoolean EGLAPIENTRY eglDestroyStreamKHR (EGLDisplay dpy, EGLStreamKHR stream);\nEGLAPI EGLBoolean EGLAPIENTRY eglStreamAttribKHR (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint value);\nEGLAPI EGLBoolean EGLAPIENTRY eglQueryStreamKHR (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint *value);\nEGLAPI EGLBoolean EGLAPIENTRY eglQueryStreamu64KHR (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLuint64KHR *value);\n#endif\n#endif /* KHRONOS_SUPPORT_INT64 */\n#endif /* EGL_KHR_stream */\n\n#ifndef EGL_KHR_stream_consumer_gltexture\n#define EGL_KHR_stream_consumer_gltexture 1\n#ifdef EGL_KHR_stream\n#define EGL_CONSUMER_ACQUIRE_TIMEOUT_USEC_KHR 0x321E\ntypedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream);\ntypedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERACQUIREKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream);\ntypedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERRELEASEKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream);\n#ifdef EGL_EGLEXT_PROTOTYPES\nEGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerGLTextureExternalKHR (EGLDisplay dpy, EGLStreamKHR stream);\nEGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerAcquireKHR (EGLDisplay dpy, EGLStreamKHR stream);\nEGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerReleaseKHR (EGLDisplay dpy, EGLStreamKHR stream);\n#endif\n#endif /* EGL_KHR_stream */\n#endif /* EGL_KHR_stream_consumer_gltexture */\n\n#ifndef EGL_KHR_stream_cross_process_fd\n#define EGL_KHR_stream_cross_process_fd 1\ntypedef int EGLNativeFileDescriptorKHR;\n#ifdef EGL_KHR_stream\n#define EGL_NO_FILE_DESCRIPTOR_KHR        ((EGLNativeFileDescriptorKHR)(-1))\ntypedef EGLNativeFileDescriptorKHR (EGLAPIENTRYP PFNEGLGETSTREAMFILEDESCRIPTORKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream);\ntypedef EGLStreamKHR (EGLAPIENTRYP PFNEGLCREATESTREAMFROMFILEDESCRIPTORKHRPROC) (EGLDisplay dpy, EGLNativeFileDescriptorKHR file_descriptor);\n#ifdef EGL_EGLEXT_PROTOTYPES\nEGLAPI EGLNativeFileDescriptorKHR EGLAPIENTRY eglGetStreamFileDescriptorKHR (EGLDisplay dpy, EGLStreamKHR stream);\nEGLAPI EGLStreamKHR EGLAPIENTRY eglCreateStreamFromFileDescriptorKHR (EGLDisplay dpy, EGLNativeFileDescriptorKHR file_descriptor);\n#endif\n#endif /* EGL_KHR_stream */\n#endif /* EGL_KHR_stream_cross_process_fd */\n\n#ifndef EGL_KHR_stream_fifo\n#define EGL_KHR_stream_fifo 1\n#ifdef EGL_KHR_stream\n#define EGL_STREAM_FIFO_LENGTH_KHR        0x31FC\n#define EGL_STREAM_TIME_NOW_KHR           0x31FD\n#define EGL_STREAM_TIME_CONSUMER_KHR      0x31FE\n#define EGL_STREAM_TIME_PRODUCER_KHR      0x31FF\ntypedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSTREAMTIMEKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLTimeKHR *value);\n#ifdef EGL_EGLEXT_PROTOTYPES\nEGLAPI EGLBoolean EGLAPIENTRY eglQueryStreamTimeKHR (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLTimeKHR *value);\n#endif\n#endif /* EGL_KHR_stream */\n#endif /* EGL_KHR_stream_fifo */\n\n#ifndef EGL_KHR_stream_producer_aldatalocator\n#define EGL_KHR_stream_producer_aldatalocator 1\n#ifdef EGL_KHR_stream\n#endif /* EGL_KHR_stream */\n#endif /* EGL_KHR_stream_producer_aldatalocator */\n\n#ifndef EGL_KHR_stream_producer_eglsurface\n#define EGL_KHR_stream_producer_eglsurface 1\n#ifdef EGL_KHR_stream\n#define EGL_STREAM_BIT_KHR                0x0800\ntypedef EGLSurface (EGLAPIENTRYP PFNEGLCREATESTREAMPRODUCERSURFACEKHRPROC) (EGLDisplay dpy, EGLConfig config, EGLStreamKHR stream, const EGLint *attrib_list);\n#ifdef EGL_EGLEXT_PROTOTYPES\nEGLAPI EGLSurface EGLAPIENTRY eglCreateStreamProducerSurfaceKHR (EGLDisplay dpy, EGLConfig config, EGLStreamKHR stream, const EGLint *attrib_list);\n#endif\n#endif /* EGL_KHR_stream */\n#endif /* EGL_KHR_stream_producer_eglsurface */\n\n#ifndef EGL_KHR_surfaceless_context\n#define EGL_KHR_surfaceless_context 1\n#endif /* EGL_KHR_surfaceless_context */\n\n#ifndef EGL_KHR_swap_buffers_with_damage\n#define EGL_KHR_swap_buffers_with_damage 1\ntypedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSWITHDAMAGEKHRPROC) (EGLDisplay dpy, EGLSurface surface, EGLint *rects, EGLint n_rects);\n#ifdef EGL_EGLEXT_PROTOTYPES\nEGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffersWithDamageKHR (EGLDisplay dpy, EGLSurface surface, EGLint *rects, EGLint n_rects);\n#endif\n#endif /* EGL_KHR_swap_buffers_with_damage */\n\n#ifndef EGL_KHR_vg_parent_image\n#define EGL_KHR_vg_parent_image 1\n#define EGL_VG_PARENT_IMAGE_KHR           0x30BA\n#endif /* EGL_KHR_vg_parent_image */\n\n#ifndef EGL_KHR_wait_sync\n#define EGL_KHR_wait_sync 1\ntypedef EGLint (EGLAPIENTRYP PFNEGLWAITSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags);\n#ifdef EGL_EGLEXT_PROTOTYPES\nEGLAPI EGLint EGLAPIENTRY eglWaitSyncKHR (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags);\n#endif\n#endif /* EGL_KHR_wait_sync */\n\n#ifndef EGL_ANDROID_blob_cache\n#define EGL_ANDROID_blob_cache 1\ntypedef khronos_ssize_t EGLsizeiANDROID;\ntypedef void (*EGLSetBlobFuncANDROID) (const void *key, EGLsizeiANDROID keySize, const void *value, EGLsizeiANDROID valueSize);\ntypedef EGLsizeiANDROID (*EGLGetBlobFuncANDROID) (const void *key, EGLsizeiANDROID keySize, void *value, EGLsizeiANDROID valueSize);\ntypedef void (EGLAPIENTRYP PFNEGLSETBLOBCACHEFUNCSANDROIDPROC) (EGLDisplay dpy, EGLSetBlobFuncANDROID set, EGLGetBlobFuncANDROID get);\n#ifdef EGL_EGLEXT_PROTOTYPES\nEGLAPI void EGLAPIENTRY eglSetBlobCacheFuncsANDROID (EGLDisplay dpy, EGLSetBlobFuncANDROID set, EGLGetBlobFuncANDROID get);\n#endif\n#endif /* EGL_ANDROID_blob_cache */\n\n#ifndef EGL_ANDROID_framebuffer_target\n#define EGL_ANDROID_framebuffer_target 1\n#define EGL_FRAMEBUFFER_TARGET_ANDROID    0x3147\n#endif /* EGL_ANDROID_framebuffer_target */\n\n#ifndef EGL_ANDROID_image_native_buffer\n#define EGL_ANDROID_image_native_buffer 1\n#define EGL_NATIVE_BUFFER_ANDROID         0x3140\n#endif /* EGL_ANDROID_image_native_buffer */\n\n#ifndef EGL_ANDROID_native_fence_sync\n#define EGL_ANDROID_native_fence_sync 1\n#define EGL_SYNC_NATIVE_FENCE_ANDROID     0x3144\n#define EGL_SYNC_NATIVE_FENCE_FD_ANDROID  0x3145\n#define EGL_SYNC_NATIVE_FENCE_SIGNALED_ANDROID 0x3146\n#define EGL_NO_NATIVE_FENCE_FD_ANDROID    -1\ntypedef EGLint (EGLAPIENTRYP PFNEGLDUPNATIVEFENCEFDANDROIDPROC) (EGLDisplay dpy, EGLSyncKHR sync);\n#ifdef EGL_EGLEXT_PROTOTYPES\nEGLAPI EGLint EGLAPIENTRY eglDupNativeFenceFDANDROID (EGLDisplay dpy, EGLSyncKHR sync);\n#endif\n#endif /* EGL_ANDROID_native_fence_sync */\n\n#ifndef EGL_ANDROID_recordable\n#define EGL_ANDROID_recordable 1\n#define EGL_RECORDABLE_ANDROID            0x3142\n#endif /* EGL_ANDROID_recordable */\n\n#ifndef EGL_ANGLE_d3d_share_handle_client_buffer\n#define EGL_ANGLE_d3d_share_handle_client_buffer 1\n#define EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE 0x3200\n#endif /* EGL_ANGLE_d3d_share_handle_client_buffer */\n\n#ifndef EGL_ANGLE_device_d3d\n#define EGL_ANGLE_device_d3d 1\n#define EGL_D3D9_DEVICE_ANGLE             0x33A0\n#define EGL_D3D11_DEVICE_ANGLE            0x33A1\n#endif /* EGL_ANGLE_device_d3d */\n\n#ifndef EGL_ANGLE_query_surface_pointer\n#define EGL_ANGLE_query_surface_pointer 1\ntypedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSURFACEPOINTERANGLEPROC) (EGLDisplay dpy, EGLSurface surface, EGLint attribute, void **value);\n#ifdef EGL_EGLEXT_PROTOTYPES\nEGLAPI EGLBoolean EGLAPIENTRY eglQuerySurfacePointerANGLE (EGLDisplay dpy, EGLSurface surface, EGLint attribute, void **value);\n#endif\n#endif /* EGL_ANGLE_query_surface_pointer */\n\n#ifndef EGL_ANGLE_surface_d3d_texture_2d_share_handle\n#define EGL_ANGLE_surface_d3d_texture_2d_share_handle 1\n#endif /* EGL_ANGLE_surface_d3d_texture_2d_share_handle */\n\n#ifndef EGL_ANGLE_window_fixed_size\n#define EGL_ANGLE_window_fixed_size 1\n#define EGL_FIXED_SIZE_ANGLE              0x3201\n#endif /* EGL_ANGLE_window_fixed_size */\n\n#ifndef EGL_ARM_pixmap_multisample_discard\n#define EGL_ARM_pixmap_multisample_discard 1\n#define EGL_DISCARD_SAMPLES_ARM           0x3286\n#endif /* EGL_ARM_pixmap_multisample_discard */\n\n#ifndef EGL_EXT_buffer_age\n#define EGL_EXT_buffer_age 1\n#define EGL_BUFFER_AGE_EXT                0x313D\n#endif /* EGL_EXT_buffer_age */\n\n#ifndef EGL_EXT_client_extensions\n#define EGL_EXT_client_extensions 1\n#endif /* EGL_EXT_client_extensions */\n\n#ifndef EGL_EXT_create_context_robustness\n#define EGL_EXT_create_context_robustness 1\n#define EGL_CONTEXT_OPENGL_ROBUST_ACCESS_EXT 0x30BF\n#define EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_EXT 0x3138\n#define EGL_NO_RESET_NOTIFICATION_EXT     0x31BE\n#define EGL_LOSE_CONTEXT_ON_RESET_EXT     0x31BF\n#endif /* EGL_EXT_create_context_robustness */\n\n#ifndef EGL_EXT_device_base\n#define EGL_EXT_device_base 1\ntypedef void *EGLDeviceEXT;\n#define EGL_NO_DEVICE_EXT                 ((EGLDeviceEXT)(0))\n#define EGL_BAD_DEVICE_EXT                0x322B\n#define EGL_DEVICE_EXT                    0x322C\ntypedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYDEVICEATTRIBEXTPROC) (EGLDeviceEXT device, EGLint attribute, EGLAttrib *value);\ntypedef const char *(EGLAPIENTRYP PFNEGLQUERYDEVICESTRINGEXTPROC) (EGLDeviceEXT device, EGLint name);\ntypedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYDEVICESEXTPROC) (EGLint max_devices, EGLDeviceEXT *devices, EGLint *num_devices);\ntypedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYDISPLAYATTRIBEXTPROC) (EGLDisplay dpy, EGLint attribute, EGLAttrib *value);\n#ifdef EGL_EGLEXT_PROTOTYPES\nEGLAPI EGLBoolean EGLAPIENTRY eglQueryDeviceAttribEXT (EGLDeviceEXT device, EGLint attribute, EGLAttrib *value);\nEGLAPI const char *EGLAPIENTRY eglQueryDeviceStringEXT (EGLDeviceEXT device, EGLint name);\nEGLAPI EGLBoolean EGLAPIENTRY eglQueryDevicesEXT (EGLint max_devices, EGLDeviceEXT *devices, EGLint *num_devices);\nEGLAPI EGLBoolean EGLAPIENTRY eglQueryDisplayAttribEXT (EGLDisplay dpy, EGLint attribute, EGLAttrib *value);\n#endif\n#endif /* EGL_EXT_device_base */\n\n#ifndef EGL_EXT_device_drm\n#define EGL_EXT_device_drm 1\n#define EGL_DRM_DEVICE_FILE_EXT           0x3233\n#endif /* EGL_EXT_device_drm */\n\n#ifndef EGL_EXT_device_enumeration\n#define EGL_EXT_device_enumeration 1\n#endif /* EGL_EXT_device_enumeration */\n\n#ifndef EGL_EXT_device_openwf\n#define EGL_EXT_device_openwf 1\n#define EGL_OPENWF_DEVICE_ID_EXT          0x3237\n#endif /* EGL_EXT_device_openwf */\n\n#ifndef EGL_EXT_device_query\n#define EGL_EXT_device_query 1\n#endif /* EGL_EXT_device_query */\n\n#ifndef EGL_EXT_image_dma_buf_import\n#define EGL_EXT_image_dma_buf_import 1\n#define EGL_LINUX_DMA_BUF_EXT             0x3270\n#define EGL_LINUX_DRM_FOURCC_EXT          0x3271\n#define EGL_DMA_BUF_PLANE0_FD_EXT         0x3272\n#define EGL_DMA_BUF_PLANE0_OFFSET_EXT     0x3273\n#define EGL_DMA_BUF_PLANE0_PITCH_EXT      0x3274\n#define EGL_DMA_BUF_PLANE1_FD_EXT         0x3275\n#define EGL_DMA_BUF_PLANE1_OFFSET_EXT     0x3276\n#define EGL_DMA_BUF_PLANE1_PITCH_EXT      0x3277\n#define EGL_DMA_BUF_PLANE2_FD_EXT         0x3278\n#define EGL_DMA_BUF_PLANE2_OFFSET_EXT     0x3279\n#define EGL_DMA_BUF_PLANE2_PITCH_EXT      0x327A\n#define EGL_YUV_COLOR_SPACE_HINT_EXT      0x327B\n#define EGL_SAMPLE_RANGE_HINT_EXT         0x327C\n#define EGL_YUV_CHROMA_HORIZONTAL_SITING_HINT_EXT 0x327D\n#define EGL_YUV_CHROMA_VERTICAL_SITING_HINT_EXT 0x327E\n#define EGL_ITU_REC601_EXT                0x327F\n#define EGL_ITU_REC709_EXT                0x3280\n#define EGL_ITU_REC2020_EXT               0x3281\n#define EGL_YUV_FULL_RANGE_EXT            0x3282\n#define EGL_YUV_NARROW_RANGE_EXT          0x3283\n#define EGL_YUV_CHROMA_SITING_0_EXT       0x3284\n#define EGL_YUV_CHROMA_SITING_0_5_EXT     0x3285\n#endif /* EGL_EXT_image_dma_buf_import */\n\n#ifndef EGL_EXT_multiview_window\n#define EGL_EXT_multiview_window 1\n#define EGL_MULTIVIEW_VIEW_COUNT_EXT      0x3134\n#endif /* EGL_EXT_multiview_window */\n\n#ifndef EGL_EXT_output_base\n#define EGL_EXT_output_base 1\ntypedef void *EGLOutputLayerEXT;\ntypedef void *EGLOutputPortEXT;\n#define EGL_NO_OUTPUT_LAYER_EXT           ((EGLOutputLayerEXT)0)\n#define EGL_NO_OUTPUT_PORT_EXT            ((EGLOutputPortEXT)0)\n#define EGL_BAD_OUTPUT_LAYER_EXT          0x322D\n#define EGL_BAD_OUTPUT_PORT_EXT           0x322E\n#define EGL_SWAP_INTERVAL_EXT             0x322F\ntypedef EGLBoolean (EGLAPIENTRYP PFNEGLGETOUTPUTLAYERSEXTPROC) (EGLDisplay dpy, const EGLAttrib *attrib_list, EGLOutputLayerEXT *layers, EGLint max_layers, EGLint *num_layers);\ntypedef EGLBoolean (EGLAPIENTRYP PFNEGLGETOUTPUTPORTSEXTPROC) (EGLDisplay dpy, const EGLAttrib *attrib_list, EGLOutputPortEXT *ports, EGLint max_ports, EGLint *num_ports);\ntypedef EGLBoolean (EGLAPIENTRYP PFNEGLOUTPUTLAYERATTRIBEXTPROC) (EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint attribute, EGLAttrib value);\ntypedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYOUTPUTLAYERATTRIBEXTPROC) (EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint attribute, EGLAttrib *value);\ntypedef const char *(EGLAPIENTRYP PFNEGLQUERYOUTPUTLAYERSTRINGEXTPROC) (EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint name);\ntypedef EGLBoolean (EGLAPIENTRYP PFNEGLOUTPUTPORTATTRIBEXTPROC) (EGLDisplay dpy, EGLOutputPortEXT port, EGLint attribute, EGLAttrib value);\ntypedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYOUTPUTPORTATTRIBEXTPROC) (EGLDisplay dpy, EGLOutputPortEXT port, EGLint attribute, EGLAttrib *value);\ntypedef const char *(EGLAPIENTRYP PFNEGLQUERYOUTPUTPORTSTRINGEXTPROC) (EGLDisplay dpy, EGLOutputPortEXT port, EGLint name);\n#ifdef EGL_EGLEXT_PROTOTYPES\nEGLAPI EGLBoolean EGLAPIENTRY eglGetOutputLayersEXT (EGLDisplay dpy, const EGLAttrib *attrib_list, EGLOutputLayerEXT *layers, EGLint max_layers, EGLint *num_layers);\nEGLAPI EGLBoolean EGLAPIENTRY eglGetOutputPortsEXT (EGLDisplay dpy, const EGLAttrib *attrib_list, EGLOutputPortEXT *ports, EGLint max_ports, EGLint *num_ports);\nEGLAPI EGLBoolean EGLAPIENTRY eglOutputLayerAttribEXT (EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint attribute, EGLAttrib value);\nEGLAPI EGLBoolean EGLAPIENTRY eglQueryOutputLayerAttribEXT (EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint attribute, EGLAttrib *value);\nEGLAPI const char *EGLAPIENTRY eglQueryOutputLayerStringEXT (EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint name);\nEGLAPI EGLBoolean EGLAPIENTRY eglOutputPortAttribEXT (EGLDisplay dpy, EGLOutputPortEXT port, EGLint attribute, EGLAttrib value);\nEGLAPI EGLBoolean EGLAPIENTRY eglQueryOutputPortAttribEXT (EGLDisplay dpy, EGLOutputPortEXT port, EGLint attribute, EGLAttrib *value);\nEGLAPI const char *EGLAPIENTRY eglQueryOutputPortStringEXT (EGLDisplay dpy, EGLOutputPortEXT port, EGLint name);\n#endif\n#endif /* EGL_EXT_output_base */\n\n#ifndef EGL_EXT_output_drm\n#define EGL_EXT_output_drm 1\n#define EGL_DRM_CRTC_EXT                  0x3234\n#define EGL_DRM_PLANE_EXT                 0x3235\n#define EGL_DRM_CONNECTOR_EXT             0x3236\n#endif /* EGL_EXT_output_drm */\n\n#ifndef EGL_EXT_output_openwf\n#define EGL_EXT_output_openwf 1\n#define EGL_OPENWF_PIPELINE_ID_EXT        0x3238\n#define EGL_OPENWF_PORT_ID_EXT            0x3239\n#endif /* EGL_EXT_output_openwf */\n\n#ifndef EGL_EXT_platform_base\n#define EGL_EXT_platform_base 1\ntypedef EGLDisplay (EGLAPIENTRYP PFNEGLGETPLATFORMDISPLAYEXTPROC) (EGLenum platform, void *native_display, const EGLint *attrib_list);\ntypedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPLATFORMWINDOWSURFACEEXTPROC) (EGLDisplay dpy, EGLConfig config, void *native_window, const EGLint *attrib_list);\ntypedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPLATFORMPIXMAPSURFACEEXTPROC) (EGLDisplay dpy, EGLConfig config, void *native_pixmap, const EGLint *attrib_list);\n#ifdef EGL_EGLEXT_PROTOTYPES\nEGLAPI EGLDisplay EGLAPIENTRY eglGetPlatformDisplayEXT (EGLenum platform, void *native_display, const EGLint *attrib_list);\nEGLAPI EGLSurface EGLAPIENTRY eglCreatePlatformWindowSurfaceEXT (EGLDisplay dpy, EGLConfig config, void *native_window, const EGLint *attrib_list);\nEGLAPI EGLSurface EGLAPIENTRY eglCreatePlatformPixmapSurfaceEXT (EGLDisplay dpy, EGLConfig config, void *native_pixmap, const EGLint *attrib_list);\n#endif\n#endif /* EGL_EXT_platform_base */\n\n#ifndef EGL_EXT_platform_device\n#define EGL_EXT_platform_device 1\n#define EGL_PLATFORM_DEVICE_EXT           0x313F\n#endif /* EGL_EXT_platform_device */\n\n#ifndef EGL_EXT_platform_wayland\n#define EGL_EXT_platform_wayland 1\n#define EGL_PLATFORM_WAYLAND_EXT          0x31D8\n#endif /* EGL_EXT_platform_wayland */\n\n#ifndef EGL_EXT_platform_x11\n#define EGL_EXT_platform_x11 1\n#define EGL_PLATFORM_X11_EXT              0x31D5\n#define EGL_PLATFORM_X11_SCREEN_EXT       0x31D6\n#endif /* EGL_EXT_platform_x11 */\n\n#ifndef EGL_EXT_protected_surface\n#define EGL_EXT_protected_surface 1\n#define EGL_PROTECTED_CONTENT_EXT         0x32C0\n#endif /* EGL_EXT_protected_surface */\n\n#ifndef EGL_EXT_stream_consumer_egloutput\n#define EGL_EXT_stream_consumer_egloutput 1\ntypedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMEROUTPUTEXTPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLOutputLayerEXT layer);\n#ifdef EGL_EGLEXT_PROTOTYPES\nEGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerOutputEXT (EGLDisplay dpy, EGLStreamKHR stream, EGLOutputLayerEXT layer);\n#endif\n#endif /* EGL_EXT_stream_consumer_egloutput */\n\n#ifndef EGL_EXT_swap_buffers_with_damage\n#define EGL_EXT_swap_buffers_with_damage 1\ntypedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSWITHDAMAGEEXTPROC) (EGLDisplay dpy, EGLSurface surface, EGLint *rects, EGLint n_rects);\n#ifdef EGL_EGLEXT_PROTOTYPES\nEGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffersWithDamageEXT (EGLDisplay dpy, EGLSurface surface, EGLint *rects, EGLint n_rects);\n#endif\n#endif /* EGL_EXT_swap_buffers_with_damage */\n\n#ifndef EGL_EXT_yuv_surface\n#define EGL_EXT_yuv_surface 1\n#define EGL_YUV_ORDER_EXT                 0x3301\n#define EGL_YUV_NUMBER_OF_PLANES_EXT      0x3311\n#define EGL_YUV_SUBSAMPLE_EXT             0x3312\n#define EGL_YUV_DEPTH_RANGE_EXT           0x3317\n#define EGL_YUV_CSC_STANDARD_EXT          0x330A\n#define EGL_YUV_PLANE_BPP_EXT             0x331A\n#define EGL_YUV_BUFFER_EXT                0x3300\n#define EGL_YUV_ORDER_YUV_EXT             0x3302\n#define EGL_YUV_ORDER_YVU_EXT             0x3303\n#define EGL_YUV_ORDER_YUYV_EXT            0x3304\n#define EGL_YUV_ORDER_UYVY_EXT            0x3305\n#define EGL_YUV_ORDER_YVYU_EXT            0x3306\n#define EGL_YUV_ORDER_VYUY_EXT            0x3307\n#define EGL_YUV_ORDER_AYUV_EXT            0x3308\n#define EGL_YUV_SUBSAMPLE_4_2_0_EXT       0x3313\n#define EGL_YUV_SUBSAMPLE_4_2_2_EXT       0x3314\n#define EGL_YUV_SUBSAMPLE_4_4_4_EXT       0x3315\n#define EGL_YUV_DEPTH_RANGE_LIMITED_EXT   0x3318\n#define EGL_YUV_DEPTH_RANGE_FULL_EXT      0x3319\n#define EGL_YUV_CSC_STANDARD_601_EXT      0x330B\n#define EGL_YUV_CSC_STANDARD_709_EXT      0x330C\n#define EGL_YUV_CSC_STANDARD_2020_EXT     0x330D\n#define EGL_YUV_PLANE_BPP_0_EXT           0x331B\n#define EGL_YUV_PLANE_BPP_8_EXT           0x331C\n#define EGL_YUV_PLANE_BPP_10_EXT          0x331D\n#endif /* EGL_EXT_yuv_surface */\n\n#ifndef EGL_HI_clientpixmap\n#define EGL_HI_clientpixmap 1\nstruct EGLClientPixmapHI {\n    void  *pData;\n    EGLint iWidth;\n    EGLint iHeight;\n    EGLint iStride;\n};\n#define EGL_CLIENT_PIXMAP_POINTER_HI      0x8F74\ntypedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPIXMAPSURFACEHIPROC) (EGLDisplay dpy, EGLConfig config, struct EGLClientPixmapHI *pixmap);\n#ifdef EGL_EGLEXT_PROTOTYPES\nEGLAPI EGLSurface EGLAPIENTRY eglCreatePixmapSurfaceHI (EGLDisplay dpy, EGLConfig config, struct EGLClientPixmapHI *pixmap);\n#endif\n#endif /* EGL_HI_clientpixmap */\n\n#ifndef EGL_HI_colorformats\n#define EGL_HI_colorformats 1\n#define EGL_COLOR_FORMAT_HI               0x8F70\n#define EGL_COLOR_RGB_HI                  0x8F71\n#define EGL_COLOR_RGBA_HI                 0x8F72\n#define EGL_COLOR_ARGB_HI                 0x8F73\n#endif /* EGL_HI_colorformats */\n\n#ifndef EGL_IMG_context_priority\n#define EGL_IMG_context_priority 1\n#define EGL_CONTEXT_PRIORITY_LEVEL_IMG    0x3100\n#define EGL_CONTEXT_PRIORITY_HIGH_IMG     0x3101\n#define EGL_CONTEXT_PRIORITY_MEDIUM_IMG   0x3102\n#define EGL_CONTEXT_PRIORITY_LOW_IMG      0x3103\n#endif /* EGL_IMG_context_priority */\n\n#ifndef EGL_MESA_drm_image\n#define EGL_MESA_drm_image 1\n#define EGL_DRM_BUFFER_FORMAT_MESA        0x31D0\n#define EGL_DRM_BUFFER_USE_MESA           0x31D1\n#define EGL_DRM_BUFFER_FORMAT_ARGB32_MESA 0x31D2\n#define EGL_DRM_BUFFER_MESA               0x31D3\n#define EGL_DRM_BUFFER_STRIDE_MESA        0x31D4\n#define EGL_DRM_BUFFER_USE_SCANOUT_MESA   0x00000001\n#define EGL_DRM_BUFFER_USE_SHARE_MESA     0x00000002\ntypedef EGLImageKHR (EGLAPIENTRYP PFNEGLCREATEDRMIMAGEMESAPROC) (EGLDisplay dpy, const EGLint *attrib_list);\ntypedef EGLBoolean (EGLAPIENTRYP PFNEGLEXPORTDRMIMAGEMESAPROC) (EGLDisplay dpy, EGLImageKHR image, EGLint *name, EGLint *handle, EGLint *stride);\n#ifdef EGL_EGLEXT_PROTOTYPES\nEGLAPI EGLImageKHR EGLAPIENTRY eglCreateDRMImageMESA (EGLDisplay dpy, const EGLint *attrib_list);\nEGLAPI EGLBoolean EGLAPIENTRY eglExportDRMImageMESA (EGLDisplay dpy, EGLImageKHR image, EGLint *name, EGLint *handle, EGLint *stride);\n#endif\n#endif /* EGL_MESA_drm_image */\n\n#ifndef EGL_MESA_image_dma_buf_export\n#define EGL_MESA_image_dma_buf_export 1\ntypedef EGLBoolean (EGLAPIENTRYP PFNEGLEXPORTDMABUFIMAGEQUERYMESAPROC) (EGLDisplay dpy, EGLImageKHR image, int *fourcc, int *num_planes, EGLuint64KHR *modifiers);\ntypedef EGLBoolean (EGLAPIENTRYP PFNEGLEXPORTDMABUFIMAGEMESAPROC) (EGLDisplay dpy, EGLImageKHR image, int *fds, EGLint *strides, EGLint *offsets);\n#ifdef EGL_EGLEXT_PROTOTYPES\nEGLAPI EGLBoolean EGLAPIENTRY eglExportDMABUFImageQueryMESA (EGLDisplay dpy, EGLImageKHR image, int *fourcc, int *num_planes, EGLuint64KHR *modifiers);\nEGLAPI EGLBoolean EGLAPIENTRY eglExportDMABUFImageMESA (EGLDisplay dpy, EGLImageKHR image, int *fds, EGLint *strides, EGLint *offsets);\n#endif\n#endif /* EGL_MESA_image_dma_buf_export */\n\n#ifndef EGL_MESA_platform_gbm\n#define EGL_MESA_platform_gbm 1\n#define EGL_PLATFORM_GBM_MESA             0x31D7\n#endif /* EGL_MESA_platform_gbm */\n\n#ifndef EGL_NOK_swap_region\n#define EGL_NOK_swap_region 1\ntypedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSREGIONNOKPROC) (EGLDisplay dpy, EGLSurface surface, EGLint numRects, const EGLint *rects);\n#ifdef EGL_EGLEXT_PROTOTYPES\nEGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffersRegionNOK (EGLDisplay dpy, EGLSurface surface, EGLint numRects, const EGLint *rects);\n#endif\n#endif /* EGL_NOK_swap_region */\n\n#ifndef EGL_NOK_swap_region2\n#define EGL_NOK_swap_region2 1\ntypedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSREGION2NOKPROC) (EGLDisplay dpy, EGLSurface surface, EGLint numRects, const EGLint *rects);\n#ifdef EGL_EGLEXT_PROTOTYPES\nEGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffersRegion2NOK (EGLDisplay dpy, EGLSurface surface, EGLint numRects, const EGLint *rects);\n#endif\n#endif /* EGL_NOK_swap_region2 */\n\n#ifndef EGL_NOK_texture_from_pixmap\n#define EGL_NOK_texture_from_pixmap 1\n#define EGL_Y_INVERTED_NOK                0x307F\n#endif /* EGL_NOK_texture_from_pixmap */\n\n#ifndef EGL_NV_3dvision_surface\n#define EGL_NV_3dvision_surface 1\n#define EGL_AUTO_STEREO_NV                0x3136\n#endif /* EGL_NV_3dvision_surface */\n\n#ifndef EGL_NV_coverage_sample\n#define EGL_NV_coverage_sample 1\n#define EGL_COVERAGE_BUFFERS_NV           0x30E0\n#define EGL_COVERAGE_SAMPLES_NV           0x30E1\n#endif /* EGL_NV_coverage_sample */\n\n#ifndef EGL_NV_coverage_sample_resolve\n#define EGL_NV_coverage_sample_resolve 1\n#define EGL_COVERAGE_SAMPLE_RESOLVE_NV    0x3131\n#define EGL_COVERAGE_SAMPLE_RESOLVE_DEFAULT_NV 0x3132\n#define EGL_COVERAGE_SAMPLE_RESOLVE_NONE_NV 0x3133\n#endif /* EGL_NV_coverage_sample_resolve */\n\n#ifndef EGL_NV_cuda_event\n#define EGL_NV_cuda_event 1\n#define EGL_CUDA_EVENT_HANDLE_NV          0x323B\n#define EGL_SYNC_CUDA_EVENT_NV            0x323C\n#define EGL_SYNC_CUDA_EVENT_COMPLETE_NV   0x323D\n#endif /* EGL_NV_cuda_event */\n\n#ifndef EGL_NV_depth_nonlinear\n#define EGL_NV_depth_nonlinear 1\n#define EGL_DEPTH_ENCODING_NV             0x30E2\n#define EGL_DEPTH_ENCODING_NONE_NV        0\n#define EGL_DEPTH_ENCODING_NONLINEAR_NV   0x30E3\n#endif /* EGL_NV_depth_nonlinear */\n\n#ifndef EGL_NV_device_cuda\n#define EGL_NV_device_cuda 1\n#define EGL_CUDA_DEVICE_NV                0x323A\n#endif /* EGL_NV_device_cuda */\n\n#ifndef EGL_NV_native_query\n#define EGL_NV_native_query 1\ntypedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYNATIVEDISPLAYNVPROC) (EGLDisplay dpy, EGLNativeDisplayType *display_id);\ntypedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYNATIVEWINDOWNVPROC) (EGLDisplay dpy, EGLSurface surf, EGLNativeWindowType *window);\ntypedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYNATIVEPIXMAPNVPROC) (EGLDisplay dpy, EGLSurface surf, EGLNativePixmapType *pixmap);\n#ifdef EGL_EGLEXT_PROTOTYPES\nEGLAPI EGLBoolean EGLAPIENTRY eglQueryNativeDisplayNV (EGLDisplay dpy, EGLNativeDisplayType *display_id);\nEGLAPI EGLBoolean EGLAPIENTRY eglQueryNativeWindowNV (EGLDisplay dpy, EGLSurface surf, EGLNativeWindowType *window);\nEGLAPI EGLBoolean EGLAPIENTRY eglQueryNativePixmapNV (EGLDisplay dpy, EGLSurface surf, EGLNativePixmapType *pixmap);\n#endif\n#endif /* EGL_NV_native_query */\n\n#ifndef EGL_NV_post_convert_rounding\n#define EGL_NV_post_convert_rounding 1\n#endif /* EGL_NV_post_convert_rounding */\n\n#ifndef EGL_NV_post_sub_buffer\n#define EGL_NV_post_sub_buffer 1\n#define EGL_POST_SUB_BUFFER_SUPPORTED_NV  0x30BE\ntypedef EGLBoolean (EGLAPIENTRYP PFNEGLPOSTSUBBUFFERNVPROC) (EGLDisplay dpy, EGLSurface surface, EGLint x, EGLint y, EGLint width, EGLint height);\n#ifdef EGL_EGLEXT_PROTOTYPES\nEGLAPI EGLBoolean EGLAPIENTRY eglPostSubBufferNV (EGLDisplay dpy, EGLSurface surface, EGLint x, EGLint y, EGLint width, EGLint height);\n#endif\n#endif /* EGL_NV_post_sub_buffer */\n\n#ifndef EGL_NV_stream_sync\n#define EGL_NV_stream_sync 1\n#define EGL_SYNC_NEW_FRAME_NV             0x321F\ntypedef EGLSyncKHR (EGLAPIENTRYP PFNEGLCREATESTREAMSYNCNVPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum type, const EGLint *attrib_list);\n#ifdef EGL_EGLEXT_PROTOTYPES\nEGLAPI EGLSyncKHR EGLAPIENTRY eglCreateStreamSyncNV (EGLDisplay dpy, EGLStreamKHR stream, EGLenum type, const EGLint *attrib_list);\n#endif\n#endif /* EGL_NV_stream_sync */\n\n#ifndef EGL_NV_sync\n#define EGL_NV_sync 1\ntypedef void *EGLSyncNV;\ntypedef khronos_utime_nanoseconds_t EGLTimeNV;\n#ifdef KHRONOS_SUPPORT_INT64\n#define EGL_SYNC_PRIOR_COMMANDS_COMPLETE_NV 0x30E6\n#define EGL_SYNC_STATUS_NV                0x30E7\n#define EGL_SIGNALED_NV                   0x30E8\n#define EGL_UNSIGNALED_NV                 0x30E9\n#define EGL_SYNC_FLUSH_COMMANDS_BIT_NV    0x0001\n#define EGL_FOREVER_NV                    0xFFFFFFFFFFFFFFFFull\n#define EGL_ALREADY_SIGNALED_NV           0x30EA\n#define EGL_TIMEOUT_EXPIRED_NV            0x30EB\n#define EGL_CONDITION_SATISFIED_NV        0x30EC\n#define EGL_SYNC_TYPE_NV                  0x30ED\n#define EGL_SYNC_CONDITION_NV             0x30EE\n#define EGL_SYNC_FENCE_NV                 0x30EF\n#define EGL_NO_SYNC_NV                    ((EGLSyncNV)0)\ntypedef EGLSyncNV (EGLAPIENTRYP PFNEGLCREATEFENCESYNCNVPROC) (EGLDisplay dpy, EGLenum condition, const EGLint *attrib_list);\ntypedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSYNCNVPROC) (EGLSyncNV sync);\ntypedef EGLBoolean (EGLAPIENTRYP PFNEGLFENCENVPROC) (EGLSyncNV sync);\ntypedef EGLint (EGLAPIENTRYP PFNEGLCLIENTWAITSYNCNVPROC) (EGLSyncNV sync, EGLint flags, EGLTimeNV timeout);\ntypedef EGLBoolean (EGLAPIENTRYP PFNEGLSIGNALSYNCNVPROC) (EGLSyncNV sync, EGLenum mode);\ntypedef EGLBoolean (EGLAPIENTRYP PFNEGLGETSYNCATTRIBNVPROC) (EGLSyncNV sync, EGLint attribute, EGLint *value);\n#ifdef EGL_EGLEXT_PROTOTYPES\nEGLAPI EGLSyncNV EGLAPIENTRY eglCreateFenceSyncNV (EGLDisplay dpy, EGLenum condition, const EGLint *attrib_list);\nEGLAPI EGLBoolean EGLAPIENTRY eglDestroySyncNV (EGLSyncNV sync);\nEGLAPI EGLBoolean EGLAPIENTRY eglFenceNV (EGLSyncNV sync);\nEGLAPI EGLint EGLAPIENTRY eglClientWaitSyncNV (EGLSyncNV sync, EGLint flags, EGLTimeNV timeout);\nEGLAPI EGLBoolean EGLAPIENTRY eglSignalSyncNV (EGLSyncNV sync, EGLenum mode);\nEGLAPI EGLBoolean EGLAPIENTRY eglGetSyncAttribNV (EGLSyncNV sync, EGLint attribute, EGLint *value);\n#endif\n#endif /* KHRONOS_SUPPORT_INT64 */\n#endif /* EGL_NV_sync */\n\n#ifndef EGL_NV_system_time\n#define EGL_NV_system_time 1\ntypedef khronos_utime_nanoseconds_t EGLuint64NV;\n#ifdef KHRONOS_SUPPORT_INT64\ntypedef EGLuint64NV (EGLAPIENTRYP PFNEGLGETSYSTEMTIMEFREQUENCYNVPROC) (void);\ntypedef EGLuint64NV (EGLAPIENTRYP PFNEGLGETSYSTEMTIMENVPROC) (void);\n#ifdef EGL_EGLEXT_PROTOTYPES\nEGLAPI EGLuint64NV EGLAPIENTRY eglGetSystemTimeFrequencyNV (void);\nEGLAPI EGLuint64NV EGLAPIENTRY eglGetSystemTimeNV (void);\n#endif\n#endif /* KHRONOS_SUPPORT_INT64 */\n#endif /* EGL_NV_system_time */\n\n#ifndef EGL_TIZEN_image_native_buffer\n#define EGL_TIZEN_image_native_buffer 1\n#define EGL_NATIVE_BUFFER_TIZEN           0x32A0\n#endif /* EGL_TIZEN_image_native_buffer */\n\n#ifndef EGL_TIZEN_image_native_surface\n#define EGL_TIZEN_image_native_surface 1\n#define EGL_NATIVE_SURFACE_TIZEN          0x32A1\n#endif /* EGL_TIZEN_image_native_surface */\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif /* __eglext_h_ */\n\n\n#endif /* _MSC_VER */\n"
  },
  {
    "path": "external/SDL2-2.0.4/include/SDL_endian.h",
    "content": "/*\n  Simple DirectMedia Layer\n  Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>\n\n  This software is provided 'as-is', without any express or implied\n  warranty.  In no event will the authors be held liable for any damages\n  arising from the use of this software.\n\n  Permission is granted to anyone to use this software for any purpose,\n  including commercial applications, and to alter it and redistribute it\n  freely, subject to the following restrictions:\n\n  1. The origin of this software must not be misrepresented; you must not\n     claim that you wrote the original software. If you use this software\n     in a product, an acknowledgment in the product documentation would be\n     appreciated but is not required.\n  2. Altered source versions must be plainly marked as such, and must not be\n     misrepresented as being the original software.\n  3. This notice may not be removed or altered from any source distribution.\n*/\n\n/**\n *  \\file SDL_endian.h\n *\n *  Functions for reading and writing endian-specific values\n */\n\n#ifndef _SDL_endian_h\n#define _SDL_endian_h\n\n#include \"SDL_stdinc.h\"\n\n/**\n *  \\name The two types of endianness\n */\n/* @{ */\n#define SDL_LIL_ENDIAN  1234\n#define SDL_BIG_ENDIAN  4321\n/* @} */\n\n#ifndef SDL_BYTEORDER           /* Not defined in SDL_config.h? */\n#ifdef __linux__\n#include <endian.h>\n#define SDL_BYTEORDER  __BYTE_ORDER\n#else /* __linux__ */\n#if defined(__hppa__) || \\\n    defined(__m68k__) || defined(mc68000) || defined(_M_M68K) || \\\n    (defined(__MIPS__) && defined(__MISPEB__)) || \\\n    defined(__ppc__) || defined(__POWERPC__) || defined(_M_PPC) || \\\n    defined(__sparc__)\n#define SDL_BYTEORDER   SDL_BIG_ENDIAN\n#else\n#define SDL_BYTEORDER   SDL_LIL_ENDIAN\n#endif\n#endif /* __linux__ */\n#endif /* !SDL_BYTEORDER */\n\n\n#include \"begin_code.h\"\n/* Set up for C function definitions, even when using C++ */\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n/**\n *  \\file SDL_endian.h\n */\n#if defined(__GNUC__) && defined(__i386__) && \\\n   !(__GNUC__ == 2 && __GNUC_MINOR__ == 95 /* broken gcc version */)\nSDL_FORCE_INLINE Uint16\nSDL_Swap16(Uint16 x)\n{\n  __asm__(\"xchgb %b0,%h0\": \"=q\"(x):\"0\"(x));\n    return x;\n}\n#elif defined(__GNUC__) && defined(__x86_64__)\nSDL_FORCE_INLINE Uint16\nSDL_Swap16(Uint16 x)\n{\n  __asm__(\"xchgb %b0,%h0\": \"=Q\"(x):\"0\"(x));\n    return x;\n}\n#elif defined(__GNUC__) && (defined(__powerpc__) || defined(__ppc__))\nSDL_FORCE_INLINE Uint16\nSDL_Swap16(Uint16 x)\n{\n    int result;\n\n  __asm__(\"rlwimi %0,%2,8,16,23\": \"=&r\"(result):\"0\"(x >> 8), \"r\"(x));\n    return (Uint16)result;\n}\n#elif defined(__GNUC__) && (defined(__M68000__) || defined(__M68020__)) && !defined(__mcoldfire__)\nSDL_FORCE_INLINE Uint16\nSDL_Swap16(Uint16 x)\n{\n  __asm__(\"rorw #8,%0\": \"=d\"(x): \"0\"(x):\"cc\");\n    return x;\n}\n#else\nSDL_FORCE_INLINE Uint16\nSDL_Swap16(Uint16 x)\n{\n    return SDL_static_cast(Uint16, ((x << 8) | (x >> 8)));\n}\n#endif\n\n#if defined(__GNUC__) && defined(__i386__)\nSDL_FORCE_INLINE Uint32\nSDL_Swap32(Uint32 x)\n{\n  __asm__(\"bswap %0\": \"=r\"(x):\"0\"(x));\n    return x;\n}\n#elif defined(__GNUC__) && defined(__x86_64__)\nSDL_FORCE_INLINE Uint32\nSDL_Swap32(Uint32 x)\n{\n  __asm__(\"bswapl %0\": \"=r\"(x):\"0\"(x));\n    return x;\n}\n#elif defined(__GNUC__) && (defined(__powerpc__) || defined(__ppc__))\nSDL_FORCE_INLINE Uint32\nSDL_Swap32(Uint32 x)\n{\n    Uint32 result;\n\n  __asm__(\"rlwimi %0,%2,24,16,23\": \"=&r\"(result):\"0\"(x >> 24), \"r\"(x));\n  __asm__(\"rlwimi %0,%2,8,8,15\": \"=&r\"(result):\"0\"(result), \"r\"(x));\n  __asm__(\"rlwimi %0,%2,24,0,7\": \"=&r\"(result):\"0\"(result), \"r\"(x));\n    return result;\n}\n#elif defined(__GNUC__) && (defined(__M68000__) || defined(__M68020__)) && !defined(__mcoldfire__)\nSDL_FORCE_INLINE Uint32\nSDL_Swap32(Uint32 x)\n{\n  __asm__(\"rorw #8,%0\\n\\tswap %0\\n\\trorw #8,%0\": \"=d\"(x): \"0\"(x):\"cc\");\n    return x;\n}\n#else\nSDL_FORCE_INLINE Uint32\nSDL_Swap32(Uint32 x)\n{\n    return SDL_static_cast(Uint32, ((x << 24) | ((x << 8) & 0x00FF0000) |\n                                    ((x >> 8) & 0x0000FF00) | (x >> 24)));\n}\n#endif\n\n#if defined(__GNUC__) && defined(__i386__)\nSDL_FORCE_INLINE Uint64\nSDL_Swap64(Uint64 x)\n{\n    union\n    {\n        struct\n        {\n            Uint32 a, b;\n        } s;\n        Uint64 u;\n    } v;\n    v.u = x;\n  __asm__(\"bswapl %0 ; bswapl %1 ; xchgl %0,%1\": \"=r\"(v.s.a), \"=r\"(v.s.b):\"0\"(v.s.a),\n            \"1\"(v.s.\n                b));\n    return v.u;\n}\n#elif defined(__GNUC__) && defined(__x86_64__)\nSDL_FORCE_INLINE Uint64\nSDL_Swap64(Uint64 x)\n{\n  __asm__(\"bswapq %0\": \"=r\"(x):\"0\"(x));\n    return x;\n}\n#else\nSDL_FORCE_INLINE Uint64\nSDL_Swap64(Uint64 x)\n{\n    Uint32 hi, lo;\n\n    /* Separate into high and low 32-bit values and swap them */\n    lo = SDL_static_cast(Uint32, x & 0xFFFFFFFF);\n    x >>= 32;\n    hi = SDL_static_cast(Uint32, x & 0xFFFFFFFF);\n    x = SDL_Swap32(lo);\n    x <<= 32;\n    x |= SDL_Swap32(hi);\n    return (x);\n}\n#endif\n\n\nSDL_FORCE_INLINE float\nSDL_SwapFloat(float x)\n{\n    union\n    {\n        float f;\n        Uint32 ui32;\n    } swapper;\n    swapper.f = x;\n    swapper.ui32 = SDL_Swap32(swapper.ui32);\n    return swapper.f;\n}\n\n\n/**\n *  \\name Swap to native\n *  Byteswap item from the specified endianness to the native endianness.\n */\n/* @{ */\n#if SDL_BYTEORDER == SDL_LIL_ENDIAN\n#define SDL_SwapLE16(X) (X)\n#define SDL_SwapLE32(X) (X)\n#define SDL_SwapLE64(X) (X)\n#define SDL_SwapFloatLE(X)  (X)\n#define SDL_SwapBE16(X) SDL_Swap16(X)\n#define SDL_SwapBE32(X) SDL_Swap32(X)\n#define SDL_SwapBE64(X) SDL_Swap64(X)\n#define SDL_SwapFloatBE(X)  SDL_SwapFloat(X)\n#else\n#define SDL_SwapLE16(X) SDL_Swap16(X)\n#define SDL_SwapLE32(X) SDL_Swap32(X)\n#define SDL_SwapLE64(X) SDL_Swap64(X)\n#define SDL_SwapFloatLE(X)  SDL_SwapFloat(X)\n#define SDL_SwapBE16(X) (X)\n#define SDL_SwapBE32(X) (X)\n#define SDL_SwapBE64(X) (X)\n#define SDL_SwapFloatBE(X)  (X)\n#endif\n/* @} *//* Swap to native */\n\n/* Ends C function definitions when using C++ */\n#ifdef __cplusplus\n}\n#endif\n#include \"close_code.h\"\n\n#endif /* _SDL_endian_h */\n\n/* vi: set ts=4 sw=4 expandtab: */\n"
  },
  {
    "path": "external/SDL2-2.0.4/include/SDL_error.h",
    "content": "/*\n  Simple DirectMedia Layer\n  Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>\n\n  This software is provided 'as-is', without any express or implied\n  warranty.  In no event will the authors be held liable for any damages\n  arising from the use of this software.\n\n  Permission is granted to anyone to use this software for any purpose,\n  including commercial applications, and to alter it and redistribute it\n  freely, subject to the following restrictions:\n\n  1. The origin of this software must not be misrepresented; you must not\n     claim that you wrote the original software. If you use this software\n     in a product, an acknowledgment in the product documentation would be\n     appreciated but is not required.\n  2. Altered source versions must be plainly marked as such, and must not be\n     misrepresented as being the original software.\n  3. This notice may not be removed or altered from any source distribution.\n*/\n\n/**\n *  \\file SDL_error.h\n *\n *  Simple error message routines for SDL.\n */\n\n#ifndef _SDL_error_h\n#define _SDL_error_h\n\n#include \"SDL_stdinc.h\"\n\n#include \"begin_code.h\"\n/* Set up for C function definitions, even when using C++ */\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n/* Public functions */\n/* SDL_SetError() unconditionally returns -1. */\nextern DECLSPEC int SDLCALL SDL_SetError(SDL_PRINTF_FORMAT_STRING const char *fmt, ...) SDL_PRINTF_VARARG_FUNC(1);\nextern DECLSPEC const char *SDLCALL SDL_GetError(void);\nextern DECLSPEC void SDLCALL SDL_ClearError(void);\n\n/**\n *  \\name Internal error functions\n *\n *  \\internal\n *  Private error reporting function - used internally.\n */\n/* @{ */\n#define SDL_OutOfMemory()   SDL_Error(SDL_ENOMEM)\n#define SDL_Unsupported()   SDL_Error(SDL_UNSUPPORTED)\n#define SDL_InvalidParamError(param)    SDL_SetError(\"Parameter '%s' is invalid\", (param))\ntypedef enum\n{\n    SDL_ENOMEM,\n    SDL_EFREAD,\n    SDL_EFWRITE,\n    SDL_EFSEEK,\n    SDL_UNSUPPORTED,\n    SDL_LASTERROR\n} SDL_errorcode;\n/* SDL_Error() unconditionally returns -1. */\nextern DECLSPEC int SDLCALL SDL_Error(SDL_errorcode code);\n/* @} *//* Internal error functions */\n\n/* Ends C function definitions when using C++ */\n#ifdef __cplusplus\n}\n#endif\n#include \"close_code.h\"\n\n#endif /* _SDL_error_h */\n\n/* vi: set ts=4 sw=4 expandtab: */\n"
  },
  {
    "path": "external/SDL2-2.0.4/include/SDL_events.h",
    "content": "/*\n  Simple DirectMedia Layer\n  Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>\n\n  This software is provided 'as-is', without any express or implied\n  warranty.  In no event will the authors be held liable for any damages\n  arising from the use of this software.\n\n  Permission is granted to anyone to use this software for any purpose,\n  including commercial applications, and to alter it and redistribute it\n  freely, subject to the following restrictions:\n\n  1. The origin of this software must not be misrepresented; you must not\n     claim that you wrote the original software. If you use this software\n     in a product, an acknowledgment in the product documentation would be\n     appreciated but is not required.\n  2. Altered source versions must be plainly marked as such, and must not be\n     misrepresented as being the original software.\n  3. This notice may not be removed or altered from any source distribution.\n*/\n\n/**\n *  \\file SDL_events.h\n *\n *  Include file for SDL event handling.\n */\n\n#ifndef _SDL_events_h\n#define _SDL_events_h\n\n#include \"SDL_stdinc.h\"\n#include \"SDL_error.h\"\n#include \"SDL_video.h\"\n#include \"SDL_keyboard.h\"\n#include \"SDL_mouse.h\"\n#include \"SDL_joystick.h\"\n#include \"SDL_gamecontroller.h\"\n#include \"SDL_quit.h\"\n#include \"SDL_gesture.h\"\n#include \"SDL_touch.h\"\n\n#include \"begin_code.h\"\n/* Set up for C function definitions, even when using C++ */\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n/* General keyboard/mouse state definitions */\n#define SDL_RELEASED    0\n#define SDL_PRESSED 1\n\n/**\n * \\brief The types of events that can be delivered.\n */\ntypedef enum\n{\n    SDL_FIRSTEVENT     = 0,     /**< Unused (do not remove) */\n\n    /* Application events */\n    SDL_QUIT           = 0x100, /**< User-requested quit */\n\n    /* These application events have special meaning on iOS, see README-ios.md for details */\n    SDL_APP_TERMINATING,        /**< The application is being terminated by the OS\n                                     Called on iOS in applicationWillTerminate()\n                                     Called on Android in onDestroy()\n                                */\n    SDL_APP_LOWMEMORY,          /**< The application is low on memory, free memory if possible.\n                                     Called on iOS in applicationDidReceiveMemoryWarning()\n                                     Called on Android in onLowMemory()\n                                */\n    SDL_APP_WILLENTERBACKGROUND, /**< The application is about to enter the background\n                                     Called on iOS in applicationWillResignActive()\n                                     Called on Android in onPause()\n                                */\n    SDL_APP_DIDENTERBACKGROUND, /**< The application did enter the background and may not get CPU for some time\n                                     Called on iOS in applicationDidEnterBackground()\n                                     Called on Android in onPause()\n                                */\n    SDL_APP_WILLENTERFOREGROUND, /**< The application is about to enter the foreground\n                                     Called on iOS in applicationWillEnterForeground()\n                                     Called on Android in onResume()\n                                */\n    SDL_APP_DIDENTERFOREGROUND, /**< The application is now interactive\n                                     Called on iOS in applicationDidBecomeActive()\n                                     Called on Android in onResume()\n                                */\n\n    /* Window events */\n    SDL_WINDOWEVENT    = 0x200, /**< Window state change */\n    SDL_SYSWMEVENT,             /**< System specific event */\n\n    /* Keyboard events */\n    SDL_KEYDOWN        = 0x300, /**< Key pressed */\n    SDL_KEYUP,                  /**< Key released */\n    SDL_TEXTEDITING,            /**< Keyboard text editing (composition) */\n    SDL_TEXTINPUT,              /**< Keyboard text input */\n    SDL_KEYMAPCHANGED,          /**< Keymap changed due to a system event such as an\n                                     input language or keyboard layout change.\n                                */\n\n    /* Mouse events */\n    SDL_MOUSEMOTION    = 0x400, /**< Mouse moved */\n    SDL_MOUSEBUTTONDOWN,        /**< Mouse button pressed */\n    SDL_MOUSEBUTTONUP,          /**< Mouse button released */\n    SDL_MOUSEWHEEL,             /**< Mouse wheel motion */\n\n    /* Joystick events */\n    SDL_JOYAXISMOTION  = 0x600, /**< Joystick axis motion */\n    SDL_JOYBALLMOTION,          /**< Joystick trackball motion */\n    SDL_JOYHATMOTION,           /**< Joystick hat position change */\n    SDL_JOYBUTTONDOWN,          /**< Joystick button pressed */\n    SDL_JOYBUTTONUP,            /**< Joystick button released */\n    SDL_JOYDEVICEADDED,         /**< A new joystick has been inserted into the system */\n    SDL_JOYDEVICEREMOVED,       /**< An opened joystick has been removed */\n\n    /* Game controller events */\n    SDL_CONTROLLERAXISMOTION  = 0x650, /**< Game controller axis motion */\n    SDL_CONTROLLERBUTTONDOWN,          /**< Game controller button pressed */\n    SDL_CONTROLLERBUTTONUP,            /**< Game controller button released */\n    SDL_CONTROLLERDEVICEADDED,         /**< A new Game controller has been inserted into the system */\n    SDL_CONTROLLERDEVICEREMOVED,       /**< An opened Game controller has been removed */\n    SDL_CONTROLLERDEVICEREMAPPED,      /**< The controller mapping was updated */\n\n    /* Touch events */\n    SDL_FINGERDOWN      = 0x700,\n    SDL_FINGERUP,\n    SDL_FINGERMOTION,\n\n    /* Gesture events */\n    SDL_DOLLARGESTURE   = 0x800,\n    SDL_DOLLARRECORD,\n    SDL_MULTIGESTURE,\n\n    /* Clipboard events */\n    SDL_CLIPBOARDUPDATE = 0x900, /**< The clipboard changed */\n\n    /* Drag and drop events */\n    SDL_DROPFILE        = 0x1000, /**< The system requests a file open */\n\n    /* Audio hotplug events */\n    SDL_AUDIODEVICEADDED = 0x1100, /**< A new audio device is available */\n    SDL_AUDIODEVICEREMOVED,        /**< An audio device has been removed. */\n\n    /* Render events */\n    SDL_RENDER_TARGETS_RESET = 0x2000, /**< The render targets have been reset and their contents need to be updated */\n    SDL_RENDER_DEVICE_RESET, /**< The device has been reset and all textures need to be recreated */\n\n    /** Events ::SDL_USEREVENT through ::SDL_LASTEVENT are for your use,\n     *  and should be allocated with SDL_RegisterEvents()\n     */\n    SDL_USEREVENT    = 0x8000,\n\n    /**\n     *  This last event is only for bounding internal arrays\n     */\n    SDL_LASTEVENT    = 0xFFFF\n} SDL_EventType;\n\n/**\n *  \\brief Fields shared by every event\n */\ntypedef struct SDL_CommonEvent\n{\n    Uint32 type;\n    Uint32 timestamp;\n} SDL_CommonEvent;\n\n/**\n *  \\brief Window state change event data (event.window.*)\n */\ntypedef struct SDL_WindowEvent\n{\n    Uint32 type;        /**< ::SDL_WINDOWEVENT */\n    Uint32 timestamp;\n    Uint32 windowID;    /**< The associated window */\n    Uint8 event;        /**< ::SDL_WindowEventID */\n    Uint8 padding1;\n    Uint8 padding2;\n    Uint8 padding3;\n    Sint32 data1;       /**< event dependent data */\n    Sint32 data2;       /**< event dependent data */\n} SDL_WindowEvent;\n\n/**\n *  \\brief Keyboard button event structure (event.key.*)\n */\ntypedef struct SDL_KeyboardEvent\n{\n    Uint32 type;        /**< ::SDL_KEYDOWN or ::SDL_KEYUP */\n    Uint32 timestamp;\n    Uint32 windowID;    /**< The window with keyboard focus, if any */\n    Uint8 state;        /**< ::SDL_PRESSED or ::SDL_RELEASED */\n    Uint8 repeat;       /**< Non-zero if this is a key repeat */\n    Uint8 padding2;\n    Uint8 padding3;\n    SDL_Keysym keysym;  /**< The key that was pressed or released */\n} SDL_KeyboardEvent;\n\n#define SDL_TEXTEDITINGEVENT_TEXT_SIZE (32)\n/**\n *  \\brief Keyboard text editing event structure (event.edit.*)\n */\ntypedef struct SDL_TextEditingEvent\n{\n    Uint32 type;                                /**< ::SDL_TEXTEDITING */\n    Uint32 timestamp;\n    Uint32 windowID;                            /**< The window with keyboard focus, if any */\n    char text[SDL_TEXTEDITINGEVENT_TEXT_SIZE];  /**< The editing text */\n    Sint32 start;                               /**< The start cursor of selected editing text */\n    Sint32 length;                              /**< The length of selected editing text */\n} SDL_TextEditingEvent;\n\n\n#define SDL_TEXTINPUTEVENT_TEXT_SIZE (32)\n/**\n *  \\brief Keyboard text input event structure (event.text.*)\n */\ntypedef struct SDL_TextInputEvent\n{\n    Uint32 type;                              /**< ::SDL_TEXTINPUT */\n    Uint32 timestamp;\n    Uint32 windowID;                          /**< The window with keyboard focus, if any */\n    char text[SDL_TEXTINPUTEVENT_TEXT_SIZE];  /**< The input text */\n} SDL_TextInputEvent;\n\n/**\n *  \\brief Mouse motion event structure (event.motion.*)\n */\ntypedef struct SDL_MouseMotionEvent\n{\n    Uint32 type;        /**< ::SDL_MOUSEMOTION */\n    Uint32 timestamp;\n    Uint32 windowID;    /**< The window with mouse focus, if any */\n    Uint32 which;       /**< The mouse instance id, or SDL_TOUCH_MOUSEID */\n    Uint32 state;       /**< The current button state */\n    Sint32 x;           /**< X coordinate, relative to window */\n    Sint32 y;           /**< Y coordinate, relative to window */\n    Sint32 xrel;        /**< The relative motion in the X direction */\n    Sint32 yrel;        /**< The relative motion in the Y direction */\n} SDL_MouseMotionEvent;\n\n/**\n *  \\brief Mouse button event structure (event.button.*)\n */\ntypedef struct SDL_MouseButtonEvent\n{\n    Uint32 type;        /**< ::SDL_MOUSEBUTTONDOWN or ::SDL_MOUSEBUTTONUP */\n    Uint32 timestamp;\n    Uint32 windowID;    /**< The window with mouse focus, if any */\n    Uint32 which;       /**< The mouse instance id, or SDL_TOUCH_MOUSEID */\n    Uint8 button;       /**< The mouse button index */\n    Uint8 state;        /**< ::SDL_PRESSED or ::SDL_RELEASED */\n    Uint8 clicks;       /**< 1 for single-click, 2 for double-click, etc. */\n    Uint8 padding1;\n    Sint32 x;           /**< X coordinate, relative to window */\n    Sint32 y;           /**< Y coordinate, relative to window */\n} SDL_MouseButtonEvent;\n\n/**\n *  \\brief Mouse wheel event structure (event.wheel.*)\n */\ntypedef struct SDL_MouseWheelEvent\n{\n    Uint32 type;        /**< ::SDL_MOUSEWHEEL */\n    Uint32 timestamp;\n    Uint32 windowID;    /**< The window with mouse focus, if any */\n    Uint32 which;       /**< The mouse instance id, or SDL_TOUCH_MOUSEID */\n    Sint32 x;           /**< The amount scrolled horizontally, positive to the right and negative to the left */\n    Sint32 y;           /**< The amount scrolled vertically, positive away from the user and negative toward the user */\n    Uint32 direction;   /**< Set to one of the SDL_MOUSEWHEEL_* defines. When FLIPPED the values in X and Y will be opposite. Multiply by -1 to change them back */\n} SDL_MouseWheelEvent;\n\n/**\n *  \\brief Joystick axis motion event structure (event.jaxis.*)\n */\ntypedef struct SDL_JoyAxisEvent\n{\n    Uint32 type;        /**< ::SDL_JOYAXISMOTION */\n    Uint32 timestamp;\n    SDL_JoystickID which; /**< The joystick instance id */\n    Uint8 axis;         /**< The joystick axis index */\n    Uint8 padding1;\n    Uint8 padding2;\n    Uint8 padding3;\n    Sint16 value;       /**< The axis value (range: -32768 to 32767) */\n    Uint16 padding4;\n} SDL_JoyAxisEvent;\n\n/**\n *  \\brief Joystick trackball motion event structure (event.jball.*)\n */\ntypedef struct SDL_JoyBallEvent\n{\n    Uint32 type;        /**< ::SDL_JOYBALLMOTION */\n    Uint32 timestamp;\n    SDL_JoystickID which; /**< The joystick instance id */\n    Uint8 ball;         /**< The joystick trackball index */\n    Uint8 padding1;\n    Uint8 padding2;\n    Uint8 padding3;\n    Sint16 xrel;        /**< The relative motion in the X direction */\n    Sint16 yrel;        /**< The relative motion in the Y direction */\n} SDL_JoyBallEvent;\n\n/**\n *  \\brief Joystick hat position change event structure (event.jhat.*)\n */\ntypedef struct SDL_JoyHatEvent\n{\n    Uint32 type;        /**< ::SDL_JOYHATMOTION */\n    Uint32 timestamp;\n    SDL_JoystickID which; /**< The joystick instance id */\n    Uint8 hat;          /**< The joystick hat index */\n    Uint8 value;        /**< The hat position value.\n                         *   \\sa ::SDL_HAT_LEFTUP ::SDL_HAT_UP ::SDL_HAT_RIGHTUP\n                         *   \\sa ::SDL_HAT_LEFT ::SDL_HAT_CENTERED ::SDL_HAT_RIGHT\n                         *   \\sa ::SDL_HAT_LEFTDOWN ::SDL_HAT_DOWN ::SDL_HAT_RIGHTDOWN\n                         *\n                         *   Note that zero means the POV is centered.\n                         */\n    Uint8 padding1;\n    Uint8 padding2;\n} SDL_JoyHatEvent;\n\n/**\n *  \\brief Joystick button event structure (event.jbutton.*)\n */\ntypedef struct SDL_JoyButtonEvent\n{\n    Uint32 type;        /**< ::SDL_JOYBUTTONDOWN or ::SDL_JOYBUTTONUP */\n    Uint32 timestamp;\n    SDL_JoystickID which; /**< The joystick instance id */\n    Uint8 button;       /**< The joystick button index */\n    Uint8 state;        /**< ::SDL_PRESSED or ::SDL_RELEASED */\n    Uint8 padding1;\n    Uint8 padding2;\n} SDL_JoyButtonEvent;\n\n/**\n *  \\brief Joystick device event structure (event.jdevice.*)\n */\ntypedef struct SDL_JoyDeviceEvent\n{\n    Uint32 type;        /**< ::SDL_JOYDEVICEADDED or ::SDL_JOYDEVICEREMOVED */\n    Uint32 timestamp;\n    Sint32 which;       /**< The joystick device index for the ADDED event, instance id for the REMOVED event */\n} SDL_JoyDeviceEvent;\n\n\n/**\n *  \\brief Game controller axis motion event structure (event.caxis.*)\n */\ntypedef struct SDL_ControllerAxisEvent\n{\n    Uint32 type;        /**< ::SDL_CONTROLLERAXISMOTION */\n    Uint32 timestamp;\n    SDL_JoystickID which; /**< The joystick instance id */\n    Uint8 axis;         /**< The controller axis (SDL_GameControllerAxis) */\n    Uint8 padding1;\n    Uint8 padding2;\n    Uint8 padding3;\n    Sint16 value;       /**< The axis value (range: -32768 to 32767) */\n    Uint16 padding4;\n} SDL_ControllerAxisEvent;\n\n\n/**\n *  \\brief Game controller button event structure (event.cbutton.*)\n */\ntypedef struct SDL_ControllerButtonEvent\n{\n    Uint32 type;        /**< ::SDL_CONTROLLERBUTTONDOWN or ::SDL_CONTROLLERBUTTONUP */\n    Uint32 timestamp;\n    SDL_JoystickID which; /**< The joystick instance id */\n    Uint8 button;       /**< The controller button (SDL_GameControllerButton) */\n    Uint8 state;        /**< ::SDL_PRESSED or ::SDL_RELEASED */\n    Uint8 padding1;\n    Uint8 padding2;\n} SDL_ControllerButtonEvent;\n\n\n/**\n *  \\brief Controller device event structure (event.cdevice.*)\n */\ntypedef struct SDL_ControllerDeviceEvent\n{\n    Uint32 type;        /**< ::SDL_CONTROLLERDEVICEADDED, ::SDL_CONTROLLERDEVICEREMOVED, or ::SDL_CONTROLLERDEVICEREMAPPED */\n    Uint32 timestamp;\n    Sint32 which;       /**< The joystick device index for the ADDED event, instance id for the REMOVED or REMAPPED event */\n} SDL_ControllerDeviceEvent;\n\n/**\n *  \\brief Audio device event structure (event.adevice.*)\n */\ntypedef struct SDL_AudioDeviceEvent\n{\n    Uint32 type;        /**< ::SDL_AUDIODEVICEADDED, or ::SDL_AUDIODEVICEREMOVED */\n    Uint32 timestamp;\n    Uint32 which;       /**< The audio device index for the ADDED event (valid until next SDL_GetNumAudioDevices() call), SDL_AudioDeviceID for the REMOVED event */\n    Uint8 iscapture;    /**< zero if an output device, non-zero if a capture device. */\n    Uint8 padding1;\n    Uint8 padding2;\n    Uint8 padding3;\n} SDL_AudioDeviceEvent;\n\n\n/**\n *  \\brief Touch finger event structure (event.tfinger.*)\n */\ntypedef struct SDL_TouchFingerEvent\n{\n    Uint32 type;        /**< ::SDL_FINGERMOTION or ::SDL_FINGERDOWN or ::SDL_FINGERUP */\n    Uint32 timestamp;\n    SDL_TouchID touchId; /**< The touch device id */\n    SDL_FingerID fingerId;\n    float x;            /**< Normalized in the range 0...1 */\n    float y;            /**< Normalized in the range 0...1 */\n    float dx;           /**< Normalized in the range -1...1 */\n    float dy;           /**< Normalized in the range -1...1 */\n    float pressure;     /**< Normalized in the range 0...1 */\n} SDL_TouchFingerEvent;\n\n\n/**\n *  \\brief Multiple Finger Gesture Event (event.mgesture.*)\n */\ntypedef struct SDL_MultiGestureEvent\n{\n    Uint32 type;        /**< ::SDL_MULTIGESTURE */\n    Uint32 timestamp;\n    SDL_TouchID touchId; /**< The touch device index */\n    float dTheta;\n    float dDist;\n    float x;\n    float y;\n    Uint16 numFingers;\n    Uint16 padding;\n} SDL_MultiGestureEvent;\n\n\n/**\n * \\brief Dollar Gesture Event (event.dgesture.*)\n */\ntypedef struct SDL_DollarGestureEvent\n{\n    Uint32 type;        /**< ::SDL_DOLLARGESTURE or ::SDL_DOLLARRECORD */\n    Uint32 timestamp;\n    SDL_TouchID touchId; /**< The touch device id */\n    SDL_GestureID gestureId;\n    Uint32 numFingers;\n    float error;\n    float x;            /**< Normalized center of gesture */\n    float y;            /**< Normalized center of gesture */\n} SDL_DollarGestureEvent;\n\n\n/**\n *  \\brief An event used to request a file open by the system (event.drop.*)\n *         This event is enabled by default, you can disable it with SDL_EventState().\n *  \\note If this event is enabled, you must free the filename in the event.\n */\ntypedef struct SDL_DropEvent\n{\n    Uint32 type;        /**< ::SDL_DROPFILE */\n    Uint32 timestamp;\n    char *file;         /**< The file name, which should be freed with SDL_free() */\n} SDL_DropEvent;\n\n\n/**\n *  \\brief The \"quit requested\" event\n */\ntypedef struct SDL_QuitEvent\n{\n    Uint32 type;        /**< ::SDL_QUIT */\n    Uint32 timestamp;\n} SDL_QuitEvent;\n\n/**\n *  \\brief OS Specific event\n */\ntypedef struct SDL_OSEvent\n{\n    Uint32 type;        /**< ::SDL_QUIT */\n    Uint32 timestamp;\n} SDL_OSEvent;\n\n/**\n *  \\brief A user-defined event type (event.user.*)\n */\ntypedef struct SDL_UserEvent\n{\n    Uint32 type;        /**< ::SDL_USEREVENT through ::SDL_LASTEVENT-1 */\n    Uint32 timestamp;\n    Uint32 windowID;    /**< The associated window if any */\n    Sint32 code;        /**< User defined event code */\n    void *data1;        /**< User defined data pointer */\n    void *data2;        /**< User defined data pointer */\n} SDL_UserEvent;\n\n\nstruct SDL_SysWMmsg;\ntypedef struct SDL_SysWMmsg SDL_SysWMmsg;\n\n/**\n *  \\brief A video driver dependent system event (event.syswm.*)\n *         This event is disabled by default, you can enable it with SDL_EventState()\n *\n *  \\note If you want to use this event, you should include SDL_syswm.h.\n */\ntypedef struct SDL_SysWMEvent\n{\n    Uint32 type;        /**< ::SDL_SYSWMEVENT */\n    Uint32 timestamp;\n    SDL_SysWMmsg *msg;  /**< driver dependent data, defined in SDL_syswm.h */\n} SDL_SysWMEvent;\n\n/**\n *  \\brief General event structure\n */\ntypedef union SDL_Event\n{\n    Uint32 type;                    /**< Event type, shared with all events */\n    SDL_CommonEvent common;         /**< Common event data */\n    SDL_WindowEvent window;         /**< Window event data */\n    SDL_KeyboardEvent key;          /**< Keyboard event data */\n    SDL_TextEditingEvent edit;      /**< Text editing event data */\n    SDL_TextInputEvent text;        /**< Text input event data */\n    SDL_MouseMotionEvent motion;    /**< Mouse motion event data */\n    SDL_MouseButtonEvent button;    /**< Mouse button event data */\n    SDL_MouseWheelEvent wheel;      /**< Mouse wheel event data */\n    SDL_JoyAxisEvent jaxis;         /**< Joystick axis event data */\n    SDL_JoyBallEvent jball;         /**< Joystick ball event data */\n    SDL_JoyHatEvent jhat;           /**< Joystick hat event data */\n    SDL_JoyButtonEvent jbutton;     /**< Joystick button event data */\n    SDL_JoyDeviceEvent jdevice;     /**< Joystick device change event data */\n    SDL_ControllerAxisEvent caxis;      /**< Game Controller axis event data */\n    SDL_ControllerButtonEvent cbutton;  /**< Game Controller button event data */\n    SDL_ControllerDeviceEvent cdevice;  /**< Game Controller device event data */\n    SDL_AudioDeviceEvent adevice;   /**< Audio device event data */\n    SDL_QuitEvent quit;             /**< Quit request event data */\n    SDL_UserEvent user;             /**< Custom event data */\n    SDL_SysWMEvent syswm;           /**< System dependent window event data */\n    SDL_TouchFingerEvent tfinger;   /**< Touch finger event data */\n    SDL_MultiGestureEvent mgesture; /**< Gesture event data */\n    SDL_DollarGestureEvent dgesture; /**< Gesture event data */\n    SDL_DropEvent drop;             /**< Drag and drop event data */\n\n    /* This is necessary for ABI compatibility between Visual C++ and GCC\n       Visual C++ will respect the push pack pragma and use 52 bytes for\n       this structure, and GCC will use the alignment of the largest datatype\n       within the union, which is 8 bytes.\n\n       So... we'll add padding to force the size to be 56 bytes for both.\n    */\n    Uint8 padding[56];\n} SDL_Event;\n\n\n/* Function prototypes */\n\n/**\n *  Pumps the event loop, gathering events from the input devices.\n *\n *  This function updates the event queue and internal input device state.\n *\n *  This should only be run in the thread that sets the video mode.\n */\nextern DECLSPEC void SDLCALL SDL_PumpEvents(void);\n\n/* @{ */\ntypedef enum\n{\n    SDL_ADDEVENT,\n    SDL_PEEKEVENT,\n    SDL_GETEVENT\n} SDL_eventaction;\n\n/**\n *  Checks the event queue for messages and optionally returns them.\n *\n *  If \\c action is ::SDL_ADDEVENT, up to \\c numevents events will be added to\n *  the back of the event queue.\n *\n *  If \\c action is ::SDL_PEEKEVENT, up to \\c numevents events at the front\n *  of the event queue, within the specified minimum and maximum type,\n *  will be returned and will not be removed from the queue.\n *\n *  If \\c action is ::SDL_GETEVENT, up to \\c numevents events at the front\n *  of the event queue, within the specified minimum and maximum type,\n *  will be returned and will be removed from the queue.\n *\n *  \\return The number of events actually stored, or -1 if there was an error.\n *\n *  This function is thread-safe.\n */\nextern DECLSPEC int SDLCALL SDL_PeepEvents(SDL_Event * events, int numevents,\n                                           SDL_eventaction action,\n                                           Uint32 minType, Uint32 maxType);\n/* @} */\n\n/**\n *  Checks to see if certain event types are in the event queue.\n */\nextern DECLSPEC SDL_bool SDLCALL SDL_HasEvent(Uint32 type);\nextern DECLSPEC SDL_bool SDLCALL SDL_HasEvents(Uint32 minType, Uint32 maxType);\n\n/**\n *  This function clears events from the event queue\n *  This function only affects currently queued events. If you want to make\n *  sure that all pending OS events are flushed, you can call SDL_PumpEvents()\n *  on the main thread immediately before the flush call.\n */\nextern DECLSPEC void SDLCALL SDL_FlushEvent(Uint32 type);\nextern DECLSPEC void SDLCALL SDL_FlushEvents(Uint32 minType, Uint32 maxType);\n\n/**\n *  \\brief Polls for currently pending events.\n *\n *  \\return 1 if there are any pending events, or 0 if there are none available.\n *\n *  \\param event If not NULL, the next event is removed from the queue and\n *               stored in that area.\n */\nextern DECLSPEC int SDLCALL SDL_PollEvent(SDL_Event * event);\n\n/**\n *  \\brief Waits indefinitely for the next available event.\n *\n *  \\return 1, or 0 if there was an error while waiting for events.\n *\n *  \\param event If not NULL, the next event is removed from the queue and\n *               stored in that area.\n */\nextern DECLSPEC int SDLCALL SDL_WaitEvent(SDL_Event * event);\n\n/**\n *  \\brief Waits until the specified timeout (in milliseconds) for the next\n *         available event.\n *\n *  \\return 1, or 0 if there was an error while waiting for events.\n *\n *  \\param event If not NULL, the next event is removed from the queue and\n *               stored in that area.\n *  \\param timeout The timeout (in milliseconds) to wait for next event.\n */\nextern DECLSPEC int SDLCALL SDL_WaitEventTimeout(SDL_Event * event,\n                                                 int timeout);\n\n/**\n *  \\brief Add an event to the event queue.\n *\n *  \\return 1 on success, 0 if the event was filtered, or -1 if the event queue\n *          was full or there was some other error.\n */\nextern DECLSPEC int SDLCALL SDL_PushEvent(SDL_Event * event);\n\ntypedef int (SDLCALL * SDL_EventFilter) (void *userdata, SDL_Event * event);\n\n/**\n *  Sets up a filter to process all events before they change internal state and\n *  are posted to the internal event queue.\n *\n *  The filter is prototyped as:\n *  \\code\n *      int SDL_EventFilter(void *userdata, SDL_Event * event);\n *  \\endcode\n *\n *  If the filter returns 1, then the event will be added to the internal queue.\n *  If it returns 0, then the event will be dropped from the queue, but the\n *  internal state will still be updated.  This allows selective filtering of\n *  dynamically arriving events.\n *\n *  \\warning  Be very careful of what you do in the event filter function, as\n *            it may run in a different thread!\n *\n *  There is one caveat when dealing with the ::SDL_QuitEvent event type.  The\n *  event filter is only called when the window manager desires to close the\n *  application window.  If the event filter returns 1, then the window will\n *  be closed, otherwise the window will remain open if possible.\n *\n *  If the quit event is generated by an interrupt signal, it will bypass the\n *  internal queue and be delivered to the application at the next event poll.\n */\nextern DECLSPEC void SDLCALL SDL_SetEventFilter(SDL_EventFilter filter,\n                                                void *userdata);\n\n/**\n *  Return the current event filter - can be used to \"chain\" filters.\n *  If there is no event filter set, this function returns SDL_FALSE.\n */\nextern DECLSPEC SDL_bool SDLCALL SDL_GetEventFilter(SDL_EventFilter * filter,\n                                                    void **userdata);\n\n/**\n *  Add a function which is called when an event is added to the queue.\n */\nextern DECLSPEC void SDLCALL SDL_AddEventWatch(SDL_EventFilter filter,\n                                               void *userdata);\n\n/**\n *  Remove an event watch function added with SDL_AddEventWatch()\n */\nextern DECLSPEC void SDLCALL SDL_DelEventWatch(SDL_EventFilter filter,\n                                               void *userdata);\n\n/**\n *  Run the filter function on the current event queue, removing any\n *  events for which the filter returns 0.\n */\nextern DECLSPEC void SDLCALL SDL_FilterEvents(SDL_EventFilter filter,\n                                              void *userdata);\n\n/* @{ */\n#define SDL_QUERY   -1\n#define SDL_IGNORE   0\n#define SDL_DISABLE  0\n#define SDL_ENABLE   1\n\n/**\n *  This function allows you to set the state of processing certain events.\n *   - If \\c state is set to ::SDL_IGNORE, that event will be automatically\n *     dropped from the event queue and will not event be filtered.\n *   - If \\c state is set to ::SDL_ENABLE, that event will be processed\n *     normally.\n *   - If \\c state is set to ::SDL_QUERY, SDL_EventState() will return the\n *     current processing state of the specified event.\n */\nextern DECLSPEC Uint8 SDLCALL SDL_EventState(Uint32 type, int state);\n/* @} */\n#define SDL_GetEventState(type) SDL_EventState(type, SDL_QUERY)\n\n/**\n *  This function allocates a set of user-defined events, and returns\n *  the beginning event number for that set of events.\n *\n *  If there aren't enough user-defined events left, this function\n *  returns (Uint32)-1\n */\nextern DECLSPEC Uint32 SDLCALL SDL_RegisterEvents(int numevents);\n\n/* Ends C function definitions when using C++ */\n#ifdef __cplusplus\n}\n#endif\n#include \"close_code.h\"\n\n#endif /* _SDL_events_h */\n\n/* vi: set ts=4 sw=4 expandtab: */\n"
  },
  {
    "path": "external/SDL2-2.0.4/include/SDL_filesystem.h",
    "content": "/*\n  Simple DirectMedia Layer\n  Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>\n\n  This software is provided 'as-is', without any express or implied\n  warranty.  In no event will the authors be held liable for any damages\n  arising from the use of this software.\n\n  Permission is granted to anyone to use this software for any purpose,\n  including commercial applications, and to alter it and redistribute it\n  freely, subject to the following restrictions:\n\n  1. The origin of this software must not be misrepresented; you must not\n     claim that you wrote the original software. If you use this software\n     in a product, an acknowledgment in the product documentation would be\n     appreciated but is not required.\n  2. Altered source versions must be plainly marked as such, and must not be\n     misrepresented as being the original software.\n  3. This notice may not be removed or altered from any source distribution.\n*/\n\n/**\n *  \\file SDL_filesystem.h\n *\n *  \\brief Include file for filesystem SDL API functions\n */\n\n#ifndef _SDL_filesystem_h\n#define _SDL_filesystem_h\n\n#include \"SDL_stdinc.h\"\n\n#include \"begin_code.h\"\n\n/* Set up for C function definitions, even when using C++ */\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n/**\n * \\brief Get the path where the application resides.\n *\n * Get the \"base path\". This is the directory where the application was run\n *  from, which is probably the installation directory, and may or may not\n *  be the process's current working directory.\n *\n * This returns an absolute path in UTF-8 encoding, and is guaranteed to\n *  end with a path separator ('\\\\' on Windows, '/' most other places).\n *\n * The pointer returned by this function is owned by you. Please call\n *  SDL_free() on the pointer when you are done with it, or it will be a\n *  memory leak. This is not necessarily a fast call, though, so you should\n *  call this once near startup and save the string if you need it.\n *\n * Some platforms can't determine the application's path, and on other\n *  platforms, this might be meaningless. In such cases, this function will\n *  return NULL.\n *\n *  \\return String of base dir in UTF-8 encoding, or NULL on error.\n *\n * \\sa SDL_GetPrefPath\n */\nextern DECLSPEC char *SDLCALL SDL_GetBasePath(void);\n\n/**\n * \\brief Get the user-and-app-specific path where files can be written.\n *\n * Get the \"pref dir\". This is meant to be where users can write personal\n *  files (preferences and save games, etc) that are specific to your\n *  application. This directory is unique per user, per application.\n *\n * This function will decide the appropriate location in the native filesystem,\n *  create the directory if necessary, and return a string of the absolute\n *  path to the directory in UTF-8 encoding.\n *\n * On Windows, the string might look like:\n *  \"C:\\\\Users\\\\bob\\\\AppData\\\\Roaming\\\\My Company\\\\My Program Name\\\\\"\n *\n * On Linux, the string might look like:\n *  \"/home/bob/.local/share/My Program Name/\"\n *\n * On Mac OS X, the string might look like:\n *  \"/Users/bob/Library/Application Support/My Program Name/\"\n *\n * (etc.)\n *\n * You specify the name of your organization (if it's not a real organization,\n *  your name or an Internet domain you own might do) and the name of your\n *  application. These should be untranslated proper names.\n *\n * Both the org and app strings may become part of a directory name, so\n *  please follow these rules:\n *\n *    - Try to use the same org string (including case-sensitivity) for\n *      all your applications that use this function.\n *    - Always use a unique app string for each one, and make sure it never\n *      changes for an app once you've decided on it.\n *    - Unicode characters are legal, as long as it's UTF-8 encoded, but...\n *    - ...only use letters, numbers, and spaces. Avoid punctuation like\n *      \"Game Name 2: Bad Guy's Revenge!\" ... \"Game Name 2\" is sufficient.\n *\n * This returns an absolute path in UTF-8 encoding, and is guaranteed to\n *  end with a path separator ('\\\\' on Windows, '/' most other places).\n *\n * The pointer returned by this function is owned by you. Please call\n *  SDL_free() on the pointer when you are done with it, or it will be a\n *  memory leak. This is not necessarily a fast call, though, so you should\n *  call this once near startup and save the string if you need it.\n *\n * You should assume the path returned by this function is the only safe\n *  place to write files (and that SDL_GetBasePath(), while it might be\n *  writable, or even the parent of the returned path, aren't where you\n *  should be writing things).\n *\n * Some platforms can't determine the pref path, and on other\n *  platforms, this might be meaningless. In such cases, this function will\n *  return NULL.\n *\n *   \\param org The name of your organization.\n *   \\param app The name of your application.\n *  \\return UTF-8 string of user dir in platform-dependent notation. NULL\n *          if there's a problem (creating directory failed, etc).\n *\n * \\sa SDL_GetBasePath\n */\nextern DECLSPEC char *SDLCALL SDL_GetPrefPath(const char *org, const char *app);\n\n/* Ends C function definitions when using C++ */\n#ifdef __cplusplus\n}\n#endif\n#include \"close_code.h\"\n\n#endif /* _SDL_filesystem_h */\n\n/* vi: set ts=4 sw=4 expandtab: */\n"
  },
  {
    "path": "external/SDL2-2.0.4/include/SDL_gamecontroller.h",
    "content": "/*\n  Simple DirectMedia Layer\n  Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>\n\n  This software is provided 'as-is', without any express or implied\n  warranty.  In no event will the authors be held liable for any damages\n  arising from the use of this software.\n\n  Permission is granted to anyone to use this software for any purpose,\n  including commercial applications, and to alter it and redistribute it\n  freely, subject to the following restrictions:\n\n  1. The origin of this software must not be misrepresented; you must not\n     claim that you wrote the original software. If you use this software\n     in a product, an acknowledgment in the product documentation would be\n     appreciated but is not required.\n  2. Altered source versions must be plainly marked as such, and must not be\n     misrepresented as being the original software.\n  3. This notice may not be removed or altered from any source distribution.\n*/\n\n/**\n *  \\file SDL_gamecontroller.h\n *\n *  Include file for SDL game controller event handling\n */\n\n#ifndef _SDL_gamecontroller_h\n#define _SDL_gamecontroller_h\n\n#include \"SDL_stdinc.h\"\n#include \"SDL_error.h\"\n#include \"SDL_rwops.h\"\n#include \"SDL_joystick.h\"\n\n#include \"begin_code.h\"\n/* Set up for C function definitions, even when using C++ */\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n/**\n *  \\file SDL_gamecontroller.h\n *\n *  In order to use these functions, SDL_Init() must have been called\n *  with the ::SDL_INIT_GAMECONTROLLER flag.  This causes SDL to scan the system\n *  for game controllers, and load appropriate drivers.\n *\n *  If you would like to receive controller updates while the application\n *  is in the background, you should set the following hint before calling\n *  SDL_Init(): SDL_HINT_JOYSTICK_ALLOW_BACKGROUND_EVENTS\n */\n\n/* The gamecontroller structure used to identify an SDL game controller */\nstruct _SDL_GameController;\ntypedef struct _SDL_GameController SDL_GameController;\n\n\ntypedef enum\n{\n    SDL_CONTROLLER_BINDTYPE_NONE = 0,\n    SDL_CONTROLLER_BINDTYPE_BUTTON,\n    SDL_CONTROLLER_BINDTYPE_AXIS,\n    SDL_CONTROLLER_BINDTYPE_HAT\n} SDL_GameControllerBindType;\n\n/**\n *  Get the SDL joystick layer binding for this controller button/axis mapping\n */\ntypedef struct SDL_GameControllerButtonBind\n{\n    SDL_GameControllerBindType bindType;\n    union\n    {\n        int button;\n        int axis;\n        struct {\n            int hat;\n            int hat_mask;\n        } hat;\n    } value;\n\n} SDL_GameControllerButtonBind;\n\n\n/**\n *  To count the number of game controllers in the system for the following:\n *  int nJoysticks = SDL_NumJoysticks();\n *  int nGameControllers = 0;\n *  for ( int i = 0; i < nJoysticks; i++ ) {\n *      if ( SDL_IsGameController(i) ) {\n *          nGameControllers++;\n *      }\n *  }\n *\n *  Using the SDL_HINT_GAMECONTROLLERCONFIG hint or the SDL_GameControllerAddMapping you can add support for controllers SDL is unaware of or cause an existing controller to have a different binding. The format is:\n *  guid,name,mappings\n *\n *  Where GUID is the string value from SDL_JoystickGetGUIDString(), name is the human readable string for the device and mappings are controller mappings to joystick ones.\n *  Under Windows there is a reserved GUID of \"xinput\" that covers any XInput devices.\n *  The mapping format for joystick is:\n *      bX - a joystick button, index X\n *      hX.Y - hat X with value Y\n *      aX - axis X of the joystick\n *  Buttons can be used as a controller axis and vice versa.\n *\n *  This string shows an example of a valid mapping for a controller\n *  \"341a3608000000000000504944564944,Afterglow PS3 Controller,a:b1,b:b2,y:b3,x:b0,start:b9,guide:b12,back:b8,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftshoulder:b4,rightshoulder:b5,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7\",\n *\n */\n\n/**\n *  Load a set of mappings from a seekable SDL data stream (memory or file), filtered by the current SDL_GetPlatform()\n *  A community sourced database of controllers is available at https://raw.github.com/gabomdq/SDL_GameControllerDB/master/gamecontrollerdb.txt\n *\n *  If \\c freerw is non-zero, the stream will be closed after being read.\n * \n * \\return number of mappings added, -1 on error\n */\nextern DECLSPEC int SDLCALL SDL_GameControllerAddMappingsFromRW( SDL_RWops * rw, int freerw );\n\n/**\n *  Load a set of mappings from a file, filtered by the current SDL_GetPlatform()\n *\n *  Convenience macro.\n */\n#define SDL_GameControllerAddMappingsFromFile(file)   SDL_GameControllerAddMappingsFromRW(SDL_RWFromFile(file, \"rb\"), 1)\n\n/**\n *  Add or update an existing mapping configuration\n *\n * \\return 1 if mapping is added, 0 if updated, -1 on error\n */\nextern DECLSPEC int SDLCALL SDL_GameControllerAddMapping( const char* mappingString );\n\n/**\n *  Get a mapping string for a GUID\n *\n *  \\return the mapping string.  Must be freed with SDL_free.  Returns NULL if no mapping is available\n */\nextern DECLSPEC char * SDLCALL SDL_GameControllerMappingForGUID( SDL_JoystickGUID guid );\n\n/**\n *  Get a mapping string for an open GameController\n *\n *  \\return the mapping string.  Must be freed with SDL_free.  Returns NULL if no mapping is available\n */\nextern DECLSPEC char * SDLCALL SDL_GameControllerMapping( SDL_GameController * gamecontroller );\n\n/**\n *  Is the joystick on this index supported by the game controller interface?\n */\nextern DECLSPEC SDL_bool SDLCALL SDL_IsGameController(int joystick_index);\n\n\n/**\n *  Get the implementation dependent name of a game controller.\n *  This can be called before any controllers are opened.\n *  If no name can be found, this function returns NULL.\n */\nextern DECLSPEC const char *SDLCALL SDL_GameControllerNameForIndex(int joystick_index);\n\n/**\n *  Open a game controller for use.\n *  The index passed as an argument refers to the N'th game controller on the system.\n *  This index is not the value which will identify this controller in future\n *  controller events.  The joystick's instance id (::SDL_JoystickID) will be\n *  used there instead.\n *\n *  \\return A controller identifier, or NULL if an error occurred.\n */\nextern DECLSPEC SDL_GameController *SDLCALL SDL_GameControllerOpen(int joystick_index);\n\n/**\n * Return the SDL_GameController associated with an instance id.\n */\nextern DECLSPEC SDL_GameController *SDLCALL SDL_GameControllerFromInstanceID(SDL_JoystickID joyid);\n\n/**\n *  Return the name for this currently opened controller\n */\nextern DECLSPEC const char *SDLCALL SDL_GameControllerName(SDL_GameController *gamecontroller);\n\n/**\n *  Returns SDL_TRUE if the controller has been opened and currently connected,\n *  or SDL_FALSE if it has not.\n */\nextern DECLSPEC SDL_bool SDLCALL SDL_GameControllerGetAttached(SDL_GameController *gamecontroller);\n\n/**\n *  Get the underlying joystick object used by a controller\n */\nextern DECLSPEC SDL_Joystick *SDLCALL SDL_GameControllerGetJoystick(SDL_GameController *gamecontroller);\n\n/**\n *  Enable/disable controller event polling.\n *\n *  If controller events are disabled, you must call SDL_GameControllerUpdate()\n *  yourself and check the state of the controller when you want controller\n *  information.\n *\n *  The state can be one of ::SDL_QUERY, ::SDL_ENABLE or ::SDL_IGNORE.\n */\nextern DECLSPEC int SDLCALL SDL_GameControllerEventState(int state);\n\n/**\n *  Update the current state of the open game controllers.\n *\n *  This is called automatically by the event loop if any game controller\n *  events are enabled.\n */\nextern DECLSPEC void SDLCALL SDL_GameControllerUpdate(void);\n\n\n/**\n *  The list of axes available from a controller\n */\ntypedef enum\n{\n    SDL_CONTROLLER_AXIS_INVALID = -1,\n    SDL_CONTROLLER_AXIS_LEFTX,\n    SDL_CONTROLLER_AXIS_LEFTY,\n    SDL_CONTROLLER_AXIS_RIGHTX,\n    SDL_CONTROLLER_AXIS_RIGHTY,\n    SDL_CONTROLLER_AXIS_TRIGGERLEFT,\n    SDL_CONTROLLER_AXIS_TRIGGERRIGHT,\n    SDL_CONTROLLER_AXIS_MAX\n} SDL_GameControllerAxis;\n\n/**\n *  turn this string into a axis mapping\n */\nextern DECLSPEC SDL_GameControllerAxis SDLCALL SDL_GameControllerGetAxisFromString(const char *pchString);\n\n/**\n *  turn this axis enum into a string mapping\n */\nextern DECLSPEC const char* SDLCALL SDL_GameControllerGetStringForAxis(SDL_GameControllerAxis axis);\n\n/**\n *  Get the SDL joystick layer binding for this controller button mapping\n */\nextern DECLSPEC SDL_GameControllerButtonBind SDLCALL\nSDL_GameControllerGetBindForAxis(SDL_GameController *gamecontroller,\n                                 SDL_GameControllerAxis axis);\n\n/**\n *  Get the current state of an axis control on a game controller.\n *\n *  The state is a value ranging from -32768 to 32767 (except for the triggers,\n *  which range from 0 to 32767).\n *\n *  The axis indices start at index 0.\n */\nextern DECLSPEC Sint16 SDLCALL\nSDL_GameControllerGetAxis(SDL_GameController *gamecontroller,\n                          SDL_GameControllerAxis axis);\n\n/**\n *  The list of buttons available from a controller\n */\ntypedef enum\n{\n    SDL_CONTROLLER_BUTTON_INVALID = -1,\n    SDL_CONTROLLER_BUTTON_A,\n    SDL_CONTROLLER_BUTTON_B,\n    SDL_CONTROLLER_BUTTON_X,\n    SDL_CONTROLLER_BUTTON_Y,\n    SDL_CONTROLLER_BUTTON_BACK,\n    SDL_CONTROLLER_BUTTON_GUIDE,\n    SDL_CONTROLLER_BUTTON_START,\n    SDL_CONTROLLER_BUTTON_LEFTSTICK,\n    SDL_CONTROLLER_BUTTON_RIGHTSTICK,\n    SDL_CONTROLLER_BUTTON_LEFTSHOULDER,\n    SDL_CONTROLLER_BUTTON_RIGHTSHOULDER,\n    SDL_CONTROLLER_BUTTON_DPAD_UP,\n    SDL_CONTROLLER_BUTTON_DPAD_DOWN,\n    SDL_CONTROLLER_BUTTON_DPAD_LEFT,\n    SDL_CONTROLLER_BUTTON_DPAD_RIGHT,\n    SDL_CONTROLLER_BUTTON_MAX\n} SDL_GameControllerButton;\n\n/**\n *  turn this string into a button mapping\n */\nextern DECLSPEC SDL_GameControllerButton SDLCALL SDL_GameControllerGetButtonFromString(const char *pchString);\n\n/**\n *  turn this button enum into a string mapping\n */\nextern DECLSPEC const char* SDLCALL SDL_GameControllerGetStringForButton(SDL_GameControllerButton button);\n\n/**\n *  Get the SDL joystick layer binding for this controller button mapping\n */\nextern DECLSPEC SDL_GameControllerButtonBind SDLCALL\nSDL_GameControllerGetBindForButton(SDL_GameController *gamecontroller,\n                                   SDL_GameControllerButton button);\n\n\n/**\n *  Get the current state of a button on a game controller.\n *\n *  The button indices start at index 0.\n */\nextern DECLSPEC Uint8 SDLCALL SDL_GameControllerGetButton(SDL_GameController *gamecontroller,\n                                                          SDL_GameControllerButton button);\n\n/**\n *  Close a controller previously opened with SDL_GameControllerOpen().\n */\nextern DECLSPEC void SDLCALL SDL_GameControllerClose(SDL_GameController *gamecontroller);\n\n\n/* Ends C function definitions when using C++ */\n#ifdef __cplusplus\n}\n#endif\n#include \"close_code.h\"\n\n#endif /* _SDL_gamecontroller_h */\n\n/* vi: set ts=4 sw=4 expandtab: */\n"
  },
  {
    "path": "external/SDL2-2.0.4/include/SDL_gesture.h",
    "content": "/*\n  Simple DirectMedia Layer\n  Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>\n\n  This software is provided 'as-is', without any express or implied\n  warranty.  In no event will the authors be held liable for any damages\n  arising from the use of this software.\n\n  Permission is granted to anyone to use this software for any purpose,\n  including commercial applications, and to alter it and redistribute it\n  freely, subject to the following restrictions:\n\n  1. The origin of this software must not be misrepresented; you must not\n     claim that you wrote the original software. If you use this software\n     in a product, an acknowledgment in the product documentation would be\n     appreciated but is not required.\n  2. Altered source versions must be plainly marked as such, and must not be\n     misrepresented as being the original software.\n  3. This notice may not be removed or altered from any source distribution.\n*/\n\n/**\n *  \\file SDL_gesture.h\n *\n *  Include file for SDL gesture event handling.\n */\n\n#ifndef _SDL_gesture_h\n#define _SDL_gesture_h\n\n#include \"SDL_stdinc.h\"\n#include \"SDL_error.h\"\n#include \"SDL_video.h\"\n\n#include \"SDL_touch.h\"\n\n\n#include \"begin_code.h\"\n/* Set up for C function definitions, even when using C++ */\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\ntypedef Sint64 SDL_GestureID;\n\n/* Function prototypes */\n\n/**\n *  \\brief Begin Recording a gesture on the specified touch, or all touches (-1)\n *\n *\n */\nextern DECLSPEC int SDLCALL SDL_RecordGesture(SDL_TouchID touchId);\n\n\n/**\n *  \\brief Save all currently loaded Dollar Gesture templates\n *\n *\n */\nextern DECLSPEC int SDLCALL SDL_SaveAllDollarTemplates(SDL_RWops *dst);\n\n/**\n *  \\brief Save a currently loaded Dollar Gesture template\n *\n *\n */\nextern DECLSPEC int SDLCALL SDL_SaveDollarTemplate(SDL_GestureID gestureId,SDL_RWops *dst);\n\n\n/**\n *  \\brief Load Dollar Gesture templates from a file\n *\n *\n */\nextern DECLSPEC int SDLCALL SDL_LoadDollarTemplates(SDL_TouchID touchId, SDL_RWops *src);\n\n\n/* Ends C function definitions when using C++ */\n#ifdef __cplusplus\n}\n#endif\n#include \"close_code.h\"\n\n#endif /* _SDL_gesture_h */\n\n/* vi: set ts=4 sw=4 expandtab: */\n"
  },
  {
    "path": "external/SDL2-2.0.4/include/SDL_haptic.h",
    "content": "/*\n  Simple DirectMedia Layer\n  Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>\n\n  This software is provided 'as-is', without any express or implied\n  warranty.  In no event will the authors be held liable for any damages\n  arising from the use of this software.\n\n  Permission is granted to anyone to use this software for any purpose,\n  including commercial applications, and to alter it and redistribute it\n  freely, subject to the following restrictions:\n\n  1. The origin of this software must not be misrepresented; you must not\n     claim that you wrote the original software. If you use this software\n     in a product, an acknowledgment in the product documentation would be\n     appreciated but is not required.\n  2. Altered source versions must be plainly marked as such, and must not be\n     misrepresented as being the original software.\n  3. This notice may not be removed or altered from any source distribution.\n*/\n\n/**\n *  \\file SDL_haptic.h\n *\n *  \\brief The SDL Haptic subsystem allows you to control haptic (force feedback)\n *         devices.\n *\n *  The basic usage is as follows:\n *   - Initialize the Subsystem (::SDL_INIT_HAPTIC).\n *   - Open a Haptic Device.\n *    - SDL_HapticOpen() to open from index.\n *    - SDL_HapticOpenFromJoystick() to open from an existing joystick.\n *   - Create an effect (::SDL_HapticEffect).\n *   - Upload the effect with SDL_HapticNewEffect().\n *   - Run the effect with SDL_HapticRunEffect().\n *   - (optional) Free the effect with SDL_HapticDestroyEffect().\n *   - Close the haptic device with SDL_HapticClose().\n *\n * \\par Simple rumble example:\n * \\code\n *    SDL_Haptic *haptic;\n *\n *    // Open the device\n *    haptic = SDL_HapticOpen( 0 );\n *    if (haptic == NULL)\n *       return -1;\n *\n *    // Initialize simple rumble\n *    if (SDL_HapticRumbleInit( haptic ) != 0)\n *       return -1;\n *\n *    // Play effect at 50% strength for 2 seconds\n *    if (SDL_HapticRumblePlay( haptic, 0.5, 2000 ) != 0)\n *       return -1;\n *    SDL_Delay( 2000 );\n *\n *    // Clean up\n *    SDL_HapticClose( haptic );\n * \\endcode\n *\n * \\par Complete example:\n * \\code\n * int test_haptic( SDL_Joystick * joystick ) {\n *    SDL_Haptic *haptic;\n *    SDL_HapticEffect effect;\n *    int effect_id;\n *\n *    // Open the device\n *    haptic = SDL_HapticOpenFromJoystick( joystick );\n *    if (haptic == NULL) return -1; // Most likely joystick isn't haptic\n *\n *    // See if it can do sine waves\n *    if ((SDL_HapticQuery(haptic) & SDL_HAPTIC_SINE)==0) {\n *       SDL_HapticClose(haptic); // No sine effect\n *       return -1;\n *    }\n *\n *    // Create the effect\n *    memset( &effect, 0, sizeof(SDL_HapticEffect) ); // 0 is safe default\n *    effect.type = SDL_HAPTIC_SINE;\n *    effect.periodic.direction.type = SDL_HAPTIC_POLAR; // Polar coordinates\n *    effect.periodic.direction.dir[0] = 18000; // Force comes from south\n *    effect.periodic.period = 1000; // 1000 ms\n *    effect.periodic.magnitude = 20000; // 20000/32767 strength\n *    effect.periodic.length = 5000; // 5 seconds long\n *    effect.periodic.attack_length = 1000; // Takes 1 second to get max strength\n *    effect.periodic.fade_length = 1000; // Takes 1 second to fade away\n *\n *    // Upload the effect\n *    effect_id = SDL_HapticNewEffect( haptic, &effect );\n *\n *    // Test the effect\n *    SDL_HapticRunEffect( haptic, effect_id, 1 );\n *    SDL_Delay( 5000); // Wait for the effect to finish\n *\n *    // We destroy the effect, although closing the device also does this\n *    SDL_HapticDestroyEffect( haptic, effect_id );\n *\n *    // Close the device\n *    SDL_HapticClose(haptic);\n *\n *    return 0; // Success\n * }\n * \\endcode\n */\n\n#ifndef _SDL_haptic_h\n#define _SDL_haptic_h\n\n#include \"SDL_stdinc.h\"\n#include \"SDL_error.h\"\n#include \"SDL_joystick.h\"\n\n#include \"begin_code.h\"\n/* Set up for C function definitions, even when using C++ */\n#ifdef __cplusplus\nextern \"C\" {\n#endif /* __cplusplus */\n\n/**\n *  \\typedef SDL_Haptic\n *\n *  \\brief The haptic structure used to identify an SDL haptic.\n *\n *  \\sa SDL_HapticOpen\n *  \\sa SDL_HapticOpenFromJoystick\n *  \\sa SDL_HapticClose\n */\nstruct _SDL_Haptic;\ntypedef struct _SDL_Haptic SDL_Haptic;\n\n\n/**\n *  \\name Haptic features\n *\n *  Different haptic features a device can have.\n */\n/* @{ */\n\n/**\n *  \\name Haptic effects\n */\n/* @{ */\n\n/**\n *  \\brief Constant effect supported.\n *\n *  Constant haptic effect.\n *\n *  \\sa SDL_HapticCondition\n */\n#define SDL_HAPTIC_CONSTANT   (1<<0)\n\n/**\n *  \\brief Sine wave effect supported.\n *\n *  Periodic haptic effect that simulates sine waves.\n *\n *  \\sa SDL_HapticPeriodic\n */\n#define SDL_HAPTIC_SINE       (1<<1)\n\n/**\n *  \\brief Left/Right effect supported.\n *\n *  Haptic effect for direct control over high/low frequency motors.\n *\n *  \\sa SDL_HapticLeftRight\n * \\warning this value was SDL_HAPTIC_SQUARE right before 2.0.0 shipped. Sorry,\n *          we ran out of bits, and this is important for XInput devices.\n */\n#define SDL_HAPTIC_LEFTRIGHT     (1<<2)\n\n/* !!! FIXME: put this back when we have more bits in 2.1 */\n/* #define SDL_HAPTIC_SQUARE     (1<<2) */\n\n/**\n *  \\brief Triangle wave effect supported.\n *\n *  Periodic haptic effect that simulates triangular waves.\n *\n *  \\sa SDL_HapticPeriodic\n */\n#define SDL_HAPTIC_TRIANGLE   (1<<3)\n\n/**\n *  \\brief Sawtoothup wave effect supported.\n *\n *  Periodic haptic effect that simulates saw tooth up waves.\n *\n *  \\sa SDL_HapticPeriodic\n */\n#define SDL_HAPTIC_SAWTOOTHUP (1<<4)\n\n/**\n *  \\brief Sawtoothdown wave effect supported.\n *\n *  Periodic haptic effect that simulates saw tooth down waves.\n *\n *  \\sa SDL_HapticPeriodic\n */\n#define SDL_HAPTIC_SAWTOOTHDOWN (1<<5)\n\n/**\n *  \\brief Ramp effect supported.\n *\n *  Ramp haptic effect.\n *\n *  \\sa SDL_HapticRamp\n */\n#define SDL_HAPTIC_RAMP       (1<<6)\n\n/**\n *  \\brief Spring effect supported - uses axes position.\n *\n *  Condition haptic effect that simulates a spring.  Effect is based on the\n *  axes position.\n *\n *  \\sa SDL_HapticCondition\n */\n#define SDL_HAPTIC_SPRING     (1<<7)\n\n/**\n *  \\brief Damper effect supported - uses axes velocity.\n *\n *  Condition haptic effect that simulates dampening.  Effect is based on the\n *  axes velocity.\n *\n *  \\sa SDL_HapticCondition\n */\n#define SDL_HAPTIC_DAMPER     (1<<8)\n\n/**\n *  \\brief Inertia effect supported - uses axes acceleration.\n *\n *  Condition haptic effect that simulates inertia.  Effect is based on the axes\n *  acceleration.\n *\n *  \\sa SDL_HapticCondition\n */\n#define SDL_HAPTIC_INERTIA    (1<<9)\n\n/**\n *  \\brief Friction effect supported - uses axes movement.\n *\n *  Condition haptic effect that simulates friction.  Effect is based on the\n *  axes movement.\n *\n *  \\sa SDL_HapticCondition\n */\n#define SDL_HAPTIC_FRICTION   (1<<10)\n\n/**\n *  \\brief Custom effect is supported.\n *\n *  User defined custom haptic effect.\n */\n#define SDL_HAPTIC_CUSTOM     (1<<11)\n\n/* @} *//* Haptic effects */\n\n/* These last few are features the device has, not effects */\n\n/**\n *  \\brief Device can set global gain.\n *\n *  Device supports setting the global gain.\n *\n *  \\sa SDL_HapticSetGain\n */\n#define SDL_HAPTIC_GAIN       (1<<12)\n\n/**\n *  \\brief Device can set autocenter.\n *\n *  Device supports setting autocenter.\n *\n *  \\sa SDL_HapticSetAutocenter\n */\n#define SDL_HAPTIC_AUTOCENTER (1<<13)\n\n/**\n *  \\brief Device can be queried for effect status.\n *\n *  Device can be queried for effect status.\n *\n *  \\sa SDL_HapticGetEffectStatus\n */\n#define SDL_HAPTIC_STATUS     (1<<14)\n\n/**\n *  \\brief Device can be paused.\n *\n *  \\sa SDL_HapticPause\n *  \\sa SDL_HapticUnpause\n */\n#define SDL_HAPTIC_PAUSE      (1<<15)\n\n\n/**\n * \\name Direction encodings\n */\n/* @{ */\n\n/**\n *  \\brief Uses polar coordinates for the direction.\n *\n *  \\sa SDL_HapticDirection\n */\n#define SDL_HAPTIC_POLAR      0\n\n/**\n *  \\brief Uses cartesian coordinates for the direction.\n *\n *  \\sa SDL_HapticDirection\n */\n#define SDL_HAPTIC_CARTESIAN  1\n\n/**\n *  \\brief Uses spherical coordinates for the direction.\n *\n *  \\sa SDL_HapticDirection\n */\n#define SDL_HAPTIC_SPHERICAL  2\n\n/* @} *//* Direction encodings */\n\n/* @} *//* Haptic features */\n\n/*\n * Misc defines.\n */\n\n/**\n * \\brief Used to play a device an infinite number of times.\n *\n * \\sa SDL_HapticRunEffect\n */\n#define SDL_HAPTIC_INFINITY   4294967295U\n\n\n/**\n *  \\brief Structure that represents a haptic direction.\n *\n *  This is the direction where the force comes from,\n *  instead of the direction in which the force is exerted.\n *\n *  Directions can be specified by:\n *   - ::SDL_HAPTIC_POLAR : Specified by polar coordinates.\n *   - ::SDL_HAPTIC_CARTESIAN : Specified by cartesian coordinates.\n *   - ::SDL_HAPTIC_SPHERICAL : Specified by spherical coordinates.\n *\n *  Cardinal directions of the haptic device are relative to the positioning\n *  of the device.  North is considered to be away from the user.\n *\n *  The following diagram represents the cardinal directions:\n *  \\verbatim\n                 .--.\n                 |__| .-------.\n                 |=.| |.-----.|\n                 |--| ||     ||\n                 |  | |'-----'|\n                 |__|~')_____('\n                   [ COMPUTER ]\n\n\n                     North (0,-1)\n                         ^\n                         |\n                         |\n   (-1,0)  West <----[ HAPTIC ]----> East (1,0)\n                         |\n                         |\n                         v\n                      South (0,1)\n\n\n                      [ USER ]\n                        \\|||/\n                        (o o)\n                  ---ooO-(_)-Ooo---\n    \\endverbatim\n *\n *  If type is ::SDL_HAPTIC_POLAR, direction is encoded by hundredths of a\n *  degree starting north and turning clockwise.  ::SDL_HAPTIC_POLAR only uses\n *  the first \\c dir parameter.  The cardinal directions would be:\n *   - North: 0 (0 degrees)\n *   - East: 9000 (90 degrees)\n *   - South: 18000 (180 degrees)\n *   - West: 27000 (270 degrees)\n *\n *  If type is ::SDL_HAPTIC_CARTESIAN, direction is encoded by three positions\n *  (X axis, Y axis and Z axis (with 3 axes)).  ::SDL_HAPTIC_CARTESIAN uses\n *  the first three \\c dir parameters.  The cardinal directions would be:\n *   - North:  0,-1, 0\n *   - East:   1, 0, 0\n *   - South:  0, 1, 0\n *   - West:  -1, 0, 0\n *\n *  The Z axis represents the height of the effect if supported, otherwise\n *  it's unused.  In cartesian encoding (1, 2) would be the same as (2, 4), you\n *  can use any multiple you want, only the direction matters.\n *\n *  If type is ::SDL_HAPTIC_SPHERICAL, direction is encoded by two rotations.\n *  The first two \\c dir parameters are used.  The \\c dir parameters are as\n *  follows (all values are in hundredths of degrees):\n *   - Degrees from (1, 0) rotated towards (0, 1).\n *   - Degrees towards (0, 0, 1) (device needs at least 3 axes).\n *\n *\n *  Example of force coming from the south with all encodings (force coming\n *  from the south means the user will have to pull the stick to counteract):\n *  \\code\n *  SDL_HapticDirection direction;\n *\n *  // Cartesian directions\n *  direction.type = SDL_HAPTIC_CARTESIAN; // Using cartesian direction encoding.\n *  direction.dir[0] = 0; // X position\n *  direction.dir[1] = 1; // Y position\n *  // Assuming the device has 2 axes, we don't need to specify third parameter.\n *\n *  // Polar directions\n *  direction.type = SDL_HAPTIC_POLAR; // We'll be using polar direction encoding.\n *  direction.dir[0] = 18000; // Polar only uses first parameter\n *\n *  // Spherical coordinates\n *  direction.type = SDL_HAPTIC_SPHERICAL; // Spherical encoding\n *  direction.dir[0] = 9000; // Since we only have two axes we don't need more parameters.\n *  \\endcode\n *\n *  \\sa SDL_HAPTIC_POLAR\n *  \\sa SDL_HAPTIC_CARTESIAN\n *  \\sa SDL_HAPTIC_SPHERICAL\n *  \\sa SDL_HapticEffect\n *  \\sa SDL_HapticNumAxes\n */\ntypedef struct SDL_HapticDirection\n{\n    Uint8 type;         /**< The type of encoding. */\n    Sint32 dir[3];      /**< The encoded direction. */\n} SDL_HapticDirection;\n\n\n/**\n *  \\brief A structure containing a template for a Constant effect.\n *\n *  The struct is exclusive to the ::SDL_HAPTIC_CONSTANT effect.\n *\n *  A constant effect applies a constant force in the specified direction\n *  to the joystick.\n *\n *  \\sa SDL_HAPTIC_CONSTANT\n *  \\sa SDL_HapticEffect\n */\ntypedef struct SDL_HapticConstant\n{\n    /* Header */\n    Uint16 type;            /**< ::SDL_HAPTIC_CONSTANT */\n    SDL_HapticDirection direction;  /**< Direction of the effect. */\n\n    /* Replay */\n    Uint32 length;          /**< Duration of the effect. */\n    Uint16 delay;           /**< Delay before starting the effect. */\n\n    /* Trigger */\n    Uint16 button;          /**< Button that triggers the effect. */\n    Uint16 interval;        /**< How soon it can be triggered again after button. */\n\n    /* Constant */\n    Sint16 level;           /**< Strength of the constant effect. */\n\n    /* Envelope */\n    Uint16 attack_length;   /**< Duration of the attack. */\n    Uint16 attack_level;    /**< Level at the start of the attack. */\n    Uint16 fade_length;     /**< Duration of the fade. */\n    Uint16 fade_level;      /**< Level at the end of the fade. */\n} SDL_HapticConstant;\n\n/**\n *  \\brief A structure containing a template for a Periodic effect.\n *\n *  The struct handles the following effects:\n *   - ::SDL_HAPTIC_SINE\n *   - ::SDL_HAPTIC_LEFTRIGHT\n *   - ::SDL_HAPTIC_TRIANGLE\n *   - ::SDL_HAPTIC_SAWTOOTHUP\n *   - ::SDL_HAPTIC_SAWTOOTHDOWN\n *\n *  A periodic effect consists in a wave-shaped effect that repeats itself\n *  over time.  The type determines the shape of the wave and the parameters\n *  determine the dimensions of the wave.\n *\n *  Phase is given by hundredth of a degree meaning that giving the phase a value\n *  of 9000 will displace it 25% of its period.  Here are sample values:\n *   -     0: No phase displacement.\n *   -  9000: Displaced 25% of its period.\n *   - 18000: Displaced 50% of its period.\n *   - 27000: Displaced 75% of its period.\n *   - 36000: Displaced 100% of its period, same as 0, but 0 is preferred.\n *\n *  Examples:\n *  \\verbatim\n    SDL_HAPTIC_SINE\n      __      __      __      __\n     /  \\    /  \\    /  \\    /\n    /    \\__/    \\__/    \\__/\n\n    SDL_HAPTIC_SQUARE\n     __    __    __    __    __\n    |  |  |  |  |  |  |  |  |  |\n    |  |__|  |__|  |__|  |__|  |\n\n    SDL_HAPTIC_TRIANGLE\n      /\\    /\\    /\\    /\\    /\\\n     /  \\  /  \\  /  \\  /  \\  /\n    /    \\/    \\/    \\/    \\/\n\n    SDL_HAPTIC_SAWTOOTHUP\n      /|  /|  /|  /|  /|  /|  /|\n     / | / | / | / | / | / | / |\n    /  |/  |/  |/  |/  |/  |/  |\n\n    SDL_HAPTIC_SAWTOOTHDOWN\n    \\  |\\  |\\  |\\  |\\  |\\  |\\  |\n     \\ | \\ | \\ | \\ | \\ | \\ | \\ |\n      \\|  \\|  \\|  \\|  \\|  \\|  \\|\n    \\endverbatim\n *\n *  \\sa SDL_HAPTIC_SINE\n *  \\sa SDL_HAPTIC_LEFTRIGHT\n *  \\sa SDL_HAPTIC_TRIANGLE\n *  \\sa SDL_HAPTIC_SAWTOOTHUP\n *  \\sa SDL_HAPTIC_SAWTOOTHDOWN\n *  \\sa SDL_HapticEffect\n */\ntypedef struct SDL_HapticPeriodic\n{\n    /* Header */\n    Uint16 type;        /**< ::SDL_HAPTIC_SINE, ::SDL_HAPTIC_LEFTRIGHT,\n                             ::SDL_HAPTIC_TRIANGLE, ::SDL_HAPTIC_SAWTOOTHUP or\n                             ::SDL_HAPTIC_SAWTOOTHDOWN */\n    SDL_HapticDirection direction;  /**< Direction of the effect. */\n\n    /* Replay */\n    Uint32 length;      /**< Duration of the effect. */\n    Uint16 delay;       /**< Delay before starting the effect. */\n\n    /* Trigger */\n    Uint16 button;      /**< Button that triggers the effect. */\n    Uint16 interval;    /**< How soon it can be triggered again after button. */\n\n    /* Periodic */\n    Uint16 period;      /**< Period of the wave. */\n    Sint16 magnitude;   /**< Peak value; if negative, equivalent to 180 degrees extra phase shift. */\n    Sint16 offset;      /**< Mean value of the wave. */\n    Uint16 phase;       /**< Positive phase shift given by hundredth of a degree. */\n\n    /* Envelope */\n    Uint16 attack_length;   /**< Duration of the attack. */\n    Uint16 attack_level;    /**< Level at the start of the attack. */\n    Uint16 fade_length; /**< Duration of the fade. */\n    Uint16 fade_level;  /**< Level at the end of the fade. */\n} SDL_HapticPeriodic;\n\n/**\n *  \\brief A structure containing a template for a Condition effect.\n *\n *  The struct handles the following effects:\n *   - ::SDL_HAPTIC_SPRING: Effect based on axes position.\n *   - ::SDL_HAPTIC_DAMPER: Effect based on axes velocity.\n *   - ::SDL_HAPTIC_INERTIA: Effect based on axes acceleration.\n *   - ::SDL_HAPTIC_FRICTION: Effect based on axes movement.\n *\n *  Direction is handled by condition internals instead of a direction member.\n *  The condition effect specific members have three parameters.  The first\n *  refers to the X axis, the second refers to the Y axis and the third\n *  refers to the Z axis.  The right terms refer to the positive side of the\n *  axis and the left terms refer to the negative side of the axis.  Please\n *  refer to the ::SDL_HapticDirection diagram for which side is positive and\n *  which is negative.\n *\n *  \\sa SDL_HapticDirection\n *  \\sa SDL_HAPTIC_SPRING\n *  \\sa SDL_HAPTIC_DAMPER\n *  \\sa SDL_HAPTIC_INERTIA\n *  \\sa SDL_HAPTIC_FRICTION\n *  \\sa SDL_HapticEffect\n */\ntypedef struct SDL_HapticCondition\n{\n    /* Header */\n    Uint16 type;            /**< ::SDL_HAPTIC_SPRING, ::SDL_HAPTIC_DAMPER,\n                                 ::SDL_HAPTIC_INERTIA or ::SDL_HAPTIC_FRICTION */\n    SDL_HapticDirection direction;  /**< Direction of the effect - Not used ATM. */\n\n    /* Replay */\n    Uint32 length;          /**< Duration of the effect. */\n    Uint16 delay;           /**< Delay before starting the effect. */\n\n    /* Trigger */\n    Uint16 button;          /**< Button that triggers the effect. */\n    Uint16 interval;        /**< How soon it can be triggered again after button. */\n\n    /* Condition */\n    Uint16 right_sat[3];    /**< Level when joystick is to the positive side; max 0xFFFF. */\n    Uint16 left_sat[3];     /**< Level when joystick is to the negative side; max 0xFFFF. */\n    Sint16 right_coeff[3];  /**< How fast to increase the force towards the positive side. */\n    Sint16 left_coeff[3];   /**< How fast to increase the force towards the negative side. */\n    Uint16 deadband[3];     /**< Size of the dead zone; max 0xFFFF: whole axis-range when 0-centered. */\n    Sint16 center[3];       /**< Position of the dead zone. */\n} SDL_HapticCondition;\n\n/**\n *  \\brief A structure containing a template for a Ramp effect.\n *\n *  This struct is exclusively for the ::SDL_HAPTIC_RAMP effect.\n *\n *  The ramp effect starts at start strength and ends at end strength.\n *  It augments in linear fashion.  If you use attack and fade with a ramp\n *  the effects get added to the ramp effect making the effect become\n *  quadratic instead of linear.\n *\n *  \\sa SDL_HAPTIC_RAMP\n *  \\sa SDL_HapticEffect\n */\ntypedef struct SDL_HapticRamp\n{\n    /* Header */\n    Uint16 type;            /**< ::SDL_HAPTIC_RAMP */\n    SDL_HapticDirection direction;  /**< Direction of the effect. */\n\n    /* Replay */\n    Uint32 length;          /**< Duration of the effect. */\n    Uint16 delay;           /**< Delay before starting the effect. */\n\n    /* Trigger */\n    Uint16 button;          /**< Button that triggers the effect. */\n    Uint16 interval;        /**< How soon it can be triggered again after button. */\n\n    /* Ramp */\n    Sint16 start;           /**< Beginning strength level. */\n    Sint16 end;             /**< Ending strength level. */\n\n    /* Envelope */\n    Uint16 attack_length;   /**< Duration of the attack. */\n    Uint16 attack_level;    /**< Level at the start of the attack. */\n    Uint16 fade_length;     /**< Duration of the fade. */\n    Uint16 fade_level;      /**< Level at the end of the fade. */\n} SDL_HapticRamp;\n\n/**\n * \\brief A structure containing a template for a Left/Right effect.\n *\n * This struct is exclusively for the ::SDL_HAPTIC_LEFTRIGHT effect.\n *\n * The Left/Right effect is used to explicitly control the large and small\n * motors, commonly found in modern game controllers. One motor is high\n * frequency, the other is low frequency.\n *\n * \\sa SDL_HAPTIC_LEFTRIGHT\n * \\sa SDL_HapticEffect\n */\ntypedef struct SDL_HapticLeftRight\n{\n    /* Header */\n    Uint16 type;            /**< ::SDL_HAPTIC_LEFTRIGHT */\n\n    /* Replay */\n    Uint32 length;          /**< Duration of the effect. */\n\n    /* Rumble */\n    Uint16 large_magnitude; /**< Control of the large controller motor. */\n    Uint16 small_magnitude; /**< Control of the small controller motor. */\n} SDL_HapticLeftRight;\n\n/**\n *  \\brief A structure containing a template for the ::SDL_HAPTIC_CUSTOM effect.\n *\n *  A custom force feedback effect is much like a periodic effect, where the\n *  application can define its exact shape.  You will have to allocate the\n *  data yourself.  Data should consist of channels * samples Uint16 samples.\n *\n *  If channels is one, the effect is rotated using the defined direction.\n *  Otherwise it uses the samples in data for the different axes.\n *\n *  \\sa SDL_HAPTIC_CUSTOM\n *  \\sa SDL_HapticEffect\n */\ntypedef struct SDL_HapticCustom\n{\n    /* Header */\n    Uint16 type;            /**< ::SDL_HAPTIC_CUSTOM */\n    SDL_HapticDirection direction;  /**< Direction of the effect. */\n\n    /* Replay */\n    Uint32 length;          /**< Duration of the effect. */\n    Uint16 delay;           /**< Delay before starting the effect. */\n\n    /* Trigger */\n    Uint16 button;          /**< Button that triggers the effect. */\n    Uint16 interval;        /**< How soon it can be triggered again after button. */\n\n    /* Custom */\n    Uint8 channels;         /**< Axes to use, minimum of one. */\n    Uint16 period;          /**< Sample periods. */\n    Uint16 samples;         /**< Amount of samples. */\n    Uint16 *data;           /**< Should contain channels*samples items. */\n\n    /* Envelope */\n    Uint16 attack_length;   /**< Duration of the attack. */\n    Uint16 attack_level;    /**< Level at the start of the attack. */\n    Uint16 fade_length;     /**< Duration of the fade. */\n    Uint16 fade_level;      /**< Level at the end of the fade. */\n} SDL_HapticCustom;\n\n/**\n *  \\brief The generic template for any haptic effect.\n *\n *  All values max at 32767 (0x7FFF).  Signed values also can be negative.\n *  Time values unless specified otherwise are in milliseconds.\n *\n *  You can also pass ::SDL_HAPTIC_INFINITY to length instead of a 0-32767\n *  value.  Neither delay, interval, attack_length nor fade_length support\n *  ::SDL_HAPTIC_INFINITY.  Fade will also not be used since effect never ends.\n *\n *  Additionally, the ::SDL_HAPTIC_RAMP effect does not support a duration of\n *  ::SDL_HAPTIC_INFINITY.\n *\n *  Button triggers may not be supported on all devices, it is advised to not\n *  use them if possible.  Buttons start at index 1 instead of index 0 like\n *  the joystick.\n *\n *  If both attack_length and fade_level are 0, the envelope is not used,\n *  otherwise both values are used.\n *\n *  Common parts:\n *  \\code\n *  // Replay - All effects have this\n *  Uint32 length;        // Duration of effect (ms).\n *  Uint16 delay;         // Delay before starting effect.\n *\n *  // Trigger - All effects have this\n *  Uint16 button;        // Button that triggers effect.\n *  Uint16 interval;      // How soon before effect can be triggered again.\n *\n *  // Envelope - All effects except condition effects have this\n *  Uint16 attack_length; // Duration of the attack (ms).\n *  Uint16 attack_level;  // Level at the start of the attack.\n *  Uint16 fade_length;   // Duration of the fade out (ms).\n *  Uint16 fade_level;    // Level at the end of the fade.\n *  \\endcode\n *\n *\n *  Here we have an example of a constant effect evolution in time:\n *  \\verbatim\n    Strength\n    ^\n    |\n    |    effect level -->  _________________\n    |                     /                 \\\n    |                    /                   \\\n    |                   /                     \\\n    |                  /                       \\\n    | attack_level --> |                        \\\n    |                  |                        |  <---  fade_level\n    |\n    +--------------------------------------------------> Time\n                       [--]                 [---]\n                       attack_length        fade_length\n\n    [------------------][-----------------------]\n    delay               length\n    \\endverbatim\n *\n *  Note either the attack_level or the fade_level may be above the actual\n *  effect level.\n *\n *  \\sa SDL_HapticConstant\n *  \\sa SDL_HapticPeriodic\n *  \\sa SDL_HapticCondition\n *  \\sa SDL_HapticRamp\n *  \\sa SDL_HapticLeftRight\n *  \\sa SDL_HapticCustom\n */\ntypedef union SDL_HapticEffect\n{\n    /* Common for all force feedback effects */\n    Uint16 type;                    /**< Effect type. */\n    SDL_HapticConstant constant;    /**< Constant effect. */\n    SDL_HapticPeriodic periodic;    /**< Periodic effect. */\n    SDL_HapticCondition condition;  /**< Condition effect. */\n    SDL_HapticRamp ramp;            /**< Ramp effect. */\n    SDL_HapticLeftRight leftright;  /**< Left/Right effect. */\n    SDL_HapticCustom custom;        /**< Custom effect. */\n} SDL_HapticEffect;\n\n\n/* Function prototypes */\n/**\n *  \\brief Count the number of haptic devices attached to the system.\n *\n *  \\return Number of haptic devices detected on the system.\n */\nextern DECLSPEC int SDLCALL SDL_NumHaptics(void);\n\n/**\n *  \\brief Get the implementation dependent name of a Haptic device.\n *\n *  This can be called before any joysticks are opened.\n *  If no name can be found, this function returns NULL.\n *\n *  \\param device_index Index of the device to get its name.\n *  \\return Name of the device or NULL on error.\n *\n *  \\sa SDL_NumHaptics\n */\nextern DECLSPEC const char *SDLCALL SDL_HapticName(int device_index);\n\n/**\n *  \\brief Opens a Haptic device for usage.\n *\n *  The index passed as an argument refers to the N'th Haptic device on this\n *  system.\n *\n *  When opening a haptic device, its gain will be set to maximum and\n *  autocenter will be disabled.  To modify these values use\n *  SDL_HapticSetGain() and SDL_HapticSetAutocenter().\n *\n *  \\param device_index Index of the device to open.\n *  \\return Device identifier or NULL on error.\n *\n *  \\sa SDL_HapticIndex\n *  \\sa SDL_HapticOpenFromMouse\n *  \\sa SDL_HapticOpenFromJoystick\n *  \\sa SDL_HapticClose\n *  \\sa SDL_HapticSetGain\n *  \\sa SDL_HapticSetAutocenter\n *  \\sa SDL_HapticPause\n *  \\sa SDL_HapticStopAll\n */\nextern DECLSPEC SDL_Haptic *SDLCALL SDL_HapticOpen(int device_index);\n\n/**\n *  \\brief Checks if the haptic device at index has been opened.\n *\n *  \\param device_index Index to check to see if it has been opened.\n *  \\return 1 if it has been opened or 0 if it hasn't.\n *\n *  \\sa SDL_HapticOpen\n *  \\sa SDL_HapticIndex\n */\nextern DECLSPEC int SDLCALL SDL_HapticOpened(int device_index);\n\n/**\n *  \\brief Gets the index of a haptic device.\n *\n *  \\param haptic Haptic device to get the index of.\n *  \\return The index of the haptic device or -1 on error.\n *\n *  \\sa SDL_HapticOpen\n *  \\sa SDL_HapticOpened\n */\nextern DECLSPEC int SDLCALL SDL_HapticIndex(SDL_Haptic * haptic);\n\n/**\n *  \\brief Gets whether or not the current mouse has haptic capabilities.\n *\n *  \\return SDL_TRUE if the mouse is haptic, SDL_FALSE if it isn't.\n *\n *  \\sa SDL_HapticOpenFromMouse\n */\nextern DECLSPEC int SDLCALL SDL_MouseIsHaptic(void);\n\n/**\n *  \\brief Tries to open a haptic device from the current mouse.\n *\n *  \\return The haptic device identifier or NULL on error.\n *\n *  \\sa SDL_MouseIsHaptic\n *  \\sa SDL_HapticOpen\n */\nextern DECLSPEC SDL_Haptic *SDLCALL SDL_HapticOpenFromMouse(void);\n\n/**\n *  \\brief Checks to see if a joystick has haptic features.\n *\n *  \\param joystick Joystick to test for haptic capabilities.\n *  \\return 1 if the joystick is haptic, 0 if it isn't\n *          or -1 if an error ocurred.\n *\n *  \\sa SDL_HapticOpenFromJoystick\n */\nextern DECLSPEC int SDLCALL SDL_JoystickIsHaptic(SDL_Joystick * joystick);\n\n/**\n *  \\brief Opens a Haptic device for usage from a Joystick device.\n *\n *  You must still close the haptic device separately.  It will not be closed\n *  with the joystick.\n *\n *  When opening from a joystick you should first close the haptic device before\n *  closing the joystick device.  If not, on some implementations the haptic\n *  device will also get unallocated and you'll be unable to use force feedback\n *  on that device.\n *\n *  \\param joystick Joystick to create a haptic device from.\n *  \\return A valid haptic device identifier on success or NULL on error.\n *\n *  \\sa SDL_HapticOpen\n *  \\sa SDL_HapticClose\n */\nextern DECLSPEC SDL_Haptic *SDLCALL SDL_HapticOpenFromJoystick(SDL_Joystick *\n                                                               joystick);\n\n/**\n *  \\brief Closes a Haptic device previously opened with SDL_HapticOpen().\n *\n *  \\param haptic Haptic device to close.\n */\nextern DECLSPEC void SDLCALL SDL_HapticClose(SDL_Haptic * haptic);\n\n/**\n *  \\brief Returns the number of effects a haptic device can store.\n *\n *  On some platforms this isn't fully supported, and therefore is an\n *  approximation.  Always check to see if your created effect was actually\n *  created and do not rely solely on SDL_HapticNumEffects().\n *\n *  \\param haptic The haptic device to query effect max.\n *  \\return The number of effects the haptic device can store or\n *          -1 on error.\n *\n *  \\sa SDL_HapticNumEffectsPlaying\n *  \\sa SDL_HapticQuery\n */\nextern DECLSPEC int SDLCALL SDL_HapticNumEffects(SDL_Haptic * haptic);\n\n/**\n *  \\brief Returns the number of effects a haptic device can play at the same\n *         time.\n *\n *  This is not supported on all platforms, but will always return a value.\n *  Added here for the sake of completeness.\n *\n *  \\param haptic The haptic device to query maximum playing effects.\n *  \\return The number of effects the haptic device can play at the same time\n *          or -1 on error.\n *\n *  \\sa SDL_HapticNumEffects\n *  \\sa SDL_HapticQuery\n */\nextern DECLSPEC int SDLCALL SDL_HapticNumEffectsPlaying(SDL_Haptic * haptic);\n\n/**\n *  \\brief Gets the haptic device's supported features in bitwise manner.\n *\n *  Example:\n *  \\code\n *  if (SDL_HapticQuery(haptic) & SDL_HAPTIC_CONSTANT) {\n *      printf(\"We have constant haptic effect!\");\n *  }\n *  \\endcode\n *\n *  \\param haptic The haptic device to query.\n *  \\return Haptic features in bitwise manner (OR'd).\n *\n *  \\sa SDL_HapticNumEffects\n *  \\sa SDL_HapticEffectSupported\n */\nextern DECLSPEC unsigned int SDLCALL SDL_HapticQuery(SDL_Haptic * haptic);\n\n\n/**\n *  \\brief Gets the number of haptic axes the device has.\n *\n *  \\sa SDL_HapticDirection\n */\nextern DECLSPEC int SDLCALL SDL_HapticNumAxes(SDL_Haptic * haptic);\n\n/**\n *  \\brief Checks to see if effect is supported by haptic.\n *\n *  \\param haptic Haptic device to check on.\n *  \\param effect Effect to check to see if it is supported.\n *  \\return SDL_TRUE if effect is supported, SDL_FALSE if it isn't or -1 on error.\n *\n *  \\sa SDL_HapticQuery\n *  \\sa SDL_HapticNewEffect\n */\nextern DECLSPEC int SDLCALL SDL_HapticEffectSupported(SDL_Haptic * haptic,\n                                                      SDL_HapticEffect *\n                                                      effect);\n\n/**\n *  \\brief Creates a new haptic effect on the device.\n *\n *  \\param haptic Haptic device to create the effect on.\n *  \\param effect Properties of the effect to create.\n *  \\return The id of the effect on success or -1 on error.\n *\n *  \\sa SDL_HapticUpdateEffect\n *  \\sa SDL_HapticRunEffect\n *  \\sa SDL_HapticDestroyEffect\n */\nextern DECLSPEC int SDLCALL SDL_HapticNewEffect(SDL_Haptic * haptic,\n                                                SDL_HapticEffect * effect);\n\n/**\n *  \\brief Updates the properties of an effect.\n *\n *  Can be used dynamically, although behaviour when dynamically changing\n *  direction may be strange.  Specifically the effect may reupload itself\n *  and start playing from the start.  You cannot change the type either when\n *  running SDL_HapticUpdateEffect().\n *\n *  \\param haptic Haptic device that has the effect.\n *  \\param effect Effect to update.\n *  \\param data New effect properties to use.\n *  \\return 0 on success or -1 on error.\n *\n *  \\sa SDL_HapticNewEffect\n *  \\sa SDL_HapticRunEffect\n *  \\sa SDL_HapticDestroyEffect\n */\nextern DECLSPEC int SDLCALL SDL_HapticUpdateEffect(SDL_Haptic * haptic,\n                                                   int effect,\n                                                   SDL_HapticEffect * data);\n\n/**\n *  \\brief Runs the haptic effect on its associated haptic device.\n *\n *  If iterations are ::SDL_HAPTIC_INFINITY, it'll run the effect over and over\n *  repeating the envelope (attack and fade) every time.  If you only want the\n *  effect to last forever, set ::SDL_HAPTIC_INFINITY in the effect's length\n *  parameter.\n *\n *  \\param haptic Haptic device to run the effect on.\n *  \\param effect Identifier of the haptic effect to run.\n *  \\param iterations Number of iterations to run the effect. Use\n *         ::SDL_HAPTIC_INFINITY for infinity.\n *  \\return 0 on success or -1 on error.\n *\n *  \\sa SDL_HapticStopEffect\n *  \\sa SDL_HapticDestroyEffect\n *  \\sa SDL_HapticGetEffectStatus\n */\nextern DECLSPEC int SDLCALL SDL_HapticRunEffect(SDL_Haptic * haptic,\n                                                int effect,\n                                                Uint32 iterations);\n\n/**\n *  \\brief Stops the haptic effect on its associated haptic device.\n *\n *  \\param haptic Haptic device to stop the effect on.\n *  \\param effect Identifier of the effect to stop.\n *  \\return 0 on success or -1 on error.\n *\n *  \\sa SDL_HapticRunEffect\n *  \\sa SDL_HapticDestroyEffect\n */\nextern DECLSPEC int SDLCALL SDL_HapticStopEffect(SDL_Haptic * haptic,\n                                                 int effect);\n\n/**\n *  \\brief Destroys a haptic effect on the device.\n *\n *  This will stop the effect if it's running.  Effects are automatically\n *  destroyed when the device is closed.\n *\n *  \\param haptic Device to destroy the effect on.\n *  \\param effect Identifier of the effect to destroy.\n *\n *  \\sa SDL_HapticNewEffect\n */\nextern DECLSPEC void SDLCALL SDL_HapticDestroyEffect(SDL_Haptic * haptic,\n                                                     int effect);\n\n/**\n *  \\brief Gets the status of the current effect on the haptic device.\n *\n *  Device must support the ::SDL_HAPTIC_STATUS feature.\n *\n *  \\param haptic Haptic device to query the effect status on.\n *  \\param effect Identifier of the effect to query its status.\n *  \\return 0 if it isn't playing, 1 if it is playing or -1 on error.\n *\n *  \\sa SDL_HapticRunEffect\n *  \\sa SDL_HapticStopEffect\n */\nextern DECLSPEC int SDLCALL SDL_HapticGetEffectStatus(SDL_Haptic * haptic,\n                                                      int effect);\n\n/**\n *  \\brief Sets the global gain of the device.\n *\n *  Device must support the ::SDL_HAPTIC_GAIN feature.\n *\n *  The user may specify the maximum gain by setting the environment variable\n *  SDL_HAPTIC_GAIN_MAX which should be between 0 and 100.  All calls to\n *  SDL_HapticSetGain() will scale linearly using SDL_HAPTIC_GAIN_MAX as the\n *  maximum.\n *\n *  \\param haptic Haptic device to set the gain on.\n *  \\param gain Value to set the gain to, should be between 0 and 100.\n *  \\return 0 on success or -1 on error.\n *\n *  \\sa SDL_HapticQuery\n */\nextern DECLSPEC int SDLCALL SDL_HapticSetGain(SDL_Haptic * haptic, int gain);\n\n/**\n *  \\brief Sets the global autocenter of the device.\n *\n *  Autocenter should be between 0 and 100.  Setting it to 0 will disable\n *  autocentering.\n *\n *  Device must support the ::SDL_HAPTIC_AUTOCENTER feature.\n *\n *  \\param haptic Haptic device to set autocentering on.\n *  \\param autocenter Value to set autocenter to, 0 disables autocentering.\n *  \\return 0 on success or -1 on error.\n *\n *  \\sa SDL_HapticQuery\n */\nextern DECLSPEC int SDLCALL SDL_HapticSetAutocenter(SDL_Haptic * haptic,\n                                                    int autocenter);\n\n/**\n *  \\brief Pauses a haptic device.\n *\n *  Device must support the ::SDL_HAPTIC_PAUSE feature.  Call\n *  SDL_HapticUnpause() to resume playback.\n *\n *  Do not modify the effects nor add new ones while the device is paused.\n *  That can cause all sorts of weird errors.\n *\n *  \\param haptic Haptic device to pause.\n *  \\return 0 on success or -1 on error.\n *\n *  \\sa SDL_HapticUnpause\n */\nextern DECLSPEC int SDLCALL SDL_HapticPause(SDL_Haptic * haptic);\n\n/**\n *  \\brief Unpauses a haptic device.\n *\n *  Call to unpause after SDL_HapticPause().\n *\n *  \\param haptic Haptic device to unpause.\n *  \\return 0 on success or -1 on error.\n *\n *  \\sa SDL_HapticPause\n */\nextern DECLSPEC int SDLCALL SDL_HapticUnpause(SDL_Haptic * haptic);\n\n/**\n *  \\brief Stops all the currently playing effects on a haptic device.\n *\n *  \\param haptic Haptic device to stop.\n *  \\return 0 on success or -1 on error.\n */\nextern DECLSPEC int SDLCALL SDL_HapticStopAll(SDL_Haptic * haptic);\n\n/**\n *  \\brief Checks to see if rumble is supported on a haptic device.\n *\n *  \\param haptic Haptic device to check to see if it supports rumble.\n *  \\return SDL_TRUE if effect is supported, SDL_FALSE if it isn't or -1 on error.\n *\n *  \\sa SDL_HapticRumbleInit\n *  \\sa SDL_HapticRumblePlay\n *  \\sa SDL_HapticRumbleStop\n */\nextern DECLSPEC int SDLCALL SDL_HapticRumbleSupported(SDL_Haptic * haptic);\n\n/**\n *  \\brief Initializes the haptic device for simple rumble playback.\n *\n *  \\param haptic Haptic device to initialize for simple rumble playback.\n *  \\return 0 on success or -1 on error.\n *\n *  \\sa SDL_HapticOpen\n *  \\sa SDL_HapticRumbleSupported\n *  \\sa SDL_HapticRumblePlay\n *  \\sa SDL_HapticRumbleStop\n */\nextern DECLSPEC int SDLCALL SDL_HapticRumbleInit(SDL_Haptic * haptic);\n\n/**\n *  \\brief Runs simple rumble on a haptic device\n *\n *  \\param haptic Haptic device to play rumble effect on.\n *  \\param strength Strength of the rumble to play as a 0-1 float value.\n *  \\param length Length of the rumble to play in milliseconds.\n *  \\return 0 on success or -1 on error.\n *\n *  \\sa SDL_HapticRumbleSupported\n *  \\sa SDL_HapticRumbleInit\n *  \\sa SDL_HapticRumbleStop\n */\nextern DECLSPEC int SDLCALL SDL_HapticRumblePlay(SDL_Haptic * haptic, float strength, Uint32 length );\n\n/**\n *  \\brief Stops the simple rumble on a haptic device.\n *\n *  \\param haptic Haptic to stop the rumble on.\n *  \\return 0 on success or -1 on error.\n *\n *  \\sa SDL_HapticRumbleSupported\n *  \\sa SDL_HapticRumbleInit\n *  \\sa SDL_HapticRumblePlay\n */\nextern DECLSPEC int SDLCALL SDL_HapticRumbleStop(SDL_Haptic * haptic);\n\n/* Ends C function definitions when using C++ */\n#ifdef __cplusplus\n}\n#endif\n#include \"close_code.h\"\n\n#endif /* _SDL_haptic_h */\n\n/* vi: set ts=4 sw=4 expandtab: */\n"
  },
  {
    "path": "external/SDL2-2.0.4/include/SDL_hints.h",
    "content": "/*\n  Simple DirectMedia Layer\n  Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>\n\n  This software is provided 'as-is', without any express or implied\n  warranty.  In no event will the authors be held liable for any damages\n  arising from the use of this software.\n\n  Permission is granted to anyone to use this software for any purpose,\n  including commercial applications, and to alter it and redistribute it\n  freely, subject to the following restrictions:\n\n  1. The origin of this software must not be misrepresented; you must not\n     claim that you wrote the original software. If you use this software\n     in a product, an acknowledgment in the product documentation would be\n     appreciated but is not required.\n  2. Altered source versions must be plainly marked as such, and must not be\n     misrepresented as being the original software.\n  3. This notice may not be removed or altered from any source distribution.\n*/\n\n/**\n *  \\file SDL_hints.h\n *\n *  Official documentation for SDL configuration variables\n *\n *  This file contains functions to set and get configuration hints,\n *  as well as listing each of them alphabetically.\n *\n *  The convention for naming hints is SDL_HINT_X, where \"SDL_X\" is\n *  the environment variable that can be used to override the default.\n *\n *  In general these hints are just that - they may or may not be\n *  supported or applicable on any given platform, but they provide\n *  a way for an application or user to give the library a hint as\n *  to how they would like the library to work.\n */\n\n#ifndef _SDL_hints_h\n#define _SDL_hints_h\n\n#include \"SDL_stdinc.h\"\n\n#include \"begin_code.h\"\n/* Set up for C function definitions, even when using C++ */\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n/**\n *  \\brief  A variable controlling how 3D acceleration is used to accelerate the SDL screen surface.\n *\n *  SDL can try to accelerate the SDL screen surface by using streaming\n *  textures with a 3D rendering engine.  This variable controls whether and\n *  how this is done.\n *\n *  This variable can be set to the following values:\n *    \"0\"       - Disable 3D acceleration\n *    \"1\"       - Enable 3D acceleration, using the default renderer.\n *    \"X\"       - Enable 3D acceleration, using X where X is one of the valid rendering drivers.  (e.g. \"direct3d\", \"opengl\", etc.)\n *\n *  By default SDL tries to make a best guess for each platform whether\n *  to use acceleration or not.\n */\n#define SDL_HINT_FRAMEBUFFER_ACCELERATION   \"SDL_FRAMEBUFFER_ACCELERATION\"\n\n/**\n *  \\brief  A variable specifying which render driver to use.\n *\n *  If the application doesn't pick a specific renderer to use, this variable\n *  specifies the name of the preferred renderer.  If the preferred renderer\n *  can't be initialized, the normal default renderer is used.\n *\n *  This variable is case insensitive and can be set to the following values:\n *    \"direct3d\"\n *    \"opengl\"\n *    \"opengles2\"\n *    \"opengles\"\n *    \"software\"\n *\n *  The default varies by platform, but it's the first one in the list that\n *  is available on the current platform.\n */\n#define SDL_HINT_RENDER_DRIVER              \"SDL_RENDER_DRIVER\"\n\n/**\n *  \\brief  A variable controlling whether the OpenGL render driver uses shaders if they are available.\n *\n *  This variable can be set to the following values:\n *    \"0\"       - Disable shaders\n *    \"1\"       - Enable shaders\n *\n *  By default shaders are used if OpenGL supports them.\n */\n#define SDL_HINT_RENDER_OPENGL_SHADERS      \"SDL_RENDER_OPENGL_SHADERS\"\n\n/**\n *  \\brief  A variable controlling whether the Direct3D device is initialized for thread-safe operations.\n *\n *  This variable can be set to the following values:\n *    \"0\"       - Thread-safety is not enabled (faster)\n *    \"1\"       - Thread-safety is enabled\n *\n *  By default the Direct3D device is created with thread-safety disabled.\n */\n#define SDL_HINT_RENDER_DIRECT3D_THREADSAFE \"SDL_RENDER_DIRECT3D_THREADSAFE\"\n\n/**\n *  \\brief  A variable controlling whether to enable Direct3D 11+'s Debug Layer.\n *\n *  This variable does not have any effect on the Direct3D 9 based renderer.\n *\n *  This variable can be set to the following values:\n *    \"0\"       - Disable Debug Layer use\n *    \"1\"       - Enable Debug Layer use\n *\n *  By default, SDL does not use Direct3D Debug Layer.\n */\n#define SDL_HINT_RENDER_DIRECT3D11_DEBUG    \"SDL_RENDER_DIRECT3D11_DEBUG\"\n\n/**\n *  \\brief  A variable controlling the scaling quality\n *\n *  This variable can be set to the following values:\n *    \"0\" or \"nearest\" - Nearest pixel sampling\n *    \"1\" or \"linear\"  - Linear filtering (supported by OpenGL and Direct3D)\n *    \"2\" or \"best\"    - Currently this is the same as \"linear\"\n *\n *  By default nearest pixel sampling is used\n */\n#define SDL_HINT_RENDER_SCALE_QUALITY       \"SDL_RENDER_SCALE_QUALITY\"\n\n/**\n *  \\brief  A variable controlling whether updates to the SDL screen surface should be synchronized with the vertical refresh, to avoid tearing.\n *\n *  This variable can be set to the following values:\n *    \"0\"       - Disable vsync\n *    \"1\"       - Enable vsync\n *\n *  By default SDL does not sync screen surface updates with vertical refresh.\n */\n#define SDL_HINT_RENDER_VSYNC               \"SDL_RENDER_VSYNC\"\n\n/**\n *  \\brief  A variable controlling whether the screensaver is enabled. \n *\n *  This variable can be set to the following values:\n *    \"0\"       - Disable screensaver\n *    \"1\"       - Enable screensaver\n *\n *  By default SDL will disable the screensaver.\n */\n#define SDL_HINT_VIDEO_ALLOW_SCREENSAVER    \"SDL_VIDEO_ALLOW_SCREENSAVER\"\n\n/**\n *  \\brief  A variable controlling whether the X11 VidMode extension should be used.\n *\n *  This variable can be set to the following values:\n *    \"0\"       - Disable XVidMode\n *    \"1\"       - Enable XVidMode\n *\n *  By default SDL will use XVidMode if it is available.\n */\n#define SDL_HINT_VIDEO_X11_XVIDMODE         \"SDL_VIDEO_X11_XVIDMODE\"\n\n/**\n *  \\brief  A variable controlling whether the X11 Xinerama extension should be used.\n *\n *  This variable can be set to the following values:\n *    \"0\"       - Disable Xinerama\n *    \"1\"       - Enable Xinerama\n *\n *  By default SDL will use Xinerama if it is available.\n */\n#define SDL_HINT_VIDEO_X11_XINERAMA         \"SDL_VIDEO_X11_XINERAMA\"\n\n/**\n *  \\brief  A variable controlling whether the X11 XRandR extension should be used.\n *\n *  This variable can be set to the following values:\n *    \"0\"       - Disable XRandR\n *    \"1\"       - Enable XRandR\n *\n *  By default SDL will not use XRandR because of window manager issues.\n */\n#define SDL_HINT_VIDEO_X11_XRANDR           \"SDL_VIDEO_X11_XRANDR\"\n\n/**\n *  \\brief  A variable controlling whether the X11 _NET_WM_PING protocol should be supported.\n *\n *  This variable can be set to the following values:\n *    \"0\"       - Disable _NET_WM_PING\n *    \"1\"       - Enable _NET_WM_PING\n *\n *  By default SDL will use _NET_WM_PING, but for applications that know they\n *  will not always be able to respond to ping requests in a timely manner they can\n *  turn it off to avoid the window manager thinking the app is hung.\n *  The hint is checked in CreateWindow.\n */\n#define SDL_HINT_VIDEO_X11_NET_WM_PING      \"SDL_VIDEO_X11_NET_WM_PING\"\n\n/**\n *  \\brief  A variable controlling whether the window frame and title bar are interactive when the cursor is hidden \n *\n *  This variable can be set to the following values:\n *    \"0\"       - The window frame is not interactive when the cursor is hidden (no move, resize, etc)\n *    \"1\"       - The window frame is interactive when the cursor is hidden\n *\n *  By default SDL will allow interaction with the window frame when the cursor is hidden\n */\n#define SDL_HINT_WINDOW_FRAME_USABLE_WHILE_CURSOR_HIDDEN    \"SDL_WINDOW_FRAME_USABLE_WHILE_CURSOR_HIDDEN\"\n\n/**\n *  \\brief  A variable controlling whether the windows message loop is processed by SDL \n *\n *  This variable can be set to the following values:\n *    \"0\"       - The window message loop is not run\n *    \"1\"       - The window message loop is processed in SDL_PumpEvents()\n *\n *  By default SDL will process the windows message loop\n */\n#define SDL_HINT_WINDOWS_ENABLE_MESSAGELOOP \"SDL_WINDOWS_ENABLE_MESSAGELOOP\"\n\n/**\n *  \\brief  A variable controlling whether grabbing input grabs the keyboard\n *\n *  This variable can be set to the following values:\n *    \"0\"       - Grab will affect only the mouse\n *    \"1\"       - Grab will affect mouse and keyboard\n *\n *  By default SDL will not grab the keyboard so system shortcuts still work.\n */\n#define SDL_HINT_GRAB_KEYBOARD              \"SDL_GRAB_KEYBOARD\"\n\n/**\n*  \\brief  A variable controlling whether relative mouse mode is implemented using mouse warping\n*\n*  This variable can be set to the following values:\n*    \"0\"       - Relative mouse mode uses raw input\n*    \"1\"       - Relative mouse mode uses mouse warping\n*\n*  By default SDL will use raw input for relative mouse mode\n*/\n#define SDL_HINT_MOUSE_RELATIVE_MODE_WARP    \"SDL_MOUSE_RELATIVE_MODE_WARP\"\n\n/**\n *  \\brief Minimize your SDL_Window if it loses key focus when in fullscreen mode. Defaults to true.\n *\n */\n#define SDL_HINT_VIDEO_MINIMIZE_ON_FOCUS_LOSS   \"SDL_VIDEO_MINIMIZE_ON_FOCUS_LOSS\"\n\n/**\n *  \\brief  A variable controlling whether the idle timer is disabled on iOS.\n *\n *  When an iOS app does not receive touches for some time, the screen is\n *  dimmed automatically. For games where the accelerometer is the only input\n *  this is problematic. This functionality can be disabled by setting this\n *  hint.\n *\n *  As of SDL 2.0.4, SDL_EnableScreenSaver and SDL_DisableScreenSaver accomplish\n *  the same thing on iOS. They should be preferred over this hint.\n *\n *  This variable can be set to the following values:\n *    \"0\"       - Enable idle timer\n *    \"1\"       - Disable idle timer\n */\n#define SDL_HINT_IDLE_TIMER_DISABLED \"SDL_IOS_IDLE_TIMER_DISABLED\"\n\n/**\n *  \\brief  A variable controlling which orientations are allowed on iOS.\n *\n *  In some circumstances it is necessary to be able to explicitly control\n *  which UI orientations are allowed.\n *\n *  This variable is a space delimited list of the following values:\n *    \"LandscapeLeft\", \"LandscapeRight\", \"Portrait\" \"PortraitUpsideDown\"\n */\n#define SDL_HINT_ORIENTATIONS \"SDL_IOS_ORIENTATIONS\"\n    \n/**\n *  \\brief  A variable controlling whether the Android / iOS built-in\n *  accelerometer should be listed as a joystick device, rather than listing\n *  actual joysticks only.\n *\n *  This variable can be set to the following values:\n *    \"0\"       - List only real joysticks and accept input from them\n *    \"1\"       - List real joysticks along with the accelerometer as if it were a 3 axis joystick (the default).\n */\n#define SDL_HINT_ACCELEROMETER_AS_JOYSTICK \"SDL_ACCELEROMETER_AS_JOYSTICK\"\n\n\n/**\n *  \\brief  A variable that lets you disable the detection and use of Xinput gamepad devices\n *\n *  The variable can be set to the following values:\n *    \"0\"       - Disable XInput detection (only uses direct input)\n *    \"1\"       - Enable XInput detection (the default)\n */\n#define SDL_HINT_XINPUT_ENABLED \"SDL_XINPUT_ENABLED\"\n\n\n/**\n *  \\brief  A variable that causes SDL to use the old axis and button mapping for XInput devices.\n *\n *  This hint is for backwards compatibility only and will be removed in SDL 2.1\n *\n *  The default value is \"0\".  This hint must be set before SDL_Init()\n */\n#define SDL_HINT_XINPUT_USE_OLD_JOYSTICK_MAPPING \"SDL_XINPUT_USE_OLD_JOYSTICK_MAPPING\"\n\n\n/**\n *  \\brief  A variable that lets you manually hint extra gamecontroller db entries\n *\n *  The variable should be newline delimited rows of gamecontroller config data, see SDL_gamecontroller.h\n *\n *  This hint must be set before calling SDL_Init(SDL_INIT_GAMECONTROLLER)\n *  You can update mappings after the system is initialized with SDL_GameControllerMappingForGUID() and SDL_GameControllerAddMapping()\n */\n#define SDL_HINT_GAMECONTROLLERCONFIG \"SDL_GAMECONTROLLERCONFIG\"\n\n\n/**\n *  \\brief  A variable that lets you enable joystick (and gamecontroller) events even when your app is in the background.\n *\n *  The variable can be set to the following values:\n *    \"0\"       - Disable joystick & gamecontroller input events when the\n *                application is in the background.\n *    \"1\"       - Enable joystick & gamecontroller input events when the\n *                application is in the background.\n *\n *  The default value is \"0\".  This hint may be set at any time.\n */\n#define SDL_HINT_JOYSTICK_ALLOW_BACKGROUND_EVENTS \"SDL_JOYSTICK_ALLOW_BACKGROUND_EVENTS\"\n\n\n/**\n *  \\brief If set to \"0\" then never set the top most bit on a SDL Window, even if the video mode expects it.\n *      This is a debugging aid for developers and not expected to be used by end users. The default is \"1\"\n *\n *  This variable can be set to the following values:\n *    \"0\"       - don't allow topmost\n *    \"1\"       - allow topmost\n */\n#define SDL_HINT_ALLOW_TOPMOST \"SDL_ALLOW_TOPMOST\"\n\n\n/**\n *  \\brief A variable that controls the timer resolution, in milliseconds.\n *\n *  The higher resolution the timer, the more frequently the CPU services\n *  timer interrupts, and the more precise delays are, but this takes up\n *  power and CPU time.  This hint is only used on Windows 7 and earlier.\n *\n *  See this blog post for more information:\n *  http://randomascii.wordpress.com/2013/07/08/windows-timer-resolution-megawatts-wasted/\n *\n *  If this variable is set to \"0\", the system timer resolution is not set.\n *\n *  The default value is \"1\". This hint may be set at any time.\n */\n#define SDL_HINT_TIMER_RESOLUTION \"SDL_TIMER_RESOLUTION\"\n\n\n\n/**\n*  \\brief  A string specifying SDL's threads stack size in bytes or \"0\" for the backend's default size\n*\n*  Use this hint in case you need to set SDL's threads stack size to other than the default.\n*  This is specially useful if you build SDL against a non glibc libc library (such as musl) which\n*  provides a relatively small default thread stack size (a few kilobytes versus the default 8MB glibc uses).\n*  Support for this hint is currently available only in the pthread backend.\n*/\n#define SDL_HINT_THREAD_STACK_SIZE              \"SDL_THREAD_STACK_SIZE\"\n\n/**\n *  \\brief If set to 1, then do not allow high-DPI windows. (\"Retina\" on Mac and iOS)\n */\n#define SDL_HINT_VIDEO_HIGHDPI_DISABLED \"SDL_VIDEO_HIGHDPI_DISABLED\"\n\n/**\n *  \\brief A variable that determines whether ctrl+click should generate a right-click event on Mac\n *\n *  If present, holding ctrl while left clicking will generate a right click\n *  event when on Mac.\n */\n#define SDL_HINT_MAC_CTRL_CLICK_EMULATE_RIGHT_CLICK \"SDL_MAC_CTRL_CLICK_EMULATE_RIGHT_CLICK\"\n\n/**\n*  \\brief  A variable specifying which shader compiler to preload when using the Chrome ANGLE binaries\n*\n*  SDL has EGL and OpenGL ES2 support on Windows via the ANGLE project. It\n*  can use two different sets of binaries, those compiled by the user from source\n*  or those provided by the Chrome browser. In the later case, these binaries require\n*  that SDL loads a DLL providing the shader compiler.\n*\n*  This variable can be set to the following values:\n*    \"d3dcompiler_46.dll\" - default, best for Vista or later.\n*    \"d3dcompiler_43.dll\" - for XP support.\n*    \"none\" - do not load any library, useful if you compiled ANGLE from source and included the compiler in your binaries.\n*\n*/\n#define SDL_HINT_VIDEO_WIN_D3DCOMPILER              \"SDL_VIDEO_WIN_D3DCOMPILER\"\n\n/**\n*  \\brief  A variable that is the address of another SDL_Window* (as a hex string formatted with \"%p\").\n*  \n*  If this hint is set before SDL_CreateWindowFrom() and the SDL_Window* it is set to has\n*  SDL_WINDOW_OPENGL set (and running on WGL only, currently), then two things will occur on the newly \n*  created SDL_Window:\n*\n*  1. Its pixel format will be set to the same pixel format as this SDL_Window.  This is\n*  needed for example when sharing an OpenGL context across multiple windows.\n*\n*  2. The flag SDL_WINDOW_OPENGL will be set on the new window so it can be used for\n*  OpenGL rendering.\n*\n*  This variable can be set to the following values:\n*    The address (as a string \"%p\") of the SDL_Window* that new windows created with SDL_CreateWindowFrom() should\n*    share a pixel format with.\n*/\n#define SDL_HINT_VIDEO_WINDOW_SHARE_PIXEL_FORMAT    \"SDL_VIDEO_WINDOW_SHARE_PIXEL_FORMAT\"\n\n/**\n *  \\brief A URL to a WinRT app's privacy policy\n *\n *  All network-enabled WinRT apps must make a privacy policy available to its\n *  users.  On Windows 8, 8.1, and RT, Microsoft mandates that this policy be\n *  be available in the Windows Settings charm, as accessed from within the app.\n *  SDL provides code to add a URL-based link there, which can point to the app's\n *  privacy policy.\n *\n *  To setup a URL to an app's privacy policy, set SDL_HINT_WINRT_PRIVACY_POLICY_URL\n *  before calling any SDL_Init functions.  The contents of the hint should\n *  be a valid URL.  For example, \"http://www.example.com\".\n *\n *  The default value is \"\", which will prevent SDL from adding a privacy policy\n *  link to the Settings charm.  This hint should only be set during app init.\n *\n *  The label text of an app's \"Privacy Policy\" link may be customized via another\n *  hint, SDL_HINT_WINRT_PRIVACY_POLICY_LABEL.\n *\n *  Please note that on Windows Phone, Microsoft does not provide standard UI\n *  for displaying a privacy policy link, and as such, SDL_HINT_WINRT_PRIVACY_POLICY_URL\n *  will not get used on that platform.  Network-enabled phone apps should display\n *  their privacy policy through some other, in-app means.\n */\n#define SDL_HINT_WINRT_PRIVACY_POLICY_URL \"SDL_WINRT_PRIVACY_POLICY_URL\"\n\n/** \\brief Label text for a WinRT app's privacy policy link\n *\n *  Network-enabled WinRT apps must include a privacy policy.  On Windows 8, 8.1, and RT,\n *  Microsoft mandates that this policy be available via the Windows Settings charm.\n *  SDL provides code to add a link there, with its label text being set via the\n *  optional hint, SDL_HINT_WINRT_PRIVACY_POLICY_LABEL.\n *\n *  Please note that a privacy policy's contents are not set via this hint.  A separate\n *  hint, SDL_HINT_WINRT_PRIVACY_POLICY_URL, is used to link to the actual text of the\n *  policy.\n *\n *  The contents of this hint should be encoded as a UTF8 string.\n *\n *  The default value is \"Privacy Policy\".  This hint should only be set during app\n *  initialization, preferably before any calls to SDL_Init.\n *\n *  For additional information on linking to a privacy policy, see the documentation for\n *  SDL_HINT_WINRT_PRIVACY_POLICY_URL.\n */\n#define SDL_HINT_WINRT_PRIVACY_POLICY_LABEL \"SDL_WINRT_PRIVACY_POLICY_LABEL\"\n\n/** \\brief Allows back-button-press events on Windows Phone to be marked as handled\n *\n *  Windows Phone devices typically feature a Back button.  When pressed,\n *  the OS will emit back-button-press events, which apps are expected to\n *  handle in an appropriate manner.  If apps do not explicitly mark these\n *  events as 'Handled', then the OS will invoke its default behavior for\n *  unhandled back-button-press events, which on Windows Phone 8 and 8.1 is to\n *  terminate the app (and attempt to switch to the previous app, or to the\n *  device's home screen).\n *\n *  Setting the SDL_HINT_WINRT_HANDLE_BACK_BUTTON hint to \"1\" will cause SDL\n *  to mark back-button-press events as Handled, if and when one is sent to\n *  the app.\n *\n *  Internally, Windows Phone sends back button events as parameters to\n *  special back-button-press callback functions.  Apps that need to respond\n *  to back-button-press events are expected to register one or more\n *  callback functions for such, shortly after being launched (during the\n *  app's initialization phase).  After the back button is pressed, the OS\n *  will invoke these callbacks.  If the app's callback(s) do not explicitly\n *  mark the event as handled by the time they return, or if the app never\n *  registers one of these callback, the OS will consider the event\n *  un-handled, and it will apply its default back button behavior (terminate\n *  the app).\n *\n *  SDL registers its own back-button-press callback with the Windows Phone\n *  OS.  This callback will emit a pair of SDL key-press events (SDL_KEYDOWN\n *  and SDL_KEYUP), each with a scancode of SDL_SCANCODE_AC_BACK, after which\n *  it will check the contents of the hint, SDL_HINT_WINRT_HANDLE_BACK_BUTTON.\n *  If the hint's value is set to \"1\", the back button event's Handled\n *  property will get set to 'true'.  If the hint's value is set to something\n *  else, or if it is unset, SDL will leave the event's Handled property\n *  alone.  (By default, the OS sets this property to 'false', to note.)\n *\n *  SDL apps can either set SDL_HINT_WINRT_HANDLE_BACK_BUTTON well before a\n *  back button is pressed, or can set it in direct-response to a back button\n *  being pressed.\n *\n *  In order to get notified when a back button is pressed, SDL apps should\n *  register a callback function with SDL_AddEventWatch(), and have it listen\n *  for SDL_KEYDOWN events that have a scancode of SDL_SCANCODE_AC_BACK.\n *  (Alternatively, SDL_KEYUP events can be listened-for.  Listening for\n *  either event type is suitable.)  Any value of SDL_HINT_WINRT_HANDLE_BACK_BUTTON\n *  set by such a callback, will be applied to the OS' current\n *  back-button-press event.\n *\n *  More details on back button behavior in Windows Phone apps can be found\n *  at the following page, on Microsoft's developer site:\n *  http://msdn.microsoft.com/en-us/library/windowsphone/develop/jj247550(v=vs.105).aspx\n */\n#define SDL_HINT_WINRT_HANDLE_BACK_BUTTON \"SDL_WINRT_HANDLE_BACK_BUTTON\"\n\n/**\n *  \\brief  A variable that dictates policy for fullscreen Spaces on Mac OS X.\n *\n *  This hint only applies to Mac OS X.\n *\n *  The variable can be set to the following values:\n *    \"0\"       - Disable Spaces support (FULLSCREEN_DESKTOP won't use them and\n *                SDL_WINDOW_RESIZABLE windows won't offer the \"fullscreen\"\n *                button on their titlebars).\n *    \"1\"       - Enable Spaces support (FULLSCREEN_DESKTOP will use them and\n *                SDL_WINDOW_RESIZABLE windows will offer the \"fullscreen\"\n *                button on their titlebars).\n *\n *  The default value is \"1\". Spaces are disabled regardless of this hint if\n *   the OS isn't at least Mac OS X Lion (10.7). This hint must be set before\n *   any windows are created.\n */\n#define SDL_HINT_VIDEO_MAC_FULLSCREEN_SPACES    \"SDL_VIDEO_MAC_FULLSCREEN_SPACES\"\n\n/**\n*  \\brief  When set don't force the SDL app to become a foreground process\n*\n*  This hint only applies to Mac OS X.\n*\n*/\n#define SDL_HINT_MAC_BACKGROUND_APP    \"SDL_MAC_BACKGROUND_APP\"\n\n/**\n * \\brief Android APK expansion main file version. Should be a string number like \"1\", \"2\" etc.\n *\n * Must be set together with SDL_HINT_ANDROID_APK_EXPANSION_PATCH_FILE_VERSION.\n *\n * If both hints were set then SDL_RWFromFile() will look into expansion files\n * after a given relative path was not found in the internal storage and assets.\n *\n * By default this hint is not set and the APK expansion files are not searched.\n */\n#define SDL_HINT_ANDROID_APK_EXPANSION_MAIN_FILE_VERSION \"SDL_ANDROID_APK_EXPANSION_MAIN_FILE_VERSION\"\n \n/**\n * \\brief Android APK expansion patch file version. Should be a string number like \"1\", \"2\" etc.\n *\n * Must be set together with SDL_HINT_ANDROID_APK_EXPANSION_MAIN_FILE_VERSION.\n *\n * If both hints were set then SDL_RWFromFile() will look into expansion files\n * after a given relative path was not found in the internal storage and assets.\n *\n * By default this hint is not set and the APK expansion files are not searched.\n */\n#define SDL_HINT_ANDROID_APK_EXPANSION_PATCH_FILE_VERSION \"SDL_ANDROID_APK_EXPANSION_PATCH_FILE_VERSION\"\n\n/**\n * \\brief A variable to control whether certain IMEs should handle text editing internally instead of sending SDL_TEXTEDITING events.\n *\n * The variable can be set to the following values:\n *   \"0\"       - SDL_TEXTEDITING events are sent, and it is the application's\n *               responsibility to render the text from these events and \n *               differentiate it somehow from committed text. (default)\n *   \"1\"       - If supported by the IME then SDL_TEXTEDITING events are not sent, \n *               and text that is being composed will be rendered in its own UI.\n */\n#define SDL_HINT_IME_INTERNAL_EDITING \"SDL_IME_INTERNAL_EDITING\"\n\n /**\n * \\brief A variable to control whether mouse and touch events are to be treated together or separately\n *\n * The variable can be set to the following values:\n *   \"0\"       - Mouse events will be handled as touch events, and touch will raise fake mouse\n *               events. This is the behaviour of SDL <= 2.0.3. (default)\n *   \"1\"       - Mouse events will be handled separately from pure touch events.\n *\n * The value of this hint is used at runtime, so it can be changed at any time.\n */\n#define SDL_HINT_ANDROID_SEPARATE_MOUSE_AND_TOUCH \"SDL_ANDROID_SEPARATE_MOUSE_AND_TOUCH\"\n\n/**\n *  \\brief override the binding element for keyboard inputs for Emscripten builds\n *\n * This hint only applies to the emscripten platform\n *\n * The variable can be one of\n *    \"#window\"      - The javascript window object (this is the default)\n *    \"#document\"    - The javascript document object\n *    \"#screen\"      - the javascript window.screen object\n *    \"#canvas\"      - the WebGL canvas element\n *    any other string without a leading # sign applies to the element on the page with that ID.\n */\n#define SDL_HINT_EMSCRIPTEN_KEYBOARD_ELEMENT   \"SDL_EMSCRIPTEN_KEYBOARD_ELEMENT\"\n\n/**\n *  \\brief Tell SDL not to catch the SIGINT or SIGTERM signals.\n *\n * This hint only applies to Unix-like platforms.\n *\n * The variable can be set to the following values:\n *   \"0\"       - SDL will install a SIGINT and SIGTERM handler, and when it\n *               catches a signal, convert it into an SDL_QUIT event.\n *   \"1\"       - SDL will not install a signal handler at all.\n */\n#define SDL_HINT_NO_SIGNAL_HANDLERS   \"SDL_NO_SIGNAL_HANDLERS\"\n\n/**\n *  \\brief Tell SDL not to generate window-close events for Alt+F4 on Windows.\n *\n * The variable can be set to the following values:\n *   \"0\"       - SDL will generate a window-close event when it sees Alt+F4.\n *   \"1\"       - SDL will only do normal key handling for Alt+F4.\n */\n#define SDL_HINT_WINDOWS_NO_CLOSE_ON_ALT_F4\t\"SDL_WINDOWS_NO_CLOSE_ON_ALT_F4\"\n\n/**\n *  \\brief  An enumeration of hint priorities\n */\ntypedef enum\n{\n    SDL_HINT_DEFAULT,\n    SDL_HINT_NORMAL,\n    SDL_HINT_OVERRIDE\n} SDL_HintPriority;\n\n\n/**\n *  \\brief Set a hint with a specific priority\n *\n *  The priority controls the behavior when setting a hint that already\n *  has a value.  Hints will replace existing hints of their priority and\n *  lower.  Environment variables are considered to have override priority.\n *\n *  \\return SDL_TRUE if the hint was set, SDL_FALSE otherwise\n */\nextern DECLSPEC SDL_bool SDLCALL SDL_SetHintWithPriority(const char *name,\n                                                         const char *value,\n                                                         SDL_HintPriority priority);\n\n/**\n *  \\brief Set a hint with normal priority\n *\n *  \\return SDL_TRUE if the hint was set, SDL_FALSE otherwise\n */\nextern DECLSPEC SDL_bool SDLCALL SDL_SetHint(const char *name,\n                                             const char *value);\n\n/**\n *  \\brief Get a hint\n *\n *  \\return The string value of a hint variable.\n */\nextern DECLSPEC const char * SDLCALL SDL_GetHint(const char *name);\n\n/**\n *  \\brief Add a function to watch a particular hint\n *\n *  \\param name The hint to watch\n *  \\param callback The function to call when the hint value changes\n *  \\param userdata A pointer to pass to the callback function\n */\ntypedef void (*SDL_HintCallback)(void *userdata, const char *name, const char *oldValue, const char *newValue);\nextern DECLSPEC void SDLCALL SDL_AddHintCallback(const char *name,\n                                                 SDL_HintCallback callback,\n                                                 void *userdata);\n\n/**\n *  \\brief Remove a function watching a particular hint\n *\n *  \\param name The hint being watched\n *  \\param callback The function being called when the hint value changes\n *  \\param userdata A pointer being passed to the callback function\n */\nextern DECLSPEC void SDLCALL SDL_DelHintCallback(const char *name,\n                                                 SDL_HintCallback callback,\n                                                 void *userdata);\n\n/**\n *  \\brief  Clear all hints\n *\n *  This function is called during SDL_Quit() to free stored hints.\n */\nextern DECLSPEC void SDLCALL SDL_ClearHints(void);\n\n\n/* Ends C function definitions when using C++ */\n#ifdef __cplusplus\n}\n#endif\n#include \"close_code.h\"\n\n#endif /* _SDL_hints_h */\n\n/* vi: set ts=4 sw=4 expandtab: */\n"
  },
  {
    "path": "external/SDL2-2.0.4/include/SDL_joystick.h",
    "content": "/*\n  Simple DirectMedia Layer\n  Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>\n\n  This software is provided 'as-is', without any express or implied\n  warranty.  In no event will the authors be held liable for any damages\n  arising from the use of this software.\n\n  Permission is granted to anyone to use this software for any purpose,\n  including commercial applications, and to alter it and redistribute it\n  freely, subject to the following restrictions:\n\n  1. The origin of this software must not be misrepresented; you must not\n     claim that you wrote the original software. If you use this software\n     in a product, an acknowledgment in the product documentation would be\n     appreciated but is not required.\n  2. Altered source versions must be plainly marked as such, and must not be\n     misrepresented as being the original software.\n  3. This notice may not be removed or altered from any source distribution.\n*/\n\n/**\n *  \\file SDL_joystick.h\n *\n *  Include file for SDL joystick event handling\n *\n * The term \"device_index\" identifies currently plugged in joystick devices between 0 and SDL_NumJoysticks, with the exact joystick\n *   behind a device_index changing as joysticks are plugged and unplugged.\n *\n * The term \"instance_id\" is the current instantiation of a joystick device in the system, if the joystick is removed and then re-inserted\n *   then it will get a new instance_id, instance_id's are monotonically increasing identifiers of a joystick plugged in.\n *\n * The term JoystickGUID is a stable 128-bit identifier for a joystick device that does not change over time, it identifies class of\n *   the device (a X360 wired controller for example). This identifier is platform dependent.\n *\n *\n */\n\n#ifndef _SDL_joystick_h\n#define _SDL_joystick_h\n\n#include \"SDL_stdinc.h\"\n#include \"SDL_error.h\"\n\n#include \"begin_code.h\"\n/* Set up for C function definitions, even when using C++ */\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n/**\n *  \\file SDL_joystick.h\n *\n *  In order to use these functions, SDL_Init() must have been called\n *  with the ::SDL_INIT_JOYSTICK flag.  This causes SDL to scan the system\n *  for joysticks, and load appropriate drivers.\n *\n *  If you would like to receive joystick updates while the application\n *  is in the background, you should set the following hint before calling\n *  SDL_Init(): SDL_HINT_JOYSTICK_ALLOW_BACKGROUND_EVENTS\n */\n\n/* The joystick structure used to identify an SDL joystick */\nstruct _SDL_Joystick;\ntypedef struct _SDL_Joystick SDL_Joystick;\n\n/* A structure that encodes the stable unique id for a joystick device */\ntypedef struct {\n    Uint8 data[16];\n} SDL_JoystickGUID;\n\ntypedef Sint32 SDL_JoystickID;\n\ntypedef enum\n{\n    SDL_JOYSTICK_POWER_UNKNOWN = -1,\n    SDL_JOYSTICK_POWER_EMPTY,\n    SDL_JOYSTICK_POWER_LOW,\n    SDL_JOYSTICK_POWER_MEDIUM,\n    SDL_JOYSTICK_POWER_FULL,\n    SDL_JOYSTICK_POWER_WIRED,\n    SDL_JOYSTICK_POWER_MAX\n} SDL_JoystickPowerLevel;\n\n/* Function prototypes */\n/**\n *  Count the number of joysticks attached to the system right now\n */\nextern DECLSPEC int SDLCALL SDL_NumJoysticks(void);\n\n/**\n *  Get the implementation dependent name of a joystick.\n *  This can be called before any joysticks are opened.\n *  If no name can be found, this function returns NULL.\n */\nextern DECLSPEC const char *SDLCALL SDL_JoystickNameForIndex(int device_index);\n\n/**\n *  Open a joystick for use.\n *  The index passed as an argument refers to the N'th joystick on the system.\n *  This index is not the value which will identify this joystick in future\n *  joystick events.  The joystick's instance id (::SDL_JoystickID) will be used\n *  there instead.\n *\n *  \\return A joystick identifier, or NULL if an error occurred.\n */\nextern DECLSPEC SDL_Joystick *SDLCALL SDL_JoystickOpen(int device_index);\n\n/**\n * Return the SDL_Joystick associated with an instance id.\n */\nextern DECLSPEC SDL_Joystick *SDLCALL SDL_JoystickFromInstanceID(SDL_JoystickID joyid);\n\n/**\n *  Return the name for this currently opened joystick.\n *  If no name can be found, this function returns NULL.\n */\nextern DECLSPEC const char *SDLCALL SDL_JoystickName(SDL_Joystick * joystick);\n\n/**\n *  Return the GUID for the joystick at this index\n */\nextern DECLSPEC SDL_JoystickGUID SDLCALL SDL_JoystickGetDeviceGUID(int device_index);\n\n/**\n *  Return the GUID for this opened joystick\n */\nextern DECLSPEC SDL_JoystickGUID SDLCALL SDL_JoystickGetGUID(SDL_Joystick * joystick);\n\n/**\n *  Return a string representation for this guid. pszGUID must point to at least 33 bytes\n *  (32 for the string plus a NULL terminator).\n */\nextern DECLSPEC void SDLCALL SDL_JoystickGetGUIDString(SDL_JoystickGUID guid, char *pszGUID, int cbGUID);\n\n/**\n *  convert a string into a joystick formatted guid\n */\nextern DECLSPEC SDL_JoystickGUID SDLCALL SDL_JoystickGetGUIDFromString(const char *pchGUID);\n\n/**\n *  Returns SDL_TRUE if the joystick has been opened and currently connected, or SDL_FALSE if it has not.\n */\nextern DECLSPEC SDL_bool SDLCALL SDL_JoystickGetAttached(SDL_Joystick * joystick);\n\n/**\n *  Get the instance ID of an opened joystick or -1 if the joystick is invalid.\n */\nextern DECLSPEC SDL_JoystickID SDLCALL SDL_JoystickInstanceID(SDL_Joystick * joystick);\n\n/**\n *  Get the number of general axis controls on a joystick.\n */\nextern DECLSPEC int SDLCALL SDL_JoystickNumAxes(SDL_Joystick * joystick);\n\n/**\n *  Get the number of trackballs on a joystick.\n *\n *  Joystick trackballs have only relative motion events associated\n *  with them and their state cannot be polled.\n */\nextern DECLSPEC int SDLCALL SDL_JoystickNumBalls(SDL_Joystick * joystick);\n\n/**\n *  Get the number of POV hats on a joystick.\n */\nextern DECLSPEC int SDLCALL SDL_JoystickNumHats(SDL_Joystick * joystick);\n\n/**\n *  Get the number of buttons on a joystick.\n */\nextern DECLSPEC int SDLCALL SDL_JoystickNumButtons(SDL_Joystick * joystick);\n\n/**\n *  Update the current state of the open joysticks.\n *\n *  This is called automatically by the event loop if any joystick\n *  events are enabled.\n */\nextern DECLSPEC void SDLCALL SDL_JoystickUpdate(void);\n\n/**\n *  Enable/disable joystick event polling.\n *\n *  If joystick events are disabled, you must call SDL_JoystickUpdate()\n *  yourself and check the state of the joystick when you want joystick\n *  information.\n *\n *  The state can be one of ::SDL_QUERY, ::SDL_ENABLE or ::SDL_IGNORE.\n */\nextern DECLSPEC int SDLCALL SDL_JoystickEventState(int state);\n\n/**\n *  Get the current state of an axis control on a joystick.\n *\n *  The state is a value ranging from -32768 to 32767.\n *\n *  The axis indices start at index 0.\n */\nextern DECLSPEC Sint16 SDLCALL SDL_JoystickGetAxis(SDL_Joystick * joystick,\n                                                   int axis);\n\n/**\n *  \\name Hat positions\n */\n/* @{ */\n#define SDL_HAT_CENTERED    0x00\n#define SDL_HAT_UP          0x01\n#define SDL_HAT_RIGHT       0x02\n#define SDL_HAT_DOWN        0x04\n#define SDL_HAT_LEFT        0x08\n#define SDL_HAT_RIGHTUP     (SDL_HAT_RIGHT|SDL_HAT_UP)\n#define SDL_HAT_RIGHTDOWN   (SDL_HAT_RIGHT|SDL_HAT_DOWN)\n#define SDL_HAT_LEFTUP      (SDL_HAT_LEFT|SDL_HAT_UP)\n#define SDL_HAT_LEFTDOWN    (SDL_HAT_LEFT|SDL_HAT_DOWN)\n/* @} */\n\n/**\n *  Get the current state of a POV hat on a joystick.\n *\n *  The hat indices start at index 0.\n *\n *  \\return The return value is one of the following positions:\n *           - ::SDL_HAT_CENTERED\n *           - ::SDL_HAT_UP\n *           - ::SDL_HAT_RIGHT\n *           - ::SDL_HAT_DOWN\n *           - ::SDL_HAT_LEFT\n *           - ::SDL_HAT_RIGHTUP\n *           - ::SDL_HAT_RIGHTDOWN\n *           - ::SDL_HAT_LEFTUP\n *           - ::SDL_HAT_LEFTDOWN\n */\nextern DECLSPEC Uint8 SDLCALL SDL_JoystickGetHat(SDL_Joystick * joystick,\n                                                 int hat);\n\n/**\n *  Get the ball axis change since the last poll.\n *\n *  \\return 0, or -1 if you passed it invalid parameters.\n *\n *  The ball indices start at index 0.\n */\nextern DECLSPEC int SDLCALL SDL_JoystickGetBall(SDL_Joystick * joystick,\n                                                int ball, int *dx, int *dy);\n\n/**\n *  Get the current state of a button on a joystick.\n *\n *  The button indices start at index 0.\n */\nextern DECLSPEC Uint8 SDLCALL SDL_JoystickGetButton(SDL_Joystick * joystick,\n                                                    int button);\n\n/**\n *  Close a joystick previously opened with SDL_JoystickOpen().\n */\nextern DECLSPEC void SDLCALL SDL_JoystickClose(SDL_Joystick * joystick);\n\n/**\n *  Return the battery level of this joystick\n */\nextern DECLSPEC SDL_JoystickPowerLevel SDLCALL SDL_JoystickCurrentPowerLevel(SDL_Joystick * joystick);\n\n/* Ends C function definitions when using C++ */\n#ifdef __cplusplus\n}\n#endif\n#include \"close_code.h\"\n\n#endif /* _SDL_joystick_h */\n\n/* vi: set ts=4 sw=4 expandtab: */\n"
  },
  {
    "path": "external/SDL2-2.0.4/include/SDL_keyboard.h",
    "content": "/*\n  Simple DirectMedia Layer\n  Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>\n\n  This software is provided 'as-is', without any express or implied\n  warranty.  In no event will the authors be held liable for any damages\n  arising from the use of this software.\n\n  Permission is granted to anyone to use this software for any purpose,\n  including commercial applications, and to alter it and redistribute it\n  freely, subject to the following restrictions:\n\n  1. The origin of this software must not be misrepresented; you must not\n     claim that you wrote the original software. If you use this software\n     in a product, an acknowledgment in the product documentation would be\n     appreciated but is not required.\n  2. Altered source versions must be plainly marked as such, and must not be\n     misrepresented as being the original software.\n  3. This notice may not be removed or altered from any source distribution.\n*/\n\n/**\n *  \\file SDL_keyboard.h\n *\n *  Include file for SDL keyboard event handling\n */\n\n#ifndef _SDL_keyboard_h\n#define _SDL_keyboard_h\n\n#include \"SDL_stdinc.h\"\n#include \"SDL_error.h\"\n#include \"SDL_keycode.h\"\n#include \"SDL_video.h\"\n\n#include \"begin_code.h\"\n/* Set up for C function definitions, even when using C++ */\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n/**\n *  \\brief The SDL keysym structure, used in key events.\n *\n *  \\note  If you are looking for translated character input, see the ::SDL_TEXTINPUT event.\n */\ntypedef struct SDL_Keysym\n{\n    SDL_Scancode scancode;      /**< SDL physical key code - see ::SDL_Scancode for details */\n    SDL_Keycode sym;            /**< SDL virtual key code - see ::SDL_Keycode for details */\n    Uint16 mod;                 /**< current key modifiers */\n    Uint32 unused;\n} SDL_Keysym;\n\n/* Function prototypes */\n\n/**\n *  \\brief Get the window which currently has keyboard focus.\n */\nextern DECLSPEC SDL_Window * SDLCALL SDL_GetKeyboardFocus(void);\n\n/**\n *  \\brief Get a snapshot of the current state of the keyboard.\n *\n *  \\param numkeys if non-NULL, receives the length of the returned array.\n *\n *  \\return An array of key states. Indexes into this array are obtained by using ::SDL_Scancode values.\n *\n *  \\b Example:\n *  \\code\n *  const Uint8 *state = SDL_GetKeyboardState(NULL);\n *  if ( state[SDL_SCANCODE_RETURN] )   {\n *      printf(\"<RETURN> is pressed.\\n\");\n *  }\n *  \\endcode\n */\nextern DECLSPEC const Uint8 *SDLCALL SDL_GetKeyboardState(int *numkeys);\n\n/**\n *  \\brief Get the current key modifier state for the keyboard.\n */\nextern DECLSPEC SDL_Keymod SDLCALL SDL_GetModState(void);\n\n/**\n *  \\brief Set the current key modifier state for the keyboard.\n *\n *  \\note This does not change the keyboard state, only the key modifier flags.\n */\nextern DECLSPEC void SDLCALL SDL_SetModState(SDL_Keymod modstate);\n\n/**\n *  \\brief Get the key code corresponding to the given scancode according\n *         to the current keyboard layout.\n *\n *  See ::SDL_Keycode for details.\n *\n *  \\sa SDL_GetKeyName()\n */\nextern DECLSPEC SDL_Keycode SDLCALL SDL_GetKeyFromScancode(SDL_Scancode scancode);\n\n/**\n *  \\brief Get the scancode corresponding to the given key code according to the\n *         current keyboard layout.\n *\n *  See ::SDL_Scancode for details.\n *\n *  \\sa SDL_GetScancodeName()\n */\nextern DECLSPEC SDL_Scancode SDLCALL SDL_GetScancodeFromKey(SDL_Keycode key);\n\n/**\n *  \\brief Get a human-readable name for a scancode.\n *\n *  \\return A pointer to the name for the scancode.\n *          If the scancode doesn't have a name, this function returns\n *          an empty string (\"\").\n *\n *  \\sa SDL_Scancode\n */\nextern DECLSPEC const char *SDLCALL SDL_GetScancodeName(SDL_Scancode scancode);\n\n/**\n *  \\brief Get a scancode from a human-readable name\n *\n *  \\return scancode, or SDL_SCANCODE_UNKNOWN if the name wasn't recognized\n *\n *  \\sa SDL_Scancode\n */\nextern DECLSPEC SDL_Scancode SDLCALL SDL_GetScancodeFromName(const char *name);\n\n/**\n *  \\brief Get a human-readable name for a key.\n *\n *  \\return A pointer to a UTF-8 string that stays valid at least until the next\n *          call to this function. If you need it around any longer, you must\n *          copy it.  If the key doesn't have a name, this function returns an\n *          empty string (\"\").\n *\n *  \\sa SDL_Key\n */\nextern DECLSPEC const char *SDLCALL SDL_GetKeyName(SDL_Keycode key);\n\n/**\n *  \\brief Get a key code from a human-readable name\n *\n *  \\return key code, or SDLK_UNKNOWN if the name wasn't recognized\n *\n *  \\sa SDL_Keycode\n */\nextern DECLSPEC SDL_Keycode SDLCALL SDL_GetKeyFromName(const char *name);\n\n/**\n *  \\brief Start accepting Unicode text input events.\n *         This function will show the on-screen keyboard if supported.\n *\n *  \\sa SDL_StopTextInput()\n *  \\sa SDL_SetTextInputRect()\n *  \\sa SDL_HasScreenKeyboardSupport()\n */\nextern DECLSPEC void SDLCALL SDL_StartTextInput(void);\n\n/**\n *  \\brief Return whether or not Unicode text input events are enabled.\n *\n *  \\sa SDL_StartTextInput()\n *  \\sa SDL_StopTextInput()\n */\nextern DECLSPEC SDL_bool SDLCALL SDL_IsTextInputActive(void);\n\n/**\n *  \\brief Stop receiving any text input events.\n *         This function will hide the on-screen keyboard if supported.\n *\n *  \\sa SDL_StartTextInput()\n *  \\sa SDL_HasScreenKeyboardSupport()\n */\nextern DECLSPEC void SDLCALL SDL_StopTextInput(void);\n\n/**\n *  \\brief Set the rectangle used to type Unicode text inputs.\n *         This is used as a hint for IME and on-screen keyboard placement.\n *\n *  \\sa SDL_StartTextInput()\n */\nextern DECLSPEC void SDLCALL SDL_SetTextInputRect(SDL_Rect *rect);\n\n/**\n *  \\brief Returns whether the platform has some screen keyboard support.\n *\n *  \\return SDL_TRUE if some keyboard support is available else SDL_FALSE.\n *\n *  \\note Not all screen keyboard functions are supported on all platforms.\n *\n *  \\sa SDL_IsScreenKeyboardShown()\n */\nextern DECLSPEC SDL_bool SDLCALL SDL_HasScreenKeyboardSupport(void);\n\n/**\n *  \\brief Returns whether the screen keyboard is shown for given window.\n *\n *  \\param window The window for which screen keyboard should be queried.\n *\n *  \\return SDL_TRUE if screen keyboard is shown else SDL_FALSE.\n *\n *  \\sa SDL_HasScreenKeyboardSupport()\n */\nextern DECLSPEC SDL_bool SDLCALL SDL_IsScreenKeyboardShown(SDL_Window *window);\n\n/* Ends C function definitions when using C++ */\n#ifdef __cplusplus\n}\n#endif\n#include \"close_code.h\"\n\n#endif /* _SDL_keyboard_h */\n\n/* vi: set ts=4 sw=4 expandtab: */\n"
  },
  {
    "path": "external/SDL2-2.0.4/include/SDL_keycode.h",
    "content": "/*\n  Simple DirectMedia Layer\n  Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>\n\n  This software is provided 'as-is', without any express or implied\n  warranty.  In no event will the authors be held liable for any damages\n  arising from the use of this software.\n\n  Permission is granted to anyone to use this software for any purpose,\n  including commercial applications, and to alter it and redistribute it\n  freely, subject to the following restrictions:\n\n  1. The origin of this software must not be misrepresented; you must not\n     claim that you wrote the original software. If you use this software\n     in a product, an acknowledgment in the product documentation would be\n     appreciated but is not required.\n  2. Altered source versions must be plainly marked as such, and must not be\n     misrepresented as being the original software.\n  3. This notice may not be removed or altered from any source distribution.\n*/\n\n/**\n *  \\file SDL_keycode.h\n *\n *  Defines constants which identify keyboard keys and modifiers.\n */\n\n#ifndef _SDL_keycode_h\n#define _SDL_keycode_h\n\n#include \"SDL_stdinc.h\"\n#include \"SDL_scancode.h\"\n\n/**\n *  \\brief The SDL virtual key representation.\n *\n *  Values of this type are used to represent keyboard keys using the current\n *  layout of the keyboard.  These values include Unicode values representing\n *  the unmodified character that would be generated by pressing the key, or\n *  an SDLK_* constant for those keys that do not generate characters.\n */\ntypedef Sint32 SDL_Keycode;\n\n#define SDLK_SCANCODE_MASK (1<<30)\n#define SDL_SCANCODE_TO_KEYCODE(X)  (X | SDLK_SCANCODE_MASK)\n\nenum\n{\n    SDLK_UNKNOWN = 0,\n\n    SDLK_RETURN = '\\r',\n    SDLK_ESCAPE = '\\033',\n    SDLK_BACKSPACE = '\\b',\n    SDLK_TAB = '\\t',\n    SDLK_SPACE = ' ',\n    SDLK_EXCLAIM = '!',\n    SDLK_QUOTEDBL = '\"',\n    SDLK_HASH = '#',\n    SDLK_PERCENT = '%',\n    SDLK_DOLLAR = '$',\n    SDLK_AMPERSAND = '&',\n    SDLK_QUOTE = '\\'',\n    SDLK_LEFTPAREN = '(',\n    SDLK_RIGHTPAREN = ')',\n    SDLK_ASTERISK = '*',\n    SDLK_PLUS = '+',\n    SDLK_COMMA = ',',\n    SDLK_MINUS = '-',\n    SDLK_PERIOD = '.',\n    SDLK_SLASH = '/',\n    SDLK_0 = '0',\n    SDLK_1 = '1',\n    SDLK_2 = '2',\n    SDLK_3 = '3',\n    SDLK_4 = '4',\n    SDLK_5 = '5',\n    SDLK_6 = '6',\n    SDLK_7 = '7',\n    SDLK_8 = '8',\n    SDLK_9 = '9',\n    SDLK_COLON = ':',\n    SDLK_SEMICOLON = ';',\n    SDLK_LESS = '<',\n    SDLK_EQUALS = '=',\n    SDLK_GREATER = '>',\n    SDLK_QUESTION = '?',\n    SDLK_AT = '@',\n    /*\n       Skip uppercase letters\n     */\n    SDLK_LEFTBRACKET = '[',\n    SDLK_BACKSLASH = '\\\\',\n    SDLK_RIGHTBRACKET = ']',\n    SDLK_CARET = '^',\n    SDLK_UNDERSCORE = '_',\n    SDLK_BACKQUOTE = '`',\n    SDLK_a = 'a',\n    SDLK_b = 'b',\n    SDLK_c = 'c',\n    SDLK_d = 'd',\n    SDLK_e = 'e',\n    SDLK_f = 'f',\n    SDLK_g = 'g',\n    SDLK_h = 'h',\n    SDLK_i = 'i',\n    SDLK_j = 'j',\n    SDLK_k = 'k',\n    SDLK_l = 'l',\n    SDLK_m = 'm',\n    SDLK_n = 'n',\n    SDLK_o = 'o',\n    SDLK_p = 'p',\n    SDLK_q = 'q',\n    SDLK_r = 'r',\n    SDLK_s = 's',\n    SDLK_t = 't',\n    SDLK_u = 'u',\n    SDLK_v = 'v',\n    SDLK_w = 'w',\n    SDLK_x = 'x',\n    SDLK_y = 'y',\n    SDLK_z = 'z',\n\n    SDLK_CAPSLOCK = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_CAPSLOCK),\n\n    SDLK_F1 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F1),\n    SDLK_F2 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F2),\n    SDLK_F3 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F3),\n    SDLK_F4 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F4),\n    SDLK_F5 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F5),\n    SDLK_F6 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F6),\n    SDLK_F7 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F7),\n    SDLK_F8 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F8),\n    SDLK_F9 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F9),\n    SDLK_F10 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F10),\n    SDLK_F11 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F11),\n    SDLK_F12 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F12),\n\n    SDLK_PRINTSCREEN = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_PRINTSCREEN),\n    SDLK_SCROLLLOCK = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_SCROLLLOCK),\n    SDLK_PAUSE = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_PAUSE),\n    SDLK_INSERT = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_INSERT),\n    SDLK_HOME = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_HOME),\n    SDLK_PAGEUP = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_PAGEUP),\n    SDLK_DELETE = '\\177',\n    SDLK_END = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_END),\n    SDLK_PAGEDOWN = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_PAGEDOWN),\n    SDLK_RIGHT = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_RIGHT),\n    SDLK_LEFT = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_LEFT),\n    SDLK_DOWN = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_DOWN),\n    SDLK_UP = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_UP),\n\n    SDLK_NUMLOCKCLEAR = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_NUMLOCKCLEAR),\n    SDLK_KP_DIVIDE = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_DIVIDE),\n    SDLK_KP_MULTIPLY = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_MULTIPLY),\n    SDLK_KP_MINUS = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_MINUS),\n    SDLK_KP_PLUS = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_PLUS),\n    SDLK_KP_ENTER = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_ENTER),\n    SDLK_KP_1 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_1),\n    SDLK_KP_2 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_2),\n    SDLK_KP_3 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_3),\n    SDLK_KP_4 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_4),\n    SDLK_KP_5 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_5),\n    SDLK_KP_6 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_6),\n    SDLK_KP_7 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_7),\n    SDLK_KP_8 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_8),\n    SDLK_KP_9 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_9),\n    SDLK_KP_0 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_0),\n    SDLK_KP_PERIOD = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_PERIOD),\n\n    SDLK_APPLICATION = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_APPLICATION),\n    SDLK_POWER = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_POWER),\n    SDLK_KP_EQUALS = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_EQUALS),\n    SDLK_F13 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F13),\n    SDLK_F14 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F14),\n    SDLK_F15 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F15),\n    SDLK_F16 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F16),\n    SDLK_F17 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F17),\n    SDLK_F18 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F18),\n    SDLK_F19 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F19),\n    SDLK_F20 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F20),\n    SDLK_F21 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F21),\n    SDLK_F22 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F22),\n    SDLK_F23 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F23),\n    SDLK_F24 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F24),\n    SDLK_EXECUTE = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_EXECUTE),\n    SDLK_HELP = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_HELP),\n    SDLK_MENU = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_MENU),\n    SDLK_SELECT = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_SELECT),\n    SDLK_STOP = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_STOP),\n    SDLK_AGAIN = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_AGAIN),\n    SDLK_UNDO = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_UNDO),\n    SDLK_CUT = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_CUT),\n    SDLK_COPY = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_COPY),\n    SDLK_PASTE = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_PASTE),\n    SDLK_FIND = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_FIND),\n    SDLK_MUTE = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_MUTE),\n    SDLK_VOLUMEUP = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_VOLUMEUP),\n    SDLK_VOLUMEDOWN = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_VOLUMEDOWN),\n    SDLK_KP_COMMA = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_COMMA),\n    SDLK_KP_EQUALSAS400 =\n        SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_EQUALSAS400),\n\n    SDLK_ALTERASE = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_ALTERASE),\n    SDLK_SYSREQ = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_SYSREQ),\n    SDLK_CANCEL = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_CANCEL),\n    SDLK_CLEAR = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_CLEAR),\n    SDLK_PRIOR = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_PRIOR),\n    SDLK_RETURN2 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_RETURN2),\n    SDLK_SEPARATOR = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_SEPARATOR),\n    SDLK_OUT = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_OUT),\n    SDLK_OPER = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_OPER),\n    SDLK_CLEARAGAIN = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_CLEARAGAIN),\n    SDLK_CRSEL = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_CRSEL),\n    SDLK_EXSEL = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_EXSEL),\n\n    SDLK_KP_00 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_00),\n    SDLK_KP_000 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_000),\n    SDLK_THOUSANDSSEPARATOR =\n        SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_THOUSANDSSEPARATOR),\n    SDLK_DECIMALSEPARATOR =\n        SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_DECIMALSEPARATOR),\n    SDLK_CURRENCYUNIT = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_CURRENCYUNIT),\n    SDLK_CURRENCYSUBUNIT =\n        SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_CURRENCYSUBUNIT),\n    SDLK_KP_LEFTPAREN = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_LEFTPAREN),\n    SDLK_KP_RIGHTPAREN = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_RIGHTPAREN),\n    SDLK_KP_LEFTBRACE = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_LEFTBRACE),\n    SDLK_KP_RIGHTBRACE = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_RIGHTBRACE),\n    SDLK_KP_TAB = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_TAB),\n    SDLK_KP_BACKSPACE = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_BACKSPACE),\n    SDLK_KP_A = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_A),\n    SDLK_KP_B = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_B),\n    SDLK_KP_C = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_C),\n    SDLK_KP_D = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_D),\n    SDLK_KP_E = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_E),\n    SDLK_KP_F = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_F),\n    SDLK_KP_XOR = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_XOR),\n    SDLK_KP_POWER = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_POWER),\n    SDLK_KP_PERCENT = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_PERCENT),\n    SDLK_KP_LESS = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_LESS),\n    SDLK_KP_GREATER = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_GREATER),\n    SDLK_KP_AMPERSAND = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_AMPERSAND),\n    SDLK_KP_DBLAMPERSAND =\n        SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_DBLAMPERSAND),\n    SDLK_KP_VERTICALBAR =\n        SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_VERTICALBAR),\n    SDLK_KP_DBLVERTICALBAR =\n        SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_DBLVERTICALBAR),\n    SDLK_KP_COLON = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_COLON),\n    SDLK_KP_HASH = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_HASH),\n    SDLK_KP_SPACE = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_SPACE),\n    SDLK_KP_AT = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_AT),\n    SDLK_KP_EXCLAM = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_EXCLAM),\n    SDLK_KP_MEMSTORE = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_MEMSTORE),\n    SDLK_KP_MEMRECALL = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_MEMRECALL),\n    SDLK_KP_MEMCLEAR = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_MEMCLEAR),\n    SDLK_KP_MEMADD = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_MEMADD),\n    SDLK_KP_MEMSUBTRACT =\n        SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_MEMSUBTRACT),\n    SDLK_KP_MEMMULTIPLY =\n        SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_MEMMULTIPLY),\n    SDLK_KP_MEMDIVIDE = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_MEMDIVIDE),\n    SDLK_KP_PLUSMINUS = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_PLUSMINUS),\n    SDLK_KP_CLEAR = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_CLEAR),\n    SDLK_KP_CLEARENTRY = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_CLEARENTRY),\n    SDLK_KP_BINARY = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_BINARY),\n    SDLK_KP_OCTAL = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_OCTAL),\n    SDLK_KP_DECIMAL = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_DECIMAL),\n    SDLK_KP_HEXADECIMAL =\n        SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_HEXADECIMAL),\n\n    SDLK_LCTRL = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_LCTRL),\n    SDLK_LSHIFT = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_LSHIFT),\n    SDLK_LALT = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_LALT),\n    SDLK_LGUI = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_LGUI),\n    SDLK_RCTRL = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_RCTRL),\n    SDLK_RSHIFT = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_RSHIFT),\n    SDLK_RALT = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_RALT),\n    SDLK_RGUI = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_RGUI),\n\n    SDLK_MODE = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_MODE),\n\n    SDLK_AUDIONEXT = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_AUDIONEXT),\n    SDLK_AUDIOPREV = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_AUDIOPREV),\n    SDLK_AUDIOSTOP = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_AUDIOSTOP),\n    SDLK_AUDIOPLAY = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_AUDIOPLAY),\n    SDLK_AUDIOMUTE = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_AUDIOMUTE),\n    SDLK_MEDIASELECT = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_MEDIASELECT),\n    SDLK_WWW = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_WWW),\n    SDLK_MAIL = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_MAIL),\n    SDLK_CALCULATOR = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_CALCULATOR),\n    SDLK_COMPUTER = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_COMPUTER),\n    SDLK_AC_SEARCH = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_AC_SEARCH),\n    SDLK_AC_HOME = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_AC_HOME),\n    SDLK_AC_BACK = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_AC_BACK),\n    SDLK_AC_FORWARD = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_AC_FORWARD),\n    SDLK_AC_STOP = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_AC_STOP),\n    SDLK_AC_REFRESH = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_AC_REFRESH),\n    SDLK_AC_BOOKMARKS = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_AC_BOOKMARKS),\n\n    SDLK_BRIGHTNESSDOWN =\n        SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_BRIGHTNESSDOWN),\n    SDLK_BRIGHTNESSUP = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_BRIGHTNESSUP),\n    SDLK_DISPLAYSWITCH = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_DISPLAYSWITCH),\n    SDLK_KBDILLUMTOGGLE =\n        SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KBDILLUMTOGGLE),\n    SDLK_KBDILLUMDOWN = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KBDILLUMDOWN),\n    SDLK_KBDILLUMUP = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KBDILLUMUP),\n    SDLK_EJECT = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_EJECT),\n    SDLK_SLEEP = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_SLEEP)\n};\n\n/**\n * \\brief Enumeration of valid key mods (possibly OR'd together).\n */\ntypedef enum\n{\n    KMOD_NONE = 0x0000,\n    KMOD_LSHIFT = 0x0001,\n    KMOD_RSHIFT = 0x0002,\n    KMOD_LCTRL = 0x0040,\n    KMOD_RCTRL = 0x0080,\n    KMOD_LALT = 0x0100,\n    KMOD_RALT = 0x0200,\n    KMOD_LGUI = 0x0400,\n    KMOD_RGUI = 0x0800,\n    KMOD_NUM = 0x1000,\n    KMOD_CAPS = 0x2000,\n    KMOD_MODE = 0x4000,\n    KMOD_RESERVED = 0x8000\n} SDL_Keymod;\n\n#define KMOD_CTRL   (KMOD_LCTRL|KMOD_RCTRL)\n#define KMOD_SHIFT  (KMOD_LSHIFT|KMOD_RSHIFT)\n#define KMOD_ALT    (KMOD_LALT|KMOD_RALT)\n#define KMOD_GUI    (KMOD_LGUI|KMOD_RGUI)\n\n#endif /* _SDL_keycode_h */\n\n/* vi: set ts=4 sw=4 expandtab: */\n"
  },
  {
    "path": "external/SDL2-2.0.4/include/SDL_loadso.h",
    "content": "/*\n  Simple DirectMedia Layer\n  Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>\n\n  This software is provided 'as-is', without any express or implied\n  warranty.  In no event will the authors be held liable for any damages\n  arising from the use of this software.\n\n  Permission is granted to anyone to use this software for any purpose,\n  including commercial applications, and to alter it and redistribute it\n  freely, subject to the following restrictions:\n\n  1. The origin of this software must not be misrepresented; you must not\n     claim that you wrote the original software. If you use this software\n     in a product, an acknowledgment in the product documentation would be\n     appreciated but is not required.\n  2. Altered source versions must be plainly marked as such, and must not be\n     misrepresented as being the original software.\n  3. This notice may not be removed or altered from any source distribution.\n*/\n\n/**\n *  \\file SDL_loadso.h\n *\n *  System dependent library loading routines\n *\n *  Some things to keep in mind:\n *  \\li These functions only work on C function names.  Other languages may\n *      have name mangling and intrinsic language support that varies from\n *      compiler to compiler.\n *  \\li Make sure you declare your function pointers with the same calling\n *      convention as the actual library function.  Your code will crash\n *      mysteriously if you do not do this.\n *  \\li Avoid namespace collisions.  If you load a symbol from the library,\n *      it is not defined whether or not it goes into the global symbol\n *      namespace for the application.  If it does and it conflicts with\n *      symbols in your code or other shared libraries, you will not get\n *      the results you expect. :)\n */\n\n#ifndef _SDL_loadso_h\n#define _SDL_loadso_h\n\n#include \"SDL_stdinc.h\"\n#include \"SDL_error.h\"\n\n#include \"begin_code.h\"\n/* Set up for C function definitions, even when using C++ */\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n/**\n *  This function dynamically loads a shared object and returns a pointer\n *  to the object handle (or NULL if there was an error).\n *  The 'sofile' parameter is a system dependent name of the object file.\n */\nextern DECLSPEC void *SDLCALL SDL_LoadObject(const char *sofile);\n\n/**\n *  Given an object handle, this function looks up the address of the\n *  named function in the shared object and returns it.  This address\n *  is no longer valid after calling SDL_UnloadObject().\n */\nextern DECLSPEC void *SDLCALL SDL_LoadFunction(void *handle,\n                                               const char *name);\n\n/**\n *  Unload a shared object from memory.\n */\nextern DECLSPEC void SDLCALL SDL_UnloadObject(void *handle);\n\n/* Ends C function definitions when using C++ */\n#ifdef __cplusplus\n}\n#endif\n#include \"close_code.h\"\n\n#endif /* _SDL_loadso_h */\n\n/* vi: set ts=4 sw=4 expandtab: */\n"
  },
  {
    "path": "external/SDL2-2.0.4/include/SDL_log.h",
    "content": "/*\n  Simple DirectMedia Layer\n  Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>\n\n  This software is provided 'as-is', without any express or implied\n  warranty.  In no event will the authors be held liable for any damages\n  arising from the use of this software.\n\n  Permission is granted to anyone to use this software for any purpose,\n  including commercial applications, and to alter it and redistribute it\n  freely, subject to the following restrictions:\n\n  1. The origin of this software must not be misrepresented; you must not\n     claim that you wrote the original software. If you use this software\n     in a product, an acknowledgment in the product documentation would be\n     appreciated but is not required.\n  2. Altered source versions must be plainly marked as such, and must not be\n     misrepresented as being the original software.\n  3. This notice may not be removed or altered from any source distribution.\n*/\n\n/**\n *  \\file SDL_log.h\n *\n *  Simple log messages with categories and priorities.\n *\n *  By default logs are quiet, but if you're debugging SDL you might want:\n *\n *      SDL_LogSetAllPriority(SDL_LOG_PRIORITY_WARN);\n *\n *  Here's where the messages go on different platforms:\n *      Windows: debug output stream\n *      Android: log output\n *      Others: standard error output (stderr)\n */\n\n#ifndef _SDL_log_h\n#define _SDL_log_h\n\n#include \"SDL_stdinc.h\"\n\n#include \"begin_code.h\"\n/* Set up for C function definitions, even when using C++ */\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n\n/**\n *  \\brief The maximum size of a log message\n *\n *  Messages longer than the maximum size will be truncated\n */\n#define SDL_MAX_LOG_MESSAGE 4096\n\n/**\n *  \\brief The predefined log categories\n *\n *  By default the application category is enabled at the INFO level,\n *  the assert category is enabled at the WARN level, test is enabled\n *  at the VERBOSE level and all other categories are enabled at the\n *  CRITICAL level.\n */\nenum\n{\n    SDL_LOG_CATEGORY_APPLICATION,\n    SDL_LOG_CATEGORY_ERROR,\n    SDL_LOG_CATEGORY_ASSERT,\n    SDL_LOG_CATEGORY_SYSTEM,\n    SDL_LOG_CATEGORY_AUDIO,\n    SDL_LOG_CATEGORY_VIDEO,\n    SDL_LOG_CATEGORY_RENDER,\n    SDL_LOG_CATEGORY_INPUT,\n    SDL_LOG_CATEGORY_TEST,\n\n    /* Reserved for future SDL library use */\n    SDL_LOG_CATEGORY_RESERVED1,\n    SDL_LOG_CATEGORY_RESERVED2,\n    SDL_LOG_CATEGORY_RESERVED3,\n    SDL_LOG_CATEGORY_RESERVED4,\n    SDL_LOG_CATEGORY_RESERVED5,\n    SDL_LOG_CATEGORY_RESERVED6,\n    SDL_LOG_CATEGORY_RESERVED7,\n    SDL_LOG_CATEGORY_RESERVED8,\n    SDL_LOG_CATEGORY_RESERVED9,\n    SDL_LOG_CATEGORY_RESERVED10,\n\n    /* Beyond this point is reserved for application use, e.g.\n       enum {\n           MYAPP_CATEGORY_AWESOME1 = SDL_LOG_CATEGORY_CUSTOM,\n           MYAPP_CATEGORY_AWESOME2,\n           MYAPP_CATEGORY_AWESOME3,\n           ...\n       };\n     */\n    SDL_LOG_CATEGORY_CUSTOM\n};\n\n/**\n *  \\brief The predefined log priorities\n */\ntypedef enum\n{\n    SDL_LOG_PRIORITY_VERBOSE = 1,\n    SDL_LOG_PRIORITY_DEBUG,\n    SDL_LOG_PRIORITY_INFO,\n    SDL_LOG_PRIORITY_WARN,\n    SDL_LOG_PRIORITY_ERROR,\n    SDL_LOG_PRIORITY_CRITICAL,\n    SDL_NUM_LOG_PRIORITIES\n} SDL_LogPriority;\n\n\n/**\n *  \\brief Set the priority of all log categories\n */\nextern DECLSPEC void SDLCALL SDL_LogSetAllPriority(SDL_LogPriority priority);\n\n/**\n *  \\brief Set the priority of a particular log category\n */\nextern DECLSPEC void SDLCALL SDL_LogSetPriority(int category,\n                                                SDL_LogPriority priority);\n\n/**\n *  \\brief Get the priority of a particular log category\n */\nextern DECLSPEC SDL_LogPriority SDLCALL SDL_LogGetPriority(int category);\n\n/**\n *  \\brief Reset all priorities to default.\n *\n *  \\note This is called in SDL_Quit().\n */\nextern DECLSPEC void SDLCALL SDL_LogResetPriorities(void);\n\n/**\n *  \\brief Log a message with SDL_LOG_CATEGORY_APPLICATION and SDL_LOG_PRIORITY_INFO\n */\nextern DECLSPEC void SDLCALL SDL_Log(SDL_PRINTF_FORMAT_STRING const char *fmt, ...) SDL_PRINTF_VARARG_FUNC(1);\n\n/**\n *  \\brief Log a message with SDL_LOG_PRIORITY_VERBOSE\n */\nextern DECLSPEC void SDLCALL SDL_LogVerbose(int category, SDL_PRINTF_FORMAT_STRING const char *fmt, ...) SDL_PRINTF_VARARG_FUNC(2);\n\n/**\n *  \\brief Log a message with SDL_LOG_PRIORITY_DEBUG\n */\nextern DECLSPEC void SDLCALL SDL_LogDebug(int category, SDL_PRINTF_FORMAT_STRING const char *fmt, ...) SDL_PRINTF_VARARG_FUNC(2);\n\n/**\n *  \\brief Log a message with SDL_LOG_PRIORITY_INFO\n */\nextern DECLSPEC void SDLCALL SDL_LogInfo(int category, SDL_PRINTF_FORMAT_STRING const char *fmt, ...) SDL_PRINTF_VARARG_FUNC(2);\n\n/**\n *  \\brief Log a message with SDL_LOG_PRIORITY_WARN\n */\nextern DECLSPEC void SDLCALL SDL_LogWarn(int category, SDL_PRINTF_FORMAT_STRING const char *fmt, ...) SDL_PRINTF_VARARG_FUNC(2);\n\n/**\n *  \\brief Log a message with SDL_LOG_PRIORITY_ERROR\n */\nextern DECLSPEC void SDLCALL SDL_LogError(int category, SDL_PRINTF_FORMAT_STRING const char *fmt, ...) SDL_PRINTF_VARARG_FUNC(2);\n\n/**\n *  \\brief Log a message with SDL_LOG_PRIORITY_CRITICAL\n */\nextern DECLSPEC void SDLCALL SDL_LogCritical(int category, SDL_PRINTF_FORMAT_STRING const char *fmt, ...) SDL_PRINTF_VARARG_FUNC(2);\n\n/**\n *  \\brief Log a message with the specified category and priority.\n */\nextern DECLSPEC void SDLCALL SDL_LogMessage(int category,\n                                            SDL_LogPriority priority,\n                                            SDL_PRINTF_FORMAT_STRING const char *fmt, ...) SDL_PRINTF_VARARG_FUNC(3);\n\n/**\n *  \\brief Log a message with the specified category and priority.\n */\nextern DECLSPEC void SDLCALL SDL_LogMessageV(int category,\n                                             SDL_LogPriority priority,\n                                             const char *fmt, va_list ap);\n\n/**\n *  \\brief The prototype for the log output function\n */\ntypedef void (*SDL_LogOutputFunction)(void *userdata, int category, SDL_LogPriority priority, const char *message);\n\n/**\n *  \\brief Get the current log output function.\n */\nextern DECLSPEC void SDLCALL SDL_LogGetOutputFunction(SDL_LogOutputFunction *callback, void **userdata);\n\n/**\n *  \\brief This function allows you to replace the default log output\n *         function with one of your own.\n */\nextern DECLSPEC void SDLCALL SDL_LogSetOutputFunction(SDL_LogOutputFunction callback, void *userdata);\n\n\n/* Ends C function definitions when using C++ */\n#ifdef __cplusplus\n}\n#endif\n#include \"close_code.h\"\n\n#endif /* _SDL_log_h */\n\n/* vi: set ts=4 sw=4 expandtab: */\n"
  },
  {
    "path": "external/SDL2-2.0.4/include/SDL_main.h",
    "content": "/*\n  Simple DirectMedia Layer\n  Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>\n\n  This software is provided 'as-is', without any express or implied\n  warranty.  In no event will the authors be held liable for any damages\n  arising from the use of this software.\n\n  Permission is granted to anyone to use this software for any purpose,\n  including commercial applications, and to alter it and redistribute it\n  freely, subject to the following restrictions:\n\n  1. The origin of this software must not be misrepresented; you must not\n     claim that you wrote the original software. If you use this software\n     in a product, an acknowledgment in the product documentation would be\n     appreciated but is not required.\n  2. Altered source versions must be plainly marked as such, and must not be\n     misrepresented as being the original software.\n  3. This notice may not be removed or altered from any source distribution.\n*/\n\n#ifndef _SDL_main_h\n#define _SDL_main_h\n\n#include \"SDL_stdinc.h\"\n\n/**\n *  \\file SDL_main.h\n *\n *  Redefine main() on some platforms so that it is called by SDL.\n */\n\n#ifndef SDL_MAIN_HANDLED\n#if defined(__WIN32__)\n/* On Windows SDL provides WinMain(), which parses the command line and passes\n   the arguments to your main function.\n\n   If you provide your own WinMain(), you may define SDL_MAIN_HANDLED\n */\n#define SDL_MAIN_AVAILABLE\n\n#elif defined(__WINRT__)\n/* On WinRT, SDL provides a main function that initializes CoreApplication,\n   creating an instance of IFrameworkView in the process.\n\n   Please note that #include'ing SDL_main.h is not enough to get a main()\n   function working.  In non-XAML apps, the file,\n   src/main/winrt/SDL_WinRT_main_NonXAML.cpp, or a copy of it, must be compiled\n   into the app itself.  In XAML apps, the function, SDL_WinRTRunApp must be\n   called, with a pointer to the Direct3D-hosted XAML control passed in.\n*/\n#define SDL_MAIN_NEEDED\n\n#elif defined(__IPHONEOS__)\n/* On iOS SDL provides a main function that creates an application delegate\n   and starts the iOS application run loop.\n\n   See src/video/uikit/SDL_uikitappdelegate.m for more details.\n */\n#define SDL_MAIN_NEEDED\n\n#elif defined(__ANDROID__)\n/* On Android SDL provides a Java class in SDLActivity.java that is the\n   main activity entry point.\n\n   See README-android.txt for more details on extending that class.\n */\n#define SDL_MAIN_NEEDED\n\n#elif defined(__NACL__)\n/* On NACL we use ppapi_simple to set up the application helper code,\n   then wait for the first PSE_INSTANCE_DIDCHANGEVIEW event before \n   starting the user main function.\n   All user code is run in a separate thread by ppapi_simple, thus \n   allowing for blocking io to take place via nacl_io\n*/\n#define SDL_MAIN_NEEDED\n\n#endif\n#endif /* SDL_MAIN_HANDLED */\n\n#ifdef __cplusplus\n#define C_LINKAGE   \"C\"\n#else\n#define C_LINKAGE\n#endif /* __cplusplus */\n\n/**\n *  \\file SDL_main.h\n *\n *  The application's main() function must be called with C linkage,\n *  and should be declared like this:\n *  \\code\n *  #ifdef __cplusplus\n *  extern \"C\"\n *  #endif\n *  int main(int argc, char *argv[])\n *  {\n *  }\n *  \\endcode\n */\n\n#if defined(SDL_MAIN_NEEDED) || defined(SDL_MAIN_AVAILABLE)\n#define main    SDL_main\n#endif\n\n/**\n *  The prototype for the application's main() function\n */\nextern C_LINKAGE int SDL_main(int argc, char *argv[]);\n\n\n#include \"begin_code.h\"\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n/**\n *  This is called by the real SDL main function to let the rest of the\n *  library know that initialization was done properly.\n *\n *  Calling this yourself without knowing what you're doing can cause\n *  crashes and hard to diagnose problems with your application.\n */\nextern DECLSPEC void SDLCALL SDL_SetMainReady(void);\n\n#ifdef __WIN32__\n\n/**\n *  This can be called to set the application class at startup\n */\nextern DECLSPEC int SDLCALL SDL_RegisterApp(char *name, Uint32 style,\n                                            void *hInst);\nextern DECLSPEC void SDLCALL SDL_UnregisterApp(void);\n\n#endif /* __WIN32__ */\n\n\n#ifdef __WINRT__\n\n/**\n *  \\brief Initializes and launches an SDL/WinRT application.\n *\n *  \\param mainFunction The SDL app's C-style main().\n *  \\param reserved Reserved for future use; should be NULL\n *  \\return 0 on success, -1 on failure.  On failure, use SDL_GetError to retrieve more\n *      information on the failure.\n */\nextern DECLSPEC int SDLCALL SDL_WinRTRunApp(int (*mainFunction)(int, char **), void * reserved);\n\n#endif /* __WINRT__ */\n\n\n#ifdef __cplusplus\n}\n#endif\n#include \"close_code.h\"\n\n#endif /* _SDL_main_h */\n\n/* vi: set ts=4 sw=4 expandtab: */\n"
  },
  {
    "path": "external/SDL2-2.0.4/include/SDL_messagebox.h",
    "content": "/*\n  Simple DirectMedia Layer\n  Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>\n\n  This software is provided 'as-is', without any express or implied\n  warranty.  In no event will the authors be held liable for any damages\n  arising from the use of this software.\n\n  Permission is granted to anyone to use this software for any purpose,\n  including commercial applications, and to alter it and redistribute it\n  freely, subject to the following restrictions:\n\n  1. The origin of this software must not be misrepresented; you must not\n     claim that you wrote the original software. If you use this software\n     in a product, an acknowledgment in the product documentation would be\n     appreciated but is not required.\n  2. Altered source versions must be plainly marked as such, and must not be\n     misrepresented as being the original software.\n  3. This notice may not be removed or altered from any source distribution.\n*/\n\n#ifndef _SDL_messagebox_h\n#define _SDL_messagebox_h\n\n#include \"SDL_stdinc.h\"\n#include \"SDL_video.h\"      /* For SDL_Window */\n\n#include \"begin_code.h\"\n/* Set up for C function definitions, even when using C++ */\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n/**\n * \\brief SDL_MessageBox flags. If supported will display warning icon, etc.\n */\ntypedef enum\n{\n    SDL_MESSAGEBOX_ERROR        = 0x00000010,   /**< error dialog */\n    SDL_MESSAGEBOX_WARNING      = 0x00000020,   /**< warning dialog */\n    SDL_MESSAGEBOX_INFORMATION  = 0x00000040    /**< informational dialog */\n} SDL_MessageBoxFlags;\n\n/**\n * \\brief Flags for SDL_MessageBoxButtonData.\n */\ntypedef enum\n{\n    SDL_MESSAGEBOX_BUTTON_RETURNKEY_DEFAULT = 0x00000001,  /**< Marks the default button when return is hit */\n    SDL_MESSAGEBOX_BUTTON_ESCAPEKEY_DEFAULT = 0x00000002   /**< Marks the default button when escape is hit */\n} SDL_MessageBoxButtonFlags;\n\n/**\n *  \\brief Individual button data.\n */\ntypedef struct\n{\n    Uint32 flags;       /**< ::SDL_MessageBoxButtonFlags */\n    int buttonid;       /**< User defined button id (value returned via SDL_ShowMessageBox) */\n    const char * text;  /**< The UTF-8 button text */\n} SDL_MessageBoxButtonData;\n\n/**\n * \\brief RGB value used in a message box color scheme\n */\ntypedef struct\n{\n    Uint8 r, g, b;\n} SDL_MessageBoxColor;\n\ntypedef enum\n{\n    SDL_MESSAGEBOX_COLOR_BACKGROUND,\n    SDL_MESSAGEBOX_COLOR_TEXT,\n    SDL_MESSAGEBOX_COLOR_BUTTON_BORDER,\n    SDL_MESSAGEBOX_COLOR_BUTTON_BACKGROUND,\n    SDL_MESSAGEBOX_COLOR_BUTTON_SELECTED,\n    SDL_MESSAGEBOX_COLOR_MAX\n} SDL_MessageBoxColorType;\n\n/**\n * \\brief A set of colors to use for message box dialogs\n */\ntypedef struct\n{\n    SDL_MessageBoxColor colors[SDL_MESSAGEBOX_COLOR_MAX];\n} SDL_MessageBoxColorScheme;\n\n/**\n *  \\brief MessageBox structure containing title, text, window, etc.\n */\ntypedef struct\n{\n    Uint32 flags;                       /**< ::SDL_MessageBoxFlags */\n    SDL_Window *window;                 /**< Parent window, can be NULL */\n    const char *title;                  /**< UTF-8 title */\n    const char *message;                /**< UTF-8 message text */\n\n    int numbuttons;\n    const SDL_MessageBoxButtonData *buttons;\n\n    const SDL_MessageBoxColorScheme *colorScheme;   /**< ::SDL_MessageBoxColorScheme, can be NULL to use system settings */\n} SDL_MessageBoxData;\n\n/**\n *  \\brief Create a modal message box.\n *\n *  \\param messageboxdata The SDL_MessageBoxData structure with title, text, etc.\n *  \\param buttonid The pointer to which user id of hit button should be copied.\n *\n *  \\return -1 on error, otherwise 0 and buttonid contains user id of button\n *          hit or -1 if dialog was closed.\n *\n *  \\note This function should be called on the thread that created the parent\n *        window, or on the main thread if the messagebox has no parent.  It will\n *        block execution of that thread until the user clicks a button or\n *        closes the messagebox.\n */\nextern DECLSPEC int SDLCALL SDL_ShowMessageBox(const SDL_MessageBoxData *messageboxdata, int *buttonid);\n\n/**\n *  \\brief Create a simple modal message box\n *\n *  \\param flags    ::SDL_MessageBoxFlags\n *  \\param title    UTF-8 title text\n *  \\param message  UTF-8 message text\n *  \\param window   The parent window, or NULL for no parent\n *\n *  \\return 0 on success, -1 on error\n *\n *  \\sa SDL_ShowMessageBox\n */\nextern DECLSPEC int SDLCALL SDL_ShowSimpleMessageBox(Uint32 flags, const char *title, const char *message, SDL_Window *window);\n\n\n/* Ends C function definitions when using C++ */\n#ifdef __cplusplus\n}\n#endif\n#include \"close_code.h\"\n\n#endif /* _SDL_messagebox_h */\n\n/* vi: set ts=4 sw=4 expandtab: */\n"
  },
  {
    "path": "external/SDL2-2.0.4/include/SDL_mouse.h",
    "content": "/*\n  Simple DirectMedia Layer\n  Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>\n\n  This software is provided 'as-is', without any express or implied\n  warranty.  In no event will the authors be held liable for any damages\n  arising from the use of this software.\n\n  Permission is granted to anyone to use this software for any purpose,\n  including commercial applications, and to alter it and redistribute it\n  freely, subject to the following restrictions:\n\n  1. The origin of this software must not be misrepresented; you must not\n     claim that you wrote the original software. If you use this software\n     in a product, an acknowledgment in the product documentation would be\n     appreciated but is not required.\n  2. Altered source versions must be plainly marked as such, and must not be\n     misrepresented as being the original software.\n  3. This notice may not be removed or altered from any source distribution.\n*/\n\n/**\n *  \\file SDL_mouse.h\n *\n *  Include file for SDL mouse event handling.\n */\n\n#ifndef _SDL_mouse_h\n#define _SDL_mouse_h\n\n#include \"SDL_stdinc.h\"\n#include \"SDL_error.h\"\n#include \"SDL_video.h\"\n\n#include \"begin_code.h\"\n/* Set up for C function definitions, even when using C++ */\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\ntypedef struct SDL_Cursor SDL_Cursor;   /* Implementation dependent */\n\n/**\n * \\brief Cursor types for SDL_CreateSystemCursor.\n */\ntypedef enum\n{\n    SDL_SYSTEM_CURSOR_ARROW,     /**< Arrow */\n    SDL_SYSTEM_CURSOR_IBEAM,     /**< I-beam */\n    SDL_SYSTEM_CURSOR_WAIT,      /**< Wait */\n    SDL_SYSTEM_CURSOR_CROSSHAIR, /**< Crosshair */\n    SDL_SYSTEM_CURSOR_WAITARROW, /**< Small wait cursor (or Wait if not available) */\n    SDL_SYSTEM_CURSOR_SIZENWSE,  /**< Double arrow pointing northwest and southeast */\n    SDL_SYSTEM_CURSOR_SIZENESW,  /**< Double arrow pointing northeast and southwest */\n    SDL_SYSTEM_CURSOR_SIZEWE,    /**< Double arrow pointing west and east */\n    SDL_SYSTEM_CURSOR_SIZENS,    /**< Double arrow pointing north and south */\n    SDL_SYSTEM_CURSOR_SIZEALL,   /**< Four pointed arrow pointing north, south, east, and west */\n    SDL_SYSTEM_CURSOR_NO,        /**< Slashed circle or crossbones */\n    SDL_SYSTEM_CURSOR_HAND,      /**< Hand */\n    SDL_NUM_SYSTEM_CURSORS\n} SDL_SystemCursor;\n\n/**\n * \\brief Scroll direction types for the Scroll event\n */\ntypedef enum\n{\n    SDL_MOUSEWHEEL_NORMAL,    /**< The scroll direction is normal */\n    SDL_MOUSEWHEEL_FLIPPED    /**< The scroll direction is flipped / natural */\n} SDL_MouseWheelDirection;\n\n/* Function prototypes */\n\n/**\n *  \\brief Get the window which currently has mouse focus.\n */\nextern DECLSPEC SDL_Window * SDLCALL SDL_GetMouseFocus(void);\n\n/**\n *  \\brief Retrieve the current state of the mouse.\n *\n *  The current button state is returned as a button bitmask, which can\n *  be tested using the SDL_BUTTON(X) macros, and x and y are set to the\n *  mouse cursor position relative to the focus window for the currently\n *  selected mouse.  You can pass NULL for either x or y.\n */\nextern DECLSPEC Uint32 SDLCALL SDL_GetMouseState(int *x, int *y);\n\n/**\n *  \\brief Get the current state of the mouse, in relation to the desktop\n *\n *  This works just like SDL_GetMouseState(), but the coordinates will be\n *  reported relative to the top-left of the desktop. This can be useful if\n *  you need to track the mouse outside of a specific window and\n *  SDL_CaptureMouse() doesn't fit your needs. For example, it could be\n *  useful if you need to track the mouse while dragging a window, where\n *  coordinates relative to a window might not be in sync at all times.\n *\n *  \\note SDL_GetMouseState() returns the mouse position as SDL understands\n *        it from the last pump of the event queue. This function, however,\n *        queries the OS for the current mouse position, and as such, might\n *        be a slightly less efficient function. Unless you know what you're\n *        doing and have a good reason to use this function, you probably want\n *        SDL_GetMouseState() instead.\n *\n *  \\param x Returns the current X coord, relative to the desktop. Can be NULL.\n *  \\param y Returns the current Y coord, relative to the desktop. Can be NULL.\n *  \\return The current button state as a bitmask, which can be tested using the SDL_BUTTON(X) macros.\n *\n *  \\sa SDL_GetMouseState\n */\nextern DECLSPEC Uint32 SDLCALL SDL_GetGlobalMouseState(int *x, int *y);\n\n/**\n *  \\brief Retrieve the relative state of the mouse.\n *\n *  The current button state is returned as a button bitmask, which can\n *  be tested using the SDL_BUTTON(X) macros, and x and y are set to the\n *  mouse deltas since the last call to SDL_GetRelativeMouseState().\n */\nextern DECLSPEC Uint32 SDLCALL SDL_GetRelativeMouseState(int *x, int *y);\n\n/**\n *  \\brief Moves the mouse to the given position within the window.\n *\n *  \\param window The window to move the mouse into, or NULL for the current mouse focus\n *  \\param x The x coordinate within the window\n *  \\param y The y coordinate within the window\n *\n *  \\note This function generates a mouse motion event\n */\nextern DECLSPEC void SDLCALL SDL_WarpMouseInWindow(SDL_Window * window,\n                                                   int x, int y);\n\n/**\n *  \\brief Moves the mouse to the given position in global screen space.\n *\n *  \\param x The x coordinate\n *  \\param y The y coordinate\n *  \\return 0 on success, -1 on error (usually: unsupported by a platform).\n *\n *  \\note This function generates a mouse motion event\n */\nextern DECLSPEC int SDLCALL SDL_WarpMouseGlobal(int x, int y);\n\n/**\n *  \\brief Set relative mouse mode.\n *\n *  \\param enabled Whether or not to enable relative mode\n *\n *  \\return 0 on success, or -1 if relative mode is not supported.\n *\n *  While the mouse is in relative mode, the cursor is hidden, and the\n *  driver will try to report continuous motion in the current window.\n *  Only relative motion events will be delivered, the mouse position\n *  will not change.\n *\n *  \\note This function will flush any pending mouse motion.\n *\n *  \\sa SDL_GetRelativeMouseMode()\n */\nextern DECLSPEC int SDLCALL SDL_SetRelativeMouseMode(SDL_bool enabled);\n\n/**\n *  \\brief Capture the mouse, to track input outside an SDL window.\n *\n *  \\param enabled Whether or not to enable capturing\n *\n *  Capturing enables your app to obtain mouse events globally, instead of\n *  just within your window. Not all video targets support this function.\n *  When capturing is enabled, the current window will get all mouse events,\n *  but unlike relative mode, no change is made to the cursor and it is\n *  not restrained to your window.\n *\n *  This function may also deny mouse input to other windows--both those in\n *  your application and others on the system--so you should use this\n *  function sparingly, and in small bursts. For example, you might want to\n *  track the mouse while the user is dragging something, until the user\n *  releases a mouse button. It is not recommended that you capture the mouse\n *  for long periods of time, such as the entire time your app is running.\n *\n *  While captured, mouse events still report coordinates relative to the\n *  current (foreground) window, but those coordinates may be outside the\n *  bounds of the window (including negative values). Capturing is only\n *  allowed for the foreground window. If the window loses focus while\n *  capturing, the capture will be disabled automatically.\n *\n *  While capturing is enabled, the current window will have the\n *  SDL_WINDOW_MOUSE_CAPTURE flag set.\n *\n *  \\return 0 on success, or -1 if not supported.\n */\nextern DECLSPEC int SDLCALL SDL_CaptureMouse(SDL_bool enabled);\n\n/**\n *  \\brief Query whether relative mouse mode is enabled.\n *\n *  \\sa SDL_SetRelativeMouseMode()\n */\nextern DECLSPEC SDL_bool SDLCALL SDL_GetRelativeMouseMode(void);\n\n/**\n *  \\brief Create a cursor, using the specified bitmap data and\n *         mask (in MSB format).\n *\n *  The cursor width must be a multiple of 8 bits.\n *\n *  The cursor is created in black and white according to the following:\n *  <table>\n *  <tr><td> data </td><td> mask </td><td> resulting pixel on screen </td></tr>\n *  <tr><td>  0   </td><td>  1   </td><td> White </td></tr>\n *  <tr><td>  1   </td><td>  1   </td><td> Black </td></tr>\n *  <tr><td>  0   </td><td>  0   </td><td> Transparent </td></tr>\n *  <tr><td>  1   </td><td>  0   </td><td> Inverted color if possible, black\n *                                         if not. </td></tr>\n *  </table>\n *\n *  \\sa SDL_FreeCursor()\n */\nextern DECLSPEC SDL_Cursor *SDLCALL SDL_CreateCursor(const Uint8 * data,\n                                                     const Uint8 * mask,\n                                                     int w, int h, int hot_x,\n                                                     int hot_y);\n\n/**\n *  \\brief Create a color cursor.\n *\n *  \\sa SDL_FreeCursor()\n */\nextern DECLSPEC SDL_Cursor *SDLCALL SDL_CreateColorCursor(SDL_Surface *surface,\n                                                          int hot_x,\n                                                          int hot_y);\n\n/**\n *  \\brief Create a system cursor.\n *\n *  \\sa SDL_FreeCursor()\n */\nextern DECLSPEC SDL_Cursor *SDLCALL SDL_CreateSystemCursor(SDL_SystemCursor id);\n\n/**\n *  \\brief Set the active cursor.\n */\nextern DECLSPEC void SDLCALL SDL_SetCursor(SDL_Cursor * cursor);\n\n/**\n *  \\brief Return the active cursor.\n */\nextern DECLSPEC SDL_Cursor *SDLCALL SDL_GetCursor(void);\n\n/**\n *  \\brief Return the default cursor.\n */\nextern DECLSPEC SDL_Cursor *SDLCALL SDL_GetDefaultCursor(void);\n\n/**\n *  \\brief Frees a cursor created with SDL_CreateCursor().\n *\n *  \\sa SDL_CreateCursor()\n */\nextern DECLSPEC void SDLCALL SDL_FreeCursor(SDL_Cursor * cursor);\n\n/**\n *  \\brief Toggle whether or not the cursor is shown.\n *\n *  \\param toggle 1 to show the cursor, 0 to hide it, -1 to query the current\n *                state.\n *\n *  \\return 1 if the cursor is shown, or 0 if the cursor is hidden.\n */\nextern DECLSPEC int SDLCALL SDL_ShowCursor(int toggle);\n\n/**\n *  Used as a mask when testing buttons in buttonstate.\n *   - Button 1:  Left mouse button\n *   - Button 2:  Middle mouse button\n *   - Button 3:  Right mouse button\n */\n#define SDL_BUTTON(X)       (1 << ((X)-1))\n#define SDL_BUTTON_LEFT     1\n#define SDL_BUTTON_MIDDLE   2\n#define SDL_BUTTON_RIGHT    3\n#define SDL_BUTTON_X1       4\n#define SDL_BUTTON_X2       5\n#define SDL_BUTTON_LMASK    SDL_BUTTON(SDL_BUTTON_LEFT)\n#define SDL_BUTTON_MMASK    SDL_BUTTON(SDL_BUTTON_MIDDLE)\n#define SDL_BUTTON_RMASK    SDL_BUTTON(SDL_BUTTON_RIGHT)\n#define SDL_BUTTON_X1MASK   SDL_BUTTON(SDL_BUTTON_X1)\n#define SDL_BUTTON_X2MASK   SDL_BUTTON(SDL_BUTTON_X2)\n\n\n/* Ends C function definitions when using C++ */\n#ifdef __cplusplus\n}\n#endif\n#include \"close_code.h\"\n\n#endif /* _SDL_mouse_h */\n\n/* vi: set ts=4 sw=4 expandtab: */\n"
  },
  {
    "path": "external/SDL2-2.0.4/include/SDL_mutex.h",
    "content": "/*\n  Simple DirectMedia Layer\n  Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>\n\n  This software is provided 'as-is', without any express or implied\n  warranty.  In no event will the authors be held liable for any damages\n  arising from the use of this software.\n\n  Permission is granted to anyone to use this software for any purpose,\n  including commercial applications, and to alter it and redistribute it\n  freely, subject to the following restrictions:\n\n  1. The origin of this software must not be misrepresented; you must not\n     claim that you wrote the original software. If you use this software\n     in a product, an acknowledgment in the product documentation would be\n     appreciated but is not required.\n  2. Altered source versions must be plainly marked as such, and must not be\n     misrepresented as being the original software.\n  3. This notice may not be removed or altered from any source distribution.\n*/\n\n#ifndef _SDL_mutex_h\n#define _SDL_mutex_h\n\n/**\n *  \\file SDL_mutex.h\n *\n *  Functions to provide thread synchronization primitives.\n */\n\n#include \"SDL_stdinc.h\"\n#include \"SDL_error.h\"\n\n#include \"begin_code.h\"\n/* Set up for C function definitions, even when using C++ */\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n/**\n *  Synchronization functions which can time out return this value\n *  if they time out.\n */\n#define SDL_MUTEX_TIMEDOUT  1\n\n/**\n *  This is the timeout value which corresponds to never time out.\n */\n#define SDL_MUTEX_MAXWAIT   (~(Uint32)0)\n\n\n/**\n *  \\name Mutex functions\n */\n/* @{ */\n\n/* The SDL mutex structure, defined in SDL_sysmutex.c */\nstruct SDL_mutex;\ntypedef struct SDL_mutex SDL_mutex;\n\n/**\n *  Create a mutex, initialized unlocked.\n */\nextern DECLSPEC SDL_mutex *SDLCALL SDL_CreateMutex(void);\n\n/**\n *  Lock the mutex.\n *\n *  \\return 0, or -1 on error.\n */\n#define SDL_mutexP(m)   SDL_LockMutex(m)\nextern DECLSPEC int SDLCALL SDL_LockMutex(SDL_mutex * mutex);\n\n/**\n *  Try to lock the mutex\n *\n *  \\return 0, SDL_MUTEX_TIMEDOUT, or -1 on error\n */\nextern DECLSPEC int SDLCALL SDL_TryLockMutex(SDL_mutex * mutex);\n\n/**\n *  Unlock the mutex.\n *\n *  \\return 0, or -1 on error.\n *\n *  \\warning It is an error to unlock a mutex that has not been locked by\n *           the current thread, and doing so results in undefined behavior.\n */\n#define SDL_mutexV(m)   SDL_UnlockMutex(m)\nextern DECLSPEC int SDLCALL SDL_UnlockMutex(SDL_mutex * mutex);\n\n/**\n *  Destroy a mutex.\n */\nextern DECLSPEC void SDLCALL SDL_DestroyMutex(SDL_mutex * mutex);\n\n/* @} *//* Mutex functions */\n\n\n/**\n *  \\name Semaphore functions\n */\n/* @{ */\n\n/* The SDL semaphore structure, defined in SDL_syssem.c */\nstruct SDL_semaphore;\ntypedef struct SDL_semaphore SDL_sem;\n\n/**\n *  Create a semaphore, initialized with value, returns NULL on failure.\n */\nextern DECLSPEC SDL_sem *SDLCALL SDL_CreateSemaphore(Uint32 initial_value);\n\n/**\n *  Destroy a semaphore.\n */\nextern DECLSPEC void SDLCALL SDL_DestroySemaphore(SDL_sem * sem);\n\n/**\n *  This function suspends the calling thread until the semaphore pointed\n *  to by \\c sem has a positive count. It then atomically decreases the\n *  semaphore count.\n */\nextern DECLSPEC int SDLCALL SDL_SemWait(SDL_sem * sem);\n\n/**\n *  Non-blocking variant of SDL_SemWait().\n *\n *  \\return 0 if the wait succeeds, ::SDL_MUTEX_TIMEDOUT if the wait would\n *          block, and -1 on error.\n */\nextern DECLSPEC int SDLCALL SDL_SemTryWait(SDL_sem * sem);\n\n/**\n *  Variant of SDL_SemWait() with a timeout in milliseconds.\n *\n *  \\return 0 if the wait succeeds, ::SDL_MUTEX_TIMEDOUT if the wait does not\n *          succeed in the allotted time, and -1 on error.\n *\n *  \\warning On some platforms this function is implemented by looping with a\n *           delay of 1 ms, and so should be avoided if possible.\n */\nextern DECLSPEC int SDLCALL SDL_SemWaitTimeout(SDL_sem * sem, Uint32 ms);\n\n/**\n *  Atomically increases the semaphore's count (not blocking).\n *\n *  \\return 0, or -1 on error.\n */\nextern DECLSPEC int SDLCALL SDL_SemPost(SDL_sem * sem);\n\n/**\n *  Returns the current count of the semaphore.\n */\nextern DECLSPEC Uint32 SDLCALL SDL_SemValue(SDL_sem * sem);\n\n/* @} *//* Semaphore functions */\n\n\n/**\n *  \\name Condition variable functions\n */\n/* @{ */\n\n/* The SDL condition variable structure, defined in SDL_syscond.c */\nstruct SDL_cond;\ntypedef struct SDL_cond SDL_cond;\n\n/**\n *  Create a condition variable.\n *\n *  Typical use of condition variables:\n *\n *  Thread A:\n *    SDL_LockMutex(lock);\n *    while ( ! condition ) {\n *        SDL_CondWait(cond, lock);\n *    }\n *    SDL_UnlockMutex(lock);\n *\n *  Thread B:\n *    SDL_LockMutex(lock);\n *    ...\n *    condition = true;\n *    ...\n *    SDL_CondSignal(cond);\n *    SDL_UnlockMutex(lock);\n *\n *  There is some discussion whether to signal the condition variable\n *  with the mutex locked or not.  There is some potential performance\n *  benefit to unlocking first on some platforms, but there are some\n *  potential race conditions depending on how your code is structured.\n *\n *  In general it's safer to signal the condition variable while the\n *  mutex is locked.\n */\nextern DECLSPEC SDL_cond *SDLCALL SDL_CreateCond(void);\n\n/**\n *  Destroy a condition variable.\n */\nextern DECLSPEC void SDLCALL SDL_DestroyCond(SDL_cond * cond);\n\n/**\n *  Restart one of the threads that are waiting on the condition variable.\n *\n *  \\return 0 or -1 on error.\n */\nextern DECLSPEC int SDLCALL SDL_CondSignal(SDL_cond * cond);\n\n/**\n *  Restart all threads that are waiting on the condition variable.\n *\n *  \\return 0 or -1 on error.\n */\nextern DECLSPEC int SDLCALL SDL_CondBroadcast(SDL_cond * cond);\n\n/**\n *  Wait on the condition variable, unlocking the provided mutex.\n *\n *  \\warning The mutex must be locked before entering this function!\n *\n *  The mutex is re-locked once the condition variable is signaled.\n *\n *  \\return 0 when it is signaled, or -1 on error.\n */\nextern DECLSPEC int SDLCALL SDL_CondWait(SDL_cond * cond, SDL_mutex * mutex);\n\n/**\n *  Waits for at most \\c ms milliseconds, and returns 0 if the condition\n *  variable is signaled, ::SDL_MUTEX_TIMEDOUT if the condition is not\n *  signaled in the allotted time, and -1 on error.\n *\n *  \\warning On some platforms this function is implemented by looping with a\n *           delay of 1 ms, and so should be avoided if possible.\n */\nextern DECLSPEC int SDLCALL SDL_CondWaitTimeout(SDL_cond * cond,\n                                                SDL_mutex * mutex, Uint32 ms);\n\n/* @} *//* Condition variable functions */\n\n\n/* Ends C function definitions when using C++ */\n#ifdef __cplusplus\n}\n#endif\n#include \"close_code.h\"\n\n#endif /* _SDL_mutex_h */\n\n/* vi: set ts=4 sw=4 expandtab: */\n"
  },
  {
    "path": "external/SDL2-2.0.4/include/SDL_name.h",
    "content": "/*\n  Simple DirectMedia Layer\n  Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>\n\n  This software is provided 'as-is', without any express or implied\n  warranty.  In no event will the authors be held liable for any damages\n  arising from the use of this software.\n\n  Permission is granted to anyone to use this software for any purpose,\n  including commercial applications, and to alter it and redistribute it\n  freely, subject to the following restrictions:\n\n  1. The origin of this software must not be misrepresented; you must not\n     claim that you wrote the original software. If you use this software\n     in a product, an acknowledgment in the product documentation would be\n     appreciated but is not required.\n  2. Altered source versions must be plainly marked as such, and must not be\n     misrepresented as being the original software.\n  3. This notice may not be removed or altered from any source distribution.\n*/\n\n#ifndef _SDLname_h_\n#define _SDLname_h_\n\n#if defined(__STDC__) || defined(__cplusplus)\n#define NeedFunctionPrototypes 1\n#endif\n\n#define SDL_NAME(X) SDL_##X\n\n#endif /* _SDLname_h_ */\n\n/* vi: set ts=4 sw=4 expandtab: */\n"
  },
  {
    "path": "external/SDL2-2.0.4/include/SDL_opengl.h",
    "content": "/*\n  Simple DirectMedia Layer\n  Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>\n\n  This software is provided 'as-is', without any express or implied\n  warranty.  In no event will the authors be held liable for any damages\n  arising from the use of this software.\n\n  Permission is granted to anyone to use this software for any purpose,\n  including commercial applications, and to alter it and redistribute it\n  freely, subject to the following restrictions:\n\n  1. The origin of this software must not be misrepresented; you must not\n     claim that you wrote the original software. If you use this software\n     in a product, an acknowledgment in the product documentation would be\n     appreciated but is not required.\n  2. Altered source versions must be plainly marked as such, and must not be\n     misrepresented as being the original software.\n  3. This notice may not be removed or altered from any source distribution.\n*/\n\n/**\n *  \\file SDL_opengl.h\n *\n *  This is a simple file to encapsulate the OpenGL API headers.\n */\n\n/**\n *  \\def NO_SDL_GLEXT\n *\n *  Define this if you have your own version of glext.h and want to disable the\n *  version included in SDL_opengl.h.\n */\n\n#ifndef _SDL_opengl_h\n#define _SDL_opengl_h\n\n#include \"SDL_config.h\"\n\n#ifndef __IPHONEOS__  /* No OpenGL on iOS. */\n\n/*\n * Mesa 3-D graphics library\n *\n * Copyright (C) 1999-2006  Brian Paul   All Rights Reserved.\n * Copyright (C) 2009  VMware, Inc.  All Rights Reserved.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a\n * copy of this software and associated documentation files (the \"Software\"),\n * to deal in the Software without restriction, including without limitation\n * the rights to use, copy, modify, merge, publish, distribute, sublicense,\n * and/or sell copies of the Software, and to permit persons to whom the\n * Software is furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included\n * in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL\n * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR\n * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,\n * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\n * OTHER DEALINGS IN THE SOFTWARE.\n */\n\n\n#ifndef __gl_h_\n#define __gl_h_\n\n#if defined(USE_MGL_NAMESPACE)\n#include \"gl_mangle.h\"\n#endif\n\n\n/**********************************************************************\n * Begin system-specific stuff.\n */\n\n#if defined(_WIN32) && !defined(__WIN32__) && !defined(__CYGWIN__)\n#define __WIN32__\n#endif\n\n#if defined(__WIN32__) && !defined(__CYGWIN__)\n#  if (defined(_MSC_VER) || defined(__MINGW32__)) && defined(BUILD_GL32) /* tag specify we're building mesa as a DLL */\n#    define GLAPI __declspec(dllexport)\n#  elif (defined(_MSC_VER) || defined(__MINGW32__)) && defined(_DLL) /* tag specifying we're building for DLL runtime support */\n#    define GLAPI __declspec(dllimport)\n#  else /* for use with static link lib build of Win32 edition only */\n#    define GLAPI extern\n#  endif /* _STATIC_MESA support */\n#  if defined(__MINGW32__) && defined(GL_NO_STDCALL) || defined(UNDER_CE)  /* The generated DLLs by MingW with STDCALL are not compatible with the ones done by Microsoft's compilers */\n#    define GLAPIENTRY \n#  else\n#    define GLAPIENTRY __stdcall\n#  endif\n#elif defined(__CYGWIN__) && defined(USE_OPENGL32) /* use native windows opengl32 */\n#  define GLAPI extern\n#  define GLAPIENTRY __stdcall\n#elif (defined(__GNUC__) && __GNUC__ >= 4) || (defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590))\n#  define GLAPI __attribute__((visibility(\"default\")))\n#  define GLAPIENTRY\n#endif /* WIN32 && !CYGWIN */\n\n/*\n * WINDOWS: Include windows.h here to define APIENTRY.\n * It is also useful when applications include this file by\n * including only glut.h, since glut.h depends on windows.h.\n * Applications needing to include windows.h with parms other\n * than \"WIN32_LEAN_AND_MEAN\" may include windows.h before\n * glut.h or gl.h.\n */\n#if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__)\n#ifndef WIN32_LEAN_AND_MEAN\n#define WIN32_LEAN_AND_MEAN 1\n#endif\n#ifndef NOMINMAX   /* don't define min() and max(). */\n#define NOMINMAX\n#endif\n#include <windows.h>\n#endif\n\n#ifndef GLAPI\n#define GLAPI extern\n#endif\n\n#ifndef GLAPIENTRY\n#define GLAPIENTRY\n#endif\n\n#ifndef APIENTRY\n#define APIENTRY GLAPIENTRY\n#endif\n\n/* \"P\" suffix to be used for a pointer to a function */\n#ifndef APIENTRYP\n#define APIENTRYP APIENTRY *\n#endif\n\n#ifndef GLAPIENTRYP\n#define GLAPIENTRYP GLAPIENTRY *\n#endif\n\n#if defined(PRAGMA_EXPORT_SUPPORTED)\n#pragma export on\n#endif\n\n/*\n * End system-specific stuff.\n **********************************************************************/\n\n\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n\n\n#define GL_VERSION_1_1   1\n#define GL_VERSION_1_2   1\n#define GL_VERSION_1_3   1\n#define GL_ARB_imaging   1\n\n\n/*\n * Datatypes\n */\ntypedef unsigned int\tGLenum;\ntypedef unsigned char\tGLboolean;\ntypedef unsigned int\tGLbitfield;\ntypedef void\t\tGLvoid;\ntypedef signed char\tGLbyte;\t\t/* 1-byte signed */\ntypedef short\t\tGLshort;\t/* 2-byte signed */\ntypedef int\t\tGLint;\t\t/* 4-byte signed */\ntypedef unsigned char\tGLubyte;\t/* 1-byte unsigned */\ntypedef unsigned short\tGLushort;\t/* 2-byte unsigned */\ntypedef unsigned int\tGLuint;\t\t/* 4-byte unsigned */\ntypedef int\t\tGLsizei;\t/* 4-byte signed */\ntypedef float\t\tGLfloat;\t/* single precision float */\ntypedef float\t\tGLclampf;\t/* single precision float in [0,1] */\ntypedef double\t\tGLdouble;\t/* double precision float */\ntypedef double\t\tGLclampd;\t/* double precision float in [0,1] */\n\n\n\n/*\n * Constants\n */\n\n/* Boolean values */\n#define GL_FALSE\t\t\t\t0\n#define GL_TRUE\t\t\t\t\t1\n\n/* Data types */\n#define GL_BYTE\t\t\t\t\t0x1400\n#define GL_UNSIGNED_BYTE\t\t\t0x1401\n#define GL_SHORT\t\t\t\t0x1402\n#define GL_UNSIGNED_SHORT\t\t\t0x1403\n#define GL_INT\t\t\t\t\t0x1404\n#define GL_UNSIGNED_INT\t\t\t\t0x1405\n#define GL_FLOAT\t\t\t\t0x1406\n#define GL_2_BYTES\t\t\t\t0x1407\n#define GL_3_BYTES\t\t\t\t0x1408\n#define GL_4_BYTES\t\t\t\t0x1409\n#define GL_DOUBLE\t\t\t\t0x140A\n\n/* Primitives */\n#define GL_POINTS\t\t\t\t0x0000\n#define GL_LINES\t\t\t\t0x0001\n#define GL_LINE_LOOP\t\t\t\t0x0002\n#define GL_LINE_STRIP\t\t\t\t0x0003\n#define GL_TRIANGLES\t\t\t\t0x0004\n#define GL_TRIANGLE_STRIP\t\t\t0x0005\n#define GL_TRIANGLE_FAN\t\t\t\t0x0006\n#define GL_QUADS\t\t\t\t0x0007\n#define GL_QUAD_STRIP\t\t\t\t0x0008\n#define GL_POLYGON\t\t\t\t0x0009\n\n/* Vertex Arrays */\n#define GL_VERTEX_ARRAY\t\t\t\t0x8074\n#define GL_NORMAL_ARRAY\t\t\t\t0x8075\n#define GL_COLOR_ARRAY\t\t\t\t0x8076\n#define GL_INDEX_ARRAY\t\t\t\t0x8077\n#define GL_TEXTURE_COORD_ARRAY\t\t\t0x8078\n#define GL_EDGE_FLAG_ARRAY\t\t\t0x8079\n#define GL_VERTEX_ARRAY_SIZE\t\t\t0x807A\n#define GL_VERTEX_ARRAY_TYPE\t\t\t0x807B\n#define GL_VERTEX_ARRAY_STRIDE\t\t\t0x807C\n#define GL_NORMAL_ARRAY_TYPE\t\t\t0x807E\n#define GL_NORMAL_ARRAY_STRIDE\t\t\t0x807F\n#define GL_COLOR_ARRAY_SIZE\t\t\t0x8081\n#define GL_COLOR_ARRAY_TYPE\t\t\t0x8082\n#define GL_COLOR_ARRAY_STRIDE\t\t\t0x8083\n#define GL_INDEX_ARRAY_TYPE\t\t\t0x8085\n#define GL_INDEX_ARRAY_STRIDE\t\t\t0x8086\n#define GL_TEXTURE_COORD_ARRAY_SIZE\t\t0x8088\n#define GL_TEXTURE_COORD_ARRAY_TYPE\t\t0x8089\n#define GL_TEXTURE_COORD_ARRAY_STRIDE\t\t0x808A\n#define GL_EDGE_FLAG_ARRAY_STRIDE\t\t0x808C\n#define GL_VERTEX_ARRAY_POINTER\t\t\t0x808E\n#define GL_NORMAL_ARRAY_POINTER\t\t\t0x808F\n#define GL_COLOR_ARRAY_POINTER\t\t\t0x8090\n#define GL_INDEX_ARRAY_POINTER\t\t\t0x8091\n#define GL_TEXTURE_COORD_ARRAY_POINTER\t\t0x8092\n#define GL_EDGE_FLAG_ARRAY_POINTER\t\t0x8093\n#define GL_V2F\t\t\t\t\t0x2A20\n#define GL_V3F\t\t\t\t\t0x2A21\n#define GL_C4UB_V2F\t\t\t\t0x2A22\n#define GL_C4UB_V3F\t\t\t\t0x2A23\n#define GL_C3F_V3F\t\t\t\t0x2A24\n#define GL_N3F_V3F\t\t\t\t0x2A25\n#define GL_C4F_N3F_V3F\t\t\t\t0x2A26\n#define GL_T2F_V3F\t\t\t\t0x2A27\n#define GL_T4F_V4F\t\t\t\t0x2A28\n#define GL_T2F_C4UB_V3F\t\t\t\t0x2A29\n#define GL_T2F_C3F_V3F\t\t\t\t0x2A2A\n#define GL_T2F_N3F_V3F\t\t\t\t0x2A2B\n#define GL_T2F_C4F_N3F_V3F\t\t\t0x2A2C\n#define GL_T4F_C4F_N3F_V4F\t\t\t0x2A2D\n\n/* Matrix Mode */\n#define GL_MATRIX_MODE\t\t\t\t0x0BA0\n#define GL_MODELVIEW\t\t\t\t0x1700\n#define GL_PROJECTION\t\t\t\t0x1701\n#define GL_TEXTURE\t\t\t\t0x1702\n\n/* Points */\n#define GL_POINT_SMOOTH\t\t\t\t0x0B10\n#define GL_POINT_SIZE\t\t\t\t0x0B11\n#define GL_POINT_SIZE_GRANULARITY \t\t0x0B13\n#define GL_POINT_SIZE_RANGE\t\t\t0x0B12\n\n/* Lines */\n#define GL_LINE_SMOOTH\t\t\t\t0x0B20\n#define GL_LINE_STIPPLE\t\t\t\t0x0B24\n#define GL_LINE_STIPPLE_PATTERN\t\t\t0x0B25\n#define GL_LINE_STIPPLE_REPEAT\t\t\t0x0B26\n#define GL_LINE_WIDTH\t\t\t\t0x0B21\n#define GL_LINE_WIDTH_GRANULARITY\t\t0x0B23\n#define GL_LINE_WIDTH_RANGE\t\t\t0x0B22\n\n/* Polygons */\n#define GL_POINT\t\t\t\t0x1B00\n#define GL_LINE\t\t\t\t\t0x1B01\n#define GL_FILL\t\t\t\t\t0x1B02\n#define GL_CW\t\t\t\t\t0x0900\n#define GL_CCW\t\t\t\t\t0x0901\n#define GL_FRONT\t\t\t\t0x0404\n#define GL_BACK\t\t\t\t\t0x0405\n#define GL_POLYGON_MODE\t\t\t\t0x0B40\n#define GL_POLYGON_SMOOTH\t\t\t0x0B41\n#define GL_POLYGON_STIPPLE\t\t\t0x0B42\n#define GL_EDGE_FLAG\t\t\t\t0x0B43\n#define GL_CULL_FACE\t\t\t\t0x0B44\n#define GL_CULL_FACE_MODE\t\t\t0x0B45\n#define GL_FRONT_FACE\t\t\t\t0x0B46\n#define GL_POLYGON_OFFSET_FACTOR\t\t0x8038\n#define GL_POLYGON_OFFSET_UNITS\t\t\t0x2A00\n#define GL_POLYGON_OFFSET_POINT\t\t\t0x2A01\n#define GL_POLYGON_OFFSET_LINE\t\t\t0x2A02\n#define GL_POLYGON_OFFSET_FILL\t\t\t0x8037\n\n/* Display Lists */\n#define GL_COMPILE\t\t\t\t0x1300\n#define GL_COMPILE_AND_EXECUTE\t\t\t0x1301\n#define GL_LIST_BASE\t\t\t\t0x0B32\n#define GL_LIST_INDEX\t\t\t\t0x0B33\n#define GL_LIST_MODE\t\t\t\t0x0B30\n\n/* Depth buffer */\n#define GL_NEVER\t\t\t\t0x0200\n#define GL_LESS\t\t\t\t\t0x0201\n#define GL_EQUAL\t\t\t\t0x0202\n#define GL_LEQUAL\t\t\t\t0x0203\n#define GL_GREATER\t\t\t\t0x0204\n#define GL_NOTEQUAL\t\t\t\t0x0205\n#define GL_GEQUAL\t\t\t\t0x0206\n#define GL_ALWAYS\t\t\t\t0x0207\n#define GL_DEPTH_TEST\t\t\t\t0x0B71\n#define GL_DEPTH_BITS\t\t\t\t0x0D56\n#define GL_DEPTH_CLEAR_VALUE\t\t\t0x0B73\n#define GL_DEPTH_FUNC\t\t\t\t0x0B74\n#define GL_DEPTH_RANGE\t\t\t\t0x0B70\n#define GL_DEPTH_WRITEMASK\t\t\t0x0B72\n#define GL_DEPTH_COMPONENT\t\t\t0x1902\n\n/* Lighting */\n#define GL_LIGHTING\t\t\t\t0x0B50\n#define GL_LIGHT0\t\t\t\t0x4000\n#define GL_LIGHT1\t\t\t\t0x4001\n#define GL_LIGHT2\t\t\t\t0x4002\n#define GL_LIGHT3\t\t\t\t0x4003\n#define GL_LIGHT4\t\t\t\t0x4004\n#define GL_LIGHT5\t\t\t\t0x4005\n#define GL_LIGHT6\t\t\t\t0x4006\n#define GL_LIGHT7\t\t\t\t0x4007\n#define GL_SPOT_EXPONENT\t\t\t0x1205\n#define GL_SPOT_CUTOFF\t\t\t\t0x1206\n#define GL_CONSTANT_ATTENUATION\t\t\t0x1207\n#define GL_LINEAR_ATTENUATION\t\t\t0x1208\n#define GL_QUADRATIC_ATTENUATION\t\t0x1209\n#define GL_AMBIENT\t\t\t\t0x1200\n#define GL_DIFFUSE\t\t\t\t0x1201\n#define GL_SPECULAR\t\t\t\t0x1202\n#define GL_SHININESS\t\t\t\t0x1601\n#define GL_EMISSION\t\t\t\t0x1600\n#define GL_POSITION\t\t\t\t0x1203\n#define GL_SPOT_DIRECTION\t\t\t0x1204\n#define GL_AMBIENT_AND_DIFFUSE\t\t\t0x1602\n#define GL_COLOR_INDEXES\t\t\t0x1603\n#define GL_LIGHT_MODEL_TWO_SIDE\t\t\t0x0B52\n#define GL_LIGHT_MODEL_LOCAL_VIEWER\t\t0x0B51\n#define GL_LIGHT_MODEL_AMBIENT\t\t\t0x0B53\n#define GL_FRONT_AND_BACK\t\t\t0x0408\n#define GL_SHADE_MODEL\t\t\t\t0x0B54\n#define GL_FLAT\t\t\t\t\t0x1D00\n#define GL_SMOOTH\t\t\t\t0x1D01\n#define GL_COLOR_MATERIAL\t\t\t0x0B57\n#define GL_COLOR_MATERIAL_FACE\t\t\t0x0B55\n#define GL_COLOR_MATERIAL_PARAMETER\t\t0x0B56\n#define GL_NORMALIZE\t\t\t\t0x0BA1\n\n/* User clipping planes */\n#define GL_CLIP_PLANE0\t\t\t\t0x3000\n#define GL_CLIP_PLANE1\t\t\t\t0x3001\n#define GL_CLIP_PLANE2\t\t\t\t0x3002\n#define GL_CLIP_PLANE3\t\t\t\t0x3003\n#define GL_CLIP_PLANE4\t\t\t\t0x3004\n#define GL_CLIP_PLANE5\t\t\t\t0x3005\n\n/* Accumulation buffer */\n#define GL_ACCUM_RED_BITS\t\t\t0x0D58\n#define GL_ACCUM_GREEN_BITS\t\t\t0x0D59\n#define GL_ACCUM_BLUE_BITS\t\t\t0x0D5A\n#define GL_ACCUM_ALPHA_BITS\t\t\t0x0D5B\n#define GL_ACCUM_CLEAR_VALUE\t\t\t0x0B80\n#define GL_ACCUM\t\t\t\t0x0100\n#define GL_ADD\t\t\t\t\t0x0104\n#define GL_LOAD\t\t\t\t\t0x0101\n#define GL_MULT\t\t\t\t\t0x0103\n#define GL_RETURN\t\t\t\t0x0102\n\n/* Alpha testing */\n#define GL_ALPHA_TEST\t\t\t\t0x0BC0\n#define GL_ALPHA_TEST_REF\t\t\t0x0BC2\n#define GL_ALPHA_TEST_FUNC\t\t\t0x0BC1\n\n/* Blending */\n#define GL_BLEND\t\t\t\t0x0BE2\n#define GL_BLEND_SRC\t\t\t\t0x0BE1\n#define GL_BLEND_DST\t\t\t\t0x0BE0\n#define GL_ZERO\t\t\t\t\t0\n#define GL_ONE\t\t\t\t\t1\n#define GL_SRC_COLOR\t\t\t\t0x0300\n#define GL_ONE_MINUS_SRC_COLOR\t\t\t0x0301\n#define GL_SRC_ALPHA\t\t\t\t0x0302\n#define GL_ONE_MINUS_SRC_ALPHA\t\t\t0x0303\n#define GL_DST_ALPHA\t\t\t\t0x0304\n#define GL_ONE_MINUS_DST_ALPHA\t\t\t0x0305\n#define GL_DST_COLOR\t\t\t\t0x0306\n#define GL_ONE_MINUS_DST_COLOR\t\t\t0x0307\n#define GL_SRC_ALPHA_SATURATE\t\t\t0x0308\n\n/* Render Mode */\n#define GL_FEEDBACK\t\t\t\t0x1C01\n#define GL_RENDER\t\t\t\t0x1C00\n#define GL_SELECT\t\t\t\t0x1C02\n\n/* Feedback */\n#define GL_2D\t\t\t\t\t0x0600\n#define GL_3D\t\t\t\t\t0x0601\n#define GL_3D_COLOR\t\t\t\t0x0602\n#define GL_3D_COLOR_TEXTURE\t\t\t0x0603\n#define GL_4D_COLOR_TEXTURE\t\t\t0x0604\n#define GL_POINT_TOKEN\t\t\t\t0x0701\n#define GL_LINE_TOKEN\t\t\t\t0x0702\n#define GL_LINE_RESET_TOKEN\t\t\t0x0707\n#define GL_POLYGON_TOKEN\t\t\t0x0703\n#define GL_BITMAP_TOKEN\t\t\t\t0x0704\n#define GL_DRAW_PIXEL_TOKEN\t\t\t0x0705\n#define GL_COPY_PIXEL_TOKEN\t\t\t0x0706\n#define GL_PASS_THROUGH_TOKEN\t\t\t0x0700\n#define GL_FEEDBACK_BUFFER_POINTER\t\t0x0DF0\n#define GL_FEEDBACK_BUFFER_SIZE\t\t\t0x0DF1\n#define GL_FEEDBACK_BUFFER_TYPE\t\t\t0x0DF2\n\n/* Selection */\n#define GL_SELECTION_BUFFER_POINTER\t\t0x0DF3\n#define GL_SELECTION_BUFFER_SIZE\t\t0x0DF4\n\n/* Fog */\n#define GL_FOG\t\t\t\t\t0x0B60\n#define GL_FOG_MODE\t\t\t\t0x0B65\n#define GL_FOG_DENSITY\t\t\t\t0x0B62\n#define GL_FOG_COLOR\t\t\t\t0x0B66\n#define GL_FOG_INDEX\t\t\t\t0x0B61\n#define GL_FOG_START\t\t\t\t0x0B63\n#define GL_FOG_END\t\t\t\t0x0B64\n#define GL_LINEAR\t\t\t\t0x2601\n#define GL_EXP\t\t\t\t\t0x0800\n#define GL_EXP2\t\t\t\t\t0x0801\n\n/* Logic Ops */\n#define GL_LOGIC_OP\t\t\t\t0x0BF1\n#define GL_INDEX_LOGIC_OP\t\t\t0x0BF1\n#define GL_COLOR_LOGIC_OP\t\t\t0x0BF2\n#define GL_LOGIC_OP_MODE\t\t\t0x0BF0\n#define GL_CLEAR\t\t\t\t0x1500\n#define GL_SET\t\t\t\t\t0x150F\n#define GL_COPY\t\t\t\t\t0x1503\n#define GL_COPY_INVERTED\t\t\t0x150C\n#define GL_NOOP\t\t\t\t\t0x1505\n#define GL_INVERT\t\t\t\t0x150A\n#define GL_AND\t\t\t\t\t0x1501\n#define GL_NAND\t\t\t\t\t0x150E\n#define GL_OR\t\t\t\t\t0x1507\n#define GL_NOR\t\t\t\t\t0x1508\n#define GL_XOR\t\t\t\t\t0x1506\n#define GL_EQUIV\t\t\t\t0x1509\n#define GL_AND_REVERSE\t\t\t\t0x1502\n#define GL_AND_INVERTED\t\t\t\t0x1504\n#define GL_OR_REVERSE\t\t\t\t0x150B\n#define GL_OR_INVERTED\t\t\t\t0x150D\n\n/* Stencil */\n#define GL_STENCIL_BITS\t\t\t\t0x0D57\n#define GL_STENCIL_TEST\t\t\t\t0x0B90\n#define GL_STENCIL_CLEAR_VALUE\t\t\t0x0B91\n#define GL_STENCIL_FUNC\t\t\t\t0x0B92\n#define GL_STENCIL_VALUE_MASK\t\t\t0x0B93\n#define GL_STENCIL_FAIL\t\t\t\t0x0B94\n#define GL_STENCIL_PASS_DEPTH_FAIL\t\t0x0B95\n#define GL_STENCIL_PASS_DEPTH_PASS\t\t0x0B96\n#define GL_STENCIL_REF\t\t\t\t0x0B97\n#define GL_STENCIL_WRITEMASK\t\t\t0x0B98\n#define GL_STENCIL_INDEX\t\t\t0x1901\n#define GL_KEEP\t\t\t\t\t0x1E00\n#define GL_REPLACE\t\t\t\t0x1E01\n#define GL_INCR\t\t\t\t\t0x1E02\n#define GL_DECR\t\t\t\t\t0x1E03\n\n/* Buffers, Pixel Drawing/Reading */\n#define GL_NONE\t\t\t\t\t0\n#define GL_LEFT\t\t\t\t\t0x0406\n#define GL_RIGHT\t\t\t\t0x0407\n/*GL_FRONT\t\t\t\t\t0x0404 */\n/*GL_BACK\t\t\t\t\t0x0405 */\n/*GL_FRONT_AND_BACK\t\t\t\t0x0408 */\n#define GL_FRONT_LEFT\t\t\t\t0x0400\n#define GL_FRONT_RIGHT\t\t\t\t0x0401\n#define GL_BACK_LEFT\t\t\t\t0x0402\n#define GL_BACK_RIGHT\t\t\t\t0x0403\n#define GL_AUX0\t\t\t\t\t0x0409\n#define GL_AUX1\t\t\t\t\t0x040A\n#define GL_AUX2\t\t\t\t\t0x040B\n#define GL_AUX3\t\t\t\t\t0x040C\n#define GL_COLOR_INDEX\t\t\t\t0x1900\n#define GL_RED\t\t\t\t\t0x1903\n#define GL_GREEN\t\t\t\t0x1904\n#define GL_BLUE\t\t\t\t\t0x1905\n#define GL_ALPHA\t\t\t\t0x1906\n#define GL_LUMINANCE\t\t\t\t0x1909\n#define GL_LUMINANCE_ALPHA\t\t\t0x190A\n#define GL_ALPHA_BITS\t\t\t\t0x0D55\n#define GL_RED_BITS\t\t\t\t0x0D52\n#define GL_GREEN_BITS\t\t\t\t0x0D53\n#define GL_BLUE_BITS\t\t\t\t0x0D54\n#define GL_INDEX_BITS\t\t\t\t0x0D51\n#define GL_SUBPIXEL_BITS\t\t\t0x0D50\n#define GL_AUX_BUFFERS\t\t\t\t0x0C00\n#define GL_READ_BUFFER\t\t\t\t0x0C02\n#define GL_DRAW_BUFFER\t\t\t\t0x0C01\n#define GL_DOUBLEBUFFER\t\t\t\t0x0C32\n#define GL_STEREO\t\t\t\t0x0C33\n#define GL_BITMAP\t\t\t\t0x1A00\n#define GL_COLOR\t\t\t\t0x1800\n#define GL_DEPTH\t\t\t\t0x1801\n#define GL_STENCIL\t\t\t\t0x1802\n#define GL_DITHER\t\t\t\t0x0BD0\n#define GL_RGB\t\t\t\t\t0x1907\n#define GL_RGBA\t\t\t\t\t0x1908\n\n/* Implementation limits */\n#define GL_MAX_LIST_NESTING\t\t\t0x0B31\n#define GL_MAX_EVAL_ORDER\t\t\t0x0D30\n#define GL_MAX_LIGHTS\t\t\t\t0x0D31\n#define GL_MAX_CLIP_PLANES\t\t\t0x0D32\n#define GL_MAX_TEXTURE_SIZE\t\t\t0x0D33\n#define GL_MAX_PIXEL_MAP_TABLE\t\t\t0x0D34\n#define GL_MAX_ATTRIB_STACK_DEPTH\t\t0x0D35\n#define GL_MAX_MODELVIEW_STACK_DEPTH\t\t0x0D36\n#define GL_MAX_NAME_STACK_DEPTH\t\t\t0x0D37\n#define GL_MAX_PROJECTION_STACK_DEPTH\t\t0x0D38\n#define GL_MAX_TEXTURE_STACK_DEPTH\t\t0x0D39\n#define GL_MAX_VIEWPORT_DIMS\t\t\t0x0D3A\n#define GL_MAX_CLIENT_ATTRIB_STACK_DEPTH\t0x0D3B\n\n/* Gets */\n#define GL_ATTRIB_STACK_DEPTH\t\t\t0x0BB0\n#define GL_CLIENT_ATTRIB_STACK_DEPTH\t\t0x0BB1\n#define GL_COLOR_CLEAR_VALUE\t\t\t0x0C22\n#define GL_COLOR_WRITEMASK\t\t\t0x0C23\n#define GL_CURRENT_INDEX\t\t\t0x0B01\n#define GL_CURRENT_COLOR\t\t\t0x0B00\n#define GL_CURRENT_NORMAL\t\t\t0x0B02\n#define GL_CURRENT_RASTER_COLOR\t\t\t0x0B04\n#define GL_CURRENT_RASTER_DISTANCE\t\t0x0B09\n#define GL_CURRENT_RASTER_INDEX\t\t\t0x0B05\n#define GL_CURRENT_RASTER_POSITION\t\t0x0B07\n#define GL_CURRENT_RASTER_TEXTURE_COORDS\t0x0B06\n#define GL_CURRENT_RASTER_POSITION_VALID\t0x0B08\n#define GL_CURRENT_TEXTURE_COORDS\t\t0x0B03\n#define GL_INDEX_CLEAR_VALUE\t\t\t0x0C20\n#define GL_INDEX_MODE\t\t\t\t0x0C30\n#define GL_INDEX_WRITEMASK\t\t\t0x0C21\n#define GL_MODELVIEW_MATRIX\t\t\t0x0BA6\n#define GL_MODELVIEW_STACK_DEPTH\t\t0x0BA3\n#define GL_NAME_STACK_DEPTH\t\t\t0x0D70\n#define GL_PROJECTION_MATRIX\t\t\t0x0BA7\n#define GL_PROJECTION_STACK_DEPTH\t\t0x0BA4\n#define GL_RENDER_MODE\t\t\t\t0x0C40\n#define GL_RGBA_MODE\t\t\t\t0x0C31\n#define GL_TEXTURE_MATRIX\t\t\t0x0BA8\n#define GL_TEXTURE_STACK_DEPTH\t\t\t0x0BA5\n#define GL_VIEWPORT\t\t\t\t0x0BA2\n\n/* Evaluators */\n#define GL_AUTO_NORMAL\t\t\t\t0x0D80\n#define GL_MAP1_COLOR_4\t\t\t\t0x0D90\n#define GL_MAP1_INDEX\t\t\t\t0x0D91\n#define GL_MAP1_NORMAL\t\t\t\t0x0D92\n#define GL_MAP1_TEXTURE_COORD_1\t\t\t0x0D93\n#define GL_MAP1_TEXTURE_COORD_2\t\t\t0x0D94\n#define GL_MAP1_TEXTURE_COORD_3\t\t\t0x0D95\n#define GL_MAP1_TEXTURE_COORD_4\t\t\t0x0D96\n#define GL_MAP1_VERTEX_3\t\t\t0x0D97\n#define GL_MAP1_VERTEX_4\t\t\t0x0D98\n#define GL_MAP2_COLOR_4\t\t\t\t0x0DB0\n#define GL_MAP2_INDEX\t\t\t\t0x0DB1\n#define GL_MAP2_NORMAL\t\t\t\t0x0DB2\n#define GL_MAP2_TEXTURE_COORD_1\t\t\t0x0DB3\n#define GL_MAP2_TEXTURE_COORD_2\t\t\t0x0DB4\n#define GL_MAP2_TEXTURE_COORD_3\t\t\t0x0DB5\n#define GL_MAP2_TEXTURE_COORD_4\t\t\t0x0DB6\n#define GL_MAP2_VERTEX_3\t\t\t0x0DB7\n#define GL_MAP2_VERTEX_4\t\t\t0x0DB8\n#define GL_MAP1_GRID_DOMAIN\t\t\t0x0DD0\n#define GL_MAP1_GRID_SEGMENTS\t\t\t0x0DD1\n#define GL_MAP2_GRID_DOMAIN\t\t\t0x0DD2\n#define GL_MAP2_GRID_SEGMENTS\t\t\t0x0DD3\n#define GL_COEFF\t\t\t\t0x0A00\n#define GL_ORDER\t\t\t\t0x0A01\n#define GL_DOMAIN\t\t\t\t0x0A02\n\n/* Hints */\n#define GL_PERSPECTIVE_CORRECTION_HINT\t\t0x0C50\n#define GL_POINT_SMOOTH_HINT\t\t\t0x0C51\n#define GL_LINE_SMOOTH_HINT\t\t\t0x0C52\n#define GL_POLYGON_SMOOTH_HINT\t\t\t0x0C53\n#define GL_FOG_HINT\t\t\t\t0x0C54\n#define GL_DONT_CARE\t\t\t\t0x1100\n#define GL_FASTEST\t\t\t\t0x1101\n#define GL_NICEST\t\t\t\t0x1102\n\n/* Scissor box */\n#define GL_SCISSOR_BOX\t\t\t\t0x0C10\n#define GL_SCISSOR_TEST\t\t\t\t0x0C11\n\n/* Pixel Mode / Transfer */\n#define GL_MAP_COLOR\t\t\t\t0x0D10\n#define GL_MAP_STENCIL\t\t\t\t0x0D11\n#define GL_INDEX_SHIFT\t\t\t\t0x0D12\n#define GL_INDEX_OFFSET\t\t\t\t0x0D13\n#define GL_RED_SCALE\t\t\t\t0x0D14\n#define GL_RED_BIAS\t\t\t\t0x0D15\n#define GL_GREEN_SCALE\t\t\t\t0x0D18\n#define GL_GREEN_BIAS\t\t\t\t0x0D19\n#define GL_BLUE_SCALE\t\t\t\t0x0D1A\n#define GL_BLUE_BIAS\t\t\t\t0x0D1B\n#define GL_ALPHA_SCALE\t\t\t\t0x0D1C\n#define GL_ALPHA_BIAS\t\t\t\t0x0D1D\n#define GL_DEPTH_SCALE\t\t\t\t0x0D1E\n#define GL_DEPTH_BIAS\t\t\t\t0x0D1F\n#define GL_PIXEL_MAP_S_TO_S_SIZE\t\t0x0CB1\n#define GL_PIXEL_MAP_I_TO_I_SIZE\t\t0x0CB0\n#define GL_PIXEL_MAP_I_TO_R_SIZE\t\t0x0CB2\n#define GL_PIXEL_MAP_I_TO_G_SIZE\t\t0x0CB3\n#define GL_PIXEL_MAP_I_TO_B_SIZE\t\t0x0CB4\n#define GL_PIXEL_MAP_I_TO_A_SIZE\t\t0x0CB5\n#define GL_PIXEL_MAP_R_TO_R_SIZE\t\t0x0CB6\n#define GL_PIXEL_MAP_G_TO_G_SIZE\t\t0x0CB7\n#define GL_PIXEL_MAP_B_TO_B_SIZE\t\t0x0CB8\n#define GL_PIXEL_MAP_A_TO_A_SIZE\t\t0x0CB9\n#define GL_PIXEL_MAP_S_TO_S\t\t\t0x0C71\n#define GL_PIXEL_MAP_I_TO_I\t\t\t0x0C70\n#define GL_PIXEL_MAP_I_TO_R\t\t\t0x0C72\n#define GL_PIXEL_MAP_I_TO_G\t\t\t0x0C73\n#define GL_PIXEL_MAP_I_TO_B\t\t\t0x0C74\n#define GL_PIXEL_MAP_I_TO_A\t\t\t0x0C75\n#define GL_PIXEL_MAP_R_TO_R\t\t\t0x0C76\n#define GL_PIXEL_MAP_G_TO_G\t\t\t0x0C77\n#define GL_PIXEL_MAP_B_TO_B\t\t\t0x0C78\n#define GL_PIXEL_MAP_A_TO_A\t\t\t0x0C79\n#define GL_PACK_ALIGNMENT\t\t\t0x0D05\n#define GL_PACK_LSB_FIRST\t\t\t0x0D01\n#define GL_PACK_ROW_LENGTH\t\t\t0x0D02\n#define GL_PACK_SKIP_PIXELS\t\t\t0x0D04\n#define GL_PACK_SKIP_ROWS\t\t\t0x0D03\n#define GL_PACK_SWAP_BYTES\t\t\t0x0D00\n#define GL_UNPACK_ALIGNMENT\t\t\t0x0CF5\n#define GL_UNPACK_LSB_FIRST\t\t\t0x0CF1\n#define GL_UNPACK_ROW_LENGTH\t\t\t0x0CF2\n#define GL_UNPACK_SKIP_PIXELS\t\t\t0x0CF4\n#define GL_UNPACK_SKIP_ROWS\t\t\t0x0CF3\n#define GL_UNPACK_SWAP_BYTES\t\t\t0x0CF0\n#define GL_ZOOM_X\t\t\t\t0x0D16\n#define GL_ZOOM_Y\t\t\t\t0x0D17\n\n/* Texture mapping */\n#define GL_TEXTURE_ENV\t\t\t\t0x2300\n#define GL_TEXTURE_ENV_MODE\t\t\t0x2200\n#define GL_TEXTURE_1D\t\t\t\t0x0DE0\n#define GL_TEXTURE_2D\t\t\t\t0x0DE1\n#define GL_TEXTURE_WRAP_S\t\t\t0x2802\n#define GL_TEXTURE_WRAP_T\t\t\t0x2803\n#define GL_TEXTURE_MAG_FILTER\t\t\t0x2800\n#define GL_TEXTURE_MIN_FILTER\t\t\t0x2801\n#define GL_TEXTURE_ENV_COLOR\t\t\t0x2201\n#define GL_TEXTURE_GEN_S\t\t\t0x0C60\n#define GL_TEXTURE_GEN_T\t\t\t0x0C61\n#define GL_TEXTURE_GEN_R\t\t\t0x0C62\n#define GL_TEXTURE_GEN_Q\t\t\t0x0C63\n#define GL_TEXTURE_GEN_MODE\t\t\t0x2500\n#define GL_TEXTURE_BORDER_COLOR\t\t\t0x1004\n#define GL_TEXTURE_WIDTH\t\t\t0x1000\n#define GL_TEXTURE_HEIGHT\t\t\t0x1001\n#define GL_TEXTURE_BORDER\t\t\t0x1005\n#define GL_TEXTURE_COMPONENTS\t\t\t0x1003\n#define GL_TEXTURE_RED_SIZE\t\t\t0x805C\n#define GL_TEXTURE_GREEN_SIZE\t\t\t0x805D\n#define GL_TEXTURE_BLUE_SIZE\t\t\t0x805E\n#define GL_TEXTURE_ALPHA_SIZE\t\t\t0x805F\n#define GL_TEXTURE_LUMINANCE_SIZE\t\t0x8060\n#define GL_TEXTURE_INTENSITY_SIZE\t\t0x8061\n#define GL_NEAREST_MIPMAP_NEAREST\t\t0x2700\n#define GL_NEAREST_MIPMAP_LINEAR\t\t0x2702\n#define GL_LINEAR_MIPMAP_NEAREST\t\t0x2701\n#define GL_LINEAR_MIPMAP_LINEAR\t\t\t0x2703\n#define GL_OBJECT_LINEAR\t\t\t0x2401\n#define GL_OBJECT_PLANE\t\t\t\t0x2501\n#define GL_EYE_LINEAR\t\t\t\t0x2400\n#define GL_EYE_PLANE\t\t\t\t0x2502\n#define GL_SPHERE_MAP\t\t\t\t0x2402\n#define GL_DECAL\t\t\t\t0x2101\n#define GL_MODULATE\t\t\t\t0x2100\n#define GL_NEAREST\t\t\t\t0x2600\n#define GL_REPEAT\t\t\t\t0x2901\n#define GL_CLAMP\t\t\t\t0x2900\n#define GL_S\t\t\t\t\t0x2000\n#define GL_T\t\t\t\t\t0x2001\n#define GL_R\t\t\t\t\t0x2002\n#define GL_Q\t\t\t\t\t0x2003\n\n/* Utility */\n#define GL_VENDOR\t\t\t\t0x1F00\n#define GL_RENDERER\t\t\t\t0x1F01\n#define GL_VERSION\t\t\t\t0x1F02\n#define GL_EXTENSIONS\t\t\t\t0x1F03\n\n/* Errors */\n#define GL_NO_ERROR \t\t\t\t0\n#define GL_INVALID_ENUM\t\t\t\t0x0500\n#define GL_INVALID_VALUE\t\t\t0x0501\n#define GL_INVALID_OPERATION\t\t\t0x0502\n#define GL_STACK_OVERFLOW\t\t\t0x0503\n#define GL_STACK_UNDERFLOW\t\t\t0x0504\n#define GL_OUT_OF_MEMORY\t\t\t0x0505\n\n/* glPush/PopAttrib bits */\n#define GL_CURRENT_BIT\t\t\t\t0x00000001\n#define GL_POINT_BIT\t\t\t\t0x00000002\n#define GL_LINE_BIT\t\t\t\t0x00000004\n#define GL_POLYGON_BIT\t\t\t\t0x00000008\n#define GL_POLYGON_STIPPLE_BIT\t\t\t0x00000010\n#define GL_PIXEL_MODE_BIT\t\t\t0x00000020\n#define GL_LIGHTING_BIT\t\t\t\t0x00000040\n#define GL_FOG_BIT\t\t\t\t0x00000080\n#define GL_DEPTH_BUFFER_BIT\t\t\t0x00000100\n#define GL_ACCUM_BUFFER_BIT\t\t\t0x00000200\n#define GL_STENCIL_BUFFER_BIT\t\t\t0x00000400\n#define GL_VIEWPORT_BIT\t\t\t\t0x00000800\n#define GL_TRANSFORM_BIT\t\t\t0x00001000\n#define GL_ENABLE_BIT\t\t\t\t0x00002000\n#define GL_COLOR_BUFFER_BIT\t\t\t0x00004000\n#define GL_HINT_BIT\t\t\t\t0x00008000\n#define GL_EVAL_BIT\t\t\t\t0x00010000\n#define GL_LIST_BIT\t\t\t\t0x00020000\n#define GL_TEXTURE_BIT\t\t\t\t0x00040000\n#define GL_SCISSOR_BIT\t\t\t\t0x00080000\n#define GL_ALL_ATTRIB_BITS\t\t\t0x000FFFFF\n\n\n/* OpenGL 1.1 */\n#define GL_PROXY_TEXTURE_1D\t\t\t0x8063\n#define GL_PROXY_TEXTURE_2D\t\t\t0x8064\n#define GL_TEXTURE_PRIORITY\t\t\t0x8066\n#define GL_TEXTURE_RESIDENT\t\t\t0x8067\n#define GL_TEXTURE_BINDING_1D\t\t\t0x8068\n#define GL_TEXTURE_BINDING_2D\t\t\t0x8069\n#define GL_TEXTURE_INTERNAL_FORMAT\t\t0x1003\n#define GL_ALPHA4\t\t\t\t0x803B\n#define GL_ALPHA8\t\t\t\t0x803C\n#define GL_ALPHA12\t\t\t\t0x803D\n#define GL_ALPHA16\t\t\t\t0x803E\n#define GL_LUMINANCE4\t\t\t\t0x803F\n#define GL_LUMINANCE8\t\t\t\t0x8040\n#define GL_LUMINANCE12\t\t\t\t0x8041\n#define GL_LUMINANCE16\t\t\t\t0x8042\n#define GL_LUMINANCE4_ALPHA4\t\t\t0x8043\n#define GL_LUMINANCE6_ALPHA2\t\t\t0x8044\n#define GL_LUMINANCE8_ALPHA8\t\t\t0x8045\n#define GL_LUMINANCE12_ALPHA4\t\t\t0x8046\n#define GL_LUMINANCE12_ALPHA12\t\t\t0x8047\n#define GL_LUMINANCE16_ALPHA16\t\t\t0x8048\n#define GL_INTENSITY\t\t\t\t0x8049\n#define GL_INTENSITY4\t\t\t\t0x804A\n#define GL_INTENSITY8\t\t\t\t0x804B\n#define GL_INTENSITY12\t\t\t\t0x804C\n#define GL_INTENSITY16\t\t\t\t0x804D\n#define GL_R3_G3_B2\t\t\t\t0x2A10\n#define GL_RGB4\t\t\t\t\t0x804F\n#define GL_RGB5\t\t\t\t\t0x8050\n#define GL_RGB8\t\t\t\t\t0x8051\n#define GL_RGB10\t\t\t\t0x8052\n#define GL_RGB12\t\t\t\t0x8053\n#define GL_RGB16\t\t\t\t0x8054\n#define GL_RGBA2\t\t\t\t0x8055\n#define GL_RGBA4\t\t\t\t0x8056\n#define GL_RGB5_A1\t\t\t\t0x8057\n#define GL_RGBA8\t\t\t\t0x8058\n#define GL_RGB10_A2\t\t\t\t0x8059\n#define GL_RGBA12\t\t\t\t0x805A\n#define GL_RGBA16\t\t\t\t0x805B\n#define GL_CLIENT_PIXEL_STORE_BIT\t\t0x00000001\n#define GL_CLIENT_VERTEX_ARRAY_BIT\t\t0x00000002\n#define GL_ALL_CLIENT_ATTRIB_BITS \t\t0xFFFFFFFF\n#define GL_CLIENT_ALL_ATTRIB_BITS \t\t0xFFFFFFFF\n\n\n\n/*\n * Miscellaneous\n */\n\nGLAPI void GLAPIENTRY glClearIndex( GLfloat c );\n\nGLAPI void GLAPIENTRY glClearColor( GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha );\n\nGLAPI void GLAPIENTRY glClear( GLbitfield mask );\n\nGLAPI void GLAPIENTRY glIndexMask( GLuint mask );\n\nGLAPI void GLAPIENTRY glColorMask( GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha );\n\nGLAPI void GLAPIENTRY glAlphaFunc( GLenum func, GLclampf ref );\n\nGLAPI void GLAPIENTRY glBlendFunc( GLenum sfactor, GLenum dfactor );\n\nGLAPI void GLAPIENTRY glLogicOp( GLenum opcode );\n\nGLAPI void GLAPIENTRY glCullFace( GLenum mode );\n\nGLAPI void GLAPIENTRY glFrontFace( GLenum mode );\n\nGLAPI void GLAPIENTRY glPointSize( GLfloat size );\n\nGLAPI void GLAPIENTRY glLineWidth( GLfloat width );\n\nGLAPI void GLAPIENTRY glLineStipple( GLint factor, GLushort pattern );\n\nGLAPI void GLAPIENTRY glPolygonMode( GLenum face, GLenum mode );\n\nGLAPI void GLAPIENTRY glPolygonOffset( GLfloat factor, GLfloat units );\n\nGLAPI void GLAPIENTRY glPolygonStipple( const GLubyte *mask );\n\nGLAPI void GLAPIENTRY glGetPolygonStipple( GLubyte *mask );\n\nGLAPI void GLAPIENTRY glEdgeFlag( GLboolean flag );\n\nGLAPI void GLAPIENTRY glEdgeFlagv( const GLboolean *flag );\n\nGLAPI void GLAPIENTRY glScissor( GLint x, GLint y, GLsizei width, GLsizei height);\n\nGLAPI void GLAPIENTRY glClipPlane( GLenum plane, const GLdouble *equation );\n\nGLAPI void GLAPIENTRY glGetClipPlane( GLenum plane, GLdouble *equation );\n\nGLAPI void GLAPIENTRY glDrawBuffer( GLenum mode );\n\nGLAPI void GLAPIENTRY glReadBuffer( GLenum mode );\n\nGLAPI void GLAPIENTRY glEnable( GLenum cap );\n\nGLAPI void GLAPIENTRY glDisable( GLenum cap );\n\nGLAPI GLboolean GLAPIENTRY glIsEnabled( GLenum cap );\n\n\nGLAPI void GLAPIENTRY glEnableClientState( GLenum cap );  /* 1.1 */\n\nGLAPI void GLAPIENTRY glDisableClientState( GLenum cap );  /* 1.1 */\n\n\nGLAPI void GLAPIENTRY glGetBooleanv( GLenum pname, GLboolean *params );\n\nGLAPI void GLAPIENTRY glGetDoublev( GLenum pname, GLdouble *params );\n\nGLAPI void GLAPIENTRY glGetFloatv( GLenum pname, GLfloat *params );\n\nGLAPI void GLAPIENTRY glGetIntegerv( GLenum pname, GLint *params );\n\n\nGLAPI void GLAPIENTRY glPushAttrib( GLbitfield mask );\n\nGLAPI void GLAPIENTRY glPopAttrib( void );\n\n\nGLAPI void GLAPIENTRY glPushClientAttrib( GLbitfield mask );  /* 1.1 */\n\nGLAPI void GLAPIENTRY glPopClientAttrib( void );  /* 1.1 */\n\n\nGLAPI GLint GLAPIENTRY glRenderMode( GLenum mode );\n\nGLAPI GLenum GLAPIENTRY glGetError( void );\n\nGLAPI const GLubyte * GLAPIENTRY glGetString( GLenum name );\n\nGLAPI void GLAPIENTRY glFinish( void );\n\nGLAPI void GLAPIENTRY glFlush( void );\n\nGLAPI void GLAPIENTRY glHint( GLenum target, GLenum mode );\n\n\n/*\n * Depth Buffer\n */\n\nGLAPI void GLAPIENTRY glClearDepth( GLclampd depth );\n\nGLAPI void GLAPIENTRY glDepthFunc( GLenum func );\n\nGLAPI void GLAPIENTRY glDepthMask( GLboolean flag );\n\nGLAPI void GLAPIENTRY glDepthRange( GLclampd near_val, GLclampd far_val );\n\n\n/*\n * Accumulation Buffer\n */\n\nGLAPI void GLAPIENTRY glClearAccum( GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha );\n\nGLAPI void GLAPIENTRY glAccum( GLenum op, GLfloat value );\n\n\n/*\n * Transformation\n */\n\nGLAPI void GLAPIENTRY glMatrixMode( GLenum mode );\n\nGLAPI void GLAPIENTRY glOrtho( GLdouble left, GLdouble right,\n                                 GLdouble bottom, GLdouble top,\n                                 GLdouble near_val, GLdouble far_val );\n\nGLAPI void GLAPIENTRY glFrustum( GLdouble left, GLdouble right,\n                                   GLdouble bottom, GLdouble top,\n                                   GLdouble near_val, GLdouble far_val );\n\nGLAPI void GLAPIENTRY glViewport( GLint x, GLint y,\n                                    GLsizei width, GLsizei height );\n\nGLAPI void GLAPIENTRY glPushMatrix( void );\n\nGLAPI void GLAPIENTRY glPopMatrix( void );\n\nGLAPI void GLAPIENTRY glLoadIdentity( void );\n\nGLAPI void GLAPIENTRY glLoadMatrixd( const GLdouble *m );\nGLAPI void GLAPIENTRY glLoadMatrixf( const GLfloat *m );\n\nGLAPI void GLAPIENTRY glMultMatrixd( const GLdouble *m );\nGLAPI void GLAPIENTRY glMultMatrixf( const GLfloat *m );\n\nGLAPI void GLAPIENTRY glRotated( GLdouble angle,\n                                   GLdouble x, GLdouble y, GLdouble z );\nGLAPI void GLAPIENTRY glRotatef( GLfloat angle,\n                                   GLfloat x, GLfloat y, GLfloat z );\n\nGLAPI void GLAPIENTRY glScaled( GLdouble x, GLdouble y, GLdouble z );\nGLAPI void GLAPIENTRY glScalef( GLfloat x, GLfloat y, GLfloat z );\n\nGLAPI void GLAPIENTRY glTranslated( GLdouble x, GLdouble y, GLdouble z );\nGLAPI void GLAPIENTRY glTranslatef( GLfloat x, GLfloat y, GLfloat z );\n\n\n/*\n * Display Lists\n */\n\nGLAPI GLboolean GLAPIENTRY glIsList( GLuint list );\n\nGLAPI void GLAPIENTRY glDeleteLists( GLuint list, GLsizei range );\n\nGLAPI GLuint GLAPIENTRY glGenLists( GLsizei range );\n\nGLAPI void GLAPIENTRY glNewList( GLuint list, GLenum mode );\n\nGLAPI void GLAPIENTRY glEndList( void );\n\nGLAPI void GLAPIENTRY glCallList( GLuint list );\n\nGLAPI void GLAPIENTRY glCallLists( GLsizei n, GLenum type,\n                                     const GLvoid *lists );\n\nGLAPI void GLAPIENTRY glListBase( GLuint base );\n\n\n/*\n * Drawing Functions\n */\n\nGLAPI void GLAPIENTRY glBegin( GLenum mode );\n\nGLAPI void GLAPIENTRY glEnd( void );\n\n\nGLAPI void GLAPIENTRY glVertex2d( GLdouble x, GLdouble y );\nGLAPI void GLAPIENTRY glVertex2f( GLfloat x, GLfloat y );\nGLAPI void GLAPIENTRY glVertex2i( GLint x, GLint y );\nGLAPI void GLAPIENTRY glVertex2s( GLshort x, GLshort y );\n\nGLAPI void GLAPIENTRY glVertex3d( GLdouble x, GLdouble y, GLdouble z );\nGLAPI void GLAPIENTRY glVertex3f( GLfloat x, GLfloat y, GLfloat z );\nGLAPI void GLAPIENTRY glVertex3i( GLint x, GLint y, GLint z );\nGLAPI void GLAPIENTRY glVertex3s( GLshort x, GLshort y, GLshort z );\n\nGLAPI void GLAPIENTRY glVertex4d( GLdouble x, GLdouble y, GLdouble z, GLdouble w );\nGLAPI void GLAPIENTRY glVertex4f( GLfloat x, GLfloat y, GLfloat z, GLfloat w );\nGLAPI void GLAPIENTRY glVertex4i( GLint x, GLint y, GLint z, GLint w );\nGLAPI void GLAPIENTRY glVertex4s( GLshort x, GLshort y, GLshort z, GLshort w );\n\nGLAPI void GLAPIENTRY glVertex2dv( const GLdouble *v );\nGLAPI void GLAPIENTRY glVertex2fv( const GLfloat *v );\nGLAPI void GLAPIENTRY glVertex2iv( const GLint *v );\nGLAPI void GLAPIENTRY glVertex2sv( const GLshort *v );\n\nGLAPI void GLAPIENTRY glVertex3dv( const GLdouble *v );\nGLAPI void GLAPIENTRY glVertex3fv( const GLfloat *v );\nGLAPI void GLAPIENTRY glVertex3iv( const GLint *v );\nGLAPI void GLAPIENTRY glVertex3sv( const GLshort *v );\n\nGLAPI void GLAPIENTRY glVertex4dv( const GLdouble *v );\nGLAPI void GLAPIENTRY glVertex4fv( const GLfloat *v );\nGLAPI void GLAPIENTRY glVertex4iv( const GLint *v );\nGLAPI void GLAPIENTRY glVertex4sv( const GLshort *v );\n\n\nGLAPI void GLAPIENTRY glNormal3b( GLbyte nx, GLbyte ny, GLbyte nz );\nGLAPI void GLAPIENTRY glNormal3d( GLdouble nx, GLdouble ny, GLdouble nz );\nGLAPI void GLAPIENTRY glNormal3f( GLfloat nx, GLfloat ny, GLfloat nz );\nGLAPI void GLAPIENTRY glNormal3i( GLint nx, GLint ny, GLint nz );\nGLAPI void GLAPIENTRY glNormal3s( GLshort nx, GLshort ny, GLshort nz );\n\nGLAPI void GLAPIENTRY glNormal3bv( const GLbyte *v );\nGLAPI void GLAPIENTRY glNormal3dv( const GLdouble *v );\nGLAPI void GLAPIENTRY glNormal3fv( const GLfloat *v );\nGLAPI void GLAPIENTRY glNormal3iv( const GLint *v );\nGLAPI void GLAPIENTRY glNormal3sv( const GLshort *v );\n\n\nGLAPI void GLAPIENTRY glIndexd( GLdouble c );\nGLAPI void GLAPIENTRY glIndexf( GLfloat c );\nGLAPI void GLAPIENTRY glIndexi( GLint c );\nGLAPI void GLAPIENTRY glIndexs( GLshort c );\nGLAPI void GLAPIENTRY glIndexub( GLubyte c );  /* 1.1 */\n\nGLAPI void GLAPIENTRY glIndexdv( const GLdouble *c );\nGLAPI void GLAPIENTRY glIndexfv( const GLfloat *c );\nGLAPI void GLAPIENTRY glIndexiv( const GLint *c );\nGLAPI void GLAPIENTRY glIndexsv( const GLshort *c );\nGLAPI void GLAPIENTRY glIndexubv( const GLubyte *c );  /* 1.1 */\n\nGLAPI void GLAPIENTRY glColor3b( GLbyte red, GLbyte green, GLbyte blue );\nGLAPI void GLAPIENTRY glColor3d( GLdouble red, GLdouble green, GLdouble blue );\nGLAPI void GLAPIENTRY glColor3f( GLfloat red, GLfloat green, GLfloat blue );\nGLAPI void GLAPIENTRY glColor3i( GLint red, GLint green, GLint blue );\nGLAPI void GLAPIENTRY glColor3s( GLshort red, GLshort green, GLshort blue );\nGLAPI void GLAPIENTRY glColor3ub( GLubyte red, GLubyte green, GLubyte blue );\nGLAPI void GLAPIENTRY glColor3ui( GLuint red, GLuint green, GLuint blue );\nGLAPI void GLAPIENTRY glColor3us( GLushort red, GLushort green, GLushort blue );\n\nGLAPI void GLAPIENTRY glColor4b( GLbyte red, GLbyte green,\n                                   GLbyte blue, GLbyte alpha );\nGLAPI void GLAPIENTRY glColor4d( GLdouble red, GLdouble green,\n                                   GLdouble blue, GLdouble alpha );\nGLAPI void GLAPIENTRY glColor4f( GLfloat red, GLfloat green,\n                                   GLfloat blue, GLfloat alpha );\nGLAPI void GLAPIENTRY glColor4i( GLint red, GLint green,\n                                   GLint blue, GLint alpha );\nGLAPI void GLAPIENTRY glColor4s( GLshort red, GLshort green,\n                                   GLshort blue, GLshort alpha );\nGLAPI void GLAPIENTRY glColor4ub( GLubyte red, GLubyte green,\n                                    GLubyte blue, GLubyte alpha );\nGLAPI void GLAPIENTRY glColor4ui( GLuint red, GLuint green,\n                                    GLuint blue, GLuint alpha );\nGLAPI void GLAPIENTRY glColor4us( GLushort red, GLushort green,\n                                    GLushort blue, GLushort alpha );\n\n\nGLAPI void GLAPIENTRY glColor3bv( const GLbyte *v );\nGLAPI void GLAPIENTRY glColor3dv( const GLdouble *v );\nGLAPI void GLAPIENTRY glColor3fv( const GLfloat *v );\nGLAPI void GLAPIENTRY glColor3iv( const GLint *v );\nGLAPI void GLAPIENTRY glColor3sv( const GLshort *v );\nGLAPI void GLAPIENTRY glColor3ubv( const GLubyte *v );\nGLAPI void GLAPIENTRY glColor3uiv( const GLuint *v );\nGLAPI void GLAPIENTRY glColor3usv( const GLushort *v );\n\nGLAPI void GLAPIENTRY glColor4bv( const GLbyte *v );\nGLAPI void GLAPIENTRY glColor4dv( const GLdouble *v );\nGLAPI void GLAPIENTRY glColor4fv( const GLfloat *v );\nGLAPI void GLAPIENTRY glColor4iv( const GLint *v );\nGLAPI void GLAPIENTRY glColor4sv( const GLshort *v );\nGLAPI void GLAPIENTRY glColor4ubv( const GLubyte *v );\nGLAPI void GLAPIENTRY glColor4uiv( const GLuint *v );\nGLAPI void GLAPIENTRY glColor4usv( const GLushort *v );\n\n\nGLAPI void GLAPIENTRY glTexCoord1d( GLdouble s );\nGLAPI void GLAPIENTRY glTexCoord1f( GLfloat s );\nGLAPI void GLAPIENTRY glTexCoord1i( GLint s );\nGLAPI void GLAPIENTRY glTexCoord1s( GLshort s );\n\nGLAPI void GLAPIENTRY glTexCoord2d( GLdouble s, GLdouble t );\nGLAPI void GLAPIENTRY glTexCoord2f( GLfloat s, GLfloat t );\nGLAPI void GLAPIENTRY glTexCoord2i( GLint s, GLint t );\nGLAPI void GLAPIENTRY glTexCoord2s( GLshort s, GLshort t );\n\nGLAPI void GLAPIENTRY glTexCoord3d( GLdouble s, GLdouble t, GLdouble r );\nGLAPI void GLAPIENTRY glTexCoord3f( GLfloat s, GLfloat t, GLfloat r );\nGLAPI void GLAPIENTRY glTexCoord3i( GLint s, GLint t, GLint r );\nGLAPI void GLAPIENTRY glTexCoord3s( GLshort s, GLshort t, GLshort r );\n\nGLAPI void GLAPIENTRY glTexCoord4d( GLdouble s, GLdouble t, GLdouble r, GLdouble q );\nGLAPI void GLAPIENTRY glTexCoord4f( GLfloat s, GLfloat t, GLfloat r, GLfloat q );\nGLAPI void GLAPIENTRY glTexCoord4i( GLint s, GLint t, GLint r, GLint q );\nGLAPI void GLAPIENTRY glTexCoord4s( GLshort s, GLshort t, GLshort r, GLshort q );\n\nGLAPI void GLAPIENTRY glTexCoord1dv( const GLdouble *v );\nGLAPI void GLAPIENTRY glTexCoord1fv( const GLfloat *v );\nGLAPI void GLAPIENTRY glTexCoord1iv( const GLint *v );\nGLAPI void GLAPIENTRY glTexCoord1sv( const GLshort *v );\n\nGLAPI void GLAPIENTRY glTexCoord2dv( const GLdouble *v );\nGLAPI void GLAPIENTRY glTexCoord2fv( const GLfloat *v );\nGLAPI void GLAPIENTRY glTexCoord2iv( const GLint *v );\nGLAPI void GLAPIENTRY glTexCoord2sv( const GLshort *v );\n\nGLAPI void GLAPIENTRY glTexCoord3dv( const GLdouble *v );\nGLAPI void GLAPIENTRY glTexCoord3fv( const GLfloat *v );\nGLAPI void GLAPIENTRY glTexCoord3iv( const GLint *v );\nGLAPI void GLAPIENTRY glTexCoord3sv( const GLshort *v );\n\nGLAPI void GLAPIENTRY glTexCoord4dv( const GLdouble *v );\nGLAPI void GLAPIENTRY glTexCoord4fv( const GLfloat *v );\nGLAPI void GLAPIENTRY glTexCoord4iv( const GLint *v );\nGLAPI void GLAPIENTRY glTexCoord4sv( const GLshort *v );\n\n\nGLAPI void GLAPIENTRY glRasterPos2d( GLdouble x, GLdouble y );\nGLAPI void GLAPIENTRY glRasterPos2f( GLfloat x, GLfloat y );\nGLAPI void GLAPIENTRY glRasterPos2i( GLint x, GLint y );\nGLAPI void GLAPIENTRY glRasterPos2s( GLshort x, GLshort y );\n\nGLAPI void GLAPIENTRY glRasterPos3d( GLdouble x, GLdouble y, GLdouble z );\nGLAPI void GLAPIENTRY glRasterPos3f( GLfloat x, GLfloat y, GLfloat z );\nGLAPI void GLAPIENTRY glRasterPos3i( GLint x, GLint y, GLint z );\nGLAPI void GLAPIENTRY glRasterPos3s( GLshort x, GLshort y, GLshort z );\n\nGLAPI void GLAPIENTRY glRasterPos4d( GLdouble x, GLdouble y, GLdouble z, GLdouble w );\nGLAPI void GLAPIENTRY glRasterPos4f( GLfloat x, GLfloat y, GLfloat z, GLfloat w );\nGLAPI void GLAPIENTRY glRasterPos4i( GLint x, GLint y, GLint z, GLint w );\nGLAPI void GLAPIENTRY glRasterPos4s( GLshort x, GLshort y, GLshort z, GLshort w );\n\nGLAPI void GLAPIENTRY glRasterPos2dv( const GLdouble *v );\nGLAPI void GLAPIENTRY glRasterPos2fv( const GLfloat *v );\nGLAPI void GLAPIENTRY glRasterPos2iv( const GLint *v );\nGLAPI void GLAPIENTRY glRasterPos2sv( const GLshort *v );\n\nGLAPI void GLAPIENTRY glRasterPos3dv( const GLdouble *v );\nGLAPI void GLAPIENTRY glRasterPos3fv( const GLfloat *v );\nGLAPI void GLAPIENTRY glRasterPos3iv( const GLint *v );\nGLAPI void GLAPIENTRY glRasterPos3sv( const GLshort *v );\n\nGLAPI void GLAPIENTRY glRasterPos4dv( const GLdouble *v );\nGLAPI void GLAPIENTRY glRasterPos4fv( const GLfloat *v );\nGLAPI void GLAPIENTRY glRasterPos4iv( const GLint *v );\nGLAPI void GLAPIENTRY glRasterPos4sv( const GLshort *v );\n\n\nGLAPI void GLAPIENTRY glRectd( GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2 );\nGLAPI void GLAPIENTRY glRectf( GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2 );\nGLAPI void GLAPIENTRY glRecti( GLint x1, GLint y1, GLint x2, GLint y2 );\nGLAPI void GLAPIENTRY glRects( GLshort x1, GLshort y1, GLshort x2, GLshort y2 );\n\n\nGLAPI void GLAPIENTRY glRectdv( const GLdouble *v1, const GLdouble *v2 );\nGLAPI void GLAPIENTRY glRectfv( const GLfloat *v1, const GLfloat *v2 );\nGLAPI void GLAPIENTRY glRectiv( const GLint *v1, const GLint *v2 );\nGLAPI void GLAPIENTRY glRectsv( const GLshort *v1, const GLshort *v2 );\n\n\n/*\n * Vertex Arrays  (1.1)\n */\n\nGLAPI void GLAPIENTRY glVertexPointer( GLint size, GLenum type,\n                                       GLsizei stride, const GLvoid *ptr );\n\nGLAPI void GLAPIENTRY glNormalPointer( GLenum type, GLsizei stride,\n                                       const GLvoid *ptr );\n\nGLAPI void GLAPIENTRY glColorPointer( GLint size, GLenum type,\n                                      GLsizei stride, const GLvoid *ptr );\n\nGLAPI void GLAPIENTRY glIndexPointer( GLenum type, GLsizei stride,\n                                      const GLvoid *ptr );\n\nGLAPI void GLAPIENTRY glTexCoordPointer( GLint size, GLenum type,\n                                         GLsizei stride, const GLvoid *ptr );\n\nGLAPI void GLAPIENTRY glEdgeFlagPointer( GLsizei stride, const GLvoid *ptr );\n\nGLAPI void GLAPIENTRY glGetPointerv( GLenum pname, GLvoid **params );\n\nGLAPI void GLAPIENTRY glArrayElement( GLint i );\n\nGLAPI void GLAPIENTRY glDrawArrays( GLenum mode, GLint first, GLsizei count );\n\nGLAPI void GLAPIENTRY glDrawElements( GLenum mode, GLsizei count,\n                                      GLenum type, const GLvoid *indices );\n\nGLAPI void GLAPIENTRY glInterleavedArrays( GLenum format, GLsizei stride,\n                                           const GLvoid *pointer );\n\n/*\n * Lighting\n */\n\nGLAPI void GLAPIENTRY glShadeModel( GLenum mode );\n\nGLAPI void GLAPIENTRY glLightf( GLenum light, GLenum pname, GLfloat param );\nGLAPI void GLAPIENTRY glLighti( GLenum light, GLenum pname, GLint param );\nGLAPI void GLAPIENTRY glLightfv( GLenum light, GLenum pname,\n                                 const GLfloat *params );\nGLAPI void GLAPIENTRY glLightiv( GLenum light, GLenum pname,\n                                 const GLint *params );\n\nGLAPI void GLAPIENTRY glGetLightfv( GLenum light, GLenum pname,\n                                    GLfloat *params );\nGLAPI void GLAPIENTRY glGetLightiv( GLenum light, GLenum pname,\n                                    GLint *params );\n\nGLAPI void GLAPIENTRY glLightModelf( GLenum pname, GLfloat param );\nGLAPI void GLAPIENTRY glLightModeli( GLenum pname, GLint param );\nGLAPI void GLAPIENTRY glLightModelfv( GLenum pname, const GLfloat *params );\nGLAPI void GLAPIENTRY glLightModeliv( GLenum pname, const GLint *params );\n\nGLAPI void GLAPIENTRY glMaterialf( GLenum face, GLenum pname, GLfloat param );\nGLAPI void GLAPIENTRY glMateriali( GLenum face, GLenum pname, GLint param );\nGLAPI void GLAPIENTRY glMaterialfv( GLenum face, GLenum pname, const GLfloat *params );\nGLAPI void GLAPIENTRY glMaterialiv( GLenum face, GLenum pname, const GLint *params );\n\nGLAPI void GLAPIENTRY glGetMaterialfv( GLenum face, GLenum pname, GLfloat *params );\nGLAPI void GLAPIENTRY glGetMaterialiv( GLenum face, GLenum pname, GLint *params );\n\nGLAPI void GLAPIENTRY glColorMaterial( GLenum face, GLenum mode );\n\n\n/*\n * Raster functions\n */\n\nGLAPI void GLAPIENTRY glPixelZoom( GLfloat xfactor, GLfloat yfactor );\n\nGLAPI void GLAPIENTRY glPixelStoref( GLenum pname, GLfloat param );\nGLAPI void GLAPIENTRY glPixelStorei( GLenum pname, GLint param );\n\nGLAPI void GLAPIENTRY glPixelTransferf( GLenum pname, GLfloat param );\nGLAPI void GLAPIENTRY glPixelTransferi( GLenum pname, GLint param );\n\nGLAPI void GLAPIENTRY glPixelMapfv( GLenum map, GLsizei mapsize,\n                                    const GLfloat *values );\nGLAPI void GLAPIENTRY glPixelMapuiv( GLenum map, GLsizei mapsize,\n                                     const GLuint *values );\nGLAPI void GLAPIENTRY glPixelMapusv( GLenum map, GLsizei mapsize,\n                                     const GLushort *values );\n\nGLAPI void GLAPIENTRY glGetPixelMapfv( GLenum map, GLfloat *values );\nGLAPI void GLAPIENTRY glGetPixelMapuiv( GLenum map, GLuint *values );\nGLAPI void GLAPIENTRY glGetPixelMapusv( GLenum map, GLushort *values );\n\nGLAPI void GLAPIENTRY glBitmap( GLsizei width, GLsizei height,\n                                GLfloat xorig, GLfloat yorig,\n                                GLfloat xmove, GLfloat ymove,\n                                const GLubyte *bitmap );\n\nGLAPI void GLAPIENTRY glReadPixels( GLint x, GLint y,\n                                    GLsizei width, GLsizei height,\n                                    GLenum format, GLenum type,\n                                    GLvoid *pixels );\n\nGLAPI void GLAPIENTRY glDrawPixels( GLsizei width, GLsizei height,\n                                    GLenum format, GLenum type,\n                                    const GLvoid *pixels );\n\nGLAPI void GLAPIENTRY glCopyPixels( GLint x, GLint y,\n                                    GLsizei width, GLsizei height,\n                                    GLenum type );\n\n/*\n * Stenciling\n */\n\nGLAPI void GLAPIENTRY glStencilFunc( GLenum func, GLint ref, GLuint mask );\n\nGLAPI void GLAPIENTRY glStencilMask( GLuint mask );\n\nGLAPI void GLAPIENTRY glStencilOp( GLenum fail, GLenum zfail, GLenum zpass );\n\nGLAPI void GLAPIENTRY glClearStencil( GLint s );\n\n\n\n/*\n * Texture mapping\n */\n\nGLAPI void GLAPIENTRY glTexGend( GLenum coord, GLenum pname, GLdouble param );\nGLAPI void GLAPIENTRY glTexGenf( GLenum coord, GLenum pname, GLfloat param );\nGLAPI void GLAPIENTRY glTexGeni( GLenum coord, GLenum pname, GLint param );\n\nGLAPI void GLAPIENTRY glTexGendv( GLenum coord, GLenum pname, const GLdouble *params );\nGLAPI void GLAPIENTRY glTexGenfv( GLenum coord, GLenum pname, const GLfloat *params );\nGLAPI void GLAPIENTRY glTexGeniv( GLenum coord, GLenum pname, const GLint *params );\n\nGLAPI void GLAPIENTRY glGetTexGendv( GLenum coord, GLenum pname, GLdouble *params );\nGLAPI void GLAPIENTRY glGetTexGenfv( GLenum coord, GLenum pname, GLfloat *params );\nGLAPI void GLAPIENTRY glGetTexGeniv( GLenum coord, GLenum pname, GLint *params );\n\n\nGLAPI void GLAPIENTRY glTexEnvf( GLenum target, GLenum pname, GLfloat param );\nGLAPI void GLAPIENTRY glTexEnvi( GLenum target, GLenum pname, GLint param );\n\nGLAPI void GLAPIENTRY glTexEnvfv( GLenum target, GLenum pname, const GLfloat *params );\nGLAPI void GLAPIENTRY glTexEnviv( GLenum target, GLenum pname, const GLint *params );\n\nGLAPI void GLAPIENTRY glGetTexEnvfv( GLenum target, GLenum pname, GLfloat *params );\nGLAPI void GLAPIENTRY glGetTexEnviv( GLenum target, GLenum pname, GLint *params );\n\n\nGLAPI void GLAPIENTRY glTexParameterf( GLenum target, GLenum pname, GLfloat param );\nGLAPI void GLAPIENTRY glTexParameteri( GLenum target, GLenum pname, GLint param );\n\nGLAPI void GLAPIENTRY glTexParameterfv( GLenum target, GLenum pname,\n                                          const GLfloat *params );\nGLAPI void GLAPIENTRY glTexParameteriv( GLenum target, GLenum pname,\n                                          const GLint *params );\n\nGLAPI void GLAPIENTRY glGetTexParameterfv( GLenum target,\n                                           GLenum pname, GLfloat *params);\nGLAPI void GLAPIENTRY glGetTexParameteriv( GLenum target,\n                                           GLenum pname, GLint *params );\n\nGLAPI void GLAPIENTRY glGetTexLevelParameterfv( GLenum target, GLint level,\n                                                GLenum pname, GLfloat *params );\nGLAPI void GLAPIENTRY glGetTexLevelParameteriv( GLenum target, GLint level,\n                                                GLenum pname, GLint *params );\n\n\nGLAPI void GLAPIENTRY glTexImage1D( GLenum target, GLint level,\n                                    GLint internalFormat,\n                                    GLsizei width, GLint border,\n                                    GLenum format, GLenum type,\n                                    const GLvoid *pixels );\n\nGLAPI void GLAPIENTRY glTexImage2D( GLenum target, GLint level,\n                                    GLint internalFormat,\n                                    GLsizei width, GLsizei height,\n                                    GLint border, GLenum format, GLenum type,\n                                    const GLvoid *pixels );\n\nGLAPI void GLAPIENTRY glGetTexImage( GLenum target, GLint level,\n                                     GLenum format, GLenum type,\n                                     GLvoid *pixels );\n\n\n/* 1.1 functions */\n\nGLAPI void GLAPIENTRY glGenTextures( GLsizei n, GLuint *textures );\n\nGLAPI void GLAPIENTRY glDeleteTextures( GLsizei n, const GLuint *textures);\n\nGLAPI void GLAPIENTRY glBindTexture( GLenum target, GLuint texture );\n\nGLAPI void GLAPIENTRY glPrioritizeTextures( GLsizei n,\n                                            const GLuint *textures,\n                                            const GLclampf *priorities );\n\nGLAPI GLboolean GLAPIENTRY glAreTexturesResident( GLsizei n,\n                                                  const GLuint *textures,\n                                                  GLboolean *residences );\n\nGLAPI GLboolean GLAPIENTRY glIsTexture( GLuint texture );\n\n\nGLAPI void GLAPIENTRY glTexSubImage1D( GLenum target, GLint level,\n                                       GLint xoffset,\n                                       GLsizei width, GLenum format,\n                                       GLenum type, const GLvoid *pixels );\n\n\nGLAPI void GLAPIENTRY glTexSubImage2D( GLenum target, GLint level,\n                                       GLint xoffset, GLint yoffset,\n                                       GLsizei width, GLsizei height,\n                                       GLenum format, GLenum type,\n                                       const GLvoid *pixels );\n\n\nGLAPI void GLAPIENTRY glCopyTexImage1D( GLenum target, GLint level,\n                                        GLenum internalformat,\n                                        GLint x, GLint y,\n                                        GLsizei width, GLint border );\n\n\nGLAPI void GLAPIENTRY glCopyTexImage2D( GLenum target, GLint level,\n                                        GLenum internalformat,\n                                        GLint x, GLint y,\n                                        GLsizei width, GLsizei height,\n                                        GLint border );\n\n\nGLAPI void GLAPIENTRY glCopyTexSubImage1D( GLenum target, GLint level,\n                                           GLint xoffset, GLint x, GLint y,\n                                           GLsizei width );\n\n\nGLAPI void GLAPIENTRY glCopyTexSubImage2D( GLenum target, GLint level,\n                                           GLint xoffset, GLint yoffset,\n                                           GLint x, GLint y,\n                                           GLsizei width, GLsizei height );\n\n\n/*\n * Evaluators\n */\n\nGLAPI void GLAPIENTRY glMap1d( GLenum target, GLdouble u1, GLdouble u2,\n                               GLint stride,\n                               GLint order, const GLdouble *points );\nGLAPI void GLAPIENTRY glMap1f( GLenum target, GLfloat u1, GLfloat u2,\n                               GLint stride,\n                               GLint order, const GLfloat *points );\n\nGLAPI void GLAPIENTRY glMap2d( GLenum target,\n\t\t     GLdouble u1, GLdouble u2, GLint ustride, GLint uorder,\n\t\t     GLdouble v1, GLdouble v2, GLint vstride, GLint vorder,\n\t\t     const GLdouble *points );\nGLAPI void GLAPIENTRY glMap2f( GLenum target,\n\t\t     GLfloat u1, GLfloat u2, GLint ustride, GLint uorder,\n\t\t     GLfloat v1, GLfloat v2, GLint vstride, GLint vorder,\n\t\t     const GLfloat *points );\n\nGLAPI void GLAPIENTRY glGetMapdv( GLenum target, GLenum query, GLdouble *v );\nGLAPI void GLAPIENTRY glGetMapfv( GLenum target, GLenum query, GLfloat *v );\nGLAPI void GLAPIENTRY glGetMapiv( GLenum target, GLenum query, GLint *v );\n\nGLAPI void GLAPIENTRY glEvalCoord1d( GLdouble u );\nGLAPI void GLAPIENTRY glEvalCoord1f( GLfloat u );\n\nGLAPI void GLAPIENTRY glEvalCoord1dv( const GLdouble *u );\nGLAPI void GLAPIENTRY glEvalCoord1fv( const GLfloat *u );\n\nGLAPI void GLAPIENTRY glEvalCoord2d( GLdouble u, GLdouble v );\nGLAPI void GLAPIENTRY glEvalCoord2f( GLfloat u, GLfloat v );\n\nGLAPI void GLAPIENTRY glEvalCoord2dv( const GLdouble *u );\nGLAPI void GLAPIENTRY glEvalCoord2fv( const GLfloat *u );\n\nGLAPI void GLAPIENTRY glMapGrid1d( GLint un, GLdouble u1, GLdouble u2 );\nGLAPI void GLAPIENTRY glMapGrid1f( GLint un, GLfloat u1, GLfloat u2 );\n\nGLAPI void GLAPIENTRY glMapGrid2d( GLint un, GLdouble u1, GLdouble u2,\n                                   GLint vn, GLdouble v1, GLdouble v2 );\nGLAPI void GLAPIENTRY glMapGrid2f( GLint un, GLfloat u1, GLfloat u2,\n                                   GLint vn, GLfloat v1, GLfloat v2 );\n\nGLAPI void GLAPIENTRY glEvalPoint1( GLint i );\n\nGLAPI void GLAPIENTRY glEvalPoint2( GLint i, GLint j );\n\nGLAPI void GLAPIENTRY glEvalMesh1( GLenum mode, GLint i1, GLint i2 );\n\nGLAPI void GLAPIENTRY glEvalMesh2( GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2 );\n\n\n/*\n * Fog\n */\n\nGLAPI void GLAPIENTRY glFogf( GLenum pname, GLfloat param );\n\nGLAPI void GLAPIENTRY glFogi( GLenum pname, GLint param );\n\nGLAPI void GLAPIENTRY glFogfv( GLenum pname, const GLfloat *params );\n\nGLAPI void GLAPIENTRY glFogiv( GLenum pname, const GLint *params );\n\n\n/*\n * Selection and Feedback\n */\n\nGLAPI void GLAPIENTRY glFeedbackBuffer( GLsizei size, GLenum type, GLfloat *buffer );\n\nGLAPI void GLAPIENTRY glPassThrough( GLfloat token );\n\nGLAPI void GLAPIENTRY glSelectBuffer( GLsizei size, GLuint *buffer );\n\nGLAPI void GLAPIENTRY glInitNames( void );\n\nGLAPI void GLAPIENTRY glLoadName( GLuint name );\n\nGLAPI void GLAPIENTRY glPushName( GLuint name );\n\nGLAPI void GLAPIENTRY glPopName( void );\n\n\n\n/*\n * OpenGL 1.2\n */\n\n#define GL_RESCALE_NORMAL\t\t\t0x803A\n#define GL_CLAMP_TO_EDGE\t\t\t0x812F\n#define GL_MAX_ELEMENTS_VERTICES\t\t0x80E8\n#define GL_MAX_ELEMENTS_INDICES\t\t\t0x80E9\n#define GL_BGR\t\t\t\t\t0x80E0\n#define GL_BGRA\t\t\t\t\t0x80E1\n#define GL_UNSIGNED_BYTE_3_3_2\t\t\t0x8032\n#define GL_UNSIGNED_BYTE_2_3_3_REV\t\t0x8362\n#define GL_UNSIGNED_SHORT_5_6_5\t\t\t0x8363\n#define GL_UNSIGNED_SHORT_5_6_5_REV\t\t0x8364\n#define GL_UNSIGNED_SHORT_4_4_4_4\t\t0x8033\n#define GL_UNSIGNED_SHORT_4_4_4_4_REV\t\t0x8365\n#define GL_UNSIGNED_SHORT_5_5_5_1\t\t0x8034\n#define GL_UNSIGNED_SHORT_1_5_5_5_REV\t\t0x8366\n#define GL_UNSIGNED_INT_8_8_8_8\t\t\t0x8035\n#define GL_UNSIGNED_INT_8_8_8_8_REV\t\t0x8367\n#define GL_UNSIGNED_INT_10_10_10_2\t\t0x8036\n#define GL_UNSIGNED_INT_2_10_10_10_REV\t\t0x8368\n#define GL_LIGHT_MODEL_COLOR_CONTROL\t\t0x81F8\n#define GL_SINGLE_COLOR\t\t\t\t0x81F9\n#define GL_SEPARATE_SPECULAR_COLOR\t\t0x81FA\n#define GL_TEXTURE_MIN_LOD\t\t\t0x813A\n#define GL_TEXTURE_MAX_LOD\t\t\t0x813B\n#define GL_TEXTURE_BASE_LEVEL\t\t\t0x813C\n#define GL_TEXTURE_MAX_LEVEL\t\t\t0x813D\n#define GL_SMOOTH_POINT_SIZE_RANGE\t\t0x0B12\n#define GL_SMOOTH_POINT_SIZE_GRANULARITY\t0x0B13\n#define GL_SMOOTH_LINE_WIDTH_RANGE\t\t0x0B22\n#define GL_SMOOTH_LINE_WIDTH_GRANULARITY\t0x0B23\n#define GL_ALIASED_POINT_SIZE_RANGE\t\t0x846D\n#define GL_ALIASED_LINE_WIDTH_RANGE\t\t0x846E\n#define GL_PACK_SKIP_IMAGES\t\t\t0x806B\n#define GL_PACK_IMAGE_HEIGHT\t\t\t0x806C\n#define GL_UNPACK_SKIP_IMAGES\t\t\t0x806D\n#define GL_UNPACK_IMAGE_HEIGHT\t\t\t0x806E\n#define GL_TEXTURE_3D\t\t\t\t0x806F\n#define GL_PROXY_TEXTURE_3D\t\t\t0x8070\n#define GL_TEXTURE_DEPTH\t\t\t0x8071\n#define GL_TEXTURE_WRAP_R\t\t\t0x8072\n#define GL_MAX_3D_TEXTURE_SIZE\t\t\t0x8073\n#define GL_TEXTURE_BINDING_3D\t\t\t0x806A\n\nGLAPI void GLAPIENTRY glDrawRangeElements( GLenum mode, GLuint start,\n\tGLuint end, GLsizei count, GLenum type, const GLvoid *indices );\n\nGLAPI void GLAPIENTRY glTexImage3D( GLenum target, GLint level,\n                                      GLint internalFormat,\n                                      GLsizei width, GLsizei height,\n                                      GLsizei depth, GLint border,\n                                      GLenum format, GLenum type,\n                                      const GLvoid *pixels );\n\nGLAPI void GLAPIENTRY glTexSubImage3D( GLenum target, GLint level,\n                                         GLint xoffset, GLint yoffset,\n                                         GLint zoffset, GLsizei width,\n                                         GLsizei height, GLsizei depth,\n                                         GLenum format,\n                                         GLenum type, const GLvoid *pixels);\n\nGLAPI void GLAPIENTRY glCopyTexSubImage3D( GLenum target, GLint level,\n                                             GLint xoffset, GLint yoffset,\n                                             GLint zoffset, GLint x,\n                                             GLint y, GLsizei width,\n                                             GLsizei height );\n\ntypedef void (APIENTRYP PFNGLDRAWRANGEELEMENTSPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices);\ntypedef void (APIENTRYP PFNGLTEXIMAGE3DPROC) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);\ntypedef void (APIENTRYP PFNGLTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);\ntypedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);\n\n\n/*\n * GL_ARB_imaging\n */\n\n#define GL_CONSTANT_COLOR\t\t\t0x8001\n#define GL_ONE_MINUS_CONSTANT_COLOR\t\t0x8002\n#define GL_CONSTANT_ALPHA\t\t\t0x8003\n#define GL_ONE_MINUS_CONSTANT_ALPHA\t\t0x8004\n#define GL_COLOR_TABLE\t\t\t\t0x80D0\n#define GL_POST_CONVOLUTION_COLOR_TABLE\t\t0x80D1\n#define GL_POST_COLOR_MATRIX_COLOR_TABLE\t0x80D2\n#define GL_PROXY_COLOR_TABLE\t\t\t0x80D3\n#define GL_PROXY_POST_CONVOLUTION_COLOR_TABLE\t0x80D4\n#define GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE\t0x80D5\n#define GL_COLOR_TABLE_SCALE\t\t\t0x80D6\n#define GL_COLOR_TABLE_BIAS\t\t\t0x80D7\n#define GL_COLOR_TABLE_FORMAT\t\t\t0x80D8\n#define GL_COLOR_TABLE_WIDTH\t\t\t0x80D9\n#define GL_COLOR_TABLE_RED_SIZE\t\t\t0x80DA\n#define GL_COLOR_TABLE_GREEN_SIZE\t\t0x80DB\n#define GL_COLOR_TABLE_BLUE_SIZE\t\t0x80DC\n#define GL_COLOR_TABLE_ALPHA_SIZE\t\t0x80DD\n#define GL_COLOR_TABLE_LUMINANCE_SIZE\t\t0x80DE\n#define GL_COLOR_TABLE_INTENSITY_SIZE\t\t0x80DF\n#define GL_CONVOLUTION_1D\t\t\t0x8010\n#define GL_CONVOLUTION_2D\t\t\t0x8011\n#define GL_SEPARABLE_2D\t\t\t\t0x8012\n#define GL_CONVOLUTION_BORDER_MODE\t\t0x8013\n#define GL_CONVOLUTION_FILTER_SCALE\t\t0x8014\n#define GL_CONVOLUTION_FILTER_BIAS\t\t0x8015\n#define GL_REDUCE\t\t\t\t0x8016\n#define GL_CONVOLUTION_FORMAT\t\t\t0x8017\n#define GL_CONVOLUTION_WIDTH\t\t\t0x8018\n#define GL_CONVOLUTION_HEIGHT\t\t\t0x8019\n#define GL_MAX_CONVOLUTION_WIDTH\t\t0x801A\n#define GL_MAX_CONVOLUTION_HEIGHT\t\t0x801B\n#define GL_POST_CONVOLUTION_RED_SCALE\t\t0x801C\n#define GL_POST_CONVOLUTION_GREEN_SCALE\t\t0x801D\n#define GL_POST_CONVOLUTION_BLUE_SCALE\t\t0x801E\n#define GL_POST_CONVOLUTION_ALPHA_SCALE\t\t0x801F\n#define GL_POST_CONVOLUTION_RED_BIAS\t\t0x8020\n#define GL_POST_CONVOLUTION_GREEN_BIAS\t\t0x8021\n#define GL_POST_CONVOLUTION_BLUE_BIAS\t\t0x8022\n#define GL_POST_CONVOLUTION_ALPHA_BIAS\t\t0x8023\n#define GL_CONSTANT_BORDER\t\t\t0x8151\n#define GL_REPLICATE_BORDER\t\t\t0x8153\n#define GL_CONVOLUTION_BORDER_COLOR\t\t0x8154\n#define GL_COLOR_MATRIX\t\t\t\t0x80B1\n#define GL_COLOR_MATRIX_STACK_DEPTH\t\t0x80B2\n#define GL_MAX_COLOR_MATRIX_STACK_DEPTH\t\t0x80B3\n#define GL_POST_COLOR_MATRIX_RED_SCALE\t\t0x80B4\n#define GL_POST_COLOR_MATRIX_GREEN_SCALE\t0x80B5\n#define GL_POST_COLOR_MATRIX_BLUE_SCALE\t\t0x80B6\n#define GL_POST_COLOR_MATRIX_ALPHA_SCALE\t0x80B7\n#define GL_POST_COLOR_MATRIX_RED_BIAS\t\t0x80B8\n#define GL_POST_COLOR_MATRIX_GREEN_BIAS\t\t0x80B9\n#define GL_POST_COLOR_MATRIX_BLUE_BIAS\t\t0x80BA\n#define GL_POST_COLOR_MATRIX_ALPHA_BIAS\t\t0x80BB\n#define GL_HISTOGRAM\t\t\t\t0x8024\n#define GL_PROXY_HISTOGRAM\t\t\t0x8025\n#define GL_HISTOGRAM_WIDTH\t\t\t0x8026\n#define GL_HISTOGRAM_FORMAT\t\t\t0x8027\n#define GL_HISTOGRAM_RED_SIZE\t\t\t0x8028\n#define GL_HISTOGRAM_GREEN_SIZE\t\t\t0x8029\n#define GL_HISTOGRAM_BLUE_SIZE\t\t\t0x802A\n#define GL_HISTOGRAM_ALPHA_SIZE\t\t\t0x802B\n#define GL_HISTOGRAM_LUMINANCE_SIZE\t\t0x802C\n#define GL_HISTOGRAM_SINK\t\t\t0x802D\n#define GL_MINMAX\t\t\t\t0x802E\n#define GL_MINMAX_FORMAT\t\t\t0x802F\n#define GL_MINMAX_SINK\t\t\t\t0x8030\n#define GL_TABLE_TOO_LARGE\t\t\t0x8031\n#define GL_BLEND_EQUATION\t\t\t0x8009\n#define GL_MIN\t\t\t\t\t0x8007\n#define GL_MAX\t\t\t\t\t0x8008\n#define GL_FUNC_ADD\t\t\t\t0x8006\n#define GL_FUNC_SUBTRACT\t\t\t0x800A\n#define GL_FUNC_REVERSE_SUBTRACT\t\t0x800B\n#define GL_BLEND_COLOR\t\t\t\t0x8005\n\n\nGLAPI void GLAPIENTRY glColorTable( GLenum target, GLenum internalformat,\n                                    GLsizei width, GLenum format,\n                                    GLenum type, const GLvoid *table );\n\nGLAPI void GLAPIENTRY glColorSubTable( GLenum target,\n                                       GLsizei start, GLsizei count,\n                                       GLenum format, GLenum type,\n                                       const GLvoid *data );\n\nGLAPI void GLAPIENTRY glColorTableParameteriv(GLenum target, GLenum pname,\n                                              const GLint *params);\n\nGLAPI void GLAPIENTRY glColorTableParameterfv(GLenum target, GLenum pname,\n                                              const GLfloat *params);\n\nGLAPI void GLAPIENTRY glCopyColorSubTable( GLenum target, GLsizei start,\n                                           GLint x, GLint y, GLsizei width );\n\nGLAPI void GLAPIENTRY glCopyColorTable( GLenum target, GLenum internalformat,\n                                        GLint x, GLint y, GLsizei width );\n\nGLAPI void GLAPIENTRY glGetColorTable( GLenum target, GLenum format,\n                                       GLenum type, GLvoid *table );\n\nGLAPI void GLAPIENTRY glGetColorTableParameterfv( GLenum target, GLenum pname,\n                                                  GLfloat *params );\n\nGLAPI void GLAPIENTRY glGetColorTableParameteriv( GLenum target, GLenum pname,\n                                                  GLint *params );\n\nGLAPI void GLAPIENTRY glBlendEquation( GLenum mode );\n\nGLAPI void GLAPIENTRY glBlendColor( GLclampf red, GLclampf green,\n                                    GLclampf blue, GLclampf alpha );\n\nGLAPI void GLAPIENTRY glHistogram( GLenum target, GLsizei width,\n\t\t\t\t   GLenum internalformat, GLboolean sink );\n\nGLAPI void GLAPIENTRY glResetHistogram( GLenum target );\n\nGLAPI void GLAPIENTRY glGetHistogram( GLenum target, GLboolean reset,\n\t\t\t\t      GLenum format, GLenum type,\n\t\t\t\t      GLvoid *values );\n\nGLAPI void GLAPIENTRY glGetHistogramParameterfv( GLenum target, GLenum pname,\n\t\t\t\t\t\t GLfloat *params );\n\nGLAPI void GLAPIENTRY glGetHistogramParameteriv( GLenum target, GLenum pname,\n\t\t\t\t\t\t GLint *params );\n\nGLAPI void GLAPIENTRY glMinmax( GLenum target, GLenum internalformat,\n\t\t\t\tGLboolean sink );\n\nGLAPI void GLAPIENTRY glResetMinmax( GLenum target );\n\nGLAPI void GLAPIENTRY glGetMinmax( GLenum target, GLboolean reset,\n                                   GLenum format, GLenum types,\n                                   GLvoid *values );\n\nGLAPI void GLAPIENTRY glGetMinmaxParameterfv( GLenum target, GLenum pname,\n\t\t\t\t\t      GLfloat *params );\n\nGLAPI void GLAPIENTRY glGetMinmaxParameteriv( GLenum target, GLenum pname,\n\t\t\t\t\t      GLint *params );\n\nGLAPI void GLAPIENTRY glConvolutionFilter1D( GLenum target,\n\tGLenum internalformat, GLsizei width, GLenum format, GLenum type,\n\tconst GLvoid *image );\n\nGLAPI void GLAPIENTRY glConvolutionFilter2D( GLenum target,\n\tGLenum internalformat, GLsizei width, GLsizei height, GLenum format,\n\tGLenum type, const GLvoid *image );\n\nGLAPI void GLAPIENTRY glConvolutionParameterf( GLenum target, GLenum pname,\n\tGLfloat params );\n\nGLAPI void GLAPIENTRY glConvolutionParameterfv( GLenum target, GLenum pname,\n\tconst GLfloat *params );\n\nGLAPI void GLAPIENTRY glConvolutionParameteri( GLenum target, GLenum pname,\n\tGLint params );\n\nGLAPI void GLAPIENTRY glConvolutionParameteriv( GLenum target, GLenum pname,\n\tconst GLint *params );\n\nGLAPI void GLAPIENTRY glCopyConvolutionFilter1D( GLenum target,\n\tGLenum internalformat, GLint x, GLint y, GLsizei width );\n\nGLAPI void GLAPIENTRY glCopyConvolutionFilter2D( GLenum target,\n\tGLenum internalformat, GLint x, GLint y, GLsizei width,\n\tGLsizei height);\n\nGLAPI void GLAPIENTRY glGetConvolutionFilter( GLenum target, GLenum format,\n\tGLenum type, GLvoid *image );\n\nGLAPI void GLAPIENTRY glGetConvolutionParameterfv( GLenum target, GLenum pname,\n\tGLfloat *params );\n\nGLAPI void GLAPIENTRY glGetConvolutionParameteriv( GLenum target, GLenum pname,\n\tGLint *params );\n\nGLAPI void GLAPIENTRY glSeparableFilter2D( GLenum target,\n\tGLenum internalformat, GLsizei width, GLsizei height, GLenum format,\n\tGLenum type, const GLvoid *row, const GLvoid *column );\n\nGLAPI void GLAPIENTRY glGetSeparableFilter( GLenum target, GLenum format,\n\tGLenum type, GLvoid *row, GLvoid *column, GLvoid *span );\n\n\n\n\n/*\n * OpenGL 1.3\n */\n\n/* multitexture */\n#define GL_TEXTURE0\t\t\t\t0x84C0\n#define GL_TEXTURE1\t\t\t\t0x84C1\n#define GL_TEXTURE2\t\t\t\t0x84C2\n#define GL_TEXTURE3\t\t\t\t0x84C3\n#define GL_TEXTURE4\t\t\t\t0x84C4\n#define GL_TEXTURE5\t\t\t\t0x84C5\n#define GL_TEXTURE6\t\t\t\t0x84C6\n#define GL_TEXTURE7\t\t\t\t0x84C7\n#define GL_TEXTURE8\t\t\t\t0x84C8\n#define GL_TEXTURE9\t\t\t\t0x84C9\n#define GL_TEXTURE10\t\t\t\t0x84CA\n#define GL_TEXTURE11\t\t\t\t0x84CB\n#define GL_TEXTURE12\t\t\t\t0x84CC\n#define GL_TEXTURE13\t\t\t\t0x84CD\n#define GL_TEXTURE14\t\t\t\t0x84CE\n#define GL_TEXTURE15\t\t\t\t0x84CF\n#define GL_TEXTURE16\t\t\t\t0x84D0\n#define GL_TEXTURE17\t\t\t\t0x84D1\n#define GL_TEXTURE18\t\t\t\t0x84D2\n#define GL_TEXTURE19\t\t\t\t0x84D3\n#define GL_TEXTURE20\t\t\t\t0x84D4\n#define GL_TEXTURE21\t\t\t\t0x84D5\n#define GL_TEXTURE22\t\t\t\t0x84D6\n#define GL_TEXTURE23\t\t\t\t0x84D7\n#define GL_TEXTURE24\t\t\t\t0x84D8\n#define GL_TEXTURE25\t\t\t\t0x84D9\n#define GL_TEXTURE26\t\t\t\t0x84DA\n#define GL_TEXTURE27\t\t\t\t0x84DB\n#define GL_TEXTURE28\t\t\t\t0x84DC\n#define GL_TEXTURE29\t\t\t\t0x84DD\n#define GL_TEXTURE30\t\t\t\t0x84DE\n#define GL_TEXTURE31\t\t\t\t0x84DF\n#define GL_ACTIVE_TEXTURE\t\t\t0x84E0\n#define GL_CLIENT_ACTIVE_TEXTURE\t\t0x84E1\n#define GL_MAX_TEXTURE_UNITS\t\t\t0x84E2\n/* texture_cube_map */\n#define GL_NORMAL_MAP\t\t\t\t0x8511\n#define GL_REFLECTION_MAP\t\t\t0x8512\n#define GL_TEXTURE_CUBE_MAP\t\t\t0x8513\n#define GL_TEXTURE_BINDING_CUBE_MAP\t\t0x8514\n#define GL_TEXTURE_CUBE_MAP_POSITIVE_X\t\t0x8515\n#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X\t\t0x8516\n#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y\t\t0x8517\n#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y\t\t0x8518\n#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z\t\t0x8519\n#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z\t\t0x851A\n#define GL_PROXY_TEXTURE_CUBE_MAP\t\t0x851B\n#define GL_MAX_CUBE_MAP_TEXTURE_SIZE\t\t0x851C\n/* texture_compression */\n#define GL_COMPRESSED_ALPHA\t\t\t0x84E9\n#define GL_COMPRESSED_LUMINANCE\t\t\t0x84EA\n#define GL_COMPRESSED_LUMINANCE_ALPHA\t\t0x84EB\n#define GL_COMPRESSED_INTENSITY\t\t\t0x84EC\n#define GL_COMPRESSED_RGB\t\t\t0x84ED\n#define GL_COMPRESSED_RGBA\t\t\t0x84EE\n#define GL_TEXTURE_COMPRESSION_HINT\t\t0x84EF\n#define GL_TEXTURE_COMPRESSED_IMAGE_SIZE\t0x86A0\n#define GL_TEXTURE_COMPRESSED\t\t\t0x86A1\n#define GL_NUM_COMPRESSED_TEXTURE_FORMATS\t0x86A2\n#define GL_COMPRESSED_TEXTURE_FORMATS\t\t0x86A3\n/* multisample */\n#define GL_MULTISAMPLE\t\t\t\t0x809D\n#define GL_SAMPLE_ALPHA_TO_COVERAGE\t\t0x809E\n#define GL_SAMPLE_ALPHA_TO_ONE\t\t\t0x809F\n#define GL_SAMPLE_COVERAGE\t\t\t0x80A0\n#define GL_SAMPLE_BUFFERS\t\t\t0x80A8\n#define GL_SAMPLES\t\t\t\t0x80A9\n#define GL_SAMPLE_COVERAGE_VALUE\t\t0x80AA\n#define GL_SAMPLE_COVERAGE_INVERT\t\t0x80AB\n#define GL_MULTISAMPLE_BIT\t\t\t0x20000000\n/* transpose_matrix */\n#define GL_TRANSPOSE_MODELVIEW_MATRIX\t\t0x84E3\n#define GL_TRANSPOSE_PROJECTION_MATRIX\t\t0x84E4\n#define GL_TRANSPOSE_TEXTURE_MATRIX\t\t0x84E5\n#define GL_TRANSPOSE_COLOR_MATRIX\t\t0x84E6\n/* texture_env_combine */\n#define GL_COMBINE\t\t\t\t0x8570\n#define GL_COMBINE_RGB\t\t\t\t0x8571\n#define GL_COMBINE_ALPHA\t\t\t0x8572\n#define GL_SOURCE0_RGB\t\t\t\t0x8580\n#define GL_SOURCE1_RGB\t\t\t\t0x8581\n#define GL_SOURCE2_RGB\t\t\t\t0x8582\n#define GL_SOURCE0_ALPHA\t\t\t0x8588\n#define GL_SOURCE1_ALPHA\t\t\t0x8589\n#define GL_SOURCE2_ALPHA\t\t\t0x858A\n#define GL_OPERAND0_RGB\t\t\t\t0x8590\n#define GL_OPERAND1_RGB\t\t\t\t0x8591\n#define GL_OPERAND2_RGB\t\t\t\t0x8592\n#define GL_OPERAND0_ALPHA\t\t\t0x8598\n#define GL_OPERAND1_ALPHA\t\t\t0x8599\n#define GL_OPERAND2_ALPHA\t\t\t0x859A\n#define GL_RGB_SCALE\t\t\t\t0x8573\n#define GL_ADD_SIGNED\t\t\t\t0x8574\n#define GL_INTERPOLATE\t\t\t\t0x8575\n#define GL_SUBTRACT\t\t\t\t0x84E7\n#define GL_CONSTANT\t\t\t\t0x8576\n#define GL_PRIMARY_COLOR\t\t\t0x8577\n#define GL_PREVIOUS\t\t\t\t0x8578\n/* texture_env_dot3 */\n#define GL_DOT3_RGB\t\t\t\t0x86AE\n#define GL_DOT3_RGBA\t\t\t\t0x86AF\n/* texture_border_clamp */\n#define GL_CLAMP_TO_BORDER\t\t\t0x812D\n\nGLAPI void GLAPIENTRY glActiveTexture( GLenum texture );\n\nGLAPI void GLAPIENTRY glClientActiveTexture( GLenum texture );\n\nGLAPI void GLAPIENTRY glCompressedTexImage1D( GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data );\n\nGLAPI void GLAPIENTRY glCompressedTexImage2D( GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data );\n\nGLAPI void GLAPIENTRY glCompressedTexImage3D( GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data );\n\nGLAPI void GLAPIENTRY glCompressedTexSubImage1D( GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data );\n\nGLAPI void GLAPIENTRY glCompressedTexSubImage2D( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data );\n\nGLAPI void GLAPIENTRY glCompressedTexSubImage3D( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data );\n\nGLAPI void GLAPIENTRY glGetCompressedTexImage( GLenum target, GLint lod, GLvoid *img );\n\nGLAPI void GLAPIENTRY glMultiTexCoord1d( GLenum target, GLdouble s );\n\nGLAPI void GLAPIENTRY glMultiTexCoord1dv( GLenum target, const GLdouble *v );\n\nGLAPI void GLAPIENTRY glMultiTexCoord1f( GLenum target, GLfloat s );\n\nGLAPI void GLAPIENTRY glMultiTexCoord1fv( GLenum target, const GLfloat *v );\n\nGLAPI void GLAPIENTRY glMultiTexCoord1i( GLenum target, GLint s );\n\nGLAPI void GLAPIENTRY glMultiTexCoord1iv( GLenum target, const GLint *v );\n\nGLAPI void GLAPIENTRY glMultiTexCoord1s( GLenum target, GLshort s );\n\nGLAPI void GLAPIENTRY glMultiTexCoord1sv( GLenum target, const GLshort *v );\n\nGLAPI void GLAPIENTRY glMultiTexCoord2d( GLenum target, GLdouble s, GLdouble t );\n\nGLAPI void GLAPIENTRY glMultiTexCoord2dv( GLenum target, const GLdouble *v );\n\nGLAPI void GLAPIENTRY glMultiTexCoord2f( GLenum target, GLfloat s, GLfloat t );\n\nGLAPI void GLAPIENTRY glMultiTexCoord2fv( GLenum target, const GLfloat *v );\n\nGLAPI void GLAPIENTRY glMultiTexCoord2i( GLenum target, GLint s, GLint t );\n\nGLAPI void GLAPIENTRY glMultiTexCoord2iv( GLenum target, const GLint *v );\n\nGLAPI void GLAPIENTRY glMultiTexCoord2s( GLenum target, GLshort s, GLshort t );\n\nGLAPI void GLAPIENTRY glMultiTexCoord2sv( GLenum target, const GLshort *v );\n\nGLAPI void GLAPIENTRY glMultiTexCoord3d( GLenum target, GLdouble s, GLdouble t, GLdouble r );\n\nGLAPI void GLAPIENTRY glMultiTexCoord3dv( GLenum target, const GLdouble *v );\n\nGLAPI void GLAPIENTRY glMultiTexCoord3f( GLenum target, GLfloat s, GLfloat t, GLfloat r );\n\nGLAPI void GLAPIENTRY glMultiTexCoord3fv( GLenum target, const GLfloat *v );\n\nGLAPI void GLAPIENTRY glMultiTexCoord3i( GLenum target, GLint s, GLint t, GLint r );\n\nGLAPI void GLAPIENTRY glMultiTexCoord3iv( GLenum target, const GLint *v );\n\nGLAPI void GLAPIENTRY glMultiTexCoord3s( GLenum target, GLshort s, GLshort t, GLshort r );\n\nGLAPI void GLAPIENTRY glMultiTexCoord3sv( GLenum target, const GLshort *v );\n\nGLAPI void GLAPIENTRY glMultiTexCoord4d( GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q );\n\nGLAPI void GLAPIENTRY glMultiTexCoord4dv( GLenum target, const GLdouble *v );\n\nGLAPI void GLAPIENTRY glMultiTexCoord4f( GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q );\n\nGLAPI void GLAPIENTRY glMultiTexCoord4fv( GLenum target, const GLfloat *v );\n\nGLAPI void GLAPIENTRY glMultiTexCoord4i( GLenum target, GLint s, GLint t, GLint r, GLint q );\n\nGLAPI void GLAPIENTRY glMultiTexCoord4iv( GLenum target, const GLint *v );\n\nGLAPI void GLAPIENTRY glMultiTexCoord4s( GLenum target, GLshort s, GLshort t, GLshort r, GLshort q );\n\nGLAPI void GLAPIENTRY glMultiTexCoord4sv( GLenum target, const GLshort *v );\n\n\nGLAPI void GLAPIENTRY glLoadTransposeMatrixd( const GLdouble m[16] );\n\nGLAPI void GLAPIENTRY glLoadTransposeMatrixf( const GLfloat m[16] );\n\nGLAPI void GLAPIENTRY glMultTransposeMatrixd( const GLdouble m[16] );\n\nGLAPI void GLAPIENTRY glMultTransposeMatrixf( const GLfloat m[16] );\n\nGLAPI void GLAPIENTRY glSampleCoverage( GLclampf value, GLboolean invert );\n\n\ntypedef void (APIENTRYP PFNGLACTIVETEXTUREPROC) (GLenum texture);\ntypedef void (APIENTRYP PFNGLSAMPLECOVERAGEPROC) (GLclampf value, GLboolean invert);\ntypedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data);\ntypedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE2DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data);\ntypedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE1DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data);\ntypedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data);\ntypedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data);\ntypedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data);\ntypedef void (APIENTRYP PFNGLGETCOMPRESSEDTEXIMAGEPROC) (GLenum target, GLint level, GLvoid *img);\n\n\n\n/*\n * GL_ARB_multitexture (ARB extension 1 and OpenGL 1.2.1)\n */\n#ifndef GL_ARB_multitexture\n#define GL_ARB_multitexture 1\n\n#define GL_TEXTURE0_ARB\t\t\t\t0x84C0\n#define GL_TEXTURE1_ARB\t\t\t\t0x84C1\n#define GL_TEXTURE2_ARB\t\t\t\t0x84C2\n#define GL_TEXTURE3_ARB\t\t\t\t0x84C3\n#define GL_TEXTURE4_ARB\t\t\t\t0x84C4\n#define GL_TEXTURE5_ARB\t\t\t\t0x84C5\n#define GL_TEXTURE6_ARB\t\t\t\t0x84C6\n#define GL_TEXTURE7_ARB\t\t\t\t0x84C7\n#define GL_TEXTURE8_ARB\t\t\t\t0x84C8\n#define GL_TEXTURE9_ARB\t\t\t\t0x84C9\n#define GL_TEXTURE10_ARB\t\t\t0x84CA\n#define GL_TEXTURE11_ARB\t\t\t0x84CB\n#define GL_TEXTURE12_ARB\t\t\t0x84CC\n#define GL_TEXTURE13_ARB\t\t\t0x84CD\n#define GL_TEXTURE14_ARB\t\t\t0x84CE\n#define GL_TEXTURE15_ARB\t\t\t0x84CF\n#define GL_TEXTURE16_ARB\t\t\t0x84D0\n#define GL_TEXTURE17_ARB\t\t\t0x84D1\n#define GL_TEXTURE18_ARB\t\t\t0x84D2\n#define GL_TEXTURE19_ARB\t\t\t0x84D3\n#define GL_TEXTURE20_ARB\t\t\t0x84D4\n#define GL_TEXTURE21_ARB\t\t\t0x84D5\n#define GL_TEXTURE22_ARB\t\t\t0x84D6\n#define GL_TEXTURE23_ARB\t\t\t0x84D7\n#define GL_TEXTURE24_ARB\t\t\t0x84D8\n#define GL_TEXTURE25_ARB\t\t\t0x84D9\n#define GL_TEXTURE26_ARB\t\t\t0x84DA\n#define GL_TEXTURE27_ARB\t\t\t0x84DB\n#define GL_TEXTURE28_ARB\t\t\t0x84DC\n#define GL_TEXTURE29_ARB\t\t\t0x84DD\n#define GL_TEXTURE30_ARB\t\t\t0x84DE\n#define GL_TEXTURE31_ARB\t\t\t0x84DF\n#define GL_ACTIVE_TEXTURE_ARB\t\t\t0x84E0\n#define GL_CLIENT_ACTIVE_TEXTURE_ARB\t\t0x84E1\n#define GL_MAX_TEXTURE_UNITS_ARB\t\t0x84E2\n\nGLAPI void GLAPIENTRY glActiveTextureARB(GLenum texture);\nGLAPI void GLAPIENTRY glClientActiveTextureARB(GLenum texture);\nGLAPI void GLAPIENTRY glMultiTexCoord1dARB(GLenum target, GLdouble s);\nGLAPI void GLAPIENTRY glMultiTexCoord1dvARB(GLenum target, const GLdouble *v);\nGLAPI void GLAPIENTRY glMultiTexCoord1fARB(GLenum target, GLfloat s);\nGLAPI void GLAPIENTRY glMultiTexCoord1fvARB(GLenum target, const GLfloat *v);\nGLAPI void GLAPIENTRY glMultiTexCoord1iARB(GLenum target, GLint s);\nGLAPI void GLAPIENTRY glMultiTexCoord1ivARB(GLenum target, const GLint *v);\nGLAPI void GLAPIENTRY glMultiTexCoord1sARB(GLenum target, GLshort s);\nGLAPI void GLAPIENTRY glMultiTexCoord1svARB(GLenum target, const GLshort *v);\nGLAPI void GLAPIENTRY glMultiTexCoord2dARB(GLenum target, GLdouble s, GLdouble t);\nGLAPI void GLAPIENTRY glMultiTexCoord2dvARB(GLenum target, const GLdouble *v);\nGLAPI void GLAPIENTRY glMultiTexCoord2fARB(GLenum target, GLfloat s, GLfloat t);\nGLAPI void GLAPIENTRY glMultiTexCoord2fvARB(GLenum target, const GLfloat *v);\nGLAPI void GLAPIENTRY glMultiTexCoord2iARB(GLenum target, GLint s, GLint t);\nGLAPI void GLAPIENTRY glMultiTexCoord2ivARB(GLenum target, const GLint *v);\nGLAPI void GLAPIENTRY glMultiTexCoord2sARB(GLenum target, GLshort s, GLshort t);\nGLAPI void GLAPIENTRY glMultiTexCoord2svARB(GLenum target, const GLshort *v);\nGLAPI void GLAPIENTRY glMultiTexCoord3dARB(GLenum target, GLdouble s, GLdouble t, GLdouble r);\nGLAPI void GLAPIENTRY glMultiTexCoord3dvARB(GLenum target, const GLdouble *v);\nGLAPI void GLAPIENTRY glMultiTexCoord3fARB(GLenum target, GLfloat s, GLfloat t, GLfloat r);\nGLAPI void GLAPIENTRY glMultiTexCoord3fvARB(GLenum target, const GLfloat *v);\nGLAPI void GLAPIENTRY glMultiTexCoord3iARB(GLenum target, GLint s, GLint t, GLint r);\nGLAPI void GLAPIENTRY glMultiTexCoord3ivARB(GLenum target, const GLint *v);\nGLAPI void GLAPIENTRY glMultiTexCoord3sARB(GLenum target, GLshort s, GLshort t, GLshort r);\nGLAPI void GLAPIENTRY glMultiTexCoord3svARB(GLenum target, const GLshort *v);\nGLAPI void GLAPIENTRY glMultiTexCoord4dARB(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);\nGLAPI void GLAPIENTRY glMultiTexCoord4dvARB(GLenum target, const GLdouble *v);\nGLAPI void GLAPIENTRY glMultiTexCoord4fARB(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);\nGLAPI void GLAPIENTRY glMultiTexCoord4fvARB(GLenum target, const GLfloat *v);\nGLAPI void GLAPIENTRY glMultiTexCoord4iARB(GLenum target, GLint s, GLint t, GLint r, GLint q);\nGLAPI void GLAPIENTRY glMultiTexCoord4ivARB(GLenum target, const GLint *v);\nGLAPI void GLAPIENTRY glMultiTexCoord4sARB(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);\nGLAPI void GLAPIENTRY glMultiTexCoord4svARB(GLenum target, const GLshort *v);\n\ntypedef void (APIENTRYP PFNGLACTIVETEXTUREARBPROC) (GLenum texture);\ntypedef void (APIENTRYP PFNGLCLIENTACTIVETEXTUREARBPROC) (GLenum texture);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD1DARBPROC) (GLenum target, GLdouble s);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD1DVARBPROC) (GLenum target, const GLdouble *v);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD1FARBPROC) (GLenum target, GLfloat s);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD1FVARBPROC) (GLenum target, const GLfloat *v);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD1IARBPROC) (GLenum target, GLint s);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD1IVARBPROC) (GLenum target, const GLint *v);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD1SARBPROC) (GLenum target, GLshort s);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD1SVARBPROC) (GLenum target, const GLshort *v);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD2DARBPROC) (GLenum target, GLdouble s, GLdouble t);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD2DVARBPROC) (GLenum target, const GLdouble *v);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD2FARBPROC) (GLenum target, GLfloat s, GLfloat t);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD2FVARBPROC) (GLenum target, const GLfloat *v);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD2IARBPROC) (GLenum target, GLint s, GLint t);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD2IVARBPROC) (GLenum target, const GLint *v);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD2SARBPROC) (GLenum target, GLshort s, GLshort t);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD2SVARBPROC) (GLenum target, const GLshort *v);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD3DARBPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD3DVARBPROC) (GLenum target, const GLdouble *v);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD3FARBPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD3FVARBPROC) (GLenum target, const GLfloat *v);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD3IARBPROC) (GLenum target, GLint s, GLint t, GLint r);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD3IVARBPROC) (GLenum target, const GLint *v);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD3SARBPROC) (GLenum target, GLshort s, GLshort t, GLshort r);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD3SVARBPROC) (GLenum target, const GLshort *v);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD4DARBPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD4DVARBPROC) (GLenum target, const GLdouble *v);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD4FARBPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD4FVARBPROC) (GLenum target, const GLfloat *v);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD4IARBPROC) (GLenum target, GLint s, GLint t, GLint r, GLint q);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD4IVARBPROC) (GLenum target, const GLint *v);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD4SARBPROC) (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD4SVARBPROC) (GLenum target, const GLshort *v);\n\n#endif /* GL_ARB_multitexture */\n\n\n\n/*\n * Define this token if you want \"old-style\" header file behaviour (extensions\n * defined in gl.h).  Otherwise, extensions will be included from glext.h.\n */\n#if !defined(NO_SDL_GLEXT) && !defined(GL_GLEXT_LEGACY)\n#include \"SDL_opengl_glext.h\"\n#endif  /* GL_GLEXT_LEGACY */\n\n\n\n/*\n * ???. GL_MESA_packed_depth_stencil\n * XXX obsolete\n */\n#ifndef GL_MESA_packed_depth_stencil\n#define GL_MESA_packed_depth_stencil 1\n\n#define GL_DEPTH_STENCIL_MESA\t\t\t0x8750\n#define GL_UNSIGNED_INT_24_8_MESA\t\t0x8751\n#define GL_UNSIGNED_INT_8_24_REV_MESA\t\t0x8752\n#define GL_UNSIGNED_SHORT_15_1_MESA\t\t0x8753\n#define GL_UNSIGNED_SHORT_1_15_REV_MESA\t\t0x8754\n\n#endif /* GL_MESA_packed_depth_stencil */\n\n\n#ifndef GL_ATI_blend_equation_separate\n#define GL_ATI_blend_equation_separate 1\n\n#define GL_ALPHA_BLEND_EQUATION_ATI\t        0x883D\n\nGLAPI void GLAPIENTRY glBlendEquationSeparateATI( GLenum modeRGB, GLenum modeA );\ntypedef void (APIENTRYP PFNGLBLENDEQUATIONSEPARATEATIPROC) (GLenum modeRGB, GLenum modeA);\n\n#endif /* GL_ATI_blend_equation_separate */\n\n\n/* GL_OES_EGL_image */\n#ifndef GL_OES_EGL_image\ntypedef void* GLeglImageOES;\n#endif\n\n#ifndef GL_OES_EGL_image\n#define GL_OES_EGL_image 1\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glEGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image);\nGLAPI void APIENTRY glEGLImageTargetRenderbufferStorageOES (GLenum target, GLeglImageOES image);\n#endif\ntypedef void (APIENTRYP PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) (GLenum target, GLeglImageOES image);\ntypedef void (APIENTRYP PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLeglImageOES image);\n#endif\n\n\n/**\n ** NOTE!!!!!  If you add new functions to this file, or update\n ** glext.h be sure to regenerate the gl_mangle.h file.  See comments\n ** in that file for details.\n **/\n\n\n\n/**********************************************************************\n * Begin system-specific stuff\n */\n#if defined(PRAGMA_EXPORT_SUPPORTED)\n#pragma export off\n#endif\n\n/*\n * End system-specific stuff\n **********************************************************************/\n\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif /* __gl_h_ */\n\n#endif /* !__IPHONEOS__ */\n\n#endif /* _SDL_opengl_h */\n\n/* vi: set ts=4 sw=4 expandtab: */\n"
  },
  {
    "path": "external/SDL2-2.0.4/include/SDL_opengl_glext.h",
    "content": "#ifndef __glext_h_\n#define __glext_h_ 1\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n/*\n** Copyright (c) 2013-2014 The Khronos Group Inc.\n**\n** Permission is hereby granted, free of charge, to any person obtaining a\n** copy of this software and/or associated documentation files (the\n** \"Materials\"), to deal in the Materials without restriction, including\n** without limitation the rights to use, copy, modify, merge, publish,\n** distribute, sublicense, and/or sell copies of the Materials, and to\n** permit persons to whom the Materials are furnished to do so, subject to\n** the following conditions:\n**\n** The above copyright notice and this permission notice shall be included\n** in all copies or substantial portions of the Materials.\n**\n** THE MATERIALS ARE PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\n** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\n** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\n** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\n** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.\n*/\n/*\n** This header is generated from the Khronos OpenGL / OpenGL ES XML\n** API Registry. The current version of the Registry, generator scripts\n** used to make the header, and the header can be found at\n**   http://www.opengl.org/registry/\n**\n** Khronos $Revision: 26745 $ on $Date: 2014-05-21 03:12:26 -0700 (Wed, 21 May 2014) $\n*/\n\n#if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__)\n#ifndef WIN32_LEAN_AND_MEAN\n#define WIN32_LEAN_AND_MEAN 1\n#endif\n#include <windows.h>\n#endif\n\n#ifndef APIENTRY\n#define APIENTRY\n#endif\n#ifndef APIENTRYP\n#define APIENTRYP APIENTRY *\n#endif\n#ifndef GLAPI\n#define GLAPI extern\n#endif\n\n#define GL_GLEXT_VERSION 20140521\n\n/* Generated C header for:\n * API: gl\n * Profile: compatibility\n * Versions considered: .*\n * Versions emitted: 1\\.[2-9]|[234]\\.[0-9]\n * Default extensions included: gl\n * Additional extensions included: _nomatch_^\n * Extensions removed: _nomatch_^\n */\n\n#ifndef GL_VERSION_1_2\n#define GL_VERSION_1_2 1\n#define GL_UNSIGNED_BYTE_3_3_2            0x8032\n#define GL_UNSIGNED_SHORT_4_4_4_4         0x8033\n#define GL_UNSIGNED_SHORT_5_5_5_1         0x8034\n#define GL_UNSIGNED_INT_8_8_8_8           0x8035\n#define GL_UNSIGNED_INT_10_10_10_2        0x8036\n#define GL_TEXTURE_BINDING_3D             0x806A\n#define GL_PACK_SKIP_IMAGES               0x806B\n#define GL_PACK_IMAGE_HEIGHT              0x806C\n#define GL_UNPACK_SKIP_IMAGES             0x806D\n#define GL_UNPACK_IMAGE_HEIGHT            0x806E\n#define GL_TEXTURE_3D                     0x806F\n#define GL_PROXY_TEXTURE_3D               0x8070\n#define GL_TEXTURE_DEPTH                  0x8071\n#define GL_TEXTURE_WRAP_R                 0x8072\n#define GL_MAX_3D_TEXTURE_SIZE            0x8073\n#define GL_UNSIGNED_BYTE_2_3_3_REV        0x8362\n#define GL_UNSIGNED_SHORT_5_6_5           0x8363\n#define GL_UNSIGNED_SHORT_5_6_5_REV       0x8364\n#define GL_UNSIGNED_SHORT_4_4_4_4_REV     0x8365\n#define GL_UNSIGNED_SHORT_1_5_5_5_REV     0x8366\n#define GL_UNSIGNED_INT_8_8_8_8_REV       0x8367\n#define GL_UNSIGNED_INT_2_10_10_10_REV    0x8368\n#define GL_BGR                            0x80E0\n#define GL_BGRA                           0x80E1\n#define GL_MAX_ELEMENTS_VERTICES          0x80E8\n#define GL_MAX_ELEMENTS_INDICES           0x80E9\n#define GL_CLAMP_TO_EDGE                  0x812F\n#define GL_TEXTURE_MIN_LOD                0x813A\n#define GL_TEXTURE_MAX_LOD                0x813B\n#define GL_TEXTURE_BASE_LEVEL             0x813C\n#define GL_TEXTURE_MAX_LEVEL              0x813D\n#define GL_SMOOTH_POINT_SIZE_RANGE        0x0B12\n#define GL_SMOOTH_POINT_SIZE_GRANULARITY  0x0B13\n#define GL_SMOOTH_LINE_WIDTH_RANGE        0x0B22\n#define GL_SMOOTH_LINE_WIDTH_GRANULARITY  0x0B23\n#define GL_ALIASED_LINE_WIDTH_RANGE       0x846E\n#define GL_RESCALE_NORMAL                 0x803A\n#define GL_LIGHT_MODEL_COLOR_CONTROL      0x81F8\n#define GL_SINGLE_COLOR                   0x81F9\n#define GL_SEPARATE_SPECULAR_COLOR        0x81FA\n#define GL_ALIASED_POINT_SIZE_RANGE       0x846D\ntypedef void (APIENTRYP PFNGLDRAWRANGEELEMENTSPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices);\ntypedef void (APIENTRYP PFNGLTEXIMAGE3DPROC) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels);\ntypedef void (APIENTRYP PFNGLTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels);\ntypedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glDrawRangeElements (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices);\nGLAPI void APIENTRY glTexImage3D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels);\nGLAPI void APIENTRY glTexSubImage3D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels);\nGLAPI void APIENTRY glCopyTexSubImage3D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);\n#endif\n#endif /* GL_VERSION_1_2 */\n\n#ifndef GL_VERSION_1_3\n#define GL_VERSION_1_3 1\n#define GL_TEXTURE0                       0x84C0\n#define GL_TEXTURE1                       0x84C1\n#define GL_TEXTURE2                       0x84C2\n#define GL_TEXTURE3                       0x84C3\n#define GL_TEXTURE4                       0x84C4\n#define GL_TEXTURE5                       0x84C5\n#define GL_TEXTURE6                       0x84C6\n#define GL_TEXTURE7                       0x84C7\n#define GL_TEXTURE8                       0x84C8\n#define GL_TEXTURE9                       0x84C9\n#define GL_TEXTURE10                      0x84CA\n#define GL_TEXTURE11                      0x84CB\n#define GL_TEXTURE12                      0x84CC\n#define GL_TEXTURE13                      0x84CD\n#define GL_TEXTURE14                      0x84CE\n#define GL_TEXTURE15                      0x84CF\n#define GL_TEXTURE16                      0x84D0\n#define GL_TEXTURE17                      0x84D1\n#define GL_TEXTURE18                      0x84D2\n#define GL_TEXTURE19                      0x84D3\n#define GL_TEXTURE20                      0x84D4\n#define GL_TEXTURE21                      0x84D5\n#define GL_TEXTURE22                      0x84D6\n#define GL_TEXTURE23                      0x84D7\n#define GL_TEXTURE24                      0x84D8\n#define GL_TEXTURE25                      0x84D9\n#define GL_TEXTURE26                      0x84DA\n#define GL_TEXTURE27                      0x84DB\n#define GL_TEXTURE28                      0x84DC\n#define GL_TEXTURE29                      0x84DD\n#define GL_TEXTURE30                      0x84DE\n#define GL_TEXTURE31                      0x84DF\n#define GL_ACTIVE_TEXTURE                 0x84E0\n#define GL_MULTISAMPLE                    0x809D\n#define GL_SAMPLE_ALPHA_TO_COVERAGE       0x809E\n#define GL_SAMPLE_ALPHA_TO_ONE            0x809F\n#define GL_SAMPLE_COVERAGE                0x80A0\n#define GL_SAMPLE_BUFFERS                 0x80A8\n#define GL_SAMPLES                        0x80A9\n#define GL_SAMPLE_COVERAGE_VALUE          0x80AA\n#define GL_SAMPLE_COVERAGE_INVERT         0x80AB\n#define GL_TEXTURE_CUBE_MAP               0x8513\n#define GL_TEXTURE_BINDING_CUBE_MAP       0x8514\n#define GL_TEXTURE_CUBE_MAP_POSITIVE_X    0x8515\n#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X    0x8516\n#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y    0x8517\n#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y    0x8518\n#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z    0x8519\n#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z    0x851A\n#define GL_PROXY_TEXTURE_CUBE_MAP         0x851B\n#define GL_MAX_CUBE_MAP_TEXTURE_SIZE      0x851C\n#define GL_COMPRESSED_RGB                 0x84ED\n#define GL_COMPRESSED_RGBA                0x84EE\n#define GL_TEXTURE_COMPRESSION_HINT       0x84EF\n#define GL_TEXTURE_COMPRESSED_IMAGE_SIZE  0x86A0\n#define GL_TEXTURE_COMPRESSED             0x86A1\n#define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2\n#define GL_COMPRESSED_TEXTURE_FORMATS     0x86A3\n#define GL_CLAMP_TO_BORDER                0x812D\n#define GL_CLIENT_ACTIVE_TEXTURE          0x84E1\n#define GL_MAX_TEXTURE_UNITS              0x84E2\n#define GL_TRANSPOSE_MODELVIEW_MATRIX     0x84E3\n#define GL_TRANSPOSE_PROJECTION_MATRIX    0x84E4\n#define GL_TRANSPOSE_TEXTURE_MATRIX       0x84E5\n#define GL_TRANSPOSE_COLOR_MATRIX         0x84E6\n#define GL_MULTISAMPLE_BIT                0x20000000\n#define GL_NORMAL_MAP                     0x8511\n#define GL_REFLECTION_MAP                 0x8512\n#define GL_COMPRESSED_ALPHA               0x84E9\n#define GL_COMPRESSED_LUMINANCE           0x84EA\n#define GL_COMPRESSED_LUMINANCE_ALPHA     0x84EB\n#define GL_COMPRESSED_INTENSITY           0x84EC\n#define GL_COMBINE                        0x8570\n#define GL_COMBINE_RGB                    0x8571\n#define GL_COMBINE_ALPHA                  0x8572\n#define GL_SOURCE0_RGB                    0x8580\n#define GL_SOURCE1_RGB                    0x8581\n#define GL_SOURCE2_RGB                    0x8582\n#define GL_SOURCE0_ALPHA                  0x8588\n#define GL_SOURCE1_ALPHA                  0x8589\n#define GL_SOURCE2_ALPHA                  0x858A\n#define GL_OPERAND0_RGB                   0x8590\n#define GL_OPERAND1_RGB                   0x8591\n#define GL_OPERAND2_RGB                   0x8592\n#define GL_OPERAND0_ALPHA                 0x8598\n#define GL_OPERAND1_ALPHA                 0x8599\n#define GL_OPERAND2_ALPHA                 0x859A\n#define GL_RGB_SCALE                      0x8573\n#define GL_ADD_SIGNED                     0x8574\n#define GL_INTERPOLATE                    0x8575\n#define GL_SUBTRACT                       0x84E7\n#define GL_CONSTANT                       0x8576\n#define GL_PRIMARY_COLOR                  0x8577\n#define GL_PREVIOUS                       0x8578\n#define GL_DOT3_RGB                       0x86AE\n#define GL_DOT3_RGBA                      0x86AF\ntypedef void (APIENTRYP PFNGLACTIVETEXTUREPROC) (GLenum texture);\ntypedef void (APIENTRYP PFNGLSAMPLECOVERAGEPROC) (GLfloat value, GLboolean invert);\ntypedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data);\ntypedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE2DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data);\ntypedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE1DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void *data);\ntypedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data);\ntypedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data);\ntypedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *data);\ntypedef void (APIENTRYP PFNGLGETCOMPRESSEDTEXIMAGEPROC) (GLenum target, GLint level, void *img);\ntypedef void (APIENTRYP PFNGLCLIENTACTIVETEXTUREPROC) (GLenum texture);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD1DPROC) (GLenum target, GLdouble s);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD1DVPROC) (GLenum target, const GLdouble *v);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD1FPROC) (GLenum target, GLfloat s);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD1FVPROC) (GLenum target, const GLfloat *v);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD1IPROC) (GLenum target, GLint s);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD1IVPROC) (GLenum target, const GLint *v);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD1SPROC) (GLenum target, GLshort s);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD1SVPROC) (GLenum target, const GLshort *v);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD2DPROC) (GLenum target, GLdouble s, GLdouble t);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD2DVPROC) (GLenum target, const GLdouble *v);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD2FPROC) (GLenum target, GLfloat s, GLfloat t);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD2FVPROC) (GLenum target, const GLfloat *v);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD2IPROC) (GLenum target, GLint s, GLint t);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD2IVPROC) (GLenum target, const GLint *v);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD2SPROC) (GLenum target, GLshort s, GLshort t);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD2SVPROC) (GLenum target, const GLshort *v);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD3DPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD3DVPROC) (GLenum target, const GLdouble *v);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD3FPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD3FVPROC) (GLenum target, const GLfloat *v);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD3IPROC) (GLenum target, GLint s, GLint t, GLint r);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD3IVPROC) (GLenum target, const GLint *v);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD3SPROC) (GLenum target, GLshort s, GLshort t, GLshort r);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD3SVPROC) (GLenum target, const GLshort *v);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD4DPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD4DVPROC) (GLenum target, const GLdouble *v);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD4FPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD4FVPROC) (GLenum target, const GLfloat *v);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD4IPROC) (GLenum target, GLint s, GLint t, GLint r, GLint q);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD4IVPROC) (GLenum target, const GLint *v);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD4SPROC) (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD4SVPROC) (GLenum target, const GLshort *v);\ntypedef void (APIENTRYP PFNGLLOADTRANSPOSEMATRIXFPROC) (const GLfloat *m);\ntypedef void (APIENTRYP PFNGLLOADTRANSPOSEMATRIXDPROC) (const GLdouble *m);\ntypedef void (APIENTRYP PFNGLMULTTRANSPOSEMATRIXFPROC) (const GLfloat *m);\ntypedef void (APIENTRYP PFNGLMULTTRANSPOSEMATRIXDPROC) (const GLdouble *m);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glActiveTexture (GLenum texture);\nGLAPI void APIENTRY glSampleCoverage (GLfloat value, GLboolean invert);\nGLAPI void APIENTRY glCompressedTexImage3D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data);\nGLAPI void APIENTRY glCompressedTexImage2D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data);\nGLAPI void APIENTRY glCompressedTexImage1D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void *data);\nGLAPI void APIENTRY glCompressedTexSubImage3D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data);\nGLAPI void APIENTRY glCompressedTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data);\nGLAPI void APIENTRY glCompressedTexSubImage1D (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *data);\nGLAPI void APIENTRY glGetCompressedTexImage (GLenum target, GLint level, void *img);\nGLAPI void APIENTRY glClientActiveTexture (GLenum texture);\nGLAPI void APIENTRY glMultiTexCoord1d (GLenum target, GLdouble s);\nGLAPI void APIENTRY glMultiTexCoord1dv (GLenum target, const GLdouble *v);\nGLAPI void APIENTRY glMultiTexCoord1f (GLenum target, GLfloat s);\nGLAPI void APIENTRY glMultiTexCoord1fv (GLenum target, const GLfloat *v);\nGLAPI void APIENTRY glMultiTexCoord1i (GLenum target, GLint s);\nGLAPI void APIENTRY glMultiTexCoord1iv (GLenum target, const GLint *v);\nGLAPI void APIENTRY glMultiTexCoord1s (GLenum target, GLshort s);\nGLAPI void APIENTRY glMultiTexCoord1sv (GLenum target, const GLshort *v);\nGLAPI void APIENTRY glMultiTexCoord2d (GLenum target, GLdouble s, GLdouble t);\nGLAPI void APIENTRY glMultiTexCoord2dv (GLenum target, const GLdouble *v);\nGLAPI void APIENTRY glMultiTexCoord2f (GLenum target, GLfloat s, GLfloat t);\nGLAPI void APIENTRY glMultiTexCoord2fv (GLenum target, const GLfloat *v);\nGLAPI void APIENTRY glMultiTexCoord2i (GLenum target, GLint s, GLint t);\nGLAPI void APIENTRY glMultiTexCoord2iv (GLenum target, const GLint *v);\nGLAPI void APIENTRY glMultiTexCoord2s (GLenum target, GLshort s, GLshort t);\nGLAPI void APIENTRY glMultiTexCoord2sv (GLenum target, const GLshort *v);\nGLAPI void APIENTRY glMultiTexCoord3d (GLenum target, GLdouble s, GLdouble t, GLdouble r);\nGLAPI void APIENTRY glMultiTexCoord3dv (GLenum target, const GLdouble *v);\nGLAPI void APIENTRY glMultiTexCoord3f (GLenum target, GLfloat s, GLfloat t, GLfloat r);\nGLAPI void APIENTRY glMultiTexCoord3fv (GLenum target, const GLfloat *v);\nGLAPI void APIENTRY glMultiTexCoord3i (GLenum target, GLint s, GLint t, GLint r);\nGLAPI void APIENTRY glMultiTexCoord3iv (GLenum target, const GLint *v);\nGLAPI void APIENTRY glMultiTexCoord3s (GLenum target, GLshort s, GLshort t, GLshort r);\nGLAPI void APIENTRY glMultiTexCoord3sv (GLenum target, const GLshort *v);\nGLAPI void APIENTRY glMultiTexCoord4d (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);\nGLAPI void APIENTRY glMultiTexCoord4dv (GLenum target, const GLdouble *v);\nGLAPI void APIENTRY glMultiTexCoord4f (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);\nGLAPI void APIENTRY glMultiTexCoord4fv (GLenum target, const GLfloat *v);\nGLAPI void APIENTRY glMultiTexCoord4i (GLenum target, GLint s, GLint t, GLint r, GLint q);\nGLAPI void APIENTRY glMultiTexCoord4iv (GLenum target, const GLint *v);\nGLAPI void APIENTRY glMultiTexCoord4s (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);\nGLAPI void APIENTRY glMultiTexCoord4sv (GLenum target, const GLshort *v);\nGLAPI void APIENTRY glLoadTransposeMatrixf (const GLfloat *m);\nGLAPI void APIENTRY glLoadTransposeMatrixd (const GLdouble *m);\nGLAPI void APIENTRY glMultTransposeMatrixf (const GLfloat *m);\nGLAPI void APIENTRY glMultTransposeMatrixd (const GLdouble *m);\n#endif\n#endif /* GL_VERSION_1_3 */\n\n#ifndef GL_VERSION_1_4\n#define GL_VERSION_1_4 1\n#define GL_BLEND_DST_RGB                  0x80C8\n#define GL_BLEND_SRC_RGB                  0x80C9\n#define GL_BLEND_DST_ALPHA                0x80CA\n#define GL_BLEND_SRC_ALPHA                0x80CB\n#define GL_POINT_FADE_THRESHOLD_SIZE      0x8128\n#define GL_DEPTH_COMPONENT16              0x81A5\n#define GL_DEPTH_COMPONENT24              0x81A6\n#define GL_DEPTH_COMPONENT32              0x81A7\n#define GL_MIRRORED_REPEAT                0x8370\n#define GL_MAX_TEXTURE_LOD_BIAS           0x84FD\n#define GL_TEXTURE_LOD_BIAS               0x8501\n#define GL_INCR_WRAP                      0x8507\n#define GL_DECR_WRAP                      0x8508\n#define GL_TEXTURE_DEPTH_SIZE             0x884A\n#define GL_TEXTURE_COMPARE_MODE           0x884C\n#define GL_TEXTURE_COMPARE_FUNC           0x884D\n#define GL_POINT_SIZE_MIN                 0x8126\n#define GL_POINT_SIZE_MAX                 0x8127\n#define GL_POINT_DISTANCE_ATTENUATION     0x8129\n#define GL_GENERATE_MIPMAP                0x8191\n#define GL_GENERATE_MIPMAP_HINT           0x8192\n#define GL_FOG_COORDINATE_SOURCE          0x8450\n#define GL_FOG_COORDINATE                 0x8451\n#define GL_FRAGMENT_DEPTH                 0x8452\n#define GL_CURRENT_FOG_COORDINATE         0x8453\n#define GL_FOG_COORDINATE_ARRAY_TYPE      0x8454\n#define GL_FOG_COORDINATE_ARRAY_STRIDE    0x8455\n#define GL_FOG_COORDINATE_ARRAY_POINTER   0x8456\n#define GL_FOG_COORDINATE_ARRAY           0x8457\n#define GL_COLOR_SUM                      0x8458\n#define GL_CURRENT_SECONDARY_COLOR        0x8459\n#define GL_SECONDARY_COLOR_ARRAY_SIZE     0x845A\n#define GL_SECONDARY_COLOR_ARRAY_TYPE     0x845B\n#define GL_SECONDARY_COLOR_ARRAY_STRIDE   0x845C\n#define GL_SECONDARY_COLOR_ARRAY_POINTER  0x845D\n#define GL_SECONDARY_COLOR_ARRAY          0x845E\n#define GL_TEXTURE_FILTER_CONTROL         0x8500\n#define GL_DEPTH_TEXTURE_MODE             0x884B\n#define GL_COMPARE_R_TO_TEXTURE           0x884E\n#define GL_FUNC_ADD                       0x8006\n#define GL_FUNC_SUBTRACT                  0x800A\n#define GL_FUNC_REVERSE_SUBTRACT          0x800B\n#define GL_MIN                            0x8007\n#define GL_MAX                            0x8008\n#define GL_CONSTANT_COLOR                 0x8001\n#define GL_ONE_MINUS_CONSTANT_COLOR       0x8002\n#define GL_CONSTANT_ALPHA                 0x8003\n#define GL_ONE_MINUS_CONSTANT_ALPHA       0x8004\ntypedef void (APIENTRYP PFNGLBLENDFUNCSEPARATEPROC) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);\ntypedef void (APIENTRYP PFNGLMULTIDRAWARRAYSPROC) (GLenum mode, const GLint *first, const GLsizei *count, GLsizei drawcount);\ntypedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSPROC) (GLenum mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei drawcount);\ntypedef void (APIENTRYP PFNGLPOINTPARAMETERFPROC) (GLenum pname, GLfloat param);\ntypedef void (APIENTRYP PFNGLPOINTPARAMETERFVPROC) (GLenum pname, const GLfloat *params);\ntypedef void (APIENTRYP PFNGLPOINTPARAMETERIPROC) (GLenum pname, GLint param);\ntypedef void (APIENTRYP PFNGLPOINTPARAMETERIVPROC) (GLenum pname, const GLint *params);\ntypedef void (APIENTRYP PFNGLFOGCOORDFPROC) (GLfloat coord);\ntypedef void (APIENTRYP PFNGLFOGCOORDFVPROC) (const GLfloat *coord);\ntypedef void (APIENTRYP PFNGLFOGCOORDDPROC) (GLdouble coord);\ntypedef void (APIENTRYP PFNGLFOGCOORDDVPROC) (const GLdouble *coord);\ntypedef void (APIENTRYP PFNGLFOGCOORDPOINTERPROC) (GLenum type, GLsizei stride, const void *pointer);\ntypedef void (APIENTRYP PFNGLSECONDARYCOLOR3BPROC) (GLbyte red, GLbyte green, GLbyte blue);\ntypedef void (APIENTRYP PFNGLSECONDARYCOLOR3BVPROC) (const GLbyte *v);\ntypedef void (APIENTRYP PFNGLSECONDARYCOLOR3DPROC) (GLdouble red, GLdouble green, GLdouble blue);\ntypedef void (APIENTRYP PFNGLSECONDARYCOLOR3DVPROC) (const GLdouble *v);\ntypedef void (APIENTRYP PFNGLSECONDARYCOLOR3FPROC) (GLfloat red, GLfloat green, GLfloat blue);\ntypedef void (APIENTRYP PFNGLSECONDARYCOLOR3FVPROC) (const GLfloat *v);\ntypedef void (APIENTRYP PFNGLSECONDARYCOLOR3IPROC) (GLint red, GLint green, GLint blue);\ntypedef void (APIENTRYP PFNGLSECONDARYCOLOR3IVPROC) (const GLint *v);\ntypedef void (APIENTRYP PFNGLSECONDARYCOLOR3SPROC) (GLshort red, GLshort green, GLshort blue);\ntypedef void (APIENTRYP PFNGLSECONDARYCOLOR3SVPROC) (const GLshort *v);\ntypedef void (APIENTRYP PFNGLSECONDARYCOLOR3UBPROC) (GLubyte red, GLubyte green, GLubyte blue);\ntypedef void (APIENTRYP PFNGLSECONDARYCOLOR3UBVPROC) (const GLubyte *v);\ntypedef void (APIENTRYP PFNGLSECONDARYCOLOR3UIPROC) (GLuint red, GLuint green, GLuint blue);\ntypedef void (APIENTRYP PFNGLSECONDARYCOLOR3UIVPROC) (const GLuint *v);\ntypedef void (APIENTRYP PFNGLSECONDARYCOLOR3USPROC) (GLushort red, GLushort green, GLushort blue);\ntypedef void (APIENTRYP PFNGLSECONDARYCOLOR3USVPROC) (const GLushort *v);\ntypedef void (APIENTRYP PFNGLSECONDARYCOLORPOINTERPROC) (GLint size, GLenum type, GLsizei stride, const void *pointer);\ntypedef void (APIENTRYP PFNGLWINDOWPOS2DPROC) (GLdouble x, GLdouble y);\ntypedef void (APIENTRYP PFNGLWINDOWPOS2DVPROC) (const GLdouble *v);\ntypedef void (APIENTRYP PFNGLWINDOWPOS2FPROC) (GLfloat x, GLfloat y);\ntypedef void (APIENTRYP PFNGLWINDOWPOS2FVPROC) (const GLfloat *v);\ntypedef void (APIENTRYP PFNGLWINDOWPOS2IPROC) (GLint x, GLint y);\ntypedef void (APIENTRYP PFNGLWINDOWPOS2IVPROC) (const GLint *v);\ntypedef void (APIENTRYP PFNGLWINDOWPOS2SPROC) (GLshort x, GLshort y);\ntypedef void (APIENTRYP PFNGLWINDOWPOS2SVPROC) (const GLshort *v);\ntypedef void (APIENTRYP PFNGLWINDOWPOS3DPROC) (GLdouble x, GLdouble y, GLdouble z);\ntypedef void (APIENTRYP PFNGLWINDOWPOS3DVPROC) (const GLdouble *v);\ntypedef void (APIENTRYP PFNGLWINDOWPOS3FPROC) (GLfloat x, GLfloat y, GLfloat z);\ntypedef void (APIENTRYP PFNGLWINDOWPOS3FVPROC) (const GLfloat *v);\ntypedef void (APIENTRYP PFNGLWINDOWPOS3IPROC) (GLint x, GLint y, GLint z);\ntypedef void (APIENTRYP PFNGLWINDOWPOS3IVPROC) (const GLint *v);\ntypedef void (APIENTRYP PFNGLWINDOWPOS3SPROC) (GLshort x, GLshort y, GLshort z);\ntypedef void (APIENTRYP PFNGLWINDOWPOS3SVPROC) (const GLshort *v);\ntypedef void (APIENTRYP PFNGLBLENDCOLORPROC) (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);\ntypedef void (APIENTRYP PFNGLBLENDEQUATIONPROC) (GLenum mode);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glBlendFuncSeparate (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);\nGLAPI void APIENTRY glMultiDrawArrays (GLenum mode, const GLint *first, const GLsizei *count, GLsizei drawcount);\nGLAPI void APIENTRY glMultiDrawElements (GLenum mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei drawcount);\nGLAPI void APIENTRY glPointParameterf (GLenum pname, GLfloat param);\nGLAPI void APIENTRY glPointParameterfv (GLenum pname, const GLfloat *params);\nGLAPI void APIENTRY glPointParameteri (GLenum pname, GLint param);\nGLAPI void APIENTRY glPointParameteriv (GLenum pname, const GLint *params);\nGLAPI void APIENTRY glFogCoordf (GLfloat coord);\nGLAPI void APIENTRY glFogCoordfv (const GLfloat *coord);\nGLAPI void APIENTRY glFogCoordd (GLdouble coord);\nGLAPI void APIENTRY glFogCoorddv (const GLdouble *coord);\nGLAPI void APIENTRY glFogCoordPointer (GLenum type, GLsizei stride, const void *pointer);\nGLAPI void APIENTRY glSecondaryColor3b (GLbyte red, GLbyte green, GLbyte blue);\nGLAPI void APIENTRY glSecondaryColor3bv (const GLbyte *v);\nGLAPI void APIENTRY glSecondaryColor3d (GLdouble red, GLdouble green, GLdouble blue);\nGLAPI void APIENTRY glSecondaryColor3dv (const GLdouble *v);\nGLAPI void APIENTRY glSecondaryColor3f (GLfloat red, GLfloat green, GLfloat blue);\nGLAPI void APIENTRY glSecondaryColor3fv (const GLfloat *v);\nGLAPI void APIENTRY glSecondaryColor3i (GLint red, GLint green, GLint blue);\nGLAPI void APIENTRY glSecondaryColor3iv (const GLint *v);\nGLAPI void APIENTRY glSecondaryColor3s (GLshort red, GLshort green, GLshort blue);\nGLAPI void APIENTRY glSecondaryColor3sv (const GLshort *v);\nGLAPI void APIENTRY glSecondaryColor3ub (GLubyte red, GLubyte green, GLubyte blue);\nGLAPI void APIENTRY glSecondaryColor3ubv (const GLubyte *v);\nGLAPI void APIENTRY glSecondaryColor3ui (GLuint red, GLuint green, GLuint blue);\nGLAPI void APIENTRY glSecondaryColor3uiv (const GLuint *v);\nGLAPI void APIENTRY glSecondaryColor3us (GLushort red, GLushort green, GLushort blue);\nGLAPI void APIENTRY glSecondaryColor3usv (const GLushort *v);\nGLAPI void APIENTRY glSecondaryColorPointer (GLint size, GLenum type, GLsizei stride, const void *pointer);\nGLAPI void APIENTRY glWindowPos2d (GLdouble x, GLdouble y);\nGLAPI void APIENTRY glWindowPos2dv (const GLdouble *v);\nGLAPI void APIENTRY glWindowPos2f (GLfloat x, GLfloat y);\nGLAPI void APIENTRY glWindowPos2fv (const GLfloat *v);\nGLAPI void APIENTRY glWindowPos2i (GLint x, GLint y);\nGLAPI void APIENTRY glWindowPos2iv (const GLint *v);\nGLAPI void APIENTRY glWindowPos2s (GLshort x, GLshort y);\nGLAPI void APIENTRY glWindowPos2sv (const GLshort *v);\nGLAPI void APIENTRY glWindowPos3d (GLdouble x, GLdouble y, GLdouble z);\nGLAPI void APIENTRY glWindowPos3dv (const GLdouble *v);\nGLAPI void APIENTRY glWindowPos3f (GLfloat x, GLfloat y, GLfloat z);\nGLAPI void APIENTRY glWindowPos3fv (const GLfloat *v);\nGLAPI void APIENTRY glWindowPos3i (GLint x, GLint y, GLint z);\nGLAPI void APIENTRY glWindowPos3iv (const GLint *v);\nGLAPI void APIENTRY glWindowPos3s (GLshort x, GLshort y, GLshort z);\nGLAPI void APIENTRY glWindowPos3sv (const GLshort *v);\nGLAPI void APIENTRY glBlendColor (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);\nGLAPI void APIENTRY glBlendEquation (GLenum mode);\n#endif\n#endif /* GL_VERSION_1_4 */\n\n#ifndef GL_VERSION_1_5\n#define GL_VERSION_1_5 1\n#include <stddef.h>\n#ifdef __MACOSX__\ntypedef long GLsizeiptr;\ntypedef long GLintptr;\n#else\ntypedef ptrdiff_t GLsizeiptr;\ntypedef ptrdiff_t GLintptr;\n#endif\n#define GL_BUFFER_SIZE                    0x8764\n#define GL_BUFFER_USAGE                   0x8765\n#define GL_QUERY_COUNTER_BITS             0x8864\n#define GL_CURRENT_QUERY                  0x8865\n#define GL_QUERY_RESULT                   0x8866\n#define GL_QUERY_RESULT_AVAILABLE         0x8867\n#define GL_ARRAY_BUFFER                   0x8892\n#define GL_ELEMENT_ARRAY_BUFFER           0x8893\n#define GL_ARRAY_BUFFER_BINDING           0x8894\n#define GL_ELEMENT_ARRAY_BUFFER_BINDING   0x8895\n#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING 0x889F\n#define GL_READ_ONLY                      0x88B8\n#define GL_WRITE_ONLY                     0x88B9\n#define GL_READ_WRITE                     0x88BA\n#define GL_BUFFER_ACCESS                  0x88BB\n#define GL_BUFFER_MAPPED                  0x88BC\n#define GL_BUFFER_MAP_POINTER             0x88BD\n#define GL_STREAM_DRAW                    0x88E0\n#define GL_STREAM_READ                    0x88E1\n#define GL_STREAM_COPY                    0x88E2\n#define GL_STATIC_DRAW                    0x88E4\n#define GL_STATIC_READ                    0x88E5\n#define GL_STATIC_COPY                    0x88E6\n#define GL_DYNAMIC_DRAW                   0x88E8\n#define GL_DYNAMIC_READ                   0x88E9\n#define GL_DYNAMIC_COPY                   0x88EA\n#define GL_SAMPLES_PASSED                 0x8914\n#define GL_SRC1_ALPHA                     0x8589\n#define GL_VERTEX_ARRAY_BUFFER_BINDING    0x8896\n#define GL_NORMAL_ARRAY_BUFFER_BINDING    0x8897\n#define GL_COLOR_ARRAY_BUFFER_BINDING     0x8898\n#define GL_INDEX_ARRAY_BUFFER_BINDING     0x8899\n#define GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING 0x889A\n#define GL_EDGE_FLAG_ARRAY_BUFFER_BINDING 0x889B\n#define GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING 0x889C\n#define GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING 0x889D\n#define GL_WEIGHT_ARRAY_BUFFER_BINDING    0x889E\n#define GL_FOG_COORD_SRC                  0x8450\n#define GL_FOG_COORD                      0x8451\n#define GL_CURRENT_FOG_COORD              0x8453\n#define GL_FOG_COORD_ARRAY_TYPE           0x8454\n#define GL_FOG_COORD_ARRAY_STRIDE         0x8455\n#define GL_FOG_COORD_ARRAY_POINTER        0x8456\n#define GL_FOG_COORD_ARRAY                0x8457\n#define GL_FOG_COORD_ARRAY_BUFFER_BINDING 0x889D\n#define GL_SRC0_RGB                       0x8580\n#define GL_SRC1_RGB                       0x8581\n#define GL_SRC2_RGB                       0x8582\n#define GL_SRC0_ALPHA                     0x8588\n#define GL_SRC2_ALPHA                     0x858A\ntypedef void (APIENTRYP PFNGLGENQUERIESPROC) (GLsizei n, GLuint *ids);\ntypedef void (APIENTRYP PFNGLDELETEQUERIESPROC) (GLsizei n, const GLuint *ids);\ntypedef GLboolean (APIENTRYP PFNGLISQUERYPROC) (GLuint id);\ntypedef void (APIENTRYP PFNGLBEGINQUERYPROC) (GLenum target, GLuint id);\ntypedef void (APIENTRYP PFNGLENDQUERYPROC) (GLenum target);\ntypedef void (APIENTRYP PFNGLGETQUERYIVPROC) (GLenum target, GLenum pname, GLint *params);\ntypedef void (APIENTRYP PFNGLGETQUERYOBJECTIVPROC) (GLuint id, GLenum pname, GLint *params);\ntypedef void (APIENTRYP PFNGLGETQUERYOBJECTUIVPROC) (GLuint id, GLenum pname, GLuint *params);\ntypedef void (APIENTRYP PFNGLBINDBUFFERPROC) (GLenum target, GLuint buffer);\ntypedef void (APIENTRYP PFNGLDELETEBUFFERSPROC) (GLsizei n, const GLuint *buffers);\ntypedef void (APIENTRYP PFNGLGENBUFFERSPROC) (GLsizei n, GLuint *buffers);\ntypedef GLboolean (APIENTRYP PFNGLISBUFFERPROC) (GLuint buffer);\ntypedef void (APIENTRYP PFNGLBUFFERDATAPROC) (GLenum target, GLsizeiptr size, const void *data, GLenum usage);\ntypedef void (APIENTRYP PFNGLBUFFERSUBDATAPROC) (GLenum target, GLintptr offset, GLsizeiptr size, const void *data);\ntypedef void (APIENTRYP PFNGLGETBUFFERSUBDATAPROC) (GLenum target, GLintptr offset, GLsizeiptr size, void *data);\ntypedef void *(APIENTRYP PFNGLMAPBUFFERPROC) (GLenum target, GLenum access);\ntypedef GLboolean (APIENTRYP PFNGLUNMAPBUFFERPROC) (GLenum target);\ntypedef void (APIENTRYP PFNGLGETBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);\ntypedef void (APIENTRYP PFNGLGETBUFFERPOINTERVPROC) (GLenum target, GLenum pname, void **params);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glGenQueries (GLsizei n, GLuint *ids);\nGLAPI void APIENTRY glDeleteQueries (GLsizei n, const GLuint *ids);\nGLAPI GLboolean APIENTRY glIsQuery (GLuint id);\nGLAPI void APIENTRY glBeginQuery (GLenum target, GLuint id);\nGLAPI void APIENTRY glEndQuery (GLenum target);\nGLAPI void APIENTRY glGetQueryiv (GLenum target, GLenum pname, GLint *params);\nGLAPI void APIENTRY glGetQueryObjectiv (GLuint id, GLenum pname, GLint *params);\nGLAPI void APIENTRY glGetQueryObjectuiv (GLuint id, GLenum pname, GLuint *params);\nGLAPI void APIENTRY glBindBuffer (GLenum target, GLuint buffer);\nGLAPI void APIENTRY glDeleteBuffers (GLsizei n, const GLuint *buffers);\nGLAPI void APIENTRY glGenBuffers (GLsizei n, GLuint *buffers);\nGLAPI GLboolean APIENTRY glIsBuffer (GLuint buffer);\nGLAPI void APIENTRY glBufferData (GLenum target, GLsizeiptr size, const void *data, GLenum usage);\nGLAPI void APIENTRY glBufferSubData (GLenum target, GLintptr offset, GLsizeiptr size, const void *data);\nGLAPI void APIENTRY glGetBufferSubData (GLenum target, GLintptr offset, GLsizeiptr size, void *data);\nGLAPI void *APIENTRY glMapBuffer (GLenum target, GLenum access);\nGLAPI GLboolean APIENTRY glUnmapBuffer (GLenum target);\nGLAPI void APIENTRY glGetBufferParameteriv (GLenum target, GLenum pname, GLint *params);\nGLAPI void APIENTRY glGetBufferPointerv (GLenum target, GLenum pname, void **params);\n#endif\n#endif /* GL_VERSION_1_5 */\n\n#ifndef GL_VERSION_2_0\n#define GL_VERSION_2_0 1\ntypedef char GLchar;\n#define GL_BLEND_EQUATION_RGB             0x8009\n#define GL_VERTEX_ATTRIB_ARRAY_ENABLED    0x8622\n#define GL_VERTEX_ATTRIB_ARRAY_SIZE       0x8623\n#define GL_VERTEX_ATTRIB_ARRAY_STRIDE     0x8624\n#define GL_VERTEX_ATTRIB_ARRAY_TYPE       0x8625\n#define GL_CURRENT_VERTEX_ATTRIB          0x8626\n#define GL_VERTEX_PROGRAM_POINT_SIZE      0x8642\n#define GL_VERTEX_ATTRIB_ARRAY_POINTER    0x8645\n#define GL_STENCIL_BACK_FUNC              0x8800\n#define GL_STENCIL_BACK_FAIL              0x8801\n#define GL_STENCIL_BACK_PASS_DEPTH_FAIL   0x8802\n#define GL_STENCIL_BACK_PASS_DEPTH_PASS   0x8803\n#define GL_MAX_DRAW_BUFFERS               0x8824\n#define GL_DRAW_BUFFER0                   0x8825\n#define GL_DRAW_BUFFER1                   0x8826\n#define GL_DRAW_BUFFER2                   0x8827\n#define GL_DRAW_BUFFER3                   0x8828\n#define GL_DRAW_BUFFER4                   0x8829\n#define GL_DRAW_BUFFER5                   0x882A\n#define GL_DRAW_BUFFER6                   0x882B\n#define GL_DRAW_BUFFER7                   0x882C\n#define GL_DRAW_BUFFER8                   0x882D\n#define GL_DRAW_BUFFER9                   0x882E\n#define GL_DRAW_BUFFER10                  0x882F\n#define GL_DRAW_BUFFER11                  0x8830\n#define GL_DRAW_BUFFER12                  0x8831\n#define GL_DRAW_BUFFER13                  0x8832\n#define GL_DRAW_BUFFER14                  0x8833\n#define GL_DRAW_BUFFER15                  0x8834\n#define GL_BLEND_EQUATION_ALPHA           0x883D\n#define GL_MAX_VERTEX_ATTRIBS             0x8869\n#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED 0x886A\n#define GL_MAX_TEXTURE_IMAGE_UNITS        0x8872\n#define GL_FRAGMENT_SHADER                0x8B30\n#define GL_VERTEX_SHADER                  0x8B31\n#define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS 0x8B49\n#define GL_MAX_VERTEX_UNIFORM_COMPONENTS  0x8B4A\n#define GL_MAX_VARYING_FLOATS             0x8B4B\n#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS 0x8B4C\n#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS 0x8B4D\n#define GL_SHADER_TYPE                    0x8B4F\n#define GL_FLOAT_VEC2                     0x8B50\n#define GL_FLOAT_VEC3                     0x8B51\n#define GL_FLOAT_VEC4                     0x8B52\n#define GL_INT_VEC2                       0x8B53\n#define GL_INT_VEC3                       0x8B54\n#define GL_INT_VEC4                       0x8B55\n#define GL_BOOL                           0x8B56\n#define GL_BOOL_VEC2                      0x8B57\n#define GL_BOOL_VEC3                      0x8B58\n#define GL_BOOL_VEC4                      0x8B59\n#define GL_FLOAT_MAT2                     0x8B5A\n#define GL_FLOAT_MAT3                     0x8B5B\n#define GL_FLOAT_MAT4                     0x8B5C\n#define GL_SAMPLER_1D                     0x8B5D\n#define GL_SAMPLER_2D                     0x8B5E\n#define GL_SAMPLER_3D                     0x8B5F\n#define GL_SAMPLER_CUBE                   0x8B60\n#define GL_SAMPLER_1D_SHADOW              0x8B61\n#define GL_SAMPLER_2D_SHADOW              0x8B62\n#define GL_DELETE_STATUS                  0x8B80\n#define GL_COMPILE_STATUS                 0x8B81\n#define GL_LINK_STATUS                    0x8B82\n#define GL_VALIDATE_STATUS                0x8B83\n#define GL_INFO_LOG_LENGTH                0x8B84\n#define GL_ATTACHED_SHADERS               0x8B85\n#define GL_ACTIVE_UNIFORMS                0x8B86\n#define GL_ACTIVE_UNIFORM_MAX_LENGTH      0x8B87\n#define GL_SHADER_SOURCE_LENGTH           0x8B88\n#define GL_ACTIVE_ATTRIBUTES              0x8B89\n#define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH    0x8B8A\n#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT 0x8B8B\n#define GL_SHADING_LANGUAGE_VERSION       0x8B8C\n#define GL_CURRENT_PROGRAM                0x8B8D\n#define GL_POINT_SPRITE_COORD_ORIGIN      0x8CA0\n#define GL_LOWER_LEFT                     0x8CA1\n#define GL_UPPER_LEFT                     0x8CA2\n#define GL_STENCIL_BACK_REF               0x8CA3\n#define GL_STENCIL_BACK_VALUE_MASK        0x8CA4\n#define GL_STENCIL_BACK_WRITEMASK         0x8CA5\n#define GL_VERTEX_PROGRAM_TWO_SIDE        0x8643\n#define GL_POINT_SPRITE                   0x8861\n#define GL_COORD_REPLACE                  0x8862\n#define GL_MAX_TEXTURE_COORDS             0x8871\ntypedef void (APIENTRYP PFNGLBLENDEQUATIONSEPARATEPROC) (GLenum modeRGB, GLenum modeAlpha);\ntypedef void (APIENTRYP PFNGLDRAWBUFFERSPROC) (GLsizei n, const GLenum *bufs);\ntypedef void (APIENTRYP PFNGLSTENCILOPSEPARATEPROC) (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);\ntypedef void (APIENTRYP PFNGLSTENCILFUNCSEPARATEPROC) (GLenum face, GLenum func, GLint ref, GLuint mask);\ntypedef void (APIENTRYP PFNGLSTENCILMASKSEPARATEPROC) (GLenum face, GLuint mask);\ntypedef void (APIENTRYP PFNGLATTACHSHADERPROC) (GLuint program, GLuint shader);\ntypedef void (APIENTRYP PFNGLBINDATTRIBLOCATIONPROC) (GLuint program, GLuint index, const GLchar *name);\ntypedef void (APIENTRYP PFNGLCOMPILESHADERPROC) (GLuint shader);\ntypedef GLuint (APIENTRYP PFNGLCREATEPROGRAMPROC) (void);\ntypedef GLuint (APIENTRYP PFNGLCREATESHADERPROC) (GLenum type);\ntypedef void (APIENTRYP PFNGLDELETEPROGRAMPROC) (GLuint program);\ntypedef void (APIENTRYP PFNGLDELETESHADERPROC) (GLuint shader);\ntypedef void (APIENTRYP PFNGLDETACHSHADERPROC) (GLuint program, GLuint shader);\ntypedef void (APIENTRYP PFNGLDISABLEVERTEXATTRIBARRAYPROC) (GLuint index);\ntypedef void (APIENTRYP PFNGLENABLEVERTEXATTRIBARRAYPROC) (GLuint index);\ntypedef void (APIENTRYP PFNGLGETACTIVEATTRIBPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);\ntypedef void (APIENTRYP PFNGLGETACTIVEUNIFORMPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);\ntypedef void (APIENTRYP PFNGLGETATTACHEDSHADERSPROC) (GLuint program, GLsizei maxCount, GLsizei *count, GLuint *shaders);\ntypedef GLint (APIENTRYP PFNGLGETATTRIBLOCATIONPROC) (GLuint program, const GLchar *name);\ntypedef void (APIENTRYP PFNGLGETPROGRAMIVPROC) (GLuint program, GLenum pname, GLint *params);\ntypedef void (APIENTRYP PFNGLGETPROGRAMINFOLOGPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog);\ntypedef void (APIENTRYP PFNGLGETSHADERIVPROC) (GLuint shader, GLenum pname, GLint *params);\ntypedef void (APIENTRYP PFNGLGETSHADERINFOLOGPROC) (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog);\ntypedef void (APIENTRYP PFNGLGETSHADERSOURCEPROC) (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source);\ntypedef GLint (APIENTRYP PFNGLGETUNIFORMLOCATIONPROC) (GLuint program, const GLchar *name);\ntypedef void (APIENTRYP PFNGLGETUNIFORMFVPROC) (GLuint program, GLint location, GLfloat *params);\ntypedef void (APIENTRYP PFNGLGETUNIFORMIVPROC) (GLuint program, GLint location, GLint *params);\ntypedef void (APIENTRYP PFNGLGETVERTEXATTRIBDVPROC) (GLuint index, GLenum pname, GLdouble *params);\ntypedef void (APIENTRYP PFNGLGETVERTEXATTRIBFVPROC) (GLuint index, GLenum pname, GLfloat *params);\ntypedef void (APIENTRYP PFNGLGETVERTEXATTRIBIVPROC) (GLuint index, GLenum pname, GLint *params);\ntypedef void (APIENTRYP PFNGLGETVERTEXATTRIBPOINTERVPROC) (GLuint index, GLenum pname, void **pointer);\ntypedef GLboolean (APIENTRYP PFNGLISPROGRAMPROC) (GLuint program);\ntypedef GLboolean (APIENTRYP PFNGLISSHADERPROC) (GLuint shader);\ntypedef void (APIENTRYP PFNGLLINKPROGRAMPROC) (GLuint program);\ntypedef void (APIENTRYP PFNGLSHADERSOURCEPROC) (GLuint shader, GLsizei count, const GLchar *const*string, const GLint *length);\ntypedef void (APIENTRYP PFNGLUSEPROGRAMPROC) (GLuint program);\ntypedef void (APIENTRYP PFNGLUNIFORM1FPROC) (GLint location, GLfloat v0);\ntypedef void (APIENTRYP PFNGLUNIFORM2FPROC) (GLint location, GLfloat v0, GLfloat v1);\ntypedef void (APIENTRYP PFNGLUNIFORM3FPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2);\ntypedef void (APIENTRYP PFNGLUNIFORM4FPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);\ntypedef void (APIENTRYP PFNGLUNIFORM1IPROC) (GLint location, GLint v0);\ntypedef void (APIENTRYP PFNGLUNIFORM2IPROC) (GLint location, GLint v0, GLint v1);\ntypedef void (APIENTRYP PFNGLUNIFORM3IPROC) (GLint location, GLint v0, GLint v1, GLint v2);\ntypedef void (APIENTRYP PFNGLUNIFORM4IPROC) (GLint location, GLint v0, GLint v1, GLint v2, GLint v3);\ntypedef void (APIENTRYP PFNGLUNIFORM1FVPROC) (GLint location, GLsizei count, const GLfloat *value);\ntypedef void (APIENTRYP PFNGLUNIFORM2FVPROC) (GLint location, GLsizei count, const GLfloat *value);\ntypedef void (APIENTRYP PFNGLUNIFORM3FVPROC) (GLint location, GLsizei count, const GLfloat *value);\ntypedef void (APIENTRYP PFNGLUNIFORM4FVPROC) (GLint location, GLsizei count, const GLfloat *value);\ntypedef void (APIENTRYP PFNGLUNIFORM1IVPROC) (GLint location, GLsizei count, const GLint *value);\ntypedef void (APIENTRYP PFNGLUNIFORM2IVPROC) (GLint location, GLsizei count, const GLint *value);\ntypedef void (APIENTRYP PFNGLUNIFORM3IVPROC) (GLint location, GLsizei count, const GLint *value);\ntypedef void (APIENTRYP PFNGLUNIFORM4IVPROC) (GLint location, GLsizei count, const GLint *value);\ntypedef void (APIENTRYP PFNGLUNIFORMMATRIX2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (APIENTRYP PFNGLUNIFORMMATRIX3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (APIENTRYP PFNGLUNIFORMMATRIX4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (APIENTRYP PFNGLVALIDATEPROGRAMPROC) (GLuint program);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB1DPROC) (GLuint index, GLdouble x);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB1DVPROC) (GLuint index, const GLdouble *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB1FPROC) (GLuint index, GLfloat x);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB1FVPROC) (GLuint index, const GLfloat *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB1SPROC) (GLuint index, GLshort x);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB1SVPROC) (GLuint index, const GLshort *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB2DPROC) (GLuint index, GLdouble x, GLdouble y);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB2DVPROC) (GLuint index, const GLdouble *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB2FPROC) (GLuint index, GLfloat x, GLfloat y);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB2FVPROC) (GLuint index, const GLfloat *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB2SPROC) (GLuint index, GLshort x, GLshort y);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB2SVPROC) (GLuint index, const GLshort *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB3DPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB3DVPROC) (GLuint index, const GLdouble *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB3FPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB3FVPROC) (GLuint index, const GLfloat *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB3SPROC) (GLuint index, GLshort x, GLshort y, GLshort z);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB3SVPROC) (GLuint index, const GLshort *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4NBVPROC) (GLuint index, const GLbyte *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4NIVPROC) (GLuint index, const GLint *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4NSVPROC) (GLuint index, const GLshort *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4NUBPROC) (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4NUBVPROC) (GLuint index, const GLubyte *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4NUIVPROC) (GLuint index, const GLuint *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4NUSVPROC) (GLuint index, const GLushort *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4BVPROC) (GLuint index, const GLbyte *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4DPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4DVPROC) (GLuint index, const GLdouble *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4FPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4FVPROC) (GLuint index, const GLfloat *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4IVPROC) (GLuint index, const GLint *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4SPROC) (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4SVPROC) (GLuint index, const GLshort *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4UBVPROC) (GLuint index, const GLubyte *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4UIVPROC) (GLuint index, const GLuint *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4USVPROC) (GLuint index, const GLushort *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBPOINTERPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void *pointer);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glBlendEquationSeparate (GLenum modeRGB, GLenum modeAlpha);\nGLAPI void APIENTRY glDrawBuffers (GLsizei n, const GLenum *bufs);\nGLAPI void APIENTRY glStencilOpSeparate (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);\nGLAPI void APIENTRY glStencilFuncSeparate (GLenum face, GLenum func, GLint ref, GLuint mask);\nGLAPI void APIENTRY glStencilMaskSeparate (GLenum face, GLuint mask);\nGLAPI void APIENTRY glAttachShader (GLuint program, GLuint shader);\nGLAPI void APIENTRY glBindAttribLocation (GLuint program, GLuint index, const GLchar *name);\nGLAPI void APIENTRY glCompileShader (GLuint shader);\nGLAPI GLuint APIENTRY glCreateProgram (void);\nGLAPI GLuint APIENTRY glCreateShader (GLenum type);\nGLAPI void APIENTRY glDeleteProgram (GLuint program);\nGLAPI void APIENTRY glDeleteShader (GLuint shader);\nGLAPI void APIENTRY glDetachShader (GLuint program, GLuint shader);\nGLAPI void APIENTRY glDisableVertexAttribArray (GLuint index);\nGLAPI void APIENTRY glEnableVertexAttribArray (GLuint index);\nGLAPI void APIENTRY glGetActiveAttrib (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);\nGLAPI void APIENTRY glGetActiveUniform (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);\nGLAPI void APIENTRY glGetAttachedShaders (GLuint program, GLsizei maxCount, GLsizei *count, GLuint *shaders);\nGLAPI GLint APIENTRY glGetAttribLocation (GLuint program, const GLchar *name);\nGLAPI void APIENTRY glGetProgramiv (GLuint program, GLenum pname, GLint *params);\nGLAPI void APIENTRY glGetProgramInfoLog (GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog);\nGLAPI void APIENTRY glGetShaderiv (GLuint shader, GLenum pname, GLint *params);\nGLAPI void APIENTRY glGetShaderInfoLog (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog);\nGLAPI void APIENTRY glGetShaderSource (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source);\nGLAPI GLint APIENTRY glGetUniformLocation (GLuint program, const GLchar *name);\nGLAPI void APIENTRY glGetUniformfv (GLuint program, GLint location, GLfloat *params);\nGLAPI void APIENTRY glGetUniformiv (GLuint program, GLint location, GLint *params);\nGLAPI void APIENTRY glGetVertexAttribdv (GLuint index, GLenum pname, GLdouble *params);\nGLAPI void APIENTRY glGetVertexAttribfv (GLuint index, GLenum pname, GLfloat *params);\nGLAPI void APIENTRY glGetVertexAttribiv (GLuint index, GLenum pname, GLint *params);\nGLAPI void APIENTRY glGetVertexAttribPointerv (GLuint index, GLenum pname, void **pointer);\nGLAPI GLboolean APIENTRY glIsProgram (GLuint program);\nGLAPI GLboolean APIENTRY glIsShader (GLuint shader);\nGLAPI void APIENTRY glLinkProgram (GLuint program);\nGLAPI void APIENTRY glShaderSource (GLuint shader, GLsizei count, const GLchar *const*string, const GLint *length);\nGLAPI void APIENTRY glUseProgram (GLuint program);\nGLAPI void APIENTRY glUniform1f (GLint location, GLfloat v0);\nGLAPI void APIENTRY glUniform2f (GLint location, GLfloat v0, GLfloat v1);\nGLAPI void APIENTRY glUniform3f (GLint location, GLfloat v0, GLfloat v1, GLfloat v2);\nGLAPI void APIENTRY glUniform4f (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);\nGLAPI void APIENTRY glUniform1i (GLint location, GLint v0);\nGLAPI void APIENTRY glUniform2i (GLint location, GLint v0, GLint v1);\nGLAPI void APIENTRY glUniform3i (GLint location, GLint v0, GLint v1, GLint v2);\nGLAPI void APIENTRY glUniform4i (GLint location, GLint v0, GLint v1, GLint v2, GLint v3);\nGLAPI void APIENTRY glUniform1fv (GLint location, GLsizei count, const GLfloat *value);\nGLAPI void APIENTRY glUniform2fv (GLint location, GLsizei count, const GLfloat *value);\nGLAPI void APIENTRY glUniform3fv (GLint location, GLsizei count, const GLfloat *value);\nGLAPI void APIENTRY glUniform4fv (GLint location, GLsizei count, const GLfloat *value);\nGLAPI void APIENTRY glUniform1iv (GLint location, GLsizei count, const GLint *value);\nGLAPI void APIENTRY glUniform2iv (GLint location, GLsizei count, const GLint *value);\nGLAPI void APIENTRY glUniform3iv (GLint location, GLsizei count, const GLint *value);\nGLAPI void APIENTRY glUniform4iv (GLint location, GLsizei count, const GLint *value);\nGLAPI void APIENTRY glUniformMatrix2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nGLAPI void APIENTRY glUniformMatrix3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nGLAPI void APIENTRY glUniformMatrix4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nGLAPI void APIENTRY glValidateProgram (GLuint program);\nGLAPI void APIENTRY glVertexAttrib1d (GLuint index, GLdouble x);\nGLAPI void APIENTRY glVertexAttrib1dv (GLuint index, const GLdouble *v);\nGLAPI void APIENTRY glVertexAttrib1f (GLuint index, GLfloat x);\nGLAPI void APIENTRY glVertexAttrib1fv (GLuint index, const GLfloat *v);\nGLAPI void APIENTRY glVertexAttrib1s (GLuint index, GLshort x);\nGLAPI void APIENTRY glVertexAttrib1sv (GLuint index, const GLshort *v);\nGLAPI void APIENTRY glVertexAttrib2d (GLuint index, GLdouble x, GLdouble y);\nGLAPI void APIENTRY glVertexAttrib2dv (GLuint index, const GLdouble *v);\nGLAPI void APIENTRY glVertexAttrib2f (GLuint index, GLfloat x, GLfloat y);\nGLAPI void APIENTRY glVertexAttrib2fv (GLuint index, const GLfloat *v);\nGLAPI void APIENTRY glVertexAttrib2s (GLuint index, GLshort x, GLshort y);\nGLAPI void APIENTRY glVertexAttrib2sv (GLuint index, const GLshort *v);\nGLAPI void APIENTRY glVertexAttrib3d (GLuint index, GLdouble x, GLdouble y, GLdouble z);\nGLAPI void APIENTRY glVertexAttrib3dv (GLuint index, const GLdouble *v);\nGLAPI void APIENTRY glVertexAttrib3f (GLuint index, GLfloat x, GLfloat y, GLfloat z);\nGLAPI void APIENTRY glVertexAttrib3fv (GLuint index, const GLfloat *v);\nGLAPI void APIENTRY glVertexAttrib3s (GLuint index, GLshort x, GLshort y, GLshort z);\nGLAPI void APIENTRY glVertexAttrib3sv (GLuint index, const GLshort *v);\nGLAPI void APIENTRY glVertexAttrib4Nbv (GLuint index, const GLbyte *v);\nGLAPI void APIENTRY glVertexAttrib4Niv (GLuint index, const GLint *v);\nGLAPI void APIENTRY glVertexAttrib4Nsv (GLuint index, const GLshort *v);\nGLAPI void APIENTRY glVertexAttrib4Nub (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);\nGLAPI void APIENTRY glVertexAttrib4Nubv (GLuint index, const GLubyte *v);\nGLAPI void APIENTRY glVertexAttrib4Nuiv (GLuint index, const GLuint *v);\nGLAPI void APIENTRY glVertexAttrib4Nusv (GLuint index, const GLushort *v);\nGLAPI void APIENTRY glVertexAttrib4bv (GLuint index, const GLbyte *v);\nGLAPI void APIENTRY glVertexAttrib4d (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nGLAPI void APIENTRY glVertexAttrib4dv (GLuint index, const GLdouble *v);\nGLAPI void APIENTRY glVertexAttrib4f (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nGLAPI void APIENTRY glVertexAttrib4fv (GLuint index, const GLfloat *v);\nGLAPI void APIENTRY glVertexAttrib4iv (GLuint index, const GLint *v);\nGLAPI void APIENTRY glVertexAttrib4s (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);\nGLAPI void APIENTRY glVertexAttrib4sv (GLuint index, const GLshort *v);\nGLAPI void APIENTRY glVertexAttrib4ubv (GLuint index, const GLubyte *v);\nGLAPI void APIENTRY glVertexAttrib4uiv (GLuint index, const GLuint *v);\nGLAPI void APIENTRY glVertexAttrib4usv (GLuint index, const GLushort *v);\nGLAPI void APIENTRY glVertexAttribPointer (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void *pointer);\n#endif\n#endif /* GL_VERSION_2_0 */\n\n#ifndef GL_VERSION_2_1\n#define GL_VERSION_2_1 1\n#define GL_PIXEL_PACK_BUFFER              0x88EB\n#define GL_PIXEL_UNPACK_BUFFER            0x88EC\n#define GL_PIXEL_PACK_BUFFER_BINDING      0x88ED\n#define GL_PIXEL_UNPACK_BUFFER_BINDING    0x88EF\n#define GL_FLOAT_MAT2x3                   0x8B65\n#define GL_FLOAT_MAT2x4                   0x8B66\n#define GL_FLOAT_MAT3x2                   0x8B67\n#define GL_FLOAT_MAT3x4                   0x8B68\n#define GL_FLOAT_MAT4x2                   0x8B69\n#define GL_FLOAT_MAT4x3                   0x8B6A\n#define GL_SRGB                           0x8C40\n#define GL_SRGB8                          0x8C41\n#define GL_SRGB_ALPHA                     0x8C42\n#define GL_SRGB8_ALPHA8                   0x8C43\n#define GL_COMPRESSED_SRGB                0x8C48\n#define GL_COMPRESSED_SRGB_ALPHA          0x8C49\n#define GL_CURRENT_RASTER_SECONDARY_COLOR 0x845F\n#define GL_SLUMINANCE_ALPHA               0x8C44\n#define GL_SLUMINANCE8_ALPHA8             0x8C45\n#define GL_SLUMINANCE                     0x8C46\n#define GL_SLUMINANCE8                    0x8C47\n#define GL_COMPRESSED_SLUMINANCE          0x8C4A\n#define GL_COMPRESSED_SLUMINANCE_ALPHA    0x8C4B\ntypedef void (APIENTRYP PFNGLUNIFORMMATRIX2X3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (APIENTRYP PFNGLUNIFORMMATRIX3X2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (APIENTRYP PFNGLUNIFORMMATRIX2X4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (APIENTRYP PFNGLUNIFORMMATRIX4X2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (APIENTRYP PFNGLUNIFORMMATRIX3X4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (APIENTRYP PFNGLUNIFORMMATRIX4X3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glUniformMatrix2x3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nGLAPI void APIENTRY glUniformMatrix3x2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nGLAPI void APIENTRY glUniformMatrix2x4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nGLAPI void APIENTRY glUniformMatrix4x2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nGLAPI void APIENTRY glUniformMatrix3x4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nGLAPI void APIENTRY glUniformMatrix4x3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\n#endif\n#endif /* GL_VERSION_2_1 */\n\n#ifndef GL_VERSION_3_0\n#define GL_VERSION_3_0 1\ntypedef unsigned short GLhalf;\n#define GL_COMPARE_REF_TO_TEXTURE         0x884E\n#define GL_CLIP_DISTANCE0                 0x3000\n#define GL_CLIP_DISTANCE1                 0x3001\n#define GL_CLIP_DISTANCE2                 0x3002\n#define GL_CLIP_DISTANCE3                 0x3003\n#define GL_CLIP_DISTANCE4                 0x3004\n#define GL_CLIP_DISTANCE5                 0x3005\n#define GL_CLIP_DISTANCE6                 0x3006\n#define GL_CLIP_DISTANCE7                 0x3007\n#define GL_MAX_CLIP_DISTANCES             0x0D32\n#define GL_MAJOR_VERSION                  0x821B\n#define GL_MINOR_VERSION                  0x821C\n#define GL_NUM_EXTENSIONS                 0x821D\n#define GL_CONTEXT_FLAGS                  0x821E\n#define GL_COMPRESSED_RED                 0x8225\n#define GL_COMPRESSED_RG                  0x8226\n#define GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT 0x00000001\n#define GL_RGBA32F                        0x8814\n#define GL_RGB32F                         0x8815\n#define GL_RGBA16F                        0x881A\n#define GL_RGB16F                         0x881B\n#define GL_VERTEX_ATTRIB_ARRAY_INTEGER    0x88FD\n#define GL_MAX_ARRAY_TEXTURE_LAYERS       0x88FF\n#define GL_MIN_PROGRAM_TEXEL_OFFSET       0x8904\n#define GL_MAX_PROGRAM_TEXEL_OFFSET       0x8905\n#define GL_CLAMP_READ_COLOR               0x891C\n#define GL_FIXED_ONLY                     0x891D\n#define GL_MAX_VARYING_COMPONENTS         0x8B4B\n#define GL_TEXTURE_1D_ARRAY               0x8C18\n#define GL_PROXY_TEXTURE_1D_ARRAY         0x8C19\n#define GL_TEXTURE_2D_ARRAY               0x8C1A\n#define GL_PROXY_TEXTURE_2D_ARRAY         0x8C1B\n#define GL_TEXTURE_BINDING_1D_ARRAY       0x8C1C\n#define GL_TEXTURE_BINDING_2D_ARRAY       0x8C1D\n#define GL_R11F_G11F_B10F                 0x8C3A\n#define GL_UNSIGNED_INT_10F_11F_11F_REV   0x8C3B\n#define GL_RGB9_E5                        0x8C3D\n#define GL_UNSIGNED_INT_5_9_9_9_REV       0x8C3E\n#define GL_TEXTURE_SHARED_SIZE            0x8C3F\n#define GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH 0x8C76\n#define GL_TRANSFORM_FEEDBACK_BUFFER_MODE 0x8C7F\n#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS 0x8C80\n#define GL_TRANSFORM_FEEDBACK_VARYINGS    0x8C83\n#define GL_TRANSFORM_FEEDBACK_BUFFER_START 0x8C84\n#define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE 0x8C85\n#define GL_PRIMITIVES_GENERATED           0x8C87\n#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN 0x8C88\n#define GL_RASTERIZER_DISCARD             0x8C89\n#define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS 0x8C8A\n#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS 0x8C8B\n#define GL_INTERLEAVED_ATTRIBS            0x8C8C\n#define GL_SEPARATE_ATTRIBS               0x8C8D\n#define GL_TRANSFORM_FEEDBACK_BUFFER      0x8C8E\n#define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING 0x8C8F\n#define GL_RGBA32UI                       0x8D70\n#define GL_RGB32UI                        0x8D71\n#define GL_RGBA16UI                       0x8D76\n#define GL_RGB16UI                        0x8D77\n#define GL_RGBA8UI                        0x8D7C\n#define GL_RGB8UI                         0x8D7D\n#define GL_RGBA32I                        0x8D82\n#define GL_RGB32I                         0x8D83\n#define GL_RGBA16I                        0x8D88\n#define GL_RGB16I                         0x8D89\n#define GL_RGBA8I                         0x8D8E\n#define GL_RGB8I                          0x8D8F\n#define GL_RED_INTEGER                    0x8D94\n#define GL_GREEN_INTEGER                  0x8D95\n#define GL_BLUE_INTEGER                   0x8D96\n#define GL_RGB_INTEGER                    0x8D98\n#define GL_RGBA_INTEGER                   0x8D99\n#define GL_BGR_INTEGER                    0x8D9A\n#define GL_BGRA_INTEGER                   0x8D9B\n#define GL_SAMPLER_1D_ARRAY               0x8DC0\n#define GL_SAMPLER_2D_ARRAY               0x8DC1\n#define GL_SAMPLER_1D_ARRAY_SHADOW        0x8DC3\n#define GL_SAMPLER_2D_ARRAY_SHADOW        0x8DC4\n#define GL_SAMPLER_CUBE_SHADOW            0x8DC5\n#define GL_UNSIGNED_INT_VEC2              0x8DC6\n#define GL_UNSIGNED_INT_VEC3              0x8DC7\n#define GL_UNSIGNED_INT_VEC4              0x8DC8\n#define GL_INT_SAMPLER_1D                 0x8DC9\n#define GL_INT_SAMPLER_2D                 0x8DCA\n#define GL_INT_SAMPLER_3D                 0x8DCB\n#define GL_INT_SAMPLER_CUBE               0x8DCC\n#define GL_INT_SAMPLER_1D_ARRAY           0x8DCE\n#define GL_INT_SAMPLER_2D_ARRAY           0x8DCF\n#define GL_UNSIGNED_INT_SAMPLER_1D        0x8DD1\n#define GL_UNSIGNED_INT_SAMPLER_2D        0x8DD2\n#define GL_UNSIGNED_INT_SAMPLER_3D        0x8DD3\n#define GL_UNSIGNED_INT_SAMPLER_CUBE      0x8DD4\n#define GL_UNSIGNED_INT_SAMPLER_1D_ARRAY  0x8DD6\n#define GL_UNSIGNED_INT_SAMPLER_2D_ARRAY  0x8DD7\n#define GL_QUERY_WAIT                     0x8E13\n#define GL_QUERY_NO_WAIT                  0x8E14\n#define GL_QUERY_BY_REGION_WAIT           0x8E15\n#define GL_QUERY_BY_REGION_NO_WAIT        0x8E16\n#define GL_BUFFER_ACCESS_FLAGS            0x911F\n#define GL_BUFFER_MAP_LENGTH              0x9120\n#define GL_BUFFER_MAP_OFFSET              0x9121\n#define GL_DEPTH_COMPONENT32F             0x8CAC\n#define GL_DEPTH32F_STENCIL8              0x8CAD\n#define GL_FLOAT_32_UNSIGNED_INT_24_8_REV 0x8DAD\n#define GL_INVALID_FRAMEBUFFER_OPERATION  0x0506\n#define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING 0x8210\n#define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE 0x8211\n#define GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE 0x8212\n#define GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE 0x8213\n#define GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE 0x8214\n#define GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE 0x8215\n#define GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE 0x8216\n#define GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE 0x8217\n#define GL_FRAMEBUFFER_DEFAULT            0x8218\n#define GL_FRAMEBUFFER_UNDEFINED          0x8219\n#define GL_DEPTH_STENCIL_ATTACHMENT       0x821A\n#define GL_MAX_RENDERBUFFER_SIZE          0x84E8\n#define GL_DEPTH_STENCIL                  0x84F9\n#define GL_UNSIGNED_INT_24_8              0x84FA\n#define GL_DEPTH24_STENCIL8               0x88F0\n#define GL_TEXTURE_STENCIL_SIZE           0x88F1\n#define GL_TEXTURE_RED_TYPE               0x8C10\n#define GL_TEXTURE_GREEN_TYPE             0x8C11\n#define GL_TEXTURE_BLUE_TYPE              0x8C12\n#define GL_TEXTURE_ALPHA_TYPE             0x8C13\n#define GL_TEXTURE_DEPTH_TYPE             0x8C16\n#define GL_UNSIGNED_NORMALIZED            0x8C17\n#define GL_FRAMEBUFFER_BINDING            0x8CA6\n#define GL_DRAW_FRAMEBUFFER_BINDING       0x8CA6\n#define GL_RENDERBUFFER_BINDING           0x8CA7\n#define GL_READ_FRAMEBUFFER               0x8CA8\n#define GL_DRAW_FRAMEBUFFER               0x8CA9\n#define GL_READ_FRAMEBUFFER_BINDING       0x8CAA\n#define GL_RENDERBUFFER_SAMPLES           0x8CAB\n#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE 0x8CD0\n#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME 0x8CD1\n#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL 0x8CD2\n#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE 0x8CD3\n#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER 0x8CD4\n#define GL_FRAMEBUFFER_COMPLETE           0x8CD5\n#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT 0x8CD6\n#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT 0x8CD7\n#define GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER 0x8CDB\n#define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER 0x8CDC\n#define GL_FRAMEBUFFER_UNSUPPORTED        0x8CDD\n#define GL_MAX_COLOR_ATTACHMENTS          0x8CDF\n#define GL_COLOR_ATTACHMENT0              0x8CE0\n#define GL_COLOR_ATTACHMENT1              0x8CE1\n#define GL_COLOR_ATTACHMENT2              0x8CE2\n#define GL_COLOR_ATTACHMENT3              0x8CE3\n#define GL_COLOR_ATTACHMENT4              0x8CE4\n#define GL_COLOR_ATTACHMENT5              0x8CE5\n#define GL_COLOR_ATTACHMENT6              0x8CE6\n#define GL_COLOR_ATTACHMENT7              0x8CE7\n#define GL_COLOR_ATTACHMENT8              0x8CE8\n#define GL_COLOR_ATTACHMENT9              0x8CE9\n#define GL_COLOR_ATTACHMENT10             0x8CEA\n#define GL_COLOR_ATTACHMENT11             0x8CEB\n#define GL_COLOR_ATTACHMENT12             0x8CEC\n#define GL_COLOR_ATTACHMENT13             0x8CED\n#define GL_COLOR_ATTACHMENT14             0x8CEE\n#define GL_COLOR_ATTACHMENT15             0x8CEF\n#define GL_DEPTH_ATTACHMENT               0x8D00\n#define GL_STENCIL_ATTACHMENT             0x8D20\n#define GL_FRAMEBUFFER                    0x8D40\n#define GL_RENDERBUFFER                   0x8D41\n#define GL_RENDERBUFFER_WIDTH             0x8D42\n#define GL_RENDERBUFFER_HEIGHT            0x8D43\n#define GL_RENDERBUFFER_INTERNAL_FORMAT   0x8D44\n#define GL_STENCIL_INDEX1                 0x8D46\n#define GL_STENCIL_INDEX4                 0x8D47\n#define GL_STENCIL_INDEX8                 0x8D48\n#define GL_STENCIL_INDEX16                0x8D49\n#define GL_RENDERBUFFER_RED_SIZE          0x8D50\n#define GL_RENDERBUFFER_GREEN_SIZE        0x8D51\n#define GL_RENDERBUFFER_BLUE_SIZE         0x8D52\n#define GL_RENDERBUFFER_ALPHA_SIZE        0x8D53\n#define GL_RENDERBUFFER_DEPTH_SIZE        0x8D54\n#define GL_RENDERBUFFER_STENCIL_SIZE      0x8D55\n#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE 0x8D56\n#define GL_MAX_SAMPLES                    0x8D57\n#define GL_INDEX                          0x8222\n#define GL_TEXTURE_LUMINANCE_TYPE         0x8C14\n#define GL_TEXTURE_INTENSITY_TYPE         0x8C15\n#define GL_FRAMEBUFFER_SRGB               0x8DB9\n#define GL_HALF_FLOAT                     0x140B\n#define GL_MAP_READ_BIT                   0x0001\n#define GL_MAP_WRITE_BIT                  0x0002\n#define GL_MAP_INVALIDATE_RANGE_BIT       0x0004\n#define GL_MAP_INVALIDATE_BUFFER_BIT      0x0008\n#define GL_MAP_FLUSH_EXPLICIT_BIT         0x0010\n#define GL_MAP_UNSYNCHRONIZED_BIT         0x0020\n#define GL_COMPRESSED_RED_RGTC1           0x8DBB\n#define GL_COMPRESSED_SIGNED_RED_RGTC1    0x8DBC\n#define GL_COMPRESSED_RG_RGTC2            0x8DBD\n#define GL_COMPRESSED_SIGNED_RG_RGTC2     0x8DBE\n#define GL_RG                             0x8227\n#define GL_RG_INTEGER                     0x8228\n#define GL_R8                             0x8229\n#define GL_R16                            0x822A\n#define GL_RG8                            0x822B\n#define GL_RG16                           0x822C\n#define GL_R16F                           0x822D\n#define GL_R32F                           0x822E\n#define GL_RG16F                          0x822F\n#define GL_RG32F                          0x8230\n#define GL_R8I                            0x8231\n#define GL_R8UI                           0x8232\n#define GL_R16I                           0x8233\n#define GL_R16UI                          0x8234\n#define GL_R32I                           0x8235\n#define GL_R32UI                          0x8236\n#define GL_RG8I                           0x8237\n#define GL_RG8UI                          0x8238\n#define GL_RG16I                          0x8239\n#define GL_RG16UI                         0x823A\n#define GL_RG32I                          0x823B\n#define GL_RG32UI                         0x823C\n#define GL_VERTEX_ARRAY_BINDING           0x85B5\n#define GL_CLAMP_VERTEX_COLOR             0x891A\n#define GL_CLAMP_FRAGMENT_COLOR           0x891B\n#define GL_ALPHA_INTEGER                  0x8D97\ntypedef void (APIENTRYP PFNGLCOLORMASKIPROC) (GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);\ntypedef void (APIENTRYP PFNGLGETBOOLEANI_VPROC) (GLenum target, GLuint index, GLboolean *data);\ntypedef void (APIENTRYP PFNGLGETINTEGERI_VPROC) (GLenum target, GLuint index, GLint *data);\ntypedef void (APIENTRYP PFNGLENABLEIPROC) (GLenum target, GLuint index);\ntypedef void (APIENTRYP PFNGLDISABLEIPROC) (GLenum target, GLuint index);\ntypedef GLboolean (APIENTRYP PFNGLISENABLEDIPROC) (GLenum target, GLuint index);\ntypedef void (APIENTRYP PFNGLBEGINTRANSFORMFEEDBACKPROC) (GLenum primitiveMode);\ntypedef void (APIENTRYP PFNGLENDTRANSFORMFEEDBACKPROC) (void);\ntypedef void (APIENTRYP PFNGLBINDBUFFERRANGEPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);\ntypedef void (APIENTRYP PFNGLBINDBUFFERBASEPROC) (GLenum target, GLuint index, GLuint buffer);\ntypedef void (APIENTRYP PFNGLTRANSFORMFEEDBACKVARYINGSPROC) (GLuint program, GLsizei count, const GLchar *const*varyings, GLenum bufferMode);\ntypedef void (APIENTRYP PFNGLGETTRANSFORMFEEDBACKVARYINGPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);\ntypedef void (APIENTRYP PFNGLCLAMPCOLORPROC) (GLenum target, GLenum clamp);\ntypedef void (APIENTRYP PFNGLBEGINCONDITIONALRENDERPROC) (GLuint id, GLenum mode);\ntypedef void (APIENTRYP PFNGLENDCONDITIONALRENDERPROC) (void);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBIPOINTERPROC) (GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer);\ntypedef void (APIENTRYP PFNGLGETVERTEXATTRIBIIVPROC) (GLuint index, GLenum pname, GLint *params);\ntypedef void (APIENTRYP PFNGLGETVERTEXATTRIBIUIVPROC) (GLuint index, GLenum pname, GLuint *params);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBI1IPROC) (GLuint index, GLint x);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBI2IPROC) (GLuint index, GLint x, GLint y);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBI3IPROC) (GLuint index, GLint x, GLint y, GLint z);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBI4IPROC) (GLuint index, GLint x, GLint y, GLint z, GLint w);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBI1UIPROC) (GLuint index, GLuint x);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBI2UIPROC) (GLuint index, GLuint x, GLuint y);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBI3UIPROC) (GLuint index, GLuint x, GLuint y, GLuint z);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBI4UIPROC) (GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBI1IVPROC) (GLuint index, const GLint *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBI2IVPROC) (GLuint index, const GLint *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBI3IVPROC) (GLuint index, const GLint *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBI4IVPROC) (GLuint index, const GLint *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBI1UIVPROC) (GLuint index, const GLuint *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBI2UIVPROC) (GLuint index, const GLuint *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBI3UIVPROC) (GLuint index, const GLuint *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBI4UIVPROC) (GLuint index, const GLuint *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBI4BVPROC) (GLuint index, const GLbyte *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBI4SVPROC) (GLuint index, const GLshort *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBI4UBVPROC) (GLuint index, const GLubyte *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBI4USVPROC) (GLuint index, const GLushort *v);\ntypedef void (APIENTRYP PFNGLGETUNIFORMUIVPROC) (GLuint program, GLint location, GLuint *params);\ntypedef void (APIENTRYP PFNGLBINDFRAGDATALOCATIONPROC) (GLuint program, GLuint color, const GLchar *name);\ntypedef GLint (APIENTRYP PFNGLGETFRAGDATALOCATIONPROC) (GLuint program, const GLchar *name);\ntypedef void (APIENTRYP PFNGLUNIFORM1UIPROC) (GLint location, GLuint v0);\ntypedef void (APIENTRYP PFNGLUNIFORM2UIPROC) (GLint location, GLuint v0, GLuint v1);\ntypedef void (APIENTRYP PFNGLUNIFORM3UIPROC) (GLint location, GLuint v0, GLuint v1, GLuint v2);\ntypedef void (APIENTRYP PFNGLUNIFORM4UIPROC) (GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);\ntypedef void (APIENTRYP PFNGLUNIFORM1UIVPROC) (GLint location, GLsizei count, const GLuint *value);\ntypedef void (APIENTRYP PFNGLUNIFORM2UIVPROC) (GLint location, GLsizei count, const GLuint *value);\ntypedef void (APIENTRYP PFNGLUNIFORM3UIVPROC) (GLint location, GLsizei count, const GLuint *value);\ntypedef void (APIENTRYP PFNGLUNIFORM4UIVPROC) (GLint location, GLsizei count, const GLuint *value);\ntypedef void (APIENTRYP PFNGLTEXPARAMETERIIVPROC) (GLenum target, GLenum pname, const GLint *params);\ntypedef void (APIENTRYP PFNGLTEXPARAMETERIUIVPROC) (GLenum target, GLenum pname, const GLuint *params);\ntypedef void (APIENTRYP PFNGLGETTEXPARAMETERIIVPROC) (GLenum target, GLenum pname, GLint *params);\ntypedef void (APIENTRYP PFNGLGETTEXPARAMETERIUIVPROC) (GLenum target, GLenum pname, GLuint *params);\ntypedef void (APIENTRYP PFNGLCLEARBUFFERIVPROC) (GLenum buffer, GLint drawbuffer, const GLint *value);\ntypedef void (APIENTRYP PFNGLCLEARBUFFERUIVPROC) (GLenum buffer, GLint drawbuffer, const GLuint *value);\ntypedef void (APIENTRYP PFNGLCLEARBUFFERFVPROC) (GLenum buffer, GLint drawbuffer, const GLfloat *value);\ntypedef void (APIENTRYP PFNGLCLEARBUFFERFIPROC) (GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil);\ntypedef const GLubyte *(APIENTRYP PFNGLGETSTRINGIPROC) (GLenum name, GLuint index);\ntypedef GLboolean (APIENTRYP PFNGLISRENDERBUFFERPROC) (GLuint renderbuffer);\ntypedef void (APIENTRYP PFNGLBINDRENDERBUFFERPROC) (GLenum target, GLuint renderbuffer);\ntypedef void (APIENTRYP PFNGLDELETERENDERBUFFERSPROC) (GLsizei n, const GLuint *renderbuffers);\ntypedef void (APIENTRYP PFNGLGENRENDERBUFFERSPROC) (GLsizei n, GLuint *renderbuffers);\ntypedef void (APIENTRYP PFNGLRENDERBUFFERSTORAGEPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);\ntypedef void (APIENTRYP PFNGLGETRENDERBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);\ntypedef GLboolean (APIENTRYP PFNGLISFRAMEBUFFERPROC) (GLuint framebuffer);\ntypedef void (APIENTRYP PFNGLBINDFRAMEBUFFERPROC) (GLenum target, GLuint framebuffer);\ntypedef void (APIENTRYP PFNGLDELETEFRAMEBUFFERSPROC) (GLsizei n, const GLuint *framebuffers);\ntypedef void (APIENTRYP PFNGLGENFRAMEBUFFERSPROC) (GLsizei n, GLuint *framebuffers);\ntypedef GLenum (APIENTRYP PFNGLCHECKFRAMEBUFFERSTATUSPROC) (GLenum target);\ntypedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE1DPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);\ntypedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);\ntypedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);\ntypedef void (APIENTRYP PFNGLFRAMEBUFFERRENDERBUFFERPROC) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);\ntypedef void (APIENTRYP PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC) (GLenum target, GLenum attachment, GLenum pname, GLint *params);\ntypedef void (APIENTRYP PFNGLGENERATEMIPMAPPROC) (GLenum target);\ntypedef void (APIENTRYP PFNGLBLITFRAMEBUFFERPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);\ntypedef void (APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);\ntypedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURELAYERPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);\ntypedef void *(APIENTRYP PFNGLMAPBUFFERRANGEPROC) (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);\ntypedef void (APIENTRYP PFNGLFLUSHMAPPEDBUFFERRANGEPROC) (GLenum target, GLintptr offset, GLsizeiptr length);\ntypedef void (APIENTRYP PFNGLBINDVERTEXARRAYPROC) (GLuint array);\ntypedef void (APIENTRYP PFNGLDELETEVERTEXARRAYSPROC) (GLsizei n, const GLuint *arrays);\ntypedef void (APIENTRYP PFNGLGENVERTEXARRAYSPROC) (GLsizei n, GLuint *arrays);\ntypedef GLboolean (APIENTRYP PFNGLISVERTEXARRAYPROC) (GLuint array);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glColorMaski (GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);\nGLAPI void APIENTRY glGetBooleani_v (GLenum target, GLuint index, GLboolean *data);\nGLAPI void APIENTRY glGetIntegeri_v (GLenum target, GLuint index, GLint *data);\nGLAPI void APIENTRY glEnablei (GLenum target, GLuint index);\nGLAPI void APIENTRY glDisablei (GLenum target, GLuint index);\nGLAPI GLboolean APIENTRY glIsEnabledi (GLenum target, GLuint index);\nGLAPI void APIENTRY glBeginTransformFeedback (GLenum primitiveMode);\nGLAPI void APIENTRY glEndTransformFeedback (void);\nGLAPI void APIENTRY glBindBufferRange (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);\nGLAPI void APIENTRY glBindBufferBase (GLenum target, GLuint index, GLuint buffer);\nGLAPI void APIENTRY glTransformFeedbackVaryings (GLuint program, GLsizei count, const GLchar *const*varyings, GLenum bufferMode);\nGLAPI void APIENTRY glGetTransformFeedbackVarying (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);\nGLAPI void APIENTRY glClampColor (GLenum target, GLenum clamp);\nGLAPI void APIENTRY glBeginConditionalRender (GLuint id, GLenum mode);\nGLAPI void APIENTRY glEndConditionalRender (void);\nGLAPI void APIENTRY glVertexAttribIPointer (GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer);\nGLAPI void APIENTRY glGetVertexAttribIiv (GLuint index, GLenum pname, GLint *params);\nGLAPI void APIENTRY glGetVertexAttribIuiv (GLuint index, GLenum pname, GLuint *params);\nGLAPI void APIENTRY glVertexAttribI1i (GLuint index, GLint x);\nGLAPI void APIENTRY glVertexAttribI2i (GLuint index, GLint x, GLint y);\nGLAPI void APIENTRY glVertexAttribI3i (GLuint index, GLint x, GLint y, GLint z);\nGLAPI void APIENTRY glVertexAttribI4i (GLuint index, GLint x, GLint y, GLint z, GLint w);\nGLAPI void APIENTRY glVertexAttribI1ui (GLuint index, GLuint x);\nGLAPI void APIENTRY glVertexAttribI2ui (GLuint index, GLuint x, GLuint y);\nGLAPI void APIENTRY glVertexAttribI3ui (GLuint index, GLuint x, GLuint y, GLuint z);\nGLAPI void APIENTRY glVertexAttribI4ui (GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);\nGLAPI void APIENTRY glVertexAttribI1iv (GLuint index, const GLint *v);\nGLAPI void APIENTRY glVertexAttribI2iv (GLuint index, const GLint *v);\nGLAPI void APIENTRY glVertexAttribI3iv (GLuint index, const GLint *v);\nGLAPI void APIENTRY glVertexAttribI4iv (GLuint index, const GLint *v);\nGLAPI void APIENTRY glVertexAttribI1uiv (GLuint index, const GLuint *v);\nGLAPI void APIENTRY glVertexAttribI2uiv (GLuint index, const GLuint *v);\nGLAPI void APIENTRY glVertexAttribI3uiv (GLuint index, const GLuint *v);\nGLAPI void APIENTRY glVertexAttribI4uiv (GLuint index, const GLuint *v);\nGLAPI void APIENTRY glVertexAttribI4bv (GLuint index, const GLbyte *v);\nGLAPI void APIENTRY glVertexAttribI4sv (GLuint index, const GLshort *v);\nGLAPI void APIENTRY glVertexAttribI4ubv (GLuint index, const GLubyte *v);\nGLAPI void APIENTRY glVertexAttribI4usv (GLuint index, const GLushort *v);\nGLAPI void APIENTRY glGetUniformuiv (GLuint program, GLint location, GLuint *params);\nGLAPI void APIENTRY glBindFragDataLocation (GLuint program, GLuint color, const GLchar *name);\nGLAPI GLint APIENTRY glGetFragDataLocation (GLuint program, const GLchar *name);\nGLAPI void APIENTRY glUniform1ui (GLint location, GLuint v0);\nGLAPI void APIENTRY glUniform2ui (GLint location, GLuint v0, GLuint v1);\nGLAPI void APIENTRY glUniform3ui (GLint location, GLuint v0, GLuint v1, GLuint v2);\nGLAPI void APIENTRY glUniform4ui (GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);\nGLAPI void APIENTRY glUniform1uiv (GLint location, GLsizei count, const GLuint *value);\nGLAPI void APIENTRY glUniform2uiv (GLint location, GLsizei count, const GLuint *value);\nGLAPI void APIENTRY glUniform3uiv (GLint location, GLsizei count, const GLuint *value);\nGLAPI void APIENTRY glUniform4uiv (GLint location, GLsizei count, const GLuint *value);\nGLAPI void APIENTRY glTexParameterIiv (GLenum target, GLenum pname, const GLint *params);\nGLAPI void APIENTRY glTexParameterIuiv (GLenum target, GLenum pname, const GLuint *params);\nGLAPI void APIENTRY glGetTexParameterIiv (GLenum target, GLenum pname, GLint *params);\nGLAPI void APIENTRY glGetTexParameterIuiv (GLenum target, GLenum pname, GLuint *params);\nGLAPI void APIENTRY glClearBufferiv (GLenum buffer, GLint drawbuffer, const GLint *value);\nGLAPI void APIENTRY glClearBufferuiv (GLenum buffer, GLint drawbuffer, const GLuint *value);\nGLAPI void APIENTRY glClearBufferfv (GLenum buffer, GLint drawbuffer, const GLfloat *value);\nGLAPI void APIENTRY glClearBufferfi (GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil);\nGLAPI const GLubyte *APIENTRY glGetStringi (GLenum name, GLuint index);\nGLAPI GLboolean APIENTRY glIsRenderbuffer (GLuint renderbuffer);\nGLAPI void APIENTRY glBindRenderbuffer (GLenum target, GLuint renderbuffer);\nGLAPI void APIENTRY glDeleteRenderbuffers (GLsizei n, const GLuint *renderbuffers);\nGLAPI void APIENTRY glGenRenderbuffers (GLsizei n, GLuint *renderbuffers);\nGLAPI void APIENTRY glRenderbufferStorage (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);\nGLAPI void APIENTRY glGetRenderbufferParameteriv (GLenum target, GLenum pname, GLint *params);\nGLAPI GLboolean APIENTRY glIsFramebuffer (GLuint framebuffer);\nGLAPI void APIENTRY glBindFramebuffer (GLenum target, GLuint framebuffer);\nGLAPI void APIENTRY glDeleteFramebuffers (GLsizei n, const GLuint *framebuffers);\nGLAPI void APIENTRY glGenFramebuffers (GLsizei n, GLuint *framebuffers);\nGLAPI GLenum APIENTRY glCheckFramebufferStatus (GLenum target);\nGLAPI void APIENTRY glFramebufferTexture1D (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);\nGLAPI void APIENTRY glFramebufferTexture2D (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);\nGLAPI void APIENTRY glFramebufferTexture3D (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);\nGLAPI void APIENTRY glFramebufferRenderbuffer (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);\nGLAPI void APIENTRY glGetFramebufferAttachmentParameteriv (GLenum target, GLenum attachment, GLenum pname, GLint *params);\nGLAPI void APIENTRY glGenerateMipmap (GLenum target);\nGLAPI void APIENTRY glBlitFramebuffer (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);\nGLAPI void APIENTRY glRenderbufferStorageMultisample (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);\nGLAPI void APIENTRY glFramebufferTextureLayer (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);\nGLAPI void *APIENTRY glMapBufferRange (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);\nGLAPI void APIENTRY glFlushMappedBufferRange (GLenum target, GLintptr offset, GLsizeiptr length);\nGLAPI void APIENTRY glBindVertexArray (GLuint array);\nGLAPI void APIENTRY glDeleteVertexArrays (GLsizei n, const GLuint *arrays);\nGLAPI void APIENTRY glGenVertexArrays (GLsizei n, GLuint *arrays);\nGLAPI GLboolean APIENTRY glIsVertexArray (GLuint array);\n#endif\n#endif /* GL_VERSION_3_0 */\n\n#ifndef GL_VERSION_3_1\n#define GL_VERSION_3_1 1\n#define GL_SAMPLER_2D_RECT                0x8B63\n#define GL_SAMPLER_2D_RECT_SHADOW         0x8B64\n#define GL_SAMPLER_BUFFER                 0x8DC2\n#define GL_INT_SAMPLER_2D_RECT            0x8DCD\n#define GL_INT_SAMPLER_BUFFER             0x8DD0\n#define GL_UNSIGNED_INT_SAMPLER_2D_RECT   0x8DD5\n#define GL_UNSIGNED_INT_SAMPLER_BUFFER    0x8DD8\n#define GL_TEXTURE_BUFFER                 0x8C2A\n#define GL_MAX_TEXTURE_BUFFER_SIZE        0x8C2B\n#define GL_TEXTURE_BINDING_BUFFER         0x8C2C\n#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING 0x8C2D\n#define GL_TEXTURE_RECTANGLE              0x84F5\n#define GL_TEXTURE_BINDING_RECTANGLE      0x84F6\n#define GL_PROXY_TEXTURE_RECTANGLE        0x84F7\n#define GL_MAX_RECTANGLE_TEXTURE_SIZE     0x84F8\n#define GL_R8_SNORM                       0x8F94\n#define GL_RG8_SNORM                      0x8F95\n#define GL_RGB8_SNORM                     0x8F96\n#define GL_RGBA8_SNORM                    0x8F97\n#define GL_R16_SNORM                      0x8F98\n#define GL_RG16_SNORM                     0x8F99\n#define GL_RGB16_SNORM                    0x8F9A\n#define GL_RGBA16_SNORM                   0x8F9B\n#define GL_SIGNED_NORMALIZED              0x8F9C\n#define GL_PRIMITIVE_RESTART              0x8F9D\n#define GL_PRIMITIVE_RESTART_INDEX        0x8F9E\n#define GL_COPY_READ_BUFFER               0x8F36\n#define GL_COPY_WRITE_BUFFER              0x8F37\n#define GL_UNIFORM_BUFFER                 0x8A11\n#define GL_UNIFORM_BUFFER_BINDING         0x8A28\n#define GL_UNIFORM_BUFFER_START           0x8A29\n#define GL_UNIFORM_BUFFER_SIZE            0x8A2A\n#define GL_MAX_VERTEX_UNIFORM_BLOCKS      0x8A2B\n#define GL_MAX_FRAGMENT_UNIFORM_BLOCKS    0x8A2D\n#define GL_MAX_COMBINED_UNIFORM_BLOCKS    0x8A2E\n#define GL_MAX_UNIFORM_BUFFER_BINDINGS    0x8A2F\n#define GL_MAX_UNIFORM_BLOCK_SIZE         0x8A30\n#define GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS 0x8A31\n#define GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS 0x8A33\n#define GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT 0x8A34\n#define GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH 0x8A35\n#define GL_ACTIVE_UNIFORM_BLOCKS          0x8A36\n#define GL_UNIFORM_TYPE                   0x8A37\n#define GL_UNIFORM_SIZE                   0x8A38\n#define GL_UNIFORM_NAME_LENGTH            0x8A39\n#define GL_UNIFORM_BLOCK_INDEX            0x8A3A\n#define GL_UNIFORM_OFFSET                 0x8A3B\n#define GL_UNIFORM_ARRAY_STRIDE           0x8A3C\n#define GL_UNIFORM_MATRIX_STRIDE          0x8A3D\n#define GL_UNIFORM_IS_ROW_MAJOR           0x8A3E\n#define GL_UNIFORM_BLOCK_BINDING          0x8A3F\n#define GL_UNIFORM_BLOCK_DATA_SIZE        0x8A40\n#define GL_UNIFORM_BLOCK_NAME_LENGTH      0x8A41\n#define GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS  0x8A42\n#define GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES 0x8A43\n#define GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER 0x8A44\n#define GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER 0x8A46\n#define GL_INVALID_INDEX                  0xFFFFFFFFu\ntypedef void (APIENTRYP PFNGLDRAWARRAYSINSTANCEDPROC) (GLenum mode, GLint first, GLsizei count, GLsizei instancecount);\ntypedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount);\ntypedef void (APIENTRYP PFNGLTEXBUFFERPROC) (GLenum target, GLenum internalformat, GLuint buffer);\ntypedef void (APIENTRYP PFNGLPRIMITIVERESTARTINDEXPROC) (GLuint index);\ntypedef void (APIENTRYP PFNGLCOPYBUFFERSUBDATAPROC) (GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);\ntypedef void (APIENTRYP PFNGLGETUNIFORMINDICESPROC) (GLuint program, GLsizei uniformCount, const GLchar *const*uniformNames, GLuint *uniformIndices);\ntypedef void (APIENTRYP PFNGLGETACTIVEUNIFORMSIVPROC) (GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params);\ntypedef void (APIENTRYP PFNGLGETACTIVEUNIFORMNAMEPROC) (GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformName);\ntypedef GLuint (APIENTRYP PFNGLGETUNIFORMBLOCKINDEXPROC) (GLuint program, const GLchar *uniformBlockName);\ntypedef void (APIENTRYP PFNGLGETACTIVEUNIFORMBLOCKIVPROC) (GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params);\ntypedef void (APIENTRYP PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC) (GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName);\ntypedef void (APIENTRYP PFNGLUNIFORMBLOCKBINDINGPROC) (GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glDrawArraysInstanced (GLenum mode, GLint first, GLsizei count, GLsizei instancecount);\nGLAPI void APIENTRY glDrawElementsInstanced (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount);\nGLAPI void APIENTRY glTexBuffer (GLenum target, GLenum internalformat, GLuint buffer);\nGLAPI void APIENTRY glPrimitiveRestartIndex (GLuint index);\nGLAPI void APIENTRY glCopyBufferSubData (GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);\nGLAPI void APIENTRY glGetUniformIndices (GLuint program, GLsizei uniformCount, const GLchar *const*uniformNames, GLuint *uniformIndices);\nGLAPI void APIENTRY glGetActiveUniformsiv (GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params);\nGLAPI void APIENTRY glGetActiveUniformName (GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformName);\nGLAPI GLuint APIENTRY glGetUniformBlockIndex (GLuint program, const GLchar *uniformBlockName);\nGLAPI void APIENTRY glGetActiveUniformBlockiv (GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params);\nGLAPI void APIENTRY glGetActiveUniformBlockName (GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName);\nGLAPI void APIENTRY glUniformBlockBinding (GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding);\n#endif\n#endif /* GL_VERSION_3_1 */\n\n#ifndef GL_VERSION_3_2\n#define GL_VERSION_3_2 1\ntypedef struct __GLsync *GLsync;\n#ifndef GLEXT_64_TYPES_DEFINED\n/* This code block is duplicated in glxext.h, so must be protected */\n#define GLEXT_64_TYPES_DEFINED\n/* Define int32_t, int64_t, and uint64_t types for UST/MSC */\n/* (as used in the GL_EXT_timer_query extension). */\n#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L\n#include <inttypes.h>\n#elif defined(__sun__) || defined(__digital__)\n#include <inttypes.h>\n#if defined(__STDC__)\n#if defined(__arch64__) || defined(_LP64)\ntypedef long int int64_t;\ntypedef unsigned long int uint64_t;\n#else\ntypedef long long int int64_t;\ntypedef unsigned long long int uint64_t;\n#endif /* __arch64__ */\n#endif /* __STDC__ */\n#elif defined( __VMS ) || defined(__sgi)\n#include <inttypes.h>\n#elif defined(__SCO__) || defined(__USLC__)\n#include <stdint.h>\n#elif defined(__UNIXOS2__) || defined(__SOL64__)\ntypedef long int int32_t;\ntypedef long long int int64_t;\ntypedef unsigned long long int uint64_t;\n#elif defined(_WIN32) && defined(__GNUC__)\n#include <stdint.h>\n#elif defined(_WIN32)\ntypedef __int32 int32_t;\ntypedef __int64 int64_t;\ntypedef unsigned __int64 uint64_t;\n#else\n/* Fallback if nothing above works */\n#include <inttypes.h>\n#endif\n#endif\ntypedef uint64_t GLuint64;\ntypedef int64_t GLint64;\n#define GL_CONTEXT_CORE_PROFILE_BIT       0x00000001\n#define GL_CONTEXT_COMPATIBILITY_PROFILE_BIT 0x00000002\n#define GL_LINES_ADJACENCY                0x000A\n#define GL_LINE_STRIP_ADJACENCY           0x000B\n#define GL_TRIANGLES_ADJACENCY            0x000C\n#define GL_TRIANGLE_STRIP_ADJACENCY       0x000D\n#define GL_PROGRAM_POINT_SIZE             0x8642\n#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS 0x8C29\n#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED 0x8DA7\n#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS 0x8DA8\n#define GL_GEOMETRY_SHADER                0x8DD9\n#define GL_GEOMETRY_VERTICES_OUT          0x8916\n#define GL_GEOMETRY_INPUT_TYPE            0x8917\n#define GL_GEOMETRY_OUTPUT_TYPE           0x8918\n#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS 0x8DDF\n#define GL_MAX_GEOMETRY_OUTPUT_VERTICES   0x8DE0\n#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS 0x8DE1\n#define GL_MAX_VERTEX_OUTPUT_COMPONENTS   0x9122\n#define GL_MAX_GEOMETRY_INPUT_COMPONENTS  0x9123\n#define GL_MAX_GEOMETRY_OUTPUT_COMPONENTS 0x9124\n#define GL_MAX_FRAGMENT_INPUT_COMPONENTS  0x9125\n#define GL_CONTEXT_PROFILE_MASK           0x9126\n#define GL_DEPTH_CLAMP                    0x864F\n#define GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION 0x8E4C\n#define GL_FIRST_VERTEX_CONVENTION        0x8E4D\n#define GL_LAST_VERTEX_CONVENTION         0x8E4E\n#define GL_PROVOKING_VERTEX               0x8E4F\n#define GL_TEXTURE_CUBE_MAP_SEAMLESS      0x884F\n#define GL_MAX_SERVER_WAIT_TIMEOUT        0x9111\n#define GL_OBJECT_TYPE                    0x9112\n#define GL_SYNC_CONDITION                 0x9113\n#define GL_SYNC_STATUS                    0x9114\n#define GL_SYNC_FLAGS                     0x9115\n#define GL_SYNC_FENCE                     0x9116\n#define GL_SYNC_GPU_COMMANDS_COMPLETE     0x9117\n#define GL_UNSIGNALED                     0x9118\n#define GL_SIGNALED                       0x9119\n#define GL_ALREADY_SIGNALED               0x911A\n#define GL_TIMEOUT_EXPIRED                0x911B\n#define GL_CONDITION_SATISFIED            0x911C\n#define GL_WAIT_FAILED                    0x911D\n#define GL_TIMEOUT_IGNORED                0xFFFFFFFFFFFFFFFFull\n#define GL_SYNC_FLUSH_COMMANDS_BIT        0x00000001\n#define GL_SAMPLE_POSITION                0x8E50\n#define GL_SAMPLE_MASK                    0x8E51\n#define GL_SAMPLE_MASK_VALUE              0x8E52\n#define GL_MAX_SAMPLE_MASK_WORDS          0x8E59\n#define GL_TEXTURE_2D_MULTISAMPLE         0x9100\n#define GL_PROXY_TEXTURE_2D_MULTISAMPLE   0x9101\n#define GL_TEXTURE_2D_MULTISAMPLE_ARRAY   0x9102\n#define GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY 0x9103\n#define GL_TEXTURE_BINDING_2D_MULTISAMPLE 0x9104\n#define GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY 0x9105\n#define GL_TEXTURE_SAMPLES                0x9106\n#define GL_TEXTURE_FIXED_SAMPLE_LOCATIONS 0x9107\n#define GL_SAMPLER_2D_MULTISAMPLE         0x9108\n#define GL_INT_SAMPLER_2D_MULTISAMPLE     0x9109\n#define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE 0x910A\n#define GL_SAMPLER_2D_MULTISAMPLE_ARRAY   0x910B\n#define GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910C\n#define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910D\n#define GL_MAX_COLOR_TEXTURE_SAMPLES      0x910E\n#define GL_MAX_DEPTH_TEXTURE_SAMPLES      0x910F\n#define GL_MAX_INTEGER_SAMPLES            0x9110\ntypedef void (APIENTRYP PFNGLDRAWELEMENTSBASEVERTEXPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex);\ntypedef void (APIENTRYP PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices, GLint basevertex);\ntypedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex);\ntypedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC) (GLenum mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei drawcount, const GLint *basevertex);\ntypedef void (APIENTRYP PFNGLPROVOKINGVERTEXPROC) (GLenum mode);\ntypedef GLsync (APIENTRYP PFNGLFENCESYNCPROC) (GLenum condition, GLbitfield flags);\ntypedef GLboolean (APIENTRYP PFNGLISSYNCPROC) (GLsync sync);\ntypedef void (APIENTRYP PFNGLDELETESYNCPROC) (GLsync sync);\ntypedef GLenum (APIENTRYP PFNGLCLIENTWAITSYNCPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout);\ntypedef void (APIENTRYP PFNGLWAITSYNCPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout);\ntypedef void (APIENTRYP PFNGLGETINTEGER64VPROC) (GLenum pname, GLint64 *data);\ntypedef void (APIENTRYP PFNGLGETSYNCIVPROC) (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);\ntypedef void (APIENTRYP PFNGLGETINTEGER64I_VPROC) (GLenum target, GLuint index, GLint64 *data);\ntypedef void (APIENTRYP PFNGLGETBUFFERPARAMETERI64VPROC) (GLenum target, GLenum pname, GLint64 *params);\ntypedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTUREPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level);\ntypedef void (APIENTRYP PFNGLTEXIMAGE2DMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);\ntypedef void (APIENTRYP PFNGLTEXIMAGE3DMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);\ntypedef void (APIENTRYP PFNGLGETMULTISAMPLEFVPROC) (GLenum pname, GLuint index, GLfloat *val);\ntypedef void (APIENTRYP PFNGLSAMPLEMASKIPROC) (GLuint maskNumber, GLbitfield mask);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glDrawElementsBaseVertex (GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex);\nGLAPI void APIENTRY glDrawRangeElementsBaseVertex (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices, GLint basevertex);\nGLAPI void APIENTRY glDrawElementsInstancedBaseVertex (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex);\nGLAPI void APIENTRY glMultiDrawElementsBaseVertex (GLenum mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei drawcount, const GLint *basevertex);\nGLAPI void APIENTRY glProvokingVertex (GLenum mode);\nGLAPI GLsync APIENTRY glFenceSync (GLenum condition, GLbitfield flags);\nGLAPI GLboolean APIENTRY glIsSync (GLsync sync);\nGLAPI void APIENTRY glDeleteSync (GLsync sync);\nGLAPI GLenum APIENTRY glClientWaitSync (GLsync sync, GLbitfield flags, GLuint64 timeout);\nGLAPI void APIENTRY glWaitSync (GLsync sync, GLbitfield flags, GLuint64 timeout);\nGLAPI void APIENTRY glGetInteger64v (GLenum pname, GLint64 *data);\nGLAPI void APIENTRY glGetSynciv (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);\nGLAPI void APIENTRY glGetInteger64i_v (GLenum target, GLuint index, GLint64 *data);\nGLAPI void APIENTRY glGetBufferParameteri64v (GLenum target, GLenum pname, GLint64 *params);\nGLAPI void APIENTRY glFramebufferTexture (GLenum target, GLenum attachment, GLuint texture, GLint level);\nGLAPI void APIENTRY glTexImage2DMultisample (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);\nGLAPI void APIENTRY glTexImage3DMultisample (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);\nGLAPI void APIENTRY glGetMultisamplefv (GLenum pname, GLuint index, GLfloat *val);\nGLAPI void APIENTRY glSampleMaski (GLuint maskNumber, GLbitfield mask);\n#endif\n#endif /* GL_VERSION_3_2 */\n\n#ifndef GL_VERSION_3_3\n#define GL_VERSION_3_3 1\n#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR    0x88FE\n#define GL_SRC1_COLOR                     0x88F9\n#define GL_ONE_MINUS_SRC1_COLOR           0x88FA\n#define GL_ONE_MINUS_SRC1_ALPHA           0x88FB\n#define GL_MAX_DUAL_SOURCE_DRAW_BUFFERS   0x88FC\n#define GL_ANY_SAMPLES_PASSED             0x8C2F\n#define GL_SAMPLER_BINDING                0x8919\n#define GL_RGB10_A2UI                     0x906F\n#define GL_TEXTURE_SWIZZLE_R              0x8E42\n#define GL_TEXTURE_SWIZZLE_G              0x8E43\n#define GL_TEXTURE_SWIZZLE_B              0x8E44\n#define GL_TEXTURE_SWIZZLE_A              0x8E45\n#define GL_TEXTURE_SWIZZLE_RGBA           0x8E46\n#define GL_TIME_ELAPSED                   0x88BF\n#define GL_TIMESTAMP                      0x8E28\n#define GL_INT_2_10_10_10_REV             0x8D9F\ntypedef void (APIENTRYP PFNGLBINDFRAGDATALOCATIONINDEXEDPROC) (GLuint program, GLuint colorNumber, GLuint index, const GLchar *name);\ntypedef GLint (APIENTRYP PFNGLGETFRAGDATAINDEXPROC) (GLuint program, const GLchar *name);\ntypedef void (APIENTRYP PFNGLGENSAMPLERSPROC) (GLsizei count, GLuint *samplers);\ntypedef void (APIENTRYP PFNGLDELETESAMPLERSPROC) (GLsizei count, const GLuint *samplers);\ntypedef GLboolean (APIENTRYP PFNGLISSAMPLERPROC) (GLuint sampler);\ntypedef void (APIENTRYP PFNGLBINDSAMPLERPROC) (GLuint unit, GLuint sampler);\ntypedef void (APIENTRYP PFNGLSAMPLERPARAMETERIPROC) (GLuint sampler, GLenum pname, GLint param);\ntypedef void (APIENTRYP PFNGLSAMPLERPARAMETERIVPROC) (GLuint sampler, GLenum pname, const GLint *param);\ntypedef void (APIENTRYP PFNGLSAMPLERPARAMETERFPROC) (GLuint sampler, GLenum pname, GLfloat param);\ntypedef void (APIENTRYP PFNGLSAMPLERPARAMETERFVPROC) (GLuint sampler, GLenum pname, const GLfloat *param);\ntypedef void (APIENTRYP PFNGLSAMPLERPARAMETERIIVPROC) (GLuint sampler, GLenum pname, const GLint *param);\ntypedef void (APIENTRYP PFNGLSAMPLERPARAMETERIUIVPROC) (GLuint sampler, GLenum pname, const GLuint *param);\ntypedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERIVPROC) (GLuint sampler, GLenum pname, GLint *params);\ntypedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERIIVPROC) (GLuint sampler, GLenum pname, GLint *params);\ntypedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERFVPROC) (GLuint sampler, GLenum pname, GLfloat *params);\ntypedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERIUIVPROC) (GLuint sampler, GLenum pname, GLuint *params);\ntypedef void (APIENTRYP PFNGLQUERYCOUNTERPROC) (GLuint id, GLenum target);\ntypedef void (APIENTRYP PFNGLGETQUERYOBJECTI64VPROC) (GLuint id, GLenum pname, GLint64 *params);\ntypedef void (APIENTRYP PFNGLGETQUERYOBJECTUI64VPROC) (GLuint id, GLenum pname, GLuint64 *params);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBDIVISORPROC) (GLuint index, GLuint divisor);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBP1UIPROC) (GLuint index, GLenum type, GLboolean normalized, GLuint value);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBP1UIVPROC) (GLuint index, GLenum type, GLboolean normalized, const GLuint *value);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBP2UIPROC) (GLuint index, GLenum type, GLboolean normalized, GLuint value);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBP2UIVPROC) (GLuint index, GLenum type, GLboolean normalized, const GLuint *value);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBP3UIPROC) (GLuint index, GLenum type, GLboolean normalized, GLuint value);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBP3UIVPROC) (GLuint index, GLenum type, GLboolean normalized, const GLuint *value);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBP4UIPROC) (GLuint index, GLenum type, GLboolean normalized, GLuint value);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBP4UIVPROC) (GLuint index, GLenum type, GLboolean normalized, const GLuint *value);\ntypedef void (APIENTRYP PFNGLVERTEXP2UIPROC) (GLenum type, GLuint value);\ntypedef void (APIENTRYP PFNGLVERTEXP2UIVPROC) (GLenum type, const GLuint *value);\ntypedef void (APIENTRYP PFNGLVERTEXP3UIPROC) (GLenum type, GLuint value);\ntypedef void (APIENTRYP PFNGLVERTEXP3UIVPROC) (GLenum type, const GLuint *value);\ntypedef void (APIENTRYP PFNGLVERTEXP4UIPROC) (GLenum type, GLuint value);\ntypedef void (APIENTRYP PFNGLVERTEXP4UIVPROC) (GLenum type, const GLuint *value);\ntypedef void (APIENTRYP PFNGLTEXCOORDP1UIPROC) (GLenum type, GLuint coords);\ntypedef void (APIENTRYP PFNGLTEXCOORDP1UIVPROC) (GLenum type, const GLuint *coords);\ntypedef void (APIENTRYP PFNGLTEXCOORDP2UIPROC) (GLenum type, GLuint coords);\ntypedef void (APIENTRYP PFNGLTEXCOORDP2UIVPROC) (GLenum type, const GLuint *coords);\ntypedef void (APIENTRYP PFNGLTEXCOORDP3UIPROC) (GLenum type, GLuint coords);\ntypedef void (APIENTRYP PFNGLTEXCOORDP3UIVPROC) (GLenum type, const GLuint *coords);\ntypedef void (APIENTRYP PFNGLTEXCOORDP4UIPROC) (GLenum type, GLuint coords);\ntypedef void (APIENTRYP PFNGLTEXCOORDP4UIVPROC) (GLenum type, const GLuint *coords);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORDP1UIPROC) (GLenum texture, GLenum type, GLuint coords);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORDP1UIVPROC) (GLenum texture, GLenum type, const GLuint *coords);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORDP2UIPROC) (GLenum texture, GLenum type, GLuint coords);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORDP2UIVPROC) (GLenum texture, GLenum type, const GLuint *coords);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORDP3UIPROC) (GLenum texture, GLenum type, GLuint coords);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORDP3UIVPROC) (GLenum texture, GLenum type, const GLuint *coords);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORDP4UIPROC) (GLenum texture, GLenum type, GLuint coords);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORDP4UIVPROC) (GLenum texture, GLenum type, const GLuint *coords);\ntypedef void (APIENTRYP PFNGLNORMALP3UIPROC) (GLenum type, GLuint coords);\ntypedef void (APIENTRYP PFNGLNORMALP3UIVPROC) (GLenum type, const GLuint *coords);\ntypedef void (APIENTRYP PFNGLCOLORP3UIPROC) (GLenum type, GLuint color);\ntypedef void (APIENTRYP PFNGLCOLORP3UIVPROC) (GLenum type, const GLuint *color);\ntypedef void (APIENTRYP PFNGLCOLORP4UIPROC) (GLenum type, GLuint color);\ntypedef void (APIENTRYP PFNGLCOLORP4UIVPROC) (GLenum type, const GLuint *color);\ntypedef void (APIENTRYP PFNGLSECONDARYCOLORP3UIPROC) (GLenum type, GLuint color);\ntypedef void (APIENTRYP PFNGLSECONDARYCOLORP3UIVPROC) (GLenum type, const GLuint *color);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glBindFragDataLocationIndexed (GLuint program, GLuint colorNumber, GLuint index, const GLchar *name);\nGLAPI GLint APIENTRY glGetFragDataIndex (GLuint program, const GLchar *name);\nGLAPI void APIENTRY glGenSamplers (GLsizei count, GLuint *samplers);\nGLAPI void APIENTRY glDeleteSamplers (GLsizei count, const GLuint *samplers);\nGLAPI GLboolean APIENTRY glIsSampler (GLuint sampler);\nGLAPI void APIENTRY glBindSampler (GLuint unit, GLuint sampler);\nGLAPI void APIENTRY glSamplerParameteri (GLuint sampler, GLenum pname, GLint param);\nGLAPI void APIENTRY glSamplerParameteriv (GLuint sampler, GLenum pname, const GLint *param);\nGLAPI void APIENTRY glSamplerParameterf (GLuint sampler, GLenum pname, GLfloat param);\nGLAPI void APIENTRY glSamplerParameterfv (GLuint sampler, GLenum pname, const GLfloat *param);\nGLAPI void APIENTRY glSamplerParameterIiv (GLuint sampler, GLenum pname, const GLint *param);\nGLAPI void APIENTRY glSamplerParameterIuiv (GLuint sampler, GLenum pname, const GLuint *param);\nGLAPI void APIENTRY glGetSamplerParameteriv (GLuint sampler, GLenum pname, GLint *params);\nGLAPI void APIENTRY glGetSamplerParameterIiv (GLuint sampler, GLenum pname, GLint *params);\nGLAPI void APIENTRY glGetSamplerParameterfv (GLuint sampler, GLenum pname, GLfloat *params);\nGLAPI void APIENTRY glGetSamplerParameterIuiv (GLuint sampler, GLenum pname, GLuint *params);\nGLAPI void APIENTRY glQueryCounter (GLuint id, GLenum target);\nGLAPI void APIENTRY glGetQueryObjecti64v (GLuint id, GLenum pname, GLint64 *params);\nGLAPI void APIENTRY glGetQueryObjectui64v (GLuint id, GLenum pname, GLuint64 *params);\nGLAPI void APIENTRY glVertexAttribDivisor (GLuint index, GLuint divisor);\nGLAPI void APIENTRY glVertexAttribP1ui (GLuint index, GLenum type, GLboolean normalized, GLuint value);\nGLAPI void APIENTRY glVertexAttribP1uiv (GLuint index, GLenum type, GLboolean normalized, const GLuint *value);\nGLAPI void APIENTRY glVertexAttribP2ui (GLuint index, GLenum type, GLboolean normalized, GLuint value);\nGLAPI void APIENTRY glVertexAttribP2uiv (GLuint index, GLenum type, GLboolean normalized, const GLuint *value);\nGLAPI void APIENTRY glVertexAttribP3ui (GLuint index, GLenum type, GLboolean normalized, GLuint value);\nGLAPI void APIENTRY glVertexAttribP3uiv (GLuint index, GLenum type, GLboolean normalized, const GLuint *value);\nGLAPI void APIENTRY glVertexAttribP4ui (GLuint index, GLenum type, GLboolean normalized, GLuint value);\nGLAPI void APIENTRY glVertexAttribP4uiv (GLuint index, GLenum type, GLboolean normalized, const GLuint *value);\nGLAPI void APIENTRY glVertexP2ui (GLenum type, GLuint value);\nGLAPI void APIENTRY glVertexP2uiv (GLenum type, const GLuint *value);\nGLAPI void APIENTRY glVertexP3ui (GLenum type, GLuint value);\nGLAPI void APIENTRY glVertexP3uiv (GLenum type, const GLuint *value);\nGLAPI void APIENTRY glVertexP4ui (GLenum type, GLuint value);\nGLAPI void APIENTRY glVertexP4uiv (GLenum type, const GLuint *value);\nGLAPI void APIENTRY glTexCoordP1ui (GLenum type, GLuint coords);\nGLAPI void APIENTRY glTexCoordP1uiv (GLenum type, const GLuint *coords);\nGLAPI void APIENTRY glTexCoordP2ui (GLenum type, GLuint coords);\nGLAPI void APIENTRY glTexCoordP2uiv (GLenum type, const GLuint *coords);\nGLAPI void APIENTRY glTexCoordP3ui (GLenum type, GLuint coords);\nGLAPI void APIENTRY glTexCoordP3uiv (GLenum type, const GLuint *coords);\nGLAPI void APIENTRY glTexCoordP4ui (GLenum type, GLuint coords);\nGLAPI void APIENTRY glTexCoordP4uiv (GLenum type, const GLuint *coords);\nGLAPI void APIENTRY glMultiTexCoordP1ui (GLenum texture, GLenum type, GLuint coords);\nGLAPI void APIENTRY glMultiTexCoordP1uiv (GLenum texture, GLenum type, const GLuint *coords);\nGLAPI void APIENTRY glMultiTexCoordP2ui (GLenum texture, GLenum type, GLuint coords);\nGLAPI void APIENTRY glMultiTexCoordP2uiv (GLenum texture, GLenum type, const GLuint *coords);\nGLAPI void APIENTRY glMultiTexCoordP3ui (GLenum texture, GLenum type, GLuint coords);\nGLAPI void APIENTRY glMultiTexCoordP3uiv (GLenum texture, GLenum type, const GLuint *coords);\nGLAPI void APIENTRY glMultiTexCoordP4ui (GLenum texture, GLenum type, GLuint coords);\nGLAPI void APIENTRY glMultiTexCoordP4uiv (GLenum texture, GLenum type, const GLuint *coords);\nGLAPI void APIENTRY glNormalP3ui (GLenum type, GLuint coords);\nGLAPI void APIENTRY glNormalP3uiv (GLenum type, const GLuint *coords);\nGLAPI void APIENTRY glColorP3ui (GLenum type, GLuint color);\nGLAPI void APIENTRY glColorP3uiv (GLenum type, const GLuint *color);\nGLAPI void APIENTRY glColorP4ui (GLenum type, GLuint color);\nGLAPI void APIENTRY glColorP4uiv (GLenum type, const GLuint *color);\nGLAPI void APIENTRY glSecondaryColorP3ui (GLenum type, GLuint color);\nGLAPI void APIENTRY glSecondaryColorP3uiv (GLenum type, const GLuint *color);\n#endif\n#endif /* GL_VERSION_3_3 */\n\n#ifndef GL_VERSION_4_0\n#define GL_VERSION_4_0 1\n#define GL_SAMPLE_SHADING                 0x8C36\n#define GL_MIN_SAMPLE_SHADING_VALUE       0x8C37\n#define GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET 0x8E5E\n#define GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET 0x8E5F\n#define GL_TEXTURE_CUBE_MAP_ARRAY         0x9009\n#define GL_TEXTURE_BINDING_CUBE_MAP_ARRAY 0x900A\n#define GL_PROXY_TEXTURE_CUBE_MAP_ARRAY   0x900B\n#define GL_SAMPLER_CUBE_MAP_ARRAY         0x900C\n#define GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW  0x900D\n#define GL_INT_SAMPLER_CUBE_MAP_ARRAY     0x900E\n#define GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY 0x900F\n#define GL_DRAW_INDIRECT_BUFFER           0x8F3F\n#define GL_DRAW_INDIRECT_BUFFER_BINDING   0x8F43\n#define GL_GEOMETRY_SHADER_INVOCATIONS    0x887F\n#define GL_MAX_GEOMETRY_SHADER_INVOCATIONS 0x8E5A\n#define GL_MIN_FRAGMENT_INTERPOLATION_OFFSET 0x8E5B\n#define GL_MAX_FRAGMENT_INTERPOLATION_OFFSET 0x8E5C\n#define GL_FRAGMENT_INTERPOLATION_OFFSET_BITS 0x8E5D\n#define GL_MAX_VERTEX_STREAMS             0x8E71\n#define GL_DOUBLE_VEC2                    0x8FFC\n#define GL_DOUBLE_VEC3                    0x8FFD\n#define GL_DOUBLE_VEC4                    0x8FFE\n#define GL_DOUBLE_MAT2                    0x8F46\n#define GL_DOUBLE_MAT3                    0x8F47\n#define GL_DOUBLE_MAT4                    0x8F48\n#define GL_DOUBLE_MAT2x3                  0x8F49\n#define GL_DOUBLE_MAT2x4                  0x8F4A\n#define GL_DOUBLE_MAT3x2                  0x8F4B\n#define GL_DOUBLE_MAT3x4                  0x8F4C\n#define GL_DOUBLE_MAT4x2                  0x8F4D\n#define GL_DOUBLE_MAT4x3                  0x8F4E\n#define GL_ACTIVE_SUBROUTINES             0x8DE5\n#define GL_ACTIVE_SUBROUTINE_UNIFORMS     0x8DE6\n#define GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS 0x8E47\n#define GL_ACTIVE_SUBROUTINE_MAX_LENGTH   0x8E48\n#define GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH 0x8E49\n#define GL_MAX_SUBROUTINES                0x8DE7\n#define GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS 0x8DE8\n#define GL_NUM_COMPATIBLE_SUBROUTINES     0x8E4A\n#define GL_COMPATIBLE_SUBROUTINES         0x8E4B\n#define GL_PATCHES                        0x000E\n#define GL_PATCH_VERTICES                 0x8E72\n#define GL_PATCH_DEFAULT_INNER_LEVEL      0x8E73\n#define GL_PATCH_DEFAULT_OUTER_LEVEL      0x8E74\n#define GL_TESS_CONTROL_OUTPUT_VERTICES   0x8E75\n#define GL_TESS_GEN_MODE                  0x8E76\n#define GL_TESS_GEN_SPACING               0x8E77\n#define GL_TESS_GEN_VERTEX_ORDER          0x8E78\n#define GL_TESS_GEN_POINT_MODE            0x8E79\n#define GL_ISOLINES                       0x8E7A\n#define GL_FRACTIONAL_ODD                 0x8E7B\n#define GL_FRACTIONAL_EVEN                0x8E7C\n#define GL_MAX_PATCH_VERTICES             0x8E7D\n#define GL_MAX_TESS_GEN_LEVEL             0x8E7E\n#define GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS 0x8E7F\n#define GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS 0x8E80\n#define GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS 0x8E81\n#define GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS 0x8E82\n#define GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS 0x8E83\n#define GL_MAX_TESS_PATCH_COMPONENTS      0x8E84\n#define GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS 0x8E85\n#define GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS 0x8E86\n#define GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS 0x8E89\n#define GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS 0x8E8A\n#define GL_MAX_TESS_CONTROL_INPUT_COMPONENTS 0x886C\n#define GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS 0x886D\n#define GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS 0x8E1E\n#define GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS 0x8E1F\n#define GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER 0x84F0\n#define GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER 0x84F1\n#define GL_TESS_EVALUATION_SHADER         0x8E87\n#define GL_TESS_CONTROL_SHADER            0x8E88\n#define GL_TRANSFORM_FEEDBACK             0x8E22\n#define GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED 0x8E23\n#define GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE 0x8E24\n#define GL_TRANSFORM_FEEDBACK_BINDING     0x8E25\n#define GL_MAX_TRANSFORM_FEEDBACK_BUFFERS 0x8E70\ntypedef void (APIENTRYP PFNGLMINSAMPLESHADINGPROC) (GLfloat value);\ntypedef void (APIENTRYP PFNGLBLENDEQUATIONIPROC) (GLuint buf, GLenum mode);\ntypedef void (APIENTRYP PFNGLBLENDEQUATIONSEPARATEIPROC) (GLuint buf, GLenum modeRGB, GLenum modeAlpha);\ntypedef void (APIENTRYP PFNGLBLENDFUNCIPROC) (GLuint buf, GLenum src, GLenum dst);\ntypedef void (APIENTRYP PFNGLBLENDFUNCSEPARATEIPROC) (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);\ntypedef void (APIENTRYP PFNGLDRAWARRAYSINDIRECTPROC) (GLenum mode, const void *indirect);\ntypedef void (APIENTRYP PFNGLDRAWELEMENTSINDIRECTPROC) (GLenum mode, GLenum type, const void *indirect);\ntypedef void (APIENTRYP PFNGLUNIFORM1DPROC) (GLint location, GLdouble x);\ntypedef void (APIENTRYP PFNGLUNIFORM2DPROC) (GLint location, GLdouble x, GLdouble y);\ntypedef void (APIENTRYP PFNGLUNIFORM3DPROC) (GLint location, GLdouble x, GLdouble y, GLdouble z);\ntypedef void (APIENTRYP PFNGLUNIFORM4DPROC) (GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\ntypedef void (APIENTRYP PFNGLUNIFORM1DVPROC) (GLint location, GLsizei count, const GLdouble *value);\ntypedef void (APIENTRYP PFNGLUNIFORM2DVPROC) (GLint location, GLsizei count, const GLdouble *value);\ntypedef void (APIENTRYP PFNGLUNIFORM3DVPROC) (GLint location, GLsizei count, const GLdouble *value);\ntypedef void (APIENTRYP PFNGLUNIFORM4DVPROC) (GLint location, GLsizei count, const GLdouble *value);\ntypedef void (APIENTRYP PFNGLUNIFORMMATRIX2DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\ntypedef void (APIENTRYP PFNGLUNIFORMMATRIX3DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\ntypedef void (APIENTRYP PFNGLUNIFORMMATRIX4DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\ntypedef void (APIENTRYP PFNGLUNIFORMMATRIX2X3DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\ntypedef void (APIENTRYP PFNGLUNIFORMMATRIX2X4DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\ntypedef void (APIENTRYP PFNGLUNIFORMMATRIX3X2DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\ntypedef void (APIENTRYP PFNGLUNIFORMMATRIX3X4DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\ntypedef void (APIENTRYP PFNGLUNIFORMMATRIX4X2DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\ntypedef void (APIENTRYP PFNGLUNIFORMMATRIX4X3DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\ntypedef void (APIENTRYP PFNGLGETUNIFORMDVPROC) (GLuint program, GLint location, GLdouble *params);\ntypedef GLint (APIENTRYP PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC) (GLuint program, GLenum shadertype, const GLchar *name);\ntypedef GLuint (APIENTRYP PFNGLGETSUBROUTINEINDEXPROC) (GLuint program, GLenum shadertype, const GLchar *name);\ntypedef void (APIENTRYP PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC) (GLuint program, GLenum shadertype, GLuint index, GLenum pname, GLint *values);\ntypedef void (APIENTRYP PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC) (GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name);\ntypedef void (APIENTRYP PFNGLGETACTIVESUBROUTINENAMEPROC) (GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name);\ntypedef void (APIENTRYP PFNGLUNIFORMSUBROUTINESUIVPROC) (GLenum shadertype, GLsizei count, const GLuint *indices);\ntypedef void (APIENTRYP PFNGLGETUNIFORMSUBROUTINEUIVPROC) (GLenum shadertype, GLint location, GLuint *params);\ntypedef void (APIENTRYP PFNGLGETPROGRAMSTAGEIVPROC) (GLuint program, GLenum shadertype, GLenum pname, GLint *values);\ntypedef void (APIENTRYP PFNGLPATCHPARAMETERIPROC) (GLenum pname, GLint value);\ntypedef void (APIENTRYP PFNGLPATCHPARAMETERFVPROC) (GLenum pname, const GLfloat *values);\ntypedef void (APIENTRYP PFNGLBINDTRANSFORMFEEDBACKPROC) (GLenum target, GLuint id);\ntypedef void (APIENTRYP PFNGLDELETETRANSFORMFEEDBACKSPROC) (GLsizei n, const GLuint *ids);\ntypedef void (APIENTRYP PFNGLGENTRANSFORMFEEDBACKSPROC) (GLsizei n, GLuint *ids);\ntypedef GLboolean (APIENTRYP PFNGLISTRANSFORMFEEDBACKPROC) (GLuint id);\ntypedef void (APIENTRYP PFNGLPAUSETRANSFORMFEEDBACKPROC) (void);\ntypedef void (APIENTRYP PFNGLRESUMETRANSFORMFEEDBACKPROC) (void);\ntypedef void (APIENTRYP PFNGLDRAWTRANSFORMFEEDBACKPROC) (GLenum mode, GLuint id);\ntypedef void (APIENTRYP PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC) (GLenum mode, GLuint id, GLuint stream);\ntypedef void (APIENTRYP PFNGLBEGINQUERYINDEXEDPROC) (GLenum target, GLuint index, GLuint id);\ntypedef void (APIENTRYP PFNGLENDQUERYINDEXEDPROC) (GLenum target, GLuint index);\ntypedef void (APIENTRYP PFNGLGETQUERYINDEXEDIVPROC) (GLenum target, GLuint index, GLenum pname, GLint *params);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glMinSampleShading (GLfloat value);\nGLAPI void APIENTRY glBlendEquationi (GLuint buf, GLenum mode);\nGLAPI void APIENTRY glBlendEquationSeparatei (GLuint buf, GLenum modeRGB, GLenum modeAlpha);\nGLAPI void APIENTRY glBlendFunci (GLuint buf, GLenum src, GLenum dst);\nGLAPI void APIENTRY glBlendFuncSeparatei (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);\nGLAPI void APIENTRY glDrawArraysIndirect (GLenum mode, const void *indirect);\nGLAPI void APIENTRY glDrawElementsIndirect (GLenum mode, GLenum type, const void *indirect);\nGLAPI void APIENTRY glUniform1d (GLint location, GLdouble x);\nGLAPI void APIENTRY glUniform2d (GLint location, GLdouble x, GLdouble y);\nGLAPI void APIENTRY glUniform3d (GLint location, GLdouble x, GLdouble y, GLdouble z);\nGLAPI void APIENTRY glUniform4d (GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nGLAPI void APIENTRY glUniform1dv (GLint location, GLsizei count, const GLdouble *value);\nGLAPI void APIENTRY glUniform2dv (GLint location, GLsizei count, const GLdouble *value);\nGLAPI void APIENTRY glUniform3dv (GLint location, GLsizei count, const GLdouble *value);\nGLAPI void APIENTRY glUniform4dv (GLint location, GLsizei count, const GLdouble *value);\nGLAPI void APIENTRY glUniformMatrix2dv (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nGLAPI void APIENTRY glUniformMatrix3dv (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nGLAPI void APIENTRY glUniformMatrix4dv (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nGLAPI void APIENTRY glUniformMatrix2x3dv (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nGLAPI void APIENTRY glUniformMatrix2x4dv (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nGLAPI void APIENTRY glUniformMatrix3x2dv (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nGLAPI void APIENTRY glUniformMatrix3x4dv (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nGLAPI void APIENTRY glUniformMatrix4x2dv (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nGLAPI void APIENTRY glUniformMatrix4x3dv (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nGLAPI void APIENTRY glGetUniformdv (GLuint program, GLint location, GLdouble *params);\nGLAPI GLint APIENTRY glGetSubroutineUniformLocation (GLuint program, GLenum shadertype, const GLchar *name);\nGLAPI GLuint APIENTRY glGetSubroutineIndex (GLuint program, GLenum shadertype, const GLchar *name);\nGLAPI void APIENTRY glGetActiveSubroutineUniformiv (GLuint program, GLenum shadertype, GLuint index, GLenum pname, GLint *values);\nGLAPI void APIENTRY glGetActiveSubroutineUniformName (GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name);\nGLAPI void APIENTRY glGetActiveSubroutineName (GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name);\nGLAPI void APIENTRY glUniformSubroutinesuiv (GLenum shadertype, GLsizei count, const GLuint *indices);\nGLAPI void APIENTRY glGetUniformSubroutineuiv (GLenum shadertype, GLint location, GLuint *params);\nGLAPI void APIENTRY glGetProgramStageiv (GLuint program, GLenum shadertype, GLenum pname, GLint *values);\nGLAPI void APIENTRY glPatchParameteri (GLenum pname, GLint value);\nGLAPI void APIENTRY glPatchParameterfv (GLenum pname, const GLfloat *values);\nGLAPI void APIENTRY glBindTransformFeedback (GLenum target, GLuint id);\nGLAPI void APIENTRY glDeleteTransformFeedbacks (GLsizei n, const GLuint *ids);\nGLAPI void APIENTRY glGenTransformFeedbacks (GLsizei n, GLuint *ids);\nGLAPI GLboolean APIENTRY glIsTransformFeedback (GLuint id);\nGLAPI void APIENTRY glPauseTransformFeedback (void);\nGLAPI void APIENTRY glResumeTransformFeedback (void);\nGLAPI void APIENTRY glDrawTransformFeedback (GLenum mode, GLuint id);\nGLAPI void APIENTRY glDrawTransformFeedbackStream (GLenum mode, GLuint id, GLuint stream);\nGLAPI void APIENTRY glBeginQueryIndexed (GLenum target, GLuint index, GLuint id);\nGLAPI void APIENTRY glEndQueryIndexed (GLenum target, GLuint index);\nGLAPI void APIENTRY glGetQueryIndexediv (GLenum target, GLuint index, GLenum pname, GLint *params);\n#endif\n#endif /* GL_VERSION_4_0 */\n\n#ifndef GL_VERSION_4_1\n#define GL_VERSION_4_1 1\n#define GL_FIXED                          0x140C\n#define GL_IMPLEMENTATION_COLOR_READ_TYPE 0x8B9A\n#define GL_IMPLEMENTATION_COLOR_READ_FORMAT 0x8B9B\n#define GL_LOW_FLOAT                      0x8DF0\n#define GL_MEDIUM_FLOAT                   0x8DF1\n#define GL_HIGH_FLOAT                     0x8DF2\n#define GL_LOW_INT                        0x8DF3\n#define GL_MEDIUM_INT                     0x8DF4\n#define GL_HIGH_INT                       0x8DF5\n#define GL_SHADER_COMPILER                0x8DFA\n#define GL_SHADER_BINARY_FORMATS          0x8DF8\n#define GL_NUM_SHADER_BINARY_FORMATS      0x8DF9\n#define GL_MAX_VERTEX_UNIFORM_VECTORS     0x8DFB\n#define GL_MAX_VARYING_VECTORS            0x8DFC\n#define GL_MAX_FRAGMENT_UNIFORM_VECTORS   0x8DFD\n#define GL_RGB565                         0x8D62\n#define GL_PROGRAM_BINARY_RETRIEVABLE_HINT 0x8257\n#define GL_PROGRAM_BINARY_LENGTH          0x8741\n#define GL_NUM_PROGRAM_BINARY_FORMATS     0x87FE\n#define GL_PROGRAM_BINARY_FORMATS         0x87FF\n#define GL_VERTEX_SHADER_BIT              0x00000001\n#define GL_FRAGMENT_SHADER_BIT            0x00000002\n#define GL_GEOMETRY_SHADER_BIT            0x00000004\n#define GL_TESS_CONTROL_SHADER_BIT        0x00000008\n#define GL_TESS_EVALUATION_SHADER_BIT     0x00000010\n#define GL_ALL_SHADER_BITS                0xFFFFFFFF\n#define GL_PROGRAM_SEPARABLE              0x8258\n#define GL_ACTIVE_PROGRAM                 0x8259\n#define GL_PROGRAM_PIPELINE_BINDING       0x825A\n#define GL_MAX_VIEWPORTS                  0x825B\n#define GL_VIEWPORT_SUBPIXEL_BITS         0x825C\n#define GL_VIEWPORT_BOUNDS_RANGE          0x825D\n#define GL_LAYER_PROVOKING_VERTEX         0x825E\n#define GL_VIEWPORT_INDEX_PROVOKING_VERTEX 0x825F\n#define GL_UNDEFINED_VERTEX               0x8260\ntypedef void (APIENTRYP PFNGLRELEASESHADERCOMPILERPROC) (void);\ntypedef void (APIENTRYP PFNGLSHADERBINARYPROC) (GLsizei count, const GLuint *shaders, GLenum binaryformat, const void *binary, GLsizei length);\ntypedef void (APIENTRYP PFNGLGETSHADERPRECISIONFORMATPROC) (GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision);\ntypedef void (APIENTRYP PFNGLDEPTHRANGEFPROC) (GLfloat n, GLfloat f);\ntypedef void (APIENTRYP PFNGLCLEARDEPTHFPROC) (GLfloat d);\ntypedef void (APIENTRYP PFNGLGETPROGRAMBINARYPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary);\ntypedef void (APIENTRYP PFNGLPROGRAMBINARYPROC) (GLuint program, GLenum binaryFormat, const void *binary, GLsizei length);\ntypedef void (APIENTRYP PFNGLPROGRAMPARAMETERIPROC) (GLuint program, GLenum pname, GLint value);\ntypedef void (APIENTRYP PFNGLUSEPROGRAMSTAGESPROC) (GLuint pipeline, GLbitfield stages, GLuint program);\ntypedef void (APIENTRYP PFNGLACTIVESHADERPROGRAMPROC) (GLuint pipeline, GLuint program);\ntypedef GLuint (APIENTRYP PFNGLCREATESHADERPROGRAMVPROC) (GLenum type, GLsizei count, const GLchar *const*strings);\ntypedef void (APIENTRYP PFNGLBINDPROGRAMPIPELINEPROC) (GLuint pipeline);\ntypedef void (APIENTRYP PFNGLDELETEPROGRAMPIPELINESPROC) (GLsizei n, const GLuint *pipelines);\ntypedef void (APIENTRYP PFNGLGENPROGRAMPIPELINESPROC) (GLsizei n, GLuint *pipelines);\ntypedef GLboolean (APIENTRYP PFNGLISPROGRAMPIPELINEPROC) (GLuint pipeline);\ntypedef void (APIENTRYP PFNGLGETPROGRAMPIPELINEIVPROC) (GLuint pipeline, GLenum pname, GLint *params);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM1IPROC) (GLuint program, GLint location, GLint v0);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM1IVPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM1FPROC) (GLuint program, GLint location, GLfloat v0);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM1FVPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM1DPROC) (GLuint program, GLint location, GLdouble v0);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM1DVPROC) (GLuint program, GLint location, GLsizei count, const GLdouble *value);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM1UIPROC) (GLuint program, GLint location, GLuint v0);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM1UIVPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM2IPROC) (GLuint program, GLint location, GLint v0, GLint v1);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM2IVPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM2FPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM2FVPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM2DPROC) (GLuint program, GLint location, GLdouble v0, GLdouble v1);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM2DVPROC) (GLuint program, GLint location, GLsizei count, const GLdouble *value);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM2UIPROC) (GLuint program, GLint location, GLuint v0, GLuint v1);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM2UIVPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM3IPROC) (GLuint program, GLint location, GLint v0, GLint v1, GLint v2);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM3IVPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM3FPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM3FVPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM3DPROC) (GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM3DVPROC) (GLuint program, GLint location, GLsizei count, const GLdouble *value);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM3UIPROC) (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM3UIVPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM4IPROC) (GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM4IVPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM4FPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM4FVPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM4DPROC) (GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2, GLdouble v3);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM4DVPROC) (GLuint program, GLint location, GLsizei count, const GLdouble *value);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM4UIPROC) (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM4UIVPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\ntypedef void (APIENTRYP PFNGLVALIDATEPROGRAMPIPELINEPROC) (GLuint pipeline);\ntypedef void (APIENTRYP PFNGLGETPROGRAMPIPELINEINFOLOGPROC) (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBL1DPROC) (GLuint index, GLdouble x);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBL2DPROC) (GLuint index, GLdouble x, GLdouble y);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBL3DPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBL4DPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBL1DVPROC) (GLuint index, const GLdouble *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBL2DVPROC) (GLuint index, const GLdouble *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBL3DVPROC) (GLuint index, const GLdouble *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBL4DVPROC) (GLuint index, const GLdouble *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBLPOINTERPROC) (GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer);\ntypedef void (APIENTRYP PFNGLGETVERTEXATTRIBLDVPROC) (GLuint index, GLenum pname, GLdouble *params);\ntypedef void (APIENTRYP PFNGLVIEWPORTARRAYVPROC) (GLuint first, GLsizei count, const GLfloat *v);\ntypedef void (APIENTRYP PFNGLVIEWPORTINDEXEDFPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h);\ntypedef void (APIENTRYP PFNGLVIEWPORTINDEXEDFVPROC) (GLuint index, const GLfloat *v);\ntypedef void (APIENTRYP PFNGLSCISSORARRAYVPROC) (GLuint first, GLsizei count, const GLint *v);\ntypedef void (APIENTRYP PFNGLSCISSORINDEXEDPROC) (GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height);\ntypedef void (APIENTRYP PFNGLSCISSORINDEXEDVPROC) (GLuint index, const GLint *v);\ntypedef void (APIENTRYP PFNGLDEPTHRANGEARRAYVPROC) (GLuint first, GLsizei count, const GLdouble *v);\ntypedef void (APIENTRYP PFNGLDEPTHRANGEINDEXEDPROC) (GLuint index, GLdouble n, GLdouble f);\ntypedef void (APIENTRYP PFNGLGETFLOATI_VPROC) (GLenum target, GLuint index, GLfloat *data);\ntypedef void (APIENTRYP PFNGLGETDOUBLEI_VPROC) (GLenum target, GLuint index, GLdouble *data);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glReleaseShaderCompiler (void);\nGLAPI void APIENTRY glShaderBinary (GLsizei count, const GLuint *shaders, GLenum binaryformat, const void *binary, GLsizei length);\nGLAPI void APIENTRY glGetShaderPrecisionFormat (GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision);\nGLAPI void APIENTRY glDepthRangef (GLfloat n, GLfloat f);\nGLAPI void APIENTRY glClearDepthf (GLfloat d);\nGLAPI void APIENTRY glGetProgramBinary (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary);\nGLAPI void APIENTRY glProgramBinary (GLuint program, GLenum binaryFormat, const void *binary, GLsizei length);\nGLAPI void APIENTRY glProgramParameteri (GLuint program, GLenum pname, GLint value);\nGLAPI void APIENTRY glUseProgramStages (GLuint pipeline, GLbitfield stages, GLuint program);\nGLAPI void APIENTRY glActiveShaderProgram (GLuint pipeline, GLuint program);\nGLAPI GLuint APIENTRY glCreateShaderProgramv (GLenum type, GLsizei count, const GLchar *const*strings);\nGLAPI void APIENTRY glBindProgramPipeline (GLuint pipeline);\nGLAPI void APIENTRY glDeleteProgramPipelines (GLsizei n, const GLuint *pipelines);\nGLAPI void APIENTRY glGenProgramPipelines (GLsizei n, GLuint *pipelines);\nGLAPI GLboolean APIENTRY glIsProgramPipeline (GLuint pipeline);\nGLAPI void APIENTRY glGetProgramPipelineiv (GLuint pipeline, GLenum pname, GLint *params);\nGLAPI void APIENTRY glProgramUniform1i (GLuint program, GLint location, GLint v0);\nGLAPI void APIENTRY glProgramUniform1iv (GLuint program, GLint location, GLsizei count, const GLint *value);\nGLAPI void APIENTRY glProgramUniform1f (GLuint program, GLint location, GLfloat v0);\nGLAPI void APIENTRY glProgramUniform1fv (GLuint program, GLint location, GLsizei count, const GLfloat *value);\nGLAPI void APIENTRY glProgramUniform1d (GLuint program, GLint location, GLdouble v0);\nGLAPI void APIENTRY glProgramUniform1dv (GLuint program, GLint location, GLsizei count, const GLdouble *value);\nGLAPI void APIENTRY glProgramUniform1ui (GLuint program, GLint location, GLuint v0);\nGLAPI void APIENTRY glProgramUniform1uiv (GLuint program, GLint location, GLsizei count, const GLuint *value);\nGLAPI void APIENTRY glProgramUniform2i (GLuint program, GLint location, GLint v0, GLint v1);\nGLAPI void APIENTRY glProgramUniform2iv (GLuint program, GLint location, GLsizei count, const GLint *value);\nGLAPI void APIENTRY glProgramUniform2f (GLuint program, GLint location, GLfloat v0, GLfloat v1);\nGLAPI void APIENTRY glProgramUniform2fv (GLuint program, GLint location, GLsizei count, const GLfloat *value);\nGLAPI void APIENTRY glProgramUniform2d (GLuint program, GLint location, GLdouble v0, GLdouble v1);\nGLAPI void APIENTRY glProgramUniform2dv (GLuint program, GLint location, GLsizei count, const GLdouble *value);\nGLAPI void APIENTRY glProgramUniform2ui (GLuint program, GLint location, GLuint v0, GLuint v1);\nGLAPI void APIENTRY glProgramUniform2uiv (GLuint program, GLint location, GLsizei count, const GLuint *value);\nGLAPI void APIENTRY glProgramUniform3i (GLuint program, GLint location, GLint v0, GLint v1, GLint v2);\nGLAPI void APIENTRY glProgramUniform3iv (GLuint program, GLint location, GLsizei count, const GLint *value);\nGLAPI void APIENTRY glProgramUniform3f (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2);\nGLAPI void APIENTRY glProgramUniform3fv (GLuint program, GLint location, GLsizei count, const GLfloat *value);\nGLAPI void APIENTRY glProgramUniform3d (GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2);\nGLAPI void APIENTRY glProgramUniform3dv (GLuint program, GLint location, GLsizei count, const GLdouble *value);\nGLAPI void APIENTRY glProgramUniform3ui (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2);\nGLAPI void APIENTRY glProgramUniform3uiv (GLuint program, GLint location, GLsizei count, const GLuint *value);\nGLAPI void APIENTRY glProgramUniform4i (GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);\nGLAPI void APIENTRY glProgramUniform4iv (GLuint program, GLint location, GLsizei count, const GLint *value);\nGLAPI void APIENTRY glProgramUniform4f (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);\nGLAPI void APIENTRY glProgramUniform4fv (GLuint program, GLint location, GLsizei count, const GLfloat *value);\nGLAPI void APIENTRY glProgramUniform4d (GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2, GLdouble v3);\nGLAPI void APIENTRY glProgramUniform4dv (GLuint program, GLint location, GLsizei count, const GLdouble *value);\nGLAPI void APIENTRY glProgramUniform4ui (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);\nGLAPI void APIENTRY glProgramUniform4uiv (GLuint program, GLint location, GLsizei count, const GLuint *value);\nGLAPI void APIENTRY glProgramUniformMatrix2fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nGLAPI void APIENTRY glProgramUniformMatrix3fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nGLAPI void APIENTRY glProgramUniformMatrix4fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nGLAPI void APIENTRY glProgramUniformMatrix2dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nGLAPI void APIENTRY glProgramUniformMatrix3dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nGLAPI void APIENTRY glProgramUniformMatrix4dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nGLAPI void APIENTRY glProgramUniformMatrix2x3fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nGLAPI void APIENTRY glProgramUniformMatrix3x2fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nGLAPI void APIENTRY glProgramUniformMatrix2x4fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nGLAPI void APIENTRY glProgramUniformMatrix4x2fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nGLAPI void APIENTRY glProgramUniformMatrix3x4fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nGLAPI void APIENTRY glProgramUniformMatrix4x3fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nGLAPI void APIENTRY glProgramUniformMatrix2x3dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nGLAPI void APIENTRY glProgramUniformMatrix3x2dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nGLAPI void APIENTRY glProgramUniformMatrix2x4dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nGLAPI void APIENTRY glProgramUniformMatrix4x2dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nGLAPI void APIENTRY glProgramUniformMatrix3x4dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nGLAPI void APIENTRY glProgramUniformMatrix4x3dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nGLAPI void APIENTRY glValidateProgramPipeline (GLuint pipeline);\nGLAPI void APIENTRY glGetProgramPipelineInfoLog (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);\nGLAPI void APIENTRY glVertexAttribL1d (GLuint index, GLdouble x);\nGLAPI void APIENTRY glVertexAttribL2d (GLuint index, GLdouble x, GLdouble y);\nGLAPI void APIENTRY glVertexAttribL3d (GLuint index, GLdouble x, GLdouble y, GLdouble z);\nGLAPI void APIENTRY glVertexAttribL4d (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nGLAPI void APIENTRY glVertexAttribL1dv (GLuint index, const GLdouble *v);\nGLAPI void APIENTRY glVertexAttribL2dv (GLuint index, const GLdouble *v);\nGLAPI void APIENTRY glVertexAttribL3dv (GLuint index, const GLdouble *v);\nGLAPI void APIENTRY glVertexAttribL4dv (GLuint index, const GLdouble *v);\nGLAPI void APIENTRY glVertexAttribLPointer (GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer);\nGLAPI void APIENTRY glGetVertexAttribLdv (GLuint index, GLenum pname, GLdouble *params);\nGLAPI void APIENTRY glViewportArrayv (GLuint first, GLsizei count, const GLfloat *v);\nGLAPI void APIENTRY glViewportIndexedf (GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h);\nGLAPI void APIENTRY glViewportIndexedfv (GLuint index, const GLfloat *v);\nGLAPI void APIENTRY glScissorArrayv (GLuint first, GLsizei count, const GLint *v);\nGLAPI void APIENTRY glScissorIndexed (GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height);\nGLAPI void APIENTRY glScissorIndexedv (GLuint index, const GLint *v);\nGLAPI void APIENTRY glDepthRangeArrayv (GLuint first, GLsizei count, const GLdouble *v);\nGLAPI void APIENTRY glDepthRangeIndexed (GLuint index, GLdouble n, GLdouble f);\nGLAPI void APIENTRY glGetFloati_v (GLenum target, GLuint index, GLfloat *data);\nGLAPI void APIENTRY glGetDoublei_v (GLenum target, GLuint index, GLdouble *data);\n#endif\n#endif /* GL_VERSION_4_1 */\n\n#ifndef GL_VERSION_4_2\n#define GL_VERSION_4_2 1\n#define GL_UNPACK_COMPRESSED_BLOCK_WIDTH  0x9127\n#define GL_UNPACK_COMPRESSED_BLOCK_HEIGHT 0x9128\n#define GL_UNPACK_COMPRESSED_BLOCK_DEPTH  0x9129\n#define GL_UNPACK_COMPRESSED_BLOCK_SIZE   0x912A\n#define GL_PACK_COMPRESSED_BLOCK_WIDTH    0x912B\n#define GL_PACK_COMPRESSED_BLOCK_HEIGHT   0x912C\n#define GL_PACK_COMPRESSED_BLOCK_DEPTH    0x912D\n#define GL_PACK_COMPRESSED_BLOCK_SIZE     0x912E\n#define GL_NUM_SAMPLE_COUNTS              0x9380\n#define GL_MIN_MAP_BUFFER_ALIGNMENT       0x90BC\n#define GL_ATOMIC_COUNTER_BUFFER          0x92C0\n#define GL_ATOMIC_COUNTER_BUFFER_BINDING  0x92C1\n#define GL_ATOMIC_COUNTER_BUFFER_START    0x92C2\n#define GL_ATOMIC_COUNTER_BUFFER_SIZE     0x92C3\n#define GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE 0x92C4\n#define GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS 0x92C5\n#define GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES 0x92C6\n#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER 0x92C7\n#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER 0x92C8\n#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER 0x92C9\n#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER 0x92CA\n#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER 0x92CB\n#define GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS 0x92CC\n#define GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS 0x92CD\n#define GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS 0x92CE\n#define GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS 0x92CF\n#define GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS 0x92D0\n#define GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS 0x92D1\n#define GL_MAX_VERTEX_ATOMIC_COUNTERS     0x92D2\n#define GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS 0x92D3\n#define GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS 0x92D4\n#define GL_MAX_GEOMETRY_ATOMIC_COUNTERS   0x92D5\n#define GL_MAX_FRAGMENT_ATOMIC_COUNTERS   0x92D6\n#define GL_MAX_COMBINED_ATOMIC_COUNTERS   0x92D7\n#define GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE 0x92D8\n#define GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS 0x92DC\n#define GL_ACTIVE_ATOMIC_COUNTER_BUFFERS  0x92D9\n#define GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX 0x92DA\n#define GL_UNSIGNED_INT_ATOMIC_COUNTER    0x92DB\n#define GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT 0x00000001\n#define GL_ELEMENT_ARRAY_BARRIER_BIT      0x00000002\n#define GL_UNIFORM_BARRIER_BIT            0x00000004\n#define GL_TEXTURE_FETCH_BARRIER_BIT      0x00000008\n#define GL_SHADER_IMAGE_ACCESS_BARRIER_BIT 0x00000020\n#define GL_COMMAND_BARRIER_BIT            0x00000040\n#define GL_PIXEL_BUFFER_BARRIER_BIT       0x00000080\n#define GL_TEXTURE_UPDATE_BARRIER_BIT     0x00000100\n#define GL_BUFFER_UPDATE_BARRIER_BIT      0x00000200\n#define GL_FRAMEBUFFER_BARRIER_BIT        0x00000400\n#define GL_TRANSFORM_FEEDBACK_BARRIER_BIT 0x00000800\n#define GL_ATOMIC_COUNTER_BARRIER_BIT     0x00001000\n#define GL_ALL_BARRIER_BITS               0xFFFFFFFF\n#define GL_MAX_IMAGE_UNITS                0x8F38\n#define GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS 0x8F39\n#define GL_IMAGE_BINDING_NAME             0x8F3A\n#define GL_IMAGE_BINDING_LEVEL            0x8F3B\n#define GL_IMAGE_BINDING_LAYERED          0x8F3C\n#define GL_IMAGE_BINDING_LAYER            0x8F3D\n#define GL_IMAGE_BINDING_ACCESS           0x8F3E\n#define GL_IMAGE_1D                       0x904C\n#define GL_IMAGE_2D                       0x904D\n#define GL_IMAGE_3D                       0x904E\n#define GL_IMAGE_2D_RECT                  0x904F\n#define GL_IMAGE_CUBE                     0x9050\n#define GL_IMAGE_BUFFER                   0x9051\n#define GL_IMAGE_1D_ARRAY                 0x9052\n#define GL_IMAGE_2D_ARRAY                 0x9053\n#define GL_IMAGE_CUBE_MAP_ARRAY           0x9054\n#define GL_IMAGE_2D_MULTISAMPLE           0x9055\n#define GL_IMAGE_2D_MULTISAMPLE_ARRAY     0x9056\n#define GL_INT_IMAGE_1D                   0x9057\n#define GL_INT_IMAGE_2D                   0x9058\n#define GL_INT_IMAGE_3D                   0x9059\n#define GL_INT_IMAGE_2D_RECT              0x905A\n#define GL_INT_IMAGE_CUBE                 0x905B\n#define GL_INT_IMAGE_BUFFER               0x905C\n#define GL_INT_IMAGE_1D_ARRAY             0x905D\n#define GL_INT_IMAGE_2D_ARRAY             0x905E\n#define GL_INT_IMAGE_CUBE_MAP_ARRAY       0x905F\n#define GL_INT_IMAGE_2D_MULTISAMPLE       0x9060\n#define GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY 0x9061\n#define GL_UNSIGNED_INT_IMAGE_1D          0x9062\n#define GL_UNSIGNED_INT_IMAGE_2D          0x9063\n#define GL_UNSIGNED_INT_IMAGE_3D          0x9064\n#define GL_UNSIGNED_INT_IMAGE_2D_RECT     0x9065\n#define GL_UNSIGNED_INT_IMAGE_CUBE        0x9066\n#define GL_UNSIGNED_INT_IMAGE_BUFFER      0x9067\n#define GL_UNSIGNED_INT_IMAGE_1D_ARRAY    0x9068\n#define GL_UNSIGNED_INT_IMAGE_2D_ARRAY    0x9069\n#define GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY 0x906A\n#define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE 0x906B\n#define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY 0x906C\n#define GL_MAX_IMAGE_SAMPLES              0x906D\n#define GL_IMAGE_BINDING_FORMAT           0x906E\n#define GL_IMAGE_FORMAT_COMPATIBILITY_TYPE 0x90C7\n#define GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE 0x90C8\n#define GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS 0x90C9\n#define GL_MAX_VERTEX_IMAGE_UNIFORMS      0x90CA\n#define GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS 0x90CB\n#define GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS 0x90CC\n#define GL_MAX_GEOMETRY_IMAGE_UNIFORMS    0x90CD\n#define GL_MAX_FRAGMENT_IMAGE_UNIFORMS    0x90CE\n#define GL_MAX_COMBINED_IMAGE_UNIFORMS    0x90CF\n#define GL_COMPRESSED_RGBA_BPTC_UNORM     0x8E8C\n#define GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM 0x8E8D\n#define GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT 0x8E8E\n#define GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT 0x8E8F\n#define GL_TEXTURE_IMMUTABLE_FORMAT       0x912F\ntypedef void (APIENTRYP PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC) (GLenum mode, GLint first, GLsizei count, GLsizei instancecount, GLuint baseinstance);\ntypedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLuint baseinstance);\ntypedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex, GLuint baseinstance);\ntypedef void (APIENTRYP PFNGLGETINTERNALFORMATIVPROC) (GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint *params);\ntypedef void (APIENTRYP PFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC) (GLuint program, GLuint bufferIndex, GLenum pname, GLint *params);\ntypedef void (APIENTRYP PFNGLBINDIMAGETEXTUREPROC) (GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format);\ntypedef void (APIENTRYP PFNGLMEMORYBARRIERPROC) (GLbitfield barriers);\ntypedef void (APIENTRYP PFNGLTEXSTORAGE1DPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);\ntypedef void (APIENTRYP PFNGLTEXSTORAGE2DPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);\ntypedef void (APIENTRYP PFNGLTEXSTORAGE3DPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);\ntypedef void (APIENTRYP PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC) (GLenum mode, GLuint id, GLsizei instancecount);\ntypedef void (APIENTRYP PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC) (GLenum mode, GLuint id, GLuint stream, GLsizei instancecount);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glDrawArraysInstancedBaseInstance (GLenum mode, GLint first, GLsizei count, GLsizei instancecount, GLuint baseinstance);\nGLAPI void APIENTRY glDrawElementsInstancedBaseInstance (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLuint baseinstance);\nGLAPI void APIENTRY glDrawElementsInstancedBaseVertexBaseInstance (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex, GLuint baseinstance);\nGLAPI void APIENTRY glGetInternalformativ (GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint *params);\nGLAPI void APIENTRY glGetActiveAtomicCounterBufferiv (GLuint program, GLuint bufferIndex, GLenum pname, GLint *params);\nGLAPI void APIENTRY glBindImageTexture (GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format);\nGLAPI void APIENTRY glMemoryBarrier (GLbitfield barriers);\nGLAPI void APIENTRY glTexStorage1D (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);\nGLAPI void APIENTRY glTexStorage2D (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);\nGLAPI void APIENTRY glTexStorage3D (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);\nGLAPI void APIENTRY glDrawTransformFeedbackInstanced (GLenum mode, GLuint id, GLsizei instancecount);\nGLAPI void APIENTRY glDrawTransformFeedbackStreamInstanced (GLenum mode, GLuint id, GLuint stream, GLsizei instancecount);\n#endif\n#endif /* GL_VERSION_4_2 */\n\n#ifndef GL_VERSION_4_3\n#define GL_VERSION_4_3 1\ntypedef void (APIENTRY  *GLDEBUGPROC)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam);\n#define GL_NUM_SHADING_LANGUAGE_VERSIONS  0x82E9\n#define GL_VERTEX_ATTRIB_ARRAY_LONG       0x874E\n#define GL_COMPRESSED_RGB8_ETC2           0x9274\n#define GL_COMPRESSED_SRGB8_ETC2          0x9275\n#define GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 0x9276\n#define GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 0x9277\n#define GL_COMPRESSED_RGBA8_ETC2_EAC      0x9278\n#define GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC 0x9279\n#define GL_COMPRESSED_R11_EAC             0x9270\n#define GL_COMPRESSED_SIGNED_R11_EAC      0x9271\n#define GL_COMPRESSED_RG11_EAC            0x9272\n#define GL_COMPRESSED_SIGNED_RG11_EAC     0x9273\n#define GL_PRIMITIVE_RESTART_FIXED_INDEX  0x8D69\n#define GL_ANY_SAMPLES_PASSED_CONSERVATIVE 0x8D6A\n#define GL_MAX_ELEMENT_INDEX              0x8D6B\n#define GL_COMPUTE_SHADER                 0x91B9\n#define GL_MAX_COMPUTE_UNIFORM_BLOCKS     0x91BB\n#define GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS 0x91BC\n#define GL_MAX_COMPUTE_IMAGE_UNIFORMS     0x91BD\n#define GL_MAX_COMPUTE_SHARED_MEMORY_SIZE 0x8262\n#define GL_MAX_COMPUTE_UNIFORM_COMPONENTS 0x8263\n#define GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS 0x8264\n#define GL_MAX_COMPUTE_ATOMIC_COUNTERS    0x8265\n#define GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS 0x8266\n#define GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS 0x90EB\n#define GL_MAX_COMPUTE_WORK_GROUP_COUNT   0x91BE\n#define GL_MAX_COMPUTE_WORK_GROUP_SIZE    0x91BF\n#define GL_COMPUTE_WORK_GROUP_SIZE        0x8267\n#define GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER 0x90EC\n#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER 0x90ED\n#define GL_DISPATCH_INDIRECT_BUFFER       0x90EE\n#define GL_DISPATCH_INDIRECT_BUFFER_BINDING 0x90EF\n#define GL_DEBUG_OUTPUT_SYNCHRONOUS       0x8242\n#define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH 0x8243\n#define GL_DEBUG_CALLBACK_FUNCTION        0x8244\n#define GL_DEBUG_CALLBACK_USER_PARAM      0x8245\n#define GL_DEBUG_SOURCE_API               0x8246\n#define GL_DEBUG_SOURCE_WINDOW_SYSTEM     0x8247\n#define GL_DEBUG_SOURCE_SHADER_COMPILER   0x8248\n#define GL_DEBUG_SOURCE_THIRD_PARTY       0x8249\n#define GL_DEBUG_SOURCE_APPLICATION       0x824A\n#define GL_DEBUG_SOURCE_OTHER             0x824B\n#define GL_DEBUG_TYPE_ERROR               0x824C\n#define GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR 0x824D\n#define GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR  0x824E\n#define GL_DEBUG_TYPE_PORTABILITY         0x824F\n#define GL_DEBUG_TYPE_PERFORMANCE         0x8250\n#define GL_DEBUG_TYPE_OTHER               0x8251\n#define GL_MAX_DEBUG_MESSAGE_LENGTH       0x9143\n#define GL_MAX_DEBUG_LOGGED_MESSAGES      0x9144\n#define GL_DEBUG_LOGGED_MESSAGES          0x9145\n#define GL_DEBUG_SEVERITY_HIGH            0x9146\n#define GL_DEBUG_SEVERITY_MEDIUM          0x9147\n#define GL_DEBUG_SEVERITY_LOW             0x9148\n#define GL_DEBUG_TYPE_MARKER              0x8268\n#define GL_DEBUG_TYPE_PUSH_GROUP          0x8269\n#define GL_DEBUG_TYPE_POP_GROUP           0x826A\n#define GL_DEBUG_SEVERITY_NOTIFICATION    0x826B\n#define GL_MAX_DEBUG_GROUP_STACK_DEPTH    0x826C\n#define GL_DEBUG_GROUP_STACK_DEPTH        0x826D\n#define GL_BUFFER                         0x82E0\n#define GL_SHADER                         0x82E1\n#define GL_PROGRAM                        0x82E2\n#define GL_QUERY                          0x82E3\n#define GL_PROGRAM_PIPELINE               0x82E4\n#define GL_SAMPLER                        0x82E6\n#define GL_MAX_LABEL_LENGTH               0x82E8\n#define GL_DEBUG_OUTPUT                   0x92E0\n#define GL_CONTEXT_FLAG_DEBUG_BIT         0x00000002\n#define GL_MAX_UNIFORM_LOCATIONS          0x826E\n#define GL_FRAMEBUFFER_DEFAULT_WIDTH      0x9310\n#define GL_FRAMEBUFFER_DEFAULT_HEIGHT     0x9311\n#define GL_FRAMEBUFFER_DEFAULT_LAYERS     0x9312\n#define GL_FRAMEBUFFER_DEFAULT_SAMPLES    0x9313\n#define GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS 0x9314\n#define GL_MAX_FRAMEBUFFER_WIDTH          0x9315\n#define GL_MAX_FRAMEBUFFER_HEIGHT         0x9316\n#define GL_MAX_FRAMEBUFFER_LAYERS         0x9317\n#define GL_MAX_FRAMEBUFFER_SAMPLES        0x9318\n#define GL_INTERNALFORMAT_SUPPORTED       0x826F\n#define GL_INTERNALFORMAT_PREFERRED       0x8270\n#define GL_INTERNALFORMAT_RED_SIZE        0x8271\n#define GL_INTERNALFORMAT_GREEN_SIZE      0x8272\n#define GL_INTERNALFORMAT_BLUE_SIZE       0x8273\n#define GL_INTERNALFORMAT_ALPHA_SIZE      0x8274\n#define GL_INTERNALFORMAT_DEPTH_SIZE      0x8275\n#define GL_INTERNALFORMAT_STENCIL_SIZE    0x8276\n#define GL_INTERNALFORMAT_SHARED_SIZE     0x8277\n#define GL_INTERNALFORMAT_RED_TYPE        0x8278\n#define GL_INTERNALFORMAT_GREEN_TYPE      0x8279\n#define GL_INTERNALFORMAT_BLUE_TYPE       0x827A\n#define GL_INTERNALFORMAT_ALPHA_TYPE      0x827B\n#define GL_INTERNALFORMAT_DEPTH_TYPE      0x827C\n#define GL_INTERNALFORMAT_STENCIL_TYPE    0x827D\n#define GL_MAX_WIDTH                      0x827E\n#define GL_MAX_HEIGHT                     0x827F\n#define GL_MAX_DEPTH                      0x8280\n#define GL_MAX_LAYERS                     0x8281\n#define GL_MAX_COMBINED_DIMENSIONS        0x8282\n#define GL_COLOR_COMPONENTS               0x8283\n#define GL_DEPTH_COMPONENTS               0x8284\n#define GL_STENCIL_COMPONENTS             0x8285\n#define GL_COLOR_RENDERABLE               0x8286\n#define GL_DEPTH_RENDERABLE               0x8287\n#define GL_STENCIL_RENDERABLE             0x8288\n#define GL_FRAMEBUFFER_RENDERABLE         0x8289\n#define GL_FRAMEBUFFER_RENDERABLE_LAYERED 0x828A\n#define GL_FRAMEBUFFER_BLEND              0x828B\n#define GL_READ_PIXELS                    0x828C\n#define GL_READ_PIXELS_FORMAT             0x828D\n#define GL_READ_PIXELS_TYPE               0x828E\n#define GL_TEXTURE_IMAGE_FORMAT           0x828F\n#define GL_TEXTURE_IMAGE_TYPE             0x8290\n#define GL_GET_TEXTURE_IMAGE_FORMAT       0x8291\n#define GL_GET_TEXTURE_IMAGE_TYPE         0x8292\n#define GL_MIPMAP                         0x8293\n#define GL_MANUAL_GENERATE_MIPMAP         0x8294\n#define GL_AUTO_GENERATE_MIPMAP           0x8295\n#define GL_COLOR_ENCODING                 0x8296\n#define GL_SRGB_READ                      0x8297\n#define GL_SRGB_WRITE                     0x8298\n#define GL_FILTER                         0x829A\n#define GL_VERTEX_TEXTURE                 0x829B\n#define GL_TESS_CONTROL_TEXTURE           0x829C\n#define GL_TESS_EVALUATION_TEXTURE        0x829D\n#define GL_GEOMETRY_TEXTURE               0x829E\n#define GL_FRAGMENT_TEXTURE               0x829F\n#define GL_COMPUTE_TEXTURE                0x82A0\n#define GL_TEXTURE_SHADOW                 0x82A1\n#define GL_TEXTURE_GATHER                 0x82A2\n#define GL_TEXTURE_GATHER_SHADOW          0x82A3\n#define GL_SHADER_IMAGE_LOAD              0x82A4\n#define GL_SHADER_IMAGE_STORE             0x82A5\n#define GL_SHADER_IMAGE_ATOMIC            0x82A6\n#define GL_IMAGE_TEXEL_SIZE               0x82A7\n#define GL_IMAGE_COMPATIBILITY_CLASS      0x82A8\n#define GL_IMAGE_PIXEL_FORMAT             0x82A9\n#define GL_IMAGE_PIXEL_TYPE               0x82AA\n#define GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST 0x82AC\n#define GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST 0x82AD\n#define GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE 0x82AE\n#define GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE 0x82AF\n#define GL_TEXTURE_COMPRESSED_BLOCK_WIDTH 0x82B1\n#define GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT 0x82B2\n#define GL_TEXTURE_COMPRESSED_BLOCK_SIZE  0x82B3\n#define GL_CLEAR_BUFFER                   0x82B4\n#define GL_TEXTURE_VIEW                   0x82B5\n#define GL_VIEW_COMPATIBILITY_CLASS       0x82B6\n#define GL_FULL_SUPPORT                   0x82B7\n#define GL_CAVEAT_SUPPORT                 0x82B8\n#define GL_IMAGE_CLASS_4_X_32             0x82B9\n#define GL_IMAGE_CLASS_2_X_32             0x82BA\n#define GL_IMAGE_CLASS_1_X_32             0x82BB\n#define GL_IMAGE_CLASS_4_X_16             0x82BC\n#define GL_IMAGE_CLASS_2_X_16             0x82BD\n#define GL_IMAGE_CLASS_1_X_16             0x82BE\n#define GL_IMAGE_CLASS_4_X_8              0x82BF\n#define GL_IMAGE_CLASS_2_X_8              0x82C0\n#define GL_IMAGE_CLASS_1_X_8              0x82C1\n#define GL_IMAGE_CLASS_11_11_10           0x82C2\n#define GL_IMAGE_CLASS_10_10_10_2         0x82C3\n#define GL_VIEW_CLASS_128_BITS            0x82C4\n#define GL_VIEW_CLASS_96_BITS             0x82C5\n#define GL_VIEW_CLASS_64_BITS             0x82C6\n#define GL_VIEW_CLASS_48_BITS             0x82C7\n#define GL_VIEW_CLASS_32_BITS             0x82C8\n#define GL_VIEW_CLASS_24_BITS             0x82C9\n#define GL_VIEW_CLASS_16_BITS             0x82CA\n#define GL_VIEW_CLASS_8_BITS              0x82CB\n#define GL_VIEW_CLASS_S3TC_DXT1_RGB       0x82CC\n#define GL_VIEW_CLASS_S3TC_DXT1_RGBA      0x82CD\n#define GL_VIEW_CLASS_S3TC_DXT3_RGBA      0x82CE\n#define GL_VIEW_CLASS_S3TC_DXT5_RGBA      0x82CF\n#define GL_VIEW_CLASS_RGTC1_RED           0x82D0\n#define GL_VIEW_CLASS_RGTC2_RG            0x82D1\n#define GL_VIEW_CLASS_BPTC_UNORM          0x82D2\n#define GL_VIEW_CLASS_BPTC_FLOAT          0x82D3\n#define GL_UNIFORM                        0x92E1\n#define GL_UNIFORM_BLOCK                  0x92E2\n#define GL_PROGRAM_INPUT                  0x92E3\n#define GL_PROGRAM_OUTPUT                 0x92E4\n#define GL_BUFFER_VARIABLE                0x92E5\n#define GL_SHADER_STORAGE_BLOCK           0x92E6\n#define GL_VERTEX_SUBROUTINE              0x92E8\n#define GL_TESS_CONTROL_SUBROUTINE        0x92E9\n#define GL_TESS_EVALUATION_SUBROUTINE     0x92EA\n#define GL_GEOMETRY_SUBROUTINE            0x92EB\n#define GL_FRAGMENT_SUBROUTINE            0x92EC\n#define GL_COMPUTE_SUBROUTINE             0x92ED\n#define GL_VERTEX_SUBROUTINE_UNIFORM      0x92EE\n#define GL_TESS_CONTROL_SUBROUTINE_UNIFORM 0x92EF\n#define GL_TESS_EVALUATION_SUBROUTINE_UNIFORM 0x92F0\n#define GL_GEOMETRY_SUBROUTINE_UNIFORM    0x92F1\n#define GL_FRAGMENT_SUBROUTINE_UNIFORM    0x92F2\n#define GL_COMPUTE_SUBROUTINE_UNIFORM     0x92F3\n#define GL_TRANSFORM_FEEDBACK_VARYING     0x92F4\n#define GL_ACTIVE_RESOURCES               0x92F5\n#define GL_MAX_NAME_LENGTH                0x92F6\n#define GL_MAX_NUM_ACTIVE_VARIABLES       0x92F7\n#define GL_MAX_NUM_COMPATIBLE_SUBROUTINES 0x92F8\n#define GL_NAME_LENGTH                    0x92F9\n#define GL_TYPE                           0x92FA\n#define GL_ARRAY_SIZE                     0x92FB\n#define GL_OFFSET                         0x92FC\n#define GL_BLOCK_INDEX                    0x92FD\n#define GL_ARRAY_STRIDE                   0x92FE\n#define GL_MATRIX_STRIDE                  0x92FF\n#define GL_IS_ROW_MAJOR                   0x9300\n#define GL_ATOMIC_COUNTER_BUFFER_INDEX    0x9301\n#define GL_BUFFER_BINDING                 0x9302\n#define GL_BUFFER_DATA_SIZE               0x9303\n#define GL_NUM_ACTIVE_VARIABLES           0x9304\n#define GL_ACTIVE_VARIABLES               0x9305\n#define GL_REFERENCED_BY_VERTEX_SHADER    0x9306\n#define GL_REFERENCED_BY_TESS_CONTROL_SHADER 0x9307\n#define GL_REFERENCED_BY_TESS_EVALUATION_SHADER 0x9308\n#define GL_REFERENCED_BY_GEOMETRY_SHADER  0x9309\n#define GL_REFERENCED_BY_FRAGMENT_SHADER  0x930A\n#define GL_REFERENCED_BY_COMPUTE_SHADER   0x930B\n#define GL_TOP_LEVEL_ARRAY_SIZE           0x930C\n#define GL_TOP_LEVEL_ARRAY_STRIDE         0x930D\n#define GL_LOCATION                       0x930E\n#define GL_LOCATION_INDEX                 0x930F\n#define GL_IS_PER_PATCH                   0x92E7\n#define GL_SHADER_STORAGE_BUFFER          0x90D2\n#define GL_SHADER_STORAGE_BUFFER_BINDING  0x90D3\n#define GL_SHADER_STORAGE_BUFFER_START    0x90D4\n#define GL_SHADER_STORAGE_BUFFER_SIZE     0x90D5\n#define GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS 0x90D6\n#define GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS 0x90D7\n#define GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS 0x90D8\n#define GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS 0x90D9\n#define GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS 0x90DA\n#define GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS 0x90DB\n#define GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS 0x90DC\n#define GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS 0x90DD\n#define GL_MAX_SHADER_STORAGE_BLOCK_SIZE  0x90DE\n#define GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT 0x90DF\n#define GL_SHADER_STORAGE_BARRIER_BIT     0x00002000\n#define GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES 0x8F39\n#define GL_DEPTH_STENCIL_TEXTURE_MODE     0x90EA\n#define GL_TEXTURE_BUFFER_OFFSET          0x919D\n#define GL_TEXTURE_BUFFER_SIZE            0x919E\n#define GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT 0x919F\n#define GL_TEXTURE_VIEW_MIN_LEVEL         0x82DB\n#define GL_TEXTURE_VIEW_NUM_LEVELS        0x82DC\n#define GL_TEXTURE_VIEW_MIN_LAYER         0x82DD\n#define GL_TEXTURE_VIEW_NUM_LAYERS        0x82DE\n#define GL_TEXTURE_IMMUTABLE_LEVELS       0x82DF\n#define GL_VERTEX_ATTRIB_BINDING          0x82D4\n#define GL_VERTEX_ATTRIB_RELATIVE_OFFSET  0x82D5\n#define GL_VERTEX_BINDING_DIVISOR         0x82D6\n#define GL_VERTEX_BINDING_OFFSET          0x82D7\n#define GL_VERTEX_BINDING_STRIDE          0x82D8\n#define GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET 0x82D9\n#define GL_MAX_VERTEX_ATTRIB_BINDINGS     0x82DA\n#define GL_VERTEX_BINDING_BUFFER          0x8F4F\n#define GL_DISPLAY_LIST                   0x82E7\ntypedef void (APIENTRYP PFNGLCLEARBUFFERDATAPROC) (GLenum target, GLenum internalformat, GLenum format, GLenum type, const void *data);\ntypedef void (APIENTRYP PFNGLCLEARBUFFERSUBDATAPROC) (GLenum target, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data);\ntypedef void (APIENTRYP PFNGLDISPATCHCOMPUTEPROC) (GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z);\ntypedef void (APIENTRYP PFNGLDISPATCHCOMPUTEINDIRECTPROC) (GLintptr indirect);\ntypedef void (APIENTRYP PFNGLCOPYIMAGESUBDATAPROC) (GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth);\ntypedef void (APIENTRYP PFNGLFRAMEBUFFERPARAMETERIPROC) (GLenum target, GLenum pname, GLint param);\ntypedef void (APIENTRYP PFNGLGETFRAMEBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);\ntypedef void (APIENTRYP PFNGLGETINTERNALFORMATI64VPROC) (GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint64 *params);\ntypedef void (APIENTRYP PFNGLINVALIDATETEXSUBIMAGEPROC) (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth);\ntypedef void (APIENTRYP PFNGLINVALIDATETEXIMAGEPROC) (GLuint texture, GLint level);\ntypedef void (APIENTRYP PFNGLINVALIDATEBUFFERSUBDATAPROC) (GLuint buffer, GLintptr offset, GLsizeiptr length);\ntypedef void (APIENTRYP PFNGLINVALIDATEBUFFERDATAPROC) (GLuint buffer);\ntypedef void (APIENTRYP PFNGLINVALIDATEFRAMEBUFFERPROC) (GLenum target, GLsizei numAttachments, const GLenum *attachments);\ntypedef void (APIENTRYP PFNGLINVALIDATESUBFRAMEBUFFERPROC) (GLenum target, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height);\ntypedef void (APIENTRYP PFNGLMULTIDRAWARRAYSINDIRECTPROC) (GLenum mode, const void *indirect, GLsizei drawcount, GLsizei stride);\ntypedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSINDIRECTPROC) (GLenum mode, GLenum type, const void *indirect, GLsizei drawcount, GLsizei stride);\ntypedef void (APIENTRYP PFNGLGETPROGRAMINTERFACEIVPROC) (GLuint program, GLenum programInterface, GLenum pname, GLint *params);\ntypedef GLuint (APIENTRYP PFNGLGETPROGRAMRESOURCEINDEXPROC) (GLuint program, GLenum programInterface, const GLchar *name);\ntypedef void (APIENTRYP PFNGLGETPROGRAMRESOURCENAMEPROC) (GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name);\ntypedef void (APIENTRYP PFNGLGETPROGRAMRESOURCEIVPROC) (GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum *props, GLsizei bufSize, GLsizei *length, GLint *params);\ntypedef GLint (APIENTRYP PFNGLGETPROGRAMRESOURCELOCATIONPROC) (GLuint program, GLenum programInterface, const GLchar *name);\ntypedef GLint (APIENTRYP PFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC) (GLuint program, GLenum programInterface, const GLchar *name);\ntypedef void (APIENTRYP PFNGLSHADERSTORAGEBLOCKBINDINGPROC) (GLuint program, GLuint storageBlockIndex, GLuint storageBlockBinding);\ntypedef void (APIENTRYP PFNGLTEXBUFFERRANGEPROC) (GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size);\ntypedef void (APIENTRYP PFNGLTEXSTORAGE2DMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);\ntypedef void (APIENTRYP PFNGLTEXSTORAGE3DMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);\ntypedef void (APIENTRYP PFNGLTEXTUREVIEWPROC) (GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers);\ntypedef void (APIENTRYP PFNGLBINDVERTEXBUFFERPROC) (GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBFORMATPROC) (GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBIFORMATPROC) (GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBLFORMATPROC) (GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBBINDINGPROC) (GLuint attribindex, GLuint bindingindex);\ntypedef void (APIENTRYP PFNGLVERTEXBINDINGDIVISORPROC) (GLuint bindingindex, GLuint divisor);\ntypedef void (APIENTRYP PFNGLDEBUGMESSAGECONTROLPROC) (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);\ntypedef void (APIENTRYP PFNGLDEBUGMESSAGEINSERTPROC) (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);\ntypedef void (APIENTRYP PFNGLDEBUGMESSAGECALLBACKPROC) (GLDEBUGPROC callback, const void *userParam);\ntypedef GLuint (APIENTRYP PFNGLGETDEBUGMESSAGELOGPROC) (GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);\ntypedef void (APIENTRYP PFNGLPUSHDEBUGGROUPPROC) (GLenum source, GLuint id, GLsizei length, const GLchar *message);\ntypedef void (APIENTRYP PFNGLPOPDEBUGGROUPPROC) (void);\ntypedef void (APIENTRYP PFNGLOBJECTLABELPROC) (GLenum identifier, GLuint name, GLsizei length, const GLchar *label);\ntypedef void (APIENTRYP PFNGLGETOBJECTLABELPROC) (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label);\ntypedef void (APIENTRYP PFNGLOBJECTPTRLABELPROC) (const void *ptr, GLsizei length, const GLchar *label);\ntypedef void (APIENTRYP PFNGLGETOBJECTPTRLABELPROC) (const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glClearBufferData (GLenum target, GLenum internalformat, GLenum format, GLenum type, const void *data);\nGLAPI void APIENTRY glClearBufferSubData (GLenum target, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data);\nGLAPI void APIENTRY glDispatchCompute (GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z);\nGLAPI void APIENTRY glDispatchComputeIndirect (GLintptr indirect);\nGLAPI void APIENTRY glCopyImageSubData (GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth);\nGLAPI void APIENTRY glFramebufferParameteri (GLenum target, GLenum pname, GLint param);\nGLAPI void APIENTRY glGetFramebufferParameteriv (GLenum target, GLenum pname, GLint *params);\nGLAPI void APIENTRY glGetInternalformati64v (GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint64 *params);\nGLAPI void APIENTRY glInvalidateTexSubImage (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth);\nGLAPI void APIENTRY glInvalidateTexImage (GLuint texture, GLint level);\nGLAPI void APIENTRY glInvalidateBufferSubData (GLuint buffer, GLintptr offset, GLsizeiptr length);\nGLAPI void APIENTRY glInvalidateBufferData (GLuint buffer);\nGLAPI void APIENTRY glInvalidateFramebuffer (GLenum target, GLsizei numAttachments, const GLenum *attachments);\nGLAPI void APIENTRY glInvalidateSubFramebuffer (GLenum target, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height);\nGLAPI void APIENTRY glMultiDrawArraysIndirect (GLenum mode, const void *indirect, GLsizei drawcount, GLsizei stride);\nGLAPI void APIENTRY glMultiDrawElementsIndirect (GLenum mode, GLenum type, const void *indirect, GLsizei drawcount, GLsizei stride);\nGLAPI void APIENTRY glGetProgramInterfaceiv (GLuint program, GLenum programInterface, GLenum pname, GLint *params);\nGLAPI GLuint APIENTRY glGetProgramResourceIndex (GLuint program, GLenum programInterface, const GLchar *name);\nGLAPI void APIENTRY glGetProgramResourceName (GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name);\nGLAPI void APIENTRY glGetProgramResourceiv (GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum *props, GLsizei bufSize, GLsizei *length, GLint *params);\nGLAPI GLint APIENTRY glGetProgramResourceLocation (GLuint program, GLenum programInterface, const GLchar *name);\nGLAPI GLint APIENTRY glGetProgramResourceLocationIndex (GLuint program, GLenum programInterface, const GLchar *name);\nGLAPI void APIENTRY glShaderStorageBlockBinding (GLuint program, GLuint storageBlockIndex, GLuint storageBlockBinding);\nGLAPI void APIENTRY glTexBufferRange (GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size);\nGLAPI void APIENTRY glTexStorage2DMultisample (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);\nGLAPI void APIENTRY glTexStorage3DMultisample (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);\nGLAPI void APIENTRY glTextureView (GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers);\nGLAPI void APIENTRY glBindVertexBuffer (GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride);\nGLAPI void APIENTRY glVertexAttribFormat (GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset);\nGLAPI void APIENTRY glVertexAttribIFormat (GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);\nGLAPI void APIENTRY glVertexAttribLFormat (GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);\nGLAPI void APIENTRY glVertexAttribBinding (GLuint attribindex, GLuint bindingindex);\nGLAPI void APIENTRY glVertexBindingDivisor (GLuint bindingindex, GLuint divisor);\nGLAPI void APIENTRY glDebugMessageControl (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);\nGLAPI void APIENTRY glDebugMessageInsert (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);\nGLAPI void APIENTRY glDebugMessageCallback (GLDEBUGPROC callback, const void *userParam);\nGLAPI GLuint APIENTRY glGetDebugMessageLog (GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);\nGLAPI void APIENTRY glPushDebugGroup (GLenum source, GLuint id, GLsizei length, const GLchar *message);\nGLAPI void APIENTRY glPopDebugGroup (void);\nGLAPI void APIENTRY glObjectLabel (GLenum identifier, GLuint name, GLsizei length, const GLchar *label);\nGLAPI void APIENTRY glGetObjectLabel (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label);\nGLAPI void APIENTRY glObjectPtrLabel (const void *ptr, GLsizei length, const GLchar *label);\nGLAPI void APIENTRY glGetObjectPtrLabel (const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label);\n#endif\n#endif /* GL_VERSION_4_3 */\n\n#ifndef GL_VERSION_4_4\n#define GL_VERSION_4_4 1\n#define GL_MAX_VERTEX_ATTRIB_STRIDE       0x82E5\n#define GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED 0x8221\n#define GL_TEXTURE_BUFFER_BINDING         0x8C2A\n#define GL_MAP_PERSISTENT_BIT             0x0040\n#define GL_MAP_COHERENT_BIT               0x0080\n#define GL_DYNAMIC_STORAGE_BIT            0x0100\n#define GL_CLIENT_STORAGE_BIT             0x0200\n#define GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT 0x00004000\n#define GL_BUFFER_IMMUTABLE_STORAGE       0x821F\n#define GL_BUFFER_STORAGE_FLAGS           0x8220\n#define GL_CLEAR_TEXTURE                  0x9365\n#define GL_LOCATION_COMPONENT             0x934A\n#define GL_TRANSFORM_FEEDBACK_BUFFER_INDEX 0x934B\n#define GL_TRANSFORM_FEEDBACK_BUFFER_STRIDE 0x934C\n#define GL_QUERY_BUFFER                   0x9192\n#define GL_QUERY_BUFFER_BARRIER_BIT       0x00008000\n#define GL_QUERY_BUFFER_BINDING           0x9193\n#define GL_QUERY_RESULT_NO_WAIT           0x9194\n#define GL_MIRROR_CLAMP_TO_EDGE           0x8743\ntypedef void (APIENTRYP PFNGLBUFFERSTORAGEPROC) (GLenum target, GLsizeiptr size, const void *data, GLbitfield flags);\ntypedef void (APIENTRYP PFNGLCLEARTEXIMAGEPROC) (GLuint texture, GLint level, GLenum format, GLenum type, const void *data);\ntypedef void (APIENTRYP PFNGLCLEARTEXSUBIMAGEPROC) (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data);\ntypedef void (APIENTRYP PFNGLBINDBUFFERSBASEPROC) (GLenum target, GLuint first, GLsizei count, const GLuint *buffers);\ntypedef void (APIENTRYP PFNGLBINDBUFFERSRANGEPROC) (GLenum target, GLuint first, GLsizei count, const GLuint *buffers, const GLintptr *offsets, const GLsizeiptr *sizes);\ntypedef void (APIENTRYP PFNGLBINDTEXTURESPROC) (GLuint first, GLsizei count, const GLuint *textures);\ntypedef void (APIENTRYP PFNGLBINDSAMPLERSPROC) (GLuint first, GLsizei count, const GLuint *samplers);\ntypedef void (APIENTRYP PFNGLBINDIMAGETEXTURESPROC) (GLuint first, GLsizei count, const GLuint *textures);\ntypedef void (APIENTRYP PFNGLBINDVERTEXBUFFERSPROC) (GLuint first, GLsizei count, const GLuint *buffers, const GLintptr *offsets, const GLsizei *strides);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glBufferStorage (GLenum target, GLsizeiptr size, const void *data, GLbitfield flags);\nGLAPI void APIENTRY glClearTexImage (GLuint texture, GLint level, GLenum format, GLenum type, const void *data);\nGLAPI void APIENTRY glClearTexSubImage (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data);\nGLAPI void APIENTRY glBindBuffersBase (GLenum target, GLuint first, GLsizei count, const GLuint *buffers);\nGLAPI void APIENTRY glBindBuffersRange (GLenum target, GLuint first, GLsizei count, const GLuint *buffers, const GLintptr *offsets, const GLsizeiptr *sizes);\nGLAPI void APIENTRY glBindTextures (GLuint first, GLsizei count, const GLuint *textures);\nGLAPI void APIENTRY glBindSamplers (GLuint first, GLsizei count, const GLuint *samplers);\nGLAPI void APIENTRY glBindImageTextures (GLuint first, GLsizei count, const GLuint *textures);\nGLAPI void APIENTRY glBindVertexBuffers (GLuint first, GLsizei count, const GLuint *buffers, const GLintptr *offsets, const GLsizei *strides);\n#endif\n#endif /* GL_VERSION_4_4 */\n\n#ifndef GL_ARB_ES2_compatibility\n#define GL_ARB_ES2_compatibility 1\n#endif /* GL_ARB_ES2_compatibility */\n\n#ifndef GL_ARB_ES3_compatibility\n#define GL_ARB_ES3_compatibility 1\n#endif /* GL_ARB_ES3_compatibility */\n\n#ifndef GL_ARB_arrays_of_arrays\n#define GL_ARB_arrays_of_arrays 1\n#endif /* GL_ARB_arrays_of_arrays */\n\n#ifndef GL_ARB_base_instance\n#define GL_ARB_base_instance 1\n#endif /* GL_ARB_base_instance */\n\n#ifndef GL_ARB_bindless_texture\n#define GL_ARB_bindless_texture 1\ntypedef uint64_t GLuint64EXT;\n#define GL_UNSIGNED_INT64_ARB             0x140F\ntypedef GLuint64 (APIENTRYP PFNGLGETTEXTUREHANDLEARBPROC) (GLuint texture);\ntypedef GLuint64 (APIENTRYP PFNGLGETTEXTURESAMPLERHANDLEARBPROC) (GLuint texture, GLuint sampler);\ntypedef void (APIENTRYP PFNGLMAKETEXTUREHANDLERESIDENTARBPROC) (GLuint64 handle);\ntypedef void (APIENTRYP PFNGLMAKETEXTUREHANDLENONRESIDENTARBPROC) (GLuint64 handle);\ntypedef GLuint64 (APIENTRYP PFNGLGETIMAGEHANDLEARBPROC) (GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum format);\ntypedef void (APIENTRYP PFNGLMAKEIMAGEHANDLERESIDENTARBPROC) (GLuint64 handle, GLenum access);\ntypedef void (APIENTRYP PFNGLMAKEIMAGEHANDLENONRESIDENTARBPROC) (GLuint64 handle);\ntypedef void (APIENTRYP PFNGLUNIFORMHANDLEUI64ARBPROC) (GLint location, GLuint64 value);\ntypedef void (APIENTRYP PFNGLUNIFORMHANDLEUI64VARBPROC) (GLint location, GLsizei count, const GLuint64 *value);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMHANDLEUI64ARBPROC) (GLuint program, GLint location, GLuint64 value);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMHANDLEUI64VARBPROC) (GLuint program, GLint location, GLsizei count, const GLuint64 *values);\ntypedef GLboolean (APIENTRYP PFNGLISTEXTUREHANDLERESIDENTARBPROC) (GLuint64 handle);\ntypedef GLboolean (APIENTRYP PFNGLISIMAGEHANDLERESIDENTARBPROC) (GLuint64 handle);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBL1UI64ARBPROC) (GLuint index, GLuint64EXT x);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBL1UI64VARBPROC) (GLuint index, const GLuint64EXT *v);\ntypedef void (APIENTRYP PFNGLGETVERTEXATTRIBLUI64VARBPROC) (GLuint index, GLenum pname, GLuint64EXT *params);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI GLuint64 APIENTRY glGetTextureHandleARB (GLuint texture);\nGLAPI GLuint64 APIENTRY glGetTextureSamplerHandleARB (GLuint texture, GLuint sampler);\nGLAPI void APIENTRY glMakeTextureHandleResidentARB (GLuint64 handle);\nGLAPI void APIENTRY glMakeTextureHandleNonResidentARB (GLuint64 handle);\nGLAPI GLuint64 APIENTRY glGetImageHandleARB (GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum format);\nGLAPI void APIENTRY glMakeImageHandleResidentARB (GLuint64 handle, GLenum access);\nGLAPI void APIENTRY glMakeImageHandleNonResidentARB (GLuint64 handle);\nGLAPI void APIENTRY glUniformHandleui64ARB (GLint location, GLuint64 value);\nGLAPI void APIENTRY glUniformHandleui64vARB (GLint location, GLsizei count, const GLuint64 *value);\nGLAPI void APIENTRY glProgramUniformHandleui64ARB (GLuint program, GLint location, GLuint64 value);\nGLAPI void APIENTRY glProgramUniformHandleui64vARB (GLuint program, GLint location, GLsizei count, const GLuint64 *values);\nGLAPI GLboolean APIENTRY glIsTextureHandleResidentARB (GLuint64 handle);\nGLAPI GLboolean APIENTRY glIsImageHandleResidentARB (GLuint64 handle);\nGLAPI void APIENTRY glVertexAttribL1ui64ARB (GLuint index, GLuint64EXT x);\nGLAPI void APIENTRY glVertexAttribL1ui64vARB (GLuint index, const GLuint64EXT *v);\nGLAPI void APIENTRY glGetVertexAttribLui64vARB (GLuint index, GLenum pname, GLuint64EXT *params);\n#endif\n#endif /* GL_ARB_bindless_texture */\n\n#ifndef GL_ARB_blend_func_extended\n#define GL_ARB_blend_func_extended 1\n#endif /* GL_ARB_blend_func_extended */\n\n#ifndef GL_ARB_buffer_storage\n#define GL_ARB_buffer_storage 1\n#endif /* GL_ARB_buffer_storage */\n\n#ifndef GL_ARB_cl_event\n#define GL_ARB_cl_event 1\nstruct _cl_context;\nstruct _cl_event;\n#define GL_SYNC_CL_EVENT_ARB              0x8240\n#define GL_SYNC_CL_EVENT_COMPLETE_ARB     0x8241\ntypedef GLsync (APIENTRYP PFNGLCREATESYNCFROMCLEVENTARBPROC) (struct _cl_context *context, struct _cl_event *event, GLbitfield flags);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI GLsync APIENTRY glCreateSyncFromCLeventARB (struct _cl_context *context, struct _cl_event *event, GLbitfield flags);\n#endif\n#endif /* GL_ARB_cl_event */\n\n#ifndef GL_ARB_clear_buffer_object\n#define GL_ARB_clear_buffer_object 1\n#endif /* GL_ARB_clear_buffer_object */\n\n#ifndef GL_ARB_clear_texture\n#define GL_ARB_clear_texture 1\n#endif /* GL_ARB_clear_texture */\n\n#ifndef GL_ARB_color_buffer_float\n#define GL_ARB_color_buffer_float 1\n#define GL_RGBA_FLOAT_MODE_ARB            0x8820\n#define GL_CLAMP_VERTEX_COLOR_ARB         0x891A\n#define GL_CLAMP_FRAGMENT_COLOR_ARB       0x891B\n#define GL_CLAMP_READ_COLOR_ARB           0x891C\n#define GL_FIXED_ONLY_ARB                 0x891D\ntypedef void (APIENTRYP PFNGLCLAMPCOLORARBPROC) (GLenum target, GLenum clamp);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glClampColorARB (GLenum target, GLenum clamp);\n#endif\n#endif /* GL_ARB_color_buffer_float */\n\n#ifndef GL_ARB_compatibility\n#define GL_ARB_compatibility 1\n#endif /* GL_ARB_compatibility */\n\n#ifndef GL_ARB_compressed_texture_pixel_storage\n#define GL_ARB_compressed_texture_pixel_storage 1\n#endif /* GL_ARB_compressed_texture_pixel_storage */\n\n#ifndef GL_ARB_compute_shader\n#define GL_ARB_compute_shader 1\n#define GL_COMPUTE_SHADER_BIT             0x00000020\n#endif /* GL_ARB_compute_shader */\n\n#ifndef GL_ARB_compute_variable_group_size\n#define GL_ARB_compute_variable_group_size 1\n#define GL_MAX_COMPUTE_VARIABLE_GROUP_INVOCATIONS_ARB 0x9344\n#define GL_MAX_COMPUTE_FIXED_GROUP_INVOCATIONS_ARB 0x90EB\n#define GL_MAX_COMPUTE_VARIABLE_GROUP_SIZE_ARB 0x9345\n#define GL_MAX_COMPUTE_FIXED_GROUP_SIZE_ARB 0x91BF\ntypedef void (APIENTRYP PFNGLDISPATCHCOMPUTEGROUPSIZEARBPROC) (GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z, GLuint group_size_x, GLuint group_size_y, GLuint group_size_z);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glDispatchComputeGroupSizeARB (GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z, GLuint group_size_x, GLuint group_size_y, GLuint group_size_z);\n#endif\n#endif /* GL_ARB_compute_variable_group_size */\n\n#ifndef GL_ARB_conservative_depth\n#define GL_ARB_conservative_depth 1\n#endif /* GL_ARB_conservative_depth */\n\n#ifndef GL_ARB_copy_buffer\n#define GL_ARB_copy_buffer 1\n#define GL_COPY_READ_BUFFER_BINDING       0x8F36\n#define GL_COPY_WRITE_BUFFER_BINDING      0x8F37\n#endif /* GL_ARB_copy_buffer */\n\n#ifndef GL_ARB_copy_image\n#define GL_ARB_copy_image 1\n#endif /* GL_ARB_copy_image */\n\n#ifndef GL_ARB_debug_output\n#define GL_ARB_debug_output 1\ntypedef void (APIENTRY  *GLDEBUGPROCARB)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam);\n#define GL_DEBUG_OUTPUT_SYNCHRONOUS_ARB   0x8242\n#define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_ARB 0x8243\n#define GL_DEBUG_CALLBACK_FUNCTION_ARB    0x8244\n#define GL_DEBUG_CALLBACK_USER_PARAM_ARB  0x8245\n#define GL_DEBUG_SOURCE_API_ARB           0x8246\n#define GL_DEBUG_SOURCE_WINDOW_SYSTEM_ARB 0x8247\n#define GL_DEBUG_SOURCE_SHADER_COMPILER_ARB 0x8248\n#define GL_DEBUG_SOURCE_THIRD_PARTY_ARB   0x8249\n#define GL_DEBUG_SOURCE_APPLICATION_ARB   0x824A\n#define GL_DEBUG_SOURCE_OTHER_ARB         0x824B\n#define GL_DEBUG_TYPE_ERROR_ARB           0x824C\n#define GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_ARB 0x824D\n#define GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_ARB 0x824E\n#define GL_DEBUG_TYPE_PORTABILITY_ARB     0x824F\n#define GL_DEBUG_TYPE_PERFORMANCE_ARB     0x8250\n#define GL_DEBUG_TYPE_OTHER_ARB           0x8251\n#define GL_MAX_DEBUG_MESSAGE_LENGTH_ARB   0x9143\n#define GL_MAX_DEBUG_LOGGED_MESSAGES_ARB  0x9144\n#define GL_DEBUG_LOGGED_MESSAGES_ARB      0x9145\n#define GL_DEBUG_SEVERITY_HIGH_ARB        0x9146\n#define GL_DEBUG_SEVERITY_MEDIUM_ARB      0x9147\n#define GL_DEBUG_SEVERITY_LOW_ARB         0x9148\ntypedef void (APIENTRYP PFNGLDEBUGMESSAGECONTROLARBPROC) (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);\ntypedef void (APIENTRYP PFNGLDEBUGMESSAGEINSERTARBPROC) (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);\ntypedef void (APIENTRYP PFNGLDEBUGMESSAGECALLBACKARBPROC) (GLDEBUGPROCARB callback, const void *userParam);\ntypedef GLuint (APIENTRYP PFNGLGETDEBUGMESSAGELOGARBPROC) (GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glDebugMessageControlARB (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);\nGLAPI void APIENTRY glDebugMessageInsertARB (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);\nGLAPI void APIENTRY glDebugMessageCallbackARB (GLDEBUGPROCARB callback, const void *userParam);\nGLAPI GLuint APIENTRY glGetDebugMessageLogARB (GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);\n#endif\n#endif /* GL_ARB_debug_output */\n\n#ifndef GL_ARB_depth_buffer_float\n#define GL_ARB_depth_buffer_float 1\n#endif /* GL_ARB_depth_buffer_float */\n\n#ifndef GL_ARB_depth_clamp\n#define GL_ARB_depth_clamp 1\n#endif /* GL_ARB_depth_clamp */\n\n#ifndef GL_ARB_depth_texture\n#define GL_ARB_depth_texture 1\n#define GL_DEPTH_COMPONENT16_ARB          0x81A5\n#define GL_DEPTH_COMPONENT24_ARB          0x81A6\n#define GL_DEPTH_COMPONENT32_ARB          0x81A7\n#define GL_TEXTURE_DEPTH_SIZE_ARB         0x884A\n#define GL_DEPTH_TEXTURE_MODE_ARB         0x884B\n#endif /* GL_ARB_depth_texture */\n\n#ifndef GL_ARB_draw_buffers\n#define GL_ARB_draw_buffers 1\n#define GL_MAX_DRAW_BUFFERS_ARB           0x8824\n#define GL_DRAW_BUFFER0_ARB               0x8825\n#define GL_DRAW_BUFFER1_ARB               0x8826\n#define GL_DRAW_BUFFER2_ARB               0x8827\n#define GL_DRAW_BUFFER3_ARB               0x8828\n#define GL_DRAW_BUFFER4_ARB               0x8829\n#define GL_DRAW_BUFFER5_ARB               0x882A\n#define GL_DRAW_BUFFER6_ARB               0x882B\n#define GL_DRAW_BUFFER7_ARB               0x882C\n#define GL_DRAW_BUFFER8_ARB               0x882D\n#define GL_DRAW_BUFFER9_ARB               0x882E\n#define GL_DRAW_BUFFER10_ARB              0x882F\n#define GL_DRAW_BUFFER11_ARB              0x8830\n#define GL_DRAW_BUFFER12_ARB              0x8831\n#define GL_DRAW_BUFFER13_ARB              0x8832\n#define GL_DRAW_BUFFER14_ARB              0x8833\n#define GL_DRAW_BUFFER15_ARB              0x8834\ntypedef void (APIENTRYP PFNGLDRAWBUFFERSARBPROC) (GLsizei n, const GLenum *bufs);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glDrawBuffersARB (GLsizei n, const GLenum *bufs);\n#endif\n#endif /* GL_ARB_draw_buffers */\n\n#ifndef GL_ARB_draw_buffers_blend\n#define GL_ARB_draw_buffers_blend 1\ntypedef void (APIENTRYP PFNGLBLENDEQUATIONIARBPROC) (GLuint buf, GLenum mode);\ntypedef void (APIENTRYP PFNGLBLENDEQUATIONSEPARATEIARBPROC) (GLuint buf, GLenum modeRGB, GLenum modeAlpha);\ntypedef void (APIENTRYP PFNGLBLENDFUNCIARBPROC) (GLuint buf, GLenum src, GLenum dst);\ntypedef void (APIENTRYP PFNGLBLENDFUNCSEPARATEIARBPROC) (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glBlendEquationiARB (GLuint buf, GLenum mode);\nGLAPI void APIENTRY glBlendEquationSeparateiARB (GLuint buf, GLenum modeRGB, GLenum modeAlpha);\nGLAPI void APIENTRY glBlendFunciARB (GLuint buf, GLenum src, GLenum dst);\nGLAPI void APIENTRY glBlendFuncSeparateiARB (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);\n#endif\n#endif /* GL_ARB_draw_buffers_blend */\n\n#ifndef GL_ARB_draw_elements_base_vertex\n#define GL_ARB_draw_elements_base_vertex 1\n#endif /* GL_ARB_draw_elements_base_vertex */\n\n#ifndef GL_ARB_draw_indirect\n#define GL_ARB_draw_indirect 1\n#endif /* GL_ARB_draw_indirect */\n\n#ifndef GL_ARB_draw_instanced\n#define GL_ARB_draw_instanced 1\ntypedef void (APIENTRYP PFNGLDRAWARRAYSINSTANCEDARBPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount);\ntypedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDARBPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glDrawArraysInstancedARB (GLenum mode, GLint first, GLsizei count, GLsizei primcount);\nGLAPI void APIENTRY glDrawElementsInstancedARB (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);\n#endif\n#endif /* GL_ARB_draw_instanced */\n\n#ifndef GL_ARB_enhanced_layouts\n#define GL_ARB_enhanced_layouts 1\n#endif /* GL_ARB_enhanced_layouts */\n\n#ifndef GL_ARB_explicit_attrib_location\n#define GL_ARB_explicit_attrib_location 1\n#endif /* GL_ARB_explicit_attrib_location */\n\n#ifndef GL_ARB_explicit_uniform_location\n#define GL_ARB_explicit_uniform_location 1\n#endif /* GL_ARB_explicit_uniform_location */\n\n#ifndef GL_ARB_fragment_coord_conventions\n#define GL_ARB_fragment_coord_conventions 1\n#endif /* GL_ARB_fragment_coord_conventions */\n\n#ifndef GL_ARB_fragment_layer_viewport\n#define GL_ARB_fragment_layer_viewport 1\n#endif /* GL_ARB_fragment_layer_viewport */\n\n#ifndef GL_ARB_fragment_program\n#define GL_ARB_fragment_program 1\n#define GL_FRAGMENT_PROGRAM_ARB           0x8804\n#define GL_PROGRAM_FORMAT_ASCII_ARB       0x8875\n#define GL_PROGRAM_LENGTH_ARB             0x8627\n#define GL_PROGRAM_FORMAT_ARB             0x8876\n#define GL_PROGRAM_BINDING_ARB            0x8677\n#define GL_PROGRAM_INSTRUCTIONS_ARB       0x88A0\n#define GL_MAX_PROGRAM_INSTRUCTIONS_ARB   0x88A1\n#define GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB 0x88A2\n#define GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB 0x88A3\n#define GL_PROGRAM_TEMPORARIES_ARB        0x88A4\n#define GL_MAX_PROGRAM_TEMPORARIES_ARB    0x88A5\n#define GL_PROGRAM_NATIVE_TEMPORARIES_ARB 0x88A6\n#define GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB 0x88A7\n#define GL_PROGRAM_PARAMETERS_ARB         0x88A8\n#define GL_MAX_PROGRAM_PARAMETERS_ARB     0x88A9\n#define GL_PROGRAM_NATIVE_PARAMETERS_ARB  0x88AA\n#define GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB 0x88AB\n#define GL_PROGRAM_ATTRIBS_ARB            0x88AC\n#define GL_MAX_PROGRAM_ATTRIBS_ARB        0x88AD\n#define GL_PROGRAM_NATIVE_ATTRIBS_ARB     0x88AE\n#define GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB 0x88AF\n#define GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB 0x88B4\n#define GL_MAX_PROGRAM_ENV_PARAMETERS_ARB 0x88B5\n#define GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB 0x88B6\n#define GL_PROGRAM_ALU_INSTRUCTIONS_ARB   0x8805\n#define GL_PROGRAM_TEX_INSTRUCTIONS_ARB   0x8806\n#define GL_PROGRAM_TEX_INDIRECTIONS_ARB   0x8807\n#define GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB 0x8808\n#define GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB 0x8809\n#define GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB 0x880A\n#define GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB 0x880B\n#define GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB 0x880C\n#define GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB 0x880D\n#define GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB 0x880E\n#define GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB 0x880F\n#define GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB 0x8810\n#define GL_PROGRAM_STRING_ARB             0x8628\n#define GL_PROGRAM_ERROR_POSITION_ARB     0x864B\n#define GL_CURRENT_MATRIX_ARB             0x8641\n#define GL_TRANSPOSE_CURRENT_MATRIX_ARB   0x88B7\n#define GL_CURRENT_MATRIX_STACK_DEPTH_ARB 0x8640\n#define GL_MAX_PROGRAM_MATRICES_ARB       0x862F\n#define GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB 0x862E\n#define GL_MAX_TEXTURE_COORDS_ARB         0x8871\n#define GL_MAX_TEXTURE_IMAGE_UNITS_ARB    0x8872\n#define GL_PROGRAM_ERROR_STRING_ARB       0x8874\n#define GL_MATRIX0_ARB                    0x88C0\n#define GL_MATRIX1_ARB                    0x88C1\n#define GL_MATRIX2_ARB                    0x88C2\n#define GL_MATRIX3_ARB                    0x88C3\n#define GL_MATRIX4_ARB                    0x88C4\n#define GL_MATRIX5_ARB                    0x88C5\n#define GL_MATRIX6_ARB                    0x88C6\n#define GL_MATRIX7_ARB                    0x88C7\n#define GL_MATRIX8_ARB                    0x88C8\n#define GL_MATRIX9_ARB                    0x88C9\n#define GL_MATRIX10_ARB                   0x88CA\n#define GL_MATRIX11_ARB                   0x88CB\n#define GL_MATRIX12_ARB                   0x88CC\n#define GL_MATRIX13_ARB                   0x88CD\n#define GL_MATRIX14_ARB                   0x88CE\n#define GL_MATRIX15_ARB                   0x88CF\n#define GL_MATRIX16_ARB                   0x88D0\n#define GL_MATRIX17_ARB                   0x88D1\n#define GL_MATRIX18_ARB                   0x88D2\n#define GL_MATRIX19_ARB                   0x88D3\n#define GL_MATRIX20_ARB                   0x88D4\n#define GL_MATRIX21_ARB                   0x88D5\n#define GL_MATRIX22_ARB                   0x88D6\n#define GL_MATRIX23_ARB                   0x88D7\n#define GL_MATRIX24_ARB                   0x88D8\n#define GL_MATRIX25_ARB                   0x88D9\n#define GL_MATRIX26_ARB                   0x88DA\n#define GL_MATRIX27_ARB                   0x88DB\n#define GL_MATRIX28_ARB                   0x88DC\n#define GL_MATRIX29_ARB                   0x88DD\n#define GL_MATRIX30_ARB                   0x88DE\n#define GL_MATRIX31_ARB                   0x88DF\ntypedef void (APIENTRYP PFNGLPROGRAMSTRINGARBPROC) (GLenum target, GLenum format, GLsizei len, const void *string);\ntypedef void (APIENTRYP PFNGLBINDPROGRAMARBPROC) (GLenum target, GLuint program);\ntypedef void (APIENTRYP PFNGLDELETEPROGRAMSARBPROC) (GLsizei n, const GLuint *programs);\ntypedef void (APIENTRYP PFNGLGENPROGRAMSARBPROC) (GLsizei n, GLuint *programs);\ntypedef void (APIENTRYP PFNGLPROGRAMENVPARAMETER4DARBPROC) (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\ntypedef void (APIENTRYP PFNGLPROGRAMENVPARAMETER4DVARBPROC) (GLenum target, GLuint index, const GLdouble *params);\ntypedef void (APIENTRYP PFNGLPROGRAMENVPARAMETER4FARBPROC) (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\ntypedef void (APIENTRYP PFNGLPROGRAMENVPARAMETER4FVARBPROC) (GLenum target, GLuint index, const GLfloat *params);\ntypedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETER4DARBPROC) (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\ntypedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETER4DVARBPROC) (GLenum target, GLuint index, const GLdouble *params);\ntypedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETER4FARBPROC) (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\ntypedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETER4FVARBPROC) (GLenum target, GLuint index, const GLfloat *params);\ntypedef void (APIENTRYP PFNGLGETPROGRAMENVPARAMETERDVARBPROC) (GLenum target, GLuint index, GLdouble *params);\ntypedef void (APIENTRYP PFNGLGETPROGRAMENVPARAMETERFVARBPROC) (GLenum target, GLuint index, GLfloat *params);\ntypedef void (APIENTRYP PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC) (GLenum target, GLuint index, GLdouble *params);\ntypedef void (APIENTRYP PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC) (GLenum target, GLuint index, GLfloat *params);\ntypedef void (APIENTRYP PFNGLGETPROGRAMIVARBPROC) (GLenum target, GLenum pname, GLint *params);\ntypedef void (APIENTRYP PFNGLGETPROGRAMSTRINGARBPROC) (GLenum target, GLenum pname, void *string);\ntypedef GLboolean (APIENTRYP PFNGLISPROGRAMARBPROC) (GLuint program);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glProgramStringARB (GLenum target, GLenum format, GLsizei len, const void *string);\nGLAPI void APIENTRY glBindProgramARB (GLenum target, GLuint program);\nGLAPI void APIENTRY glDeleteProgramsARB (GLsizei n, const GLuint *programs);\nGLAPI void APIENTRY glGenProgramsARB (GLsizei n, GLuint *programs);\nGLAPI void APIENTRY glProgramEnvParameter4dARB (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nGLAPI void APIENTRY glProgramEnvParameter4dvARB (GLenum target, GLuint index, const GLdouble *params);\nGLAPI void APIENTRY glProgramEnvParameter4fARB (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nGLAPI void APIENTRY glProgramEnvParameter4fvARB (GLenum target, GLuint index, const GLfloat *params);\nGLAPI void APIENTRY glProgramLocalParameter4dARB (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nGLAPI void APIENTRY glProgramLocalParameter4dvARB (GLenum target, GLuint index, const GLdouble *params);\nGLAPI void APIENTRY glProgramLocalParameter4fARB (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nGLAPI void APIENTRY glProgramLocalParameter4fvARB (GLenum target, GLuint index, const GLfloat *params);\nGLAPI void APIENTRY glGetProgramEnvParameterdvARB (GLenum target, GLuint index, GLdouble *params);\nGLAPI void APIENTRY glGetProgramEnvParameterfvARB (GLenum target, GLuint index, GLfloat *params);\nGLAPI void APIENTRY glGetProgramLocalParameterdvARB (GLenum target, GLuint index, GLdouble *params);\nGLAPI void APIENTRY glGetProgramLocalParameterfvARB (GLenum target, GLuint index, GLfloat *params);\nGLAPI void APIENTRY glGetProgramivARB (GLenum target, GLenum pname, GLint *params);\nGLAPI void APIENTRY glGetProgramStringARB (GLenum target, GLenum pname, void *string);\nGLAPI GLboolean APIENTRY glIsProgramARB (GLuint program);\n#endif\n#endif /* GL_ARB_fragment_program */\n\n#ifndef GL_ARB_fragment_program_shadow\n#define GL_ARB_fragment_program_shadow 1\n#endif /* GL_ARB_fragment_program_shadow */\n\n#ifndef GL_ARB_fragment_shader\n#define GL_ARB_fragment_shader 1\n#define GL_FRAGMENT_SHADER_ARB            0x8B30\n#define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB 0x8B49\n#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB 0x8B8B\n#endif /* GL_ARB_fragment_shader */\n\n#ifndef GL_ARB_framebuffer_no_attachments\n#define GL_ARB_framebuffer_no_attachments 1\n#endif /* GL_ARB_framebuffer_no_attachments */\n\n#ifndef GL_ARB_framebuffer_object\n#define GL_ARB_framebuffer_object 1\n#endif /* GL_ARB_framebuffer_object */\n\n#ifndef GL_ARB_framebuffer_sRGB\n#define GL_ARB_framebuffer_sRGB 1\n#endif /* GL_ARB_framebuffer_sRGB */\n\n#ifndef GL_KHR_context_flush_control\n#define GL_CONTEXT_RELEASE_BEHAVIOR       0x82FB\n#define GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH 0x82FC\n#endif /* GL_KHR_context_flush_control */\n\n#ifndef GL_ARB_geometry_shader4\n#define GL_ARB_geometry_shader4 1\n#define GL_LINES_ADJACENCY_ARB            0x000A\n#define GL_LINE_STRIP_ADJACENCY_ARB       0x000B\n#define GL_TRIANGLES_ADJACENCY_ARB        0x000C\n#define GL_TRIANGLE_STRIP_ADJACENCY_ARB   0x000D\n#define GL_PROGRAM_POINT_SIZE_ARB         0x8642\n#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB 0x8C29\n#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB 0x8DA7\n#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB 0x8DA8\n#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB 0x8DA9\n#define GL_GEOMETRY_SHADER_ARB            0x8DD9\n#define GL_GEOMETRY_VERTICES_OUT_ARB      0x8DDA\n#define GL_GEOMETRY_INPUT_TYPE_ARB        0x8DDB\n#define GL_GEOMETRY_OUTPUT_TYPE_ARB       0x8DDC\n#define GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB 0x8DDD\n#define GL_MAX_VERTEX_VARYING_COMPONENTS_ARB 0x8DDE\n#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB 0x8DDF\n#define GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB 0x8DE0\n#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB 0x8DE1\ntypedef void (APIENTRYP PFNGLPROGRAMPARAMETERIARBPROC) (GLuint program, GLenum pname, GLint value);\ntypedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTUREARBPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level);\ntypedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURELAYERARBPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);\ntypedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTUREFACEARBPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glProgramParameteriARB (GLuint program, GLenum pname, GLint value);\nGLAPI void APIENTRY glFramebufferTextureARB (GLenum target, GLenum attachment, GLuint texture, GLint level);\nGLAPI void APIENTRY glFramebufferTextureLayerARB (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);\nGLAPI void APIENTRY glFramebufferTextureFaceARB (GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face);\n#endif\n#endif /* GL_ARB_geometry_shader4 */\n\n#ifndef GL_ARB_get_program_binary\n#define GL_ARB_get_program_binary 1\n#endif /* GL_ARB_get_program_binary */\n\n#ifndef GL_ARB_gpu_shader5\n#define GL_ARB_gpu_shader5 1\n#endif /* GL_ARB_gpu_shader5 */\n\n#ifndef GL_ARB_gpu_shader_fp64\n#define GL_ARB_gpu_shader_fp64 1\n#endif /* GL_ARB_gpu_shader_fp64 */\n\n#ifndef GL_ARB_half_float_pixel\n#define GL_ARB_half_float_pixel 1\ntypedef unsigned short GLhalfARB;\n#define GL_HALF_FLOAT_ARB                 0x140B\n#endif /* GL_ARB_half_float_pixel */\n\n#ifndef GL_ARB_half_float_vertex\n#define GL_ARB_half_float_vertex 1\n#endif /* GL_ARB_half_float_vertex */\n\n#ifndef GL_ARB_imaging\n#define GL_ARB_imaging 1\n#define GL_BLEND_COLOR                    0x8005\n#define GL_BLEND_EQUATION                 0x8009\n#define GL_CONVOLUTION_1D                 0x8010\n#define GL_CONVOLUTION_2D                 0x8011\n#define GL_SEPARABLE_2D                   0x8012\n#define GL_CONVOLUTION_BORDER_MODE        0x8013\n#define GL_CONVOLUTION_FILTER_SCALE       0x8014\n#define GL_CONVOLUTION_FILTER_BIAS        0x8015\n#define GL_REDUCE                         0x8016\n#define GL_CONVOLUTION_FORMAT             0x8017\n#define GL_CONVOLUTION_WIDTH              0x8018\n#define GL_CONVOLUTION_HEIGHT             0x8019\n#define GL_MAX_CONVOLUTION_WIDTH          0x801A\n#define GL_MAX_CONVOLUTION_HEIGHT         0x801B\n#define GL_POST_CONVOLUTION_RED_SCALE     0x801C\n#define GL_POST_CONVOLUTION_GREEN_SCALE   0x801D\n#define GL_POST_CONVOLUTION_BLUE_SCALE    0x801E\n#define GL_POST_CONVOLUTION_ALPHA_SCALE   0x801F\n#define GL_POST_CONVOLUTION_RED_BIAS      0x8020\n#define GL_POST_CONVOLUTION_GREEN_BIAS    0x8021\n#define GL_POST_CONVOLUTION_BLUE_BIAS     0x8022\n#define GL_POST_CONVOLUTION_ALPHA_BIAS    0x8023\n#define GL_HISTOGRAM                      0x8024\n#define GL_PROXY_HISTOGRAM                0x8025\n#define GL_HISTOGRAM_WIDTH                0x8026\n#define GL_HISTOGRAM_FORMAT               0x8027\n#define GL_HISTOGRAM_RED_SIZE             0x8028\n#define GL_HISTOGRAM_GREEN_SIZE           0x8029\n#define GL_HISTOGRAM_BLUE_SIZE            0x802A\n#define GL_HISTOGRAM_ALPHA_SIZE           0x802B\n#define GL_HISTOGRAM_LUMINANCE_SIZE       0x802C\n#define GL_HISTOGRAM_SINK                 0x802D\n#define GL_MINMAX                         0x802E\n#define GL_MINMAX_FORMAT                  0x802F\n#define GL_MINMAX_SINK                    0x8030\n#define GL_TABLE_TOO_LARGE                0x8031\n#define GL_COLOR_MATRIX                   0x80B1\n#define GL_COLOR_MATRIX_STACK_DEPTH       0x80B2\n#define GL_MAX_COLOR_MATRIX_STACK_DEPTH   0x80B3\n#define GL_POST_COLOR_MATRIX_RED_SCALE    0x80B4\n#define GL_POST_COLOR_MATRIX_GREEN_SCALE  0x80B5\n#define GL_POST_COLOR_MATRIX_BLUE_SCALE   0x80B6\n#define GL_POST_COLOR_MATRIX_ALPHA_SCALE  0x80B7\n#define GL_POST_COLOR_MATRIX_RED_BIAS     0x80B8\n#define GL_POST_COLOR_MATRIX_GREEN_BIAS   0x80B9\n#define GL_POST_COLOR_MATRIX_BLUE_BIAS    0x80BA\n#define GL_POST_COLOR_MATRIX_ALPHA_BIAS   0x80BB\n#define GL_COLOR_TABLE                    0x80D0\n#define GL_POST_CONVOLUTION_COLOR_TABLE   0x80D1\n#define GL_POST_COLOR_MATRIX_COLOR_TABLE  0x80D2\n#define GL_PROXY_COLOR_TABLE              0x80D3\n#define GL_PROXY_POST_CONVOLUTION_COLOR_TABLE 0x80D4\n#define GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE 0x80D5\n#define GL_COLOR_TABLE_SCALE              0x80D6\n#define GL_COLOR_TABLE_BIAS               0x80D7\n#define GL_COLOR_TABLE_FORMAT             0x80D8\n#define GL_COLOR_TABLE_WIDTH              0x80D9\n#define GL_COLOR_TABLE_RED_SIZE           0x80DA\n#define GL_COLOR_TABLE_GREEN_SIZE         0x80DB\n#define GL_COLOR_TABLE_BLUE_SIZE          0x80DC\n#define GL_COLOR_TABLE_ALPHA_SIZE         0x80DD\n#define GL_COLOR_TABLE_LUMINANCE_SIZE     0x80DE\n#define GL_COLOR_TABLE_INTENSITY_SIZE     0x80DF\n#define GL_CONSTANT_BORDER                0x8151\n#define GL_REPLICATE_BORDER               0x8153\n#define GL_CONVOLUTION_BORDER_COLOR       0x8154\ntypedef void (APIENTRYP PFNGLCOLORTABLEPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const void *table);\ntypedef void (APIENTRYP PFNGLCOLORTABLEPARAMETERFVPROC) (GLenum target, GLenum pname, const GLfloat *params);\ntypedef void (APIENTRYP PFNGLCOLORTABLEPARAMETERIVPROC) (GLenum target, GLenum pname, const GLint *params);\ntypedef void (APIENTRYP PFNGLCOPYCOLORTABLEPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);\ntypedef void (APIENTRYP PFNGLGETCOLORTABLEPROC) (GLenum target, GLenum format, GLenum type, void *table);\ntypedef void (APIENTRYP PFNGLGETCOLORTABLEPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params);\ntypedef void (APIENTRYP PFNGLGETCOLORTABLEPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);\ntypedef void (APIENTRYP PFNGLCOLORSUBTABLEPROC) (GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const void *data);\ntypedef void (APIENTRYP PFNGLCOPYCOLORSUBTABLEPROC) (GLenum target, GLsizei start, GLint x, GLint y, GLsizei width);\ntypedef void (APIENTRYP PFNGLCONVOLUTIONFILTER1DPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const void *image);\ntypedef void (APIENTRYP PFNGLCONVOLUTIONFILTER2DPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *image);\ntypedef void (APIENTRYP PFNGLCONVOLUTIONPARAMETERFPROC) (GLenum target, GLenum pname, GLfloat params);\ntypedef void (APIENTRYP PFNGLCONVOLUTIONPARAMETERFVPROC) (GLenum target, GLenum pname, const GLfloat *params);\ntypedef void (APIENTRYP PFNGLCONVOLUTIONPARAMETERIPROC) (GLenum target, GLenum pname, GLint params);\ntypedef void (APIENTRYP PFNGLCONVOLUTIONPARAMETERIVPROC) (GLenum target, GLenum pname, const GLint *params);\ntypedef void (APIENTRYP PFNGLCOPYCONVOLUTIONFILTER1DPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);\ntypedef void (APIENTRYP PFNGLCOPYCONVOLUTIONFILTER2DPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height);\ntypedef void (APIENTRYP PFNGLGETCONVOLUTIONFILTERPROC) (GLenum target, GLenum format, GLenum type, void *image);\ntypedef void (APIENTRYP PFNGLGETCONVOLUTIONPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params);\ntypedef void (APIENTRYP PFNGLGETCONVOLUTIONPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);\ntypedef void (APIENTRYP PFNGLGETSEPARABLEFILTERPROC) (GLenum target, GLenum format, GLenum type, void *row, void *column, void *span);\ntypedef void (APIENTRYP PFNGLSEPARABLEFILTER2DPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *row, const void *column);\ntypedef void (APIENTRYP PFNGLGETHISTOGRAMPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, void *values);\ntypedef void (APIENTRYP PFNGLGETHISTOGRAMPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params);\ntypedef void (APIENTRYP PFNGLGETHISTOGRAMPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);\ntypedef void (APIENTRYP PFNGLGETMINMAXPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, void *values);\ntypedef void (APIENTRYP PFNGLGETMINMAXPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params);\ntypedef void (APIENTRYP PFNGLGETMINMAXPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);\ntypedef void (APIENTRYP PFNGLHISTOGRAMPROC) (GLenum target, GLsizei width, GLenum internalformat, GLboolean sink);\ntypedef void (APIENTRYP PFNGLMINMAXPROC) (GLenum target, GLenum internalformat, GLboolean sink);\ntypedef void (APIENTRYP PFNGLRESETHISTOGRAMPROC) (GLenum target);\ntypedef void (APIENTRYP PFNGLRESETMINMAXPROC) (GLenum target);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glColorTable (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const void *table);\nGLAPI void APIENTRY glColorTableParameterfv (GLenum target, GLenum pname, const GLfloat *params);\nGLAPI void APIENTRY glColorTableParameteriv (GLenum target, GLenum pname, const GLint *params);\nGLAPI void APIENTRY glCopyColorTable (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);\nGLAPI void APIENTRY glGetColorTable (GLenum target, GLenum format, GLenum type, void *table);\nGLAPI void APIENTRY glGetColorTableParameterfv (GLenum target, GLenum pname, GLfloat *params);\nGLAPI void APIENTRY glGetColorTableParameteriv (GLenum target, GLenum pname, GLint *params);\nGLAPI void APIENTRY glColorSubTable (GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const void *data);\nGLAPI void APIENTRY glCopyColorSubTable (GLenum target, GLsizei start, GLint x, GLint y, GLsizei width);\nGLAPI void APIENTRY glConvolutionFilter1D (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const void *image);\nGLAPI void APIENTRY glConvolutionFilter2D (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *image);\nGLAPI void APIENTRY glConvolutionParameterf (GLenum target, GLenum pname, GLfloat params);\nGLAPI void APIENTRY glConvolutionParameterfv (GLenum target, GLenum pname, const GLfloat *params);\nGLAPI void APIENTRY glConvolutionParameteri (GLenum target, GLenum pname, GLint params);\nGLAPI void APIENTRY glConvolutionParameteriv (GLenum target, GLenum pname, const GLint *params);\nGLAPI void APIENTRY glCopyConvolutionFilter1D (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);\nGLAPI void APIENTRY glCopyConvolutionFilter2D (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height);\nGLAPI void APIENTRY glGetConvolutionFilter (GLenum target, GLenum format, GLenum type, void *image);\nGLAPI void APIENTRY glGetConvolutionParameterfv (GLenum target, GLenum pname, GLfloat *params);\nGLAPI void APIENTRY glGetConvolutionParameteriv (GLenum target, GLenum pname, GLint *params);\nGLAPI void APIENTRY glGetSeparableFilter (GLenum target, GLenum format, GLenum type, void *row, void *column, void *span);\nGLAPI void APIENTRY glSeparableFilter2D (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *row, const void *column);\nGLAPI void APIENTRY glGetHistogram (GLenum target, GLboolean reset, GLenum format, GLenum type, void *values);\nGLAPI void APIENTRY glGetHistogramParameterfv (GLenum target, GLenum pname, GLfloat *params);\nGLAPI void APIENTRY glGetHistogramParameteriv (GLenum target, GLenum pname, GLint *params);\nGLAPI void APIENTRY glGetMinmax (GLenum target, GLboolean reset, GLenum format, GLenum type, void *values);\nGLAPI void APIENTRY glGetMinmaxParameterfv (GLenum target, GLenum pname, GLfloat *params);\nGLAPI void APIENTRY glGetMinmaxParameteriv (GLenum target, GLenum pname, GLint *params);\nGLAPI void APIENTRY glHistogram (GLenum target, GLsizei width, GLenum internalformat, GLboolean sink);\nGLAPI void APIENTRY glMinmax (GLenum target, GLenum internalformat, GLboolean sink);\nGLAPI void APIENTRY glResetHistogram (GLenum target);\nGLAPI void APIENTRY glResetMinmax (GLenum target);\n#endif\n#endif /* GL_ARB_imaging */\n\n#ifndef GL_ARB_indirect_parameters\n#define GL_ARB_indirect_parameters 1\n#define GL_PARAMETER_BUFFER_ARB           0x80EE\n#define GL_PARAMETER_BUFFER_BINDING_ARB   0x80EF\ntypedef void (APIENTRYP PFNGLMULTIDRAWARRAYSINDIRECTCOUNTARBPROC) (GLenum mode, GLintptr indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride);\ntypedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSINDIRECTCOUNTARBPROC) (GLenum mode, GLenum type, GLintptr indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glMultiDrawArraysIndirectCountARB (GLenum mode, GLintptr indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride);\nGLAPI void APIENTRY glMultiDrawElementsIndirectCountARB (GLenum mode, GLenum type, GLintptr indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride);\n#endif\n#endif /* GL_ARB_indirect_parameters */\n\n#ifndef GL_ARB_instanced_arrays\n#define GL_ARB_instanced_arrays 1\n#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB 0x88FE\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBDIVISORARBPROC) (GLuint index, GLuint divisor);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glVertexAttribDivisorARB (GLuint index, GLuint divisor);\n#endif\n#endif /* GL_ARB_instanced_arrays */\n\n#ifndef GL_ARB_internalformat_query\n#define GL_ARB_internalformat_query 1\n#endif /* GL_ARB_internalformat_query */\n\n#ifndef GL_ARB_internalformat_query2\n#define GL_ARB_internalformat_query2 1\n#define GL_SRGB_DECODE_ARB                0x8299\n#endif /* GL_ARB_internalformat_query2 */\n\n#ifndef GL_ARB_invalidate_subdata\n#define GL_ARB_invalidate_subdata 1\n#endif /* GL_ARB_invalidate_subdata */\n\n#ifndef GL_ARB_map_buffer_alignment\n#define GL_ARB_map_buffer_alignment 1\n#endif /* GL_ARB_map_buffer_alignment */\n\n#ifndef GL_ARB_map_buffer_range\n#define GL_ARB_map_buffer_range 1\n#endif /* GL_ARB_map_buffer_range */\n\n#ifndef GL_ARB_matrix_palette\n#define GL_ARB_matrix_palette 1\n#define GL_MATRIX_PALETTE_ARB             0x8840\n#define GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB 0x8841\n#define GL_MAX_PALETTE_MATRICES_ARB       0x8842\n#define GL_CURRENT_PALETTE_MATRIX_ARB     0x8843\n#define GL_MATRIX_INDEX_ARRAY_ARB         0x8844\n#define GL_CURRENT_MATRIX_INDEX_ARB       0x8845\n#define GL_MATRIX_INDEX_ARRAY_SIZE_ARB    0x8846\n#define GL_MATRIX_INDEX_ARRAY_TYPE_ARB    0x8847\n#define GL_MATRIX_INDEX_ARRAY_STRIDE_ARB  0x8848\n#define GL_MATRIX_INDEX_ARRAY_POINTER_ARB 0x8849\ntypedef void (APIENTRYP PFNGLCURRENTPALETTEMATRIXARBPROC) (GLint index);\ntypedef void (APIENTRYP PFNGLMATRIXINDEXUBVARBPROC) (GLint size, const GLubyte *indices);\ntypedef void (APIENTRYP PFNGLMATRIXINDEXUSVARBPROC) (GLint size, const GLushort *indices);\ntypedef void (APIENTRYP PFNGLMATRIXINDEXUIVARBPROC) (GLint size, const GLuint *indices);\ntypedef void (APIENTRYP PFNGLMATRIXINDEXPOINTERARBPROC) (GLint size, GLenum type, GLsizei stride, const void *pointer);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glCurrentPaletteMatrixARB (GLint index);\nGLAPI void APIENTRY glMatrixIndexubvARB (GLint size, const GLubyte *indices);\nGLAPI void APIENTRY glMatrixIndexusvARB (GLint size, const GLushort *indices);\nGLAPI void APIENTRY glMatrixIndexuivARB (GLint size, const GLuint *indices);\nGLAPI void APIENTRY glMatrixIndexPointerARB (GLint size, GLenum type, GLsizei stride, const void *pointer);\n#endif\n#endif /* GL_ARB_matrix_palette */\n\n#ifndef GL_ARB_multi_bind\n#define GL_ARB_multi_bind 1\n#endif /* GL_ARB_multi_bind */\n\n#ifndef GL_ARB_multi_draw_indirect\n#define GL_ARB_multi_draw_indirect 1\n#endif /* GL_ARB_multi_draw_indirect */\n\n#ifndef GL_ARB_multisample\n#define GL_ARB_multisample 1\n#define GL_MULTISAMPLE_ARB                0x809D\n#define GL_SAMPLE_ALPHA_TO_COVERAGE_ARB   0x809E\n#define GL_SAMPLE_ALPHA_TO_ONE_ARB        0x809F\n#define GL_SAMPLE_COVERAGE_ARB            0x80A0\n#define GL_SAMPLE_BUFFERS_ARB             0x80A8\n#define GL_SAMPLES_ARB                    0x80A9\n#define GL_SAMPLE_COVERAGE_VALUE_ARB      0x80AA\n#define GL_SAMPLE_COVERAGE_INVERT_ARB     0x80AB\n#define GL_MULTISAMPLE_BIT_ARB            0x20000000\ntypedef void (APIENTRYP PFNGLSAMPLECOVERAGEARBPROC) (GLfloat value, GLboolean invert);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glSampleCoverageARB (GLfloat value, GLboolean invert);\n#endif\n#endif /* GL_ARB_multisample */\n\n#ifndef GL_ARB_multitexture\n#define GL_ARB_multitexture 1\n#define GL_TEXTURE0_ARB                   0x84C0\n#define GL_TEXTURE1_ARB                   0x84C1\n#define GL_TEXTURE2_ARB                   0x84C2\n#define GL_TEXTURE3_ARB                   0x84C3\n#define GL_TEXTURE4_ARB                   0x84C4\n#define GL_TEXTURE5_ARB                   0x84C5\n#define GL_TEXTURE6_ARB                   0x84C6\n#define GL_TEXTURE7_ARB                   0x84C7\n#define GL_TEXTURE8_ARB                   0x84C8\n#define GL_TEXTURE9_ARB                   0x84C9\n#define GL_TEXTURE10_ARB                  0x84CA\n#define GL_TEXTURE11_ARB                  0x84CB\n#define GL_TEXTURE12_ARB                  0x84CC\n#define GL_TEXTURE13_ARB                  0x84CD\n#define GL_TEXTURE14_ARB                  0x84CE\n#define GL_TEXTURE15_ARB                  0x84CF\n#define GL_TEXTURE16_ARB                  0x84D0\n#define GL_TEXTURE17_ARB                  0x84D1\n#define GL_TEXTURE18_ARB                  0x84D2\n#define GL_TEXTURE19_ARB                  0x84D3\n#define GL_TEXTURE20_ARB                  0x84D4\n#define GL_TEXTURE21_ARB                  0x84D5\n#define GL_TEXTURE22_ARB                  0x84D6\n#define GL_TEXTURE23_ARB                  0x84D7\n#define GL_TEXTURE24_ARB                  0x84D8\n#define GL_TEXTURE25_ARB                  0x84D9\n#define GL_TEXTURE26_ARB                  0x84DA\n#define GL_TEXTURE27_ARB                  0x84DB\n#define GL_TEXTURE28_ARB                  0x84DC\n#define GL_TEXTURE29_ARB                  0x84DD\n#define GL_TEXTURE30_ARB                  0x84DE\n#define GL_TEXTURE31_ARB                  0x84DF\n#define GL_ACTIVE_TEXTURE_ARB             0x84E0\n#define GL_CLIENT_ACTIVE_TEXTURE_ARB      0x84E1\n#define GL_MAX_TEXTURE_UNITS_ARB          0x84E2\ntypedef void (APIENTRYP PFNGLACTIVETEXTUREARBPROC) (GLenum texture);\ntypedef void (APIENTRYP PFNGLCLIENTACTIVETEXTUREARBPROC) (GLenum texture);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD1DARBPROC) (GLenum target, GLdouble s);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD1DVARBPROC) (GLenum target, const GLdouble *v);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD1FARBPROC) (GLenum target, GLfloat s);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD1FVARBPROC) (GLenum target, const GLfloat *v);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD1IARBPROC) (GLenum target, GLint s);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD1IVARBPROC) (GLenum target, const GLint *v);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD1SARBPROC) (GLenum target, GLshort s);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD1SVARBPROC) (GLenum target, const GLshort *v);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD2DARBPROC) (GLenum target, GLdouble s, GLdouble t);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD2DVARBPROC) (GLenum target, const GLdouble *v);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD2FARBPROC) (GLenum target, GLfloat s, GLfloat t);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD2FVARBPROC) (GLenum target, const GLfloat *v);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD2IARBPROC) (GLenum target, GLint s, GLint t);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD2IVARBPROC) (GLenum target, const GLint *v);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD2SARBPROC) (GLenum target, GLshort s, GLshort t);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD2SVARBPROC) (GLenum target, const GLshort *v);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD3DARBPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD3DVARBPROC) (GLenum target, const GLdouble *v);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD3FARBPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD3FVARBPROC) (GLenum target, const GLfloat *v);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD3IARBPROC) (GLenum target, GLint s, GLint t, GLint r);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD3IVARBPROC) (GLenum target, const GLint *v);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD3SARBPROC) (GLenum target, GLshort s, GLshort t, GLshort r);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD3SVARBPROC) (GLenum target, const GLshort *v);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD4DARBPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD4DVARBPROC) (GLenum target, const GLdouble *v);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD4FARBPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD4FVARBPROC) (GLenum target, const GLfloat *v);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD4IARBPROC) (GLenum target, GLint s, GLint t, GLint r, GLint q);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD4IVARBPROC) (GLenum target, const GLint *v);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD4SARBPROC) (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD4SVARBPROC) (GLenum target, const GLshort *v);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glActiveTextureARB (GLenum texture);\nGLAPI void APIENTRY glClientActiveTextureARB (GLenum texture);\nGLAPI void APIENTRY glMultiTexCoord1dARB (GLenum target, GLdouble s);\nGLAPI void APIENTRY glMultiTexCoord1dvARB (GLenum target, const GLdouble *v);\nGLAPI void APIENTRY glMultiTexCoord1fARB (GLenum target, GLfloat s);\nGLAPI void APIENTRY glMultiTexCoord1fvARB (GLenum target, const GLfloat *v);\nGLAPI void APIENTRY glMultiTexCoord1iARB (GLenum target, GLint s);\nGLAPI void APIENTRY glMultiTexCoord1ivARB (GLenum target, const GLint *v);\nGLAPI void APIENTRY glMultiTexCoord1sARB (GLenum target, GLshort s);\nGLAPI void APIENTRY glMultiTexCoord1svARB (GLenum target, const GLshort *v);\nGLAPI void APIENTRY glMultiTexCoord2dARB (GLenum target, GLdouble s, GLdouble t);\nGLAPI void APIENTRY glMultiTexCoord2dvARB (GLenum target, const GLdouble *v);\nGLAPI void APIENTRY glMultiTexCoord2fARB (GLenum target, GLfloat s, GLfloat t);\nGLAPI void APIENTRY glMultiTexCoord2fvARB (GLenum target, const GLfloat *v);\nGLAPI void APIENTRY glMultiTexCoord2iARB (GLenum target, GLint s, GLint t);\nGLAPI void APIENTRY glMultiTexCoord2ivARB (GLenum target, const GLint *v);\nGLAPI void APIENTRY glMultiTexCoord2sARB (GLenum target, GLshort s, GLshort t);\nGLAPI void APIENTRY glMultiTexCoord2svARB (GLenum target, const GLshort *v);\nGLAPI void APIENTRY glMultiTexCoord3dARB (GLenum target, GLdouble s, GLdouble t, GLdouble r);\nGLAPI void APIENTRY glMultiTexCoord3dvARB (GLenum target, const GLdouble *v);\nGLAPI void APIENTRY glMultiTexCoord3fARB (GLenum target, GLfloat s, GLfloat t, GLfloat r);\nGLAPI void APIENTRY glMultiTexCoord3fvARB (GLenum target, const GLfloat *v);\nGLAPI void APIENTRY glMultiTexCoord3iARB (GLenum target, GLint s, GLint t, GLint r);\nGLAPI void APIENTRY glMultiTexCoord3ivARB (GLenum target, const GLint *v);\nGLAPI void APIENTRY glMultiTexCoord3sARB (GLenum target, GLshort s, GLshort t, GLshort r);\nGLAPI void APIENTRY glMultiTexCoord3svARB (GLenum target, const GLshort *v);\nGLAPI void APIENTRY glMultiTexCoord4dARB (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);\nGLAPI void APIENTRY glMultiTexCoord4dvARB (GLenum target, const GLdouble *v);\nGLAPI void APIENTRY glMultiTexCoord4fARB (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);\nGLAPI void APIENTRY glMultiTexCoord4fvARB (GLenum target, const GLfloat *v);\nGLAPI void APIENTRY glMultiTexCoord4iARB (GLenum target, GLint s, GLint t, GLint r, GLint q);\nGLAPI void APIENTRY glMultiTexCoord4ivARB (GLenum target, const GLint *v);\nGLAPI void APIENTRY glMultiTexCoord4sARB (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);\nGLAPI void APIENTRY glMultiTexCoord4svARB (GLenum target, const GLshort *v);\n#endif\n#endif /* GL_ARB_multitexture */\n\n#ifndef GL_ARB_occlusion_query\n#define GL_ARB_occlusion_query 1\n#define GL_QUERY_COUNTER_BITS_ARB         0x8864\n#define GL_CURRENT_QUERY_ARB              0x8865\n#define GL_QUERY_RESULT_ARB               0x8866\n#define GL_QUERY_RESULT_AVAILABLE_ARB     0x8867\n#define GL_SAMPLES_PASSED_ARB             0x8914\ntypedef void (APIENTRYP PFNGLGENQUERIESARBPROC) (GLsizei n, GLuint *ids);\ntypedef void (APIENTRYP PFNGLDELETEQUERIESARBPROC) (GLsizei n, const GLuint *ids);\ntypedef GLboolean (APIENTRYP PFNGLISQUERYARBPROC) (GLuint id);\ntypedef void (APIENTRYP PFNGLBEGINQUERYARBPROC) (GLenum target, GLuint id);\ntypedef void (APIENTRYP PFNGLENDQUERYARBPROC) (GLenum target);\ntypedef void (APIENTRYP PFNGLGETQUERYIVARBPROC) (GLenum target, GLenum pname, GLint *params);\ntypedef void (APIENTRYP PFNGLGETQUERYOBJECTIVARBPROC) (GLuint id, GLenum pname, GLint *params);\ntypedef void (APIENTRYP PFNGLGETQUERYOBJECTUIVARBPROC) (GLuint id, GLenum pname, GLuint *params);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glGenQueriesARB (GLsizei n, GLuint *ids);\nGLAPI void APIENTRY glDeleteQueriesARB (GLsizei n, const GLuint *ids);\nGLAPI GLboolean APIENTRY glIsQueryARB (GLuint id);\nGLAPI void APIENTRY glBeginQueryARB (GLenum target, GLuint id);\nGLAPI void APIENTRY glEndQueryARB (GLenum target);\nGLAPI void APIENTRY glGetQueryivARB (GLenum target, GLenum pname, GLint *params);\nGLAPI void APIENTRY glGetQueryObjectivARB (GLuint id, GLenum pname, GLint *params);\nGLAPI void APIENTRY glGetQueryObjectuivARB (GLuint id, GLenum pname, GLuint *params);\n#endif\n#endif /* GL_ARB_occlusion_query */\n\n#ifndef GL_ARB_occlusion_query2\n#define GL_ARB_occlusion_query2 1\n#endif /* GL_ARB_occlusion_query2 */\n\n#ifndef GL_ARB_pixel_buffer_object\n#define GL_ARB_pixel_buffer_object 1\n#define GL_PIXEL_PACK_BUFFER_ARB          0x88EB\n#define GL_PIXEL_UNPACK_BUFFER_ARB        0x88EC\n#define GL_PIXEL_PACK_BUFFER_BINDING_ARB  0x88ED\n#define GL_PIXEL_UNPACK_BUFFER_BINDING_ARB 0x88EF\n#endif /* GL_ARB_pixel_buffer_object */\n\n#ifndef GL_ARB_point_parameters\n#define GL_ARB_point_parameters 1\n#define GL_POINT_SIZE_MIN_ARB             0x8126\n#define GL_POINT_SIZE_MAX_ARB             0x8127\n#define GL_POINT_FADE_THRESHOLD_SIZE_ARB  0x8128\n#define GL_POINT_DISTANCE_ATTENUATION_ARB 0x8129\ntypedef void (APIENTRYP PFNGLPOINTPARAMETERFARBPROC) (GLenum pname, GLfloat param);\ntypedef void (APIENTRYP PFNGLPOINTPARAMETERFVARBPROC) (GLenum pname, const GLfloat *params);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glPointParameterfARB (GLenum pname, GLfloat param);\nGLAPI void APIENTRY glPointParameterfvARB (GLenum pname, const GLfloat *params);\n#endif\n#endif /* GL_ARB_point_parameters */\n\n#ifndef GL_ARB_point_sprite\n#define GL_ARB_point_sprite 1\n#define GL_POINT_SPRITE_ARB               0x8861\n#define GL_COORD_REPLACE_ARB              0x8862\n#endif /* GL_ARB_point_sprite */\n\n#ifndef GL_ARB_program_interface_query\n#define GL_ARB_program_interface_query 1\n#endif /* GL_ARB_program_interface_query */\n\n#ifndef GL_ARB_provoking_vertex\n#define GL_ARB_provoking_vertex 1\n#endif /* GL_ARB_provoking_vertex */\n\n#ifndef GL_ARB_query_buffer_object\n#define GL_ARB_query_buffer_object 1\n#endif /* GL_ARB_query_buffer_object */\n\n#ifndef GL_ARB_robust_buffer_access_behavior\n#define GL_ARB_robust_buffer_access_behavior 1\n#endif /* GL_ARB_robust_buffer_access_behavior */\n\n#ifndef GL_ARB_robustness\n#define GL_ARB_robustness 1\n#define GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB 0x00000004\n#define GL_LOSE_CONTEXT_ON_RESET_ARB      0x8252\n#define GL_GUILTY_CONTEXT_RESET_ARB       0x8253\n#define GL_INNOCENT_CONTEXT_RESET_ARB     0x8254\n#define GL_UNKNOWN_CONTEXT_RESET_ARB      0x8255\n#define GL_RESET_NOTIFICATION_STRATEGY_ARB 0x8256\n#define GL_NO_RESET_NOTIFICATION_ARB      0x8261\ntypedef GLenum (APIENTRYP PFNGLGETGRAPHICSRESETSTATUSARBPROC) (void);\ntypedef void (APIENTRYP PFNGLGETNTEXIMAGEARBPROC) (GLenum target, GLint level, GLenum format, GLenum type, GLsizei bufSize, void *img);\ntypedef void (APIENTRYP PFNGLREADNPIXELSARBPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data);\ntypedef void (APIENTRYP PFNGLGETNCOMPRESSEDTEXIMAGEARBPROC) (GLenum target, GLint lod, GLsizei bufSize, void *img);\ntypedef void (APIENTRYP PFNGLGETNUNIFORMFVARBPROC) (GLuint program, GLint location, GLsizei bufSize, GLfloat *params);\ntypedef void (APIENTRYP PFNGLGETNUNIFORMIVARBPROC) (GLuint program, GLint location, GLsizei bufSize, GLint *params);\ntypedef void (APIENTRYP PFNGLGETNUNIFORMUIVARBPROC) (GLuint program, GLint location, GLsizei bufSize, GLuint *params);\ntypedef void (APIENTRYP PFNGLGETNUNIFORMDVARBPROC) (GLuint program, GLint location, GLsizei bufSize, GLdouble *params);\ntypedef void (APIENTRYP PFNGLGETNMAPDVARBPROC) (GLenum target, GLenum query, GLsizei bufSize, GLdouble *v);\ntypedef void (APIENTRYP PFNGLGETNMAPFVARBPROC) (GLenum target, GLenum query, GLsizei bufSize, GLfloat *v);\ntypedef void (APIENTRYP PFNGLGETNMAPIVARBPROC) (GLenum target, GLenum query, GLsizei bufSize, GLint *v);\ntypedef void (APIENTRYP PFNGLGETNPIXELMAPFVARBPROC) (GLenum map, GLsizei bufSize, GLfloat *values);\ntypedef void (APIENTRYP PFNGLGETNPIXELMAPUIVARBPROC) (GLenum map, GLsizei bufSize, GLuint *values);\ntypedef void (APIENTRYP PFNGLGETNPIXELMAPUSVARBPROC) (GLenum map, GLsizei bufSize, GLushort *values);\ntypedef void (APIENTRYP PFNGLGETNPOLYGONSTIPPLEARBPROC) (GLsizei bufSize, GLubyte *pattern);\ntypedef void (APIENTRYP PFNGLGETNCOLORTABLEARBPROC) (GLenum target, GLenum format, GLenum type, GLsizei bufSize, void *table);\ntypedef void (APIENTRYP PFNGLGETNCONVOLUTIONFILTERARBPROC) (GLenum target, GLenum format, GLenum type, GLsizei bufSize, void *image);\ntypedef void (APIENTRYP PFNGLGETNSEPARABLEFILTERARBPROC) (GLenum target, GLenum format, GLenum type, GLsizei rowBufSize, void *row, GLsizei columnBufSize, void *column, void *span);\ntypedef void (APIENTRYP PFNGLGETNHISTOGRAMARBPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, void *values);\ntypedef void (APIENTRYP PFNGLGETNMINMAXARBPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, void *values);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI GLenum APIENTRY glGetGraphicsResetStatusARB (void);\nGLAPI void APIENTRY glGetnTexImageARB (GLenum target, GLint level, GLenum format, GLenum type, GLsizei bufSize, void *img);\nGLAPI void APIENTRY glReadnPixelsARB (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data);\nGLAPI void APIENTRY glGetnCompressedTexImageARB (GLenum target, GLint lod, GLsizei bufSize, void *img);\nGLAPI void APIENTRY glGetnUniformfvARB (GLuint program, GLint location, GLsizei bufSize, GLfloat *params);\nGLAPI void APIENTRY glGetnUniformivARB (GLuint program, GLint location, GLsizei bufSize, GLint *params);\nGLAPI void APIENTRY glGetnUniformuivARB (GLuint program, GLint location, GLsizei bufSize, GLuint *params);\nGLAPI void APIENTRY glGetnUniformdvARB (GLuint program, GLint location, GLsizei bufSize, GLdouble *params);\nGLAPI void APIENTRY glGetnMapdvARB (GLenum target, GLenum query, GLsizei bufSize, GLdouble *v);\nGLAPI void APIENTRY glGetnMapfvARB (GLenum target, GLenum query, GLsizei bufSize, GLfloat *v);\nGLAPI void APIENTRY glGetnMapivARB (GLenum target, GLenum query, GLsizei bufSize, GLint *v);\nGLAPI void APIENTRY glGetnPixelMapfvARB (GLenum map, GLsizei bufSize, GLfloat *values);\nGLAPI void APIENTRY glGetnPixelMapuivARB (GLenum map, GLsizei bufSize, GLuint *values);\nGLAPI void APIENTRY glGetnPixelMapusvARB (GLenum map, GLsizei bufSize, GLushort *values);\nGLAPI void APIENTRY glGetnPolygonStippleARB (GLsizei bufSize, GLubyte *pattern);\nGLAPI void APIENTRY glGetnColorTableARB (GLenum target, GLenum format, GLenum type, GLsizei bufSize, void *table);\nGLAPI void APIENTRY glGetnConvolutionFilterARB (GLenum target, GLenum format, GLenum type, GLsizei bufSize, void *image);\nGLAPI void APIENTRY glGetnSeparableFilterARB (GLenum target, GLenum format, GLenum type, GLsizei rowBufSize, void *row, GLsizei columnBufSize, void *column, void *span);\nGLAPI void APIENTRY glGetnHistogramARB (GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, void *values);\nGLAPI void APIENTRY glGetnMinmaxARB (GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, void *values);\n#endif\n#endif /* GL_ARB_robustness */\n\n#ifndef GL_ARB_robustness_isolation\n#define GL_ARB_robustness_isolation 1\n#endif /* GL_ARB_robustness_isolation */\n\n#ifndef GL_ARB_sample_shading\n#define GL_ARB_sample_shading 1\n#define GL_SAMPLE_SHADING_ARB             0x8C36\n#define GL_MIN_SAMPLE_SHADING_VALUE_ARB   0x8C37\ntypedef void (APIENTRYP PFNGLMINSAMPLESHADINGARBPROC) (GLfloat value);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glMinSampleShadingARB (GLfloat value);\n#endif\n#endif /* GL_ARB_sample_shading */\n\n#ifndef GL_ARB_sampler_objects\n#define GL_ARB_sampler_objects 1\n#endif /* GL_ARB_sampler_objects */\n\n#ifndef GL_ARB_seamless_cube_map\n#define GL_ARB_seamless_cube_map 1\n#endif /* GL_ARB_seamless_cube_map */\n\n#ifndef GL_ARB_seamless_cubemap_per_texture\n#define GL_ARB_seamless_cubemap_per_texture 1\n#endif /* GL_ARB_seamless_cubemap_per_texture */\n\n#ifndef GL_ARB_separate_shader_objects\n#define GL_ARB_separate_shader_objects 1\n#endif /* GL_ARB_separate_shader_objects */\n\n#ifndef GL_ARB_shader_atomic_counters\n#define GL_ARB_shader_atomic_counters 1\n#endif /* GL_ARB_shader_atomic_counters */\n\n#ifndef GL_ARB_shader_bit_encoding\n#define GL_ARB_shader_bit_encoding 1\n#endif /* GL_ARB_shader_bit_encoding */\n\n#ifndef GL_ARB_shader_draw_parameters\n#define GL_ARB_shader_draw_parameters 1\n#endif /* GL_ARB_shader_draw_parameters */\n\n#ifndef GL_ARB_shader_group_vote\n#define GL_ARB_shader_group_vote 1\n#endif /* GL_ARB_shader_group_vote */\n\n#ifndef GL_ARB_shader_image_load_store\n#define GL_ARB_shader_image_load_store 1\n#endif /* GL_ARB_shader_image_load_store */\n\n#ifndef GL_ARB_shader_image_size\n#define GL_ARB_shader_image_size 1\n#endif /* GL_ARB_shader_image_size */\n\n#ifndef GL_ARB_shader_objects\n#define GL_ARB_shader_objects 1\n#ifdef __APPLE__\ntypedef void *GLhandleARB;\n#else\ntypedef unsigned int GLhandleARB;\n#endif\ntypedef char GLcharARB;\n#define GL_PROGRAM_OBJECT_ARB             0x8B40\n#define GL_SHADER_OBJECT_ARB              0x8B48\n#define GL_OBJECT_TYPE_ARB                0x8B4E\n#define GL_OBJECT_SUBTYPE_ARB             0x8B4F\n#define GL_FLOAT_VEC2_ARB                 0x8B50\n#define GL_FLOAT_VEC3_ARB                 0x8B51\n#define GL_FLOAT_VEC4_ARB                 0x8B52\n#define GL_INT_VEC2_ARB                   0x8B53\n#define GL_INT_VEC3_ARB                   0x8B54\n#define GL_INT_VEC4_ARB                   0x8B55\n#define GL_BOOL_ARB                       0x8B56\n#define GL_BOOL_VEC2_ARB                  0x8B57\n#define GL_BOOL_VEC3_ARB                  0x8B58\n#define GL_BOOL_VEC4_ARB                  0x8B59\n#define GL_FLOAT_MAT2_ARB                 0x8B5A\n#define GL_FLOAT_MAT3_ARB                 0x8B5B\n#define GL_FLOAT_MAT4_ARB                 0x8B5C\n#define GL_SAMPLER_1D_ARB                 0x8B5D\n#define GL_SAMPLER_2D_ARB                 0x8B5E\n#define GL_SAMPLER_3D_ARB                 0x8B5F\n#define GL_SAMPLER_CUBE_ARB               0x8B60\n#define GL_SAMPLER_1D_SHADOW_ARB          0x8B61\n#define GL_SAMPLER_2D_SHADOW_ARB          0x8B62\n#define GL_SAMPLER_2D_RECT_ARB            0x8B63\n#define GL_SAMPLER_2D_RECT_SHADOW_ARB     0x8B64\n#define GL_OBJECT_DELETE_STATUS_ARB       0x8B80\n#define GL_OBJECT_COMPILE_STATUS_ARB      0x8B81\n#define GL_OBJECT_LINK_STATUS_ARB         0x8B82\n#define GL_OBJECT_VALIDATE_STATUS_ARB     0x8B83\n#define GL_OBJECT_INFO_LOG_LENGTH_ARB     0x8B84\n#define GL_OBJECT_ATTACHED_OBJECTS_ARB    0x8B85\n#define GL_OBJECT_ACTIVE_UNIFORMS_ARB     0x8B86\n#define GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB 0x8B87\n#define GL_OBJECT_SHADER_SOURCE_LENGTH_ARB 0x8B88\ntypedef void (APIENTRYP PFNGLDELETEOBJECTARBPROC) (GLhandleARB obj);\ntypedef GLhandleARB (APIENTRYP PFNGLGETHANDLEARBPROC) (GLenum pname);\ntypedef void (APIENTRYP PFNGLDETACHOBJECTARBPROC) (GLhandleARB containerObj, GLhandleARB attachedObj);\ntypedef GLhandleARB (APIENTRYP PFNGLCREATESHADEROBJECTARBPROC) (GLenum shaderType);\ntypedef void (APIENTRYP PFNGLSHADERSOURCEARBPROC) (GLhandleARB shaderObj, GLsizei count, const GLcharARB **string, const GLint *length);\ntypedef void (APIENTRYP PFNGLCOMPILESHADERARBPROC) (GLhandleARB shaderObj);\ntypedef GLhandleARB (APIENTRYP PFNGLCREATEPROGRAMOBJECTARBPROC) (void);\ntypedef void (APIENTRYP PFNGLATTACHOBJECTARBPROC) (GLhandleARB containerObj, GLhandleARB obj);\ntypedef void (APIENTRYP PFNGLLINKPROGRAMARBPROC) (GLhandleARB programObj);\ntypedef void (APIENTRYP PFNGLUSEPROGRAMOBJECTARBPROC) (GLhandleARB programObj);\ntypedef void (APIENTRYP PFNGLVALIDATEPROGRAMARBPROC) (GLhandleARB programObj);\ntypedef void (APIENTRYP PFNGLUNIFORM1FARBPROC) (GLint location, GLfloat v0);\ntypedef void (APIENTRYP PFNGLUNIFORM2FARBPROC) (GLint location, GLfloat v0, GLfloat v1);\ntypedef void (APIENTRYP PFNGLUNIFORM3FARBPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2);\ntypedef void (APIENTRYP PFNGLUNIFORM4FARBPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);\ntypedef void (APIENTRYP PFNGLUNIFORM1IARBPROC) (GLint location, GLint v0);\ntypedef void (APIENTRYP PFNGLUNIFORM2IARBPROC) (GLint location, GLint v0, GLint v1);\ntypedef void (APIENTRYP PFNGLUNIFORM3IARBPROC) (GLint location, GLint v0, GLint v1, GLint v2);\ntypedef void (APIENTRYP PFNGLUNIFORM4IARBPROC) (GLint location, GLint v0, GLint v1, GLint v2, GLint v3);\ntypedef void (APIENTRYP PFNGLUNIFORM1FVARBPROC) (GLint location, GLsizei count, const GLfloat *value);\ntypedef void (APIENTRYP PFNGLUNIFORM2FVARBPROC) (GLint location, GLsizei count, const GLfloat *value);\ntypedef void (APIENTRYP PFNGLUNIFORM3FVARBPROC) (GLint location, GLsizei count, const GLfloat *value);\ntypedef void (APIENTRYP PFNGLUNIFORM4FVARBPROC) (GLint location, GLsizei count, const GLfloat *value);\ntypedef void (APIENTRYP PFNGLUNIFORM1IVARBPROC) (GLint location, GLsizei count, const GLint *value);\ntypedef void (APIENTRYP PFNGLUNIFORM2IVARBPROC) (GLint location, GLsizei count, const GLint *value);\ntypedef void (APIENTRYP PFNGLUNIFORM3IVARBPROC) (GLint location, GLsizei count, const GLint *value);\ntypedef void (APIENTRYP PFNGLUNIFORM4IVARBPROC) (GLint location, GLsizei count, const GLint *value);\ntypedef void (APIENTRYP PFNGLUNIFORMMATRIX2FVARBPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (APIENTRYP PFNGLUNIFORMMATRIX3FVARBPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (APIENTRYP PFNGLUNIFORMMATRIX4FVARBPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (APIENTRYP PFNGLGETOBJECTPARAMETERFVARBPROC) (GLhandleARB obj, GLenum pname, GLfloat *params);\ntypedef void (APIENTRYP PFNGLGETOBJECTPARAMETERIVARBPROC) (GLhandleARB obj, GLenum pname, GLint *params);\ntypedef void (APIENTRYP PFNGLGETINFOLOGARBPROC) (GLhandleARB obj, GLsizei maxLength, GLsizei *length, GLcharARB *infoLog);\ntypedef void (APIENTRYP PFNGLGETATTACHEDOBJECTSARBPROC) (GLhandleARB containerObj, GLsizei maxCount, GLsizei *count, GLhandleARB *obj);\ntypedef GLint (APIENTRYP PFNGLGETUNIFORMLOCATIONARBPROC) (GLhandleARB programObj, const GLcharARB *name);\ntypedef void (APIENTRYP PFNGLGETACTIVEUNIFORMARBPROC) (GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei *length, GLint *size, GLenum *type, GLcharARB *name);\ntypedef void (APIENTRYP PFNGLGETUNIFORMFVARBPROC) (GLhandleARB programObj, GLint location, GLfloat *params);\ntypedef void (APIENTRYP PFNGLGETUNIFORMIVARBPROC) (GLhandleARB programObj, GLint location, GLint *params);\ntypedef void (APIENTRYP PFNGLGETSHADERSOURCEARBPROC) (GLhandleARB obj, GLsizei maxLength, GLsizei *length, GLcharARB *source);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glDeleteObjectARB (GLhandleARB obj);\nGLAPI GLhandleARB APIENTRY glGetHandleARB (GLenum pname);\nGLAPI void APIENTRY glDetachObjectARB (GLhandleARB containerObj, GLhandleARB attachedObj);\nGLAPI GLhandleARB APIENTRY glCreateShaderObjectARB (GLenum shaderType);\nGLAPI void APIENTRY glShaderSourceARB (GLhandleARB shaderObj, GLsizei count, const GLcharARB **string, const GLint *length);\nGLAPI void APIENTRY glCompileShaderARB (GLhandleARB shaderObj);\nGLAPI GLhandleARB APIENTRY glCreateProgramObjectARB (void);\nGLAPI void APIENTRY glAttachObjectARB (GLhandleARB containerObj, GLhandleARB obj);\nGLAPI void APIENTRY glLinkProgramARB (GLhandleARB programObj);\nGLAPI void APIENTRY glUseProgramObjectARB (GLhandleARB programObj);\nGLAPI void APIENTRY glValidateProgramARB (GLhandleARB programObj);\nGLAPI void APIENTRY glUniform1fARB (GLint location, GLfloat v0);\nGLAPI void APIENTRY glUniform2fARB (GLint location, GLfloat v0, GLfloat v1);\nGLAPI void APIENTRY glUniform3fARB (GLint location, GLfloat v0, GLfloat v1, GLfloat v2);\nGLAPI void APIENTRY glUniform4fARB (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);\nGLAPI void APIENTRY glUniform1iARB (GLint location, GLint v0);\nGLAPI void APIENTRY glUniform2iARB (GLint location, GLint v0, GLint v1);\nGLAPI void APIENTRY glUniform3iARB (GLint location, GLint v0, GLint v1, GLint v2);\nGLAPI void APIENTRY glUniform4iARB (GLint location, GLint v0, GLint v1, GLint v2, GLint v3);\nGLAPI void APIENTRY glUniform1fvARB (GLint location, GLsizei count, const GLfloat *value);\nGLAPI void APIENTRY glUniform2fvARB (GLint location, GLsizei count, const GLfloat *value);\nGLAPI void APIENTRY glUniform3fvARB (GLint location, GLsizei count, const GLfloat *value);\nGLAPI void APIENTRY glUniform4fvARB (GLint location, GLsizei count, const GLfloat *value);\nGLAPI void APIENTRY glUniform1ivARB (GLint location, GLsizei count, const GLint *value);\nGLAPI void APIENTRY glUniform2ivARB (GLint location, GLsizei count, const GLint *value);\nGLAPI void APIENTRY glUniform3ivARB (GLint location, GLsizei count, const GLint *value);\nGLAPI void APIENTRY glUniform4ivARB (GLint location, GLsizei count, const GLint *value);\nGLAPI void APIENTRY glUniformMatrix2fvARB (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nGLAPI void APIENTRY glUniformMatrix3fvARB (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nGLAPI void APIENTRY glUniformMatrix4fvARB (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nGLAPI void APIENTRY glGetObjectParameterfvARB (GLhandleARB obj, GLenum pname, GLfloat *params);\nGLAPI void APIENTRY glGetObjectParameterivARB (GLhandleARB obj, GLenum pname, GLint *params);\nGLAPI void APIENTRY glGetInfoLogARB (GLhandleARB obj, GLsizei maxLength, GLsizei *length, GLcharARB *infoLog);\nGLAPI void APIENTRY glGetAttachedObjectsARB (GLhandleARB containerObj, GLsizei maxCount, GLsizei *count, GLhandleARB *obj);\nGLAPI GLint APIENTRY glGetUniformLocationARB (GLhandleARB programObj, const GLcharARB *name);\nGLAPI void APIENTRY glGetActiveUniformARB (GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei *length, GLint *size, GLenum *type, GLcharARB *name);\nGLAPI void APIENTRY glGetUniformfvARB (GLhandleARB programObj, GLint location, GLfloat *params);\nGLAPI void APIENTRY glGetUniformivARB (GLhandleARB programObj, GLint location, GLint *params);\nGLAPI void APIENTRY glGetShaderSourceARB (GLhandleARB obj, GLsizei maxLength, GLsizei *length, GLcharARB *source);\n#endif\n#endif /* GL_ARB_shader_objects */\n\n#ifndef GL_ARB_shader_precision\n#define GL_ARB_shader_precision 1\n#endif /* GL_ARB_shader_precision */\n\n#ifndef GL_ARB_shader_stencil_export\n#define GL_ARB_shader_stencil_export 1\n#endif /* GL_ARB_shader_stencil_export */\n\n#ifndef GL_ARB_shader_storage_buffer_object\n#define GL_ARB_shader_storage_buffer_object 1\n#endif /* GL_ARB_shader_storage_buffer_object */\n\n#ifndef GL_ARB_shader_subroutine\n#define GL_ARB_shader_subroutine 1\n#endif /* GL_ARB_shader_subroutine */\n\n#ifndef GL_ARB_shader_texture_lod\n#define GL_ARB_shader_texture_lod 1\n#endif /* GL_ARB_shader_texture_lod */\n\n#ifndef GL_ARB_shading_language_100\n#define GL_ARB_shading_language_100 1\n#define GL_SHADING_LANGUAGE_VERSION_ARB   0x8B8C\n#endif /* GL_ARB_shading_language_100 */\n\n#ifndef GL_ARB_shading_language_420pack\n#define GL_ARB_shading_language_420pack 1\n#endif /* GL_ARB_shading_language_420pack */\n\n#ifndef GL_ARB_shading_language_include\n#define GL_ARB_shading_language_include 1\n#define GL_SHADER_INCLUDE_ARB             0x8DAE\n#define GL_NAMED_STRING_LENGTH_ARB        0x8DE9\n#define GL_NAMED_STRING_TYPE_ARB          0x8DEA\ntypedef void (APIENTRYP PFNGLNAMEDSTRINGARBPROC) (GLenum type, GLint namelen, const GLchar *name, GLint stringlen, const GLchar *string);\ntypedef void (APIENTRYP PFNGLDELETENAMEDSTRINGARBPROC) (GLint namelen, const GLchar *name);\ntypedef void (APIENTRYP PFNGLCOMPILESHADERINCLUDEARBPROC) (GLuint shader, GLsizei count, const GLchar *const*path, const GLint *length);\ntypedef GLboolean (APIENTRYP PFNGLISNAMEDSTRINGARBPROC) (GLint namelen, const GLchar *name);\ntypedef void (APIENTRYP PFNGLGETNAMEDSTRINGARBPROC) (GLint namelen, const GLchar *name, GLsizei bufSize, GLint *stringlen, GLchar *string);\ntypedef void (APIENTRYP PFNGLGETNAMEDSTRINGIVARBPROC) (GLint namelen, const GLchar *name, GLenum pname, GLint *params);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glNamedStringARB (GLenum type, GLint namelen, const GLchar *name, GLint stringlen, const GLchar *string);\nGLAPI void APIENTRY glDeleteNamedStringARB (GLint namelen, const GLchar *name);\nGLAPI void APIENTRY glCompileShaderIncludeARB (GLuint shader, GLsizei count, const GLchar *const*path, const GLint *length);\nGLAPI GLboolean APIENTRY glIsNamedStringARB (GLint namelen, const GLchar *name);\nGLAPI void APIENTRY glGetNamedStringARB (GLint namelen, const GLchar *name, GLsizei bufSize, GLint *stringlen, GLchar *string);\nGLAPI void APIENTRY glGetNamedStringivARB (GLint namelen, const GLchar *name, GLenum pname, GLint *params);\n#endif\n#endif /* GL_ARB_shading_language_include */\n\n#ifndef GL_ARB_shading_language_packing\n#define GL_ARB_shading_language_packing 1\n#endif /* GL_ARB_shading_language_packing */\n\n#ifndef GL_ARB_shadow\n#define GL_ARB_shadow 1\n#define GL_TEXTURE_COMPARE_MODE_ARB       0x884C\n#define GL_TEXTURE_COMPARE_FUNC_ARB       0x884D\n#define GL_COMPARE_R_TO_TEXTURE_ARB       0x884E\n#endif /* GL_ARB_shadow */\n\n#ifndef GL_ARB_shadow_ambient\n#define GL_ARB_shadow_ambient 1\n#define GL_TEXTURE_COMPARE_FAIL_VALUE_ARB 0x80BF\n#endif /* GL_ARB_shadow_ambient */\n\n#ifndef GL_ARB_sparse_texture\n#define GL_ARB_sparse_texture 1\n#define GL_TEXTURE_SPARSE_ARB             0x91A6\n#define GL_VIRTUAL_PAGE_SIZE_INDEX_ARB    0x91A7\n#define GL_MIN_SPARSE_LEVEL_ARB           0x919B\n#define GL_NUM_VIRTUAL_PAGE_SIZES_ARB     0x91A8\n#define GL_VIRTUAL_PAGE_SIZE_X_ARB        0x9195\n#define GL_VIRTUAL_PAGE_SIZE_Y_ARB        0x9196\n#define GL_VIRTUAL_PAGE_SIZE_Z_ARB        0x9197\n#define GL_MAX_SPARSE_TEXTURE_SIZE_ARB    0x9198\n#define GL_MAX_SPARSE_3D_TEXTURE_SIZE_ARB 0x9199\n#define GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS_ARB 0x919A\n#define GL_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_ARB 0x91A9\ntypedef void (APIENTRYP PFNGLTEXPAGECOMMITMENTARBPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean resident);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glTexPageCommitmentARB (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean resident);\n#endif\n#endif /* GL_ARB_sparse_texture */\n\n#ifndef GL_ARB_stencil_texturing\n#define GL_ARB_stencil_texturing 1\n#endif /* GL_ARB_stencil_texturing */\n\n#ifndef GL_ARB_sync\n#define GL_ARB_sync 1\n#endif /* GL_ARB_sync */\n\n#ifndef GL_ARB_tessellation_shader\n#define GL_ARB_tessellation_shader 1\n#endif /* GL_ARB_tessellation_shader */\n\n#ifndef GL_ARB_texture_border_clamp\n#define GL_ARB_texture_border_clamp 1\n#define GL_CLAMP_TO_BORDER_ARB            0x812D\n#endif /* GL_ARB_texture_border_clamp */\n\n#ifndef GL_ARB_texture_buffer_object\n#define GL_ARB_texture_buffer_object 1\n#define GL_TEXTURE_BUFFER_ARB             0x8C2A\n#define GL_MAX_TEXTURE_BUFFER_SIZE_ARB    0x8C2B\n#define GL_TEXTURE_BINDING_BUFFER_ARB     0x8C2C\n#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING_ARB 0x8C2D\n#define GL_TEXTURE_BUFFER_FORMAT_ARB      0x8C2E\ntypedef void (APIENTRYP PFNGLTEXBUFFERARBPROC) (GLenum target, GLenum internalformat, GLuint buffer);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glTexBufferARB (GLenum target, GLenum internalformat, GLuint buffer);\n#endif\n#endif /* GL_ARB_texture_buffer_object */\n\n#ifndef GL_ARB_texture_buffer_object_rgb32\n#define GL_ARB_texture_buffer_object_rgb32 1\n#endif /* GL_ARB_texture_buffer_object_rgb32 */\n\n#ifndef GL_ARB_texture_buffer_range\n#define GL_ARB_texture_buffer_range 1\n#endif /* GL_ARB_texture_buffer_range */\n\n#ifndef GL_ARB_texture_compression\n#define GL_ARB_texture_compression 1\n#define GL_COMPRESSED_ALPHA_ARB           0x84E9\n#define GL_COMPRESSED_LUMINANCE_ARB       0x84EA\n#define GL_COMPRESSED_LUMINANCE_ALPHA_ARB 0x84EB\n#define GL_COMPRESSED_INTENSITY_ARB       0x84EC\n#define GL_COMPRESSED_RGB_ARB             0x84ED\n#define GL_COMPRESSED_RGBA_ARB            0x84EE\n#define GL_TEXTURE_COMPRESSION_HINT_ARB   0x84EF\n#define GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB 0x86A0\n#define GL_TEXTURE_COMPRESSED_ARB         0x86A1\n#define GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB 0x86A2\n#define GL_COMPRESSED_TEXTURE_FORMATS_ARB 0x86A3\ntypedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DARBPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data);\ntypedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE2DARBPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data);\ntypedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE1DARBPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void *data);\ntypedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data);\ntypedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data);\ntypedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *data);\ntypedef void (APIENTRYP PFNGLGETCOMPRESSEDTEXIMAGEARBPROC) (GLenum target, GLint level, void *img);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glCompressedTexImage3DARB (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data);\nGLAPI void APIENTRY glCompressedTexImage2DARB (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data);\nGLAPI void APIENTRY glCompressedTexImage1DARB (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void *data);\nGLAPI void APIENTRY glCompressedTexSubImage3DARB (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data);\nGLAPI void APIENTRY glCompressedTexSubImage2DARB (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data);\nGLAPI void APIENTRY glCompressedTexSubImage1DARB (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *data);\nGLAPI void APIENTRY glGetCompressedTexImageARB (GLenum target, GLint level, void *img);\n#endif\n#endif /* GL_ARB_texture_compression */\n\n#ifndef GL_ARB_texture_compression_bptc\n#define GL_ARB_texture_compression_bptc 1\n#define GL_COMPRESSED_RGBA_BPTC_UNORM_ARB 0x8E8C\n#define GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB 0x8E8D\n#define GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB 0x8E8E\n#define GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB 0x8E8F\n#endif /* GL_ARB_texture_compression_bptc */\n\n#ifndef GL_ARB_texture_compression_rgtc\n#define GL_ARB_texture_compression_rgtc 1\n#endif /* GL_ARB_texture_compression_rgtc */\n\n#ifndef GL_ARB_texture_cube_map\n#define GL_ARB_texture_cube_map 1\n#define GL_NORMAL_MAP_ARB                 0x8511\n#define GL_REFLECTION_MAP_ARB             0x8512\n#define GL_TEXTURE_CUBE_MAP_ARB           0x8513\n#define GL_TEXTURE_BINDING_CUBE_MAP_ARB   0x8514\n#define GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB 0x8515\n#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB 0x8516\n#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB 0x8517\n#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB 0x8518\n#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB 0x8519\n#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB 0x851A\n#define GL_PROXY_TEXTURE_CUBE_MAP_ARB     0x851B\n#define GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB  0x851C\n#endif /* GL_ARB_texture_cube_map */\n\n#ifndef GL_ARB_texture_cube_map_array\n#define GL_ARB_texture_cube_map_array 1\n#define GL_TEXTURE_CUBE_MAP_ARRAY_ARB     0x9009\n#define GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_ARB 0x900A\n#define GL_PROXY_TEXTURE_CUBE_MAP_ARRAY_ARB 0x900B\n#define GL_SAMPLER_CUBE_MAP_ARRAY_ARB     0x900C\n#define GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_ARB 0x900D\n#define GL_INT_SAMPLER_CUBE_MAP_ARRAY_ARB 0x900E\n#define GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_ARB 0x900F\n#endif /* GL_ARB_texture_cube_map_array */\n\n#ifndef GL_ARB_texture_env_add\n#define GL_ARB_texture_env_add 1\n#endif /* GL_ARB_texture_env_add */\n\n#ifndef GL_ARB_texture_env_combine\n#define GL_ARB_texture_env_combine 1\n#define GL_COMBINE_ARB                    0x8570\n#define GL_COMBINE_RGB_ARB                0x8571\n#define GL_COMBINE_ALPHA_ARB              0x8572\n#define GL_SOURCE0_RGB_ARB                0x8580\n#define GL_SOURCE1_RGB_ARB                0x8581\n#define GL_SOURCE2_RGB_ARB                0x8582\n#define GL_SOURCE0_ALPHA_ARB              0x8588\n#define GL_SOURCE1_ALPHA_ARB              0x8589\n#define GL_SOURCE2_ALPHA_ARB              0x858A\n#define GL_OPERAND0_RGB_ARB               0x8590\n#define GL_OPERAND1_RGB_ARB               0x8591\n#define GL_OPERAND2_RGB_ARB               0x8592\n#define GL_OPERAND0_ALPHA_ARB             0x8598\n#define GL_OPERAND1_ALPHA_ARB             0x8599\n#define GL_OPERAND2_ALPHA_ARB             0x859A\n#define GL_RGB_SCALE_ARB                  0x8573\n#define GL_ADD_SIGNED_ARB                 0x8574\n#define GL_INTERPOLATE_ARB                0x8575\n#define GL_SUBTRACT_ARB                   0x84E7\n#define GL_CONSTANT_ARB                   0x8576\n#define GL_PRIMARY_COLOR_ARB              0x8577\n#define GL_PREVIOUS_ARB                   0x8578\n#endif /* GL_ARB_texture_env_combine */\n\n#ifndef GL_ARB_texture_env_crossbar\n#define GL_ARB_texture_env_crossbar 1\n#endif /* GL_ARB_texture_env_crossbar */\n\n#ifndef GL_ARB_texture_env_dot3\n#define GL_ARB_texture_env_dot3 1\n#define GL_DOT3_RGB_ARB                   0x86AE\n#define GL_DOT3_RGBA_ARB                  0x86AF\n#endif /* GL_ARB_texture_env_dot3 */\n\n#ifndef GL_ARB_texture_float\n#define GL_ARB_texture_float 1\n#define GL_TEXTURE_RED_TYPE_ARB           0x8C10\n#define GL_TEXTURE_GREEN_TYPE_ARB         0x8C11\n#define GL_TEXTURE_BLUE_TYPE_ARB          0x8C12\n#define GL_TEXTURE_ALPHA_TYPE_ARB         0x8C13\n#define GL_TEXTURE_LUMINANCE_TYPE_ARB     0x8C14\n#define GL_TEXTURE_INTENSITY_TYPE_ARB     0x8C15\n#define GL_TEXTURE_DEPTH_TYPE_ARB         0x8C16\n#define GL_UNSIGNED_NORMALIZED_ARB        0x8C17\n#define GL_RGBA32F_ARB                    0x8814\n#define GL_RGB32F_ARB                     0x8815\n#define GL_ALPHA32F_ARB                   0x8816\n#define GL_INTENSITY32F_ARB               0x8817\n#define GL_LUMINANCE32F_ARB               0x8818\n#define GL_LUMINANCE_ALPHA32F_ARB         0x8819\n#define GL_RGBA16F_ARB                    0x881A\n#define GL_RGB16F_ARB                     0x881B\n#define GL_ALPHA16F_ARB                   0x881C\n#define GL_INTENSITY16F_ARB               0x881D\n#define GL_LUMINANCE16F_ARB               0x881E\n#define GL_LUMINANCE_ALPHA16F_ARB         0x881F\n#endif /* GL_ARB_texture_float */\n\n#ifndef GL_ARB_texture_gather\n#define GL_ARB_texture_gather 1\n#define GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_ARB 0x8E5E\n#define GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_ARB 0x8E5F\n#define GL_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS_ARB 0x8F9F\n#endif /* GL_ARB_texture_gather */\n\n#ifndef GL_ARB_texture_mirror_clamp_to_edge\n#define GL_ARB_texture_mirror_clamp_to_edge 1\n#endif /* GL_ARB_texture_mirror_clamp_to_edge */\n\n#ifndef GL_ARB_texture_mirrored_repeat\n#define GL_ARB_texture_mirrored_repeat 1\n#define GL_MIRRORED_REPEAT_ARB            0x8370\n#endif /* GL_ARB_texture_mirrored_repeat */\n\n#ifndef GL_ARB_texture_multisample\n#define GL_ARB_texture_multisample 1\n#endif /* GL_ARB_texture_multisample */\n\n#ifndef GL_ARB_texture_non_power_of_two\n#define GL_ARB_texture_non_power_of_two 1\n#endif /* GL_ARB_texture_non_power_of_two */\n\n#ifndef GL_ARB_texture_query_levels\n#define GL_ARB_texture_query_levels 1\n#endif /* GL_ARB_texture_query_levels */\n\n#ifndef GL_ARB_texture_query_lod\n#define GL_ARB_texture_query_lod 1\n#endif /* GL_ARB_texture_query_lod */\n\n#ifndef GL_ARB_texture_rectangle\n#define GL_ARB_texture_rectangle 1\n#define GL_TEXTURE_RECTANGLE_ARB          0x84F5\n#define GL_TEXTURE_BINDING_RECTANGLE_ARB  0x84F6\n#define GL_PROXY_TEXTURE_RECTANGLE_ARB    0x84F7\n#define GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB 0x84F8\n#endif /* GL_ARB_texture_rectangle */\n\n#ifndef GL_ARB_texture_rg\n#define GL_ARB_texture_rg 1\n#endif /* GL_ARB_texture_rg */\n\n#ifndef GL_ARB_texture_rgb10_a2ui\n#define GL_ARB_texture_rgb10_a2ui 1\n#endif /* GL_ARB_texture_rgb10_a2ui */\n\n#ifndef GL_ARB_texture_stencil8\n#define GL_ARB_texture_stencil8 1\n#endif /* GL_ARB_texture_stencil8 */\n\n#ifndef GL_ARB_texture_storage\n#define GL_ARB_texture_storage 1\n#endif /* GL_ARB_texture_storage */\n\n#ifndef GL_ARB_texture_storage_multisample\n#define GL_ARB_texture_storage_multisample 1\n#endif /* GL_ARB_texture_storage_multisample */\n\n#ifndef GL_ARB_texture_swizzle\n#define GL_ARB_texture_swizzle 1\n#endif /* GL_ARB_texture_swizzle */\n\n#ifndef GL_ARB_texture_view\n#define GL_ARB_texture_view 1\n#endif /* GL_ARB_texture_view */\n\n#ifndef GL_ARB_timer_query\n#define GL_ARB_timer_query 1\n#endif /* GL_ARB_timer_query */\n\n#ifndef GL_ARB_transform_feedback2\n#define GL_ARB_transform_feedback2 1\n#define GL_TRANSFORM_FEEDBACK_PAUSED      0x8E23\n#define GL_TRANSFORM_FEEDBACK_ACTIVE      0x8E24\n#endif /* GL_ARB_transform_feedback2 */\n\n#ifndef GL_ARB_transform_feedback3\n#define GL_ARB_transform_feedback3 1\n#endif /* GL_ARB_transform_feedback3 */\n\n#ifndef GL_ARB_transform_feedback_instanced\n#define GL_ARB_transform_feedback_instanced 1\n#endif /* GL_ARB_transform_feedback_instanced */\n\n#ifndef GL_ARB_transpose_matrix\n#define GL_ARB_transpose_matrix 1\n#define GL_TRANSPOSE_MODELVIEW_MATRIX_ARB 0x84E3\n#define GL_TRANSPOSE_PROJECTION_MATRIX_ARB 0x84E4\n#define GL_TRANSPOSE_TEXTURE_MATRIX_ARB   0x84E5\n#define GL_TRANSPOSE_COLOR_MATRIX_ARB     0x84E6\ntypedef void (APIENTRYP PFNGLLOADTRANSPOSEMATRIXFARBPROC) (const GLfloat *m);\ntypedef void (APIENTRYP PFNGLLOADTRANSPOSEMATRIXDARBPROC) (const GLdouble *m);\ntypedef void (APIENTRYP PFNGLMULTTRANSPOSEMATRIXFARBPROC) (const GLfloat *m);\ntypedef void (APIENTRYP PFNGLMULTTRANSPOSEMATRIXDARBPROC) (const GLdouble *m);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glLoadTransposeMatrixfARB (const GLfloat *m);\nGLAPI void APIENTRY glLoadTransposeMatrixdARB (const GLdouble *m);\nGLAPI void APIENTRY glMultTransposeMatrixfARB (const GLfloat *m);\nGLAPI void APIENTRY glMultTransposeMatrixdARB (const GLdouble *m);\n#endif\n#endif /* GL_ARB_transpose_matrix */\n\n#ifndef GL_ARB_uniform_buffer_object\n#define GL_ARB_uniform_buffer_object 1\n#define GL_MAX_GEOMETRY_UNIFORM_BLOCKS    0x8A2C\n#define GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS 0x8A32\n#define GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER 0x8A45\n#endif /* GL_ARB_uniform_buffer_object */\n\n#ifndef GL_ARB_vertex_array_bgra\n#define GL_ARB_vertex_array_bgra 1\n#endif /* GL_ARB_vertex_array_bgra */\n\n#ifndef GL_ARB_vertex_array_object\n#define GL_ARB_vertex_array_object 1\n#endif /* GL_ARB_vertex_array_object */\n\n#ifndef GL_ARB_vertex_attrib_64bit\n#define GL_ARB_vertex_attrib_64bit 1\n#endif /* GL_ARB_vertex_attrib_64bit */\n\n#ifndef GL_ARB_vertex_attrib_binding\n#define GL_ARB_vertex_attrib_binding 1\n#endif /* GL_ARB_vertex_attrib_binding */\n\n#ifndef GL_ARB_vertex_blend\n#define GL_ARB_vertex_blend 1\n#define GL_MAX_VERTEX_UNITS_ARB           0x86A4\n#define GL_ACTIVE_VERTEX_UNITS_ARB        0x86A5\n#define GL_WEIGHT_SUM_UNITY_ARB           0x86A6\n#define GL_VERTEX_BLEND_ARB               0x86A7\n#define GL_CURRENT_WEIGHT_ARB             0x86A8\n#define GL_WEIGHT_ARRAY_TYPE_ARB          0x86A9\n#define GL_WEIGHT_ARRAY_STRIDE_ARB        0x86AA\n#define GL_WEIGHT_ARRAY_SIZE_ARB          0x86AB\n#define GL_WEIGHT_ARRAY_POINTER_ARB       0x86AC\n#define GL_WEIGHT_ARRAY_ARB               0x86AD\n#define GL_MODELVIEW0_ARB                 0x1700\n#define GL_MODELVIEW1_ARB                 0x850A\n#define GL_MODELVIEW2_ARB                 0x8722\n#define GL_MODELVIEW3_ARB                 0x8723\n#define GL_MODELVIEW4_ARB                 0x8724\n#define GL_MODELVIEW5_ARB                 0x8725\n#define GL_MODELVIEW6_ARB                 0x8726\n#define GL_MODELVIEW7_ARB                 0x8727\n#define GL_MODELVIEW8_ARB                 0x8728\n#define GL_MODELVIEW9_ARB                 0x8729\n#define GL_MODELVIEW10_ARB                0x872A\n#define GL_MODELVIEW11_ARB                0x872B\n#define GL_MODELVIEW12_ARB                0x872C\n#define GL_MODELVIEW13_ARB                0x872D\n#define GL_MODELVIEW14_ARB                0x872E\n#define GL_MODELVIEW15_ARB                0x872F\n#define GL_MODELVIEW16_ARB                0x8730\n#define GL_MODELVIEW17_ARB                0x8731\n#define GL_MODELVIEW18_ARB                0x8732\n#define GL_MODELVIEW19_ARB                0x8733\n#define GL_MODELVIEW20_ARB                0x8734\n#define GL_MODELVIEW21_ARB                0x8735\n#define GL_MODELVIEW22_ARB                0x8736\n#define GL_MODELVIEW23_ARB                0x8737\n#define GL_MODELVIEW24_ARB                0x8738\n#define GL_MODELVIEW25_ARB                0x8739\n#define GL_MODELVIEW26_ARB                0x873A\n#define GL_MODELVIEW27_ARB                0x873B\n#define GL_MODELVIEW28_ARB                0x873C\n#define GL_MODELVIEW29_ARB                0x873D\n#define GL_MODELVIEW30_ARB                0x873E\n#define GL_MODELVIEW31_ARB                0x873F\ntypedef void (APIENTRYP PFNGLWEIGHTBVARBPROC) (GLint size, const GLbyte *weights);\ntypedef void (APIENTRYP PFNGLWEIGHTSVARBPROC) (GLint size, const GLshort *weights);\ntypedef void (APIENTRYP PFNGLWEIGHTIVARBPROC) (GLint size, const GLint *weights);\ntypedef void (APIENTRYP PFNGLWEIGHTFVARBPROC) (GLint size, const GLfloat *weights);\ntypedef void (APIENTRYP PFNGLWEIGHTDVARBPROC) (GLint size, const GLdouble *weights);\ntypedef void (APIENTRYP PFNGLWEIGHTUBVARBPROC) (GLint size, const GLubyte *weights);\ntypedef void (APIENTRYP PFNGLWEIGHTUSVARBPROC) (GLint size, const GLushort *weights);\ntypedef void (APIENTRYP PFNGLWEIGHTUIVARBPROC) (GLint size, const GLuint *weights);\ntypedef void (APIENTRYP PFNGLWEIGHTPOINTERARBPROC) (GLint size, GLenum type, GLsizei stride, const void *pointer);\ntypedef void (APIENTRYP PFNGLVERTEXBLENDARBPROC) (GLint count);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glWeightbvARB (GLint size, const GLbyte *weights);\nGLAPI void APIENTRY glWeightsvARB (GLint size, const GLshort *weights);\nGLAPI void APIENTRY glWeightivARB (GLint size, const GLint *weights);\nGLAPI void APIENTRY glWeightfvARB (GLint size, const GLfloat *weights);\nGLAPI void APIENTRY glWeightdvARB (GLint size, const GLdouble *weights);\nGLAPI void APIENTRY glWeightubvARB (GLint size, const GLubyte *weights);\nGLAPI void APIENTRY glWeightusvARB (GLint size, const GLushort *weights);\nGLAPI void APIENTRY glWeightuivARB (GLint size, const GLuint *weights);\nGLAPI void APIENTRY glWeightPointerARB (GLint size, GLenum type, GLsizei stride, const void *pointer);\nGLAPI void APIENTRY glVertexBlendARB (GLint count);\n#endif\n#endif /* GL_ARB_vertex_blend */\n\n#ifndef GL_ARB_vertex_buffer_object\n#define GL_ARB_vertex_buffer_object 1\n#ifdef __MACOSX__ /* The OS X headers haven't caught up with Khronos yet */\ntypedef long GLsizeiptrARB;\ntypedef long GLintptrARB;\n#else\ntypedef ptrdiff_t GLsizeiptrARB;\ntypedef ptrdiff_t GLintptrARB;\n#endif\n#define GL_BUFFER_SIZE_ARB                0x8764\n#define GL_BUFFER_USAGE_ARB               0x8765\n#define GL_ARRAY_BUFFER_ARB               0x8892\n#define GL_ELEMENT_ARRAY_BUFFER_ARB       0x8893\n#define GL_ARRAY_BUFFER_BINDING_ARB       0x8894\n#define GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB 0x8895\n#define GL_VERTEX_ARRAY_BUFFER_BINDING_ARB 0x8896\n#define GL_NORMAL_ARRAY_BUFFER_BINDING_ARB 0x8897\n#define GL_COLOR_ARRAY_BUFFER_BINDING_ARB 0x8898\n#define GL_INDEX_ARRAY_BUFFER_BINDING_ARB 0x8899\n#define GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB 0x889A\n#define GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB 0x889B\n#define GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB 0x889C\n#define GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB 0x889D\n#define GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB 0x889E\n#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB 0x889F\n#define GL_READ_ONLY_ARB                  0x88B8\n#define GL_WRITE_ONLY_ARB                 0x88B9\n#define GL_READ_WRITE_ARB                 0x88BA\n#define GL_BUFFER_ACCESS_ARB              0x88BB\n#define GL_BUFFER_MAPPED_ARB              0x88BC\n#define GL_BUFFER_MAP_POINTER_ARB         0x88BD\n#define GL_STREAM_DRAW_ARB                0x88E0\n#define GL_STREAM_READ_ARB                0x88E1\n#define GL_STREAM_COPY_ARB                0x88E2\n#define GL_STATIC_DRAW_ARB                0x88E4\n#define GL_STATIC_READ_ARB                0x88E5\n#define GL_STATIC_COPY_ARB                0x88E6\n#define GL_DYNAMIC_DRAW_ARB               0x88E8\n#define GL_DYNAMIC_READ_ARB               0x88E9\n#define GL_DYNAMIC_COPY_ARB               0x88EA\ntypedef void (APIENTRYP PFNGLBINDBUFFERARBPROC) (GLenum target, GLuint buffer);\ntypedef void (APIENTRYP PFNGLDELETEBUFFERSARBPROC) (GLsizei n, const GLuint *buffers);\ntypedef void (APIENTRYP PFNGLGENBUFFERSARBPROC) (GLsizei n, GLuint *buffers);\ntypedef GLboolean (APIENTRYP PFNGLISBUFFERARBPROC) (GLuint buffer);\ntypedef void (APIENTRYP PFNGLBUFFERDATAARBPROC) (GLenum target, GLsizeiptrARB size, const void *data, GLenum usage);\ntypedef void (APIENTRYP PFNGLBUFFERSUBDATAARBPROC) (GLenum target, GLintptrARB offset, GLsizeiptrARB size, const void *data);\ntypedef void (APIENTRYP PFNGLGETBUFFERSUBDATAARBPROC) (GLenum target, GLintptrARB offset, GLsizeiptrARB size, void *data);\ntypedef void *(APIENTRYP PFNGLMAPBUFFERARBPROC) (GLenum target, GLenum access);\ntypedef GLboolean (APIENTRYP PFNGLUNMAPBUFFERARBPROC) (GLenum target);\ntypedef void (APIENTRYP PFNGLGETBUFFERPARAMETERIVARBPROC) (GLenum target, GLenum pname, GLint *params);\ntypedef void (APIENTRYP PFNGLGETBUFFERPOINTERVARBPROC) (GLenum target, GLenum pname, void **params);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glBindBufferARB (GLenum target, GLuint buffer);\nGLAPI void APIENTRY glDeleteBuffersARB (GLsizei n, const GLuint *buffers);\nGLAPI void APIENTRY glGenBuffersARB (GLsizei n, GLuint *buffers);\nGLAPI GLboolean APIENTRY glIsBufferARB (GLuint buffer);\nGLAPI void APIENTRY glBufferDataARB (GLenum target, GLsizeiptrARB size, const void *data, GLenum usage);\nGLAPI void APIENTRY glBufferSubDataARB (GLenum target, GLintptrARB offset, GLsizeiptrARB size, const void *data);\nGLAPI void APIENTRY glGetBufferSubDataARB (GLenum target, GLintptrARB offset, GLsizeiptrARB size, void *data);\nGLAPI void *APIENTRY glMapBufferARB (GLenum target, GLenum access);\nGLAPI GLboolean APIENTRY glUnmapBufferARB (GLenum target);\nGLAPI void APIENTRY glGetBufferParameterivARB (GLenum target, GLenum pname, GLint *params);\nGLAPI void APIENTRY glGetBufferPointervARB (GLenum target, GLenum pname, void **params);\n#endif\n#endif /* GL_ARB_vertex_buffer_object */\n\n#ifndef GL_ARB_vertex_program\n#define GL_ARB_vertex_program 1\n#define GL_COLOR_SUM_ARB                  0x8458\n#define GL_VERTEX_PROGRAM_ARB             0x8620\n#define GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB 0x8622\n#define GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB   0x8623\n#define GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB 0x8624\n#define GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB   0x8625\n#define GL_CURRENT_VERTEX_ATTRIB_ARB      0x8626\n#define GL_VERTEX_PROGRAM_POINT_SIZE_ARB  0x8642\n#define GL_VERTEX_PROGRAM_TWO_SIDE_ARB    0x8643\n#define GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB 0x8645\n#define GL_MAX_VERTEX_ATTRIBS_ARB         0x8869\n#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB 0x886A\n#define GL_PROGRAM_ADDRESS_REGISTERS_ARB  0x88B0\n#define GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB 0x88B1\n#define GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB 0x88B2\n#define GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB 0x88B3\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB1DARBPROC) (GLuint index, GLdouble x);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB1DVARBPROC) (GLuint index, const GLdouble *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB1FARBPROC) (GLuint index, GLfloat x);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB1FVARBPROC) (GLuint index, const GLfloat *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB1SARBPROC) (GLuint index, GLshort x);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB1SVARBPROC) (GLuint index, const GLshort *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB2DARBPROC) (GLuint index, GLdouble x, GLdouble y);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB2DVARBPROC) (GLuint index, const GLdouble *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB2FARBPROC) (GLuint index, GLfloat x, GLfloat y);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB2FVARBPROC) (GLuint index, const GLfloat *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB2SARBPROC) (GLuint index, GLshort x, GLshort y);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB2SVARBPROC) (GLuint index, const GLshort *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB3DARBPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB3DVARBPROC) (GLuint index, const GLdouble *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB3FARBPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB3FVARBPROC) (GLuint index, const GLfloat *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB3SARBPROC) (GLuint index, GLshort x, GLshort y, GLshort z);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB3SVARBPROC) (GLuint index, const GLshort *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4NBVARBPROC) (GLuint index, const GLbyte *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4NIVARBPROC) (GLuint index, const GLint *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4NSVARBPROC) (GLuint index, const GLshort *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4NUBARBPROC) (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4NUBVARBPROC) (GLuint index, const GLubyte *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4NUIVARBPROC) (GLuint index, const GLuint *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4NUSVARBPROC) (GLuint index, const GLushort *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4BVARBPROC) (GLuint index, const GLbyte *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4DARBPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4DVARBPROC) (GLuint index, const GLdouble *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4FARBPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4FVARBPROC) (GLuint index, const GLfloat *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4IVARBPROC) (GLuint index, const GLint *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4SARBPROC) (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4SVARBPROC) (GLuint index, const GLshort *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4UBVARBPROC) (GLuint index, const GLubyte *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4UIVARBPROC) (GLuint index, const GLuint *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4USVARBPROC) (GLuint index, const GLushort *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBPOINTERARBPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void *pointer);\ntypedef void (APIENTRYP PFNGLENABLEVERTEXATTRIBARRAYARBPROC) (GLuint index);\ntypedef void (APIENTRYP PFNGLDISABLEVERTEXATTRIBARRAYARBPROC) (GLuint index);\ntypedef void (APIENTRYP PFNGLGETVERTEXATTRIBDVARBPROC) (GLuint index, GLenum pname, GLdouble *params);\ntypedef void (APIENTRYP PFNGLGETVERTEXATTRIBFVARBPROC) (GLuint index, GLenum pname, GLfloat *params);\ntypedef void (APIENTRYP PFNGLGETVERTEXATTRIBIVARBPROC) (GLuint index, GLenum pname, GLint *params);\ntypedef void (APIENTRYP PFNGLGETVERTEXATTRIBPOINTERVARBPROC) (GLuint index, GLenum pname, void **pointer);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glVertexAttrib1dARB (GLuint index, GLdouble x);\nGLAPI void APIENTRY glVertexAttrib1dvARB (GLuint index, const GLdouble *v);\nGLAPI void APIENTRY glVertexAttrib1fARB (GLuint index, GLfloat x);\nGLAPI void APIENTRY glVertexAttrib1fvARB (GLuint index, const GLfloat *v);\nGLAPI void APIENTRY glVertexAttrib1sARB (GLuint index, GLshort x);\nGLAPI void APIENTRY glVertexAttrib1svARB (GLuint index, const GLshort *v);\nGLAPI void APIENTRY glVertexAttrib2dARB (GLuint index, GLdouble x, GLdouble y);\nGLAPI void APIENTRY glVertexAttrib2dvARB (GLuint index, const GLdouble *v);\nGLAPI void APIENTRY glVertexAttrib2fARB (GLuint index, GLfloat x, GLfloat y);\nGLAPI void APIENTRY glVertexAttrib2fvARB (GLuint index, const GLfloat *v);\nGLAPI void APIENTRY glVertexAttrib2sARB (GLuint index, GLshort x, GLshort y);\nGLAPI void APIENTRY glVertexAttrib2svARB (GLuint index, const GLshort *v);\nGLAPI void APIENTRY glVertexAttrib3dARB (GLuint index, GLdouble x, GLdouble y, GLdouble z);\nGLAPI void APIENTRY glVertexAttrib3dvARB (GLuint index, const GLdouble *v);\nGLAPI void APIENTRY glVertexAttrib3fARB (GLuint index, GLfloat x, GLfloat y, GLfloat z);\nGLAPI void APIENTRY glVertexAttrib3fvARB (GLuint index, const GLfloat *v);\nGLAPI void APIENTRY glVertexAttrib3sARB (GLuint index, GLshort x, GLshort y, GLshort z);\nGLAPI void APIENTRY glVertexAttrib3svARB (GLuint index, const GLshort *v);\nGLAPI void APIENTRY glVertexAttrib4NbvARB (GLuint index, const GLbyte *v);\nGLAPI void APIENTRY glVertexAttrib4NivARB (GLuint index, const GLint *v);\nGLAPI void APIENTRY glVertexAttrib4NsvARB (GLuint index, const GLshort *v);\nGLAPI void APIENTRY glVertexAttrib4NubARB (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);\nGLAPI void APIENTRY glVertexAttrib4NubvARB (GLuint index, const GLubyte *v);\nGLAPI void APIENTRY glVertexAttrib4NuivARB (GLuint index, const GLuint *v);\nGLAPI void APIENTRY glVertexAttrib4NusvARB (GLuint index, const GLushort *v);\nGLAPI void APIENTRY glVertexAttrib4bvARB (GLuint index, const GLbyte *v);\nGLAPI void APIENTRY glVertexAttrib4dARB (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nGLAPI void APIENTRY glVertexAttrib4dvARB (GLuint index, const GLdouble *v);\nGLAPI void APIENTRY glVertexAttrib4fARB (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nGLAPI void APIENTRY glVertexAttrib4fvARB (GLuint index, const GLfloat *v);\nGLAPI void APIENTRY glVertexAttrib4ivARB (GLuint index, const GLint *v);\nGLAPI void APIENTRY glVertexAttrib4sARB (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);\nGLAPI void APIENTRY glVertexAttrib4svARB (GLuint index, const GLshort *v);\nGLAPI void APIENTRY glVertexAttrib4ubvARB (GLuint index, const GLubyte *v);\nGLAPI void APIENTRY glVertexAttrib4uivARB (GLuint index, const GLuint *v);\nGLAPI void APIENTRY glVertexAttrib4usvARB (GLuint index, const GLushort *v);\nGLAPI void APIENTRY glVertexAttribPointerARB (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void *pointer);\nGLAPI void APIENTRY glEnableVertexAttribArrayARB (GLuint index);\nGLAPI void APIENTRY glDisableVertexAttribArrayARB (GLuint index);\nGLAPI void APIENTRY glGetVertexAttribdvARB (GLuint index, GLenum pname, GLdouble *params);\nGLAPI void APIENTRY glGetVertexAttribfvARB (GLuint index, GLenum pname, GLfloat *params);\nGLAPI void APIENTRY glGetVertexAttribivARB (GLuint index, GLenum pname, GLint *params);\nGLAPI void APIENTRY glGetVertexAttribPointervARB (GLuint index, GLenum pname, void **pointer);\n#endif\n#endif /* GL_ARB_vertex_program */\n\n#ifndef GL_ARB_vertex_shader\n#define GL_ARB_vertex_shader 1\n#define GL_VERTEX_SHADER_ARB              0x8B31\n#define GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB 0x8B4A\n#define GL_MAX_VARYING_FLOATS_ARB         0x8B4B\n#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB 0x8B4C\n#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB 0x8B4D\n#define GL_OBJECT_ACTIVE_ATTRIBUTES_ARB   0x8B89\n#define GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB 0x8B8A\ntypedef void (APIENTRYP PFNGLBINDATTRIBLOCATIONARBPROC) (GLhandleARB programObj, GLuint index, const GLcharARB *name);\ntypedef void (APIENTRYP PFNGLGETACTIVEATTRIBARBPROC) (GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei *length, GLint *size, GLenum *type, GLcharARB *name);\ntypedef GLint (APIENTRYP PFNGLGETATTRIBLOCATIONARBPROC) (GLhandleARB programObj, const GLcharARB *name);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glBindAttribLocationARB (GLhandleARB programObj, GLuint index, const GLcharARB *name);\nGLAPI void APIENTRY glGetActiveAttribARB (GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei *length, GLint *size, GLenum *type, GLcharARB *name);\nGLAPI GLint APIENTRY glGetAttribLocationARB (GLhandleARB programObj, const GLcharARB *name);\n#endif\n#endif /* GL_ARB_vertex_shader */\n\n#ifndef GL_ARB_vertex_type_10f_11f_11f_rev\n#define GL_ARB_vertex_type_10f_11f_11f_rev 1\n#endif /* GL_ARB_vertex_type_10f_11f_11f_rev */\n\n#ifndef GL_ARB_vertex_type_2_10_10_10_rev\n#define GL_ARB_vertex_type_2_10_10_10_rev 1\n#endif /* GL_ARB_vertex_type_2_10_10_10_rev */\n\n#ifndef GL_ARB_viewport_array\n#define GL_ARB_viewport_array 1\n#endif /* GL_ARB_viewport_array */\n\n#ifndef GL_ARB_window_pos\n#define GL_ARB_window_pos 1\ntypedef void (APIENTRYP PFNGLWINDOWPOS2DARBPROC) (GLdouble x, GLdouble y);\ntypedef void (APIENTRYP PFNGLWINDOWPOS2DVARBPROC) (const GLdouble *v);\ntypedef void (APIENTRYP PFNGLWINDOWPOS2FARBPROC) (GLfloat x, GLfloat y);\ntypedef void (APIENTRYP PFNGLWINDOWPOS2FVARBPROC) (const GLfloat *v);\ntypedef void (APIENTRYP PFNGLWINDOWPOS2IARBPROC) (GLint x, GLint y);\ntypedef void (APIENTRYP PFNGLWINDOWPOS2IVARBPROC) (const GLint *v);\ntypedef void (APIENTRYP PFNGLWINDOWPOS2SARBPROC) (GLshort x, GLshort y);\ntypedef void (APIENTRYP PFNGLWINDOWPOS2SVARBPROC) (const GLshort *v);\ntypedef void (APIENTRYP PFNGLWINDOWPOS3DARBPROC) (GLdouble x, GLdouble y, GLdouble z);\ntypedef void (APIENTRYP PFNGLWINDOWPOS3DVARBPROC) (const GLdouble *v);\ntypedef void (APIENTRYP PFNGLWINDOWPOS3FARBPROC) (GLfloat x, GLfloat y, GLfloat z);\ntypedef void (APIENTRYP PFNGLWINDOWPOS3FVARBPROC) (const GLfloat *v);\ntypedef void (APIENTRYP PFNGLWINDOWPOS3IARBPROC) (GLint x, GLint y, GLint z);\ntypedef void (APIENTRYP PFNGLWINDOWPOS3IVARBPROC) (const GLint *v);\ntypedef void (APIENTRYP PFNGLWINDOWPOS3SARBPROC) (GLshort x, GLshort y, GLshort z);\ntypedef void (APIENTRYP PFNGLWINDOWPOS3SVARBPROC) (const GLshort *v);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glWindowPos2dARB (GLdouble x, GLdouble y);\nGLAPI void APIENTRY glWindowPos2dvARB (const GLdouble *v);\nGLAPI void APIENTRY glWindowPos2fARB (GLfloat x, GLfloat y);\nGLAPI void APIENTRY glWindowPos2fvARB (const GLfloat *v);\nGLAPI void APIENTRY glWindowPos2iARB (GLint x, GLint y);\nGLAPI void APIENTRY glWindowPos2ivARB (const GLint *v);\nGLAPI void APIENTRY glWindowPos2sARB (GLshort x, GLshort y);\nGLAPI void APIENTRY glWindowPos2svARB (const GLshort *v);\nGLAPI void APIENTRY glWindowPos3dARB (GLdouble x, GLdouble y, GLdouble z);\nGLAPI void APIENTRY glWindowPos3dvARB (const GLdouble *v);\nGLAPI void APIENTRY glWindowPos3fARB (GLfloat x, GLfloat y, GLfloat z);\nGLAPI void APIENTRY glWindowPos3fvARB (const GLfloat *v);\nGLAPI void APIENTRY glWindowPos3iARB (GLint x, GLint y, GLint z);\nGLAPI void APIENTRY glWindowPos3ivARB (const GLint *v);\nGLAPI void APIENTRY glWindowPos3sARB (GLshort x, GLshort y, GLshort z);\nGLAPI void APIENTRY glWindowPos3svARB (const GLshort *v);\n#endif\n#endif /* GL_ARB_window_pos */\n\n#ifndef GL_KHR_debug\n#define GL_KHR_debug 1\n#endif /* GL_KHR_debug */\n\n#ifndef GL_KHR_texture_compression_astc_hdr\n#define GL_KHR_texture_compression_astc_hdr 1\n#define GL_COMPRESSED_RGBA_ASTC_4x4_KHR   0x93B0\n#define GL_COMPRESSED_RGBA_ASTC_5x4_KHR   0x93B1\n#define GL_COMPRESSED_RGBA_ASTC_5x5_KHR   0x93B2\n#define GL_COMPRESSED_RGBA_ASTC_6x5_KHR   0x93B3\n#define GL_COMPRESSED_RGBA_ASTC_6x6_KHR   0x93B4\n#define GL_COMPRESSED_RGBA_ASTC_8x5_KHR   0x93B5\n#define GL_COMPRESSED_RGBA_ASTC_8x6_KHR   0x93B6\n#define GL_COMPRESSED_RGBA_ASTC_8x8_KHR   0x93B7\n#define GL_COMPRESSED_RGBA_ASTC_10x5_KHR  0x93B8\n#define GL_COMPRESSED_RGBA_ASTC_10x6_KHR  0x93B9\n#define GL_COMPRESSED_RGBA_ASTC_10x8_KHR  0x93BA\n#define GL_COMPRESSED_RGBA_ASTC_10x10_KHR 0x93BB\n#define GL_COMPRESSED_RGBA_ASTC_12x10_KHR 0x93BC\n#define GL_COMPRESSED_RGBA_ASTC_12x12_KHR 0x93BD\n#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR 0x93D0\n#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR 0x93D1\n#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR 0x93D2\n#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR 0x93D3\n#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR 0x93D4\n#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR 0x93D5\n#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR 0x93D6\n#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR 0x93D7\n#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR 0x93D8\n#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR 0x93D9\n#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR 0x93DA\n#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR 0x93DB\n#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR 0x93DC\n#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR 0x93DD\n#endif /* GL_KHR_texture_compression_astc_hdr */\n\n#ifndef GL_KHR_texture_compression_astc_ldr\n#define GL_KHR_texture_compression_astc_ldr 1\n#endif /* GL_KHR_texture_compression_astc_ldr */\n\n#ifndef GL_OES_byte_coordinates\n#define GL_OES_byte_coordinates 1\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD1BOESPROC) (GLenum texture, GLbyte s);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD1BVOESPROC) (GLenum texture, const GLbyte *coords);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD2BOESPROC) (GLenum texture, GLbyte s, GLbyte t);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD2BVOESPROC) (GLenum texture, const GLbyte *coords);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD3BOESPROC) (GLenum texture, GLbyte s, GLbyte t, GLbyte r);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD3BVOESPROC) (GLenum texture, const GLbyte *coords);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD4BOESPROC) (GLenum texture, GLbyte s, GLbyte t, GLbyte r, GLbyte q);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD4BVOESPROC) (GLenum texture, const GLbyte *coords);\ntypedef void (APIENTRYP PFNGLTEXCOORD1BOESPROC) (GLbyte s);\ntypedef void (APIENTRYP PFNGLTEXCOORD1BVOESPROC) (const GLbyte *coords);\ntypedef void (APIENTRYP PFNGLTEXCOORD2BOESPROC) (GLbyte s, GLbyte t);\ntypedef void (APIENTRYP PFNGLTEXCOORD2BVOESPROC) (const GLbyte *coords);\ntypedef void (APIENTRYP PFNGLTEXCOORD3BOESPROC) (GLbyte s, GLbyte t, GLbyte r);\ntypedef void (APIENTRYP PFNGLTEXCOORD3BVOESPROC) (const GLbyte *coords);\ntypedef void (APIENTRYP PFNGLTEXCOORD4BOESPROC) (GLbyte s, GLbyte t, GLbyte r, GLbyte q);\ntypedef void (APIENTRYP PFNGLTEXCOORD4BVOESPROC) (const GLbyte *coords);\ntypedef void (APIENTRYP PFNGLVERTEX2BOESPROC) (GLbyte x);\ntypedef void (APIENTRYP PFNGLVERTEX2BVOESPROC) (const GLbyte *coords);\ntypedef void (APIENTRYP PFNGLVERTEX3BOESPROC) (GLbyte x, GLbyte y);\ntypedef void (APIENTRYP PFNGLVERTEX3BVOESPROC) (const GLbyte *coords);\ntypedef void (APIENTRYP PFNGLVERTEX4BOESPROC) (GLbyte x, GLbyte y, GLbyte z);\ntypedef void (APIENTRYP PFNGLVERTEX4BVOESPROC) (const GLbyte *coords);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glMultiTexCoord1bOES (GLenum texture, GLbyte s);\nGLAPI void APIENTRY glMultiTexCoord1bvOES (GLenum texture, const GLbyte *coords);\nGLAPI void APIENTRY glMultiTexCoord2bOES (GLenum texture, GLbyte s, GLbyte t);\nGLAPI void APIENTRY glMultiTexCoord2bvOES (GLenum texture, const GLbyte *coords);\nGLAPI void APIENTRY glMultiTexCoord3bOES (GLenum texture, GLbyte s, GLbyte t, GLbyte r);\nGLAPI void APIENTRY glMultiTexCoord3bvOES (GLenum texture, const GLbyte *coords);\nGLAPI void APIENTRY glMultiTexCoord4bOES (GLenum texture, GLbyte s, GLbyte t, GLbyte r, GLbyte q);\nGLAPI void APIENTRY glMultiTexCoord4bvOES (GLenum texture, const GLbyte *coords);\nGLAPI void APIENTRY glTexCoord1bOES (GLbyte s);\nGLAPI void APIENTRY glTexCoord1bvOES (const GLbyte *coords);\nGLAPI void APIENTRY glTexCoord2bOES (GLbyte s, GLbyte t);\nGLAPI void APIENTRY glTexCoord2bvOES (const GLbyte *coords);\nGLAPI void APIENTRY glTexCoord3bOES (GLbyte s, GLbyte t, GLbyte r);\nGLAPI void APIENTRY glTexCoord3bvOES (const GLbyte *coords);\nGLAPI void APIENTRY glTexCoord4bOES (GLbyte s, GLbyte t, GLbyte r, GLbyte q);\nGLAPI void APIENTRY glTexCoord4bvOES (const GLbyte *coords);\nGLAPI void APIENTRY glVertex2bOES (GLbyte x);\nGLAPI void APIENTRY glVertex2bvOES (const GLbyte *coords);\nGLAPI void APIENTRY glVertex3bOES (GLbyte x, GLbyte y);\nGLAPI void APIENTRY glVertex3bvOES (const GLbyte *coords);\nGLAPI void APIENTRY glVertex4bOES (GLbyte x, GLbyte y, GLbyte z);\nGLAPI void APIENTRY glVertex4bvOES (const GLbyte *coords);\n#endif\n#endif /* GL_OES_byte_coordinates */\n\n#ifndef GL_OES_compressed_paletted_texture\n#define GL_OES_compressed_paletted_texture 1\n#define GL_PALETTE4_RGB8_OES              0x8B90\n#define GL_PALETTE4_RGBA8_OES             0x8B91\n#define GL_PALETTE4_R5_G6_B5_OES          0x8B92\n#define GL_PALETTE4_RGBA4_OES             0x8B93\n#define GL_PALETTE4_RGB5_A1_OES           0x8B94\n#define GL_PALETTE8_RGB8_OES              0x8B95\n#define GL_PALETTE8_RGBA8_OES             0x8B96\n#define GL_PALETTE8_R5_G6_B5_OES          0x8B97\n#define GL_PALETTE8_RGBA4_OES             0x8B98\n#define GL_PALETTE8_RGB5_A1_OES           0x8B99\n#endif /* GL_OES_compressed_paletted_texture */\n\n#ifndef GL_OES_fixed_point\n#define GL_OES_fixed_point 1\ntypedef GLint GLfixed;\n#define GL_FIXED_OES                      0x140C\ntypedef void (APIENTRYP PFNGLALPHAFUNCXOESPROC) (GLenum func, GLfixed ref);\ntypedef void (APIENTRYP PFNGLCLEARCOLORXOESPROC) (GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha);\ntypedef void (APIENTRYP PFNGLCLEARDEPTHXOESPROC) (GLfixed depth);\ntypedef void (APIENTRYP PFNGLCLIPPLANEXOESPROC) (GLenum plane, const GLfixed *equation);\ntypedef void (APIENTRYP PFNGLCOLOR4XOESPROC) (GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha);\ntypedef void (APIENTRYP PFNGLDEPTHRANGEXOESPROC) (GLfixed n, GLfixed f);\ntypedef void (APIENTRYP PFNGLFOGXOESPROC) (GLenum pname, GLfixed param);\ntypedef void (APIENTRYP PFNGLFOGXVOESPROC) (GLenum pname, const GLfixed *param);\ntypedef void (APIENTRYP PFNGLFRUSTUMXOESPROC) (GLfixed l, GLfixed r, GLfixed b, GLfixed t, GLfixed n, GLfixed f);\ntypedef void (APIENTRYP PFNGLGETCLIPPLANEXOESPROC) (GLenum plane, GLfixed *equation);\ntypedef void (APIENTRYP PFNGLGETFIXEDVOESPROC) (GLenum pname, GLfixed *params);\ntypedef void (APIENTRYP PFNGLGETTEXENVXVOESPROC) (GLenum target, GLenum pname, GLfixed *params);\ntypedef void (APIENTRYP PFNGLGETTEXPARAMETERXVOESPROC) (GLenum target, GLenum pname, GLfixed *params);\ntypedef void (APIENTRYP PFNGLLIGHTMODELXOESPROC) (GLenum pname, GLfixed param);\ntypedef void (APIENTRYP PFNGLLIGHTMODELXVOESPROC) (GLenum pname, const GLfixed *param);\ntypedef void (APIENTRYP PFNGLLIGHTXOESPROC) (GLenum light, GLenum pname, GLfixed param);\ntypedef void (APIENTRYP PFNGLLIGHTXVOESPROC) (GLenum light, GLenum pname, const GLfixed *params);\ntypedef void (APIENTRYP PFNGLLINEWIDTHXOESPROC) (GLfixed width);\ntypedef void (APIENTRYP PFNGLLOADMATRIXXOESPROC) (const GLfixed *m);\ntypedef void (APIENTRYP PFNGLMATERIALXOESPROC) (GLenum face, GLenum pname, GLfixed param);\ntypedef void (APIENTRYP PFNGLMATERIALXVOESPROC) (GLenum face, GLenum pname, const GLfixed *param);\ntypedef void (APIENTRYP PFNGLMULTMATRIXXOESPROC) (const GLfixed *m);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD4XOESPROC) (GLenum texture, GLfixed s, GLfixed t, GLfixed r, GLfixed q);\ntypedef void (APIENTRYP PFNGLNORMAL3XOESPROC) (GLfixed nx, GLfixed ny, GLfixed nz);\ntypedef void (APIENTRYP PFNGLORTHOXOESPROC) (GLfixed l, GLfixed r, GLfixed b, GLfixed t, GLfixed n, GLfixed f);\ntypedef void (APIENTRYP PFNGLPOINTPARAMETERXVOESPROC) (GLenum pname, const GLfixed *params);\ntypedef void (APIENTRYP PFNGLPOINTSIZEXOESPROC) (GLfixed size);\ntypedef void (APIENTRYP PFNGLPOLYGONOFFSETXOESPROC) (GLfixed factor, GLfixed units);\ntypedef void (APIENTRYP PFNGLROTATEXOESPROC) (GLfixed angle, GLfixed x, GLfixed y, GLfixed z);\ntypedef void (APIENTRYP PFNGLSAMPLECOVERAGEOESPROC) (GLfixed value, GLboolean invert);\ntypedef void (APIENTRYP PFNGLSCALEXOESPROC) (GLfixed x, GLfixed y, GLfixed z);\ntypedef void (APIENTRYP PFNGLTEXENVXOESPROC) (GLenum target, GLenum pname, GLfixed param);\ntypedef void (APIENTRYP PFNGLTEXENVXVOESPROC) (GLenum target, GLenum pname, const GLfixed *params);\ntypedef void (APIENTRYP PFNGLTEXPARAMETERXOESPROC) (GLenum target, GLenum pname, GLfixed param);\ntypedef void (APIENTRYP PFNGLTEXPARAMETERXVOESPROC) (GLenum target, GLenum pname, const GLfixed *params);\ntypedef void (APIENTRYP PFNGLTRANSLATEXOESPROC) (GLfixed x, GLfixed y, GLfixed z);\ntypedef void (APIENTRYP PFNGLACCUMXOESPROC) (GLenum op, GLfixed value);\ntypedef void (APIENTRYP PFNGLBITMAPXOESPROC) (GLsizei width, GLsizei height, GLfixed xorig, GLfixed yorig, GLfixed xmove, GLfixed ymove, const GLubyte *bitmap);\ntypedef void (APIENTRYP PFNGLBLENDCOLORXOESPROC) (GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha);\ntypedef void (APIENTRYP PFNGLCLEARACCUMXOESPROC) (GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha);\ntypedef void (APIENTRYP PFNGLCOLOR3XOESPROC) (GLfixed red, GLfixed green, GLfixed blue);\ntypedef void (APIENTRYP PFNGLCOLOR3XVOESPROC) (const GLfixed *components);\ntypedef void (APIENTRYP PFNGLCOLOR4XVOESPROC) (const GLfixed *components);\ntypedef void (APIENTRYP PFNGLCONVOLUTIONPARAMETERXOESPROC) (GLenum target, GLenum pname, GLfixed param);\ntypedef void (APIENTRYP PFNGLCONVOLUTIONPARAMETERXVOESPROC) (GLenum target, GLenum pname, const GLfixed *params);\ntypedef void (APIENTRYP PFNGLEVALCOORD1XOESPROC) (GLfixed u);\ntypedef void (APIENTRYP PFNGLEVALCOORD1XVOESPROC) (const GLfixed *coords);\ntypedef void (APIENTRYP PFNGLEVALCOORD2XOESPROC) (GLfixed u, GLfixed v);\ntypedef void (APIENTRYP PFNGLEVALCOORD2XVOESPROC) (const GLfixed *coords);\ntypedef void (APIENTRYP PFNGLFEEDBACKBUFFERXOESPROC) (GLsizei n, GLenum type, const GLfixed *buffer);\ntypedef void (APIENTRYP PFNGLGETCONVOLUTIONPARAMETERXVOESPROC) (GLenum target, GLenum pname, GLfixed *params);\ntypedef void (APIENTRYP PFNGLGETHISTOGRAMPARAMETERXVOESPROC) (GLenum target, GLenum pname, GLfixed *params);\ntypedef void (APIENTRYP PFNGLGETLIGHTXOESPROC) (GLenum light, GLenum pname, GLfixed *params);\ntypedef void (APIENTRYP PFNGLGETMAPXVOESPROC) (GLenum target, GLenum query, GLfixed *v);\ntypedef void (APIENTRYP PFNGLGETMATERIALXOESPROC) (GLenum face, GLenum pname, GLfixed param);\ntypedef void (APIENTRYP PFNGLGETPIXELMAPXVPROC) (GLenum map, GLint size, GLfixed *values);\ntypedef void (APIENTRYP PFNGLGETTEXGENXVOESPROC) (GLenum coord, GLenum pname, GLfixed *params);\ntypedef void (APIENTRYP PFNGLGETTEXLEVELPARAMETERXVOESPROC) (GLenum target, GLint level, GLenum pname, GLfixed *params);\ntypedef void (APIENTRYP PFNGLINDEXXOESPROC) (GLfixed component);\ntypedef void (APIENTRYP PFNGLINDEXXVOESPROC) (const GLfixed *component);\ntypedef void (APIENTRYP PFNGLLOADTRANSPOSEMATRIXXOESPROC) (const GLfixed *m);\ntypedef void (APIENTRYP PFNGLMAP1XOESPROC) (GLenum target, GLfixed u1, GLfixed u2, GLint stride, GLint order, GLfixed points);\ntypedef void (APIENTRYP PFNGLMAP2XOESPROC) (GLenum target, GLfixed u1, GLfixed u2, GLint ustride, GLint uorder, GLfixed v1, GLfixed v2, GLint vstride, GLint vorder, GLfixed points);\ntypedef void (APIENTRYP PFNGLMAPGRID1XOESPROC) (GLint n, GLfixed u1, GLfixed u2);\ntypedef void (APIENTRYP PFNGLMAPGRID2XOESPROC) (GLint n, GLfixed u1, GLfixed u2, GLfixed v1, GLfixed v2);\ntypedef void (APIENTRYP PFNGLMULTTRANSPOSEMATRIXXOESPROC) (const GLfixed *m);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD1XOESPROC) (GLenum texture, GLfixed s);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD1XVOESPROC) (GLenum texture, const GLfixed *coords);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD2XOESPROC) (GLenum texture, GLfixed s, GLfixed t);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD2XVOESPROC) (GLenum texture, const GLfixed *coords);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD3XOESPROC) (GLenum texture, GLfixed s, GLfixed t, GLfixed r);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD3XVOESPROC) (GLenum texture, const GLfixed *coords);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD4XVOESPROC) (GLenum texture, const GLfixed *coords);\ntypedef void (APIENTRYP PFNGLNORMAL3XVOESPROC) (const GLfixed *coords);\ntypedef void (APIENTRYP PFNGLPASSTHROUGHXOESPROC) (GLfixed token);\ntypedef void (APIENTRYP PFNGLPIXELMAPXPROC) (GLenum map, GLint size, const GLfixed *values);\ntypedef void (APIENTRYP PFNGLPIXELSTOREXPROC) (GLenum pname, GLfixed param);\ntypedef void (APIENTRYP PFNGLPIXELTRANSFERXOESPROC) (GLenum pname, GLfixed param);\ntypedef void (APIENTRYP PFNGLPIXELZOOMXOESPROC) (GLfixed xfactor, GLfixed yfactor);\ntypedef void (APIENTRYP PFNGLPRIORITIZETEXTURESXOESPROC) (GLsizei n, const GLuint *textures, const GLfixed *priorities);\ntypedef void (APIENTRYP PFNGLRASTERPOS2XOESPROC) (GLfixed x, GLfixed y);\ntypedef void (APIENTRYP PFNGLRASTERPOS2XVOESPROC) (const GLfixed *coords);\ntypedef void (APIENTRYP PFNGLRASTERPOS3XOESPROC) (GLfixed x, GLfixed y, GLfixed z);\ntypedef void (APIENTRYP PFNGLRASTERPOS3XVOESPROC) (const GLfixed *coords);\ntypedef void (APIENTRYP PFNGLRASTERPOS4XOESPROC) (GLfixed x, GLfixed y, GLfixed z, GLfixed w);\ntypedef void (APIENTRYP PFNGLRASTERPOS4XVOESPROC) (const GLfixed *coords);\ntypedef void (APIENTRYP PFNGLRECTXOESPROC) (GLfixed x1, GLfixed y1, GLfixed x2, GLfixed y2);\ntypedef void (APIENTRYP PFNGLRECTXVOESPROC) (const GLfixed *v1, const GLfixed *v2);\ntypedef void (APIENTRYP PFNGLTEXCOORD1XOESPROC) (GLfixed s);\ntypedef void (APIENTRYP PFNGLTEXCOORD1XVOESPROC) (const GLfixed *coords);\ntypedef void (APIENTRYP PFNGLTEXCOORD2XOESPROC) (GLfixed s, GLfixed t);\ntypedef void (APIENTRYP PFNGLTEXCOORD2XVOESPROC) (const GLfixed *coords);\ntypedef void (APIENTRYP PFNGLTEXCOORD3XOESPROC) (GLfixed s, GLfixed t, GLfixed r);\ntypedef void (APIENTRYP PFNGLTEXCOORD3XVOESPROC) (const GLfixed *coords);\ntypedef void (APIENTRYP PFNGLTEXCOORD4XOESPROC) (GLfixed s, GLfixed t, GLfixed r, GLfixed q);\ntypedef void (APIENTRYP PFNGLTEXCOORD4XVOESPROC) (const GLfixed *coords);\ntypedef void (APIENTRYP PFNGLTEXGENXOESPROC) (GLenum coord, GLenum pname, GLfixed param);\ntypedef void (APIENTRYP PFNGLTEXGENXVOESPROC) (GLenum coord, GLenum pname, const GLfixed *params);\ntypedef void (APIENTRYP PFNGLVERTEX2XOESPROC) (GLfixed x);\ntypedef void (APIENTRYP PFNGLVERTEX2XVOESPROC) (const GLfixed *coords);\ntypedef void (APIENTRYP PFNGLVERTEX3XOESPROC) (GLfixed x, GLfixed y);\ntypedef void (APIENTRYP PFNGLVERTEX3XVOESPROC) (const GLfixed *coords);\ntypedef void (APIENTRYP PFNGLVERTEX4XOESPROC) (GLfixed x, GLfixed y, GLfixed z);\ntypedef void (APIENTRYP PFNGLVERTEX4XVOESPROC) (const GLfixed *coords);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glAlphaFuncxOES (GLenum func, GLfixed ref);\nGLAPI void APIENTRY glClearColorxOES (GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha);\nGLAPI void APIENTRY glClearDepthxOES (GLfixed depth);\nGLAPI void APIENTRY glClipPlanexOES (GLenum plane, const GLfixed *equation);\nGLAPI void APIENTRY glColor4xOES (GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha);\nGLAPI void APIENTRY glDepthRangexOES (GLfixed n, GLfixed f);\nGLAPI void APIENTRY glFogxOES (GLenum pname, GLfixed param);\nGLAPI void APIENTRY glFogxvOES (GLenum pname, const GLfixed *param);\nGLAPI void APIENTRY glFrustumxOES (GLfixed l, GLfixed r, GLfixed b, GLfixed t, GLfixed n, GLfixed f);\nGLAPI void APIENTRY glGetClipPlanexOES (GLenum plane, GLfixed *equation);\nGLAPI void APIENTRY glGetFixedvOES (GLenum pname, GLfixed *params);\nGLAPI void APIENTRY glGetTexEnvxvOES (GLenum target, GLenum pname, GLfixed *params);\nGLAPI void APIENTRY glGetTexParameterxvOES (GLenum target, GLenum pname, GLfixed *params);\nGLAPI void APIENTRY glLightModelxOES (GLenum pname, GLfixed param);\nGLAPI void APIENTRY glLightModelxvOES (GLenum pname, const GLfixed *param);\nGLAPI void APIENTRY glLightxOES (GLenum light, GLenum pname, GLfixed param);\nGLAPI void APIENTRY glLightxvOES (GLenum light, GLenum pname, const GLfixed *params);\nGLAPI void APIENTRY glLineWidthxOES (GLfixed width);\nGLAPI void APIENTRY glLoadMatrixxOES (const GLfixed *m);\nGLAPI void APIENTRY glMaterialxOES (GLenum face, GLenum pname, GLfixed param);\nGLAPI void APIENTRY glMaterialxvOES (GLenum face, GLenum pname, const GLfixed *param);\nGLAPI void APIENTRY glMultMatrixxOES (const GLfixed *m);\nGLAPI void APIENTRY glMultiTexCoord4xOES (GLenum texture, GLfixed s, GLfixed t, GLfixed r, GLfixed q);\nGLAPI void APIENTRY glNormal3xOES (GLfixed nx, GLfixed ny, GLfixed nz);\nGLAPI void APIENTRY glOrthoxOES (GLfixed l, GLfixed r, GLfixed b, GLfixed t, GLfixed n, GLfixed f);\nGLAPI void APIENTRY glPointParameterxvOES (GLenum pname, const GLfixed *params);\nGLAPI void APIENTRY glPointSizexOES (GLfixed size);\nGLAPI void APIENTRY glPolygonOffsetxOES (GLfixed factor, GLfixed units);\nGLAPI void APIENTRY glRotatexOES (GLfixed angle, GLfixed x, GLfixed y, GLfixed z);\nGLAPI void APIENTRY glSampleCoverageOES (GLfixed value, GLboolean invert);\nGLAPI void APIENTRY glScalexOES (GLfixed x, GLfixed y, GLfixed z);\nGLAPI void APIENTRY glTexEnvxOES (GLenum target, GLenum pname, GLfixed param);\nGLAPI void APIENTRY glTexEnvxvOES (GLenum target, GLenum pname, const GLfixed *params);\nGLAPI void APIENTRY glTexParameterxOES (GLenum target, GLenum pname, GLfixed param);\nGLAPI void APIENTRY glTexParameterxvOES (GLenum target, GLenum pname, const GLfixed *params);\nGLAPI void APIENTRY glTranslatexOES (GLfixed x, GLfixed y, GLfixed z);\nGLAPI void APIENTRY glAccumxOES (GLenum op, GLfixed value);\nGLAPI void APIENTRY glBitmapxOES (GLsizei width, GLsizei height, GLfixed xorig, GLfixed yorig, GLfixed xmove, GLfixed ymove, const GLubyte *bitmap);\nGLAPI void APIENTRY glBlendColorxOES (GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha);\nGLAPI void APIENTRY glClearAccumxOES (GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha);\nGLAPI void APIENTRY glColor3xOES (GLfixed red, GLfixed green, GLfixed blue);\nGLAPI void APIENTRY glColor3xvOES (const GLfixed *components);\nGLAPI void APIENTRY glColor4xvOES (const GLfixed *components);\nGLAPI void APIENTRY glConvolutionParameterxOES (GLenum target, GLenum pname, GLfixed param);\nGLAPI void APIENTRY glConvolutionParameterxvOES (GLenum target, GLenum pname, const GLfixed *params);\nGLAPI void APIENTRY glEvalCoord1xOES (GLfixed u);\nGLAPI void APIENTRY glEvalCoord1xvOES (const GLfixed *coords);\nGLAPI void APIENTRY glEvalCoord2xOES (GLfixed u, GLfixed v);\nGLAPI void APIENTRY glEvalCoord2xvOES (const GLfixed *coords);\nGLAPI void APIENTRY glFeedbackBufferxOES (GLsizei n, GLenum type, const GLfixed *buffer);\nGLAPI void APIENTRY glGetConvolutionParameterxvOES (GLenum target, GLenum pname, GLfixed *params);\nGLAPI void APIENTRY glGetHistogramParameterxvOES (GLenum target, GLenum pname, GLfixed *params);\nGLAPI void APIENTRY glGetLightxOES (GLenum light, GLenum pname, GLfixed *params);\nGLAPI void APIENTRY glGetMapxvOES (GLenum target, GLenum query, GLfixed *v);\nGLAPI void APIENTRY glGetMaterialxOES (GLenum face, GLenum pname, GLfixed param);\nGLAPI void APIENTRY glGetPixelMapxv (GLenum map, GLint size, GLfixed *values);\nGLAPI void APIENTRY glGetTexGenxvOES (GLenum coord, GLenum pname, GLfixed *params);\nGLAPI void APIENTRY glGetTexLevelParameterxvOES (GLenum target, GLint level, GLenum pname, GLfixed *params);\nGLAPI void APIENTRY glIndexxOES (GLfixed component);\nGLAPI void APIENTRY glIndexxvOES (const GLfixed *component);\nGLAPI void APIENTRY glLoadTransposeMatrixxOES (const GLfixed *m);\nGLAPI void APIENTRY glMap1xOES (GLenum target, GLfixed u1, GLfixed u2, GLint stride, GLint order, GLfixed points);\nGLAPI void APIENTRY glMap2xOES (GLenum target, GLfixed u1, GLfixed u2, GLint ustride, GLint uorder, GLfixed v1, GLfixed v2, GLint vstride, GLint vorder, GLfixed points);\nGLAPI void APIENTRY glMapGrid1xOES (GLint n, GLfixed u1, GLfixed u2);\nGLAPI void APIENTRY glMapGrid2xOES (GLint n, GLfixed u1, GLfixed u2, GLfixed v1, GLfixed v2);\nGLAPI void APIENTRY glMultTransposeMatrixxOES (const GLfixed *m);\nGLAPI void APIENTRY glMultiTexCoord1xOES (GLenum texture, GLfixed s);\nGLAPI void APIENTRY glMultiTexCoord1xvOES (GLenum texture, const GLfixed *coords);\nGLAPI void APIENTRY glMultiTexCoord2xOES (GLenum texture, GLfixed s, GLfixed t);\nGLAPI void APIENTRY glMultiTexCoord2xvOES (GLenum texture, const GLfixed *coords);\nGLAPI void APIENTRY glMultiTexCoord3xOES (GLenum texture, GLfixed s, GLfixed t, GLfixed r);\nGLAPI void APIENTRY glMultiTexCoord3xvOES (GLenum texture, const GLfixed *coords);\nGLAPI void APIENTRY glMultiTexCoord4xvOES (GLenum texture, const GLfixed *coords);\nGLAPI void APIENTRY glNormal3xvOES (const GLfixed *coords);\nGLAPI void APIENTRY glPassThroughxOES (GLfixed token);\nGLAPI void APIENTRY glPixelMapx (GLenum map, GLint size, const GLfixed *values);\nGLAPI void APIENTRY glPixelStorex (GLenum pname, GLfixed param);\nGLAPI void APIENTRY glPixelTransferxOES (GLenum pname, GLfixed param);\nGLAPI void APIENTRY glPixelZoomxOES (GLfixed xfactor, GLfixed yfactor);\nGLAPI void APIENTRY glPrioritizeTexturesxOES (GLsizei n, const GLuint *textures, const GLfixed *priorities);\nGLAPI void APIENTRY glRasterPos2xOES (GLfixed x, GLfixed y);\nGLAPI void APIENTRY glRasterPos2xvOES (const GLfixed *coords);\nGLAPI void APIENTRY glRasterPos3xOES (GLfixed x, GLfixed y, GLfixed z);\nGLAPI void APIENTRY glRasterPos3xvOES (const GLfixed *coords);\nGLAPI void APIENTRY glRasterPos4xOES (GLfixed x, GLfixed y, GLfixed z, GLfixed w);\nGLAPI void APIENTRY glRasterPos4xvOES (const GLfixed *coords);\nGLAPI void APIENTRY glRectxOES (GLfixed x1, GLfixed y1, GLfixed x2, GLfixed y2);\nGLAPI void APIENTRY glRectxvOES (const GLfixed *v1, const GLfixed *v2);\nGLAPI void APIENTRY glTexCoord1xOES (GLfixed s);\nGLAPI void APIENTRY glTexCoord1xvOES (const GLfixed *coords);\nGLAPI void APIENTRY glTexCoord2xOES (GLfixed s, GLfixed t);\nGLAPI void APIENTRY glTexCoord2xvOES (const GLfixed *coords);\nGLAPI void APIENTRY glTexCoord3xOES (GLfixed s, GLfixed t, GLfixed r);\nGLAPI void APIENTRY glTexCoord3xvOES (const GLfixed *coords);\nGLAPI void APIENTRY glTexCoord4xOES (GLfixed s, GLfixed t, GLfixed r, GLfixed q);\nGLAPI void APIENTRY glTexCoord4xvOES (const GLfixed *coords);\nGLAPI void APIENTRY glTexGenxOES (GLenum coord, GLenum pname, GLfixed param);\nGLAPI void APIENTRY glTexGenxvOES (GLenum coord, GLenum pname, const GLfixed *params);\nGLAPI void APIENTRY glVertex2xOES (GLfixed x);\nGLAPI void APIENTRY glVertex2xvOES (const GLfixed *coords);\nGLAPI void APIENTRY glVertex3xOES (GLfixed x, GLfixed y);\nGLAPI void APIENTRY glVertex3xvOES (const GLfixed *coords);\nGLAPI void APIENTRY glVertex4xOES (GLfixed x, GLfixed y, GLfixed z);\nGLAPI void APIENTRY glVertex4xvOES (const GLfixed *coords);\n#endif\n#endif /* GL_OES_fixed_point */\n\n#ifndef GL_OES_query_matrix\n#define GL_OES_query_matrix 1\ntypedef GLbitfield (APIENTRYP PFNGLQUERYMATRIXXOESPROC) (GLfixed *mantissa, GLint *exponent);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI GLbitfield APIENTRY glQueryMatrixxOES (GLfixed *mantissa, GLint *exponent);\n#endif\n#endif /* GL_OES_query_matrix */\n\n#ifndef GL_OES_read_format\n#define GL_OES_read_format 1\n#define GL_IMPLEMENTATION_COLOR_READ_TYPE_OES 0x8B9A\n#define GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES 0x8B9B\n#endif /* GL_OES_read_format */\n\n#ifndef GL_OES_single_precision\n#define GL_OES_single_precision 1\ntypedef void (APIENTRYP PFNGLCLEARDEPTHFOESPROC) (GLclampf depth);\ntypedef void (APIENTRYP PFNGLCLIPPLANEFOESPROC) (GLenum plane, const GLfloat *equation);\ntypedef void (APIENTRYP PFNGLDEPTHRANGEFOESPROC) (GLclampf n, GLclampf f);\ntypedef void (APIENTRYP PFNGLFRUSTUMFOESPROC) (GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f);\ntypedef void (APIENTRYP PFNGLGETCLIPPLANEFOESPROC) (GLenum plane, GLfloat *equation);\ntypedef void (APIENTRYP PFNGLORTHOFOESPROC) (GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glClearDepthfOES (GLclampf depth);\nGLAPI void APIENTRY glClipPlanefOES (GLenum plane, const GLfloat *equation);\nGLAPI void APIENTRY glDepthRangefOES (GLclampf n, GLclampf f);\nGLAPI void APIENTRY glFrustumfOES (GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f);\nGLAPI void APIENTRY glGetClipPlanefOES (GLenum plane, GLfloat *equation);\nGLAPI void APIENTRY glOrthofOES (GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f);\n#endif\n#endif /* GL_OES_single_precision */\n\n#ifndef GL_3DFX_multisample\n#define GL_3DFX_multisample 1\n#define GL_MULTISAMPLE_3DFX               0x86B2\n#define GL_SAMPLE_BUFFERS_3DFX            0x86B3\n#define GL_SAMPLES_3DFX                   0x86B4\n#define GL_MULTISAMPLE_BIT_3DFX           0x20000000\n#endif /* GL_3DFX_multisample */\n\n#ifndef GL_3DFX_tbuffer\n#define GL_3DFX_tbuffer 1\ntypedef void (APIENTRYP PFNGLTBUFFERMASK3DFXPROC) (GLuint mask);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glTbufferMask3DFX (GLuint mask);\n#endif\n#endif /* GL_3DFX_tbuffer */\n\n#ifndef GL_3DFX_texture_compression_FXT1\n#define GL_3DFX_texture_compression_FXT1 1\n#define GL_COMPRESSED_RGB_FXT1_3DFX       0x86B0\n#define GL_COMPRESSED_RGBA_FXT1_3DFX      0x86B1\n#endif /* GL_3DFX_texture_compression_FXT1 */\n\n#ifndef GL_AMD_blend_minmax_factor\n#define GL_AMD_blend_minmax_factor 1\n#define GL_FACTOR_MIN_AMD                 0x901C\n#define GL_FACTOR_MAX_AMD                 0x901D\n#endif /* GL_AMD_blend_minmax_factor */\n\n#ifndef GL_AMD_conservative_depth\n#define GL_AMD_conservative_depth 1\n#endif /* GL_AMD_conservative_depth */\n\n#ifndef GL_AMD_debug_output\n#define GL_AMD_debug_output 1\ntypedef void (APIENTRY  *GLDEBUGPROCAMD)(GLuint id,GLenum category,GLenum severity,GLsizei length,const GLchar *message,void *userParam);\n#define GL_MAX_DEBUG_MESSAGE_LENGTH_AMD   0x9143\n#define GL_MAX_DEBUG_LOGGED_MESSAGES_AMD  0x9144\n#define GL_DEBUG_LOGGED_MESSAGES_AMD      0x9145\n#define GL_DEBUG_SEVERITY_HIGH_AMD        0x9146\n#define GL_DEBUG_SEVERITY_MEDIUM_AMD      0x9147\n#define GL_DEBUG_SEVERITY_LOW_AMD         0x9148\n#define GL_DEBUG_CATEGORY_API_ERROR_AMD   0x9149\n#define GL_DEBUG_CATEGORY_WINDOW_SYSTEM_AMD 0x914A\n#define GL_DEBUG_CATEGORY_DEPRECATION_AMD 0x914B\n#define GL_DEBUG_CATEGORY_UNDEFINED_BEHAVIOR_AMD 0x914C\n#define GL_DEBUG_CATEGORY_PERFORMANCE_AMD 0x914D\n#define GL_DEBUG_CATEGORY_SHADER_COMPILER_AMD 0x914E\n#define GL_DEBUG_CATEGORY_APPLICATION_AMD 0x914F\n#define GL_DEBUG_CATEGORY_OTHER_AMD       0x9150\ntypedef void (APIENTRYP PFNGLDEBUGMESSAGEENABLEAMDPROC) (GLenum category, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);\ntypedef void (APIENTRYP PFNGLDEBUGMESSAGEINSERTAMDPROC) (GLenum category, GLenum severity, GLuint id, GLsizei length, const GLchar *buf);\ntypedef void (APIENTRYP PFNGLDEBUGMESSAGECALLBACKAMDPROC) (GLDEBUGPROCAMD callback, void *userParam);\ntypedef GLuint (APIENTRYP PFNGLGETDEBUGMESSAGELOGAMDPROC) (GLuint count, GLsizei bufsize, GLenum *categories, GLuint *severities, GLuint *ids, GLsizei *lengths, GLchar *message);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glDebugMessageEnableAMD (GLenum category, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);\nGLAPI void APIENTRY glDebugMessageInsertAMD (GLenum category, GLenum severity, GLuint id, GLsizei length, const GLchar *buf);\nGLAPI void APIENTRY glDebugMessageCallbackAMD (GLDEBUGPROCAMD callback, void *userParam);\nGLAPI GLuint APIENTRY glGetDebugMessageLogAMD (GLuint count, GLsizei bufsize, GLenum *categories, GLuint *severities, GLuint *ids, GLsizei *lengths, GLchar *message);\n#endif\n#endif /* GL_AMD_debug_output */\n\n#ifndef GL_AMD_depth_clamp_separate\n#define GL_AMD_depth_clamp_separate 1\n#define GL_DEPTH_CLAMP_NEAR_AMD           0x901E\n#define GL_DEPTH_CLAMP_FAR_AMD            0x901F\n#endif /* GL_AMD_depth_clamp_separate */\n\n#ifndef GL_AMD_draw_buffers_blend\n#define GL_AMD_draw_buffers_blend 1\ntypedef void (APIENTRYP PFNGLBLENDFUNCINDEXEDAMDPROC) (GLuint buf, GLenum src, GLenum dst);\ntypedef void (APIENTRYP PFNGLBLENDFUNCSEPARATEINDEXEDAMDPROC) (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);\ntypedef void (APIENTRYP PFNGLBLENDEQUATIONINDEXEDAMDPROC) (GLuint buf, GLenum mode);\ntypedef void (APIENTRYP PFNGLBLENDEQUATIONSEPARATEINDEXEDAMDPROC) (GLuint buf, GLenum modeRGB, GLenum modeAlpha);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glBlendFuncIndexedAMD (GLuint buf, GLenum src, GLenum dst);\nGLAPI void APIENTRY glBlendFuncSeparateIndexedAMD (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);\nGLAPI void APIENTRY glBlendEquationIndexedAMD (GLuint buf, GLenum mode);\nGLAPI void APIENTRY glBlendEquationSeparateIndexedAMD (GLuint buf, GLenum modeRGB, GLenum modeAlpha);\n#endif\n#endif /* GL_AMD_draw_buffers_blend */\n\n#ifndef GL_AMD_gcn_shader\n#define GL_AMD_gcn_shader 1\n#endif /* GL_AMD_gcn_shader */\n\n#ifndef GL_AMD_gpu_shader_int64\n#define GL_AMD_gpu_shader_int64 1\ntypedef int64_t GLint64EXT;\n#define GL_INT64_NV                       0x140E\n#define GL_UNSIGNED_INT64_NV              0x140F\n#define GL_INT8_NV                        0x8FE0\n#define GL_INT8_VEC2_NV                   0x8FE1\n#define GL_INT8_VEC3_NV                   0x8FE2\n#define GL_INT8_VEC4_NV                   0x8FE3\n#define GL_INT16_NV                       0x8FE4\n#define GL_INT16_VEC2_NV                  0x8FE5\n#define GL_INT16_VEC3_NV                  0x8FE6\n#define GL_INT16_VEC4_NV                  0x8FE7\n#define GL_INT64_VEC2_NV                  0x8FE9\n#define GL_INT64_VEC3_NV                  0x8FEA\n#define GL_INT64_VEC4_NV                  0x8FEB\n#define GL_UNSIGNED_INT8_NV               0x8FEC\n#define GL_UNSIGNED_INT8_VEC2_NV          0x8FED\n#define GL_UNSIGNED_INT8_VEC3_NV          0x8FEE\n#define GL_UNSIGNED_INT8_VEC4_NV          0x8FEF\n#define GL_UNSIGNED_INT16_NV              0x8FF0\n#define GL_UNSIGNED_INT16_VEC2_NV         0x8FF1\n#define GL_UNSIGNED_INT16_VEC3_NV         0x8FF2\n#define GL_UNSIGNED_INT16_VEC4_NV         0x8FF3\n#define GL_UNSIGNED_INT64_VEC2_NV         0x8FF5\n#define GL_UNSIGNED_INT64_VEC3_NV         0x8FF6\n#define GL_UNSIGNED_INT64_VEC4_NV         0x8FF7\n#define GL_FLOAT16_NV                     0x8FF8\n#define GL_FLOAT16_VEC2_NV                0x8FF9\n#define GL_FLOAT16_VEC3_NV                0x8FFA\n#define GL_FLOAT16_VEC4_NV                0x8FFB\ntypedef void (APIENTRYP PFNGLUNIFORM1I64NVPROC) (GLint location, GLint64EXT x);\ntypedef void (APIENTRYP PFNGLUNIFORM2I64NVPROC) (GLint location, GLint64EXT x, GLint64EXT y);\ntypedef void (APIENTRYP PFNGLUNIFORM3I64NVPROC) (GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z);\ntypedef void (APIENTRYP PFNGLUNIFORM4I64NVPROC) (GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w);\ntypedef void (APIENTRYP PFNGLUNIFORM1I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT *value);\ntypedef void (APIENTRYP PFNGLUNIFORM2I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT *value);\ntypedef void (APIENTRYP PFNGLUNIFORM3I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT *value);\ntypedef void (APIENTRYP PFNGLUNIFORM4I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT *value);\ntypedef void (APIENTRYP PFNGLUNIFORM1UI64NVPROC) (GLint location, GLuint64EXT x);\ntypedef void (APIENTRYP PFNGLUNIFORM2UI64NVPROC) (GLint location, GLuint64EXT x, GLuint64EXT y);\ntypedef void (APIENTRYP PFNGLUNIFORM3UI64NVPROC) (GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z);\ntypedef void (APIENTRYP PFNGLUNIFORM4UI64NVPROC) (GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w);\ntypedef void (APIENTRYP PFNGLUNIFORM1UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT *value);\ntypedef void (APIENTRYP PFNGLUNIFORM2UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT *value);\ntypedef void (APIENTRYP PFNGLUNIFORM3UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT *value);\ntypedef void (APIENTRYP PFNGLUNIFORM4UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT *value);\ntypedef void (APIENTRYP PFNGLGETUNIFORMI64VNVPROC) (GLuint program, GLint location, GLint64EXT *params);\ntypedef void (APIENTRYP PFNGLGETUNIFORMUI64VNVPROC) (GLuint program, GLint location, GLuint64EXT *params);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM1I64NVPROC) (GLuint program, GLint location, GLint64EXT x);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM2I64NVPROC) (GLuint program, GLint location, GLint64EXT x, GLint64EXT y);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM3I64NVPROC) (GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM4I64NVPROC) (GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM1I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT *value);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM2I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT *value);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM3I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT *value);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM4I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT *value);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM1UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM2UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM3UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM4UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM1UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM2UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM3UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM4UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glUniform1i64NV (GLint location, GLint64EXT x);\nGLAPI void APIENTRY glUniform2i64NV (GLint location, GLint64EXT x, GLint64EXT y);\nGLAPI void APIENTRY glUniform3i64NV (GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z);\nGLAPI void APIENTRY glUniform4i64NV (GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w);\nGLAPI void APIENTRY glUniform1i64vNV (GLint location, GLsizei count, const GLint64EXT *value);\nGLAPI void APIENTRY glUniform2i64vNV (GLint location, GLsizei count, const GLint64EXT *value);\nGLAPI void APIENTRY glUniform3i64vNV (GLint location, GLsizei count, const GLint64EXT *value);\nGLAPI void APIENTRY glUniform4i64vNV (GLint location, GLsizei count, const GLint64EXT *value);\nGLAPI void APIENTRY glUniform1ui64NV (GLint location, GLuint64EXT x);\nGLAPI void APIENTRY glUniform2ui64NV (GLint location, GLuint64EXT x, GLuint64EXT y);\nGLAPI void APIENTRY glUniform3ui64NV (GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z);\nGLAPI void APIENTRY glUniform4ui64NV (GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w);\nGLAPI void APIENTRY glUniform1ui64vNV (GLint location, GLsizei count, const GLuint64EXT *value);\nGLAPI void APIENTRY glUniform2ui64vNV (GLint location, GLsizei count, const GLuint64EXT *value);\nGLAPI void APIENTRY glUniform3ui64vNV (GLint location, GLsizei count, const GLuint64EXT *value);\nGLAPI void APIENTRY glUniform4ui64vNV (GLint location, GLsizei count, const GLuint64EXT *value);\nGLAPI void APIENTRY glGetUniformi64vNV (GLuint program, GLint location, GLint64EXT *params);\nGLAPI void APIENTRY glGetUniformui64vNV (GLuint program, GLint location, GLuint64EXT *params);\nGLAPI void APIENTRY glProgramUniform1i64NV (GLuint program, GLint location, GLint64EXT x);\nGLAPI void APIENTRY glProgramUniform2i64NV (GLuint program, GLint location, GLint64EXT x, GLint64EXT y);\nGLAPI void APIENTRY glProgramUniform3i64NV (GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z);\nGLAPI void APIENTRY glProgramUniform4i64NV (GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w);\nGLAPI void APIENTRY glProgramUniform1i64vNV (GLuint program, GLint location, GLsizei count, const GLint64EXT *value);\nGLAPI void APIENTRY glProgramUniform2i64vNV (GLuint program, GLint location, GLsizei count, const GLint64EXT *value);\nGLAPI void APIENTRY glProgramUniform3i64vNV (GLuint program, GLint location, GLsizei count, const GLint64EXT *value);\nGLAPI void APIENTRY glProgramUniform4i64vNV (GLuint program, GLint location, GLsizei count, const GLint64EXT *value);\nGLAPI void APIENTRY glProgramUniform1ui64NV (GLuint program, GLint location, GLuint64EXT x);\nGLAPI void APIENTRY glProgramUniform2ui64NV (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y);\nGLAPI void APIENTRY glProgramUniform3ui64NV (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z);\nGLAPI void APIENTRY glProgramUniform4ui64NV (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w);\nGLAPI void APIENTRY glProgramUniform1ui64vNV (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);\nGLAPI void APIENTRY glProgramUniform2ui64vNV (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);\nGLAPI void APIENTRY glProgramUniform3ui64vNV (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);\nGLAPI void APIENTRY glProgramUniform4ui64vNV (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);\n#endif\n#endif /* GL_AMD_gpu_shader_int64 */\n\n#ifndef GL_AMD_interleaved_elements\n#define GL_AMD_interleaved_elements 1\n#define GL_VERTEX_ELEMENT_SWIZZLE_AMD     0x91A4\n#define GL_VERTEX_ID_SWIZZLE_AMD          0x91A5\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBPARAMETERIAMDPROC) (GLuint index, GLenum pname, GLint param);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glVertexAttribParameteriAMD (GLuint index, GLenum pname, GLint param);\n#endif\n#endif /* GL_AMD_interleaved_elements */\n\n#ifndef GL_AMD_multi_draw_indirect\n#define GL_AMD_multi_draw_indirect 1\ntypedef void (APIENTRYP PFNGLMULTIDRAWARRAYSINDIRECTAMDPROC) (GLenum mode, const void *indirect, GLsizei primcount, GLsizei stride);\ntypedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSINDIRECTAMDPROC) (GLenum mode, GLenum type, const void *indirect, GLsizei primcount, GLsizei stride);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glMultiDrawArraysIndirectAMD (GLenum mode, const void *indirect, GLsizei primcount, GLsizei stride);\nGLAPI void APIENTRY glMultiDrawElementsIndirectAMD (GLenum mode, GLenum type, const void *indirect, GLsizei primcount, GLsizei stride);\n#endif\n#endif /* GL_AMD_multi_draw_indirect */\n\n#ifndef GL_AMD_name_gen_delete\n#define GL_AMD_name_gen_delete 1\n#define GL_DATA_BUFFER_AMD                0x9151\n#define GL_PERFORMANCE_MONITOR_AMD        0x9152\n#define GL_QUERY_OBJECT_AMD               0x9153\n#define GL_VERTEX_ARRAY_OBJECT_AMD        0x9154\n#define GL_SAMPLER_OBJECT_AMD             0x9155\ntypedef void (APIENTRYP PFNGLGENNAMESAMDPROC) (GLenum identifier, GLuint num, GLuint *names);\ntypedef void (APIENTRYP PFNGLDELETENAMESAMDPROC) (GLenum identifier, GLuint num, const GLuint *names);\ntypedef GLboolean (APIENTRYP PFNGLISNAMEAMDPROC) (GLenum identifier, GLuint name);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glGenNamesAMD (GLenum identifier, GLuint num, GLuint *names);\nGLAPI void APIENTRY glDeleteNamesAMD (GLenum identifier, GLuint num, const GLuint *names);\nGLAPI GLboolean APIENTRY glIsNameAMD (GLenum identifier, GLuint name);\n#endif\n#endif /* GL_AMD_name_gen_delete */\n\n#ifndef GL_AMD_occlusion_query_event\n#define GL_AMD_occlusion_query_event 1\n#define GL_OCCLUSION_QUERY_EVENT_MASK_AMD 0x874F\n#define GL_QUERY_DEPTH_PASS_EVENT_BIT_AMD 0x00000001\n#define GL_QUERY_DEPTH_FAIL_EVENT_BIT_AMD 0x00000002\n#define GL_QUERY_STENCIL_FAIL_EVENT_BIT_AMD 0x00000004\n#define GL_QUERY_DEPTH_BOUNDS_FAIL_EVENT_BIT_AMD 0x00000008\n#define GL_QUERY_ALL_EVENT_BITS_AMD       0xFFFFFFFF\ntypedef void (APIENTRYP PFNGLQUERYOBJECTPARAMETERUIAMDPROC) (GLenum target, GLuint id, GLenum pname, GLuint param);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glQueryObjectParameteruiAMD (GLenum target, GLuint id, GLenum pname, GLuint param);\n#endif\n#endif /* GL_AMD_occlusion_query_event */\n\n#ifndef GL_AMD_performance_monitor\n#define GL_AMD_performance_monitor 1\n#define GL_COUNTER_TYPE_AMD               0x8BC0\n#define GL_COUNTER_RANGE_AMD              0x8BC1\n#define GL_UNSIGNED_INT64_AMD             0x8BC2\n#define GL_PERCENTAGE_AMD                 0x8BC3\n#define GL_PERFMON_RESULT_AVAILABLE_AMD   0x8BC4\n#define GL_PERFMON_RESULT_SIZE_AMD        0x8BC5\n#define GL_PERFMON_RESULT_AMD             0x8BC6\ntypedef void (APIENTRYP PFNGLGETPERFMONITORGROUPSAMDPROC) (GLint *numGroups, GLsizei groupsSize, GLuint *groups);\ntypedef void (APIENTRYP PFNGLGETPERFMONITORCOUNTERSAMDPROC) (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);\ntypedef void (APIENTRYP PFNGLGETPERFMONITORGROUPSTRINGAMDPROC) (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);\ntypedef void (APIENTRYP PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC) (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);\ntypedef void (APIENTRYP PFNGLGETPERFMONITORCOUNTERINFOAMDPROC) (GLuint group, GLuint counter, GLenum pname, void *data);\ntypedef void (APIENTRYP PFNGLGENPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors);\ntypedef void (APIENTRYP PFNGLDELETEPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors);\ntypedef void (APIENTRYP PFNGLSELECTPERFMONITORCOUNTERSAMDPROC) (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *counterList);\ntypedef void (APIENTRYP PFNGLBEGINPERFMONITORAMDPROC) (GLuint monitor);\ntypedef void (APIENTRYP PFNGLENDPERFMONITORAMDPROC) (GLuint monitor);\ntypedef void (APIENTRYP PFNGLGETPERFMONITORCOUNTERDATAAMDPROC) (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glGetPerfMonitorGroupsAMD (GLint *numGroups, GLsizei groupsSize, GLuint *groups);\nGLAPI void APIENTRY glGetPerfMonitorCountersAMD (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);\nGLAPI void APIENTRY glGetPerfMonitorGroupStringAMD (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);\nGLAPI void APIENTRY glGetPerfMonitorCounterStringAMD (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);\nGLAPI void APIENTRY glGetPerfMonitorCounterInfoAMD (GLuint group, GLuint counter, GLenum pname, void *data);\nGLAPI void APIENTRY glGenPerfMonitorsAMD (GLsizei n, GLuint *monitors);\nGLAPI void APIENTRY glDeletePerfMonitorsAMD (GLsizei n, GLuint *monitors);\nGLAPI void APIENTRY glSelectPerfMonitorCountersAMD (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *counterList);\nGLAPI void APIENTRY glBeginPerfMonitorAMD (GLuint monitor);\nGLAPI void APIENTRY glEndPerfMonitorAMD (GLuint monitor);\nGLAPI void APIENTRY glGetPerfMonitorCounterDataAMD (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);\n#endif\n#endif /* GL_AMD_performance_monitor */\n\n#ifndef GL_AMD_pinned_memory\n#define GL_AMD_pinned_memory 1\n#define GL_EXTERNAL_VIRTUAL_MEMORY_BUFFER_AMD 0x9160\n#endif /* GL_AMD_pinned_memory */\n\n#ifndef GL_AMD_query_buffer_object\n#define GL_AMD_query_buffer_object 1\n#define GL_QUERY_BUFFER_AMD               0x9192\n#define GL_QUERY_BUFFER_BINDING_AMD       0x9193\n#define GL_QUERY_RESULT_NO_WAIT_AMD       0x9194\n#endif /* GL_AMD_query_buffer_object */\n\n#ifndef GL_AMD_sample_positions\n#define GL_AMD_sample_positions 1\n#define GL_SUBSAMPLE_DISTANCE_AMD         0x883F\ntypedef void (APIENTRYP PFNGLSETMULTISAMPLEFVAMDPROC) (GLenum pname, GLuint index, const GLfloat *val);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glSetMultisamplefvAMD (GLenum pname, GLuint index, const GLfloat *val);\n#endif\n#endif /* GL_AMD_sample_positions */\n\n#ifndef GL_AMD_seamless_cubemap_per_texture\n#define GL_AMD_seamless_cubemap_per_texture 1\n#endif /* GL_AMD_seamless_cubemap_per_texture */\n\n#ifndef GL_AMD_shader_atomic_counter_ops\n#define GL_AMD_shader_atomic_counter_ops 1\n#endif /* GL_AMD_shader_atomic_counter_ops */\n\n#ifndef GL_AMD_shader_stencil_export\n#define GL_AMD_shader_stencil_export 1\n#endif /* GL_AMD_shader_stencil_export */\n\n#ifndef GL_AMD_shader_trinary_minmax\n#define GL_AMD_shader_trinary_minmax 1\n#endif /* GL_AMD_shader_trinary_minmax */\n\n#ifndef GL_AMD_sparse_texture\n#define GL_AMD_sparse_texture 1\n#define GL_VIRTUAL_PAGE_SIZE_X_AMD        0x9195\n#define GL_VIRTUAL_PAGE_SIZE_Y_AMD        0x9196\n#define GL_VIRTUAL_PAGE_SIZE_Z_AMD        0x9197\n#define GL_MAX_SPARSE_TEXTURE_SIZE_AMD    0x9198\n#define GL_MAX_SPARSE_3D_TEXTURE_SIZE_AMD 0x9199\n#define GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS 0x919A\n#define GL_MIN_SPARSE_LEVEL_AMD           0x919B\n#define GL_MIN_LOD_WARNING_AMD            0x919C\n#define GL_TEXTURE_STORAGE_SPARSE_BIT_AMD 0x00000001\ntypedef void (APIENTRYP PFNGLTEXSTORAGESPARSEAMDPROC) (GLenum target, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLsizei layers, GLbitfield flags);\ntypedef void (APIENTRYP PFNGLTEXTURESTORAGESPARSEAMDPROC) (GLuint texture, GLenum target, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLsizei layers, GLbitfield flags);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glTexStorageSparseAMD (GLenum target, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLsizei layers, GLbitfield flags);\nGLAPI void APIENTRY glTextureStorageSparseAMD (GLuint texture, GLenum target, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLsizei layers, GLbitfield flags);\n#endif\n#endif /* GL_AMD_sparse_texture */\n\n#ifndef GL_AMD_stencil_operation_extended\n#define GL_AMD_stencil_operation_extended 1\n#define GL_SET_AMD                        0x874A\n#define GL_REPLACE_VALUE_AMD              0x874B\n#define GL_STENCIL_OP_VALUE_AMD           0x874C\n#define GL_STENCIL_BACK_OP_VALUE_AMD      0x874D\ntypedef void (APIENTRYP PFNGLSTENCILOPVALUEAMDPROC) (GLenum face, GLuint value);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glStencilOpValueAMD (GLenum face, GLuint value);\n#endif\n#endif /* GL_AMD_stencil_operation_extended */\n\n#ifndef GL_AMD_texture_texture4\n#define GL_AMD_texture_texture4 1\n#endif /* GL_AMD_texture_texture4 */\n\n#ifndef GL_AMD_transform_feedback3_lines_triangles\n#define GL_AMD_transform_feedback3_lines_triangles 1\n#endif /* GL_AMD_transform_feedback3_lines_triangles */\n\n#ifndef GL_AMD_transform_feedback4\n#define GL_AMD_transform_feedback4 1\n#define GL_STREAM_RASTERIZATION_AMD       0x91A0\n#endif /* GL_AMD_transform_feedback4 */\n\n#ifndef GL_AMD_vertex_shader_layer\n#define GL_AMD_vertex_shader_layer 1\n#endif /* GL_AMD_vertex_shader_layer */\n\n#ifndef GL_AMD_vertex_shader_tessellator\n#define GL_AMD_vertex_shader_tessellator 1\n#define GL_SAMPLER_BUFFER_AMD             0x9001\n#define GL_INT_SAMPLER_BUFFER_AMD         0x9002\n#define GL_UNSIGNED_INT_SAMPLER_BUFFER_AMD 0x9003\n#define GL_TESSELLATION_MODE_AMD          0x9004\n#define GL_TESSELLATION_FACTOR_AMD        0x9005\n#define GL_DISCRETE_AMD                   0x9006\n#define GL_CONTINUOUS_AMD                 0x9007\ntypedef void (APIENTRYP PFNGLTESSELLATIONFACTORAMDPROC) (GLfloat factor);\ntypedef void (APIENTRYP PFNGLTESSELLATIONMODEAMDPROC) (GLenum mode);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glTessellationFactorAMD (GLfloat factor);\nGLAPI void APIENTRY glTessellationModeAMD (GLenum mode);\n#endif\n#endif /* GL_AMD_vertex_shader_tessellator */\n\n#ifndef GL_AMD_vertex_shader_viewport_index\n#define GL_AMD_vertex_shader_viewport_index 1\n#endif /* GL_AMD_vertex_shader_viewport_index */\n\n#ifndef GL_APPLE_aux_depth_stencil\n#define GL_APPLE_aux_depth_stencil 1\n#define GL_AUX_DEPTH_STENCIL_APPLE        0x8A14\n#endif /* GL_APPLE_aux_depth_stencil */\n\n#ifndef GL_APPLE_client_storage\n#define GL_APPLE_client_storage 1\n#define GL_UNPACK_CLIENT_STORAGE_APPLE    0x85B2\n#endif /* GL_APPLE_client_storage */\n\n#ifndef GL_APPLE_element_array\n#define GL_APPLE_element_array 1\n#define GL_ELEMENT_ARRAY_APPLE            0x8A0C\n#define GL_ELEMENT_ARRAY_TYPE_APPLE       0x8A0D\n#define GL_ELEMENT_ARRAY_POINTER_APPLE    0x8A0E\ntypedef void (APIENTRYP PFNGLELEMENTPOINTERAPPLEPROC) (GLenum type, const void *pointer);\ntypedef void (APIENTRYP PFNGLDRAWELEMENTARRAYAPPLEPROC) (GLenum mode, GLint first, GLsizei count);\ntypedef void (APIENTRYP PFNGLDRAWRANGEELEMENTARRAYAPPLEPROC) (GLenum mode, GLuint start, GLuint end, GLint first, GLsizei count);\ntypedef void (APIENTRYP PFNGLMULTIDRAWELEMENTARRAYAPPLEPROC) (GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);\ntypedef void (APIENTRYP PFNGLMULTIDRAWRANGEELEMENTARRAYAPPLEPROC) (GLenum mode, GLuint start, GLuint end, const GLint *first, const GLsizei *count, GLsizei primcount);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glElementPointerAPPLE (GLenum type, const void *pointer);\nGLAPI void APIENTRY glDrawElementArrayAPPLE (GLenum mode, GLint first, GLsizei count);\nGLAPI void APIENTRY glDrawRangeElementArrayAPPLE (GLenum mode, GLuint start, GLuint end, GLint first, GLsizei count);\nGLAPI void APIENTRY glMultiDrawElementArrayAPPLE (GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);\nGLAPI void APIENTRY glMultiDrawRangeElementArrayAPPLE (GLenum mode, GLuint start, GLuint end, const GLint *first, const GLsizei *count, GLsizei primcount);\n#endif\n#endif /* GL_APPLE_element_array */\n\n#ifndef GL_APPLE_fence\n#define GL_APPLE_fence 1\n#define GL_DRAW_PIXELS_APPLE              0x8A0A\n#define GL_FENCE_APPLE                    0x8A0B\ntypedef void (APIENTRYP PFNGLGENFENCESAPPLEPROC) (GLsizei n, GLuint *fences);\ntypedef void (APIENTRYP PFNGLDELETEFENCESAPPLEPROC) (GLsizei n, const GLuint *fences);\ntypedef void (APIENTRYP PFNGLSETFENCEAPPLEPROC) (GLuint fence);\ntypedef GLboolean (APIENTRYP PFNGLISFENCEAPPLEPROC) (GLuint fence);\ntypedef GLboolean (APIENTRYP PFNGLTESTFENCEAPPLEPROC) (GLuint fence);\ntypedef void (APIENTRYP PFNGLFINISHFENCEAPPLEPROC) (GLuint fence);\ntypedef GLboolean (APIENTRYP PFNGLTESTOBJECTAPPLEPROC) (GLenum object, GLuint name);\ntypedef void (APIENTRYP PFNGLFINISHOBJECTAPPLEPROC) (GLenum object, GLint name);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glGenFencesAPPLE (GLsizei n, GLuint *fences);\nGLAPI void APIENTRY glDeleteFencesAPPLE (GLsizei n, const GLuint *fences);\nGLAPI void APIENTRY glSetFenceAPPLE (GLuint fence);\nGLAPI GLboolean APIENTRY glIsFenceAPPLE (GLuint fence);\nGLAPI GLboolean APIENTRY glTestFenceAPPLE (GLuint fence);\nGLAPI void APIENTRY glFinishFenceAPPLE (GLuint fence);\nGLAPI GLboolean APIENTRY glTestObjectAPPLE (GLenum object, GLuint name);\nGLAPI void APIENTRY glFinishObjectAPPLE (GLenum object, GLint name);\n#endif\n#endif /* GL_APPLE_fence */\n\n#ifndef GL_APPLE_float_pixels\n#define GL_APPLE_float_pixels 1\n#define GL_HALF_APPLE                     0x140B\n#define GL_RGBA_FLOAT32_APPLE             0x8814\n#define GL_RGB_FLOAT32_APPLE              0x8815\n#define GL_ALPHA_FLOAT32_APPLE            0x8816\n#define GL_INTENSITY_FLOAT32_APPLE        0x8817\n#define GL_LUMINANCE_FLOAT32_APPLE        0x8818\n#define GL_LUMINANCE_ALPHA_FLOAT32_APPLE  0x8819\n#define GL_RGBA_FLOAT16_APPLE             0x881A\n#define GL_RGB_FLOAT16_APPLE              0x881B\n#define GL_ALPHA_FLOAT16_APPLE            0x881C\n#define GL_INTENSITY_FLOAT16_APPLE        0x881D\n#define GL_LUMINANCE_FLOAT16_APPLE        0x881E\n#define GL_LUMINANCE_ALPHA_FLOAT16_APPLE  0x881F\n#define GL_COLOR_FLOAT_APPLE              0x8A0F\n#endif /* GL_APPLE_float_pixels */\n\n#ifndef GL_APPLE_flush_buffer_range\n#define GL_APPLE_flush_buffer_range 1\n#define GL_BUFFER_SERIALIZED_MODIFY_APPLE 0x8A12\n#define GL_BUFFER_FLUSHING_UNMAP_APPLE    0x8A13\ntypedef void (APIENTRYP PFNGLBUFFERPARAMETERIAPPLEPROC) (GLenum target, GLenum pname, GLint param);\ntypedef void (APIENTRYP PFNGLFLUSHMAPPEDBUFFERRANGEAPPLEPROC) (GLenum target, GLintptr offset, GLsizeiptr size);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glBufferParameteriAPPLE (GLenum target, GLenum pname, GLint param);\nGLAPI void APIENTRY glFlushMappedBufferRangeAPPLE (GLenum target, GLintptr offset, GLsizeiptr size);\n#endif\n#endif /* GL_APPLE_flush_buffer_range */\n\n#ifndef GL_APPLE_object_purgeable\n#define GL_APPLE_object_purgeable 1\n#define GL_BUFFER_OBJECT_APPLE            0x85B3\n#define GL_RELEASED_APPLE                 0x8A19\n#define GL_VOLATILE_APPLE                 0x8A1A\n#define GL_RETAINED_APPLE                 0x8A1B\n#define GL_UNDEFINED_APPLE                0x8A1C\n#define GL_PURGEABLE_APPLE                0x8A1D\ntypedef GLenum (APIENTRYP PFNGLOBJECTPURGEABLEAPPLEPROC) (GLenum objectType, GLuint name, GLenum option);\ntypedef GLenum (APIENTRYP PFNGLOBJECTUNPURGEABLEAPPLEPROC) (GLenum objectType, GLuint name, GLenum option);\ntypedef void (APIENTRYP PFNGLGETOBJECTPARAMETERIVAPPLEPROC) (GLenum objectType, GLuint name, GLenum pname, GLint *params);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI GLenum APIENTRY glObjectPurgeableAPPLE (GLenum objectType, GLuint name, GLenum option);\nGLAPI GLenum APIENTRY glObjectUnpurgeableAPPLE (GLenum objectType, GLuint name, GLenum option);\nGLAPI void APIENTRY glGetObjectParameterivAPPLE (GLenum objectType, GLuint name, GLenum pname, GLint *params);\n#endif\n#endif /* GL_APPLE_object_purgeable */\n\n#ifndef GL_APPLE_rgb_422\n#define GL_APPLE_rgb_422 1\n#define GL_RGB_422_APPLE                  0x8A1F\n#define GL_UNSIGNED_SHORT_8_8_APPLE       0x85BA\n#define GL_UNSIGNED_SHORT_8_8_REV_APPLE   0x85BB\n#define GL_RGB_RAW_422_APPLE              0x8A51\n#endif /* GL_APPLE_rgb_422 */\n\n#ifndef GL_APPLE_row_bytes\n#define GL_APPLE_row_bytes 1\n#define GL_PACK_ROW_BYTES_APPLE           0x8A15\n#define GL_UNPACK_ROW_BYTES_APPLE         0x8A16\n#endif /* GL_APPLE_row_bytes */\n\n#ifndef GL_APPLE_specular_vector\n#define GL_APPLE_specular_vector 1\n#define GL_LIGHT_MODEL_SPECULAR_VECTOR_APPLE 0x85B0\n#endif /* GL_APPLE_specular_vector */\n\n#ifndef GL_APPLE_texture_range\n#define GL_APPLE_texture_range 1\n#define GL_TEXTURE_RANGE_LENGTH_APPLE     0x85B7\n#define GL_TEXTURE_RANGE_POINTER_APPLE    0x85B8\n#define GL_TEXTURE_STORAGE_HINT_APPLE     0x85BC\n#define GL_STORAGE_PRIVATE_APPLE          0x85BD\n#define GL_STORAGE_CACHED_APPLE           0x85BE\n#define GL_STORAGE_SHARED_APPLE           0x85BF\ntypedef void (APIENTRYP PFNGLTEXTURERANGEAPPLEPROC) (GLenum target, GLsizei length, const void *pointer);\ntypedef void (APIENTRYP PFNGLGETTEXPARAMETERPOINTERVAPPLEPROC) (GLenum target, GLenum pname, void **params);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glTextureRangeAPPLE (GLenum target, GLsizei length, const void *pointer);\nGLAPI void APIENTRY glGetTexParameterPointervAPPLE (GLenum target, GLenum pname, void **params);\n#endif\n#endif /* GL_APPLE_texture_range */\n\n#ifndef GL_APPLE_transform_hint\n#define GL_APPLE_transform_hint 1\n#define GL_TRANSFORM_HINT_APPLE           0x85B1\n#endif /* GL_APPLE_transform_hint */\n\n#ifndef GL_APPLE_vertex_array_object\n#define GL_APPLE_vertex_array_object 1\n#define GL_VERTEX_ARRAY_BINDING_APPLE     0x85B5\ntypedef void (APIENTRYP PFNGLBINDVERTEXARRAYAPPLEPROC) (GLuint array);\ntypedef void (APIENTRYP PFNGLDELETEVERTEXARRAYSAPPLEPROC) (GLsizei n, const GLuint *arrays);\ntypedef void (APIENTRYP PFNGLGENVERTEXARRAYSAPPLEPROC) (GLsizei n, GLuint *arrays);\ntypedef GLboolean (APIENTRYP PFNGLISVERTEXARRAYAPPLEPROC) (GLuint array);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glBindVertexArrayAPPLE (GLuint array);\nGLAPI void APIENTRY glDeleteVertexArraysAPPLE (GLsizei n, const GLuint *arrays);\nGLAPI void APIENTRY glGenVertexArraysAPPLE (GLsizei n, GLuint *arrays);\nGLAPI GLboolean APIENTRY glIsVertexArrayAPPLE (GLuint array);\n#endif\n#endif /* GL_APPLE_vertex_array_object */\n\n#ifndef GL_APPLE_vertex_array_range\n#define GL_APPLE_vertex_array_range 1\n#define GL_VERTEX_ARRAY_RANGE_APPLE       0x851D\n#define GL_VERTEX_ARRAY_RANGE_LENGTH_APPLE 0x851E\n#define GL_VERTEX_ARRAY_STORAGE_HINT_APPLE 0x851F\n#define GL_VERTEX_ARRAY_RANGE_POINTER_APPLE 0x8521\n#define GL_STORAGE_CLIENT_APPLE           0x85B4\ntypedef void (APIENTRYP PFNGLVERTEXARRAYRANGEAPPLEPROC) (GLsizei length, void *pointer);\ntypedef void (APIENTRYP PFNGLFLUSHVERTEXARRAYRANGEAPPLEPROC) (GLsizei length, void *pointer);\ntypedef void (APIENTRYP PFNGLVERTEXARRAYPARAMETERIAPPLEPROC) (GLenum pname, GLint param);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glVertexArrayRangeAPPLE (GLsizei length, void *pointer);\nGLAPI void APIENTRY glFlushVertexArrayRangeAPPLE (GLsizei length, void *pointer);\nGLAPI void APIENTRY glVertexArrayParameteriAPPLE (GLenum pname, GLint param);\n#endif\n#endif /* GL_APPLE_vertex_array_range */\n\n#ifndef GL_APPLE_vertex_program_evaluators\n#define GL_APPLE_vertex_program_evaluators 1\n#define GL_VERTEX_ATTRIB_MAP1_APPLE       0x8A00\n#define GL_VERTEX_ATTRIB_MAP2_APPLE       0x8A01\n#define GL_VERTEX_ATTRIB_MAP1_SIZE_APPLE  0x8A02\n#define GL_VERTEX_ATTRIB_MAP1_COEFF_APPLE 0x8A03\n#define GL_VERTEX_ATTRIB_MAP1_ORDER_APPLE 0x8A04\n#define GL_VERTEX_ATTRIB_MAP1_DOMAIN_APPLE 0x8A05\n#define GL_VERTEX_ATTRIB_MAP2_SIZE_APPLE  0x8A06\n#define GL_VERTEX_ATTRIB_MAP2_COEFF_APPLE 0x8A07\n#define GL_VERTEX_ATTRIB_MAP2_ORDER_APPLE 0x8A08\n#define GL_VERTEX_ATTRIB_MAP2_DOMAIN_APPLE 0x8A09\ntypedef void (APIENTRYP PFNGLENABLEVERTEXATTRIBAPPLEPROC) (GLuint index, GLenum pname);\ntypedef void (APIENTRYP PFNGLDISABLEVERTEXATTRIBAPPLEPROC) (GLuint index, GLenum pname);\ntypedef GLboolean (APIENTRYP PFNGLISVERTEXATTRIBENABLEDAPPLEPROC) (GLuint index, GLenum pname);\ntypedef void (APIENTRYP PFNGLMAPVERTEXATTRIB1DAPPLEPROC) (GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points);\ntypedef void (APIENTRYP PFNGLMAPVERTEXATTRIB1FAPPLEPROC) (GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points);\ntypedef void (APIENTRYP PFNGLMAPVERTEXATTRIB2DAPPLEPROC) (GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points);\ntypedef void (APIENTRYP PFNGLMAPVERTEXATTRIB2FAPPLEPROC) (GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glEnableVertexAttribAPPLE (GLuint index, GLenum pname);\nGLAPI void APIENTRY glDisableVertexAttribAPPLE (GLuint index, GLenum pname);\nGLAPI GLboolean APIENTRY glIsVertexAttribEnabledAPPLE (GLuint index, GLenum pname);\nGLAPI void APIENTRY glMapVertexAttrib1dAPPLE (GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points);\nGLAPI void APIENTRY glMapVertexAttrib1fAPPLE (GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points);\nGLAPI void APIENTRY glMapVertexAttrib2dAPPLE (GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points);\nGLAPI void APIENTRY glMapVertexAttrib2fAPPLE (GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points);\n#endif\n#endif /* GL_APPLE_vertex_program_evaluators */\n\n#ifndef GL_APPLE_ycbcr_422\n#define GL_APPLE_ycbcr_422 1\n#define GL_YCBCR_422_APPLE                0x85B9\n#endif /* GL_APPLE_ycbcr_422 */\n\n#ifndef GL_ATI_draw_buffers\n#define GL_ATI_draw_buffers 1\n#define GL_MAX_DRAW_BUFFERS_ATI           0x8824\n#define GL_DRAW_BUFFER0_ATI               0x8825\n#define GL_DRAW_BUFFER1_ATI               0x8826\n#define GL_DRAW_BUFFER2_ATI               0x8827\n#define GL_DRAW_BUFFER3_ATI               0x8828\n#define GL_DRAW_BUFFER4_ATI               0x8829\n#define GL_DRAW_BUFFER5_ATI               0x882A\n#define GL_DRAW_BUFFER6_ATI               0x882B\n#define GL_DRAW_BUFFER7_ATI               0x882C\n#define GL_DRAW_BUFFER8_ATI               0x882D\n#define GL_DRAW_BUFFER9_ATI               0x882E\n#define GL_DRAW_BUFFER10_ATI              0x882F\n#define GL_DRAW_BUFFER11_ATI              0x8830\n#define GL_DRAW_BUFFER12_ATI              0x8831\n#define GL_DRAW_BUFFER13_ATI              0x8832\n#define GL_DRAW_BUFFER14_ATI              0x8833\n#define GL_DRAW_BUFFER15_ATI              0x8834\ntypedef void (APIENTRYP PFNGLDRAWBUFFERSATIPROC) (GLsizei n, const GLenum *bufs);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glDrawBuffersATI (GLsizei n, const GLenum *bufs);\n#endif\n#endif /* GL_ATI_draw_buffers */\n\n#ifndef GL_ATI_element_array\n#define GL_ATI_element_array 1\n#define GL_ELEMENT_ARRAY_ATI              0x8768\n#define GL_ELEMENT_ARRAY_TYPE_ATI         0x8769\n#define GL_ELEMENT_ARRAY_POINTER_ATI      0x876A\ntypedef void (APIENTRYP PFNGLELEMENTPOINTERATIPROC) (GLenum type, const void *pointer);\ntypedef void (APIENTRYP PFNGLDRAWELEMENTARRAYATIPROC) (GLenum mode, GLsizei count);\ntypedef void (APIENTRYP PFNGLDRAWRANGEELEMENTARRAYATIPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glElementPointerATI (GLenum type, const void *pointer);\nGLAPI void APIENTRY glDrawElementArrayATI (GLenum mode, GLsizei count);\nGLAPI void APIENTRY glDrawRangeElementArrayATI (GLenum mode, GLuint start, GLuint end, GLsizei count);\n#endif\n#endif /* GL_ATI_element_array */\n\n#ifndef GL_ATI_envmap_bumpmap\n#define GL_ATI_envmap_bumpmap 1\n#define GL_BUMP_ROT_MATRIX_ATI            0x8775\n#define GL_BUMP_ROT_MATRIX_SIZE_ATI       0x8776\n#define GL_BUMP_NUM_TEX_UNITS_ATI         0x8777\n#define GL_BUMP_TEX_UNITS_ATI             0x8778\n#define GL_DUDV_ATI                       0x8779\n#define GL_DU8DV8_ATI                     0x877A\n#define GL_BUMP_ENVMAP_ATI                0x877B\n#define GL_BUMP_TARGET_ATI                0x877C\ntypedef void (APIENTRYP PFNGLTEXBUMPPARAMETERIVATIPROC) (GLenum pname, const GLint *param);\ntypedef void (APIENTRYP PFNGLTEXBUMPPARAMETERFVATIPROC) (GLenum pname, const GLfloat *param);\ntypedef void (APIENTRYP PFNGLGETTEXBUMPPARAMETERIVATIPROC) (GLenum pname, GLint *param);\ntypedef void (APIENTRYP PFNGLGETTEXBUMPPARAMETERFVATIPROC) (GLenum pname, GLfloat *param);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glTexBumpParameterivATI (GLenum pname, const GLint *param);\nGLAPI void APIENTRY glTexBumpParameterfvATI (GLenum pname, const GLfloat *param);\nGLAPI void APIENTRY glGetTexBumpParameterivATI (GLenum pname, GLint *param);\nGLAPI void APIENTRY glGetTexBumpParameterfvATI (GLenum pname, GLfloat *param);\n#endif\n#endif /* GL_ATI_envmap_bumpmap */\n\n#ifndef GL_ATI_fragment_shader\n#define GL_ATI_fragment_shader 1\n#define GL_FRAGMENT_SHADER_ATI            0x8920\n#define GL_REG_0_ATI                      0x8921\n#define GL_REG_1_ATI                      0x8922\n#define GL_REG_2_ATI                      0x8923\n#define GL_REG_3_ATI                      0x8924\n#define GL_REG_4_ATI                      0x8925\n#define GL_REG_5_ATI                      0x8926\n#define GL_REG_6_ATI                      0x8927\n#define GL_REG_7_ATI                      0x8928\n#define GL_REG_8_ATI                      0x8929\n#define GL_REG_9_ATI                      0x892A\n#define GL_REG_10_ATI                     0x892B\n#define GL_REG_11_ATI                     0x892C\n#define GL_REG_12_ATI                     0x892D\n#define GL_REG_13_ATI                     0x892E\n#define GL_REG_14_ATI                     0x892F\n#define GL_REG_15_ATI                     0x8930\n#define GL_REG_16_ATI                     0x8931\n#define GL_REG_17_ATI                     0x8932\n#define GL_REG_18_ATI                     0x8933\n#define GL_REG_19_ATI                     0x8934\n#define GL_REG_20_ATI                     0x8935\n#define GL_REG_21_ATI                     0x8936\n#define GL_REG_22_ATI                     0x8937\n#define GL_REG_23_ATI                     0x8938\n#define GL_REG_24_ATI                     0x8939\n#define GL_REG_25_ATI                     0x893A\n#define GL_REG_26_ATI                     0x893B\n#define GL_REG_27_ATI                     0x893C\n#define GL_REG_28_ATI                     0x893D\n#define GL_REG_29_ATI                     0x893E\n#define GL_REG_30_ATI                     0x893F\n#define GL_REG_31_ATI                     0x8940\n#define GL_CON_0_ATI                      0x8941\n#define GL_CON_1_ATI                      0x8942\n#define GL_CON_2_ATI                      0x8943\n#define GL_CON_3_ATI                      0x8944\n#define GL_CON_4_ATI                      0x8945\n#define GL_CON_5_ATI                      0x8946\n#define GL_CON_6_ATI                      0x8947\n#define GL_CON_7_ATI                      0x8948\n#define GL_CON_8_ATI                      0x8949\n#define GL_CON_9_ATI                      0x894A\n#define GL_CON_10_ATI                     0x894B\n#define GL_CON_11_ATI                     0x894C\n#define GL_CON_12_ATI                     0x894D\n#define GL_CON_13_ATI                     0x894E\n#define GL_CON_14_ATI                     0x894F\n#define GL_CON_15_ATI                     0x8950\n#define GL_CON_16_ATI                     0x8951\n#define GL_CON_17_ATI                     0x8952\n#define GL_CON_18_ATI                     0x8953\n#define GL_CON_19_ATI                     0x8954\n#define GL_CON_20_ATI                     0x8955\n#define GL_CON_21_ATI                     0x8956\n#define GL_CON_22_ATI                     0x8957\n#define GL_CON_23_ATI                     0x8958\n#define GL_CON_24_ATI                     0x8959\n#define GL_CON_25_ATI                     0x895A\n#define GL_CON_26_ATI                     0x895B\n#define GL_CON_27_ATI                     0x895C\n#define GL_CON_28_ATI                     0x895D\n#define GL_CON_29_ATI                     0x895E\n#define GL_CON_30_ATI                     0x895F\n#define GL_CON_31_ATI                     0x8960\n#define GL_MOV_ATI                        0x8961\n#define GL_ADD_ATI                        0x8963\n#define GL_MUL_ATI                        0x8964\n#define GL_SUB_ATI                        0x8965\n#define GL_DOT3_ATI                       0x8966\n#define GL_DOT4_ATI                       0x8967\n#define GL_MAD_ATI                        0x8968\n#define GL_LERP_ATI                       0x8969\n#define GL_CND_ATI                        0x896A\n#define GL_CND0_ATI                       0x896B\n#define GL_DOT2_ADD_ATI                   0x896C\n#define GL_SECONDARY_INTERPOLATOR_ATI     0x896D\n#define GL_NUM_FRAGMENT_REGISTERS_ATI     0x896E\n#define GL_NUM_FRAGMENT_CONSTANTS_ATI     0x896F\n#define GL_NUM_PASSES_ATI                 0x8970\n#define GL_NUM_INSTRUCTIONS_PER_PASS_ATI  0x8971\n#define GL_NUM_INSTRUCTIONS_TOTAL_ATI     0x8972\n#define GL_NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI 0x8973\n#define GL_NUM_LOOPBACK_COMPONENTS_ATI    0x8974\n#define GL_COLOR_ALPHA_PAIRING_ATI        0x8975\n#define GL_SWIZZLE_STR_ATI                0x8976\n#define GL_SWIZZLE_STQ_ATI                0x8977\n#define GL_SWIZZLE_STR_DR_ATI             0x8978\n#define GL_SWIZZLE_STQ_DQ_ATI             0x8979\n#define GL_SWIZZLE_STRQ_ATI               0x897A\n#define GL_SWIZZLE_STRQ_DQ_ATI            0x897B\n#define GL_RED_BIT_ATI                    0x00000001\n#define GL_GREEN_BIT_ATI                  0x00000002\n#define GL_BLUE_BIT_ATI                   0x00000004\n#define GL_2X_BIT_ATI                     0x00000001\n#define GL_4X_BIT_ATI                     0x00000002\n#define GL_8X_BIT_ATI                     0x00000004\n#define GL_HALF_BIT_ATI                   0x00000008\n#define GL_QUARTER_BIT_ATI                0x00000010\n#define GL_EIGHTH_BIT_ATI                 0x00000020\n#define GL_SATURATE_BIT_ATI               0x00000040\n#define GL_COMP_BIT_ATI                   0x00000002\n#define GL_NEGATE_BIT_ATI                 0x00000004\n#define GL_BIAS_BIT_ATI                   0x00000008\ntypedef GLuint (APIENTRYP PFNGLGENFRAGMENTSHADERSATIPROC) (GLuint range);\ntypedef void (APIENTRYP PFNGLBINDFRAGMENTSHADERATIPROC) (GLuint id);\ntypedef void (APIENTRYP PFNGLDELETEFRAGMENTSHADERATIPROC) (GLuint id);\ntypedef void (APIENTRYP PFNGLBEGINFRAGMENTSHADERATIPROC) (void);\ntypedef void (APIENTRYP PFNGLENDFRAGMENTSHADERATIPROC) (void);\ntypedef void (APIENTRYP PFNGLPASSTEXCOORDATIPROC) (GLuint dst, GLuint coord, GLenum swizzle);\ntypedef void (APIENTRYP PFNGLSAMPLEMAPATIPROC) (GLuint dst, GLuint interp, GLenum swizzle);\ntypedef void (APIENTRYP PFNGLCOLORFRAGMENTOP1ATIPROC) (GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod);\ntypedef void (APIENTRYP PFNGLCOLORFRAGMENTOP2ATIPROC) (GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod);\ntypedef void (APIENTRYP PFNGLCOLORFRAGMENTOP3ATIPROC) (GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod);\ntypedef void (APIENTRYP PFNGLALPHAFRAGMENTOP1ATIPROC) (GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod);\ntypedef void (APIENTRYP PFNGLALPHAFRAGMENTOP2ATIPROC) (GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod);\ntypedef void (APIENTRYP PFNGLALPHAFRAGMENTOP3ATIPROC) (GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod);\ntypedef void (APIENTRYP PFNGLSETFRAGMENTSHADERCONSTANTATIPROC) (GLuint dst, const GLfloat *value);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI GLuint APIENTRY glGenFragmentShadersATI (GLuint range);\nGLAPI void APIENTRY glBindFragmentShaderATI (GLuint id);\nGLAPI void APIENTRY glDeleteFragmentShaderATI (GLuint id);\nGLAPI void APIENTRY glBeginFragmentShaderATI (void);\nGLAPI void APIENTRY glEndFragmentShaderATI (void);\nGLAPI void APIENTRY glPassTexCoordATI (GLuint dst, GLuint coord, GLenum swizzle);\nGLAPI void APIENTRY glSampleMapATI (GLuint dst, GLuint interp, GLenum swizzle);\nGLAPI void APIENTRY glColorFragmentOp1ATI (GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod);\nGLAPI void APIENTRY glColorFragmentOp2ATI (GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod);\nGLAPI void APIENTRY glColorFragmentOp3ATI (GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod);\nGLAPI void APIENTRY glAlphaFragmentOp1ATI (GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod);\nGLAPI void APIENTRY glAlphaFragmentOp2ATI (GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod);\nGLAPI void APIENTRY glAlphaFragmentOp3ATI (GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod);\nGLAPI void APIENTRY glSetFragmentShaderConstantATI (GLuint dst, const GLfloat *value);\n#endif\n#endif /* GL_ATI_fragment_shader */\n\n#ifndef GL_ATI_map_object_buffer\n#define GL_ATI_map_object_buffer 1\ntypedef void *(APIENTRYP PFNGLMAPOBJECTBUFFERATIPROC) (GLuint buffer);\ntypedef void (APIENTRYP PFNGLUNMAPOBJECTBUFFERATIPROC) (GLuint buffer);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void *APIENTRY glMapObjectBufferATI (GLuint buffer);\nGLAPI void APIENTRY glUnmapObjectBufferATI (GLuint buffer);\n#endif\n#endif /* GL_ATI_map_object_buffer */\n\n#ifndef GL_ATI_meminfo\n#define GL_ATI_meminfo 1\n#define GL_VBO_FREE_MEMORY_ATI            0x87FB\n#define GL_TEXTURE_FREE_MEMORY_ATI        0x87FC\n#define GL_RENDERBUFFER_FREE_MEMORY_ATI   0x87FD\n#endif /* GL_ATI_meminfo */\n\n#ifndef GL_ATI_pixel_format_float\n#define GL_ATI_pixel_format_float 1\n#define GL_RGBA_FLOAT_MODE_ATI            0x8820\n#define GL_COLOR_CLEAR_UNCLAMPED_VALUE_ATI 0x8835\n#endif /* GL_ATI_pixel_format_float */\n\n#ifndef GL_ATI_pn_triangles\n#define GL_ATI_pn_triangles 1\n#define GL_PN_TRIANGLES_ATI               0x87F0\n#define GL_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI 0x87F1\n#define GL_PN_TRIANGLES_POINT_MODE_ATI    0x87F2\n#define GL_PN_TRIANGLES_NORMAL_MODE_ATI   0x87F3\n#define GL_PN_TRIANGLES_TESSELATION_LEVEL_ATI 0x87F4\n#define GL_PN_TRIANGLES_POINT_MODE_LINEAR_ATI 0x87F5\n#define GL_PN_TRIANGLES_POINT_MODE_CUBIC_ATI 0x87F6\n#define GL_PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI 0x87F7\n#define GL_PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI 0x87F8\ntypedef void (APIENTRYP PFNGLPNTRIANGLESIATIPROC) (GLenum pname, GLint param);\ntypedef void (APIENTRYP PFNGLPNTRIANGLESFATIPROC) (GLenum pname, GLfloat param);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glPNTrianglesiATI (GLenum pname, GLint param);\nGLAPI void APIENTRY glPNTrianglesfATI (GLenum pname, GLfloat param);\n#endif\n#endif /* GL_ATI_pn_triangles */\n\n#ifndef GL_ATI_separate_stencil\n#define GL_ATI_separate_stencil 1\n#define GL_STENCIL_BACK_FUNC_ATI          0x8800\n#define GL_STENCIL_BACK_FAIL_ATI          0x8801\n#define GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI 0x8802\n#define GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI 0x8803\ntypedef void (APIENTRYP PFNGLSTENCILOPSEPARATEATIPROC) (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);\ntypedef void (APIENTRYP PFNGLSTENCILFUNCSEPARATEATIPROC) (GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glStencilOpSeparateATI (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);\nGLAPI void APIENTRY glStencilFuncSeparateATI (GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask);\n#endif\n#endif /* GL_ATI_separate_stencil */\n\n#ifndef GL_ATI_text_fragment_shader\n#define GL_ATI_text_fragment_shader 1\n#define GL_TEXT_FRAGMENT_SHADER_ATI       0x8200\n#endif /* GL_ATI_text_fragment_shader */\n\n#ifndef GL_ATI_texture_env_combine3\n#define GL_ATI_texture_env_combine3 1\n#define GL_MODULATE_ADD_ATI               0x8744\n#define GL_MODULATE_SIGNED_ADD_ATI        0x8745\n#define GL_MODULATE_SUBTRACT_ATI          0x8746\n#endif /* GL_ATI_texture_env_combine3 */\n\n#ifndef GL_ATI_texture_float\n#define GL_ATI_texture_float 1\n#define GL_RGBA_FLOAT32_ATI               0x8814\n#define GL_RGB_FLOAT32_ATI                0x8815\n#define GL_ALPHA_FLOAT32_ATI              0x8816\n#define GL_INTENSITY_FLOAT32_ATI          0x8817\n#define GL_LUMINANCE_FLOAT32_ATI          0x8818\n#define GL_LUMINANCE_ALPHA_FLOAT32_ATI    0x8819\n#define GL_RGBA_FLOAT16_ATI               0x881A\n#define GL_RGB_FLOAT16_ATI                0x881B\n#define GL_ALPHA_FLOAT16_ATI              0x881C\n#define GL_INTENSITY_FLOAT16_ATI          0x881D\n#define GL_LUMINANCE_FLOAT16_ATI          0x881E\n#define GL_LUMINANCE_ALPHA_FLOAT16_ATI    0x881F\n#endif /* GL_ATI_texture_float */\n\n#ifndef GL_ATI_texture_mirror_once\n#define GL_ATI_texture_mirror_once 1\n#define GL_MIRROR_CLAMP_ATI               0x8742\n#define GL_MIRROR_CLAMP_TO_EDGE_ATI       0x8743\n#endif /* GL_ATI_texture_mirror_once */\n\n#ifndef GL_ATI_vertex_array_object\n#define GL_ATI_vertex_array_object 1\n#define GL_STATIC_ATI                     0x8760\n#define GL_DYNAMIC_ATI                    0x8761\n#define GL_PRESERVE_ATI                   0x8762\n#define GL_DISCARD_ATI                    0x8763\n#define GL_OBJECT_BUFFER_SIZE_ATI         0x8764\n#define GL_OBJECT_BUFFER_USAGE_ATI        0x8765\n#define GL_ARRAY_OBJECT_BUFFER_ATI        0x8766\n#define GL_ARRAY_OBJECT_OFFSET_ATI        0x8767\ntypedef GLuint (APIENTRYP PFNGLNEWOBJECTBUFFERATIPROC) (GLsizei size, const void *pointer, GLenum usage);\ntypedef GLboolean (APIENTRYP PFNGLISOBJECTBUFFERATIPROC) (GLuint buffer);\ntypedef void (APIENTRYP PFNGLUPDATEOBJECTBUFFERATIPROC) (GLuint buffer, GLuint offset, GLsizei size, const void *pointer, GLenum preserve);\ntypedef void (APIENTRYP PFNGLGETOBJECTBUFFERFVATIPROC) (GLuint buffer, GLenum pname, GLfloat *params);\ntypedef void (APIENTRYP PFNGLGETOBJECTBUFFERIVATIPROC) (GLuint buffer, GLenum pname, GLint *params);\ntypedef void (APIENTRYP PFNGLFREEOBJECTBUFFERATIPROC) (GLuint buffer);\ntypedef void (APIENTRYP PFNGLARRAYOBJECTATIPROC) (GLenum array, GLint size, GLenum type, GLsizei stride, GLuint buffer, GLuint offset);\ntypedef void (APIENTRYP PFNGLGETARRAYOBJECTFVATIPROC) (GLenum array, GLenum pname, GLfloat *params);\ntypedef void (APIENTRYP PFNGLGETARRAYOBJECTIVATIPROC) (GLenum array, GLenum pname, GLint *params);\ntypedef void (APIENTRYP PFNGLVARIANTARRAYOBJECTATIPROC) (GLuint id, GLenum type, GLsizei stride, GLuint buffer, GLuint offset);\ntypedef void (APIENTRYP PFNGLGETVARIANTARRAYOBJECTFVATIPROC) (GLuint id, GLenum pname, GLfloat *params);\ntypedef void (APIENTRYP PFNGLGETVARIANTARRAYOBJECTIVATIPROC) (GLuint id, GLenum pname, GLint *params);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI GLuint APIENTRY glNewObjectBufferATI (GLsizei size, const void *pointer, GLenum usage);\nGLAPI GLboolean APIENTRY glIsObjectBufferATI (GLuint buffer);\nGLAPI void APIENTRY glUpdateObjectBufferATI (GLuint buffer, GLuint offset, GLsizei size, const void *pointer, GLenum preserve);\nGLAPI void APIENTRY glGetObjectBufferfvATI (GLuint buffer, GLenum pname, GLfloat *params);\nGLAPI void APIENTRY glGetObjectBufferivATI (GLuint buffer, GLenum pname, GLint *params);\nGLAPI void APIENTRY glFreeObjectBufferATI (GLuint buffer);\nGLAPI void APIENTRY glArrayObjectATI (GLenum array, GLint size, GLenum type, GLsizei stride, GLuint buffer, GLuint offset);\nGLAPI void APIENTRY glGetArrayObjectfvATI (GLenum array, GLenum pname, GLfloat *params);\nGLAPI void APIENTRY glGetArrayObjectivATI (GLenum array, GLenum pname, GLint *params);\nGLAPI void APIENTRY glVariantArrayObjectATI (GLuint id, GLenum type, GLsizei stride, GLuint buffer, GLuint offset);\nGLAPI void APIENTRY glGetVariantArrayObjectfvATI (GLuint id, GLenum pname, GLfloat *params);\nGLAPI void APIENTRY glGetVariantArrayObjectivATI (GLuint id, GLenum pname, GLint *params);\n#endif\n#endif /* GL_ATI_vertex_array_object */\n\n#ifndef GL_ATI_vertex_attrib_array_object\n#define GL_ATI_vertex_attrib_array_object 1\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBARRAYOBJECTATIPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, GLuint buffer, GLuint offset);\ntypedef void (APIENTRYP PFNGLGETVERTEXATTRIBARRAYOBJECTFVATIPROC) (GLuint index, GLenum pname, GLfloat *params);\ntypedef void (APIENTRYP PFNGLGETVERTEXATTRIBARRAYOBJECTIVATIPROC) (GLuint index, GLenum pname, GLint *params);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glVertexAttribArrayObjectATI (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, GLuint buffer, GLuint offset);\nGLAPI void APIENTRY glGetVertexAttribArrayObjectfvATI (GLuint index, GLenum pname, GLfloat *params);\nGLAPI void APIENTRY glGetVertexAttribArrayObjectivATI (GLuint index, GLenum pname, GLint *params);\n#endif\n#endif /* GL_ATI_vertex_attrib_array_object */\n\n#ifndef GL_ATI_vertex_streams\n#define GL_ATI_vertex_streams 1\n#define GL_MAX_VERTEX_STREAMS_ATI         0x876B\n#define GL_VERTEX_STREAM0_ATI             0x876C\n#define GL_VERTEX_STREAM1_ATI             0x876D\n#define GL_VERTEX_STREAM2_ATI             0x876E\n#define GL_VERTEX_STREAM3_ATI             0x876F\n#define GL_VERTEX_STREAM4_ATI             0x8770\n#define GL_VERTEX_STREAM5_ATI             0x8771\n#define GL_VERTEX_STREAM6_ATI             0x8772\n#define GL_VERTEX_STREAM7_ATI             0x8773\n#define GL_VERTEX_SOURCE_ATI              0x8774\ntypedef void (APIENTRYP PFNGLVERTEXSTREAM1SATIPROC) (GLenum stream, GLshort x);\ntypedef void (APIENTRYP PFNGLVERTEXSTREAM1SVATIPROC) (GLenum stream, const GLshort *coords);\ntypedef void (APIENTRYP PFNGLVERTEXSTREAM1IATIPROC) (GLenum stream, GLint x);\ntypedef void (APIENTRYP PFNGLVERTEXSTREAM1IVATIPROC) (GLenum stream, const GLint *coords);\ntypedef void (APIENTRYP PFNGLVERTEXSTREAM1FATIPROC) (GLenum stream, GLfloat x);\ntypedef void (APIENTRYP PFNGLVERTEXSTREAM1FVATIPROC) (GLenum stream, const GLfloat *coords);\ntypedef void (APIENTRYP PFNGLVERTEXSTREAM1DATIPROC) (GLenum stream, GLdouble x);\ntypedef void (APIENTRYP PFNGLVERTEXSTREAM1DVATIPROC) (GLenum stream, const GLdouble *coords);\ntypedef void (APIENTRYP PFNGLVERTEXSTREAM2SATIPROC) (GLenum stream, GLshort x, GLshort y);\ntypedef void (APIENTRYP PFNGLVERTEXSTREAM2SVATIPROC) (GLenum stream, const GLshort *coords);\ntypedef void (APIENTRYP PFNGLVERTEXSTREAM2IATIPROC) (GLenum stream, GLint x, GLint y);\ntypedef void (APIENTRYP PFNGLVERTEXSTREAM2IVATIPROC) (GLenum stream, const GLint *coords);\ntypedef void (APIENTRYP PFNGLVERTEXSTREAM2FATIPROC) (GLenum stream, GLfloat x, GLfloat y);\ntypedef void (APIENTRYP PFNGLVERTEXSTREAM2FVATIPROC) (GLenum stream, const GLfloat *coords);\ntypedef void (APIENTRYP PFNGLVERTEXSTREAM2DATIPROC) (GLenum stream, GLdouble x, GLdouble y);\ntypedef void (APIENTRYP PFNGLVERTEXSTREAM2DVATIPROC) (GLenum stream, const GLdouble *coords);\ntypedef void (APIENTRYP PFNGLVERTEXSTREAM3SATIPROC) (GLenum stream, GLshort x, GLshort y, GLshort z);\ntypedef void (APIENTRYP PFNGLVERTEXSTREAM3SVATIPROC) (GLenum stream, const GLshort *coords);\ntypedef void (APIENTRYP PFNGLVERTEXSTREAM3IATIPROC) (GLenum stream, GLint x, GLint y, GLint z);\ntypedef void (APIENTRYP PFNGLVERTEXSTREAM3IVATIPROC) (GLenum stream, const GLint *coords);\ntypedef void (APIENTRYP PFNGLVERTEXSTREAM3FATIPROC) (GLenum stream, GLfloat x, GLfloat y, GLfloat z);\ntypedef void (APIENTRYP PFNGLVERTEXSTREAM3FVATIPROC) (GLenum stream, const GLfloat *coords);\ntypedef void (APIENTRYP PFNGLVERTEXSTREAM3DATIPROC) (GLenum stream, GLdouble x, GLdouble y, GLdouble z);\ntypedef void (APIENTRYP PFNGLVERTEXSTREAM3DVATIPROC) (GLenum stream, const GLdouble *coords);\ntypedef void (APIENTRYP PFNGLVERTEXSTREAM4SATIPROC) (GLenum stream, GLshort x, GLshort y, GLshort z, GLshort w);\ntypedef void (APIENTRYP PFNGLVERTEXSTREAM4SVATIPROC) (GLenum stream, const GLshort *coords);\ntypedef void (APIENTRYP PFNGLVERTEXSTREAM4IATIPROC) (GLenum stream, GLint x, GLint y, GLint z, GLint w);\ntypedef void (APIENTRYP PFNGLVERTEXSTREAM4IVATIPROC) (GLenum stream, const GLint *coords);\ntypedef void (APIENTRYP PFNGLVERTEXSTREAM4FATIPROC) (GLenum stream, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\ntypedef void (APIENTRYP PFNGLVERTEXSTREAM4FVATIPROC) (GLenum stream, const GLfloat *coords);\ntypedef void (APIENTRYP PFNGLVERTEXSTREAM4DATIPROC) (GLenum stream, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\ntypedef void (APIENTRYP PFNGLVERTEXSTREAM4DVATIPROC) (GLenum stream, const GLdouble *coords);\ntypedef void (APIENTRYP PFNGLNORMALSTREAM3BATIPROC) (GLenum stream, GLbyte nx, GLbyte ny, GLbyte nz);\ntypedef void (APIENTRYP PFNGLNORMALSTREAM3BVATIPROC) (GLenum stream, const GLbyte *coords);\ntypedef void (APIENTRYP PFNGLNORMALSTREAM3SATIPROC) (GLenum stream, GLshort nx, GLshort ny, GLshort nz);\ntypedef void (APIENTRYP PFNGLNORMALSTREAM3SVATIPROC) (GLenum stream, const GLshort *coords);\ntypedef void (APIENTRYP PFNGLNORMALSTREAM3IATIPROC) (GLenum stream, GLint nx, GLint ny, GLint nz);\ntypedef void (APIENTRYP PFNGLNORMALSTREAM3IVATIPROC) (GLenum stream, const GLint *coords);\ntypedef void (APIENTRYP PFNGLNORMALSTREAM3FATIPROC) (GLenum stream, GLfloat nx, GLfloat ny, GLfloat nz);\ntypedef void (APIENTRYP PFNGLNORMALSTREAM3FVATIPROC) (GLenum stream, const GLfloat *coords);\ntypedef void (APIENTRYP PFNGLNORMALSTREAM3DATIPROC) (GLenum stream, GLdouble nx, GLdouble ny, GLdouble nz);\ntypedef void (APIENTRYP PFNGLNORMALSTREAM3DVATIPROC) (GLenum stream, const GLdouble *coords);\ntypedef void (APIENTRYP PFNGLCLIENTACTIVEVERTEXSTREAMATIPROC) (GLenum stream);\ntypedef void (APIENTRYP PFNGLVERTEXBLENDENVIATIPROC) (GLenum pname, GLint param);\ntypedef void (APIENTRYP PFNGLVERTEXBLENDENVFATIPROC) (GLenum pname, GLfloat param);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glVertexStream1sATI (GLenum stream, GLshort x);\nGLAPI void APIENTRY glVertexStream1svATI (GLenum stream, const GLshort *coords);\nGLAPI void APIENTRY glVertexStream1iATI (GLenum stream, GLint x);\nGLAPI void APIENTRY glVertexStream1ivATI (GLenum stream, const GLint *coords);\nGLAPI void APIENTRY glVertexStream1fATI (GLenum stream, GLfloat x);\nGLAPI void APIENTRY glVertexStream1fvATI (GLenum stream, const GLfloat *coords);\nGLAPI void APIENTRY glVertexStream1dATI (GLenum stream, GLdouble x);\nGLAPI void APIENTRY glVertexStream1dvATI (GLenum stream, const GLdouble *coords);\nGLAPI void APIENTRY glVertexStream2sATI (GLenum stream, GLshort x, GLshort y);\nGLAPI void APIENTRY glVertexStream2svATI (GLenum stream, const GLshort *coords);\nGLAPI void APIENTRY glVertexStream2iATI (GLenum stream, GLint x, GLint y);\nGLAPI void APIENTRY glVertexStream2ivATI (GLenum stream, const GLint *coords);\nGLAPI void APIENTRY glVertexStream2fATI (GLenum stream, GLfloat x, GLfloat y);\nGLAPI void APIENTRY glVertexStream2fvATI (GLenum stream, const GLfloat *coords);\nGLAPI void APIENTRY glVertexStream2dATI (GLenum stream, GLdouble x, GLdouble y);\nGLAPI void APIENTRY glVertexStream2dvATI (GLenum stream, const GLdouble *coords);\nGLAPI void APIENTRY glVertexStream3sATI (GLenum stream, GLshort x, GLshort y, GLshort z);\nGLAPI void APIENTRY glVertexStream3svATI (GLenum stream, const GLshort *coords);\nGLAPI void APIENTRY glVertexStream3iATI (GLenum stream, GLint x, GLint y, GLint z);\nGLAPI void APIENTRY glVertexStream3ivATI (GLenum stream, const GLint *coords);\nGLAPI void APIENTRY glVertexStream3fATI (GLenum stream, GLfloat x, GLfloat y, GLfloat z);\nGLAPI void APIENTRY glVertexStream3fvATI (GLenum stream, const GLfloat *coords);\nGLAPI void APIENTRY glVertexStream3dATI (GLenum stream, GLdouble x, GLdouble y, GLdouble z);\nGLAPI void APIENTRY glVertexStream3dvATI (GLenum stream, const GLdouble *coords);\nGLAPI void APIENTRY glVertexStream4sATI (GLenum stream, GLshort x, GLshort y, GLshort z, GLshort w);\nGLAPI void APIENTRY glVertexStream4svATI (GLenum stream, const GLshort *coords);\nGLAPI void APIENTRY glVertexStream4iATI (GLenum stream, GLint x, GLint y, GLint z, GLint w);\nGLAPI void APIENTRY glVertexStream4ivATI (GLenum stream, const GLint *coords);\nGLAPI void APIENTRY glVertexStream4fATI (GLenum stream, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nGLAPI void APIENTRY glVertexStream4fvATI (GLenum stream, const GLfloat *coords);\nGLAPI void APIENTRY glVertexStream4dATI (GLenum stream, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nGLAPI void APIENTRY glVertexStream4dvATI (GLenum stream, const GLdouble *coords);\nGLAPI void APIENTRY glNormalStream3bATI (GLenum stream, GLbyte nx, GLbyte ny, GLbyte nz);\nGLAPI void APIENTRY glNormalStream3bvATI (GLenum stream, const GLbyte *coords);\nGLAPI void APIENTRY glNormalStream3sATI (GLenum stream, GLshort nx, GLshort ny, GLshort nz);\nGLAPI void APIENTRY glNormalStream3svATI (GLenum stream, const GLshort *coords);\nGLAPI void APIENTRY glNormalStream3iATI (GLenum stream, GLint nx, GLint ny, GLint nz);\nGLAPI void APIENTRY glNormalStream3ivATI (GLenum stream, const GLint *coords);\nGLAPI void APIENTRY glNormalStream3fATI (GLenum stream, GLfloat nx, GLfloat ny, GLfloat nz);\nGLAPI void APIENTRY glNormalStream3fvATI (GLenum stream, const GLfloat *coords);\nGLAPI void APIENTRY glNormalStream3dATI (GLenum stream, GLdouble nx, GLdouble ny, GLdouble nz);\nGLAPI void APIENTRY glNormalStream3dvATI (GLenum stream, const GLdouble *coords);\nGLAPI void APIENTRY glClientActiveVertexStreamATI (GLenum stream);\nGLAPI void APIENTRY glVertexBlendEnviATI (GLenum pname, GLint param);\nGLAPI void APIENTRY glVertexBlendEnvfATI (GLenum pname, GLfloat param);\n#endif\n#endif /* GL_ATI_vertex_streams */\n\n#ifndef GL_EXT_422_pixels\n#define GL_EXT_422_pixels 1\n#define GL_422_EXT                        0x80CC\n#define GL_422_REV_EXT                    0x80CD\n#define GL_422_AVERAGE_EXT                0x80CE\n#define GL_422_REV_AVERAGE_EXT            0x80CF\n#endif /* GL_EXT_422_pixels */\n\n#ifndef GL_EXT_abgr\n#define GL_EXT_abgr 1\n#define GL_ABGR_EXT                       0x8000\n#endif /* GL_EXT_abgr */\n\n#ifndef GL_EXT_bgra\n#define GL_EXT_bgra 1\n#define GL_BGR_EXT                        0x80E0\n#define GL_BGRA_EXT                       0x80E1\n#endif /* GL_EXT_bgra */\n\n#ifndef GL_EXT_bindable_uniform\n#define GL_EXT_bindable_uniform 1\n#define GL_MAX_VERTEX_BINDABLE_UNIFORMS_EXT 0x8DE2\n#define GL_MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT 0x8DE3\n#define GL_MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT 0x8DE4\n#define GL_MAX_BINDABLE_UNIFORM_SIZE_EXT  0x8DED\n#define GL_UNIFORM_BUFFER_EXT             0x8DEE\n#define GL_UNIFORM_BUFFER_BINDING_EXT     0x8DEF\ntypedef void (APIENTRYP PFNGLUNIFORMBUFFEREXTPROC) (GLuint program, GLint location, GLuint buffer);\ntypedef GLint (APIENTRYP PFNGLGETUNIFORMBUFFERSIZEEXTPROC) (GLuint program, GLint location);\ntypedef GLintptr (APIENTRYP PFNGLGETUNIFORMOFFSETEXTPROC) (GLuint program, GLint location);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glUniformBufferEXT (GLuint program, GLint location, GLuint buffer);\nGLAPI GLint APIENTRY glGetUniformBufferSizeEXT (GLuint program, GLint location);\nGLAPI GLintptr APIENTRY glGetUniformOffsetEXT (GLuint program, GLint location);\n#endif\n#endif /* GL_EXT_bindable_uniform */\n\n#ifndef GL_EXT_blend_color\n#define GL_EXT_blend_color 1\n#define GL_CONSTANT_COLOR_EXT             0x8001\n#define GL_ONE_MINUS_CONSTANT_COLOR_EXT   0x8002\n#define GL_CONSTANT_ALPHA_EXT             0x8003\n#define GL_ONE_MINUS_CONSTANT_ALPHA_EXT   0x8004\n#define GL_BLEND_COLOR_EXT                0x8005\ntypedef void (APIENTRYP PFNGLBLENDCOLOREXTPROC) (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glBlendColorEXT (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);\n#endif\n#endif /* GL_EXT_blend_color */\n\n#ifndef GL_EXT_blend_equation_separate\n#define GL_EXT_blend_equation_separate 1\n#define GL_BLEND_EQUATION_RGB_EXT         0x8009\n#define GL_BLEND_EQUATION_ALPHA_EXT       0x883D\ntypedef void (APIENTRYP PFNGLBLENDEQUATIONSEPARATEEXTPROC) (GLenum modeRGB, GLenum modeAlpha);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glBlendEquationSeparateEXT (GLenum modeRGB, GLenum modeAlpha);\n#endif\n#endif /* GL_EXT_blend_equation_separate */\n\n#ifndef GL_EXT_blend_func_separate\n#define GL_EXT_blend_func_separate 1\n#define GL_BLEND_DST_RGB_EXT              0x80C8\n#define GL_BLEND_SRC_RGB_EXT              0x80C9\n#define GL_BLEND_DST_ALPHA_EXT            0x80CA\n#define GL_BLEND_SRC_ALPHA_EXT            0x80CB\ntypedef void (APIENTRYP PFNGLBLENDFUNCSEPARATEEXTPROC) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glBlendFuncSeparateEXT (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);\n#endif\n#endif /* GL_EXT_blend_func_separate */\n\n#ifndef GL_EXT_blend_logic_op\n#define GL_EXT_blend_logic_op 1\n#endif /* GL_EXT_blend_logic_op */\n\n#ifndef GL_EXT_blend_minmax\n#define GL_EXT_blend_minmax 1\n#define GL_MIN_EXT                        0x8007\n#define GL_MAX_EXT                        0x8008\n#define GL_FUNC_ADD_EXT                   0x8006\n#define GL_BLEND_EQUATION_EXT             0x8009\ntypedef void (APIENTRYP PFNGLBLENDEQUATIONEXTPROC) (GLenum mode);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glBlendEquationEXT (GLenum mode);\n#endif\n#endif /* GL_EXT_blend_minmax */\n\n#ifndef GL_EXT_blend_subtract\n#define GL_EXT_blend_subtract 1\n#define GL_FUNC_SUBTRACT_EXT              0x800A\n#define GL_FUNC_REVERSE_SUBTRACT_EXT      0x800B\n#endif /* GL_EXT_blend_subtract */\n\n#ifndef GL_EXT_clip_volume_hint\n#define GL_EXT_clip_volume_hint 1\n#define GL_CLIP_VOLUME_CLIPPING_HINT_EXT  0x80F0\n#endif /* GL_EXT_clip_volume_hint */\n\n#ifndef GL_EXT_cmyka\n#define GL_EXT_cmyka 1\n#define GL_CMYK_EXT                       0x800C\n#define GL_CMYKA_EXT                      0x800D\n#define GL_PACK_CMYK_HINT_EXT             0x800E\n#define GL_UNPACK_CMYK_HINT_EXT           0x800F\n#endif /* GL_EXT_cmyka */\n\n#ifndef GL_EXT_color_subtable\n#define GL_EXT_color_subtable 1\ntypedef void (APIENTRYP PFNGLCOLORSUBTABLEEXTPROC) (GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const void *data);\ntypedef void (APIENTRYP PFNGLCOPYCOLORSUBTABLEEXTPROC) (GLenum target, GLsizei start, GLint x, GLint y, GLsizei width);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glColorSubTableEXT (GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const void *data);\nGLAPI void APIENTRY glCopyColorSubTableEXT (GLenum target, GLsizei start, GLint x, GLint y, GLsizei width);\n#endif\n#endif /* GL_EXT_color_subtable */\n\n#ifndef GL_EXT_compiled_vertex_array\n#define GL_EXT_compiled_vertex_array 1\n#define GL_ARRAY_ELEMENT_LOCK_FIRST_EXT   0x81A8\n#define GL_ARRAY_ELEMENT_LOCK_COUNT_EXT   0x81A9\ntypedef void (APIENTRYP PFNGLLOCKARRAYSEXTPROC) (GLint first, GLsizei count);\ntypedef void (APIENTRYP PFNGLUNLOCKARRAYSEXTPROC) (void);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glLockArraysEXT (GLint first, GLsizei count);\nGLAPI void APIENTRY glUnlockArraysEXT (void);\n#endif\n#endif /* GL_EXT_compiled_vertex_array */\n\n#ifndef GL_EXT_convolution\n#define GL_EXT_convolution 1\n#define GL_CONVOLUTION_1D_EXT             0x8010\n#define GL_CONVOLUTION_2D_EXT             0x8011\n#define GL_SEPARABLE_2D_EXT               0x8012\n#define GL_CONVOLUTION_BORDER_MODE_EXT    0x8013\n#define GL_CONVOLUTION_FILTER_SCALE_EXT   0x8014\n#define GL_CONVOLUTION_FILTER_BIAS_EXT    0x8015\n#define GL_REDUCE_EXT                     0x8016\n#define GL_CONVOLUTION_FORMAT_EXT         0x8017\n#define GL_CONVOLUTION_WIDTH_EXT          0x8018\n#define GL_CONVOLUTION_HEIGHT_EXT         0x8019\n#define GL_MAX_CONVOLUTION_WIDTH_EXT      0x801A\n#define GL_MAX_CONVOLUTION_HEIGHT_EXT     0x801B\n#define GL_POST_CONVOLUTION_RED_SCALE_EXT 0x801C\n#define GL_POST_CONVOLUTION_GREEN_SCALE_EXT 0x801D\n#define GL_POST_CONVOLUTION_BLUE_SCALE_EXT 0x801E\n#define GL_POST_CONVOLUTION_ALPHA_SCALE_EXT 0x801F\n#define GL_POST_CONVOLUTION_RED_BIAS_EXT  0x8020\n#define GL_POST_CONVOLUTION_GREEN_BIAS_EXT 0x8021\n#define GL_POST_CONVOLUTION_BLUE_BIAS_EXT 0x8022\n#define GL_POST_CONVOLUTION_ALPHA_BIAS_EXT 0x8023\ntypedef void (APIENTRYP PFNGLCONVOLUTIONFILTER1DEXTPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const void *image);\ntypedef void (APIENTRYP PFNGLCONVOLUTIONFILTER2DEXTPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *image);\ntypedef void (APIENTRYP PFNGLCONVOLUTIONPARAMETERFEXTPROC) (GLenum target, GLenum pname, GLfloat params);\ntypedef void (APIENTRYP PFNGLCONVOLUTIONPARAMETERFVEXTPROC) (GLenum target, GLenum pname, const GLfloat *params);\ntypedef void (APIENTRYP PFNGLCONVOLUTIONPARAMETERIEXTPROC) (GLenum target, GLenum pname, GLint params);\ntypedef void (APIENTRYP PFNGLCONVOLUTIONPARAMETERIVEXTPROC) (GLenum target, GLenum pname, const GLint *params);\ntypedef void (APIENTRYP PFNGLCOPYCONVOLUTIONFILTER1DEXTPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);\ntypedef void (APIENTRYP PFNGLCOPYCONVOLUTIONFILTER2DEXTPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height);\ntypedef void (APIENTRYP PFNGLGETCONVOLUTIONFILTEREXTPROC) (GLenum target, GLenum format, GLenum type, void *image);\ntypedef void (APIENTRYP PFNGLGETCONVOLUTIONPARAMETERFVEXTPROC) (GLenum target, GLenum pname, GLfloat *params);\ntypedef void (APIENTRYP PFNGLGETCONVOLUTIONPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint *params);\ntypedef void (APIENTRYP PFNGLGETSEPARABLEFILTEREXTPROC) (GLenum target, GLenum format, GLenum type, void *row, void *column, void *span);\ntypedef void (APIENTRYP PFNGLSEPARABLEFILTER2DEXTPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *row, const void *column);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glConvolutionFilter1DEXT (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const void *image);\nGLAPI void APIENTRY glConvolutionFilter2DEXT (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *image);\nGLAPI void APIENTRY glConvolutionParameterfEXT (GLenum target, GLenum pname, GLfloat params);\nGLAPI void APIENTRY glConvolutionParameterfvEXT (GLenum target, GLenum pname, const GLfloat *params);\nGLAPI void APIENTRY glConvolutionParameteriEXT (GLenum target, GLenum pname, GLint params);\nGLAPI void APIENTRY glConvolutionParameterivEXT (GLenum target, GLenum pname, const GLint *params);\nGLAPI void APIENTRY glCopyConvolutionFilter1DEXT (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);\nGLAPI void APIENTRY glCopyConvolutionFilter2DEXT (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height);\nGLAPI void APIENTRY glGetConvolutionFilterEXT (GLenum target, GLenum format, GLenum type, void *image);\nGLAPI void APIENTRY glGetConvolutionParameterfvEXT (GLenum target, GLenum pname, GLfloat *params);\nGLAPI void APIENTRY glGetConvolutionParameterivEXT (GLenum target, GLenum pname, GLint *params);\nGLAPI void APIENTRY glGetSeparableFilterEXT (GLenum target, GLenum format, GLenum type, void *row, void *column, void *span);\nGLAPI void APIENTRY glSeparableFilter2DEXT (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *row, const void *column);\n#endif\n#endif /* GL_EXT_convolution */\n\n#ifndef GL_EXT_coordinate_frame\n#define GL_EXT_coordinate_frame 1\n#define GL_TANGENT_ARRAY_EXT              0x8439\n#define GL_BINORMAL_ARRAY_EXT             0x843A\n#define GL_CURRENT_TANGENT_EXT            0x843B\n#define GL_CURRENT_BINORMAL_EXT           0x843C\n#define GL_TANGENT_ARRAY_TYPE_EXT         0x843E\n#define GL_TANGENT_ARRAY_STRIDE_EXT       0x843F\n#define GL_BINORMAL_ARRAY_TYPE_EXT        0x8440\n#define GL_BINORMAL_ARRAY_STRIDE_EXT      0x8441\n#define GL_TANGENT_ARRAY_POINTER_EXT      0x8442\n#define GL_BINORMAL_ARRAY_POINTER_EXT     0x8443\n#define GL_MAP1_TANGENT_EXT               0x8444\n#define GL_MAP2_TANGENT_EXT               0x8445\n#define GL_MAP1_BINORMAL_EXT              0x8446\n#define GL_MAP2_BINORMAL_EXT              0x8447\ntypedef void (APIENTRYP PFNGLTANGENT3BEXTPROC) (GLbyte tx, GLbyte ty, GLbyte tz);\ntypedef void (APIENTRYP PFNGLTANGENT3BVEXTPROC) (const GLbyte *v);\ntypedef void (APIENTRYP PFNGLTANGENT3DEXTPROC) (GLdouble tx, GLdouble ty, GLdouble tz);\ntypedef void (APIENTRYP PFNGLTANGENT3DVEXTPROC) (const GLdouble *v);\ntypedef void (APIENTRYP PFNGLTANGENT3FEXTPROC) (GLfloat tx, GLfloat ty, GLfloat tz);\ntypedef void (APIENTRYP PFNGLTANGENT3FVEXTPROC) (const GLfloat *v);\ntypedef void (APIENTRYP PFNGLTANGENT3IEXTPROC) (GLint tx, GLint ty, GLint tz);\ntypedef void (APIENTRYP PFNGLTANGENT3IVEXTPROC) (const GLint *v);\ntypedef void (APIENTRYP PFNGLTANGENT3SEXTPROC) (GLshort tx, GLshort ty, GLshort tz);\ntypedef void (APIENTRYP PFNGLTANGENT3SVEXTPROC) (const GLshort *v);\ntypedef void (APIENTRYP PFNGLBINORMAL3BEXTPROC) (GLbyte bx, GLbyte by, GLbyte bz);\ntypedef void (APIENTRYP PFNGLBINORMAL3BVEXTPROC) (const GLbyte *v);\ntypedef void (APIENTRYP PFNGLBINORMAL3DEXTPROC) (GLdouble bx, GLdouble by, GLdouble bz);\ntypedef void (APIENTRYP PFNGLBINORMAL3DVEXTPROC) (const GLdouble *v);\ntypedef void (APIENTRYP PFNGLBINORMAL3FEXTPROC) (GLfloat bx, GLfloat by, GLfloat bz);\ntypedef void (APIENTRYP PFNGLBINORMAL3FVEXTPROC) (const GLfloat *v);\ntypedef void (APIENTRYP PFNGLBINORMAL3IEXTPROC) (GLint bx, GLint by, GLint bz);\ntypedef void (APIENTRYP PFNGLBINORMAL3IVEXTPROC) (const GLint *v);\ntypedef void (APIENTRYP PFNGLBINORMAL3SEXTPROC) (GLshort bx, GLshort by, GLshort bz);\ntypedef void (APIENTRYP PFNGLBINORMAL3SVEXTPROC) (const GLshort *v);\ntypedef void (APIENTRYP PFNGLTANGENTPOINTEREXTPROC) (GLenum type, GLsizei stride, const void *pointer);\ntypedef void (APIENTRYP PFNGLBINORMALPOINTEREXTPROC) (GLenum type, GLsizei stride, const void *pointer);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glTangent3bEXT (GLbyte tx, GLbyte ty, GLbyte tz);\nGLAPI void APIENTRY glTangent3bvEXT (const GLbyte *v);\nGLAPI void APIENTRY glTangent3dEXT (GLdouble tx, GLdouble ty, GLdouble tz);\nGLAPI void APIENTRY glTangent3dvEXT (const GLdouble *v);\nGLAPI void APIENTRY glTangent3fEXT (GLfloat tx, GLfloat ty, GLfloat tz);\nGLAPI void APIENTRY glTangent3fvEXT (const GLfloat *v);\nGLAPI void APIENTRY glTangent3iEXT (GLint tx, GLint ty, GLint tz);\nGLAPI void APIENTRY glTangent3ivEXT (const GLint *v);\nGLAPI void APIENTRY glTangent3sEXT (GLshort tx, GLshort ty, GLshort tz);\nGLAPI void APIENTRY glTangent3svEXT (const GLshort *v);\nGLAPI void APIENTRY glBinormal3bEXT (GLbyte bx, GLbyte by, GLbyte bz);\nGLAPI void APIENTRY glBinormal3bvEXT (const GLbyte *v);\nGLAPI void APIENTRY glBinormal3dEXT (GLdouble bx, GLdouble by, GLdouble bz);\nGLAPI void APIENTRY glBinormal3dvEXT (const GLdouble *v);\nGLAPI void APIENTRY glBinormal3fEXT (GLfloat bx, GLfloat by, GLfloat bz);\nGLAPI void APIENTRY glBinormal3fvEXT (const GLfloat *v);\nGLAPI void APIENTRY glBinormal3iEXT (GLint bx, GLint by, GLint bz);\nGLAPI void APIENTRY glBinormal3ivEXT (const GLint *v);\nGLAPI void APIENTRY glBinormal3sEXT (GLshort bx, GLshort by, GLshort bz);\nGLAPI void APIENTRY glBinormal3svEXT (const GLshort *v);\nGLAPI void APIENTRY glTangentPointerEXT (GLenum type, GLsizei stride, const void *pointer);\nGLAPI void APIENTRY glBinormalPointerEXT (GLenum type, GLsizei stride, const void *pointer);\n#endif\n#endif /* GL_EXT_coordinate_frame */\n\n#ifndef GL_EXT_copy_texture\n#define GL_EXT_copy_texture 1\ntypedef void (APIENTRYP PFNGLCOPYTEXIMAGE1DEXTPROC) (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);\ntypedef void (APIENTRYP PFNGLCOPYTEXIMAGE2DEXTPROC) (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);\ntypedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE1DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);\ntypedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE2DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);\ntypedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE3DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glCopyTexImage1DEXT (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);\nGLAPI void APIENTRY glCopyTexImage2DEXT (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);\nGLAPI void APIENTRY glCopyTexSubImage1DEXT (GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);\nGLAPI void APIENTRY glCopyTexSubImage2DEXT (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);\nGLAPI void APIENTRY glCopyTexSubImage3DEXT (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);\n#endif\n#endif /* GL_EXT_copy_texture */\n\n#ifndef GL_EXT_cull_vertex\n#define GL_EXT_cull_vertex 1\n#define GL_CULL_VERTEX_EXT                0x81AA\n#define GL_CULL_VERTEX_EYE_POSITION_EXT   0x81AB\n#define GL_CULL_VERTEX_OBJECT_POSITION_EXT 0x81AC\ntypedef void (APIENTRYP PFNGLCULLPARAMETERDVEXTPROC) (GLenum pname, GLdouble *params);\ntypedef void (APIENTRYP PFNGLCULLPARAMETERFVEXTPROC) (GLenum pname, GLfloat *params);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glCullParameterdvEXT (GLenum pname, GLdouble *params);\nGLAPI void APIENTRY glCullParameterfvEXT (GLenum pname, GLfloat *params);\n#endif\n#endif /* GL_EXT_cull_vertex */\n\n#ifndef GL_EXT_debug_label\n#define GL_EXT_debug_label 1\n#define GL_PROGRAM_PIPELINE_OBJECT_EXT    0x8A4F\n#define GL_PROGRAM_OBJECT_EXT             0x8B40\n#define GL_SHADER_OBJECT_EXT              0x8B48\n#define GL_BUFFER_OBJECT_EXT              0x9151\n#define GL_QUERY_OBJECT_EXT               0x9153\n#define GL_VERTEX_ARRAY_OBJECT_EXT        0x9154\ntypedef void (APIENTRYP PFNGLLABELOBJECTEXTPROC) (GLenum type, GLuint object, GLsizei length, const GLchar *label);\ntypedef void (APIENTRYP PFNGLGETOBJECTLABELEXTPROC) (GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glLabelObjectEXT (GLenum type, GLuint object, GLsizei length, const GLchar *label);\nGLAPI void APIENTRY glGetObjectLabelEXT (GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label);\n#endif\n#endif /* GL_EXT_debug_label */\n\n#ifndef GL_EXT_debug_marker\n#define GL_EXT_debug_marker 1\ntypedef void (APIENTRYP PFNGLINSERTEVENTMARKEREXTPROC) (GLsizei length, const GLchar *marker);\ntypedef void (APIENTRYP PFNGLPUSHGROUPMARKEREXTPROC) (GLsizei length, const GLchar *marker);\ntypedef void (APIENTRYP PFNGLPOPGROUPMARKEREXTPROC) (void);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glInsertEventMarkerEXT (GLsizei length, const GLchar *marker);\nGLAPI void APIENTRY glPushGroupMarkerEXT (GLsizei length, const GLchar *marker);\nGLAPI void APIENTRY glPopGroupMarkerEXT (void);\n#endif\n#endif /* GL_EXT_debug_marker */\n\n#ifndef GL_EXT_depth_bounds_test\n#define GL_EXT_depth_bounds_test 1\n#define GL_DEPTH_BOUNDS_TEST_EXT          0x8890\n#define GL_DEPTH_BOUNDS_EXT               0x8891\ntypedef void (APIENTRYP PFNGLDEPTHBOUNDSEXTPROC) (GLclampd zmin, GLclampd zmax);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glDepthBoundsEXT (GLclampd zmin, GLclampd zmax);\n#endif\n#endif /* GL_EXT_depth_bounds_test */\n\n#ifndef GL_EXT_direct_state_access\n#define GL_EXT_direct_state_access 1\n#define GL_PROGRAM_MATRIX_EXT             0x8E2D\n#define GL_TRANSPOSE_PROGRAM_MATRIX_EXT   0x8E2E\n#define GL_PROGRAM_MATRIX_STACK_DEPTH_EXT 0x8E2F\ntypedef void (APIENTRYP PFNGLMATRIXLOADFEXTPROC) (GLenum mode, const GLfloat *m);\ntypedef void (APIENTRYP PFNGLMATRIXLOADDEXTPROC) (GLenum mode, const GLdouble *m);\ntypedef void (APIENTRYP PFNGLMATRIXMULTFEXTPROC) (GLenum mode, const GLfloat *m);\ntypedef void (APIENTRYP PFNGLMATRIXMULTDEXTPROC) (GLenum mode, const GLdouble *m);\ntypedef void (APIENTRYP PFNGLMATRIXLOADIDENTITYEXTPROC) (GLenum mode);\ntypedef void (APIENTRYP PFNGLMATRIXROTATEFEXTPROC) (GLenum mode, GLfloat angle, GLfloat x, GLfloat y, GLfloat z);\ntypedef void (APIENTRYP PFNGLMATRIXROTATEDEXTPROC) (GLenum mode, GLdouble angle, GLdouble x, GLdouble y, GLdouble z);\ntypedef void (APIENTRYP PFNGLMATRIXSCALEFEXTPROC) (GLenum mode, GLfloat x, GLfloat y, GLfloat z);\ntypedef void (APIENTRYP PFNGLMATRIXSCALEDEXTPROC) (GLenum mode, GLdouble x, GLdouble y, GLdouble z);\ntypedef void (APIENTRYP PFNGLMATRIXTRANSLATEFEXTPROC) (GLenum mode, GLfloat x, GLfloat y, GLfloat z);\ntypedef void (APIENTRYP PFNGLMATRIXTRANSLATEDEXTPROC) (GLenum mode, GLdouble x, GLdouble y, GLdouble z);\ntypedef void (APIENTRYP PFNGLMATRIXFRUSTUMEXTPROC) (GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);\ntypedef void (APIENTRYP PFNGLMATRIXORTHOEXTPROC) (GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);\ntypedef void (APIENTRYP PFNGLMATRIXPOPEXTPROC) (GLenum mode);\ntypedef void (APIENTRYP PFNGLMATRIXPUSHEXTPROC) (GLenum mode);\ntypedef void (APIENTRYP PFNGLCLIENTATTRIBDEFAULTEXTPROC) (GLbitfield mask);\ntypedef void (APIENTRYP PFNGLPUSHCLIENTATTRIBDEFAULTEXTPROC) (GLbitfield mask);\ntypedef void (APIENTRYP PFNGLTEXTUREPARAMETERFEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLfloat param);\ntypedef void (APIENTRYP PFNGLTEXTUREPARAMETERFVEXTPROC) (GLuint texture, GLenum target, GLenum pname, const GLfloat *params);\ntypedef void (APIENTRYP PFNGLTEXTUREPARAMETERIEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLint param);\ntypedef void (APIENTRYP PFNGLTEXTUREPARAMETERIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, const GLint *params);\ntypedef void (APIENTRYP PFNGLTEXTUREIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void *pixels);\ntypedef void (APIENTRYP PFNGLTEXTUREIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels);\ntypedef void (APIENTRYP PFNGLTEXTURESUBIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels);\ntypedef void (APIENTRYP PFNGLTEXTURESUBIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels);\ntypedef void (APIENTRYP PFNGLCOPYTEXTUREIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);\ntypedef void (APIENTRYP PFNGLCOPYTEXTUREIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);\ntypedef void (APIENTRYP PFNGLCOPYTEXTURESUBIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);\ntypedef void (APIENTRYP PFNGLCOPYTEXTURESUBIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);\ntypedef void (APIENTRYP PFNGLGETTEXTUREIMAGEEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum format, GLenum type, void *pixels);\ntypedef void (APIENTRYP PFNGLGETTEXTUREPARAMETERFVEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLfloat *params);\ntypedef void (APIENTRYP PFNGLGETTEXTUREPARAMETERIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLint *params);\ntypedef void (APIENTRYP PFNGLGETTEXTURELEVELPARAMETERFVEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum pname, GLfloat *params);\ntypedef void (APIENTRYP PFNGLGETTEXTURELEVELPARAMETERIVEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum pname, GLint *params);\ntypedef void (APIENTRYP PFNGLTEXTUREIMAGE3DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels);\ntypedef void (APIENTRYP PFNGLTEXTURESUBIMAGE3DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels);\ntypedef void (APIENTRYP PFNGLCOPYTEXTURESUBIMAGE3DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);\ntypedef void (APIENTRYP PFNGLBINDMULTITEXTUREEXTPROC) (GLenum texunit, GLenum target, GLuint texture);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORDPOINTEREXTPROC) (GLenum texunit, GLint size, GLenum type, GLsizei stride, const void *pointer);\ntypedef void (APIENTRYP PFNGLMULTITEXENVFEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLfloat param);\ntypedef void (APIENTRYP PFNGLMULTITEXENVFVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLfloat *params);\ntypedef void (APIENTRYP PFNGLMULTITEXENVIEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint param);\ntypedef void (APIENTRYP PFNGLMULTITEXENVIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLint *params);\ntypedef void (APIENTRYP PFNGLMULTITEXGENDEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLdouble param);\ntypedef void (APIENTRYP PFNGLMULTITEXGENDVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, const GLdouble *params);\ntypedef void (APIENTRYP PFNGLMULTITEXGENFEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLfloat param);\ntypedef void (APIENTRYP PFNGLMULTITEXGENFVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, const GLfloat *params);\ntypedef void (APIENTRYP PFNGLMULTITEXGENIEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLint param);\ntypedef void (APIENTRYP PFNGLMULTITEXGENIVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, const GLint *params);\ntypedef void (APIENTRYP PFNGLGETMULTITEXENVFVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLfloat *params);\ntypedef void (APIENTRYP PFNGLGETMULTITEXENVIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint *params);\ntypedef void (APIENTRYP PFNGLGETMULTITEXGENDVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLdouble *params);\ntypedef void (APIENTRYP PFNGLGETMULTITEXGENFVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLfloat *params);\ntypedef void (APIENTRYP PFNGLGETMULTITEXGENIVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLint *params);\ntypedef void (APIENTRYP PFNGLMULTITEXPARAMETERIEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint param);\ntypedef void (APIENTRYP PFNGLMULTITEXPARAMETERIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLint *params);\ntypedef void (APIENTRYP PFNGLMULTITEXPARAMETERFEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLfloat param);\ntypedef void (APIENTRYP PFNGLMULTITEXPARAMETERFVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLfloat *params);\ntypedef void (APIENTRYP PFNGLMULTITEXIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void *pixels);\ntypedef void (APIENTRYP PFNGLMULTITEXIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels);\ntypedef void (APIENTRYP PFNGLMULTITEXSUBIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels);\ntypedef void (APIENTRYP PFNGLMULTITEXSUBIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels);\ntypedef void (APIENTRYP PFNGLCOPYMULTITEXIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);\ntypedef void (APIENTRYP PFNGLCOPYMULTITEXIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);\ntypedef void (APIENTRYP PFNGLCOPYMULTITEXSUBIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);\ntypedef void (APIENTRYP PFNGLCOPYMULTITEXSUBIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);\ntypedef void (APIENTRYP PFNGLGETMULTITEXIMAGEEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum format, GLenum type, void *pixels);\ntypedef void (APIENTRYP PFNGLGETMULTITEXPARAMETERFVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLfloat *params);\ntypedef void (APIENTRYP PFNGLGETMULTITEXPARAMETERIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint *params);\ntypedef void (APIENTRYP PFNGLGETMULTITEXLEVELPARAMETERFVEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum pname, GLfloat *params);\ntypedef void (APIENTRYP PFNGLGETMULTITEXLEVELPARAMETERIVEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum pname, GLint *params);\ntypedef void (APIENTRYP PFNGLMULTITEXIMAGE3DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels);\ntypedef void (APIENTRYP PFNGLMULTITEXSUBIMAGE3DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels);\ntypedef void (APIENTRYP PFNGLCOPYMULTITEXSUBIMAGE3DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);\ntypedef void (APIENTRYP PFNGLENABLECLIENTSTATEINDEXEDEXTPROC) (GLenum array, GLuint index);\ntypedef void (APIENTRYP PFNGLDISABLECLIENTSTATEINDEXEDEXTPROC) (GLenum array, GLuint index);\ntypedef void (APIENTRYP PFNGLGETFLOATINDEXEDVEXTPROC) (GLenum target, GLuint index, GLfloat *data);\ntypedef void (APIENTRYP PFNGLGETDOUBLEINDEXEDVEXTPROC) (GLenum target, GLuint index, GLdouble *data);\ntypedef void (APIENTRYP PFNGLGETPOINTERINDEXEDVEXTPROC) (GLenum target, GLuint index, void **data);\ntypedef void (APIENTRYP PFNGLENABLEINDEXEDEXTPROC) (GLenum target, GLuint index);\ntypedef void (APIENTRYP PFNGLDISABLEINDEXEDEXTPROC) (GLenum target, GLuint index);\ntypedef GLboolean (APIENTRYP PFNGLISENABLEDINDEXEDEXTPROC) (GLenum target, GLuint index);\ntypedef void (APIENTRYP PFNGLGETINTEGERINDEXEDVEXTPROC) (GLenum target, GLuint index, GLint *data);\ntypedef void (APIENTRYP PFNGLGETBOOLEANINDEXEDVEXTPROC) (GLenum target, GLuint index, GLboolean *data);\ntypedef void (APIENTRYP PFNGLCOMPRESSEDTEXTUREIMAGE3DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *bits);\ntypedef void (APIENTRYP PFNGLCOMPRESSEDTEXTUREIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *bits);\ntypedef void (APIENTRYP PFNGLCOMPRESSEDTEXTUREIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void *bits);\ntypedef void (APIENTRYP PFNGLCOMPRESSEDTEXTURESUBIMAGE3DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *bits);\ntypedef void (APIENTRYP PFNGLCOMPRESSEDTEXTURESUBIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *bits);\ntypedef void (APIENTRYP PFNGLCOMPRESSEDTEXTURESUBIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *bits);\ntypedef void (APIENTRYP PFNGLGETCOMPRESSEDTEXTUREIMAGEEXTPROC) (GLuint texture, GLenum target, GLint lod, void *img);\ntypedef void (APIENTRYP PFNGLCOMPRESSEDMULTITEXIMAGE3DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *bits);\ntypedef void (APIENTRYP PFNGLCOMPRESSEDMULTITEXIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *bits);\ntypedef void (APIENTRYP PFNGLCOMPRESSEDMULTITEXIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void *bits);\ntypedef void (APIENTRYP PFNGLCOMPRESSEDMULTITEXSUBIMAGE3DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *bits);\ntypedef void (APIENTRYP PFNGLCOMPRESSEDMULTITEXSUBIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *bits);\ntypedef void (APIENTRYP PFNGLCOMPRESSEDMULTITEXSUBIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *bits);\ntypedef void (APIENTRYP PFNGLGETCOMPRESSEDMULTITEXIMAGEEXTPROC) (GLenum texunit, GLenum target, GLint lod, void *img);\ntypedef void (APIENTRYP PFNGLMATRIXLOADTRANSPOSEFEXTPROC) (GLenum mode, const GLfloat *m);\ntypedef void (APIENTRYP PFNGLMATRIXLOADTRANSPOSEDEXTPROC) (GLenum mode, const GLdouble *m);\ntypedef void (APIENTRYP PFNGLMATRIXMULTTRANSPOSEFEXTPROC) (GLenum mode, const GLfloat *m);\ntypedef void (APIENTRYP PFNGLMATRIXMULTTRANSPOSEDEXTPROC) (GLenum mode, const GLdouble *m);\ntypedef void (APIENTRYP PFNGLNAMEDBUFFERDATAEXTPROC) (GLuint buffer, GLsizeiptr size, const void *data, GLenum usage);\ntypedef void (APIENTRYP PFNGLNAMEDBUFFERSUBDATAEXTPROC) (GLuint buffer, GLintptr offset, GLsizeiptr size, const void *data);\ntypedef void *(APIENTRYP PFNGLMAPNAMEDBUFFEREXTPROC) (GLuint buffer, GLenum access);\ntypedef GLboolean (APIENTRYP PFNGLUNMAPNAMEDBUFFEREXTPROC) (GLuint buffer);\ntypedef void (APIENTRYP PFNGLGETNAMEDBUFFERPARAMETERIVEXTPROC) (GLuint buffer, GLenum pname, GLint *params);\ntypedef void (APIENTRYP PFNGLGETNAMEDBUFFERPOINTERVEXTPROC) (GLuint buffer, GLenum pname, void **params);\ntypedef void (APIENTRYP PFNGLGETNAMEDBUFFERSUBDATAEXTPROC) (GLuint buffer, GLintptr offset, GLsizeiptr size, void *data);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM1FEXTPROC) (GLuint program, GLint location, GLfloat v0);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM2FEXTPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM3FEXTPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM4FEXTPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM1IEXTPROC) (GLuint program, GLint location, GLint v0);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM2IEXTPROC) (GLuint program, GLint location, GLint v0, GLint v1);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM3IEXTPROC) (GLuint program, GLint location, GLint v0, GLint v1, GLint v2);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM4IEXTPROC) (GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM1FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM2FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM3FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM4FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM1IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM2IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM3IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM4IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (APIENTRYP PFNGLTEXTUREBUFFEREXTPROC) (GLuint texture, GLenum target, GLenum internalformat, GLuint buffer);\ntypedef void (APIENTRYP PFNGLMULTITEXBUFFEREXTPROC) (GLenum texunit, GLenum target, GLenum internalformat, GLuint buffer);\ntypedef void (APIENTRYP PFNGLTEXTUREPARAMETERIIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, const GLint *params);\ntypedef void (APIENTRYP PFNGLTEXTUREPARAMETERIUIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, const GLuint *params);\ntypedef void (APIENTRYP PFNGLGETTEXTUREPARAMETERIIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLint *params);\ntypedef void (APIENTRYP PFNGLGETTEXTUREPARAMETERIUIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLuint *params);\ntypedef void (APIENTRYP PFNGLMULTITEXPARAMETERIIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLint *params);\ntypedef void (APIENTRYP PFNGLMULTITEXPARAMETERIUIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLuint *params);\ntypedef void (APIENTRYP PFNGLGETMULTITEXPARAMETERIIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint *params);\ntypedef void (APIENTRYP PFNGLGETMULTITEXPARAMETERIUIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLuint *params);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM1UIEXTPROC) (GLuint program, GLint location, GLuint v0);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM2UIEXTPROC) (GLuint program, GLint location, GLuint v0, GLuint v1);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM3UIEXTPROC) (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM4UIEXTPROC) (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM1UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM2UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM3UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM4UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);\ntypedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETERS4FVEXTPROC) (GLuint program, GLenum target, GLuint index, GLsizei count, const GLfloat *params);\ntypedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETERI4IEXTPROC) (GLuint program, GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w);\ntypedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETERI4IVEXTPROC) (GLuint program, GLenum target, GLuint index, const GLint *params);\ntypedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETERSI4IVEXTPROC) (GLuint program, GLenum target, GLuint index, GLsizei count, const GLint *params);\ntypedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIEXTPROC) (GLuint program, GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);\ntypedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIVEXTPROC) (GLuint program, GLenum target, GLuint index, const GLuint *params);\ntypedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETERSI4UIVEXTPROC) (GLuint program, GLenum target, GLuint index, GLsizei count, const GLuint *params);\ntypedef void (APIENTRYP PFNGLGETNAMEDPROGRAMLOCALPARAMETERIIVEXTPROC) (GLuint program, GLenum target, GLuint index, GLint *params);\ntypedef void (APIENTRYP PFNGLGETNAMEDPROGRAMLOCALPARAMETERIUIVEXTPROC) (GLuint program, GLenum target, GLuint index, GLuint *params);\ntypedef void (APIENTRYP PFNGLENABLECLIENTSTATEIEXTPROC) (GLenum array, GLuint index);\ntypedef void (APIENTRYP PFNGLDISABLECLIENTSTATEIEXTPROC) (GLenum array, GLuint index);\ntypedef void (APIENTRYP PFNGLGETFLOATI_VEXTPROC) (GLenum pname, GLuint index, GLfloat *params);\ntypedef void (APIENTRYP PFNGLGETDOUBLEI_VEXTPROC) (GLenum pname, GLuint index, GLdouble *params);\ntypedef void (APIENTRYP PFNGLGETPOINTERI_VEXTPROC) (GLenum pname, GLuint index, void **params);\ntypedef void (APIENTRYP PFNGLNAMEDPROGRAMSTRINGEXTPROC) (GLuint program, GLenum target, GLenum format, GLsizei len, const void *string);\ntypedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETER4DEXTPROC) (GLuint program, GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\ntypedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETER4DVEXTPROC) (GLuint program, GLenum target, GLuint index, const GLdouble *params);\ntypedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETER4FEXTPROC) (GLuint program, GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\ntypedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETER4FVEXTPROC) (GLuint program, GLenum target, GLuint index, const GLfloat *params);\ntypedef void (APIENTRYP PFNGLGETNAMEDPROGRAMLOCALPARAMETERDVEXTPROC) (GLuint program, GLenum target, GLuint index, GLdouble *params);\ntypedef void (APIENTRYP PFNGLGETNAMEDPROGRAMLOCALPARAMETERFVEXTPROC) (GLuint program, GLenum target, GLuint index, GLfloat *params);\ntypedef void (APIENTRYP PFNGLGETNAMEDPROGRAMIVEXTPROC) (GLuint program, GLenum target, GLenum pname, GLint *params);\ntypedef void (APIENTRYP PFNGLGETNAMEDPROGRAMSTRINGEXTPROC) (GLuint program, GLenum target, GLenum pname, void *string);\ntypedef void (APIENTRYP PFNGLNAMEDRENDERBUFFERSTORAGEEXTPROC) (GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height);\ntypedef void (APIENTRYP PFNGLGETNAMEDRENDERBUFFERPARAMETERIVEXTPROC) (GLuint renderbuffer, GLenum pname, GLint *params);\ntypedef void (APIENTRYP PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) (GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);\ntypedef void (APIENTRYP PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLECOVERAGEEXTPROC) (GLuint renderbuffer, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height);\ntypedef GLenum (APIENTRYP PFNGLCHECKNAMEDFRAMEBUFFERSTATUSEXTPROC) (GLuint framebuffer, GLenum target);\ntypedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERTEXTURE1DEXTPROC) (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level);\ntypedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERTEXTURE2DEXTPROC) (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level);\ntypedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERTEXTURE3DEXTPROC) (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);\ntypedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERRENDERBUFFEREXTPROC) (GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);\ntypedef void (APIENTRYP PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC) (GLuint framebuffer, GLenum attachment, GLenum pname, GLint *params);\ntypedef void (APIENTRYP PFNGLGENERATETEXTUREMIPMAPEXTPROC) (GLuint texture, GLenum target);\ntypedef void (APIENTRYP PFNGLGENERATEMULTITEXMIPMAPEXTPROC) (GLenum texunit, GLenum target);\ntypedef void (APIENTRYP PFNGLFRAMEBUFFERDRAWBUFFEREXTPROC) (GLuint framebuffer, GLenum mode);\ntypedef void (APIENTRYP PFNGLFRAMEBUFFERDRAWBUFFERSEXTPROC) (GLuint framebuffer, GLsizei n, const GLenum *bufs);\ntypedef void (APIENTRYP PFNGLFRAMEBUFFERREADBUFFEREXTPROC) (GLuint framebuffer, GLenum mode);\ntypedef void (APIENTRYP PFNGLGETFRAMEBUFFERPARAMETERIVEXTPROC) (GLuint framebuffer, GLenum pname, GLint *params);\ntypedef void (APIENTRYP PFNGLNAMEDCOPYBUFFERSUBDATAEXTPROC) (GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);\ntypedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERTEXTUREEXTPROC) (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level);\ntypedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERTEXTURELAYEREXTPROC) (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer);\ntypedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERTEXTUREFACEEXTPROC) (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLenum face);\ntypedef void (APIENTRYP PFNGLTEXTURERENDERBUFFEREXTPROC) (GLuint texture, GLenum target, GLuint renderbuffer);\ntypedef void (APIENTRYP PFNGLMULTITEXRENDERBUFFEREXTPROC) (GLenum texunit, GLenum target, GLuint renderbuffer);\ntypedef void (APIENTRYP PFNGLVERTEXARRAYVERTEXOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset);\ntypedef void (APIENTRYP PFNGLVERTEXARRAYCOLOROFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset);\ntypedef void (APIENTRYP PFNGLVERTEXARRAYEDGEFLAGOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLsizei stride, GLintptr offset);\ntypedef void (APIENTRYP PFNGLVERTEXARRAYINDEXOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, GLintptr offset);\ntypedef void (APIENTRYP PFNGLVERTEXARRAYNORMALOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, GLintptr offset);\ntypedef void (APIENTRYP PFNGLVERTEXARRAYTEXCOORDOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset);\ntypedef void (APIENTRYP PFNGLVERTEXARRAYMULTITEXCOORDOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLenum texunit, GLint size, GLenum type, GLsizei stride, GLintptr offset);\ntypedef void (APIENTRYP PFNGLVERTEXARRAYFOGCOORDOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, GLintptr offset);\ntypedef void (APIENTRYP PFNGLVERTEXARRAYSECONDARYCOLOROFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset);\ntypedef void (APIENTRYP PFNGLVERTEXARRAYVERTEXATTRIBOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, GLintptr offset);\ntypedef void (APIENTRYP PFNGLVERTEXARRAYVERTEXATTRIBIOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLsizei stride, GLintptr offset);\ntypedef void (APIENTRYP PFNGLENABLEVERTEXARRAYEXTPROC) (GLuint vaobj, GLenum array);\ntypedef void (APIENTRYP PFNGLDISABLEVERTEXARRAYEXTPROC) (GLuint vaobj, GLenum array);\ntypedef void (APIENTRYP PFNGLENABLEVERTEXARRAYATTRIBEXTPROC) (GLuint vaobj, GLuint index);\ntypedef void (APIENTRYP PFNGLDISABLEVERTEXARRAYATTRIBEXTPROC) (GLuint vaobj, GLuint index);\ntypedef void (APIENTRYP PFNGLGETVERTEXARRAYINTEGERVEXTPROC) (GLuint vaobj, GLenum pname, GLint *param);\ntypedef void (APIENTRYP PFNGLGETVERTEXARRAYPOINTERVEXTPROC) (GLuint vaobj, GLenum pname, void **param);\ntypedef void (APIENTRYP PFNGLGETVERTEXARRAYINTEGERI_VEXTPROC) (GLuint vaobj, GLuint index, GLenum pname, GLint *param);\ntypedef void (APIENTRYP PFNGLGETVERTEXARRAYPOINTERI_VEXTPROC) (GLuint vaobj, GLuint index, GLenum pname, void **param);\ntypedef void *(APIENTRYP PFNGLMAPNAMEDBUFFERRANGEEXTPROC) (GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access);\ntypedef void (APIENTRYP PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEEXTPROC) (GLuint buffer, GLintptr offset, GLsizeiptr length);\ntypedef void (APIENTRYP PFNGLNAMEDBUFFERSTORAGEEXTPROC) (GLuint buffer, GLsizeiptr size, const void *data, GLbitfield flags);\ntypedef void (APIENTRYP PFNGLCLEARNAMEDBUFFERDATAEXTPROC) (GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const void *data);\ntypedef void (APIENTRYP PFNGLCLEARNAMEDBUFFERSUBDATAEXTPROC) (GLuint buffer, GLenum internalformat, GLsizeiptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data);\ntypedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERPARAMETERIEXTPROC) (GLuint framebuffer, GLenum pname, GLint param);\ntypedef void (APIENTRYP PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVEXTPROC) (GLuint framebuffer, GLenum pname, GLint *params);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM1DEXTPROC) (GLuint program, GLint location, GLdouble x);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM2DEXTPROC) (GLuint program, GLint location, GLdouble x, GLdouble y);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM3DEXTPROC) (GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM4DEXTPROC) (GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM1DVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLdouble *value);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM2DVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLdouble *value);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM3DVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLdouble *value);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM4DVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLdouble *value);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2DVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3DVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4DVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X3DVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X4DVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X2DVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X4DVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X2DVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X3DVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\ntypedef void (APIENTRYP PFNGLTEXTUREBUFFERRANGEEXTPROC) (GLuint texture, GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size);\ntypedef void (APIENTRYP PFNGLTEXTURESTORAGE1DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);\ntypedef void (APIENTRYP PFNGLTEXTURESTORAGE2DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);\ntypedef void (APIENTRYP PFNGLTEXTURESTORAGE3DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);\ntypedef void (APIENTRYP PFNGLTEXTURESTORAGE2DMULTISAMPLEEXTPROC) (GLuint texture, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);\ntypedef void (APIENTRYP PFNGLTEXTURESTORAGE3DMULTISAMPLEEXTPROC) (GLuint texture, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);\ntypedef void (APIENTRYP PFNGLVERTEXARRAYBINDVERTEXBUFFEREXTPROC) (GLuint vaobj, GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride);\ntypedef void (APIENTRYP PFNGLVERTEXARRAYVERTEXATTRIBFORMATEXTPROC) (GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset);\ntypedef void (APIENTRYP PFNGLVERTEXARRAYVERTEXATTRIBIFORMATEXTPROC) (GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);\ntypedef void (APIENTRYP PFNGLVERTEXARRAYVERTEXATTRIBLFORMATEXTPROC) (GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);\ntypedef void (APIENTRYP PFNGLVERTEXARRAYVERTEXATTRIBBINDINGEXTPROC) (GLuint vaobj, GLuint attribindex, GLuint bindingindex);\ntypedef void (APIENTRYP PFNGLVERTEXARRAYVERTEXBINDINGDIVISOREXTPROC) (GLuint vaobj, GLuint bindingindex, GLuint divisor);\ntypedef void (APIENTRYP PFNGLVERTEXARRAYVERTEXATTRIBLOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLsizei stride, GLintptr offset);\ntypedef void (APIENTRYP PFNGLTEXTUREPAGECOMMITMENTEXTPROC) (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean resident);\ntypedef void (APIENTRYP PFNGLVERTEXARRAYVERTEXATTRIBDIVISOREXTPROC) (GLuint vaobj, GLuint index, GLuint divisor);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glMatrixLoadfEXT (GLenum mode, const GLfloat *m);\nGLAPI void APIENTRY glMatrixLoaddEXT (GLenum mode, const GLdouble *m);\nGLAPI void APIENTRY glMatrixMultfEXT (GLenum mode, const GLfloat *m);\nGLAPI void APIENTRY glMatrixMultdEXT (GLenum mode, const GLdouble *m);\nGLAPI void APIENTRY glMatrixLoadIdentityEXT (GLenum mode);\nGLAPI void APIENTRY glMatrixRotatefEXT (GLenum mode, GLfloat angle, GLfloat x, GLfloat y, GLfloat z);\nGLAPI void APIENTRY glMatrixRotatedEXT (GLenum mode, GLdouble angle, GLdouble x, GLdouble y, GLdouble z);\nGLAPI void APIENTRY glMatrixScalefEXT (GLenum mode, GLfloat x, GLfloat y, GLfloat z);\nGLAPI void APIENTRY glMatrixScaledEXT (GLenum mode, GLdouble x, GLdouble y, GLdouble z);\nGLAPI void APIENTRY glMatrixTranslatefEXT (GLenum mode, GLfloat x, GLfloat y, GLfloat z);\nGLAPI void APIENTRY glMatrixTranslatedEXT (GLenum mode, GLdouble x, GLdouble y, GLdouble z);\nGLAPI void APIENTRY glMatrixFrustumEXT (GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);\nGLAPI void APIENTRY glMatrixOrthoEXT (GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);\nGLAPI void APIENTRY glMatrixPopEXT (GLenum mode);\nGLAPI void APIENTRY glMatrixPushEXT (GLenum mode);\nGLAPI void APIENTRY glClientAttribDefaultEXT (GLbitfield mask);\nGLAPI void APIENTRY glPushClientAttribDefaultEXT (GLbitfield mask);\nGLAPI void APIENTRY glTextureParameterfEXT (GLuint texture, GLenum target, GLenum pname, GLfloat param);\nGLAPI void APIENTRY glTextureParameterfvEXT (GLuint texture, GLenum target, GLenum pname, const GLfloat *params);\nGLAPI void APIENTRY glTextureParameteriEXT (GLuint texture, GLenum target, GLenum pname, GLint param);\nGLAPI void APIENTRY glTextureParameterivEXT (GLuint texture, GLenum target, GLenum pname, const GLint *params);\nGLAPI void APIENTRY glTextureImage1DEXT (GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void *pixels);\nGLAPI void APIENTRY glTextureImage2DEXT (GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels);\nGLAPI void APIENTRY glTextureSubImage1DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels);\nGLAPI void APIENTRY glTextureSubImage2DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels);\nGLAPI void APIENTRY glCopyTextureImage1DEXT (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);\nGLAPI void APIENTRY glCopyTextureImage2DEXT (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);\nGLAPI void APIENTRY glCopyTextureSubImage1DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);\nGLAPI void APIENTRY glCopyTextureSubImage2DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);\nGLAPI void APIENTRY glGetTextureImageEXT (GLuint texture, GLenum target, GLint level, GLenum format, GLenum type, void *pixels);\nGLAPI void APIENTRY glGetTextureParameterfvEXT (GLuint texture, GLenum target, GLenum pname, GLfloat *params);\nGLAPI void APIENTRY glGetTextureParameterivEXT (GLuint texture, GLenum target, GLenum pname, GLint *params);\nGLAPI void APIENTRY glGetTextureLevelParameterfvEXT (GLuint texture, GLenum target, GLint level, GLenum pname, GLfloat *params);\nGLAPI void APIENTRY glGetTextureLevelParameterivEXT (GLuint texture, GLenum target, GLint level, GLenum pname, GLint *params);\nGLAPI void APIENTRY glTextureImage3DEXT (GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels);\nGLAPI void APIENTRY glTextureSubImage3DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels);\nGLAPI void APIENTRY glCopyTextureSubImage3DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);\nGLAPI void APIENTRY glBindMultiTextureEXT (GLenum texunit, GLenum target, GLuint texture);\nGLAPI void APIENTRY glMultiTexCoordPointerEXT (GLenum texunit, GLint size, GLenum type, GLsizei stride, const void *pointer);\nGLAPI void APIENTRY glMultiTexEnvfEXT (GLenum texunit, GLenum target, GLenum pname, GLfloat param);\nGLAPI void APIENTRY glMultiTexEnvfvEXT (GLenum texunit, GLenum target, GLenum pname, const GLfloat *params);\nGLAPI void APIENTRY glMultiTexEnviEXT (GLenum texunit, GLenum target, GLenum pname, GLint param);\nGLAPI void APIENTRY glMultiTexEnvivEXT (GLenum texunit, GLenum target, GLenum pname, const GLint *params);\nGLAPI void APIENTRY glMultiTexGendEXT (GLenum texunit, GLenum coord, GLenum pname, GLdouble param);\nGLAPI void APIENTRY glMultiTexGendvEXT (GLenum texunit, GLenum coord, GLenum pname, const GLdouble *params);\nGLAPI void APIENTRY glMultiTexGenfEXT (GLenum texunit, GLenum coord, GLenum pname, GLfloat param);\nGLAPI void APIENTRY glMultiTexGenfvEXT (GLenum texunit, GLenum coord, GLenum pname, const GLfloat *params);\nGLAPI void APIENTRY glMultiTexGeniEXT (GLenum texunit, GLenum coord, GLenum pname, GLint param);\nGLAPI void APIENTRY glMultiTexGenivEXT (GLenum texunit, GLenum coord, GLenum pname, const GLint *params);\nGLAPI void APIENTRY glGetMultiTexEnvfvEXT (GLenum texunit, GLenum target, GLenum pname, GLfloat *params);\nGLAPI void APIENTRY glGetMultiTexEnvivEXT (GLenum texunit, GLenum target, GLenum pname, GLint *params);\nGLAPI void APIENTRY glGetMultiTexGendvEXT (GLenum texunit, GLenum coord, GLenum pname, GLdouble *params);\nGLAPI void APIENTRY glGetMultiTexGenfvEXT (GLenum texunit, GLenum coord, GLenum pname, GLfloat *params);\nGLAPI void APIENTRY glGetMultiTexGenivEXT (GLenum texunit, GLenum coord, GLenum pname, GLint *params);\nGLAPI void APIENTRY glMultiTexParameteriEXT (GLenum texunit, GLenum target, GLenum pname, GLint param);\nGLAPI void APIENTRY glMultiTexParameterivEXT (GLenum texunit, GLenum target, GLenum pname, const GLint *params);\nGLAPI void APIENTRY glMultiTexParameterfEXT (GLenum texunit, GLenum target, GLenum pname, GLfloat param);\nGLAPI void APIENTRY glMultiTexParameterfvEXT (GLenum texunit, GLenum target, GLenum pname, const GLfloat *params);\nGLAPI void APIENTRY glMultiTexImage1DEXT (GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void *pixels);\nGLAPI void APIENTRY glMultiTexImage2DEXT (GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels);\nGLAPI void APIENTRY glMultiTexSubImage1DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels);\nGLAPI void APIENTRY glMultiTexSubImage2DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels);\nGLAPI void APIENTRY glCopyMultiTexImage1DEXT (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);\nGLAPI void APIENTRY glCopyMultiTexImage2DEXT (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);\nGLAPI void APIENTRY glCopyMultiTexSubImage1DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);\nGLAPI void APIENTRY glCopyMultiTexSubImage2DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);\nGLAPI void APIENTRY glGetMultiTexImageEXT (GLenum texunit, GLenum target, GLint level, GLenum format, GLenum type, void *pixels);\nGLAPI void APIENTRY glGetMultiTexParameterfvEXT (GLenum texunit, GLenum target, GLenum pname, GLfloat *params);\nGLAPI void APIENTRY glGetMultiTexParameterivEXT (GLenum texunit, GLenum target, GLenum pname, GLint *params);\nGLAPI void APIENTRY glGetMultiTexLevelParameterfvEXT (GLenum texunit, GLenum target, GLint level, GLenum pname, GLfloat *params);\nGLAPI void APIENTRY glGetMultiTexLevelParameterivEXT (GLenum texunit, GLenum target, GLint level, GLenum pname, GLint *params);\nGLAPI void APIENTRY glMultiTexImage3DEXT (GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels);\nGLAPI void APIENTRY glMultiTexSubImage3DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels);\nGLAPI void APIENTRY glCopyMultiTexSubImage3DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);\nGLAPI void APIENTRY glEnableClientStateIndexedEXT (GLenum array, GLuint index);\nGLAPI void APIENTRY glDisableClientStateIndexedEXT (GLenum array, GLuint index);\nGLAPI void APIENTRY glGetFloatIndexedvEXT (GLenum target, GLuint index, GLfloat *data);\nGLAPI void APIENTRY glGetDoubleIndexedvEXT (GLenum target, GLuint index, GLdouble *data);\nGLAPI void APIENTRY glGetPointerIndexedvEXT (GLenum target, GLuint index, void **data);\nGLAPI void APIENTRY glEnableIndexedEXT (GLenum target, GLuint index);\nGLAPI void APIENTRY glDisableIndexedEXT (GLenum target, GLuint index);\nGLAPI GLboolean APIENTRY glIsEnabledIndexedEXT (GLenum target, GLuint index);\nGLAPI void APIENTRY glGetIntegerIndexedvEXT (GLenum target, GLuint index, GLint *data);\nGLAPI void APIENTRY glGetBooleanIndexedvEXT (GLenum target, GLuint index, GLboolean *data);\nGLAPI void APIENTRY glCompressedTextureImage3DEXT (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *bits);\nGLAPI void APIENTRY glCompressedTextureImage2DEXT (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *bits);\nGLAPI void APIENTRY glCompressedTextureImage1DEXT (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void *bits);\nGLAPI void APIENTRY glCompressedTextureSubImage3DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *bits);\nGLAPI void APIENTRY glCompressedTextureSubImage2DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *bits);\nGLAPI void APIENTRY glCompressedTextureSubImage1DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *bits);\nGLAPI void APIENTRY glGetCompressedTextureImageEXT (GLuint texture, GLenum target, GLint lod, void *img);\nGLAPI void APIENTRY glCompressedMultiTexImage3DEXT (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *bits);\nGLAPI void APIENTRY glCompressedMultiTexImage2DEXT (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *bits);\nGLAPI void APIENTRY glCompressedMultiTexImage1DEXT (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void *bits);\nGLAPI void APIENTRY glCompressedMultiTexSubImage3DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *bits);\nGLAPI void APIENTRY glCompressedMultiTexSubImage2DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *bits);\nGLAPI void APIENTRY glCompressedMultiTexSubImage1DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *bits);\nGLAPI void APIENTRY glGetCompressedMultiTexImageEXT (GLenum texunit, GLenum target, GLint lod, void *img);\nGLAPI void APIENTRY glMatrixLoadTransposefEXT (GLenum mode, const GLfloat *m);\nGLAPI void APIENTRY glMatrixLoadTransposedEXT (GLenum mode, const GLdouble *m);\nGLAPI void APIENTRY glMatrixMultTransposefEXT (GLenum mode, const GLfloat *m);\nGLAPI void APIENTRY glMatrixMultTransposedEXT (GLenum mode, const GLdouble *m);\nGLAPI void APIENTRY glNamedBufferDataEXT (GLuint buffer, GLsizeiptr size, const void *data, GLenum usage);\nGLAPI void APIENTRY glNamedBufferSubDataEXT (GLuint buffer, GLintptr offset, GLsizeiptr size, const void *data);\nGLAPI void *APIENTRY glMapNamedBufferEXT (GLuint buffer, GLenum access);\nGLAPI GLboolean APIENTRY glUnmapNamedBufferEXT (GLuint buffer);\nGLAPI void APIENTRY glGetNamedBufferParameterivEXT (GLuint buffer, GLenum pname, GLint *params);\nGLAPI void APIENTRY glGetNamedBufferPointervEXT (GLuint buffer, GLenum pname, void **params);\nGLAPI void APIENTRY glGetNamedBufferSubDataEXT (GLuint buffer, GLintptr offset, GLsizeiptr size, void *data);\nGLAPI void APIENTRY glProgramUniform1fEXT (GLuint program, GLint location, GLfloat v0);\nGLAPI void APIENTRY glProgramUniform2fEXT (GLuint program, GLint location, GLfloat v0, GLfloat v1);\nGLAPI void APIENTRY glProgramUniform3fEXT (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2);\nGLAPI void APIENTRY glProgramUniform4fEXT (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);\nGLAPI void APIENTRY glProgramUniform1iEXT (GLuint program, GLint location, GLint v0);\nGLAPI void APIENTRY glProgramUniform2iEXT (GLuint program, GLint location, GLint v0, GLint v1);\nGLAPI void APIENTRY glProgramUniform3iEXT (GLuint program, GLint location, GLint v0, GLint v1, GLint v2);\nGLAPI void APIENTRY glProgramUniform4iEXT (GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);\nGLAPI void APIENTRY glProgramUniform1fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);\nGLAPI void APIENTRY glProgramUniform2fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);\nGLAPI void APIENTRY glProgramUniform3fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);\nGLAPI void APIENTRY glProgramUniform4fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);\nGLAPI void APIENTRY glProgramUniform1ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);\nGLAPI void APIENTRY glProgramUniform2ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);\nGLAPI void APIENTRY glProgramUniform3ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);\nGLAPI void APIENTRY glProgramUniform4ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);\nGLAPI void APIENTRY glProgramUniformMatrix2fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nGLAPI void APIENTRY glProgramUniformMatrix3fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nGLAPI void APIENTRY glProgramUniformMatrix4fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nGLAPI void APIENTRY glProgramUniformMatrix2x3fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nGLAPI void APIENTRY glProgramUniformMatrix3x2fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nGLAPI void APIENTRY glProgramUniformMatrix2x4fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nGLAPI void APIENTRY glProgramUniformMatrix4x2fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nGLAPI void APIENTRY glProgramUniformMatrix3x4fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nGLAPI void APIENTRY glProgramUniformMatrix4x3fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nGLAPI void APIENTRY glTextureBufferEXT (GLuint texture, GLenum target, GLenum internalformat, GLuint buffer);\nGLAPI void APIENTRY glMultiTexBufferEXT (GLenum texunit, GLenum target, GLenum internalformat, GLuint buffer);\nGLAPI void APIENTRY glTextureParameterIivEXT (GLuint texture, GLenum target, GLenum pname, const GLint *params);\nGLAPI void APIENTRY glTextureParameterIuivEXT (GLuint texture, GLenum target, GLenum pname, const GLuint *params);\nGLAPI void APIENTRY glGetTextureParameterIivEXT (GLuint texture, GLenum target, GLenum pname, GLint *params);\nGLAPI void APIENTRY glGetTextureParameterIuivEXT (GLuint texture, GLenum target, GLenum pname, GLuint *params);\nGLAPI void APIENTRY glMultiTexParameterIivEXT (GLenum texunit, GLenum target, GLenum pname, const GLint *params);\nGLAPI void APIENTRY glMultiTexParameterIuivEXT (GLenum texunit, GLenum target, GLenum pname, const GLuint *params);\nGLAPI void APIENTRY glGetMultiTexParameterIivEXT (GLenum texunit, GLenum target, GLenum pname, GLint *params);\nGLAPI void APIENTRY glGetMultiTexParameterIuivEXT (GLenum texunit, GLenum target, GLenum pname, GLuint *params);\nGLAPI void APIENTRY glProgramUniform1uiEXT (GLuint program, GLint location, GLuint v0);\nGLAPI void APIENTRY glProgramUniform2uiEXT (GLuint program, GLint location, GLuint v0, GLuint v1);\nGLAPI void APIENTRY glProgramUniform3uiEXT (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2);\nGLAPI void APIENTRY glProgramUniform4uiEXT (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);\nGLAPI void APIENTRY glProgramUniform1uivEXT (GLuint program, GLint location, GLsizei count, const GLuint *value);\nGLAPI void APIENTRY glProgramUniform2uivEXT (GLuint program, GLint location, GLsizei count, const GLuint *value);\nGLAPI void APIENTRY glProgramUniform3uivEXT (GLuint program, GLint location, GLsizei count, const GLuint *value);\nGLAPI void APIENTRY glProgramUniform4uivEXT (GLuint program, GLint location, GLsizei count, const GLuint *value);\nGLAPI void APIENTRY glNamedProgramLocalParameters4fvEXT (GLuint program, GLenum target, GLuint index, GLsizei count, const GLfloat *params);\nGLAPI void APIENTRY glNamedProgramLocalParameterI4iEXT (GLuint program, GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w);\nGLAPI void APIENTRY glNamedProgramLocalParameterI4ivEXT (GLuint program, GLenum target, GLuint index, const GLint *params);\nGLAPI void APIENTRY glNamedProgramLocalParametersI4ivEXT (GLuint program, GLenum target, GLuint index, GLsizei count, const GLint *params);\nGLAPI void APIENTRY glNamedProgramLocalParameterI4uiEXT (GLuint program, GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);\nGLAPI void APIENTRY glNamedProgramLocalParameterI4uivEXT (GLuint program, GLenum target, GLuint index, const GLuint *params);\nGLAPI void APIENTRY glNamedProgramLocalParametersI4uivEXT (GLuint program, GLenum target, GLuint index, GLsizei count, const GLuint *params);\nGLAPI void APIENTRY glGetNamedProgramLocalParameterIivEXT (GLuint program, GLenum target, GLuint index, GLint *params);\nGLAPI void APIENTRY glGetNamedProgramLocalParameterIuivEXT (GLuint program, GLenum target, GLuint index, GLuint *params);\nGLAPI void APIENTRY glEnableClientStateiEXT (GLenum array, GLuint index);\nGLAPI void APIENTRY glDisableClientStateiEXT (GLenum array, GLuint index);\nGLAPI void APIENTRY glGetFloati_vEXT (GLenum pname, GLuint index, GLfloat *params);\nGLAPI void APIENTRY glGetDoublei_vEXT (GLenum pname, GLuint index, GLdouble *params);\nGLAPI void APIENTRY glGetPointeri_vEXT (GLenum pname, GLuint index, void **params);\nGLAPI void APIENTRY glNamedProgramStringEXT (GLuint program, GLenum target, GLenum format, GLsizei len, const void *string);\nGLAPI void APIENTRY glNamedProgramLocalParameter4dEXT (GLuint program, GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nGLAPI void APIENTRY glNamedProgramLocalParameter4dvEXT (GLuint program, GLenum target, GLuint index, const GLdouble *params);\nGLAPI void APIENTRY glNamedProgramLocalParameter4fEXT (GLuint program, GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nGLAPI void APIENTRY glNamedProgramLocalParameter4fvEXT (GLuint program, GLenum target, GLuint index, const GLfloat *params);\nGLAPI void APIENTRY glGetNamedProgramLocalParameterdvEXT (GLuint program, GLenum target, GLuint index, GLdouble *params);\nGLAPI void APIENTRY glGetNamedProgramLocalParameterfvEXT (GLuint program, GLenum target, GLuint index, GLfloat *params);\nGLAPI void APIENTRY glGetNamedProgramivEXT (GLuint program, GLenum target, GLenum pname, GLint *params);\nGLAPI void APIENTRY glGetNamedProgramStringEXT (GLuint program, GLenum target, GLenum pname, void *string);\nGLAPI void APIENTRY glNamedRenderbufferStorageEXT (GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height);\nGLAPI void APIENTRY glGetNamedRenderbufferParameterivEXT (GLuint renderbuffer, GLenum pname, GLint *params);\nGLAPI void APIENTRY glNamedRenderbufferStorageMultisampleEXT (GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);\nGLAPI void APIENTRY glNamedRenderbufferStorageMultisampleCoverageEXT (GLuint renderbuffer, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height);\nGLAPI GLenum APIENTRY glCheckNamedFramebufferStatusEXT (GLuint framebuffer, GLenum target);\nGLAPI void APIENTRY glNamedFramebufferTexture1DEXT (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level);\nGLAPI void APIENTRY glNamedFramebufferTexture2DEXT (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level);\nGLAPI void APIENTRY glNamedFramebufferTexture3DEXT (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);\nGLAPI void APIENTRY glNamedFramebufferRenderbufferEXT (GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);\nGLAPI void APIENTRY glGetNamedFramebufferAttachmentParameterivEXT (GLuint framebuffer, GLenum attachment, GLenum pname, GLint *params);\nGLAPI void APIENTRY glGenerateTextureMipmapEXT (GLuint texture, GLenum target);\nGLAPI void APIENTRY glGenerateMultiTexMipmapEXT (GLenum texunit, GLenum target);\nGLAPI void APIENTRY glFramebufferDrawBufferEXT (GLuint framebuffer, GLenum mode);\nGLAPI void APIENTRY glFramebufferDrawBuffersEXT (GLuint framebuffer, GLsizei n, const GLenum *bufs);\nGLAPI void APIENTRY glFramebufferReadBufferEXT (GLuint framebuffer, GLenum mode);\nGLAPI void APIENTRY glGetFramebufferParameterivEXT (GLuint framebuffer, GLenum pname, GLint *params);\nGLAPI void APIENTRY glNamedCopyBufferSubDataEXT (GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);\nGLAPI void APIENTRY glNamedFramebufferTextureEXT (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level);\nGLAPI void APIENTRY glNamedFramebufferTextureLayerEXT (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer);\nGLAPI void APIENTRY glNamedFramebufferTextureFaceEXT (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLenum face);\nGLAPI void APIENTRY glTextureRenderbufferEXT (GLuint texture, GLenum target, GLuint renderbuffer);\nGLAPI void APIENTRY glMultiTexRenderbufferEXT (GLenum texunit, GLenum target, GLuint renderbuffer);\nGLAPI void APIENTRY glVertexArrayVertexOffsetEXT (GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset);\nGLAPI void APIENTRY glVertexArrayColorOffsetEXT (GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset);\nGLAPI void APIENTRY glVertexArrayEdgeFlagOffsetEXT (GLuint vaobj, GLuint buffer, GLsizei stride, GLintptr offset);\nGLAPI void APIENTRY glVertexArrayIndexOffsetEXT (GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, GLintptr offset);\nGLAPI void APIENTRY glVertexArrayNormalOffsetEXT (GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, GLintptr offset);\nGLAPI void APIENTRY glVertexArrayTexCoordOffsetEXT (GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset);\nGLAPI void APIENTRY glVertexArrayMultiTexCoordOffsetEXT (GLuint vaobj, GLuint buffer, GLenum texunit, GLint size, GLenum type, GLsizei stride, GLintptr offset);\nGLAPI void APIENTRY glVertexArrayFogCoordOffsetEXT (GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, GLintptr offset);\nGLAPI void APIENTRY glVertexArraySecondaryColorOffsetEXT (GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset);\nGLAPI void APIENTRY glVertexArrayVertexAttribOffsetEXT (GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, GLintptr offset);\nGLAPI void APIENTRY glVertexArrayVertexAttribIOffsetEXT (GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLsizei stride, GLintptr offset);\nGLAPI void APIENTRY glEnableVertexArrayEXT (GLuint vaobj, GLenum array);\nGLAPI void APIENTRY glDisableVertexArrayEXT (GLuint vaobj, GLenum array);\nGLAPI void APIENTRY glEnableVertexArrayAttribEXT (GLuint vaobj, GLuint index);\nGLAPI void APIENTRY glDisableVertexArrayAttribEXT (GLuint vaobj, GLuint index);\nGLAPI void APIENTRY glGetVertexArrayIntegervEXT (GLuint vaobj, GLenum pname, GLint *param);\nGLAPI void APIENTRY glGetVertexArrayPointervEXT (GLuint vaobj, GLenum pname, void **param);\nGLAPI void APIENTRY glGetVertexArrayIntegeri_vEXT (GLuint vaobj, GLuint index, GLenum pname, GLint *param);\nGLAPI void APIENTRY glGetVertexArrayPointeri_vEXT (GLuint vaobj, GLuint index, GLenum pname, void **param);\nGLAPI void *APIENTRY glMapNamedBufferRangeEXT (GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access);\nGLAPI void APIENTRY glFlushMappedNamedBufferRangeEXT (GLuint buffer, GLintptr offset, GLsizeiptr length);\nGLAPI void APIENTRY glNamedBufferStorageEXT (GLuint buffer, GLsizeiptr size, const void *data, GLbitfield flags);\nGLAPI void APIENTRY glClearNamedBufferDataEXT (GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const void *data);\nGLAPI void APIENTRY glClearNamedBufferSubDataEXT (GLuint buffer, GLenum internalformat, GLsizeiptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data);\nGLAPI void APIENTRY glNamedFramebufferParameteriEXT (GLuint framebuffer, GLenum pname, GLint param);\nGLAPI void APIENTRY glGetNamedFramebufferParameterivEXT (GLuint framebuffer, GLenum pname, GLint *params);\nGLAPI void APIENTRY glProgramUniform1dEXT (GLuint program, GLint location, GLdouble x);\nGLAPI void APIENTRY glProgramUniform2dEXT (GLuint program, GLint location, GLdouble x, GLdouble y);\nGLAPI void APIENTRY glProgramUniform3dEXT (GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z);\nGLAPI void APIENTRY glProgramUniform4dEXT (GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nGLAPI void APIENTRY glProgramUniform1dvEXT (GLuint program, GLint location, GLsizei count, const GLdouble *value);\nGLAPI void APIENTRY glProgramUniform2dvEXT (GLuint program, GLint location, GLsizei count, const GLdouble *value);\nGLAPI void APIENTRY glProgramUniform3dvEXT (GLuint program, GLint location, GLsizei count, const GLdouble *value);\nGLAPI void APIENTRY glProgramUniform4dvEXT (GLuint program, GLint location, GLsizei count, const GLdouble *value);\nGLAPI void APIENTRY glProgramUniformMatrix2dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nGLAPI void APIENTRY glProgramUniformMatrix3dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nGLAPI void APIENTRY glProgramUniformMatrix4dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nGLAPI void APIENTRY glProgramUniformMatrix2x3dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nGLAPI void APIENTRY glProgramUniformMatrix2x4dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nGLAPI void APIENTRY glProgramUniformMatrix3x2dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nGLAPI void APIENTRY glProgramUniformMatrix3x4dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nGLAPI void APIENTRY glProgramUniformMatrix4x2dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nGLAPI void APIENTRY glProgramUniformMatrix4x3dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nGLAPI void APIENTRY glTextureBufferRangeEXT (GLuint texture, GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size);\nGLAPI void APIENTRY glTextureStorage1DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);\nGLAPI void APIENTRY glTextureStorage2DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);\nGLAPI void APIENTRY glTextureStorage3DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);\nGLAPI void APIENTRY glTextureStorage2DMultisampleEXT (GLuint texture, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);\nGLAPI void APIENTRY glTextureStorage3DMultisampleEXT (GLuint texture, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);\nGLAPI void APIENTRY glVertexArrayBindVertexBufferEXT (GLuint vaobj, GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride);\nGLAPI void APIENTRY glVertexArrayVertexAttribFormatEXT (GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset);\nGLAPI void APIENTRY glVertexArrayVertexAttribIFormatEXT (GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);\nGLAPI void APIENTRY glVertexArrayVertexAttribLFormatEXT (GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);\nGLAPI void APIENTRY glVertexArrayVertexAttribBindingEXT (GLuint vaobj, GLuint attribindex, GLuint bindingindex);\nGLAPI void APIENTRY glVertexArrayVertexBindingDivisorEXT (GLuint vaobj, GLuint bindingindex, GLuint divisor);\nGLAPI void APIENTRY glVertexArrayVertexAttribLOffsetEXT (GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLsizei stride, GLintptr offset);\nGLAPI void APIENTRY glTexturePageCommitmentEXT (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean resident);\nGLAPI void APIENTRY glVertexArrayVertexAttribDivisorEXT (GLuint vaobj, GLuint index, GLuint divisor);\n#endif\n#endif /* GL_EXT_direct_state_access */\n\n#ifndef GL_EXT_draw_buffers2\n#define GL_EXT_draw_buffers2 1\ntypedef void (APIENTRYP PFNGLCOLORMASKINDEXEDEXTPROC) (GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glColorMaskIndexedEXT (GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);\n#endif\n#endif /* GL_EXT_draw_buffers2 */\n\n#ifndef GL_EXT_draw_instanced\n#define GL_EXT_draw_instanced 1\ntypedef void (APIENTRYP PFNGLDRAWARRAYSINSTANCEDEXTPROC) (GLenum mode, GLint start, GLsizei count, GLsizei primcount);\ntypedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDEXTPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glDrawArraysInstancedEXT (GLenum mode, GLint start, GLsizei count, GLsizei primcount);\nGLAPI void APIENTRY glDrawElementsInstancedEXT (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);\n#endif\n#endif /* GL_EXT_draw_instanced */\n\n#ifndef GL_EXT_draw_range_elements\n#define GL_EXT_draw_range_elements 1\n#define GL_MAX_ELEMENTS_VERTICES_EXT      0x80E8\n#define GL_MAX_ELEMENTS_INDICES_EXT       0x80E9\ntypedef void (APIENTRYP PFNGLDRAWRANGEELEMENTSEXTPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glDrawRangeElementsEXT (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices);\n#endif\n#endif /* GL_EXT_draw_range_elements */\n\n#ifndef GL_EXT_fog_coord\n#define GL_EXT_fog_coord 1\n#define GL_FOG_COORDINATE_SOURCE_EXT      0x8450\n#define GL_FOG_COORDINATE_EXT             0x8451\n#define GL_FRAGMENT_DEPTH_EXT             0x8452\n#define GL_CURRENT_FOG_COORDINATE_EXT     0x8453\n#define GL_FOG_COORDINATE_ARRAY_TYPE_EXT  0x8454\n#define GL_FOG_COORDINATE_ARRAY_STRIDE_EXT 0x8455\n#define GL_FOG_COORDINATE_ARRAY_POINTER_EXT 0x8456\n#define GL_FOG_COORDINATE_ARRAY_EXT       0x8457\ntypedef void (APIENTRYP PFNGLFOGCOORDFEXTPROC) (GLfloat coord);\ntypedef void (APIENTRYP PFNGLFOGCOORDFVEXTPROC) (const GLfloat *coord);\ntypedef void (APIENTRYP PFNGLFOGCOORDDEXTPROC) (GLdouble coord);\ntypedef void (APIENTRYP PFNGLFOGCOORDDVEXTPROC) (const GLdouble *coord);\ntypedef void (APIENTRYP PFNGLFOGCOORDPOINTEREXTPROC) (GLenum type, GLsizei stride, const void *pointer);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glFogCoordfEXT (GLfloat coord);\nGLAPI void APIENTRY glFogCoordfvEXT (const GLfloat *coord);\nGLAPI void APIENTRY glFogCoorddEXT (GLdouble coord);\nGLAPI void APIENTRY glFogCoorddvEXT (const GLdouble *coord);\nGLAPI void APIENTRY glFogCoordPointerEXT (GLenum type, GLsizei stride, const void *pointer);\n#endif\n#endif /* GL_EXT_fog_coord */\n\n#ifndef GL_EXT_framebuffer_blit\n#define GL_EXT_framebuffer_blit 1\n#define GL_READ_FRAMEBUFFER_EXT           0x8CA8\n#define GL_DRAW_FRAMEBUFFER_EXT           0x8CA9\n#define GL_DRAW_FRAMEBUFFER_BINDING_EXT   0x8CA6\n#define GL_READ_FRAMEBUFFER_BINDING_EXT   0x8CAA\ntypedef void (APIENTRYP PFNGLBLITFRAMEBUFFEREXTPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glBlitFramebufferEXT (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);\n#endif\n#endif /* GL_EXT_framebuffer_blit */\n\n#ifndef GL_EXT_framebuffer_multisample\n#define GL_EXT_framebuffer_multisample 1\n#define GL_RENDERBUFFER_SAMPLES_EXT       0x8CAB\n#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT 0x8D56\n#define GL_MAX_SAMPLES_EXT                0x8D57\ntypedef void (APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glRenderbufferStorageMultisampleEXT (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);\n#endif\n#endif /* GL_EXT_framebuffer_multisample */\n\n#ifndef GL_EXT_framebuffer_multisample_blit_scaled\n#define GL_EXT_framebuffer_multisample_blit_scaled 1\n#define GL_SCALED_RESOLVE_FASTEST_EXT     0x90BA\n#define GL_SCALED_RESOLVE_NICEST_EXT      0x90BB\n#endif /* GL_EXT_framebuffer_multisample_blit_scaled */\n\n#ifndef GL_EXT_framebuffer_object\n#define GL_EXT_framebuffer_object 1\n#define GL_INVALID_FRAMEBUFFER_OPERATION_EXT 0x0506\n#define GL_MAX_RENDERBUFFER_SIZE_EXT      0x84E8\n#define GL_FRAMEBUFFER_BINDING_EXT        0x8CA6\n#define GL_RENDERBUFFER_BINDING_EXT       0x8CA7\n#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT 0x8CD0\n#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT 0x8CD1\n#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT 0x8CD2\n#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT 0x8CD3\n#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT 0x8CD4\n#define GL_FRAMEBUFFER_COMPLETE_EXT       0x8CD5\n#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT 0x8CD6\n#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT 0x8CD7\n#define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT 0x8CD9\n#define GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT 0x8CDA\n#define GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT 0x8CDB\n#define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT 0x8CDC\n#define GL_FRAMEBUFFER_UNSUPPORTED_EXT    0x8CDD\n#define GL_MAX_COLOR_ATTACHMENTS_EXT      0x8CDF\n#define GL_COLOR_ATTACHMENT0_EXT          0x8CE0\n#define GL_COLOR_ATTACHMENT1_EXT          0x8CE1\n#define GL_COLOR_ATTACHMENT2_EXT          0x8CE2\n#define GL_COLOR_ATTACHMENT3_EXT          0x8CE3\n#define GL_COLOR_ATTACHMENT4_EXT          0x8CE4\n#define GL_COLOR_ATTACHMENT5_EXT          0x8CE5\n#define GL_COLOR_ATTACHMENT6_EXT          0x8CE6\n#define GL_COLOR_ATTACHMENT7_EXT          0x8CE7\n#define GL_COLOR_ATTACHMENT8_EXT          0x8CE8\n#define GL_COLOR_ATTACHMENT9_EXT          0x8CE9\n#define GL_COLOR_ATTACHMENT10_EXT         0x8CEA\n#define GL_COLOR_ATTACHMENT11_EXT         0x8CEB\n#define GL_COLOR_ATTACHMENT12_EXT         0x8CEC\n#define GL_COLOR_ATTACHMENT13_EXT         0x8CED\n#define GL_COLOR_ATTACHMENT14_EXT         0x8CEE\n#define GL_COLOR_ATTACHMENT15_EXT         0x8CEF\n#define GL_DEPTH_ATTACHMENT_EXT           0x8D00\n#define GL_STENCIL_ATTACHMENT_EXT         0x8D20\n#define GL_FRAMEBUFFER_EXT                0x8D40\n#define GL_RENDERBUFFER_EXT               0x8D41\n#define GL_RENDERBUFFER_WIDTH_EXT         0x8D42\n#define GL_RENDERBUFFER_HEIGHT_EXT        0x8D43\n#define GL_RENDERBUFFER_INTERNAL_FORMAT_EXT 0x8D44\n#define GL_STENCIL_INDEX1_EXT             0x8D46\n#define GL_STENCIL_INDEX4_EXT             0x8D47\n#define GL_STENCIL_INDEX8_EXT             0x8D48\n#define GL_STENCIL_INDEX16_EXT            0x8D49\n#define GL_RENDERBUFFER_RED_SIZE_EXT      0x8D50\n#define GL_RENDERBUFFER_GREEN_SIZE_EXT    0x8D51\n#define GL_RENDERBUFFER_BLUE_SIZE_EXT     0x8D52\n#define GL_RENDERBUFFER_ALPHA_SIZE_EXT    0x8D53\n#define GL_RENDERBUFFER_DEPTH_SIZE_EXT    0x8D54\n#define GL_RENDERBUFFER_STENCIL_SIZE_EXT  0x8D55\ntypedef GLboolean (APIENTRYP PFNGLISRENDERBUFFEREXTPROC) (GLuint renderbuffer);\ntypedef void (APIENTRYP PFNGLBINDRENDERBUFFEREXTPROC) (GLenum target, GLuint renderbuffer);\ntypedef void (APIENTRYP PFNGLDELETERENDERBUFFERSEXTPROC) (GLsizei n, const GLuint *renderbuffers);\ntypedef void (APIENTRYP PFNGLGENRENDERBUFFERSEXTPROC) (GLsizei n, GLuint *renderbuffers);\ntypedef void (APIENTRYP PFNGLRENDERBUFFERSTORAGEEXTPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);\ntypedef void (APIENTRYP PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint *params);\ntypedef GLboolean (APIENTRYP PFNGLISFRAMEBUFFEREXTPROC) (GLuint framebuffer);\ntypedef void (APIENTRYP PFNGLBINDFRAMEBUFFEREXTPROC) (GLenum target, GLuint framebuffer);\ntypedef void (APIENTRYP PFNGLDELETEFRAMEBUFFERSEXTPROC) (GLsizei n, const GLuint *framebuffers);\ntypedef void (APIENTRYP PFNGLGENFRAMEBUFFERSEXTPROC) (GLsizei n, GLuint *framebuffers);\ntypedef GLenum (APIENTRYP PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC) (GLenum target);\ntypedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE1DEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);\ntypedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);\ntypedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);\ntypedef void (APIENTRYP PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);\ntypedef void (APIENTRYP PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC) (GLenum target, GLenum attachment, GLenum pname, GLint *params);\ntypedef void (APIENTRYP PFNGLGENERATEMIPMAPEXTPROC) (GLenum target);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI GLboolean APIENTRY glIsRenderbufferEXT (GLuint renderbuffer);\nGLAPI void APIENTRY glBindRenderbufferEXT (GLenum target, GLuint renderbuffer);\nGLAPI void APIENTRY glDeleteRenderbuffersEXT (GLsizei n, const GLuint *renderbuffers);\nGLAPI void APIENTRY glGenRenderbuffersEXT (GLsizei n, GLuint *renderbuffers);\nGLAPI void APIENTRY glRenderbufferStorageEXT (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);\nGLAPI void APIENTRY glGetRenderbufferParameterivEXT (GLenum target, GLenum pname, GLint *params);\nGLAPI GLboolean APIENTRY glIsFramebufferEXT (GLuint framebuffer);\nGLAPI void APIENTRY glBindFramebufferEXT (GLenum target, GLuint framebuffer);\nGLAPI void APIENTRY glDeleteFramebuffersEXT (GLsizei n, const GLuint *framebuffers);\nGLAPI void APIENTRY glGenFramebuffersEXT (GLsizei n, GLuint *framebuffers);\nGLAPI GLenum APIENTRY glCheckFramebufferStatusEXT (GLenum target);\nGLAPI void APIENTRY glFramebufferTexture1DEXT (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);\nGLAPI void APIENTRY glFramebufferTexture2DEXT (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);\nGLAPI void APIENTRY glFramebufferTexture3DEXT (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);\nGLAPI void APIENTRY glFramebufferRenderbufferEXT (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);\nGLAPI void APIENTRY glGetFramebufferAttachmentParameterivEXT (GLenum target, GLenum attachment, GLenum pname, GLint *params);\nGLAPI void APIENTRY glGenerateMipmapEXT (GLenum target);\n#endif\n#endif /* GL_EXT_framebuffer_object */\n\n#ifndef GL_EXT_framebuffer_sRGB\n#define GL_EXT_framebuffer_sRGB 1\n#define GL_FRAMEBUFFER_SRGB_EXT           0x8DB9\n#define GL_FRAMEBUFFER_SRGB_CAPABLE_EXT   0x8DBA\n#endif /* GL_EXT_framebuffer_sRGB */\n\n#ifndef GL_EXT_geometry_shader4\n#define GL_EXT_geometry_shader4 1\n#define GL_GEOMETRY_SHADER_EXT            0x8DD9\n#define GL_GEOMETRY_VERTICES_OUT_EXT      0x8DDA\n#define GL_GEOMETRY_INPUT_TYPE_EXT        0x8DDB\n#define GL_GEOMETRY_OUTPUT_TYPE_EXT       0x8DDC\n#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT 0x8C29\n#define GL_MAX_GEOMETRY_VARYING_COMPONENTS_EXT 0x8DDD\n#define GL_MAX_VERTEX_VARYING_COMPONENTS_EXT 0x8DDE\n#define GL_MAX_VARYING_COMPONENTS_EXT     0x8B4B\n#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT 0x8DDF\n#define GL_MAX_GEOMETRY_OUTPUT_VERTICES_EXT 0x8DE0\n#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT 0x8DE1\n#define GL_LINES_ADJACENCY_EXT            0x000A\n#define GL_LINE_STRIP_ADJACENCY_EXT       0x000B\n#define GL_TRIANGLES_ADJACENCY_EXT        0x000C\n#define GL_TRIANGLE_STRIP_ADJACENCY_EXT   0x000D\n#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT 0x8DA8\n#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT 0x8DA9\n#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT 0x8DA7\n#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT 0x8CD4\n#define GL_PROGRAM_POINT_SIZE_EXT         0x8642\ntypedef void (APIENTRYP PFNGLPROGRAMPARAMETERIEXTPROC) (GLuint program, GLenum pname, GLint value);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glProgramParameteriEXT (GLuint program, GLenum pname, GLint value);\n#endif\n#endif /* GL_EXT_geometry_shader4 */\n\n#ifndef GL_EXT_gpu_program_parameters\n#define GL_EXT_gpu_program_parameters 1\ntypedef void (APIENTRYP PFNGLPROGRAMENVPARAMETERS4FVEXTPROC) (GLenum target, GLuint index, GLsizei count, const GLfloat *params);\ntypedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETERS4FVEXTPROC) (GLenum target, GLuint index, GLsizei count, const GLfloat *params);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glProgramEnvParameters4fvEXT (GLenum target, GLuint index, GLsizei count, const GLfloat *params);\nGLAPI void APIENTRY glProgramLocalParameters4fvEXT (GLenum target, GLuint index, GLsizei count, const GLfloat *params);\n#endif\n#endif /* GL_EXT_gpu_program_parameters */\n\n#ifndef GL_EXT_gpu_shader4\n#define GL_EXT_gpu_shader4 1\n#define GL_VERTEX_ATTRIB_ARRAY_INTEGER_EXT 0x88FD\n#define GL_SAMPLER_1D_ARRAY_EXT           0x8DC0\n#define GL_SAMPLER_2D_ARRAY_EXT           0x8DC1\n#define GL_SAMPLER_BUFFER_EXT             0x8DC2\n#define GL_SAMPLER_1D_ARRAY_SHADOW_EXT    0x8DC3\n#define GL_SAMPLER_2D_ARRAY_SHADOW_EXT    0x8DC4\n#define GL_SAMPLER_CUBE_SHADOW_EXT        0x8DC5\n#define GL_UNSIGNED_INT_VEC2_EXT          0x8DC6\n#define GL_UNSIGNED_INT_VEC3_EXT          0x8DC7\n#define GL_UNSIGNED_INT_VEC4_EXT          0x8DC8\n#define GL_INT_SAMPLER_1D_EXT             0x8DC9\n#define GL_INT_SAMPLER_2D_EXT             0x8DCA\n#define GL_INT_SAMPLER_3D_EXT             0x8DCB\n#define GL_INT_SAMPLER_CUBE_EXT           0x8DCC\n#define GL_INT_SAMPLER_2D_RECT_EXT        0x8DCD\n#define GL_INT_SAMPLER_1D_ARRAY_EXT       0x8DCE\n#define GL_INT_SAMPLER_2D_ARRAY_EXT       0x8DCF\n#define GL_INT_SAMPLER_BUFFER_EXT         0x8DD0\n#define GL_UNSIGNED_INT_SAMPLER_1D_EXT    0x8DD1\n#define GL_UNSIGNED_INT_SAMPLER_2D_EXT    0x8DD2\n#define GL_UNSIGNED_INT_SAMPLER_3D_EXT    0x8DD3\n#define GL_UNSIGNED_INT_SAMPLER_CUBE_EXT  0x8DD4\n#define GL_UNSIGNED_INT_SAMPLER_2D_RECT_EXT 0x8DD5\n#define GL_UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT 0x8DD6\n#define GL_UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT 0x8DD7\n#define GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT 0x8DD8\n#define GL_MIN_PROGRAM_TEXEL_OFFSET_EXT   0x8904\n#define GL_MAX_PROGRAM_TEXEL_OFFSET_EXT   0x8905\ntypedef void (APIENTRYP PFNGLGETUNIFORMUIVEXTPROC) (GLuint program, GLint location, GLuint *params);\ntypedef void (APIENTRYP PFNGLBINDFRAGDATALOCATIONEXTPROC) (GLuint program, GLuint color, const GLchar *name);\ntypedef GLint (APIENTRYP PFNGLGETFRAGDATALOCATIONEXTPROC) (GLuint program, const GLchar *name);\ntypedef void (APIENTRYP PFNGLUNIFORM1UIEXTPROC) (GLint location, GLuint v0);\ntypedef void (APIENTRYP PFNGLUNIFORM2UIEXTPROC) (GLint location, GLuint v0, GLuint v1);\ntypedef void (APIENTRYP PFNGLUNIFORM3UIEXTPROC) (GLint location, GLuint v0, GLuint v1, GLuint v2);\ntypedef void (APIENTRYP PFNGLUNIFORM4UIEXTPROC) (GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);\ntypedef void (APIENTRYP PFNGLUNIFORM1UIVEXTPROC) (GLint location, GLsizei count, const GLuint *value);\ntypedef void (APIENTRYP PFNGLUNIFORM2UIVEXTPROC) (GLint location, GLsizei count, const GLuint *value);\ntypedef void (APIENTRYP PFNGLUNIFORM3UIVEXTPROC) (GLint location, GLsizei count, const GLuint *value);\ntypedef void (APIENTRYP PFNGLUNIFORM4UIVEXTPROC) (GLint location, GLsizei count, const GLuint *value);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glGetUniformuivEXT (GLuint program, GLint location, GLuint *params);\nGLAPI void APIENTRY glBindFragDataLocationEXT (GLuint program, GLuint color, const GLchar *name);\nGLAPI GLint APIENTRY glGetFragDataLocationEXT (GLuint program, const GLchar *name);\nGLAPI void APIENTRY glUniform1uiEXT (GLint location, GLuint v0);\nGLAPI void APIENTRY glUniform2uiEXT (GLint location, GLuint v0, GLuint v1);\nGLAPI void APIENTRY glUniform3uiEXT (GLint location, GLuint v0, GLuint v1, GLuint v2);\nGLAPI void APIENTRY glUniform4uiEXT (GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);\nGLAPI void APIENTRY glUniform1uivEXT (GLint location, GLsizei count, const GLuint *value);\nGLAPI void APIENTRY glUniform2uivEXT (GLint location, GLsizei count, const GLuint *value);\nGLAPI void APIENTRY glUniform3uivEXT (GLint location, GLsizei count, const GLuint *value);\nGLAPI void APIENTRY glUniform4uivEXT (GLint location, GLsizei count, const GLuint *value);\n#endif\n#endif /* GL_EXT_gpu_shader4 */\n\n#ifndef GL_EXT_histogram\n#define GL_EXT_histogram 1\n#define GL_HISTOGRAM_EXT                  0x8024\n#define GL_PROXY_HISTOGRAM_EXT            0x8025\n#define GL_HISTOGRAM_WIDTH_EXT            0x8026\n#define GL_HISTOGRAM_FORMAT_EXT           0x8027\n#define GL_HISTOGRAM_RED_SIZE_EXT         0x8028\n#define GL_HISTOGRAM_GREEN_SIZE_EXT       0x8029\n#define GL_HISTOGRAM_BLUE_SIZE_EXT        0x802A\n#define GL_HISTOGRAM_ALPHA_SIZE_EXT       0x802B\n#define GL_HISTOGRAM_LUMINANCE_SIZE_EXT   0x802C\n#define GL_HISTOGRAM_SINK_EXT             0x802D\n#define GL_MINMAX_EXT                     0x802E\n#define GL_MINMAX_FORMAT_EXT              0x802F\n#define GL_MINMAX_SINK_EXT                0x8030\n#define GL_TABLE_TOO_LARGE_EXT            0x8031\ntypedef void (APIENTRYP PFNGLGETHISTOGRAMEXTPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, void *values);\ntypedef void (APIENTRYP PFNGLGETHISTOGRAMPARAMETERFVEXTPROC) (GLenum target, GLenum pname, GLfloat *params);\ntypedef void (APIENTRYP PFNGLGETHISTOGRAMPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint *params);\ntypedef void (APIENTRYP PFNGLGETMINMAXEXTPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, void *values);\ntypedef void (APIENTRYP PFNGLGETMINMAXPARAMETERFVEXTPROC) (GLenum target, GLenum pname, GLfloat *params);\ntypedef void (APIENTRYP PFNGLGETMINMAXPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint *params);\ntypedef void (APIENTRYP PFNGLHISTOGRAMEXTPROC) (GLenum target, GLsizei width, GLenum internalformat, GLboolean sink);\ntypedef void (APIENTRYP PFNGLMINMAXEXTPROC) (GLenum target, GLenum internalformat, GLboolean sink);\ntypedef void (APIENTRYP PFNGLRESETHISTOGRAMEXTPROC) (GLenum target);\ntypedef void (APIENTRYP PFNGLRESETMINMAXEXTPROC) (GLenum target);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glGetHistogramEXT (GLenum target, GLboolean reset, GLenum format, GLenum type, void *values);\nGLAPI void APIENTRY glGetHistogramParameterfvEXT (GLenum target, GLenum pname, GLfloat *params);\nGLAPI void APIENTRY glGetHistogramParameterivEXT (GLenum target, GLenum pname, GLint *params);\nGLAPI void APIENTRY glGetMinmaxEXT (GLenum target, GLboolean reset, GLenum format, GLenum type, void *values);\nGLAPI void APIENTRY glGetMinmaxParameterfvEXT (GLenum target, GLenum pname, GLfloat *params);\nGLAPI void APIENTRY glGetMinmaxParameterivEXT (GLenum target, GLenum pname, GLint *params);\nGLAPI void APIENTRY glHistogramEXT (GLenum target, GLsizei width, GLenum internalformat, GLboolean sink);\nGLAPI void APIENTRY glMinmaxEXT (GLenum target, GLenum internalformat, GLboolean sink);\nGLAPI void APIENTRY glResetHistogramEXT (GLenum target);\nGLAPI void APIENTRY glResetMinmaxEXT (GLenum target);\n#endif\n#endif /* GL_EXT_histogram */\n\n#ifndef GL_EXT_index_array_formats\n#define GL_EXT_index_array_formats 1\n#define GL_IUI_V2F_EXT                    0x81AD\n#define GL_IUI_V3F_EXT                    0x81AE\n#define GL_IUI_N3F_V2F_EXT                0x81AF\n#define GL_IUI_N3F_V3F_EXT                0x81B0\n#define GL_T2F_IUI_V2F_EXT                0x81B1\n#define GL_T2F_IUI_V3F_EXT                0x81B2\n#define GL_T2F_IUI_N3F_V2F_EXT            0x81B3\n#define GL_T2F_IUI_N3F_V3F_EXT            0x81B4\n#endif /* GL_EXT_index_array_formats */\n\n#ifndef GL_EXT_index_func\n#define GL_EXT_index_func 1\n#define GL_INDEX_TEST_EXT                 0x81B5\n#define GL_INDEX_TEST_FUNC_EXT            0x81B6\n#define GL_INDEX_TEST_REF_EXT             0x81B7\ntypedef void (APIENTRYP PFNGLINDEXFUNCEXTPROC) (GLenum func, GLclampf ref);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glIndexFuncEXT (GLenum func, GLclampf ref);\n#endif\n#endif /* GL_EXT_index_func */\n\n#ifndef GL_EXT_index_material\n#define GL_EXT_index_material 1\n#define GL_INDEX_MATERIAL_EXT             0x81B8\n#define GL_INDEX_MATERIAL_PARAMETER_EXT   0x81B9\n#define GL_INDEX_MATERIAL_FACE_EXT        0x81BA\ntypedef void (APIENTRYP PFNGLINDEXMATERIALEXTPROC) (GLenum face, GLenum mode);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glIndexMaterialEXT (GLenum face, GLenum mode);\n#endif\n#endif /* GL_EXT_index_material */\n\n#ifndef GL_EXT_index_texture\n#define GL_EXT_index_texture 1\n#endif /* GL_EXT_index_texture */\n\n#ifndef GL_EXT_light_texture\n#define GL_EXT_light_texture 1\n#define GL_FRAGMENT_MATERIAL_EXT          0x8349\n#define GL_FRAGMENT_NORMAL_EXT            0x834A\n#define GL_FRAGMENT_COLOR_EXT             0x834C\n#define GL_ATTENUATION_EXT                0x834D\n#define GL_SHADOW_ATTENUATION_EXT         0x834E\n#define GL_TEXTURE_APPLICATION_MODE_EXT   0x834F\n#define GL_TEXTURE_LIGHT_EXT              0x8350\n#define GL_TEXTURE_MATERIAL_FACE_EXT      0x8351\n#define GL_TEXTURE_MATERIAL_PARAMETER_EXT 0x8352\ntypedef void (APIENTRYP PFNGLAPPLYTEXTUREEXTPROC) (GLenum mode);\ntypedef void (APIENTRYP PFNGLTEXTURELIGHTEXTPROC) (GLenum pname);\ntypedef void (APIENTRYP PFNGLTEXTUREMATERIALEXTPROC) (GLenum face, GLenum mode);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glApplyTextureEXT (GLenum mode);\nGLAPI void APIENTRY glTextureLightEXT (GLenum pname);\nGLAPI void APIENTRY glTextureMaterialEXT (GLenum face, GLenum mode);\n#endif\n#endif /* GL_EXT_light_texture */\n\n#ifndef GL_EXT_misc_attribute\n#define GL_EXT_misc_attribute 1\n#endif /* GL_EXT_misc_attribute */\n\n#ifndef GL_EXT_multi_draw_arrays\n#define GL_EXT_multi_draw_arrays 1\ntypedef void (APIENTRYP PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);\ntypedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSEXTPROC) (GLenum mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei primcount);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glMultiDrawArraysEXT (GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);\nGLAPI void APIENTRY glMultiDrawElementsEXT (GLenum mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei primcount);\n#endif\n#endif /* GL_EXT_multi_draw_arrays */\n\n#ifndef GL_EXT_multisample\n#define GL_EXT_multisample 1\n#define GL_MULTISAMPLE_EXT                0x809D\n#define GL_SAMPLE_ALPHA_TO_MASK_EXT       0x809E\n#define GL_SAMPLE_ALPHA_TO_ONE_EXT        0x809F\n#define GL_SAMPLE_MASK_EXT                0x80A0\n#define GL_1PASS_EXT                      0x80A1\n#define GL_2PASS_0_EXT                    0x80A2\n#define GL_2PASS_1_EXT                    0x80A3\n#define GL_4PASS_0_EXT                    0x80A4\n#define GL_4PASS_1_EXT                    0x80A5\n#define GL_4PASS_2_EXT                    0x80A6\n#define GL_4PASS_3_EXT                    0x80A7\n#define GL_SAMPLE_BUFFERS_EXT             0x80A8\n#define GL_SAMPLES_EXT                    0x80A9\n#define GL_SAMPLE_MASK_VALUE_EXT          0x80AA\n#define GL_SAMPLE_MASK_INVERT_EXT         0x80AB\n#define GL_SAMPLE_PATTERN_EXT             0x80AC\n#define GL_MULTISAMPLE_BIT_EXT            0x20000000\ntypedef void (APIENTRYP PFNGLSAMPLEMASKEXTPROC) (GLclampf value, GLboolean invert);\ntypedef void (APIENTRYP PFNGLSAMPLEPATTERNEXTPROC) (GLenum pattern);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glSampleMaskEXT (GLclampf value, GLboolean invert);\nGLAPI void APIENTRY glSamplePatternEXT (GLenum pattern);\n#endif\n#endif /* GL_EXT_multisample */\n\n#ifndef GL_EXT_packed_depth_stencil\n#define GL_EXT_packed_depth_stencil 1\n#define GL_DEPTH_STENCIL_EXT              0x84F9\n#define GL_UNSIGNED_INT_24_8_EXT          0x84FA\n#define GL_DEPTH24_STENCIL8_EXT           0x88F0\n#define GL_TEXTURE_STENCIL_SIZE_EXT       0x88F1\n#endif /* GL_EXT_packed_depth_stencil */\n\n#ifndef GL_EXT_packed_float\n#define GL_EXT_packed_float 1\n#define GL_R11F_G11F_B10F_EXT             0x8C3A\n#define GL_UNSIGNED_INT_10F_11F_11F_REV_EXT 0x8C3B\n#define GL_RGBA_SIGNED_COMPONENTS_EXT     0x8C3C\n#endif /* GL_EXT_packed_float */\n\n#ifndef GL_EXT_packed_pixels\n#define GL_EXT_packed_pixels 1\n#define GL_UNSIGNED_BYTE_3_3_2_EXT        0x8032\n#define GL_UNSIGNED_SHORT_4_4_4_4_EXT     0x8033\n#define GL_UNSIGNED_SHORT_5_5_5_1_EXT     0x8034\n#define GL_UNSIGNED_INT_8_8_8_8_EXT       0x8035\n#define GL_UNSIGNED_INT_10_10_10_2_EXT    0x8036\n#endif /* GL_EXT_packed_pixels */\n\n#ifndef GL_EXT_paletted_texture\n#define GL_EXT_paletted_texture 1\n#define GL_COLOR_INDEX1_EXT               0x80E2\n#define GL_COLOR_INDEX2_EXT               0x80E3\n#define GL_COLOR_INDEX4_EXT               0x80E4\n#define GL_COLOR_INDEX8_EXT               0x80E5\n#define GL_COLOR_INDEX12_EXT              0x80E6\n#define GL_COLOR_INDEX16_EXT              0x80E7\n#define GL_TEXTURE_INDEX_SIZE_EXT         0x80ED\ntypedef void (APIENTRYP PFNGLCOLORTABLEEXTPROC) (GLenum target, GLenum internalFormat, GLsizei width, GLenum format, GLenum type, const void *table);\ntypedef void (APIENTRYP PFNGLGETCOLORTABLEEXTPROC) (GLenum target, GLenum format, GLenum type, void *data);\ntypedef void (APIENTRYP PFNGLGETCOLORTABLEPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint *params);\ntypedef void (APIENTRYP PFNGLGETCOLORTABLEPARAMETERFVEXTPROC) (GLenum target, GLenum pname, GLfloat *params);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glColorTableEXT (GLenum target, GLenum internalFormat, GLsizei width, GLenum format, GLenum type, const void *table);\nGLAPI void APIENTRY glGetColorTableEXT (GLenum target, GLenum format, GLenum type, void *data);\nGLAPI void APIENTRY glGetColorTableParameterivEXT (GLenum target, GLenum pname, GLint *params);\nGLAPI void APIENTRY glGetColorTableParameterfvEXT (GLenum target, GLenum pname, GLfloat *params);\n#endif\n#endif /* GL_EXT_paletted_texture */\n\n#ifndef GL_EXT_pixel_buffer_object\n#define GL_EXT_pixel_buffer_object 1\n#define GL_PIXEL_PACK_BUFFER_EXT          0x88EB\n#define GL_PIXEL_UNPACK_BUFFER_EXT        0x88EC\n#define GL_PIXEL_PACK_BUFFER_BINDING_EXT  0x88ED\n#define GL_PIXEL_UNPACK_BUFFER_BINDING_EXT 0x88EF\n#endif /* GL_EXT_pixel_buffer_object */\n\n#ifndef GL_EXT_pixel_transform\n#define GL_EXT_pixel_transform 1\n#define GL_PIXEL_TRANSFORM_2D_EXT         0x8330\n#define GL_PIXEL_MAG_FILTER_EXT           0x8331\n#define GL_PIXEL_MIN_FILTER_EXT           0x8332\n#define GL_PIXEL_CUBIC_WEIGHT_EXT         0x8333\n#define GL_CUBIC_EXT                      0x8334\n#define GL_AVERAGE_EXT                    0x8335\n#define GL_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT 0x8336\n#define GL_MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT 0x8337\n#define GL_PIXEL_TRANSFORM_2D_MATRIX_EXT  0x8338\ntypedef void (APIENTRYP PFNGLPIXELTRANSFORMPARAMETERIEXTPROC) (GLenum target, GLenum pname, GLint param);\ntypedef void (APIENTRYP PFNGLPIXELTRANSFORMPARAMETERFEXTPROC) (GLenum target, GLenum pname, GLfloat param);\ntypedef void (APIENTRYP PFNGLPIXELTRANSFORMPARAMETERIVEXTPROC) (GLenum target, GLenum pname, const GLint *params);\ntypedef void (APIENTRYP PFNGLPIXELTRANSFORMPARAMETERFVEXTPROC) (GLenum target, GLenum pname, const GLfloat *params);\ntypedef void (APIENTRYP PFNGLGETPIXELTRANSFORMPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint *params);\ntypedef void (APIENTRYP PFNGLGETPIXELTRANSFORMPARAMETERFVEXTPROC) (GLenum target, GLenum pname, GLfloat *params);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glPixelTransformParameteriEXT (GLenum target, GLenum pname, GLint param);\nGLAPI void APIENTRY glPixelTransformParameterfEXT (GLenum target, GLenum pname, GLfloat param);\nGLAPI void APIENTRY glPixelTransformParameterivEXT (GLenum target, GLenum pname, const GLint *params);\nGLAPI void APIENTRY glPixelTransformParameterfvEXT (GLenum target, GLenum pname, const GLfloat *params);\nGLAPI void APIENTRY glGetPixelTransformParameterivEXT (GLenum target, GLenum pname, GLint *params);\nGLAPI void APIENTRY glGetPixelTransformParameterfvEXT (GLenum target, GLenum pname, GLfloat *params);\n#endif\n#endif /* GL_EXT_pixel_transform */\n\n#ifndef GL_EXT_pixel_transform_color_table\n#define GL_EXT_pixel_transform_color_table 1\n#endif /* GL_EXT_pixel_transform_color_table */\n\n#ifndef GL_EXT_point_parameters\n#define GL_EXT_point_parameters 1\n#define GL_POINT_SIZE_MIN_EXT             0x8126\n#define GL_POINT_SIZE_MAX_EXT             0x8127\n#define GL_POINT_FADE_THRESHOLD_SIZE_EXT  0x8128\n#define GL_DISTANCE_ATTENUATION_EXT       0x8129\ntypedef void (APIENTRYP PFNGLPOINTPARAMETERFEXTPROC) (GLenum pname, GLfloat param);\ntypedef void (APIENTRYP PFNGLPOINTPARAMETERFVEXTPROC) (GLenum pname, const GLfloat *params);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glPointParameterfEXT (GLenum pname, GLfloat param);\nGLAPI void APIENTRY glPointParameterfvEXT (GLenum pname, const GLfloat *params);\n#endif\n#endif /* GL_EXT_point_parameters */\n\n#ifndef GL_EXT_polygon_offset\n#define GL_EXT_polygon_offset 1\n#define GL_POLYGON_OFFSET_EXT             0x8037\n#define GL_POLYGON_OFFSET_FACTOR_EXT      0x8038\n#define GL_POLYGON_OFFSET_BIAS_EXT        0x8039\ntypedef void (APIENTRYP PFNGLPOLYGONOFFSETEXTPROC) (GLfloat factor, GLfloat bias);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glPolygonOffsetEXT (GLfloat factor, GLfloat bias);\n#endif\n#endif /* GL_EXT_polygon_offset */\n\n#ifndef GL_EXT_provoking_vertex\n#define GL_EXT_provoking_vertex 1\n#define GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT 0x8E4C\n#define GL_FIRST_VERTEX_CONVENTION_EXT    0x8E4D\n#define GL_LAST_VERTEX_CONVENTION_EXT     0x8E4E\n#define GL_PROVOKING_VERTEX_EXT           0x8E4F\ntypedef void (APIENTRYP PFNGLPROVOKINGVERTEXEXTPROC) (GLenum mode);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glProvokingVertexEXT (GLenum mode);\n#endif\n#endif /* GL_EXT_provoking_vertex */\n\n#ifndef GL_EXT_rescale_normal\n#define GL_EXT_rescale_normal 1\n#define GL_RESCALE_NORMAL_EXT             0x803A\n#endif /* GL_EXT_rescale_normal */\n\n#ifndef GL_EXT_secondary_color\n#define GL_EXT_secondary_color 1\n#define GL_COLOR_SUM_EXT                  0x8458\n#define GL_CURRENT_SECONDARY_COLOR_EXT    0x8459\n#define GL_SECONDARY_COLOR_ARRAY_SIZE_EXT 0x845A\n#define GL_SECONDARY_COLOR_ARRAY_TYPE_EXT 0x845B\n#define GL_SECONDARY_COLOR_ARRAY_STRIDE_EXT 0x845C\n#define GL_SECONDARY_COLOR_ARRAY_POINTER_EXT 0x845D\n#define GL_SECONDARY_COLOR_ARRAY_EXT      0x845E\ntypedef void (APIENTRYP PFNGLSECONDARYCOLOR3BEXTPROC) (GLbyte red, GLbyte green, GLbyte blue);\ntypedef void (APIENTRYP PFNGLSECONDARYCOLOR3BVEXTPROC) (const GLbyte *v);\ntypedef void (APIENTRYP PFNGLSECONDARYCOLOR3DEXTPROC) (GLdouble red, GLdouble green, GLdouble blue);\ntypedef void (APIENTRYP PFNGLSECONDARYCOLOR3DVEXTPROC) (const GLdouble *v);\ntypedef void (APIENTRYP PFNGLSECONDARYCOLOR3FEXTPROC) (GLfloat red, GLfloat green, GLfloat blue);\ntypedef void (APIENTRYP PFNGLSECONDARYCOLOR3FVEXTPROC) (const GLfloat *v);\ntypedef void (APIENTRYP PFNGLSECONDARYCOLOR3IEXTPROC) (GLint red, GLint green, GLint blue);\ntypedef void (APIENTRYP PFNGLSECONDARYCOLOR3IVEXTPROC) (const GLint *v);\ntypedef void (APIENTRYP PFNGLSECONDARYCOLOR3SEXTPROC) (GLshort red, GLshort green, GLshort blue);\ntypedef void (APIENTRYP PFNGLSECONDARYCOLOR3SVEXTPROC) (const GLshort *v);\ntypedef void (APIENTRYP PFNGLSECONDARYCOLOR3UBEXTPROC) (GLubyte red, GLubyte green, GLubyte blue);\ntypedef void (APIENTRYP PFNGLSECONDARYCOLOR3UBVEXTPROC) (const GLubyte *v);\ntypedef void (APIENTRYP PFNGLSECONDARYCOLOR3UIEXTPROC) (GLuint red, GLuint green, GLuint blue);\ntypedef void (APIENTRYP PFNGLSECONDARYCOLOR3UIVEXTPROC) (const GLuint *v);\ntypedef void (APIENTRYP PFNGLSECONDARYCOLOR3USEXTPROC) (GLushort red, GLushort green, GLushort blue);\ntypedef void (APIENTRYP PFNGLSECONDARYCOLOR3USVEXTPROC) (const GLushort *v);\ntypedef void (APIENTRYP PFNGLSECONDARYCOLORPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, const void *pointer);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glSecondaryColor3bEXT (GLbyte red, GLbyte green, GLbyte blue);\nGLAPI void APIENTRY glSecondaryColor3bvEXT (const GLbyte *v);\nGLAPI void APIENTRY glSecondaryColor3dEXT (GLdouble red, GLdouble green, GLdouble blue);\nGLAPI void APIENTRY glSecondaryColor3dvEXT (const GLdouble *v);\nGLAPI void APIENTRY glSecondaryColor3fEXT (GLfloat red, GLfloat green, GLfloat blue);\nGLAPI void APIENTRY glSecondaryColor3fvEXT (const GLfloat *v);\nGLAPI void APIENTRY glSecondaryColor3iEXT (GLint red, GLint green, GLint blue);\nGLAPI void APIENTRY glSecondaryColor3ivEXT (const GLint *v);\nGLAPI void APIENTRY glSecondaryColor3sEXT (GLshort red, GLshort green, GLshort blue);\nGLAPI void APIENTRY glSecondaryColor3svEXT (const GLshort *v);\nGLAPI void APIENTRY glSecondaryColor3ubEXT (GLubyte red, GLubyte green, GLubyte blue);\nGLAPI void APIENTRY glSecondaryColor3ubvEXT (const GLubyte *v);\nGLAPI void APIENTRY glSecondaryColor3uiEXT (GLuint red, GLuint green, GLuint blue);\nGLAPI void APIENTRY glSecondaryColor3uivEXT (const GLuint *v);\nGLAPI void APIENTRY glSecondaryColor3usEXT (GLushort red, GLushort green, GLushort blue);\nGLAPI void APIENTRY glSecondaryColor3usvEXT (const GLushort *v);\nGLAPI void APIENTRY glSecondaryColorPointerEXT (GLint size, GLenum type, GLsizei stride, const void *pointer);\n#endif\n#endif /* GL_EXT_secondary_color */\n\n#ifndef GL_EXT_separate_shader_objects\n#define GL_EXT_separate_shader_objects 1\n#define GL_ACTIVE_PROGRAM_EXT             0x8B8D\ntypedef void (APIENTRYP PFNGLUSESHADERPROGRAMEXTPROC) (GLenum type, GLuint program);\ntypedef void (APIENTRYP PFNGLACTIVEPROGRAMEXTPROC) (GLuint program);\ntypedef GLuint (APIENTRYP PFNGLCREATESHADERPROGRAMEXTPROC) (GLenum type, const GLchar *string);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glUseShaderProgramEXT (GLenum type, GLuint program);\nGLAPI void APIENTRY glActiveProgramEXT (GLuint program);\nGLAPI GLuint APIENTRY glCreateShaderProgramEXT (GLenum type, const GLchar *string);\n#endif\n#endif /* GL_EXT_separate_shader_objects */\n\n#ifndef GL_EXT_separate_specular_color\n#define GL_EXT_separate_specular_color 1\n#define GL_LIGHT_MODEL_COLOR_CONTROL_EXT  0x81F8\n#define GL_SINGLE_COLOR_EXT               0x81F9\n#define GL_SEPARATE_SPECULAR_COLOR_EXT    0x81FA\n#endif /* GL_EXT_separate_specular_color */\n\n#ifndef GL_EXT_shader_image_load_formatted\n#define GL_EXT_shader_image_load_formatted 1\n#endif /* GL_EXT_shader_image_load_formatted */\n\n#ifndef GL_EXT_shader_image_load_store\n#define GL_EXT_shader_image_load_store 1\n#define GL_MAX_IMAGE_UNITS_EXT            0x8F38\n#define GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS_EXT 0x8F39\n#define GL_IMAGE_BINDING_NAME_EXT         0x8F3A\n#define GL_IMAGE_BINDING_LEVEL_EXT        0x8F3B\n#define GL_IMAGE_BINDING_LAYERED_EXT      0x8F3C\n#define GL_IMAGE_BINDING_LAYER_EXT        0x8F3D\n#define GL_IMAGE_BINDING_ACCESS_EXT       0x8F3E\n#define GL_IMAGE_1D_EXT                   0x904C\n#define GL_IMAGE_2D_EXT                   0x904D\n#define GL_IMAGE_3D_EXT                   0x904E\n#define GL_IMAGE_2D_RECT_EXT              0x904F\n#define GL_IMAGE_CUBE_EXT                 0x9050\n#define GL_IMAGE_BUFFER_EXT               0x9051\n#define GL_IMAGE_1D_ARRAY_EXT             0x9052\n#define GL_IMAGE_2D_ARRAY_EXT             0x9053\n#define GL_IMAGE_CUBE_MAP_ARRAY_EXT       0x9054\n#define GL_IMAGE_2D_MULTISAMPLE_EXT       0x9055\n#define GL_IMAGE_2D_MULTISAMPLE_ARRAY_EXT 0x9056\n#define GL_INT_IMAGE_1D_EXT               0x9057\n#define GL_INT_IMAGE_2D_EXT               0x9058\n#define GL_INT_IMAGE_3D_EXT               0x9059\n#define GL_INT_IMAGE_2D_RECT_EXT          0x905A\n#define GL_INT_IMAGE_CUBE_EXT             0x905B\n#define GL_INT_IMAGE_BUFFER_EXT           0x905C\n#define GL_INT_IMAGE_1D_ARRAY_EXT         0x905D\n#define GL_INT_IMAGE_2D_ARRAY_EXT         0x905E\n#define GL_INT_IMAGE_CUBE_MAP_ARRAY_EXT   0x905F\n#define GL_INT_IMAGE_2D_MULTISAMPLE_EXT   0x9060\n#define GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT 0x9061\n#define GL_UNSIGNED_INT_IMAGE_1D_EXT      0x9062\n#define GL_UNSIGNED_INT_IMAGE_2D_EXT      0x9063\n#define GL_UNSIGNED_INT_IMAGE_3D_EXT      0x9064\n#define GL_UNSIGNED_INT_IMAGE_2D_RECT_EXT 0x9065\n#define GL_UNSIGNED_INT_IMAGE_CUBE_EXT    0x9066\n#define GL_UNSIGNED_INT_IMAGE_BUFFER_EXT  0x9067\n#define GL_UNSIGNED_INT_IMAGE_1D_ARRAY_EXT 0x9068\n#define GL_UNSIGNED_INT_IMAGE_2D_ARRAY_EXT 0x9069\n#define GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT 0x906A\n#define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_EXT 0x906B\n#define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT 0x906C\n#define GL_MAX_IMAGE_SAMPLES_EXT          0x906D\n#define GL_IMAGE_BINDING_FORMAT_EXT       0x906E\n#define GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT_EXT 0x00000001\n#define GL_ELEMENT_ARRAY_BARRIER_BIT_EXT  0x00000002\n#define GL_UNIFORM_BARRIER_BIT_EXT        0x00000004\n#define GL_TEXTURE_FETCH_BARRIER_BIT_EXT  0x00000008\n#define GL_SHADER_IMAGE_ACCESS_BARRIER_BIT_EXT 0x00000020\n#define GL_COMMAND_BARRIER_BIT_EXT        0x00000040\n#define GL_PIXEL_BUFFER_BARRIER_BIT_EXT   0x00000080\n#define GL_TEXTURE_UPDATE_BARRIER_BIT_EXT 0x00000100\n#define GL_BUFFER_UPDATE_BARRIER_BIT_EXT  0x00000200\n#define GL_FRAMEBUFFER_BARRIER_BIT_EXT    0x00000400\n#define GL_TRANSFORM_FEEDBACK_BARRIER_BIT_EXT 0x00000800\n#define GL_ATOMIC_COUNTER_BARRIER_BIT_EXT 0x00001000\n#define GL_ALL_BARRIER_BITS_EXT           0xFFFFFFFF\ntypedef void (APIENTRYP PFNGLBINDIMAGETEXTUREEXTPROC) (GLuint index, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLint format);\ntypedef void (APIENTRYP PFNGLMEMORYBARRIEREXTPROC) (GLbitfield barriers);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glBindImageTextureEXT (GLuint index, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLint format);\nGLAPI void APIENTRY glMemoryBarrierEXT (GLbitfield barriers);\n#endif\n#endif /* GL_EXT_shader_image_load_store */\n\n#ifndef GL_EXT_shader_integer_mix\n#define GL_EXT_shader_integer_mix 1\n#endif /* GL_EXT_shader_integer_mix */\n\n#ifndef GL_EXT_shadow_funcs\n#define GL_EXT_shadow_funcs 1\n#endif /* GL_EXT_shadow_funcs */\n\n#ifndef GL_EXT_shared_texture_palette\n#define GL_EXT_shared_texture_palette 1\n#define GL_SHARED_TEXTURE_PALETTE_EXT     0x81FB\n#endif /* GL_EXT_shared_texture_palette */\n\n#ifndef GL_EXT_stencil_clear_tag\n#define GL_EXT_stencil_clear_tag 1\n#define GL_STENCIL_TAG_BITS_EXT           0x88F2\n#define GL_STENCIL_CLEAR_TAG_VALUE_EXT    0x88F3\ntypedef void (APIENTRYP PFNGLSTENCILCLEARTAGEXTPROC) (GLsizei stencilTagBits, GLuint stencilClearTag);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glStencilClearTagEXT (GLsizei stencilTagBits, GLuint stencilClearTag);\n#endif\n#endif /* GL_EXT_stencil_clear_tag */\n\n#ifndef GL_EXT_stencil_two_side\n#define GL_EXT_stencil_two_side 1\n#define GL_STENCIL_TEST_TWO_SIDE_EXT      0x8910\n#define GL_ACTIVE_STENCIL_FACE_EXT        0x8911\ntypedef void (APIENTRYP PFNGLACTIVESTENCILFACEEXTPROC) (GLenum face);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glActiveStencilFaceEXT (GLenum face);\n#endif\n#endif /* GL_EXT_stencil_two_side */\n\n#ifndef GL_EXT_stencil_wrap\n#define GL_EXT_stencil_wrap 1\n#define GL_INCR_WRAP_EXT                  0x8507\n#define GL_DECR_WRAP_EXT                  0x8508\n#endif /* GL_EXT_stencil_wrap */\n\n#ifndef GL_EXT_subtexture\n#define GL_EXT_subtexture 1\ntypedef void (APIENTRYP PFNGLTEXSUBIMAGE1DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels);\ntypedef void (APIENTRYP PFNGLTEXSUBIMAGE2DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glTexSubImage1DEXT (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels);\nGLAPI void APIENTRY glTexSubImage2DEXT (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels);\n#endif\n#endif /* GL_EXT_subtexture */\n\n#ifndef GL_EXT_texture\n#define GL_EXT_texture 1\n#define GL_ALPHA4_EXT                     0x803B\n#define GL_ALPHA8_EXT                     0x803C\n#define GL_ALPHA12_EXT                    0x803D\n#define GL_ALPHA16_EXT                    0x803E\n#define GL_LUMINANCE4_EXT                 0x803F\n#define GL_LUMINANCE8_EXT                 0x8040\n#define GL_LUMINANCE12_EXT                0x8041\n#define GL_LUMINANCE16_EXT                0x8042\n#define GL_LUMINANCE4_ALPHA4_EXT          0x8043\n#define GL_LUMINANCE6_ALPHA2_EXT          0x8044\n#define GL_LUMINANCE8_ALPHA8_EXT          0x8045\n#define GL_LUMINANCE12_ALPHA4_EXT         0x8046\n#define GL_LUMINANCE12_ALPHA12_EXT        0x8047\n#define GL_LUMINANCE16_ALPHA16_EXT        0x8048\n#define GL_INTENSITY_EXT                  0x8049\n#define GL_INTENSITY4_EXT                 0x804A\n#define GL_INTENSITY8_EXT                 0x804B\n#define GL_INTENSITY12_EXT                0x804C\n#define GL_INTENSITY16_EXT                0x804D\n#define GL_RGB2_EXT                       0x804E\n#define GL_RGB4_EXT                       0x804F\n#define GL_RGB5_EXT                       0x8050\n#define GL_RGB8_EXT                       0x8051\n#define GL_RGB10_EXT                      0x8052\n#define GL_RGB12_EXT                      0x8053\n#define GL_RGB16_EXT                      0x8054\n#define GL_RGBA2_EXT                      0x8055\n#define GL_RGBA4_EXT                      0x8056\n#define GL_RGB5_A1_EXT                    0x8057\n#define GL_RGBA8_EXT                      0x8058\n#define GL_RGB10_A2_EXT                   0x8059\n#define GL_RGBA12_EXT                     0x805A\n#define GL_RGBA16_EXT                     0x805B\n#define GL_TEXTURE_RED_SIZE_EXT           0x805C\n#define GL_TEXTURE_GREEN_SIZE_EXT         0x805D\n#define GL_TEXTURE_BLUE_SIZE_EXT          0x805E\n#define GL_TEXTURE_ALPHA_SIZE_EXT         0x805F\n#define GL_TEXTURE_LUMINANCE_SIZE_EXT     0x8060\n#define GL_TEXTURE_INTENSITY_SIZE_EXT     0x8061\n#define GL_REPLACE_EXT                    0x8062\n#define GL_PROXY_TEXTURE_1D_EXT           0x8063\n#define GL_PROXY_TEXTURE_2D_EXT           0x8064\n#define GL_TEXTURE_TOO_LARGE_EXT          0x8065\n#endif /* GL_EXT_texture */\n\n#ifndef GL_EXT_texture3D\n#define GL_EXT_texture3D 1\n#define GL_PACK_SKIP_IMAGES_EXT           0x806B\n#define GL_PACK_IMAGE_HEIGHT_EXT          0x806C\n#define GL_UNPACK_SKIP_IMAGES_EXT         0x806D\n#define GL_UNPACK_IMAGE_HEIGHT_EXT        0x806E\n#define GL_TEXTURE_3D_EXT                 0x806F\n#define GL_PROXY_TEXTURE_3D_EXT           0x8070\n#define GL_TEXTURE_DEPTH_EXT              0x8071\n#define GL_TEXTURE_WRAP_R_EXT             0x8072\n#define GL_MAX_3D_TEXTURE_SIZE_EXT        0x8073\ntypedef void (APIENTRYP PFNGLTEXIMAGE3DEXTPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels);\ntypedef void (APIENTRYP PFNGLTEXSUBIMAGE3DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glTexImage3DEXT (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels);\nGLAPI void APIENTRY glTexSubImage3DEXT (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels);\n#endif\n#endif /* GL_EXT_texture3D */\n\n#ifndef GL_EXT_texture_array\n#define GL_EXT_texture_array 1\n#define GL_TEXTURE_1D_ARRAY_EXT           0x8C18\n#define GL_PROXY_TEXTURE_1D_ARRAY_EXT     0x8C19\n#define GL_TEXTURE_2D_ARRAY_EXT           0x8C1A\n#define GL_PROXY_TEXTURE_2D_ARRAY_EXT     0x8C1B\n#define GL_TEXTURE_BINDING_1D_ARRAY_EXT   0x8C1C\n#define GL_TEXTURE_BINDING_2D_ARRAY_EXT   0x8C1D\n#define GL_MAX_ARRAY_TEXTURE_LAYERS_EXT   0x88FF\n#define GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT 0x884E\n#endif /* GL_EXT_texture_array */\n\n#ifndef GL_EXT_texture_buffer_object\n#define GL_EXT_texture_buffer_object 1\n#define GL_TEXTURE_BUFFER_EXT             0x8C2A\n#define GL_MAX_TEXTURE_BUFFER_SIZE_EXT    0x8C2B\n#define GL_TEXTURE_BINDING_BUFFER_EXT     0x8C2C\n#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING_EXT 0x8C2D\n#define GL_TEXTURE_BUFFER_FORMAT_EXT      0x8C2E\ntypedef void (APIENTRYP PFNGLTEXBUFFEREXTPROC) (GLenum target, GLenum internalformat, GLuint buffer);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glTexBufferEXT (GLenum target, GLenum internalformat, GLuint buffer);\n#endif\n#endif /* GL_EXT_texture_buffer_object */\n\n#ifndef GL_EXT_texture_compression_latc\n#define GL_EXT_texture_compression_latc 1\n#define GL_COMPRESSED_LUMINANCE_LATC1_EXT 0x8C70\n#define GL_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT 0x8C71\n#define GL_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT 0x8C72\n#define GL_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT 0x8C73\n#endif /* GL_EXT_texture_compression_latc */\n\n#ifndef GL_EXT_texture_compression_rgtc\n#define GL_EXT_texture_compression_rgtc 1\n#define GL_COMPRESSED_RED_RGTC1_EXT       0x8DBB\n#define GL_COMPRESSED_SIGNED_RED_RGTC1_EXT 0x8DBC\n#define GL_COMPRESSED_RED_GREEN_RGTC2_EXT 0x8DBD\n#define GL_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT 0x8DBE\n#endif /* GL_EXT_texture_compression_rgtc */\n\n#ifndef GL_EXT_texture_compression_s3tc\n#define GL_EXT_texture_compression_s3tc 1\n#define GL_COMPRESSED_RGB_S3TC_DXT1_EXT   0x83F0\n#define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT  0x83F1\n#define GL_COMPRESSED_RGBA_S3TC_DXT3_EXT  0x83F2\n#define GL_COMPRESSED_RGBA_S3TC_DXT5_EXT  0x83F3\n#endif /* GL_EXT_texture_compression_s3tc */\n\n#ifndef GL_EXT_texture_cube_map\n#define GL_EXT_texture_cube_map 1\n#define GL_NORMAL_MAP_EXT                 0x8511\n#define GL_REFLECTION_MAP_EXT             0x8512\n#define GL_TEXTURE_CUBE_MAP_EXT           0x8513\n#define GL_TEXTURE_BINDING_CUBE_MAP_EXT   0x8514\n#define GL_TEXTURE_CUBE_MAP_POSITIVE_X_EXT 0x8515\n#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_EXT 0x8516\n#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_EXT 0x8517\n#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT 0x8518\n#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_EXT 0x8519\n#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT 0x851A\n#define GL_PROXY_TEXTURE_CUBE_MAP_EXT     0x851B\n#define GL_MAX_CUBE_MAP_TEXTURE_SIZE_EXT  0x851C\n#endif /* GL_EXT_texture_cube_map */\n\n#ifndef GL_EXT_texture_env_add\n#define GL_EXT_texture_env_add 1\n#endif /* GL_EXT_texture_env_add */\n\n#ifndef GL_EXT_texture_env_combine\n#define GL_EXT_texture_env_combine 1\n#define GL_COMBINE_EXT                    0x8570\n#define GL_COMBINE_RGB_EXT                0x8571\n#define GL_COMBINE_ALPHA_EXT              0x8572\n#define GL_RGB_SCALE_EXT                  0x8573\n#define GL_ADD_SIGNED_EXT                 0x8574\n#define GL_INTERPOLATE_EXT                0x8575\n#define GL_CONSTANT_EXT                   0x8576\n#define GL_PRIMARY_COLOR_EXT              0x8577\n#define GL_PREVIOUS_EXT                   0x8578\n#define GL_SOURCE0_RGB_EXT                0x8580\n#define GL_SOURCE1_RGB_EXT                0x8581\n#define GL_SOURCE2_RGB_EXT                0x8582\n#define GL_SOURCE0_ALPHA_EXT              0x8588\n#define GL_SOURCE1_ALPHA_EXT              0x8589\n#define GL_SOURCE2_ALPHA_EXT              0x858A\n#define GL_OPERAND0_RGB_EXT               0x8590\n#define GL_OPERAND1_RGB_EXT               0x8591\n#define GL_OPERAND2_RGB_EXT               0x8592\n#define GL_OPERAND0_ALPHA_EXT             0x8598\n#define GL_OPERAND1_ALPHA_EXT             0x8599\n#define GL_OPERAND2_ALPHA_EXT             0x859A\n#endif /* GL_EXT_texture_env_combine */\n\n#ifndef GL_EXT_texture_env_dot3\n#define GL_EXT_texture_env_dot3 1\n#define GL_DOT3_RGB_EXT                   0x8740\n#define GL_DOT3_RGBA_EXT                  0x8741\n#endif /* GL_EXT_texture_env_dot3 */\n\n#ifndef GL_EXT_texture_filter_anisotropic\n#define GL_EXT_texture_filter_anisotropic 1\n#define GL_TEXTURE_MAX_ANISOTROPY_EXT     0x84FE\n#define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF\n#endif /* GL_EXT_texture_filter_anisotropic */\n\n#ifndef GL_EXT_texture_integer\n#define GL_EXT_texture_integer 1\n#define GL_RGBA32UI_EXT                   0x8D70\n#define GL_RGB32UI_EXT                    0x8D71\n#define GL_ALPHA32UI_EXT                  0x8D72\n#define GL_INTENSITY32UI_EXT              0x8D73\n#define GL_LUMINANCE32UI_EXT              0x8D74\n#define GL_LUMINANCE_ALPHA32UI_EXT        0x8D75\n#define GL_RGBA16UI_EXT                   0x8D76\n#define GL_RGB16UI_EXT                    0x8D77\n#define GL_ALPHA16UI_EXT                  0x8D78\n#define GL_INTENSITY16UI_EXT              0x8D79\n#define GL_LUMINANCE16UI_EXT              0x8D7A\n#define GL_LUMINANCE_ALPHA16UI_EXT        0x8D7B\n#define GL_RGBA8UI_EXT                    0x8D7C\n#define GL_RGB8UI_EXT                     0x8D7D\n#define GL_ALPHA8UI_EXT                   0x8D7E\n#define GL_INTENSITY8UI_EXT               0x8D7F\n#define GL_LUMINANCE8UI_EXT               0x8D80\n#define GL_LUMINANCE_ALPHA8UI_EXT         0x8D81\n#define GL_RGBA32I_EXT                    0x8D82\n#define GL_RGB32I_EXT                     0x8D83\n#define GL_ALPHA32I_EXT                   0x8D84\n#define GL_INTENSITY32I_EXT               0x8D85\n#define GL_LUMINANCE32I_EXT               0x8D86\n#define GL_LUMINANCE_ALPHA32I_EXT         0x8D87\n#define GL_RGBA16I_EXT                    0x8D88\n#define GL_RGB16I_EXT                     0x8D89\n#define GL_ALPHA16I_EXT                   0x8D8A\n#define GL_INTENSITY16I_EXT               0x8D8B\n#define GL_LUMINANCE16I_EXT               0x8D8C\n#define GL_LUMINANCE_ALPHA16I_EXT         0x8D8D\n#define GL_RGBA8I_EXT                     0x8D8E\n#define GL_RGB8I_EXT                      0x8D8F\n#define GL_ALPHA8I_EXT                    0x8D90\n#define GL_INTENSITY8I_EXT                0x8D91\n#define GL_LUMINANCE8I_EXT                0x8D92\n#define GL_LUMINANCE_ALPHA8I_EXT          0x8D93\n#define GL_RED_INTEGER_EXT                0x8D94\n#define GL_GREEN_INTEGER_EXT              0x8D95\n#define GL_BLUE_INTEGER_EXT               0x8D96\n#define GL_ALPHA_INTEGER_EXT              0x8D97\n#define GL_RGB_INTEGER_EXT                0x8D98\n#define GL_RGBA_INTEGER_EXT               0x8D99\n#define GL_BGR_INTEGER_EXT                0x8D9A\n#define GL_BGRA_INTEGER_EXT               0x8D9B\n#define GL_LUMINANCE_INTEGER_EXT          0x8D9C\n#define GL_LUMINANCE_ALPHA_INTEGER_EXT    0x8D9D\n#define GL_RGBA_INTEGER_MODE_EXT          0x8D9E\ntypedef void (APIENTRYP PFNGLTEXPARAMETERIIVEXTPROC) (GLenum target, GLenum pname, const GLint *params);\ntypedef void (APIENTRYP PFNGLTEXPARAMETERIUIVEXTPROC) (GLenum target, GLenum pname, const GLuint *params);\ntypedef void (APIENTRYP PFNGLGETTEXPARAMETERIIVEXTPROC) (GLenum target, GLenum pname, GLint *params);\ntypedef void (APIENTRYP PFNGLGETTEXPARAMETERIUIVEXTPROC) (GLenum target, GLenum pname, GLuint *params);\ntypedef void (APIENTRYP PFNGLCLEARCOLORIIEXTPROC) (GLint red, GLint green, GLint blue, GLint alpha);\ntypedef void (APIENTRYP PFNGLCLEARCOLORIUIEXTPROC) (GLuint red, GLuint green, GLuint blue, GLuint alpha);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glTexParameterIivEXT (GLenum target, GLenum pname, const GLint *params);\nGLAPI void APIENTRY glTexParameterIuivEXT (GLenum target, GLenum pname, const GLuint *params);\nGLAPI void APIENTRY glGetTexParameterIivEXT (GLenum target, GLenum pname, GLint *params);\nGLAPI void APIENTRY glGetTexParameterIuivEXT (GLenum target, GLenum pname, GLuint *params);\nGLAPI void APIENTRY glClearColorIiEXT (GLint red, GLint green, GLint blue, GLint alpha);\nGLAPI void APIENTRY glClearColorIuiEXT (GLuint red, GLuint green, GLuint blue, GLuint alpha);\n#endif\n#endif /* GL_EXT_texture_integer */\n\n#ifndef GL_EXT_texture_lod_bias\n#define GL_EXT_texture_lod_bias 1\n#define GL_MAX_TEXTURE_LOD_BIAS_EXT       0x84FD\n#define GL_TEXTURE_FILTER_CONTROL_EXT     0x8500\n#define GL_TEXTURE_LOD_BIAS_EXT           0x8501\n#endif /* GL_EXT_texture_lod_bias */\n\n#ifndef GL_EXT_texture_mirror_clamp\n#define GL_EXT_texture_mirror_clamp 1\n#define GL_MIRROR_CLAMP_EXT               0x8742\n#define GL_MIRROR_CLAMP_TO_EDGE_EXT       0x8743\n#define GL_MIRROR_CLAMP_TO_BORDER_EXT     0x8912\n#endif /* GL_EXT_texture_mirror_clamp */\n\n#ifndef GL_EXT_texture_object\n#define GL_EXT_texture_object 1\n#define GL_TEXTURE_PRIORITY_EXT           0x8066\n#define GL_TEXTURE_RESIDENT_EXT           0x8067\n#define GL_TEXTURE_1D_BINDING_EXT         0x8068\n#define GL_TEXTURE_2D_BINDING_EXT         0x8069\n#define GL_TEXTURE_3D_BINDING_EXT         0x806A\ntypedef GLboolean (APIENTRYP PFNGLARETEXTURESRESIDENTEXTPROC) (GLsizei n, const GLuint *textures, GLboolean *residences);\ntypedef void (APIENTRYP PFNGLBINDTEXTUREEXTPROC) (GLenum target, GLuint texture);\ntypedef void (APIENTRYP PFNGLDELETETEXTURESEXTPROC) (GLsizei n, const GLuint *textures);\ntypedef void (APIENTRYP PFNGLGENTEXTURESEXTPROC) (GLsizei n, GLuint *textures);\ntypedef GLboolean (APIENTRYP PFNGLISTEXTUREEXTPROC) (GLuint texture);\ntypedef void (APIENTRYP PFNGLPRIORITIZETEXTURESEXTPROC) (GLsizei n, const GLuint *textures, const GLclampf *priorities);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI GLboolean APIENTRY glAreTexturesResidentEXT (GLsizei n, const GLuint *textures, GLboolean *residences);\nGLAPI void APIENTRY glBindTextureEXT (GLenum target, GLuint texture);\nGLAPI void APIENTRY glDeleteTexturesEXT (GLsizei n, const GLuint *textures);\nGLAPI void APIENTRY glGenTexturesEXT (GLsizei n, GLuint *textures);\nGLAPI GLboolean APIENTRY glIsTextureEXT (GLuint texture);\nGLAPI void APIENTRY glPrioritizeTexturesEXT (GLsizei n, const GLuint *textures, const GLclampf *priorities);\n#endif\n#endif /* GL_EXT_texture_object */\n\n#ifndef GL_EXT_texture_perturb_normal\n#define GL_EXT_texture_perturb_normal 1\n#define GL_PERTURB_EXT                    0x85AE\n#define GL_TEXTURE_NORMAL_EXT             0x85AF\ntypedef void (APIENTRYP PFNGLTEXTURENORMALEXTPROC) (GLenum mode);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glTextureNormalEXT (GLenum mode);\n#endif\n#endif /* GL_EXT_texture_perturb_normal */\n\n#ifndef GL_EXT_texture_sRGB\n#define GL_EXT_texture_sRGB 1\n#define GL_SRGB_EXT                       0x8C40\n#define GL_SRGB8_EXT                      0x8C41\n#define GL_SRGB_ALPHA_EXT                 0x8C42\n#define GL_SRGB8_ALPHA8_EXT               0x8C43\n#define GL_SLUMINANCE_ALPHA_EXT           0x8C44\n#define GL_SLUMINANCE8_ALPHA8_EXT         0x8C45\n#define GL_SLUMINANCE_EXT                 0x8C46\n#define GL_SLUMINANCE8_EXT                0x8C47\n#define GL_COMPRESSED_SRGB_EXT            0x8C48\n#define GL_COMPRESSED_SRGB_ALPHA_EXT      0x8C49\n#define GL_COMPRESSED_SLUMINANCE_EXT      0x8C4A\n#define GL_COMPRESSED_SLUMINANCE_ALPHA_EXT 0x8C4B\n#define GL_COMPRESSED_SRGB_S3TC_DXT1_EXT  0x8C4C\n#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT 0x8C4D\n#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT 0x8C4E\n#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT 0x8C4F\n#endif /* GL_EXT_texture_sRGB */\n\n#ifndef GL_EXT_texture_sRGB_decode\n#define GL_EXT_texture_sRGB_decode 1\n#define GL_TEXTURE_SRGB_DECODE_EXT        0x8A48\n#define GL_DECODE_EXT                     0x8A49\n#define GL_SKIP_DECODE_EXT                0x8A4A\n#endif /* GL_EXT_texture_sRGB_decode */\n\n#ifndef GL_EXT_texture_shared_exponent\n#define GL_EXT_texture_shared_exponent 1\n#define GL_RGB9_E5_EXT                    0x8C3D\n#define GL_UNSIGNED_INT_5_9_9_9_REV_EXT   0x8C3E\n#define GL_TEXTURE_SHARED_SIZE_EXT        0x8C3F\n#endif /* GL_EXT_texture_shared_exponent */\n\n#ifndef GL_EXT_texture_snorm\n#define GL_EXT_texture_snorm 1\n#define GL_ALPHA_SNORM                    0x9010\n#define GL_LUMINANCE_SNORM                0x9011\n#define GL_LUMINANCE_ALPHA_SNORM          0x9012\n#define GL_INTENSITY_SNORM                0x9013\n#define GL_ALPHA8_SNORM                   0x9014\n#define GL_LUMINANCE8_SNORM               0x9015\n#define GL_LUMINANCE8_ALPHA8_SNORM        0x9016\n#define GL_INTENSITY8_SNORM               0x9017\n#define GL_ALPHA16_SNORM                  0x9018\n#define GL_LUMINANCE16_SNORM              0x9019\n#define GL_LUMINANCE16_ALPHA16_SNORM      0x901A\n#define GL_INTENSITY16_SNORM              0x901B\n#define GL_RED_SNORM                      0x8F90\n#define GL_RG_SNORM                       0x8F91\n#define GL_RGB_SNORM                      0x8F92\n#define GL_RGBA_SNORM                     0x8F93\n#endif /* GL_EXT_texture_snorm */\n\n#ifndef GL_EXT_texture_swizzle\n#define GL_EXT_texture_swizzle 1\n#define GL_TEXTURE_SWIZZLE_R_EXT          0x8E42\n#define GL_TEXTURE_SWIZZLE_G_EXT          0x8E43\n#define GL_TEXTURE_SWIZZLE_B_EXT          0x8E44\n#define GL_TEXTURE_SWIZZLE_A_EXT          0x8E45\n#define GL_TEXTURE_SWIZZLE_RGBA_EXT       0x8E46\n#endif /* GL_EXT_texture_swizzle */\n\n#ifndef GL_EXT_timer_query\n#define GL_EXT_timer_query 1\n#define GL_TIME_ELAPSED_EXT               0x88BF\ntypedef void (APIENTRYP PFNGLGETQUERYOBJECTI64VEXTPROC) (GLuint id, GLenum pname, GLint64 *params);\ntypedef void (APIENTRYP PFNGLGETQUERYOBJECTUI64VEXTPROC) (GLuint id, GLenum pname, GLuint64 *params);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glGetQueryObjecti64vEXT (GLuint id, GLenum pname, GLint64 *params);\nGLAPI void APIENTRY glGetQueryObjectui64vEXT (GLuint id, GLenum pname, GLuint64 *params);\n#endif\n#endif /* GL_EXT_timer_query */\n\n#ifndef GL_EXT_transform_feedback\n#define GL_EXT_transform_feedback 1\n#define GL_TRANSFORM_FEEDBACK_BUFFER_EXT  0x8C8E\n#define GL_TRANSFORM_FEEDBACK_BUFFER_START_EXT 0x8C84\n#define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT 0x8C85\n#define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT 0x8C8F\n#define GL_INTERLEAVED_ATTRIBS_EXT        0x8C8C\n#define GL_SEPARATE_ATTRIBS_EXT           0x8C8D\n#define GL_PRIMITIVES_GENERATED_EXT       0x8C87\n#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT 0x8C88\n#define GL_RASTERIZER_DISCARD_EXT         0x8C89\n#define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT 0x8C8A\n#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT 0x8C8B\n#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT 0x8C80\n#define GL_TRANSFORM_FEEDBACK_VARYINGS_EXT 0x8C83\n#define GL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT 0x8C7F\n#define GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT 0x8C76\ntypedef void (APIENTRYP PFNGLBEGINTRANSFORMFEEDBACKEXTPROC) (GLenum primitiveMode);\ntypedef void (APIENTRYP PFNGLENDTRANSFORMFEEDBACKEXTPROC) (void);\ntypedef void (APIENTRYP PFNGLBINDBUFFERRANGEEXTPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);\ntypedef void (APIENTRYP PFNGLBINDBUFFEROFFSETEXTPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset);\ntypedef void (APIENTRYP PFNGLBINDBUFFERBASEEXTPROC) (GLenum target, GLuint index, GLuint buffer);\ntypedef void (APIENTRYP PFNGLTRANSFORMFEEDBACKVARYINGSEXTPROC) (GLuint program, GLsizei count, const GLchar *const*varyings, GLenum bufferMode);\ntypedef void (APIENTRYP PFNGLGETTRANSFORMFEEDBACKVARYINGEXTPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glBeginTransformFeedbackEXT (GLenum primitiveMode);\nGLAPI void APIENTRY glEndTransformFeedbackEXT (void);\nGLAPI void APIENTRY glBindBufferRangeEXT (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);\nGLAPI void APIENTRY glBindBufferOffsetEXT (GLenum target, GLuint index, GLuint buffer, GLintptr offset);\nGLAPI void APIENTRY glBindBufferBaseEXT (GLenum target, GLuint index, GLuint buffer);\nGLAPI void APIENTRY glTransformFeedbackVaryingsEXT (GLuint program, GLsizei count, const GLchar *const*varyings, GLenum bufferMode);\nGLAPI void APIENTRY glGetTransformFeedbackVaryingEXT (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);\n#endif\n#endif /* GL_EXT_transform_feedback */\n\n#ifndef GL_EXT_vertex_array\n#define GL_EXT_vertex_array 1\n#define GL_VERTEX_ARRAY_EXT               0x8074\n#define GL_NORMAL_ARRAY_EXT               0x8075\n#define GL_COLOR_ARRAY_EXT                0x8076\n#define GL_INDEX_ARRAY_EXT                0x8077\n#define GL_TEXTURE_COORD_ARRAY_EXT        0x8078\n#define GL_EDGE_FLAG_ARRAY_EXT            0x8079\n#define GL_VERTEX_ARRAY_SIZE_EXT          0x807A\n#define GL_VERTEX_ARRAY_TYPE_EXT          0x807B\n#define GL_VERTEX_ARRAY_STRIDE_EXT        0x807C\n#define GL_VERTEX_ARRAY_COUNT_EXT         0x807D\n#define GL_NORMAL_ARRAY_TYPE_EXT          0x807E\n#define GL_NORMAL_ARRAY_STRIDE_EXT        0x807F\n#define GL_NORMAL_ARRAY_COUNT_EXT         0x8080\n#define GL_COLOR_ARRAY_SIZE_EXT           0x8081\n#define GL_COLOR_ARRAY_TYPE_EXT           0x8082\n#define GL_COLOR_ARRAY_STRIDE_EXT         0x8083\n#define GL_COLOR_ARRAY_COUNT_EXT          0x8084\n#define GL_INDEX_ARRAY_TYPE_EXT           0x8085\n#define GL_INDEX_ARRAY_STRIDE_EXT         0x8086\n#define GL_INDEX_ARRAY_COUNT_EXT          0x8087\n#define GL_TEXTURE_COORD_ARRAY_SIZE_EXT   0x8088\n#define GL_TEXTURE_COORD_ARRAY_TYPE_EXT   0x8089\n#define GL_TEXTURE_COORD_ARRAY_STRIDE_EXT 0x808A\n#define GL_TEXTURE_COORD_ARRAY_COUNT_EXT  0x808B\n#define GL_EDGE_FLAG_ARRAY_STRIDE_EXT     0x808C\n#define GL_EDGE_FLAG_ARRAY_COUNT_EXT      0x808D\n#define GL_VERTEX_ARRAY_POINTER_EXT       0x808E\n#define GL_NORMAL_ARRAY_POINTER_EXT       0x808F\n#define GL_COLOR_ARRAY_POINTER_EXT        0x8090\n#define GL_INDEX_ARRAY_POINTER_EXT        0x8091\n#define GL_TEXTURE_COORD_ARRAY_POINTER_EXT 0x8092\n#define GL_EDGE_FLAG_ARRAY_POINTER_EXT    0x8093\ntypedef void (APIENTRYP PFNGLARRAYELEMENTEXTPROC) (GLint i);\ntypedef void (APIENTRYP PFNGLCOLORPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, GLsizei count, const void *pointer);\ntypedef void (APIENTRYP PFNGLDRAWARRAYSEXTPROC) (GLenum mode, GLint first, GLsizei count);\ntypedef void (APIENTRYP PFNGLEDGEFLAGPOINTEREXTPROC) (GLsizei stride, GLsizei count, const GLboolean *pointer);\ntypedef void (APIENTRYP PFNGLGETPOINTERVEXTPROC) (GLenum pname, void **params);\ntypedef void (APIENTRYP PFNGLINDEXPOINTEREXTPROC) (GLenum type, GLsizei stride, GLsizei count, const void *pointer);\ntypedef void (APIENTRYP PFNGLNORMALPOINTEREXTPROC) (GLenum type, GLsizei stride, GLsizei count, const void *pointer);\ntypedef void (APIENTRYP PFNGLTEXCOORDPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, GLsizei count, const void *pointer);\ntypedef void (APIENTRYP PFNGLVERTEXPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, GLsizei count, const void *pointer);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glArrayElementEXT (GLint i);\nGLAPI void APIENTRY glColorPointerEXT (GLint size, GLenum type, GLsizei stride, GLsizei count, const void *pointer);\nGLAPI void APIENTRY glDrawArraysEXT (GLenum mode, GLint first, GLsizei count);\nGLAPI void APIENTRY glEdgeFlagPointerEXT (GLsizei stride, GLsizei count, const GLboolean *pointer);\nGLAPI void APIENTRY glGetPointervEXT (GLenum pname, void **params);\nGLAPI void APIENTRY glIndexPointerEXT (GLenum type, GLsizei stride, GLsizei count, const void *pointer);\nGLAPI void APIENTRY glNormalPointerEXT (GLenum type, GLsizei stride, GLsizei count, const void *pointer);\nGLAPI void APIENTRY glTexCoordPointerEXT (GLint size, GLenum type, GLsizei stride, GLsizei count, const void *pointer);\nGLAPI void APIENTRY glVertexPointerEXT (GLint size, GLenum type, GLsizei stride, GLsizei count, const void *pointer);\n#endif\n#endif /* GL_EXT_vertex_array */\n\n#ifndef GL_EXT_vertex_array_bgra\n#define GL_EXT_vertex_array_bgra 1\n#endif /* GL_EXT_vertex_array_bgra */\n\n#ifndef GL_EXT_vertex_attrib_64bit\n#define GL_EXT_vertex_attrib_64bit 1\n#define GL_DOUBLE_VEC2_EXT                0x8FFC\n#define GL_DOUBLE_VEC3_EXT                0x8FFD\n#define GL_DOUBLE_VEC4_EXT                0x8FFE\n#define GL_DOUBLE_MAT2_EXT                0x8F46\n#define GL_DOUBLE_MAT3_EXT                0x8F47\n#define GL_DOUBLE_MAT4_EXT                0x8F48\n#define GL_DOUBLE_MAT2x3_EXT              0x8F49\n#define GL_DOUBLE_MAT2x4_EXT              0x8F4A\n#define GL_DOUBLE_MAT3x2_EXT              0x8F4B\n#define GL_DOUBLE_MAT3x4_EXT              0x8F4C\n#define GL_DOUBLE_MAT4x2_EXT              0x8F4D\n#define GL_DOUBLE_MAT4x3_EXT              0x8F4E\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBL1DEXTPROC) (GLuint index, GLdouble x);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBL2DEXTPROC) (GLuint index, GLdouble x, GLdouble y);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBL3DEXTPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBL4DEXTPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBL1DVEXTPROC) (GLuint index, const GLdouble *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBL2DVEXTPROC) (GLuint index, const GLdouble *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBL3DVEXTPROC) (GLuint index, const GLdouble *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBL4DVEXTPROC) (GLuint index, const GLdouble *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBLPOINTEREXTPROC) (GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer);\ntypedef void (APIENTRYP PFNGLGETVERTEXATTRIBLDVEXTPROC) (GLuint index, GLenum pname, GLdouble *params);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glVertexAttribL1dEXT (GLuint index, GLdouble x);\nGLAPI void APIENTRY glVertexAttribL2dEXT (GLuint index, GLdouble x, GLdouble y);\nGLAPI void APIENTRY glVertexAttribL3dEXT (GLuint index, GLdouble x, GLdouble y, GLdouble z);\nGLAPI void APIENTRY glVertexAttribL4dEXT (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nGLAPI void APIENTRY glVertexAttribL1dvEXT (GLuint index, const GLdouble *v);\nGLAPI void APIENTRY glVertexAttribL2dvEXT (GLuint index, const GLdouble *v);\nGLAPI void APIENTRY glVertexAttribL3dvEXT (GLuint index, const GLdouble *v);\nGLAPI void APIENTRY glVertexAttribL4dvEXT (GLuint index, const GLdouble *v);\nGLAPI void APIENTRY glVertexAttribLPointerEXT (GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer);\nGLAPI void APIENTRY glGetVertexAttribLdvEXT (GLuint index, GLenum pname, GLdouble *params);\n#endif\n#endif /* GL_EXT_vertex_attrib_64bit */\n\n#ifndef GL_EXT_vertex_shader\n#define GL_EXT_vertex_shader 1\n#define GL_VERTEX_SHADER_EXT              0x8780\n#define GL_VERTEX_SHADER_BINDING_EXT      0x8781\n#define GL_OP_INDEX_EXT                   0x8782\n#define GL_OP_NEGATE_EXT                  0x8783\n#define GL_OP_DOT3_EXT                    0x8784\n#define GL_OP_DOT4_EXT                    0x8785\n#define GL_OP_MUL_EXT                     0x8786\n#define GL_OP_ADD_EXT                     0x8787\n#define GL_OP_MADD_EXT                    0x8788\n#define GL_OP_FRAC_EXT                    0x8789\n#define GL_OP_MAX_EXT                     0x878A\n#define GL_OP_MIN_EXT                     0x878B\n#define GL_OP_SET_GE_EXT                  0x878C\n#define GL_OP_SET_LT_EXT                  0x878D\n#define GL_OP_CLAMP_EXT                   0x878E\n#define GL_OP_FLOOR_EXT                   0x878F\n#define GL_OP_ROUND_EXT                   0x8790\n#define GL_OP_EXP_BASE_2_EXT              0x8791\n#define GL_OP_LOG_BASE_2_EXT              0x8792\n#define GL_OP_POWER_EXT                   0x8793\n#define GL_OP_RECIP_EXT                   0x8794\n#define GL_OP_RECIP_SQRT_EXT              0x8795\n#define GL_OP_SUB_EXT                     0x8796\n#define GL_OP_CROSS_PRODUCT_EXT           0x8797\n#define GL_OP_MULTIPLY_MATRIX_EXT         0x8798\n#define GL_OP_MOV_EXT                     0x8799\n#define GL_OUTPUT_VERTEX_EXT              0x879A\n#define GL_OUTPUT_COLOR0_EXT              0x879B\n#define GL_OUTPUT_COLOR1_EXT              0x879C\n#define GL_OUTPUT_TEXTURE_COORD0_EXT      0x879D\n#define GL_OUTPUT_TEXTURE_COORD1_EXT      0x879E\n#define GL_OUTPUT_TEXTURE_COORD2_EXT      0x879F\n#define GL_OUTPUT_TEXTURE_COORD3_EXT      0x87A0\n#define GL_OUTPUT_TEXTURE_COORD4_EXT      0x87A1\n#define GL_OUTPUT_TEXTURE_COORD5_EXT      0x87A2\n#define GL_OUTPUT_TEXTURE_COORD6_EXT      0x87A3\n#define GL_OUTPUT_TEXTURE_COORD7_EXT      0x87A4\n#define GL_OUTPUT_TEXTURE_COORD8_EXT      0x87A5\n#define GL_OUTPUT_TEXTURE_COORD9_EXT      0x87A6\n#define GL_OUTPUT_TEXTURE_COORD10_EXT     0x87A7\n#define GL_OUTPUT_TEXTURE_COORD11_EXT     0x87A8\n#define GL_OUTPUT_TEXTURE_COORD12_EXT     0x87A9\n#define GL_OUTPUT_TEXTURE_COORD13_EXT     0x87AA\n#define GL_OUTPUT_TEXTURE_COORD14_EXT     0x87AB\n#define GL_OUTPUT_TEXTURE_COORD15_EXT     0x87AC\n#define GL_OUTPUT_TEXTURE_COORD16_EXT     0x87AD\n#define GL_OUTPUT_TEXTURE_COORD17_EXT     0x87AE\n#define GL_OUTPUT_TEXTURE_COORD18_EXT     0x87AF\n#define GL_OUTPUT_TEXTURE_COORD19_EXT     0x87B0\n#define GL_OUTPUT_TEXTURE_COORD20_EXT     0x87B1\n#define GL_OUTPUT_TEXTURE_COORD21_EXT     0x87B2\n#define GL_OUTPUT_TEXTURE_COORD22_EXT     0x87B3\n#define GL_OUTPUT_TEXTURE_COORD23_EXT     0x87B4\n#define GL_OUTPUT_TEXTURE_COORD24_EXT     0x87B5\n#define GL_OUTPUT_TEXTURE_COORD25_EXT     0x87B6\n#define GL_OUTPUT_TEXTURE_COORD26_EXT     0x87B7\n#define GL_OUTPUT_TEXTURE_COORD27_EXT     0x87B8\n#define GL_OUTPUT_TEXTURE_COORD28_EXT     0x87B9\n#define GL_OUTPUT_TEXTURE_COORD29_EXT     0x87BA\n#define GL_OUTPUT_TEXTURE_COORD30_EXT     0x87BB\n#define GL_OUTPUT_TEXTURE_COORD31_EXT     0x87BC\n#define GL_OUTPUT_FOG_EXT                 0x87BD\n#define GL_SCALAR_EXT                     0x87BE\n#define GL_VECTOR_EXT                     0x87BF\n#define GL_MATRIX_EXT                     0x87C0\n#define GL_VARIANT_EXT                    0x87C1\n#define GL_INVARIANT_EXT                  0x87C2\n#define GL_LOCAL_CONSTANT_EXT             0x87C3\n#define GL_LOCAL_EXT                      0x87C4\n#define GL_MAX_VERTEX_SHADER_INSTRUCTIONS_EXT 0x87C5\n#define GL_MAX_VERTEX_SHADER_VARIANTS_EXT 0x87C6\n#define GL_MAX_VERTEX_SHADER_INVARIANTS_EXT 0x87C7\n#define GL_MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT 0x87C8\n#define GL_MAX_VERTEX_SHADER_LOCALS_EXT   0x87C9\n#define GL_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT 0x87CA\n#define GL_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT 0x87CB\n#define GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT 0x87CC\n#define GL_MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT 0x87CD\n#define GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT 0x87CE\n#define GL_VERTEX_SHADER_INSTRUCTIONS_EXT 0x87CF\n#define GL_VERTEX_SHADER_VARIANTS_EXT     0x87D0\n#define GL_VERTEX_SHADER_INVARIANTS_EXT   0x87D1\n#define GL_VERTEX_SHADER_LOCAL_CONSTANTS_EXT 0x87D2\n#define GL_VERTEX_SHADER_LOCALS_EXT       0x87D3\n#define GL_VERTEX_SHADER_OPTIMIZED_EXT    0x87D4\n#define GL_X_EXT                          0x87D5\n#define GL_Y_EXT                          0x87D6\n#define GL_Z_EXT                          0x87D7\n#define GL_W_EXT                          0x87D8\n#define GL_NEGATIVE_X_EXT                 0x87D9\n#define GL_NEGATIVE_Y_EXT                 0x87DA\n#define GL_NEGATIVE_Z_EXT                 0x87DB\n#define GL_NEGATIVE_W_EXT                 0x87DC\n#define GL_ZERO_EXT                       0x87DD\n#define GL_ONE_EXT                        0x87DE\n#define GL_NEGATIVE_ONE_EXT               0x87DF\n#define GL_NORMALIZED_RANGE_EXT           0x87E0\n#define GL_FULL_RANGE_EXT                 0x87E1\n#define GL_CURRENT_VERTEX_EXT             0x87E2\n#define GL_MVP_MATRIX_EXT                 0x87E3\n#define GL_VARIANT_VALUE_EXT              0x87E4\n#define GL_VARIANT_DATATYPE_EXT           0x87E5\n#define GL_VARIANT_ARRAY_STRIDE_EXT       0x87E6\n#define GL_VARIANT_ARRAY_TYPE_EXT         0x87E7\n#define GL_VARIANT_ARRAY_EXT              0x87E8\n#define GL_VARIANT_ARRAY_POINTER_EXT      0x87E9\n#define GL_INVARIANT_VALUE_EXT            0x87EA\n#define GL_INVARIANT_DATATYPE_EXT         0x87EB\n#define GL_LOCAL_CONSTANT_VALUE_EXT       0x87EC\n#define GL_LOCAL_CONSTANT_DATATYPE_EXT    0x87ED\ntypedef void (APIENTRYP PFNGLBEGINVERTEXSHADEREXTPROC) (void);\ntypedef void (APIENTRYP PFNGLENDVERTEXSHADEREXTPROC) (void);\ntypedef void (APIENTRYP PFNGLBINDVERTEXSHADEREXTPROC) (GLuint id);\ntypedef GLuint (APIENTRYP PFNGLGENVERTEXSHADERSEXTPROC) (GLuint range);\ntypedef void (APIENTRYP PFNGLDELETEVERTEXSHADEREXTPROC) (GLuint id);\ntypedef void (APIENTRYP PFNGLSHADEROP1EXTPROC) (GLenum op, GLuint res, GLuint arg1);\ntypedef void (APIENTRYP PFNGLSHADEROP2EXTPROC) (GLenum op, GLuint res, GLuint arg1, GLuint arg2);\ntypedef void (APIENTRYP PFNGLSHADEROP3EXTPROC) (GLenum op, GLuint res, GLuint arg1, GLuint arg2, GLuint arg3);\ntypedef void (APIENTRYP PFNGLSWIZZLEEXTPROC) (GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW);\ntypedef void (APIENTRYP PFNGLWRITEMASKEXTPROC) (GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW);\ntypedef void (APIENTRYP PFNGLINSERTCOMPONENTEXTPROC) (GLuint res, GLuint src, GLuint num);\ntypedef void (APIENTRYP PFNGLEXTRACTCOMPONENTEXTPROC) (GLuint res, GLuint src, GLuint num);\ntypedef GLuint (APIENTRYP PFNGLGENSYMBOLSEXTPROC) (GLenum datatype, GLenum storagetype, GLenum range, GLuint components);\ntypedef void (APIENTRYP PFNGLSETINVARIANTEXTPROC) (GLuint id, GLenum type, const void *addr);\ntypedef void (APIENTRYP PFNGLSETLOCALCONSTANTEXTPROC) (GLuint id, GLenum type, const void *addr);\ntypedef void (APIENTRYP PFNGLVARIANTBVEXTPROC) (GLuint id, const GLbyte *addr);\ntypedef void (APIENTRYP PFNGLVARIANTSVEXTPROC) (GLuint id, const GLshort *addr);\ntypedef void (APIENTRYP PFNGLVARIANTIVEXTPROC) (GLuint id, const GLint *addr);\ntypedef void (APIENTRYP PFNGLVARIANTFVEXTPROC) (GLuint id, const GLfloat *addr);\ntypedef void (APIENTRYP PFNGLVARIANTDVEXTPROC) (GLuint id, const GLdouble *addr);\ntypedef void (APIENTRYP PFNGLVARIANTUBVEXTPROC) (GLuint id, const GLubyte *addr);\ntypedef void (APIENTRYP PFNGLVARIANTUSVEXTPROC) (GLuint id, const GLushort *addr);\ntypedef void (APIENTRYP PFNGLVARIANTUIVEXTPROC) (GLuint id, const GLuint *addr);\ntypedef void (APIENTRYP PFNGLVARIANTPOINTEREXTPROC) (GLuint id, GLenum type, GLuint stride, const void *addr);\ntypedef void (APIENTRYP PFNGLENABLEVARIANTCLIENTSTATEEXTPROC) (GLuint id);\ntypedef void (APIENTRYP PFNGLDISABLEVARIANTCLIENTSTATEEXTPROC) (GLuint id);\ntypedef GLuint (APIENTRYP PFNGLBINDLIGHTPARAMETEREXTPROC) (GLenum light, GLenum value);\ntypedef GLuint (APIENTRYP PFNGLBINDMATERIALPARAMETEREXTPROC) (GLenum face, GLenum value);\ntypedef GLuint (APIENTRYP PFNGLBINDTEXGENPARAMETEREXTPROC) (GLenum unit, GLenum coord, GLenum value);\ntypedef GLuint (APIENTRYP PFNGLBINDTEXTUREUNITPARAMETEREXTPROC) (GLenum unit, GLenum value);\ntypedef GLuint (APIENTRYP PFNGLBINDPARAMETEREXTPROC) (GLenum value);\ntypedef GLboolean (APIENTRYP PFNGLISVARIANTENABLEDEXTPROC) (GLuint id, GLenum cap);\ntypedef void (APIENTRYP PFNGLGETVARIANTBOOLEANVEXTPROC) (GLuint id, GLenum value, GLboolean *data);\ntypedef void (APIENTRYP PFNGLGETVARIANTINTEGERVEXTPROC) (GLuint id, GLenum value, GLint *data);\ntypedef void (APIENTRYP PFNGLGETVARIANTFLOATVEXTPROC) (GLuint id, GLenum value, GLfloat *data);\ntypedef void (APIENTRYP PFNGLGETVARIANTPOINTERVEXTPROC) (GLuint id, GLenum value, void **data);\ntypedef void (APIENTRYP PFNGLGETINVARIANTBOOLEANVEXTPROC) (GLuint id, GLenum value, GLboolean *data);\ntypedef void (APIENTRYP PFNGLGETINVARIANTINTEGERVEXTPROC) (GLuint id, GLenum value, GLint *data);\ntypedef void (APIENTRYP PFNGLGETINVARIANTFLOATVEXTPROC) (GLuint id, GLenum value, GLfloat *data);\ntypedef void (APIENTRYP PFNGLGETLOCALCONSTANTBOOLEANVEXTPROC) (GLuint id, GLenum value, GLboolean *data);\ntypedef void (APIENTRYP PFNGLGETLOCALCONSTANTINTEGERVEXTPROC) (GLuint id, GLenum value, GLint *data);\ntypedef void (APIENTRYP PFNGLGETLOCALCONSTANTFLOATVEXTPROC) (GLuint id, GLenum value, GLfloat *data);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glBeginVertexShaderEXT (void);\nGLAPI void APIENTRY glEndVertexShaderEXT (void);\nGLAPI void APIENTRY glBindVertexShaderEXT (GLuint id);\nGLAPI GLuint APIENTRY glGenVertexShadersEXT (GLuint range);\nGLAPI void APIENTRY glDeleteVertexShaderEXT (GLuint id);\nGLAPI void APIENTRY glShaderOp1EXT (GLenum op, GLuint res, GLuint arg1);\nGLAPI void APIENTRY glShaderOp2EXT (GLenum op, GLuint res, GLuint arg1, GLuint arg2);\nGLAPI void APIENTRY glShaderOp3EXT (GLenum op, GLuint res, GLuint arg1, GLuint arg2, GLuint arg3);\nGLAPI void APIENTRY glSwizzleEXT (GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW);\nGLAPI void APIENTRY glWriteMaskEXT (GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW);\nGLAPI void APIENTRY glInsertComponentEXT (GLuint res, GLuint src, GLuint num);\nGLAPI void APIENTRY glExtractComponentEXT (GLuint res, GLuint src, GLuint num);\nGLAPI GLuint APIENTRY glGenSymbolsEXT (GLenum datatype, GLenum storagetype, GLenum range, GLuint components);\nGLAPI void APIENTRY glSetInvariantEXT (GLuint id, GLenum type, const void *addr);\nGLAPI void APIENTRY glSetLocalConstantEXT (GLuint id, GLenum type, const void *addr);\nGLAPI void APIENTRY glVariantbvEXT (GLuint id, const GLbyte *addr);\nGLAPI void APIENTRY glVariantsvEXT (GLuint id, const GLshort *addr);\nGLAPI void APIENTRY glVariantivEXT (GLuint id, const GLint *addr);\nGLAPI void APIENTRY glVariantfvEXT (GLuint id, const GLfloat *addr);\nGLAPI void APIENTRY glVariantdvEXT (GLuint id, const GLdouble *addr);\nGLAPI void APIENTRY glVariantubvEXT (GLuint id, const GLubyte *addr);\nGLAPI void APIENTRY glVariantusvEXT (GLuint id, const GLushort *addr);\nGLAPI void APIENTRY glVariantuivEXT (GLuint id, const GLuint *addr);\nGLAPI void APIENTRY glVariantPointerEXT (GLuint id, GLenum type, GLuint stride, const void *addr);\nGLAPI void APIENTRY glEnableVariantClientStateEXT (GLuint id);\nGLAPI void APIENTRY glDisableVariantClientStateEXT (GLuint id);\nGLAPI GLuint APIENTRY glBindLightParameterEXT (GLenum light, GLenum value);\nGLAPI GLuint APIENTRY glBindMaterialParameterEXT (GLenum face, GLenum value);\nGLAPI GLuint APIENTRY glBindTexGenParameterEXT (GLenum unit, GLenum coord, GLenum value);\nGLAPI GLuint APIENTRY glBindTextureUnitParameterEXT (GLenum unit, GLenum value);\nGLAPI GLuint APIENTRY glBindParameterEXT (GLenum value);\nGLAPI GLboolean APIENTRY glIsVariantEnabledEXT (GLuint id, GLenum cap);\nGLAPI void APIENTRY glGetVariantBooleanvEXT (GLuint id, GLenum value, GLboolean *data);\nGLAPI void APIENTRY glGetVariantIntegervEXT (GLuint id, GLenum value, GLint *data);\nGLAPI void APIENTRY glGetVariantFloatvEXT (GLuint id, GLenum value, GLfloat *data);\nGLAPI void APIENTRY glGetVariantPointervEXT (GLuint id, GLenum value, void **data);\nGLAPI void APIENTRY glGetInvariantBooleanvEXT (GLuint id, GLenum value, GLboolean *data);\nGLAPI void APIENTRY glGetInvariantIntegervEXT (GLuint id, GLenum value, GLint *data);\nGLAPI void APIENTRY glGetInvariantFloatvEXT (GLuint id, GLenum value, GLfloat *data);\nGLAPI void APIENTRY glGetLocalConstantBooleanvEXT (GLuint id, GLenum value, GLboolean *data);\nGLAPI void APIENTRY glGetLocalConstantIntegervEXT (GLuint id, GLenum value, GLint *data);\nGLAPI void APIENTRY glGetLocalConstantFloatvEXT (GLuint id, GLenum value, GLfloat *data);\n#endif\n#endif /* GL_EXT_vertex_shader */\n\n#ifndef GL_EXT_vertex_weighting\n#define GL_EXT_vertex_weighting 1\n#define GL_MODELVIEW0_STACK_DEPTH_EXT     0x0BA3\n#define GL_MODELVIEW1_STACK_DEPTH_EXT     0x8502\n#define GL_MODELVIEW0_MATRIX_EXT          0x0BA6\n#define GL_MODELVIEW1_MATRIX_EXT          0x8506\n#define GL_VERTEX_WEIGHTING_EXT           0x8509\n#define GL_MODELVIEW0_EXT                 0x1700\n#define GL_MODELVIEW1_EXT                 0x850A\n#define GL_CURRENT_VERTEX_WEIGHT_EXT      0x850B\n#define GL_VERTEX_WEIGHT_ARRAY_EXT        0x850C\n#define GL_VERTEX_WEIGHT_ARRAY_SIZE_EXT   0x850D\n#define GL_VERTEX_WEIGHT_ARRAY_TYPE_EXT   0x850E\n#define GL_VERTEX_WEIGHT_ARRAY_STRIDE_EXT 0x850F\n#define GL_VERTEX_WEIGHT_ARRAY_POINTER_EXT 0x8510\ntypedef void (APIENTRYP PFNGLVERTEXWEIGHTFEXTPROC) (GLfloat weight);\ntypedef void (APIENTRYP PFNGLVERTEXWEIGHTFVEXTPROC) (const GLfloat *weight);\ntypedef void (APIENTRYP PFNGLVERTEXWEIGHTPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, const void *pointer);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glVertexWeightfEXT (GLfloat weight);\nGLAPI void APIENTRY glVertexWeightfvEXT (const GLfloat *weight);\nGLAPI void APIENTRY glVertexWeightPointerEXT (GLint size, GLenum type, GLsizei stride, const void *pointer);\n#endif\n#endif /* GL_EXT_vertex_weighting */\n\n#ifndef GL_EXT_x11_sync_object\n#define GL_EXT_x11_sync_object 1\n#define GL_SYNC_X11_FENCE_EXT             0x90E1\ntypedef GLsync (APIENTRYP PFNGLIMPORTSYNCEXTPROC) (GLenum external_sync_type, GLintptr external_sync, GLbitfield flags);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI GLsync APIENTRY glImportSyncEXT (GLenum external_sync_type, GLintptr external_sync, GLbitfield flags);\n#endif\n#endif /* GL_EXT_x11_sync_object */\n\n#ifndef GL_GREMEDY_frame_terminator\n#define GL_GREMEDY_frame_terminator 1\ntypedef void (APIENTRYP PFNGLFRAMETERMINATORGREMEDYPROC) (void);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glFrameTerminatorGREMEDY (void);\n#endif\n#endif /* GL_GREMEDY_frame_terminator */\n\n#ifndef GL_GREMEDY_string_marker\n#define GL_GREMEDY_string_marker 1\ntypedef void (APIENTRYP PFNGLSTRINGMARKERGREMEDYPROC) (GLsizei len, const void *string);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glStringMarkerGREMEDY (GLsizei len, const void *string);\n#endif\n#endif /* GL_GREMEDY_string_marker */\n\n#ifndef GL_HP_convolution_border_modes\n#define GL_HP_convolution_border_modes 1\n#define GL_IGNORE_BORDER_HP               0x8150\n#define GL_CONSTANT_BORDER_HP             0x8151\n#define GL_REPLICATE_BORDER_HP            0x8153\n#define GL_CONVOLUTION_BORDER_COLOR_HP    0x8154\n#endif /* GL_HP_convolution_border_modes */\n\n#ifndef GL_HP_image_transform\n#define GL_HP_image_transform 1\n#define GL_IMAGE_SCALE_X_HP               0x8155\n#define GL_IMAGE_SCALE_Y_HP               0x8156\n#define GL_IMAGE_TRANSLATE_X_HP           0x8157\n#define GL_IMAGE_TRANSLATE_Y_HP           0x8158\n#define GL_IMAGE_ROTATE_ANGLE_HP          0x8159\n#define GL_IMAGE_ROTATE_ORIGIN_X_HP       0x815A\n#define GL_IMAGE_ROTATE_ORIGIN_Y_HP       0x815B\n#define GL_IMAGE_MAG_FILTER_HP            0x815C\n#define GL_IMAGE_MIN_FILTER_HP            0x815D\n#define GL_IMAGE_CUBIC_WEIGHT_HP          0x815E\n#define GL_CUBIC_HP                       0x815F\n#define GL_AVERAGE_HP                     0x8160\n#define GL_IMAGE_TRANSFORM_2D_HP          0x8161\n#define GL_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP 0x8162\n#define GL_PROXY_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP 0x8163\ntypedef void (APIENTRYP PFNGLIMAGETRANSFORMPARAMETERIHPPROC) (GLenum target, GLenum pname, GLint param);\ntypedef void (APIENTRYP PFNGLIMAGETRANSFORMPARAMETERFHPPROC) (GLenum target, GLenum pname, GLfloat param);\ntypedef void (APIENTRYP PFNGLIMAGETRANSFORMPARAMETERIVHPPROC) (GLenum target, GLenum pname, const GLint *params);\ntypedef void (APIENTRYP PFNGLIMAGETRANSFORMPARAMETERFVHPPROC) (GLenum target, GLenum pname, const GLfloat *params);\ntypedef void (APIENTRYP PFNGLGETIMAGETRANSFORMPARAMETERIVHPPROC) (GLenum target, GLenum pname, GLint *params);\ntypedef void (APIENTRYP PFNGLGETIMAGETRANSFORMPARAMETERFVHPPROC) (GLenum target, GLenum pname, GLfloat *params);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glImageTransformParameteriHP (GLenum target, GLenum pname, GLint param);\nGLAPI void APIENTRY glImageTransformParameterfHP (GLenum target, GLenum pname, GLfloat param);\nGLAPI void APIENTRY glImageTransformParameterivHP (GLenum target, GLenum pname, const GLint *params);\nGLAPI void APIENTRY glImageTransformParameterfvHP (GLenum target, GLenum pname, const GLfloat *params);\nGLAPI void APIENTRY glGetImageTransformParameterivHP (GLenum target, GLenum pname, GLint *params);\nGLAPI void APIENTRY glGetImageTransformParameterfvHP (GLenum target, GLenum pname, GLfloat *params);\n#endif\n#endif /* GL_HP_image_transform */\n\n#ifndef GL_HP_occlusion_test\n#define GL_HP_occlusion_test 1\n#define GL_OCCLUSION_TEST_HP              0x8165\n#define GL_OCCLUSION_TEST_RESULT_HP       0x8166\n#endif /* GL_HP_occlusion_test */\n\n#ifndef GL_HP_texture_lighting\n#define GL_HP_texture_lighting 1\n#define GL_TEXTURE_LIGHTING_MODE_HP       0x8167\n#define GL_TEXTURE_POST_SPECULAR_HP       0x8168\n#define GL_TEXTURE_PRE_SPECULAR_HP        0x8169\n#endif /* GL_HP_texture_lighting */\n\n#ifndef GL_IBM_cull_vertex\n#define GL_IBM_cull_vertex 1\n#define GL_CULL_VERTEX_IBM                103050\n#endif /* GL_IBM_cull_vertex */\n\n#ifndef GL_IBM_multimode_draw_arrays\n#define GL_IBM_multimode_draw_arrays 1\ntypedef void (APIENTRYP PFNGLMULTIMODEDRAWARRAYSIBMPROC) (const GLenum *mode, const GLint *first, const GLsizei *count, GLsizei primcount, GLint modestride);\ntypedef void (APIENTRYP PFNGLMULTIMODEDRAWELEMENTSIBMPROC) (const GLenum *mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei primcount, GLint modestride);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glMultiModeDrawArraysIBM (const GLenum *mode, const GLint *first, const GLsizei *count, GLsizei primcount, GLint modestride);\nGLAPI void APIENTRY glMultiModeDrawElementsIBM (const GLenum *mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei primcount, GLint modestride);\n#endif\n#endif /* GL_IBM_multimode_draw_arrays */\n\n#ifndef GL_IBM_rasterpos_clip\n#define GL_IBM_rasterpos_clip 1\n#define GL_RASTER_POSITION_UNCLIPPED_IBM  0x19262\n#endif /* GL_IBM_rasterpos_clip */\n\n#ifndef GL_IBM_static_data\n#define GL_IBM_static_data 1\n#define GL_ALL_STATIC_DATA_IBM            103060\n#define GL_STATIC_VERTEX_ARRAY_IBM        103061\ntypedef void (APIENTRYP PFNGLFLUSHSTATICDATAIBMPROC) (GLenum target);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glFlushStaticDataIBM (GLenum target);\n#endif\n#endif /* GL_IBM_static_data */\n\n#ifndef GL_IBM_texture_mirrored_repeat\n#define GL_IBM_texture_mirrored_repeat 1\n#define GL_MIRRORED_REPEAT_IBM            0x8370\n#endif /* GL_IBM_texture_mirrored_repeat */\n\n#ifndef GL_IBM_vertex_array_lists\n#define GL_IBM_vertex_array_lists 1\n#define GL_VERTEX_ARRAY_LIST_IBM          103070\n#define GL_NORMAL_ARRAY_LIST_IBM          103071\n#define GL_COLOR_ARRAY_LIST_IBM           103072\n#define GL_INDEX_ARRAY_LIST_IBM           103073\n#define GL_TEXTURE_COORD_ARRAY_LIST_IBM   103074\n#define GL_EDGE_FLAG_ARRAY_LIST_IBM       103075\n#define GL_FOG_COORDINATE_ARRAY_LIST_IBM  103076\n#define GL_SECONDARY_COLOR_ARRAY_LIST_IBM 103077\n#define GL_VERTEX_ARRAY_LIST_STRIDE_IBM   103080\n#define GL_NORMAL_ARRAY_LIST_STRIDE_IBM   103081\n#define GL_COLOR_ARRAY_LIST_STRIDE_IBM    103082\n#define GL_INDEX_ARRAY_LIST_STRIDE_IBM    103083\n#define GL_TEXTURE_COORD_ARRAY_LIST_STRIDE_IBM 103084\n#define GL_EDGE_FLAG_ARRAY_LIST_STRIDE_IBM 103085\n#define GL_FOG_COORDINATE_ARRAY_LIST_STRIDE_IBM 103086\n#define GL_SECONDARY_COLOR_ARRAY_LIST_STRIDE_IBM 103087\ntypedef void (APIENTRYP PFNGLCOLORPOINTERLISTIBMPROC) (GLint size, GLenum type, GLint stride, const void **pointer, GLint ptrstride);\ntypedef void (APIENTRYP PFNGLSECONDARYCOLORPOINTERLISTIBMPROC) (GLint size, GLenum type, GLint stride, const void **pointer, GLint ptrstride);\ntypedef void (APIENTRYP PFNGLEDGEFLAGPOINTERLISTIBMPROC) (GLint stride, const GLboolean **pointer, GLint ptrstride);\ntypedef void (APIENTRYP PFNGLFOGCOORDPOINTERLISTIBMPROC) (GLenum type, GLint stride, const void **pointer, GLint ptrstride);\ntypedef void (APIENTRYP PFNGLINDEXPOINTERLISTIBMPROC) (GLenum type, GLint stride, const void **pointer, GLint ptrstride);\ntypedef void (APIENTRYP PFNGLNORMALPOINTERLISTIBMPROC) (GLenum type, GLint stride, const void **pointer, GLint ptrstride);\ntypedef void (APIENTRYP PFNGLTEXCOORDPOINTERLISTIBMPROC) (GLint size, GLenum type, GLint stride, const void **pointer, GLint ptrstride);\ntypedef void (APIENTRYP PFNGLVERTEXPOINTERLISTIBMPROC) (GLint size, GLenum type, GLint stride, const void **pointer, GLint ptrstride);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glColorPointerListIBM (GLint size, GLenum type, GLint stride, const void **pointer, GLint ptrstride);\nGLAPI void APIENTRY glSecondaryColorPointerListIBM (GLint size, GLenum type, GLint stride, const void **pointer, GLint ptrstride);\nGLAPI void APIENTRY glEdgeFlagPointerListIBM (GLint stride, const GLboolean **pointer, GLint ptrstride);\nGLAPI void APIENTRY glFogCoordPointerListIBM (GLenum type, GLint stride, const void **pointer, GLint ptrstride);\nGLAPI void APIENTRY glIndexPointerListIBM (GLenum type, GLint stride, const void **pointer, GLint ptrstride);\nGLAPI void APIENTRY glNormalPointerListIBM (GLenum type, GLint stride, const void **pointer, GLint ptrstride);\nGLAPI void APIENTRY glTexCoordPointerListIBM (GLint size, GLenum type, GLint stride, const void **pointer, GLint ptrstride);\nGLAPI void APIENTRY glVertexPointerListIBM (GLint size, GLenum type, GLint stride, const void **pointer, GLint ptrstride);\n#endif\n#endif /* GL_IBM_vertex_array_lists */\n\n#ifndef GL_INGR_blend_func_separate\n#define GL_INGR_blend_func_separate 1\ntypedef void (APIENTRYP PFNGLBLENDFUNCSEPARATEINGRPROC) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glBlendFuncSeparateINGR (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);\n#endif\n#endif /* GL_INGR_blend_func_separate */\n\n#ifndef GL_INGR_color_clamp\n#define GL_INGR_color_clamp 1\n#define GL_RED_MIN_CLAMP_INGR             0x8560\n#define GL_GREEN_MIN_CLAMP_INGR           0x8561\n#define GL_BLUE_MIN_CLAMP_INGR            0x8562\n#define GL_ALPHA_MIN_CLAMP_INGR           0x8563\n#define GL_RED_MAX_CLAMP_INGR             0x8564\n#define GL_GREEN_MAX_CLAMP_INGR           0x8565\n#define GL_BLUE_MAX_CLAMP_INGR            0x8566\n#define GL_ALPHA_MAX_CLAMP_INGR           0x8567\n#endif /* GL_INGR_color_clamp */\n\n#ifndef GL_INGR_interlace_read\n#define GL_INGR_interlace_read 1\n#define GL_INTERLACE_READ_INGR            0x8568\n#endif /* GL_INGR_interlace_read */\n\n#ifndef GL_INTEL_fragment_shader_ordering\n#define GL_INTEL_fragment_shader_ordering 1\n#endif /* GL_INTEL_fragment_shader_ordering */\n\n#ifndef GL_INTEL_map_texture\n#define GL_INTEL_map_texture 1\n#define GL_TEXTURE_MEMORY_LAYOUT_INTEL    0x83FF\n#define GL_LAYOUT_DEFAULT_INTEL           0\n#define GL_LAYOUT_LINEAR_INTEL            1\n#define GL_LAYOUT_LINEAR_CPU_CACHED_INTEL 2\ntypedef void (APIENTRYP PFNGLSYNCTEXTUREINTELPROC) (GLuint texture);\ntypedef void (APIENTRYP PFNGLUNMAPTEXTURE2DINTELPROC) (GLuint texture, GLint level);\ntypedef void *(APIENTRYP PFNGLMAPTEXTURE2DINTELPROC) (GLuint texture, GLint level, GLbitfield access, GLint *stride, GLenum *layout);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glSyncTextureINTEL (GLuint texture);\nGLAPI void APIENTRY glUnmapTexture2DINTEL (GLuint texture, GLint level);\nGLAPI void *APIENTRY glMapTexture2DINTEL (GLuint texture, GLint level, GLbitfield access, GLint *stride, GLenum *layout);\n#endif\n#endif /* GL_INTEL_map_texture */\n\n#ifndef GL_INTEL_parallel_arrays\n#define GL_INTEL_parallel_arrays 1\n#define GL_PARALLEL_ARRAYS_INTEL          0x83F4\n#define GL_VERTEX_ARRAY_PARALLEL_POINTERS_INTEL 0x83F5\n#define GL_NORMAL_ARRAY_PARALLEL_POINTERS_INTEL 0x83F6\n#define GL_COLOR_ARRAY_PARALLEL_POINTERS_INTEL 0x83F7\n#define GL_TEXTURE_COORD_ARRAY_PARALLEL_POINTERS_INTEL 0x83F8\ntypedef void (APIENTRYP PFNGLVERTEXPOINTERVINTELPROC) (GLint size, GLenum type, const void **pointer);\ntypedef void (APIENTRYP PFNGLNORMALPOINTERVINTELPROC) (GLenum type, const void **pointer);\ntypedef void (APIENTRYP PFNGLCOLORPOINTERVINTELPROC) (GLint size, GLenum type, const void **pointer);\ntypedef void (APIENTRYP PFNGLTEXCOORDPOINTERVINTELPROC) (GLint size, GLenum type, const void **pointer);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glVertexPointervINTEL (GLint size, GLenum type, const void **pointer);\nGLAPI void APIENTRY glNormalPointervINTEL (GLenum type, const void **pointer);\nGLAPI void APIENTRY glColorPointervINTEL (GLint size, GLenum type, const void **pointer);\nGLAPI void APIENTRY glTexCoordPointervINTEL (GLint size, GLenum type, const void **pointer);\n#endif\n#endif /* GL_INTEL_parallel_arrays */\n\n#ifndef GL_INTEL_performance_query\n#define GL_INTEL_performance_query 1\n#define GL_PERFQUERY_SINGLE_CONTEXT_INTEL 0x00000000\n#define GL_PERFQUERY_GLOBAL_CONTEXT_INTEL 0x00000001\n#define GL_PERFQUERY_WAIT_INTEL           0x83FB\n#define GL_PERFQUERY_FLUSH_INTEL          0x83FA\n#define GL_PERFQUERY_DONOT_FLUSH_INTEL    0x83F9\n#define GL_PERFQUERY_COUNTER_EVENT_INTEL  0x94F0\n#define GL_PERFQUERY_COUNTER_DURATION_NORM_INTEL 0x94F1\n#define GL_PERFQUERY_COUNTER_DURATION_RAW_INTEL 0x94F2\n#define GL_PERFQUERY_COUNTER_THROUGHPUT_INTEL 0x94F3\n#define GL_PERFQUERY_COUNTER_RAW_INTEL    0x94F4\n#define GL_PERFQUERY_COUNTER_TIMESTAMP_INTEL 0x94F5\n#define GL_PERFQUERY_COUNTER_DATA_UINT32_INTEL 0x94F8\n#define GL_PERFQUERY_COUNTER_DATA_UINT64_INTEL 0x94F9\n#define GL_PERFQUERY_COUNTER_DATA_FLOAT_INTEL 0x94FA\n#define GL_PERFQUERY_COUNTER_DATA_DOUBLE_INTEL 0x94FB\n#define GL_PERFQUERY_COUNTER_DATA_BOOL32_INTEL 0x94FC\n#define GL_PERFQUERY_QUERY_NAME_LENGTH_MAX_INTEL 0x94FD\n#define GL_PERFQUERY_COUNTER_NAME_LENGTH_MAX_INTEL 0x94FE\n#define GL_PERFQUERY_COUNTER_DESC_LENGTH_MAX_INTEL 0x94FF\n#define GL_PERFQUERY_GPA_EXTENDED_COUNTERS_INTEL 0x9500\ntypedef void (APIENTRYP PFNGLBEGINPERFQUERYINTELPROC) (GLuint queryHandle);\ntypedef void (APIENTRYP PFNGLCREATEPERFQUERYINTELPROC) (GLuint queryId, GLuint *queryHandle);\ntypedef void (APIENTRYP PFNGLDELETEPERFQUERYINTELPROC) (GLuint queryHandle);\ntypedef void (APIENTRYP PFNGLENDPERFQUERYINTELPROC) (GLuint queryHandle);\ntypedef void (APIENTRYP PFNGLGETFIRSTPERFQUERYIDINTELPROC) (GLuint *queryId);\ntypedef void (APIENTRYP PFNGLGETNEXTPERFQUERYIDINTELPROC) (GLuint queryId, GLuint *nextQueryId);\ntypedef void (APIENTRYP PFNGLGETPERFCOUNTERINFOINTELPROC) (GLuint queryId, GLuint counterId, GLuint counterNameLength, GLchar *counterName, GLuint counterDescLength, GLchar *counterDesc, GLuint *counterOffset, GLuint *counterDataSize, GLuint *counterTypeEnum, GLuint *counterDataTypeEnum, GLuint64 *rawCounterMaxValue);\ntypedef void (APIENTRYP PFNGLGETPERFQUERYDATAINTELPROC) (GLuint queryHandle, GLuint flags, GLsizei dataSize, GLvoid *data, GLuint *bytesWritten);\ntypedef void (APIENTRYP PFNGLGETPERFQUERYIDBYNAMEINTELPROC) (GLchar *queryName, GLuint *queryId);\ntypedef void (APIENTRYP PFNGLGETPERFQUERYINFOINTELPROC) (GLuint queryId, GLuint queryNameLength, GLchar *queryName, GLuint *dataSize, GLuint *noCounters, GLuint *noInstances, GLuint *capsMask);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glBeginPerfQueryINTEL (GLuint queryHandle);\nGLAPI void APIENTRY glCreatePerfQueryINTEL (GLuint queryId, GLuint *queryHandle);\nGLAPI void APIENTRY glDeletePerfQueryINTEL (GLuint queryHandle);\nGLAPI void APIENTRY glEndPerfQueryINTEL (GLuint queryHandle);\nGLAPI void APIENTRY glGetFirstPerfQueryIdINTEL (GLuint *queryId);\nGLAPI void APIENTRY glGetNextPerfQueryIdINTEL (GLuint queryId, GLuint *nextQueryId);\nGLAPI void APIENTRY glGetPerfCounterInfoINTEL (GLuint queryId, GLuint counterId, GLuint counterNameLength, GLchar *counterName, GLuint counterDescLength, GLchar *counterDesc, GLuint *counterOffset, GLuint *counterDataSize, GLuint *counterTypeEnum, GLuint *counterDataTypeEnum, GLuint64 *rawCounterMaxValue);\nGLAPI void APIENTRY glGetPerfQueryDataINTEL (GLuint queryHandle, GLuint flags, GLsizei dataSize, GLvoid *data, GLuint *bytesWritten);\nGLAPI void APIENTRY glGetPerfQueryIdByNameINTEL (GLchar *queryName, GLuint *queryId);\nGLAPI void APIENTRY glGetPerfQueryInfoINTEL (GLuint queryId, GLuint queryNameLength, GLchar *queryName, GLuint *dataSize, GLuint *noCounters, GLuint *noInstances, GLuint *capsMask);\n#endif\n#endif /* GL_INTEL_performance_query */\n\n#ifndef GL_MESAX_texture_stack\n#define GL_MESAX_texture_stack 1\n#define GL_TEXTURE_1D_STACK_MESAX         0x8759\n#define GL_TEXTURE_2D_STACK_MESAX         0x875A\n#define GL_PROXY_TEXTURE_1D_STACK_MESAX   0x875B\n#define GL_PROXY_TEXTURE_2D_STACK_MESAX   0x875C\n#define GL_TEXTURE_1D_STACK_BINDING_MESAX 0x875D\n#define GL_TEXTURE_2D_STACK_BINDING_MESAX 0x875E\n#endif /* GL_MESAX_texture_stack */\n\n#ifndef GL_MESA_pack_invert\n#define GL_MESA_pack_invert 1\n#define GL_PACK_INVERT_MESA               0x8758\n#endif /* GL_MESA_pack_invert */\n\n#ifndef GL_MESA_resize_buffers\n#define GL_MESA_resize_buffers 1\ntypedef void (APIENTRYP PFNGLRESIZEBUFFERSMESAPROC) (void);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glResizeBuffersMESA (void);\n#endif\n#endif /* GL_MESA_resize_buffers */\n\n#ifndef GL_MESA_window_pos\n#define GL_MESA_window_pos 1\ntypedef void (APIENTRYP PFNGLWINDOWPOS2DMESAPROC) (GLdouble x, GLdouble y);\ntypedef void (APIENTRYP PFNGLWINDOWPOS2DVMESAPROC) (const GLdouble *v);\ntypedef void (APIENTRYP PFNGLWINDOWPOS2FMESAPROC) (GLfloat x, GLfloat y);\ntypedef void (APIENTRYP PFNGLWINDOWPOS2FVMESAPROC) (const GLfloat *v);\ntypedef void (APIENTRYP PFNGLWINDOWPOS2IMESAPROC) (GLint x, GLint y);\ntypedef void (APIENTRYP PFNGLWINDOWPOS2IVMESAPROC) (const GLint *v);\ntypedef void (APIENTRYP PFNGLWINDOWPOS2SMESAPROC) (GLshort x, GLshort y);\ntypedef void (APIENTRYP PFNGLWINDOWPOS2SVMESAPROC) (const GLshort *v);\ntypedef void (APIENTRYP PFNGLWINDOWPOS3DMESAPROC) (GLdouble x, GLdouble y, GLdouble z);\ntypedef void (APIENTRYP PFNGLWINDOWPOS3DVMESAPROC) (const GLdouble *v);\ntypedef void (APIENTRYP PFNGLWINDOWPOS3FMESAPROC) (GLfloat x, GLfloat y, GLfloat z);\ntypedef void (APIENTRYP PFNGLWINDOWPOS3FVMESAPROC) (const GLfloat *v);\ntypedef void (APIENTRYP PFNGLWINDOWPOS3IMESAPROC) (GLint x, GLint y, GLint z);\ntypedef void (APIENTRYP PFNGLWINDOWPOS3IVMESAPROC) (const GLint *v);\ntypedef void (APIENTRYP PFNGLWINDOWPOS3SMESAPROC) (GLshort x, GLshort y, GLshort z);\ntypedef void (APIENTRYP PFNGLWINDOWPOS3SVMESAPROC) (const GLshort *v);\ntypedef void (APIENTRYP PFNGLWINDOWPOS4DMESAPROC) (GLdouble x, GLdouble y, GLdouble z, GLdouble w);\ntypedef void (APIENTRYP PFNGLWINDOWPOS4DVMESAPROC) (const GLdouble *v);\ntypedef void (APIENTRYP PFNGLWINDOWPOS4FMESAPROC) (GLfloat x, GLfloat y, GLfloat z, GLfloat w);\ntypedef void (APIENTRYP PFNGLWINDOWPOS4FVMESAPROC) (const GLfloat *v);\ntypedef void (APIENTRYP PFNGLWINDOWPOS4IMESAPROC) (GLint x, GLint y, GLint z, GLint w);\ntypedef void (APIENTRYP PFNGLWINDOWPOS4IVMESAPROC) (const GLint *v);\ntypedef void (APIENTRYP PFNGLWINDOWPOS4SMESAPROC) (GLshort x, GLshort y, GLshort z, GLshort w);\ntypedef void (APIENTRYP PFNGLWINDOWPOS4SVMESAPROC) (const GLshort *v);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glWindowPos2dMESA (GLdouble x, GLdouble y);\nGLAPI void APIENTRY glWindowPos2dvMESA (const GLdouble *v);\nGLAPI void APIENTRY glWindowPos2fMESA (GLfloat x, GLfloat y);\nGLAPI void APIENTRY glWindowPos2fvMESA (const GLfloat *v);\nGLAPI void APIENTRY glWindowPos2iMESA (GLint x, GLint y);\nGLAPI void APIENTRY glWindowPos2ivMESA (const GLint *v);\nGLAPI void APIENTRY glWindowPos2sMESA (GLshort x, GLshort y);\nGLAPI void APIENTRY glWindowPos2svMESA (const GLshort *v);\nGLAPI void APIENTRY glWindowPos3dMESA (GLdouble x, GLdouble y, GLdouble z);\nGLAPI void APIENTRY glWindowPos3dvMESA (const GLdouble *v);\nGLAPI void APIENTRY glWindowPos3fMESA (GLfloat x, GLfloat y, GLfloat z);\nGLAPI void APIENTRY glWindowPos3fvMESA (const GLfloat *v);\nGLAPI void APIENTRY glWindowPos3iMESA (GLint x, GLint y, GLint z);\nGLAPI void APIENTRY glWindowPos3ivMESA (const GLint *v);\nGLAPI void APIENTRY glWindowPos3sMESA (GLshort x, GLshort y, GLshort z);\nGLAPI void APIENTRY glWindowPos3svMESA (const GLshort *v);\nGLAPI void APIENTRY glWindowPos4dMESA (GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nGLAPI void APIENTRY glWindowPos4dvMESA (const GLdouble *v);\nGLAPI void APIENTRY glWindowPos4fMESA (GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nGLAPI void APIENTRY glWindowPos4fvMESA (const GLfloat *v);\nGLAPI void APIENTRY glWindowPos4iMESA (GLint x, GLint y, GLint z, GLint w);\nGLAPI void APIENTRY glWindowPos4ivMESA (const GLint *v);\nGLAPI void APIENTRY glWindowPos4sMESA (GLshort x, GLshort y, GLshort z, GLshort w);\nGLAPI void APIENTRY glWindowPos4svMESA (const GLshort *v);\n#endif\n#endif /* GL_MESA_window_pos */\n\n#ifndef GL_MESA_ycbcr_texture\n#define GL_MESA_ycbcr_texture 1\n#define GL_UNSIGNED_SHORT_8_8_MESA        0x85BA\n#define GL_UNSIGNED_SHORT_8_8_REV_MESA    0x85BB\n#define GL_YCBCR_MESA                     0x8757\n#endif /* GL_MESA_ycbcr_texture */\n\n#ifndef GL_NVX_conditional_render\n#define GL_NVX_conditional_render 1\ntypedef void (APIENTRYP PFNGLBEGINCONDITIONALRENDERNVXPROC) (GLuint id);\ntypedef void (APIENTRYP PFNGLENDCONDITIONALRENDERNVXPROC) (void);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glBeginConditionalRenderNVX (GLuint id);\nGLAPI void APIENTRY glEndConditionalRenderNVX (void);\n#endif\n#endif /* GL_NVX_conditional_render */\n\n#ifndef GL_NVX_gpu_memory_info\n#define GL_NVX_gpu_memory_info 1\n#define GL_GPU_MEMORY_INFO_DEDICATED_VIDMEM_NVX 0x9047\n#define GL_GPU_MEMORY_INFO_TOTAL_AVAILABLE_MEMORY_NVX 0x9048\n#define GL_GPU_MEMORY_INFO_CURRENT_AVAILABLE_VIDMEM_NVX 0x9049\n#define GL_GPU_MEMORY_INFO_EVICTION_COUNT_NVX 0x904A\n#define GL_GPU_MEMORY_INFO_EVICTED_MEMORY_NVX 0x904B\n#endif /* GL_NVX_gpu_memory_info */\n\n#ifndef GL_NV_bindless_multi_draw_indirect\n#define GL_NV_bindless_multi_draw_indirect 1\ntypedef void (APIENTRYP PFNGLMULTIDRAWARRAYSINDIRECTBINDLESSNVPROC) (GLenum mode, const void *indirect, GLsizei drawCount, GLsizei stride, GLint vertexBufferCount);\ntypedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSINDIRECTBINDLESSNVPROC) (GLenum mode, GLenum type, const void *indirect, GLsizei drawCount, GLsizei stride, GLint vertexBufferCount);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glMultiDrawArraysIndirectBindlessNV (GLenum mode, const void *indirect, GLsizei drawCount, GLsizei stride, GLint vertexBufferCount);\nGLAPI void APIENTRY glMultiDrawElementsIndirectBindlessNV (GLenum mode, GLenum type, const void *indirect, GLsizei drawCount, GLsizei stride, GLint vertexBufferCount);\n#endif\n#endif /* GL_NV_bindless_multi_draw_indirect */\n\n#ifndef GL_NV_bindless_texture\n#define GL_NV_bindless_texture 1\ntypedef GLuint64 (APIENTRYP PFNGLGETTEXTUREHANDLENVPROC) (GLuint texture);\ntypedef GLuint64 (APIENTRYP PFNGLGETTEXTURESAMPLERHANDLENVPROC) (GLuint texture, GLuint sampler);\ntypedef void (APIENTRYP PFNGLMAKETEXTUREHANDLERESIDENTNVPROC) (GLuint64 handle);\ntypedef void (APIENTRYP PFNGLMAKETEXTUREHANDLENONRESIDENTNVPROC) (GLuint64 handle);\ntypedef GLuint64 (APIENTRYP PFNGLGETIMAGEHANDLENVPROC) (GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum format);\ntypedef void (APIENTRYP PFNGLMAKEIMAGEHANDLERESIDENTNVPROC) (GLuint64 handle, GLenum access);\ntypedef void (APIENTRYP PFNGLMAKEIMAGEHANDLENONRESIDENTNVPROC) (GLuint64 handle);\ntypedef void (APIENTRYP PFNGLUNIFORMHANDLEUI64NVPROC) (GLint location, GLuint64 value);\ntypedef void (APIENTRYP PFNGLUNIFORMHANDLEUI64VNVPROC) (GLint location, GLsizei count, const GLuint64 *value);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMHANDLEUI64NVPROC) (GLuint program, GLint location, GLuint64 value);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMHANDLEUI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64 *values);\ntypedef GLboolean (APIENTRYP PFNGLISTEXTUREHANDLERESIDENTNVPROC) (GLuint64 handle);\ntypedef GLboolean (APIENTRYP PFNGLISIMAGEHANDLERESIDENTNVPROC) (GLuint64 handle);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI GLuint64 APIENTRY glGetTextureHandleNV (GLuint texture);\nGLAPI GLuint64 APIENTRY glGetTextureSamplerHandleNV (GLuint texture, GLuint sampler);\nGLAPI void APIENTRY glMakeTextureHandleResidentNV (GLuint64 handle);\nGLAPI void APIENTRY glMakeTextureHandleNonResidentNV (GLuint64 handle);\nGLAPI GLuint64 APIENTRY glGetImageHandleNV (GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum format);\nGLAPI void APIENTRY glMakeImageHandleResidentNV (GLuint64 handle, GLenum access);\nGLAPI void APIENTRY glMakeImageHandleNonResidentNV (GLuint64 handle);\nGLAPI void APIENTRY glUniformHandleui64NV (GLint location, GLuint64 value);\nGLAPI void APIENTRY glUniformHandleui64vNV (GLint location, GLsizei count, const GLuint64 *value);\nGLAPI void APIENTRY glProgramUniformHandleui64NV (GLuint program, GLint location, GLuint64 value);\nGLAPI void APIENTRY glProgramUniformHandleui64vNV (GLuint program, GLint location, GLsizei count, const GLuint64 *values);\nGLAPI GLboolean APIENTRY glIsTextureHandleResidentNV (GLuint64 handle);\nGLAPI GLboolean APIENTRY glIsImageHandleResidentNV (GLuint64 handle);\n#endif\n#endif /* GL_NV_bindless_texture */\n\n#ifndef GL_NV_blend_equation_advanced\n#define GL_NV_blend_equation_advanced 1\n#define GL_BLEND_OVERLAP_NV               0x9281\n#define GL_BLEND_PREMULTIPLIED_SRC_NV     0x9280\n#define GL_BLUE_NV                        0x1905\n#define GL_COLORBURN_NV                   0x929A\n#define GL_COLORDODGE_NV                  0x9299\n#define GL_CONJOINT_NV                    0x9284\n#define GL_CONTRAST_NV                    0x92A1\n#define GL_DARKEN_NV                      0x9297\n#define GL_DIFFERENCE_NV                  0x929E\n#define GL_DISJOINT_NV                    0x9283\n#define GL_DST_ATOP_NV                    0x928F\n#define GL_DST_IN_NV                      0x928B\n#define GL_DST_NV                         0x9287\n#define GL_DST_OUT_NV                     0x928D\n#define GL_DST_OVER_NV                    0x9289\n#define GL_EXCLUSION_NV                   0x92A0\n#define GL_GREEN_NV                       0x1904\n#define GL_HARDLIGHT_NV                   0x929B\n#define GL_HARDMIX_NV                     0x92A9\n#define GL_HSL_COLOR_NV                   0x92AF\n#define GL_HSL_HUE_NV                     0x92AD\n#define GL_HSL_LUMINOSITY_NV              0x92B0\n#define GL_HSL_SATURATION_NV              0x92AE\n#define GL_INVERT_OVG_NV                  0x92B4\n#define GL_INVERT_RGB_NV                  0x92A3\n#define GL_LIGHTEN_NV                     0x9298\n#define GL_LINEARBURN_NV                  0x92A5\n#define GL_LINEARDODGE_NV                 0x92A4\n#define GL_LINEARLIGHT_NV                 0x92A7\n#define GL_MINUS_CLAMPED_NV               0x92B3\n#define GL_MINUS_NV                       0x929F\n#define GL_MULTIPLY_NV                    0x9294\n#define GL_OVERLAY_NV                     0x9296\n#define GL_PINLIGHT_NV                    0x92A8\n#define GL_PLUS_CLAMPED_ALPHA_NV          0x92B2\n#define GL_PLUS_CLAMPED_NV                0x92B1\n#define GL_PLUS_DARKER_NV                 0x9292\n#define GL_PLUS_NV                        0x9291\n#define GL_RED_NV                         0x1903\n#define GL_SCREEN_NV                      0x9295\n#define GL_SOFTLIGHT_NV                   0x929C\n#define GL_SRC_ATOP_NV                    0x928E\n#define GL_SRC_IN_NV                      0x928A\n#define GL_SRC_NV                         0x9286\n#define GL_SRC_OUT_NV                     0x928C\n#define GL_SRC_OVER_NV                    0x9288\n#define GL_UNCORRELATED_NV                0x9282\n#define GL_VIVIDLIGHT_NV                  0x92A6\n#define GL_XOR_NV                         0x1506\ntypedef void (APIENTRYP PFNGLBLENDPARAMETERINVPROC) (GLenum pname, GLint value);\ntypedef void (APIENTRYP PFNGLBLENDBARRIERNVPROC) (void);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glBlendParameteriNV (GLenum pname, GLint value);\nGLAPI void APIENTRY glBlendBarrierNV (void);\n#endif\n#endif /* GL_NV_blend_equation_advanced */\n\n#ifndef GL_NV_blend_equation_advanced_coherent\n#define GL_NV_blend_equation_advanced_coherent 1\n#define GL_BLEND_ADVANCED_COHERENT_NV     0x9285\n#endif /* GL_NV_blend_equation_advanced_coherent */\n\n#ifndef GL_NV_blend_square\n#define GL_NV_blend_square 1\n#endif /* GL_NV_blend_square */\n\n#ifndef GL_NV_compute_program5\n#define GL_NV_compute_program5 1\n#define GL_COMPUTE_PROGRAM_NV             0x90FB\n#define GL_COMPUTE_PROGRAM_PARAMETER_BUFFER_NV 0x90FC\n#endif /* GL_NV_compute_program5 */\n\n#ifndef GL_NV_conditional_render\n#define GL_NV_conditional_render 1\n#define GL_QUERY_WAIT_NV                  0x8E13\n#define GL_QUERY_NO_WAIT_NV               0x8E14\n#define GL_QUERY_BY_REGION_WAIT_NV        0x8E15\n#define GL_QUERY_BY_REGION_NO_WAIT_NV     0x8E16\ntypedef void (APIENTRYP PFNGLBEGINCONDITIONALRENDERNVPROC) (GLuint id, GLenum mode);\ntypedef void (APIENTRYP PFNGLENDCONDITIONALRENDERNVPROC) (void);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glBeginConditionalRenderNV (GLuint id, GLenum mode);\nGLAPI void APIENTRY glEndConditionalRenderNV (void);\n#endif\n#endif /* GL_NV_conditional_render */\n\n#ifndef GL_NV_copy_depth_to_color\n#define GL_NV_copy_depth_to_color 1\n#define GL_DEPTH_STENCIL_TO_RGBA_NV       0x886E\n#define GL_DEPTH_STENCIL_TO_BGRA_NV       0x886F\n#endif /* GL_NV_copy_depth_to_color */\n\n#ifndef GL_NV_copy_image\n#define GL_NV_copy_image 1\ntypedef void (APIENTRYP PFNGLCOPYIMAGESUBDATANVPROC) (GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glCopyImageSubDataNV (GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth);\n#endif\n#endif /* GL_NV_copy_image */\n\n#ifndef GL_NV_deep_texture3D\n#define GL_NV_deep_texture3D 1\n#define GL_MAX_DEEP_3D_TEXTURE_WIDTH_HEIGHT_NV 0x90D0\n#define GL_MAX_DEEP_3D_TEXTURE_DEPTH_NV   0x90D1\n#endif /* GL_NV_deep_texture3D */\n\n#ifndef GL_NV_depth_buffer_float\n#define GL_NV_depth_buffer_float 1\n#define GL_DEPTH_COMPONENT32F_NV          0x8DAB\n#define GL_DEPTH32F_STENCIL8_NV           0x8DAC\n#define GL_FLOAT_32_UNSIGNED_INT_24_8_REV_NV 0x8DAD\n#define GL_DEPTH_BUFFER_FLOAT_MODE_NV     0x8DAF\ntypedef void (APIENTRYP PFNGLDEPTHRANGEDNVPROC) (GLdouble zNear, GLdouble zFar);\ntypedef void (APIENTRYP PFNGLCLEARDEPTHDNVPROC) (GLdouble depth);\ntypedef void (APIENTRYP PFNGLDEPTHBOUNDSDNVPROC) (GLdouble zmin, GLdouble zmax);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glDepthRangedNV (GLdouble zNear, GLdouble zFar);\nGLAPI void APIENTRY glClearDepthdNV (GLdouble depth);\nGLAPI void APIENTRY glDepthBoundsdNV (GLdouble zmin, GLdouble zmax);\n#endif\n#endif /* GL_NV_depth_buffer_float */\n\n#ifndef GL_NV_depth_clamp\n#define GL_NV_depth_clamp 1\n#define GL_DEPTH_CLAMP_NV                 0x864F\n#endif /* GL_NV_depth_clamp */\n\n#ifndef GL_NV_draw_texture\n#define GL_NV_draw_texture 1\ntypedef void (APIENTRYP PFNGLDRAWTEXTURENVPROC) (GLuint texture, GLuint sampler, GLfloat x0, GLfloat y0, GLfloat x1, GLfloat y1, GLfloat z, GLfloat s0, GLfloat t0, GLfloat s1, GLfloat t1);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glDrawTextureNV (GLuint texture, GLuint sampler, GLfloat x0, GLfloat y0, GLfloat x1, GLfloat y1, GLfloat z, GLfloat s0, GLfloat t0, GLfloat s1, GLfloat t1);\n#endif\n#endif /* GL_NV_draw_texture */\n\n#ifndef GL_NV_evaluators\n#define GL_NV_evaluators 1\n#define GL_EVAL_2D_NV                     0x86C0\n#define GL_EVAL_TRIANGULAR_2D_NV          0x86C1\n#define GL_MAP_TESSELLATION_NV            0x86C2\n#define GL_MAP_ATTRIB_U_ORDER_NV          0x86C3\n#define GL_MAP_ATTRIB_V_ORDER_NV          0x86C4\n#define GL_EVAL_FRACTIONAL_TESSELLATION_NV 0x86C5\n#define GL_EVAL_VERTEX_ATTRIB0_NV         0x86C6\n#define GL_EVAL_VERTEX_ATTRIB1_NV         0x86C7\n#define GL_EVAL_VERTEX_ATTRIB2_NV         0x86C8\n#define GL_EVAL_VERTEX_ATTRIB3_NV         0x86C9\n#define GL_EVAL_VERTEX_ATTRIB4_NV         0x86CA\n#define GL_EVAL_VERTEX_ATTRIB5_NV         0x86CB\n#define GL_EVAL_VERTEX_ATTRIB6_NV         0x86CC\n#define GL_EVAL_VERTEX_ATTRIB7_NV         0x86CD\n#define GL_EVAL_VERTEX_ATTRIB8_NV         0x86CE\n#define GL_EVAL_VERTEX_ATTRIB9_NV         0x86CF\n#define GL_EVAL_VERTEX_ATTRIB10_NV        0x86D0\n#define GL_EVAL_VERTEX_ATTRIB11_NV        0x86D1\n#define GL_EVAL_VERTEX_ATTRIB12_NV        0x86D2\n#define GL_EVAL_VERTEX_ATTRIB13_NV        0x86D3\n#define GL_EVAL_VERTEX_ATTRIB14_NV        0x86D4\n#define GL_EVAL_VERTEX_ATTRIB15_NV        0x86D5\n#define GL_MAX_MAP_TESSELLATION_NV        0x86D6\n#define GL_MAX_RATIONAL_EVAL_ORDER_NV     0x86D7\ntypedef void (APIENTRYP PFNGLMAPCONTROLPOINTSNVPROC) (GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLint uorder, GLint vorder, GLboolean packed, const void *points);\ntypedef void (APIENTRYP PFNGLMAPPARAMETERIVNVPROC) (GLenum target, GLenum pname, const GLint *params);\ntypedef void (APIENTRYP PFNGLMAPPARAMETERFVNVPROC) (GLenum target, GLenum pname, const GLfloat *params);\ntypedef void (APIENTRYP PFNGLGETMAPCONTROLPOINTSNVPROC) (GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLboolean packed, void *points);\ntypedef void (APIENTRYP PFNGLGETMAPPARAMETERIVNVPROC) (GLenum target, GLenum pname, GLint *params);\ntypedef void (APIENTRYP PFNGLGETMAPPARAMETERFVNVPROC) (GLenum target, GLenum pname, GLfloat *params);\ntypedef void (APIENTRYP PFNGLGETMAPATTRIBPARAMETERIVNVPROC) (GLenum target, GLuint index, GLenum pname, GLint *params);\ntypedef void (APIENTRYP PFNGLGETMAPATTRIBPARAMETERFVNVPROC) (GLenum target, GLuint index, GLenum pname, GLfloat *params);\ntypedef void (APIENTRYP PFNGLEVALMAPSNVPROC) (GLenum target, GLenum mode);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glMapControlPointsNV (GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLint uorder, GLint vorder, GLboolean packed, const void *points);\nGLAPI void APIENTRY glMapParameterivNV (GLenum target, GLenum pname, const GLint *params);\nGLAPI void APIENTRY glMapParameterfvNV (GLenum target, GLenum pname, const GLfloat *params);\nGLAPI void APIENTRY glGetMapControlPointsNV (GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLboolean packed, void *points);\nGLAPI void APIENTRY glGetMapParameterivNV (GLenum target, GLenum pname, GLint *params);\nGLAPI void APIENTRY glGetMapParameterfvNV (GLenum target, GLenum pname, GLfloat *params);\nGLAPI void APIENTRY glGetMapAttribParameterivNV (GLenum target, GLuint index, GLenum pname, GLint *params);\nGLAPI void APIENTRY glGetMapAttribParameterfvNV (GLenum target, GLuint index, GLenum pname, GLfloat *params);\nGLAPI void APIENTRY glEvalMapsNV (GLenum target, GLenum mode);\n#endif\n#endif /* GL_NV_evaluators */\n\n#ifndef GL_NV_explicit_multisample\n#define GL_NV_explicit_multisample 1\n#define GL_SAMPLE_POSITION_NV             0x8E50\n#define GL_SAMPLE_MASK_NV                 0x8E51\n#define GL_SAMPLE_MASK_VALUE_NV           0x8E52\n#define GL_TEXTURE_BINDING_RENDERBUFFER_NV 0x8E53\n#define GL_TEXTURE_RENDERBUFFER_DATA_STORE_BINDING_NV 0x8E54\n#define GL_TEXTURE_RENDERBUFFER_NV        0x8E55\n#define GL_SAMPLER_RENDERBUFFER_NV        0x8E56\n#define GL_INT_SAMPLER_RENDERBUFFER_NV    0x8E57\n#define GL_UNSIGNED_INT_SAMPLER_RENDERBUFFER_NV 0x8E58\n#define GL_MAX_SAMPLE_MASK_WORDS_NV       0x8E59\ntypedef void (APIENTRYP PFNGLGETMULTISAMPLEFVNVPROC) (GLenum pname, GLuint index, GLfloat *val);\ntypedef void (APIENTRYP PFNGLSAMPLEMASKINDEXEDNVPROC) (GLuint index, GLbitfield mask);\ntypedef void (APIENTRYP PFNGLTEXRENDERBUFFERNVPROC) (GLenum target, GLuint renderbuffer);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glGetMultisamplefvNV (GLenum pname, GLuint index, GLfloat *val);\nGLAPI void APIENTRY glSampleMaskIndexedNV (GLuint index, GLbitfield mask);\nGLAPI void APIENTRY glTexRenderbufferNV (GLenum target, GLuint renderbuffer);\n#endif\n#endif /* GL_NV_explicit_multisample */\n\n#ifndef GL_NV_fence\n#define GL_NV_fence 1\n#define GL_ALL_COMPLETED_NV               0x84F2\n#define GL_FENCE_STATUS_NV                0x84F3\n#define GL_FENCE_CONDITION_NV             0x84F4\ntypedef void (APIENTRYP PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint *fences);\ntypedef void (APIENTRYP PFNGLGENFENCESNVPROC) (GLsizei n, GLuint *fences);\ntypedef GLboolean (APIENTRYP PFNGLISFENCENVPROC) (GLuint fence);\ntypedef GLboolean (APIENTRYP PFNGLTESTFENCENVPROC) (GLuint fence);\ntypedef void (APIENTRYP PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint *params);\ntypedef void (APIENTRYP PFNGLFINISHFENCENVPROC) (GLuint fence);\ntypedef void (APIENTRYP PFNGLSETFENCENVPROC) (GLuint fence, GLenum condition);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glDeleteFencesNV (GLsizei n, const GLuint *fences);\nGLAPI void APIENTRY glGenFencesNV (GLsizei n, GLuint *fences);\nGLAPI GLboolean APIENTRY glIsFenceNV (GLuint fence);\nGLAPI GLboolean APIENTRY glTestFenceNV (GLuint fence);\nGLAPI void APIENTRY glGetFenceivNV (GLuint fence, GLenum pname, GLint *params);\nGLAPI void APIENTRY glFinishFenceNV (GLuint fence);\nGLAPI void APIENTRY glSetFenceNV (GLuint fence, GLenum condition);\n#endif\n#endif /* GL_NV_fence */\n\n#ifndef GL_NV_float_buffer\n#define GL_NV_float_buffer 1\n#define GL_FLOAT_R_NV                     0x8880\n#define GL_FLOAT_RG_NV                    0x8881\n#define GL_FLOAT_RGB_NV                   0x8882\n#define GL_FLOAT_RGBA_NV                  0x8883\n#define GL_FLOAT_R16_NV                   0x8884\n#define GL_FLOAT_R32_NV                   0x8885\n#define GL_FLOAT_RG16_NV                  0x8886\n#define GL_FLOAT_RG32_NV                  0x8887\n#define GL_FLOAT_RGB16_NV                 0x8888\n#define GL_FLOAT_RGB32_NV                 0x8889\n#define GL_FLOAT_RGBA16_NV                0x888A\n#define GL_FLOAT_RGBA32_NV                0x888B\n#define GL_TEXTURE_FLOAT_COMPONENTS_NV    0x888C\n#define GL_FLOAT_CLEAR_COLOR_VALUE_NV     0x888D\n#define GL_FLOAT_RGBA_MODE_NV             0x888E\n#endif /* GL_NV_float_buffer */\n\n#ifndef GL_NV_fog_distance\n#define GL_NV_fog_distance 1\n#define GL_FOG_DISTANCE_MODE_NV           0x855A\n#define GL_EYE_RADIAL_NV                  0x855B\n#define GL_EYE_PLANE_ABSOLUTE_NV          0x855C\n#endif /* GL_NV_fog_distance */\n\n#ifndef GL_NV_fragment_program\n#define GL_NV_fragment_program 1\n#define GL_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV 0x8868\n#define GL_FRAGMENT_PROGRAM_NV            0x8870\n#define GL_MAX_TEXTURE_COORDS_NV          0x8871\n#define GL_MAX_TEXTURE_IMAGE_UNITS_NV     0x8872\n#define GL_FRAGMENT_PROGRAM_BINDING_NV    0x8873\n#define GL_PROGRAM_ERROR_STRING_NV        0x8874\ntypedef void (APIENTRYP PFNGLPROGRAMNAMEDPARAMETER4FNVPROC) (GLuint id, GLsizei len, const GLubyte *name, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\ntypedef void (APIENTRYP PFNGLPROGRAMNAMEDPARAMETER4FVNVPROC) (GLuint id, GLsizei len, const GLubyte *name, const GLfloat *v);\ntypedef void (APIENTRYP PFNGLPROGRAMNAMEDPARAMETER4DNVPROC) (GLuint id, GLsizei len, const GLubyte *name, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\ntypedef void (APIENTRYP PFNGLPROGRAMNAMEDPARAMETER4DVNVPROC) (GLuint id, GLsizei len, const GLubyte *name, const GLdouble *v);\ntypedef void (APIENTRYP PFNGLGETPROGRAMNAMEDPARAMETERFVNVPROC) (GLuint id, GLsizei len, const GLubyte *name, GLfloat *params);\ntypedef void (APIENTRYP PFNGLGETPROGRAMNAMEDPARAMETERDVNVPROC) (GLuint id, GLsizei len, const GLubyte *name, GLdouble *params);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glProgramNamedParameter4fNV (GLuint id, GLsizei len, const GLubyte *name, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nGLAPI void APIENTRY glProgramNamedParameter4fvNV (GLuint id, GLsizei len, const GLubyte *name, const GLfloat *v);\nGLAPI void APIENTRY glProgramNamedParameter4dNV (GLuint id, GLsizei len, const GLubyte *name, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nGLAPI void APIENTRY glProgramNamedParameter4dvNV (GLuint id, GLsizei len, const GLubyte *name, const GLdouble *v);\nGLAPI void APIENTRY glGetProgramNamedParameterfvNV (GLuint id, GLsizei len, const GLubyte *name, GLfloat *params);\nGLAPI void APIENTRY glGetProgramNamedParameterdvNV (GLuint id, GLsizei len, const GLubyte *name, GLdouble *params);\n#endif\n#endif /* GL_NV_fragment_program */\n\n#ifndef GL_NV_fragment_program2\n#define GL_NV_fragment_program2 1\n#define GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV 0x88F4\n#define GL_MAX_PROGRAM_CALL_DEPTH_NV      0x88F5\n#define GL_MAX_PROGRAM_IF_DEPTH_NV        0x88F6\n#define GL_MAX_PROGRAM_LOOP_DEPTH_NV      0x88F7\n#define GL_MAX_PROGRAM_LOOP_COUNT_NV      0x88F8\n#endif /* GL_NV_fragment_program2 */\n\n#ifndef GL_NV_fragment_program4\n#define GL_NV_fragment_program4 1\n#endif /* GL_NV_fragment_program4 */\n\n#ifndef GL_NV_fragment_program_option\n#define GL_NV_fragment_program_option 1\n#endif /* GL_NV_fragment_program_option */\n\n#ifndef GL_NV_framebuffer_multisample_coverage\n#define GL_NV_framebuffer_multisample_coverage 1\n#define GL_RENDERBUFFER_COVERAGE_SAMPLES_NV 0x8CAB\n#define GL_RENDERBUFFER_COLOR_SAMPLES_NV  0x8E10\n#define GL_MAX_MULTISAMPLE_COVERAGE_MODES_NV 0x8E11\n#define GL_MULTISAMPLE_COVERAGE_MODES_NV  0x8E12\ntypedef void (APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLECOVERAGENVPROC) (GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glRenderbufferStorageMultisampleCoverageNV (GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height);\n#endif\n#endif /* GL_NV_framebuffer_multisample_coverage */\n\n#ifndef GL_NV_geometry_program4\n#define GL_NV_geometry_program4 1\n#define GL_GEOMETRY_PROGRAM_NV            0x8C26\n#define GL_MAX_PROGRAM_OUTPUT_VERTICES_NV 0x8C27\n#define GL_MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS_NV 0x8C28\ntypedef void (APIENTRYP PFNGLPROGRAMVERTEXLIMITNVPROC) (GLenum target, GLint limit);\ntypedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTUREEXTPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level);\ntypedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);\ntypedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTUREFACEEXTPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glProgramVertexLimitNV (GLenum target, GLint limit);\nGLAPI void APIENTRY glFramebufferTextureEXT (GLenum target, GLenum attachment, GLuint texture, GLint level);\nGLAPI void APIENTRY glFramebufferTextureLayerEXT (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);\nGLAPI void APIENTRY glFramebufferTextureFaceEXT (GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face);\n#endif\n#endif /* GL_NV_geometry_program4 */\n\n#ifndef GL_NV_geometry_shader4\n#define GL_NV_geometry_shader4 1\n#endif /* GL_NV_geometry_shader4 */\n\n#ifndef GL_NV_gpu_program4\n#define GL_NV_gpu_program4 1\n#define GL_MIN_PROGRAM_TEXEL_OFFSET_NV    0x8904\n#define GL_MAX_PROGRAM_TEXEL_OFFSET_NV    0x8905\n#define GL_PROGRAM_ATTRIB_COMPONENTS_NV   0x8906\n#define GL_PROGRAM_RESULT_COMPONENTS_NV   0x8907\n#define GL_MAX_PROGRAM_ATTRIB_COMPONENTS_NV 0x8908\n#define GL_MAX_PROGRAM_RESULT_COMPONENTS_NV 0x8909\n#define GL_MAX_PROGRAM_GENERIC_ATTRIBS_NV 0x8DA5\n#define GL_MAX_PROGRAM_GENERIC_RESULTS_NV 0x8DA6\ntypedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETERI4INVPROC) (GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w);\ntypedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETERI4IVNVPROC) (GLenum target, GLuint index, const GLint *params);\ntypedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETERSI4IVNVPROC) (GLenum target, GLuint index, GLsizei count, const GLint *params);\ntypedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETERI4UINVPROC) (GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);\ntypedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETERI4UIVNVPROC) (GLenum target, GLuint index, const GLuint *params);\ntypedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETERSI4UIVNVPROC) (GLenum target, GLuint index, GLsizei count, const GLuint *params);\ntypedef void (APIENTRYP PFNGLPROGRAMENVPARAMETERI4INVPROC) (GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w);\ntypedef void (APIENTRYP PFNGLPROGRAMENVPARAMETERI4IVNVPROC) (GLenum target, GLuint index, const GLint *params);\ntypedef void (APIENTRYP PFNGLPROGRAMENVPARAMETERSI4IVNVPROC) (GLenum target, GLuint index, GLsizei count, const GLint *params);\ntypedef void (APIENTRYP PFNGLPROGRAMENVPARAMETERI4UINVPROC) (GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);\ntypedef void (APIENTRYP PFNGLPROGRAMENVPARAMETERI4UIVNVPROC) (GLenum target, GLuint index, const GLuint *params);\ntypedef void (APIENTRYP PFNGLPROGRAMENVPARAMETERSI4UIVNVPROC) (GLenum target, GLuint index, GLsizei count, const GLuint *params);\ntypedef void (APIENTRYP PFNGLGETPROGRAMLOCALPARAMETERIIVNVPROC) (GLenum target, GLuint index, GLint *params);\ntypedef void (APIENTRYP PFNGLGETPROGRAMLOCALPARAMETERIUIVNVPROC) (GLenum target, GLuint index, GLuint *params);\ntypedef void (APIENTRYP PFNGLGETPROGRAMENVPARAMETERIIVNVPROC) (GLenum target, GLuint index, GLint *params);\ntypedef void (APIENTRYP PFNGLGETPROGRAMENVPARAMETERIUIVNVPROC) (GLenum target, GLuint index, GLuint *params);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glProgramLocalParameterI4iNV (GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w);\nGLAPI void APIENTRY glProgramLocalParameterI4ivNV (GLenum target, GLuint index, const GLint *params);\nGLAPI void APIENTRY glProgramLocalParametersI4ivNV (GLenum target, GLuint index, GLsizei count, const GLint *params);\nGLAPI void APIENTRY glProgramLocalParameterI4uiNV (GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);\nGLAPI void APIENTRY glProgramLocalParameterI4uivNV (GLenum target, GLuint index, const GLuint *params);\nGLAPI void APIENTRY glProgramLocalParametersI4uivNV (GLenum target, GLuint index, GLsizei count, const GLuint *params);\nGLAPI void APIENTRY glProgramEnvParameterI4iNV (GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w);\nGLAPI void APIENTRY glProgramEnvParameterI4ivNV (GLenum target, GLuint index, const GLint *params);\nGLAPI void APIENTRY glProgramEnvParametersI4ivNV (GLenum target, GLuint index, GLsizei count, const GLint *params);\nGLAPI void APIENTRY glProgramEnvParameterI4uiNV (GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);\nGLAPI void APIENTRY glProgramEnvParameterI4uivNV (GLenum target, GLuint index, const GLuint *params);\nGLAPI void APIENTRY glProgramEnvParametersI4uivNV (GLenum target, GLuint index, GLsizei count, const GLuint *params);\nGLAPI void APIENTRY glGetProgramLocalParameterIivNV (GLenum target, GLuint index, GLint *params);\nGLAPI void APIENTRY glGetProgramLocalParameterIuivNV (GLenum target, GLuint index, GLuint *params);\nGLAPI void APIENTRY glGetProgramEnvParameterIivNV (GLenum target, GLuint index, GLint *params);\nGLAPI void APIENTRY glGetProgramEnvParameterIuivNV (GLenum target, GLuint index, GLuint *params);\n#endif\n#endif /* GL_NV_gpu_program4 */\n\n#ifndef GL_NV_gpu_program5\n#define GL_NV_gpu_program5 1\n#define GL_MAX_GEOMETRY_PROGRAM_INVOCATIONS_NV 0x8E5A\n#define GL_MIN_FRAGMENT_INTERPOLATION_OFFSET_NV 0x8E5B\n#define GL_MAX_FRAGMENT_INTERPOLATION_OFFSET_NV 0x8E5C\n#define GL_FRAGMENT_PROGRAM_INTERPOLATION_OFFSET_BITS_NV 0x8E5D\n#define GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_NV 0x8E5E\n#define GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_NV 0x8E5F\n#define GL_MAX_PROGRAM_SUBROUTINE_PARAMETERS_NV 0x8F44\n#define GL_MAX_PROGRAM_SUBROUTINE_NUM_NV  0x8F45\ntypedef void (APIENTRYP PFNGLPROGRAMSUBROUTINEPARAMETERSUIVNVPROC) (GLenum target, GLsizei count, const GLuint *params);\ntypedef void (APIENTRYP PFNGLGETPROGRAMSUBROUTINEPARAMETERUIVNVPROC) (GLenum target, GLuint index, GLuint *param);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glProgramSubroutineParametersuivNV (GLenum target, GLsizei count, const GLuint *params);\nGLAPI void APIENTRY glGetProgramSubroutineParameteruivNV (GLenum target, GLuint index, GLuint *param);\n#endif\n#endif /* GL_NV_gpu_program5 */\n\n#ifndef GL_NV_gpu_program5_mem_extended\n#define GL_NV_gpu_program5_mem_extended 1\n#endif /* GL_NV_gpu_program5_mem_extended */\n\n#ifndef GL_NV_gpu_shader5\n#define GL_NV_gpu_shader5 1\n#endif /* GL_NV_gpu_shader5 */\n\n#ifndef GL_NV_half_float\n#define GL_NV_half_float 1\ntypedef unsigned short GLhalfNV;\n#define GL_HALF_FLOAT_NV                  0x140B\ntypedef void (APIENTRYP PFNGLVERTEX2HNVPROC) (GLhalfNV x, GLhalfNV y);\ntypedef void (APIENTRYP PFNGLVERTEX2HVNVPROC) (const GLhalfNV *v);\ntypedef void (APIENTRYP PFNGLVERTEX3HNVPROC) (GLhalfNV x, GLhalfNV y, GLhalfNV z);\ntypedef void (APIENTRYP PFNGLVERTEX3HVNVPROC) (const GLhalfNV *v);\ntypedef void (APIENTRYP PFNGLVERTEX4HNVPROC) (GLhalfNV x, GLhalfNV y, GLhalfNV z, GLhalfNV w);\ntypedef void (APIENTRYP PFNGLVERTEX4HVNVPROC) (const GLhalfNV *v);\ntypedef void (APIENTRYP PFNGLNORMAL3HNVPROC) (GLhalfNV nx, GLhalfNV ny, GLhalfNV nz);\ntypedef void (APIENTRYP PFNGLNORMAL3HVNVPROC) (const GLhalfNV *v);\ntypedef void (APIENTRYP PFNGLCOLOR3HNVPROC) (GLhalfNV red, GLhalfNV green, GLhalfNV blue);\ntypedef void (APIENTRYP PFNGLCOLOR3HVNVPROC) (const GLhalfNV *v);\ntypedef void (APIENTRYP PFNGLCOLOR4HNVPROC) (GLhalfNV red, GLhalfNV green, GLhalfNV blue, GLhalfNV alpha);\ntypedef void (APIENTRYP PFNGLCOLOR4HVNVPROC) (const GLhalfNV *v);\ntypedef void (APIENTRYP PFNGLTEXCOORD1HNVPROC) (GLhalfNV s);\ntypedef void (APIENTRYP PFNGLTEXCOORD1HVNVPROC) (const GLhalfNV *v);\ntypedef void (APIENTRYP PFNGLTEXCOORD2HNVPROC) (GLhalfNV s, GLhalfNV t);\ntypedef void (APIENTRYP PFNGLTEXCOORD2HVNVPROC) (const GLhalfNV *v);\ntypedef void (APIENTRYP PFNGLTEXCOORD3HNVPROC) (GLhalfNV s, GLhalfNV t, GLhalfNV r);\ntypedef void (APIENTRYP PFNGLTEXCOORD3HVNVPROC) (const GLhalfNV *v);\ntypedef void (APIENTRYP PFNGLTEXCOORD4HNVPROC) (GLhalfNV s, GLhalfNV t, GLhalfNV r, GLhalfNV q);\ntypedef void (APIENTRYP PFNGLTEXCOORD4HVNVPROC) (const GLhalfNV *v);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD1HNVPROC) (GLenum target, GLhalfNV s);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD1HVNVPROC) (GLenum target, const GLhalfNV *v);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD2HNVPROC) (GLenum target, GLhalfNV s, GLhalfNV t);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD2HVNVPROC) (GLenum target, const GLhalfNV *v);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD3HNVPROC) (GLenum target, GLhalfNV s, GLhalfNV t, GLhalfNV r);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD3HVNVPROC) (GLenum target, const GLhalfNV *v);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD4HNVPROC) (GLenum target, GLhalfNV s, GLhalfNV t, GLhalfNV r, GLhalfNV q);\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD4HVNVPROC) (GLenum target, const GLhalfNV *v);\ntypedef void (APIENTRYP PFNGLFOGCOORDHNVPROC) (GLhalfNV fog);\ntypedef void (APIENTRYP PFNGLFOGCOORDHVNVPROC) (const GLhalfNV *fog);\ntypedef void (APIENTRYP PFNGLSECONDARYCOLOR3HNVPROC) (GLhalfNV red, GLhalfNV green, GLhalfNV blue);\ntypedef void (APIENTRYP PFNGLSECONDARYCOLOR3HVNVPROC) (const GLhalfNV *v);\ntypedef void (APIENTRYP PFNGLVERTEXWEIGHTHNVPROC) (GLhalfNV weight);\ntypedef void (APIENTRYP PFNGLVERTEXWEIGHTHVNVPROC) (const GLhalfNV *weight);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB1HNVPROC) (GLuint index, GLhalfNV x);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB1HVNVPROC) (GLuint index, const GLhalfNV *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB2HNVPROC) (GLuint index, GLhalfNV x, GLhalfNV y);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB2HVNVPROC) (GLuint index, const GLhalfNV *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB3HNVPROC) (GLuint index, GLhalfNV x, GLhalfNV y, GLhalfNV z);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB3HVNVPROC) (GLuint index, const GLhalfNV *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4HNVPROC) (GLuint index, GLhalfNV x, GLhalfNV y, GLhalfNV z, GLhalfNV w);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4HVNVPROC) (GLuint index, const GLhalfNV *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBS1HVNVPROC) (GLuint index, GLsizei n, const GLhalfNV *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBS2HVNVPROC) (GLuint index, GLsizei n, const GLhalfNV *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBS3HVNVPROC) (GLuint index, GLsizei n, const GLhalfNV *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBS4HVNVPROC) (GLuint index, GLsizei n, const GLhalfNV *v);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glVertex2hNV (GLhalfNV x, GLhalfNV y);\nGLAPI void APIENTRY glVertex2hvNV (const GLhalfNV *v);\nGLAPI void APIENTRY glVertex3hNV (GLhalfNV x, GLhalfNV y, GLhalfNV z);\nGLAPI void APIENTRY glVertex3hvNV (const GLhalfNV *v);\nGLAPI void APIENTRY glVertex4hNV (GLhalfNV x, GLhalfNV y, GLhalfNV z, GLhalfNV w);\nGLAPI void APIENTRY glVertex4hvNV (const GLhalfNV *v);\nGLAPI void APIENTRY glNormal3hNV (GLhalfNV nx, GLhalfNV ny, GLhalfNV nz);\nGLAPI void APIENTRY glNormal3hvNV (const GLhalfNV *v);\nGLAPI void APIENTRY glColor3hNV (GLhalfNV red, GLhalfNV green, GLhalfNV blue);\nGLAPI void APIENTRY glColor3hvNV (const GLhalfNV *v);\nGLAPI void APIENTRY glColor4hNV (GLhalfNV red, GLhalfNV green, GLhalfNV blue, GLhalfNV alpha);\nGLAPI void APIENTRY glColor4hvNV (const GLhalfNV *v);\nGLAPI void APIENTRY glTexCoord1hNV (GLhalfNV s);\nGLAPI void APIENTRY glTexCoord1hvNV (const GLhalfNV *v);\nGLAPI void APIENTRY glTexCoord2hNV (GLhalfNV s, GLhalfNV t);\nGLAPI void APIENTRY glTexCoord2hvNV (const GLhalfNV *v);\nGLAPI void APIENTRY glTexCoord3hNV (GLhalfNV s, GLhalfNV t, GLhalfNV r);\nGLAPI void APIENTRY glTexCoord3hvNV (const GLhalfNV *v);\nGLAPI void APIENTRY glTexCoord4hNV (GLhalfNV s, GLhalfNV t, GLhalfNV r, GLhalfNV q);\nGLAPI void APIENTRY glTexCoord4hvNV (const GLhalfNV *v);\nGLAPI void APIENTRY glMultiTexCoord1hNV (GLenum target, GLhalfNV s);\nGLAPI void APIENTRY glMultiTexCoord1hvNV (GLenum target, const GLhalfNV *v);\nGLAPI void APIENTRY glMultiTexCoord2hNV (GLenum target, GLhalfNV s, GLhalfNV t);\nGLAPI void APIENTRY glMultiTexCoord2hvNV (GLenum target, const GLhalfNV *v);\nGLAPI void APIENTRY glMultiTexCoord3hNV (GLenum target, GLhalfNV s, GLhalfNV t, GLhalfNV r);\nGLAPI void APIENTRY glMultiTexCoord3hvNV (GLenum target, const GLhalfNV *v);\nGLAPI void APIENTRY glMultiTexCoord4hNV (GLenum target, GLhalfNV s, GLhalfNV t, GLhalfNV r, GLhalfNV q);\nGLAPI void APIENTRY glMultiTexCoord4hvNV (GLenum target, const GLhalfNV *v);\nGLAPI void APIENTRY glFogCoordhNV (GLhalfNV fog);\nGLAPI void APIENTRY glFogCoordhvNV (const GLhalfNV *fog);\nGLAPI void APIENTRY glSecondaryColor3hNV (GLhalfNV red, GLhalfNV green, GLhalfNV blue);\nGLAPI void APIENTRY glSecondaryColor3hvNV (const GLhalfNV *v);\nGLAPI void APIENTRY glVertexWeighthNV (GLhalfNV weight);\nGLAPI void APIENTRY glVertexWeighthvNV (const GLhalfNV *weight);\nGLAPI void APIENTRY glVertexAttrib1hNV (GLuint index, GLhalfNV x);\nGLAPI void APIENTRY glVertexAttrib1hvNV (GLuint index, const GLhalfNV *v);\nGLAPI void APIENTRY glVertexAttrib2hNV (GLuint index, GLhalfNV x, GLhalfNV y);\nGLAPI void APIENTRY glVertexAttrib2hvNV (GLuint index, const GLhalfNV *v);\nGLAPI void APIENTRY glVertexAttrib3hNV (GLuint index, GLhalfNV x, GLhalfNV y, GLhalfNV z);\nGLAPI void APIENTRY glVertexAttrib3hvNV (GLuint index, const GLhalfNV *v);\nGLAPI void APIENTRY glVertexAttrib4hNV (GLuint index, GLhalfNV x, GLhalfNV y, GLhalfNV z, GLhalfNV w);\nGLAPI void APIENTRY glVertexAttrib4hvNV (GLuint index, const GLhalfNV *v);\nGLAPI void APIENTRY glVertexAttribs1hvNV (GLuint index, GLsizei n, const GLhalfNV *v);\nGLAPI void APIENTRY glVertexAttribs2hvNV (GLuint index, GLsizei n, const GLhalfNV *v);\nGLAPI void APIENTRY glVertexAttribs3hvNV (GLuint index, GLsizei n, const GLhalfNV *v);\nGLAPI void APIENTRY glVertexAttribs4hvNV (GLuint index, GLsizei n, const GLhalfNV *v);\n#endif\n#endif /* GL_NV_half_float */\n\n#ifndef GL_NV_light_max_exponent\n#define GL_NV_light_max_exponent 1\n#define GL_MAX_SHININESS_NV               0x8504\n#define GL_MAX_SPOT_EXPONENT_NV           0x8505\n#endif /* GL_NV_light_max_exponent */\n\n#ifndef GL_NV_multisample_coverage\n#define GL_NV_multisample_coverage 1\n#define GL_COLOR_SAMPLES_NV               0x8E20\n#endif /* GL_NV_multisample_coverage */\n\n#ifndef GL_NV_multisample_filter_hint\n#define GL_NV_multisample_filter_hint 1\n#define GL_MULTISAMPLE_FILTER_HINT_NV     0x8534\n#endif /* GL_NV_multisample_filter_hint */\n\n#ifndef GL_NV_occlusion_query\n#define GL_NV_occlusion_query 1\n#define GL_PIXEL_COUNTER_BITS_NV          0x8864\n#define GL_CURRENT_OCCLUSION_QUERY_ID_NV  0x8865\n#define GL_PIXEL_COUNT_NV                 0x8866\n#define GL_PIXEL_COUNT_AVAILABLE_NV       0x8867\ntypedef void (APIENTRYP PFNGLGENOCCLUSIONQUERIESNVPROC) (GLsizei n, GLuint *ids);\ntypedef void (APIENTRYP PFNGLDELETEOCCLUSIONQUERIESNVPROC) (GLsizei n, const GLuint *ids);\ntypedef GLboolean (APIENTRYP PFNGLISOCCLUSIONQUERYNVPROC) (GLuint id);\ntypedef void (APIENTRYP PFNGLBEGINOCCLUSIONQUERYNVPROC) (GLuint id);\ntypedef void (APIENTRYP PFNGLENDOCCLUSIONQUERYNVPROC) (void);\ntypedef void (APIENTRYP PFNGLGETOCCLUSIONQUERYIVNVPROC) (GLuint id, GLenum pname, GLint *params);\ntypedef void (APIENTRYP PFNGLGETOCCLUSIONQUERYUIVNVPROC) (GLuint id, GLenum pname, GLuint *params);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glGenOcclusionQueriesNV (GLsizei n, GLuint *ids);\nGLAPI void APIENTRY glDeleteOcclusionQueriesNV (GLsizei n, const GLuint *ids);\nGLAPI GLboolean APIENTRY glIsOcclusionQueryNV (GLuint id);\nGLAPI void APIENTRY glBeginOcclusionQueryNV (GLuint id);\nGLAPI void APIENTRY glEndOcclusionQueryNV (void);\nGLAPI void APIENTRY glGetOcclusionQueryivNV (GLuint id, GLenum pname, GLint *params);\nGLAPI void APIENTRY glGetOcclusionQueryuivNV (GLuint id, GLenum pname, GLuint *params);\n#endif\n#endif /* GL_NV_occlusion_query */\n\n#ifndef GL_NV_packed_depth_stencil\n#define GL_NV_packed_depth_stencil 1\n#define GL_DEPTH_STENCIL_NV               0x84F9\n#define GL_UNSIGNED_INT_24_8_NV           0x84FA\n#endif /* GL_NV_packed_depth_stencil */\n\n#ifndef GL_NV_parameter_buffer_object\n#define GL_NV_parameter_buffer_object 1\n#define GL_MAX_PROGRAM_PARAMETER_BUFFER_BINDINGS_NV 0x8DA0\n#define GL_MAX_PROGRAM_PARAMETER_BUFFER_SIZE_NV 0x8DA1\n#define GL_VERTEX_PROGRAM_PARAMETER_BUFFER_NV 0x8DA2\n#define GL_GEOMETRY_PROGRAM_PARAMETER_BUFFER_NV 0x8DA3\n#define GL_FRAGMENT_PROGRAM_PARAMETER_BUFFER_NV 0x8DA4\ntypedef void (APIENTRYP PFNGLPROGRAMBUFFERPARAMETERSFVNVPROC) (GLenum target, GLuint bindingIndex, GLuint wordIndex, GLsizei count, const GLfloat *params);\ntypedef void (APIENTRYP PFNGLPROGRAMBUFFERPARAMETERSIIVNVPROC) (GLenum target, GLuint bindingIndex, GLuint wordIndex, GLsizei count, const GLint *params);\ntypedef void (APIENTRYP PFNGLPROGRAMBUFFERPARAMETERSIUIVNVPROC) (GLenum target, GLuint bindingIndex, GLuint wordIndex, GLsizei count, const GLuint *params);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glProgramBufferParametersfvNV (GLenum target, GLuint bindingIndex, GLuint wordIndex, GLsizei count, const GLfloat *params);\nGLAPI void APIENTRY glProgramBufferParametersIivNV (GLenum target, GLuint bindingIndex, GLuint wordIndex, GLsizei count, const GLint *params);\nGLAPI void APIENTRY glProgramBufferParametersIuivNV (GLenum target, GLuint bindingIndex, GLuint wordIndex, GLsizei count, const GLuint *params);\n#endif\n#endif /* GL_NV_parameter_buffer_object */\n\n#ifndef GL_NV_parameter_buffer_object2\n#define GL_NV_parameter_buffer_object2 1\n#endif /* GL_NV_parameter_buffer_object2 */\n\n#ifndef GL_NV_path_rendering\n#define GL_NV_path_rendering 1\n#define GL_PATH_FORMAT_SVG_NV             0x9070\n#define GL_PATH_FORMAT_PS_NV              0x9071\n#define GL_STANDARD_FONT_NAME_NV          0x9072\n#define GL_SYSTEM_FONT_NAME_NV            0x9073\n#define GL_FILE_NAME_NV                   0x9074\n#define GL_PATH_STROKE_WIDTH_NV           0x9075\n#define GL_PATH_END_CAPS_NV               0x9076\n#define GL_PATH_INITIAL_END_CAP_NV        0x9077\n#define GL_PATH_TERMINAL_END_CAP_NV       0x9078\n#define GL_PATH_JOIN_STYLE_NV             0x9079\n#define GL_PATH_MITER_LIMIT_NV            0x907A\n#define GL_PATH_DASH_CAPS_NV              0x907B\n#define GL_PATH_INITIAL_DASH_CAP_NV       0x907C\n#define GL_PATH_TERMINAL_DASH_CAP_NV      0x907D\n#define GL_PATH_DASH_OFFSET_NV            0x907E\n#define GL_PATH_CLIENT_LENGTH_NV          0x907F\n#define GL_PATH_FILL_MODE_NV              0x9080\n#define GL_PATH_FILL_MASK_NV              0x9081\n#define GL_PATH_FILL_COVER_MODE_NV        0x9082\n#define GL_PATH_STROKE_COVER_MODE_NV      0x9083\n#define GL_PATH_STROKE_MASK_NV            0x9084\n#define GL_COUNT_UP_NV                    0x9088\n#define GL_COUNT_DOWN_NV                  0x9089\n#define GL_PATH_OBJECT_BOUNDING_BOX_NV    0x908A\n#define GL_CONVEX_HULL_NV                 0x908B\n#define GL_BOUNDING_BOX_NV                0x908D\n#define GL_TRANSLATE_X_NV                 0x908E\n#define GL_TRANSLATE_Y_NV                 0x908F\n#define GL_TRANSLATE_2D_NV                0x9090\n#define GL_TRANSLATE_3D_NV                0x9091\n#define GL_AFFINE_2D_NV                   0x9092\n#define GL_AFFINE_3D_NV                   0x9094\n#define GL_TRANSPOSE_AFFINE_2D_NV         0x9096\n#define GL_TRANSPOSE_AFFINE_3D_NV         0x9098\n#define GL_UTF8_NV                        0x909A\n#define GL_UTF16_NV                       0x909B\n#define GL_BOUNDING_BOX_OF_BOUNDING_BOXES_NV 0x909C\n#define GL_PATH_COMMAND_COUNT_NV          0x909D\n#define GL_PATH_COORD_COUNT_NV            0x909E\n#define GL_PATH_DASH_ARRAY_COUNT_NV       0x909F\n#define GL_PATH_COMPUTED_LENGTH_NV        0x90A0\n#define GL_PATH_FILL_BOUNDING_BOX_NV      0x90A1\n#define GL_PATH_STROKE_BOUNDING_BOX_NV    0x90A2\n#define GL_SQUARE_NV                      0x90A3\n#define GL_ROUND_NV                       0x90A4\n#define GL_TRIANGULAR_NV                  0x90A5\n#define GL_BEVEL_NV                       0x90A6\n#define GL_MITER_REVERT_NV                0x90A7\n#define GL_MITER_TRUNCATE_NV              0x90A8\n#define GL_SKIP_MISSING_GLYPH_NV          0x90A9\n#define GL_USE_MISSING_GLYPH_NV           0x90AA\n#define GL_PATH_ERROR_POSITION_NV         0x90AB\n#define GL_PATH_FOG_GEN_MODE_NV           0x90AC\n#define GL_ACCUM_ADJACENT_PAIRS_NV        0x90AD\n#define GL_ADJACENT_PAIRS_NV              0x90AE\n#define GL_FIRST_TO_REST_NV               0x90AF\n#define GL_PATH_GEN_MODE_NV               0x90B0\n#define GL_PATH_GEN_COEFF_NV              0x90B1\n#define GL_PATH_GEN_COLOR_FORMAT_NV       0x90B2\n#define GL_PATH_GEN_COMPONENTS_NV         0x90B3\n#define GL_PATH_STENCIL_FUNC_NV           0x90B7\n#define GL_PATH_STENCIL_REF_NV            0x90B8\n#define GL_PATH_STENCIL_VALUE_MASK_NV     0x90B9\n#define GL_PATH_STENCIL_DEPTH_OFFSET_FACTOR_NV 0x90BD\n#define GL_PATH_STENCIL_DEPTH_OFFSET_UNITS_NV 0x90BE\n#define GL_PATH_COVER_DEPTH_FUNC_NV       0x90BF\n#define GL_PATH_DASH_OFFSET_RESET_NV      0x90B4\n#define GL_MOVE_TO_RESETS_NV              0x90B5\n#define GL_MOVE_TO_CONTINUES_NV           0x90B6\n#define GL_CLOSE_PATH_NV                  0x00\n#define GL_MOVE_TO_NV                     0x02\n#define GL_RELATIVE_MOVE_TO_NV            0x03\n#define GL_LINE_TO_NV                     0x04\n#define GL_RELATIVE_LINE_TO_NV            0x05\n#define GL_HORIZONTAL_LINE_TO_NV          0x06\n#define GL_RELATIVE_HORIZONTAL_LINE_TO_NV 0x07\n#define GL_VERTICAL_LINE_TO_NV            0x08\n#define GL_RELATIVE_VERTICAL_LINE_TO_NV   0x09\n#define GL_QUADRATIC_CURVE_TO_NV          0x0A\n#define GL_RELATIVE_QUADRATIC_CURVE_TO_NV 0x0B\n#define GL_CUBIC_CURVE_TO_NV              0x0C\n#define GL_RELATIVE_CUBIC_CURVE_TO_NV     0x0D\n#define GL_SMOOTH_QUADRATIC_CURVE_TO_NV   0x0E\n#define GL_RELATIVE_SMOOTH_QUADRATIC_CURVE_TO_NV 0x0F\n#define GL_SMOOTH_CUBIC_CURVE_TO_NV       0x10\n#define GL_RELATIVE_SMOOTH_CUBIC_CURVE_TO_NV 0x11\n#define GL_SMALL_CCW_ARC_TO_NV            0x12\n#define GL_RELATIVE_SMALL_CCW_ARC_TO_NV   0x13\n#define GL_SMALL_CW_ARC_TO_NV             0x14\n#define GL_RELATIVE_SMALL_CW_ARC_TO_NV    0x15\n#define GL_LARGE_CCW_ARC_TO_NV            0x16\n#define GL_RELATIVE_LARGE_CCW_ARC_TO_NV   0x17\n#define GL_LARGE_CW_ARC_TO_NV             0x18\n#define GL_RELATIVE_LARGE_CW_ARC_TO_NV    0x19\n#define GL_RESTART_PATH_NV                0xF0\n#define GL_DUP_FIRST_CUBIC_CURVE_TO_NV    0xF2\n#define GL_DUP_LAST_CUBIC_CURVE_TO_NV     0xF4\n#define GL_RECT_NV                        0xF6\n#define GL_CIRCULAR_CCW_ARC_TO_NV         0xF8\n#define GL_CIRCULAR_CW_ARC_TO_NV          0xFA\n#define GL_CIRCULAR_TANGENT_ARC_TO_NV     0xFC\n#define GL_ARC_TO_NV                      0xFE\n#define GL_RELATIVE_ARC_TO_NV             0xFF\n#define GL_BOLD_BIT_NV                    0x01\n#define GL_ITALIC_BIT_NV                  0x02\n#define GL_GLYPH_WIDTH_BIT_NV             0x01\n#define GL_GLYPH_HEIGHT_BIT_NV            0x02\n#define GL_GLYPH_HORIZONTAL_BEARING_X_BIT_NV 0x04\n#define GL_GLYPH_HORIZONTAL_BEARING_Y_BIT_NV 0x08\n#define GL_GLYPH_HORIZONTAL_BEARING_ADVANCE_BIT_NV 0x10\n#define GL_GLYPH_VERTICAL_BEARING_X_BIT_NV 0x20\n#define GL_GLYPH_VERTICAL_BEARING_Y_BIT_NV 0x40\n#define GL_GLYPH_VERTICAL_BEARING_ADVANCE_BIT_NV 0x80\n#define GL_GLYPH_HAS_KERNING_BIT_NV       0x100\n#define GL_FONT_X_MIN_BOUNDS_BIT_NV       0x00010000\n#define GL_FONT_Y_MIN_BOUNDS_BIT_NV       0x00020000\n#define GL_FONT_X_MAX_BOUNDS_BIT_NV       0x00040000\n#define GL_FONT_Y_MAX_BOUNDS_BIT_NV       0x00080000\n#define GL_FONT_UNITS_PER_EM_BIT_NV       0x00100000\n#define GL_FONT_ASCENDER_BIT_NV           0x00200000\n#define GL_FONT_DESCENDER_BIT_NV          0x00400000\n#define GL_FONT_HEIGHT_BIT_NV             0x00800000\n#define GL_FONT_MAX_ADVANCE_WIDTH_BIT_NV  0x01000000\n#define GL_FONT_MAX_ADVANCE_HEIGHT_BIT_NV 0x02000000\n#define GL_FONT_UNDERLINE_POSITION_BIT_NV 0x04000000\n#define GL_FONT_UNDERLINE_THICKNESS_BIT_NV 0x08000000\n#define GL_FONT_HAS_KERNING_BIT_NV        0x10000000\n#define GL_PRIMARY_COLOR_NV               0x852C\n#define GL_SECONDARY_COLOR_NV             0x852D\ntypedef GLuint (APIENTRYP PFNGLGENPATHSNVPROC) (GLsizei range);\ntypedef void (APIENTRYP PFNGLDELETEPATHSNVPROC) (GLuint path, GLsizei range);\ntypedef GLboolean (APIENTRYP PFNGLISPATHNVPROC) (GLuint path);\ntypedef void (APIENTRYP PFNGLPATHCOMMANDSNVPROC) (GLuint path, GLsizei numCommands, const GLubyte *commands, GLsizei numCoords, GLenum coordType, const void *coords);\ntypedef void (APIENTRYP PFNGLPATHCOORDSNVPROC) (GLuint path, GLsizei numCoords, GLenum coordType, const void *coords);\ntypedef void (APIENTRYP PFNGLPATHSUBCOMMANDSNVPROC) (GLuint path, GLsizei commandStart, GLsizei commandsToDelete, GLsizei numCommands, const GLubyte *commands, GLsizei numCoords, GLenum coordType, const void *coords);\ntypedef void (APIENTRYP PFNGLPATHSUBCOORDSNVPROC) (GLuint path, GLsizei coordStart, GLsizei numCoords, GLenum coordType, const void *coords);\ntypedef void (APIENTRYP PFNGLPATHSTRINGNVPROC) (GLuint path, GLenum format, GLsizei length, const void *pathString);\ntypedef void (APIENTRYP PFNGLPATHGLYPHSNVPROC) (GLuint firstPathName, GLenum fontTarget, const void *fontName, GLbitfield fontStyle, GLsizei numGlyphs, GLenum type, const void *charcodes, GLenum handleMissingGlyphs, GLuint pathParameterTemplate, GLfloat emScale);\ntypedef void (APIENTRYP PFNGLPATHGLYPHRANGENVPROC) (GLuint firstPathName, GLenum fontTarget, const void *fontName, GLbitfield fontStyle, GLuint firstGlyph, GLsizei numGlyphs, GLenum handleMissingGlyphs, GLuint pathParameterTemplate, GLfloat emScale);\ntypedef void (APIENTRYP PFNGLWEIGHTPATHSNVPROC) (GLuint resultPath, GLsizei numPaths, const GLuint *paths, const GLfloat *weights);\ntypedef void (APIENTRYP PFNGLCOPYPATHNVPROC) (GLuint resultPath, GLuint srcPath);\ntypedef void (APIENTRYP PFNGLINTERPOLATEPATHSNVPROC) (GLuint resultPath, GLuint pathA, GLuint pathB, GLfloat weight);\ntypedef void (APIENTRYP PFNGLTRANSFORMPATHNVPROC) (GLuint resultPath, GLuint srcPath, GLenum transformType, const GLfloat *transformValues);\ntypedef void (APIENTRYP PFNGLPATHPARAMETERIVNVPROC) (GLuint path, GLenum pname, const GLint *value);\ntypedef void (APIENTRYP PFNGLPATHPARAMETERINVPROC) (GLuint path, GLenum pname, GLint value);\ntypedef void (APIENTRYP PFNGLPATHPARAMETERFVNVPROC) (GLuint path, GLenum pname, const GLfloat *value);\ntypedef void (APIENTRYP PFNGLPATHPARAMETERFNVPROC) (GLuint path, GLenum pname, GLfloat value);\ntypedef void (APIENTRYP PFNGLPATHDASHARRAYNVPROC) (GLuint path, GLsizei dashCount, const GLfloat *dashArray);\ntypedef void (APIENTRYP PFNGLPATHSTENCILFUNCNVPROC) (GLenum func, GLint ref, GLuint mask);\ntypedef void (APIENTRYP PFNGLPATHSTENCILDEPTHOFFSETNVPROC) (GLfloat factor, GLfloat units);\ntypedef void (APIENTRYP PFNGLSTENCILFILLPATHNVPROC) (GLuint path, GLenum fillMode, GLuint mask);\ntypedef void (APIENTRYP PFNGLSTENCILSTROKEPATHNVPROC) (GLuint path, GLint reference, GLuint mask);\ntypedef void (APIENTRYP PFNGLSTENCILFILLPATHINSTANCEDNVPROC) (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum fillMode, GLuint mask, GLenum transformType, const GLfloat *transformValues);\ntypedef void (APIENTRYP PFNGLSTENCILSTROKEPATHINSTANCEDNVPROC) (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLint reference, GLuint mask, GLenum transformType, const GLfloat *transformValues);\ntypedef void (APIENTRYP PFNGLPATHCOVERDEPTHFUNCNVPROC) (GLenum func);\ntypedef void (APIENTRYP PFNGLPATHCOLORGENNVPROC) (GLenum color, GLenum genMode, GLenum colorFormat, const GLfloat *coeffs);\ntypedef void (APIENTRYP PFNGLPATHTEXGENNVPROC) (GLenum texCoordSet, GLenum genMode, GLint components, const GLfloat *coeffs);\ntypedef void (APIENTRYP PFNGLPATHFOGGENNVPROC) (GLenum genMode);\ntypedef void (APIENTRYP PFNGLCOVERFILLPATHNVPROC) (GLuint path, GLenum coverMode);\ntypedef void (APIENTRYP PFNGLCOVERSTROKEPATHNVPROC) (GLuint path, GLenum coverMode);\ntypedef void (APIENTRYP PFNGLCOVERFILLPATHINSTANCEDNVPROC) (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat *transformValues);\ntypedef void (APIENTRYP PFNGLCOVERSTROKEPATHINSTANCEDNVPROC) (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat *transformValues);\ntypedef void (APIENTRYP PFNGLGETPATHPARAMETERIVNVPROC) (GLuint path, GLenum pname, GLint *value);\ntypedef void (APIENTRYP PFNGLGETPATHPARAMETERFVNVPROC) (GLuint path, GLenum pname, GLfloat *value);\ntypedef void (APIENTRYP PFNGLGETPATHCOMMANDSNVPROC) (GLuint path, GLubyte *commands);\ntypedef void (APIENTRYP PFNGLGETPATHCOORDSNVPROC) (GLuint path, GLfloat *coords);\ntypedef void (APIENTRYP PFNGLGETPATHDASHARRAYNVPROC) (GLuint path, GLfloat *dashArray);\ntypedef void (APIENTRYP PFNGLGETPATHMETRICSNVPROC) (GLbitfield metricQueryMask, GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLsizei stride, GLfloat *metrics);\ntypedef void (APIENTRYP PFNGLGETPATHMETRICRANGENVPROC) (GLbitfield metricQueryMask, GLuint firstPathName, GLsizei numPaths, GLsizei stride, GLfloat *metrics);\ntypedef void (APIENTRYP PFNGLGETPATHSPACINGNVPROC) (GLenum pathListMode, GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLfloat advanceScale, GLfloat kerningScale, GLenum transformType, GLfloat *returnedSpacing);\ntypedef void (APIENTRYP PFNGLGETPATHCOLORGENIVNVPROC) (GLenum color, GLenum pname, GLint *value);\ntypedef void (APIENTRYP PFNGLGETPATHCOLORGENFVNVPROC) (GLenum color, GLenum pname, GLfloat *value);\ntypedef void (APIENTRYP PFNGLGETPATHTEXGENIVNVPROC) (GLenum texCoordSet, GLenum pname, GLint *value);\ntypedef void (APIENTRYP PFNGLGETPATHTEXGENFVNVPROC) (GLenum texCoordSet, GLenum pname, GLfloat *value);\ntypedef GLboolean (APIENTRYP PFNGLISPOINTINFILLPATHNVPROC) (GLuint path, GLuint mask, GLfloat x, GLfloat y);\ntypedef GLboolean (APIENTRYP PFNGLISPOINTINSTROKEPATHNVPROC) (GLuint path, GLfloat x, GLfloat y);\ntypedef GLfloat (APIENTRYP PFNGLGETPATHLENGTHNVPROC) (GLuint path, GLsizei startSegment, GLsizei numSegments);\ntypedef GLboolean (APIENTRYP PFNGLPOINTALONGPATHNVPROC) (GLuint path, GLsizei startSegment, GLsizei numSegments, GLfloat distance, GLfloat *x, GLfloat *y, GLfloat *tangentX, GLfloat *tangentY);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI GLuint APIENTRY glGenPathsNV (GLsizei range);\nGLAPI void APIENTRY glDeletePathsNV (GLuint path, GLsizei range);\nGLAPI GLboolean APIENTRY glIsPathNV (GLuint path);\nGLAPI void APIENTRY glPathCommandsNV (GLuint path, GLsizei numCommands, const GLubyte *commands, GLsizei numCoords, GLenum coordType, const void *coords);\nGLAPI void APIENTRY glPathCoordsNV (GLuint path, GLsizei numCoords, GLenum coordType, const void *coords);\nGLAPI void APIENTRY glPathSubCommandsNV (GLuint path, GLsizei commandStart, GLsizei commandsToDelete, GLsizei numCommands, const GLubyte *commands, GLsizei numCoords, GLenum coordType, const void *coords);\nGLAPI void APIENTRY glPathSubCoordsNV (GLuint path, GLsizei coordStart, GLsizei numCoords, GLenum coordType, const void *coords);\nGLAPI void APIENTRY glPathStringNV (GLuint path, GLenum format, GLsizei length, const void *pathString);\nGLAPI void APIENTRY glPathGlyphsNV (GLuint firstPathName, GLenum fontTarget, const void *fontName, GLbitfield fontStyle, GLsizei numGlyphs, GLenum type, const void *charcodes, GLenum handleMissingGlyphs, GLuint pathParameterTemplate, GLfloat emScale);\nGLAPI void APIENTRY glPathGlyphRangeNV (GLuint firstPathName, GLenum fontTarget, const void *fontName, GLbitfield fontStyle, GLuint firstGlyph, GLsizei numGlyphs, GLenum handleMissingGlyphs, GLuint pathParameterTemplate, GLfloat emScale);\nGLAPI void APIENTRY glWeightPathsNV (GLuint resultPath, GLsizei numPaths, const GLuint *paths, const GLfloat *weights);\nGLAPI void APIENTRY glCopyPathNV (GLuint resultPath, GLuint srcPath);\nGLAPI void APIENTRY glInterpolatePathsNV (GLuint resultPath, GLuint pathA, GLuint pathB, GLfloat weight);\nGLAPI void APIENTRY glTransformPathNV (GLuint resultPath, GLuint srcPath, GLenum transformType, const GLfloat *transformValues);\nGLAPI void APIENTRY glPathParameterivNV (GLuint path, GLenum pname, const GLint *value);\nGLAPI void APIENTRY glPathParameteriNV (GLuint path, GLenum pname, GLint value);\nGLAPI void APIENTRY glPathParameterfvNV (GLuint path, GLenum pname, const GLfloat *value);\nGLAPI void APIENTRY glPathParameterfNV (GLuint path, GLenum pname, GLfloat value);\nGLAPI void APIENTRY glPathDashArrayNV (GLuint path, GLsizei dashCount, const GLfloat *dashArray);\nGLAPI void APIENTRY glPathStencilFuncNV (GLenum func, GLint ref, GLuint mask);\nGLAPI void APIENTRY glPathStencilDepthOffsetNV (GLfloat factor, GLfloat units);\nGLAPI void APIENTRY glStencilFillPathNV (GLuint path, GLenum fillMode, GLuint mask);\nGLAPI void APIENTRY glStencilStrokePathNV (GLuint path, GLint reference, GLuint mask);\nGLAPI void APIENTRY glStencilFillPathInstancedNV (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum fillMode, GLuint mask, GLenum transformType, const GLfloat *transformValues);\nGLAPI void APIENTRY glStencilStrokePathInstancedNV (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLint reference, GLuint mask, GLenum transformType, const GLfloat *transformValues);\nGLAPI void APIENTRY glPathCoverDepthFuncNV (GLenum func);\nGLAPI void APIENTRY glPathColorGenNV (GLenum color, GLenum genMode, GLenum colorFormat, const GLfloat *coeffs);\nGLAPI void APIENTRY glPathTexGenNV (GLenum texCoordSet, GLenum genMode, GLint components, const GLfloat *coeffs);\nGLAPI void APIENTRY glPathFogGenNV (GLenum genMode);\nGLAPI void APIENTRY glCoverFillPathNV (GLuint path, GLenum coverMode);\nGLAPI void APIENTRY glCoverStrokePathNV (GLuint path, GLenum coverMode);\nGLAPI void APIENTRY glCoverFillPathInstancedNV (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat *transformValues);\nGLAPI void APIENTRY glCoverStrokePathInstancedNV (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat *transformValues);\nGLAPI void APIENTRY glGetPathParameterivNV (GLuint path, GLenum pname, GLint *value);\nGLAPI void APIENTRY glGetPathParameterfvNV (GLuint path, GLenum pname, GLfloat *value);\nGLAPI void APIENTRY glGetPathCommandsNV (GLuint path, GLubyte *commands);\nGLAPI void APIENTRY glGetPathCoordsNV (GLuint path, GLfloat *coords);\nGLAPI void APIENTRY glGetPathDashArrayNV (GLuint path, GLfloat *dashArray);\nGLAPI void APIENTRY glGetPathMetricsNV (GLbitfield metricQueryMask, GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLsizei stride, GLfloat *metrics);\nGLAPI void APIENTRY glGetPathMetricRangeNV (GLbitfield metricQueryMask, GLuint firstPathName, GLsizei numPaths, GLsizei stride, GLfloat *metrics);\nGLAPI void APIENTRY glGetPathSpacingNV (GLenum pathListMode, GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLfloat advanceScale, GLfloat kerningScale, GLenum transformType, GLfloat *returnedSpacing);\nGLAPI void APIENTRY glGetPathColorGenivNV (GLenum color, GLenum pname, GLint *value);\nGLAPI void APIENTRY glGetPathColorGenfvNV (GLenum color, GLenum pname, GLfloat *value);\nGLAPI void APIENTRY glGetPathTexGenivNV (GLenum texCoordSet, GLenum pname, GLint *value);\nGLAPI void APIENTRY glGetPathTexGenfvNV (GLenum texCoordSet, GLenum pname, GLfloat *value);\nGLAPI GLboolean APIENTRY glIsPointInFillPathNV (GLuint path, GLuint mask, GLfloat x, GLfloat y);\nGLAPI GLboolean APIENTRY glIsPointInStrokePathNV (GLuint path, GLfloat x, GLfloat y);\nGLAPI GLfloat APIENTRY glGetPathLengthNV (GLuint path, GLsizei startSegment, GLsizei numSegments);\nGLAPI GLboolean APIENTRY glPointAlongPathNV (GLuint path, GLsizei startSegment, GLsizei numSegments, GLfloat distance, GLfloat *x, GLfloat *y, GLfloat *tangentX, GLfloat *tangentY);\n#endif\n#endif /* GL_NV_path_rendering */\n\n#ifndef GL_NV_pixel_data_range\n#define GL_NV_pixel_data_range 1\n#define GL_WRITE_PIXEL_DATA_RANGE_NV      0x8878\n#define GL_READ_PIXEL_DATA_RANGE_NV       0x8879\n#define GL_WRITE_PIXEL_DATA_RANGE_LENGTH_NV 0x887A\n#define GL_READ_PIXEL_DATA_RANGE_LENGTH_NV 0x887B\n#define GL_WRITE_PIXEL_DATA_RANGE_POINTER_NV 0x887C\n#define GL_READ_PIXEL_DATA_RANGE_POINTER_NV 0x887D\ntypedef void (APIENTRYP PFNGLPIXELDATARANGENVPROC) (GLenum target, GLsizei length, const void *pointer);\ntypedef void (APIENTRYP PFNGLFLUSHPIXELDATARANGENVPROC) (GLenum target);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glPixelDataRangeNV (GLenum target, GLsizei length, const void *pointer);\nGLAPI void APIENTRY glFlushPixelDataRangeNV (GLenum target);\n#endif\n#endif /* GL_NV_pixel_data_range */\n\n#ifndef GL_NV_point_sprite\n#define GL_NV_point_sprite 1\n#define GL_POINT_SPRITE_NV                0x8861\n#define GL_COORD_REPLACE_NV               0x8862\n#define GL_POINT_SPRITE_R_MODE_NV         0x8863\ntypedef void (APIENTRYP PFNGLPOINTPARAMETERINVPROC) (GLenum pname, GLint param);\ntypedef void (APIENTRYP PFNGLPOINTPARAMETERIVNVPROC) (GLenum pname, const GLint *params);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glPointParameteriNV (GLenum pname, GLint param);\nGLAPI void APIENTRY glPointParameterivNV (GLenum pname, const GLint *params);\n#endif\n#endif /* GL_NV_point_sprite */\n\n#ifndef GL_NV_present_video\n#define GL_NV_present_video 1\n#define GL_FRAME_NV                       0x8E26\n#define GL_FIELDS_NV                      0x8E27\n#define GL_CURRENT_TIME_NV                0x8E28\n#define GL_NUM_FILL_STREAMS_NV            0x8E29\n#define GL_PRESENT_TIME_NV                0x8E2A\n#define GL_PRESENT_DURATION_NV            0x8E2B\ntypedef void (APIENTRYP PFNGLPRESENTFRAMEKEYEDNVPROC) (GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLuint key0, GLenum target1, GLuint fill1, GLuint key1);\ntypedef void (APIENTRYP PFNGLPRESENTFRAMEDUALFILLNVPROC) (GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLenum target1, GLuint fill1, GLenum target2, GLuint fill2, GLenum target3, GLuint fill3);\ntypedef void (APIENTRYP PFNGLGETVIDEOIVNVPROC) (GLuint video_slot, GLenum pname, GLint *params);\ntypedef void (APIENTRYP PFNGLGETVIDEOUIVNVPROC) (GLuint video_slot, GLenum pname, GLuint *params);\ntypedef void (APIENTRYP PFNGLGETVIDEOI64VNVPROC) (GLuint video_slot, GLenum pname, GLint64EXT *params);\ntypedef void (APIENTRYP PFNGLGETVIDEOUI64VNVPROC) (GLuint video_slot, GLenum pname, GLuint64EXT *params);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glPresentFrameKeyedNV (GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLuint key0, GLenum target1, GLuint fill1, GLuint key1);\nGLAPI void APIENTRY glPresentFrameDualFillNV (GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLenum target1, GLuint fill1, GLenum target2, GLuint fill2, GLenum target3, GLuint fill3);\nGLAPI void APIENTRY glGetVideoivNV (GLuint video_slot, GLenum pname, GLint *params);\nGLAPI void APIENTRY glGetVideouivNV (GLuint video_slot, GLenum pname, GLuint *params);\nGLAPI void APIENTRY glGetVideoi64vNV (GLuint video_slot, GLenum pname, GLint64EXT *params);\nGLAPI void APIENTRY glGetVideoui64vNV (GLuint video_slot, GLenum pname, GLuint64EXT *params);\n#endif\n#endif /* GL_NV_present_video */\n\n#ifndef GL_NV_primitive_restart\n#define GL_NV_primitive_restart 1\n#define GL_PRIMITIVE_RESTART_NV           0x8558\n#define GL_PRIMITIVE_RESTART_INDEX_NV     0x8559\ntypedef void (APIENTRYP PFNGLPRIMITIVERESTARTNVPROC) (void);\ntypedef void (APIENTRYP PFNGLPRIMITIVERESTARTINDEXNVPROC) (GLuint index);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glPrimitiveRestartNV (void);\nGLAPI void APIENTRY glPrimitiveRestartIndexNV (GLuint index);\n#endif\n#endif /* GL_NV_primitive_restart */\n\n#ifndef GL_NV_register_combiners\n#define GL_NV_register_combiners 1\n#define GL_REGISTER_COMBINERS_NV          0x8522\n#define GL_VARIABLE_A_NV                  0x8523\n#define GL_VARIABLE_B_NV                  0x8524\n#define GL_VARIABLE_C_NV                  0x8525\n#define GL_VARIABLE_D_NV                  0x8526\n#define GL_VARIABLE_E_NV                  0x8527\n#define GL_VARIABLE_F_NV                  0x8528\n#define GL_VARIABLE_G_NV                  0x8529\n#define GL_CONSTANT_COLOR0_NV             0x852A\n#define GL_CONSTANT_COLOR1_NV             0x852B\n#define GL_SPARE0_NV                      0x852E\n#define GL_SPARE1_NV                      0x852F\n#define GL_DISCARD_NV                     0x8530\n#define GL_E_TIMES_F_NV                   0x8531\n#define GL_SPARE0_PLUS_SECONDARY_COLOR_NV 0x8532\n#define GL_UNSIGNED_IDENTITY_NV           0x8536\n#define GL_UNSIGNED_INVERT_NV             0x8537\n#define GL_EXPAND_NORMAL_NV               0x8538\n#define GL_EXPAND_NEGATE_NV               0x8539\n#define GL_HALF_BIAS_NORMAL_NV            0x853A\n#define GL_HALF_BIAS_NEGATE_NV            0x853B\n#define GL_SIGNED_IDENTITY_NV             0x853C\n#define GL_SIGNED_NEGATE_NV               0x853D\n#define GL_SCALE_BY_TWO_NV                0x853E\n#define GL_SCALE_BY_FOUR_NV               0x853F\n#define GL_SCALE_BY_ONE_HALF_NV           0x8540\n#define GL_BIAS_BY_NEGATIVE_ONE_HALF_NV   0x8541\n#define GL_COMBINER_INPUT_NV              0x8542\n#define GL_COMBINER_MAPPING_NV            0x8543\n#define GL_COMBINER_COMPONENT_USAGE_NV    0x8544\n#define GL_COMBINER_AB_DOT_PRODUCT_NV     0x8545\n#define GL_COMBINER_CD_DOT_PRODUCT_NV     0x8546\n#define GL_COMBINER_MUX_SUM_NV            0x8547\n#define GL_COMBINER_SCALE_NV              0x8548\n#define GL_COMBINER_BIAS_NV               0x8549\n#define GL_COMBINER_AB_OUTPUT_NV          0x854A\n#define GL_COMBINER_CD_OUTPUT_NV          0x854B\n#define GL_COMBINER_SUM_OUTPUT_NV         0x854C\n#define GL_MAX_GENERAL_COMBINERS_NV       0x854D\n#define GL_NUM_GENERAL_COMBINERS_NV       0x854E\n#define GL_COLOR_SUM_CLAMP_NV             0x854F\n#define GL_COMBINER0_NV                   0x8550\n#define GL_COMBINER1_NV                   0x8551\n#define GL_COMBINER2_NV                   0x8552\n#define GL_COMBINER3_NV                   0x8553\n#define GL_COMBINER4_NV                   0x8554\n#define GL_COMBINER5_NV                   0x8555\n#define GL_COMBINER6_NV                   0x8556\n#define GL_COMBINER7_NV                   0x8557\ntypedef void (APIENTRYP PFNGLCOMBINERPARAMETERFVNVPROC) (GLenum pname, const GLfloat *params);\ntypedef void (APIENTRYP PFNGLCOMBINERPARAMETERFNVPROC) (GLenum pname, GLfloat param);\ntypedef void (APIENTRYP PFNGLCOMBINERPARAMETERIVNVPROC) (GLenum pname, const GLint *params);\ntypedef void (APIENTRYP PFNGLCOMBINERPARAMETERINVPROC) (GLenum pname, GLint param);\ntypedef void (APIENTRYP PFNGLCOMBINERINPUTNVPROC) (GLenum stage, GLenum portion, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage);\ntypedef void (APIENTRYP PFNGLCOMBINEROUTPUTNVPROC) (GLenum stage, GLenum portion, GLenum abOutput, GLenum cdOutput, GLenum sumOutput, GLenum scale, GLenum bias, GLboolean abDotProduct, GLboolean cdDotProduct, GLboolean muxSum);\ntypedef void (APIENTRYP PFNGLFINALCOMBINERINPUTNVPROC) (GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage);\ntypedef void (APIENTRYP PFNGLGETCOMBINERINPUTPARAMETERFVNVPROC) (GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLfloat *params);\ntypedef void (APIENTRYP PFNGLGETCOMBINERINPUTPARAMETERIVNVPROC) (GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLint *params);\ntypedef void (APIENTRYP PFNGLGETCOMBINEROUTPUTPARAMETERFVNVPROC) (GLenum stage, GLenum portion, GLenum pname, GLfloat *params);\ntypedef void (APIENTRYP PFNGLGETCOMBINEROUTPUTPARAMETERIVNVPROC) (GLenum stage, GLenum portion, GLenum pname, GLint *params);\ntypedef void (APIENTRYP PFNGLGETFINALCOMBINERINPUTPARAMETERFVNVPROC) (GLenum variable, GLenum pname, GLfloat *params);\ntypedef void (APIENTRYP PFNGLGETFINALCOMBINERINPUTPARAMETERIVNVPROC) (GLenum variable, GLenum pname, GLint *params);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glCombinerParameterfvNV (GLenum pname, const GLfloat *params);\nGLAPI void APIENTRY glCombinerParameterfNV (GLenum pname, GLfloat param);\nGLAPI void APIENTRY glCombinerParameterivNV (GLenum pname, const GLint *params);\nGLAPI void APIENTRY glCombinerParameteriNV (GLenum pname, GLint param);\nGLAPI void APIENTRY glCombinerInputNV (GLenum stage, GLenum portion, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage);\nGLAPI void APIENTRY glCombinerOutputNV (GLenum stage, GLenum portion, GLenum abOutput, GLenum cdOutput, GLenum sumOutput, GLenum scale, GLenum bias, GLboolean abDotProduct, GLboolean cdDotProduct, GLboolean muxSum);\nGLAPI void APIENTRY glFinalCombinerInputNV (GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage);\nGLAPI void APIENTRY glGetCombinerInputParameterfvNV (GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLfloat *params);\nGLAPI void APIENTRY glGetCombinerInputParameterivNV (GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLint *params);\nGLAPI void APIENTRY glGetCombinerOutputParameterfvNV (GLenum stage, GLenum portion, GLenum pname, GLfloat *params);\nGLAPI void APIENTRY glGetCombinerOutputParameterivNV (GLenum stage, GLenum portion, GLenum pname, GLint *params);\nGLAPI void APIENTRY glGetFinalCombinerInputParameterfvNV (GLenum variable, GLenum pname, GLfloat *params);\nGLAPI void APIENTRY glGetFinalCombinerInputParameterivNV (GLenum variable, GLenum pname, GLint *params);\n#endif\n#endif /* GL_NV_register_combiners */\n\n#ifndef GL_NV_register_combiners2\n#define GL_NV_register_combiners2 1\n#define GL_PER_STAGE_CONSTANTS_NV         0x8535\ntypedef void (APIENTRYP PFNGLCOMBINERSTAGEPARAMETERFVNVPROC) (GLenum stage, GLenum pname, const GLfloat *params);\ntypedef void (APIENTRYP PFNGLGETCOMBINERSTAGEPARAMETERFVNVPROC) (GLenum stage, GLenum pname, GLfloat *params);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glCombinerStageParameterfvNV (GLenum stage, GLenum pname, const GLfloat *params);\nGLAPI void APIENTRY glGetCombinerStageParameterfvNV (GLenum stage, GLenum pname, GLfloat *params);\n#endif\n#endif /* GL_NV_register_combiners2 */\n\n#ifndef GL_NV_shader_atomic_counters\n#define GL_NV_shader_atomic_counters 1\n#endif /* GL_NV_shader_atomic_counters */\n\n#ifndef GL_NV_shader_atomic_float\n#define GL_NV_shader_atomic_float 1\n#endif /* GL_NV_shader_atomic_float */\n\n#ifndef GL_NV_shader_buffer_load\n#define GL_NV_shader_buffer_load 1\n#define GL_BUFFER_GPU_ADDRESS_NV          0x8F1D\n#define GL_GPU_ADDRESS_NV                 0x8F34\n#define GL_MAX_SHADER_BUFFER_ADDRESS_NV   0x8F35\ntypedef void (APIENTRYP PFNGLMAKEBUFFERRESIDENTNVPROC) (GLenum target, GLenum access);\ntypedef void (APIENTRYP PFNGLMAKEBUFFERNONRESIDENTNVPROC) (GLenum target);\ntypedef GLboolean (APIENTRYP PFNGLISBUFFERRESIDENTNVPROC) (GLenum target);\ntypedef void (APIENTRYP PFNGLMAKENAMEDBUFFERRESIDENTNVPROC) (GLuint buffer, GLenum access);\ntypedef void (APIENTRYP PFNGLMAKENAMEDBUFFERNONRESIDENTNVPROC) (GLuint buffer);\ntypedef GLboolean (APIENTRYP PFNGLISNAMEDBUFFERRESIDENTNVPROC) (GLuint buffer);\ntypedef void (APIENTRYP PFNGLGETBUFFERPARAMETERUI64VNVPROC) (GLenum target, GLenum pname, GLuint64EXT *params);\ntypedef void (APIENTRYP PFNGLGETNAMEDBUFFERPARAMETERUI64VNVPROC) (GLuint buffer, GLenum pname, GLuint64EXT *params);\ntypedef void (APIENTRYP PFNGLGETINTEGERUI64VNVPROC) (GLenum value, GLuint64EXT *result);\ntypedef void (APIENTRYP PFNGLUNIFORMUI64NVPROC) (GLint location, GLuint64EXT value);\ntypedef void (APIENTRYP PFNGLUNIFORMUI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT *value);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMUI64NVPROC) (GLuint program, GLint location, GLuint64EXT value);\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMUI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glMakeBufferResidentNV (GLenum target, GLenum access);\nGLAPI void APIENTRY glMakeBufferNonResidentNV (GLenum target);\nGLAPI GLboolean APIENTRY glIsBufferResidentNV (GLenum target);\nGLAPI void APIENTRY glMakeNamedBufferResidentNV (GLuint buffer, GLenum access);\nGLAPI void APIENTRY glMakeNamedBufferNonResidentNV (GLuint buffer);\nGLAPI GLboolean APIENTRY glIsNamedBufferResidentNV (GLuint buffer);\nGLAPI void APIENTRY glGetBufferParameterui64vNV (GLenum target, GLenum pname, GLuint64EXT *params);\nGLAPI void APIENTRY glGetNamedBufferParameterui64vNV (GLuint buffer, GLenum pname, GLuint64EXT *params);\nGLAPI void APIENTRY glGetIntegerui64vNV (GLenum value, GLuint64EXT *result);\nGLAPI void APIENTRY glUniformui64NV (GLint location, GLuint64EXT value);\nGLAPI void APIENTRY glUniformui64vNV (GLint location, GLsizei count, const GLuint64EXT *value);\nGLAPI void APIENTRY glProgramUniformui64NV (GLuint program, GLint location, GLuint64EXT value);\nGLAPI void APIENTRY glProgramUniformui64vNV (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);\n#endif\n#endif /* GL_NV_shader_buffer_load */\n\n#ifndef GL_NV_shader_buffer_store\n#define GL_NV_shader_buffer_store 1\n#define GL_SHADER_GLOBAL_ACCESS_BARRIER_BIT_NV 0x00000010\n#endif /* GL_NV_shader_buffer_store */\n\n#ifndef GL_NV_shader_storage_buffer_object\n#define GL_NV_shader_storage_buffer_object 1\n#endif /* GL_NV_shader_storage_buffer_object */\n\n#ifndef GL_NV_shader_thread_group\n#define GL_NV_shader_thread_group 1\n#define GL_WARP_SIZE_NV                   0x9339\n#define GL_WARPS_PER_SM_NV                0x933A\n#define GL_SM_COUNT_NV                    0x933B\n#endif /* GL_NV_shader_thread_group */\n\n#ifndef GL_NV_shader_thread_shuffle\n#define GL_NV_shader_thread_shuffle 1\n#endif /* GL_NV_shader_thread_shuffle */\n\n#ifndef GL_NV_tessellation_program5\n#define GL_NV_tessellation_program5 1\n#define GL_MAX_PROGRAM_PATCH_ATTRIBS_NV   0x86D8\n#define GL_TESS_CONTROL_PROGRAM_NV        0x891E\n#define GL_TESS_EVALUATION_PROGRAM_NV     0x891F\n#define GL_TESS_CONTROL_PROGRAM_PARAMETER_BUFFER_NV 0x8C74\n#define GL_TESS_EVALUATION_PROGRAM_PARAMETER_BUFFER_NV 0x8C75\n#endif /* GL_NV_tessellation_program5 */\n\n#ifndef GL_NV_texgen_emboss\n#define GL_NV_texgen_emboss 1\n#define GL_EMBOSS_LIGHT_NV                0x855D\n#define GL_EMBOSS_CONSTANT_NV             0x855E\n#define GL_EMBOSS_MAP_NV                  0x855F\n#endif /* GL_NV_texgen_emboss */\n\n#ifndef GL_NV_texgen_reflection\n#define GL_NV_texgen_reflection 1\n#define GL_NORMAL_MAP_NV                  0x8511\n#define GL_REFLECTION_MAP_NV              0x8512\n#endif /* GL_NV_texgen_reflection */\n\n#ifndef GL_NV_texture_barrier\n#define GL_NV_texture_barrier 1\ntypedef void (APIENTRYP PFNGLTEXTUREBARRIERNVPROC) (void);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glTextureBarrierNV (void);\n#endif\n#endif /* GL_NV_texture_barrier */\n\n#ifndef GL_NV_texture_compression_vtc\n#define GL_NV_texture_compression_vtc 1\n#endif /* GL_NV_texture_compression_vtc */\n\n#ifndef GL_NV_texture_env_combine4\n#define GL_NV_texture_env_combine4 1\n#define GL_COMBINE4_NV                    0x8503\n#define GL_SOURCE3_RGB_NV                 0x8583\n#define GL_SOURCE3_ALPHA_NV               0x858B\n#define GL_OPERAND3_RGB_NV                0x8593\n#define GL_OPERAND3_ALPHA_NV              0x859B\n#endif /* GL_NV_texture_env_combine4 */\n\n#ifndef GL_NV_texture_expand_normal\n#define GL_NV_texture_expand_normal 1\n#define GL_TEXTURE_UNSIGNED_REMAP_MODE_NV 0x888F\n#endif /* GL_NV_texture_expand_normal */\n\n#ifndef GL_NV_texture_multisample\n#define GL_NV_texture_multisample 1\n#define GL_TEXTURE_COVERAGE_SAMPLES_NV    0x9045\n#define GL_TEXTURE_COLOR_SAMPLES_NV       0x9046\ntypedef void (APIENTRYP PFNGLTEXIMAGE2DMULTISAMPLECOVERAGENVPROC) (GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations);\ntypedef void (APIENTRYP PFNGLTEXIMAGE3DMULTISAMPLECOVERAGENVPROC) (GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations);\ntypedef void (APIENTRYP PFNGLTEXTUREIMAGE2DMULTISAMPLENVPROC) (GLuint texture, GLenum target, GLsizei samples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations);\ntypedef void (APIENTRYP PFNGLTEXTUREIMAGE3DMULTISAMPLENVPROC) (GLuint texture, GLenum target, GLsizei samples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations);\ntypedef void (APIENTRYP PFNGLTEXTUREIMAGE2DMULTISAMPLECOVERAGENVPROC) (GLuint texture, GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations);\ntypedef void (APIENTRYP PFNGLTEXTUREIMAGE3DMULTISAMPLECOVERAGENVPROC) (GLuint texture, GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glTexImage2DMultisampleCoverageNV (GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations);\nGLAPI void APIENTRY glTexImage3DMultisampleCoverageNV (GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations);\nGLAPI void APIENTRY glTextureImage2DMultisampleNV (GLuint texture, GLenum target, GLsizei samples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations);\nGLAPI void APIENTRY glTextureImage3DMultisampleNV (GLuint texture, GLenum target, GLsizei samples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations);\nGLAPI void APIENTRY glTextureImage2DMultisampleCoverageNV (GLuint texture, GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations);\nGLAPI void APIENTRY glTextureImage3DMultisampleCoverageNV (GLuint texture, GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations);\n#endif\n#endif /* GL_NV_texture_multisample */\n\n#ifndef GL_NV_texture_rectangle\n#define GL_NV_texture_rectangle 1\n#define GL_TEXTURE_RECTANGLE_NV           0x84F5\n#define GL_TEXTURE_BINDING_RECTANGLE_NV   0x84F6\n#define GL_PROXY_TEXTURE_RECTANGLE_NV     0x84F7\n#define GL_MAX_RECTANGLE_TEXTURE_SIZE_NV  0x84F8\n#endif /* GL_NV_texture_rectangle */\n\n#ifndef GL_NV_texture_shader\n#define GL_NV_texture_shader 1\n#define GL_OFFSET_TEXTURE_RECTANGLE_NV    0x864C\n#define GL_OFFSET_TEXTURE_RECTANGLE_SCALE_NV 0x864D\n#define GL_DOT_PRODUCT_TEXTURE_RECTANGLE_NV 0x864E\n#define GL_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV 0x86D9\n#define GL_UNSIGNED_INT_S8_S8_8_8_NV      0x86DA\n#define GL_UNSIGNED_INT_8_8_S8_S8_REV_NV  0x86DB\n#define GL_DSDT_MAG_INTENSITY_NV          0x86DC\n#define GL_SHADER_CONSISTENT_NV           0x86DD\n#define GL_TEXTURE_SHADER_NV              0x86DE\n#define GL_SHADER_OPERATION_NV            0x86DF\n#define GL_CULL_MODES_NV                  0x86E0\n#define GL_OFFSET_TEXTURE_MATRIX_NV       0x86E1\n#define GL_OFFSET_TEXTURE_SCALE_NV        0x86E2\n#define GL_OFFSET_TEXTURE_BIAS_NV         0x86E3\n#define GL_OFFSET_TEXTURE_2D_MATRIX_NV    0x86E1\n#define GL_OFFSET_TEXTURE_2D_SCALE_NV     0x86E2\n#define GL_OFFSET_TEXTURE_2D_BIAS_NV      0x86E3\n#define GL_PREVIOUS_TEXTURE_INPUT_NV      0x86E4\n#define GL_CONST_EYE_NV                   0x86E5\n#define GL_PASS_THROUGH_NV                0x86E6\n#define GL_CULL_FRAGMENT_NV               0x86E7\n#define GL_OFFSET_TEXTURE_2D_NV           0x86E8\n#define GL_DEPENDENT_AR_TEXTURE_2D_NV     0x86E9\n#define GL_DEPENDENT_GB_TEXTURE_2D_NV     0x86EA\n#define GL_DOT_PRODUCT_NV                 0x86EC\n#define GL_DOT_PRODUCT_DEPTH_REPLACE_NV   0x86ED\n#define GL_DOT_PRODUCT_TEXTURE_2D_NV      0x86EE\n#define GL_DOT_PRODUCT_TEXTURE_CUBE_MAP_NV 0x86F0\n#define GL_DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV 0x86F1\n#define GL_DOT_PRODUCT_REFLECT_CUBE_MAP_NV 0x86F2\n#define GL_DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV 0x86F3\n#define GL_HILO_NV                        0x86F4\n#define GL_DSDT_NV                        0x86F5\n#define GL_DSDT_MAG_NV                    0x86F6\n#define GL_DSDT_MAG_VIB_NV                0x86F7\n#define GL_HILO16_NV                      0x86F8\n#define GL_SIGNED_HILO_NV                 0x86F9\n#define GL_SIGNED_HILO16_NV               0x86FA\n#define GL_SIGNED_RGBA_NV                 0x86FB\n#define GL_SIGNED_RGBA8_NV                0x86FC\n#define GL_SIGNED_RGB_NV                  0x86FE\n#define GL_SIGNED_RGB8_NV                 0x86FF\n#define GL_SIGNED_LUMINANCE_NV            0x8701\n#define GL_SIGNED_LUMINANCE8_NV           0x8702\n#define GL_SIGNED_LUMINANCE_ALPHA_NV      0x8703\n#define GL_SIGNED_LUMINANCE8_ALPHA8_NV    0x8704\n#define GL_SIGNED_ALPHA_NV                0x8705\n#define GL_SIGNED_ALPHA8_NV               0x8706\n#define GL_SIGNED_INTENSITY_NV            0x8707\n#define GL_SIGNED_INTENSITY8_NV           0x8708\n#define GL_DSDT8_NV                       0x8709\n#define GL_DSDT8_MAG8_NV                  0x870A\n#define GL_DSDT8_MAG8_INTENSITY8_NV       0x870B\n#define GL_SIGNED_RGB_UNSIGNED_ALPHA_NV   0x870C\n#define GL_SIGNED_RGB8_UNSIGNED_ALPHA8_NV 0x870D\n#define GL_HI_SCALE_NV                    0x870E\n#define GL_LO_SCALE_NV                    0x870F\n#define GL_DS_SCALE_NV                    0x8710\n#define GL_DT_SCALE_NV                    0x8711\n#define GL_MAGNITUDE_SCALE_NV             0x8712\n#define GL_VIBRANCE_SCALE_NV              0x8713\n#define GL_HI_BIAS_NV                     0x8714\n#define GL_LO_BIAS_NV                     0x8715\n#define GL_DS_BIAS_NV                     0x8716\n#define GL_DT_BIAS_NV                     0x8717\n#define GL_MAGNITUDE_BIAS_NV              0x8718\n#define GL_VIBRANCE_BIAS_NV               0x8719\n#define GL_TEXTURE_BORDER_VALUES_NV       0x871A\n#define GL_TEXTURE_HI_SIZE_NV             0x871B\n#define GL_TEXTURE_LO_SIZE_NV             0x871C\n#define GL_TEXTURE_DS_SIZE_NV             0x871D\n#define GL_TEXTURE_DT_SIZE_NV             0x871E\n#define GL_TEXTURE_MAG_SIZE_NV            0x871F\n#endif /* GL_NV_texture_shader */\n\n#ifndef GL_NV_texture_shader2\n#define GL_NV_texture_shader2 1\n#define GL_DOT_PRODUCT_TEXTURE_3D_NV      0x86EF\n#endif /* GL_NV_texture_shader2 */\n\n#ifndef GL_NV_texture_shader3\n#define GL_NV_texture_shader3 1\n#define GL_OFFSET_PROJECTIVE_TEXTURE_2D_NV 0x8850\n#define GL_OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV 0x8851\n#define GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV 0x8852\n#define GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV 0x8853\n#define GL_OFFSET_HILO_TEXTURE_2D_NV      0x8854\n#define GL_OFFSET_HILO_TEXTURE_RECTANGLE_NV 0x8855\n#define GL_OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV 0x8856\n#define GL_OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV 0x8857\n#define GL_DEPENDENT_HILO_TEXTURE_2D_NV   0x8858\n#define GL_DEPENDENT_RGB_TEXTURE_3D_NV    0x8859\n#define GL_DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV 0x885A\n#define GL_DOT_PRODUCT_PASS_THROUGH_NV    0x885B\n#define GL_DOT_PRODUCT_TEXTURE_1D_NV      0x885C\n#define GL_DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV 0x885D\n#define GL_HILO8_NV                       0x885E\n#define GL_SIGNED_HILO8_NV                0x885F\n#define GL_FORCE_BLUE_TO_ONE_NV           0x8860\n#endif /* GL_NV_texture_shader3 */\n\n#ifndef GL_NV_transform_feedback\n#define GL_NV_transform_feedback 1\n#define GL_BACK_PRIMARY_COLOR_NV          0x8C77\n#define GL_BACK_SECONDARY_COLOR_NV        0x8C78\n#define GL_TEXTURE_COORD_NV               0x8C79\n#define GL_CLIP_DISTANCE_NV               0x8C7A\n#define GL_VERTEX_ID_NV                   0x8C7B\n#define GL_PRIMITIVE_ID_NV                0x8C7C\n#define GL_GENERIC_ATTRIB_NV              0x8C7D\n#define GL_TRANSFORM_FEEDBACK_ATTRIBS_NV  0x8C7E\n#define GL_TRANSFORM_FEEDBACK_BUFFER_MODE_NV 0x8C7F\n#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_NV 0x8C80\n#define GL_ACTIVE_VARYINGS_NV             0x8C81\n#define GL_ACTIVE_VARYING_MAX_LENGTH_NV   0x8C82\n#define GL_TRANSFORM_FEEDBACK_VARYINGS_NV 0x8C83\n#define GL_TRANSFORM_FEEDBACK_BUFFER_START_NV 0x8C84\n#define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_NV 0x8C85\n#define GL_TRANSFORM_FEEDBACK_RECORD_NV   0x8C86\n#define GL_PRIMITIVES_GENERATED_NV        0x8C87\n#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_NV 0x8C88\n#define GL_RASTERIZER_DISCARD_NV          0x8C89\n#define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_NV 0x8C8A\n#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_NV 0x8C8B\n#define GL_INTERLEAVED_ATTRIBS_NV         0x8C8C\n#define GL_SEPARATE_ATTRIBS_NV            0x8C8D\n#define GL_TRANSFORM_FEEDBACK_BUFFER_NV   0x8C8E\n#define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_NV 0x8C8F\n#define GL_LAYER_NV                       0x8DAA\n#define GL_NEXT_BUFFER_NV                 -2\n#define GL_SKIP_COMPONENTS4_NV            -3\n#define GL_SKIP_COMPONENTS3_NV            -4\n#define GL_SKIP_COMPONENTS2_NV            -5\n#define GL_SKIP_COMPONENTS1_NV            -6\ntypedef void (APIENTRYP PFNGLBEGINTRANSFORMFEEDBACKNVPROC) (GLenum primitiveMode);\ntypedef void (APIENTRYP PFNGLENDTRANSFORMFEEDBACKNVPROC) (void);\ntypedef void (APIENTRYP PFNGLTRANSFORMFEEDBACKATTRIBSNVPROC) (GLuint count, const GLint *attribs, GLenum bufferMode);\ntypedef void (APIENTRYP PFNGLBINDBUFFERRANGENVPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);\ntypedef void (APIENTRYP PFNGLBINDBUFFEROFFSETNVPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset);\ntypedef void (APIENTRYP PFNGLBINDBUFFERBASENVPROC) (GLenum target, GLuint index, GLuint buffer);\ntypedef void (APIENTRYP PFNGLTRANSFORMFEEDBACKVARYINGSNVPROC) (GLuint program, GLsizei count, const GLint *locations, GLenum bufferMode);\ntypedef void (APIENTRYP PFNGLACTIVEVARYINGNVPROC) (GLuint program, const GLchar *name);\ntypedef GLint (APIENTRYP PFNGLGETVARYINGLOCATIONNVPROC) (GLuint program, const GLchar *name);\ntypedef void (APIENTRYP PFNGLGETACTIVEVARYINGNVPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);\ntypedef void (APIENTRYP PFNGLGETTRANSFORMFEEDBACKVARYINGNVPROC) (GLuint program, GLuint index, GLint *location);\ntypedef void (APIENTRYP PFNGLTRANSFORMFEEDBACKSTREAMATTRIBSNVPROC) (GLsizei count, const GLint *attribs, GLsizei nbuffers, const GLint *bufstreams, GLenum bufferMode);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glBeginTransformFeedbackNV (GLenum primitiveMode);\nGLAPI void APIENTRY glEndTransformFeedbackNV (void);\nGLAPI void APIENTRY glTransformFeedbackAttribsNV (GLuint count, const GLint *attribs, GLenum bufferMode);\nGLAPI void APIENTRY glBindBufferRangeNV (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);\nGLAPI void APIENTRY glBindBufferOffsetNV (GLenum target, GLuint index, GLuint buffer, GLintptr offset);\nGLAPI void APIENTRY glBindBufferBaseNV (GLenum target, GLuint index, GLuint buffer);\nGLAPI void APIENTRY glTransformFeedbackVaryingsNV (GLuint program, GLsizei count, const GLint *locations, GLenum bufferMode);\nGLAPI void APIENTRY glActiveVaryingNV (GLuint program, const GLchar *name);\nGLAPI GLint APIENTRY glGetVaryingLocationNV (GLuint program, const GLchar *name);\nGLAPI void APIENTRY glGetActiveVaryingNV (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);\nGLAPI void APIENTRY glGetTransformFeedbackVaryingNV (GLuint program, GLuint index, GLint *location);\nGLAPI void APIENTRY glTransformFeedbackStreamAttribsNV (GLsizei count, const GLint *attribs, GLsizei nbuffers, const GLint *bufstreams, GLenum bufferMode);\n#endif\n#endif /* GL_NV_transform_feedback */\n\n#ifndef GL_NV_transform_feedback2\n#define GL_NV_transform_feedback2 1\n#define GL_TRANSFORM_FEEDBACK_NV          0x8E22\n#define GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED_NV 0x8E23\n#define GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE_NV 0x8E24\n#define GL_TRANSFORM_FEEDBACK_BINDING_NV  0x8E25\ntypedef void (APIENTRYP PFNGLBINDTRANSFORMFEEDBACKNVPROC) (GLenum target, GLuint id);\ntypedef void (APIENTRYP PFNGLDELETETRANSFORMFEEDBACKSNVPROC) (GLsizei n, const GLuint *ids);\ntypedef void (APIENTRYP PFNGLGENTRANSFORMFEEDBACKSNVPROC) (GLsizei n, GLuint *ids);\ntypedef GLboolean (APIENTRYP PFNGLISTRANSFORMFEEDBACKNVPROC) (GLuint id);\ntypedef void (APIENTRYP PFNGLPAUSETRANSFORMFEEDBACKNVPROC) (void);\ntypedef void (APIENTRYP PFNGLRESUMETRANSFORMFEEDBACKNVPROC) (void);\ntypedef void (APIENTRYP PFNGLDRAWTRANSFORMFEEDBACKNVPROC) (GLenum mode, GLuint id);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glBindTransformFeedbackNV (GLenum target, GLuint id);\nGLAPI void APIENTRY glDeleteTransformFeedbacksNV (GLsizei n, const GLuint *ids);\nGLAPI void APIENTRY glGenTransformFeedbacksNV (GLsizei n, GLuint *ids);\nGLAPI GLboolean APIENTRY glIsTransformFeedbackNV (GLuint id);\nGLAPI void APIENTRY glPauseTransformFeedbackNV (void);\nGLAPI void APIENTRY glResumeTransformFeedbackNV (void);\nGLAPI void APIENTRY glDrawTransformFeedbackNV (GLenum mode, GLuint id);\n#endif\n#endif /* GL_NV_transform_feedback2 */\n\n#ifndef GL_NV_vdpau_interop\n#define GL_NV_vdpau_interop 1\ntypedef GLintptr GLvdpauSurfaceNV;\n#define GL_SURFACE_STATE_NV               0x86EB\n#define GL_SURFACE_REGISTERED_NV          0x86FD\n#define GL_SURFACE_MAPPED_NV              0x8700\n#define GL_WRITE_DISCARD_NV               0x88BE\ntypedef void (APIENTRYP PFNGLVDPAUINITNVPROC) (const void *vdpDevice, const void *getProcAddress);\ntypedef void (APIENTRYP PFNGLVDPAUFININVPROC) (void);\ntypedef GLvdpauSurfaceNV (APIENTRYP PFNGLVDPAUREGISTERVIDEOSURFACENVPROC) (const void *vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint *textureNames);\ntypedef GLvdpauSurfaceNV (APIENTRYP PFNGLVDPAUREGISTEROUTPUTSURFACENVPROC) (const void *vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint *textureNames);\ntypedef GLboolean (APIENTRYP PFNGLVDPAUISSURFACENVPROC) (GLvdpauSurfaceNV surface);\ntypedef void (APIENTRYP PFNGLVDPAUUNREGISTERSURFACENVPROC) (GLvdpauSurfaceNV surface);\ntypedef void (APIENTRYP PFNGLVDPAUGETSURFACEIVNVPROC) (GLvdpauSurfaceNV surface, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);\ntypedef void (APIENTRYP PFNGLVDPAUSURFACEACCESSNVPROC) (GLvdpauSurfaceNV surface, GLenum access);\ntypedef void (APIENTRYP PFNGLVDPAUMAPSURFACESNVPROC) (GLsizei numSurfaces, const GLvdpauSurfaceNV *surfaces);\ntypedef void (APIENTRYP PFNGLVDPAUUNMAPSURFACESNVPROC) (GLsizei numSurface, const GLvdpauSurfaceNV *surfaces);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glVDPAUInitNV (const void *vdpDevice, const void *getProcAddress);\nGLAPI void APIENTRY glVDPAUFiniNV (void);\nGLAPI GLvdpauSurfaceNV APIENTRY glVDPAURegisterVideoSurfaceNV (const void *vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint *textureNames);\nGLAPI GLvdpauSurfaceNV APIENTRY glVDPAURegisterOutputSurfaceNV (const void *vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint *textureNames);\nGLAPI GLboolean APIENTRY glVDPAUIsSurfaceNV (GLvdpauSurfaceNV surface);\nGLAPI void APIENTRY glVDPAUUnregisterSurfaceNV (GLvdpauSurfaceNV surface);\nGLAPI void APIENTRY glVDPAUGetSurfaceivNV (GLvdpauSurfaceNV surface, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);\nGLAPI void APIENTRY glVDPAUSurfaceAccessNV (GLvdpauSurfaceNV surface, GLenum access);\nGLAPI void APIENTRY glVDPAUMapSurfacesNV (GLsizei numSurfaces, const GLvdpauSurfaceNV *surfaces);\nGLAPI void APIENTRY glVDPAUUnmapSurfacesNV (GLsizei numSurface, const GLvdpauSurfaceNV *surfaces);\n#endif\n#endif /* GL_NV_vdpau_interop */\n\n#ifndef GL_NV_vertex_array_range\n#define GL_NV_vertex_array_range 1\n#define GL_VERTEX_ARRAY_RANGE_NV          0x851D\n#define GL_VERTEX_ARRAY_RANGE_LENGTH_NV   0x851E\n#define GL_VERTEX_ARRAY_RANGE_VALID_NV    0x851F\n#define GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV 0x8520\n#define GL_VERTEX_ARRAY_RANGE_POINTER_NV  0x8521\ntypedef void (APIENTRYP PFNGLFLUSHVERTEXARRAYRANGENVPROC) (void);\ntypedef void (APIENTRYP PFNGLVERTEXARRAYRANGENVPROC) (GLsizei length, const void *pointer);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glFlushVertexArrayRangeNV (void);\nGLAPI void APIENTRY glVertexArrayRangeNV (GLsizei length, const void *pointer);\n#endif\n#endif /* GL_NV_vertex_array_range */\n\n#ifndef GL_NV_vertex_array_range2\n#define GL_NV_vertex_array_range2 1\n#define GL_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV 0x8533\n#endif /* GL_NV_vertex_array_range2 */\n\n#ifndef GL_NV_vertex_attrib_integer_64bit\n#define GL_NV_vertex_attrib_integer_64bit 1\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBL1I64NVPROC) (GLuint index, GLint64EXT x);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBL2I64NVPROC) (GLuint index, GLint64EXT x, GLint64EXT y);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBL3I64NVPROC) (GLuint index, GLint64EXT x, GLint64EXT y, GLint64EXT z);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBL4I64NVPROC) (GLuint index, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBL1I64VNVPROC) (GLuint index, const GLint64EXT *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBL2I64VNVPROC) (GLuint index, const GLint64EXT *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBL3I64VNVPROC) (GLuint index, const GLint64EXT *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBL4I64VNVPROC) (GLuint index, const GLint64EXT *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBL1UI64NVPROC) (GLuint index, GLuint64EXT x);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBL2UI64NVPROC) (GLuint index, GLuint64EXT x, GLuint64EXT y);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBL3UI64NVPROC) (GLuint index, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBL4UI64NVPROC) (GLuint index, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBL1UI64VNVPROC) (GLuint index, const GLuint64EXT *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBL2UI64VNVPROC) (GLuint index, const GLuint64EXT *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBL3UI64VNVPROC) (GLuint index, const GLuint64EXT *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBL4UI64VNVPROC) (GLuint index, const GLuint64EXT *v);\ntypedef void (APIENTRYP PFNGLGETVERTEXATTRIBLI64VNVPROC) (GLuint index, GLenum pname, GLint64EXT *params);\ntypedef void (APIENTRYP PFNGLGETVERTEXATTRIBLUI64VNVPROC) (GLuint index, GLenum pname, GLuint64EXT *params);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBLFORMATNVPROC) (GLuint index, GLint size, GLenum type, GLsizei stride);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glVertexAttribL1i64NV (GLuint index, GLint64EXT x);\nGLAPI void APIENTRY glVertexAttribL2i64NV (GLuint index, GLint64EXT x, GLint64EXT y);\nGLAPI void APIENTRY glVertexAttribL3i64NV (GLuint index, GLint64EXT x, GLint64EXT y, GLint64EXT z);\nGLAPI void APIENTRY glVertexAttribL4i64NV (GLuint index, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w);\nGLAPI void APIENTRY glVertexAttribL1i64vNV (GLuint index, const GLint64EXT *v);\nGLAPI void APIENTRY glVertexAttribL2i64vNV (GLuint index, const GLint64EXT *v);\nGLAPI void APIENTRY glVertexAttribL3i64vNV (GLuint index, const GLint64EXT *v);\nGLAPI void APIENTRY glVertexAttribL4i64vNV (GLuint index, const GLint64EXT *v);\nGLAPI void APIENTRY glVertexAttribL1ui64NV (GLuint index, GLuint64EXT x);\nGLAPI void APIENTRY glVertexAttribL2ui64NV (GLuint index, GLuint64EXT x, GLuint64EXT y);\nGLAPI void APIENTRY glVertexAttribL3ui64NV (GLuint index, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z);\nGLAPI void APIENTRY glVertexAttribL4ui64NV (GLuint index, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w);\nGLAPI void APIENTRY glVertexAttribL1ui64vNV (GLuint index, const GLuint64EXT *v);\nGLAPI void APIENTRY glVertexAttribL2ui64vNV (GLuint index, const GLuint64EXT *v);\nGLAPI void APIENTRY glVertexAttribL3ui64vNV (GLuint index, const GLuint64EXT *v);\nGLAPI void APIENTRY glVertexAttribL4ui64vNV (GLuint index, const GLuint64EXT *v);\nGLAPI void APIENTRY glGetVertexAttribLi64vNV (GLuint index, GLenum pname, GLint64EXT *params);\nGLAPI void APIENTRY glGetVertexAttribLui64vNV (GLuint index, GLenum pname, GLuint64EXT *params);\nGLAPI void APIENTRY glVertexAttribLFormatNV (GLuint index, GLint size, GLenum type, GLsizei stride);\n#endif\n#endif /* GL_NV_vertex_attrib_integer_64bit */\n\n#ifndef GL_NV_vertex_buffer_unified_memory\n#define GL_NV_vertex_buffer_unified_memory 1\n#define GL_VERTEX_ATTRIB_ARRAY_UNIFIED_NV 0x8F1E\n#define GL_ELEMENT_ARRAY_UNIFIED_NV       0x8F1F\n#define GL_VERTEX_ATTRIB_ARRAY_ADDRESS_NV 0x8F20\n#define GL_VERTEX_ARRAY_ADDRESS_NV        0x8F21\n#define GL_NORMAL_ARRAY_ADDRESS_NV        0x8F22\n#define GL_COLOR_ARRAY_ADDRESS_NV         0x8F23\n#define GL_INDEX_ARRAY_ADDRESS_NV         0x8F24\n#define GL_TEXTURE_COORD_ARRAY_ADDRESS_NV 0x8F25\n#define GL_EDGE_FLAG_ARRAY_ADDRESS_NV     0x8F26\n#define GL_SECONDARY_COLOR_ARRAY_ADDRESS_NV 0x8F27\n#define GL_FOG_COORD_ARRAY_ADDRESS_NV     0x8F28\n#define GL_ELEMENT_ARRAY_ADDRESS_NV       0x8F29\n#define GL_VERTEX_ATTRIB_ARRAY_LENGTH_NV  0x8F2A\n#define GL_VERTEX_ARRAY_LENGTH_NV         0x8F2B\n#define GL_NORMAL_ARRAY_LENGTH_NV         0x8F2C\n#define GL_COLOR_ARRAY_LENGTH_NV          0x8F2D\n#define GL_INDEX_ARRAY_LENGTH_NV          0x8F2E\n#define GL_TEXTURE_COORD_ARRAY_LENGTH_NV  0x8F2F\n#define GL_EDGE_FLAG_ARRAY_LENGTH_NV      0x8F30\n#define GL_SECONDARY_COLOR_ARRAY_LENGTH_NV 0x8F31\n#define GL_FOG_COORD_ARRAY_LENGTH_NV      0x8F32\n#define GL_ELEMENT_ARRAY_LENGTH_NV        0x8F33\n#define GL_DRAW_INDIRECT_UNIFIED_NV       0x8F40\n#define GL_DRAW_INDIRECT_ADDRESS_NV       0x8F41\n#define GL_DRAW_INDIRECT_LENGTH_NV        0x8F42\ntypedef void (APIENTRYP PFNGLBUFFERADDRESSRANGENVPROC) (GLenum pname, GLuint index, GLuint64EXT address, GLsizeiptr length);\ntypedef void (APIENTRYP PFNGLVERTEXFORMATNVPROC) (GLint size, GLenum type, GLsizei stride);\ntypedef void (APIENTRYP PFNGLNORMALFORMATNVPROC) (GLenum type, GLsizei stride);\ntypedef void (APIENTRYP PFNGLCOLORFORMATNVPROC) (GLint size, GLenum type, GLsizei stride);\ntypedef void (APIENTRYP PFNGLINDEXFORMATNVPROC) (GLenum type, GLsizei stride);\ntypedef void (APIENTRYP PFNGLTEXCOORDFORMATNVPROC) (GLint size, GLenum type, GLsizei stride);\ntypedef void (APIENTRYP PFNGLEDGEFLAGFORMATNVPROC) (GLsizei stride);\ntypedef void (APIENTRYP PFNGLSECONDARYCOLORFORMATNVPROC) (GLint size, GLenum type, GLsizei stride);\ntypedef void (APIENTRYP PFNGLFOGCOORDFORMATNVPROC) (GLenum type, GLsizei stride);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBFORMATNVPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBIFORMATNVPROC) (GLuint index, GLint size, GLenum type, GLsizei stride);\ntypedef void (APIENTRYP PFNGLGETINTEGERUI64I_VNVPROC) (GLenum value, GLuint index, GLuint64EXT *result);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glBufferAddressRangeNV (GLenum pname, GLuint index, GLuint64EXT address, GLsizeiptr length);\nGLAPI void APIENTRY glVertexFormatNV (GLint size, GLenum type, GLsizei stride);\nGLAPI void APIENTRY glNormalFormatNV (GLenum type, GLsizei stride);\nGLAPI void APIENTRY glColorFormatNV (GLint size, GLenum type, GLsizei stride);\nGLAPI void APIENTRY glIndexFormatNV (GLenum type, GLsizei stride);\nGLAPI void APIENTRY glTexCoordFormatNV (GLint size, GLenum type, GLsizei stride);\nGLAPI void APIENTRY glEdgeFlagFormatNV (GLsizei stride);\nGLAPI void APIENTRY glSecondaryColorFormatNV (GLint size, GLenum type, GLsizei stride);\nGLAPI void APIENTRY glFogCoordFormatNV (GLenum type, GLsizei stride);\nGLAPI void APIENTRY glVertexAttribFormatNV (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride);\nGLAPI void APIENTRY glVertexAttribIFormatNV (GLuint index, GLint size, GLenum type, GLsizei stride);\nGLAPI void APIENTRY glGetIntegerui64i_vNV (GLenum value, GLuint index, GLuint64EXT *result);\n#endif\n#endif /* GL_NV_vertex_buffer_unified_memory */\n\n#ifndef GL_NV_vertex_program\n#define GL_NV_vertex_program 1\n#define GL_VERTEX_PROGRAM_NV              0x8620\n#define GL_VERTEX_STATE_PROGRAM_NV        0x8621\n#define GL_ATTRIB_ARRAY_SIZE_NV           0x8623\n#define GL_ATTRIB_ARRAY_STRIDE_NV         0x8624\n#define GL_ATTRIB_ARRAY_TYPE_NV           0x8625\n#define GL_CURRENT_ATTRIB_NV              0x8626\n#define GL_PROGRAM_LENGTH_NV              0x8627\n#define GL_PROGRAM_STRING_NV              0x8628\n#define GL_MODELVIEW_PROJECTION_NV        0x8629\n#define GL_IDENTITY_NV                    0x862A\n#define GL_INVERSE_NV                     0x862B\n#define GL_TRANSPOSE_NV                   0x862C\n#define GL_INVERSE_TRANSPOSE_NV           0x862D\n#define GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV 0x862E\n#define GL_MAX_TRACK_MATRICES_NV          0x862F\n#define GL_MATRIX0_NV                     0x8630\n#define GL_MATRIX1_NV                     0x8631\n#define GL_MATRIX2_NV                     0x8632\n#define GL_MATRIX3_NV                     0x8633\n#define GL_MATRIX4_NV                     0x8634\n#define GL_MATRIX5_NV                     0x8635\n#define GL_MATRIX6_NV                     0x8636\n#define GL_MATRIX7_NV                     0x8637\n#define GL_CURRENT_MATRIX_STACK_DEPTH_NV  0x8640\n#define GL_CURRENT_MATRIX_NV              0x8641\n#define GL_VERTEX_PROGRAM_POINT_SIZE_NV   0x8642\n#define GL_VERTEX_PROGRAM_TWO_SIDE_NV     0x8643\n#define GL_PROGRAM_PARAMETER_NV           0x8644\n#define GL_ATTRIB_ARRAY_POINTER_NV        0x8645\n#define GL_PROGRAM_TARGET_NV              0x8646\n#define GL_PROGRAM_RESIDENT_NV            0x8647\n#define GL_TRACK_MATRIX_NV                0x8648\n#define GL_TRACK_MATRIX_TRANSFORM_NV      0x8649\n#define GL_VERTEX_PROGRAM_BINDING_NV      0x864A\n#define GL_PROGRAM_ERROR_POSITION_NV      0x864B\n#define GL_VERTEX_ATTRIB_ARRAY0_NV        0x8650\n#define GL_VERTEX_ATTRIB_ARRAY1_NV        0x8651\n#define GL_VERTEX_ATTRIB_ARRAY2_NV        0x8652\n#define GL_VERTEX_ATTRIB_ARRAY3_NV        0x8653\n#define GL_VERTEX_ATTRIB_ARRAY4_NV        0x8654\n#define GL_VERTEX_ATTRIB_ARRAY5_NV        0x8655\n#define GL_VERTEX_ATTRIB_ARRAY6_NV        0x8656\n#define GL_VERTEX_ATTRIB_ARRAY7_NV        0x8657\n#define GL_VERTEX_ATTRIB_ARRAY8_NV        0x8658\n#define GL_VERTEX_ATTRIB_ARRAY9_NV        0x8659\n#define GL_VERTEX_ATTRIB_ARRAY10_NV       0x865A\n#define GL_VERTEX_ATTRIB_ARRAY11_NV       0x865B\n#define GL_VERTEX_ATTRIB_ARRAY12_NV       0x865C\n#define GL_VERTEX_ATTRIB_ARRAY13_NV       0x865D\n#define GL_VERTEX_ATTRIB_ARRAY14_NV       0x865E\n#define GL_VERTEX_ATTRIB_ARRAY15_NV       0x865F\n#define GL_MAP1_VERTEX_ATTRIB0_4_NV       0x8660\n#define GL_MAP1_VERTEX_ATTRIB1_4_NV       0x8661\n#define GL_MAP1_VERTEX_ATTRIB2_4_NV       0x8662\n#define GL_MAP1_VERTEX_ATTRIB3_4_NV       0x8663\n#define GL_MAP1_VERTEX_ATTRIB4_4_NV       0x8664\n#define GL_MAP1_VERTEX_ATTRIB5_4_NV       0x8665\n#define GL_MAP1_VERTEX_ATTRIB6_4_NV       0x8666\n#define GL_MAP1_VERTEX_ATTRIB7_4_NV       0x8667\n#define GL_MAP1_VERTEX_ATTRIB8_4_NV       0x8668\n#define GL_MAP1_VERTEX_ATTRIB9_4_NV       0x8669\n#define GL_MAP1_VERTEX_ATTRIB10_4_NV      0x866A\n#define GL_MAP1_VERTEX_ATTRIB11_4_NV      0x866B\n#define GL_MAP1_VERTEX_ATTRIB12_4_NV      0x866C\n#define GL_MAP1_VERTEX_ATTRIB13_4_NV      0x866D\n#define GL_MAP1_VERTEX_ATTRIB14_4_NV      0x866E\n#define GL_MAP1_VERTEX_ATTRIB15_4_NV      0x866F\n#define GL_MAP2_VERTEX_ATTRIB0_4_NV       0x8670\n#define GL_MAP2_VERTEX_ATTRIB1_4_NV       0x8671\n#define GL_MAP2_VERTEX_ATTRIB2_4_NV       0x8672\n#define GL_MAP2_VERTEX_ATTRIB3_4_NV       0x8673\n#define GL_MAP2_VERTEX_ATTRIB4_4_NV       0x8674\n#define GL_MAP2_VERTEX_ATTRIB5_4_NV       0x8675\n#define GL_MAP2_VERTEX_ATTRIB6_4_NV       0x8676\n#define GL_MAP2_VERTEX_ATTRIB7_4_NV       0x8677\n#define GL_MAP2_VERTEX_ATTRIB8_4_NV       0x8678\n#define GL_MAP2_VERTEX_ATTRIB9_4_NV       0x8679\n#define GL_MAP2_VERTEX_ATTRIB10_4_NV      0x867A\n#define GL_MAP2_VERTEX_ATTRIB11_4_NV      0x867B\n#define GL_MAP2_VERTEX_ATTRIB12_4_NV      0x867C\n#define GL_MAP2_VERTEX_ATTRIB13_4_NV      0x867D\n#define GL_MAP2_VERTEX_ATTRIB14_4_NV      0x867E\n#define GL_MAP2_VERTEX_ATTRIB15_4_NV      0x867F\ntypedef GLboolean (APIENTRYP PFNGLAREPROGRAMSRESIDENTNVPROC) (GLsizei n, const GLuint *programs, GLboolean *residences);\ntypedef void (APIENTRYP PFNGLBINDPROGRAMNVPROC) (GLenum target, GLuint id);\ntypedef void (APIENTRYP PFNGLDELETEPROGRAMSNVPROC) (GLsizei n, const GLuint *programs);\ntypedef void (APIENTRYP PFNGLEXECUTEPROGRAMNVPROC) (GLenum target, GLuint id, const GLfloat *params);\ntypedef void (APIENTRYP PFNGLGENPROGRAMSNVPROC) (GLsizei n, GLuint *programs);\ntypedef void (APIENTRYP PFNGLGETPROGRAMPARAMETERDVNVPROC) (GLenum target, GLuint index, GLenum pname, GLdouble *params);\ntypedef void (APIENTRYP PFNGLGETPROGRAMPARAMETERFVNVPROC) (GLenum target, GLuint index, GLenum pname, GLfloat *params);\ntypedef void (APIENTRYP PFNGLGETPROGRAMIVNVPROC) (GLuint id, GLenum pname, GLint *params);\ntypedef void (APIENTRYP PFNGLGETPROGRAMSTRINGNVPROC) (GLuint id, GLenum pname, GLubyte *program);\ntypedef void (APIENTRYP PFNGLGETTRACKMATRIXIVNVPROC) (GLenum target, GLuint address, GLenum pname, GLint *params);\ntypedef void (APIENTRYP PFNGLGETVERTEXATTRIBDVNVPROC) (GLuint index, GLenum pname, GLdouble *params);\ntypedef void (APIENTRYP PFNGLGETVERTEXATTRIBFVNVPROC) (GLuint index, GLenum pname, GLfloat *params);\ntypedef void (APIENTRYP PFNGLGETVERTEXATTRIBIVNVPROC) (GLuint index, GLenum pname, GLint *params);\ntypedef void (APIENTRYP PFNGLGETVERTEXATTRIBPOINTERVNVPROC) (GLuint index, GLenum pname, void **pointer);\ntypedef GLboolean (APIENTRYP PFNGLISPROGRAMNVPROC) (GLuint id);\ntypedef void (APIENTRYP PFNGLLOADPROGRAMNVPROC) (GLenum target, GLuint id, GLsizei len, const GLubyte *program);\ntypedef void (APIENTRYP PFNGLPROGRAMPARAMETER4DNVPROC) (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\ntypedef void (APIENTRYP PFNGLPROGRAMPARAMETER4DVNVPROC) (GLenum target, GLuint index, const GLdouble *v);\ntypedef void (APIENTRYP PFNGLPROGRAMPARAMETER4FNVPROC) (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\ntypedef void (APIENTRYP PFNGLPROGRAMPARAMETER4FVNVPROC) (GLenum target, GLuint index, const GLfloat *v);\ntypedef void (APIENTRYP PFNGLPROGRAMPARAMETERS4DVNVPROC) (GLenum target, GLuint index, GLsizei count, const GLdouble *v);\ntypedef void (APIENTRYP PFNGLPROGRAMPARAMETERS4FVNVPROC) (GLenum target, GLuint index, GLsizei count, const GLfloat *v);\ntypedef void (APIENTRYP PFNGLREQUESTRESIDENTPROGRAMSNVPROC) (GLsizei n, const GLuint *programs);\ntypedef void (APIENTRYP PFNGLTRACKMATRIXNVPROC) (GLenum target, GLuint address, GLenum matrix, GLenum transform);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBPOINTERNVPROC) (GLuint index, GLint fsize, GLenum type, GLsizei stride, const void *pointer);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB1DNVPROC) (GLuint index, GLdouble x);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB1DVNVPROC) (GLuint index, const GLdouble *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB1FNVPROC) (GLuint index, GLfloat x);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB1FVNVPROC) (GLuint index, const GLfloat *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB1SNVPROC) (GLuint index, GLshort x);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB1SVNVPROC) (GLuint index, const GLshort *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB2DNVPROC) (GLuint index, GLdouble x, GLdouble y);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB2DVNVPROC) (GLuint index, const GLdouble *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB2FNVPROC) (GLuint index, GLfloat x, GLfloat y);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB2FVNVPROC) (GLuint index, const GLfloat *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB2SNVPROC) (GLuint index, GLshort x, GLshort y);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB2SVNVPROC) (GLuint index, const GLshort *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB3DNVPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB3DVNVPROC) (GLuint index, const GLdouble *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB3FNVPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB3FVNVPROC) (GLuint index, const GLfloat *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB3SNVPROC) (GLuint index, GLshort x, GLshort y, GLshort z);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB3SVNVPROC) (GLuint index, const GLshort *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4DNVPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4DVNVPROC) (GLuint index, const GLdouble *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4FNVPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4FVNVPROC) (GLuint index, const GLfloat *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4SNVPROC) (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4SVNVPROC) (GLuint index, const GLshort *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4UBNVPROC) (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4UBVNVPROC) (GLuint index, const GLubyte *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBS1DVNVPROC) (GLuint index, GLsizei count, const GLdouble *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBS1FVNVPROC) (GLuint index, GLsizei count, const GLfloat *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBS1SVNVPROC) (GLuint index, GLsizei count, const GLshort *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBS2DVNVPROC) (GLuint index, GLsizei count, const GLdouble *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBS2FVNVPROC) (GLuint index, GLsizei count, const GLfloat *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBS2SVNVPROC) (GLuint index, GLsizei count, const GLshort *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBS3DVNVPROC) (GLuint index, GLsizei count, const GLdouble *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBS3FVNVPROC) (GLuint index, GLsizei count, const GLfloat *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBS3SVNVPROC) (GLuint index, GLsizei count, const GLshort *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBS4DVNVPROC) (GLuint index, GLsizei count, const GLdouble *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBS4FVNVPROC) (GLuint index, GLsizei count, const GLfloat *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBS4SVNVPROC) (GLuint index, GLsizei count, const GLshort *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBS4UBVNVPROC) (GLuint index, GLsizei count, const GLubyte *v);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI GLboolean APIENTRY glAreProgramsResidentNV (GLsizei n, const GLuint *programs, GLboolean *residences);\nGLAPI void APIENTRY glBindProgramNV (GLenum target, GLuint id);\nGLAPI void APIENTRY glDeleteProgramsNV (GLsizei n, const GLuint *programs);\nGLAPI void APIENTRY glExecuteProgramNV (GLenum target, GLuint id, const GLfloat *params);\nGLAPI void APIENTRY glGenProgramsNV (GLsizei n, GLuint *programs);\nGLAPI void APIENTRY glGetProgramParameterdvNV (GLenum target, GLuint index, GLenum pname, GLdouble *params);\nGLAPI void APIENTRY glGetProgramParameterfvNV (GLenum target, GLuint index, GLenum pname, GLfloat *params);\nGLAPI void APIENTRY glGetProgramivNV (GLuint id, GLenum pname, GLint *params);\nGLAPI void APIENTRY glGetProgramStringNV (GLuint id, GLenum pname, GLubyte *program);\nGLAPI void APIENTRY glGetTrackMatrixivNV (GLenum target, GLuint address, GLenum pname, GLint *params);\nGLAPI void APIENTRY glGetVertexAttribdvNV (GLuint index, GLenum pname, GLdouble *params);\nGLAPI void APIENTRY glGetVertexAttribfvNV (GLuint index, GLenum pname, GLfloat *params);\nGLAPI void APIENTRY glGetVertexAttribivNV (GLuint index, GLenum pname, GLint *params);\nGLAPI void APIENTRY glGetVertexAttribPointervNV (GLuint index, GLenum pname, void **pointer);\nGLAPI GLboolean APIENTRY glIsProgramNV (GLuint id);\nGLAPI void APIENTRY glLoadProgramNV (GLenum target, GLuint id, GLsizei len, const GLubyte *program);\nGLAPI void APIENTRY glProgramParameter4dNV (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nGLAPI void APIENTRY glProgramParameter4dvNV (GLenum target, GLuint index, const GLdouble *v);\nGLAPI void APIENTRY glProgramParameter4fNV (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nGLAPI void APIENTRY glProgramParameter4fvNV (GLenum target, GLuint index, const GLfloat *v);\nGLAPI void APIENTRY glProgramParameters4dvNV (GLenum target, GLuint index, GLsizei count, const GLdouble *v);\nGLAPI void APIENTRY glProgramParameters4fvNV (GLenum target, GLuint index, GLsizei count, const GLfloat *v);\nGLAPI void APIENTRY glRequestResidentProgramsNV (GLsizei n, const GLuint *programs);\nGLAPI void APIENTRY glTrackMatrixNV (GLenum target, GLuint address, GLenum matrix, GLenum transform);\nGLAPI void APIENTRY glVertexAttribPointerNV (GLuint index, GLint fsize, GLenum type, GLsizei stride, const void *pointer);\nGLAPI void APIENTRY glVertexAttrib1dNV (GLuint index, GLdouble x);\nGLAPI void APIENTRY glVertexAttrib1dvNV (GLuint index, const GLdouble *v);\nGLAPI void APIENTRY glVertexAttrib1fNV (GLuint index, GLfloat x);\nGLAPI void APIENTRY glVertexAttrib1fvNV (GLuint index, const GLfloat *v);\nGLAPI void APIENTRY glVertexAttrib1sNV (GLuint index, GLshort x);\nGLAPI void APIENTRY glVertexAttrib1svNV (GLuint index, const GLshort *v);\nGLAPI void APIENTRY glVertexAttrib2dNV (GLuint index, GLdouble x, GLdouble y);\nGLAPI void APIENTRY glVertexAttrib2dvNV (GLuint index, const GLdouble *v);\nGLAPI void APIENTRY glVertexAttrib2fNV (GLuint index, GLfloat x, GLfloat y);\nGLAPI void APIENTRY glVertexAttrib2fvNV (GLuint index, const GLfloat *v);\nGLAPI void APIENTRY glVertexAttrib2sNV (GLuint index, GLshort x, GLshort y);\nGLAPI void APIENTRY glVertexAttrib2svNV (GLuint index, const GLshort *v);\nGLAPI void APIENTRY glVertexAttrib3dNV (GLuint index, GLdouble x, GLdouble y, GLdouble z);\nGLAPI void APIENTRY glVertexAttrib3dvNV (GLuint index, const GLdouble *v);\nGLAPI void APIENTRY glVertexAttrib3fNV (GLuint index, GLfloat x, GLfloat y, GLfloat z);\nGLAPI void APIENTRY glVertexAttrib3fvNV (GLuint index, const GLfloat *v);\nGLAPI void APIENTRY glVertexAttrib3sNV (GLuint index, GLshort x, GLshort y, GLshort z);\nGLAPI void APIENTRY glVertexAttrib3svNV (GLuint index, const GLshort *v);\nGLAPI void APIENTRY glVertexAttrib4dNV (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nGLAPI void APIENTRY glVertexAttrib4dvNV (GLuint index, const GLdouble *v);\nGLAPI void APIENTRY glVertexAttrib4fNV (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nGLAPI void APIENTRY glVertexAttrib4fvNV (GLuint index, const GLfloat *v);\nGLAPI void APIENTRY glVertexAttrib4sNV (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);\nGLAPI void APIENTRY glVertexAttrib4svNV (GLuint index, const GLshort *v);\nGLAPI void APIENTRY glVertexAttrib4ubNV (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);\nGLAPI void APIENTRY glVertexAttrib4ubvNV (GLuint index, const GLubyte *v);\nGLAPI void APIENTRY glVertexAttribs1dvNV (GLuint index, GLsizei count, const GLdouble *v);\nGLAPI void APIENTRY glVertexAttribs1fvNV (GLuint index, GLsizei count, const GLfloat *v);\nGLAPI void APIENTRY glVertexAttribs1svNV (GLuint index, GLsizei count, const GLshort *v);\nGLAPI void APIENTRY glVertexAttribs2dvNV (GLuint index, GLsizei count, const GLdouble *v);\nGLAPI void APIENTRY glVertexAttribs2fvNV (GLuint index, GLsizei count, const GLfloat *v);\nGLAPI void APIENTRY glVertexAttribs2svNV (GLuint index, GLsizei count, const GLshort *v);\nGLAPI void APIENTRY glVertexAttribs3dvNV (GLuint index, GLsizei count, const GLdouble *v);\nGLAPI void APIENTRY glVertexAttribs3fvNV (GLuint index, GLsizei count, const GLfloat *v);\nGLAPI void APIENTRY glVertexAttribs3svNV (GLuint index, GLsizei count, const GLshort *v);\nGLAPI void APIENTRY glVertexAttribs4dvNV (GLuint index, GLsizei count, const GLdouble *v);\nGLAPI void APIENTRY glVertexAttribs4fvNV (GLuint index, GLsizei count, const GLfloat *v);\nGLAPI void APIENTRY glVertexAttribs4svNV (GLuint index, GLsizei count, const GLshort *v);\nGLAPI void APIENTRY glVertexAttribs4ubvNV (GLuint index, GLsizei count, const GLubyte *v);\n#endif\n#endif /* GL_NV_vertex_program */\n\n#ifndef GL_NV_vertex_program1_1\n#define GL_NV_vertex_program1_1 1\n#endif /* GL_NV_vertex_program1_1 */\n\n#ifndef GL_NV_vertex_program2\n#define GL_NV_vertex_program2 1\n#endif /* GL_NV_vertex_program2 */\n\n#ifndef GL_NV_vertex_program2_option\n#define GL_NV_vertex_program2_option 1\n#endif /* GL_NV_vertex_program2_option */\n\n#ifndef GL_NV_vertex_program3\n#define GL_NV_vertex_program3 1\n#endif /* GL_NV_vertex_program3 */\n\n#ifndef GL_NV_vertex_program4\n#define GL_NV_vertex_program4 1\n#define GL_VERTEX_ATTRIB_ARRAY_INTEGER_NV 0x88FD\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBI1IEXTPROC) (GLuint index, GLint x);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBI2IEXTPROC) (GLuint index, GLint x, GLint y);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBI3IEXTPROC) (GLuint index, GLint x, GLint y, GLint z);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBI4IEXTPROC) (GLuint index, GLint x, GLint y, GLint z, GLint w);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBI1UIEXTPROC) (GLuint index, GLuint x);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBI2UIEXTPROC) (GLuint index, GLuint x, GLuint y);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBI3UIEXTPROC) (GLuint index, GLuint x, GLuint y, GLuint z);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBI4UIEXTPROC) (GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBI1IVEXTPROC) (GLuint index, const GLint *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBI2IVEXTPROC) (GLuint index, const GLint *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBI3IVEXTPROC) (GLuint index, const GLint *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBI4IVEXTPROC) (GLuint index, const GLint *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBI1UIVEXTPROC) (GLuint index, const GLuint *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBI2UIVEXTPROC) (GLuint index, const GLuint *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBI3UIVEXTPROC) (GLuint index, const GLuint *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBI4UIVEXTPROC) (GLuint index, const GLuint *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBI4BVEXTPROC) (GLuint index, const GLbyte *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBI4SVEXTPROC) (GLuint index, const GLshort *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBI4UBVEXTPROC) (GLuint index, const GLubyte *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBI4USVEXTPROC) (GLuint index, const GLushort *v);\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBIPOINTEREXTPROC) (GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer);\ntypedef void (APIENTRYP PFNGLGETVERTEXATTRIBIIVEXTPROC) (GLuint index, GLenum pname, GLint *params);\ntypedef void (APIENTRYP PFNGLGETVERTEXATTRIBIUIVEXTPROC) (GLuint index, GLenum pname, GLuint *params);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glVertexAttribI1iEXT (GLuint index, GLint x);\nGLAPI void APIENTRY glVertexAttribI2iEXT (GLuint index, GLint x, GLint y);\nGLAPI void APIENTRY glVertexAttribI3iEXT (GLuint index, GLint x, GLint y, GLint z);\nGLAPI void APIENTRY glVertexAttribI4iEXT (GLuint index, GLint x, GLint y, GLint z, GLint w);\nGLAPI void APIENTRY glVertexAttribI1uiEXT (GLuint index, GLuint x);\nGLAPI void APIENTRY glVertexAttribI2uiEXT (GLuint index, GLuint x, GLuint y);\nGLAPI void APIENTRY glVertexAttribI3uiEXT (GLuint index, GLuint x, GLuint y, GLuint z);\nGLAPI void APIENTRY glVertexAttribI4uiEXT (GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);\nGLAPI void APIENTRY glVertexAttribI1ivEXT (GLuint index, const GLint *v);\nGLAPI void APIENTRY glVertexAttribI2ivEXT (GLuint index, const GLint *v);\nGLAPI void APIENTRY glVertexAttribI3ivEXT (GLuint index, const GLint *v);\nGLAPI void APIENTRY glVertexAttribI4ivEXT (GLuint index, const GLint *v);\nGLAPI void APIENTRY glVertexAttribI1uivEXT (GLuint index, const GLuint *v);\nGLAPI void APIENTRY glVertexAttribI2uivEXT (GLuint index, const GLuint *v);\nGLAPI void APIENTRY glVertexAttribI3uivEXT (GLuint index, const GLuint *v);\nGLAPI void APIENTRY glVertexAttribI4uivEXT (GLuint index, const GLuint *v);\nGLAPI void APIENTRY glVertexAttribI4bvEXT (GLuint index, const GLbyte *v);\nGLAPI void APIENTRY glVertexAttribI4svEXT (GLuint index, const GLshort *v);\nGLAPI void APIENTRY glVertexAttribI4ubvEXT (GLuint index, const GLubyte *v);\nGLAPI void APIENTRY glVertexAttribI4usvEXT (GLuint index, const GLushort *v);\nGLAPI void APIENTRY glVertexAttribIPointerEXT (GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer);\nGLAPI void APIENTRY glGetVertexAttribIivEXT (GLuint index, GLenum pname, GLint *params);\nGLAPI void APIENTRY glGetVertexAttribIuivEXT (GLuint index, GLenum pname, GLuint *params);\n#endif\n#endif /* GL_NV_vertex_program4 */\n\n#ifndef GL_NV_video_capture\n#define GL_NV_video_capture 1\n#define GL_VIDEO_BUFFER_NV                0x9020\n#define GL_VIDEO_BUFFER_BINDING_NV        0x9021\n#define GL_FIELD_UPPER_NV                 0x9022\n#define GL_FIELD_LOWER_NV                 0x9023\n#define GL_NUM_VIDEO_CAPTURE_STREAMS_NV   0x9024\n#define GL_NEXT_VIDEO_CAPTURE_BUFFER_STATUS_NV 0x9025\n#define GL_VIDEO_CAPTURE_TO_422_SUPPORTED_NV 0x9026\n#define GL_LAST_VIDEO_CAPTURE_STATUS_NV   0x9027\n#define GL_VIDEO_BUFFER_PITCH_NV          0x9028\n#define GL_VIDEO_COLOR_CONVERSION_MATRIX_NV 0x9029\n#define GL_VIDEO_COLOR_CONVERSION_MAX_NV  0x902A\n#define GL_VIDEO_COLOR_CONVERSION_MIN_NV  0x902B\n#define GL_VIDEO_COLOR_CONVERSION_OFFSET_NV 0x902C\n#define GL_VIDEO_BUFFER_INTERNAL_FORMAT_NV 0x902D\n#define GL_PARTIAL_SUCCESS_NV             0x902E\n#define GL_SUCCESS_NV                     0x902F\n#define GL_FAILURE_NV                     0x9030\n#define GL_YCBYCR8_422_NV                 0x9031\n#define GL_YCBAYCR8A_4224_NV              0x9032\n#define GL_Z6Y10Z6CB10Z6Y10Z6CR10_422_NV  0x9033\n#define GL_Z6Y10Z6CB10Z6A10Z6Y10Z6CR10Z6A10_4224_NV 0x9034\n#define GL_Z4Y12Z4CB12Z4Y12Z4CR12_422_NV  0x9035\n#define GL_Z4Y12Z4CB12Z4A12Z4Y12Z4CR12Z4A12_4224_NV 0x9036\n#define GL_Z4Y12Z4CB12Z4CR12_444_NV       0x9037\n#define GL_VIDEO_CAPTURE_FRAME_WIDTH_NV   0x9038\n#define GL_VIDEO_CAPTURE_FRAME_HEIGHT_NV  0x9039\n#define GL_VIDEO_CAPTURE_FIELD_UPPER_HEIGHT_NV 0x903A\n#define GL_VIDEO_CAPTURE_FIELD_LOWER_HEIGHT_NV 0x903B\n#define GL_VIDEO_CAPTURE_SURFACE_ORIGIN_NV 0x903C\ntypedef void (APIENTRYP PFNGLBEGINVIDEOCAPTURENVPROC) (GLuint video_capture_slot);\ntypedef void (APIENTRYP PFNGLBINDVIDEOCAPTURESTREAMBUFFERNVPROC) (GLuint video_capture_slot, GLuint stream, GLenum frame_region, GLintptrARB offset);\ntypedef void (APIENTRYP PFNGLBINDVIDEOCAPTURESTREAMTEXTURENVPROC) (GLuint video_capture_slot, GLuint stream, GLenum frame_region, GLenum target, GLuint texture);\ntypedef void (APIENTRYP PFNGLENDVIDEOCAPTURENVPROC) (GLuint video_capture_slot);\ntypedef void (APIENTRYP PFNGLGETVIDEOCAPTUREIVNVPROC) (GLuint video_capture_slot, GLenum pname, GLint *params);\ntypedef void (APIENTRYP PFNGLGETVIDEOCAPTURESTREAMIVNVPROC) (GLuint video_capture_slot, GLuint stream, GLenum pname, GLint *params);\ntypedef void (APIENTRYP PFNGLGETVIDEOCAPTURESTREAMFVNVPROC) (GLuint video_capture_slot, GLuint stream, GLenum pname, GLfloat *params);\ntypedef void (APIENTRYP PFNGLGETVIDEOCAPTURESTREAMDVNVPROC) (GLuint video_capture_slot, GLuint stream, GLenum pname, GLdouble *params);\ntypedef GLenum (APIENTRYP PFNGLVIDEOCAPTURENVPROC) (GLuint video_capture_slot, GLuint *sequence_num, GLuint64EXT *capture_time);\ntypedef void (APIENTRYP PFNGLVIDEOCAPTURESTREAMPARAMETERIVNVPROC) (GLuint video_capture_slot, GLuint stream, GLenum pname, const GLint *params);\ntypedef void (APIENTRYP PFNGLVIDEOCAPTURESTREAMPARAMETERFVNVPROC) (GLuint video_capture_slot, GLuint stream, GLenum pname, const GLfloat *params);\ntypedef void (APIENTRYP PFNGLVIDEOCAPTURESTREAMPARAMETERDVNVPROC) (GLuint video_capture_slot, GLuint stream, GLenum pname, const GLdouble *params);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glBeginVideoCaptureNV (GLuint video_capture_slot);\nGLAPI void APIENTRY glBindVideoCaptureStreamBufferNV (GLuint video_capture_slot, GLuint stream, GLenum frame_region, GLintptrARB offset);\nGLAPI void APIENTRY glBindVideoCaptureStreamTextureNV (GLuint video_capture_slot, GLuint stream, GLenum frame_region, GLenum target, GLuint texture);\nGLAPI void APIENTRY glEndVideoCaptureNV (GLuint video_capture_slot);\nGLAPI void APIENTRY glGetVideoCaptureivNV (GLuint video_capture_slot, GLenum pname, GLint *params);\nGLAPI void APIENTRY glGetVideoCaptureStreamivNV (GLuint video_capture_slot, GLuint stream, GLenum pname, GLint *params);\nGLAPI void APIENTRY glGetVideoCaptureStreamfvNV (GLuint video_capture_slot, GLuint stream, GLenum pname, GLfloat *params);\nGLAPI void APIENTRY glGetVideoCaptureStreamdvNV (GLuint video_capture_slot, GLuint stream, GLenum pname, GLdouble *params);\nGLAPI GLenum APIENTRY glVideoCaptureNV (GLuint video_capture_slot, GLuint *sequence_num, GLuint64EXT *capture_time);\nGLAPI void APIENTRY glVideoCaptureStreamParameterivNV (GLuint video_capture_slot, GLuint stream, GLenum pname, const GLint *params);\nGLAPI void APIENTRY glVideoCaptureStreamParameterfvNV (GLuint video_capture_slot, GLuint stream, GLenum pname, const GLfloat *params);\nGLAPI void APIENTRY glVideoCaptureStreamParameterdvNV (GLuint video_capture_slot, GLuint stream, GLenum pname, const GLdouble *params);\n#endif\n#endif /* GL_NV_video_capture */\n\n#ifndef GL_OML_interlace\n#define GL_OML_interlace 1\n#define GL_INTERLACE_OML                  0x8980\n#define GL_INTERLACE_READ_OML             0x8981\n#endif /* GL_OML_interlace */\n\n#ifndef GL_OML_resample\n#define GL_OML_resample 1\n#define GL_PACK_RESAMPLE_OML              0x8984\n#define GL_UNPACK_RESAMPLE_OML            0x8985\n#define GL_RESAMPLE_REPLICATE_OML         0x8986\n#define GL_RESAMPLE_ZERO_FILL_OML         0x8987\n#define GL_RESAMPLE_AVERAGE_OML           0x8988\n#define GL_RESAMPLE_DECIMATE_OML          0x8989\n#endif /* GL_OML_resample */\n\n#ifndef GL_OML_subsample\n#define GL_OML_subsample 1\n#define GL_FORMAT_SUBSAMPLE_24_24_OML     0x8982\n#define GL_FORMAT_SUBSAMPLE_244_244_OML   0x8983\n#endif /* GL_OML_subsample */\n\n#ifndef GL_PGI_misc_hints\n#define GL_PGI_misc_hints 1\n#define GL_PREFER_DOUBLEBUFFER_HINT_PGI   0x1A1F8\n#define GL_CONSERVE_MEMORY_HINT_PGI       0x1A1FD\n#define GL_RECLAIM_MEMORY_HINT_PGI        0x1A1FE\n#define GL_NATIVE_GRAPHICS_HANDLE_PGI     0x1A202\n#define GL_NATIVE_GRAPHICS_BEGIN_HINT_PGI 0x1A203\n#define GL_NATIVE_GRAPHICS_END_HINT_PGI   0x1A204\n#define GL_ALWAYS_FAST_HINT_PGI           0x1A20C\n#define GL_ALWAYS_SOFT_HINT_PGI           0x1A20D\n#define GL_ALLOW_DRAW_OBJ_HINT_PGI        0x1A20E\n#define GL_ALLOW_DRAW_WIN_HINT_PGI        0x1A20F\n#define GL_ALLOW_DRAW_FRG_HINT_PGI        0x1A210\n#define GL_ALLOW_DRAW_MEM_HINT_PGI        0x1A211\n#define GL_STRICT_DEPTHFUNC_HINT_PGI      0x1A216\n#define GL_STRICT_LIGHTING_HINT_PGI       0x1A217\n#define GL_STRICT_SCISSOR_HINT_PGI        0x1A218\n#define GL_FULL_STIPPLE_HINT_PGI          0x1A219\n#define GL_CLIP_NEAR_HINT_PGI             0x1A220\n#define GL_CLIP_FAR_HINT_PGI              0x1A221\n#define GL_WIDE_LINE_HINT_PGI             0x1A222\n#define GL_BACK_NORMALS_HINT_PGI          0x1A223\ntypedef void (APIENTRYP PFNGLHINTPGIPROC) (GLenum target, GLint mode);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glHintPGI (GLenum target, GLint mode);\n#endif\n#endif /* GL_PGI_misc_hints */\n\n#ifndef GL_PGI_vertex_hints\n#define GL_PGI_vertex_hints 1\n#define GL_VERTEX_DATA_HINT_PGI           0x1A22A\n#define GL_VERTEX_CONSISTENT_HINT_PGI     0x1A22B\n#define GL_MATERIAL_SIDE_HINT_PGI         0x1A22C\n#define GL_MAX_VERTEX_HINT_PGI            0x1A22D\n#define GL_COLOR3_BIT_PGI                 0x00010000\n#define GL_COLOR4_BIT_PGI                 0x00020000\n#define GL_EDGEFLAG_BIT_PGI               0x00040000\n#define GL_INDEX_BIT_PGI                  0x00080000\n#define GL_MAT_AMBIENT_BIT_PGI            0x00100000\n#define GL_MAT_AMBIENT_AND_DIFFUSE_BIT_PGI 0x00200000\n#define GL_MAT_DIFFUSE_BIT_PGI            0x00400000\n#define GL_MAT_EMISSION_BIT_PGI           0x00800000\n#define GL_MAT_COLOR_INDEXES_BIT_PGI      0x01000000\n#define GL_MAT_SHININESS_BIT_PGI          0x02000000\n#define GL_MAT_SPECULAR_BIT_PGI           0x04000000\n#define GL_NORMAL_BIT_PGI                 0x08000000\n#define GL_TEXCOORD1_BIT_PGI              0x10000000\n#define GL_TEXCOORD2_BIT_PGI              0x20000000\n#define GL_TEXCOORD3_BIT_PGI              0x40000000\n#define GL_TEXCOORD4_BIT_PGI              0x80000000\n#define GL_VERTEX23_BIT_PGI               0x00000004\n#define GL_VERTEX4_BIT_PGI                0x00000008\n#endif /* GL_PGI_vertex_hints */\n\n#ifndef GL_REND_screen_coordinates\n#define GL_REND_screen_coordinates 1\n#define GL_SCREEN_COORDINATES_REND        0x8490\n#define GL_INVERTED_SCREEN_W_REND         0x8491\n#endif /* GL_REND_screen_coordinates */\n\n#ifndef GL_S3_s3tc\n#define GL_S3_s3tc 1\n#define GL_RGB_S3TC                       0x83A0\n#define GL_RGB4_S3TC                      0x83A1\n#define GL_RGBA_S3TC                      0x83A2\n#define GL_RGBA4_S3TC                     0x83A3\n#define GL_RGBA_DXT5_S3TC                 0x83A4\n#define GL_RGBA4_DXT5_S3TC                0x83A5\n#endif /* GL_S3_s3tc */\n\n#ifndef GL_SGIS_detail_texture\n#define GL_SGIS_detail_texture 1\n#define GL_DETAIL_TEXTURE_2D_SGIS         0x8095\n#define GL_DETAIL_TEXTURE_2D_BINDING_SGIS 0x8096\n#define GL_LINEAR_DETAIL_SGIS             0x8097\n#define GL_LINEAR_DETAIL_ALPHA_SGIS       0x8098\n#define GL_LINEAR_DETAIL_COLOR_SGIS       0x8099\n#define GL_DETAIL_TEXTURE_LEVEL_SGIS      0x809A\n#define GL_DETAIL_TEXTURE_MODE_SGIS       0x809B\n#define GL_DETAIL_TEXTURE_FUNC_POINTS_SGIS 0x809C\ntypedef void (APIENTRYP PFNGLDETAILTEXFUNCSGISPROC) (GLenum target, GLsizei n, const GLfloat *points);\ntypedef void (APIENTRYP PFNGLGETDETAILTEXFUNCSGISPROC) (GLenum target, GLfloat *points);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glDetailTexFuncSGIS (GLenum target, GLsizei n, const GLfloat *points);\nGLAPI void APIENTRY glGetDetailTexFuncSGIS (GLenum target, GLfloat *points);\n#endif\n#endif /* GL_SGIS_detail_texture */\n\n#ifndef GL_SGIS_fog_function\n#define GL_SGIS_fog_function 1\n#define GL_FOG_FUNC_SGIS                  0x812A\n#define GL_FOG_FUNC_POINTS_SGIS           0x812B\n#define GL_MAX_FOG_FUNC_POINTS_SGIS       0x812C\ntypedef void (APIENTRYP PFNGLFOGFUNCSGISPROC) (GLsizei n, const GLfloat *points);\ntypedef void (APIENTRYP PFNGLGETFOGFUNCSGISPROC) (GLfloat *points);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glFogFuncSGIS (GLsizei n, const GLfloat *points);\nGLAPI void APIENTRY glGetFogFuncSGIS (GLfloat *points);\n#endif\n#endif /* GL_SGIS_fog_function */\n\n#ifndef GL_SGIS_generate_mipmap\n#define GL_SGIS_generate_mipmap 1\n#define GL_GENERATE_MIPMAP_SGIS           0x8191\n#define GL_GENERATE_MIPMAP_HINT_SGIS      0x8192\n#endif /* GL_SGIS_generate_mipmap */\n\n#ifndef GL_SGIS_multisample\n#define GL_SGIS_multisample 1\n#define GL_MULTISAMPLE_SGIS               0x809D\n#define GL_SAMPLE_ALPHA_TO_MASK_SGIS      0x809E\n#define GL_SAMPLE_ALPHA_TO_ONE_SGIS       0x809F\n#define GL_SAMPLE_MASK_SGIS               0x80A0\n#define GL_1PASS_SGIS                     0x80A1\n#define GL_2PASS_0_SGIS                   0x80A2\n#define GL_2PASS_1_SGIS                   0x80A3\n#define GL_4PASS_0_SGIS                   0x80A4\n#define GL_4PASS_1_SGIS                   0x80A5\n#define GL_4PASS_2_SGIS                   0x80A6\n#define GL_4PASS_3_SGIS                   0x80A7\n#define GL_SAMPLE_BUFFERS_SGIS            0x80A8\n#define GL_SAMPLES_SGIS                   0x80A9\n#define GL_SAMPLE_MASK_VALUE_SGIS         0x80AA\n#define GL_SAMPLE_MASK_INVERT_SGIS        0x80AB\n#define GL_SAMPLE_PATTERN_SGIS            0x80AC\ntypedef void (APIENTRYP PFNGLSAMPLEMASKSGISPROC) (GLclampf value, GLboolean invert);\ntypedef void (APIENTRYP PFNGLSAMPLEPATTERNSGISPROC) (GLenum pattern);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glSampleMaskSGIS (GLclampf value, GLboolean invert);\nGLAPI void APIENTRY glSamplePatternSGIS (GLenum pattern);\n#endif\n#endif /* GL_SGIS_multisample */\n\n#ifndef GL_SGIS_pixel_texture\n#define GL_SGIS_pixel_texture 1\n#define GL_PIXEL_TEXTURE_SGIS             0x8353\n#define GL_PIXEL_FRAGMENT_RGB_SOURCE_SGIS 0x8354\n#define GL_PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS 0x8355\n#define GL_PIXEL_GROUP_COLOR_SGIS         0x8356\ntypedef void (APIENTRYP PFNGLPIXELTEXGENPARAMETERISGISPROC) (GLenum pname, GLint param);\ntypedef void (APIENTRYP PFNGLPIXELTEXGENPARAMETERIVSGISPROC) (GLenum pname, const GLint *params);\ntypedef void (APIENTRYP PFNGLPIXELTEXGENPARAMETERFSGISPROC) (GLenum pname, GLfloat param);\ntypedef void (APIENTRYP PFNGLPIXELTEXGENPARAMETERFVSGISPROC) (GLenum pname, const GLfloat *params);\ntypedef void (APIENTRYP PFNGLGETPIXELTEXGENPARAMETERIVSGISPROC) (GLenum pname, GLint *params);\ntypedef void (APIENTRYP PFNGLGETPIXELTEXGENPARAMETERFVSGISPROC) (GLenum pname, GLfloat *params);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glPixelTexGenParameteriSGIS (GLenum pname, GLint param);\nGLAPI void APIENTRY glPixelTexGenParameterivSGIS (GLenum pname, const GLint *params);\nGLAPI void APIENTRY glPixelTexGenParameterfSGIS (GLenum pname, GLfloat param);\nGLAPI void APIENTRY glPixelTexGenParameterfvSGIS (GLenum pname, const GLfloat *params);\nGLAPI void APIENTRY glGetPixelTexGenParameterivSGIS (GLenum pname, GLint *params);\nGLAPI void APIENTRY glGetPixelTexGenParameterfvSGIS (GLenum pname, GLfloat *params);\n#endif\n#endif /* GL_SGIS_pixel_texture */\n\n#ifndef GL_SGIS_point_line_texgen\n#define GL_SGIS_point_line_texgen 1\n#define GL_EYE_DISTANCE_TO_POINT_SGIS     0x81F0\n#define GL_OBJECT_DISTANCE_TO_POINT_SGIS  0x81F1\n#define GL_EYE_DISTANCE_TO_LINE_SGIS      0x81F2\n#define GL_OBJECT_DISTANCE_TO_LINE_SGIS   0x81F3\n#define GL_EYE_POINT_SGIS                 0x81F4\n#define GL_OBJECT_POINT_SGIS              0x81F5\n#define GL_EYE_LINE_SGIS                  0x81F6\n#define GL_OBJECT_LINE_SGIS               0x81F7\n#endif /* GL_SGIS_point_line_texgen */\n\n#ifndef GL_SGIS_point_parameters\n#define GL_SGIS_point_parameters 1\n#define GL_POINT_SIZE_MIN_SGIS            0x8126\n#define GL_POINT_SIZE_MAX_SGIS            0x8127\n#define GL_POINT_FADE_THRESHOLD_SIZE_SGIS 0x8128\n#define GL_DISTANCE_ATTENUATION_SGIS      0x8129\ntypedef void (APIENTRYP PFNGLPOINTPARAMETERFSGISPROC) (GLenum pname, GLfloat param);\ntypedef void (APIENTRYP PFNGLPOINTPARAMETERFVSGISPROC) (GLenum pname, const GLfloat *params);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glPointParameterfSGIS (GLenum pname, GLfloat param);\nGLAPI void APIENTRY glPointParameterfvSGIS (GLenum pname, const GLfloat *params);\n#endif\n#endif /* GL_SGIS_point_parameters */\n\n#ifndef GL_SGIS_sharpen_texture\n#define GL_SGIS_sharpen_texture 1\n#define GL_LINEAR_SHARPEN_SGIS            0x80AD\n#define GL_LINEAR_SHARPEN_ALPHA_SGIS      0x80AE\n#define GL_LINEAR_SHARPEN_COLOR_SGIS      0x80AF\n#define GL_SHARPEN_TEXTURE_FUNC_POINTS_SGIS 0x80B0\ntypedef void (APIENTRYP PFNGLSHARPENTEXFUNCSGISPROC) (GLenum target, GLsizei n, const GLfloat *points);\ntypedef void (APIENTRYP PFNGLGETSHARPENTEXFUNCSGISPROC) (GLenum target, GLfloat *points);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glSharpenTexFuncSGIS (GLenum target, GLsizei n, const GLfloat *points);\nGLAPI void APIENTRY glGetSharpenTexFuncSGIS (GLenum target, GLfloat *points);\n#endif\n#endif /* GL_SGIS_sharpen_texture */\n\n#ifndef GL_SGIS_texture4D\n#define GL_SGIS_texture4D 1\n#define GL_PACK_SKIP_VOLUMES_SGIS         0x8130\n#define GL_PACK_IMAGE_DEPTH_SGIS          0x8131\n#define GL_UNPACK_SKIP_VOLUMES_SGIS       0x8132\n#define GL_UNPACK_IMAGE_DEPTH_SGIS        0x8133\n#define GL_TEXTURE_4D_SGIS                0x8134\n#define GL_PROXY_TEXTURE_4D_SGIS          0x8135\n#define GL_TEXTURE_4DSIZE_SGIS            0x8136\n#define GL_TEXTURE_WRAP_Q_SGIS            0x8137\n#define GL_MAX_4D_TEXTURE_SIZE_SGIS       0x8138\n#define GL_TEXTURE_4D_BINDING_SGIS        0x814F\ntypedef void (APIENTRYP PFNGLTEXIMAGE4DSGISPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLsizei size4d, GLint border, GLenum format, GLenum type, const void *pixels);\ntypedef void (APIENTRYP PFNGLTEXSUBIMAGE4DSGISPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint woffset, GLsizei width, GLsizei height, GLsizei depth, GLsizei size4d, GLenum format, GLenum type, const void *pixels);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glTexImage4DSGIS (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLsizei size4d, GLint border, GLenum format, GLenum type, const void *pixels);\nGLAPI void APIENTRY glTexSubImage4DSGIS (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint woffset, GLsizei width, GLsizei height, GLsizei depth, GLsizei size4d, GLenum format, GLenum type, const void *pixels);\n#endif\n#endif /* GL_SGIS_texture4D */\n\n#ifndef GL_SGIS_texture_border_clamp\n#define GL_SGIS_texture_border_clamp 1\n#define GL_CLAMP_TO_BORDER_SGIS           0x812D\n#endif /* GL_SGIS_texture_border_clamp */\n\n#ifndef GL_SGIS_texture_color_mask\n#define GL_SGIS_texture_color_mask 1\n#define GL_TEXTURE_COLOR_WRITEMASK_SGIS   0x81EF\ntypedef void (APIENTRYP PFNGLTEXTURECOLORMASKSGISPROC) (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glTextureColorMaskSGIS (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);\n#endif\n#endif /* GL_SGIS_texture_color_mask */\n\n#ifndef GL_SGIS_texture_edge_clamp\n#define GL_SGIS_texture_edge_clamp 1\n#define GL_CLAMP_TO_EDGE_SGIS             0x812F\n#endif /* GL_SGIS_texture_edge_clamp */\n\n#ifndef GL_SGIS_texture_filter4\n#define GL_SGIS_texture_filter4 1\n#define GL_FILTER4_SGIS                   0x8146\n#define GL_TEXTURE_FILTER4_SIZE_SGIS      0x8147\ntypedef void (APIENTRYP PFNGLGETTEXFILTERFUNCSGISPROC) (GLenum target, GLenum filter, GLfloat *weights);\ntypedef void (APIENTRYP PFNGLTEXFILTERFUNCSGISPROC) (GLenum target, GLenum filter, GLsizei n, const GLfloat *weights);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glGetTexFilterFuncSGIS (GLenum target, GLenum filter, GLfloat *weights);\nGLAPI void APIENTRY glTexFilterFuncSGIS (GLenum target, GLenum filter, GLsizei n, const GLfloat *weights);\n#endif\n#endif /* GL_SGIS_texture_filter4 */\n\n#ifndef GL_SGIS_texture_lod\n#define GL_SGIS_texture_lod 1\n#define GL_TEXTURE_MIN_LOD_SGIS           0x813A\n#define GL_TEXTURE_MAX_LOD_SGIS           0x813B\n#define GL_TEXTURE_BASE_LEVEL_SGIS        0x813C\n#define GL_TEXTURE_MAX_LEVEL_SGIS         0x813D\n#endif /* GL_SGIS_texture_lod */\n\n#ifndef GL_SGIS_texture_select\n#define GL_SGIS_texture_select 1\n#define GL_DUAL_ALPHA4_SGIS               0x8110\n#define GL_DUAL_ALPHA8_SGIS               0x8111\n#define GL_DUAL_ALPHA12_SGIS              0x8112\n#define GL_DUAL_ALPHA16_SGIS              0x8113\n#define GL_DUAL_LUMINANCE4_SGIS           0x8114\n#define GL_DUAL_LUMINANCE8_SGIS           0x8115\n#define GL_DUAL_LUMINANCE12_SGIS          0x8116\n#define GL_DUAL_LUMINANCE16_SGIS          0x8117\n#define GL_DUAL_INTENSITY4_SGIS           0x8118\n#define GL_DUAL_INTENSITY8_SGIS           0x8119\n#define GL_DUAL_INTENSITY12_SGIS          0x811A\n#define GL_DUAL_INTENSITY16_SGIS          0x811B\n#define GL_DUAL_LUMINANCE_ALPHA4_SGIS     0x811C\n#define GL_DUAL_LUMINANCE_ALPHA8_SGIS     0x811D\n#define GL_QUAD_ALPHA4_SGIS               0x811E\n#define GL_QUAD_ALPHA8_SGIS               0x811F\n#define GL_QUAD_LUMINANCE4_SGIS           0x8120\n#define GL_QUAD_LUMINANCE8_SGIS           0x8121\n#define GL_QUAD_INTENSITY4_SGIS           0x8122\n#define GL_QUAD_INTENSITY8_SGIS           0x8123\n#define GL_DUAL_TEXTURE_SELECT_SGIS       0x8124\n#define GL_QUAD_TEXTURE_SELECT_SGIS       0x8125\n#endif /* GL_SGIS_texture_select */\n\n#ifndef GL_SGIX_async\n#define GL_SGIX_async 1\n#define GL_ASYNC_MARKER_SGIX              0x8329\ntypedef void (APIENTRYP PFNGLASYNCMARKERSGIXPROC) (GLuint marker);\ntypedef GLint (APIENTRYP PFNGLFINISHASYNCSGIXPROC) (GLuint *markerp);\ntypedef GLint (APIENTRYP PFNGLPOLLASYNCSGIXPROC) (GLuint *markerp);\ntypedef GLuint (APIENTRYP PFNGLGENASYNCMARKERSSGIXPROC) (GLsizei range);\ntypedef void (APIENTRYP PFNGLDELETEASYNCMARKERSSGIXPROC) (GLuint marker, GLsizei range);\ntypedef GLboolean (APIENTRYP PFNGLISASYNCMARKERSGIXPROC) (GLuint marker);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glAsyncMarkerSGIX (GLuint marker);\nGLAPI GLint APIENTRY glFinishAsyncSGIX (GLuint *markerp);\nGLAPI GLint APIENTRY glPollAsyncSGIX (GLuint *markerp);\nGLAPI GLuint APIENTRY glGenAsyncMarkersSGIX (GLsizei range);\nGLAPI void APIENTRY glDeleteAsyncMarkersSGIX (GLuint marker, GLsizei range);\nGLAPI GLboolean APIENTRY glIsAsyncMarkerSGIX (GLuint marker);\n#endif\n#endif /* GL_SGIX_async */\n\n#ifndef GL_SGIX_async_histogram\n#define GL_SGIX_async_histogram 1\n#define GL_ASYNC_HISTOGRAM_SGIX           0x832C\n#define GL_MAX_ASYNC_HISTOGRAM_SGIX       0x832D\n#endif /* GL_SGIX_async_histogram */\n\n#ifndef GL_SGIX_async_pixel\n#define GL_SGIX_async_pixel 1\n#define GL_ASYNC_TEX_IMAGE_SGIX           0x835C\n#define GL_ASYNC_DRAW_PIXELS_SGIX         0x835D\n#define GL_ASYNC_READ_PIXELS_SGIX         0x835E\n#define GL_MAX_ASYNC_TEX_IMAGE_SGIX       0x835F\n#define GL_MAX_ASYNC_DRAW_PIXELS_SGIX     0x8360\n#define GL_MAX_ASYNC_READ_PIXELS_SGIX     0x8361\n#endif /* GL_SGIX_async_pixel */\n\n#ifndef GL_SGIX_blend_alpha_minmax\n#define GL_SGIX_blend_alpha_minmax 1\n#define GL_ALPHA_MIN_SGIX                 0x8320\n#define GL_ALPHA_MAX_SGIX                 0x8321\n#endif /* GL_SGIX_blend_alpha_minmax */\n\n#ifndef GL_SGIX_calligraphic_fragment\n#define GL_SGIX_calligraphic_fragment 1\n#define GL_CALLIGRAPHIC_FRAGMENT_SGIX     0x8183\n#endif /* GL_SGIX_calligraphic_fragment */\n\n#ifndef GL_SGIX_clipmap\n#define GL_SGIX_clipmap 1\n#define GL_LINEAR_CLIPMAP_LINEAR_SGIX     0x8170\n#define GL_TEXTURE_CLIPMAP_CENTER_SGIX    0x8171\n#define GL_TEXTURE_CLIPMAP_FRAME_SGIX     0x8172\n#define GL_TEXTURE_CLIPMAP_OFFSET_SGIX    0x8173\n#define GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX 0x8174\n#define GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX 0x8175\n#define GL_TEXTURE_CLIPMAP_DEPTH_SGIX     0x8176\n#define GL_MAX_CLIPMAP_DEPTH_SGIX         0x8177\n#define GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX 0x8178\n#define GL_NEAREST_CLIPMAP_NEAREST_SGIX   0x844D\n#define GL_NEAREST_CLIPMAP_LINEAR_SGIX    0x844E\n#define GL_LINEAR_CLIPMAP_NEAREST_SGIX    0x844F\n#endif /* GL_SGIX_clipmap */\n\n#ifndef GL_SGIX_convolution_accuracy\n#define GL_SGIX_convolution_accuracy 1\n#define GL_CONVOLUTION_HINT_SGIX          0x8316\n#endif /* GL_SGIX_convolution_accuracy */\n\n#ifndef GL_SGIX_depth_pass_instrument\n#define GL_SGIX_depth_pass_instrument 1\n#endif /* GL_SGIX_depth_pass_instrument */\n\n#ifndef GL_SGIX_depth_texture\n#define GL_SGIX_depth_texture 1\n#define GL_DEPTH_COMPONENT16_SGIX         0x81A5\n#define GL_DEPTH_COMPONENT24_SGIX         0x81A6\n#define GL_DEPTH_COMPONENT32_SGIX         0x81A7\n#endif /* GL_SGIX_depth_texture */\n\n#ifndef GL_SGIX_flush_raster\n#define GL_SGIX_flush_raster 1\ntypedef void (APIENTRYP PFNGLFLUSHRASTERSGIXPROC) (void);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glFlushRasterSGIX (void);\n#endif\n#endif /* GL_SGIX_flush_raster */\n\n#ifndef GL_SGIX_fog_offset\n#define GL_SGIX_fog_offset 1\n#define GL_FOG_OFFSET_SGIX                0x8198\n#define GL_FOG_OFFSET_VALUE_SGIX          0x8199\n#endif /* GL_SGIX_fog_offset */\n\n#ifndef GL_SGIX_fragment_lighting\n#define GL_SGIX_fragment_lighting 1\n#define GL_FRAGMENT_LIGHTING_SGIX         0x8400\n#define GL_FRAGMENT_COLOR_MATERIAL_SGIX   0x8401\n#define GL_FRAGMENT_COLOR_MATERIAL_FACE_SGIX 0x8402\n#define GL_FRAGMENT_COLOR_MATERIAL_PARAMETER_SGIX 0x8403\n#define GL_MAX_FRAGMENT_LIGHTS_SGIX       0x8404\n#define GL_MAX_ACTIVE_LIGHTS_SGIX         0x8405\n#define GL_CURRENT_RASTER_NORMAL_SGIX     0x8406\n#define GL_LIGHT_ENV_MODE_SGIX            0x8407\n#define GL_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX 0x8408\n#define GL_FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX 0x8409\n#define GL_FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX 0x840A\n#define GL_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX 0x840B\n#define GL_FRAGMENT_LIGHT0_SGIX           0x840C\n#define GL_FRAGMENT_LIGHT1_SGIX           0x840D\n#define GL_FRAGMENT_LIGHT2_SGIX           0x840E\n#define GL_FRAGMENT_LIGHT3_SGIX           0x840F\n#define GL_FRAGMENT_LIGHT4_SGIX           0x8410\n#define GL_FRAGMENT_LIGHT5_SGIX           0x8411\n#define GL_FRAGMENT_LIGHT6_SGIX           0x8412\n#define GL_FRAGMENT_LIGHT7_SGIX           0x8413\ntypedef void (APIENTRYP PFNGLFRAGMENTCOLORMATERIALSGIXPROC) (GLenum face, GLenum mode);\ntypedef void (APIENTRYP PFNGLFRAGMENTLIGHTFSGIXPROC) (GLenum light, GLenum pname, GLfloat param);\ntypedef void (APIENTRYP PFNGLFRAGMENTLIGHTFVSGIXPROC) (GLenum light, GLenum pname, const GLfloat *params);\ntypedef void (APIENTRYP PFNGLFRAGMENTLIGHTISGIXPROC) (GLenum light, GLenum pname, GLint param);\ntypedef void (APIENTRYP PFNGLFRAGMENTLIGHTIVSGIXPROC) (GLenum light, GLenum pname, const GLint *params);\ntypedef void (APIENTRYP PFNGLFRAGMENTLIGHTMODELFSGIXPROC) (GLenum pname, GLfloat param);\ntypedef void (APIENTRYP PFNGLFRAGMENTLIGHTMODELFVSGIXPROC) (GLenum pname, const GLfloat *params);\ntypedef void (APIENTRYP PFNGLFRAGMENTLIGHTMODELISGIXPROC) (GLenum pname, GLint param);\ntypedef void (APIENTRYP PFNGLFRAGMENTLIGHTMODELIVSGIXPROC) (GLenum pname, const GLint *params);\ntypedef void (APIENTRYP PFNGLFRAGMENTMATERIALFSGIXPROC) (GLenum face, GLenum pname, GLfloat param);\ntypedef void (APIENTRYP PFNGLFRAGMENTMATERIALFVSGIXPROC) (GLenum face, GLenum pname, const GLfloat *params);\ntypedef void (APIENTRYP PFNGLFRAGMENTMATERIALISGIXPROC) (GLenum face, GLenum pname, GLint param);\ntypedef void (APIENTRYP PFNGLFRAGMENTMATERIALIVSGIXPROC) (GLenum face, GLenum pname, const GLint *params);\ntypedef void (APIENTRYP PFNGLGETFRAGMENTLIGHTFVSGIXPROC) (GLenum light, GLenum pname, GLfloat *params);\ntypedef void (APIENTRYP PFNGLGETFRAGMENTLIGHTIVSGIXPROC) (GLenum light, GLenum pname, GLint *params);\ntypedef void (APIENTRYP PFNGLGETFRAGMENTMATERIALFVSGIXPROC) (GLenum face, GLenum pname, GLfloat *params);\ntypedef void (APIENTRYP PFNGLGETFRAGMENTMATERIALIVSGIXPROC) (GLenum face, GLenum pname, GLint *params);\ntypedef void (APIENTRYP PFNGLLIGHTENVISGIXPROC) (GLenum pname, GLint param);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glFragmentColorMaterialSGIX (GLenum face, GLenum mode);\nGLAPI void APIENTRY glFragmentLightfSGIX (GLenum light, GLenum pname, GLfloat param);\nGLAPI void APIENTRY glFragmentLightfvSGIX (GLenum light, GLenum pname, const GLfloat *params);\nGLAPI void APIENTRY glFragmentLightiSGIX (GLenum light, GLenum pname, GLint param);\nGLAPI void APIENTRY glFragmentLightivSGIX (GLenum light, GLenum pname, const GLint *params);\nGLAPI void APIENTRY glFragmentLightModelfSGIX (GLenum pname, GLfloat param);\nGLAPI void APIENTRY glFragmentLightModelfvSGIX (GLenum pname, const GLfloat *params);\nGLAPI void APIENTRY glFragmentLightModeliSGIX (GLenum pname, GLint param);\nGLAPI void APIENTRY glFragmentLightModelivSGIX (GLenum pname, const GLint *params);\nGLAPI void APIENTRY glFragmentMaterialfSGIX (GLenum face, GLenum pname, GLfloat param);\nGLAPI void APIENTRY glFragmentMaterialfvSGIX (GLenum face, GLenum pname, const GLfloat *params);\nGLAPI void APIENTRY glFragmentMaterialiSGIX (GLenum face, GLenum pname, GLint param);\nGLAPI void APIENTRY glFragmentMaterialivSGIX (GLenum face, GLenum pname, const GLint *params);\nGLAPI void APIENTRY glGetFragmentLightfvSGIX (GLenum light, GLenum pname, GLfloat *params);\nGLAPI void APIENTRY glGetFragmentLightivSGIX (GLenum light, GLenum pname, GLint *params);\nGLAPI void APIENTRY glGetFragmentMaterialfvSGIX (GLenum face, GLenum pname, GLfloat *params);\nGLAPI void APIENTRY glGetFragmentMaterialivSGIX (GLenum face, GLenum pname, GLint *params);\nGLAPI void APIENTRY glLightEnviSGIX (GLenum pname, GLint param);\n#endif\n#endif /* GL_SGIX_fragment_lighting */\n\n#ifndef GL_SGIX_framezoom\n#define GL_SGIX_framezoom 1\n#define GL_FRAMEZOOM_SGIX                 0x818B\n#define GL_FRAMEZOOM_FACTOR_SGIX          0x818C\n#define GL_MAX_FRAMEZOOM_FACTOR_SGIX      0x818D\ntypedef void (APIENTRYP PFNGLFRAMEZOOMSGIXPROC) (GLint factor);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glFrameZoomSGIX (GLint factor);\n#endif\n#endif /* GL_SGIX_framezoom */\n\n#ifndef GL_SGIX_igloo_interface\n#define GL_SGIX_igloo_interface 1\ntypedef void (APIENTRYP PFNGLIGLOOINTERFACESGIXPROC) (GLenum pname, const void *params);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glIglooInterfaceSGIX (GLenum pname, const void *params);\n#endif\n#endif /* GL_SGIX_igloo_interface */\n\n#ifndef GL_SGIX_instruments\n#define GL_SGIX_instruments 1\n#define GL_INSTRUMENT_BUFFER_POINTER_SGIX 0x8180\n#define GL_INSTRUMENT_MEASUREMENTS_SGIX   0x8181\ntypedef GLint (APIENTRYP PFNGLGETINSTRUMENTSSGIXPROC) (void);\ntypedef void (APIENTRYP PFNGLINSTRUMENTSBUFFERSGIXPROC) (GLsizei size, GLint *buffer);\ntypedef GLint (APIENTRYP PFNGLPOLLINSTRUMENTSSGIXPROC) (GLint *marker_p);\ntypedef void (APIENTRYP PFNGLREADINSTRUMENTSSGIXPROC) (GLint marker);\ntypedef void (APIENTRYP PFNGLSTARTINSTRUMENTSSGIXPROC) (void);\ntypedef void (APIENTRYP PFNGLSTOPINSTRUMENTSSGIXPROC) (GLint marker);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI GLint APIENTRY glGetInstrumentsSGIX (void);\nGLAPI void APIENTRY glInstrumentsBufferSGIX (GLsizei size, GLint *buffer);\nGLAPI GLint APIENTRY glPollInstrumentsSGIX (GLint *marker_p);\nGLAPI void APIENTRY glReadInstrumentsSGIX (GLint marker);\nGLAPI void APIENTRY glStartInstrumentsSGIX (void);\nGLAPI void APIENTRY glStopInstrumentsSGIX (GLint marker);\n#endif\n#endif /* GL_SGIX_instruments */\n\n#ifndef GL_SGIX_interlace\n#define GL_SGIX_interlace 1\n#define GL_INTERLACE_SGIX                 0x8094\n#endif /* GL_SGIX_interlace */\n\n#ifndef GL_SGIX_ir_instrument1\n#define GL_SGIX_ir_instrument1 1\n#define GL_IR_INSTRUMENT1_SGIX            0x817F\n#endif /* GL_SGIX_ir_instrument1 */\n\n#ifndef GL_SGIX_list_priority\n#define GL_SGIX_list_priority 1\n#define GL_LIST_PRIORITY_SGIX             0x8182\ntypedef void (APIENTRYP PFNGLGETLISTPARAMETERFVSGIXPROC) (GLuint list, GLenum pname, GLfloat *params);\ntypedef void (APIENTRYP PFNGLGETLISTPARAMETERIVSGIXPROC) (GLuint list, GLenum pname, GLint *params);\ntypedef void (APIENTRYP PFNGLLISTPARAMETERFSGIXPROC) (GLuint list, GLenum pname, GLfloat param);\ntypedef void (APIENTRYP PFNGLLISTPARAMETERFVSGIXPROC) (GLuint list, GLenum pname, const GLfloat *params);\ntypedef void (APIENTRYP PFNGLLISTPARAMETERISGIXPROC) (GLuint list, GLenum pname, GLint param);\ntypedef void (APIENTRYP PFNGLLISTPARAMETERIVSGIXPROC) (GLuint list, GLenum pname, const GLint *params);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glGetListParameterfvSGIX (GLuint list, GLenum pname, GLfloat *params);\nGLAPI void APIENTRY glGetListParameterivSGIX (GLuint list, GLenum pname, GLint *params);\nGLAPI void APIENTRY glListParameterfSGIX (GLuint list, GLenum pname, GLfloat param);\nGLAPI void APIENTRY glListParameterfvSGIX (GLuint list, GLenum pname, const GLfloat *params);\nGLAPI void APIENTRY glListParameteriSGIX (GLuint list, GLenum pname, GLint param);\nGLAPI void APIENTRY glListParameterivSGIX (GLuint list, GLenum pname, const GLint *params);\n#endif\n#endif /* GL_SGIX_list_priority */\n\n#ifndef GL_SGIX_pixel_texture\n#define GL_SGIX_pixel_texture 1\n#define GL_PIXEL_TEX_GEN_SGIX             0x8139\n#define GL_PIXEL_TEX_GEN_MODE_SGIX        0x832B\ntypedef void (APIENTRYP PFNGLPIXELTEXGENSGIXPROC) (GLenum mode);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glPixelTexGenSGIX (GLenum mode);\n#endif\n#endif /* GL_SGIX_pixel_texture */\n\n#ifndef GL_SGIX_pixel_tiles\n#define GL_SGIX_pixel_tiles 1\n#define GL_PIXEL_TILE_BEST_ALIGNMENT_SGIX 0x813E\n#define GL_PIXEL_TILE_CACHE_INCREMENT_SGIX 0x813F\n#define GL_PIXEL_TILE_WIDTH_SGIX          0x8140\n#define GL_PIXEL_TILE_HEIGHT_SGIX         0x8141\n#define GL_PIXEL_TILE_GRID_WIDTH_SGIX     0x8142\n#define GL_PIXEL_TILE_GRID_HEIGHT_SGIX    0x8143\n#define GL_PIXEL_TILE_GRID_DEPTH_SGIX     0x8144\n#define GL_PIXEL_TILE_CACHE_SIZE_SGIX     0x8145\n#endif /* GL_SGIX_pixel_tiles */\n\n#ifndef GL_SGIX_polynomial_ffd\n#define GL_SGIX_polynomial_ffd 1\n#define GL_TEXTURE_DEFORMATION_BIT_SGIX   0x00000001\n#define GL_GEOMETRY_DEFORMATION_BIT_SGIX  0x00000002\n#define GL_GEOMETRY_DEFORMATION_SGIX      0x8194\n#define GL_TEXTURE_DEFORMATION_SGIX       0x8195\n#define GL_DEFORMATIONS_MASK_SGIX         0x8196\n#define GL_MAX_DEFORMATION_ORDER_SGIX     0x8197\ntypedef void (APIENTRYP PFNGLDEFORMATIONMAP3DSGIXPROC) (GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, GLdouble w1, GLdouble w2, GLint wstride, GLint worder, const GLdouble *points);\ntypedef void (APIENTRYP PFNGLDEFORMATIONMAP3FSGIXPROC) (GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, GLfloat w1, GLfloat w2, GLint wstride, GLint worder, const GLfloat *points);\ntypedef void (APIENTRYP PFNGLDEFORMSGIXPROC) (GLbitfield mask);\ntypedef void (APIENTRYP PFNGLLOADIDENTITYDEFORMATIONMAPSGIXPROC) (GLbitfield mask);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glDeformationMap3dSGIX (GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, GLdouble w1, GLdouble w2, GLint wstride, GLint worder, const GLdouble *points);\nGLAPI void APIENTRY glDeformationMap3fSGIX (GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, GLfloat w1, GLfloat w2, GLint wstride, GLint worder, const GLfloat *points);\nGLAPI void APIENTRY glDeformSGIX (GLbitfield mask);\nGLAPI void APIENTRY glLoadIdentityDeformationMapSGIX (GLbitfield mask);\n#endif\n#endif /* GL_SGIX_polynomial_ffd */\n\n#ifndef GL_SGIX_reference_plane\n#define GL_SGIX_reference_plane 1\n#define GL_REFERENCE_PLANE_SGIX           0x817D\n#define GL_REFERENCE_PLANE_EQUATION_SGIX  0x817E\ntypedef void (APIENTRYP PFNGLREFERENCEPLANESGIXPROC) (const GLdouble *equation);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glReferencePlaneSGIX (const GLdouble *equation);\n#endif\n#endif /* GL_SGIX_reference_plane */\n\n#ifndef GL_SGIX_resample\n#define GL_SGIX_resample 1\n#define GL_PACK_RESAMPLE_SGIX             0x842C\n#define GL_UNPACK_RESAMPLE_SGIX           0x842D\n#define GL_RESAMPLE_REPLICATE_SGIX        0x842E\n#define GL_RESAMPLE_ZERO_FILL_SGIX        0x842F\n#define GL_RESAMPLE_DECIMATE_SGIX         0x8430\n#endif /* GL_SGIX_resample */\n\n#ifndef GL_SGIX_scalebias_hint\n#define GL_SGIX_scalebias_hint 1\n#define GL_SCALEBIAS_HINT_SGIX            0x8322\n#endif /* GL_SGIX_scalebias_hint */\n\n#ifndef GL_SGIX_shadow\n#define GL_SGIX_shadow 1\n#define GL_TEXTURE_COMPARE_SGIX           0x819A\n#define GL_TEXTURE_COMPARE_OPERATOR_SGIX  0x819B\n#define GL_TEXTURE_LEQUAL_R_SGIX          0x819C\n#define GL_TEXTURE_GEQUAL_R_SGIX          0x819D\n#endif /* GL_SGIX_shadow */\n\n#ifndef GL_SGIX_shadow_ambient\n#define GL_SGIX_shadow_ambient 1\n#define GL_SHADOW_AMBIENT_SGIX            0x80BF\n#endif /* GL_SGIX_shadow_ambient */\n\n#ifndef GL_SGIX_sprite\n#define GL_SGIX_sprite 1\n#define GL_SPRITE_SGIX                    0x8148\n#define GL_SPRITE_MODE_SGIX               0x8149\n#define GL_SPRITE_AXIS_SGIX               0x814A\n#define GL_SPRITE_TRANSLATION_SGIX        0x814B\n#define GL_SPRITE_AXIAL_SGIX              0x814C\n#define GL_SPRITE_OBJECT_ALIGNED_SGIX     0x814D\n#define GL_SPRITE_EYE_ALIGNED_SGIX        0x814E\ntypedef void (APIENTRYP PFNGLSPRITEPARAMETERFSGIXPROC) (GLenum pname, GLfloat param);\ntypedef void (APIENTRYP PFNGLSPRITEPARAMETERFVSGIXPROC) (GLenum pname, const GLfloat *params);\ntypedef void (APIENTRYP PFNGLSPRITEPARAMETERISGIXPROC) (GLenum pname, GLint param);\ntypedef void (APIENTRYP PFNGLSPRITEPARAMETERIVSGIXPROC) (GLenum pname, const GLint *params);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glSpriteParameterfSGIX (GLenum pname, GLfloat param);\nGLAPI void APIENTRY glSpriteParameterfvSGIX (GLenum pname, const GLfloat *params);\nGLAPI void APIENTRY glSpriteParameteriSGIX (GLenum pname, GLint param);\nGLAPI void APIENTRY glSpriteParameterivSGIX (GLenum pname, const GLint *params);\n#endif\n#endif /* GL_SGIX_sprite */\n\n#ifndef GL_SGIX_subsample\n#define GL_SGIX_subsample 1\n#define GL_PACK_SUBSAMPLE_RATE_SGIX       0x85A0\n#define GL_UNPACK_SUBSAMPLE_RATE_SGIX     0x85A1\n#define GL_PIXEL_SUBSAMPLE_4444_SGIX      0x85A2\n#define GL_PIXEL_SUBSAMPLE_2424_SGIX      0x85A3\n#define GL_PIXEL_SUBSAMPLE_4242_SGIX      0x85A4\n#endif /* GL_SGIX_subsample */\n\n#ifndef GL_SGIX_tag_sample_buffer\n#define GL_SGIX_tag_sample_buffer 1\ntypedef void (APIENTRYP PFNGLTAGSAMPLEBUFFERSGIXPROC) (void);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glTagSampleBufferSGIX (void);\n#endif\n#endif /* GL_SGIX_tag_sample_buffer */\n\n#ifndef GL_SGIX_texture_add_env\n#define GL_SGIX_texture_add_env 1\n#define GL_TEXTURE_ENV_BIAS_SGIX          0x80BE\n#endif /* GL_SGIX_texture_add_env */\n\n#ifndef GL_SGIX_texture_coordinate_clamp\n#define GL_SGIX_texture_coordinate_clamp 1\n#define GL_TEXTURE_MAX_CLAMP_S_SGIX       0x8369\n#define GL_TEXTURE_MAX_CLAMP_T_SGIX       0x836A\n#define GL_TEXTURE_MAX_CLAMP_R_SGIX       0x836B\n#endif /* GL_SGIX_texture_coordinate_clamp */\n\n#ifndef GL_SGIX_texture_lod_bias\n#define GL_SGIX_texture_lod_bias 1\n#define GL_TEXTURE_LOD_BIAS_S_SGIX        0x818E\n#define GL_TEXTURE_LOD_BIAS_T_SGIX        0x818F\n#define GL_TEXTURE_LOD_BIAS_R_SGIX        0x8190\n#endif /* GL_SGIX_texture_lod_bias */\n\n#ifndef GL_SGIX_texture_multi_buffer\n#define GL_SGIX_texture_multi_buffer 1\n#define GL_TEXTURE_MULTI_BUFFER_HINT_SGIX 0x812E\n#endif /* GL_SGIX_texture_multi_buffer */\n\n#ifndef GL_SGIX_texture_scale_bias\n#define GL_SGIX_texture_scale_bias 1\n#define GL_POST_TEXTURE_FILTER_BIAS_SGIX  0x8179\n#define GL_POST_TEXTURE_FILTER_SCALE_SGIX 0x817A\n#define GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX 0x817B\n#define GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX 0x817C\n#endif /* GL_SGIX_texture_scale_bias */\n\n#ifndef GL_SGIX_vertex_preclip\n#define GL_SGIX_vertex_preclip 1\n#define GL_VERTEX_PRECLIP_SGIX            0x83EE\n#define GL_VERTEX_PRECLIP_HINT_SGIX       0x83EF\n#endif /* GL_SGIX_vertex_preclip */\n\n#ifndef GL_SGIX_ycrcb\n#define GL_SGIX_ycrcb 1\n#define GL_YCRCB_422_SGIX                 0x81BB\n#define GL_YCRCB_444_SGIX                 0x81BC\n#endif /* GL_SGIX_ycrcb */\n\n#ifndef GL_SGIX_ycrcb_subsample\n#define GL_SGIX_ycrcb_subsample 1\n#endif /* GL_SGIX_ycrcb_subsample */\n\n#ifndef GL_SGIX_ycrcba\n#define GL_SGIX_ycrcba 1\n#define GL_YCRCB_SGIX                     0x8318\n#define GL_YCRCBA_SGIX                    0x8319\n#endif /* GL_SGIX_ycrcba */\n\n#ifndef GL_SGI_color_matrix\n#define GL_SGI_color_matrix 1\n#define GL_COLOR_MATRIX_SGI               0x80B1\n#define GL_COLOR_MATRIX_STACK_DEPTH_SGI   0x80B2\n#define GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI 0x80B3\n#define GL_POST_COLOR_MATRIX_RED_SCALE_SGI 0x80B4\n#define GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI 0x80B5\n#define GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI 0x80B6\n#define GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI 0x80B7\n#define GL_POST_COLOR_MATRIX_RED_BIAS_SGI 0x80B8\n#define GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI 0x80B9\n#define GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI 0x80BA\n#define GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI 0x80BB\n#endif /* GL_SGI_color_matrix */\n\n#ifndef GL_SGI_color_table\n#define GL_SGI_color_table 1\n#define GL_COLOR_TABLE_SGI                0x80D0\n#define GL_POST_CONVOLUTION_COLOR_TABLE_SGI 0x80D1\n#define GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI 0x80D2\n#define GL_PROXY_COLOR_TABLE_SGI          0x80D3\n#define GL_PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI 0x80D4\n#define GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI 0x80D5\n#define GL_COLOR_TABLE_SCALE_SGI          0x80D6\n#define GL_COLOR_TABLE_BIAS_SGI           0x80D7\n#define GL_COLOR_TABLE_FORMAT_SGI         0x80D8\n#define GL_COLOR_TABLE_WIDTH_SGI          0x80D9\n#define GL_COLOR_TABLE_RED_SIZE_SGI       0x80DA\n#define GL_COLOR_TABLE_GREEN_SIZE_SGI     0x80DB\n#define GL_COLOR_TABLE_BLUE_SIZE_SGI      0x80DC\n#define GL_COLOR_TABLE_ALPHA_SIZE_SGI     0x80DD\n#define GL_COLOR_TABLE_LUMINANCE_SIZE_SGI 0x80DE\n#define GL_COLOR_TABLE_INTENSITY_SIZE_SGI 0x80DF\ntypedef void (APIENTRYP PFNGLCOLORTABLESGIPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const void *table);\ntypedef void (APIENTRYP PFNGLCOLORTABLEPARAMETERFVSGIPROC) (GLenum target, GLenum pname, const GLfloat *params);\ntypedef void (APIENTRYP PFNGLCOLORTABLEPARAMETERIVSGIPROC) (GLenum target, GLenum pname, const GLint *params);\ntypedef void (APIENTRYP PFNGLCOPYCOLORTABLESGIPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);\ntypedef void (APIENTRYP PFNGLGETCOLORTABLESGIPROC) (GLenum target, GLenum format, GLenum type, void *table);\ntypedef void (APIENTRYP PFNGLGETCOLORTABLEPARAMETERFVSGIPROC) (GLenum target, GLenum pname, GLfloat *params);\ntypedef void (APIENTRYP PFNGLGETCOLORTABLEPARAMETERIVSGIPROC) (GLenum target, GLenum pname, GLint *params);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glColorTableSGI (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const void *table);\nGLAPI void APIENTRY glColorTableParameterfvSGI (GLenum target, GLenum pname, const GLfloat *params);\nGLAPI void APIENTRY glColorTableParameterivSGI (GLenum target, GLenum pname, const GLint *params);\nGLAPI void APIENTRY glCopyColorTableSGI (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);\nGLAPI void APIENTRY glGetColorTableSGI (GLenum target, GLenum format, GLenum type, void *table);\nGLAPI void APIENTRY glGetColorTableParameterfvSGI (GLenum target, GLenum pname, GLfloat *params);\nGLAPI void APIENTRY glGetColorTableParameterivSGI (GLenum target, GLenum pname, GLint *params);\n#endif\n#endif /* GL_SGI_color_table */\n\n#ifndef GL_SGI_texture_color_table\n#define GL_SGI_texture_color_table 1\n#define GL_TEXTURE_COLOR_TABLE_SGI        0x80BC\n#define GL_PROXY_TEXTURE_COLOR_TABLE_SGI  0x80BD\n#endif /* GL_SGI_texture_color_table */\n\n#ifndef GL_SUNX_constant_data\n#define GL_SUNX_constant_data 1\n#define GL_UNPACK_CONSTANT_DATA_SUNX      0x81D5\n#define GL_TEXTURE_CONSTANT_DATA_SUNX     0x81D6\ntypedef void (APIENTRYP PFNGLFINISHTEXTURESUNXPROC) (void);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glFinishTextureSUNX (void);\n#endif\n#endif /* GL_SUNX_constant_data */\n\n#ifndef GL_SUN_convolution_border_modes\n#define GL_SUN_convolution_border_modes 1\n#define GL_WRAP_BORDER_SUN                0x81D4\n#endif /* GL_SUN_convolution_border_modes */\n\n#ifndef GL_SUN_global_alpha\n#define GL_SUN_global_alpha 1\n#define GL_GLOBAL_ALPHA_SUN               0x81D9\n#define GL_GLOBAL_ALPHA_FACTOR_SUN        0x81DA\ntypedef void (APIENTRYP PFNGLGLOBALALPHAFACTORBSUNPROC) (GLbyte factor);\ntypedef void (APIENTRYP PFNGLGLOBALALPHAFACTORSSUNPROC) (GLshort factor);\ntypedef void (APIENTRYP PFNGLGLOBALALPHAFACTORISUNPROC) (GLint factor);\ntypedef void (APIENTRYP PFNGLGLOBALALPHAFACTORFSUNPROC) (GLfloat factor);\ntypedef void (APIENTRYP PFNGLGLOBALALPHAFACTORDSUNPROC) (GLdouble factor);\ntypedef void (APIENTRYP PFNGLGLOBALALPHAFACTORUBSUNPROC) (GLubyte factor);\ntypedef void (APIENTRYP PFNGLGLOBALALPHAFACTORUSSUNPROC) (GLushort factor);\ntypedef void (APIENTRYP PFNGLGLOBALALPHAFACTORUISUNPROC) (GLuint factor);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glGlobalAlphaFactorbSUN (GLbyte factor);\nGLAPI void APIENTRY glGlobalAlphaFactorsSUN (GLshort factor);\nGLAPI void APIENTRY glGlobalAlphaFactoriSUN (GLint factor);\nGLAPI void APIENTRY glGlobalAlphaFactorfSUN (GLfloat factor);\nGLAPI void APIENTRY glGlobalAlphaFactordSUN (GLdouble factor);\nGLAPI void APIENTRY glGlobalAlphaFactorubSUN (GLubyte factor);\nGLAPI void APIENTRY glGlobalAlphaFactorusSUN (GLushort factor);\nGLAPI void APIENTRY glGlobalAlphaFactoruiSUN (GLuint factor);\n#endif\n#endif /* GL_SUN_global_alpha */\n\n#ifndef GL_SUN_mesh_array\n#define GL_SUN_mesh_array 1\n#define GL_QUAD_MESH_SUN                  0x8614\n#define GL_TRIANGLE_MESH_SUN              0x8615\ntypedef void (APIENTRYP PFNGLDRAWMESHARRAYSSUNPROC) (GLenum mode, GLint first, GLsizei count, GLsizei width);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glDrawMeshArraysSUN (GLenum mode, GLint first, GLsizei count, GLsizei width);\n#endif\n#endif /* GL_SUN_mesh_array */\n\n#ifndef GL_SUN_slice_accum\n#define GL_SUN_slice_accum 1\n#define GL_SLICE_ACCUM_SUN                0x85CC\n#endif /* GL_SUN_slice_accum */\n\n#ifndef GL_SUN_triangle_list\n#define GL_SUN_triangle_list 1\n#define GL_RESTART_SUN                    0x0001\n#define GL_REPLACE_MIDDLE_SUN             0x0002\n#define GL_REPLACE_OLDEST_SUN             0x0003\n#define GL_TRIANGLE_LIST_SUN              0x81D7\n#define GL_REPLACEMENT_CODE_SUN           0x81D8\n#define GL_REPLACEMENT_CODE_ARRAY_SUN     0x85C0\n#define GL_REPLACEMENT_CODE_ARRAY_TYPE_SUN 0x85C1\n#define GL_REPLACEMENT_CODE_ARRAY_STRIDE_SUN 0x85C2\n#define GL_REPLACEMENT_CODE_ARRAY_POINTER_SUN 0x85C3\n#define GL_R1UI_V3F_SUN                   0x85C4\n#define GL_R1UI_C4UB_V3F_SUN              0x85C5\n#define GL_R1UI_C3F_V3F_SUN               0x85C6\n#define GL_R1UI_N3F_V3F_SUN               0x85C7\n#define GL_R1UI_C4F_N3F_V3F_SUN           0x85C8\n#define GL_R1UI_T2F_V3F_SUN               0x85C9\n#define GL_R1UI_T2F_N3F_V3F_SUN           0x85CA\n#define GL_R1UI_T2F_C4F_N3F_V3F_SUN       0x85CB\ntypedef void (APIENTRYP PFNGLREPLACEMENTCODEUISUNPROC) (GLuint code);\ntypedef void (APIENTRYP PFNGLREPLACEMENTCODEUSSUNPROC) (GLushort code);\ntypedef void (APIENTRYP PFNGLREPLACEMENTCODEUBSUNPROC) (GLubyte code);\ntypedef void (APIENTRYP PFNGLREPLACEMENTCODEUIVSUNPROC) (const GLuint *code);\ntypedef void (APIENTRYP PFNGLREPLACEMENTCODEUSVSUNPROC) (const GLushort *code);\ntypedef void (APIENTRYP PFNGLREPLACEMENTCODEUBVSUNPROC) (const GLubyte *code);\ntypedef void (APIENTRYP PFNGLREPLACEMENTCODEPOINTERSUNPROC) (GLenum type, GLsizei stride, const void **pointer);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glReplacementCodeuiSUN (GLuint code);\nGLAPI void APIENTRY glReplacementCodeusSUN (GLushort code);\nGLAPI void APIENTRY glReplacementCodeubSUN (GLubyte code);\nGLAPI void APIENTRY glReplacementCodeuivSUN (const GLuint *code);\nGLAPI void APIENTRY glReplacementCodeusvSUN (const GLushort *code);\nGLAPI void APIENTRY glReplacementCodeubvSUN (const GLubyte *code);\nGLAPI void APIENTRY glReplacementCodePointerSUN (GLenum type, GLsizei stride, const void **pointer);\n#endif\n#endif /* GL_SUN_triangle_list */\n\n#ifndef GL_SUN_vertex\n#define GL_SUN_vertex 1\ntypedef void (APIENTRYP PFNGLCOLOR4UBVERTEX2FSUNPROC) (GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y);\ntypedef void (APIENTRYP PFNGLCOLOR4UBVERTEX2FVSUNPROC) (const GLubyte *c, const GLfloat *v);\ntypedef void (APIENTRYP PFNGLCOLOR4UBVERTEX3FSUNPROC) (GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z);\ntypedef void (APIENTRYP PFNGLCOLOR4UBVERTEX3FVSUNPROC) (const GLubyte *c, const GLfloat *v);\ntypedef void (APIENTRYP PFNGLCOLOR3FVERTEX3FSUNPROC) (GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z);\ntypedef void (APIENTRYP PFNGLCOLOR3FVERTEX3FVSUNPROC) (const GLfloat *c, const GLfloat *v);\ntypedef void (APIENTRYP PFNGLNORMAL3FVERTEX3FSUNPROC) (GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);\ntypedef void (APIENTRYP PFNGLNORMAL3FVERTEX3FVSUNPROC) (const GLfloat *n, const GLfloat *v);\ntypedef void (APIENTRYP PFNGLCOLOR4FNORMAL3FVERTEX3FSUNPROC) (GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);\ntypedef void (APIENTRYP PFNGLCOLOR4FNORMAL3FVERTEX3FVSUNPROC) (const GLfloat *c, const GLfloat *n, const GLfloat *v);\ntypedef void (APIENTRYP PFNGLTEXCOORD2FVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLfloat x, GLfloat y, GLfloat z);\ntypedef void (APIENTRYP PFNGLTEXCOORD2FVERTEX3FVSUNPROC) (const GLfloat *tc, const GLfloat *v);\ntypedef void (APIENTRYP PFNGLTEXCOORD4FVERTEX4FSUNPROC) (GLfloat s, GLfloat t, GLfloat p, GLfloat q, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\ntypedef void (APIENTRYP PFNGLTEXCOORD4FVERTEX4FVSUNPROC) (const GLfloat *tc, const GLfloat *v);\ntypedef void (APIENTRYP PFNGLTEXCOORD2FCOLOR4UBVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z);\ntypedef void (APIENTRYP PFNGLTEXCOORD2FCOLOR4UBVERTEX3FVSUNPROC) (const GLfloat *tc, const GLubyte *c, const GLfloat *v);\ntypedef void (APIENTRYP PFNGLTEXCOORD2FCOLOR3FVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z);\ntypedef void (APIENTRYP PFNGLTEXCOORD2FCOLOR3FVERTEX3FVSUNPROC) (const GLfloat *tc, const GLfloat *c, const GLfloat *v);\ntypedef void (APIENTRYP PFNGLTEXCOORD2FNORMAL3FVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);\ntypedef void (APIENTRYP PFNGLTEXCOORD2FNORMAL3FVERTEX3FVSUNPROC) (const GLfloat *tc, const GLfloat *n, const GLfloat *v);\ntypedef void (APIENTRYP PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);\ntypedef void (APIENTRYP PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC) (const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v);\ntypedef void (APIENTRYP PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FSUNPROC) (GLfloat s, GLfloat t, GLfloat p, GLfloat q, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\ntypedef void (APIENTRYP PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FVSUNPROC) (const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v);\ntypedef void (APIENTRYP PFNGLREPLACEMENTCODEUIVERTEX3FSUNPROC) (GLuint rc, GLfloat x, GLfloat y, GLfloat z);\ntypedef void (APIENTRYP PFNGLREPLACEMENTCODEUIVERTEX3FVSUNPROC) (const GLuint *rc, const GLfloat *v);\ntypedef void (APIENTRYP PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FSUNPROC) (GLuint rc, GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z);\ntypedef void (APIENTRYP PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FVSUNPROC) (const GLuint *rc, const GLubyte *c, const GLfloat *v);\ntypedef void (APIENTRYP PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FSUNPROC) (GLuint rc, GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z);\ntypedef void (APIENTRYP PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FVSUNPROC) (const GLuint *rc, const GLfloat *c, const GLfloat *v);\ntypedef void (APIENTRYP PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FSUNPROC) (GLuint rc, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);\ntypedef void (APIENTRYP PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FVSUNPROC) (const GLuint *rc, const GLfloat *n, const GLfloat *v);\ntypedef void (APIENTRYP PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FSUNPROC) (GLuint rc, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);\ntypedef void (APIENTRYP PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FVSUNPROC) (const GLuint *rc, const GLfloat *c, const GLfloat *n, const GLfloat *v);\ntypedef void (APIENTRYP PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FSUNPROC) (GLuint rc, GLfloat s, GLfloat t, GLfloat x, GLfloat y, GLfloat z);\ntypedef void (APIENTRYP PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FVSUNPROC) (const GLuint *rc, const GLfloat *tc, const GLfloat *v);\ntypedef void (APIENTRYP PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FSUNPROC) (GLuint rc, GLfloat s, GLfloat t, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);\ntypedef void (APIENTRYP PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FVSUNPROC) (const GLuint *rc, const GLfloat *tc, const GLfloat *n, const GLfloat *v);\ntypedef void (APIENTRYP PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC) (GLuint rc, GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);\ntypedef void (APIENTRYP PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC) (const GLuint *rc, const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v);\n#ifdef GL_GLEXT_PROTOTYPES\nGLAPI void APIENTRY glColor4ubVertex2fSUN (GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y);\nGLAPI void APIENTRY glColor4ubVertex2fvSUN (const GLubyte *c, const GLfloat *v);\nGLAPI void APIENTRY glColor4ubVertex3fSUN (GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z);\nGLAPI void APIENTRY glColor4ubVertex3fvSUN (const GLubyte *c, const GLfloat *v);\nGLAPI void APIENTRY glColor3fVertex3fSUN (GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z);\nGLAPI void APIENTRY glColor3fVertex3fvSUN (const GLfloat *c, const GLfloat *v);\nGLAPI void APIENTRY glNormal3fVertex3fSUN (GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);\nGLAPI void APIENTRY glNormal3fVertex3fvSUN (const GLfloat *n, const GLfloat *v);\nGLAPI void APIENTRY glColor4fNormal3fVertex3fSUN (GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);\nGLAPI void APIENTRY glColor4fNormal3fVertex3fvSUN (const GLfloat *c, const GLfloat *n, const GLfloat *v);\nGLAPI void APIENTRY glTexCoord2fVertex3fSUN (GLfloat s, GLfloat t, GLfloat x, GLfloat y, GLfloat z);\nGLAPI void APIENTRY glTexCoord2fVertex3fvSUN (const GLfloat *tc, const GLfloat *v);\nGLAPI void APIENTRY glTexCoord4fVertex4fSUN (GLfloat s, GLfloat t, GLfloat p, GLfloat q, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nGLAPI void APIENTRY glTexCoord4fVertex4fvSUN (const GLfloat *tc, const GLfloat *v);\nGLAPI void APIENTRY glTexCoord2fColor4ubVertex3fSUN (GLfloat s, GLfloat t, GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z);\nGLAPI void APIENTRY glTexCoord2fColor4ubVertex3fvSUN (const GLfloat *tc, const GLubyte *c, const GLfloat *v);\nGLAPI void APIENTRY glTexCoord2fColor3fVertex3fSUN (GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z);\nGLAPI void APIENTRY glTexCoord2fColor3fVertex3fvSUN (const GLfloat *tc, const GLfloat *c, const GLfloat *v);\nGLAPI void APIENTRY glTexCoord2fNormal3fVertex3fSUN (GLfloat s, GLfloat t, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);\nGLAPI void APIENTRY glTexCoord2fNormal3fVertex3fvSUN (const GLfloat *tc, const GLfloat *n, const GLfloat *v);\nGLAPI void APIENTRY glTexCoord2fColor4fNormal3fVertex3fSUN (GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);\nGLAPI void APIENTRY glTexCoord2fColor4fNormal3fVertex3fvSUN (const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v);\nGLAPI void APIENTRY glTexCoord4fColor4fNormal3fVertex4fSUN (GLfloat s, GLfloat t, GLfloat p, GLfloat q, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nGLAPI void APIENTRY glTexCoord4fColor4fNormal3fVertex4fvSUN (const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v);\nGLAPI void APIENTRY glReplacementCodeuiVertex3fSUN (GLuint rc, GLfloat x, GLfloat y, GLfloat z);\nGLAPI void APIENTRY glReplacementCodeuiVertex3fvSUN (const GLuint *rc, const GLfloat *v);\nGLAPI void APIENTRY glReplacementCodeuiColor4ubVertex3fSUN (GLuint rc, GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z);\nGLAPI void APIENTRY glReplacementCodeuiColor4ubVertex3fvSUN (const GLuint *rc, const GLubyte *c, const GLfloat *v);\nGLAPI void APIENTRY glReplacementCodeuiColor3fVertex3fSUN (GLuint rc, GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z);\nGLAPI void APIENTRY glReplacementCodeuiColor3fVertex3fvSUN (const GLuint *rc, const GLfloat *c, const GLfloat *v);\nGLAPI void APIENTRY glReplacementCodeuiNormal3fVertex3fSUN (GLuint rc, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);\nGLAPI void APIENTRY glReplacementCodeuiNormal3fVertex3fvSUN (const GLuint *rc, const GLfloat *n, const GLfloat *v);\nGLAPI void APIENTRY glReplacementCodeuiColor4fNormal3fVertex3fSUN (GLuint rc, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);\nGLAPI void APIENTRY glReplacementCodeuiColor4fNormal3fVertex3fvSUN (const GLuint *rc, const GLfloat *c, const GLfloat *n, const GLfloat *v);\nGLAPI void APIENTRY glReplacementCodeuiTexCoord2fVertex3fSUN (GLuint rc, GLfloat s, GLfloat t, GLfloat x, GLfloat y, GLfloat z);\nGLAPI void APIENTRY glReplacementCodeuiTexCoord2fVertex3fvSUN (const GLuint *rc, const GLfloat *tc, const GLfloat *v);\nGLAPI void APIENTRY glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN (GLuint rc, GLfloat s, GLfloat t, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);\nGLAPI void APIENTRY glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN (const GLuint *rc, const GLfloat *tc, const GLfloat *n, const GLfloat *v);\nGLAPI void APIENTRY glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN (GLuint rc, GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);\nGLAPI void APIENTRY glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN (const GLuint *rc, const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v);\n#endif\n#endif /* GL_SUN_vertex */\n\n#ifndef GL_WIN_phong_shading\n#define GL_WIN_phong_shading 1\n#define GL_PHONG_WIN                      0x80EA\n#define GL_PHONG_HINT_WIN                 0x80EB\n#endif /* GL_WIN_phong_shading */\n\n#ifndef GL_WIN_specular_fog\n#define GL_WIN_specular_fog 1\n#define GL_FOG_SPECULAR_TEXTURE_WIN       0x80EC\n#endif /* GL_WIN_specular_fog */\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif\n"
  },
  {
    "path": "external/SDL2-2.0.4/include/SDL_opengles.h",
    "content": "/*\n  Simple DirectMedia Layer\n  Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>\n\n  This software is provided 'as-is', without any express or implied\n  warranty.  In no event will the authors be held liable for any damages\n  arising from the use of this software.\n\n  Permission is granted to anyone to use this software for any purpose,\n  including commercial applications, and to alter it and redistribute it\n  freely, subject to the following restrictions:\n\n  1. The origin of this software must not be misrepresented; you must not\n     claim that you wrote the original software. If you use this software\n     in a product, an acknowledgment in the product documentation would be\n     appreciated but is not required.\n  2. Altered source versions must be plainly marked as such, and must not be\n     misrepresented as being the original software.\n  3. This notice may not be removed or altered from any source distribution.\n*/\n\n/**\n *  \\file SDL_opengles.h\n *\n *  This is a simple file to encapsulate the OpenGL ES 1.X API headers.\n */\n\n#ifdef __IPHONEOS__\n#include <OpenGLES/ES1/gl.h>\n#include <OpenGLES/ES1/glext.h>\n#else\n#include <GLES/gl.h>\n#include <GLES/glext.h>\n#endif\n\n#ifndef APIENTRY\n#define APIENTRY\n#endif\n"
  },
  {
    "path": "external/SDL2-2.0.4/include/SDL_opengles2.h",
    "content": "/*\n  Simple DirectMedia Layer\n  Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>\n\n  This software is provided 'as-is', without any express or implied\n  warranty.  In no event will the authors be held liable for any damages\n  arising from the use of this software.\n\n  Permission is granted to anyone to use this software for any purpose,\n  including commercial applications, and to alter it and redistribute it\n  freely, subject to the following restrictions:\n\n  1. The origin of this software must not be misrepresented; you must not\n     claim that you wrote the original software. If you use this software\n     in a product, an acknowledgment in the product documentation would be\n     appreciated but is not required.\n  2. Altered source versions must be plainly marked as such, and must not be\n     misrepresented as being the original software.\n  3. This notice may not be removed or altered from any source distribution.\n*/\n\n/**\n *  \\file SDL_opengles2.h\n *\n *  This is a simple file to encapsulate the OpenGL ES 2.0 API headers.\n */\n#ifndef _MSC_VER\n\n#ifdef __IPHONEOS__\n#include <OpenGLES/ES2/gl.h>\n#include <OpenGLES/ES2/glext.h>\n#else\n#include <GLES2/gl2platform.h>\n#include <GLES2/gl2.h>\n#include <GLES2/gl2ext.h>\n#endif\n\n#else /* _MSC_VER */\n\n/* OpenGL ES2 headers for Visual Studio */\n#include \"SDL_opengles2_khrplatform.h\"\n#include \"SDL_opengles2_gl2platform.h\"\n#include \"SDL_opengles2_gl2.h\"\n#include \"SDL_opengles2_gl2ext.h\"\n\n#endif /* _MSC_VER */\n\n#ifndef APIENTRY\n#define APIENTRY GL_APIENTRY\n#endif\n"
  },
  {
    "path": "external/SDL2-2.0.4/include/SDL_opengles2_gl2.h",
    "content": "#ifndef __gl2_h_\n#define __gl2_h_\n\n/* $Revision: 20555 $ on $Date:: 2013-02-12 14:32:47 -0800 #$ */\n\n/*#include <GLES2/gl2platform.h>*/\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n/*\n * This document is licensed under the SGI Free Software B License Version\n * 2.0. For details, see http://oss.sgi.com/projects/FreeB/ .\n */\n\n/*-------------------------------------------------------------------------\n * Data type definitions\n *-----------------------------------------------------------------------*/\n\ntypedef void             GLvoid;\ntypedef char             GLchar;\ntypedef unsigned int     GLenum;\ntypedef unsigned char    GLboolean;\ntypedef unsigned int     GLbitfield;\ntypedef khronos_int8_t   GLbyte;\ntypedef short            GLshort;\ntypedef int              GLint;\ntypedef int              GLsizei;\ntypedef khronos_uint8_t  GLubyte;\ntypedef unsigned short   GLushort;\ntypedef unsigned int     GLuint;\ntypedef khronos_float_t  GLfloat;\ntypedef khronos_float_t  GLclampf;\ntypedef khronos_int32_t  GLfixed;\n\n/* GL types for handling large vertex buffer objects */\ntypedef khronos_intptr_t GLintptr;\ntypedef khronos_ssize_t  GLsizeiptr;\n\n/* OpenGL ES core versions */\n#define GL_ES_VERSION_2_0                 1\n\n/* ClearBufferMask */\n#define GL_DEPTH_BUFFER_BIT               0x00000100\n#define GL_STENCIL_BUFFER_BIT             0x00000400\n#define GL_COLOR_BUFFER_BIT               0x00004000\n\n/* Boolean */\n#define GL_FALSE                          0\n#define GL_TRUE                           1\n\n/* BeginMode */\n#define GL_POINTS                         0x0000\n#define GL_LINES                          0x0001\n#define GL_LINE_LOOP                      0x0002\n#define GL_LINE_STRIP                     0x0003\n#define GL_TRIANGLES                      0x0004\n#define GL_TRIANGLE_STRIP                 0x0005\n#define GL_TRIANGLE_FAN                   0x0006\n\n/* AlphaFunction (not supported in ES20) */\n/*      GL_NEVER */\n/*      GL_LESS */\n/*      GL_EQUAL */\n/*      GL_LEQUAL */\n/*      GL_GREATER */\n/*      GL_NOTEQUAL */\n/*      GL_GEQUAL */\n/*      GL_ALWAYS */\n\n/* BlendingFactorDest */\n#define GL_ZERO                           0\n#define GL_ONE                            1\n#define GL_SRC_COLOR                      0x0300\n#define GL_ONE_MINUS_SRC_COLOR            0x0301\n#define GL_SRC_ALPHA                      0x0302\n#define GL_ONE_MINUS_SRC_ALPHA            0x0303\n#define GL_DST_ALPHA                      0x0304\n#define GL_ONE_MINUS_DST_ALPHA            0x0305\n\n/* BlendingFactorSrc */\n/*      GL_ZERO */\n/*      GL_ONE */\n#define GL_DST_COLOR                      0x0306\n#define GL_ONE_MINUS_DST_COLOR            0x0307\n#define GL_SRC_ALPHA_SATURATE             0x0308\n/*      GL_SRC_ALPHA */\n/*      GL_ONE_MINUS_SRC_ALPHA */\n/*      GL_DST_ALPHA */\n/*      GL_ONE_MINUS_DST_ALPHA */\n\n/* BlendEquationSeparate */\n#define GL_FUNC_ADD                       0x8006\n#define GL_BLEND_EQUATION                 0x8009\n#define GL_BLEND_EQUATION_RGB             0x8009    /* same as BLEND_EQUATION */\n#define GL_BLEND_EQUATION_ALPHA           0x883D\n\n/* BlendSubtract */\n#define GL_FUNC_SUBTRACT                  0x800A\n#define GL_FUNC_REVERSE_SUBTRACT          0x800B\n\n/* Separate Blend Functions */\n#define GL_BLEND_DST_RGB                  0x80C8\n#define GL_BLEND_SRC_RGB                  0x80C9\n#define GL_BLEND_DST_ALPHA                0x80CA\n#define GL_BLEND_SRC_ALPHA                0x80CB\n#define GL_CONSTANT_COLOR                 0x8001\n#define GL_ONE_MINUS_CONSTANT_COLOR       0x8002\n#define GL_CONSTANT_ALPHA                 0x8003\n#define GL_ONE_MINUS_CONSTANT_ALPHA       0x8004\n#define GL_BLEND_COLOR                    0x8005\n\n/* Buffer Objects */\n#define GL_ARRAY_BUFFER                   0x8892\n#define GL_ELEMENT_ARRAY_BUFFER           0x8893\n#define GL_ARRAY_BUFFER_BINDING           0x8894\n#define GL_ELEMENT_ARRAY_BUFFER_BINDING   0x8895\n\n#define GL_STREAM_DRAW                    0x88E0\n#define GL_STATIC_DRAW                    0x88E4\n#define GL_DYNAMIC_DRAW                   0x88E8\n\n#define GL_BUFFER_SIZE                    0x8764\n#define GL_BUFFER_USAGE                   0x8765\n\n#define GL_CURRENT_VERTEX_ATTRIB          0x8626\n\n/* CullFaceMode */\n#define GL_FRONT                          0x0404\n#define GL_BACK                           0x0405\n#define GL_FRONT_AND_BACK                 0x0408\n\n/* DepthFunction */\n/*      GL_NEVER */\n/*      GL_LESS */\n/*      GL_EQUAL */\n/*      GL_LEQUAL */\n/*      GL_GREATER */\n/*      GL_NOTEQUAL */\n/*      GL_GEQUAL */\n/*      GL_ALWAYS */\n\n/* EnableCap */\n#define GL_TEXTURE_2D                     0x0DE1\n#define GL_CULL_FACE                      0x0B44\n#define GL_BLEND                          0x0BE2\n#define GL_DITHER                         0x0BD0\n#define GL_STENCIL_TEST                   0x0B90\n#define GL_DEPTH_TEST                     0x0B71\n#define GL_SCISSOR_TEST                   0x0C11\n#define GL_POLYGON_OFFSET_FILL            0x8037\n#define GL_SAMPLE_ALPHA_TO_COVERAGE       0x809E\n#define GL_SAMPLE_COVERAGE                0x80A0\n\n/* ErrorCode */\n#define GL_NO_ERROR                       0\n#define GL_INVALID_ENUM                   0x0500\n#define GL_INVALID_VALUE                  0x0501\n#define GL_INVALID_OPERATION              0x0502\n#define GL_OUT_OF_MEMORY                  0x0505\n\n/* FrontFaceDirection */\n#define GL_CW                             0x0900\n#define GL_CCW                            0x0901\n\n/* GetPName */\n#define GL_LINE_WIDTH                     0x0B21\n#define GL_ALIASED_POINT_SIZE_RANGE       0x846D\n#define GL_ALIASED_LINE_WIDTH_RANGE       0x846E\n#define GL_CULL_FACE_MODE                 0x0B45\n#define GL_FRONT_FACE                     0x0B46\n#define GL_DEPTH_RANGE                    0x0B70\n#define GL_DEPTH_WRITEMASK                0x0B72\n#define GL_DEPTH_CLEAR_VALUE              0x0B73\n#define GL_DEPTH_FUNC                     0x0B74\n#define GL_STENCIL_CLEAR_VALUE            0x0B91\n#define GL_STENCIL_FUNC                   0x0B92\n#define GL_STENCIL_FAIL                   0x0B94\n#define GL_STENCIL_PASS_DEPTH_FAIL        0x0B95\n#define GL_STENCIL_PASS_DEPTH_PASS        0x0B96\n#define GL_STENCIL_REF                    0x0B97\n#define GL_STENCIL_VALUE_MASK             0x0B93\n#define GL_STENCIL_WRITEMASK              0x0B98\n#define GL_STENCIL_BACK_FUNC              0x8800\n#define GL_STENCIL_BACK_FAIL              0x8801\n#define GL_STENCIL_BACK_PASS_DEPTH_FAIL   0x8802\n#define GL_STENCIL_BACK_PASS_DEPTH_PASS   0x8803\n#define GL_STENCIL_BACK_REF               0x8CA3\n#define GL_STENCIL_BACK_VALUE_MASK        0x8CA4\n#define GL_STENCIL_BACK_WRITEMASK         0x8CA5\n#define GL_VIEWPORT                       0x0BA2\n#define GL_SCISSOR_BOX                    0x0C10\n/*      GL_SCISSOR_TEST */\n#define GL_COLOR_CLEAR_VALUE              0x0C22\n#define GL_COLOR_WRITEMASK                0x0C23\n#define GL_UNPACK_ALIGNMENT               0x0CF5\n#define GL_PACK_ALIGNMENT                 0x0D05\n#define GL_MAX_TEXTURE_SIZE               0x0D33\n#define GL_MAX_VIEWPORT_DIMS              0x0D3A\n#define GL_SUBPIXEL_BITS                  0x0D50\n#define GL_RED_BITS                       0x0D52\n#define GL_GREEN_BITS                     0x0D53\n#define GL_BLUE_BITS                      0x0D54\n#define GL_ALPHA_BITS                     0x0D55\n#define GL_DEPTH_BITS                     0x0D56\n#define GL_STENCIL_BITS                   0x0D57\n#define GL_POLYGON_OFFSET_UNITS           0x2A00\n/*      GL_POLYGON_OFFSET_FILL */\n#define GL_POLYGON_OFFSET_FACTOR          0x8038\n#define GL_TEXTURE_BINDING_2D             0x8069\n#define GL_SAMPLE_BUFFERS                 0x80A8\n#define GL_SAMPLES                        0x80A9\n#define GL_SAMPLE_COVERAGE_VALUE          0x80AA\n#define GL_SAMPLE_COVERAGE_INVERT         0x80AB\n\n/* GetTextureParameter */\n/*      GL_TEXTURE_MAG_FILTER */\n/*      GL_TEXTURE_MIN_FILTER */\n/*      GL_TEXTURE_WRAP_S */\n/*      GL_TEXTURE_WRAP_T */\n\n#define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2\n#define GL_COMPRESSED_TEXTURE_FORMATS     0x86A3\n\n/* HintMode */\n#define GL_DONT_CARE                      0x1100\n#define GL_FASTEST                        0x1101\n#define GL_NICEST                         0x1102\n\n/* HintTarget */\n#define GL_GENERATE_MIPMAP_HINT            0x8192\n\n/* DataType */\n#define GL_BYTE                           0x1400\n#define GL_UNSIGNED_BYTE                  0x1401\n#define GL_SHORT                          0x1402\n#define GL_UNSIGNED_SHORT                 0x1403\n#define GL_INT                            0x1404\n#define GL_UNSIGNED_INT                   0x1405\n#define GL_FLOAT                          0x1406\n#define GL_FIXED                          0x140C\n\n/* PixelFormat */\n#define GL_DEPTH_COMPONENT                0x1902\n#define GL_ALPHA                          0x1906\n#define GL_RGB                            0x1907\n#define GL_RGBA                           0x1908\n#define GL_LUMINANCE                      0x1909\n#define GL_LUMINANCE_ALPHA                0x190A\n\n/* PixelType */\n/*      GL_UNSIGNED_BYTE */\n#define GL_UNSIGNED_SHORT_4_4_4_4         0x8033\n#define GL_UNSIGNED_SHORT_5_5_5_1         0x8034\n#define GL_UNSIGNED_SHORT_5_6_5           0x8363\n\n/* Shaders */\n#define GL_FRAGMENT_SHADER                  0x8B30\n#define GL_VERTEX_SHADER                    0x8B31\n#define GL_MAX_VERTEX_ATTRIBS               0x8869\n#define GL_MAX_VERTEX_UNIFORM_VECTORS       0x8DFB\n#define GL_MAX_VARYING_VECTORS              0x8DFC\n#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS 0x8B4D\n#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS   0x8B4C\n#define GL_MAX_TEXTURE_IMAGE_UNITS          0x8872\n#define GL_MAX_FRAGMENT_UNIFORM_VECTORS     0x8DFD\n#define GL_SHADER_TYPE                      0x8B4F\n#define GL_DELETE_STATUS                    0x8B80\n#define GL_LINK_STATUS                      0x8B82\n#define GL_VALIDATE_STATUS                  0x8B83\n#define GL_ATTACHED_SHADERS                 0x8B85\n#define GL_ACTIVE_UNIFORMS                  0x8B86\n#define GL_ACTIVE_UNIFORM_MAX_LENGTH        0x8B87\n#define GL_ACTIVE_ATTRIBUTES                0x8B89\n#define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH      0x8B8A\n#define GL_SHADING_LANGUAGE_VERSION         0x8B8C\n#define GL_CURRENT_PROGRAM                  0x8B8D\n\n/* StencilFunction */\n#define GL_NEVER                          0x0200\n#define GL_LESS                           0x0201\n#define GL_EQUAL                          0x0202\n#define GL_LEQUAL                         0x0203\n#define GL_GREATER                        0x0204\n#define GL_NOTEQUAL                       0x0205\n#define GL_GEQUAL                         0x0206\n#define GL_ALWAYS                         0x0207\n\n/* StencilOp */\n/*      GL_ZERO */\n#define GL_KEEP                           0x1E00\n#define GL_REPLACE                        0x1E01\n#define GL_INCR                           0x1E02\n#define GL_DECR                           0x1E03\n#define GL_INVERT                         0x150A\n#define GL_INCR_WRAP                      0x8507\n#define GL_DECR_WRAP                      0x8508\n\n/* StringName */\n#define GL_VENDOR                         0x1F00\n#define GL_RENDERER                       0x1F01\n#define GL_VERSION                        0x1F02\n#define GL_EXTENSIONS                     0x1F03\n\n/* TextureMagFilter */\n#define GL_NEAREST                        0x2600\n#define GL_LINEAR                         0x2601\n\n/* TextureMinFilter */\n/*      GL_NEAREST */\n/*      GL_LINEAR */\n#define GL_NEAREST_MIPMAP_NEAREST         0x2700\n#define GL_LINEAR_MIPMAP_NEAREST          0x2701\n#define GL_NEAREST_MIPMAP_LINEAR          0x2702\n#define GL_LINEAR_MIPMAP_LINEAR           0x2703\n\n/* TextureParameterName */\n#define GL_TEXTURE_MAG_FILTER             0x2800\n#define GL_TEXTURE_MIN_FILTER             0x2801\n#define GL_TEXTURE_WRAP_S                 0x2802\n#define GL_TEXTURE_WRAP_T                 0x2803\n\n/* TextureTarget */\n/*      GL_TEXTURE_2D */\n#define GL_TEXTURE                        0x1702\n\n#define GL_TEXTURE_CUBE_MAP               0x8513\n#define GL_TEXTURE_BINDING_CUBE_MAP       0x8514\n#define GL_TEXTURE_CUBE_MAP_POSITIVE_X    0x8515\n#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X    0x8516\n#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y    0x8517\n#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y    0x8518\n#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z    0x8519\n#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z    0x851A\n#define GL_MAX_CUBE_MAP_TEXTURE_SIZE      0x851C\n\n/* TextureUnit */\n#define GL_TEXTURE0                       0x84C0\n#define GL_TEXTURE1                       0x84C1\n#define GL_TEXTURE2                       0x84C2\n#define GL_TEXTURE3                       0x84C3\n#define GL_TEXTURE4                       0x84C4\n#define GL_TEXTURE5                       0x84C5\n#define GL_TEXTURE6                       0x84C6\n#define GL_TEXTURE7                       0x84C7\n#define GL_TEXTURE8                       0x84C8\n#define GL_TEXTURE9                       0x84C9\n#define GL_TEXTURE10                      0x84CA\n#define GL_TEXTURE11                      0x84CB\n#define GL_TEXTURE12                      0x84CC\n#define GL_TEXTURE13                      0x84CD\n#define GL_TEXTURE14                      0x84CE\n#define GL_TEXTURE15                      0x84CF\n#define GL_TEXTURE16                      0x84D0\n#define GL_TEXTURE17                      0x84D1\n#define GL_TEXTURE18                      0x84D2\n#define GL_TEXTURE19                      0x84D3\n#define GL_TEXTURE20                      0x84D4\n#define GL_TEXTURE21                      0x84D5\n#define GL_TEXTURE22                      0x84D6\n#define GL_TEXTURE23                      0x84D7\n#define GL_TEXTURE24                      0x84D8\n#define GL_TEXTURE25                      0x84D9\n#define GL_TEXTURE26                      0x84DA\n#define GL_TEXTURE27                      0x84DB\n#define GL_TEXTURE28                      0x84DC\n#define GL_TEXTURE29                      0x84DD\n#define GL_TEXTURE30                      0x84DE\n#define GL_TEXTURE31                      0x84DF\n#define GL_ACTIVE_TEXTURE                 0x84E0\n\n/* TextureWrapMode */\n#define GL_REPEAT                         0x2901\n#define GL_CLAMP_TO_EDGE                  0x812F\n#define GL_MIRRORED_REPEAT                0x8370\n\n/* Uniform Types */\n#define GL_FLOAT_VEC2                     0x8B50\n#define GL_FLOAT_VEC3                     0x8B51\n#define GL_FLOAT_VEC4                     0x8B52\n#define GL_INT_VEC2                       0x8B53\n#define GL_INT_VEC3                       0x8B54\n#define GL_INT_VEC4                       0x8B55\n#define GL_BOOL                           0x8B56\n#define GL_BOOL_VEC2                      0x8B57\n#define GL_BOOL_VEC3                      0x8B58\n#define GL_BOOL_VEC4                      0x8B59\n#define GL_FLOAT_MAT2                     0x8B5A\n#define GL_FLOAT_MAT3                     0x8B5B\n#define GL_FLOAT_MAT4                     0x8B5C\n#define GL_SAMPLER_2D                     0x8B5E\n#define GL_SAMPLER_CUBE                   0x8B60\n\n/* Vertex Arrays */\n#define GL_VERTEX_ATTRIB_ARRAY_ENABLED        0x8622\n#define GL_VERTEX_ATTRIB_ARRAY_SIZE           0x8623\n#define GL_VERTEX_ATTRIB_ARRAY_STRIDE         0x8624\n#define GL_VERTEX_ATTRIB_ARRAY_TYPE           0x8625\n#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED     0x886A\n#define GL_VERTEX_ATTRIB_ARRAY_POINTER        0x8645\n#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING 0x889F\n\n/* Read Format */\n#define GL_IMPLEMENTATION_COLOR_READ_TYPE   0x8B9A\n#define GL_IMPLEMENTATION_COLOR_READ_FORMAT 0x8B9B\n\n/* Shader Source */\n#define GL_COMPILE_STATUS                 0x8B81\n#define GL_INFO_LOG_LENGTH                0x8B84\n#define GL_SHADER_SOURCE_LENGTH           0x8B88\n#define GL_SHADER_COMPILER                0x8DFA\n\n/* Shader Binary */\n#define GL_SHADER_BINARY_FORMATS          0x8DF8\n#define GL_NUM_SHADER_BINARY_FORMATS      0x8DF9\n\n/* Shader Precision-Specified Types */\n#define GL_LOW_FLOAT                      0x8DF0\n#define GL_MEDIUM_FLOAT                   0x8DF1\n#define GL_HIGH_FLOAT                     0x8DF2\n#define GL_LOW_INT                        0x8DF3\n#define GL_MEDIUM_INT                     0x8DF4\n#define GL_HIGH_INT                       0x8DF5\n\n/* Framebuffer Object. */\n#define GL_FRAMEBUFFER                    0x8D40\n#define GL_RENDERBUFFER                   0x8D41\n\n#define GL_RGBA4                          0x8056\n#define GL_RGB5_A1                        0x8057\n#define GL_RGB565                         0x8D62\n#define GL_DEPTH_COMPONENT16              0x81A5\n#define GL_STENCIL_INDEX8                 0x8D48\n\n#define GL_RENDERBUFFER_WIDTH             0x8D42\n#define GL_RENDERBUFFER_HEIGHT            0x8D43\n#define GL_RENDERBUFFER_INTERNAL_FORMAT   0x8D44\n#define GL_RENDERBUFFER_RED_SIZE          0x8D50\n#define GL_RENDERBUFFER_GREEN_SIZE        0x8D51\n#define GL_RENDERBUFFER_BLUE_SIZE         0x8D52\n#define GL_RENDERBUFFER_ALPHA_SIZE        0x8D53\n#define GL_RENDERBUFFER_DEPTH_SIZE        0x8D54\n#define GL_RENDERBUFFER_STENCIL_SIZE      0x8D55\n\n#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE           0x8CD0\n#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME           0x8CD1\n#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL         0x8CD2\n#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE 0x8CD3\n\n#define GL_COLOR_ATTACHMENT0              0x8CE0\n#define GL_DEPTH_ATTACHMENT               0x8D00\n#define GL_STENCIL_ATTACHMENT             0x8D20\n\n#define GL_NONE                           0\n\n#define GL_FRAMEBUFFER_COMPLETE                      0x8CD5\n#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT         0x8CD6\n#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT 0x8CD7\n#define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS         0x8CD9\n#define GL_FRAMEBUFFER_UNSUPPORTED                   0x8CDD\n\n#define GL_FRAMEBUFFER_BINDING            0x8CA6\n#define GL_RENDERBUFFER_BINDING           0x8CA7\n#define GL_MAX_RENDERBUFFER_SIZE          0x84E8\n\n#define GL_INVALID_FRAMEBUFFER_OPERATION  0x0506\n\n/*-------------------------------------------------------------------------\n * GL core functions.\n *-----------------------------------------------------------------------*/\n\nGL_APICALL void         GL_APIENTRY glActiveTexture (GLenum texture);\nGL_APICALL void         GL_APIENTRY glAttachShader (GLuint program, GLuint shader);\nGL_APICALL void         GL_APIENTRY glBindAttribLocation (GLuint program, GLuint index, const GLchar* name);\nGL_APICALL void         GL_APIENTRY glBindBuffer (GLenum target, GLuint buffer);\nGL_APICALL void         GL_APIENTRY glBindFramebuffer (GLenum target, GLuint framebuffer);\nGL_APICALL void         GL_APIENTRY glBindRenderbuffer (GLenum target, GLuint renderbuffer);\nGL_APICALL void         GL_APIENTRY glBindTexture (GLenum target, GLuint texture);\nGL_APICALL void         GL_APIENTRY glBlendColor (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);\nGL_APICALL void         GL_APIENTRY glBlendEquation ( GLenum mode );\nGL_APICALL void         GL_APIENTRY glBlendEquationSeparate (GLenum modeRGB, GLenum modeAlpha);\nGL_APICALL void         GL_APIENTRY glBlendFunc (GLenum sfactor, GLenum dfactor);\nGL_APICALL void         GL_APIENTRY glBlendFuncSeparate (GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);\nGL_APICALL void         GL_APIENTRY glBufferData (GLenum target, GLsizeiptr size, const GLvoid* data, GLenum usage);\nGL_APICALL void         GL_APIENTRY glBufferSubData (GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid* data);\nGL_APICALL GLenum       GL_APIENTRY glCheckFramebufferStatus (GLenum target);\nGL_APICALL void         GL_APIENTRY glClear (GLbitfield mask);\nGL_APICALL void         GL_APIENTRY glClearColor (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);\nGL_APICALL void         GL_APIENTRY glClearDepthf (GLclampf depth);\nGL_APICALL void         GL_APIENTRY glClearStencil (GLint s);\nGL_APICALL void         GL_APIENTRY glColorMask (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);\nGL_APICALL void         GL_APIENTRY glCompileShader (GLuint shader);\nGL_APICALL void         GL_APIENTRY glCompressedTexImage2D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid* data);\nGL_APICALL void         GL_APIENTRY glCompressedTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid* data);\nGL_APICALL void         GL_APIENTRY glCopyTexImage2D (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);\nGL_APICALL void         GL_APIENTRY glCopyTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);\nGL_APICALL GLuint       GL_APIENTRY glCreateProgram (void);\nGL_APICALL GLuint       GL_APIENTRY glCreateShader (GLenum type);\nGL_APICALL void         GL_APIENTRY glCullFace (GLenum mode);\nGL_APICALL void         GL_APIENTRY glDeleteBuffers (GLsizei n, const GLuint* buffers);\nGL_APICALL void         GL_APIENTRY glDeleteFramebuffers (GLsizei n, const GLuint* framebuffers);\nGL_APICALL void         GL_APIENTRY glDeleteProgram (GLuint program);\nGL_APICALL void         GL_APIENTRY glDeleteRenderbuffers (GLsizei n, const GLuint* renderbuffers);\nGL_APICALL void         GL_APIENTRY glDeleteShader (GLuint shader);\nGL_APICALL void         GL_APIENTRY glDeleteTextures (GLsizei n, const GLuint* textures);\nGL_APICALL void         GL_APIENTRY glDepthFunc (GLenum func);\nGL_APICALL void         GL_APIENTRY glDepthMask (GLboolean flag);\nGL_APICALL void         GL_APIENTRY glDepthRangef (GLclampf zNear, GLclampf zFar);\nGL_APICALL void         GL_APIENTRY glDetachShader (GLuint program, GLuint shader);\nGL_APICALL void         GL_APIENTRY glDisable (GLenum cap);\nGL_APICALL void         GL_APIENTRY glDisableVertexAttribArray (GLuint index);\nGL_APICALL void         GL_APIENTRY glDrawArrays (GLenum mode, GLint first, GLsizei count);\nGL_APICALL void         GL_APIENTRY glDrawElements (GLenum mode, GLsizei count, GLenum type, const GLvoid* indices);\nGL_APICALL void         GL_APIENTRY glEnable (GLenum cap);\nGL_APICALL void         GL_APIENTRY glEnableVertexAttribArray (GLuint index);\nGL_APICALL void         GL_APIENTRY glFinish (void);\nGL_APICALL void         GL_APIENTRY glFlush (void);\nGL_APICALL void         GL_APIENTRY glFramebufferRenderbuffer (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);\nGL_APICALL void         GL_APIENTRY glFramebufferTexture2D (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);\nGL_APICALL void         GL_APIENTRY glFrontFace (GLenum mode);\nGL_APICALL void         GL_APIENTRY glGenBuffers (GLsizei n, GLuint* buffers);\nGL_APICALL void         GL_APIENTRY glGenerateMipmap (GLenum target);\nGL_APICALL void         GL_APIENTRY glGenFramebuffers (GLsizei n, GLuint* framebuffers);\nGL_APICALL void         GL_APIENTRY glGenRenderbuffers (GLsizei n, GLuint* renderbuffers);\nGL_APICALL void         GL_APIENTRY glGenTextures (GLsizei n, GLuint* textures);\nGL_APICALL void         GL_APIENTRY glGetActiveAttrib (GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, GLchar* name);\nGL_APICALL void         GL_APIENTRY glGetActiveUniform (GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, GLchar* name);\nGL_APICALL void         GL_APIENTRY glGetAttachedShaders (GLuint program, GLsizei maxcount, GLsizei* count, GLuint* shaders);\nGL_APICALL GLint        GL_APIENTRY glGetAttribLocation (GLuint program, const GLchar* name);\nGL_APICALL void         GL_APIENTRY glGetBooleanv (GLenum pname, GLboolean* params);\nGL_APICALL void         GL_APIENTRY glGetBufferParameteriv (GLenum target, GLenum pname, GLint* params);\nGL_APICALL GLenum       GL_APIENTRY glGetError (void);\nGL_APICALL void         GL_APIENTRY glGetFloatv (GLenum pname, GLfloat* params);\nGL_APICALL void         GL_APIENTRY glGetFramebufferAttachmentParameteriv (GLenum target, GLenum attachment, GLenum pname, GLint* params);\nGL_APICALL void         GL_APIENTRY glGetIntegerv (GLenum pname, GLint* params);\nGL_APICALL void         GL_APIENTRY glGetProgramiv (GLuint program, GLenum pname, GLint* params);\nGL_APICALL void         GL_APIENTRY glGetProgramInfoLog (GLuint program, GLsizei bufsize, GLsizei* length, GLchar* infolog);\nGL_APICALL void         GL_APIENTRY glGetRenderbufferParameteriv (GLenum target, GLenum pname, GLint* params);\nGL_APICALL void         GL_APIENTRY glGetShaderiv (GLuint shader, GLenum pname, GLint* params);\nGL_APICALL void         GL_APIENTRY glGetShaderInfoLog (GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* infolog);\nGL_APICALL void         GL_APIENTRY glGetShaderPrecisionFormat (GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision);\nGL_APICALL void         GL_APIENTRY glGetShaderSource (GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* source);\nGL_APICALL const GLubyte* GL_APIENTRY glGetString (GLenum name);\nGL_APICALL void         GL_APIENTRY glGetTexParameterfv (GLenum target, GLenum pname, GLfloat* params);\nGL_APICALL void         GL_APIENTRY glGetTexParameteriv (GLenum target, GLenum pname, GLint* params);\nGL_APICALL void         GL_APIENTRY glGetUniformfv (GLuint program, GLint location, GLfloat* params);\nGL_APICALL void         GL_APIENTRY glGetUniformiv (GLuint program, GLint location, GLint* params);\nGL_APICALL GLint        GL_APIENTRY glGetUniformLocation (GLuint program, const GLchar* name);\nGL_APICALL void         GL_APIENTRY glGetVertexAttribfv (GLuint index, GLenum pname, GLfloat* params);\nGL_APICALL void         GL_APIENTRY glGetVertexAttribiv (GLuint index, GLenum pname, GLint* params);\nGL_APICALL void         GL_APIENTRY glGetVertexAttribPointerv (GLuint index, GLenum pname, GLvoid** pointer);\nGL_APICALL void         GL_APIENTRY glHint (GLenum target, GLenum mode);\nGL_APICALL GLboolean    GL_APIENTRY glIsBuffer (GLuint buffer);\nGL_APICALL GLboolean    GL_APIENTRY glIsEnabled (GLenum cap);\nGL_APICALL GLboolean    GL_APIENTRY glIsFramebuffer (GLuint framebuffer);\nGL_APICALL GLboolean    GL_APIENTRY glIsProgram (GLuint program);\nGL_APICALL GLboolean    GL_APIENTRY glIsRenderbuffer (GLuint renderbuffer);\nGL_APICALL GLboolean    GL_APIENTRY glIsShader (GLuint shader);\nGL_APICALL GLboolean    GL_APIENTRY glIsTexture (GLuint texture);\nGL_APICALL void         GL_APIENTRY glLineWidth (GLfloat width);\nGL_APICALL void         GL_APIENTRY glLinkProgram (GLuint program);\nGL_APICALL void         GL_APIENTRY glPixelStorei (GLenum pname, GLint param);\nGL_APICALL void         GL_APIENTRY glPolygonOffset (GLfloat factor, GLfloat units);\nGL_APICALL void         GL_APIENTRY glReadPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid* pixels);\nGL_APICALL void         GL_APIENTRY glReleaseShaderCompiler (void);\nGL_APICALL void         GL_APIENTRY glRenderbufferStorage (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);\nGL_APICALL void         GL_APIENTRY glSampleCoverage (GLclampf value, GLboolean invert);\nGL_APICALL void         GL_APIENTRY glScissor (GLint x, GLint y, GLsizei width, GLsizei height);\nGL_APICALL void         GL_APIENTRY glShaderBinary (GLsizei n, const GLuint* shaders, GLenum binaryformat, const GLvoid* binary, GLsizei length);\nGL_APICALL void         GL_APIENTRY glShaderSource (GLuint shader, GLsizei count, const GLchar* const* string, const GLint* length);\nGL_APICALL void         GL_APIENTRY glStencilFunc (GLenum func, GLint ref, GLuint mask);\nGL_APICALL void         GL_APIENTRY glStencilFuncSeparate (GLenum face, GLenum func, GLint ref, GLuint mask);\nGL_APICALL void         GL_APIENTRY glStencilMask (GLuint mask);\nGL_APICALL void         GL_APIENTRY glStencilMaskSeparate (GLenum face, GLuint mask);\nGL_APICALL void         GL_APIENTRY glStencilOp (GLenum fail, GLenum zfail, GLenum zpass);\nGL_APICALL void         GL_APIENTRY glStencilOpSeparate (GLenum face, GLenum fail, GLenum zfail, GLenum zpass);\nGL_APICALL void         GL_APIENTRY glTexImage2D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid* pixels);\nGL_APICALL void         GL_APIENTRY glTexParameterf (GLenum target, GLenum pname, GLfloat param);\nGL_APICALL void         GL_APIENTRY glTexParameterfv (GLenum target, GLenum pname, const GLfloat* params);\nGL_APICALL void         GL_APIENTRY glTexParameteri (GLenum target, GLenum pname, GLint param);\nGL_APICALL void         GL_APIENTRY glTexParameteriv (GLenum target, GLenum pname, const GLint* params);\nGL_APICALL void         GL_APIENTRY glTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid* pixels);\nGL_APICALL void         GL_APIENTRY glUniform1f (GLint location, GLfloat x);\nGL_APICALL void         GL_APIENTRY glUniform1fv (GLint location, GLsizei count, const GLfloat* v);\nGL_APICALL void         GL_APIENTRY glUniform1i (GLint location, GLint x);\nGL_APICALL void         GL_APIENTRY glUniform1iv (GLint location, GLsizei count, const GLint* v);\nGL_APICALL void         GL_APIENTRY glUniform2f (GLint location, GLfloat x, GLfloat y);\nGL_APICALL void         GL_APIENTRY glUniform2fv (GLint location, GLsizei count, const GLfloat* v);\nGL_APICALL void         GL_APIENTRY glUniform2i (GLint location, GLint x, GLint y);\nGL_APICALL void         GL_APIENTRY glUniform2iv (GLint location, GLsizei count, const GLint* v);\nGL_APICALL void         GL_APIENTRY glUniform3f (GLint location, GLfloat x, GLfloat y, GLfloat z);\nGL_APICALL void         GL_APIENTRY glUniform3fv (GLint location, GLsizei count, const GLfloat* v);\nGL_APICALL void         GL_APIENTRY glUniform3i (GLint location, GLint x, GLint y, GLint z);\nGL_APICALL void         GL_APIENTRY glUniform3iv (GLint location, GLsizei count, const GLint* v);\nGL_APICALL void         GL_APIENTRY glUniform4f (GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nGL_APICALL void         GL_APIENTRY glUniform4fv (GLint location, GLsizei count, const GLfloat* v);\nGL_APICALL void         GL_APIENTRY glUniform4i (GLint location, GLint x, GLint y, GLint z, GLint w);\nGL_APICALL void         GL_APIENTRY glUniform4iv (GLint location, GLsizei count, const GLint* v);\nGL_APICALL void         GL_APIENTRY glUniformMatrix2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);\nGL_APICALL void         GL_APIENTRY glUniformMatrix3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);\nGL_APICALL void         GL_APIENTRY glUniformMatrix4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);\nGL_APICALL void         GL_APIENTRY glUseProgram (GLuint program);\nGL_APICALL void         GL_APIENTRY glValidateProgram (GLuint program);\nGL_APICALL void         GL_APIENTRY glVertexAttrib1f (GLuint indx, GLfloat x);\nGL_APICALL void         GL_APIENTRY glVertexAttrib1fv (GLuint indx, const GLfloat* values);\nGL_APICALL void         GL_APIENTRY glVertexAttrib2f (GLuint indx, GLfloat x, GLfloat y);\nGL_APICALL void         GL_APIENTRY glVertexAttrib2fv (GLuint indx, const GLfloat* values);\nGL_APICALL void         GL_APIENTRY glVertexAttrib3f (GLuint indx, GLfloat x, GLfloat y, GLfloat z);\nGL_APICALL void         GL_APIENTRY glVertexAttrib3fv (GLuint indx, const GLfloat* values);\nGL_APICALL void         GL_APIENTRY glVertexAttrib4f (GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nGL_APICALL void         GL_APIENTRY glVertexAttrib4fv (GLuint indx, const GLfloat* values);\nGL_APICALL void         GL_APIENTRY glVertexAttribPointer (GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid* ptr);\nGL_APICALL void         GL_APIENTRY glViewport (GLint x, GLint y, GLsizei width, GLsizei height);\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif /* __gl2_h_ */\n\n"
  },
  {
    "path": "external/SDL2-2.0.4/include/SDL_opengles2_gl2ext.h",
    "content": "#ifndef __gl2ext_h_\n#define __gl2ext_h_\n\n/* $Revision: 22801 $ on $Date:: 2013-08-21 03:20:48 -0700 #$ */\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n/*\n * This document is licensed under the SGI Free Software B License Version\n * 2.0. For details, see http://oss.sgi.com/projects/FreeB/ .\n */\n\n#ifndef GL_APIENTRYP\n#   define GL_APIENTRYP GL_APIENTRY*\n#endif\n\n/* New types shared by several extensions */\n\n#ifndef __gl3_h_\n/* These are defined with respect to <inttypes.h> in the\n * Apple extension spec, but they are also used by non-APPLE\n * extensions, and in the Khronos header we use the Khronos\n * portable types in khrplatform.h, which must be defined.\n */\ntypedef khronos_int64_t GLint64;\ntypedef khronos_uint64_t GLuint64;\ntypedef struct __GLsync *GLsync;\n#endif\n\n\n/*------------------------------------------------------------------------*\n * OES extension tokens\n *------------------------------------------------------------------------*/\n\n/* GL_OES_compressed_ETC1_RGB8_texture */\n#ifndef GL_OES_compressed_ETC1_RGB8_texture\n#define GL_ETC1_RGB8_OES                                        0x8D64\n#endif\n\n/* GL_OES_compressed_paletted_texture */\n#ifndef GL_OES_compressed_paletted_texture\n#define GL_PALETTE4_RGB8_OES                                    0x8B90\n#define GL_PALETTE4_RGBA8_OES                                   0x8B91\n#define GL_PALETTE4_R5_G6_B5_OES                                0x8B92\n#define GL_PALETTE4_RGBA4_OES                                   0x8B93\n#define GL_PALETTE4_RGB5_A1_OES                                 0x8B94\n#define GL_PALETTE8_RGB8_OES                                    0x8B95\n#define GL_PALETTE8_RGBA8_OES                                   0x8B96\n#define GL_PALETTE8_R5_G6_B5_OES                                0x8B97\n#define GL_PALETTE8_RGBA4_OES                                   0x8B98\n#define GL_PALETTE8_RGB5_A1_OES                                 0x8B99\n#endif\n\n/* GL_OES_depth24 */\n#ifndef GL_OES_depth24\n#define GL_DEPTH_COMPONENT24_OES                                0x81A6\n#endif\n\n/* GL_OES_depth32 */\n#ifndef GL_OES_depth32\n#define GL_DEPTH_COMPONENT32_OES                                0x81A7\n#endif\n\n/* GL_OES_depth_texture */\n/* No new tokens introduced by this extension. */\n\n/* GL_OES_EGL_image */\n#ifndef GL_OES_EGL_image\ntypedef void* GLeglImageOES;\n#endif\n\n/* GL_OES_EGL_image_external */\n#ifndef GL_OES_EGL_image_external\n/* GLeglImageOES defined in GL_OES_EGL_image already. */\n#define GL_TEXTURE_EXTERNAL_OES                                 0x8D65\n#define GL_SAMPLER_EXTERNAL_OES                                 0x8D66\n#define GL_TEXTURE_BINDING_EXTERNAL_OES                         0x8D67\n#define GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES                     0x8D68\n#endif\n\n/* GL_OES_element_index_uint */\n#ifndef GL_OES_element_index_uint\n#define GL_UNSIGNED_INT                                         0x1405\n#endif\n\n/* GL_OES_get_program_binary */\n#ifndef GL_OES_get_program_binary\n#define GL_PROGRAM_BINARY_LENGTH_OES                            0x8741\n#define GL_NUM_PROGRAM_BINARY_FORMATS_OES                       0x87FE\n#define GL_PROGRAM_BINARY_FORMATS_OES                           0x87FF\n#endif\n\n/* GL_OES_mapbuffer */\n#ifndef GL_OES_mapbuffer\n#define GL_WRITE_ONLY_OES                                       0x88B9\n#define GL_BUFFER_ACCESS_OES                                    0x88BB\n#define GL_BUFFER_MAPPED_OES                                    0x88BC\n#define GL_BUFFER_MAP_POINTER_OES                               0x88BD\n#endif\n\n/* GL_OES_packed_depth_stencil */\n#ifndef GL_OES_packed_depth_stencil\n#define GL_DEPTH_STENCIL_OES                                    0x84F9\n#define GL_UNSIGNED_INT_24_8_OES                                0x84FA\n#define GL_DEPTH24_STENCIL8_OES                                 0x88F0\n#endif\n\n/* GL_OES_required_internalformat */\n#ifndef GL_OES_required_internalformat\n#define GL_ALPHA8_OES                                           0x803C\n#define GL_DEPTH_COMPONENT16_OES                                0x81A5\n/* reuse GL_DEPTH_COMPONENT24_OES */\n/* reuse GL_DEPTH24_STENCIL8_OES */\n/* reuse GL_DEPTH_COMPONENT32_OES */\n#define GL_LUMINANCE4_ALPHA4_OES                                0x8043\n#define GL_LUMINANCE8_ALPHA8_OES                                0x8045\n#define GL_LUMINANCE8_OES                                       0x8040\n#define GL_RGBA4_OES                                            0x8056\n#define GL_RGB5_A1_OES                                          0x8057\n#define GL_RGB565_OES                                           0x8D62\n/* reuse GL_RGB8_OES */\n/* reuse GL_RGBA8_OES */\n/* reuse GL_RGB10_EXT */\n/* reuse GL_RGB10_A2_EXT */\n#endif\n\n/* GL_OES_rgb8_rgba8 */\n#ifndef GL_OES_rgb8_rgba8\n#define GL_RGB8_OES                                             0x8051\n#define GL_RGBA8_OES                                            0x8058\n#endif\n\n/* GL_OES_standard_derivatives */\n#ifndef GL_OES_standard_derivatives\n#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES                  0x8B8B\n#endif\n\n/* GL_OES_stencil1 */\n#ifndef GL_OES_stencil1\n#define GL_STENCIL_INDEX1_OES                                   0x8D46\n#endif\n\n/* GL_OES_stencil4 */\n#ifndef GL_OES_stencil4\n#define GL_STENCIL_INDEX4_OES                                   0x8D47\n#endif\n\n#ifndef GL_OES_surfaceless_context\n#define GL_FRAMEBUFFER_UNDEFINED_OES                            0x8219\n#endif\n\n/* GL_OES_texture_3D */\n#ifndef GL_OES_texture_3D\n#define GL_TEXTURE_WRAP_R_OES                                   0x8072\n#define GL_TEXTURE_3D_OES                                       0x806F\n#define GL_TEXTURE_BINDING_3D_OES                               0x806A\n#define GL_MAX_3D_TEXTURE_SIZE_OES                              0x8073\n#define GL_SAMPLER_3D_OES                                       0x8B5F\n#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES        0x8CD4\n#endif\n\n/* GL_OES_texture_float */\n/* No new tokens introduced by this extension. */\n\n/* GL_OES_texture_float_linear */\n/* No new tokens introduced by this extension. */\n\n/* GL_OES_texture_half_float */\n#ifndef GL_OES_texture_half_float\n#define GL_HALF_FLOAT_OES                                       0x8D61\n#endif\n\n/* GL_OES_texture_half_float_linear */\n/* No new tokens introduced by this extension. */\n\n/* GL_OES_texture_npot */\n/* No new tokens introduced by this extension. */\n\n/* GL_OES_vertex_array_object */\n#ifndef GL_OES_vertex_array_object\n#define GL_VERTEX_ARRAY_BINDING_OES                             0x85B5\n#endif\n\n/* GL_OES_vertex_half_float */\n/* GL_HALF_FLOAT_OES defined in GL_OES_texture_half_float already. */\n\n/* GL_OES_vertex_type_10_10_10_2 */\n#ifndef GL_OES_vertex_type_10_10_10_2\n#define GL_UNSIGNED_INT_10_10_10_2_OES                          0x8DF6\n#define GL_INT_10_10_10_2_OES                                   0x8DF7\n#endif\n\n/*------------------------------------------------------------------------*\n * KHR extension tokens\n *------------------------------------------------------------------------*/\n\n#ifndef GL_KHR_debug\ntypedef void (GL_APIENTRYP GLDEBUGPROCKHR)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam);\n#define GL_DEBUG_OUTPUT_SYNCHRONOUS_KHR                         0x8242\n#define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_KHR                 0x8243\n#define GL_DEBUG_CALLBACK_FUNCTION_KHR                          0x8244\n#define GL_DEBUG_CALLBACK_USER_PARAM_KHR                        0x8245\n#define GL_DEBUG_SOURCE_API_KHR                                 0x8246\n#define GL_DEBUG_SOURCE_WINDOW_SYSTEM_KHR                       0x8247\n#define GL_DEBUG_SOURCE_SHADER_COMPILER_KHR                     0x8248\n#define GL_DEBUG_SOURCE_THIRD_PARTY_KHR                         0x8249\n#define GL_DEBUG_SOURCE_APPLICATION_KHR                         0x824A\n#define GL_DEBUG_SOURCE_OTHER_KHR                               0x824B\n#define GL_DEBUG_TYPE_ERROR_KHR                                 0x824C\n#define GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_KHR                   0x824D\n#define GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_KHR                    0x824E\n#define GL_DEBUG_TYPE_PORTABILITY_KHR                           0x824F\n#define GL_DEBUG_TYPE_PERFORMANCE_KHR                           0x8250\n#define GL_DEBUG_TYPE_OTHER_KHR                                 0x8251\n#define GL_DEBUG_TYPE_MARKER_KHR                                0x8268\n#define GL_DEBUG_TYPE_PUSH_GROUP_KHR                            0x8269\n#define GL_DEBUG_TYPE_POP_GROUP_KHR                             0x826A\n#define GL_DEBUG_SEVERITY_NOTIFICATION_KHR                      0x826B\n#define GL_MAX_DEBUG_GROUP_STACK_DEPTH_KHR                      0x826C\n#define GL_DEBUG_GROUP_STACK_DEPTH_KHR                          0x826D\n#define GL_BUFFER_KHR                                           0x82E0\n#define GL_SHADER_KHR                                           0x82E1\n#define GL_PROGRAM_KHR                                          0x82E2\n#define GL_QUERY_KHR                                            0x82E3\n/* PROGRAM_PIPELINE only in GL */\n#define GL_SAMPLER_KHR                                          0x82E6\n/* DISPLAY_LIST only in GL */\n#define GL_MAX_LABEL_LENGTH_KHR                                 0x82E8\n#define GL_MAX_DEBUG_MESSAGE_LENGTH_KHR                         0x9143\n#define GL_MAX_DEBUG_LOGGED_MESSAGES_KHR                        0x9144\n#define GL_DEBUG_LOGGED_MESSAGES_KHR                            0x9145\n#define GL_DEBUG_SEVERITY_HIGH_KHR                              0x9146\n#define GL_DEBUG_SEVERITY_MEDIUM_KHR                            0x9147\n#define GL_DEBUG_SEVERITY_LOW_KHR                               0x9148\n#define GL_DEBUG_OUTPUT_KHR                                     0x92E0\n#define GL_CONTEXT_FLAG_DEBUG_BIT_KHR                           0x00000002\n#define GL_STACK_OVERFLOW_KHR                                   0x0503\n#define GL_STACK_UNDERFLOW_KHR                                  0x0504\n#endif\n\n#ifndef GL_KHR_texture_compression_astc_ldr\n#define GL_COMPRESSED_RGBA_ASTC_4x4_KHR                         0x93B0\n#define GL_COMPRESSED_RGBA_ASTC_5x4_KHR                         0x93B1\n#define GL_COMPRESSED_RGBA_ASTC_5x5_KHR                         0x93B2\n#define GL_COMPRESSED_RGBA_ASTC_6x5_KHR                         0x93B3\n#define GL_COMPRESSED_RGBA_ASTC_6x6_KHR                         0x93B4\n#define GL_COMPRESSED_RGBA_ASTC_8x5_KHR                         0x93B5\n#define GL_COMPRESSED_RGBA_ASTC_8x6_KHR                         0x93B6\n#define GL_COMPRESSED_RGBA_ASTC_8x8_KHR                         0x93B7\n#define GL_COMPRESSED_RGBA_ASTC_10x5_KHR                        0x93B8\n#define GL_COMPRESSED_RGBA_ASTC_10x6_KHR                        0x93B9\n#define GL_COMPRESSED_RGBA_ASTC_10x8_KHR                        0x93BA\n#define GL_COMPRESSED_RGBA_ASTC_10x10_KHR                       0x93BB\n#define GL_COMPRESSED_RGBA_ASTC_12x10_KHR                       0x93BC\n#define GL_COMPRESSED_RGBA_ASTC_12x12_KHR                       0x93BD\n#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR                 0x93D0\n#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR                 0x93D1\n#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR                 0x93D2\n#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR                 0x93D3\n#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR                 0x93D4\n#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR                 0x93D5\n#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR                 0x93D6\n#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR                 0x93D7\n#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR                0x93D8\n#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR                0x93D9\n#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR                0x93DA\n#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR               0x93DB\n#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR               0x93DC\n#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR               0x93DD\n#endif\n\n/*------------------------------------------------------------------------*\n * AMD extension tokens\n *------------------------------------------------------------------------*/\n\n/* GL_AMD_compressed_3DC_texture */\n#ifndef GL_AMD_compressed_3DC_texture\n#define GL_3DC_X_AMD                                            0x87F9\n#define GL_3DC_XY_AMD                                           0x87FA\n#endif\n\n/* GL_AMD_compressed_ATC_texture */\n#ifndef GL_AMD_compressed_ATC_texture\n#define GL_ATC_RGB_AMD                                          0x8C92\n#define GL_ATC_RGBA_EXPLICIT_ALPHA_AMD                          0x8C93\n#define GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD                      0x87EE\n#endif\n\n/* GL_AMD_performance_monitor */\n#ifndef GL_AMD_performance_monitor\n#define GL_COUNTER_TYPE_AMD                                     0x8BC0\n#define GL_COUNTER_RANGE_AMD                                    0x8BC1\n#define GL_UNSIGNED_INT64_AMD                                   0x8BC2\n#define GL_PERCENTAGE_AMD                                       0x8BC3\n#define GL_PERFMON_RESULT_AVAILABLE_AMD                         0x8BC4\n#define GL_PERFMON_RESULT_SIZE_AMD                              0x8BC5\n#define GL_PERFMON_RESULT_AMD                                   0x8BC6\n#endif\n\n/* GL_AMD_program_binary_Z400 */\n#ifndef GL_AMD_program_binary_Z400\n#define GL_Z400_BINARY_AMD                                      0x8740\n#endif\n\n/*------------------------------------------------------------------------*\n * ANGLE extension tokens\n *------------------------------------------------------------------------*/\n\n/* GL_ANGLE_depth_texture */\n#ifndef GL_ANGLE_depth_texture\n#define GL_DEPTH_COMPONENT                                      0x1902\n#define GL_DEPTH_STENCIL_OES                                    0x84F9\n#define GL_UNSIGNED_SHORT                                       0x1403\n#define GL_UNSIGNED_INT                                         0x1405\n#define GL_UNSIGNED_INT_24_8_OES                                0x84FA\n#define GL_DEPTH_COMPONENT16                                    0x81A5\n#define GL_DEPTH_COMPONENT32_OES                                0x81A7\n#define GL_DEPTH24_STENCIL8_OES                                 0x88F0\n#endif\n\n/* GL_ANGLE_framebuffer_blit */\n#ifndef GL_ANGLE_framebuffer_blit\n#define GL_READ_FRAMEBUFFER_ANGLE                               0x8CA8\n#define GL_DRAW_FRAMEBUFFER_ANGLE                               0x8CA9\n#define GL_DRAW_FRAMEBUFFER_BINDING_ANGLE                       0x8CA6\n#define GL_READ_FRAMEBUFFER_BINDING_ANGLE                       0x8CAA\n#endif\n\n/* GL_ANGLE_framebuffer_multisample */\n#ifndef GL_ANGLE_framebuffer_multisample\n#define GL_RENDERBUFFER_SAMPLES_ANGLE                           0x8CAB\n#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_ANGLE             0x8D56\n#define GL_MAX_SAMPLES_ANGLE                                    0x8D57\n#endif\n\n/* GL_ANGLE_instanced_arrays */\n#ifndef GL_ANGLE_instanced_arrays\n#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE                    0x88FE\n#endif\n\n/* GL_ANGLE_pack_reverse_row_order */\n#ifndef GL_ANGLE_pack_reverse_row_order\n#define GL_PACK_REVERSE_ROW_ORDER_ANGLE                         0x93A4\n#endif\n\n/* GL_ANGLE_program_binary */\n#ifndef GL_ANGLE_program_binary\n#define GL_PROGRAM_BINARY_ANGLE                                 0x93A6\n#endif\n\n/* GL_ANGLE_texture_compression_dxt3 */\n#ifndef GL_ANGLE_texture_compression_dxt3\n#define GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE                      0x83F2\n#endif\n\n/* GL_ANGLE_texture_compression_dxt5 */\n#ifndef GL_ANGLE_texture_compression_dxt5\n#define GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE                      0x83F3\n#endif\n\n/* GL_ANGLE_texture_usage */\n#ifndef GL_ANGLE_texture_usage\n#define GL_TEXTURE_USAGE_ANGLE                                  0x93A2\n#define GL_FRAMEBUFFER_ATTACHMENT_ANGLE                         0x93A3\n#endif\n\n/* GL_ANGLE_translated_shader_source */\n#ifndef GL_ANGLE_translated_shader_source\n#define GL_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE                0x93A0\n#endif\n\n/*------------------------------------------------------------------------*\n * APPLE extension tokens\n *------------------------------------------------------------------------*/\n\n/* GL_APPLE_copy_texture_levels */\n/* No new tokens introduced by this extension. */\n\n/* GL_APPLE_framebuffer_multisample */\n#ifndef GL_APPLE_framebuffer_multisample\n#define GL_RENDERBUFFER_SAMPLES_APPLE                           0x8CAB\n#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_APPLE             0x8D56\n#define GL_MAX_SAMPLES_APPLE                                    0x8D57\n#define GL_READ_FRAMEBUFFER_APPLE                               0x8CA8\n#define GL_DRAW_FRAMEBUFFER_APPLE                               0x8CA9\n#define GL_DRAW_FRAMEBUFFER_BINDING_APPLE                       0x8CA6\n#define GL_READ_FRAMEBUFFER_BINDING_APPLE                       0x8CAA\n#endif\n\n/* GL_APPLE_rgb_422 */\n#ifndef GL_APPLE_rgb_422\n#define GL_RGB_422_APPLE                                        0x8A1F\n#define GL_UNSIGNED_SHORT_8_8_APPLE                             0x85BA\n#define GL_UNSIGNED_SHORT_8_8_REV_APPLE                         0x85BB\n#endif\n\n/* GL_APPLE_sync */\n#ifndef GL_APPLE_sync\n\n#define GL_SYNC_OBJECT_APPLE                                    0x8A53\n#define GL_MAX_SERVER_WAIT_TIMEOUT_APPLE                        0x9111\n#define GL_OBJECT_TYPE_APPLE                                    0x9112\n#define GL_SYNC_CONDITION_APPLE                                 0x9113\n#define GL_SYNC_STATUS_APPLE                                    0x9114\n#define GL_SYNC_FLAGS_APPLE                                     0x9115\n#define GL_SYNC_FENCE_APPLE                                     0x9116\n#define GL_SYNC_GPU_COMMANDS_COMPLETE_APPLE                     0x9117\n#define GL_UNSIGNALED_APPLE                                     0x9118\n#define GL_SIGNALED_APPLE                                       0x9119\n#define GL_ALREADY_SIGNALED_APPLE                               0x911A\n#define GL_TIMEOUT_EXPIRED_APPLE                                0x911B\n#define GL_CONDITION_SATISFIED_APPLE                            0x911C\n#define GL_WAIT_FAILED_APPLE                                    0x911D\n#define GL_SYNC_FLUSH_COMMANDS_BIT_APPLE                        0x00000001\n#define GL_TIMEOUT_IGNORED_APPLE                                0xFFFFFFFFFFFFFFFFull\n#endif\n\n/* GL_APPLE_texture_format_BGRA8888 */\n#ifndef GL_APPLE_texture_format_BGRA8888\n#define GL_BGRA_EXT                                             0x80E1\n#endif\n\n/* GL_APPLE_texture_max_level */\n#ifndef GL_APPLE_texture_max_level\n#define GL_TEXTURE_MAX_LEVEL_APPLE                              0x813D\n#endif\n\n/*------------------------------------------------------------------------*\n * ARM extension tokens\n *------------------------------------------------------------------------*/\n\n/* GL_ARM_mali_program_binary */\n#ifndef GL_ARM_mali_program_binary\n#define GL_MALI_PROGRAM_BINARY_ARM                              0x8F61\n#endif\n\n/* GL_ARM_mali_shader_binary */\n#ifndef GL_ARM_mali_shader_binary\n#define GL_MALI_SHADER_BINARY_ARM                               0x8F60\n#endif\n\n/* GL_ARM_rgba8 */\n/* No new tokens introduced by this extension. */\n\n/*------------------------------------------------------------------------*\n * EXT extension tokens\n *------------------------------------------------------------------------*/\n\n/* GL_EXT_blend_minmax */\n#ifndef GL_EXT_blend_minmax\n#define GL_MIN_EXT                                              0x8007\n#define GL_MAX_EXT                                              0x8008\n#endif\n\n/* GL_EXT_color_buffer_half_float */\n#ifndef GL_EXT_color_buffer_half_float\n#define GL_RGBA16F_EXT                                          0x881A\n#define GL_RGB16F_EXT                                           0x881B\n#define GL_RG16F_EXT                                            0x822F\n#define GL_R16F_EXT                                             0x822D\n#define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT            0x8211\n#define GL_UNSIGNED_NORMALIZED_EXT                              0x8C17\n#endif\n\n/* GL_EXT_debug_label */\n#ifndef GL_EXT_debug_label\n#define GL_PROGRAM_PIPELINE_OBJECT_EXT                          0x8A4F\n#define GL_PROGRAM_OBJECT_EXT                                   0x8B40\n#define GL_SHADER_OBJECT_EXT                                    0x8B48\n#define GL_BUFFER_OBJECT_EXT                                    0x9151\n#define GL_QUERY_OBJECT_EXT                                     0x9153\n#define GL_VERTEX_ARRAY_OBJECT_EXT                              0x9154\n#endif\n\n/* GL_EXT_debug_marker */\n/* No new tokens introduced by this extension. */\n\n/* GL_EXT_discard_framebuffer */\n#ifndef GL_EXT_discard_framebuffer\n#define GL_COLOR_EXT                                            0x1800\n#define GL_DEPTH_EXT                                            0x1801\n#define GL_STENCIL_EXT                                          0x1802\n#endif\n\n#ifndef GL_EXT_disjoint_timer_query\n#define GL_QUERY_COUNTER_BITS_EXT                               0x8864\n#define GL_CURRENT_QUERY_EXT                                    0x8865\n#define GL_QUERY_RESULT_EXT                                     0x8866\n#define GL_QUERY_RESULT_AVAILABLE_EXT                           0x8867\n#define GL_TIME_ELAPSED_EXT                                     0x88BF\n#define GL_TIMESTAMP_EXT                                        0x8E28\n#define GL_GPU_DISJOINT_EXT                                     0x8FBB\n#endif\n\n#ifndef GL_EXT_draw_buffers\n#define GL_EXT_draw_buffers 1\n#define GL_MAX_COLOR_ATTACHMENTS_EXT                            0x8CDF\n#define GL_MAX_DRAW_BUFFERS_EXT                                 0x8824\n#define GL_DRAW_BUFFER0_EXT                                     0x8825\n#define GL_DRAW_BUFFER1_EXT                                     0x8826\n#define GL_DRAW_BUFFER2_EXT                                     0x8827\n#define GL_DRAW_BUFFER3_EXT                                     0x8828\n#define GL_DRAW_BUFFER4_EXT                                     0x8829\n#define GL_DRAW_BUFFER5_EXT                                     0x882A\n#define GL_DRAW_BUFFER6_EXT                                     0x882B\n#define GL_DRAW_BUFFER7_EXT                                     0x882C\n#define GL_DRAW_BUFFER8_EXT                                     0x882D\n#define GL_DRAW_BUFFER9_EXT                                     0x882E\n#define GL_DRAW_BUFFER10_EXT                                    0x882F\n#define GL_DRAW_BUFFER11_EXT                                    0x8830\n#define GL_DRAW_BUFFER12_EXT                                    0x8831\n#define GL_DRAW_BUFFER13_EXT                                    0x8832\n#define GL_DRAW_BUFFER14_EXT                                    0x8833\n#define GL_DRAW_BUFFER15_EXT                                    0x8834\n#define GL_COLOR_ATTACHMENT0_EXT                                0x8CE0\n#define GL_COLOR_ATTACHMENT1_EXT                                0x8CE1\n#define GL_COLOR_ATTACHMENT2_EXT                                0x8CE2\n#define GL_COLOR_ATTACHMENT3_EXT                                0x8CE3\n#define GL_COLOR_ATTACHMENT4_EXT                                0x8CE4\n#define GL_COLOR_ATTACHMENT5_EXT                                0x8CE5\n#define GL_COLOR_ATTACHMENT6_EXT                                0x8CE6\n#define GL_COLOR_ATTACHMENT7_EXT                                0x8CE7\n#define GL_COLOR_ATTACHMENT8_EXT                                0x8CE8\n#define GL_COLOR_ATTACHMENT9_EXT                                0x8CE9\n#define GL_COLOR_ATTACHMENT10_EXT                               0x8CEA\n#define GL_COLOR_ATTACHMENT11_EXT                               0x8CEB\n#define GL_COLOR_ATTACHMENT12_EXT                               0x8CEC\n#define GL_COLOR_ATTACHMENT13_EXT                               0x8CED\n#define GL_COLOR_ATTACHMENT14_EXT                               0x8CEE\n#define GL_COLOR_ATTACHMENT15_EXT                               0x8CEF\n#endif\n\n/* GL_EXT_map_buffer_range */\n#ifndef GL_EXT_map_buffer_range\n#define GL_MAP_READ_BIT_EXT                                     0x0001\n#define GL_MAP_WRITE_BIT_EXT                                    0x0002\n#define GL_MAP_INVALIDATE_RANGE_BIT_EXT                         0x0004\n#define GL_MAP_INVALIDATE_BUFFER_BIT_EXT                        0x0008\n#define GL_MAP_FLUSH_EXPLICIT_BIT_EXT                           0x0010\n#define GL_MAP_UNSYNCHRONIZED_BIT_EXT                           0x0020\n#endif\n\n/* GL_EXT_multisampled_render_to_texture */\n#ifndef GL_EXT_multisampled_render_to_texture\n#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SAMPLES_EXT           0x8D6C\n/* reuse values from GL_EXT_framebuffer_multisample (desktop extension) */\n#define GL_RENDERBUFFER_SAMPLES_EXT                             0x8CAB\n#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT               0x8D56\n#define GL_MAX_SAMPLES_EXT                                      0x8D57\n#endif\n\n/* GL_EXT_multiview_draw_buffers */\n#ifndef GL_EXT_multiview_draw_buffers\n#define GL_COLOR_ATTACHMENT_EXT                                 0x90F0\n#define GL_MULTIVIEW_EXT                                        0x90F1\n#define GL_DRAW_BUFFER_EXT                                      0x0C01\n#define GL_READ_BUFFER_EXT                                      0x0C02\n#define GL_MAX_MULTIVIEW_BUFFERS_EXT                            0x90F2\n#endif\n\n/* GL_EXT_multi_draw_arrays */\n/* No new tokens introduced by this extension. */\n\n/* GL_EXT_occlusion_query_boolean */\n#ifndef GL_EXT_occlusion_query_boolean\n#define GL_ANY_SAMPLES_PASSED_EXT                               0x8C2F\n#define GL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT                  0x8D6A\n#define GL_CURRENT_QUERY_EXT                                    0x8865\n#define GL_QUERY_RESULT_EXT                                     0x8866\n#define GL_QUERY_RESULT_AVAILABLE_EXT                           0x8867\n#endif\n\n/* GL_EXT_read_format_bgra */\n#ifndef GL_EXT_read_format_bgra\n#define GL_BGRA_EXT                                             0x80E1\n#define GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT                       0x8365\n#define GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT                       0x8366\n#endif\n\n/* GL_EXT_robustness */\n#ifndef GL_EXT_robustness\n/* reuse GL_NO_ERROR */\n#define GL_GUILTY_CONTEXT_RESET_EXT                             0x8253\n#define GL_INNOCENT_CONTEXT_RESET_EXT                           0x8254\n#define GL_UNKNOWN_CONTEXT_RESET_EXT                            0x8255\n#define GL_CONTEXT_ROBUST_ACCESS_EXT                            0x90F3\n#define GL_RESET_NOTIFICATION_STRATEGY_EXT                      0x8256\n#define GL_LOSE_CONTEXT_ON_RESET_EXT                            0x8252\n#define GL_NO_RESET_NOTIFICATION_EXT                            0x8261\n#endif\n\n/* GL_EXT_separate_shader_objects */\n#ifndef GL_EXT_separate_shader_objects\n#define GL_VERTEX_SHADER_BIT_EXT                                0x00000001\n#define GL_FRAGMENT_SHADER_BIT_EXT                              0x00000002\n#define GL_ALL_SHADER_BITS_EXT                                  0xFFFFFFFF\n#define GL_PROGRAM_SEPARABLE_EXT                                0x8258\n#define GL_ACTIVE_PROGRAM_EXT                                   0x8259\n#define GL_PROGRAM_PIPELINE_BINDING_EXT                         0x825A\n#endif\n\n/* GL_EXT_shader_framebuffer_fetch */\n#ifndef GL_EXT_shader_framebuffer_fetch\n#define GL_FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT                 0x8A52\n#endif\n\n/* GL_EXT_shader_texture_lod */\n/* No new tokens introduced by this extension. */\n\n/* GL_EXT_shadow_samplers */\n#ifndef GL_EXT_shadow_samplers\n#define GL_TEXTURE_COMPARE_MODE_EXT                             0x884C\n#define GL_TEXTURE_COMPARE_FUNC_EXT                             0x884D\n#define GL_COMPARE_REF_TO_TEXTURE_EXT                           0x884E\n#define GL_SAMPLER_2D_SHADOW_EXT                                0x8B62\n#endif\n\n/* GL_EXT_sRGB */\n#ifndef GL_EXT_sRGB\n#define GL_SRGB_EXT                                             0x8C40\n#define GL_SRGB_ALPHA_EXT                                       0x8C42\n#define GL_SRGB8_ALPHA8_EXT                                     0x8C43\n#define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT            0x8210\n#endif\n\n/* GL_EXT_sRGB_write_control */\n#ifndef GL_EXT_sRGB_write_control\n#define GL_EXT_sRGB_write_control 1\n#define GL_FRAMEBUFFER_SRGB_EXT                                 0x8DB9\n#endif\n\n/* GL_EXT_texture_compression_dxt1 */\n#ifndef GL_EXT_texture_compression_dxt1\n#define GL_COMPRESSED_RGB_S3TC_DXT1_EXT                         0x83F0\n#define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT                        0x83F1\n#endif\n\n/* GL_EXT_texture_filter_anisotropic */\n#ifndef GL_EXT_texture_filter_anisotropic\n#define GL_TEXTURE_MAX_ANISOTROPY_EXT                           0x84FE\n#define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT                       0x84FF\n#endif\n\n/* GL_EXT_texture_format_BGRA8888 */\n#ifndef GL_EXT_texture_format_BGRA8888\n#define GL_BGRA_EXT                                             0x80E1\n#endif\n\n/* GL_EXT_texture_rg */\n#ifndef GL_EXT_texture_rg\n#define GL_RED_EXT                                              0x1903\n#define GL_RG_EXT                                               0x8227\n#define GL_R8_EXT                                               0x8229\n#define GL_RG8_EXT                                              0x822B\n#endif\n\n/* GL_EXT_texture_sRGB_decode */\n#ifndef GL_EXT_texture_sRGB_decode\n#define GL_EXT_texture_sRGB_decode 1\n#define GL_TEXTURE_SRGB_DECODE_EXT                              0x8A48\n#define GL_DECODE_EXT                                           0x8A49\n#define GL_SKIP_DECODE_EXT                                      0x8A4A\n#endif\n\n/* GL_EXT_texture_storage */\n#ifndef GL_EXT_texture_storage\n#define GL_TEXTURE_IMMUTABLE_FORMAT_EXT                         0x912F\n#define GL_ALPHA8_EXT                                           0x803C\n#define GL_LUMINANCE8_EXT                                       0x8040\n#define GL_LUMINANCE8_ALPHA8_EXT                                0x8045\n#define GL_RGBA32F_EXT                                          0x8814\n#define GL_RGB32F_EXT                                           0x8815\n#define GL_ALPHA32F_EXT                                         0x8816\n#define GL_LUMINANCE32F_EXT                                     0x8818\n#define GL_LUMINANCE_ALPHA32F_EXT                               0x8819\n/* reuse GL_RGBA16F_EXT */\n/* reuse GL_RGB16F_EXT */\n#define GL_ALPHA16F_EXT                                         0x881C\n#define GL_LUMINANCE16F_EXT                                     0x881E\n#define GL_LUMINANCE_ALPHA16F_EXT                               0x881F\n#define GL_RGB10_A2_EXT                                         0x8059\n#define GL_RGB10_EXT                                            0x8052\n#define GL_BGRA8_EXT                                            0x93A1\n#define GL_R8_EXT                                               0x8229\n#define GL_RG8_EXT                                              0x822B\n#define GL_R32F_EXT                                             0x822E\n#define GL_RG32F_EXT                                            0x8230\n#define GL_R16F_EXT                                             0x822D\n#define GL_RG16F_EXT                                            0x822F\n#endif\n\n/* GL_EXT_texture_type_2_10_10_10_REV */\n#ifndef GL_EXT_texture_type_2_10_10_10_REV\n#define GL_UNSIGNED_INT_2_10_10_10_REV_EXT                      0x8368\n#endif\n\n/* GL_EXT_unpack_subimage */\n#ifndef GL_EXT_unpack_subimage\n#define GL_UNPACK_ROW_LENGTH_EXT                                0x0CF2\n#define GL_UNPACK_SKIP_ROWS_EXT                                 0x0CF3\n#define GL_UNPACK_SKIP_PIXELS_EXT                               0x0CF4\n#endif\n\n/*------------------------------------------------------------------------*\n * DMP extension tokens\n *------------------------------------------------------------------------*/\n\n/* GL_DMP_shader_binary */\n#ifndef GL_DMP_shader_binary\n#define GL_SHADER_BINARY_DMP                                    0x9250\n#endif\n\n/*------------------------------------------------------------------------*\n * FJ extension tokens\n *------------------------------------------------------------------------*/\n\n/* GL_FJ_shader_binary_GCCSO */\n#ifndef GL_FJ_shader_binary_GCCSO\n#define GL_GCCSO_SHADER_BINARY_FJ                               0x9260\n#endif\n\n/*------------------------------------------------------------------------*\n * IMG extension tokens\n *------------------------------------------------------------------------*/\n\n/* GL_IMG_program_binary */\n#ifndef GL_IMG_program_binary\n#define GL_SGX_PROGRAM_BINARY_IMG                               0x9130\n#endif\n\n/* GL_IMG_read_format */\n#ifndef GL_IMG_read_format\n#define GL_BGRA_IMG                                             0x80E1\n#define GL_UNSIGNED_SHORT_4_4_4_4_REV_IMG                       0x8365\n#endif\n\n/* GL_IMG_shader_binary */\n#ifndef GL_IMG_shader_binary\n#define GL_SGX_BINARY_IMG                                       0x8C0A\n#endif\n\n/* GL_IMG_texture_compression_pvrtc */\n#ifndef GL_IMG_texture_compression_pvrtc\n#define GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG                      0x8C00\n#define GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG                      0x8C01\n#define GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG                     0x8C02\n#define GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG                     0x8C03\n#endif\n\n/* GL_IMG_texture_compression_pvrtc2 */\n#ifndef GL_IMG_texture_compression_pvrtc2\n#define GL_COMPRESSED_RGBA_PVRTC_2BPPV2_IMG                     0x9137\n#define GL_COMPRESSED_RGBA_PVRTC_4BPPV2_IMG                     0x9138\n#endif\n\n/* GL_IMG_multisampled_render_to_texture */\n#ifndef GL_IMG_multisampled_render_to_texture\n#define GL_RENDERBUFFER_SAMPLES_IMG                             0x9133\n#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG               0x9134\n#define GL_MAX_SAMPLES_IMG                                      0x9135\n#define GL_TEXTURE_SAMPLES_IMG                                  0x9136\n#endif\n\n/*------------------------------------------------------------------------*\n * NV extension tokens\n *------------------------------------------------------------------------*/\n\n/* GL_NV_coverage_sample */\n#ifndef GL_NV_coverage_sample\n#define GL_COVERAGE_COMPONENT_NV                                0x8ED0\n#define GL_COVERAGE_COMPONENT4_NV                               0x8ED1\n#define GL_COVERAGE_ATTACHMENT_NV                               0x8ED2\n#define GL_COVERAGE_BUFFERS_NV                                  0x8ED3\n#define GL_COVERAGE_SAMPLES_NV                                  0x8ED4\n#define GL_COVERAGE_ALL_FRAGMENTS_NV                            0x8ED5\n#define GL_COVERAGE_EDGE_FRAGMENTS_NV                           0x8ED6\n#define GL_COVERAGE_AUTOMATIC_NV                                0x8ED7\n#define GL_COVERAGE_BUFFER_BIT_NV                               0x00008000\n#endif\n\n/* GL_NV_depth_nonlinear */\n#ifndef GL_NV_depth_nonlinear\n#define GL_DEPTH_COMPONENT16_NONLINEAR_NV                       0x8E2C\n#endif\n\n/* GL_NV_draw_buffers */\n#ifndef GL_NV_draw_buffers\n#define GL_MAX_DRAW_BUFFERS_NV                                  0x8824\n#define GL_DRAW_BUFFER0_NV                                      0x8825\n#define GL_DRAW_BUFFER1_NV                                      0x8826\n#define GL_DRAW_BUFFER2_NV                                      0x8827\n#define GL_DRAW_BUFFER3_NV                                      0x8828\n#define GL_DRAW_BUFFER4_NV                                      0x8829\n#define GL_DRAW_BUFFER5_NV                                      0x882A\n#define GL_DRAW_BUFFER6_NV                                      0x882B\n#define GL_DRAW_BUFFER7_NV                                      0x882C\n#define GL_DRAW_BUFFER8_NV                                      0x882D\n#define GL_DRAW_BUFFER9_NV                                      0x882E\n#define GL_DRAW_BUFFER10_NV                                     0x882F\n#define GL_DRAW_BUFFER11_NV                                     0x8830\n#define GL_DRAW_BUFFER12_NV                                     0x8831\n#define GL_DRAW_BUFFER13_NV                                     0x8832\n#define GL_DRAW_BUFFER14_NV                                     0x8833\n#define GL_DRAW_BUFFER15_NV                                     0x8834\n#define GL_COLOR_ATTACHMENT0_NV                                 0x8CE0\n#define GL_COLOR_ATTACHMENT1_NV                                 0x8CE1\n#define GL_COLOR_ATTACHMENT2_NV                                 0x8CE2\n#define GL_COLOR_ATTACHMENT3_NV                                 0x8CE3\n#define GL_COLOR_ATTACHMENT4_NV                                 0x8CE4\n#define GL_COLOR_ATTACHMENT5_NV                                 0x8CE5\n#define GL_COLOR_ATTACHMENT6_NV                                 0x8CE6\n#define GL_COLOR_ATTACHMENT7_NV                                 0x8CE7\n#define GL_COLOR_ATTACHMENT8_NV                                 0x8CE8\n#define GL_COLOR_ATTACHMENT9_NV                                 0x8CE9\n#define GL_COLOR_ATTACHMENT10_NV                                0x8CEA\n#define GL_COLOR_ATTACHMENT11_NV                                0x8CEB\n#define GL_COLOR_ATTACHMENT12_NV                                0x8CEC\n#define GL_COLOR_ATTACHMENT13_NV                                0x8CED\n#define GL_COLOR_ATTACHMENT14_NV                                0x8CEE\n#define GL_COLOR_ATTACHMENT15_NV                                0x8CEF\n#endif\n\n/* GL_NV_draw_instanced */\n/* No new tokens introduced by this extension. */\n\n/* GL_NV_fbo_color_attachments */\n#ifndef GL_NV_fbo_color_attachments\n#define GL_MAX_COLOR_ATTACHMENTS_NV                             0x8CDF\n/* GL_COLOR_ATTACHMENT{0-15}_NV defined in GL_NV_draw_buffers already. */\n#endif\n\n/* GL_NV_fence */\n#ifndef GL_NV_fence\n#define GL_ALL_COMPLETED_NV                                     0x84F2\n#define GL_FENCE_STATUS_NV                                      0x84F3\n#define GL_FENCE_CONDITION_NV                                   0x84F4\n#endif\n\n/* GL_NV_framebuffer_blit */\n#ifndef GL_NV_framebuffer_blit\n#define GL_READ_FRAMEBUFFER_NV                                  0x8CA8\n#define GL_DRAW_FRAMEBUFFER_NV                                  0x8CA9\n#define GL_DRAW_FRAMEBUFFER_BINDING_NV                          0x8CA6\n#define GL_READ_FRAMEBUFFER_BINDING_NV                          0x8CAA\n#endif\n\n/* GL_NV_framebuffer_multisample */\n#ifndef GL_NV_framebuffer_multisample\n#define GL_RENDERBUFFER_SAMPLES_NV                              0x8CAB\n#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_NV                0x8D56\n#define GL_MAX_SAMPLES_NV                                       0x8D57\n#endif\n\n/* GL_NV_generate_mipmap_sRGB */\n/* No new tokens introduced by this extension. */\n\n/* GL_NV_instanced_arrays */\n#ifndef GL_NV_instanced_arrays\n#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_NV                       0x88FE\n#endif\n\n/* GL_NV_read_buffer */\n#ifndef GL_NV_read_buffer\n#define GL_READ_BUFFER_NV                                       0x0C02\n#endif\n\n/* GL_NV_read_buffer_front */\n/* No new tokens introduced by this extension. */\n\n/* GL_NV_read_depth */\n/* No new tokens introduced by this extension. */\n\n/* GL_NV_read_depth_stencil */\n/* No new tokens introduced by this extension. */\n\n/* GL_NV_read_stencil */\n/* No new tokens introduced by this extension. */\n\n/* GL_NV_shadow_samplers_array */\n#ifndef GL_NV_shadow_samplers_array\n#define GL_SAMPLER_2D_ARRAY_SHADOW_NV                           0x8DC4\n#endif\n\n/* GL_NV_shadow_samplers_cube */\n#ifndef GL_NV_shadow_samplers_cube\n#define GL_SAMPLER_CUBE_SHADOW_NV                               0x8DC5\n#endif\n\n/* GL_NV_sRGB_formats */\n#ifndef GL_NV_sRGB_formats\n#define GL_SLUMINANCE_NV                                        0x8C46\n#define GL_SLUMINANCE_ALPHA_NV                                  0x8C44\n#define GL_SRGB8_NV                                             0x8C41\n#define GL_SLUMINANCE8_NV                                       0x8C47\n#define GL_SLUMINANCE8_ALPHA8_NV                                0x8C45\n#define GL_COMPRESSED_SRGB_S3TC_DXT1_NV                         0x8C4C\n#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_NV                   0x8C4D\n#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_NV                   0x8C4E\n#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_NV                   0x8C4F\n#define GL_ETC1_SRGB8_NV                                        0x88EE\n#endif\n\n/* GL_NV_texture_border_clamp */\n#ifndef GL_NV_texture_border_clamp\n#define GL_TEXTURE_BORDER_COLOR_NV                              0x1004\n#define GL_CLAMP_TO_BORDER_NV                                   0x812D\n#endif\n\n/* GL_NV_texture_compression_s3tc_update */\n/* No new tokens introduced by this extension. */\n\n/* GL_NV_texture_npot_2D_mipmap */\n/* No new tokens introduced by this extension. */\n\n/*------------------------------------------------------------------------*\n * QCOM extension tokens\n *------------------------------------------------------------------------*/\n\n/* GL_QCOM_alpha_test */\n#ifndef GL_QCOM_alpha_test\n#define GL_ALPHA_TEST_QCOM                                      0x0BC0\n#define GL_ALPHA_TEST_FUNC_QCOM                                 0x0BC1\n#define GL_ALPHA_TEST_REF_QCOM                                  0x0BC2\n#endif\n\n/* GL_QCOM_binning_control */\n#ifndef GL_QCOM_binning_control\n#define GL_BINNING_CONTROL_HINT_QCOM                            0x8FB0\n#define GL_CPU_OPTIMIZED_QCOM                                   0x8FB1\n#define GL_GPU_OPTIMIZED_QCOM                                   0x8FB2\n#define GL_RENDER_DIRECT_TO_FRAMEBUFFER_QCOM                    0x8FB3\n#endif\n\n/* GL_QCOM_driver_control */\n/* No new tokens introduced by this extension. */\n\n/* GL_QCOM_extended_get */\n#ifndef GL_QCOM_extended_get\n#define GL_TEXTURE_WIDTH_QCOM                                   0x8BD2\n#define GL_TEXTURE_HEIGHT_QCOM                                  0x8BD3\n#define GL_TEXTURE_DEPTH_QCOM                                   0x8BD4\n#define GL_TEXTURE_INTERNAL_FORMAT_QCOM                         0x8BD5\n#define GL_TEXTURE_FORMAT_QCOM                                  0x8BD6\n#define GL_TEXTURE_TYPE_QCOM                                    0x8BD7\n#define GL_TEXTURE_IMAGE_VALID_QCOM                             0x8BD8\n#define GL_TEXTURE_NUM_LEVELS_QCOM                              0x8BD9\n#define GL_TEXTURE_TARGET_QCOM                                  0x8BDA\n#define GL_TEXTURE_OBJECT_VALID_QCOM                            0x8BDB\n#define GL_STATE_RESTORE                                        0x8BDC\n#endif\n\n/* GL_QCOM_extended_get2 */\n/* No new tokens introduced by this extension. */\n\n/* GL_QCOM_perfmon_global_mode */\n#ifndef GL_QCOM_perfmon_global_mode\n#define GL_PERFMON_GLOBAL_MODE_QCOM                             0x8FA0\n#endif\n\n/* GL_QCOM_writeonly_rendering */\n#ifndef GL_QCOM_writeonly_rendering\n#define GL_WRITEONLY_RENDERING_QCOM                             0x8823\n#endif\n\n/* GL_QCOM_tiled_rendering */\n#ifndef GL_QCOM_tiled_rendering\n#define GL_COLOR_BUFFER_BIT0_QCOM                               0x00000001\n#define GL_COLOR_BUFFER_BIT1_QCOM                               0x00000002\n#define GL_COLOR_BUFFER_BIT2_QCOM                               0x00000004\n#define GL_COLOR_BUFFER_BIT3_QCOM                               0x00000008\n#define GL_COLOR_BUFFER_BIT4_QCOM                               0x00000010\n#define GL_COLOR_BUFFER_BIT5_QCOM                               0x00000020\n#define GL_COLOR_BUFFER_BIT6_QCOM                               0x00000040\n#define GL_COLOR_BUFFER_BIT7_QCOM                               0x00000080\n#define GL_DEPTH_BUFFER_BIT0_QCOM                               0x00000100\n#define GL_DEPTH_BUFFER_BIT1_QCOM                               0x00000200\n#define GL_DEPTH_BUFFER_BIT2_QCOM                               0x00000400\n#define GL_DEPTH_BUFFER_BIT3_QCOM                               0x00000800\n#define GL_DEPTH_BUFFER_BIT4_QCOM                               0x00001000\n#define GL_DEPTH_BUFFER_BIT5_QCOM                               0x00002000\n#define GL_DEPTH_BUFFER_BIT6_QCOM                               0x00004000\n#define GL_DEPTH_BUFFER_BIT7_QCOM                               0x00008000\n#define GL_STENCIL_BUFFER_BIT0_QCOM                             0x00010000\n#define GL_STENCIL_BUFFER_BIT1_QCOM                             0x00020000\n#define GL_STENCIL_BUFFER_BIT2_QCOM                             0x00040000\n#define GL_STENCIL_BUFFER_BIT3_QCOM                             0x00080000\n#define GL_STENCIL_BUFFER_BIT4_QCOM                             0x00100000\n#define GL_STENCIL_BUFFER_BIT5_QCOM                             0x00200000\n#define GL_STENCIL_BUFFER_BIT6_QCOM                             0x00400000\n#define GL_STENCIL_BUFFER_BIT7_QCOM                             0x00800000\n#define GL_MULTISAMPLE_BUFFER_BIT0_QCOM                         0x01000000\n#define GL_MULTISAMPLE_BUFFER_BIT1_QCOM                         0x02000000\n#define GL_MULTISAMPLE_BUFFER_BIT2_QCOM                         0x04000000\n#define GL_MULTISAMPLE_BUFFER_BIT3_QCOM                         0x08000000\n#define GL_MULTISAMPLE_BUFFER_BIT4_QCOM                         0x10000000\n#define GL_MULTISAMPLE_BUFFER_BIT5_QCOM                         0x20000000\n#define GL_MULTISAMPLE_BUFFER_BIT6_QCOM                         0x40000000\n#define GL_MULTISAMPLE_BUFFER_BIT7_QCOM                         0x80000000\n#endif\n\n/*------------------------------------------------------------------------*\n * VIV extension tokens\n *------------------------------------------------------------------------*/\n\n/* GL_VIV_shader_binary */\n#ifndef GL_VIV_shader_binary\n#define GL_SHADER_BINARY_VIV                                    0x8FC4\n#endif\n\n/*------------------------------------------------------------------------*\n * End of extension tokens, start of corresponding extension functions\n *------------------------------------------------------------------------*/\n\n/*------------------------------------------------------------------------*\n * OES extension functions\n *------------------------------------------------------------------------*/\n\n/* GL_OES_compressed_ETC1_RGB8_texture */\n#ifndef GL_OES_compressed_ETC1_RGB8_texture\n#define GL_OES_compressed_ETC1_RGB8_texture 1\n#endif\n\n/* GL_OES_compressed_paletted_texture */\n#ifndef GL_OES_compressed_paletted_texture\n#define GL_OES_compressed_paletted_texture 1\n#endif\n\n/* GL_OES_depth24 */\n#ifndef GL_OES_depth24\n#define GL_OES_depth24 1\n#endif\n\n/* GL_OES_depth32 */\n#ifndef GL_OES_depth32\n#define GL_OES_depth32 1\n#endif\n\n/* GL_OES_depth_texture */\n#ifndef GL_OES_depth_texture\n#define GL_OES_depth_texture 1\n#endif\n\n/* GL_OES_EGL_image */\n#ifndef GL_OES_EGL_image\n#define GL_OES_EGL_image 1\n#ifdef GL_GLEXT_PROTOTYPES\nGL_APICALL void GL_APIENTRY glEGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image);\nGL_APICALL void GL_APIENTRY glEGLImageTargetRenderbufferStorageOES (GLenum target, GLeglImageOES image);\n#endif\ntypedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) (GLenum target, GLeglImageOES image);\ntypedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLeglImageOES image);\n#endif\n\n/* GL_OES_EGL_image_external */\n#ifndef GL_OES_EGL_image_external\n#define GL_OES_EGL_image_external 1\n/* glEGLImageTargetTexture2DOES defined in GL_OES_EGL_image already. */\n#endif\n\n/* GL_OES_element_index_uint */\n#ifndef GL_OES_element_index_uint\n#define GL_OES_element_index_uint 1\n#endif\n\n/* GL_OES_fbo_render_mipmap */\n#ifndef GL_OES_fbo_render_mipmap\n#define GL_OES_fbo_render_mipmap 1\n#endif\n\n/* GL_OES_fragment_precision_high */\n#ifndef GL_OES_fragment_precision_high\n#define GL_OES_fragment_precision_high 1\n#endif\n\n/* GL_OES_get_program_binary */\n#ifndef GL_OES_get_program_binary\n#define GL_OES_get_program_binary 1\n#ifdef GL_GLEXT_PROTOTYPES\nGL_APICALL void GL_APIENTRY glGetProgramBinaryOES (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary);\nGL_APICALL void GL_APIENTRY glProgramBinaryOES (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length);\n#endif\ntypedef void (GL_APIENTRYP PFNGLGETPROGRAMBINARYOESPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary);\ntypedef void (GL_APIENTRYP PFNGLPROGRAMBINARYOESPROC) (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length);\n#endif\n\n/* GL_OES_mapbuffer */\n#ifndef GL_OES_mapbuffer\n#define GL_OES_mapbuffer 1\n#ifdef GL_GLEXT_PROTOTYPES\nGL_APICALL void* GL_APIENTRY glMapBufferOES (GLenum target, GLenum access);\nGL_APICALL GLboolean GL_APIENTRY glUnmapBufferOES (GLenum target);\nGL_APICALL void GL_APIENTRY glGetBufferPointervOES (GLenum target, GLenum pname, GLvoid **params);\n#endif\ntypedef void* (GL_APIENTRYP PFNGLMAPBUFFEROESPROC) (GLenum target, GLenum access);\ntypedef GLboolean (GL_APIENTRYP PFNGLUNMAPBUFFEROESPROC) (GLenum target);\ntypedef void (GL_APIENTRYP PFNGLGETBUFFERPOINTERVOESPROC) (GLenum target, GLenum pname, GLvoid **params);\n#endif\n\n/* GL_OES_packed_depth_stencil */\n#ifndef GL_OES_packed_depth_stencil\n#define GL_OES_packed_depth_stencil 1\n#endif\n\n/* GL_OES_required_internalformat */\n#ifndef GL_OES_required_internalformat\n#define GL_OES_required_internalformat 1\n#endif\n\n/* GL_OES_rgb8_rgba8 */\n#ifndef GL_OES_rgb8_rgba8\n#define GL_OES_rgb8_rgba8 1\n#endif\n\n/* GL_OES_standard_derivatives */\n#ifndef GL_OES_standard_derivatives\n#define GL_OES_standard_derivatives 1\n#endif\n\n/* GL_OES_stencil1 */\n#ifndef GL_OES_stencil1\n#define GL_OES_stencil1 1\n#endif\n\n/* GL_OES_stencil4 */\n#ifndef GL_OES_stencil4\n#define GL_OES_stencil4 1\n#endif\n\n#ifndef GL_OES_surfaceless_context\n#define GL_OES_surfaceless_context 1\n#endif\n\n/* GL_OES_texture_3D */\n#ifndef GL_OES_texture_3D\n#define GL_OES_texture_3D 1\n#ifdef GL_GLEXT_PROTOTYPES\nGL_APICALL void GL_APIENTRY glTexImage3DOES (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid* pixels);\nGL_APICALL void GL_APIENTRY glTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid* pixels);\nGL_APICALL void GL_APIENTRY glCopyTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);\nGL_APICALL void GL_APIENTRY glCompressedTexImage3DOES (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data);\nGL_APICALL void GL_APIENTRY glCompressedTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid* data);\nGL_APICALL void GL_APIENTRY glFramebufferTexture3DOES (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);\n#endif\ntypedef void (GL_APIENTRYP PFNGLTEXIMAGE3DOESPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid* pixels);\ntypedef void (GL_APIENTRYP PFNGLTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid* pixels);\ntypedef void (GL_APIENTRYP PFNGLCOPYTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);\ntypedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DOESPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data);\ntypedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid* data);\ntypedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DOESPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);\n#endif\n\n/* GL_OES_texture_float */\n#ifndef GL_OES_texture_float\n#define GL_OES_texture_float 1\n#endif\n\n/* GL_OES_texture_float_linear */\n#ifndef GL_OES_texture_float_linear\n#define GL_OES_texture_float_linear 1\n#endif\n\n/* GL_OES_texture_half_float */\n#ifndef GL_OES_texture_half_float\n#define GL_OES_texture_half_float 1\n#endif\n\n/* GL_OES_texture_half_float_linear */\n#ifndef GL_OES_texture_half_float_linear\n#define GL_OES_texture_half_float_linear 1\n#endif\n\n/* GL_OES_texture_npot */\n#ifndef GL_OES_texture_npot\n#define GL_OES_texture_npot 1\n#endif\n\n/* GL_OES_vertex_array_object */\n#ifndef GL_OES_vertex_array_object\n#define GL_OES_vertex_array_object 1\n#ifdef GL_GLEXT_PROTOTYPES\nGL_APICALL void GL_APIENTRY glBindVertexArrayOES (GLuint array);\nGL_APICALL void GL_APIENTRY glDeleteVertexArraysOES (GLsizei n, const GLuint *arrays);\nGL_APICALL void GL_APIENTRY glGenVertexArraysOES (GLsizei n, GLuint *arrays);\nGL_APICALL GLboolean GL_APIENTRY glIsVertexArrayOES (GLuint array);\n#endif\ntypedef void (GL_APIENTRYP PFNGLBINDVERTEXARRAYOESPROC) (GLuint array);\ntypedef void (GL_APIENTRYP PFNGLDELETEVERTEXARRAYSOESPROC) (GLsizei n, const GLuint *arrays);\ntypedef void (GL_APIENTRYP PFNGLGENVERTEXARRAYSOESPROC) (GLsizei n, GLuint *arrays);\ntypedef GLboolean (GL_APIENTRYP PFNGLISVERTEXARRAYOESPROC) (GLuint array);\n#endif\n\n/* GL_OES_vertex_half_float */\n#ifndef GL_OES_vertex_half_float\n#define GL_OES_vertex_half_float 1\n#endif\n\n/* GL_OES_vertex_type_10_10_10_2 */\n#ifndef GL_OES_vertex_type_10_10_10_2\n#define GL_OES_vertex_type_10_10_10_2 1\n#endif\n\n/*------------------------------------------------------------------------*\n * KHR extension functions\n *------------------------------------------------------------------------*/\n\n#ifndef GL_KHR_debug\n#define GL_KHR_debug 1\n#ifdef GL_GLEXT_PROTOTYPES\nGL_APICALL void GL_APIENTRY glDebugMessageControlKHR (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);\nGL_APICALL void GL_APIENTRY glDebugMessageInsertKHR (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);\nGL_APICALL void GL_APIENTRY glDebugMessageCallbackKHR (GLDEBUGPROCKHR callback, const void *userParam);\nGL_APICALL GLuint GL_APIENTRY glGetDebugMessageLogKHR (GLuint count, GLsizei bufsize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);\nGL_APICALL void GL_APIENTRY glPushDebugGroupKHR (GLenum source, GLuint id, GLsizei length, const GLchar *message);\nGL_APICALL void GL_APIENTRY glPopDebugGroupKHR (void);\nGL_APICALL void GL_APIENTRY glObjectLabelKHR (GLenum identifier, GLuint name, GLsizei length, const GLchar *label);\nGL_APICALL void GL_APIENTRY glGetObjectLabelKHR (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label);\nGL_APICALL void GL_APIENTRY glObjectPtrLabelKHR (const void *ptr, GLsizei length, const GLchar *label);\nGL_APICALL void GL_APIENTRY glGetObjectPtrLabelKHR (const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label);\nGL_APICALL void GL_APIENTRY glGetPointervKHR (GLenum pname, GLvoid **params);\n#endif\ntypedef void (GL_APIENTRYP PFNGLDEBUGMESSAGECONTROLKHRPROC) (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);\ntypedef void (GL_APIENTRYP PFNGLDEBUGMESSAGEINSERTKHRPROC) (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);\ntypedef void (GL_APIENTRYP PFNGLDEBUGMESSAGECALLBACKKHRPROC) (GLDEBUGPROCKHR callback, const void *userParam);\ntypedef GLuint (GL_APIENTRYP PFNGLGETDEBUGMESSAGELOGKHRPROC) (GLuint count, GLsizei bufsize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);\ntypedef void (GL_APIENTRYP PFNGLPUSHDEBUGGROUPKHRPROC) (GLenum source, GLuint id, GLsizei length, const GLchar *message);\ntypedef void (GL_APIENTRYP PFNGLPOPDEBUGGROUPKHRPROC) (void);\ntypedef void (GL_APIENTRYP PFNGLOBJECTLABELKHRPROC) (GLenum identifier, GLuint name, GLsizei length, const GLchar *label);\ntypedef void (GL_APIENTRYP PFNGLGETOBJECTLABELKHRPROC) (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label);\ntypedef void (GL_APIENTRYP PFNGLOBJECTPTRLABELKHRPROC) (const void *ptr, GLsizei length, const GLchar *label);\ntypedef void (GL_APIENTRYP PFNGLGETOBJECTPTRLABELKHRPROC) (const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label);\ntypedef void (GL_APIENTRYP PFNGLGETPOINTERVKHRPROC) (GLenum pname, GLvoid **params);\n#endif\n\n#ifndef GL_KHR_texture_compression_astc_ldr\n#define GL_KHR_texture_compression_astc_ldr 1\n#endif\n\n\n/*------------------------------------------------------------------------*\n * AMD extension functions\n *------------------------------------------------------------------------*/\n\n/* GL_AMD_compressed_3DC_texture */\n#ifndef GL_AMD_compressed_3DC_texture\n#define GL_AMD_compressed_3DC_texture 1\n#endif\n\n/* GL_AMD_compressed_ATC_texture */\n#ifndef GL_AMD_compressed_ATC_texture\n#define GL_AMD_compressed_ATC_texture 1\n#endif\n\n/* AMD_performance_monitor */\n#ifndef GL_AMD_performance_monitor\n#define GL_AMD_performance_monitor 1\n#ifdef GL_GLEXT_PROTOTYPES\nGL_APICALL void GL_APIENTRY glGetPerfMonitorGroupsAMD (GLint *numGroups, GLsizei groupsSize, GLuint *groups);\nGL_APICALL void GL_APIENTRY glGetPerfMonitorCountersAMD (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);\nGL_APICALL void GL_APIENTRY glGetPerfMonitorGroupStringAMD (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);\nGL_APICALL void GL_APIENTRY glGetPerfMonitorCounterStringAMD (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);\nGL_APICALL void GL_APIENTRY glGetPerfMonitorCounterInfoAMD (GLuint group, GLuint counter, GLenum pname, GLvoid *data);\nGL_APICALL void GL_APIENTRY glGenPerfMonitorsAMD (GLsizei n, GLuint *monitors);\nGL_APICALL void GL_APIENTRY glDeletePerfMonitorsAMD (GLsizei n, GLuint *monitors);\nGL_APICALL void GL_APIENTRY glSelectPerfMonitorCountersAMD (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList);\nGL_APICALL void GL_APIENTRY glBeginPerfMonitorAMD (GLuint monitor);\nGL_APICALL void GL_APIENTRY glEndPerfMonitorAMD (GLuint monitor);\nGL_APICALL void GL_APIENTRY glGetPerfMonitorCounterDataAMD (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);\n#endif\ntypedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSAMDPROC) (GLint *numGroups, GLsizei groupsSize, GLuint *groups);\ntypedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSAMDPROC) (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);\ntypedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSTRINGAMDPROC) (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);\ntypedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC) (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);\ntypedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERINFOAMDPROC) (GLuint group, GLuint counter, GLenum pname, GLvoid *data);\ntypedef void (GL_APIENTRYP PFNGLGENPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors);\ntypedef void (GL_APIENTRYP PFNGLDELETEPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors);\ntypedef void (GL_APIENTRYP PFNGLSELECTPERFMONITORCOUNTERSAMDPROC) (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList);\ntypedef void (GL_APIENTRYP PFNGLBEGINPERFMONITORAMDPROC) (GLuint monitor);\ntypedef void (GL_APIENTRYP PFNGLENDPERFMONITORAMDPROC) (GLuint monitor);\ntypedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERDATAAMDPROC) (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);\n#endif\n\n/* GL_AMD_program_binary_Z400 */\n#ifndef GL_AMD_program_binary_Z400\n#define GL_AMD_program_binary_Z400 1\n#endif\n\n/*------------------------------------------------------------------------*\n * ANGLE extension functions\n *------------------------------------------------------------------------*/\n\n/* GL_ANGLE_depth_texture */\n#ifndef GL_ANGLE_depth_texture\n#define GL_ANGLE_depth_texture 1\n#endif\n\n/* GL_ANGLE_framebuffer_blit */\n#ifndef GL_ANGLE_framebuffer_blit\n#define GL_ANGLE_framebuffer_blit 1\n#ifdef GL_GLEXT_PROTOTYPES\nGL_APICALL void GL_APIENTRY glBlitFramebufferANGLE (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);\n#endif\ntypedef void (GL_APIENTRYP PFNGLBLITFRAMEBUFFERANGLEPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);\n#endif\n\n/* GL_ANGLE_framebuffer_multisample */\n#ifndef GL_ANGLE_framebuffer_multisample\n#define GL_ANGLE_framebuffer_multisample 1\n#ifdef GL_GLEXT_PROTOTYPES\nGL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleANGLE (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);\n#endif\ntypedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEANGLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);\n#endif\n\n#ifndef GL_ANGLE_instanced_arrays\n#define GL_ANGLE_instanced_arrays 1\n#ifdef GL_GLEXT_PROTOTYPES\nGL_APICALL void GL_APIENTRY glDrawArraysInstancedANGLE (GLenum mode, GLint first, GLsizei count, GLsizei primcount);\nGL_APICALL void GL_APIENTRY glDrawElementsInstancedANGLE (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);\nGL_APICALL void GL_APIENTRY glVertexAttribDivisorANGLE (GLuint index, GLuint divisor);\n#endif\ntypedef void (GL_APIENTRYP PFNGLDRAWARRAYSINSTANCEDANGLEPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount);\ntypedef void (GL_APIENTRYP PFNGLDRAWELEMENTSINSTANCEDANGLEPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);\ntypedef void (GL_APIENTRYP PFNGLVERTEXATTRIBDIVISORANGLEPROC) (GLuint index, GLuint divisor);\n#endif\n\n/* GL_ANGLE_pack_reverse_row_order */\n#ifndef GL_ANGLE_pack_reverse_row_order\n#define GL_ANGLE_pack_reverse_row_order 1\n#endif\n\n/* GL_ANGLE_program_binary */\n#ifndef GL_ANGLE_program_binary\n#define GL_ANGLE_program_binary 1\n#endif\n\n/* GL_ANGLE_texture_compression_dxt3 */\n#ifndef GL_ANGLE_texture_compression_dxt3\n#define GL_ANGLE_texture_compression_dxt3 1\n#endif\n\n/* GL_ANGLE_texture_compression_dxt5 */\n#ifndef GL_ANGLE_texture_compression_dxt5\n#define GL_ANGLE_texture_compression_dxt5 1\n#endif\n\n/* GL_ANGLE_texture_usage */\n#ifndef GL_ANGLE_texture_usage\n#define GL_ANGLE_texture_usage 1\n#endif\n\n#ifndef GL_ANGLE_translated_shader_source\n#define GL_ANGLE_translated_shader_source 1\n#ifdef GL_GLEXT_PROTOTYPES\nGL_APICALL void GL_APIENTRY glGetTranslatedShaderSourceANGLE (GLuint shader, GLsizei bufsize, GLsizei *length, GLchar *source);\n#endif\ntypedef void (GL_APIENTRYP PFNGLGETTRANSLATEDSHADERSOURCEANGLEPROC) (GLuint shader, GLsizei bufsize, GLsizei *length, GLchar *source);\n#endif\n\n/*------------------------------------------------------------------------*\n * APPLE extension functions\n *------------------------------------------------------------------------*/\n\n/* GL_APPLE_copy_texture_levels */\n#ifndef GL_APPLE_copy_texture_levels\n#define GL_APPLE_copy_texture_levels 1\n#ifdef GL_GLEXT_PROTOTYPES\nGL_APICALL void GL_APIENTRY glCopyTextureLevelsAPPLE (GLuint destinationTexture, GLuint sourceTexture, GLint sourceBaseLevel, GLsizei sourceLevelCount);\n#endif\ntypedef void (GL_APIENTRYP PFNGLCOPYTEXTURELEVELSAPPLEPROC) (GLuint destinationTexture, GLuint sourceTexture, GLint sourceBaseLevel, GLsizei sourceLevelCount);\n#endif\n\n/* GL_APPLE_framebuffer_multisample */\n#ifndef GL_APPLE_framebuffer_multisample\n#define GL_APPLE_framebuffer_multisample 1\n#ifdef GL_GLEXT_PROTOTYPES\nGL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleAPPLE (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);\nGL_APICALL void GL_APIENTRY glResolveMultisampleFramebufferAPPLE (void);\n#endif /* GL_GLEXT_PROTOTYPES */\ntypedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEAPPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);\ntypedef void (GL_APIENTRYP PFNGLRESOLVEMULTISAMPLEFRAMEBUFFERAPPLEPROC) (void);\n#endif\n\n/* GL_APPLE_rgb_422 */\n#ifndef GL_APPLE_rgb_422\n#define GL_APPLE_rgb_422 1\n#endif\n\n/* GL_APPLE_sync */\n#ifndef GL_APPLE_sync\n#define GL_APPLE_sync 1\n#ifdef GL_GLEXT_PROTOTYPES\nGL_APICALL GLsync GL_APIENTRY glFenceSyncAPPLE (GLenum condition, GLbitfield flags);\nGL_APICALL GLboolean GL_APIENTRY glIsSyncAPPLE (GLsync sync);\nGL_APICALL void GL_APIENTRY glDeleteSyncAPPLE (GLsync sync);\nGL_APICALL GLenum GL_APIENTRY glClientWaitSyncAPPLE (GLsync sync, GLbitfield flags, GLuint64 timeout);\nGL_APICALL void GL_APIENTRY glWaitSyncAPPLE (GLsync sync, GLbitfield flags, GLuint64 timeout);\nGL_APICALL void GL_APIENTRY glGetInteger64vAPPLE (GLenum pname, GLint64 *params);\nGL_APICALL void GL_APIENTRY glGetSyncivAPPLE (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);\n#endif\ntypedef GLsync (GL_APIENTRYP PFNGLFENCESYNCAPPLEPROC) (GLenum condition, GLbitfield flags);\ntypedef GLboolean (GL_APIENTRYP PFNGLISSYNCAPPLEPROC) (GLsync sync);\ntypedef void (GL_APIENTRYP PFNGLDELETESYNCAPPLEPROC) (GLsync sync);\ntypedef GLenum (GL_APIENTRYP PFNGLCLIENTWAITSYNCAPPLEPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout);\ntypedef void (GL_APIENTRYP PFNGLWAITSYNCAPPLEPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout);\ntypedef void (GL_APIENTRYP PFNGLGETINTEGER64VAPPLEPROC) (GLenum pname, GLint64 *params);\ntypedef void (GL_APIENTRYP PFNGLGETSYNCIVAPPLEPROC) (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);\n#endif\n\n/* GL_APPLE_texture_format_BGRA8888 */\n#ifndef GL_APPLE_texture_format_BGRA8888\n#define GL_APPLE_texture_format_BGRA8888 1\n#endif\n\n/* GL_APPLE_texture_max_level */\n#ifndef GL_APPLE_texture_max_level\n#define GL_APPLE_texture_max_level 1\n#endif\n\n/*------------------------------------------------------------------------*\n * ARM extension functions\n *------------------------------------------------------------------------*/\n\n/* GL_ARM_mali_program_binary */\n#ifndef GL_ARM_mali_program_binary\n#define GL_ARM_mali_program_binary 1\n#endif\n\n/* GL_ARM_mali_shader_binary */\n#ifndef GL_ARM_mali_shader_binary\n#define GL_ARM_mali_shader_binary 1\n#endif\n\n/* GL_ARM_rgba8 */\n#ifndef GL_ARM_rgba8\n#define GL_ARM_rgba8 1\n#endif\n\n/*------------------------------------------------------------------------*\n * EXT extension functions\n *------------------------------------------------------------------------*/\n\n/* GL_EXT_blend_minmax */\n#ifndef GL_EXT_blend_minmax\n#define GL_EXT_blend_minmax 1\n#endif\n\n/* GL_EXT_color_buffer_half_float */\n#ifndef GL_EXT_color_buffer_half_float\n#define GL_EXT_color_buffer_half_float 1\n#endif\n\n/* GL_EXT_debug_label */\n#ifndef GL_EXT_debug_label\n#define GL_EXT_debug_label 1\n#ifdef GL_GLEXT_PROTOTYPES\nGL_APICALL void GL_APIENTRY glLabelObjectEXT (GLenum type, GLuint object, GLsizei length, const GLchar *label);\nGL_APICALL void GL_APIENTRY glGetObjectLabelEXT (GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label);\n#endif\ntypedef void (GL_APIENTRYP PFNGLLABELOBJECTEXTPROC) (GLenum type, GLuint object, GLsizei length, const GLchar *label);\ntypedef void (GL_APIENTRYP PFNGLGETOBJECTLABELEXTPROC) (GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label);\n#endif\n\n/* GL_EXT_debug_marker */\n#ifndef GL_EXT_debug_marker\n#define GL_EXT_debug_marker 1\n#ifdef GL_GLEXT_PROTOTYPES\nGL_APICALL void GL_APIENTRY glInsertEventMarkerEXT (GLsizei length, const GLchar *marker);\nGL_APICALL void GL_APIENTRY glPushGroupMarkerEXT (GLsizei length, const GLchar *marker);\nGL_APICALL void GL_APIENTRY glPopGroupMarkerEXT (void);\n#endif\ntypedef void (GL_APIENTRYP PFNGLINSERTEVENTMARKEREXTPROC) (GLsizei length, const GLchar *marker);\ntypedef void (GL_APIENTRYP PFNGLPUSHGROUPMARKEREXTPROC) (GLsizei length, const GLchar *marker);\ntypedef void (GL_APIENTRYP PFNGLPOPGROUPMARKEREXTPROC) (void);\n#endif\n\n/* GL_EXT_discard_framebuffer */\n#ifndef GL_EXT_discard_framebuffer\n#define GL_EXT_discard_framebuffer 1\n#ifdef GL_GLEXT_PROTOTYPES\nGL_APICALL void GL_APIENTRY glDiscardFramebufferEXT (GLenum target, GLsizei numAttachments, const GLenum *attachments);\n#endif\ntypedef void (GL_APIENTRYP PFNGLDISCARDFRAMEBUFFEREXTPROC) (GLenum target, GLsizei numAttachments, const GLenum *attachments);\n#endif\n\n#ifndef GL_EXT_disjoint_timer_query\n#define GL_EXT_disjoint_timer_query 1\n#ifdef GL_GLEXT_PROTOTYPES\nGL_APICALL void GL_APIENTRY glGenQueriesEXT (GLsizei n, GLuint *ids);\nGL_APICALL void GL_APIENTRY glDeleteQueriesEXT (GLsizei n, const GLuint *ids);\nGL_APICALL GLboolean GL_APIENTRY glIsQueryEXT (GLuint id);\nGL_APICALL void GL_APIENTRY glBeginQueryEXT (GLenum target, GLuint id);\nGL_APICALL void GL_APIENTRY glEndQueryEXT (GLenum target);\nGL_APICALL void GL_APIENTRY glQueryCounterEXT (GLuint id, GLenum target);\nGL_APICALL void GL_APIENTRY glGetQueryivEXT (GLenum target, GLenum pname, GLint *params);\nGL_APICALL void GL_APIENTRY glGetQueryObjectivEXT (GLuint id, GLenum pname, GLint *params);\nGL_APICALL void GL_APIENTRY glGetQueryObjectuivEXT (GLuint id, GLenum pname, GLuint *params);\nGL_APICALL void GL_APIENTRY glGetQueryObjecti64vEXT (GLuint id, GLenum pname, GLint64 *params);\nGL_APICALL void GL_APIENTRY glGetQueryObjectui64vEXT (GLuint id, GLenum pname, GLuint64 *params);\n#endif\ntypedef void (GL_APIENTRYP PFNGLGENQUERIESEXTPROC) (GLsizei n, GLuint *ids);\ntypedef void (GL_APIENTRYP PFNGLDELETEQUERIESEXTPROC) (GLsizei n, const GLuint *ids);\ntypedef GLboolean (GL_APIENTRYP PFNGLISQUERYEXTPROC) (GLuint id);\ntypedef void (GL_APIENTRYP PFNGLBEGINQUERYEXTPROC) (GLenum target, GLuint id);\ntypedef void (GL_APIENTRYP PFNGLENDQUERYEXTPROC) (GLenum target);\ntypedef void (GL_APIENTRYP PFNGLQUERYCOUNTEREXTPROC) (GLuint id, GLenum target);\ntypedef void (GL_APIENTRYP PFNGLGETQUERYIVEXTPROC) (GLenum target, GLenum pname, GLint *params);\ntypedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTIVEXTPROC) (GLuint id, GLenum pname, GLint *params);\ntypedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTUIVEXTPROC) (GLuint id, GLenum pname, GLuint *params);\ntypedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTI64VEXTPROC) (GLuint id, GLenum pname, GLint64 *params);\ntypedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTUI64VEXTPROC) (GLuint id, GLenum pname, GLuint64 *params);\n#endif /* GL_EXT_disjoint_timer_query */\n\n#ifndef GL_EXT_draw_buffers\n#define GL_EXT_draw_buffers 1\n#ifdef GL_GLEXT_PROTOTYPES\nGL_APICALL void GL_APIENTRY glDrawBuffersEXT (GLsizei n, const GLenum *bufs);\n#endif\ntypedef void (GL_APIENTRYP PFNGLDRAWBUFFERSEXTPROC) (GLsizei n, const GLenum *bufs);\n#endif /* GL_EXT_draw_buffers */\n\n/* GL_EXT_map_buffer_range */\n#ifndef GL_EXT_map_buffer_range\n#define GL_EXT_map_buffer_range 1\n#ifdef GL_GLEXT_PROTOTYPES\nGL_APICALL void* GL_APIENTRY glMapBufferRangeEXT (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);\nGL_APICALL void GL_APIENTRY glFlushMappedBufferRangeEXT (GLenum target, GLintptr offset, GLsizeiptr length);\n#endif\ntypedef void* (GL_APIENTRYP PFNGLMAPBUFFERRANGEEXTPROC) (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);\ntypedef void (GL_APIENTRYP PFNGLFLUSHMAPPEDBUFFERRANGEEXTPROC) (GLenum target, GLintptr offset, GLsizeiptr length);\n#endif\n\n/* GL_EXT_multisampled_render_to_texture */\n#ifndef GL_EXT_multisampled_render_to_texture\n#define GL_EXT_multisampled_render_to_texture 1\n#ifdef GL_GLEXT_PROTOTYPES\nGL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleEXT (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);             \nGL_APICALL void GL_APIENTRY glFramebufferTexture2DMultisampleEXT (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);\n#endif\ntypedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);\ntypedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);\n#endif\n\n/* GL_EXT_multiview_draw_buffers */\n#ifndef GL_EXT_multiview_draw_buffers\n#define GL_EXT_multiview_draw_buffers 1\n#ifdef GL_GLEXT_PROTOTYPES\nGL_APICALL void GL_APIENTRY glReadBufferIndexedEXT (GLenum src, GLint index);\nGL_APICALL void GL_APIENTRY glDrawBuffersIndexedEXT (GLint n, const GLenum *location, const GLint *indices);\nGL_APICALL void GL_APIENTRY glGetIntegeri_vEXT (GLenum target, GLuint index, GLint *data);\n#endif\ntypedef void (GL_APIENTRYP PFNGLREADBUFFERINDEXEDEXTPROC) (GLenum src, GLint index);\ntypedef void (GL_APIENTRYP PFNGLDRAWBUFFERSINDEXEDEXTPROC) (GLint n, const GLenum *location, const GLint *indices);\ntypedef void (GL_APIENTRYP PFNGLGETINTEGERI_VEXTPROC) (GLenum target, GLuint index, GLint *data);\n#endif\n\n#ifndef GL_EXT_multi_draw_arrays\n#define GL_EXT_multi_draw_arrays 1\n#ifdef GL_GLEXT_PROTOTYPES\nGL_APICALL void GL_APIENTRY glMultiDrawArraysEXT (GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);\nGL_APICALL void GL_APIENTRY glMultiDrawElementsEXT (GLenum mode, const GLsizei *count, GLenum type, const GLvoid **indices, GLsizei primcount);\n#endif /* GL_GLEXT_PROTOTYPES */\ntypedef void (GL_APIENTRYP PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);\ntypedef void (GL_APIENTRYP PFNGLMULTIDRAWELEMENTSEXTPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid **indices, GLsizei primcount);\n#endif\n\n/* GL_EXT_occlusion_query_boolean */\n#ifndef GL_EXT_occlusion_query_boolean\n#define GL_EXT_occlusion_query_boolean 1\n/* All entry points also exist in GL_EXT_disjoint_timer_query */\n#endif\n\n/* GL_EXT_read_format_bgra */\n#ifndef GL_EXT_read_format_bgra\n#define GL_EXT_read_format_bgra 1\n#endif\n\n/* GL_EXT_robustness */\n#ifndef GL_EXT_robustness\n#define GL_EXT_robustness 1\n#ifdef GL_GLEXT_PROTOTYPES\nGL_APICALL GLenum GL_APIENTRY glGetGraphicsResetStatusEXT (void);\nGL_APICALL void GL_APIENTRY glReadnPixelsEXT (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLvoid *data);\nGL_APICALL void GL_APIENTRY glGetnUniformfvEXT (GLuint program, GLint location, GLsizei bufSize, GLfloat *params);\nGL_APICALL void GL_APIENTRY glGetnUniformivEXT (GLuint program, GLint location, GLsizei bufSize, GLint *params);\n#endif\ntypedef GLenum (GL_APIENTRYP PFNGLGETGRAPHICSRESETSTATUSEXTPROC) (void);\ntypedef void (GL_APIENTRYP PFNGLREADNPIXELSEXTPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLvoid *data);\ntypedef void (GL_APIENTRYP PFNGLGETNUNIFORMFVEXTPROC) (GLuint program, GLint location, GLsizei bufSize, GLfloat *params);\ntypedef void (GL_APIENTRYP PFNGLGETNUNIFORMIVEXTPROC) (GLuint program, GLint location, GLsizei bufSize, GLint *params);\n#endif\n\n/* GL_EXT_separate_shader_objects */\n#ifndef GL_EXT_separate_shader_objects\n#define GL_EXT_separate_shader_objects 1\n#ifdef GL_GLEXT_PROTOTYPES\nGL_APICALL void GL_APIENTRY glUseProgramStagesEXT (GLuint pipeline, GLbitfield stages, GLuint program);\nGL_APICALL void GL_APIENTRY glActiveShaderProgramEXT (GLuint pipeline, GLuint program);\nGL_APICALL GLuint GL_APIENTRY glCreateShaderProgramvEXT (GLenum type, GLsizei count, const GLchar **strings);\nGL_APICALL void GL_APIENTRY glBindProgramPipelineEXT (GLuint pipeline);\nGL_APICALL void GL_APIENTRY glDeleteProgramPipelinesEXT (GLsizei n, const GLuint *pipelines);\nGL_APICALL void GL_APIENTRY glGenProgramPipelinesEXT (GLsizei n, GLuint *pipelines);\nGL_APICALL GLboolean GL_APIENTRY glIsProgramPipelineEXT (GLuint pipeline);\nGL_APICALL void GL_APIENTRY glProgramParameteriEXT (GLuint program, GLenum pname, GLint value);\nGL_APICALL void GL_APIENTRY glGetProgramPipelineivEXT (GLuint pipeline, GLenum pname, GLint *params);\nGL_APICALL void GL_APIENTRY glProgramUniform1iEXT (GLuint program, GLint location, GLint x);\nGL_APICALL void GL_APIENTRY glProgramUniform2iEXT (GLuint program, GLint location, GLint x, GLint y);\nGL_APICALL void GL_APIENTRY glProgramUniform3iEXT (GLuint program, GLint location, GLint x, GLint y, GLint z);\nGL_APICALL void GL_APIENTRY glProgramUniform4iEXT (GLuint program, GLint location, GLint x, GLint y, GLint z, GLint w);\nGL_APICALL void GL_APIENTRY glProgramUniform1fEXT (GLuint program, GLint location, GLfloat x);\nGL_APICALL void GL_APIENTRY glProgramUniform2fEXT (GLuint program, GLint location, GLfloat x, GLfloat y);\nGL_APICALL void GL_APIENTRY glProgramUniform3fEXT (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z);\nGL_APICALL void GL_APIENTRY glProgramUniform4fEXT (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nGL_APICALL void GL_APIENTRY glProgramUniform1ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);\nGL_APICALL void GL_APIENTRY glProgramUniform2ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);\nGL_APICALL void GL_APIENTRY glProgramUniform3ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);\nGL_APICALL void GL_APIENTRY glProgramUniform4ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);\nGL_APICALL void GL_APIENTRY glProgramUniform1fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);\nGL_APICALL void GL_APIENTRY glProgramUniform2fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);\nGL_APICALL void GL_APIENTRY glProgramUniform3fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);\nGL_APICALL void GL_APIENTRY glProgramUniform4fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);\nGL_APICALL void GL_APIENTRY glProgramUniformMatrix2fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nGL_APICALL void GL_APIENTRY glProgramUniformMatrix3fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nGL_APICALL void GL_APIENTRY glProgramUniformMatrix4fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nGL_APICALL void GL_APIENTRY glValidateProgramPipelineEXT (GLuint pipeline);\nGL_APICALL void GL_APIENTRY glGetProgramPipelineInfoLogEXT (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);\n#endif\ntypedef void (GL_APIENTRYP PFNGLUSEPROGRAMSTAGESEXTPROC) (GLuint pipeline, GLbitfield stages, GLuint program);\ntypedef void (GL_APIENTRYP PFNGLACTIVESHADERPROGRAMEXTPROC) (GLuint pipeline, GLuint program);\ntypedef GLuint (GL_APIENTRYP PFNGLCREATESHADERPROGRAMVEXTPROC) (GLenum type, GLsizei count, const GLchar **strings);\ntypedef void (GL_APIENTRYP PFNGLBINDPROGRAMPIPELINEEXTPROC) (GLuint pipeline);\ntypedef void (GL_APIENTRYP PFNGLDELETEPROGRAMPIPELINESEXTPROC) (GLsizei n, const GLuint *pipelines);\ntypedef void (GL_APIENTRYP PFNGLGENPROGRAMPIPELINESEXTPROC) (GLsizei n, GLuint *pipelines);\ntypedef GLboolean (GL_APIENTRYP PFNGLISPROGRAMPIPELINEEXTPROC) (GLuint pipeline);\ntypedef void (GL_APIENTRYP PFNGLPROGRAMPARAMETERIEXTPROC) (GLuint program, GLenum pname, GLint value);\ntypedef void (GL_APIENTRYP PFNGLGETPROGRAMPIPELINEIVEXTPROC) (GLuint pipeline, GLenum pname, GLint *params);\ntypedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1IEXTPROC) (GLuint program, GLint location, GLint x);\ntypedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2IEXTPROC) (GLuint program, GLint location, GLint x, GLint y);\ntypedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3IEXTPROC) (GLuint program, GLint location, GLint x, GLint y, GLint z);\ntypedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4IEXTPROC) (GLuint program, GLint location, GLint x, GLint y, GLint z, GLint w);\ntypedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1FEXTPROC) (GLuint program, GLint location, GLfloat x);\ntypedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2FEXTPROC) (GLuint program, GLint location, GLfloat x, GLfloat y);\ntypedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3FEXTPROC) (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z);\ntypedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4FEXTPROC) (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\ntypedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);\ntypedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);\ntypedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);\ntypedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);\ntypedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);\ntypedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);\ntypedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);\ntypedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);\ntypedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (GL_APIENTRYP PFNGLVALIDATEPROGRAMPIPELINEEXTPROC) (GLuint pipeline);\ntypedef void (GL_APIENTRYP PFNGLGETPROGRAMPIPELINEINFOLOGEXTPROC) (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);\n#endif\n\n/* GL_EXT_shader_framebuffer_fetch */\n#ifndef GL_EXT_shader_framebuffer_fetch\n#define GL_EXT_shader_framebuffer_fetch 1\n#endif\n\n/* GL_EXT_shader_texture_lod */\n#ifndef GL_EXT_shader_texture_lod\n#define GL_EXT_shader_texture_lod 1\n#endif\n\n/* GL_EXT_shadow_samplers */\n#ifndef GL_EXT_shadow_samplers\n#define GL_EXT_shadow_samplers 1\n#endif\n\n/* GL_EXT_sRGB */\n#ifndef GL_EXT_sRGB\n#define GL_EXT_sRGB 1\n#endif\n\n/* GL_EXT_texture_compression_dxt1 */\n#ifndef GL_EXT_texture_compression_dxt1\n#define GL_EXT_texture_compression_dxt1 1\n#endif\n\n/* GL_EXT_texture_filter_anisotropic */\n#ifndef GL_EXT_texture_filter_anisotropic\n#define GL_EXT_texture_filter_anisotropic 1\n#endif\n\n/* GL_EXT_texture_format_BGRA8888 */\n#ifndef GL_EXT_texture_format_BGRA8888\n#define GL_EXT_texture_format_BGRA8888 1\n#endif\n\n/* GL_EXT_texture_rg */\n#ifndef GL_EXT_texture_rg\n#define GL_EXT_texture_rg 1\n#endif\n\n/* GL_EXT_texture_storage */\n#ifndef GL_EXT_texture_storage\n#define GL_EXT_texture_storage 1\n#ifdef GL_GLEXT_PROTOTYPES\nGL_APICALL void GL_APIENTRY glTexStorage1DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);\nGL_APICALL void GL_APIENTRY glTexStorage2DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);\nGL_APICALL void GL_APIENTRY glTexStorage3DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);\nGL_APICALL void GL_APIENTRY glTextureStorage1DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);\nGL_APICALL void GL_APIENTRY glTextureStorage2DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);\nGL_APICALL void GL_APIENTRY glTextureStorage3DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);\n#endif\ntypedef void (GL_APIENTRYP PFNGLTEXSTORAGE1DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);\ntypedef void (GL_APIENTRYP PFNGLTEXSTORAGE2DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);\ntypedef void (GL_APIENTRYP PFNGLTEXSTORAGE3DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);\ntypedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE1DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);\ntypedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE2DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);\ntypedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE3DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);\n#endif\n\n/* GL_EXT_texture_type_2_10_10_10_REV */\n#ifndef GL_EXT_texture_type_2_10_10_10_REV\n#define GL_EXT_texture_type_2_10_10_10_REV 1\n#endif\n\n/* GL_EXT_unpack_subimage */\n#ifndef GL_EXT_unpack_subimage\n#define GL_EXT_unpack_subimage 1\n#endif\n\n/*------------------------------------------------------------------------*\n * DMP extension functions\n *------------------------------------------------------------------------*/\n\n/* GL_DMP_shader_binary */\n#ifndef GL_DMP_shader_binary\n#define GL_DMP_shader_binary 1\n#endif\n\n/*------------------------------------------------------------------------*\n * FJ extension functions\n *------------------------------------------------------------------------*/\n\n/* GL_FJ_shader_binary_GCCSO */\n#ifndef GL_FJ_shader_binary_GCCSO\n#define GL_FJ_shader_binary_GCCSO 1\n#endif\n\n/*------------------------------------------------------------------------*\n * IMG extension functions\n *------------------------------------------------------------------------*/\n\n/* GL_IMG_program_binary */\n#ifndef GL_IMG_program_binary\n#define GL_IMG_program_binary 1\n#endif\n\n/* GL_IMG_read_format */\n#ifndef GL_IMG_read_format\n#define GL_IMG_read_format 1\n#endif\n\n/* GL_IMG_shader_binary */\n#ifndef GL_IMG_shader_binary\n#define GL_IMG_shader_binary 1\n#endif\n\n/* GL_IMG_texture_compression_pvrtc */\n#ifndef GL_IMG_texture_compression_pvrtc\n#define GL_IMG_texture_compression_pvrtc 1\n#endif\n\n/* GL_IMG_texture_compression_pvrtc2 */\n#ifndef GL_IMG_texture_compression_pvrtc2\n#define GL_IMG_texture_compression_pvrtc2 1\n#endif\n\n/* GL_IMG_multisampled_render_to_texture */\n#ifndef GL_IMG_multisampled_render_to_texture\n#define GL_IMG_multisampled_render_to_texture 1\n#ifdef GL_GLEXT_PROTOTYPES\nGL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleIMG (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);\nGL_APICALL void GL_APIENTRY glFramebufferTexture2DMultisampleIMG (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);\n#endif\ntypedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEIMGPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);\ntypedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEIMGPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);\n#endif\n\n/*------------------------------------------------------------------------*\n * NV extension functions\n *------------------------------------------------------------------------*/\n\n/* GL_NV_coverage_sample */\n#ifndef GL_NV_coverage_sample\n#define GL_NV_coverage_sample 1\n#ifdef GL_GLEXT_PROTOTYPES\nGL_APICALL void GL_APIENTRY glCoverageMaskNV (GLboolean mask);\nGL_APICALL void GL_APIENTRY glCoverageOperationNV (GLenum operation);\n#endif\ntypedef void (GL_APIENTRYP PFNGLCOVERAGEMASKNVPROC) (GLboolean mask);\ntypedef void (GL_APIENTRYP PFNGLCOVERAGEOPERATIONNVPROC) (GLenum operation);\n#endif\n\n/* GL_NV_depth_nonlinear */\n#ifndef GL_NV_depth_nonlinear\n#define GL_NV_depth_nonlinear 1\n#endif\n\n/* GL_NV_draw_buffers */\n#ifndef GL_NV_draw_buffers\n#define GL_NV_draw_buffers 1\n#ifdef GL_GLEXT_PROTOTYPES\nGL_APICALL void GL_APIENTRY glDrawBuffersNV (GLsizei n, const GLenum *bufs);\n#endif\ntypedef void (GL_APIENTRYP PFNGLDRAWBUFFERSNVPROC) (GLsizei n, const GLenum *bufs);\n#endif\n\n/* GL_NV_draw_instanced */\n#ifndef GL_NV_draw_instanced\n#define GL_NV_draw_instanced 1\n#ifdef GL_GLEXT_PROTOTYPES\nGL_APICALL void GL_APIENTRY glDrawArraysInstancedNV (GLenum mode, GLint first, GLsizei count, GLsizei primcount);\nGL_APICALL void GL_APIENTRY glDrawElementsInstancedNV (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount);\n#endif\ntypedef void (GL_APIENTRYP PFNGLDRAWARRAYSINSTANCEDNVPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount);\ntypedef void (GL_APIENTRYP PFNGLDRAWELEMENTSINSTANCEDNVPROC) (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount);\n#endif\n\n/* GL_NV_fbo_color_attachments */\n#ifndef GL_NV_fbo_color_attachments\n#define GL_NV_fbo_color_attachments 1\n#endif\n\n/* GL_NV_fence */\n#ifndef GL_NV_fence\n#define GL_NV_fence 1\n#ifdef GL_GLEXT_PROTOTYPES\nGL_APICALL void GL_APIENTRY glDeleteFencesNV (GLsizei n, const GLuint *fences);\nGL_APICALL void GL_APIENTRY glGenFencesNV (GLsizei n, GLuint *fences);\nGL_APICALL GLboolean GL_APIENTRY glIsFenceNV (GLuint fence);\nGL_APICALL GLboolean GL_APIENTRY glTestFenceNV (GLuint fence);\nGL_APICALL void GL_APIENTRY glGetFenceivNV (GLuint fence, GLenum pname, GLint *params);\nGL_APICALL void GL_APIENTRY glFinishFenceNV (GLuint fence);\nGL_APICALL void GL_APIENTRY glSetFenceNV (GLuint fence, GLenum condition);\n#endif\ntypedef void (GL_APIENTRYP PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint *fences);\ntypedef void (GL_APIENTRYP PFNGLGENFENCESNVPROC) (GLsizei n, GLuint *fences);\ntypedef GLboolean (GL_APIENTRYP PFNGLISFENCENVPROC) (GLuint fence);\ntypedef GLboolean (GL_APIENTRYP PFNGLTESTFENCENVPROC) (GLuint fence);\ntypedef void (GL_APIENTRYP PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint *params);\ntypedef void (GL_APIENTRYP PFNGLFINISHFENCENVPROC) (GLuint fence);\ntypedef void (GL_APIENTRYP PFNGLSETFENCENVPROC) (GLuint fence, GLenum condition);\n#endif\n\n/* GL_NV_framebuffer_blit */\n#ifndef GL_NV_framebuffer_blit\n#define GL_NV_framebuffer_blit 1\n#ifdef GL_GLEXT_PROTOTYPES\nGL_APICALL void GL_APIENTRY glBlitFramebufferNV (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);\n#endif\ntypedef void (GL_APIENTRYP PFNGLBLITFRAMEBUFFERNVPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);\n#endif\n\n/* GL_NV_framebuffer_multisample */\n#ifndef GL_NV_framebuffer_multisample\n#define GL_NV_framebuffer_multisample 1\n#ifdef GL_GLEXT_PROTOTYPES\nGL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleNV ( GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);\n#endif\ntypedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLENVPROC) ( GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);\n#endif\n\n/* GL_NV_generate_mipmap_sRGB */\n#ifndef GL_NV_generate_mipmap_sRGB\n#define GL_NV_generate_mipmap_sRGB 1\n#endif\n\n/* GL_NV_instanced_arrays */\n#ifndef GL_NV_instanced_arrays\n#define GL_NV_instanced_arrays 1\n#ifdef GL_GLEXT_PROTOTYPES\nGL_APICALL void GL_APIENTRY glVertexAttribDivisorNV (GLuint index, GLuint divisor);\n#endif\ntypedef void (GL_APIENTRYP PFNGLVERTEXATTRIBDIVISORNVPROC) (GLuint index, GLuint divisor);\n#endif\n\n/* GL_NV_read_buffer */\n#ifndef GL_NV_read_buffer\n#define GL_NV_read_buffer 1\n#ifdef GL_GLEXT_PROTOTYPES\nGL_APICALL void GL_APIENTRY glReadBufferNV (GLenum mode);\n#endif\ntypedef void (GL_APIENTRYP PFNGLREADBUFFERNVPROC) (GLenum mode);\n#endif\n\n/* GL_NV_read_buffer_front */\n#ifndef GL_NV_read_buffer_front\n#define GL_NV_read_buffer_front 1\n#endif\n\n/* GL_NV_read_depth */\n#ifndef GL_NV_read_depth\n#define GL_NV_read_depth 1\n#endif\n\n/* GL_NV_read_depth_stencil */\n#ifndef GL_NV_read_depth_stencil\n#define GL_NV_read_depth_stencil 1\n#endif\n\n/* GL_NV_read_stencil */\n#ifndef GL_NV_read_stencil\n#define GL_NV_read_stencil 1\n#endif\n\n/* GL_NV_shadow_samplers_array */\n#ifndef GL_NV_shadow_samplers_array\n#define GL_NV_shadow_samplers_array 1\n#endif\n\n/* GL_NV_shadow_samplers_cube */\n#ifndef GL_NV_shadow_samplers_cube\n#define GL_NV_shadow_samplers_cube 1\n#endif\n\n/* GL_NV_sRGB_formats */\n#ifndef GL_NV_sRGB_formats\n#define GL_NV_sRGB_formats 1\n#endif\n\n/* GL_NV_texture_border_clamp */\n#ifndef GL_NV_texture_border_clamp\n#define GL_NV_texture_border_clamp 1\n#endif\n\n/* GL_NV_texture_compression_s3tc_update */\n#ifndef GL_NV_texture_compression_s3tc_update\n#define GL_NV_texture_compression_s3tc_update 1\n#endif\n\n/* GL_NV_texture_npot_2D_mipmap */\n#ifndef GL_NV_texture_npot_2D_mipmap\n#define GL_NV_texture_npot_2D_mipmap 1\n#endif\n\n/*------------------------------------------------------------------------*\n * QCOM extension functions\n *------------------------------------------------------------------------*/\n\n/* GL_QCOM_alpha_test */\n#ifndef GL_QCOM_alpha_test\n#define GL_QCOM_alpha_test 1\n#ifdef GL_GLEXT_PROTOTYPES\nGL_APICALL void GL_APIENTRY glAlphaFuncQCOM (GLenum func, GLclampf ref);\n#endif\ntypedef void (GL_APIENTRYP PFNGLALPHAFUNCQCOMPROC) (GLenum func, GLclampf ref);\n#endif\n\n/* GL_QCOM_binning_control */\n#ifndef GL_QCOM_binning_control\n#define GL_QCOM_binning_control 1\n#endif\n\n/* GL_QCOM_driver_control */\n#ifndef GL_QCOM_driver_control\n#define GL_QCOM_driver_control 1\n#ifdef GL_GLEXT_PROTOTYPES\nGL_APICALL void GL_APIENTRY glGetDriverControlsQCOM (GLint *num, GLsizei size, GLuint *driverControls);\nGL_APICALL void GL_APIENTRY glGetDriverControlStringQCOM (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);\nGL_APICALL void GL_APIENTRY glEnableDriverControlQCOM (GLuint driverControl);\nGL_APICALL void GL_APIENTRY glDisableDriverControlQCOM (GLuint driverControl);\n#endif\ntypedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSQCOMPROC) (GLint *num, GLsizei size, GLuint *driverControls);\ntypedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSTRINGQCOMPROC) (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);\ntypedef void (GL_APIENTRYP PFNGLENABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl);\ntypedef void (GL_APIENTRYP PFNGLDISABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl);\n#endif\n\n/* GL_QCOM_extended_get */\n#ifndef GL_QCOM_extended_get\n#define GL_QCOM_extended_get 1\n#ifdef GL_GLEXT_PROTOTYPES\nGL_APICALL void GL_APIENTRY glExtGetTexturesQCOM (GLuint *textures, GLint maxTextures, GLint *numTextures);\nGL_APICALL void GL_APIENTRY glExtGetBuffersQCOM (GLuint *buffers, GLint maxBuffers, GLint *numBuffers);\nGL_APICALL void GL_APIENTRY glExtGetRenderbuffersQCOM (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);\nGL_APICALL void GL_APIENTRY glExtGetFramebuffersQCOM (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);\nGL_APICALL void GL_APIENTRY glExtGetTexLevelParameterivQCOM (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);\nGL_APICALL void GL_APIENTRY glExtTexObjectStateOverrideiQCOM (GLenum target, GLenum pname, GLint param);\nGL_APICALL void GL_APIENTRY glExtGetTexSubImageQCOM (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLvoid *texels);\nGL_APICALL void GL_APIENTRY glExtGetBufferPointervQCOM (GLenum target, GLvoid **params);\n#endif\ntypedef void (GL_APIENTRYP PFNGLEXTGETTEXTURESQCOMPROC) (GLuint *textures, GLint maxTextures, GLint *numTextures);\ntypedef void (GL_APIENTRYP PFNGLEXTGETBUFFERSQCOMPROC) (GLuint *buffers, GLint maxBuffers, GLint *numBuffers);\ntypedef void (GL_APIENTRYP PFNGLEXTGETRENDERBUFFERSQCOMPROC) (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);\ntypedef void (GL_APIENTRYP PFNGLEXTGETFRAMEBUFFERSQCOMPROC) (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);\ntypedef void (GL_APIENTRYP PFNGLEXTGETTEXLEVELPARAMETERIVQCOMPROC) (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);\ntypedef void (GL_APIENTRYP PFNGLEXTTEXOBJECTSTATEOVERRIDEIQCOMPROC) (GLenum target, GLenum pname, GLint param);\ntypedef void (GL_APIENTRYP PFNGLEXTGETTEXSUBIMAGEQCOMPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLvoid *texels);\ntypedef void (GL_APIENTRYP PFNGLEXTGETBUFFERPOINTERVQCOMPROC) (GLenum target, GLvoid **params);\n#endif\n\n/* GL_QCOM_extended_get2 */\n#ifndef GL_QCOM_extended_get2\n#define GL_QCOM_extended_get2 1\n#ifdef GL_GLEXT_PROTOTYPES\nGL_APICALL void GL_APIENTRY glExtGetShadersQCOM (GLuint *shaders, GLint maxShaders, GLint *numShaders);\nGL_APICALL void GL_APIENTRY glExtGetProgramsQCOM (GLuint *programs, GLint maxPrograms, GLint *numPrograms);\nGL_APICALL GLboolean GL_APIENTRY glExtIsProgramBinaryQCOM (GLuint program);\nGL_APICALL void GL_APIENTRY glExtGetProgramBinarySourceQCOM (GLuint program, GLenum shadertype, GLchar *source, GLint *length);\n#endif\ntypedef void (GL_APIENTRYP PFNGLEXTGETSHADERSQCOMPROC) (GLuint *shaders, GLint maxShaders, GLint *numShaders);\ntypedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMSQCOMPROC) (GLuint *programs, GLint maxPrograms, GLint *numPrograms);\ntypedef GLboolean (GL_APIENTRYP PFNGLEXTISPROGRAMBINARYQCOMPROC) (GLuint program);\ntypedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMBINARYSOURCEQCOMPROC) (GLuint program, GLenum shadertype, GLchar *source, GLint *length);\n#endif\n\n/* GL_QCOM_perfmon_global_mode */\n#ifndef GL_QCOM_perfmon_global_mode\n#define GL_QCOM_perfmon_global_mode 1\n#endif\n\n/* GL_QCOM_writeonly_rendering */\n#ifndef GL_QCOM_writeonly_rendering\n#define GL_QCOM_writeonly_rendering 1\n#endif\n\n/* GL_QCOM_tiled_rendering */\n#ifndef GL_QCOM_tiled_rendering\n#define GL_QCOM_tiled_rendering 1\n#ifdef GL_GLEXT_PROTOTYPES\nGL_APICALL void GL_APIENTRY glStartTilingQCOM (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);\nGL_APICALL void GL_APIENTRY glEndTilingQCOM (GLbitfield preserveMask);\n#endif\ntypedef void (GL_APIENTRYP PFNGLSTARTTILINGQCOMPROC) (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);\ntypedef void (GL_APIENTRYP PFNGLENDTILINGQCOMPROC) (GLbitfield preserveMask);\n#endif\n\n/*------------------------------------------------------------------------*\n * VIV extension tokens\n *------------------------------------------------------------------------*/\n\n/* GL_VIV_shader_binary */\n#ifndef GL_VIV_shader_binary\n#define GL_VIV_shader_binary 1\n#endif\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif /* __gl2ext_h_ */\n"
  },
  {
    "path": "external/SDL2-2.0.4/include/SDL_opengles2_gl2platform.h",
    "content": "#ifndef __gl2platform_h_\n#define __gl2platform_h_\n\n/* $Revision: 10602 $ on $Date:: 2010-03-04 22:35:34 -0800 #$ */\n\n/*\n * This document is licensed under the SGI Free Software B License Version\n * 2.0. For details, see http://oss.sgi.com/projects/FreeB/ .\n */\n\n/* Platform-specific types and definitions for OpenGL ES 2.X  gl2.h\n *\n * Adopters may modify khrplatform.h and this file to suit their platform.\n * You are encouraged to submit all modifications to the Khronos group so that\n * they can be included in future versions of this file.  Please submit changes\n * by sending them to the public Khronos Bugzilla (http://khronos.org/bugzilla)\n * by filing a bug against product \"OpenGL-ES\" component \"Registry\".\n */\n\n/*#include <KHR/khrplatform.h>*/\n\n#ifndef GL_APICALL\n#define GL_APICALL  KHRONOS_APICALL\n#endif\n\n#ifndef GL_APIENTRY\n#define GL_APIENTRY KHRONOS_APIENTRY\n#endif\n\n#endif /* __gl2platform_h_ */\n"
  },
  {
    "path": "external/SDL2-2.0.4/include/SDL_opengles2_khrplatform.h",
    "content": "#ifndef __khrplatform_h_\n#define __khrplatform_h_\n\n/*\n** Copyright (c) 2008-2009 The Khronos Group Inc.\n**\n** Permission is hereby granted, free of charge, to any person obtaining a\n** copy of this software and/or associated documentation files (the\n** \"Materials\"), to deal in the Materials without restriction, including\n** without limitation the rights to use, copy, modify, merge, publish,\n** distribute, sublicense, and/or sell copies of the Materials, and to\n** permit persons to whom the Materials are furnished to do so, subject to\n** the following conditions:\n**\n** The above copyright notice and this permission notice shall be included\n** in all copies or substantial portions of the Materials.\n**\n** THE MATERIALS ARE PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\n** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\n** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\n** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\n** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.\n*/\n\n/* Khronos platform-specific types and definitions.\n *\n * $Revision: 23298 $ on $Date: 2013-09-30 17:07:13 -0700 (Mon, 30 Sep 2013) $\n *\n * Adopters may modify this file to suit their platform. Adopters are\n * encouraged to submit platform specific modifications to the Khronos\n * group so that they can be included in future versions of this file.\n * Please submit changes by sending them to the public Khronos Bugzilla\n * (http://khronos.org/bugzilla) by filing a bug against product\n * \"Khronos (general)\" component \"Registry\".\n *\n * A predefined template which fills in some of the bug fields can be\n * reached using http://tinyurl.com/khrplatform-h-bugreport, but you\n * must create a Bugzilla login first.\n *\n *\n * See the Implementer's Guidelines for information about where this file\n * should be located on your system and for more details of its use:\n *    http://www.khronos.org/registry/implementers_guide.pdf\n *\n * This file should be included as\n *        #include <KHR/khrplatform.h>\n * by Khronos client API header files that use its types and defines.\n *\n * The types in khrplatform.h should only be used to define API-specific types.\n *\n * Types defined in khrplatform.h:\n *    khronos_int8_t              signed   8  bit\n *    khronos_uint8_t             unsigned 8  bit\n *    khronos_int16_t             signed   16 bit\n *    khronos_uint16_t            unsigned 16 bit\n *    khronos_int32_t             signed   32 bit\n *    khronos_uint32_t            unsigned 32 bit\n *    khronos_int64_t             signed   64 bit\n *    khronos_uint64_t            unsigned 64 bit\n *    khronos_intptr_t            signed   same number of bits as a pointer\n *    khronos_uintptr_t           unsigned same number of bits as a pointer\n *    khronos_ssize_t             signed   size\n *    khronos_usize_t             unsigned size\n *    khronos_float_t             signed   32 bit floating point\n *    khronos_time_ns_t           unsigned 64 bit time in nanoseconds\n *    khronos_utime_nanoseconds_t unsigned time interval or absolute time in\n *                                         nanoseconds\n *    khronos_stime_nanoseconds_t signed time interval in nanoseconds\n *    khronos_boolean_enum_t      enumerated boolean type. This should\n *      only be used as a base type when a client API's boolean type is\n *      an enum. Client APIs which use an integer or other type for\n *      booleans cannot use this as the base type for their boolean.\n *\n * Tokens defined in khrplatform.h:\n *\n *    KHRONOS_FALSE, KHRONOS_TRUE Enumerated boolean false/true values.\n *\n *    KHRONOS_SUPPORT_INT64 is 1 if 64 bit integers are supported; otherwise 0.\n *    KHRONOS_SUPPORT_FLOAT is 1 if floats are supported; otherwise 0.\n *\n * Calling convention macros defined in this file:\n *    KHRONOS_APICALL\n *    KHRONOS_APIENTRY\n *    KHRONOS_APIATTRIBUTES\n *\n * These may be used in function prototypes as:\n *\n *      KHRONOS_APICALL void KHRONOS_APIENTRY funcname(\n *                                  int arg1,\n *                                  int arg2) KHRONOS_APIATTRIBUTES;\n */\n\n/*-------------------------------------------------------------------------\n * Definition of KHRONOS_APICALL\n *-------------------------------------------------------------------------\n * This precedes the return type of the function in the function prototype.\n */\n#if defined(_WIN32) && !defined(__SCITECH_SNAP__)\n#   define KHRONOS_APICALL __declspec(dllimport)\n#elif defined (__SYMBIAN32__)\n#   define KHRONOS_APICALL IMPORT_C\n#else\n#   define KHRONOS_APICALL\n#endif\n\n/*-------------------------------------------------------------------------\n * Definition of KHRONOS_APIENTRY\n *-------------------------------------------------------------------------\n * This follows the return type of the function  and precedes the function\n * name in the function prototype.\n */\n#if defined(_WIN32) && !defined(_WIN32_WCE) && !defined(__SCITECH_SNAP__)\n    /* Win32 but not WinCE */\n#   define KHRONOS_APIENTRY __stdcall\n#else\n#   define KHRONOS_APIENTRY\n#endif\n\n/*-------------------------------------------------------------------------\n * Definition of KHRONOS_APIATTRIBUTES\n *-------------------------------------------------------------------------\n * This follows the closing parenthesis of the function prototype arguments.\n */\n#if defined (__ARMCC_2__)\n#define KHRONOS_APIATTRIBUTES __softfp\n#else\n#define KHRONOS_APIATTRIBUTES\n#endif\n\n/*-------------------------------------------------------------------------\n * basic type definitions\n *-----------------------------------------------------------------------*/\n#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || defined(__GNUC__) || defined(__SCO__) || defined(__USLC__)\n\n\n/*\n * Using <stdint.h>\n */\n#include <stdint.h>\ntypedef int32_t                 khronos_int32_t;\ntypedef uint32_t                khronos_uint32_t;\ntypedef int64_t                 khronos_int64_t;\ntypedef uint64_t                khronos_uint64_t;\n#define KHRONOS_SUPPORT_INT64   1\n#define KHRONOS_SUPPORT_FLOAT   1\n\n#elif defined(__VMS ) || defined(__sgi)\n\n/*\n * Using <inttypes.h>\n */\n#include <inttypes.h>\ntypedef int32_t                 khronos_int32_t;\ntypedef uint32_t                khronos_uint32_t;\ntypedef int64_t                 khronos_int64_t;\ntypedef uint64_t                khronos_uint64_t;\n#define KHRONOS_SUPPORT_INT64   1\n#define KHRONOS_SUPPORT_FLOAT   1\n\n#elif defined(_WIN32) && !defined(__SCITECH_SNAP__)\n\n/*\n * Win32\n */\ntypedef __int32                 khronos_int32_t;\ntypedef unsigned __int32        khronos_uint32_t;\ntypedef __int64                 khronos_int64_t;\ntypedef unsigned __int64        khronos_uint64_t;\n#define KHRONOS_SUPPORT_INT64   1\n#define KHRONOS_SUPPORT_FLOAT   1\n\n#elif defined(__sun__) || defined(__digital__)\n\n/*\n * Sun or Digital\n */\ntypedef int                     khronos_int32_t;\ntypedef unsigned int            khronos_uint32_t;\n#if defined(__arch64__) || defined(_LP64)\ntypedef long int                khronos_int64_t;\ntypedef unsigned long int       khronos_uint64_t;\n#else\ntypedef long long int           khronos_int64_t;\ntypedef unsigned long long int  khronos_uint64_t;\n#endif /* __arch64__ */\n#define KHRONOS_SUPPORT_INT64   1\n#define KHRONOS_SUPPORT_FLOAT   1\n\n#elif 0\n\n/*\n * Hypothetical platform with no float or int64 support\n */\ntypedef int                     khronos_int32_t;\ntypedef unsigned int            khronos_uint32_t;\n#define KHRONOS_SUPPORT_INT64   0\n#define KHRONOS_SUPPORT_FLOAT   0\n\n#else\n\n/*\n * Generic fallback\n */\n#include <stdint.h>\ntypedef int32_t                 khronos_int32_t;\ntypedef uint32_t                khronos_uint32_t;\ntypedef int64_t                 khronos_int64_t;\ntypedef uint64_t                khronos_uint64_t;\n#define KHRONOS_SUPPORT_INT64   1\n#define KHRONOS_SUPPORT_FLOAT   1\n\n#endif\n\n\n/*\n * Types that are (so far) the same on all platforms\n */\ntypedef signed   char          khronos_int8_t;\ntypedef unsigned char          khronos_uint8_t;\ntypedef signed   short int     khronos_int16_t;\ntypedef unsigned short int     khronos_uint16_t;\n\n/*\n * Types that differ between LLP64 and LP64 architectures - in LLP64, \n * pointers are 64 bits, but 'long' is still 32 bits. Win64 appears\n * to be the only LLP64 architecture in current use.\n */\n#ifdef _WIN64\ntypedef signed   long long int khronos_intptr_t;\ntypedef unsigned long long int khronos_uintptr_t;\ntypedef signed   long long int khronos_ssize_t;\ntypedef unsigned long long int khronos_usize_t;\n#else\ntypedef signed   long  int     khronos_intptr_t;\ntypedef unsigned long  int     khronos_uintptr_t;\ntypedef signed   long  int     khronos_ssize_t;\ntypedef unsigned long  int     khronos_usize_t;\n#endif\n\n#if KHRONOS_SUPPORT_FLOAT\n/*\n * Float type\n */\ntypedef          float         khronos_float_t;\n#endif\n\n#if KHRONOS_SUPPORT_INT64\n/* Time types\n *\n * These types can be used to represent a time interval in nanoseconds or\n * an absolute Unadjusted System Time.  Unadjusted System Time is the number\n * of nanoseconds since some arbitrary system event (e.g. since the last\n * time the system booted).  The Unadjusted System Time is an unsigned\n * 64 bit value that wraps back to 0 every 584 years.  Time intervals\n * may be either signed or unsigned.\n */\ntypedef khronos_uint64_t       khronos_utime_nanoseconds_t;\ntypedef khronos_int64_t        khronos_stime_nanoseconds_t;\n#endif\n\n/*\n * Dummy value used to pad enum types to 32 bits.\n */\n#ifndef KHRONOS_MAX_ENUM\n#define KHRONOS_MAX_ENUM 0x7FFFFFFF\n#endif\n\n/*\n * Enumerated boolean type\n *\n * Values other than zero should be considered to be true.  Therefore\n * comparisons should not be made against KHRONOS_TRUE.\n */\ntypedef enum {\n    KHRONOS_FALSE = 0,\n    KHRONOS_TRUE  = 1,\n    KHRONOS_BOOLEAN_ENUM_FORCE_SIZE = KHRONOS_MAX_ENUM\n} khronos_boolean_enum_t;\n\n#endif /* __khrplatform_h_ */\n"
  },
  {
    "path": "external/SDL2-2.0.4/include/SDL_pixels.h",
    "content": "/*\n  Simple DirectMedia Layer\n  Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>\n\n  This software is provided 'as-is', without any express or implied\n  warranty.  In no event will the authors be held liable for any damages\n  arising from the use of this software.\n\n  Permission is granted to anyone to use this software for any purpose,\n  including commercial applications, and to alter it and redistribute it\n  freely, subject to the following restrictions:\n\n  1. The origin of this software must not be misrepresented; you must not\n     claim that you wrote the original software. If you use this software\n     in a product, an acknowledgment in the product documentation would be\n     appreciated but is not required.\n  2. Altered source versions must be plainly marked as such, and must not be\n     misrepresented as being the original software.\n  3. This notice may not be removed or altered from any source distribution.\n*/\n\n/**\n *  \\file SDL_pixels.h\n *\n *  Header for the enumerated pixel format definitions.\n */\n\n#ifndef _SDL_pixels_h\n#define _SDL_pixels_h\n\n#include \"SDL_stdinc.h\"\n\n#include \"begin_code.h\"\n/* Set up for C function definitions, even when using C++ */\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n/**\n *  \\name Transparency definitions\n *\n *  These define alpha as the opacity of a surface.\n */\n/* @{ */\n#define SDL_ALPHA_OPAQUE 255\n#define SDL_ALPHA_TRANSPARENT 0\n/* @} */\n\n/** Pixel type. */\nenum\n{\n    SDL_PIXELTYPE_UNKNOWN,\n    SDL_PIXELTYPE_INDEX1,\n    SDL_PIXELTYPE_INDEX4,\n    SDL_PIXELTYPE_INDEX8,\n    SDL_PIXELTYPE_PACKED8,\n    SDL_PIXELTYPE_PACKED16,\n    SDL_PIXELTYPE_PACKED32,\n    SDL_PIXELTYPE_ARRAYU8,\n    SDL_PIXELTYPE_ARRAYU16,\n    SDL_PIXELTYPE_ARRAYU32,\n    SDL_PIXELTYPE_ARRAYF16,\n    SDL_PIXELTYPE_ARRAYF32\n};\n\n/** Bitmap pixel order, high bit -> low bit. */\nenum\n{\n    SDL_BITMAPORDER_NONE,\n    SDL_BITMAPORDER_4321,\n    SDL_BITMAPORDER_1234\n};\n\n/** Packed component order, high bit -> low bit. */\nenum\n{\n    SDL_PACKEDORDER_NONE,\n    SDL_PACKEDORDER_XRGB,\n    SDL_PACKEDORDER_RGBX,\n    SDL_PACKEDORDER_ARGB,\n    SDL_PACKEDORDER_RGBA,\n    SDL_PACKEDORDER_XBGR,\n    SDL_PACKEDORDER_BGRX,\n    SDL_PACKEDORDER_ABGR,\n    SDL_PACKEDORDER_BGRA\n};\n\n/** Array component order, low byte -> high byte. */\n/* !!! FIXME: in 2.1, make these not overlap differently with\n   !!! FIXME:  SDL_PACKEDORDER_*, so we can simplify SDL_ISPIXELFORMAT_ALPHA */\nenum\n{\n    SDL_ARRAYORDER_NONE,\n    SDL_ARRAYORDER_RGB,\n    SDL_ARRAYORDER_RGBA,\n    SDL_ARRAYORDER_ARGB,\n    SDL_ARRAYORDER_BGR,\n    SDL_ARRAYORDER_BGRA,\n    SDL_ARRAYORDER_ABGR\n};\n\n/** Packed component layout. */\nenum\n{\n    SDL_PACKEDLAYOUT_NONE,\n    SDL_PACKEDLAYOUT_332,\n    SDL_PACKEDLAYOUT_4444,\n    SDL_PACKEDLAYOUT_1555,\n    SDL_PACKEDLAYOUT_5551,\n    SDL_PACKEDLAYOUT_565,\n    SDL_PACKEDLAYOUT_8888,\n    SDL_PACKEDLAYOUT_2101010,\n    SDL_PACKEDLAYOUT_1010102\n};\n\n#define SDL_DEFINE_PIXELFOURCC(A, B, C, D) SDL_FOURCC(A, B, C, D)\n\n#define SDL_DEFINE_PIXELFORMAT(type, order, layout, bits, bytes) \\\n    ((1 << 28) | ((type) << 24) | ((order) << 20) | ((layout) << 16) | \\\n     ((bits) << 8) | ((bytes) << 0))\n\n#define SDL_PIXELFLAG(X)    (((X) >> 28) & 0x0F)\n#define SDL_PIXELTYPE(X)    (((X) >> 24) & 0x0F)\n#define SDL_PIXELORDER(X)   (((X) >> 20) & 0x0F)\n#define SDL_PIXELLAYOUT(X)  (((X) >> 16) & 0x0F)\n#define SDL_BITSPERPIXEL(X) (((X) >> 8) & 0xFF)\n#define SDL_BYTESPERPIXEL(X) \\\n    (SDL_ISPIXELFORMAT_FOURCC(X) ? \\\n        ((((X) == SDL_PIXELFORMAT_YUY2) || \\\n          ((X) == SDL_PIXELFORMAT_UYVY) || \\\n          ((X) == SDL_PIXELFORMAT_YVYU)) ? 2 : 1) : (((X) >> 0) & 0xFF))\n\n#define SDL_ISPIXELFORMAT_INDEXED(format)   \\\n    (!SDL_ISPIXELFORMAT_FOURCC(format) && \\\n     ((SDL_PIXELTYPE(format) == SDL_PIXELTYPE_INDEX1) || \\\n      (SDL_PIXELTYPE(format) == SDL_PIXELTYPE_INDEX4) || \\\n      (SDL_PIXELTYPE(format) == SDL_PIXELTYPE_INDEX8)))\n\n#define SDL_ISPIXELFORMAT_PACKED(format) \\\n    (!SDL_ISPIXELFORMAT_FOURCC(format) && \\\n     ((SDL_PIXELTYPE(format) == SDL_PIXELTYPE_PACKED8) || \\\n      (SDL_PIXELTYPE(format) == SDL_PIXELTYPE_PACKED16) || \\\n      (SDL_PIXELTYPE(format) == SDL_PIXELTYPE_PACKED32)))\n\n#define SDL_ISPIXELFORMAT_ARRAY(format) \\\n    (!SDL_ISPIXELFORMAT_FOURCC(format) && \\\n     ((SDL_PIXELTYPE(format) == SDL_PIXELTYPE_ARRAYU8) || \\\n      (SDL_PIXELTYPE(format) == SDL_PIXELTYPE_ARRAYU16) || \\\n      (SDL_PIXELTYPE(format) == SDL_PIXELTYPE_ARRAYU32) || \\\n      (SDL_PIXELTYPE(format) == SDL_PIXELTYPE_ARRAYF16) || \\\n      (SDL_PIXELTYPE(format) == SDL_PIXELTYPE_ARRAYF32)))\n\n#define SDL_ISPIXELFORMAT_ALPHA(format)   \\\n    ((SDL_ISPIXELFORMAT_PACKED(format) && \\\n     ((SDL_PIXELORDER(format) == SDL_PACKEDORDER_ARGB) || \\\n      (SDL_PIXELORDER(format) == SDL_PACKEDORDER_RGBA) || \\\n      (SDL_PIXELORDER(format) == SDL_PACKEDORDER_ABGR) || \\\n      (SDL_PIXELORDER(format) == SDL_PACKEDORDER_BGRA))) || \\\n    (SDL_ISPIXELFORMAT_ARRAY(format) && \\\n     ((SDL_PIXELORDER(format) == SDL_ARRAYORDER_ARGB) || \\\n      (SDL_PIXELORDER(format) == SDL_ARRAYORDER_RGBA) || \\\n      (SDL_PIXELORDER(format) == SDL_ARRAYORDER_ABGR) || \\\n      (SDL_PIXELORDER(format) == SDL_ARRAYORDER_BGRA))))\n\n/* The flag is set to 1 because 0x1? is not in the printable ASCII range */\n#define SDL_ISPIXELFORMAT_FOURCC(format)    \\\n    ((format) && (SDL_PIXELFLAG(format) != 1))\n\n/* Note: If you modify this list, update SDL_GetPixelFormatName() */\nenum\n{\n    SDL_PIXELFORMAT_UNKNOWN,\n    SDL_PIXELFORMAT_INDEX1LSB =\n        SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_INDEX1, SDL_BITMAPORDER_4321, 0,\n                               1, 0),\n    SDL_PIXELFORMAT_INDEX1MSB =\n        SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_INDEX1, SDL_BITMAPORDER_1234, 0,\n                               1, 0),\n    SDL_PIXELFORMAT_INDEX4LSB =\n        SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_INDEX4, SDL_BITMAPORDER_4321, 0,\n                               4, 0),\n    SDL_PIXELFORMAT_INDEX4MSB =\n        SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_INDEX4, SDL_BITMAPORDER_1234, 0,\n                               4, 0),\n    SDL_PIXELFORMAT_INDEX8 =\n        SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_INDEX8, 0, 0, 8, 1),\n    SDL_PIXELFORMAT_RGB332 =\n        SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED8, SDL_PACKEDORDER_XRGB,\n                               SDL_PACKEDLAYOUT_332, 8, 1),\n    SDL_PIXELFORMAT_RGB444 =\n        SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED16, SDL_PACKEDORDER_XRGB,\n                               SDL_PACKEDLAYOUT_4444, 12, 2),\n    SDL_PIXELFORMAT_RGB555 =\n        SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED16, SDL_PACKEDORDER_XRGB,\n                               SDL_PACKEDLAYOUT_1555, 15, 2),\n    SDL_PIXELFORMAT_BGR555 =\n        SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED16, SDL_PACKEDORDER_XBGR,\n                               SDL_PACKEDLAYOUT_1555, 15, 2),\n    SDL_PIXELFORMAT_ARGB4444 =\n        SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED16, SDL_PACKEDORDER_ARGB,\n                               SDL_PACKEDLAYOUT_4444, 16, 2),\n    SDL_PIXELFORMAT_RGBA4444 =\n        SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED16, SDL_PACKEDORDER_RGBA,\n                               SDL_PACKEDLAYOUT_4444, 16, 2),\n    SDL_PIXELFORMAT_ABGR4444 =\n        SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED16, SDL_PACKEDORDER_ABGR,\n                               SDL_PACKEDLAYOUT_4444, 16, 2),\n    SDL_PIXELFORMAT_BGRA4444 =\n        SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED16, SDL_PACKEDORDER_BGRA,\n                               SDL_PACKEDLAYOUT_4444, 16, 2),\n    SDL_PIXELFORMAT_ARGB1555 =\n        SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED16, SDL_PACKEDORDER_ARGB,\n                               SDL_PACKEDLAYOUT_1555, 16, 2),\n    SDL_PIXELFORMAT_RGBA5551 =\n        SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED16, SDL_PACKEDORDER_RGBA,\n                               SDL_PACKEDLAYOUT_5551, 16, 2),\n    SDL_PIXELFORMAT_ABGR1555 =\n        SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED16, SDL_PACKEDORDER_ABGR,\n                               SDL_PACKEDLAYOUT_1555, 16, 2),\n    SDL_PIXELFORMAT_BGRA5551 =\n        SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED16, SDL_PACKEDORDER_BGRA,\n                               SDL_PACKEDLAYOUT_5551, 16, 2),\n    SDL_PIXELFORMAT_RGB565 =\n        SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED16, SDL_PACKEDORDER_XRGB,\n                               SDL_PACKEDLAYOUT_565, 16, 2),\n    SDL_PIXELFORMAT_BGR565 =\n        SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED16, SDL_PACKEDORDER_XBGR,\n                               SDL_PACKEDLAYOUT_565, 16, 2),\n    SDL_PIXELFORMAT_RGB24 =\n        SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_ARRAYU8, SDL_ARRAYORDER_RGB, 0,\n                               24, 3),\n    SDL_PIXELFORMAT_BGR24 =\n        SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_ARRAYU8, SDL_ARRAYORDER_BGR, 0,\n                               24, 3),\n    SDL_PIXELFORMAT_RGB888 =\n        SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED32, SDL_PACKEDORDER_XRGB,\n                               SDL_PACKEDLAYOUT_8888, 24, 4),\n    SDL_PIXELFORMAT_RGBX8888 =\n        SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED32, SDL_PACKEDORDER_RGBX,\n                               SDL_PACKEDLAYOUT_8888, 24, 4),\n    SDL_PIXELFORMAT_BGR888 =\n        SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED32, SDL_PACKEDORDER_XBGR,\n                               SDL_PACKEDLAYOUT_8888, 24, 4),\n    SDL_PIXELFORMAT_BGRX8888 =\n        SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED32, SDL_PACKEDORDER_BGRX,\n                               SDL_PACKEDLAYOUT_8888, 24, 4),\n    SDL_PIXELFORMAT_ARGB8888 =\n        SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED32, SDL_PACKEDORDER_ARGB,\n                               SDL_PACKEDLAYOUT_8888, 32, 4),\n    SDL_PIXELFORMAT_RGBA8888 =\n        SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED32, SDL_PACKEDORDER_RGBA,\n                               SDL_PACKEDLAYOUT_8888, 32, 4),\n    SDL_PIXELFORMAT_ABGR8888 =\n        SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED32, SDL_PACKEDORDER_ABGR,\n                               SDL_PACKEDLAYOUT_8888, 32, 4),\n    SDL_PIXELFORMAT_BGRA8888 =\n        SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED32, SDL_PACKEDORDER_BGRA,\n                               SDL_PACKEDLAYOUT_8888, 32, 4),\n    SDL_PIXELFORMAT_ARGB2101010 =\n        SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED32, SDL_PACKEDORDER_ARGB,\n                               SDL_PACKEDLAYOUT_2101010, 32, 4),\n\n    SDL_PIXELFORMAT_YV12 =      /**< Planar mode: Y + V + U  (3 planes) */\n        SDL_DEFINE_PIXELFOURCC('Y', 'V', '1', '2'),\n    SDL_PIXELFORMAT_IYUV =      /**< Planar mode: Y + U + V  (3 planes) */\n        SDL_DEFINE_PIXELFOURCC('I', 'Y', 'U', 'V'),\n    SDL_PIXELFORMAT_YUY2 =      /**< Packed mode: Y0+U0+Y1+V0 (1 plane) */\n        SDL_DEFINE_PIXELFOURCC('Y', 'U', 'Y', '2'),\n    SDL_PIXELFORMAT_UYVY =      /**< Packed mode: U0+Y0+V0+Y1 (1 plane) */\n        SDL_DEFINE_PIXELFOURCC('U', 'Y', 'V', 'Y'),\n    SDL_PIXELFORMAT_YVYU =      /**< Packed mode: Y0+V0+Y1+U0 (1 plane) */\n        SDL_DEFINE_PIXELFOURCC('Y', 'V', 'Y', 'U'),\n    SDL_PIXELFORMAT_NV12 =      /**< Planar mode: Y + U/V interleaved  (2 planes) */\n        SDL_DEFINE_PIXELFOURCC('N', 'V', '1', '2'),\n    SDL_PIXELFORMAT_NV21 =      /**< Planar mode: Y + V/U interleaved  (2 planes) */\n        SDL_DEFINE_PIXELFOURCC('N', 'V', '2', '1')\n};\n\ntypedef struct SDL_Color\n{\n    Uint8 r;\n    Uint8 g;\n    Uint8 b;\n    Uint8 a;\n} SDL_Color;\n#define SDL_Colour SDL_Color\n\ntypedef struct SDL_Palette\n{\n    int ncolors;\n    SDL_Color *colors;\n    Uint32 version;\n    int refcount;\n} SDL_Palette;\n\n/**\n *  \\note Everything in the pixel format structure is read-only.\n */\ntypedef struct SDL_PixelFormat\n{\n    Uint32 format;\n    SDL_Palette *palette;\n    Uint8 BitsPerPixel;\n    Uint8 BytesPerPixel;\n    Uint8 padding[2];\n    Uint32 Rmask;\n    Uint32 Gmask;\n    Uint32 Bmask;\n    Uint32 Amask;\n    Uint8 Rloss;\n    Uint8 Gloss;\n    Uint8 Bloss;\n    Uint8 Aloss;\n    Uint8 Rshift;\n    Uint8 Gshift;\n    Uint8 Bshift;\n    Uint8 Ashift;\n    int refcount;\n    struct SDL_PixelFormat *next;\n} SDL_PixelFormat;\n\n/**\n * \\brief Get the human readable name of a pixel format\n */\nextern DECLSPEC const char* SDLCALL SDL_GetPixelFormatName(Uint32 format);\n\n/**\n *  \\brief Convert one of the enumerated pixel formats to a bpp and RGBA masks.\n *\n *  \\return SDL_TRUE, or SDL_FALSE if the conversion wasn't possible.\n *\n *  \\sa SDL_MasksToPixelFormatEnum()\n */\nextern DECLSPEC SDL_bool SDLCALL SDL_PixelFormatEnumToMasks(Uint32 format,\n                                                            int *bpp,\n                                                            Uint32 * Rmask,\n                                                            Uint32 * Gmask,\n                                                            Uint32 * Bmask,\n                                                            Uint32 * Amask);\n\n/**\n *  \\brief Convert a bpp and RGBA masks to an enumerated pixel format.\n *\n *  \\return The pixel format, or ::SDL_PIXELFORMAT_UNKNOWN if the conversion\n *          wasn't possible.\n *\n *  \\sa SDL_PixelFormatEnumToMasks()\n */\nextern DECLSPEC Uint32 SDLCALL SDL_MasksToPixelFormatEnum(int bpp,\n                                                          Uint32 Rmask,\n                                                          Uint32 Gmask,\n                                                          Uint32 Bmask,\n                                                          Uint32 Amask);\n\n/**\n *  \\brief Create an SDL_PixelFormat structure from a pixel format enum.\n */\nextern DECLSPEC SDL_PixelFormat * SDLCALL SDL_AllocFormat(Uint32 pixel_format);\n\n/**\n *  \\brief Free an SDL_PixelFormat structure.\n */\nextern DECLSPEC void SDLCALL SDL_FreeFormat(SDL_PixelFormat *format);\n\n/**\n *  \\brief Create a palette structure with the specified number of color\n *         entries.\n *\n *  \\return A new palette, or NULL if there wasn't enough memory.\n *\n *  \\note The palette entries are initialized to white.\n *\n *  \\sa SDL_FreePalette()\n */\nextern DECLSPEC SDL_Palette *SDLCALL SDL_AllocPalette(int ncolors);\n\n/**\n *  \\brief Set the palette for a pixel format structure.\n */\nextern DECLSPEC int SDLCALL SDL_SetPixelFormatPalette(SDL_PixelFormat * format,\n                                                      SDL_Palette *palette);\n\n/**\n *  \\brief Set a range of colors in a palette.\n *\n *  \\param palette    The palette to modify.\n *  \\param colors     An array of colors to copy into the palette.\n *  \\param firstcolor The index of the first palette entry to modify.\n *  \\param ncolors    The number of entries to modify.\n *\n *  \\return 0 on success, or -1 if not all of the colors could be set.\n */\nextern DECLSPEC int SDLCALL SDL_SetPaletteColors(SDL_Palette * palette,\n                                                 const SDL_Color * colors,\n                                                 int firstcolor, int ncolors);\n\n/**\n *  \\brief Free a palette created with SDL_AllocPalette().\n *\n *  \\sa SDL_AllocPalette()\n */\nextern DECLSPEC void SDLCALL SDL_FreePalette(SDL_Palette * palette);\n\n/**\n *  \\brief Maps an RGB triple to an opaque pixel value for a given pixel format.\n *\n *  \\sa SDL_MapRGBA\n */\nextern DECLSPEC Uint32 SDLCALL SDL_MapRGB(const SDL_PixelFormat * format,\n                                          Uint8 r, Uint8 g, Uint8 b);\n\n/**\n *  \\brief Maps an RGBA quadruple to a pixel value for a given pixel format.\n *\n *  \\sa SDL_MapRGB\n */\nextern DECLSPEC Uint32 SDLCALL SDL_MapRGBA(const SDL_PixelFormat * format,\n                                           Uint8 r, Uint8 g, Uint8 b,\n                                           Uint8 a);\n\n/**\n *  \\brief Get the RGB components from a pixel of the specified format.\n *\n *  \\sa SDL_GetRGBA\n */\nextern DECLSPEC void SDLCALL SDL_GetRGB(Uint32 pixel,\n                                        const SDL_PixelFormat * format,\n                                        Uint8 * r, Uint8 * g, Uint8 * b);\n\n/**\n *  \\brief Get the RGBA components from a pixel of the specified format.\n *\n *  \\sa SDL_GetRGB\n */\nextern DECLSPEC void SDLCALL SDL_GetRGBA(Uint32 pixel,\n                                         const SDL_PixelFormat * format,\n                                         Uint8 * r, Uint8 * g, Uint8 * b,\n                                         Uint8 * a);\n\n/**\n *  \\brief Calculate a 256 entry gamma ramp for a gamma value.\n */\nextern DECLSPEC void SDLCALL SDL_CalculateGammaRamp(float gamma, Uint16 * ramp);\n\n\n/* Ends C function definitions when using C++ */\n#ifdef __cplusplus\n}\n#endif\n#include \"close_code.h\"\n\n#endif /* _SDL_pixels_h */\n\n/* vi: set ts=4 sw=4 expandtab: */\n"
  },
  {
    "path": "external/SDL2-2.0.4/include/SDL_platform.h",
    "content": "/*\n  Simple DirectMedia Layer\n  Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>\n\n  This software is provided 'as-is', without any express or implied\n  warranty.  In no event will the authors be held liable for any damages\n  arising from the use of this software.\n\n  Permission is granted to anyone to use this software for any purpose,\n  including commercial applications, and to alter it and redistribute it\n  freely, subject to the following restrictions:\n\n  1. The origin of this software must not be misrepresented; you must not\n     claim that you wrote the original software. If you use this software\n     in a product, an acknowledgment in the product documentation would be\n     appreciated but is not required.\n  2. Altered source versions must be plainly marked as such, and must not be\n     misrepresented as being the original software.\n  3. This notice may not be removed or altered from any source distribution.\n*/\n\n/**\n *  \\file SDL_platform.h\n *\n *  Try to get a standard set of platform defines.\n */\n\n#ifndef _SDL_platform_h\n#define _SDL_platform_h\n\n#if defined(_AIX)\n#undef __AIX__\n#define __AIX__     1\n#endif\n#if defined(__HAIKU__)\n#undef __HAIKU__\n#define __HAIKU__   1\n#endif\n#if defined(bsdi) || defined(__bsdi) || defined(__bsdi__)\n#undef __BSDI__\n#define __BSDI__    1\n#endif\n#if defined(_arch_dreamcast)\n#undef __DREAMCAST__\n#define __DREAMCAST__   1\n#endif\n#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__)\n#undef __FREEBSD__\n#define __FREEBSD__ 1\n#endif\n#if defined(hpux) || defined(__hpux) || defined(__hpux__)\n#undef __HPUX__\n#define __HPUX__    1\n#endif\n#if defined(sgi) || defined(__sgi) || defined(__sgi__) || defined(_SGI_SOURCE)\n#undef __IRIX__\n#define __IRIX__    1\n#endif\n#if (defined(linux) || defined(__linux) || defined(__linux__))\n#undef __LINUX__\n#define __LINUX__   1\n#endif\n#if defined(ANDROID) || defined(__ANDROID__)\n#undef __ANDROID__\n#undef __LINUX__ /* do we need to do this? */\n#define __ANDROID__ 1\n#endif\n\n#if defined(__APPLE__)\n/* lets us know what version of Mac OS X we're compiling on */\n#include \"AvailabilityMacros.h\"\n#include \"TargetConditionals.h\"\n#if TARGET_OS_IPHONE\n/* if compiling for iPhone */\n#undef __IPHONEOS__\n#define __IPHONEOS__ 1\n#undef __MACOSX__\n#else\n/* if not compiling for iPhone */\n#undef __MACOSX__\n#define __MACOSX__  1\n#if MAC_OS_X_VERSION_MIN_REQUIRED < 1050\n# error SDL for Mac OS X only supports deploying on 10.5 and above.\n#endif /* MAC_OS_X_VERSION_MIN_REQUIRED < 1050 */\n#endif /* TARGET_OS_IPHONE */\n#endif /* defined(__APPLE__) */\n\n#if defined(__NetBSD__)\n#undef __NETBSD__\n#define __NETBSD__  1\n#endif\n#if defined(__OpenBSD__)\n#undef __OPENBSD__\n#define __OPENBSD__ 1\n#endif\n#if defined(__OS2__)\n#undef __OS2__\n#define __OS2__     1\n#endif\n#if defined(osf) || defined(__osf) || defined(__osf__) || defined(_OSF_SOURCE)\n#undef __OSF__\n#define __OSF__     1\n#endif\n#if defined(__QNXNTO__)\n#undef __QNXNTO__\n#define __QNXNTO__  1\n#endif\n#if defined(riscos) || defined(__riscos) || defined(__riscos__)\n#undef __RISCOS__\n#define __RISCOS__  1\n#endif\n#if defined(__sun) && defined(__SVR4)\n#undef __SOLARIS__\n#define __SOLARIS__ 1\n#endif\n\n#if defined(WIN32) || defined(_WIN32) || defined(__CYGWIN__) || defined(__MINGW32__)\n/* Try to find out if we're compiling for WinRT or non-WinRT */\n/* If _USING_V110_SDK71_ is defined it means we are using the v110_xp or v120_xp toolset. */\n#if (defined(_MSC_VER) && (_MSC_VER >= 1700) && !_USING_V110_SDK71_)\t/* _MSC_VER==1700 for MSVC 2012 */\n#include <winapifamily.h>\n#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)\n#undef __WINDOWS__\n#define __WINDOWS__   1\n/* See if we're compiling for WinRT: */\n#elif WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)\n#undef __WINRT__\n#define __WINRT__ 1\n#endif\n#else\n#undef __WINDOWS__\n#define __WINDOWS__   1\n#endif /* _MSC_VER < 1700 */\n#endif /* defined(WIN32) || defined(_WIN32) || defined(__CYGWIN__) */\n\n#if defined(__WINDOWS__)\n#undef __WIN32__\n#define __WIN32__ 1\n#endif\n#if defined(__PSP__)\n#undef __PSP__\n#define __PSP__ 1\n#endif\n\n/* The NACL compiler defines __native_client__ and __pnacl__\n * Ref: http://www.chromium.org/nativeclient/pnacl/stability-of-the-pnacl-bitcode-abi\n */\n#if defined(__native_client__)\n#undef __LINUX__\n#undef __NACL__\n#define __NACL__ 1\n#endif\n#if defined(__pnacl__)\n#undef __LINUX__\n#undef __PNACL__\n#define __PNACL__ 1\n/* PNACL with newlib supports static linking only */\n#define __SDL_NOGETPROCADDR__\n#endif\n\n\n#include \"begin_code.h\"\n/* Set up for C function definitions, even when using C++ */\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n/**\n *  \\brief Gets the name of the platform.\n */\nextern DECLSPEC const char * SDLCALL SDL_GetPlatform (void);\n\n/* Ends C function definitions when using C++ */\n#ifdef __cplusplus\n}\n#endif\n#include \"close_code.h\"\n\n#endif /* _SDL_platform_h */\n\n/* vi: set ts=4 sw=4 expandtab: */\n"
  },
  {
    "path": "external/SDL2-2.0.4/include/SDL_power.h",
    "content": "/*\n  Simple DirectMedia Layer\n  Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>\n\n  This software is provided 'as-is', without any express or implied\n  warranty.  In no event will the authors be held liable for any damages\n  arising from the use of this software.\n\n  Permission is granted to anyone to use this software for any purpose,\n  including commercial applications, and to alter it and redistribute it\n  freely, subject to the following restrictions:\n\n  1. The origin of this software must not be misrepresented; you must not\n     claim that you wrote the original software. If you use this software\n     in a product, an acknowledgment in the product documentation would be\n     appreciated but is not required.\n  2. Altered source versions must be plainly marked as such, and must not be\n     misrepresented as being the original software.\n  3. This notice may not be removed or altered from any source distribution.\n*/\n\n#ifndef _SDL_power_h\n#define _SDL_power_h\n\n/**\n *  \\file SDL_power.h\n *\n *  Header for the SDL power management routines.\n */\n\n#include \"SDL_stdinc.h\"\n\n#include \"begin_code.h\"\n/* Set up for C function definitions, even when using C++ */\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n/**\n *  \\brief The basic state for the system's power supply.\n */\ntypedef enum\n{\n    SDL_POWERSTATE_UNKNOWN,      /**< cannot determine power status */\n    SDL_POWERSTATE_ON_BATTERY,   /**< Not plugged in, running on the battery */\n    SDL_POWERSTATE_NO_BATTERY,   /**< Plugged in, no battery available */\n    SDL_POWERSTATE_CHARGING,     /**< Plugged in, charging battery */\n    SDL_POWERSTATE_CHARGED       /**< Plugged in, battery charged */\n} SDL_PowerState;\n\n\n/**\n *  \\brief Get the current power supply details.\n *\n *  \\param secs Seconds of battery life left. You can pass a NULL here if\n *              you don't care. Will return -1 if we can't determine a\n *              value, or we're not running on a battery.\n *\n *  \\param pct Percentage of battery life left, between 0 and 100. You can\n *             pass a NULL here if you don't care. Will return -1 if we\n *             can't determine a value, or we're not running on a battery.\n *\n *  \\return The state of the battery (if any).\n */\nextern DECLSPEC SDL_PowerState SDLCALL SDL_GetPowerInfo(int *secs, int *pct);\n\n/* Ends C function definitions when using C++ */\n#ifdef __cplusplus\n}\n#endif\n#include \"close_code.h\"\n\n#endif /* _SDL_power_h */\n\n/* vi: set ts=4 sw=4 expandtab: */\n"
  },
  {
    "path": "external/SDL2-2.0.4/include/SDL_quit.h",
    "content": "/*\n  Simple DirectMedia Layer\n  Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>\n\n  This software is provided 'as-is', without any express or implied\n  warranty.  In no event will the authors be held liable for any damages\n  arising from the use of this software.\n\n  Permission is granted to anyone to use this software for any purpose,\n  including commercial applications, and to alter it and redistribute it\n  freely, subject to the following restrictions:\n\n  1. The origin of this software must not be misrepresented; you must not\n     claim that you wrote the original software. If you use this software\n     in a product, an acknowledgment in the product documentation would be\n     appreciated but is not required.\n  2. Altered source versions must be plainly marked as such, and must not be\n     misrepresented as being the original software.\n  3. This notice may not be removed or altered from any source distribution.\n*/\n\n/**\n *  \\file SDL_quit.h\n *\n *  Include file for SDL quit event handling.\n */\n\n#ifndef _SDL_quit_h\n#define _SDL_quit_h\n\n#include \"SDL_stdinc.h\"\n#include \"SDL_error.h\"\n\n/**\n *  \\file SDL_quit.h\n *\n *  An ::SDL_QUIT event is generated when the user tries to close the application\n *  window.  If it is ignored or filtered out, the window will remain open.\n *  If it is not ignored or filtered, it is queued normally and the window\n *  is allowed to close.  When the window is closed, screen updates will\n *  complete, but have no effect.\n *\n *  SDL_Init() installs signal handlers for SIGINT (keyboard interrupt)\n *  and SIGTERM (system termination request), if handlers do not already\n *  exist, that generate ::SDL_QUIT events as well.  There is no way\n *  to determine the cause of an ::SDL_QUIT event, but setting a signal\n *  handler in your application will override the default generation of\n *  quit events for that signal.\n *\n *  \\sa SDL_Quit()\n */\n\n/* There are no functions directly affecting the quit event */\n\n#define SDL_QuitRequested() \\\n        (SDL_PumpEvents(), (SDL_PeepEvents(NULL,0,SDL_PEEKEVENT,SDL_QUIT,SDL_QUIT) > 0))\n\n#endif /* _SDL_quit_h */\n"
  },
  {
    "path": "external/SDL2-2.0.4/include/SDL_rect.h",
    "content": "/*\n  Simple DirectMedia Layer\n  Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>\n\n  This software is provided 'as-is', without any express or implied\n  warranty.  In no event will the authors be held liable for any damages\n  arising from the use of this software.\n\n  Permission is granted to anyone to use this software for any purpose,\n  including commercial applications, and to alter it and redistribute it\n  freely, subject to the following restrictions:\n\n  1. The origin of this software must not be misrepresented; you must not\n     claim that you wrote the original software. If you use this software\n     in a product, an acknowledgment in the product documentation would be\n     appreciated but is not required.\n  2. Altered source versions must be plainly marked as such, and must not be\n     misrepresented as being the original software.\n  3. This notice may not be removed or altered from any source distribution.\n*/\n\n/**\n *  \\file SDL_rect.h\n *\n *  Header file for SDL_rect definition and management functions.\n */\n\n#ifndef _SDL_rect_h\n#define _SDL_rect_h\n\n#include \"SDL_stdinc.h\"\n#include \"SDL_error.h\"\n#include \"SDL_pixels.h\"\n#include \"SDL_rwops.h\"\n\n#include \"begin_code.h\"\n/* Set up for C function definitions, even when using C++ */\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n/**\n *  \\brief  The structure that defines a point\n *\n *  \\sa SDL_EnclosePoints\n *  \\sa SDL_PointInRect\n */\ntypedef struct SDL_Point\n{\n    int x;\n    int y;\n} SDL_Point;\n\n/**\n *  \\brief A rectangle, with the origin at the upper left.\n *\n *  \\sa SDL_RectEmpty\n *  \\sa SDL_RectEquals\n *  \\sa SDL_HasIntersection\n *  \\sa SDL_IntersectRect\n *  \\sa SDL_UnionRect\n *  \\sa SDL_EnclosePoints\n */\ntypedef struct SDL_Rect\n{\n    int x, y;\n    int w, h;\n} SDL_Rect;\n\n/**\n *  \\brief Returns true if point resides inside a rectangle.\n */\nSDL_FORCE_INLINE SDL_bool SDL_PointInRect(const SDL_Point *p, const SDL_Rect *r)\n{\n    return ( (p->x >= r->x) && (p->x < (r->x + r->w)) &&\n             (p->y >= r->y) && (p->y < (r->y + r->h)) ) ? SDL_TRUE : SDL_FALSE;\n}\n\n/**\n *  \\brief Returns true if the rectangle has no area.\n */\nSDL_FORCE_INLINE SDL_bool SDL_RectEmpty(const SDL_Rect *r)\n{\n    return ((!r) || (r->w <= 0) || (r->h <= 0)) ? SDL_TRUE : SDL_FALSE;\n}\n\n/**\n *  \\brief Returns true if the two rectangles are equal.\n */\nSDL_FORCE_INLINE SDL_bool SDL_RectEquals(const SDL_Rect *a, const SDL_Rect *b)\n{\n    return (a && b && (a->x == b->x) && (a->y == b->y) &&\n            (a->w == b->w) && (a->h == b->h)) ? SDL_TRUE : SDL_FALSE;\n}\n\n/**\n *  \\brief Determine whether two rectangles intersect.\n *\n *  \\return SDL_TRUE if there is an intersection, SDL_FALSE otherwise.\n */\nextern DECLSPEC SDL_bool SDLCALL SDL_HasIntersection(const SDL_Rect * A,\n                                                     const SDL_Rect * B);\n\n/**\n *  \\brief Calculate the intersection of two rectangles.\n *\n *  \\return SDL_TRUE if there is an intersection, SDL_FALSE otherwise.\n */\nextern DECLSPEC SDL_bool SDLCALL SDL_IntersectRect(const SDL_Rect * A,\n                                                   const SDL_Rect * B,\n                                                   SDL_Rect * result);\n\n/**\n *  \\brief Calculate the union of two rectangles.\n */\nextern DECLSPEC void SDLCALL SDL_UnionRect(const SDL_Rect * A,\n                                           const SDL_Rect * B,\n                                           SDL_Rect * result);\n\n/**\n *  \\brief Calculate a minimal rectangle enclosing a set of points\n *\n *  \\return SDL_TRUE if any points were within the clipping rect\n */\nextern DECLSPEC SDL_bool SDLCALL SDL_EnclosePoints(const SDL_Point * points,\n                                                   int count,\n                                                   const SDL_Rect * clip,\n                                                   SDL_Rect * result);\n\n/**\n *  \\brief Calculate the intersection of a rectangle and line segment.\n *\n *  \\return SDL_TRUE if there is an intersection, SDL_FALSE otherwise.\n */\nextern DECLSPEC SDL_bool SDLCALL SDL_IntersectRectAndLine(const SDL_Rect *\n                                                          rect, int *X1,\n                                                          int *Y1, int *X2,\n                                                          int *Y2);\n\n/* Ends C function definitions when using C++ */\n#ifdef __cplusplus\n}\n#endif\n#include \"close_code.h\"\n\n#endif /* _SDL_rect_h */\n\n/* vi: set ts=4 sw=4 expandtab: */\n"
  },
  {
    "path": "external/SDL2-2.0.4/include/SDL_render.h",
    "content": "/*\n  Simple DirectMedia Layer\n  Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>\n\n  This software is provided 'as-is', without any express or implied\n  warranty.  In no event will the authors be held liable for any damages\n  arising from the use of this software.\n\n  Permission is granted to anyone to use this software for any purpose,\n  including commercial applications, and to alter it and redistribute it\n  freely, subject to the following restrictions:\n\n  1. The origin of this software must not be misrepresented; you must not\n     claim that you wrote the original software. If you use this software\n     in a product, an acknowledgment in the product documentation would be\n     appreciated but is not required.\n  2. Altered source versions must be plainly marked as such, and must not be\n     misrepresented as being the original software.\n  3. This notice may not be removed or altered from any source distribution.\n*/\n\n/**\n *  \\file SDL_render.h\n *\n *  Header file for SDL 2D rendering functions.\n *\n *  This API supports the following features:\n *      * single pixel points\n *      * single pixel lines\n *      * filled rectangles\n *      * texture images\n *\n *  The primitives may be drawn in opaque, blended, or additive modes.\n *\n *  The texture images may be drawn in opaque, blended, or additive modes.\n *  They can have an additional color tint or alpha modulation applied to\n *  them, and may also be stretched with linear interpolation.\n *\n *  This API is designed to accelerate simple 2D operations. You may\n *  want more functionality such as polygons and particle effects and\n *  in that case you should use SDL's OpenGL/Direct3D support or one\n *  of the many good 3D engines.\n *\n *  These functions must be called from the main thread.\n *  See this bug for details: http://bugzilla.libsdl.org/show_bug.cgi?id=1995\n */\n\n#ifndef _SDL_render_h\n#define _SDL_render_h\n\n#include \"SDL_stdinc.h\"\n#include \"SDL_rect.h\"\n#include \"SDL_video.h\"\n\n#include \"begin_code.h\"\n/* Set up for C function definitions, even when using C++ */\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n/**\n *  \\brief Flags used when creating a rendering context\n */\ntypedef enum\n{\n    SDL_RENDERER_SOFTWARE = 0x00000001,         /**< The renderer is a software fallback */\n    SDL_RENDERER_ACCELERATED = 0x00000002,      /**< The renderer uses hardware\n                                                     acceleration */\n    SDL_RENDERER_PRESENTVSYNC = 0x00000004,     /**< Present is synchronized\n                                                     with the refresh rate */\n    SDL_RENDERER_TARGETTEXTURE = 0x00000008     /**< The renderer supports\n                                                     rendering to texture */\n} SDL_RendererFlags;\n\n/**\n *  \\brief Information on the capabilities of a render driver or context.\n */\ntypedef struct SDL_RendererInfo\n{\n    const char *name;           /**< The name of the renderer */\n    Uint32 flags;               /**< Supported ::SDL_RendererFlags */\n    Uint32 num_texture_formats; /**< The number of available texture formats */\n    Uint32 texture_formats[16]; /**< The available texture formats */\n    int max_texture_width;      /**< The maximum texture width */\n    int max_texture_height;     /**< The maximum texture height */\n} SDL_RendererInfo;\n\n/**\n *  \\brief The access pattern allowed for a texture.\n */\ntypedef enum\n{\n    SDL_TEXTUREACCESS_STATIC,    /**< Changes rarely, not lockable */\n    SDL_TEXTUREACCESS_STREAMING, /**< Changes frequently, lockable */\n    SDL_TEXTUREACCESS_TARGET     /**< Texture can be used as a render target */\n} SDL_TextureAccess;\n\n/**\n *  \\brief The texture channel modulation used in SDL_RenderCopy().\n */\ntypedef enum\n{\n    SDL_TEXTUREMODULATE_NONE = 0x00000000,     /**< No modulation */\n    SDL_TEXTUREMODULATE_COLOR = 0x00000001,    /**< srcC = srcC * color */\n    SDL_TEXTUREMODULATE_ALPHA = 0x00000002     /**< srcA = srcA * alpha */\n} SDL_TextureModulate;\n\n/**\n *  \\brief Flip constants for SDL_RenderCopyEx\n */\ntypedef enum\n{\n    SDL_FLIP_NONE = 0x00000000,     /**< Do not flip */\n    SDL_FLIP_HORIZONTAL = 0x00000001,    /**< flip horizontally */\n    SDL_FLIP_VERTICAL = 0x00000002     /**< flip vertically */\n} SDL_RendererFlip;\n\n/**\n *  \\brief A structure representing rendering state\n */\nstruct SDL_Renderer;\ntypedef struct SDL_Renderer SDL_Renderer;\n\n/**\n *  \\brief An efficient driver-specific representation of pixel data\n */\nstruct SDL_Texture;\ntypedef struct SDL_Texture SDL_Texture;\n\n\n/* Function prototypes */\n\n/**\n *  \\brief Get the number of 2D rendering drivers available for the current\n *         display.\n *\n *  A render driver is a set of code that handles rendering and texture\n *  management on a particular display.  Normally there is only one, but\n *  some drivers may have several available with different capabilities.\n *\n *  \\sa SDL_GetRenderDriverInfo()\n *  \\sa SDL_CreateRenderer()\n */\nextern DECLSPEC int SDLCALL SDL_GetNumRenderDrivers(void);\n\n/**\n *  \\brief Get information about a specific 2D rendering driver for the current\n *         display.\n *\n *  \\param index The index of the driver to query information about.\n *  \\param info  A pointer to an SDL_RendererInfo struct to be filled with\n *               information on the rendering driver.\n *\n *  \\return 0 on success, -1 if the index was out of range.\n *\n *  \\sa SDL_CreateRenderer()\n */\nextern DECLSPEC int SDLCALL SDL_GetRenderDriverInfo(int index,\n                                                    SDL_RendererInfo * info);\n\n/**\n *  \\brief Create a window and default renderer\n *\n *  \\param width    The width of the window\n *  \\param height   The height of the window\n *  \\param window_flags The flags used to create the window\n *  \\param window   A pointer filled with the window, or NULL on error\n *  \\param renderer A pointer filled with the renderer, or NULL on error\n *\n *  \\return 0 on success, or -1 on error\n */\nextern DECLSPEC int SDLCALL SDL_CreateWindowAndRenderer(\n                                int width, int height, Uint32 window_flags,\n                                SDL_Window **window, SDL_Renderer **renderer);\n\n\n/**\n *  \\brief Create a 2D rendering context for a window.\n *\n *  \\param window The window where rendering is displayed.\n *  \\param index    The index of the rendering driver to initialize, or -1 to\n *                  initialize the first one supporting the requested flags.\n *  \\param flags    ::SDL_RendererFlags.\n *\n *  \\return A valid rendering context or NULL if there was an error.\n *\n *  \\sa SDL_CreateSoftwareRenderer()\n *  \\sa SDL_GetRendererInfo()\n *  \\sa SDL_DestroyRenderer()\n */\nextern DECLSPEC SDL_Renderer * SDLCALL SDL_CreateRenderer(SDL_Window * window,\n                                               int index, Uint32 flags);\n\n/**\n *  \\brief Create a 2D software rendering context for a surface.\n *\n *  \\param surface The surface where rendering is done.\n *\n *  \\return A valid rendering context or NULL if there was an error.\n *\n *  \\sa SDL_CreateRenderer()\n *  \\sa SDL_DestroyRenderer()\n */\nextern DECLSPEC SDL_Renderer * SDLCALL SDL_CreateSoftwareRenderer(SDL_Surface * surface);\n\n/**\n *  \\brief Get the renderer associated with a window.\n */\nextern DECLSPEC SDL_Renderer * SDLCALL SDL_GetRenderer(SDL_Window * window);\n\n/**\n *  \\brief Get information about a rendering context.\n */\nextern DECLSPEC int SDLCALL SDL_GetRendererInfo(SDL_Renderer * renderer,\n                                                SDL_RendererInfo * info);\n\n/**\n *  \\brief Get the output size in pixels of a rendering context.\n */\nextern DECLSPEC int SDLCALL SDL_GetRendererOutputSize(SDL_Renderer * renderer,\n                                                      int *w, int *h);\n\n/**\n *  \\brief Create a texture for a rendering context.\n *\n *  \\param renderer The renderer.\n *  \\param format The format of the texture.\n *  \\param access One of the enumerated values in ::SDL_TextureAccess.\n *  \\param w      The width of the texture in pixels.\n *  \\param h      The height of the texture in pixels.\n *\n *  \\return The created texture is returned, or NULL if no rendering context was\n *          active,  the format was unsupported, or the width or height were out\n *          of range.\n *\n *  \\sa SDL_QueryTexture()\n *  \\sa SDL_UpdateTexture()\n *  \\sa SDL_DestroyTexture()\n */\nextern DECLSPEC SDL_Texture * SDLCALL SDL_CreateTexture(SDL_Renderer * renderer,\n                                                        Uint32 format,\n                                                        int access, int w,\n                                                        int h);\n\n/**\n *  \\brief Create a texture from an existing surface.\n *\n *  \\param renderer The renderer.\n *  \\param surface The surface containing pixel data used to fill the texture.\n *\n *  \\return The created texture is returned, or NULL on error.\n *\n *  \\note The surface is not modified or freed by this function.\n *\n *  \\sa SDL_QueryTexture()\n *  \\sa SDL_DestroyTexture()\n */\nextern DECLSPEC SDL_Texture * SDLCALL SDL_CreateTextureFromSurface(SDL_Renderer * renderer, SDL_Surface * surface);\n\n/**\n *  \\brief Query the attributes of a texture\n *\n *  \\param texture A texture to be queried.\n *  \\param format  A pointer filled in with the raw format of the texture.  The\n *                 actual format may differ, but pixel transfers will use this\n *                 format.\n *  \\param access  A pointer filled in with the actual access to the texture.\n *  \\param w       A pointer filled in with the width of the texture in pixels.\n *  \\param h       A pointer filled in with the height of the texture in pixels.\n *\n *  \\return 0 on success, or -1 if the texture is not valid.\n */\nextern DECLSPEC int SDLCALL SDL_QueryTexture(SDL_Texture * texture,\n                                             Uint32 * format, int *access,\n                                             int *w, int *h);\n\n/**\n *  \\brief Set an additional color value used in render copy operations.\n *\n *  \\param texture The texture to update.\n *  \\param r       The red color value multiplied into copy operations.\n *  \\param g       The green color value multiplied into copy operations.\n *  \\param b       The blue color value multiplied into copy operations.\n *\n *  \\return 0 on success, or -1 if the texture is not valid or color modulation\n *          is not supported.\n *\n *  \\sa SDL_GetTextureColorMod()\n */\nextern DECLSPEC int SDLCALL SDL_SetTextureColorMod(SDL_Texture * texture,\n                                                   Uint8 r, Uint8 g, Uint8 b);\n\n\n/**\n *  \\brief Get the additional color value used in render copy operations.\n *\n *  \\param texture The texture to query.\n *  \\param r         A pointer filled in with the current red color value.\n *  \\param g         A pointer filled in with the current green color value.\n *  \\param b         A pointer filled in with the current blue color value.\n *\n *  \\return 0 on success, or -1 if the texture is not valid.\n *\n *  \\sa SDL_SetTextureColorMod()\n */\nextern DECLSPEC int SDLCALL SDL_GetTextureColorMod(SDL_Texture * texture,\n                                                   Uint8 * r, Uint8 * g,\n                                                   Uint8 * b);\n\n/**\n *  \\brief Set an additional alpha value used in render copy operations.\n *\n *  \\param texture The texture to update.\n *  \\param alpha     The alpha value multiplied into copy operations.\n *\n *  \\return 0 on success, or -1 if the texture is not valid or alpha modulation\n *          is not supported.\n *\n *  \\sa SDL_GetTextureAlphaMod()\n */\nextern DECLSPEC int SDLCALL SDL_SetTextureAlphaMod(SDL_Texture * texture,\n                                                   Uint8 alpha);\n\n/**\n *  \\brief Get the additional alpha value used in render copy operations.\n *\n *  \\param texture The texture to query.\n *  \\param alpha     A pointer filled in with the current alpha value.\n *\n *  \\return 0 on success, or -1 if the texture is not valid.\n *\n *  \\sa SDL_SetTextureAlphaMod()\n */\nextern DECLSPEC int SDLCALL SDL_GetTextureAlphaMod(SDL_Texture * texture,\n                                                   Uint8 * alpha);\n\n/**\n *  \\brief Set the blend mode used for texture copy operations.\n *\n *  \\param texture The texture to update.\n *  \\param blendMode ::SDL_BlendMode to use for texture blending.\n *\n *  \\return 0 on success, or -1 if the texture is not valid or the blend mode is\n *          not supported.\n *\n *  \\note If the blend mode is not supported, the closest supported mode is\n *        chosen.\n *\n *  \\sa SDL_GetTextureBlendMode()\n */\nextern DECLSPEC int SDLCALL SDL_SetTextureBlendMode(SDL_Texture * texture,\n                                                    SDL_BlendMode blendMode);\n\n/**\n *  \\brief Get the blend mode used for texture copy operations.\n *\n *  \\param texture   The texture to query.\n *  \\param blendMode A pointer filled in with the current blend mode.\n *\n *  \\return 0 on success, or -1 if the texture is not valid.\n *\n *  \\sa SDL_SetTextureBlendMode()\n */\nextern DECLSPEC int SDLCALL SDL_GetTextureBlendMode(SDL_Texture * texture,\n                                                    SDL_BlendMode *blendMode);\n\n/**\n *  \\brief Update the given texture rectangle with new pixel data.\n *\n *  \\param texture   The texture to update\n *  \\param rect      A pointer to the rectangle of pixels to update, or NULL to\n *                   update the entire texture.\n *  \\param pixels    The raw pixel data.\n *  \\param pitch     The number of bytes in a row of pixel data, including padding between lines.\n *\n *  \\return 0 on success, or -1 if the texture is not valid.\n *\n *  \\note This is a fairly slow function.\n */\nextern DECLSPEC int SDLCALL SDL_UpdateTexture(SDL_Texture * texture,\n                                              const SDL_Rect * rect,\n                                              const void *pixels, int pitch);\n\n/**\n *  \\brief Update a rectangle within a planar YV12 or IYUV texture with new pixel data.\n *\n *  \\param texture   The texture to update\n *  \\param rect      A pointer to the rectangle of pixels to update, or NULL to\n *                   update the entire texture.\n *  \\param Yplane    The raw pixel data for the Y plane.\n *  \\param Ypitch    The number of bytes between rows of pixel data for the Y plane.\n *  \\param Uplane    The raw pixel data for the U plane.\n *  \\param Upitch    The number of bytes between rows of pixel data for the U plane.\n *  \\param Vplane    The raw pixel data for the V plane.\n *  \\param Vpitch    The number of bytes between rows of pixel data for the V plane.\n *\n *  \\return 0 on success, or -1 if the texture is not valid.\n *\n *  \\note You can use SDL_UpdateTexture() as long as your pixel data is\n *        a contiguous block of Y and U/V planes in the proper order, but\n *        this function is available if your pixel data is not contiguous.\n */\nextern DECLSPEC int SDLCALL SDL_UpdateYUVTexture(SDL_Texture * texture,\n                                                 const SDL_Rect * rect,\n                                                 const Uint8 *Yplane, int Ypitch,\n                                                 const Uint8 *Uplane, int Upitch,\n                                                 const Uint8 *Vplane, int Vpitch);\n\n/**\n *  \\brief Lock a portion of the texture for write-only pixel access.\n *\n *  \\param texture   The texture to lock for access, which was created with\n *                   ::SDL_TEXTUREACCESS_STREAMING.\n *  \\param rect      A pointer to the rectangle to lock for access. If the rect\n *                   is NULL, the entire texture will be locked.\n *  \\param pixels    This is filled in with a pointer to the locked pixels,\n *                   appropriately offset by the locked area.\n *  \\param pitch     This is filled in with the pitch of the locked pixels.\n *\n *  \\return 0 on success, or -1 if the texture is not valid or was not created with ::SDL_TEXTUREACCESS_STREAMING.\n *\n *  \\sa SDL_UnlockTexture()\n */\nextern DECLSPEC int SDLCALL SDL_LockTexture(SDL_Texture * texture,\n                                            const SDL_Rect * rect,\n                                            void **pixels, int *pitch);\n\n/**\n *  \\brief Unlock a texture, uploading the changes to video memory, if needed.\n *\n *  \\sa SDL_LockTexture()\n */\nextern DECLSPEC void SDLCALL SDL_UnlockTexture(SDL_Texture * texture);\n\n/**\n * \\brief Determines whether a window supports the use of render targets\n *\n * \\param renderer The renderer that will be checked\n *\n * \\return SDL_TRUE if supported, SDL_FALSE if not.\n */\nextern DECLSPEC SDL_bool SDLCALL SDL_RenderTargetSupported(SDL_Renderer *renderer);\n\n/**\n * \\brief Set a texture as the current rendering target.\n *\n * \\param renderer The renderer.\n * \\param texture The targeted texture, which must be created with the SDL_TEXTUREACCESS_TARGET flag, or NULL for the default render target\n *\n * \\return 0 on success, or -1 on error\n *\n *  \\sa SDL_GetRenderTarget()\n */\nextern DECLSPEC int SDLCALL SDL_SetRenderTarget(SDL_Renderer *renderer,\n                                                SDL_Texture *texture);\n\n/**\n * \\brief Get the current render target or NULL for the default render target.\n *\n * \\return The current render target\n *\n *  \\sa SDL_SetRenderTarget()\n */\nextern DECLSPEC SDL_Texture * SDLCALL SDL_GetRenderTarget(SDL_Renderer *renderer);\n\n/**\n *  \\brief Set device independent resolution for rendering\n *\n *  \\param renderer The renderer for which resolution should be set.\n *  \\param w      The width of the logical resolution\n *  \\param h      The height of the logical resolution\n *\n *  This function uses the viewport and scaling functionality to allow a fixed logical\n *  resolution for rendering, regardless of the actual output resolution.  If the actual\n *  output resolution doesn't have the same aspect ratio the output rendering will be\n *  centered within the output display.\n *\n *  If the output display is a window, mouse events in the window will be filtered\n *  and scaled so they seem to arrive within the logical resolution.\n *\n *  \\note If this function results in scaling or subpixel drawing by the\n *        rendering backend, it will be handled using the appropriate\n *        quality hints.\n *\n *  \\sa SDL_RenderGetLogicalSize()\n *  \\sa SDL_RenderSetScale()\n *  \\sa SDL_RenderSetViewport()\n */\nextern DECLSPEC int SDLCALL SDL_RenderSetLogicalSize(SDL_Renderer * renderer, int w, int h);\n\n/**\n *  \\brief Get device independent resolution for rendering\n *\n *  \\param renderer The renderer from which resolution should be queried.\n *  \\param w      A pointer filled with the width of the logical resolution\n *  \\param h      A pointer filled with the height of the logical resolution\n *\n *  \\sa SDL_RenderSetLogicalSize()\n */\nextern DECLSPEC void SDLCALL SDL_RenderGetLogicalSize(SDL_Renderer * renderer, int *w, int *h);\n\n/**\n *  \\brief Set the drawing area for rendering on the current target.\n *\n *  \\param renderer The renderer for which the drawing area should be set.\n *  \\param rect The rectangle representing the drawing area, or NULL to set the viewport to the entire target.\n *\n *  The x,y of the viewport rect represents the origin for rendering.\n *\n *  \\return 0 on success, or -1 on error\n *\n *  \\note If the window associated with the renderer is resized, the viewport is automatically reset.\n *\n *  \\sa SDL_RenderGetViewport()\n *  \\sa SDL_RenderSetLogicalSize()\n */\nextern DECLSPEC int SDLCALL SDL_RenderSetViewport(SDL_Renderer * renderer,\n                                                  const SDL_Rect * rect);\n\n/**\n *  \\brief Get the drawing area for the current target.\n *\n *  \\sa SDL_RenderSetViewport()\n */\nextern DECLSPEC void SDLCALL SDL_RenderGetViewport(SDL_Renderer * renderer,\n                                                   SDL_Rect * rect);\n\n/**\n *  \\brief Set the clip rectangle for the current target.\n *\n *  \\param renderer The renderer for which clip rectangle should be set.\n *  \\param rect   A pointer to the rectangle to set as the clip rectangle, or\n *                NULL to disable clipping.\n *\n *  \\return 0 on success, or -1 on error\n *\n *  \\sa SDL_RenderGetClipRect()\n */\nextern DECLSPEC int SDLCALL SDL_RenderSetClipRect(SDL_Renderer * renderer,\n                                                  const SDL_Rect * rect);\n\n/**\n *  \\brief Get the clip rectangle for the current target.\n *\n *  \\param renderer The renderer from which clip rectangle should be queried.\n *  \\param rect   A pointer filled in with the current clip rectangle, or\n *                an empty rectangle if clipping is disabled.\n *\n *  \\sa SDL_RenderSetClipRect()\n */\nextern DECLSPEC void SDLCALL SDL_RenderGetClipRect(SDL_Renderer * renderer,\n                                                   SDL_Rect * rect);\n\n/**\n *  \\brief Get whether clipping is enabled on the given renderer.\n *\n *  \\param renderer The renderer from which clip state should be queried.\n *\n *  \\sa SDL_RenderGetClipRect()\n */\nextern DECLSPEC SDL_bool SDLCALL SDL_RenderIsClipEnabled(SDL_Renderer * renderer);\n\n\n/**\n *  \\brief Set the drawing scale for rendering on the current target.\n *\n *  \\param renderer The renderer for which the drawing scale should be set.\n *  \\param scaleX The horizontal scaling factor\n *  \\param scaleY The vertical scaling factor\n *\n *  The drawing coordinates are scaled by the x/y scaling factors\n *  before they are used by the renderer.  This allows resolution\n *  independent drawing with a single coordinate system.\n *\n *  \\note If this results in scaling or subpixel drawing by the\n *        rendering backend, it will be handled using the appropriate\n *        quality hints.  For best results use integer scaling factors.\n *\n *  \\sa SDL_RenderGetScale()\n *  \\sa SDL_RenderSetLogicalSize()\n */\nextern DECLSPEC int SDLCALL SDL_RenderSetScale(SDL_Renderer * renderer,\n                                               float scaleX, float scaleY);\n\n/**\n *  \\brief Get the drawing scale for the current target.\n *\n *  \\param renderer The renderer from which drawing scale should be queried.\n *  \\param scaleX A pointer filled in with the horizontal scaling factor\n *  \\param scaleY A pointer filled in with the vertical scaling factor\n *\n *  \\sa SDL_RenderSetScale()\n */\nextern DECLSPEC void SDLCALL SDL_RenderGetScale(SDL_Renderer * renderer,\n                                               float *scaleX, float *scaleY);\n\n/**\n *  \\brief Set the color used for drawing operations (Rect, Line and Clear).\n *\n *  \\param renderer The renderer for which drawing color should be set.\n *  \\param r The red value used to draw on the rendering target.\n *  \\param g The green value used to draw on the rendering target.\n *  \\param b The blue value used to draw on the rendering target.\n *  \\param a The alpha value used to draw on the rendering target, usually\n *           ::SDL_ALPHA_OPAQUE (255).\n *\n *  \\return 0 on success, or -1 on error\n */\nextern DECLSPEC int SDLCALL SDL_SetRenderDrawColor(SDL_Renderer * renderer,\n                                           Uint8 r, Uint8 g, Uint8 b,\n                                           Uint8 a);\n\n/**\n *  \\brief Get the color used for drawing operations (Rect, Line and Clear).\n *\n *  \\param renderer The renderer from which drawing color should be queried.\n *  \\param r A pointer to the red value used to draw on the rendering target.\n *  \\param g A pointer to the green value used to draw on the rendering target.\n *  \\param b A pointer to the blue value used to draw on the rendering target.\n *  \\param a A pointer to the alpha value used to draw on the rendering target,\n *           usually ::SDL_ALPHA_OPAQUE (255).\n *\n *  \\return 0 on success, or -1 on error\n */\nextern DECLSPEC int SDLCALL SDL_GetRenderDrawColor(SDL_Renderer * renderer,\n                                           Uint8 * r, Uint8 * g, Uint8 * b,\n                                           Uint8 * a);\n\n/**\n *  \\brief Set the blend mode used for drawing operations (Fill and Line).\n *\n *  \\param renderer The renderer for which blend mode should be set.\n *  \\param blendMode ::SDL_BlendMode to use for blending.\n *\n *  \\return 0 on success, or -1 on error\n *\n *  \\note If the blend mode is not supported, the closest supported mode is\n *        chosen.\n *\n *  \\sa SDL_GetRenderDrawBlendMode()\n */\nextern DECLSPEC int SDLCALL SDL_SetRenderDrawBlendMode(SDL_Renderer * renderer,\n                                                       SDL_BlendMode blendMode);\n\n/**\n *  \\brief Get the blend mode used for drawing operations.\n *\n *  \\param renderer The renderer from which blend mode should be queried.\n *  \\param blendMode A pointer filled in with the current blend mode.\n *\n *  \\return 0 on success, or -1 on error\n *\n *  \\sa SDL_SetRenderDrawBlendMode()\n */\nextern DECLSPEC int SDLCALL SDL_GetRenderDrawBlendMode(SDL_Renderer * renderer,\n                                                       SDL_BlendMode *blendMode);\n\n/**\n *  \\brief Clear the current rendering target with the drawing color\n *\n *  This function clears the entire rendering target, ignoring the viewport.\n *\n *  \\return 0 on success, or -1 on error\n */\nextern DECLSPEC int SDLCALL SDL_RenderClear(SDL_Renderer * renderer);\n\n/**\n *  \\brief Draw a point on the current rendering target.\n *\n *  \\param renderer The renderer which should draw a point.\n *  \\param x The x coordinate of the point.\n *  \\param y The y coordinate of the point.\n *\n *  \\return 0 on success, or -1 on error\n */\nextern DECLSPEC int SDLCALL SDL_RenderDrawPoint(SDL_Renderer * renderer,\n                                                int x, int y);\n\n/**\n *  \\brief Draw multiple points on the current rendering target.\n *\n *  \\param renderer The renderer which should draw multiple points.\n *  \\param points The points to draw\n *  \\param count The number of points to draw\n *\n *  \\return 0 on success, or -1 on error\n */\nextern DECLSPEC int SDLCALL SDL_RenderDrawPoints(SDL_Renderer * renderer,\n                                                 const SDL_Point * points,\n                                                 int count);\n\n/**\n *  \\brief Draw a line on the current rendering target.\n *\n *  \\param renderer The renderer which should draw a line.\n *  \\param x1 The x coordinate of the start point.\n *  \\param y1 The y coordinate of the start point.\n *  \\param x2 The x coordinate of the end point.\n *  \\param y2 The y coordinate of the end point.\n *\n *  \\return 0 on success, or -1 on error\n */\nextern DECLSPEC int SDLCALL SDL_RenderDrawLine(SDL_Renderer * renderer,\n                                               int x1, int y1, int x2, int y2);\n\n/**\n *  \\brief Draw a series of connected lines on the current rendering target.\n *\n *  \\param renderer The renderer which should draw multiple lines.\n *  \\param points The points along the lines\n *  \\param count The number of points, drawing count-1 lines\n *\n *  \\return 0 on success, or -1 on error\n */\nextern DECLSPEC int SDLCALL SDL_RenderDrawLines(SDL_Renderer * renderer,\n                                                const SDL_Point * points,\n                                                int count);\n\n/**\n *  \\brief Draw a rectangle on the current rendering target.\n *\n *  \\param renderer The renderer which should draw a rectangle.\n *  \\param rect A pointer to the destination rectangle, or NULL to outline the entire rendering target.\n *\n *  \\return 0 on success, or -1 on error\n */\nextern DECLSPEC int SDLCALL SDL_RenderDrawRect(SDL_Renderer * renderer,\n                                               const SDL_Rect * rect);\n\n/**\n *  \\brief Draw some number of rectangles on the current rendering target.\n *\n *  \\param renderer The renderer which should draw multiple rectangles.\n *  \\param rects A pointer to an array of destination rectangles.\n *  \\param count The number of rectangles.\n *\n *  \\return 0 on success, or -1 on error\n */\nextern DECLSPEC int SDLCALL SDL_RenderDrawRects(SDL_Renderer * renderer,\n                                                const SDL_Rect * rects,\n                                                int count);\n\n/**\n *  \\brief Fill a rectangle on the current rendering target with the drawing color.\n *\n *  \\param renderer The renderer which should fill a rectangle.\n *  \\param rect A pointer to the destination rectangle, or NULL for the entire\n *              rendering target.\n *\n *  \\return 0 on success, or -1 on error\n */\nextern DECLSPEC int SDLCALL SDL_RenderFillRect(SDL_Renderer * renderer,\n                                               const SDL_Rect * rect);\n\n/**\n *  \\brief Fill some number of rectangles on the current rendering target with the drawing color.\n *\n *  \\param renderer The renderer which should fill multiple rectangles.\n *  \\param rects A pointer to an array of destination rectangles.\n *  \\param count The number of rectangles.\n *\n *  \\return 0 on success, or -1 on error\n */\nextern DECLSPEC int SDLCALL SDL_RenderFillRects(SDL_Renderer * renderer,\n                                                const SDL_Rect * rects,\n                                                int count);\n\n/**\n *  \\brief Copy a portion of the texture to the current rendering target.\n *\n *  \\param renderer The renderer which should copy parts of a texture.\n *  \\param texture The source texture.\n *  \\param srcrect   A pointer to the source rectangle, or NULL for the entire\n *                   texture.\n *  \\param dstrect   A pointer to the destination rectangle, or NULL for the\n *                   entire rendering target.\n *\n *  \\return 0 on success, or -1 on error\n */\nextern DECLSPEC int SDLCALL SDL_RenderCopy(SDL_Renderer * renderer,\n                                           SDL_Texture * texture,\n                                           const SDL_Rect * srcrect,\n                                           const SDL_Rect * dstrect);\n\n/**\n *  \\brief Copy a portion of the source texture to the current rendering target, rotating it by angle around the given center\n *\n *  \\param renderer The renderer which should copy parts of a texture.\n *  \\param texture The source texture.\n *  \\param srcrect   A pointer to the source rectangle, or NULL for the entire\n *                   texture.\n *  \\param dstrect   A pointer to the destination rectangle, or NULL for the\n *                   entire rendering target.\n *  \\param angle    An angle in degrees that indicates the rotation that will be applied to dstrect\n *  \\param center   A pointer to a point indicating the point around which dstrect will be rotated (if NULL, rotation will be done around dstrect.w/2, dstrect.h/2).\n *  \\param flip     An SDL_RendererFlip value stating which flipping actions should be performed on the texture\n *\n *  \\return 0 on success, or -1 on error\n */\nextern DECLSPEC int SDLCALL SDL_RenderCopyEx(SDL_Renderer * renderer,\n                                           SDL_Texture * texture,\n                                           const SDL_Rect * srcrect,\n                                           const SDL_Rect * dstrect,\n                                           const double angle,\n                                           const SDL_Point *center,\n                                           const SDL_RendererFlip flip);\n\n/**\n *  \\brief Read pixels from the current rendering target.\n *\n *  \\param renderer The renderer from which pixels should be read.\n *  \\param rect   A pointer to the rectangle to read, or NULL for the entire\n *                render target.\n *  \\param format The desired format of the pixel data, or 0 to use the format\n *                of the rendering target\n *  \\param pixels A pointer to be filled in with the pixel data\n *  \\param pitch  The pitch of the pixels parameter.\n *\n *  \\return 0 on success, or -1 if pixel reading is not supported.\n *\n *  \\warning This is a very slow operation, and should not be used frequently.\n */\nextern DECLSPEC int SDLCALL SDL_RenderReadPixels(SDL_Renderer * renderer,\n                                                 const SDL_Rect * rect,\n                                                 Uint32 format,\n                                                 void *pixels, int pitch);\n\n/**\n *  \\brief Update the screen with rendering performed.\n */\nextern DECLSPEC void SDLCALL SDL_RenderPresent(SDL_Renderer * renderer);\n\n/**\n *  \\brief Destroy the specified texture.\n *\n *  \\sa SDL_CreateTexture()\n *  \\sa SDL_CreateTextureFromSurface()\n */\nextern DECLSPEC void SDLCALL SDL_DestroyTexture(SDL_Texture * texture);\n\n/**\n *  \\brief Destroy the rendering context for a window and free associated\n *         textures.\n *\n *  \\sa SDL_CreateRenderer()\n */\nextern DECLSPEC void SDLCALL SDL_DestroyRenderer(SDL_Renderer * renderer);\n\n\n/**\n *  \\brief Bind the texture to the current OpenGL/ES/ES2 context for use with\n *         OpenGL instructions.\n *\n *  \\param texture  The SDL texture to bind\n *  \\param texw     A pointer to a float that will be filled with the texture width\n *  \\param texh     A pointer to a float that will be filled with the texture height\n *\n *  \\return 0 on success, or -1 if the operation is not supported\n */\nextern DECLSPEC int SDLCALL SDL_GL_BindTexture(SDL_Texture *texture, float *texw, float *texh);\n\n/**\n *  \\brief Unbind a texture from the current OpenGL/ES/ES2 context.\n *\n *  \\param texture  The SDL texture to unbind\n *\n *  \\return 0 on success, or -1 if the operation is not supported\n */\nextern DECLSPEC int SDLCALL SDL_GL_UnbindTexture(SDL_Texture *texture);\n\n\n/* Ends C function definitions when using C++ */\n#ifdef __cplusplus\n}\n#endif\n#include \"close_code.h\"\n\n#endif /* _SDL_render_h */\n\n/* vi: set ts=4 sw=4 expandtab: */\n"
  },
  {
    "path": "external/SDL2-2.0.4/include/SDL_revision.h",
    "content": "#define SDL_REVISION \"hg-10001:e12c38730512\"\n#define SDL_REVISION_NUMBER 10001\n"
  },
  {
    "path": "external/SDL2-2.0.4/include/SDL_rwops.h",
    "content": "/*\n  Simple DirectMedia Layer\n  Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>\n\n  This software is provided 'as-is', without any express or implied\n  warranty.  In no event will the authors be held liable for any damages\n  arising from the use of this software.\n\n  Permission is granted to anyone to use this software for any purpose,\n  including commercial applications, and to alter it and redistribute it\n  freely, subject to the following restrictions:\n\n  1. The origin of this software must not be misrepresented; you must not\n     claim that you wrote the original software. If you use this software\n     in a product, an acknowledgment in the product documentation would be\n     appreciated but is not required.\n  2. Altered source versions must be plainly marked as such, and must not be\n     misrepresented as being the original software.\n  3. This notice may not be removed or altered from any source distribution.\n*/\n\n/**\n *  \\file SDL_rwops.h\n *\n *  This file provides a general interface for SDL to read and write\n *  data streams.  It can easily be extended to files, memory, etc.\n */\n\n#ifndef _SDL_rwops_h\n#define _SDL_rwops_h\n\n#include \"SDL_stdinc.h\"\n#include \"SDL_error.h\"\n\n#include \"begin_code.h\"\n/* Set up for C function definitions, even when using C++ */\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n/* RWops Types */\n#define SDL_RWOPS_UNKNOWN   0   /* Unknown stream type */\n#define SDL_RWOPS_WINFILE   1   /* Win32 file */\n#define SDL_RWOPS_STDFILE   2   /* Stdio file */\n#define SDL_RWOPS_JNIFILE   3   /* Android asset */\n#define SDL_RWOPS_MEMORY    4   /* Memory stream */\n#define SDL_RWOPS_MEMORY_RO 5   /* Read-Only memory stream */\n\n/**\n * This is the read/write operation structure -- very basic.\n */\ntypedef struct SDL_RWops\n{\n    /**\n     *  Return the size of the file in this rwops, or -1 if unknown\n     */\n    Sint64 (SDLCALL * size) (struct SDL_RWops * context);\n\n    /**\n     *  Seek to \\c offset relative to \\c whence, one of stdio's whence values:\n     *  RW_SEEK_SET, RW_SEEK_CUR, RW_SEEK_END\n     *\n     *  \\return the final offset in the data stream, or -1 on error.\n     */\n    Sint64 (SDLCALL * seek) (struct SDL_RWops * context, Sint64 offset,\n                             int whence);\n\n    /**\n     *  Read up to \\c maxnum objects each of size \\c size from the data\n     *  stream to the area pointed at by \\c ptr.\n     *\n     *  \\return the number of objects read, or 0 at error or end of file.\n     */\n    size_t (SDLCALL * read) (struct SDL_RWops * context, void *ptr,\n                             size_t size, size_t maxnum);\n\n    /**\n     *  Write exactly \\c num objects each of size \\c size from the area\n     *  pointed at by \\c ptr to data stream.\n     *\n     *  \\return the number of objects written, or 0 at error or end of file.\n     */\n    size_t (SDLCALL * write) (struct SDL_RWops * context, const void *ptr,\n                              size_t size, size_t num);\n\n    /**\n     *  Close and free an allocated SDL_RWops structure.\n     *\n     *  \\return 0 if successful or -1 on write error when flushing data.\n     */\n    int (SDLCALL * close) (struct SDL_RWops * context);\n\n    Uint32 type;\n    union\n    {\n#if defined(__ANDROID__)\n        struct\n        {\n            void *fileNameRef;\n            void *inputStreamRef;\n            void *readableByteChannelRef;\n            void *readMethod;\n            void *assetFileDescriptorRef;\n            long position;\n            long size;\n            long offset;\n            int fd;\n        } androidio;\n#elif defined(__WIN32__)\n        struct\n        {\n            SDL_bool append;\n            void *h;\n            struct\n            {\n                void *data;\n                size_t size;\n                size_t left;\n            } buffer;\n        } windowsio;\n#endif\n\n#ifdef HAVE_STDIO_H\n        struct\n        {\n            SDL_bool autoclose;\n            FILE *fp;\n        } stdio;\n#endif\n        struct\n        {\n            Uint8 *base;\n            Uint8 *here;\n            Uint8 *stop;\n        } mem;\n        struct\n        {\n            void *data1;\n            void *data2;\n        } unknown;\n    } hidden;\n\n} SDL_RWops;\n\n\n/**\n *  \\name RWFrom functions\n *\n *  Functions to create SDL_RWops structures from various data streams.\n */\n/* @{ */\n\nextern DECLSPEC SDL_RWops *SDLCALL SDL_RWFromFile(const char *file,\n                                                  const char *mode);\n\n#ifdef HAVE_STDIO_H\nextern DECLSPEC SDL_RWops *SDLCALL SDL_RWFromFP(FILE * fp,\n                                                SDL_bool autoclose);\n#else\nextern DECLSPEC SDL_RWops *SDLCALL SDL_RWFromFP(void * fp,\n                                                SDL_bool autoclose);\n#endif\n\nextern DECLSPEC SDL_RWops *SDLCALL SDL_RWFromMem(void *mem, int size);\nextern DECLSPEC SDL_RWops *SDLCALL SDL_RWFromConstMem(const void *mem,\n                                                      int size);\n\n/* @} *//* RWFrom functions */\n\n\nextern DECLSPEC SDL_RWops *SDLCALL SDL_AllocRW(void);\nextern DECLSPEC void SDLCALL SDL_FreeRW(SDL_RWops * area);\n\n#define RW_SEEK_SET 0       /**< Seek from the beginning of data */\n#define RW_SEEK_CUR 1       /**< Seek relative to current read point */\n#define RW_SEEK_END 2       /**< Seek relative to the end of data */\n\n/**\n *  \\name Read/write macros\n *\n *  Macros to easily read and write from an SDL_RWops structure.\n */\n/* @{ */\n#define SDL_RWsize(ctx)         (ctx)->size(ctx)\n#define SDL_RWseek(ctx, offset, whence) (ctx)->seek(ctx, offset, whence)\n#define SDL_RWtell(ctx)         (ctx)->seek(ctx, 0, RW_SEEK_CUR)\n#define SDL_RWread(ctx, ptr, size, n)   (ctx)->read(ctx, ptr, size, n)\n#define SDL_RWwrite(ctx, ptr, size, n)  (ctx)->write(ctx, ptr, size, n)\n#define SDL_RWclose(ctx)        (ctx)->close(ctx)\n/* @} *//* Read/write macros */\n\n\n/**\n *  \\name Read endian functions\n *\n *  Read an item of the specified endianness and return in native format.\n */\n/* @{ */\nextern DECLSPEC Uint8 SDLCALL SDL_ReadU8(SDL_RWops * src);\nextern DECLSPEC Uint16 SDLCALL SDL_ReadLE16(SDL_RWops * src);\nextern DECLSPEC Uint16 SDLCALL SDL_ReadBE16(SDL_RWops * src);\nextern DECLSPEC Uint32 SDLCALL SDL_ReadLE32(SDL_RWops * src);\nextern DECLSPEC Uint32 SDLCALL SDL_ReadBE32(SDL_RWops * src);\nextern DECLSPEC Uint64 SDLCALL SDL_ReadLE64(SDL_RWops * src);\nextern DECLSPEC Uint64 SDLCALL SDL_ReadBE64(SDL_RWops * src);\n/* @} *//* Read endian functions */\n\n/**\n *  \\name Write endian functions\n *\n *  Write an item of native format to the specified endianness.\n */\n/* @{ */\nextern DECLSPEC size_t SDLCALL SDL_WriteU8(SDL_RWops * dst, Uint8 value);\nextern DECLSPEC size_t SDLCALL SDL_WriteLE16(SDL_RWops * dst, Uint16 value);\nextern DECLSPEC size_t SDLCALL SDL_WriteBE16(SDL_RWops * dst, Uint16 value);\nextern DECLSPEC size_t SDLCALL SDL_WriteLE32(SDL_RWops * dst, Uint32 value);\nextern DECLSPEC size_t SDLCALL SDL_WriteBE32(SDL_RWops * dst, Uint32 value);\nextern DECLSPEC size_t SDLCALL SDL_WriteLE64(SDL_RWops * dst, Uint64 value);\nextern DECLSPEC size_t SDLCALL SDL_WriteBE64(SDL_RWops * dst, Uint64 value);\n/* @} *//* Write endian functions */\n\n/* Ends C function definitions when using C++ */\n#ifdef __cplusplus\n}\n#endif\n#include \"close_code.h\"\n\n#endif /* _SDL_rwops_h */\n\n/* vi: set ts=4 sw=4 expandtab: */\n"
  },
  {
    "path": "external/SDL2-2.0.4/include/SDL_scancode.h",
    "content": "/*\n  Simple DirectMedia Layer\n  Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>\n\n  This software is provided 'as-is', without any express or implied\n  warranty.  In no event will the authors be held liable for any damages\n  arising from the use of this software.\n\n  Permission is granted to anyone to use this software for any purpose,\n  including commercial applications, and to alter it and redistribute it\n  freely, subject to the following restrictions:\n\n  1. The origin of this software must not be misrepresented; you must not\n     claim that you wrote the original software. If you use this software\n     in a product, an acknowledgment in the product documentation would be\n     appreciated but is not required.\n  2. Altered source versions must be plainly marked as such, and must not be\n     misrepresented as being the original software.\n  3. This notice may not be removed or altered from any source distribution.\n*/\n\n/**\n *  \\file SDL_scancode.h\n *\n *  Defines keyboard scancodes.\n */\n\n#ifndef _SDL_scancode_h\n#define _SDL_scancode_h\n\n#include \"SDL_stdinc.h\"\n\n/**\n *  \\brief The SDL keyboard scancode representation.\n *\n *  Values of this type are used to represent keyboard keys, among other places\n *  in the \\link SDL_Keysym::scancode key.keysym.scancode \\endlink field of the\n *  SDL_Event structure.\n *\n *  The values in this enumeration are based on the USB usage page standard:\n *  http://www.usb.org/developers/devclass_docs/Hut1_12v2.pdf\n */\ntypedef enum\n{\n    SDL_SCANCODE_UNKNOWN = 0,\n\n    /**\n     *  \\name Usage page 0x07\n     *\n     *  These values are from usage page 0x07 (USB keyboard page).\n     */\n    /* @{ */\n\n    SDL_SCANCODE_A = 4,\n    SDL_SCANCODE_B = 5,\n    SDL_SCANCODE_C = 6,\n    SDL_SCANCODE_D = 7,\n    SDL_SCANCODE_E = 8,\n    SDL_SCANCODE_F = 9,\n    SDL_SCANCODE_G = 10,\n    SDL_SCANCODE_H = 11,\n    SDL_SCANCODE_I = 12,\n    SDL_SCANCODE_J = 13,\n    SDL_SCANCODE_K = 14,\n    SDL_SCANCODE_L = 15,\n    SDL_SCANCODE_M = 16,\n    SDL_SCANCODE_N = 17,\n    SDL_SCANCODE_O = 18,\n    SDL_SCANCODE_P = 19,\n    SDL_SCANCODE_Q = 20,\n    SDL_SCANCODE_R = 21,\n    SDL_SCANCODE_S = 22,\n    SDL_SCANCODE_T = 23,\n    SDL_SCANCODE_U = 24,\n    SDL_SCANCODE_V = 25,\n    SDL_SCANCODE_W = 26,\n    SDL_SCANCODE_X = 27,\n    SDL_SCANCODE_Y = 28,\n    SDL_SCANCODE_Z = 29,\n\n    SDL_SCANCODE_1 = 30,\n    SDL_SCANCODE_2 = 31,\n    SDL_SCANCODE_3 = 32,\n    SDL_SCANCODE_4 = 33,\n    SDL_SCANCODE_5 = 34,\n    SDL_SCANCODE_6 = 35,\n    SDL_SCANCODE_7 = 36,\n    SDL_SCANCODE_8 = 37,\n    SDL_SCANCODE_9 = 38,\n    SDL_SCANCODE_0 = 39,\n\n    SDL_SCANCODE_RETURN = 40,\n    SDL_SCANCODE_ESCAPE = 41,\n    SDL_SCANCODE_BACKSPACE = 42,\n    SDL_SCANCODE_TAB = 43,\n    SDL_SCANCODE_SPACE = 44,\n\n    SDL_SCANCODE_MINUS = 45,\n    SDL_SCANCODE_EQUALS = 46,\n    SDL_SCANCODE_LEFTBRACKET = 47,\n    SDL_SCANCODE_RIGHTBRACKET = 48,\n    SDL_SCANCODE_BACKSLASH = 49, /**< Located at the lower left of the return\n                                  *   key on ISO keyboards and at the right end\n                                  *   of the QWERTY row on ANSI keyboards.\n                                  *   Produces REVERSE SOLIDUS (backslash) and\n                                  *   VERTICAL LINE in a US layout, REVERSE\n                                  *   SOLIDUS and VERTICAL LINE in a UK Mac\n                                  *   layout, NUMBER SIGN and TILDE in a UK\n                                  *   Windows layout, DOLLAR SIGN and POUND SIGN\n                                  *   in a Swiss German layout, NUMBER SIGN and\n                                  *   APOSTROPHE in a German layout, GRAVE\n                                  *   ACCENT and POUND SIGN in a French Mac\n                                  *   layout, and ASTERISK and MICRO SIGN in a\n                                  *   French Windows layout.\n                                  */\n    SDL_SCANCODE_NONUSHASH = 50, /**< ISO USB keyboards actually use this code\n                                  *   instead of 49 for the same key, but all\n                                  *   OSes I've seen treat the two codes\n                                  *   identically. So, as an implementor, unless\n                                  *   your keyboard generates both of those\n                                  *   codes and your OS treats them differently,\n                                  *   you should generate SDL_SCANCODE_BACKSLASH\n                                  *   instead of this code. As a user, you\n                                  *   should not rely on this code because SDL\n                                  *   will never generate it with most (all?)\n                                  *   keyboards.\n                                  */\n    SDL_SCANCODE_SEMICOLON = 51,\n    SDL_SCANCODE_APOSTROPHE = 52,\n    SDL_SCANCODE_GRAVE = 53, /**< Located in the top left corner (on both ANSI\n                              *   and ISO keyboards). Produces GRAVE ACCENT and\n                              *   TILDE in a US Windows layout and in US and UK\n                              *   Mac layouts on ANSI keyboards, GRAVE ACCENT\n                              *   and NOT SIGN in a UK Windows layout, SECTION\n                              *   SIGN and PLUS-MINUS SIGN in US and UK Mac\n                              *   layouts on ISO keyboards, SECTION SIGN and\n                              *   DEGREE SIGN in a Swiss German layout (Mac:\n                              *   only on ISO keyboards), CIRCUMFLEX ACCENT and\n                              *   DEGREE SIGN in a German layout (Mac: only on\n                              *   ISO keyboards), SUPERSCRIPT TWO and TILDE in a\n                              *   French Windows layout, COMMERCIAL AT and\n                              *   NUMBER SIGN in a French Mac layout on ISO\n                              *   keyboards, and LESS-THAN SIGN and GREATER-THAN\n                              *   SIGN in a Swiss German, German, or French Mac\n                              *   layout on ANSI keyboards.\n                              */\n    SDL_SCANCODE_COMMA = 54,\n    SDL_SCANCODE_PERIOD = 55,\n    SDL_SCANCODE_SLASH = 56,\n\n    SDL_SCANCODE_CAPSLOCK = 57,\n\n    SDL_SCANCODE_F1 = 58,\n    SDL_SCANCODE_F2 = 59,\n    SDL_SCANCODE_F3 = 60,\n    SDL_SCANCODE_F4 = 61,\n    SDL_SCANCODE_F5 = 62,\n    SDL_SCANCODE_F6 = 63,\n    SDL_SCANCODE_F7 = 64,\n    SDL_SCANCODE_F8 = 65,\n    SDL_SCANCODE_F9 = 66,\n    SDL_SCANCODE_F10 = 67,\n    SDL_SCANCODE_F11 = 68,\n    SDL_SCANCODE_F12 = 69,\n\n    SDL_SCANCODE_PRINTSCREEN = 70,\n    SDL_SCANCODE_SCROLLLOCK = 71,\n    SDL_SCANCODE_PAUSE = 72,\n    SDL_SCANCODE_INSERT = 73, /**< insert on PC, help on some Mac keyboards (but\n                                   does send code 73, not 117) */\n    SDL_SCANCODE_HOME = 74,\n    SDL_SCANCODE_PAGEUP = 75,\n    SDL_SCANCODE_DELETE = 76,\n    SDL_SCANCODE_END = 77,\n    SDL_SCANCODE_PAGEDOWN = 78,\n    SDL_SCANCODE_RIGHT = 79,\n    SDL_SCANCODE_LEFT = 80,\n    SDL_SCANCODE_DOWN = 81,\n    SDL_SCANCODE_UP = 82,\n\n    SDL_SCANCODE_NUMLOCKCLEAR = 83, /**< num lock on PC, clear on Mac keyboards\n                                     */\n    SDL_SCANCODE_KP_DIVIDE = 84,\n    SDL_SCANCODE_KP_MULTIPLY = 85,\n    SDL_SCANCODE_KP_MINUS = 86,\n    SDL_SCANCODE_KP_PLUS = 87,\n    SDL_SCANCODE_KP_ENTER = 88,\n    SDL_SCANCODE_KP_1 = 89,\n    SDL_SCANCODE_KP_2 = 90,\n    SDL_SCANCODE_KP_3 = 91,\n    SDL_SCANCODE_KP_4 = 92,\n    SDL_SCANCODE_KP_5 = 93,\n    SDL_SCANCODE_KP_6 = 94,\n    SDL_SCANCODE_KP_7 = 95,\n    SDL_SCANCODE_KP_8 = 96,\n    SDL_SCANCODE_KP_9 = 97,\n    SDL_SCANCODE_KP_0 = 98,\n    SDL_SCANCODE_KP_PERIOD = 99,\n\n    SDL_SCANCODE_NONUSBACKSLASH = 100, /**< This is the additional key that ISO\n                                        *   keyboards have over ANSI ones,\n                                        *   located between left shift and Y.\n                                        *   Produces GRAVE ACCENT and TILDE in a\n                                        *   US or UK Mac layout, REVERSE SOLIDUS\n                                        *   (backslash) and VERTICAL LINE in a\n                                        *   US or UK Windows layout, and\n                                        *   LESS-THAN SIGN and GREATER-THAN SIGN\n                                        *   in a Swiss German, German, or French\n                                        *   layout. */\n    SDL_SCANCODE_APPLICATION = 101, /**< windows contextual menu, compose */\n    SDL_SCANCODE_POWER = 102, /**< The USB document says this is a status flag,\n                               *   not a physical key - but some Mac keyboards\n                               *   do have a power key. */\n    SDL_SCANCODE_KP_EQUALS = 103,\n    SDL_SCANCODE_F13 = 104,\n    SDL_SCANCODE_F14 = 105,\n    SDL_SCANCODE_F15 = 106,\n    SDL_SCANCODE_F16 = 107,\n    SDL_SCANCODE_F17 = 108,\n    SDL_SCANCODE_F18 = 109,\n    SDL_SCANCODE_F19 = 110,\n    SDL_SCANCODE_F20 = 111,\n    SDL_SCANCODE_F21 = 112,\n    SDL_SCANCODE_F22 = 113,\n    SDL_SCANCODE_F23 = 114,\n    SDL_SCANCODE_F24 = 115,\n    SDL_SCANCODE_EXECUTE = 116,\n    SDL_SCANCODE_HELP = 117,\n    SDL_SCANCODE_MENU = 118,\n    SDL_SCANCODE_SELECT = 119,\n    SDL_SCANCODE_STOP = 120,\n    SDL_SCANCODE_AGAIN = 121,   /**< redo */\n    SDL_SCANCODE_UNDO = 122,\n    SDL_SCANCODE_CUT = 123,\n    SDL_SCANCODE_COPY = 124,\n    SDL_SCANCODE_PASTE = 125,\n    SDL_SCANCODE_FIND = 126,\n    SDL_SCANCODE_MUTE = 127,\n    SDL_SCANCODE_VOLUMEUP = 128,\n    SDL_SCANCODE_VOLUMEDOWN = 129,\n/* not sure whether there's a reason to enable these */\n/*     SDL_SCANCODE_LOCKINGCAPSLOCK = 130,  */\n/*     SDL_SCANCODE_LOCKINGNUMLOCK = 131, */\n/*     SDL_SCANCODE_LOCKINGSCROLLLOCK = 132, */\n    SDL_SCANCODE_KP_COMMA = 133,\n    SDL_SCANCODE_KP_EQUALSAS400 = 134,\n\n    SDL_SCANCODE_INTERNATIONAL1 = 135, /**< used on Asian keyboards, see\n                                            footnotes in USB doc */\n    SDL_SCANCODE_INTERNATIONAL2 = 136,\n    SDL_SCANCODE_INTERNATIONAL3 = 137, /**< Yen */\n    SDL_SCANCODE_INTERNATIONAL4 = 138,\n    SDL_SCANCODE_INTERNATIONAL5 = 139,\n    SDL_SCANCODE_INTERNATIONAL6 = 140,\n    SDL_SCANCODE_INTERNATIONAL7 = 141,\n    SDL_SCANCODE_INTERNATIONAL8 = 142,\n    SDL_SCANCODE_INTERNATIONAL9 = 143,\n    SDL_SCANCODE_LANG1 = 144, /**< Hangul/English toggle */\n    SDL_SCANCODE_LANG2 = 145, /**< Hanja conversion */\n    SDL_SCANCODE_LANG3 = 146, /**< Katakana */\n    SDL_SCANCODE_LANG4 = 147, /**< Hiragana */\n    SDL_SCANCODE_LANG5 = 148, /**< Zenkaku/Hankaku */\n    SDL_SCANCODE_LANG6 = 149, /**< reserved */\n    SDL_SCANCODE_LANG7 = 150, /**< reserved */\n    SDL_SCANCODE_LANG8 = 151, /**< reserved */\n    SDL_SCANCODE_LANG9 = 152, /**< reserved */\n\n    SDL_SCANCODE_ALTERASE = 153, /**< Erase-Eaze */\n    SDL_SCANCODE_SYSREQ = 154,\n    SDL_SCANCODE_CANCEL = 155,\n    SDL_SCANCODE_CLEAR = 156,\n    SDL_SCANCODE_PRIOR = 157,\n    SDL_SCANCODE_RETURN2 = 158,\n    SDL_SCANCODE_SEPARATOR = 159,\n    SDL_SCANCODE_OUT = 160,\n    SDL_SCANCODE_OPER = 161,\n    SDL_SCANCODE_CLEARAGAIN = 162,\n    SDL_SCANCODE_CRSEL = 163,\n    SDL_SCANCODE_EXSEL = 164,\n\n    SDL_SCANCODE_KP_00 = 176,\n    SDL_SCANCODE_KP_000 = 177,\n    SDL_SCANCODE_THOUSANDSSEPARATOR = 178,\n    SDL_SCANCODE_DECIMALSEPARATOR = 179,\n    SDL_SCANCODE_CURRENCYUNIT = 180,\n    SDL_SCANCODE_CURRENCYSUBUNIT = 181,\n    SDL_SCANCODE_KP_LEFTPAREN = 182,\n    SDL_SCANCODE_KP_RIGHTPAREN = 183,\n    SDL_SCANCODE_KP_LEFTBRACE = 184,\n    SDL_SCANCODE_KP_RIGHTBRACE = 185,\n    SDL_SCANCODE_KP_TAB = 186,\n    SDL_SCANCODE_KP_BACKSPACE = 187,\n    SDL_SCANCODE_KP_A = 188,\n    SDL_SCANCODE_KP_B = 189,\n    SDL_SCANCODE_KP_C = 190,\n    SDL_SCANCODE_KP_D = 191,\n    SDL_SCANCODE_KP_E = 192,\n    SDL_SCANCODE_KP_F = 193,\n    SDL_SCANCODE_KP_XOR = 194,\n    SDL_SCANCODE_KP_POWER = 195,\n    SDL_SCANCODE_KP_PERCENT = 196,\n    SDL_SCANCODE_KP_LESS = 197,\n    SDL_SCANCODE_KP_GREATER = 198,\n    SDL_SCANCODE_KP_AMPERSAND = 199,\n    SDL_SCANCODE_KP_DBLAMPERSAND = 200,\n    SDL_SCANCODE_KP_VERTICALBAR = 201,\n    SDL_SCANCODE_KP_DBLVERTICALBAR = 202,\n    SDL_SCANCODE_KP_COLON = 203,\n    SDL_SCANCODE_KP_HASH = 204,\n    SDL_SCANCODE_KP_SPACE = 205,\n    SDL_SCANCODE_KP_AT = 206,\n    SDL_SCANCODE_KP_EXCLAM = 207,\n    SDL_SCANCODE_KP_MEMSTORE = 208,\n    SDL_SCANCODE_KP_MEMRECALL = 209,\n    SDL_SCANCODE_KP_MEMCLEAR = 210,\n    SDL_SCANCODE_KP_MEMADD = 211,\n    SDL_SCANCODE_KP_MEMSUBTRACT = 212,\n    SDL_SCANCODE_KP_MEMMULTIPLY = 213,\n    SDL_SCANCODE_KP_MEMDIVIDE = 214,\n    SDL_SCANCODE_KP_PLUSMINUS = 215,\n    SDL_SCANCODE_KP_CLEAR = 216,\n    SDL_SCANCODE_KP_CLEARENTRY = 217,\n    SDL_SCANCODE_KP_BINARY = 218,\n    SDL_SCANCODE_KP_OCTAL = 219,\n    SDL_SCANCODE_KP_DECIMAL = 220,\n    SDL_SCANCODE_KP_HEXADECIMAL = 221,\n\n    SDL_SCANCODE_LCTRL = 224,\n    SDL_SCANCODE_LSHIFT = 225,\n    SDL_SCANCODE_LALT = 226, /**< alt, option */\n    SDL_SCANCODE_LGUI = 227, /**< windows, command (apple), meta */\n    SDL_SCANCODE_RCTRL = 228,\n    SDL_SCANCODE_RSHIFT = 229,\n    SDL_SCANCODE_RALT = 230, /**< alt gr, option */\n    SDL_SCANCODE_RGUI = 231, /**< windows, command (apple), meta */\n\n    SDL_SCANCODE_MODE = 257,    /**< I'm not sure if this is really not covered\n                                 *   by any of the above, but since there's a\n                                 *   special KMOD_MODE for it I'm adding it here\n                                 */\n\n    /* @} *//* Usage page 0x07 */\n\n    /**\n     *  \\name Usage page 0x0C\n     *\n     *  These values are mapped from usage page 0x0C (USB consumer page).\n     */\n    /* @{ */\n\n    SDL_SCANCODE_AUDIONEXT = 258,\n    SDL_SCANCODE_AUDIOPREV = 259,\n    SDL_SCANCODE_AUDIOSTOP = 260,\n    SDL_SCANCODE_AUDIOPLAY = 261,\n    SDL_SCANCODE_AUDIOMUTE = 262,\n    SDL_SCANCODE_MEDIASELECT = 263,\n    SDL_SCANCODE_WWW = 264,\n    SDL_SCANCODE_MAIL = 265,\n    SDL_SCANCODE_CALCULATOR = 266,\n    SDL_SCANCODE_COMPUTER = 267,\n    SDL_SCANCODE_AC_SEARCH = 268,\n    SDL_SCANCODE_AC_HOME = 269,\n    SDL_SCANCODE_AC_BACK = 270,\n    SDL_SCANCODE_AC_FORWARD = 271,\n    SDL_SCANCODE_AC_STOP = 272,\n    SDL_SCANCODE_AC_REFRESH = 273,\n    SDL_SCANCODE_AC_BOOKMARKS = 274,\n\n    /* @} *//* Usage page 0x0C */\n\n    /**\n     *  \\name Walther keys\n     *\n     *  These are values that Christian Walther added (for mac keyboard?).\n     */\n    /* @{ */\n\n    SDL_SCANCODE_BRIGHTNESSDOWN = 275,\n    SDL_SCANCODE_BRIGHTNESSUP = 276,\n    SDL_SCANCODE_DISPLAYSWITCH = 277, /**< display mirroring/dual display\n                                           switch, video mode switch */\n    SDL_SCANCODE_KBDILLUMTOGGLE = 278,\n    SDL_SCANCODE_KBDILLUMDOWN = 279,\n    SDL_SCANCODE_KBDILLUMUP = 280,\n    SDL_SCANCODE_EJECT = 281,\n    SDL_SCANCODE_SLEEP = 282,\n\n    SDL_SCANCODE_APP1 = 283,\n    SDL_SCANCODE_APP2 = 284,\n\n    /* @} *//* Walther keys */\n\n    /* Add any other keys here. */\n\n    SDL_NUM_SCANCODES = 512 /**< not a key, just marks the number of scancodes\n                                 for array bounds */\n} SDL_Scancode;\n\n#endif /* _SDL_scancode_h */\n\n/* vi: set ts=4 sw=4 expandtab: */\n"
  },
  {
    "path": "external/SDL2-2.0.4/include/SDL_shape.h",
    "content": "/*\n  Simple DirectMedia Layer\n  Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>\n\n  This software is provided 'as-is', without any express or implied\n  warranty.  In no event will the authors be held liable for any damages\n  arising from the use of this software.\n\n  Permission is granted to anyone to use this software for any purpose,\n  including commercial applications, and to alter it and redistribute it\n  freely, subject to the following restrictions:\n\n  1. The origin of this software must not be misrepresented; you must not\n     claim that you wrote the original software. If you use this software\n     in a product, an acknowledgment in the product documentation would be\n     appreciated but is not required.\n  2. Altered source versions must be plainly marked as such, and must not be\n     misrepresented as being the original software.\n  3. This notice may not be removed or altered from any source distribution.\n*/\n\n#ifndef _SDL_shape_h\n#define _SDL_shape_h\n\n#include \"SDL_stdinc.h\"\n#include \"SDL_pixels.h\"\n#include \"SDL_rect.h\"\n#include \"SDL_surface.h\"\n#include \"SDL_video.h\"\n\n#include \"begin_code.h\"\n/* Set up for C function definitions, even when using C++ */\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n/** \\file SDL_shape.h\n *\n * Header file for the shaped window API.\n */\n\n#define SDL_NONSHAPEABLE_WINDOW -1\n#define SDL_INVALID_SHAPE_ARGUMENT -2\n#define SDL_WINDOW_LACKS_SHAPE -3\n\n/**\n *  \\brief Create a window that can be shaped with the specified position, dimensions, and flags.\n *\n *  \\param title The title of the window, in UTF-8 encoding.\n *  \\param x     The x position of the window, ::SDL_WINDOWPOS_CENTERED, or\n *               ::SDL_WINDOWPOS_UNDEFINED.\n *  \\param y     The y position of the window, ::SDL_WINDOWPOS_CENTERED, or\n *               ::SDL_WINDOWPOS_UNDEFINED.\n *  \\param w     The width of the window.\n *  \\param h     The height of the window.\n *  \\param flags The flags for the window, a mask of SDL_WINDOW_BORDERLESS with any of the following:\n *               ::SDL_WINDOW_OPENGL,     ::SDL_WINDOW_INPUT_GRABBED,\n *               ::SDL_WINDOW_HIDDEN,     ::SDL_WINDOW_RESIZABLE,\n *               ::SDL_WINDOW_MAXIMIZED,  ::SDL_WINDOW_MINIMIZED,\n *       ::SDL_WINDOW_BORDERLESS is always set, and ::SDL_WINDOW_FULLSCREEN is always unset.\n *\n *  \\return The window created, or NULL if window creation failed.\n *\n *  \\sa SDL_DestroyWindow()\n */\nextern DECLSPEC SDL_Window * SDLCALL SDL_CreateShapedWindow(const char *title,unsigned int x,unsigned int y,unsigned int w,unsigned int h,Uint32 flags);\n\n/**\n * \\brief Return whether the given window is a shaped window.\n *\n * \\param window The window to query for being shaped.\n *\n * \\return SDL_TRUE if the window is a window that can be shaped, SDL_FALSE if the window is unshaped or NULL.\n * \\sa SDL_CreateShapedWindow\n */\nextern DECLSPEC SDL_bool SDLCALL SDL_IsShapedWindow(const SDL_Window *window);\n\n/** \\brief An enum denoting the specific type of contents present in an SDL_WindowShapeParams union. */\ntypedef enum {\n    /** \\brief The default mode, a binarized alpha cutoff of 1. */\n    ShapeModeDefault,\n    /** \\brief A binarized alpha cutoff with a given integer value. */\n    ShapeModeBinarizeAlpha,\n    /** \\brief A binarized alpha cutoff with a given integer value, but with the opposite comparison. */\n    ShapeModeReverseBinarizeAlpha,\n    /** \\brief A color key is applied. */\n    ShapeModeColorKey\n} WindowShapeMode;\n\n#define SDL_SHAPEMODEALPHA(mode) (mode == ShapeModeDefault || mode == ShapeModeBinarizeAlpha || mode == ShapeModeReverseBinarizeAlpha)\n\n/** \\brief A union containing parameters for shaped windows. */\ntypedef union {\n    /** \\brief a cutoff alpha value for binarization of the window shape's alpha channel. */\n    Uint8 binarizationCutoff;\n    SDL_Color colorKey;\n} SDL_WindowShapeParams;\n\n/** \\brief A struct that tags the SDL_WindowShapeParams union with an enum describing the type of its contents. */\ntypedef struct SDL_WindowShapeMode {\n    /** \\brief The mode of these window-shape parameters. */\n    WindowShapeMode mode;\n    /** \\brief Window-shape parameters. */\n    SDL_WindowShapeParams parameters;\n} SDL_WindowShapeMode;\n\n/**\n * \\brief Set the shape and parameters of a shaped window.\n *\n * \\param window The shaped window whose parameters should be set.\n * \\param shape A surface encoding the desired shape for the window.\n * \\param shape_mode The parameters to set for the shaped window.\n *\n * \\return 0 on success, SDL_INVALID_SHAPE_ARGUMENT on invalid an invalid shape argument, or SDL_NONSHAPEABLE_WINDOW\n *           if the SDL_Window* given does not reference a valid shaped window.\n *\n * \\sa SDL_WindowShapeMode\n * \\sa SDL_GetShapedWindowMode.\n */\nextern DECLSPEC int SDLCALL SDL_SetWindowShape(SDL_Window *window,SDL_Surface *shape,SDL_WindowShapeMode *shape_mode);\n\n/**\n * \\brief Get the shape parameters of a shaped window.\n *\n * \\param window The shaped window whose parameters should be retrieved.\n * \\param shape_mode An empty shape-mode structure to fill, or NULL to check whether the window has a shape.\n *\n * \\return 0 if the window has a shape and, provided shape_mode was not NULL, shape_mode has been filled with the mode\n *           data, SDL_NONSHAPEABLE_WINDOW if the SDL_Window given is not a shaped window, or SDL_WINDOW_LACKS_SHAPE if\n *           the SDL_Window* given is a shapeable window currently lacking a shape.\n *\n * \\sa SDL_WindowShapeMode\n * \\sa SDL_SetWindowShape\n */\nextern DECLSPEC int SDLCALL SDL_GetShapedWindowMode(SDL_Window *window,SDL_WindowShapeMode *shape_mode);\n\n/* Ends C function definitions when using C++ */\n#ifdef __cplusplus\n}\n#endif\n#include \"close_code.h\"\n\n#endif /* _SDL_shape_h */\n"
  },
  {
    "path": "external/SDL2-2.0.4/include/SDL_stdinc.h",
    "content": "/*\n  Simple DirectMedia Layer\n  Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>\n\n  This software is provided 'as-is', without any express or implied\n  warranty.  In no event will the authors be held liable for any damages\n  arising from the use of this software.\n\n  Permission is granted to anyone to use this software for any purpose,\n  including commercial applications, and to alter it and redistribute it\n  freely, subject to the following restrictions:\n\n  1. The origin of this software must not be misrepresented; you must not\n     claim that you wrote the original software. If you use this software\n     in a product, an acknowledgment in the product documentation would be\n     appreciated but is not required.\n  2. Altered source versions must be plainly marked as such, and must not be\n     misrepresented as being the original software.\n  3. This notice may not be removed or altered from any source distribution.\n*/\n\n/**\n *  \\file SDL_stdinc.h\n *\n *  This is a general header that includes C language support.\n */\n\n#ifndef _SDL_stdinc_h\n#define _SDL_stdinc_h\n\n#include \"SDL_config.h\"\n\n#ifdef HAVE_SYS_TYPES_H\n#include <sys/types.h>\n#endif\n#ifdef HAVE_STDIO_H\n#include <stdio.h>\n#endif\n#if defined(STDC_HEADERS)\n# include <stdlib.h>\n# include <stddef.h>\n# include <stdarg.h>\n#else\n# if defined(HAVE_STDLIB_H)\n#  include <stdlib.h>\n# elif defined(HAVE_MALLOC_H)\n#  include <malloc.h>\n# endif\n# if defined(HAVE_STDDEF_H)\n#  include <stddef.h>\n# endif\n# if defined(HAVE_STDARG_H)\n#  include <stdarg.h>\n# endif\n#endif\n#ifdef HAVE_STRING_H\n# if !defined(STDC_HEADERS) && defined(HAVE_MEMORY_H)\n#  include <memory.h>\n# endif\n# include <string.h>\n#endif\n#ifdef HAVE_STRINGS_H\n# include <strings.h>\n#endif\n#if defined(HAVE_INTTYPES_H)\n# include <inttypes.h>\n#elif defined(HAVE_STDINT_H)\n# include <stdint.h>\n#endif\n#ifdef HAVE_CTYPE_H\n# include <ctype.h>\n#endif\n#ifdef HAVE_MATH_H\n# if defined(__WINRT__)\n/* Defining _USE_MATH_DEFINES is required to get M_PI to be defined on\n   WinRT.  See http://msdn.microsoft.com/en-us/library/4hwaceh6.aspx\n   for more information.\n*/\n#  define _USE_MATH_DEFINES\n# endif\n# include <math.h>\n#endif\n#ifdef HAVE_FLOAT_H\n# include <float.h>\n#endif\n#if defined(HAVE_ICONV) && defined(HAVE_ICONV_H)\n# include <iconv.h>\n#endif\n\n/**\n *  The number of elements in an array.\n */\n#define SDL_arraysize(array)    (sizeof(array)/sizeof(array[0]))\n#define SDL_TABLESIZE(table)    SDL_arraysize(table)\n\n/**\n *  \\name Cast operators\n *\n *  Use proper C++ casts when compiled as C++ to be compatible with the option\n *  -Wold-style-cast of GCC (and -Werror=old-style-cast in GCC 4.2 and above).\n */\n/* @{ */\n#ifdef __cplusplus\n#define SDL_reinterpret_cast(type, expression) reinterpret_cast<type>(expression)\n#define SDL_static_cast(type, expression) static_cast<type>(expression)\n#define SDL_const_cast(type, expression) const_cast<type>(expression)\n#else\n#define SDL_reinterpret_cast(type, expression) ((type)(expression))\n#define SDL_static_cast(type, expression) ((type)(expression))\n#define SDL_const_cast(type, expression) ((type)(expression))\n#endif\n/* @} *//* Cast operators */\n\n/* Define a four character code as a Uint32 */\n#define SDL_FOURCC(A, B, C, D) \\\n    ((SDL_static_cast(Uint32, SDL_static_cast(Uint8, (A))) << 0) | \\\n     (SDL_static_cast(Uint32, SDL_static_cast(Uint8, (B))) << 8) | \\\n     (SDL_static_cast(Uint32, SDL_static_cast(Uint8, (C))) << 16) | \\\n     (SDL_static_cast(Uint32, SDL_static_cast(Uint8, (D))) << 24))\n\n/**\n *  \\name Basic data types\n */\n/* @{ */\n\ntypedef enum\n{\n    SDL_FALSE = 0,\n    SDL_TRUE = 1\n} SDL_bool;\n\n/**\n * \\brief A signed 8-bit integer type.\n */\ntypedef int8_t Sint8;\n/**\n * \\brief An unsigned 8-bit integer type.\n */\ntypedef uint8_t Uint8;\n/**\n * \\brief A signed 16-bit integer type.\n */\ntypedef int16_t Sint16;\n/**\n * \\brief An unsigned 16-bit integer type.\n */\ntypedef uint16_t Uint16;\n/**\n * \\brief A signed 32-bit integer type.\n */\ntypedef int32_t Sint32;\n/**\n * \\brief An unsigned 32-bit integer type.\n */\ntypedef uint32_t Uint32;\n\n/**\n * \\brief A signed 64-bit integer type.\n */\ntypedef int64_t Sint64;\n/**\n * \\brief An unsigned 64-bit integer type.\n */\ntypedef uint64_t Uint64;\n\n/* @} *//* Basic data types */\n\n/* Make sure we have macros for printing 64 bit values.\n * <stdint.h> should define these but this is not true all platforms.\n * (for example win32) */\n#ifndef SDL_PRIs64\n#ifdef PRIs64\n#define SDL_PRIs64 PRIs64\n#elif defined(__WIN32__)\n#define SDL_PRIs64 \"I64d\"\n#elif defined(__LINUX__) && defined(__LP64__)\n#define SDL_PRIs64 \"ld\"\n#else\n#define SDL_PRIs64 \"lld\"\n#endif\n#endif\n#ifndef SDL_PRIu64\n#ifdef PRIu64\n#define SDL_PRIu64 PRIu64\n#elif defined(__WIN32__)\n#define SDL_PRIu64 \"I64u\"\n#elif defined(__LINUX__) && defined(__LP64__)\n#define SDL_PRIu64 \"lu\"\n#else\n#define SDL_PRIu64 \"llu\"\n#endif\n#endif\n#ifndef SDL_PRIx64\n#ifdef PRIx64\n#define SDL_PRIx64 PRIx64\n#elif defined(__WIN32__)\n#define SDL_PRIx64 \"I64x\"\n#elif defined(__LINUX__) && defined(__LP64__)\n#define SDL_PRIx64 \"lx\"\n#else\n#define SDL_PRIx64 \"llx\"\n#endif\n#endif\n#ifndef SDL_PRIX64\n#ifdef PRIX64\n#define SDL_PRIX64 PRIX64\n#elif defined(__WIN32__)\n#define SDL_PRIX64 \"I64X\"\n#elif defined(__LINUX__) && defined(__LP64__)\n#define SDL_PRIX64 \"lX\"\n#else\n#define SDL_PRIX64 \"llX\"\n#endif\n#endif\n\n/* Annotations to help code analysis tools */\n#ifdef SDL_DISABLE_ANALYZE_MACROS\n#define SDL_IN_BYTECAP(x)\n#define SDL_INOUT_Z_CAP(x)\n#define SDL_OUT_Z_CAP(x)\n#define SDL_OUT_CAP(x)\n#define SDL_OUT_BYTECAP(x)\n#define SDL_OUT_Z_BYTECAP(x)\n#define SDL_PRINTF_FORMAT_STRING\n#define SDL_SCANF_FORMAT_STRING\n#define SDL_PRINTF_VARARG_FUNC( fmtargnumber )\n#define SDL_SCANF_VARARG_FUNC( fmtargnumber )\n#else\n#if defined(_MSC_VER) && (_MSC_VER >= 1600) /* VS 2010 and above */\n#include <sal.h>\n\n#define SDL_IN_BYTECAP(x) _In_bytecount_(x)\n#define SDL_INOUT_Z_CAP(x) _Inout_z_cap_(x)\n#define SDL_OUT_Z_CAP(x) _Out_z_cap_(x)\n#define SDL_OUT_CAP(x) _Out_cap_(x)\n#define SDL_OUT_BYTECAP(x) _Out_bytecap_(x)\n#define SDL_OUT_Z_BYTECAP(x) _Out_z_bytecap_(x)\n\n#define SDL_PRINTF_FORMAT_STRING _Printf_format_string_\n#define SDL_SCANF_FORMAT_STRING _Scanf_format_string_impl_\n#else\n#define SDL_IN_BYTECAP(x)\n#define SDL_INOUT_Z_CAP(x)\n#define SDL_OUT_Z_CAP(x)\n#define SDL_OUT_CAP(x)\n#define SDL_OUT_BYTECAP(x)\n#define SDL_OUT_Z_BYTECAP(x)\n#define SDL_PRINTF_FORMAT_STRING\n#define SDL_SCANF_FORMAT_STRING\n#endif\n#if defined(__GNUC__)\n#define SDL_PRINTF_VARARG_FUNC( fmtargnumber ) __attribute__ (( format( __printf__, fmtargnumber, fmtargnumber+1 )))\n#define SDL_SCANF_VARARG_FUNC( fmtargnumber ) __attribute__ (( format( __scanf__, fmtargnumber, fmtargnumber+1 )))\n#else\n#define SDL_PRINTF_VARARG_FUNC( fmtargnumber )\n#define SDL_SCANF_VARARG_FUNC( fmtargnumber )\n#endif\n#endif /* SDL_DISABLE_ANALYZE_MACROS */\n\n#define SDL_COMPILE_TIME_ASSERT(name, x)               \\\n       typedef int SDL_dummy_ ## name[(x) * 2 - 1]\n/** \\cond */\n#ifndef DOXYGEN_SHOULD_IGNORE_THIS\nSDL_COMPILE_TIME_ASSERT(uint8, sizeof(Uint8) == 1);\nSDL_COMPILE_TIME_ASSERT(sint8, sizeof(Sint8) == 1);\nSDL_COMPILE_TIME_ASSERT(uint16, sizeof(Uint16) == 2);\nSDL_COMPILE_TIME_ASSERT(sint16, sizeof(Sint16) == 2);\nSDL_COMPILE_TIME_ASSERT(uint32, sizeof(Uint32) == 4);\nSDL_COMPILE_TIME_ASSERT(sint32, sizeof(Sint32) == 4);\nSDL_COMPILE_TIME_ASSERT(uint64, sizeof(Uint64) == 8);\nSDL_COMPILE_TIME_ASSERT(sint64, sizeof(Sint64) == 8);\n#endif /* DOXYGEN_SHOULD_IGNORE_THIS */\n/** \\endcond */\n\n/* Check to make sure enums are the size of ints, for structure packing.\n   For both Watcom C/C++ and Borland C/C++ the compiler option that makes\n   enums having the size of an int must be enabled.\n   This is \"-b\" for Borland C/C++ and \"-ei\" for Watcom C/C++ (v11).\n*/\n\n/** \\cond */\n#ifndef DOXYGEN_SHOULD_IGNORE_THIS\n#if !defined(__ANDROID__)\n   /* TODO: include/SDL_stdinc.h:174: error: size of array 'SDL_dummy_enum' is negative */\ntypedef enum\n{\n    DUMMY_ENUM_VALUE\n} SDL_DUMMY_ENUM;\n\nSDL_COMPILE_TIME_ASSERT(enum, sizeof(SDL_DUMMY_ENUM) == sizeof(int));\n#endif\n#endif /* DOXYGEN_SHOULD_IGNORE_THIS */\n/** \\endcond */\n\n#include \"begin_code.h\"\n/* Set up for C function definitions, even when using C++ */\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n#if defined(HAVE_ALLOCA) && !defined(alloca)\n# if defined(HAVE_ALLOCA_H)\n#  include <alloca.h>\n# elif defined(__GNUC__)\n#  define alloca __builtin_alloca\n# elif defined(_MSC_VER)\n#  include <malloc.h>\n#  define alloca _alloca\n# elif defined(__WATCOMC__)\n#  include <malloc.h>\n# elif defined(__BORLANDC__)\n#  include <malloc.h>\n# elif defined(__DMC__)\n#  include <stdlib.h>\n# elif defined(__AIX__)\n#pragma alloca\n# elif defined(__MRC__)\nvoid *alloca(unsigned);\n# else\nchar *alloca();\n# endif\n#endif\n#ifdef HAVE_ALLOCA\n#define SDL_stack_alloc(type, count)    (type*)alloca(sizeof(type)*(count))\n#define SDL_stack_free(data)\n#else\n#define SDL_stack_alloc(type, count)    (type*)SDL_malloc(sizeof(type)*(count))\n#define SDL_stack_free(data)            SDL_free(data)\n#endif\n\nextern DECLSPEC void *SDLCALL SDL_malloc(size_t size);\nextern DECLSPEC void *SDLCALL SDL_calloc(size_t nmemb, size_t size);\nextern DECLSPEC void *SDLCALL SDL_realloc(void *mem, size_t size);\nextern DECLSPEC void SDLCALL SDL_free(void *mem);\n\nextern DECLSPEC char *SDLCALL SDL_getenv(const char *name);\nextern DECLSPEC int SDLCALL SDL_setenv(const char *name, const char *value, int overwrite);\n\nextern DECLSPEC void SDLCALL SDL_qsort(void *base, size_t nmemb, size_t size, int (*compare) (const void *, const void *));\n\nextern DECLSPEC int SDLCALL SDL_abs(int x);\n\n/* !!! FIXME: these have side effects. You probably shouldn't use them. */\n/* !!! FIXME: Maybe we do forceinline functions of SDL_mini, SDL_minf, etc? */\n#define SDL_min(x, y) (((x) < (y)) ? (x) : (y))\n#define SDL_max(x, y) (((x) > (y)) ? (x) : (y))\n\nextern DECLSPEC int SDLCALL SDL_isdigit(int x);\nextern DECLSPEC int SDLCALL SDL_isspace(int x);\nextern DECLSPEC int SDLCALL SDL_toupper(int x);\nextern DECLSPEC int SDLCALL SDL_tolower(int x);\n\nextern DECLSPEC void *SDLCALL SDL_memset(SDL_OUT_BYTECAP(len) void *dst, int c, size_t len);\n\n#define SDL_zero(x) SDL_memset(&(x), 0, sizeof((x)))\n#define SDL_zerop(x) SDL_memset((x), 0, sizeof(*(x)))\n\n/* Note that memset() is a byte assignment and this is a 32-bit assignment, so they're not directly equivalent. */\nSDL_FORCE_INLINE void SDL_memset4(void *dst, Uint32 val, size_t dwords)\n{\n#if defined(__GNUC__) && defined(i386)\n    int u0, u1, u2;\n    __asm__ __volatile__ (\n        \"cld \\n\\t\"\n        \"rep ; stosl \\n\\t\"\n        : \"=&D\" (u0), \"=&a\" (u1), \"=&c\" (u2)\n        : \"0\" (dst), \"1\" (val), \"2\" (SDL_static_cast(Uint32, dwords))\n        : \"memory\"\n    );\n#else\n    size_t _n = (dwords + 3) / 4;\n    Uint32 *_p = SDL_static_cast(Uint32 *, dst);\n    Uint32 _val = (val);\n    if (dwords == 0)\n        return;\n    switch (dwords % 4)\n    {\n        case 0: do {    *_p++ = _val;\n        case 3:         *_p++ = _val;\n        case 2:         *_p++ = _val;\n        case 1:         *_p++ = _val;\n        } while ( --_n );\n    }\n#endif\n}\n\n\nextern DECLSPEC void *SDLCALL SDL_memcpy(SDL_OUT_BYTECAP(len) void *dst, SDL_IN_BYTECAP(len) const void *src, size_t len);\n\nextern DECLSPEC void *SDLCALL SDL_memmove(SDL_OUT_BYTECAP(len) void *dst, SDL_IN_BYTECAP(len) const void *src, size_t len);\nextern DECLSPEC int SDLCALL SDL_memcmp(const void *s1, const void *s2, size_t len);\n\nextern DECLSPEC size_t SDLCALL SDL_wcslen(const wchar_t *wstr);\nextern DECLSPEC size_t SDLCALL SDL_wcslcpy(SDL_OUT_Z_CAP(maxlen) wchar_t *dst, const wchar_t *src, size_t maxlen);\nextern DECLSPEC size_t SDLCALL SDL_wcslcat(SDL_INOUT_Z_CAP(maxlen) wchar_t *dst, const wchar_t *src, size_t maxlen);\n\nextern DECLSPEC size_t SDLCALL SDL_strlen(const char *str);\nextern DECLSPEC size_t SDLCALL SDL_strlcpy(SDL_OUT_Z_CAP(maxlen) char *dst, const char *src, size_t maxlen);\nextern DECLSPEC size_t SDLCALL SDL_utf8strlcpy(SDL_OUT_Z_CAP(dst_bytes) char *dst, const char *src, size_t dst_bytes);\nextern DECLSPEC size_t SDLCALL SDL_strlcat(SDL_INOUT_Z_CAP(maxlen) char *dst, const char *src, size_t maxlen);\nextern DECLSPEC char *SDLCALL SDL_strdup(const char *str);\nextern DECLSPEC char *SDLCALL SDL_strrev(char *str);\nextern DECLSPEC char *SDLCALL SDL_strupr(char *str);\nextern DECLSPEC char *SDLCALL SDL_strlwr(char *str);\nextern DECLSPEC char *SDLCALL SDL_strchr(const char *str, int c);\nextern DECLSPEC char *SDLCALL SDL_strrchr(const char *str, int c);\nextern DECLSPEC char *SDLCALL SDL_strstr(const char *haystack, const char *needle);\n\nextern DECLSPEC char *SDLCALL SDL_itoa(int value, char *str, int radix);\nextern DECLSPEC char *SDLCALL SDL_uitoa(unsigned int value, char *str, int radix);\nextern DECLSPEC char *SDLCALL SDL_ltoa(long value, char *str, int radix);\nextern DECLSPEC char *SDLCALL SDL_ultoa(unsigned long value, char *str, int radix);\nextern DECLSPEC char *SDLCALL SDL_lltoa(Sint64 value, char *str, int radix);\nextern DECLSPEC char *SDLCALL SDL_ulltoa(Uint64 value, char *str, int radix);\n\nextern DECLSPEC int SDLCALL SDL_atoi(const char *str);\nextern DECLSPEC double SDLCALL SDL_atof(const char *str);\nextern DECLSPEC long SDLCALL SDL_strtol(const char *str, char **endp, int base);\nextern DECLSPEC unsigned long SDLCALL SDL_strtoul(const char *str, char **endp, int base);\nextern DECLSPEC Sint64 SDLCALL SDL_strtoll(const char *str, char **endp, int base);\nextern DECLSPEC Uint64 SDLCALL SDL_strtoull(const char *str, char **endp, int base);\nextern DECLSPEC double SDLCALL SDL_strtod(const char *str, char **endp);\n\nextern DECLSPEC int SDLCALL SDL_strcmp(const char *str1, const char *str2);\nextern DECLSPEC int SDLCALL SDL_strncmp(const char *str1, const char *str2, size_t maxlen);\nextern DECLSPEC int SDLCALL SDL_strcasecmp(const char *str1, const char *str2);\nextern DECLSPEC int SDLCALL SDL_strncasecmp(const char *str1, const char *str2, size_t len);\n\nextern DECLSPEC int SDLCALL SDL_sscanf(const char *text, SDL_SCANF_FORMAT_STRING const char *fmt, ...) SDL_SCANF_VARARG_FUNC(2);\nextern DECLSPEC int SDLCALL SDL_vsscanf(const char *text, const char *fmt, va_list ap);\nextern DECLSPEC int SDLCALL SDL_snprintf(SDL_OUT_Z_CAP(maxlen) char *text, size_t maxlen, SDL_PRINTF_FORMAT_STRING const char *fmt, ... ) SDL_PRINTF_VARARG_FUNC(3);\nextern DECLSPEC int SDLCALL SDL_vsnprintf(SDL_OUT_Z_CAP(maxlen) char *text, size_t maxlen, const char *fmt, va_list ap);\n\n#ifndef HAVE_M_PI\n#ifndef M_PI\n#define M_PI    3.14159265358979323846264338327950288   /* pi */\n#endif\n#endif\n\nextern DECLSPEC double SDLCALL SDL_acos(double x);\nextern DECLSPEC double SDLCALL SDL_asin(double x);\nextern DECLSPEC double SDLCALL SDL_atan(double x);\nextern DECLSPEC double SDLCALL SDL_atan2(double x, double y);\nextern DECLSPEC double SDLCALL SDL_ceil(double x);\nextern DECLSPEC double SDLCALL SDL_copysign(double x, double y);\nextern DECLSPEC double SDLCALL SDL_cos(double x);\nextern DECLSPEC float SDLCALL SDL_cosf(float x);\nextern DECLSPEC double SDLCALL SDL_fabs(double x);\nextern DECLSPEC double SDLCALL SDL_floor(double x);\nextern DECLSPEC double SDLCALL SDL_log(double x);\nextern DECLSPEC double SDLCALL SDL_pow(double x, double y);\nextern DECLSPEC double SDLCALL SDL_scalbn(double x, int n);\nextern DECLSPEC double SDLCALL SDL_sin(double x);\nextern DECLSPEC float SDLCALL SDL_sinf(float x);\nextern DECLSPEC double SDLCALL SDL_sqrt(double x);\nextern DECLSPEC float SDLCALL SDL_sqrtf(float x);\nextern DECLSPEC double SDLCALL SDL_tan(double x);\nextern DECLSPEC float SDLCALL SDL_tanf(float x);\n\n/* The SDL implementation of iconv() returns these error codes */\n#define SDL_ICONV_ERROR     (size_t)-1\n#define SDL_ICONV_E2BIG     (size_t)-2\n#define SDL_ICONV_EILSEQ    (size_t)-3\n#define SDL_ICONV_EINVAL    (size_t)-4\n\n/* SDL_iconv_* are now always real symbols/types, not macros or inlined. */\ntypedef struct _SDL_iconv_t *SDL_iconv_t;\nextern DECLSPEC SDL_iconv_t SDLCALL SDL_iconv_open(const char *tocode,\n                                                   const char *fromcode);\nextern DECLSPEC int SDLCALL SDL_iconv_close(SDL_iconv_t cd);\nextern DECLSPEC size_t SDLCALL SDL_iconv(SDL_iconv_t cd, const char **inbuf,\n                                         size_t * inbytesleft, char **outbuf,\n                                         size_t * outbytesleft);\n/**\n *  This function converts a string between encodings in one pass, returning a\n *  string that must be freed with SDL_free() or NULL on error.\n */\nextern DECLSPEC char *SDLCALL SDL_iconv_string(const char *tocode,\n                                               const char *fromcode,\n                                               const char *inbuf,\n                                               size_t inbytesleft);\n#define SDL_iconv_utf8_locale(S)    SDL_iconv_string(\"\", \"UTF-8\", S, SDL_strlen(S)+1)\n#define SDL_iconv_utf8_ucs2(S)      (Uint16 *)SDL_iconv_string(\"UCS-2-INTERNAL\", \"UTF-8\", S, SDL_strlen(S)+1)\n#define SDL_iconv_utf8_ucs4(S)      (Uint32 *)SDL_iconv_string(\"UCS-4-INTERNAL\", \"UTF-8\", S, SDL_strlen(S)+1)\n\n/* force builds using Clang's static analysis tools to use literal C runtime\n   here, since there are possibly tests that are ineffective otherwise. */\n#if defined(__clang_analyzer__) && !defined(SDL_DISABLE_ANALYZE_MACROS)\n#define SDL_malloc malloc\n#define SDL_calloc calloc\n#define SDL_realloc realloc\n#define SDL_free free\n#define SDL_memset memset\n#define SDL_memcpy memcpy\n#define SDL_memmove memmove\n#define SDL_memcmp memcmp\n#define SDL_strlen strlen\n#define SDL_strlcpy strlcpy\n#define SDL_strlcat strlcat\n#define SDL_strdup strdup\n#define SDL_strchr strchr\n#define SDL_strrchr strrchr\n#define SDL_strstr strstr\n#define SDL_strcmp strcmp\n#define SDL_strncmp strncmp\n#define SDL_strcasecmp strcasecmp\n#define SDL_strncasecmp strncasecmp\n#define SDL_sscanf sscanf\n#define SDL_vsscanf vsscanf\n#define SDL_snprintf snprintf\n#define SDL_vsnprintf vsnprintf\n#endif\n\nSDL_FORCE_INLINE void *SDL_memcpy4(SDL_OUT_BYTECAP(dwords*4) void *dst, SDL_IN_BYTECAP(dwords*4) const void *src, size_t dwords)\n{\n    return SDL_memcpy(dst, src, dwords * 4);\n}\n\n/* Ends C function definitions when using C++ */\n#ifdef __cplusplus\n}\n#endif\n#include \"close_code.h\"\n\n#endif /* _SDL_stdinc_h */\n\n/* vi: set ts=4 sw=4 expandtab: */\n"
  },
  {
    "path": "external/SDL2-2.0.4/include/SDL_surface.h",
    "content": "/*\n  Simple DirectMedia Layer\n  Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>\n\n  This software is provided 'as-is', without any express or implied\n  warranty.  In no event will the authors be held liable for any damages\n  arising from the use of this software.\n\n  Permission is granted to anyone to use this software for any purpose,\n  including commercial applications, and to alter it and redistribute it\n  freely, subject to the following restrictions:\n\n  1. The origin of this software must not be misrepresented; you must not\n     claim that you wrote the original software. If you use this software\n     in a product, an acknowledgment in the product documentation would be\n     appreciated but is not required.\n  2. Altered source versions must be plainly marked as such, and must not be\n     misrepresented as being the original software.\n  3. This notice may not be removed or altered from any source distribution.\n*/\n\n/**\n *  \\file SDL_surface.h\n *\n *  Header file for ::SDL_Surface definition and management functions.\n */\n\n#ifndef _SDL_surface_h\n#define _SDL_surface_h\n\n#include \"SDL_stdinc.h\"\n#include \"SDL_pixels.h\"\n#include \"SDL_rect.h\"\n#include \"SDL_blendmode.h\"\n#include \"SDL_rwops.h\"\n\n#include \"begin_code.h\"\n/* Set up for C function definitions, even when using C++ */\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n/**\n *  \\name Surface flags\n *\n *  These are the currently supported flags for the ::SDL_Surface.\n *\n *  \\internal\n *  Used internally (read-only).\n */\n/* @{ */\n#define SDL_SWSURFACE       0           /**< Just here for compatibility */\n#define SDL_PREALLOC        0x00000001  /**< Surface uses preallocated memory */\n#define SDL_RLEACCEL        0x00000002  /**< Surface is RLE encoded */\n#define SDL_DONTFREE        0x00000004  /**< Surface is referenced internally */\n/* @} *//* Surface flags */\n\n/**\n *  Evaluates to true if the surface needs to be locked before access.\n */\n#define SDL_MUSTLOCK(S) (((S)->flags & SDL_RLEACCEL) != 0)\n\n/**\n * \\brief A collection of pixels used in software blitting.\n *\n * \\note  This structure should be treated as read-only, except for \\c pixels,\n *        which, if not NULL, contains the raw pixel data for the surface.\n */\ntypedef struct SDL_Surface\n{\n    Uint32 flags;               /**< Read-only */\n    SDL_PixelFormat *format;    /**< Read-only */\n    int w, h;                   /**< Read-only */\n    int pitch;                  /**< Read-only */\n    void *pixels;               /**< Read-write */\n\n    /** Application data associated with the surface */\n    void *userdata;             /**< Read-write */\n\n    /** information needed for surfaces requiring locks */\n    int locked;                 /**< Read-only */\n    void *lock_data;            /**< Read-only */\n\n    /** clipping information */\n    SDL_Rect clip_rect;         /**< Read-only */\n\n    /** info for fast blit mapping to other surfaces */\n    struct SDL_BlitMap *map;    /**< Private */\n\n    /** Reference count -- used when freeing surface */\n    int refcount;               /**< Read-mostly */\n} SDL_Surface;\n\n/**\n * \\brief The type of function used for surface blitting functions.\n */\ntypedef int (*SDL_blit) (struct SDL_Surface * src, SDL_Rect * srcrect,\n                         struct SDL_Surface * dst, SDL_Rect * dstrect);\n\n/**\n *  Allocate and free an RGB surface.\n *\n *  If the depth is 4 or 8 bits, an empty palette is allocated for the surface.\n *  If the depth is greater than 8 bits, the pixel format is set using the\n *  flags '[RGB]mask'.\n *\n *  If the function runs out of memory, it will return NULL.\n *\n *  \\param flags The \\c flags are obsolete and should be set to 0.\n *  \\param width The width in pixels of the surface to create.\n *  \\param height The height in pixels of the surface to create.\n *  \\param depth The depth in bits of the surface to create.\n *  \\param Rmask The red mask of the surface to create.\n *  \\param Gmask The green mask of the surface to create.\n *  \\param Bmask The blue mask of the surface to create.\n *  \\param Amask The alpha mask of the surface to create.\n */\nextern DECLSPEC SDL_Surface *SDLCALL SDL_CreateRGBSurface\n    (Uint32 flags, int width, int height, int depth,\n     Uint32 Rmask, Uint32 Gmask, Uint32 Bmask, Uint32 Amask);\nextern DECLSPEC SDL_Surface *SDLCALL SDL_CreateRGBSurfaceFrom(void *pixels,\n                                                              int width,\n                                                              int height,\n                                                              int depth,\n                                                              int pitch,\n                                                              Uint32 Rmask,\n                                                              Uint32 Gmask,\n                                                              Uint32 Bmask,\n                                                              Uint32 Amask);\nextern DECLSPEC void SDLCALL SDL_FreeSurface(SDL_Surface * surface);\n\n/**\n *  \\brief Set the palette used by a surface.\n *\n *  \\return 0, or -1 if the surface format doesn't use a palette.\n *\n *  \\note A single palette can be shared with many surfaces.\n */\nextern DECLSPEC int SDLCALL SDL_SetSurfacePalette(SDL_Surface * surface,\n                                                  SDL_Palette * palette);\n\n/**\n *  \\brief Sets up a surface for directly accessing the pixels.\n *\n *  Between calls to SDL_LockSurface() / SDL_UnlockSurface(), you can write\n *  to and read from \\c surface->pixels, using the pixel format stored in\n *  \\c surface->format.  Once you are done accessing the surface, you should\n *  use SDL_UnlockSurface() to release it.\n *\n *  Not all surfaces require locking.  If SDL_MUSTLOCK(surface) evaluates\n *  to 0, then you can read and write to the surface at any time, and the\n *  pixel format of the surface will not change.\n *\n *  No operating system or library calls should be made between lock/unlock\n *  pairs, as critical system locks may be held during this time.\n *\n *  SDL_LockSurface() returns 0, or -1 if the surface couldn't be locked.\n *\n *  \\sa SDL_UnlockSurface()\n */\nextern DECLSPEC int SDLCALL SDL_LockSurface(SDL_Surface * surface);\n/** \\sa SDL_LockSurface() */\nextern DECLSPEC void SDLCALL SDL_UnlockSurface(SDL_Surface * surface);\n\n/**\n *  Load a surface from a seekable SDL data stream (memory or file).\n *\n *  If \\c freesrc is non-zero, the stream will be closed after being read.\n *\n *  The new surface should be freed with SDL_FreeSurface().\n *\n *  \\return the new surface, or NULL if there was an error.\n */\nextern DECLSPEC SDL_Surface *SDLCALL SDL_LoadBMP_RW(SDL_RWops * src,\n                                                    int freesrc);\n\n/**\n *  Load a surface from a file.\n *\n *  Convenience macro.\n */\n#define SDL_LoadBMP(file)   SDL_LoadBMP_RW(SDL_RWFromFile(file, \"rb\"), 1)\n\n/**\n *  Save a surface to a seekable SDL data stream (memory or file).\n *\n *  If \\c freedst is non-zero, the stream will be closed after being written.\n *\n *  \\return 0 if successful or -1 if there was an error.\n */\nextern DECLSPEC int SDLCALL SDL_SaveBMP_RW\n    (SDL_Surface * surface, SDL_RWops * dst, int freedst);\n\n/**\n *  Save a surface to a file.\n *\n *  Convenience macro.\n */\n#define SDL_SaveBMP(surface, file) \\\n        SDL_SaveBMP_RW(surface, SDL_RWFromFile(file, \"wb\"), 1)\n\n/**\n *  \\brief Sets the RLE acceleration hint for a surface.\n *\n *  \\return 0 on success, or -1 if the surface is not valid\n *\n *  \\note If RLE is enabled, colorkey and alpha blending blits are much faster,\n *        but the surface must be locked before directly accessing the pixels.\n */\nextern DECLSPEC int SDLCALL SDL_SetSurfaceRLE(SDL_Surface * surface,\n                                              int flag);\n\n/**\n *  \\brief Sets the color key (transparent pixel) in a blittable surface.\n *\n *  \\param surface The surface to update\n *  \\param flag Non-zero to enable colorkey and 0 to disable colorkey\n *  \\param key The transparent pixel in the native surface format\n *\n *  \\return 0 on success, or -1 if the surface is not valid\n *\n *  You can pass SDL_RLEACCEL to enable RLE accelerated blits.\n */\nextern DECLSPEC int SDLCALL SDL_SetColorKey(SDL_Surface * surface,\n                                            int flag, Uint32 key);\n\n/**\n *  \\brief Gets the color key (transparent pixel) in a blittable surface.\n *\n *  \\param surface The surface to update\n *  \\param key A pointer filled in with the transparent pixel in the native\n *             surface format\n *\n *  \\return 0 on success, or -1 if the surface is not valid or colorkey is not\n *          enabled.\n */\nextern DECLSPEC int SDLCALL SDL_GetColorKey(SDL_Surface * surface,\n                                            Uint32 * key);\n\n/**\n *  \\brief Set an additional color value used in blit operations.\n *\n *  \\param surface The surface to update.\n *  \\param r The red color value multiplied into blit operations.\n *  \\param g The green color value multiplied into blit operations.\n *  \\param b The blue color value multiplied into blit operations.\n *\n *  \\return 0 on success, or -1 if the surface is not valid.\n *\n *  \\sa SDL_GetSurfaceColorMod()\n */\nextern DECLSPEC int SDLCALL SDL_SetSurfaceColorMod(SDL_Surface * surface,\n                                                   Uint8 r, Uint8 g, Uint8 b);\n\n\n/**\n *  \\brief Get the additional color value used in blit operations.\n *\n *  \\param surface The surface to query.\n *  \\param r A pointer filled in with the current red color value.\n *  \\param g A pointer filled in with the current green color value.\n *  \\param b A pointer filled in with the current blue color value.\n *\n *  \\return 0 on success, or -1 if the surface is not valid.\n *\n *  \\sa SDL_SetSurfaceColorMod()\n */\nextern DECLSPEC int SDLCALL SDL_GetSurfaceColorMod(SDL_Surface * surface,\n                                                   Uint8 * r, Uint8 * g,\n                                                   Uint8 * b);\n\n/**\n *  \\brief Set an additional alpha value used in blit operations.\n *\n *  \\param surface The surface to update.\n *  \\param alpha The alpha value multiplied into blit operations.\n *\n *  \\return 0 on success, or -1 if the surface is not valid.\n *\n *  \\sa SDL_GetSurfaceAlphaMod()\n */\nextern DECLSPEC int SDLCALL SDL_SetSurfaceAlphaMod(SDL_Surface * surface,\n                                                   Uint8 alpha);\n\n/**\n *  \\brief Get the additional alpha value used in blit operations.\n *\n *  \\param surface The surface to query.\n *  \\param alpha A pointer filled in with the current alpha value.\n *\n *  \\return 0 on success, or -1 if the surface is not valid.\n *\n *  \\sa SDL_SetSurfaceAlphaMod()\n */\nextern DECLSPEC int SDLCALL SDL_GetSurfaceAlphaMod(SDL_Surface * surface,\n                                                   Uint8 * alpha);\n\n/**\n *  \\brief Set the blend mode used for blit operations.\n *\n *  \\param surface The surface to update.\n *  \\param blendMode ::SDL_BlendMode to use for blit blending.\n *\n *  \\return 0 on success, or -1 if the parameters are not valid.\n *\n *  \\sa SDL_GetSurfaceBlendMode()\n */\nextern DECLSPEC int SDLCALL SDL_SetSurfaceBlendMode(SDL_Surface * surface,\n                                                    SDL_BlendMode blendMode);\n\n/**\n *  \\brief Get the blend mode used for blit operations.\n *\n *  \\param surface   The surface to query.\n *  \\param blendMode A pointer filled in with the current blend mode.\n *\n *  \\return 0 on success, or -1 if the surface is not valid.\n *\n *  \\sa SDL_SetSurfaceBlendMode()\n */\nextern DECLSPEC int SDLCALL SDL_GetSurfaceBlendMode(SDL_Surface * surface,\n                                                    SDL_BlendMode *blendMode);\n\n/**\n *  Sets the clipping rectangle for the destination surface in a blit.\n *\n *  If the clip rectangle is NULL, clipping will be disabled.\n *\n *  If the clip rectangle doesn't intersect the surface, the function will\n *  return SDL_FALSE and blits will be completely clipped.  Otherwise the\n *  function returns SDL_TRUE and blits to the surface will be clipped to\n *  the intersection of the surface area and the clipping rectangle.\n *\n *  Note that blits are automatically clipped to the edges of the source\n *  and destination surfaces.\n */\nextern DECLSPEC SDL_bool SDLCALL SDL_SetClipRect(SDL_Surface * surface,\n                                                 const SDL_Rect * rect);\n\n/**\n *  Gets the clipping rectangle for the destination surface in a blit.\n *\n *  \\c rect must be a pointer to a valid rectangle which will be filled\n *  with the correct values.\n */\nextern DECLSPEC void SDLCALL SDL_GetClipRect(SDL_Surface * surface,\n                                             SDL_Rect * rect);\n\n/**\n *  Creates a new surface of the specified format, and then copies and maps\n *  the given surface to it so the blit of the converted surface will be as\n *  fast as possible.  If this function fails, it returns NULL.\n *\n *  The \\c flags parameter is passed to SDL_CreateRGBSurface() and has those\n *  semantics.  You can also pass ::SDL_RLEACCEL in the flags parameter and\n *  SDL will try to RLE accelerate colorkey and alpha blits in the resulting\n *  surface.\n */\nextern DECLSPEC SDL_Surface *SDLCALL SDL_ConvertSurface\n    (SDL_Surface * src, const SDL_PixelFormat * fmt, Uint32 flags);\nextern DECLSPEC SDL_Surface *SDLCALL SDL_ConvertSurfaceFormat\n    (SDL_Surface * src, Uint32 pixel_format, Uint32 flags);\n\n/**\n * \\brief Copy a block of pixels of one format to another format\n *\n *  \\return 0 on success, or -1 if there was an error\n */\nextern DECLSPEC int SDLCALL SDL_ConvertPixels(int width, int height,\n                                              Uint32 src_format,\n                                              const void * src, int src_pitch,\n                                              Uint32 dst_format,\n                                              void * dst, int dst_pitch);\n\n/**\n *  Performs a fast fill of the given rectangle with \\c color.\n *\n *  If \\c rect is NULL, the whole surface will be filled with \\c color.\n *\n *  The color should be a pixel of the format used by the surface, and\n *  can be generated by the SDL_MapRGB() function.\n *\n *  \\return 0 on success, or -1 on error.\n */\nextern DECLSPEC int SDLCALL SDL_FillRect\n    (SDL_Surface * dst, const SDL_Rect * rect, Uint32 color);\nextern DECLSPEC int SDLCALL SDL_FillRects\n    (SDL_Surface * dst, const SDL_Rect * rects, int count, Uint32 color);\n\n/**\n *  Performs a fast blit from the source surface to the destination surface.\n *\n *  This assumes that the source and destination rectangles are\n *  the same size.  If either \\c srcrect or \\c dstrect are NULL, the entire\n *  surface (\\c src or \\c dst) is copied.  The final blit rectangles are saved\n *  in \\c srcrect and \\c dstrect after all clipping is performed.\n *\n *  \\return If the blit is successful, it returns 0, otherwise it returns -1.\n *\n *  The blit function should not be called on a locked surface.\n *\n *  The blit semantics for surfaces with and without blending and colorkey\n *  are defined as follows:\n *  \\verbatim\n    RGBA->RGB:\n      Source surface blend mode set to SDL_BLENDMODE_BLEND:\n        alpha-blend (using the source alpha-channel and per-surface alpha)\n        SDL_SRCCOLORKEY ignored.\n      Source surface blend mode set to SDL_BLENDMODE_NONE:\n        copy RGB.\n        if SDL_SRCCOLORKEY set, only copy the pixels matching the\n        RGB values of the source color key, ignoring alpha in the\n        comparison.\n\n    RGB->RGBA:\n      Source surface blend mode set to SDL_BLENDMODE_BLEND:\n        alpha-blend (using the source per-surface alpha)\n      Source surface blend mode set to SDL_BLENDMODE_NONE:\n        copy RGB, set destination alpha to source per-surface alpha value.\n      both:\n        if SDL_SRCCOLORKEY set, only copy the pixels matching the\n        source color key.\n\n    RGBA->RGBA:\n      Source surface blend mode set to SDL_BLENDMODE_BLEND:\n        alpha-blend (using the source alpha-channel and per-surface alpha)\n        SDL_SRCCOLORKEY ignored.\n      Source surface blend mode set to SDL_BLENDMODE_NONE:\n        copy all of RGBA to the destination.\n        if SDL_SRCCOLORKEY set, only copy the pixels matching the\n        RGB values of the source color key, ignoring alpha in the\n        comparison.\n\n    RGB->RGB:\n      Source surface blend mode set to SDL_BLENDMODE_BLEND:\n        alpha-blend (using the source per-surface alpha)\n      Source surface blend mode set to SDL_BLENDMODE_NONE:\n        copy RGB.\n      both:\n        if SDL_SRCCOLORKEY set, only copy the pixels matching the\n        source color key.\n    \\endverbatim\n *\n *  You should call SDL_BlitSurface() unless you know exactly how SDL\n *  blitting works internally and how to use the other blit functions.\n */\n#define SDL_BlitSurface SDL_UpperBlit\n\n/**\n *  This is the public blit function, SDL_BlitSurface(), and it performs\n *  rectangle validation and clipping before passing it to SDL_LowerBlit()\n */\nextern DECLSPEC int SDLCALL SDL_UpperBlit\n    (SDL_Surface * src, const SDL_Rect * srcrect,\n     SDL_Surface * dst, SDL_Rect * dstrect);\n\n/**\n *  This is a semi-private blit function and it performs low-level surface\n *  blitting only.\n */\nextern DECLSPEC int SDLCALL SDL_LowerBlit\n    (SDL_Surface * src, SDL_Rect * srcrect,\n     SDL_Surface * dst, SDL_Rect * dstrect);\n\n/**\n *  \\brief Perform a fast, low quality, stretch blit between two surfaces of the\n *         same pixel format.\n *\n *  \\note This function uses a static buffer, and is not thread-safe.\n */\nextern DECLSPEC int SDLCALL SDL_SoftStretch(SDL_Surface * src,\n                                            const SDL_Rect * srcrect,\n                                            SDL_Surface * dst,\n                                            const SDL_Rect * dstrect);\n\n#define SDL_BlitScaled SDL_UpperBlitScaled\n\n/**\n *  This is the public scaled blit function, SDL_BlitScaled(), and it performs\n *  rectangle validation and clipping before passing it to SDL_LowerBlitScaled()\n */\nextern DECLSPEC int SDLCALL SDL_UpperBlitScaled\n    (SDL_Surface * src, const SDL_Rect * srcrect,\n    SDL_Surface * dst, SDL_Rect * dstrect);\n\n/**\n *  This is a semi-private blit function and it performs low-level surface\n *  scaled blitting only.\n */\nextern DECLSPEC int SDLCALL SDL_LowerBlitScaled\n    (SDL_Surface * src, SDL_Rect * srcrect,\n    SDL_Surface * dst, SDL_Rect * dstrect);\n\n\n/* Ends C function definitions when using C++ */\n#ifdef __cplusplus\n}\n#endif\n#include \"close_code.h\"\n\n#endif /* _SDL_surface_h */\n\n/* vi: set ts=4 sw=4 expandtab: */\n"
  },
  {
    "path": "external/SDL2-2.0.4/include/SDL_system.h",
    "content": "/*\n  Simple DirectMedia Layer\n  Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>\n\n  This software is provided 'as-is', without any express or implied\n  warranty.  In no event will the authors be held liable for any damages\n  arising from the use of this software.\n\n  Permission is granted to anyone to use this software for any purpose,\n  including commercial applications, and to alter it and redistribute it\n  freely, subject to the following restrictions:\n\n  1. The origin of this software must not be misrepresented; you must not\n     claim that you wrote the original software. If you use this software\n     in a product, an acknowledgment in the product documentation would be\n     appreciated but is not required.\n  2. Altered source versions must be plainly marked as such, and must not be\n     misrepresented as being the original software.\n  3. This notice may not be removed or altered from any source distribution.\n*/\n\n/**\n *  \\file SDL_system.h\n *\n *  Include file for platform specific SDL API functions\n */\n\n#ifndef _SDL_system_h\n#define _SDL_system_h\n\n#include \"SDL_stdinc.h\"\n#include \"SDL_keyboard.h\"\n#include \"SDL_render.h\"\n#include \"SDL_video.h\"\n\n#include \"begin_code.h\"\n/* Set up for C function definitions, even when using C++ */\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n\n/* Platform specific functions for Windows */\n#ifdef __WIN32__\n\t\n/**\n   \\brief Set a function that is called for every windows message, before TranslateMessage()\n*/\ntypedef void (SDLCALL * SDL_WindowsMessageHook)(void *userdata, void *hWnd, unsigned int message, Uint64 wParam, Sint64 lParam);\nextern DECLSPEC void SDLCALL SDL_SetWindowsMessageHook(SDL_WindowsMessageHook callback, void *userdata);\n\n/**\n   \\brief Returns the D3D9 adapter index that matches the specified display index.\n\n   This adapter index can be passed to IDirect3D9::CreateDevice and controls\n   on which monitor a full screen application will appear.\n*/\nextern DECLSPEC int SDLCALL SDL_Direct3D9GetAdapterIndex( int displayIndex );\n\ntypedef struct IDirect3DDevice9 IDirect3DDevice9;\n/**\n   \\brief Returns the D3D device associated with a renderer, or NULL if it's not a D3D renderer.\n\n   Once you are done using the device, you should release it to avoid a resource leak.\n */\nextern DECLSPEC IDirect3DDevice9* SDLCALL SDL_RenderGetD3D9Device(SDL_Renderer * renderer);\n\n/**\n   \\brief Returns the DXGI Adapter and Output indices for the specified display index.\n\n   These can be passed to EnumAdapters and EnumOutputs respectively to get the objects\n   required to create a DX10 or DX11 device and swap chain.\n */\nextern DECLSPEC SDL_bool SDLCALL SDL_DXGIGetOutputInfo( int displayIndex, int *adapterIndex, int *outputIndex );\n\n#endif /* __WIN32__ */\n\n\n/* Platform specific functions for iOS */\n#if defined(__IPHONEOS__) && __IPHONEOS__\n\n#define SDL_iOSSetAnimationCallback(window, interval, callback, callbackParam) SDL_iPhoneSetAnimationCallback(window, interval, callback, callbackParam)\nextern DECLSPEC int SDLCALL SDL_iPhoneSetAnimationCallback(SDL_Window * window, int interval, void (*callback)(void*), void *callbackParam);\n\n#define SDL_iOSSetEventPump(enabled) SDL_iPhoneSetEventPump(enabled)\nextern DECLSPEC void SDLCALL SDL_iPhoneSetEventPump(SDL_bool enabled);\n\n#endif /* __IPHONEOS__ */\n\n\n/* Platform specific functions for Android */\n#if defined(__ANDROID__) && __ANDROID__\n\n/**\n   \\brief Get the JNI environment for the current thread\n\n   This returns JNIEnv*, but the prototype is void* so we don't need jni.h\n */\nextern DECLSPEC void * SDLCALL SDL_AndroidGetJNIEnv();\n\n/**\n   \\brief Get the SDL Activity object for the application\n\n   This returns jobject, but the prototype is void* so we don't need jni.h\n   The jobject returned by SDL_AndroidGetActivity is a local reference.\n   It is the caller's responsibility to properly release it\n   (using env->Push/PopLocalFrame or manually with env->DeleteLocalRef)\n */\nextern DECLSPEC void * SDLCALL SDL_AndroidGetActivity();\n\n/**\n   See the official Android developer guide for more information:\n   http://developer.android.com/guide/topics/data/data-storage.html\n*/\n#define SDL_ANDROID_EXTERNAL_STORAGE_READ   0x01\n#define SDL_ANDROID_EXTERNAL_STORAGE_WRITE  0x02\n\n/**\n   \\brief Get the path used for internal storage for this application.\n\n   This path is unique to your application and cannot be written to\n   by other applications.\n */\nextern DECLSPEC const char * SDLCALL SDL_AndroidGetInternalStoragePath();\n\n/**\n   \\brief Get the current state of external storage, a bitmask of these values:\n    SDL_ANDROID_EXTERNAL_STORAGE_READ\n    SDL_ANDROID_EXTERNAL_STORAGE_WRITE\n\n   If external storage is currently unavailable, this will return 0.\n*/\nextern DECLSPEC int SDLCALL SDL_AndroidGetExternalStorageState();\n\n/**\n   \\brief Get the path used for external storage for this application.\n\n   This path is unique to your application, but is public and can be\n   written to by other applications.\n */\nextern DECLSPEC const char * SDLCALL SDL_AndroidGetExternalStoragePath();\n\n#endif /* __ANDROID__ */\n\n/* Platform specific functions for WinRT */\n#if defined(__WINRT__) && __WINRT__\n\n/**\n *  \\brief WinRT / Windows Phone path types\n */\ntypedef enum\n{\n    /** \\brief The installed app's root directory.\n        Files here are likely to be read-only. */\n    SDL_WINRT_PATH_INSTALLED_LOCATION,\n\n    /** \\brief The app's local data store.  Files may be written here */\n    SDL_WINRT_PATH_LOCAL_FOLDER,\n\n    /** \\brief The app's roaming data store.  Unsupported on Windows Phone.\n        Files written here may be copied to other machines via a network\n        connection.\n    */\n    SDL_WINRT_PATH_ROAMING_FOLDER,\n\n    /** \\brief The app's temporary data store.  Unsupported on Windows Phone.\n        Files written here may be deleted at any time. */\n    SDL_WINRT_PATH_TEMP_FOLDER\n} SDL_WinRT_Path;\n\n\n/**\n *  \\brief Retrieves a WinRT defined path on the local file system\n *\n *  \\note Documentation on most app-specific path types on WinRT\n *      can be found on MSDN, at the URL:\n *      http://msdn.microsoft.com/en-us/library/windows/apps/hh464917.aspx\n *\n *  \\param pathType The type of path to retrieve.\n *  \\return A UCS-2 string (16-bit, wide-char) containing the path, or NULL\n *      if the path is not available for any reason.  Not all paths are\n *      available on all versions of Windows.  This is especially true on\n *      Windows Phone.  Check the documentation for the given\n *      SDL_WinRT_Path for more information on which path types are\n *      supported where.\n */\nextern DECLSPEC const wchar_t * SDLCALL SDL_WinRTGetFSPathUNICODE(SDL_WinRT_Path pathType);\n\n/**\n *  \\brief Retrieves a WinRT defined path on the local file system\n *\n *  \\note Documentation on most app-specific path types on WinRT\n *      can be found on MSDN, at the URL:\n *      http://msdn.microsoft.com/en-us/library/windows/apps/hh464917.aspx\n *\n *  \\param pathType The type of path to retrieve.\n *  \\return A UTF-8 string (8-bit, multi-byte) containing the path, or NULL\n *      if the path is not available for any reason.  Not all paths are\n *      available on all versions of Windows.  This is especially true on\n *      Windows Phone.  Check the documentation for the given\n *      SDL_WinRT_Path for more information on which path types are\n *      supported where.\n */\nextern DECLSPEC const char * SDLCALL SDL_WinRTGetFSPathUTF8(SDL_WinRT_Path pathType);\n\n#endif /* __WINRT__ */\n\n/* Ends C function definitions when using C++ */\n#ifdef __cplusplus\n}\n#endif\n#include \"close_code.h\"\n\n#endif /* _SDL_system_h */\n\n/* vi: set ts=4 sw=4 expandtab: */\n"
  },
  {
    "path": "external/SDL2-2.0.4/include/SDL_syswm.h",
    "content": "/*\n  Simple DirectMedia Layer\n  Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>\n\n  This software is provided 'as-is', without any express or implied\n  warranty.  In no event will the authors be held liable for any damages\n  arising from the use of this software.\n\n  Permission is granted to anyone to use this software for any purpose,\n  including commercial applications, and to alter it and redistribute it\n  freely, subject to the following restrictions:\n\n  1. The origin of this software must not be misrepresented; you must not\n     claim that you wrote the original software. If you use this software\n     in a product, an acknowledgment in the product documentation would be\n     appreciated but is not required.\n  2. Altered source versions must be plainly marked as such, and must not be\n     misrepresented as being the original software.\n  3. This notice may not be removed or altered from any source distribution.\n*/\n\n/**\n *  \\file SDL_syswm.h\n *\n *  Include file for SDL custom system window manager hooks.\n */\n\n#ifndef _SDL_syswm_h\n#define _SDL_syswm_h\n\n#include \"SDL_stdinc.h\"\n#include \"SDL_error.h\"\n#include \"SDL_video.h\"\n#include \"SDL_version.h\"\n\n#include \"begin_code.h\"\n/* Set up for C function definitions, even when using C++ */\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n/**\n *  \\file SDL_syswm.h\n *\n *  Your application has access to a special type of event ::SDL_SYSWMEVENT,\n *  which contains window-manager specific information and arrives whenever\n *  an unhandled window event occurs.  This event is ignored by default, but\n *  you can enable it with SDL_EventState().\n */\n#ifdef SDL_PROTOTYPES_ONLY\nstruct SDL_SysWMinfo;\n#else\n\n#if defined(SDL_VIDEO_DRIVER_WINDOWS)\n#ifndef WIN32_LEAN_AND_MEAN\n#define WIN32_LEAN_AND_MEAN\n#endif\n#include <windows.h>\n#endif\n\n#if defined(SDL_VIDEO_DRIVER_WINRT)\n#include <Inspectable.h>\n#endif\n\n/* This is the structure for custom window manager events */\n#if defined(SDL_VIDEO_DRIVER_X11)\n#if defined(__APPLE__) && defined(__MACH__)\n/* conflicts with Quickdraw.h */\n#define Cursor X11Cursor\n#endif\n\n#include <X11/Xlib.h>\n#include <X11/Xatom.h>\n\n#if defined(__APPLE__) && defined(__MACH__)\n/* matches the re-define above */\n#undef Cursor\n#endif\n\n#endif /* defined(SDL_VIDEO_DRIVER_X11) */\n\n#if defined(SDL_VIDEO_DRIVER_DIRECTFB)\n#include <directfb.h>\n#endif\n\n#if defined(SDL_VIDEO_DRIVER_COCOA)\n#ifdef __OBJC__\n@class NSWindow;\n#else\ntypedef struct _NSWindow NSWindow;\n#endif\n#endif\n\n#if defined(SDL_VIDEO_DRIVER_UIKIT)\n#ifdef __OBJC__\n#include <UIKit/UIKit.h>\n#else\ntypedef struct _UIWindow UIWindow;\ntypedef struct _UIViewController UIViewController;\n#endif\ntypedef Uint32 GLuint;\n#endif\n\n#if defined(SDL_VIDEO_DRIVER_ANDROID)\ntypedef struct ANativeWindow ANativeWindow;\ntypedef void *EGLSurface;\n#endif\n\n/**\n *  These are the various supported windowing subsystems\n */\ntypedef enum\n{\n    SDL_SYSWM_UNKNOWN,\n    SDL_SYSWM_WINDOWS,\n    SDL_SYSWM_X11,\n    SDL_SYSWM_DIRECTFB,\n    SDL_SYSWM_COCOA,\n    SDL_SYSWM_UIKIT,\n    SDL_SYSWM_WAYLAND,\n    SDL_SYSWM_MIR,\n    SDL_SYSWM_WINRT,\n    SDL_SYSWM_ANDROID\n} SDL_SYSWM_TYPE;\n\n/**\n *  The custom event structure.\n */\nstruct SDL_SysWMmsg\n{\n    SDL_version version;\n    SDL_SYSWM_TYPE subsystem;\n    union\n    {\n#if defined(SDL_VIDEO_DRIVER_WINDOWS)\n        struct {\n            HWND hwnd;                  /**< The window for the message */\n            UINT msg;                   /**< The type of message */\n            WPARAM wParam;              /**< WORD message parameter */\n            LPARAM lParam;              /**< LONG message parameter */\n        } win;\n#endif\n#if defined(SDL_VIDEO_DRIVER_X11)\n        struct {\n            XEvent event;\n        } x11;\n#endif\n#if defined(SDL_VIDEO_DRIVER_DIRECTFB)\n        struct {\n            DFBEvent event;\n        } dfb;\n#endif\n#if defined(SDL_VIDEO_DRIVER_COCOA)\n        struct\n        {\n            /* Latest version of Xcode clang complains about empty structs in C v. C++:\n                 error: empty struct has size 0 in C, size 1 in C++\n             */\n            int dummy;\n            /* No Cocoa window events yet */\n        } cocoa;\n#endif\n#if defined(SDL_VIDEO_DRIVER_UIKIT)\n        struct\n        {\n            int dummy;\n            /* No UIKit window events yet */\n        } uikit;\n#endif\n        /* Can't have an empty union */\n        int dummy;\n    } msg;\n};\n\n/**\n *  The custom window manager information structure.\n *\n *  When this structure is returned, it holds information about which\n *  low level system it is using, and will be one of SDL_SYSWM_TYPE.\n */\nstruct SDL_SysWMinfo\n{\n    SDL_version version;\n    SDL_SYSWM_TYPE subsystem;\n    union\n    {\n#if defined(SDL_VIDEO_DRIVER_WINDOWS)\n        struct\n        {\n            HWND window;                /**< The window handle */\n            HDC hdc;                    /**< The window device context */\n        } win;\n#endif\n#if defined(SDL_VIDEO_DRIVER_WINRT)\n        struct\n        {\n            IInspectable * window;      /**< The WinRT CoreWindow */\n        } winrt;\n#endif\n#if defined(SDL_VIDEO_DRIVER_X11)\n        struct\n        {\n            Display *display;           /**< The X11 display */\n            Window window;              /**< The X11 window */\n        } x11;\n#endif\n#if defined(SDL_VIDEO_DRIVER_DIRECTFB)\n        struct\n        {\n            IDirectFB *dfb;             /**< The directfb main interface */\n            IDirectFBWindow *window;    /**< The directfb window handle */\n            IDirectFBSurface *surface;  /**< The directfb client surface */\n        } dfb;\n#endif\n#if defined(SDL_VIDEO_DRIVER_COCOA)\n        struct\n        {\n#if defined(__OBJC__) && defined(__has_feature) && __has_feature(objc_arc)\n            NSWindow __unsafe_unretained *window; /* The Cocoa window */\n#else\n            NSWindow *window;                     /* The Cocoa window */\n#endif\n        } cocoa;\n#endif\n#if defined(SDL_VIDEO_DRIVER_UIKIT)\n        struct\n        {\n#if defined(__OBJC__) && defined(__has_feature) && __has_feature(objc_arc)\n            UIWindow __unsafe_unretained *window; /* The UIKit window */\n#else\n            UIWindow *window;                     /* The UIKit window */\n#endif\n            GLuint framebuffer; /* The GL view's Framebuffer Object. It must be bound when rendering to the screen using GL. */\n            GLuint colorbuffer; /* The GL view's color Renderbuffer Object. It must be bound when SDL_GL_SwapWindow is called. */\n            GLuint resolveFramebuffer; /* The Framebuffer Object which holds the resolve color Renderbuffer, when MSAA is used. */\n        } uikit;\n#endif\n#if defined(SDL_VIDEO_DRIVER_WAYLAND)\n        struct\n        {\n            struct wl_display *display;            /**< Wayland display */\n            struct wl_surface *surface;            /**< Wayland surface */\n            struct wl_shell_surface *shell_surface; /**< Wayland shell_surface (window manager handle) */\n        } wl;\n#endif\n#if defined(SDL_VIDEO_DRIVER_MIR)\n        struct\n        {\n            struct MirConnection *connection;  /**< Mir display server connection */\n            struct MirSurface *surface;  /**< Mir surface */\n        } mir;\n#endif\n\n#if defined(SDL_VIDEO_DRIVER_ANDROID)\n        struct\n        {\n            ANativeWindow *window;\n            EGLSurface surface;\n        } android;\n#endif\n\n        /* Can't have an empty union */\n        int dummy;\n    } info;\n};\n\n#endif /* SDL_PROTOTYPES_ONLY */\n\ntypedef struct SDL_SysWMinfo SDL_SysWMinfo;\n\n/* Function prototypes */\n/**\n *  \\brief This function allows access to driver-dependent window information.\n *\n *  \\param window The window about which information is being requested\n *  \\param info This structure must be initialized with the SDL version, and is\n *              then filled in with information about the given window.\n *\n *  \\return SDL_TRUE if the function is implemented and the version member of\n *          the \\c info struct is valid, SDL_FALSE otherwise.\n *\n *  You typically use this function like this:\n *  \\code\n *  SDL_SysWMinfo info;\n *  SDL_VERSION(&info.version);\n *  if ( SDL_GetWindowWMInfo(window, &info) ) { ... }\n *  \\endcode\n */\nextern DECLSPEC SDL_bool SDLCALL SDL_GetWindowWMInfo(SDL_Window * window,\n                                                     SDL_SysWMinfo * info);\n\n\n/* Ends C function definitions when using C++ */\n#ifdef __cplusplus\n}\n#endif\n#include \"close_code.h\"\n\n#endif /* _SDL_syswm_h */\n\n/* vi: set ts=4 sw=4 expandtab: */\n"
  },
  {
    "path": "external/SDL2-2.0.4/include/SDL_test.h",
    "content": "/*\n  Simple DirectMedia Layer\n  Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>\n\n  This software is provided 'as-is', without any express or implied\n  warranty.  In no event will the authors be held liable for any damages\n  arising from the use of this software.\n\n  Permission is granted to anyone to use this software for any purpose,\n  including commercial applications, and to alter it and redistribute it\n  freely, subject to the following restrictions:\n\n  1. The origin of this software must not be misrepresented; you must not\n     claim that you wrote the original software. If you use this software\n     in a product, an acknowledgment in the product documentation would be\n     appreciated but is not required.\n  2. Altered source versions must be plainly marked as such, and must not be\n     misrepresented as being the original software.\n  3. This notice may not be removed or altered from any source distribution.\n*/\n\n/**\n *  \\file SDL_test.h\n *\n *  Include file for SDL test framework.\n *\n *  This code is a part of the SDL2_test library, not the main SDL library.\n */\n\n#ifndef _SDL_test_h\n#define _SDL_test_h\n\n#include \"SDL.h\"\n#include \"SDL_test_common.h\"\n#include \"SDL_test_font.h\"\n#include \"SDL_test_random.h\"\n#include \"SDL_test_fuzzer.h\"\n#include \"SDL_test_crc32.h\"\n#include \"SDL_test_md5.h\"\n#include \"SDL_test_log.h\"\n#include \"SDL_test_assert.h\"\n#include \"SDL_test_harness.h\"\n#include \"SDL_test_images.h\"\n#include \"SDL_test_compare.h\"\n\n#include \"begin_code.h\"\n/* Set up for C function definitions, even when using C++ */\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n/* Global definitions */\n\n/*\n * Note: Maximum size of SDLTest log message is less than SDL's limit\n * to ensure we can fit additional information such as the timestamp.\n */\n#define SDLTEST_MAX_LOGMESSAGE_LENGTH   3584\n\n/* Ends C function definitions when using C++ */\n#ifdef __cplusplus\n}\n#endif\n#include \"close_code.h\"\n\n#endif /* _SDL_test_h */\n\n/* vi: set ts=4 sw=4 expandtab: */\n"
  },
  {
    "path": "external/SDL2-2.0.4/include/SDL_test_assert.h",
    "content": "/*\n  Simple DirectMedia Layer\n  Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>\n\n  This software is provided 'as-is', without any express or implied\n  warranty.  In no event will the authors be held liable for any damages\n  arising from the use of this software.\n\n  Permission is granted to anyone to use this software for any purpose,\n  including commercial applications, and to alter it and redistribute it\n  freely, subject to the following restrictions:\n\n  1. The origin of this software must not be misrepresented; you must not\n     claim that you wrote the original software. If you use this software\n     in a product, an acknowledgment in the product documentation would be\n     appreciated but is not required.\n  2. Altered source versions must be plainly marked as such, and must not be\n     misrepresented as being the original software.\n  3. This notice may not be removed or altered from any source distribution.\n*/\n\n/**\n *  \\file SDL_test_assert.h\n *\n *  Include file for SDL test framework.\n *\n *  This code is a part of the SDL2_test library, not the main SDL library.\n */\n\n/*\n *\n * Assert API for test code and test cases\n *\n */\n\n#ifndef _SDL_test_assert_h\n#define _SDL_test_assert_h\n\n#include \"begin_code.h\"\n/* Set up for C function definitions, even when using C++ */\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n/**\n * \\brief Fails the assert.\n */\n#define ASSERT_FAIL     0\n\n/**\n * \\brief Passes the assert.\n */\n#define ASSERT_PASS     1\n\n/**\n * \\brief Assert that logs and break execution flow on failures.\n *\n * \\param assertCondition Evaluated condition or variable to assert; fail (==0) or pass (!=0).\n * \\param assertDescription Message to log with the assert describing it.\n */\nvoid SDLTest_Assert(int assertCondition, SDL_PRINTF_FORMAT_STRING const char *assertDescription, ...) SDL_PRINTF_VARARG_FUNC(2);\n\n/**\n * \\brief Assert for test cases that logs but does not break execution flow on failures. Updates assertion counters.\n *\n * \\param assertCondition Evaluated condition or variable to assert; fail (==0) or pass (!=0).\n * \\param assertDescription Message to log with the assert describing it.\n *\n * \\returns Returns the assertCondition so it can be used to externally to break execution flow if desired.\n */\nint SDLTest_AssertCheck(int assertCondition, SDL_PRINTF_FORMAT_STRING const char *assertDescription, ...) SDL_PRINTF_VARARG_FUNC(2);\n\n/**\n * \\brief Explicitly pass without checking an assertion condition. Updates assertion counter.\n *\n * \\param assertDescription Message to log with the assert describing it.\n */\nvoid SDLTest_AssertPass(SDL_PRINTF_FORMAT_STRING const char *assertDescription, ...) SDL_PRINTF_VARARG_FUNC(1);\n\n/**\n * \\brief Resets the assert summary counters to zero.\n */\nvoid SDLTest_ResetAssertSummary();\n\n/**\n * \\brief Logs summary of all assertions (total, pass, fail) since last reset as INFO or ERROR.\n */\nvoid SDLTest_LogAssertSummary();\n\n\n/**\n * \\brief Converts the current assert summary state to a test result.\n *\n * \\returns TEST_RESULT_PASSED, TEST_RESULT_FAILED, or TEST_RESULT_NO_ASSERT\n */\nint SDLTest_AssertSummaryToTestResult();\n\n#ifdef __cplusplus\n}\n#endif\n#include \"close_code.h\"\n\n#endif /* _SDL_test_assert_h */\n\n/* vi: set ts=4 sw=4 expandtab: */\n"
  },
  {
    "path": "external/SDL2-2.0.4/include/SDL_test_common.h",
    "content": "/*\n  Simple DirectMedia Layer\n  Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>\n\n  This software is provided 'as-is', without any express or implied\n  warranty.  In no event will the authors be held liable for any damages\n  arising from the use of this software.\n\n  Permission is granted to anyone to use this software for any purpose,\n  including commercial applications, and to alter it and redistribute it\n  freely, subject to the following restrictions:\n\n  1. The origin of this software must not be misrepresented; you must not\n     claim that you wrote the original software. If you use this software\n     in a product, an acknowledgment in the product documentation would be\n     appreciated but is not required.\n  2. Altered source versions must be plainly marked as such, and must not be\n     misrepresented as being the original software.\n  3. This notice may not be removed or altered from any source distribution.\n*/\n\n/**\n *  \\file SDL_test_common.h\n *\n *  Include file for SDL test framework.\n *\n *  This code is a part of the SDL2_test library, not the main SDL library.\n */\n\n/* Ported from original test\\common.h file. */\n\n#ifndef _SDL_test_common_h\n#define _SDL_test_common_h\n\n#include \"SDL.h\"\n\n#if defined(__PSP__)\n#define DEFAULT_WINDOW_WIDTH  480\n#define DEFAULT_WINDOW_HEIGHT 272\n#else\n#define DEFAULT_WINDOW_WIDTH  640\n#define DEFAULT_WINDOW_HEIGHT 480\n#endif\n\n#define VERBOSE_VIDEO   0x00000001\n#define VERBOSE_MODES   0x00000002\n#define VERBOSE_RENDER  0x00000004\n#define VERBOSE_EVENT   0x00000008\n#define VERBOSE_AUDIO   0x00000010\n\ntypedef struct\n{\n    /* SDL init flags */\n    char **argv;\n    Uint32 flags;\n    Uint32 verbose;\n\n    /* Video info */\n    const char *videodriver;\n    int display;\n    const char *window_title;\n    const char *window_icon;\n    Uint32 window_flags;\n    int window_x;\n    int window_y;\n    int window_w;\n    int window_h;\n    int window_minW;\n    int window_minH;\n    int window_maxW;\n    int window_maxH;\n    int logical_w;\n    int logical_h;\n    float scale;\n    int depth;\n    int refresh_rate;\n    int num_windows;\n    SDL_Window **windows;\n\n    /* Renderer info */\n    const char *renderdriver;\n    Uint32 render_flags;\n    SDL_bool skip_renderer;\n    SDL_Renderer **renderers;\n    SDL_Texture **targets;\n\n    /* Audio info */\n    const char *audiodriver;\n    SDL_AudioSpec audiospec;\n\n    /* GL settings */\n    int gl_red_size;\n    int gl_green_size;\n    int gl_blue_size;\n    int gl_alpha_size;\n    int gl_buffer_size;\n    int gl_depth_size;\n    int gl_stencil_size;\n    int gl_double_buffer;\n    int gl_accum_red_size;\n    int gl_accum_green_size;\n    int gl_accum_blue_size;\n    int gl_accum_alpha_size;\n    int gl_stereo;\n    int gl_multisamplebuffers;\n    int gl_multisamplesamples;\n    int gl_retained_backing;\n    int gl_accelerated;\n    int gl_major_version;\n    int gl_minor_version;\n    int gl_debug;\n    int gl_profile_mask;\n} SDLTest_CommonState;\n\n#include \"begin_code.h\"\n/* Set up for C function definitions, even when using C++ */\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n/* Function prototypes */\n\n/**\n * \\brief Parse command line parameters and create common state.\n *\n * \\param argv Array of command line parameters\n * \\param flags Flags indicating which subsystem to initialize (i.e. SDL_INIT_VIDEO | SDL_INIT_AUDIO)\n *\n * \\returns Returns a newly allocated common state object.\n */\nSDLTest_CommonState *SDLTest_CommonCreateState(char **argv, Uint32 flags);\n\n/**\n * \\brief Process one common argument.\n *\n * \\param state The common state describing the test window to create.\n * \\param index The index of the argument to process in argv[].\n *\n * \\returns The number of arguments processed (i.e. 1 for --fullscreen, 2 for --video [videodriver], or -1 on error.\n */\nint SDLTest_CommonArg(SDLTest_CommonState * state, int index);\n\n/**\n * \\brief Returns common usage information\n *\n * \\param state The common state describing the test window to create.\n *\n * \\returns String with usage information\n */\nconst char *SDLTest_CommonUsage(SDLTest_CommonState * state);\n\n/**\n * \\brief Open test window.\n *\n * \\param state The common state describing the test window to create.\n *\n * \\returns True if initialization succeeded, false otherwise\n */\nSDL_bool SDLTest_CommonInit(SDLTest_CommonState * state);\n\n/**\n * \\brief Common event handler for test windows.\n *\n * \\param state The common state used to create test window.\n * \\param event The event to handle.\n * \\param done Flag indicating we are done.\n *\n */\nvoid SDLTest_CommonEvent(SDLTest_CommonState * state, SDL_Event * event, int *done);\n\n/**\n * \\brief Close test window.\n *\n * \\param state The common state used to create test window.\n *\n */\nvoid SDLTest_CommonQuit(SDLTest_CommonState * state);\n\n\n/* Ends C function definitions when using C++ */\n#ifdef __cplusplus\n}\n#endif\n#include \"close_code.h\"\n\n#endif /* _SDL_test_common_h */\n\n/* vi: set ts=4 sw=4 expandtab: */\n"
  },
  {
    "path": "external/SDL2-2.0.4/include/SDL_test_compare.h",
    "content": "/*\n  Simple DirectMedia Layer\n  Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>\n\n  This software is provided 'as-is', without any express or implied\n  warranty.  In no event will the authors be held liable for any damages\n  arising from the use of this software.\n\n  Permission is granted to anyone to use this software for any purpose,\n  including commercial applications, and to alter it and redistribute it\n  freely, subject to the following restrictions:\n\n  1. The origin of this software must not be misrepresented; you must not\n     claim that you wrote the original software. If you use this software\n     in a product, an acknowledgment in the product documentation would be\n     appreciated but is not required.\n  2. Altered source versions must be plainly marked as such, and must not be\n     misrepresented as being the original software.\n  3. This notice may not be removed or altered from any source distribution.\n*/\n\n/**\n *  \\file SDL_test_compare.h\n *\n *  Include file for SDL test framework.\n *\n *  This code is a part of the SDL2_test library, not the main SDL library.\n */\n\n/*\n\n Defines comparison functions (i.e. for surfaces).\n\n*/\n\n#ifndef _SDL_test_compare_h\n#define _SDL_test_compare_h\n\n#include \"SDL.h\"\n\n#include \"SDL_test_images.h\"\n\n#include \"begin_code.h\"\n/* Set up for C function definitions, even when using C++ */\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n/**\n * \\brief Compares a surface and with reference image data for equality\n *\n * \\param surface Surface used in comparison\n * \\param referenceSurface Test Surface used in comparison\n * \\param allowable_error Allowable difference (=sum of squared difference for each RGB component) in blending accuracy.\n *\n * \\returns 0 if comparison succeeded, >0 (=number of pixels for which the comparison failed) if comparison failed, -1 if any of the surfaces were NULL, -2 if the surface sizes differ.\n */\nint SDLTest_CompareSurfaces(SDL_Surface *surface, SDL_Surface *referenceSurface, int allowable_error);\n\n\n/* Ends C function definitions when using C++ */\n#ifdef __cplusplus\n}\n#endif\n#include \"close_code.h\"\n\n#endif /* _SDL_test_compare_h */\n\n/* vi: set ts=4 sw=4 expandtab: */\n"
  },
  {
    "path": "external/SDL2-2.0.4/include/SDL_test_crc32.h",
    "content": "/*\n  Simple DirectMedia Layer\n  Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>\n\n  This software is provided 'as-is', without any express or implied\n  warranty.  In no event will the authors be held liable for any damages\n  arising from the use of this software.\n\n  Permission is granted to anyone to use this software for any purpose,\n  including commercial applications, and to alter it and redistribute it\n  freely, subject to the following restrictions:\n\n  1. The origin of this software must not be misrepresented; you must not\n     claim that you wrote the original software. If you use this software\n     in a product, an acknowledgment in the product documentation would be\n     appreciated but is not required.\n  2. Altered source versions must be plainly marked as such, and must not be\n     misrepresented as being the original software.\n  3. This notice may not be removed or altered from any source distribution.\n*/\n\n/**\n *  \\file SDL_test_crc32.h\n *\n *  Include file for SDL test framework.\n *\n *  This code is a part of the SDL2_test library, not the main SDL library.\n */\n\n/*\n\n Implements CRC32 calculations (default output is Perl String::CRC32 compatible).\n\n*/\n\n#ifndef _SDL_test_crc32_h\n#define _SDL_test_crc32_h\n\n#include \"begin_code.h\"\n/* Set up for C function definitions, even when using C++ */\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n\n/* ------------ Definitions --------- */\n\n/* Definition shared by all CRC routines */\n\n#ifndef CrcUint32\n #define CrcUint32  unsigned int\n#endif\n#ifndef CrcUint8\n #define CrcUint8   unsigned char\n#endif\n\n#ifdef ORIGINAL_METHOD\n #define CRC32_POLY 0x04c11db7   /* AUTODIN II, Ethernet, & FDDI */\n#else\n #define CRC32_POLY 0xEDB88320   /* Perl String::CRC32 compatible */\n#endif\n\n/**\n * Data structure for CRC32 (checksum) computation\n */\n  typedef struct {\n    CrcUint32    crc32_table[256]; /* CRC table */\n  } SDLTest_Crc32Context;\n\n/* ---------- Function Prototypes ------------- */\n\n/**\n * \\brief Initialize the CRC context\n *\n * Note: The function initializes the crc table required for all crc calculations.\n *\n * \\param crcContext        pointer to context variable\n *\n * \\returns 0 for OK, -1 on error\n *\n */\n int SDLTest_Crc32Init(SDLTest_Crc32Context * crcContext);\n\n\n/**\n * \\brief calculate a crc32 from a data block\n *\n * \\param crcContext         pointer to context variable\n * \\param inBuf              input buffer to checksum\n * \\param inLen              length of input buffer\n * \\param crc32              pointer to Uint32 to store the final CRC into\n *\n * \\returns 0 for OK, -1 on error\n *\n */\nint SDLTest_crc32Calc(SDLTest_Crc32Context * crcContext, CrcUint8 *inBuf, CrcUint32 inLen, CrcUint32 *crc32);\n\n/* Same routine broken down into three steps */\nint SDLTest_Crc32CalcStart(SDLTest_Crc32Context * crcContext, CrcUint32 *crc32);\nint SDLTest_Crc32CalcEnd(SDLTest_Crc32Context * crcContext, CrcUint32 *crc32);\nint SDLTest_Crc32CalcBuffer(SDLTest_Crc32Context * crcContext, CrcUint8 *inBuf, CrcUint32 inLen, CrcUint32 *crc32);\n\n\n/**\n * \\brief clean up CRC context\n *\n * \\param crcContext        pointer to context variable\n *\n * \\returns 0 for OK, -1 on error\n *\n*/\n\nint SDLTest_Crc32Done(SDLTest_Crc32Context * crcContext);\n\n\n/* Ends C function definitions when using C++ */\n#ifdef __cplusplus\n}\n#endif\n#include \"close_code.h\"\n\n#endif /* _SDL_test_crc32_h */\n\n/* vi: set ts=4 sw=4 expandtab: */\n"
  },
  {
    "path": "external/SDL2-2.0.4/include/SDL_test_font.h",
    "content": "/*\n  Simple DirectMedia Layer\n  Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>\n\n  This software is provided 'as-is', without any express or implied\n  warranty.  In no event will the authors be held liable for any damages\n  arising from the use of this software.\n\n  Permission is granted to anyone to use this software for any purpose,\n  including commercial applications, and to alter it and redistribute it\n  freely, subject to the following restrictions:\n\n  1. The origin of this software must not be misrepresented; you must not\n     claim that you wrote the original software. If you use this software\n     in a product, an acknowledgment in the product documentation would be\n     appreciated but is not required.\n  2. Altered source versions must be plainly marked as such, and must not be\n     misrepresented as being the original software.\n  3. This notice may not be removed or altered from any source distribution.\n*/\n\n/**\n *  \\file SDL_test_font.h\n *\n *  Include file for SDL test framework.\n *\n *  This code is a part of the SDL2_test library, not the main SDL library.\n */\n\n#ifndef _SDL_test_font_h\n#define _SDL_test_font_h\n\n#include \"begin_code.h\"\n/* Set up for C function definitions, even when using C++ */\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n/* Function prototypes */\n\n#define FONT_CHARACTER_SIZE  8\n\n/**\n *  \\brief Draw a string in the currently set font.\n *\n *  \\param renderer The renderer to draw on.\n *  \\param x The X coordinate of the upper left corner of the character.\n *  \\param y The Y coordinate of the upper left corner of the character.\n *  \\param c The character to draw.\n *\n *  \\returns Returns 0 on success, -1 on failure.\n */\nint SDLTest_DrawCharacter( SDL_Renderer *renderer, int x, int y, char c );\n\n/**\n *  \\brief Draw a string in the currently set font.\n *\n *  \\param renderer The renderer to draw on.\n *  \\param x The X coordinate of the upper left corner of the string.\n *  \\param y The Y coordinate of the upper left corner of the string.\n *  \\param s The string to draw.\n *\n *  \\returns Returns 0 on success, -1 on failure.\n */\nint SDLTest_DrawString( SDL_Renderer * renderer, int x, int y, const char *s );\n\n\n/* Ends C function definitions when using C++ */\n#ifdef __cplusplus\n}\n#endif\n#include \"close_code.h\"\n\n#endif /* _SDL_test_font_h */\n\n/* vi: set ts=4 sw=4 expandtab: */\n"
  },
  {
    "path": "external/SDL2-2.0.4/include/SDL_test_fuzzer.h",
    "content": "/*\n  Simple DirectMedia Layer\n  Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>\n\n  This software is provided 'as-is', without any express or implied\n  warranty.  In no event will the authors be held liable for any damages\n  arising from the use of this software.\n\n  Permission is granted to anyone to use this software for any purpose,\n  including commercial applications, and to alter it and redistribute it\n  freely, subject to the following restrictions:\n\n  1. The origin of this software must not be misrepresented; you must not\n     claim that you wrote the original software. If you use this software\n     in a product, an acknowledgment in the product documentation would be\n     appreciated but is not required.\n  2. Altered source versions must be plainly marked as such, and must not be\n     misrepresented as being the original software.\n  3. This notice may not be removed or altered from any source distribution.\n*/\n\n/**\n *  \\file SDL_test_fuzzer.h\n *\n *  Include file for SDL test framework.\n *\n *  This code is a part of the SDL2_test library, not the main SDL library.\n */\n\n/*\n\n  Data generators for fuzzing test data in a reproducible way.\n\n*/\n\n#ifndef _SDL_test_fuzzer_h\n#define _SDL_test_fuzzer_h\n\n#include \"begin_code.h\"\n/* Set up for C function definitions, even when using C++ */\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n\n/*\n  Based on GSOC code by Markus Kauppila <markus.kauppila@gmail.com>\n*/\n\n\n/**\n * \\file\n * Note: The fuzzer implementation uses a static instance of random context\n * internally which makes it thread-UNsafe.\n */\n\n/**\n * Initializes the fuzzer for a test\n *\n * \\param execKey Execution \"Key\" that initializes the random number generator uniquely for the test.\n *\n */\nvoid SDLTest_FuzzerInit(Uint64 execKey);\n\n\n/**\n * Returns a random Uint8\n *\n * \\returns Generated integer\n */\nUint8 SDLTest_RandomUint8();\n\n/**\n * Returns a random Sint8\n *\n * \\returns Generated signed integer\n */\nSint8 SDLTest_RandomSint8();\n\n\n/**\n * Returns a random Uint16\n *\n * \\returns Generated integer\n */\nUint16 SDLTest_RandomUint16();\n\n/**\n * Returns a random Sint16\n *\n * \\returns Generated signed integer\n */\nSint16 SDLTest_RandomSint16();\n\n\n/**\n * Returns a random integer\n *\n * \\returns Generated integer\n */\nSint32 SDLTest_RandomSint32();\n\n\n/**\n * Returns a random positive integer\n *\n * \\returns Generated integer\n */\nUint32 SDLTest_RandomUint32();\n\n/**\n * Returns random Uint64.\n *\n * \\returns Generated integer\n */\nUint64 SDLTest_RandomUint64();\n\n\n/**\n * Returns random Sint64.\n *\n * \\returns Generated signed integer\n */\nSint64 SDLTest_RandomSint64();\n\n/**\n * \\returns random float in range [0.0 - 1.0[\n */\nfloat SDLTest_RandomUnitFloat();\n\n/**\n * \\returns random double in range [0.0 - 1.0[\n */\ndouble SDLTest_RandomUnitDouble();\n\n/**\n * \\returns random float.\n *\n */\nfloat SDLTest_RandomFloat();\n\n/**\n * \\returns random double.\n *\n */\ndouble SDLTest_RandomDouble();\n\n/**\n * Returns a random boundary value for Uint8 within the given boundaries.\n * Boundaries are inclusive, see the usage examples below. If validDomain\n * is true, the function will only return valid boundaries, otherwise non-valid\n * boundaries are also possible.\n * If boundary1 > boundary2, the values are swapped\n *\n * Usage examples:\n * RandomUint8BoundaryValue(10, 20, SDL_TRUE) returns 10, 11, 19 or 20\n * RandomUint8BoundaryValue(1, 20, SDL_FALSE) returns 0 or 21\n * RandomUint8BoundaryValue(0, 99, SDL_FALSE) returns 100\n * RandomUint8BoundaryValue(0, 255, SDL_FALSE) returns 0 (error set)\n *\n * \\param boundary1 Lower boundary limit\n * \\param boundary2 Upper boundary limit\n * \\param validDomain Should the generated boundary be valid (=within the bounds) or not?\n *\n * \\returns Random boundary value for the given range and domain or 0 with error set\n */\nUint8 SDLTest_RandomUint8BoundaryValue(Uint8 boundary1, Uint8 boundary2, SDL_bool validDomain);\n\n/**\n * Returns a random boundary value for Uint16 within the given boundaries.\n * Boundaries are inclusive, see the usage examples below. If validDomain\n * is true, the function will only return valid boundaries, otherwise non-valid\n * boundaries are also possible.\n * If boundary1 > boundary2, the values are swapped\n *\n * Usage examples:\n * RandomUint16BoundaryValue(10, 20, SDL_TRUE) returns 10, 11, 19 or 20\n * RandomUint16BoundaryValue(1, 20, SDL_FALSE) returns 0 or 21\n * RandomUint16BoundaryValue(0, 99, SDL_FALSE) returns 100\n * RandomUint16BoundaryValue(0, 0xFFFF, SDL_FALSE) returns 0 (error set)\n *\n * \\param boundary1 Lower boundary limit\n * \\param boundary2 Upper boundary limit\n * \\param validDomain Should the generated boundary be valid (=within the bounds) or not?\n *\n * \\returns Random boundary value for the given range and domain or 0 with error set\n */\nUint16 SDLTest_RandomUint16BoundaryValue(Uint16 boundary1, Uint16 boundary2, SDL_bool validDomain);\n\n/**\n * Returns a random boundary value for Uint32 within the given boundaries.\n * Boundaries are inclusive, see the usage examples below. If validDomain\n * is true, the function will only return valid boundaries, otherwise non-valid\n * boundaries are also possible.\n * If boundary1 > boundary2, the values are swapped\n *\n * Usage examples:\n * RandomUint32BoundaryValue(10, 20, SDL_TRUE) returns 10, 11, 19 or 20\n * RandomUint32BoundaryValue(1, 20, SDL_FALSE) returns 0 or 21\n * RandomUint32BoundaryValue(0, 99, SDL_FALSE) returns 100\n * RandomUint32BoundaryValue(0, 0xFFFFFFFF, SDL_FALSE) returns 0 (with error set)\n *\n * \\param boundary1 Lower boundary limit\n * \\param boundary2 Upper boundary limit\n * \\param validDomain Should the generated boundary be valid (=within the bounds) or not?\n *\n * \\returns Random boundary value for the given range and domain or 0 with error set\n */\nUint32 SDLTest_RandomUint32BoundaryValue(Uint32 boundary1, Uint32 boundary2, SDL_bool validDomain);\n\n/**\n * Returns a random boundary value for Uint64 within the given boundaries.\n * Boundaries are inclusive, see the usage examples below. If validDomain\n * is true, the function will only return valid boundaries, otherwise non-valid\n * boundaries are also possible.\n * If boundary1 > boundary2, the values are swapped\n *\n * Usage examples:\n * RandomUint64BoundaryValue(10, 20, SDL_TRUE) returns 10, 11, 19 or 20\n * RandomUint64BoundaryValue(1, 20, SDL_FALSE) returns 0 or 21\n * RandomUint64BoundaryValue(0, 99, SDL_FALSE) returns 100\n * RandomUint64BoundaryValue(0, 0xFFFFFFFFFFFFFFFF, SDL_FALSE) returns 0 (with error set)\n *\n * \\param boundary1 Lower boundary limit\n * \\param boundary2 Upper boundary limit\n * \\param validDomain Should the generated boundary be valid (=within the bounds) or not?\n *\n * \\returns Random boundary value for the given range and domain or 0 with error set\n */\nUint64 SDLTest_RandomUint64BoundaryValue(Uint64 boundary1, Uint64 boundary2, SDL_bool validDomain);\n\n/**\n * Returns a random boundary value for Sint8 within the given boundaries.\n * Boundaries are inclusive, see the usage examples below. If validDomain\n * is true, the function will only return valid boundaries, otherwise non-valid\n * boundaries are also possible.\n * If boundary1 > boundary2, the values are swapped\n *\n * Usage examples:\n * RandomSint8BoundaryValue(-10, 20, SDL_TRUE) returns -11, -10, 19 or 20\n * RandomSint8BoundaryValue(-100, -10, SDL_FALSE) returns -101 or -9\n * RandomSint8BoundaryValue(SINT8_MIN, 99, SDL_FALSE) returns 100\n * RandomSint8BoundaryValue(SINT8_MIN, SINT8_MAX, SDL_FALSE) returns SINT8_MIN (== error value) with error set\n *\n * \\param boundary1 Lower boundary limit\n * \\param boundary2 Upper boundary limit\n * \\param validDomain Should the generated boundary be valid (=within the bounds) or not?\n *\n * \\returns Random boundary value for the given range and domain or SINT8_MIN with error set\n */\nSint8 SDLTest_RandomSint8BoundaryValue(Sint8 boundary1, Sint8 boundary2, SDL_bool validDomain);\n\n\n/**\n * Returns a random boundary value for Sint16 within the given boundaries.\n * Boundaries are inclusive, see the usage examples below. If validDomain\n * is true, the function will only return valid boundaries, otherwise non-valid\n * boundaries are also possible.\n * If boundary1 > boundary2, the values are swapped\n *\n * Usage examples:\n * RandomSint16BoundaryValue(-10, 20, SDL_TRUE) returns -11, -10, 19 or 20\n * RandomSint16BoundaryValue(-100, -10, SDL_FALSE) returns -101 or -9\n * RandomSint16BoundaryValue(SINT16_MIN, 99, SDL_FALSE) returns 100\n * RandomSint16BoundaryValue(SINT16_MIN, SINT16_MAX, SDL_FALSE) returns SINT16_MIN (== error value) with error set\n *\n * \\param boundary1 Lower boundary limit\n * \\param boundary2 Upper boundary limit\n * \\param validDomain Should the generated boundary be valid (=within the bounds) or not?\n *\n * \\returns Random boundary value for the given range and domain or SINT16_MIN with error set\n */\nSint16 SDLTest_RandomSint16BoundaryValue(Sint16 boundary1, Sint16 boundary2, SDL_bool validDomain);\n\n/**\n * Returns a random boundary value for Sint32 within the given boundaries.\n * Boundaries are inclusive, see the usage examples below. If validDomain\n * is true, the function will only return valid boundaries, otherwise non-valid\n * boundaries are also possible.\n * If boundary1 > boundary2, the values are swapped\n *\n * Usage examples:\n * RandomSint32BoundaryValue(-10, 20, SDL_TRUE) returns -11, -10, 19 or 20\n * RandomSint32BoundaryValue(-100, -10, SDL_FALSE) returns -101 or -9\n * RandomSint32BoundaryValue(SINT32_MIN, 99, SDL_FALSE) returns 100\n * RandomSint32BoundaryValue(SINT32_MIN, SINT32_MAX, SDL_FALSE) returns SINT32_MIN (== error value)\n *\n * \\param boundary1 Lower boundary limit\n * \\param boundary2 Upper boundary limit\n * \\param validDomain Should the generated boundary be valid (=within the bounds) or not?\n *\n * \\returns Random boundary value for the given range and domain or SINT32_MIN with error set\n */\nSint32 SDLTest_RandomSint32BoundaryValue(Sint32 boundary1, Sint32 boundary2, SDL_bool validDomain);\n\n/**\n * Returns a random boundary value for Sint64 within the given boundaries.\n * Boundaries are inclusive, see the usage examples below. If validDomain\n * is true, the function will only return valid boundaries, otherwise non-valid\n * boundaries are also possible.\n * If boundary1 > boundary2, the values are swapped\n *\n * Usage examples:\n * RandomSint64BoundaryValue(-10, 20, SDL_TRUE) returns -11, -10, 19 or 20\n * RandomSint64BoundaryValue(-100, -10, SDL_FALSE) returns -101 or -9\n * RandomSint64BoundaryValue(SINT64_MIN, 99, SDL_FALSE) returns 100\n * RandomSint64BoundaryValue(SINT64_MIN, SINT64_MAX, SDL_FALSE) returns SINT64_MIN (== error value) and error set\n *\n * \\param boundary1 Lower boundary limit\n * \\param boundary2 Upper boundary limit\n * \\param validDomain Should the generated boundary be valid (=within the bounds) or not?\n *\n * \\returns Random boundary value for the given range and domain or SINT64_MIN with error set\n */\nSint64 SDLTest_RandomSint64BoundaryValue(Sint64 boundary1, Sint64 boundary2, SDL_bool validDomain);\n\n\n/**\n * Returns integer in range [min, max] (inclusive).\n * Min and max values can be negative values.\n * If Max in smaller than min, then the values are swapped.\n * Min and max are the same value, that value will be returned.\n *\n * \\param min Minimum inclusive value of returned random number\n * \\param max Maximum inclusive value of returned random number\n *\n * \\returns Generated random integer in range\n */\nSint32 SDLTest_RandomIntegerInRange(Sint32 min, Sint32 max);\n\n\n/**\n * Generates random null-terminated string. The minimum length for\n * the string is 1 character, maximum length for the string is 255\n * characters and it can contain ASCII characters from 32 to 126.\n *\n * Note: Returned string needs to be deallocated.\n *\n * \\returns Newly allocated random string; or NULL if length was invalid or string could not be allocated.\n */\nchar * SDLTest_RandomAsciiString();\n\n\n/**\n * Generates random null-terminated string. The maximum length for\n * the string is defined by the maxLength parameter.\n * String can contain ASCII characters from 32 to 126.\n *\n * Note: Returned string needs to be deallocated.\n *\n * \\param maxLength The maximum length of the generated string.\n *\n * \\returns Newly allocated random string; or NULL if maxLength was invalid or string could not be allocated.\n */\nchar * SDLTest_RandomAsciiStringWithMaximumLength(int maxLength);\n\n\n/**\n * Generates random null-terminated string. The length for\n * the string is defined by the size parameter.\n * String can contain ASCII characters from 32 to 126.\n *\n * Note: Returned string needs to be deallocated.\n *\n * \\param size The length of the generated string\n *\n * \\returns Newly allocated random string; or NULL if size was invalid or string could not be allocated.\n */\nchar * SDLTest_RandomAsciiStringOfSize(int size);\n\n/**\n * Returns the invocation count for the fuzzer since last ...FuzzerInit.\n */\nint SDLTest_GetFuzzerInvocationCount();\n\n/* Ends C function definitions when using C++ */\n#ifdef __cplusplus\n}\n#endif\n#include \"close_code.h\"\n\n#endif /* _SDL_test_fuzzer_h */\n\n/* vi: set ts=4 sw=4 expandtab: */\n"
  },
  {
    "path": "external/SDL2-2.0.4/include/SDL_test_harness.h",
    "content": "/*\n  Simple DirectMedia Layer\n  Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>\n\n  This software is provided 'as-is', without any express or implied\n  warranty.  In no event will the authors be held liable for any damages\n  arising from the use of this software.\n\n  Permission is granted to anyone to use this software for any purpose,\n  including commercial applications, and to alter it and redistribute it\n  freely, subject to the following restrictions:\n\n  1. The origin of this software must not be misrepresented; you must not\n     claim that you wrote the original software. If you use this software\n     in a product, an acknowledgment in the product documentation would be\n     appreciated but is not required.\n  2. Altered source versions must be plainly marked as such, and must not be\n     misrepresented as being the original software.\n  3. This notice may not be removed or altered from any source distribution.\n*/\n\n/**\n *  \\file SDL_test_harness.h\n *\n *  Include file for SDL test framework.\n *\n *  This code is a part of the SDL2_test library, not the main SDL library.\n */\n\n/*\n  Defines types for test case definitions and the test execution harness API.\n\n  Based on original GSOC code by Markus Kauppila <markus.kauppila@gmail.com>\n*/\n\n#ifndef _SDL_test_harness_h\n#define _SDL_test_harness_h\n\n#include \"begin_code.h\"\n/* Set up for C function definitions, even when using C++ */\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n\n/* ! Definitions for test case structures */\n#define TEST_ENABLED  1\n#define TEST_DISABLED 0\n\n/* ! Definition of all the possible test return values of the test case method */\n#define TEST_ABORTED        -1\n#define TEST_STARTED         0\n#define TEST_COMPLETED       1\n#define TEST_SKIPPED         2\n\n/* ! Definition of all the possible test results for the harness */\n#define TEST_RESULT_PASSED              0\n#define TEST_RESULT_FAILED              1\n#define TEST_RESULT_NO_ASSERT           2\n#define TEST_RESULT_SKIPPED             3\n#define TEST_RESULT_SETUP_FAILURE       4\n\n/* !< Function pointer to a test case setup function (run before every test) */\ntypedef void (*SDLTest_TestCaseSetUpFp)(void *arg);\n\n/* !< Function pointer to a test case function */\ntypedef int (*SDLTest_TestCaseFp)(void *arg);\n\n/* !< Function pointer to a test case teardown function (run after every test) */\ntypedef void  (*SDLTest_TestCaseTearDownFp)(void *arg);\n\n/**\n * Holds information about a single test case.\n */\ntypedef struct SDLTest_TestCaseReference {\n    /* !< Func2Stress */\n    SDLTest_TestCaseFp testCase;\n    /* !< Short name (or function name) \"Func2Stress\" */\n    char *name;\n    /* !< Long name or full description \"This test pushes func2() to the limit.\" */\n    char *description;\n    /* !< Set to TEST_ENABLED or TEST_DISABLED (test won't be run) */\n    int enabled;\n} SDLTest_TestCaseReference;\n\n/**\n * Holds information about a test suite (multiple test cases).\n */\ntypedef struct SDLTest_TestSuiteReference {\n    /* !< \"PlatformSuite\" */\n    char *name;\n    /* !< The function that is run before each test. NULL skips. */\n    SDLTest_TestCaseSetUpFp testSetUp;\n    /* !< The test cases that are run as part of the suite. Last item should be NULL. */\n    const SDLTest_TestCaseReference **testCases;\n    /* !< The function that is run after each test. NULL skips. */\n    SDLTest_TestCaseTearDownFp testTearDown;\n} SDLTest_TestSuiteReference;\n\n\n/**\n * \\brief Execute a test suite using the given run seed and execution key.\n *\n * \\param testSuites Suites containing the test case.\n * \\param userRunSeed Custom run seed provided by user, or NULL to autogenerate one.\n * \\param userExecKey Custom execution key provided by user, or 0 to autogenerate one.\n * \\param filter Filter specification. NULL disables. Case sensitive.\n * \\param testIterations Number of iterations to run each test case.\n *\n * \\returns Test run result; 0 when all tests passed, 1 if any tests failed.\n */\nint SDLTest_RunSuites(SDLTest_TestSuiteReference *testSuites[], const char *userRunSeed, Uint64 userExecKey, const char *filter, int testIterations);\n\n\n/* Ends C function definitions when using C++ */\n#ifdef __cplusplus\n}\n#endif\n#include \"close_code.h\"\n\n#endif /* _SDL_test_harness_h */\n\n/* vi: set ts=4 sw=4 expandtab: */\n"
  },
  {
    "path": "external/SDL2-2.0.4/include/SDL_test_images.h",
    "content": "/*\n  Simple DirectMedia Layer\n  Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>\n\n  This software is provided 'as-is', without any express or implied\n  warranty.  In no event will the authors be held liable for any damages\n  arising from the use of this software.\n\n  Permission is granted to anyone to use this software for any purpose,\n  including commercial applications, and to alter it and redistribute it\n  freely, subject to the following restrictions:\n\n  1. The origin of this software must not be misrepresented; you must not\n     claim that you wrote the original software. If you use this software\n     in a product, an acknowledgment in the product documentation would be\n     appreciated but is not required.\n  2. Altered source versions must be plainly marked as such, and must not be\n     misrepresented as being the original software.\n  3. This notice may not be removed or altered from any source distribution.\n*/\n\n/**\n *  \\file SDL_test_images.h\n *\n *  Include file for SDL test framework.\n *\n *  This code is a part of the SDL2_test library, not the main SDL library.\n */\n\n/*\n\n Defines some images for tests.\n\n*/\n\n#ifndef _SDL_test_images_h\n#define _SDL_test_images_h\n\n#include \"SDL.h\"\n\n#include \"begin_code.h\"\n/* Set up for C function definitions, even when using C++ */\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n/**\n *Type for test images.\n */\ntypedef struct SDLTest_SurfaceImage_s {\n  int width;\n  int height;\n  unsigned int bytes_per_pixel; /* 3:RGB, 4:RGBA */\n  const char *pixel_data;\n} SDLTest_SurfaceImage_t;\n\n/* Test images */\nSDL_Surface *SDLTest_ImageBlit();\nSDL_Surface *SDLTest_ImageBlitColor();\nSDL_Surface *SDLTest_ImageBlitAlpha();\nSDL_Surface *SDLTest_ImageBlitBlendAdd();\nSDL_Surface *SDLTest_ImageBlitBlend();\nSDL_Surface *SDLTest_ImageBlitBlendMod();\nSDL_Surface *SDLTest_ImageBlitBlendNone();\nSDL_Surface *SDLTest_ImageBlitBlendAll();\nSDL_Surface *SDLTest_ImageFace();\nSDL_Surface *SDLTest_ImagePrimitives();\nSDL_Surface *SDLTest_ImagePrimitivesBlend();\n\n/* Ends C function definitions when using C++ */\n#ifdef __cplusplus\n}\n#endif\n#include \"close_code.h\"\n\n#endif /* _SDL_test_images_h */\n\n/* vi: set ts=4 sw=4 expandtab: */\n"
  },
  {
    "path": "external/SDL2-2.0.4/include/SDL_test_log.h",
    "content": "/*\n  Simple DirectMedia Layer\n  Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>\n\n  This software is provided 'as-is', without any express or implied\n  warranty.  In no event will the authors be held liable for any damages\n  arising from the use of this software.\n\n  Permission is granted to anyone to use this software for any purpose,\n  including commercial applications, and to alter it and redistribute it\n  freely, subject to the following restrictions:\n\n  1. The origin of this software must not be misrepresented; you must not\n     claim that you wrote the original software. If you use this software\n     in a product, an acknowledgment in the product documentation would be\n     appreciated but is not required.\n  2. Altered source versions must be plainly marked as such, and must not be\n     misrepresented as being the original software.\n  3. This notice may not be removed or altered from any source distribution.\n*/\n\n/**\n *  \\file SDL_test_log.h\n *\n *  Include file for SDL test framework.\n *\n *  This code is a part of the SDL2_test library, not the main SDL library.\n */\n\n/*\n *\n *  Wrapper to log in the TEST category\n *\n */\n\n#ifndef _SDL_test_log_h\n#define _SDL_test_log_h\n\n#include \"begin_code.h\"\n/* Set up for C function definitions, even when using C++ */\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n/**\n * \\brief Prints given message with a timestamp in the TEST category and INFO priority.\n *\n * \\param fmt Message to be logged\n */\nvoid SDLTest_Log(SDL_PRINTF_FORMAT_STRING const char *fmt, ...) SDL_PRINTF_VARARG_FUNC(1);\n\n/**\n * \\brief Prints given message with a timestamp in the TEST category and the ERROR priority.\n *\n * \\param fmt Message to be logged\n */\nvoid SDLTest_LogError(SDL_PRINTF_FORMAT_STRING const char *fmt, ...) SDL_PRINTF_VARARG_FUNC(1);\n\n/* Ends C function definitions when using C++ */\n#ifdef __cplusplus\n}\n#endif\n#include \"close_code.h\"\n\n#endif /* _SDL_test_log_h */\n\n/* vi: set ts=4 sw=4 expandtab: */\n"
  },
  {
    "path": "external/SDL2-2.0.4/include/SDL_test_md5.h",
    "content": "/*\n  Simple DirectMedia Layer\n  Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>\n\n  This software is provided 'as-is', without any express or implied\n  warranty.  In no event will the authors be held liable for any damages\n  arising from the use of this software.\n\n  Permission is granted to anyone to use this software for any purpose,\n  including commercial applications, and to alter it and redistribute it\n  freely, subject to the following restrictions:\n\n  1. The origin of this software must not be misrepresented; you must not\n     claim that you wrote the original software. If you use this software\n     in a product, an acknowledgment in the product documentation would be\n     appreciated but is not required.\n  2. Altered source versions must be plainly marked as such, and must not be\n     misrepresented as being the original software.\n  3. This notice may not be removed or altered from any source distribution.\n*/\n\n/**\n *  \\file SDL_test_md5.h\n *\n *  Include file for SDL test framework.\n *\n *  This code is a part of the SDL2_test library, not the main SDL library.\n */\n\n/*\n ***********************************************************************\n ** Header file for implementation of MD5                             **\n ** RSA Data Security, Inc. MD5 Message-Digest Algorithm              **\n ** Created: 2/17/90 RLR                                              **\n ** Revised: 12/27/90 SRD,AJ,BSK,JT Reference C version               **\n ** Revised (for MD5): RLR 4/27/91                                    **\n **   -- G modified to have y&~z instead of y&z                       **\n **   -- FF, GG, HH modified to add in last register done             **\n **   -- Access pattern: round 2 works mod 5, round 3 works mod 3     **\n **   -- distinct additive constant for each step                     **\n **   -- round 4 added, working mod 7                                 **\n ***********************************************************************\n*/\n\n/*\n ***********************************************************************\n **  Message-digest routines:                                         **\n **  To form the message digest for a message M                       **\n **    (1) Initialize a context buffer mdContext using MD5Init        **\n **    (2) Call MD5Update on mdContext and M                          **\n **    (3) Call MD5Final on mdContext                                 **\n **  The message digest is now in mdContext->digest[0...15]           **\n ***********************************************************************\n*/\n\n#ifndef _SDL_test_md5_h\n#define _SDL_test_md5_h\n\n#include \"begin_code.h\"\n/* Set up for C function definitions, even when using C++ */\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n/* ------------ Definitions --------- */\n\n/* typedef a 32-bit type */\n  typedef unsigned long int MD5UINT4;\n\n/* Data structure for MD5 (Message-Digest) computation */\n  typedef struct {\n    MD5UINT4  i[2];     /* number of _bits_ handled mod 2^64 */\n    MD5UINT4  buf[4];       /* scratch buffer */\n    unsigned char in[64];   /* input buffer */\n    unsigned char digest[16];   /* actual digest after Md5Final call */\n  } SDLTest_Md5Context;\n\n/* ---------- Function Prototypes ------------- */\n\n/**\n * \\brief initialize the context\n *\n * \\param  mdContext        pointer to context variable\n *\n * Note: The function initializes the message-digest context\n *       mdContext. Call before each new use of the context -\n *       all fields are set to zero.\n */\n void SDLTest_Md5Init(SDLTest_Md5Context * mdContext);\n\n\n/**\n * \\brief update digest from variable length data\n *\n * \\param  mdContext       pointer to context variable\n * \\param  inBuf           pointer to data array/string\n * \\param  inLen           length of data array/string\n *\n * Note: The function updates the message-digest context to account\n *       for the presence of each of the characters inBuf[0..inLen-1]\n *       in the message whose digest is being computed.\n*/\n\n void SDLTest_Md5Update(SDLTest_Md5Context * mdContext, unsigned char *inBuf,\n                 unsigned int inLen);\n\n\n/**\n * \\brief complete digest computation\n *\n * \\param mdContext     pointer to context variable\n *\n * Note: The function terminates the message-digest computation and\n *       ends with the desired message digest in mdContext.digest[0..15].\n *       Always call before using the digest[] variable.\n*/\n\n void SDLTest_Md5Final(SDLTest_Md5Context * mdContext);\n\n\n/* Ends C function definitions when using C++ */\n#ifdef __cplusplus\n}\n#endif\n#include \"close_code.h\"\n\n#endif /* _SDL_test_md5_h */\n\n/* vi: set ts=4 sw=4 expandtab: */\n"
  },
  {
    "path": "external/SDL2-2.0.4/include/SDL_test_random.h",
    "content": "/*\n  Simple DirectMedia Layer\n  Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>\n\n  This software is provided 'as-is', without any express or implied\n  warranty.  In no event will the authors be held liable for any damages\n  arising from the use of this software.\n\n  Permission is granted to anyone to use this software for any purpose,\n  including commercial applications, and to alter it and redistribute it\n  freely, subject to the following restrictions:\n\n  1. The origin of this software must not be misrepresented; you must not\n     claim that you wrote the original software. If you use this software\n     in a product, an acknowledgment in the product documentation would be\n     appreciated but is not required.\n  2. Altered source versions must be plainly marked as such, and must not be\n     misrepresented as being the original software.\n  3. This notice may not be removed or altered from any source distribution.\n*/\n\n/**\n *  \\file SDL_test_random.h\n *\n *  Include file for SDL test framework.\n *\n *  This code is a part of the SDL2_test library, not the main SDL library.\n */\n\n/*\n\n A \"32-bit Multiply with carry random number generator. Very fast.\n Includes a list of recommended multipliers.\n\n multiply-with-carry generator: x(n) = a*x(n-1) + carry mod 2^32.\n period: (a*2^31)-1\n\n*/\n\n#ifndef _SDL_test_random_h\n#define _SDL_test_random_h\n\n#include \"begin_code.h\"\n/* Set up for C function definitions, even when using C++ */\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n/* --- Definitions */\n\n/*\n * Macros that return a random number in a specific format.\n */\n#define SDLTest_RandomInt(c)        ((int)SDLTest_Random(c))\n\n/*\n * Context structure for the random number generator state.\n */\n  typedef struct {\n    unsigned int a;\n    unsigned int x;\n    unsigned int c;\n    unsigned int ah;\n    unsigned int al;\n  } SDLTest_RandomContext;\n\n\n/* --- Function prototypes */\n\n/**\n *  \\brief Initialize random number generator with two integers.\n *\n *  Note: The random sequence of numbers returned by ...Random() is the\n *  same for the same two integers and has a period of 2^31.\n *\n *  \\param rndContext     pointer to context structure\n *  \\param xi         integer that defines the random sequence\n *  \\param ci         integer that defines the random sequence\n *\n */\n void SDLTest_RandomInit(SDLTest_RandomContext * rndContext, unsigned int xi,\n                  unsigned int ci);\n\n/**\n *  \\brief Initialize random number generator based on current system time.\n *\n *  \\param rndContext     pointer to context structure\n *\n */\n void SDLTest_RandomInitTime(SDLTest_RandomContext *rndContext);\n\n\n/**\n *  \\brief Initialize random number generator based on current system time.\n *\n *  Note: ...RandomInit() or ...RandomInitTime() must have been called\n *  before using this function.\n *\n *  \\param rndContext     pointer to context structure\n *\n *  \\returns A random number (32bit unsigned integer)\n *\n */\n unsigned int SDLTest_Random(SDLTest_RandomContext *rndContext);\n\n\n/* Ends C function definitions when using C++ */\n#ifdef __cplusplus\n}\n#endif\n#include \"close_code.h\"\n\n#endif /* _SDL_test_random_h */\n\n/* vi: set ts=4 sw=4 expandtab: */\n"
  },
  {
    "path": "external/SDL2-2.0.4/include/SDL_thread.h",
    "content": "/*\n  Simple DirectMedia Layer\n  Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>\n\n  This software is provided 'as-is', without any express or implied\n  warranty.  In no event will the authors be held liable for any damages\n  arising from the use of this software.\n\n  Permission is granted to anyone to use this software for any purpose,\n  including commercial applications, and to alter it and redistribute it\n  freely, subject to the following restrictions:\n\n  1. The origin of this software must not be misrepresented; you must not\n     claim that you wrote the original software. If you use this software\n     in a product, an acknowledgment in the product documentation would be\n     appreciated but is not required.\n  2. Altered source versions must be plainly marked as such, and must not be\n     misrepresented as being the original software.\n  3. This notice may not be removed or altered from any source distribution.\n*/\n\n#ifndef _SDL_thread_h\n#define _SDL_thread_h\n\n/**\n *  \\file SDL_thread.h\n *\n *  Header for the SDL thread management routines.\n */\n\n#include \"SDL_stdinc.h\"\n#include \"SDL_error.h\"\n\n/* Thread synchronization primitives */\n#include \"SDL_atomic.h\"\n#include \"SDL_mutex.h\"\n\n#include \"begin_code.h\"\n/* Set up for C function definitions, even when using C++ */\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n/* The SDL thread structure, defined in SDL_thread.c */\nstruct SDL_Thread;\ntypedef struct SDL_Thread SDL_Thread;\n\n/* The SDL thread ID */\ntypedef unsigned long SDL_threadID;\n\n/* Thread local storage ID, 0 is the invalid ID */\ntypedef unsigned int SDL_TLSID;\n\n/**\n *  The SDL thread priority.\n *\n *  \\note On many systems you require special privileges to set high priority.\n */\ntypedef enum {\n    SDL_THREAD_PRIORITY_LOW,\n    SDL_THREAD_PRIORITY_NORMAL,\n    SDL_THREAD_PRIORITY_HIGH\n} SDL_ThreadPriority;\n\n/**\n *  The function passed to SDL_CreateThread().\n *  It is passed a void* user context parameter and returns an int.\n */\ntypedef int (SDLCALL * SDL_ThreadFunction) (void *data);\n\n#if defined(__WIN32__) && !defined(HAVE_LIBC)\n/**\n *  \\file SDL_thread.h\n *\n *  We compile SDL into a DLL. This means, that it's the DLL which\n *  creates a new thread for the calling process with the SDL_CreateThread()\n *  API. There is a problem with this, that only the RTL of the SDL.DLL will\n *  be initialized for those threads, and not the RTL of the calling\n *  application!\n *\n *  To solve this, we make a little hack here.\n *\n *  We'll always use the caller's _beginthread() and _endthread() APIs to\n *  start a new thread. This way, if it's the SDL.DLL which uses this API,\n *  then the RTL of SDL.DLL will be used to create the new thread, and if it's\n *  the application, then the RTL of the application will be used.\n *\n *  So, in short:\n *  Always use the _beginthread() and _endthread() of the calling runtime\n *  library!\n */\n#define SDL_PASSED_BEGINTHREAD_ENDTHREAD\n#include <process.h>            /* This has _beginthread() and _endthread() defined! */\n\ntypedef uintptr_t(__cdecl * pfnSDL_CurrentBeginThread) (void *, unsigned,\n                                                        unsigned (__stdcall *\n                                                                  func) (void\n                                                                         *),\n                                                        void *arg, unsigned,\n                                                        unsigned *threadID);\ntypedef void (__cdecl * pfnSDL_CurrentEndThread) (unsigned code);\n\n/**\n *  Create a thread.\n */\nextern DECLSPEC SDL_Thread *SDLCALL\nSDL_CreateThread(SDL_ThreadFunction fn, const char *name, void *data,\n                 pfnSDL_CurrentBeginThread pfnBeginThread,\n                 pfnSDL_CurrentEndThread pfnEndThread);\n\n/**\n *  Create a thread.\n */\n#if defined(SDL_CreateThread) && SDL_DYNAMIC_API\n#undef SDL_CreateThread\n#define SDL_CreateThread(fn, name, data) SDL_CreateThread_REAL(fn, name, data, (pfnSDL_CurrentBeginThread)_beginthreadex, (pfnSDL_CurrentEndThread)_endthreadex)\n#else\n#define SDL_CreateThread(fn, name, data) SDL_CreateThread(fn, name, data, (pfnSDL_CurrentBeginThread)_beginthreadex, (pfnSDL_CurrentEndThread)_endthreadex)\n#endif\n\n#else\n\n/**\n *  Create a thread.\n *\n *   Thread naming is a little complicated: Most systems have very small\n *    limits for the string length (Haiku has 32 bytes, Linux currently has 16,\n *    Visual C++ 6.0 has nine!), and possibly other arbitrary rules. You'll\n *    have to see what happens with your system's debugger. The name should be\n *    UTF-8 (but using the naming limits of C identifiers is a better bet).\n *   There are no requirements for thread naming conventions, so long as the\n *    string is null-terminated UTF-8, but these guidelines are helpful in\n *    choosing a name:\n *\n *    http://stackoverflow.com/questions/149932/naming-conventions-for-threads\n *\n *   If a system imposes requirements, SDL will try to munge the string for\n *    it (truncate, etc), but the original string contents will be available\n *    from SDL_GetThreadName().\n */\nextern DECLSPEC SDL_Thread *SDLCALL\nSDL_CreateThread(SDL_ThreadFunction fn, const char *name, void *data);\n\n#endif\n\n/**\n * Get the thread name, as it was specified in SDL_CreateThread().\n *  This function returns a pointer to a UTF-8 string that names the\n *  specified thread, or NULL if it doesn't have a name. This is internal\n *  memory, not to be free()'d by the caller, and remains valid until the\n *  specified thread is cleaned up by SDL_WaitThread().\n */\nextern DECLSPEC const char *SDLCALL SDL_GetThreadName(SDL_Thread *thread);\n\n/**\n *  Get the thread identifier for the current thread.\n */\nextern DECLSPEC SDL_threadID SDLCALL SDL_ThreadID(void);\n\n/**\n *  Get the thread identifier for the specified thread.\n *\n *  Equivalent to SDL_ThreadID() if the specified thread is NULL.\n */\nextern DECLSPEC SDL_threadID SDLCALL SDL_GetThreadID(SDL_Thread * thread);\n\n/**\n *  Set the priority for the current thread\n */\nextern DECLSPEC int SDLCALL SDL_SetThreadPriority(SDL_ThreadPriority priority);\n\n/**\n *  Wait for a thread to finish. Threads that haven't been detached will\n *  remain (as a \"zombie\") until this function cleans them up. Not doing so\n *  is a resource leak.\n *\n *  Once a thread has been cleaned up through this function, the SDL_Thread\n *  that references it becomes invalid and should not be referenced again.\n *  As such, only one thread may call SDL_WaitThread() on another.\n *\n *  The return code for the thread function is placed in the area\n *  pointed to by \\c status, if \\c status is not NULL.\n *\n *  You may not wait on a thread that has been used in a call to\n *  SDL_DetachThread(). Use either that function or this one, but not\n *  both, or behavior is undefined.\n *\n *  It is safe to pass NULL to this function; it is a no-op.\n */\nextern DECLSPEC void SDLCALL SDL_WaitThread(SDL_Thread * thread, int *status);\n\n/**\n *  A thread may be \"detached\" to signify that it should not remain until\n *  another thread has called SDL_WaitThread() on it. Detaching a thread\n *  is useful for long-running threads that nothing needs to synchronize\n *  with or further manage. When a detached thread is done, it simply\n *  goes away.\n *\n *  There is no way to recover the return code of a detached thread. If you\n *  need this, don't detach the thread and instead use SDL_WaitThread().\n *\n *  Once a thread is detached, you should usually assume the SDL_Thread isn't\n *  safe to reference again, as it will become invalid immediately upon\n *  the detached thread's exit, instead of remaining until someone has called\n *  SDL_WaitThread() to finally clean it up. As such, don't detach the same\n *  thread more than once.\n *\n *  If a thread has already exited when passed to SDL_DetachThread(), it will\n *  stop waiting for a call to SDL_WaitThread() and clean up immediately.\n *  It is not safe to detach a thread that might be used with SDL_WaitThread().\n *\n *  You may not call SDL_WaitThread() on a thread that has been detached.\n *  Use either that function or this one, but not both, or behavior is\n *  undefined.\n *\n *  It is safe to pass NULL to this function; it is a no-op.\n */\nextern DECLSPEC void SDLCALL SDL_DetachThread(SDL_Thread * thread);\n\n/**\n *  \\brief Create an identifier that is globally visible to all threads but refers to data that is thread-specific.\n *\n *  \\return The newly created thread local storage identifier, or 0 on error\n *\n *  \\code\n *  static SDL_SpinLock tls_lock;\n *  static SDL_TLSID thread_local_storage;\n * \n *  void SetMyThreadData(void *value)\n *  {\n *      if (!thread_local_storage) {\n *          SDL_AtomicLock(&tls_lock);\n *          if (!thread_local_storage) {\n *              thread_local_storage = SDL_TLSCreate();\n *          }\n *          SDL_AtomicUnlock(&tls_lock);\n *      }\n *      SDL_TLSSet(thread_local_storage, value, 0);\n *  }\n *  \n *  void *GetMyThreadData(void)\n *  {\n *      return SDL_TLSGet(thread_local_storage);\n *  }\n *  \\endcode\n *\n *  \\sa SDL_TLSGet()\n *  \\sa SDL_TLSSet()\n */\nextern DECLSPEC SDL_TLSID SDLCALL SDL_TLSCreate(void);\n\n/**\n *  \\brief Get the value associated with a thread local storage ID for the current thread.\n *\n *  \\param id The thread local storage ID\n *\n *  \\return The value associated with the ID for the current thread, or NULL if no value has been set.\n *\n *  \\sa SDL_TLSCreate()\n *  \\sa SDL_TLSSet()\n */\nextern DECLSPEC void * SDLCALL SDL_TLSGet(SDL_TLSID id);\n\n/**\n *  \\brief Set the value associated with a thread local storage ID for the current thread.\n *\n *  \\param id The thread local storage ID\n *  \\param value The value to associate with the ID for the current thread\n *  \\param destructor A function called when the thread exits, to free the value.\n *\n *  \\return 0 on success, -1 on error\n *\n *  \\sa SDL_TLSCreate()\n *  \\sa SDL_TLSGet()\n */\nextern DECLSPEC int SDLCALL SDL_TLSSet(SDL_TLSID id, const void *value, void (*destructor)(void*));\n\n\n/* Ends C function definitions when using C++ */\n#ifdef __cplusplus\n}\n#endif\n#include \"close_code.h\"\n\n#endif /* _SDL_thread_h */\n\n/* vi: set ts=4 sw=4 expandtab: */\n"
  },
  {
    "path": "external/SDL2-2.0.4/include/SDL_timer.h",
    "content": "/*\n  Simple DirectMedia Layer\n  Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>\n\n  This software is provided 'as-is', without any express or implied\n  warranty.  In no event will the authors be held liable for any damages\n  arising from the use of this software.\n\n  Permission is granted to anyone to use this software for any purpose,\n  including commercial applications, and to alter it and redistribute it\n  freely, subject to the following restrictions:\n\n  1. The origin of this software must not be misrepresented; you must not\n     claim that you wrote the original software. If you use this software\n     in a product, an acknowledgment in the product documentation would be\n     appreciated but is not required.\n  2. Altered source versions must be plainly marked as such, and must not be\n     misrepresented as being the original software.\n  3. This notice may not be removed or altered from any source distribution.\n*/\n\n#ifndef _SDL_timer_h\n#define _SDL_timer_h\n\n/**\n *  \\file SDL_timer.h\n *\n *  Header for the SDL time management routines.\n */\n\n#include \"SDL_stdinc.h\"\n#include \"SDL_error.h\"\n\n#include \"begin_code.h\"\n/* Set up for C function definitions, even when using C++ */\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n/**\n * \\brief Get the number of milliseconds since the SDL library initialization.\n *\n * \\note This value wraps if the program runs for more than ~49 days.\n */\nextern DECLSPEC Uint32 SDLCALL SDL_GetTicks(void);\n\n/**\n * \\brief Compare SDL ticks values, and return true if A has passed B\n *\n * e.g. if you want to wait 100 ms, you could do this:\n *  Uint32 timeout = SDL_GetTicks() + 100;\n *  while (!SDL_TICKS_PASSED(SDL_GetTicks(), timeout)) {\n *      ... do work until timeout has elapsed\n *  }\n */\n#define SDL_TICKS_PASSED(A, B)  ((Sint32)((B) - (A)) <= 0)\n\n/**\n * \\brief Get the current value of the high resolution counter\n */\nextern DECLSPEC Uint64 SDLCALL SDL_GetPerformanceCounter(void);\n\n/**\n * \\brief Get the count per second of the high resolution counter\n */\nextern DECLSPEC Uint64 SDLCALL SDL_GetPerformanceFrequency(void);\n\n/**\n * \\brief Wait a specified number of milliseconds before returning.\n */\nextern DECLSPEC void SDLCALL SDL_Delay(Uint32 ms);\n\n/**\n *  Function prototype for the timer callback function.\n *\n *  The callback function is passed the current timer interval and returns\n *  the next timer interval.  If the returned value is the same as the one\n *  passed in, the periodic alarm continues, otherwise a new alarm is\n *  scheduled.  If the callback returns 0, the periodic alarm is cancelled.\n */\ntypedef Uint32 (SDLCALL * SDL_TimerCallback) (Uint32 interval, void *param);\n\n/**\n * Definition of the timer ID type.\n */\ntypedef int SDL_TimerID;\n\n/**\n * \\brief Add a new timer to the pool of timers already running.\n *\n * \\return A timer ID, or 0 when an error occurs.\n */\nextern DECLSPEC SDL_TimerID SDLCALL SDL_AddTimer(Uint32 interval,\n                                                 SDL_TimerCallback callback,\n                                                 void *param);\n\n/**\n * \\brief Remove a timer knowing its ID.\n *\n * \\return A boolean value indicating success or failure.\n *\n * \\warning It is not safe to remove a timer multiple times.\n */\nextern DECLSPEC SDL_bool SDLCALL SDL_RemoveTimer(SDL_TimerID id);\n\n\n/* Ends C function definitions when using C++ */\n#ifdef __cplusplus\n}\n#endif\n#include \"close_code.h\"\n\n#endif /* _SDL_timer_h */\n\n/* vi: set ts=4 sw=4 expandtab: */\n"
  },
  {
    "path": "external/SDL2-2.0.4/include/SDL_touch.h",
    "content": "/*\n  Simple DirectMedia Layer\n  Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>\n\n  This software is provided 'as-is', without any express or implied\n  warranty.  In no event will the authors be held liable for any damages\n  arising from the use of this software.\n\n  Permission is granted to anyone to use this software for any purpose,\n  including commercial applications, and to alter it and redistribute it\n  freely, subject to the following restrictions:\n\n  1. The origin of this software must not be misrepresented; you must not\n     claim that you wrote the original software. If you use this software\n     in a product, an acknowledgment in the product documentation would be\n     appreciated but is not required.\n  2. Altered source versions must be plainly marked as such, and must not be\n     misrepresented as being the original software.\n  3. This notice may not be removed or altered from any source distribution.\n*/\n\n/**\n *  \\file SDL_touch.h\n *\n *  Include file for SDL touch event handling.\n */\n\n#ifndef _SDL_touch_h\n#define _SDL_touch_h\n\n#include \"SDL_stdinc.h\"\n#include \"SDL_error.h\"\n#include \"SDL_video.h\"\n\n#include \"begin_code.h\"\n/* Set up for C function definitions, even when using C++ */\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\ntypedef Sint64 SDL_TouchID;\ntypedef Sint64 SDL_FingerID;\n\ntypedef struct SDL_Finger\n{\n    SDL_FingerID id;\n    float x;\n    float y;\n    float pressure;\n} SDL_Finger;\n\n/* Used as the device ID for mouse events simulated with touch input */\n#define SDL_TOUCH_MOUSEID ((Uint32)-1)\n\n\n/* Function prototypes */\n\n/**\n *  \\brief Get the number of registered touch devices.\n */\nextern DECLSPEC int SDLCALL SDL_GetNumTouchDevices(void);\n\n/**\n *  \\brief Get the touch ID with the given index, or 0 if the index is invalid.\n */\nextern DECLSPEC SDL_TouchID SDLCALL SDL_GetTouchDevice(int index);\n\n/**\n *  \\brief Get the number of active fingers for a given touch device.\n */\nextern DECLSPEC int SDLCALL SDL_GetNumTouchFingers(SDL_TouchID touchID);\n\n/**\n *  \\brief Get the finger object of the given touch, with the given index.\n */\nextern DECLSPEC SDL_Finger * SDLCALL SDL_GetTouchFinger(SDL_TouchID touchID, int index);\n\n/* Ends C function definitions when using C++ */\n#ifdef __cplusplus\n}\n#endif\n#include \"close_code.h\"\n\n#endif /* _SDL_touch_h */\n\n/* vi: set ts=4 sw=4 expandtab: */\n"
  },
  {
    "path": "external/SDL2-2.0.4/include/SDL_types.h",
    "content": "/*\n  Simple DirectMedia Layer\n  Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>\n\n  This software is provided 'as-is', without any express or implied\n  warranty.  In no event will the authors be held liable for any damages\n  arising from the use of this software.\n\n  Permission is granted to anyone to use this software for any purpose,\n  including commercial applications, and to alter it and redistribute it\n  freely, subject to the following restrictions:\n\n  1. The origin of this software must not be misrepresented; you must not\n     claim that you wrote the original software. If you use this software\n     in a product, an acknowledgment in the product documentation would be\n     appreciated but is not required.\n  2. Altered source versions must be plainly marked as such, and must not be\n     misrepresented as being the original software.\n  3. This notice may not be removed or altered from any source distribution.\n*/\n\n/**\n *  \\file SDL_types.h\n *\n *  \\deprecated\n */\n\n/* DEPRECATED */\n#include \"SDL_stdinc.h\"\n"
  },
  {
    "path": "external/SDL2-2.0.4/include/SDL_version.h",
    "content": "/*\n  Simple DirectMedia Layer\n  Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>\n\n  This software is provided 'as-is', without any express or implied\n  warranty.  In no event will the authors be held liable for any damages\n  arising from the use of this software.\n\n  Permission is granted to anyone to use this software for any purpose,\n  including commercial applications, and to alter it and redistribute it\n  freely, subject to the following restrictions:\n\n  1. The origin of this software must not be misrepresented; you must not\n     claim that you wrote the original software. If you use this software\n     in a product, an acknowledgment in the product documentation would be\n     appreciated but is not required.\n  2. Altered source versions must be plainly marked as such, and must not be\n     misrepresented as being the original software.\n  3. This notice may not be removed or altered from any source distribution.\n*/\n\n/**\n *  \\file SDL_version.h\n *\n *  This header defines the current SDL version.\n */\n\n#ifndef _SDL_version_h\n#define _SDL_version_h\n\n#include \"SDL_stdinc.h\"\n\n#include \"begin_code.h\"\n/* Set up for C function definitions, even when using C++ */\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n/**\n *  \\brief Information the version of SDL in use.\n *\n *  Represents the library's version as three levels: major revision\n *  (increments with massive changes, additions, and enhancements),\n *  minor revision (increments with backwards-compatible changes to the\n *  major revision), and patchlevel (increments with fixes to the minor\n *  revision).\n *\n *  \\sa SDL_VERSION\n *  \\sa SDL_GetVersion\n */\ntypedef struct SDL_version\n{\n    Uint8 major;        /**< major version */\n    Uint8 minor;        /**< minor version */\n    Uint8 patch;        /**< update version */\n} SDL_version;\n\n/* Printable format: \"%d.%d.%d\", MAJOR, MINOR, PATCHLEVEL\n*/\n#define SDL_MAJOR_VERSION   2\n#define SDL_MINOR_VERSION   0\n#define SDL_PATCHLEVEL      4\n\n/**\n *  \\brief Macro to determine SDL version program was compiled against.\n *\n *  This macro fills in a SDL_version structure with the version of the\n *  library you compiled against. This is determined by what header the\n *  compiler uses. Note that if you dynamically linked the library, you might\n *  have a slightly newer or older version at runtime. That version can be\n *  determined with SDL_GetVersion(), which, unlike SDL_VERSION(),\n *  is not a macro.\n *\n *  \\param x A pointer to a SDL_version struct to initialize.\n *\n *  \\sa SDL_version\n *  \\sa SDL_GetVersion\n */\n#define SDL_VERSION(x)                          \\\n{                                   \\\n    (x)->major = SDL_MAJOR_VERSION;                 \\\n    (x)->minor = SDL_MINOR_VERSION;                 \\\n    (x)->patch = SDL_PATCHLEVEL;                    \\\n}\n\n/**\n *  This macro turns the version numbers into a numeric value:\n *  \\verbatim\n    (1,2,3) -> (1203)\n    \\endverbatim\n *\n *  This assumes that there will never be more than 100 patchlevels.\n */\n#define SDL_VERSIONNUM(X, Y, Z)                     \\\n    ((X)*1000 + (Y)*100 + (Z))\n\n/**\n *  This is the version number macro for the current SDL version.\n */\n#define SDL_COMPILEDVERSION \\\n    SDL_VERSIONNUM(SDL_MAJOR_VERSION, SDL_MINOR_VERSION, SDL_PATCHLEVEL)\n\n/**\n *  This macro will evaluate to true if compiled with SDL at least X.Y.Z.\n */\n#define SDL_VERSION_ATLEAST(X, Y, Z) \\\n    (SDL_COMPILEDVERSION >= SDL_VERSIONNUM(X, Y, Z))\n\n/**\n *  \\brief Get the version of SDL that is linked against your program.\n *\n *  If you are linking to SDL dynamically, then it is possible that the\n *  current version will be different than the version you compiled against.\n *  This function returns the current version, while SDL_VERSION() is a\n *  macro that tells you what version you compiled with.\n *\n *  \\code\n *  SDL_version compiled;\n *  SDL_version linked;\n *\n *  SDL_VERSION(&compiled);\n *  SDL_GetVersion(&linked);\n *  printf(\"We compiled against SDL version %d.%d.%d ...\\n\",\n *         compiled.major, compiled.minor, compiled.patch);\n *  printf(\"But we linked against SDL version %d.%d.%d.\\n\",\n *         linked.major, linked.minor, linked.patch);\n *  \\endcode\n *\n *  This function may be called safely at any time, even before SDL_Init().\n *\n *  \\sa SDL_VERSION\n */\nextern DECLSPEC void SDLCALL SDL_GetVersion(SDL_version * ver);\n\n/**\n *  \\brief Get the code revision of SDL that is linked against your program.\n *\n *  Returns an arbitrary string (a hash value) uniquely identifying the\n *  exact revision of the SDL library in use, and is only useful in comparing\n *  against other revisions. It is NOT an incrementing number.\n */\nextern DECLSPEC const char *SDLCALL SDL_GetRevision(void);\n\n/**\n *  \\brief Get the revision number of SDL that is linked against your program.\n *\n *  Returns a number uniquely identifying the exact revision of the SDL\n *  library in use. It is an incrementing number based on commits to\n *  hg.libsdl.org.\n */\nextern DECLSPEC int SDLCALL SDL_GetRevisionNumber(void);\n\n\n/* Ends C function definitions when using C++ */\n#ifdef __cplusplus\n}\n#endif\n#include \"close_code.h\"\n\n#endif /* _SDL_version_h */\n\n/* vi: set ts=4 sw=4 expandtab: */\n"
  },
  {
    "path": "external/SDL2-2.0.4/include/SDL_video.h",
    "content": "/*\n  Simple DirectMedia Layer\n  Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>\n\n  This software is provided 'as-is', without any express or implied\n  warranty.  In no event will the authors be held liable for any damages\n  arising from the use of this software.\n\n  Permission is granted to anyone to use this software for any purpose,\n  including commercial applications, and to alter it and redistribute it\n  freely, subject to the following restrictions:\n\n  1. The origin of this software must not be misrepresented; you must not\n     claim that you wrote the original software. If you use this software\n     in a product, an acknowledgment in the product documentation would be\n     appreciated but is not required.\n  2. Altered source versions must be plainly marked as such, and must not be\n     misrepresented as being the original software.\n  3. This notice may not be removed or altered from any source distribution.\n*/\n\n/**\n *  \\file SDL_video.h\n *\n *  Header file for SDL video functions.\n */\n\n#ifndef _SDL_video_h\n#define _SDL_video_h\n\n#include \"SDL_stdinc.h\"\n#include \"SDL_pixels.h\"\n#include \"SDL_rect.h\"\n#include \"SDL_surface.h\"\n\n#include \"begin_code.h\"\n/* Set up for C function definitions, even when using C++ */\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n/**\n *  \\brief  The structure that defines a display mode\n *\n *  \\sa SDL_GetNumDisplayModes()\n *  \\sa SDL_GetDisplayMode()\n *  \\sa SDL_GetDesktopDisplayMode()\n *  \\sa SDL_GetCurrentDisplayMode()\n *  \\sa SDL_GetClosestDisplayMode()\n *  \\sa SDL_SetWindowDisplayMode()\n *  \\sa SDL_GetWindowDisplayMode()\n */\ntypedef struct\n{\n    Uint32 format;              /**< pixel format */\n    int w;                      /**< width, in screen coordinates */\n    int h;                      /**< height, in screen coordinates */\n    int refresh_rate;           /**< refresh rate (or zero for unspecified) */\n    void *driverdata;           /**< driver-specific data, initialize to 0 */\n} SDL_DisplayMode;\n\n/**\n *  \\brief The type used to identify a window\n *\n *  \\sa SDL_CreateWindow()\n *  \\sa SDL_CreateWindowFrom()\n *  \\sa SDL_DestroyWindow()\n *  \\sa SDL_GetWindowData()\n *  \\sa SDL_GetWindowFlags()\n *  \\sa SDL_GetWindowGrab()\n *  \\sa SDL_GetWindowPosition()\n *  \\sa SDL_GetWindowSize()\n *  \\sa SDL_GetWindowTitle()\n *  \\sa SDL_HideWindow()\n *  \\sa SDL_MaximizeWindow()\n *  \\sa SDL_MinimizeWindow()\n *  \\sa SDL_RaiseWindow()\n *  \\sa SDL_RestoreWindow()\n *  \\sa SDL_SetWindowData()\n *  \\sa SDL_SetWindowFullscreen()\n *  \\sa SDL_SetWindowGrab()\n *  \\sa SDL_SetWindowIcon()\n *  \\sa SDL_SetWindowPosition()\n *  \\sa SDL_SetWindowSize()\n *  \\sa SDL_SetWindowBordered()\n *  \\sa SDL_SetWindowTitle()\n *  \\sa SDL_ShowWindow()\n */\ntypedef struct SDL_Window SDL_Window;\n\n/**\n *  \\brief The flags on a window\n *\n *  \\sa SDL_GetWindowFlags()\n */\ntypedef enum\n{\n    SDL_WINDOW_FULLSCREEN = 0x00000001,         /**< fullscreen window */\n    SDL_WINDOW_OPENGL = 0x00000002,             /**< window usable with OpenGL context */\n    SDL_WINDOW_SHOWN = 0x00000004,              /**< window is visible */\n    SDL_WINDOW_HIDDEN = 0x00000008,             /**< window is not visible */\n    SDL_WINDOW_BORDERLESS = 0x00000010,         /**< no window decoration */\n    SDL_WINDOW_RESIZABLE = 0x00000020,          /**< window can be resized */\n    SDL_WINDOW_MINIMIZED = 0x00000040,          /**< window is minimized */\n    SDL_WINDOW_MAXIMIZED = 0x00000080,          /**< window is maximized */\n    SDL_WINDOW_INPUT_GRABBED = 0x00000100,      /**< window has grabbed input focus */\n    SDL_WINDOW_INPUT_FOCUS = 0x00000200,        /**< window has input focus */\n    SDL_WINDOW_MOUSE_FOCUS = 0x00000400,        /**< window has mouse focus */\n    SDL_WINDOW_FULLSCREEN_DESKTOP = ( SDL_WINDOW_FULLSCREEN | 0x00001000 ),\n    SDL_WINDOW_FOREIGN = 0x00000800,            /**< window not created by SDL */\n    SDL_WINDOW_ALLOW_HIGHDPI = 0x00002000,      /**< window should be created in high-DPI mode if supported */\n    SDL_WINDOW_MOUSE_CAPTURE = 0x00004000       /**< window has mouse captured (unrelated to INPUT_GRABBED) */\n} SDL_WindowFlags;\n\n/**\n *  \\brief Used to indicate that you don't care what the window position is.\n */\n#define SDL_WINDOWPOS_UNDEFINED_MASK    0x1FFF0000\n#define SDL_WINDOWPOS_UNDEFINED_DISPLAY(X)  (SDL_WINDOWPOS_UNDEFINED_MASK|(X))\n#define SDL_WINDOWPOS_UNDEFINED         SDL_WINDOWPOS_UNDEFINED_DISPLAY(0)\n#define SDL_WINDOWPOS_ISUNDEFINED(X)    \\\n            (((X)&0xFFFF0000) == SDL_WINDOWPOS_UNDEFINED_MASK)\n\n/**\n *  \\brief Used to indicate that the window position should be centered.\n */\n#define SDL_WINDOWPOS_CENTERED_MASK    0x2FFF0000\n#define SDL_WINDOWPOS_CENTERED_DISPLAY(X)  (SDL_WINDOWPOS_CENTERED_MASK|(X))\n#define SDL_WINDOWPOS_CENTERED         SDL_WINDOWPOS_CENTERED_DISPLAY(0)\n#define SDL_WINDOWPOS_ISCENTERED(X)    \\\n            (((X)&0xFFFF0000) == SDL_WINDOWPOS_CENTERED_MASK)\n\n/**\n *  \\brief Event subtype for window events\n */\ntypedef enum\n{\n    SDL_WINDOWEVENT_NONE,           /**< Never used */\n    SDL_WINDOWEVENT_SHOWN,          /**< Window has been shown */\n    SDL_WINDOWEVENT_HIDDEN,         /**< Window has been hidden */\n    SDL_WINDOWEVENT_EXPOSED,        /**< Window has been exposed and should be\n                                         redrawn */\n    SDL_WINDOWEVENT_MOVED,          /**< Window has been moved to data1, data2\n                                     */\n    SDL_WINDOWEVENT_RESIZED,        /**< Window has been resized to data1xdata2 */\n    SDL_WINDOWEVENT_SIZE_CHANGED,   /**< The window size has changed, either as\n                                         a result of an API call or through the\n                                         system or user changing the window size. */\n    SDL_WINDOWEVENT_MINIMIZED,      /**< Window has been minimized */\n    SDL_WINDOWEVENT_MAXIMIZED,      /**< Window has been maximized */\n    SDL_WINDOWEVENT_RESTORED,       /**< Window has been restored to normal size\n                                         and position */\n    SDL_WINDOWEVENT_ENTER,          /**< Window has gained mouse focus */\n    SDL_WINDOWEVENT_LEAVE,          /**< Window has lost mouse focus */\n    SDL_WINDOWEVENT_FOCUS_GAINED,   /**< Window has gained keyboard focus */\n    SDL_WINDOWEVENT_FOCUS_LOST,     /**< Window has lost keyboard focus */\n    SDL_WINDOWEVENT_CLOSE           /**< The window manager requests that the\n                                         window be closed */\n} SDL_WindowEventID;\n\n/**\n *  \\brief An opaque handle to an OpenGL context.\n */\ntypedef void *SDL_GLContext;\n\n/**\n *  \\brief OpenGL configuration attributes\n */\ntypedef enum\n{\n    SDL_GL_RED_SIZE,\n    SDL_GL_GREEN_SIZE,\n    SDL_GL_BLUE_SIZE,\n    SDL_GL_ALPHA_SIZE,\n    SDL_GL_BUFFER_SIZE,\n    SDL_GL_DOUBLEBUFFER,\n    SDL_GL_DEPTH_SIZE,\n    SDL_GL_STENCIL_SIZE,\n    SDL_GL_ACCUM_RED_SIZE,\n    SDL_GL_ACCUM_GREEN_SIZE,\n    SDL_GL_ACCUM_BLUE_SIZE,\n    SDL_GL_ACCUM_ALPHA_SIZE,\n    SDL_GL_STEREO,\n    SDL_GL_MULTISAMPLEBUFFERS,\n    SDL_GL_MULTISAMPLESAMPLES,\n    SDL_GL_ACCELERATED_VISUAL,\n    SDL_GL_RETAINED_BACKING,\n    SDL_GL_CONTEXT_MAJOR_VERSION,\n    SDL_GL_CONTEXT_MINOR_VERSION,\n    SDL_GL_CONTEXT_EGL,\n    SDL_GL_CONTEXT_FLAGS,\n    SDL_GL_CONTEXT_PROFILE_MASK,\n    SDL_GL_SHARE_WITH_CURRENT_CONTEXT,\n    SDL_GL_FRAMEBUFFER_SRGB_CAPABLE,\n    SDL_GL_CONTEXT_RELEASE_BEHAVIOR\n} SDL_GLattr;\n\ntypedef enum\n{\n    SDL_GL_CONTEXT_PROFILE_CORE           = 0x0001,\n    SDL_GL_CONTEXT_PROFILE_COMPATIBILITY  = 0x0002,\n    SDL_GL_CONTEXT_PROFILE_ES             = 0x0004 /* GLX_CONTEXT_ES2_PROFILE_BIT_EXT */\n} SDL_GLprofile;\n\ntypedef enum\n{\n    SDL_GL_CONTEXT_DEBUG_FLAG              = 0x0001,\n    SDL_GL_CONTEXT_FORWARD_COMPATIBLE_FLAG = 0x0002,\n    SDL_GL_CONTEXT_ROBUST_ACCESS_FLAG      = 0x0004,\n    SDL_GL_CONTEXT_RESET_ISOLATION_FLAG    = 0x0008\n} SDL_GLcontextFlag;\n\ntypedef enum\n{\n    SDL_GL_CONTEXT_RELEASE_BEHAVIOR_NONE   = 0x0000,\n    SDL_GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH  = 0x0001\n} SDL_GLcontextReleaseFlag;\n\n\n/* Function prototypes */\n\n/**\n *  \\brief Get the number of video drivers compiled into SDL\n *\n *  \\sa SDL_GetVideoDriver()\n */\nextern DECLSPEC int SDLCALL SDL_GetNumVideoDrivers(void);\n\n/**\n *  \\brief Get the name of a built in video driver.\n *\n *  \\note The video drivers are presented in the order in which they are\n *        normally checked during initialization.\n *\n *  \\sa SDL_GetNumVideoDrivers()\n */\nextern DECLSPEC const char *SDLCALL SDL_GetVideoDriver(int index);\n\n/**\n *  \\brief Initialize the video subsystem, optionally specifying a video driver.\n *\n *  \\param driver_name Initialize a specific driver by name, or NULL for the\n *                     default video driver.\n *\n *  \\return 0 on success, -1 on error\n *\n *  This function initializes the video subsystem; setting up a connection\n *  to the window manager, etc, and determines the available display modes\n *  and pixel formats, but does not initialize a window or graphics mode.\n *\n *  \\sa SDL_VideoQuit()\n */\nextern DECLSPEC int SDLCALL SDL_VideoInit(const char *driver_name);\n\n/**\n *  \\brief Shuts down the video subsystem.\n *\n *  This function closes all windows, and restores the original video mode.\n *\n *  \\sa SDL_VideoInit()\n */\nextern DECLSPEC void SDLCALL SDL_VideoQuit(void);\n\n/**\n *  \\brief Returns the name of the currently initialized video driver.\n *\n *  \\return The name of the current video driver or NULL if no driver\n *          has been initialized\n *\n *  \\sa SDL_GetNumVideoDrivers()\n *  \\sa SDL_GetVideoDriver()\n */\nextern DECLSPEC const char *SDLCALL SDL_GetCurrentVideoDriver(void);\n\n/**\n *  \\brief Returns the number of available video displays.\n *\n *  \\sa SDL_GetDisplayBounds()\n */\nextern DECLSPEC int SDLCALL SDL_GetNumVideoDisplays(void);\n\n/**\n *  \\brief Get the name of a display in UTF-8 encoding\n *\n *  \\return The name of a display, or NULL for an invalid display index.\n *\n *  \\sa SDL_GetNumVideoDisplays()\n */\nextern DECLSPEC const char * SDLCALL SDL_GetDisplayName(int displayIndex);\n\n/**\n *  \\brief Get the desktop area represented by a display, with the primary\n *         display located at 0,0\n *\n *  \\return 0 on success, or -1 if the index is out of range.\n *\n *  \\sa SDL_GetNumVideoDisplays()\n */\nextern DECLSPEC int SDLCALL SDL_GetDisplayBounds(int displayIndex, SDL_Rect * rect);\n\n/**\n *  \\brief Get the dots/pixels-per-inch for a display\n *\n *  \\note Diagonal, horizontal and vertical DPI can all be optionally\n *        returned if the parameter is non-NULL.\n *\n *  \\return 0 on success, or -1 if no DPI information is available or the index is out of range.\n *\n *  \\sa SDL_GetNumVideoDisplays()\n */\nextern DECLSPEC int SDLCALL SDL_GetDisplayDPI(int displayIndex, float * ddpi, float * hdpi, float * vdpi);\n\n/**\n *  \\brief Returns the number of available display modes.\n *\n *  \\sa SDL_GetDisplayMode()\n */\nextern DECLSPEC int SDLCALL SDL_GetNumDisplayModes(int displayIndex);\n\n/**\n *  \\brief Fill in information about a specific display mode.\n *\n *  \\note The display modes are sorted in this priority:\n *        \\li bits per pixel -> more colors to fewer colors\n *        \\li width -> largest to smallest\n *        \\li height -> largest to smallest\n *        \\li refresh rate -> highest to lowest\n *\n *  \\sa SDL_GetNumDisplayModes()\n */\nextern DECLSPEC int SDLCALL SDL_GetDisplayMode(int displayIndex, int modeIndex,\n                                               SDL_DisplayMode * mode);\n\n/**\n *  \\brief Fill in information about the desktop display mode.\n */\nextern DECLSPEC int SDLCALL SDL_GetDesktopDisplayMode(int displayIndex, SDL_DisplayMode * mode);\n\n/**\n *  \\brief Fill in information about the current display mode.\n */\nextern DECLSPEC int SDLCALL SDL_GetCurrentDisplayMode(int displayIndex, SDL_DisplayMode * mode);\n\n\n/**\n *  \\brief Get the closest match to the requested display mode.\n *\n *  \\param displayIndex The index of display from which mode should be queried.\n *  \\param mode The desired display mode\n *  \\param closest A pointer to a display mode to be filled in with the closest\n *                 match of the available display modes.\n *\n *  \\return The passed in value \\c closest, or NULL if no matching video mode\n *          was available.\n *\n *  The available display modes are scanned, and \\c closest is filled in with the\n *  closest mode matching the requested mode and returned.  The mode format and\n *  refresh_rate default to the desktop mode if they are 0.  The modes are\n *  scanned with size being first priority, format being second priority, and\n *  finally checking the refresh_rate.  If all the available modes are too\n *  small, then NULL is returned.\n *\n *  \\sa SDL_GetNumDisplayModes()\n *  \\sa SDL_GetDisplayMode()\n */\nextern DECLSPEC SDL_DisplayMode * SDLCALL SDL_GetClosestDisplayMode(int displayIndex, const SDL_DisplayMode * mode, SDL_DisplayMode * closest);\n\n/**\n *  \\brief Get the display index associated with a window.\n *\n *  \\return the display index of the display containing the center of the\n *          window, or -1 on error.\n */\nextern DECLSPEC int SDLCALL SDL_GetWindowDisplayIndex(SDL_Window * window);\n\n/**\n *  \\brief Set the display mode used when a fullscreen window is visible.\n *\n *  By default the window's dimensions and the desktop format and refresh rate\n *  are used.\n *\n *  \\param window The window for which the display mode should be set.\n *  \\param mode The mode to use, or NULL for the default mode.\n *\n *  \\return 0 on success, or -1 if setting the display mode failed.\n *\n *  \\sa SDL_GetWindowDisplayMode()\n *  \\sa SDL_SetWindowFullscreen()\n */\nextern DECLSPEC int SDLCALL SDL_SetWindowDisplayMode(SDL_Window * window,\n                                                     const SDL_DisplayMode\n                                                         * mode);\n\n/**\n *  \\brief Fill in information about the display mode used when a fullscreen\n *         window is visible.\n *\n *  \\sa SDL_SetWindowDisplayMode()\n *  \\sa SDL_SetWindowFullscreen()\n */\nextern DECLSPEC int SDLCALL SDL_GetWindowDisplayMode(SDL_Window * window,\n                                                     SDL_DisplayMode * mode);\n\n/**\n *  \\brief Get the pixel format associated with the window.\n */\nextern DECLSPEC Uint32 SDLCALL SDL_GetWindowPixelFormat(SDL_Window * window);\n\n/**\n *  \\brief Create a window with the specified position, dimensions, and flags.\n *\n *  \\param title The title of the window, in UTF-8 encoding.\n *  \\param x     The x position of the window, ::SDL_WINDOWPOS_CENTERED, or\n *               ::SDL_WINDOWPOS_UNDEFINED.\n *  \\param y     The y position of the window, ::SDL_WINDOWPOS_CENTERED, or\n *               ::SDL_WINDOWPOS_UNDEFINED.\n *  \\param w     The width of the window, in screen coordinates.\n *  \\param h     The height of the window, in screen coordinates.\n *  \\param flags The flags for the window, a mask of any of the following:\n *               ::SDL_WINDOW_FULLSCREEN,    ::SDL_WINDOW_OPENGL,\n *               ::SDL_WINDOW_HIDDEN,        ::SDL_WINDOW_BORDERLESS,\n *               ::SDL_WINDOW_RESIZABLE,     ::SDL_WINDOW_MAXIMIZED,\n *               ::SDL_WINDOW_MINIMIZED,     ::SDL_WINDOW_INPUT_GRABBED,\n *               ::SDL_WINDOW_ALLOW_HIGHDPI.\n *\n *  \\return The id of the window created, or zero if window creation failed.\n *\n *  If the window is created with the SDL_WINDOW_ALLOW_HIGHDPI flag, its size\n *  in pixels may differ from its size in screen coordinates on platforms with\n *  high-DPI support (e.g. iOS and Mac OS X). Use SDL_GetWindowSize() to query\n *  the client area's size in screen coordinates, and SDL_GL_GetDrawableSize()\n *  or SDL_GetRendererOutputSize() to query the drawable size in pixels.\n *\n *  \\sa SDL_DestroyWindow()\n */\nextern DECLSPEC SDL_Window * SDLCALL SDL_CreateWindow(const char *title,\n                                                      int x, int y, int w,\n                                                      int h, Uint32 flags);\n\n/**\n *  \\brief Create an SDL window from an existing native window.\n *\n *  \\param data A pointer to driver-dependent window creation data\n *\n *  \\return The id of the window created, or zero if window creation failed.\n *\n *  \\sa SDL_DestroyWindow()\n */\nextern DECLSPEC SDL_Window * SDLCALL SDL_CreateWindowFrom(const void *data);\n\n/**\n *  \\brief Get the numeric ID of a window, for logging purposes.\n */\nextern DECLSPEC Uint32 SDLCALL SDL_GetWindowID(SDL_Window * window);\n\n/**\n *  \\brief Get a window from a stored ID, or NULL if it doesn't exist.\n */\nextern DECLSPEC SDL_Window * SDLCALL SDL_GetWindowFromID(Uint32 id);\n\n/**\n *  \\brief Get the window flags.\n */\nextern DECLSPEC Uint32 SDLCALL SDL_GetWindowFlags(SDL_Window * window);\n\n/**\n *  \\brief Set the title of a window, in UTF-8 format.\n *\n *  \\sa SDL_GetWindowTitle()\n */\nextern DECLSPEC void SDLCALL SDL_SetWindowTitle(SDL_Window * window,\n                                                const char *title);\n\n/**\n *  \\brief Get the title of a window, in UTF-8 format.\n *\n *  \\sa SDL_SetWindowTitle()\n */\nextern DECLSPEC const char *SDLCALL SDL_GetWindowTitle(SDL_Window * window);\n\n/**\n *  \\brief Set the icon for a window.\n *\n *  \\param window The window for which the icon should be set.\n *  \\param icon The icon for the window.\n */\nextern DECLSPEC void SDLCALL SDL_SetWindowIcon(SDL_Window * window,\n                                               SDL_Surface * icon);\n\n/**\n *  \\brief Associate an arbitrary named pointer with a window.\n *\n *  \\param window   The window to associate with the pointer.\n *  \\param name     The name of the pointer.\n *  \\param userdata The associated pointer.\n *\n *  \\return The previous value associated with 'name'\n *\n *  \\note The name is case-sensitive.\n *\n *  \\sa SDL_GetWindowData()\n */\nextern DECLSPEC void* SDLCALL SDL_SetWindowData(SDL_Window * window,\n                                                const char *name,\n                                                void *userdata);\n\n/**\n *  \\brief Retrieve the data pointer associated with a window.\n *\n *  \\param window   The window to query.\n *  \\param name     The name of the pointer.\n *\n *  \\return The value associated with 'name'\n *\n *  \\sa SDL_SetWindowData()\n */\nextern DECLSPEC void *SDLCALL SDL_GetWindowData(SDL_Window * window,\n                                                const char *name);\n\n/**\n *  \\brief Set the position of a window.\n *\n *  \\param window   The window to reposition.\n *  \\param x        The x coordinate of the window in screen coordinates, or\n *                  ::SDL_WINDOWPOS_CENTERED or ::SDL_WINDOWPOS_UNDEFINED.\n *  \\param y        The y coordinate of the window in screen coordinates, or\n *                  ::SDL_WINDOWPOS_CENTERED or ::SDL_WINDOWPOS_UNDEFINED.\n *\n *  \\note The window coordinate origin is the upper left of the display.\n *\n *  \\sa SDL_GetWindowPosition()\n */\nextern DECLSPEC void SDLCALL SDL_SetWindowPosition(SDL_Window * window,\n                                                   int x, int y);\n\n/**\n *  \\brief Get the position of a window.\n *\n *  \\param window   The window to query.\n *  \\param x        Pointer to variable for storing the x position, in screen\n *                  coordinates. May be NULL.\n *  \\param y        Pointer to variable for storing the y position, in screen\n *                  coordinates. May be NULL.\n *\n *  \\sa SDL_SetWindowPosition()\n */\nextern DECLSPEC void SDLCALL SDL_GetWindowPosition(SDL_Window * window,\n                                                   int *x, int *y);\n\n/**\n *  \\brief Set the size of a window's client area.\n *\n *  \\param window   The window to resize.\n *  \\param w        The width of the window, in screen coordinates. Must be >0.\n *  \\param h        The height of the window, in screen coordinates. Must be >0.\n *\n *  \\note You can't change the size of a fullscreen window, it automatically\n *        matches the size of the display mode.\n *\n *  The window size in screen coordinates may differ from the size in pixels, if\n *  the window was created with SDL_WINDOW_ALLOW_HIGHDPI on a platform with\n *  high-dpi support (e.g. iOS or OS X). Use SDL_GL_GetDrawableSize() or\n *  SDL_GetRendererOutputSize() to get the real client area size in pixels.\n *\n *  \\sa SDL_GetWindowSize()\n */\nextern DECLSPEC void SDLCALL SDL_SetWindowSize(SDL_Window * window, int w,\n                                               int h);\n\n/**\n *  \\brief Get the size of a window's client area.\n *\n *  \\param window   The window to query.\n *  \\param w        Pointer to variable for storing the width, in screen\n *                  coordinates. May be NULL.\n *  \\param h        Pointer to variable for storing the height, in screen\n *                  coordinates. May be NULL.\n *\n *  The window size in screen coordinates may differ from the size in pixels, if\n *  the window was created with SDL_WINDOW_ALLOW_HIGHDPI on a platform with\n *  high-dpi support (e.g. iOS or OS X). Use SDL_GL_GetDrawableSize() or\n *  SDL_GetRendererOutputSize() to get the real client area size in pixels.\n *\n *  \\sa SDL_SetWindowSize()\n */\nextern DECLSPEC void SDLCALL SDL_GetWindowSize(SDL_Window * window, int *w,\n                                               int *h);\n\n/**\n *  \\brief Set the minimum size of a window's client area.\n *\n *  \\param window    The window to set a new minimum size.\n *  \\param min_w     The minimum width of the window, must be >0\n *  \\param min_h     The minimum height of the window, must be >0\n *\n *  \\note You can't change the minimum size of a fullscreen window, it\n *        automatically matches the size of the display mode.\n *\n *  \\sa SDL_GetWindowMinimumSize()\n *  \\sa SDL_SetWindowMaximumSize()\n */\nextern DECLSPEC void SDLCALL SDL_SetWindowMinimumSize(SDL_Window * window,\n                                                      int min_w, int min_h);\n\n/**\n *  \\brief Get the minimum size of a window's client area.\n *\n *  \\param window   The window to query.\n *  \\param w        Pointer to variable for storing the minimum width, may be NULL\n *  \\param h        Pointer to variable for storing the minimum height, may be NULL\n *\n *  \\sa SDL_GetWindowMaximumSize()\n *  \\sa SDL_SetWindowMinimumSize()\n */\nextern DECLSPEC void SDLCALL SDL_GetWindowMinimumSize(SDL_Window * window,\n                                                      int *w, int *h);\n\n/**\n *  \\brief Set the maximum size of a window's client area.\n *\n *  \\param window    The window to set a new maximum size.\n *  \\param max_w     The maximum width of the window, must be >0\n *  \\param max_h     The maximum height of the window, must be >0\n *\n *  \\note You can't change the maximum size of a fullscreen window, it\n *        automatically matches the size of the display mode.\n *\n *  \\sa SDL_GetWindowMaximumSize()\n *  \\sa SDL_SetWindowMinimumSize()\n */\nextern DECLSPEC void SDLCALL SDL_SetWindowMaximumSize(SDL_Window * window,\n                                                      int max_w, int max_h);\n\n/**\n *  \\brief Get the maximum size of a window's client area.\n *\n *  \\param window   The window to query.\n *  \\param w        Pointer to variable for storing the maximum width, may be NULL\n *  \\param h        Pointer to variable for storing the maximum height, may be NULL\n *\n *  \\sa SDL_GetWindowMinimumSize()\n *  \\sa SDL_SetWindowMaximumSize()\n */\nextern DECLSPEC void SDLCALL SDL_GetWindowMaximumSize(SDL_Window * window,\n                                                      int *w, int *h);\n\n/**\n *  \\brief Set the border state of a window.\n *\n *  This will add or remove the window's SDL_WINDOW_BORDERLESS flag and\n *  add or remove the border from the actual window. This is a no-op if the\n *  window's border already matches the requested state.\n *\n *  \\param window The window of which to change the border state.\n *  \\param bordered SDL_FALSE to remove border, SDL_TRUE to add border.\n *\n *  \\note You can't change the border state of a fullscreen window.\n *\n *  \\sa SDL_GetWindowFlags()\n */\nextern DECLSPEC void SDLCALL SDL_SetWindowBordered(SDL_Window * window,\n                                                   SDL_bool bordered);\n\n/**\n *  \\brief Show a window.\n *\n *  \\sa SDL_HideWindow()\n */\nextern DECLSPEC void SDLCALL SDL_ShowWindow(SDL_Window * window);\n\n/**\n *  \\brief Hide a window.\n *\n *  \\sa SDL_ShowWindow()\n */\nextern DECLSPEC void SDLCALL SDL_HideWindow(SDL_Window * window);\n\n/**\n *  \\brief Raise a window above other windows and set the input focus.\n */\nextern DECLSPEC void SDLCALL SDL_RaiseWindow(SDL_Window * window);\n\n/**\n *  \\brief Make a window as large as possible.\n *\n *  \\sa SDL_RestoreWindow()\n */\nextern DECLSPEC void SDLCALL SDL_MaximizeWindow(SDL_Window * window);\n\n/**\n *  \\brief Minimize a window to an iconic representation.\n *\n *  \\sa SDL_RestoreWindow()\n */\nextern DECLSPEC void SDLCALL SDL_MinimizeWindow(SDL_Window * window);\n\n/**\n *  \\brief Restore the size and position of a minimized or maximized window.\n *\n *  \\sa SDL_MaximizeWindow()\n *  \\sa SDL_MinimizeWindow()\n */\nextern DECLSPEC void SDLCALL SDL_RestoreWindow(SDL_Window * window);\n\n/**\n *  \\brief Set a window's fullscreen state.\n *\n *  \\return 0 on success, or -1 if setting the display mode failed.\n *\n *  \\sa SDL_SetWindowDisplayMode()\n *  \\sa SDL_GetWindowDisplayMode()\n */\nextern DECLSPEC int SDLCALL SDL_SetWindowFullscreen(SDL_Window * window,\n                                                    Uint32 flags);\n\n/**\n *  \\brief Get the SDL surface associated with the window.\n *\n *  \\return The window's framebuffer surface, or NULL on error.\n *\n *  A new surface will be created with the optimal format for the window,\n *  if necessary. This surface will be freed when the window is destroyed.\n *\n *  \\note You may not combine this with 3D or the rendering API on this window.\n *\n *  \\sa SDL_UpdateWindowSurface()\n *  \\sa SDL_UpdateWindowSurfaceRects()\n */\nextern DECLSPEC SDL_Surface * SDLCALL SDL_GetWindowSurface(SDL_Window * window);\n\n/**\n *  \\brief Copy the window surface to the screen.\n *\n *  \\return 0 on success, or -1 on error.\n *\n *  \\sa SDL_GetWindowSurface()\n *  \\sa SDL_UpdateWindowSurfaceRects()\n */\nextern DECLSPEC int SDLCALL SDL_UpdateWindowSurface(SDL_Window * window);\n\n/**\n *  \\brief Copy a number of rectangles on the window surface to the screen.\n *\n *  \\return 0 on success, or -1 on error.\n *\n *  \\sa SDL_GetWindowSurface()\n *  \\sa SDL_UpdateWindowSurfaceRect()\n */\nextern DECLSPEC int SDLCALL SDL_UpdateWindowSurfaceRects(SDL_Window * window,\n                                                         const SDL_Rect * rects,\n                                                         int numrects);\n\n/**\n *  \\brief Set a window's input grab mode.\n *\n *  \\param window The window for which the input grab mode should be set.\n *  \\param grabbed This is SDL_TRUE to grab input, and SDL_FALSE to release input.\n *\n *  If the caller enables a grab while another window is currently grabbed,\n *  the other window loses its grab in favor of the caller's window.\n *\n *  \\sa SDL_GetWindowGrab()\n */\nextern DECLSPEC void SDLCALL SDL_SetWindowGrab(SDL_Window * window,\n                                               SDL_bool grabbed);\n\n/**\n *  \\brief Get a window's input grab mode.\n *\n *  \\return This returns SDL_TRUE if input is grabbed, and SDL_FALSE otherwise.\n *\n *  \\sa SDL_SetWindowGrab()\n */\nextern DECLSPEC SDL_bool SDLCALL SDL_GetWindowGrab(SDL_Window * window);\n\n/**\n *  \\brief Get the window that currently has an input grab enabled.\n *\n *  \\return This returns the window if input is grabbed, and NULL otherwise.\n *\n *  \\sa SDL_SetWindowGrab()\n */\nextern DECLSPEC SDL_Window * SDLCALL SDL_GetGrabbedWindow(void);\n\n/**\n *  \\brief Set the brightness (gamma correction) for a window.\n *\n *  \\return 0 on success, or -1 if setting the brightness isn't supported.\n *\n *  \\sa SDL_GetWindowBrightness()\n *  \\sa SDL_SetWindowGammaRamp()\n */\nextern DECLSPEC int SDLCALL SDL_SetWindowBrightness(SDL_Window * window, float brightness);\n\n/**\n *  \\brief Get the brightness (gamma correction) for a window.\n *\n *  \\return The last brightness value passed to SDL_SetWindowBrightness()\n *\n *  \\sa SDL_SetWindowBrightness()\n */\nextern DECLSPEC float SDLCALL SDL_GetWindowBrightness(SDL_Window * window);\n\n/**\n *  \\brief Set the gamma ramp for a window.\n *\n *  \\param window The window for which the gamma ramp should be set.\n *  \\param red The translation table for the red channel, or NULL.\n *  \\param green The translation table for the green channel, or NULL.\n *  \\param blue The translation table for the blue channel, or NULL.\n *\n *  \\return 0 on success, or -1 if gamma ramps are unsupported.\n *\n *  Set the gamma translation table for the red, green, and blue channels\n *  of the video hardware.  Each table is an array of 256 16-bit quantities,\n *  representing a mapping between the input and output for that channel.\n *  The input is the index into the array, and the output is the 16-bit\n *  gamma value at that index, scaled to the output color precision.\n *\n *  \\sa SDL_GetWindowGammaRamp()\n */\nextern DECLSPEC int SDLCALL SDL_SetWindowGammaRamp(SDL_Window * window,\n                                                   const Uint16 * red,\n                                                   const Uint16 * green,\n                                                   const Uint16 * blue);\n\n/**\n *  \\brief Get the gamma ramp for a window.\n *\n *  \\param window The window from which the gamma ramp should be queried.\n *  \\param red   A pointer to a 256 element array of 16-bit quantities to hold\n *               the translation table for the red channel, or NULL.\n *  \\param green A pointer to a 256 element array of 16-bit quantities to hold\n *               the translation table for the green channel, or NULL.\n *  \\param blue  A pointer to a 256 element array of 16-bit quantities to hold\n *               the translation table for the blue channel, or NULL.\n *\n *  \\return 0 on success, or -1 if gamma ramps are unsupported.\n *\n *  \\sa SDL_SetWindowGammaRamp()\n */\nextern DECLSPEC int SDLCALL SDL_GetWindowGammaRamp(SDL_Window * window,\n                                                   Uint16 * red,\n                                                   Uint16 * green,\n                                                   Uint16 * blue);\n\n/**\n *  \\brief Possible return values from the SDL_HitTest callback.\n *\n *  \\sa SDL_HitTest\n */\ntypedef enum\n{\n    SDL_HITTEST_NORMAL,  /**< Region is normal. No special properties. */\n    SDL_HITTEST_DRAGGABLE,  /**< Region can drag entire window. */\n    SDL_HITTEST_RESIZE_TOPLEFT,\n    SDL_HITTEST_RESIZE_TOP,\n    SDL_HITTEST_RESIZE_TOPRIGHT,\n    SDL_HITTEST_RESIZE_RIGHT,\n    SDL_HITTEST_RESIZE_BOTTOMRIGHT,\n    SDL_HITTEST_RESIZE_BOTTOM,\n    SDL_HITTEST_RESIZE_BOTTOMLEFT,\n    SDL_HITTEST_RESIZE_LEFT\n} SDL_HitTestResult;\n\n/**\n *  \\brief Callback used for hit-testing.\n *\n *  \\sa SDL_SetWindowHitTest\n */\ntypedef SDL_HitTestResult (SDLCALL *SDL_HitTest)(SDL_Window *win,\n                                                 const SDL_Point *area,\n                                                 void *data);\n\n/**\n *  \\brief Provide a callback that decides if a window region has special properties.\n *\n *  Normally windows are dragged and resized by decorations provided by the\n *  system window manager (a title bar, borders, etc), but for some apps, it\n *  makes sense to drag them from somewhere else inside the window itself; for\n *  example, one might have a borderless window that wants to be draggable\n *  from any part, or simulate its own title bar, etc.\n *\n *  This function lets the app provide a callback that designates pieces of\n *  a given window as special. This callback is run during event processing\n *  if we need to tell the OS to treat a region of the window specially; the\n *  use of this callback is known as \"hit testing.\"\n *\n *  Mouse input may not be delivered to your application if it is within\n *  a special area; the OS will often apply that input to moving the window or\n *  resizing the window and not deliver it to the application.\n *\n *  Specifying NULL for a callback disables hit-testing. Hit-testing is\n *  disabled by default.\n *\n *  Platforms that don't support this functionality will return -1\n *  unconditionally, even if you're attempting to disable hit-testing.\n *\n *  Your callback may fire at any time, and its firing does not indicate any\n *  specific behavior (for example, on Windows, this certainly might fire\n *  when the OS is deciding whether to drag your window, but it fires for lots\n *  of other reasons, too, some unrelated to anything you probably care about\n *  _and when the mouse isn't actually at the location it is testing_).\n *  Since this can fire at any time, you should try to keep your callback\n *  efficient, devoid of allocations, etc.\n *\n *  \\param window The window to set hit-testing on.\n *  \\param callback The callback to call when doing a hit-test.\n *  \\param callback_data An app-defined void pointer passed to the callback.\n *  \\return 0 on success, -1 on error (including unsupported).\n */\nextern DECLSPEC int SDLCALL SDL_SetWindowHitTest(SDL_Window * window,\n                                                 SDL_HitTest callback,\n                                                 void *callback_data);\n\n/**\n *  \\brief Destroy a window.\n */\nextern DECLSPEC void SDLCALL SDL_DestroyWindow(SDL_Window * window);\n\n\n/**\n *  \\brief Returns whether the screensaver is currently enabled (default on).\n *\n *  \\sa SDL_EnableScreenSaver()\n *  \\sa SDL_DisableScreenSaver()\n */\nextern DECLSPEC SDL_bool SDLCALL SDL_IsScreenSaverEnabled(void);\n\n/**\n *  \\brief Allow the screen to be blanked by a screensaver\n *\n *  \\sa SDL_IsScreenSaverEnabled()\n *  \\sa SDL_DisableScreenSaver()\n */\nextern DECLSPEC void SDLCALL SDL_EnableScreenSaver(void);\n\n/**\n *  \\brief Prevent the screen from being blanked by a screensaver\n *\n *  \\sa SDL_IsScreenSaverEnabled()\n *  \\sa SDL_EnableScreenSaver()\n */\nextern DECLSPEC void SDLCALL SDL_DisableScreenSaver(void);\n\n\n/**\n *  \\name OpenGL support functions\n */\n/* @{ */\n\n/**\n *  \\brief Dynamically load an OpenGL library.\n *\n *  \\param path The platform dependent OpenGL library name, or NULL to open the\n *              default OpenGL library.\n *\n *  \\return 0 on success, or -1 if the library couldn't be loaded.\n *\n *  This should be done after initializing the video driver, but before\n *  creating any OpenGL windows.  If no OpenGL library is loaded, the default\n *  library will be loaded upon creation of the first OpenGL window.\n *\n *  \\note If you do this, you need to retrieve all of the GL functions used in\n *        your program from the dynamic library using SDL_GL_GetProcAddress().\n *\n *  \\sa SDL_GL_GetProcAddress()\n *  \\sa SDL_GL_UnloadLibrary()\n */\nextern DECLSPEC int SDLCALL SDL_GL_LoadLibrary(const char *path);\n\n/**\n *  \\brief Get the address of an OpenGL function.\n */\nextern DECLSPEC void *SDLCALL SDL_GL_GetProcAddress(const char *proc);\n\n/**\n *  \\brief Unload the OpenGL library previously loaded by SDL_GL_LoadLibrary().\n *\n *  \\sa SDL_GL_LoadLibrary()\n */\nextern DECLSPEC void SDLCALL SDL_GL_UnloadLibrary(void);\n\n/**\n *  \\brief Return true if an OpenGL extension is supported for the current\n *         context.\n */\nextern DECLSPEC SDL_bool SDLCALL SDL_GL_ExtensionSupported(const char\n                                                           *extension);\n\n/**\n *  \\brief Reset all previously set OpenGL context attributes to their default values\n */\nextern DECLSPEC void SDLCALL SDL_GL_ResetAttributes(void);\n\n/**\n *  \\brief Set an OpenGL window attribute before window creation.\n */\nextern DECLSPEC int SDLCALL SDL_GL_SetAttribute(SDL_GLattr attr, int value);\n\n/**\n *  \\brief Get the actual value for an attribute from the current context.\n */\nextern DECLSPEC int SDLCALL SDL_GL_GetAttribute(SDL_GLattr attr, int *value);\n\n/**\n *  \\brief Create an OpenGL context for use with an OpenGL window, and make it\n *         current.\n *\n *  \\sa SDL_GL_DeleteContext()\n */\nextern DECLSPEC SDL_GLContext SDLCALL SDL_GL_CreateContext(SDL_Window *\n                                                           window);\n\n/**\n *  \\brief Set up an OpenGL context for rendering into an OpenGL window.\n *\n *  \\note The context must have been created with a compatible window.\n */\nextern DECLSPEC int SDLCALL SDL_GL_MakeCurrent(SDL_Window * window,\n                                               SDL_GLContext context);\n\n/**\n *  \\brief Get the currently active OpenGL window.\n */\nextern DECLSPEC SDL_Window* SDLCALL SDL_GL_GetCurrentWindow(void);\n\n/**\n *  \\brief Get the currently active OpenGL context.\n */\nextern DECLSPEC SDL_GLContext SDLCALL SDL_GL_GetCurrentContext(void);\n\n/**\n *  \\brief Get the size of a window's underlying drawable in pixels (for use\n *         with glViewport).\n *\n *  \\param window   Window from which the drawable size should be queried\n *  \\param w        Pointer to variable for storing the width in pixels, may be NULL\n *  \\param h        Pointer to variable for storing the height in pixels, may be NULL\n *\n * This may differ from SDL_GetWindowSize() if we're rendering to a high-DPI\n * drawable, i.e. the window was created with SDL_WINDOW_ALLOW_HIGHDPI on a\n * platform with high-DPI support (Apple calls this \"Retina\"), and not disabled\n * by the SDL_HINT_VIDEO_HIGHDPI_DISABLED hint.\n *\n *  \\sa SDL_GetWindowSize()\n *  \\sa SDL_CreateWindow()\n */\nextern DECLSPEC void SDLCALL SDL_GL_GetDrawableSize(SDL_Window * window, int *w,\n                                                    int *h);\n\n/**\n *  \\brief Set the swap interval for the current OpenGL context.\n *\n *  \\param interval 0 for immediate updates, 1 for updates synchronized with the\n *                  vertical retrace. If the system supports it, you may\n *                  specify -1 to allow late swaps to happen immediately\n *                  instead of waiting for the next retrace.\n *\n *  \\return 0 on success, or -1 if setting the swap interval is not supported.\n *\n *  \\sa SDL_GL_GetSwapInterval()\n */\nextern DECLSPEC int SDLCALL SDL_GL_SetSwapInterval(int interval);\n\n/**\n *  \\brief Get the swap interval for the current OpenGL context.\n *\n *  \\return 0 if there is no vertical retrace synchronization, 1 if the buffer\n *          swap is synchronized with the vertical retrace, and -1 if late\n *          swaps happen immediately instead of waiting for the next retrace.\n *          If the system can't determine the swap interval, or there isn't a\n *          valid current context, this will return 0 as a safe default.\n *\n *  \\sa SDL_GL_SetSwapInterval()\n */\nextern DECLSPEC int SDLCALL SDL_GL_GetSwapInterval(void);\n\n/**\n * \\brief Swap the OpenGL buffers for a window, if double-buffering is\n *        supported.\n */\nextern DECLSPEC void SDLCALL SDL_GL_SwapWindow(SDL_Window * window);\n\n/**\n *  \\brief Delete an OpenGL context.\n *\n *  \\sa SDL_GL_CreateContext()\n */\nextern DECLSPEC void SDLCALL SDL_GL_DeleteContext(SDL_GLContext context);\n\n/* @} *//* OpenGL support functions */\n\n\n/* Ends C function definitions when using C++ */\n#ifdef __cplusplus\n}\n#endif\n#include \"close_code.h\"\n\n#endif /* _SDL_video_h */\n\n/* vi: set ts=4 sw=4 expandtab: */\n"
  },
  {
    "path": "external/SDL2-2.0.4/include/begin_code.h",
    "content": "/*\n  Simple DirectMedia Layer\n  Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>\n\n  This software is provided 'as-is', without any express or implied\n  warranty.  In no event will the authors be held liable for any damages\n  arising from the use of this software.\n\n  Permission is granted to anyone to use this software for any purpose,\n  including commercial applications, and to alter it and redistribute it\n  freely, subject to the following restrictions:\n\n  1. The origin of this software must not be misrepresented; you must not\n     claim that you wrote the original software. If you use this software\n     in a product, an acknowledgment in the product documentation would be\n     appreciated but is not required.\n  2. Altered source versions must be plainly marked as such, and must not be\n     misrepresented as being the original software.\n  3. This notice may not be removed or altered from any source distribution.\n*/\n\n/**\n *  \\file begin_code.h\n *\n *  This file sets things up for C dynamic library function definitions,\n *  static inlined functions, and structures aligned at 4-byte alignment.\n *  If you don't like ugly C preprocessor code, don't look at this file. :)\n */\n\n/* This shouldn't be nested -- included it around code only. */\n#ifdef _begin_code_h\n#error Nested inclusion of begin_code.h\n#endif\n#define _begin_code_h\n\n#ifndef SDL_DEPRECATED\n#  if (__GNUC__ >= 4)  /* technically, this arrived in gcc 3.1, but oh well. */\n#    define SDL_DEPRECATED __attribute__((deprecated))\n#  else\n#    define SDL_DEPRECATED\n#  endif\n#endif\n\n#ifndef SDL_UNUSED\n#  ifdef __GNUC__\n#    define SDL_UNUSED __attribute__((unused))\n#  else\n#    define SDL_UNUSED\n#  endif\n#endif\n\n/* Some compilers use a special export keyword */\n#ifndef DECLSPEC\n# if defined(__WIN32__) || defined(__WINRT__)\n#  ifdef __BORLANDC__\n#   ifdef BUILD_SDL\n#    define DECLSPEC\n#   else\n#    define DECLSPEC    __declspec(dllimport)\n#   endif\n#  else\n#   define DECLSPEC __declspec(dllexport)\n#  endif\n# else\n#  if defined(__GNUC__) && __GNUC__ >= 4\n#   define DECLSPEC __attribute__ ((visibility(\"default\")))\n#  else\n#   define DECLSPEC\n#  endif\n# endif\n#endif\n\n/* By default SDL uses the C calling convention */\n#ifndef SDLCALL\n#if (defined(__WIN32__) || defined(__WINRT__)) && !defined(__GNUC__)\n#define SDLCALL __cdecl\n#else\n#define SDLCALL\n#endif\n#endif /* SDLCALL */\n\n/* Removed DECLSPEC on Symbian OS because SDL cannot be a DLL in EPOC */\n#ifdef __SYMBIAN32__\n#undef DECLSPEC\n#define DECLSPEC\n#endif /* __SYMBIAN32__ */\n\n/* Force structure packing at 4 byte alignment.\n   This is necessary if the header is included in code which has structure\n   packing set to an alternate value, say for loading structures from disk.\n   The packing is reset to the previous value in close_code.h\n */\n#if defined(_MSC_VER) || defined(__MWERKS__) || defined(__BORLANDC__)\n#ifdef _MSC_VER\n#pragma warning(disable: 4103)\n#endif\n#ifdef __BORLANDC__\n#pragma nopackwarning\n#endif\n#ifdef _M_X64\n/* Use 8-byte alignment on 64-bit architectures, so pointers are aligned */\n#pragma pack(push,8)\n#else\n#pragma pack(push,4)\n#endif\n#endif /* Compiler needs structure packing set */\n\n#ifndef SDL_INLINE\n#if defined(__GNUC__)\n#define SDL_INLINE __inline__\n#elif defined(_MSC_VER) || defined(__BORLANDC__) || \\\n      defined(__DMC__) || defined(__SC__) || \\\n      defined(__WATCOMC__) || defined(__LCC__) || \\\n      defined(__DECC)\n#define SDL_INLINE __inline\n#ifndef __inline__\n#define __inline__ __inline\n#endif\n#else\n#define SDL_INLINE inline\n#ifndef __inline__\n#define __inline__ inline\n#endif\n#endif\n#endif /* SDL_INLINE not defined */\n\n#ifndef SDL_FORCE_INLINE\n#if defined(_MSC_VER)\n#define SDL_FORCE_INLINE __forceinline\n#elif ( (defined(__GNUC__) && (__GNUC__ >= 4)) || defined(__clang__) )\n#define SDL_FORCE_INLINE __attribute__((always_inline)) static __inline__\n#else\n#define SDL_FORCE_INLINE static SDL_INLINE\n#endif\n#endif /* SDL_FORCE_INLINE not defined */\n\n/* Apparently this is needed by several Windows compilers */\n#if !defined(__MACH__)\n#ifndef NULL\n#ifdef __cplusplus\n#define NULL 0\n#else\n#define NULL ((void *)0)\n#endif\n#endif /* NULL */\n#endif /* ! Mac OS X - breaks precompiled headers */\n"
  },
  {
    "path": "external/SDL2-2.0.4/include/close_code.h",
    "content": "/*\n  Simple DirectMedia Layer\n  Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>\n\n  This software is provided 'as-is', without any express or implied\n  warranty.  In no event will the authors be held liable for any damages\n  arising from the use of this software.\n\n  Permission is granted to anyone to use this software for any purpose,\n  including commercial applications, and to alter it and redistribute it\n  freely, subject to the following restrictions:\n\n  1. The origin of this software must not be misrepresented; you must not\n     claim that you wrote the original software. If you use this software\n     in a product, an acknowledgment in the product documentation would be\n     appreciated but is not required.\n  2. Altered source versions must be plainly marked as such, and must not be\n     misrepresented as being the original software.\n  3. This notice may not be removed or altered from any source distribution.\n*/\n\n/**\n *  \\file close_code.h\n *\n *  This file reverses the effects of begin_code.h and should be included\n *  after you finish any function and structure declarations in your headers\n */\n\n#undef _begin_code_h\n\n/* Reset structure packing at previous byte alignment */\n#if defined(_MSC_VER) || defined(__MWERKS__) || defined(__WATCOMC__)  || defined(__BORLANDC__)\n#ifdef __BORLANDC__\n#pragma nopackwarning\n#endif\n#pragma pack(pop)\n#endif /* Compiler needs structure packing set */\n"
  },
  {
    "path": "external/SDL2-2.0.4/lib/x64/libSDL2.la",
    "content": "# libSDL2.la - a libtool library file\n# Generated by libtool (GNU libtool) 2.4.2\n#\n# Please DO NOT delete this file!\n# It is necessary for linking the library.\n\n# The name that we can dlopen(3).\ndlname='libSDL2-2.0.so.0'\n\n# Names of this library.\nlibrary_names='libSDL2-2.0.so.0.4.0 libSDL2-2.0.so.0 libSDL2.so'\n\n# The name of the static archive.\nold_library='libSDL2.a'\n\n# Linker flags that can not go in dependency_libs.\ninherited_linker_flags=''\n\n# Libraries that this one depends upon.\ndependency_libs=' -lm -ldl -lpthread -lrt'\n\n# Names of additional weak libraries provided by this library\nweak_library_names=''\n\n# Version information for libSDL2.\ncurrent=4\nage=4\nrevision=0\n\n# Is this an already installed library?\ninstalled=yes\n\n# Should we warn about portability when linking against -modules?\nshouldnotlink=no\n\n# Files to dlopen/dlpreopen\ndlopen=''\ndlpreopen=''\n\n# Directory that this library needs to be installed in:\nlibdir='/usr/local/lib'\n"
  },
  {
    "path": "external/ags_lib/.gitattributes",
    "content": "# This is a windows-only project. Force CRLF.\r\n* text eol=crlf\r\n\r\n# Explicit settings for specific file types.\r\n*.h         eol=crlf\r\n*.txt       eol=crlf\r\n*.md        eol=crlf\r\n*.pdf       binary\r\n*.png       binary\r\n*.dll       binary\r\n*.lib       binary\r\n"
  },
  {
    "path": "external/ags_lib/CHANGELOG.md",
    "content": "# AMD AGS Library Changelog\r\n\r\n### v4.0.3 - 2016-08-18\r\n* Improve support for DirectX 11 and DirectX 12 GCN shader extensions\r\n* Add support for Multidraw Indirect Count Indirect for DirectX 11\r\n* Fix clock speed information for Polaris GPUs\r\n* Requires Radeon Software Crimson Edition 16.9.1 (driver version 16.40) or later\r\n\r\n### v4.0.0 - 2016-05-24\r\n* Add support for GCN shader extensions\r\n  * Shader extensions are exposed for both DirectX 11 and DirectX 12\r\n  * Requires Radeon Software Crimson Edition 16.5.2 or later\r\n* Remove `RegisterApp` from the extension API\r\n  * This extension is not currently supported in the driver\r\n\r\n### v3.2.2 - 2016-05-23\r\n* Add back `radeonSoftwareVersion` now that updated driver is public\r\n  * Radeon Software Crimson Edition 16.5.2 or later\r\n* Fix GPU info when primary adapter is > 0\r\n* Update the implementation of agsDriverExtensions_NotifyResourceEndWrites\r\n\r\n### v3.2.0 - 2016-02-12\r\n* Add ability to disable Crossfire\r\n  * This is in addition to the existing ability to enable the explicit Crossfire API\r\n  * Desired Crossfire mode is now passed in to `agsInit`\r\n  * Separate `SetCrossfireMode` function has been removed from the AGS API\r\n  * The `agsInit` function should now be called **prior to device creation**\r\n* Return library version number in the optional info parameter of `agsInit`\r\n* Build amd_ags DLLs such that they do not depend on any Microsoft Visual C++ redistributable packages\r\n\r\n### v3.1.1 - 2016-01-28\r\n* Return null for the context when initialization fails\r\n* Add version number defines to `amd_ags.h`\r\n* Remove `radeonSoftwareVersion` until needed driver update is public\r\n\r\n### v3.1.0 - 2016-01-26\r\n* Initial release on GitHub\r\n"
  },
  {
    "path": "external/ags_lib/LICENSE.txt",
    "content": "Copyright (c) 2016 Advanced Micro Devices, Inc. All rights reserved.\r\n\r\nPermission is hereby granted, free of charge, to any person obtaining a copy\r\nof this software and associated documentation files (the \"Software\"), to deal\r\nin the Software without restriction, including without limitation the rights\r\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\ncopies of the Software, and to permit persons to whom the Software is\r\nfurnished to do so, subject to the following conditions:\r\n\r\nThe above copyright notice and this permission notice shall be included in\r\nall copies or substantial portions of the Software.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE\r\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r\nTHE SOFTWARE.\r\n"
  },
  {
    "path": "external/ags_lib/README.md",
    "content": "# AMD AGS Library\r\n![AMD AGS Library](http://gpuopen-librariesandsdks.github.io/media/amd_logo_black.png)\r\n\r\nThe AMD GPU Services (AGS) library provides software developers with the ability to query AMD GPU software and hardware state information that is not normally available through standard operating systems or graphic APIs. Version 4.0 of the library includes support for querying graphics driver version info, GPU performance, Crossfire&trade; (AMD's multi-GPU rendering technology) configuration info, and Eyefinity (AMD's multi-display rendering technology) configuration info. AGS also exposes the explicit Crossfire API extension, GCN shader extensions, and additional extensions supported in the AMD drivers for DirectX 11 and DirectX 12.\r\n\r\nThis version of the AGS library is just the documentation, header file, import libraries, and DLLs. For the full AGS SDK, which includes samples, visit the AGS SDK repository:\r\nhttps://github.com/GPUOpen-LibrariesAndSDKs/AGS_SDK\r\n"
  },
  {
    "path": "external/ags_lib/hlsl/ags_shader_intrinsics_dx11.hlsl",
    "content": "//\r\n// Copyright (c) 2016 Advanced Micro Devices, Inc. All rights reserved.\r\n//\r\n// Permission is hereby granted, free of charge, to any person obtaining a copy\r\n// of this software and associated documentation files (the \"Software\"), to deal\r\n// in the Software without restriction, including without limitation the rights\r\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\n// copies of the Software, and to permit persons to whom the Software is\r\n// furnished to do so, subject to the following conditions:\r\n//\r\n// The above copyright notice and this permission notice shall be included in\r\n// all copies or substantial portions of the Software.\r\n//\r\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE\r\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r\n// THE SOFTWARE.\r\n//\r\n\r\n/**\r\n*************************************************************************************************************\r\n* @File  ags_shader_intrinsics_dx11.hlsl\r\n*\r\n* @brief\r\n*    AMD D3D Shader Intrinsics API hlsl file.\r\n*    This include file contains the shader intrinsics definitions (structures, enums, constant)\r\n*    and HLSL shader intrinsics functions.\r\n*\r\n*************************************************************************************************************\r\n*/\r\n\r\n#ifndef _AMDDXEXTSHADERINTRINSICS_HLSL_\r\n#define _AMDDXEXTSHADERINTRINSICS_HLSL_\r\n\r\n/**\r\n*************************************************************************************************************\r\n*   Definitions to construct the intrinsic instruction composed of an opcode and optional immediate data.\r\n*************************************************************************************************************\r\n*/\r\n#define AmdDxExtShaderIntrinsics_MagicCodeShift   28\r\n#define AmdDxExtShaderIntrinsics_MagicCodeMask    0xf\r\n#define AmdDxExtShaderIntrinsics_OpcodePhaseShift 24\r\n#define AmdDxExtShaderIntrinsics_OpcodePhaseMask  0x3\r\n#define AmdDxExtShaderIntrinsics_DataShift        8\r\n#define AmdDxExtShaderIntrinsics_DataMask         0xffff\r\n#define AmdDxExtShaderIntrinsics_OpcodeShift      0\r\n#define AmdDxExtShaderIntrinsics_OpcodeMask       0xff\r\n\r\n#define AmdDxExtShaderIntrinsics_MagicCode        0x5\r\n\r\n\r\n/**\r\n*************************************************************************************************************\r\n*   Intrinsic opcodes.\r\n*************************************************************************************************************\r\n*/\r\n#define AmdDxExtShaderIntrinsicsOpcode_Readfirstlane  0x01\r\n#define AmdDxExtShaderIntrinsicsOpcode_Readlane       0x02\r\n#define AmdDxExtShaderIntrinsicsOpcode_LaneId         0x03\r\n#define AmdDxExtShaderIntrinsicsOpcode_Swizzle        0x04\r\n#define AmdDxExtShaderIntrinsicsOpcode_Ballot         0x05\r\n#define AmdDxExtShaderIntrinsicsOpcode_MBCnt          0x06\r\n#define AmdDxExtShaderIntrinsicsOpcode_Min3U          0x08\r\n#define AmdDxExtShaderIntrinsicsOpcode_Min3F          0x09\r\n#define AmdDxExtShaderIntrinsicsOpcode_Med3U          0x0a\r\n#define AmdDxExtShaderIntrinsicsOpcode_Med3F          0x0b\r\n#define AmdDxExtShaderIntrinsicsOpcode_Max3U          0x0c\r\n#define AmdDxExtShaderIntrinsicsOpcode_Max3F          0x0d\r\n#define AmdDxExtShaderIntrinsicsOpcode_BaryCoord      0x0e\r\n#define AmdDxExtShaderIntrinsicsOpcode_VtxParam       0x0f\r\n\r\n\r\n/**\r\n*************************************************************************************************************\r\n*   Intrinsic opcode phases.\r\n*************************************************************************************************************\r\n*/\r\n#define AmdDxExtShaderIntrinsicsOpcodePhase_0    0x0\r\n#define AmdDxExtShaderIntrinsicsOpcodePhase_1    0x1\r\n#define AmdDxExtShaderIntrinsicsOpcodePhase_2    0x2\r\n#define AmdDxExtShaderIntrinsicsOpcodePhase_3    0x3\r\n\r\n/**\r\n*************************************************************************************************************\r\n*   AmdDxExtShaderIntrinsicsSwizzle defines for common swizzles.  Can be used as the operation parameter for\r\n*   the AmdDxExtShaderIntrinsics_Swizzle intrinsic.\r\n*************************************************************************************************************\r\n*/\r\n#define AmdDxExtShaderIntrinsicsSwizzle_SwapX1      0x041f\r\n#define AmdDxExtShaderIntrinsicsSwizzle_SwapX2      0x081f\r\n#define AmdDxExtShaderIntrinsicsSwizzle_SwapX4      0x101f\r\n#define AmdDxExtShaderIntrinsicsSwizzle_SwapX8      0x201f\r\n#define AmdDxExtShaderIntrinsicsSwizzle_SwapX16     0x401f\r\n#define AmdDxExtShaderIntrinsicsSwizzle_ReverseX2   0x041f\r\n#define AmdDxExtShaderIntrinsicsSwizzle_ReverseX4   0x0c1f\r\n#define AmdDxExtShaderIntrinsicsSwizzle_ReverseX8   0x1c1f\r\n#define AmdDxExtShaderIntrinsicsSwizzle_ReverseX16  0x3c1f\r\n#define AmdDxExtShaderIntrinsicsSwizzle_ReverseX32  0x7c1f\r\n#define AmdDxExtShaderIntrinsicsSwizzle_BCastX2     0x003e\r\n#define AmdDxExtShaderIntrinsicsSwizzle_BCastX4     0x003c\r\n#define AmdDxExtShaderIntrinsicsSwizzle_BCastX8     0x0038\r\n#define AmdDxExtShaderIntrinsicsSwizzle_BCastX16    0x0030\r\n#define AmdDxExtShaderIntrinsicsSwizzle_BCastX32    0x0020\r\n\r\n\r\n/**\r\n*************************************************************************************************************\r\n*   AmdDxExtShaderIntrinsicsBarycentric defines for barycentric interpolation mode.  To be used with\r\n*   AmdDxExtShaderIntrinsicsOpcode_IjBarycentricCoords to specify the interpolation mode.\r\n*************************************************************************************************************\r\n*/\r\n#define AmdDxExtShaderIntrinsicsBarycentric_LinearCenter    0x1\r\n#define AmdDxExtShaderIntrinsicsBarycentric_LinearCentroid  0x2\r\n#define AmdDxExtShaderIntrinsicsBarycentric_LinearSample    0x3\r\n#define AmdDxExtShaderIntrinsicsBarycentric_PerspCenter     0x4\r\n#define AmdDxExtShaderIntrinsicsBarycentric_PerspCentroid   0x5\r\n#define AmdDxExtShaderIntrinsicsBarycentric_PerspSample     0x6\r\n#define AmdDxExtShaderIntrinsicsBarycentric_PerspPullModel  0x7\r\n\r\n/**\r\n*************************************************************************************************************\r\n*   AmdDxExtShaderIntrinsicsBarycentric defines for specifying vertex and parameter indices.  To be used as\r\n*   the inputs to the AmdDxExtShaderIntrinsicsOpcode_VertexParameter function\r\n*************************************************************************************************************\r\n*/\r\n#define AmdDxExtShaderIntrinsicsBarycentric_Vertex0     0x0\r\n#define AmdDxExtShaderIntrinsicsBarycentric_Vertex1     0x1\r\n#define AmdDxExtShaderIntrinsicsBarycentric_Vertex2     0x2\r\n\r\n#define AmdDxExtShaderIntrinsicsBarycentric_Param0      0x00\r\n#define AmdDxExtShaderIntrinsicsBarycentric_Param1      0x01\r\n#define AmdDxExtShaderIntrinsicsBarycentric_Param2      0x02\r\n#define AmdDxExtShaderIntrinsicsBarycentric_Param3      0x03\r\n#define AmdDxExtShaderIntrinsicsBarycentric_Param4      0x04\r\n#define AmdDxExtShaderIntrinsicsBarycentric_Param5      0x05\r\n#define AmdDxExtShaderIntrinsicsBarycentric_Param6      0x06\r\n#define AmdDxExtShaderIntrinsicsBarycentric_Param7      0x07\r\n#define AmdDxExtShaderIntrinsicsBarycentric_Param8      0x08\r\n#define AmdDxExtShaderIntrinsicsBarycentric_Param9      0x09\r\n#define AmdDxExtShaderIntrinsicsBarycentric_Param10     0x0a\r\n#define AmdDxExtShaderIntrinsicsBarycentric_Param11     0x0b\r\n#define AmdDxExtShaderIntrinsicsBarycentric_Param12     0x0c\r\n#define AmdDxExtShaderIntrinsicsBarycentric_Param13     0x0d\r\n#define AmdDxExtShaderIntrinsicsBarycentric_Param14     0x0e\r\n#define AmdDxExtShaderIntrinsicsBarycentric_Param15     0x0f\r\n#define AmdDxExtShaderIntrinsicsBarycentric_Param16     0x10\r\n#define AmdDxExtShaderIntrinsicsBarycentric_Param17     0x11\r\n#define AmdDxExtShaderIntrinsicsBarycentric_Param18     0x12\r\n#define AmdDxExtShaderIntrinsicsBarycentric_Param19     0x13\r\n#define AmdDxExtShaderIntrinsicsBarycentric_Param20     0x14\r\n#define AmdDxExtShaderIntrinsicsBarycentric_Param21     0x15\r\n#define AmdDxExtShaderIntrinsicsBarycentric_Param22     0x16\r\n#define AmdDxExtShaderIntrinsicsBarycentric_Param23     0x17\r\n#define AmdDxExtShaderIntrinsicsBarycentric_Param24     0x18\r\n#define AmdDxExtShaderIntrinsicsBarycentric_Param25     0x19\r\n#define AmdDxExtShaderIntrinsicsBarycentric_Param26     0x1a\r\n#define AmdDxExtShaderIntrinsicsBarycentric_Param27     0x1b\r\n#define AmdDxExtShaderIntrinsicsBarycentric_Param28     0x1c\r\n#define AmdDxExtShaderIntrinsicsBarycentric_Param29     0x1d\r\n#define AmdDxExtShaderIntrinsicsBarycentric_Param30     0x1e\r\n#define AmdDxExtShaderIntrinsicsBarycentric_Param31     0x1f\r\n\r\n#define AmdDxExtShaderIntrinsicsBarycentric_ComponentX  0x0\r\n#define AmdDxExtShaderIntrinsicsBarycentric_ComponentY  0x1\r\n#define AmdDxExtShaderIntrinsicsBarycentric_ComponentZ  0x2\r\n#define AmdDxExtShaderIntrinsicsBarycentric_ComponentW  0x3\r\n\r\n#define AmdDxExtShaderIntrinsicsBarycentric_ParamShift     0\r\n#define AmdDxExtShaderIntrinsicsBarycentric_ParamMask      0x1f\r\n#define AmdDxExtShaderIntrinsicsBarycentric_VtxShift       0x5\r\n#define AmdDxExtShaderIntrinsicsBarycentric_VtxMask        0x3\r\n#define AmdDxExtShaderIntrinsicsBarycentric_ComponentShift 0x7\r\n#define AmdDxExtShaderIntrinsicsBarycentric_ComponentMask  0x3\r\n\r\n/**\r\n*************************************************************************************************************\r\n*   Resource slots\r\n*************************************************************************************************************\r\n*/\r\n#ifndef AmdDxExtShaderIntrinsicsUAVSlot\r\n#define AmdDxExtShaderIntrinsicsUAVSlot       u7\r\n#endif\r\n\r\nRWByteAddressBuffer AmdDxExtShaderIntrinsicsUAV : register(AmdDxExtShaderIntrinsicsUAVSlot);\r\n\r\n/**\r\n*************************************************************************************************************\r\n*   MakeAmdShaderIntrinsicsInstruction\r\n*\r\n*   Creates instruction from supplied opcode and immediate data.\r\n*   NOTE: This is an internal function and should not be called by the source HLSL shader directly.\r\n*\r\n*************************************************************************************************************\r\n*/\r\nuint MakeAmdShaderIntrinsicsInstruction(uint opcode, uint opcodePhase, uint immediateData)\r\n{\r\n    return ((AmdDxExtShaderIntrinsics_MagicCode << AmdDxExtShaderIntrinsics_MagicCodeShift) |\r\n            (immediateData << AmdDxExtShaderIntrinsics_DataShift) |\r\n            (opcodePhase << AmdDxExtShaderIntrinsics_OpcodePhaseShift) |\r\n            (opcode << AmdDxExtShaderIntrinsics_OpcodeShift));\r\n}\r\n\r\n\r\n/**\r\n*************************************************************************************************************\r\n*   AmdDxExtShaderIntrinsics_ReadfirstlaneF\r\n*\r\n*   Returns the value of float src for the first active lane of the wavefront.\r\n*\r\n*   Available if CheckSupport(AmdDxExtShaderIntrinsicsSupport_Readfirstlane) returned S_OK.\r\n*\r\n*************************************************************************************************************\r\n*/\r\nfloat AmdDxExtShaderIntrinsics_ReadfirstlaneF(float src)\r\n{\r\n    uint instruction = MakeAmdShaderIntrinsicsInstruction(AmdDxExtShaderIntrinsicsOpcode_Readfirstlane,\r\n                                                          0, 0);\r\n\r\n    uint retVal;\r\n    AmdDxExtShaderIntrinsicsUAV.InterlockedCompareExchange(instruction, asuint(src), 0, retVal);\r\n    return asfloat(retVal);\r\n}\r\n\r\n\r\n/**\r\n*************************************************************************************************************\r\n*   AmdDxExtShaderIntrinsics_ReadfirstlaneU\r\n*\r\n*   Returns the value of unsigned integer src for the first active lane of the wavefront.\r\n*\r\n*   Available if CheckSupport(AmdDxExtShaderIntrinsicsSupport_Readfirstlane) returned S_OK.\r\n*\r\n*************************************************************************************************************\r\n*/\r\nuint AmdDxExtShaderIntrinsics_ReadfirstlaneU(uint src)\r\n{\r\n    uint instruction = MakeAmdShaderIntrinsicsInstruction(AmdDxExtShaderIntrinsicsOpcode_Readfirstlane,\r\n                                                          0, 0);\r\n\r\n    uint retVal;\r\n    AmdDxExtShaderIntrinsicsUAV.InterlockedCompareExchange(instruction, src, 0, retVal);\r\n    return retVal;\r\n}\r\n\r\n/**\r\n*************************************************************************************************************\r\n*   AmdDxExtShaderIntrinsics_Readlane\r\n*\r\n*   Returns the value of float src for the lane within the wavefront specified by laneId.\r\n*\r\n*   Available if CheckSupport(AmdDxExtShaderIntrinsicsSupport_Readlane) returned S_OK.\r\n*\r\n*************************************************************************************************************\r\n*/\r\nfloat AmdDxExtShaderIntrinsics_ReadlaneF(float src, uint laneId)\r\n{\r\n    uint instruction = MakeAmdShaderIntrinsicsInstruction(AmdDxExtShaderIntrinsicsOpcode_Readlane, 0,\r\n                                                          laneId);\r\n\r\n    uint retVal;\r\n    AmdDxExtShaderIntrinsicsUAV.InterlockedCompareExchange(instruction, asuint(src), 0, retVal);\r\n    return asfloat(retVal);\r\n}\r\n\r\n/**\r\n*************************************************************************************************************\r\n*   AmdDxExtShaderIntrinsics_ReadlaneU\r\n*\r\n*   Returns the value of unsigned integer src for the lane within the wavefront specified by laneId.\r\n*\r\n*   Available if CheckSupport(AmdDxExtShaderIntrinsicsSupport_Readlane) returned S_OK.\r\n*\r\n*************************************************************************************************************\r\n*/\r\nuint AmdDxExtShaderIntrinsics_ReadlaneU(uint src, uint laneId)\r\n{\r\n    uint instruction = MakeAmdShaderIntrinsicsInstruction(AmdDxExtShaderIntrinsicsOpcode_Readlane, 0,\r\n                                                          laneId);\r\n\r\n    uint retVal;\r\n    AmdDxExtShaderIntrinsicsUAV.InterlockedCompareExchange(instruction, src, 0, retVal);\r\n    return retVal;\r\n}\r\n\r\n/**\r\n*************************************************************************************************************\r\n*   AmdDxExtShaderIntrinsics_LaneId\r\n*\r\n*   Returns the current lane id for the thread within the wavefront.\r\n*\r\n*   Available if CheckSupport(AmdDxExtShaderIntrinsicsSupport_LaneId) returned S_OK.\r\n*\r\n*************************************************************************************************************\r\n*/\r\nuint AmdDxExtShaderIntrinsics_LaneId()\r\n{\r\n    uint instruction = MakeAmdShaderIntrinsicsInstruction(AmdDxExtShaderIntrinsicsOpcode_LaneId, 0, 0);\r\n\r\n    uint retVal;\r\n    AmdDxExtShaderIntrinsicsUAV.InterlockedCompareExchange(instruction, 0, 0, retVal);\r\n    return retVal;\r\n}\r\n\r\n/**\r\n*************************************************************************************************************\r\n*   AmdDxExtShaderIntrinsics_Swizzle\r\n*\r\n*   Generic instruction to shuffle the float src value among different lanes as specified by the\r\n*   operation.\r\n*   Note that the operation parameter must be an immediately specified value not a value from a variable.\r\n*\r\n*   Available if CheckSupport(AmdDxExtShaderIntrinsicsSupport_Swizzle) returned S_OK.\r\n*\r\n*************************************************************************************************************\r\n*/\r\nfloat AmdDxExtShaderIntrinsics_SwizzleF(float src, uint operation)\r\n{\r\n    uint instruction = MakeAmdShaderIntrinsicsInstruction(AmdDxExtShaderIntrinsicsOpcode_Swizzle, 0,\r\n                                                          operation);\r\n\r\n    uint retVal;\r\n    AmdDxExtShaderIntrinsicsUAV.InterlockedCompareExchange(instruction, asuint(src), 0, retVal);\r\n    return asfloat(retVal);\r\n}\r\n\r\n/**\r\n*************************************************************************************************************\r\n*   AmdDxExtShaderIntrinsics_SwizzleU\r\n*\r\n*   Generic instruction to shuffle the unsigned integer src value among different lanes as specified by the\r\n*   operation.\r\n*   Note that the operation parameter must be an immediately specified value not a value from a variable.\r\n*\r\n*   Available if CheckSupport(AmdDxExtShaderIntrinsicsSupport_Swizzle) returned S_OK.\r\n*\r\n*************************************************************************************************************\r\n*/\r\nuint AmdDxExtShaderIntrinsics_SwizzleU(uint src, uint operation)\r\n{\r\n    uint instruction = MakeAmdShaderIntrinsicsInstruction(AmdDxExtShaderIntrinsicsOpcode_Swizzle, 0,\r\n                                                          operation);\r\n\r\n    uint retVal;\r\n    AmdDxExtShaderIntrinsicsUAV.InterlockedCompareExchange(instruction, src, 0, retVal);\r\n    return retVal;\r\n}\r\n\r\n/**\r\n*************************************************************************************************************\r\n*   AmdDxExtShaderIntrinsics_Ballot\r\n*\r\n*   Given an input predicate returns a bit mask indicating for which lanes the predicate is true.\r\n*   Inactive or non-existent lanes will always return 0.  The number of existent lanes is the\r\n*   wavefront size.\r\n*\r\n*   Available if CheckSupport(AmdDxExtShaderIntrinsicsSupport_Ballot) returned S_OK.\r\n*\r\n*************************************************************************************************************\r\n*/\r\nuint2 AmdDxExtShaderIntrinsics_Ballot(bool predicate)\r\n{\r\n    uint instruction;\r\n\r\n    uint retVal1;\r\n    instruction = MakeAmdShaderIntrinsicsInstruction(AmdDxExtShaderIntrinsicsOpcode_Ballot,\r\n                                                     AmdDxExtShaderIntrinsicsOpcodePhase_0, 0);\r\n    AmdDxExtShaderIntrinsicsUAV.InterlockedCompareExchange(instruction, predicate, 0, retVal1);\r\n\r\n    uint retVal2;\r\n    instruction = MakeAmdShaderIntrinsicsInstruction(AmdDxExtShaderIntrinsicsOpcode_Ballot,\r\n                                                     AmdDxExtShaderIntrinsicsOpcodePhase_1, 0);\r\n    AmdDxExtShaderIntrinsicsUAV.InterlockedCompareExchange(instruction, predicate, 0, retVal2);\r\n\r\n    return uint2(retVal1, retVal2);\r\n}\r\n\r\n\r\n/**\r\n*************************************************************************************************************\r\n*   AmdDxExtShaderIntrinsics_BallotAny\r\n*\r\n*   Convenience routine that uses Ballot and returns true if for any of the active lanes the predicate\r\n*   is true.\r\n*\r\n*   Available if CheckSupport(AmdDxExtShaderIntrinsicsSupport_Ballot) returned S_OK.\r\n*\r\n*************************************************************************************************************\r\n*/\r\nbool AmdDxExtShaderIntrinsics_BallotAny(bool predicate)\r\n{\r\n    uint2 retVal = AmdDxExtShaderIntrinsics_Ballot(predicate);\r\n\r\n    return ((retVal.x | retVal.y) != 0 ? true : false);\r\n}\r\n\r\n\r\n/**\r\n*************************************************************************************************************\r\n*   AmdDxExtShaderIntrinsics_BallotAll\r\n*\r\n*   Convenience routine that uses Ballot and returns true if for all of the active lanes the predicate\r\n*   is true.\r\n*\r\n*   Available if CheckSupport(AmdDxExtShaderIntrinsicsSupport_Ballot) returned S_OK.\r\n*\r\n*************************************************************************************************************\r\n*/\r\nbool AmdDxExtShaderIntrinsics_BallotAll(bool predicate)\r\n{\r\n    uint2 ballot = AmdDxExtShaderIntrinsics_Ballot(predicate);\r\n\r\n    uint2 execMask = AmdDxExtShaderIntrinsics_Ballot(true);\r\n\r\n    return ((ballot.x == execMask.x) && (ballot.y == execMask.y));\r\n}\r\n\r\n\r\n/**\r\n*************************************************************************************************************\r\n*   AmdDxExtShaderIntrinsics_MBCnt\r\n*\r\n*   Returns the masked bit count of the source register for this thread within all the active threads\r\n*   within a wavefront.\r\n*\r\n*   Available if CheckSupport(AmdDxExtShaderIntrinsicsSupport_MBCnt) returned S_OK.\r\n*\r\n*************************************************************************************************************\r\n*/\r\nuint AmdDxExtShaderIntrinsics_MBCnt(uint2 src)\r\n{\r\n    uint instruction = MakeAmdShaderIntrinsicsInstruction(AmdDxExtShaderIntrinsicsOpcode_MBCnt, 0, 0);\r\n\r\n    uint retVal;\r\n\r\n    AmdDxExtShaderIntrinsicsUAV.InterlockedCompareExchange(instruction, src.x, src.y, retVal);\r\n\r\n    return retVal;\r\n}\r\n\r\n/**\r\n*************************************************************************************************************\r\n*   AmdDxExtShaderIntrinsics_Min3F\r\n*\r\n*   Returns the minimum value of the three floating point source arguments.\r\n*\r\n*   Available if CheckSupport(AmdDxExtShaderIntrinsicsSupport_Compare3) returned S_OK.\r\n*\r\n*************************************************************************************************************\r\n*/\r\nfloat AmdDxExtShaderIntrinsics_Min3F(float src0, float src1, float src2)\r\n{\r\n    uint minimum;\r\n\r\n    uint instruction1 = MakeAmdShaderIntrinsicsInstruction(AmdDxExtShaderIntrinsicsOpcode_Min3F,\r\n                                                           AmdDxExtShaderIntrinsicsOpcodePhase_0,\r\n                                                           0);\r\n    AmdDxExtShaderIntrinsicsUAV.InterlockedCompareExchange(instruction1, asuint(src0), asuint(src1), minimum);\r\n\r\n    uint instruction2 = MakeAmdShaderIntrinsicsInstruction(AmdDxExtShaderIntrinsicsOpcode_Min3F,\r\n                                                           AmdDxExtShaderIntrinsicsOpcodePhase_1,\r\n                                                           0);\r\n    AmdDxExtShaderIntrinsicsUAV.InterlockedCompareExchange(instruction2, asuint(src2), minimum, minimum);\r\n\r\n    return asfloat(minimum);\r\n}\r\n\r\n/**\r\n*************************************************************************************************************\r\n*   AmdDxExtShaderIntrinsics_Min3U\r\n*\r\n*   Returns the minimum value of the three unsigned integer source arguments.\r\n*\r\n*   Available if CheckSupport(AmdDxExtShaderIntrinsicsSupport_Compare3) returned S_OK.\r\n*\r\n*************************************************************************************************************\r\n*/\r\nuint AmdDxExtShaderIntrinsics_Min3U(uint src0, uint src1, uint src2)\r\n{\r\n    uint minimum;\r\n\r\n    uint instruction1 = MakeAmdShaderIntrinsicsInstruction(AmdDxExtShaderIntrinsicsOpcode_Min3U,\r\n                                                           AmdDxExtShaderIntrinsicsOpcodePhase_0,\r\n                                                           0);\r\n    AmdDxExtShaderIntrinsicsUAV.InterlockedCompareExchange(instruction1, src0, src1, minimum);\r\n\r\n    uint instruction2 = MakeAmdShaderIntrinsicsInstruction(AmdDxExtShaderIntrinsicsOpcode_Min3U,\r\n                                                           AmdDxExtShaderIntrinsicsOpcodePhase_1,\r\n                                                           0);\r\n    AmdDxExtShaderIntrinsicsUAV.InterlockedCompareExchange(instruction2, src2, minimum, minimum);\r\n\r\n    return minimum;\r\n}\r\n\r\n/**\r\n*************************************************************************************************************\r\n*   AmdDxExtShaderIntrinsics_Med3F\r\n*\r\n*   Returns the median value of the three floating point source arguments.\r\n*\r\n*   Available if CheckSupport(AmdDxExtShaderIntrinsicsSupport_Compare3) returned S_OK.\r\n*\r\n*************************************************************************************************************\r\n*/\r\nfloat AmdDxExtShaderIntrinsics_Med3F(float src0, float src1, float src2)\r\n{\r\n    uint median;\r\n\r\n    uint instruction1 = MakeAmdShaderIntrinsicsInstruction(AmdDxExtShaderIntrinsicsOpcode_Med3F,\r\n                                                           AmdDxExtShaderIntrinsicsOpcodePhase_0,\r\n                                                           0);\r\n    AmdDxExtShaderIntrinsicsUAV.InterlockedCompareExchange(instruction1, asuint(src0), asuint(src1), median);\r\n\r\n    uint instruction2 = MakeAmdShaderIntrinsicsInstruction(AmdDxExtShaderIntrinsicsOpcode_Med3F,\r\n                                                           AmdDxExtShaderIntrinsicsOpcodePhase_1,\r\n                                                           0);\r\n    AmdDxExtShaderIntrinsicsUAV.InterlockedCompareExchange(instruction2, asuint(src2), median, median);\r\n\r\n    return asfloat(median);\r\n}\r\n\r\n/**\r\n*************************************************************************************************************\r\n*   AmdDxExtShaderIntrinsics_Med3U\r\n*\r\n*   Returns the median value of the three unsigned integer source arguments.\r\n*\r\n*   Available if CheckSupport(AmdDxExtShaderIntrinsicsSupport_Compare3) returned S_OK.\r\n*\r\n*************************************************************************************************************\r\n*/\r\nuint AmdDxExtShaderIntrinsics_Med3U(uint src0, uint src1, uint src2)\r\n{\r\n    uint median;\r\n\r\n    uint instruction1 = MakeAmdShaderIntrinsicsInstruction(AmdDxExtShaderIntrinsicsOpcode_Med3U,\r\n                                                           AmdDxExtShaderIntrinsicsOpcodePhase_0,\r\n                                                           0);\r\n    AmdDxExtShaderIntrinsicsUAV.InterlockedCompareExchange(instruction1, src0, src1, median);\r\n\r\n    uint instruction2 = MakeAmdShaderIntrinsicsInstruction(AmdDxExtShaderIntrinsicsOpcode_Med3U,\r\n                                                           AmdDxExtShaderIntrinsicsOpcodePhase_1,\r\n                                                           0);\r\n    AmdDxExtShaderIntrinsicsUAV.InterlockedCompareExchange(instruction2, src2, median, median);\r\n\r\n    return median;\r\n}\r\n\r\n/**\r\n*************************************************************************************************************\r\n*   AmdDxExtShaderIntrinsics_Max3F\r\n*\r\n*   Returns the maximum value of the three floating point source arguments.\r\n*\r\n*   Available if CheckSupport(AmdDxExtShaderIntrinsicsSupport_Compare3) returned S_OK.\r\n*\r\n*************************************************************************************************************\r\n*/\r\nfloat AmdDxExtShaderIntrinsics_Max3F(float src0, float src1, float src2)\r\n{\r\n    uint maximum;\r\n\r\n    uint instruction1 = MakeAmdShaderIntrinsicsInstruction(AmdDxExtShaderIntrinsicsOpcode_Max3F,\r\n                                                           AmdDxExtShaderIntrinsicsOpcodePhase_0,\r\n                                                           0);\r\n    AmdDxExtShaderIntrinsicsUAV.InterlockedCompareExchange(instruction1, asuint(src0), asuint(src1), maximum);\r\n\r\n    uint instruction2 = MakeAmdShaderIntrinsicsInstruction(AmdDxExtShaderIntrinsicsOpcode_Max3F,\r\n                                                           AmdDxExtShaderIntrinsicsOpcodePhase_1,\r\n                                                           0);\r\n    AmdDxExtShaderIntrinsicsUAV.InterlockedCompareExchange(instruction2, asuint(src2), maximum, maximum);\r\n\r\n    return asfloat(maximum);\r\n}\r\n\r\n/**\r\n*************************************************************************************************************\r\n*   AmdDxExtShaderIntrinsics_Max3U\r\n*\r\n*   Returns the maximum value of the three unsigned integer source arguments.\r\n*\r\n*   Available if CheckSupport(AmdDxExtShaderIntrinsicsSupport_Compare3) returned S_OK.\r\n*\r\n*************************************************************************************************************\r\n*/\r\nuint AmdDxExtShaderIntrinsics_Max3U(uint src0, uint src1, uint src2)\r\n{\r\n    uint maximum;\r\n\r\n    uint instruction1 = MakeAmdShaderIntrinsicsInstruction(AmdDxExtShaderIntrinsicsOpcode_Max3U,\r\n                                                           AmdDxExtShaderIntrinsicsOpcodePhase_0,\r\n                                                           0);\r\n    AmdDxExtShaderIntrinsicsUAV.InterlockedCompareExchange(instruction1, src0, src1, maximum);\r\n\r\n    uint instruction2 = MakeAmdShaderIntrinsicsInstruction(AmdDxExtShaderIntrinsicsOpcode_Max3U,\r\n                                                           AmdDxExtShaderIntrinsicsOpcodePhase_1,\r\n                                                           0);\r\n    AmdDxExtShaderIntrinsicsUAV.InterlockedCompareExchange(instruction2, src2, maximum, maximum);\r\n\r\n    return maximum;\r\n}\r\n\r\n/**\r\n*************************************************************************************************************\r\n*   AmdDxExtShaderIntrinsics_IjBarycentricCoords\r\n*\r\n*   Returns the (i, j) barycentric coordinate pair for this shader invocation with the specified\r\n*   interpolation mode at the specified pixel location.  Should not be used for \"pull-model\" interpolation,\r\n*   PullModelBarycentricCoords should be used instead\r\n*\r\n*   Available if CheckSupport(AmdDxExtShaderIntrinsicsSupport_BaryCoord) returned S_OK.\r\n*\r\n*   Can only be used in pixel shader stages.\r\n*\r\n*************************************************************************************************************\r\n*/\r\nfloat2 AmdDxExtShaderIntrinsics_IjBarycentricCoords(uint interpMode)\r\n{\r\n    uint2 retVal;\r\n\r\n    uint instruction1 = MakeAmdShaderIntrinsicsInstruction(AmdDxExtShaderIntrinsicsOpcode_BaryCoord,\r\n                                                           AmdDxExtShaderIntrinsicsOpcodePhase_0,\r\n                                                           interpMode);\r\n    AmdDxExtShaderIntrinsicsUAV.InterlockedCompareExchange(instruction1, 0, 0, retVal.x);\r\n\r\n    uint instruction2 = MakeAmdShaderIntrinsicsInstruction(AmdDxExtShaderIntrinsicsOpcode_BaryCoord,\r\n                                                           AmdDxExtShaderIntrinsicsOpcodePhase_1,\r\n                                                           interpMode);\r\n    AmdDxExtShaderIntrinsicsUAV.InterlockedCompareExchange(instruction2, retVal.x, 0, retVal.y);\r\n\r\n    return float2(asfloat(retVal.x), asfloat(retVal.y));\r\n}\r\n\r\n/**\r\n*************************************************************************************************************\r\n*   AmdDxExtShaderIntrinsics_PullModelBarycentricCoords\r\n*\r\n*   Returns the (1/W,1/I,1/J) coordinates at the pixel center which can be used for custom interpolation at\r\n*   any location in the pixel.\r\n*\r\n*   Available if CheckSupport(AmdDxExtShaderIntrinsicsSupport_BaryCoord) returned S_OK.\r\n*\r\n*   Can only be used in pixel shader stages.\r\n*\r\n*************************************************************************************************************\r\n*/\r\nfloat3 AmdDxExtShaderIntrinsics_PullModelBarycentricCoords()\r\n{\r\n    uint3 retVal;\r\n\r\n    uint instruction1 = MakeAmdShaderIntrinsicsInstruction(AmdDxExtShaderIntrinsicsOpcode_BaryCoord,\r\n                                                           AmdDxExtShaderIntrinsicsOpcodePhase_0,\r\n                                                           AmdDxExtShaderIntrinsicsBarycentric_PerspPullModel);\r\n    AmdDxExtShaderIntrinsicsUAV.InterlockedCompareExchange(instruction1, 0, 0, retVal.x);\r\n\r\n    uint instruction2 = MakeAmdShaderIntrinsicsInstruction(AmdDxExtShaderIntrinsicsOpcode_BaryCoord,\r\n                                                           AmdDxExtShaderIntrinsicsOpcodePhase_1,\r\n                                                           AmdDxExtShaderIntrinsicsBarycentric_PerspPullModel);\r\n    AmdDxExtShaderIntrinsicsUAV.InterlockedCompareExchange(instruction2, retVal.x, 0, retVal.y);\r\n\r\n    uint instruction3 = MakeAmdShaderIntrinsicsInstruction(AmdDxExtShaderIntrinsicsOpcode_BaryCoord,\r\n                                                           AmdDxExtShaderIntrinsicsOpcodePhase_2,\r\n                                                           AmdDxExtShaderIntrinsicsBarycentric_PerspPullModel);\r\n    AmdDxExtShaderIntrinsicsUAV.InterlockedCompareExchange(instruction3, retVal.y, 0, retVal.z);\r\n\r\n    return float3(asfloat(retVal.x), asfloat(retVal.y), asfloat(retVal.z));\r\n}\r\n\r\n/**\r\n*************************************************************************************************************\r\n*   AmdDxExtShaderIntrinsics_VertexParameter\r\n*\r\n*   Returns the triangle's parameter information at the specified triangle vertex.\r\n*   The vertex and parameter indices must specified as immediate values.\r\n*\r\n*   Available if CheckSupport(AmdDxExtShaderIntrinsicsSupport_VtxParam) returned S_OK.\r\n*\r\n*   Only available in pixel shader stages.\r\n*\r\n*************************************************************************************************************\r\n*/\r\nfloat4 AmdDxExtShaderIntrinsics_VertexParameter(uint vertexIdx, uint parameterIdx)\r\n{\r\n    uint4 retVal;\r\n    uint4 instruction;\r\n\r\n    instruction.x = MakeAmdShaderIntrinsicsInstruction(AmdDxExtShaderIntrinsicsOpcode_VtxParam,\r\n                                 AmdDxExtShaderIntrinsicsOpcodePhase_0,\r\n      ((vertexIdx << AmdDxExtShaderIntrinsicsBarycentric_VtxShift) |\r\n       (parameterIdx << AmdDxExtShaderIntrinsicsBarycentric_ParamShift) |\r\n       (AmdDxExtShaderIntrinsicsBarycentric_ComponentX << AmdDxExtShaderIntrinsicsBarycentric_ComponentShift)));\r\n    AmdDxExtShaderIntrinsicsUAV.InterlockedCompareExchange(instruction.x, 0, 0, retVal.x);\r\n\r\n    instruction.y = MakeAmdShaderIntrinsicsInstruction(AmdDxExtShaderIntrinsicsOpcode_VtxParam,\r\n                                 AmdDxExtShaderIntrinsicsOpcodePhase_0,\r\n      ((vertexIdx << AmdDxExtShaderIntrinsicsBarycentric_VtxShift) |\r\n       (parameterIdx << AmdDxExtShaderIntrinsicsBarycentric_ParamShift) |\r\n       (AmdDxExtShaderIntrinsicsBarycentric_ComponentY << AmdDxExtShaderIntrinsicsBarycentric_ComponentShift)));\r\n    AmdDxExtShaderIntrinsicsUAV.InterlockedCompareExchange(instruction.y, 0, 0, retVal.y);\r\n\r\n    instruction.z = MakeAmdShaderIntrinsicsInstruction(AmdDxExtShaderIntrinsicsOpcode_VtxParam,\r\n                                 AmdDxExtShaderIntrinsicsOpcodePhase_0,\r\n      ((vertexIdx << AmdDxExtShaderIntrinsicsBarycentric_VtxShift) |\r\n       (parameterIdx << AmdDxExtShaderIntrinsicsBarycentric_ParamShift) |\r\n       (AmdDxExtShaderIntrinsicsBarycentric_ComponentZ << AmdDxExtShaderIntrinsicsBarycentric_ComponentShift)));\r\n    AmdDxExtShaderIntrinsicsUAV.InterlockedCompareExchange(instruction.z, 0, 0, retVal.z);\r\n\r\n    instruction.w = MakeAmdShaderIntrinsicsInstruction(AmdDxExtShaderIntrinsicsOpcode_VtxParam,\r\n                                 AmdDxExtShaderIntrinsicsOpcodePhase_0,\r\n      ((vertexIdx << AmdDxExtShaderIntrinsicsBarycentric_VtxShift) |\r\n       (parameterIdx << AmdDxExtShaderIntrinsicsBarycentric_ParamShift) |\r\n       (AmdDxExtShaderIntrinsicsBarycentric_ComponentW << AmdDxExtShaderIntrinsicsBarycentric_ComponentShift)));\r\n    AmdDxExtShaderIntrinsicsUAV.InterlockedCompareExchange(instruction.w, 0, 0, retVal.w);\r\n\r\n    return float4(asfloat(retVal.x), asfloat(retVal.y), asfloat(retVal.z), asfloat(retVal.w));\r\n}\r\n\r\n/**\r\n*************************************************************************************************************\r\n*   AmdDxExtShaderIntrinsics_VertexParameterComponent\r\n*\r\n*   Returns the triangle's parameter information at the specified triangle vertex and component.\r\n*   The vertex, parameter and component indices must be specified as immediate values.\r\n*\r\n*   Available if CheckSupport(AmdDxExtShaderIntrinsicsSupport_VtxParam) returned S_OK.\r\n*\r\n*   Only available in pixel shader stages.\r\n*\r\n*************************************************************************************************************\r\n*/\r\nfloat AmdDxExtShaderIntrinsics_VertexParameterComponent(uint vertexIdx, uint parameterIdx, uint componentIdx)\r\n{\r\n    uint retVal;\r\n    uint instruction = MakeAmdShaderIntrinsicsInstruction(AmdDxExtShaderIntrinsicsOpcode_VtxParam,\r\n                           AmdDxExtShaderIntrinsicsOpcodePhase_0,\r\n                           ((vertexIdx << AmdDxExtShaderIntrinsicsBarycentric_VtxShift) |\r\n                            (parameterIdx << AmdDxExtShaderIntrinsicsBarycentric_ParamShift) |\r\n                            (componentIdx << AmdDxExtShaderIntrinsicsBarycentric_ComponentShift)));\r\n    AmdDxExtShaderIntrinsicsUAV.InterlockedCompareExchange(instruction, 0, 0, retVal);\r\n\r\n    return asfloat(retVal);\r\n}\r\n\r\n#endif // AMD_HLSL_EXTENSION\r\n"
  },
  {
    "path": "external/ags_lib/hlsl/ags_shader_intrinsics_dx12.hlsl",
    "content": "//\r\n// Copyright (c) 2016 Advanced Micro Devices, Inc. All rights reserved.\r\n//\r\n// Permission is hereby granted, free of charge, to any person obtaining a copy\r\n// of this software and associated documentation files (the \"Software\"), to deal\r\n// in the Software without restriction, including without limitation the rights\r\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\n// copies of the Software, and to permit persons to whom the Software is\r\n// furnished to do so, subject to the following conditions:\r\n//\r\n// The above copyright notice and this permission notice shall be included in\r\n// all copies or substantial portions of the Software.\r\n//\r\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE\r\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r\n// THE SOFTWARE.\r\n//\r\n\r\n/**\r\n***********************************************************************************************************************\r\n* @file  ags_shader_intrinsics_dx12.hlsl\r\n* @brief\r\n*    AMD D3D Shader Intrinsics HLSL include file.\r\n*    This include file contains the Shader Intrinsics definitions used in shader code by the application.\r\n* @note\r\n*    This does not work with immediate values or values that the compiler determines can produces denorms\r\n*\r\n***********************************************************************************************************************\r\n*/\r\n\r\n#ifndef _AMDEXTD3DSHADERINTRINICS_HLSL\r\n#define _AMDEXTD3DSHADERINTRINICS_HLSL\r\n// AMD shader intrinsics designated SpaceId.  Denotes Texture3D resource and static sampler used in conjuction with\r\n// instrinsic instructions.\r\n#define AmdExtD3DShaderIntrinsicsSpaceId space2147420894\r\n// Texture3D and SamplerState used to access AMD shader instrinsics instruction set.\r\n// Applications need to add descriptor table entries for these when creating root descriptor table.\r\n///@note Requires SM 5.1 RWBuffer<uint>\r\nRWByteAddressBuffer AmdExtD3DShaderIntrinsicsUAV : register(u0, AmdExtD3DShaderIntrinsicsSpaceId);\r\n\r\n/**\r\n***********************************************************************************************************************\r\n*   Definitions to construct the intrinsic instruction composed of an opcode and optional immediate data.\r\n***********************************************************************************************************************\r\n*/\r\n#define AmdExtD3DShaderIntrinsics_MagicCodeShift   28\r\n#define AmdExtD3DShaderIntrinsics_MagicCodeMask    0xf\r\n#define AmdExtD3DShaderIntrinsics_OpcodePhaseShift 24\r\n#define AmdExtD3DShaderIntrinsics_OpcodePhaseMask  0x3\r\n#define AmdExtD3DShaderIntrinsics_DataShift        8\r\n#define AmdExtD3DShaderIntrinsics_DataMask         0xffff\r\n#define AmdExtD3DShaderIntrinsics_OpcodeShift      0\r\n#define AmdExtD3DShaderIntrinsics_OpcodeMask       0xff\r\n\r\n#define AmdExtD3DShaderIntrinsics_MagicCode        0x5\r\n\r\n\r\n/**\r\n***********************************************************************************************************************\r\n*   Intrinsic opcodes.\r\n***********************************************************************************************************************\r\n*/\r\n#define AmdExtD3DShaderIntrinsicsOpcode_Readfirstlane  0x01\r\n#define AmdExtD3DShaderIntrinsicsOpcode_Readlane       0x02\r\n#define AmdExtD3DShaderIntrinsicsOpcode_LaneId         0x03\r\n#define AmdExtD3DShaderIntrinsicsOpcode_Swizzle        0x04\r\n#define AmdExtD3DShaderIntrinsicsOpcode_Ballot         0x05\r\n#define AmdExtD3DShaderIntrinsicsOpcode_MBCnt          0x06\r\n#define AmdExtD3DShaderIntrinsicsOpcode_Min3U          0x07\r\n#define AmdExtD3DShaderIntrinsicsOpcode_Min3F          0x08\r\n#define AmdExtD3DShaderIntrinsicsOpcode_Med3U          0x09\r\n#define AmdExtD3DShaderIntrinsicsOpcode_Med3F          0x0a\r\n#define AmdExtD3DShaderIntrinsicsOpcode_Max3U          0x0b\r\n#define AmdExtD3DShaderIntrinsicsOpcode_Max3F          0x0c\r\n#define AmdExtD3DShaderIntrinsicsOpcode_BaryCoord      0x0d\r\n#define AmdExtD3DShaderIntrinsicsOpcode_VtxParam       0x0e\r\n\r\n\r\n/**\r\n***********************************************************************************************************************\r\n*   Intrinsic opcode phases.\r\n***********************************************************************************************************************\r\n*/\r\n#define AmdExtD3DShaderIntrinsicsOpcodePhase_0    0x0\r\n#define AmdExtD3DShaderIntrinsicsOpcodePhase_1    0x1\r\n#define AmdExtD3DShaderIntrinsicsOpcodePhase_2    0x2\r\n#define AmdExtD3DShaderIntrinsicsOpcodePhase_3    0x3\r\n\r\n/**\r\n***********************************************************************************************************************\r\n*   AmdExtD3DShaderIntrinsicsSwizzle defines for common swizzles.  Can be used as the operation parameter for the\r\n*   AmdExtD3DShaderIntrinsics_Swizzle intrinsic.\r\n***********************************************************************************************************************\r\n*/\r\n#define AmdExtD3DShaderIntrinsicsSwizzle_SwapX1      0x041f\r\n#define AmdExtD3DShaderIntrinsicsSwizzle_SwapX2      0x081f\r\n#define AmdExtD3DShaderIntrinsicsSwizzle_SwapX4      0x101f\r\n#define AmdExtD3DShaderIntrinsicsSwizzle_SwapX8      0x201f\r\n#define AmdExtD3DShaderIntrinsicsSwizzle_SwapX16     0x401f\r\n#define AmdExtD3DShaderIntrinsicsSwizzle_ReverseX2   0x041f\r\n#define AmdExtD3DShaderIntrinsicsSwizzle_ReverseX4   0x0c1f\r\n#define AmdExtD3DShaderIntrinsicsSwizzle_ReverseX8   0x1c1f\r\n#define AmdExtD3DShaderIntrinsicsSwizzle_ReverseX16  0x3c1f\r\n#define AmdExtD3DShaderIntrinsicsSwizzle_ReverseX32  0x7c1f\r\n#define AmdExtD3DShaderIntrinsicsSwizzle_BCastX2     0x003e\r\n#define AmdExtD3DShaderIntrinsicsSwizzle_BCastX4     0x003c\r\n#define AmdExtD3DShaderIntrinsicsSwizzle_BCastX8     0x0038\r\n#define AmdExtD3DShaderIntrinsicsSwizzle_BCastX16    0x0030\r\n#define AmdExtD3DShaderIntrinsicsSwizzle_BCastX32    0x0020\r\n\r\n\r\n/**\r\n***********************************************************************************************************************\r\n*   AmdExtD3DShaderIntrinsicsBarycentric defines for barycentric interpolation mode.  To be used with\r\n*   AmdExtD3DShaderIntrinsicsOpcode_IjBarycentricCoords to specify the interpolation mode.\r\n***********************************************************************************************************************\r\n*/\r\n#define AmdExtD3DShaderIntrinsicsBarycentric_LinearCenter    0x1\r\n#define AmdExtD3DShaderIntrinsicsBarycentric_LinearCentroid  0x2\r\n#define AmdExtD3DShaderIntrinsicsBarycentric_LinearSample    0x3\r\n#define AmdExtD3DShaderIntrinsicsBarycentric_PerspCenter     0x4\r\n#define AmdExtD3DShaderIntrinsicsBarycentric_PerspCentroid   0x5\r\n#define AmdExtD3DShaderIntrinsicsBarycentric_PerspSample     0x6\r\n#define AmdExtD3DShaderIntrinsicsBarycentric_PerspPullModel  0x7\r\n\r\n/**\r\n***********************************************************************************************************************\r\n*   AmdExtD3DShaderIntrinsicsBarycentric defines for specifying vertex and parameter indices.  To be used as inputs to\r\n*   the AmdExtD3DShaderIntrinsicsOpcode_VertexParameter function\r\n***********************************************************************************************************************\r\n*/\r\n#define AmdExtD3DShaderIntrinsicsBarycentric_Vertex0        0x0\r\n#define AmdExtD3DShaderIntrinsicsBarycentric_Vertex1        0x1\r\n#define AmdExtD3DShaderIntrinsicsBarycentric_Vertex2        0x2\r\n\r\n#define AmdExtD3DShaderIntrinsicsBarycentric_Param0         0x00\r\n#define AmdExtD3DShaderIntrinsicsBarycentric_Param1         0x01\r\n#define AmdExtD3DShaderIntrinsicsBarycentric_Param2         0x02\r\n#define AmdExtD3DShaderIntrinsicsBarycentric_Param3         0x03\r\n#define AmdExtD3DShaderIntrinsicsBarycentric_Param4         0x04\r\n#define AmdExtD3DShaderIntrinsicsBarycentric_Param5         0x05\r\n#define AmdExtD3DShaderIntrinsicsBarycentric_Param6         0x06\r\n#define AmdExtD3DShaderIntrinsicsBarycentric_Param7         0x07\r\n#define AmdExtD3DShaderIntrinsicsBarycentric_Param8         0x08\r\n#define AmdExtD3DShaderIntrinsicsBarycentric_Param9         0x09\r\n#define AmdExtD3DShaderIntrinsicsBarycentric_Param10        0x0a\r\n#define AmdExtD3DShaderIntrinsicsBarycentric_Param11        0x0b\r\n#define AmdExtD3DShaderIntrinsicsBarycentric_Param12        0x0c\r\n#define AmdExtD3DShaderIntrinsicsBarycentric_Param13        0x0d\r\n#define AmdExtD3DShaderIntrinsicsBarycentric_Param14        0x0e\r\n#define AmdExtD3DShaderIntrinsicsBarycentric_Param15        0x0f\r\n#define AmdExtD3DShaderIntrinsicsBarycentric_Param16        0x10\r\n#define AmdExtD3DShaderIntrinsicsBarycentric_Param17        0x11\r\n#define AmdExtD3DShaderIntrinsicsBarycentric_Param18        0x12\r\n#define AmdExtD3DShaderIntrinsicsBarycentric_Param19        0x13\r\n#define AmdExtD3DShaderIntrinsicsBarycentric_Param20        0x14\r\n#define AmdExtD3DShaderIntrinsicsBarycentric_Param21        0x15\r\n#define AmdExtD3DShaderIntrinsicsBarycentric_Param22        0x16\r\n#define AmdExtD3DShaderIntrinsicsBarycentric_Param23        0x17\r\n#define AmdExtD3DShaderIntrinsicsBarycentric_Param24        0x18\r\n#define AmdExtD3DShaderIntrinsicsBarycentric_Param25        0x19\r\n#define AmdExtD3DShaderIntrinsicsBarycentric_Param26        0x1a\r\n#define AmdExtD3DShaderIntrinsicsBarycentric_Param27        0x1b\r\n#define AmdExtD3DShaderIntrinsicsBarycentric_Param28        0x1c\r\n#define AmdExtD3DShaderIntrinsicsBarycentric_Param29        0x1d\r\n#define AmdExtD3DShaderIntrinsicsBarycentric_Param30        0x1e\r\n#define AmdExtD3DShaderIntrinsicsBarycentric_Param31        0x1f\r\n\r\n#define AmdExtD3DShaderIntrinsicsBarycentric_ComponentX     0x0\r\n#define AmdExtD3DShaderIntrinsicsBarycentric_ComponentY     0x1\r\n#define AmdExtD3DShaderIntrinsicsBarycentric_ComponentZ     0x2\r\n#define AmdExtD3DShaderIntrinsicsBarycentric_ComponentW     0x3\r\n\r\n#define AmdExtD3DShaderIntrinsicsBarycentric_ParamShift     0\r\n#define AmdExtD3DShaderIntrinsicsBarycentric_ParamMask      0x1f\r\n#define AmdExtD3DShaderIntrinsicsBarycentric_VtxShift       0x5\r\n#define AmdExtD3DShaderIntrinsicsBarycentric_VtxMask        0x3\r\n#define AmdExtD3DShaderIntrinsicsBarycentric_ComponentShift 0x7\r\n#define AmdExtD3DShaderIntrinsicsBarycentric_ComponentMask  0x3\r\n\r\n\r\n/**\r\n***********************************************************************************************************************\r\n*   MakeAmdShaderIntrinsicsInstruction\r\n*\r\n*   Creates instruction from supplied opcode and immediate data.\r\n*   NOTE: This is an internal function and should not be called by the source HLSL shader directly.\r\n*\r\n***********************************************************************************************************************\r\n*/\r\nuint MakeAmdShaderIntrinsicsInstruction(uint opcode, uint opcodePhase, uint immediateData)\r\n{\r\n    return ((AmdExtD3DShaderIntrinsics_MagicCode << AmdExtD3DShaderIntrinsics_MagicCodeShift) |\r\n            (immediateData << AmdExtD3DShaderIntrinsics_DataShift) |\r\n            (opcodePhase << AmdExtD3DShaderIntrinsics_OpcodePhaseShift) |\r\n            (opcode << AmdExtD3DShaderIntrinsics_OpcodeShift));\r\n}\r\n\r\n\r\n/**\r\n***********************************************************************************************************************\r\n*   AmdExtD3DShaderIntrinsics_ReadfirstlaneF\r\n*\r\n*   Returns the value of float src for the first active lane of the wavefront.\r\n*\r\n*   Available if CheckSupport(AmdExtD3DShaderIntrinsicsSupport_Readfirstlane) returned S_OK.\r\n*\r\n***********************************************************************************************************************\r\n*/\r\nfloat AmdExtD3DShaderIntrinsics_ReadfirstlaneF(float src)\r\n{\r\n    uint instruction = MakeAmdShaderIntrinsicsInstruction(AmdExtD3DShaderIntrinsicsOpcode_Readfirstlane, 0, 0);\r\n\r\n    uint retVal;\r\n    AmdExtD3DShaderIntrinsicsUAV.InterlockedCompareExchange(instruction, asuint(src), 0, retVal);\r\n    return asfloat(retVal);\r\n}\r\n\r\n\r\n/**\r\n***********************************************************************************************************************\r\n*   AmdExtD3DShaderIntrinsics_ReadfirstlaneU\r\n*\r\n*   Returns the value of unsigned integer src for the first active lane of the wavefront.\r\n*\r\n*   Available if CheckSupport(AmdExtD3DShaderIntrinsicsSupport_Readfirstlane) returned S_OK.\r\n*\r\n***********************************************************************************************************************\r\n*/\r\nuint AmdExtD3DShaderIntrinsics_ReadfirstlaneU(uint src)\r\n{\r\n    uint instruction = MakeAmdShaderIntrinsicsInstruction(AmdExtD3DShaderIntrinsicsOpcode_Readfirstlane, 0, 0);\r\n\r\n    uint retVal;\r\n    AmdExtD3DShaderIntrinsicsUAV.InterlockedCompareExchange(instruction, src, 0, retVal);\r\n    return retVal;\r\n}\r\n\r\n/**\r\n***********************************************************************************************************************\r\n*   AmdExtD3DShaderIntrinsics_Readlane\r\n*\r\n*   Returns the value of float src for the lane within the wavefront specified by laneId.\r\n*\r\n*   Available if CheckSupport(AmdExtD3DShaderIntrinsicsSupport_Readlane) returned S_OK.\r\n*\r\n***********************************************************************************************************************\r\n*/\r\nfloat AmdExtD3DShaderIntrinsics_ReadlaneF(float src, uint laneId)\r\n{\r\n    uint instruction = MakeAmdShaderIntrinsicsInstruction(AmdExtD3DShaderIntrinsicsOpcode_Readlane, 0, laneId);\r\n\r\n    uint retVal;\r\n    AmdExtD3DShaderIntrinsicsUAV.InterlockedCompareExchange(instruction, asuint(src), 0, retVal);\r\n    return asfloat(retVal);\r\n}\r\n\r\n/**\r\n***********************************************************************************************************************\r\n*   AmdExtD3DShaderIntrinsics_ReadlaneU\r\n*\r\n*   Returns the value of unsigned integer src for the lane within the wavefront specified by laneId.\r\n*\r\n*   Available if CheckSupport(AmdExtD3DShaderIntrinsicsSupport_Readlane) returned S_OK.\r\n*\r\n***********************************************************************************************************************\r\n*/\r\nuint AmdExtD3DShaderIntrinsics_ReadlaneU(uint src, uint laneId)\r\n{\r\n    uint instruction = MakeAmdShaderIntrinsicsInstruction(AmdExtD3DShaderIntrinsicsOpcode_Readlane, 0, laneId);\r\n\r\n    uint retVal;\r\n    AmdExtD3DShaderIntrinsicsUAV.InterlockedCompareExchange(instruction, src, 0, retVal);\r\n    return retVal;\r\n}\r\n\r\n/**\r\n***********************************************************************************************************************\r\n*   AmdExtD3DShaderIntrinsics_LaneId\r\n*\r\n*   Returns the current lane id for the thread within the wavefront.\r\n*\r\n*   Available if CheckSupport(AmdExtD3DShaderIntrinsicsSupport_LaneId) returned S_OK.\r\n*\r\n***********************************************************************************************************************\r\n*/\r\nuint AmdExtD3DShaderIntrinsics_LaneId()\r\n{\r\n    uint instruction = MakeAmdShaderIntrinsicsInstruction(AmdExtD3DShaderIntrinsicsOpcode_LaneId, 0, 0);\r\n\r\n    uint retVal;\r\n    AmdExtD3DShaderIntrinsicsUAV.InterlockedCompareExchange(instruction, 0, 0, retVal);\r\n    return retVal;\r\n}\r\n\r\n/**\r\n***********************************************************************************************************************\r\n*   AmdExtD3DShaderIntrinsics_Swizzle\r\n*\r\n*   Generic instruction to shuffle the float src value among different lanes as specified by the operation.\r\n*   Note that the operation parameter must be an immediately specified value not a value from a variable.\r\n*\r\n*   Available if CheckSupport(AmdExtD3DShaderIntrinsicsSupport_Swizzle) returned S_OK.\r\n*\r\n***********************************************************************************************************************\r\n*/\r\nfloat AmdExtD3DShaderIntrinsics_SwizzleF(float src, uint operation)\r\n{\r\n    uint instruction = MakeAmdShaderIntrinsicsInstruction(AmdExtD3DShaderIntrinsicsOpcode_Swizzle, 0, operation);\r\n\r\n    uint retVal;\r\n    //InterlockedCompareExchange(AmdExtD3DShaderIntrinsicsUAV[instruction], asuint(src), 0, retVal);\r\n    AmdExtD3DShaderIntrinsicsUAV.InterlockedCompareExchange(instruction, asuint(src), 0, retVal);\r\n    return asfloat(retVal);\r\n}\r\n\r\n/**\r\n***********************************************************************************************************************\r\n*   AmdExtD3DShaderIntrinsics_SwizzleU\r\n*\r\n*   Generic instruction to shuffle the unsigned integer src value among different lanes as specified by the operation.\r\n*   Note that the operation parameter must be an immediately specified value not a value from a variable.\r\n*\r\n*   Available if CheckSupport(AmdExtD3DShaderIntrinsicsSupport_Swizzle) returned S_OK.\r\n*\r\n***********************************************************************************************************************\r\n*/\r\nuint AmdExtD3DShaderIntrinsics_SwizzleU(uint src, uint operation)\r\n{\r\n    uint instruction = MakeAmdShaderIntrinsicsInstruction(AmdExtD3DShaderIntrinsicsOpcode_Swizzle, 0, operation);\r\n\r\n    uint retVal;\r\n    AmdExtD3DShaderIntrinsicsUAV.InterlockedCompareExchange(instruction, src, 0, retVal);\r\n    return retVal;\r\n}\r\n\r\n/**\r\n***********************************************************************************************************************\r\n*   AmdExtD3DShaderIntrinsics_Ballot\r\n*\r\n*   Given an input predicate returns a bit mask indicating for which lanes the predicate is true.\r\n*   Inactive or non-existent lanes will always return 0.  The number of existent lanes is the wavefront size.\r\n*\r\n*   Available if CheckSupport(AmdExtD3DShaderIntrinsicsSupport_Ballot) returned S_OK.\r\n*\r\n***********************************************************************************************************************\r\n*/\r\nuint2 AmdExtD3DShaderIntrinsics_Ballot(bool predicate)\r\n{\r\n    uint instruction;\r\n\r\n    uint retVal1;\r\n    instruction = MakeAmdShaderIntrinsicsInstruction(AmdExtD3DShaderIntrinsicsOpcode_Ballot,\r\n                                                     AmdExtD3DShaderIntrinsicsOpcodePhase_0, 0);\r\n    AmdExtD3DShaderIntrinsicsUAV.InterlockedCompareExchange(instruction, predicate, 0, retVal1);\r\n\r\n    uint retVal2;\r\n    instruction = MakeAmdShaderIntrinsicsInstruction(AmdExtD3DShaderIntrinsicsOpcode_Ballot,\r\n                                                     AmdExtD3DShaderIntrinsicsOpcodePhase_1, 0);\r\n    AmdExtD3DShaderIntrinsicsUAV.InterlockedCompareExchange(instruction, predicate, 0, retVal2);\r\n\r\n    return uint2(retVal1, retVal2);\r\n}\r\n\r\n\r\n/**\r\n***********************************************************************************************************************\r\n*   AmdExtD3DShaderIntrinsics_BallotAny\r\n*\r\n*   Convenience routine that uses Ballot and returns true if for any of the active lanes the predicate is true.\r\n*\r\n*   Available if CheckSupport(AmdExtD3DShaderIntrinsicsSupport_Ballot) returned S_OK.\r\n*\r\n***********************************************************************************************************************\r\n*/\r\nbool AmdExtD3DShaderIntrinsics_BallotAny(bool predicate)\r\n{\r\n    uint2 retVal = AmdExtD3DShaderIntrinsics_Ballot(predicate);\r\n\r\n    return ((retVal.x | retVal.y) != 0 ? true : false);\r\n}\r\n\r\n\r\n/**\r\n***********************************************************************************************************************\r\n*   AmdExtD3DShaderIntrinsics_BallotAll\r\n*\r\n*   Convenience routine that uses Ballot and returns true if for all of the active lanes the predicate is true.\r\n*\r\n*   Available if CheckSupport(AmdExtD3DShaderIntrinsicsSupport_Ballot) returned S_OK.\r\n*\r\n***********************************************************************************************************************\r\n*/\r\nbool AmdExtD3DShaderIntrinsics_BallotAll(bool predicate)\r\n{\r\n    uint2 ballot = AmdExtD3DShaderIntrinsics_Ballot(predicate);\r\n\r\n    uint2 execMask = AmdExtD3DShaderIntrinsics_Ballot(true);\r\n\r\n    return ((ballot.x == execMask.x) && (ballot.y == execMask.y));\r\n}\r\n\r\n\r\n/**\r\n***********************************************************************************************************************\r\n*   AmdExtD3DShaderIntrinsics_MBCnt\r\n*\r\n*   Returns the masked bit count of the source register for this thread within all the active threads within a\r\n*   wavefront.\r\n*\r\n*   Available if CheckSupport(AmdExtD3DShaderIntrinsicsSupport_MBCnt) returned S_OK.\r\n*\r\n***********************************************************************************************************************\r\n*/\r\nuint AmdExtD3DShaderIntrinsics_MBCnt(uint2 src)\r\n{\r\n    uint instruction = MakeAmdShaderIntrinsicsInstruction(AmdExtD3DShaderIntrinsicsOpcode_MBCnt, 0, 0);\r\n\r\n    uint retVal;\r\n\r\n    AmdExtD3DShaderIntrinsicsUAV.InterlockedCompareExchange(instruction, src.x, src.y, retVal);\r\n\r\n    return retVal;\r\n}\r\n\r\n/**\r\n***********************************************************************************************************************\r\n*   AmdExtD3DShaderIntrinsics_Min3F\r\n*\r\n*   Returns the minimum value of the three floating point source arguments.\r\n*\r\n*   Available if CheckSupport(AmdExtD3DShaderIntrinsicsSupport_Compare3) returned S_OK.\r\n*\r\n***********************************************************************************************************************\r\n*/\r\nfloat AmdExtD3DShaderIntrinsics_Min3F(float src0, float src1, float src2)\r\n{\r\n    uint minimum;\r\n\r\n    uint instruction1 = MakeAmdShaderIntrinsicsInstruction(AmdExtD3DShaderIntrinsicsOpcode_Min3F,\r\n                                                           AmdExtD3DShaderIntrinsicsOpcodePhase_0,\r\n                                                           0);\r\n    AmdExtD3DShaderIntrinsicsUAV.InterlockedCompareExchange(instruction1, asuint(src0), asuint(src1), minimum);\r\n\r\n    uint instruction2 = MakeAmdShaderIntrinsicsInstruction(AmdExtD3DShaderIntrinsicsOpcode_Min3F,\r\n                                                           AmdExtD3DShaderIntrinsicsOpcodePhase_1,\r\n                                                           0);\r\n    AmdExtD3DShaderIntrinsicsUAV.InterlockedCompareExchange(instruction2, asuint(src2), minimum, minimum);\r\n\r\n    return asfloat(minimum);\r\n}\r\n\r\n/**\r\n***********************************************************************************************************************\r\n*   AmdExtD3DShaderIntrinsics_Min3U\r\n*\r\n*   Returns the minimum value of the three unsigned integer source arguments.\r\n*\r\n*   Available if CheckSupport(AmdExtD3DShaderIntrinsicsSupport_Compare3) returned S_OK.\r\n*\r\n***********************************************************************************************************************\r\n*/\r\nuint AmdExtD3DShaderIntrinsics_Min3U(uint src0, uint src1, uint src2)\r\n{\r\n    uint minimum;\r\n\r\n    uint instruction1 = MakeAmdShaderIntrinsicsInstruction(AmdExtD3DShaderIntrinsicsOpcode_Min3U,\r\n                                                           AmdExtD3DShaderIntrinsicsOpcodePhase_0,\r\n                                                           0);\r\n    AmdExtD3DShaderIntrinsicsUAV.InterlockedCompareExchange(instruction1, src0, src1, minimum);\r\n\r\n    uint instruction2 = MakeAmdShaderIntrinsicsInstruction(AmdExtD3DShaderIntrinsicsOpcode_Min3U,\r\n                                                           AmdExtD3DShaderIntrinsicsOpcodePhase_1,\r\n                                                           0);\r\n    AmdExtD3DShaderIntrinsicsUAV.InterlockedCompareExchange(instruction2, src2, minimum, minimum);\r\n\r\n    return minimum;\r\n}\r\n\r\n/**\r\n***********************************************************************************************************************\r\n*   AmdExtD3DShaderIntrinsics_Med3F\r\n*\r\n*   Returns the median value of the three floating point source arguments.\r\n*\r\n*   Available if CheckSupport(AmdExtD3DShaderIntrinsicsSupport_Compare3) returned S_OK.\r\n*\r\n***********************************************************************************************************************\r\n*/\r\nfloat AmdExtD3DShaderIntrinsics_Med3F(float src0, float src1, float src2)\r\n{\r\n    uint median;\r\n\r\n    uint instruction1 = MakeAmdShaderIntrinsicsInstruction(AmdExtD3DShaderIntrinsicsOpcode_Med3F,\r\n                                                           AmdExtD3DShaderIntrinsicsOpcodePhase_0,\r\n                                                           0);\r\n    AmdExtD3DShaderIntrinsicsUAV.InterlockedCompareExchange(instruction1, asuint(src0), asuint(src1), median);\r\n\r\n    uint instruction2 = MakeAmdShaderIntrinsicsInstruction(AmdExtD3DShaderIntrinsicsOpcode_Med3F,\r\n                                                           AmdExtD3DShaderIntrinsicsOpcodePhase_1,\r\n                                                           0);\r\n    AmdExtD3DShaderIntrinsicsUAV.InterlockedCompareExchange(instruction2, asuint(src2), median, median);\r\n\r\n    return asfloat(median);\r\n}\r\n\r\n/**\r\n***********************************************************************************************************************\r\n*   AmdExtD3DShaderIntrinsics_Med3U\r\n*\r\n*   Returns the median value of the three unsigned integer source arguments.\r\n*\r\n*   Available if CheckSupport(AmdExtD3DShaderIntrinsicsSupport_Compare3) returned S_OK.\r\n*\r\n***********************************************************************************************************************\r\n*/\r\nuint AmdExtD3DShaderIntrinsics_Med3U(uint src0, uint src1, uint src2)\r\n{\r\n    uint median;\r\n\r\n    uint instruction1 = MakeAmdShaderIntrinsicsInstruction(AmdExtD3DShaderIntrinsicsOpcode_Med3U,\r\n                                                           AmdExtD3DShaderIntrinsicsOpcodePhase_0,\r\n                                                           0);\r\n    AmdExtD3DShaderIntrinsicsUAV.InterlockedCompareExchange(instruction1, src0, src1, median);\r\n\r\n    uint instruction2 = MakeAmdShaderIntrinsicsInstruction(AmdExtD3DShaderIntrinsicsOpcode_Med3U,\r\n                                                           AmdExtD3DShaderIntrinsicsOpcodePhase_1,\r\n                                                           0);\r\n    AmdExtD3DShaderIntrinsicsUAV.InterlockedCompareExchange(instruction2, src2, median, median);\r\n\r\n    return median;\r\n}\r\n\r\n/**\r\n***********************************************************************************************************************\r\n*   AmdExtD3DShaderIntrinsics_Max3F\r\n*\r\n*   Returns the maximum value of the three floating point source arguments.\r\n*\r\n*   Available if CheckSupport(AmdExtD3DShaderIntrinsicsSupport_Compare3) returned S_OK.\r\n*\r\n***********************************************************************************************************************\r\n*/\r\nfloat AmdExtD3DShaderIntrinsics_Max3F(float src0, float src1, float src2)\r\n{\r\n    uint maximum;\r\n\r\n    uint instruction1 = MakeAmdShaderIntrinsicsInstruction(AmdExtD3DShaderIntrinsicsOpcode_Max3F,\r\n                                                           AmdExtD3DShaderIntrinsicsOpcodePhase_0,\r\n                                                           0);\r\n    AmdExtD3DShaderIntrinsicsUAV.InterlockedCompareExchange(instruction1, asuint(src0), asuint(src1), maximum);\r\n\r\n    uint instruction2 = MakeAmdShaderIntrinsicsInstruction(AmdExtD3DShaderIntrinsicsOpcode_Max3F,\r\n                                                           AmdExtD3DShaderIntrinsicsOpcodePhase_1,\r\n                                                           0);\r\n    AmdExtD3DShaderIntrinsicsUAV.InterlockedCompareExchange(instruction2, asuint(src2), maximum, maximum);\r\n\r\n    return asfloat(maximum);\r\n}\r\n\r\n/**\r\n***********************************************************************************************************************\r\n*   AmdExtD3DShaderIntrinsics_Max3U\r\n*\r\n*   Returns the maximum value of the three unsigned integer source arguments.\r\n*\r\n*   Available if CheckSupport(AmdExtD3DShaderIntrinsicsSupport_Compare3) returned S_OK.\r\n*\r\n***********************************************************************************************************************\r\n*/\r\nuint AmdExtD3DShaderIntrinsics_Max3U(uint src0, uint src1, uint src2)\r\n{\r\n    uint maximum;\r\n\r\n    uint instruction1 = MakeAmdShaderIntrinsicsInstruction(AmdExtD3DShaderIntrinsicsOpcode_Max3U,\r\n                                                           AmdExtD3DShaderIntrinsicsOpcodePhase_0,\r\n                                                           0);\r\n    AmdExtD3DShaderIntrinsicsUAV.InterlockedCompareExchange(instruction1, src0, src1, maximum);\r\n\r\n    uint instruction2 = MakeAmdShaderIntrinsicsInstruction(AmdExtD3DShaderIntrinsicsOpcode_Max3U,\r\n                                                           AmdExtD3DShaderIntrinsicsOpcodePhase_1,\r\n                                                           0);\r\n    AmdExtD3DShaderIntrinsicsUAV.InterlockedCompareExchange(instruction2, src2, maximum, maximum);\r\n\r\n    return maximum;\r\n}\r\n\r\n/**\r\n***********************************************************************************************************************\r\n*   AmdExtD3DShaderIntrinsics_IjBarycentricCoords\r\n*\r\n*   Returns the (i, j) barycentric coordinate pair for this shader invocation with the specified interpolation mode at\r\n*   the specified pixel location.  Should not be used for \"pull-model\" interpolation, PullModelBarycentricCoords should\r\n*   be used instead\r\n*\r\n*   Available if CheckSupport(AmdExtD3DShaderIntrinsicsSupport_BaryCoord) returned S_OK.\r\n*\r\n*   Can only be used in pixel shader stages.\r\n*\r\n***********************************************************************************************************************\r\n*/\r\nfloat2 AmdExtD3DShaderIntrinsics_IjBarycentricCoords(uint interpMode)\r\n{\r\n    uint2 retVal;\r\n\r\n    uint instruction1 = MakeAmdShaderIntrinsicsInstruction(AmdExtD3DShaderIntrinsicsOpcode_BaryCoord,\r\n                                                           AmdExtD3DShaderIntrinsicsOpcodePhase_0,\r\n                                                           interpMode);\r\n    AmdExtD3DShaderIntrinsicsUAV.InterlockedCompareExchange(instruction1, 0, 0, retVal.x);\r\n\r\n    uint instruction2 = MakeAmdShaderIntrinsicsInstruction(AmdExtD3DShaderIntrinsicsOpcode_BaryCoord,\r\n                                                           AmdExtD3DShaderIntrinsicsOpcodePhase_1,\r\n                                                           interpMode);\r\n    AmdExtD3DShaderIntrinsicsUAV.InterlockedCompareExchange(instruction2, retVal.x, 0, retVal.y);\r\n\r\n    return float2(asfloat(retVal.x), asfloat(retVal.y));\r\n}\r\n\r\n/**\r\n***********************************************************************************************************************\r\n*   AmdExtD3DShaderIntrinsics_PullModelBarycentricCoords\r\n*\r\n*   Returns the (1/W,1/I,1/J) coordinates at the pixel center which can be used for custom interpolation at any\r\n*   location in the pixel.\r\n*\r\n*   Available if CheckSupport(AmdExtD3DShaderIntrinsicsSupport_BaryCoord) returned S_OK.\r\n*\r\n*   Can only be used in pixel shader stages.\r\n*\r\n***********************************************************************************************************************\r\n*/\r\nfloat3 AmdExtD3DShaderIntrinsics_PullModelBarycentricCoords()\r\n{\r\n    uint3 retVal;\r\n\r\n    uint instruction1 = MakeAmdShaderIntrinsicsInstruction(AmdExtD3DShaderIntrinsicsOpcode_BaryCoord,\r\n                                                           AmdExtD3DShaderIntrinsicsOpcodePhase_0,\r\n                                                           AmdExtD3DShaderIntrinsicsBarycentric_PerspPullModel);\r\n    AmdExtD3DShaderIntrinsicsUAV.InterlockedCompareExchange(instruction1, 0, 0, retVal.x);\r\n\r\n    uint instruction2 = MakeAmdShaderIntrinsicsInstruction(AmdExtD3DShaderIntrinsicsOpcode_BaryCoord,\r\n                                                           AmdExtD3DShaderIntrinsicsOpcodePhase_1,\r\n                                                           AmdExtD3DShaderIntrinsicsBarycentric_PerspPullModel);\r\n    AmdExtD3DShaderIntrinsicsUAV.InterlockedCompareExchange(instruction2, retVal.x, 0, retVal.y);\r\n\r\n    uint instruction3 = MakeAmdShaderIntrinsicsInstruction(AmdExtD3DShaderIntrinsicsOpcode_BaryCoord,\r\n                                                           AmdExtD3DShaderIntrinsicsOpcodePhase_2,\r\n                                                           AmdExtD3DShaderIntrinsicsBarycentric_PerspPullModel);\r\n    AmdExtD3DShaderIntrinsicsUAV.InterlockedCompareExchange(instruction3, retVal.y, 0, retVal.z);\r\n\r\n    return float3(asfloat(retVal.x), asfloat(retVal.y), asfloat(retVal.z));\r\n}\r\n\r\n/**\r\n***********************************************************************************************************************\r\n*   AmdExtD3DShaderIntrinsics_VertexParameter\r\n*\r\n*   Returns the triangle's parameter information at the specified triangle vertex.\r\n*   The vertex and parameter indices must specified as immediate values.\r\n*\r\n*   Available if CheckSupport(AmdExtD3DShaderIntrinsicsSupport_VtxParam) returned S_OK.\r\n*\r\n*   Only available in pixel shader stages.\r\n*\r\n***********************************************************************************************************************\r\n*/\r\nfloat4 AmdExtD3DShaderIntrinsics_VertexParameter(uint vertexIdx, uint parameterIdx)\r\n{\r\n    uint4 retVal;\r\n    uint4 instruction;\r\n\r\n    instruction.x = MakeAmdShaderIntrinsicsInstruction(\r\n\t\t     AmdExtD3DShaderIntrinsicsOpcode_VtxParam,\r\n             AmdExtD3DShaderIntrinsicsOpcodePhase_0,\r\n           ((vertexIdx << AmdExtD3DShaderIntrinsicsBarycentric_VtxShift) |\r\n            (parameterIdx << AmdExtD3DShaderIntrinsicsBarycentric_ParamShift) |\r\n            (AmdExtD3DShaderIntrinsicsBarycentric_ComponentX << AmdExtD3DShaderIntrinsicsBarycentric_ComponentShift)));\r\n    AmdExtD3DShaderIntrinsicsUAV.InterlockedCompareExchange(instruction.x, 0, 0, retVal.x);\r\n\r\n    instruction.y = MakeAmdShaderIntrinsicsInstruction(\r\n\t\t     AmdExtD3DShaderIntrinsicsOpcode_VtxParam,\r\n             AmdExtD3DShaderIntrinsicsOpcodePhase_0,\r\n           ((vertexIdx << AmdExtD3DShaderIntrinsicsBarycentric_VtxShift) |\r\n            (parameterIdx << AmdExtD3DShaderIntrinsicsBarycentric_ParamShift) |\r\n            (AmdExtD3DShaderIntrinsicsBarycentric_ComponentY << AmdExtD3DShaderIntrinsicsBarycentric_ComponentShift)));\r\n    AmdExtD3DShaderIntrinsicsUAV.InterlockedCompareExchange(instruction.y, 0, 0, retVal.y);\r\n\r\n    instruction.z = MakeAmdShaderIntrinsicsInstruction(\r\n\t\t     AmdExtD3DShaderIntrinsicsOpcode_VtxParam,\r\n             AmdExtD3DShaderIntrinsicsOpcodePhase_0,\r\n           ((vertexIdx << AmdExtD3DShaderIntrinsicsBarycentric_VtxShift) |\r\n            (parameterIdx << AmdExtD3DShaderIntrinsicsBarycentric_ParamShift) |\r\n            (AmdExtD3DShaderIntrinsicsBarycentric_ComponentZ << AmdExtD3DShaderIntrinsicsBarycentric_ComponentShift)));\r\n    AmdExtD3DShaderIntrinsicsUAV.InterlockedCompareExchange(instruction.z, 0, 0, retVal.z);\r\n\r\n    instruction.w = MakeAmdShaderIntrinsicsInstruction(\r\n\t\t     AmdExtD3DShaderIntrinsicsOpcode_VtxParam,\r\n             AmdExtD3DShaderIntrinsicsOpcodePhase_0,\r\n           ((vertexIdx << AmdExtD3DShaderIntrinsicsBarycentric_VtxShift) |\r\n            (parameterIdx << AmdExtD3DShaderIntrinsicsBarycentric_ParamShift) |\r\n            (AmdExtD3DShaderIntrinsicsBarycentric_ComponentW << AmdExtD3DShaderIntrinsicsBarycentric_ComponentShift)));\r\n    AmdExtD3DShaderIntrinsicsUAV.InterlockedCompareExchange(instruction.w, 0, 0, retVal.w);\r\n\r\n    return float4(asfloat(retVal.x), asfloat(retVal.y), asfloat(retVal.z), asfloat(retVal.w));\r\n}\r\n\r\n/**\r\n***********************************************************************************************************************\r\n*   AmdExtD3DShaderIntrinsics_VertexParameterComponent\r\n*\r\n*   Returns the triangle's parameter information at the specified triangle vertex and component.\r\n*   The vertex, parameter and component indices must be specified as immediate values.\r\n*\r\n*   Available if CheckSupport(AmdExtD3DShaderIntrinsicsSupport_VtxParam) returned S_OK.\r\n*\r\n*   Only available in pixel shader stages.\r\n*\r\n***********************************************************************************************************************\r\n*/\r\nfloat AmdExtD3DShaderIntrinsics_VertexParameterComponent(uint vertexIdx, uint parameterIdx, uint componentIdx)\r\n{\r\n    uint retVal;\r\n    uint instruction =\r\n\t\tMakeAmdShaderIntrinsicsInstruction(AmdExtD3DShaderIntrinsicsOpcode_VtxParam,\r\n                                           AmdExtD3DShaderIntrinsicsOpcodePhase_0,\r\n                                          ((vertexIdx << AmdExtD3DShaderIntrinsicsBarycentric_VtxShift) |\r\n                                           (parameterIdx << AmdExtD3DShaderIntrinsicsBarycentric_ParamShift) |\r\n                                           (componentIdx << AmdExtD3DShaderIntrinsicsBarycentric_ComponentShift)));\r\n    AmdExtD3DShaderIntrinsicsUAV.InterlockedCompareExchange(instruction, 0, 0, retVal);\r\n\r\n    return asfloat(retVal);\r\n}\r\n\r\n#endif // AMDEXTD3DSHADERINTRINICS_HLSL\r\n"
  },
  {
    "path": "external/ags_lib/inc/amd_ags.h",
    "content": "//\r\n// Copyright (c) 2016 Advanced Micro Devices, Inc. All rights reserved.\r\n//\r\n// Permission is hereby granted, free of charge, to any person obtaining a copy\r\n// of this software and associated documentation files (the \"Software\"), to deal\r\n// in the Software without restriction, including without limitation the rights\r\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\n// copies of the Software, and to permit persons to whom the Software is\r\n// furnished to do so, subject to the following conditions:\r\n//\r\n// The above copyright notice and this permission notice shall be included in\r\n// all copies or substantial portions of the Software.\r\n//\r\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE\r\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r\n// THE SOFTWARE.\r\n//\r\n#ifndef AMD_AGS_H\r\n#define AMD_AGS_H\r\n\r\n#define AMD_AGS_VERSION_MAJOR 4\r\n#define AMD_AGS_VERSION_MINOR 0\r\n#define AMD_AGS_VERSION_PATCH 3\r\n\r\n#ifdef __cplusplus\r\nextern \"C\" {\r\n#endif\r\n\r\n\r\n#define AMD_AGS_API __declspec(dllexport)\r\n\r\n// Forward declaration of D3D11 types\r\nstruct ID3D11Device;\r\nstruct ID3D11Resource;\r\nstruct ID3D11Buffer;\r\nstruct ID3D11Texture1D;\r\nstruct ID3D11Texture2D;\r\nstruct ID3D11Texture3D;\r\nstruct D3D11_BUFFER_DESC;\r\nstruct D3D11_TEXTURE1D_DESC;\r\nstruct D3D11_TEXTURE2D_DESC;\r\nstruct D3D11_TEXTURE3D_DESC;\r\nstruct D3D11_SUBRESOURCE_DATA;\r\nstruct tagRECT;\r\ntypedef tagRECT D3D11_RECT;\r\n\r\n// Forward declaration of D3D12 types\r\nstruct ID3D12Device;\r\n\r\n\r\nenum AGSReturnCode\r\n{\r\n    AGS_SUCCESS,\r\n    AGS_INVALID_ARGS,\r\n    AGS_OUT_OF_MEMORY,\r\n    AGS_ERROR_MISSING_DLL,\r\n    AGS_ERROR_LEGACY_DRIVER,    // returned if driver doesn't support ADL2 (from before AMD Catalyst driver 12.20)\r\n    AGS_EXTENSION_NOT_SUPPORTED,\r\n    AGS_ADL_FAILURE,\r\n};\r\n\r\nenum AGSDriverExtensionDX11\r\n{\r\n    AGS_DX11_EXTENSION_QUADLIST = 1 << 0,\r\n    AGS_DX11_EXTENSION_SCREENRECTLIST = 1 << 1,\r\n    AGS_DX11_EXTENSION_UAV_OVERLAP = 1 << 2,\r\n    AGS_DX11_EXTENSION_DEPTH_BOUNDS_TEST = 1 << 3,\r\n    AGS_DX11_EXTENSION_MULTIDRAWINDIRECT = 1 << 4,\r\n    AGS_DX11_EXTENSION_MULTIDRAWINDIRECT_COUNTINDIRECT = 1 << 5,\r\n    AGS_DX11_EXTENSION_CROSSFIRE_API = 1 << 6,\r\n    AGS_DX11_EXTENSION_INTRINSIC_READFIRSTLANE = 1 << 7,\r\n    AGS_DX11_EXTENSION_INTRINSIC_READLANE = 1 << 8,\r\n    AGS_DX11_EXTENSION_INTRINSIC_LANEID = 1 << 9,\r\n    AGS_DX11_EXTENSION_INTRINSIC_SWIZZLE = 1 << 10,\r\n    AGS_DX11_EXTENSION_INTRINSIC_BALLOT = 1 << 11,\r\n    AGS_DX11_EXTENSION_INTRINSIC_MBCOUNT = 1 << 12,\r\n    AGS_DX11_EXTENSION_INTRINSIC_COMPARE3 = 1 << 13,\r\n    AGS_DX11_EXTENSION_INTRINSIC_BARYCENTRICS = 1 << 14\r\n};\r\n\r\nenum AGSDriverExtensionDX12\r\n{\r\n    AGS_DX12_EXTENSION_INTRINSIC_READFIRSTLANE = 1 << 0,\r\n    AGS_DX12_EXTENSION_INTRINSIC_READLANE = 1 << 1,\r\n    AGS_DX12_EXTENSION_INTRINSIC_LANEID = 1 << 2,\r\n    AGS_DX12_EXTENSION_INTRINSIC_SWIZZLE = 1 << 3,\r\n    AGS_DX12_EXTENSION_INTRINSIC_BALLOT = 1 << 4,\r\n    AGS_DX12_EXTENSION_INTRINSIC_MBCOUNT = 1 << 5,\r\n    AGS_DX12_EXTENSION_INTRINSIC_COMPARE3 = 1 << 6,\r\n    AGS_DX12_EXTENSION_INTRINSIC_BARYCENTRICS = 1 << 7\r\n};\r\n\r\nconst unsigned int AGS_DX12_SHADER_INSTRINSICS_SPACE_ID = 0x7FFF0ADE; // 2147420894\r\n\r\nenum AGSPrimitiveTopology\r\n{\r\n    AGS_PRIMITIVE_TOPOLOGY_QUADLIST = 7,\r\n    AGS_PRIMITIVE_TOPOLOGY_SCREENRECTLIST = 9\r\n};\r\n\r\nenum AGSCrossfireMode\r\n{\r\n    AGS_CROSSFIRE_MODE_DRIVER_AFR = 0,  // Use the default driver-based AFR rendering\r\n    AGS_CROSSFIRE_MODE_EXPLICIT_AFR,    // Use the AGS Crossfire API functions to perform explicit AFR rendering\r\n    AGS_CROSSFIRE_MODE_DISABLE          // Completely disable AFR rendering\r\n};\r\n\r\nenum AGSAfrTransferType\r\n{\r\n    AGS_AFR_TRANSFER_DEFAULT                = 0, // default Crossfire driver resource tracking\r\n    AGS_AFR_TRANSFER_DISABLE                = 1, // turn off driver resource tracking\r\n    AGS_AFR_TRANSFER_1STEP_P2P              = 2, // app controlled GPU to next GPU transfer\r\n    AGS_AFR_TRANSFER_2STEP_NO_BROADCAST     = 3, // app controlled GPU to next GPU transfer using intermediate system memory\r\n    AGS_AFR_TRANSFER_2STEP_WITH_BROADCAST   = 4, // app controlled GPU to all render GPUs transfer using intermediate system memory\r\n};\r\n\r\nstruct AGSContext;  // All function calls in AGS require a pointer to a context. This is generated via agsInit\r\n\r\nstruct AGSRect\r\n{\r\n    int iXOffset;\r\n    int iYOffset;\r\n    int iWidth;\r\n    int iHeight;\r\n};\r\n\r\nstruct AGSEyefinityInfo\r\n{\r\n    int iSLSActive;                 // Indicates if Eyefinity is active for the operating system display\r\n                                    // index passed into atiEyefinityGetConfigInfo(). 1 if enabled and 0 if disabled.\r\n\r\n    int iSLSGridWidth;              // Contains width of the multi-monitor grid that makes up the Eyefinity Single Large Surface.\r\n                                    // For example, a 3 display wide by 2 high Eyefinity setup will return 3 for this entry.\r\n    int iSLSGridHeight;             // Contains height of the multi-monitor grid that makes up the Eyefinity Single Large Surface.\r\n                                    // For example, a 3 display wide by 2 high Eyefinity setup will return 2 for this entry.\r\n\r\n    int iSLSWidth;                  // Contains width in pixels of the multi-monitor Single Large Surface. The value returned is\r\n                                    // a function of the width of the SLS grid, of the horizontal resolution of each display, and\r\n                                    // of whether or not bezel compensation is enabled.\r\n    int iSLSHeight;                 // Contains height in pixels of the multi-monitor Single Large Surface. The value returned is\r\n                                    // a function of the height of the SLS grid, of the vertical resolution of each display, and\r\n                                    // of whether or not bezel compensation is enabled.\r\n\r\n    int iBezelCompensatedDisplay;   // Indicates if bezel compensation is used for the current SLS display area.\r\n                                    // 1 if enabled, and 0 if disabled.\r\n};\r\n\r\nstruct AGSDisplayInfo\r\n{\r\n    int iGridXCoord;                // Contains horizontal SLS grid coordinate of the display. The value is zero based with\r\n                                    // increasing values from left to right of the overall SLS grid. For example, the left-most\r\n                                    // display of a 3x2 Eyefinity setup will have the value 0, and the right-most will have\r\n                                    // the value 2.\r\n    int iGridYCoord;                // Contains vertical SLS grid coordinate of the display. The value is zero based with\r\n                                    // increasing values from top to bottom of the overall SLS grid. For example, the top\r\n                                    // display of a 3x2 Eyefinity setup will have the value 0, and the bottom will have the\r\n                                    // value 1.\r\n\r\n    AGSRect displayRect;            // Contains the base offset and dimensions in pixels of the SLS rendering\r\n                                    // area associated with this display. If bezel compensation is enabled, this\r\n                                    // area will be larger than what the display can natively present to account\r\n                                    // for bezel area. If bezel compensation is disabled, this area will be equal\r\n                                    // to what the display can support natively.\r\n\r\n    AGSRect displayRectVisible;     // Contains the base offset and dimensions in pixels of the SLS rendering area\r\n                                    // associated with this display that is visible to the end user. If bezel\r\n                                    // compensation is enabled, this area will be equal to what the display can\r\n                                    // natively, but smaller that the area described in the displayRect entry. If\r\n                                    // bezel compensation is disabled, this area will be equal to what the display\r\n                                    // can support natively and equal to the area described in the displayRect entry.\r\n                                    // Developers wishing to place UI, HUD, or other game assets on a given display\r\n                                    // so that it is visible and accessible to end users need to locate them inside\r\n                                    // of the region defined by this rect.\r\n\r\n    int iPreferredDisplay;          // Indicates whether or not this display is the preferred one for rendering of\r\n                                    // game HUD and UI elements. Only one display out of the whole SLS grid will have\r\n                                    // this be true if it is the preferred display and 0 otherwise. Developers wishing\r\n                                    // to place specific UI, HUD, or other game assets on a given display so that it\r\n                                    // is visible and accessible to end users need to locate them inside of the region\r\n                                    // defined by this rect.\r\n};\r\n\r\nstruct AGSConfiguration\r\n{\r\n    AGSCrossfireMode        crossfireMode;                  // Desired Crossfire mode. See AGSCrossfireMode for more details\r\n};\r\n\r\nstruct AGSGPUInfo\r\n{\r\n    enum ArchitectureVersion\r\n    {\r\n        ArchitectureVersion_Unknown,\r\n        ArchitectureVersion_PreGCN,\r\n        ArchitectureVersion_GCN\r\n    };\r\n\r\n    int                     agsVersionMajor;                // Major field of Major.Minor.Patch AGS version number\r\n    int                     agsVersionMinor;                // Minor field of Major.Minor.Patch AGS version number\r\n    int                     agsVersionPatch;                // Patch field of Major.Minor.Patch AGS version number\r\n\r\n    ArchitectureVersion     architectureVersion;            // Set to Unknown if not AMD hardware\r\n    const char*             adapterString;                  // The adapter name string. NULL if not AMD hardware\r\n    int                     deviceId;                       // The device id\r\n    int                     revisionId;                     // The revision id\r\n\r\n    const char*             driverVersion;                  // The driver package version\r\n    const char*             radeonSoftwareVersion;          // The Radeon Software Version\r\n\r\n    int                     iNumCUs;                        // Number of GCN compute units. Zero if not GCN\r\n    int                     iCoreClock;                     // core clock speed at 100% power in MHz\r\n    int                     iMemoryClock;                   // memory clock speed at 100% power in MHz\r\n    float                   fTFlops;                        // Teraflops of GPU. Zero if not GCN. Calculated from iCoreClock * iNumCUs * 64 Pixels/clk * 2 instructions/MAD\r\n};\r\n\r\n// Description\r\n//   Function used to initialize the AGS library.\r\n//   Must be called prior to any of the subsequent AGS API calls.\r\n//   Must be called prior to ID3D11Device or ID3D12Device creation.\r\n//\r\n// Input params\r\n//   context - Address of a pointer to a context. This function allocates a context on the heap which is then required for all subsequent API calls.\r\n//   config  - Optional pointer to a AGSConfiguration struct to override the default library configuration.\r\n//   gpuInfo - Optional pointer to a AGSGPUInfo struct which will get filled in for the primary adapter.\r\n//\r\nAMD_AGS_API AGSReturnCode agsInit( AGSContext** context, const AGSConfiguration* config, AGSGPUInfo* gpuInfo );\r\n\r\n// Description\r\n//   Function used to clean up the AGS library.\r\n//\r\n// Input params\r\n//   context - Pointer to a context. This function will deallocate the context from the heap.\r\n//\r\nAMD_AGS_API AGSReturnCode agsDeInit( AGSContext* context );\r\n\r\n// Description\r\n//   Function used to query the number of GPUs used for Crossfire acceleration.\r\n//   This may be different from the total number of GPUs present in the system\r\n//   which you can query using agsGetTotalGPUCount which reports all GPUs,\r\n//   even if they are not configured for Crossfire.\r\n//\r\n// Input params\r\n//   context - Pointer to a context.\r\n//\r\n// Output params\r\n//   numGPUs - Number of GPUs used for Crossfire acceleration\r\n//\r\nAMD_AGS_API AGSReturnCode agsGetCrossfireGPUCount( AGSContext* context, int* numGPUs );\r\n\r\n// Description\r\n//   Function used to query the number of GPUs in the system.\r\n//   This number may be different from agsGetCrossfireGPUCount as it reports\r\n//   all devices installed in the system, and not only those configured for\r\n//   Crossfire.\r\n//\r\n// Input params\r\n//   context - Pointer to a context.\r\n//\r\n// Output params\r\n//   numGPUs - Number of GPUs in the system.\r\n//\r\nAMD_AGS_API AGSReturnCode agsGetTotalGPUCount( AGSContext* context, int* numGPUs );\r\n\r\n// Description\r\n//   Function used to query the memory size of a GPU. The number of GPUs should\r\n//   be obtained using agsGetTotalGPUCount\r\n//\r\n// Input params\r\n//   context - Pointer to a context.\r\n//   gpuIndex - The GPU index to query\r\n//\r\n// Output params\r\n//   sizeInBytes - Memory size on the device in bytes\r\n//\r\nAMD_AGS_API AGSReturnCode agsGetGPUMemorySize( AGSContext* context, int gpuIndex, long long* sizeInBytes );\r\n\r\n// Description\r\n//   Function used to query Eyefinity configuration state information relevant to ISVs. State info returned\r\n//   includes: whether Eyefinity is enabled or not, SLS grid configuration, SLS dimensions, whether bezel\r\n//   compensation is enabled or not, SLS grid coordinate for each display, total rendering area for each\r\n//   display, visible rendering area for each display, and a preferred display flag.\r\n//\r\n//   This function needs to be called twice. Firstly to null into eyefinityInfo and displaysInfo. This will\r\n//   return the number of AGSDisplayInfo objects to allocate.\r\n//   Second call requires valid pointers to eyefinityInfo and the newly allocated displaysInfo array. It is the\r\n//   responsibility of the caller to free this memory.\r\n//\r\n//\r\n// Input params\r\n//   context -         Pointer to a context.\r\n//   displayIndex -    Operating system specific display index identifier. The value used should be the\r\n//                     index of the display used for rendering operations. On Windows operating systems,\r\n//                     the value can be queried using the EnumDisplayDevices() API.\r\n//\r\n// Output params\r\n//   eyefinityInfo -   This is a pointer to an AGSEyefinityInfo structure that contains system Eyefinity\r\n//                     configuration information.\r\n//   numDisplaysInfo - Pointer to the number of AGSDisplayInfo structures stored in the returned\r\n//                     displaysInfo array. The value returned is equal to the number of displays\r\n//                     used for the Eyefinity setup.\r\n//   displaysInfo -    Pointer to an array of AGSDisplayInfo structures that contains per display\r\n//                     Eyefinity configuration information.\r\n//\r\nAMD_AGS_API AGSReturnCode agsGetEyefinityConfigInfo( AGSContext* context, int displayIndex, AGSEyefinityInfo* eyefinityInfo, int* numDisplaysInfo, AGSDisplayInfo* displaysInfo );\r\n\r\n\r\n// Description\r\n//   Function used to initialize the AMD-specific driver extensions for D3D12\r\n//\r\n// Input params\r\n//   context -             Pointer to a context. This is generated by agsInit()\r\n//   device -              The D3D12 device.\r\n//   extensionsSupported - Pointer to a bit mask that this function will fill in to indicate which extensions are supported.\r\n//\r\nAMD_AGS_API AGSReturnCode agsDriverExtensionsDX12_Init( AGSContext* context, ID3D12Device* device, unsigned int* extensionsSupported );\r\n\r\n// Description\r\n//   Function used to cleanup any AMD-specific driver extensions for D3D12\r\n//\r\n// Input params\r\n//   context -             Pointer to a context.\r\n//\r\nAMD_AGS_API AGSReturnCode agsDriverExtensionsDX12_DeInit( AGSContext* context );\r\n\r\n\r\n// Description\r\n//   Function used to initialize the AMD-specific driver extensions for D3D11\r\n//\r\n// Input params\r\n//   context -             Pointer to a context. This is generated by agsInit()\r\n//   device -              The D3D11 device.\r\n//   uavSlot -             The UAV slot reserved for intrinsic support. This must match the slot defined in the HLSL, ie #define AmdDxExtShaderIntrinsicsUAVSlot.\r\n//                         The default slot is 7, but the caller is free to use an alternative slot.\r\n//   extensionsSupported - Pointer to a bit mask that this function will fill in to indicate which extensions are supported.\r\n//\r\nAMD_AGS_API AGSReturnCode agsDriverExtensionsDX11_Init( AGSContext* context, ID3D11Device* device, unsigned int uavSlot, unsigned int* extensionsSupported );\r\n\r\n// Description\r\n//   Function used to cleanup any AMD-specific driver extensions for D3D11\r\n//\r\n// Input params\r\n//   context -             Pointer to a context.\r\n//\r\nAMD_AGS_API AGSReturnCode agsDriverExtensionsDX11_DeInit( AGSContext* context );\r\n\r\n// Description\r\n//   Function used to set the primitive topology. If you are using any of the extended topology types, then this function should\r\n//   be called to set ALL topology types.\r\n//\r\n// Input params\r\n//   context -             Pointer to a context.\r\n//   topology -            The topology to set on the D3D11 device. This can be either an AGS-defined topology such as AGS_PRIMITIVE_TOPOLOGY_QUAD_LIST\r\n//                         or a standard D3D-defined topology such as D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP.\r\n//                         NB. the AGS-defined types will require casting to a D3D_PRIMITIVE_TOPOLOGY type.\r\n//\r\nAMD_AGS_API AGSReturnCode agsDriverExtensionsDX11_IASetPrimitiveTopology( AGSContext* context, enum D3D_PRIMITIVE_TOPOLOGY topology );\r\n\r\n// Description\r\n//   Function used indicate to the driver it can overlap the subsequent batch of back-to-back dispatches\r\n//\r\n// Input params\r\n//   context -             Pointer to a context.\r\n//\r\nAMD_AGS_API AGSReturnCode agsDriverExtensionsDX11_BeginUAVOverlap( AGSContext* context );\r\n\r\n// Description\r\n//   Function used indicate to the driver it can no longer overlap the batch of back-to-back dispatches that has been submitted\r\n//\r\n// Input params\r\n//   context -             Pointer to a context.\r\n//\r\nAMD_AGS_API AGSReturnCode agsDriverExtensionsDX11_EndUAVOverlap( AGSContext* context );\r\n\r\n// Description\r\n//   Function used to set the depth bounds test extension\r\n//\r\n// Input params\r\n//   context -  Pointer to a context.\r\n//   enabled -  Whether to enable or disable the depth bounds testing. If disabled, the next two args are ignored.\r\n//   minDepth - The near depth range to clip against.\r\n//   maxDepth - The far depth range to clip against.\r\n//\r\nAMD_AGS_API AGSReturnCode agsDriverExtensionsDX11_SetDepthBounds( AGSContext* context, bool enabled, float minDepth, float maxDepth );\r\n\r\n// Description\r\n//   Function used to submit a batch of draws via MultiDrawIndirect\r\n//\r\n// Input params\r\n//   context -                      Pointer to a context.\r\n//   drawCount -                    The number of draws.\r\n//   pBufferForArgs -               The args buffer.\r\n//   alignedByteOffsetForArgs -     The offset into the args buffer.\r\n//   byteStrideForArgs -            The per element stride of the args buffer.\r\n//\r\nAMD_AGS_API AGSReturnCode agsDriverExtensionsDX11_MultiDrawInstancedIndirect( AGSContext* context, unsigned int drawCount, ID3D11Buffer* pBufferForArgs, unsigned int alignedByteOffsetForArgs, unsigned int byteStrideForArgs );\r\n\r\n// Description\r\n//   Function used to submit a batch of draws via MultiDrawIndirect\r\n//\r\n// Input params\r\n//   context -                      Pointer to a context.\r\n//   drawCount -                    The number of draws.\r\n//   pBufferForArgs -               The args buffer.\r\n//   alignedByteOffsetForArgs -     The offset into the args buffer.\r\n//   byteStrideForArgs -            The per element stride of the args buffer.\r\n//\r\nAMD_AGS_API AGSReturnCode agsDriverExtensionsDX11_MultiDrawIndexedInstancedIndirect( AGSContext* context, unsigned int drawCount, ID3D11Buffer* pBufferForArgs, unsigned int alignedByteOffsetForArgs, unsigned int byteStrideForArgs );\r\n\r\n// Description\r\n//   Function used to submit a batch of draws via MultiDrawIndirect\r\n//\r\n// Input params\r\n//   context -                          Pointer to a context.\r\n//   pBufferForDrawCount -              The draw count buffer.\r\n//   alignedByteOffsetForDrawCount -    The offset into the draw count buffer.\r\n//   pBufferForArgs -                   The args buffer.\r\n//   alignedByteOffsetForArgs -         The offset into the args buffer.\r\n//   byteStrideForArgs -                The per element stride of the args buffer.\r\n//\r\nAMD_AGS_API AGSReturnCode agsDriverExtensionsDX11_MultiDrawInstancedIndirectCountIndirect( AGSContext* context, ID3D11Buffer* pBufferForDrawCount, unsigned int alignedByteOffsetForDrawCount, ID3D11Buffer* pBufferForArgs, unsigned int alignedByteOffsetForArgs, unsigned int byteStrideForArgs );\r\n\r\n// Description\r\n//   Function used to submit a batch of draws via MultiDrawIndirect\r\n//\r\n// Input params\r\n//   context -                          Pointer to a context.\r\n//   pBufferForDrawCount -              The draw count buffer.\r\n//   alignedByteOffsetForDrawCount -    The offset into the draw count buffer.\r\n//   pBufferForArgs -                   The args buffer.\r\n//   alignedByteOffsetForArgs -         The offset into the args buffer.\r\n//   byteStrideForArgs -                The per element stride of the args buffer.\r\n//\r\nAMD_AGS_API AGSReturnCode agsDriverExtensionsDX11_MultiDrawIndexedInstancedIndirectCountIndirect( AGSContext* context, ID3D11Buffer* pBufferForDrawCount, unsigned int alignedByteOffsetForDrawCount, ID3D11Buffer* pBufferForArgs, unsigned int alignedByteOffsetForArgs, unsigned int byteStrideForArgs );\r\n\r\n// Description\r\n//   Functions to create a Direct3D11 resource with the specified AFR transfer type\r\n//\r\n// Input params\r\n//   context -             Pointer to a context.\r\n//   desc -                Pointer to the D3D11 resource description.\r\n//   initialData -         Optional pointer to the initializing data for the resource.\r\n//   transferType -        The transfer behavior. See AGSAfrTransferType for more details.\r\n//\r\n// Output params\r\n//   buffer/texture -      Returned pointer to the resource.\r\n//\r\nAMD_AGS_API AGSReturnCode agsDriverExtensionsDX11_CreateBuffer( AGSContext* context, const D3D11_BUFFER_DESC* desc, const D3D11_SUBRESOURCE_DATA* initialData, ID3D11Buffer** buffer, AGSAfrTransferType transferType );\r\nAMD_AGS_API AGSReturnCode agsDriverExtensionsDX11_CreateTexture1D( AGSContext* context, const D3D11_TEXTURE1D_DESC* desc, const D3D11_SUBRESOURCE_DATA* initialData, ID3D11Texture1D** texture1D, AGSAfrTransferType transferType );\r\nAMD_AGS_API AGSReturnCode agsDriverExtensionsDX11_CreateTexture2D( AGSContext* context, const D3D11_TEXTURE2D_DESC* desc, const D3D11_SUBRESOURCE_DATA* initialData, ID3D11Texture2D** texture2D, AGSAfrTransferType transferType );\r\nAMD_AGS_API AGSReturnCode agsDriverExtensionsDX11_CreateTexture3D( AGSContext* context, const D3D11_TEXTURE3D_DESC* desc, const D3D11_SUBRESOURCE_DATA* initialData, ID3D11Texture3D** texture3D, AGSAfrTransferType transferType );\r\n\r\n// Description\r\n//   Functions to notify the driver that we have finished writing to the resource this frame.\r\n//      This will initiate a transfer for AGS_AFR_TRANSFER_1STEP_P2P,\r\n//      AGS_AFR_TRANSFER_2STEP_NO_BROADCAST, and AGS_AFR_TRANSFER_2STEP_WITH_BROADCAST.\r\n//\r\n// Input params\r\n//   context -             Pointer to a context.\r\n//   resource -            Pointer to the resource.\r\n//   transferRegions -     An array of transfer regions (can be null to specify the whole area).\r\n//   subresourceArray -    An array of subresource indices (can be null to specify all subresources).\r\n//   numSubresources -     The number of subresources in subresourceArray OR number of transferRegions. Use 0 to specify ALL subresources and one transferRegion (which may be null if specifying the whole area).\r\n//\r\nAMD_AGS_API AGSReturnCode agsDriverExtensionsDX11_NotifyResourceEndWrites( AGSContext* context, ID3D11Resource* resource, const D3D11_RECT* transferRegions, const unsigned int* subresourceArray, unsigned int numSubresources );\r\n\r\n// Description\r\n//   This will notify the driver that the app will begin read/write access to the resource.\r\n//\r\n// Input params\r\n//   context -             Pointer to a context.\r\n//   resource -            Pointer to the resource.\r\n//\r\nAMD_AGS_API AGSReturnCode agsDriverExtensionsDX11_NotifyResourceBeginAllAccess( AGSContext* context, ID3D11Resource* resource );\r\n\r\n// Description\r\n//   This is used for AGS_AFR_TRANSFER_1STEP_P2P to notify when it is safe to initiate a transfer.\r\n//   This call in frame N-(NumGpus-1) allows a 1 step P2P in frame N to start.\r\n//   This should be called after agsDriverExtensionsDX11_NotifyResourceEndWrites.\r\n//\r\n// Input params\r\n//   context -             Pointer to a context.\r\n//   resource -            Pointer to the resource.\r\n//\r\nAMD_AGS_API AGSReturnCode agsDriverExtensionsDX11_NotifyResourceEndAllAccess( AGSContext* context, ID3D11Resource* resource );\r\n\r\n\r\n#ifdef __cplusplus\r\n} // extern \"C\"\r\n#endif\r\n\r\n#endif // AMD_AGS_H\r\n"
  },
  {
    "path": "external/cub-1.3.2/cub/block/block_discontinuity.cuh",
    "content": "/******************************************************************************\n * Copyright (c) 2011, Duane Merrill.  All rights reserved.\n * Copyright (c) 2011-2014, NVIDIA CORPORATION.  All rights reserved.\n * \n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *     * Redistributions of source code must retain the above copyright\n *       notice, this list of conditions and the following disclaimer.\n *     * Redistributions in binary form must reproduce the above copyright\n *       notice, this list of conditions and the following disclaimer in the\n *       documentation and/or other materials provided with the distribution.\n *     * Neither the name of the NVIDIA CORPORATION nor the\n *       names of its contributors may be used to endorse or promote products\n *       derived from this software without specific prior written permission.\n * \n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n ******************************************************************************/\n\n/**\n * \\file\n * The cub::BlockDiscontinuity class provides [<em>collective</em>](index.html#sec0) methods for flagging discontinuities within an ordered set of items partitioned across a CUDA thread block.\n */\n\n#pragma once\n\n#include \"../util_type.cuh\"\n#include \"../util_ptx.cuh\"\n#include \"../util_namespace.cuh\"\n\n/// Optional outer namespace(s)\nCUB_NS_PREFIX\n\n/// CUB namespace\nnamespace cub {\n\n/**\n * \\brief The BlockDiscontinuity class provides [<em>collective</em>](index.html#sec0) methods for flagging discontinuities within an ordered set of items partitioned across a CUDA thread block. ![](discont_logo.png)\n * \\ingroup BlockModule\n *\n * \\tparam T                The data type to be flagged.\n * \\tparam BLOCK_DIM_X      The thread block length in threads along the X dimension\n * \\tparam BLOCK_DIM_Y      <b>[optional]</b> The thread block length in threads along the Y dimension (default: 1)\n * \\tparam BLOCK_DIM_Z      <b>[optional]</b> The thread block length in threads along the Z dimension (default: 1)\n * \\tparam PTX_ARCH         <b>[optional]</b> \\ptxversion\n *\n * \\par Overview\n * - A set of \"head flags\" (or \"tail flags\") is often used to indicate corresponding items\n *   that differ from their predecessors (or successors).  For example, head flags are convenient\n *   for demarcating disjoint data segments as part of a segmented scan or reduction.\n * - \\blocked\n *\n * \\par Performance Considerations\n * - \\granularity\n *\n * \\par A Simple Example\n * \\blockcollective{BlockDiscontinuity}\n * \\par\n * The code snippet below illustrates the head flagging of 512 integer items that\n * are partitioned in a [<em>blocked arrangement</em>](index.html#sec5sec3) across 128 threads\n * where each thread owns 4 consecutive items.\n * \\par\n * \\code\n * #include <cub/cub.cuh>   // or equivalently <cub/block/block_discontinuity.cuh>\n *\n * __global__ void ExampleKernel(...)\n * {\n *     // Specialize BlockDiscontinuity for a 1D block of 128 threads on type int\n *     typedef cub::BlockDiscontinuity<int, 128> BlockDiscontinuity;\n *\n *     // Allocate shared memory for BlockDiscontinuity\n *     __shared__ typename BlockDiscontinuity::TempStorage temp_storage;\n *\n *     // Obtain a segment of consecutive items that are blocked across threads\n *     int thread_data[4];\n *     ...\n *\n *     // Collectively compute head flags for discontinuities in the segment\n *     int head_flags[4];\n *     BlockDiscontinuity(temp_storage).FlagHeads(head_flags, thread_data, cub::Inequality());\n *\n * \\endcode\n * \\par\n * Suppose the set of input \\p thread_data across the block of threads is\n * <tt>{ [0,0,1,1], [1,1,1,1], [2,3,3,3], [3,4,4,4], ... }</tt>.\n * The corresponding output \\p head_flags in those threads will be\n * <tt>{ [1,0,1,0], [0,0,0,0], [1,1,0,0], [0,1,0,0], ... }</tt>.\n *\n * \\par Performance Considerations\n * - Incurs zero bank conflicts for most types\n *\n */\ntemplate <\n    typename    T,\n    int         BLOCK_DIM_X,\n    int         BLOCK_DIM_Y     = 1,\n    int         BLOCK_DIM_Z     = 1,\n    int         PTX_ARCH        = CUB_PTX_ARCH>\nclass BlockDiscontinuity\n{\nprivate:\n\n    /******************************************************************************\n     * Constants and type definitions\n     ******************************************************************************/\n\n    /// Constants\n    enum\n    {\n        /// The thread block size in threads\n        BLOCK_THREADS = BLOCK_DIM_X * BLOCK_DIM_Y * BLOCK_DIM_Z,\n    };\n\n\n    /// Shared memory storage layout type (last element from each thread's input)\n    typedef T _TempStorage[BLOCK_THREADS];\n\n\n    /******************************************************************************\n     * Utility methods\n     ******************************************************************************/\n\n    /// Internal storage allocator\n    __device__ __forceinline__ _TempStorage& PrivateStorage()\n    {\n        __shared__ _TempStorage private_storage;\n        return private_storage;\n    }\n\n\n    /// Specialization for when FlagOp has third index param\n    template <typename FlagOp, bool HAS_PARAM = BinaryOpHasIdxParam<T, FlagOp>::HAS_PARAM>\n    struct ApplyOp\n    {\n        // Apply flag operator\n        static __device__ __forceinline__ bool Flag(FlagOp flag_op, const T &a, const T &b, int idx)\n        {\n            return flag_op(a, b, idx);\n        }\n    };\n\n    /// Specialization for when FlagOp does not have a third index param\n    template <typename FlagOp>\n    struct ApplyOp<FlagOp, false>\n    {\n        // Apply flag operator\n        static __device__ __forceinline__ bool Flag(FlagOp flag_op, const T &a, const T &b, int idx)\n        {\n            return flag_op(a, b);\n        }\n    };\n\n    /// Templated unrolling of item comparison (inductive case)\n    template <int ITERATION, int MAX_ITERATIONS>\n    struct Iterate\n    {\n        template <\n            int             ITEMS_PER_THREAD,\n            typename        FlagT,\n            typename        FlagOp>\n        static __device__ __forceinline__ void FlagItems(\n            int                     linear_tid,\n            FlagT                   (&flags)[ITEMS_PER_THREAD],         ///< [out] Calling thread's discontinuity head_flags\n            T                       (&input)[ITEMS_PER_THREAD],         ///< [in] Calling thread's input items\n            FlagOp                  flag_op)                            ///< [in] Binary boolean flag predicate\n        {\n            flags[ITERATION] = ApplyOp<FlagOp>::Flag(\n                flag_op,\n                input[ITERATION - 1],\n                input[ITERATION],\n                (linear_tid * ITEMS_PER_THREAD) + ITERATION);\n\n            Iterate<ITERATION + 1, MAX_ITERATIONS>::FlagItems(linear_tid, flags, input, flag_op);\n        }\n    };\n\n    /// Templated unrolling of item comparison (termination case)\n    template <int MAX_ITERATIONS>\n    struct Iterate<MAX_ITERATIONS, MAX_ITERATIONS>\n    {\n        template <\n            int             ITEMS_PER_THREAD,\n            typename        FlagT,\n            typename        FlagOp>\n        static __device__ __forceinline__ void FlagItems(\n            int                     linear_tid,\n            FlagT                   (&flags)[ITEMS_PER_THREAD],         ///< [out] Calling thread's discontinuity head_flags\n            T                       (&input)[ITEMS_PER_THREAD],         ///< [in] Calling thread's input items\n            FlagOp                  flag_op)                            ///< [in] Binary boolean flag predicate\n        {}\n    };\n\n\n    /******************************************************************************\n     * Thread fields\n     ******************************************************************************/\n\n    /// Shared storage reference\n    _TempStorage &temp_storage;\n\n    /// Linear thread-id\n    int linear_tid;\n\n\npublic:\n\n    /// \\smemstorage{BlockDiscontinuity}\n    struct TempStorage : Uninitialized<_TempStorage> {};\n\n\n    /******************************************************************//**\n     * \\name Collective constructors\n     *********************************************************************/\n    //@{\n\n    /**\n     * \\brief Collective constructor using a private static allocation of shared memory as temporary storage.\n     */\n    __device__ __forceinline__ BlockDiscontinuity()\n    :\n        temp_storage(PrivateStorage()),\n        linear_tid(RowMajorTid(BLOCK_DIM_X, BLOCK_DIM_Y, BLOCK_DIM_Z))\n    {}\n\n\n    /**\n     * \\brief Collective constructor using the specified memory allocation as temporary storage.\n     */\n    __device__ __forceinline__ BlockDiscontinuity(\n        TempStorage &temp_storage)  ///< [in] Reference to memory allocation having layout type TempStorage\n    :\n        temp_storage(temp_storage.Alias()),\n        linear_tid(RowMajorTid(BLOCK_DIM_X, BLOCK_DIM_Y, BLOCK_DIM_Z))\n    {}\n\n\n    //@}  end member group\n    /******************************************************************//**\n     * \\name Head flag operations\n     *********************************************************************/\n    //@{\n\n\n    /**\n     * \\brief Sets head flags indicating discontinuities between items partitioned across the thread block, for which the first item has no reference and is always flagged.\n     *\n     * \\par\n     * - The flag <tt>head_flags<sub><em>i</em></sub></tt> is set for item\n     *   <tt>input<sub><em>i</em></sub></tt> when\n     *   <tt>flag_op(</tt><em>previous-item</em><tt>, input<sub><em>i</em></sub>)</tt>\n     *   returns \\p true (where <em>previous-item</em> is either the preceding item\n     *   in the same thread or the last item in the previous thread).\n     * - For <em>thread</em><sub>0</sub>, item <tt>input<sub>0</sub></tt> is always flagged.\n     * - \\blocked\n     * - \\granularity\n     * - \\smemreuse\n     *\n     * \\par Snippet\n     * The code snippet below illustrates the head-flagging of 512 integer items that\n     * are partitioned in a [<em>blocked arrangement</em>](index.html#sec5sec3) across 128 threads\n     * where each thread owns 4 consecutive items.\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>   // or equivalently <cub/block/block_discontinuity.cuh>\n     *\n     * __global__ void ExampleKernel(...)\n     * {\n     *     // Specialize BlockDiscontinuity for a 1D block of 128 threads on type int\n     *     typedef cub::BlockDiscontinuity<int, 128> BlockDiscontinuity;\n     *\n     *     // Allocate shared memory for BlockDiscontinuity\n     *     __shared__ typename BlockDiscontinuity::TempStorage temp_storage;\n     *\n     *     // Obtain a segment of consecutive items that are blocked across threads\n     *     int thread_data[4];\n     *     ...\n     *\n     *     // Collectively compute head flags for discontinuities in the segment\n     *     int head_flags[4];\n     *     BlockDiscontinuity(temp_storage).FlagHeads(head_flags, thread_data, cub::Inequality());\n     *\n     * \\endcode\n     * \\par\n     * Suppose the set of input \\p thread_data across the block of threads is\n     * <tt>{ [0,0,1,1], [1,1,1,1], [2,3,3,3], [3,4,4,4], ... }</tt>.\n     * The corresponding output \\p head_flags in those threads will be\n     * <tt>{ [1,0,1,0], [0,0,0,0], [1,1,0,0], [0,1,0,0], ... }</tt>.\n     *\n     * \\tparam ITEMS_PER_THREAD     <b>[inferred]</b> The number of consecutive items partitioned onto each thread.\n     * \\tparam FlagT                <b>[inferred]</b> The flag type (must be an integer type)\n     * \\tparam FlagOp               <b>[inferred]</b> Binary predicate functor type having member <tt>T operator()(const T &a, const T &b)</tt> or member <tt>T operator()(const T &a, const T &b, unsigned int b_index)</tt>, and returning \\p true if a discontinuity exists between \\p a and \\p b, otherwise \\p false.  \\p b_index is the rank of b in the aggregate tile of data.\n     */\n    template <\n        int             ITEMS_PER_THREAD,\n        typename        FlagT,\n        typename        FlagOp>\n    __device__ __forceinline__ void FlagHeads(\n        FlagT           (&head_flags)[ITEMS_PER_THREAD],    ///< [out] Calling thread's discontinuity head_flags\n        T               (&input)[ITEMS_PER_THREAD],         ///< [in] Calling thread's input items\n        FlagOp          flag_op)                            ///< [in] Binary boolean flag predicate\n    {\n        // Share last item\n        temp_storage[linear_tid] = input[ITEMS_PER_THREAD - 1];\n\n        __syncthreads();\n\n        // Set flag for first item\n        head_flags[0] = (linear_tid == 0) ?\n            1 :                                 // First thread\n            ApplyOp<FlagOp>::Flag(\n                flag_op,\n                temp_storage[linear_tid - 1],\n                input[0],\n                linear_tid * ITEMS_PER_THREAD);\n\n        // Set head_flags for remaining items\n        Iterate<1, ITEMS_PER_THREAD>::FlagItems(linear_tid, head_flags, input, flag_op);\n    }\n\n\n    /**\n     * \\brief Sets head flags indicating discontinuities between items partitioned across the thread block.\n     *\n     * \\par\n     * - The flag <tt>head_flags<sub><em>i</em></sub></tt> is set for item\n     *   <tt>input<sub><em>i</em></sub></tt> when\n     *   <tt>flag_op(</tt><em>previous-item</em><tt>, input<sub><em>i</em></sub>)</tt>\n     *   returns \\p true (where <em>previous-item</em> is either the preceding item\n     *   in the same thread or the last item in the previous thread).\n     * - For <em>thread</em><sub>0</sub>, item <tt>input<sub>0</sub></tt> is compared\n     *   against \\p tile_predecessor_item.\n     * - \\blocked\n     * - \\granularity\n     * - \\smemreuse\n     *\n     * \\par Snippet\n     * The code snippet below illustrates the head-flagging of 512 integer items that\n     * are partitioned in a [<em>blocked arrangement</em>](index.html#sec5sec3) across 128 threads\n     * where each thread owns 4 consecutive items.\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>   // or equivalently <cub/block/block_discontinuity.cuh>\n     *\n     * __global__ void ExampleKernel(...)\n     * {\n     *     // Specialize BlockDiscontinuity for a 1D block of 128 threads on type int\n     *     typedef cub::BlockDiscontinuity<int, 128> BlockDiscontinuity;\n     *\n     *     // Allocate shared memory for BlockDiscontinuity\n     *     __shared__ typename BlockDiscontinuity::TempStorage temp_storage;\n     *\n     *     // Obtain a segment of consecutive items that are blocked across threads\n     *     int thread_data[4];\n     *     ...\n     *\n     *     // Have thread0 obtain the predecessor item for the entire tile\n     *     int tile_predecessor_item;\n     *     if (threadIdx.x == 0) tile_predecessor_item == ...\n     *\n     *     // Collectively compute head flags for discontinuities in the segment\n     *     int head_flags[4];\n     *     BlockDiscontinuity(temp_storage).FlagHeads(\n     *         head_flags, thread_data, cub::Inequality(), tile_predecessor_item);\n     *\n     * \\endcode\n     * \\par\n     * Suppose the set of input \\p thread_data across the block of threads is\n     * <tt>{ [0,0,1,1], [1,1,1,1], [2,3,3,3], [3,4,4,4], ... }</tt>,\n     * and that \\p tile_predecessor_item is \\p 0.  The corresponding output \\p head_flags in those threads will be\n     * <tt>{ [0,0,1,0], [0,0,0,0], [1,1,0,0], [0,1,0,0], ... }</tt>.\n     *\n     * \\tparam ITEMS_PER_THREAD     <b>[inferred]</b> The number of consecutive items partitioned onto each thread.\n     * \\tparam FlagT                <b>[inferred]</b> The flag type (must be an integer type)\n     * \\tparam FlagOp               <b>[inferred]</b> Binary predicate functor type having member <tt>T operator()(const T &a, const T &b)</tt> or member <tt>T operator()(const T &a, const T &b, unsigned int b_index)</tt>, and returning \\p true if a discontinuity exists between \\p a and \\p b, otherwise \\p false.  \\p b_index is the rank of b in the aggregate tile of data.\n     */\n    template <\n        int             ITEMS_PER_THREAD,\n        typename        FlagT,\n        typename        FlagOp>\n    __device__ __forceinline__ void FlagHeads(\n        FlagT           (&head_flags)[ITEMS_PER_THREAD],    ///< [out] Calling thread's discontinuity head_flags\n        T               (&input)[ITEMS_PER_THREAD],         ///< [in] Calling thread's input items\n        FlagOp          flag_op,                            ///< [in] Binary boolean flag predicate\n        T               tile_predecessor_item)                   ///< [in] <b>[<em>thread</em><sub>0</sub> only]</b> Item with which to compare the first tile item (<tt>input<sub>0</sub></tt> from <em>thread</em><sub>0</sub>).\n    {\n        // Share last item\n        temp_storage[linear_tid] = input[ITEMS_PER_THREAD - 1];\n\n        __syncthreads();\n\n        // Set flag for first item\n        T predecessor_item = (linear_tid == 0) ?\n            tile_predecessor_item :              // First thread\n            temp_storage[linear_tid - 1];\n\n        head_flags[0] = ApplyOp<FlagOp>::Flag(\n            flag_op,\n            predecessor_item,\n            input[0],\n            linear_tid * ITEMS_PER_THREAD);\n\n        // Set head_flags for remaining items\n        Iterate<1, ITEMS_PER_THREAD>::FlagItems(linear_tid, head_flags, input, flag_op);\n    }\n\n\n    //@}  end member group\n    /******************************************************************//**\n     * \\name Tail flag operations\n     *********************************************************************/\n    //@{\n\n\n    /**\n     * \\brief Sets tail flags indicating discontinuities between items partitioned across the thread block, for which the last item has no reference and is always flagged.\n     *\n     * \\par\n     * - The flag <tt>tail_flags<sub><em>i</em></sub></tt> is set for item\n     *   <tt>input<sub><em>i</em></sub></tt> when\n     *   <tt>flag_op(input<sub><em>i</em></sub>, </tt><em>next-item</em><tt>)</tt>\n     *   returns \\p true (where <em>next-item</em> is either the next item\n     *   in the same thread or the first item in the next thread).\n     * - For <em>thread</em><sub><em>BLOCK_THREADS</em>-1</sub>, item\n     *   <tt>input</tt><sub><em>ITEMS_PER_THREAD</em>-1</sub> is always flagged.\n     * - \\blocked\n     * - \\granularity\n     * - \\smemreuse\n     *\n     * \\par Snippet\n     * The code snippet below illustrates the tail-flagging of 512 integer items that\n     * are partitioned in a [<em>blocked arrangement</em>](index.html#sec5sec3) across 128 threads\n     * where each thread owns 4 consecutive items.\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>   // or equivalently <cub/block/block_discontinuity.cuh>\n     *\n     * __global__ void ExampleKernel(...)\n     * {\n     *     // Specialize BlockDiscontinuity for a 1D block of 128 threads on type int\n     *     typedef cub::BlockDiscontinuity<int, 128> BlockDiscontinuity;\n     *\n     *     // Allocate shared memory for BlockDiscontinuity\n     *     __shared__ typename BlockDiscontinuity::TempStorage temp_storage;\n     *\n     *     // Obtain a segment of consecutive items that are blocked across threads\n     *     int thread_data[4];\n     *     ...\n     *\n     *     // Collectively compute tail flags for discontinuities in the segment\n     *     int tail_flags[4];\n     *     BlockDiscontinuity(temp_storage).FlagTails(tail_flags, thread_data, cub::Inequality());\n     *\n     * \\endcode\n     * \\par\n     * Suppose the set of input \\p thread_data across the block of threads is\n     * <tt>{ [0,0,1,1], [1,1,1,1], [2,3,3,3], ..., [124,125,125,125] }</tt>.\n     * The corresponding output \\p tail_flags in those threads will be\n     * <tt>{ [0,1,0,0], [0,0,0,1], [1,0,0,...], ..., [1,0,0,1] }</tt>.\n     *\n     * \\tparam ITEMS_PER_THREAD     <b>[inferred]</b> The number of consecutive items partitioned onto each thread.\n     * \\tparam FlagT                <b>[inferred]</b> The flag type (must be an integer type)\n     * \\tparam FlagOp               <b>[inferred]</b> Binary predicate functor type having member <tt>T operator()(const T &a, const T &b)</tt> or member <tt>T operator()(const T &a, const T &b, unsigned int b_index)</tt>, and returning \\p true if a discontinuity exists between \\p a and \\p b, otherwise \\p false.  \\p b_index is the rank of b in the aggregate tile of data.\n     */\n    template <\n        int             ITEMS_PER_THREAD,\n        typename        FlagT,\n        typename        FlagOp>\n    __device__ __forceinline__ void FlagTails(\n        FlagT           (&tail_flags)[ITEMS_PER_THREAD],    ///< [out] Calling thread's discontinuity tail_flags\n        T               (&input)[ITEMS_PER_THREAD],         ///< [in] Calling thread's input items\n        FlagOp          flag_op)                            ///< [in] Binary boolean flag predicate\n    {\n        // Share first item\n        temp_storage[linear_tid] = input[0];\n\n        __syncthreads();\n\n        // Set flag for last item\n        tail_flags[ITEMS_PER_THREAD - 1] = (linear_tid == BLOCK_THREADS - 1) ?\n            1 :                             // Last thread\n            ApplyOp<FlagOp>::Flag(\n                flag_op,\n                input[ITEMS_PER_THREAD - 1],\n                temp_storage[linear_tid + 1],\n                (linear_tid * ITEMS_PER_THREAD) + (ITEMS_PER_THREAD - 1));\n\n        // Set tail_flags for remaining items\n        Iterate<0, ITEMS_PER_THREAD - 1>::FlagItems(linear_tid, tail_flags, input, flag_op);\n    }\n\n\n    /**\n     * \\brief Sets tail flags indicating discontinuities between items partitioned across the thread block.\n     *\n     * \\par\n     * - The flag <tt>tail_flags<sub><em>i</em></sub></tt> is set for item\n     *   <tt>input<sub><em>i</em></sub></tt> when\n     *   <tt>flag_op(input<sub><em>i</em></sub>, </tt><em>next-item</em><tt>)</tt>\n     *   returns \\p true (where <em>next-item</em> is either the next item\n     *   in the same thread or the first item in the next thread).\n     * - For <em>thread</em><sub><em>BLOCK_THREADS</em>-1</sub>, item\n     *   <tt>input</tt><sub><em>ITEMS_PER_THREAD</em>-1</sub> is compared\n     *   against \\p tile_predecessor_item.\n     * - \\blocked\n     * - \\granularity\n     * - \\smemreuse\n     *\n     * \\par Snippet\n     * The code snippet below illustrates the tail-flagging of 512 integer items that\n     * are partitioned in a [<em>blocked arrangement</em>](index.html#sec5sec3) across 128 threads\n     * where each thread owns 4 consecutive items.\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>   // or equivalently <cub/block/block_discontinuity.cuh>\n     *\n     * __global__ void ExampleKernel(...)\n     * {\n     *     // Specialize BlockDiscontinuity for a 1D block of 128 threads on type int\n     *     typedef cub::BlockDiscontinuity<int, 128> BlockDiscontinuity;\n     *\n     *     // Allocate shared memory for BlockDiscontinuity\n     *     __shared__ typename BlockDiscontinuity::TempStorage temp_storage;\n     *\n     *     // Obtain a segment of consecutive items that are blocked across threads\n     *     int thread_data[4];\n     *     ...\n     *\n     *     // Have thread127 obtain the successor item for the entire tile\n     *     int tile_successor_item;\n     *     if (threadIdx.x == 127) tile_successor_item == ...\n     *\n     *     // Collectively compute tail flags for discontinuities in the segment\n     *     int tail_flags[4];\n     *     BlockDiscontinuity(temp_storage).FlagTails(\n     *         tail_flags, thread_data, cub::Inequality(), tile_successor_item);\n     *\n     * \\endcode\n     * \\par\n     * Suppose the set of input \\p thread_data across the block of threads is\n     * <tt>{ [0,0,1,1], [1,1,1,1], [2,3,3,3], ..., [124,125,125,125] }</tt>\n     * and that \\p tile_successor_item is \\p 125.  The corresponding output \\p tail_flags in those threads will be\n     * <tt>{ [0,1,0,0], [0,0,0,1], [1,0,0,...], ..., [1,0,0,0] }</tt>.\n     *\n     * \\tparam ITEMS_PER_THREAD     <b>[inferred]</b> The number of consecutive items partitioned onto each thread.\n     * \\tparam FlagT                <b>[inferred]</b> The flag type (must be an integer type)\n     * \\tparam FlagOp               <b>[inferred]</b> Binary predicate functor type having member <tt>T operator()(const T &a, const T &b)</tt> or member <tt>T operator()(const T &a, const T &b, unsigned int b_index)</tt>, and returning \\p true if a discontinuity exists between \\p a and \\p b, otherwise \\p false.  \\p b_index is the rank of b in the aggregate tile of data.\n     */\n    template <\n        int             ITEMS_PER_THREAD,\n        typename        FlagT,\n        typename        FlagOp>\n    __device__ __forceinline__ void FlagTails(\n        FlagT           (&tail_flags)[ITEMS_PER_THREAD],    ///< [out] Calling thread's discontinuity tail_flags\n        T               (&input)[ITEMS_PER_THREAD],         ///< [in] Calling thread's input items\n        FlagOp          flag_op,                            ///< [in] Binary boolean flag predicate\n        T               tile_successor_item)                ///< [in] <b>[<em>thread</em><sub><tt>BLOCK_THREADS</tt>-1</sub> only]</b> Item with which to compare the last tile item (<tt>input</tt><sub><em>ITEMS_PER_THREAD</em>-1</sub> from <em>thread</em><sub><em>BLOCK_THREADS</em>-1</sub>).\n    {\n        // Share first item\n        temp_storage[linear_tid] = input[0];\n\n        __syncthreads();\n\n        // Set flag for last item\n        T successor_item = (linear_tid == BLOCK_THREADS - 1) ?\n            tile_successor_item :              // Last thread\n            temp_storage[linear_tid + 1];\n\n        tail_flags[ITEMS_PER_THREAD - 1] = ApplyOp<FlagOp>::Flag(\n            flag_op,\n            input[ITEMS_PER_THREAD - 1],\n            successor_item,\n            (linear_tid * ITEMS_PER_THREAD) + (ITEMS_PER_THREAD - 1));\n\n        // Set tail_flags for remaining items\n        Iterate<0, ITEMS_PER_THREAD - 1>::FlagItems(linear_tid, tail_flags, input, flag_op);\n    }\n\n    //@}  end member group\n\n};\n\n\n}               // CUB namespace\nCUB_NS_POSTFIX  // Optional outer namespace(s)\n"
  },
  {
    "path": "external/cub-1.3.2/cub/block/block_exchange.cuh",
    "content": "/******************************************************************************\n * Copyright (c) 2011, Duane Merrill.  All rights reserved.\n * Copyright (c) 2011-2014, NVIDIA CORPORATION.  All rights reserved.\n * \n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *     * Redistributions of source code must retain the above copyright\n *       notice, this list of conditions and the following disclaimer.\n *     * Redistributions in binary form must reproduce the above copyright\n *       notice, this list of conditions and the following disclaimer in the\n *       documentation and/or other materials provided with the distribution.\n *     * Neither the name of the NVIDIA CORPORATION nor the\n *       names of its contributors may be used to endorse or promote products\n *       derived from this software without specific prior written permission.\n * \n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n ******************************************************************************/\n\n/**\n * \\file\n * The cub::BlockExchange class provides [<em>collective</em>](index.html#sec0) methods for rearranging data partitioned across a CUDA thread block.\n */\n\n#pragma once\n\n#include \"../util_ptx.cuh\"\n#include \"../util_arch.cuh\"\n#include \"../util_macro.cuh\"\n#include \"../util_type.cuh\"\n#include \"../util_namespace.cuh\"\n\n/// Optional outer namespace(s)\nCUB_NS_PREFIX\n\n/// CUB namespace\nnamespace cub {\n\n/**\n * \\brief The BlockExchange class provides [<em>collective</em>](index.html#sec0) methods for rearranging data partitioned across a CUDA thread block. ![](transpose_logo.png)\n * \\ingroup BlockModule\n *\n * \\tparam T                    The data type to be exchanged.\n * \\tparam BLOCK_DIM_X          The thread block length in threads along the X dimension\n * \\tparam ITEMS_PER_THREAD     The number of items partitioned onto each thread.\n * \\tparam WARP_TIME_SLICING    <b>[optional]</b> When \\p true, only use enough shared memory for a single warp's worth of tile data, time-slicing the block-wide exchange over multiple synchronized rounds.  Yields a smaller memory footprint at the expense of decreased parallelism.  (Default: false)\n * \\tparam BLOCK_DIM_Y          <b>[optional]</b> The thread block length in threads along the Y dimension (default: 1)\n * \\tparam BLOCK_DIM_Z          <b>[optional]</b> The thread block length in threads along the Z dimension (default: 1)\n * \\tparam PTX_ARCH             <b>[optional]</b> \\ptxversion\n *\n * \\par Overview\n * - It is commonplace for blocks of threads to rearrange data items between\n *   threads.  For example, the global memory subsystem prefers access patterns\n *   where data items are \"striped\" across threads (where consecutive threads access consecutive items),\n *   yet most block-wide operations prefer a \"blocked\" partitioning of items across threads\n *   (where consecutive items belong to a single thread).\n * - BlockExchange supports the following types of data exchanges:\n *   - Transposing between [<em>blocked</em>](index.html#sec5sec3) and [<em>striped</em>](index.html#sec5sec3) arrangements\n *   - Transposing between [<em>blocked</em>](index.html#sec5sec3) and [<em>warp-striped</em>](index.html#sec5sec3) arrangements\n *   - Scattering ranked items to a [<em>blocked arrangement</em>](index.html#sec5sec3)\n *   - Scattering ranked items to a [<em>striped arrangement</em>](index.html#sec5sec3)\n * - \\blocked\n *\n * \\par A Simple Example\n * \\blockcollective{BlockExchange}\n * \\par\n * The code snippet below illustrates the conversion from a \"blocked\" to a \"striped\" arrangement\n * of 512 integer items partitioned across 128 threads where each thread owns 4 items.\n * \\par\n * \\code\n * #include <cub/cub.cuh>   // or equivalently <cub/block/block_exchange.cuh>\n *\n * __global__ void ExampleKernel(int *d_data, ...)\n * {\n *     // Specialize BlockExchange for a 1D block of 128 threads owning 4 integer items each\n *     typedef cub::BlockExchange<int, 128, 4> BlockExchange;\n *\n *     // Allocate shared memory for BlockExchange\n *     __shared__ typename BlockExchange::TempStorage temp_storage;\n *\n *     // Load a tile of data striped across threads\n *     int thread_data[4];\n *     cub::LoadDirectStriped<128>(threadIdx.x, d_data, thread_data);\n *\n *     // Collectively exchange data into a blocked arrangement across threads\n *     BlockExchange(temp_storage).StripedToBlocked(thread_data);\n *\n * \\endcode\n * \\par\n * Suppose the set of striped input \\p thread_data across the block of threads is\n * <tt>{ [0,128,256,384], [1,129,257,385], ..., [127,255,383,511] }</tt>.\n * The corresponding output \\p thread_data in those threads will be\n * <tt>{ [0,1,2,3], [4,5,6,7], [8,9,10,11], ..., [508,509,510,511] }</tt>.\n *\n * \\par Performance Considerations\n * - Proper device-specific padding ensures zero bank conflicts for most types.\n *\n */\ntemplate <\n    typename    T,\n    int         BLOCK_DIM_X,\n    int         ITEMS_PER_THREAD,\n    bool        WARP_TIME_SLICING   = false,\n    int         BLOCK_DIM_Y         = 1,\n    int         BLOCK_DIM_Z         = 1,\n    int         PTX_ARCH            = CUB_PTX_ARCH>\nclass BlockExchange\n{\nprivate:\n\n    /******************************************************************************\n     * Constants\n     ******************************************************************************/\n\n    /// Constants\n    enum\n    {\n        /// The thread block size in threads\n        BLOCK_THREADS               = BLOCK_DIM_X * BLOCK_DIM_Y * BLOCK_DIM_Z,\n\n        LOG_WARP_THREADS            = CUB_LOG_WARP_THREADS(PTX_ARCH),\n        WARP_THREADS                = 1 << LOG_WARP_THREADS,\n        WARPS                       = (BLOCK_THREADS + WARP_THREADS - 1) / WARP_THREADS,\n\n        LOG_SMEM_BANKS              = CUB_LOG_SMEM_BANKS(PTX_ARCH),\n        SMEM_BANKS                  = 1 << LOG_SMEM_BANKS,\n\n        TILE_ITEMS                  = BLOCK_THREADS * ITEMS_PER_THREAD,\n\n        TIME_SLICES                 = (WARP_TIME_SLICING) ? WARPS : 1,\n\n        TIME_SLICED_THREADS         = (WARP_TIME_SLICING) ? CUB_MIN(BLOCK_THREADS, WARP_THREADS) : BLOCK_THREADS,\n        TIME_SLICED_ITEMS           = TIME_SLICED_THREADS * ITEMS_PER_THREAD,\n\n        WARP_TIME_SLICED_THREADS    = CUB_MIN(BLOCK_THREADS, WARP_THREADS),\n        WARP_TIME_SLICED_ITEMS      = WARP_TIME_SLICED_THREADS * ITEMS_PER_THREAD,\n\n        // Insert padding if the number of items per thread is a power of two\n        INSERT_PADDING              = 0, // Mooch PowerOfTwo<ITEMS_PER_THREAD>::VALUE,\n        PADDING_ITEMS               = (INSERT_PADDING) ? (TIME_SLICED_ITEMS >> LOG_SMEM_BANKS) : 0,\n    };\n\n    /******************************************************************************\n     * Type definitions\n     ******************************************************************************/\n\n    /// Shared memory storage layout type\n    typedef T _TempStorage[TIME_SLICED_ITEMS + PADDING_ITEMS];\n\npublic:\n\n    /// \\smemstorage{BlockExchange}\n    struct TempStorage : Uninitialized<_TempStorage> {};\n\nprivate:\n\n\n    /******************************************************************************\n     * Thread fields\n     ******************************************************************************/\n\n    /// Shared storage reference\n    _TempStorage &temp_storage;\n\n    /// Linear thread-id\n    int linear_tid;\n    int lane_id;\n    int warp_id;\n    int warp_offset;\n\n\n    /******************************************************************************\n     * Utility methods\n     ******************************************************************************/\n\n    /// Internal storage allocator\n    __device__ __forceinline__ _TempStorage& PrivateStorage()\n    {\n        __shared__ _TempStorage private_storage;\n        return private_storage;\n    }\n\n\n    /**\n     * Transposes data items from <em>blocked</em> arrangement to <em>striped</em> arrangement.  Specialized for no timeslicing.\n     */\n    __device__ __forceinline__ void BlockedToStriped(\n        T               items[ITEMS_PER_THREAD],    ///< [in-out] Items to exchange, converting between <em>blocked</em> and <em>striped</em> arrangements.\n        Int2Type<false> time_slicing)\n    {\n        #pragma unroll\n        for (int ITEM = 0; ITEM < ITEMS_PER_THREAD; ITEM++)\n        {\n            int item_offset = (linear_tid * ITEMS_PER_THREAD) + ITEM;\n            if (INSERT_PADDING) item_offset += item_offset >> LOG_SMEM_BANKS;\n            temp_storage[item_offset] = items[ITEM];\n        }\n\n        __syncthreads();\n\n        #pragma unroll\n        for (int ITEM = 0; ITEM < ITEMS_PER_THREAD; ITEM++)\n        {\n            int item_offset = int(ITEM * BLOCK_THREADS) + linear_tid;\n            if (INSERT_PADDING) item_offset += item_offset >> LOG_SMEM_BANKS;\n            items[ITEM] = temp_storage[item_offset];\n        }\n    }\n\n\n    /**\n     * Transposes data items from <em>blocked</em> arrangement to <em>striped</em> arrangement.  Specialized for warp-timeslicing.\n     */\n    __device__ __forceinline__ void BlockedToStriped(\n        T               items[ITEMS_PER_THREAD],    ///< [in-out] Items to exchange, converting between <em>blocked</em> and <em>striped</em> arrangements.\n        Int2Type<true>  time_slicing)\n    {\n        T temp_items[ITEMS_PER_THREAD];\n\n        #pragma unroll\n        for (int SLICE = 0; SLICE < TIME_SLICES; SLICE++)\n        {\n            const int SLICE_OFFSET  = SLICE * TIME_SLICED_ITEMS;\n            const int SLICE_OOB     = SLICE_OFFSET + TIME_SLICED_ITEMS;\n\n            __syncthreads();\n\n            if (warp_id == SLICE)\n            {\n                #pragma unroll\n                for (int ITEM = 0; ITEM < ITEMS_PER_THREAD; ITEM++)\n                {\n                    int item_offset = (lane_id * ITEMS_PER_THREAD) + ITEM;\n                    if (INSERT_PADDING) item_offset += item_offset >> LOG_SMEM_BANKS;\n                    temp_storage[item_offset] = items[ITEM];\n                }\n            }\n\n            __syncthreads();\n\n            #pragma unroll\n            for (int ITEM = 0; ITEM < ITEMS_PER_THREAD; ITEM++)\n            {\n                // Read a strip of items\n                const int STRIP_OFFSET  = ITEM * BLOCK_THREADS;\n                const int STRIP_OOB     = STRIP_OFFSET + BLOCK_THREADS;\n\n                if ((SLICE_OFFSET < STRIP_OOB) && (SLICE_OOB > STRIP_OFFSET))\n                {\n                    int item_offset = STRIP_OFFSET + linear_tid - SLICE_OFFSET;\n                    if ((item_offset >= 0) && (item_offset < TIME_SLICED_ITEMS))\n                    {\n                        if (INSERT_PADDING) item_offset += item_offset >> LOG_SMEM_BANKS;\n                        temp_items[ITEM] = temp_storage[item_offset];\n                    }\n                }\n            }\n        }\n\n        // Copy\n        #pragma unroll\n        for (int ITEM = 0; ITEM < ITEMS_PER_THREAD; ITEM++)\n        {\n            items[ITEM] = temp_items[ITEM];\n        }\n    }\n\n\n    /**\n     * Transposes data items from <em>blocked</em> arrangement to <em>warp-striped</em> arrangement. Specialized for no timeslicing\n     */\n    __device__ __forceinline__ void BlockedToWarpStriped(\n        T               items[ITEMS_PER_THREAD],   ///< [in-out] Items to exchange, converting between <em>blocked</em> and <em>warp-striped</em> arrangements.\n        Int2Type<false> time_slicing)\n    {\n        #pragma unroll\n        for (int ITEM = 0; ITEM < ITEMS_PER_THREAD; ITEM++)\n        {\n            int item_offset = warp_offset + ITEM + (lane_id * ITEMS_PER_THREAD);\n            if (INSERT_PADDING) item_offset += item_offset >> LOG_SMEM_BANKS;\n            temp_storage[item_offset] = items[ITEM];\n        }\n\n        #pragma unroll\n        for (int ITEM = 0; ITEM < ITEMS_PER_THREAD; ITEM++)\n        {\n            int item_offset = warp_offset + (ITEM * WARP_TIME_SLICED_THREADS) + lane_id;\n            if (INSERT_PADDING) item_offset += item_offset >> LOG_SMEM_BANKS;\n            items[ITEM] = temp_storage[item_offset];\n        }\n    }\n\n    /**\n     * Transposes data items from <em>blocked</em> arrangement to <em>warp-striped</em> arrangement. Specialized for warp-timeslicing\n     */\n    __device__ __forceinline__ void BlockedToWarpStriped(\n        T               items[ITEMS_PER_THREAD],   ///< [in-out] Items to exchange, converting between <em>blocked</em> and <em>warp-striped</em> arrangements.\n        Int2Type<true>  time_slicing)\n    {\n        #pragma unroll\n        for (int SLICE = 0; SLICE < TIME_SLICES; ++SLICE)\n        {\n            __syncthreads();\n\n            if (warp_id == SLICE)\n            {\n                #pragma unroll\n                for (int ITEM = 0; ITEM < ITEMS_PER_THREAD; ITEM++)\n                {\n                    int item_offset = ITEM + (lane_id * ITEMS_PER_THREAD);\n                    if (INSERT_PADDING) item_offset += item_offset >> LOG_SMEM_BANKS;\n                    temp_storage[item_offset] = items[ITEM];\n                }\n\n                #pragma unroll\n                for (int ITEM = 0; ITEM < ITEMS_PER_THREAD; ITEM++)\n                {\n                    int item_offset = (ITEM * WARP_TIME_SLICED_THREADS) + lane_id;\n                    if (INSERT_PADDING) item_offset += item_offset >> LOG_SMEM_BANKS;\n                    items[ITEM] = temp_storage[item_offset];\n                }\n            }\n        }\n    }\n\n\n    /**\n     * Transposes data items from <em>striped</em> arrangement to <em>blocked</em> arrangement.  Specialized for no timeslicing.\n     */\n    __device__ __forceinline__ void StripedToBlocked(\n        T               items[ITEMS_PER_THREAD],   ///< [in-out] Items to exchange, converting between <em>striped</em> and <em>blocked</em> arrangements.\n        Int2Type<false> time_slicing)\n    {\n        #pragma unroll\n        for (int ITEM = 0; ITEM < ITEMS_PER_THREAD; ITEM++)\n        {\n            int item_offset = int(ITEM * BLOCK_THREADS) + linear_tid;\n            if (INSERT_PADDING) item_offset += item_offset >> LOG_SMEM_BANKS;\n            temp_storage[item_offset] = items[ITEM];\n        }\n\n        __syncthreads();\n\n        // No timeslicing\n        #pragma unroll\n        for (int ITEM = 0; ITEM < ITEMS_PER_THREAD; ITEM++)\n        {\n            int item_offset = (linear_tid * ITEMS_PER_THREAD) + ITEM;\n            if (INSERT_PADDING) item_offset += item_offset >> LOG_SMEM_BANKS;\n            items[ITEM] = temp_storage[item_offset];\n        }\n    }\n\n\n    /**\n     * Transposes data items from <em>striped</em> arrangement to <em>blocked</em> arrangement.  Specialized for warp-timeslicing.\n     */\n    __device__ __forceinline__ void StripedToBlocked(\n        T               items[ITEMS_PER_THREAD],   ///< [in-out] Items to exchange, converting between <em>striped</em> and <em>blocked</em> arrangements.\n        Int2Type<true>  time_slicing)\n    {\n        // Warp time-slicing\n        T temp_items[ITEMS_PER_THREAD];\n\n        #pragma unroll\n        for (int SLICE = 0; SLICE < TIME_SLICES; SLICE++)\n        {\n            const int SLICE_OFFSET  = SLICE * TIME_SLICED_ITEMS;\n            const int SLICE_OOB     = SLICE_OFFSET + TIME_SLICED_ITEMS;\n\n            __syncthreads();\n\n            #pragma unroll\n            for (int ITEM = 0; ITEM < ITEMS_PER_THREAD; ITEM++)\n            {\n                // Write a strip of items\n                const int STRIP_OFFSET  = ITEM * BLOCK_THREADS;\n                const int STRIP_OOB     = STRIP_OFFSET + BLOCK_THREADS;\n\n                if ((SLICE_OFFSET < STRIP_OOB) && (SLICE_OOB > STRIP_OFFSET))\n                {\n                    int item_offset = STRIP_OFFSET + linear_tid - SLICE_OFFSET;\n                    if ((item_offset >= 0) && (item_offset < TIME_SLICED_ITEMS))\n                    {\n                        if (INSERT_PADDING) item_offset += item_offset >> LOG_SMEM_BANKS;\n                        temp_storage[item_offset] = items[ITEM];\n                    }\n                }\n            }\n\n            __syncthreads();\n\n            if (warp_id == SLICE)\n            {\n                #pragma unroll\n                for (int ITEM = 0; ITEM < ITEMS_PER_THREAD; ITEM++)\n                {\n                    int item_offset = (lane_id * ITEMS_PER_THREAD) + ITEM;\n                    if (INSERT_PADDING) item_offset += item_offset >> LOG_SMEM_BANKS;\n                    temp_items[ITEM] = temp_storage[item_offset];\n                }\n            }\n        }\n\n        // Copy\n        #pragma unroll\n        for (int ITEM = 0; ITEM < ITEMS_PER_THREAD; ITEM++)\n        {\n            items[ITEM] = temp_items[ITEM];\n        }\n    }\n\n\n    /**\n     * Transposes data items from <em>warp-striped</em> arrangement to <em>blocked</em> arrangement.  Specialized for no timeslicing\n     */\n    __device__ __forceinline__ void WarpStripedToBlocked(\n        T               items[ITEMS_PER_THREAD],   ///< [in-out] Items to exchange, converting between <em>warp-striped</em> and <em>blocked</em> arrangements.\n        Int2Type<false> time_slicing)\n    {\n        #pragma unroll\n        for (int ITEM = 0; ITEM < ITEMS_PER_THREAD; ITEM++)\n        {\n            int item_offset = warp_offset + (ITEM * WARP_TIME_SLICED_THREADS) + lane_id;\n            if (INSERT_PADDING) item_offset += item_offset >> LOG_SMEM_BANKS;\n            temp_storage[item_offset] = items[ITEM];\n        }\n\n        #pragma unroll\n        for (int ITEM = 0; ITEM < ITEMS_PER_THREAD; ITEM++)\n        {\n            int item_offset = warp_offset + ITEM + (lane_id * ITEMS_PER_THREAD);\n            if (INSERT_PADDING) item_offset += item_offset >> LOG_SMEM_BANKS;\n            items[ITEM] = temp_storage[item_offset];\n        }\n    }\n\n\n    /**\n     * Transposes data items from <em>warp-striped</em> arrangement to <em>blocked</em> arrangement.  Specialized for warp-timeslicing\n     */\n    __device__ __forceinline__ void WarpStripedToBlocked(\n        T               items[ITEMS_PER_THREAD],   ///< [in-out] Items to exchange, converting between <em>warp-striped</em> and <em>blocked</em> arrangements.\n        Int2Type<true>  time_slicing)\n    {\n        #pragma unroll\n        for (int SLICE = 0; SLICE < TIME_SLICES; ++SLICE)\n        {\n            __syncthreads();\n\n            if (warp_id == SLICE)\n            {\n                #pragma unroll\n                for (int ITEM = 0; ITEM < ITEMS_PER_THREAD; ITEM++)\n                {\n                    int item_offset = (ITEM * WARP_TIME_SLICED_THREADS) + lane_id;\n                    if (INSERT_PADDING) item_offset += item_offset >> LOG_SMEM_BANKS;\n                    temp_storage[item_offset] = items[ITEM];\n                }\n\n                #pragma unroll\n                for (int ITEM = 0; ITEM < ITEMS_PER_THREAD; ITEM++)\n                {\n                    int item_offset = ITEM + (lane_id * ITEMS_PER_THREAD);\n                    if (INSERT_PADDING) item_offset += item_offset >> LOG_SMEM_BANKS;\n                    items[ITEM] = temp_storage[item_offset];\n                }\n            }\n        }\n    }\n\n\n    /**\n     * Exchanges data items annotated by rank into <em>blocked</em> arrangement.  Specialized for no timeslicing.\n     */\n    template <typename Offset>\n    __device__ __forceinline__ void ScatterToBlocked(\n        T               items[ITEMS_PER_THREAD],    ///< [in-out] Items to exchange\n        Offset          ranks[ITEMS_PER_THREAD],    ///< [in] Corresponding scatter ranks\n        Int2Type<false> time_slicing)\n    {\n        #pragma unroll\n        for (int ITEM = 0; ITEM < ITEMS_PER_THREAD; ITEM++)\n        {\n            int item_offset = ranks[ITEM];\n            if (INSERT_PADDING) item_offset = SHR_ADD(item_offset, LOG_SMEM_BANKS, item_offset);\n            temp_storage[item_offset] = items[ITEM];\n        }\n\n        __syncthreads();\n\n        #pragma unroll\n        for (int ITEM = 0; ITEM < ITEMS_PER_THREAD; ITEM++)\n        {\n            int item_offset = (linear_tid * ITEMS_PER_THREAD) + ITEM;\n            if (INSERT_PADDING) item_offset = SHR_ADD(item_offset, LOG_SMEM_BANKS, item_offset);\n            items[ITEM] = temp_storage[item_offset];\n        }\n    }\n\n    /**\n     * Exchanges data items annotated by rank into <em>blocked</em> arrangement.  Specialized for warp-timeslicing.\n     */\n    template <typename Offset>\n    __device__ __forceinline__ void ScatterToBlocked(\n        T               items[ITEMS_PER_THREAD],    ///< [in-out] Items to exchange\n        Offset          ranks[ITEMS_PER_THREAD],    ///< [in] Corresponding scatter ranks\n        Int2Type<true>  time_slicing)\n    {\n        T temp_items[ITEMS_PER_THREAD];\n\n        #pragma unroll\n        for (int SLICE = 0; SLICE < TIME_SLICES; SLICE++)\n        {\n            __syncthreads();\n\n            const int SLICE_OFFSET = TIME_SLICED_ITEMS * SLICE;\n\n            #pragma unroll\n            for (int ITEM = 0; ITEM < ITEMS_PER_THREAD; ITEM++)\n            {\n                int item_offset = ranks[ITEM] - SLICE_OFFSET;\n                if ((item_offset >= 0) && (item_offset < WARP_TIME_SLICED_ITEMS))\n                {\n                    if (INSERT_PADDING) item_offset = SHR_ADD(item_offset, LOG_SMEM_BANKS, item_offset);\n                    temp_storage[item_offset] = items[ITEM];\n                }\n            }\n\n            __syncthreads();\n\n            if (warp_id == SLICE)\n            {\n                #pragma unroll\n                for (int ITEM = 0; ITEM < ITEMS_PER_THREAD; ITEM++)\n                {\n                    int item_offset = (lane_id * ITEMS_PER_THREAD) + ITEM;\n                    if (INSERT_PADDING) item_offset = SHR_ADD(item_offset, LOG_SMEM_BANKS, item_offset);\n                    temp_items[ITEM] = temp_storage[item_offset];\n                }\n            }\n        }\n\n        // Copy\n        #pragma unroll\n        for (int ITEM = 0; ITEM < ITEMS_PER_THREAD; ITEM++)\n        {\n            items[ITEM] = temp_items[ITEM];\n        }\n    }\n\n\n    /**\n     * Exchanges data items annotated by rank into <em>striped</em> arrangement.  Specialized for no timeslicing.\n     */\n    template <typename Offset>\n    __device__ __forceinline__ void ScatterToStriped(\n        T               items[ITEMS_PER_THREAD],    ///< [in-out] Items to exchange\n        Offset          ranks[ITEMS_PER_THREAD],    ///< [in] Corresponding scatter ranks\n        Int2Type<false> time_slicing)\n    {\n        #pragma unroll\n        for (int ITEM = 0; ITEM < ITEMS_PER_THREAD; ITEM++)\n        {\n            int item_offset = ranks[ITEM];\n            if (INSERT_PADDING) item_offset = SHR_ADD(item_offset, LOG_SMEM_BANKS, item_offset);\n            temp_storage[item_offset] = items[ITEM];\n        }\n\n        __syncthreads();\n\n        #pragma unroll\n        for (int ITEM = 0; ITEM < ITEMS_PER_THREAD; ITEM++)\n        {\n            int item_offset = int(ITEM * BLOCK_THREADS) + linear_tid;\n            if (INSERT_PADDING) item_offset = SHR_ADD(item_offset, LOG_SMEM_BANKS, item_offset);\n            items[ITEM] = temp_storage[item_offset];\n        }\n    }\n\n\n    /**\n     * Exchanges data items annotated by rank into <em>striped</em> arrangement.  Specialized for warp-timeslicing.\n     */\n    template <typename Offset>\n    __device__ __forceinline__ void ScatterToStriped(\n        T               items[ITEMS_PER_THREAD],    ///< [in-out] Items to exchange\n        Offset          ranks[ITEMS_PER_THREAD],    ///< [in] Corresponding scatter ranks\n        Int2Type<true> time_slicing)\n    {\n        T temp_items[ITEMS_PER_THREAD];\n\n        #pragma unroll\n        for (int SLICE = 0; SLICE < TIME_SLICES; SLICE++)\n        {\n            const int SLICE_OFFSET  = SLICE * TIME_SLICED_ITEMS;\n            const int SLICE_OOB     = SLICE_OFFSET + TIME_SLICED_ITEMS;\n\n            __syncthreads();\n\n            #pragma unroll\n            for (int ITEM = 0; ITEM < ITEMS_PER_THREAD; ITEM++)\n            {\n                int item_offset = ranks[ITEM] - SLICE_OFFSET;\n                if ((item_offset >= 0) && (item_offset < WARP_TIME_SLICED_ITEMS))\n                {\n                    if (INSERT_PADDING) item_offset = SHR_ADD(item_offset, LOG_SMEM_BANKS, item_offset);\n                    temp_storage[item_offset] = items[ITEM];\n                }\n            }\n\n            __syncthreads();\n\n            #pragma unroll\n            for (int ITEM = 0; ITEM < ITEMS_PER_THREAD; ITEM++)\n            {\n                // Read a strip of items\n                const int STRIP_OFFSET  = ITEM * BLOCK_THREADS;\n                const int STRIP_OOB     = STRIP_OFFSET + BLOCK_THREADS;\n\n                if ((SLICE_OFFSET < STRIP_OOB) && (SLICE_OOB > STRIP_OFFSET))\n                {\n                    int item_offset = STRIP_OFFSET + linear_tid - SLICE_OFFSET;\n                    if ((item_offset >= 0) && (item_offset < TIME_SLICED_ITEMS))\n                    {\n                        if (INSERT_PADDING) item_offset += item_offset >> LOG_SMEM_BANKS;\n                        temp_items[ITEM] = temp_storage[item_offset];\n                    }\n                }\n            }\n        }\n\n        // Copy\n        #pragma unroll\n        for (int ITEM = 0; ITEM < ITEMS_PER_THREAD; ITEM++)\n        {\n            items[ITEM] = temp_items[ITEM];\n        }\n    }\n\n\npublic:\n\n    /******************************************************************//**\n     * \\name Collective constructors\n     *********************************************************************/\n    //@{\n\n    /**\n     * \\brief Collective constructor using a private static allocation of shared memory as temporary storage.\n     */\n    __device__ __forceinline__ BlockExchange()\n    :\n        temp_storage(PrivateStorage()),\n        linear_tid(RowMajorTid(BLOCK_DIM_X, BLOCK_DIM_Y, BLOCK_DIM_Z)),\n        warp_id((WARPS == 1) ? 0 : linear_tid / WARP_THREADS),\n        lane_id(LaneId()),\n        warp_offset(warp_id * WARP_TIME_SLICED_ITEMS)\n    {}\n\n\n    /**\n     * \\brief Collective constructor using the specified memory allocation as temporary storage.\n     */\n    __device__ __forceinline__ BlockExchange(\n        TempStorage &temp_storage)             ///< [in] Reference to memory allocation having layout type TempStorage\n    :\n        temp_storage(temp_storage.Alias()),\n        linear_tid(RowMajorTid(BLOCK_DIM_X, BLOCK_DIM_Y, BLOCK_DIM_Z)),\n        warp_id((WARPS == 1) ? 0 : linear_tid / WARP_THREADS),\n        lane_id(LaneId()),\n        warp_offset(warp_id * WARP_TIME_SLICED_ITEMS)\n    {}\n\n\n    //@}  end member group\n    /******************************************************************//**\n     * \\name Structured exchanges\n     *********************************************************************/\n    //@{\n\n    /**\n     * \\brief Transposes data items from <em>striped</em> arrangement to <em>blocked</em> arrangement.\n     *\n     * \\par\n     * - \\smemreuse\n     *\n     * \\par Snippet\n     * The code snippet below illustrates the conversion from a \"striped\" to a \"blocked\" arrangement\n     * of 512 integer items partitioned across 128 threads where each thread owns 4 items.\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>   // or equivalently <cub/block/block_exchange.cuh>\n     *\n     * __global__ void ExampleKernel(int *d_data, ...)\n     * {\n     *     // Specialize BlockExchange for a 1D block of 128 threads owning 4 integer items each\n     *     typedef cub::BlockExchange<int, 128, 4> BlockExchange;\n     *\n     *     // Allocate shared memory for BlockExchange\n     *     __shared__ typename BlockExchange::TempStorage temp_storage;\n     *\n     *     // Load a tile of ordered data into a striped arrangement across block threads\n     *     int thread_data[4];\n     *     cub::LoadDirectStriped<128>(threadIdx.x, d_data, thread_data);\n     *\n     *     // Collectively exchange data into a blocked arrangement across threads\n     *     BlockExchange(temp_storage).StripedToBlocked(thread_data);\n     *\n     * \\endcode\n     * \\par\n     * Suppose the set of striped input \\p thread_data across the block of threads is\n     * <tt>{ [0,128,256,384], [1,129,257,385], ..., [127,255,383,511] }</tt> after loading from global memory.\n     * The corresponding output \\p thread_data in those threads will be\n     * <tt>{ [0,1,2,3], [4,5,6,7], [8,9,10,11], ..., [508,509,510,511] }</tt>.\n     *\n     */\n    __device__ __forceinline__ void StripedToBlocked(\n        T                items[ITEMS_PER_THREAD])   ///< [in-out] Items to exchange, converting between <em>striped</em> and <em>blocked</em> arrangements.\n    {\n        StripedToBlocked(items, Int2Type<WARP_TIME_SLICING>());\n    }\n\n    /**\n     * \\brief Transposes data items from <em>blocked</em> arrangement to <em>striped</em> arrangement.\n     *\n     * \\par\n     * - \\smemreuse\n     *\n     * \\par Snippet\n     * The code snippet below illustrates the conversion from a \"blocked\" to a \"striped\" arrangement\n     * of 512 integer items partitioned across 128 threads where each thread owns 4 items.\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>   // or equivalently <cub/block/block_exchange.cuh>\n     *\n     * __global__ void ExampleKernel(int *d_data, ...)\n     * {\n     *     // Specialize BlockExchange for a 1D block of 128 threads owning 4 integer items each\n     *     typedef cub::BlockExchange<int, 128, 4> BlockExchange;\n     *\n     *     // Allocate shared memory for BlockExchange\n     *     __shared__ typename BlockExchange::TempStorage temp_storage;\n     *\n     *     // Obtain a segment of consecutive items that are blocked across threads\n     *     int thread_data[4];\n     *     ...\n     *\n     *     // Collectively exchange data into a striped arrangement across threads\n     *     BlockExchange(temp_storage).BlockedToStriped(thread_data);\n     *\n     *     // Store data striped across block threads into an ordered tile\n     *     cub::StoreDirectStriped<STORE_DEFAULT, 128>(threadIdx.x, d_data, thread_data);\n     *\n     * \\endcode\n     * \\par\n     * Suppose the set of blocked input \\p thread_data across the block of threads is\n     * <tt>{ [0,1,2,3], [4,5,6,7], [8,9,10,11], ..., [508,509,510,511] }</tt>.\n     * The corresponding output \\p thread_data in those threads will be\n     * <tt>{ [0,128,256,384], [1,129,257,385], ..., [127,255,383,511] }</tt> in\n     * preparation for storing to global memory.\n     *\n     */\n    __device__ __forceinline__ void BlockedToStriped(\n        T               items[ITEMS_PER_THREAD])    ///< [in-out] Items to exchange, converting between <em>blocked</em> and <em>striped</em> arrangements.\n    {\n        BlockedToStriped(items, Int2Type<WARP_TIME_SLICING>());\n    }\n\n\n    /**\n     * \\brief Transposes data items from <em>warp-striped</em> arrangement to <em>blocked</em> arrangement.\n     *\n     * \\par\n     * - \\smemreuse\n     *\n     * \\par Snippet\n     * The code snippet below illustrates the conversion from a \"warp-striped\" to a \"blocked\" arrangement\n     * of 512 integer items partitioned across 128 threads where each thread owns 4 items.\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>   // or equivalently <cub/block/block_exchange.cuh>\n     *\n     * __global__ void ExampleKernel(int *d_data, ...)\n     * {\n     *     // Specialize BlockExchange for a 1D block of 128 threads owning 4 integer items each\n     *     typedef cub::BlockExchange<int, 128, 4> BlockExchange;\n     *\n     *     // Allocate shared memory for BlockExchange\n     *     __shared__ typename BlockExchange::TempStorage temp_storage;\n     *\n     *     // Load a tile of ordered data into a warp-striped arrangement across warp threads\n     *     int thread_data[4];\n     *     cub::LoadSWarptriped<LOAD_DEFAULT>(threadIdx.x, d_data, thread_data);\n     *\n     *     // Collectively exchange data into a blocked arrangement across threads\n     *     BlockExchange(temp_storage).WarpStripedToBlocked(thread_data);\n     *\n     * \\endcode\n     * \\par\n     * Suppose the set of warp-striped input \\p thread_data across the block of threads is\n     * <tt>{ [0,32,64,96], [1,33,65,97], [2,34,66,98], ..., [415,447,479,511] }</tt>\n     * after loading from global memory.  (The first 128 items are striped across\n     * the first warp of 32 threads, the second 128 items are striped across the second warp, etc.)\n     * The corresponding output \\p thread_data in those threads will be\n     * <tt>{ [0,1,2,3], [4,5,6,7], [8,9,10,11], ..., [508,509,510,511] }</tt>.\n     *\n     */\n    __device__ __forceinline__ void WarpStripedToBlocked(\n        T                items[ITEMS_PER_THREAD])   ///< [in-out] Items to exchange, converting between <em>warp-striped</em> and <em>blocked</em> arrangements.\n    {\n        WarpStripedToBlocked(items, Int2Type<WARP_TIME_SLICING>());\n    }\n\n    /**\n     * \\brief Transposes data items from <em>blocked</em> arrangement to <em>warp-striped</em> arrangement.\n     *\n     * \\par\n     * - \\smemreuse\n     *\n     * \\par Snippet\n     * The code snippet below illustrates the conversion from a \"blocked\" to a \"warp-striped\" arrangement\n     * of 512 integer items partitioned across 128 threads where each thread owns 4 items.\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>   // or equivalently <cub/block/block_exchange.cuh>\n     *\n     * __global__ void ExampleKernel(int *d_data, ...)\n     * {\n     *     // Specialize BlockExchange for a 1D block of 128 threads owning 4 integer items each\n     *     typedef cub::BlockExchange<int, 128, 4> BlockExchange;\n     *\n     *     // Allocate shared memory for BlockExchange\n     *     __shared__ typename BlockExchange::TempStorage temp_storage;\n     *\n     *     // Obtain a segment of consecutive items that are blocked across threads\n     *     int thread_data[4];\n     *     ...\n     *\n     *     // Collectively exchange data into a warp-striped arrangement across threads\n     *     BlockExchange(temp_storage).BlockedToWarpStriped(thread_data);\n     *\n     *     // Store data striped across warp threads into an ordered tile\n     *     cub::StoreDirectStriped<STORE_DEFAULT, 128>(threadIdx.x, d_data, thread_data);\n     *\n     * \\endcode\n     * \\par\n     * Suppose the set of blocked input \\p thread_data across the block of threads is\n     * <tt>{ [0,1,2,3], [4,5,6,7], [8,9,10,11], ..., [508,509,510,511] }</tt>.\n     * The corresponding output \\p thread_data in those threads will be\n     * <tt>{ [0,32,64,96], [1,33,65,97], [2,34,66,98], ..., [415,447,479,511] }</tt>\n     * in preparation for storing to global memory. (The first 128 items are striped across\n     * the first warp of 32 threads, the second 128 items are striped across the second warp, etc.)\n     *\n     */\n    __device__ __forceinline__ void BlockedToWarpStriped(\n        T                items[ITEMS_PER_THREAD])   ///< [in-out] Items to exchange, converting between <em>blocked</em> and <em>warp-striped</em> arrangements.\n    {\n        BlockedToWarpStriped(items, Int2Type<WARP_TIME_SLICING>());\n    }\n\n\n    //@}  end member group\n    /******************************************************************//**\n     * \\name Scatter exchanges\n     *********************************************************************/\n    //@{\n\n\n    /**\n     * \\brief Exchanges data items annotated by rank into <em>blocked</em> arrangement.\n     *\n     * \\par\n     * - \\smemreuse\n     *\n     * \\tparam Offset                               <b>[inferred]</b> Signed integer type for local offsets\n     */\n    template <typename Offset>\n    __device__ __forceinline__ void ScatterToBlocked(\n        T               items[ITEMS_PER_THREAD],    ///< [in-out] Items to exchange\n        Offset          ranks[ITEMS_PER_THREAD])    ///< [in] Corresponding scatter ranks\n    {\n        ScatterToBlocked(items, ranks, Int2Type<WARP_TIME_SLICING>());\n    }\n\n\n    /**\n     * \\brief Exchanges data items annotated by rank into <em>striped</em> arrangement.\n     *\n     * \\par\n     * - \\smemreuse\n     *\n     * \\tparam Offset                               <b>[inferred]</b> Signed integer type for local offsets\n     */\n    template <typename Offset>\n    __device__ __forceinline__ void ScatterToStriped(\n        T               items[ITEMS_PER_THREAD],    ///< [in-out] Items to exchange\n        Offset          ranks[ITEMS_PER_THREAD])    ///< [in] Corresponding scatter ranks\n    {\n        ScatterToStriped(items, ranks, Int2Type<WARP_TIME_SLICING>());\n    }\n\n\n    /**\n     * \\brief Exchanges data items annotated by rank into <em>striped</em> arrangement.  Items with rank -1 are not exchanged.\n     *\n     * \\par\n     * - \\smemreuse\n     *\n     * \\tparam Offset                               <b>[inferred]</b> Signed integer type for local offsets\n     */\n    template <typename Offset>\n    __device__ __forceinline__ void ScatterToStripedGuarded(\n        T               items[ITEMS_PER_THREAD],        ///< [in-out] Items to exchange\n        Offset          ranks[ITEMS_PER_THREAD])        ///< [in] Corresponding scatter ranks\n    {\n        #pragma unroll\n        for (int ITEM = 0; ITEM < ITEMS_PER_THREAD; ITEM++)\n        {\n            int item_offset = ranks[ITEM];\n            if (INSERT_PADDING) item_offset = SHR_ADD(item_offset, LOG_SMEM_BANKS, item_offset);\n            if (ranks[ITEM] >= 0)\n                temp_storage[item_offset] = items[ITEM];\n        }\n\n        __syncthreads();\n\n        #pragma unroll\n        for (int ITEM = 0; ITEM < ITEMS_PER_THREAD; ITEM++)\n        {\n            int item_offset = int(ITEM * BLOCK_THREADS) + linear_tid;\n            if (INSERT_PADDING) item_offset = SHR_ADD(item_offset, LOG_SMEM_BANKS, item_offset);\n            items[ITEM] = temp_storage[item_offset];\n        }\n    }\n\n    /**\n     * \\brief Exchanges valid data items annotated by rank into <em>striped</em> arrangement.\n     *\n     * \\par\n     * - \\smemreuse\n     *\n     * \\tparam Offset                               <b>[inferred]</b> Signed integer type for local offsets\n     * \\tparam ValidFlag                            <b>[inferred]</b> Flag type denoting which items are valid\n     */\n    template <typename Offset, typename ValidFlag>\n    __device__ __forceinline__ void ScatterToStriped(\n        T               items[ITEMS_PER_THREAD],        ///< [in-out] Items to exchange\n        Offset          ranks[ITEMS_PER_THREAD],        ///< [in] Corresponding scatter ranks\n        ValidFlag       is_valid[ITEMS_PER_THREAD])     ///< [in] Corresponding flag denoting item validity\n    {\n        #pragma unroll\n        for (int ITEM = 0; ITEM < ITEMS_PER_THREAD; ITEM++)\n        {\n            int item_offset = ranks[ITEM];\n            if (INSERT_PADDING) item_offset = SHR_ADD(item_offset, LOG_SMEM_BANKS, item_offset);\n            if (is_valid[ITEM])\n                temp_storage[item_offset] = items[ITEM];\n        }\n\n        __syncthreads();\n\n        #pragma unroll\n        for (int ITEM = 0; ITEM < ITEMS_PER_THREAD; ITEM++)\n        {\n            int item_offset = int(ITEM * BLOCK_THREADS) + linear_tid;\n            if (INSERT_PADDING) item_offset = SHR_ADD(item_offset, LOG_SMEM_BANKS, item_offset);\n            items[ITEM] = temp_storage[item_offset];\n        }\n    }\n\n    //@}  end member group\n\n\n};\n\n}               // CUB namespace\nCUB_NS_POSTFIX  // Optional outer namespace(s)\n\n"
  },
  {
    "path": "external/cub-1.3.2/cub/block/block_histogram.cuh",
    "content": "/******************************************************************************\n * Copyright (c) 2011, Duane Merrill.  All rights reserved.\n * Copyright (c) 2011-2014, NVIDIA CORPORATION.  All rights reserved.\n * \n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *     * Redistributions of source code must retain the above copyright\n *       notice, this list of conditions and the following disclaimer.\n *     * Redistributions in binary form must reproduce the above copyright\n *       notice, this list of conditions and the following disclaimer in the\n *       documentation and/or other materials provided with the distribution.\n *     * Neither the name of the NVIDIA CORPORATION nor the\n *       names of its contributors may be used to endorse or promote products\n *       derived from this software without specific prior written permission.\n * \n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n ******************************************************************************/\n\n/**\n * \\file\n * The cub::BlockHistogram class provides [<em>collective</em>](index.html#sec0) methods for constructing block-wide histograms from data samples partitioned across a CUDA thread block.\n */\n\n#pragma once\n\n#include \"specializations/block_histogram_sort.cuh\"\n#include \"specializations/block_histogram_atomic.cuh\"\n#include \"../util_ptx.cuh\"\n#include \"../util_arch.cuh\"\n#include \"../util_namespace.cuh\"\n\n/// Optional outer namespace(s)\nCUB_NS_PREFIX\n\n/// CUB namespace\nnamespace cub {\n\n\n/******************************************************************************\n * Algorithmic variants\n ******************************************************************************/\n\n/**\n * \\brief BlockHistogramAlgorithm enumerates alternative algorithms for the parallel construction of block-wide histograms.\n */\nenum BlockHistogramAlgorithm\n{\n\n    /**\n     * \\par Overview\n     * Sorting followed by differentiation.  Execution is comprised of two phases:\n     * -# Sort the data using efficient radix sort\n     * -# Look for \"runs\" of same-valued keys by detecting discontinuities; the run-lengths are histogram bin counts.\n     *\n     * \\par Performance Considerations\n     * Delivers consistent throughput regardless of sample bin distribution.\n     */\n    BLOCK_HISTO_SORT,\n\n\n    /**\n     * \\par Overview\n     * Use atomic addition to update byte counts directly\n     *\n     * \\par Performance Considerations\n     * Performance is strongly tied to the hardware implementation of atomic\n     * addition, and may be significantly degraded for non uniformly-random\n     * input distributions where many concurrent updates are likely to be\n     * made to the same bin counter.\n     */\n    BLOCK_HISTO_ATOMIC,\n};\n\n\n\n/******************************************************************************\n * Block histogram\n ******************************************************************************/\n\n\n/**\n * \\brief The BlockHistogram class provides [<em>collective</em>](index.html#sec0) methods for constructing block-wide histograms from data samples partitioned across a CUDA thread block. ![](histogram_logo.png)\n * \\ingroup BlockModule\n *\n * \\tparam T                    The sample type being histogrammed (must be castable to an integer bin identifier)\n * \\tparam BLOCK_DIM_X          The thread block length in threads along the X dimension\n * \\tparam ITEMS_PER_THREAD     The number of items per thread\n * \\tparam BINS                 The number bins within the histogram\n * \\tparam ALGORITHM            <b>[optional]</b> cub::BlockHistogramAlgorithm enumerator specifying the underlying algorithm to use (default: cub::BLOCK_HISTO_SORT)\n * \\tparam BLOCK_DIM_Y          <b>[optional]</b> The thread block length in threads along the Y dimension (default: 1)\n * \\tparam BLOCK_DIM_Z          <b>[optional]</b> The thread block length in threads along the Z dimension (default: 1)\n * \\tparam PTX_ARCH             <b>[optional]</b> \\ptxversion\n *\n * \\par Overview\n * - A <a href=\"http://en.wikipedia.org/wiki/Histogram\"><em>histogram</em></a>\n *   counts the number of observations that fall into each of the disjoint categories (known as <em>bins</em>).\n * - BlockHistogram can be optionally specialized to use different algorithms:\n *   -# <b>cub::BLOCK_HISTO_SORT</b>.  Sorting followed by differentiation. [More...](\\ref cub::BlockHistogramAlgorithm)\n *   -# <b>cub::BLOCK_HISTO_ATOMIC</b>.  Use atomic addition to update byte counts directly. [More...](\\ref cub::BlockHistogramAlgorithm)\n *\n * \\par Performance Considerations\n * - \\granularity\n *\n * \\par A Simple Example\n * \\blockcollective{BlockHistogram}\n * \\par\n * The code snippet below illustrates a 256-bin histogram of 512 integer samples that\n * are partitioned across 128 threads where each thread owns 4 samples.\n * \\par\n * \\code\n * #include <cub/cub.cuh>   // or equivalently <cub/block/block_histogram.cuh>\n *\n * __global__ void ExampleKernel(...)\n * {\n *     // Specialize a 256-bin BlockHistogram type for a 1D block of 128 threads having 4 character samples each\n *     typedef cub::BlockHistogram<unsigned char, 128, 4, 256> BlockHistogram;\n *\n *     // Allocate shared memory for BlockHistogram\n *     __shared__ typename BlockHistogram::TempStorage temp_storage;\n *\n *     // Allocate shared memory for block-wide histogram bin counts\n *     __shared__ unsigned int smem_histogram[256];\n *\n *     // Obtain input samples per thread\n *     unsigned char data[4];\n *     ...\n *\n *     // Compute the block-wide histogram\n *     BlockHistogram(temp_storage).Histogram(data, smem_histogram);\n *\n * \\endcode\n *\n * \\par Performance and Usage Considerations\n * - The histogram output can be constructed in shared or global memory\n * - See cub::BlockHistogramAlgorithm for performance details regarding algorithmic alternatives\n *\n */\ntemplate <\n    typename                T,\n    int                     BLOCK_DIM_X,\n    int                     ITEMS_PER_THREAD,\n    int                     BINS,\n    BlockHistogramAlgorithm ALGORITHM           = BLOCK_HISTO_SORT,\n    int                     BLOCK_DIM_Y         = 1,\n    int                     BLOCK_DIM_Z         = 1,\n    int                     PTX_ARCH            = CUB_PTX_ARCH>\nclass BlockHistogram\n{\nprivate:\n\n    /******************************************************************************\n     * Constants and type definitions\n     ******************************************************************************/\n\n    /// Constants\n    enum\n    {\n        /// The thread block size in threads\n        BLOCK_THREADS = BLOCK_DIM_X * BLOCK_DIM_Y * BLOCK_DIM_Z,\n    };\n\n    /**\n     * Ensure the template parameterization meets the requirements of the\n     * targeted device architecture.  BLOCK_HISTO_ATOMIC can only be used\n     * on version SM120 or later.  Otherwise BLOCK_HISTO_SORT is used\n     * regardless.\n     */\n    static const BlockHistogramAlgorithm SAFE_ALGORITHM =\n        ((ALGORITHM == BLOCK_HISTO_ATOMIC) && (PTX_ARCH < 120)) ?\n            BLOCK_HISTO_SORT :\n            ALGORITHM;\n\n    /// Internal specialization.\n    typedef typename If<(SAFE_ALGORITHM == BLOCK_HISTO_SORT),\n        BlockHistogramSort<T, BLOCK_DIM_X, ITEMS_PER_THREAD, BINS, BLOCK_DIM_Y, BLOCK_DIM_Z, PTX_ARCH>,\n        BlockHistogramAtomic<BINS> >::Type InternalBlockHistogram;\n\n    /// Shared memory storage layout type for BlockHistogram\n    typedef typename InternalBlockHistogram::TempStorage _TempStorage;\n\n\n    /******************************************************************************\n     * Thread fields\n     ******************************************************************************/\n\n    /// Shared storage reference\n    _TempStorage &temp_storage;\n\n    /// Linear thread-id\n    int linear_tid;\n\n\n    /******************************************************************************\n     * Utility methods\n     ******************************************************************************/\n\n    /// Internal storage allocator\n    __device__ __forceinline__ _TempStorage& PrivateStorage()\n    {\n        __shared__ _TempStorage private_storage;\n        return private_storage;\n    }\n\n\npublic:\n\n    /// \\smemstorage{BlockHistogram}\n    struct TempStorage : Uninitialized<_TempStorage> {};\n\n\n    /******************************************************************//**\n     * \\name Collective constructors\n     *********************************************************************/\n    //@{\n\n    /**\n     * \\brief Collective constructor using a private static allocation of shared memory as temporary storage.\n     */\n    __device__ __forceinline__ BlockHistogram()\n    :\n        temp_storage(PrivateStorage()),\n        linear_tid(RowMajorTid(BLOCK_DIM_X, BLOCK_DIM_Y, BLOCK_DIM_Z))\n    {}\n\n\n    /**\n     * \\brief Collective constructor using the specified memory allocation as temporary storage.\n     */\n    __device__ __forceinline__ BlockHistogram(\n        TempStorage &temp_storage)             ///< [in] Reference to memory allocation having layout type TempStorage\n    :\n        temp_storage(temp_storage.Alias()),\n        linear_tid(RowMajorTid(BLOCK_DIM_X, BLOCK_DIM_Y, BLOCK_DIM_Z))\n    {}\n\n\n    //@}  end member group\n    /******************************************************************//**\n     * \\name Histogram operations\n     *********************************************************************/\n    //@{\n\n\n    /**\n     * \\brief Initialize the shared histogram counters to zero.\n     *\n     * \\par Snippet\n     * The code snippet below illustrates a the initialization and update of a\n     * histogram of 512 integer samples that are partitioned across 128 threads\n     * where each thread owns 4 samples.\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>   // or equivalently <cub/block/block_histogram.cuh>\n     *\n     * __global__ void ExampleKernel(...)\n     * {\n     *     // Specialize a 256-bin BlockHistogram type for a 1D block of 128 threads having 4 character samples each\n     *     typedef cub::BlockHistogram<unsigned char, 128, 4, 256> BlockHistogram;\n     *\n     *     // Allocate shared memory for BlockHistogram\n     *     __shared__ typename BlockHistogram::TempStorage temp_storage;\n     *\n     *     // Allocate shared memory for block-wide histogram bin counts\n     *     __shared__ unsigned int smem_histogram[256];\n     *\n     *     // Obtain input samples per thread\n     *     unsigned char thread_samples[4];\n     *     ...\n     *\n     *     // Initialize the block-wide histogram\n     *     BlockHistogram(temp_storage).InitHistogram(smem_histogram);\n     *\n     *     // Update the block-wide histogram\n     *     BlockHistogram(temp_storage).Composite(thread_samples, smem_histogram);\n     *\n     * \\endcode\n     *\n     * \\tparam HistoCounter         <b>[inferred]</b> Histogram counter type\n     */\n    template <typename HistoCounter>\n    __device__ __forceinline__ void InitHistogram(HistoCounter histogram[BINS])\n    {\n        // Initialize histogram bin counts to zeros\n        int histo_offset = 0;\n\n        #pragma unroll\n        for(; histo_offset + BLOCK_THREADS <= BINS; histo_offset += BLOCK_THREADS)\n        {\n            histogram[histo_offset + linear_tid] = 0;\n        }\n        // Finish up with guarded initialization if necessary\n        if ((BINS % BLOCK_THREADS != 0) && (histo_offset + linear_tid < BINS))\n        {\n            histogram[histo_offset + linear_tid] = 0;\n        }\n    }\n\n\n    /**\n     * \\brief Constructs a block-wide histogram in shared/global memory.  Each thread contributes an array of input elements.\n     *\n     * \\par\n     * - \\granularity\n     * - \\smemreuse\n     *\n     * \\par Snippet\n     * The code snippet below illustrates a 256-bin histogram of 512 integer samples that\n     * are partitioned across 128 threads where each thread owns 4 samples.\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>   // or equivalently <cub/block/block_histogram.cuh>\n     *\n     * __global__ void ExampleKernel(...)\n     * {\n     *     // Specialize a 256-bin BlockHistogram type for a 1D block of 128 threads having 4 character samples each\n     *     typedef cub::BlockHistogram<unsigned char, 128, 4, 256> BlockHistogram;\n     *\n     *     // Allocate shared memory for BlockHistogram\n     *     __shared__ typename BlockHistogram::TempStorage temp_storage;\n     *\n     *     // Allocate shared memory for block-wide histogram bin counts\n     *     __shared__ unsigned int smem_histogram[256];\n     *\n     *     // Obtain input samples per thread\n     *     unsigned char thread_samples[4];\n     *     ...\n     *\n     *     // Compute the block-wide histogram\n     *     BlockHistogram(temp_storage).Histogram(thread_samples, smem_histogram);\n     *\n     * \\endcode\n     *\n     * \\tparam HistoCounter         <b>[inferred]</b> Histogram counter type\n     */\n    template <\n        typename            HistoCounter>\n    __device__ __forceinline__ void Histogram(\n        T                   (&items)[ITEMS_PER_THREAD],     ///< [in] Calling thread's input values to histogram\n        HistoCounter        histogram[BINS])                ///< [out] Reference to shared/global memory histogram\n    {\n        // Initialize histogram bin counts to zeros\n        InitHistogram(histogram);\n\n        __syncthreads();\n\n        // Composite the histogram\n        InternalBlockHistogram(temp_storage).Composite(items, histogram);\n    }\n\n\n\n    /**\n     * \\brief Updates an existing block-wide histogram in shared/global memory.  Each thread composites an array of input elements.\n     *\n     * \\par\n     * - \\granularity\n     * - \\smemreuse\n     *\n     * \\par Snippet\n     * The code snippet below illustrates a the initialization and update of a\n     * histogram of 512 integer samples that are partitioned across 128 threads\n     * where each thread owns 4 samples.\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>   // or equivalently <cub/block/block_histogram.cuh>\n     *\n     * __global__ void ExampleKernel(...)\n     * {\n     *     // Specialize a 256-bin BlockHistogram type for a 1D block of 128 threads having 4 character samples each\n     *     typedef cub::BlockHistogram<unsigned char, 128, 4, 256> BlockHistogram;\n     *\n     *     // Allocate shared memory for BlockHistogram\n     *     __shared__ typename BlockHistogram::TempStorage temp_storage;\n     *\n     *     // Allocate shared memory for block-wide histogram bin counts\n     *     __shared__ unsigned int smem_histogram[256];\n     *\n     *     // Obtain input samples per thread\n     *     unsigned char thread_samples[4];\n     *     ...\n     *\n     *     // Initialize the block-wide histogram\n     *     BlockHistogram(temp_storage).InitHistogram(smem_histogram);\n     *\n     *     // Update the block-wide histogram\n     *     BlockHistogram(temp_storage).Composite(thread_samples, smem_histogram);\n     *\n     * \\endcode\n     *\n     * \\tparam HistoCounter         <b>[inferred]</b> Histogram counter type\n     */\n    template <\n        typename            HistoCounter>\n    __device__ __forceinline__ void Composite(\n        T                   (&items)[ITEMS_PER_THREAD],     ///< [in] Calling thread's input values to histogram\n        HistoCounter        histogram[BINS])                 ///< [out] Reference to shared/global memory histogram\n    {\n        InternalBlockHistogram(temp_storage).Composite(items, histogram);\n    }\n\n};\n\n}               // CUB namespace\nCUB_NS_POSTFIX  // Optional outer namespace(s)\n\n"
  },
  {
    "path": "external/cub-1.3.2/cub/block/block_load.cuh",
    "content": "/******************************************************************************\n * Copyright (c) 2011, Duane Merrill.  All rights reserved.\n * Copyright (c) 2011-2014, NVIDIA CORPORATION.  All rights reserved.\n * \n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *     * Redistributions of source code must retain the above copyright\n *       notice, this list of conditions and the following disclaimer.\n *     * Redistributions in binary form must reproduce the above copyright\n *       notice, this list of conditions and the following disclaimer in the\n *       documentation and/or other materials provided with the distribution.\n *     * Neither the name of the NVIDIA CORPORATION nor the\n *       names of its contributors may be used to endorse or promote products\n *       derived from this software without specific prior written permission.\n * \n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n ******************************************************************************/\n\n/**\n * \\file\n * Operations for reading linear tiles of data into the CUDA thread block.\n */\n\n#pragma once\n\n#include <iterator>\n\n#include \"block_exchange.cuh\"\n#include \"../util_ptx.cuh\"\n#include \"../util_macro.cuh\"\n#include \"../util_type.cuh\"\n#include \"../util_namespace.cuh\"\n\n/// Optional outer namespace(s)\nCUB_NS_PREFIX\n\n/// CUB namespace\nnamespace cub {\n\n/**\n * \\addtogroup UtilIo\n * @{\n */\n\n\n/******************************************************************//**\n * \\name Blocked arrangement I/O (direct)\n *********************************************************************/\n//@{\n\n\n/**\n * \\brief Load a linear segment of items into a blocked arrangement across the thread block.\n *\n * \\blocked\n *\n * \\tparam T                    <b>[inferred]</b> The data type to load.\n * \\tparam ITEMS_PER_THREAD     <b>[inferred]</b> The number of consecutive items partitioned onto each thread.\n * \\tparam InputIterator        <b>[inferred]</b> The random-access iterator type for input \\iterator.\n */\ntemplate <\n    typename        T,\n    int             ITEMS_PER_THREAD,\n    typename        InputIterator>\n__device__ __forceinline__ void LoadDirectBlocked(\n    int             linear_tid,                 ///< [in] A suitable 1D thread-identifier for the calling thread (e.g., <tt>(threadIdx.y * blockDim.x) + linear_tid</tt> for 2D thread blocks)\n    InputIterator   block_itr,                  ///< [in] The thread block's base input iterator for loading from\n    T               (&items)[ITEMS_PER_THREAD]) ///< [out] Data to load\n{\n    // Load directly in thread-blocked order\n    #pragma unroll\n    for (int ITEM = 0; ITEM < ITEMS_PER_THREAD; ITEM++)\n    {\n        items[ITEM] = block_itr[(linear_tid * ITEMS_PER_THREAD) + ITEM];\n    }\n}\n\n\n/**\n * \\brief Load a linear segment of items into a blocked arrangement across the thread block, guarded by range.\n *\n * \\blocked\n *\n * \\tparam T                    <b>[inferred]</b> The data type to load.\n * \\tparam ITEMS_PER_THREAD     <b>[inferred]</b> The number of consecutive items partitioned onto each thread.\n * \\tparam InputIterator        <b>[inferred]</b> The random-access iterator type for input \\iterator.\n */\ntemplate <\n    typename        T,\n    int             ITEMS_PER_THREAD,\n    typename        InputIterator>\n__device__ __forceinline__ void LoadDirectBlocked(\n    int             linear_tid,                 ///< [in] A suitable 1D thread-identifier for the calling thread (e.g., <tt>(threadIdx.y * blockDim.x) + linear_tid</tt> for 2D thread blocks)\n    InputIterator   block_itr,                  ///< [in] The thread block's base input iterator for loading from\n    T               (&items)[ITEMS_PER_THREAD], ///< [out] Data to load\n    int             valid_items)                ///< [in] Number of valid items to load\n{\n    int bounds = valid_items - (linear_tid * ITEMS_PER_THREAD);\n\n    #pragma unroll\n    for (int ITEM = 0; ITEM < ITEMS_PER_THREAD; ITEM++)\n    {\n        if (ITEM < bounds)\n        {\n            items[ITEM] = block_itr[(linear_tid * ITEMS_PER_THREAD) + ITEM];\n        }\n    }\n}\n\n\n/**\n * \\brief Load a linear segment of items into a blocked arrangement across the thread block, guarded by range, with a fall-back assignment of out-of-bound elements..\n *\n * \\blocked\n *\n * \\tparam T                    <b>[inferred]</b> The data type to load.\n * \\tparam ITEMS_PER_THREAD     <b>[inferred]</b> The number of consecutive items partitioned onto each thread.\n * \\tparam InputIterator        <b>[inferred]</b> The random-access iterator type for input \\iterator.\n */\ntemplate <\n    typename        T,\n    int             ITEMS_PER_THREAD,\n    typename        InputIterator>\n__device__ __forceinline__ void LoadDirectBlocked(\n    int             linear_tid,                 ///< [in] A suitable 1D thread-identifier for the calling thread (e.g., <tt>(threadIdx.y * blockDim.x) + linear_tid</tt> for 2D thread blocks)\n    InputIterator   block_itr,                  ///< [in] The thread block's base input iterator for loading from\n    T               (&items)[ITEMS_PER_THREAD], ///< [out] Data to load\n    int             valid_items,                ///< [in] Number of valid items to load\n    T               oob_default)                ///< [in] Default value to assign out-of-bound items\n{\n    #pragma unroll\n    for (int ITEM = 0; ITEM < ITEMS_PER_THREAD; ITEM++)\n    {\n        items[ITEM] = oob_default;\n    }\n\n    LoadDirectBlocked(linear_tid, block_itr, items, valid_items);\n}\n\n\n/**\n * \\brief Load a linear segment of items into a blocked arrangement across the thread block.\n *\n * \\blocked\n *\n * The input offset (\\p block_ptr + \\p block_offset) must be quad-item aligned\n *\n * The following conditions will prevent vectorization and loading will fall back to cub::BLOCK_LOAD_DIRECT:\n *   - \\p ITEMS_PER_THREAD is odd\n *   - The data type \\p T is not a built-in primitive or CUDA vector type (e.g., \\p short, \\p int2, \\p double, \\p float2, etc.)\n *\n * \\tparam T                    <b>[inferred]</b> The data type to load.\n * \\tparam ITEMS_PER_THREAD     <b>[inferred]</b> The number of consecutive items partitioned onto each thread.\n */\ntemplate <\n    typename        T,\n    int             ITEMS_PER_THREAD>\n__device__ __forceinline__ void LoadDirectBlockedVectorized(\n    int             linear_tid,                 ///< [in] A suitable 1D thread-identifier for the calling thread (e.g., <tt>(threadIdx.y * blockDim.x) + linear_tid</tt> for 2D thread blocks)\n    T               *block_ptr,                 ///< [in] Input pointer for loading from\n    T               (&items)[ITEMS_PER_THREAD]) ///< [out] Data to load\n{\n    enum\n    {\n        // Maximum CUDA vector size is 4 elements\n        MAX_VEC_SIZE = CUB_MIN(4, ITEMS_PER_THREAD),\n\n        // Vector size must be a power of two and an even divisor of the items per thread\n        VEC_SIZE = ((((MAX_VEC_SIZE - 1) & MAX_VEC_SIZE) == 0) && ((ITEMS_PER_THREAD % MAX_VEC_SIZE) == 0)) ?\n            MAX_VEC_SIZE :\n            1,\n\n        VECTORS_PER_THREAD = ITEMS_PER_THREAD / VEC_SIZE,\n    };\n\n    // Vector type\n    typedef typename CubVector<T, VEC_SIZE>::Type Vector;\n\n    // Vector items\n    Vector vec_items[VECTORS_PER_THREAD];\n\n    // Aliased input ptr\n    Vector *ptr = reinterpret_cast<Vector*>(block_ptr + (linear_tid * VEC_SIZE * VECTORS_PER_THREAD));\n\n    // Load directly in thread-blocked order\n    #pragma unroll\n    for (int ITEM = 0; ITEM < VECTORS_PER_THREAD; ITEM++)\n    {\n        vec_items[ITEM] = ptr[ITEM];\n    }\n\n    // Copy\n    #pragma unroll\n    for (int ITEM = 0; ITEM < ITEMS_PER_THREAD; ITEM++)\n    {\n        items[ITEM] = reinterpret_cast<T*>(vec_items)[ITEM];\n    }\n}\n\n\n\n//@}  end member group\n/******************************************************************//**\n * \\name Striped arrangement I/O (direct)\n *********************************************************************/\n//@{\n\n\n/**\n * \\brief Load a linear segment of items into a striped arrangement across the thread block.\n *\n * \\striped\n *\n * \\tparam BLOCK_THREADS        The thread block size in threads\n * \\tparam T                    <b>[inferred]</b> The data type to load.\n * \\tparam ITEMS_PER_THREAD     <b>[inferred]</b> The number of consecutive items partitioned onto each thread.\n * \\tparam InputIterator        <b>[inferred]</b> The random-access iterator type for input \\iterator.\n */\ntemplate <\n    int             BLOCK_THREADS,\n    typename        T,\n    int             ITEMS_PER_THREAD,\n    typename        InputIterator>\n__device__ __forceinline__ void LoadDirectStriped(\n    int             linear_tid,                 ///< [in] A suitable 1D thread-identifier for the calling thread (e.g., <tt>(threadIdx.y * blockDim.x) + linear_tid</tt> for 2D thread blocks)\n    InputIterator   block_itr,                  ///< [in] The thread block's base input iterator for loading from\n    T               (&items)[ITEMS_PER_THREAD]) ///< [out] Data to load\n{\n    #pragma unroll\n    for (int ITEM = 0; ITEM < ITEMS_PER_THREAD; ITEM++)\n    {\n        items[ITEM] = block_itr[(ITEM * BLOCK_THREADS) + linear_tid];\n    }\n}\n\n\n/**\n * \\brief Load a linear segment of items into a striped arrangement across the thread block, guarded by range\n *\n * \\striped\n *\n * \\tparam BLOCK_THREADS        The thread block size in threads\n * \\tparam T                    <b>[inferred]</b> The data type to load.\n * \\tparam ITEMS_PER_THREAD     <b>[inferred]</b> The number of consecutive items partitioned onto each thread.\n * \\tparam InputIterator        <b>[inferred]</b> The random-access iterator type for input \\iterator.\n */\ntemplate <\n    int             BLOCK_THREADS,\n    typename        T,\n    int             ITEMS_PER_THREAD,\n    typename        InputIterator>\n__device__ __forceinline__ void LoadDirectStriped(\n    int             linear_tid,                 ///< [in] A suitable 1D thread-identifier for the calling thread (e.g., <tt>(threadIdx.y * blockDim.x) + linear_tid</tt> for 2D thread blocks)\n    InputIterator   block_itr,                  ///< [in] The thread block's base input iterator for loading from\n    T               (&items)[ITEMS_PER_THREAD], ///< [out] Data to load\n    int             valid_items)                ///< [in] Number of valid items to load\n{\n    int bounds = valid_items - linear_tid;\n\n    #pragma unroll\n    for (int ITEM = 0; ITEM < ITEMS_PER_THREAD; ITEM++)\n    {\n        if (ITEM * BLOCK_THREADS < bounds)\n        {\n            items[ITEM] = block_itr[linear_tid + (ITEM * BLOCK_THREADS)];\n        }\n    }\n}\n\n\n/**\n * \\brief Load a linear segment of items into a striped arrangement across the thread block, guarded by range, with a fall-back assignment of out-of-bound elements.\n *\n * \\striped\n *\n * \\tparam BLOCK_THREADS        The thread block size in threads\n * \\tparam T                    <b>[inferred]</b> The data type to load.\n * \\tparam ITEMS_PER_THREAD     <b>[inferred]</b> The number of consecutive items partitioned onto each thread.\n * \\tparam InputIterator        <b>[inferred]</b> The random-access iterator type for input \\iterator.\n */\ntemplate <\n    int             BLOCK_THREADS,\n    typename        T,\n    int             ITEMS_PER_THREAD,\n    typename        InputIterator>\n__device__ __forceinline__ void LoadDirectStriped(\n    int             linear_tid,                 ///< [in] A suitable 1D thread-identifier for the calling thread (e.g., <tt>(threadIdx.y * blockDim.x) + linear_tid</tt> for 2D thread blocks)\n    InputIterator   block_itr,                  ///< [in] The thread block's base input iterator for loading from\n    T               (&items)[ITEMS_PER_THREAD], ///< [out] Data to load\n    int             valid_items,                ///< [in] Number of valid items to load\n    T               oob_default)                ///< [in] Default value to assign out-of-bound items\n{\n    #pragma unroll\n    for (int ITEM = 0; ITEM < ITEMS_PER_THREAD; ITEM++)\n    {\n        items[ITEM] = oob_default;\n    }\n\n    LoadDirectStriped<BLOCK_THREADS>(linear_tid, block_itr, items, valid_items);\n}\n\n\n\n//@}  end member group\n/******************************************************************//**\n * \\name Warp-striped arrangement I/O (direct)\n *********************************************************************/\n//@{\n\n\n/**\n * \\brief Load a linear segment of items into a warp-striped arrangement across the thread block.\n *\n * \\warpstriped\n *\n * \\par Usage Considerations\n * The number of threads in the thread block must be a multiple of the architecture's warp size.\n *\n * \\tparam T                    <b>[inferred]</b> The data type to load.\n * \\tparam ITEMS_PER_THREAD     <b>[inferred]</b> The number of consecutive items partitioned onto each thread.\n * \\tparam InputIterator        <b>[inferred]</b> The random-access iterator type for input \\iterator.\n */\ntemplate <\n    typename        T,\n    int             ITEMS_PER_THREAD,\n    typename        InputIterator>\n__device__ __forceinline__ void LoadDirectWarpStriped(\n    int             linear_tid,                 ///< [in] A suitable 1D thread-identifier for the calling thread (e.g., <tt>(threadIdx.y * blockDim.x) + linear_tid</tt> for 2D thread blocks)\n    InputIterator   block_itr,                  ///< [in] The thread block's base input iterator for loading from\n    T               (&items)[ITEMS_PER_THREAD]) ///< [out] Data to load\n{\n    int tid         = linear_tid & (CUB_PTX_WARP_THREADS - 1);\n    int wid         = linear_tid >> CUB_PTX_LOG_WARP_THREADS;\n    int warp_offset = wid * CUB_PTX_WARP_THREADS * ITEMS_PER_THREAD;\n\n    // Load directly in warp-striped order\n    #pragma unroll\n    for (int ITEM = 0; ITEM < ITEMS_PER_THREAD; ITEM++)\n    {\n        items[ITEM] = block_itr[warp_offset + tid + (ITEM * CUB_PTX_WARP_THREADS)];\n    }\n}\n\n\n/**\n * \\brief Load a linear segment of items into a warp-striped arrangement across the thread block, guarded by range\n *\n * \\warpstriped\n *\n * \\par Usage Considerations\n * The number of threads in the thread block must be a multiple of the architecture's warp size.\n *\n * \\tparam T                    <b>[inferred]</b> The data type to load.\n * \\tparam ITEMS_PER_THREAD     <b>[inferred]</b> The number of consecutive items partitioned onto each thread.\n * \\tparam InputIterator        <b>[inferred]</b> The random-access iterator type for input \\iterator.\n */\ntemplate <\n    typename        T,\n    int             ITEMS_PER_THREAD,\n    typename        InputIterator>\n__device__ __forceinline__ void LoadDirectWarpStriped(\n    int             linear_tid,                 ///< [in] A suitable 1D thread-identifier for the calling thread (e.g., <tt>(threadIdx.y * blockDim.x) + linear_tid</tt> for 2D thread blocks)\n    InputIterator   block_itr,                  ///< [in] The thread block's base input iterator for loading from\n    T               (&items)[ITEMS_PER_THREAD], ///< [out] Data to load\n    int             valid_items)                ///< [in] Number of valid items to load\n{\n    int tid                 = linear_tid & (CUB_PTX_WARP_THREADS - 1);\n    int wid                 = linear_tid >> CUB_PTX_LOG_WARP_THREADS;\n    int warp_offset         = wid * CUB_PTX_WARP_THREADS * ITEMS_PER_THREAD;\n    int bounds              = valid_items - warp_offset - tid;\n\n    // Load directly in warp-striped order\n    #pragma unroll\n    for (int ITEM = 0; ITEM < ITEMS_PER_THREAD; ITEM++)\n    {\n        if ((ITEM * CUB_PTX_WARP_THREADS) < bounds)\n        {\n            items[ITEM] = block_itr[warp_offset + tid + (ITEM * CUB_PTX_WARP_THREADS)];\n        }\n    }\n}\n\n\n/**\n * \\brief Load a linear segment of items into a warp-striped arrangement across the thread block, guarded by range, with a fall-back assignment of out-of-bound elements.\n *\n * \\warpstriped\n *\n * \\par Usage Considerations\n * The number of threads in the thread block must be a multiple of the architecture's warp size.\n *\n * \\tparam T                    <b>[inferred]</b> The data type to load.\n * \\tparam ITEMS_PER_THREAD     <b>[inferred]</b> The number of consecutive items partitioned onto each thread.\n * \\tparam InputIterator        <b>[inferred]</b> The random-access iterator type for input \\iterator.\n */\ntemplate <\n    typename        T,\n    int             ITEMS_PER_THREAD,\n    typename        InputIterator>\n__device__ __forceinline__ void LoadDirectWarpStriped(\n    int             linear_tid,                 ///< [in] A suitable 1D thread-identifier for the calling thread (e.g., <tt>(threadIdx.y * blockDim.x) + linear_tid</tt> for 2D thread blocks)\n    InputIterator   block_itr,                  ///< [in] The thread block's base input iterator for loading from\n    T               (&items)[ITEMS_PER_THREAD], ///< [out] Data to load\n    int             valid_items,               ///< [in] Number of valid items to load\n    T               oob_default)                ///< [in] Default value to assign out-of-bound items\n{\n    #pragma unroll\n    for (int ITEM = 0; ITEM < ITEMS_PER_THREAD; ITEM++)\n    {\n        items[ITEM] = oob_default;\n    }\n\n    LoadDirectWarpStriped(linear_tid, block_itr, items, valid_items);\n}\n\n\n//@}  end member group\n\n/** @} */       // end group UtilIo\n\n\n\n//-----------------------------------------------------------------------------\n// Generic BlockLoad abstraction\n//-----------------------------------------------------------------------------\n\n/**\n * \\brief cub::BlockLoadAlgorithm enumerates alternative algorithms for cub::BlockLoad to read a linear segment of data from memory into a blocked arrangement across a CUDA thread block.\n */\nenum BlockLoadAlgorithm\n{\n    /**\n     * \\par Overview\n     *\n     * A [<em>blocked arrangement</em>](index.html#sec5sec3) of data is read\n     * directly from memory.  The thread block reads items in a parallel \"raking\" fashion: thread<sub><em>i</em></sub>\n     * reads the <em>i</em><sup>th</sup> segment of consecutive elements.\n     *\n     * \\par Performance Considerations\n     * - The utilization of memory transactions (coalescing) decreases as the\n     *   access stride between threads increases (i.e., the number items per thread).\n     */\n    BLOCK_LOAD_DIRECT,\n\n    /**\n     * \\par Overview\n     *\n     * A [<em>blocked arrangement</em>](index.html#sec5sec3) of data is read directly\n     * from memory using CUDA's built-in vectorized loads as a coalescing optimization.\n     * The thread block reads items in a parallel \"raking\" fashion: thread<sub><em>i</em></sub> uses vector loads to\n     * read the <em>i</em><sup>th</sup> segment of consecutive elements.\n     *\n     * For example, <tt>ld.global.v4.s32</tt> instructions will be generated when \\p T = \\p int and \\p ITEMS_PER_THREAD > 4.\n     *\n     * \\par Performance Considerations\n     * - The utilization of memory transactions (coalescing) remains high until the the\n     *   access stride between threads (i.e., the number items per thread) exceeds the\n     *   maximum vector load width (typically 4 items or 64B, whichever is lower).\n     * - The following conditions will prevent vectorization and loading will fall back to cub::BLOCK_LOAD_DIRECT:\n     *   - \\p ITEMS_PER_THREAD is odd\n     *   - The \\p InputIterator is not a simple pointer type\n     *   - The block input offset is not quadword-aligned\n     *   - The data type \\p T is not a built-in primitive or CUDA vector type (e.g., \\p short, \\p int2, \\p double, \\p float2, etc.)\n     */\n    BLOCK_LOAD_VECTORIZE,\n\n    /**\n     * \\par Overview\n     *\n     * A [<em>striped arrangement</em>](index.html#sec5sec3) of data is read\n     * directly from memory and then is locally transposed into a\n     * [<em>blocked arrangement</em>](index.html#sec5sec3). The thread block\n     * reads items in a parallel \"strip-mining\" fashion:\n     * thread<sub><em>i</em></sub> reads items having stride \\p BLOCK_THREADS\n     * between them. cub::BlockExchange is then used to locally reorder the items\n     * into a [<em>blocked arrangement</em>](index.html#sec5sec3).\n     *\n     * \\par Performance Considerations\n     * - The utilization of memory transactions (coalescing) remains high regardless\n     *   of items loaded per thread.\n     * - The local reordering incurs slightly longer latencies and throughput than the\n     *   direct cub::BLOCK_LOAD_DIRECT and cub::BLOCK_LOAD_VECTORIZE alternatives.\n     */\n    BLOCK_LOAD_TRANSPOSE,\n\n\n    /**\n     * \\par Overview\n     *\n     * A [<em>warp-striped arrangement</em>](index.html#sec5sec3) of data is read\n     * directly from memory and then is locally transposed into a\n     * [<em>blocked arrangement</em>](index.html#sec5sec3). Each warp reads its own\n     * contiguous segment in a parallel \"strip-mining\" fashion: lane<sub><em>i</em></sub>\n     * reads items having stride \\p WARP_THREADS between them. cub::BlockExchange\n     * is then used to locally reorder the items into a\n     * [<em>blocked arrangement</em>](index.html#sec5sec3).\n     *\n     * \\par Usage Considerations\n     * - BLOCK_THREADS must be a multiple of WARP_THREADS\n     *\n     * \\par Performance Considerations\n     * - The utilization of memory transactions (coalescing) remains high regardless\n     *   of items loaded per thread.\n     * - The local reordering incurs slightly longer latencies and throughput than the\n     *   direct cub::BLOCK_LOAD_DIRECT and cub::BLOCK_LOAD_VECTORIZE alternatives.\n     */\n    BLOCK_LOAD_WARP_TRANSPOSE,\n};\n\n\n/**\n * \\brief The BlockLoad class provides [<em>collective</em>](index.html#sec0) data movement methods for loading a linear segment of items from memory into a [<em>blocked arrangement</em>](index.html#sec5sec3) across a CUDA thread block.  ![](block_load_logo.png)\n * \\ingroup BlockModule\n * \\ingroup UtilIo\n *\n * \\tparam InputIterator        The input iterator type \\iterator.\n * \\tparam BLOCK_DIM_X          The thread block length in threads along the X dimension\n * \\tparam ITEMS_PER_THREAD     The number of consecutive items partitioned onto each thread.\n * \\tparam ALGORITHM            <b>[optional]</b> cub::BlockLoadAlgorithm tuning policy.  default: cub::BLOCK_LOAD_DIRECT.\n * \\tparam WARP_TIME_SLICING    <b>[optional]</b> Whether or not only one warp's worth of shared memory should be allocated and time-sliced among block-warps during any load-related data transpositions (versus each warp having its own storage). (default: false)\n * \\tparam BLOCK_DIM_Y          <b>[optional]</b> The thread block length in threads along the Y dimension (default: 1)\n * \\tparam BLOCK_DIM_Z          <b>[optional]</b> The thread block length in threads along the Z dimension (default: 1)\n * \\tparam PTX_ARCH             <b>[optional]</b> \\ptxversion\n *\n * \\par Overview\n * - The BlockLoad class provides a single data movement abstraction that can be specialized\n *   to implement different cub::BlockLoadAlgorithm strategies.  This facilitates different\n *   performance policies for different architectures, data types, granularity sizes, etc.\n * - BlockLoad can be optionally specialized by different data movement strategies:\n *   -# <b>cub::BLOCK_LOAD_DIRECT</b>.  A [<em>blocked arrangement</em>](index.html#sec5sec3)\n *      of data is read directly from memory.  [More...](\\ref cub::BlockLoadAlgorithm)\n *   -# <b>cub::BLOCK_LOAD_VECTORIZE</b>.  A [<em>blocked arrangement</em>](index.html#sec5sec3)\n *      of data is read directly from memory using CUDA's built-in vectorized loads as a\n *      coalescing optimization.    [More...](\\ref cub::BlockLoadAlgorithm)\n *   -# <b>cub::BLOCK_LOAD_TRANSPOSE</b>.  A [<em>striped arrangement</em>](index.html#sec5sec3)\n *      of data is read directly from memory and is then locally transposed into a\n *      [<em>blocked arrangement</em>](index.html#sec5sec3).  [More...](\\ref cub::BlockLoadAlgorithm)\n *   -# <b>cub::BLOCK_LOAD_WARP_TRANSPOSE</b>.  A [<em>warp-striped arrangement</em>](index.html#sec5sec3)\n *      of data is read directly from memory and is then locally transposed into a\n *      [<em>blocked arrangement</em>](index.html#sec5sec3).  [More...](\\ref cub::BlockLoadAlgorithm)\n * - \\rowmajor\n *\n * \\par A Simple Example\n * \\blockcollective{BlockLoad}\n * \\par\n * The code snippet below illustrates the loading of a linear\n * segment of 512 integers into a \"blocked\" arrangement across 128 threads where each\n * thread owns 4 consecutive items.  The load is specialized for \\p BLOCK_LOAD_WARP_TRANSPOSE,\n * meaning memory references are efficiently coalesced using a warp-striped access\n * pattern (after which items are locally reordered among threads).\n * \\par\n * \\code\n * #include <cub/cub.cuh>   // or equivalently <cub/block/block_load.cuh>\n *\n * __global__ void ExampleKernel(int *d_data, ...)\n * {\n *     // Specialize BlockLoad for a 1D block of 128 threads owning 4 integer items each\n *     typedef cub::BlockLoad<int*, 128, 4, BLOCK_LOAD_WARP_TRANSPOSE> BlockLoad;\n *\n *     // Allocate shared memory for BlockLoad\n *     __shared__ typename BlockLoad::TempStorage temp_storage;\n *\n *     // Load a segment of consecutive items that are blocked across threads\n *     int thread_data[4];\n *     BlockLoad(temp_storage).Load(d_data, thread_data);\n *\n * \\endcode\n * \\par\n * Suppose the input \\p d_data is <tt>0, 1, 2, 3, 4, 5, ...</tt>.\n * The set of \\p thread_data across the block of threads in those threads will be\n * <tt>{ [0,1,2,3], [4,5,6,7], ..., [508,509,510,511] }</tt>.\n *\n */\ntemplate <\n    typename            InputIterator,\n    int                 BLOCK_DIM_X,\n    int                 ITEMS_PER_THREAD,\n    BlockLoadAlgorithm  ALGORITHM           = BLOCK_LOAD_DIRECT,\n    bool                WARP_TIME_SLICING   = false,\n    int                 BLOCK_DIM_Y         = 1,\n    int                 BLOCK_DIM_Z         = 1,\n    int                 PTX_ARCH            = CUB_PTX_ARCH>\nclass BlockLoad\n{\nprivate:\n\n    /******************************************************************************\n     * Constants and typed definitions\n     ******************************************************************************/\n\n    /// Constants\n    enum\n    {\n        /// The thread block size in threads\n        BLOCK_THREADS = BLOCK_DIM_X * BLOCK_DIM_Y * BLOCK_DIM_Z,\n    };\n\n    // Data type of input iterator\n    typedef typename std::iterator_traits<InputIterator>::value_type T;\n\n\n    /******************************************************************************\n     * Algorithmic variants\n     ******************************************************************************/\n\n    /// Load helper\n    template <BlockLoadAlgorithm _POLICY, int DUMMY>\n    struct LoadInternal;\n\n\n    /**\n     * BLOCK_LOAD_DIRECT specialization of load helper\n     */\n    template <int DUMMY>\n    struct LoadInternal<BLOCK_LOAD_DIRECT, DUMMY>\n    {\n        /// Shared memory storage layout type\n        typedef NullType TempStorage;\n\n        /// Linear thread-id\n        int linear_tid;\n\n        /// Constructor\n        __device__ __forceinline__ LoadInternal(\n            TempStorage &temp_storage,\n            int linear_tid)\n        :\n            linear_tid(linear_tid)\n        {}\n\n        /// Load a linear segment of items from memory\n        __device__ __forceinline__ void Load(\n            InputIterator   block_itr,                      ///< [in] The thread block's base input iterator for loading from\n            T               (&items)[ITEMS_PER_THREAD])     ///< [out] Data to load\n        {\n            LoadDirectBlocked(linear_tid, block_itr, items);\n        }\n\n        /// Load a linear segment of items from memory, guarded by range\n        __device__ __forceinline__ void Load(\n            InputIterator   block_itr,                      ///< [in] The thread block's base input iterator for loading from\n            T               (&items)[ITEMS_PER_THREAD],     ///< [out] Data to load\n            int             valid_items)                    ///< [in] Number of valid items to load\n        {\n            LoadDirectBlocked(linear_tid, block_itr, items, valid_items);\n        }\n\n        /// Load a linear segment of items from memory, guarded by range, with a fall-back assignment of out-of-bound elements\n        __device__ __forceinline__ void Load(\n            InputIterator   block_itr,                      ///< [in] The thread block's base input iterator for loading from\n            T               (&items)[ITEMS_PER_THREAD],     ///< [out] Data to load\n            int             valid_items,                    ///< [in] Number of valid items to load\n            T               oob_default)                    ///< [in] Default value to assign out-of-bound items\n        {\n            LoadDirectBlocked(linear_tid, block_itr, items, valid_items, oob_default);\n        }\n\n    };\n\n\n    /**\n     * BLOCK_LOAD_VECTORIZE specialization of load helper\n     */\n    template <int DUMMY>\n    struct LoadInternal<BLOCK_LOAD_VECTORIZE, DUMMY>\n    {\n        /// Shared memory storage layout type\n        typedef NullType TempStorage;\n\n        /// Linear thread-id\n        int linear_tid;\n\n        /// Constructor\n        __device__ __forceinline__ LoadInternal(\n            TempStorage &temp_storage,\n            int linear_tid)\n        :\n            linear_tid(linear_tid)\n        {}\n\n        /// Load a linear segment of items from memory, specialized for native pointer types (attempts vectorization)\n        __device__ __forceinline__ void Load(\n            T               *block_ptr,                     ///< [in] The thread block's base input iterator for loading from\n            T               (&items)[ITEMS_PER_THREAD])     ///< [out] Data to load\n        {\n            LoadDirectBlockedVectorized(linear_tid, block_ptr, items);\n        }\n\n        /// Load a linear segment of items from memory, specialized for opaque input iterators (skips vectorization)\n        template <\n            typename T,\n            typename _InputIterator>\n        __device__ __forceinline__ void Load(\n            _InputIterator    block_itr,                  ///< [in] The thread block's base input iterator for loading from\n            T                   (&items)[ITEMS_PER_THREAD]) ///< [out] Data to load\n        {\n            LoadDirectBlocked(linear_tid, block_itr, items);\n        }\n\n        /// Load a linear segment of items from memory, guarded by range (skips vectorization)\n        __device__ __forceinline__ void Load(\n            InputIterator   block_itr,                      ///< [in] The thread block's base input iterator for loading from\n            T               (&items)[ITEMS_PER_THREAD],     ///< [out] Data to load\n            int             valid_items)                    ///< [in] Number of valid items to load\n        {\n            LoadDirectBlocked(linear_tid, block_itr, items, valid_items);\n        }\n\n        /// Load a linear segment of items from memory, guarded by range, with a fall-back assignment of out-of-bound elements (skips vectorization)\n        __device__ __forceinline__ void Load(\n            InputIterator   block_itr,                      ///< [in] The thread block's base input iterator for loading from\n            T               (&items)[ITEMS_PER_THREAD],     ///< [out] Data to load\n            int             valid_items,                    ///< [in] Number of valid items to load\n            T               oob_default)                    ///< [in] Default value to assign out-of-bound items\n        {\n            LoadDirectBlocked(linear_tid, block_itr, items, valid_items, oob_default);\n        }\n\n    };\n\n\n    /**\n     * BLOCK_LOAD_TRANSPOSE specialization of load helper\n     */\n    template <int DUMMY>\n    struct LoadInternal<BLOCK_LOAD_TRANSPOSE, DUMMY>\n    {\n        // BlockExchange utility type for keys\n        typedef BlockExchange<T, BLOCK_DIM_X, ITEMS_PER_THREAD, WARP_TIME_SLICING, BLOCK_DIM_Y, BLOCK_DIM_Z, PTX_ARCH> BlockExchange;\n\n        /// Shared memory storage layout type\n        typedef typename BlockExchange::TempStorage _TempStorage;\n\n        /// Alias wrapper allowing storage to be unioned\n        struct TempStorage : Uninitialized<_TempStorage> {};\n\n        /// Thread reference to shared storage\n        _TempStorage &temp_storage;\n\n        /// Linear thread-id\n        int linear_tid;\n\n        /// Constructor\n        __device__ __forceinline__ LoadInternal(\n            TempStorage &temp_storage,\n            int linear_tid)\n        :\n            temp_storage(temp_storage.Alias()),\n            linear_tid(linear_tid)\n        {}\n\n        /// Load a linear segment of items from memory\n        __device__ __forceinline__ void Load(\n            InputIterator   block_itr,                      ///< [in] The thread block's base input iterator for loading from\n            T               (&items)[ITEMS_PER_THREAD])     ///< [out] Data to load{\n        {\n            LoadDirectStriped<BLOCK_THREADS>(linear_tid, block_itr, items);\n            BlockExchange(temp_storage).StripedToBlocked(items);\n        }\n\n        /// Load a linear segment of items from memory, guarded by range\n        __device__ __forceinline__ void Load(\n            InputIterator   block_itr,                      ///< [in] The thread block's base input iterator for loading from\n            T               (&items)[ITEMS_PER_THREAD],     ///< [out] Data to load\n            int             valid_items)                    ///< [in] Number of valid items to load\n        {\n            LoadDirectStriped<BLOCK_THREADS>(linear_tid, block_itr, items, valid_items);\n            BlockExchange(temp_storage).StripedToBlocked(items);\n        }\n\n        /// Load a linear segment of items from memory, guarded by range, with a fall-back assignment of out-of-bound elements\n        __device__ __forceinline__ void Load(\n            InputIterator   block_itr,                      ///< [in] The thread block's base input iterator for loading from\n            T               (&items)[ITEMS_PER_THREAD],     ///< [out] Data to load\n            int             valid_items,                    ///< [in] Number of valid items to load\n            T               oob_default)                    ///< [in] Default value to assign out-of-bound items\n        {\n            LoadDirectStriped<BLOCK_THREADS>(linear_tid, block_itr, items, valid_items, oob_default);\n            BlockExchange(temp_storage).StripedToBlocked(items);\n        }\n\n    };\n\n\n    /**\n     * BLOCK_LOAD_WARP_TRANSPOSE specialization of load helper\n     */\n    template <int DUMMY>\n    struct LoadInternal<BLOCK_LOAD_WARP_TRANSPOSE, DUMMY>\n    {\n        enum\n        {\n            WARP_THREADS = CUB_WARP_THREADS(PTX_ARCH)\n        };\n\n        // Assert BLOCK_THREADS must be a multiple of WARP_THREADS\n        CUB_STATIC_ASSERT((BLOCK_THREADS % WARP_THREADS == 0), \"BLOCK_THREADS must be a multiple of WARP_THREADS\");\n\n        // BlockExchange utility type for keys\n        typedef BlockExchange<T, BLOCK_DIM_X, ITEMS_PER_THREAD, WARP_TIME_SLICING, BLOCK_DIM_Y, BLOCK_DIM_Z, PTX_ARCH> BlockExchange;\n\n        /// Shared memory storage layout type\n        typedef typename BlockExchange::TempStorage _TempStorage;\n\n        /// Alias wrapper allowing storage to be unioned\n        struct TempStorage : Uninitialized<_TempStorage> {};\n\n        /// Thread reference to shared storage\n        _TempStorage &temp_storage;\n\n        /// Linear thread-id\n        int linear_tid;\n\n        /// Constructor\n        __device__ __forceinline__ LoadInternal(\n            TempStorage &temp_storage,\n            int linear_tid)\n        :\n            temp_storage(temp_storage.Alias()),\n            linear_tid(linear_tid)\n        {}\n\n        /// Load a linear segment of items from memory\n        __device__ __forceinline__ void Load(\n            InputIterator   block_itr,                      ///< [in] The thread block's base input iterator for loading from\n            T               (&items)[ITEMS_PER_THREAD])     ///< [out] Data to load{\n        {\n            LoadDirectWarpStriped(linear_tid, block_itr, items);\n            BlockExchange(temp_storage).WarpStripedToBlocked(items);\n        }\n\n        /// Load a linear segment of items from memory, guarded by range\n        __device__ __forceinline__ void Load(\n            InputIterator   block_itr,                      ///< [in] The thread block's base input iterator for loading from\n            T               (&items)[ITEMS_PER_THREAD],     ///< [out] Data to load\n            int             valid_items)                    ///< [in] Number of valid items to load\n        {\n            LoadDirectWarpStriped(linear_tid, block_itr, items, valid_items);\n            BlockExchange(temp_storage).WarpStripedToBlocked(items);\n        }\n\n\n        /// Load a linear segment of items from memory, guarded by range, with a fall-back assignment of out-of-bound elements\n        __device__ __forceinline__ void Load(\n            InputIterator   block_itr,                      ///< [in] The thread block's base input iterator for loading from\n            T               (&items)[ITEMS_PER_THREAD],     ///< [out] Data to load\n            int             valid_items,                    ///< [in] Number of valid items to load\n            T               oob_default)                    ///< [in] Default value to assign out-of-bound items\n        {\n            LoadDirectWarpStriped(linear_tid, block_itr, items, valid_items, oob_default);\n            BlockExchange(temp_storage).WarpStripedToBlocked(items);\n        }\n    };\n\n\n    /******************************************************************************\n     * Type definitions\n     ******************************************************************************/\n\n    /// Internal load implementation to use\n    typedef LoadInternal<ALGORITHM, 0> InternalLoad;\n\n\n    /// Shared memory storage layout type\n    typedef typename InternalLoad::TempStorage _TempStorage;\n\n\n    /******************************************************************************\n     * Utility methods\n     ******************************************************************************/\n\n    /// Internal storage allocator\n    __device__ __forceinline__ _TempStorage& PrivateStorage()\n    {\n        __shared__ _TempStorage private_storage;\n        return private_storage;\n    }\n\n\n    /******************************************************************************\n     * Thread fields\n     ******************************************************************************/\n\n    /// Thread reference to shared storage\n    _TempStorage &temp_storage;\n\n    /// Linear thread-id\n    int linear_tid;\n\npublic:\n\n    /// \\smemstorage{BlockLoad}\n    struct TempStorage : Uninitialized<_TempStorage> {};\n\n\n    /******************************************************************//**\n     * \\name Collective constructors\n     *********************************************************************/\n    //@{\n\n    /**\n     * \\brief Collective constructor using a private static allocation of shared memory as temporary storage.\n     */\n    __device__ __forceinline__ BlockLoad()\n    :\n        temp_storage(PrivateStorage()),\n        linear_tid(RowMajorTid(BLOCK_DIM_X, BLOCK_DIM_Y, BLOCK_DIM_Z))\n    {}\n\n\n    /**\n     * \\brief Collective constructor using the specified memory allocation as temporary storage.\n     */\n    __device__ __forceinline__ BlockLoad(\n        TempStorage &temp_storage)             ///< [in] Reference to memory allocation having layout type TempStorage\n    :\n        temp_storage(temp_storage.Alias()),\n        linear_tid(RowMajorTid(BLOCK_DIM_X, BLOCK_DIM_Y, BLOCK_DIM_Z))\n    {}\n\n\n\n\n    //@}  end member group\n    /******************************************************************//**\n     * \\name Data movement\n     *********************************************************************/\n    //@{\n\n\n    /**\n     * \\brief Load a linear segment of items from memory.\n     *\n     * \\par\n     * - \\blocked\n     * - \\smemreuse\n     *\n     * \\par Snippet\n     * The code snippet below illustrates the loading of a linear\n     * segment of 512 integers into a \"blocked\" arrangement across 128 threads where each\n     * thread owns 4 consecutive items.  The load is specialized for \\p BLOCK_LOAD_WARP_TRANSPOSE,\n     * meaning memory references are efficiently coalesced using a warp-striped access\n     * pattern (after which items are locally reordered among threads).\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>   // or equivalently <cub/block/block_load.cuh>\n     *\n     * __global__ void ExampleKernel(int *d_data, ...)\n     * {\n     *     // Specialize BlockLoad for a 1D block of 128 threads owning 4 integer items each\n     *     typedef cub::BlockLoad<int*, 128, 4, BLOCK_LOAD_WARP_TRANSPOSE> BlockLoad;\n     *\n     *     // Allocate shared memory for BlockLoad\n     *     __shared__ typename BlockLoad::TempStorage temp_storage;\n     *\n     *     // Load a segment of consecutive items that are blocked across threads\n     *     int thread_data[4];\n     *     BlockLoad(temp_storage).Load(d_data, thread_data);\n     *\n     * \\endcode\n     * \\par\n     * Suppose the input \\p d_data is <tt>0, 1, 2, 3, 4, 5, ...</tt>.\n     * The set of \\p thread_data across the block of threads in those threads will be\n     * <tt>{ [0,1,2,3], [4,5,6,7], ..., [508,509,510,511] }</tt>.\n     *\n     */\n    __device__ __forceinline__ void Load(\n        InputIterator   block_itr,                  ///< [in] The thread block's base input iterator for loading from\n        T               (&items)[ITEMS_PER_THREAD]) ///< [out] Data to load\n    {\n        InternalLoad(temp_storage, linear_tid).Load(block_itr, items);\n    }\n\n\n    /**\n     * \\brief Load a linear segment of items from memory, guarded by range.\n     *\n     * \\par\n     * - \\blocked\n     * - \\smemreuse\n     *\n     * \\par Snippet\n     * The code snippet below illustrates the guarded loading of a linear\n     * segment of 512 integers into a \"blocked\" arrangement across 128 threads where each\n     * thread owns 4 consecutive items.  The load is specialized for \\p BLOCK_LOAD_WARP_TRANSPOSE,\n     * meaning memory references are efficiently coalesced using a warp-striped access\n     * pattern (after which items are locally reordered among threads).\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>   // or equivalently <cub/block/block_load.cuh>\n     *\n     * __global__ void ExampleKernel(int *d_data, int valid_items, ...)\n     * {\n     *     // Specialize BlockLoad for a 1D block of 128 threads owning 4 integer items each\n     *     typedef cub::BlockLoad<int*, 128, 4, BLOCK_LOAD_WARP_TRANSPOSE> BlockLoad;\n     *\n     *     // Allocate shared memory for BlockLoad\n     *     __shared__ typename BlockLoad::TempStorage temp_storage;\n     *\n     *     // Load a segment of consecutive items that are blocked across threads\n     *     int thread_data[4];\n     *     BlockLoad(temp_storage).Load(d_data, thread_data, valid_items);\n     *\n     * \\endcode\n     * \\par\n     * Suppose the input \\p d_data is <tt>0, 1, 2, 3, 4, 5, 6...</tt> and \\p valid_items is \\p 5.\n     * The set of \\p thread_data across the block of threads in those threads will be\n     * <tt>{ [0,1,2,3], [4,?,?,?], ..., [?,?,?,?] }</tt>, with only the first two threads\n     * being unmasked to load portions of valid data (and other items remaining unassigned).\n     *\n     */\n    __device__ __forceinline__ void Load(\n        InputIterator   block_itr,                  ///< [in] The thread block's base input iterator for loading from\n        T               (&items)[ITEMS_PER_THREAD], ///< [out] Data to load\n        int             valid_items)                ///< [in] Number of valid items to load\n    {\n        InternalLoad(temp_storage, linear_tid).Load(block_itr, items, valid_items);\n    }\n\n\n    /**\n     * \\brief Load a linear segment of items from memory, guarded by range, with a fall-back assignment of out-of-bound elements\n     *\n     * \\par\n     * - \\blocked\n     * - \\smemreuse\n     *\n     * \\par Snippet\n     * The code snippet below illustrates the guarded loading of a linear\n     * segment of 512 integers into a \"blocked\" arrangement across 128 threads where each\n     * thread owns 4 consecutive items.  The load is specialized for \\p BLOCK_LOAD_WARP_TRANSPOSE,\n     * meaning memory references are efficiently coalesced using a warp-striped access\n     * pattern (after which items are locally reordered among threads).\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>   // or equivalently <cub/block/block_load.cuh>\n     *\n     * __global__ void ExampleKernel(int *d_data, int valid_items, ...)\n     * {\n     *     // Specialize BlockLoad for a 1D block of 128 threads owning 4 integer items each\n     *     typedef cub::BlockLoad<int*, 128, 4, BLOCK_LOAD_WARP_TRANSPOSE> BlockLoad;\n     *\n     *     // Allocate shared memory for BlockLoad\n     *     __shared__ typename BlockLoad::TempStorage temp_storage;\n     *\n     *     // Load a segment of consecutive items that are blocked across threads\n     *     int thread_data[4];\n     *     BlockLoad(temp_storage).Load(d_data, thread_data, valid_items, -1);\n     *\n     * \\endcode\n     * \\par\n     * Suppose the input \\p d_data is <tt>0, 1, 2, 3, 4, 5, 6...</tt>,\n     * \\p valid_items is \\p 5, and the out-of-bounds default is \\p -1.\n     * The set of \\p thread_data across the block of threads in those threads will be\n     * <tt>{ [0,1,2,3], [4,-1,-1,-1], ..., [-1,-1,-1,-1] }</tt>, with only the first two threads\n     * being unmasked to load portions of valid data (and other items are assigned \\p -1)\n     *\n     */\n    __device__ __forceinline__ void Load(\n        InputIterator   block_itr,                  ///< [in] The thread block's base input iterator for loading from\n        T               (&items)[ITEMS_PER_THREAD], ///< [out] Data to load\n        int             valid_items,                ///< [in] Number of valid items to load\n        T               oob_default)                ///< [in] Default value to assign out-of-bound items\n    {\n        InternalLoad(temp_storage, linear_tid).Load(block_itr, items, valid_items, oob_default);\n    }\n\n\n    //@}  end member group\n\n};\n\n\n}               // CUB namespace\nCUB_NS_POSTFIX  // Optional outer namespace(s)\n\n"
  },
  {
    "path": "external/cub-1.3.2/cub/block/block_radix_rank.cuh",
    "content": "/******************************************************************************\n * Copyright (c) 2011, Duane Merrill.  All rights reserved.\n * Copyright (c) 2011-2014, NVIDIA CORPORATION.  All rights reserved.\n * \n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *     * Redistributions of source code must retain the above copyright\n *       notice, this list of conditions and the following disclaimer.\n *     * Redistributions in binary form must reproduce the above copyright\n *       notice, this list of conditions and the following disclaimer in the\n *       documentation and/or other materials provided with the distribution.\n *     * Neither the name of the NVIDIA CORPORATION nor the\n *       names of its contributors may be used to endorse or promote products\n *       derived from this software without specific prior written permission.\n * \n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n ******************************************************************************/\n\n/**\n * \\file\n * cub::BlockRadixRank provides operations for ranking unsigned integer types within a CUDA threadblock\n */\n\n#pragma once\n\n#include \"../thread/thread_reduce.cuh\"\n#include \"../thread/thread_scan.cuh\"\n#include \"../block/block_scan.cuh\"\n#include \"../util_ptx.cuh\"\n#include \"../util_arch.cuh\"\n#include \"../util_type.cuh\"\n#include \"../util_namespace.cuh\"\n\n\n/// Optional outer namespace(s)\nCUB_NS_PREFIX\n\n/// CUB namespace\nnamespace cub {\n\n/**\n * \\brief BlockRadixRank provides operations for ranking unsigned integer types within a CUDA threadblock.\n * \\ingroup BlockModule\n *\n * \\tparam BLOCK_DIM_X          The thread block length in threads along the X dimension\n * \\tparam RADIX_BITS           The number of radix bits per digit place\n * \\tparam DESCENDING           Whether or not the sorted-order is high-to-low\n * \\tparam MEMOIZE_OUTER_SCAN   <b>[optional]</b> Whether or not to buffer outer raking scan partials to incur fewer shared memory reads at the expense of higher register pressure (default: true for architectures SM35 and newer, false otherwise).  See BlockScanAlgorithm::BLOCK_SCAN_RAKING_MEMOIZE for more details.\n * \\tparam INNER_SCAN_ALGORITHM <b>[optional]</b> The cub::BlockScanAlgorithm algorithm to use (default: cub::BLOCK_SCAN_WARP_SCANS)\n * \\tparam SMEM_CONFIG          <b>[optional]</b> Shared memory bank mode (default: \\p cudaSharedMemBankSizeFourByte)\n * \\tparam BLOCK_DIM_Y          <b>[optional]</b> The thread block length in threads along the Y dimension (default: 1)\n * \\tparam BLOCK_DIM_Z          <b>[optional]</b> The thread block length in threads along the Z dimension (default: 1)\n * \\tparam PTX_ARCH             <b>[optional]</b> \\ptxversion\n *\n * \\par Overview\n * Blah...\n * - Keys must be in a form suitable for radix ranking (i.e., unsigned bits).\n * - \\blocked\n *\n * \\par Performance Considerations\n * - \\granularity\n *\n * \\par Examples\n * \\par\n * - <b>Example 1:</b> Simple radix rank of 32-bit integer keys\n *      \\code\n *      #include <cub/cub.cuh>\n *\n *      template <int BLOCK_THREADS>\n *      __global__ void ExampleKernel(...)\n *      {\n *\n *      \\endcode\n */\ntemplate <\n    int                     BLOCK_DIM_X,\n    int                     RADIX_BITS,\n    bool                    DESCENDING,\n    bool                    MEMOIZE_OUTER_SCAN      = (CUB_PTX_ARCH >= 350) ? true : false,\n    BlockScanAlgorithm      INNER_SCAN_ALGORITHM    = BLOCK_SCAN_WARP_SCANS,\n    cudaSharedMemConfig     SMEM_CONFIG             = cudaSharedMemBankSizeFourByte,\n    int                     BLOCK_DIM_Y             = 1,\n    int                     BLOCK_DIM_Z             = 1,\n    int                     PTX_ARCH                = CUB_PTX_ARCH>\nclass BlockRadixRank\n{\nprivate:\n\n    /******************************************************************************\n     * Type definitions and constants\n     ******************************************************************************/\n\n    // Integer type for digit counters (to be packed into words of type PackedCounters)\n    typedef unsigned short DigitCounter;\n\n    // Integer type for packing DigitCounters into columns of shared memory banks\n    typedef typename If<(SMEM_CONFIG == cudaSharedMemBankSizeEightByte),\n        unsigned long long,\n        unsigned int>::Type PackedCounter;\n\n    enum\n    {\n        // The thread block size in threads\n        BLOCK_THREADS               = BLOCK_DIM_X * BLOCK_DIM_Y * BLOCK_DIM_Z,\n\n        RADIX_DIGITS                = 1 << RADIX_BITS,\n\n        LOG_WARP_THREADS            = CUB_LOG_WARP_THREADS(PTX_ARCH),\n        WARP_THREADS                = 1 << LOG_WARP_THREADS,\n        WARPS                       = (BLOCK_THREADS + WARP_THREADS - 1) / WARP_THREADS,\n\n        BYTES_PER_COUNTER           = sizeof(DigitCounter),\n        LOG_BYTES_PER_COUNTER       = Log2<BYTES_PER_COUNTER>::VALUE,\n\n        PACKING_RATIO               = sizeof(PackedCounter) / sizeof(DigitCounter),\n        LOG_PACKING_RATIO           = Log2<PACKING_RATIO>::VALUE,\n\n        LOG_COUNTER_LANES           = CUB_MAX((RADIX_BITS - LOG_PACKING_RATIO), 0),                // Always at least one lane\n        COUNTER_LANES               = 1 << LOG_COUNTER_LANES,\n\n        // The number of packed counters per thread (plus one for padding)\n        RAKING_SEGMENT              = COUNTER_LANES + 1,\n\n        LOG_SMEM_BANKS              = CUB_LOG_SMEM_BANKS(PTX_ARCH),\n        SMEM_BANKS                  = 1 << LOG_SMEM_BANKS,\n    };\n\n\n    /// BlockScan type\n    typedef BlockScan<\n            PackedCounter,\n            BLOCK_DIM_X,\n            INNER_SCAN_ALGORITHM,\n            BLOCK_DIM_Y,\n            BLOCK_DIM_Z,\n            PTX_ARCH>\n        BlockScan;\n\n\n    /// Shared memory storage layout type for BlockRadixRank\n    struct _TempStorage\n    {\n        // Storage for scanning local ranks\n        typename BlockScan::TempStorage block_scan;\n\n        union\n        {\n            DigitCounter            digit_counters[COUNTER_LANES + 1][BLOCK_THREADS][PACKING_RATIO];\n            PackedCounter           raking_grid[BLOCK_THREADS][RAKING_SEGMENT];\n        };\n    };\n\n\n    /******************************************************************************\n     * Thread fields\n     ******************************************************************************/\n\n    /// Shared storage reference\n    _TempStorage &temp_storage;\n\n    /// Linear thread-id\n    int linear_tid;\n\n    /// Copy of raking segment, promoted to registers\n    PackedCounter cached_segment[RAKING_SEGMENT];\n\n\n    /******************************************************************************\n     * Templated iteration\n     ******************************************************************************/\n\n    // General template iteration\n    template <int COUNT, int MAX>\n    struct Iterate\n    {\n        /**\n         * Decode keys.  Decodes the radix digit from the current digit place\n         * and increments the thread's corresponding counter in shared\n         * memory for that digit.\n         *\n         * Saves both (1) the prior value of that counter (the key's\n         * thread-local exclusive prefix sum for that digit), and (2) the shared\n         * memory offset of the counter (for later use).\n         */\n        template <typename UnsignedBits, int KEYS_PER_THREAD>\n        static __device__ __forceinline__ void DecodeKeys(\n            BlockRadixRank  &cta,                                   // BlockRadixRank instance\n            UnsignedBits    (&keys)[KEYS_PER_THREAD],               // Key to decode\n            DigitCounter    (&thread_prefixes)[KEYS_PER_THREAD],    // Prefix counter value (out parameter)\n            DigitCounter*   (&digit_counters)[KEYS_PER_THREAD],     // Counter smem offset (out parameter)\n            int             current_bit,                            // The least-significant bit position of the current digit to extract\n            int             num_bits)                               // The number of bits in the current digit\n        {\n            // Get digit\n            UnsignedBits digit = BFE(keys[COUNT], current_bit, num_bits);\n\n            // Get sub-counter\n            UnsignedBits sub_counter = digit >> LOG_COUNTER_LANES;\n\n            // Get counter lane\n            UnsignedBits counter_lane = digit & (COUNTER_LANES - 1);\n\n            if (DESCENDING)\n            {\n                sub_counter = PACKING_RATIO - 1 - sub_counter;\n                counter_lane = COUNTER_LANES - 1 - counter_lane;\n            }\n\n            // Pointer to smem digit counter\n            digit_counters[COUNT] = &cta.temp_storage.digit_counters[counter_lane][cta.linear_tid][sub_counter];\n\n            // Load thread-exclusive prefix\n            thread_prefixes[COUNT] = *digit_counters[COUNT];\n\n            // Store inclusive prefix\n            *digit_counters[COUNT] = thread_prefixes[COUNT] + 1;\n\n            // Iterate next key\n            Iterate<COUNT + 1, MAX>::DecodeKeys(cta, keys, thread_prefixes, digit_counters, current_bit, num_bits);\n        }\n\n\n        // Termination\n        template <int KEYS_PER_THREAD>\n        static __device__ __forceinline__ void UpdateRanks(\n            int             (&ranks)[KEYS_PER_THREAD],              // Local ranks (out parameter)\n            DigitCounter    (&thread_prefixes)[KEYS_PER_THREAD],    // Prefix counter value\n            DigitCounter*   (&digit_counters)[KEYS_PER_THREAD])     // Counter smem offset\n        {\n            // Add in threadblock exclusive prefix\n            ranks[COUNT] = thread_prefixes[COUNT] + *digit_counters[COUNT];\n\n            // Iterate next key\n            Iterate<COUNT + 1, MAX>::UpdateRanks(ranks, thread_prefixes, digit_counters);\n        }\n    };\n\n\n    // Termination\n    template <int MAX>\n    struct Iterate<MAX, MAX>\n    {\n        // DecodeKeys\n        template <typename UnsignedBits, int KEYS_PER_THREAD>\n        static __device__ __forceinline__ void DecodeKeys(\n            BlockRadixRank  &cta,\n            UnsignedBits    (&keys)[KEYS_PER_THREAD],\n            DigitCounter    (&thread_prefixes)[KEYS_PER_THREAD],\n            DigitCounter*   (&digit_counters)[KEYS_PER_THREAD],\n            int             current_bit,                            // The least-significant bit position of the current digit to extract\n            int             num_bits)                               // The number of bits in the current digit\n        {}\n\n\n        // UpdateRanks\n        template <int KEYS_PER_THREAD>\n        static __device__ __forceinline__ void UpdateRanks(\n            int             (&ranks)[KEYS_PER_THREAD],\n            DigitCounter    (&thread_prefixes)[KEYS_PER_THREAD],\n            DigitCounter    *(&digit_counters)[KEYS_PER_THREAD])\n        {}\n    };\n\n\n    /******************************************************************************\n     * Utility methods\n     ******************************************************************************/\n\n    /**\n     * Internal storage allocator\n     */\n    __device__ __forceinline__ _TempStorage& PrivateStorage()\n    {\n        __shared__ _TempStorage private_storage;\n        return private_storage;\n    }\n\n\n    /**\n     * Performs upsweep raking reduction, returning the aggregate\n     */\n    __device__ __forceinline__ PackedCounter Upsweep()\n    {\n        PackedCounter *smem_raking_ptr = temp_storage.raking_grid[linear_tid];\n        PackedCounter *raking_ptr;\n\n        if (MEMOIZE_OUTER_SCAN)\n        {\n            // Copy data into registers\n            #pragma unroll\n            for (int i = 0; i < RAKING_SEGMENT; i++)\n            {\n                cached_segment[i] = smem_raking_ptr[i];\n            }\n            raking_ptr = cached_segment;\n        }\n        else\n        {\n            raking_ptr = smem_raking_ptr;\n        }\n\n        return ThreadReduce<RAKING_SEGMENT>(raking_ptr, Sum());\n    }\n\n\n    /// Performs exclusive downsweep raking scan\n    __device__ __forceinline__ void ExclusiveDownsweep(\n        PackedCounter raking_partial)\n    {\n        PackedCounter *smem_raking_ptr = temp_storage.raking_grid[linear_tid];\n\n        PackedCounter *raking_ptr = (MEMOIZE_OUTER_SCAN) ?\n            cached_segment :\n            smem_raking_ptr;\n\n        // Exclusive raking downsweep scan\n        ThreadScanExclusive<RAKING_SEGMENT>(raking_ptr, raking_ptr, Sum(), raking_partial);\n\n        if (MEMOIZE_OUTER_SCAN)\n        {\n            // Copy data back to smem\n            #pragma unroll\n            for (int i = 0; i < RAKING_SEGMENT; i++)\n            {\n                smem_raking_ptr[i] = cached_segment[i];\n            }\n        }\n    }\n\n\n    /**\n     * Reset shared memory digit counters\n     */\n    __device__ __forceinline__ void ResetCounters()\n    {\n        // Reset shared memory digit counters\n        #pragma unroll\n        for (int LANE = 0; LANE < COUNTER_LANES + 1; LANE++)\n        {\n            *((PackedCounter*) temp_storage.digit_counters[LANE][linear_tid]) = 0;\n        }\n    }\n\n\n    /**\n     * Scan shared memory digit counters.\n     */\n    __device__ __forceinline__ void ScanCounters()\n    {\n        // Upsweep scan\n        PackedCounter raking_partial = Upsweep();\n\n        // Compute exclusive sum\n        PackedCounter exclusive_partial;\n        PackedCounter packed_aggregate;\n        BlockScan(temp_storage.block_scan).ExclusiveSum(raking_partial, exclusive_partial, packed_aggregate);\n\n        // Propagate totals in packed fields\n        #pragma unroll\n        for (int PACKED = 1; PACKED < PACKING_RATIO; PACKED++)\n        {\n            exclusive_partial += packed_aggregate << (sizeof(DigitCounter) * 8 * PACKED);\n        }\n\n        // Downsweep scan with exclusive partial\n        ExclusiveDownsweep(exclusive_partial);\n    }\n\npublic:\n\n    /// \\smemstorage{BlockScan}\n    struct TempStorage : Uninitialized<_TempStorage> {};\n\n\n    /******************************************************************//**\n     * \\name Collective constructors\n     *********************************************************************/\n    //@{\n\n    /**\n     * \\brief Collective constructor using a private static allocation of shared memory as temporary storage.\n     */\n    __device__ __forceinline__ BlockRadixRank()\n    :\n        temp_storage(PrivateStorage()),\n        linear_tid(RowMajorTid(BLOCK_DIM_X, BLOCK_DIM_Y, BLOCK_DIM_Z))\n    {}\n\n\n    /**\n     * \\brief Collective constructor using the specified memory allocation as temporary storage.\n     */\n    __device__ __forceinline__ BlockRadixRank(\n        TempStorage &temp_storage)             ///< [in] Reference to memory allocation having layout type TempStorage\n    :\n        temp_storage(temp_storage.Alias()),\n        linear_tid(RowMajorTid(BLOCK_DIM_X, BLOCK_DIM_Y, BLOCK_DIM_Z))\n    {}\n\n\n    //@}  end member group\n    /******************************************************************//**\n     * \\name Raking\n     *********************************************************************/\n    //@{\n\n    /**\n     * \\brief Rank keys.\n     */\n    template <\n        typename        UnsignedBits,\n        int             KEYS_PER_THREAD>\n    __device__ __forceinline__ void RankKeys(\n        UnsignedBits    (&keys)[KEYS_PER_THREAD],           ///< [in] Keys for this tile\n        int             (&ranks)[KEYS_PER_THREAD],          ///< [out] For each key, the local rank within the tile\n        int             current_bit,                        ///< [in] The least-significant bit position of the current digit to extract\n        int             num_bits)                           ///< [in] The number of bits in the current digit\n    {\n        DigitCounter    thread_prefixes[KEYS_PER_THREAD];   // For each key, the count of previous keys in this tile having the same digit\n        DigitCounter*   digit_counters[KEYS_PER_THREAD];    // For each key, the byte-offset of its corresponding digit counter in smem\n\n        // Reset shared memory digit counters\n        ResetCounters();\n\n        // Decode keys and update digit counters\n        Iterate<0, KEYS_PER_THREAD>::DecodeKeys(*this, keys, thread_prefixes, digit_counters, current_bit, num_bits);\n\n        __syncthreads();\n\n        // Scan shared memory counters\n        ScanCounters();\n\n        __syncthreads();\n\n        // Extract the local ranks of each key\n        Iterate<0, KEYS_PER_THREAD>::UpdateRanks(ranks, thread_prefixes, digit_counters);\n    }\n\n\n    /**\n     * \\brief Rank keys.  For the lower \\p RADIX_DIGITS threads, digit counts for each digit are provided for the corresponding thread.\n     */\n    template <\n        typename        UnsignedBits,\n        int             KEYS_PER_THREAD>\n    __device__ __forceinline__ void RankKeys(\n        UnsignedBits    (&keys)[KEYS_PER_THREAD],           ///< [in] Keys for this tile\n        int             (&ranks)[KEYS_PER_THREAD],          ///< [out] For each key, the local rank within the tile (out parameter)\n        int             current_bit,                        ///< [in] The least-significant bit position of the current digit to extract\n        int             num_bits,                           ///< [in] The number of bits in the current digit\n        int             &inclusive_digit_prefix)            ///< [out] The incluisve prefix sum for the digit threadIdx.x\n    {\n        // Rank keys\n        RankKeys(keys, ranks, current_bit, num_bits);\n\n        // Get the inclusive and exclusive digit totals corresponding to the calling thread.\n        if ((BLOCK_THREADS == RADIX_DIGITS) || (linear_tid < RADIX_DIGITS))\n        {\n            int bin_idx = (DESCENDING) ?\n                RADIX_DIGITS - linear_tid - 1 :\n                linear_tid;\n\n            // Obtain ex/inclusive digit counts.  (Unfortunately these all reside in the\n            // first counter column, resulting in unavoidable bank conflicts.)\n            int counter_lane = (bin_idx & (COUNTER_LANES - 1));\n            int sub_counter = bin_idx >> (LOG_COUNTER_LANES);\n            inclusive_digit_prefix = temp_storage.digit_counters[counter_lane + 1][0][sub_counter];\n        }\n    }\n};\n\n}               // CUB namespace\nCUB_NS_POSTFIX  // Optional outer namespace(s)\n\n\n"
  },
  {
    "path": "external/cub-1.3.2/cub/block/block_radix_sort.cuh",
    "content": "/******************************************************************************\n * Copyright (c) 2011, Duane Merrill.  All rights reserved.\n * Copyright (c) 2011-2014, NVIDIA CORPORATION.  All rights reserved.\n * \n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *     * Redistributions of source code must retain the above copyright\n *       notice, this list of conditions and the following disclaimer.\n *     * Redistributions in binary form must reproduce the above copyright\n *       notice, this list of conditions and the following disclaimer in the\n *       documentation and/or other materials provided with the distribution.\n *     * Neither the name of the NVIDIA CORPORATION nor the\n *       names of its contributors may be used to endorse or promote products\n *       derived from this software without specific prior written permission.\n * \n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n ******************************************************************************/\n\n/**\n * \\file\n * The cub::BlockRadixSort class provides [<em>collective</em>](index.html#sec0) methods for radix sorting of items partitioned across a CUDA thread block.\n */\n\n\n#pragma once\n\n#include \"block_exchange.cuh\"\n#include \"block_radix_rank.cuh\"\n#include \"../util_ptx.cuh\"\n#include \"../util_arch.cuh\"\n#include \"../util_type.cuh\"\n#include \"../util_namespace.cuh\"\n\n/// Optional outer namespace(s)\nCUB_NS_PREFIX\n\n/// CUB namespace\nnamespace cub {\n\n/**\n * \\brief The BlockRadixSort class provides [<em>collective</em>](index.html#sec0) methods for sorting items partitioned across a CUDA thread block using a radix sorting method.  ![](sorting_logo.png)\n * \\ingroup BlockModule\n *\n * \\tparam Key                  Key type\n * \\tparam BLOCK_DIM_X          The thread block length in threads along the X dimension\n * \\tparam ITEMS_PER_THREAD     The number of items per thread\n * \\tparam Value                <b>[optional]</b> Value type (default: cub::NullType, which indicates a keys-only sort)\n * \\tparam RADIX_BITS           <b>[optional]</b> The number of radix bits per digit place (default: 4 bits)\n * \\tparam MEMOIZE_OUTER_SCAN   <b>[optional]</b> Whether or not to buffer outer raking scan partials to incur fewer shared memory reads at the expense of higher register pressure (default: true for architectures SM35 and newer, false otherwise).\n * \\tparam INNER_SCAN_ALGORITHM <b>[optional]</b> The cub::BlockScanAlgorithm algorithm to use (default: cub::BLOCK_SCAN_WARP_SCANS)\n * \\tparam SMEM_CONFIG          <b>[optional]</b> Shared memory bank mode (default: \\p cudaSharedMemBankSizeFourByte)\n * \\tparam BLOCK_DIM_Y          <b>[optional]</b> The thread block length in threads along the Y dimension (default: 1)\n * \\tparam BLOCK_DIM_Z          <b>[optional]</b> The thread block length in threads along the Z dimension (default: 1)\n * \\tparam PTX_ARCH             <b>[optional]</b> \\ptxversion\n *\n * \\par Overview\n * - The [<em>radix sorting method</em>](http://en.wikipedia.org/wiki/Radix_sort) arranges\n *   items into ascending order.  It relies upon a positional representation for\n *   keys, i.e., each key is comprised of an ordered sequence of symbols (e.g., digits,\n *   characters, etc.) specified from least-significant to most-significant.  For a\n *   given input sequence of keys and a set of rules specifying a total ordering\n *   of the symbolic alphabet, the radix sorting method produces a lexicographic\n *   ordering of those keys.\n * - BlockRadixSort can sort all of the built-in C++ numeric primitive types, e.g.:\n *   <tt>unsigned char</tt>, \\p int, \\p double, etc.  Within each key, the implementation treats fixed-length\n *   bit-sequences of \\p RADIX_BITS as radix digit places.  Although the direct radix sorting\n *   method can only be applied to unsigned integral types, BlockRadixSort\n *   is able to sort signed and floating-point types via simple bit-wise transformations\n *   that ensure lexicographic key ordering.\n * - \\rowmajor\n *\n * \\par Performance Considerations\n * - \\granularity\n *\n * \\par A Simple Example\n * \\blockcollective{BlockRadixSort}\n * \\par\n * The code snippet below illustrates a sort of 512 integer keys that\n * are partitioned in a [<em>blocked arrangement</em>](index.html#sec5sec3) across 128 threads\n * where each thread owns 4 consecutive items.\n * \\par\n * \\code\n * #include <cub/cub.cuh>   // or equivalently <cub/block/block_radix_sort.cuh>\n *\n * __global__ void ExampleKernel(...)\n * {\n *     // Specialize BlockRadixSort for a 1D block of 128 threads owning 4 integer items each\n *     typedef cub::BlockRadixSort<int, 128, 4> BlockRadixSort;\n *\n *     // Allocate shared memory for BlockRadixSort\n *     __shared__ typename BlockRadixSort::TempStorage temp_storage;\n *\n *     // Obtain a segment of consecutive items that are blocked across threads\n *     int thread_keys[4];\n *     ...\n *\n *     // Collectively sort the keys\n *     BlockRadixSort(temp_storage).Sort(thread_keys);\n *\n *     ...\n * \\endcode\n * \\par\n * Suppose the set of input \\p thread_keys across the block of threads is\n * <tt>{ [0,511,1,510], [2,509,3,508], [4,507,5,506], ..., [254,257,255,256] }</tt>.  The\n * corresponding output \\p thread_keys in those threads will be\n * <tt>{ [0,1,2,3], [4,5,6,7], [8,9,10,11], ..., [508,509,510,511] }</tt>.\n *\n */\ntemplate <\n    typename                Key,\n    int                     BLOCK_DIM_X,\n    int                     ITEMS_PER_THREAD,\n    typename                Value                   = NullType,\n    int                     RADIX_BITS              = 4,\n    bool                    MEMOIZE_OUTER_SCAN      = (CUB_PTX_ARCH >= 350) ? true : false,\n    BlockScanAlgorithm      INNER_SCAN_ALGORITHM    = BLOCK_SCAN_WARP_SCANS,\n    cudaSharedMemConfig     SMEM_CONFIG             = cudaSharedMemBankSizeFourByte,\n    int                     BLOCK_DIM_Y             = 1,\n    int                     BLOCK_DIM_Z             = 1,\n    int                     PTX_ARCH                = CUB_PTX_ARCH>\nclass BlockRadixSort\n{\nprivate:\n\n    /******************************************************************************\n     * Constants and type definitions\n     ******************************************************************************/\n\n    enum\n    {\n        // The thread block size in threads\n        BLOCK_THREADS               = BLOCK_DIM_X * BLOCK_DIM_Y * BLOCK_DIM_Z,\n\n        // Whether or not there are values to be trucked along with keys\n        KEYS_ONLY                   = Equals<Value, NullType>::VALUE,\n    };\n\n    // Key traits and unsigned bits type\n    typedef NumericTraits<Key>                  KeyTraits;\n    typedef typename KeyTraits::UnsignedBits    UnsignedBits;\n\n    /// Ascending BlockRadixRank utility type\n    typedef BlockRadixRank<\n            BLOCK_DIM_X,\n            RADIX_BITS,\n            false,\n            MEMOIZE_OUTER_SCAN,\n            INNER_SCAN_ALGORITHM,\n            SMEM_CONFIG,\n            BLOCK_DIM_Y,\n            BLOCK_DIM_Z,\n            PTX_ARCH>\n        AscendingBlockRadixRank;\n\n    /// Descending BlockRadixRank utility type\n    typedef BlockRadixRank<\n            BLOCK_DIM_X,\n            RADIX_BITS,\n            true,\n            MEMOIZE_OUTER_SCAN,\n            INNER_SCAN_ALGORITHM,\n            SMEM_CONFIG,\n            BLOCK_DIM_Y,\n            BLOCK_DIM_Z,\n            PTX_ARCH>\n        DescendingBlockRadixRank;\n\n    /// BlockExchange utility type for keys\n    typedef BlockExchange<Key, BLOCK_DIM_X, ITEMS_PER_THREAD, false, BLOCK_DIM_Y, BLOCK_DIM_Z, PTX_ARCH> BlockExchangeKeys;\n\n    /// BlockExchange utility type for values\n    typedef BlockExchange<Value, BLOCK_DIM_X, ITEMS_PER_THREAD, false, BLOCK_DIM_Y, BLOCK_DIM_Z, PTX_ARCH> BlockExchangeValues;\n\n    /// Shared memory storage layout type\n    struct _TempStorage\n    {\n        union\n        {\n            typename AscendingBlockRadixRank::TempStorage  asending_ranking_storage;\n            typename DescendingBlockRadixRank::TempStorage descending_ranking_storage;\n            typename BlockExchangeKeys::TempStorage        exchange_keys;\n            typename BlockExchangeValues::TempStorage      exchange_values;\n        };\n    };\n\n\n    /******************************************************************************\n     * Thread fields\n     ******************************************************************************/\n\n    /// Shared storage reference\n    _TempStorage &temp_storage;\n\n    /// Linear thread-id\n    int linear_tid;\n\n    /******************************************************************************\n     * Utility methods\n     ******************************************************************************/\n\n    /// Internal storage allocator\n    __device__ __forceinline__ _TempStorage& PrivateStorage()\n    {\n        __shared__ _TempStorage private_storage;\n        return private_storage;\n    }\n\n    /// Rank keys (specialized for ascending sort)\n    __device__ __forceinline__ void RankKeys(\n        UnsignedBits    (&unsigned_keys)[ITEMS_PER_THREAD],\n        int             (&ranks)[ITEMS_PER_THREAD],\n        int             begin_bit,\n        int             pass_bits,\n        Int2Type<false> is_descending)\n    {\n        AscendingBlockRadixRank(temp_storage.asending_ranking_storage).RankKeys(\n            unsigned_keys,\n            ranks,\n            begin_bit,\n            pass_bits);\n    }\n\n    /// Rank keys (specialized for descending sort)\n    __device__ __forceinline__ void RankKeys(\n        UnsignedBits    (&unsigned_keys)[ITEMS_PER_THREAD],\n        int             (&ranks)[ITEMS_PER_THREAD],\n        int             begin_bit,\n        int             pass_bits,\n        Int2Type<true>  is_descending)\n    {\n        DescendingBlockRadixRank(temp_storage.descending_ranking_storage).RankKeys(\n            unsigned_keys,\n            ranks,\n            begin_bit,\n            pass_bits);\n    }\n\n    /// ExchangeValues (specialized for key-value sort, to-blocked arrangement)\n    __device__ __forceinline__ void ExchangeValues(\n        Value           (&values)[ITEMS_PER_THREAD],\n        int             (&ranks)[ITEMS_PER_THREAD],\n        Int2Type<false> is_keys_only,\n        Int2Type<true>  is_blocked)\n    {\n        __syncthreads();\n\n        // Exchange values through shared memory in blocked arrangement\n        BlockExchangeValues(temp_storage.exchange_values).ScatterToBlocked(values, ranks);\n    }\n\n    /// ExchangeValues (specialized for key-value sort, to-striped arrangement)\n    __device__ __forceinline__ void ExchangeValues(\n        Value           (&values)[ITEMS_PER_THREAD],\n        int             (&ranks)[ITEMS_PER_THREAD],\n        Int2Type<false> is_keys_only,\n        Int2Type<false> is_blocked)\n    {\n        __syncthreads();\n\n        // Exchange values through shared memory in blocked arrangement\n        BlockExchangeValues(temp_storage.exchange_values).ScatterToStriped(values, ranks);\n    }\n\n    /// ExchangeValues (specialized for keys-only sort)\n    template <int IS_BLOCKED>\n    __device__ __forceinline__ void ExchangeValues(\n        Value                   (&values)[ITEMS_PER_THREAD],\n        int                     (&ranks)[ITEMS_PER_THREAD],\n        Int2Type<true>          is_keys_only,\n        Int2Type<IS_BLOCKED>    is_blocked)\n    {}\n\n    /// Sort blocked arrangement\n    template <int DESCENDING, int KEYS_ONLY>\n    __device__ __forceinline__ void SortBlocked(\n        Key                     (&keys)[ITEMS_PER_THREAD],          ///< Keys to sort\n        Value                   (&values)[ITEMS_PER_THREAD],        ///< Values to sort\n        int                     begin_bit,                          ///< The beginning (least-significant) bit index needed for key comparison\n        int                     end_bit,                            ///< The past-the-end (most-significant) bit index needed for key comparison\n        Int2Type<DESCENDING>    is_descending,                      ///< Tag whether is a descending-order sort\n        Int2Type<KEYS_ONLY>     is_keys_only)                       ///< Tag whether is keys-only sort\n    {\n        UnsignedBits (&unsigned_keys)[ITEMS_PER_THREAD] =\n            reinterpret_cast<UnsignedBits (&)[ITEMS_PER_THREAD]>(keys);\n\n        // Twiddle bits if necessary\n        #pragma unroll\n        for (int KEY = 0; KEY < ITEMS_PER_THREAD; KEY++)\n        {\n            unsigned_keys[KEY] = KeyTraits::TwiddleIn(unsigned_keys[KEY]);\n        }\n\n        // Radix sorting passes\n        while (true)\n        {\n            int pass_bits = CUB_MIN(RADIX_BITS, end_bit - begin_bit);\n\n            // Rank the blocked keys\n            int ranks[ITEMS_PER_THREAD];\n            RankKeys(unsigned_keys, ranks, begin_bit, pass_bits, is_descending);\n            begin_bit += RADIX_BITS;\n\n            __syncthreads();\n\n            // Exchange keys through shared memory in blocked arrangement\n            BlockExchangeKeys(temp_storage.exchange_keys).ScatterToBlocked(keys, ranks);\n\n            // Exchange values through shared memory in blocked arrangement\n            ExchangeValues(values, ranks, is_keys_only, Int2Type<true>());\n\n            // Quit if done\n            if (begin_bit >= end_bit) break;\n\n            __syncthreads();\n        }\n\n        // Untwiddle bits if necessary\n        #pragma unroll\n        for (int KEY = 0; KEY < ITEMS_PER_THREAD; KEY++)\n        {\n            unsigned_keys[KEY] = KeyTraits::TwiddleOut(unsigned_keys[KEY]);\n        }\n    }\n\n    /// Sort blocked -> striped arrangement\n    template <int DESCENDING, int KEYS_ONLY>\n    __device__ __forceinline__ void SortBlockedToStriped(\n        Key                     (&keys)[ITEMS_PER_THREAD],          ///< Keys to sort\n        Value                   (&values)[ITEMS_PER_THREAD],        ///< Values to sort\n        int                     begin_bit,                          ///< The beginning (least-significant) bit index needed for key comparison\n        int                     end_bit,                            ///< The past-the-end (most-significant) bit index needed for key comparison\n        Int2Type<DESCENDING>    is_descending,                      ///< Tag whether is a descending-order sort\n        Int2Type<KEYS_ONLY>     is_keys_only)                       ///< Tag whether is keys-only sort\n    {\n        UnsignedBits (&unsigned_keys)[ITEMS_PER_THREAD] =\n            reinterpret_cast<UnsignedBits (&)[ITEMS_PER_THREAD]>(keys);\n\n        // Twiddle bits if necessary\n        #pragma unroll\n        for (int KEY = 0; KEY < ITEMS_PER_THREAD; KEY++)\n        {\n            unsigned_keys[KEY] = KeyTraits::TwiddleIn(unsigned_keys[KEY]);\n        }\n\n        // Radix sorting passes\n        while (true)\n        {\n            int pass_bits = CUB_MIN(RADIX_BITS, end_bit - begin_bit);\n\n            // Rank the blocked keys\n            int ranks[ITEMS_PER_THREAD];\n            RankKeys(unsigned_keys, ranks, begin_bit, pass_bits, is_descending);\n            begin_bit += RADIX_BITS;\n\n            __syncthreads();\n\n            // Check if this is the last pass\n            if (begin_bit >= end_bit)\n            {\n                // Last pass exchanges keys through shared memory in striped arrangement\n                BlockExchangeKeys(temp_storage.exchange_keys).ScatterToStriped(keys, ranks);\n\n                // Last pass exchanges through shared memory in striped arrangement\n                ExchangeValues(values, ranks, is_keys_only, Int2Type<false>());\n\n                // Quit\n                break;\n            }\n\n            // Exchange keys through shared memory in blocked arrangement\n            BlockExchangeKeys(temp_storage.exchange_keys).ScatterToBlocked(keys, ranks);\n\n            // Exchange values through shared memory in blocked arrangement\n            ExchangeValues(values, ranks, is_keys_only, Int2Type<true>());\n\n            __syncthreads();\n        }\n\n        // Untwiddle bits if necessary\n        #pragma unroll\n        for (int KEY = 0; KEY < ITEMS_PER_THREAD; KEY++)\n        {\n            unsigned_keys[KEY] = KeyTraits::TwiddleOut(unsigned_keys[KEY]);\n        }\n    }\n\n\n\npublic:\n\n    /// \\smemstorage{BlockScan}\n    struct TempStorage : Uninitialized<_TempStorage> {};\n\n\n    /******************************************************************//**\n     * \\name Collective constructors\n     *********************************************************************/\n    //@{\n\n    /**\n     * \\brief Collective constructor using a private static allocation of shared memory as temporary storage.\n     */\n    __device__ __forceinline__ BlockRadixSort()\n    :\n        temp_storage(PrivateStorage()),\n        linear_tid(RowMajorTid(BLOCK_DIM_X, BLOCK_DIM_Y, BLOCK_DIM_Z))\n    {}\n\n\n    /**\n     * \\brief Collective constructor using the specified memory allocation as temporary storage.\n     */\n    __device__ __forceinline__ BlockRadixSort(\n        TempStorage &temp_storage)             ///< [in] Reference to memory allocation having layout type TempStorage\n    :\n        temp_storage(temp_storage.Alias()),\n        linear_tid(RowMajorTid(BLOCK_DIM_X, BLOCK_DIM_Y, BLOCK_DIM_Z))\n    {}\n\n\n    //@}  end member group\n    /******************************************************************//**\n     * \\name Sorting (blocked arrangements)\n     *********************************************************************/\n    //@{\n\n    /**\n     * \\brief Performs an ascending block-wide radix sort over a [<em>blocked arrangement</em>](index.html#sec5sec3) of keys.\n     *\n     * \\par\n     * - \\granularity\n     * - \\smemreuse\n     *\n     * \\par Snippet\n     * The code snippet below illustrates a sort of 512 integer keys that\n     * are partitioned in a [<em>blocked arrangement</em>](index.html#sec5sec3) across 128 threads\n     * where each thread owns 4 consecutive keys.\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>   // or equivalently <cub/block/block_radix_sort.cuh>\n     *\n     * __global__ void ExampleKernel(...)\n     * {\n     *     // Specialize BlockRadixSort for a 1D block of 128 threads owning 4 integer keys each\n     *     typedef cub::BlockRadixSort<int, 128, 4> BlockRadixSort;\n     *\n     *     // Allocate shared memory for BlockRadixSort\n     *     __shared__ typename BlockRadixSort::TempStorage temp_storage;\n     *\n     *     // Obtain a segment of consecutive items that are blocked across threads\n     *     int thread_keys[4];\n     *     ...\n     *\n     *     // Collectively sort the keys\n     *     BlockRadixSort(temp_storage).Sort(thread_keys);\n     *\n     * \\endcode\n     * \\par\n     * Suppose the set of input \\p thread_keys across the block of threads is\n     * <tt>{ [0,511,1,510], [2,509,3,508], [4,507,5,506], ..., [254,257,255,256] }</tt>.\n     * The corresponding output \\p thread_keys in those threads will be\n     * <tt>{ [0,1,2,3], [4,5,6,7], [8,9,10,11], ..., [508,509,510,511] }</tt>.\n     */\n    __device__ __forceinline__ void Sort(\n        Key     (&keys)[ITEMS_PER_THREAD],          ///< [in-out] Keys to sort\n        int     begin_bit   = 0,                    ///< [in] <b>[optional]</b> The beginning (least-significant) bit index needed for key comparison\n        int     end_bit     = sizeof(Key) * 8)      ///< [in] <b>[optional]</b> The past-the-end (most-significant) bit index needed for key comparison\n    {\n        NullType values[ITEMS_PER_THREAD];\n\n        SortBlocked(keys, values, begin_bit, end_bit, Int2Type<false>(), Int2Type<KEYS_ONLY>());\n    }\n\n\n    /**\n     * \\brief Performs an ascending block-wide radix sort across a [<em>blocked arrangement</em>](index.html#sec5sec3) of keys and values.\n     *\n     * \\par\n     * - BlockRadixSort can only accommodate one associated tile of values. To \"truck along\"\n     *   more than one tile of values, simply perform a key-value sort of the keys paired\n     *   with a temporary value array that enumerates the key indices.  The reordered indices\n     *   can then be used as a gather-vector for exchanging other associated tile data through\n     *   shared memory.\n     * - \\granularity\n     * - \\smemreuse\n     *\n     * \\par Snippet\n     * The code snippet below illustrates a sort of 512 integer keys and values that\n     * are partitioned in a [<em>blocked arrangement</em>](index.html#sec5sec3) across 128 threads\n     * where each thread owns 4 consecutive pairs.\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>   // or equivalently <cub/block/block_radix_sort.cuh>\n     *\n     * __global__ void ExampleKernel(...)\n     * {\n     *     // Specialize BlockRadixSort for a 1D block of 128 threads owning 4 integer keys and values each\n     *     typedef cub::BlockRadixSort<int, 128, 4, int> BlockRadixSort;\n     *\n     *     // Allocate shared memory for BlockRadixSort\n     *     __shared__ typename BlockRadixSort::TempStorage temp_storage;\n     *\n     *     // Obtain a segment of consecutive items that are blocked across threads\n     *     int thread_keys[4];\n     *     int thread_values[4];\n     *     ...\n     *\n     *     // Collectively sort the keys and values among block threads\n     *     BlockRadixSort(temp_storage).Sort(thread_keys, thread_values);\n     *\n     * \\endcode\n     * \\par\n     * Suppose the set of input \\p thread_keys across the block of threads is\n     * <tt>{ [0,511,1,510], [2,509,3,508], [4,507,5,506], ..., [254,257,255,256] }</tt>.  The\n     * corresponding output \\p thread_keys in those threads will be\n     * <tt>{ [0,1,2,3], [4,5,6,7], [8,9,10,11], ..., [508,509,510,511] }</tt>.\n     *\n     */\n    __device__ __forceinline__ void Sort(\n        Key     (&keys)[ITEMS_PER_THREAD],          ///< [in-out] Keys to sort\n        Value   (&values)[ITEMS_PER_THREAD],        ///< [in-out] Values to sort\n        int     begin_bit   = 0,                    ///< [in] <b>[optional]</b> The beginning (least-significant) bit index needed for key comparison\n        int     end_bit     = sizeof(Key) * 8)      ///< [in] <b>[optional]</b> The past-the-end (most-significant) bit index needed for key comparison\n    {\n        SortBlocked(keys, values, begin_bit, end_bit, Int2Type<false>(), Int2Type<KEYS_ONLY>());\n    }\n\n    /**\n     * \\brief Performs a descending block-wide radix sort over a [<em>blocked arrangement</em>](index.html#sec5sec3) of keys.\n     *\n     * \\par\n     * - \\granularity\n     * - \\smemreuse\n     *\n     * \\par Snippet\n     * The code snippet below illustrates a sort of 512 integer keys that\n     * are partitioned in a [<em>blocked arrangement</em>](index.html#sec5sec3) across 128 threads\n     * where each thread owns 4 consecutive keys.\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>   // or equivalently <cub/block/block_radix_sort.cuh>\n     *\n     * __global__ void ExampleKernel(...)\n     * {\n     *     // Specialize BlockRadixSort for a 1D block of 128 threads owning 4 integer keys each\n     *     typedef cub::BlockRadixSort<int, 128, 4> BlockRadixSort;\n     *\n     *     // Allocate shared memory for BlockRadixSort\n     *     __shared__ typename BlockRadixSort::TempStorage temp_storage;\n     *\n     *     // Obtain a segment of consecutive items that are blocked across threads\n     *     int thread_keys[4];\n     *     ...\n     *\n     *     // Collectively sort the keys\n     *     BlockRadixSort(temp_storage).Sort(thread_keys);\n     *\n     * \\endcode\n     * \\par\n     * Suppose the set of input \\p thread_keys across the block of threads is\n     * <tt>{ [0,511,1,510], [2,509,3,508], [4,507,5,506], ..., [254,257,255,256] }</tt>.\n     * The corresponding output \\p thread_keys in those threads will be\n     * <tt>{ [511,510,509,508], [11,10,9,8], [7,6,5,4], ..., [3,2,1,0] }</tt>.\n     */\n    __device__ __forceinline__ void SortDescending(\n        Key     (&keys)[ITEMS_PER_THREAD],          ///< [in-out] Keys to sort\n        int     begin_bit   = 0,                    ///< [in] <b>[optional]</b> The beginning (least-significant) bit index needed for key comparison\n        int     end_bit     = sizeof(Key) * 8)      ///< [in] <b>[optional]</b> The past-the-end (most-significant) bit index needed for key comparison\n    {\n        NullType values[ITEMS_PER_THREAD];\n\n        SortBlocked(keys, values, begin_bit, end_bit, Int2Type<true>(), Int2Type<KEYS_ONLY>());\n    }\n\n\n    /**\n     * \\brief Performs a descending block-wide radix sort across a [<em>blocked arrangement</em>](index.html#sec5sec3) of keys and values.\n     *\n     * \\par\n     * - BlockRadixSort can only accommodate one associated tile of values. To \"truck along\"\n     *   more than one tile of values, simply perform a key-value sort of the keys paired\n     *   with a temporary value array that enumerates the key indices.  The reordered indices\n     *   can then be used as a gather-vector for exchanging other associated tile data through\n     *   shared memory.\n     * - \\granularity\n     * - \\smemreuse\n     *\n     * \\par Snippet\n     * The code snippet below illustrates a sort of 512 integer keys and values that\n     * are partitioned in a [<em>blocked arrangement</em>](index.html#sec5sec3) across 128 threads\n     * where each thread owns 4 consecutive pairs.\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>   // or equivalently <cub/block/block_radix_sort.cuh>\n     *\n     * __global__ void ExampleKernel(...)\n     * {\n     *     // Specialize BlockRadixSort for a 1D block of 128 threads owning 4 integer keys and values each\n     *     typedef cub::BlockRadixSort<int, 128, 4, int> BlockRadixSort;\n     *\n     *     // Allocate shared memory for BlockRadixSort\n     *     __shared__ typename BlockRadixSort::TempStorage temp_storage;\n     *\n     *     // Obtain a segment of consecutive items that are blocked across threads\n     *     int thread_keys[4];\n     *     int thread_values[4];\n     *     ...\n     *\n     *     // Collectively sort the keys and values among block threads\n     *     BlockRadixSort(temp_storage).Sort(thread_keys, thread_values);\n     *\n     * \\endcode\n     * \\par\n     * Suppose the set of input \\p thread_keys across the block of threads is\n     * <tt>{ [0,511,1,510], [2,509,3,508], [4,507,5,506], ..., [254,257,255,256] }</tt>.  The\n     * corresponding output \\p thread_keys in those threads will be\n     * <tt>{ [511,510,509,508], [11,10,9,8], [7,6,5,4], ..., [3,2,1,0] }</tt>.\n     *\n     */\n    __device__ __forceinline__ void SortDescending(\n        Key     (&keys)[ITEMS_PER_THREAD],          ///< [in-out] Keys to sort\n        Value   (&values)[ITEMS_PER_THREAD],        ///< [in-out] Values to sort\n        int     begin_bit   = 0,                    ///< [in] <b>[optional]</b> The beginning (least-significant) bit index needed for key comparison\n        int     end_bit     = sizeof(Key) * 8)      ///< [in] <b>[optional]</b> The past-the-end (most-significant) bit index needed for key comparison\n    {\n        SortBlocked(keys, values, begin_bit, end_bit, Int2Type<true>(), Int2Type<KEYS_ONLY>());\n    }\n\n\n    //@}  end member group\n    /******************************************************************//**\n     * \\name Sorting (blocked arrangement -> striped arrangement)\n     *********************************************************************/\n    //@{\n\n\n    /**\n     * \\brief Performs an ascending radix sort across a [<em>blocked arrangement</em>](index.html#sec5sec3) of keys, leaving them in a [<em>striped arrangement</em>](index.html#sec5sec3).\n     *\n     * \\par\n     * - \\granularity\n     * - \\smemreuse\n     *\n     * \\par Snippet\n     * The code snippet below illustrates a sort of 512 integer keys that\n     * are initially partitioned in a [<em>blocked arrangement</em>](index.html#sec5sec3) across 128 threads\n     * where each thread owns 4 consecutive keys.  The final partitioning is striped.\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>   // or equivalently <cub/block/block_radix_sort.cuh>\n     *\n     * __global__ void ExampleKernel(...)\n     * {\n     *     // Specialize BlockRadixSort for a 1D block of 128 threads owning 4 integer keys each\n     *     typedef cub::BlockRadixSort<int, 128, 4> BlockRadixSort;\n     *\n     *     // Allocate shared memory for BlockRadixSort\n     *     __shared__ typename BlockRadixSort::TempStorage temp_storage;\n     *\n     *     // Obtain a segment of consecutive items that are blocked across threads\n     *     int thread_keys[4];\n     *     ...\n     *\n     *     // Collectively sort the keys\n     *     BlockRadixSort(temp_storage).SortBlockedToStriped(thread_keys);\n     *\n     * \\endcode\n     * \\par\n     * Suppose the set of input \\p thread_keys across the block of threads is\n     * <tt>{ [0,511,1,510], [2,509,3,508], [4,507,5,506], ..., [254,257,255,256] }</tt>.  The\n     * corresponding output \\p thread_keys in those threads will be\n     * <tt>{ [0,128,256,384], [1,129,257,385], [2,130,258,386], ..., [127,255,383,511] }</tt>.\n     *\n     */\n    __device__ __forceinline__ void SortBlockedToStriped(\n        Key     (&keys)[ITEMS_PER_THREAD],          ///< [in-out] Keys to sort\n        int     begin_bit   = 0,                    ///< [in] <b>[optional]</b> The beginning (least-significant) bit index needed for key comparison\n        int     end_bit     = sizeof(Key) * 8)      ///< [in] <b>[optional]</b> The past-the-end (most-significant) bit index needed for key comparison\n    {\n        NullType values[ITEMS_PER_THREAD];\n\n        SortBlockedToStriped(keys, values, begin_bit, end_bit, Int2Type<false>(), Int2Type<KEYS_ONLY>());\n    }\n\n\n    /**\n     * \\brief Performs an ascending radix sort across a [<em>blocked arrangement</em>](index.html#sec5sec3) of keys and values, leaving them in a [<em>striped arrangement</em>](index.html#sec5sec3).\n     *\n     * \\par\n     * - BlockRadixSort can only accommodate one associated tile of values. To \"truck along\"\n     *   more than one tile of values, simply perform a key-value sort of the keys paired\n     *   with a temporary value array that enumerates the key indices.  The reordered indices\n     *   can then be used as a gather-vector for exchanging other associated tile data through\n     *   shared memory.\n     * - \\granularity\n     * - \\smemreuse\n     *\n     * \\par Snippet\n     * The code snippet below illustrates a sort of 512 integer keys and values that\n     * are initially partitioned in a [<em>blocked arrangement</em>](index.html#sec5sec3) across 128 threads\n     * where each thread owns 4 consecutive pairs.  The final partitioning is striped.\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>   // or equivalently <cub/block/block_radix_sort.cuh>\n     *\n     * __global__ void ExampleKernel(...)\n     * {\n     *     // Specialize BlockRadixSort for a 1D block of 128 threads owning 4 integer keys and values each\n     *     typedef cub::BlockRadixSort<int, 128, 4, int> BlockRadixSort;\n     *\n     *     // Allocate shared memory for BlockRadixSort\n     *     __shared__ typename BlockRadixSort::TempStorage temp_storage;\n     *\n     *     // Obtain a segment of consecutive items that are blocked across threads\n     *     int thread_keys[4];\n     *     int thread_values[4];\n     *     ...\n     *\n     *     // Collectively sort the keys and values among block threads\n     *     BlockRadixSort(temp_storage).SortBlockedToStriped(thread_keys, thread_values);\n     *\n     * \\endcode\n     * \\par\n     * Suppose the set of input \\p thread_keys across the block of threads is\n     * <tt>{ [0,511,1,510], [2,509,3,508], [4,507,5,506], ..., [254,257,255,256] }</tt>.  The\n     * corresponding output \\p thread_keys in those threads will be\n     * <tt>{ [0,128,256,384], [1,129,257,385], [2,130,258,386], ..., [127,255,383,511] }</tt>.\n     *\n     */\n    __device__ __forceinline__ void SortBlockedToStriped(\n        Key     (&keys)[ITEMS_PER_THREAD],          ///< [in-out] Keys to sort\n        Value   (&values)[ITEMS_PER_THREAD],        ///< [in-out] Values to sort\n        int     begin_bit   = 0,                    ///< [in] <b>[optional]</b> The beginning (least-significant) bit index needed for key comparison\n        int     end_bit     = sizeof(Key) * 8)      ///< [in] <b>[optional]</b> The past-the-end (most-significant) bit index needed for key comparison\n    {\n        SortBlockedToStriped(keys, values, begin_bit, end_bit, Int2Type<false>(), Int2Type<KEYS_ONLY>());\n    }\n\n\n    /**\n     * \\brief Performs a descending radix sort across a [<em>blocked arrangement</em>](index.html#sec5sec3) of keys, leaving them in a [<em>striped arrangement</em>](index.html#sec5sec3).\n     *\n     * \\par\n     * - \\granularity\n     * - \\smemreuse\n     *\n     * \\par Snippet\n     * The code snippet below illustrates a sort of 512 integer keys that\n     * are initially partitioned in a [<em>blocked arrangement</em>](index.html#sec5sec3) across 128 threads\n     * where each thread owns 4 consecutive keys.  The final partitioning is striped.\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>   // or equivalently <cub/block/block_radix_sort.cuh>\n     *\n     * __global__ void ExampleKernel(...)\n     * {\n     *     // Specialize BlockRadixSort for a 1D block of 128 threads owning 4 integer keys each\n     *     typedef cub::BlockRadixSort<int, 128, 4> BlockRadixSort;\n     *\n     *     // Allocate shared memory for BlockRadixSort\n     *     __shared__ typename BlockRadixSort::TempStorage temp_storage;\n     *\n     *     // Obtain a segment of consecutive items that are blocked across threads\n     *     int thread_keys[4];\n     *     ...\n     *\n     *     // Collectively sort the keys\n     *     BlockRadixSort(temp_storage).SortBlockedToStriped(thread_keys);\n     *\n     * \\endcode\n     * \\par\n     * Suppose the set of input \\p thread_keys across the block of threads is\n     * <tt>{ [0,511,1,510], [2,509,3,508], [4,507,5,506], ..., [254,257,255,256] }</tt>.  The\n     * corresponding output \\p thread_keys in those threads will be\n     * <tt>{ [511,383,255,127], [386,258,130,2], [385,257,128,1], ..., [384,256,128,0] }</tt>.\n     *\n     */\n    __device__ __forceinline__ void SortDescendingBlockedToStriped(\n        Key     (&keys)[ITEMS_PER_THREAD],          ///< [in-out] Keys to sort\n        int     begin_bit   = 0,                    ///< [in] <b>[optional]</b> The beginning (least-significant) bit index needed for key comparison\n        int     end_bit     = sizeof(Key) * 8)      ///< [in] <b>[optional]</b> The past-the-end (most-significant) bit index needed for key comparison\n    {\n        NullType values[ITEMS_PER_THREAD];\n\n        SortBlockedToStriped(keys, values, begin_bit, end_bit, Int2Type<true>(), Int2Type<KEYS_ONLY>());\n    }\n\n\n    /**\n     * \\brief Performs a descending radix sort across a [<em>blocked arrangement</em>](index.html#sec5sec3) of keys and values, leaving them in a [<em>striped arrangement</em>](index.html#sec5sec3).\n     *\n     * \\par\n     * - BlockRadixSort can only accommodate one associated tile of values. To \"truck along\"\n     *   more than one tile of values, simply perform a key-value sort of the keys paired\n     *   with a temporary value array that enumerates the key indices.  The reordered indices\n     *   can then be used as a gather-vector for exchanging other associated tile data through\n     *   shared memory.\n     * - \\granularity\n     * - \\smemreuse\n     *\n     * \\par Snippet\n     * The code snippet below illustrates a sort of 512 integer keys and values that\n     * are initially partitioned in a [<em>blocked arrangement</em>](index.html#sec5sec3) across 128 threads\n     * where each thread owns 4 consecutive pairs.  The final partitioning is striped.\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>   // or equivalently <cub/block/block_radix_sort.cuh>\n     *\n     * __global__ void ExampleKernel(...)\n     * {\n     *     // Specialize BlockRadixSort for a 1D block of 128 threads owning 4 integer keys and values each\n     *     typedef cub::BlockRadixSort<int, 128, 4, int> BlockRadixSort;\n     *\n     *     // Allocate shared memory for BlockRadixSort\n     *     __shared__ typename BlockRadixSort::TempStorage temp_storage;\n     *\n     *     // Obtain a segment of consecutive items that are blocked across threads\n     *     int thread_keys[4];\n     *     int thread_values[4];\n     *     ...\n     *\n     *     // Collectively sort the keys and values among block threads\n     *     BlockRadixSort(temp_storage).SortBlockedToStriped(thread_keys, thread_values);\n     *\n     * \\endcode\n     * \\par\n     * Suppose the set of input \\p thread_keys across the block of threads is\n     * <tt>{ [0,511,1,510], [2,509,3,508], [4,507,5,506], ..., [254,257,255,256] }</tt>.  The\n     * corresponding output \\p thread_keys in those threads will be\n     * <tt>{ [511,383,255,127], [386,258,130,2], [385,257,128,1], ..., [384,256,128,0] }</tt>.\n     *\n     */\n    __device__ __forceinline__ void SortDescendingBlockedToStriped(\n        Key     (&keys)[ITEMS_PER_THREAD],          ///< [in-out] Keys to sort\n        Value   (&values)[ITEMS_PER_THREAD],        ///< [in-out] Values to sort\n        int     begin_bit   = 0,                    ///< [in] <b>[optional]</b> The beginning (least-significant) bit index needed for key comparison\n        int     end_bit     = sizeof(Key) * 8)      ///< [in] <b>[optional]</b> The past-the-end (most-significant) bit index needed for key comparison\n    {\n        SortBlockedToStriped(keys, values, begin_bit, end_bit, Int2Type<true>(), Int2Type<KEYS_ONLY>());\n    }\n\n\n    //@}  end member group\n\n};\n\n/**\n * \\example example_block_radix_sort.cu\n */\n\n}               // CUB namespace\nCUB_NS_POSTFIX  // Optional outer namespace(s)\n\n"
  },
  {
    "path": "external/cub-1.3.2/cub/block/block_raking_layout.cuh",
    "content": "/******************************************************************************\n * Copyright (c) 2011, Duane Merrill.  All rights reserved.\n * Copyright (c) 2011-2014, NVIDIA CORPORATION.  All rights reserved.\n * \n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *     * Redistributions of source code must retain the above copyright\n *       notice, this list of conditions and the following disclaimer.\n *     * Redistributions in binary form must reproduce the above copyright\n *       notice, this list of conditions and the following disclaimer in the\n *       documentation and/or other materials provided with the distribution.\n *     * Neither the name of the NVIDIA CORPORATION nor the\n *       names of its contributors may be used to endorse or promote products\n *       derived from this software without specific prior written permission.\n * \n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n ******************************************************************************/\n\n/**\n * \\file\n * cub::BlockRakingLayout provides a conflict-free shared memory layout abstraction for warp-raking across thread block data.\n */\n\n\n#pragma once\n\n#include \"../util_macro.cuh\"\n#include \"../util_arch.cuh\"\n#include \"../util_namespace.cuh\"\n\n/// Optional outer namespace(s)\nCUB_NS_PREFIX\n\n/// CUB namespace\nnamespace cub {\n\n/**\n * \\brief BlockRakingLayout provides a conflict-free shared memory layout abstraction for 1D raking across thread block data.    ![](raking.png)\n * \\ingroup BlockModule\n *\n * \\par Overview\n * This type facilitates a shared memory usage pattern where a block of CUDA\n * threads places elements into shared memory and then reduces the active\n * parallelism to one \"raking\" warp of threads for serially aggregating consecutive\n * sequences of shared items.  Padding is inserted to eliminate bank conflicts\n * (for most data types).\n *\n * \\tparam T                        The data type to be exchanged.\n * \\tparam BLOCK_THREADS            The thread block size in threads.\n * \\tparam PTX_ARCH                 <b>[optional]</b> \\ptxversion\n */\ntemplate <\n    typename    T,\n    int         BLOCK_THREADS,\n    int         PTX_ARCH = CUB_PTX_ARCH>\nstruct BlockRakingLayout\n{\n    //---------------------------------------------------------------------\n    // Constants and type definitions\n    //---------------------------------------------------------------------\n\n    enum\n    {\n        /// The total number of elements that need to be cooperatively reduced\n        SHARED_ELEMENTS = BLOCK_THREADS,\n\n        /// Maximum number of warp-synchronous raking threads\n        MAX_RAKING_THREADS = CUB_MIN(BLOCK_THREADS, CUB_WARP_THREADS(PTX_ARCH)),\n\n        /// Number of raking elements per warp-synchronous raking thread (rounded up)\n        SEGMENT_LENGTH = (SHARED_ELEMENTS + MAX_RAKING_THREADS - 1) / MAX_RAKING_THREADS,\n\n        /// Never use a raking thread that will have no valid data (e.g., when BLOCK_THREADS is 62 and SEGMENT_LENGTH is 2, we should only use 31 raking threads)\n        RAKING_THREADS = (SHARED_ELEMENTS + SEGMENT_LENGTH - 1) / SEGMENT_LENGTH,\n\n        /// Whether we will have bank conflicts (technically we should find out if the GCD is > 1)\n        HAS_CONFLICTS = (CUB_SMEM_BANKS(PTX_ARCH) % SEGMENT_LENGTH == 0),\n\n        /// Degree of bank conflicts (e.g., 4-way)\n        CONFLICT_DEGREE = (HAS_CONFLICTS) ?\n            (MAX_RAKING_THREADS * SEGMENT_LENGTH) / CUB_SMEM_BANKS(PTX_ARCH) :\n            1,\n\n        /// Pad each segment length with one element if degree of bank conflicts is greater than 4-way (heuristic)\n        SEGMENT_PADDING = (CONFLICT_DEGREE > CUB_PREFER_CONFLICT_OVER_PADDING(PTX_ARCH)) ? 1 : 0,\n//        SEGMENT_PADDING = (HAS_CONFLICTS) ? 1 : 0,\n\n        /// Total number of elements in the raking grid\n        GRID_ELEMENTS = RAKING_THREADS * (SEGMENT_LENGTH + SEGMENT_PADDING),\n\n        /// Whether or not we need bounds checking during raking (the number of reduction elements is not a multiple of the number of raking threads)\n        UNGUARDED = (SHARED_ELEMENTS % RAKING_THREADS == 0),\n    };\n\n\n    /**\n     * \\brief Shared memory storage type\n     */\n    typedef T _TempStorage[BlockRakingLayout::GRID_ELEMENTS];\n\n    /// Alias wrapper allowing storage to be unioned\n    struct TempStorage : Uninitialized<_TempStorage> {};\n\n\n    /**\n     * \\brief Returns the location for the calling thread to place data into the grid\n     */\n    static __device__ __forceinline__ T* PlacementPtr(\n        TempStorage &temp_storage,\n        int linear_tid)\n    {\n        // Offset for partial\n        unsigned int offset = linear_tid;\n\n        // Add in one padding element for every segment\n        if (SEGMENT_PADDING > 0)\n        {\n            offset += offset / SEGMENT_LENGTH;\n        }\n\n        // Incorporating a block of padding partials every shared memory segment\n        return temp_storage.Alias() + offset;\n    }\n\n\n    /**\n     * \\brief Returns the location for the calling thread to begin sequential raking\n     */\n    static __device__ __forceinline__ T* RakingPtr(\n        TempStorage &temp_storage,\n        int linear_tid)\n    {\n        return temp_storage.Alias() + (linear_tid * (SEGMENT_LENGTH + SEGMENT_PADDING));\n    }\n};\n\n}               // CUB namespace\nCUB_NS_POSTFIX  // Optional outer namespace(s)\n\n"
  },
  {
    "path": "external/cub-1.3.2/cub/block/block_reduce.cuh",
    "content": "/******************************************************************************\n * Copyright (c) 2011, Duane Merrill.  All rights reserved.\n * Copyright (c) 2011-2014, NVIDIA CORPORATION.  All rights reserved.\n * \n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *     * Redistributions of source code must retain the above copyright\n *       notice, this list of conditions and the following disclaimer.\n *     * Redistributions in binary form must reproduce the above copyright\n *       notice, this list of conditions and the following disclaimer in the\n *       documentation and/or other materials provided with the distribution.\n *     * Neither the name of the NVIDIA CORPORATION nor the\n *       names of its contributors may be used to endorse or promote products\n *       derived from this software without specific prior written permission.\n * \n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n ******************************************************************************/\n\n/**\n * \\file\n * The cub::BlockReduce class provides [<em>collective</em>](index.html#sec0) methods for computing a parallel reduction of items partitioned across a CUDA thread block.\n */\n\n#pragma once\n\n#include \"specializations/block_reduce_raking.cuh\"\n#include \"specializations/block_reduce_raking_commutative_only.cuh\"\n#include \"specializations/block_reduce_warp_reductions.cuh\"\n#include \"../util_ptx.cuh\"\n#include \"../util_type.cuh\"\n#include \"../thread/thread_operators.cuh\"\n#include \"../util_namespace.cuh\"\n\n/// Optional outer namespace(s)\nCUB_NS_PREFIX\n\n/// CUB namespace\nnamespace cub {\n\n\n\n/******************************************************************************\n * Algorithmic variants\n ******************************************************************************/\n\n/**\n * BlockReduceAlgorithm enumerates alternative algorithms for parallel\n * reduction across a CUDA threadblock.\n */\nenum BlockReduceAlgorithm\n{\n\n    /**\n     * \\par Overview\n     * An efficient \"raking\" reduction algorithm that only supports commutative\n     * reduction operators (true for most operations, e.g., addition).\n     *\n     * \\par\n     * Execution is comprised of three phases:\n     * -# Upsweep sequential reduction in registers (if threads contribute more\n     *    than one input each).  Threads in warps other than the first warp place\n     *    their partial reductions into shared memory.\n     * -# Upsweep sequential reduction in shared memory.  Threads within the first\n     *    warp continue to accumulate by raking across segments of shared partial reductions\n     * -# A warp-synchronous Kogge-Stone style reduction within the raking warp.\n     *\n     * \\par\n     * \\image html block_reduce.png\n     * <div class=\"centercaption\">\\p BLOCK_REDUCE_RAKING data flow for a hypothetical 16-thread threadblock and 4-thread raking warp.</div>\n     *\n     * \\par Performance Considerations\n     * - This variant performs less communication than BLOCK_REDUCE_RAKING_NON_COMMUTATIVE\n     *   and is preferable when the reduction operator is commutative.  This variant\n     *   applies fewer reduction operators  than BLOCK_REDUCE_WARP_REDUCTIONS, and can provide higher overall\n     *   throughput across the GPU when suitably occupied.  However, turn-around latency may be\n     *   higher than to BLOCK_REDUCE_WARP_REDUCTIONS and thus less-desirable\n     *   when the GPU is under-occupied.\n     */\n    BLOCK_REDUCE_RAKING_COMMUTATIVE_ONLY,\n\n\n    /**\n     * \\par Overview\n     * An efficient \"raking\" reduction algorithm that supports commutative\n     * (e.g., addition) and non-commutative (e.g., string concatenation) reduction\n     * operators. \\blocked.\n     *\n     * \\par\n     * Execution is comprised of three phases:\n     * -# Upsweep sequential reduction in registers (if threads contribute more\n     *    than one input each).  Each thread then places the partial reduction\n     *    of its item(s) into shared memory.\n     * -# Upsweep sequential reduction in shared memory.  Threads within a\n     *    single warp rake across segments of shared partial reductions.\n     * -# A warp-synchronous Kogge-Stone style reduction within the raking warp.\n     *\n     * \\par\n     * \\image html block_reduce.png\n     * <div class=\"centercaption\">\\p BLOCK_REDUCE_RAKING data flow for a hypothetical 16-thread threadblock and 4-thread raking warp.</div>\n     *\n     * \\par Performance Considerations\n     * - This variant performs more communication than BLOCK_REDUCE_RAKING\n     *   and is only preferable when the reduction operator is non-commutative.  This variant\n     *   applies fewer reduction operators than BLOCK_REDUCE_WARP_REDUCTIONS, and can provide higher overall\n     *   throughput across the GPU when suitably occupied.  However, turn-around latency may be\n     *   higher than to BLOCK_REDUCE_WARP_REDUCTIONS and thus less-desirable\n     *   when the GPU is under-occupied.\n     */\n    BLOCK_REDUCE_RAKING,\n\n\n    /**\n     * \\par Overview\n     * A quick \"tiled warp-reductions\" reduction algorithm that supports commutative\n     * (e.g., addition) and non-commutative (e.g., string concatenation) reduction\n     * operators.\n     *\n     * \\par\n     * Execution is comprised of four phases:\n     * -# Upsweep sequential reduction in registers (if threads contribute more\n     *    than one input each).  Each thread then places the partial reduction\n     *    of its item(s) into shared memory.\n     * -# Compute a shallow, but inefficient warp-synchronous Kogge-Stone style\n     *    reduction within each warp.\n     * -# A propagation phase where the warp reduction outputs in each warp are\n     *    updated with the aggregate from each preceding warp.\n     *\n     * \\par\n     * \\image html block_scan_warpscans.png\n     * <div class=\"centercaption\">\\p BLOCK_REDUCE_WARP_REDUCTIONS data flow for a hypothetical 16-thread threadblock and 4-thread raking warp.</div>\n     *\n     * \\par Performance Considerations\n     * - This variant applies more reduction operators than BLOCK_REDUCE_RAKING\n     *   or BLOCK_REDUCE_RAKING_NON_COMMUTATIVE, which may result in lower overall\n     *   throughput across the GPU.  However turn-around latency may be lower and\n     *   thus useful when the GPU is under-occupied.\n     */\n    BLOCK_REDUCE_WARP_REDUCTIONS,\n};\n\n\n/******************************************************************************\n * Block reduce\n ******************************************************************************/\n\n/**\n * \\brief The BlockReduce class provides [<em>collective</em>](index.html#sec0) methods for computing a parallel reduction of items partitioned across a CUDA thread block. ![](reduce_logo.png)\n * \\ingroup BlockModule\n *\n * \\tparam T                Data type being reduced\n * \\tparam BLOCK_DIM_X      The thread block length in threads along the X dimension\n * \\tparam ALGORITHM        <b>[optional]</b> cub::BlockReduceAlgorithm enumerator specifying the underlying algorithm to use (default: cub::BLOCK_REDUCE_WARP_REDUCTIONS)\n * \\tparam BLOCK_DIM_Y      <b>[optional]</b> The thread block length in threads along the Y dimension (default: 1)\n * \\tparam BLOCK_DIM_Z      <b>[optional]</b> The thread block length in threads along the Z dimension (default: 1)\n * \\tparam PTX_ARCH         <b>[optional]</b> \\ptxversion\n *\n * \\par Overview\n * - A <a href=\"http://en.wikipedia.org/wiki/Reduce_(higher-order_function)\"><em>reduction</em></a> (or <em>fold</em>)\n *   uses a binary combining operator to compute a single aggregate from a list of input elements.\n * - \\rowmajor\n * - BlockReduce can be optionally specialized by algorithm to accommodate different latency/throughput workload profiles:\n *   -# <b>cub::BLOCK_REDUCE_RAKING_COMMUTATIVE_ONLY</b>.  An efficient \"raking\" reduction algorithm that only supports commutative reduction operators. [More...](\\ref cub::BlockReduceAlgorithm)\n *   -# <b>cub::BLOCK_REDUCE_RAKING</b>.  An efficient \"raking\" reduction algorithm that supports commutative and non-commutative reduction operators. [More...](\\ref cub::BlockReduceAlgorithm)\n *   -# <b>cub::BLOCK_REDUCE_WARP_REDUCTIONS</b>.  A quick \"tiled warp-reductions\" reduction algorithm that supports commutative and non-commutative reduction operators. [More...](\\ref cub::BlockReduceAlgorithm)\n *\n * \\par Performance Considerations\n * - \\granularity\n * - Very efficient (only one synchronization barrier).\n * - Incurs zero bank conflicts for most types\n * - Computation is slightly more efficient (i.e., having lower instruction overhead) for:\n *   - Summation (<b><em>vs.</em></b> generic reduction)\n *   - \\p BLOCK_THREADS is a multiple of the architecture's warp size\n *   - Every thread has a valid input (i.e., full <b><em>vs.</em></b> partial-tiles)\n * - See cub::BlockReduceAlgorithm for performance details regarding algorithmic alternatives\n *\n * \\par A Simple Example\n * \\blockcollective{BlockReduce}\n * \\par\n * The code snippet below illustrates a sum reduction of 512 integer items that\n * are partitioned in a [<em>blocked arrangement</em>](index.html#sec5sec3) across 128 threads\n * where each thread owns 4 consecutive items.\n * \\par\n * \\code\n * #include <cub/cub.cuh>   // or equivalently <cub/block/block_reduce.cuh>\n *\n * __global__ void ExampleKernel(...)\n * {\n *     // Specialize BlockReduce for a 1D block of 128 threads on type int\n *     typedef cub::BlockReduce<int, 128> BlockReduce;\n *\n *     // Allocate shared memory for BlockReduce\n *     __shared__ typename BlockReduce::TempStorage temp_storage;\n *\n *     // Obtain a segment of consecutive items that are blocked across threads\n *     int thread_data[4];\n *     ...\n *\n *     // Compute the block-wide sum for thread0\n *     int aggregate = BlockReduce(temp_storage).Sum(thread_data);\n *\n * \\endcode\n *\n */\ntemplate <\n    typename                T,\n    int                     BLOCK_DIM_X,\n    BlockReduceAlgorithm    ALGORITHM       = BLOCK_REDUCE_WARP_REDUCTIONS,\n    int                     BLOCK_DIM_Y     = 1,\n    int                     BLOCK_DIM_Z     = 1,\n    int                     PTX_ARCH        = CUB_PTX_ARCH>\nclass BlockReduce\n{\nprivate:\n\n    /******************************************************************************\n     * Constants and type definitions\n     ******************************************************************************/\n\n    /// Constants\n    enum\n    {\n        /// The thread block size in threads\n        BLOCK_THREADS = BLOCK_DIM_X * BLOCK_DIM_Y * BLOCK_DIM_Z,\n    };\n\n    typedef BlockReduceWarpReductions<T, BLOCK_DIM_X, BLOCK_DIM_Y, BLOCK_DIM_Z, PTX_ARCH>           WarpReductions;\n    typedef BlockReduceRakingCommutativeOnly<T, BLOCK_DIM_X, BLOCK_DIM_Y, BLOCK_DIM_Z, PTX_ARCH>    RakingCommutativeOnly;\n    typedef BlockReduceRaking<T, BLOCK_DIM_X, BLOCK_DIM_Y, BLOCK_DIM_Z, PTX_ARCH>                   Raking;\n\n    /// Internal specialization type\n    typedef typename If<(ALGORITHM == BLOCK_REDUCE_WARP_REDUCTIONS),\n        WarpReductions,\n        typename If<(ALGORITHM == BLOCK_REDUCE_RAKING_COMMUTATIVE_ONLY),\n            RakingCommutativeOnly,\n            Raking>::Type>::Type InternalBlockReduce;     // BlockReduceRaking\n\n    /// Shared memory storage layout type for BlockReduce\n    typedef typename InternalBlockReduce::TempStorage _TempStorage;\n\n\n    /******************************************************************************\n     * Utility methods\n     ******************************************************************************/\n\n    /// Internal storage allocator\n    __device__ __forceinline__ _TempStorage& PrivateStorage()\n    {\n        __shared__ _TempStorage private_storage;\n        return private_storage;\n    }\n\n\n    /******************************************************************************\n     * Thread fields\n     ******************************************************************************/\n\n    /// Shared storage reference\n    _TempStorage &temp_storage;\n\n    /// Linear thread-id\n    int linear_tid;\n\n\npublic:\n\n    /// \\smemstorage{BlockReduce}\n    struct TempStorage : Uninitialized<_TempStorage> {};\n\n\n    /******************************************************************//**\n     * \\name Collective constructors\n     *********************************************************************/\n    //@{\n\n    /**\n     * \\brief Collective constructor using a private static allocation of shared memory as temporary storage.\n     */\n    __device__ __forceinline__ BlockReduce()\n    :\n        temp_storage(PrivateStorage()),\n        linear_tid(RowMajorTid(BLOCK_DIM_X, BLOCK_DIM_Y, BLOCK_DIM_Z))\n    {}\n\n\n    /**\n     * \\brief Collective constructor using the specified memory allocation as temporary storage.\n     */\n    __device__ __forceinline__ BlockReduce(\n        TempStorage &temp_storage)             ///< [in] Reference to memory allocation having layout type TempStorage\n    :\n        temp_storage(temp_storage.Alias()),\n        linear_tid(RowMajorTid(BLOCK_DIM_X, BLOCK_DIM_Y, BLOCK_DIM_Z))\n    {}\n\n\n    //@}  end member group\n    /******************************************************************//**\n     * \\name Generic reductions\n     *********************************************************************/\n    //@{\n\n\n    /**\n     * \\brief Computes a block-wide reduction for thread<sub>0</sub> using the specified binary reduction functor.  Each thread contributes one input element.\n     *\n     * \\par\n     * - The return value is undefined in threads other than thread<sub>0</sub>.\n     * - \\rowmajor\n     * - \\smemreuse\n     *\n     * \\par Snippet\n     * The code snippet below illustrates a max reduction of 128 integer items that\n     * are partitioned across 128 threads.\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>   // or equivalently <cub/block/block_reduce.cuh>\n     *\n     * __global__ void ExampleKernel(...)\n     * {\n     *     // Specialize BlockReduce for a 1D block of 128 threads on type int\n     *     typedef cub::BlockReduce<int, 128> BlockReduce;\n     *\n     *     // Allocate shared memory for BlockReduce\n     *     __shared__ typename BlockReduce::TempStorage temp_storage;\n     *\n     *     // Each thread obtains an input item\n     *     int thread_data;\n     *     ...\n     *\n     *     // Compute the block-wide max for thread0\n     *     int aggregate = BlockReduce(temp_storage).Reduce(thread_data, cub::Max());\n     *\n     * \\endcode\n     *\n     * \\tparam ReductionOp          <b>[inferred]</b> Binary reduction functor (e.g., an instance of cub::Sum, cub::Min, cub::Max, etc.) type having member <tt>T operator()(const T &a, const T &b)</tt>\n     */\n    template <typename ReductionOp>\n    __device__ __forceinline__ T Reduce(\n        T               input,                      ///< [in] Calling thread's input\n        ReductionOp     reduction_op)               ///< [in] Binary reduction functor (e.g., an instance of cub::Sum, cub::Min, cub::Max, etc.)\n    {\n        return InternalBlockReduce(temp_storage).template Reduce<true>(input, BLOCK_THREADS, reduction_op);\n    }\n\n\n    /**\n     * \\brief Computes a block-wide reduction for thread<sub>0</sub> using the specified binary reduction functor.  Each thread contributes an array of consecutive input elements.\n     *\n     * \\par\n     * - The return value is undefined in threads other than thread<sub>0</sub>.\n     * - \\granularity\n     * - \\smemreuse\n     *\n     * \\par Snippet\n     * The code snippet below illustrates a max reduction of 512 integer items that\n     * are partitioned in a [<em>blocked arrangement</em>](index.html#sec5sec3) across 128 threads\n     * where each thread owns 4 consecutive items.\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>   // or equivalently <cub/block/block_reduce.cuh>\n     *\n     * __global__ void ExampleKernel(...)\n     * {\n     *     // Specialize BlockReduce for a 1D block of 128 threads on type int\n     *     typedef cub::BlockReduce<int, 128> BlockReduce;\n     *\n     *     // Allocate shared memory for BlockReduce\n     *     __shared__ typename BlockReduce::TempStorage temp_storage;\n     *\n     *     // Obtain a segment of consecutive items that are blocked across threads\n     *     int thread_data[4];\n     *     ...\n     *\n     *     // Compute the block-wide max for thread0\n     *     int aggregate = BlockReduce(temp_storage).Reduce(thread_data, cub::Max());\n     *\n     * \\endcode\n     *\n     * \\tparam ITEMS_PER_THREAD     <b>[inferred]</b> The number of consecutive items partitioned onto each thread.\n     * \\tparam ReductionOp          <b>[inferred]</b> Binary reduction functor (e.g., an instance of cub::Sum, cub::Min, cub::Max, etc.) type having member <tt>T operator()(const T &a, const T &b)</tt>\n     */\n    template <\n        int ITEMS_PER_THREAD,\n        typename ReductionOp>\n    __device__ __forceinline__ T Reduce(\n        T               (&inputs)[ITEMS_PER_THREAD],    ///< [in] Calling thread's input segment\n        ReductionOp     reduction_op)                   ///< [in] Binary reduction functor (e.g., an instance of cub::Sum, cub::Min, cub::Max, etc.)\n    {\n        // Reduce partials\n        T partial = ThreadReduce(inputs, reduction_op);\n        return Reduce(partial, reduction_op);\n    }\n\n\n    /**\n     * \\brief Computes a block-wide reduction for thread<sub>0</sub> using the specified binary reduction functor.  The first \\p num_valid threads each contribute one input element.\n     *\n     * \\par\n     * - The return value is undefined in threads other than thread<sub>0</sub>.\n     * - \\rowmajor\n     * - \\smemreuse\n     *\n     * \\par Snippet\n     * The code snippet below illustrates a max reduction of a partially-full tile of integer items that\n     * are partitioned across 128 threads.\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>   // or equivalently <cub/block/block_reduce.cuh>\n     *\n     * __global__ void ExampleKernel(int num_valid, ...)\n     * {\n     *     // Specialize BlockReduce for a 1D block of 128 threads on type int\n     *     typedef cub::BlockReduce<int, 128> BlockReduce;\n     *\n     *     // Allocate shared memory for BlockReduce\n     *     __shared__ typename BlockReduce::TempStorage temp_storage;\n     *\n     *     // Each thread obtains an input item\n     *     int thread_data;\n     *     if (threadIdx.x < num_valid) thread_data = ...\n     *\n     *     // Compute the block-wide max for thread0\n     *     int aggregate = BlockReduce(temp_storage).Reduce(thread_data, cub::Max(), num_valid);\n     *\n     * \\endcode\n     *\n     * \\tparam ReductionOp          <b>[inferred]</b> Binary reduction functor (e.g., an instance of cub::Sum, cub::Min, cub::Max, etc.) type having member <tt>T operator()(const T &a, const T &b)</tt>\n     */\n    template <typename ReductionOp>\n    __device__ __forceinline__ T Reduce(\n        T                   input,                  ///< [in] Calling thread's input\n        ReductionOp         reduction_op,           ///< [in] Binary reduction functor (e.g., an instance of cub::Sum, cub::Min, cub::Max, etc.)\n        int                 num_valid)              ///< [in] Number of threads containing valid elements (may be less than BLOCK_THREADS)\n    {\n        // Determine if we scan skip bounds checking\n        if (num_valid >= BLOCK_THREADS)\n        {\n            return InternalBlockReduce(temp_storage).template Reduce<true>(input, num_valid, reduction_op);\n        }\n        else\n        {\n            return InternalBlockReduce(temp_storage).template Reduce<false>(input, num_valid, reduction_op);\n        }\n    }\n\n\n    //@}  end member group\n    /******************************************************************//**\n     * \\name Summation reductions\n     *********************************************************************/\n    //@{\n\n\n    /**\n     * \\brief Computes a block-wide reduction for thread<sub>0</sub> using addition (+) as the reduction operator.  Each thread contributes one input element.\n     *\n     * \\par\n     * - The return value is undefined in threads other than thread<sub>0</sub>.\n     * - \\rowmajor\n     * - \\smemreuse\n     *\n     * \\par Snippet\n     * The code snippet below illustrates a sum reduction of 128 integer items that\n     * are partitioned across 128 threads.\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>   // or equivalently <cub/block/block_reduce.cuh>\n     *\n     * __global__ void ExampleKernel(...)\n     * {\n     *     // Specialize BlockReduce for a 1D block of 128 threads on type int\n     *     typedef cub::BlockReduce<int, 128> BlockReduce;\n     *\n     *     // Allocate shared memory for BlockReduce\n     *     __shared__ typename BlockReduce::TempStorage temp_storage;\n     *\n     *     // Each thread obtains an input item\n     *     int thread_data;\n     *     ...\n     *\n     *     // Compute the block-wide sum for thread0\n     *     int aggregate = BlockReduce(temp_storage).Sum(thread_data);\n     *\n     * \\endcode\n     *\n     */\n    __device__ __forceinline__ T Sum(\n        T   input)                      ///< [in] Calling thread's input\n    {\n        return InternalBlockReduce(temp_storage).template Sum<true>(input, BLOCK_THREADS);\n    }\n\n    /**\n     * \\brief Computes a block-wide reduction for thread<sub>0</sub> using addition (+) as the reduction operator.  Each thread contributes an array of consecutive input elements.\n     *\n     * \\par\n     * - The return value is undefined in threads other than thread<sub>0</sub>.\n     * - \\granularity\n     * - \\smemreuse\n     *\n     * \\par Snippet\n     * The code snippet below illustrates a sum reduction of 512 integer items that\n     * are partitioned in a [<em>blocked arrangement</em>](index.html#sec5sec3) across 128 threads\n     * where each thread owns 4 consecutive items.\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>   // or equivalently <cub/block/block_reduce.cuh>\n     *\n     * __global__ void ExampleKernel(...)\n     * {\n     *     // Specialize BlockReduce for a 1D block of 128 threads on type int\n     *     typedef cub::BlockReduce<int, 128> BlockReduce;\n     *\n     *     // Allocate shared memory for BlockReduce\n     *     __shared__ typename BlockReduce::TempStorage temp_storage;\n     *\n     *     // Obtain a segment of consecutive items that are blocked across threads\n     *     int thread_data[4];\n     *     ...\n     *\n     *     // Compute the block-wide sum for thread0\n     *     int aggregate = BlockReduce(temp_storage).Sum(thread_data);\n     *\n     * \\endcode\n     *\n     * \\tparam ITEMS_PER_THREAD     <b>[inferred]</b> The number of consecutive items partitioned onto each thread.\n     */\n    template <int ITEMS_PER_THREAD>\n    __device__ __forceinline__ T Sum(\n        T   (&inputs)[ITEMS_PER_THREAD])    ///< [in] Calling thread's input segment\n    {\n        // Reduce partials\n        T partial = ThreadReduce(inputs, cub::Sum());\n        return Sum(partial);\n    }\n\n\n    /**\n     * \\brief Computes a block-wide reduction for thread<sub>0</sub> using addition (+) as the reduction operator.  The first \\p num_valid threads each contribute one input element.\n     *\n     * \\par\n     * - The return value is undefined in threads other than thread<sub>0</sub>.\n     * - \\rowmajor\n     * - \\smemreuse\n     *\n     * \\par Snippet\n     * The code snippet below illustrates a sum reduction of a partially-full tile of integer items that\n     * are partitioned across 128 threads.\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>   // or equivalently <cub/block/block_reduce.cuh>\n     *\n     * __global__ void ExampleKernel(int num_valid, ...)\n     * {\n     *     // Specialize BlockReduce for a 1D block of 128 threads on type int\n     *     typedef cub::BlockReduce<int, 128> BlockReduce;\n     *\n     *     // Allocate shared memory for BlockReduce\n     *     __shared__ typename BlockReduce::TempStorage temp_storage;\n     *\n     *     // Each thread obtains an input item (up to num_items)\n     *     int thread_data;\n     *     if (threadIdx.x < num_valid)\n     *         thread_data = ...\n     *\n     *     // Compute the block-wide sum for thread0\n     *     int aggregate = BlockReduce(temp_storage).Sum(thread_data, num_valid);\n     *\n     * \\endcode\n     *\n     */\n    __device__ __forceinline__ T Sum(\n        T   input,                  ///< [in] Calling thread's input\n        int num_valid)              ///< [in] Number of threads containing valid elements (may be less than BLOCK_THREADS)\n    {\n        // Determine if we scan skip bounds checking\n        if (num_valid >= BLOCK_THREADS)\n        {\n            return InternalBlockReduce(temp_storage).template Sum<true>(input, num_valid);\n        }\n        else\n        {\n            return InternalBlockReduce(temp_storage).template Sum<false>(input, num_valid);\n        }\n    }\n\n\n    //@}  end member group\n};\n\n/**\n * \\example example_block_reduce.cu\n */\n\n}               // CUB namespace\nCUB_NS_POSTFIX  // Optional outer namespace(s)\n\n"
  },
  {
    "path": "external/cub-1.3.2/cub/block/block_scan.cuh",
    "content": "/******************************************************************************\n * Copyright (c) 2011, Duane Merrill.  All rights reserved.\n * Copyright (c) 2011-2014, NVIDIA CORPORATION.  All rights reserved.\n * \n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *     * Redistributions of source code must retain the above copyright\n *       notice, this list of conditions and the following disclaimer.\n *     * Redistributions in binary form must reproduce the above copyright\n *       notice, this list of conditions and the following disclaimer in the\n *       documentation and/or other materials provided with the distribution.\n *     * Neither the name of the NVIDIA CORPORATION nor the\n *       names of its contributors may be used to endorse or promote products\n *       derived from this software without specific prior written permission.\n * \n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n ******************************************************************************/\n\n/**\n * \\file\n * The cub::BlockScan class provides [<em>collective</em>](index.html#sec0) methods for computing a parallel prefix sum/scan of items partitioned across a CUDA thread block.\n */\n\n#pragma once\n\n#include \"specializations/block_scan_raking.cuh\"\n#include \"specializations/block_scan_warp_scans.cuh\"\n#include \"../util_arch.cuh\"\n#include \"../util_type.cuh\"\n#include \"../util_ptx.cuh\"\n#include \"../util_namespace.cuh\"\n\n/// Optional outer namespace(s)\nCUB_NS_PREFIX\n\n/// CUB namespace\nnamespace cub {\n\n\n\n/******************************************************************************\n * Scan utility types\n ******************************************************************************/\n\n#ifndef DOXYGEN_SHOULD_SKIP_THIS    // Do not document\n\n/**\n * Reduce-value-by-ID scan operator\n */\ntemplate <typename ReductionOp>     ///< Wrapped reduction operator type\nstruct ReduceByKeyOp\n{\n    ReductionOp op;                 ///< Wrapped reduction operator\n\n    /// Constructor\n    __device__ __forceinline__ ReduceByKeyOp(ReductionOp op) : op(op) {}\n\n    /// Scan operator\n    template <typename KeyValuePair>\n    __device__ __forceinline__ KeyValuePair operator()(\n        const KeyValuePair &first,\n        const KeyValuePair &second)\n    {\n        KeyValuePair retval;\n\n        retval.value = (second.key != first.key) ?\n                second.value :                      // The second value is for a different ID, return only that value\n                op(first.value, second.value);      // The values are for the same ID so reduce them\n\n        retval.key = second.key;\n        return retval;\n    }\n};\n\n\n\n/**\n * Segmented scan operator\n */\ntemplate <typename ReductionOp>     ///< Wrapped reduction operator type\nstruct SegmentedOp\n{\n    ReductionOp op;                 ///< Wrapped reduction operator\n\n    /// Constructor\n    __device__ __forceinline__ SegmentedOp(ReductionOp op) : op(op) {}\n\n    /// Scan operator\n    template <typename KeyValuePair>\n    __device__ __forceinline__ KeyValuePair operator()(\n        const KeyValuePair &first,\n        const KeyValuePair &second)\n    {\n        if (second.key) {\n            KeyValuePair retval;\n            retval.value = second.value;\n            retval.key = first.key + second.key;\n            return retval;\n        } else {\n            KeyValuePair retval;\n            retval.value = op(first.value, second.value);\n            retval.key = first.key + second.key;\n            return ;\n        }\n    }\n};\n\n#endif // DOXYGEN_SHOULD_SKIP_THIS\n\n\n\n/******************************************************************************\n * Algorithmic variants\n ******************************************************************************/\n\n/**\n * \\brief BlockScanAlgorithm enumerates alternative algorithms for cub::BlockScan to compute a parallel prefix scan across a CUDA thread block.\n */\nenum BlockScanAlgorithm\n{\n\n    /**\n     * \\par Overview\n     * An efficient \"raking reduce-then-scan\" prefix scan algorithm.  Execution is comprised of five phases:\n     * -# Upsweep sequential reduction in registers (if threads contribute more than one input each).  Each thread then places the partial reduction of its item(s) into shared memory.\n     * -# Upsweep sequential reduction in shared memory.  Threads within a single warp rake across segments of shared partial reductions.\n     * -# A warp-synchronous Kogge-Stone style exclusive scan within the raking warp.\n     * -# Downsweep sequential exclusive scan in shared memory.  Threads within a single warp rake across segments of shared partial reductions, seeded with the warp-scan output.\n     * -# Downsweep sequential scan in registers (if threads contribute more than one input), seeded with the raking scan output.\n     *\n     * \\par\n     * \\image html block_scan_raking.png\n     * <div class=\"centercaption\">\\p BLOCK_SCAN_RAKING data flow for a hypothetical 16-thread threadblock and 4-thread raking warp.</div>\n     *\n     * \\par Performance Considerations\n     * - Although this variant may suffer longer turnaround latencies when the\n     *   GPU is under-occupied, it can often provide higher overall throughput\n     *   across the GPU when suitably occupied.\n     */\n    BLOCK_SCAN_RAKING,\n\n\n    /**\n     * \\par Overview\n     * Similar to cub::BLOCK_SCAN_RAKING, but with fewer shared memory reads at\n     * the expense of higher register pressure.  Raking threads preserve their\n     * \"upsweep\" segment of values in registers while performing warp-synchronous\n     * scan, allowing the \"downsweep\" not to re-read them from shared memory.\n     */\n    BLOCK_SCAN_RAKING_MEMOIZE,\n\n\n    /**\n     * \\par Overview\n     * A quick \"tiled warpscans\" prefix scan algorithm.  Execution is comprised of four phases:\n     * -# Upsweep sequential reduction in registers (if threads contribute more than one input each).  Each thread then places the partial reduction of its item(s) into shared memory.\n     * -# Compute a shallow, but inefficient warp-synchronous Kogge-Stone style scan within each warp.\n     * -# A propagation phase where the warp scan outputs in each warp are updated with the aggregate from each preceding warp.\n     * -# Downsweep sequential scan in registers (if threads contribute more than one input), seeded with the raking scan output.\n     *\n     * \\par\n     * \\image html block_scan_warpscans.png\n     * <div class=\"centercaption\">\\p BLOCK_SCAN_WARP_SCANS data flow for a hypothetical 16-thread threadblock and 4-thread raking warp.</div>\n     *\n     * \\par Performance Considerations\n     * - Although this variant may suffer lower overall throughput across the\n     *   GPU because due to a heavy reliance on inefficient warpscans, it can\n     *   often provide lower turnaround latencies when the GPU is under-occupied.\n     */\n    BLOCK_SCAN_WARP_SCANS,\n};\n\n\n/******************************************************************************\n * Block scan\n ******************************************************************************/\n\n/**\n * \\brief The BlockScan class provides [<em>collective</em>](index.html#sec0) methods for computing a parallel prefix sum/scan of items partitioned across a CUDA thread block. ![](block_scan_logo.png)\n * \\ingroup BlockModule\n *\n * \\tparam T                Data type being scanned\n * \\tparam BLOCK_DIM_X      The thread block length in threads along the X dimension\n * \\tparam ALGORITHM        <b>[optional]</b> cub::BlockScanAlgorithm enumerator specifying the underlying algorithm to use (default: cub::BLOCK_SCAN_RAKING)\n * \\tparam BLOCK_DIM_Y      <b>[optional]</b> The thread block length in threads along the Y dimension (default: 1)\n * \\tparam BLOCK_DIM_Z      <b>[optional]</b> The thread block length in threads along the Z dimension (default: 1)\n * \\tparam PTX_ARCH         <b>[optional]</b> \\ptxversion\n *\n * \\par Overview\n * - Given a list of input elements and a binary reduction operator, a [<em>prefix scan</em>](http://en.wikipedia.org/wiki/Prefix_sum)\n *   produces an output list where each element is computed to be the reduction\n *   of the elements occurring earlier in the input list.  <em>Prefix sum</em>\n *   connotes a prefix scan with the addition operator. The term \\em inclusive indicates\n *   that the <em>i</em><sup>th</sup> output reduction incorporates the <em>i</em><sup>th</sup> input.\n *   The term \\em exclusive indicates the <em>i</em><sup>th</sup> input is not incorporated into\n *   the <em>i</em><sup>th</sup> output reduction.\n * - \\rowmajor\n * - BlockScan can be optionally specialized by algorithm to accommodate different workload profiles:\n *   -# <b>cub::BLOCK_SCAN_RAKING</b>.  An efficient (high throughput) \"raking reduce-then-scan\" prefix scan algorithm. [More...](\\ref cub::BlockScanAlgorithm)\n *   -# <b>cub::BLOCK_SCAN_RAKING_MEMOIZE</b>.  Similar to cub::BLOCK_SCAN_RAKING, but having higher throughput at the expense of additional register pressure for intermediate storage. [More...](\\ref cub::BlockScanAlgorithm)\n *   -# <b>cub::BLOCK_SCAN_WARP_SCANS</b>.  A quick (low latency) \"tiled warpscans\" prefix scan algorithm. [More...](\\ref cub::BlockScanAlgorithm)\n *\n * \\par Performance Considerations\n * - \\granularity\n * - Uses special instructions when applicable (e.g., warp \\p SHFL)\n * - Uses synchronization-free communication between warp lanes when applicable\n * - Invokes a minimal number of minimal block-wide synchronization barriers (only\n *   one or two depending on algorithm selection)\n * - Incurs zero bank conflicts for most types\n * - Computation is slightly more efficient (i.e., having lower instruction overhead) for:\n *   - Prefix sum variants (<b><em>vs.</em></b> generic scan)\n *   - \\blocksize\n * - See cub::BlockScanAlgorithm for performance details regarding algorithmic alternatives\n *\n * \\par A Simple Example\n * \\blockcollective{BlockScan}\n * \\par\n * The code snippet below illustrates an exclusive prefix sum of 512 integer items that\n * are partitioned in a [<em>blocked arrangement</em>](index.html#sec5sec3) across 128 threads\n * where each thread owns 4 consecutive items.\n * \\par\n * \\code\n * #include <cub/cub.cuh>   // or equivalently <cub/block/block_scan.cuh>\n *\n * __global__ void ExampleKernel(...)\n * {\n *     // Specialize BlockScan for a 1D block of 128 threads on type int\n *     typedef cub::BlockScan<int, 128> BlockScan;\n *\n *     // Allocate shared memory for BlockScan\n *     __shared__ typename BlockScan::TempStorage temp_storage;\n *\n *     // Obtain a segment of consecutive items that are blocked across threads\n *     int thread_data[4];\n *     ...\n *\n *     // Collectively compute the block-wide exclusive prefix sum\n *     BlockScan(temp_storage).ExclusiveSum(thread_data, thread_data);\n *\n * \\endcode\n * \\par\n * Suppose the set of input \\p thread_data across the block of threads is\n * <tt>{[1,1,1,1], [1,1,1,1], ..., [1,1,1,1]}</tt>.\n * The corresponding output \\p thread_data in those threads will be\n * <tt>{[0,1,2,3], [4,5,6,7], ..., [508,509,510,511]}</tt>.\n *\n */\ntemplate <\n    typename            T,\n    int                 BLOCK_DIM_X,\n    BlockScanAlgorithm  ALGORITHM       = BLOCK_SCAN_RAKING,\n    int                 BLOCK_DIM_Y     = 1,\n    int                 BLOCK_DIM_Z     = 1,\n    int                 PTX_ARCH        = CUB_PTX_ARCH>\nclass BlockScan\n{\nprivate:\n\n    /******************************************************************************\n     * Constants and type definitions\n     ******************************************************************************/\n\n    /// Constants\n    enum\n    {\n        /// The thread block size in threads\n        BLOCK_THREADS = BLOCK_DIM_X * BLOCK_DIM_Y * BLOCK_DIM_Z,\n    };\n\n    /**\n     * Ensure the template parameterization meets the requirements of the\n     * specified algorithm. Currently, the BLOCK_SCAN_WARP_SCANS policy\n     * cannot be used with threadblock sizes not a multiple of the\n     * architectural warp size.\n     */\n    static const BlockScanAlgorithm SAFE_ALGORITHM =\n        ((ALGORITHM == BLOCK_SCAN_WARP_SCANS) && (BLOCK_THREADS % CUB_WARP_THREADS(PTX_ARCH) != 0)) ?\n            BLOCK_SCAN_RAKING :\n            ALGORITHM;\n\n    typedef BlockScanWarpScans<T, BLOCK_DIM_X, BLOCK_DIM_Y, BLOCK_DIM_Z, PTX_ARCH> WarpScans;\n    typedef BlockScanRaking<T, BLOCK_DIM_X, BLOCK_DIM_Y, BLOCK_DIM_Z, (SAFE_ALGORITHM == BLOCK_SCAN_RAKING_MEMOIZE), PTX_ARCH> Raking;\n\n    /// Define the delegate type for the desired algorithm\n    typedef typename If<(SAFE_ALGORITHM == BLOCK_SCAN_WARP_SCANS),\n        WarpScans,\n        Raking>::Type InternalBlockScan;\n\n    /// Shared memory storage layout type for BlockScan\n    typedef typename InternalBlockScan::TempStorage _TempStorage;\n\n\n    /******************************************************************************\n     * Thread fields\n     ******************************************************************************/\n\n    /// Shared storage reference\n    _TempStorage &temp_storage;\n\n    /// Linear thread-id\n    int linear_tid;\n\n\n    /******************************************************************************\n     * Utility methods\n     ******************************************************************************/\n\n    /// Internal storage allocator\n    __device__ __forceinline__ _TempStorage& PrivateStorage()\n    {\n        __shared__ _TempStorage private_storage;\n        return private_storage;\n    }\n\n\npublic:\n\n    /// \\smemstorage{BlockScan}\n    struct TempStorage : Uninitialized<_TempStorage> {};\n\n\n    /******************************************************************//**\n     * \\name Collective constructors\n     *********************************************************************/\n    //@{\n\n    /**\n     * \\brief Collective constructor using a private static allocation of shared memory as temporary storage.\n     */\n    __device__ __forceinline__ BlockScan()\n    :\n        temp_storage(PrivateStorage()),\n        linear_tid(RowMajorTid(BLOCK_DIM_X, BLOCK_DIM_Y, BLOCK_DIM_Z))\n    {}\n\n\n    /**\n     * \\brief Collective constructor using the specified memory allocation as temporary storage.\n     */\n    __device__ __forceinline__ BlockScan(\n        TempStorage &temp_storage)             ///< [in] Reference to memory allocation having layout type TempStorage\n    :\n        temp_storage(temp_storage.Alias()),\n        linear_tid(RowMajorTid(BLOCK_DIM_X, BLOCK_DIM_Y, BLOCK_DIM_Z))\n    {}\n\n\n\n\n\n\n    //@}  end member group\n    /******************************************************************//**\n     * \\name Exclusive prefix sum operations\n     *********************************************************************/\n    //@{\n\n\n    /**\n     * \\brief Computes an exclusive block-wide prefix scan using addition (+) as the scan operator.  Each thread contributes one input element.\n     *\n     * \\par\n     * - \\rowmajor\n     * - \\smemreuse\n     *\n     * \\par Snippet\n     * The code snippet below illustrates an exclusive prefix sum of 128 integer items that\n     * are partitioned across 128 threads.\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>   // or equivalently <cub/block/block_scan.cuh>\n     *\n     * __global__ void ExampleKernel(...)\n     * {\n     *     // Specialize BlockScan for a 1D block of 128 threads on type int\n     *     typedef cub::BlockScan<int, 128> BlockScan;\n     *\n     *     // Allocate shared memory for BlockScan\n     *     __shared__ typename BlockScan::TempStorage temp_storage;\n     *\n     *     // Obtain input item for each thread\n     *     int thread_data;\n     *     ...\n     *\n     *     // Collectively compute the block-wide exclusive prefix sum\n     *     BlockScan(temp_storage).ExclusiveSum(thread_data, thread_data);\n     *\n     * \\endcode\n     * \\par\n     * Suppose the set of input \\p thread_data across the block of threads is <tt>1, 1, ..., 1</tt>.  The\n     * corresponding output \\p thread_data in those threads will be <tt>0, 1, ..., 127</tt>.\n     *\n     */\n    __device__ __forceinline__ void ExclusiveSum(\n        T               input,                          ///< [in] Calling thread's input item\n        T               &output)                        ///< [out] Calling thread's output item (may be aliased to \\p input)\n    {\n        T block_aggregate;\n        InternalBlockScan(temp_storage).ExclusiveSum(input, output, block_aggregate);\n    }\n\n\n    /**\n     * \\brief Computes an exclusive block-wide prefix scan using addition (+) as the scan operator.  Each thread contributes one input element.  Also provides every thread with the block-wide \\p block_aggregate of all inputs.\n     *\n     * \\par\n     * - \\rowmajor\n     * - \\smemreuse\n     *\n     * \\par Snippet\n     * The code snippet below illustrates an exclusive prefix sum of 128 integer items that\n     * are partitioned across 128 threads.\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>   // or equivalently <cub/block/block_scan.cuh>\n     *\n     * __global__ void ExampleKernel(...)\n     * {\n     *     // Specialize BlockScan for a 1D block of 128 threads on type int\n     *     typedef cub::BlockScan<int, 128> BlockScan;\n     *\n     *     // Allocate shared memory for BlockScan\n     *     __shared__ typename BlockScan::TempStorage temp_storage;\n     *\n     *     // Obtain input item for each thread\n     *     int thread_data;\n     *     ...\n     *\n     *     // Collectively compute the block-wide exclusive prefix sum\n     *     int block_aggregate;\n     *     BlockScan(temp_storage).ExclusiveSum(thread_data, thread_data, block_aggregate);\n     *\n     * \\endcode\n     * \\par\n     * Suppose the set of input \\p thread_data across the block of threads is <tt>1, 1, ..., 1</tt>.  The\n     * corresponding output \\p thread_data in those threads will be <tt>0, 1, ..., 127</tt>.\n     * Furthermore the value \\p 128 will be stored in \\p block_aggregate for all threads.\n     *\n     */\n    __device__ __forceinline__ void ExclusiveSum(\n        T               input,                          ///< [in] Calling thread's input item\n        T               &output,                        ///< [out] Calling thread's output item (may be aliased to \\p input)\n        T               &block_aggregate)               ///< [out] block-wide aggregate reduction of input items\n    {\n        InternalBlockScan(temp_storage).ExclusiveSum(input, output, block_aggregate);\n    }\n\n\n    /**\n     * \\brief Computes an exclusive block-wide prefix scan using addition (+) as the scan operator.  Each thread contributes one input element.  Instead of using 0 as the block-wide prefix, the call-back functor \\p block_prefix_callback_op is invoked by the first warp in the block, and the value returned by <em>lane</em><sub>0</sub> in that warp is used as the \"seed\" value that logically prefixes the threadblock's scan inputs.  Also provides every thread with the block-wide \\p block_aggregate of all inputs.\n     *\n     * \\par\n     * - The \\p block_prefix_callback_op functor must implement a member function <tt>T operator()(T block_aggregate)</tt>.\n     *   The functor's input parameter \\p block_aggregate is the same value also returned by the scan operation.\n     *   The functor will be invoked by the first warp of threads in the block, however only the return value from\n     *   <em>lane</em><sub>0</sub> is applied as the block-wide prefix.  Can be stateful.\n     * - \\rowmajor\n     * - \\smemreuse\n     *\n     * \\par Snippet\n     * The code snippet below illustrates a single thread block that progressively\n     * computes an exclusive prefix sum over multiple \"tiles\" of input using a\n     * prefix functor to maintain a running total between block-wide scans.  Each tile consists\n     * of 128 integer items that are partitioned across 128 threads.\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>   // or equivalently <cub/block/block_scan.cuh>\n     *\n     * // A stateful callback functor that maintains a running prefix to be applied\n     * // during consecutive scan operations.\n     * struct BlockPrefixCallbackOp\n     * {\n     *     // Running prefix\n     *     int running_total;\n     *\n     *     // Constructor\n     *     __device__ BlockPrefixCallbackOp(int running_total) : running_total(running_total) {}\n     *\n     *     // Callback operator to be entered by the first warp of threads in the block.\n     *     // Thread-0 is responsible for returning a value for seeding the block-wide scan.\n     *     __device__ int operator()(int block_aggregate)\n     *     {\n     *         int old_prefix = running_total;\n     *         running_total += block_aggregate;\n     *         return old_prefix;\n     *     }\n     * };\n     *\n     * __global__ void ExampleKernel(int *d_data, int num_items, ...)\n     * {\n     *     // Specialize BlockScan for a 1D block of 128 threads\n     *     typedef cub::BlockScan<int, 128> BlockScan;\n     *\n     *     // Allocate shared memory for BlockScan\n     *     __shared__ typename BlockScan::TempStorage temp_storage;\n     *\n     *     // Initialize running total\n     *     BlockPrefixCallbackOp prefix_op(0);\n     *\n     *     // Have the block iterate over segments of items\n     *     for (int block_offset = 0; block_offset < num_items; block_offset += 128)\n     *     {\n     *         // Load a segment of consecutive items that are blocked across threads\n     *         int thread_data = d_data[block_offset];\n     *\n     *         // Collectively compute the block-wide exclusive prefix sum\n     *         int block_aggregate;\n     *         BlockScan(temp_storage).ExclusiveSum(\n     *             thread_data, thread_data, block_aggregate, prefix_op);\n     *         __syncthreads();\n     *\n     *         // Store scanned items to output segment\n     *         d_data[block_offset] = thread_data;\n     *     }\n     * \\endcode\n     * \\par\n     * Suppose the input \\p d_data is <tt>1, 1, 1, 1, 1, 1, 1, 1, ...</tt>.\n     * The corresponding output for the first segment will be <tt>0, 1, ..., 127</tt>.\n     * The output for the second segment will be <tt>128, 129, ..., 255</tt>.  Furthermore,\n     * the value \\p 128 will be stored in \\p block_aggregate for all threads after each scan.\n     *\n     * \\tparam BlockPrefixCallbackOp        <b>[inferred]</b> Call-back functor type having member <tt>T operator()(T block_aggregate)</tt>\n     */\n    template <typename BlockPrefixCallbackOp>\n    __device__ __forceinline__ void ExclusiveSum(\n        T                       input,                          ///< [in] Calling thread's input item\n        T                       &output,                        ///< [out] Calling thread's output item (may be aliased to \\p input)\n        T                       &block_aggregate,               ///< [out] block-wide aggregate reduction of input items (exclusive of the \\p block_prefix_callback_op value)\n        BlockPrefixCallbackOp   &block_prefix_callback_op)      ///< [in-out] <b>[<em>warp</em><sub>0</sub> only]</b> Call-back functor for specifying a block-wide prefix to be applied to all inputs.\n    {\n        InternalBlockScan(temp_storage).ExclusiveSum(input, output, block_aggregate, block_prefix_callback_op);\n    }\n\n\n    //@}  end member group\n    /******************************************************************//**\n     * \\name Exclusive prefix sum operations (multiple data per thread)\n     *********************************************************************/\n    //@{\n\n\n    /**\n     * \\brief Computes an exclusive block-wide prefix scan using addition (+) as the scan operator.  Each thread contributes an array of consecutive input elements.\n     *\n     * \\par\n     * - \\blocked\n     * - \\granularity\n     * - \\smemreuse\n     *\n     * \\par Snippet\n     * The code snippet below illustrates an exclusive prefix sum of 512 integer items that\n     * are partitioned in a [<em>blocked arrangement</em>](index.html#sec5sec3) across 128 threads\n     * where each thread owns 4 consecutive items.\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>   // or equivalently <cub/block/block_scan.cuh>\n     *\n     * __global__ void ExampleKernel(...)\n     * {\n     *     // Specialize BlockScan for a 1D block of 128 threads on type int\n     *     typedef cub::BlockScan<int, 128> BlockScan;\n     *\n     *     // Allocate shared memory for BlockScan\n     *     __shared__ typename BlockScan::TempStorage temp_storage;\n     *\n     *     // Obtain a segment of consecutive items that are blocked across threads\n     *     int thread_data[4];\n     *     ...\n     *\n     *     // Collectively compute the block-wide exclusive prefix sum\n     *     BlockScan(temp_storage).ExclusiveSum(thread_data, thread_data);\n     *\n     * \\endcode\n     * \\par\n     * Suppose the set of input \\p thread_data across the block of threads is <tt>{ [1,1,1,1], [1,1,1,1], ..., [1,1,1,1] }</tt>.  The\n     * corresponding output \\p thread_data in those threads will be <tt>{ [0,1,2,3], [4,5,6,7], ..., [508,509,510,511] }</tt>.\n     *\n     * \\tparam ITEMS_PER_THREAD     <b>[inferred]</b> The number of consecutive items partitioned onto each thread.\n     */\n    template <int ITEMS_PER_THREAD>\n    __device__ __forceinline__ void ExclusiveSum(\n        T                 (&input)[ITEMS_PER_THREAD],   ///< [in] Calling thread's input items\n        T                 (&output)[ITEMS_PER_THREAD])  ///< [out] Calling thread's output items (may be aliased to \\p input)\n    {\n        // Reduce consecutive thread items in registers\n        Sum scan_op;\n        T thread_partial = ThreadReduce(input, scan_op);\n\n        // Exclusive threadblock-scan\n        ExclusiveSum(thread_partial, thread_partial);\n\n        // Exclusive scan in registers with prefix\n        ThreadScanExclusive(input, output, scan_op, thread_partial);\n    }\n\n\n    /**\n     * \\brief Computes an exclusive block-wide prefix scan using addition (+) as the scan operator.  Each thread contributes an array of consecutive input elements.  Also provides every thread with the block-wide \\p block_aggregate of all inputs.\n     *\n     * \\par\n     * - \\blocked\n     * - \\granularity\n     * - \\smemreuse\n     *\n     * \\par Snippet\n     * The code snippet below illustrates an exclusive prefix sum of 512 integer items that\n     * are partitioned in a [<em>blocked arrangement</em>](index.html#sec5sec3) across 128 threads\n     * where each thread owns 4 consecutive items.\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>   // or equivalently <cub/block/block_scan.cuh>\n     *\n     * __global__ void ExampleKernel(...)\n     * {\n     *     // Specialize BlockScan for a 1D block of 128 threads on type int\n     *     typedef cub::BlockScan<int, 128> BlockScan;\n     *\n     *     // Allocate shared memory for BlockScan\n     *     __shared__ typename BlockScan::TempStorage temp_storage;\n     *\n     *     // Obtain a segment of consecutive items that are blocked across threads\n     *     int thread_data[4];\n     *     ...\n     *\n     *     // Collectively compute the block-wide exclusive prefix sum\n     *     int block_aggregate;\n     *     BlockScan(temp_storage).ExclusiveSum(thread_data, thread_data, block_aggregate);\n     *\n     * \\endcode\n     * \\par\n     * Suppose the set of input \\p thread_data across the block of threads is <tt>{ [1,1,1,1], [1,1,1,1], ..., [1,1,1,1] }</tt>.  The\n     * corresponding output \\p thread_data in those threads will be <tt>{ [0,1,2,3], [4,5,6,7], ..., [508,509,510,511] }</tt>.\n     * Furthermore the value \\p 512 will be stored in \\p block_aggregate for all threads.\n     *\n     * \\tparam ITEMS_PER_THREAD     <b>[inferred]</b> The number of consecutive items partitioned onto each thread.\n     */\n    template <int ITEMS_PER_THREAD>\n    __device__ __forceinline__ void ExclusiveSum(\n        T                 (&input)[ITEMS_PER_THREAD],       ///< [in] Calling thread's input items\n        T                 (&output)[ITEMS_PER_THREAD],      ///< [out] Calling thread's output items (may be aliased to \\p input)\n        T                 &block_aggregate)                 ///< [out] block-wide aggregate reduction of input items\n    {\n        // Reduce consecutive thread items in registers\n        Sum scan_op;\n        T thread_partial = ThreadReduce(input, scan_op);\n\n        // Exclusive threadblock-scan\n        ExclusiveSum(thread_partial, thread_partial, block_aggregate);\n\n        // Exclusive scan in registers with prefix\n        ThreadScanExclusive(input, output, scan_op, thread_partial);\n    }\n\n\n    /**\n     * \\brief Computes an exclusive block-wide prefix scan using addition (+) as the scan operator.  Each thread contributes an array of consecutive input elements.  Instead of using 0 as the block-wide prefix, the call-back functor \\p block_prefix_callback_op is invoked by the first warp in the block, and the value returned by <em>lane</em><sub>0</sub> in that warp is used as the \"seed\" value that logically prefixes the threadblock's scan inputs.  Also provides every thread with the block-wide \\p block_aggregate of all inputs.\n     *\n     * \\par\n     * - The \\p block_prefix_callback_op functor must implement a member function <tt>T operator()(T block_aggregate)</tt>.\n     *   The functor's input parameter \\p block_aggregate is the same value also returned by the scan operation.\n     *   The functor will be invoked by the first warp of threads in the block, however only the return value from\n     *   <em>lane</em><sub>0</sub> is applied as the block-wide prefix.  Can be stateful.\n     * - \\blocked\n     * - \\granularity\n     * - \\smemreuse\n     *\n     * \\par Snippet\n     * The code snippet below illustrates a single thread block that progressively\n     * computes an exclusive prefix sum over multiple \"tiles\" of input using a\n     * prefix functor to maintain a running total between block-wide scans.  Each tile consists\n     * of 512 integer items that are partitioned in a [<em>blocked arrangement</em>](index.html#sec5sec3)\n     * across 128 threads where each thread owns 4 consecutive items.\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>   // or equivalently <cub/block/block_scan.cuh>\n     *\n     * // A stateful callback functor that maintains a running prefix to be applied\n     * // during consecutive scan operations.\n     * struct BlockPrefixCallbackOp\n     * {\n     *     // Running prefix\n     *     int running_total;\n     *\n     *     // Constructor\n     *     __device__ BlockPrefixCallbackOp(int running_total) : running_total(running_total) {}\n     *\n     *     // Callback operator to be entered by the first warp of threads in the block.\n     *     // Thread-0 is responsible for returning a value for seeding the block-wide scan.\n     *     __device__ int operator()(int block_aggregate)\n     *     {\n     *         int old_prefix = running_total;\n     *         running_total += block_aggregate;\n     *         return old_prefix;\n     *     }\n     * };\n     *\n     * __global__ void ExampleKernel(int *d_data, int num_items, ...)\n     * {\n     *     // Specialize BlockLoad, BlockStore, and BlockScan for a 1D block of 128 threads, 4 ints per thread\n     *     typedef cub::BlockLoad<int*, 128, 4, BLOCK_LOAD_TRANSPOSE>   BlockLoad;\n     *     typedef cub::BlockStore<int*, 128, 4, BLOCK_STORE_TRANSPOSE> BlockStore;\n     *     typedef cub::BlockScan<int, 128>                             BlockScan;\n     *\n     *     // Allocate aliased shared memory for BlockLoad, BlockStore, and BlockScan\n     *     __shared__ union {\n     *         typename BlockLoad::TempStorage     load;\n     *         typename BlockScan::TempStorage     scan;\n     *         typename BlockStore::TempStorage    store;\n     *     } temp_storage;\n     *\n     *     // Initialize running total\n     *     BlockPrefixCallbackOp prefix_op(0);\n     *\n     *     // Have the block iterate over segments of items\n     *     for (int block_offset = 0; block_offset < num_items; block_offset += 128 * 4)\n     *     {\n     *         // Load a segment of consecutive items that are blocked across threads\n     *         int thread_data[4];\n     *         BlockLoad(temp_storage.load).Load(d_data + block_offset, thread_data);\n     *         __syncthreads();\n     *\n     *         // Collectively compute the block-wide exclusive prefix sum\n     *         int block_aggregate;\n     *         BlockScan(temp_storage.scan).ExclusiveSum(\n     *             thread_data, thread_data, block_aggregate, prefix_op);\n     *         __syncthreads();\n     *\n     *         // Store scanned items to output segment\n     *         BlockStore(temp_storage.store).Store(d_data + block_offset, thread_data);\n     *         __syncthreads();\n     *     }\n     * \\endcode\n     * \\par\n     * Suppose the input \\p d_data is <tt>1, 1, 1, 1, 1, 1, 1, 1, ...</tt>.\n     * The corresponding output for the first segment will be <tt>0, 1, 2, 3, ..., 510, 511</tt>.\n     * The output for the second segment will be <tt>512, 513, 514, 515, ..., 1022, 1023</tt>.  Furthermore,\n     * the value \\p 512 will be stored in \\p block_aggregate for all threads after each scan.\n     *\n     * \\tparam ITEMS_PER_THREAD     <b>[inferred]</b> The number of consecutive items partitioned onto each thread.\n     * \\tparam BlockPrefixCallbackOp        <b>[inferred]</b> Call-back functor type having member <tt>T operator()(T block_aggregate)</tt>\n     */\n    template <\n        int ITEMS_PER_THREAD,\n        typename BlockPrefixCallbackOp>\n    __device__ __forceinline__ void ExclusiveSum(\n        T                       (&input)[ITEMS_PER_THREAD],   ///< [in] Calling thread's input items\n        T                       (&output)[ITEMS_PER_THREAD],  ///< [out] Calling thread's output items (may be aliased to \\p input)\n        T                       &block_aggregate,             ///< [out] block-wide aggregate reduction of input items (exclusive of the \\p block_prefix_callback_op value)\n        BlockPrefixCallbackOp   &block_prefix_callback_op)    ///< [in-out] <b>[<em>warp</em><sub>0</sub> only]</b> Call-back functor for specifying a block-wide prefix to be applied to all inputs.\n    {\n        // Reduce consecutive thread items in registers\n        Sum scan_op;\n        T thread_partial = ThreadReduce(input, scan_op);\n\n        // Exclusive threadblock-scan\n        ExclusiveSum(thread_partial, thread_partial, block_aggregate, block_prefix_callback_op);\n\n        // Exclusive scan in registers with prefix\n        ThreadScanExclusive(input, output, scan_op, thread_partial);\n    }\n\n\n\n    //@}  end member group        // Inclusive prefix sums\n    /******************************************************************//**\n     * \\name Exclusive prefix scan operations\n     *********************************************************************/\n    //@{\n\n\n    /**\n     * \\brief Computes an exclusive block-wide prefix scan using the specified binary \\p scan_op functor.  Each thread contributes one input element.\n     *\n     * \\par\n     * - Supports non-commutative scan operators.\n     * - \\rowmajor\n     * - \\smemreuse\n     *\n     * \\par Snippet\n     * The code snippet below illustrates an exclusive prefix max scan of 128 integer items that\n     * are partitioned across 128 threads.\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>   // or equivalently <cub/block/block_scan.cuh>\n     *\n     * __global__ void ExampleKernel(...)\n     * {\n     *     // Specialize BlockScan for a 1D block of 128 threads on type int\n     *     typedef cub::BlockScan<int, 128> BlockScan;\n     *\n     *     // Allocate shared memory for BlockScan\n     *     __shared__ typename BlockScan::TempStorage temp_storage;\n     *\n     *     // Obtain input item for each thread\n     *     int thread_data;\n     *     ...\n     *\n     *     // Collectively compute the block-wide exclusive prefix max scan\n     *     BlockScan(temp_storage).ExclusiveScan(thread_data, thread_data, INT_MIN, cub::Max());\n     *\n     * \\endcode\n     * \\par\n     * Suppose the set of input \\p thread_data across the block of threads is <tt>0, -1, 2, -3, ..., 126, -127</tt>.  The\n     * corresponding output \\p thread_data in those threads will be <tt>INT_MIN, 0, 0, 2, ..., 124, 126</tt>.\n     *\n     * \\tparam ScanOp               <b>[inferred]</b> Binary scan functor (e.g., an instance of cub::Sum, cub::Min, cub::Max, etc.) type having member <tt>T operator()(const T &a, const T &b)</tt>\n     */\n    template <typename ScanOp>\n    __device__ __forceinline__ void ExclusiveScan(\n        T               input,                          ///< [in] Calling thread's input item\n        T               &output,                        ///< [out] Calling thread's output item (may be aliased to \\p input)\n        T               identity,                       ///< [in] Identity value\n        ScanOp          scan_op)                        ///< [in] Binary scan functor (e.g., an instance of cub::Sum, cub::Min, cub::Max, etc.)\n    {\n        T block_aggregate;\n        InternalBlockScan(temp_storage).ExclusiveScan(input, output, identity, scan_op, block_aggregate);\n    }\n\n\n    /**\n     * \\brief Computes an exclusive block-wide prefix scan using the specified binary \\p scan_op functor.  Each thread contributes one input element.  Also provides every thread with the block-wide \\p block_aggregate of all inputs.\n     *\n     * \\par\n     * - Supports non-commutative scan operators.\n     * - \\rowmajor\n     * - \\smemreuse\n     *\n     * \\par Snippet\n     * The code snippet below illustrates an exclusive prefix max scan of 128 integer items that\n     * are partitioned across 128 threads.\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>   // or equivalently <cub/block/block_scan.cuh>\n     *\n     * __global__ void ExampleKernel(...)\n     * {\n     *     // Specialize BlockScan for a 1D block of 128 threads on type int\n     *     typedef cub::BlockScan<int, 128> BlockScan;\n     *\n     *     // Allocate shared memory for BlockScan\n     *     __shared__ typename BlockScan::TempStorage temp_storage;\n     *\n     *     // Obtain input item for each thread\n     *     int thread_data;\n     *     ...\n     *\n     *     // Collectively compute the block-wide exclusive prefix max scan\n     *     int block_aggregate;\n     *     BlockScan(temp_storage).ExclusiveScan(thread_data, thread_data, INT_MIN, cub::Max(), block_aggregate);\n     *\n     * \\endcode\n     * \\par\n     * Suppose the set of input \\p thread_data across the block of threads is <tt>0, -1, 2, -3, ..., 126, -127</tt>.  The\n     * corresponding output \\p thread_data in those threads will be <tt>INT_MIN, 0, 0, 2, ..., 124, 126</tt>.\n     * Furthermore the value \\p 126 will be stored in \\p block_aggregate for all threads.\n     *\n     * \\tparam ScanOp   <b>[inferred]</b> Binary scan functor (e.g., an instance of cub::Sum, cub::Min, cub::Max, etc.) type having member <tt>T operator()(const T &a, const T &b)</tt>\n     */\n    template <typename ScanOp>\n    __device__ __forceinline__ void ExclusiveScan(\n        T               input,              ///< [in] Calling thread's input items\n        T               &output,            ///< [out] Calling thread's output items (may be aliased to \\p input)\n        T               identity,          ///< [in] Identity value\n        ScanOp          scan_op,            ///< [in] Binary scan functor (e.g., an instance of cub::Sum, cub::Min, cub::Max, etc.)\n        T               &block_aggregate)   ///< [out] block-wide aggregate reduction of input items\n    {\n        InternalBlockScan(temp_storage).ExclusiveScan(input, output, identity, scan_op, block_aggregate);\n    }\n\n\n    /**\n     * \\brief Computes an exclusive block-wide prefix scan using the specified binary \\p scan_op functor.  Each thread contributes one input element.  the call-back functor \\p block_prefix_callback_op is invoked by the first warp in the block, and the value returned by <em>lane</em><sub>0</sub> in that warp is used as the \"seed\" value that logically prefixes the threadblock's scan inputs.  Also provides every thread with the block-wide \\p block_aggregate of all inputs.\n     *\n     * \\par\n     * - The \\p block_prefix_callback_op functor must implement a member function <tt>T operator()(T block_aggregate)</tt>.\n     *   The functor's input parameter \\p block_aggregate is the same value also returned by the scan operation.\n     *   The functor will be invoked by the first warp of threads in the block, however only the return value from\n     *   <em>lane</em><sub>0</sub> is applied as the block-wide prefix.  Can be stateful.\n     * - Supports non-commutative scan operators.\n     * - \\rowmajor\n     * - \\smemreuse\n     *\n     * \\par Snippet\n     * The code snippet below illustrates a single thread block that progressively\n     * computes an exclusive prefix max scan over multiple \"tiles\" of input using a\n     * prefix functor to maintain a running total between block-wide scans.  Each tile consists\n     * of 128 integer items that are partitioned across 128 threads.\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>   // or equivalently <cub/block/block_scan.cuh>\n     *\n     * // A stateful callback functor that maintains a running prefix to be applied\n     * // during consecutive scan operations.\n     * struct BlockPrefixCallbackOp\n     * {\n     *     // Running prefix\n     *     int running_total;\n     *\n     *     // Constructor\n     *     __device__ BlockPrefixCallbackOp(int running_total) : running_total(running_total) {}\n     *\n     *     // Callback operator to be entered by the first warp of threads in the block.\n     *     // Thread-0 is responsible for returning a value for seeding the block-wide scan.\n     *     __device__ int operator()(int block_aggregate)\n     *     {\n     *         int old_prefix = running_total;\n     *         running_total = (block_aggregate > old_prefix) ? block_aggregate : old_prefix;\n     *         return old_prefix;\n     *     }\n     * };\n     *\n     * __global__ void ExampleKernel(int *d_data, int num_items, ...)\n     * {\n     *     // Specialize BlockScan for a 1D block of 128 threads\n     *     typedef cub::BlockScan<int, 128> BlockScan;\n     *\n     *     // Allocate shared memory for BlockScan\n     *     __shared__ typename BlockScan::TempStorage temp_storage;\n     *\n     *     // Initialize running total\n     *     BlockPrefixCallbackOp prefix_op(INT_MIN);\n     *\n     *     // Have the block iterate over segments of items\n     *     for (int block_offset = 0; block_offset < num_items; block_offset += 128)\n     *     {\n     *         // Load a segment of consecutive items that are blocked across threads\n     *         int thread_data = d_data[block_offset];\n     *\n     *         // Collectively compute the block-wide exclusive prefix max scan\n     *         int block_aggregate;\n     *         BlockScan(temp_storage).ExclusiveScan(\n     *             thread_data, thread_data, INT_MIN, cub::Max(), block_aggregate, prefix_op);\n     *         __syncthreads();\n     *\n     *         // Store scanned items to output segment\n     *         d_data[block_offset] = thread_data;\n     *     }\n     * \\endcode\n     * \\par\n     * Suppose the input \\p d_data is <tt>0, -1, 2, -3, 4, -5, ...</tt>.\n     * The corresponding output for the first segment will be <tt>INT_MIN, 0, 0, 2, ..., 124, 126</tt>.\n     * The output for the second segment will be <tt>126, 128, 128, 130, ..., 252, 254</tt>.  Furthermore,\n     * \\p block_aggregate will be assigned \\p 126 in all threads after the first scan, assigned \\p 254 after the second\n     * scan, etc.\n     *\n     * \\tparam ScanOp               <b>[inferred]</b> Binary scan functor (e.g., an instance of cub::Sum, cub::Min, cub::Max, etc.) type having member <tt>T operator()(const T &a, const T &b)</tt>\n     * \\tparam BlockPrefixCallbackOp        <b>[inferred]</b> Call-back functor type having member <tt>T operator()(T block_aggregate)</tt>\n     */\n    template <\n        typename ScanOp,\n        typename BlockPrefixCallbackOp>\n    __device__ __forceinline__ void ExclusiveScan(\n        T                       input,                          ///< [in] Calling thread's input item\n        T                       &output,                        ///< [out] Calling thread's output item (may be aliased to \\p input)\n        T                       identity,                       ///< [in] Identity value\n        ScanOp                  scan_op,                        ///< [in] Binary scan functor (e.g., an instance of cub::Sum, cub::Min, cub::Max, etc.)\n        T                       &block_aggregate,               ///< [out] block-wide aggregate reduction of input items (exclusive of the \\p block_prefix_callback_op value)\n        BlockPrefixCallbackOp   &block_prefix_callback_op)      ///< [in-out] <b>[<em>warp</em><sub>0</sub> only]</b> Call-back functor for specifying a block-wide prefix to be applied to all inputs.\n    {\n        InternalBlockScan(temp_storage).ExclusiveScan(input, output, identity, scan_op, block_aggregate, block_prefix_callback_op);\n    }\n\n\n    //@}  end member group        // Inclusive prefix sums\n    /******************************************************************//**\n     * \\name Exclusive prefix scan operations (multiple data per thread)\n     *********************************************************************/\n    //@{\n\n\n    /**\n     * \\brief Computes an exclusive block-wide prefix scan using the specified binary \\p scan_op functor.  Each thread contributes an array of consecutive input elements.\n     *\n     * \\par\n     * - Supports non-commutative scan operators.\n     * - \\blocked\n     * - \\granularity\n     * - \\smemreuse\n     *\n     * \\par Snippet\n     * The code snippet below illustrates an exclusive prefix max scan of 512 integer items that\n     * are partitioned in a [<em>blocked arrangement</em>](index.html#sec5sec3) across 128 threads\n     * where each thread owns 4 consecutive items.\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>   // or equivalently <cub/block/block_scan.cuh>\n     *\n     * __global__ void ExampleKernel(...)\n     * {\n     *     // Specialize BlockScan for a 1D block of 128 threads on type int\n     *     typedef cub::BlockScan<int, 128> BlockScan;\n     *\n     *     // Allocate shared memory for BlockScan\n     *     __shared__ typename BlockScan::TempStorage temp_storage;\n     *\n     *     // Obtain a segment of consecutive items that are blocked across threads\n     *     int thread_data[4];\n     *     ...\n     *\n     *     // Collectively compute the block-wide exclusive prefix max scan\n     *     BlockScan(temp_storage).ExclusiveScan(thread_data, thread_data, INT_MIN, cub::Max());\n     *\n     * \\endcode\n     * \\par\n     * Suppose the set of input \\p thread_data across the block of threads is\n     * <tt>{ [0,-1,2,-3], [4,-5,6,-7], ..., [508,-509,510,-511] }</tt>.\n     * The corresponding output \\p thread_data in those threads will be\n     * <tt>{ [INT_MIN,0,0,2], [2,4,4,6], ..., [506,508,508,510] }</tt>.\n     *\n     * \\tparam ITEMS_PER_THREAD     <b>[inferred]</b> The number of consecutive items partitioned onto each thread.\n     * \\tparam ScanOp               <b>[inferred]</b> Binary scan functor (e.g., an instance of cub::Sum, cub::Min, cub::Max, etc.) type having member <tt>T operator()(const T &a, const T &b)</tt>\n     */\n    template <\n        int             ITEMS_PER_THREAD,\n        typename        ScanOp>\n    __device__ __forceinline__ void ExclusiveScan(\n        T                 (&input)[ITEMS_PER_THREAD],   ///< [in] Calling thread's input items\n        T                 (&output)[ITEMS_PER_THREAD],  ///< [out] Calling thread's output items (may be aliased to \\p input)\n        T                 identity,                    ///< [in] Identity value\n        ScanOp            scan_op)                      ///< [in] Binary scan functor (e.g., an instance of cub::Sum, cub::Min, cub::Max, etc.)\n    {\n        // Reduce consecutive thread items in registers\n        T thread_partial = ThreadReduce(input, scan_op);\n\n        // Exclusive threadblock-scan\n        ExclusiveScan(thread_partial, thread_partial, identity, scan_op);\n\n        // Exclusive scan in registers with prefix\n        ThreadScanExclusive(input, output, scan_op, thread_partial);\n    }\n\n\n    /**\n     * \\brief Computes an exclusive block-wide prefix scan using the specified binary \\p scan_op functor.  Each thread contributes an array of consecutive input elements.  Also provides every thread with the block-wide \\p block_aggregate of all inputs.\n     *\n     * \\par\n     * - Supports non-commutative scan operators.\n     * - \\blocked\n     * - \\granularity\n     * - \\smemreuse\n     *\n     * \\par Snippet\n     * The code snippet below illustrates an exclusive prefix max scan of 512 integer items that\n     * are partitioned in a [<em>blocked arrangement</em>](index.html#sec5sec3) across 128 threads\n     * where each thread owns 4 consecutive items.\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>   // or equivalently <cub/block/block_scan.cuh>\n     *\n     * __global__ void ExampleKernel(...)\n     * {\n     *     // Specialize BlockScan for a 1D block of 128 threads on type int\n     *     typedef cub::BlockScan<int, 128> BlockScan;\n     *\n     *     // Allocate shared memory for BlockScan\n     *     __shared__ typename BlockScan::TempStorage temp_storage;\n     *\n     *     // Obtain a segment of consecutive items that are blocked across threads\n     *     int thread_data[4];\n     *     ...\n     *\n     *     // Collectively compute the block-wide exclusive prefix max scan\n     *     int block_aggregate;\n     *     BlockScan(temp_storage).ExclusiveScan(thread_data, thread_data, INT_MIN, cub::Max(), block_aggregate);\n     *\n     * \\endcode\n     * \\par\n     * Suppose the set of input \\p thread_data across the block of threads is <tt>{ [0,-1,2,-3], [4,-5,6,-7], ..., [508,-509,510,-511] }</tt>.  The\n     * corresponding output \\p thread_data in those threads will be <tt>{ [INT_MIN,0,0,2], [2,4,4,6], ..., [506,508,508,510] }</tt>.\n     * Furthermore the value \\p 510 will be stored in \\p block_aggregate for all threads.\n     *\n     * \\tparam ITEMS_PER_THREAD     <b>[inferred]</b> The number of consecutive items partitioned onto each thread.\n     * \\tparam ScanOp               <b>[inferred]</b> Binary scan functor (e.g., an instance of cub::Sum, cub::Min, cub::Max, etc.) type having member <tt>T operator()(const T &a, const T &b)</tt>\n     */\n    template <\n        int             ITEMS_PER_THREAD,\n        typename        ScanOp>\n    __device__ __forceinline__ void ExclusiveScan(\n        T                 (&input)[ITEMS_PER_THREAD],   ///< [in] Calling thread's input items\n        T                 (&output)[ITEMS_PER_THREAD],  ///< [out] Calling thread's output items (may be aliased to \\p input)\n        T                 identity,                    ///< [in] Identity value\n        ScanOp            scan_op,                      ///< [in] Binary scan functor (e.g., an instance of cub::Sum, cub::Min, cub::Max, etc.)\n        T                 &block_aggregate)             ///< [out] block-wide aggregate reduction of input items\n    {\n        // Reduce consecutive thread items in registers\n        T thread_partial = ThreadReduce(input, scan_op);\n\n        // Exclusive threadblock-scan\n        ExclusiveScan(thread_partial, thread_partial, identity, scan_op, block_aggregate);\n\n        // Exclusive scan in registers with prefix\n        ThreadScanExclusive(input, output, scan_op, thread_partial);\n    }\n\n\n    /**\n     * \\brief Computes an exclusive block-wide prefix scan using the specified binary \\p scan_op functor.  Each thread contributes an array of consecutive input elements.  the call-back functor \\p block_prefix_callback_op is invoked by the first warp in the block, and the value returned by <em>lane</em><sub>0</sub> in that warp is used as the \"seed\" value that logically prefixes the threadblock's scan inputs.  Also provides every thread with the block-wide \\p block_aggregate of all inputs.\n     *\n     * \\par\n     * - The \\p block_prefix_callback_op functor must implement a member function <tt>T operator()(T block_aggregate)</tt>.\n     *   The functor's input parameter \\p block_aggregate is the same value also returned by the scan operation.\n     *   The functor will be invoked by the first warp of threads in the block, however only the return value from\n     *   <em>lane</em><sub>0</sub> is applied as the block-wide prefix.  Can be stateful.\n     * - Supports non-commutative scan operators.\n     * - \\blocked\n     * - \\granularity\n     * - \\smemreuse\n     *\n     * \\par Snippet\n     * The code snippet below illustrates a single thread block that progressively\n     * computes an exclusive prefix max scan over multiple \"tiles\" of input using a\n     * prefix functor to maintain a running total between block-wide scans.  Each tile consists\n     * of 128 integer items that are partitioned across 128 threads.\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>   // or equivalently <cub/block/block_scan.cuh>\n     *\n     * // A stateful callback functor that maintains a running prefix to be applied\n     * // during consecutive scan operations.\n     * struct BlockPrefixCallbackOp\n     * {\n     *     // Running prefix\n     *     int running_total;\n     *\n     *     // Constructor\n     *     __device__ BlockPrefixCallbackOp(int running_total) : running_total(running_total) {}\n     *\n     *     // Callback operator to be entered by the first warp of threads in the block.\n     *     // Thread-0 is responsible for returning a value for seeding the block-wide scan.\n     *     __device__ int operator()(int block_aggregate)\n     *     {\n     *         int old_prefix = running_total;\n     *         running_total = (block_aggregate > old_prefix) ? block_aggregate : old_prefix;\n     *         return old_prefix;\n     *     }\n     * };\n     *\n     * __global__ void ExampleKernel(int *d_data, int num_items, ...)\n     * {\n     *     // Specialize BlockLoad, BlockStore, and BlockScan for a 1D block of 128 threads, 4 ints per thread\n     *     typedef cub::BlockLoad<int*, 128, 4, BLOCK_LOAD_TRANSPOSE>   BlockLoad;\n     *     typedef cub::BlockStore<int*, 128, 4, BLOCK_STORE_TRANSPOSE> BlockStore;\n     *     typedef cub::BlockScan<int, 128>                             BlockScan;\n     *\n     *     // Allocate aliased shared memory for BlockLoad, BlockStore, and BlockScan\n     *     __shared__ union {\n     *         typename BlockLoad::TempStorage     load;\n     *         typename BlockScan::TempStorage     scan;\n     *         typename BlockStore::TempStorage    store;\n     *     } temp_storage;\n     *\n     *     // Initialize running total\n     *     BlockPrefixCallbackOp prefix_op(0);\n     *\n     *     // Have the block iterate over segments of items\n     *     for (int block_offset = 0; block_offset < num_items; block_offset += 128 * 4)\n     *     {\n     *         // Load a segment of consecutive items that are blocked across threads\n     *         int thread_data[4];\n     *         BlockLoad(temp_storage.load).Load(d_data + block_offset, thread_data);\n     *         __syncthreads();\n     *\n     *         // Collectively compute the block-wide exclusive prefix max scan\n     *         int block_aggregate;\n     *         BlockScan(temp_storage.scan).ExclusiveScan(\n     *             thread_data, thread_data, INT_MIN, cub::Max(), block_aggregate, prefix_op);\n     *         __syncthreads();\n     *\n     *         // Store scanned items to output segment\n     *         BlockStore(temp_storage.store).Store(d_data + block_offset, thread_data);\n     *         __syncthreads();\n     *     }\n     * \\endcode\n     * \\par\n     * Suppose the input \\p d_data is <tt>0, -1, 2, -3, 4, -5, ...</tt>.\n     * The corresponding output for the first segment will be <tt>INT_MIN, 0, 0, 2, 2, 4, ..., 508, 510</tt>.\n     * The output for the second segment will be <tt>510, 512, 512, 514, 514, 516, ..., 1020, 1022</tt>.  Furthermore,\n     * \\p block_aggregate will be assigned \\p 510 in all threads after the first scan, assigned \\p 1022 after the second\n     * scan, etc.\n     *\n     * \\tparam ITEMS_PER_THREAD     <b>[inferred]</b> The number of consecutive items partitioned onto each thread.\n     * \\tparam ScanOp               <b>[inferred]</b> Binary scan functor (e.g., an instance of cub::Sum, cub::Min, cub::Max, etc.) type having member <tt>T operator()(const T &a, const T &b)</tt>\n     * \\tparam BlockPrefixCallbackOp        <b>[inferred]</b> Call-back functor type having member <tt>T operator()(T block_aggregate)</tt>\n     */\n    template <\n        int             ITEMS_PER_THREAD,\n        typename        ScanOp,\n        typename        BlockPrefixCallbackOp>\n    __device__ __forceinline__ void ExclusiveScan(\n        T                       (&input)[ITEMS_PER_THREAD],     ///< [in] Calling thread's input items\n        T                       (&output)[ITEMS_PER_THREAD],    ///< [out] Calling thread's output items (may be aliased to \\p input)\n        T                       identity,                       ///< [in] Identity value\n        ScanOp                  scan_op,                        ///< [in] Binary scan functor (e.g., an instance of cub::Sum, cub::Min, cub::Max, etc.)\n        T                       &block_aggregate,               ///< [out] block-wide aggregate reduction of input items (exclusive of the \\p block_prefix_callback_op value)\n        BlockPrefixCallbackOp   &block_prefix_callback_op)      ///< [in-out] <b>[<em>warp</em><sub>0</sub> only]</b> Call-back functor for specifying a block-wide prefix to be applied to all inputs.\n    {\n        // Reduce consecutive thread items in registers\n        T thread_partial = ThreadReduce(input, scan_op);\n\n        // Exclusive threadblock-scan\n        ExclusiveScan(thread_partial, thread_partial, identity, scan_op, block_aggregate, block_prefix_callback_op);\n\n        // Exclusive scan in registers with prefix\n        ThreadScanExclusive(input, output, scan_op, thread_partial);\n    }\n\n\n    //@}  end member group\n\n#ifndef DOXYGEN_SHOULD_SKIP_THIS    // Do not document\n\n    /******************************************************************//**\n     * \\name Exclusive prefix scan operations (identityless, single datum per thread)\n     *********************************************************************/\n    //@{\n\n\n    /**\n     * \\brief Computes an exclusive block-wide prefix scan using the specified binary \\p scan_op functor.  Each thread contributes one input element.  With no identity value, the output computed for <em>thread</em><sub>0</sub> is undefined.\n     *\n     * \\par\n     * - Supports non-commutative scan operators.\n     * - \\rowmajor\n     * - \\smemreuse\n     *\n     * \\tparam ScanOp               <b>[inferred]</b> Binary scan functor (e.g., an instance of cub::Sum, cub::Min, cub::Max, etc.) type having member <tt>T operator()(const T &a, const T &b)</tt>\n     */\n    template <typename ScanOp>\n    __device__ __forceinline__ void ExclusiveScan(\n        T               input,                          ///< [in] Calling thread's input item\n        T               &output,                        ///< [out] Calling thread's output item (may be aliased to \\p input)\n        ScanOp          scan_op)                        ///< [in] Binary scan functor (e.g., an instance of cub::Sum, cub::Min, cub::Max, etc.)\n    {\n        T block_aggregate;\n        InternalBlockScan(temp_storage).ExclusiveScan(input, output, scan_op, block_aggregate);\n    }\n\n\n    /**\n     * \\brief Computes an exclusive block-wide prefix scan using the specified binary \\p scan_op functor.  Each thread contributes one input element.  Also provides every thread with the block-wide \\p block_aggregate of all inputs.  With no identity value, the output computed for <em>thread</em><sub>0</sub> is undefined.\n     *\n     * \\par\n     * - Supports non-commutative scan operators.\n     * - \\rowmajor\n     * - \\smemreuse\n     *\n     * \\tparam ScanOp   <b>[inferred]</b> Binary scan functor (e.g., an instance of cub::Sum, cub::Min, cub::Max, etc.) type having member <tt>T operator()(const T &a, const T &b)</tt>\n     */\n    template <typename ScanOp>\n    __device__ __forceinline__ void ExclusiveScan(\n        T               input,                          ///< [in] Calling thread's input item\n        T               &output,                        ///< [out] Calling thread's output item (may be aliased to \\p input)\n        ScanOp          scan_op,                        ///< [in] Binary scan functor (e.g., an instance of cub::Sum, cub::Min, cub::Max, etc.)\n        T               &block_aggregate)               ///< [out] block-wide aggregate reduction of input items\n    {\n        InternalBlockScan(temp_storage).ExclusiveScan(input, output, scan_op, block_aggregate);\n    }\n\n\n    /**\n     * \\brief Computes an exclusive block-wide prefix scan using the specified binary \\p scan_op functor.  Each thread contributes one input element.  the call-back functor \\p block_prefix_callback_op is invoked by the first warp in the block, and the value returned by <em>lane</em><sub>0</sub> in that warp is used as the \"seed\" value that logically prefixes the threadblock's scan inputs.  Also provides every thread with the block-wide \\p block_aggregate of all inputs.\n     *\n     * The \\p block_prefix_callback_op functor must implement a member function <tt>T operator()(T block_aggregate)</tt>.\n     * The functor's input parameter \\p block_aggregate is the same value also returned by the scan operation.\n     * The functor will be invoked by the first warp of threads in the block, however only the return value from\n     * <em>lane</em><sub>0</sub> is applied as the block-wide prefix.  Can be stateful.\n     *\n     * \\par\n     * - Supports non-commutative scan operators.\n     * - \\rowmajor\n     * - \\smemreuse\n     *\n     * \\tparam ScanOp               <b>[inferred]</b> Binary scan functor (e.g., an instance of cub::Sum, cub::Min, cub::Max, etc.) type having member <tt>T operator()(const T &a, const T &b)</tt>\n     * \\tparam BlockPrefixCallbackOp        <b>[inferred]</b> Call-back functor type having member <tt>T operator()(T block_aggregate)</tt>\n     */\n    template <\n        typename ScanOp,\n        typename BlockPrefixCallbackOp>\n    __device__ __forceinline__ void ExclusiveScan(\n        T                       input,                          ///< [in] Calling thread's input item\n        T                       &output,                        ///< [out] Calling thread's output item (may be aliased to \\p input)\n        ScanOp                  scan_op,                        ///< [in] Binary scan functor (e.g., an instance of cub::Sum, cub::Min, cub::Max, etc.)\n        T                       &block_aggregate,               ///< [out] block-wide aggregate reduction of input items (exclusive of the \\p block_prefix_callback_op value)\n        BlockPrefixCallbackOp   &block_prefix_callback_op)      ///< [in-out] <b>[<em>warp</em><sub>0</sub> only]</b> Call-back functor for specifying a block-wide prefix to be applied to all inputs.\n    {\n        InternalBlockScan(temp_storage).ExclusiveScan(input, output, scan_op, block_aggregate, block_prefix_callback_op);\n    }\n\n\n    //@}  end member group\n    /******************************************************************//**\n     * \\name Exclusive prefix scan operations (identityless, multiple data per thread)\n     *********************************************************************/\n    //@{\n\n\n    /**\n     * \\brief Computes an exclusive block-wide prefix scan using the specified binary \\p scan_op functor.  Each thread contributes an array of consecutive input elements.  With no identity value, the output computed for <em>thread</em><sub>0</sub> is undefined.\n     *\n     * \\par\n     * - Supports non-commutative scan operators.\n     * - \\blocked\n     * - \\granularity\n     * - \\smemreuse\n     *\n     * \\tparam ITEMS_PER_THREAD     <b>[inferred]</b> The number of consecutive items partitioned onto each thread.\n     * \\tparam ScanOp               <b>[inferred]</b> Binary scan functor (e.g., an instance of cub::Sum, cub::Min, cub::Max, etc.) type having member <tt>T operator()(const T &a, const T &b)</tt>\n     */\n    template <\n        int             ITEMS_PER_THREAD,\n        typename        ScanOp>\n    __device__ __forceinline__ void ExclusiveScan(\n        T                 (&input)[ITEMS_PER_THREAD],   ///< [in] Calling thread's input items\n        T                 (&output)[ITEMS_PER_THREAD],  ///< [out] Calling thread's output items (may be aliased to \\p input)\n        ScanOp            scan_op)                      ///< [in] Binary scan functor (e.g., an instance of cub::Sum, cub::Min, cub::Max, etc.)\n    {\n        // Reduce consecutive thread items in registers\n        T thread_partial = ThreadReduce(input, scan_op);\n\n        // Exclusive threadblock-scan\n        ExclusiveScan(thread_partial, thread_partial, scan_op);\n\n        // Exclusive scan in registers with prefix\n        ThreadScanExclusive(input, output, scan_op, thread_partial, (linear_tid != 0));\n    }\n\n\n    /**\n     * \\brief Computes an exclusive block-wide prefix scan using the specified binary \\p scan_op functor.  Each thread contributes an array of consecutive input elements.  Also provides every thread with the block-wide \\p block_aggregate of all inputs.  With no identity value, the output computed for <em>thread</em><sub>0</sub> is undefined.\n     *\n     * \\par\n     * - Supports non-commutative scan operators.\n     * - \\blocked\n     * - \\granularity\n     * - \\smemreuse\n     *\n     * \\tparam ITEMS_PER_THREAD     <b>[inferred]</b> The number of consecutive items partitioned onto each thread.\n     * \\tparam ScanOp               <b>[inferred]</b> Binary scan functor (e.g., an instance of cub::Sum, cub::Min, cub::Max, etc.) type having member <tt>T operator()(const T &a, const T &b)</tt>\n     */\n    template <\n        int             ITEMS_PER_THREAD,\n        typename        ScanOp>\n    __device__ __forceinline__ void ExclusiveScan(\n        T               (&input)[ITEMS_PER_THREAD],     ///< [in] Calling thread's input items\n        T               (&output)[ITEMS_PER_THREAD],    ///< [out] Calling thread's output items (may be aliased to \\p input)\n        ScanOp          scan_op,                        ///< [in] Binary scan functor (e.g., an instance of cub::Sum, cub::Min, cub::Max, etc.)\n        T               &block_aggregate)               ///< [out] block-wide aggregate reduction of input items\n    {\n        // Reduce consecutive thread items in registers\n        T thread_partial = ThreadReduce(input, scan_op);\n\n        // Exclusive threadblock-scan\n        ExclusiveScan(thread_partial, thread_partial, scan_op, block_aggregate);\n\n        // Exclusive scan in registers with prefix\n        ThreadScanExclusive(input, output, scan_op, thread_partial, (linear_tid != 0));\n    }\n\n\n    /**\n     * \\brief Computes an exclusive block-wide prefix scan using the specified binary \\p scan_op functor.  Each thread contributes an array of consecutive input elements.  the call-back functor \\p block_prefix_callback_op is invoked by the first warp in the block, and the value returned by <em>lane</em><sub>0</sub> in that warp is used as the \"seed\" value that logically prefixes the threadblock's scan inputs.  Also provides every thread with the block-wide \\p block_aggregate of all inputs.\n     *\n     * The \\p block_prefix_callback_op functor must implement a member function <tt>T operator()(T block_aggregate)</tt>.\n     * The functor's input parameter \\p block_aggregate is the same value also returned by the scan operation.\n     * The functor will be invoked by the first warp of threads in the block, however only the return value from\n     * <em>lane</em><sub>0</sub> is applied as the block-wide prefix.  Can be stateful.\n     *\n     * \\par\n     * - Supports non-commutative scan operators.\n     * - \\blocked\n     * - \\granularity\n     * - \\smemreuse\n     *\n     * \\tparam ITEMS_PER_THREAD     <b>[inferred]</b> The number of consecutive items partitioned onto each thread.\n     * \\tparam ScanOp               <b>[inferred]</b> Binary scan functor (e.g., an instance of cub::Sum, cub::Min, cub::Max, etc.) type having member <tt>T operator()(const T &a, const T &b)</tt>\n     * \\tparam BlockPrefixCallbackOp        <b>[inferred]</b> Call-back functor type having member <tt>T operator()(T block_aggregate)</tt>\n     */\n    template <\n        int             ITEMS_PER_THREAD,\n        typename        ScanOp,\n        typename        BlockPrefixCallbackOp>\n    __device__ __forceinline__ void ExclusiveScan(\n        T                       (&input)[ITEMS_PER_THREAD],   ///< [in] Calling thread's input items\n        T                       (&output)[ITEMS_PER_THREAD],  ///< [out] Calling thread's output items (may be aliased to \\p input)\n        ScanOp                  scan_op,                      ///< [in] Binary scan functor (e.g., an instance of cub::Sum, cub::Min, cub::Max, etc.)\n        T                       &block_aggregate,             ///< [out] block-wide aggregate reduction of input items (exclusive of the \\p block_prefix_callback_op value)\n        BlockPrefixCallbackOp   &block_prefix_callback_op)    ///< [in-out] <b>[<em>warp</em><sub>0</sub> only]</b> Call-back functor for specifying a block-wide prefix to be applied to all inputs.\n    {\n        // Reduce consecutive thread items in registers\n        T thread_partial = ThreadReduce(input, scan_op);\n\n        // Exclusive threadblock-scan\n        ExclusiveScan(thread_partial, thread_partial, scan_op, block_aggregate, block_prefix_callback_op);\n\n        // Exclusive scan in registers with prefix\n        ThreadScanExclusive(input, output, scan_op, thread_partial);\n    }\n\n\n    //@}  end member group\n\n#endif // DOXYGEN_SHOULD_SKIP_THIS\n\n    /******************************************************************//**\n     * \\name Inclusive prefix sum operations\n     *********************************************************************/\n    //@{\n\n\n    /**\n     * \\brief Computes an inclusive block-wide prefix scan using addition (+) as the scan operator.  Each thread contributes one input element.\n     *\n     * \\par\n     * - \\rowmajor\n     * - \\smemreuse\n     *\n     * \\par Snippet\n     * The code snippet below illustrates an inclusive prefix sum of 128 integer items that\n     * are partitioned across 128 threads.\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>   // or equivalently <cub/block/block_scan.cuh>\n     *\n     * __global__ void ExampleKernel(...)\n     * {\n     *     // Specialize BlockScan for a 1D block of 128 threads on type int\n     *     typedef cub::BlockScan<int, 128> BlockScan;\n     *\n     *     // Allocate shared memory for BlockScan\n     *     __shared__ typename BlockScan::TempStorage temp_storage;\n     *\n     *     // Obtain input item for each thread\n     *     int thread_data;\n     *     ...\n     *\n     *     // Collectively compute the block-wide inclusive prefix sum\n     *     BlockScan(temp_storage).InclusiveSum(thread_data, thread_data);\n     *\n     * \\endcode\n     * \\par\n     * Suppose the set of input \\p thread_data across the block of threads is <tt>1, 1, ..., 1</tt>.  The\n     * corresponding output \\p thread_data in those threads will be <tt>1, 2, ..., 128</tt>.\n     *\n     */\n    __device__ __forceinline__ void InclusiveSum(\n        T               input,                          ///< [in] Calling thread's input item\n        T               &output)                        ///< [out] Calling thread's output item (may be aliased to \\p input)\n    {\n        T block_aggregate;\n        InternalBlockScan(temp_storage).InclusiveSum(input, output, block_aggregate);\n    }\n\n\n    /**\n     * \\brief Computes an inclusive block-wide prefix scan using addition (+) as the scan operator.  Each thread contributes one input element.  Also provides every thread with the block-wide \\p block_aggregate of all inputs.\n     *\n     * \\par\n     * - \\rowmajor\n     * - \\smemreuse\n     *\n     * \\par Snippet\n     * The code snippet below illustrates an inclusive prefix sum of 128 integer items that\n     * are partitioned across 128 threads.\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>   // or equivalently <cub/block/block_scan.cuh>\n     *\n     * __global__ void ExampleKernel(...)\n     * {\n     *     // Specialize BlockScan for a 1D block of 128 threads on type int\n     *     typedef cub::BlockScan<int, 128> BlockScan;\n     *\n     *     // Allocate shared memory for BlockScan\n     *     __shared__ typename BlockScan::TempStorage temp_storage;\n     *\n     *     // Obtain input item for each thread\n     *     int thread_data;\n     *     ...\n     *\n     *     // Collectively compute the block-wide inclusive prefix sum\n     *     int block_aggregate;\n     *     BlockScan(temp_storage).InclusiveSum(thread_data, thread_data, block_aggregate);\n     *\n     * \\endcode\n     * \\par\n     * Suppose the set of input \\p thread_data across the block of threads is <tt>1, 1, ..., 1</tt>.  The\n     * corresponding output \\p thread_data in those threads will be <tt>1, 2, ..., 128</tt>.\n     * Furthermore the value \\p 128 will be stored in \\p block_aggregate for all threads.\n     *\n     */\n    __device__ __forceinline__ void InclusiveSum(\n        T               input,                          ///< [in] Calling thread's input item\n        T               &output,                        ///< [out] Calling thread's output item (may be aliased to \\p input)\n        T               &block_aggregate)               ///< [out] block-wide aggregate reduction of input items\n    {\n        InternalBlockScan(temp_storage).InclusiveSum(input, output, block_aggregate);\n    }\n\n\n\n    /**\n     * \\brief Computes an inclusive block-wide prefix scan using addition (+) as the scan operator.  Each thread contributes one input element.  Instead of using 0 as the block-wide prefix, the call-back functor \\p block_prefix_callback_op is invoked by the first warp in the block, and the value returned by <em>lane</em><sub>0</sub> in that warp is used as the \"seed\" value that logically prefixes the threadblock's scan inputs.  Also provides every thread with the block-wide \\p block_aggregate of all inputs.\n     *\n     * \\par\n     * - The \\p block_prefix_callback_op functor must implement a member function <tt>T operator()(T block_aggregate)</tt>.\n     *   The functor's input parameter \\p block_aggregate is the same value also returned by the scan operation.\n     *   The functor will be invoked by the first warp of threads in the block, however only the return value from\n     *   <em>lane</em><sub>0</sub> is applied as the block-wide prefix.  Can be stateful.\n     * - \\rowmajor\n     * - \\smemreuse\n     *\n     * \\par Snippet\n     * The code snippet below illustrates a single thread block that progressively\n     * computes an inclusive prefix sum over multiple \"tiles\" of input using a\n     * prefix functor to maintain a running total between block-wide scans.  Each tile consists\n     * of 128 integer items that are partitioned across 128 threads.\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>   // or equivalently <cub/block/block_scan.cuh>\n     *\n     * // A stateful callback functor that maintains a running prefix to be applied\n     * // during consecutive scan operations.\n     * struct BlockPrefixCallbackOp\n     * {\n     *     // Running prefix\n     *     int running_total;\n     *\n     *     // Constructor\n     *     __device__ BlockPrefixCallbackOp(int running_total) : running_total(running_total) {}\n     *\n     *     // Callback operator to be entered by the first warp of threads in the block.\n     *     // Thread-0 is responsible for returning a value for seeding the block-wide scan.\n     *     __device__ int operator()(int block_aggregate)\n     *     {\n     *         int old_prefix = running_total;\n     *         running_total += block_aggregate;\n     *         return old_prefix;\n     *     }\n     * };\n     *\n     * __global__ void ExampleKernel(int *d_data, int num_items, ...)\n     * {\n     *     // Specialize BlockScan for a 1D block of 128 threads\n     *     typedef cub::BlockScan<int, 128> BlockScan;\n     *\n     *     // Allocate shared memory for BlockScan\n     *     __shared__ typename BlockScan::TempStorage temp_storage;\n     *\n     *     // Initialize running total\n     *     BlockPrefixCallbackOp prefix_op(0);\n     *\n     *     // Have the block iterate over segments of items\n     *     for (int block_offset = 0; block_offset < num_items; block_offset += 128)\n     *     {\n     *         // Load a segment of consecutive items that are blocked across threads\n     *         int thread_data = d_data[block_offset];\n     *\n     *         // Collectively compute the block-wide inclusive prefix sum\n     *         int block_aggregate;\n     *         BlockScan(temp_storage).InclusiveSum(\n     *             thread_data, thread_data, block_aggregate, prefix_op);\n     *         __syncthreads();\n     *\n     *         // Store scanned items to output segment\n     *         d_data[block_offset] = thread_data;\n     *     }\n     * \\endcode\n     * \\par\n     * Suppose the input \\p d_data is <tt>1, 1, 1, 1, 1, 1, 1, 1, ...</tt>.\n     * The corresponding output for the first segment will be <tt>1, 2, ..., 128</tt>.\n     * The output for the second segment will be <tt>129, 130, ..., 256</tt>.  Furthermore,\n     * the value \\p 128 will be stored in \\p block_aggregate for all threads after each scan.\n     *\n     * \\tparam BlockPrefixCallbackOp          <b>[inferred]</b> Call-back functor type having member <tt>T operator()(T block_aggregate)</tt>\n     */\n    template <typename BlockPrefixCallbackOp>\n    __device__ __forceinline__ void InclusiveSum(\n        T                       input,                          ///< [in] Calling thread's input item\n        T                       &output,                        ///< [out] Calling thread's output item (may be aliased to \\p input)\n        T                       &block_aggregate,               ///< [out] block-wide aggregate reduction of input items (exclusive of the \\p block_prefix_callback_op value)\n        BlockPrefixCallbackOp   &block_prefix_callback_op)      ///< [in-out] <b>[<em>warp</em><sub>0</sub> only]</b> Call-back functor for specifying a block-wide prefix to be applied to all inputs.\n    {\n        InternalBlockScan(temp_storage).InclusiveSum(input, output, block_aggregate, block_prefix_callback_op);\n    }\n\n\n    //@}  end member group\n    /******************************************************************//**\n     * \\name Inclusive prefix sum operations (multiple data per thread)\n     *********************************************************************/\n    //@{\n\n\n    /**\n     * \\brief Computes an inclusive block-wide prefix scan using addition (+) as the scan operator.  Each thread contributes an array of consecutive input elements.\n     *\n     * \\par\n     * - \\blocked\n     * - \\granularity\n     * - \\smemreuse\n     *\n     * \\par Snippet\n     * The code snippet below illustrates an inclusive prefix sum of 512 integer items that\n     * are partitioned in a [<em>blocked arrangement</em>](index.html#sec5sec3) across 128 threads\n     * where each thread owns 4 consecutive items.\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>   // or equivalently <cub/block/block_scan.cuh>\n     *\n     * __global__ void ExampleKernel(...)\n     * {\n     *     // Specialize BlockScan for a 1D block of 128 threads on type int\n     *     typedef cub::BlockScan<int, 128> BlockScan;\n     *\n     *     // Allocate shared memory for BlockScan\n     *     __shared__ typename BlockScan::TempStorage temp_storage;\n     *\n     *     // Obtain a segment of consecutive items that are blocked across threads\n     *     int thread_data[4];\n     *     ...\n     *\n     *     // Collectively compute the block-wide inclusive prefix sum\n     *     BlockScan(temp_storage).InclusiveSum(thread_data, thread_data);\n     *\n     * \\endcode\n     * \\par\n     * Suppose the set of input \\p thread_data across the block of threads is <tt>{ [1,1,1,1], [1,1,1,1], ..., [1,1,1,1] }</tt>.  The\n     * corresponding output \\p thread_data in those threads will be <tt>{ [1,2,3,4], [5,6,7,8], ..., [509,510,511,512] }</tt>.\n     *\n     * \\tparam ITEMS_PER_THREAD     <b>[inferred]</b> The number of consecutive items partitioned onto each thread.\n     */\n    template <int ITEMS_PER_THREAD>\n    __device__ __forceinline__ void InclusiveSum(\n        T               (&input)[ITEMS_PER_THREAD],     ///< [in] Calling thread's input items\n        T               (&output)[ITEMS_PER_THREAD])    ///< [out] Calling thread's output items (may be aliased to \\p input)\n    {\n        if (ITEMS_PER_THREAD == 1)\n        {\n            InclusiveSum(input[0], output[0]);\n        }\n        else\n        {\n            // Reduce consecutive thread items in registers\n            Sum scan_op;\n            T thread_partial = ThreadReduce(input, scan_op);\n\n            // Exclusive threadblock-scan\n            ExclusiveSum(thread_partial, thread_partial);\n\n            // Inclusive scan in registers with prefix\n            ThreadScanInclusive(input, output, scan_op, thread_partial, (linear_tid != 0));\n        }\n    }\n\n\n    /**\n     * \\brief Computes an inclusive block-wide prefix scan using addition (+) as the scan operator.  Each thread contributes an array of consecutive input elements.  Also provides every thread with the block-wide \\p block_aggregate of all inputs.\n     *\n     * \\par\n     * - \\blocked\n     * - \\granularity\n     * - \\smemreuse\n     *\n     * \\par Snippet\n     * The code snippet below illustrates an inclusive prefix sum of 512 integer items that\n     * are partitioned in a [<em>blocked arrangement</em>](index.html#sec5sec3) across 128 threads\n     * where each thread owns 4 consecutive items.\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>   // or equivalently <cub/block/block_scan.cuh>\n     *\n     * __global__ void ExampleKernel(...)\n     * {\n     *     // Specialize BlockScan for a 1D block of 128 threads on type int\n     *     typedef cub::BlockScan<int, 128> BlockScan;\n     *\n     *     // Allocate shared memory for BlockScan\n     *     __shared__ typename BlockScan::TempStorage temp_storage;\n     *\n     *     // Obtain a segment of consecutive items that are blocked across threads\n     *     int thread_data[4];\n     *     ...\n     *\n     *     // Collectively compute the block-wide inclusive prefix sum\n     *     int block_aggregate;\n     *     BlockScan(temp_storage).InclusiveSum(thread_data, thread_data, block_aggregate);\n     *\n     * \\endcode\n     * \\par\n     * Suppose the set of input \\p thread_data across the block of threads is\n     * <tt>{ [1,1,1,1], [1,1,1,1], ..., [1,1,1,1] }</tt>.  The\n     * corresponding output \\p thread_data in those threads will be\n     * <tt>{ [1,2,3,4], [5,6,7,8], ..., [509,510,511,512] }</tt>.\n     * Furthermore the value \\p 512 will be stored in \\p block_aggregate for all threads.\n     *\n     * \\tparam ITEMS_PER_THREAD     <b>[inferred]</b> The number of consecutive items partitioned onto each thread.\n     * \\tparam ScanOp               <b>[inferred]</b> Binary scan functor (e.g., an instance of cub::Sum, cub::Min, cub::Max, etc.) type having member <tt>T operator()(const T &a, const T &b)</tt>\n     */\n    template <int ITEMS_PER_THREAD>\n    __device__ __forceinline__ void InclusiveSum(\n        T               (&input)[ITEMS_PER_THREAD],     ///< [in] Calling thread's input items\n        T               (&output)[ITEMS_PER_THREAD],    ///< [out] Calling thread's output items (may be aliased to \\p input)\n        T               &block_aggregate)               ///< [out] block-wide aggregate reduction of input items\n    {\n        if (ITEMS_PER_THREAD == 1)\n        {\n            InclusiveSum(input[0], output[0], block_aggregate);\n        }\n        else\n        {\n            // Reduce consecutive thread items in registers\n            Sum scan_op;\n            T thread_partial = ThreadReduce(input, scan_op);\n\n            // Exclusive threadblock-scan\n            ExclusiveSum(thread_partial, thread_partial, block_aggregate);\n\n            // Inclusive scan in registers with prefix\n            ThreadScanInclusive(input, output, scan_op, thread_partial, (linear_tid != 0));\n        }\n    }\n\n\n    /**\n     * \\brief Computes an inclusive block-wide prefix scan using addition (+) as the scan operator.  Each thread contributes an array of consecutive input elements.  Instead of using 0 as the block-wide prefix, the call-back functor \\p block_prefix_callback_op is invoked by the first warp in the block, and the value returned by <em>lane</em><sub>0</sub> in that warp is used as the \"seed\" value that logically prefixes the threadblock's scan inputs.  Also provides every thread with the block-wide \\p block_aggregate of all inputs.\n     *\n     * \\par\n     * - The \\p block_prefix_callback_op functor must implement a member function <tt>T operator()(T block_aggregate)</tt>.\n     *   The functor's input parameter \\p block_aggregate is the same value also returned by the scan operation.\n     *   The functor will be invoked by the first warp of threads in the block, however only the return value from\n     *   <em>lane</em><sub>0</sub> is applied as the block-wide prefix.  Can be stateful.\n     * - \\blocked\n     * - \\granularity\n     * - \\smemreuse\n     *\n     * \\par Snippet\n     * The code snippet below illustrates a single thread block that progressively\n     * computes an inclusive prefix sum over multiple \"tiles\" of input using a\n     * prefix functor to maintain a running total between block-wide scans.  Each tile consists\n     * of 512 integer items that are partitioned in a [<em>blocked arrangement</em>](index.html#sec5sec3)\n     * across 128 threads where each thread owns 4 consecutive items.\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>   // or equivalently <cub/block/block_scan.cuh>\n     *\n     * // A stateful callback functor that maintains a running prefix to be applied\n     * // during consecutive scan operations.\n     * struct BlockPrefixCallbackOp\n     * {\n     *     // Running prefix\n     *     int running_total;\n     *\n     *     // Constructor\n     *     __device__ BlockPrefixCallbackOp(int running_total) : running_total(running_total) {}\n     *\n     *     // Callback operator to be entered by the first warp of threads in the block.\n     *     // Thread-0 is responsible for returning a value for seeding the block-wide scan.\n     *     __device__ int operator()(int block_aggregate)\n     *     {\n     *         int old_prefix = running_total;\n     *         running_total += block_aggregate;\n     *         return old_prefix;\n     *     }\n     * };\n     *\n     * __global__ void ExampleKernel(int *d_data, int num_items, ...)\n     * {\n     *     // Specialize BlockLoad, BlockStore, and BlockScan for a 1D block of 128 threads, 4 ints per thread\n     *     typedef cub::BlockLoad<int*, 128, 4, BLOCK_LOAD_TRANSPOSE>   BlockLoad;\n     *     typedef cub::BlockStore<int*, 128, 4, BLOCK_STORE_TRANSPOSE> BlockStore;\n     *     typedef cub::BlockScan<int, 128>                             BlockScan;\n     *\n     *     // Allocate aliased shared memory for BlockLoad, BlockStore, and BlockScan\n     *     __shared__ union {\n     *         typename BlockLoad::TempStorage     load;\n     *         typename BlockScan::TempStorage     scan;\n     *         typename BlockStore::TempStorage    store;\n     *     } temp_storage;\n     *\n     *     // Initialize running total\n     *     BlockPrefixCallbackOp prefix_op(0);\n     *\n     *     // Have the block iterate over segments of items\n     *     for (int block_offset = 0; block_offset < num_items; block_offset += 128 * 4)\n     *     {\n     *         // Load a segment of consecutive items that are blocked across threads\n     *         int thread_data[4];\n     *         BlockLoad(temp_storage.load).Load(d_data + block_offset, thread_data);\n     *         __syncthreads();\n     *\n     *         // Collectively compute the block-wide inclusive prefix sum\n     *         int block_aggregate;\n     *         BlockScan(temp_storage.scan).IncluisveSum(\n     *             thread_data, thread_data, block_aggregate, prefix_op);\n     *         __syncthreads();\n     *\n     *         // Store scanned items to output segment\n     *         BlockStore(temp_storage.store).Store(d_data + block_offset, thread_data);\n     *         __syncthreads();\n     *     }\n     * \\endcode\n     * \\par\n     * Suppose the input \\p d_data is <tt>1, 1, 1, 1, 1, 1, 1, 1, ...</tt>.\n     * The corresponding output for the first segment will be <tt>1, 2, 3, 4, ..., 511, 512</tt>.\n     * The output for the second segment will be <tt>513, 514, 515, 516, ..., 1023, 1024</tt>.  Furthermore,\n     * the value \\p 512 will be stored in \\p block_aggregate for all threads after each scan.\n     *\n     * \\tparam ITEMS_PER_THREAD     <b>[inferred]</b> The number of consecutive items partitioned onto each thread.\n     * \\tparam BlockPrefixCallbackOp        <b>[inferred]</b> Call-back functor type having member <tt>T operator()(T block_aggregate)</tt>\n     */\n    template <\n        int ITEMS_PER_THREAD,\n        typename BlockPrefixCallbackOp>\n    __device__ __forceinline__ void InclusiveSum(\n        T                       (&input)[ITEMS_PER_THREAD],     ///< [in] Calling thread's input items\n        T                       (&output)[ITEMS_PER_THREAD],    ///< [out] Calling thread's output items (may be aliased to \\p input)\n        T                       &block_aggregate,               ///< [out] block-wide aggregate reduction of input items (exclusive of the \\p block_prefix_callback_op value)\n        BlockPrefixCallbackOp   &block_prefix_callback_op)      ///< [in-out] <b>[<em>warp</em><sub>0</sub> only]</b> Call-back functor for specifying a block-wide prefix to be applied to all inputs.\n    {\n        if (ITEMS_PER_THREAD == 1)\n        {\n            InclusiveSum(input[0], output[0], block_aggregate, block_prefix_callback_op);\n        }\n        else\n        {\n            // Reduce consecutive thread items in registers\n            Sum scan_op;\n            T thread_partial = ThreadReduce(input, scan_op);\n\n            // Exclusive threadblock-scan\n            ExclusiveSum(thread_partial, thread_partial, block_aggregate, block_prefix_callback_op);\n\n            // Inclusive scan in registers with prefix\n            ThreadScanInclusive(input, output, scan_op, thread_partial);\n        }\n    }\n\n\n    //@}  end member group\n    /******************************************************************//**\n     * \\name Inclusive prefix scan operations\n     *********************************************************************/\n    //@{\n\n\n    /**\n     * \\brief Computes an inclusive block-wide prefix scan using the specified binary \\p scan_op functor.  Each thread contributes one input element.\n     *\n     * \\par\n     * - Supports non-commutative scan operators.\n     * - \\rowmajor\n     * - \\smemreuse\n     *\n     * \\par Snippet\n     * The code snippet below illustrates an inclusive prefix max scan of 128 integer items that\n     * are partitioned across 128 threads.\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>   // or equivalently <cub/block/block_scan.cuh>\n     *\n     * __global__ void ExampleKernel(...)\n     * {\n     *     // Specialize BlockScan for a 1D block of 128 threads on type int\n     *     typedef cub::BlockScan<int, 128> BlockScan;\n     *\n     *     // Allocate shared memory for BlockScan\n     *     __shared__ typename BlockScan::TempStorage temp_storage;\n     *\n     *     // Obtain input item for each thread\n     *     int thread_data;\n     *     ...\n     *\n     *     // Collectively compute the block-wide inclusive prefix max scan\n     *     BlockScan(temp_storage).InclusiveScan(thread_data, thread_data, cub::Max());\n     *\n     * \\endcode\n     * \\par\n     * Suppose the set of input \\p thread_data across the block of threads is <tt>0, -1, 2, -3, ..., 126, -127</tt>.  The\n     * corresponding output \\p thread_data in those threads will be <tt>0, 0, 2, 2, ..., 126, 126</tt>.\n     *\n     * \\tparam ScanOp               <b>[inferred]</b> Binary scan functor (e.g., an instance of cub::Sum, cub::Min, cub::Max, etc.) type having member <tt>T operator()(const T &a, const T &b)</tt>\n     */\n    template <typename ScanOp>\n    __device__ __forceinline__ void InclusiveScan(\n        T               input,                          ///< [in] Calling thread's input item\n        T               &output,                        ///< [out] Calling thread's output item (may be aliased to \\p input)\n        ScanOp          scan_op)                        ///< [in] Binary scan functor (e.g., an instance of cub::Sum, cub::Min, cub::Max, etc.)\n    {\n        T block_aggregate;\n        InclusiveScan(input, output, scan_op, block_aggregate);\n    }\n\n\n    /**\n     * \\brief Computes an inclusive block-wide prefix scan using the specified binary \\p scan_op functor.  Each thread contributes one input element.  Also provides every thread with the block-wide \\p block_aggregate of all inputs.\n     *\n     * \\par\n     * - Supports non-commutative scan operators.\n     * - \\rowmajor\n     * - \\smemreuse\n     *\n     * \\par Snippet\n     * The code snippet below illustrates an inclusive prefix max scan of 128 integer items that\n     * are partitioned across 128 threads.\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>   // or equivalently <cub/block/block_scan.cuh>\n     *\n     * __global__ void ExampleKernel(...)\n     * {\n     *     // Specialize BlockScan for a 1D block of 128 threads on type int\n     *     typedef cub::BlockScan<int, 128> BlockScan;\n     *\n     *     // Allocate shared memory for BlockScan\n     *     __shared__ typename BlockScan::TempStorage temp_storage;\n     *\n     *     // Obtain input item for each thread\n     *     int thread_data;\n     *     ...\n     *\n     *     // Collectively compute the block-wide inclusive prefix max scan\n     *     int block_aggregate;\n     *     BlockScan(temp_storage).InclusiveScan(thread_data, thread_data, cub::Max(), block_aggregate);\n     *\n     * \\endcode\n     * \\par\n     * Suppose the set of input \\p thread_data across the block of threads is <tt>0, -1, 2, -3, ..., 126, -127</tt>.  The\n     * corresponding output \\p thread_data in those threads will be <tt>0, 0, 2, 2, ..., 126, 126</tt>.\n     * Furthermore the value \\p 126 will be stored in \\p block_aggregate for all threads.\n     *\n     * \\tparam ScanOp   <b>[inferred]</b> Binary scan functor (e.g., an instance of cub::Sum, cub::Min, cub::Max, etc.) type having member <tt>T operator()(const T &a, const T &b)</tt>\n     */\n    template <typename ScanOp>\n    __device__ __forceinline__ void InclusiveScan(\n        T               input,                          ///< [in] Calling thread's input item\n        T               &output,                        ///< [out] Calling thread's output item (may be aliased to \\p input)\n        ScanOp          scan_op,                        ///< [in] Binary scan functor (e.g., an instance of cub::Sum, cub::Min, cub::Max, etc.)\n        T               &block_aggregate)               ///< [out] block-wide aggregate reduction of input items\n    {\n        InternalBlockScan(temp_storage).InclusiveScan(input, output, scan_op, block_aggregate);\n    }\n\n\n    /**\n     * \\brief Computes an inclusive block-wide prefix scan using the specified binary \\p scan_op functor.  Each thread contributes one input element.  the call-back functor \\p block_prefix_callback_op is invoked by the first warp in the block, and the value returned by <em>lane</em><sub>0</sub> in that warp is used as the \"seed\" value that logically prefixes the threadblock's scan inputs.  Also provides every thread with the block-wide \\p block_aggregate of all inputs.\n     *\n     * \\par\n     * - The \\p block_prefix_callback_op functor must implement a member function <tt>T operator()(T block_aggregate)</tt>.\n     *   The functor's input parameter \\p block_aggregate is the same value also returned by the scan operation.\n     *   The functor will be invoked by the first warp of threads in the block, however only the return value from\n     *   <em>lane</em><sub>0</sub> is applied as the block-wide prefix.  Can be stateful.\n     * - Supports non-commutative scan operators.\n     * - \\rowmajor\n     * - \\smemreuse\n     *\n     * \\par Snippet\n     * The code snippet below illustrates a single thread block that progressively\n     * computes an inclusive prefix max scan over multiple \"tiles\" of input using a\n     * prefix functor to maintain a running total between block-wide scans.  Each tile consists\n     * of 128 integer items that are partitioned across 128 threads.\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>   // or equivalently <cub/block/block_scan.cuh>\n     *\n     * // A stateful callback functor that maintains a running prefix to be applied\n     * // during consecutive scan operations.\n     * struct BlockPrefixCallbackOp\n     * {\n     *     // Running prefix\n     *     int running_total;\n     *\n     *     // Constructor\n     *     __device__ BlockPrefixCallbackOp(int running_total) : running_total(running_total) {}\n     *\n     *     // Callback operator to be entered by the first warp of threads in the block.\n     *     // Thread-0 is responsible for returning a value for seeding the block-wide scan.\n     *     __device__ int operator()(int block_aggregate)\n     *     {\n     *         int old_prefix = running_total;\n     *         running_total = (block_aggregate > old_prefix) ? block_aggregate : old_prefix;\n     *         return old_prefix;\n     *     }\n     * };\n     *\n     * __global__ void ExampleKernel(int *d_data, int num_items, ...)\n     * {\n     *     // Specialize BlockScan for a 1D block of 128 threads\n     *     typedef cub::BlockScan<int, 128> BlockScan;\n     *\n     *     // Allocate shared memory for BlockScan\n     *     __shared__ typename BlockScan::TempStorage temp_storage;\n     *\n     *     // Initialize running total\n     *     BlockPrefixCallbackOp prefix_op(INT_MIN);\n     *\n     *     // Have the block iterate over segments of items\n     *     for (int block_offset = 0; block_offset < num_items; block_offset += 128)\n     *     {\n     *         // Load a segment of consecutive items that are blocked across threads\n     *         int thread_data = d_data[block_offset];\n     *\n     *         // Collectively compute the block-wide inclusive prefix max scan\n     *         int block_aggregate;\n     *         BlockScan(temp_storage).InclusiveScan(\n     *             thread_data, thread_data, cub::Max(), block_aggregate, prefix_op);\n     *         __syncthreads();\n     *\n     *         // Store scanned items to output segment\n     *         d_data[block_offset] = thread_data;\n     *     }\n     * \\endcode\n     * \\par\n     * Suppose the input \\p d_data is <tt>0, -1, 2, -3, 4, -5, ...</tt>.\n     * The corresponding output for the first segment will be <tt>0, 0, 2, 2, ..., 126, 126</tt>.\n     * The output for the second segment will be <tt>128, 128, 130, 130, ..., 254, 254</tt>.  Furthermore,\n     * \\p block_aggregate will be assigned \\p 126 in all threads after the first scan, assigned \\p 254 after the second\n     * scan, etc.\n     *\n     * \\tparam ScanOp               <b>[inferred]</b> Binary scan functor (e.g., an instance of cub::Sum, cub::Min, cub::Max, etc.) type having member <tt>T operator()(const T &a, const T &b)</tt>\n     * \\tparam BlockPrefixCallbackOp        <b>[inferred]</b> Call-back functor type having member <tt>T operator()(T block_aggregate)</tt>\n     */\n    template <\n        typename ScanOp,\n        typename BlockPrefixCallbackOp>\n    __device__ __forceinline__ void InclusiveScan(\n        T                       input,                          ///< [in] Calling thread's input item\n        T                       &output,                        ///< [out] Calling thread's output item (may be aliased to \\p input)\n        ScanOp                  scan_op,                        ///< [in] Binary scan functor (e.g., an instance of cub::Sum, cub::Min, cub::Max, etc.)\n        T                       &block_aggregate,               ///< [out] block-wide aggregate reduction of input items (exclusive of the \\p block_prefix_callback_op value)\n        BlockPrefixCallbackOp   &block_prefix_callback_op)      ///< [in-out] <b>[<em>warp</em><sub>0</sub> only]</b> Call-back functor for specifying a block-wide prefix to be applied to all inputs.\n    {\n        InternalBlockScan(temp_storage).InclusiveScan(input, output, scan_op, block_aggregate, block_prefix_callback_op);\n    }\n\n\n    //@}  end member group\n    /******************************************************************//**\n     * \\name Inclusive prefix scan operations (multiple data per thread)\n     *********************************************************************/\n    //@{\n\n\n    /**\n     * \\brief Computes an inclusive block-wide prefix scan using the specified binary \\p scan_op functor.  Each thread contributes an array of consecutive input elements.\n     *\n     * \\par\n     * - Supports non-commutative scan operators.\n     * - \\blocked\n     * - \\granularity\n     * - \\smemreuse\n     *\n     * \\par Snippet\n     * The code snippet below illustrates an inclusive prefix max scan of 512 integer items that\n     * are partitioned in a [<em>blocked arrangement</em>](index.html#sec5sec3) across 128 threads\n     * where each thread owns 4 consecutive items.\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>   // or equivalently <cub/block/block_scan.cuh>\n     *\n     * __global__ void ExampleKernel(...)\n     * {\n     *     // Specialize BlockScan for a 1D block of 128 threads on type int\n     *     typedef cub::BlockScan<int, 128> BlockScan;\n     *\n     *     // Allocate shared memory for BlockScan\n     *     __shared__ typename BlockScan::TempStorage temp_storage;\n     *\n     *     // Obtain a segment of consecutive items that are blocked across threads\n     *     int thread_data[4];\n     *     ...\n     *\n     *     // Collectively compute the block-wide inclusive prefix max scan\n     *     BlockScan(temp_storage).InclusiveScan(thread_data, thread_data, cub::Max());\n     *\n     * \\endcode\n     * \\par\n     * Suppose the set of input \\p thread_data across the block of threads is <tt>{ [0,-1,2,-3], [4,-5,6,-7], ..., [508,-509,510,-511] }</tt>.  The\n     * corresponding output \\p thread_data in those threads will be <tt>{ [0,0,2,2], [4,4,6,6], ..., [508,508,510,510] }</tt>.\n     *\n     * \\tparam ITEMS_PER_THREAD     <b>[inferred]</b> The number of consecutive items partitioned onto each thread.\n     * \\tparam ScanOp               <b>[inferred]</b> Binary scan functor (e.g., an instance of cub::Sum, cub::Min, cub::Max, etc.) type having member <tt>T operator()(const T &a, const T &b)</tt>\n     */\n    template <\n        int             ITEMS_PER_THREAD,\n        typename        ScanOp>\n    __device__ __forceinline__ void InclusiveScan(\n        T               (&input)[ITEMS_PER_THREAD],     ///< [in] Calling thread's input items\n        T               (&output)[ITEMS_PER_THREAD],    ///< [out] Calling thread's output items (may be aliased to \\p input)\n        ScanOp          scan_op)                        ///< [in] Binary scan functor (e.g., an instance of cub::Sum, cub::Min, cub::Max, etc.)\n    {\n        if (ITEMS_PER_THREAD == 1)\n        {\n            InclusiveScan(input[0], output[0], scan_op);\n        }\n        else\n        {\n            // Reduce consecutive thread items in registers\n            T thread_partial = ThreadReduce(input, scan_op);\n\n            // Exclusive threadblock-scan\n            ExclusiveScan(thread_partial, thread_partial, scan_op);\n\n            // Inclusive scan in registers with prefix\n            ThreadScanInclusive(input, output, scan_op, thread_partial, (linear_tid != 0));\n        }\n    }\n\n\n    /**\n     * \\brief Computes an inclusive block-wide prefix scan using the specified binary \\p scan_op functor.  Each thread contributes an array of consecutive input elements.  Also provides every thread with the block-wide \\p block_aggregate of all inputs.\n     *\n     * \\par\n     * - Supports non-commutative scan operators.\n     * - \\blocked\n     * - \\granularity\n     * - \\smemreuse\n     *\n     * \\par Snippet\n     * The code snippet below illustrates an inclusive prefix max scan of 512 integer items that\n     * are partitioned in a [<em>blocked arrangement</em>](index.html#sec5sec3) across 128 threads\n     * where each thread owns 4 consecutive items.\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>   // or equivalently <cub/block/block_scan.cuh>\n     *\n     * __global__ void ExampleKernel(...)\n     * {\n     *     // Specialize BlockScan for a 1D block of 128 threads on type int\n     *     typedef cub::BlockScan<int, 128> BlockScan;\n     *\n     *     // Allocate shared memory for BlockScan\n     *     __shared__ typename BlockScan::TempStorage temp_storage;\n     *\n     *     // Obtain a segment of consecutive items that are blocked across threads\n     *     int thread_data[4];\n     *     ...\n     *\n     *     // Collectively compute the block-wide inclusive prefix max scan\n     *     int block_aggregate;\n     *     BlockScan(temp_storage).InclusiveScan(thread_data, thread_data, cub::Max(), block_aggregate);\n     *\n     * \\endcode\n     * \\par\n     * Suppose the set of input \\p thread_data across the block of threads is\n     * <tt>{ [0,-1,2,-3], [4,-5,6,-7], ..., [508,-509,510,-511] }</tt>.\n     * The corresponding output \\p thread_data in those threads will be\n     * <tt>{ [0,0,2,2], [4,4,6,6], ..., [508,508,510,510] }</tt>.\n     * Furthermore the value \\p 510 will be stored in \\p block_aggregate for all threads.\n     *\n     * \\tparam ITEMS_PER_THREAD     <b>[inferred]</b> The number of consecutive items partitioned onto each thread.\n     * \\tparam ScanOp               <b>[inferred]</b> Binary scan functor (e.g., an instance of cub::Sum, cub::Min, cub::Max, etc.) type having member <tt>T operator()(const T &a, const T &b)</tt>\n     */\n    template <\n        int             ITEMS_PER_THREAD,\n        typename         ScanOp>\n    __device__ __forceinline__ void InclusiveScan(\n        T               (&input)[ITEMS_PER_THREAD],     ///< [in] Calling thread's input items\n        T               (&output)[ITEMS_PER_THREAD],    ///< [out] Calling thread's output items (may be aliased to \\p input)\n        ScanOp          scan_op,                        ///< [in] Binary scan functor (e.g., an instance of cub::Sum, cub::Min, cub::Max, etc.)\n        T               &block_aggregate)               ///< [out] block-wide aggregate reduction of input items\n    {\n        if (ITEMS_PER_THREAD == 1)\n        {\n            InclusiveScan(input[0], output[0], scan_op, block_aggregate);\n        }\n        else\n        {\n            // Reduce consecutive thread items in registers\n            T thread_partial = ThreadReduce(input, scan_op);\n\n            // Exclusive threadblock-scan\n            ExclusiveScan(thread_partial, thread_partial, scan_op, block_aggregate);\n\n            // Inclusive scan in registers with prefix\n            ThreadScanInclusive(input, output, scan_op, thread_partial, (linear_tid != 0));\n        }\n    }\n\n\n    /**\n     * \\brief Computes an inclusive block-wide prefix scan using the specified binary \\p scan_op functor.  Each thread contributes an array of consecutive input elements.  the call-back functor \\p block_prefix_callback_op is invoked by the first warp in the block, and the value returned by <em>lane</em><sub>0</sub> in that warp is used as the \"seed\" value that logically prefixes the threadblock's scan inputs.  Also provides every thread with the block-wide \\p block_aggregate of all inputs.\n     *\n     * \\par\n     * - The \\p block_prefix_callback_op functor must implement a member function <tt>T operator()(T block_aggregate)</tt>.\n     *   The functor's input parameter \\p block_aggregate is the same value also returned by the scan operation.\n     *   The functor will be invoked by the first warp of threads in the block, however only the return value from\n     *   <em>lane</em><sub>0</sub> is applied as the block-wide prefix.  Can be stateful.\n     * - Supports non-commutative scan operators.\n     * - \\blocked\n     * - \\granularity\n     * - \\smemreuse\n     *\n     * \\par Snippet\n     * The code snippet below illustrates a single thread block that progressively\n     * computes an inclusive prefix max scan over multiple \"tiles\" of input using a\n     * prefix functor to maintain a running total between block-wide scans.  Each tile consists\n     * of 128 integer items that are partitioned across 128 threads.\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>   // or equivalently <cub/block/block_scan.cuh>\n     *\n     * // A stateful callback functor that maintains a running prefix to be applied\n     * // during consecutive scan operations.\n     * struct BlockPrefixCallbackOp\n     * {\n     *     // Running prefix\n     *     int running_total;\n     *\n     *     // Constructor\n     *     __device__ BlockPrefixCallbackOp(int running_total) : running_total(running_total) {}\n     *\n     *     // Callback operator to be entered by the first warp of threads in the block.\n     *     // Thread-0 is responsible for returning a value for seeding the block-wide scan.\n     *     __device__ int operator()(int block_aggregate)\n     *     {\n     *         int old_prefix = running_total;\n     *         running_total = (block_aggregate > old_prefix) ? block_aggregate : old_prefix;\n     *         return old_prefix;\n     *     }\n     * };\n     *\n     * __global__ void ExampleKernel(int *d_data, int num_items, ...)\n     * {\n     *     // Specialize BlockLoad, BlockStore, and BlockScan for a 1D block of 128 threads, 4 ints per thread\n     *     typedef cub::BlockLoad<int*, 128, 4, BLOCK_LOAD_TRANSPOSE>   BlockLoad;\n     *     typedef cub::BlockStore<int*, 128, 4, BLOCK_STORE_TRANSPOSE> BlockStore;\n     *     typedef cub::BlockScan<int, 128>                             BlockScan;\n     *\n     *     // Allocate aliased shared memory for BlockLoad, BlockStore, and BlockScan\n     *     __shared__ union {\n     *         typename BlockLoad::TempStorage     load;\n     *         typename BlockScan::TempStorage     scan;\n     *         typename BlockStore::TempStorage    store;\n     *     } temp_storage;\n     *\n     *     // Initialize running total\n     *     BlockPrefixCallbackOp prefix_op(0);\n     *\n     *     // Have the block iterate over segments of items\n     *     for (int block_offset = 0; block_offset < num_items; block_offset += 128 * 4)\n     *     {\n     *         // Load a segment of consecutive items that are blocked across threads\n     *         int thread_data[4];\n     *         BlockLoad(temp_storage.load).Load(d_data + block_offset, thread_data);\n     *         __syncthreads();\n     *\n     *         // Collectively compute the block-wide inclusive prefix max scan\n     *         int block_aggregate;\n     *         BlockScan(temp_storage.scan).InclusiveScan(\n     *             thread_data, thread_data, cub::Max(), block_aggregate, prefix_op);\n     *         __syncthreads();\n     *\n     *         // Store scanned items to output segment\n     *         BlockStore(temp_storage.store).Store(d_data + block_offset, thread_data);\n     *         __syncthreads();\n     *     }\n     * \\endcode\n     * \\par\n     * Suppose the input \\p d_data is <tt>0, -1, 2, -3, 4, -5, ...</tt>.\n     * The corresponding output for the first segment will be <tt>0, 0, 2, 2, 4, 4, ..., 510, 510</tt>.\n     * The output for the second segment will be <tt>512, 512, 514, 514, 516, 516, ..., 1022, 1022</tt>.  Furthermore,\n     * \\p block_aggregate will be assigned \\p 510 in all threads after the first scan, assigned \\p 1022 after the second\n     * scan, etc.\n     *\n     * \\tparam ITEMS_PER_THREAD         <b>[inferred]</b> The number of consecutive items partitioned onto each thread.\n     * \\tparam ScanOp                   <b>[inferred]</b> Binary scan functor (e.g., an instance of cub::Sum, cub::Min, cub::Max, etc.) type having member <tt>T operator()(const T &a, const T &b)</tt>\n     * \\tparam BlockPrefixCallbackOp    <b>[inferred]</b> Call-back functor type having member <tt>T operator()(T block_aggregate)</tt>\n     */\n    template <\n        int             ITEMS_PER_THREAD,\n        typename        ScanOp,\n        typename        BlockPrefixCallbackOp>\n    __device__ __forceinline__ void InclusiveScan(\n        T                       (&input)[ITEMS_PER_THREAD],     ///< [in] Calling thread's input items\n        T                       (&output)[ITEMS_PER_THREAD],    ///< [out] Calling thread's output items (may be aliased to \\p input)\n        ScanOp                  scan_op,                        ///< [in] Binary scan functor (e.g., an instance of cub::Sum, cub::Min, cub::Max, etc.)\n        T                       &block_aggregate,               ///< [out] block-wide aggregate reduction of input items (exclusive of the \\p block_prefix_callback_op value)\n        BlockPrefixCallbackOp   &block_prefix_callback_op)      ///< [in-out] <b>[<em>warp</em><sub>0</sub> only]</b> Call-back functor for specifying a block-wide prefix to be applied to all inputs.\n    {\n        if (ITEMS_PER_THREAD == 1)\n        {\n            InclusiveScan(input[0], output[0], scan_op, block_aggregate, block_prefix_callback_op);\n        }\n        else\n        {\n            // Reduce consecutive thread items in registers\n            T thread_partial = ThreadReduce(input, scan_op);\n\n            // Exclusive threadblock-scan\n            ExclusiveScan(thread_partial, thread_partial, scan_op, block_aggregate, block_prefix_callback_op);\n\n            // Inclusive scan in registers with prefix\n            ThreadScanInclusive(input, output, scan_op, thread_partial);\n        }\n    }\n\n    //@}  end member group\n\n\n};\n\n/**\n * \\example example_block_scan.cu\n */\n\n}               // CUB namespace\nCUB_NS_POSTFIX  // Optional outer namespace(s)\n\n"
  },
  {
    "path": "external/cub-1.3.2/cub/block/block_shift.cuh",
    "content": "/******************************************************************************\n * Copyright (c) 2011, Duane Merrill.  All rights reserved.\n * Copyright (c) 2011-2014, NVIDIA CORPORATION.  All rights reserved.\n * \n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *     * Redistributions of source code must retain the above copyright\n *       notice, this list of conditions and the following disclaimer.\n *     * Redistributions in binary form must reproduce the above copyright\n *       notice, this list of conditions and the following disclaimer in the\n *       documentation and/or other materials provided with the distribution.\n *     * Neither the name of the NVIDIA CORPORATION nor the\n *       names of its contributors may be used to endorse or promote products\n *       derived from this software without specific prior written permission.\n * \n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n ******************************************************************************/\n\n/**\n * \\file\n * The cub::BlockShift class provides [<em>collective</em>](index.html#sec0) methods for rearranging data partitioned across a CUDA thread block.\n */\n\n#pragma once\n\n#include \"../util_arch.cuh\"\n#include \"../util_ptx.cuh\"\n#include \"../util_macro.cuh\"\n#include \"../util_type.cuh\"\n#include \"../util_namespace.cuh\"\n\n/// Optional outer namespace(s)\nCUB_NS_PREFIX\n\n/// CUB namespace\nnamespace cub {\n\n/**\n * \\brief The BlockShift class provides [<em>collective</em>](index.html#sec0) methods for shifting data partitioned across a CUDA thread block. ![](transpose_logo.png)\n * \\ingroup BlockModule\n *\n * \\tparam T                    The data type to be exchanged.\n * \\tparam BLOCK_DIM_X          The thread block length in threads along the X dimension\n * \\tparam BLOCK_DIM_Y          <b>[optional]</b> The thread block length in threads along the Y dimension (default: 1)\n * \\tparam BLOCK_DIM_Z          <b>[optional]</b> The thread block length in threads along the Z dimension (default: 1)\n * \\tparam PTX_ARCH             <b>[optional]</b> \\ptxversion\n *\n * \\par Overview\n * It is commonplace for blocks of threads to rearrange data items between\n * threads.  The BlockShift abstraction allows threads to efficiently shift items\n * either (a) up to their successor or (b) down to their predecessor.\n *\n */\ntemplate <\n    typename            T,\n    int                 BLOCK_DIM_X,\n    int                 BLOCK_DIM_Y         = 1,\n    int                 BLOCK_DIM_Z         = 1,\n    int                 PTX_ARCH            = CUB_PTX_ARCH>\nclass BlockShift\n{\nprivate:\n\n    /******************************************************************************\n     * Constants\n     ******************************************************************************/\n\n    enum\n    {\n        BLOCK_THREADS               = BLOCK_DIM_X * BLOCK_DIM_Y * BLOCK_DIM_Z,\n\n        LOG_WARP_THREADS            = CUB_LOG_WARP_THREADS(PTX_ARCH),\n        WARP_THREADS                = 1 << LOG_WARP_THREADS,\n        WARPS                       = (BLOCK_THREADS + WARP_THREADS - 1) / WARP_THREADS,\n    };\n\n    /******************************************************************************\n     * Type definitions\n     ******************************************************************************/\n\n    /// Shared memory storage layout type\n    typedef typename If<(PTX_ARCH >= 300),\n        T[WARPS],                                   // Kepler+ only needs smem to share between warps\n        T[BLOCK_THREADS] >::Type _TempStorage;\n\npublic:\n\n    /// \\smemstorage{BlockShift}\n    struct TempStorage : Uninitialized<_TempStorage> {};\n\nprivate:\n\n\n    /******************************************************************************\n     * Thread fields\n     ******************************************************************************/\n\n    /// Shared storage reference\n    _TempStorage &temp_storage;\n\n    /// Linear thread-id\n    int linear_tid;\n    int lane_id;\n    int warp_id;\n\n\n    /******************************************************************************\n     * Utility methods\n     ******************************************************************************/\n\n    /// Internal storage allocator\n    __device__ __forceinline__ _TempStorage& PrivateStorage()\n    {\n        __shared__ _TempStorage private_storage;\n        return private_storage;\n    }\n\n\npublic:\n\n    /******************************************************************//**\n     * \\name Collective constructors\n     *********************************************************************/\n    //@{\n\n    /**\n     * \\brief Collective constructor using a private static allocation of shared memory as temporary storage.\n     */\n    __device__ __forceinline__ BlockShift()\n    :\n        temp_storage(PrivateStorage()),\n        linear_tid(RowMajorTid(BLOCK_DIM_X, BLOCK_DIM_Y, BLOCK_DIM_Z)),\n        warp_id((WARPS == 1) ? 0 : linear_tid / WARP_THREADS),\n        lane_id(LaneId())\n    {}\n\n\n    /**\n     * \\brief Collective constructor using the specified memory allocation as temporary storage.\n     */\n    __device__ __forceinline__ BlockShift(\n        TempStorage &temp_storage)             ///< [in] Reference to memory allocation having layout type TempStorage\n    :\n        temp_storage(temp_storage.Alias()),\n        linear_tid(RowMajorTid(BLOCK_DIM_X, BLOCK_DIM_Y, BLOCK_DIM_Z)),\n        warp_id((WARPS == 1) ? 0 : linear_tid / WARP_THREADS),\n        lane_id(LaneId())\n    {}\n\n\n    //@}  end member group\n    /******************************************************************//**\n     * \\name Shift exchanges\n     *********************************************************************/\n    //@{\n\n\n    /**\n     * \\brief Each thread obtains the \\p input provided by its predecessor.  The first thread receives \\p block_prefix.\n     *\n     * \\par\n     * - \\smemreuse\n     */\n    __device__ __forceinline__ void Up(\n        T input,            ///< [in] Input item\n        T &output,          ///< [out] Output item\n        T block_prefix)     ///< [in] Prefix item to be provided to <em>thread</em><sub>0</sub>\n    {\n#if CUB_PTX_ARCH >= 300\n        if (lane_id == WARP_THREADS - 1)\n            temp_storage[warp_id] = input;\n\n        __syncthreads();\n\n        output = ShuffleUp(input, 1);\n        if (lane_id == 0)\n        {\n            output = (linear_tid == 0) ?\n                block_prefix :\n                temp_storage[warp_id - 1];\n        }\n#else\n        temp_storage[linear_tid] = input;\n\n        __syncthreads();\n\n        output = (linear_tid == 0) ?\n            block_prefix :\n            temp_storage[linear_tid - 1];\n#endif\n    }\n\n\n    /**\n     * \\brief Each thread receives the \\p input provided by its predecessor.  The first thread receives \\p block_prefix.  All threads receive the \\p input provided by <em>thread</em><sub><tt>BLOCK_THREADS-1</tt></sub>.\n     *\n     * \\par\n     * - \\smemreuse\n     */\n    __device__ __forceinline__ void Up(\n        T input,            ///< [in] Input item\n        T &output,          ///< [out] Output item\n        T block_prefix,     ///< [in] Prefix item to be provided to <em>thread</em><sub>0</sub>\n        T &block_suffix)    ///< [out] Suffix item shifted out by the <em>thread</em><sub><tt>BLOCK_THREADS-1</tt></sub> to be provided to all threads\n    {\n#if CUB_PTX_ARCH >= 300\n        if (lane_id == WARP_THREADS - 1)\n            temp_storage[warp_id] = input;\n\n        __syncthreads();\n\n        output = ShuffleUp(input, 1);\n        if (lane_id == 0)\n        {\n            output = (linear_tid == 0) ?\n                block_prefix :\n                temp_storage[warp_id - 1];\n        }\n        block_suffix = temp_storage[WARPS - 1];\n#else\n        temp_storage[linear_tid] = input;\n\n        __syncthreads();\n\n        output = (linear_tid == 0) ?\n            block_prefix :\n            temp_storage[linear_tid - 1];\n\n        block_suffix = temp_storage[BLOCK_THREADS - 1];\n#endif\n    }\n\n\n    /**\n     * \\brief Each thread obtains the \\p input provided by its successor.  The last thread receives \\p block_suffix.\n     *\n     * \\par\n     * - \\smemreuse\n     */\n    __device__ __forceinline__ void Down(\n        T input,            ///< [in] Input item\n        T &output,          ///< [out] Output item\n        T block_suffix)     ///< [in] Suffix item to be provided to <em>thread</em><sub><tt>BLOCK_THREADS-1</tt></sub>\n    {\n#if CUB_PTX_ARCH >= 300\n        if (lane_id == 0)\n            temp_storage[warp_id] = input;\n\n        __syncthreads();\n\n        output = ShuffleDown(input, 1);\n        if (lane_id == WARP_THREADS - 1)\n        {\n            output = (linear_tid == BLOCK_THREADS - 1) ?\n                block_suffix :\n                temp_storage[warp_id + 1];\n        }\n#else\n        temp_storage[linear_tid] = input;\n\n        __syncthreads();\n\n        output = (linear_tid == BLOCK_THREADS - 1) ?\n            block_suffix :\n            temp_storage[linear_tid + 1];\n#endif\n    }\n\n\n    /**\n     * \\brief Each thread obtains the \\p input provided by its successor.  The last thread receives \\p block_suffix.  All threads receive the \\p input provided by <em>thread</em><sub>0</sub>.\n     *\n     * \\par\n     * - \\smemreuse\n     */\n    __device__ __forceinline__ void Down(\n        T input,            ///< [in] Input item\n        T &output,          ///< [out] Output item\n        T block_suffix,     ///< [in] Suffix item to be provided to <em>thread</em><sub><tt>BLOCK_THREADS-1</tt></sub>\n        T &block_prefix)    ///< [out] Prefix item shifted out by the <em>thread</em><sub>0</sub> to be provided to all threads\n    {\n#if CUB_PTX_ARCH >= 300\n        if (lane_id == 0)\n            temp_storage[warp_id] = input;\n\n        __syncthreads();\n\n        output = ShuffleDown(input, 1);\n        if (lane_id == WARP_THREADS - 1)\n        {\n            output = (linear_tid == BLOCK_THREADS - 1) ?\n                block_suffix :\n                temp_storage[warp_id + 1];\n        }\n#else\n        temp_storage[linear_tid] = input;\n\n        __syncthreads();\n\n        output = (linear_tid == BLOCK_THREADS - 1) ?\n            block_suffix :\n            temp_storage[linear_tid + 1];\n#endif\n\n        block_prefix = temp_storage[0];\n    }\n\n    //@}  end member group\n\n\n};\n\n}               // CUB namespace\nCUB_NS_POSTFIX  // Optional outer namespace(s)\n\n"
  },
  {
    "path": "external/cub-1.3.2/cub/block/block_store.cuh",
    "content": "/******************************************************************************\n * Copyright (c) 2011, Duane Merrill.  All rights reserved.\n * Copyright (c) 2011-2014, NVIDIA CORPORATION.  All rights reserved.\n * \n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *     * Redistributions of source code must retain the above copyright\n *       notice, this list of conditions and the following disclaimer.\n *     * Redistributions in binary form must reproduce the above copyright\n *       notice, this list of conditions and the following disclaimer in the\n *       documentation and/or other materials provided with the distribution.\n *     * Neither the name of the NVIDIA CORPORATION nor the\n *       names of its contributors may be used to endorse or promote products\n *       derived from this software without specific prior written permission.\n * \n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n ******************************************************************************/\n\n/**\n * \\file\n * Operations for writing linear segments of data from the CUDA thread block\n */\n\n#pragma once\n\n#include <iterator>\n\n#include \"block_exchange.cuh\"\n#include \"../util_ptx.cuh\"\n#include \"../util_macro.cuh\"\n#include \"../util_type.cuh\"\n#include \"../util_namespace.cuh\"\n\n/// Optional outer namespace(s)\nCUB_NS_PREFIX\n\n/// CUB namespace\nnamespace cub {\n\n/**\n * \\addtogroup UtilIo\n * @{\n */\n\n\n/******************************************************************//**\n * \\name Blocked arrangement I/O (direct)\n *********************************************************************/\n//@{\n\n/**\n * \\brief Store a blocked arrangement of items across a thread block into a linear segment of items.\n *\n * \\blocked\n *\n * \\tparam T                    <b>[inferred]</b> The data type to store.\n * \\tparam ITEMS_PER_THREAD     <b>[inferred]</b> The number of consecutive items partitioned onto each thread.\n * \\tparam OutputIterator       <b>[inferred]</b> The random-access iterator type for output \\iterator.\n */\ntemplate <\n    typename            T,\n    int                 ITEMS_PER_THREAD,\n    typename            OutputIterator>\n__device__ __forceinline__ void StoreDirectBlocked(\n    int                 linear_tid,                 ///< [in] A suitable 1D thread-identifier for the calling thread (e.g., <tt>(threadIdx.y * blockDim.x) + linear_tid</tt> for 2D thread blocks)\n    OutputIterator      block_itr,                  ///< [in] The thread block's base output iterator for storing to\n    T                   (&items)[ITEMS_PER_THREAD]) ///< [in] Data to store\n{\n    // Store directly in thread-blocked order\n    #pragma unroll\n    for (int ITEM = 0; ITEM < ITEMS_PER_THREAD; ITEM++)\n    {\n        block_itr[(linear_tid * ITEMS_PER_THREAD) + ITEM] = items[ITEM];\n    }\n}\n\n\n/**\n * \\brief Store a blocked arrangement of items across a thread block into a linear segment of items, guarded by range\n *\n * \\blocked\n *\n * \\tparam T                    <b>[inferred]</b> The data type to store.\n * \\tparam ITEMS_PER_THREAD     <b>[inferred]</b> The number of consecutive items partitioned onto each thread.\n * \\tparam OutputIterator       <b>[inferred]</b> The random-access iterator type for output \\iterator.\n */\ntemplate <\n    typename            T,\n    int                 ITEMS_PER_THREAD,\n    typename            OutputIterator>\n__device__ __forceinline__ void StoreDirectBlocked(\n    int                 linear_tid,                 ///< [in] A suitable 1D thread-identifier for the calling thread (e.g., <tt>(threadIdx.y * blockDim.x) + linear_tid</tt> for 2D thread blocks)\n    OutputIterator      block_itr,                  ///< [in] The thread block's base output iterator for storing to\n    T                   (&items)[ITEMS_PER_THREAD], ///< [in] Data to store\n    int                 valid_items)                ///< [in] Number of valid items to write\n{\n    // Store directly in thread-blocked order\n    #pragma unroll\n    for (int ITEM = 0; ITEM < ITEMS_PER_THREAD; ITEM++)\n    {\n        if (ITEM + (linear_tid * ITEMS_PER_THREAD) < valid_items)\n        {\n            block_itr[(linear_tid * ITEMS_PER_THREAD) + ITEM] = items[ITEM];\n        }\n    }\n}\n\n\n/**\n * \\brief Store a blocked arrangement of items across a thread block into a linear segment of items.\n *\n * \\blocked\n *\n * The output offset (\\p block_ptr + \\p block_offset) must be quad-item aligned,\n * which is the default starting offset returned by \\p cudaMalloc()\n *\n * \\par\n * The following conditions will prevent vectorization and storing will fall back to cub::BLOCK_STORE_DIRECT:\n *   - \\p ITEMS_PER_THREAD is odd\n *   - The data type \\p T is not a built-in primitive or CUDA vector type (e.g., \\p short, \\p int2, \\p double, \\p float2, etc.)\n *\n * \\tparam T                    <b>[inferred]</b> The data type to store.\n * \\tparam ITEMS_PER_THREAD     <b>[inferred]</b> The number of consecutive items partitioned onto each thread.\n *\n */\ntemplate <\n    typename            T,\n    int                 ITEMS_PER_THREAD>\n__device__ __forceinline__ void StoreDirectBlockedVectorized(\n    int                 linear_tid,                 ///< [in] A suitable 1D thread-identifier for the calling thread (e.g., <tt>(threadIdx.y * blockDim.x) + linear_tid</tt> for 2D thread blocks)\n    T                   *block_ptr,                 ///< [in] Input pointer for storing from\n    T                   (&items)[ITEMS_PER_THREAD]) ///< [in] Data to store\n{\n    enum\n    {\n        // Maximum CUDA vector size is 4 elements\n        MAX_VEC_SIZE = CUB_MIN(4, ITEMS_PER_THREAD),\n\n        // Vector size must be a power of two and an even divisor of the items per thread\n        VEC_SIZE = ((((MAX_VEC_SIZE - 1) & MAX_VEC_SIZE) == 0) && ((ITEMS_PER_THREAD % MAX_VEC_SIZE) == 0)) ?\n            MAX_VEC_SIZE :\n            1,\n\n        VECTORS_PER_THREAD = ITEMS_PER_THREAD / VEC_SIZE,\n    };\n\n    // Vector type\n    typedef typename CubVector<T, VEC_SIZE>::Type Vector;\n\n    // Alias global pointer\n    Vector *block_ptr_vectors = reinterpret_cast<Vector *>(block_ptr);\n\n    // Alias pointers (use \"raw\" array here which should get optimized away to prevent conservative PTXAS lmem spilling)\n    Vector raw_vector[VECTORS_PER_THREAD];\n    T *raw_items = reinterpret_cast<T*>(raw_vector);\n\n    // Copy\n    #pragma unroll\n    for (int ITEM = 0; ITEM < ITEMS_PER_THREAD; ITEM++)\n    {\n        raw_items[ITEM] = items[ITEM];\n    }\n\n    // Direct-store using vector types\n    StoreDirectBlocked(linear_tid, block_ptr_vectors, raw_vector);\n}\n\n\n\n//@}  end member group\n/******************************************************************//**\n * \\name Striped arrangement I/O (direct)\n *********************************************************************/\n//@{\n\n\n/**\n * \\brief Store a striped arrangement of data across the thread block into a linear segment of items.\n *\n * \\striped\n *\n * \\tparam BLOCK_THREADS        The thread block size in threads\n * \\tparam T                    <b>[inferred]</b> The data type to store.\n * \\tparam ITEMS_PER_THREAD     <b>[inferred]</b> The number of consecutive items partitioned onto each thread.\n * \\tparam OutputIterator       <b>[inferred]</b> The random-access iterator type for output \\iterator.\n */\ntemplate <\n    int                 BLOCK_THREADS,\n    typename            T,\n    int                 ITEMS_PER_THREAD,\n    typename            OutputIterator>\n__device__ __forceinline__ void StoreDirectStriped(\n    int                 linear_tid,                 ///< [in] A suitable 1D thread-identifier for the calling thread (e.g., <tt>(threadIdx.y * blockDim.x) + linear_tid</tt> for 2D thread blocks)\n    OutputIterator      block_itr,                  ///< [in] The thread block's base output iterator for storing to\n    T                   (&items)[ITEMS_PER_THREAD]) ///< [in] Data to store\n{\n    // Store directly in striped order\n    #pragma unroll\n    for (int ITEM = 0; ITEM < ITEMS_PER_THREAD; ITEM++)\n    {\n        block_itr[(ITEM * BLOCK_THREADS) + linear_tid] = items[ITEM];\n    }\n}\n\n\n/**\n * \\brief Store a striped arrangement of data across the thread block into a linear segment of items, guarded by range\n *\n * \\striped\n *\n * \\tparam BLOCK_THREADS        The thread block size in threads\n * \\tparam T                    <b>[inferred]</b> The data type to store.\n * \\tparam ITEMS_PER_THREAD     <b>[inferred]</b> The number of consecutive items partitioned onto each thread.\n * \\tparam OutputIterator       <b>[inferred]</b> The random-access iterator type for output \\iterator.\n */\ntemplate <\n    int                 BLOCK_THREADS,\n    typename            T,\n    int                 ITEMS_PER_THREAD,\n    typename            OutputIterator>\n__device__ __forceinline__ void StoreDirectStriped(\n    int                 linear_tid,                 ///< [in] A suitable 1D thread-identifier for the calling thread (e.g., <tt>(threadIdx.y * blockDim.x) + linear_tid</tt> for 2D thread blocks)\n    OutputIterator      block_itr,                  ///< [in] The thread block's base output iterator for storing to\n    T                   (&items)[ITEMS_PER_THREAD], ///< [in] Data to store\n    int                 valid_items)                ///< [in] Number of valid items to write\n{\n    // Store directly in striped order\n    #pragma unroll\n    for (int ITEM = 0; ITEM < ITEMS_PER_THREAD; ITEM++)\n    {\n        if ((ITEM * BLOCK_THREADS) + linear_tid < valid_items)\n        {\n            block_itr[(ITEM * BLOCK_THREADS) + linear_tid] = items[ITEM];\n        }\n    }\n}\n\n\n\n//@}  end member group\n/******************************************************************//**\n * \\name Warp-striped arrangement I/O (direct)\n *********************************************************************/\n//@{\n\n\n/**\n * \\brief Store a warp-striped arrangement of data across the thread block into a linear segment of items.\n *\n * \\warpstriped\n *\n * \\par Usage Considerations\n * The number of threads in the thread block must be a multiple of the architecture's warp size.\n *\n * \\tparam T                    <b>[inferred]</b> The data type to store.\n * \\tparam ITEMS_PER_THREAD     <b>[inferred]</b> The number of consecutive items partitioned onto each thread.\n * \\tparam OutputIterator       <b>[inferred]</b> The random-access iterator type for output \\iterator.\n */\ntemplate <\n    typename            T,\n    int                 ITEMS_PER_THREAD,\n    typename            OutputIterator>\n__device__ __forceinline__ void StoreDirectWarpStriped(\n    int                 linear_tid,                 ///< [in] A suitable 1D thread-identifier for the calling thread (e.g., <tt>(threadIdx.y * blockDim.x) + linear_tid</tt> for 2D thread blocks)\n    OutputIterator      block_itr,                  ///< [in] The thread block's base output iterator for storing to\n    T                   (&items)[ITEMS_PER_THREAD]) ///< [out] Data to load\n{\n    int tid         = linear_tid & (CUB_PTX_WARP_THREADS - 1);\n    int wid         = linear_tid >> CUB_PTX_LOG_WARP_THREADS;\n    int warp_offset = wid * CUB_PTX_WARP_THREADS * ITEMS_PER_THREAD;\n\n    // Store directly in warp-striped order\n    #pragma unroll\n    for (int ITEM = 0; ITEM < ITEMS_PER_THREAD; ITEM++)\n    {\n        block_itr[warp_offset + tid + (ITEM * CUB_PTX_WARP_THREADS)] = items[ITEM];\n    }\n}\n\n\n/**\n * \\brief Store a warp-striped arrangement of data across the thread block into a linear segment of items, guarded by range\n *\n * \\warpstriped\n *\n * \\par Usage Considerations\n * The number of threads in the thread block must be a multiple of the architecture's warp size.\n *\n * \\tparam T                    <b>[inferred]</b> The data type to store.\n * \\tparam ITEMS_PER_THREAD     <b>[inferred]</b> The number of consecutive items partitioned onto each thread.\n * \\tparam OutputIterator       <b>[inferred]</b> The random-access iterator type for output \\iterator.\n */\ntemplate <\n    typename            T,\n    int                 ITEMS_PER_THREAD,\n    typename            OutputIterator>\n__device__ __forceinline__ void StoreDirectWarpStriped(\n    int                 linear_tid,                 ///< [in] A suitable 1D thread-identifier for the calling thread (e.g., <tt>(threadIdx.y * blockDim.x) + linear_tid</tt> for 2D thread blocks)\n    OutputIterator      block_itr,                  ///< [in] The thread block's base output iterator for storing to\n    T                   (&items)[ITEMS_PER_THREAD], ///< [in] Data to store\n    int                 valid_items)                ///< [in] Number of valid items to write\n{\n    int tid         = linear_tid & (CUB_PTX_WARP_THREADS - 1);\n    int wid         = linear_tid >> CUB_PTX_LOG_WARP_THREADS;\n    int warp_offset = wid * CUB_PTX_WARP_THREADS * ITEMS_PER_THREAD;\n\n    // Store directly in warp-striped order\n    #pragma unroll\n    for (int ITEM = 0; ITEM < ITEMS_PER_THREAD; ITEM++)\n    {\n        if (warp_offset + tid + (ITEM * CUB_PTX_WARP_THREADS) < valid_items)\n        {\n            block_itr[warp_offset + tid + (ITEM * CUB_PTX_WARP_THREADS)] = items[ITEM];\n        }\n    }\n}\n\n\n//@}  end member group\n\n\n/** @} */       // end group UtilIo\n\n\n//-----------------------------------------------------------------------------\n// Generic BlockStore abstraction\n//-----------------------------------------------------------------------------\n\n/**\n * \\brief cub::BlockStoreAlgorithm enumerates alternative algorithms for cub::BlockStore to write a blocked arrangement of items across a CUDA thread block to a linear segment of memory.\n */\nenum BlockStoreAlgorithm\n{\n    /**\n     * \\par Overview\n     *\n     * A [<em>blocked arrangement</em>](index.html#sec5sec3) of data is written\n     * directly to memory.  The thread block writes items in a parallel \"raking\" fashion:\n     * thread<sub><em>i</em></sub> writes the <em>i</em><sup>th</sup> segment of consecutive elements.\n     *\n     * \\par Performance Considerations\n     * - The utilization of memory transactions (coalescing) decreases as the\n     *   access stride between threads increases (i.e., the number items per thread).\n     */\n    BLOCK_STORE_DIRECT,\n\n    /**\n     * \\par Overview\n     *\n     * A [<em>blocked arrangement</em>](index.html#sec5sec3) of data is written directly\n     * to memory using CUDA's built-in vectorized stores as a coalescing optimization.\n     * The thread block writes items in a parallel \"raking\" fashion: thread<sub><em>i</em></sub> uses vector stores to\n     * write the <em>i</em><sup>th</sup> segment of consecutive elements.\n     *\n     * For example, <tt>st.global.v4.s32</tt> instructions will be generated when \\p T = \\p int and \\p ITEMS_PER_THREAD > 4.\n     *\n     * \\par Performance Considerations\n     * - The utilization of memory transactions (coalescing) remains high until the the\n     *   access stride between threads (i.e., the number items per thread) exceeds the\n     *   maximum vector store width (typically 4 items or 64B, whichever is lower).\n     * - The following conditions will prevent vectorization and writing will fall back to cub::BLOCK_STORE_DIRECT:\n     *   - \\p ITEMS_PER_THREAD is odd\n     *   - The \\p OutputIterator is not a simple pointer type\n     *   - The block output offset is not quadword-aligned\n     *   - The data type \\p T is not a built-in primitive or CUDA vector type (e.g., \\p short, \\p int2, \\p double, \\p float2, etc.)\n     */\n    BLOCK_STORE_VECTORIZE,\n\n    /**\n     * \\par Overview\n     * A [<em>blocked arrangement</em>](index.html#sec5sec3) is locally\n     * transposed into a [<em>striped arrangement</em>](index.html#sec5sec3)\n     * which is then written to memory.  More specifically, cub::BlockExchange\n     * used to locally reorder the items into a\n     * [<em>striped arrangement</em>](index.html#sec5sec3), after which the\n     * thread block writes items in a parallel \"strip-mining\" fashion: consecutive\n     * items owned by thread<sub><em>i</em></sub> are written to memory with\n     * stride \\p BLOCK_THREADS between them.\n     *\n     * \\par Performance Considerations\n     * - The utilization of memory transactions (coalescing) remains high regardless\n     *   of items written per thread.\n     * - The local reordering incurs slightly longer latencies and throughput than the\n     *   direct cub::BLOCK_STORE_DIRECT and cub::BLOCK_STORE_VECTORIZE alternatives.\n     */\n    BLOCK_STORE_TRANSPOSE,\n\n    /**\n     * \\par Overview\n     * A [<em>blocked arrangement</em>](index.html#sec5sec3) is locally\n     * transposed into a [<em>warp-striped arrangement</em>](index.html#sec5sec3)\n     * which is then written to memory.  More specifically, cub::BlockExchange used\n     * to locally reorder the items into a\n     * [<em>warp-striped arrangement</em>](index.html#sec5sec3), after which\n     * each warp writes its own contiguous segment in a parallel \"strip-mining\" fashion:\n     * consecutive items owned by lane<sub><em>i</em></sub> are written to memory\n     * with stride \\p WARP_THREADS between them.\n     *\n     * \\par Performance Considerations\n     * - The utilization of memory transactions (coalescing) remains high regardless\n     *   of items written per thread.\n     * - The local reordering incurs slightly longer latencies and throughput than the\n     *   direct cub::BLOCK_STORE_DIRECT and cub::BLOCK_STORE_VECTORIZE alternatives.\n     */\n    BLOCK_STORE_WARP_TRANSPOSE,\n};\n\n\n/**\n * \\brief The BlockStore class provides [<em>collective</em>](index.html#sec0) data movement methods for writing a [<em>blocked arrangement</em>](index.html#sec5sec3) of items partitioned across a CUDA thread block to a linear segment of memory.  ![](block_store_logo.png)\n * \\ingroup BlockModule\n * \\ingroup UtilIo\n *\n * \\tparam OutputIterator       The input iterator type \\iterator.\n * \\tparam BLOCK_DIM_X          The thread block length in threads along the X dimension\n * \\tparam ITEMS_PER_THREAD     The number of consecutive items partitioned onto each thread.\n * \\tparam ALGORITHM            <b>[optional]</b> cub::BlockStoreAlgorithm tuning policy enumeration.  default: cub::BLOCK_STORE_DIRECT.\n * \\tparam WARP_TIME_SLICING    <b>[optional]</b> Whether or not only one warp's worth of shared memory should be allocated and time-sliced among block-warps during any load-related data transpositions (versus each warp having its own storage). (default: false)\n * \\tparam BLOCK_DIM_Y          <b>[optional]</b> The thread block length in threads along the Y dimension (default: 1)\n * \\tparam BLOCK_DIM_Z          <b>[optional]</b> The thread block length in threads along the Z dimension (default: 1)\n * \\tparam PTX_ARCH             <b>[optional]</b> \\ptxversion\n *\n * \\par Overview\n * - The BlockStore class provides a single data movement abstraction that can be specialized\n *   to implement different cub::BlockStoreAlgorithm strategies.  This facilitates different\n *   performance policies for different architectures, data types, granularity sizes, etc.\n * - BlockStore can be optionally specialized by different data movement strategies:\n *   -# <b>cub::BLOCK_STORE_DIRECT</b>.  A [<em>blocked arrangement</em>](index.html#sec5sec3) of data is written\n *      directly to memory. [More...](\\ref cub::BlockStoreAlgorithm)\n *   -# <b>cub::BLOCK_STORE_VECTORIZE</b>.  A [<em>blocked arrangement</em>](index.html#sec5sec3)\n *      of data is written directly to memory using CUDA's built-in vectorized stores as a\n *      coalescing optimization.  [More...](\\ref cub::BlockStoreAlgorithm)\n *   -# <b>cub::BLOCK_STORE_TRANSPOSE</b>.  A [<em>blocked arrangement</em>](index.html#sec5sec3)\n *      is locally transposed into a [<em>striped arrangement</em>](index.html#sec5sec3) which is\n *      then written to memory.  [More...](\\ref cub::BlockStoreAlgorithm)\n *   -# <b>cub::BLOCK_STORE_WARP_TRANSPOSE</b>.  A [<em>blocked arrangement</em>](index.html#sec5sec3)\n *      is locally transposed into a [<em>warp-striped arrangement</em>](index.html#sec5sec3) which is\n *      then written to memory.  [More...](\\ref cub::BlockStoreAlgorithm)\n * - \\rowmajor\n *\n * \\par A Simple Example\n * \\blockcollective{BlockStore}\n * \\par\n * The code snippet below illustrates the storing of a \"blocked\" arrangement\n * of 512 integers across 128 threads (where each thread owns 4 consecutive items)\n * into a linear segment of memory.  The store is specialized for \\p BLOCK_STORE_WARP_TRANSPOSE,\n * meaning items are locally reordered among threads so that memory references will be\n * efficiently coalesced using a warp-striped access pattern.\n * \\par\n * \\code\n * #include <cub/cub.cuh>   // or equivalently <cub/block/block_store.cuh>\n *\n * __global__ void ExampleKernel(int *d_data, ...)\n * {\n *     // Specialize BlockStore for a 1D block of 128 threads owning 4 integer items each\n *     typedef cub::BlockStore<int*, 128, 4, BLOCK_STORE_WARP_TRANSPOSE> BlockStore;\n *\n *     // Allocate shared memory for BlockStore\n *     __shared__ typename BlockStore::TempStorage temp_storage;\n *\n *     // Obtain a segment of consecutive items that are blocked across threads\n *     int thread_data[4];\n *     ...\n *\n *     // Store items to linear memory\n *     int thread_data[4];\n *     BlockStore(temp_storage).Store(d_data, thread_data);\n *\n * \\endcode\n * \\par\n * Suppose the set of \\p thread_data across the block of threads is\n * <tt>{ [0,1,2,3], [4,5,6,7], ..., [508,509,510,511] }</tt>.\n * The output \\p d_data will be <tt>0, 1, 2, 3, 4, 5, ...</tt>.\n *\n */\ntemplate <\n    typename                OutputIterator,\n    int                     BLOCK_DIM_X,\n    int                     ITEMS_PER_THREAD,\n    BlockStoreAlgorithm     ALGORITHM           = BLOCK_STORE_DIRECT,\n    bool                    WARP_TIME_SLICING   = false,\n    int                     BLOCK_DIM_Y         = 1,\n    int                     BLOCK_DIM_Z         = 1,\n    int                     PTX_ARCH            = CUB_PTX_ARCH>\nclass BlockStore\n{\nprivate:\n    /******************************************************************************\n     * Constants and typed definitions\n     ******************************************************************************/\n\n    /// Constants\n    enum\n    {\n        /// The thread block size in threads\n        BLOCK_THREADS = BLOCK_DIM_X * BLOCK_DIM_Y * BLOCK_DIM_Z,\n    };\n\n    // Data type of input iterator\n    typedef typename std::iterator_traits<OutputIterator>::value_type T;\n\n\n    /******************************************************************************\n     * Algorithmic variants\n     ******************************************************************************/\n\n    /// Store helper\n    template <BlockStoreAlgorithm _POLICY, int DUMMY>\n    struct StoreInternal;\n\n\n    /**\n     * BLOCK_STORE_DIRECT specialization of store helper\n     */\n    template <int DUMMY>\n    struct StoreInternal<BLOCK_STORE_DIRECT, DUMMY>\n    {\n        /// Shared memory storage layout type\n        typedef NullType TempStorage;\n\n        /// Linear thread-id\n        int linear_tid;\n\n        /// Constructor\n        __device__ __forceinline__ StoreInternal(\n            TempStorage &temp_storage,\n            int linear_tid)\n        :\n            linear_tid(linear_tid)\n        {}\n\n        /// Store items into a linear segment of memory\n        __device__ __forceinline__ void Store(\n            OutputIterator      block_itr,                  ///< [in] The thread block's base output iterator for storing to\n            T                   (&items)[ITEMS_PER_THREAD]) ///< [in] Data to store\n        {\n            StoreDirectBlocked(linear_tid, block_itr, items);\n        }\n\n        /// Store items into a linear segment of memory, guarded by range\n        __device__ __forceinline__ void Store(\n            OutputIterator      block_itr,                  ///< [in] The thread block's base output iterator for storing to\n            T                   (&items)[ITEMS_PER_THREAD], ///< [in] Data to store\n            int                 valid_items)                ///< [in] Number of valid items to write\n        {\n            StoreDirectBlocked(linear_tid, block_itr, items, valid_items);\n        }\n    };\n\n\n    /**\n     * BLOCK_STORE_VECTORIZE specialization of store helper\n     */\n    template <int DUMMY>\n    struct StoreInternal<BLOCK_STORE_VECTORIZE, DUMMY>\n    {\n        /// Shared memory storage layout type\n        typedef NullType TempStorage;\n\n        /// Linear thread-id\n        int linear_tid;\n\n        /// Constructor\n        __device__ __forceinline__ StoreInternal(\n            TempStorage &temp_storage,\n            int linear_tid)\n        :\n            linear_tid(linear_tid)\n        {}\n\n        /// Store items into a linear segment of memory, specialized for native pointer types (attempts vectorization)\n        __device__ __forceinline__ void Store(\n            T                   *block_ptr,                 ///< [in] The thread block's base output iterator for storing to\n            T                   (&items)[ITEMS_PER_THREAD]) ///< [in] Data to store\n        {\n            StoreDirectBlockedVectorized(linear_tid, block_ptr, items);\n        }\n\n        /// Store items into a linear segment of memory, specialized for opaque input iterators (skips vectorization)\n        template <typename _OutputIterator>\n        __device__ __forceinline__ void Store(\n            _OutputIterator     block_itr,                  ///< [in] The thread block's base output iterator for storing to\n            T                   (&items)[ITEMS_PER_THREAD]) ///< [in] Data to store\n        {\n            StoreDirectBlocked(linear_tid, block_itr, items);\n        }\n\n        /// Store items into a linear segment of memory, guarded by range\n        __device__ __forceinline__ void Store(\n            OutputIterator      block_itr,                  ///< [in] The thread block's base output iterator for storing to\n            T                   (&items)[ITEMS_PER_THREAD], ///< [in] Data to store\n            int                 valid_items)                ///< [in] Number of valid items to write\n        {\n            StoreDirectBlocked(linear_tid, block_itr, items, valid_items);\n        }\n    };\n\n\n    /**\n     * BLOCK_STORE_TRANSPOSE specialization of store helper\n     */\n    template <int DUMMY>\n    struct StoreInternal<BLOCK_STORE_TRANSPOSE, DUMMY>\n    {\n        // BlockExchange utility type for keys\n        typedef BlockExchange<T, BLOCK_DIM_X, ITEMS_PER_THREAD, WARP_TIME_SLICING, BLOCK_DIM_Y, BLOCK_DIM_Z, PTX_ARCH> BlockExchange;\n\n        /// Shared memory storage layout type\n        typedef typename BlockExchange::TempStorage _TempStorage;\n\n        /// Alias wrapper allowing storage to be unioned\n        struct TempStorage : Uninitialized<_TempStorage> {};\n\n        /// Thread reference to shared storage\n        _TempStorage &temp_storage;\n\n        /// Linear thread-id\n        int linear_tid;\n\n        /// Constructor\n        __device__ __forceinline__ StoreInternal(\n            TempStorage &temp_storage,\n            int linear_tid)\n        :\n            temp_storage(temp_storage.Alias()),\n            linear_tid(linear_tid)\n        {}\n\n        /// Store items into a linear segment of memory\n        __device__ __forceinline__ void Store(\n            OutputIterator      block_itr,                  ///< [in] The thread block's base output iterator for storing to\n            T                   (&items)[ITEMS_PER_THREAD]) ///< [in] Data to store\n        {\n            BlockExchange(temp_storage).BlockedToStriped(items);\n            StoreDirectStriped<BLOCK_THREADS>(linear_tid, block_itr, items);\n        }\n\n        /// Store items into a linear segment of memory, guarded by range\n        __device__ __forceinline__ void Store(\n            OutputIterator    block_itr,                  ///< [in] The thread block's base output iterator for storing to\n            T                   (&items)[ITEMS_PER_THREAD], ///< [in] Data to store\n            int                 valid_items)                ///< [in] Number of valid items to write\n        {\n            BlockExchange(temp_storage).BlockedToStriped(items);\n            StoreDirectStriped<BLOCK_THREADS>(linear_tid, block_itr, items, valid_items);\n        }\n    };\n\n\n    /**\n     * BLOCK_STORE_WARP_TRANSPOSE specialization of store helper\n     */\n    template <int DUMMY>\n    struct StoreInternal<BLOCK_STORE_WARP_TRANSPOSE, DUMMY>\n    {\n        enum\n        {\n            WARP_THREADS = CUB_WARP_THREADS(PTX_ARCH)\n        };\n\n        // Assert BLOCK_THREADS must be a multiple of WARP_THREADS\n        CUB_STATIC_ASSERT((BLOCK_THREADS % WARP_THREADS == 0), \"BLOCK_THREADS must be a multiple of WARP_THREADS\");\n\n        // BlockExchange utility type for keys\n        typedef BlockExchange<T, BLOCK_DIM_X, ITEMS_PER_THREAD, WARP_TIME_SLICING, BLOCK_DIM_Y, BLOCK_DIM_Z, PTX_ARCH> BlockExchange;\n\n        /// Shared memory storage layout type\n        typedef typename BlockExchange::TempStorage _TempStorage;\n\n        /// Alias wrapper allowing storage to be unioned\n        struct TempStorage : Uninitialized<_TempStorage> {};\n\n        /// Thread reference to shared storage\n        _TempStorage &temp_storage;\n\n        /// Linear thread-id\n        int linear_tid;\n\n        /// Constructor\n        __device__ __forceinline__ StoreInternal(\n            TempStorage &temp_storage,\n            int linear_tid)\n        :\n            temp_storage(temp_storage.Alias()),\n            linear_tid(linear_tid)\n        {}\n\n        /// Store items into a linear segment of memory\n        __device__ __forceinline__ void Store(\n            OutputIterator    block_itr,                  ///< [in] The thread block's base output iterator for storing to\n            T                   (&items)[ITEMS_PER_THREAD]) ///< [in] Data to store\n        {\n            BlockExchange(temp_storage).BlockedToWarpStriped(items);\n            StoreDirectWarpStriped(linear_tid, block_itr, items);\n        }\n\n        /// Store items into a linear segment of memory, guarded by range\n        __device__ __forceinline__ void Store(\n            OutputIterator    block_itr,                  ///< [in] The thread block's base output iterator for storing to\n            T                   (&items)[ITEMS_PER_THREAD], ///< [in] Data to store\n            int                 valid_items)                ///< [in] Number of valid items to write\n        {\n            BlockExchange(temp_storage).BlockedToWarpStriped(items);\n            StoreDirectWarpStriped(linear_tid, block_itr, items, valid_items);\n        }\n    };\n\n    /******************************************************************************\n     * Type definitions\n     ******************************************************************************/\n\n    /// Internal load implementation to use\n    typedef StoreInternal<ALGORITHM, 0> InternalStore;\n\n\n    /// Shared memory storage layout type\n    typedef typename InternalStore::TempStorage _TempStorage;\n\n\n    /******************************************************************************\n     * Utility methods\n     ******************************************************************************/\n\n    /// Internal storage allocator\n    __device__ __forceinline__ _TempStorage& PrivateStorage()\n    {\n        __shared__ _TempStorage private_storage;\n        return private_storage;\n    }\n\n\n    /******************************************************************************\n     * Thread fields\n     ******************************************************************************/\n\n    /// Thread reference to shared storage\n    _TempStorage &temp_storage;\n\n    /// Linear thread-id\n    int linear_tid;\n\npublic:\n\n\n    /// \\smemstorage{BlockStore}\n    struct TempStorage : Uninitialized<_TempStorage> {};\n\n\n    /******************************************************************//**\n     * \\name Collective constructors\n     *********************************************************************/\n    //@{\n\n    /**\n     * \\brief Collective constructor using a private static allocation of shared memory as temporary storage.\n     */\n    __device__ __forceinline__ BlockStore()\n    :\n        temp_storage(PrivateStorage()),\n        linear_tid(RowMajorTid(BLOCK_DIM_X, BLOCK_DIM_Y, BLOCK_DIM_Z))\n    {}\n\n\n    /**\n     * \\brief Collective constructor using the specified memory allocation as temporary storage.\n     */\n    __device__ __forceinline__ BlockStore(\n        TempStorage &temp_storage)             ///< [in] Reference to memory allocation having layout type TempStorage\n    :\n        temp_storage(temp_storage.Alias()),\n        linear_tid(RowMajorTid(BLOCK_DIM_X, BLOCK_DIM_Y, BLOCK_DIM_Z))\n    {}\n\n\n    //@}  end member group\n    /******************************************************************//**\n     * \\name Data movement\n     *********************************************************************/\n    //@{\n\n\n    /**\n     * \\brief Store items into a linear segment of memory.\n     *\n     * \\par\n     * - \\blocked\n     * - \\smemreuse\n     *\n     * \\par Snippet\n     * The code snippet below illustrates the storing of a \"blocked\" arrangement\n     * of 512 integers across 128 threads (where each thread owns 4 consecutive items)\n     * into a linear segment of memory.  The store is specialized for \\p BLOCK_STORE_WARP_TRANSPOSE,\n     * meaning items are locally reordered among threads so that memory references will be\n     * efficiently coalesced using a warp-striped access pattern.\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>   // or equivalently <cub/block/block_store.cuh>\n     *\n     * __global__ void ExampleKernel(int *d_data, ...)\n     * {\n     *     // Specialize BlockStore for a 1D block of 128 threads owning 4 integer items each\n     *     typedef cub::BlockStore<int*, 128, 4, BLOCK_STORE_WARP_TRANSPOSE> BlockStore;\n     *\n     *     // Allocate shared memory for BlockStore\n     *     __shared__ typename BlockStore::TempStorage temp_storage;\n     *\n     *     // Obtain a segment of consecutive items that are blocked across threads\n     *     int thread_data[4];\n     *     ...\n     *\n     *     // Store items to linear memory\n     *     int thread_data[4];\n     *     BlockStore(temp_storage).Store(d_data, thread_data);\n     *\n     * \\endcode\n     * \\par\n     * Suppose the set of \\p thread_data across the block of threads is\n     * <tt>{ [0,1,2,3], [4,5,6,7], ..., [508,509,510,511] }</tt>.\n     * The output \\p d_data will be <tt>0, 1, 2, 3, 4, 5, ...</tt>.\n     *\n     */\n    __device__ __forceinline__ void Store(\n        OutputIterator      block_itr,                  ///< [in] The thread block's base output iterator for storing to\n        T                   (&items)[ITEMS_PER_THREAD]) ///< [in] Data to store\n    {\n        InternalStore(temp_storage, linear_tid).Store(block_itr, items);\n    }\n\n    /**\n     * \\brief Store items into a linear segment of memory, guarded by range.\n     *\n     * \\par\n     * - \\blocked\n     * - \\smemreuse\n     *\n     * \\par Snippet\n     * The code snippet below illustrates the guarded storing of a \"blocked\" arrangement\n     * of 512 integers across 128 threads (where each thread owns 4 consecutive items)\n     * into a linear segment of memory.  The store is specialized for \\p BLOCK_STORE_WARP_TRANSPOSE,\n     * meaning items are locally reordered among threads so that memory references will be\n     * efficiently coalesced using a warp-striped access pattern.\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>   // or equivalently <cub/block/block_store.cuh>\n     *\n     * __global__ void ExampleKernel(int *d_data, int valid_items, ...)\n     * {\n     *     // Specialize BlockStore for a 1D block of 128 threads owning 4 integer items each\n     *     typedef cub::BlockStore<int*, 128, 4, BLOCK_STORE_WARP_TRANSPOSE> BlockStore;\n     *\n     *     // Allocate shared memory for BlockStore\n     *     __shared__ typename BlockStore::TempStorage temp_storage;\n     *\n     *     // Obtain a segment of consecutive items that are blocked across threads\n     *     int thread_data[4];\n     *     ...\n     *\n     *     // Store items to linear memory\n     *     int thread_data[4];\n     *     BlockStore(temp_storage).Store(d_data, thread_data, valid_items);\n     *\n     * \\endcode\n     * \\par\n     * Suppose the set of \\p thread_data across the block of threads is\n     * <tt>{ [0,1,2,3], [4,5,6,7], ..., [508,509,510,511] }</tt> and \\p valid_items is \\p 5.\n     * The output \\p d_data will be <tt>0, 1, 2, 3, 4, ?, ?, ?, ...</tt>, with\n     * only the first two threads being unmasked to store portions of valid data.\n     *\n     */\n    __device__ __forceinline__ void Store(\n        OutputIterator      block_itr,                  ///< [in] The thread block's base output iterator for storing to\n        T                   (&items)[ITEMS_PER_THREAD], ///< [in] Data to store\n        int                 valid_items)                ///< [in] Number of valid items to write\n    {\n        InternalStore(temp_storage, linear_tid).Store(block_itr, items, valid_items);\n    }\n};\n\n\n}               // CUB namespace\nCUB_NS_POSTFIX  // Optional outer namespace(s)\n\n"
  },
  {
    "path": "external/cub-1.3.2/cub/block/specializations/block_histogram_atomic.cuh",
    "content": "/******************************************************************************\n * Copyright (c) 2011, Duane Merrill.  All rights reserved.\n * Copyright (c) 2011-2014, NVIDIA CORPORATION.  All rights reserved.\n * \n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *     * Redistributions of source code must retain the above copyright\n *       notice, this list of conditions and the following disclaimer.\n *     * Redistributions in binary form must reproduce the above copyright\n *       notice, this list of conditions and the following disclaimer in the\n *       documentation and/or other materials provided with the distribution.\n *     * Neither the name of the NVIDIA CORPORATION nor the\n *       names of its contributors may be used to endorse or promote products\n *       derived from this software without specific prior written permission.\n * \n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n ******************************************************************************/\n\n/**\n * \\file\n * The cub::BlockHistogramAtomic class provides atomic-based methods for constructing block-wide histograms from data samples partitioned across a CUDA thread block.\n */\n\n#pragma once\n\n#include \"../../util_namespace.cuh\"\n\n/// Optional outer namespace(s)\nCUB_NS_PREFIX\n\n/// CUB namespace\nnamespace cub {\n\n\n/**\n * \\brief The BlockHistogramAtomic class provides atomic-based methods for constructing block-wide histograms from data samples partitioned across a CUDA thread block.\n */\ntemplate <int BINS>\nstruct BlockHistogramAtomic\n{\n    /// Shared memory storage layout type\n    struct TempStorage {};\n\n\n    /// Constructor\n    __device__ __forceinline__ BlockHistogramAtomic(\n        TempStorage &temp_storage)\n    {}\n\n\n    /// Composite data onto an existing histogram\n    template <\n        typename            T,\n        typename            HistoCounter,\n        int                 ITEMS_PER_THREAD>\n    __device__ __forceinline__ void Composite(\n        T                   (&items)[ITEMS_PER_THREAD],     ///< [in] Calling thread's input values to histogram\n        HistoCounter        histogram[BINS])                 ///< [out] Reference to shared/global memory histogram\n    {\n        // Update histogram\n        #pragma unroll\n        for (int i = 0; i < ITEMS_PER_THREAD; ++i)\n        {\n              atomicAdd(histogram + items[i], 1);\n        }\n    }\n\n};\n\n}               // CUB namespace\nCUB_NS_POSTFIX  // Optional outer namespace(s)\n\n"
  },
  {
    "path": "external/cub-1.3.2/cub/block/specializations/block_histogram_sort.cuh",
    "content": "/******************************************************************************\n * Copyright (c) 2011, Duane Merrill.  All rights reserved.\n * Copyright (c) 2011-2014, NVIDIA CORPORATION.  All rights reserved.\n * \n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *     * Redistributions of source code must retain the above copyright\n *       notice, this list of conditions and the following disclaimer.\n *     * Redistributions in binary form must reproduce the above copyright\n *       notice, this list of conditions and the following disclaimer in the\n *       documentation and/or other materials provided with the distribution.\n *     * Neither the name of the NVIDIA CORPORATION nor the\n *       names of its contributors may be used to endorse or promote products\n *       derived from this software without specific prior written permission.\n * \n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n ******************************************************************************/\n\n/**\n * \\file\n * The cub::BlockHistogramSort class provides sorting-based methods for constructing block-wide histograms from data samples partitioned across a CUDA thread block.\n */\n\n#pragma once\n\n#include \"../../block/block_radix_sort.cuh\"\n#include \"../../block/block_discontinuity.cuh\"\n#include \"../../util_ptx.cuh\"\n#include \"../../util_namespace.cuh\"\n\n/// Optional outer namespace(s)\nCUB_NS_PREFIX\n\n/// CUB namespace\nnamespace cub {\n\n\n\n/**\n * \\brief The BlockHistogramSort class provides sorting-based methods for constructing block-wide histograms from data samples partitioned across a CUDA thread block.\n */\ntemplate <\n    typename    T,                  ///< Sample type\n    int         BLOCK_DIM_X,        ///< The thread block length in threads along the X dimension\n    int         ITEMS_PER_THREAD,   ///< The number of samples per thread\n    int         BINS,               ///< The number of bins into which histogram samples may fall\n    int         BLOCK_DIM_Y,        ///< The thread block length in threads along the Y dimension\n    int         BLOCK_DIM_Z,        ///< The thread block length in threads along the Z dimension\n    int         PTX_ARCH>           ///< The PTX compute capability for which to to specialize this collective\nstruct BlockHistogramSort\n{\n    /// Constants\n    enum\n    {\n        /// The thread block size in threads\n        BLOCK_THREADS = BLOCK_DIM_X * BLOCK_DIM_Y * BLOCK_DIM_Z,\n    };\n\n    // Parameterize BlockRadixSort type for our thread block\n    typedef BlockRadixSort<\n            T,\n            BLOCK_DIM_X,\n            ITEMS_PER_THREAD,\n            NullType,\n            4,\n            (PTX_ARCH >= 350) ? true : false,\n            BLOCK_SCAN_WARP_SCANS,\n            (PTX_ARCH >= 350) ? cudaSharedMemBankSizeEightByte : cudaSharedMemBankSizeFourByte,\n            BLOCK_DIM_Y,\n            BLOCK_DIM_Z,\n            PTX_ARCH>\n        BlockRadixSortT;\n\n    // Parameterize BlockDiscontinuity type for our thread block\n    typedef BlockDiscontinuity<\n            T,\n            BLOCK_DIM_X,\n            BLOCK_DIM_Y,\n            BLOCK_DIM_Z,\n            PTX_ARCH>\n        BlockDiscontinuityT;\n\n    /// Shared memory\n    union _TempStorage\n    {\n        // Storage for sorting bin values\n        typename BlockRadixSortT::TempStorage sort;\n\n        struct\n        {\n            // Storage for detecting discontinuities in the tile of sorted bin values\n            typename BlockDiscontinuityT::TempStorage flag;\n\n            // Storage for noting begin/end offsets of bin runs in the tile of sorted bin values\n            unsigned int run_begin[BINS];\n            unsigned int run_end[BINS];\n        };\n    };\n\n\n    /// Alias wrapper allowing storage to be unioned\n    struct TempStorage : Uninitialized<_TempStorage> {};\n\n\n    // Thread fields\n    _TempStorage &temp_storage;\n    int linear_tid;\n\n\n    /// Constructor\n    __device__ __forceinline__ BlockHistogramSort(\n        TempStorage     &temp_storage)\n    :\n        temp_storage(temp_storage.Alias()),\n        linear_tid(RowMajorTid(BLOCK_DIM_X, BLOCK_DIM_Y, BLOCK_DIM_Z))\n    {}\n\n\n    // Discontinuity functor\n    struct DiscontinuityOp\n    {\n        // Reference to temp_storage\n        _TempStorage &temp_storage;\n\n        // Constructor\n        __device__ __forceinline__ DiscontinuityOp(_TempStorage &temp_storage) :\n            temp_storage(temp_storage)\n        {}\n\n        // Discontinuity predicate\n        __device__ __forceinline__ bool operator()(const T &a, const T &b, unsigned int b_index)\n        {\n            if (a != b)\n            {\n                // Note the begin/end offsets in shared storage\n                temp_storage.run_begin[b] = b_index;\n                temp_storage.run_end[a] = b_index;\n\n                return true;\n            }\n            else\n            {\n                return false;\n            }\n        }\n    };\n\n\n    // Composite data onto an existing histogram\n    template <\n        typename            HistoCounter>\n    __device__ __forceinline__ void Composite(\n        T                   (&items)[ITEMS_PER_THREAD],     ///< [in] Calling thread's input values to histogram\n        HistoCounter        histogram[BINS])                 ///< [out] Reference to shared/global memory histogram\n    {\n        enum { TILE_SIZE = BLOCK_THREADS * ITEMS_PER_THREAD };\n\n        // Sort bytes in blocked arrangement\n        BlockRadixSortT(temp_storage.sort).Sort(items);\n\n        __syncthreads();\n\n        // Initialize the shared memory's run_begin and run_end for each bin\n        int histo_offset = 0;\n\n        #pragma unroll\n        for(; histo_offset + BLOCK_THREADS <= BINS; histo_offset += BLOCK_THREADS)\n        {\n            temp_storage.run_begin[histo_offset + linear_tid] = TILE_SIZE;\n            temp_storage.run_end[histo_offset + linear_tid] = TILE_SIZE;\n        }\n        // Finish up with guarded initialization if necessary\n        if ((BINS % BLOCK_THREADS != 0) && (histo_offset + linear_tid < BINS))\n        {\n            temp_storage.run_begin[histo_offset + linear_tid] = TILE_SIZE;\n            temp_storage.run_end[histo_offset + linear_tid] = TILE_SIZE;\n        }\n\n        __syncthreads();\n\n        int flags[ITEMS_PER_THREAD];    // unused\n\n        // Compute head flags to demarcate contiguous runs of the same bin in the sorted tile\n        DiscontinuityOp flag_op(temp_storage);\n        BlockDiscontinuityT(temp_storage.flag).FlagHeads(flags, items, flag_op);\n\n        // Update begin for first item\n        if (linear_tid == 0) temp_storage.run_begin[items[0]] = 0;\n\n        __syncthreads();\n\n        // Composite into histogram\n        histo_offset = 0;\n\n        #pragma unroll\n        for(; histo_offset + BLOCK_THREADS <= BINS; histo_offset += BLOCK_THREADS)\n        {\n            int thread_offset = histo_offset + linear_tid;\n            HistoCounter count = temp_storage.run_end[thread_offset] - temp_storage.run_begin[thread_offset];\n            histogram[thread_offset] += count;\n        }\n\n        // Finish up with guarded composition if necessary\n        if ((BINS % BLOCK_THREADS != 0) && (histo_offset + linear_tid < BINS))\n        {\n            int thread_offset = histo_offset + linear_tid;\n            HistoCounter count = temp_storage.run_end[thread_offset] - temp_storage.run_begin[thread_offset];\n            histogram[thread_offset] += count;\n        }\n    }\n\n};\n\n}               // CUB namespace\nCUB_NS_POSTFIX  // Optional outer namespace(s)\n\n"
  },
  {
    "path": "external/cub-1.3.2/cub/block/specializations/block_reduce_raking.cuh",
    "content": "/******************************************************************************\n * Copyright (c) 2011, Duane Merrill.  All rights reserved.\n * Copyright (c) 2011-2014, NVIDIA CORPORATION.  All rights reserved.\n * \n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *     * Redistributions of source code must retain the above copyright\n *       notice, this list of conditions and the following disclaimer.\n *     * Redistributions in binary form must reproduce the above copyright\n *       notice, this list of conditions and the following disclaimer in the\n *       documentation and/or other materials provided with the distribution.\n *     * Neither the name of the NVIDIA CORPORATION nor the\n *       names of its contributors may be used to endorse or promote products\n *       derived from this software without specific prior written permission.\n * \n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n ******************************************************************************/\n\n/**\n * \\file\n * cub::BlockReduceRaking provides raking-based methods of parallel reduction across a CUDA thread block.  Supports non-commutative reduction operators.\n */\n\n#pragma once\n\n#include \"../../block/block_raking_layout.cuh\"\n#include \"../../warp/warp_reduce.cuh\"\n#include \"../../thread/thread_reduce.cuh\"\n#include \"../../util_ptx.cuh\"\n#include \"../../util_namespace.cuh\"\n\n/// Optional outer namespace(s)\nCUB_NS_PREFIX\n\n/// CUB namespace\nnamespace cub {\n\n\n/**\n * \\brief BlockReduceRaking provides raking-based methods of parallel reduction across a CUDA thread block.  Supports non-commutative reduction operators.\n *\n * Supports non-commutative binary reduction operators.  Unlike commutative\n * reduction operators (e.g., addition), the application of a non-commutative\n * reduction operator (e.g, string concatenation) across a sequence of inputs must\n * honor the relative ordering of items and partial reductions when applying the\n * reduction operator.\n *\n * Compared to the implementation of BlockReduceRaking (which does not support\n * non-commutative operators), this implementation requires a few extra\n * rounds of inter-thread communication.\n */\ntemplate <\n    typename    T,              ///< Data type being reduced\n    int         BLOCK_DIM_X,    ///< The thread block length in threads along the X dimension\n    int         BLOCK_DIM_Y,    ///< The thread block length in threads along the Y dimension\n    int         BLOCK_DIM_Z,    ///< The thread block length in threads along the Z dimension\n    int         PTX_ARCH>       ///< The PTX compute capability for which to to specialize this collective\nstruct BlockReduceRaking\n{\n    /// Constants\n    enum\n    {\n        /// The thread block size in threads\n        BLOCK_THREADS = BLOCK_DIM_X * BLOCK_DIM_Y * BLOCK_DIM_Z,\n    };\n\n    /// Layout type for padded thread block raking grid\n    typedef BlockRakingLayout<T, BLOCK_THREADS, PTX_ARCH> BlockRakingLayout;\n\n    ///  WarpReduce utility type\n    typedef typename WarpReduce<T, BlockRakingLayout::RAKING_THREADS, PTX_ARCH>::InternalWarpReduce WarpReduce;\n\n    /// Constants\n    enum\n    {\n        /// Number of raking threads\n        RAKING_THREADS = BlockRakingLayout::RAKING_THREADS,\n\n        /// Number of raking elements per warp synchronous raking thread\n        SEGMENT_LENGTH = BlockRakingLayout::SEGMENT_LENGTH,\n\n        /// Cooperative work can be entirely warp synchronous\n        WARP_SYNCHRONOUS = (RAKING_THREADS == BLOCK_THREADS),\n\n        /// Whether or not warp-synchronous reduction should be unguarded (i.e., the warp-reduction elements is a power of two\n        WARP_SYNCHRONOUS_UNGUARDED = PowerOfTwo<RAKING_THREADS>::VALUE,\n\n        /// Whether or not accesses into smem are unguarded\n        RAKING_UNGUARDED = BlockRakingLayout::UNGUARDED,\n\n    };\n\n\n    /// Shared memory storage layout type\n    struct _TempStorage\n    {\n        typename WarpReduce::TempStorage            warp_storage;        ///< Storage for warp-synchronous reduction\n        typename BlockRakingLayout::TempStorage     raking_grid;         ///< Padded threadblock raking grid\n    };\n\n\n    /// Alias wrapper allowing storage to be unioned\n    struct TempStorage : Uninitialized<_TempStorage> {};\n\n\n    // Thread fields\n    _TempStorage &temp_storage;\n    int linear_tid;\n\n\n    /// Constructor\n    __device__ __forceinline__ BlockReduceRaking(\n        TempStorage &temp_storage)\n    :\n        temp_storage(temp_storage.Alias()),\n        linear_tid(RowMajorTid(BLOCK_DIM_X, BLOCK_DIM_Y, BLOCK_DIM_Z))\n    {}\n\n\n    template <bool FULL_TILE, typename ReductionOp, int ITERATION>\n    __device__ __forceinline__ T RakingReduction(\n        ReductionOp                 reduction_op,       ///< [in] Binary scan operator\n        T                           *raking_segment,\n        T                           partial,            ///< [in] <b>[<em>lane</em><sub>0</sub> only]</b> Warp-wide aggregate reduction of input items\n        int                         num_valid,          ///< [in] Number of valid elements (may be less than BLOCK_THREADS)\n        Int2Type<ITERATION>         iteration)\n    {\n        // Update partial if addend is in range\n        if ((FULL_TILE && RAKING_UNGUARDED) || ((linear_tid * SEGMENT_LENGTH) + ITERATION < num_valid))\n        {\n            T addend = raking_segment[ITERATION];\n            partial = reduction_op(partial, addend);\n        }\n        return RakingReduction<FULL_TILE>(reduction_op, raking_segment, partial, num_valid, Int2Type<ITERATION + 1>());\n    }\n\n    template <bool FULL_TILE, typename ReductionOp>\n    __device__ __forceinline__ T RakingReduction(\n        ReductionOp                 reduction_op,       ///< [in] Binary scan operator\n        T                           *raking_segment,\n        T                           partial,            ///< [in] <b>[<em>lane</em><sub>0</sub> only]</b> Warp-wide aggregate reduction of input items\n        int                         num_valid,          ///< [in] Number of valid elements (may be less than BLOCK_THREADS)\n        Int2Type<SEGMENT_LENGTH>    iteration)\n    {\n        return partial;\n    }\n\n\n    /// Computes a threadblock-wide reduction using addition (+) as the reduction operator. The first num_valid threads each contribute one reduction partial.  The return value is only valid for thread<sub>0</sub>.\n    template <bool FULL_TILE>\n    __device__ __forceinline__ T Sum(\n        T                   partial,            ///< [in] Calling thread's input partial reductions\n        int                 num_valid)          ///< [in] Number of valid elements (may be less than BLOCK_THREADS)\n    {\n        cub::Sum reduction_op;\n\n        if (WARP_SYNCHRONOUS)\n        {\n            // Short-circuit directly to warp synchronous reduction (unguarded if active threads is a power-of-two)\n            partial = WarpReduce(temp_storage.warp_storage).template Sum<FULL_TILE, SEGMENT_LENGTH>(\n                partial,\n                num_valid);\n        }\n        else\n        {\n            // Place partial into shared memory grid.\n            *BlockRakingLayout::PlacementPtr(temp_storage.raking_grid, linear_tid) = partial;\n\n            __syncthreads();\n\n            // Reduce parallelism to one warp\n            if (linear_tid < RAKING_THREADS)\n            {\n                // Raking reduction in grid\n                T *raking_segment = BlockRakingLayout::RakingPtr(temp_storage.raking_grid, linear_tid);\n                partial = raking_segment[0];\n\n                partial = RakingReduction<FULL_TILE>(reduction_op, raking_segment, partial, num_valid, Int2Type<1>());\n\n                partial = WarpReduce(temp_storage.warp_storage).template Sum<FULL_TILE && RAKING_UNGUARDED, SEGMENT_LENGTH>(\n                    partial,\n                    num_valid);\n            }\n        }\n\n        return partial;\n    }\n\n\n    /// Computes a threadblock-wide reduction using the specified reduction operator. The first num_valid threads each contribute one reduction partial.  The return value is only valid for thread<sub>0</sub>.\n    template <\n        bool                FULL_TILE,\n        typename            ReductionOp>\n    __device__ __forceinline__ T Reduce(\n        T                   partial,            ///< [in] Calling thread's input partial reductions\n        int                 num_valid,          ///< [in] Number of valid elements (may be less than BLOCK_THREADS)\n        ReductionOp         reduction_op)       ///< [in] Binary reduction operator\n    {\n        if (WARP_SYNCHRONOUS)\n        {\n            // Short-circuit directly to warp synchronous reduction (unguarded if active threads is a power-of-two)\n            partial = WarpReduce(temp_storage.warp_storage).template Reduce<FULL_TILE, SEGMENT_LENGTH>(\n                partial,\n                num_valid,\n                reduction_op);\n        }\n        else\n        {\n            // Place partial into shared memory grid.\n            *BlockRakingLayout::PlacementPtr(temp_storage.raking_grid, linear_tid) = partial;\n\n            __syncthreads();\n\n            // Reduce parallelism to one warp\n            if (linear_tid < RAKING_THREADS)\n            {\n                // Raking reduction in grid\n                T *raking_segment = BlockRakingLayout::RakingPtr(temp_storage.raking_grid, linear_tid);\n                partial = raking_segment[0];\n\n                partial = RakingReduction<FULL_TILE>(reduction_op, raking_segment, partial, num_valid, Int2Type<1>());\n\n                partial = WarpReduce(temp_storage.warp_storage).template Reduce<FULL_TILE && RAKING_UNGUARDED, SEGMENT_LENGTH>(\n                    partial,\n                    num_valid,\n                    reduction_op);\n            }\n        }\n\n        return partial;\n    }\n\n};\n\n}               // CUB namespace\nCUB_NS_POSTFIX  // Optional outer namespace(s)\n\n"
  },
  {
    "path": "external/cub-1.3.2/cub/block/specializations/block_reduce_raking_commutative_only.cuh",
    "content": "/******************************************************************************\n * Copyright (c) 2011, Duane Merrill.  All rights reserved.\n * Copyright (c) 2011-2014, NVIDIA CORPORATION.  All rights reserved.\n * \n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *     * Redistributions of source code must retain the above copyright\n *       notice, this list of conditions and the following disclaimer.\n *     * Redistributions in binary form must reproduce the above copyright\n *       notice, this list of conditions and the following disclaimer in the\n *       documentation and/or other materials provided with the distribution.\n *     * Neither the name of the NVIDIA CORPORATION nor the\n *       names of its contributors may be used to endorse or promote products\n *       derived from this software without specific prior written permission.\n * \n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n ******************************************************************************/\n\n/**\n * \\file\n * cub::BlockReduceRakingCommutativeOnly provides raking-based methods of parallel reduction across a CUDA thread block.  Does not support non-commutative reduction operators.\n */\n\n#pragma once\n\n#include \"block_reduce_raking.cuh\"\n#include \"../../warp/warp_reduce.cuh\"\n#include \"../../thread/thread_reduce.cuh\"\n#include \"../../util_ptx.cuh\"\n#include \"../../util_namespace.cuh\"\n\n/// Optional outer namespace(s)\nCUB_NS_PREFIX\n\n/// CUB namespace\nnamespace cub {\n\n\n/**\n * \\brief BlockReduceRakingCommutativeOnly provides raking-based methods of parallel reduction across a CUDA thread block.  Does not support non-commutative reduction operators.  Does not support block sizes that are not a multiple of the warp size.\n */\ntemplate <\n    typename    T,              ///< Data type being reduced\n    int         BLOCK_DIM_X,    ///< The thread block length in threads along the X dimension\n    int         BLOCK_DIM_Y,    ///< The thread block length in threads along the Y dimension\n    int         BLOCK_DIM_Z,    ///< The thread block length in threads along the Z dimension\n    int         PTX_ARCH>       ///< The PTX compute capability for which to to specialize this collective\nstruct BlockReduceRakingCommutativeOnly\n{\n    /// Constants\n    enum\n    {\n        /// The thread block size in threads\n        BLOCK_THREADS = BLOCK_DIM_X * BLOCK_DIM_Y * BLOCK_DIM_Z,\n    };\n\n    // The fall-back implementation to use when BLOCK_THREADS is not a multiple of the warp size or not all threads have valid values\n    typedef BlockReduceRaking<T, BLOCK_DIM_X, BLOCK_DIM_Y, BLOCK_DIM_Z, PTX_ARCH> FallBack;\n\n    /// Constants\n    enum\n    {\n        /// Number of warp threads\n        WARP_THREADS = CUB_WARP_THREADS(PTX_ARCH),\n\n        /// Whether or not to use fall-back\n        USE_FALLBACK = ((BLOCK_THREADS % WARP_THREADS != 0) || (BLOCK_THREADS <= WARP_THREADS)),\n\n        /// Number of raking threads\n        RAKING_THREADS = WARP_THREADS,\n\n        /// Number of threads actually sharing items with the raking threads\n        SHARING_THREADS = CUB_MAX(1, BLOCK_THREADS - RAKING_THREADS),\n\n        /// Number of raking elements per warp synchronous raking thread\n        SEGMENT_LENGTH = SHARING_THREADS / WARP_THREADS,\n    };\n\n    ///  WarpReduce utility type\n    typedef WarpReduce<T, RAKING_THREADS, PTX_ARCH> WarpReduce;\n\n    /// Layout type for padded thread block raking grid\n    typedef BlockRakingLayout<T, SHARING_THREADS, PTX_ARCH> BlockRakingLayout;\n\n    /// Shared memory storage layout type\n    struct _TempStorage\n    {\n        union\n        {\n            struct\n            {\n                typename WarpReduce::TempStorage        warp_storage;        ///< Storage for warp-synchronous reduction\n                typename BlockRakingLayout::TempStorage raking_grid;         ///< Padded threadblock raking grid\n            };\n            typename FallBack::TempStorage              fallback_storage;    ///< Fall-back storage for non-commutative block scan\n        };\n    };\n\n\n    /// Alias wrapper allowing storage to be unioned\n    struct TempStorage : Uninitialized<_TempStorage> {};\n\n\n    // Thread fields\n    _TempStorage &temp_storage;\n    int linear_tid;\n\n\n    /// Constructor\n    __device__ __forceinline__ BlockReduceRakingCommutativeOnly(\n        TempStorage &temp_storage)\n    :\n        temp_storage(temp_storage.Alias()),\n        linear_tid(RowMajorTid(BLOCK_DIM_X, BLOCK_DIM_Y, BLOCK_DIM_Z))\n    {}\n\n\n    /// Computes a threadblock-wide reduction using addition (+) as the reduction operator. The first num_valid threads each contribute one reduction partial.  The return value is only valid for thread<sub>0</sub>.\n    template <bool FULL_TILE>\n    __device__ __forceinline__ T Sum(\n        T                   partial,            ///< [in] Calling thread's input partial reductions\n        int                 num_valid)          ///< [in] Number of valid elements (may be less than BLOCK_THREADS)\n    {\n        if (USE_FALLBACK || !FULL_TILE)\n        {\n            return FallBack(temp_storage.fallback_storage).template Sum<FULL_TILE>(partial, num_valid);\n        }\n        else\n        {\n            // Place partial into shared memory grid\n            if (linear_tid >= RAKING_THREADS)\n                *BlockRakingLayout::PlacementPtr(temp_storage.raking_grid, linear_tid - RAKING_THREADS) = partial;\n\n            __syncthreads();\n\n            // Reduce parallelism to one warp\n            if (linear_tid < RAKING_THREADS)\n            {\n                // Raking reduction in grid\n                T *raking_segment = BlockRakingLayout::RakingPtr(temp_storage.raking_grid, linear_tid);\n                partial = ThreadReduce<SEGMENT_LENGTH>(raking_segment, cub::Sum(), partial);\n\n                // Warpscan\n                partial = WarpReduce(temp_storage.warp_storage).Sum(partial);\n            }\n        }\n\n        return partial;\n    }\n\n\n    /// Computes a threadblock-wide reduction using the specified reduction operator. The first num_valid threads each contribute one reduction partial.  The return value is only valid for thread<sub>0</sub>.\n    template <\n        bool                FULL_TILE,\n        typename            ReductionOp>\n    __device__ __forceinline__ T Reduce(\n        T                   partial,            ///< [in] Calling thread's input partial reductions\n        int                 num_valid,          ///< [in] Number of valid elements (may be less than BLOCK_THREADS)\n        ReductionOp         reduction_op)       ///< [in] Binary reduction operator\n    {\n        if (USE_FALLBACK || !FULL_TILE)\n        {\n            return FallBack(temp_storage.fallback_storage).template Reduce<FULL_TILE>(partial, num_valid, reduction_op);\n        }\n        else\n        {\n            // Place partial into shared memory grid\n            if (linear_tid >= RAKING_THREADS)\n                *BlockRakingLayout::PlacementPtr(temp_storage.raking_grid, linear_tid - RAKING_THREADS) = partial;\n\n            __syncthreads();\n\n            // Reduce parallelism to one warp\n            if (linear_tid < RAKING_THREADS)\n            {\n                // Raking reduction in grid\n                T *raking_segment = BlockRakingLayout::RakingPtr(temp_storage.raking_grid, linear_tid);\n                partial = ThreadReduce<SEGMENT_LENGTH>(raking_segment, reduction_op, partial);\n\n                // Warpscan\n                partial = WarpReduce(temp_storage.warp_storage).Reduce(partial, reduction_op);\n            }\n        }\n\n        return partial;\n    }\n\n};\n\n}               // CUB namespace\nCUB_NS_POSTFIX  // Optional outer namespace(s)\n\n"
  },
  {
    "path": "external/cub-1.3.2/cub/block/specializations/block_reduce_warp_reductions.cuh",
    "content": "/******************************************************************************\n * Copyright (c) 2011, Duane Merrill.  All rights reserved.\n * Copyright (c) 2011-2014, NVIDIA CORPORATION.  All rights reserved.\n * \n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *     * Redistributions of source code must retain the above copyright\n *       notice, this list of conditions and the following disclaimer.\n *     * Redistributions in binary form must reproduce the above copyright\n *       notice, this list of conditions and the following disclaimer in the\n *       documentation and/or other materials provided with the distribution.\n *     * Neither the name of the NVIDIA CORPORATION nor the\n *       names of its contributors may be used to endorse or promote products\n *       derived from this software without specific prior written permission.\n * \n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n ******************************************************************************/\n\n/**\n * \\file\n * cub::BlockReduceWarpReductions provides variants of warp-reduction-based parallel reduction across a CUDA threadblock.  Supports non-commutative reduction operators.\n */\n\n#pragma once\n\n#include \"../../warp/warp_reduce.cuh\"\n#include \"../../util_ptx.cuh\"\n#include \"../../util_arch.cuh\"\n#include \"../../util_namespace.cuh\"\n\n/// Optional outer namespace(s)\nCUB_NS_PREFIX\n\n/// CUB namespace\nnamespace cub {\n\n\n/**\n * \\brief BlockReduceWarpReductions provides variants of warp-reduction-based parallel reduction across a CUDA threadblock.  Supports non-commutative reduction operators.\n */\ntemplate <\n    typename    T,              ///< Data type being reduced\n    int         BLOCK_DIM_X,    ///< The thread block length in threads along the X dimension\n    int         BLOCK_DIM_Y,    ///< The thread block length in threads along the Y dimension\n    int         BLOCK_DIM_Z,    ///< The thread block length in threads along the Z dimension\n    int         PTX_ARCH>       ///< The PTX compute capability for which to to specialize this collective\nstruct BlockReduceWarpReductions\n{\n    /// Constants\n    enum\n    {\n        /// The thread block size in threads\n        BLOCK_THREADS = BLOCK_DIM_X * BLOCK_DIM_Y * BLOCK_DIM_Z,\n\n        /// Number of warp threads\n        WARP_THREADS = CUB_WARP_THREADS(PTX_ARCH),\n\n        /// Number of active warps\n        WARPS = (BLOCK_THREADS + WARP_THREADS - 1) / WARP_THREADS,\n\n        /// The logical warp size for warp reductions\n        LOGICAL_WARP_SIZE = CUB_MIN(BLOCK_THREADS, WARP_THREADS),\n\n        /// Whether or not the logical warp size evenly divides the threadblock size\n        EVEN_WARP_MULTIPLE = (BLOCK_THREADS % LOGICAL_WARP_SIZE == 0)\n    };\n\n\n    ///  WarpReduce utility type\n    typedef typename WarpReduce<T, LOGICAL_WARP_SIZE, PTX_ARCH>::InternalWarpReduce WarpReduce;\n\n\n    /// Shared memory storage layout type\n    struct _TempStorage\n    {\n        typename WarpReduce::TempStorage    warp_reduce[WARPS];                ///< Buffer for warp-synchronous scan\n        T                                   warp_aggregates[WARPS];     ///< Shared totals from each warp-synchronous scan\n        T                                   block_prefix;               ///< Shared prefix for the entire threadblock\n    };\n\n    /// Alias wrapper allowing storage to be unioned\n    struct TempStorage : Uninitialized<_TempStorage> {};\n\n\n    // Thread fields\n    _TempStorage &temp_storage;\n    int linear_tid;\n    int warp_id;\n    int lane_id;\n\n\n    /// Constructor\n    __device__ __forceinline__ BlockReduceWarpReductions(\n        TempStorage &temp_storage)\n    :\n        temp_storage(temp_storage.Alias()),\n        linear_tid(RowMajorTid(BLOCK_DIM_X, BLOCK_DIM_Y, BLOCK_DIM_Z)),\n        warp_id((WARPS == 1) ? 0 : linear_tid / WARP_THREADS),\n        lane_id(LaneId())\n    {}\n\n\n    template <bool FULL_TILE, typename ReductionOp, int SUCCESSOR_WARP>\n    __device__ __forceinline__ T ApplyWarpAggregates(\n        ReductionOp                 reduction_op,       ///< [in] Binary scan operator\n        T                           warp_aggregate,     ///< [in] <b>[<em>lane</em><sub>0</sub> only]</b> Warp-wide aggregate reduction of input items\n        int                         num_valid,          ///< [in] Number of valid elements (may be less than BLOCK_THREADS)\n        Int2Type<SUCCESSOR_WARP>    successor_warp)\n    {\n        if (FULL_TILE || (SUCCESSOR_WARP * LOGICAL_WARP_SIZE < num_valid))\n        {\n            T addend = temp_storage.warp_aggregates[SUCCESSOR_WARP];\n            warp_aggregate = reduction_op(warp_aggregate, addend);\n        }\n        return ApplyWarpAggregates<FULL_TILE>(reduction_op, warp_aggregate, num_valid, Int2Type<SUCCESSOR_WARP + 1>());\n    }\n\n    template <bool FULL_TILE, typename ReductionOp>\n    __device__ __forceinline__ T ApplyWarpAggregates(\n        ReductionOp         reduction_op,       ///< [in] Binary scan operator\n        T                   warp_aggregate,     ///< [in] <b>[<em>lane</em><sub>0</sub> only]</b> Warp-wide aggregate reduction of input items\n        int                 num_valid,          ///< [in] Number of valid elements (may be less than BLOCK_THREADS)\n        Int2Type<WARPS>     successor_warp)\n    {\n        return warp_aggregate;\n    }\n\n\n    /// Returns block-wide aggregate in <em>thread</em><sub>0</sub>.\n    template <\n        bool                FULL_TILE,\n        typename            ReductionOp>\n    __device__ __forceinline__ T ApplyWarpAggregates(\n        ReductionOp         reduction_op,       ///< [in] Binary scan operator\n        T                   warp_aggregate,     ///< [in] <b>[<em>lane</em><sub>0</sub> only]</b> Warp-wide aggregate reduction of input items\n        int                 num_valid)          ///< [in] Number of valid elements (may be less than BLOCK_THREADS)\n    {\n        // Share lane aggregates\n        if (lane_id == 0)\n        {\n            temp_storage.warp_aggregates[warp_id] = warp_aggregate;\n        }\n\n        __syncthreads();\n\n        // Update total aggregate in warp 0, lane 0\n        if (linear_tid == 0)\n        {\n            warp_aggregate = ApplyWarpAggregates<FULL_TILE>(reduction_op, warp_aggregate, num_valid, Int2Type<1>());\n        }\n\n        return warp_aggregate;\n    }\n\n\n    /// Computes a threadblock-wide reduction using addition (+) as the reduction operator. The first num_valid threads each contribute one reduction partial.  The return value is only valid for thread<sub>0</sub>.\n    template <bool FULL_TILE>\n    __device__ __forceinline__ T Sum(\n        T                   input,          ///< [in] Calling thread's input partial reductions\n        int                 num_valid)      ///< [in] Number of valid elements (may be less than BLOCK_THREADS)\n    {\n        cub::Sum     reduction_op;\n        unsigned int    warp_offset = warp_id * LOGICAL_WARP_SIZE;\n        unsigned int    warp_num_valid = (FULL_TILE && EVEN_WARP_MULTIPLE) ?\n                            LOGICAL_WARP_SIZE :\n                            (warp_offset < num_valid) ?\n                                num_valid - warp_offset :\n                                0;\n\n        // Warp reduction in every warp\n        T warp_aggregate = WarpReduce(temp_storage.warp_reduce[warp_id]).template Sum<(FULL_TILE && EVEN_WARP_MULTIPLE), 1>(\n            input,\n            warp_num_valid);\n\n        // Update outputs and block_aggregate with warp-wide aggregates from lane-0s\n        return ApplyWarpAggregates<FULL_TILE>(reduction_op, warp_aggregate, num_valid);\n    }\n\n\n    /// Computes a threadblock-wide reduction using the specified reduction operator. The first num_valid threads each contribute one reduction partial.  The return value is only valid for thread<sub>0</sub>.\n    template <\n        bool                FULL_TILE,\n        typename            ReductionOp>\n    __device__ __forceinline__ T Reduce(\n        T                   input,              ///< [in] Calling thread's input partial reductions\n        int                 num_valid,          ///< [in] Number of valid elements (may be less than BLOCK_THREADS)\n        ReductionOp         reduction_op)       ///< [in] Binary reduction operator\n    {\n        unsigned int    warp_id = (WARPS == 1) ? 0 : (linear_tid / LOGICAL_WARP_SIZE);\n        unsigned int    warp_offset = warp_id * LOGICAL_WARP_SIZE;\n        unsigned int    warp_num_valid = (FULL_TILE && EVEN_WARP_MULTIPLE) ?\n                            LOGICAL_WARP_SIZE :\n                            (warp_offset < num_valid) ?\n                                num_valid - warp_offset :\n                                0;\n\n        // Warp reduction in every warp\n        T warp_aggregate = WarpReduce(temp_storage.warp_reduce[warp_id]).template Reduce<(FULL_TILE && EVEN_WARP_MULTIPLE), 1>(\n            input,\n            warp_num_valid,\n            reduction_op);\n\n        // Update outputs and block_aggregate with warp-wide aggregates from lane-0s\n        return ApplyWarpAggregates<FULL_TILE>(reduction_op, warp_aggregate, num_valid);\n    }\n\n};\n\n\n}               // CUB namespace\nCUB_NS_POSTFIX  // Optional outer namespace(s)\n\n"
  },
  {
    "path": "external/cub-1.3.2/cub/block/specializations/block_scan_raking.cuh",
    "content": "/******************************************************************************\n * Copyright (c) 2011, Duane Merrill.  All rights reserved.\n * Copyright (c) 2011-2014, NVIDIA CORPORATION.  All rights reserved.\n * \n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *     * Redistributions of source code must retain the above copyright\n *       notice, this list of conditions and the following disclaimer.\n *     * Redistributions in binary form must reproduce the above copyright\n *       notice, this list of conditions and the following disclaimer in the\n *       documentation and/or other materials provided with the distribution.\n *     * Neither the name of the NVIDIA CORPORATION nor the\n *       names of its contributors may be used to endorse or promote products\n *       derived from this software without specific prior written permission.\n * \n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n ******************************************************************************/\n\n\n/**\n * \\file\n * cub::BlockScanRaking provides variants of raking-based parallel prefix scan across a CUDA threadblock.\n */\n\n#pragma once\n\n#include \"../../util_ptx.cuh\"\n#include \"../../util_arch.cuh\"\n#include \"../../block/block_raking_layout.cuh\"\n#include \"../../thread/thread_reduce.cuh\"\n#include \"../../thread/thread_scan.cuh\"\n#include \"../../warp/warp_scan.cuh\"\n#include \"../../util_namespace.cuh\"\n\n/// Optional outer namespace(s)\nCUB_NS_PREFIX\n\n/// CUB namespace\nnamespace cub {\n\n\n/**\n * \\brief BlockScanRaking provides variants of raking-based parallel prefix scan across a CUDA threadblock.\n */\ntemplate <\n    typename    T,              ///< Data type being scanned\n    int         BLOCK_DIM_X,    ///< The thread block length in threads along the X dimension\n    int         BLOCK_DIM_Y,    ///< The thread block length in threads along the Y dimension\n    int         BLOCK_DIM_Z,    ///< The thread block length in threads along the Z dimension\n    bool        MEMOIZE,        ///< Whether or not to buffer outer raking scan partials to incur fewer shared memory reads at the expense of higher register pressure\n    int         PTX_ARCH>       ///< The PTX compute capability for which to to specialize this collective\nstruct BlockScanRaking\n{\n    /// Constants\n    enum\n    {\n        /// The thread block size in threads\n        BLOCK_THREADS = BLOCK_DIM_X * BLOCK_DIM_Y * BLOCK_DIM_Z,\n    };\n\n    /// Layout type for padded threadblock raking grid\n    typedef BlockRakingLayout<T, BLOCK_THREADS, PTX_ARCH> BlockRakingLayout;\n\n    /// Constants\n    enum\n    {\n        /// Number of raking threads\n        RAKING_THREADS = BlockRakingLayout::RAKING_THREADS,\n\n        /// Number of raking elements per warp synchronous raking thread\n        SEGMENT_LENGTH = BlockRakingLayout::SEGMENT_LENGTH,\n\n        /// Cooperative work can be entirely warp synchronous\n        WARP_SYNCHRONOUS = (BLOCK_THREADS == RAKING_THREADS),\n    };\n\n    ///  WarpScan utility type\n    typedef WarpScan<T, RAKING_THREADS, PTX_ARCH> WarpScan;\n\n    /// Shared memory storage layout type\n    struct _TempStorage\n    {\n        typename WarpScan::TempStorage              warp_scan;          ///< Buffer for warp-synchronous scan\n        typename BlockRakingLayout::TempStorage     raking_grid;        ///< Padded threadblock raking grid\n        T                                           block_aggregate;    ///< Block aggregate\n    };\n\n\n    /// Alias wrapper allowing storage to be unioned\n    struct TempStorage : Uninitialized<_TempStorage> {};\n\n\n    // Thread fields\n    _TempStorage    &temp_storage;\n    int             linear_tid;\n    T               cached_segment[SEGMENT_LENGTH];\n\n\n    /// Constructor\n    __device__ __forceinline__ BlockScanRaking(\n        TempStorage &temp_storage)\n    :\n        temp_storage(temp_storage.Alias()),\n        linear_tid(RowMajorTid(BLOCK_DIM_X, BLOCK_DIM_Y, BLOCK_DIM_Z))\n    {}\n\n\n    /// Templated reduction\n    template <int ITERATION, typename ScanOp>\n    __device__ __forceinline__ T GuardedReduce(\n        T*                  raking_ptr,         ///< [in] Input array\n        ScanOp              scan_op,            ///< [in] Binary reduction operator\n        T                   raking_partial,     ///< [in] Prefix to seed reduction with\n        Int2Type<ITERATION> iteration)\n    {\n        if ((BlockRakingLayout::UNGUARDED) || (((linear_tid * SEGMENT_LENGTH) + ITERATION) < BLOCK_THREADS))\n        {\n            T addend = raking_ptr[ITERATION];\n            raking_partial = scan_op(raking_partial, addend);\n        }\n\n        return GuardedReduce(raking_ptr, scan_op, raking_partial, Int2Type<ITERATION + 1>());\n    }\n\n\n    /// Templated reduction (base case)\n    template <typename ScanOp>\n    __device__ __forceinline__ T GuardedReduce(\n        T*                          raking_ptr,        ///< [in] Input array\n        ScanOp                      scan_op,           ///< [in] Binary reduction operator\n        T                           raking_partial,    ///< [in] Prefix to seed reduction with\n        Int2Type<SEGMENT_LENGTH>    iteration)\n    {\n        return raking_partial;\n    }\n\n\n    /// Templated copy\n    template <int ITERATION>\n    __device__ __forceinline__ void CopySegment(\n        T*                  out,            ///< [out] Out array\n        T*                  in,             ///< [in] Input array\n        Int2Type<ITERATION> iteration)\n    {\n        out[ITERATION] = in[ITERATION];\n        CopySegment(out, in, Int2Type<ITERATION + 1>());\n    }\n\n \n    /// Templated copy (base case)\n    __device__ __forceinline__ void CopySegment(\n        T*                  out,            ///< [out] Out array\n        T*                  in,             ///< [in] Input array\n        Int2Type<SEGMENT_LENGTH> iteration)\n    {}\n\n\n    /// Performs upsweep raking reduction, returning the aggregate\n    template <typename ScanOp>\n    __device__ __forceinline__ T Upsweep(\n        ScanOp scan_op)\n    {\n        T *smem_raking_ptr = BlockRakingLayout::RakingPtr(temp_storage.raking_grid, linear_tid);\n\n        // Read data into registers\n        CopySegment(cached_segment, smem_raking_ptr, Int2Type<0>());\n\n        T raking_partial = cached_segment[0];\n\n        return GuardedReduce(cached_segment, scan_op, raking_partial, Int2Type<1>());\n    }\n\n\n    /// Performs exclusive downsweep raking scan\n    template <typename ScanOp>\n    __device__ __forceinline__ void ExclusiveDownsweep(\n        ScanOp          scan_op,\n        T               raking_partial,\n        bool            apply_prefix = true)\n    {\n        T *smem_raking_ptr = BlockRakingLayout::RakingPtr(temp_storage.raking_grid, linear_tid);\n\n        // Read data back into registers\n        if (!MEMOIZE)\n        {\n            CopySegment(cached_segment, smem_raking_ptr, Int2Type<0>());\n        }\n\n        ThreadScanExclusive(cached_segment, cached_segment, scan_op, raking_partial, apply_prefix);\n\n        // Write data back to smem\n        CopySegment(smem_raking_ptr, cached_segment, Int2Type<0>());\n    }\n\n\n    /// Performs inclusive downsweep raking scan\n    template <typename ScanOp>\n    __device__ __forceinline__ void InclusiveDownsweep(\n        ScanOp          scan_op,\n        T               raking_partial,\n        bool            apply_prefix = true)\n    {\n        T *smem_raking_ptr = BlockRakingLayout::RakingPtr(temp_storage.raking_grid, linear_tid);\n\n        // Read data back into registers\n        if (!MEMOIZE)\n        {\n            CopySegment(cached_segment, smem_raking_ptr, Int2Type<0>());\n        }\n\n        ThreadScanInclusive(cached_segment, cached_segment, scan_op, raking_partial, apply_prefix);\n\n        // Write data back to smem\n        CopySegment(smem_raking_ptr, cached_segment, Int2Type<0>());\n    }\n\n\n    /// Computes an exclusive threadblock-wide prefix scan using the specified binary \\p scan_op functor.  Each thread contributes one input element.  Also provides every thread with the block-wide \\p block_aggregate of all inputs.\n    template <typename ScanOp>\n    __device__ __forceinline__ void ExclusiveScan(\n        T               input,              ///< [in] Calling thread's input items\n        T               &output,            ///< [out] Calling thread's output items (may be aliased to \\p input)\n        const T         &identity,          ///< [in] Identity value\n        ScanOp          scan_op,            ///< [in] Binary scan operator\n        T               &block_aggregate)   ///< [out] Threadblock-wide aggregate reduction of input items\n    {\n\n        if (WARP_SYNCHRONOUS)\n        {\n            // Short-circuit directly to warp scan\n            WarpScan(temp_storage.warp_scan).ExclusiveScan(\n                input,\n                output,\n                identity,\n                scan_op,\n                block_aggregate);\n        }\n        else\n        {\n            // Place thread partial into shared memory raking grid\n            T *placement_ptr = BlockRakingLayout::PlacementPtr(temp_storage.raking_grid, linear_tid);\n            *placement_ptr = input;\n\n            __syncthreads();\n\n            // Reduce parallelism down to just raking threads\n            if (linear_tid < RAKING_THREADS)\n            {\n                // Raking upsweep reduction in grid\n                T raking_partial = Upsweep(scan_op);\n\n                // Exclusive warp synchronous scan\n                WarpScan(temp_storage.warp_scan).ExclusiveScan(\n                    raking_partial,\n                    raking_partial,\n                    identity,\n                    scan_op,\n                    temp_storage.block_aggregate);\n\n                // Exclusive raking downsweep scan\n                ExclusiveDownsweep(scan_op, raking_partial);\n            }\n\n            __syncthreads();\n\n            // Grab thread prefix from shared memory\n            output = *placement_ptr;\n\n            // Retrieve block aggregate\n            block_aggregate = temp_storage.block_aggregate;\n        }\n    }\n\n\n    /// Computes an exclusive threadblock-wide prefix scan using the specified binary \\p scan_op functor.  Each thread contributes one input element.  the call-back functor \\p block_prefix_callback_op is invoked by the first warp in the block, and the value returned by <em>lane</em><sub>0</sub> in that warp is used as the \"seed\" value that logically prefixes the threadblock's scan inputs.  Also provides every thread with the block-wide \\p block_aggregate of all inputs.\n    template <\n        typename        ScanOp,\n        typename        BlockPrefixCallbackOp>\n    __device__ __forceinline__ void ExclusiveScan(\n        T                       input,                          ///< [in] Calling thread's input item\n        T                       &output,                        ///< [out] Calling thread's output item (may be aliased to \\p input)\n        T                       identity,                       ///< [in] Identity value\n        ScanOp                  scan_op,                        ///< [in] Binary scan operator\n        T                       &block_aggregate,               ///< [out] Threadblock-wide aggregate reduction of input items (exclusive of the \\p block_prefix_callback_op value)\n        BlockPrefixCallbackOp   &block_prefix_callback_op)      ///< [in-out] <b>[<em>warp</em><sub>0</sub> only]</b> Call-back functor for specifying a threadblock-wide prefix to be applied to all inputs.\n    {\n        if (WARP_SYNCHRONOUS)\n        {\n            // Short-circuit directly to warp scan\n            WarpScan(temp_storage.warp_scan).ExclusiveScan(\n                input,\n                output,\n                identity,\n                scan_op,\n                block_aggregate,\n                block_prefix_callback_op);\n        }\n        else\n        {\n            // Place thread partial into shared memory raking grid\n            T *placement_ptr = BlockRakingLayout::PlacementPtr(temp_storage.raking_grid, linear_tid);\n            *placement_ptr = input;\n\n            __syncthreads();\n\n            // Reduce parallelism down to just raking threads\n            if (linear_tid < RAKING_THREADS)\n            {\n                // Raking upsweep reduction in grid\n                T raking_partial = Upsweep(scan_op);\n\n                // Exclusive warp synchronous scan\n                WarpScan(temp_storage.warp_scan).ExclusiveScan(\n                    raking_partial,\n                    raking_partial,\n                    identity,\n                    scan_op,\n                    temp_storage.block_aggregate,\n                    block_prefix_callback_op);\n\n                // Exclusive raking downsweep scan\n                ExclusiveDownsweep(scan_op, raking_partial);\n            }\n\n            __syncthreads();\n\n            // Grab thread prefix from shared memory\n            output = *placement_ptr;\n\n            // Retrieve block aggregate\n            block_aggregate = temp_storage.block_aggregate;\n        }\n    }\n\n\n    /// Computes an exclusive threadblock-wide prefix scan using the specified binary \\p scan_op functor.  Each thread contributes one input element.  Also provides every thread with the block-wide \\p block_aggregate of all inputs.  With no identity value, the output computed for <em>thread</em><sub>0</sub> is undefined.\n    template <typename ScanOp>\n    __device__ __forceinline__ void ExclusiveScan(\n        T               input,                          ///< [in] Calling thread's input item\n        T               &output,                        ///< [out] Calling thread's output item (may be aliased to \\p input)\n        ScanOp          scan_op,                        ///< [in] Binary scan operator\n        T               &block_aggregate)               ///< [out] Threadblock-wide aggregate reduction of input items\n    {\n        if (WARP_SYNCHRONOUS)\n        {\n            // Short-circuit directly to warp scan\n            WarpScan(temp_storage.warp_scan).ExclusiveScan(\n                input,\n                output,\n                scan_op,\n                block_aggregate);\n        }\n        else\n        {\n            // Place thread partial into shared memory raking grid\n            T *placement_ptr = BlockRakingLayout::PlacementPtr(temp_storage.raking_grid, linear_tid);\n            *placement_ptr = input;\n\n            __syncthreads();\n\n            // Reduce parallelism down to just raking threads\n            if (linear_tid < RAKING_THREADS)\n            {\n                // Raking upsweep reduction in grid\n                T raking_partial = Upsweep(scan_op);\n\n                // Exclusive warp synchronous scan\n                WarpScan(temp_storage.warp_scan).ExclusiveScan(\n                    raking_partial,\n                    raking_partial,\n                    scan_op,\n                    temp_storage.block_aggregate);\n\n                // Exclusive raking downsweep scan\n                ExclusiveDownsweep(scan_op, raking_partial, (linear_tid != 0));\n            }\n\n            __syncthreads();\n\n            // Grab thread prefix from shared memory\n            output = *placement_ptr;\n\n            // Retrieve block aggregate\n            block_aggregate = temp_storage.block_aggregate;\n        }\n    }\n\n\n    /// Computes an exclusive threadblock-wide prefix scan using the specified binary \\p scan_op functor.  Each thread contributes one input element.  the call-back functor \\p block_prefix_callback_op is invoked by the first warp in the block, and the value returned by <em>lane</em><sub>0</sub> in that warp is used as the \"seed\" value that logically prefixes the threadblock's scan inputs.  Also provides every thread with the block-wide \\p block_aggregate of all inputs.\n    template <\n        typename ScanOp,\n        typename BlockPrefixCallbackOp>\n    __device__ __forceinline__ void ExclusiveScan(\n        T                       input,                          ///< [in] Calling thread's input item\n        T                       &output,                        ///< [out] Calling thread's output item (may be aliased to \\p input)\n        ScanOp                  scan_op,                        ///< [in] Binary scan operator\n        T                       &block_aggregate,               ///< [out] Threadblock-wide aggregate reduction of input items (exclusive of the \\p block_prefix_callback_op value)\n        BlockPrefixCallbackOp   &block_prefix_callback_op)      ///< [in-out] <b>[<em>warp</em><sub>0</sub> only]</b> Call-back functor for specifying a threadblock-wide prefix to be applied to all inputs.\n    {\n        if (WARP_SYNCHRONOUS)\n        {\n            // Short-circuit directly to warp scan\n            WarpScan(temp_storage.warp_scan).ExclusiveScan(\n                input,\n                output,\n                scan_op,\n                block_aggregate,\n                block_prefix_callback_op);\n        }\n        else\n        {\n            // Place thread partial into shared memory raking grid\n            T *placement_ptr = BlockRakingLayout::PlacementPtr(temp_storage.raking_grid, linear_tid);\n            *placement_ptr = input;\n\n            __syncthreads();\n\n            // Reduce parallelism down to just raking threads\n            if (linear_tid < RAKING_THREADS)\n            {\n                // Raking upsweep reduction in grid\n                T raking_partial = Upsweep(scan_op);\n\n                // Exclusive warp synchronous scan\n                WarpScan(temp_storage.warp_scan).ExclusiveScan(\n                    raking_partial,\n                    raking_partial,\n                    scan_op,\n                    temp_storage.block_aggregate,\n                    block_prefix_callback_op);\n\n                // Exclusive raking downsweep scan\n                ExclusiveDownsweep(scan_op, raking_partial);\n            }\n\n            __syncthreads();\n\n            // Grab thread prefix from shared memory\n            output = *placement_ptr;\n\n            // Retrieve block aggregate\n            block_aggregate = temp_storage.block_aggregate;\n        }\n    }\n\n\n    /// Computes an exclusive threadblock-wide prefix scan using addition (+) as the scan operator.  Each thread contributes one input element.  Also provides every thread with the block-wide \\p block_aggregate of all inputs.\n    __device__ __forceinline__ void ExclusiveSum(\n        T               input,                          ///< [in] Calling thread's input item\n        T               &output,                        ///< [out] Calling thread's output item (may be aliased to \\p input)\n        T               &block_aggregate)               ///< [out] Threadblock-wide aggregate reduction of input items\n    {\n        if (WARP_SYNCHRONOUS)\n        {\n            // Short-circuit directly to warp scan\n            WarpScan(temp_storage.warp_scan).ExclusiveSum(\n                input,\n                output,\n                block_aggregate);\n        }\n        else\n        {\n            // Raking scan\n            Sum scan_op;\n\n            // Place thread partial into shared memory raking grid\n            T *placement_ptr = BlockRakingLayout::PlacementPtr(temp_storage.raking_grid, linear_tid);\n            *placement_ptr = input;\n\n            __syncthreads();\n\n            // Reduce parallelism down to just raking threads\n            if (linear_tid < RAKING_THREADS)\n            {\n                // Raking upsweep reduction in grid\n                T raking_partial = Upsweep(scan_op);\n\n                // Exclusive warp synchronous scan\n                WarpScan(temp_storage.warp_scan).ExclusiveSum(\n                    raking_partial,\n                    raking_partial,\n                    temp_storage.block_aggregate);\n\n                // Exclusive raking downsweep scan\n                ExclusiveDownsweep(scan_op, raking_partial);\n            }\n\n            __syncthreads();\n\n            // Grab thread prefix from shared memory\n            output = *placement_ptr;\n\n            // Retrieve block aggregate\n            block_aggregate = temp_storage.block_aggregate;\n        }\n    }\n\n\n    /// Computes an exclusive threadblock-wide prefix scan using addition (+) as the scan operator.  Each thread contributes one input element.  Instead of using 0 as the threadblock-wide prefix, the call-back functor \\p block_prefix_callback_op is invoked by the first warp in the block, and the value returned by <em>lane</em><sub>0</sub> in that warp is used as the \"seed\" value that logically prefixes the threadblock's scan inputs.  Also provides every thread with the block-wide \\p block_aggregate of all inputs.\n    template <typename BlockPrefixCallbackOp>\n    __device__ __forceinline__ void ExclusiveSum(\n        T                       input,                          ///< [in] Calling thread's input item\n        T                       &output,                        ///< [out] Calling thread's output item (may be aliased to \\p input)\n        T                       &block_aggregate,               ///< [out] Threadblock-wide aggregate reduction of input items (exclusive of the \\p block_prefix_callback_op value)\n        BlockPrefixCallbackOp   &block_prefix_callback_op)      ///< [in-out] <b>[<em>warp</em><sub>0</sub> only]</b> Call-back functor for specifying a threadblock-wide prefix to be applied to all inputs.\n    {\n        if (WARP_SYNCHRONOUS)\n        {\n            // Short-circuit directly to warp scan\n            WarpScan(temp_storage.warp_scan).ExclusiveSum(\n                input,\n                output,\n                block_aggregate,\n                block_prefix_callback_op);\n        }\n        else\n        {\n            // Raking scan\n            Sum scan_op;\n\n            // Place thread partial into shared memory raking grid\n            T *placement_ptr = BlockRakingLayout::PlacementPtr(temp_storage.raking_grid, linear_tid);\n            *placement_ptr = input;\n\n            __syncthreads();\n\n            // Reduce parallelism down to just raking threads\n            if (linear_tid < RAKING_THREADS)\n            {\n                // Raking upsweep reduction in grid\n                T raking_partial = Upsweep(scan_op);\n\n                // Exclusive warp synchronous scan\n                WarpScan(temp_storage.warp_scan).ExclusiveSum(\n                    raking_partial,\n                    raking_partial,\n                    temp_storage.block_aggregate,\n                    block_prefix_callback_op);\n\n                // Exclusive raking downsweep scan\n                ExclusiveDownsweep(scan_op, raking_partial);\n            }\n\n            __syncthreads();\n\n            // Grab thread prefix from shared memory\n            output = *placement_ptr;\n\n            // Retrieve block aggregate\n            block_aggregate = temp_storage.block_aggregate;\n        }\n    }\n\n\n    /// Computes an inclusive threadblock-wide prefix scan using the specified binary \\p scan_op functor.  Each thread contributes one input element.  Also provides every thread with the block-wide \\p block_aggregate of all inputs.\n    template <typename ScanOp>\n    __device__ __forceinline__ void InclusiveScan(\n        T               input,                          ///< [in] Calling thread's input item\n        T               &output,                        ///< [out] Calling thread's output item (may be aliased to \\p input)\n        ScanOp          scan_op,                        ///< [in] Binary scan operator\n        T               &block_aggregate)               ///< [out] Threadblock-wide aggregate reduction of input items\n    {\n        if (WARP_SYNCHRONOUS)\n        {\n            // Short-circuit directly to warp scan\n            WarpScan(temp_storage.warp_scan).InclusiveScan(\n                input,\n                output,\n                scan_op,\n                block_aggregate);\n        }\n        else\n        {\n            // Place thread partial into shared memory raking grid\n            T *placement_ptr = BlockRakingLayout::PlacementPtr(temp_storage.raking_grid, linear_tid);\n            *placement_ptr = input;\n\n            __syncthreads();\n\n            // Reduce parallelism down to just raking threads\n            if (linear_tid < RAKING_THREADS)\n            {\n                // Raking upsweep reduction in grid\n                T raking_partial = Upsweep(scan_op);\n\n                // Exclusive warp synchronous scan\n                WarpScan(temp_storage.warp_scan).ExclusiveScan(\n                    raking_partial,\n                    raking_partial,\n                    scan_op,\n                    temp_storage.block_aggregate);\n\n                // Inclusive raking downsweep scan\n                InclusiveDownsweep(scan_op, raking_partial, (linear_tid != 0));\n            }\n\n            __syncthreads();\n\n            // Grab thread prefix from shared memory\n            output = *placement_ptr;\n\n            // Retrieve block aggregate\n            block_aggregate = temp_storage.block_aggregate;\n        }\n    }\n\n\n    /// Computes an inclusive threadblock-wide prefix scan using the specified binary \\p scan_op functor.  Each thread contributes one input element.  the call-back functor \\p block_prefix_callback_op is invoked by the first warp in the block, and the value returned by <em>lane</em><sub>0</sub> in that warp is used as the \"seed\" value that logically prefixes the threadblock's scan inputs.  Also provides every thread with the block-wide \\p block_aggregate of all inputs.\n    template <\n        typename ScanOp,\n        typename BlockPrefixCallbackOp>\n    __device__ __forceinline__ void InclusiveScan(\n        T                       input,                          ///< [in] Calling thread's input item\n        T                       &output,                        ///< [out] Calling thread's output item (may be aliased to \\p input)\n        ScanOp                  scan_op,                        ///< [in] Binary scan operator\n        T                       &block_aggregate,               ///< [out] Threadblock-wide aggregate reduction of input items (exclusive of the \\p block_prefix_callback_op value)\n        BlockPrefixCallbackOp   &block_prefix_callback_op)      ///< [in-out] <b>[<em>warp</em><sub>0</sub> only]</b> Call-back functor for specifying a threadblock-wide prefix to be applied to all inputs.\n    {\n        if (WARP_SYNCHRONOUS)\n        {\n            // Short-circuit directly to warp scan\n            WarpScan(temp_storage.warp_scan).InclusiveScan(\n                input,\n                output,\n                scan_op,\n                block_aggregate,\n                block_prefix_callback_op);\n        }\n        else\n        {\n            // Place thread partial into shared memory raking grid\n            T *placement_ptr = BlockRakingLayout::PlacementPtr(temp_storage.raking_grid, linear_tid);\n            *placement_ptr = input;\n\n            __syncthreads();\n\n            // Reduce parallelism down to just raking threads\n            if (linear_tid < RAKING_THREADS)\n            {\n                // Raking upsweep reduction in grid\n                T raking_partial = Upsweep(scan_op);\n\n                // Warp synchronous scan\n                WarpScan(temp_storage.warp_scan).ExclusiveScan(\n                    raking_partial,\n                    raking_partial,\n                    scan_op,\n                    temp_storage.block_aggregate,\n                    block_prefix_callback_op);\n\n                // Inclusive raking downsweep scan\n                InclusiveDownsweep(scan_op, raking_partial);\n            }\n\n            __syncthreads();\n\n            // Grab thread prefix from shared memory\n            output = *placement_ptr;\n\n            // Retrieve block aggregate\n            block_aggregate = temp_storage.block_aggregate;\n        }\n    }\n\n\n    /// Computes an inclusive threadblock-wide prefix scan using the specified binary \\p scan_op functor.  Each thread contributes one input element.  Also provides every thread with the block-wide \\p block_aggregate of all inputs.\n    __device__ __forceinline__ void InclusiveSum(\n        T               input,                          ///< [in] Calling thread's input item\n        T               &output,                        ///< [out] Calling thread's output item (may be aliased to \\p input)\n        T               &block_aggregate)               ///< [out] Threadblock-wide aggregate reduction of input items\n    {\n        if (WARP_SYNCHRONOUS)\n        {\n            // Short-circuit directly to warp scan\n            WarpScan(temp_storage.warp_scan).InclusiveSum(\n                input,\n                output,\n                block_aggregate);\n        }\n        else\n        {\n            // Raking scan\n            Sum scan_op;\n\n            // Place thread partial into shared memory raking grid\n            T *placement_ptr = BlockRakingLayout::PlacementPtr(temp_storage.raking_grid, linear_tid);\n            *placement_ptr = input;\n\n            __syncthreads();\n\n            // Reduce parallelism down to just raking threads\n            if (linear_tid < RAKING_THREADS)\n            {\n                // Raking upsweep reduction in grid\n                T raking_partial = Upsweep(scan_op);\n\n                // Exclusive warp synchronous scan\n                WarpScan(temp_storage.warp_scan).ExclusiveSum(\n                    raking_partial,\n                    raking_partial,\n                    temp_storage.block_aggregate);\n\n                // Inclusive raking downsweep scan\n                InclusiveDownsweep(scan_op, raking_partial, (linear_tid != 0));\n            }\n\n            __syncthreads();\n\n            // Grab thread prefix from shared memory\n            output = *placement_ptr;\n\n            // Retrieve block aggregate\n            block_aggregate = temp_storage.block_aggregate;\n        }\n    }\n\n\n    /// Computes an inclusive threadblock-wide prefix scan using the specified binary \\p scan_op functor.  Each thread contributes one input element.  Instead of using 0 as the threadblock-wide prefix, the call-back functor \\p block_prefix_callback_op is invoked by the first warp in the block, and the value returned by <em>lane</em><sub>0</sub> in that warp is used as the \"seed\" value that logically prefixes the threadblock's scan inputs.  Also provides every thread with the block-wide \\p block_aggregate of all inputs.\n    template <typename BlockPrefixCallbackOp>\n    __device__ __forceinline__ void InclusiveSum(\n        T                       input,                          ///< [in] Calling thread's input item\n        T                       &output,                        ///< [out] Calling thread's output item (may be aliased to \\p input)\n        T                       &block_aggregate,               ///< [out] Threadblock-wide aggregate reduction of input items (exclusive of the \\p block_prefix_callback_op value)\n        BlockPrefixCallbackOp   &block_prefix_callback_op)      ///< [in-out] <b>[<em>warp</em><sub>0</sub> only]</b> Call-back functor for specifying a threadblock-wide prefix to be applied to all inputs.\n    {\n        if (WARP_SYNCHRONOUS)\n        {\n            // Short-circuit directly to warp scan\n            WarpScan(temp_storage.warp_scan).InclusiveSum(\n                input,\n                output,\n                block_aggregate,\n                block_prefix_callback_op);\n        }\n        else\n        {\n            // Raking scan\n            Sum scan_op;\n\n            // Place thread partial into shared memory raking grid\n            T *placement_ptr = BlockRakingLayout::PlacementPtr(temp_storage.raking_grid, linear_tid);\n            *placement_ptr = input;\n\n            __syncthreads();\n\n            // Reduce parallelism down to just raking threads\n            if (linear_tid < RAKING_THREADS)\n            {\n                // Raking upsweep reduction in grid\n                T raking_partial = Upsweep(scan_op);\n\n                // Warp synchronous scan\n                WarpScan(temp_storage.warp_scan).ExclusiveSum(\n                    raking_partial,\n                    raking_partial,\n                    temp_storage.block_aggregate,\n                    block_prefix_callback_op);\n\n                // Inclusive raking downsweep scan\n                InclusiveDownsweep(scan_op, raking_partial);\n            }\n\n            __syncthreads();\n\n            // Grab thread prefix from shared memory\n            output = *placement_ptr;\n\n            // Retrieve block aggregate\n            block_aggregate = temp_storage.block_aggregate;\n        }\n    }\n\n};\n\n\n}               // CUB namespace\nCUB_NS_POSTFIX  // Optional outer namespace(s)\n\n"
  },
  {
    "path": "external/cub-1.3.2/cub/block/specializations/block_scan_warp_scans.cuh",
    "content": "/******************************************************************************\n * Copyright (c) 2011, Duane Merrill.  All rights reserved.\n * Copyright (c) 2011-2014, NVIDIA CORPORATION.  All rights reserved.\n * \n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *     * Redistributions of source code must retain the above copyright\n *       notice, this list of conditions and the following disclaimer.\n *     * Redistributions in binary form must reproduce the above copyright\n *       notice, this list of conditions and the following disclaimer in the\n *       documentation and/or other materials provided with the distribution.\n *     * Neither the name of the NVIDIA CORPORATION nor the\n *       names of its contributors may be used to endorse or promote products\n *       derived from this software without specific prior written permission.\n * \n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n ******************************************************************************/\n\n/**\n * \\file\n * cub::BlockScanWarpscans provides warpscan-based variants of parallel prefix scan across a CUDA threadblock.\n */\n\n#pragma once\n\n#include \"../../util_arch.cuh\"\n#include \"../../util_ptx.cuh\"\n#include \"../../warp/warp_scan.cuh\"\n#include \"../../util_namespace.cuh\"\n\n/// Optional outer namespace(s)\nCUB_NS_PREFIX\n\n/// CUB namespace\nnamespace cub {\n\n/**\n * \\brief BlockScanWarpScans provides warpscan-based variants of parallel prefix scan across a CUDA threadblock.\n */\ntemplate <\n    typename    T,\n    int         BLOCK_DIM_X,    ///< The thread block length in threads along the X dimension\n    int         BLOCK_DIM_Y,    ///< The thread block length in threads along the Y dimension\n    int         BLOCK_DIM_Z,    ///< The thread block length in threads along the Z dimension\n    int         PTX_ARCH>       ///< The PTX compute capability for which to to specialize this collective\nstruct BlockScanWarpScans\n{\n    /// Constants\n    enum\n    {\n        /// Number of warp threads\n        WARP_THREADS = CUB_WARP_THREADS(PTX_ARCH),\n\n        /// The thread block size in threads\n        BLOCK_THREADS = BLOCK_DIM_X * BLOCK_DIM_Y * BLOCK_DIM_Z,\n\n        /// Number of active warps\n        WARPS = (BLOCK_THREADS + WARP_THREADS - 1) / WARP_THREADS,\n    };\n\n    ///  WarpScan utility type\n    typedef WarpScan<T, WARP_THREADS, PTX_ARCH> WarpScan;\n\n    /// Shared memory storage layout type\n    struct _TempStorage\n    {\n        typename WarpScan::TempStorage      warp_scan[WARPS];           ///< Buffer for warp-synchronous scans\n        T                                   warp_aggregates[WARPS];     ///< Shared totals from each warp-synchronous scan\n        T                                   block_prefix;               ///< Shared prefix for the entire threadblock\n    };\n\n\n    /// Alias wrapper allowing storage to be unioned\n    struct TempStorage : Uninitialized<_TempStorage> {};\n\n\n    // Thread fields\n    _TempStorage &temp_storage;\n    int linear_tid;\n    int warp_id;\n    int lane_id;\n\n\n    /// Constructor\n    __device__ __forceinline__ BlockScanWarpScans(\n        TempStorage &temp_storage)\n    :\n        temp_storage(temp_storage.Alias()),\n        linear_tid(RowMajorTid(BLOCK_DIM_X, BLOCK_DIM_Y, BLOCK_DIM_Z)),\n        warp_id((WARPS == 1) ? 0 : linear_tid / WARP_THREADS),\n        lane_id(LaneId())\n    {}\n\n    template <typename ScanOp, int WARP>\n    __device__ __forceinline__ void ApplyWarpAggregates(\n        T               &partial,           ///< [out] The calling thread's partial reduction\n        ScanOp          scan_op,            ///< [in] Binary scan operator\n        T               &block_aggregate,   ///< [out] Threadblock-wide aggregate reduction of input items\n        bool            lane_valid,         ///< [in] Whether or not the partial belonging to the current thread is valid\n        Int2Type<WARP>  addend_warp)\n    {\n            T inclusive = scan_op(block_aggregate, partial);\n            if (warp_id == WARP)\n            {\n                partial = (lane_valid) ?\n                    inclusive :\n                    block_aggregate;\n            }\n\n            T addend = temp_storage.warp_aggregates[WARP];\n            block_aggregate = scan_op(block_aggregate, addend);\n\n            ApplyWarpAggregates(partial, scan_op, block_aggregate, lane_valid, Int2Type<WARP + 1>());\n    }\n\n    template <typename ScanOp>\n    __device__ __forceinline__ void ApplyWarpAggregates(\n        T               &partial,           ///< [out] The calling thread's partial reduction\n        ScanOp          scan_op,            ///< [in] Binary scan operator\n        T               &block_aggregate,   ///< [out] Threadblock-wide aggregate reduction of input items\n        bool            lane_valid,         ///< [in] Whether or not the partial belonging to the current thread is valid\n        Int2Type<WARPS> addend_warp)\n    {}\n\n\n    /// Update the calling thread's partial reduction with the warp-wide aggregates from preceding warps.  Also returns block-wide aggregate in <em>thread</em><sub>0</sub>.\n    template <typename ScanOp>\n    __device__ __forceinline__ void ApplyWarpAggregates(\n        T               &partial,           ///< [out] The calling thread's partial reduction\n        ScanOp          scan_op,            ///< [in] Binary scan operator\n        T               warp_aggregate,     ///< [in] <b>[<em>lane</em><sub>WARP_THREADS - 1</sub> only]</b> Warp-wide aggregate reduction of input items\n        T               &block_aggregate,   ///< [out] Threadblock-wide aggregate reduction of input items\n        bool            lane_valid = true)  ///< [in] Whether or not the partial belonging to the current thread is valid\n    {\n        // Last lane in each warp shares its warp-aggregate\n        if (lane_id == WARP_THREADS - 1)\n            temp_storage.warp_aggregates[warp_id] = warp_aggregate;\n\n        __syncthreads();\n\n        block_aggregate = temp_storage.warp_aggregates[0];\n\n#if __CUDA_ARCH__ <= 130\n\n        // Use template unrolling for SM1x (since the PTX backend can't handle it)\n        ApplyWarpAggregates(partial, scan_op, block_aggregate, lane_valid, Int2Type<1>());\n\n#else\n\n        // Use the pragma unrolling (since it uses less registers)\n        #pragma unroll\n        for (int WARP = 1; WARP < WARPS; WARP++)\n        {\n            T inclusive = scan_op(block_aggregate, partial);\n            if (warp_id == WARP)\n            {\n                partial = (lane_valid) ?\n                    inclusive :\n                    block_aggregate;\n            }\n\n            T addend = temp_storage.warp_aggregates[WARP];\n            block_aggregate = scan_op(block_aggregate, addend);\n        }\n\n#endif\n    }\n\n\n    /// Computes an exclusive threadblock-wide prefix scan using the specified binary \\p scan_op functor.  Each thread contributes one input element.  Also provides every thread with the block-wide \\p block_aggregate of all inputs.\n    template <typename ScanOp>\n    __device__ __forceinline__ void ExclusiveScan(\n        T               input,              ///< [in] Calling thread's input items\n        T               &output,            ///< [out] Calling thread's output items (may be aliased to \\p input)\n        const T         &identity,          ///< [in] Identity value\n        ScanOp          scan_op,            ///< [in] Binary scan operator\n        T               &block_aggregate)   ///< [out] Threadblock-wide aggregate reduction of input items\n    {\n        T inclusive_output;\n        WarpScan(temp_storage.warp_scan[warp_id]).Scan(input, inclusive_output, output, identity, scan_op);\n\n        // Update outputs and block_aggregate with warp-wide aggregates\n        ApplyWarpAggregates(output, scan_op, inclusive_output, block_aggregate);\n    }\n\n\n    /// Computes an exclusive threadblock-wide prefix scan using the specified binary \\p scan_op functor.  Each thread contributes one input element.  the call-back functor \\p block_prefix_callback_op is invoked by the first warp in the block, and the value returned by <em>lane</em><sub>0</sub> in that warp is used as the \"seed\" value that logically prefixes the threadblock's scan inputs.  Also provides every thread with the block-wide \\p block_aggregate of all inputs.\n    template <\n        typename ScanOp,\n        typename BlockPrefixCallbackOp>\n    __device__ __forceinline__ void ExclusiveScan(\n        T                       input,                          ///< [in] Calling thread's input item\n        T                       &output,                        ///< [out] Calling thread's output item (may be aliased to \\p input)\n        T                       identity,                       ///< [in] Identity value\n        ScanOp                  scan_op,                        ///< [in] Binary scan operator\n        T                       &block_aggregate,               ///< [out] Threadblock-wide aggregate reduction of input items (exclusive of the \\p block_prefix_callback_op value)\n        BlockPrefixCallbackOp   &block_prefix_callback_op)      ///< [in-out] <b>[<em>warp</em><sub>0</sub> only]</b> Call-back functor for specifying a threadblock-wide prefix to be applied to all inputs.\n    {\n        ExclusiveScan(input, output, identity, scan_op, block_aggregate);\n\n        // Use the first warp to determine the threadblock prefix, returning the result in lane0\n        if (warp_id == 0)\n        {\n            T block_prefix = block_prefix_callback_op(block_aggregate);\n            if (lane_id == 0)\n            {\n                // Share the prefix with all threads\n                temp_storage.block_prefix = block_prefix;\n            }\n        }\n\n        __syncthreads();\n\n        // Incorporate threadblock prefix into outputs\n        T block_prefix = temp_storage.block_prefix;\n        output = scan_op(block_prefix, output);\n    }\n\n\n    /// Computes an exclusive threadblock-wide prefix scan using the specified binary \\p scan_op functor.  Each thread contributes one input element.  Also provides every thread with the block-wide \\p block_aggregate of all inputs.  With no identity value, the output computed for <em>thread</em><sub>0</sub> is undefined.\n    template <typename ScanOp>\n    __device__ __forceinline__ void ExclusiveScan(\n        T               input,                          ///< [in] Calling thread's input item\n        T               &output,                        ///< [out] Calling thread's output item (may be aliased to \\p input)\n        ScanOp          scan_op,                        ///< [in] Binary scan operator\n        T               &block_aggregate)               ///< [out] Threadblock-wide aggregate reduction of input items\n    {\n        T inclusive_output;\n        WarpScan(temp_storage.warp_scan[warp_id]).Scan(input, inclusive_output, output, scan_op);\n\n        // Update outputs and block_aggregate with warp-wide aggregates\n        ApplyWarpAggregates(output, scan_op, inclusive_output, block_aggregate, (lane_id > 0));\n    }\n\n\n    /// Computes an exclusive threadblock-wide prefix scan using the specified binary \\p scan_op functor.  Each thread contributes one input element.  the call-back functor \\p block_prefix_callback_op is invoked by the first warp in the block, and the value returned by <em>lane</em><sub>0</sub> in that warp is used as the \"seed\" value that logically prefixes the threadblock's scan inputs.  Also provides every thread with the block-wide \\p block_aggregate of all inputs.\n    template <\n        typename ScanOp,\n        typename BlockPrefixCallbackOp>\n    __device__ __forceinline__ void ExclusiveScan(\n        T                       input,                          ///< [in] Calling thread's input item\n        T                       &output,                        ///< [out] Calling thread's output item (may be aliased to \\p input)\n        ScanOp                  scan_op,                        ///< [in] Binary scan operator\n        T                       &block_aggregate,               ///< [out] Threadblock-wide aggregate reduction of input items (exclusive of the \\p block_prefix_callback_op value)\n        BlockPrefixCallbackOp   &block_prefix_callback_op)      ///< [in-out] <b>[<em>warp</em><sub>0</sub> only]</b> Call-back functor for specifying a threadblock-wide prefix to be applied to all inputs.\n    {\n        ExclusiveScan(input, output, scan_op, block_aggregate);\n\n        // Use the first warp to determine the threadblock prefix, returning the result in lane0\n        if (warp_id == 0)\n        {\n            T block_prefix = block_prefix_callback_op(block_aggregate);\n            if (lane_id == 0)\n            {\n                // Share the prefix with all threads\n                temp_storage.block_prefix = block_prefix;\n            }\n        }\n\n        __syncthreads();\n\n        // Incorporate threadblock prefix into outputs\n        T block_prefix = temp_storage.block_prefix;\n        output = (linear_tid == 0) ?\n            block_prefix :\n            scan_op(block_prefix, output);\n    }\n\n\n    /// Computes an exclusive threadblock-wide prefix scan using addition (+) as the scan operator.  Each thread contributes one input element.  Also provides every thread with the block-wide \\p block_aggregate of all inputs.\n    __device__ __forceinline__ void ExclusiveSum(\n        T                       input,                          ///< [in] Calling thread's input item\n        T                       &output,                        ///< [out] Calling thread's output item (may be aliased to \\p input)\n        T                       &block_aggregate)               ///< [out] Threadblock-wide aggregate reduction of input items\n    {\n        Sum     scan_op;\n        T       inclusive_output;\n\n        WarpScan(temp_storage.warp_scan[warp_id]).Sum(input, inclusive_output, output);\n\n        // Update outputs and block_aggregate with warp-wide aggregates from lane WARP_THREADS-1\n        ApplyWarpAggregates(output, scan_op, inclusive_output, block_aggregate);\n    }\n\n\n    /// Computes an exclusive threadblock-wide prefix scan using addition (+) as the scan operator.  Each thread contributes one input element.  Instead of using 0 as the threadblock-wide prefix, the call-back functor \\p block_prefix_callback_op is invoked by the first warp in the block, and the value returned by <em>lane</em><sub>0</sub> in that warp is used as the \"seed\" value that logically prefixes the threadblock's scan inputs.  Also provides every thread with the block-wide \\p block_aggregate of all inputs.\n    template <typename BlockPrefixCallbackOp>\n    __device__ __forceinline__ void ExclusiveSum(\n        T                       input,                          ///< [in] Calling thread's input item\n        T                       &output,                        ///< [out] Calling thread's output item (may be aliased to \\p input)\n        T                       &block_aggregate,               ///< [out] Threadblock-wide aggregate reduction of input items (exclusive of the \\p block_prefix_callback_op value)\n        BlockPrefixCallbackOp   &block_prefix_callback_op)      ///< [in-out] <b>[<em>warp</em><sub>0</sub> only]</b> Call-back functor for specifying a threadblock-wide prefix to be applied to all inputs.\n    {\n        ExclusiveSum(input, output, block_aggregate);\n\n        // Use the first warp to determine the threadblock prefix, returning the result in lane0\n        if (warp_id == 0)\n        {\n            T block_prefix = block_prefix_callback_op(block_aggregate);\n            if (lane_id == 0)\n            {\n                // Share the prefix with all threads\n                temp_storage.block_prefix = block_prefix;\n            }\n        }\n\n        __syncthreads();\n\n        // Incorporate threadblock prefix into outputs\n        Sum scan_op;\n        T block_prefix = temp_storage.block_prefix;\n        output = scan_op(block_prefix, output);\n    }\n\n\n    /// Computes an inclusive threadblock-wide prefix scan using the specified binary \\p scan_op functor.  Each thread contributes one input element.  Also provides every thread with the block-wide \\p block_aggregate of all inputs.\n    template <typename ScanOp>\n    __device__ __forceinline__ void InclusiveScan(\n        T               input,                          ///< [in] Calling thread's input item\n        T               &output,                        ///< [out] Calling thread's output item (may be aliased to \\p input)\n        ScanOp          scan_op,                        ///< [in] Binary scan operator\n        T               &block_aggregate)               ///< [out] Threadblock-wide aggregate reduction of input items\n    {\n        WarpScan(temp_storage.warp_scan[warp_id]).InclusiveScan(input, output, scan_op);\n\n        // Update outputs and block_aggregate with warp-wide aggregates from lane WARP_THREADS-1\n        ApplyWarpAggregates(output, scan_op, output, block_aggregate);\n\n    }\n\n\n    /// Computes an inclusive threadblock-wide prefix scan using the specified binary \\p scan_op functor.  Each thread contributes one input element.  the call-back functor \\p block_prefix_callback_op is invoked by the first warp in the block, and the value returned by <em>lane</em><sub>0</sub> in that warp is used as the \"seed\" value that logically prefixes the threadblock's scan inputs.  Also provides every thread with the block-wide \\p block_aggregate of all inputs.\n    template <\n        typename ScanOp,\n        typename BlockPrefixCallbackOp>\n    __device__ __forceinline__ void InclusiveScan(\n        T                       input,                          ///< [in] Calling thread's input item\n        T                       &output,                        ///< [out] Calling thread's output item (may be aliased to \\p input)\n        ScanOp                  scan_op,                        ///< [in] Binary scan operator\n        T                       &block_aggregate,               ///< [out] Threadblock-wide aggregate reduction of input items (exclusive of the \\p block_prefix_callback_op value)\n        BlockPrefixCallbackOp   &block_prefix_callback_op)      ///< [in-out] <b>[<em>warp</em><sub>0</sub> only]</b> Call-back functor for specifying a threadblock-wide prefix to be applied to all inputs.\n    {\n        InclusiveScan(input, output, scan_op, block_aggregate);\n\n        // Use the first warp to determine the threadblock prefix, returning the result in lane0\n        if (warp_id == 0)\n        {\n            T block_prefix = block_prefix_callback_op(block_aggregate);\n            if (lane_id == 0)\n            {\n                // Share the prefix with all threads\n                temp_storage.block_prefix = block_prefix;\n            }\n        }\n\n        __syncthreads();\n\n        // Incorporate threadblock prefix into outputs\n        T block_prefix = temp_storage.block_prefix;\n        output = scan_op(block_prefix, output);\n    }\n\n\n    /// Computes an inclusive threadblock-wide prefix scan using the specified binary \\p scan_op functor.  Each thread contributes one input element.  Also provides every thread with the block-wide \\p block_aggregate of all inputs.\n    __device__ __forceinline__ void InclusiveSum(\n        T               input,                          ///< [in] Calling thread's input item\n        T               &output,                        ///< [out] Calling thread's output item (may be aliased to \\p input)\n        T               &block_aggregate)               ///< [out] Threadblock-wide aggregate reduction of input items\n    {\n        WarpScan(temp_storage.warp_scan[warp_id]).InclusiveSum(input, output);\n\n        // Update outputs and block_aggregate with warp-wide aggregates from lane WARP_THREADS-1\n        ApplyWarpAggregates(output, Sum(), output, block_aggregate);\n    }\n\n\n    /// Computes an inclusive threadblock-wide prefix scan using the specified binary \\p scan_op functor.  Each thread contributes one input element.  Instead of using 0 as the threadblock-wide prefix, the call-back functor \\p block_prefix_callback_op is invoked by the first warp in the block, and the value returned by <em>lane</em><sub>0</sub> in that warp is used as the \"seed\" value that logically prefixes the threadblock's scan inputs.  Also provides every thread with the block-wide \\p block_aggregate of all inputs.\n    template <typename BlockPrefixCallbackOp>\n    __device__ __forceinline__ void InclusiveSum(\n        T                       input,                          ///< [in] Calling thread's input item\n        T                       &output,                        ///< [out] Calling thread's output item (may be aliased to \\p input)\n        T                       &block_aggregate,               ///< [out] Threadblock-wide aggregate reduction of input items (exclusive of the \\p block_prefix_callback_op value)\n        BlockPrefixCallbackOp   &block_prefix_callback_op)      ///< [in-out] <b>[<em>warp</em><sub>0</sub> only]</b> Call-back functor for specifying a threadblock-wide prefix to be applied to all inputs.\n    {\n        InclusiveSum(input, output, block_aggregate);\n\n        // Use the first warp to determine the threadblock prefix, returning the result in lane0\n        if (warp_id == 0)\n        {\n            T block_prefix = block_prefix_callback_op(block_aggregate);\n            if (lane_id == 0)\n            {\n                // Share the prefix with all threads\n                temp_storage.block_prefix = block_prefix;\n            }\n        }\n\n        __syncthreads();\n\n        // Incorporate threadblock prefix into outputs\n        Sum scan_op;\n        T block_prefix = temp_storage.block_prefix;\n        output = scan_op(block_prefix, output);\n    }\n\n};\n\n\n}               // CUB namespace\nCUB_NS_POSTFIX  // Optional outer namespace(s)\n\n"
  },
  {
    "path": "external/cub-1.3.2/cub/block_range/block_range_histo.cuh",
    "content": "/******************************************************************************\n * Copyright (c) 2011, Duane Merrill.  All rights reserved.\n * Copyright (c) 2011-2014, NVIDIA CORPORATION.  All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *     * Redistributions of source code must retain the above copyright\n *       notice, this list of conditions and the following disclaimer.\n *     * Redistributions in binary form must reproduce the above copyright\n *       notice, this list of conditions and the following disclaimer in the\n *       documentation and/or other materials provided with the distribution.\n *     * Neither the name of the NVIDIA CORPORATION nor the\n *       names of its contributors may be used to endorse or promote products\n *       derived from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n ******************************************************************************/\n\n/**\n * \\file\n * cub::BlockRangeHistogram implements a stateful abstraction of CUDA thread blocks for participating in device-wide selection across a range of tiles.\n */\n\n#pragma once\n\n#include <iterator>\n\n#include \"specializations/block_range_histo_gatomic.cuh\"\n#include \"specializations/block_range_histo_satomic.cuh\"\n#include \"specializations/block_range_histo_sort.cuh\"\n#include \"../util_type.cuh\"\n#include \"../grid/grid_mapping.cuh\"\n#include \"../grid/grid_even_share.cuh\"\n#include \"../grid/grid_queue.cuh\"\n#include \"../util_namespace.cuh\"\n\n/// Optional outer namespace(s)\nCUB_NS_PREFIX\n\n/// CUB namespace\nnamespace cub {\n\n\n/******************************************************************************\n * Algorithmic variants\n ******************************************************************************/\n\n\n/**\n * \\brief DeviceHistogramAlgorithm enumerates alternative algorithms for BlockRangeHistogram.\n */\nenum DeviceHistogramAlgorithm\n{\n\n    /**\n     * \\par Overview\n     * A two-kernel approach in which:\n     * -# Thread blocks in the first kernel aggregate their own privatized\n     *    histograms using block-wide sorting (see BlockHistogramAlgorithm::BLOCK_HISTO_SORT).\n     * -# A single thread block in the second kernel reduces them into the output histogram(s).\n     *\n     * \\par Performance Considerations\n     * Delivers consistent throughput regardless of sample bin distribution.\n     *\n     * However, because histograms are privatized in shared memory, a large\n     * number of bins (e.g., thousands) may adversely affect occupancy and\n     * performance (or even the ability to launch).\n     */\n    DEVICE_HISTO_SORT,\n\n\n    /**\n     * \\par Overview\n     * A two-kernel approach in which:\n     * -# Thread blocks in the first kernel aggregate their own privatized\n     *    histograms using shared-memory \\p atomicAdd().\n     * -# A single thread block in the second kernel reduces them into the\n     *    output histogram(s).\n     *\n     * \\par Performance Considerations\n     * Performance is strongly tied to the hardware implementation of atomic\n     * addition, and may be significantly degraded for non uniformly-random\n     * input distributions where many concurrent updates are likely to be\n     * made to the same bin counter.\n     *\n     * However, because histograms are privatized in shared memory, a large\n     * number of bins (e.g., thousands) may adversely affect occupancy and\n     * performance (or even the ability to launch).\n     */\n    DEVICE_HISTO_SHARED_ATOMIC,\n\n\n    /**\n     * \\par Overview\n     * A single-kernel approach in which thread blocks update the output histogram(s) directly\n     * using global-memory \\p atomicAdd().\n     *\n     * \\par Performance Considerations\n     * Performance is strongly tied to the hardware implementation of atomic\n     * addition, and may be significantly degraded for non uniformly-random\n     * input distributions where many concurrent updates are likely to be\n     * made to the same bin counter.\n     *\n     * Performance is not significantly impacted when computing histograms having large\n     * numbers of bins (e.g., thousands).\n     */\n    DEVICE_HISTO_GLOBAL_ATOMIC,\n\n};\n\n\n/******************************************************************************\n * Tuning policy\n ******************************************************************************/\n\n/**\n * Parameterizable tuning policy type for BlockRangeHistogram\n */\ntemplate <\n    int                             _BLOCK_THREADS,         ///< Threads per thread block\n    int                             _ITEMS_PER_THREAD,      ///< Items per thread (per tile of input)\n    DeviceHistogramAlgorithm        _HISTO_ALGORITHM,       ///< Cooperative histogram algorithm to use\n    GridMappingStrategy             _GRID_MAPPING>          ///< How to map tiles of input onto thread blocks\nstruct BlockRangeHistogramPolicy\n{\n    enum\n    {\n        BLOCK_THREADS       = _BLOCK_THREADS,               ///< Threads per thread block\n        ITEMS_PER_THREAD    = _ITEMS_PER_THREAD,            ///< Items per thread (per tile of input)\n    };\n\n    static const DeviceHistogramAlgorithm   HISTO_ALGORITHM     = _HISTO_ALGORITHM;     ///< Cooperative histogram algorithm to use\n    static const GridMappingStrategy        GRID_MAPPING        = _GRID_MAPPING;        ///< How to map tiles of input onto thread blocks\n};\n\n\n\n/******************************************************************************\n * Thread block abstractions\n ******************************************************************************/\n\n/**\n * \\brief BlockRangeHistogram implements a stateful abstraction of CUDA thread blocks for participating in device-wide selection across a range of tiles.\n */\ntemplate <\n    typename    BlockRangeHistogramPolicy,      ///< Parameterized BlockRangeHistogramPolicy tuning policy type\n    int         BINS,                           ///< Number of histogram bins per channel\n    int         CHANNELS,                       ///< Number of channels interleaved in the input data (may be greater than the number of active channels being histogrammed)\n    int         ACTIVE_CHANNELS,                ///< Number of channels actively being histogrammed\n    typename    InputIterator,                  ///< Random-access input iterator type for reading samples.  Must have an an InputIterator::value_type that, when cast as an integer, falls in the range [0..BINS-1]\n    typename    HistoCounter,                   ///< Integer type for counting sample occurrences per histogram bin\n    typename    Offset>                         ///< Signed integer type for global offsets\nstruct BlockRangeHistogram\n{\n    //---------------------------------------------------------------------\n    // Types and constants\n    //---------------------------------------------------------------------\n\n    // Histogram grid algorithm\n    static const DeviceHistogramAlgorithm HISTO_ALGORITHM = BlockRangeHistogramPolicy::HISTO_ALGORITHM;\n\n    // Alternative internal implementation types\n    typedef BlockRangeHistogramSort<            BlockRangeHistogramPolicy, BINS, CHANNELS, ACTIVE_CHANNELS, InputIterator, HistoCounter, Offset>   BlockRangeHistogramSortT;\n    typedef BlockRangeHistogramSharedAtomic<    BlockRangeHistogramPolicy, BINS, CHANNELS, ACTIVE_CHANNELS, InputIterator, HistoCounter, Offset>   BlockRangeHistogramSharedAtomicT;\n    typedef BlockRangeHistogramGlobalAtomic<    BlockRangeHistogramPolicy, BINS, CHANNELS, ACTIVE_CHANNELS, InputIterator, HistoCounter, Offset>   BlockRangeHistogramGlobalAtomicT;\n\n    // Internal block sweep histogram type\n    typedef typename If<(HISTO_ALGORITHM == DEVICE_HISTO_SORT),\n        BlockRangeHistogramSortT,\n        typename If<(HISTO_ALGORITHM == DEVICE_HISTO_SHARED_ATOMIC),\n            BlockRangeHistogramSharedAtomicT,\n            BlockRangeHistogramGlobalAtomicT>::Type>::Type InternalBlockDelegate;\n\n    enum\n    {\n        TILE_ITEMS = InternalBlockDelegate::TILE_ITEMS,\n    };\n\n\n    // Temporary storage type\n    typedef typename InternalBlockDelegate::TempStorage TempStorage;\n\n    //---------------------------------------------------------------------\n    // Per-thread fields\n    //---------------------------------------------------------------------\n\n    // Internal block delegate\n    InternalBlockDelegate internal_delegate;\n\n\n    //---------------------------------------------------------------------\n    // Interface\n    //---------------------------------------------------------------------\n\n    /**\n     * Constructor\n     */\n    __device__ __forceinline__ BlockRangeHistogram(\n        TempStorage         &temp_storage,                                  ///< Reference to temp_storage\n        InputIterator     d_in,                                           ///< Input data to reduce\n        HistoCounter*       (&d_out_histograms)[ACTIVE_CHANNELS])           ///< Reference to output histograms\n    :\n        internal_delegate(temp_storage, d_in, d_out_histograms)\n    {}\n\n\n    /**\n     * \\brief Reduce a consecutive segment of input tiles\n     */\n    __device__ __forceinline__ void ConsumeRange(\n        Offset   block_offset,                       ///< [in] Threadblock begin offset (inclusive)\n        Offset   block_end)                          ///< [in] Threadblock end offset (exclusive)\n    {\n        // Consume subsequent full tiles of input\n        while (block_offset + TILE_ITEMS <= block_end)\n        {\n            internal_delegate.ConsumeTile<true>(block_offset);\n            block_offset += TILE_ITEMS;\n        }\n\n        // Consume a partially-full tile\n        if (block_offset < block_end)\n        {\n            int valid_items = block_end - block_offset;\n            internal_delegate.ConsumeTile<false>(block_offset, valid_items);\n        }\n\n        // Aggregate output\n        internal_delegate.AggregateOutput();\n    }\n\n\n    /**\n     * Reduce a consecutive segment of input tiles\n     */\n    __device__ __forceinline__ void ConsumeRange(\n        Offset                              num_items,          ///< [in] Total number of global input items\n        GridEvenShare<Offset>               &even_share,        ///< [in] GridEvenShare descriptor\n        GridQueue<Offset>                   &queue,             ///< [in,out] GridQueue descriptor\n        Int2Type<GRID_MAPPING_EVEN_SHARE>   is_even_share)      ///< [in] Marker type indicating this is an even-share mapping\n    {\n        even_share.BlockInit();\n        ConsumeRange(even_share.block_offset, even_share.block_end);\n    }\n\n\n    /**\n     * Dequeue and reduce tiles of items as part of a inter-block scan\n     */\n    __device__ __forceinline__ void ConsumeRange(\n        int                 num_items,          ///< Total number of input items\n        GridQueue<Offset>   queue)              ///< Queue descriptor for assigning tiles of work to thread blocks\n    {\n        // Shared block offset\n        __shared__ Offset shared_block_offset;\n\n        // We give each thread block at least one tile of input.\n        Offset block_offset      = blockIdx.x * TILE_ITEMS;\n        Offset even_share_base   = gridDim.x * TILE_ITEMS;\n\n        // Process full tiles of input\n        while (block_offset + TILE_ITEMS <= num_items)\n        {\n            internal_delegate.ConsumeTile<true>(block_offset);\n\n            // Dequeue up to TILE_ITEMS\n            if (threadIdx.x == 0)\n                shared_block_offset = queue.Drain(TILE_ITEMS) + even_share_base;\n\n            __syncthreads();\n\n            block_offset = shared_block_offset;\n\n            __syncthreads();\n        }\n\n        // Consume a partially-full tile\n        if (block_offset < num_items)\n        {\n            int valid_items = num_items - block_offset;\n            internal_delegate.ConsumeTile<false>(block_offset, valid_items);\n        }\n\n        // Aggregate output\n        internal_delegate.AggregateOutput();\n    }\n\n\n    /**\n     * Dequeue and reduce tiles of items as part of a inter-block scan\n     */\n    __device__ __forceinline__ void ConsumeRange(\n        Offset                          num_items,          ///< [in] Total number of global input items\n        GridEvenShare<Offset>           &even_share,        ///< [in] GridEvenShare descriptor\n        GridQueue<Offset>               &queue,             ///< [in,out] GridQueue descriptor\n        Int2Type<GRID_MAPPING_DYNAMIC>  is_dynamic)         ///< [in] Marker type indicating this is a dynamic mapping\n    {\n        ConsumeRange(num_items, queue);\n    }\n\n\n};\n\n\n\n\n}               // CUB namespace\nCUB_NS_POSTFIX  // Optional outer namespace(s)\n\n"
  },
  {
    "path": "external/cub-1.3.2/cub/block_range/block_range_radix_sort_downsweep.cuh",
    "content": "/******************************************************************************\n * Copyright (c) 2011, Duane Merrill.  All rights reserved.\n * Copyright (c) 2011-2014, NVIDIA CORPORATION.  All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *     * Redistributions of source code must retain the above copyright\n *       notice, this list of conditions and the following disclaimer.\n *     * Redistributions in binary form must reproduce the above copyright\n *       notice, this list of conditions and the following disclaimer in the\n *       documentation and/or other materials provided with the distribution.\n *     * Neither the name of the NVIDIA CORPORATION nor the\n *       names of its contributors may be used to endorse or promote products\n *       derived from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n ******************************************************************************/\n\n/**\n * \\file\n * BlockRangeRadixSortDownsweep implements a stateful abstraction of CUDA thread blocks for participating in device-wide radix sort downsweep across a range of tiles.\n */\n\n\n#pragma once\n\n#include \"../thread/thread_load.cuh\"\n#include \"../block/block_load.cuh\"\n#include \"../block/block_store.cuh\"\n#include \"../block/block_radix_rank.cuh\"\n#include \"../block/block_exchange.cuh\"\n#include \"../util_type.cuh\"\n#include \"../iterator/cache_modified_input_iterator.cuh\"\n#include \"../util_namespace.cuh\"\n\n/// Optional outer namespace(s)\nCUB_NS_PREFIX\n\n/// CUB namespace\nnamespace cub {\n\n\n/******************************************************************************\n * Tuning policy types\n ******************************************************************************/\n\n/**\n * Types of scattering strategies\n */\nenum RadixSortScatterAlgorithm\n{\n    RADIX_SORT_SCATTER_DIRECT,      ///< Scatter directly from registers to global bins\n    RADIX_SORT_SCATTER_TWO_PHASE,   ///< First scatter from registers into shared memory bins, then into global bins\n};\n\n\n/**\n * Parameterizable tuning policy type for BlockRangeRadixSortDownsweep\n */\ntemplate <\n    int                         _BLOCK_THREADS,             ///< Threads per thread block\n    int                         _ITEMS_PER_THREAD,          ///< Items per thread (per tile of input)\n    BlockLoadAlgorithm          _LOAD_ALGORITHM,            ///< The BlockLoad algorithm to use\n    CacheLoadModifier           _LOAD_MODIFIER,             ///< Cache load modifier for reading keys (and values)\n    bool                        _EXCHANGE_TIME_SLICING,     ///< Whether or not to time-slice key/value exchanges through shared memory to lower shared memory pressure\n    bool                        _MEMOIZE_OUTER_SCAN,        ///< Whether or not to buffer outer raking scan partials to incur fewer shared memory reads at the expense of higher register pressure.  See BlockScanAlgorithm::BLOCK_SCAN_RAKING_MEMOIZE for more details.\n    BlockScanAlgorithm          _INNER_SCAN_ALGORITHM,      ///< The BlockScan algorithm algorithm to use\n    RadixSortScatterAlgorithm   _SCATTER_ALGORITHM,         ///< The scattering strategy to use\n    cudaSharedMemConfig         _SMEM_CONFIG,               ///< Shared memory bank mode\n    int                         _RADIX_BITS>                ///< The number of radix bits, i.e., log2(bins)\nstruct BlockRangeRadixSortDownsweepPolicy\n{\n    enum\n    {\n        BLOCK_THREADS           = _BLOCK_THREADS,           ///< Threads per thread block\n        ITEMS_PER_THREAD        = _ITEMS_PER_THREAD,        ///< Items per thread (per tile of input)\n        EXCHANGE_TIME_SLICING   = _EXCHANGE_TIME_SLICING,   ///< Whether or not to time-slice key/value exchanges through shared memory to lower shared memory pressure\n        RADIX_BITS              = _RADIX_BITS,              ///< The number of radix bits, i.e., log2(bins)\n        MEMOIZE_OUTER_SCAN      = _MEMOIZE_OUTER_SCAN,      ///< Whether or not to buffer outer raking scan partials to incur fewer shared memory reads at the expense of higher register pressure.  See BlockScanAlgorithm::BLOCK_SCAN_RAKING_MEMOIZE for more details.\n    };\n\n    static const BlockLoadAlgorithm         LOAD_ALGORITHM          = _LOAD_ALGORITHM;          ///< The BlockLoad algorithm to use\n    static const CacheLoadModifier          LOAD_MODIFIER           = _LOAD_MODIFIER;           ///< Cache load modifier for reading keys (and values)\n    static const BlockScanAlgorithm         INNER_SCAN_ALGORITHM    = _INNER_SCAN_ALGORITHM;    ///< The BlockScan algorithm algorithm to use\n    static const RadixSortScatterAlgorithm  SCATTER_ALGORITHM       = _SCATTER_ALGORITHM;       ///< The scattering strategy to use\n    static const cudaSharedMemConfig        SMEM_CONFIG             = _SMEM_CONFIG;             ///< Shared memory bank mode\n};\n\n\n/******************************************************************************\n * Thread block abstractions\n ******************************************************************************/\n\n/**\n * \\brief BlockRangeRadixSortDownsweep implements a stateful abstraction of CUDA thread blocks for participating in device-wide radix sort downsweep across a range of tiles.\n */\ntemplate <\n    typename BlockRangeRadixSortDownsweepPolicy,        ///< Parameterized BlockRangeRadixSortDownsweepPolicy tuning policy type\n    bool     DESCENDING,                                   ///< Whether or not the sorted-order is high-to-low\n    typename Key,                                       ///< Key type\n    typename Value,                                     ///< Value type\n    typename Offset>                                    ///< Signed integer type for global offsets\nstruct BlockRangeRadixSortDownsweep\n{\n    //---------------------------------------------------------------------\n    // Type definitions and constants\n    //---------------------------------------------------------------------\n\n    // Appropriate unsigned-bits representation of Key\n    typedef typename Traits<Key>::UnsignedBits UnsignedBits;\n\n    static const UnsignedBits MIN_KEY = Traits<Key>::MIN_KEY;\n    static const UnsignedBits MAX_KEY = Traits<Key>::MAX_KEY;\n\n    static const BlockLoadAlgorithm         LOAD_ALGORITHM          = BlockRangeRadixSortDownsweepPolicy::LOAD_ALGORITHM;\n    static const CacheLoadModifier          LOAD_MODIFIER           = BlockRangeRadixSortDownsweepPolicy::LOAD_MODIFIER;\n    static const BlockScanAlgorithm         INNER_SCAN_ALGORITHM    = BlockRangeRadixSortDownsweepPolicy::INNER_SCAN_ALGORITHM;\n    static const RadixSortScatterAlgorithm  SCATTER_ALGORITHM       = BlockRangeRadixSortDownsweepPolicy::SCATTER_ALGORITHM;\n    static const cudaSharedMemConfig        SMEM_CONFIG             = BlockRangeRadixSortDownsweepPolicy::SMEM_CONFIG;\n\n    enum\n    {\n        BLOCK_THREADS           = BlockRangeRadixSortDownsweepPolicy::BLOCK_THREADS,\n        ITEMS_PER_THREAD        = BlockRangeRadixSortDownsweepPolicy::ITEMS_PER_THREAD,\n        EXCHANGE_TIME_SLICING   = BlockRangeRadixSortDownsweepPolicy::EXCHANGE_TIME_SLICING,\n        RADIX_BITS              = BlockRangeRadixSortDownsweepPolicy::RADIX_BITS,\n        MEMOIZE_OUTER_SCAN      = BlockRangeRadixSortDownsweepPolicy::MEMOIZE_OUTER_SCAN,\n        TILE_ITEMS              = BLOCK_THREADS * ITEMS_PER_THREAD,\n\n        RADIX_DIGITS            = 1 << RADIX_BITS,\n        KEYS_ONLY               = Equals<Value, NullType>::VALUE,\n\n        WARP_THREADS            = CUB_PTX_LOG_WARP_THREADS,\n        WARPS                   = (BLOCK_THREADS + WARP_THREADS - 1) / WARP_THREADS,\n\n        BYTES_PER_SIZET         = sizeof(Offset),\n        LOG_BYTES_PER_SIZET     = Log2<BYTES_PER_SIZET>::VALUE,\n\n        LOG_SMEM_BANKS          = CUB_PTX_LOG_SMEM_BANKS,\n        SMEM_BANKS              = 1 << LOG_SMEM_BANKS,\n\n        DIGITS_PER_SCATTER_PASS = BLOCK_THREADS / SMEM_BANKS,\n        SCATTER_PASSES          = RADIX_DIGITS / DIGITS_PER_SCATTER_PASS,\n\n        LOG_STORE_TXN_THREADS   = LOG_SMEM_BANKS,\n        STORE_TXN_THREADS       = 1 << LOG_STORE_TXN_THREADS,\n    };\n\n    // Input iterator wrapper types\n    typedef CacheModifiedInputIterator<LOAD_MODIFIER, UnsignedBits, Offset>  KeysItr;\n    typedef CacheModifiedInputIterator<LOAD_MODIFIER, Value, Offset>         ValuesItr;\n\n    // BlockRadixRank type\n    typedef BlockRadixRank<\n        BLOCK_THREADS,\n        RADIX_BITS,\n        DESCENDING,\n        MEMOIZE_OUTER_SCAN,\n        INNER_SCAN_ALGORITHM,\n        SMEM_CONFIG> BlockRadixRank;\n\n    // BlockLoad type (keys)\n    typedef BlockLoad<\n        KeysItr,\n        BLOCK_THREADS,\n        ITEMS_PER_THREAD,\n        LOAD_ALGORITHM,\n        EXCHANGE_TIME_SLICING> BlockLoadKeys;\n\n    // BlockLoad type (values)\n    typedef BlockLoad<\n        ValuesItr,\n        BLOCK_THREADS,\n        ITEMS_PER_THREAD,\n        LOAD_ALGORITHM,\n        EXCHANGE_TIME_SLICING> BlockLoadValues;\n\n    // BlockExchange type (keys)\n    typedef BlockExchange<\n        UnsignedBits,\n        BLOCK_THREADS,\n        ITEMS_PER_THREAD,\n        EXCHANGE_TIME_SLICING> BlockExchangeKeys;\n\n    // BlockExchange type (values)\n    typedef BlockExchange<\n        Value,\n        BLOCK_THREADS,\n        ITEMS_PER_THREAD,\n        EXCHANGE_TIME_SLICING> BlockExchangeValues;\n\n\n    /**\n     * Shared memory storage layout\n     */\n    struct _TempStorage\n    {\n        Offset  relative_bin_offsets[RADIX_DIGITS + 1];\n        bool    short_circuit;\n\n        union\n        {\n            typename BlockRadixRank::TempStorage        ranking;\n            typename BlockLoadKeys::TempStorage         load_keys;\n            typename BlockLoadValues::TempStorage       load_values;\n            typename BlockExchangeKeys::TempStorage     exchange_keys;\n            typename BlockExchangeValues::TempStorage   exchange_values;\n        };\n    };\n\n\n    /// Alias wrapper allowing storage to be unioned\n    struct TempStorage : Uninitialized<_TempStorage> {};\n\n\n    //---------------------------------------------------------------------\n    // Thread fields\n    //---------------------------------------------------------------------\n\n    // Shared storage for this CTA\n    _TempStorage    &temp_storage;\n\n    // Input and output device pointers\n    KeysItr         d_keys_in;\n    ValuesItr       d_values_in;\n    UnsignedBits    *d_keys_out;\n    Value           *d_values_out;\n\n    // The global scatter base offset for each digit (valid in the first RADIX_DIGITS threads)\n    Offset          bin_offset;\n\n    // The least-significant bit position of the current digit to extract\n    int             current_bit;\n\n    // Number of bits in current digit\n    int             num_bits;\n\n    // Whether to short-ciruit\n    bool            short_circuit;\n\n\n\n    //---------------------------------------------------------------------\n    // Utility methods\n    //---------------------------------------------------------------------\n\n    /**\n     * Decodes given keys to lookup digit offsets in shared memory\n     */\n    __device__ __forceinline__ void DecodeRelativeBinOffsets(\n        UnsignedBits    (&twiddled_keys)[ITEMS_PER_THREAD],\n        Offset          (&relative_bin_offsets)[ITEMS_PER_THREAD])\n    {\n        #pragma unroll\n        for (int KEY = 0; KEY < ITEMS_PER_THREAD; KEY++)\n        {\n            UnsignedBits digit = BFE(twiddled_keys[KEY], current_bit, num_bits);\n\n            // Lookup base digit offset from shared memory\n            relative_bin_offsets[KEY] = temp_storage.relative_bin_offsets[digit];\n        }\n    }\n\n\n    /**\n     * Scatter ranked items to global memory\n     */\n    template <bool FULL_TILE, typename T>\n    __device__ __forceinline__ void ScatterItems(\n        T       (&items)[ITEMS_PER_THREAD],\n        int     (&local_ranks)[ITEMS_PER_THREAD],\n        Offset  (&relative_bin_offsets)[ITEMS_PER_THREAD],\n        T       *d_out,\n        Offset  valid_items)\n    {\n        #pragma unroll\n        for (int ITEM = 0; ITEM < ITEMS_PER_THREAD; ++ITEM)\n        {\n            // Scatter if not out-of-bounds\n            if (FULL_TILE || (local_ranks[ITEM] < valid_items))\n            {\n                d_out[relative_bin_offsets[ITEM] + local_ranks[ITEM]] = items[ITEM];\n            }\n        }\n    }\n\n\n    /**\n     * Scatter ranked keys directly to global memory\n     */\n    template <bool FULL_TILE>\n    __device__ __forceinline__ void ScatterKeys(\n        UnsignedBits                            (&twiddled_keys)[ITEMS_PER_THREAD],\n        Offset                                  (&relative_bin_offsets)[ITEMS_PER_THREAD],\n        int                                     (&ranks)[ITEMS_PER_THREAD],\n        Offset                                  valid_items,\n        Int2Type<RADIX_SORT_SCATTER_DIRECT>     scatter_algorithm)\n    {\n        // Compute scatter offsets\n        DecodeRelativeBinOffsets(twiddled_keys, relative_bin_offsets);\n\n        // Untwiddle keys before outputting\n        UnsignedBits keys[ITEMS_PER_THREAD];\n\n        #pragma unroll\n        for (int KEY = 0; KEY < ITEMS_PER_THREAD; KEY++)\n        {\n            keys[KEY] = Traits<Key>::TwiddleOut(twiddled_keys[KEY]);\n        }\n\n        // Scatter to global\n        ScatterItems<FULL_TILE>(keys, ranks, relative_bin_offsets, d_keys_out, valid_items);\n    }\n\n\n    /**\n     * Scatter ranked keys through shared memory, then to global memory\n     */\n    template <bool FULL_TILE>\n    __device__ __forceinline__ void ScatterKeys(\n        UnsignedBits                            (&twiddled_keys)[ITEMS_PER_THREAD],\n        Offset                                  (&relative_bin_offsets)[ITEMS_PER_THREAD],\n        int                                     (&ranks)[ITEMS_PER_THREAD],\n        Offset                                  valid_items,\n        Int2Type<RADIX_SORT_SCATTER_TWO_PHASE>  scatter_algorithm)\n    {\n        // Exchange keys through shared memory\n        BlockExchangeKeys(temp_storage.exchange_keys).ScatterToStriped(twiddled_keys, ranks);\n\n        // Compute striped local ranks\n        int local_ranks[ITEMS_PER_THREAD];\n\n        #pragma unroll\n        for (int ITEM = 0; ITEM < ITEMS_PER_THREAD; ++ITEM)\n        {\n            local_ranks[ITEM] = threadIdx.x + (ITEM * BLOCK_THREADS);\n        }\n\n        // Scatter directly\n        ScatterKeys<FULL_TILE>(\n            twiddled_keys,\n            relative_bin_offsets,\n            local_ranks,\n            valid_items,\n            Int2Type<RADIX_SORT_SCATTER_DIRECT>());\n    }\n\n\n    /**\n     * Scatter ranked values directly to global memory\n     */\n    template <bool FULL_TILE>\n    __device__ __forceinline__ void ScatterValues(\n        Value                                   (&values)[ITEMS_PER_THREAD],\n        Offset                                  (&relative_bin_offsets)[ITEMS_PER_THREAD],\n        int                                     (&ranks)[ITEMS_PER_THREAD],\n        Offset                                  valid_items,\n        Int2Type<RADIX_SORT_SCATTER_DIRECT>     scatter_algorithm)\n    {\n        // Scatter to global\n        ScatterItems<FULL_TILE>(values, ranks, relative_bin_offsets, d_values_out, valid_items);\n    }\n\n\n    /**\n     * Scatter ranked values through shared memory, then to global memory\n     */\n    template <bool FULL_TILE>\n    __device__ __forceinline__ void ScatterValues(\n        Value                                   (&values)[ITEMS_PER_THREAD],\n        Offset                                  (&relative_bin_offsets)[ITEMS_PER_THREAD],\n        int                                     (&ranks)[ITEMS_PER_THREAD],\n        Offset                                  valid_items,\n        Int2Type<RADIX_SORT_SCATTER_TWO_PHASE>  scatter_algorithm)\n    {\n        __syncthreads();\n\n        // Exchange keys through shared memory\n        BlockExchangeValues(temp_storage.exchange_values).ScatterToStriped(values, ranks);\n\n        // Compute striped local ranks\n        int local_ranks[ITEMS_PER_THREAD];\n\n        #pragma unroll\n        for (int ITEM = 0; ITEM < ITEMS_PER_THREAD; ++ITEM)\n        {\n            local_ranks[ITEM] = threadIdx.x + (ITEM * BLOCK_THREADS);\n        }\n\n        // Scatter directly\n        ScatterValues<FULL_TILE>(\n            values,\n            relative_bin_offsets,\n            local_ranks,\n            valid_items,\n            Int2Type<RADIX_SORT_SCATTER_DIRECT>());\n    }\n\n\n    /**\n     * Load a tile of items (specialized for full tile)\n     */\n    template <typename BlockLoadT, typename T, typename InputIterator>\n    __device__ __forceinline__ void LoadItems(\n        BlockLoadT      &block_loader, \n        T               (&items)[ITEMS_PER_THREAD],\n        InputIterator   d_in,\n        Offset          valid_items,\n        Int2Type<true>  is_full_tile)\n    {\n        block_loader.Load(d_in, items);\n    }\n\n\n    /**\n     * Load a tile of items (specialized for partial tile)\n     */\n    template <typename BlockLoadT, typename T, typename InputIterator>\n    __device__ __forceinline__ void LoadItems(\n        BlockLoadT      &block_loader, \n        T               (&items)[ITEMS_PER_THREAD],\n        InputIterator   d_in,\n        Offset          valid_items,\n        Int2Type<false> is_full_tile)\n    {\n        block_loader.Load(d_in, items, valid_items);\n    }\n\n\n    /**\n     * Truck along associated values\n     */\n    template <bool FULL_TILE, typename _Value>\n    __device__ __forceinline__ void GatherScatterValues(\n        _Value      (&values)[ITEMS_PER_THREAD],\n        Offset      (&relative_bin_offsets)[ITEMS_PER_THREAD],\n        int         (&ranks)[ITEMS_PER_THREAD],\n        Offset      block_offset,\n        Offset      valid_items)\n    {\n        __syncthreads();\n\n        BlockLoadValues loader(temp_storage.load_values);\n        LoadItems(\n            loader,\n            values,\n            d_values_in + block_offset,\n            valid_items,\n            Int2Type<FULL_TILE>());\n\n        ScatterValues<FULL_TILE>(\n            values,\n            relative_bin_offsets,\n            ranks,\n            valid_items,\n            Int2Type<SCATTER_ALGORITHM>());\n    }\n\n\n    /**\n     * Truck along associated values (specialized for key-only sorting)\n     */\n    template <bool FULL_TILE>\n    __device__ __forceinline__ void GatherScatterValues(\n        NullType    (&values)[ITEMS_PER_THREAD],\n        Offset      (&relative_bin_offsets)[ITEMS_PER_THREAD],\n        int         (&ranks)[ITEMS_PER_THREAD],\n        Offset      block_offset,\n        Offset      valid_items)\n    {}\n\n\n    /**\n     * Process tile\n     */\n    template <bool FULL_TILE>\n    __device__ __forceinline__ void ProcessTile(\n        Offset block_offset,\n        const Offset &valid_items = TILE_ITEMS)\n    {\n        // Per-thread tile data\n        UnsignedBits    keys[ITEMS_PER_THREAD];                     // Keys\n        UnsignedBits    twiddled_keys[ITEMS_PER_THREAD];            // Twiddled keys\n        int             ranks[ITEMS_PER_THREAD];                    // For each key, the local rank within the CTA\n        Offset          relative_bin_offsets[ITEMS_PER_THREAD];     // For each key, the global scatter base offset of the corresponding digit\n\n        // Assign max-key to all keys\n        #pragma unroll\n        for (int ITEM = 0; ITEM < ITEMS_PER_THREAD; ++ITEM)\n        {\n            keys[ITEM] = (DESCENDING) ? MIN_KEY : MAX_KEY;\n        }\n\n        // Load tile of keys\n        BlockLoadKeys loader(temp_storage.load_keys);\n        LoadItems(\n            loader,\n            keys,\n            d_keys_in + block_offset,\n            valid_items, \n            Int2Type<FULL_TILE>());\n\n        __syncthreads();\n\n        // Twiddle key bits if necessary\n        #pragma unroll\n        for (int KEY = 0; KEY < ITEMS_PER_THREAD; KEY++)\n        {\n            twiddled_keys[KEY] = Traits<Key>::TwiddleIn(keys[KEY]);\n        }\n\n        // Rank the twiddled keys\n        int inclusive_digit_prefix;\n        BlockRadixRank(temp_storage.ranking).RankKeys(\n            twiddled_keys,\n            ranks,\n            current_bit,\n            num_bits,\n            inclusive_digit_prefix);\n\n        // Update global scatter base offsets for each digit\n        if ((BLOCK_THREADS == RADIX_DIGITS) || (threadIdx.x < RADIX_DIGITS))\n        {\n            int exclusive_digit_prefix;\n\n            // Get exclusive digit prefix from inclusive prefix\n            if (DESCENDING)\n            {\n                // Get the prefix from the next thread (higher bins come first)\n#if CUB_PTX_ARCH >= 300\n                exclusive_digit_prefix = ShuffleDown(inclusive_digit_prefix, 1);\n                if (threadIdx.x == RADIX_DIGITS - 1)\n                    exclusive_digit_prefix = 0;\n#else\n                volatile int* exchange = reinterpret_cast<int *>(temp_storage.relative_bin_offsets);\n                exchange[threadIdx.x + 1] = 0;\n                exchange[threadIdx.x] = inclusive_digit_prefix;\n                exclusive_digit_prefix = exchange[threadIdx.x + 1];\n#endif\n            }\n            else\n            {\n                // Get the prefix from the previous thread (lower bins come first)\n#if CUB_PTX_ARCH >= 300\n                exclusive_digit_prefix = ShuffleUp(inclusive_digit_prefix, 1);\n                if (threadIdx.x == 0)\n                    exclusive_digit_prefix = 0;\n#else\n                volatile int* exchange = reinterpret_cast<int *>(temp_storage.relative_bin_offsets);\n                exchange[threadIdx.x] = 0;\n                exchange[threadIdx.x + 1] = inclusive_digit_prefix;\n                exclusive_digit_prefix = exchange[threadIdx.x];\n#endif\n            }\n\n            bin_offset -= exclusive_digit_prefix;\n            temp_storage.relative_bin_offsets[threadIdx.x] = bin_offset;\n            bin_offset += inclusive_digit_prefix;\n        }\n\n        __syncthreads();\n\n        // Scatter keys\n        ScatterKeys<FULL_TILE>(twiddled_keys, relative_bin_offsets, ranks, valid_items, Int2Type<SCATTER_ALGORITHM>());\n\n        // Gather/scatter values\n        Value values[ITEMS_PER_THREAD];\n        GatherScatterValues<FULL_TILE>(values, relative_bin_offsets, ranks, block_offset, valid_items);\n    }\n\n\n    /**\n     * Copy tiles within the range of input\n     */\n    template <\n        typename InputIterator,\n        typename T>\n    __device__ __forceinline__ void Copy(\n        InputIterator   d_in,\n        T               *d_out,\n        Offset          block_offset,\n        Offset          block_end)\n    {\n        // Simply copy the input\n        while (block_offset + TILE_ITEMS <= block_end)\n        {\n            T items[ITEMS_PER_THREAD];\n\n            LoadDirectStriped<BLOCK_THREADS>(threadIdx.x, d_in + block_offset, items);\n            __syncthreads();\n            StoreDirectStriped<BLOCK_THREADS>(threadIdx.x, d_out + block_offset, items);\n\n            block_offset += TILE_ITEMS;\n        }\n\n        // Clean up last partial tile with guarded-I/O\n        if (block_offset < block_end)\n        {\n            Offset valid_items = block_end - block_offset;\n\n            T items[ITEMS_PER_THREAD];\n\n            LoadDirectStriped<BLOCK_THREADS>(threadIdx.x, d_in + block_offset, items, valid_items);\n            __syncthreads();\n            StoreDirectStriped<BLOCK_THREADS>(threadIdx.x, d_out + block_offset, items, valid_items);\n        }\n    }\n\n\n    /**\n     * Copy tiles within the range of input (specialized for NullType)\n     */\n    template <typename InputIterator>\n    __device__ __forceinline__ void Copy(\n        InputIterator   d_in,\n        NullType        *d_out,\n        Offset          block_offset,\n        Offset          block_end)\n    {}\n\n\n    //---------------------------------------------------------------------\n    // Interface\n    //---------------------------------------------------------------------\n\n    /**\n     * Constructor\n     */\n    __device__ __forceinline__ BlockRangeRadixSortDownsweep(\n        TempStorage &temp_storage,\n        Offset       bin_offset,\n        Key         *d_keys_in,\n        Key         *d_keys_out,\n        Value       *d_values_in,\n        Value       *d_values_out,\n        int         current_bit,\n        int         num_bits)\n    :\n        temp_storage(temp_storage.Alias()),\n        bin_offset(bin_offset),\n        d_keys_in(reinterpret_cast<UnsignedBits*>(d_keys_in)),\n        d_keys_out(reinterpret_cast<UnsignedBits*>(d_keys_out)),\n        d_values_in(d_values_in),\n        d_values_out(d_values_out),\n        current_bit(current_bit),\n        num_bits(num_bits),\n        short_circuit(false)\n    {}\n\n\n    /**\n     * Constructor\n     */\n    __device__ __forceinline__ BlockRangeRadixSortDownsweep(\n        TempStorage &temp_storage,\n        Offset      num_items,\n        Offset      *d_spine,\n        Key         *d_keys_in,\n        Key         *d_keys_out,\n        Value       *d_values_in,\n        Value       *d_values_out,\n        int         current_bit,\n        int         num_bits)\n    :\n        temp_storage(temp_storage.Alias()),\n        d_keys_in(reinterpret_cast<UnsignedBits*>(d_keys_in)),\n        d_keys_out(reinterpret_cast<UnsignedBits*>(d_keys_out)),\n        d_values_in(d_values_in),\n        d_values_out(d_values_out),\n        current_bit(current_bit),\n        num_bits(num_bits)\n    {\n        // Load digit bin offsets (each of the first RADIX_DIGITS threads will load an offset for that digit)\n        if (threadIdx.x < RADIX_DIGITS)\n        {\n            int bin_idx = (DESCENDING) ?\n                RADIX_DIGITS - threadIdx.x - 1 :\n                threadIdx.x;\n\n            // Short circuit if the first block's histogram has only bin counts of only zeros or problem-size\n            Offset first_block_bin_offset = d_spine[gridDim.x * bin_idx];\n            int predicate = ((first_block_bin_offset == 0) || (first_block_bin_offset == num_items));\n            this->temp_storage.short_circuit = WarpAll(predicate);\n\n            // Load my block's bin offset for my bin\n            bin_offset = d_spine[(gridDim.x * bin_idx) + blockIdx.x];\n        }\n\n        __syncthreads();\n\n        short_circuit = this->temp_storage.short_circuit;\n    }\n\n\n    /**\n     * Distribute keys from a segment of input tiles.\n     */\n    __device__ __forceinline__ void ProcessRegion(\n        Offset          block_offset,\n        const Offset    &block_end)\n    {\n        if (short_circuit)\n        {\n            // Copy keys\n            Copy(d_keys_in, d_keys_out, block_offset, block_end);\n\n            // Copy values\n            Copy(d_values_in, d_values_out, block_offset, block_end);\n        }\n        else\n        {\n            // Process full tiles of tile_items\n            while (block_offset + TILE_ITEMS <= block_end)\n            {\n                ProcessTile<true>(block_offset);\n                block_offset += TILE_ITEMS;\n\n                __syncthreads();\n            }\n\n            // Clean up last partial tile with guarded-I/O\n            if (block_offset < block_end)\n            {\n                ProcessTile<false>(block_offset, block_end - block_offset);\n            }\n        }\n    }\n};\n\n\n\n}               // CUB namespace\nCUB_NS_POSTFIX  // Optional outer namespace(s)\n\n"
  },
  {
    "path": "external/cub-1.3.2/cub/block_range/block_range_radix_sort_upsweep.cuh",
    "content": "/******************************************************************************\n * Copyright (c) 2011, Duane Merrill.  All rights reserved.\n * Copyright (c) 2011-2014, NVIDIA CORPORATION.  All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *     * Redistributions of source code must retain the above copyright\n *       notice, this list of conditions and the following disclaimer.\n *     * Redistributions in binary form must reproduce the above copyright\n *       notice, this list of conditions and the following disclaimer in the\n *       documentation and/or other materials provided with the distribution.\n *     * Neither the name of the NVIDIA CORPORATION nor the\n *       names of its contributors may be used to endorse or promote products\n *       derived from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n ******************************************************************************/\n\n/**\n * \\file\n * BlockRangeRadixSortUpsweep implements a stateful abstraction of CUDA thread blocks for participating in device-wide radix sort upsweep across a range of tiles.\n */\n\n#pragma once\n\n#include \"../thread/thread_reduce.cuh\"\n#include \"../thread/thread_load.cuh\"\n#include \"../block/block_load.cuh\"\n#include \"../util_type.cuh\"\n#include \"../iterator/cache_modified_input_iterator.cuh\"\n#include \"../util_namespace.cuh\"\n\n/// Optional outer namespace(s)\nCUB_NS_PREFIX\n\n/// CUB namespace\nnamespace cub {\n\n/******************************************************************************\n * Tuning policy types\n ******************************************************************************/\n\n/**\n * Parameterizable tuning policy type for BlockRangeRadixSortUpsweep\n */\ntemplate <\n    int                 _BLOCK_THREADS,     ///< Threads per thread block\n    int                 _ITEMS_PER_THREAD,  ///< Items per thread (per tile of input)\n    CacheLoadModifier   _LOAD_MODIFIER,     ///< Cache load modifier for reading keys\n    int                 _RADIX_BITS>        ///< The number of radix bits, i.e., log2(bins)\nstruct BlockRangeRadixSortUpsweepPolicy\n{\n    enum\n    {\n        BLOCK_THREADS       = _BLOCK_THREADS,       ///< Threads per thread block\n        ITEMS_PER_THREAD    = _ITEMS_PER_THREAD,    ///< Items per thread (per tile of input)\n        RADIX_BITS          = _RADIX_BITS,          ///< The number of radix bits, i.e., log2(bins)\n    };\n\n    static const CacheLoadModifier LOAD_MODIFIER = _LOAD_MODIFIER;      ///< Cache load modifier for reading keys\n};\n\n\n/******************************************************************************\n * Thread block abstractions\n ******************************************************************************/\n\n/**\n * \\brief BlockRangeRadixSortUpsweep implements a stateful abstraction of CUDA thread blocks for participating in device-wide radix sort upsweep across a range of tiles.\n */\ntemplate <\n    typename BlockRangeRadixSortUpsweepPolicy,      ///< Parameterized BlockRangeRadixSortUpsweepPolicy tuning policy type\n    typename Key,                                   ///< Key type\n    typename Offset>                                ///< Signed integer type for global offsets\nstruct BlockRangeRadixSortUpsweep\n{\n\n    //---------------------------------------------------------------------\n    // Type definitions and constants\n    //---------------------------------------------------------------------\n\n    typedef typename Traits<Key>::UnsignedBits UnsignedBits;\n\n    // Integer type for digit counters (to be packed into words of PackedCounters)\n    typedef unsigned char DigitCounter;\n\n    // Integer type for packing DigitCounters into columns of shared memory banks\n    typedef unsigned int PackedCounter;\n\n    static const CacheLoadModifier LOAD_MODIFIER = BlockRangeRadixSortUpsweepPolicy::LOAD_MODIFIER;\n\n    enum\n    {\n        RADIX_BITS              = BlockRangeRadixSortUpsweepPolicy::RADIX_BITS,\n        BLOCK_THREADS           = BlockRangeRadixSortUpsweepPolicy::BLOCK_THREADS,\n        KEYS_PER_THREAD         = BlockRangeRadixSortUpsweepPolicy::ITEMS_PER_THREAD,\n\n        RADIX_DIGITS            = 1 << RADIX_BITS,\n\n        LOG_WARP_THREADS        = CUB_PTX_LOG_WARP_THREADS,\n        WARP_THREADS            = 1 << LOG_WARP_THREADS,\n        WARPS                   = (BLOCK_THREADS + WARP_THREADS - 1) / WARP_THREADS,\n\n        TILE_ITEMS              = BLOCK_THREADS * KEYS_PER_THREAD,\n\n        BYTES_PER_COUNTER       = sizeof(DigitCounter),\n        LOG_BYTES_PER_COUNTER   = Log2<BYTES_PER_COUNTER>::VALUE,\n\n        PACKING_RATIO           = sizeof(PackedCounter) / sizeof(DigitCounter),\n        LOG_PACKING_RATIO       = Log2<PACKING_RATIO>::VALUE,\n\n        LOG_COUNTER_LANES       = CUB_MAX(0, RADIX_BITS - LOG_PACKING_RATIO),\n        COUNTER_LANES           = 1 << LOG_COUNTER_LANES,\n\n        // To prevent counter overflow, we must periodically unpack and aggregate the\n        // digit counters back into registers.  Each counter lane is assigned to a\n        // warp for aggregation.\n\n        LANES_PER_WARP          = CUB_MAX(1, (COUNTER_LANES + WARPS - 1) / WARPS),\n\n        // Unroll tiles in batches without risk of counter overflow\n        UNROLL_COUNT            = CUB_MIN(64, 255 / KEYS_PER_THREAD),\n        UNROLLED_ELEMENTS       = UNROLL_COUNT * TILE_ITEMS,\n    };\n\n\n    // Input iterator wrapper types\n    typedef CacheModifiedInputIterator<LOAD_MODIFIER, UnsignedBits, Offset>  KeysItr;\n\n    /**\n     * Shared memory storage layout\n     */\n    struct _TempStorage\n    {\n        union\n        {\n            DigitCounter    digit_counters[COUNTER_LANES][BLOCK_THREADS][PACKING_RATIO];\n            PackedCounter   packed_counters[COUNTER_LANES][BLOCK_THREADS];\n            Offset          digit_partials[RADIX_DIGITS][WARP_THREADS + 1];\n        };\n    };\n\n\n    /// Alias wrapper allowing storage to be unioned\n    struct TempStorage : Uninitialized<_TempStorage> {};\n\n\n    //---------------------------------------------------------------------\n    // Thread fields (aggregate state bundle)\n    //---------------------------------------------------------------------\n\n    // Shared storage for this CTA\n    _TempStorage    &temp_storage;\n\n    // Thread-local counters for periodically aggregating composite-counter lanes\n    Offset          local_counts[LANES_PER_WARP][PACKING_RATIO];\n\n    // Input and output device pointers\n    KeysItr         d_keys_in;\n\n    // The least-significant bit position of the current digit to extract\n    int             current_bit;\n\n    // Number of bits in current digit\n    int             num_bits;\n\n\n\n    //---------------------------------------------------------------------\n    // Helper structure for templated iteration\n    //---------------------------------------------------------------------\n\n    // Iterate\n    template <int COUNT, int MAX>\n    struct Iterate\n    {\n        // BucketKeys\n        static __device__ __forceinline__ void BucketKeys(\n            BlockRangeRadixSortUpsweep     &cta,\n            UnsignedBits                    keys[KEYS_PER_THREAD])\n        {\n            cta.Bucket(keys[COUNT]);\n\n            // Next\n            Iterate<COUNT + 1, MAX>::BucketKeys(cta, keys);\n        }\n    };\n\n    // Terminate\n    template <int MAX>\n    struct Iterate<MAX, MAX>\n    {\n        // BucketKeys\n        static __device__ __forceinline__ void BucketKeys(BlockRangeRadixSortUpsweep &cta, UnsignedBits keys[KEYS_PER_THREAD]) {}\n    };\n\n\n    //---------------------------------------------------------------------\n    // Utility methods\n    //---------------------------------------------------------------------\n\n    /**\n     * Decode a key and increment corresponding smem digit counter\n     */\n    __device__ __forceinline__ void Bucket(UnsignedBits key)\n    {\n        // Perform transform op\n        UnsignedBits converted_key = Traits<Key>::TwiddleIn(key);\n\n        // Extract current digit bits\n        UnsignedBits digit = BFE(converted_key, current_bit, num_bits);\n\n        // Get sub-counter offset\n        UnsignedBits sub_counter = digit & (PACKING_RATIO - 1);\n\n        // Get row offset\n        UnsignedBits row_offset = digit >> LOG_PACKING_RATIO;\n\n        // Increment counter\n        temp_storage.digit_counters[row_offset][threadIdx.x][sub_counter]++;\n    }\n\n\n    /**\n     * Reset composite counters\n     */\n    __device__ __forceinline__ void ResetDigitCounters()\n    {\n        #pragma unroll\n        for (int LANE = 0; LANE < COUNTER_LANES; LANE++)\n        {\n            temp_storage.packed_counters[LANE][threadIdx.x] = 0;\n        }\n    }\n\n\n    /**\n     * Reset the unpacked counters in each thread\n     */\n    __device__ __forceinline__ void ResetUnpackedCounters()\n    {\n        #pragma unroll\n        for (int LANE = 0; LANE < LANES_PER_WARP; LANE++)\n        {\n            #pragma unroll\n            for (int UNPACKED_COUNTER = 0; UNPACKED_COUNTER < PACKING_RATIO; UNPACKED_COUNTER++)\n            {\n                local_counts[LANE][UNPACKED_COUNTER] = 0;\n            }\n        }\n    }\n\n\n    /**\n     * Extracts and aggregates the digit counters for each counter lane\n     * owned by this warp\n     */\n    __device__ __forceinline__ void UnpackDigitCounts()\n    {\n        unsigned int warp_id = threadIdx.x >> LOG_WARP_THREADS;\n        unsigned int warp_tid = threadIdx.x & (WARP_THREADS - 1);\n\n        #pragma unroll\n        for (int LANE = 0; LANE < LANES_PER_WARP; LANE++)\n        {\n            const int counter_lane = (LANE * WARPS) + warp_id;\n            if (counter_lane < COUNTER_LANES)\n            {\n                #pragma unroll\n                for (int PACKED_COUNTER = 0; PACKED_COUNTER < BLOCK_THREADS; PACKED_COUNTER += WARP_THREADS)\n                {\n                    #pragma unroll\n                    for (int UNPACKED_COUNTER = 0; UNPACKED_COUNTER < PACKING_RATIO; UNPACKED_COUNTER++)\n                    {\n                        Offset counter = temp_storage.digit_counters[counter_lane][warp_tid + PACKED_COUNTER][UNPACKED_COUNTER];\n                        local_counts[LANE][UNPACKED_COUNTER] += counter;\n                    }\n                }\n            }\n        }\n    }\n\n\n    /**\n     * Places unpacked counters into smem for final digit reduction\n     */\n    __device__ __forceinline__ void ReduceUnpackedCounts(Offset &bin_count)\n    {\n        unsigned int warp_id = threadIdx.x >> LOG_WARP_THREADS;\n        unsigned int warp_tid = threadIdx.x & (WARP_THREADS - 1);\n\n        // Place unpacked digit counters in shared memory\n        #pragma unroll\n        for (int LANE = 0; LANE < LANES_PER_WARP; LANE++)\n        {\n            int counter_lane = (LANE * WARPS) + warp_id;\n            if (counter_lane < COUNTER_LANES)\n            {\n                int digit_row = counter_lane << LOG_PACKING_RATIO;\n\n                #pragma unroll\n                for (int UNPACKED_COUNTER = 0; UNPACKED_COUNTER < PACKING_RATIO; UNPACKED_COUNTER++)\n                {\n                    temp_storage.digit_partials[digit_row + UNPACKED_COUNTER][warp_tid] =\n                        local_counts[LANE][UNPACKED_COUNTER];\n                }\n            }\n        }\n\n        __syncthreads();\n\n        // Rake-reduce bin_count reductions\n        if (threadIdx.x < RADIX_DIGITS)\n        {\n            bin_count = ThreadReduce<WARP_THREADS>(\n                temp_storage.digit_partials[threadIdx.x],\n                Sum());\n        }\n    }\n\n\n    /**\n     * Processes a single, full tile\n     */\n    __device__ __forceinline__ void ProcessFullTile(Offset block_offset)\n    {\n        // Tile of keys\n        UnsignedBits keys[KEYS_PER_THREAD];\n\n        LoadDirectStriped<BLOCK_THREADS>(threadIdx.x, d_keys_in + block_offset, keys);\n\n        // Prevent hoisting\n//        __threadfence_block();\n//        __syncthreads();\n\n        // Bucket tile of keys\n        Iterate<0, KEYS_PER_THREAD>::BucketKeys(*this, keys);\n    }\n\n\n    /**\n     * Processes a single load (may have some threads masked off)\n     */\n    __device__ __forceinline__ void ProcessPartialTile(\n        Offset block_offset,\n        const Offset &block_end)\n    {\n        // Process partial tile if necessary using single loads\n        block_offset += threadIdx.x;\n        while (block_offset < block_end)\n        {\n            // Load and bucket key\n            UnsignedBits key = d_keys_in[block_offset];\n            Bucket(key);\n            block_offset += BLOCK_THREADS;\n        }\n    }\n\n\n    //---------------------------------------------------------------------\n    // Interface\n    //---------------------------------------------------------------------\n\n    /**\n     * Constructor\n     */\n    __device__ __forceinline__ BlockRangeRadixSortUpsweep(\n        TempStorage &temp_storage,\n        Key         *d_keys_in,\n        int         current_bit,\n        int         num_bits)\n    :\n        temp_storage(temp_storage.Alias()),\n        d_keys_in(reinterpret_cast<UnsignedBits*>(d_keys_in)),\n        current_bit(current_bit),\n        num_bits(num_bits)\n    {}\n\n\n    /**\n     * Compute radix digit histograms from a segment of input tiles.\n     */\n    __device__ __forceinline__ void ProcessRegion(\n        Offset           block_offset,\n        const Offset     &block_end,\n        Offset           &bin_count)                ///< [out] The digit count for tid'th bin (output param, valid in the first RADIX_DIGITS threads)\n    {\n        // Reset digit counters in smem and unpacked counters in registers\n        ResetDigitCounters();\n        ResetUnpackedCounters();\n\n        // Unroll batches of full tiles\n        while (block_offset + UNROLLED_ELEMENTS <= block_end)\n        {\n            for (int i = 0; i < UNROLL_COUNT; ++i)\n            {\n                ProcessFullTile(block_offset);\n                block_offset += TILE_ITEMS;\n            }\n\n            __syncthreads();\n\n            // Aggregate back into local_count registers to prevent overflow\n            UnpackDigitCounts();\n\n            __syncthreads();\n\n            // Reset composite counters in lanes\n            ResetDigitCounters();\n        }\n\n        // Unroll single full tiles\n        while (block_offset + TILE_ITEMS <= block_end)\n        {\n            ProcessFullTile(block_offset);\n            block_offset += TILE_ITEMS;\n        }\n\n        // Process partial tile if necessary\n        ProcessPartialTile(\n            block_offset,\n            block_end);\n\n        __syncthreads();\n\n        // Aggregate back into local_count registers\n        UnpackDigitCounts();\n\n        __syncthreads();\n\n        // Final raking reduction of counts by bin\n        ReduceUnpackedCounts(bin_count);\n    }\n\n};\n\n\n}               // CUB namespace\nCUB_NS_POSTFIX  // Optional outer namespace(s)\n\n"
  },
  {
    "path": "external/cub-1.3.2/cub/block_range/block_range_reduce.cuh",
    "content": "/******************************************************************************\n * Copyright (c) 2011, Duane Merrill.  All rights reserved.\n * Copyright (c) 2011-2014, NVIDIA CORPORATION.  All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *     * Redistributions of source code must retain the above copyright\n *       notice, this list of conditions and the following disclaimer.\n *     * Redistributions in binary form must reproduce the above copyright\n *       notice, this list of conditions and the following disclaimer in the\n *       documentation and/or other materials provided with the distribution.\n *     * Neither the name of the NVIDIA CORPORATION nor the\n *       names of its contributors may be used to endorse or promote products\n *       derived from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n ******************************************************************************/\n\n/**\n * \\file\n * cub::BlockRangeReduce implements a stateful abstraction of CUDA thread blocks for participating in device-wide reduction across a range of tiles.\n */\n\n#pragma once\n\n#include <iterator>\n\n#include \"../block/block_load.cuh\"\n#include \"../block/block_reduce.cuh\"\n#include \"../grid/grid_mapping.cuh\"\n#include \"../grid/grid_queue.cuh\"\n#include \"../grid/grid_even_share.cuh\"\n#include \"../util_type.cuh\"\n#include \"../iterator/cache_modified_input_iterator.cuh\"\n#include \"../util_namespace.cuh\"\n\n\n/// Optional outer namespace(s)\nCUB_NS_PREFIX\n\n/// CUB namespace\nnamespace cub {\n\n\n/******************************************************************************\n * Tuning policy types\n ******************************************************************************/\n\n/**\n * Parameterizable tuning policy type for BlockRangeReduce\n */\ntemplate <\n    int                     _BLOCK_THREADS,         ///< Threads per thread block\n    int                     _ITEMS_PER_THREAD,      ///< Items per thread (per tile of input)\n    int                     _VECTOR_LOAD_LENGTH,    ///< Number of items per vectorized load\n    BlockReduceAlgorithm    _BLOCK_ALGORITHM,       ///< Cooperative block-wide reduction algorithm to use\n    CacheLoadModifier       _LOAD_MODIFIER,         ///< Cache load modifier for reading input elements\n    GridMappingStrategy     _GRID_MAPPING>          ///< How to map tiles of input onto thread blocks\nstruct BlockRangeReducePolicy\n{\n    enum\n    {\n        BLOCK_THREADS       = _BLOCK_THREADS,       ///< Threads per thread block\n        ITEMS_PER_THREAD    = _ITEMS_PER_THREAD,    ///< Items per thread (per tile of input)\n        VECTOR_LOAD_LENGTH  = _VECTOR_LOAD_LENGTH,  ///< Number of items per vectorized load\n    };\n\n    static const BlockReduceAlgorithm  BLOCK_ALGORITHM      = _BLOCK_ALGORITHM;     ///< Cooperative block-wide reduction algorithm to use\n    static const CacheLoadModifier     LOAD_MODIFIER        = _LOAD_MODIFIER;       ///< Cache load modifier for reading input elements\n    static const GridMappingStrategy   GRID_MAPPING         = _GRID_MAPPING;        ///< How to map tiles of input onto thread blocks\n};\n\n\n\n/******************************************************************************\n * Thread block abstractions\n ******************************************************************************/\n\n/**\n * \\brief BlockRangeReduce implements a stateful abstraction of CUDA thread blocks for participating in device-wide reduction across a range of tiles.\n *\n * Each thread reduces only the values it loads. If \\p FIRST_TILE, this\n * partial reduction is stored into \\p thread_aggregate.  Otherwise it is\n * accumulated into \\p thread_aggregate.\n */\ntemplate <\n    typename BlockRangeReducePolicy,        ///< Parameterized BlockRangeReducePolicy tuning policy type\n    typename InputIterator,                 ///< Random-access iterator type for input\n    typename Offset,                        ///< Signed integer type for global offsets\n    typename ReductionOp>                   ///< Binary reduction operator type having member <tt>T operator()(const T &a, const T &b)</tt>\nstruct BlockRangeReduce\n{\n\n    //---------------------------------------------------------------------\n    // Types and constants\n    //---------------------------------------------------------------------\n\n    // The value type of the input iterator\n    typedef typename std::iterator_traits<InputIterator>::value_type T;\n\n    // Vector type of T for data movement\n    typedef typename CubVector<T, BlockRangeReducePolicy::VECTOR_LOAD_LENGTH>::Type VectorT;\n\n    // Input iterator wrapper type\n    typedef typename If<IsPointer<InputIterator>::VALUE,\n            CacheModifiedInputIterator<BlockRangeReducePolicy::LOAD_MODIFIER, T, Offset>,  // Wrap the native input pointer with CacheModifiedInputIterator\n            InputIterator>::Type                                                            // Directly use the supplied input iterator type\n        WrappedInputIterator;\n\n    // Constants\n    enum\n    {\n        BLOCK_THREADS       = BlockRangeReducePolicy::BLOCK_THREADS,\n        ITEMS_PER_THREAD    = BlockRangeReducePolicy::ITEMS_PER_THREAD,\n        VECTOR_LOAD_LENGTH  = CUB_MIN(ITEMS_PER_THREAD, BlockRangeReducePolicy::VECTOR_LOAD_LENGTH),\n        TILE_ITEMS          = BLOCK_THREADS * ITEMS_PER_THREAD,\n\n        // Can vectorize according to the policy if the input iterator is a native pointer to a primitive type\n        CAN_VECTORIZE       = (VECTOR_LOAD_LENGTH > 1) &&\n                                (IsPointer<InputIterator>::VALUE) &&\n                                Traits<T>::PRIMITIVE,\n\n    };\n\n    static const CacheLoadModifier    LOAD_MODIFIER   = BlockRangeReducePolicy::LOAD_MODIFIER;\n    static const BlockReduceAlgorithm BLOCK_ALGORITHM = BlockRangeReducePolicy::BLOCK_ALGORITHM;\n\n    // Parameterized BlockReduce primitive\n    typedef BlockReduce<T, BLOCK_THREADS, BlockRangeReducePolicy::BLOCK_ALGORITHM> BlockReduceT;\n\n    /// Shared memory type required by this thread block\n    typedef typename BlockReduceT::TempStorage _TempStorage;\n\n    /// Alias wrapper allowing storage to be unioned\n    struct TempStorage : Uninitialized<_TempStorage> {};\n\n\n    //---------------------------------------------------------------------\n    // Per-thread fields\n    //---------------------------------------------------------------------\n\n    T                       thread_aggregate;   ///< Each thread's partial reduction\n    _TempStorage&           temp_storage;       ///< Reference to temp_storage\n    InputIterator           d_in;               ///< Input data to reduce\n    WrappedInputIterator    d_wrapped_in;       ///< Wrapped input data to reduce\n    ReductionOp             reduction_op;       ///< Binary reduction operator\n    int                     first_tile_size;    ///< Size of first tile consumed\n    bool                    is_aligned;         ///< Whether or not input is vector-aligned\n\n\n    //---------------------------------------------------------------------\n    // Interface\n    //---------------------------------------------------------------------\n\n\n    // Whether or not the input is aligned with the vector type (specialized for types we can vectorize)\n    template <typename Iterator>\n    static __device__ __forceinline__ bool IsAligned(\n        Iterator        d_in,\n        Int2Type<true>  can_vectorize)\n    {\n        return (size_t(d_in) & (sizeof(VectorT) - 1)) == 0;\n    }\n\n    // Whether or not the input is aligned with the vector type (specialized for types we cannot vectorize)\n    template <typename Iterator>\n    static __device__ __forceinline__ bool IsAligned(\n        Iterator        d_in,\n        Int2Type<false> can_vectorize)\n    {\n        return false;\n    }\n\n\n    /**\n     * Constructor\n     */\n    __device__ __forceinline__ BlockRangeReduce(\n        TempStorage&            temp_storage,       ///< Reference to temp_storage\n        InputIterator           d_in,               ///< Input data to reduce\n        ReductionOp             reduction_op)       ///< Binary reduction operator\n    :\n        temp_storage(temp_storage.Alias()),\n        d_in(d_in),\n        d_wrapped_in(d_in),\n        reduction_op(reduction_op),\n        first_tile_size(0),\n        is_aligned(IsAligned(d_in, Int2Type<CAN_VECTORIZE>()))\n    {}\n\n\n    /**\n     * Consume a full tile of input (specialized for cases where we cannot vectorize)\n     */\n    template <typename _Offset>\n    __device__ __forceinline__ T ConsumeFullTile(\n        _Offset             block_offset,            ///< The offset the tile to consume\n        Int2Type<false>     can_vectorize)           ///< Whether or not we can vectorize loads\n    {\n        T items[ITEMS_PER_THREAD];\n\n        // Load items in striped fashion\n        LoadDirectStriped<BLOCK_THREADS>(threadIdx.x, d_wrapped_in + block_offset, items);\n\n        // Reduce items within each thread stripe\n        return ThreadReduce(items, reduction_op);\n    }\n\n\n    /**\n     * Consume a full tile of input (specialized for cases where we can vectorize)\n     */\n    template <typename _Offset>\n    __device__ __forceinline__ T ConsumeFullTile(\n        _Offset             block_offset,            ///< The offset the tile to consume\n        Int2Type<true>      can_vectorize)           ///< Whether or not we can vectorize loads\n    {\n        if (!is_aligned)\n        {\n            // Not aligned\n            return ConsumeFullTile(block_offset, Int2Type<false>());\n        }\n        else\n        {\n            // Alias items as an array of VectorT and load it in striped fashion\n            enum { WORDS =  ITEMS_PER_THREAD / VECTOR_LOAD_LENGTH };\n\n            T items[ITEMS_PER_THREAD];\n\n            VectorT *vec_items = reinterpret_cast<VectorT*>(items);\n\n            // Vector input iterator wrapper type\n            CacheModifiedInputIterator<BlockRangeReducePolicy::LOAD_MODIFIER, VectorT, Offset> d_vec_in(\n                reinterpret_cast<VectorT*>(d_in + block_offset + (threadIdx.x * VECTOR_LOAD_LENGTH)));\n\n            #pragma unroll\n            for (int i = 0; i < WORDS; ++i)\n                vec_items[i] = d_vec_in[BLOCK_THREADS * i];\n\n            // Reduce items within each thread stripe\n            return ThreadReduce(items, reduction_op);\n        }\n    }\n\n\n\n    /**\n     * Process a single tile of input\n     */\n    template <bool FULL_TILE>\n    __device__ __forceinline__ void ConsumeTile(\n        Offset  block_offset,                   ///< The offset the tile to consume\n        int     valid_items = TILE_ITEMS)       ///< The number of valid items in the tile\n    {\n        if (FULL_TILE)\n        {\n            // Full tile\n            T partial = ConsumeFullTile(block_offset, Int2Type<CAN_VECTORIZE>());\n\n            // Update running thread aggregate\n            thread_aggregate = (first_tile_size) ?\n                reduction_op(thread_aggregate, partial) :       // Update\n                partial;                                        // Assign\n        }\n        else\n        {\n            // Partial tile\n            int thread_offset = threadIdx.x;\n\n            if (!first_tile_size && (thread_offset < valid_items))\n            {\n                // Assign thread_aggregate\n                thread_aggregate = d_wrapped_in[block_offset + thread_offset];\n                thread_offset += BLOCK_THREADS;\n            }\n\n            while (thread_offset < valid_items)\n            {\n                // Update thread aggregate\n                T item = d_wrapped_in[block_offset + thread_offset];\n                thread_aggregate = reduction_op(thread_aggregate, item);\n                thread_offset += BLOCK_THREADS;\n            }\n        }\n\n        // Set first tile size if necessary\n        if (!first_tile_size)\n            first_tile_size = valid_items;\n    }\n\n\n    //---------------------------------------------------------------\n    // Consume a contiguous segment of tiles\n    //---------------------------------------------------------------------\n\n    /**\n     * \\brief Reduce a contiguous segment of input tiles\n     */\n    __device__ __forceinline__ void ConsumeRange(\n        Offset  block_offset,                       ///< [in] Threadblock begin offset (inclusive)\n        Offset  block_end,                          ///< [in] Threadblock end offset (exclusive)\n        T       &block_aggregate)                   ///< [out] Running total\n    {\n        // Consume subsequent full tiles of input\n        while (block_offset + TILE_ITEMS <= block_end)\n        {\n            ConsumeTile<true>(block_offset);\n            block_offset += TILE_ITEMS;\n        }\n\n        // Consume a partially-full tile\n        if (block_offset < block_end)\n        {\n            int valid_items = block_end - block_offset;\n            ConsumeTile<false>(block_offset, valid_items);\n        }\n\n        // Compute block-wide reduction\n        block_aggregate = (first_tile_size < TILE_ITEMS) ?\n            BlockReduceT(temp_storage).Reduce(thread_aggregate, reduction_op, first_tile_size) :\n            BlockReduceT(temp_storage).Reduce(thread_aggregate, reduction_op);\n    }\n\n\n    /**\n     * Reduce a contiguous segment of input tiles\n     */\n    __device__ __forceinline__ void ConsumeRange(\n        Offset                              num_items,          ///< [in] Total number of global input items\n        GridEvenShare<Offset>               &even_share,        ///< [in] GridEvenShare descriptor\n        GridQueue<Offset>                   &queue,             ///< [in,out] GridQueue descriptor\n        T                                   &block_aggregate,   ///< [out] Running total\n        Int2Type<GRID_MAPPING_EVEN_SHARE>   is_even_share)      ///< [in] Marker type indicating this is an even-share mapping\n    {\n        // Initialize even-share descriptor for this thread block\n        even_share.BlockInit();\n\n        // Consume input tiles\n        ConsumeRange(even_share.block_offset, even_share.block_end, block_aggregate);\n    }\n\n\n    //---------------------------------------------------------------------\n    // Dynamically consume tiles\n    //---------------------------------------------------------------------\n\n    /**\n     * Dequeue and reduce tiles of items as part of a inter-block scan\n     */\n    __device__ __forceinline__ void ConsumeRange(\n        int                 num_items,          ///< Total number of input items\n        GridQueue<Offset>   queue,              ///< Queue descriptor for assigning tiles of work to thread blocks\n        T                   &block_aggregate)   ///< [out] Running total\n    {\n        // Shared dequeue offset\n        __shared__ Offset dequeue_offset;\n\n        // We give each thread block at least one tile of input.\n        Offset block_offset = blockIdx.x * TILE_ITEMS;\n        Offset even_share_base = gridDim.x * TILE_ITEMS;\n\n        if (block_offset + TILE_ITEMS <= num_items)\n        {\n            // Consume full tile of input\n            ConsumeTile<true>(block_offset);\n\n            // Dequeue more tiles\n            while (true)\n            {\n                 // Dequeue a tile of items\n                if (threadIdx.x == 0)\n                    dequeue_offset = queue.Drain(TILE_ITEMS) + even_share_base;\n\n                __syncthreads();\n\n                // Grab tile offset and check if we're done with full tiles\n                block_offset = dequeue_offset;\n\n                __syncthreads();\n\n                if (block_offset + TILE_ITEMS > num_items)\n                    break;\n\n                // Consume a full tile\n                ConsumeTile<true>(block_offset);\n            }\n        }\n\n        if (block_offset < num_items)\n        {\n            int valid_items = num_items - block_offset;\n            ConsumeTile<false>(block_offset, valid_items);\n        }\n\n        // Compute block-wide reduction\n        block_aggregate = (first_tile_size < TILE_ITEMS) ?\n            BlockReduceT(temp_storage).Reduce(thread_aggregate, reduction_op, first_tile_size) :\n            BlockReduceT(temp_storage).Reduce(thread_aggregate, reduction_op);\n    }\n\n\n    /**\n     * Dequeue and reduce tiles of items as part of a inter-block scan\n     */\n    __device__ __forceinline__ void ConsumeRange(\n        Offset                          num_items,          ///< [in] Total number of global input items\n        GridEvenShare<Offset>           &even_share,        ///< [in] GridEvenShare descriptor\n        GridQueue<Offset>               &queue,             ///< [in,out] GridQueue descriptor\n        T                               &block_aggregate,   ///< [out] Running total\n        Int2Type<GRID_MAPPING_DYNAMIC>  is_dynamic)         ///< [in] Marker type indicating this is a dynamic mapping\n    {\n        ConsumeRange(num_items, queue, block_aggregate);\n    }\n\n};\n\n\n}               // CUB namespace\nCUB_NS_POSTFIX  // Optional outer namespace(s)\n\n"
  },
  {
    "path": "external/cub-1.3.2/cub/block_range/block_range_reduce_by_key.cuh",
    "content": "/******************************************************************************\n * Copyright (c) 2011, Duane Merrill.  All rights reserved.\n * Copyright (c) 2011-2014, NVIDIA CORPORATION.  All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *     * Redistributions of source code must retain the above copyright\n *       notice, this list of conditions and the following disclaimer.\n *     * Redistributions in binary form must reproduce the above copyright\n *       notice, this list of conditions and the following disclaimer in the\n *       documentation and/or other materials provided with the distribution.\n *     * Neither the name of the NVIDIA CORPORATION nor the\n *       names of its contributors may be used to endorse or promote products\n *       derived from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n ******************************************************************************/\n\n/**\n * \\file\n * cub::BlockRangeReduceByKey implements a stateful abstraction of CUDA thread blocks for participating in device-wide reduce-value-by-key.\n */\n\n#pragma once\n\n#include <iterator>\n\n#include \"block_scan_prefix_operators.cuh\"\n#include \"../block/block_load.cuh\"\n#include \"../block/block_store.cuh\"\n#include \"../block/block_scan.cuh\"\n#include \"../block/block_exchange.cuh\"\n#include \"../block/block_discontinuity.cuh\"\n#include \"../grid/grid_queue.cuh\"\n#include \"../iterator/cache_modified_input_iterator.cuh\"\n#include \"../iterator/constant_input_iterator.cuh\"\n#include \"../util_namespace.cuh\"\n\n/// Optional outer namespace(s)\nCUB_NS_PREFIX\n\n/// CUB namespace\nnamespace cub {\n\n\n/******************************************************************************\n * Tuning policy types\n ******************************************************************************/\n\n/**\n * Parameterizable tuning policy type for BlockRangeReduceByKey\n */\ntemplate <\n    int                         _BLOCK_THREADS,                 ///< Threads per thread block\n    int                         _ITEMS_PER_THREAD,              ///< Items per thread (per tile of input)\n    BlockLoadAlgorithm          _LOAD_ALGORITHM,                ///< The BlockLoad algorithm to use\n    CacheLoadModifier           _LOAD_MODIFIER,                 ///< Cache load modifier for reading input elements\n    bool                        _TWO_PHASE_SCATTER,             ///< Whether or not to coalesce output values in shared memory before scattering them to global\n    BlockScanAlgorithm          _SCAN_ALGORITHM>                ///< The BlockScan algorithm to use\nstruct BlockRangeReduceByKeyPolicy\n{\n    enum\n    {\n        BLOCK_THREADS           = _BLOCK_THREADS,               ///< Threads per thread block\n        ITEMS_PER_THREAD        = _ITEMS_PER_THREAD,            ///< Items per thread (per tile of input)\n        TWO_PHASE_SCATTER       = _TWO_PHASE_SCATTER,           ///< Whether or not to coalesce output values in shared memory before scattering them to global\n    };\n\n    static const BlockLoadAlgorithm     LOAD_ALGORITHM          = _LOAD_ALGORITHM;      ///< The BlockLoad algorithm to use\n    static const CacheLoadModifier      LOAD_MODIFIER           = _LOAD_MODIFIER;       ///< Cache load modifier for reading input elements\n    static const BlockScanAlgorithm     SCAN_ALGORITHM          = _SCAN_ALGORITHM;      ///< The BlockScan algorithm to use\n};\n\n\n/******************************************************************************\n * Tile status interface types\n ******************************************************************************/\n\n/**\n * Tile status interface for reduction by key.\n *\n */\ntemplate <\n    typename    Value,\n    typename    Offset,\n    bool        SINGLE_WORD = (Traits<Value>::PRIMITIVE) && (sizeof(Value) + sizeof(Offset) < 16)>\nstruct ReduceByKeyScanTileState;\n\n\n/**\n * Tile status interface for reduction by key, specialized for scan status and value types that\n * cannot be combined into one machine word.\n */\ntemplate <\n    typename    Value,\n    typename    Offset>\nstruct ReduceByKeyScanTileState<Value, Offset, false> :\n    ScanTileState<ItemOffsetPair<Value, Offset> >\n{\n    typedef ScanTileState<ItemOffsetPair<Value, Offset> > SuperClass;\n\n    /// Constructor\n    __host__ __device__ __forceinline__\n    ReduceByKeyScanTileState() : SuperClass() {}\n};\n\n\n/**\n * Tile status interface for reduction by key, specialized for scan status and value types that\n * can be combined into one machine word that can be read/written coherently in a single access.\n */\ntemplate <\n    typename Value,\n    typename Offset>\nstruct ReduceByKeyScanTileState<Value, Offset, true>\n{\n    typedef ItemOffsetPair<Value, Offset> ItemOffsetPair;\n\n    // Constants\n    enum\n    {\n        PAIR_SIZE           = sizeof(Value) + sizeof(Offset),\n        TXN_WORD_SIZE       = 1 << Log2<PAIR_SIZE + 1>::VALUE,\n        STATUS_WORD_SIZE    = TXN_WORD_SIZE - PAIR_SIZE,\n\n        TILE_STATUS_PADDING = CUB_PTX_WARP_THREADS,\n    };\n\n    // Status word type\n    typedef typename If<(STATUS_WORD_SIZE == 8),\n        long long,\n        typename If<(STATUS_WORD_SIZE == 4),\n            int,\n            typename If<(STATUS_WORD_SIZE == 2),\n                short,\n                char>::Type>::Type>::Type StatusWord;\n\n    // Status word type\n    typedef typename If<(TXN_WORD_SIZE == 16),\n        longlong2,\n        typename If<(TXN_WORD_SIZE == 8),\n            long long,\n            int>::Type>::Type TxnWord;\n\n    // Device word type (for when sizeof(Value) == sizeof(Offset))\n    struct TileDescriptorBigStatus\n    {\n        Offset      offset;\n        Value       value;\n        StatusWord  status;\n    };\n\n    // Device word type (for when sizeof(Value) != sizeof(Offset))\n    struct TileDescriptorLittleStatus\n    {\n        Value       value;\n        StatusWord  status;\n        Offset      offset;\n    };\n\n    // Device word type\n    typedef typename If<\n            (sizeof(Value) == sizeof(Offset)),\n            TileDescriptorBigStatus,\n            TileDescriptorLittleStatus>::Type\n        TileDescriptor;\n\n\n    // Device storage\n    TileDescriptor *d_tile_status;\n\n\n    /// Constructor\n    __host__ __device__ __forceinline__\n    ReduceByKeyScanTileState()\n    :\n        d_tile_status(NULL)\n    {}\n\n\n    /// Initializer\n    __host__ __device__ __forceinline__\n    cudaError_t Init(\n        int     num_tiles,                          ///< [in] Number of tiles\n        void    *d_temp_storage,                    ///< [in] %Device allocation of temporary storage.  When NULL, the required allocation size is written to \\p temp_storage_bytes and no work is done.\n        size_t  temp_storage_bytes)                 ///< [in] Size in bytes of \\t d_temp_storage allocation\n    {\n        d_tile_status = reinterpret_cast<TileDescriptor*>(d_temp_storage);\n        return cudaSuccess;\n    }\n\n\n    /**\n     * Compute device memory needed for tile status\n     */\n    __host__ __device__ __forceinline__\n    static cudaError_t AllocationSize(\n        int     num_tiles,                          ///< [in] Number of tiles\n        size_t  &temp_storage_bytes)                ///< [out] Size in bytes of \\t d_temp_storage allocation\n    {\n        temp_storage_bytes = (num_tiles + TILE_STATUS_PADDING) * sizeof(TileDescriptor);       // bytes needed for tile status descriptors\n        return cudaSuccess;\n    }\n\n\n    /**\n     * Initialize (from device)\n     */\n    __device__ __forceinline__ void InitializeStatus(int num_tiles)\n    {\n        int tile_idx = (blockIdx.x * blockDim.x) + threadIdx.x;\n        if (tile_idx < num_tiles)\n        {\n            // Not-yet-set\n            d_tile_status[TILE_STATUS_PADDING + tile_idx].status = StatusWord(SCAN_TILE_INVALID);\n        }\n\n        if ((blockIdx.x == 0) && (threadIdx.x < TILE_STATUS_PADDING))\n        {\n            // Padding\n            d_tile_status[threadIdx.x].status = StatusWord(SCAN_TILE_OOB);\n        }\n    }\n\n\n    /**\n     * Update the specified tile's inclusive value and corresponding status\n     */\n    __device__ __forceinline__ void SetInclusive(int tile_idx, ItemOffsetPair tile_inclusive)\n    {\n        TileDescriptor tile_descriptor;\n        tile_descriptor.status = SCAN_TILE_INCLUSIVE;\n        tile_descriptor.value = tile_inclusive.value;\n        tile_descriptor.offset = tile_inclusive.offset;\n\n        TxnWord alias;\n        *reinterpret_cast<TileDescriptor*>(&alias) = tile_descriptor;\n        ThreadStore<STORE_CG>(reinterpret_cast<TxnWord*>(d_tile_status + TILE_STATUS_PADDING + tile_idx), alias);\n    }\n\n\n    /**\n     * Update the specified tile's partial value and corresponding status\n     */\n    __device__ __forceinline__ void SetPartial(int tile_idx, ItemOffsetPair tile_partial)\n    {\n        TileDescriptor tile_descriptor;\n        tile_descriptor.status = SCAN_TILE_PARTIAL;\n        tile_descriptor.value = tile_partial.value;\n        tile_descriptor.offset = tile_partial.offset;\n\n        TxnWord alias;\n        *reinterpret_cast<TileDescriptor*>(&alias) = tile_descriptor;\n        ThreadStore<STORE_CG>(reinterpret_cast<TxnWord*>(d_tile_status + TILE_STATUS_PADDING + tile_idx), alias);\n    }\n\n    /**\n     * Wait for the corresponding tile to become non-invalid\n     */\n    __device__ __forceinline__ void WaitForValid(\n        int             tile_idx,\n        StatusWord      &status,\n        ItemOffsetPair  &value)\n    {\n        // Use warp-any to determine when all threads have valid status\n        TxnWord alias = ThreadLoad<LOAD_CG>(reinterpret_cast<TxnWord*>(d_tile_status + TILE_STATUS_PADDING + tile_idx));\n        TileDescriptor tile_descriptor = reinterpret_cast<TileDescriptor&>(alias);\n\n        while ((tile_descriptor.status == SCAN_TILE_INVALID))\n        {\n            alias = ThreadLoad<LOAD_CG>(reinterpret_cast<TxnWord*>(d_tile_status + TILE_STATUS_PADDING + tile_idx));\n            tile_descriptor = reinterpret_cast<TileDescriptor&>(alias);\n        }\n\n        status = tile_descriptor.status;\n        value.value = tile_descriptor.value;\n        value.offset = tile_descriptor.offset;\n    }\n\n};\n\n\n/******************************************************************************\n * Thread block abstractions\n ******************************************************************************/\n\n/**\n * \\brief BlockRangeReduceByKey implements a stateful abstraction of CUDA thread blocks for participating in device-wide reduce-value-by-key across a range of tiles\n */\ntemplate <\n    typename    BlockRangeReduceByKeyPolicy,    ///< Parameterized BlockRangeReduceByKeyPolicy tuning policy type\n    typename    KeyInputIterator,               ///< Random-access input iterator type for keys\n    typename    KeyOutputIterator,              ///< Random-access output iterator type for keys\n    typename    ValueInputIterator,             ///< Random-access input iterator type for values\n    typename    ValueOutputIterator,            ///< Random-access output iterator type for values\n    typename    EqualityOp,                     ///< Key equality operator type\n    typename    ReductionOp,                    ///< Value reduction operator type\n    typename    Offset>                         ///< Signed integer type for global offsets\nstruct BlockRangeReduceByKey\n{\n    //---------------------------------------------------------------------\n    // Types and constants\n    //---------------------------------------------------------------------\n\n    // Data type of key iterator\n    typedef typename std::iterator_traits<KeyInputIterator>::value_type Key;\n\n    // Data type of value iterator\n    typedef typename std::iterator_traits<ValueInputIterator>::value_type Value;\n\n    // Tile status descriptor interface type\n    typedef ReduceByKeyScanTileState<Value, Offset> ScanTileState;\n\n    // Constants\n    enum\n    {\n        BLOCK_THREADS       = BlockRangeReduceByKeyPolicy::BLOCK_THREADS,\n        WARPS               = BLOCK_THREADS / CUB_PTX_WARP_THREADS,\n        ITEMS_PER_THREAD    = BlockRangeReduceByKeyPolicy::ITEMS_PER_THREAD,\n        TWO_PHASE_SCATTER   = (BlockRangeReduceByKeyPolicy::TWO_PHASE_SCATTER) && (ITEMS_PER_THREAD > 1),\n        TILE_ITEMS          = BLOCK_THREADS * ITEMS_PER_THREAD,\n\n        // Whether or not the scan operation has a zero-valued identity value (true if we're performing addition on a primitive type)\n        HAS_IDENTITY_ZERO       = (Equals<ReductionOp, cub::Sum>::VALUE) && (Traits<Value>::PRIMITIVE),\n\n        // Whether or not to sync after loading data\n        SYNC_AFTER_LOAD         = (BlockRangeReduceByKeyPolicy::LOAD_ALGORITHM != BLOCK_LOAD_DIRECT),\n\n        // Whether or not this is run-length-encoding with a constant iterator as values\n        IS_RUN_LENGTH_ENCODE    = (Equals<ValueInputIterator, ConstantInputIterator<Value, size_t> >::VALUE) || (Equals<ValueInputIterator, ConstantInputIterator<Value, int> >::VALUE) || (Equals<ValueInputIterator, ConstantInputIterator<Value, unsigned int> >::VALUE),\n\n    };\n\n    // Cache-modified input iterator wrapper type for keys\n    typedef typename If<IsPointer<KeyInputIterator>::VALUE,\n            CacheModifiedInputIterator<BlockRangeReduceByKeyPolicy::LOAD_MODIFIER, Key, Offset>,   // Wrap the native input pointer with CacheModifiedValueInputIterator\n            KeyInputIterator>::Type                                                                 // Directly use the supplied input iterator type\n        WrappedKeyInputIterator;\n\n    // Cache-modified input iterator wrapper type for values\n    typedef typename If<IsPointer<ValueInputIterator>::VALUE,\n            CacheModifiedInputIterator<BlockRangeReduceByKeyPolicy::LOAD_MODIFIER, Value, Offset>,  // Wrap the native input pointer with CacheModifiedValueInputIterator\n            ValueInputIterator>::Type                                                                // Directly use the supplied input iterator type\n        WrappedValueInputIterator;\n\n    // Value-offset tuple type for scanning (maps accumulated values to segment index)\n    typedef ItemOffsetPair<Value, Offset> ValueOffsetPair;\n\n    // Reduce-value-by-segment scan operator\n    struct ReduceByKeyOp\n    {\n        ReductionOp op;                 ///< Wrapped reduction operator\n\n        /// Constructor\n        __device__ __forceinline__ ReduceByKeyOp(ReductionOp op) : op(op) {}\n\n        /// Scan operator (specialized for sum on primitive types)\n        __device__ __forceinline__ ValueOffsetPair operator()(\n            const ValueOffsetPair   &first,             ///< First partial reduction\n            const ValueOffsetPair   &second,            ///< Second partial reduction\n            Int2Type<true>          has_identity_zero)  ///< Whether the operation has a zero-valued identity\n        {\n            Value select = (second.offset) ? 0 : first.value;\n\n            ValueOffsetPair retval;\n            retval.offset = first.offset + second.offset;\n            retval.value = op(select, second.value);\n            return retval;\n        }\n\n        /// Scan operator (specialized for reductions without zero-valued identity)\n        __device__ __forceinline__ ValueOffsetPair operator()(\n            const ValueOffsetPair   &first,             ///< First partial reduction\n            const ValueOffsetPair   &second,            ///< Second partial reduction\n            Int2Type<false>         has_identity_zero)  ///< Whether the operation has a zero-valued identity\n        {\n#if (__CUDA_ARCH__ > 130)\n            // This expression uses less registers and is faster when compiled with nvvm\n            ValueOffsetPair retval;\n            retval.offset = first.offset + second.offset;\n            if (second.offset)\n            {\n                retval.value = second.value;\n                return retval;\n            }\n            else\n            {\n                retval.value = op(first.value, second.value);\n                return retval;\n            }\n#else\n            // This expression uses less registers and is faster when compiled with Open64\n            ValueOffsetPair retval;\n            retval.offset = first.offset + second.offset;\n            retval.value = (second.offset) ?\n                    second.value :                          // The second partial reduction spans a segment reset, so it's value aggregate becomes the running aggregate\n                    op(first.value, second.value);          // The second partial reduction does not span a reset, so accumulate both into the running aggregate\n            return retval;\n#endif\n        }\n\n        /// Scan operator\n        __device__ __forceinline__ ValueOffsetPair operator()(\n            const ValueOffsetPair &first,       ///< First partial reduction\n            const ValueOffsetPair &second)      ///< Second partial reduction\n        {\n            return (*this)(first, second, Int2Type<HAS_IDENTITY_ZERO>());\n        }\n    };\n\n    // Parameterized BlockLoad type for keys\n    typedef BlockLoad<\n            WrappedKeyInputIterator,\n            BlockRangeReduceByKeyPolicy::BLOCK_THREADS,\n            BlockRangeReduceByKeyPolicy::ITEMS_PER_THREAD,\n            BlockRangeReduceByKeyPolicy::LOAD_ALGORITHM>\n        BlockLoadKeys;\n\n    // Parameterized BlockLoad type for values\n    typedef BlockLoad<\n            WrappedValueInputIterator,\n            BlockRangeReduceByKeyPolicy::BLOCK_THREADS,\n            BlockRangeReduceByKeyPolicy::ITEMS_PER_THREAD,\n            (IS_RUN_LENGTH_ENCODE) ?\n                BLOCK_LOAD_DIRECT :\n                (BlockLoadAlgorithm) BlockRangeReduceByKeyPolicy::LOAD_ALGORITHM>\n        BlockLoadValues;\n\n    // Parameterized BlockExchange type for locally compacting items as part of a two-phase scatter\n    typedef BlockExchange<\n            Key,\n            BLOCK_THREADS,\n            ITEMS_PER_THREAD>\n        BlockExchangeKeys;\n\n    // Parameterized BlockExchange type for locally compacting items as part of a two-phase scatter\n    typedef BlockExchange<\n            Value,\n            BLOCK_THREADS,\n            ITEMS_PER_THREAD>\n        BlockExchangeValues;\n\n    // Parameterized BlockDiscontinuity type for keys\n    typedef BlockDiscontinuity<Key, BLOCK_THREADS> BlockDiscontinuityKeys;\n\n    // Parameterized BlockScan type\n    typedef BlockScan<\n            ValueOffsetPair,\n            BlockRangeReduceByKeyPolicy::BLOCK_THREADS,\n            BlockRangeReduceByKeyPolicy::SCAN_ALGORITHM>\n        BlockScanAllocations;\n\n    // Callback type for obtaining tile prefix during block scan\n    typedef BlockScanLookbackPrefixOp<\n            ValueOffsetPair,\n            ReduceByKeyOp,\n            ScanTileState>\n        LookbackPrefixCallbackOp;\n\n    // Shared memory type for this threadblock\n    struct _TempStorage\n    {\n\n        union\n        {\n            struct\n            {\n                typename BlockScanAllocations::TempStorage      scan;           // Smem needed for tile scanning\n                typename LookbackPrefixCallbackOp::TempStorage  prefix;         // Smem needed for cooperative prefix callback\n                typename BlockDiscontinuityKeys::TempStorage    discontinuity;  // Smem needed for discontinuity detection\n                typename BlockLoadKeys::TempStorage             load_keys;      // Smem needed for loading keys\n\n                Offset      tile_idx;               // Shared tile index\n                Offset      tile_num_flags_prefix;  // Exclusive tile prefix\n            };\n\n            // Smem needed for loading values\n            typename BlockLoadValues::TempStorage load_values;\n\n            // Smem needed for compacting values\n            typename BlockExchangeValues::TempStorage exchange_values;\n\n            // Smem needed for compacting keys\n            typename BlockExchangeKeys::TempStorage exchange_keys;\n        };\n\n    };\n\n    // Alias wrapper allowing storage to be unioned\n    struct TempStorage : Uninitialized<_TempStorage> {};\n\n\n    //---------------------------------------------------------------------\n    // Per-thread fields\n    //---------------------------------------------------------------------\n\n    _TempStorage                    &temp_storage;      ///< Reference to temp_storage\n\n    WrappedKeyInputIterator         d_keys_in;          ///< Input keys\n    KeyOutputIterator               d_keys_out;         ///< Output keys\n\n    WrappedValueInputIterator       d_values_in;        ///< Input values\n    ValueOutputIterator             d_values_out;       ///< Output values\n\n    InequalityWrapper<EqualityOp>   inequality_op;      ///< Key inequality operator\n    ReduceByKeyOp                   scan_op;            ///< Reduce-value-by flag scan operator\n    Offset                          num_items;          ///< Total number of input items\n\n\n    //---------------------------------------------------------------------\n    // Constructor\n    //---------------------------------------------------------------------\n\n    // Constructor\n    __device__ __forceinline__\n    BlockRangeReduceByKey(\n        TempStorage                 &temp_storage,      ///< Reference to temp_storage\n        KeyInputIterator            d_keys_in,          ///< Input keys\n        KeyOutputIterator           d_keys_out,         ///< Output keys\n        ValueInputIterator          d_values_in,        ///< Input values\n        ValueOutputIterator         d_values_out,       ///< Output values\n        EqualityOp                  equality_op,        ///< Key equality operator\n        ReductionOp                 reduction_op,       ///< Value reduction operator\n        Offset                      num_items)          ///< Total number of input items\n    :\n        temp_storage(temp_storage.Alias()),\n        d_keys_in(d_keys_in),\n        d_keys_out(d_keys_out),\n        d_values_in(d_values_in),\n        d_values_out(d_values_out),\n        inequality_op(equality_op),\n        scan_op(reduction_op),\n        num_items(num_items)\n    {}\n\n\n    //---------------------------------------------------------------------\n    // Block scan utility methods\n    //---------------------------------------------------------------------\n\n    /**\n     * Scan with identity (first tile)\n     */\n    __device__ __forceinline__\n    void ScanBlock(\n        ValueOffsetPair     (&values_and_segments)[ITEMS_PER_THREAD],\n        ValueOffsetPair     &block_aggregate,\n        Int2Type<true>      has_identity)\n    {\n        ValueOffsetPair identity;\n        identity.value = 0;\n        identity.offset = 0;\n        BlockScanAllocations(temp_storage.scan).ExclusiveScan(values_and_segments, values_and_segments, identity, scan_op, block_aggregate);\n    }\n\n    /**\n     * Scan without identity (first tile).  Without an identity, the first output item is undefined.\n     *\n     */\n    __device__ __forceinline__\n    void ScanBlock(\n        ValueOffsetPair     (&values_and_segments)[ITEMS_PER_THREAD],\n        ValueOffsetPair     &block_aggregate,\n        Int2Type<false>     has_identity)\n    {\n        BlockScanAllocations(temp_storage.scan).ExclusiveScan(values_and_segments, values_and_segments, scan_op, block_aggregate);\n    }\n\n    /**\n     * Scan with identity (subsequent tile)\n     */\n    __device__ __forceinline__\n    void ScanBlock(\n        ValueOffsetPair             (&values_and_segments)[ITEMS_PER_THREAD],\n        ValueOffsetPair             &block_aggregate,\n        LookbackPrefixCallbackOp    &prefix_op,\n        Int2Type<true>              has_identity)\n    {\n        ValueOffsetPair identity;\n        identity.value = 0;\n        identity.offset = 0;\n        BlockScanAllocations(temp_storage.scan).ExclusiveScan(values_and_segments, values_and_segments, identity, scan_op, block_aggregate, prefix_op);\n    }\n\n    /**\n     * Scan without identity (subsequent tile).  Without an identity, the first output item is undefined.\n     */\n    __device__ __forceinline__\n    void ScanBlock(\n        ValueOffsetPair             (&values_and_segments)[ITEMS_PER_THREAD],\n        ValueOffsetPair             &block_aggregate,\n        LookbackPrefixCallbackOp    &prefix_op,\n        Int2Type<false>             has_identity)\n    {\n        BlockScanAllocations(temp_storage.scan).ExclusiveScan(values_and_segments, values_and_segments, scan_op, block_aggregate, prefix_op);\n    }\n\n\n    //---------------------------------------------------------------------\n    // Zip utility methods\n    //---------------------------------------------------------------------\n\n    template <bool LAST_TILE>\n    __device__ __forceinline__ void ZipValuesAndFlags(\n        Offset          num_remaining,\n        Value           (&values)[ITEMS_PER_THREAD],\n        Offset          (&flags)[ITEMS_PER_THREAD],\n        ValueOffsetPair (&values_and_segments)[ITEMS_PER_THREAD])\n    {\n        // Zip values and flags\n        #pragma unroll\n        for (int ITEM = 0; ITEM < ITEMS_PER_THREAD; ++ITEM)\n        {\n            // Unset flags for out-of-bounds keys\n            if ((LAST_TILE) && (Offset(threadIdx.x * ITEMS_PER_THREAD) + ITEM >= num_remaining))\n                flags[ITEM] = 0;\n\n            values_and_segments[ITEM].value      = values[ITEM];\n            values_and_segments[ITEM].offset     = flags[ITEM];\n        }\n    }\n\n    //---------------------------------------------------------------------\n    // Scatter utility methods\n    //---------------------------------------------------------------------\n\n\n\n    /**\n     * Scatter flagged items to output offsets (specialized for direct scattering)\n     *\n     * The exclusive scan causes each head flag to be paired with the previous\n     * value aggregate. As such:\n     * - The scatter offsets must be decremented for value value aggregates\n     * - The first tile does not scatter the first flagged value (it is undefined from the exclusive scan)\n     * - If the tile is partially-full, we need to scatter the first out-of-bounds value (which aggregates all valid values in the last segment)\n     *\n     */\n    template <bool LAST_TILE, bool FIRST_TILE, int ITEM>\n    __device__ __forceinline__ void ScatterDirect(\n        Offset              num_remaining,\n        Key                 (&keys)[ITEMS_PER_THREAD],\n        ValueOffsetPair     (&values_and_segments)[ITEMS_PER_THREAD],\n        Offset              (&flags)[ITEMS_PER_THREAD],\n        Offset              tile_num_flags,\n        Int2Type<ITEM>      iteration)\n    {\n        // Scatter key\n        if (flags[ITEM])\n        {\n            d_keys_out[values_and_segments[ITEM].offset] = keys[ITEM];\n        }\n\n        bool is_first_flag     = FIRST_TILE && (ITEM == 0) && (threadIdx.x == 0);\n        bool is_oob_value      = (LAST_TILE) && (Offset(threadIdx.x * ITEMS_PER_THREAD) + ITEM == num_remaining);\n\n        // Scatter value reduction\n        if (((flags[ITEM] || is_oob_value)) && (!is_first_flag))\n        {\n            d_values_out[values_and_segments[ITEM].offset - 1] = values_and_segments[ITEM].value;\n        }\n\n        ScatterDirect<LAST_TILE, FIRST_TILE>(num_remaining, keys, values_and_segments, flags, tile_num_flags, Int2Type<ITEM + 1>());\n    }\n\n    template <bool LAST_TILE, bool FIRST_TILE>\n    __device__ __forceinline__ void ScatterDirect(\n        Offset                      num_remaining,\n        Key                         (&keys)[ITEMS_PER_THREAD],\n        ValueOffsetPair             (&values_and_segments)[ITEMS_PER_THREAD],\n        Offset                      (&flags)[ITEMS_PER_THREAD],\n        Offset                      tile_num_flags,\n        Int2Type<ITEMS_PER_THREAD>  iteration)\n    {}\n\n    /**\n     * Scatter flagged items to output offsets (specialized for two-phase scattering)\n     *\n     * The exclusive scan causes each head flag to be paired with the previous\n     * value aggregate. As such:\n     * - The scatter offsets must be decremented for value value aggregates\n     * - The first tile does not scatter the first flagged value (it is undefined from the exclusive scan)\n     * - If the tile is partially-full, we need to scatter the first out-of-bounds value (which aggregates all valid values in the last segment)\n     *\n     */\n    template <bool LAST_TILE, bool FIRST_TILE>\n    __device__ __forceinline__ void ScatterTwoPhase(\n        Offset          num_remaining,\n        Key             (&keys)[ITEMS_PER_THREAD],\n        ValueOffsetPair (&values_and_segments)[ITEMS_PER_THREAD],\n        Offset          (&flags)[ITEMS_PER_THREAD],\n        Offset          tile_num_flags,\n        Offset          tile_num_flags_prefix)\n    {\n        int     local_ranks[ITEMS_PER_THREAD];\n        Value   values[ITEMS_PER_THREAD];\n\n        // Share exclusive tile prefix\n        if (threadIdx.x == 0)\n        {\n            temp_storage.tile_num_flags_prefix = tile_num_flags_prefix;\n        }\n\n        __syncthreads();\n\n        // Load exclusive tile prefix in all threads\n        tile_num_flags_prefix = temp_storage.tile_num_flags_prefix;\n\n        __syncthreads();\n\n        // Compute local scatter ranks\n        #pragma unroll\n        for (int ITEM = 0; ITEM < ITEMS_PER_THREAD; ++ITEM)\n        {\n            local_ranks[ITEM] = values_and_segments[ITEM].offset - tile_num_flags_prefix;\n        }\n\n        // Compact keys in shared memory\n        BlockExchangeKeys(temp_storage.exchange_keys).ScatterToStriped(keys, local_ranks, flags);\n\n        // Scatter keys\n        StoreDirectStriped<BLOCK_THREADS>(threadIdx.x, d_keys_out + tile_num_flags_prefix, keys, tile_num_flags);\n\n        // Unzip values and set flag for first oob item in last tile\n        #pragma unroll\n        for (int ITEM = 0; ITEM < ITEMS_PER_THREAD; ++ITEM)\n        {\n            values[ITEM] = values_and_segments[ITEM].value;\n\n            if (FIRST_TILE)\n                local_ranks[ITEM]--;\n\n            if (LAST_TILE && (Offset(threadIdx.x * ITEMS_PER_THREAD) + ITEM == num_remaining))\n                flags[ITEM] = 1;\n        }\n\n        // Unset first flag in first tile\n        if (FIRST_TILE && (threadIdx.x == 0))\n            flags[0] = 0;\n\n        __syncthreads();\n\n        // Compact values in shared memory\n        BlockExchangeValues(temp_storage.exchange_values).ScatterToStriped(values, local_ranks, flags);\n\n        // Number to output\n        Offset exchange_count = tile_num_flags;\n\n        if (LAST_TILE && (num_remaining < TILE_ITEMS))\n            exchange_count++;\n\n        if (FIRST_TILE)\n        {\n            exchange_count--;\n        }\n        else\n        {\n            tile_num_flags_prefix--;\n        }\n\n        // Scatter values\n        StoreDirectStriped<BLOCK_THREADS>(threadIdx.x, d_values_out + tile_num_flags_prefix, values, exchange_count);\n\n        __syncthreads();\n    }\n\n\n    /**\n     * Scatter flagged items\n     */\n    template <bool LAST_TILE, bool FIRST_TILE>\n    __device__ __forceinline__ void Scatter(\n        Offset          num_remaining,\n        Key             (&keys)[ITEMS_PER_THREAD],\n        ValueOffsetPair (&values_and_segments)[ITEMS_PER_THREAD],\n        Offset          (&flags)[ITEMS_PER_THREAD],\n        Offset          tile_num_flags,\n        Offset          tile_num_flags_prefix)\n    {\n        // Do a one-phase scatter if (a) two-phase is disabled or (b) the average number of selected items per thread is less than one\n        if ((TWO_PHASE_SCATTER) && ((tile_num_flags >> Log2<BLOCK_THREADS>::VALUE) > 0))\n        {\n            ScatterTwoPhase<LAST_TILE, FIRST_TILE>(\n                num_remaining,\n                keys,\n                values_and_segments,\n                flags,\n                tile_num_flags,\n                tile_num_flags_prefix);\n        }\n        else\n        {\n            ScatterDirect<LAST_TILE, FIRST_TILE>(\n                num_remaining,\n                keys,\n                values_and_segments,\n                flags,\n                tile_num_flags,\n                Int2Type<0>());\n        }\n    }\n\n\n    //---------------------------------------------------------------------\n    // Cooperatively scan a device-wide sequence of tiles with other CTAs\n    //---------------------------------------------------------------------\n\n    /**\n     * Process a tile of input (dynamic domino scan)\n     */\n    template <\n        bool                LAST_TILE>\n    __device__ __forceinline__ ValueOffsetPair ConsumeTile(\n        Offset              num_items,          ///< Total number of global input items\n        Offset              num_remaining,      ///< Number of global input items remaining (including this tile)\n        int                 tile_idx,           ///< Tile index\n        Offset              block_offset,       ///< Tile offset\n        ScanTileState  &tile_status)       ///< Global list of tile status\n    {\n            Key                 keys[ITEMS_PER_THREAD];                         // Tile keys\n            Value               values[ITEMS_PER_THREAD];                       // Tile values\n            Offset              flags[ITEMS_PER_THREAD];                        // Segment head flags\n            ValueOffsetPair     values_and_segments[ITEMS_PER_THREAD];          // Zipped values and segment flags|indices\n\n        ValueOffsetPair     running_total;                                  // Running count of segments and current value aggregate (including this tile)\n\n        if (tile_idx == 0)\n        {\n            // First tile\n\n            // Load keys and values\n            if (LAST_TILE)\n            {\n                BlockLoadKeys(temp_storage.load_keys).Load(d_keys_in + block_offset, keys, num_remaining);\n            }\n            else\n            {\n                BlockLoadKeys(temp_storage.load_keys).Load(d_keys_in + block_offset, keys);\n            }\n\n            if (SYNC_AFTER_LOAD)\n                __syncthreads();\n\n            // Load values\n            if (LAST_TILE)\n                BlockLoadValues(temp_storage.load_values).Load(d_values_in + block_offset, values, num_remaining);\n            else\n                BlockLoadValues(temp_storage.load_values).Load(d_values_in + block_offset, values);\n\n            if (SYNC_AFTER_LOAD)\n                __syncthreads();\n\n            // Set head flags.  First tile sets the first flag for the first item\n            BlockDiscontinuityKeys(temp_storage.discontinuity).FlagHeads(flags, keys, inequality_op);\n\n            // Zip values and flags\n            ZipValuesAndFlags<LAST_TILE>(num_remaining, values, flags, values_and_segments);\n\n            // Exclusive scan of values and flags\n            ValueOffsetPair block_aggregate;\n            ScanBlock(values_and_segments, block_aggregate, Int2Type<HAS_IDENTITY_ZERO>());\n\n            // Update tile status if this is not the last tile\n            if (!LAST_TILE && (threadIdx.x == 0))\n                tile_status.SetInclusive(0, block_aggregate);\n\n            // Set offset for first scan output\n            if (!HAS_IDENTITY_ZERO && (threadIdx.x == 0))\n                values_and_segments[0].offset = 0;\n\n            running_total = block_aggregate;\n\n            // Scatter flagged items\n            Scatter<LAST_TILE, true>(num_remaining, keys, values_and_segments, flags, block_aggregate.offset, 0);\n        }\n        else\n        {\n            // Not first tile\n\n            // Load keys and values\n            if (LAST_TILE)\n            {\n                BlockLoadKeys(temp_storage.load_keys).Load(d_keys_in + block_offset, keys, num_remaining);\n            }\n            else\n            {\n                BlockLoadKeys(temp_storage.load_keys).Load(d_keys_in + block_offset, keys);\n            }\n\n            if (SYNC_AFTER_LOAD)\n                __syncthreads();\n\n            // Load values\n            if (LAST_TILE)\n                BlockLoadValues(temp_storage.load_values).Load(d_values_in + block_offset, values, num_remaining);\n            else\n                BlockLoadValues(temp_storage.load_values).Load(d_values_in + block_offset, values);\n\n            if (SYNC_AFTER_LOAD)\n                __syncthreads();\n\n            // Obtain the last key in the previous tile to compare with\n            Key tile_predecessor_key = (threadIdx.x == 0) ?\n                d_keys_in[block_offset - 1] :\n                ZeroInitialize<Key>();\n\n            // Set head flags\n            BlockDiscontinuityKeys(temp_storage.discontinuity).FlagHeads(flags, keys, inequality_op, tile_predecessor_key);\n\n            // Zip values and flags\n            ZipValuesAndFlags<LAST_TILE>(num_remaining, values, flags, values_and_segments);\n\n            // Exclusive scan of values and flags\n            ValueOffsetPair block_aggregate;\n            LookbackPrefixCallbackOp prefix_op(tile_status, temp_storage.prefix, scan_op, tile_idx);\n\n            ScanBlock(values_and_segments, block_aggregate, prefix_op, Int2Type<HAS_IDENTITY_ZERO>());\n            running_total = prefix_op.inclusive_prefix;\n\n            // Scatter flagged items\n            Scatter<LAST_TILE, false>(num_remaining, keys, values_and_segments, flags, block_aggregate.offset, prefix_op.exclusive_prefix.offset);\n        }\n\n        return running_total;\n    }\n\n\n    /**\n     * Dequeue and scan tiles of items as part of a dynamic domino scan\n     */\n    template <typename NumSegmentsIterator>         ///< Output iterator type for recording number of items selected\n    __device__ __forceinline__ void ConsumeRange(\n        int                     num_tiles,          ///< Total number of input tiles\n        GridQueue<int>          queue,              ///< Queue descriptor for assigning tiles of work to thread blocks\n        ScanTileState      &tile_status,       ///< Global list of tile status\n        NumSegmentsIterator     d_num_segments)     ///< Output pointer for total number of segments identified\n    {\n#if (CUB_PTX_ARCH <= 130)\n        // Blocks are launched in increasing order, so just assign one tile per block\n\n        int     tile_idx        = (blockIdx.y * 32 * 1024) + blockIdx.x;    // Current tile index\n        Offset  block_offset    = Offset(TILE_ITEMS) * tile_idx;            // Global offset for the current tile\n        Offset  num_remaining   = num_items - block_offset;                 // Remaining items (including this tile)\n\n        if (num_remaining > TILE_ITEMS)\n        {\n            // Full tile\n            ConsumeTile<false>(num_items, num_remaining, tile_idx, block_offset, tile_status);\n        }\n        else if (num_remaining > 0)\n        {\n            // Last tile\n            ValueOffsetPair running_total = ConsumeTile<true>(num_items, num_remaining, tile_idx, block_offset, tile_status);\n\n            // Output the total number of items selected\n            if (threadIdx.x == 0)\n            {\n                *d_num_segments = running_total.offset;\n\n                // If the last tile is a whole tile, the inclusive prefix contains accumulated value reduction for the last segment\n                if (num_remaining == TILE_ITEMS)\n                {\n                    d_values_out[running_total.offset - 1] = running_total.value;\n                }\n            }\n        }\n#else\n        // Blocks may not be launched in increasing order, so work-steal tiles\n\n        // Get first tile index\n        if (threadIdx.x == 0)\n            temp_storage.tile_idx = queue.Drain(1);\n\n        __syncthreads();\n\n        int     tile_idx        = temp_storage.tile_idx;\n        Offset  block_offset    = Offset(TILE_ITEMS) * tile_idx;    // Global offset for the current tile\n        Offset  num_remaining   = num_items - block_offset;         // Remaining items (including this tile)\n\n        while (num_remaining > TILE_ITEMS)\n        {\n            if (SYNC_AFTER_LOAD)\n                __syncthreads();\n\n            // Consume full tile\n            ConsumeTile<false>(num_items, num_remaining, tile_idx, block_offset, tile_status);\n\n            // Get tile index\n            if (threadIdx.x == 0)\n                temp_storage.tile_idx = queue.Drain(1);\n\n            __syncthreads();\n\n            tile_idx        = temp_storage.tile_idx;\n            block_offset    = Offset(TILE_ITEMS) * tile_idx;\n            num_remaining   = num_items - block_offset;\n        }\n\n        if (num_remaining > 0)\n        {\n            // Consume last tile (treat as partially-full)\n            ValueOffsetPair running_total = ConsumeTile<true>(num_items, num_remaining, tile_idx, block_offset, tile_status);\n\n            if ((threadIdx.x == 0))\n            {\n                // Output the total number of items selected\n                *d_num_segments = running_total.offset;\n\n                // If the last tile is a whole tile, the inclusive prefix contains accumulated value reduction for the last segment\n                if (num_remaining == TILE_ITEMS)\n                {\n                    d_values_out[running_total.offset - 1] = running_total.value;\n                }\n            }\n        }\n#endif\n    }\n\n};\n\n\n}               // CUB namespace\nCUB_NS_POSTFIX  // Optional outer namespace(s)\n\n"
  },
  {
    "path": "external/cub-1.3.2/cub/block_range/block_range_scan.cuh",
    "content": "/******************************************************************************\n * Copyright (c) 2011, Duane Merrill.  All rights reserved.\n * Copyright (c) 2011-2014, NVIDIA CORPORATION.  All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *     * Redistributions of source code must retain the above copyright\n *       notice, this list of conditions and the following disclaimer.\n *     * Redistributions in binary form must reproduce the above copyright\n *       notice, this list of conditions and the following disclaimer in the\n *       documentation and/or other materials provided with the distribution.\n *     * Neither the name of the NVIDIA CORPORATION nor the\n *       names of its contributors may be used to endorse or promote products\n *       derived from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n ******************************************************************************/\n\n/**\n * \\file\n * cub::BlockRangeScan implements a stateful abstraction of CUDA thread blocks for participating in device-wide prefix scan across a range of tiles.\n */\n\n#pragma once\n\n#include <iterator>\n\n#include \"block_scan_prefix_operators.cuh\"\n#include \"../block/block_load.cuh\"\n#include \"../block/block_store.cuh\"\n#include \"../block/block_scan.cuh\"\n#include \"../grid/grid_queue.cuh\"\n#include \"../iterator/cache_modified_input_iterator.cuh\"\n#include \"../util_namespace.cuh\"\n\n/// Optional outer namespace(s)\nCUB_NS_PREFIX\n\n/// CUB namespace\nnamespace cub {\n\n\n/******************************************************************************\n * Tuning policy types\n ******************************************************************************/\n\n/**\n * Parameterizable tuning policy type for BlockRangeScan\n */\ntemplate <\n    int                         _BLOCK_THREADS,                 ///< Threads per thread block\n    int                         _ITEMS_PER_THREAD,              ///< Items per thread (per tile of input)\n    BlockLoadAlgorithm          _LOAD_ALGORITHM,                ///< The BlockLoad algorithm to use\n    bool                        _LOAD_WARP_TIME_SLICING,        ///< Whether or not only one warp's worth of shared memory should be allocated and time-sliced among block-warps during any load-related data transpositions (versus each warp having its own storage)\n    CacheLoadModifier           _LOAD_MODIFIER,                 ///< Cache load modifier for reading input elements\n    BlockStoreAlgorithm         _STORE_ALGORITHM,               ///< The BlockStore algorithm to use\n    bool                        _STORE_WARP_TIME_SLICING,       ///< Whether or not only one warp's worth of shared memory should be allocated and time-sliced among block-warps during any store-related data transpositions (versus each warp having its own storage)\n    BlockScanAlgorithm          _SCAN_ALGORITHM>                ///< The BlockScan algorithm to use\nstruct BlockRangeScanPolicy\n{\n    enum\n    {\n        BLOCK_THREADS           = _BLOCK_THREADS,               ///< Threads per thread block\n        ITEMS_PER_THREAD        = _ITEMS_PER_THREAD,            ///< Items per thread (per tile of input)\n        LOAD_WARP_TIME_SLICING  = _LOAD_WARP_TIME_SLICING,      ///< Whether or not only one warp's worth of shared memory should be allocated and time-sliced among block-warps during any load-related data transpositions (versus each warp having its own storage)\n        STORE_WARP_TIME_SLICING = _STORE_WARP_TIME_SLICING,     ///< Whether or not only one warp's worth of shared memory should be allocated and time-sliced among block-warps during any store-related data transpositions (versus each warp having its own storage)\n    };\n\n    static const BlockLoadAlgorithm     LOAD_ALGORITHM          = _LOAD_ALGORITHM;          ///< The BlockLoad algorithm to use\n    static const CacheLoadModifier      LOAD_MODIFIER           = _LOAD_MODIFIER;           ///< Cache load modifier for reading input elements\n    static const BlockStoreAlgorithm    STORE_ALGORITHM         = _STORE_ALGORITHM;         ///< The BlockStore algorithm to use\n    static const BlockScanAlgorithm     SCAN_ALGORITHM    = _SCAN_ALGORITHM;    ///< The BlockScan algorithm to use\n};\n\n\n\n\n/******************************************************************************\n * Thread block abstractions\n ******************************************************************************/\n\n/**\n * \\brief BlockRangeScan implements a stateful abstraction of CUDA thread blocks for participating in device-wide prefix scan across a range of tiles.\n */\ntemplate <\n    typename BlockRangeScanPolicy,      ///< Parameterized BlockRangeScanPolicy tuning policy type\n    typename InputIterator,             ///< Random-access input iterator type\n    typename OutputIterator,            ///< Random-access output iterator type\n    typename ScanOp,                    ///< Scan functor type\n    typename Identity,                  ///< Identity element type (cub::NullType for inclusive scan)\n    typename Offset>                    ///< Signed integer type for global offsets\nstruct BlockRangeScan\n{\n    //---------------------------------------------------------------------\n    // Types and constants\n    //---------------------------------------------------------------------\n\n    // Data type of input iterator\n    typedef typename std::iterator_traits<InputIterator>::value_type T;\n\n    // Tile status descriptor interface type\n    typedef ScanTileState<T> ScanTileState;\n\n    // Input iterator wrapper type\n    typedef typename If<IsPointer<InputIterator>::VALUE,\n            CacheModifiedInputIterator<BlockRangeScanPolicy::LOAD_MODIFIER, T, Offset>,    // Wrap the native input pointer with CacheModifiedInputIterator\n            InputIterator>::Type                                                            // Directly use the supplied input iterator type\n        WrappedInputIterator;\n\n    // Constants\n    enum\n    {\n        INCLUSIVE           = Equals<Identity, NullType>::VALUE,            // Inclusive scan if no identity type is provided\n        BLOCK_THREADS       = BlockRangeScanPolicy::BLOCK_THREADS,\n        ITEMS_PER_THREAD    = BlockRangeScanPolicy::ITEMS_PER_THREAD,\n        TILE_ITEMS          = BLOCK_THREADS * ITEMS_PER_THREAD,\n    };\n\n    // Parameterized BlockLoad type\n    typedef BlockLoad<\n            WrappedInputIterator,\n            BlockRangeScanPolicy::BLOCK_THREADS,\n            BlockRangeScanPolicy::ITEMS_PER_THREAD,\n            BlockRangeScanPolicy::LOAD_ALGORITHM,\n            BlockRangeScanPolicy::LOAD_WARP_TIME_SLICING>\n        BlockLoadT;\n\n    // Parameterized BlockStore type\n    typedef BlockStore<\n            OutputIterator,\n            BlockRangeScanPolicy::BLOCK_THREADS,\n            BlockRangeScanPolicy::ITEMS_PER_THREAD,\n            BlockRangeScanPolicy::STORE_ALGORITHM,\n            BlockRangeScanPolicy::STORE_WARP_TIME_SLICING>\n        BlockStoreT;\n\n    // Parameterized BlockScan type\n    typedef BlockScan<\n            T,\n            BlockRangeScanPolicy::BLOCK_THREADS,\n            BlockRangeScanPolicy::SCAN_ALGORITHM>\n        BlockScanT;\n\n    // Callback type for obtaining tile prefix during block scan\n    typedef BlockScanLookbackPrefixOp<\n            T,\n            ScanOp,\n            ScanTileState>\n        LookbackPrefixCallbackOp;\n\n    // Stateful BlockScan prefix callback type for managing a running total while scanning consecutive tiles\n    typedef BlockScanRunningPrefixOp<\n            T,\n            ScanOp>\n        RunningPrefixCallbackOp;\n\n    // Shared memory type for this threadblock\n    struct _TempStorage\n    {\n        union\n        {\n            typename BlockLoadT::TempStorage    load;       // Smem needed for tile loading\n            typename BlockStoreT::TempStorage   store;      // Smem needed for tile storing\n            struct\n            {\n                typename LookbackPrefixCallbackOp::TempStorage  prefix;     // Smem needed for cooperative prefix callback\n                typename BlockScanT::TempStorage                scan;       // Smem needed for tile scanning\n            };\n        };\n\n        Offset tile_idx;   // Shared tile index\n    };\n\n    // Alias wrapper allowing storage to be unioned\n    struct TempStorage : Uninitialized<_TempStorage> {};\n\n\n    //---------------------------------------------------------------------\n    // Per-thread fields\n    //---------------------------------------------------------------------\n\n    _TempStorage                &temp_storage;      ///< Reference to temp_storage\n    WrappedInputIterator        d_in;               ///< Input data\n    OutputIterator              d_out;              ///< Output data\n    ScanOp                      scan_op;            ///< Binary scan operator\n    Identity                    identity;           ///< Identity element\n\n\n\n    //---------------------------------------------------------------------\n    // Block scan utility methods (first tile)\n    //---------------------------------------------------------------------\n\n    /**\n     * Exclusive scan specialization\n     */\n    template <typename _ScanOp, typename _Identity>\n    __device__ __forceinline__\n    void ScanBlock(T (&items)[ITEMS_PER_THREAD], _ScanOp scan_op, _Identity identity, T& block_aggregate)\n    {\n        BlockScanT(temp_storage.scan).ExclusiveScan(items, items, identity, scan_op, block_aggregate);\n    }\n\n    /**\n     * Exclusive sum specialization\n     */\n    template <typename _Identity>\n    __device__ __forceinline__\n    void ScanBlock(T (&items)[ITEMS_PER_THREAD], Sum scan_op, _Identity identity, T& block_aggregate)\n    {\n        BlockScanT(temp_storage.scan).ExclusiveSum(items, items, block_aggregate);\n    }\n\n    /**\n     * Inclusive scan specialization\n     */\n    template <typename _ScanOp>\n    __device__ __forceinline__\n    void ScanBlock(T (&items)[ITEMS_PER_THREAD], _ScanOp scan_op, NullType identity, T& block_aggregate)\n    {\n        BlockScanT(temp_storage.scan).InclusiveScan(items, items, scan_op, block_aggregate);\n    }\n\n    /**\n     * Inclusive sum specialization\n     */\n    __device__ __forceinline__\n    void ScanBlock(T (&items)[ITEMS_PER_THREAD], Sum scan_op, NullType identity, T& block_aggregate)\n    {\n        BlockScanT(temp_storage.scan).InclusiveSum(items, items, block_aggregate);\n    }\n\n    //---------------------------------------------------------------------\n    // Block scan utility methods (subsequent tiles)\n    //---------------------------------------------------------------------\n\n    /**\n     * Exclusive scan specialization (with prefix from predecessors)\n     */\n    template <typename _ScanOp, typename _Identity, typename PrefixCallback>\n    __device__ __forceinline__\n    void ScanBlock(T (&items)[ITEMS_PER_THREAD], _ScanOp scan_op, _Identity identity, T& block_aggregate, PrefixCallback &prefix_op)\n    {\n        BlockScanT(temp_storage.scan).ExclusiveScan(items, items, identity, scan_op, block_aggregate, prefix_op);\n    }\n\n    /**\n     * Exclusive sum specialization (with prefix from predecessors)\n     */\n    template <typename _Identity, typename PrefixCallback>\n    __device__ __forceinline__\n    void ScanBlock(T (&items)[ITEMS_PER_THREAD], Sum scan_op, _Identity identity, T& block_aggregate, PrefixCallback &prefix_op)\n    {\n        BlockScanT(temp_storage.scan).ExclusiveSum(items, items, block_aggregate, prefix_op);\n    }\n\n    /**\n     * Inclusive scan specialization (with prefix from predecessors)\n     */\n    template <typename _ScanOp, typename PrefixCallback>\n    __device__ __forceinline__\n    void ScanBlock(T (&items)[ITEMS_PER_THREAD], _ScanOp scan_op, NullType identity, T& block_aggregate, PrefixCallback &prefix_op)\n    {\n        BlockScanT(temp_storage.scan).InclusiveScan(items, items, scan_op, block_aggregate, prefix_op);\n    }\n\n    /**\n     * Inclusive sum specialization (with prefix from predecessors)\n     */\n    template <typename PrefixCallback>\n    __device__ __forceinline__\n    void ScanBlock(T (&items)[ITEMS_PER_THREAD], Sum scan_op, NullType identity, T& block_aggregate, PrefixCallback &prefix_op)\n    {\n        BlockScanT(temp_storage.scan).InclusiveSum(items, items, block_aggregate, prefix_op);\n    }\n\n\n    //---------------------------------------------------------------------\n    // Constructor\n    //---------------------------------------------------------------------\n\n    // Constructor\n    __device__ __forceinline__\n    BlockRangeScan(\n        TempStorage                 &temp_storage,      ///< Reference to temp_storage\n        InputIterator               d_in,               ///< Input data\n        OutputIterator              d_out,              ///< Output data\n        ScanOp                      scan_op,            ///< Binary scan operator\n        Identity                    identity)           ///< Identity element\n    :\n        temp_storage(temp_storage.Alias()),\n        d_in(d_in),\n        d_out(d_out),\n        scan_op(scan_op),\n        identity(identity)\n    {}\n\n\n    //---------------------------------------------------------------------\n    // Cooperatively scan a device-wide sequence of tiles with other CTAs\n    //---------------------------------------------------------------------\n\n    /**\n     * Process a tile of input (dynamic domino scan)\n     */\n    template <bool LAST_TILE>\n    __device__ __forceinline__ void ConsumeTile(\n        Offset                      num_items,          ///< Total number of input items\n        Offset                      num_remaining,      ///< Total number of items remaining to be processed (including this tile)\n        int                         tile_idx,           ///< Tile index\n        Offset                      block_offset,       ///< Tile offset\n        ScanTileState          &tile_status)       ///< Global list of tile status\n    {\n        // Load items\n        T items[ITEMS_PER_THREAD];\n\n        if (LAST_TILE)\n            BlockLoadT(temp_storage.load).Load(d_in + block_offset, items, num_remaining);\n        else\n            BlockLoadT(temp_storage.load).Load(d_in + block_offset, items);\n\n        __syncthreads();\n\n        // Perform tile scan\n        if (tile_idx == 0)\n        {\n            // Scan first tile\n            T block_aggregate;\n            ScanBlock(items, scan_op, identity, block_aggregate);\n\n            // Update tile status if there may be successor tiles (i.e., this tile is full)\n            if (!LAST_TILE && (threadIdx.x == 0))\n                tile_status.SetInclusive(0, block_aggregate);\n        }\n        else\n        {\n            // Scan non-first tile\n            T block_aggregate;\n            LookbackPrefixCallbackOp prefix_op(tile_status, temp_storage.prefix, scan_op, tile_idx);\n            ScanBlock(items, scan_op, identity, block_aggregate, prefix_op);\n        }\n\n        __syncthreads();\n\n        // Store items\n        if (LAST_TILE)\n            BlockStoreT(temp_storage.store).Store(d_out + block_offset, items, num_remaining);\n        else\n            BlockStoreT(temp_storage.store).Store(d_out + block_offset, items);\n    }\n\n\n    /**\n     * Dequeue and scan tiles of items as part of a dynamic domino scan\n     */\n    __device__ __forceinline__ void ConsumeRange(\n        int                     num_items,          ///< Total number of input items\n        GridQueue<int>          queue,              ///< Queue descriptor for assigning tiles of work to thread blocks\n        ScanTileState      &tile_status)       ///< Global list of tile status\n    {\n#if (CUB_PTX_ARCH <= 130)\n        // Blocks are launched in increasing order, so just assign one tile per block\n\n        int     tile_idx        = (blockIdx.y * 32 * 1024) + blockIdx.x;    // Current tile index\n        Offset  block_offset    = Offset(TILE_ITEMS) * tile_idx;            // Global offset for the current tile\n        Offset  num_remaining   = num_items - block_offset;                 // Remaining items (including this tile)\n\n        if (block_offset + TILE_ITEMS <= num_items)\n            ConsumeTile<false>(num_items, num_remaining, tile_idx, block_offset, tile_status);\n        else if (block_offset < num_items)\n            ConsumeTile<true>(num_items, num_remaining, tile_idx, block_offset, tile_status);\n\n#else\n        // Blocks may not be launched in increasing order, so work-steal tiles\n\n        // Get first tile index\n        if (threadIdx.x == 0)\n            temp_storage.tile_idx = queue.Drain(1);\n\n        __syncthreads();\n\n        int     tile_idx        = temp_storage.tile_idx;\n        Offset  block_offset    = TILE_ITEMS * tile_idx;\n        Offset  num_remaining   = num_items - block_offset;\n\n        while (num_remaining >= TILE_ITEMS)\n        {\n            // Consume full tile\n            ConsumeTile<false>(num_items, num_remaining, tile_idx, block_offset, tile_status);\n\n            // Get next tile\n            if (threadIdx.x == 0)\n                temp_storage.tile_idx = queue.Drain(1);\n\n            __syncthreads();\n\n            tile_idx        = temp_storage.tile_idx;\n            block_offset    = TILE_ITEMS * tile_idx;\n            num_remaining   = num_items - block_offset;\n        }\n\n        // Consume the last (and potentially partially-full) tile\n        if (num_remaining > 0)\n        {\n            ConsumeTile<true>(num_items, num_remaining, tile_idx, block_offset, tile_status);\n        }\n\n#endif\n    }\n\n\n    //---------------------------------------------------------------------\n    // Scan an sequence of consecutive tiles (independent of other thread blocks)\n    //---------------------------------------------------------------------\n\n    /**\n     * Process a tile of input\n     */\n    template <\n        bool                FULL_TILE,\n        bool                FIRST_TILE>\n    __device__ __forceinline__ void ConsumeTile(\n        Offset                      block_offset,               ///< Tile offset\n        RunningPrefixCallbackOp     &prefix_op,                 ///< Running prefix operator\n        int                         valid_items = TILE_ITEMS)   ///< Number of valid items in the tile\n    {\n        // Load items\n        T items[ITEMS_PER_THREAD];\n\n        if (FULL_TILE)\n            BlockLoadT(temp_storage.load).Load(d_in + block_offset, items);\n        else\n            BlockLoadT(temp_storage.load).Load(d_in + block_offset, items, valid_items);\n\n        __syncthreads();\n\n        // Block scan\n        if (FIRST_TILE)\n        {\n            T block_aggregate;\n            ScanBlock(items, scan_op, identity, block_aggregate);\n            prefix_op.running_total = block_aggregate;\n        }\n        else\n        {\n            T block_aggregate;\n            ScanBlock(items, scan_op, identity, block_aggregate, prefix_op);\n        }\n\n        __syncthreads();\n\n        // Store items\n        if (FULL_TILE)\n            BlockStoreT(temp_storage.store).Store(d_out + block_offset, items);\n        else\n            BlockStoreT(temp_storage.store).Store(d_out + block_offset, items, valid_items);\n    }\n\n\n    /**\n     * Scan a consecutive share of input tiles\n     */\n    __device__ __forceinline__ void ConsumeRange(\n        Offset   block_offset,      ///< [in] Threadblock begin offset (inclusive)\n        Offset   block_end)         ///< [in] Threadblock end offset (exclusive)\n    {\n        BlockScanRunningPrefixOp<T, ScanOp> prefix_op(scan_op);\n\n        if (block_offset + TILE_ITEMS <= block_end)\n        {\n            // Consume first tile of input (full)\n            ConsumeTile<true, true>(block_offset, prefix_op);\n            block_offset += TILE_ITEMS;\n\n            // Consume subsequent full tiles of input\n            while (block_offset + TILE_ITEMS <= block_end)\n            {\n                ConsumeTile<true, false>(block_offset, prefix_op);\n                block_offset += TILE_ITEMS;\n            }\n\n            // Consume a partially-full tile\n            if (block_offset < block_end)\n            {\n                int valid_items = block_end - block_offset;\n                ConsumeTile<false, false>(block_offset, prefix_op, valid_items);\n            }\n        }\n        else\n        {\n            // Consume the first tile of input (partially-full)\n            int valid_items = block_end - block_offset;\n            ConsumeTile<false, true>(block_offset, prefix_op, valid_items);\n        }\n    }\n\n\n    /**\n     * Scan a consecutive share of input tiles, seeded with the specified prefix value\n     */\n    __device__ __forceinline__ void ConsumeRange(\n        Offset  block_offset,                       ///< [in] Threadblock begin offset (inclusive)\n        Offset  block_end,                          ///< [in] Threadblock end offset (exclusive)\n        T       prefix)                             ///< [in] The prefix to apply to the scan segment\n    {\n        BlockScanRunningPrefixOp<T, ScanOp> prefix_op(prefix, scan_op);\n\n        // Consume full tiles of input\n        while (block_offset + TILE_ITEMS <= block_end)\n        {\n            ConsumeTile<true, false>(block_offset, prefix_op);\n            block_offset += TILE_ITEMS;\n        }\n\n        // Consume a partially-full tile\n        if (block_offset < block_end)\n        {\n            int valid_items = block_end - block_offset;\n            ConsumeTile<false, false>(block_offset, prefix_op, valid_items);\n        }\n    }\n\n};\n\n\n}               // CUB namespace\nCUB_NS_POSTFIX  // Optional outer namespace(s)\n\n"
  },
  {
    "path": "external/cub-1.3.2/cub/block_range/block_range_select.cuh",
    "content": "/******************************************************************************\n * Copyright (c) 2011, Duane Merrill.  All rights reserved.\n * Copyright (c) 2011-2014, NVIDIA CORPORATION.  All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *     * Redistributions of source code must retain the above copyright\n *       notice, this list of conditions and the following disclaimer.\n *     * Redistributions in binary form must reproduce the above copyright\n *       notice, this list of conditions and the following disclaimer in the\n *       documentation and/or other materials provided with the distribution.\n *     * Neither the name of the NVIDIA CORPORATION nor the\n *       names of its contributors may be used to endorse or promote products\n *       derived from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n ******************************************************************************/\n\n/**\n * \\file\n * cub::BlockRangeSelect implements a stateful abstraction of CUDA thread blocks for participating in device-wide select.\n */\n\n#pragma once\n\n#include <iterator>\n\n#include \"block_scan_prefix_operators.cuh\"\n#include \"../block/block_load.cuh\"\n#include \"../block/block_store.cuh\"\n#include \"../block/block_scan.cuh\"\n#include \"../block/block_exchange.cuh\"\n#include \"../block/block_discontinuity.cuh\"\n#include \"../grid/grid_queue.cuh\"\n#include \"../iterator/cache_modified_input_iterator.cuh\"\n#include \"../util_namespace.cuh\"\n\n/// Optional outer namespace(s)\nCUB_NS_PREFIX\n\n/// CUB namespace\nnamespace cub {\n\n\n/******************************************************************************\n * Tuning policy types\n ******************************************************************************/\n\n/**\n * Parameterizable tuning policy type for BlockRangeSelect\n */\ntemplate <\n    int                         _BLOCK_THREADS,                 ///< Threads per thread block\n    int                         _ITEMS_PER_THREAD,              ///< Items per thread (per tile of input)\n    BlockLoadAlgorithm          _LOAD_ALGORITHM,                ///< The BlockLoad algorithm to use\n    CacheLoadModifier           _LOAD_MODIFIER,                 ///< Cache load modifier for reading input elements\n    bool                        _TWO_PHASE_SCATTER,             ///< Whether or not to coalesce output values in shared memory before scattering them to global\n    BlockScanAlgorithm          _SCAN_ALGORITHM>                ///< The BlockScan algorithm to use\nstruct BlockRangeSelectPolicy\n{\n    enum\n    {\n        BLOCK_THREADS           = _BLOCK_THREADS,               ///< Threads per thread block\n        ITEMS_PER_THREAD        = _ITEMS_PER_THREAD,            ///< Items per thread (per tile of input)\n        TWO_PHASE_SCATTER       = _TWO_PHASE_SCATTER,           ///< Whether or not to coalesce output values in shared memory before scattering them to global\n    };\n\n    static const BlockLoadAlgorithm     LOAD_ALGORITHM          = _LOAD_ALGORITHM;      ///< The BlockLoad algorithm to use\n    static const CacheLoadModifier      LOAD_MODIFIER           = _LOAD_MODIFIER;       ///< Cache load modifier for reading input elements\n    static const BlockScanAlgorithm     SCAN_ALGORITHM          = _SCAN_ALGORITHM;      ///< The BlockScan algorithm to use\n};\n\n\n\n\n/******************************************************************************\n * Thread block abstractions\n ******************************************************************************/\n\n/**\n * \\brief BlockRangeSelect implements a stateful abstraction of CUDA thread blocks for participating in device-wide selection across a range of tiles\n *\n * Performs functor-based selection if SelectOp functor type != NullType\n * Otherwise performs flag-based selection if FlagIterator's value type != NullType\n * Otherwise performs discontinuity selection (keep unique)\n */\ntemplate <\n    typename    BlockRangeSelectPolicy,         ///< Parameterized BlockRangeSelectPolicy tuning policy type\n    typename    InputIterator,                  ///< Random-access input iterator type for selection items\n    typename    FlagIterator,                   ///< Random-access input iterator type for selections (NullType* if a selection functor or discontinuity flagging is to be used for selection)\n    typename    OutputIterator,                 ///< Random-access input iterator type for selected items\n    typename    SelectOp,                       ///< Selection operator type (NullType if selections or discontinuity flagging is to be used for selection)\n    typename    EqualityOp,                     ///< Equality operator type (NullType if selection functor or selections is to be used for selection)\n    typename    Offset,                         ///< Signed integer type for global offsets\n    bool        KEEP_REJECTS>                   ///< Whether or not we push rejected items to the back of the output\nstruct BlockRangeSelect\n{\n    //---------------------------------------------------------------------\n    // Types and constants\n    //---------------------------------------------------------------------\n\n    // Data type of input iterator\n    typedef typename std::iterator_traits<InputIterator>::value_type T;\n\n    // Data type of flag iterator\n    typedef typename std::iterator_traits<FlagIterator>::value_type Flag;\n\n    // Tile status descriptor interface type\n    typedef ScanTileState<Offset> ScanTileState;\n\n    // Constants\n    enum\n    {\n        USE_SELECT_OP,\n        USE_SELECT_FLAGS,\n        USE_DISCONTINUITY,\n\n        BLOCK_THREADS       = BlockRangeSelectPolicy::BLOCK_THREADS,\n        ITEMS_PER_THREAD    = BlockRangeSelectPolicy::ITEMS_PER_THREAD,\n        TWO_PHASE_SCATTER   = (BlockRangeSelectPolicy::TWO_PHASE_SCATTER) && (ITEMS_PER_THREAD > 1),\n        TILE_ITEMS          = BLOCK_THREADS * ITEMS_PER_THREAD,\n\n        // Whether or not to sync after loading data\n        SYNC_AFTER_LOAD     = (BlockRangeSelectPolicy::LOAD_ALGORITHM != BLOCK_LOAD_DIRECT),\n\n        SELECT_METHOD       = (!Equals<SelectOp, NullType>::VALUE) ?\n                                USE_SELECT_OP :\n                                (!Equals<Flag, NullType>::VALUE) ?\n                                    USE_SELECT_FLAGS :\n                                    USE_DISCONTINUITY\n    };\n\n    // Input iterator wrapper type\n    typedef typename If<IsPointer<InputIterator>::VALUE,\n            CacheModifiedInputIterator<BlockRangeSelectPolicy::LOAD_MODIFIER, T, Offset>,      // Wrap the native input pointer with CacheModifiedInputIterator\n            InputIterator>::Type                                                                // Directly use the supplied input iterator type\n        WrappedInputIterator;\n\n    // Flag iterator wrapper type\n    typedef typename If<IsPointer<FlagIterator>::VALUE,\n            CacheModifiedInputIterator<BlockRangeSelectPolicy::LOAD_MODIFIER, Flag, Offset>,   // Wrap the native input pointer with CacheModifiedInputIterator\n            FlagIterator>::Type                                                                 // Directly use the supplied input iterator type\n        WrappedFlagIterator;\n\n    // Parameterized BlockLoad type for input items\n    typedef BlockLoad<\n            WrappedInputIterator,\n            BlockRangeSelectPolicy::BLOCK_THREADS,\n            BlockRangeSelectPolicy::ITEMS_PER_THREAD,\n            BlockRangeSelectPolicy::LOAD_ALGORITHM>\n        BlockLoadT;\n\n    // Parameterized BlockLoad type for flags\n    typedef BlockLoad<\n            WrappedFlagIterator,\n            BlockRangeSelectPolicy::BLOCK_THREADS,\n            BlockRangeSelectPolicy::ITEMS_PER_THREAD,\n            BlockRangeSelectPolicy::LOAD_ALGORITHM>\n        BlockLoadFlags;\n\n    // Parameterized BlockExchange type for input items\n    typedef BlockExchange<\n            T,\n            BLOCK_THREADS,\n            ITEMS_PER_THREAD>\n        BlockExchangeT;\n\n    // Parameterized BlockDiscontinuity type for input items\n    typedef BlockDiscontinuity<T, BLOCK_THREADS> BlockDiscontinuityT;\n\n    // Parameterized BlockScan type\n    typedef BlockScan<\n            Offset,\n            BlockRangeSelectPolicy::BLOCK_THREADS,\n            BlockRangeSelectPolicy::SCAN_ALGORITHM>\n        BlockScanAllocations;\n\n    // Callback type for obtaining tile prefix during block scan\n    typedef BlockScanLookbackPrefixOp<\n            Offset,\n            Sum,\n            ScanTileState>\n        LookbackPrefixCallbackOp;\n\n    // Shared memory type for this threadblock\n    struct _TempStorage\n    {\n        union\n        {\n            struct\n            {\n                typename LookbackPrefixCallbackOp::TempStorage  prefix;         // Smem needed for cooperative prefix callback\n                typename BlockScanAllocations::TempStorage      scan;           // Smem needed for tile scanning\n                typename BlockDiscontinuityT::TempStorage       discontinuity;  // Smem needed for discontinuity detection\n            };\n\n            // Smem needed for input loading\n            typename BlockLoadT::TempStorage load_items;\n\n            // Smem needed for flag loading\n            typename BlockLoadFlags::TempStorage load_flags;\n\n            // Smem needed for two-phase scatter\n            typename If<TWO_PHASE_SCATTER, typename BlockExchangeT::TempStorage, NullType>::Type exchange;\n        };\n\n        Offset      tile_idx;                   // Shared tile index\n        Offset      tile_num_selected_prefix;   // Exclusive tile prefix\n    };\n\n    // Alias wrapper allowing storage to be unioned\n    struct TempStorage : Uninitialized<_TempStorage> {};\n\n\n    //---------------------------------------------------------------------\n    // Per-thread fields\n    //---------------------------------------------------------------------\n\n    _TempStorage                    &temp_storage;      ///< Reference to temp_storage\n    WrappedInputIterator            d_in;               ///< Input data\n    WrappedFlagIterator             d_flags;            ///< Input flags\n    OutputIterator                  d_out;              ///< Output data\n    SelectOp                        select_op;          ///< Selection operator\n    InequalityWrapper<EqualityOp>   inequality_op;      ///< Inequality operator\n    Offset                          num_items;          ///< Total number of input items\n\n\n    //---------------------------------------------------------------------\n    // Constructor\n    //---------------------------------------------------------------------\n\n    // Constructor\n    __device__ __forceinline__\n    BlockRangeSelect(\n        TempStorage                 &temp_storage,      ///< Reference to temp_storage\n        InputIterator               d_in,               ///< Input data\n        FlagIterator                d_flags,            ///< Input flags\n        OutputIterator              d_out,              ///< Output data\n        SelectOp                    select_op,          ///< Selection operator\n        EqualityOp                  equality_op,        ///< Equality operator\n        Offset                      num_items)          ///< Total number of input items\n    :\n        temp_storage(temp_storage.Alias()),\n        d_in(d_in),\n        d_flags(d_flags),\n        d_out(d_out),\n        select_op(select_op),\n        inequality_op(equality_op),\n        num_items(num_items)\n    {}\n\n\n    //---------------------------------------------------------------------\n    // Utility methods for initializing the selections\n    //---------------------------------------------------------------------\n\n    /**\n     * Template unrolled selection via selection operator\n     */\n    template <bool FIRST_TILE, bool LAST_TILE, int ITERATION>\n    __device__ __forceinline__ void ApplySelectionOp(\n        Offset                      block_offset,\n        Offset                      num_remaining,\n        T                           (&items)[ITEMS_PER_THREAD],\n        Offset                      (&selected)[ITEMS_PER_THREAD],\n        Int2Type<ITERATION>         iteration)\n    {\n        selected[ITERATION] = 0;\n        if (!LAST_TILE || (Offset(threadIdx.x * ITEMS_PER_THREAD) + ITERATION < num_remaining))\n            selected[ITERATION] = select_op(items[ITERATION]);\n\n        ApplySelectionOp<FIRST_TILE, LAST_TILE>(block_offset, num_remaining, items, selected, Int2Type<ITERATION + 1>());\n    }\n\n    /**\n     * Template unrolled selection via selection operator\n     */\n    template <bool FIRST_TILE, bool LAST_TILE>\n    __device__ __forceinline__ void ApplySelectionOp(\n        Offset                      block_offset,\n        Offset                      num_remaining,\n        T                           (&items)[ITEMS_PER_THREAD],\n        Offset                      (&selected)[ITEMS_PER_THREAD],\n        Int2Type<ITEMS_PER_THREAD>  iteration)\n    {}\n\n    /**\n     * Initialize selections (specialized for selection operator)\n     */\n    template <bool FIRST_TILE, bool LAST_TILE>\n    __device__ __forceinline__ void InitializeSelections(\n        Offset                      block_offset,\n        Offset                      num_remaining,\n        T                           (&items)[ITEMS_PER_THREAD],\n        Offset                      (&selected)[ITEMS_PER_THREAD],\n        Int2Type<USE_SELECT_OP>     select_method)\n    {\n        ApplySelectionOp<FIRST_TILE, LAST_TILE>(block_offset, num_remaining, items, selected, Int2Type<0>());\n    }\n\n\n    /**\n     * Initialize selections (specialized for valid flags)\n     */\n    template <bool FIRST_TILE, bool LAST_TILE>\n    __device__ __forceinline__ void InitializeSelections(\n        Offset                      block_offset,\n        Offset                      num_remaining,\n        T                           (&items)[ITEMS_PER_THREAD],\n        Offset                      (&selected)[ITEMS_PER_THREAD],\n        Int2Type<USE_SELECT_FLAGS>  select_method)\n    {\n        Flag flags[ITEMS_PER_THREAD];\n\n        if (LAST_TILE)\n            BlockLoadFlags(temp_storage.load_flags).Load(d_flags + block_offset, flags, num_remaining, 0);\n        else\n            BlockLoadFlags(temp_storage.load_flags).Load(d_flags + block_offset, flags);\n\n        #pragma unroll\n        for (int ITEM = 0; ITEM < ITEMS_PER_THREAD; ++ITEM)\n        {\n            selected[ITEM] = flags[ITEM];\n        }\n\n        if (SYNC_AFTER_LOAD)\n            __syncthreads();\n    }\n\n\n    /**\n     * Initialize selections (specialized for discontinuity detection)\n     */\n    template <bool FIRST_TILE, bool LAST_TILE>\n    __device__ __forceinline__ void InitializeSelections(\n        Offset                      block_offset,\n        Offset                      num_remaining,\n        T                           (&items)[ITEMS_PER_THREAD],\n        Offset                      (&selected)[ITEMS_PER_THREAD],\n        Int2Type<USE_DISCONTINUITY> select_method)\n    {\n        if (FIRST_TILE)\n        {\n            // First tile always flags the first item\n            BlockDiscontinuityT(temp_storage.discontinuity).FlagHeads(selected, items, inequality_op);\n        }\n        else\n        {\n            // Subsequent tiles require the last item from the previous tile\n            T tile_predecessor_item;\n            if (threadIdx.x == 0)\n                tile_predecessor_item = d_in[block_offset - 1];\n\n            BlockDiscontinuityT(temp_storage.discontinuity).FlagHeads(selected, items, inequality_op, tile_predecessor_item);\n        }\n    }\n\n\n    //---------------------------------------------------------------------\n    // Utility methods for scattering selections\n    //---------------------------------------------------------------------\n\n    /**\n     * Scatter data items to select offsets (specialized for direct scattering and for discarding rejected items)\n     */\n    template <bool LAST_TILE>\n    __device__ __forceinline__ void Scatter(\n        Offset          block_offset,\n        T               (&items)[ITEMS_PER_THREAD],\n        Offset          selected[ITEMS_PER_THREAD],\n        Offset          scatter_offsets[ITEMS_PER_THREAD],\n        Offset          tile_num_selected_prefix,\n        Offset          tile_num_selected,\n        Offset          num_remaining,\n        Int2Type<false> keep_rejects,\n        Int2Type<false> two_phase_scatter)\n    {\n        #pragma unroll\n        for (int ITEM = 0; ITEM < ITEMS_PER_THREAD; ++ITEM)\n        {\n            if (selected[ITEM])\n            {\n                // Selected items are placed front-to-back\n                d_out[scatter_offsets[ITEM]] = items[ITEM];\n            }\n        }\n    }\n\n\n    /**\n     * Scatter data items to select offsets (specialized for direct scattering and for partitioning rejected items after selected items)\n     */\n    template <bool LAST_TILE>\n    __device__ __forceinline__ void Scatter(\n        Offset          block_offset,\n        T               (&items)[ITEMS_PER_THREAD],\n        Offset          selected[ITEMS_PER_THREAD],\n        Offset          scatter_offsets[ITEMS_PER_THREAD],\n        Offset          tile_num_selected_prefix,\n        Offset          tile_num_selected,\n        Offset          num_remaining,\n        Int2Type<true>  keep_rejects,\n        Int2Type<false> two_phase_scatter)\n    {\n        #pragma unroll\n        for (int ITEM = 0; ITEM < ITEMS_PER_THREAD; ++ITEM)\n        {\n            if (selected[ITEM])\n            {\n                // Selected items are placed front-to-back\n                d_out[scatter_offsets[ITEM]] = items[ITEM];\n            }\n            else if (!LAST_TILE || (Offset(threadIdx.x * ITEMS_PER_THREAD) + ITEM < num_remaining))\n            {\n                Offset global_idx = block_offset + (threadIdx.x * ITEMS_PER_THREAD) + ITEM;\n                Offset reject_idx = global_idx - scatter_offsets[ITEM];\n\n                // Rejected items are placed back-to-front\n                d_out[num_items - reject_idx - 1] = items[ITEM];\n            }\n        }\n    }\n\n\n    /**\n     * Scatter data items to select offsets (specialized for two-phase scattering and for discarding rejected items)\n     */\n    template <bool LAST_TILE>\n    __device__ __forceinline__ void Scatter(\n        Offset          block_offset,\n        T               (&items)[ITEMS_PER_THREAD],\n        Offset          selected[ITEMS_PER_THREAD],\n        Offset          scatter_offsets[ITEMS_PER_THREAD],\n        Offset          tile_num_selected_prefix,\n        Offset          tile_num_selected,\n        Offset          num_remaining,\n        Int2Type<false> keep_rejects,\n        Int2Type<true>  two_phase_scatter)\n    {\n        if ((tile_num_selected >> Log2<BLOCK_THREADS>::VALUE) == 0)\n        {\n            // Average number of selected items per thread is less than one, so just do a one-phase scatter\n            Scatter<LAST_TILE>(\n                block_offset,\n                items,\n                selected,\n                scatter_offsets,\n                tile_num_selected_prefix,\n                tile_num_selected,\n                num_remaining,\n                keep_rejects,\n                Int2Type<false>());\n        }\n        else\n        {\n            // Share exclusive tile prefix\n            if (threadIdx.x == 0)\n            {\n                temp_storage.tile_num_selected_prefix = tile_num_selected_prefix;\n            }\n\n            __syncthreads();\n\n            // Load exclusive tile prefix in all threads\n            tile_num_selected_prefix = temp_storage.tile_num_selected_prefix;\n\n            int local_ranks[ITEMS_PER_THREAD];\n\n            #pragma unroll\n            for (int ITEM = 0; ITEM < ITEMS_PER_THREAD; ++ITEM)\n            {\n                local_ranks[ITEM] = scatter_offsets[ITEM] - tile_num_selected_prefix;\n            }\n\n            BlockExchangeT(temp_storage.exchange).ScatterToStriped(items, local_ranks, selected);\n\n            // Selected items are placed front-to-back\n            StoreDirectStriped<BLOCK_THREADS>(threadIdx.x, d_out + tile_num_selected_prefix, items, tile_num_selected);\n        }\n    }\n\n\n    /**\n     * Scatter data items to select offsets (specialized for two-phase scattering and for partitioning rejected items after selected items)\n     */\n    template <bool LAST_TILE>\n    __device__ __forceinline__ void Scatter(\n        Offset          block_offset,\n        T               (&items)[ITEMS_PER_THREAD],\n        Offset          selected[ITEMS_PER_THREAD],\n        Offset          scatter_offsets[ITEMS_PER_THREAD],\n        Offset          tile_num_selected_prefix,\n        Offset          tile_num_selected,\n        Offset          num_remaining,\n        Int2Type<true>  keep_rejects,\n        Int2Type<true>  two_phase_scatter)\n    {\n        // Share exclusive tile prefix\n        if (threadIdx.x == 0)\n        {\n            temp_storage.tile_num_selected_prefix = tile_num_selected_prefix;\n        }\n\n        __syncthreads();\n\n        // Load the exclusive tile prefix in all threads\n        tile_num_selected_prefix = temp_storage.tile_num_selected_prefix;\n\n        // Determine the exclusive prefix for rejects\n        Offset tile_rejected_exclusive_prefix = block_offset - tile_num_selected_prefix;\n\n        // Determine local scatter offsets\n        int local_ranks[ITEMS_PER_THREAD];\n\n        #pragma unroll\n        for (int ITEM = 0; ITEM < ITEMS_PER_THREAD; ++ITEM)\n        {\n            local_ranks[ITEM]   = -1;\n            Offset global_idx   = block_offset + (threadIdx.x * ITEMS_PER_THREAD) + ITEM;\n            Offset reject_idx   = global_idx - scatter_offsets[ITEM];\n\n            if (selected[ITEM])\n            {\n                // Selected items\n                local_ranks[ITEM] = scatter_offsets[ITEM] - tile_num_selected_prefix;\n            }\n            else if (!LAST_TILE || (Offset(threadIdx.x * ITEMS_PER_THREAD) + ITEM < num_remaining))\n            {\n                // Rejected items\n                local_ranks[ITEM] = (reject_idx - tile_rejected_exclusive_prefix) + tile_num_selected;\n            }\n        }\n\n        // Coalesce selected and rejected items in shared memory, gathering in striped arrangements\n        if (LAST_TILE)\n            BlockExchangeT(temp_storage.exchange).ScatterToStripedGuarded(items, local_ranks);\n        else\n            BlockExchangeT(temp_storage.exchange).ScatterToStriped(items, local_ranks);\n\n        // Store in striped order\n        #pragma unroll\n        for (int ITEM = 0; ITEM < ITEMS_PER_THREAD; ITEM++)\n        {\n            Offset local_idx = (ITEM * BLOCK_THREADS) + threadIdx.x;\n            Offset scatter_offset = tile_num_selected_prefix + local_idx;\n            if (local_idx >= tile_num_selected)\n                scatter_offset = num_items - (tile_rejected_exclusive_prefix + (local_idx - tile_num_selected)) - 1;\n\n            if (!LAST_TILE || (local_idx < num_remaining))\n            {\n                d_out[scatter_offset] = items[ITEM];\n            }\n        }\n    }\n\n\n    //---------------------------------------------------------------------\n    // Cooperatively scan a device-wide sequence of tiles with other CTAs\n    //---------------------------------------------------------------------\n\n    /**\n     * Process a tile of input (dynamic domino scan)\n     */\n    template <bool LAST_TILE>\n    __device__ __forceinline__ Offset ConsumeTile(\n        Offset              num_items,          ///< Total number of input items\n        Offset              num_remaining,      ///< Total number of items remaining to be processed (including this tile)\n        int                 tile_idx,           ///< Tile index\n        Offset              block_offset,       ///< Tile offset\n        ScanTileState  &tile_status)       ///< Global list of tile status\n    {\n        T items[ITEMS_PER_THREAD];\n        Offset selected[ITEMS_PER_THREAD];              // Selection flags\n        Offset scatter_offsets[ITEMS_PER_THREAD];       // Scatter offsets\n        Offset tile_num_selected_prefix;                // Total number of selected items prior to this tile\n        Offset tile_num_selected;                       // Total number of selected items within this tile\n        Offset num_selected;                            //\n\n        // Load items\n        if (LAST_TILE)\n            BlockLoadT(temp_storage.load_items).Load(d_in + block_offset, items, num_remaining, d_in[num_items - 1]);     // Repeat last item\n        else\n            BlockLoadT(temp_storage.load_items).Load(d_in + block_offset, items);\n\n        if (SYNC_AFTER_LOAD)\n            __syncthreads();\n\n        if (tile_idx == 0)\n        {\n            // Initialize selected/rejected output flags for first tile\n            InitializeSelections<true, LAST_TILE>(\n                block_offset,\n                num_remaining,\n                items,\n                selected,\n                Int2Type<SELECT_METHOD>());\n\n            // Compute scatter offsets by scanning the flags\n            BlockScanAllocations(temp_storage.scan).ExclusiveSum(selected, scatter_offsets, tile_num_selected);\n\n            // Update tile status if there may be successor tiles\n            if (!LAST_TILE && (threadIdx.x == 0))\n                tile_status.SetInclusive(0, tile_num_selected);\n\n            tile_num_selected_prefix = 0;\n            num_selected = tile_num_selected;\n        }\n        else\n        {\n            // Initialize selected/rejected output flags for non-first tile\n            InitializeSelections<false, LAST_TILE>(\n                block_offset,\n                num_remaining,\n                items,\n                selected,\n                Int2Type<SELECT_METHOD>());\n\n            // Compute scatter offsets by scanning the flags\n            LookbackPrefixCallbackOp prefix_op(tile_status, temp_storage.prefix, Sum(), tile_idx);\n            BlockScanAllocations(temp_storage.scan).ExclusiveSum(selected, scatter_offsets, tile_num_selected, prefix_op);\n\n            tile_num_selected_prefix = prefix_op.exclusive_prefix;\n            num_selected = prefix_op.inclusive_prefix;\n        }\n\n        // Store selected items\n        Scatter<LAST_TILE>(\n            block_offset,\n            items,\n            selected,\n            scatter_offsets,\n            tile_num_selected_prefix,\n            tile_num_selected,\n            num_remaining,\n            Int2Type<KEEP_REJECTS>(),\n            Int2Type<TWO_PHASE_SCATTER>());\n\n        // Return total number of items selected (inclusive of this tile)\n        return num_selected;\n    }\n\n\n    /**\n     * Dequeue and scan tiles of items as part of a dynamic domino scan\n     */\n    template <typename NumSelectedIterator>         ///< Output iterator type for recording number of items selected\n    __device__ __forceinline__ void ConsumeRange(\n        int                     num_tiles,          ///< Total number of input tiles\n        GridQueue<int>          queue,              ///< Queue descriptor for assigning tiles of work to thread blocks\n        ScanTileState      &tile_status,       ///< Global list of tile status\n        NumSelectedIterator     d_num_selected)     ///< Output total number selected\n    {\n#if (CUB_PTX_ARCH <= 130)\n        // Blocks are launched in increasing order, so just assign one tile per block\n\n        int     tile_idx        = (blockIdx.y * 32 * 1024) + blockIdx.x;    // Current tile index\n        Offset  block_offset    = Offset(TILE_ITEMS) * tile_idx;            // Global offset for the current tile\n        Offset  num_remaining   = num_items - block_offset;                 // Remaining items (including this tile)\n\n        if (num_remaining > TILE_ITEMS)\n        {\n            ConsumeTile<false>(num_items, num_remaining, tile_idx, block_offset, tile_status);\n        }\n        else if (num_remaining > 0)\n        {\n            Offset total_selected = ConsumeTile<true>(num_items, num_remaining, tile_idx, block_offset, tile_status);\n\n            // Output the total number of items selected\n            if (threadIdx.x == 0)\n            {\n                *d_num_selected = total_selected;\n            }\n        }\n\n#else\n        // Blocks may not be launched in increasing order, so work-steal tiles\n\n        // Get first tile index\n        if (threadIdx.x == 0)\n            temp_storage.tile_idx = queue.Drain(1);\n\n        __syncthreads();\n\n        int     tile_idx        = temp_storage.tile_idx;\n        Offset  block_offset    = Offset(TILE_ITEMS) * tile_idx;\n        Offset  num_remaining   = num_items - block_offset;\n\n        while (num_remaining > TILE_ITEMS)\n        {\n            // Consume full tile\n            ConsumeTile<false>(num_items, num_remaining, tile_idx, block_offset, tile_status);\n\n            // Get next tile\n            if (threadIdx.x == 0)\n                temp_storage.tile_idx = queue.Drain(1);\n\n            __syncthreads();\n\n            tile_idx        = temp_storage.tile_idx;\n            block_offset    = Offset(TILE_ITEMS) * tile_idx;\n            num_remaining   = num_items - block_offset;\n        }\n\n        // Consume the last (and potentially partially-full) tile\n        if (num_remaining > 0)\n        {\n            Offset total_selected = ConsumeTile<true>(num_items, num_remaining, tile_idx, block_offset, tile_status);\n\n            // Output the total number of items selected\n            if (threadIdx.x == 0)\n            {\n                *d_num_selected = total_selected;\n            }\n        }\n\n#endif\n\n    }\n\n};\n\n\n}               // CUB namespace\nCUB_NS_POSTFIX  // Optional outer namespace(s)\n\n"
  },
  {
    "path": "external/cub-1.3.2/cub/block_range/block_scan_prefix_operators.cuh",
    "content": "/******************************************************************************\n * Copyright (c) 2011, Duane Merrill.  All rights reserved.\n * Copyright (c) 2011-2014, NVIDIA CORPORATION.  All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *     * Redistributions of source code must retain the above copyright\n *       notice, this list of conditions and the following disclaimer.\n *     * Redistributions in binary form must reproduce the above copyright\n *       notice, this list of conditions and the following disclaimer in the\n *       documentation and/or other materials provided with the distribution.\n *     * Neither the name of the NVIDIA CORPORATION nor the\n *       names of its contributors may be used to endorse or promote products\n *       derived from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n ******************************************************************************/\n\n/**\n * \\file\n * Callback operator types for supplying BlockScan prefixes\n */\n\n#pragma once\n\n#include <iterator>\n\n#include \"../thread/thread_load.cuh\"\n#include \"../thread/thread_store.cuh\"\n#include \"../warp/warp_reduce.cuh\"\n#include \"../util_arch.cuh\"\n#include \"../util_device.cuh\"\n#include \"../util_namespace.cuh\"\n\n/// Optional outer namespace(s)\nCUB_NS_PREFIX\n\n/// CUB namespace\nnamespace cub {\n\n\n/******************************************************************************\n * Prefix functor type for maintaining a running prefix while scanning a region\n ******************************************************************************/\n\n/**\n * Stateful callback operator type for supplying BlockScan prefixes.\n * Maintains a running prefix that can be applied to consecutive\n * BlockScan operations.\n */\ntemplate <\n    typename T,                 ///< BlockScan value type\n    typename ScanOp>            ///< Wrapped scan operator type\nstruct BlockScanRunningPrefixOp\n{\n    ScanOp  op;                 ///< Wrapped scan operator\n    T       running_total;      ///< Running block-wide prefix\n\n    /// Constructor\n    __device__ __forceinline__ BlockScanRunningPrefixOp(ScanOp op)\n    :\n        op(op)\n    {}\n\n    /// Constructor\n    __device__ __forceinline__ BlockScanRunningPrefixOp(\n        T starting_prefix,\n        ScanOp op)\n    :\n        op(op),\n        running_total(starting_prefix)\n    {}\n\n    /**\n     * Prefix callback operator.  Returns the block-wide running_total in thread-0.\n     */\n    __device__ __forceinline__ T operator()(\n        const T &block_aggregate)              ///< The aggregate sum of the BlockScan inputs\n    {\n        T retval = running_total;\n        running_total = op(running_total, block_aggregate);\n        return retval;\n    }\n};\n\n\n/******************************************************************************\n * Bookkeeping and prefix functor types for single-pass device-wide scan with dynamic lookback\n ******************************************************************************/\n\n\n/**\n * Enumerations of tile status\n */\nenum ScanTileStatus\n{\n    SCAN_TILE_OOB,          // Out-of-bounds (e.g., padding)\n    SCAN_TILE_INVALID,      // Not yet processed\n    SCAN_TILE_PARTIAL,      // Tile aggregate is available\n    SCAN_TILE_INCLUSIVE,    // Inclusive tile prefix is available\n};\n\n\n/**\n * Tile status interface.\n */\ntemplate <\n    typename    T,\n    bool        SINGLE_WORD = Traits<T>::PRIMITIVE>\nstruct ScanTileState;\n\n\n/**\n * Tile status interface specialized for scan status and value types\n * that can be combined into one machine word that can be\n * read/written coherently in a single access.\n */\ntemplate <typename T>\nstruct ScanTileState<T, true>\n{\n    // Status word type\n    typedef typename If<(sizeof(T) == 8),\n        long long,\n        typename If<(sizeof(T) == 4),\n            int,\n            typename If<(sizeof(T) == 2),\n                short,\n                char>::Type>::Type>::Type StatusWord;\n\n\n    // Unit word type\n    typedef typename If<(sizeof(T) == 8),\n        longlong2,\n        typename If<(sizeof(T) == 4),\n            int2,\n            typename If<(sizeof(T) == 2),\n                int,\n                uchar2>::Type>::Type>::Type TxnWord;\n\n\n    // Device word type\n    struct TileDescriptor\n    {\n        StatusWord  status;\n        T           value;\n    };\n\n\n    // Constants\n    enum\n    {\n        TILE_STATUS_PADDING = CUB_PTX_WARP_THREADS,\n    };\n\n\n    // Device storage\n    TileDescriptor *d_tile_status;\n\n\n    /// Constructor\n    __host__ __device__ __forceinline__\n    ScanTileState()\n    :\n        d_tile_status(NULL)\n    {}\n\n\n    /// Initializer\n    __host__ __device__ __forceinline__\n    cudaError_t Init(\n        int     num_tiles,                          ///< [in] Number of tiles\n        void    *d_temp_storage,                    ///< [in] %Device allocation of temporary storage.  When NULL, the required allocation size is written to \\p temp_storage_bytes and no work is done.\n        size_t  temp_storage_bytes)                 ///< [in] Size in bytes of \\t d_temp_storage allocation\n    {\n        d_tile_status = reinterpret_cast<TileDescriptor*>(d_temp_storage);\n        return cudaSuccess;\n    }\n\n\n    /**\n     * Compute device memory needed for tile status\n     */\n    __host__ __device__ __forceinline__\n    static cudaError_t AllocationSize(\n        int     num_tiles,                          ///< [in] Number of tiles\n        size_t  &temp_storage_bytes)                ///< [out] Size in bytes of \\t d_temp_storage allocation\n    {\n        temp_storage_bytes = (num_tiles + TILE_STATUS_PADDING) * sizeof(TileDescriptor);       // bytes needed for tile status descriptors\n        return cudaSuccess;\n    }\n\n\n    /**\n     * Initialize (from device)\n     */\n    __device__ __forceinline__ void InitializeStatus(int num_tiles)\n    {\n        int tile_idx = (blockIdx.x * blockDim.x) + threadIdx.x;\n        if (tile_idx < num_tiles)\n        {\n            // Not-yet-set\n            d_tile_status[TILE_STATUS_PADDING + tile_idx].status = StatusWord(SCAN_TILE_INVALID);\n        }\n\n        if ((blockIdx.x == 0) && (threadIdx.x < TILE_STATUS_PADDING))\n        {\n            // Padding\n            d_tile_status[threadIdx.x].status = StatusWord(SCAN_TILE_OOB);\n        }\n    }\n\n\n    /**\n     * Update the specified tile's inclusive value and corresponding status\n     */\n    __device__ __forceinline__ void SetInclusive(int tile_idx, T tile_inclusive)\n    {\n        TileDescriptor tile_descriptor;\n        tile_descriptor.status = SCAN_TILE_INCLUSIVE;\n        tile_descriptor.value = tile_inclusive;\n\n        TxnWord alias;\n        *reinterpret_cast<TileDescriptor*>(&alias) = tile_descriptor;\n        ThreadStore<STORE_CG>(reinterpret_cast<TxnWord*>(d_tile_status + TILE_STATUS_PADDING + tile_idx), alias);\n    }\n\n\n    /**\n     * Update the specified tile's partial value and corresponding status\n     */\n    __device__ __forceinline__ void SetPartial(int tile_idx, T tile_partial)\n    {\n        TileDescriptor tile_descriptor;\n        tile_descriptor.status = SCAN_TILE_PARTIAL;\n        tile_descriptor.value = tile_partial;\n\n        TxnWord alias;\n        *reinterpret_cast<TileDescriptor*>(&alias) = tile_descriptor;\n        ThreadStore<STORE_CG>(reinterpret_cast<TxnWord*>(d_tile_status + TILE_STATUS_PADDING + tile_idx), alias);\n    }\n\n    /**\n     * Wait for the corresponding tile to become non-invalid\n     */\n    __device__ __forceinline__ void WaitForValid(\n        int             tile_idx,\n        StatusWord      &status,\n        T               &value)\n    {\n        // Use warp-any to determine when all threads have valid status\n        TxnWord alias = ThreadLoad<LOAD_CG>(reinterpret_cast<TxnWord*>(d_tile_status + TILE_STATUS_PADDING + tile_idx));\n        TileDescriptor tile_descriptor = reinterpret_cast<TileDescriptor&>(alias);\n\n        while ((tile_descriptor.status == SCAN_TILE_INVALID))\n        {\n            alias = ThreadLoad<LOAD_CG>(reinterpret_cast<TxnWord*>(d_tile_status + TILE_STATUS_PADDING + tile_idx));\n            tile_descriptor = reinterpret_cast<TileDescriptor&>(alias);\n        }\n\n        status = tile_descriptor.status;\n        value = tile_descriptor.value;\n    }\n\n};\n\n\n\n/**\n * Tile status interface specialized for scan status and value types that\n * cannot be combined into one machine word.\n */\ntemplate <typename T>\nstruct ScanTileState<T, false>\n{\n    // Status word type\n    typedef char StatusWord;\n\n    // Constants\n    enum\n    {\n        TILE_STATUS_PADDING = CUB_PTX_WARP_THREADS,\n    };\n\n    // Device storage\n    StatusWord  *d_tile_status;\n    T           *d_tile_partial;\n    T           *d_tile_inclusive;\n\n    /// Constructor\n    __host__ __device__ __forceinline__\n    ScanTileState()\n    :\n        d_tile_status(NULL),\n        d_tile_partial(NULL),\n        d_tile_inclusive(NULL)\n    {}\n\n\n    /// Initializer\n    __host__ __device__ __forceinline__\n    cudaError_t Init(\n        int     num_tiles,                          ///< [in] Number of tiles\n        void    *d_temp_storage,                    ///< [in] %Device allocation of temporary storage.  When NULL, the required allocation size is written to \\p temp_storage_bytes and no work is done.\n        size_t  temp_storage_bytes)                 ///< [in] Size in bytes of \\t d_temp_storage allocation\n    {\n        cudaError_t error = cudaSuccess;\n        do\n        {\n            void*   allocations[3];\n            size_t  allocation_sizes[3];\n\n            allocation_sizes[0] = (num_tiles + TILE_STATUS_PADDING) * sizeof(StatusWord);           // bytes needed for tile status descriptors\n            allocation_sizes[1] = (num_tiles + TILE_STATUS_PADDING) * sizeof(Uninitialized<T>);     // bytes needed for partials\n            allocation_sizes[2] = (num_tiles + TILE_STATUS_PADDING) * sizeof(Uninitialized<T>);     // bytes needed for inclusives\n\n            // Compute allocation pointers into the single storage blob\n            if (CubDebug(error = AliasTemporaries(d_temp_storage, temp_storage_bytes, allocations, allocation_sizes))) break;\n\n            // Alias the offsets\n            d_tile_status       = reinterpret_cast<StatusWord*>(allocations[0]);\n            d_tile_partial      = reinterpret_cast<T*>(allocations[1]);\n            d_tile_inclusive    = reinterpret_cast<T*>(allocations[2]);\n        }\n        while (0);\n\n        return error;\n    }\n\n\n    /**\n     * Compute device memory needed for tile status\n     */\n    __host__ __device__ __forceinline__\n    static cudaError_t AllocationSize(\n        int     num_tiles,                          ///< [in] Number of tiles\n        size_t  &temp_storage_bytes)                ///< [out] Size in bytes of \\t d_temp_storage allocation\n    {\n        // Specify storage allocation requirements\n        size_t  allocation_sizes[3];\n        allocation_sizes[0] = (num_tiles + TILE_STATUS_PADDING) * sizeof(StatusWord);         // bytes needed for tile status descriptors\n        allocation_sizes[1] = (num_tiles + TILE_STATUS_PADDING) * sizeof(Uninitialized<T>);   // bytes needed for partials\n        allocation_sizes[2] = (num_tiles + TILE_STATUS_PADDING) * sizeof(Uninitialized<T>);   // bytes needed for inclusives\n\n        // Set the necessary size of the blob\n        void* allocations[3];\n        return CubDebug(AliasTemporaries(NULL, temp_storage_bytes, allocations, allocation_sizes));\n    }\n\n\n    /**\n     * Initialize (from device)\n     */\n    __device__ __forceinline__ void InitializeStatus(int num_tiles)\n    {\n        int tile_idx = (blockIdx.x * blockDim.x) + threadIdx.x;\n        if (tile_idx < num_tiles)\n        {\n            // Not-yet-set\n            d_tile_status[TILE_STATUS_PADDING + tile_idx] = StatusWord(SCAN_TILE_INVALID);\n        }\n\n        if ((blockIdx.x == 0) && (threadIdx.x < TILE_STATUS_PADDING))\n        {\n            // Padding\n            d_tile_status[threadIdx.x] = StatusWord(SCAN_TILE_OOB);\n        }\n    }\n\n\n    /**\n     * Update the specified tile's inclusive value and corresponding status\n     */\n    __device__ __forceinline__ void SetInclusive(int tile_idx, T tile_inclusive)\n    {\n        // Update tile inclusive value\n        ThreadStore<STORE_CG>(d_tile_inclusive + TILE_STATUS_PADDING + tile_idx, tile_inclusive);\n\n        // Fence\n        __threadfence();\n\n        // Update tile status\n        ThreadStore<STORE_CG>(d_tile_status + TILE_STATUS_PADDING + tile_idx, StatusWord(SCAN_TILE_INCLUSIVE));\n    }\n\n\n    /**\n     * Update the specified tile's partial value and corresponding status\n     */\n    __device__ __forceinline__ void SetPartial(int tile_idx, T tile_partial)\n    {\n        // Update tile partial value\n        ThreadStore<STORE_CG>(d_tile_partial + TILE_STATUS_PADDING + tile_idx, tile_partial);\n\n        // Fence\n        __threadfence();\n\n        // Update tile status\n        ThreadStore<STORE_CG>(d_tile_status + TILE_STATUS_PADDING + tile_idx, StatusWord(SCAN_TILE_PARTIAL));\n    }\n\n    /**\n     * Wait for the corresponding tile to become non-invalid\n     */\n    __device__ __forceinline__ void WaitForValid(\n        int             tile_idx,\n        StatusWord      &status,\n        T               &value)\n    {\n        status = ThreadLoad<LOAD_CG>(d_tile_status + TILE_STATUS_PADDING + tile_idx);\n        while (status == SCAN_TILE_INVALID)\n        {\n            status = ThreadLoad<LOAD_CG>(d_tile_status + TILE_STATUS_PADDING + tile_idx);\n        }\n\n        T partial = ThreadLoad<LOAD_CG>(d_tile_partial + TILE_STATUS_PADDING + tile_idx);\n        T inclusive = ThreadLoad<LOAD_CG>(d_tile_inclusive + TILE_STATUS_PADDING + tile_idx);\n\n        value = (status == StatusWord(SCAN_TILE_PARTIAL)) ?\n            partial :\n            inclusive;\n\n    }\n};\n\n\n\n/**\n * Stateful block-scan prefix functor.  Provides the the running prefix for\n * the current tile by using the call-back warp to wait on on\n * aggregates/prefixes from predecessor tiles to become available.\n */\ntemplate <\n    typename T,\n    typename ScanOp,\n    typename ScanTileState>\nstruct BlockScanLookbackPrefixOp\n{\n    // Parameterized warp reduce\n    typedef WarpReduce<T> WarpReduceT;\n\n    // Temporary storage type\n    typedef typename WarpReduceT::TempStorage _TempStorage;\n\n    // Alias wrapper allowing temporary storage to be unioned\n    struct TempStorage : Uninitialized<_TempStorage> {};\n\n    // Type of status word\n    typedef typename ScanTileState::StatusWord StatusWord;\n\n    // Scan operator for switching the scan arguments\n    struct SwizzleScanOp\n    {\n        ScanOp scan_op;\n\n        // Constructor\n        __host__ __device__ __forceinline__\n        SwizzleScanOp(ScanOp scan_op) : scan_op(scan_op) {}\n\n        // Switch the scan arguments\n        __host__ __device__ __forceinline__\n        T operator()(const T &a, const T &b)\n        {\n            return scan_op(b, a);\n        }\n    };\n\n    // Fields\n    ScanTileState               &tile_status;       ///< Interface to tile status\n    _TempStorage                &temp_storage;      ///< Reference to a warp-reduction instance\n    ScanOp                      scan_op;            ///< Binary scan operator\n    int                         tile_idx;           ///< The current tile index\n    T                           exclusive_prefix;   ///< Exclusive prefix for the tile\n    T                           inclusive_prefix;   ///< Inclusive prefix for the tile\n\n    // Constructor\n    __device__ __forceinline__\n    BlockScanLookbackPrefixOp(\n        ScanTileState      &tile_status,\n        TempStorage             &temp_storage,\n        ScanOp                  scan_op,\n        int                     tile_idx)\n    :\n        tile_status(tile_status),\n        temp_storage(temp_storage.Alias()),\n        scan_op(scan_op),\n        tile_idx(tile_idx) {}\n\n\n    // Block until all predecessors within the warp-wide window have non-invalid status\n    __device__ __forceinline__\n    void ProcessWindow(\n        int         predecessor_idx,        ///< Preceding tile index to inspect\n        StatusWord  &predecessor_status,    ///< [out] Preceding tile status\n        T           &window_aggregate)      ///< [out] Relevant partial reduction from this window of preceding tiles\n    {\n        T value;\n        tile_status.WaitForValid(predecessor_idx, predecessor_status, value);\n\n        // Perform a segmented reduction to get the prefix for the current window.\n        // Use the swizzled scan operator because we are now scanning *down* towards thread0.\n\n        int tail_flag = (predecessor_status == StatusWord(SCAN_TILE_INCLUSIVE));\n\n        window_aggregate = WarpReduceT(temp_storage).TailSegmentedReduce(\n            value,\n            tail_flag,\n            SwizzleScanOp(scan_op));\n    }\n\n\n    // BlockScan prefix callback functor (called by the first warp)\n    __device__ __forceinline__\n    T operator()(T block_aggregate)\n    {\n        // Update our status with our tile-aggregate\n        if (threadIdx.x == 0)\n        {\n            tile_status.SetPartial(tile_idx, block_aggregate);\n        }\n\n        int         predecessor_idx = tile_idx - threadIdx.x - 1;\n        StatusWord  predecessor_status;\n        T           window_aggregate;\n\n        // Wait for the warp-wide window of predecessor tiles to become valid\n        ProcessWindow(predecessor_idx, predecessor_status, window_aggregate);\n\n        // The exclusive tile prefix starts out as the current window aggregate\n        exclusive_prefix = window_aggregate;\n\n        // Keep sliding the window back until we come across a tile whose inclusive prefix is known\n        while (WarpAll(predecessor_status != StatusWord(SCAN_TILE_INCLUSIVE)))\n        {\n            predecessor_idx -= CUB_PTX_WARP_THREADS;\n\n            // Update exclusive tile prefix with the window prefix\n            ProcessWindow(predecessor_idx, predecessor_status, window_aggregate);\n            exclusive_prefix = scan_op(window_aggregate, exclusive_prefix);\n        }\n\n        // Compute the inclusive tile prefix and update the status for this tile\n        if (threadIdx.x == 0)\n        {\n            inclusive_prefix = scan_op(exclusive_prefix, block_aggregate);\n            tile_status.SetInclusive(tile_idx, inclusive_prefix);\n        }\n\n        // Return exclusive_prefix\n        return exclusive_prefix;\n    }\n};\n\n\n}               // CUB namespace\nCUB_NS_POSTFIX  // Optional outer namespace(s)\n\n"
  },
  {
    "path": "external/cub-1.3.2/cub/block_range/specializations/block_range_histo_gatomic.cuh",
    "content": "/******************************************************************************\n * Copyright (c) 2011, Duane Merrill.  All rights reserved.\n * Copyright (c) 2011-2014, NVIDIA CORPORATION.  All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *     * Redistributions of source code must retain the above copyright\n *       notice, this list of conditions and the following disclaimer.\n *     * Redistributions in binary form must reproduce the above copyright\n *       notice, this list of conditions and the following disclaimer in the\n *       documentation and/or other materials provided with the distribution.\n *     * Neither the name of the NVIDIA CORPORATION nor the\n *       names of its contributors may be used to endorse or promote products\n *       derived from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n ******************************************************************************/\n\n/**\n * \\file\n * cub::BlockRangeHistogramGlobalAtomic implements a stateful abstraction of CUDA thread blocks for histogramming multiple tiles as part of device-wide histogram.\n */\n\n#pragma once\n\n#include <iterator>\n\n#include \"../../util_type.cuh\"\n#include \"../../util_namespace.cuh\"\n\n/// Optional outer namespace(s)\nCUB_NS_PREFIX\n\n/// CUB namespace\nnamespace cub {\n\n\n\n/**\n * BlockRangeHistogramGlobalAtomic implements a stateful abstraction of CUDA thread blocks for histogramming multiple tiles as part of device-wide histogram using global atomics\n */\ntemplate <\n    typename    BlockRangeHistogramPolicy,      ///< Tuning policy\n    int         BINS,                           ///< Number of histogram bins per channel\n    int         CHANNELS,                       ///< Number of channels interleaved in the input data (may be greater than the number of active channels being histogrammed)\n    int         ACTIVE_CHANNELS,                ///< Number of channels actively being histogrammed\n    typename    InputIterator,                ///< The input iterator type \\iterator.  Must have an an InputIterator::value_type that, when cast as an integer, falls in the range [0..BINS-1]\n    typename    HistoCounter,                   ///< Integer type for counting sample occurrences per histogram bin\n    typename    Offset>                          ///< Signed integer type for global offsets\nstruct BlockRangeHistogramGlobalAtomic\n{\n    //---------------------------------------------------------------------\n    // Types and constants\n    //---------------------------------------------------------------------\n\n    // Sample type\n    typedef typename std::iterator_traits<InputIterator>::value_type SampleT;\n\n    // Constants\n    enum\n    {\n        BLOCK_THREADS       = BlockRangeHistogramPolicy::BLOCK_THREADS,\n        ITEMS_PER_THREAD    = BlockRangeHistogramPolicy::ITEMS_PER_THREAD,\n        TILE_CHANNEL_ITEMS  = BLOCK_THREADS * ITEMS_PER_THREAD,\n        TILE_ITEMS          = TILE_CHANNEL_ITEMS * CHANNELS,\n    };\n\n    // Shared memory type required by this thread block\n    typedef NullType TempStorage;\n\n\n    //---------------------------------------------------------------------\n    // Per-thread fields\n    //---------------------------------------------------------------------\n\n    /// Reference to output histograms\n    HistoCounter* (&d_out_histograms)[ACTIVE_CHANNELS];\n\n    /// Input data to reduce\n    InputIterator d_in;\n\n\n    //---------------------------------------------------------------------\n    // Interface\n    //---------------------------------------------------------------------\n\n    /**\n     * Constructor\n     */\n    __device__ __forceinline__ BlockRangeHistogramGlobalAtomic(\n        TempStorage         &temp_storage,                                  ///< Reference to temp_storage\n        InputIterator     d_in,                                           ///< Input data to reduce\n        HistoCounter*       (&d_out_histograms)[ACTIVE_CHANNELS])           ///< Reference to output histograms\n    :\n        d_in(d_in),\n        d_out_histograms(d_out_histograms)\n    {}\n\n\n    /**\n     * Process a single tile of input\n     */\n    template <bool FULL_TILE>\n    __device__ __forceinline__ void ConsumeTile(\n        Offset   block_offset,               ///< The offset the tile to consume\n        int     valid_items = TILE_ITEMS)   ///< The number of valid items in the tile\n    {\n        if (FULL_TILE)\n        {\n            // Full tile of samples to read and composite\n            SampleT items[ITEMS_PER_THREAD][CHANNELS];\n\n            #pragma unroll\n            for (int ITEM = 0; ITEM < ITEMS_PER_THREAD; ITEM++)\n            {\n                #pragma unroll\n                for (int CHANNEL = 0; CHANNEL < CHANNELS; ++CHANNEL)\n                {\n                    if (CHANNEL < ACTIVE_CHANNELS)\n                    {\n                        items[ITEM][CHANNEL] = d_in[block_offset + (ITEM * BLOCK_THREADS * CHANNELS) + (threadIdx.x * CHANNELS) + CHANNEL];\n                    }\n                }\n            }\n\n            __threadfence_block();\n\n            #pragma unroll\n            for (int ITEM = 0; ITEM < ITEMS_PER_THREAD; ITEM++)\n            {\n                #pragma unroll\n                for (int CHANNEL = 0; CHANNEL < CHANNELS; ++CHANNEL)\n                {\n                    if (CHANNEL < ACTIVE_CHANNELS)\n                    {\n                        atomicAdd(d_out_histograms[CHANNEL] + items[ITEM][CHANNEL], 1);\n                    }\n                }\n            }\n        }\n        else\n        {\n            // Only a partially-full tile of samples to read and composite\n            int bounds = valid_items - (threadIdx.x * CHANNELS);\n\n            #pragma unroll\n            for (int ITEM = 0; ITEM < ITEMS_PER_THREAD; ++ITEM)\n            {\n                #pragma unroll\n                for (int CHANNEL = 0; CHANNEL < CHANNELS; ++CHANNEL)\n                {\n                    if (((ACTIVE_CHANNELS == CHANNELS) || (CHANNEL < ACTIVE_CHANNELS)) && ((ITEM * BLOCK_THREADS * CHANNELS) + CHANNEL < bounds))\n                    {\n                        SampleT item  = d_in[block_offset + (ITEM * BLOCK_THREADS * CHANNELS) + (threadIdx.x * CHANNELS) + CHANNEL];\n                        atomicAdd(d_out_histograms[CHANNEL] + item, 1);\n                    }\n                }\n            }\n\n        }\n    }\n\n\n    /**\n     * Aggregate results into output\n     */\n    __device__ __forceinline__ void AggregateOutput()\n    {}\n};\n\n\n}               // CUB namespace\nCUB_NS_POSTFIX  // Optional outer namespace(s)\n\n"
  },
  {
    "path": "external/cub-1.3.2/cub/block_range/specializations/block_range_histo_satomic.cuh",
    "content": "/******************************************************************************\n * Copyright (c) 2011, Duane Merrill.  All rights reserved.\n * Copyright (c) 2011-2014, NVIDIA CORPORATION.  All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *     * Redistributions of source code must retain the above copyright\n *       notice, this list of conditions and the following disclaimer.\n *     * Redistributions in binary form must reproduce the above copyright\n *       notice, this list of conditions and the following disclaimer in the\n *       documentation and/or other materials provided with the distribution.\n *     * Neither the name of the NVIDIA CORPORATION nor the\n *       names of its contributors may be used to endorse or promote products\n *       derived from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n ******************************************************************************/\n\n/**\n * \\file\n * cub::BlockRangeHistogramSharedAtomic implements a stateful abstraction of CUDA thread blocks for histogramming multiple tiles as part of device-wide histogram using shared atomics\n */\n\n#pragma once\n\n#include <iterator>\n\n#include \"../../util_type.cuh\"\n#include \"../../util_namespace.cuh\"\n\n/// Optional outer namespace(s)\nCUB_NS_PREFIX\n\n/// CUB namespace\nnamespace cub {\n\n\n/**\n * BlockRangeHistogramSharedAtomic implements a stateful abstraction of CUDA thread blocks for histogramming multiple tiles as part of device-wide histogram using shared atomics\n */\ntemplate <\n    typename    BlockRangeHistogramPolicy,\t\t///< Tuning policy\n    int         BINS,                           ///< Number of histogram bins\n    int         CHANNELS,                       ///< Number of channels interleaved in the input data (may be greater than the number of active channels being histogrammed)\n    int         ACTIVE_CHANNELS,                ///< Number of channels actively being histogrammed\n    typename    InputIterator,                \t///< The input iterator type \\iterator.  Must have an an InputIterator::value_type that, when cast as an integer, falls in the range [0..BINS-1]\n    typename    HistoCounter,                   ///< Integer type for counting sample occurrences per histogram bin\n    typename    Offset>                          ///< Signed integer type for global offsets\nstruct BlockRangeHistogramSharedAtomic\n{\n    //---------------------------------------------------------------------\n    // Types and constants\n    //---------------------------------------------------------------------\n\n    // Sample type\n    typedef typename std::iterator_traits<InputIterator>::value_type SampleT;\n\n    // Constants\n    enum\n    {\n        BLOCK_THREADS       = BlockRangeHistogramPolicy::BLOCK_THREADS,\n        ITEMS_PER_THREAD    = BlockRangeHistogramPolicy::ITEMS_PER_THREAD,\n        TILE_CHANNEL_ITEMS  = BLOCK_THREADS * ITEMS_PER_THREAD,\n        TILE_ITEMS          = TILE_CHANNEL_ITEMS * CHANNELS,\n    };\n\n    /// Shared memory type required by this thread block\n    struct _TempStorage\n    {\n        HistoCounter histograms[ACTIVE_CHANNELS][BINS + 1];  // One word of padding between channel histograms to prevent warps working on different histograms from hammering on the same bank\n    };\n\n\n    /// Alias wrapper allowing storage to be unioned\n    struct TempStorage : Uninitialized<_TempStorage> {};\n\n\n    //---------------------------------------------------------------------\n    // Per-thread fields\n    //---------------------------------------------------------------------\n\n    /// Reference to temp_storage\n    _TempStorage &temp_storage;\n\n    /// Reference to output histograms\n    HistoCounter* (&d_out_histograms)[ACTIVE_CHANNELS];\n\n    /// Input data to reduce\n    InputIterator d_in;\n\n\n    //---------------------------------------------------------------------\n    // Interface\n    //---------------------------------------------------------------------\n\n    /**\n     * Constructor\n     */\n    __device__ __forceinline__ BlockRangeHistogramSharedAtomic(\n        TempStorage         &temp_storage,                                  ///< Reference to temp_storage\n        InputIterator     d_in,                                           ///< Input data to reduce\n        HistoCounter*       (&d_out_histograms)[ACTIVE_CHANNELS])           ///< Reference to output histograms\n    :\n        temp_storage(temp_storage.Alias()),\n        d_in(d_in),\n        d_out_histograms(d_out_histograms)\n    {\n        // Initialize histogram bin counts to zeros\n        #pragma unroll\n        for (int CHANNEL = 0; CHANNEL < ACTIVE_CHANNELS; ++CHANNEL)\n        {\n            int histo_offset = 0;\n\n            #pragma unroll\n            for(; histo_offset + BLOCK_THREADS <= BINS; histo_offset += BLOCK_THREADS)\n            {\n                this->temp_storage.histograms[CHANNEL][histo_offset + threadIdx.x] = 0;\n            }\n            // Finish up with guarded initialization if necessary\n            if ((BINS % BLOCK_THREADS != 0) && (histo_offset + threadIdx.x < BINS))\n            {\n                this->temp_storage.histograms[CHANNEL][histo_offset + threadIdx.x] = 0;\n            }\n        }\n\n        __syncthreads();\n    }\n\n\n    /**\n     * Process a single tile of input\n     */\n    template <bool FULL_TILE>\n    __device__ __forceinline__ void ConsumeTile(\n        Offset   block_offset,               ///< The offset the tile to consume\n        int     valid_items = TILE_ITEMS)   ///< The number of valid items in the tile\n    {\n        if (FULL_TILE)\n        {\n            // Full tile of samples to read and composite\n            SampleT items[ITEMS_PER_THREAD][CHANNELS];\n\n            #pragma unroll\n            for (int ITEM = 0; ITEM < ITEMS_PER_THREAD; ITEM++)\n            {\n                #pragma unroll\n                for (int CHANNEL = 0; CHANNEL < CHANNELS; ++CHANNEL)\n                {\n                    if (CHANNEL < ACTIVE_CHANNELS)\n                    {\n                        items[ITEM][CHANNEL] = d_in[block_offset + (ITEM * BLOCK_THREADS * CHANNELS) + (threadIdx.x * CHANNELS) + CHANNEL];\n                    }\n                }\n            }\n\n            __threadfence_block();\n\n            #pragma unroll\n            for (int ITEM = 0; ITEM < ITEMS_PER_THREAD; ITEM++)\n            {\n                #pragma unroll\n                for (int CHANNEL = 0; CHANNEL < CHANNELS; ++CHANNEL)\n                {\n                    if (CHANNEL < ACTIVE_CHANNELS)\n                    {\n                        atomicAdd(temp_storage.histograms[CHANNEL] + items[ITEM][CHANNEL], 1);\n                    }\n                }\n            }\n\n            __threadfence_block();\n        }\n        else\n        {\n            // Only a partially-full tile of samples to read and composite\n            int bounds = valid_items - (threadIdx.x * CHANNELS);\n\n            #pragma unroll\n            for (int ITEM = 0; ITEM < ITEMS_PER_THREAD; ++ITEM)\n            {\n                #pragma unroll\n                for (int CHANNEL = 0; CHANNEL < CHANNELS; ++CHANNEL)\n                {\n                    if (((ACTIVE_CHANNELS == CHANNELS) || (CHANNEL < ACTIVE_CHANNELS)) && ((ITEM * BLOCK_THREADS * CHANNELS) + CHANNEL < bounds))\n                    {\n                        SampleT item = d_in[block_offset + (ITEM * BLOCK_THREADS * CHANNELS) + (threadIdx.x * CHANNELS) + CHANNEL];\n                        atomicAdd(temp_storage.histograms[CHANNEL] + item, 1);\n                    }\n                }\n            }\n\n        }\n    }\n\n\n    /**\n     * Aggregate results into output\n     */\n    __device__ __forceinline__ void AggregateOutput()\n    {\n        // Barrier to ensure shared memory histograms are coherent\n        __syncthreads();\n\n        // Copy shared memory histograms to output\n        int channel_offset = (blockIdx.x * BINS);\n\n        #pragma unroll\n        for (int CHANNEL = 0; CHANNEL < ACTIVE_CHANNELS; ++CHANNEL)\n        {\n            int histo_offset = 0;\n\n            #pragma unroll\n            for(; histo_offset + BLOCK_THREADS <= BINS; histo_offset += BLOCK_THREADS)\n            {\n                HistoCounter count = temp_storage.histograms[CHANNEL][histo_offset + threadIdx.x];\n\n                d_out_histograms[CHANNEL][channel_offset + histo_offset + threadIdx.x] = count;\n            }\n\n            // Finish up with guarded initialization if necessary\n            if ((BINS % BLOCK_THREADS != 0) && (histo_offset + threadIdx.x < BINS))\n            {\n                HistoCounter count = temp_storage.histograms[CHANNEL][histo_offset + threadIdx.x];\n\n                d_out_histograms[CHANNEL][channel_offset + histo_offset + threadIdx.x] = count;\n            }\n        }\n    }\n};\n\n\n\n}               // CUB namespace\nCUB_NS_POSTFIX  // Optional outer namespace(s)\n\n"
  },
  {
    "path": "external/cub-1.3.2/cub/block_range/specializations/block_range_histo_sort.cuh",
    "content": "/******************************************************************************\n * Copyright (c) 2011, Duane Merrill.  All rights reserved.\n * Copyright (c) 2011-2014, NVIDIA CORPORATION.  All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *     * Redistributions of source code must retain the above copyright\n *       notice, this list of conditions and the following disclaimer.\n *     * Redistributions in binary form must reproduce the above copyright\n *       notice, this list of conditions and the following disclaimer in the\n *       documentation and/or other materials provided with the distribution.\n *     * Neither the name of the NVIDIA CORPORATION nor the\n *       names of its contributors may be used to endorse or promote products\n *       derived from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n ******************************************************************************/\n\n/**\n * \\file\n * cub::BlockRangeHistogramSort implements a stateful abstraction of CUDA thread blocks for histogramming multiple tiles as part of device-wide histogram using local sorting\n */\n\n#pragma once\n\n#include <iterator>\n\n#include \"../../block/block_radix_sort.cuh\"\n#include \"../../block/block_discontinuity.cuh\"\n#include \"../../util_namespace.cuh\"\n\n/// Optional outer namespace(s)\nCUB_NS_PREFIX\n\n/// CUB namespace\nnamespace cub {\n\n\n/**\n * BlockRangeHistogramSort implements a stateful abstraction of CUDA thread blocks for histogramming multiple tiles as part of device-wide histogram using local sorting\n */\ntemplate <\n    typename    BlockRangeHistogramPolicy,          ///< Tuning policy\n    int         BINS,                           ///< Number of histogram bins per channel\n    int         CHANNELS,                       ///< Number of channels interleaved in the input data (may be greater than the number of active channels being histogrammed)\n    int         ACTIVE_CHANNELS,                ///< Number of channels actively being histogrammed\n    typename    InputIterator,                ///< The input iterator type \\iterator.  Must have an an InputIterator::value_type that, when cast as an integer, falls in the range [0..BINS-1]\n    typename    HistoCounter,                   ///< Integer type for counting sample occurrences per histogram bin\n    typename    Offset>                          ///< Signed integer type for global offsets\nstruct BlockRangeHistogramSort\n{\n    //---------------------------------------------------------------------\n    // Types and constants\n    //---------------------------------------------------------------------\n\n    // Sample type\n    typedef typename std::iterator_traits<InputIterator>::value_type SampleT;\n\n    // Constants\n    enum\n    {\n        BLOCK_THREADS               = BlockRangeHistogramPolicy::BLOCK_THREADS,\n        ITEMS_PER_THREAD            = BlockRangeHistogramPolicy::ITEMS_PER_THREAD,\n        TILE_CHANNEL_ITEMS          = BLOCK_THREADS * ITEMS_PER_THREAD,\n        TILE_ITEMS                  = TILE_CHANNEL_ITEMS * CHANNELS,\n\n        STRIPED_COUNTERS_PER_THREAD = (BINS + BLOCK_THREADS - 1) / BLOCK_THREADS,\n    };\n\n    // Parameterize BlockRadixSort type for our thread block\n    typedef BlockRadixSort<SampleT, BLOCK_THREADS, ITEMS_PER_THREAD> BlockRadixSortT;\n\n    // Parameterize BlockDiscontinuity type for our thread block\n    typedef BlockDiscontinuity<SampleT, BLOCK_THREADS> BlockDiscontinuityT;\n\n    /// Shared memory type required by this thread block\n    union _TempStorage\n    {\n        // Storage for sorting bin values\n        typename BlockRadixSortT::TempStorage sort;\n\n        struct\n        {\n            // Storage for detecting discontinuities in the tile of sorted bin values\n            typename BlockDiscontinuityT::TempStorage flag;\n\n            // Storage for noting begin/end offsets of bin runs in the tile of sorted bin values\n            int run_begin[BLOCK_THREADS * STRIPED_COUNTERS_PER_THREAD];\n            int run_end[BLOCK_THREADS * STRIPED_COUNTERS_PER_THREAD];\n        };\n    };\n\n\n    /// Alias wrapper allowing storage to be unioned\n    struct TempStorage : Uninitialized<_TempStorage> {};\n\n\n    // Discontinuity functor\n    struct DiscontinuityOp\n    {\n        // Reference to temp_storage\n        _TempStorage &temp_storage;\n\n        // Constructor\n        __device__ __forceinline__ DiscontinuityOp(_TempStorage &temp_storage) :\n            temp_storage(temp_storage)\n        {}\n\n        // Discontinuity predicate\n        __device__ __forceinline__ bool operator()(const SampleT &a, const SampleT &b, int b_index)\n        {\n            if (a != b)\n            {\n                // Note the begin/end offsets in shared storage\n                temp_storage.run_begin[b] = b_index;\n                temp_storage.run_end[a] = b_index;\n\n                return true;\n            }\n            else\n            {\n                return false;\n            }\n        }\n    };\n\n\n    //---------------------------------------------------------------------\n    // Per-thread fields\n    //---------------------------------------------------------------------\n\n    /// Reference to temp_storage\n    _TempStorage &temp_storage;\n\n    /// Histogram counters striped across threads\n    HistoCounter thread_counters[ACTIVE_CHANNELS][STRIPED_COUNTERS_PER_THREAD];\n\n    /// Reference to output histograms\n    HistoCounter* (&d_out_histograms)[ACTIVE_CHANNELS];\n\n    /// Input data to reduce\n    InputIterator d_in;\n\n\n    //---------------------------------------------------------------------\n    // Interface\n    //---------------------------------------------------------------------\n\n    /**\n     * Constructor\n     */\n    __device__ __forceinline__ BlockRangeHistogramSort(\n        TempStorage         &temp_storage,                                  ///< Reference to temp_storage\n        InputIterator     d_in,                                           ///< Input data to reduce\n        HistoCounter*       (&d_out_histograms)[ACTIVE_CHANNELS])           ///< Reference to output histograms\n    :\n        temp_storage(temp_storage.Alias()),\n        d_in(d_in),\n        d_out_histograms(d_out_histograms)\n    {\n        // Initialize histogram counters striped across threads\n        #pragma unroll\n        for (int CHANNEL = 0; CHANNEL < ACTIVE_CHANNELS; ++CHANNEL)\n        {\n            #pragma unroll\n            for (int COUNTER = 0; COUNTER < STRIPED_COUNTERS_PER_THREAD; ++COUNTER)\n            {\n                thread_counters[CHANNEL][COUNTER] = 0;\n            }\n        }\n    }\n\n\n    /**\n     * Composite a tile of input items\n     */\n    __device__ __forceinline__ void Composite(\n        SampleT   (&items)[ITEMS_PER_THREAD],                     ///< Tile of samples\n        HistoCounter    thread_counters[STRIPED_COUNTERS_PER_THREAD])   ///< Histogram counters striped across threads\n    {\n        // Sort bytes in blocked arrangement\n        BlockRadixSortT(temp_storage.sort).Sort(items);\n\n        __syncthreads();\n\n        // Initialize the shared memory's run_begin and run_end for each bin\n        #pragma unroll\n        for (int COUNTER = 0; COUNTER < STRIPED_COUNTERS_PER_THREAD; ++COUNTER)\n        {\n            temp_storage.run_begin[(COUNTER * BLOCK_THREADS) + threadIdx.x] = TILE_CHANNEL_ITEMS;\n            temp_storage.run_end[(COUNTER * BLOCK_THREADS) + threadIdx.x] = TILE_CHANNEL_ITEMS;\n        }\n\n        __syncthreads();\n\n        // Note the begin/end run offsets of bin runs in the sorted tile\n        int flags[ITEMS_PER_THREAD];                // unused\n        DiscontinuityOp flag_op(temp_storage);\n        BlockDiscontinuityT(temp_storage.flag).FlagHeads(flags, items, flag_op);\n\n        // Update begin for first item\n        if (threadIdx.x == 0) temp_storage.run_begin[items[0]] = 0;\n\n        __syncthreads();\n\n        // Composite into histogram\n        // Initialize the shared memory's run_begin and run_end for each bin\n        #pragma unroll\n        for (int COUNTER = 0; COUNTER < STRIPED_COUNTERS_PER_THREAD; ++COUNTER)\n        {\n            int          bin            = (COUNTER * BLOCK_THREADS) + threadIdx.x;\n            HistoCounter run_length     = temp_storage.run_end[bin] - temp_storage.run_begin[bin];\n\n            thread_counters[COUNTER] += run_length;\n        }\n    }\n\n\n    /**\n     * Process one channel within a tile.\n     */\n    template <bool FULL_TILE>\n    __device__ __forceinline__ void ConsumeTileChannel(\n        int     channel,\n        Offset   block_offset,\n        int     valid_items)\n    {\n        // Load items in striped fashion\n        if (FULL_TILE)\n        {\n            // Full tile of samples to read and composite\n            SampleT items[ITEMS_PER_THREAD];\n\n            // Unguarded loads\n            #pragma unroll\n            for (int ITEM = 0; ITEM < ITEMS_PER_THREAD; ITEM++)\n            {\n                items[ITEM] = d_in[channel + block_offset + (ITEM * BLOCK_THREADS * CHANNELS) + (threadIdx.x * CHANNELS)];\n            }\n\n            // Composite our histogram data\n            Composite(items, thread_counters[channel]);\n        }\n        else\n        {\n            // Only a partially-full tile of samples to read and composite\n            SampleT items[ITEMS_PER_THREAD];\n\n            // Assign our tid as the bin for out-of-bounds items (to give an even distribution), and keep track of how oob items to subtract out later\n            int bounds = (valid_items - (threadIdx.x * CHANNELS));\n\n            #pragma unroll\n            for (int ITEM = 0; ITEM < ITEMS_PER_THREAD; ITEM++)\n            {\n                items[ITEM] = ((ITEM * BLOCK_THREADS * CHANNELS) < bounds) ?\n                    d_in[channel + block_offset + (ITEM * BLOCK_THREADS * CHANNELS) + (threadIdx.x * CHANNELS)] :\n                    0;\n            }\n\n            // Composite our histogram data\n            Composite(items, thread_counters[channel]);\n\n            __syncthreads();\n\n            // Correct the overcounting in the zero-bin from invalid (out-of-bounds) items\n            if (threadIdx.x == 0)\n            {\n                int extra = (TILE_ITEMS - valid_items) / CHANNELS;\n                thread_counters[channel][0] -= extra;\n            }\n        }\n    }\n\n\n    /**\n     * Template iteration over channels (to silence not-unrolled warnings for SM10-13).  Inductive step.\n     */\n    template <bool FULL_TILE, int CHANNEL, int END>\n    struct IterateChannels\n    {\n        /**\n         * Process one channel within a tile.\n         */\n        static __device__ __forceinline__ void ConsumeTileChannel(\n            BlockRangeHistogramSort *cta,\n            Offset               block_offset,\n            int                 valid_items)\n        {\n            __syncthreads();\n\n            cta->ConsumeTileChannel<FULL_TILE>(CHANNEL, block_offset, valid_items);\n\n            IterateChannels<FULL_TILE, CHANNEL + 1, END>::ConsumeTileChannel(cta, block_offset, valid_items);\n        }\n    };\n\n\n    /**\n     * Template iteration over channels (to silence not-unrolled warnings for SM10-13).  Base step.\n     */\n    template <bool FULL_TILE, int END>\n    struct IterateChannels<FULL_TILE, END, END>\n    {\n        static __device__ __forceinline__ void ConsumeTileChannel(BlockRangeHistogramSort *cta, Offset block_offset, int valid_items) {}\n    };\n\n\n    /**\n     * Process a single tile of input\n     */\n    template <bool FULL_TILE>\n    __device__ __forceinline__ void ConsumeTile(\n        Offset   block_offset,               ///< The offset the tile to consume\n        int     valid_items = TILE_ITEMS)   ///< The number of valid items in the tile\n    {\n        // First channel\n        ConsumeTileChannel<FULL_TILE>(0, block_offset, valid_items);\n\n        // Iterate through remaining channels\n        IterateChannels<FULL_TILE, 1, ACTIVE_CHANNELS>::ConsumeTileChannel(this, block_offset, valid_items);\n    }\n\n\n    /**\n     * Aggregate results into output\n     */\n    __device__ __forceinline__ void AggregateOutput()\n    {\n        // Copy counters striped across threads into the histogram output\n        #pragma unroll\n        for (int CHANNEL = 0; CHANNEL < ACTIVE_CHANNELS; ++CHANNEL)\n        {\n            int channel_offset  = (blockIdx.x * BINS);\n\n            #pragma unroll\n            for (int COUNTER = 0; COUNTER < STRIPED_COUNTERS_PER_THREAD; ++COUNTER)\n            {\n                int bin = (COUNTER * BLOCK_THREADS) + threadIdx.x;\n\n                if ((STRIPED_COUNTERS_PER_THREAD * BLOCK_THREADS == BINS) || (bin < BINS))\n                {\n                    d_out_histograms[CHANNEL][channel_offset + bin] = thread_counters[CHANNEL][COUNTER];\n                }\n            }\n        }\n    }\n};\n\n\n\n\n}               // CUB namespace\nCUB_NS_POSTFIX  // Optional outer namespace(s)\n\n"
  },
  {
    "path": "external/cub-1.3.2/cub/cub.cuh",
    "content": "/******************************************************************************\n * Copyright (c) 2011, Duane Merrill.  All rights reserved.\n * Copyright (c) 2011-2014, NVIDIA CORPORATION.  All rights reserved.\n * \n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *     * Redistributions of source code must retain the above copyright\n *       notice, this list of conditions and the following disclaimer.\n *     * Redistributions in binary form must reproduce the above copyright\n *       notice, this list of conditions and the following disclaimer in the\n *       documentation and/or other materials provided with the distribution.\n *     * Neither the name of the NVIDIA CORPORATION nor the\n *       names of its contributors may be used to endorse or promote products\n *       derived from this software without specific prior written permission.\n * \n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n ******************************************************************************/\n\n/**\n * \\file\n * CUB umbrella include file\n */\n\n#pragma once\n\n\n// Block\n#include \"block/block_histogram.cuh\"\n#include \"block/block_discontinuity.cuh\"\n#include \"block/block_exchange.cuh\"\n#include \"block/block_load.cuh\"\n#include \"block/block_radix_rank.cuh\"\n#include \"block/block_radix_sort.cuh\"\n#include \"block/block_reduce.cuh\"\n#include \"block/block_scan.cuh\"\n#include \"block/block_store.cuh\"\n#include \"block/block_shift.cuh\"\n\n// Device\n#include \"device/device_histogram.cuh\"\n#include \"device/device_partition.cuh\"\n#include \"device/device_radix_sort.cuh\"\n#include \"device/device_reduce.cuh\"\n#include \"device/device_scan.cuh\"\n#include \"device/device_select.cuh\"\n\n// Grid\n//#include \"grid/grid_barrier.cuh\"\n#include \"grid/grid_even_share.cuh\"\n#include \"grid/grid_mapping.cuh\"\n#include \"grid/grid_queue.cuh\"\n\n// Host\n#include \"host/spinlock.cuh\"\n\n// Thread\n#include \"thread/thread_load.cuh\"\n#include \"thread/thread_operators.cuh\"\n#include \"thread/thread_reduce.cuh\"\n#include \"thread/thread_scan.cuh\"\n#include \"thread/thread_store.cuh\"\n\n// Warp\n#include \"warp/warp_reduce.cuh\"\n#include \"warp/warp_scan.cuh\"\n\n// Iterator\n#include \"iterator/arg_index_input_iterator.cuh\"\n#include \"iterator/cache_modified_input_iterator.cuh\"\n#include \"iterator/cache_modified_output_iterator.cuh\"\n#include \"iterator/constant_input_iterator.cuh\"\n#include \"iterator/counting_input_iterator.cuh\"\n#include \"iterator/tex_obj_input_iterator.cuh\"\n#include \"iterator/tex_ref_input_iterator.cuh\"\n#include \"iterator/transform_input_iterator.cuh\"\n\n// Util\n#include \"util_allocator.cuh\"\n#include \"util_arch.cuh\"\n#include \"util_debug.cuh\"\n#include \"util_device.cuh\"\n#include \"util_macro.cuh\"\n#include \"util_ptx.cuh\"\n#include \"util_type.cuh\"\n\n"
  },
  {
    "path": "external/cub-1.3.2/cub/device/device_histogram.cuh",
    "content": "\n/******************************************************************************\n * Copyright (c) 2011, Duane Merrill.  All rights reserved.\n * Copyright (c) 2011-2014, NVIDIA CORPORATION.  All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *     * Redistributions of source code must retain the above copyright\n *       notice, this list of conditions and the following disclaimer.\n *     * Redistributions in binary form must reproduce the above copyright\n *       notice, this list of conditions and the following disclaimer in the\n *       documentation and/or other materials provided with the distribution.\n *     * Neither the name of the NVIDIA CORPORATION nor the\n *       names of its contributors may be used to endorse or promote products\n *       derived from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n ******************************************************************************/\n\n/**\n * \\file\n * cub::DeviceHistogram provides device-wide parallel operations for constructing histogram(s) from a sequence of samples data residing within global memory.\n */\n\n#pragma once\n\n#include <stdio.h>\n#include <iterator>\n\n#include \"dispatch/device_histogram_dispatch.cuh\"\n#include \"../util_namespace.cuh\"\n\n/// Optional outer namespace(s)\nCUB_NS_PREFIX\n\n/// CUB namespace\nnamespace cub {\n\n\n/**\n * \\brief DeviceHistogram provides device-wide parallel operations for constructing histogram(s) from a sequence of samples data residing within global memory. ![](histogram_logo.png)\n * \\ingroup DeviceModule\n *\n * \\par Overview\n * A <a href=\"http://en.wikipedia.org/wiki/Histogram\"><em>histogram</em></a>\n * counts the number of observations that fall into each of the disjoint categories (known as <em>bins</em>).\n *\n * \\par Usage Considerations\n * \\cdp_class{DeviceHistogram}\n *\n * \\par Performance\n *\n * \\image html histo_perf.png\n *\n */\nstruct DeviceHistogram\n{\n    /******************************************************************//**\n     * \\name Single-channel samples\n     *********************************************************************/\n    //@{\n\n\n    /**\n     * \\brief Computes a device-wide histogram using fast block-wide sorting.\n     *\n     * \\par\n     * - The total number of samples across all channels (\\p num_samples) must be a whole multiple of \\p CHANNELS.\n     * - Delivers consistent throughput regardless of sample diversity\n     * - Histograms having a large number of bins (e.g., thousands) may adversely affect shared memory occupancy and performance (or even the ability to launch).\n     * - Performance is often improved when referencing input samples through a texture-caching iterator (e.g., cub::TexObjInputIterator).\n     * - \\devicestorage\n     * - \\cdp\n     *\n     * \\par Snippet\n     * The code snippet below illustrates the computation of a 8-bin histogram of\n     * single-channel <tt>unsigned char</tt> samples.\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>   // or equivalently <cub/device/device_histogram.cuh>\n     *\n     * // Declare, allocate, and initialize device pointers for input and histogram\n     * int              num_samples;    // e.g., 12\n     * unsigned char    *d_samples;     // e.g., [2, 6, 7, 5, 3, 0, 2, 1, 7, 0, 6, 2]\n     * unsigned int     *d_histogram;   // e.g., [ ,  ,  ,  ,  ,  ,  ,  ]\n     * ...\n     *\n     * // Wrap d_samples device pointer in a random-access texture iterator\n     * cub::TexObjInputIterator<unsigned char> d_samples_tex_itr;\n     * d_samples_tex_itr.BindTexture(d_samples, num_samples * sizeof(unsigned char));\n     *\n     * // Determine temporary device storage requirements\n     * void *d_temp_storage = NULL;\n     * size_t temp_storage_bytes = 0;\n     * cub::DeviceHistogram::SingleChannelSorting<8>(d_temp_storage, temp_storage_bytes, d_samples_tex_itr, d_histogram, num_samples);\n     *\n     * // Allocate temporary storage\n     * cudaMalloc(&d_temp_storage, temp_storage_bytes);\n     *\n     * // Compute histogram\n     * cub::DeviceHistogram::SingleChannelSorting<8>(d_temp_storage, temp_storage_bytes, d_samples_tex_itr, d_histogram, num_samples);\n     *\n     * // Unbind texture iterator\n     * d_samples_tex_itr.UnbindTexture();\n     *\n     * // d_histogram   <-- [2, 1, 3, 1, 0, 1, 2, 2]\n     *\n     * \\endcode\n     *\n     * \\tparam BINS                 Number of histogram bins per channel\n     * \\tparam InputIterator        <b>[inferred]</b> Random-access input iterator type for reading input samples. (Must have an InputIterator::value_type that, when cast as an integer, falls in the range [0..BINS-1])  \\iterator\n     * \\tparam HistoCounter         <b>[inferred]</b> Integer type for counting sample occurrences per histogram bin\n     */\n    template <\n        int                 BINS,\n        typename            InputIterator,\n        typename            HistoCounter>\n    CUB_RUNTIME_FUNCTION\n    static cudaError_t SingleChannelSorting(\n        void                *d_temp_storage,                    ///< [in] %Device allocation of temporary storage.  When NULL, the required allocation size is written to \\p temp_storage_bytes and no work is done.\n        size_t              &temp_storage_bytes,                ///< [in,out] Reference to size in bytes of \\p d_temp_storage allocation\n        InputIterator       d_samples,                          ///< [in] Input samples\n        HistoCounter*       d_histogram,                        ///< [out] Array of BINS counters of integral type \\p HistoCounter.\n        int                 num_samples,                        ///< [in] Number of samples to process\n        cudaStream_t        stream              = 0,            ///< [in] <b>[optional]</b> CUDA stream to launch kernels within.  Default is stream<sub>0</sub>.\n        bool                debug_synchronous   = false)        ///< [in] <b>[optional]</b> Whether or not to synchronize the stream after every kernel launch to check for errors.  May cause significant slowdown.  Default is \\p false.\n    {\n        // Signed integer type for global offsets\n        typedef int Offset;\n\n        // Dispatch type\n        typedef DeviceHistogramDispatch<\n                DEVICE_HISTO_SORT,\n                BINS,\n                1,\n                1,\n                InputIterator,\n                HistoCounter,\n                Offset>\n            DeviceHistogramDispatch;\n\n        return DeviceHistogramDispatch::Dispatch(\n            d_temp_storage,\n            temp_storage_bytes,\n            d_samples,\n            &d_histogram,\n            num_samples,\n            stream,\n            debug_synchronous);\n    }\n\n\n    /**\n     * \\brief Computes a device-wide histogram using shared-memory atomic read-modify-write operations.\n     *\n     * \\par\n     * - Input samples having lower diversity can cause performance to be degraded due to serializations from bin-collisions.\n     * - Histograms having a large number of bins (e.g., thousands) may adversely affect shared memory occupancy and performance (or even the ability to launch).\n     * - Performance is often improved when referencing input samples through a texture-caching iterator (e.g., cub::TexObjInputIterator).\n     * - \\devicestorage\n     * - \\cdp\n     *\n     * \\par Snippet\n     * The code snippet below illustrates the computation of a 8-bin histogram of\n     * single-channel <tt>unsigned char</tt> samples.\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>   // or equivalently <cub/device/device_histogram.cuh>\n     *\n     * // Declare, allocate, and initialize device pointers for input and histogram\n     * int              num_samples;    // e.g., 12\n     * unsigned char    *d_samples;     // e.g., [2, 6, 7, 5, 3, 0, 2, 1, 7, 0, 6, 2]\n     * unsigned int     *d_histogram;   // e.g., [ ,  ,  ,  ,  ,  ,  ,  ]\n     * ...\n     *\n     * // Wrap d_samples device pointer in a random-access texture iterator\n     * cub::TexObjInputIterator<unsigned char> d_samples_tex_itr;\n     * d_samples_tex_itr.BindTexture(d_samples, num_samples * sizeof(unsigned char));\n     *\n     * // Determine temporary device storage requirements\n     * void     *d_temp_storage = NULL;\n     * size_t   temp_storage_bytes = 0;\n     * cub::DeviceHistogram::SingleChannelSorting<8>(d_temp_storage, temp_storage_bytes, d_samples_tex_itr, d_histogram, num_samples);\n     *\n     * // Allocate temporary storage\n     * cudaMalloc(&d_temp_storage, temp_storage_bytes);\n     *\n     * // Compute histogram\n     * cub::DeviceHistogram::SingleChannelSharedAtomic<8>(d_temp_storage, temp_storage_bytes, d_samples_tex_itr, d_histogram, num_samples);\n     *\n     * // Unbind texture iterator\n     * d_samples_tex_itr.UnbindTexture();\n     *\n     * // d_histogram   <-- [2, 1, 3, 1, 0, 1, 2, 2]\n     *\n     * \\endcode\n     *\n     * \\tparam BINS                 Number of histogram bins per channel\n     * \\tparam InputIterator        <b>[inferred]</b> Random-access input iterator type for reading input samples. (Must have an InputIterator::value_type that, when cast as an integer, falls in the range [0..BINS-1])  \\iterator\n     * \\tparam HistoCounter         <b>[inferred]</b> Integer type for counting sample occurrences per histogram bin\n     */\n    template <\n        int                 BINS,\n        typename            InputIterator,\n        typename            HistoCounter>\n    CUB_RUNTIME_FUNCTION\n    static cudaError_t SingleChannelSharedAtomic(\n        void                *d_temp_storage,                    ///< [in] %Device allocation of temporary storage.  When NULL, the required allocation size is written to \\p temp_storage_bytes and no work is done.\n        size_t              &temp_storage_bytes,                ///< [in,out] Reference to size in bytes of \\p d_temp_storage allocation\n        InputIterator       d_samples,                          ///< [in] Input samples\n        HistoCounter*       d_histogram,                        ///< [out] Array of BINS counters of integral type \\p HistoCounter.\n        int                 num_samples,                        ///< [in] Number of samples to process\n        cudaStream_t        stream              = 0,            ///< [in] <b>[optional]</b> CUDA stream to launch kernels within.  Default is stream<sub>0</sub>.\n        bool                debug_synchronous   = false)        ///< [in] <b>[optional]</b> Whether or not to synchronize the stream after every kernel launch to check for errors.  May cause significant slowdown.  Default is \\p false.\n    {\n        // Signed integer type for global offsets\n        typedef int Offset;\n\n        // Dispatch type\n        typedef DeviceHistogramDispatch<\n                DEVICE_HISTO_SHARED_ATOMIC,\n                BINS,\n                1,\n                1,\n                InputIterator,\n                HistoCounter,\n                Offset>\n            DeviceHistogramDispatch;\n\n        return DeviceHistogramDispatch::Dispatch(\n            d_temp_storage,\n            temp_storage_bytes,\n            d_samples,\n            &d_histogram,\n            num_samples,\n            stream,\n            debug_synchronous);\n    }\n\n\n    /**\n     * \\brief Computes a device-wide histogram using global-memory atomic read-modify-write operations.\n     *\n     * \\par\n     * - Input samples having lower diversity can cause performance to be degraded due to serializations from bin-collisions.\n     * - Performance is not significantly impacted when computing histograms having large numbers of bins (e.g., thousands).\n     * - Performance is often improved when referencing input samples through a texture-caching iterator (e.g., cub::TexObjInputIterator).\n     * - \\devicestorage\n     * - \\cdp\n     *\n     * \\par Snippet\n     * The code snippet below illustrates the computation of a 8-bin histogram of\n     * single-channel <tt>unsigned char</tt> samples.\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>   // or equivalently <cub/device/device_histogram.cuh>\n     *\n     * // Declare, allocate, and initialize device pointers for input and histogram\n     * int              num_samples;    // e.g., 12\n     * unsigned char    *d_samples;     // e.g., [2, 6, 7, 5, 3, 0, 2, 1, 7, 0, 6, 2]\n     * unsigned int     *d_histogram;   // e.g., [ ,  ,  ,  ,  ,  ,  ,  ]\n     * ...\n     *\n     * // Wrap d_samples device pointer in a random-access texture iterator\n     * cub::TexObjInputIterator<unsigned char> d_samples_tex_itr;\n     * d_samples_tex_itr.BindTexture(d_samples, num_samples * sizeof(unsigned char));\n     *\n     * // Determine temporary device storage requirements\n     * void     *d_temp_storage = NULL;\n     * size_t   temp_storage_bytes = 0;\n     * cub::DeviceHistogram::SingleChannelSorting<8>(d_temp_storage, temp_storage_bytes, d_samples_tex_itr, d_histogram, num_samples);\n     *\n     * // Allocate temporary storage\n     * cudaMalloc(&d_temp_storage, temp_storage_bytes);\n     *\n     * // Compute histogram\n     * cub::DeviceHistogram::SingleChannelGlobalAtomic<8>(d_temp_storage, temp_storage_bytes, d_samples_tex_itr, d_histogram, num_samples);\n     *\n     * // Unbind texture iterator\n     * d_samples_tex_itr.UnbindTexture();\n     *\n     * // d_histogram   <-- [2, 1, 3, 1, 0, 1, 2, 2]\n     *\n     * \\endcode\n     *\n     * \\tparam BINS                 Number of histogram bins per channel\n     * \\tparam InputIterator        <b>[inferred]</b> Random-access input iterator type for reading input samples. (Must have an InputIterator::value_type that, when cast as an integer, falls in the range [0..BINS-1])  \\iterator\n     * \\tparam HistoCounter         <b>[inferred]</b> Integer type for counting sample occurrences per histogram bin\n     */\n    template <\n        int                 BINS,\n        typename            InputIterator,\n        typename            HistoCounter>\n    CUB_RUNTIME_FUNCTION\n    static cudaError_t SingleChannelGlobalAtomic(\n        void                *d_temp_storage,                    ///< [in] %Device allocation of temporary storage.  When NULL, the required allocation size is written to \\p temp_storage_bytes and no work is done.\n        size_t              &temp_storage_bytes,                ///< [in,out] Reference to size in bytes of \\p d_temp_storage allocation\n        InputIterator       d_samples,                          ///< [in] Input samples\n        HistoCounter*       d_histogram,                        ///< [out] Array of BINS counters of integral type \\p HistoCounter.\n        int                 num_samples,                        ///< [in] Number of samples to process\n        cudaStream_t        stream              = 0,            ///< [in] <b>[optional]</b> CUDA stream to launch kernels within.  Default is stream<sub>0</sub>.\n        bool                debug_synchronous   = false)        ///< [in] <b>[optional]</b> Whether or not to synchronize the stream after every kernel launch to check for errors.  May cause significant slowdown.  Default is \\p false.\n    {\n        // Signed integer type for global offsets\n        typedef int Offset;\n\n        // Dispatch type\n        typedef DeviceHistogramDispatch<\n                DEVICE_HISTO_GLOBAL_ATOMIC,\n                BINS,\n                1,\n                1,\n                InputIterator,\n                HistoCounter,\n                Offset>\n            DeviceHistogramDispatch;\n\n        return DeviceHistogramDispatch::Dispatch(\n            d_temp_storage,\n            temp_storage_bytes,\n            d_samples,\n            &d_histogram,\n            num_samples,\n            stream,\n            debug_synchronous);\n    }\n\n\n    //@}  end member group\n    /******************************************************************//**\n     * \\name Interleaved multi-channel samples\n     *********************************************************************/\n    //@{\n\n\n    /**\n     * \\brief Computes a device-wide histogram from multi-channel data using fast block-sorting.\n     *\n     * \\par\n     * - The total number of samples across all channels (\\p num_samples) must be a whole multiple of \\p CHANNELS.\n     * - Delivers consistent throughput regardless of sample diversity\n     * - Histograms having a large number of bins (e.g., thousands) may adversely affect shared memory occupancy and performance (or even the ability to launch).\n     * - Performance is often improved when referencing input samples through a texture-caching iterator (e.g., cub::TexObjInputIterator).\n     * - \\devicestorage\n     * - \\cdp\n     *\n     * \\par Snippet\n     * The code snippet below illustrates the computation of three 256-bin histograms from\n     * an input sequence of quad-channel (interleaved) <tt>unsigned char</tt> samples.\n     * (E.g., RGB histograms from RGBA pixel samples.)\n     *\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>   // or equivalently <cub/device/device_histogram.cuh>\n     *\n     * // Declare, allocate, and initialize device pointers for input and histograms\n     * int           num_samples;     // e.g., 20 (five pixels with four channels each)\n     * unsigned char *d_samples;      // e.g., [(2, 6, 7, 5), (3, 0, 2, 1), (7, 0, 6, 2),\n     *                                //        (0, 6, 7, 5), (3, 0, 2, 6)]\n     * unsigned int  *d_histogram[3]; // e.g., [ [ ,  ,  ,  ,  ,  ,  ,  ];\n     *                                //         [ ,  ,  ,  ,  ,  ,  ,  ];\n     *                                //         [ ,  ,  ,  ,  ,  ,  ,  ] ]\n     * ...\n     *\n     * // Wrap d_samples device pointer in a random-access texture iterator\n     * cub::TexObjInputIterator<unsigned char> d_samples_tex_itr;\n     * d_samples_tex_itr.BindTexture(d_samples, num_samples * sizeof(unsigned char));\n     *\n     * // Determine temporary device storage requirements\n     * void     *d_temp_storage = NULL;\n     * size_t   temp_storage_bytes = 0;\n     * cub::DeviceHistogram::MultiChannelSorting<8, 4, 3>(d_temp_storage, temp_storage_bytes, d_samples_tex_itr, d_histograms, num_samples);\n     *\n     * // Allocate temporary storage\n     * cudaMalloc(&d_temp_storage, temp_storage_bytes);\n     *\n     * // Compute histograms\n     * cub::DeviceHistogram::MultiChannelSorting<8, 4, 3>(d_temp_storage, temp_storage_bytes, d_samples_tex_itr, d_histograms, num_samples);\n     *\n     * // Unbind texture iterator\n     * d_samples_tex_itr.UnbindTexture();\n     *\n     * // d_histogram   <-- [ [1, 0, 1, 2, 0, 0, 0, 1];\n     * //                     [0, 3, 0, 0, 0, 0, 2, 0];\n     * //                     [0, 0, 2, 0, 0, 0, 1, 2] ]\n     *\n     * \\endcode\n     *\n     * \\tparam BINS                 Number of histogram bins per channel\n     * \\tparam CHANNELS             Number of channels interleaved in the input data (may be greater than the number of channels being actively histogrammed)\n     * \\tparam ACTIVE_CHANNELS      <b>[inferred]</b> Number of channels actively being histogrammed\n     * \\tparam InputIterator        <b>[inferred]</b> Random-access input iterator type for reading input samples. (Must have an InputIterator::value_type that, when cast as an integer, falls in the range [0..BINS-1])  \\iterator\n     * \\tparam HistoCounter         <b>[inferred]</b> Integer type for counting sample occurrences per histogram bin\n     */\n    template <\n        int                 BINS,\n        int                 CHANNELS,\n        int                 ACTIVE_CHANNELS,\n        typename            InputIterator,\n        typename            HistoCounter>\n    CUB_RUNTIME_FUNCTION\n    static cudaError_t MultiChannelSorting(\n        void                *d_temp_storage,                    ///< [in] %Device allocation of temporary storage.  When NULL, the required allocation size is written to \\p temp_storage_bytes and no work is done.\n        size_t              &temp_storage_bytes,                ///< [in,out] Reference to size in bytes of \\p d_temp_storage allocation\n        InputIterator       d_samples,                          ///< [in] Pointer to the input sequence of sample items. The samples from different channels are assumed to be interleaved (e.g., an array of 32b pixels where each pixel consists of four RGBA 8b samples).\n        HistoCounter        *d_histograms[ACTIVE_CHANNELS],     ///< [out] Array of active channel histogram pointers, each pointing to an output array having BINS counters of integral type \\p HistoCounter.\n        int                 num_samples,                        ///< [in] Total number of samples to process in all channels, including non-active channels\n        cudaStream_t        stream              = 0,            ///< [in] <b>[optional]</b> CUDA stream to launch kernels within.  Default is stream<sub>0</sub>.\n        bool                debug_synchronous   = false)        ///< [in] <b>[optional]</b> Whether or not to synchronize the stream after every kernel launch to check for errors.  May cause significant slowdown.  Default is \\p false.\n    {\n        // Signed integer type for global offsets\n        typedef int Offset;\n\n        // Dispatch type\n        typedef DeviceHistogramDispatch<\n            DEVICE_HISTO_SORT,\n            BINS,\n            CHANNELS,\n            ACTIVE_CHANNELS,\n            InputIterator,\n            HistoCounter,\n            Offset> DeviceHistogramDispatch;\n\n        return DeviceHistogramDispatch::Dispatch(\n            d_temp_storage,\n            temp_storage_bytes,\n            d_samples,\n            d_histograms,\n            num_samples,\n            stream,\n            debug_synchronous);\n    }\n\n\n    /**\n     * \\brief Computes a device-wide histogram from multi-channel data using shared-memory atomic read-modify-write operations.\n     *\n     * \\par\n     * - The total number of samples across all channels (\\p num_samples) must be a whole multiple of \\p CHANNELS.\n     * - Input samples having lower diversity can cause performance to be degraded due to serializations from bin-collisions.\n     * - Histograms having a large number of bins (e.g., thousands) may adversely affect shared memory occupancy and performance (or even the ability to launch).\n     * - Performance is often improved when referencing input samples through a texture-caching iterator (e.g., cub::TexObjInputIterator).\n     * - \\devicestorage\n     * - \\cdp\n     *\n     * \\par Snippet\n     * The code snippet below illustrates the computation of three 256-bin histograms from\n     * an input sequence of quad-channel (interleaved) <tt>unsigned char</tt> samples.\n     * (E.g., RGB histograms from RGBA pixel samples.)\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>   // or equivalently <cub/device/device_histogram.cuh>\n     *\n     * // Declare, allocate, and initialize device pointers for input and histograms\n     * int           num_samples;     // e.g., 20 (five pixels with four channels each)\n     * unsigned char *d_samples;      // e.g., [(2, 6, 7, 5), (3, 0, 2, 1), (7, 0, 6, 2),\n     *                                //        (0, 6, 7, 5), (3, 0, 2, 6)]\n     * unsigned int  *d_histogram[3]; // e.g., [ [ ,  ,  ,  ,  ,  ,  ,  ];\n     *                                //         [ ,  ,  ,  ,  ,  ,  ,  ];\n     *                                //         [ ,  ,  ,  ,  ,  ,  ,  ] ]\n     * ...\n     *\n     * // Wrap d_samples device pointer in a random-access texture iterator\n     * cub::TexObjInputIterator<unsigned char> d_samples_tex_itr;\n     * d_samples_tex_itr.BindTexture(d_samples, num_samples * sizeof(unsigned char));\n     *\n     * // Determine temporary device storage requirements\n     * void *d_temp_storage = NULL;\n     * size_t temp_storage_bytes = 0;\n     * cub::DeviceHistogram::MultiChannelSharedAtomic<8, 4, 3>(d_temp_storage, temp_storage_bytes, d_samples_tex_itr, d_histograms, num_samples);\n     *\n     * // Allocate temporary storage\n     * cudaMalloc(&d_temp_storage, temp_storage_bytes);\n     *\n     * // Compute histograms\n     * cub::DeviceHistogram::MultiChannelSharedAtomic<8, 4, 3>(d_temp_storage, temp_storage_bytes, d_samples_tex_itr, d_histograms, num_samples);\n     *\n     * // Unbind texture iterator\n     * d_samples_tex_itr.UnbindTexture();\n     *\n     * // d_histogram   <-- [ [1, 0, 1, 2, 0, 0, 0, 1];\n     * //                     [0, 3, 0, 0, 0, 0, 2, 0];\n     * //                     [0, 0, 2, 0, 0, 0, 1, 2] ]\n     *\n     * \\endcode\n     *\n     * \\tparam BINS                 Number of histogram bins per channel\n     * \\tparam CHANNELS             Number of channels interleaved in the input data (may be greater than the number of channels being actively histogrammed)\n     * \\tparam ACTIVE_CHANNELS      <b>[inferred]</b> Number of channels actively being histogrammed\n     * \\tparam InputIterator        <b>[inferred]</b> Random-access input iterator type for reading input samples. (Must have an InputIterator::value_type that, when cast as an integer, falls in the range [0..BINS-1])  \\iterator\n     * \\tparam HistoCounter         <b>[inferred]</b> Integer type for counting sample occurrences per histogram bin\n     */\n    template <\n        int                 BINS,\n        int                 CHANNELS,\n        int                 ACTIVE_CHANNELS,\n        typename            InputIterator,\n        typename            HistoCounter>\n    CUB_RUNTIME_FUNCTION\n    static cudaError_t MultiChannelSharedAtomic(\n        void                *d_temp_storage,                    ///< [in] %Device allocation of temporary storage.  When NULL, the required allocation size is written to \\p temp_storage_bytes and no work is done.\n        size_t              &temp_storage_bytes,                ///< [in,out] Reference to size in bytes of \\p d_temp_storage allocation\n        InputIterator       d_samples,                          ///< [in] Pointer to the input sequence of sample items. The samples from different channels are assumed to be interleaved (e.g., an array of 32b pixels where each pixel consists of four RGBA 8b samples).\n        HistoCounter        *d_histograms[ACTIVE_CHANNELS],     ///< [out] Array of active channel histogram pointers, each pointing to an output array having BINS counters of integral type \\p HistoCounter.\n        int                 num_samples,                        ///< [in] Total number of samples to process in all channels, including non-active channels\n        cudaStream_t        stream              = 0,            ///< [in] <b>[optional]</b> CUDA stream to launch kernels within.  Default is stream<sub>0</sub>.\n        bool                debug_synchronous   = false)        ///< [in] <b>[optional]</b> Whether or not to synchronize the stream after every kernel launch to check for errors.  May cause significant slowdown.  Default is \\p false.\n    {\n        // Signed integer type for global offsets\n        typedef int Offset;\n\n        // Dispatch type\n        typedef DeviceHistogramDispatch<\n            DEVICE_HISTO_SHARED_ATOMIC,\n            BINS,\n            CHANNELS,\n            ACTIVE_CHANNELS,\n            InputIterator,\n            HistoCounter,\n            Offset> DeviceHistogramDispatch;\n\n        return DeviceHistogramDispatch::Dispatch(\n            d_temp_storage,\n            temp_storage_bytes,\n            d_samples,\n            d_histograms,\n            num_samples,\n            stream,\n            debug_synchronous);\n    }\n\n\n    /**\n     * \\brief Computes a device-wide histogram from multi-channel data using global-memory atomic read-modify-write operations.\n     *\n     * \\par\n     * - The total number of samples across all channels (\\p num_samples) must be a whole multiple of \\p CHANNELS.\n     * - Input samples having lower diversity can cause performance to be degraded due to serializations from bin-collisions.\n     * - Performance is not significantly impacted when computing histograms having large numbers of bins (e.g., thousands).\n     * - Performance is often improved when referencing input samples through a texture-caching iterator (e.g., cub::TexObjInputIterator).\n     * - \\devicestorage\n     * - \\cdp\n     *\n     * \\par Snippet\n     * The code snippet below illustrates the computation of three 256-bin histograms from\n     * an input sequence of quad-channel (interleaved) <tt>unsigned char</tt> samples.\n     * (E.g., RGB histograms from RGBA pixel samples.)\n     *\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>   // or equivalently <cub/device/device_histogram.cuh>\n     *\n     * // Declare, allocate, and initialize device pointers for input and histograms\n     * int           num_samples;     // e.g., 20 (five pixels with four channels each)\n     * unsigned char *d_samples;      // e.g., [(2, 6, 7, 5), (3, 0, 2, 1), (7, 0, 6, 2),\n     *                                //        (0, 6, 7, 5), (3, 0, 2, 6)]\n     * unsigned int  *d_histogram[3]; // e.g., [ [ ,  ,  ,  ,  ,  ,  ,  ];\n     *                                //         [ ,  ,  ,  ,  ,  ,  ,  ];\n     *                                //         [ ,  ,  ,  ,  ,  ,  ,  ] ]\n     * ...\n     *\n     * // Wrap d_samples device pointer in a random-access texture iterator\n     * cub::TexObjInputIterator<unsigned char> d_samples_tex_itr;\n     * d_samples_tex_itr.BindTexture(d_samples, num_samples * sizeof(unsigned char));\n     *\n     * // Determine temporary device storage requirements\n     * void     *d_temp_storage = NULL;\n     * size_t   temp_storage_bytes = 0;\n     * cub::DeviceHistogram::MultiChannelGlobalAtomic<8, 4, 3>(d_temp_storage, temp_storage_bytes, d_samples_tex_itr, d_histograms, num_samples);\n     *\n     * // Allocate temporary storage\n     * cudaMalloc(&d_temp_storage, temp_storage_bytes);\n     *\n     * // Compute histograms\n     * cub::DeviceHistogram::MultiChannelGlobalAtomic<8, 4, 3>(d_temp_storage, temp_storage_bytes, d_samples_tex_itr, d_histograms, num_samples);\n     *\n     * // Unbind texture iterator\n     * d_samples_tex_itr.UnbindTexture();\n     *\n     * // d_histogram   <-- [ [1, 0, 1, 2, 0, 0, 0, 1];\n     * //                     [0, 3, 0, 0, 0, 0, 2, 0];\n     * //                     [0, 0, 2, 0, 0, 0, 1, 2] ]\n     *\n     * \\endcode\n     *\n     * \\tparam BINS                 Number of histogram bins per channel\n     * \\tparam CHANNELS             Number of channels interleaved in the input data (may be greater than the number of channels being actively histogrammed)\n     * \\tparam ACTIVE_CHANNELS      <b>[inferred]</b> Number of channels actively being histogrammed\n     * \\tparam InputIterator        <b>[inferred]</b> Random-access input iterator type for reading input samples. (Must have an InputIterator::value_type that, when cast as an integer, falls in the range [0..BINS-1])  \\iterator\n     * \\tparam HistoCounter         <b>[inferred]</b> Integer type for counting sample occurrences per histogram bin\n     */\n    template <\n        int                 BINS,\n        int                 CHANNELS,\n        int                 ACTIVE_CHANNELS,\n        typename            InputIterator,\n        typename            HistoCounter>\n    CUB_RUNTIME_FUNCTION\n    static cudaError_t MultiChannelGlobalAtomic(\n        void                *d_temp_storage,                    ///< [in] %Device allocation of temporary storage.  When NULL, the required allocation size is written to \\p temp_storage_bytes and no work is done.\n        size_t              &temp_storage_bytes,                ///< [in,out] Reference to size in bytes of \\p d_temp_storage allocation\n        InputIterator       d_samples,                          ///< [in] Pointer to the input sequence of sample items. The samples from different channels are assumed to be interleaved (e.g., an array of 32b pixels where each pixel consists of four RGBA 8b samples).\n        HistoCounter        *d_histograms[ACTIVE_CHANNELS],     ///< [out] Array of active channel histogram pointers, each pointing to an output array having BINS counters of integral type \\p HistoCounter.\n        int                 num_samples,                        ///< [in] Total number of samples to process in all channels, including non-active channels\n        cudaStream_t        stream              = 0,            ///< [in] <b>[optional]</b> CUDA stream to launch kernels within.  Default is stream<sub>0</sub>.\n        bool                debug_synchronous   = false)        ///< [in] <b>[optional]</b> Whether or not to synchronize the stream after every kernel launch to check for errors.  May cause significant slowdown.  Default is \\p false.\n    {\n        // Signed integer type for global offsets\n        typedef int Offset;\n\n        // Dispatch type\n        typedef DeviceHistogramDispatch<\n                DEVICE_HISTO_GLOBAL_ATOMIC,\n                BINS,\n                CHANNELS,\n                ACTIVE_CHANNELS,\n                InputIterator,\n                HistoCounter,\n                Offset>\n            DeviceHistogramDispatch;\n\n        return DeviceHistogramDispatch::Dispatch(\n            d_temp_storage,\n            temp_storage_bytes,\n            d_samples,\n            d_histograms,\n            num_samples,\n            stream,\n            debug_synchronous);\n    }\n\n    //@}  end member group\n\n};\n\n/**\n * \\example example_device_histogram.cu\n */\n\n}               // CUB namespace\nCUB_NS_POSTFIX  // Optional outer namespace(s)\n\n\n"
  },
  {
    "path": "external/cub-1.3.2/cub/device/device_partition.cuh",
    "content": "\n/******************************************************************************\n * Copyright (c) 2011, Duane Merrill.  All rights reserved.\n * Copyright (c) 2011-2014, NVIDIA CORPORATION.  All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *     * Redistributions of source code must retain the above copyright\n *       notice, this list of conditions and the following disclaimer.\n *     * Redistributions in binary form must reproduce the above copyright\n *       notice, this list of conditions and the following disclaimer in the\n *       documentation and/or other materials provided with the distribution.\n *     * Neither the name of the NVIDIA CORPORATION nor the\n *       names of its contributors may be used to endorse or promote products\n *       derived from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n ******************************************************************************/\n\n/**\n * \\file\n * cub::DevicePartition provides device-wide, parallel operations for partitioning sequences of data items residing within global memory.\n */\n\n#pragma once\n\n#include <stdio.h>\n#include <iterator>\n\n#include \"dispatch/device_select_dispatch.cuh\"\n#include \"../util_namespace.cuh\"\n\n/// Optional outer namespace(s)\nCUB_NS_PREFIX\n\n/// CUB namespace\nnamespace cub {\n\n\n/**\n * \\brief DevicePartition provides device-wide, parallel operations for partitioning sequences of data items residing within global memory. ![](partition_logo.png)\n * \\ingroup DeviceModule\n *\n * \\par Overview\n * These operations apply a selection criterion to construct a partitioned output sequence from items selected/unselected from\n * a specified input sequence.\n *\n * \\par Usage Considerations\n * \\cdp_class{DevicePartition}\n *\n * \\par Performance\n * \\linear_performance{partition}\n *\n * \\par\n * The following chart illustrates DevicePartition::If\n * performance across different CUDA architectures for \\p int32 items,\n * where 50% of the items are randomly selected for the first partition.\n * \\plots_below\n *\n * \\image html partition_if_int32_50_percent.png\n *\n */\nstruct DevicePartition\n{\n    /**\n     * \\brief Uses the \\p d_flags sequence to split the corresponding items from \\p d_in into a partitioned sequence \\p d_out.  The total number of items copied into the first partition is written to \\p d_num_selected. ![](partition_flags_logo.png)\n     *\n     * \\par\n     * - The value type of \\p d_flags must be castable to \\p bool (e.g., \\p bool, \\p char, \\p int, etc.).\n     * - Copies of the selected items are compacted into \\p d_out and maintain their original\n     *   relative ordering, however copies of the unselected items are compacted into the\n     *   rear of \\p d_out in reverse order.\n     * - \\devicestorage\n     * - \\cdp\n     *\n     * \\par Snippet\n     * The code snippet below illustrates the compaction of items selected from an \\p int device vector.\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>   // or equivalently <cub/device/device_partition.cuh>\n     *\n     * // Declare, allocate, and initialize device pointers for input, flags, and output\n     * int  num_items;          // e.g., 8\n     * int  *d_in;              // e.g., [1, 2, 3, 4, 5, 6, 7, 8]\n     * char *d_flags;           // e.g., [1, 0, 0, 1, 0, 1, 1, 0]\n     * int  *d_out;             // e.g., [ ,  ,  ,  ,  ,  ,  ,  ]\n     * int  *d_num_selected;    // e.g., [ ]\n     * ...\n     *\n     * // Determine temporary device storage requirements\n     * void     *d_temp_storage = NULL;\n     * size_t   temp_storage_bytes = 0;\n     * cub::DevicePartition::Flagged(d_temp_storage, temp_storage_bytes, d_in, d_flags, d_out, d_num_selected, num_items);\n     *\n     * // Allocate temporary storage\n     * cudaMalloc(&d_temp_storage, temp_storage_bytes);\n     *\n     * // Run selection\n     * cub::DevicePartition::Flagged(d_temp_storage, temp_storage_bytes, d_in, d_flags, d_out, d_num_selected, num_items);\n     *\n     * // d_out             <-- [1, 4, 6, 7, 8, 5, 3, 2]\n     * // d_num_selected    <-- [4]\n     *\n     * \\endcode\n     *\n     * \\tparam InputIterator        <b>[inferred]</b> Random-access input iterator type for reading input items \\iterator\n     * \\tparam FlagIterator         <b>[inferred]</b> Random-access input iterator type for reading selection flags \\iterator\n     * \\tparam OutputIterator       <b>[inferred]</b> Random-access output iterator type for writing output items \\iterator\n     * \\tparam NumSelectedIterator  <b>[inferred]</b> Output iterator type for recording the number of items selected \\iterator\n     */\n    template <\n        typename                    InputIterator,\n        typename                    FlagIterator,\n        typename                    OutputIterator,\n        typename                    NumSelectedIterator>\n    CUB_RUNTIME_FUNCTION __forceinline__\n    static cudaError_t Flagged(\n        void                        *d_temp_storage,                ///< [in] %Device allocation of temporary storage.  When NULL, the required allocation size is written to \\p temp_storage_bytes and no work is done.\n        size_t                      &temp_storage_bytes,            ///< [in,out] Reference to size in bytes of \\p d_temp_storage allocation\n        InputIterator               d_in,                           ///< [in] Pointer to the input sequence of data items\n        FlagIterator                d_flags,                        ///< [in] Pointer to the input sequence of selection flags\n        OutputIterator              d_out,                          ///< [out] Pointer to the output sequence of partitioned data items\n        NumSelectedIterator         d_num_selected,                 ///< [out] Pointer to the output total number of items selected (i.e., the offset of the unselected partition)\n        int                         num_items,                      ///< [in] Total number of items to select from\n        cudaStream_t                stream             = 0,         ///< [in] <b>[optional]</b> CUDA stream to launch kernels within.  Default is stream<sub>0</sub>.\n        bool                        debug_synchronous  = false)     ///< [in] <b>[optional]</b> Whether or not to synchronize the stream after every kernel launch to check for errors.  May cause significant slowdown.  Default is \\p false.\n    {\n        typedef int                     Offset;         // Signed integer type for global offsets\n        typedef NullType                SelectOp;       // Selection op (not used)\n        typedef NullType                EqualityOp;     // Equality operator (not used)\n\n        return DeviceSelectDispatch<InputIterator, FlagIterator, OutputIterator, NumSelectedIterator, SelectOp, EqualityOp, Offset, true>::Dispatch(\n            d_temp_storage,\n            temp_storage_bytes,\n            d_in,\n            d_flags,\n            d_out,\n            d_num_selected,\n            SelectOp(),\n            EqualityOp(),\n            num_items,\n            stream,\n            debug_synchronous);\n    }\n\n\n    /**\n     * \\brief Uses the \\p select_op functor to split the corresponding items from \\p d_in into a partitioned sequence \\p d_out.  The total number of items copied into the first partition is written to \\p d_num_selected. ![](partition_logo.png)\n     *\n     * \\par\n     * - Copies of the selected items are compacted into \\p d_out and maintain their original\n     *   relative ordering, however copies of the unselected items are compacted into the\n     *   rear of \\p d_out in reverse order.\n     * - \\devicestorage\n     * - \\cdp\n     *\n     * \\par Performance\n     * The following charts illustrate saturated partition-if performance across different\n     * CUDA architectures for \\p int32 and \\p int64 items, respectively.  Items are\n     * selected for the first partition with 50% probability.\n     *\n     * \\image html partition_if_int32_50_percent.png\n     * \\image html partition_if_int64_50_percent.png\n     *\n     * \\par\n     * The following charts are similar, but 5% selection probability for the first partition:\n     *\n     * \\image html partition_if_int32_5_percent.png\n     * \\image html partition_if_int64_5_percent.png\n     *\n     * \\par Snippet\n     * The code snippet below illustrates the compaction of items selected from an \\p int device vector.\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>   // or equivalently <cub/device/device_partition.cuh>\n     *\n     * // Functor type for selecting values less than some criteria\n     * struct LessThan\n     * {\n     *     int compare;\n     *\n     *     CUB_RUNTIME_FUNCTION __forceinline__\n     *     LessThan(int compare) : compare(compare) {}\n     *\n     *     CUB_RUNTIME_FUNCTION __forceinline__\n     *     bool operator()(const int &a) const {\n     *         return (a < compare);\n     *     }\n     * };\n     *\n     * // Declare, allocate, and initialize device pointers for input and output\n     * int      num_items;          // e.g., 8\n     * int      *d_in;              // e.g., [0, 2, 3, 9, 5, 2, 81, 8]\n     * int      *d_out;             // e.g., [ ,  ,  ,  ,  ,  ,  ,  ]\n     * int      *d_num_selected;    // e.g., [ ]\n     * LessThan select_op(7);\n     * ...\n     *\n     * // Determine temporary device storage requirements\n     * void     *d_temp_storage = NULL;\n     * size_t   temp_storage_bytes = 0;\n     * cub::DeviceSelect::If(d_temp_storage, temp_storage_bytes, d_in, d_out, d_num_selected, num_items, select_op);\n     *\n     * // Allocate temporary storage\n     * cudaMalloc(&d_temp_storage, temp_storage_bytes);\n     *\n     * // Run selection\n     * cub::DeviceSelect::If(d_temp_storage, temp_storage_bytes, d_in, d_out, d_num_selected, num_items, select_op);\n     *\n     * // d_out             <-- [0, 2, 3, 5, 2, 8, 81, 9]\n     * // d_num_selected    <-- [5]\n     *\n     * \\endcode\n     *\n     * \\tparam InputIterator        <b>[inferred]</b> Random-access input iterator type for reading input items \\iterator\n     * \\tparam OutputIterator       <b>[inferred]</b> Random-access output iterator type for writing output items \\iterator\n     * \\tparam NumSelectedIterator  <b>[inferred]</b> Output iterator type for recording the number of items selected \\iterator\n     * \\tparam SelectOp             <b>[inferred]</b> Selection functor type having member <tt>bool operator()(const T &a)</tt>\n     */\n    template <\n        typename                    InputIterator,\n        typename                    OutputIterator,\n        typename                    NumSelectedIterator,\n        typename                    SelectOp>\n    CUB_RUNTIME_FUNCTION __forceinline__\n    static cudaError_t If(\n        void                        *d_temp_storage,                ///< [in] %Device allocation of temporary storage.  When NULL, the required allocation size is written to \\p temp_storage_bytes and no work is done.\n        size_t                      &temp_storage_bytes,            ///< [in,out] Reference to size in bytes of \\p d_temp_storage allocation\n        InputIterator               d_in,                           ///< [in] Pointer to the input sequence of data items\n        OutputIterator              d_out,                          ///< [out] Pointer to the output sequence of partitioned data items\n        NumSelectedIterator         d_num_selected,                 ///< [out] Pointer to the output total number of items selected (i.e., the offset of the unselected partition)\n        int                         num_items,                      ///< [in] Total number of items to select from\n        SelectOp                    select_op,                      ///< [in] Unary selection operator\n        cudaStream_t                stream             = 0,         ///< [in] <b>[optional]</b> CUDA stream to launch kernels within.  Default is stream<sub>0</sub>.\n        bool                        debug_synchronous  = false)     ///< [in] <b>[optional]</b> Whether or not to synchronize the stream after every kernel launch to check for errors.  May cause significant slowdown.  Default is \\p false.\n    {\n        typedef int                     Offset;         // Signed integer type for global offsets\n        typedef NullType*               FlagIterator;   // Flag iterator type (not used)\n        typedef NullType                EqualityOp;     // Equality operator (not used)\n\n        return DeviceSelectDispatch<InputIterator, FlagIterator, OutputIterator, NumSelectedIterator, SelectOp, EqualityOp, Offset, true>::Dispatch(\n            d_temp_storage,\n            temp_storage_bytes,\n            d_in,\n            NULL,\n            d_out,\n            d_num_selected,\n            select_op,\n            EqualityOp(),\n            num_items,\n            stream,\n            debug_synchronous);\n    }\n\n};\n\n/**\n * \\example example_device_partition_flagged.cu\n * \\example example_device_partition_if.cu\n */\n\n}               // CUB namespace\nCUB_NS_POSTFIX  // Optional outer namespace(s)\n\n\n"
  },
  {
    "path": "external/cub-1.3.2/cub/device/device_radix_sort.cuh",
    "content": "\n/******************************************************************************\n * Copyright (c) 2011, Duane Merrill.  All rights reserved.\n * Copyright (c) 2011-2014, NVIDIA CORPORATION.  All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *     * Redistributions of source code must retain the above copyright\n *       notice, this list of conditions and the following disclaimer.\n *     * Redistributions in binary form must reproduce the above copyright\n *       notice, this list of conditions and the following disclaimer in the\n *       documentation and/or other materials provided with the distribution.\n *     * Neither the name of the NVIDIA CORPORATION nor the\n *       names of its contributors may be used to endorse or promote products\n *       derived from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n ******************************************************************************/\n\n/**\n * \\file\n * cub::DeviceRadixSort provides device-wide, parallel operations for computing a radix sort across a sequence of data items residing within global memory.\n */\n\n#pragma once\n\n#include <stdio.h>\n#include <iterator>\n\n#include \"dispatch/device_radix_sort_dispatch.cuh\"\n#include \"../util_namespace.cuh\"\n\n/// Optional outer namespace(s)\nCUB_NS_PREFIX\n\n/// CUB namespace\nnamespace cub {\n\n\n/**\n * \\brief DeviceRadixSort provides device-wide, parallel operations for computing a radix sort across a sequence of data items residing within global memory. ![](sorting_logo.png)\n * \\ingroup DeviceModule\n *\n * \\par Overview\n * The [<em>radix sorting method</em>](http://en.wikipedia.org/wiki/Radix_sort) arranges\n * items into ascending order.  It relies upon a positional representation for\n * keys, i.e., each key is comprised of an ordered sequence of symbols (e.g., digits,\n * characters, etc.) specified from least-significant to most-significant.  For a\n * given input sequence of keys and a set of rules specifying a total ordering\n * of the symbolic alphabet, the radix sorting method produces a lexicographic\n * ordering of those keys.\n *\n * \\par\n * DeviceRadixSort can sort all of the built-in C++ numeric primitive types, e.g.:\n * <tt>unsigned char</tt>, \\p int, \\p double, etc.  Although the direct radix sorting\n * method can only be applied to unsigned integral types, BlockRadixSort\n * is able to sort signed and floating-point types via simple bit-wise transformations\n * that ensure lexicographic key ordering.\n *\n * \\par Usage Considerations\n * \\cdp_class{DeviceRadixSort}\n *\n * \\par Performance\n * \\linear_performance{radix sort} The following chart illustrates DeviceRadixSort::SortKeys\n * performance across different CUDA architectures for uniform-random \\p uint32 keys.\n * \\plots_below\n *\n * \\image html lsb_radix_sort_int32_keys.png\n *\n */\nstruct DeviceRadixSort\n{\n    /**\n     * \\brief Sorts key-value pairs into ascending order.\n     *\n     * \\par\n     * - The sorting operation requires a pair of key buffers and a pair of value\n     *   buffers.  Each pair is wrapped in a DoubleBuffer structure whose member\n     *   DoubleBuffer::Current() references the active buffer.  The currently-active\n     *   buffer may be changed by the sorting operation.\n     * - \\devicestorage\n     * - \\cdp\n     *\n     * \\par Performance\n     * The following charts illustrate saturated sorting performance across different\n     * CUDA architectures for uniform-random <tt>uint32,uint32</tt> and\n     * <tt>uint64,uint64</tt> pairs, respectively.\n     *\n     * \\image html lsb_radix_sort_int32_pairs.png\n     * \\image html lsb_radix_sort_int64_pairs.png\n     *\n     * \\par Snippet\n     * The code snippet below illustrates the sorting of a device vector of \\p int keys\n     * with associated vector of \\p int values.\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>   // or equivalently <cub/device/device_radix_sort.cuh>\n     *\n     * // Declare, allocate, and initialize device pointers for sorting data\n     * int  num_items;          // e.g., 7\n     * int  *d_key_buf;         // e.g., [8, 6, 7, 5, 3, 0, 9]\n     * int  *d_key_alt_buf;     // e.g., [        ...        ]\n     * int  *d_value_buf;       // e.g., [0, 1, 2, 3, 4, 5, 6]\n     * int  *d_value_alt_buf;   // e.g., [        ...        ]\n     * ...\n     *\n     * // Create a set of DoubleBuffers to wrap pairs of device pointers\n     * cub::DoubleBuffer<int> d_keys(d_key_buf, d_key_alt_buf);\n     * cub::DoubleBuffer<int> d_values(d_value_buf, d_value_alt_buf);\n     *\n     * // Determine temporary device storage requirements\n     * void     *d_temp_storage = NULL;\n     * size_t   temp_storage_bytes = 0;\n     * cub::DeviceRadixSort::SortPairs(d_temp_storage, temp_storage_bytes, d_keys, d_values, num_items);\n     *\n     * // Allocate temporary storage\n     * cudaMalloc(&d_temp_storage, temp_storage_bytes);\n     *\n     * // Run sorting operation\n     * cub::DeviceRadixSort::SortPairs(d_temp_storage, temp_storage_bytes, d_keys, d_values, num_items);\n     *\n     * // d_keys.Current()      <-- [0, 3, 5, 6, 7, 8, 9]\n     * // d_values.Current()    <-- [5, 4, 3, 1, 2, 0, 6]\n     *\n     * \\endcode\n     *\n     * \\tparam Key      <b>[inferred]</b> Key type\n     * \\tparam Value    <b>[inferred]</b> Value type\n     */\n    template <\n        typename            Key,\n        typename            Value>\n    CUB_RUNTIME_FUNCTION\n    static cudaError_t SortPairs(\n        void                *d_temp_storage,                        ///< [in] %Device allocation of temporary storage.  When NULL, the required allocation size is written to \\p temp_storage_bytes and no work is done.\n        size_t              &temp_storage_bytes,                    ///< [in,out] Reference to size in bytes of \\p d_temp_storage allocation\n        DoubleBuffer<Key>   &d_keys,                                ///< [in,out] Reference to the double-buffer of keys whose current buffer contains the unsorted input keys and, upon return, is updated to point to the sorted output keys\n        DoubleBuffer<Value> &d_values,                              ///< [in,out] Double-buffer of values whose current buffer contains the unsorted input values and, upon return, is updated to point to the sorted output values\n        int                 num_items,                              ///< [in] Number of items to reduce\n        int                 begin_bit           = 0,                ///< [in] <b>[optional]</b> The first (least-significant) bit index needed for key comparison\n        int                 end_bit             = sizeof(Key) * 8,  ///< [in] <b>[optional]</b> The past-the-end (most-significant) bit index needed for key comparison\n        cudaStream_t        stream              = 0,                ///< [in] <b>[optional]</b> CUDA stream to launch kernels within.  Default is stream<sub>0</sub>.\n        bool                debug_synchronous   = false)            ///< [in] <b>[optional]</b> Whether or not to synchronize the stream after every kernel launch to check for errors.  Also causes launch configurations to be printed to the console.  Default is \\p false.\n    {\n        // Signed integer type for global offsets\n        typedef int Offset;\n\n        return DeviceRadixSortDispatch<false, Key, Value, Offset>::Dispatch(\n            d_temp_storage,\n            temp_storage_bytes,\n            d_keys,\n            d_values,\n            num_items,\n            begin_bit,\n            end_bit,\n            stream,\n            debug_synchronous);\n    }\n\n\n    /**\n     * \\brief Sorts key-value pairs into descending order.\n     *\n     * \\par\n     * - The sorting operation requires a pair of key buffers and a pair of value\n     *   buffers.  Each pair is wrapped in a DoubleBuffer structure whose member\n     *   DoubleBuffer::Current() references the active buffer.  The currently-active\n     *   buffer may be changed by the sorting operation.\n     * - \\devicestorage\n     * - \\cdp\n     *\n     * \\par Performance\n     * Performance is similar to DeviceRadixSort::SortPairs.\n     *\n     * \\par Snippet\n     * The code snippet below illustrates the sorting of a device vector of \\p int keys\n     * with associated vector of \\p int values.\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>   // or equivalently <cub/device/device_radix_sort.cuh>\n     *\n     * // Declare, allocate, and initialize device pointers for sorting data\n     * int  num_items;          // e.g., 7\n     * int  *d_key_buf;         // e.g., [8, 6, 7, 5, 3, 0, 9]\n     * int  *d_key_alt_buf;     // e.g., [        ...        ]\n     * int  *d_value_buf;       // e.g., [0, 1, 2, 3, 4, 5, 6]\n     * int  *d_value_alt_buf;   // e.g., [        ...        ]\n     * ...\n     *\n     * // Create a set of DoubleBuffers to wrap pairs of device pointers\n     * cub::DoubleBuffer<int> d_keys(d_key_buf, d_key_alt_buf);\n     * cub::DoubleBuffer<int> d_values(d_value_buf, d_value_alt_buf);\n     *\n     * // Determine temporary device storage requirements\n     * void     *d_temp_storage = NULL;\n     * size_t   temp_storage_bytes = 0;\n     * cub::DeviceRadixSort::SortPairsDescending(d_temp_storage, temp_storage_bytes, d_keys, d_values, num_items);\n     *\n     * // Allocate temporary storage\n     * cudaMalloc(&d_temp_storage, temp_storage_bytes);\n     *\n     * // Run sorting operation\n     * cub::DeviceRadixSort::SortPairsDescending(d_temp_storage, temp_storage_bytes, d_keys, d_values, num_items);\n     *\n     * // d_keys.Current()      <-- [9, 8, 7, 6, 5, 3, 0]\n     * // d_values.Current()    <-- [6, 0, 2, 1, 3, 4, 5]\n     *\n     * \\endcode\n     *\n     * \\tparam Key      <b>[inferred]</b> Key type\n     * \\tparam Value    <b>[inferred]</b> Value type\n     */\n    template <\n        typename            Key,\n        typename            Value>\n    CUB_RUNTIME_FUNCTION\n    static cudaError_t SortPairsDescending(\n        void                *d_temp_storage,                        ///< [in] %Device allocation of temporary storage.  When NULL, the required allocation size is written to \\p temp_storage_bytes and no work is done.\n        size_t              &temp_storage_bytes,                    ///< [in,out] Reference to size in bytes of \\p d_temp_storage allocation\n        DoubleBuffer<Key>   &d_keys,                                ///< [in,out] Reference to the double-buffer of keys whose current buffer contains the unsorted input keys and, upon return, is updated to point to the sorted output keys\n        DoubleBuffer<Value> &d_values,                              ///< [in,out] Double-buffer of values whose current buffer contains the unsorted input values and, upon return, is updated to point to the sorted output values\n        int                 num_items,                              ///< [in] Number of items to reduce\n        int                 begin_bit           = 0,                ///< [in] <b>[optional]</b> The first (least-significant) bit index needed for key comparison\n        int                 end_bit             = sizeof(Key) * 8,  ///< [in] <b>[optional]</b> The past-the-end (most-significant) bit index needed for key comparison\n        cudaStream_t        stream              = 0,                ///< [in] <b>[optional]</b> CUDA stream to launch kernels within.  Default is stream<sub>0</sub>.\n        bool                debug_synchronous   = false)            ///< [in] <b>[optional]</b> Whether or not to synchronize the stream after every kernel launch to check for errors.  Also causes launch configurations to be printed to the console.  Default is \\p false.\n    {\n        // Signed integer type for global offsets\n        typedef int Offset;\n\n        return DeviceRadixSortDispatch<true, Key, Value, Offset>::Dispatch(\n            d_temp_storage,\n            temp_storage_bytes,\n            d_keys,\n            d_values,\n            num_items,\n            begin_bit,\n            end_bit,\n            stream,\n            debug_synchronous);\n    }\n\n\n    /**\n     * \\brief Sorts keys into ascending order\n     *\n     * \\par\n     * - The sorting operation requires a pair of key buffers.  The pair is\n     *   wrapped in a DoubleBuffer structure whose member DoubleBuffer::Current()\n     *   references the active buffer.  The currently-active buffer may be changed\n     *   by the sorting operation.\n     * - \\devicestorage\n     * - \\cdp\n     *\n     * \\par Performance\n     * The following charts illustrate saturated sorting performance across different\n     * CUDA architectures for uniform-random \\p uint32 and \\p uint64 keys, respectively.\n     *\n     * \\image html lsb_radix_sort_int32_keys.png\n     * \\image html lsb_radix_sort_int64_keys.png\n     *\n     * \\par Snippet\n     * The code snippet below illustrates the sorting of a device vector of \\p int keys.\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>   // or equivalently <cub/device/device_radix_sort.cuh>\n     *\n     * // Declare, allocate, and initialize device pointers for sorting data\n     * int  num_items;          // e.g., 7\n     * int  *d_key_buf;         // e.g., [8, 6, 7, 5, 3, 0, 9]\n     * int  *d_key_alt_buf;     // e.g., [        ...        ]\n     * ...\n     *\n     * // Create a DoubleBuffer to wrap the pair of device pointers\n     * cub::DoubleBuffer<int> d_keys(d_key_buf, d_key_alt_buf);\n     *\n     * // Determine temporary device storage requirements\n     * void     *d_temp_storage = NULL;\n     * size_t   temp_storage_bytes = 0;\n     * cub::DeviceRadixSort::SortKeys(d_temp_storage, temp_storage_bytes, d_keys, num_items);\n     *\n     * // Allocate temporary storage\n     * cudaMalloc(&d_temp_storage, temp_storage_bytes);\n     *\n     * // Run sorting operation\n     * cub::DeviceRadixSort::SortKeys(d_temp_storage, temp_storage_bytes, d_keys, num_items);\n     *\n     * // d_keys.Current()      <-- [0, 3, 5, 6, 7, 8, 9]\n     *\n     * \\endcode\n     *\n     * \\tparam Key      <b>[inferred]</b> Key type\n     */\n    template <typename Key>\n    CUB_RUNTIME_FUNCTION\n    static cudaError_t SortKeys(\n        void                *d_temp_storage,                        ///< [in] %Device allocation of temporary storage.  When NULL, the required allocation size is written to \\p temp_storage_bytes and no work is done.\n        size_t              &temp_storage_bytes,                    ///< [in,out] Reference to size in bytes of \\p d_temp_storage allocation\n        DoubleBuffer<Key>   &d_keys,                                ///< [in,out] Reference to the double-buffer of keys whose current buffer contains the unsorted input keys and, upon return, is updated to point to the sorted output keys\n        int                 num_items,                              ///< [in] Number of items to reduce\n        int                 begin_bit           = 0,                ///< [in] <b>[optional]</b> The first (least-significant) bit index needed for key comparison\n        int                 end_bit             = sizeof(Key) * 8,  ///< [in] <b>[optional]</b> The past-the-end (most-significant) bit index needed for key comparison\n        cudaStream_t        stream              = 0,                ///< [in] <b>[optional]</b> CUDA stream to launch kernels within.  Default is stream<sub>0</sub>.\n        bool                debug_synchronous   = false)            ///< [in] <b>[optional]</b> Whether or not to synchronize the stream after every kernel launch to check for errors.  Also causes launch configurations to be printed to the console.  Default is \\p false.\n    {\n        // Signed integer type for global offsets\n        typedef int Offset;\n\n        // Null value type\n        DoubleBuffer<NullType> d_values;\n\n        return DeviceRadixSortDispatch<false, Key, NullType, Offset>::Dispatch(\n            d_temp_storage,\n            temp_storage_bytes,\n            d_keys,\n            d_values,\n            num_items,\n            begin_bit,\n            end_bit,\n            stream,\n            debug_synchronous);\n    }\n\n\n    /**\n     * \\brief Sorts keys into ascending order\n     *\n     * \\par\n     * - The sorting operation requires a pair of key buffers.  The pair is\n     *   wrapped in a DoubleBuffer structure whose member DoubleBuffer::Current()\n     *   references the active buffer.  The currently-active buffer may be changed\n     *   by the sorting operation.\n     * - \\devicestorage\n     * - \\cdp\n     *\n     * \\par Performance\n     * Performance is similar to DeviceRadixSort::SortKeys.\n     *\n     * \\par Snippet\n     * The code snippet below illustrates the sorting of a device vector of \\p int keys.\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>   // or equivalently <cub/device/device_radix_sort.cuh>\n     *\n     * // Declare, allocate, and initialize device pointers for sorting data\n     * int  num_items;          // e.g., 7\n     * int  *d_key_buf;         // e.g., [8, 6, 7, 5, 3, 0, 9]\n     * int  *d_key_alt_buf;     // e.g., [        ...        ]\n     * ...\n     *\n     * // Create a DoubleBuffer to wrap the pair of device pointers\n     * cub::DoubleBuffer<int> d_keys(d_key_buf, d_key_alt_buf);\n     *\n     * // Determine temporary device storage requirements\n     * void     *d_temp_storage = NULL;\n     * size_t   temp_storage_bytes = 0;\n     * cub::DeviceRadixSort::SortKeysDescending(d_temp_storage, temp_storage_bytes, d_keys, num_items);\n     *\n     * // Allocate temporary storage\n     * cudaMalloc(&d_temp_storage, temp_storage_bytes);\n     *\n     * // Run sorting operation\n     * cub::DeviceRadixSort::SortKeysDescending(d_temp_storage, temp_storage_bytes, d_keys, num_items);\n     *\n     * // d_keys.Current()      <-- [9, 8, 7, 6, 5, 3, 0]\n     *\n     * \\endcode\n     *\n     * \\tparam Key      <b>[inferred]</b> Key type\n     */\n    template <typename Key>\n    CUB_RUNTIME_FUNCTION\n    static cudaError_t SortKeysDescending(\n        void                *d_temp_storage,                        ///< [in] %Device allocation of temporary storage.  When NULL, the required allocation size is written to \\p temp_storage_bytes and no work is done.\n        size_t              &temp_storage_bytes,                    ///< [in,out] Reference to size in bytes of \\p d_temp_storage allocation\n        DoubleBuffer<Key>   &d_keys,                                ///< [in,out] Reference to the double-buffer of keys whose current buffer contains the unsorted input keys and, upon return, is updated to point to the sorted output keys\n        int                 num_items,                              ///< [in] Number of items to reduce\n        int                 begin_bit           = 0,                ///< [in] <b>[optional]</b> The first (least-significant) bit index needed for key comparison\n        int                 end_bit             = sizeof(Key) * 8,  ///< [in] <b>[optional]</b> The past-the-end (most-significant) bit index needed for key comparison\n        cudaStream_t        stream              = 0,                ///< [in] <b>[optional]</b> CUDA stream to launch kernels within.  Default is stream<sub>0</sub>.\n        bool                debug_synchronous   = false)            ///< [in] <b>[optional]</b> Whether or not to synchronize the stream after every kernel launch to check for errors.  Also causes launch configurations to be printed to the console.  Default is \\p false.\n    {\n        // Signed integer type for global offsets\n        typedef int Offset;\n\n        // Null value type\n        DoubleBuffer<NullType> d_values;\n\n        return DeviceRadixSortDispatch<true, Key, NullType, Offset>::Dispatch(\n            d_temp_storage,\n            temp_storage_bytes,\n            d_keys,\n            d_values,\n            num_items,\n            begin_bit,\n            end_bit,\n            stream,\n            debug_synchronous);\n    }\n\n};\n\n/**\n * \\example example_device_radix_sort.cu\n */\n\n}               // CUB namespace\nCUB_NS_POSTFIX  // Optional outer namespace(s)\n\n\n"
  },
  {
    "path": "external/cub-1.3.2/cub/device/device_reduce.cuh",
    "content": "\n/******************************************************************************\n * Copyright (c) 2011, Duane Merrill.  All rights reserved.\n * Copyright (c) 2011-2014, NVIDIA CORPORATION.  All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *     * Redistributions of source code must retain the above copyright\n *       notice, this list of conditions and the following disclaimer.\n *     * Redistributions in binary form must reproduce the above copyright\n *       notice, this list of conditions and the following disclaimer in the\n *       documentation and/or other materials provided with the distribution.\n *     * Neither the name of the NVIDIA CORPORATION nor the\n *       names of its contributors may be used to endorse or promote products\n *       derived from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n ******************************************************************************/\n\n/**\n * \\file\n * cub::DeviceReduce provides device-wide, parallel operations for computing a reduction across a sequence of data items residing within global memory.\n */\n\n#pragma once\n\n#include <stdio.h>\n#include <iterator>\n\n#include \"dispatch/device_reduce_dispatch.cuh\"\n#include \"../util_namespace.cuh\"\n\n/// Optional outer namespace(s)\nCUB_NS_PREFIX\n\n/// CUB namespace\nnamespace cub {\n\n\n/**\n * \\brief DeviceReduce provides device-wide, parallel operations for computing a reduction across a sequence of data items residing within global memory. ![](reduce_logo.png)\n * \\ingroup DeviceModule\n *\n * \\par Overview\n * A <a href=\"http://en.wikipedia.org/wiki/Reduce_(higher-order_function)\"><em>reduction</em></a> (or <em>fold</em>)\n * uses a binary combining operator to compute a single aggregate from a sequence of input elements.\n *\n * \\par Usage Considerations\n * \\cdp_class{DeviceReduce}\n *\n * \\par Performance\n * \\linear_performance{reduction, reduce-by-key, and run-length encode}\n *\n * \\par\n * The following chart illustrates DeviceReduce::Sum\n * performance across different CUDA architectures for \\p int32 keys.\n *\n * \\image html reduce_int32.png\n *\n * \\par\n * The following chart illustrates DeviceReduce::ReduceByKey (summation)\n * performance across different CUDA architectures for \\p fp32\n * values.  Segments are identified by \\p int32 keys, and have lengths uniformly sampled from [1,1000].\n *\n * \\image html reduce_by_key_fp32_len_500.png\n *\n * \\par\n * The following chart illustrates DeviceReduce::RunLengthEncode performance across\n * different CUDA architectures for \\p int32 items.\n * Segments have lengths uniformly sampled from [1,1000].\n *\n * \\image html rle_int32_len_500.png\n *\n * \\par\n * \\plots_below\n *\n *\n */\nstruct DeviceReduce\n{\n    /**\n     * \\brief Computes a device-wide reduction using the specified binary \\p reduction_op functor.\n     *\n     * \\par\n     * - Does not support non-commutative reduction operators.\n     * - \\devicestorage\n     * - \\cdp\n     *\n     * \\par Performance\n     * Performance is typically similar to DeviceReduce::Sum.\n     *\n     * \\par Snippet\n     * The code snippet below illustrates a custom min reduction of a device vector of \\p int items.\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>   // or equivalently <cub/device/device_radix_sort.cuh>\n     *\n     * // CustomMin functor\n     * struct CustomMin\n     * {\n     *     template <typename T>\n     *     CUB_RUNTIME_FUNCTION __forceinline__\n     *     T operator()(const T &a, const T &b) const {\n     *         return (b < a) ? b : a;\n     *     }\n     * };\n     *\n     * // Declare, allocate, and initialize device pointers for input and output\n     * int          num_items;  // e.g., 7\n     * int          *d_in;      // e.g., [8, 6, 7, 5, 3, 0, 9]\n     * int          *d_out;     // e.g., [ ]\n     * CustomMin    min_op;\n     * ...\n     *\n     * // Determine temporary device storage requirements\n     * void     *d_temp_storage = NULL;\n     * size_t   temp_storage_bytes = 0;\n     * cub::DeviceReduce::Reduce(d_temp_storage, temp_storage_bytes, d_in, d_out, num_items, min_op);\n     *\n     * // Allocate temporary storage\n     * cudaMalloc(&d_temp_storage, temp_storage_bytes);\n     *\n     * // Run reduction\n     * cub::DeviceReduce::Reduce(d_temp_storage, temp_storage_bytes, d_in, d_out, num_items, min_op);\n     *\n     * // d_out <-- [0]\n     *\n     * \\endcode\n     *\n     * \\tparam InputIterator      <b>[inferred]</b> Random-access input iterator type for reading input items \\iterator\n     * \\tparam OutputIterator     <b>[inferred]</b> Output iterator type for recording the reduced aggregate \\iterator\n     * \\tparam ReductionOp        <b>[inferred]</b> Binary reduction functor type having member <tt>T operator()(const T &a, const T &b)</tt>\n     */\n    template <\n        typename                    InputIterator,\n        typename                    OutputIterator,\n        typename                    ReductionOp>\n    CUB_RUNTIME_FUNCTION\n    static cudaError_t Reduce(\n        void                        *d_temp_storage,                    ///< [in] %Device allocation of temporary storage.  When NULL, the required allocation size is written to \\p temp_storage_bytes and no work is done.\n        size_t                      &temp_storage_bytes,                ///< [in,out] Reference to size in bytes of \\p d_temp_storage allocation\n        InputIterator               d_in,                               ///< [in] Pointer to the input sequence of data items\n        OutputIterator              d_out,                              ///< [out] Pointer to the output aggregate\n        int                         num_items,                          ///< [in] Total number of input items (i.e., length of \\p d_in)\n        ReductionOp                 reduction_op,                       ///< [in] Binary reduction functor (e.g., an instance of cub::Sum, cub::Min, cub::Max, etc.)\n        cudaStream_t                stream              = 0,            ///< [in] <b>[optional]</b> CUDA stream to launch kernels within.  Default is stream<sub>0</sub>.\n        bool                        debug_synchronous   = false)        ///< [in] <b>[optional]</b> Whether or not to synchronize the stream after every kernel launch to check for errors.  Also causes launch configurations to be printed to the console.  Default is \\p false.\n    {\n        // Signed integer type for global offsets\n        typedef int Offset;\n\n        // Dispatch type\n        typedef DeviceReduceDispatch<InputIterator, OutputIterator, Offset, ReductionOp> DeviceReduceDispatch;\n\n        return DeviceReduceDispatch::Dispatch(\n            d_temp_storage,\n            temp_storage_bytes,\n            d_in,\n            d_out,\n            num_items,\n            reduction_op,\n            stream,\n            debug_synchronous);\n    }\n\n\n    /**\n     * \\brief Computes a device-wide sum using the addition ('+') operator.\n     *\n     * \\par\n     * - Does not support non-commutative reduction operators.\n     * - \\devicestorage\n     * - \\cdp\n     *\n     * \\par Performance\n     * The following charts illustrate saturated reduction (sum) performance across different\n     * CUDA architectures for \\p int32 and \\p int64 items, respectively.\n     *\n     * \\image html reduce_int32.png\n     * \\image html reduce_int64.png\n     *\n     * \\par Snippet\n     * The code snippet below illustrates the sum reduction of a device vector of \\p int items.\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>   // or equivalently <cub/device/device_radix_sort.cuh>\n     *\n     * // Declare, allocate, and initialize device pointers for input and output\n     * int  num_items;      // e.g., 7\n     * int  *d_in;          // e.g., [8, 6, 7, 5, 3, 0, 9]\n     * int  *d_out;         // e.g., [ ]\n     * ...\n     *\n     * // Determine temporary device storage requirements\n     * void     *d_temp_storage = NULL;\n     * size_t   temp_storage_bytes = 0;\n     * cub::DeviceReduce::Sum(d_temp_storage, temp_storage_bytes, d_in, d_sum, num_items);\n     *\n     * // Allocate temporary storage\n     * cudaMalloc(&d_temp_storage, temp_storage_bytes);\n     *\n     * // Run sum-reduction\n     * cub::DeviceReduce::Sum(d_temp_storage, temp_storage_bytes, d_in, d_sum, num_items);\n     *\n     * // d_out <-- [38]\n     *\n     * \\endcode\n     *\n     * \\tparam InputIterator      <b>[inferred]</b> Random-access input iterator type for reading input items \\iterator\n     * \\tparam OutputIterator     <b>[inferred]</b> Output iterator type for recording the reduced aggregate \\iterator\n     */\n    template <\n        typename                    InputIterator,\n        typename                    OutputIterator>\n    CUB_RUNTIME_FUNCTION\n    static cudaError_t Sum(\n        void                        *d_temp_storage,                    ///< [in] %Device allocation of temporary storage.  When NULL, the required allocation size is written to \\p temp_storage_bytes and no work is done.\n        size_t                      &temp_storage_bytes,                ///< [in,out] Reference to size in bytes of \\p d_temp_storage allocation\n        InputIterator               d_in,                               ///< [in] Pointer to the input sequence of data items\n        OutputIterator              d_out,                              ///< [out] Pointer to the output aggregate\n        int                         num_items,                          ///< [in] Total number of input items (i.e., length of \\p d_in)\n        cudaStream_t                stream              = 0,            ///< [in] <b>[optional]</b> CUDA stream to launch kernels within.  Default is stream<sub>0</sub>.\n        bool                        debug_synchronous   = false)        ///< [in] <b>[optional]</b> Whether or not to synchronize the stream after every kernel launch to check for errors.  Also causes launch configurations to be printed to the console.  Default is \\p false.\n    {\n        // Signed integer type for global offsets\n        typedef int Offset;\n\n        // Dispatch type\n        typedef DeviceReduceDispatch<InputIterator, OutputIterator, Offset, cub::Sum> DeviceReduceDispatch;\n\n        return DeviceReduceDispatch::Dispatch(\n            d_temp_storage,\n            temp_storage_bytes,\n            d_in,\n            d_out,\n            num_items,\n            cub::Sum(),\n            stream,\n            debug_synchronous);\n    }\n\n\n    /**\n     * \\brief Computes a device-wide minimum using the less-than ('<') operator.\n     *\n     * \\par\n     * - Does not support non-commutative minimum operators.\n     * - \\devicestorage\n     * - \\cdp\n     *\n     * \\par Performance\n     * Performance is typically similar to DeviceReduce::Sum.\n     *\n     * \\par Snippet\n     * The code snippet below illustrates the min-reduction of a device vector of \\p int items.\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>   // or equivalently <cub/device/device_radix_sort.cuh>\n     *\n     * // Declare, allocate, and initialize device pointers for input and output\n     * int  num_items;      // e.g., 7\n     * int  *d_in;          // e.g., [8, 6, 7, 5, 3, 0, 9]\n     * int  *d_out;         // e.g., [ ]\n     * ...\n     *\n     * // Determine temporary device storage requirements\n     * void     *d_temp_storage = NULL;\n     * size_t   temp_storage_bytes = 0;\n     * cub::DeviceReduce::Min(d_temp_storage, temp_storage_bytes, d_in, d_min, num_items);\n     *\n     * // Allocate temporary storage\n     * cudaMalloc(&d_temp_storage, temp_storage_bytes);\n     *\n     * // Run min-reduction\n     * cub::DeviceReduce::Min(d_temp_storage, temp_storage_bytes, d_in, d_min, num_items);\n     *\n     * // d_out <-- [0]\n     *\n     * \\endcode\n     *\n     * \\tparam InputIterator      <b>[inferred]</b> Random-access input iterator type for reading input items \\iterator\n     * \\tparam OutputIterator     <b>[inferred]</b> Output iterator type for recording the reduced aggregate \\iterator\n     */\n    template <\n        typename                    InputIterator,\n        typename                    OutputIterator>\n    CUB_RUNTIME_FUNCTION\n    static cudaError_t Min(\n        void                        *d_temp_storage,                    ///< [in] %Device allocation of temporary storage.  When NULL, the required allocation size is written to \\p temp_storage_bytes and no work is done.\n        size_t                      &temp_storage_bytes,                ///< [in,out] Reference to size in bytes of \\p d_temp_storage allocation\n        InputIterator               d_in,                               ///< [in] Pointer to the input sequence of data items\n        OutputIterator              d_out,                              ///< [out] Pointer to the output aggregate\n        int                         num_items,                          ///< [in] Total number of input items (i.e., length of \\p d_in)\n        cudaStream_t                stream              = 0,            ///< [in] <b>[optional]</b> CUDA stream to launch kernels within.  Default is stream<sub>0</sub>.\n        bool                        debug_synchronous   = false)        ///< [in] <b>[optional]</b> Whether or not to synchronize the stream after every kernel launch to check for errors.  Also causes launch configurations to be printed to the console.  Default is \\p false.\n    {\n        // Signed integer type for global offsets\n        typedef int Offset;\n\n        // Dispatch type\n        typedef DeviceReduceDispatch<InputIterator, OutputIterator, Offset, cub::Min> DeviceReduceDispatch;\n\n        return DeviceReduceDispatch::Dispatch(\n            d_temp_storage,\n            temp_storage_bytes,\n            d_in,\n            d_out,\n            num_items,\n            cub::Min(),\n            stream,\n            debug_synchronous);\n    }\n\n\n    /**\n     * \\brief Finds the first device-wide minimum using the less-than ('<') operator, also returning the index of that item.\n     *\n     * \\par\n     * Assuming the input \\p d_in has value type \\p T, the output \\p d_out must have value type\n     * <tt>ItemOffsetPair<T, int></tt>.  The minimum value is written to <tt>d_out.value</tt> and its\n     * location in the input array is written to <tt>d_out.offset</tt>.\n     *\n     * \\par\n     * - Does not support non-commutative minimum operators.\n     * - \\devicestorage\n     * - \\cdp\n     *\n     * \\par Performance\n     * Performance is typically similar to DeviceReduce::Sum.\n     *\n     * \\par Snippet\n     * The code snippet below illustrates the argmin-reduction of a device vector of \\p int items.\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>   // or equivalently <cub/device/device_radix_sort.cuh>\n     *\n     * // Declare, allocate, and initialize device pointers for input and output\n     * int                      num_items;      // e.g., 7\n     * int                      *d_in;          // e.g., [8, 6, 7, 5, 3, 0, 9]\n     * ItemOffsetPair<int, int> *d_out;         // e.g., [{ , }]\n     * ...\n     *\n     * // Determine temporary device storage requirements\n     * void     *d_temp_storage = NULL;\n     * size_t   temp_storage_bytes = 0;\n     * cub::DeviceReduce::ArgMin(d_temp_storage, temp_storage_bytes, d_in, d_argmin, num_items);\n     *\n     * // Allocate temporary storage\n     * cudaMalloc(&d_temp_storage, temp_storage_bytes);\n     *\n     * // Run argmin-reduction\n     * cub::DeviceReduce::ArgMin(d_temp_storage, temp_storage_bytes, d_in, d_argmin, num_items);\n     *\n     * // d_out <-- [{0, 5}]\n     *\n     * \\endcode\n     *\n     * \\tparam InputIterator      <b>[inferred]</b> Random-access input iterator type for reading input items (of some type \\p T) \\iterator\n     * \\tparam OutputIterator     <b>[inferred]</b> Output iterator type for recording the reduced aggregate (having value type <tt>ItemOffsetPair<T, int></tt>) \\iterator\n     */\n    template <\n        typename                    InputIterator,\n        typename                    OutputIterator>\n    CUB_RUNTIME_FUNCTION\n    static cudaError_t ArgMin(\n        void                        *d_temp_storage,                    ///< [in] %Device allocation of temporary storage.  When NULL, the required allocation size is written to \\p temp_storage_bytes and no work is done.\n        size_t                      &temp_storage_bytes,                ///< [in,out] Reference to size in bytes of \\p d_temp_storage allocation\n        InputIterator               d_in,                               ///< [in] Pointer to the input sequence of data items\n        OutputIterator              d_out,                              ///< [out] Pointer to the output aggregate\n        int                         num_items,                          ///< [in] Total number of input items (i.e., length of \\p d_in)\n        cudaStream_t                stream              = 0,            ///< [in] <b>[optional]</b> CUDA stream to launch kernels within.  Default is stream<sub>0</sub>.\n        bool                        debug_synchronous   = false)        ///< [in] <b>[optional]</b> Whether or not to synchronize the stream after every kernel launch to check for errors.  Also causes launch configurations to be printed to the console.  Default is \\p false.\n    {\n        // Signed integer type for global offsets\n        typedef int Offset;\n\n        // Wrapped input iterator\n        typedef ArgIndexInputIterator<InputIterator, int> ArgIndexInputIterator;\n        ArgIndexInputIterator d_argmin_in(d_in, 0);\n\n        // Dispatch type\n        typedef DeviceReduceDispatch<ArgIndexInputIterator, OutputIterator, Offset, cub::ArgMin> DeviceReduceDispatch;\n\n        return DeviceReduceDispatch::Dispatch(\n            d_temp_storage,\n            temp_storage_bytes,\n            d_argmin_in,\n            d_out,\n            num_items,\n            cub::ArgMin(),\n            stream,\n            debug_synchronous);\n    }\n\n\n    /**\n     * \\brief Computes a device-wide maximum using the greater-than ('>') operator.\n     *\n     * \\par\n     * - Does not support non-commutative maximum operators.\n     * - \\devicestorage\n     * - \\cdp\n     *\n     * \\par Performance\n     * Performance is typically similar to DeviceReduce::Sum.\n     *\n     * \\par Snippet\n     * The code snippet below illustrates the max-reduction of a device vector of \\p int items.\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>   // or equivalently <cub/device/device_radix_sort.cuh>\n     *\n     * // Declare, allocate, and initialize device pointers for input and output\n     * int  num_items;      // e.g., 7\n     * int  *d_in;          // e.g., [8, 6, 7, 5, 3, 0, 9]\n     * int  *d_out;         // e.g., [ ]\n     * ...\n     *\n     * // Determine temporary device storage requirements\n     * void     *d_temp_storage = NULL;\n     * size_t   temp_storage_bytes = 0;\n     * cub::DeviceReduce::Max(d_temp_storage, temp_storage_bytes, d_in, d_max, num_items);\n     *\n     * // Allocate temporary storage\n     * cudaMalloc(&d_temp_storage, temp_storage_bytes);\n     *\n     * // Run max-reduction\n     * cub::DeviceReduce::Max(d_temp_storage, temp_storage_bytes, d_in, d_max, num_items);\n     *\n     * // d_out <-- [9]\n     *\n     * \\endcode\n     *\n     * \\tparam InputIterator      <b>[inferred]</b> Random-access input iterator type for reading input items \\iterator\n     * \\tparam OutputIterator     <b>[inferred]</b> Output iterator type for recording the reduced aggregate \\iterator\n     */\n    template <\n        typename                    InputIterator,\n        typename                    OutputIterator>\n    CUB_RUNTIME_FUNCTION\n    static cudaError_t Max(\n        void                        *d_temp_storage,                    ///< [in] %Device allocation of temporary storage.  When NULL, the required allocation size is written to \\p temp_storage_bytes and no work is done.\n        size_t                      &temp_storage_bytes,                ///< [in,out] Reference to size in bytes of \\p d_temp_storage allocation\n        InputIterator               d_in,                               ///< [in] Pointer to the input sequence of data items\n        OutputIterator              d_out,                              ///< [out] Pointer to the output aggregate\n        int                         num_items,                          ///< [in] Total number of input items (i.e., length of \\p d_in)\n        cudaStream_t                stream              = 0,            ///< [in] <b>[optional]</b> CUDA stream to launch kernels within.  Default is stream<sub>0</sub>.\n        bool                        debug_synchronous   = false)        ///< [in] <b>[optional]</b> Whether or not to synchronize the stream after every kernel launch to check for errors.  Also causes launch configurations to be printed to the console.  Default is \\p false.\n    {\n        // Signed integer type for global offsets\n        typedef int Offset;\n\n        // Dispatch type\n        typedef DeviceReduceDispatch<InputIterator, OutputIterator, Offset, cub::Max> DeviceReduceDispatch;\n\n        return DeviceReduceDispatch::Dispatch(\n            d_temp_storage,\n            temp_storage_bytes,\n            d_in,\n            d_out,\n            num_items,\n            cub::Max(),\n            stream,\n            debug_synchronous);\n    }\n\n\n    /**\n     * \\brief Finds the first device-wide maximum using the greater-than ('>') operator, also returning the index of that item\n     *\n     * \\par\n     * Assuming the input \\p d_in has value type \\p T, the output \\p d_out must have value type\n     * <tt>ItemOffsetPair<T, int></tt>.  The maximum value is written to <tt>d_out.value</tt> and its\n     * location in the input array is written to <tt>d_out.offset</tt>.\n     *\n     * \\par\n     * - Does not support non-commutative maximum operators.\n     * - \\devicestorage\n     * - \\cdp\n     *\n     * \\par Performance\n     * Performance is typically similar to DeviceReduce::Sum.\n     *\n     * \\par Snippet\n     * The code snippet below illustrates the argmax-reduction of a device vector of \\p int items.\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>   // or equivalently <cub/device/device_reduce.cuh>\n     *\n     * // Declare, allocate, and initialize device pointers for input and output\n     * int                      num_items;      // e.g., 7\n     * int                      *d_in;          // e.g., [8, 6, 7, 5, 3, 0, 9]\n     * ItemOffsetPair<int, int> *d_out;         // e.g., [{ , }]\n     * ...\n     *\n     * // Determine temporary device storage requirements\n     * void     *d_temp_storage = NULL;\n     * size_t   temp_storage_bytes = 0;\n     * cub::DeviceReduce::ArgMax(d_temp_storage, temp_storage_bytes, d_in, d_argmax, num_items);\n     *\n     * // Allocate temporary storage\n     * cudaMalloc(&d_temp_storage, temp_storage_bytes);\n     *\n     * // Run argmax-reduction\n     * cub::DeviceReduce::ArgMax(d_temp_storage, temp_storage_bytes, d_in, d_argmax, num_items);\n     *\n     * // d_out <-- [{9, 6}]\n     *\n     * \\endcode\n     *\n     * \\tparam InputIterator      <b>[inferred]</b> Random-access input iterator type for reading input items (of some type \\p T) \\iterator\n     * \\tparam OutputIterator     <b>[inferred]</b> Output iterator type for recording the reduced aggregate (having value type <tt>ItemOffsetPair<T, int></tt>) \\iterator\n     */\n    template <\n        typename                    InputIterator,\n        typename                    OutputIterator>\n    CUB_RUNTIME_FUNCTION\n    static cudaError_t ArgMax(\n        void                        *d_temp_storage,                    ///< [in] %Device allocation of temporary storage.  When NULL, the required allocation size is written to \\p temp_storage_bytes and no work is done.\n        size_t                      &temp_storage_bytes,                ///< [in,out] Reference to size in bytes of \\p d_temp_storage allocation\n        InputIterator               d_in,                               ///< [in] Pointer to the input sequence of data items\n        OutputIterator              d_out,                              ///< [out] Pointer to the output aggregate\n        int                         num_items,                          ///< [in] Total number of input items (i.e., length of \\p d_in)\n        cudaStream_t                stream              = 0,            ///< [in] <b>[optional]</b> CUDA stream to launch kernels within.  Default is stream<sub>0</sub>.\n        bool                        debug_synchronous   = false)        ///< [in] <b>[optional]</b> Whether or not to synchronize the stream after every kernel launch to check for errors.  Also causes launch configurations to be printed to the console.  Default is \\p false.\n    {\n        // Signed integer type for global offsets\n        typedef int Offset;\n\n        // Wrapped input iterator\n        typedef ArgIndexInputIterator<InputIterator, int> ArgIndexInputIterator;\n        ArgIndexInputIterator d_argmax_in(d_in, 0);\n\n        // Dispatch type\n        typedef DeviceReduceDispatch<ArgIndexInputIterator, OutputIterator, Offset, cub::ArgMax> DeviceReduceDispatch;\n\n        return DeviceReduceDispatch::Dispatch(\n            d_temp_storage,\n            temp_storage_bytes,\n            d_argmax_in,\n            d_out,\n            num_items,\n            cub::ArgMax(),\n            stream,\n            debug_synchronous);\n    }\n\n\n    /**\n     * \\brief Reduces segments of values, where segments are demarcated by corresponding runs of identical keys.\n     *\n     * \\par\n     * This operation computes segmented reductions using the specified binary\n     * \\p reduction_op functor.  Each \"run\" of consecutive, identical keys in \\p d_keys_in\n     * is used to identify a corresponding segment of values in \\p d_values_in. The first key in\n     * the <em>i</em><sup>th</sup> segment is copied to <tt>d_keys_out[<em>i</em>]</tt>, and\n     * the value aggregate for that segment is written to <tt>d_values_out[<em>i</em>]</tt>.\n     * The total number of segments discovered is written to \\p d_num_segments.\n     *\n     * \\par\n     * - The <tt>==</tt> equality operator is used to determine whether keys are equivalent\n     * - \\devicestorage\n     * - \\cdp\n     *\n     * \\par Performance\n     * The following chart illustrates reduction-by-key (sum) performance across\n     * different CUDA architectures for \\p fp32 and \\p fp64 values, respectively.  Segments\n     * are identified by \\p int32 keys, and have lengths uniformly sampled from [1,1000].\n     *\n     * \\image html reduce_by_key_fp32_len_500.png\n     * \\image html reduce_by_key_fp64_len_500.png\n     *\n     * \\par\n     * The following charts are similar, but with segment lengths uniformly sampled from [1,10]:\n     *\n     * \\image html reduce_by_key_fp32_len_5.png\n     * \\image html reduce_by_key_fp64_len_5.png\n     *\n     * \\par Snippet\n     * The code snippet below illustrates the segmented reduction of \\p int values grouped\n     * by runs of associated \\p int keys.\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>   // or equivalently <cub/device/device_reduce.cuh>\n     *\n     * // CustomMin functor\n     * struct CustomMin\n     * {\n     *     template <typename T>\n     *     CUB_RUNTIME_FUNCTION __forceinline__\n     *     T operator()(const T &a, const T &b) const {\n     *         return (b < a) ? b : a;\n     *     }\n     * };\n     *\n     * // Declare, allocate, and initialize device pointers for input and output\n     * int          num_items;          // e.g., 8\n     * int          *d_keys_in;         // e.g., [0, 2, 2, 9, 5, 5, 5, 8]\n     * int          *d_values_in;       // e.g., [0, 7, 1, 6, 2, 5, 3, 4]\n     * int          *d_keys_out;        // e.g., [ ,  ,  ,  ,  ,  ,  ,  ]\n     * int          *d_values_out;      // e.g., [ ,  ,  ,  ,  ,  ,  ,  ]\n     * int          *d_num_segments;    // e.g., [ ]\n     * CustomMin    reduction_op;\n     * ...\n     *\n     * // Determine temporary device storage requirements\n     * void     *d_temp_storage = NULL;\n     * size_t   temp_storage_bytes = 0;\n     * cub::DeviceReduce::ReduceByKey(d_temp_storage, temp_storage_bytes, d_keys_in, d_keys_out, d_values_in, d_values_out, d_num_segments, reduction_op, num_items);\n     *\n     * // Allocate temporary storage\n     * cudaMalloc(&d_temp_storage, temp_storage_bytes);\n     *\n     * // Run reduce-by-key\n     * cub::DeviceReduce::ReduceByKey(d_temp_storage, temp_storage_bytes, d_keys_in, d_keys_out, d_values_in, d_values_out, d_num_segments, reduction_op, num_items);\n     *\n     * // d_keys_out        <-- [0, 2, 9, 5, 8]\n     * // d_values_out      <-- [0, 1, 6, 2, 4]\n     * // d_num_segments    <-- [5]\n     *\n     * \\endcode\n     *\n     * \\tparam KeyInputIterator     <b>[inferred]</b> Random-access input iterator type for reading input keys \\iterator\n     * \\tparam KeyOutputIterator    <b>[inferred]</b> Random-access output iterator type for writing output keys \\iterator\n     * \\tparam ValueInputIterator   <b>[inferred]</b> Random-access input iterator type for reading input values \\iterator\n     * \\tparam ValueOutputIterator  <b>[inferred]</b> Random-access output iterator type for writing output values \\iterator\n     * \\tparam NumSegmentsIterator  <b>[inferred]</b> Output iterator type for recording the number of segments encountered \\iterator\n     * \\tparam ReductionOp          <b>[inferred]</b> Binary reduction functor type having member <tt>T operator()(const T &a, const T &b)</tt>\n     */\n    template <\n        typename                    KeyInputIterator,\n        typename                    KeyOutputIterator,\n        typename                    ValueInputIterator,\n        typename                    ValueOutputIterator,\n        typename                    NumSegmentsIterator,\n        typename                    ReductionOp>\n    CUB_RUNTIME_FUNCTION __forceinline__\n    static cudaError_t ReduceByKey(\n        void                        *d_temp_storage,                ///< [in] %Device allocation of temporary storage.  When NULL, the required allocation size is written to \\p temp_storage_bytes and no work is done.\n        size_t                      &temp_storage_bytes,            ///< [in,out] Reference to size in bytes of \\p d_temp_storage allocation\n        KeyInputIterator            d_keys_in,                      ///< [in] Pointer to consecutive runs of input keys\n        KeyOutputIterator           d_keys_out,                     ///< [out] Pointer to output keys (one key per run)\n        ValueInputIterator          d_values_in,                    ///< [in] Pointer to consecutive runs of input values\n        ValueOutputIterator         d_values_out,                   ///< [out] Pointer to output value aggregates (one aggregate per run)\n        NumSegmentsIterator         d_num_segments,                 ///< [out] Pointer to total number of segments\n        ReductionOp                 reduction_op,                   ///< [in] Binary reduction functor (e.g., an instance of cub::Sum, cub::Min, cub::Max, etc.)\n        int                         num_items,                      ///< [in] Total number of associated key+value pairs (i.e., the length of \\p d_in_keys and \\p d_in_values)\n        cudaStream_t                stream             = 0,         ///< [in] <b>[optional]</b> CUDA stream to launch kernels within.  Default is stream<sub>0</sub>.\n        bool                        debug_synchronous  = false)     ///< [in] <b>[optional]</b> Whether or not to synchronize the stream after every kernel launch to check for errors.  May cause significant slowdown.  Default is \\p false.\n    {\n        typedef int                 Offset;         // Signed integer type for global offsets\n        typedef NullType*           FlagIterator;   // Flag iterator type (not used)\n        typedef NullType            SelectOp;       // Selection op (not used)\n        typedef Equality            EqualityOp;     // Default == operator\n\n        return DeviceReduceByKeyDispatch<KeyInputIterator, KeyOutputIterator, ValueInputIterator, ValueOutputIterator, NumSegmentsIterator, EqualityOp, ReductionOp, Offset>::Dispatch(\n            d_temp_storage,\n            temp_storage_bytes,\n            d_keys_in,\n            d_keys_out,\n            d_values_in,\n            d_values_out,\n            d_num_segments,\n            EqualityOp(),\n            reduction_op,\n            num_items,\n            stream,\n            debug_synchronous);\n    }\n\n\n    /**\n     * \\brief Counts the segment lengths in the sequence \\p d_in, where segments are demarcated by runs of identical values.\n     *\n     * \\par\n     * This operation computes a run-length encoding of \\p d_in, where segments are identified\n     * by \"runs\" of consecutive, identical values.  The length of the <em>i</em><sup>th</sup> segment\n     * is written to <tt>d_counts_out[<em>i</em>]</tt>.  The unique values are also compacted,\n     * i.e., the first value in the <em>i</em><sup>th</sup> segment is copied to\n     * <tt>d_compacted_out[<em>i</em>]</tt>.  The total number of segments discovered is written\n     * to \\p d_num_segments.\n     *\n     * \\par\n     * - The <tt>==</tt> equality operator is used to determine whether values are equivalent\n     * - \\devicestorage\n     * - \\cdp\n     *\n     * \\par Performance\n     * The following charts illustrate saturated encode performance across different\n     * CUDA architectures for \\p int32 and \\p int64 items, respectively.  Segments have\n     * lengths uniformly sampled from [1,1000].\n     *\n     * \\image html rle_int32_len_500.png\n     * \\image html rle_int64_len_500.png\n     *\n     * \\par\n     * The following charts are similar, but with segment lengths uniformly sampled from [1,10]:\n     *\n     * \\image html rle_int32_len_5.png\n     * \\image html rle_int64_len_5.png\n     *\n     * \\par Snippet\n     * The code snippet below illustrates the run-length encoding of a sequence of \\p int values.\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>   // or equivalently <cub/device/device_reduce.cuh>\n     *\n     * // Declare, allocate, and initialize device pointers for input and output\n     * int          num_items;          // e.g., 8\n     * int          *d_in;              // e.g., [0, 2, 2, 9, 5, 5, 5, 8]\n     * int          *d_compacted_out;   // e.g., [ ,  ,  ,  ,  ,  ,  ,  ]\n     * int          *d_counts_out;      // e.g., [ ,  ,  ,  ,  ,  ,  ,  ]\n     * int          *d_num_segments;    // e.g., [ ]\n     * ...\n     *\n     * // Determine temporary device storage requirements\n     * void     *d_temp_storage = NULL;\n     * size_t   temp_storage_bytes = 0;\n     * cub::DeviceReduce::RunLengthEncode(d_temp_storage, temp_storage_bytes, d_in, d_compacted_out, d_counts_out, d_num_segments, num_items);\n     *\n     * // Allocate temporary storage\n     * cudaMalloc(&d_temp_storage, temp_storage_bytes);\n     *\n     * // Run encoding\n     * cub::DeviceReduce::RunLengthEncode(d_temp_storage, temp_storage_bytes, d_in, d_compacted_out, d_counts_out, d_num_segments, num_items);\n     *\n     * // d_keys_out        <-- [0, 2, 9, 5, 8]\n     * // d_values_out      <-- [1, 2, 1, 3, 1]\n     * // d_num_segments    <-- [5]\n     *\n     * \\endcode\n     *\n     * \\tparam InputIterator        <b>[inferred]</b> Random-access input iterator type for reading input items \\iterator\n     * \\tparam OutputIterator       <b>[inferred]</b> Random-access output iterator type for writing compacted output items \\iterator\n     * \\tparam CountsOutputIterator <b>[inferred]</b> Random-access output iterator type for writing output counts \\iterator\n     * \\tparam NumSegmentsIterator  <b>[inferred]</b> Output iterator type for recording the number of segments encountered \\iterator\n     */\n    template <\n        typename                    InputIterator,\n        typename                    OutputIterator,\n        typename                    CountsOutputIterator,\n        typename                    NumSegmentsIterator>\n    CUB_RUNTIME_FUNCTION __forceinline__\n    static cudaError_t RunLengthEncode(\n        void                        *d_temp_storage,                ///< [in] %Device allocation of temporary storage.  When NULL, the required allocation size is written to \\p temp_storage_bytes and no work is done.\n        size_t                      &temp_storage_bytes,            ///< [in,out] Reference to size in bytes of \\p d_temp_storage allocation\n        InputIterator               d_in,                           ///< [in] Pointer to consecutive runs of input keys\n        OutputIterator              d_compacted_out,                ///< [out] Pointer to output keys (one key per run)\n        CountsOutputIterator        d_counts_out,                   ///< [out] Pointer to output value aggregates (one aggregate per run)\n        NumSegmentsIterator         d_num_segments,                 ///< [out] Pointer to total number of segments\n        int                         num_items,                      ///< [in] Total number of associated key+value pairs (i.e., the length of \\p d_in_keys and \\p d_in_values)\n        cudaStream_t                stream             = 0,         ///< [in] <b>[optional]</b> CUDA stream to launch kernels within.  Default is stream<sub>0</sub>.\n        bool                        debug_synchronous  = false)     ///< [in] <b>[optional]</b> Whether or not to synchronize the stream after every kernel launch to check for errors.  May cause significant slowdown.  Default is \\p false.\n    {\n        // Data type of value iterator\n        typedef typename std::iterator_traits<CountsOutputIterator>::value_type Value;\n\n        typedef int         Offset;                     // Signed integer type for global offsets\n        typedef NullType*   FlagIterator;               // Flag iterator type (not used)\n        typedef NullType    SelectOp;                   // Selection op (not used)\n        typedef Equality    EqualityOp;                 // Default == operator\n        typedef cub::Sum    ReductionOp;                // Value reduction operator\n\n        // Generator type for providing 1s values for run-length reduction\n        typedef ConstantInputIterator<Value, Offset> CountsInputIterator;\n\n        Value one_val;\n        one_val = 1;\n\n        return DeviceReduceByKeyDispatch<InputIterator, OutputIterator, CountsInputIterator, CountsOutputIterator, NumSegmentsIterator, EqualityOp, ReductionOp, Offset>::Dispatch(\n            d_temp_storage,\n            temp_storage_bytes,\n            d_in,\n            d_compacted_out,\n            CountsInputIterator(one_val),\n            d_counts_out,\n            d_num_segments,\n            EqualityOp(),\n            ReductionOp(),\n            num_items,\n            stream,\n            debug_synchronous);\n    }\n\n};\n\n/**\n * \\example example_device_reduce.cu\n */\n\n}               // CUB namespace\nCUB_NS_POSTFIX  // Optional outer namespace(s)\n\n\n"
  },
  {
    "path": "external/cub-1.3.2/cub/device/device_scan.cuh",
    "content": "\n/******************************************************************************\n * Copyright (c) 2011, Duane Merrill.  All rights reserved.\n * Copyright (c) 2011-2014, NVIDIA CORPORATION.  All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *     * Redistributions of source code must retain the above copyright\n *       notice, this list of conditions and the following disclaimer.\n *     * Redistributions in binary form must reproduce the above copyright\n *       notice, this list of conditions and the following disclaimer in the\n *       documentation and/or other materials provided with the distribution.\n *     * Neither the name of the NVIDIA CORPORATION nor the\n *       names of its contributors may be used to endorse or promote products\n *       derived from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n ******************************************************************************/\n\n/**\n * \\file\n * cub::DeviceScan provides device-wide, parallel operations for computing a prefix scan across a sequence of data items residing within global memory.\n */\n\n#pragma once\n\n#include <stdio.h>\n#include <iterator>\n\n#include \"dispatch/device_scan_dispatch.cuh\"\n#include \"../util_namespace.cuh\"\n\n/// Optional outer namespace(s)\nCUB_NS_PREFIX\n\n/// CUB namespace\nnamespace cub {\n\n\n/**\n * \\brief DeviceScan provides device-wide, parallel operations for computing a prefix scan across a sequence of data items residing within global memory. ![](device_scan.png)\n * \\ingroup DeviceModule\n *\n * \\par Overview\n * Given a sequence of input elements and a binary reduction operator, a [<em>prefix scan</em>](http://en.wikipedia.org/wiki/Prefix_sum)\n * produces an output sequence where each element is computed to be the reduction\n * of the elements occurring earlier in the input sequence.  <em>Prefix sum</em>\n * connotes a prefix scan with the addition operator. The term \\em inclusive indicates\n * that the <em>i</em><sup>th</sup> output reduction incorporates the <em>i</em><sup>th</sup> input.\n * The term \\em exclusive indicates the <em>i</em><sup>th</sup> input is not incorporated into\n * the <em>i</em><sup>th</sup> output reduction.\n *\n * \\par Usage Considerations\n * \\cdp_class{DeviceScan}\n *\n * \\par Performance\n * \\linear_performance{prefix scan}\n *\n * \\par\n * The following chart illustrates DeviceScan::ExclusiveSum\n * performance across different CUDA architectures for \\p int32 keys.\n * \\plots_below\n *\n * \\image html scan_int32.png\n *\n */\nstruct DeviceScan\n{\n    /******************************************************************//**\n     * \\name Exclusive scans\n     *********************************************************************/\n    //@{\n\n    /**\n     * \\brief Computes a device-wide exclusive prefix sum.\n     *\n     * \\par\n     * - Supports non-commutative sum operators.\n     * - \\devicestorage\n     * - \\cdp\n     *\n     * \\par Performance\n     * The following charts illustrate saturated exclusive sum performance across different\n     * CUDA architectures for \\p int32 and \\p int64 items, respectively.\n     *\n     * \\image html scan_int32.png\n     * \\image html scan_int64.png\n     *\n     * \\par Snippet\n     * The code snippet below illustrates the exclusive prefix sum of an \\p int device vector.\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>   // or equivalently <cub/device/device_scan.cuh>\n     *\n     * // Declare, allocate, and initialize device pointers for input and output\n     * int  num_items;      // e.g., 7\n     * int  *d_in;          // e.g., [8, 6, 7, 5, 3, 0, 9]\n     * int  *d_out;         // e.g., [ ,  ,  ,  ,  ,  ,  ]\n     * ...\n     *\n     * // Determine temporary device storage requirements\n     * void     *d_temp_storage = NULL;\n     * size_t   temp_storage_bytes = 0;\n     * cub::DeviceScan::ExclusiveSum(d_temp_storage, temp_storage_bytes, d_in, d_out, num_items);\n     *\n     * // Allocate temporary storage\n     * cudaMalloc(&d_temp_storage, temp_storage_bytes);\n     *\n     * // Run exclusive prefix sum\n     * cub::DeviceScan::ExclusiveSum(d_temp_storage, temp_storage_bytes, d_in, d_out, num_items);\n     *\n     * // d_out s<-- [0, 8, 14, 21, 26, 29, 29]\n     *\n     * \\endcode\n     *\n     * \\tparam InputIterator      <b>[inferred]</b> Random-access input iterator type for reading scan input data \\iterator\n     * \\tparam OutputIterator     <b>[inferred]</b> Random-access output iterator type for writing scan output data \\iterator\n     */\n    template <\n        typename        InputIterator,\n        typename        OutputIterator>\n    CUB_RUNTIME_FUNCTION\n    static cudaError_t ExclusiveSum(\n        void            *d_temp_storage,                    ///< [in] %Device allocation of temporary storage.  When NULL, the required allocation size is written to \\p temp_storage_bytes and no work is done.\n        size_t          &temp_storage_bytes,                ///< [in,out] Reference to size in bytes of \\p d_temp_storage allocation\n        InputIterator   d_in,                               ///< [in] Pointer to the input sequence of data items\n        OutputIterator  d_out,                              ///< [out] Pointer to the output sequence of data items\n        int             num_items,                          ///< [in] Total number of input items (i.e., the length of \\p d_in)\n        cudaStream_t    stream              = 0,            ///< [in] <b>[optional]</b> CUDA stream to launch kernels within.  Default is stream<sub>0</sub>.\n        bool            debug_synchronous   = false)        ///< [in] <b>[optional]</b> Whether or not to synchronize the stream after every kernel launch to check for errors.  May cause significant slowdown.  Default is \\p false.\n    {\n        // Signed integer type for global offsets\n        typedef int Offset;\n\n        // Scan data type\n        typedef typename std::iterator_traits<InputIterator>::value_type T;\n\n        return DeviceScanDispatch<InputIterator, OutputIterator, Sum, T, Offset>::Dispatch(\n            d_temp_storage,\n            temp_storage_bytes,\n            d_in,\n            d_out,\n            Sum(),\n            T(),\n            num_items,\n            stream,\n            debug_synchronous);\n    }\n\n\n    /**\n     * \\brief Computes a device-wide exclusive prefix scan using the specified binary \\p scan_op functor.\n     *\n     * \\par\n     * - Supports non-commutative scan operators.\n     * - \\devicestorage\n     * - \\cdp\n     *\n     * \\par Performance\n     * Performance is typically similar to DeviceScan::ExclusiveSum.\n     *\n     * \\par Snippet\n     * The code snippet below illustrates the exclusive prefix min-scan of an \\p int device vector\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>   // or equivalently <cub/device/device_scan.cuh>\n     *\n     * // CustomMin functor\n     * struct CustomMin\n     * {\n     *     template <typename T>\n     *     CUB_RUNTIME_FUNCTION __forceinline__\n     *     T operator()(const T &a, const T &b) const {\n     *         return (b < a) ? b : a;\n     *     }\n     * };\n     *\n     * // Declare, allocate, and initialize device pointers for input and output\n     * int          num_items;      // e.g., 7\n     * int          *d_in;          // e.g., [8, 6, 7, 5, 3, 0, 9]\n     * int          *d_out;         // e.g., [ ,  ,  ,  ,  ,  ,  ]\n     * CustomMin    min_op\n     * ...\n     *\n     * // Determine temporary device storage requirements for exclusive prefix scan\n     * void     *d_temp_storage = NULL;\n     * size_t   temp_storage_bytes = 0;\n     * cub::DeviceScan::ExclusiveScan(d_temp_storage, temp_storage_bytes, d_in, d_out, min_op, (int) MAX_INT, num_items);\n     *\n     * // Allocate temporary storage for exclusive prefix scan\n     * cudaMalloc(&d_temp_storage, temp_storage_bytes);\n     *\n     * // Run exclusive prefix min-scan\n     * cub::DeviceScan::ExclusiveScan(d_temp_storage, temp_storage_bytes, d_in, d_out, min_op, (int) MAX_INT, num_items);\n     *\n     * // d_out <-- [2147483647, 8, 6, 6, 5, 3, 0]\n     *\n     * \\endcode\n     *\n     * \\tparam InputIterator    <b>[inferred]</b> Random-access input iterator type for reading scan input data \\iterator\n     * \\tparam OutputIterator   <b>[inferred]</b> Random-access output iterator type for writing scan output data \\iterator\n     * \\tparam ScanOp           <b>[inferred]</b> Binary scan functor type having member <tt>T operator()(const T &a, const T &b)</tt>\n     * \\tparam Identity         <b>[inferred]</b> Type of the \\p identity value used Binary scan functor type having member <tt>T operator()(const T &a, const T &b)</tt>\n     */\n    template <\n        typename        InputIterator,\n        typename        OutputIterator,\n        typename        ScanOp,\n        typename        Identity>\n    CUB_RUNTIME_FUNCTION\n    static cudaError_t ExclusiveScan(\n        void            *d_temp_storage,                    ///< [in] %Device allocation of temporary storage.  When NULL, the required allocation size is written to \\p temp_storage_bytes and no work is done.\n        size_t          &temp_storage_bytes,                ///< [in,out] Reference to size in bytes of \\p d_temp_storage allocation\n        InputIterator   d_in,                               ///< [in] Pointer to the input sequence of data items\n        OutputIterator  d_out,                              ///< [out] Pointer to the output sequence of data items\n        ScanOp          scan_op,                            ///< [in] Binary scan functor (e.g., an instance of cub::Sum, cub::Min, cub::Max, etc.)\n        Identity        identity,                           ///< [in] Identity element\n        int             num_items,                          ///< [in] Total number of input items (i.e., the length of \\p d_in)\n        cudaStream_t    stream              = 0,            ///< [in] <b>[optional]</b> CUDA stream to launch kernels within.  Default is stream<sub>0</sub>.\n        bool            debug_synchronous   = false)        ///< [in] <b>[optional]</b> Whether or not to synchronize the stream after every kernel launch to check for errors.  May cause significant slowdown.  Default is \\p false.\n    {\n        // Signed integer type for global offsets\n        typedef int Offset;\n\n        return DeviceScanDispatch<InputIterator, OutputIterator, ScanOp, Identity, Offset>::Dispatch(\n            d_temp_storage,\n            temp_storage_bytes,\n            d_in,\n            d_out,\n            scan_op,\n            identity,\n            num_items,\n            stream,\n            debug_synchronous);\n    }\n\n\n    //@}  end member group\n    /******************************************************************//**\n     * \\name Inclusive scans\n     *********************************************************************/\n    //@{\n\n\n    /**\n     * \\brief Computes a device-wide inclusive prefix sum.\n     *\n     * \\par\n     * - Supports non-commutative sum operators.\n     * - \\devicestorage\n     * - \\cdp\n     *\n     * \\par Performance\n     * Performance is typically similar to DeviceScan::ExclusiveSum.\n     *\n     * \\par Snippet\n     * The code snippet below illustrates the inclusive prefix sum of an \\p int device vector.\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>   // or equivalently <cub/device/device_scan.cuh>\n     *\n     * // Declare, allocate, and initialize device pointers for input and output\n     * int  num_items;      // e.g., 7\n     * int  *d_in;          // e.g., [8, 6, 7, 5, 3, 0, 9]\n     * int  *d_out;         // e.g., [ ,  ,  ,  ,  ,  ,  ]\n     * ...\n     *\n     * // Determine temporary device storage requirements for inclusive prefix sum\n     * void     *d_temp_storage = NULL;\n     * size_t   temp_storage_bytes = 0;\n     * cub::DeviceScan::InclusiveSum(d_temp_storage, temp_storage_bytes, d_in, d_out, num_items);\n     *\n     * // Allocate temporary storage for inclusive prefix sum\n     * cudaMalloc(&d_temp_storage, temp_storage_bytes);\n     *\n     * // Run inclusive prefix sum\n     * cub::DeviceScan::InclusiveSum(d_temp_storage, temp_storage_bytes, d_in, d_out, num_items);\n     *\n     * // d_out <-- [8, 14, 21, 26, 29, 29, 38]\n     *\n     * \\endcode\n     *\n     * \\tparam InputIterator      <b>[inferred]</b> Random-access input iterator type for reading scan input data \\iterator\n     * \\tparam OutputIterator     <b>[inferred]</b> Random-access output iterator type for writing scan output data \\iterator\n     */\n    template <\n        typename            InputIterator,\n        typename            OutputIterator>\n    CUB_RUNTIME_FUNCTION\n    static cudaError_t InclusiveSum(\n        void                *d_temp_storage,                    ///< [in] %Device allocation of temporary storage.  When NULL, the required allocation size is written to \\p temp_storage_bytes and no work is done.\n        size_t              &temp_storage_bytes,                ///< [in,out] Reference to size in bytes of \\p d_temp_storage allocation\n        InputIterator       d_in,                               ///< [in] Pointer to the input sequence of data items\n        OutputIterator      d_out,                              ///< [out] Pointer to the output sequence of data items\n        int                 num_items,                          ///< [in] Total number of input items (i.e., the length of \\p d_in)\n        cudaStream_t        stream             = 0,             ///< [in] <b>[optional]</b> CUDA stream to launch kernels within.  Default is stream<sub>0</sub>.\n        bool                debug_synchronous  = false)         ///< [in] <b>[optional]</b> Whether or not to synchronize the stream after every kernel launch to check for errors.  May cause significant slowdown.  Default is \\p false.\n    {\n        // Signed integer type for global offsets\n        typedef int Offset;\n\n        return DeviceScanDispatch<InputIterator, OutputIterator, Sum, NullType, Offset>::Dispatch(\n            d_temp_storage,\n            temp_storage_bytes,\n            d_in,\n            d_out,\n            Sum(),\n            NullType(),\n            num_items,\n            stream,\n            debug_synchronous);\n    }\n\n\n    /**\n     * \\brief Computes a device-wide inclusive prefix scan using the specified binary \\p scan_op functor.\n     *\n     * \\par\n     * - Supports non-commutative scan operators.\n     * - \\devicestorage\n     * - \\cdp\n     *\n     * \\par Performance\n     * Performance is typically similar to DeviceScan::ExclusiveSum.\n     *\n     * \\par Snippet\n     * The code snippet below illustrates the inclusive prefix min-scan of an \\p int device vector.\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>   // or equivalently <cub/device/device_scan.cuh>\n     *\n     * // CustomMin functor\n     * struct CustomMin\n     * {\n     *     template <typename T>\n     *     CUB_RUNTIME_FUNCTION __forceinline__\n     *     T operator()(const T &a, const T &b) const {\n     *         return (b < a) ? b : a;\n     *     }\n     * };\n     *\n     * // Declare, allocate, and initialize device pointers for input and output\n     * int          num_items;      // e.g., 7\n     * int          *d_in;          // e.g., [8, 6, 7, 5, 3, 0, 9]\n     * int          *d_out;         // e.g., [ ,  ,  ,  ,  ,  ,  ]\n     * CustomMin    min_op;\n     * ...\n     *\n     * // Determine temporary device storage requirements for inclusive prefix scan\n     * void *d_temp_storage = NULL;\n     * size_t temp_storage_bytes = 0;\n     * cub::DeviceScan::InclusiveScan(d_temp_storage, temp_storage_bytes, d_in, d_out, min_op, num_items);\n     *\n     * // Allocate temporary storage for inclusive prefix scan\n     * cudaMalloc(&d_temp_storage, temp_storage_bytes);\n     *\n     * // Run inclusive prefix min-scan\n     * cub::DeviceScan::InclusiveScan(d_temp_storage, temp_storage_bytes, d_in, d_out, min_op, num_items);\n     *\n     * // d_out <-- [8, 6, 6, 5, 3, 0, 0]\n     *\n     * \\endcode\n     *\n     * \\tparam InputIterator    <b>[inferred]</b> Random-access input iterator type for reading scan input data \\iterator\n     * \\tparam OutputIterator   <b>[inferred]</b> Random-access output iterator type for writing scan output data \\iterator\n     * \\tparam ScanOp           <b>[inferred]</b> Binary scan functor type having member <tt>T operator()(const T &a, const T &b)</tt>\n     */\n    template <\n        typename        InputIterator,\n        typename        OutputIterator,\n        typename        ScanOp>\n    CUB_RUNTIME_FUNCTION\n    static cudaError_t InclusiveScan(\n        void            *d_temp_storage,                    ///< [in] %Device allocation of temporary storage.  When NULL, the required allocation size is written to \\p temp_storage_bytes and no work is done.\n        size_t          &temp_storage_bytes,                ///< [in,out] Reference to size in bytes of \\p d_temp_storage allocation\n        InputIterator   d_in,                               ///< [in] Pointer to the input sequence of data items\n        OutputIterator  d_out,                              ///< [out] Pointer to the output sequence of data items\n        ScanOp          scan_op,                            ///< [in] Binary scan functor (e.g., an instance of cub::Sum, cub::Min, cub::Max, etc.)\n        int             num_items,                          ///< [in] Total number of input items (i.e., the length of \\p d_in)\n        cudaStream_t    stream             = 0,             ///< [in] <b>[optional]</b> CUDA stream to launch kernels within.  Default is stream<sub>0</sub>.\n        bool            debug_synchronous  = false)         ///< [in] <b>[optional]</b> Whether or not to synchronize the stream after every kernel launch to check for errors.  May cause significant slowdown.  Default is \\p false.\n    {\n        // Signed integer type for global offsets\n        typedef int Offset;\n\n        return DeviceScanDispatch<InputIterator, OutputIterator, ScanOp, NullType, Offset>::Dispatch(\n            d_temp_storage,\n            temp_storage_bytes,\n            d_in,\n            d_out,\n            scan_op,\n            NullType(),\n            num_items,\n            stream,\n            debug_synchronous);\n    }\n\n    //@}  end member group\n\n};\n\n/**\n * \\example example_device_scan.cu\n */\n\n}               // CUB namespace\nCUB_NS_POSTFIX  // Optional outer namespace(s)\n\n\n"
  },
  {
    "path": "external/cub-1.3.2/cub/device/device_select.cuh",
    "content": "\n/******************************************************************************\n * Copyright (c) 2011, Duane Merrill.  All rights reserved.\n * Copyright (c) 2011-2014, NVIDIA CORPORATION.  All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *     * Redistributions of source code must retain the above copyright\n *       notice, this list of conditions and the following disclaimer.\n *     * Redistributions in binary form must reproduce the above copyright\n *       notice, this list of conditions and the following disclaimer in the\n *       documentation and/or other materials provided with the distribution.\n *     * Neither the name of the NVIDIA CORPORATION nor the\n *       names of its contributors may be used to endorse or promote products\n *       derived from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n ******************************************************************************/\n\n/**\n * \\file\n * cub::DeviceSelect provides device-wide, parallel operations for selecting items from sequences of data items residing within global memory.\n */\n\n#pragma once\n\n#include <stdio.h>\n#include <iterator>\n\n#include \"dispatch/device_select_dispatch.cuh\"\n#include \"../util_namespace.cuh\"\n\n/// Optional outer namespace(s)\nCUB_NS_PREFIX\n\n/// CUB namespace\nnamespace cub {\n\n\n/**\n * \\brief DeviceSelect provides device-wide, parallel operations for compacting selected items from sequences of data items residing within global memory. ![](select_logo.png)\n * \\ingroup DeviceModule\n *\n * \\par Overview\n * These operations apply a selection criterion to selectively copy\n * items from a specified input sequence to a compact output sequence.\n *\n * \\par Usage Considerations\n * \\cdp_class{DeviceSelect}\n *\n * \\par Performance\n * \\linear_performance{select-flagged, select-if, and select-unique}\n *\n * \\par\n * The following chart illustrates DeviceSelect::If\n * performance across different CUDA architectures for \\p int32 items,\n * where 50% of the items are randomly selected.\n *\n * \\image html select_if_int32_50_percent.png\n *\n * \\par\n * The following chart illustrates DeviceSelect::Unique\n * performance across different CUDA architectures for \\p int32 items\n * where segments have lengths uniformly sampled from [1,1000].\n *\n * \\image html select_unique_int32_len_500.png\n *\n * \\par\n * \\plots_below\n *\n */\nstruct DeviceSelect\n{\n    /**\n     * \\brief Uses the \\p d_flags sequence to selectively copy the corresponding items from \\p d_in into \\p d_out.  The total number of items selected is written to \\p d_num_selected. ![](select_flags_logo.png)\n     *\n     * \\par\n     * - The value type of \\p d_flags must be castable to \\p bool (e.g., \\p bool, \\p char, \\p int, etc.).\n     * - Copies of the selected items are compacted into \\p d_out and maintain their original relative ordering.\n     * - \\devicestorage\n     * - \\cdp\n     *\n     * \\par Snippet\n     * The code snippet below illustrates the compaction of items selected from an \\p int device vector.\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>   // or equivalently <cub/device/device_select.cuh>\n     *\n     * // Declare, allocate, and initialize device pointers for input, flags, and output\n     * int  num_items;          // e.g., 8\n     * int  *d_in;              // e.g., [1, 2, 3, 4, 5, 6, 7, 8]\n     * char *d_flags;           // e.g., [1, 0, 0, 1, 0, 1, 1, 0]\n     * int  *d_out;             // e.g., [ ,  ,  ,  ,  ,  ,  ,  ]\n     * int  *d_num_selected;    // e.g., [ ]\n     * ...\n     *\n     * // Determine temporary device storage requirements\n     * void     *d_temp_storage = NULL;\n     * size_t   temp_storage_bytes = 0;\n     * cub::DeviceSelect::Flagged(d_temp_storage, temp_storage_bytes, d_in, d_flags, d_out, d_num_selected, num_items);\n     *\n     * // Allocate temporary storage\n     * cudaMalloc(&d_temp_storage, temp_storage_bytes);\n     *\n     * // Run selection\n     * cub::DeviceSelect::Flagged(d_temp_storage, temp_storage_bytes, d_in, d_flags, d_out, d_num_selected, num_items);\n     *\n     * // d_out             <-- [1, 4, 6, 7]\n     * // d_num_selected    <-- [4]\n     *\n     * \\endcode\n     *\n     * \\tparam InputIterator        <b>[inferred]</b> Random-access input iterator type for reading input items \\iterator\n     * \\tparam FlagIterator         <b>[inferred]</b> Random-access input iterator type for reading selection flags \\iterator\n     * \\tparam OutputIterator       <b>[inferred]</b> Random-access output iterator type for writing selected items \\iterator\n     * \\tparam NumSelectedIterator  <b>[inferred]</b> Output iterator type for recording the number of items selected \\iterator\n     */\n    template <\n        typename                    InputIterator,\n        typename                    FlagIterator,\n        typename                    OutputIterator,\n        typename                    NumSelectedIterator>\n    CUB_RUNTIME_FUNCTION __forceinline__\n    static cudaError_t Flagged(\n        void                        *d_temp_storage,                ///< [in] %Device allocation of temporary storage.  When NULL, the required allocation size is written to \\p temp_storage_bytes and no work is done.\n        size_t                      &temp_storage_bytes,            ///< [in,out] Reference to size in bytes of \\p d_temp_storage allocation\n        InputIterator               d_in,                           ///< [in] Pointer to the input sequence of data items\n        FlagIterator                d_flags,                        ///< [in] Pointer to the input sequence of selection flags\n        OutputIterator              d_out,                          ///< [out] Pointer to the output sequence of selected data items\n        NumSelectedIterator         d_num_selected,                 ///< [out] Pointer to the output total number of items selected (i.e., length of \\p d_out)\n        int                         num_items,                      ///< [in] Total number of input items (i.e., length of \\p d_in)\n        cudaStream_t                stream             = 0,         ///< [in] <b>[optional]</b> CUDA stream to launch kernels within.  Default is stream<sub>0</sub>.\n        bool                        debug_synchronous  = false)     ///< [in] <b>[optional]</b> Whether or not to synchronize the stream after every kernel launch to check for errors.  May cause significant slowdown.  Default is \\p false.\n    {\n        typedef int                     Offset;         // Signed integer type for global offsets\n        typedef NullType                SelectOp;       // Selection op (not used)\n        typedef NullType                EqualityOp;     // Equality operator (not used)\n\n        return DeviceSelectDispatch<InputIterator, FlagIterator, OutputIterator, NumSelectedIterator, SelectOp, EqualityOp, Offset, false>::Dispatch(\n            d_temp_storage,\n            temp_storage_bytes,\n            d_in,\n            d_flags,\n            d_out,\n            d_num_selected,\n            SelectOp(),\n            EqualityOp(),\n            num_items,\n            stream,\n            debug_synchronous);\n    }\n\n\n    /**\n     * \\brief Uses the \\p select_op functor to selectively copy items from \\p d_in into \\p d_out.  The total number of items selected is written to \\p d_num_selected. ![](select_logo.png)\n     *\n     * \\par\n     * - Copies of the selected items are compacted into \\p d_out and maintain their original relative ordering.\n     * - \\devicestorage\n     * - \\cdp\n     *\n     * \\par Performance\n     * The following charts illustrate saturated select-if performance across different\n     * CUDA architectures for \\p int32 and \\p int64 items, respectively.  Items are\n     * selected with 50% probability.\n     *\n     * \\image html select_if_int32_50_percent.png\n     * \\image html select_if_int64_50_percent.png\n     *\n     * \\par\n     * The following charts are similar, but 5% selection probability:\n     *\n     * \\image html select_if_int32_5_percent.png\n     * \\image html select_if_int64_5_percent.png\n     *\n     * \\par Snippet\n     * The code snippet below illustrates the compaction of items selected from an \\p int device vector.\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>   // or equivalently <cub/device/device_select.cuh>\n     *\n     * // Functor type for selecting values less than some criteria\n     * struct LessThan\n     * {\n     *     int compare;\n     *\n     *     CUB_RUNTIME_FUNCTION __forceinline__\n     *     LessThan(int compare) : compare(compare) {}\n     *\n     *     CUB_RUNTIME_FUNCTION __forceinline__\n     *     bool operator()(const int &a) const {\n     *         return (a < compare);\n     *     }\n     * };\n     *\n     * // Declare, allocate, and initialize device pointers for input and output\n     * int      num_items;          // e.g., 8\n     * int      *d_in;              // e.g., [0, 2, 3, 9, 5, 2, 81, 8]\n     * int      *d_out;             // e.g., [ ,  ,  ,  ,  ,  ,  ,  ]\n     * int      *d_num_selected;    // e.g., [ ]\n     * LessThan select_op(7);\n     * ...\n     *\n     * // Determine temporary device storage requirements\n     * void     *d_temp_storage = NULL;\n     * size_t   temp_storage_bytes = 0;\n     * cub::DeviceSelect::If(d_temp_storage, temp_storage_bytes, d_in, d_out, d_num_selected, num_items, select_op);\n     *\n     * // Allocate temporary storage\n     * cudaMalloc(&d_temp_storage, temp_storage_bytes);\n     *\n     * // Run selection\n     * cub::DeviceSelect::If(d_temp_storage, temp_storage_bytes, d_in, d_out, d_num_selected, num_items, select_op);\n     *\n     * // d_out             <-- [0, 2, 3, 5, 2]\n     * // d_num_selected    <-- [5]\n     *\n     * \\endcode\n     *\n     * \\tparam InputIterator        <b>[inferred]</b> Random-access input iterator type for reading input items \\iterator\n     * \\tparam OutputIterator       <b>[inferred]</b> Random-access output iterator type for writing selected items \\iterator\n     * \\tparam NumSelectedIterator  <b>[inferred]</b> Output iterator type for recording the number of items selected \\iterator\n     * \\tparam SelectOp             <b>[inferred]</b> Selection operator type having member <tt>bool operator()(const T &a)</tt>\n     */\n    template <\n        typename                    InputIterator,\n        typename                    OutputIterator,\n        typename                    NumSelectedIterator,\n        typename                    SelectOp>\n    CUB_RUNTIME_FUNCTION __forceinline__\n    static cudaError_t If(\n        void                        *d_temp_storage,                ///< [in] %Device allocation of temporary storage.  When NULL, the required allocation size is written to \\p temp_storage_bytes and no work is done.\n        size_t                      &temp_storage_bytes,            ///< [in,out] Reference to size in bytes of \\p d_temp_storage allocation\n        InputIterator               d_in,                           ///< [in] Pointer to the input sequence of data items\n        OutputIterator              d_out,                          ///< [out] Pointer to the output sequence of selected data items\n        NumSelectedIterator         d_num_selected,                 ///< [out] Pointer to the output total number of items selected (i.e., length of \\p d_out)\n        int                         num_items,                      ///< [in] Total number of input items (i.e., length of \\p d_in)\n        SelectOp                    select_op,                      ///< [in] Unary selection operator\n        cudaStream_t                stream             = 0,         ///< [in] <b>[optional]</b> CUDA stream to launch kernels within.  Default is stream<sub>0</sub>.\n        bool                        debug_synchronous  = false)     ///< [in] <b>[optional]</b> Whether or not to synchronize the stream after every kernel launch to check for errors.  May cause significant slowdown.  Default is \\p false.\n    {\n        typedef int                     Offset;         // Signed integer type for global offsets\n        typedef NullType*               FlagIterator;   // Flag iterator type (not used)\n        typedef NullType                EqualityOp;     // Equality operator (not used)\n\n        return DeviceSelectDispatch<InputIterator, FlagIterator, OutputIterator, NumSelectedIterator, SelectOp, EqualityOp, Offset, false>::Dispatch(\n            d_temp_storage,\n            temp_storage_bytes,\n            d_in,\n            NULL,\n            d_out,\n            d_num_selected,\n            select_op,\n            EqualityOp(),\n            num_items,\n            stream,\n            debug_synchronous);\n    }\n\n\n    /**\n     * \\brief Given an input sequence \\p d_in having runs of consecutive equal-valued keys, only the first key from each run is selectively copied to \\p d_out.  The total number of items selected is written to \\p d_num_selected. ![](unique_logo.png)\n     *\n     * \\par\n     * - The <tt>==</tt> equality operator is used to determine whether keys are equivalent\n     * - Copies of the selected items are compacted into \\p d_out and maintain their original relative ordering.\n     * - \\devicestorage\n     * - \\cdp\n     *\n     * \\par Performance\n     * The following charts illustrate saturated select-unique performance across different\n     * CUDA architectures for \\p int32 and \\p int64 items, respectively.  Segments have\n     * lengths uniformly sampled from [1,1000].\n     *\n     * \\image html select_unique_int32_len_500.png\n     * \\image html select_unique_int64_len_500.png\n     *\n     * \\par\n     * The following charts are similar, but with segment lengths uniformly sampled from [1,10]:\n     *\n     * \\image html select_unique_int32_len_5.png\n     * \\image html select_unique_int64_len_5.png\n     *\n     * \\par Snippet\n     * The code snippet below illustrates the compaction of items selected from an \\p int device vector.\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>   // or equivalently <cub/device/device_select.cuh>\n     *\n     * // Declare, allocate, and initialize device pointers for input and output\n     * int      num_items;          // e.g., 8\n     * int      *d_in;              // e.g., [0, 2, 2, 9, 5, 5, 5, 8]\n     * int      *d_out;             // e.g., [ ,  ,  ,  ,  ,  ,  ,  ]\n     * int      *d_num_selected;    // e.g., [ ]\n     * ...\n     *\n     * // Determine temporary device storage requirements\n     * void     *d_temp_storage = NULL;\n     * size_t   temp_storage_bytes = 0;\n     * cub::DeviceSelect::Unique(d_temp_storage, temp_storage_bytes, d_in, d_out, d_num_selected, num_items);\n     *\n     * // Allocate temporary storage\n     * cudaMalloc(&d_temp_storage, temp_storage_bytes);\n     *\n     * // Run selection\n     * cub::DeviceSelect::Unique(d_temp_storage, temp_storage_bytes, d_in, d_out, d_num_selected, num_items);\n     *\n     * // d_out             <-- [0, 2, 9, 5, 8]\n     * // d_num_selected    <-- [5]\n     *\n     * \\endcode\n     *\n     * \\tparam InputIterator        <b>[inferred]</b> Random-access input iterator type for reading input items \\iterator\n     * \\tparam OutputIterator       <b>[inferred]</b> Random-access output iterator type for writing selected items \\iterator\n     * \\tparam NumSelectedIterator  <b>[inferred]</b> Output iterator type for recording the number of items selected \\iterator\n     */\n    template <\n        typename                    InputIterator,\n        typename                    OutputIterator,\n        typename                    NumSelectedIterator>\n    CUB_RUNTIME_FUNCTION __forceinline__\n    static cudaError_t Unique(\n        void                        *d_temp_storage,                ///< [in] %Device allocation of temporary storage.  When NULL, the required allocation size is written to \\p temp_storage_bytes and no work is done.\n        size_t                      &temp_storage_bytes,            ///< [in,out] Reference to size in bytes of \\p d_temp_storage allocation\n        InputIterator               d_in,                           ///< [in] Pointer to the input sequence of data items\n        OutputIterator              d_out,                          ///< [out] Pointer to the output sequence of selected data items\n        NumSelectedIterator         d_num_selected,                 ///< [out] Pointer to the output total number of items selected (i.e., length of \\p d_out)\n        int                         num_items,                      ///< [in] Total number of input items (i.e., length of \\p d_in)\n        cudaStream_t                stream             = 0,         ///< [in] <b>[optional]</b> CUDA stream to launch kernels within.  Default is stream<sub>0</sub>.\n        bool                        debug_synchronous  = false)     ///< [in] <b>[optional]</b> Whether or not to synchronize the stream after every kernel launch to check for errors.  May cause significant slowdown.  Default is \\p false.\n    {\n        typedef int                     Offset;         // Signed integer type for global offsets\n        typedef NullType*               FlagIterator;   // Flag iterator type (not used)\n        typedef NullType                SelectOp;       // Selection op (not used)\n        typedef Equality                EqualityOp;     // Default == operator\n\n        return DeviceSelectDispatch<InputIterator, FlagIterator, OutputIterator, NumSelectedIterator, SelectOp, EqualityOp, Offset, false>::Dispatch(\n            d_temp_storage,\n            temp_storage_bytes,\n            d_in,\n            NULL,\n            d_out,\n            d_num_selected,\n            SelectOp(),\n            EqualityOp(),\n            num_items,\n            stream,\n            debug_synchronous);\n    }\n\n};\n\n/**\n * \\example example_device_select_flagged.cu\n * \\example example_device_select_if.cu\n * \\example example_device_select_unique.cu\n */\n\n}               // CUB namespace\nCUB_NS_POSTFIX  // Optional outer namespace(s)\n\n\n"
  },
  {
    "path": "external/cub-1.3.2/cub/device/dispatch/device_histogram_dispatch.cuh",
    "content": "\n/******************************************************************************\n * Copyright (c) 2011, Duane Merrill.  All rights reserved.\n * Copyright (c) 2011-2014, NVIDIA CORPORATION.  All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *     * Redistributions of source code must retain the above copyright\n *       notice, this list of conditions and the following disclaimer.\n *     * Redistributions in binary form must reproduce the above copyright\n *       notice, this list of conditions and the following disclaimer in the\n *       documentation and/or other materials provided with the distribution.\n *     * Neither the name of the NVIDIA CORPORATION nor the\n *       names of its contributors may be used to endorse or promote products\n *       derived from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n ******************************************************************************/\n\n/**\n * \\file\n * cub::DeviceHistogram provides device-wide parallel operations for constructing histogram(s) from a sequence of samples data residing within global memory.\n */\n\n#pragma once\n\n#include <stdio.h>\n#include <iterator>\n\n#include \"../../block_range/block_range_histo.cuh\"\n#include \"../../grid/grid_even_share.cuh\"\n#include \"../../grid/grid_queue.cuh\"\n#include \"../../util_debug.cuh\"\n#include \"../../util_device.cuh\"\n#include \"../../util_namespace.cuh\"\n\n/// Optional outer namespace(s)\nCUB_NS_PREFIX\n\n/// CUB namespace\nnamespace cub {\n\n/******************************************************************************\n * Kernel entry points\n *****************************************************************************/\n\n/**\n * Initialization kernel entry point (multi-block).  Prepares queue descriptors and zeroes global counters.\n */\ntemplate <\n    int                                             BINS,                   ///< Number of histogram bins per channel\n    int                                             ACTIVE_CHANNELS,        ///< Number of channels actively being histogrammed\n    typename                                        Offset,                 ///< Signed integer type for global offsets\n    typename                                        HistoCounter>           ///< Integer type for counting sample occurrences per histogram bin\n__launch_bounds__ (BINS, 1)\n__global__ void HistoInitKernel(\n    GridQueue<Offset>                               grid_queue,             ///< [in] Drain queue descriptor for dynamically mapping tile data onto thread blocks\n    ArrayWrapper<HistoCounter*, ACTIVE_CHANNELS>    d_out_histograms,       ///< [out] Histogram counter data having logical dimensions <tt>HistoCounter[ACTIVE_CHANNELS][BINS]</tt>\n    Offset                                          num_samples)            ///< [in] Total number of samples \\p d_samples for all channels\n{\n    d_out_histograms.array[blockIdx.x][threadIdx.x] = 0;\n    if (threadIdx.x == 0) grid_queue.FillAndResetDrain(num_samples);\n}\n\n\n/**\n * Histogram tiles kernel entry point (multi-block).  Computes privatized histograms, one per thread block.\n */\ntemplate <\n    typename                                        BlockRangeHistogramPolicy,  ///< Parameterized BlockRangeHistogramPolicy tuning policy type\n    int                                             BINS,                       ///< Number of histogram bins per channel\n    int                                             CHANNELS,                   ///< Number of channels interleaved in the input data (may be greater than the number of channels being actively histogrammed)\n    int                                             ACTIVE_CHANNELS,            ///< Number of channels actively being histogrammed\n    typename                                        InputIterator,              ///< The input iterator type \\iterator.  Must have a value type that is assignable to <tt>unsigned char</tt>\n    typename                                        HistoCounter,               ///< Integer type for counting sample occurrences per histogram bin\n    typename                                        Offset>                     ///< Signed integer type for global offsets\n__launch_bounds__ (int(BlockRangeHistogramPolicy::BLOCK_THREADS))\n__global__ void HistoRegionKernel(\n    InputIterator                                   d_samples,                  ///< [in] Array of sample data. The samples from different channels are assumed to be interleaved (e.g., an array of 32b pixels where each pixel consists of four RGBA 8b samples).\n    ArrayWrapper<HistoCounter*, ACTIVE_CHANNELS>    d_out_histograms,           ///< [out] Histogram counter data having logical dimensions <tt>HistoCounter[ACTIVE_CHANNELS][gridDim.x][BINS]</tt>\n    Offset                                          num_samples,                ///< [in] Total number of samples \\p d_samples for all channels\n    GridEvenShare<Offset>                           even_share,                 ///< [in] Even-share descriptor for mapping an equal number of tiles onto each thread block\n    GridQueue<Offset>                               queue)                      ///< [in] Drain queue descriptor for dynamically mapping tile data onto thread blocks\n{\n    // Constants\n    enum\n    {\n        BLOCK_THREADS       = BlockRangeHistogramPolicy::BLOCK_THREADS,\n        ITEMS_PER_THREAD    = BlockRangeHistogramPolicy::ITEMS_PER_THREAD,\n        TILE_SIZE           = BLOCK_THREADS * ITEMS_PER_THREAD,\n    };\n\n    // Thread block type for compositing input tiles\n    typedef BlockRangeHistogram<BlockRangeHistogramPolicy, BINS, CHANNELS, ACTIVE_CHANNELS, InputIterator, HistoCounter, Offset> BlockRangeHistogramT;\n\n    // Shared memory for BlockRangeHistogram\n    __shared__ typename BlockRangeHistogramT::TempStorage temp_storage;\n\n    // Consume input tiles\n    BlockRangeHistogramT(temp_storage, d_samples, d_out_histograms.array).ConsumeRange(\n        num_samples,\n        even_share,\n        queue,\n        Int2Type<BlockRangeHistogramPolicy::GRID_MAPPING>());\n}\n\n\n/**\n * Aggregation kernel entry point (single-block).  Aggregates privatized threadblock histograms from a previous multi-block histogram pass.\n */\ntemplate <\n    int                                             BINS,                   ///< Number of histogram bins per channel\n    int                                             ACTIVE_CHANNELS,        ///< Number of channels actively being histogrammed\n    typename                                        HistoCounter>           ///< Integer type for counting sample occurrences per histogram bin\n__launch_bounds__ (BINS, 1)\n__global__ void HistoAggregateKernel(\n    HistoCounter*                                   d_block_histograms,     ///< [in] Histogram counter data having logical dimensions <tt>HistoCounter[ACTIVE_CHANNELS][num_threadblocks][BINS]</tt>\n    ArrayWrapper<HistoCounter*, ACTIVE_CHANNELS>    d_out_histograms,       ///< [out] Histogram counter data having logical dimensions <tt>HistoCounter[ACTIVE_CHANNELS][BINS]</tt>\n    int                                             num_threadblocks)       ///< [in] Number of threadblock histograms per channel in \\p d_block_histograms\n{\n    // Accumulate threadblock-histograms from the channel\n    HistoCounter bin_aggregate = 0;\n\n    int block_offset = blockIdx.x * (num_threadblocks * BINS);\n    int block_end = block_offset + (num_threadblocks * BINS);\n\n#if CUB_PTX_ARCH >= 200\n    #pragma unroll 32\n#endif\n    while (block_offset < block_end)\n    {\n        HistoCounter block_bin_count = d_block_histograms[block_offset + threadIdx.x];\n\n        bin_aggregate += block_bin_count;\n        block_offset += BINS;\n    }\n\n    // Output\n    d_out_histograms.array[blockIdx.x][threadIdx.x] = bin_aggregate;\n}\n\n\n\n/******************************************************************************\n * Dispatch\n ******************************************************************************/\n\n/**\n * Utility class for dispatching the appropriately-tuned kernels for DeviceHistogram\n */\ntemplate <\n    DeviceHistogramAlgorithm        HISTO_ALGORITHM,            ///< Cooperative histogram algorithm to use\n    int                             BINS,                       ///< Number of histogram bins per channel\n    int                             CHANNELS,                   ///< Number of channels interleaved in the input data (may be greater than the number of channels being actively histogrammed)\n    int                             ACTIVE_CHANNELS,            ///< Number of channels actively being histogrammed\n    typename                        InputIterator,              ///< The input iterator type \\iterator.  Must have a value type that is assignable to <tt>unsigned char</tt>\n    typename                        HistoCounter,               ///< Integer type for counting sample occurrences per histogram bin\n    typename                        Offset>                     ///< Signed integer type for global offsets\nstruct DeviceHistogramDispatch\n{\n    /******************************************************************************\n     * Tuning policies\n     ******************************************************************************/\n\n    /// SM35\n    struct Policy350\n    {\n        // HistoRegionPolicy\n        typedef BlockRangeHistogramPolicy<\n                (HISTO_ALGORITHM == DEVICE_HISTO_SORT) ? 128 : 256,\n                (HISTO_ALGORITHM == DEVICE_HISTO_SORT) ? 12 : (30 / ACTIVE_CHANNELS),\n                HISTO_ALGORITHM,\n                (HISTO_ALGORITHM == DEVICE_HISTO_SORT) ? GRID_MAPPING_DYNAMIC : GRID_MAPPING_EVEN_SHARE>\n            HistoRegionPolicy;\n    };\n\n    /// SM30\n    struct Policy300\n    {\n        // HistoRegionPolicy\n        typedef BlockRangeHistogramPolicy<\n                128,\n                (HISTO_ALGORITHM == DEVICE_HISTO_SORT) ? 20 : (22 / ACTIVE_CHANNELS),\n                HISTO_ALGORITHM,\n                (HISTO_ALGORITHM == DEVICE_HISTO_SORT) ? GRID_MAPPING_DYNAMIC : GRID_MAPPING_EVEN_SHARE>\n            HistoRegionPolicy;\n    };\n\n    /// SM20\n    struct Policy200\n    {\n        // HistoRegionPolicy\n        typedef BlockRangeHistogramPolicy<\n                128,\n                (HISTO_ALGORITHM == DEVICE_HISTO_SORT) ? 21 : (23 / ACTIVE_CHANNELS),\n                HISTO_ALGORITHM,\n                GRID_MAPPING_DYNAMIC>\n            HistoRegionPolicy;\n    };\n\n    /// SM10\n    struct Policy100\n    {\n        // HistoRegionPolicy\n        typedef BlockRangeHistogramPolicy<\n                128,\n                7,\n                DEVICE_HISTO_SORT,        // (use sort regardless because g-atomics are unsupported and s-atomics are perf-useless)\n                GRID_MAPPING_EVEN_SHARE>\n            HistoRegionPolicy;\n    };\n\n\n    /******************************************************************************\n     * Tuning policies of current PTX compiler pass\n     ******************************************************************************/\n\n#if (CUB_PTX_ARCH >= 350)\n    typedef Policy350 PtxPolicy;\n\n#elif (CUB_PTX_ARCH >= 300)\n    typedef Policy300 PtxPolicy;\n\n#elif (CUB_PTX_ARCH >= 200)\n    typedef Policy200 PtxPolicy;\n\n#else\n    typedef Policy100 PtxPolicy;\n\n#endif\n\n    // \"Opaque\" policies (whose parameterizations aren't reflected in the type signature)\n    struct PtxHistoRegionPolicy : PtxPolicy::HistoRegionPolicy {};\n\n\n    /******************************************************************************\n     * Utilities\n     ******************************************************************************/\n\n    /**\n     * Initialize kernel dispatch configurations with the policies corresponding to the PTX assembly we will use\n     */\n    template <typename KernelConfig>\n    CUB_RUNTIME_FUNCTION __forceinline__\n    static void InitConfigs(\n        int             ptx_version,\n        KernelConfig    &histo_range_config)\n    {\n    #if (CUB_PTX_ARCH > 0)\n\n        // We're on the device, so initialize the kernel dispatch configurations with the current PTX policy\n        histo_range_config.template Init<PtxHistoRegionPolicy>();\n\n    #else\n\n        // We're on the host, so lookup and initialize the kernel dispatch configurations with the policies that match the device's PTX version\n        if (ptx_version >= 350)\n        {\n            histo_range_config.template Init<typename Policy350::HistoRegionPolicy>();\n        }\n        else if (ptx_version >= 300)\n        {\n            histo_range_config.template Init<typename Policy300::HistoRegionPolicy>();\n        }\n        else if (ptx_version >= 200)\n        {\n            histo_range_config.template Init<typename Policy200::HistoRegionPolicy>();\n        }\n        else\n        {\n            histo_range_config.template Init<typename Policy100::HistoRegionPolicy>();\n        }\n\n    #endif\n    }\n\n\n    /**\n     * Kernel kernel dispatch configuration\n     */\n    struct KernelConfig\n    {\n        int                             block_threads;\n        int                             items_per_thread;\n        DeviceHistogramAlgorithm        block_algorithm;\n        GridMappingStrategy             grid_mapping;\n\n        template <typename BlockPolicy>\n        CUB_RUNTIME_FUNCTION __forceinline__\n        void Init()\n        {\n            block_threads               = BlockPolicy::BLOCK_THREADS;\n            items_per_thread            = BlockPolicy::ITEMS_PER_THREAD;\n            block_algorithm             = BlockPolicy::HISTO_ALGORITHM;\n            grid_mapping                = BlockPolicy::GRID_MAPPING;\n        }\n\n        CUB_RUNTIME_FUNCTION __forceinline__\n        void Print()\n        {\n            printf(\"%d, %d, %d, %d\", block_threads, items_per_thread, block_algorithm, grid_mapping);\n        }\n\n    };\n\n\n    /******************************************************************************\n     * Dispatch entrypoints\n     ******************************************************************************/\n\n\n    /**\n     * Internal dispatch routine\n     */\n    template <\n        typename                    InitHistoKernelPtr,                 ///< Function type of cub::HistoInitKernel\n        typename                    HistoRegionKernelPtr,               ///< Function type of cub::HistoRegionKernel\n        typename                    AggregateHistoKernelPtr>            ///< Function type of cub::HistoAggregateKernel\n    CUB_RUNTIME_FUNCTION __forceinline__\n    static cudaError_t Dispatch(\n        void                        *d_temp_storage,                    ///< [in] %Device allocation of temporary storage.  When NULL, the required allocation size is written to \\p temp_storage_bytes and no work is done.\n        size_t                      &temp_storage_bytes,                ///< [in,out] Reference to size in bytes of \\p d_temp_storage allocation\n        InputIterator               d_samples,                          ///< [in] Input samples to histogram\n        HistoCounter                *d_histograms[ACTIVE_CHANNELS],     ///< [out] Array of channel histograms, each having BINS counters of integral type \\p HistoCounter.\n        Offset                      num_samples,                        ///< [in] Number of samples to process\n        cudaStream_t                stream,                             ///< [in] CUDA stream to launch kernels within.  Default is stream<sub>0</sub>.\n        bool                        debug_synchronous,                  ///< [in] Whether or not to synchronize the stream after every kernel launch to check for errors.  Default is \\p false.\n        InitHistoKernelPtr          init_kernel,                        ///< [in] Kernel function pointer to parameterization of cub::HistoInitKernel\n        HistoRegionKernelPtr        histo_range_kernel,                ///< [in] Kernel function pointer to parameterization of cub::HistoRegionKernel\n        AggregateHistoKernelPtr     aggregate_kernel,                   ///< [in] Kernel function pointer to parameterization of cub::HistoAggregateKernel\n        KernelConfig                histo_range_config)                ///< [in] Dispatch parameters that match the policy that \\p histo_range_kernel was compiled for\n    {\n    #ifndef CUB_RUNTIME_ENABLED\n\n        // Kernel launch not supported from this device\n        return CubDebug(cudaErrorNotSupported);\n\n    #else\n\n        cudaError error = cudaSuccess;\n        do\n        {\n            // Get device ordinal\n            int device_ordinal;\n            if (CubDebug(error = cudaGetDevice(&device_ordinal))) break;\n\n            // Get device SM version\n            int sm_version;\n            if (CubDebug(error = SmVersion(sm_version, device_ordinal))) break;\n\n            // Get SM count\n            int sm_count;\n            if (CubDebug(error = cudaDeviceGetAttribute (&sm_count, cudaDevAttrMultiProcessorCount, device_ordinal))) break;\n\n            // Get SM occupancy for histo_range_kernel\n            int histo_range_sm_occupancy;\n            if (CubDebug(error = MaxSmOccupancy(\n                histo_range_sm_occupancy,\n                sm_version,\n                histo_range_kernel,\n                histo_range_config.block_threads))) break;\n\n            // Get device occupancy for histo_range_kernel\n            int histo_range_occupancy = histo_range_sm_occupancy * sm_count;\n\n            // Get tile size for histo_range_kernel\n            int channel_tile_size = histo_range_config.block_threads * histo_range_config.items_per_thread;\n            int tile_size = channel_tile_size * CHANNELS;\n\n            // Even-share work distribution\n            int subscription_factor = histo_range_sm_occupancy;     // Amount of CTAs to oversubscribe the device beyond actively-resident (heuristic)\n            GridEvenShare<Offset> even_share(\n                num_samples,\n                histo_range_occupancy * subscription_factor,\n                tile_size);\n\n            // Get grid size for histo_range_kernel\n            int histo_range_grid_size;\n            switch (histo_range_config.grid_mapping)\n            {\n            case GRID_MAPPING_EVEN_SHARE:\n\n                // Work is distributed evenly\n                histo_range_grid_size = even_share.grid_size;\n                break;\n\n            case GRID_MAPPING_DYNAMIC:\n\n                // Work is distributed dynamically\n                int num_tiles               = (num_samples + tile_size - 1) / tile_size;\n                histo_range_grid_size   = (num_tiles < histo_range_occupancy) ?\n                    num_tiles :                     // Not enough to fill the device with threadblocks\n                    histo_range_occupancy;      // Fill the device with threadblocks\n                break;\n            };\n\n            // Temporary storage allocation requirements\n            void* allocations[2];\n            size_t allocation_sizes[2] =\n            {\n                ACTIVE_CHANNELS * histo_range_grid_size * sizeof(HistoCounter) * BINS,      // bytes needed for privatized histograms\n                GridQueue<int>::AllocationSize()                                                // bytes needed for grid queue descriptor\n            };\n\n            // Alias the temporary allocations from the single storage blob (or set the necessary size of the blob)\n            if (CubDebug(error = AliasTemporaries(d_temp_storage, temp_storage_bytes, allocations, allocation_sizes))) break;\n            if (d_temp_storage == NULL)\n            {\n                // Return if the caller is simply requesting the size of the storage allocation\n                return cudaSuccess;\n            }\n\n            // Alias the allocation for the privatized per-block reductions\n            HistoCounter *d_block_histograms = (HistoCounter*) allocations[0];\n\n            // Alias the allocation for the grid queue descriptor\n            GridQueue<Offset> queue(allocations[1]);\n\n            // Setup array wrapper for histogram channel output (because we can't pass static arrays as kernel parameters)\n            ArrayWrapper<HistoCounter*, ACTIVE_CHANNELS> d_histo_wrapper;\n            for (int CHANNEL = 0; CHANNEL < ACTIVE_CHANNELS; ++CHANNEL)\n                d_histo_wrapper.array[CHANNEL] = d_histograms[CHANNEL];\n\n            // Setup array wrapper for temporary histogram channel output (because we can't pass static arrays as kernel parameters)\n            ArrayWrapper<HistoCounter*, ACTIVE_CHANNELS> d_temp_histo_wrapper;\n            for (int CHANNEL = 0; CHANNEL < ACTIVE_CHANNELS; ++CHANNEL)\n                d_temp_histo_wrapper.array[CHANNEL] = d_block_histograms + (CHANNEL * histo_range_grid_size * BINS);\n\n            // Log init_kernel configuration\n            if (debug_synchronous) CubLog(\"Invoking init_kernel<<<%d, %d, 0, %lld>>>()\\n\", ACTIVE_CHANNELS, BINS, (long long) stream);\n\n            // Invoke init_kernel to initialize counters and queue descriptor\n            init_kernel<<<ACTIVE_CHANNELS, BINS, 0, stream>>>(queue, d_histo_wrapper, num_samples);\n\n            // Check for failure to launch\n            if (CubDebug(error = cudaPeekAtLastError())) break;\n\n            // Sync the stream if specified to flush runtime errors\n            if (debug_synchronous && (CubDebug(error = SyncStream(stream)))) break;\n\n            // Whether we need privatized histograms (i.e., non-global atomics and multi-block)\n            bool privatized_temporaries = (histo_range_grid_size > 1) && (histo_range_config.block_algorithm != DEVICE_HISTO_GLOBAL_ATOMIC);\n\n            // Log histo_range_kernel configuration\n            if (debug_synchronous) CubLog(\"Invoking histo_range_kernel<<<%d, %d, 0, %lld>>>(), %d items per thread, %d SM occupancy\\n\",\n                histo_range_grid_size, histo_range_config.block_threads, (long long) stream, histo_range_config.items_per_thread, histo_range_sm_occupancy);\n\n            // Invoke histo_range_kernel\n            histo_range_kernel<<<histo_range_grid_size, histo_range_config.block_threads, 0, stream>>>(\n                d_samples,\n                (privatized_temporaries) ?\n                    d_temp_histo_wrapper :\n                    d_histo_wrapper,\n                num_samples,\n                even_share,\n                queue);\n\n            // Check for failure to launch\n            if (CubDebug(error = cudaPeekAtLastError())) break;\n\n            // Sync the stream if specified to flush runtime errors\n            if (debug_synchronous && (CubDebug(error = SyncStream(stream)))) break;\n\n            // Aggregate privatized block histograms if necessary\n            if (privatized_temporaries)\n            {\n                // Log aggregate_kernel configuration\n                if (debug_synchronous) CubLog(\"Invoking aggregate_kernel<<<%d, %d, 0, %lld>>>()\\n\",\n                    ACTIVE_CHANNELS, BINS, (long long) stream);\n\n                // Invoke aggregate_kernel\n                aggregate_kernel<<<ACTIVE_CHANNELS, BINS, 0, stream>>>(\n                    d_block_histograms,\n                    d_histo_wrapper,\n                    histo_range_grid_size);\n\n                // Check for failure to launch\n                if (CubDebug(error = cudaPeekAtLastError())) break;\n\n                // Sync the stream if specified to flush runtime errors\n                if (debug_synchronous && (CubDebug(error = SyncStream(stream)))) break;\n            }\n        }\n        while (0);\n\n        return error;\n\n    #endif // CUB_RUNTIME_ENABLED\n    }\n\n\n    /**\n     * Internal dispatch routine\n     */\n    CUB_RUNTIME_FUNCTION __forceinline__\n    static cudaError_t Dispatch(\n        void                *d_temp_storage,                    ///< [in] %Device allocation of temporary storage.  When NULL, the required allocation size is written to \\p temp_storage_bytes and no work is done.\n        size_t              &temp_storage_bytes,                ///< [in,out] Reference to size in bytes of \\p d_temp_storage allocation\n        InputIterator       d_samples,                          ///< [in] Input samples to histogram\n        HistoCounter        *d_histograms[ACTIVE_CHANNELS],     ///< [out] Array of channel histograms, each having BINS counters of integral type \\p HistoCounter.\n        int                 num_samples,                        ///< [in] Number of samples to process\n        cudaStream_t        stream,                             ///< [in] <b>[optional]</b> CUDA stream to launch kernels within.  Default is stream<sub>0</sub>.\n        bool                debug_synchronous)                  ///< [in] <b>[optional]</b> Whether or not to synchronize the stream after every kernel launch to check for errors.  Also causes launch configurations to be printed to the console.  Default is \\p false.\n    {\n        cudaError error = cudaSuccess;\n        do\n        {\n            // Get PTX version\n            int ptx_version;\n    #if (CUB_PTX_ARCH == 0)\n            if (CubDebug(error = PtxVersion(ptx_version))) break;\n    #else\n            ptx_version = CUB_PTX_ARCH;\n    #endif\n\n            // Get kernel kernel dispatch configurations\n            KernelConfig histo_range_config;\n            InitConfigs(ptx_version, histo_range_config);\n\n            // Dispatch\n            if (CubDebug(error = Dispatch(\n                d_temp_storage,\n                temp_storage_bytes,\n                d_samples,\n                d_histograms,\n                num_samples,\n                stream,\n                debug_synchronous,\n                HistoInitKernel<BINS, ACTIVE_CHANNELS, Offset, HistoCounter>,\n                HistoRegionKernel<PtxHistoRegionPolicy, BINS, CHANNELS, ACTIVE_CHANNELS, InputIterator, HistoCounter, Offset>,\n                HistoAggregateKernel<BINS, ACTIVE_CHANNELS, HistoCounter>,\n                histo_range_config))) break;\n        }\n        while (0);\n\n        return error;\n    }\n};\n\n\n}               // CUB namespace\nCUB_NS_POSTFIX  // Optional outer namespace(s)\n\n\n"
  },
  {
    "path": "external/cub-1.3.2/cub/device/dispatch/device_radix_sort_dispatch.cuh",
    "content": "\n/******************************************************************************\n * Copyright (c) 2011, Duane Merrill.  All rights reserved.\n * Copyright (c) 2011-2014, NVIDIA CORPORATION.  All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *     * Redistributions of source code must retain the above copyright\n *       notice, this list of conditions and the following disclaimer.\n *     * Redistributions in binary form must reproduce the above copyright\n *       notice, this list of conditions and the following disclaimer in the\n *       documentation and/or other materials provided with the distribution.\n *     * Neither the name of the NVIDIA CORPORATION nor the\n *       names of its contributors may be used to endorse or promote products\n *       derived from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n ******************************************************************************/\n\n/**\n * \\file\n * cub::DeviceRadixSort provides device-wide, parallel operations for computing a radix sort across a sequence of data items residing within global memory.\n */\n\n#pragma once\n\n#include <stdio.h>\n#include <iterator>\n\n#include \"../../block_range/block_range_radix_sort_upsweep.cuh\"\n#include \"../../block_range/block_range_radix_sort_downsweep.cuh\"\n#include \"../../block_range/block_range_scan.cuh\"\n#include \"../../grid/grid_even_share.cuh\"\n#include \"../../util_debug.cuh\"\n#include \"../../util_device.cuh\"\n#include \"../../util_namespace.cuh\"\n\n/// Optional outer namespace(s)\nCUB_NS_PREFIX\n\n/// CUB namespace\nnamespace cub {\n\n/******************************************************************************\n * Kernel entry points\n *****************************************************************************/\n\n/**\n * Upsweep pass kernel entry point (multi-block).  Computes privatized digit histograms, one per block.\n */\ntemplate <\n    typename                BlockRangeRadixSortUpsweepPolicy,   ///< Parameterized BlockRangeRadixSortUpsweepPolicy tuning policy type\n    bool                    DESCENDING,                         ///< Whether or not the sorted-order is high-to-low\n    typename                Key,                                ///< Key type\n    typename                Offset>                             ///< Signed integer type for global offsets\n__launch_bounds__ (int(BlockRangeRadixSortUpsweepPolicy::BLOCK_THREADS), 1)\n__global__ void RadixSortUpsweepKernel(\n    Key                     *d_keys,                            ///< [in] Input keys buffer\n    Offset                  *d_spine,                           ///< [out] Privatized (per block) digit histograms (striped, i.e., 0s counts from each block, then 1s counts from each block, etc.)\n    Offset                  num_items,                          ///< [in] Total number of input data items\n    int                     current_bit,                        ///< [in] Bit position of current radix digit\n    int                     num_bits,                           ///< [in] Number of bits of current radix digit\n    bool                    first_pass,                         ///< [in] Whether this is the first digit pass\n    GridEvenShare<Offset>   even_share)                         ///< [in] Even-share descriptor for mapping an equal number of tiles onto each thread block\n{\n    // Parameterize BlockRangeRadixSortUpsweep type for the current configuration\n    typedef BlockRangeRadixSortUpsweep<BlockRangeRadixSortUpsweepPolicy, Key, Offset> BlockRangeRadixSortUpsweepT;          // Primary\n\n    // Shared memory storage\n    __shared__ typename BlockRangeRadixSortUpsweepT::TempStorage temp_storage;\n\n    // Initialize even-share descriptor for this thread block\n    even_share.BlockInit();\n\n    Offset bin_count;\n    BlockRangeRadixSortUpsweepT(temp_storage, d_keys, current_bit, num_bits).ProcessRegion(\n        even_share.block_offset,\n        even_share.block_end,\n        bin_count);\n\n    // Write out digit counts (striped)\n    if (threadIdx.x < BlockRangeRadixSortUpsweepT::RADIX_DIGITS)\n    {\n        int bin_idx = (DESCENDING) ?\n            BlockRangeRadixSortUpsweepT::RADIX_DIGITS - threadIdx.x - 1 :\n            threadIdx.x;\n\n        d_spine[(gridDim.x * bin_idx) + blockIdx.x] = bin_count;\n    }\n}\n\n\n/**\n * Spine scan kernel entry point (single-block).  Computes an exclusive prefix sum over the privatized digit histograms\n */\ntemplate <\n    typename    BlockRangeScanPolicy,       ///< Parameterizable tuning policy type for cub::BlockRangeScan abstraction\n    typename    Offset>                     ///< Signed integer type for global offsets\n__launch_bounds__ (int(BlockRangeScanPolicy::BLOCK_THREADS), 1)\n__global__ void RadixSortScanKernel(\n    Offset      *d_spine,                   ///< [in,out] Privatized (per block) digit histograms (striped, i.e., 0s counts from each block, then 1s counts from each block, etc.)\n    int         num_counts)                 ///< [in] Total number of bin-counts\n{\n    // Parameterize the BlockRangeScan type for the current configuration\n    typedef BlockRangeScan<BlockRangeScanPolicy, Offset*, Offset*, cub::Sum, Offset, Offset> BlockRangeScanT;\n\n    // Shared memory storage\n    __shared__ typename BlockRangeScanT::TempStorage temp_storage;\n\n    if (blockIdx.x > 0) return;\n\n    // Block scan instance\n    BlockRangeScanT block_scan(temp_storage, d_spine, d_spine, cub::Sum(), Offset(0)) ;\n\n    // Process full input tiles\n    int block_offset = 0;\n    BlockScanRunningPrefixOp<Offset, Sum> prefix_op(0, Sum());\n    while (block_offset + BlockRangeScanT::TILE_ITEMS <= num_counts)\n    {\n        block_scan.ConsumeTile<true, false>(block_offset, prefix_op);\n        block_offset += BlockRangeScanT::TILE_ITEMS;\n    }\n}\n\n\n/**\n * Downsweep pass kernel entry point (multi-block).  Scatters keys (and values) into corresponding bins for the current digit place.\n */\ntemplate <\n    typename                BlockRangeRadixSortDownsweepPolicy,     ///< Parameterizable tuning policy type for cub::BlockRangeRadixSortUpsweep abstraction\n    bool                    DESCENDING,                             ///< Whether or not the sorted-order is high-to-low\n    typename                Key,                                    ///< Key type\n    typename                Value,                                  ///< Value type\n    typename                Offset>                                 ///< Signed integer type for global offsets\n__launch_bounds__ (int(BlockRangeRadixSortDownsweepPolicy::BLOCK_THREADS), 1)\n__global__ void RadixSortDownsweepKernel(\n    Key                     *d_keys_in,                             ///< [in] Input keys ping buffer\n    Key                     *d_keys_out,                            ///< [in] Output keys pong buffer\n    Value                   *d_values_in,                           ///< [in] Input values ping buffer\n    Value                   *d_values_out,                          ///< [in] Output values pong buffer\n    Offset                  *d_spine,                               ///< [in] Scan of privatized (per block) digit histograms (striped, i.e., 0s counts from each block, then 1s counts from each block, etc.)\n    Offset                  num_items,                              ///< [in] Total number of input data items\n    int                     current_bit,                            ///< [in] Bit position of current radix digit\n    int                     num_bits,                               ///< [in] Number of bits of current radix digit\n    bool                    first_pass,                             ///< [in] Whether this is the first digit pass\n    bool                    last_pass,                              ///< [in] Whether this is the last digit pass\n    GridEvenShare<Offset>   even_share)                             ///< [in] Even-share descriptor for mapping an equal number of tiles onto each thread block\n{\n    // Parameterize BlockRangeRadixSortDownsweep type for the current configuration\n    typedef BlockRangeRadixSortDownsweep<BlockRangeRadixSortDownsweepPolicy, DESCENDING, Key, Value, Offset> BlockRangeRadixSortDownsweepT;\n\n    // Shared memory storage\n    __shared__  typename BlockRangeRadixSortDownsweepT::TempStorage temp_storage;\n\n    // Initialize even-share descriptor for this thread block\n    even_share.BlockInit();\n\n    // Process input tiles\n    BlockRangeRadixSortDownsweepT(temp_storage, num_items, d_spine, d_keys_in, d_keys_out, d_values_in, d_values_out, current_bit, num_bits).ProcessRegion(\n        even_share.block_offset,\n        even_share.block_end);\n}\n\n\n\n/******************************************************************************\n * Dispatch\n ******************************************************************************/\n\n/**\n * Utility class for dispatching the appropriately-tuned kernels for DeviceRadixSort\n */\ntemplate <\n    bool     DESCENDING,        ///< Whether or not the sorted-order is high-to-low\n    typename Key,            ///< Key type\n    typename Value,          ///< Value type\n    typename Offset>         ///< Signed integer type for global offsets\nstruct DeviceRadixSortDispatch\n{\n    /******************************************************************************\n     * Tuning policies\n     ******************************************************************************/\n\n    /// SM35\n    struct Policy350\n    {\n        enum {\n            KEYS_ONLY       = (Equals<Value, NullType>::VALUE),\n            SCALE_FACTOR    = (CUB_MAX(sizeof(Key), sizeof(Value)) + 3) / 4,\n            RADIX_BITS      = 5,\n        };\n\n        // Primary UpsweepPolicy\n        typedef BlockRangeRadixSortUpsweepPolicy <64,     CUB_MAX(1, 18 / SCALE_FACTOR), LOAD_LDG, RADIX_BITS> UpsweepPolicyKeys;\n        typedef BlockRangeRadixSortUpsweepPolicy <128,    CUB_MAX(1, 15 / SCALE_FACTOR), LOAD_LDG, RADIX_BITS> UpsweepPolicyPairs;\n        typedef typename If<KEYS_ONLY, UpsweepPolicyKeys, UpsweepPolicyPairs>::Type UpsweepPolicy;\n\n        // Alternate UpsweepPolicy for (RADIX_BITS-1)-bit passes\n        typedef BlockRangeRadixSortUpsweepPolicy <64,     CUB_MAX(1, 22 / SCALE_FACTOR), LOAD_LDG, RADIX_BITS - 1> AltUpsweepPolicyKeys;\n        typedef BlockRangeRadixSortUpsweepPolicy <128,    CUB_MAX(1, 15 / SCALE_FACTOR), LOAD_LDG, RADIX_BITS - 1> AltUpsweepPolicyPairs;\n        typedef typename If<KEYS_ONLY, AltUpsweepPolicyKeys, AltUpsweepPolicyPairs>::Type AltUpsweepPolicy;\n\n        // ScanPolicy\n        typedef BlockRangeScanPolicy <1024, 4, BLOCK_LOAD_VECTORIZE, false, LOAD_DEFAULT, BLOCK_STORE_VECTORIZE, false, BLOCK_SCAN_WARP_SCANS> ScanPolicy;\n\n        // Primary DownsweepPolicy\n        typedef BlockRangeRadixSortDownsweepPolicy <64,   CUB_MAX(1, 18 / SCALE_FACTOR), BLOCK_LOAD_DIRECT, LOAD_LDG, false, true, BLOCK_SCAN_WARP_SCANS, RADIX_SORT_SCATTER_TWO_PHASE, cudaSharedMemBankSizeEightByte, RADIX_BITS> DownsweepPolicyKeys;\n        typedef BlockRangeRadixSortDownsweepPolicy <128,  CUB_MAX(1, 15 / SCALE_FACTOR), BLOCK_LOAD_DIRECT, LOAD_LDG, false, true, BLOCK_SCAN_WARP_SCANS, RADIX_SORT_SCATTER_TWO_PHASE, cudaSharedMemBankSizeEightByte, RADIX_BITS> DownsweepPolicyPairs;\n        typedef typename If<KEYS_ONLY, DownsweepPolicyKeys, DownsweepPolicyPairs>::Type DownsweepPolicy;\n\n        // Alternate DownsweepPolicy for (RADIX_BITS-1)-bit passes\n        typedef BlockRangeRadixSortDownsweepPolicy <128,  CUB_MAX(1, 11 / SCALE_FACTOR), BLOCK_LOAD_DIRECT, LOAD_LDG, false, true, BLOCK_SCAN_WARP_SCANS, RADIX_SORT_SCATTER_TWO_PHASE, cudaSharedMemBankSizeEightByte, RADIX_BITS - 1> AltDownsweepPolicyKeys;\n        typedef BlockRangeRadixSortDownsweepPolicy <128,  CUB_MAX(1, 15 / SCALE_FACTOR), BLOCK_LOAD_DIRECT, LOAD_LDG, false, true, BLOCK_SCAN_WARP_SCANS, RADIX_SORT_SCATTER_TWO_PHASE, cudaSharedMemBankSizeEightByte, RADIX_BITS - 1> AltDownsweepPolicyPairs;\n        typedef typename If<KEYS_ONLY, AltDownsweepPolicyKeys, AltDownsweepPolicyPairs>::Type AltDownsweepPolicy;\n    };\n\n\n    /// SM30\n    struct Policy300\n    {\n        enum {\n            KEYS_ONLY       = (Equals<Value, NullType>::VALUE),\n            SCALE_FACTOR    = (CUB_MAX(sizeof(Key), sizeof(Value)) + 3) / 4,\n            RADIX_BITS      = 5,\n        };\n\n        // UpsweepPolicy\n        typedef BlockRangeRadixSortUpsweepPolicy <256, CUB_MAX(1, 7 / SCALE_FACTOR), LOAD_DEFAULT, RADIX_BITS> UpsweepPolicyKeys;\n        typedef BlockRangeRadixSortUpsweepPolicy <256, CUB_MAX(1, 5 / SCALE_FACTOR), LOAD_DEFAULT, RADIX_BITS> UpsweepPolicyPairs;\n        typedef typename If<KEYS_ONLY, UpsweepPolicyKeys, UpsweepPolicyPairs>::Type UpsweepPolicy;\n\n        // Alternate UpsweepPolicy for (RADIX_BITS-1)-bit passes\n        typedef BlockRangeRadixSortUpsweepPolicy <256, CUB_MAX(1, 7 / SCALE_FACTOR), LOAD_DEFAULT, RADIX_BITS - 1> AltUpsweepPolicyKeys;\n        typedef BlockRangeRadixSortUpsweepPolicy <256, CUB_MAX(1, 5 / SCALE_FACTOR), LOAD_DEFAULT, RADIX_BITS - 1> AltUpsweepPolicyPairs;\n        typedef typename If<KEYS_ONLY, AltUpsweepPolicyKeys, AltUpsweepPolicyPairs>::Type AltUpsweepPolicy;\n\n        // ScanPolicy\n        typedef BlockRangeScanPolicy <1024, 4, BLOCK_LOAD_VECTORIZE, false, LOAD_DEFAULT, BLOCK_STORE_VECTORIZE, false, BLOCK_SCAN_RAKING_MEMOIZE> ScanPolicy;\n\n        // DownsweepPolicy\n        typedef BlockRangeRadixSortDownsweepPolicy <128, CUB_MAX(1, 14 / SCALE_FACTOR), BLOCK_LOAD_WARP_TRANSPOSE, LOAD_DEFAULT, false, false, BLOCK_SCAN_WARP_SCANS, RADIX_SORT_SCATTER_TWO_PHASE, cudaSharedMemBankSizeEightByte, RADIX_BITS> DownsweepPolicyKeys;\n        typedef BlockRangeRadixSortDownsweepPolicy <128, CUB_MAX(1, 10 / SCALE_FACTOR), BLOCK_LOAD_TRANSPOSE, LOAD_DEFAULT, false, false, BLOCK_SCAN_WARP_SCANS, RADIX_SORT_SCATTER_TWO_PHASE, cudaSharedMemBankSizeEightByte, RADIX_BITS> DownsweepPolicyPairs;\n        typedef typename If<KEYS_ONLY, DownsweepPolicyKeys, DownsweepPolicyPairs>::Type DownsweepPolicy;\n\n        // Alternate DownsweepPolicy for (RADIX_BITS-1)-bit passes\n        typedef BlockRangeRadixSortDownsweepPolicy <128, CUB_MAX(1, 14 / SCALE_FACTOR), BLOCK_LOAD_WARP_TRANSPOSE, LOAD_DEFAULT, false, false, BLOCK_SCAN_WARP_SCANS, RADIX_SORT_SCATTER_TWO_PHASE, cudaSharedMemBankSizeEightByte, RADIX_BITS - 1> AltDownsweepPolicyKeys;\n        typedef BlockRangeRadixSortDownsweepPolicy <128, CUB_MAX(1, 10 / SCALE_FACTOR), BLOCK_LOAD_TRANSPOSE, LOAD_DEFAULT, false, false, BLOCK_SCAN_WARP_SCANS, RADIX_SORT_SCATTER_TWO_PHASE, cudaSharedMemBankSizeEightByte, RADIX_BITS - 1> AltDownsweepPolicyPairs;\n        typedef typename If<KEYS_ONLY, AltDownsweepPolicyKeys, AltDownsweepPolicyPairs>::Type AltDownsweepPolicy;\n    };\n\n\n    /// SM20\n    struct Policy200\n    {\n        enum {\n            KEYS_ONLY       = (Equals<Value, NullType>::VALUE),\n            SCALE_FACTOR    = (CUB_MAX(sizeof(Key), sizeof(Value)) + 3) / 4,\n            RADIX_BITS      = 5,\n        };\n\n        // UpsweepPolicy\n        typedef BlockRangeRadixSortUpsweepPolicy <64, CUB_MAX(1, 18 / SCALE_FACTOR), LOAD_DEFAULT, RADIX_BITS> UpsweepPolicyKeys;\n        typedef BlockRangeRadixSortUpsweepPolicy <128, CUB_MAX(1, 13 / SCALE_FACTOR), LOAD_DEFAULT, RADIX_BITS> UpsweepPolicyPairs;\n        typedef typename If<KEYS_ONLY, UpsweepPolicyKeys, UpsweepPolicyPairs>::Type UpsweepPolicy;\n\n        // Alternate UpsweepPolicy for (RADIX_BITS-1)-bit passes\n        typedef BlockRangeRadixSortUpsweepPolicy <64, CUB_MAX(1, 18 / SCALE_FACTOR), LOAD_DEFAULT, RADIX_BITS - 1> AltUpsweepPolicyKeys;\n        typedef BlockRangeRadixSortUpsweepPolicy <128, CUB_MAX(1, 13 / SCALE_FACTOR), LOAD_DEFAULT, RADIX_BITS - 1> AltUpsweepPolicyPairs;\n        typedef typename If<KEYS_ONLY, AltUpsweepPolicyKeys, AltUpsweepPolicyPairs>::Type AltUpsweepPolicy;\n\n        // ScanPolicy\n        typedef BlockRangeScanPolicy <512, 4, BLOCK_LOAD_VECTORIZE, false, LOAD_DEFAULT, BLOCK_STORE_VECTORIZE, false, BLOCK_SCAN_RAKING_MEMOIZE> ScanPolicy;\n\n        // DownsweepPolicy\n        typedef BlockRangeRadixSortDownsweepPolicy <64, CUB_MAX(1, 18 / SCALE_FACTOR), BLOCK_LOAD_WARP_TRANSPOSE, LOAD_DEFAULT, false, false, BLOCK_SCAN_WARP_SCANS, RADIX_SORT_SCATTER_TWO_PHASE, cudaSharedMemBankSizeFourByte, RADIX_BITS> DownsweepPolicyKeys;\n        typedef BlockRangeRadixSortDownsweepPolicy <128, CUB_MAX(1, 13 / SCALE_FACTOR), BLOCK_LOAD_WARP_TRANSPOSE, LOAD_DEFAULT, false, false, BLOCK_SCAN_WARP_SCANS, RADIX_SORT_SCATTER_TWO_PHASE, cudaSharedMemBankSizeFourByte, RADIX_BITS> DownsweepPolicyPairs;\n        typedef typename If<KEYS_ONLY, DownsweepPolicyKeys, DownsweepPolicyPairs>::Type DownsweepPolicy;\n\n        // Alternate DownsweepPolicy for (RADIX_BITS-1)-bit passes\n        typedef BlockRangeRadixSortDownsweepPolicy <64, CUB_MAX(1, 18 / SCALE_FACTOR), BLOCK_LOAD_WARP_TRANSPOSE, LOAD_DEFAULT, false, false, BLOCK_SCAN_WARP_SCANS, RADIX_SORT_SCATTER_TWO_PHASE, cudaSharedMemBankSizeFourByte, RADIX_BITS - 1> AltDownsweepPolicyKeys;\n        typedef BlockRangeRadixSortDownsweepPolicy <128, CUB_MAX(1, 13 / SCALE_FACTOR), BLOCK_LOAD_WARP_TRANSPOSE, LOAD_DEFAULT, false, false, BLOCK_SCAN_WARP_SCANS, RADIX_SORT_SCATTER_TWO_PHASE, cudaSharedMemBankSizeFourByte, RADIX_BITS - 1> AltDownsweepPolicyPairs;\n        typedef typename If<KEYS_ONLY, AltDownsweepPolicyKeys, AltDownsweepPolicyPairs>::Type AltDownsweepPolicy;\n    };\n\n\n    /// SM13\n    struct Policy130\n    {\n        enum {\n            KEYS_ONLY       = (Equals<Value, NullType>::VALUE),\n            SCALE_FACTOR    = (CUB_MAX(sizeof(Key), sizeof(Value)) + 3) / 4,\n            RADIX_BITS      = 5,\n        };\n\n        // UpsweepPolicy\n        typedef BlockRangeRadixSortUpsweepPolicy <128, CUB_MAX(1, 19 / SCALE_FACTOR), LOAD_DEFAULT, RADIX_BITS> UpsweepPolicyKeys;\n        typedef BlockRangeRadixSortUpsweepPolicy <128, CUB_MAX(1, 19 / SCALE_FACTOR), LOAD_DEFAULT, RADIX_BITS> UpsweepPolicyPairs;\n        typedef typename If<KEYS_ONLY, UpsweepPolicyKeys, UpsweepPolicyPairs>::Type UpsweepPolicy;\n\n        // Alternate UpsweepPolicy for (RADIX_BITS-1)-bit passes\n        typedef BlockRangeRadixSortUpsweepPolicy <128, CUB_MAX(1, 15 / SCALE_FACTOR), LOAD_DEFAULT, RADIX_BITS - 1> AltUpsweepPolicyKeys;\n        typedef BlockRangeRadixSortUpsweepPolicy <128, CUB_MAX(1, 15 / SCALE_FACTOR), LOAD_DEFAULT, RADIX_BITS - 1> AltUpsweepPolicyPairs;\n        typedef typename If<KEYS_ONLY, AltUpsweepPolicyKeys, AltUpsweepPolicyPairs>::Type AltUpsweepPolicy;\n\n        // ScanPolicy\n        typedef BlockRangeScanPolicy <256, 4, BLOCK_LOAD_VECTORIZE, false, LOAD_DEFAULT, BLOCK_STORE_VECTORIZE, false, BLOCK_SCAN_WARP_SCANS> ScanPolicy;\n\n        // DownsweepPolicy\n        typedef BlockRangeRadixSortDownsweepPolicy <64, CUB_MAX(1, 19 / SCALE_FACTOR), BLOCK_LOAD_WARP_TRANSPOSE, LOAD_DEFAULT, false, false, BLOCK_SCAN_WARP_SCANS, RADIX_SORT_SCATTER_TWO_PHASE, cudaSharedMemBankSizeFourByte, RADIX_BITS> DownsweepPolicyKeys;\n        typedef BlockRangeRadixSortDownsweepPolicy <64, CUB_MAX(1, 19 / SCALE_FACTOR), BLOCK_LOAD_WARP_TRANSPOSE, LOAD_DEFAULT, false, false, BLOCK_SCAN_WARP_SCANS, RADIX_SORT_SCATTER_TWO_PHASE, cudaSharedMemBankSizeFourByte, RADIX_BITS> DownsweepPolicyPairs;\n        typedef typename If<KEYS_ONLY, DownsweepPolicyKeys, DownsweepPolicyPairs>::Type DownsweepPolicy;\n\n        // Alternate DownsweepPolicy for (RADIX_BITS-1)-bit passes\n        typedef BlockRangeRadixSortDownsweepPolicy <128, CUB_MAX(1, 15 / SCALE_FACTOR), BLOCK_LOAD_WARP_TRANSPOSE, LOAD_DEFAULT, false, false, BLOCK_SCAN_WARP_SCANS, RADIX_SORT_SCATTER_TWO_PHASE, cudaSharedMemBankSizeFourByte, RADIX_BITS - 1> AltDownsweepPolicyKeys;\n        typedef BlockRangeRadixSortDownsweepPolicy <128, CUB_MAX(1, 15 / SCALE_FACTOR), BLOCK_LOAD_WARP_TRANSPOSE, LOAD_DEFAULT, false, false, BLOCK_SCAN_WARP_SCANS, RADIX_SORT_SCATTER_TWO_PHASE, cudaSharedMemBankSizeFourByte, RADIX_BITS - 1> AltDownsweepPolicyPairs;\n        typedef typename If<KEYS_ONLY, AltDownsweepPolicyKeys, AltDownsweepPolicyPairs>::Type AltDownsweepPolicy;\n    };\n\n\n    /// SM10\n    struct Policy100\n    {\n        enum {\n            RADIX_BITS = 4,\n        };\n\n        // UpsweepPolicy\n        typedef BlockRangeRadixSortUpsweepPolicy <64, 9, LOAD_DEFAULT, RADIX_BITS> UpsweepPolicy;\n\n        // Alternate UpsweepPolicy for (RADIX_BITS-1)-bit passes\n        typedef BlockRangeRadixSortUpsweepPolicy <64, 9, LOAD_DEFAULT, RADIX_BITS - 1> AltUpsweepPolicy;\n\n        // ScanPolicy\n        typedef BlockRangeScanPolicy <256, 4, BLOCK_LOAD_VECTORIZE, false, LOAD_DEFAULT, BLOCK_STORE_VECTORIZE, false, BLOCK_SCAN_RAKING_MEMOIZE> ScanPolicy;\n\n        // DownsweepPolicy\n        typedef BlockRangeRadixSortDownsweepPolicy <64, 9, BLOCK_LOAD_WARP_TRANSPOSE, LOAD_DEFAULT, false, false, BLOCK_SCAN_WARP_SCANS, RADIX_SORT_SCATTER_TWO_PHASE, cudaSharedMemBankSizeFourByte, RADIX_BITS> DownsweepPolicy;\n\n        // Alternate DownsweepPolicy for (RADIX_BITS-1)-bit passes\n        typedef BlockRangeRadixSortDownsweepPolicy <64, 9, BLOCK_LOAD_WARP_TRANSPOSE, LOAD_DEFAULT, false, false, BLOCK_SCAN_WARP_SCANS, RADIX_SORT_SCATTER_TWO_PHASE, cudaSharedMemBankSizeFourByte, RADIX_BITS - 1> AltDownsweepPolicy;\n    };\n\n\n    /******************************************************************************\n     * Tuning policies of current PTX compiler pass\n     ******************************************************************************/\n\n#if (CUB_PTX_ARCH >= 350)\n    typedef Policy350 PtxPolicy;\n\n#elif (CUB_PTX_ARCH >= 300)\n    typedef Policy300 PtxPolicy;\n\n#elif (CUB_PTX_ARCH >= 200)\n    typedef Policy200 PtxPolicy;\n\n#elif (CUB_PTX_ARCH >= 130)\n    typedef Policy130 PtxPolicy;\n\n#else\n    typedef Policy100 PtxPolicy;\n\n#endif\n\n    // \"Opaque\" policies (whose parameterizations aren't reflected in the type signature)\n    struct PtxUpsweepPolicy         : PtxPolicy::UpsweepPolicy {};\n    struct PtxAltUpsweepPolicy      : PtxPolicy::AltUpsweepPolicy {};\n    struct PtxScanPolicy            : PtxPolicy::ScanPolicy {};\n    struct PtxDownsweepPolicy       : PtxPolicy::DownsweepPolicy {};\n    struct PtxAltDownsweepPolicy    : PtxPolicy::AltDownsweepPolicy {};\n\n\n    /******************************************************************************\n     * Utilities\n     ******************************************************************************/\n\n    /**\n     * Initialize kernel dispatch configurations with the policies corresponding to the PTX assembly we will use\n     */\n    template <\n        typename Policy,\n        typename KernelConfig,\n        typename UpsweepKernelPtr,          ///< Function type of cub::RadixSortUpsweepKernel\n        typename ScanKernelPtr,            ///< Function type of cub::SpineScanKernel\n        typename DownsweepKernelPtr>        ///< Function type of cub::RadixSortUpsweepKernel\n    CUB_RUNTIME_FUNCTION __forceinline__\n    static cudaError_t InitConfigs(\n        int                     sm_version,\n        int                     sm_count,\n        KernelConfig            &upsweep_config,\n        KernelConfig            &alt_upsweep_config,\n        KernelConfig            &scan_config,\n        KernelConfig            &downsweep_config,\n        KernelConfig            &alt_downsweep_config,\n        UpsweepKernelPtr        upsweep_kernel,\n        UpsweepKernelPtr        alt_upsweep_kernel,\n        ScanKernelPtr           scan_kernel,\n        DownsweepKernelPtr      downsweep_kernel,\n        DownsweepKernelPtr      alt_downsweep_kernel)\n    {\n        cudaError_t error;\n        do {\n            if (CubDebug(error = upsweep_config.template         InitUpsweepPolicy<typename Policy::UpsweepPolicy>(         sm_version, sm_count, upsweep_kernel))) break;\n            if (CubDebug(error = alt_upsweep_config.template     InitUpsweepPolicy<typename Policy::AltUpsweepPolicy>(      sm_version, sm_count, alt_upsweep_kernel))) break;\n            if (CubDebug(error = scan_config.template            InitScanPolicy<typename Policy::ScanPolicy>(               sm_version, sm_count, scan_kernel))) break;\n            if (CubDebug(error = downsweep_config.template       InitDownsweepPolicy<typename Policy::DownsweepPolicy>(     sm_version, sm_count, downsweep_kernel))) break;\n            if (CubDebug(error = alt_downsweep_config.template   InitDownsweepPolicy<typename Policy::AltDownsweepPolicy>(  sm_version, sm_count, alt_downsweep_kernel))) break;\n\n        } while (0);\n\n        return error;\n    }\n\n\n    /**\n     * Initialize kernel dispatch configurations with the policies corresponding to the PTX assembly we will use\n     */\n    template <\n        typename KernelConfig,\n        typename UpsweepKernelPtr,          ///< Function type of cub::RadixSortUpsweepKernel\n        typename ScanKernelPtr,            ///< Function type of cub::SpineScanKernel\n        typename DownsweepKernelPtr>        ///< Function type of cub::RadixSortUpsweepKernel\n    CUB_RUNTIME_FUNCTION __forceinline__\n    static cudaError_t InitConfigs(\n        int                     ptx_version,\n        int                     sm_version,\n        int                     sm_count,\n        KernelConfig            &upsweep_config,\n        KernelConfig            &alt_upsweep_config,\n        KernelConfig            &scan_config,\n        KernelConfig            &downsweep_config,\n        KernelConfig            &alt_downsweep_config,\n        UpsweepKernelPtr        upsweep_kernel,\n        UpsweepKernelPtr        alt_upsweep_kernel,\n        ScanKernelPtr          scan_kernel,\n        DownsweepKernelPtr      downsweep_kernel,\n        DownsweepKernelPtr      alt_downsweep_kernel)\n    {\n    #if (CUB_PTX_ARCH > 0)\n\n        // We're on the device, so initialize the kernel dispatch configurations with the current PTX policy\n        cudaError_t error;\n        do {\n\n            if (CubDebug(error = upsweep_config.template InitUpsweepPolicy<PtxUpsweepPolicy>(               sm_version, sm_count, upsweep_kernel))) break;\n            if (CubDebug(error = alt_upsweep_config.template InitUpsweepPolicy<PtxAltUpsweepPolicy>(        sm_version, sm_count, alt_upsweep_kernel))) break;\n            if (CubDebug(error = scan_config.template InitScanPolicy<PtxScanPolicy>(                        sm_version, sm_count, scan_kernel))) break;\n            if (CubDebug(error = downsweep_config.template InitDownsweepPolicy<PtxDownsweepPolicy>(         sm_version, sm_count, downsweep_kernel))) break;\n            if (CubDebug(error = alt_downsweep_config.template InitDownsweepPolicy<PtxAltDownsweepPolicy>(  sm_version, sm_count, alt_downsweep_kernel))) break;\n\n        } while (0);\n\n        return error;\n\n    #else\n\n        // We're on the host, so lookup and initialize the kernel dispatch configurations with the policies that match the device's PTX version\n        cudaError_t error;\n        if (ptx_version >= 350)\n        {\n            error = InitConfigs<Policy350>(sm_version, sm_count, upsweep_config, alt_upsweep_config, scan_config, downsweep_config, alt_downsweep_config, upsweep_kernel, alt_upsweep_kernel, scan_kernel, downsweep_kernel, alt_downsweep_kernel);\n        }\n        else if (ptx_version >= 300)\n        {\n            error = InitConfigs<Policy300>(sm_version, sm_count, upsweep_config, alt_upsweep_config, scan_config, downsweep_config, alt_downsweep_config, upsweep_kernel, alt_upsweep_kernel, scan_kernel, downsweep_kernel, alt_downsweep_kernel);\n        }\n        else if (ptx_version >= 200)\n        {\n            error = InitConfigs<Policy200>(sm_version, sm_count, upsweep_config, alt_upsweep_config, scan_config, downsweep_config, alt_downsweep_config, upsweep_kernel, alt_upsweep_kernel, scan_kernel, downsweep_kernel, alt_downsweep_kernel);\n        }\n        else if (ptx_version >= 130)\n        {\n            error = InitConfigs<Policy130>(sm_version, sm_count, upsweep_config, alt_upsweep_config, scan_config, downsweep_config, alt_downsweep_config, upsweep_kernel, alt_upsweep_kernel, scan_kernel, downsweep_kernel, alt_downsweep_kernel);\n        }\n        else\n        {\n            error = InitConfigs<Policy100>(sm_version, sm_count, upsweep_config, alt_upsweep_config, scan_config, downsweep_config, alt_downsweep_config, upsweep_kernel, alt_upsweep_kernel, scan_kernel, downsweep_kernel, alt_downsweep_kernel);\n        }\n\n        return error;\n\n    #endif\n    }\n\n\n\n    /**\n     * Kernel kernel dispatch configurations\n     */\n    struct KernelConfig\n    {\n        int                     block_threads;\n        int                     items_per_thread;\n        int                     tile_size;\n        cudaSharedMemConfig     smem_config;\n        int                     radix_bits;\n        int                     sm_occupancy;       // Amount of CTAs to oversubscribe the device beyond actively-resident (heuristic)\n        int                     max_grid_size;\n        int                     subscription_factor;\n\n        template <typename UpsweepPolicy, typename UpsweepKernelPtr>\n        CUB_RUNTIME_FUNCTION __forceinline__ cudaError_t InitUpsweepPolicy(\n            int sm_version, int sm_count, UpsweepKernelPtr upsweep_kernel)\n        {\n            block_threads               = UpsweepPolicy::BLOCK_THREADS;\n            items_per_thread            = UpsweepPolicy::ITEMS_PER_THREAD;\n            radix_bits                  = UpsweepPolicy::RADIX_BITS;\n            smem_config                 = cudaSharedMemBankSizeFourByte;\n            tile_size                   = block_threads * items_per_thread;\n            cudaError_t retval          = MaxSmOccupancy(sm_occupancy, sm_version, upsweep_kernel, block_threads);\n            subscription_factor         = CUB_SUBSCRIPTION_FACTOR(sm_version);\n            max_grid_size               = (sm_occupancy * sm_count) * subscription_factor;\n\n            return retval;\n        }\n\n        template <typename ScanPolicy, typename ScanKernelPtr>\n        CUB_RUNTIME_FUNCTION __forceinline__ cudaError_t InitScanPolicy(\n            int sm_version, int sm_count, ScanKernelPtr scan_kernel)\n        {\n            block_threads               = ScanPolicy::BLOCK_THREADS;\n            items_per_thread            = ScanPolicy::ITEMS_PER_THREAD;\n            radix_bits                  = 0;\n            smem_config                 = cudaSharedMemBankSizeFourByte;\n            tile_size                   = block_threads * items_per_thread;\n            sm_occupancy                = 1;\n            subscription_factor         = 1;\n            max_grid_size               = 1;\n\n            return cudaSuccess;\n        }\n\n        template <typename DownsweepPolicy, typename DownsweepKernelPtr>\n        CUB_RUNTIME_FUNCTION __forceinline__ cudaError_t InitDownsweepPolicy(\n            int sm_version, int sm_count, DownsweepKernelPtr downsweep_kernel)\n        {\n            block_threads               = DownsweepPolicy::BLOCK_THREADS;\n            items_per_thread            = DownsweepPolicy::ITEMS_PER_THREAD;\n            radix_bits                  = DownsweepPolicy::RADIX_BITS;\n            smem_config                 = DownsweepPolicy::SMEM_CONFIG;\n            tile_size                   = block_threads * items_per_thread;\n            cudaError_t retval          = MaxSmOccupancy(sm_occupancy, sm_version, downsweep_kernel, block_threads);\n            subscription_factor         = CUB_SUBSCRIPTION_FACTOR(sm_version);\n            max_grid_size               = (sm_occupancy * sm_count) * subscription_factor;\n\n            return retval;\n        }\n    };\n\n\n    /******************************************************************************\n     * Allocation of device temporaries\n     ******************************************************************************/\n\n    CUB_RUNTIME_FUNCTION __forceinline__\n    static cudaError_t AllocateTemporaries(\n        void                    *d_temp_storage,                ///< [in] %Device allocation of temporary storage.  When NULL, the required allocation size is written to \\p temp_storage_bytes and no work is done.\n        size_t                  &temp_storage_bytes,            ///< [in,out] Reference to size in bytes of \\p d_temp_storage allocation\n        Offset*                 &d_spine,                       ///< [out] Digit count histograms per thread block\n        KernelConfig            &scan_config,                   ///< [in] Dispatch parameters that match the policy that \\p scan_kernel was compiled for\n        KernelConfig            &downsweep_config)              ///< [in] Dispatch parameters that match the policy that \\p downsweep_kernel was compiled for\n    {\n        cudaError error = cudaSuccess;\n        do\n        {\n            // Get spine size (conservative)\n            int spine_size = (downsweep_config.max_grid_size * (1 << downsweep_config.radix_bits)) + scan_config.tile_size;\n\n            // Temporary storage allocation requirements\n            void* allocations[1];\n            size_t allocation_sizes[1] =\n            {\n                spine_size * sizeof(Offset),    // bytes needed for privatized block digit histograms\n            };\n\n            // Alias the temporary allocations from the single storage blob (or set the necessary size of the blob)\n            if (CubDebug(error = AliasTemporaries(d_temp_storage, temp_storage_bytes, allocations, allocation_sizes))) break;\n\n            // Return if the caller is simply requesting the size of the storage allocation\n            if (d_temp_storage == NULL)\n                return cudaSuccess;\n\n            // Alias the allocation for the privatized per-block digit histograms\n            d_spine = (Offset*) allocations[0];\n\n        } while(0);\n\n        return error;\n    }\n\n\n    /******************************************************************************\n     * Dispatch entrypoints\n     ******************************************************************************/\n\n    /**\n     * Internal dispatch routine for computing a device-wide radix sort using the\n     * specified kernel functions.\n     */\n    template <\n        typename                UpsweepKernelPtr,               ///< Function type of cub::RadixSortUpsweepKernel\n        typename                ScanKernelPtr,                  ///< Function type of cub::SpineScanKernel\n        typename                DownsweepKernelPtr>             ///< Function type of cub::RadixSortUpsweepKernel\n    CUB_RUNTIME_FUNCTION __forceinline__\n    static cudaError_t Dispatch(\n        DoubleBuffer<Key>       &d_keys,                        ///< [in,out] Double-buffer whose current buffer contains the unsorted input keys and, upon return, is updated to point to the sorted output keys\n        DoubleBuffer<Value>     &d_values,                      ///< [in,out] Double-buffer whose current buffer contains the unsorted input values and, upon return, is updated to point to the sorted output values\n        Offset                  *d_spine,                       ///< [in] Digit count histograms per thread block\n        int                     spine_size,                     ///< [in] Number of histogram counters\n        Offset                  num_items,                      ///< [in] Number of items to reduce\n        int                     begin_bit,                      ///< [in] The beginning (least-significant) bit index needed for key comparison\n        int                     end_bit,                        ///< [in] The past-the-end (most-significant) bit index needed for key comparison\n        cudaStream_t            stream,                         ///< [in] CUDA stream to launch kernels within.  Default is stream<sub>0</sub>.\n        bool                    debug_synchronous,              ///< [in] Whether or not to synchronize the stream after every kernel launch to check for errors.  Also causes launch configurations to be printed to the console.  Default is \\p false.\n        KernelConfig            &upsweep_config,                ///< [in] Dispatch parameters that match the policy that \\p upsweep_kernel was compiled for\n        KernelConfig            &scan_config,                   ///< [in] Dispatch parameters that match the policy that \\p scan_kernel was compiled for\n        KernelConfig            &downsweep_config,              ///< [in] Dispatch parameters that match the policy that \\p downsweep_kernel was compiled for\n        UpsweepKernelPtr        upsweep_kernel,                 ///< [in] Kernel function pointer to parameterization of cub::RadixSortUpsweepKernel\n        ScanKernelPtr           scan_kernel,                    ///< [in] Kernel function pointer to parameterization of cub::SpineScanKernel\n        DownsweepKernelPtr      downsweep_kernel)               ///< [in] Kernel function pointer to parameterization of cub::RadixSortUpsweepKernel\n    {\n#ifndef CUB_RUNTIME_ENABLED\n\n        // Kernel launch not supported from this device\n        return CubDebug(cudaErrorNotSupported );\n\n#else\n\n        cudaError error = cudaSuccess;\n        do\n        {\n            // Get even-share work distribution descriptor\n            GridEvenShare<Offset> even_share(num_items, downsweep_config.max_grid_size, CUB_MAX(downsweep_config.tile_size, upsweep_config.tile_size));\n\n#if (CUB_PTX_ARCH == 0)\n            // Get current smem bank configuration\n            cudaSharedMemConfig original_smem_config;\n            if (CubDebug(error = cudaDeviceGetSharedMemConfig(&original_smem_config))) break;\n            cudaSharedMemConfig current_smem_config = original_smem_config;\n#endif\n            // Iterate over digit places\n            int current_bit = begin_bit;\n            while (current_bit < end_bit)\n            {\n                int num_bits = CUB_MIN(end_bit - current_bit, downsweep_config.radix_bits);\n\n#if (CUB_PTX_ARCH == 0)\n                // Update smem config if necessary\n                if (current_smem_config != upsweep_config.smem_config)\n                {\n                    if (CubDebug(error = cudaDeviceSetSharedMemConfig(upsweep_config.smem_config))) break;\n                    current_smem_config = upsweep_config.smem_config;\n                }\n#endif\n\n                // Log upsweep_kernel configuration\n                if (debug_synchronous)\n                    CubLog(\"Invoking upsweep_kernel<<<%d, %d, 0, %lld>>>(), %d smem config, %d items per thread, %d SM occupancy, selector %d, current bit %d, bit_grain %d\\n\",\n                    even_share.grid_size, upsweep_config.block_threads, (long long) stream, upsweep_config.smem_config, upsweep_config.items_per_thread, upsweep_config.sm_occupancy, d_keys.selector, current_bit, downsweep_config.radix_bits);\n\n                // Invoke upsweep_kernel with same grid size as downsweep_kernel\n                upsweep_kernel<<<even_share.grid_size, upsweep_config.block_threads, 0, stream>>>(\n                    d_keys.d_buffers[d_keys.selector],\n                    d_spine,\n                    num_items,\n                    current_bit,\n                    num_bits,\n                    (current_bit == begin_bit),\n                    even_share);\n\n                // Check for failure to launch\n                if (CubDebug(error = cudaPeekAtLastError())) break;\n\n                // Sync the stream if specified to flush runtime errors\n                if (debug_synchronous && (CubDebug(error = SyncStream(stream)))) break;\n\n                // Log scan_kernel configuration\n                if (debug_synchronous) CubLog(\"Invoking scan_kernel<<<%d, %d, 0, %lld>>>(), %d items per thread\\n\",\n                    1, scan_config.block_threads, (long long) stream, scan_config.items_per_thread);\n\n                // Invoke scan_kernel\n                scan_kernel<<<1, scan_config.block_threads, 0, stream>>>(\n                    d_spine,\n                    spine_size);\n\n                // Check for failure to launch\n                if (CubDebug(error = cudaPeekAtLastError())) break;\n\n                // Sync the stream if specified to flush runtime errors\n                if (debug_synchronous && (CubDebug(error = SyncStream(stream)))) break;\n\n\n#if (CUB_PTX_ARCH == 0)\n                // Update smem config if necessary\n                if (current_smem_config != downsweep_config.smem_config)\n                {\n                    if (CubDebug(error = cudaDeviceSetSharedMemConfig(downsweep_config.smem_config))) break;\n                    current_smem_config = downsweep_config.smem_config;\n                }\n#endif\n                // Log downsweep_kernel configuration\n                if (debug_synchronous) CubLog(\"Invoking downsweep_kernel<<<%d, %d, 0, %lld>>>(), %d smem config, %d items per thread, %d SM occupancy\\n\",\n                    even_share.grid_size, downsweep_config.block_threads, (long long) stream, downsweep_config.smem_config, downsweep_config.items_per_thread, downsweep_config.sm_occupancy);\n\n                // Invoke downsweep_kernel\n                downsweep_kernel<<<even_share.grid_size, downsweep_config.block_threads, 0, stream>>>(\n                    d_keys.d_buffers[d_keys.selector],\n                    d_keys.d_buffers[d_keys.selector ^ 1],\n                    d_values.d_buffers[d_values.selector],\n                    d_values.d_buffers[d_values.selector ^ 1],\n                    d_spine,\n                    num_items,\n                    current_bit,\n                    num_bits,\n                    (current_bit == begin_bit),\n                    (current_bit + downsweep_config.radix_bits >= end_bit),\n                    even_share);\n\n                // Check for failure to launch\n                if (CubDebug(error = cudaPeekAtLastError())) break;\n\n                // Sync the stream if specified to flush runtime errors\n                if (debug_synchronous && (CubDebug(error = SyncStream(stream)))) break;\n\n                // Invert selectors\n                d_keys.selector ^= 1;\n                d_values.selector ^= 1;\n\n                // Update current bit position\n                current_bit += downsweep_config.radix_bits;\n            }\n\n#if (CUB_PTX_ARCH == 0)\n            // Reset smem config if necessary\n            if (current_smem_config != original_smem_config)\n            {\n                if (CubDebug(error = cudaDeviceSetSharedMemConfig(original_smem_config))) break;\n            }\n#endif\n\n        }\n        while (0);\n\n        return error;\n\n#endif // CUB_RUNTIME_ENABLED\n    }\n\n\n    /**\n     * Internal dispatch routine\n     */\n    template <\n        typename UpsweepKernelPtr,          ///< Function type of cub::RadixSortUpsweepKernel\n        typename ScanKernelPtr,             ///< Function type of cub::SpineScanKernel\n        typename DownsweepKernelPtr>        ///< Function type of cub::RadixSortUpsweepKernel\n    CUB_RUNTIME_FUNCTION __forceinline__\n    static cudaError_t Dispatch(\n        void                    *d_temp_storage,                ///< [in] %Device allocation of temporary storage.  When NULL, the required allocation size is written to \\p temp_storage_bytes and no work is done.\n        size_t                  &temp_storage_bytes,            ///< [in,out] Reference to size in bytes of \\p d_temp_storage allocation\n        DoubleBuffer<Key>       &d_keys,                        ///< [in,out] Double-buffer whose current buffer contains the unsorted input keys and, upon return, is updated to point to the sorted output keys\n        DoubleBuffer<Value>     &d_values,                      ///< [in,out] Double-buffer whose current buffer contains the unsorted input values and, upon return, is updated to point to the sorted output values\n        Offset                  num_items,                      ///< [in] Number of items to reduce\n        int                     begin_bit,                      ///< [in] The beginning (least-significant) bit index needed for key comparison\n        int                     end_bit,                        ///< [in] The past-the-end (most-significant) bit index needed for key comparison\n        cudaStream_t            stream,                         ///< [in] CUDA stream to launch kernels within.  Default is stream<sub>0</sub>.\n        bool                    debug_synchronous,              ///< [in] Whether or not to synchronize the stream after every kernel launch to check for errors.  Also causes launch configurations to be printed to the console.  Default is \\p false.\n        UpsweepKernelPtr        upsweep_kernel,                 ///< [in] Kernel function pointer to parameterization of cub::RadixSortUpsweepKernel\n        UpsweepKernelPtr        alt_upsweep_kernel,             ///< [in] Alternate kernel function pointer to parameterization of cub::RadixSortUpsweepKernel\n        ScanKernelPtr           scan_kernel,                    ///< [in] Kernel function pointer to parameterization of cub::SpineScanKernel\n        DownsweepKernelPtr      downsweep_kernel,               ///< [in] Kernel function pointer to parameterization of cub::RadixSortUpsweepKernel\n        DownsweepKernelPtr      alt_downsweep_kernel)           ///< [in] Alternate kernel function pointer to parameterization of cub::RadixSortUpsweepKernel\n    {\n#ifndef CUB_RUNTIME_ENABLED\n\n        // Kernel launch not supported from this device\n        return CubDebug(cudaErrorNotSupported );\n\n#else\n\n        cudaError error = cudaSuccess;\n\n        do\n        {\n            // Get PTX version\n            int ptx_version;\n    #if (CUB_PTX_ARCH == 0)\n            if (CubDebug(error = PtxVersion(ptx_version))) break;\n    #else\n            ptx_version = CUB_PTX_ARCH;\n    #endif\n\n            // Get device ordinal\n            int device_ordinal;\n            if (CubDebug(error = cudaGetDevice(&device_ordinal))) break;\n\n            // Get device SM version\n            int sm_version;\n            if (CubDebug(error = SmVersion(sm_version, device_ordinal))) break;\n\n            // Get SM count\n            int sm_count;\n            if (CubDebug(error = cudaDeviceGetAttribute (&sm_count, cudaDevAttrMultiProcessorCount, device_ordinal))) break;\n\n            // Get kernel kernel dispatch configurations\n            KernelConfig upsweep_config;\n            KernelConfig alt_upsweep_config;\n            KernelConfig scan_config;\n            KernelConfig downsweep_config;\n            KernelConfig alt_downsweep_config;\n\n            if (CubDebug(error = InitConfigs(ptx_version, sm_version, sm_count,\n                upsweep_config, alt_upsweep_config, scan_config, downsweep_config, alt_downsweep_config,\n                upsweep_kernel, alt_upsweep_kernel, scan_kernel, downsweep_kernel, alt_downsweep_kernel))) break;\n\n            // Get spine sizes (conservative)\n            int spine_size      = (downsweep_config.max_grid_size * (1 << downsweep_config.radix_bits)) + scan_config.tile_size;\n            int alt_spine_size  = (alt_downsweep_config.max_grid_size * (1 << alt_downsweep_config.radix_bits)) + scan_config.tile_size;\n\n            // Allocate temporaries\n            Offset *d_spine;\n            if (spine_size > alt_spine_size)\n            {\n                if (CubDebug(error = AllocateTemporaries(d_temp_storage, temp_storage_bytes, d_spine, scan_config, downsweep_config))) break;\n            }\n            else\n            {\n                if (CubDebug(error = AllocateTemporaries(d_temp_storage, temp_storage_bytes, d_spine, scan_config, alt_downsweep_config))) break;\n            }\n\n            // Return if the caller is simply requesting the size of the storage allocation\n            if (d_temp_storage == NULL)\n                return cudaSuccess;\n\n            // Run radix sorting passes\n            int num_bits = end_bit - begin_bit;\n            int remaining_bits = num_bits % downsweep_config.radix_bits;\n\n            if (remaining_bits != 0)\n            {\n                // Run passes of alternate configuration\n                int max_alt_passes  = downsweep_config.radix_bits - remaining_bits;\n                int alt_end_bit     = CUB_MIN(end_bit, begin_bit + (max_alt_passes * alt_downsweep_config.radix_bits));\n\n                if (CubDebug(error = Dispatch(\n                    d_keys,\n                    d_values,\n                    d_spine,\n                    alt_spine_size,\n                    num_items,\n                    begin_bit,\n                    alt_end_bit,\n                    stream,\n                    debug_synchronous,\n                    alt_upsweep_config,\n                    scan_config,\n                    alt_downsweep_config,\n                    alt_upsweep_kernel,\n                    scan_kernel,\n                    alt_downsweep_kernel))) break;\n\n                begin_bit = alt_end_bit;\n            }\n\n            // Run passes of primary configuration\n            if (CubDebug(error = Dispatch(\n                d_keys,\n                d_values,\n                d_spine,\n                spine_size,\n                num_items,\n                begin_bit,\n                end_bit,\n                stream,\n                debug_synchronous,\n                upsweep_config,\n                scan_config,\n                downsweep_config,\n                upsweep_kernel,\n                scan_kernel,\n                downsweep_kernel))) break;\n        }\n        while (0);\n\n        return error;\n\n#endif // CUB_RUNTIME_ENABLED\n    }\n\n\n    /**\n     * Internal dispatch routine\n     */\n\n    CUB_RUNTIME_FUNCTION __forceinline__\n    static cudaError_t Dispatch(\n        void                    *d_temp_storage,                ///< [in] %Device allocation of temporary storage.  When NULL, the required allocation size is written to \\p temp_storage_bytes and no work is done.\n        size_t                  &temp_storage_bytes,            ///< [in,out] Reference to size in bytes of \\p d_temp_storage allocation\n        DoubleBuffer<Key>       &d_keys,                        ///< [in,out] Double-buffer whose current buffer contains the unsorted input keys and, upon return, is updated to point to the sorted output keys\n        DoubleBuffer<Value>     &d_values,                      ///< [in,out] Double-buffer whose current buffer contains the unsorted input values and, upon return, is updated to point to the sorted output values\n        Offset                  num_items,                      ///< [in] Number of items to reduce\n        int                     begin_bit,                      ///< [in] The beginning (least-significant) bit index needed for key comparison\n        int                     end_bit,                        ///< [in] The past-the-end (most-significant) bit index needed for key comparison\n        cudaStream_t            stream,                         ///< [in] CUDA stream to launch kernels within.  Default is stream<sub>0</sub>.\n        bool                    debug_synchronous)              ///< [in] Whether or not to synchronize the stream after every kernel launch to check for errors.  Also causes launch configurations to be printed to the console.  Default is \\p false.\n    {\n        return Dispatch(\n            d_temp_storage,\n            temp_storage_bytes,\n            d_keys,\n            d_values,\n            num_items,\n            begin_bit,\n            end_bit,\n            stream,\n            debug_synchronous,\n            RadixSortUpsweepKernel<PtxUpsweepPolicy, DESCENDING, Key, Offset>,\n            RadixSortUpsweepKernel<PtxAltUpsweepPolicy, DESCENDING, Key, Offset>,\n            RadixSortScanKernel<PtxScanPolicy, Offset>,\n            RadixSortDownsweepKernel<PtxDownsweepPolicy, DESCENDING, Key, Value, Offset>,\n            RadixSortDownsweepKernel<PtxAltDownsweepPolicy, DESCENDING, Key, Value, Offset>);\n    }\n\n};\n\n}               // CUB namespace\nCUB_NS_POSTFIX  // Optional outer namespace(s)\n\n\n"
  },
  {
    "path": "external/cub-1.3.2/cub/device/dispatch/device_reduce_by_key_dispatch.cuh",
    "content": "\n/******************************************************************************\n * Copyright (c) 2011, Duane Merrill.  All rights reserved.\n * Copyright (c) 2011-2014, NVIDIA CORPORATION.  All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *     * Redistributions of source code must retain the above copyright\n *       notice, this list of conditions and the following disclaimer.\n *     * Redistributions in binary form must reproduce the above copyright\n *       notice, this list of conditions and the following disclaimer in the\n *       documentation and/or other materials provided with the distribution.\n *     * Neither the name of the NVIDIA CORPORATION nor the\n *       names of its contributors may be used to endorse or promote products\n *       derived from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n ******************************************************************************/\n\n/**\n * \\file\n * cub::DeviceReduceByKey provides device-wide, parallel operations for reducing segments of values residing within global memory.\n */\n\n#pragma once\n\n#include <stdio.h>\n#include <iterator>\n\n#include \"device_scan_dispatch.cuh\"\n#include \"../../block_range/block_range_reduce_by_key.cuh\"\n#include \"../../thread/thread_operators.cuh\"\n#include \"../../grid/grid_queue.cuh\"\n#include \"../../util_device.cuh\"\n#include \"../../util_namespace.cuh\"\n\n/// Optional outer namespace(s)\nCUB_NS_PREFIX\n\n/// CUB namespace\nnamespace cub {\n\n/******************************************************************************\n * Kernel entry points\n *****************************************************************************/\n\n/**\n * Reduce-by-key kernel entry point (multi-block)\n */\ntemplate <\n    typename            BlockRangeReduceByKeyPolicy,    ///< Parameterized BlockRangeReduceByKeyPolicy tuning policy type\n    typename            KeyInputIterator,               ///< Random-access input iterator type for keys\n    typename            KeyOutputIterator,              ///< Random-access output iterator type for keys\n    typename            ValueInputIterator,             ///< Random-access input iterator type for values\n    typename            ValueOutputIterator,            ///< Random-access output iterator type for values\n    typename            NumSegmentsIterator,            ///< Output iterator type for recording number of segments encountered\n    typename            ScanTileState,                  ///< Tile status interface type\n    typename            EqualityOp,                     ///< Key equality operator type\n    typename            ReductionOp,                    ///< Value reduction operator type\n    typename            Offset>                         ///< Signed integer type for global offsets\n__launch_bounds__ (int(BlockRangeReduceByKeyPolicy::BLOCK_THREADS))\n__global__ void ReduceByKeyRegionKernel(\n    KeyInputIterator    d_keys_in,                      ///< [in] Pointer to consecutive runs of input keys\n    KeyOutputIterator   d_keys_out,                     ///< [in] Pointer to output keys (one key per run)\n    ValueInputIterator  d_values_in,                    ///< [in] Pointer to consecutive runs of input values\n    ValueOutputIterator d_values_out,                   ///< [in] Pointer to output value aggregates (one aggregate per run)\n    NumSegmentsIterator d_num_segments,                 ///< [in] Pointer to total number of runs\n    ScanTileState  tile_status,                         ///< [in] Tile status interface\n    EqualityOp          equality_op,                    ///< [in] Key equality operator\n    ReductionOp         reduction_op,                   ///< [in] Value reduction operator\n    Offset              num_items,                      ///< [in] Total number of items to select from\n    int                 num_tiles,                      ///< [in] Total number of tiles for the entire problem\n    GridQueue<int>      queue)                          ///< [in] Drain queue descriptor for dynamically mapping tile data onto thread blocks\n{\n    // Thread block type for reducing tiles of value segments\n    typedef BlockRangeReduceByKey<\n        BlockRangeReduceByKeyPolicy,\n        KeyInputIterator,\n        KeyOutputIterator,\n        ValueInputIterator,\n        ValueOutputIterator,\n        EqualityOp,\n        ReductionOp,\n        Offset> BlockRangeReduceByKeyT;\n\n    // Shared memory for BlockRangeReduceByKey\n    __shared__ typename BlockRangeReduceByKeyT::TempStorage temp_storage;\n\n    // Process tiles\n    BlockRangeReduceByKeyT(temp_storage, d_keys_in, d_keys_out, d_values_in, d_values_out, equality_op, reduction_op, num_items).ConsumeRange(\n        num_tiles,\n        queue,\n        tile_status,\n        d_num_segments);\n}\n\n\n\n\n/******************************************************************************\n * Dispatch\n ******************************************************************************/\n\n/**\n * Utility class for dispatching the appropriately-tuned kernels for DeviceReduceByKey\n */\ntemplate <\n    typename    KeyInputIterator,               ///< Random-access input iterator type for keys\n    typename    KeyOutputIterator,              ///< Random-access output iterator type for keys\n    typename    ValueInputIterator,             ///< Random-access input iterator type for values\n    typename    ValueOutputIterator,            ///< Random-access output iterator type for values\n    typename    NumSegmentsIterator,            ///< Output iterator type for recording number of segments encountered\n    typename    EqualityOp,                     ///< Key equality operator type\n    typename    ReductionOp,                    ///< Value reduction operator type\n    typename    Offset>                         ///< Signed integer type for global offsets\nstruct DeviceReduceByKeyDispatch\n{\n    /******************************************************************************\n     * Types and constants\n     ******************************************************************************/\n\n    // Data type of key input iterator\n    typedef typename std::iterator_traits<KeyInputIterator>::value_type Key;\n\n    // Data type of value input iterator\n    typedef typename std::iterator_traits<ValueInputIterator>::value_type Value;\n\n    enum\n    {\n        INIT_KERNEL_THREADS     = 128,\n        MAX_INPUT_BYTES         = CUB_MAX(sizeof(Key), sizeof(Value)),\n        COMBINED_INPUT_BYTES    = sizeof(Key) + sizeof(Value),\n    };\n\n    // Value-offset tuple type for scanning (maps accumulated values to segment index)\n    typedef ItemOffsetPair<Value, Offset> ValueOffsetPair;\n\n    // Tile status descriptor interface type\n    typedef ReduceByKeyScanTileState<Value, Offset> ScanTileState;\n\n\n    /******************************************************************************\n     * Tuning policies\n     ******************************************************************************/\n\n    /// SM35\n    struct Policy350\n    {\n        enum {\n            NOMINAL_4B_ITEMS_PER_THREAD = 8,\n            ITEMS_PER_THREAD            = (MAX_INPUT_BYTES <= 8) ? 8 : CUB_MIN(NOMINAL_4B_ITEMS_PER_THREAD, CUB_MAX(1, ((NOMINAL_4B_ITEMS_PER_THREAD * 8) + COMBINED_INPUT_BYTES - 1) / COMBINED_INPUT_BYTES)),\n        };\n\n        typedef BlockRangeReduceByKeyPolicy<\n                128,\n                ITEMS_PER_THREAD,\n                BLOCK_LOAD_DIRECT,\n                LOAD_LDG,\n                true,\n                BLOCK_SCAN_WARP_SCANS>\n            ReduceByKeyPolicy;\n    };\n\n    /// SM30\n    struct Policy300\n    {\n        enum {\n            NOMINAL_4B_ITEMS_PER_THREAD = 6,\n            ITEMS_PER_THREAD            = CUB_MIN(NOMINAL_4B_ITEMS_PER_THREAD, CUB_MAX(1, ((NOMINAL_4B_ITEMS_PER_THREAD * 8) + COMBINED_INPUT_BYTES - 1) / COMBINED_INPUT_BYTES)),\n        };\n\n        typedef BlockRangeReduceByKeyPolicy<\n                128,\n                ITEMS_PER_THREAD,\n                BLOCK_LOAD_WARP_TRANSPOSE,\n                LOAD_DEFAULT,\n                true,\n                BLOCK_SCAN_WARP_SCANS>\n            ReduceByKeyPolicy;\n    };\n\n    /// SM20\n    struct Policy200\n    {\n        enum {\n            NOMINAL_4B_ITEMS_PER_THREAD = 13,\n            ITEMS_PER_THREAD            = CUB_MIN(NOMINAL_4B_ITEMS_PER_THREAD, CUB_MAX(1, ((NOMINAL_4B_ITEMS_PER_THREAD * 8) + COMBINED_INPUT_BYTES - 1) / COMBINED_INPUT_BYTES)),\n        };\n\n        typedef BlockRangeReduceByKeyPolicy<\n                128,\n                ITEMS_PER_THREAD,\n                BLOCK_LOAD_WARP_TRANSPOSE,\n                LOAD_DEFAULT,\n                true,\n                BLOCK_SCAN_WARP_SCANS>\n            ReduceByKeyPolicy;\n    };\n\n    /// SM13\n    struct Policy130\n    {\n        enum {\n            NOMINAL_4B_ITEMS_PER_THREAD = 7,\n            ITEMS_PER_THREAD            = CUB_MIN(NOMINAL_4B_ITEMS_PER_THREAD, CUB_MAX(1, ((NOMINAL_4B_ITEMS_PER_THREAD * 8) + COMBINED_INPUT_BYTES - 1) / COMBINED_INPUT_BYTES)),\n        };\n\n        typedef BlockRangeReduceByKeyPolicy<\n                128,\n                ITEMS_PER_THREAD,\n                BLOCK_LOAD_WARP_TRANSPOSE,\n                LOAD_DEFAULT,\n                true,\n                BLOCK_SCAN_WARP_SCANS>\n            ReduceByKeyPolicy;\n    };\n\n    /// SM10\n    struct Policy100\n    {\n        enum {\n            NOMINAL_4B_ITEMS_PER_THREAD = 5,\n            ITEMS_PER_THREAD            = CUB_MIN(NOMINAL_4B_ITEMS_PER_THREAD, CUB_MAX(1, (NOMINAL_4B_ITEMS_PER_THREAD * 8) / COMBINED_INPUT_BYTES)),\n        };\n\n        typedef BlockRangeReduceByKeyPolicy<\n                64,\n                ITEMS_PER_THREAD,\n                BLOCK_LOAD_WARP_TRANSPOSE,\n                LOAD_DEFAULT,\n                true,\n                BLOCK_SCAN_RAKING>\n            ReduceByKeyPolicy;\n    };\n\n\n    /******************************************************************************\n     * Tuning policies of current PTX compiler pass\n     ******************************************************************************/\n\n#if (CUB_PTX_ARCH >= 350)\n    typedef Policy350 PtxPolicy;\n\n#elif (CUB_PTX_ARCH >= 300)\n    typedef Policy300 PtxPolicy;\n\n#elif (CUB_PTX_ARCH >= 200)\n    typedef Policy200 PtxPolicy;\n\n#elif (CUB_PTX_ARCH >= 130)\n    typedef Policy130 PtxPolicy;\n\n#else\n    typedef Policy100 PtxPolicy;\n\n#endif\n\n    // \"Opaque\" policies (whose parameterizations aren't reflected in the type signature)\n    struct PtxReduceByKeyPolicy : PtxPolicy::ReduceByKeyPolicy {};\n\n\n    /******************************************************************************\n     * Utilities\n     ******************************************************************************/\n\n    /**\n     * Initialize kernel dispatch configurations with the policies corresponding to the PTX assembly we will use\n     */\n    template <typename KernelConfig>\n    CUB_RUNTIME_FUNCTION __forceinline__\n    static void InitConfigs(\n        int             ptx_version,\n        KernelConfig    &reduce_by_key_range_config)\n    {\n    #if (CUB_PTX_ARCH > 0)\n\n        // We're on the device, so initialize the kernel dispatch configurations with the current PTX policy\n        reduce_by_key_range_config.template Init<PtxReduceByKeyPolicy>();\n\n    #else\n\n        // We're on the host, so lookup and initialize the kernel dispatch configurations with the policies that match the device's PTX version\n        if (ptx_version >= 350)\n        {\n            reduce_by_key_range_config.template Init<typename Policy350::ReduceByKeyPolicy>();\n        }\n        else if (ptx_version >= 300)\n        {\n            reduce_by_key_range_config.template Init<typename Policy300::ReduceByKeyPolicy>();\n        }\n        else if (ptx_version >= 200)\n        {\n            reduce_by_key_range_config.template Init<typename Policy200::ReduceByKeyPolicy>();\n        }\n        else if (ptx_version >= 130)\n        {\n            reduce_by_key_range_config.template Init<typename Policy130::ReduceByKeyPolicy>();\n        }\n        else\n        {\n            reduce_by_key_range_config.template Init<typename Policy100::ReduceByKeyPolicy>();\n        }\n\n    #endif\n    }\n\n\n    /**\n     * Kernel kernel dispatch configuration.  Mirrors the constants within BlockRangeReduceByKeyPolicy.\n     */\n    struct KernelConfig\n    {\n        int                     block_threads;\n        int                     items_per_thread;\n        BlockLoadAlgorithm      load_policy;\n        bool                    two_phase_scatter;\n        BlockScanAlgorithm      scan_algorithm;\n        cudaSharedMemConfig     smem_config;\n\n        template <typename BlockRangeReduceByKeyPolicy>\n        CUB_RUNTIME_FUNCTION __forceinline__\n        void Init()\n        {\n            block_threads               = BlockRangeReduceByKeyPolicy::BLOCK_THREADS;\n            items_per_thread            = BlockRangeReduceByKeyPolicy::ITEMS_PER_THREAD;\n            load_policy                 = BlockRangeReduceByKeyPolicy::LOAD_ALGORITHM;\n            two_phase_scatter           = BlockRangeReduceByKeyPolicy::TWO_PHASE_SCATTER;\n            scan_algorithm              = BlockRangeReduceByKeyPolicy::SCAN_ALGORITHM;\n            smem_config                 = cudaSharedMemBankSizeEightByte;\n        }\n\n        CUB_RUNTIME_FUNCTION __forceinline__\n        void Print()\n        {\n            printf(\"%d, %d, %d, %d, %d\",\n                block_threads,\n                items_per_thread,\n                load_policy,\n                two_phase_scatter,\n                scan_algorithm);\n        }\n    };\n\n\n    /******************************************************************************\n     * Dispatch entrypoints\n     ******************************************************************************/\n\n    /**\n     * Internal dispatch routine for computing a device-wide prefix scan using the\n     * specified kernel functions.\n     */\n    template <\n        typename                    ScanInitKernelPtr,              ///< Function type of cub::ScanInitKernel\n        typename                    ReduceByKeyRegionKernelPtr>     ///< Function type of cub::ReduceByKeyRegionKernelPtr\n    CUB_RUNTIME_FUNCTION __forceinline__\n    static cudaError_t Dispatch(\n        void                        *d_temp_storage,                ///< [in] %Device allocation of temporary storage.  When NULL, the required allocation size is written to \\p temp_storage_bytes and no work is done.\n        size_t                      &temp_storage_bytes,            ///< [in,out] Reference to size in bytes of \\p d_temp_storage allocation\n        KeyInputIterator            d_keys_in,                      ///< [in] Pointer to consecutive runs of input keys\n        KeyOutputIterator           d_keys_out,                     ///< [in] Pointer to output keys (one key per run)\n        ValueInputIterator          d_values_in,                    ///< [in] Pointer to consecutive runs of input values\n        ValueOutputIterator         d_values_out,                   ///< [in] Pointer to output value aggregates (one aggregate per run)\n        NumSegmentsIterator         d_num_segments,                 ///< [in] Pointer to total number of runs\n        EqualityOp                  equality_op,                    ///< [in] Key equality operator\n        ReductionOp                 reduction_op,                   ///< [in] Value reduction operator\n        Offset                      num_items,                      ///< [in] Total number of items to select from\n        cudaStream_t                stream,                         ///< [in] CUDA stream to launch kernels within.  Default is stream<sub>0</sub>.\n        bool                        debug_synchronous,              ///< [in] Whether or not to synchronize the stream after every kernel launch to check for errors.  Also causes launch configurations to be printed to the console.  Default is \\p false.\n        int                         ptx_version,                    ///< [in] PTX version of dispatch kernels\n        ScanInitKernelPtr           init_kernel,                    ///< [in] Kernel function pointer to parameterization of cub::ScanInitKernel\n        ReduceByKeyRegionKernelPtr  reduce_by_key_range_kernel,    ///< [in] Kernel function pointer to parameterization of cub::ReduceByKeyRegionKernel\n        KernelConfig                reduce_by_key_range_config)    ///< [in] Dispatch parameters that match the policy that \\p reduce_by_key_range_kernel was compiled for\n    {\n\n#ifndef CUB_RUNTIME_ENABLED\n\n        // Kernel launch not supported from this device\n        return CubDebug(cudaErrorNotSupported);\n\n#else\n\n        cudaError error = cudaSuccess;\n        do\n        {\n            // Get device ordinal\n            int device_ordinal;\n            if (CubDebug(error = cudaGetDevice(&device_ordinal))) break;\n\n            // Get device SM version\n            int sm_version;\n            if (CubDebug(error = SmVersion(sm_version, device_ordinal))) break;\n\n            // Get SM count\n            int sm_count;\n            if (CubDebug(error = cudaDeviceGetAttribute (&sm_count, cudaDevAttrMultiProcessorCount, device_ordinal))) break;\n\n            // Number of input tiles\n            int tile_size = reduce_by_key_range_config.block_threads * reduce_by_key_range_config.items_per_thread;\n            int num_tiles = (num_items + tile_size - 1) / tile_size;\n\n            // Specify temporary storage allocation requirements\n            size_t  allocation_sizes[2];\n            if (CubDebug(error = ScanTileState::AllocationSize(num_tiles, allocation_sizes[0]))) break;    // bytes needed for tile status descriptors\n            allocation_sizes[1] = GridQueue<int>::AllocationSize();                                             // bytes needed for grid queue descriptor\n\n            // Compute allocation pointers into the single storage blob (or set the necessary size of the blob)\n            void* allocations[2];\n            if (CubDebug(error = AliasTemporaries(d_temp_storage, temp_storage_bytes, allocations, allocation_sizes))) break;\n            if (d_temp_storage == NULL)\n            {\n                // Return if the caller is simply requesting the size of the storage allocation\n                return cudaSuccess;\n            }\n\n            // Construct the tile status interface\n            ScanTileState tile_status;\n            if (CubDebug(error = tile_status.Init(num_tiles, allocations[0], allocation_sizes[0]))) break;\n\n            // Construct the grid queue descriptor\n            GridQueue<int> queue(allocations[1]);\n\n            // Log init_kernel configuration\n            int init_grid_size = (num_tiles + INIT_KERNEL_THREADS - 1) / INIT_KERNEL_THREADS;\n            if (debug_synchronous) CubLog(\"Invoking init_kernel<<<%d, %d, 0, %lld>>>()\\n\", init_grid_size, INIT_KERNEL_THREADS, (long long) stream);\n\n            // Invoke init_kernel to initialize tile descriptors and queue descriptors\n            init_kernel<<<init_grid_size, INIT_KERNEL_THREADS, 0, stream>>>(\n                queue,\n                tile_status,\n                num_tiles);\n\n            // Check for failure to launch\n            if (CubDebug(error = cudaPeekAtLastError())) break;\n\n            // Sync the stream if specified to flush runtime errors\n            if (debug_synchronous && (CubDebug(error = SyncStream(stream)))) break;\n\n            // Get SM occupancy for reduce_by_key_range_kernel\n            int reduce_by_key_range_sm_occupancy;\n            if (CubDebug(error = MaxSmOccupancy(\n                reduce_by_key_range_sm_occupancy,            // out\n                sm_version,\n                reduce_by_key_range_kernel,\n                reduce_by_key_range_config.block_threads))) break;\n\n            // Get grid size for scanning tiles\n            dim3 reduce_by_key_grid_size;\n            if (ptx_version <= 130)\n            {\n                // Blocks are launched in order, so just assign one block per tile\n                int max_dim_x = 32 * 1024;\n                reduce_by_key_grid_size.z = 1;\n                reduce_by_key_grid_size.y = (num_tiles + max_dim_x - 1) / max_dim_x;\n                reduce_by_key_grid_size.x = CUB_MIN(num_tiles, max_dim_x);\n            }\n            else\n            {\n                // Blocks may not be launched in order, so use atomics\n                int reduce_by_key_range_occupancy = reduce_by_key_range_sm_occupancy * sm_count;      // Whole-device occupancy for reduce_by_key_range_kernel\n                reduce_by_key_grid_size.z = 1;\n                reduce_by_key_grid_size.y = 1;\n                reduce_by_key_grid_size.x = (num_tiles < reduce_by_key_range_occupancy) ?\n                    num_tiles :                             // Not enough to fill the device with threadblocks\n                    reduce_by_key_range_occupancy;         // Fill the device with threadblocks\n            }\n\n#if (CUB_PTX_ARCH == 0)\n            // Get current smem bank configuration\n            cudaSharedMemConfig original_smem_config;\n            if (CubDebug(error = cudaDeviceGetSharedMemConfig(&original_smem_config))) break;\n            cudaSharedMemConfig current_smem_config = original_smem_config;\n\n            // Update smem config if necessary\n            if (current_smem_config != reduce_by_key_range_config.smem_config)\n            {\n                if (CubDebug(error = cudaDeviceSetSharedMemConfig(reduce_by_key_range_config.smem_config))) break;\n                current_smem_config = reduce_by_key_range_config.smem_config;\n            }\n#endif\n\n            // Log reduce_by_key_range_kernel configuration\n            if (debug_synchronous) CubLog(\"Invoking reduce_by_key_range_kernel<<<{%d,%d,%d}, %d, 0, %lld>>>(), %d items per thread, %d SM occupancy\\n\",\n                reduce_by_key_grid_size.x, reduce_by_key_grid_size.y, reduce_by_key_grid_size.z, reduce_by_key_range_config.block_threads, (long long) stream, reduce_by_key_range_config.items_per_thread, reduce_by_key_range_sm_occupancy);\n\n            // Invoke reduce_by_key_range_kernel\n            reduce_by_key_range_kernel<<<reduce_by_key_grid_size, reduce_by_key_range_config.block_threads, 0, stream>>>(\n                d_keys_in,\n                d_keys_out,\n                d_values_in,\n                d_values_out,\n                d_num_segments,\n                tile_status,\n                equality_op,\n                reduction_op,\n                num_items,\n                num_tiles,\n                queue);\n\n            // Check for failure to launch\n            if (CubDebug(error = cudaPeekAtLastError())) break;\n\n            // Sync the stream if specified to flush runtime errors\n            if (debug_synchronous && (CubDebug(error = SyncStream(stream)))) break;\n\n#if (CUB_PTX_ARCH == 0)\n            // Reset smem config if necessary\n            if (current_smem_config != original_smem_config)\n            {\n                if (CubDebug(error = cudaDeviceSetSharedMemConfig(original_smem_config))) break;\n            }\n#endif\n\n        }\n        while (0);\n\n        return error;\n\n#endif  // CUB_RUNTIME_ENABLED\n    }\n\n\n    /**\n     * Internal dispatch routine\n     */\n    CUB_RUNTIME_FUNCTION __forceinline__\n    static cudaError_t Dispatch(\n        void                        *d_temp_storage,                ///< [in] %Device allocation of temporary storage.  When NULL, the required allocation size is written to \\p temp_storage_bytes and no work is done.\n        size_t                      &temp_storage_bytes,            ///< [in,out] Reference to size in bytes of \\p d_temp_storage allocation\n        KeyInputIterator            d_keys_in,                      ///< [in] Pointer to consecutive runs of input keys\n        KeyOutputIterator           d_keys_out,                     ///< [in] Pointer to output keys (one key per run)\n        ValueInputIterator          d_values_in,                    ///< [in] Pointer to consecutive runs of input values\n        ValueOutputIterator         d_values_out,                   ///< [in] Pointer to output value aggregates (one aggregate per run)\n        NumSegmentsIterator         d_num_segments,                 ///< [in] Pointer to total number of runs\n        EqualityOp                  equality_op,                    ///< [in] Key equality operator\n        ReductionOp                 reduction_op,                   ///< [in] Value reduction operator\n        Offset                      num_items,                      ///< [in] Total number of items to select from\n        cudaStream_t                stream,                         ///< [in] CUDA stream to launch kernels within.  Default is stream<sub>0</sub>.\n        bool                        debug_synchronous)              ///< [in] Whether or not to synchronize the stream after every kernel launch to check for errors.  Also causes launch configurations to be printed to the console.  Default is \\p false.\n    {\n        cudaError error = cudaSuccess;\n        do\n        {\n            // Get PTX version\n            int ptx_version;\n    #if (CUB_PTX_ARCH == 0)\n            if (CubDebug(error = PtxVersion(ptx_version))) break;\n    #else\n            ptx_version = CUB_PTX_ARCH;\n    #endif\n\n            // Get kernel kernel dispatch configurations\n            KernelConfig reduce_by_key_range_config;\n            InitConfigs(ptx_version, reduce_by_key_range_config);\n\n            // Dispatch\n            if (CubDebug(error = Dispatch(\n                d_temp_storage,\n                temp_storage_bytes,\n                d_keys_in,\n                d_keys_out,\n                d_values_in,\n                d_values_out,\n                d_num_segments,\n                equality_op,\n                reduction_op,\n                num_items,\n                stream,\n                debug_synchronous,\n                ptx_version,\n                ScanInitKernel<Offset, ScanTileState>,\n                ReduceByKeyRegionKernel<PtxReduceByKeyPolicy, KeyInputIterator, KeyOutputIterator, ValueInputIterator, ValueOutputIterator, NumSegmentsIterator, ScanTileState, EqualityOp, ReductionOp, Offset>,\n                reduce_by_key_range_config))) break;\n        }\n        while (0);\n\n        return error;\n    }\n};\n\n}               // CUB namespace\nCUB_NS_POSTFIX  // Optional outer namespace(s)\n\n\n"
  },
  {
    "path": "external/cub-1.3.2/cub/device/dispatch/device_reduce_dispatch.cuh",
    "content": "\n/******************************************************************************\n * Copyright (c) 2011, Duane Merrill.  All rights reserved.\n * Copyright (c) 2011-2014, NVIDIA CORPORATION.  All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *     * Redistributions of source code must retain the above copyright\n *       notice, this list of conditions and the following disclaimer.\n *     * Redistributions in binary form must reproduce the above copyright\n *       notice, this list of conditions and the following disclaimer in the\n *       documentation and/or other materials provided with the distribution.\n *     * Neither the name of the NVIDIA CORPORATION nor the\n *       names of its contributors may be used to endorse or promote products\n *       derived from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n ******************************************************************************/\n\n/**\n * \\file\n * cub::DeviceReduce provides device-wide, parallel operations for computing a reduction across a sequence of data items residing within global memory.\n */\n\n#pragma once\n\n#include <stdio.h>\n#include <iterator>\n\n#include \"device_reduce_by_key_dispatch.cuh\"\n#include \"../../block_range/block_range_reduce.cuh\"\n#include \"../../iterator/constant_input_iterator.cuh\"\n#include \"../../thread/thread_operators.cuh\"\n#include \"../../grid/grid_even_share.cuh\"\n#include \"../../grid/grid_queue.cuh\"\n#include \"../../iterator/arg_index_input_iterator.cuh\"\n#include \"../../util_debug.cuh\"\n#include \"../../util_device.cuh\"\n#include \"../../util_namespace.cuh\"\n\n/// Optional outer namespace(s)\nCUB_NS_PREFIX\n\n/// CUB namespace\nnamespace cub {\n\n/******************************************************************************\n * Kernel entry points\n *****************************************************************************/\n\n/**\n * Reduce region kernel entry point (multi-block).  Computes privatized reductions, one per thread block.\n */\ntemplate <\n    typename                BlockRangeReducePolicy,     ///< Parameterized BlockRangeReducePolicy tuning policy type\n    typename                InputIterator,              ///< Random-access input iterator type for reading input items \\iterator\n    typename                OutputIterator,             ///< Output iterator type for recording the reduced aggregate \\iterator\n    typename                Offset,                     ///< Signed integer type for global offsets\n    typename                ReductionOp>                ///< Binary reduction functor type having member <tt>T operator()(const T &a, const T &b)</tt>\n__launch_bounds__ (int(BlockRangeReducePolicy::BLOCK_THREADS))\n__global__ void ReduceRegionKernel(\n    InputIterator           d_in,                       ///< [in] Pointer to the input sequence of data items\n    OutputIterator          d_out,                      ///< [out] Pointer to the output aggregate\n    Offset                  num_items,                  ///< [in] Total number of input data items\n    GridEvenShare<Offset>   even_share,                 ///< [in] Even-share descriptor for mapping an equal number of tiles onto each thread block\n    GridQueue<Offset>       queue,                      ///< [in] Drain queue descriptor for dynamically mapping tile data onto thread blocks\n    ReductionOp             reduction_op)               ///< [in] Binary reduction functor (e.g., an instance of cub::Sum, cub::Min, cub::Max, etc.)\n{\n    // Data type\n    typedef typename std::iterator_traits<InputIterator>::value_type T;\n\n    // Thread block type for reducing input tiles\n    typedef BlockRangeReduce<BlockRangeReducePolicy, InputIterator, Offset, ReductionOp> BlockRangeReduceT;\n\n    // Block-wide aggregate\n    T block_aggregate;\n\n    // Shared memory storage\n    __shared__ typename BlockRangeReduceT::TempStorage temp_storage;\n\n    // Consume input tiles\n    BlockRangeReduceT(temp_storage, d_in, reduction_op).ConsumeRange(\n        num_items,\n        even_share,\n        queue,\n        block_aggregate,\n        Int2Type<BlockRangeReducePolicy::GRID_MAPPING>());\n\n    // Output result\n    if (threadIdx.x == 0)\n    {\n        d_out[blockIdx.x] = block_aggregate;\n    }\n}\n\n\n/**\n * Reduce a single tile kernel entry point (single-block).  Can be used to aggregate privatized threadblock reductions from a previous multi-block reduction pass.\n */\ntemplate <\n    typename                BlockRangeReducePolicy,     ///< Parameterized BlockRangeReducePolicy tuning policy type\n    typename                InputIterator,              ///< Random-access input iterator type for reading input items \\iterator\n    typename                OutputIterator,             ///< Output iterator type for recording the reduced aggregate \\iterator\n    typename                Offset,                     ///< Signed integer type for global offsets\n    typename                ReductionOp>                ///< Binary reduction functor type having member <tt>T operator()(const T &a, const T &b)</tt>\n__launch_bounds__ (int(BlockRangeReducePolicy::BLOCK_THREADS), 1)\n__global__ void SingleTileKernel(\n    InputIterator           d_in,                       ///< [in] Pointer to the input sequence of data items\n    OutputIterator          d_out,                      ///< [out] Pointer to the output aggregate\n    Offset                  num_items,                  ///< [in] Total number of input data items\n    ReductionOp             reduction_op)               ///< [in] Binary reduction functor (e.g., an instance of cub::Sum, cub::Min, cub::Max, etc.)\n{\n    // Data type\n    typedef typename std::iterator_traits<InputIterator>::value_type T;\n\n    // Thread block type for reducing input tiles\n    typedef BlockRangeReduce<BlockRangeReducePolicy, InputIterator, Offset, ReductionOp> BlockRangeReduceT;\n\n    // Block-wide aggregate\n    T block_aggregate;\n\n    // Shared memory storage\n    __shared__ typename BlockRangeReduceT::TempStorage temp_storage;\n\n    // Consume input tiles\n    BlockRangeReduceT(temp_storage, d_in, reduction_op).ConsumeRange(\n        Offset(0),\n        Offset(num_items),\n        block_aggregate);\n\n    // Output result\n    if (threadIdx.x == 0)\n    {\n        d_out[blockIdx.x] = block_aggregate;\n    }\n}\n\n\n\n\n/******************************************************************************\n * Dispatch\n ******************************************************************************/\n\n/**\n * Utility class for dispatching the appropriately-tuned kernels for DeviceReduce\n */\ntemplate <\n    typename InputIterator,     ///< Random-access input iterator type for reading input items \\iterator\n    typename OutputIterator,    ///< Output iterator type for recording the reduced aggregate \\iterator\n    typename Offset,            ///< Signed integer type for global offsets\n    typename ReductionOp>       ///< Binary reduction functor type having member <tt>T operator()(const T &a, const T &b)</tt>\nstruct DeviceReduceDispatch\n{\n    // Data type of input iterator\n    typedef typename std::iterator_traits<InputIterator>::value_type T;\n\n\n    /******************************************************************************\n     * Tuning policies\n     ******************************************************************************/\n\n    /// SM35\n    struct Policy350\n    {\n        // ReduceRegionPolicy1B (GTX Titan: 228.7 GB/s @ 192M 1B items)\n        typedef BlockRangeReducePolicy<\n                128,                                ///< Threads per thread block\n                24,                                 ///< Items per thread per tile of input\n                4,                                  ///< Number of items per vectorized load\n                BLOCK_REDUCE_RAKING,                ///< Cooperative block-wide reduction algorithm to use\n                LOAD_LDG,                           ///< Cache load modifier\n                GRID_MAPPING_DYNAMIC>               ///< How to map tiles of input onto thread blocks\n            ReduceRegionPolicy1B;\n\n        enum {\n            NOMINAL_4B_ITEMS_PER_THREAD = 20,\n            ITEMS_PER_THREAD            = CUB_MIN(NOMINAL_4B_ITEMS_PER_THREAD, CUB_MAX(1, (NOMINAL_4B_ITEMS_PER_THREAD * 4 / sizeof(T)))),\n        };\n\n        // ReduceRegionPolicy4B (GTX Titan: 255.1 GB/s @ 48M 4B items)\n        typedef BlockRangeReducePolicy<\n                256,                                ///< Threads per thread block\n                ITEMS_PER_THREAD,                   ///< Items per thread per tile of input\n                2,                                  ///< Number of items per vectorized load\n                BLOCK_REDUCE_RAKING,                ///< Cooperative block-wide reduction algorithm to use\n                LOAD_LDG,                       ///< Cache load modifier\n                GRID_MAPPING_DYNAMIC>            ///< How to map tiles of input onto thread blocks\n            ReduceRegionPolicy4B;\n\n        // ReduceRegionPolicy\n        typedef typename If<(sizeof(T) >= 4),\n            ReduceRegionPolicy4B,\n            ReduceRegionPolicy1B>::Type ReduceRegionPolicy;\n\n        // SingleTilePolicy\n        typedef BlockRangeReducePolicy<\n                256,                                ///< Threads per thread block\n                8,                                  ///< Items per thread per tile of input\n                1,                                  ///< Number of items per vectorized load\n                BLOCK_REDUCE_WARP_REDUCTIONS,       ///< Cooperative block-wide reduction algorithm to use\n                LOAD_DEFAULT,                       ///< Cache load modifier\n                GRID_MAPPING_EVEN_SHARE>            ///< How to map tiles of input onto thread blocks\n            SingleTilePolicy;\n    };\n\n    /// SM30\n    struct Policy300\n    {\n        enum {\n            NOMINAL_4B_ITEMS_PER_THREAD = 2,\n            ITEMS_PER_THREAD            = CUB_MIN(NOMINAL_4B_ITEMS_PER_THREAD, CUB_MAX(1, (NOMINAL_4B_ITEMS_PER_THREAD * 4 / sizeof(T)))),\n        };\n\n        // ReduceRegionPolicy (GTX670: 154.0 @ 48M 4B items)\n        typedef BlockRangeReducePolicy<\n                256,                                ///< Threads per thread block\n                ITEMS_PER_THREAD,                   ///< Items per thread per tile of input\n                1,                                  ///< Number of items per vectorized load\n                BLOCK_REDUCE_WARP_REDUCTIONS,       ///< Cooperative block-wide reduction algorithm to use\n                LOAD_DEFAULT,                       ///< Cache load modifier\n                GRID_MAPPING_EVEN_SHARE>            ///< How to map tiles of input onto thread blocks\n            ReduceRegionPolicy;\n\n        // SingleTilePolicy\n        typedef BlockRangeReducePolicy<\n                256,                                ///< Threads per thread block\n                24,                                 ///< Items per thread per tile of input\n                4,                                  ///< Number of items per vectorized load\n                BLOCK_REDUCE_WARP_REDUCTIONS,       ///< Cooperative block-wide reduction algorithm to use\n                LOAD_DEFAULT,                       ///< Cache load modifier\n                GRID_MAPPING_EVEN_SHARE>            ///< How to map tiles of input onto thread blocks\n            SingleTilePolicy;\n    };\n\n    /// SM20\n    struct Policy200\n    {\n        // ReduceRegionPolicy1B (GTX 580: 158.1 GB/s @ 192M 1B items)\n        typedef BlockRangeReducePolicy<\n                192,                                ///< Threads per thread block\n                24,                                 ///< Items per thread per tile of input\n                4,                                  ///< Number of items per vectorized load\n                BLOCK_REDUCE_RAKING,                ///< Cooperative block-wide reduction algorithm to use\n                LOAD_DEFAULT,                       ///< Cache load modifier\n                (sizeof(T) == 1) ?                  ///< How to map tiles of input onto thread blocks\n                    GRID_MAPPING_EVEN_SHARE :\n                    GRID_MAPPING_DYNAMIC>\n            ReduceRegionPolicy1B;\n\n        enum {\n            NOMINAL_4B_ITEMS_PER_THREAD = 8,\n            NOMINAL_4B_VEC_ITEMS        = 4,\n            ITEMS_PER_THREAD            = CUB_MIN(NOMINAL_4B_ITEMS_PER_THREAD, CUB_MAX(1, (NOMINAL_4B_ITEMS_PER_THREAD * 4 / sizeof(T)))),\n            VEC_ITEMS                   = CUB_MIN(NOMINAL_4B_VEC_ITEMS, CUB_MAX(1, (NOMINAL_4B_VEC_ITEMS * 4 / sizeof(T)))),\n        };\n\n        // ReduceRegionPolicy4B (GTX 580: 178.9 GB/s @ 48M 4B items)\n        typedef BlockRangeReducePolicy<\n                128,                                ///< Threads per thread block\n                ITEMS_PER_THREAD,                   ///< Items per thread per tile of input\n                VEC_ITEMS,                          ///< Number of items per vectorized load\n                BLOCK_REDUCE_RAKING,                ///< Cooperative block-wide reduction algorithm to use\n                LOAD_DEFAULT,                       ///< Cache load modifier\n                GRID_MAPPING_DYNAMIC>               ///< How to map tiles of input onto thread blocks\n            ReduceRegionPolicy4B;\n\n        // ReduceRegionPolicy\n        typedef typename If<(sizeof(T) < 4),\n            ReduceRegionPolicy1B,\n            ReduceRegionPolicy4B>::Type ReduceRegionPolicy;\n\n        // SingleTilePolicy\n        typedef BlockRangeReducePolicy<\n                192,                                ///< Threads per thread block\n                7,                                  ///< Items per thread per tile of input\n                1,                                  ///< Number of items per vectorized load\n                BLOCK_REDUCE_RAKING,                ///< Cooperative block-wide reduction algorithm to use\n                LOAD_DEFAULT,                       ///< Cache load modifier\n                GRID_MAPPING_EVEN_SHARE>            ///< How to map tiles of input onto thread blocks\n            SingleTilePolicy;\n    };\n\n    /// SM13\n    struct Policy130\n    {\n        enum {\n            NOMINAL_4B_ITEMS_PER_THREAD = 8,\n            NOMINAL_4B_VEC_ITEMS        = 2,\n            ITEMS_PER_THREAD            = CUB_MIN(NOMINAL_4B_ITEMS_PER_THREAD, CUB_MAX(1, (NOMINAL_4B_ITEMS_PER_THREAD * 4 / sizeof(T)))),\n            VEC_ITEMS                   = CUB_MIN(NOMINAL_4B_VEC_ITEMS, CUB_MAX(1, (NOMINAL_4B_VEC_ITEMS * 4 / sizeof(T)))),\n        };\n\n        // ReduceRegionPolicy\n        typedef BlockRangeReducePolicy<\n                128,                                ///< Threads per thread block\n                ITEMS_PER_THREAD,                   ///< Items per thread per tile of input\n                VEC_ITEMS,                          ///< Number of items per vectorized load\n                BLOCK_REDUCE_RAKING,                ///< Cooperative block-wide reduction algorithm to use\n                LOAD_DEFAULT,                       ///< Cache load modifier\n                GRID_MAPPING_EVEN_SHARE>            ///< How to map tiles of input onto thread blocks\n            ReduceRegionPolicy;\n\n        // SingleTilePolicy\n        typedef BlockRangeReducePolicy<\n                32,                                 ///< Threads per thread block\n                4,                                  ///< Items per thread per tile of input\n                VEC_ITEMS,                          ///< Number of items per vectorized load\n                BLOCK_REDUCE_RAKING,                ///< Cooperative block-wide reduction algorithm to use\n                LOAD_DEFAULT,                       ///< Cache load modifier\n                GRID_MAPPING_EVEN_SHARE>            ///< How to map tiles of input onto thread blocks\n            SingleTilePolicy;\n    };\n\n    /// SM10\n    struct Policy100\n    {\n        enum {\n            NOMINAL_4B_ITEMS_PER_THREAD = 8,\n            NOMINAL_4B_VEC_ITEMS        = 2,\n            ITEMS_PER_THREAD            = CUB_MIN(NOMINAL_4B_ITEMS_PER_THREAD, CUB_MAX(1, (NOMINAL_4B_ITEMS_PER_THREAD * 4 / sizeof(T)))),\n            VEC_ITEMS                   = CUB_MIN(NOMINAL_4B_VEC_ITEMS, CUB_MAX(1, (NOMINAL_4B_VEC_ITEMS * 4 / sizeof(T)))),\n        };\n\n        // ReduceRegionPolicy\n        typedef BlockRangeReducePolicy<\n                128,                                ///< Threads per thread block\n                ITEMS_PER_THREAD,                   ///< Items per thread per tile of input\n                VEC_ITEMS,                          ///< Number of items per vectorized load\n                BLOCK_REDUCE_RAKING,                ///< Cooperative block-wide reduction algorithm to use\n                LOAD_DEFAULT,                       ///< Cache load modifier\n                GRID_MAPPING_EVEN_SHARE>            ///< How to map tiles of input onto thread blocks\n            ReduceRegionPolicy;\n\n        // SingleTilePolicy\n        typedef BlockRangeReducePolicy<\n                32,                                 ///< Threads per thread block\n                4,                                  ///< Items per thread per tile of input\n                4,                                  ///< Number of items per vectorized load\n                BLOCK_REDUCE_RAKING,                ///< Cooperative block-wide reduction algorithm to use\n                LOAD_DEFAULT,                       ///< Cache load modifier\n                GRID_MAPPING_EVEN_SHARE>            ///< How to map tiles of input onto thread blocks\n            SingleTilePolicy;\n    };\n\n\n    /******************************************************************************\n     * Tuning policies of current PTX compiler pass\n     ******************************************************************************/\n\n#if (CUB_PTX_ARCH >= 350)\n    typedef Policy350 PtxPolicy;\n\n#elif (CUB_PTX_ARCH >= 300)\n    typedef Policy300 PtxPolicy;\n\n#elif (CUB_PTX_ARCH >= 200)\n    typedef Policy200 PtxPolicy;\n\n#elif (CUB_PTX_ARCH >= 130)\n    typedef Policy130 PtxPolicy;\n\n#else\n    typedef Policy100 PtxPolicy;\n\n#endif\n\n    // \"Opaque\" policies (whose parameterizations aren't reflected in the type signature)\n    struct PtxReduceRegionPolicy   : PtxPolicy::ReduceRegionPolicy {};\n    struct PtxSingleTilePolicy     : PtxPolicy::SingleTilePolicy {};\n\n\n    /******************************************************************************\n     * Utilities\n     ******************************************************************************/\n\n    /**\n     * Initialize kernel dispatch configurations with the policies corresponding to the PTX assembly we will use\n     */\n    template <typename KernelConfig>\n    CUB_RUNTIME_FUNCTION __forceinline__\n    static void InitConfigs(\n        int             ptx_version,\n        KernelConfig    &reduce_range_config,\n        KernelConfig    &single_tile_config)\n    {\n    #if (CUB_PTX_ARCH > 0)\n\n        // We're on the device, so initialize the kernel dispatch configurations with the current PTX policy\n        reduce_range_config.template Init<PtxReduceRegionPolicy>();\n        single_tile_config.template Init<PtxSingleTilePolicy>();\n\n    #else\n\n        // We're on the host, so lookup and initialize the kernel dispatch configurations with the policies that match the device's PTX version\n        if (ptx_version >= 350)\n        {\n            reduce_range_config.template    Init<typename Policy350::ReduceRegionPolicy>();\n            single_tile_config.template     Init<typename Policy350::SingleTilePolicy>();\n        }\n        else if (ptx_version >= 300)\n        {\n            reduce_range_config.template    Init<typename Policy300::ReduceRegionPolicy>();\n            single_tile_config.template     Init<typename Policy300::SingleTilePolicy>();\n        }\n        else if (ptx_version >= 200)\n        {\n            reduce_range_config.template    Init<typename Policy200::ReduceRegionPolicy>();\n            single_tile_config.template     Init<typename Policy200::SingleTilePolicy>();\n        }\n        else if (ptx_version >= 130)\n        {\n            reduce_range_config.template    Init<typename Policy130::ReduceRegionPolicy>();\n            single_tile_config.template     Init<typename Policy130::SingleTilePolicy>();\n        }\n        else\n        {\n            reduce_range_config.template    Init<typename Policy100::ReduceRegionPolicy>();\n            single_tile_config.template     Init<typename Policy100::SingleTilePolicy>();\n        }\n\n    #endif\n    }\n\n\n    /**\n     * Kernel kernel dispatch configuration\n     */\n    struct KernelConfig\n    {\n        int                     block_threads;\n        int                     items_per_thread;\n        int                     vector_load_length;\n        BlockReduceAlgorithm    block_algorithm;\n        CacheLoadModifier       load_modifier;\n        GridMappingStrategy     grid_mapping;\n\n        template <typename BlockPolicy>\n        CUB_RUNTIME_FUNCTION __forceinline__\n        void Init()\n        {\n            block_threads               = BlockPolicy::BLOCK_THREADS;\n            items_per_thread            = BlockPolicy::ITEMS_PER_THREAD;\n            vector_load_length          = BlockPolicy::VECTOR_LOAD_LENGTH;\n            block_algorithm             = BlockPolicy::BLOCK_ALGORITHM;\n            load_modifier               = BlockPolicy::LOAD_MODIFIER;\n            grid_mapping                = BlockPolicy::GRID_MAPPING;\n        }\n\n        CUB_RUNTIME_FUNCTION __forceinline__\n        void Print()\n        {\n            printf(\"%d threads, %d per thread, %d veclen, %d algo, %d loadmod, %d mapping\",\n                block_threads,\n                items_per_thread,\n                vector_load_length,\n                block_algorithm,\n                load_modifier,\n                grid_mapping);\n        }\n    };\n\n    /******************************************************************************\n     * Dispatch entrypoints\n     ******************************************************************************/\n\n    /**\n     * Internal dispatch routine for computing a device-wide reduction using the\n     * specified kernel functions.\n     *\n     * If the input is larger than a single tile, this method uses two-passes of\n     * kernel invocations.\n     */\n    template <\n        typename                    ReduceRegionKernelPtr,              ///< Function type of cub::ReduceRegionKernel\n        typename                    AggregateTileKernelPtr,             ///< Function type of cub::SingleTileKernel for consuming partial reductions (T*)\n        typename                    SingleTileKernelPtr,                ///< Function type of cub::SingleTileKernel for consuming input (InputIterator)\n        typename                    FillAndResetDrainKernelPtr>         ///< Function type of cub::FillAndResetDrainKernel\n    CUB_RUNTIME_FUNCTION __forceinline__\n    static cudaError_t Dispatch(\n        void                        *d_temp_storage,                    ///< [in] %Device allocation of temporary storage.  When NULL, the required allocation size is written to \\p temp_storage_bytes and no work is done.\n        size_t                      &temp_storage_bytes,                ///< [in,out] Reference to size in bytes of \\p d_temp_storage allocation\n        InputIterator               d_in,                               ///< [in] Pointer to the input sequence of data items\n        OutputIterator              d_out,                              ///< [out] Pointer to the output aggregate\n        Offset                      num_items,                          ///< [in] Total number of input items (i.e., length of \\p d_in)\n        ReductionOp                 reduction_op,                       ///< [in] Binary reduction functor (e.g., an instance of cub::Sum, cub::Min, cub::Max, etc.)\n        cudaStream_t                stream,                             ///< [in] CUDA stream to launch kernels within.  Default is stream<sub>0</sub>.\n        bool                        debug_synchronous,                  ///< [in] Whether or not to synchronize the stream after every kernel launch to check for errors.  Also causes launch configurations to be printed to the console.  Default is \\p false.\n        FillAndResetDrainKernelPtr  prepare_drain_kernel,               ///< [in] Kernel function pointer to parameterization of cub::FillAndResetDrainKernel\n        ReduceRegionKernelPtr       reduce_range_kernel,               ///< [in] Kernel function pointer to parameterization of cub::ReduceRegionKernel\n        AggregateTileKernelPtr      aggregate_kernel,                   ///< [in] Kernel function pointer to parameterization of cub::SingleTileKernel for consuming partial reductions (T*)\n        SingleTileKernelPtr         single_kernel,                      ///< [in] Kernel function pointer to parameterization of cub::SingleTileKernel for consuming input (InputIterator)\n        KernelConfig                &reduce_range_config,              ///< [in] Dispatch parameters that match the policy that \\p reduce_range_kernel_ptr was compiled for\n        KernelConfig                &single_tile_config)                ///< [in] Dispatch parameters that match the policy that \\p single_kernel was compiled for\n    {\n#ifndef CUB_RUNTIME_ENABLED\n\n        // Kernel launch not supported from this device\n        return CubDebug(cudaErrorNotSupported );\n\n#else\n        cudaError error = cudaSuccess;\n        do\n        {\n            // Get device ordinal\n            int device_ordinal;\n            if (CubDebug(error = cudaGetDevice(&device_ordinal))) break;\n\n            // Get device SM version\n            int sm_version;\n            if (CubDebug(error = SmVersion(sm_version, device_ordinal))) break;\n\n            // Get SM count\n            int sm_count;\n            if (CubDebug(error = cudaDeviceGetAttribute (&sm_count, cudaDevAttrMultiProcessorCount, device_ordinal))) break;\n\n            // Tile size of reduce_range_kernel\n            int tile_size = reduce_range_config.block_threads * reduce_range_config.items_per_thread;\n\n            if ((reduce_range_kernel == NULL) || (num_items <= tile_size))\n            {\n                // Dispatch a single-block reduction kernel\n\n                // Return if the caller is simply requesting the size of the storage allocation\n                if (d_temp_storage == NULL)\n                {\n                    temp_storage_bytes = 1;\n                    return cudaSuccess;\n                }\n\n                // Log single_kernel configuration\n                if (debug_synchronous) CubLog(\"Invoking ReduceSingle<<<1, %d, 0, %lld>>>(), %d items per thread\\n\",\n                    single_tile_config.block_threads, (long long) stream, single_tile_config.items_per_thread);\n\n                // Invoke single_kernel\n                single_kernel<<<1, single_tile_config.block_threads, 0, stream>>>(\n                    d_in,\n                    d_out,\n                    num_items,\n                    reduction_op);\n\n                // Check for failure to launch\n                if (CubDebug(error = cudaPeekAtLastError())) break;\n\n                // Sync the stream if specified to flush runtime errors\n                if (debug_synchronous && (CubDebug(error = SyncStream(stream)))) break;\n\n            }\n            else\n            {\n                // Dispatch two kernels: (1) a multi-block kernel to compute\n                // privatized per-block reductions, and (2) a single-block\n                // to reduce those partial reductions\n\n                // Get SM occupancy for reduce_range_kernel\n                int reduce_range_sm_occupancy;\n                if (CubDebug(error = MaxSmOccupancy(\n                    reduce_range_sm_occupancy,\n                    sm_version,\n                    reduce_range_kernel,\n                    reduce_range_config.block_threads))) break;\n\n                // Get device occupancy for reduce_range_kernel\n                int reduce_range_occupancy = reduce_range_sm_occupancy * sm_count;\n\n                // Even-share work distribution\n                int subscription_factor = reduce_range_sm_occupancy;     // Amount of CTAs to oversubscribe the device beyond actively-resident (heuristic)\n                GridEvenShare<Offset> even_share(\n                    num_items,\n                    reduce_range_occupancy * subscription_factor,\n                    tile_size);\n\n                // Get grid size for reduce_range_kernel\n                int reduce_range_grid_size;\n                switch (reduce_range_config.grid_mapping)\n                {\n                case GRID_MAPPING_EVEN_SHARE:\n\n                    // Work is distributed evenly\n                    reduce_range_grid_size = even_share.grid_size;\n                    break;\n\n                case GRID_MAPPING_DYNAMIC:\n\n                    // Work is distributed dynamically\n                    int num_tiles = (num_items + tile_size - 1) / tile_size;\n                    reduce_range_grid_size = (num_tiles < reduce_range_occupancy) ?\n                        num_tiles :                     // Not enough to fill the device with threadblocks\n                        reduce_range_occupancy;         // Fill the device with threadblocks\n                    break;\n                };\n\n                // Temporary storage allocation requirements\n                void* allocations[2];\n                size_t allocation_sizes[2] =\n                {\n                    reduce_range_grid_size * sizeof(T),     // bytes needed for privatized block reductions\n                    GridQueue<int>::AllocationSize()        // bytes needed for grid queue descriptor\n                };\n\n                // Alias the temporary allocations from the single storage blob (or set the necessary size of the blob)\n                if (CubDebug(error = AliasTemporaries(d_temp_storage, temp_storage_bytes, allocations, allocation_sizes))) break;\n                if (d_temp_storage == NULL)\n                {\n                    // Return if the caller is simply requesting the size of the storage allocation\n                    return cudaSuccess;\n                }\n\n                // Alias the allocation for the privatized per-block reductions\n                T *d_block_reductions = (T*) allocations[0];\n\n                // Alias the allocation for the grid queue descriptor\n                GridQueue<Offset> queue(allocations[1]);\n\n                // Prepare the dynamic queue descriptor if necessary\n                if (reduce_range_config.grid_mapping == GRID_MAPPING_DYNAMIC)\n                {\n                    // Prepare queue using a kernel so we know it gets prepared once per operation\n                    if (debug_synchronous) CubLog(\"Invoking prepare_drain_kernel<<<1, 1, 0, %lld>>>()\\n\", (long long) stream);\n\n                    // Invoke prepare_drain_kernel\n                    prepare_drain_kernel<<<1, 1, 0, stream>>>(queue, num_items);\n\n                    // Check for failure to launch\n                    if (CubDebug(error = cudaPeekAtLastError())) break;\n\n                    // Sync the stream if specified to flush runtime errors\n                    if (debug_synchronous && (CubDebug(error = SyncStream(stream)))) break;\n                }\n\n                // Log reduce_range_kernel configuration\n                if (debug_synchronous) CubLog(\"Invoking reduce_range_kernel<<<%d, %d, 0, %lld>>>(), %d items per thread, %d SM occupancy\\n\",\n                    reduce_range_grid_size, reduce_range_config.block_threads, (long long) stream, reduce_range_config.items_per_thread, reduce_range_sm_occupancy);\n\n                // Invoke reduce_range_kernel\n                reduce_range_kernel<<<reduce_range_grid_size, reduce_range_config.block_threads, 0, stream>>>(\n                    d_in,\n                    d_block_reductions,\n                    num_items,\n                    even_share,\n                    queue,\n                    reduction_op);\n\n                // Check for failure to launch\n                if (CubDebug(error = cudaPeekAtLastError())) break;\n\n                // Sync the stream if specified to flush runtime errors\n                if (debug_synchronous && (CubDebug(error = SyncStream(stream)))) break;\n\n                // Log single_kernel configuration\n                if (debug_synchronous) CubLog(\"Invoking single_kernel<<<%d, %d, 0, %lld>>>(), %d items per thread\\n\",\n                    1, single_tile_config.block_threads, (long long) stream, single_tile_config.items_per_thread);\n\n                // Invoke single_kernel\n                aggregate_kernel<<<1, single_tile_config.block_threads, 0, stream>>>(\n                    d_block_reductions,\n                    d_out,\n                    reduce_range_grid_size,\n                    reduction_op);\n\n                // Check for failure to launch\n                if (CubDebug(error = cudaPeekAtLastError())) break;\n\n                // Sync the stream if specified to flush runtime errors\n                if (debug_synchronous && (CubDebug(error = SyncStream(stream)))) break;\n            }\n        }\n        while (0);\n\n        return error;\n\n#endif // CUB_RUNTIME_ENABLED\n    }\n\n\n    /**\n     * Internal dispatch routine for computing a device-wide reduction\n     */\n    CUB_RUNTIME_FUNCTION __forceinline__\n    static cudaError_t Dispatch(\n        void                        *d_temp_storage,                    ///< [in] %Device allocation of temporary storage.  When NULL, the required allocation size is written to \\p temp_storage_bytes and no work is done.\n        size_t                      &temp_storage_bytes,                ///< [in,out] Reference to size in bytes of \\p d_temp_storage allocation\n        InputIterator               d_in,                               ///< [in] Pointer to the input sequence of data items\n        OutputIterator              d_out,                              ///< [out] Pointer to the output aggregate\n        Offset                      num_items,                          ///< [in] Total number of input items (i.e., length of \\p d_in)\n        ReductionOp                 reduction_op,                       ///< [in] Binary reduction functor (e.g., an instance of cub::Sum, cub::Min, cub::Max, etc.)\n        cudaStream_t                stream,                             ///< [in] <b>[optional]</b> CUDA stream to launch kernels within.  Default is stream<sub>0</sub>.\n        bool                        debug_synchronous)                  ///< [in] <b>[optional]</b> Whether or not to synchronize the stream after every kernel launch to check for errors.  Also causes launch configurations to be printed to the console.  Default is \\p false.\n    {\n        cudaError error = cudaSuccess;\n        do\n        {\n            // Get PTX version\n            int ptx_version;\n    #if (CUB_PTX_ARCH == 0)\n            if (CubDebug(error = PtxVersion(ptx_version))) break;\n    #else\n            ptx_version = CUB_PTX_ARCH;\n    #endif\n\n            // Get kernel kernel dispatch configurations\n            KernelConfig reduce_range_config;\n            KernelConfig single_tile_config;\n            InitConfigs(ptx_version, reduce_range_config, single_tile_config);\n\n            // Dispatch\n            if (CubDebug(error = Dispatch(\n                d_temp_storage,\n                temp_storage_bytes,\n                d_in,\n                d_out,\n                num_items,\n                reduction_op,\n                stream,\n                debug_synchronous,\n                FillAndResetDrainKernel<Offset>,\n                ReduceRegionKernel<PtxReduceRegionPolicy, InputIterator, T*, Offset, ReductionOp>,\n                SingleTileKernel<PtxSingleTilePolicy, T*, OutputIterator, Offset, ReductionOp>,\n                SingleTileKernel<PtxSingleTilePolicy, InputIterator, OutputIterator, Offset, ReductionOp>,\n                reduce_range_config,\n                single_tile_config))) break;\n        }\n        while (0);\n\n        return error;\n    }\n};\n\n\n}               // CUB namespace\nCUB_NS_POSTFIX  // Optional outer namespace(s)\n\n\n"
  },
  {
    "path": "external/cub-1.3.2/cub/device/dispatch/device_scan_dispatch.cuh",
    "content": "\n/******************************************************************************\n * Copyright (c) 2011, Duane Merrill.  All rights reserved.\n * Copyright (c) 2011-2014, NVIDIA CORPORATION.  All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *     * Redistributions of source code must retain the above copyright\n *       notice, this list of conditions and the following disclaimer.\n *     * Redistributions in binary form must reproduce the above copyright\n *       notice, this list of conditions and the following disclaimer in the\n *       documentation and/or other materials provided with the distribution.\n *     * Neither the name of the NVIDIA CORPORATION nor the\n *       names of its contributors may be used to endorse or promote products\n *       derived from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n ******************************************************************************/\n\n/**\n * \\file\n * cub::DeviceScan provides device-wide, parallel operations for computing a prefix scan across a sequence of data items residing within global memory.\n */\n\n#pragma once\n\n#include <stdio.h>\n#include <iterator>\n\n#include \"../../block_range/block_range_scan.cuh\"\n#include \"../../thread/thread_operators.cuh\"\n#include \"../../grid/grid_queue.cuh\"\n#include \"../../util_debug.cuh\"\n#include \"../../util_device.cuh\"\n#include \"../../util_namespace.cuh\"\n\n/// Optional outer namespace(s)\nCUB_NS_PREFIX\n\n/// CUB namespace\nnamespace cub {\n\n\n/******************************************************************************\n * Kernel entry points\n *****************************************************************************/\n\n/**\n * Initialization kernel for tile status initialization (multi-block)\n */\ntemplate <\n    typename            Offset,                 ///< Signed integer type for global offsets\n    typename            ScanTileState>     ///< Tile status interface type\n__global__ void ScanInitKernel(\n    GridQueue<Offset>   grid_queue,             ///< [in] Descriptor for performing dynamic mapping of input tiles to thread blocks\n    ScanTileState  tile_status,            ///< [in] Tile status interface\n    int                 num_tiles)              ///< [in] Number of tiles\n{\n    // Reset queue descriptor\n    if ((blockIdx.x == 0) && (threadIdx.x == 0))\n        grid_queue.FillAndResetDrain(num_tiles);\n\n    // Initialize tile status\n    tile_status.InitializeStatus(num_tiles);\n}\n\n\n/**\n * Scan kernel entry point (multi-block)\n */\ntemplate <\n    typename            BlockRangeScanPolicy,       ///< Parameterized BlockRangeScanPolicy tuning policy type\n    typename            InputIterator,              ///< Random-access input iterator type for reading scan input data \\iterator\n    typename            OutputIterator,             ///< Random-access output iterator type for writing scan output data \\iterator\n    typename            ScanTileState,         ///< Tile status interface type\n    typename            ScanOp,                     ///< Binary scan functor type having member <tt>T operator()(const T &a, const T &b)</tt>\n    typename            Identity,                   ///< Identity value type (cub::NullType for inclusive scans)\n    typename            Offset>                     ///< Signed integer type for global offsets\n__launch_bounds__ (int(BlockRangeScanPolicy::BLOCK_THREADS))\n__global__ void ScanRegionKernel(\n    InputIterator       d_in,                       ///< Input data\n    OutputIterator      d_out,                      ///< Output data\n    ScanTileState  tile_status,                ///< [in] Tile status interface\n    ScanOp              scan_op,                    ///< Binary scan functor (e.g., an instance of cub::Sum, cub::Min, cub::Max, etc.)\n    Identity            identity,                   ///< Identity element\n    Offset              num_items,                  ///< Total number of scan items for the entire problem\n    GridQueue<int>      queue)                      ///< Drain queue descriptor for dynamically mapping tile data onto thread blocks\n{\n    // Thread block type for scanning input tiles\n    typedef BlockRangeScan<\n        BlockRangeScanPolicy,\n        InputIterator,\n        OutputIterator,\n        ScanOp,\n        Identity,\n        Offset> BlockRangeScanT;\n\n    // Shared memory for BlockRangeScan\n    __shared__ typename BlockRangeScanT::TempStorage temp_storage;\n\n    // Process tiles\n    BlockRangeScanT(temp_storage, d_in, d_out, scan_op, identity).ConsumeRange(\n        num_items,\n        queue,\n        tile_status);\n}\n\n\n\n\n/******************************************************************************\n * Dispatch\n ******************************************************************************/\n\n/**\n * Utility class for dispatching the appropriately-tuned kernels for DeviceScan\n */\ntemplate <\n    typename InputIterator,      ///< Random-access input iterator type for reading scan input data \\iterator\n    typename OutputIterator,     ///< Random-access output iterator type for writing scan output data \\iterator\n    typename ScanOp,             ///< Binary scan functor type having member <tt>T operator()(const T &a, const T &b)</tt>\n    typename Identity,           ///< Identity value type (cub::NullType for inclusive scans)\n    typename Offset>             ///< Signed integer type for global offsets\nstruct DeviceScanDispatch\n{\n    enum\n    {\n        INIT_KERNEL_THREADS     = 128\n    };\n\n    // Data type\n    typedef typename std::iterator_traits<InputIterator>::value_type T;\n\n    // Tile status descriptor interface type\n    typedef ScanTileState<T> ScanTileState;\n\n\n    /******************************************************************************\n     * Tuning policies\n     ******************************************************************************/\n\n    /// SM35\n    struct Policy350\n    {\n        enum {\n            NOMINAL_4B_ITEMS_PER_THREAD = 12,\n            ITEMS_PER_THREAD            = CUB_MIN(NOMINAL_4B_ITEMS_PER_THREAD, CUB_MAX(1, (NOMINAL_4B_ITEMS_PER_THREAD * 4 / sizeof(T)))),\n        };\n\n        // GTX Titan: 29.5B items/s (232.4 GB/s) @ 48M 32-bit T\n        typedef BlockRangeScanPolicy<\n                128,\n                ITEMS_PER_THREAD,\n                BLOCK_LOAD_DIRECT,\n                false,\n                LOAD_LDG,\n                BLOCK_STORE_WARP_TRANSPOSE,\n                true,\n                BLOCK_SCAN_RAKING_MEMOIZE>\n            ScanRegionPolicy;\n    };\n\n    /// SM30\n    struct Policy300\n    {\n        enum {\n            NOMINAL_4B_ITEMS_PER_THREAD = 9,\n            ITEMS_PER_THREAD            = CUB_MIN(NOMINAL_4B_ITEMS_PER_THREAD, CUB_MAX(1, (NOMINAL_4B_ITEMS_PER_THREAD * 4 / sizeof(T)))),\n        };\n\n        typedef BlockRangeScanPolicy<\n                256,\n                ITEMS_PER_THREAD,\n                BLOCK_LOAD_WARP_TRANSPOSE,\n                false,\n                LOAD_DEFAULT,\n                BLOCK_STORE_WARP_TRANSPOSE,\n                false,\n                BLOCK_SCAN_RAKING_MEMOIZE>\n            ScanRegionPolicy;\n    };\n\n    /// SM20\n    struct Policy200\n    {\n        enum {\n            NOMINAL_4B_ITEMS_PER_THREAD = 15,\n            ITEMS_PER_THREAD            = CUB_MIN(NOMINAL_4B_ITEMS_PER_THREAD, CUB_MAX(1, (NOMINAL_4B_ITEMS_PER_THREAD * 4 / sizeof(T)))),\n        };\n\n        // GTX 580: 20.3B items/s (162.3 GB/s) @ 48M 32-bit T\n        typedef BlockRangeScanPolicy<\n                128,\n                ITEMS_PER_THREAD,\n                BLOCK_LOAD_WARP_TRANSPOSE,\n                false,\n                LOAD_DEFAULT,\n                BLOCK_STORE_WARP_TRANSPOSE,\n                false,\n                BLOCK_SCAN_RAKING_MEMOIZE>\n            ScanRegionPolicy;\n    };\n\n    /// SM13\n    struct Policy130\n    {\n        enum {\n            NOMINAL_4B_ITEMS_PER_THREAD = 21,\n            ITEMS_PER_THREAD            = CUB_MIN(NOMINAL_4B_ITEMS_PER_THREAD, CUB_MAX(1, (NOMINAL_4B_ITEMS_PER_THREAD * 4 / sizeof(T)))),\n        };\n\n        typedef BlockRangeScanPolicy<\n                96,\n                ITEMS_PER_THREAD,\n                BLOCK_LOAD_WARP_TRANSPOSE,\n                false,\n                LOAD_DEFAULT,\n                BLOCK_STORE_WARP_TRANSPOSE,\n                false,\n                BLOCK_SCAN_RAKING_MEMOIZE>\n            ScanRegionPolicy;\n    };\n\n    /// SM10\n    struct Policy100\n    {\n        enum {\n            NOMINAL_4B_ITEMS_PER_THREAD = 9,\n            ITEMS_PER_THREAD            = CUB_MIN(NOMINAL_4B_ITEMS_PER_THREAD, CUB_MAX(1, (NOMINAL_4B_ITEMS_PER_THREAD * 4 / sizeof(T)))),\n        };\n\n        typedef BlockRangeScanPolicy<\n                64,\n                ITEMS_PER_THREAD,\n                BLOCK_LOAD_WARP_TRANSPOSE,\n                true,\n                LOAD_DEFAULT,\n                BLOCK_STORE_WARP_TRANSPOSE,\n                true,\n                BLOCK_SCAN_WARP_SCANS>\n            ScanRegionPolicy;\n    };\n\n\n    /******************************************************************************\n     * Tuning policies of current PTX compiler pass\n     ******************************************************************************/\n\n#if (CUB_PTX_ARCH >= 350)\n    typedef Policy350 PtxPolicy;\n\n#elif (CUB_PTX_ARCH >= 300)\n    typedef Policy300 PtxPolicy;\n\n#elif (CUB_PTX_ARCH >= 200)\n    typedef Policy200 PtxPolicy;\n\n#elif (CUB_PTX_ARCH >= 130)\n    typedef Policy130 PtxPolicy;\n\n#else\n    typedef Policy100 PtxPolicy;\n\n#endif\n\n    // \"Opaque\" policies (whose parameterizations aren't reflected in the type signature)\n    struct PtxScanRegionPolicy : PtxPolicy::ScanRegionPolicy {};\n\n\n    /******************************************************************************\n     * Utilities\n     ******************************************************************************/\n\n    /**\n     * Initialize kernel dispatch configurations with the policies corresponding to the PTX assembly we will use\n     */\n    template <typename KernelConfig>\n    CUB_RUNTIME_FUNCTION __forceinline__\n    static void InitConfigs(\n        int             ptx_version,\n        KernelConfig    &scan_range_config)\n    {\n    #if (CUB_PTX_ARCH > 0)\n\n        // We're on the device, so initialize the kernel dispatch configurations with the current PTX policy\n        scan_range_config.template Init<PtxScanRegionPolicy>();\n\n    #else\n\n        // We're on the host, so lookup and initialize the kernel dispatch configurations with the policies that match the device's PTX version\n        if (ptx_version >= 350)\n        {\n            scan_range_config.template Init<typename Policy350::ScanRegionPolicy>();\n        }\n        else if (ptx_version >= 300)\n        {\n            scan_range_config.template Init<typename Policy300::ScanRegionPolicy>();\n        }\n        else if (ptx_version >= 200)\n        {\n            scan_range_config.template Init<typename Policy200::ScanRegionPolicy>();\n        }\n        else if (ptx_version >= 130)\n        {\n            scan_range_config.template Init<typename Policy130::ScanRegionPolicy>();\n        }\n        else\n        {\n            scan_range_config.template Init<typename Policy100::ScanRegionPolicy>();\n        }\n\n    #endif\n    }\n\n\n    /**\n     * Kernel kernel dispatch configuration.  Mirrors the constants within BlockRangeScanPolicy.\n     */\n    struct KernelConfig\n    {\n        int                     block_threads;\n        int                     items_per_thread;\n        BlockLoadAlgorithm      load_policy;\n        BlockStoreAlgorithm     store_policy;\n        BlockScanAlgorithm      scan_algorithm;\n\n        template <typename BlockRangeScanPolicy>\n        CUB_RUNTIME_FUNCTION __forceinline__\n        void Init()\n        {\n            block_threads               = BlockRangeScanPolicy::BLOCK_THREADS;\n            items_per_thread            = BlockRangeScanPolicy::ITEMS_PER_THREAD;\n            load_policy                 = BlockRangeScanPolicy::LOAD_ALGORITHM;\n            store_policy                = BlockRangeScanPolicy::STORE_ALGORITHM;\n            scan_algorithm              = BlockRangeScanPolicy::SCAN_ALGORITHM;\n        }\n\n        CUB_RUNTIME_FUNCTION __forceinline__\n        void Print()\n        {\n            printf(\"%d, %d, %d, %d, %d\",\n                block_threads,\n                items_per_thread,\n                load_policy,\n                store_policy,\n                scan_algorithm);\n        }\n    };\n\n\n    /******************************************************************************\n     * Dispatch entrypoints\n     ******************************************************************************/\n\n    /**\n     * Internal dispatch routine for computing a device-wide prefix scan using the\n     * specified kernel functions.\n     */\n    template <\n        typename                    ScanInitKernelPtr,              ///< Function type of cub::ScanInitKernel\n        typename                    ScanRegionKernelPtr>            ///< Function type of cub::ScanRegionKernelPtr\n    CUB_RUNTIME_FUNCTION __forceinline__\n    static cudaError_t Dispatch(\n        void                        *d_temp_storage,                ///< [in] %Device allocation of temporary storage.  When NULL, the required allocation size is written to \\p temp_storage_bytes and no work is done.\n        size_t                      &temp_storage_bytes,            ///< [in,out] Reference to size in bytes of \\p d_temp_storage allocation\n        InputIterator               d_in,                           ///< [in] Pointer to the input sequence of data items\n        OutputIterator              d_out,                          ///< [out] Pointer to the output sequence of data items\n        ScanOp                      scan_op,                        ///< [in] Binary scan functor (e.g., an instance of cub::Sum, cub::Min, cub::Max, etc.)\n        Identity                    identity,                       ///< [in] Identity element\n        Offset                      num_items,                      ///< [in] Total number of input items (i.e., the length of \\p d_in)\n        cudaStream_t                stream,                         ///< [in] CUDA stream to launch kernels within.  Default is stream<sub>0</sub>.\n        bool                        debug_synchronous,              ///< [in] Whether or not to synchronize the stream after every kernel launch to check for errors.  Also causes launch configurations to be printed to the console.  Default is \\p false.\n        int                         ptx_version,                    ///< [in] PTX version of dispatch kernels\n        ScanInitKernelPtr           init_kernel,                    ///< [in] Kernel function pointer to parameterization of cub::ScanInitKernel\n        ScanRegionKernelPtr         scan_range_kernel,             ///< [in] Kernel function pointer to parameterization of cub::ScanRegionKernel\n        KernelConfig                scan_range_config)             ///< [in] Dispatch parameters that match the policy that \\p scan_range_kernel was compiled for\n    {\n\n#ifndef CUB_RUNTIME_ENABLED\n\n        // Kernel launch not supported from this device\n        return CubDebug(cudaErrorNotSupported);\n\n#else\n        cudaError error = cudaSuccess;\n        do\n        {\n            // Get device ordinal\n            int device_ordinal;\n            if (CubDebug(error = cudaGetDevice(&device_ordinal))) break;\n\n            // Get device SM version\n            int sm_version;\n            if (CubDebug(error = SmVersion(sm_version, device_ordinal))) break;\n\n            // Get SM count\n            int sm_count;\n            if (CubDebug(error = cudaDeviceGetAttribute (&sm_count, cudaDevAttrMultiProcessorCount, device_ordinal))) break;\n\n            // Number of input tiles\n            int tile_size = scan_range_config.block_threads * scan_range_config.items_per_thread;\n            int num_tiles = (num_items + tile_size - 1) / tile_size;\n\n            // Specify temporary storage allocation requirements\n            size_t  allocation_sizes[2];\n            if (CubDebug(error = ScanTileState::AllocationSize(num_tiles, allocation_sizes[0]))) break;    // bytes needed for tile status descriptors\n            allocation_sizes[1] = GridQueue<int>::AllocationSize();                                             // bytes needed for grid queue descriptor\n\n            // Compute allocation pointers into the single storage blob (or set the necessary size of the blob)\n            void* allocations[2];\n            if (CubDebug(error = AliasTemporaries(d_temp_storage, temp_storage_bytes, allocations, allocation_sizes))) break;\n            if (d_temp_storage == NULL)\n            {\n                // Return if the caller is simply requesting the size of the storage allocation\n                return cudaSuccess;\n            }\n\n            // Construct the tile status interface\n            ScanTileState tile_status;\n            if (CubDebug(error = tile_status.Init(num_tiles, allocations[0], allocation_sizes[0]))) break;\n\n            // Construct the grid queue descriptor\n            GridQueue<int> queue(allocations[1]);\n\n            // Log init_kernel configuration\n            int init_grid_size = (num_tiles + INIT_KERNEL_THREADS - 1) / INIT_KERNEL_THREADS;\n            if (debug_synchronous) CubLog(\"Invoking init_kernel<<<%d, %d, 0, %lld>>>()\\n\", init_grid_size, INIT_KERNEL_THREADS, (long long) stream);\n\n            // Invoke init_kernel to initialize tile descriptors and queue descriptors\n            init_kernel<<<init_grid_size, INIT_KERNEL_THREADS, 0, stream>>>(\n                queue,\n                tile_status,\n                num_tiles);\n\n            // Check for failure to launch\n            if (CubDebug(error = cudaPeekAtLastError())) break;\n\n            // Sync the stream if specified to flush runtime errors\n            if (debug_synchronous && (CubDebug(error = SyncStream(stream)))) break;\n\n            // Get SM occupancy for scan_range_kernel\n            int scan_range_sm_occupancy;\n            if (CubDebug(error = MaxSmOccupancy(\n                scan_range_sm_occupancy,            // out\n                sm_version,\n                scan_range_kernel,\n                scan_range_config.block_threads))) break;\n\n            // Get grid size for scanning tiles\n            dim3 scan_grid_size;\n            if (ptx_version <= 130)\n            {\n                // Blocks are launched in order, so just assign one block per tile\n                int max_dim_x = 32 * 1024;\n                scan_grid_size.z = 1;\n                scan_grid_size.y = (num_tiles + max_dim_x - 1) / max_dim_x;\n                scan_grid_size.x = CUB_MIN(num_tiles, max_dim_x);\n            }\n            else\n            {\n                // Blocks may not be launched in order, so use atomics\n                int scan_range_occupancy = scan_range_sm_occupancy * sm_count;        // Whole-device occupancy for scan_range_kernel\n                scan_grid_size.z = 1;\n                scan_grid_size.y = 1;\n                scan_grid_size.x = (num_tiles < scan_range_occupancy) ?\n                    num_tiles :                     // Not enough to fill the device with threadblocks\n                    scan_range_occupancy;          // Fill the device with threadblocks\n            }\n\n            // Log scan_range_kernel configuration\n            if (debug_synchronous) CubLog(\"Invoking scan_range_kernel<<<{%d,%d,%d}, %d, 0, %lld>>>(), %d items per thread, %d SM occupancy\\n\",\n                scan_grid_size.x, scan_grid_size.y, scan_grid_size.z, scan_range_config.block_threads, (long long) stream, scan_range_config.items_per_thread, scan_range_sm_occupancy);\n\n            // Invoke scan_range_kernel\n            scan_range_kernel<<<scan_grid_size, scan_range_config.block_threads, 0, stream>>>(\n                d_in,\n                d_out,\n                tile_status,\n                scan_op,\n                identity,\n                num_items,\n                queue);\n\n            // Check for failure to launch\n            if (CubDebug(error = cudaPeekAtLastError())) break;\n\n            // Sync the stream if specified to flush runtime errors\n            if (debug_synchronous && (CubDebug(error = SyncStream(stream)))) break;\n        }\n        while (0);\n\n        return error;\n\n#endif  // CUB_RUNTIME_ENABLED\n    }\n\n\n    /**\n     * Internal dispatch routine\n     */\n    CUB_RUNTIME_FUNCTION __forceinline__\n    static cudaError_t Dispatch(\n        void            *d_temp_storage,                ///< [in] %Device allocation of temporary storage.  When NULL, the required allocation size is written to \\p temp_storage_bytes and no work is done.\n        size_t          &temp_storage_bytes,            ///< [in,out] Reference to size in bytes of \\p d_temp_storage allocation\n        InputIterator   d_in,                           ///< [in] Pointer to the input sequence of data items\n        OutputIterator  d_out,                          ///< [out] Pointer to the output sequence of data items\n        ScanOp          scan_op,                        ///< [in] Binary scan functor (e.g., an instance of cub::Sum, cub::Min, cub::Max, etc.)\n        Identity        identity,                       ///< [in] Identity element\n        Offset          num_items,                      ///< [in] Total number of input items (i.e., the length of \\p d_in)\n        cudaStream_t    stream,                         ///< [in] <b>[optional]</b> CUDA stream to launch kernels within.  Default is stream<sub>0</sub>.\n        bool            debug_synchronous)              ///< [in] <b>[optional]</b> Whether or not to synchronize the stream after every kernel launch to check for errors.  Also causes launch configurations to be printed to the console.  Default is \\p false.\n    {\n        cudaError error = cudaSuccess;\n        do\n        {\n            // Get PTX version\n            int ptx_version;\n    #if (CUB_PTX_ARCH == 0)\n            if (CubDebug(error = PtxVersion(ptx_version))) break;\n    #else\n            ptx_version = CUB_PTX_ARCH;\n    #endif\n\n            // Get kernel kernel dispatch configurations\n            KernelConfig scan_range_config;\n            InitConfigs(ptx_version, scan_range_config);\n\n            // Dispatch\n            if (CubDebug(error = Dispatch(\n                d_temp_storage,\n                temp_storage_bytes,\n                d_in,\n                d_out,\n                scan_op,\n                identity,\n                num_items,\n                stream,\n                debug_synchronous,\n                ptx_version,\n                ScanInitKernel<Offset, ScanTileState>,\n                ScanRegionKernel<PtxScanRegionPolicy, InputIterator, OutputIterator, ScanTileState, ScanOp, Identity, Offset>,\n                scan_range_config))) break;\n        }\n        while (0);\n\n        return error;\n    }\n};\n\n\n\n}               // CUB namespace\nCUB_NS_POSTFIX  // Optional outer namespace(s)\n\n\n"
  },
  {
    "path": "external/cub-1.3.2/cub/device/dispatch/device_select_dispatch.cuh",
    "content": "\n/******************************************************************************\n * Copyright (c) 2011, Duane Merrill.  All rights reserved.\n * Copyright (c) 2011-2014, NVIDIA CORPORATION.  All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *     * Redistributions of source code must retain the above copyright\n *       notice, this list of conditions and the following disclaimer.\n *     * Redistributions in binary form must reproduce the above copyright\n *       notice, this list of conditions and the following disclaimer in the\n *       documentation and/or other materials provided with the distribution.\n *     * Neither the name of the NVIDIA CORPORATION nor the\n *       names of its contributors may be used to endorse or promote products\n *       derived from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n ******************************************************************************/\n\n/**\n * \\file\n * cub::DeviceSelect provides device-wide, parallel operations for selecting items from sequences of data items residing within global memory.\n */\n\n#pragma once\n\n#include <stdio.h>\n#include <iterator>\n\n#include \"device_scan_dispatch.cuh\"\n#include \"../../block_range/block_range_select.cuh\"\n#include \"../../thread/thread_operators.cuh\"\n#include \"../../grid/grid_queue.cuh\"\n#include \"../../util_device.cuh\"\n#include \"../../util_namespace.cuh\"\n\n/// Optional outer namespace(s)\nCUB_NS_PREFIX\n\n/// CUB namespace\nnamespace cub {\n\n/******************************************************************************\n * Kernel entry points\n *****************************************************************************/\n\n/**\n * Select kernel entry point (multi-block)\n *\n * Performs functor-based selection if SelectOp functor type != NullType\n * Otherwise performs flag-based selection if FlagIterator's value type != NullType\n * Otherwise performs discontinuity selection (keep unique)\n */\ntemplate <\n    typename            BlockRangeSelectPolicy,     ///< Parameterized BlockRangeSelectPolicy tuning policy type\n    typename            InputIterator,              ///< Random-access input iterator type for reading input items\n    typename            FlagIterator,               ///< Random-access input iterator type for reading selection flags (NullType* if a selection functor or discontinuity flagging is to be used for selection)\n    typename            OutputIterator,             ///< Random-access output iterator type for writing selected items\n    typename            NumSelectedIterator,        ///< Output iterator type for recording the number of items selected\n    typename            ScanTileState,         ///< Tile status interface type\n    typename            SelectOp,                   ///< Selection operator type (NullType if selection flags or discontinuity flagging is to be used for selection)\n    typename            EqualityOp,                 ///< Equality operator type (NullType if selection functor or selection flags is to be used for selection)\n    typename            Offset,                     ///< Signed integer type for global offsets\n    bool                KEEP_REJECTS>               ///< Whether or not we push rejected items to the back of the output\n__launch_bounds__ (int(BlockRangeSelectPolicy::BLOCK_THREADS))\n__global__ void SelectRegionKernel(\n    InputIterator       d_in,                       ///< [in] Pointer to input sequence of data items\n    FlagIterator        d_flags,                    ///< [in] Pointer to the input sequence of selection flags\n    OutputIterator      d_out,                      ///< [in] Pointer to output sequence of selected data items\n    NumSelectedIterator d_num_selected,             ///< [in] Pointer to total number of items selected (i.e., length of \\p d_out)\n    ScanTileState  tile_status,                ///< [in] Tile status interface\n    SelectOp            select_op,                  ///< [in] Selection operator\n    EqualityOp          equality_op,                ///< [in] Equality operator\n    Offset              num_items,                  ///< [in] Total number of input items (i.e., length of \\p d_in)\n    int                 num_tiles,                  ///< [in] Total number of tiles for the entire problem\n    GridQueue<int>      queue)                      ///< [in] Drain queue descriptor for dynamically mapping tile data onto thread blocks\n{\n    // Thread block type for selecting data from input tiles\n    typedef BlockRangeSelect<\n        BlockRangeSelectPolicy,\n        InputIterator,\n        FlagIterator,\n        OutputIterator,\n        SelectOp,\n        EqualityOp,\n        Offset,\n        KEEP_REJECTS> BlockRangeSelectT;\n\n    // Shared memory for BlockRangeSelect\n    __shared__ typename BlockRangeSelectT::TempStorage temp_storage;\n\n    // Process tiles\n    BlockRangeSelectT(temp_storage, d_in, d_flags, d_out, select_op, equality_op, num_items).ConsumeRange(\n        num_tiles,\n        queue,\n        tile_status,\n        d_num_selected);\n}\n\n\n\n\n/******************************************************************************\n * Dispatch\n ******************************************************************************/\n\n/**\n * Utility class for dispatching the appropriately-tuned kernels for DeviceSelect\n */\ntemplate <\n    typename    InputIterator,                  ///< Random-access input iterator type for reading input items\n    typename    FlagIterator,                   ///< Random-access input iterator type for reading selection flags (NullType* if a selection functor or discontinuity flagging is to be used for selection)\n    typename    OutputIterator,                 ///< Random-access output iterator type for writing selected items\n    typename    NumSelectedIterator,            ///< Output iterator type for recording the number of items selected\n    typename    SelectOp,                       ///< Selection operator type (NullType if selection flags or discontinuity flagging is to be used for selection)\n    typename    EqualityOp,                     ///< Equality operator type (NullType if selection functor or selection flags is to be used for selection)\n    typename    Offset,                         ///< Signed integer type for global offsets\n    bool        KEEP_REJECTS>                   ///< Whether or not we push rejected items to the back of the output\nstruct DeviceSelectDispatch\n{\n    /******************************************************************************\n     * Types and constants\n     ******************************************************************************/\n\n    // Data type of input iterator\n    typedef typename std::iterator_traits<InputIterator>::value_type T;\n\n    // Data type of flag iterator\n    typedef typename std::iterator_traits<FlagIterator>::value_type Flag;\n\n    enum\n    {\n        INIT_KERNEL_THREADS = 128,\n    };\n\n    // Tile status descriptor interface type\n    typedef ScanTileState<Offset> ScanTileState;\n\n\n    /******************************************************************************\n     * Tuning policies\n     ******************************************************************************/\n\n    /// SM35\n    struct Policy350\n    {\n        enum {\n            NOMINAL_4B_ITEMS_PER_THREAD = 11,\n            ITEMS_PER_THREAD            = CUB_MIN(NOMINAL_4B_ITEMS_PER_THREAD, CUB_MAX(1, (NOMINAL_4B_ITEMS_PER_THREAD * 4 / sizeof(T)))),\n        };\n\n        typedef BlockRangeSelectPolicy<\n                128,\n                ITEMS_PER_THREAD,\n                BLOCK_LOAD_DIRECT,\n                LOAD_LDG,\n                true,\n                BLOCK_SCAN_WARP_SCANS>\n            SelectRegionPolicy;\n    };\n\n    /// SM30\n    struct Policy300\n    {\n        enum {\n            NOMINAL_4B_ITEMS_PER_THREAD = 5,\n            ITEMS_PER_THREAD            = CUB_MIN(NOMINAL_4B_ITEMS_PER_THREAD, CUB_MAX(1, (NOMINAL_4B_ITEMS_PER_THREAD * 4 / sizeof(T)))),\n        };\n\n        typedef BlockRangeSelectPolicy<\n                256,\n                ITEMS_PER_THREAD,\n                BLOCK_LOAD_WARP_TRANSPOSE,\n                LOAD_DEFAULT,\n                true,\n                BLOCK_SCAN_RAKING_MEMOIZE>\n            SelectRegionPolicy;\n    };\n\n    /// SM20\n    struct Policy200\n    {\n        enum {\n            NOMINAL_4B_ITEMS_PER_THREAD = (KEEP_REJECTS) ? 7 : 17,\n            ITEMS_PER_THREAD            = CUB_MIN(NOMINAL_4B_ITEMS_PER_THREAD, CUB_MAX(1, (NOMINAL_4B_ITEMS_PER_THREAD * 4 / sizeof(T)))),\n        };\n\n        typedef BlockRangeSelectPolicy<\n                128,\n                ITEMS_PER_THREAD,\n                BLOCK_LOAD_WARP_TRANSPOSE,\n                LOAD_DEFAULT,\n                true,\n                BLOCK_SCAN_WARP_SCANS>\n            SelectRegionPolicy;\n    };\n\n    /// SM13\n    struct Policy130\n    {\n        enum {\n            NOMINAL_4B_ITEMS_PER_THREAD = 9,\n            ITEMS_PER_THREAD            = CUB_MIN(NOMINAL_4B_ITEMS_PER_THREAD, CUB_MAX(1, (NOMINAL_4B_ITEMS_PER_THREAD * 4 / sizeof(T)))),\n        };\n\n        typedef BlockRangeSelectPolicy<\n                64,\n                ITEMS_PER_THREAD,\n                BLOCK_LOAD_WARP_TRANSPOSE,\n                LOAD_DEFAULT,\n                true,\n                BLOCK_SCAN_RAKING_MEMOIZE>\n            SelectRegionPolicy;\n    };\n\n    /// SM10\n    struct Policy100\n    {\n        enum {\n            NOMINAL_4B_ITEMS_PER_THREAD = 9,\n            ITEMS_PER_THREAD            = CUB_MIN(NOMINAL_4B_ITEMS_PER_THREAD, CUB_MAX(1, (NOMINAL_4B_ITEMS_PER_THREAD * 4 / sizeof(T)))),\n        };\n\n        typedef BlockRangeSelectPolicy<\n                256,\n                ITEMS_PER_THREAD,\n                BLOCK_LOAD_WARP_TRANSPOSE,\n                LOAD_DEFAULT,\n                true,\n                BLOCK_SCAN_RAKING_MEMOIZE>\n            SelectRegionPolicy;\n    };\n\n\n    /******************************************************************************\n     * Tuning policies of current PTX compiler pass\n     ******************************************************************************/\n\n#if (CUB_PTX_ARCH >= 350)\n    typedef Policy350 PtxPolicy;\n\n#elif (CUB_PTX_ARCH >= 300)\n    typedef Policy300 PtxPolicy;\n\n#elif (CUB_PTX_ARCH >= 200)\n    typedef Policy200 PtxPolicy;\n\n#elif (CUB_PTX_ARCH >= 130)\n    typedef Policy130 PtxPolicy;\n\n#else\n    typedef Policy100 PtxPolicy;\n\n#endif\n\n    // \"Opaque\" policies (whose parameterizations aren't reflected in the type signature)\n    struct PtxSelectRegionPolicy : PtxPolicy::SelectRegionPolicy {};\n\n\n    /******************************************************************************\n     * Utilities\n     ******************************************************************************/\n\n    /**\n     * Initialize kernel dispatch configurations with the policies corresponding to the PTX assembly we will use\n     */\n    template <typename KernelConfig>\n    CUB_RUNTIME_FUNCTION __forceinline__\n    static void InitConfigs(\n        int             ptx_version,\n        KernelConfig    &select_range_config)\n    {\n    #if (CUB_PTX_ARCH > 0)\n\n        // We're on the device, so initialize the kernel dispatch configurations with the current PTX policy\n        select_range_config.template Init<PtxSelectRegionPolicy>();\n\n    #else\n\n        // We're on the host, so lookup and initialize the kernel dispatch configurations with the policies that match the device's PTX version\n        if (ptx_version >= 350)\n        {\n            select_range_config.template Init<typename Policy350::SelectRegionPolicy>();\n        }\n        else if (ptx_version >= 300)\n        {\n            select_range_config.template Init<typename Policy300::SelectRegionPolicy>();\n        }\n        else if (ptx_version >= 200)\n        {\n            select_range_config.template Init<typename Policy200::SelectRegionPolicy>();\n        }\n        else if (ptx_version >= 130)\n        {\n            select_range_config.template Init<typename Policy130::SelectRegionPolicy>();\n        }\n        else\n        {\n            select_range_config.template Init<typename Policy100::SelectRegionPolicy>();\n        }\n\n    #endif\n    }\n\n\n    /**\n     * Kernel kernel dispatch configuration.  Mirrors the constants within BlockRangeSelectPolicy.\n     */\n    struct KernelConfig\n    {\n        int                     block_threads;\n        int                     items_per_thread;\n        BlockLoadAlgorithm      load_policy;\n        bool                    two_phase_scatter;\n        BlockScanAlgorithm      scan_algorithm;\n\n        template <typename BlockRangeSelectPolicy>\n        CUB_RUNTIME_FUNCTION __forceinline__\n        void Init()\n        {\n            block_threads               = BlockRangeSelectPolicy::BLOCK_THREADS;\n            items_per_thread            = BlockRangeSelectPolicy::ITEMS_PER_THREAD;\n            load_policy                 = BlockRangeSelectPolicy::LOAD_ALGORITHM;\n            two_phase_scatter           = BlockRangeSelectPolicy::TWO_PHASE_SCATTER;\n            scan_algorithm              = BlockRangeSelectPolicy::SCAN_ALGORITHM;\n        }\n\n        CUB_RUNTIME_FUNCTION __forceinline__\n        void Print()\n        {\n            printf(\"%d, %d, %d, %d, %d\",\n                block_threads,\n                items_per_thread,\n                load_policy,\n                two_phase_scatter,\n                scan_algorithm);\n        }\n    };\n\n\n    /******************************************************************************\n     * Dispatch entrypoints\n     ******************************************************************************/\n\n    /**\n     * Internal dispatch routine for computing a device-wide prefix scan using the\n     * specified kernel functions.\n     */\n    template <\n        typename                    ScanInitKernelPtr,              ///< Function type of cub::ScanInitKernel\n        typename                    SelectRegionKernelPtr>          ///< Function type of cub::SelectRegionKernelPtr\n    CUB_RUNTIME_FUNCTION __forceinline__\n    static cudaError_t Dispatch(\n        void                        *d_temp_storage,                ///< [in] %Device allocation of temporary storage.  When NULL, the required allocation size is written to \\p temp_storage_bytes and no work is done.\n        size_t                      &temp_storage_bytes,            ///< [in,out] Reference to size in bytes of \\p d_temp_storage allocation\n        InputIterator               d_in,                           ///< [in] Pointer to input sequence of data items\n        FlagIterator                d_flags,                        ///< [in] Pointer to the input sequence of selection flags\n        OutputIterator              d_out,                          ///< [in] Pointer to output sequence of selected data items\n        NumSelectedIterator         d_num_selected,                 ///< [in] Pointer to total number of items selected (i.e., length of \\p d_out)\n        SelectOp                    select_op,                      ///< [in] Selection operator\n        EqualityOp                  equality_op,                    ///< [in] Equality operator\n        Offset                      num_items,                      ///< [in] Total number of input items (i.e., length of \\p d_in)\n        cudaStream_t                stream,                         ///< [in] CUDA stream to launch kernels within.  Default is stream<sub>0</sub>.\n        bool                        debug_synchronous,              ///< [in] Whether or not to synchronize the stream after every kernel launch to check for errors.  Also causes launch configurations to be printed to the console.  Default is \\p false.\n        int                         ptx_version,                    ///< [in] PTX version of dispatch kernels\n        ScanInitKernelPtr           init_kernel,                    ///< [in] Kernel function pointer to parameterization of cub::ScanInitKernel\n        SelectRegionKernelPtr       select_range_kernel,           ///< [in] Kernel function pointer to parameterization of cub::SelectRegionKernel\n        KernelConfig                select_range_config)           ///< [in] Dispatch parameters that match the policy that \\p select_range_kernel was compiled for\n    {\n\n#ifndef CUB_RUNTIME_ENABLED\n\n        // Kernel launch not supported from this device\n        return CubDebug(cudaErrorNotSupported);\n\n#else\n\n        cudaError error = cudaSuccess;\n        do\n        {\n            // Get device ordinal\n            int device_ordinal;\n            if (CubDebug(error = cudaGetDevice(&device_ordinal))) break;\n\n            // Get device SM version\n            int sm_version;\n            if (CubDebug(error = SmVersion(sm_version, device_ordinal))) break;\n\n            // Get SM count\n            int sm_count;\n            if (CubDebug(error = cudaDeviceGetAttribute (&sm_count, cudaDevAttrMultiProcessorCount, device_ordinal))) break;\n\n            // Number of input tiles\n            int tile_size = select_range_config.block_threads * select_range_config.items_per_thread;\n            int num_tiles = (num_items + tile_size - 1) / tile_size;\n\n            // Specify temporary storage allocation requirements\n            size_t  allocation_sizes[2];\n            if (CubDebug(error = ScanTileState::AllocationSize(num_tiles, allocation_sizes[0]))) break;    // bytes needed for tile status descriptors\n            allocation_sizes[1] = GridQueue<int>::AllocationSize();                                             // bytes needed for grid queue descriptor\n\n            // Compute allocation pointers into the single storage blob (or set the necessary size of the blob)\n            void* allocations[2];\n            if (CubDebug(error = AliasTemporaries(d_temp_storage, temp_storage_bytes, allocations, allocation_sizes))) break;\n            if (d_temp_storage == NULL)\n            {\n                // Return if the caller is simply requesting the size of the storage allocation\n                return cudaSuccess;\n            }\n\n            // Construct the tile status interface\n            ScanTileState tile_status;\n            if (CubDebug(error = tile_status.Init(num_tiles, allocations[0], allocation_sizes[0]))) break;\n\n            // Construct the grid queue descriptor\n            GridQueue<int> queue(allocations[1]);\n\n            // Log init_kernel configuration\n            int init_grid_size = (num_tiles + INIT_KERNEL_THREADS - 1) / INIT_KERNEL_THREADS;\n            if (debug_synchronous) CubLog(\"Invoking init_kernel<<<%d, %d, 0, %lld>>>()\\n\", init_grid_size, INIT_KERNEL_THREADS, (long long) stream);\n\n            // Invoke init_kernel to initialize tile descriptors and queue descriptors\n            init_kernel<<<init_grid_size, INIT_KERNEL_THREADS, 0, stream>>>(\n                queue,\n                tile_status,\n                num_tiles);\n\n            // Check for failure to launch\n            if (CubDebug(error = cudaPeekAtLastError())) break;\n\n            // Sync the stream if specified to flush runtime errors\n            if (debug_synchronous && (CubDebug(error = SyncStream(stream)))) break;\n\n            // Get SM occupancy for select_range_kernel\n            int select_range_sm_occupancy;\n            if (CubDebug(error = MaxSmOccupancy(\n                select_range_sm_occupancy,            // out\n                sm_version,\n                select_range_kernel,\n                select_range_config.block_threads))) break;\n\n            // Get grid size for scanning tiles\n            dim3 select_grid_size;\n            if (ptx_version <= 130)\n            {\n                // Blocks are launched in order, so just assign one block per tile\n                int max_dim_x = 32 * 1024;\n                select_grid_size.z = 1;\n                select_grid_size.y = (num_tiles + max_dim_x - 1) / max_dim_x;\n                select_grid_size.x = CUB_MIN(num_tiles, max_dim_x);\n            }\n            else\n            {\n                // Blocks may not be launched in order, so use atomics\n                int select_range_occupancy = select_range_sm_occupancy * sm_count;        // Whole-device occupancy for select_range_kernel\n                select_grid_size.z = 1;\n                select_grid_size.y = 1;\n                select_grid_size.x = (num_tiles < select_range_occupancy) ?\n                    num_tiles :                     // Not enough to fill the device with threadblocks\n                    select_range_occupancy;        // Fill the device with threadblocks\n            }\n\n            // Log select_range_kernel configuration\n            if (debug_synchronous) CubLog(\"Invoking select_range_kernel<<<{%d,%d,%d}, %d, 0, %lld>>>(), %d items per thread, %d SM occupancy\\n\",\n                select_grid_size.x, select_grid_size.y, select_grid_size.z, select_range_config.block_threads, (long long) stream, select_range_config.items_per_thread, select_range_sm_occupancy);\n\n            // Invoke select_range_kernel\n            select_range_kernel<<<select_grid_size, select_range_config.block_threads, 0, stream>>>(\n                d_in,\n                d_flags,\n                d_out,\n                d_num_selected,\n                tile_status,\n                select_op,\n                equality_op,\n                num_items,\n                num_tiles,\n                queue);\n\n            // Check for failure to launch\n            if (CubDebug(error = cudaPeekAtLastError())) break;\n\n            // Sync the stream if specified to flush runtime errors\n            if (debug_synchronous && (CubDebug(error = SyncStream(stream)))) break;\n        }\n        while (0);\n\n        return error;\n\n#endif  // CUB_RUNTIME_ENABLED\n    }\n\n\n    /**\n     * Internal dispatch routine\n     */\n    CUB_RUNTIME_FUNCTION __forceinline__\n    static cudaError_t Dispatch(\n        void                        *d_temp_storage,                ///< [in] %Device allocation of temporary storage.  When NULL, the required allocation size is written to \\p temp_storage_bytes and no work is done.\n        size_t                      &temp_storage_bytes,            ///< [in,out] Reference to size in bytes of \\p d_temp_storage allocation\n        InputIterator               d_in,                           ///< [in] Pointer to input sequence of data items\n        FlagIterator                d_flags,                        ///< [in] Pointer to the input sequence of selection flags\n        OutputIterator              d_out,                          ///< [in] Pointer to output sequence of selected data items\n        NumSelectedIterator         d_num_selected,                 ///< [in] Pointer to total number of items selected (i.e., length of \\p d_out)\n        SelectOp                    select_op,                      ///< [in] Selection operator\n        EqualityOp                  equality_op,                    ///< [in] Equality operator\n        Offset                      num_items,                      ///< [in] Total number of input items (i.e., length of \\p d_in)\n        cudaStream_t                stream,                         ///< [in] <b>[optional]</b> CUDA stream to launch kernels within.  Default is stream<sub>0</sub>.\n        bool                        debug_synchronous)              ///< [in] <b>[optional]</b> Whether or not to synchronize the stream after every kernel launch to check for errors.  Also causes launch configurations to be printed to the console.  Default is \\p false.\n    {\n        cudaError error = cudaSuccess;\n        do\n        {\n            // Get PTX version\n            int ptx_version;\n    #if (CUB_PTX_ARCH == 0)\n            if (CubDebug(error = PtxVersion(ptx_version))) break;\n    #else\n            ptx_version = CUB_PTX_ARCH;\n    #endif\n\n            // Get kernel kernel dispatch configurations\n            KernelConfig select_range_config;\n            InitConfigs(ptx_version, select_range_config);\n\n            // Dispatch\n            if (CubDebug(error = Dispatch(\n                d_temp_storage,\n                temp_storage_bytes,\n                d_in,\n                d_flags,\n                d_out,\n                d_num_selected,\n                select_op,\n                equality_op,\n                num_items,\n                stream,\n                debug_synchronous,\n                ptx_version,\n                ScanInitKernel<Offset, ScanTileState>,\n                SelectRegionKernel<PtxSelectRegionPolicy, InputIterator, FlagIterator, OutputIterator, NumSelectedIterator, ScanTileState, SelectOp, EqualityOp, Offset, KEEP_REJECTS>,\n                select_range_config))) break;\n        }\n        while (0);\n\n        return error;\n    }\n};\n\n\n}               // CUB namespace\nCUB_NS_POSTFIX  // Optional outer namespace(s)\n\n\n"
  },
  {
    "path": "external/cub-1.3.2/cub/grid/grid_barrier.cuh",
    "content": "/******************************************************************************\n * Copyright (c) 2011, Duane Merrill.  All rights reserved.\n * Copyright (c) 2011-2014, NVIDIA CORPORATION.  All rights reserved.\n * \n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *     * Redistributions of source code must retain the above copyright\n *       notice, this list of conditions and the following disclaimer.\n *     * Redistributions in binary form must reproduce the above copyright\n *       notice, this list of conditions and the following disclaimer in the\n *       documentation and/or other materials provided with the distribution.\n *     * Neither the name of the NVIDIA CORPORATION nor the\n *       names of its contributors may be used to endorse or promote products\n *       derived from this software without specific prior written permission.\n * \n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n ******************************************************************************/\n\n/**\n * \\file\n * cub::GridBarrier implements a software global barrier among thread blocks within a CUDA grid\n */\n\n#pragma once\n\n#include \"../util_debug.cuh\"\n#include \"../util_namespace.cuh\"\n#include \"../thread/thread_load.cuh\"\n\n/// Optional outer namespace(s)\nCUB_NS_PREFIX\n\n/// CUB namespace\nnamespace cub {\n\n\n/**\n * \\addtogroup GridModule\n * @{\n */\n\n\n/**\n * \\brief GridBarrier implements a software global barrier among thread blocks within a CUDA grid\n */\nclass GridBarrier\n{\nprotected :\n\n    typedef unsigned int SyncFlag;\n\n    // Counters in global device memory\n    SyncFlag* d_sync;\n\npublic:\n\n    /**\n     * Constructor\n     */\n    GridBarrier() : d_sync(NULL) {}\n\n\n    /**\n     * Synchronize\n     */\n    __device__ __forceinline__ void Sync() const\n    {\n        volatile SyncFlag *d_vol_sync = d_sync;\n\n        // Threadfence and syncthreads to make sure global writes are visible before\n        // thread-0 reports in with its sync counter\n        __threadfence();\n        __syncthreads();\n\n        if (blockIdx.x == 0)\n        {\n            // Report in ourselves\n            if (threadIdx.x == 0)\n            {\n                d_vol_sync[blockIdx.x] = 1;\n            }\n\n            __syncthreads();\n\n            // Wait for everyone else to report in\n            for (int peer_block = threadIdx.x; peer_block < gridDim.x; peer_block += blockDim.x)\n            {\n                while (ThreadLoad<LOAD_CG>(d_sync + peer_block) == 0)\n                {\n                    __threadfence_block();\n                }\n            }\n\n            __syncthreads();\n\n            // Let everyone know it's safe to proceed\n            for (int peer_block = threadIdx.x; peer_block < gridDim.x; peer_block += blockDim.x)\n            {\n                d_vol_sync[peer_block] = 0;\n            }\n        }\n        else\n        {\n            if (threadIdx.x == 0)\n            {\n                // Report in\n                d_vol_sync[blockIdx.x] = 1;\n\n                // Wait for acknowledgment\n                while (ThreadLoad<LOAD_CG>(d_sync + blockIdx.x) == 1)\n                {\n                    __threadfence_block();\n                }\n            }\n\n            __syncthreads();\n        }\n    }\n};\n\n\n/**\n * \\brief GridBarrierLifetime extends GridBarrier to provide lifetime management of the temporary device storage needed for cooperation.\n *\n * Uses RAII for lifetime, i.e., device resources are reclaimed when\n * the destructor is called.\n */\nclass GridBarrierLifetime : public GridBarrier\n{\nprotected:\n\n    // Number of bytes backed by d_sync\n    size_t sync_bytes;\n\npublic:\n\n    /**\n     * Constructor\n     */\n    GridBarrierLifetime() : GridBarrier(), sync_bytes(0) {}\n\n\n    /**\n     * DeviceFrees and resets the progress counters\n     */\n    cudaError_t HostReset()\n    {\n        cudaError_t retval = cudaSuccess;\n        if (d_sync)\n        {\n            CubDebug(retval = cudaFree(d_sync));\n            d_sync = NULL;\n        }\n        sync_bytes = 0;\n        return retval;\n    }\n\n\n    /**\n     * Destructor\n     */\n    virtual ~GridBarrierLifetime()\n    {\n        HostReset();\n    }\n\n\n    /**\n     * Sets up the progress counters for the next kernel launch (lazily\n     * allocating and initializing them if necessary)\n     */\n    cudaError_t Setup(int sweep_grid_size)\n    {\n        cudaError_t retval = cudaSuccess;\n        do {\n            size_t new_sync_bytes = sweep_grid_size * sizeof(SyncFlag);\n            if (new_sync_bytes > sync_bytes)\n            {\n                if (d_sync)\n                {\n                    if (CubDebug(retval = cudaFree(d_sync))) break;\n                }\n\n                sync_bytes = new_sync_bytes;\n\n                // Allocate and initialize to zero\n                if (CubDebug(retval = cudaMalloc((void**) &d_sync, sync_bytes))) break;\n                if (CubDebug(retval = cudaMemset(d_sync, 0, new_sync_bytes))) break;\n            }\n        } while (0);\n\n        return retval;\n    }\n};\n\n\n/** @} */       // end group GridModule\n\n}               // CUB namespace\nCUB_NS_POSTFIX  // Optional outer namespace(s)\n\n"
  },
  {
    "path": "external/cub-1.3.2/cub/grid/grid_even_share.cuh",
    "content": "/******************************************************************************\n * Copyright (c) 2011, Duane Merrill.  All rights reserved.\n * Copyright (c) 2011-2014, NVIDIA CORPORATION.  All rights reserved.\n * \n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *     * Redistributions of source code must retain the above copyright\n *       notice, this list of conditions and the following disclaimer.\n *     * Redistributions in binary form must reproduce the above copyright\n *       notice, this list of conditions and the following disclaimer in the\n *       documentation and/or other materials provided with the distribution.\n *     * Neither the name of the NVIDIA CORPORATION nor the\n *       names of its contributors may be used to endorse or promote products\n *       derived from this software without specific prior written permission.\n * \n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n ******************************************************************************/\n\n/**\n * \\file\n * cub::GridEvenShare is a descriptor utility for distributing input among CUDA threadblocks in an \"even-share\" fashion.  Each threadblock gets roughly the same number of fixed-size work units (grains).\n */\n\n\n#pragma once\n\n#include \"../util_namespace.cuh\"\n#include \"../util_macro.cuh\"\n\n/// Optional outer namespace(s)\nCUB_NS_PREFIX\n\n/// CUB namespace\nnamespace cub {\n\n\n/**\n * \\addtogroup GridModule\n * @{\n */\n\n\n/**\n * \\brief GridEvenShare is a descriptor utility for distributing input among CUDA threadblocks in an \"even-share\" fashion.  Each threadblock gets roughly the same number of fixed-size work units (grains).\n *\n * \\par Overview\n * GridEvenShare indicates which sections of input are to be mapped onto which threadblocks.\n * Threadblocks may receive one of three different amounts of work: \"big\", \"normal\",\n * and \"last\".  The \"big\" workloads are one scheduling grain larger than \"normal\".  The \"last\" work unit\n * for the last threadblock may be partially-full if the input is not an even multiple of\n * the scheduling grain size.\n *\n * \\par\n * Before invoking a child grid, a parent thread will typically construct an instance of\n * GridEvenShare.  The instance can be passed to child threadblocks which can\n * initialize their per-threadblock offsets using \\p BlockInit().\n *\n * \\tparam Offset       Signed integer type for global offsets\n */\ntemplate <typename Offset>\nstruct GridEvenShare\n{\n    Offset      total_grains;\n    int         big_blocks;\n    Offset      big_share;\n    Offset      normal_share;\n    Offset      normal_base_offset;\n\n    /// Total number of input items\n    Offset      num_items;\n\n    /// Grid size in threadblocks\n    int         grid_size;\n\n    /// Offset into input marking the beginning of the owning thread block's segment of input tiles\n    Offset      block_offset;\n\n    /// Offset into input of marking the end (one-past) of the owning thread block's segment of input tiles\n    Offset      block_end;\n\n    /**\n     * \\brief Default constructor.  Zero-initializes block-specific fields.\n     */\n    __host__ __device__ __forceinline__ GridEvenShare() :\n        num_items(0),\n        grid_size(0),\n        block_offset(0),\n        block_end(0) {}\n\n    /**\n     * \\brief Constructor.  Initializes the grid-specific members \\p num_items and \\p grid_size. To be called prior prior to kernel launch)\n     */\n    __host__ __device__ __forceinline__ GridEvenShare(\n        Offset   num_items,                 ///< Total number of input items\n        int     max_grid_size,              ///< Maximum grid size allowable (actual grid size may be less if not warranted by the the number of input items)\n        int     schedule_granularity)       ///< Granularity by which the input can be parcelled into and distributed among threablocks.  Usually the thread block's native tile size (or a multiple thereof.\n    {\n        this->num_items             = num_items;\n        this->block_offset          = num_items;\n        this->block_end             = num_items;\n        this->total_grains          = (num_items + schedule_granularity - 1) / schedule_granularity;\n        this->grid_size             = CUB_MIN(total_grains, max_grid_size);\n        Offset grains_per_block     = total_grains / grid_size;\n        this->big_blocks            = total_grains - (grains_per_block * grid_size);        // leftover grains go to big blocks\n        this->normal_share          = grains_per_block * schedule_granularity;\n        this->normal_base_offset    = big_blocks * schedule_granularity;\n        this->big_share             = normal_share + schedule_granularity;\n    }\n\n\n\n    /**\n     * \\brief Initializes ranges for the specified partition index\n     */\n    __device__ __forceinline__ void Init(int partition_id)\n    {\n        if (partition_id < big_blocks)\n        {\n            // This threadblock gets a big share of grains (grains_per_block + 1)\n            block_offset = (partition_id * big_share);\n            block_end = block_offset + big_share;\n        }\n        else if (partition_id < total_grains)\n        {\n            // This threadblock gets a normal share of grains (grains_per_block)\n            block_offset = normal_base_offset + (partition_id * normal_share);\n            block_end = CUB_MIN(num_items, block_offset + normal_share);\n        }\n    }\n\n\n    /**\n     * \\brief Initializes ranges for the current thread block (e.g., to be called by each threadblock after startup)\n     */\n    __device__ __forceinline__ void BlockInit()\n    {\n        Init(blockIdx.x);\n    }\n\n\n    /**\n     * Print to stdout\n     */\n    __host__ __device__ __forceinline__ void Print()\n    {\n        printf(\n#if (CUB_PTX_ARCH > 0)\n            \"\\tthreadblock(%d) \"\n            \"block_offset(%lu) \"\n            \"block_end(%lu) \"\n#endif\n            \"num_items(%lu)  \"\n            \"total_grains(%lu)  \"\n            \"big_blocks(%lu)  \"\n            \"big_share(%lu)  \"\n            \"normal_share(%lu)\\n\",\n#if (CUB_PTX_ARCH > 0)\n                blockIdx.x,\n                (unsigned long) block_offset,\n                (unsigned long) block_end,\n#endif\n                (unsigned long) num_items,\n                (unsigned long) total_grains,\n                (unsigned long) big_blocks,\n                (unsigned long) big_share,\n                (unsigned long) normal_share);\n    }\n};\n\n\n\n/** @} */       // end group GridModule\n\n}               // CUB namespace\nCUB_NS_POSTFIX  // Optional outer namespace(s)\n"
  },
  {
    "path": "external/cub-1.3.2/cub/grid/grid_mapping.cuh",
    "content": "/******************************************************************************\n * Copyright (c) 2011, Duane Merrill.  All rights reserved.\n * Copyright (c) 2011-2014, NVIDIA CORPORATION.  All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *     * Redistributions of source code must retain the above copyright\n *       notice, this list of conditions and the following disclaimer.\n *     * Redistributions in binary form must reproduce the above copyright\n *       notice, this list of conditions and the following disclaimer in the\n *       documentation and/or other materials provided with the distribution.\n *     * Neither the name of the NVIDIA CORPORATION nor the\n *       names of its contributors may be used to endorse or promote products\n *       derived from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n ******************************************************************************/\n\n/**\n * \\file\n * cub::GridMappingStrategy enumerates alternative strategies for mapping constant-sized tiles of device-wide data onto a grid of CUDA thread blocks.\n */\n\n#pragma once\n\n#include \"../util_namespace.cuh\"\n\n/// Optional outer namespace(s)\nCUB_NS_PREFIX\n\n/// CUB namespace\nnamespace cub {\n\n\n/**\n * \\addtogroup GridModule\n * @{\n */\n\n\n/******************************************************************************\n * Mapping policies\n *****************************************************************************/\n\n\n/**\n * \\brief cub::GridMappingStrategy enumerates alternative strategies for mapping constant-sized tiles of device-wide data onto a grid of CUDA thread blocks.\n */\nenum GridMappingStrategy\n{\n    /**\n     * \\brief An \"even-share\" strategy for assigning input tiles to thread blocks.\n     *\n     * \\par Overview\n     * The input is evenly partitioned into \\p p segments, where \\p p is\n     * constant and corresponds loosely to the number of thread blocks that may\n     * actively reside on the target device. Each segment is comprised of\n     * consecutive tiles, where a tile is a small, constant-sized unit of input\n     * to be processed to completion before the thread block terminates or\n     * obtains more work.  The kernel invokes \\p p thread blocks, each\n     * of which iteratively consumes a segment of <em>n</em>/<em>p</em> elements\n     * in tile-size increments.\n     */\n    GRID_MAPPING_EVEN_SHARE,\n\n    /**\n     * \\brief A dynamic \"queue-based\" strategy for assigning input tiles to thread blocks.\n     *\n     * \\par Overview\n     * The input is treated as a queue to be dynamically consumed by a grid of\n     * thread blocks.  Work is atomically dequeued in tiles, where a tile is a\n     * unit of input to be processed to completion before the thread block\n     * terminates or obtains more work.  The grid size \\p p is constant,\n     * loosely corresponding to the number of thread blocks that may actively\n     * reside on the target device.\n     */\n    GRID_MAPPING_DYNAMIC,\n};\n\n\n/** @} */       // end group GridModule\n\n}               // CUB namespace\nCUB_NS_POSTFIX  // Optional outer namespace(s)\n\n"
  },
  {
    "path": "external/cub-1.3.2/cub/grid/grid_queue.cuh",
    "content": "/******************************************************************************\n * Copyright (c) 2011, Duane Merrill.  All rights reserved.\n * Copyright (c) 2011-2014, NVIDIA CORPORATION.  All rights reserved.\n * \n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *     * Redistributions of source code must retain the above copyright\n *       notice, this list of conditions and the following disclaimer.\n *     * Redistributions in binary form must reproduce the above copyright\n *       notice, this list of conditions and the following disclaimer in the\n *       documentation and/or other materials provided with the distribution.\n *     * Neither the name of the NVIDIA CORPORATION nor the\n *       names of its contributors may be used to endorse or promote products\n *       derived from this software without specific prior written permission.\n * \n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n ******************************************************************************/\n\n/**\n * \\file\n * cub::GridQueue is a descriptor utility for dynamic queue management.\n */\n\n#pragma once\n\n#include \"../util_namespace.cuh\"\n#include \"../util_debug.cuh\"\n\n/// Optional outer namespace(s)\nCUB_NS_PREFIX\n\n/// CUB namespace\nnamespace cub {\n\n\n/**\n * \\addtogroup GridModule\n * @{\n */\n\n\n/**\n * \\brief GridQueue is a descriptor utility for dynamic queue management.\n *\n * \\par Overview\n * GridQueue descriptors provides abstractions for \"filling\" or\n * \"draining\" globally-shared vectors.\n *\n * \\par\n * A \"filling\" GridQueue works by atomically-adding to a zero-initialized counter,\n * returning a unique offset for the calling thread to write its items.\n * The GridQueue maintains the total \"fill-size\".  The fill counter must be reset\n * using GridQueue::ResetFill by the host or kernel instance prior to the kernel instance that\n * will be filling.\n *\n * \\par\n * Similarly, a \"draining\" GridQueue works by works by atomically-incrementing a\n * zero-initialized counter, returning a unique offset for the calling thread to\n * read its items. Threads can safely drain until the array's logical fill-size is\n * exceeded.  The drain counter must be reset using GridQueue::ResetDrain or\n * GridQueue::FillAndResetDrain by the host or kernel instance prior to the kernel instance that\n * will be filling.  (For dynamic work distribution of existing data, the corresponding fill-size\n * is simply the number of elements in the array.)\n *\n * \\par\n * Iterative work management can be implemented simply with a pair of flip-flopping\n * work buffers, each with an associated set of fill and drain GridQueue descriptors.\n *\n * \\tparam Offset Signed integer type for global offsets\n */\ntemplate <typename Offset>\nclass GridQueue\n{\nprivate:\n\n    /// Counter indices\n    enum\n    {\n        FILL    = 0,\n        DRAIN   = 1,\n    };\n\n    /// Pair of counters\n    Offset *d_counters;\n\npublic:\n\n    /// Returns the device allocation size in bytes needed to construct a GridQueue instance\n    __host__ __device__ __forceinline__\n    static size_t AllocationSize()\n    {\n        return sizeof(Offset) * 2;\n    }\n\n\n    /// Constructs an invalid GridQueue descriptor\n    __host__ __device__ __forceinline__ GridQueue()\n    :\n        d_counters(NULL)\n    {}\n\n\n    /// Constructs a GridQueue descriptor around the device storage allocation\n    __host__ __device__ __forceinline__ GridQueue(\n        void *d_storage)                    ///< Device allocation to back the GridQueue.  Must be at least as big as <tt>AllocationSize()</tt>.\n    :\n        d_counters((Offset*) d_storage)\n    {}\n\n\n    /// This operation sets the fill-size and resets the drain counter, preparing the GridQueue for draining in the next kernel instance.  To be called by the host or by a kernel prior to that which will be draining.\n    __host__ __device__ __forceinline__ cudaError_t FillAndResetDrain(\n        Offset fill_size,\n        cudaStream_t stream = 0)\n    {\n#if (CUB_PTX_ARCH > 0)\n        d_counters[FILL] = fill_size;\n        d_counters[DRAIN] = 0;\n        return cudaSuccess;\n#else\n        Offset counters[2];\n        counters[FILL] = fill_size;\n        counters[DRAIN] = 0;\n        return CubDebug(cudaMemcpyAsync(d_counters, counters, sizeof(Offset) * 2, cudaMemcpyHostToDevice, stream));\n#endif\n    }\n\n\n    /// This operation resets the drain so that it may advance to meet the existing fill-size.  To be called by the host or by a kernel prior to that which will be draining.\n    __host__ __device__ __forceinline__ cudaError_t ResetDrain(cudaStream_t stream = 0)\n    {\n#if (CUB_PTX_ARCH > 0)\n        d_counters[DRAIN] = 0;\n        return cudaSuccess;\n#else\n        return FillAndResetDrain(0, stream);\n#endif\n    }\n\n\n    /// This operation resets the fill counter.  To be called by the host or by a kernel prior to that which will be filling.\n    __host__ __device__ __forceinline__ cudaError_t ResetFill()\n    {\n#if (CUB_PTX_ARCH > 0)\n        d_counters[FILL] = 0;\n        return cudaSuccess;\n#else\n        return CubDebug(cudaMemset(d_counters + FILL, 0, sizeof(Offset)));\n#endif\n    }\n\n\n    /// Returns the fill-size established by the parent or by the previous kernel.\n    __host__ __device__ __forceinline__ cudaError_t FillSize(\n        Offset &fill_size,\n        cudaStream_t stream = 0)\n    {\n#if (CUB_PTX_ARCH > 0)\n        fill_size = d_counters[FILL];\n        return cudaSuccess;\n#else\n        return CubDebug(cudaMemcpyAsync(&fill_size, d_counters + FILL, sizeof(Offset), cudaMemcpyDeviceToHost, stream));\n#endif\n    }\n\n\n    /// Drain num_items.  Returns offset from which to read items.\n    __device__ __forceinline__ Offset Drain(Offset num_items)\n    {\n        return atomicAdd(d_counters + DRAIN, num_items);\n    }\n\n\n    /// Fill num_items.  Returns offset from which to write items.\n    __device__ __forceinline__ Offset Fill(Offset num_items)\n    {\n        return atomicAdd(d_counters + FILL, num_items);\n    }\n};\n\n\n#ifndef DOXYGEN_SHOULD_SKIP_THIS    // Do not document\n\n\n/**\n * Reset grid queue (call with 1 block of 1 thread)\n */\ntemplate <typename Offset>\n__global__ void FillAndResetDrainKernel(\n    GridQueue<Offset>    grid_queue,\n    Offset               num_items)\n{\n    grid_queue.FillAndResetDrain(num_items);\n}\n\n\n\n#endif // DOXYGEN_SHOULD_SKIP_THIS\n\n\n/** @} */       // end group GridModule\n\n}               // CUB namespace\nCUB_NS_POSTFIX  // Optional outer namespace(s)\n\n\n"
  },
  {
    "path": "external/cub-1.3.2/cub/host/spinlock.cuh",
    "content": "/******************************************************************************\n * Copyright (c) 2011, Duane Merrill.  All rights reserved.\n * Copyright (c) 2011-2014, NVIDIA CORPORATION.  All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *     * Redistributions of source code must retain the above copyright\n *       notice, this list of conditions and the following disclaimer.\n *     * Redistributions in binary form must reproduce the above copyright\n *       notice, this list of conditions and the following disclaimer in the\n *       documentation and/or other materials provided with the distribution.\n *     * Neither the name of the NVIDIA CORPORATION nor the\n *       names of its contributors may be used to endorse or promote products\n *       derived from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n ******************************************************************************/\n\n/**\n * \\file\n * Simple x86/x64 atomic spinlock, portable across MS Windows (cl.exe) & Linux (g++)\n */\n\n\n#pragma once\n\n#if defined(_WIN32) || defined(_WIN64)\n    #include <intrin.h>\n    #include <windows.h>\n    #undef small            // Windows is terrible for polluting macro namespace\n\n    /**\n     * Compiler read/write barrier\n     */\n    #pragma intrinsic(_ReadWriteBarrier)\n\n#endif\n\n#include \"../util_namespace.cuh\"\n\n/// Optional outer namespace(s)\nCUB_NS_PREFIX\n\n/// CUB namespace\nnamespace cub {\n\n\n#if defined(_MSC_VER)\n\n    // Microsoft VC++\n    typedef long Spinlock;\n\n#else\n\n    // GNU g++\n    typedef int Spinlock;\n\n    /**\n     * Compiler read/write barrier\n     */\n    __forceinline__ void _ReadWriteBarrier()\n    {\n        __sync_synchronize();\n    }\n\n    /**\n     * Atomic exchange\n     */\n    __forceinline__ long _InterlockedExchange(volatile int * const Target, const int Value)\n    {\n        // NOTE: __sync_lock_test_and_set would be an acquire barrier, so we force a full barrier\n        _ReadWriteBarrier();\n        return __sync_lock_test_and_set(Target, Value);\n    }\n\n    /**\n     * Pause instruction to prevent excess processor bus usage\n     */\n    __forceinline__ void YieldProcessor()\n    {\n#ifndef __arm__\n        asm volatile(\"pause\\n\": : :\"memory\");\n#endif  // __arm__\n    }\n\n#endif  // defined(_MSC_VER)\n\n/**\n * Return when the specified spinlock has been acquired\n */\n__forceinline__ void Lock(volatile Spinlock *lock)\n{\n    while (1)\n    {\n        if (!_InterlockedExchange(lock, 1)) return;\n        while (*lock) YieldProcessor();\n    }\n}\n\n\n/**\n * Release the specified spinlock\n */\n__forceinline__ void Unlock(volatile Spinlock *lock)\n{\n    _ReadWriteBarrier();\n    *lock = 0;\n}\n\n\n}               // CUB namespace\nCUB_NS_POSTFIX  // Optional outer namespace(s)\n\n"
  },
  {
    "path": "external/cub-1.3.2/cub/iterator/arg_index_input_iterator.cuh",
    "content": "/******************************************************************************\n * Copyright (c) 2011, Duane Merrill.  All rights reserved.\n * Copyright (c) 2011-2014, NVIDIA CORPORATION.  All rights reserved.\n * \n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *     * Redistributions of source code must retain the above copyright\n *       notice, this list of conditions and the following disclaimer.\n *     * Redistributions in binary form must reproduce the above copyright\n *       notice, this list of conditions and the following disclaimer in the\n *       documentation and/or other materials provided with the distribution.\n *     * Neither the name of the NVIDIA CORPORATION nor the\n *       names of its contributors may be used to endorse or promote products\n *       derived from this software without specific prior written permission.\n * \n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n ******************************************************************************/\n\n/**\n * \\file\n * Random-access iterator types\n */\n\n#pragma once\n\n#include <iterator>\n#include <iostream>\n\n#include \"../thread/thread_load.cuh\"\n#include \"../thread/thread_store.cuh\"\n#include \"../util_device.cuh\"\n#include \"../util_namespace.cuh\"\n\n#include <thrust/version.h>\n\n#if (THRUST_VERSION >= 100700)\n    // This iterator is compatible with Thrust API 1.7 and newer\n    #include <thrust/iterator/iterator_facade.h>\n    #include <thrust/iterator/iterator_traits.h>\n#endif // THRUST_VERSION\n\n/// Optional outer namespace(s)\nCUB_NS_PREFIX\n\n/// CUB namespace\nnamespace cub {\n\n/**\n * \\addtogroup UtilIterator\n * @{\n */\n\n\n/**\n * \\brief A random-access input wrapper for pairing dereferenced values with their corresponding indices (forming \\p ItemOffsetPair tuples).\n *\n * \\par Overview\n * - ArgIndexInputIterator wraps a random access input iterator \\p itr of type \\p InputIterator.\n *   Dereferencing an ArgIndexInputIterator at offset \\p i produces a \\p ItemOffsetPair value whose\n *   \\p offset field is \\p i and whose \\p item field is <tt>itr[i]</tt>.\n * - Can be used with any data type.\n * - Can be constructed, manipulated, and exchanged within and between host and device\n *   functions.  Wrapped host memory can only be dereferenced on the host, and wrapped\n *   device memory can only be dereferenced on the device.\n * - Compatible with Thrust API v1.7 or newer.\n *\n * \\par Snippet\n * The code snippet below illustrates the use of \\p ArgIndexInputIterator to\n * dereference an array of doubles\n * \\par\n * \\code\n * #include <cub/cub.cuh>   // or equivalently <cub/iterator/arg_index_input_iterator.cuh>\n *\n * // Declare, allocate, and initialize a device array\n * double *d_in;         // e.g., [8.0, 6.0, 7.0, 5.0, 3.0, 0.0, 9.0]\n *\n * // Create an iterator wrapper\n * cub::ArgIndexInputIterator<double*> itr(d_in);\n *\n * // Within device code:\n * typedef typename cub::ArgIndexInputIterator<double*>::value_type Tuple;\n * Tuple item_offset_pair.offset = *itr;\n * printf(\"%f @ %d\\n\",\n *  item_offset_pair.value,\n *  item_offset_pair.offset);   // 8.0 @ 0\n *\n * itr = itr + 6;\n * item_offset_pair.offset = *itr;\n * printf(\"%f @ %d\\n\",\n *  item_offset_pair.value,\n *  item_offset_pair.offset);   // 9.0 @ 6\n *\n * \\endcode\n *\n * \\tparam InputIterator        The type of the wrapped input iterator\n * \\tparam Offset               The difference type of this iterator (Default: \\p ptrdiff_t)\n */\ntemplate <\n    typename    InputIterator,\n    typename    Offset = ptrdiff_t>\nclass ArgIndexInputIterator\n{\nprivate:\n\n    // Data type of input iterator\n    typedef typename std::iterator_traits<InputIterator>::value_type T;\n\npublic:\n\n\n    // Required iterator traits\n    typedef ArgIndexInputIterator               self_type;              ///< My own type\n    typedef Offset                              difference_type;        ///< Type to express the result of subtracting one iterator from another\n    typedef ItemOffsetPair<T, difference_type>  value_type;             ///< The type of the element the iterator can point to\n    typedef value_type*                         pointer;                ///< The type of a pointer to an element the iterator can point to\n    typedef value_type                          reference;              ///< The type of a reference to an element the iterator can point to\n\n#if (THRUST_VERSION >= 100700)\n    // Use Thrust's iterator categories so we can use these iterators in Thrust 1.7 (or newer) methods\n    typedef typename thrust::detail::iterator_facade_category<\n        thrust::any_system_tag,\n        thrust::random_access_traversal_tag,\n        value_type,\n        reference\n      >::type iterator_category;                                        ///< The iterator category\n#else\n    typedef std::random_access_iterator_tag     iterator_category;      ///< The iterator category\n#endif  // THRUST_VERSION\n\nprivate:\n\n    InputIterator   itr;\n    difference_type offset;\n\npublic:\n\n    /// Constructor\n    __host__ __device__ __forceinline__ ArgIndexInputIterator(\n        InputIterator   itr,            ///< Input iterator to wrap\n        difference_type offset = 0)     ///< Offset (in items) from \\p itr denoting the position of the iterator\n    :\n        itr(itr),\n        offset(offset)\n    {}\n\n    /// Postfix increment\n    __host__ __device__ __forceinline__ self_type operator++(int)\n    {\n        self_type retval = *this;\n        offset++;\n        return retval;\n    }\n\n    /// Prefix increment\n    __host__ __device__ __forceinline__ self_type operator++()\n    {\n        offset++;\n        return *this;\n    }\n\n    /// Indirection\n    __host__ __device__ __forceinline__ reference operator*() const\n    {\n        value_type retval;\n        retval.value = itr[offset];\n        retval.offset = offset;\n        return retval;\n    }\n\n    /// Addition\n    template <typename Distance>\n    __host__ __device__ __forceinline__ self_type operator+(Distance n) const\n    {\n        self_type retval(itr, offset + n);\n        return retval;\n    }\n\n    /// Addition assignment\n    template <typename Distance>\n    __host__ __device__ __forceinline__ self_type& operator+=(Distance n)\n    {\n        offset += n;\n        return *this;\n    }\n\n    /// Subtraction\n    template <typename Distance>\n    __host__ __device__ __forceinline__ self_type operator-(Distance n) const\n    {\n        self_type retval(itr, offset - n);\n        return retval;\n    }\n\n    /// Subtraction assignment\n    template <typename Distance>\n    __host__ __device__ __forceinline__ self_type& operator-=(Distance n)\n    {\n        offset -= n;\n        return *this;\n    }\n\n    /// Distance\n    __host__ __device__ __forceinline__ difference_type operator-(self_type other) const\n    {\n        return offset - other.offset;\n    }\n\n    /// Array subscript\n    template <typename Distance>\n    __host__ __device__ __forceinline__ reference operator[](Distance n) const\n    {\n        return *(*this + n);\n    }\n\n    /// Structure dereference\n    __host__ __device__ __forceinline__ pointer operator->()\n    {\n        return &(*(*this));\n    }\n\n    /// Equal to\n    __host__ __device__ __forceinline__ bool operator==(const self_type& rhs)\n    {\n        return ((itr == rhs.itr) && (offset == rhs.offset));\n    }\n\n    /// Not equal to\n    __host__ __device__ __forceinline__ bool operator!=(const self_type& rhs)\n    {\n        return ((itr != rhs.itr) || (offset != rhs.offset));\n    }\n\n    /// ostream operator\n    friend std::ostream& operator<<(std::ostream& os, const self_type& itr)\n    {\n        return os;\n    }\n};\n\n\n\n/** @} */       // end group UtilIterator\n\n}               // CUB namespace\nCUB_NS_POSTFIX  // Optional outer namespace(s)\n"
  },
  {
    "path": "external/cub-1.3.2/cub/iterator/cache_modified_input_iterator.cuh",
    "content": "/******************************************************************************\n * Copyright (c) 2011, Duane Merrill.  All rights reserved.\n * Copyright (c) 2011-2014, NVIDIA CORPORATION.  All rights reserved.\n * \n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *     * Redistributions of source code must retain the above copyright\n *       notice, this list of conditions and the following disclaimer.\n *     * Redistributions in binary form must reproduce the above copyright\n *       notice, this list of conditions and the following disclaimer in the\n *       documentation and/or other materials provided with the distribution.\n *     * Neither the name of the NVIDIA CORPORATION nor the\n *       names of its contributors may be used to endorse or promote products\n *       derived from this software without specific prior written permission.\n * \n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n ******************************************************************************/\n\n/**\n * \\file\n * Random-access iterator types\n */\n\n#pragma once\n\n#include <iterator>\n#include <iostream>\n\n#include \"../thread/thread_load.cuh\"\n#include \"../thread/thread_store.cuh\"\n#include \"../util_device.cuh\"\n#include \"../util_namespace.cuh\"\n\n#if (THRUST_VERSION >= 100700)\n    // This iterator is compatible with Thrust API 1.7 and newer\n    #include <thrust/iterator/iterator_facade.h>\n    #include <thrust/iterator/iterator_traits.h>\n#endif // THRUST_VERSION\n\n\n/// Optional outer namespace(s)\nCUB_NS_PREFIX\n\n/// CUB namespace\nnamespace cub {\n\n\n\n/**\n * \\addtogroup UtilIterator\n * @{\n */\n\n\n/**\n * \\brief A random-access input wrapper for dereferencing array values using a PTX cache load modifier.\n *\n * \\par Overview\n * - CacheModifiedInputIterator is a random-access input iterator that wraps a native\n *   device pointer of type <tt>ValueType*</tt>. \\p ValueType references are\n *   made by reading \\p ValueType values through loads modified by \\p MODIFIER.\n * - Can be used to load any data type from memory using PTX cache load modifiers (e.g., \"LOAD_LDG\",\n *   \"LOAD_CG\", \"LOAD_CA\", \"LOAD_CS\", \"LOAD_CV\", etc.).\n * - Can be constructed, manipulated, and exchanged within and between host and device\n *   functions, but can only be dereferenced within device functions.\n * - Compatible with Thrust API v1.7 or newer.\n *\n * \\par Snippet\n * The code snippet below illustrates the use of \\p CacheModifiedInputIterator to\n * dereference a device array of double using the \"ldg\" PTX load modifier\n * (i.e., load values through texture cache).\n * \\par\n * \\code\n * #include <cub/cub.cuh>   // or equivalently <cub/iterator/cache_modified_input_iterator.cuh>\n *\n * // Declare, allocate, and initialize a device array\n * double *d_in;            // e.g., [8.0, 6.0, 7.0, 5.0, 3.0, 0.0, 9.0]\n *\n * // Create an iterator wrapper\n * cub::CacheModifiedInputIterator<cub::LOAD_LDG, double> itr(d_in);\n *\n * // Within device code:\n * printf(\"%f\\n\", itr[0]);  // 8.0\n * printf(\"%f\\n\", itr[1]);  // 6.0\n * printf(\"%f\\n\", itr[6]);  // 9.0\n *\n * \\endcode\n *\n * \\tparam CacheLoadModifier    The cub::CacheLoadModifier to use when accessing data\n * \\tparam ValueType            The value type of this iterator\n * \\tparam Offset               The difference type of this iterator (Default: \\p ptrdiff_t)\n */\ntemplate <\n    CacheLoadModifier   MODIFIER,\n    typename            ValueType,\n    typename            Offset = ptrdiff_t>\nclass CacheModifiedInputIterator\n{\npublic:\n\n    // Required iterator traits\n    typedef CacheModifiedInputIterator          self_type;              ///< My own type\n    typedef Offset                              difference_type;        ///< Type to express the result of subtracting one iterator from another\n    typedef ValueType                           value_type;             ///< The type of the element the iterator can point to\n    typedef ValueType*                          pointer;                ///< The type of a pointer to an element the iterator can point to\n    typedef ValueType                           reference;              ///< The type of a reference to an element the iterator can point to\n\n#if (THRUST_VERSION >= 100700)\n    // Use Thrust's iterator categories so we can use these iterators in Thrust 1.7 (or newer) methods\n    typedef typename thrust::detail::iterator_facade_category<\n        thrust::device_system_tag,\n        thrust::random_access_traversal_tag,\n        value_type,\n        reference\n      >::type iterator_category;                                        ///< The iterator category\n#else\n    typedef std::random_access_iterator_tag     iterator_category;      ///< The iterator category\n#endif  // THRUST_VERSION\n\n\nprivate:\n\n    ValueType* ptr;\n\npublic:\n\n    /// Constructor\n    __host__ __device__ __forceinline__ CacheModifiedInputIterator(\n        ValueType* ptr)     ///< Native pointer to wrap\n    :\n        ptr(ptr)\n    {}\n\n    /// Postfix increment\n    __host__ __device__ __forceinline__ self_type operator++(int)\n    {\n        self_type retval = *this;\n        ptr++;\n        return retval;\n    }\n\n    /// Prefix increment\n    __host__ __device__ __forceinline__ self_type operator++()\n    {\n        ptr++;\n        return *this;\n    }\n\n    /// Indirection\n    __host__ __device__ __forceinline__ reference operator*() const\n    {\n        return ThreadLoad<MODIFIER>(ptr);\n    }\n\n    /// Addition\n    template <typename Distance>\n    __host__ __device__ __forceinline__ self_type operator+(Distance n) const\n    {\n        self_type retval(ptr + n);\n        return retval;\n    }\n\n    /// Addition assignment\n    template <typename Distance>\n    __host__ __device__ __forceinline__ self_type& operator+=(Distance n)\n    {\n        ptr += n;\n        return *this;\n    }\n\n    /// Subtraction\n    template <typename Distance>\n    __host__ __device__ __forceinline__ self_type operator-(Distance n) const\n    {\n        self_type retval(ptr - n);\n        return retval;\n    }\n\n    /// Subtraction assignment\n    template <typename Distance>\n    __host__ __device__ __forceinline__ self_type& operator-=(Distance n)\n    {\n        ptr -= n;\n        return *this;\n    }\n\n    /// Distance\n    __host__ __device__ __forceinline__ difference_type operator-(self_type other) const\n    {\n        return ptr - other.ptr;\n    }\n\n    /// Array subscript\n    template <typename Distance>\n    __host__ __device__ __forceinline__ reference operator[](Distance n) const\n    {\n        return ThreadLoad<MODIFIER>(ptr + n);\n    }\n\n    /// Structure dereference\n    __host__ __device__ __forceinline__ pointer operator->()\n    {\n        return &ThreadLoad<MODIFIER>(ptr);\n    }\n\n    /// Equal to\n    __host__ __device__ __forceinline__ bool operator==(const self_type& rhs)\n    {\n        return (ptr == rhs.ptr);\n    }\n\n    /// Not equal to\n    __host__ __device__ __forceinline__ bool operator!=(const self_type& rhs)\n    {\n        return (ptr != rhs.ptr);\n    }\n\n    /// ostream operator\n    friend std::ostream& operator<<(std::ostream& os, const self_type& itr)\n    {\n        return os;\n    }\n};\n\n\n\n/** @} */       // end group UtilIterator\n\n}               // CUB namespace\nCUB_NS_POSTFIX  // Optional outer namespace(s)\n"
  },
  {
    "path": "external/cub-1.3.2/cub/iterator/cache_modified_output_iterator.cuh",
    "content": "/******************************************************************************\n * Copyright (c) 2011, Duane Merrill.  All rights reserved.\n * Copyright (c) 2011-2014, NVIDIA CORPORATION.  All rights reserved.\n * \n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *     * Redistributions of source code must retain the above copyright\n *       notice, this list of conditions and the following disclaimer.\n *     * Redistributions in binary form must reproduce the above copyright\n *       notice, this list of conditions and the following disclaimer in the\n *       documentation and/or other materials provided with the distribution.\n *     * Neither the name of the NVIDIA CORPORATION nor the\n *       names of its contributors may be used to endorse or promote products\n *       derived from this software without specific prior written permission.\n * \n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n ******************************************************************************/\n\n/**\n * \\file\n * Random-access iterator types\n */\n\n#pragma once\n\n#include <iterator>\n#include <iostream>\n\n#include \"../thread/thread_load.cuh\"\n#include \"../thread/thread_store.cuh\"\n#include \"../util_device.cuh\"\n#include \"../util_namespace.cuh\"\n\n#if (THRUST_VERSION >= 100700)\n    // This iterator is compatible with Thrust API 1.7 and newer\n    #include <thrust/iterator/iterator_facade.h>\n    #include <thrust/iterator/iterator_traits.h>\n#endif // THRUST_VERSION\n\n\n/// Optional outer namespace(s)\nCUB_NS_PREFIX\n\n/// CUB namespace\nnamespace cub {\n\n\n/**\n * \\addtogroup UtilIterator\n * @{\n */\n\n\n/**\n * \\brief A random-access output wrapper for storing array values using a PTX cache-modifier.\n *\n * \\par Overview\n * - CacheModifiedOutputIterator is a random-access output iterator that wraps a native\n *   device pointer of type <tt>ValueType*</tt>. \\p ValueType references are\n *   made by writing \\p ValueType values through stores modified by \\p MODIFIER.\n * - Can be used to store any data type to memory using PTX cache store modifiers (e.g., \"STORE_WB\",\n *   \"STORE_CG\", \"STORE_CS\", \"STORE_WT\", etc.).\n * - Can be constructed, manipulated, and exchanged within and between host and device\n *   functions, but can only be dereferenced within device functions.\n * - Compatible with Thrust API v1.7 or newer.\n *\n * \\par Snippet\n * The code snippet below illustrates the use of \\p CacheModifiedOutputIterator to\n * dereference a device array of doubles using the \"wt\" PTX load modifier\n * (i.e., write-through to system memory).\n * \\par\n * \\code\n * #include <cub/cub.cuh>   // or equivalently <cub/iterator/cache_modified_output_iterator.cuh>\n *\n * // Declare, allocate, and initialize a device array\n * double *d_out;              // e.g., [, , , , , , ]\n *\n * // Create an iterator wrapper\n * cub::CacheModifiedOutputIterator<cub::STORE_WT, double> itr(d_out);\n *\n * // Within device code:\n * itr[0]  = 8.0;\n * itr[1]  = 66.0;\n * itr[55] = 24.0;\n *\n * \\endcode\n *\n * \\par Usage Considerations\n * - Can only be dereferenced within device code\n *\n * \\tparam CacheStoreModifier     The cub::CacheStoreModifier to use when accessing data\n * \\tparam ValueType            The value type of this iterator\n * \\tparam Offset               The difference type of this iterator (Default: \\p ptrdiff_t)\n */\ntemplate <\n    CacheStoreModifier  MODIFIER,\n    typename            ValueType,\n    typename            Offset = ptrdiff_t>\nclass CacheModifiedOutputIterator\n{\nprivate:\n\n    // Proxy object\n    struct Reference\n    {\n        ValueType* ptr;\n\n        /// Constructor\n        __host__ __device__ __forceinline__ Reference(ValueType* ptr) : ptr(ptr) {}\n\n        /// Assignment\n        __host__ __device__ __forceinline__ ValueType operator =(ValueType val)\n        {\n            ThreadStore<MODIFIER>(ptr, val);\n            return val;\n        }\n    };\n\npublic:\n\n    // Required iterator traits\n    typedef CacheModifiedOutputIterator         self_type;              ///< My own type\n    typedef Offset                              difference_type;        ///< Type to express the result of subtracting one iterator from another\n    typedef ValueType                           value_type;             ///< The type of the element the iterator can point to\n    typedef ValueType*                          pointer;                ///< The type of a pointer to an element the iterator can point to\n    typedef Reference                           reference;              ///< The type of a reference to an element the iterator can point to\n\n#if (THRUST_VERSION >= 100700)\n    // Use Thrust's iterator categories so we can use these iterators in Thrust 1.7 (or newer) methods\n    typedef typename thrust::detail::iterator_facade_category<\n        thrust::device_system_tag,\n        thrust::random_access_traversal_tag,\n        value_type,\n        reference\n      >::type iterator_category;                                        ///< The iterator category\n#else\n    typedef std::random_access_iterator_tag     iterator_category;      ///< The iterator category\n#endif  // THRUST_VERSION\n\nprivate:\n\n    ValueType* ptr;\n\npublic:\n\n    /// Constructor\n    __host__ __device__ __forceinline__ CacheModifiedOutputIterator(\n        ValueType* ptr)     ///< Native pointer to wrap\n    :\n        ptr(ptr)\n    {}\n\n    /// Postfix increment\n    __host__ __device__ __forceinline__ self_type operator++(int)\n    {\n        self_type retval = *this;\n        ptr++;\n        return retval;\n    }\n\n\n    /// Prefix increment\n    __host__ __device__ __forceinline__ self_type operator++()\n    {\n        ptr++;\n        return *this;\n    }\n\n    /// Indirection\n    __host__ __device__ __forceinline__ reference operator*() const\n    {\n        return Reference(ptr);\n    }\n\n    /// Addition\n    template <typename Distance>\n    __host__ __device__ __forceinline__ self_type operator+(Distance n) const\n    {\n        self_type retval(ptr + n);\n        return retval;\n    }\n\n    /// Addition assignment\n    template <typename Distance>\n    __host__ __device__ __forceinline__ self_type& operator+=(Distance n)\n    {\n        ptr += n;\n        return *this;\n    }\n\n    /// Subtraction\n    template <typename Distance>\n    __host__ __device__ __forceinline__ self_type operator-(Distance n) const\n    {\n        self_type retval(ptr - n);\n        return retval;\n    }\n\n    /// Subtraction assignment\n    template <typename Distance>\n    __host__ __device__ __forceinline__ self_type& operator-=(Distance n)\n    {\n        ptr -= n;\n        return *this;\n    }\n\n    /// Distance\n    __host__ __device__ __forceinline__ difference_type operator-(self_type other) const\n    {\n        return ptr - other.ptr;\n    }\n\n    /// Array subscript\n    template <typename Distance>\n    __host__ __device__ __forceinline__ reference operator[](Distance n) const\n    {\n        return Reference(ptr + n);\n    }\n\n    /// Equal to\n    __host__ __device__ __forceinline__ bool operator==(const self_type& rhs)\n    {\n        return (ptr == rhs.ptr);\n    }\n\n    /// Not equal to\n    __host__ __device__ __forceinline__ bool operator!=(const self_type& rhs)\n    {\n        return (ptr != rhs.ptr);\n    }\n\n    /// ostream operator\n    friend std::ostream& operator<<(std::ostream& os, const self_type& itr)\n    {\n        return os;\n    }\n};\n\n\n/** @} */       // end group UtilIterator\n\n}               // CUB namespace\nCUB_NS_POSTFIX  // Optional outer namespace(s)\n"
  },
  {
    "path": "external/cub-1.3.2/cub/iterator/constant_input_iterator.cuh",
    "content": "/******************************************************************************\n * Copyright (c) 2011, Duane Merrill.  All rights reserved.\n * Copyright (c) 2011-2014, NVIDIA CORPORATION.  All rights reserved.\n * \n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *     * Redistributions of source code must retain the above copyright\n *       notice, this list of conditions and the following disclaimer.\n *     * Redistributions in binary form must reproduce the above copyright\n *       notice, this list of conditions and the following disclaimer in the\n *       documentation and/or other materials provided with the distribution.\n *     * Neither the name of the NVIDIA CORPORATION nor the\n *       names of its contributors may be used to endorse or promote products\n *       derived from this software without specific prior written permission.\n * \n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n ******************************************************************************/\n\n/**\n * \\file\n * Random-access iterator types\n */\n\n#pragma once\n\n#include <iterator>\n#include <iostream>\n\n#include \"../thread/thread_load.cuh\"\n#include \"../thread/thread_store.cuh\"\n#include \"../util_namespace.cuh\"\n\n#if (THRUST_VERSION >= 100700)\n    // This iterator is compatible with Thrust API 1.7 and newer\n    #include <thrust/iterator/iterator_facade.h>\n    #include <thrust/iterator/iterator_traits.h>\n#endif // THRUST_VERSION\n\n\n/// Optional outer namespace(s)\nCUB_NS_PREFIX\n\n/// CUB namespace\nnamespace cub {\n\n\n/**\n * \\addtogroup UtilIterator\n * @{\n */\n\n\n/**\n * \\brief A random-access input generator for dereferencing a sequence of homogeneous values\n *\n * \\par Overview\n * - Read references to a ConstantInputIterator iterator always return the supplied constant\n *   of type \\p ValueType.\n * - Can be used with any data type.\n * - Can be constructed, manipulated, dereferenced, and exchanged within and between host and device\n *   functions.\n * - Compatible with Thrust API v1.7 or newer.\n *\n * \\par Snippet\n * The code snippet below illustrates the use of \\p ConstantInputIterator to\n * dereference a sequence of homogeneous doubles.\n * \\par\n * \\code\n * #include <cub/cub.cuh>   // or equivalently <cub/iterator/constant_input_iterator.cuh>\n *\n * cub::ConstantInputIterator<double> itr(5.0);\n *\n * printf(\"%f\\n\", itr[0]);      // 5.0\n * printf(\"%f\\n\", itr[1]);      // 5.0\n * printf(\"%f\\n\", itr[2]);      // 5.0\n * printf(\"%f\\n\", itr[50]);     // 5.0\n *\n * \\endcode\n *\n * \\tparam ValueType            The value type of this iterator\n * \\tparam Offset               The difference type of this iterator (Default: \\p ptrdiff_t)\n */\ntemplate <\n    typename ValueType,\n    typename Offset = ptrdiff_t>\nclass ConstantInputIterator\n{\npublic:\n\n    // Required iterator traits\n    typedef ConstantInputIterator               self_type;              ///< My own type\n    typedef Offset                              difference_type;        ///< Type to express the result of subtracting one iterator from another\n    typedef ValueType                           value_type;             ///< The type of the element the iterator can point to\n    typedef ValueType*                          pointer;                ///< The type of a pointer to an element the iterator can point to\n    typedef ValueType                           reference;              ///< The type of a reference to an element the iterator can point to\n\n#if (THRUST_VERSION >= 100700)\n    // Use Thrust's iterator categories so we can use these iterators in Thrust 1.7 (or newer) methods\n    typedef typename thrust::detail::iterator_facade_category<\n        thrust::any_system_tag,\n        thrust::random_access_traversal_tag,\n        value_type,\n        reference\n      >::type iterator_category;                                        ///< The iterator category\n#else\n    typedef std::random_access_iterator_tag     iterator_category;      ///< The iterator category\n#endif  // THRUST_VERSION\n\nprivate:\n\n    ValueType   val;\n    Offset      offset;\n#ifdef _WIN32\n    Offset      pad[CUB_MAX(1, (16 / sizeof(Offset) - 1))];        // Workaround for win32 parameter-passing bug (ulonglong2 argmin DeviceReduce)\n#endif\n\npublic:\n\n    /// Constructor\n    __host__ __device__ __forceinline__ ConstantInputIterator(\n        ValueType   val,            ///< Starting value for the iterator instance to report\n        Offset      offset = 0)     ///< Base offset\n    :\n        val(val),\n        offset(offset)\n    {}\n\n    /// Postfix increment\n    __host__ __device__ __forceinline__ self_type operator++(int)\n    {\n        self_type retval = *this;\n        offset++;\n        return retval;\n    }\n\n    /// Prefix increment\n    __host__ __device__ __forceinline__ self_type operator++()\n    {\n        offset++;\n        return *this;\n    }\n\n    /// Indirection\n    __host__ __device__ __forceinline__ reference operator*() const\n    {\n        return val;\n    }\n\n    /// Addition\n    template <typename Distance>\n    __host__ __device__ __forceinline__ self_type operator+(Distance n) const\n    {\n        self_type retval(val, offset + n);\n        return retval;\n    }\n\n    /// Addition assignment\n    template <typename Distance>\n    __host__ __device__ __forceinline__ self_type& operator+=(Distance n)\n    {\n        offset += n;\n        return *this;\n    }\n\n    /// Subtraction\n    template <typename Distance>\n    __host__ __device__ __forceinline__ self_type operator-(Distance n) const\n    {\n        self_type retval(val, offset - n);\n        return retval;\n    }\n\n    /// Subtraction assignment\n    template <typename Distance>\n    __host__ __device__ __forceinline__ self_type& operator-=(Distance n)\n    {\n        offset -= n;\n        return *this;\n    }\n\n    /// Distance\n    __host__ __device__ __forceinline__ difference_type operator-(self_type other) const\n    {\n        return offset - other.offset;\n    }\n\n    /// Array subscript\n    template <typename Distance>\n    __host__ __device__ __forceinline__ reference operator[](Distance n) const\n    {\n        return val;\n    }\n\n    /// Structure dereference\n    __host__ __device__ __forceinline__ pointer operator->()\n    {\n        return &val;\n    }\n\n    /// Equal to\n    __host__ __device__ __forceinline__ bool operator==(const self_type& rhs)\n    {\n        return (offset == rhs.offset) && ((val == rhs.val));\n    }\n\n    /// Not equal to\n    __host__ __device__ __forceinline__ bool operator!=(const self_type& rhs)\n    {\n        return (offset != rhs.offset) || (val!= rhs.val);\n    }\n\n    /// ostream operator\n    friend std::ostream& operator<<(std::ostream& os, const self_type& itr)\n    {\n        os << \"[\" << itr.val << \",\" << itr.offset << \"]\";\n        return os;\n    }\n\n};\n\n\n/** @} */       // end group UtilIterator\n\n}               // CUB namespace\nCUB_NS_POSTFIX  // Optional outer namespace(s)\n"
  },
  {
    "path": "external/cub-1.3.2/cub/iterator/counting_input_iterator.cuh",
    "content": "/******************************************************************************\n * Copyright (c) 2011, Duane Merrill.  All rights reserved.\n * Copyright (c) 2011-2014, NVIDIA CORPORATION.  All rights reserved.\n * \n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *     * Redistributions of source code must retain the above copyright\n *       notice, this list of conditions and the following disclaimer.\n *     * Redistributions in binary form must reproduce the above copyright\n *       notice, this list of conditions and the following disclaimer in the\n *       documentation and/or other materials provided with the distribution.\n *     * Neither the name of the NVIDIA CORPORATION nor the\n *       names of its contributors may be used to endorse or promote products\n *       derived from this software without specific prior written permission.\n * \n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n ******************************************************************************/\n\n/**\n * \\file\n * Random-access iterator types\n */\n\n#pragma once\n\n#include <iterator>\n#include <iostream>\n\n#include \"../thread/thread_load.cuh\"\n#include \"../thread/thread_store.cuh\"\n#include \"../util_device.cuh\"\n#include \"../util_namespace.cuh\"\n\n#if (THRUST_VERSION >= 100700)\n    // This iterator is compatible with Thrust API 1.7 and newer\n    #include <thrust/iterator/iterator_facade.h>\n    #include <thrust/iterator/iterator_traits.h>\n#endif // THRUST_VERSION\n\n\n/// Optional outer namespace(s)\nCUB_NS_PREFIX\n\n/// CUB namespace\nnamespace cub {\n\n/**\n * \\addtogroup UtilIterator\n * @{\n */\n\n/**\n * \\brief A random-access input generator for dereferencing a sequence of incrementing integer values.\n *\n * \\par Overview\n * - After initializing a CountingInputIterator to a certain integer \\p base, read references\n *   at \\p offset will return the value \\p base + \\p offset.\n * - Can be constructed, manipulated, dereferenced, and exchanged within and between host and device\n *   functions.\n * - Compatible with Thrust API v1.7 or newer.\n *\n * \\par Snippet\n * The code snippet below illustrates the use of \\p CountingInputIterator to\n * dereference a sequence of incrementing integers.\n * \\par\n * \\code\n * #include <cub/cub.cuh>   // or equivalently <cub/iterator/counting_input_iterator.cuh>\n *\n * cub::CountingInputIterator<int> itr(5);\n *\n * printf(\"%d\\n\", itr[0]);      // 5\n * printf(\"%d\\n\", itr[1]);      // 6\n * printf(\"%d\\n\", itr[2]);      // 7\n * printf(\"%d\\n\", itr[50]);     // 55\n *\n * \\endcode\n *\n * \\tparam ValueType            The value type of this iterator\n * \\tparam Offset               The difference type of this iterator (Default: \\p ptrdiff_t)\n */\ntemplate <\n    typename ValueType,\n    typename Offset = ptrdiff_t>\nclass CountingInputIterator\n{\npublic:\n\n    // Required iterator traits\n    typedef CountingInputIterator               self_type;              ///< My own type\n    typedef Offset                              difference_type;        ///< Type to express the result of subtracting one iterator from another\n    typedef ValueType                           value_type;             ///< The type of the element the iterator can point to\n    typedef ValueType*                          pointer;                ///< The type of a pointer to an element the iterator can point to\n    typedef ValueType                           reference;              ///< The type of a reference to an element the iterator can point to\n\n#if (THRUST_VERSION >= 100700)\n    // Use Thrust's iterator categories so we can use these iterators in Thrust 1.7 (or newer) methods\n    typedef typename thrust::detail::iterator_facade_category<\n        thrust::any_system_tag,\n        thrust::random_access_traversal_tag,\n        value_type,\n        reference\n      >::type iterator_category;                                        ///< The iterator category\n#else\n    typedef std::random_access_iterator_tag     iterator_category;      ///< The iterator category\n#endif  // THRUST_VERSION\n\nprivate:\n\n    ValueType val;\n\npublic:\n\n    /// Constructor\n    __host__ __device__ __forceinline__ CountingInputIterator(\n        const ValueType &val)          ///< Starting value for the iterator instance to report\n    :\n        val(val)\n    {}\n\n    /// Postfix increment\n    __host__ __device__ __forceinline__ self_type operator++(int)\n    {\n        self_type retval = *this;\n        val++;\n        return retval;\n    }\n\n    /// Prefix increment\n    __host__ __device__ __forceinline__ self_type operator++()\n    {\n        val++;\n        return *this;\n    }\n\n    /// Indirection\n    __host__ __device__ __forceinline__ reference operator*() const\n    {\n        return val;\n    }\n\n    /// Addition\n    template <typename Distance>\n    __host__ __device__ __forceinline__ self_type operator+(Distance n) const\n    {\n        self_type retval(val + n);\n        return retval;\n    }\n\n    /// Addition assignment\n    template <typename Distance>\n    __host__ __device__ __forceinline__ self_type& operator+=(Distance n)\n    {\n        val += n;\n        return *this;\n    }\n\n    /// Subtraction\n    template <typename Distance>\n    __host__ __device__ __forceinline__ self_type operator-(Distance n) const\n    {\n        self_type retval(val - n);\n        return retval;\n    }\n\n    /// Subtraction assignment\n    template <typename Distance>\n    __host__ __device__ __forceinline__ self_type& operator-=(Distance n)\n    {\n        val -= n;\n        return *this;\n    }\n\n    /// Distance\n    __host__ __device__ __forceinline__ difference_type operator-(self_type other) const\n    {\n        return val - other.val;\n    }\n\n    /// Array subscript\n    template <typename Distance>\n    __host__ __device__ __forceinline__ reference operator[](Distance n) const\n    {\n        return val + n;\n    }\n\n    /// Structure dereference\n    __host__ __device__ __forceinline__ pointer operator->()\n    {\n        return &val;\n    }\n\n    /// Equal to\n    __host__ __device__ __forceinline__ bool operator==(const self_type& rhs)\n    {\n        return (val == rhs.val);\n    }\n\n    /// Not equal to\n    __host__ __device__ __forceinline__ bool operator!=(const self_type& rhs)\n    {\n        return (val != rhs.val);\n    }\n\n    /// ostream operator\n    friend std::ostream& operator<<(std::ostream& os, const self_type& itr)\n    {\n        os << \"[\" << itr.val << \"]\";\n        return os;\n    }\n\n};\n\n\n\n/** @} */       // end group UtilIterator\n\n}               // CUB namespace\nCUB_NS_POSTFIX  // Optional outer namespace(s)\n"
  },
  {
    "path": "external/cub-1.3.2/cub/iterator/tex_obj_input_iterator.cuh",
    "content": "/******************************************************************************\n * Copyright (c) 2011, Duane Merrill.  All rights reserved.\n * Copyright (c) 2011-2014, NVIDIA CORPORATION.  All rights reserved.\n * \n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *     * Redistributions of source code must retain the above copyright\n *       notice, this list of conditions and the following disclaimer.\n *     * Redistributions in binary form must reproduce the above copyright\n *       notice, this list of conditions and the following disclaimer in the\n *       documentation and/or other materials provided with the distribution.\n *     * Neither the name of the NVIDIA CORPORATION nor the\n *       names of its contributors may be used to endorse or promote products\n *       derived from this software without specific prior written permission.\n * \n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n ******************************************************************************/\n\n/**\n * \\file\n * Random-access iterator types\n */\n\n#pragma once\n\n#include <iterator>\n#include <iostream>\n\n#include \"../thread/thread_load.cuh\"\n#include \"../thread/thread_store.cuh\"\n#include \"../util_device.cuh\"\n#include \"../util_debug.cuh\"\n#include \"../util_namespace.cuh\"\n\n#if (THRUST_VERSION >= 100700)\n    // This iterator is compatible with Thrust API 1.7 and newer\n    #include <thrust/iterator/iterator_facade.h>\n    #include <thrust/iterator/iterator_traits.h>\n#endif // THRUST_VERSION\n\n\n/// Optional outer namespace(s)\nCUB_NS_PREFIX\n\n/// CUB namespace\nnamespace cub {\n\n/**\n * \\addtogroup UtilIterator\n * @{\n */\n\n\n\n/**\n * \\brief A random-access input wrapper for dereferencing array values through texture cache.  Uses newer Kepler-style texture objects.\n *\n * \\par Overview\n * - TexObjInputIterator wraps a native device pointer of type <tt>ValueType*</tt>. References\n *   to elements are to be loaded through texture cache.\n * - Can be used to load any data type from memory through texture cache.\n * - Can be manipulated and exchanged within and between host and device\n *   functions, can only be constructed within host functions, and can only be\n *   dereferenced within device functions.\n * - With regard to nested/dynamic parallelism, TexObjInputIterator iterators may only be\n *   created by the host thread, but can be used by any descendant kernel.\n * - Compatible with Thrust API v1.7 or newer.\n *\n * \\par Snippet\n * The code snippet below illustrates the use of \\p TexRefInputIterator to\n * dereference a device array of doubles through texture cache.\n * \\par\n * \\code\n * #include <cub/cub.cuh>   // or equivalently <cub/iterator/tex_obj_input_iterator.cuh>\n *\n * // Declare, allocate, and initialize a device array\n * int num_items;   // e.g., 7\n * double *d_in;    // e.g., [8.0, 6.0, 7.0, 5.0, 3.0, 0.0, 9.0]\n *\n * // Create an iterator wrapper\n * cub::TexObjInputIterator<double> itr;\n * itr.BindTexture(d_in, sizeof(double) * num_items);\n * ...\n *\n * // Within device code:\n * printf(\"%f\\n\", itr[0]);      // 8.0\n * printf(\"%f\\n\", itr[1]);      // 6.0\n * printf(\"%f\\n\", itr[6]);      // 9.0\n *\n * ...\n * itr.UnbindTexture();\n *\n * \\endcode\n *\n * \\tparam T                    The value type of this iterator\n * \\tparam Offset               The difference type of this iterator (Default: \\p ptrdiff_t)\n */\ntemplate <\n    typename    T,\n    typename    Offset = ptrdiff_t>\nclass TexObjInputIterator\n{\npublic:\n\n    // Required iterator traits\n    typedef TexObjInputIterator                 self_type;              ///< My own type\n    typedef Offset                              difference_type;        ///< Type to express the result of subtracting one iterator from another\n    typedef T                                   value_type;             ///< The type of the element the iterator can point to\n    typedef T*                                  pointer;                ///< The type of a pointer to an element the iterator can point to\n    typedef T                                   reference;              ///< The type of a reference to an element the iterator can point to\n\n#if (THRUST_VERSION >= 100700)\n    // Use Thrust's iterator categories so we can use these iterators in Thrust 1.7 (or newer) methods\n    typedef typename thrust::detail::iterator_facade_category<\n        thrust::device_system_tag,\n        thrust::random_access_traversal_tag,\n        value_type,\n        reference\n      >::type iterator_category;                                        ///< The iterator category\n#else\n    typedef std::random_access_iterator_tag     iterator_category;      ///< The iterator category\n#endif  // THRUST_VERSION\n\nprivate:\n\n    // Largest texture word we can use in device\n    typedef typename UnitWord<T>::TextureWord TextureWord;\n\n    // Number of texture words per T\n    enum {\n        TEXTURE_MULTIPLE = sizeof(T) / sizeof(TextureWord)\n    };\n\nprivate:\n\n    T*                  ptr;\n    difference_type     tex_offset;\n    cudaTextureObject_t tex_obj;\n\npublic:\n\n    /// Constructor\n    __host__ __device__ __forceinline__ TexObjInputIterator()\n    :\n        ptr(NULL),\n        tex_offset(0),\n        tex_obj(0)\n    {}\n\n    /// Use this iterator to bind \\p ptr with a texture reference\n    cudaError_t BindTexture(\n        T               *ptr,               ///< Native pointer to wrap that is aligned to cudaDeviceProp::textureAlignment\n        size_t          bytes,              ///< Number of bytes in the range\n        size_t          tex_offset = 0)     ///< Offset (in items) from \\p ptr denoting the position of the iterator\n    {\n        this->ptr = ptr;\n        this->tex_offset = tex_offset;\n\n        cudaChannelFormatDesc   channel_desc = cudaCreateChannelDesc<TextureWord>();\n        cudaResourceDesc        res_desc;\n        cudaTextureDesc         tex_desc;\n        memset(&res_desc, 0, sizeof(cudaResourceDesc));\n        memset(&tex_desc, 0, sizeof(cudaTextureDesc));\n        res_desc.resType                = cudaResourceTypeLinear;\n        res_desc.res.linear.devPtr      = ptr;\n        res_desc.res.linear.desc        = channel_desc;\n        res_desc.res.linear.sizeInBytes = bytes;\n        tex_desc.readMode               = cudaReadModeElementType;\n        return cudaCreateTextureObject(&tex_obj, &res_desc, &tex_desc, NULL);\n    }\n\n    /// Unbind this iterator from its texture reference\n    cudaError_t UnbindTexture()\n    {\n        return cudaDestroyTextureObject(tex_obj);\n    }\n\n    /// Postfix increment\n    __host__ __device__ __forceinline__ self_type operator++(int)\n    {\n        self_type retval = *this;\n        tex_offset++;\n        return retval;\n    }\n\n    /// Prefix increment\n    __host__ __device__ __forceinline__ self_type operator++()\n    {\n        tex_offset++;\n        return *this;\n    }\n\n    /// Indirection\n    __host__ __device__ __forceinline__ reference operator*() const\n    {\n#if (CUB_PTX_ARCH == 0)\n        // Simply dereference the pointer on the host\n        return ptr[tex_offset];\n#else\n        // Move array of uninitialized words, then alias and assign to return value\n        TextureWord words[TEXTURE_MULTIPLE];\n\n        #pragma unroll\n        for (int i = 0; i < TEXTURE_MULTIPLE; ++i)\n        {\n            words[i] = tex1Dfetch<TextureWord>(\n                tex_obj,\n                (tex_offset * TEXTURE_MULTIPLE) + i);\n        }\n\n        // Load from words\n        return *reinterpret_cast<T*>(words);\n#endif\n    }\n\n    /// Addition\n    template <typename Distance>\n    __host__ __device__ __forceinline__ self_type operator+(Distance n) const\n    {\n        self_type retval;\n        retval.ptr          = ptr;\n        retval.tex_obj      = tex_obj;\n        retval.tex_offset   = tex_offset + n;\n        return retval;\n    }\n\n    /// Addition assignment\n    template <typename Distance>\n    __host__ __device__ __forceinline__ self_type& operator+=(Distance n)\n    {\n        tex_offset += n;\n        return *this;\n    }\n\n    /// Subtraction\n    template <typename Distance>\n    __host__ __device__ __forceinline__ self_type operator-(Distance n) const\n    {\n        self_type retval;\n        retval.ptr          = ptr;\n        retval.tex_obj      = tex_obj;\n        retval.tex_offset   = tex_offset - n;\n        return retval;\n    }\n\n    /// Subtraction assignment\n    template <typename Distance>\n    __host__ __device__ __forceinline__ self_type& operator-=(Distance n)\n    {\n        tex_offset -= n;\n        return *this;\n    }\n\n    /// Distance\n    __host__ __device__ __forceinline__ difference_type operator-(self_type other) const\n    {\n        return tex_offset - other.tex_offset;\n    }\n\n    /// Array subscript\n    template <typename Distance>\n    __host__ __device__ __forceinline__ reference operator[](Distance n) const\n    {\n        return *(*this + n);\n    }\n\n    /// Structure dereference\n    __host__ __device__ __forceinline__ pointer operator->()\n    {\n        return &(*(*this));\n    }\n\n    /// Equal to\n    __host__ __device__ __forceinline__ bool operator==(const self_type& rhs)\n    {\n        return ((ptr == rhs.ptr) && (tex_offset == rhs.tex_offset) && (tex_obj == rhs.tex_obj));\n    }\n\n    /// Not equal to\n    __host__ __device__ __forceinline__ bool operator!=(const self_type& rhs)\n    {\n        return ((ptr != rhs.ptr) || (tex_offset != rhs.tex_offset) || (tex_obj != rhs.tex_obj));\n    }\n\n    /// ostream operator\n    friend std::ostream& operator<<(std::ostream& os, const self_type& itr)\n    {\n        return os;\n    }\n\n};\n\n\n\n/** @} */       // end group UtilIterator\n\n}               // CUB namespace\nCUB_NS_POSTFIX  // Optional outer namespace(s)\n"
  },
  {
    "path": "external/cub-1.3.2/cub/iterator/tex_ref_input_iterator.cuh",
    "content": "/******************************************************************************\n * Copyright (c) 2011, Duane Merrill.  All rights reserved.\n * Copyright (c) 2011-2014, NVIDIA CORPORATION.  All rights reserved.\n * \n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *     * Redistributions of source code must retain the above copyright\n *       notice, this list of conditions and the following disclaimer.\n *     * Redistributions in binary form must reproduce the above copyright\n *       notice, this list of conditions and the following disclaimer in the\n *       documentation and/or other materials provided with the distribution.\n *     * Neither the name of the NVIDIA CORPORATION nor the\n *       names of its contributors may be used to endorse or promote products\n *       derived from this software without specific prior written permission.\n * \n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n ******************************************************************************/\n\n/**\n * \\file\n * Random-access iterator types\n */\n\n#pragma once\n\n#include <iterator>\n#include <iostream>\n\n#include \"../thread/thread_load.cuh\"\n#include \"../thread/thread_store.cuh\"\n#include \"../util_device.cuh\"\n#include \"../util_debug.cuh\"\n#include \"../util_namespace.cuh\"\n\n#if (CUDA_VERSION >= 5050) || defined(DOXYGEN_ACTIVE)  // This iterator is compatible with CUDA 5.5 and newer\n\n#if (THRUST_VERSION >= 100700)    // This iterator is compatible with Thrust API 1.7 and newer\n    #include <thrust/iterator/iterator_facade.h>\n    #include <thrust/iterator/iterator_traits.h>\n#endif // THRUST_VERSION\n\n\n/// Optional outer namespace(s)\nCUB_NS_PREFIX\n\n/// CUB namespace\nnamespace cub {\n\n\n/******************************************************************************\n * Static file-scope Tesla/Fermi-style texture references\n *****************************************************************************/\n\n#ifndef DOXYGEN_SHOULD_SKIP_THIS    // Do not document\n\n// Anonymous namespace\nnamespace {\n\n/// Global texture reference specialized by type\ntemplate <typename T>\nstruct IteratorTexRef\n{\n    /// And by unique ID\n    template <int UNIQUE_ID>\n    struct TexId\n    {\n        // Largest texture word we can use in device\n        typedef typename UnitWord<T>::DeviceWord DeviceWord;\n        typedef typename UnitWord<T>::TextureWord TextureWord;\n\n        // Number of texture words per T\n        enum {\n            DEVICE_MULTIPLE = sizeof(T) / sizeof(DeviceWord),\n            TEXTURE_MULTIPLE = sizeof(T) / sizeof(TextureWord)\n        };\n\n        // Texture reference type\n        typedef texture<TextureWord> TexRef;\n\n        // Texture reference\n        static TexRef ref;\n\n        /// Bind texture\n        static cudaError_t BindTexture(void *d_in)\n        {\n            if (d_in)\n            {\n                cudaChannelFormatDesc tex_desc = cudaCreateChannelDesc<TextureWord>();\n                ref.channelDesc = tex_desc;\n                return (CubDebug(cudaBindTexture(NULL, ref, d_in)));\n            }\n\n            return cudaSuccess;\n        }\n\n        /// Unbind texture\n        static cudaError_t UnbindTexture()\n        {\n            return CubDebug(cudaUnbindTexture(ref));\n        }\n\n        /// Fetch element\n        template <typename Distance>\n        static __device__ __forceinline__ T Fetch(Distance tex_offset)\n        {\n            DeviceWord temp[DEVICE_MULTIPLE];\n            TextureWord *words = reinterpret_cast<TextureWord*>(temp);\n\n            #pragma unroll\n            for (int i = 0; i < TEXTURE_MULTIPLE; ++i)\n            {\n                words[i] = tex1Dfetch(ref, (tex_offset * TEXTURE_MULTIPLE) + i);\n            }\n\n            return reinterpret_cast<T&>(temp);\n        }\n    };\n};\n\n// Texture reference definitions\ntemplate <typename  T>\ntemplate <int       UNIQUE_ID>\ntypename IteratorTexRef<T>::template TexId<UNIQUE_ID>::TexRef IteratorTexRef<T>::template TexId<UNIQUE_ID>::ref = 0;\n\n\n} // Anonymous namespace\n\n\n#endif // DOXYGEN_SHOULD_SKIP_THIS\n\n\n\n/**\n * \\addtogroup UtilIterator\n * @{\n */\n\n\n\n/**\n * \\brief A random-access input wrapper for dereferencing array values through texture cache.  Uses older Tesla/Fermi-style texture references.\n *\n * \\par Overview\n * - TexRefInputIterator wraps a native device pointer of type <tt>ValueType*</tt>. References\n *   to elements are to be loaded through texture cache.\n * - Can be used to load any data type from memory through texture cache.\n * - Can be manipulated and exchanged within and between host and device\n *   functions, can only be constructed within host functions, and can only be\n *   dereferenced within device functions.\n * - The \\p UNIQUE_ID template parameter is used to statically name the underlying texture\n *   reference.  Only one TexRefInputIterator instance can be bound at any given time for a\n *   specific combination of (1) data type \\p T, (2) \\p UNIQUE_ID, (3) host\n *   thread, and (4) compilation .o unit.\n * - With regard to nested/dynamic parallelism, TexRefInputIterator iterators may only be\n *   created by the host thread and used by a top-level kernel (i.e. the one which is launched\n *   from the host).\n * - Compatible with Thrust API v1.7 or newer.\n * - Compatible with CUDA toolkit v5.5 or newer.\n *\n * \\par Snippet\n * The code snippet below illustrates the use of \\p TexRefInputIterator to\n * dereference a device array of doubles through texture cache.\n * \\par\n * \\code\n * #include <cub/cub.cuh>   // or equivalently <cub/iterator/tex_ref_input_iterator.cuh>\n *\n * // Declare, allocate, and initialize a device array\n * int num_items;   // e.g., 7\n * double *d_in;    // e.g., [8.0, 6.0, 7.0, 5.0, 3.0, 0.0, 9.0]\n *\n * // Create an iterator wrapper\n * cub::TexRefInputIterator<double, __LINE__> itr;\n * itr.BindTexture(d_in, sizeof(double) * num_items);\n * ...\n *\n * // Within device code:\n * printf(\"%f\\n\", itr[0]);      // 8.0\n * printf(\"%f\\n\", itr[1]);      // 6.0\n * printf(\"%f\\n\", itr[6]);      // 9.0\n *\n * ...\n * itr.UnbindTexture();\n *\n * \\endcode\n *\n * \\tparam T                    The value type of this iterator\n * \\tparam UNIQUE_ID            A globally-unique identifier (within the compilation unit) to name the underlying texture reference\n * \\tparam Offset               The difference type of this iterator (Default: \\p ptrdiff_t)\n */\ntemplate <\n    typename    T,\n    int         UNIQUE_ID,\n    typename    Offset = ptrdiff_t>\nclass TexRefInputIterator\n{\npublic:\n\n    // Required iterator traits\n    typedef TexRefInputIterator                 self_type;              ///< My own type\n    typedef Offset                              difference_type;        ///< Type to express the result of subtracting one iterator from another\n    typedef T                                   value_type;             ///< The type of the element the iterator can point to\n    typedef T*                                  pointer;                ///< The type of a pointer to an element the iterator can point to\n    typedef T                                   reference;              ///< The type of a reference to an element the iterator can point to\n\n#if (THRUST_VERSION >= 100700)\n    // Use Thrust's iterator categories so we can use these iterators in Thrust 1.7 (or newer) methods\n    typedef typename thrust::detail::iterator_facade_category<\n        thrust::device_system_tag,\n        thrust::random_access_traversal_tag,\n        value_type,\n        reference\n      >::type iterator_category;                                        ///< The iterator category\n#else\n    typedef std::random_access_iterator_tag     iterator_category;      ///< The iterator category\n#endif  // THRUST_VERSION\n\nprivate:\n\n    T*              ptr;\n    difference_type tex_offset;\n\n    // Texture reference wrapper (old Tesla/Fermi-style textures)\n    typedef typename IteratorTexRef<T>::template TexId<UNIQUE_ID> TexId;\n\npublic:\n\n    /// Constructor\n    __host__ __device__ __forceinline__ TexRefInputIterator()\n    :\n        ptr(NULL),\n        tex_offset(0)\n    {}\n\n    /// Use this iterator to bind \\p ptr with a texture reference\n    cudaError_t BindTexture(\n        T               *ptr,                   ///< Native pointer to wrap that is aligned to cudaDeviceProp::textureAlignment\n        size_t          bytes,                  ///< Number of bytes in the range\n        size_t          tex_offset = 0)         ///< Offset (in items) from \\p ptr denoting the position of the iterator\n    {\n        this->ptr = ptr;\n        this->tex_offset = tex_offset;\n        return TexId::BindTexture(ptr);\n    }\n\n    /// Unbind this iterator from its texture reference\n    cudaError_t UnbindTexture()\n    {\n        return TexId::UnbindTexture();\n    }\n\n    /// Postfix increment\n    __host__ __device__ __forceinline__ self_type operator++(int)\n    {\n        self_type retval = *this;\n        tex_offset++;\n        return retval;\n    }\n\n    /// Prefix increment\n    __host__ __device__ __forceinline__ self_type operator++()\n    {\n        tex_offset++;\n        return *this;\n    }\n\n    /// Indirection\n    __host__ __device__ __forceinline__ reference operator*() const\n    {\n#if (CUB_PTX_ARCH == 0)\n        // Simply dereference the pointer on the host\n        return ptr[tex_offset];\n#else\n        // Use the texture reference\n        return TexId::Fetch(tex_offset);\n#endif\n    }\n\n    /// Addition\n    template <typename Distance>\n    __host__ __device__ __forceinline__ self_type operator+(Distance n) const\n    {\n        self_type retval;\n        retval.ptr = ptr;\n        retval.tex_offset = tex_offset + n;\n        return retval;\n    }\n\n    /// Addition assignment\n    template <typename Distance>\n    __host__ __device__ __forceinline__ self_type& operator+=(Distance n)\n    {\n        tex_offset += n;\n        return *this;\n    }\n\n    /// Subtraction\n    template <typename Distance>\n    __host__ __device__ __forceinline__ self_type operator-(Distance n) const\n    {\n        self_type retval;\n        retval.ptr = ptr;\n        retval.tex_offset = tex_offset - n;\n        return retval;\n    }\n\n    /// Subtraction assignment\n    template <typename Distance>\n    __host__ __device__ __forceinline__ self_type& operator-=(Distance n)\n    {\n        tex_offset -= n;\n        return *this;\n    }\n\n    /// Distance\n    __host__ __device__ __forceinline__ difference_type operator-(self_type other) const\n    {\n        return tex_offset - other.tex_offset;\n    }\n\n    /// Array subscript\n    template <typename Distance>\n    __host__ __device__ __forceinline__ reference operator[](Distance n) const\n    {\n        return *(*this + n);\n    }\n\n    /// Structure dereference\n    __host__ __device__ __forceinline__ pointer operator->()\n    {\n        return &(*(*this));\n    }\n\n    /// Equal to\n    __host__ __device__ __forceinline__ bool operator==(const self_type& rhs)\n    {\n        return ((ptr == rhs.ptr) && (tex_offset == rhs.tex_offset));\n    }\n\n    /// Not equal to\n    __host__ __device__ __forceinline__ bool operator!=(const self_type& rhs)\n    {\n        return ((ptr != rhs.ptr) || (tex_offset != rhs.tex_offset));\n    }\n\n    /// ostream operator\n    friend std::ostream& operator<<(std::ostream& os, const self_type& itr)\n    {\n        return os;\n    }\n\n};\n\n\n\n/** @} */       // end group UtilIterator\n\n}               // CUB namespace\nCUB_NS_POSTFIX  // Optional outer namespace(s)\n\n#endif // CUDA_VERSION\n"
  },
  {
    "path": "external/cub-1.3.2/cub/iterator/transform_input_iterator.cuh",
    "content": "/******************************************************************************\n * Copyright (c) 2011, Duane Merrill.  All rights reserved.\n * Copyright (c) 2011-2014, NVIDIA CORPORATION.  All rights reserved.\n * \n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *     * Redistributions of source code must retain the above copyright\n *       notice, this list of conditions and the following disclaimer.\n *     * Redistributions in binary form must reproduce the above copyright\n *       notice, this list of conditions and the following disclaimer in the\n *       documentation and/or other materials provided with the distribution.\n *     * Neither the name of the NVIDIA CORPORATION nor the\n *       names of its contributors may be used to endorse or promote products\n *       derived from this software without specific prior written permission.\n * \n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n ******************************************************************************/\n\n/**\n * \\file\n * Random-access iterator types\n */\n\n#pragma once\n\n#include <iterator>\n#include <iostream>\n\n#include \"../thread/thread_load.cuh\"\n#include \"../thread/thread_store.cuh\"\n#include \"../util_device.cuh\"\n#include \"../util_namespace.cuh\"\n\n#if (THRUST_VERSION >= 100700)\n    // This iterator is compatible with Thrust API 1.7 and newer\n    #include <thrust/iterator/iterator_facade.h>\n    #include <thrust/iterator/iterator_traits.h>\n#endif // THRUST_VERSION\n\n\n/// Optional outer namespace(s)\nCUB_NS_PREFIX\n\n/// CUB namespace\nnamespace cub {\n\n/**\n * \\addtogroup UtilIterator\n * @{\n */\n\n\n/**\n * \\brief A random-access input wrapper for transforming dereferenced values.\n *\n * \\par Overview\n * - TransformInputIterator wraps a unary conversion functor of type \\p\n *   ConversionOp and a random-access input iterator of type <tt>InputIterator</tt>,\n *   using the former to produce references of type \\p ValueType from the latter.\n * - Can be used with any data type.\n * - Can be constructed, manipulated, and exchanged within and between host and device\n *   functions.  Wrapped host memory can only be dereferenced on the host, and wrapped\n *   device memory can only be dereferenced on the device.\n * - Compatible with Thrust API v1.7 or newer.\n *\n * \\par Snippet\n * The code snippet below illustrates the use of \\p TransformInputIterator to\n * dereference an array of integers, tripling the values and converting them to doubles.\n * \\par\n * \\code\n * #include <cub/cub.cuh>   // or equivalently <cub/iterator/transform_input_iterator.cuh>\n *\n * // Functor for tripling integer values and converting to doubles\n * struct TripleDoubler\n * {\n *     __host__ __device__ __forceinline__\n *     double operator()(const int &a) const {\n *         return double(a * 2);\n *     }\n * };\n *\n * // Declare, allocate, and initialize a device array\n * int *d_in;                   // e.g., [8, 6, 7, 5, 3, 0, 9]\n * TripleDoubler conversion_op;\n *\n * // Create an iterator wrapper\n * cub::TransformInputIterator<double, TripleDoubler, int*> itr(d_in, conversion_op);\n *\n * // Within device code:\n * printf(\"%f\\n\", itr[0]);  // 24.0\n * printf(\"%f\\n\", itr[1]);  // 18.0\n * printf(\"%f\\n\", itr[6]);  // 27.0\n *\n * \\endcode\n *\n * \\tparam ValueType            The value type of this iterator\n * \\tparam ConversionOp         Unary functor type for mapping objects of type \\p InputType to type \\p ValueType.  Must have member <tt>ValueType operator()(const InputType &datum)</tt>.\n * \\tparam InputIterator        The type of the wrapped input iterator\n * \\tparam Offset               The difference type of this iterator (Default: \\p ptrdiff_t)\n *\n */\ntemplate <\n    typename ValueType,\n    typename ConversionOp,\n    typename InputIterator,\n    typename Offset = ptrdiff_t>\nclass TransformInputIterator\n{\npublic:\n\n    // Required iterator traits\n    typedef TransformInputIterator              self_type;              ///< My own type\n    typedef Offset                              difference_type;        ///< Type to express the result of subtracting one iterator from another\n    typedef ValueType                           value_type;             ///< The type of the element the iterator can point to\n    typedef ValueType*                          pointer;                ///< The type of a pointer to an element the iterator can point to\n    typedef ValueType                           reference;              ///< The type of a reference to an element the iterator can point to\n\n#if (THRUST_VERSION >= 100700)\n    // Use Thrust's iterator categories so we can use these iterators in Thrust 1.7 (or newer) methods\n    typedef typename thrust::detail::iterator_facade_category<\n        thrust::any_system_tag,\n        thrust::random_access_traversal_tag,\n        value_type,\n        reference\n      >::type iterator_category;                                        ///< The iterator category\n#else\n    typedef std::random_access_iterator_tag     iterator_category;      ///< The iterator category\n#endif  // THRUST_VERSION\n\nprivate:\n\n    ConversionOp  conversion_op;\n    InputIterator input_itr;\n\npublic:\n\n    /// Constructor\n    __host__ __device__ __forceinline__ TransformInputIterator(\n        InputIterator       input_itr,          ///< Input iterator to wrap\n        ConversionOp        conversion_op)      ///< Conversion functor to wrap\n    :\n        conversion_op(conversion_op),\n        input_itr(input_itr)\n    {}\n\n    /// Postfix increment\n    __host__ __device__ __forceinline__ self_type operator++(int)\n    {\n        self_type retval = *this;\n        input_itr++;\n        return retval;\n    }\n\n    /// Prefix increment\n    __host__ __device__ __forceinline__ self_type operator++()\n    {\n        input_itr++;\n        return *this;\n    }\n\n    /// Indirection\n    __host__ __device__ __forceinline__ reference operator*() const\n    {\n        return conversion_op(*input_itr);\n    }\n\n    /// Addition\n    template <typename Distance>\n    __host__ __device__ __forceinline__ self_type operator+(Distance n) const\n    {\n        self_type retval(input_itr + n, conversion_op);\n        return retval;\n    }\n\n    /// Addition assignment\n    template <typename Distance>\n    __host__ __device__ __forceinline__ self_type& operator+=(Distance n)\n    {\n        input_itr += n;\n        return *this;\n    }\n\n    /// Subtraction\n    template <typename Distance>\n    __host__ __device__ __forceinline__ self_type operator-(Distance n) const\n    {\n        self_type retval(input_itr - n, conversion_op);\n        return retval;\n    }\n\n    /// Subtraction assignment\n    template <typename Distance>\n    __host__ __device__ __forceinline__ self_type& operator-=(Distance n)\n    {\n        input_itr -= n;\n        return *this;\n    }\n\n    /// Distance\n    __host__ __device__ __forceinline__ difference_type operator-(self_type other) const\n    {\n        return input_itr - other.input_itr;\n    }\n\n    /// Array subscript\n    template <typename Distance>\n    __host__ __device__ __forceinline__ reference operator[](Distance n) const\n    {\n        return conversion_op(input_itr[n]);\n    }\n\n    /// Structure dereference\n    __host__ __device__ __forceinline__ pointer operator->()\n    {\n        return &conversion_op(*input_itr);\n    }\n\n    /// Equal to\n    __host__ __device__ __forceinline__ bool operator==(const self_type& rhs)\n    {\n        return (input_itr == rhs.input_itr);\n    }\n\n    /// Not equal to\n    __host__ __device__ __forceinline__ bool operator!=(const self_type& rhs)\n    {\n        return (input_itr != rhs.input_itr);\n    }\n\n    /// ostream operator\n    friend std::ostream& operator<<(std::ostream& os, const self_type& itr)\n    {\n        return os;\n    }\n};\n\n\n\n/** @} */       // end group UtilIterator\n\n}               // CUB namespace\nCUB_NS_POSTFIX  // Optional outer namespace(s)\n"
  },
  {
    "path": "external/cub-1.3.2/cub/thread/thread_load.cuh",
    "content": "/******************************************************************************\n * Copyright (c) 2011, Duane Merrill.  All rights reserved.\n * Copyright (c) 2011-2014, NVIDIA CORPORATION.  All rights reserved.\n * \n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *     * Redistributions of source code must retain the above copyright\n *       notice, this list of conditions and the following disclaimer.\n *     * Redistributions in binary form must reproduce the above copyright\n *       notice, this list of conditions and the following disclaimer in the\n *       documentation and/or other materials provided with the distribution.\n *     * Neither the name of the NVIDIA CORPORATION nor the\n *       names of its contributors may be used to endorse or promote products\n *       derived from this software without specific prior written permission.\n * \n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n ******************************************************************************/\n\n/**\n * \\file\n * Thread utilities for reading memory using PTX cache modifiers.\n */\n\n#pragma once\n\n#include <cuda.h>\n\n#include <iterator>\n\n#include \"../util_ptx.cuh\"\n#include \"../util_type.cuh\"\n#include \"../util_namespace.cuh\"\n\n/// Optional outer namespace(s)\nCUB_NS_PREFIX\n\n/// CUB namespace\nnamespace cub {\n\n/**\n * \\addtogroup UtilIo\n * @{\n */\n\n//-----------------------------------------------------------------------------\n// Tags and constants\n//-----------------------------------------------------------------------------\n\n/**\n * \\brief Enumeration of cache modifiers for memory load operations.\n */\nenum CacheLoadModifier\n{\n    LOAD_DEFAULT,       ///< Default (no modifier)\n    LOAD_CA,            ///< Cache at all levels\n    LOAD_CG,            ///< Cache at global level\n    LOAD_CS,            ///< Cache streaming (likely to be accessed once)\n    LOAD_CV,            ///< Cache as volatile (including cached system lines)\n    LOAD_LDG,           ///< Cache as texture\n    LOAD_VOLATILE,      ///< Volatile (any memory space)\n};\n\n\n/**\n * \\name Thread I/O (cache modified)\n * @{\n */\n\n/**\n * \\brief Thread utility for reading memory using cub::CacheLoadModifier cache modifiers.  Can be used to load any data type.\n *\n * \\par Example\n * \\code\n * #include <cub/cub.cuh>   // or equivalently <cub/thread/thread_load.cuh>\n *\n * // 32-bit load using cache-global modifier:\n * int *d_in;\n * int val = cub::ThreadLoad<cub::LOAD_CA>(d_in + threadIdx.x);\n *\n * // 16-bit load using default modifier\n * short *d_in;\n * short val = cub::ThreadLoad<cub::LOAD_DEFAULT>(d_in + threadIdx.x);\n *\n * // 256-bit load using cache-volatile modifier\n * double4 *d_in;\n * double4 val = cub::ThreadLoad<cub::LOAD_CV>(d_in + threadIdx.x);\n *\n * // 96-bit load using cache-streaming modifier\n * struct TestFoo { bool a; short b; };\n * TestFoo *d_struct;\n * TestFoo val = cub::ThreadLoad<cub::LOAD_CS>(d_in + threadIdx.x);\n * \\endcode\n *\n * \\tparam MODIFIER             <b>[inferred]</b> CacheLoadModifier enumeration\n * \\tparam InputIterator        <b>[inferred]</b> Input iterator type \\iterator\n */\ntemplate <\n    CacheLoadModifier MODIFIER,\n    typename InputIterator>\n__device__ __forceinline__ typename std::iterator_traits<InputIterator>::value_type ThreadLoad(InputIterator itr);\n\n\n//@}  end member group\n\n\n#ifndef DOXYGEN_SHOULD_SKIP_THIS    // Do not document\n\n\n/// Helper structure for templated load iteration (inductive case)\ntemplate <int COUNT, int MAX>\nstruct IterateThreadLoad\n{\n    template <CacheLoadModifier MODIFIER, typename T>\n    static __device__ __forceinline__ void Load(T *ptr, T *vals)\n    {\n        vals[COUNT] = ThreadLoad<MODIFIER>(ptr + COUNT);\n        IterateThreadLoad<COUNT + 1, MAX>::template Load<MODIFIER>(ptr, vals);\n    }\n\n    template <typename InputIterator, typename T>\n    static __device__ __forceinline__ void Dereference(InputIterator ptr, T *vals)\n    {\n        vals[COUNT] = ptr[COUNT];\n        IterateThreadLoad<COUNT + 1, MAX>::Dereference(ptr, vals);\n    }\n};\n\n\n/// Helper structure for templated load iteration (termination case)\ntemplate <int MAX>\nstruct IterateThreadLoad<MAX, MAX>\n{\n    template <CacheLoadModifier MODIFIER, typename T>\n    static __device__ __forceinline__ void Load(T *ptr, T *vals) {}\n\n    template <typename InputIterator, typename T>\n    static __device__ __forceinline__ void Dereference(InputIterator ptr, T *vals) {}\n};\n\n\n/**\n * Define a uint4 (16B) ThreadLoad specialization for the given Cache load modifier\n */\n#define CUB_LOAD_16(cub_modifier, ptx_modifier)                                             \\\n    template<>                                                                              \\\n    __device__ __forceinline__ uint4 ThreadLoad<cub_modifier, uint4*>(uint4* ptr)           \\\n    {                                                                                       \\\n        uint4 retval;                                                                       \\\n        asm volatile (\"ld.\"#ptx_modifier\".v4.u32 {%0, %1, %2, %3}, [%4];\" :                 \\\n            \"=r\"(retval.x),                                                                 \\\n            \"=r\"(retval.y),                                                                 \\\n            \"=r\"(retval.z),                                                                 \\\n            \"=r\"(retval.w) :                                                                \\\n            _CUB_ASM_PTR_(ptr));                                                            \\\n        return retval;                                                                      \\\n    }                                                                                       \\\n    template<>                                                                              \\\n    __device__ __forceinline__ ulonglong2 ThreadLoad<cub_modifier, ulonglong2*>(ulonglong2* ptr)              \\\n    {                                                                                       \\\n        ulonglong2 retval;                                                                  \\\n        asm volatile (\"ld.\"#ptx_modifier\".v2.u64 {%0, %1}, [%2];\" :                         \\\n            \"=l\"(retval.x),                                                                 \\\n            \"=l\"(retval.y) :                                                                \\\n            _CUB_ASM_PTR_(ptr));                                                            \\\n        return retval;                                                                      \\\n    }\n\n/**\n * Define a uint2 (8B) ThreadLoad specialization for the given Cache load modifier\n */\n#define CUB_LOAD_8(cub_modifier, ptx_modifier)                                              \\\n    template<>                                                                              \\\n    __device__ __forceinline__ ushort4 ThreadLoad<cub_modifier, ushort4*>(ushort4* ptr)     \\\n    {                                                                                       \\\n        ushort4 retval;                                                                     \\\n        asm volatile (\"ld.\"#ptx_modifier\".v4.u16 {%0, %1, %2, %3}, [%4];\" :                 \\\n            \"=h\"(retval.x),                                                                 \\\n            \"=h\"(retval.y),                                                                 \\\n            \"=h\"(retval.z),                                                                 \\\n            \"=h\"(retval.w) :                                                                \\\n            _CUB_ASM_PTR_(ptr));                                                            \\\n        return retval;                                                                      \\\n    }                                                                                       \\\n    template<>                                                                              \\\n    __device__ __forceinline__ uint2 ThreadLoad<cub_modifier, uint2*>(uint2* ptr)           \\\n    {                                                                                       \\\n        uint2 retval;                                                                       \\\n        asm volatile (\"ld.\"#ptx_modifier\".v2.u32 {%0, %1}, [%2];\" :                         \\\n            \"=r\"(retval.x),                                                                 \\\n            \"=r\"(retval.y) :                                                                \\\n            _CUB_ASM_PTR_(ptr));                                                            \\\n        return retval;                                                                      \\\n    }                                                                                       \\\n    template<>                                                                              \\\n    __device__ __forceinline__ unsigned long long ThreadLoad<cub_modifier, unsigned long long*>(unsigned long long* ptr)                 \\\n    {                                                                                       \\\n        unsigned long long retval;                                                          \\\n        asm volatile (\"ld.\"#ptx_modifier\".u64 %0, [%1];\" :                                  \\\n            \"=l\"(retval) :                                                                  \\\n            _CUB_ASM_PTR_(ptr));                                                            \\\n        return retval;                                                                      \\\n    }\n\n/**\n * Define a uint (4B) ThreadLoad specialization for the given Cache load modifier\n */\n#define CUB_LOAD_4(cub_modifier, ptx_modifier)                                              \\\n    template<>                                                                              \\\n    __device__ __forceinline__ unsigned int ThreadLoad<cub_modifier, unsigned int*>(unsigned int* ptr)                 \\\n    {                                                                                       \\\n        unsigned int retval;                                                                \\\n        asm volatile (\"ld.\"#ptx_modifier\".u32 %0, [%1];\" :                                  \\\n            \"=r\"(retval) :                                                                  \\\n            _CUB_ASM_PTR_(ptr));                                                            \\\n        return retval;                                                                      \\\n    }\n\n\n/**\n * Define a unsigned short (2B) ThreadLoad specialization for the given Cache load modifier\n */\n#define CUB_LOAD_2(cub_modifier, ptx_modifier)                                              \\\n    template<>                                                                              \\\n    __device__ __forceinline__ unsigned short ThreadLoad<cub_modifier, unsigned short*>(unsigned short* ptr)           \\\n    {                                                                                       \\\n        unsigned short retval;                                                              \\\n        asm volatile (\"ld.\"#ptx_modifier\".u16 %0, [%1];\" :                                  \\\n            \"=h\"(retval) :                                                                  \\\n            _CUB_ASM_PTR_(ptr));                                                            \\\n        return retval;                                                                      \\\n    }\n\n\n/**\n * Define an unsigned char (1B) ThreadLoad specialization for the given Cache load modifier\n */\n#define CUB_LOAD_1(cub_modifier, ptx_modifier)                                              \\\n    template<>                                                                              \\\n    __device__ __forceinline__ unsigned char ThreadLoad<cub_modifier, unsigned char*>(unsigned char* ptr)              \\\n    {                                                                                       \\\n        unsigned short retval;                                                              \\\n        asm volatile (                                                                      \\\n        \"{\"                                                                                 \\\n        \"   .reg .u8 datum;\"                                                                \\\n        \"    ld.\"#ptx_modifier\".u8 datum, [%1];\"                                            \\\n        \"    cvt.u16.u8 %0, datum;\"                                                         \\\n        \"}\" :                                                                               \\\n            \"=h\"(retval) :                                                                  \\\n            _CUB_ASM_PTR_(ptr));                                                            \\\n        return (unsigned char) retval;                                                               \\\n    }\n\n\n/**\n * Define powers-of-two ThreadLoad specializations for the given Cache load modifier\n */\n#define CUB_LOAD_ALL(cub_modifier, ptx_modifier)                                            \\\n    CUB_LOAD_16(cub_modifier, ptx_modifier)                                                 \\\n    CUB_LOAD_8(cub_modifier, ptx_modifier)                                                  \\\n    CUB_LOAD_4(cub_modifier, ptx_modifier)                                                  \\\n    CUB_LOAD_2(cub_modifier, ptx_modifier)                                                  \\\n    CUB_LOAD_1(cub_modifier, ptx_modifier)                                                  \\\n\n\n/**\n * Define powers-of-two ThreadLoad specializations for the various Cache load modifiers\n */\n#if CUB_PTX_ARCH >= 200\n    CUB_LOAD_ALL(LOAD_CA, ca)\n    CUB_LOAD_ALL(LOAD_CG, cg)\n    CUB_LOAD_ALL(LOAD_CS, cs)\n    CUB_LOAD_ALL(LOAD_CV, cv)\n#else\n    CUB_LOAD_ALL(LOAD_CA, global)\n    // Use volatile to ensure coherent reads when this PTX is JIT'd to run on newer architectures with L1\n    CUB_LOAD_ALL(LOAD_CG, volatile.global)\n    CUB_LOAD_ALL(LOAD_CS, global)\n    CUB_LOAD_ALL(LOAD_CV, volatile.global)\n#endif\n\n#if CUB_PTX_ARCH >= 350\n    CUB_LOAD_ALL(LOAD_LDG, global.nc)\n#else\n    CUB_LOAD_ALL(LOAD_LDG, global)\n#endif\n\n\n/**\n * ThreadLoad definition for LOAD_DEFAULT modifier on iterator types\n */\ntemplate <typename InputIterator>\n__device__ __forceinline__ typename std::iterator_traits<InputIterator>::value_type ThreadLoad(\n    InputIterator           itr,\n    Int2Type<LOAD_DEFAULT>  modifier,\n    Int2Type<false>         is_pointer)\n{\n    return *itr;\n}\n\n\n/**\n * ThreadLoad definition for LOAD_DEFAULT modifier on pointer types\n */\ntemplate <typename T>\n__device__ __forceinline__ T ThreadLoad(\n    T                       *ptr,\n    Int2Type<LOAD_DEFAULT>  modifier,\n    Int2Type<true>          is_pointer)\n{\n    return *ptr;\n}\n\n\n/**\n * ThreadLoad definition for LOAD_VOLATILE modifier on primitive pointer types\n */\ntemplate <typename T>\n__device__ __forceinline__ T ThreadLoadVolatilePointer(\n    T                       *ptr,\n    Int2Type<true>          is_primitive)\n{\n    T retval = *reinterpret_cast<volatile T*>(ptr);\n\n#if (CUB_PTX_ARCH <= 130)\n    if (sizeof(T) == 1) __threadfence_block();\n#endif\n\n    return retval;\n}\n\n\n/**\n * ThreadLoad definition for LOAD_VOLATILE modifier on non-primitive pointer types\n */\ntemplate <typename T>\n__device__ __forceinline__ T ThreadLoadVolatilePointer(\n    T                       *ptr,\n    Int2Type<false>          is_primitive)\n{\n\n#if CUB_PTX_ARCH <= 130\n\n    T retval = *ptr;\n    __threadfence_block();\n    return retval;\n\n#else\n\n    typedef typename UnitWord<T>::VolatileWord VolatileWord;   // Word type for memcopying\n\n    const int VOLATILE_MULTIPLE = sizeof(T) / sizeof(VolatileWord);\n/*\n    VolatileWord words[VOLATILE_MULTIPLE];\n\n    IterateThreadLoad<0, VOLATILE_MULTIPLE>::Dereference(\n        reinterpret_cast<volatile VolatileWord*>(ptr),\n        words);\n\n    return *reinterpret_cast<T*>(words);\n*/\n\n    T retval;\n    VolatileWord *words = reinterpret_cast<VolatileWord*>(&retval);\n    IterateThreadLoad<0, VOLATILE_MULTIPLE>::Dereference(\n        reinterpret_cast<volatile VolatileWord*>(ptr),\n        words);\n    return retval;\n\n#endif  // CUB_PTX_ARCH <= 130\n}\n\n\n/**\n * ThreadLoad definition for LOAD_VOLATILE modifier on pointer types\n */\ntemplate <typename T>\n__device__ __forceinline__ T ThreadLoad(\n    T                       *ptr,\n    Int2Type<LOAD_VOLATILE> modifier,\n    Int2Type<true>          is_pointer)\n{\n    // Apply tags for partial-specialization\n    return ThreadLoadVolatilePointer(ptr, Int2Type<Traits<T>::PRIMITIVE>());\n}\n\n\n/**\n * ThreadLoad definition for generic modifiers on pointer types\n */\ntemplate <typename T, int MODIFIER>\n__device__ __forceinline__ T ThreadLoad(\n    T                       *ptr,\n    Int2Type<MODIFIER>      modifier,\n    Int2Type<true>          is_pointer)\n{\n    typedef typename UnitWord<T>::DeviceWord DeviceWord;\n\n    const int DEVICE_MULTIPLE = sizeof(T) / sizeof(DeviceWord);\n\n    DeviceWord words[DEVICE_MULTIPLE];\n\n    IterateThreadLoad<0, DEVICE_MULTIPLE>::template Load<CacheLoadModifier(MODIFIER)>(\n        reinterpret_cast<DeviceWord*>(ptr),\n        words);\n\n    return *reinterpret_cast<T*>(words);\n}\n\n\n/**\n * ThreadLoad definition for generic modifiers\n */\ntemplate <\n    CacheLoadModifier MODIFIER,\n    typename InputIterator>\n__device__ __forceinline__ typename std::iterator_traits<InputIterator>::value_type ThreadLoad(InputIterator itr)\n{\n    // Apply tags for partial-specialization\n    return ThreadLoad(\n        itr,\n        Int2Type<MODIFIER>(),\n        Int2Type<IsPointer<InputIterator>::VALUE>());\n}\n\n\n\n#endif // DOXYGEN_SHOULD_SKIP_THIS\n\n\n/** @} */       // end group UtilIo\n\n\n}               // CUB namespace\nCUB_NS_POSTFIX  // Optional outer namespace(s)\n"
  },
  {
    "path": "external/cub-1.3.2/cub/thread/thread_operators.cuh",
    "content": "/******************************************************************************\n * Copyright (c) 2011, Duane Merrill.  All rights reserved.\n * Copyright (c) 2011-2014, NVIDIA CORPORATION.  All rights reserved.\n * \n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *     * Redistributions of source code must retain the above copyright\n *       notice, this list of conditions and the following disclaimer.\n *     * Redistributions in binary form must reproduce the above copyright\n *       notice, this list of conditions and the following disclaimer in the\n *       documentation and/or other materials provided with the distribution.\n *     * Neither the name of the NVIDIA CORPORATION nor the\n *       names of its contributors may be used to endorse or promote products\n *       derived from this software without specific prior written permission.\n * \n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n ******************************************************************************/\n\n/**\n * \\file\n * Simple binary operator functor types\n */\n\n/******************************************************************************\n * Simple functor operators\n ******************************************************************************/\n\n#pragma once\n\n#include \"../util_macro.cuh\"\n#include \"../util_type.cuh\"\n#include \"../util_namespace.cuh\"\n\n/// Optional outer namespace(s)\nCUB_NS_PREFIX\n\n/// CUB namespace\nnamespace cub {\n\n\n/**\n * \\addtogroup UtilModule\n * @{\n */\n\n/**\n * \\brief Default equality functor\n */\nstruct Equality\n{\n    /// Boolean equality operator, returns <tt>(a == b)</tt>\n    template <typename T>\n    __host__ __device__ __forceinline__ bool operator()(const T &a, const T &b) const\n    {\n        return a == b;\n    }\n};\n\n\n/**\n * \\brief Default inequality functor\n */\nstruct Inequality\n{\n    /// Boolean inequality operator, returns <tt>(a != b)</tt>\n    template <typename T>\n    __host__ __device__ __forceinline__ bool operator()(const T &a, const T &b) const\n    {\n        return a != b;\n    }\n};\n\n\n/**\n * \\brief Inequality functor (wraps equality functor)\n */\ntemplate <typename EqualityOp>\nstruct InequalityWrapper\n{\n    /// Wrapped equality operator\n    EqualityOp op;\n\n    /// Constructor\n    __host__ __device__ __forceinline__\n    InequalityWrapper(EqualityOp op) : op(op) {}\n\n    /// Boolean inequality operator, returns <tt>(a != b)</tt>\n    template <typename T>\n    __host__ __device__ __forceinline__ bool operator()(const T &a, const T &b) const\n    {\n        return !op(a, b);\n    }\n};\n\n\n/**\n * \\brief Default sum functor\n */\nstruct Sum\n{\n    /// Boolean sum operator, returns <tt>a + b</tt>\n    template <typename T>\n    __host__ __device__ __forceinline__ T operator()(const T &a, const T &b) const\n    {\n        return a + b;\n    }\n};\n\n\n/**\n * \\brief Default max functor\n */\nstruct Max\n{\n    /// Boolean max operator, returns <tt>(a > b) ? a : b</tt>\n    template <typename T>\n    __host__ __device__ __forceinline__ T operator()(const T &a, const T &b) const\n    {\n        return CUB_MAX(a, b);\n    }\n};\n\n\n/**\n * \\brief Arg max functor (keeps the value and offset of the first occurrence of the l item)\n */\nstruct ArgMax\n{\n    /// Boolean max operator, preferring the item having the smaller offset in case of ties\n    template <typename T, typename Offset>\n    __host__ __device__ __forceinline__ ItemOffsetPair<T, Offset> operator()(\n        const ItemOffsetPair<T, Offset> &a,\n        const ItemOffsetPair<T, Offset> &b) const\n    {\n        if (a.value == b.value)\n            return (b.offset < a.offset) ? b : a;\n\n        return (b.value > a.value) ? b : a;\n    }\n};\n\n\n/**\n * \\brief Default min functor\n */\nstruct Min\n{\n    /// Boolean min operator, returns <tt>(a < b) ? a : b</tt>\n    template <typename T>\n    __host__ __device__ __forceinline__ T operator()(const T &a, const T &b) const\n    {\n        return CUB_MIN(a, b);\n    }\n};\n\n\n/**\n * \\brief Arg min functor (keeps the value and offset of the first occurrence of the smallest item)\n */\nstruct ArgMin\n{\n    /// Boolean min operator, preferring the item having the smaller offset in case of ties\n    template <typename T, typename Offset>\n    __host__ __device__ __forceinline__ ItemOffsetPair<T, Offset> operator()(\n        const ItemOffsetPair<T, Offset> &a,\n        const ItemOffsetPair<T, Offset> &b) const\n    {\n        if (a.value == b.value)\n            return (b.offset < a.offset) ? b : a;\n\n        return (b.value < a.value) ? b : a;\n    }\n};\n\n\n/**\n * \\brief Default cast functor\n */\ntemplate <typename B>\nstruct Cast\n{\n    /// Boolean max operator, returns <tt>(a > b) ? a : b</tt>\n    template <typename A>\n    __host__ __device__ __forceinline__ B operator()(const A &a) const\n    {\n        return (B) a;\n    }\n};\n\n\n\n/** @} */       // end group UtilModule\n\n\n}               // CUB namespace\nCUB_NS_POSTFIX  // Optional outer namespace(s)\n"
  },
  {
    "path": "external/cub-1.3.2/cub/thread/thread_reduce.cuh",
    "content": "/******************************************************************************\n * Copyright (c) 2011, Duane Merrill.  All rights reserved.\n * Copyright (c) 2011-2014, NVIDIA CORPORATION.  All rights reserved.\n * \n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *     * Redistributions of source code must retain the above copyright\n *       notice, this list of conditions and the following disclaimer.\n *     * Redistributions in binary form must reproduce the above copyright\n *       notice, this list of conditions and the following disclaimer in the\n *       documentation and/or other materials provided with the distribution.\n *     * Neither the name of the NVIDIA CORPORATION nor the\n *       names of its contributors may be used to endorse or promote products\n *       derived from this software without specific prior written permission.\n * \n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n ******************************************************************************/\n\n/**\n * \\file\n * Thread utilities for sequential reduction over statically-sized array types\n */\n\n#pragma once\n\n#include \"../thread/thread_operators.cuh\"\n#include \"../util_namespace.cuh\"\n\n/// Optional outer namespace(s)\nCUB_NS_PREFIX\n\n/// CUB namespace\nnamespace cub {\n\n/**\n * \\addtogroup UtilModule\n * @{\n */\n\n/**\n * \\name Sequential reduction over statically-sized array types\n * @{\n */\n\n\ntemplate <\n    int         LENGTH,\n    typename    T,\n    typename    ReductionOp>\n__device__ __forceinline__ T ThreadReduce(\n    T*                  input,                  ///< [in] Input array\n    ReductionOp         reduction_op,           ///< [in] Binary reduction operator\n    T                   prefix,                 ///< [in] Prefix to seed reduction with\n    Int2Type<LENGTH>    length)\n{\n    T addend = *input;\n    prefix = reduction_op(prefix, addend);\n\n    return ThreadReduce(input + 1, reduction_op, prefix, Int2Type<LENGTH - 1>());\n}\n\ntemplate <\n    typename    T,\n    typename    ReductionOp>\n__device__ __forceinline__ T ThreadReduce(\n    T*                  input,                  ///< [in] Input array\n    ReductionOp         reduction_op,           ///< [in] Binary reduction operator\n    T                   prefix,                 ///< [in] Prefix to seed reduction with\n    Int2Type<0>         length)\n{\n    return prefix;\n}\n\n\n/**\n * \\brief Perform a sequential reduction over \\p LENGTH elements of the \\p input array, seeded with the specified \\p prefix.  The aggregate is returned.\n *\n * \\tparam LENGTH     Length of input array\n * \\tparam T          <b>[inferred]</b> The data type to be reduced.\n * \\tparam ScanOp     <b>[inferred]</b> Binary reduction operator type having member <tt>T operator()(const T &a, const T &b)</tt>\n */\ntemplate <\n    int         LENGTH,\n    typename    T,\n    typename    ReductionOp>\n__device__ __forceinline__ T ThreadReduce(\n    T*          input,                  ///< [in] Input array\n    ReductionOp reduction_op,           ///< [in] Binary reduction operator\n    T           prefix)                 ///< [in] Prefix to seed reduction with\n{\n    return ThreadReduce(input, reduction_op, prefix, Int2Type<LENGTH>());\n}\n\n\n/**\n * \\brief Perform a sequential reduction over \\p LENGTH elements of the \\p input array.  The aggregate is returned.\n *\n * \\tparam LENGTH     Length of input array\n * \\tparam T          <b>[inferred]</b> The data type to be reduced.\n * \\tparam ScanOp     <b>[inferred]</b> Binary reduction operator type having member <tt>T operator()(const T &a, const T &b)</tt>\n */\ntemplate <\n    int         LENGTH,\n    typename    T,\n    typename    ReductionOp>\n__device__ __forceinline__ T ThreadReduce(\n    T*          input,                  ///< [in] Input array\n    ReductionOp reduction_op)           ///< [in] Binary reduction operator\n{\n    T prefix = input[0];\n    return ThreadReduce<LENGTH - 1>(input + 1, reduction_op, prefix);\n}\n\n\n/**\n * \\brief Perform a sequential reduction over the statically-sized \\p input array, seeded with the specified \\p prefix.  The aggregate is returned.\n *\n * \\tparam LENGTH     <b>[inferred]</b> Length of \\p input array\n * \\tparam T          <b>[inferred]</b> The data type to be reduced.\n * \\tparam ScanOp     <b>[inferred]</b> Binary reduction operator type having member <tt>T operator()(const T &a, const T &b)</tt>\n */\ntemplate <\n    int         LENGTH,\n    typename    T,\n    typename    ReductionOp>\n__device__ __forceinline__ T ThreadReduce(\n    T           (&input)[LENGTH],       ///< [in] Input array\n    ReductionOp reduction_op,           ///< [in] Binary reduction operator\n    T           prefix)                 ///< [in] Prefix to seed reduction with\n{\n    return ThreadReduce<LENGTH>(input, reduction_op, prefix);\n}\n\n\n/**\n * \\brief Serial reduction with the specified operator\n *\n * \\tparam LENGTH     <b>[inferred]</b> Length of \\p input array\n * \\tparam T          <b>[inferred]</b> The data type to be reduced.\n * \\tparam ScanOp     <b>[inferred]</b> Binary reduction operator type having member <tt>T operator()(const T &a, const T &b)</tt>\n */\ntemplate <\n    int         LENGTH,\n    typename    T,\n    typename    ReductionOp>\n__device__ __forceinline__ T ThreadReduce(\n    T           (&input)[LENGTH],       ///< [in] Input array\n    ReductionOp reduction_op)           ///< [in] Binary reduction operator\n{\n    return ThreadReduce<LENGTH>((T*) input, reduction_op);\n}\n\n\n//@}  end member group\n\n/** @} */       // end group UtilModule\n\n}               // CUB namespace\nCUB_NS_POSTFIX  // Optional outer namespace(s)\n"
  },
  {
    "path": "external/cub-1.3.2/cub/thread/thread_scan.cuh",
    "content": "/******************************************************************************\n * Copyright (c) 2011, Duane Merrill.  All rights reserved.\n * Copyright (c) 2011-2014, NVIDIA CORPORATION.  All rights reserved.\n * \n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *     * Redistributions of source code must retain the above copyright\n *       notice, this list of conditions and the following disclaimer.\n *     * Redistributions in binary form must reproduce the above copyright\n *       notice, this list of conditions and the following disclaimer in the\n *       documentation and/or other materials provided with the distribution.\n *     * Neither the name of the NVIDIA CORPORATION nor the\n *       names of its contributors may be used to endorse or promote products\n *       derived from this software without specific prior written permission.\n * \n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n ******************************************************************************/\n\n/**\n * \\file\n * Thread utilities for sequential prefix scan over statically-sized array types\n */\n\n#pragma once\n\n#include \"../thread/thread_operators.cuh\"\n#include \"../util_namespace.cuh\"\n\n/// Optional outer namespace(s)\nCUB_NS_PREFIX\n\n/// CUB namespace\nnamespace cub {\n\n/**\n * \\addtogroup UtilModule\n * @{\n */\n\n/**\n * \\name Sequential prefix scan over statically-sized array types\n * @{\n */\n\ntemplate <\n    int         LENGTH,\n    typename    T,\n    typename    ScanOp>\n__device__ __forceinline__ T ThreadScanExclusive(\n    T                   inclusive,\n    T                   exclusive,\n    T                   *input,                 ///< [in] Input array\n    T                   *output,                ///< [out] Output array (may be aliased to \\p input)\n    ScanOp              scan_op,                ///< [in] Binary scan operator\n    Int2Type<LENGTH>    length)\n{\n    T addend = *input;\n    inclusive = scan_op(exclusive, addend);\n    *output = exclusive;\n    exclusive = inclusive;\n\n    return ThreadScanExclusive(inclusive, exclusive, input + 1, output + 1, scan_op, Int2Type<LENGTH - 1>());\n}\n\ntemplate <\n    typename    T,\n    typename    ScanOp>\n__device__ __forceinline__ T ThreadScanExclusive(\n    T                   inclusive,\n    T                   exclusive,\n    T                   *input,                 ///< [in] Input array\n    T                   *output,                ///< [out] Output array (may be aliased to \\p input)\n    ScanOp              scan_op,                ///< [in] Binary scan operator\n    Int2Type<0>         length)\n{\n    return inclusive;\n}\n\n\n/**\n * \\brief Perform a sequential exclusive prefix scan over \\p LENGTH elements of the \\p input array, seeded with the specified \\p prefix.  The aggregate is returned.\n *\n * \\tparam LENGTH     Length of \\p input and \\p output arrays\n * \\tparam T          <b>[inferred]</b> The data type to be scanned.\n * \\tparam ScanOp     <b>[inferred]</b> Binary scan operator type having member <tt>T operator()(const T &a, const T &b)</tt>\n */\ntemplate <\n    int         LENGTH,\n    typename    T,\n    typename    ScanOp>\n__device__ __forceinline__ T ThreadScanExclusive(\n    T           *input,                 ///< [in] Input array\n    T           *output,                ///< [out] Output array (may be aliased to \\p input)\n    ScanOp      scan_op,                ///< [in] Binary scan operator\n    T           prefix,                 ///< [in] Prefix to seed scan with\n    bool        apply_prefix = true)    ///< [in] Whether or not the calling thread should apply its prefix.  If not, the first output element is undefined.  (Handy for preventing thread-0 from applying a prefix.)\n{\n    T inclusive = input[0];\n    if (apply_prefix)\n    {\n        inclusive = scan_op(prefix, inclusive);\n    }\n    output[0] = prefix;\n    T exclusive = inclusive;\n\n    return ThreadScanExclusive(inclusive, exclusive, input + 1, output + 1, scan_op, Int2Type<LENGTH - 1>());\n}\n\n\n/**\n * \\brief Perform a sequential exclusive prefix scan over the statically-sized \\p input array, seeded with the specified \\p prefix.  The aggregate is returned.\n *\n * \\tparam LENGTH     <b>[inferred]</b> Length of \\p input and \\p output arrays\n * \\tparam T          <b>[inferred]</b> The data type to be scanned.\n * \\tparam ScanOp     <b>[inferred]</b> Binary scan operator type having member <tt>T operator()(const T &a, const T &b)</tt>\n */\ntemplate <\n    int         LENGTH,\n    typename    T,\n    typename    ScanOp>\n__device__ __forceinline__ T ThreadScanExclusive(\n    T           (&input)[LENGTH],       ///< [in] Input array\n    T           (&output)[LENGTH],      ///< [out] Output array (may be aliased to \\p input)\n    ScanOp      scan_op,                ///< [in] Binary scan operator\n    T           prefix,                 ///< [in] Prefix to seed scan with\n    bool        apply_prefix = true)    ///< [in] Whether or not the calling thread should apply its prefix.  (Handy for preventing thread-0 from applying a prefix.)\n{\n    return ThreadScanExclusive<LENGTH>((T*) input, (T*) output, scan_op, prefix, apply_prefix);\n}\n\n\n\n\n\n\n\n\n\ntemplate <\n    int         LENGTH,\n    typename    T,\n    typename    ScanOp>\n__device__ __forceinline__ T ThreadScanInclusive(\n    T                   inclusive,\n    T                   *input,                 ///< [in] Input array\n    T                   *output,                ///< [out] Output array (may be aliased to \\p input)\n    ScanOp              scan_op,                ///< [in] Binary scan operator\n    Int2Type<LENGTH>    length)\n{\n    T addend = *input;\n    inclusive = scan_op(inclusive, addend);\n    output[0] = inclusive;\n\n    return ThreadScanInclusive(inclusive, input + 1, output + 1, scan_op, Int2Type<LENGTH - 1>());\n}\n\ntemplate <\n    typename    T,\n    typename    ScanOp>\n__device__ __forceinline__ T ThreadScanInclusive(\n    T                   inclusive,\n    T                   *input,                 ///< [in] Input array\n    T                   *output,                ///< [out] Output array (may be aliased to \\p input)\n    ScanOp              scan_op,                ///< [in] Binary scan operator\n    Int2Type<0>         length)\n{\n    return inclusive;\n}\n\n\n/**\n * \\brief Perform a sequential inclusive prefix scan over \\p LENGTH elements of the \\p input array.  The aggregate is returned.\n *\n * \\tparam LENGTH     Length of \\p input and \\p output arrays\n * \\tparam T          <b>[inferred]</b> The data type to be scanned.\n * \\tparam ScanOp     <b>[inferred]</b> Binary scan operator type having member <tt>T operator()(const T &a, const T &b)</tt>\n */\ntemplate <\n    int         LENGTH,\n    typename    T,\n    typename    ScanOp>\n__device__ __forceinline__ T ThreadScanInclusive(\n    T           *input,                 ///< [in] Input array\n    T           *output,                ///< [out] Output array (may be aliased to \\p input)\n    ScanOp      scan_op)                ///< [in] Binary scan operator\n{\n    T inclusive = input[0];\n    output[0] = inclusive;\n\n    // Continue scan\n    return ThreadScanInclusive(inclusive, input + 1, output + 1, scan_op, Int2Type<LENGTH - 1>());\n}\n\n\n/**\n * \\brief Perform a sequential inclusive prefix scan over the statically-sized \\p input array.  The aggregate is returned.\n *\n * \\tparam LENGTH     <b>[inferred]</b> Length of \\p input and \\p output arrays\n * \\tparam T          <b>[inferred]</b> The data type to be scanned.\n * \\tparam ScanOp     <b>[inferred]</b> Binary scan operator type having member <tt>T operator()(const T &a, const T &b)</tt>\n */\ntemplate <\n    int         LENGTH,\n    typename    T,\n    typename    ScanOp>\n__device__ __forceinline__ T ThreadScanInclusive(\n    T           (&input)[LENGTH],       ///< [in] Input array\n    T           (&output)[LENGTH],      ///< [out] Output array (may be aliased to \\p input)\n    ScanOp      scan_op)                ///< [in] Binary scan operator\n{\n    return ThreadScanInclusive<LENGTH>((T*) input, (T*) output, scan_op);\n}\n\n\n/**\n * \\brief Perform a sequential inclusive prefix scan over \\p LENGTH elements of the \\p input array, seeded with the specified \\p prefix.  The aggregate is returned.\n *\n * \\tparam LENGTH     Length of \\p input and \\p output arrays\n * \\tparam T          <b>[inferred]</b> The data type to be scanned.\n * \\tparam ScanOp     <b>[inferred]</b> Binary scan operator type having member <tt>T operator()(const T &a, const T &b)</tt>\n */\ntemplate <\n    int         LENGTH,\n    typename    T,\n    typename    ScanOp>\n__device__ __forceinline__ T ThreadScanInclusive(\n    T           *input,                 ///< [in] Input array\n    T           *output,                ///< [out] Output array (may be aliased to \\p input)\n    ScanOp      scan_op,                ///< [in] Binary scan operator\n    T           prefix,                 ///< [in] Prefix to seed scan with\n    bool        apply_prefix = true)    ///< [in] Whether or not the calling thread should apply its prefix.  (Handy for preventing thread-0 from applying a prefix.)\n{\n    T inclusive = input[0];\n    if (apply_prefix)\n    {\n        inclusive = scan_op(prefix, inclusive);\n    }\n    output[0] = inclusive;\n\n    // Continue scan\n    return ThreadScanInclusive(inclusive, input + 1, output + 1, scan_op, Int2Type<LENGTH - 1>());\n}\n\n\n/**\n * \\brief Perform a sequential inclusive prefix scan over the statically-sized \\p input array, seeded with the specified \\p prefix.  The aggregate is returned.\n *\n * \\tparam LENGTH     <b>[inferred]</b> Length of \\p input and \\p output arrays\n * \\tparam T          <b>[inferred]</b> The data type to be scanned.\n * \\tparam ScanOp     <b>[inferred]</b> Binary scan operator type having member <tt>T operator()(const T &a, const T &b)</tt>\n */\ntemplate <\n    int         LENGTH,\n    typename    T,\n    typename    ScanOp>\n__device__ __forceinline__ T ThreadScanInclusive(\n    T           (&input)[LENGTH],       ///< [in] Input array\n    T           (&output)[LENGTH],      ///< [out] Output array (may be aliased to \\p input)\n    ScanOp      scan_op,                ///< [in] Binary scan operator\n    T           prefix,                 ///< [in] Prefix to seed scan with\n    bool        apply_prefix = true)    ///< [in] Whether or not the calling thread should apply its prefix.  (Handy for preventing thread-0 from applying a prefix.)\n{\n    return ThreadScanInclusive<LENGTH>((T*) input, (T*) output, scan_op, prefix, apply_prefix);\n}\n\n\n//@}  end member group\n\n/** @} */       // end group UtilModule\n\n\n}               // CUB namespace\nCUB_NS_POSTFIX  // Optional outer namespace(s)\n"
  },
  {
    "path": "external/cub-1.3.2/cub/thread/thread_store.cuh",
    "content": "/******************************************************************************\n * Copyright (c) 2011, Duane Merrill.  All rights reserved.\n * Copyright (c) 2011-2014, NVIDIA CORPORATION.  All rights reserved.\n * \n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *     * Redistributions of source code must retain the above copyright\n *       notice, this list of conditions and the following disclaimer.\n *     * Redistributions in binary form must reproduce the above copyright\n *       notice, this list of conditions and the following disclaimer in the\n *       documentation and/or other materials provided with the distribution.\n *     * Neither the name of the NVIDIA CORPORATION nor the\n *       names of its contributors may be used to endorse or promote products\n *       derived from this software without specific prior written permission.\n * \n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n ******************************************************************************/\n\n/**\n * \\file\n * Thread utilities for writing memory using PTX cache modifiers.\n */\n\n#pragma once\n\n#include <cuda.h>\n\n#include \"../util_ptx.cuh\"\n#include \"../util_type.cuh\"\n#include \"../util_namespace.cuh\"\n\n/// Optional outer namespace(s)\nCUB_NS_PREFIX\n\n/// CUB namespace\nnamespace cub {\n\n/**\n * \\addtogroup UtilIo\n * @{\n */\n\n\n//-----------------------------------------------------------------------------\n// Tags and constants\n//-----------------------------------------------------------------------------\n\n/**\n * \\brief Enumeration of cache modifiers for memory store operations.\n */\nenum CacheStoreModifier\n{\n    STORE_DEFAULT,              ///< Default (no modifier)\n    STORE_WB,                   ///< Cache write-back all coherent levels\n    STORE_CG,                   ///< Cache at global level\n    STORE_CS,                   ///< Cache streaming (likely to be accessed once)\n    STORE_WT,                   ///< Cache write-through (to system memory)\n    STORE_VOLATILE,             ///< Volatile shared (any memory space)\n};\n\n\n/**\n * \\name Thread I/O (cache modified)\n * @{\n */\n\n/**\n * \\brief Thread utility for writing memory using cub::CacheStoreModifier cache modifiers.  Can be used to store any data type.\n *\n * \\par Example\n * \\code\n * #include <cub/cub.cuh>   // or equivalently <cub/thread/thread_store.cuh>\n *\n * // 32-bit store using cache-global modifier:\n * int *d_out;\n * int val;\n * cub::ThreadStore<cub::STORE_CG>(d_out + threadIdx.x, val);\n *\n * // 16-bit store using default modifier\n * short *d_out;\n * short val;\n * cub::ThreadStore<cub::STORE_DEFAULT>(d_out + threadIdx.x, val);\n *\n * // 256-bit store using write-through modifier\n * double4 *d_out;\n * double4 val;\n * cub::ThreadStore<cub::STORE_WT>(d_out + threadIdx.x, val);\n *\n * // 96-bit store using cache-streaming cache modifier\n * struct TestFoo { bool a; short b; };\n * TestFoo *d_struct;\n * TestFoo val;\n * cub::ThreadStore<cub::STORE_CS>(d_out + threadIdx.x, val);\n * \\endcode\n *\n * \\tparam MODIFIER             <b>[inferred]</b> CacheStoreModifier enumeration\n * \\tparam InputIterator        <b>[inferred]</b> Output iterator type \\iterator\n * \\tparam T                    <b>[inferred]</b> Data type of output value\n */\ntemplate <\n    CacheStoreModifier  MODIFIER,\n    typename            OutputIterator,\n    typename            T>\n__device__ __forceinline__ void ThreadStore(OutputIterator itr, T val);\n\n\n//@}  end member group\n\n\n#ifndef DOXYGEN_SHOULD_SKIP_THIS    // Do not document\n\n\n/// Helper structure for templated store iteration (inductive case)\ntemplate <int COUNT, int MAX>\nstruct IterateThreadStore\n{\n    template <CacheStoreModifier MODIFIER, typename T>\n    static __device__ __forceinline__ void Store(T *ptr, T *vals)\n    {\n        ThreadStore<MODIFIER>(ptr + COUNT, vals[COUNT]);\n        IterateThreadStore<COUNT + 1, MAX>::template Store<MODIFIER>(ptr, vals);\n    }\n\n    template <typename OutputIterator, typename T>\n    static __device__ __forceinline__ void Dereference(OutputIterator ptr, T *vals)\n    {\n        ptr[COUNT] = vals[COUNT];\n        IterateThreadStore<COUNT + 1, MAX>::Dereference(ptr, vals);\n    }\n\n};\n\n/// Helper structure for templated store iteration (termination case)\ntemplate <int MAX>\nstruct IterateThreadStore<MAX, MAX>\n{\n    template <CacheStoreModifier MODIFIER, typename T>\n    static __device__ __forceinline__ void Store(T *ptr, T *vals) {}\n\n    template <typename OutputIterator, typename T>\n    static __device__ __forceinline__ void Dereference(OutputIterator ptr, T *vals) {}\n};\n\n\n/**\n * Define a uint4 (16B) ThreadStore specialization for the given Cache load modifier\n */\n#define CUB_STORE_16(cub_modifier, ptx_modifier)                                            \\\n    template<>                                                                              \\\n    __device__ __forceinline__ void ThreadStore<cub_modifier, uint4*, uint4>(uint4* ptr, uint4 val)                         \\\n    {                                                                                       \\\n        asm volatile (\"st.\"#ptx_modifier\".v4.u32 [%0], {%1, %2, %3, %4};\" : :               \\\n            _CUB_ASM_PTR_(ptr),                                                             \\\n            \"r\"(val.x),                                                                     \\\n            \"r\"(val.y),                                                                     \\\n            \"r\"(val.z),                                                                     \\\n            \"r\"(val.w));                                                                    \\\n    }                                                                                       \\\n    template<>                                                                              \\\n    __device__ __forceinline__ void ThreadStore<cub_modifier, ulonglong2*, ulonglong2>(ulonglong2* ptr, ulonglong2 val)     \\\n    {                                                                                       \\\n        asm volatile (\"st.\"#ptx_modifier\".v2.u64 [%0], {%1, %2};\" : :                       \\\n            _CUB_ASM_PTR_(ptr),                                                             \\\n            \"l\"(val.x),                                                                     \\\n            \"l\"(val.y));                                                                    \\\n    }\n\n\n/**\n * Define a uint2 (8B) ThreadStore specialization for the given Cache load modifier\n */\n#define CUB_STORE_8(cub_modifier, ptx_modifier)                                             \\\n    template<>                                                                              \\\n    __device__ __forceinline__ void ThreadStore<cub_modifier, ushort4*, ushort4>(ushort4* ptr, ushort4 val)                 \\\n    {                                                                                       \\\n        asm volatile (\"st.\"#ptx_modifier\".v4.u16 [%0], {%1, %2, %3, %4};\" : :               \\\n            _CUB_ASM_PTR_(ptr),                                                             \\\n            \"h\"(val.x),                                                                     \\\n            \"h\"(val.y),                                                                     \\\n            \"h\"(val.z),                                                                     \\\n            \"h\"(val.w));                                                                    \\\n    }                                                                                       \\\n    template<>                                                                              \\\n    __device__ __forceinline__ void ThreadStore<cub_modifier, uint2*, uint2>(uint2* ptr, uint2 val)                         \\\n    {                                                                                       \\\n        asm volatile (\"st.\"#ptx_modifier\".v2.u32 [%0], {%1, %2};\" : :                       \\\n            _CUB_ASM_PTR_(ptr),                                                             \\\n            \"r\"(val.x),                                                                     \\\n            \"r\"(val.y));                                                                    \\\n    }                                                                                       \\\n    template<>                                                                              \\\n    __device__ __forceinline__ void ThreadStore<cub_modifier, unsigned long long*, unsigned long long>(unsigned long long* ptr, unsigned long long val)     \\\n    {                                                                                       \\\n        asm volatile (\"st.\"#ptx_modifier\".u64 [%0], %1;\" : :                                \\\n            _CUB_ASM_PTR_(ptr),                                                             \\\n            \"l\"(val));                                                                      \\\n    }\n\n/**\n * Define a unsigned int (4B) ThreadStore specialization for the given Cache load modifier\n */\n#define CUB_STORE_4(cub_modifier, ptx_modifier)                                             \\\n    template<>                                                                              \\\n    __device__ __forceinline__ void ThreadStore<cub_modifier, unsigned int*, unsigned int>(unsigned int* ptr, unsigned int val)                             \\\n    {                                                                                       \\\n        asm volatile (\"st.\"#ptx_modifier\".u32 [%0], %1;\" : :                                \\\n            _CUB_ASM_PTR_(ptr),                                                             \\\n            \"r\"(val));                                                                      \\\n    }\n\n\n/**\n * Define a unsigned short (2B) ThreadStore specialization for the given Cache load modifier\n */\n#define CUB_STORE_2(cub_modifier, ptx_modifier)                                             \\\n    template<>                                                                              \\\n    __device__ __forceinline__ void ThreadStore<cub_modifier, unsigned short*, unsigned short>(unsigned short* ptr, unsigned short val)                     \\\n    {                                                                                       \\\n        asm volatile (\"st.\"#ptx_modifier\".u16 [%0], %1;\" : :                                \\\n            _CUB_ASM_PTR_(ptr),                                                             \\\n            \"h\"(val));                                                                      \\\n    }\n\n\n/**\n * Define a unsigned char (1B) ThreadStore specialization for the given Cache load modifier\n */\n#define CUB_STORE_1(cub_modifier, ptx_modifier)                                             \\\n    template<>                                                                              \\\n    __device__ __forceinline__ void ThreadStore<cub_modifier, unsigned char*, unsigned char>(unsigned char* ptr, unsigned char val)                         \\\n    {                                                                                       \\\n        asm volatile (                                                                      \\\n        \"{\"                                                                                 \\\n        \"   .reg .u8 datum;\"                                                                \\\n        \"   cvt.u8.u16 datum, %1;\"                                                          \\\n        \"   st.\"#ptx_modifier\".u8 [%0], datum;\"                                             \\\n        \"}\" : :                                                                             \\\n            _CUB_ASM_PTR_(ptr),                                                             \\\n            \"h\"((unsigned short) val));                                                               \\\n    }\n\n/**\n * Define powers-of-two ThreadStore specializations for the given Cache load modifier\n */\n#define CUB_STORE_ALL(cub_modifier, ptx_modifier)                                           \\\n    CUB_STORE_16(cub_modifier, ptx_modifier)                                                \\\n    CUB_STORE_8(cub_modifier, ptx_modifier)                                                 \\\n    CUB_STORE_4(cub_modifier, ptx_modifier)                                                 \\\n    CUB_STORE_2(cub_modifier, ptx_modifier)                                                 \\\n    CUB_STORE_1(cub_modifier, ptx_modifier)                                                 \\\n\n\n/**\n * Define ThreadStore specializations for the various Cache load modifiers\n */\n#if CUB_PTX_ARCH >= 200\n    CUB_STORE_ALL(STORE_WB, ca)\n    CUB_STORE_ALL(STORE_CG, cg)\n    CUB_STORE_ALL(STORE_CS, cs)\n    CUB_STORE_ALL(STORE_WT, wt)\n#else\n    CUB_STORE_ALL(STORE_WB, global)\n    CUB_STORE_ALL(STORE_CG, global)\n    CUB_STORE_ALL(STORE_CS, global)\n    CUB_STORE_ALL(STORE_WT, volatile.global)\n#endif\n\n\n/**\n * ThreadStore definition for STORE_DEFAULT modifier on iterator types\n */\ntemplate <typename OutputIterator, typename T>\n__device__ __forceinline__ void ThreadStore(\n    OutputIterator              itr,\n    T                           val,\n    Int2Type<STORE_DEFAULT>     modifier,\n    Int2Type<false>             is_pointer)\n{\n    *itr = val;\n}\n\n\n/**\n * ThreadStore definition for STORE_DEFAULT modifier on pointer types\n */\ntemplate <typename T>\n__device__ __forceinline__ void ThreadStore(\n    T                           *ptr,\n    T                           val,\n    Int2Type<STORE_DEFAULT>     modifier,\n    Int2Type<true>              is_pointer)\n{\n    *ptr = val;\n}\n\n\n/**\n * ThreadStore definition for STORE_VOLATILE modifier on primitive pointer types\n */\ntemplate <typename T>\n__device__ __forceinline__ void ThreadStoreVolatilePtr(\n    T                           *ptr,\n    T                           val,\n    Int2Type<true>              is_primitive)\n{\n    *reinterpret_cast<volatile T*>(ptr) = val;\n}\n\n\n/**\n * ThreadStore definition for STORE_VOLATILE modifier on non-primitive pointer types\n */\ntemplate <typename T>\n__device__ __forceinline__ void ThreadStoreVolatilePtr(\n    T                           *ptr,\n    T                           val,\n    Int2Type<false>             is_primitive)\n{\n#if CUB_PTX_ARCH <= 130\n\n    *ptr = val;\n    __threadfence_block();\n\n#else\n\n    typedef typename UnitWord<T>::VolatileWord VolatileWord;   // Word type for memcopying\n\n    const int VOLATILE_MULTIPLE = sizeof(T) / sizeof(VolatileWord);\n\n    VolatileWord words[VOLATILE_MULTIPLE];\n    *reinterpret_cast<T*>(words) = val;\n\n//    VolatileWord *words = reinterpret_cast<VolatileWord*>(&val);\n\n    IterateThreadStore<0, VOLATILE_MULTIPLE>::template Dereference(\n        reinterpret_cast<volatile VolatileWord*>(ptr),\n        words);\n\n#endif  // CUB_PTX_ARCH <= 130\n\n}\n\n\n/**\n * ThreadStore definition for STORE_VOLATILE modifier on pointer types\n */\ntemplate <typename T>\n__device__ __forceinline__ void ThreadStore(\n    T                           *ptr,\n    T                           val,\n    Int2Type<STORE_VOLATILE>    modifier,\n    Int2Type<true>              is_pointer)\n{\n    ThreadStoreVolatilePtr(ptr, val, Int2Type<Traits<T>::PRIMITIVE>());\n}\n\n\n/**\n * ThreadStore definition for generic modifiers on pointer types\n */\ntemplate <typename T, int MODIFIER>\n__device__ __forceinline__ void ThreadStore(\n    T                           *ptr,\n    T                           val,\n    Int2Type<MODIFIER>          modifier,\n    Int2Type<true>              is_pointer)\n{\n    typedef typename UnitWord<T>::DeviceWord DeviceWord;   // Word type for memcopying\n\n    const int DEVICE_MULTIPLE = sizeof(T) / sizeof(DeviceWord);\n\n    DeviceWord words[DEVICE_MULTIPLE];\n\n    *reinterpret_cast<T*>(words) = val;\n\n    IterateThreadStore<0, DEVICE_MULTIPLE>::template Store<CacheStoreModifier(MODIFIER)>(\n        reinterpret_cast<DeviceWord*>(ptr),\n        words);\n}\n\n\n/**\n * ThreadStore definition for generic modifiers\n */\ntemplate <CacheStoreModifier MODIFIER, typename OutputIterator, typename T>\n__device__ __forceinline__ void ThreadStore(OutputIterator itr, T val)\n{\n    ThreadStore(\n        itr,\n        val,\n        Int2Type<MODIFIER>(),\n        Int2Type<IsPointer<OutputIterator>::VALUE>());\n}\n\n\n\n#endif // DOXYGEN_SHOULD_SKIP_THIS\n\n\n/** @} */       // end group UtilIo\n\n\n}               // CUB namespace\nCUB_NS_POSTFIX  // Optional outer namespace(s)\n"
  },
  {
    "path": "external/cub-1.3.2/cub/util_allocator.cuh",
    "content": "/******************************************************************************\n * Copyright (c) 2011, Duane Merrill.  All rights reserved.\n * Copyright (c) 2011-2014, NVIDIA CORPORATION.  All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *     * Redistributions of source code must retain the above copyright\n *       notice, this list of conditions and the following disclaimer.\n *     * Redistributions in binary form must reproduce the above copyright\n *       notice, this list of conditions and the following disclaimer in the\n *       documentation and/or other materials provided with the distribution.\n *     * Neither the name of the NVIDIA CORPORATION nor the\n *       names of its contributors may be used to endorse or promote products\n *       derived from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n ******************************************************************************/\n\n/******************************************************************************\n * Simple caching allocator for device memory allocations. The allocator is\n * thread-safe and capable of managing device allocations on multiple devices.\n ******************************************************************************/\n\n#pragma once\n\n#if (CUB_PTX_ARCH == 0)\n    #include <set>              // NVCC (EDG, really) takes FOREVER to compile std::map\n    #include <map>\n#endif\n\n#include <math.h>\n\n#include \"util_namespace.cuh\"\n#include \"util_debug.cuh\"\n\n#include \"host/spinlock.cuh\"\n\n/// Optional outer namespace(s)\nCUB_NS_PREFIX\n\n/// CUB namespace\nnamespace cub {\n\n\n/**\n * \\addtogroup UtilMgmt\n * @{\n */\n\n\n/******************************************************************************\n * CachingDeviceAllocator (host use)\n ******************************************************************************/\n\n/**\n * \\brief A simple caching allocator for device memory allocations.\n *\n * \\par Overview\n * The allocator is thread-safe and is capable of managing cached device allocations\n * on multiple devices.  It behaves as follows:\n *\n * \\par\n * - Allocations categorized by bin size.\n * - Bin sizes progress geometrically in accordance with the growth factor\n *   \\p bin_growth provided during construction.  Unused device allocations within\n *   a larger bin cache are not reused for allocation requests that categorize to\n *   smaller bin sizes.\n * - Allocation requests below (\\p bin_growth ^ \\p min_bin) are rounded up to\n *   (\\p bin_growth ^ \\p min_bin).\n * - Allocations above (\\p bin_growth ^ \\p max_bin) are not rounded up to the nearest\n *   bin and are simply freed when they are deallocated instead of being returned\n *   to a bin-cache.\n * - %If the total storage of cached allocations on a given device will exceed\n *   \\p max_cached_bytes, allocations for that device are simply freed when they are\n *   deallocated instead of being returned to their bin-cache.\n *\n * \\par\n * For example, the default-constructed CachingDeviceAllocator is configured with:\n * - \\p bin_growth = 8\n * - \\p min_bin = 3\n * - \\p max_bin = 7\n * - \\p max_cached_bytes = 6MB - 1B\n *\n * \\par\n * which delineates five bin-sizes: 512B, 4KB, 32KB, 256KB, and 2MB\n * and sets a maximum of 6,291,455 cached bytes per device\n *\n */\nstruct CachingDeviceAllocator\n{\n#ifndef DOXYGEN_SHOULD_SKIP_THIS    // Do not document\n\n\n    //---------------------------------------------------------------------\n    // Type definitions and constants\n    //---------------------------------------------------------------------\n\n    enum\n    {\n        /// Invalid device ordinal\n        INVALID_DEVICE_ORDINAL = -1,\n    };\n\n    /**\n     * Integer pow function for unsigned base and exponent\n     */\n    static unsigned int IntPow(\n        unsigned int base,\n        unsigned int exp)\n    {\n        unsigned int retval = 1;\n        while (exp > 0)\n        {\n            if (exp & 1) {\n                retval = retval * base;        // multiply the result by the current base\n            }\n            base = base * base;                // square the base\n            exp = exp >> 1;                    // divide the exponent in half\n        }\n        return retval;\n    }\n\n\n    /**\n     * Round up to the nearest power-of\n     */\n    static void NearestPowerOf(\n        unsigned int &power,\n        size_t &rounded_bytes,\n        unsigned int base,\n        size_t value)\n    {\n        power = 0;\n        rounded_bytes = 1;\n\n        while (rounded_bytes < value)\n        {\n            rounded_bytes *= base;\n            power++;\n        }\n    }\n\n    /**\n     * Descriptor for device memory allocations\n     */\n    struct BlockDescriptor\n    {\n        int   device;        // device ordinal\n        void*           d_ptr;      // Device pointer\n        size_t          bytes;      // Size of allocation in bytes\n        unsigned int    bin;        // Bin enumeration\n\n        // Constructor\n        BlockDescriptor(void *d_ptr, int device) :\n            d_ptr(d_ptr),\n            bytes(0),\n            bin(0),\n            device(device) {}\n\n        // Constructor\n        BlockDescriptor(size_t bytes, unsigned int bin, int device) :\n            d_ptr(NULL),\n            bytes(bytes),\n            bin(bin),\n            device(device) {}\n\n        // Comparison functor for comparing device pointers\n        static bool PtrCompare(const BlockDescriptor &a, const BlockDescriptor &b)\n        {\n            if (a.device < b.device) {\n                return true;\n            } else if (a.device > b.device) {\n                return false;\n            } else {\n                return (a.d_ptr < b.d_ptr);\n            }\n        }\n\n        // Comparison functor for comparing allocation sizes\n        static bool SizeCompare(const BlockDescriptor &a, const BlockDescriptor &b)\n        {\n            if (a.device < b.device) {\n                return true;\n            } else if (a.device > b.device) {\n                return false;\n            } else {\n                return (a.bytes < b.bytes);\n            }\n        }\n    };\n\n    /// BlockDescriptor comparator function interface\n    typedef bool (*Compare)(const BlockDescriptor &, const BlockDescriptor &);\n\n#if (CUB_PTX_ARCH == 0)   // Only define STL container members in host code\n\n    /// Set type for cached blocks (ordered by size)\n    typedef std::multiset<BlockDescriptor, Compare> CachedBlocks;\n\n    /// Set type for live blocks (ordered by ptr)\n    typedef std::multiset<BlockDescriptor, Compare> BusyBlocks;\n\n    /// Map type of device ordinals to the number of cached bytes cached by each device\n    typedef std::map<int, size_t> GpuCachedBytes;\n\n#endif // CUB_PTX_ARCH\n\n    //---------------------------------------------------------------------\n    // Fields\n    //---------------------------------------------------------------------\n\n    Spinlock        spin_lock;          /// Spinlock for thread-safety\n\n    unsigned int    bin_growth;         /// Geometric growth factor for bin-sizes\n    unsigned int    min_bin;            /// Minimum bin enumeration\n    unsigned int    max_bin;            /// Maximum bin enumeration\n\n    size_t          min_bin_bytes;      /// Minimum bin size\n    size_t          max_bin_bytes;      /// Maximum bin size\n    size_t          max_cached_bytes;   /// Maximum aggregate cached bytes per device\n\n    bool            debug;              /// Whether or not to print (de)allocation events to stdout\n    bool            skip_cleanup;       /// Whether or not to skip a call to FreeAllCached() when destructor is called.  (The CUDA runtime may have already shut down for statically declared allocators)\n\n#if (CUB_PTX_ARCH == 0)   // Only define STL container members in host code\n\n    GpuCachedBytes  cached_bytes;       /// Map of device ordinal to aggregate cached bytes on that device\n    CachedBlocks    cached_blocks;      /// Set of cached device allocations available for reuse\n    BusyBlocks      live_blocks;        /// Set of live device allocations currently in use\n\n#endif // CUB_PTX_ARCH\n\n#endif // DOXYGEN_SHOULD_SKIP_THIS\n\n    //---------------------------------------------------------------------\n    // Methods\n    //---------------------------------------------------------------------\n\n    /**\n     * \\brief Constructor.\n     */\n    CachingDeviceAllocator(\n        unsigned int bin_growth,    ///< Geometric growth factor for bin-sizes\n        unsigned int min_bin,       ///< Minimum bin\n        unsigned int max_bin,       ///< Maximum bin\n        size_t max_cached_bytes,    ///< Maximum aggregate cached bytes per device\n        bool skip_cleanup = false)  ///< Whether or not to skip a call to \\p FreeAllCached() when the destructor is called.  (Useful for preventing warnings when the allocator is declared at file/static/global scope: by the time the destructor is called on program exit, the CUDA runtime may have already shut down and freed all allocations.)\n    :\n    #if (CUB_PTX_ARCH == 0)   // Only define STL container members in host code\n            cached_blocks(BlockDescriptor::SizeCompare),\n            live_blocks(BlockDescriptor::PtrCompare),\n    #endif\n            debug(false),\n            spin_lock(0),\n            bin_growth(bin_growth),\n            min_bin(min_bin),\n            max_bin(max_bin),\n            min_bin_bytes(IntPow(bin_growth, min_bin)),\n            max_bin_bytes(IntPow(bin_growth, max_bin)),\n            max_cached_bytes(max_cached_bytes)\n    {}\n\n\n    /**\n     * \\brief Default constructor.\n     *\n     * Configured with:\n     * \\par\n     * - \\p bin_growth = 8\n     * - \\p min_bin = 3\n     * - \\p max_bin = 7\n     * - \\p max_cached_bytes = (\\p bin_growth ^ \\p max_bin) * 3) - 1 = 6,291,455 bytes\n     *\n     * which delineates five bin-sizes: 512B, 4KB, 32KB, 256KB, and 2MB and\n     * sets a maximum of 6,291,455 cached bytes per device\n     */\n    CachingDeviceAllocator(\n        bool skip_cleanup = false)  ///< Whether or not to skip a call to \\p FreeAllCached() when the destructor is called.  (Useful for preventing warnings when the allocator is declared at file/static/global scope: by the time the destructor is called on program exit, the CUDA runtime may have already shut down and freed all allocations.)\n    :\n    #if (CUB_PTX_ARCH == 0)   // Only define STL container members in host code\n        cached_blocks(BlockDescriptor::SizeCompare),\n        live_blocks(BlockDescriptor::PtrCompare),\n    #endif\n        skip_cleanup(skip_cleanup),\n        debug(false),\n        spin_lock(0),\n        bin_growth(8),\n        min_bin(3),\n        max_bin(7),\n        min_bin_bytes(IntPow(bin_growth, min_bin)),\n        max_bin_bytes(IntPow(bin_growth, max_bin)),\n        max_cached_bytes((max_bin_bytes * 3) - 1)\n    {}\n\n\n    /**\n     * \\brief Sets the limit on the number bytes this allocator is allowed to cache per device.\n     */\n    cudaError_t SetMaxCachedBytes(\n        size_t max_cached_bytes)\n    {\n    #if (CUB_PTX_ARCH > 0)\n        // Caching functionality only defined on host\n        return CubDebug(cudaErrorInvalidConfiguration);\n    #else\n\n        // Lock\n        Lock(&spin_lock);\n\n        this->max_cached_bytes = max_cached_bytes;\n\n        if (debug) CubLog(\"New max_cached_bytes(%lld)\\n\", (long long) max_cached_bytes);\n\n        // Unlock\n        Unlock(&spin_lock);\n\n        return cudaSuccess;\n\n    #endif // CUB_PTX_ARCH\n    }\n\n\n    /**\n     * \\brief Provides a suitable allocation of device memory for the given size on the specified device\n     */\n    cudaError_t DeviceAllocate(\n        void** d_ptr,\n        size_t bytes,\n        int device)\n    {\n    #if (CUB_PTX_ARCH > 0)\n        // Caching functionality only defined on host\n        return CubDebug(cudaErrorInvalidConfiguration);\n    #else\n\n        bool locked                     = false;\n        int entrypoint_device           = INVALID_DEVICE_ORDINAL;\n        cudaError_t error               = cudaSuccess;\n\n        // Round up to nearest bin size\n        unsigned int bin;\n        size_t bin_bytes;\n        NearestPowerOf(bin, bin_bytes, bin_growth, bytes);\n        if (bin < min_bin) {\n            bin = min_bin;\n            bin_bytes = min_bin_bytes;\n        }\n\n        // Check if bin is greater than our maximum bin\n        if (bin > max_bin)\n        {\n            // Allocate the request exactly and give out-of-range bin\n            bin = (unsigned int) -1;\n            bin_bytes = bytes;\n        }\n\n        BlockDescriptor search_key(bin_bytes, bin, device);\n\n        // Lock\n        if (!locked) {\n            Lock(&spin_lock);\n            locked = true;\n        }\n\n        do {\n            // Find a free block big enough within the same bin on the same device\n            CachedBlocks::iterator block_itr = cached_blocks.lower_bound(search_key);\n            if ((block_itr != cached_blocks.end()) &&\n                (block_itr->device == device) &&\n                (block_itr->bin == search_key.bin))\n            {\n                // Reuse existing cache block.  Insert into live blocks.\n                search_key = *block_itr;\n                live_blocks.insert(search_key);\n\n                // Remove from free blocks\n                cached_blocks.erase(block_itr);\n                cached_bytes[device] -= search_key.bytes;\n\n                if (debug) CubLog(\"\\tdevice %d reused cached block (%lld bytes). %lld available blocks cached (%lld bytes), %lld live blocks outstanding.\\n\",\n                    device, (long long) search_key.bytes, (long long) cached_blocks.size(), (long long) cached_bytes[device], (long long) live_blocks.size());\n            }\n            else\n            {\n                // Need to allocate a new cache block. Unlock.\n                if (locked) {\n                    Unlock(&spin_lock);\n                    locked = false;\n                }\n\n                // Set to specified device\n                if (CubDebug(error = cudaGetDevice(&entrypoint_device))) break;\n                if (CubDebug(error = cudaSetDevice(device))) break;\n\n                // Allocate\n                if (CubDebug(error = cudaMalloc(&search_key.d_ptr, search_key.bytes))) break;\n\n                // Lock\n                if (!locked) {\n                    Lock(&spin_lock);\n                    locked = true;\n                }\n\n                // Insert into live blocks\n                live_blocks.insert(search_key);\n\n                if (debug) CubLog(\"\\tdevice %d allocating new device block %lld bytes. %lld available blocks cached (%lld bytes), %lld live blocks outstanding.\\n\",\n                    device, (long long) search_key.bytes, (long long) cached_blocks.size(), (long long) cached_bytes[device], (long long) live_blocks.size());\n            }\n        } while(0);\n\n        // Unlock\n        if (locked) {\n            Unlock(&spin_lock);\n            locked = false;\n        }\n\n        // Copy device pointer to output parameter (NULL on error)\n        *d_ptr = search_key.d_ptr;\n\n        // Attempt to revert back to previous device if necessary\n        if (entrypoint_device != INVALID_DEVICE_ORDINAL)\n        {\n            if (CubDebug(error = cudaSetDevice(entrypoint_device))) return error;\n        }\n\n        return error;\n\n    #endif // CUB_PTX_ARCH\n    }\n\n\n    /**\n     * \\brief Provides a suitable allocation of device memory for the given size on the current device\n     */\n    cudaError_t DeviceAllocate(\n        void** d_ptr,\n        size_t bytes)\n    {\n    #if (CUB_PTX_ARCH > 0)\n        // Caching functionality only defined on host\n        return CubDebug(cudaErrorInvalidConfiguration);\n    #else\n        cudaError_t error = cudaSuccess;\n        do {\n            int current_device;\n            if (CubDebug(error = cudaGetDevice(&current_device))) break;\n            if (CubDebug(error = DeviceAllocate(d_ptr, bytes, current_device))) break;\n        } while(0);\n\n        return error;\n\n    #endif // CUB_PTX_ARCH\n    }\n\n\n    /**\n     * \\brief Frees a live allocation of device memory on the specified device, returning it to the allocator\n     */\n    cudaError_t DeviceFree(\n        void* d_ptr,\n        int device)\n    {\n    #if (CUB_PTX_ARCH > 0)\n        // Caching functionality only defined on host\n        return CubDebug(cudaErrorInvalidConfiguration);\n    #else\n\n        bool locked                     = false;\n        int entrypoint_device           = INVALID_DEVICE_ORDINAL;\n        cudaError_t error               = cudaSuccess;\n\n        BlockDescriptor search_key(d_ptr, device);\n\n        // Lock\n        if (!locked) {\n            Lock(&spin_lock);\n            locked = true;\n        }\n\n        do {\n            // Find corresponding block descriptor\n            BusyBlocks::iterator block_itr = live_blocks.find(search_key);\n            if (block_itr == live_blocks.end())\n            {\n                // Cannot find pointer\n                if (CubDebug(error = cudaErrorUnknown)) break;\n            }\n            else\n            {\n                // Remove from live blocks\n                search_key = *block_itr;\n                live_blocks.erase(block_itr);\n\n                // Check if we should keep the returned allocation\n                if (cached_bytes[device] + search_key.bytes <= max_cached_bytes)\n                {\n                    // Insert returned allocation into free blocks\n                    cached_blocks.insert(search_key);\n                    cached_bytes[device] += search_key.bytes;\n\n                    if (debug) CubLog(\"\\tdevice %d returned %lld bytes. %lld available blocks cached (%lld bytes), %lld live blocks outstanding.\\n\",\n                        device, (long long) search_key.bytes, (long long) cached_blocks.size(), (long long) cached_bytes[device], (long long) live_blocks.size());\n                }\n                else\n                {\n                    // Free the returned allocation.  Unlock.\n                    if (locked) {\n                        Unlock(&spin_lock);\n                        locked = false;\n                    }\n\n                    // Set to specified device\n                    if (CubDebug(error = cudaGetDevice(&entrypoint_device))) break;\n                    if (CubDebug(error = cudaSetDevice(device))) break;\n\n                    // Free device memory\n                    if (CubDebug(error = cudaFree(d_ptr))) break;\n\n                    if (debug) CubLog(\"\\tdevice %d freed %lld bytes.  %lld available blocks cached (%lld bytes), %lld live blocks outstanding.\\n\",\n                        device, (long long) search_key.bytes, (long long) cached_blocks.size(), (long long) cached_bytes[device], (long long) live_blocks.size());\n                }\n            }\n        } while (0);\n\n        // Unlock\n        if (locked) {\n            Unlock(&spin_lock);\n            locked = false;\n        }\n\n        // Attempt to revert back to entry-point device if necessary\n        if (entrypoint_device != INVALID_DEVICE_ORDINAL)\n        {\n            if (CubDebug(error = cudaSetDevice(entrypoint_device))) return error;\n        }\n\n        return error;\n\n    #endif // CUB_PTX_ARCH\n    }\n\n\n    /**\n     * \\brief Frees a live allocation of device memory on the current device, returning it to the allocator\n     */\n    cudaError_t DeviceFree(\n        void* d_ptr)\n    {\n    #if (CUB_PTX_ARCH > 0)\n        // Caching functionality only defined on host\n        return CubDebug(cudaErrorInvalidConfiguration);\n    #else\n\n        int current_device;\n        cudaError_t error = cudaSuccess;\n\n        do {\n            if (CubDebug(error = cudaGetDevice(&current_device))) break;\n            if (CubDebug(error = DeviceFree(d_ptr, current_device))) break;\n        } while(0);\n\n        return error;\n\n    #endif // CUB_PTX_ARCH\n    }\n\n\n    /**\n     * \\brief Frees all cached device allocations on all devices\n     */\n    cudaError_t FreeAllCached()\n    {\n    #if (CUB_PTX_ARCH > 0)\n        // Caching functionality only defined on host\n        return CubDebug(cudaErrorInvalidConfiguration);\n    #else\n\n        cudaError_t error         = cudaSuccess;\n        bool locked               = false;\n        int entrypoint_device     = INVALID_DEVICE_ORDINAL;\n        int current_device        = INVALID_DEVICE_ORDINAL;\n\n        // Lock\n        if (!locked) {\n            Lock(&spin_lock);\n            locked = true;\n        }\n\n        while (!cached_blocks.empty())\n        {\n            // Get first block\n            CachedBlocks::iterator begin = cached_blocks.begin();\n\n            // Get entry-point device ordinal if necessary\n            if (entrypoint_device == INVALID_DEVICE_ORDINAL)\n            {\n                if (CubDebug(error = cudaGetDevice(&entrypoint_device))) break;\n            }\n\n            // Set current device ordinal if necessary\n            if (begin->device != current_device)\n            {\n                if (CubDebug(error = cudaSetDevice(begin->device))) break;\n                current_device = begin->device;\n            }\n\n            // Free device memory\n            if (CubDebug(error = cudaFree(begin->d_ptr))) break;\n\n            // Reduce balance and erase entry\n            cached_bytes[current_device] -= begin->bytes;\n            cached_blocks.erase(begin);\n\n            if (debug) CubLog(\"\\tdevice %d freed %lld bytes.  %lld available blocks cached (%lld bytes), %lld live blocks outstanding.\\n\",\n                current_device, (long long) begin->bytes, (long long) cached_blocks.size(), (long long) cached_bytes[current_device], (long long) live_blocks.size());\n        }\n\n        // Unlock\n        if (locked) {\n            Unlock(&spin_lock);\n            locked = false;\n        }\n\n        // Attempt to revert back to entry-point device if necessary\n        if (entrypoint_device != INVALID_DEVICE_ORDINAL)\n        {\n            if (CubDebug(error = cudaSetDevice(entrypoint_device))) return error;\n        }\n\n        return error;\n\n    #endif // CUB_PTX_ARCH\n    }\n\n\n    /**\n     * \\brief Destructor\n     */\n    virtual ~CachingDeviceAllocator()\n    {\n        if (!skip_cleanup)\n            FreeAllCached();\n    }\n\n};\n\n\n\n\n/** @} */       // end group UtilMgmt\n\n}               // CUB namespace\nCUB_NS_POSTFIX  // Optional outer namespace(s)\n"
  },
  {
    "path": "external/cub-1.3.2/cub/util_arch.cuh",
    "content": "/******************************************************************************\n * Copyright (c) 2011, Duane Merrill.  All rights reserved.\n * Copyright (c) 2011-2014, NVIDIA CORPORATION.  All rights reserved.\n * \n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *     * Redistributions of source code must retain the above copyright\n *       notice, this list of conditions and the following disclaimer.\n *     * Redistributions in binary form must reproduce the above copyright\n *       notice, this list of conditions and the following disclaimer in the\n *       documentation and/or other materials provided with the distribution.\n *     * Neither the name of the NVIDIA CORPORATION nor the\n *       names of its contributors may be used to endorse or promote products\n *       derived from this software without specific prior written permission.\n * \n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n ******************************************************************************/\n\n/**\n * \\file\n * Static architectural properties by SM version.\n */\n\n#pragma once\n\n#include \"util_namespace.cuh\"\n\n/// Optional outer namespace(s)\nCUB_NS_PREFIX\n\n/// CUB namespace\nnamespace cub {\n\n\n/**\n * \\addtogroup UtilMgmt\n * @{\n */\n\n\n/// CUB_PTX_ARCH reflects the PTX version targeted by the active compiler pass (or zero during the host pass).\n#ifndef __CUDA_ARCH__\n    #define CUB_PTX_ARCH 0\n#else\n    #define CUB_PTX_ARCH __CUDA_ARCH__\n#endif\n\n\n/// Whether or not the source targeted by the active compiler pass is allowed to  invoke device kernels or methods from the CUDA runtime API.\n#if (CUB_PTX_ARCH == 0) || defined(CUB_CDP)\n    #define CUB_RUNTIME_ENABLED\n    #define CUB_RUNTIME_FUNCTION __host__ __device__\n#else\n    #define CUB_RUNTIME_FUNCTION __host__\n#endif\n\n\n\n/// Number of threads per warp (log)\n#define CUB_LOG_WARP_THREADS(arch)                      \\\n\t(5)\n\n/// Number of threads per warp\n#define CUB_WARP_THREADS(arch)                          \\\n    (1 << CUB_LOG_WARP_THREADS(arch))\n\n/// Number of smem banks (log)\n#define CUB_LOG_SMEM_BANKS(arch)                        \\\n    ((arch >= 200) ?                                    \\\n        (5) :                                           \\\n        (4))\n\n/// Number of smem banks\n#define CUB_SMEM_BANKS(arch)                            \\\n    (1 << CUB_LOG_SMEM_BANKS(arch))\n\n/// Number of bytes per smem bank\n#define CUB_SMEM_BANK_BYTES(arch)                       \\\n    (4)\n\n/// Number of smem bytes provisioned per SM\n#define CUB_SMEM_BYTES(arch)                            \\\n    ((arch >= 200) ?                                    \\\n\t\t(48 * 1024) :                                   \\\n\t\t(16 * 1024))\n\n/// Smem allocation size in bytes\n#define CUB_SMEM_ALLOC_UNIT(arch)                       \\\n    ((arch >= 300) ?                                    \\\n    \t(256) :                                         \\\n\t\t((arch >= 200) ?                                \\\n\t\t    (128) :                                     \\\n\t\t    (512)))\n\n/// Whether or not the architecture allocates registers by block (or by warp)\n#define CUB_REGS_BY_BLOCK(arch)                         \\\n    ((arch >= 200) ?                                    \\\n    \t(false) :                                       \\\n    \t(true))\n\n/// Number of registers allocated at a time per block (or by warp)\n#define CUB_REG_ALLOC_UNIT(arch)                        \\\n    ((arch >= 300) ?                                    \\\n    \t(256) :                                         \\\n        ((arch >= 200) ?                                \\\n        \t(64) :                                      \\\n            ((arch >= 120) ?                            \\\n            \t(512) :                                 \\\n            \t(256))))\n\n/// Granularity of warps for which registers are allocated\n#define CUB_WARP_ALLOC_UNIT(arch)                       \\\n    ((arch >= 300) ?                                    \\\n        (4) :                                           \\\n        (2))\n\n/// Maximum number of threads per SM\n#define CUB_MAX_SM_THREADS(arch)                        \\\n    ((arch >= 300) ?                                    \\\n    \t(2048) :                                        \\\n        ((arch >= 200) ?                                \\\n        \t(1536) :                                    \\\n            ((arch >= 120) ?                            \\\n           \t\t(1024) :                                \\\n           \t\t(768))))\n\n/// Maximum number of thread blocks per SM\n#define CUB_MAX_SM_BLOCKS(arch)                         \\\n    ((arch >= 300) ?                                    \\\n        (16) :                                          \\\n        (8))\n\n/// Maximum number of threads per thread block\n#define CUB_MAX_BLOCK_THREADS(arch)                     \\\n    ((arch >= 200) ?                                    \\\n        (1024) :                                        \\\n        (512))\n\n/// Maximum number of registers per SM\n#define CUB_MAX_SM_REGISTERS(arch)                      \\\n    ((arch >= 300) ?                                    \\\n        (64 * 1024) :                                   \\\n        ((arch >= 200) ?                                \\\n            (32 * 1024) :                               \\\n            ((arch >= 120) ?                            \\\n                (16 * 1024) :                           \\\n                (8 * 1024))))\n\n/// Oversubscription factor\n#define CUB_SUBSCRIPTION_FACTOR(arch)                   \\\n    ((arch >= 300) ?                                    \\\n        (5) :                                           \\\n        ((arch >= 200) ?                                \\\n            (3) :                                       \\\n            (10)))\n\n/// Prefer padding overhead vs X-way conflicts greater than this threshold\n#define CUB_PREFER_CONFLICT_OVER_PADDING(arch)          \\\n    ((arch >= 300) ?                                    \\\n        (1) :                                           \\\n        (4))\n\n#ifndef DOXYGEN_SHOULD_SKIP_THIS    // Do not document\n\n#define CUB_PTX_LOG_WARP_THREADS                CUB_LOG_WARP_THREADS(CUB_PTX_ARCH)\n#define CUB_PTX_WARP_THREADS                    CUB_WARP_THREADS(CUB_PTX_ARCH)\n#define CUB_PTX_LOG_SMEM_BANKS                  CUB_LOG_SMEM_BANKS(CUB_PTX_ARCH)\n#define CUB_PTX_SMEM_BANKS                      CUB_SMEM_BANKS(CUB_PTX_ARCH)\n#define CUB_PTX_SMEM_BANK_BYTES                 CUB_SMEM_BANK_BYTES(CUB_PTX_ARCH)\n#define CUB_PTX_SMEM_BYTES                      CUB_SMEM_BYTES(CUB_PTX_ARCH)\n#define CUB_PTX_SMEM_ALLOC_UNIT                 CUB_SMEM_ALLOC_UNIT(CUB_PTX_ARCH)\n#define CUB_PTX_REGS_BY_BLOCK                   CUB_REGS_BY_BLOCK(CUB_PTX_ARCH)\n#define CUB_PTX_REG_ALLOC_UNIT                  CUB_REG_ALLOC_UNIT(CUB_PTX_ARCH)\n#define CUB_PTX_WARP_ALLOC_UNIT                 CUB_WARP_ALLOC_UNIT(CUB_PTX_ARCH)\n#define CUB_PTX_MAX_SM_THREADS                  CUB_MAX_SM_THREADS(CUB_PTX_ARCH)\n#define CUB_PTX_MAX_SM_BLOCKS                   CUB_MAX_SM_BLOCKS(CUB_PTX_ARCH)\n#define CUB_PTX_MAX_BLOCK_THREADS               CUB_MAX_BLOCK_THREADS(CUB_PTX_ARCH)\n#define CUB_PTX_MAX_SM_REGISTERS                CUB_MAX_SM_REGISTERS(CUB_PTX_ARCH)\n#define CUB_PTX_PREFER_CONFLICT_OVER_PADDING    CUB_PREFER_CONFLICT_OVER_PADDING(CUB_PTX_ARCH)\n\n#endif  // Do not document\n\n\n/** @} */       // end group UtilMgmt\n\n}               // CUB namespace\nCUB_NS_POSTFIX  // Optional outer namespace(s)\n"
  },
  {
    "path": "external/cub-1.3.2/cub/util_debug.cuh",
    "content": "/******************************************************************************\n * Copyright (c) 2011, Duane Merrill.  All rights reserved.\n * Copyright (c) 2011-2014, NVIDIA CORPORATION.  All rights reserved.\n * \n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *     * Redistributions of source code must retain the above copyright\n *       notice, this list of conditions and the following disclaimer.\n *     * Redistributions in binary form must reproduce the above copyright\n *       notice, this list of conditions and the following disclaimer in the\n *       documentation and/or other materials provided with the distribution.\n *     * Neither the name of the NVIDIA CORPORATION nor the\n *       names of its contributors may be used to endorse or promote products\n *       derived from this software without specific prior written permission.\n * \n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n ******************************************************************************/\n\n/**\n * \\file\n * Error and event logging routines.\n *\n * The following macros definitions are supported:\n * - \\p CUB_LOG.  Simple event messages are printed to \\p stdout.\n */\n\n#pragma once\n\n#include <stdio.h>\n#include \"util_namespace.cuh\"\n#include \"util_arch.cuh\"\n\n/// Optional outer namespace(s)\nCUB_NS_PREFIX\n\n/// CUB namespace\nnamespace cub {\n\n\n/**\n * \\addtogroup UtilMgmt\n * @{\n */\n\n\n/// CUB error reporting macro (prints error messages to stderr)\n#if (defined(DEBUG) || defined(_DEBUG))\n    #define CUB_STDERR\n#endif\n\n\n\n/**\n * \\brief %If \\p CUB_STDERR is defined and \\p error is not \\p cudaSuccess, the corresponding error message is printed to \\p stderr (or \\p stdout in device code) along with the supplied source context.\n *\n * \\return The CUDA error.\n */\n__host__ __device__ __forceinline__ cudaError_t Debug(\n    cudaError_t     error,\n    const char*     filename,\n    int             line)\n{\n#ifdef CUB_STDERR\n    if (error)\n    {\n    #if (CUB_PTX_ARCH == 0)\n        fprintf(stderr, \"CUDA error %d [%s, %d]: %s\\n\", error, filename, line, cudaGetErrorString(error));\n        fflush(stderr);\n    #elif (CUB_PTX_ARCH >= 200)\n        printf(\"CUDA error %d [block %d, thread %d, %s, %d]\\n\", error, blockIdx.x, threadIdx.x, filename, line);\n    #endif\n    }\n#endif\n    return error;\n}\n\n\n/**\n * \\brief Debug macro\n */\n#define CubDebug(e) cub::Debug((e), __FILE__, __LINE__)\n\n\n/**\n * \\brief Debug macro with exit\n */\n#define CubDebugExit(e) if (cub::Debug((e), __FILE__, __LINE__)) { exit(1); }\n\n\n/**\n * \\brief Log macro for printf statements.\n */\n#if (CUB_PTX_ARCH == 0)\n    #define CubLog(format, ...) printf(format,__VA_ARGS__);\n#elif (CUB_PTX_ARCH >= 200)\n    #define CubLog(format, ...) printf(\"[block %d, thread %d]: \" format, blockIdx.x, threadIdx.x, __VA_ARGS__);\n#endif\n\n\n\n\n/** @} */       // end group UtilMgmt\n\n}               // CUB namespace\nCUB_NS_POSTFIX  // Optional outer namespace(s)\n"
  },
  {
    "path": "external/cub-1.3.2/cub/util_device.cuh",
    "content": "/******************************************************************************\n * Copyright (c) 2011, Duane Merrill.  All rights reserved.\n * Copyright (c) 2011-2014, NVIDIA CORPORATION.  All rights reserved.\n * \n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *     * Redistributions of source code must retain the above copyright\n *       notice, this list of conditions and the following disclaimer.\n *     * Redistributions in binary form must reproduce the above copyright\n *       notice, this list of conditions and the following disclaimer in the\n *       documentation and/or other materials provided with the distribution.\n *     * Neither the name of the NVIDIA CORPORATION nor the\n *       names of its contributors may be used to endorse or promote products\n *       derived from this software without specific prior written permission.\n * \n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n ******************************************************************************/\n\n/**\n * \\file\n * Properties of a given CUDA device and the corresponding PTX bundle\n */\n\n#pragma once\n\n#include \"util_arch.cuh\"\n#include \"util_debug.cuh\"\n#include \"util_namespace.cuh\"\n#include \"util_macro.cuh\"\n\n/// Optional outer namespace(s)\nCUB_NS_PREFIX\n\n/// CUB namespace\nnamespace cub {\n\n\n/**\n * \\addtogroup UtilMgmt\n * @{\n */\n\n#ifndef DOXYGEN_SHOULD_SKIP_THIS    // Do not document\n\n\n/**\n * Empty kernel for querying PTX manifest metadata (e.g., version) for the current device\n */\ntemplate <typename T>\n__global__ void EmptyKernel(void) { }\n\n\n/**\n * Alias temporaries to externally-allocated device storage (or simply return the amount of storage needed).\n */\ntemplate <int ALLOCATIONS>\nCUB_RUNTIME_FUNCTION __forceinline__\ncudaError_t AliasTemporaries(\n    void    *d_temp_storage,                    ///< [in] %Device allocation of temporary storage.  When NULL, the required allocation size is written to \\p temp_storage_bytes and no work is done.\n    size_t  &temp_storage_bytes,                ///< [in,out] Size in bytes of \\t d_temp_storage allocation\n    void*   (&allocations)[ALLOCATIONS],        ///< [in,out] Pointers to device allocations needed\n    size_t  (&allocation_sizes)[ALLOCATIONS])   ///< [in] Sizes in bytes of device allocations needed\n{\n    const int ALIGN_BYTES   = 256;\n    const int ALIGN_MASK    = ~(ALIGN_BYTES - 1);\n\n    // Compute exclusive prefix sum over allocation requests\n    size_t allocation_offsets[ALLOCATIONS];\n    size_t bytes_needed = 0;\n    for (int i = 0; i < ALLOCATIONS; ++i)\n    {\n        size_t allocation_bytes = (allocation_sizes[i] + ALIGN_BYTES - 1) & ALIGN_MASK;\n        allocation_offsets[i] = bytes_needed;\n        bytes_needed += allocation_bytes;\n    }\n\n    // Check if the caller is simply requesting the size of the storage allocation\n    if (!d_temp_storage)\n    {\n        temp_storage_bytes = bytes_needed;\n        return cudaSuccess;\n    }\n\n    // Check if enough storage provided\n    if (temp_storage_bytes < bytes_needed)\n    {\n        return CubDebug(cudaErrorInvalidValue);\n    }\n\n    // Alias\n    for (int i = 0; i < ALLOCATIONS; ++i)\n    {\n        allocations[i] = static_cast<char*>(d_temp_storage) + allocation_offsets[i];\n    }\n\n    return cudaSuccess;\n}\n\n\n\n#endif  // DOXYGEN_SHOULD_SKIP_THIS\n\n\n\n/**\n * \\brief Retrieves the PTX version that will be used on the current device (major * 100 + minor * 10)\n */\nCUB_RUNTIME_FUNCTION __forceinline__ cudaError_t PtxVersion(int &ptx_version)\n{\n    struct Dummy\n    {\n        /// Type definition of the EmptyKernel kernel entry point\n        typedef void (*EmptyKernelPtr)();\n\n        /// Force EmptyKernel<void> to be generated if this class is used\n        CUB_RUNTIME_FUNCTION __forceinline__\n        EmptyKernelPtr Empty()\n        {\n            return EmptyKernel<void>;\n        }\n    };\n\n\n#ifndef CUB_RUNTIME_ENABLED\n\n    // CUDA API calls not supported from this device\n    return cudaErrorInvalidConfiguration;\n\n#elif (CUB_PTX_ARCH > 0)\n\n    ptx_version = CUB_PTX_ARCH;\n    return cudaSuccess;\n\n#else\n\n    cudaError_t error = cudaSuccess;\n    do\n    {\n        cudaFuncAttributes empty_kernel_attrs;\n        if (CubDebug(error = cudaFuncGetAttributes(&empty_kernel_attrs, EmptyKernel<void>))) break;\n        ptx_version = empty_kernel_attrs.ptxVersion * 10;\n    }\n    while (0);\n\n    return error;\n\n#endif\n}\n\n\n/**\n * \\brief Retrieves the SM version (major * 100 + minor * 10)\n */\nCUB_RUNTIME_FUNCTION __forceinline__ cudaError_t SmVersion(int &sm_version, int device_ordinal)\n{\n#ifndef CUB_RUNTIME_ENABLED\n\n    // CUDA API calls not supported from this device\n    return cudaErrorInvalidConfiguration;\n\n#else\n\n    cudaError_t error = cudaSuccess;\n    do\n    {\n        // Fill in SM version\n        int major, minor;\n        if (CubDebug(error = cudaDeviceGetAttribute(&major, cudaDevAttrComputeCapabilityMajor, device_ordinal))) break;\n        if (CubDebug(error = cudaDeviceGetAttribute(&minor, cudaDevAttrComputeCapabilityMinor, device_ordinal))) break;\n        sm_version = major * 100 + minor * 10;\n    }\n    while (0);\n\n    return error;\n\n#endif\n}\n\n\n#ifndef DOXYGEN_SHOULD_SKIP_THIS    // Do not document\n\n/**\n * Synchronize the stream if specified\n */\nCUB_RUNTIME_FUNCTION __forceinline__\nstatic cudaError_t SyncStream(cudaStream_t stream)\n{\n#if (CUB_PTX_ARCH == 0)\n    return cudaStreamSynchronize(stream);\n#else\n    // Device can't yet sync on a specific stream\n    return cudaDeviceSynchronize();\n#endif\n}\n\n\n/**\n * \\brief Computes maximum SM occupancy in thread blocks for the given kernel function pointer \\p kernel_ptr.\n */\ntemplate <typename KernelPtr>\nCUB_RUNTIME_FUNCTION __forceinline__\ncudaError_t MaxSmOccupancy(\n    int                 &max_sm_occupancy,          ///< [out] maximum number of thread blocks that can reside on a single SM\n    int                 sm_version,                 ///< [in] The SM architecture to run on\n    KernelPtr           kernel_ptr,                 ///< [in] Kernel pointer for which to compute SM occupancy\n    int                 block_threads)              ///< [in] Number of threads per thread block\n{\n#ifndef CUB_RUNTIME_ENABLED\n\n    // CUDA API calls not supported from this device\n    return CubDebug(cudaErrorInvalidConfiguration);\n\n#else\n\n    cudaError_t error = cudaSuccess;\n    do\n    {\n        int warp_threads        = 1 << CUB_LOG_WARP_THREADS(sm_version);\n        int max_sm_blocks       = CUB_MAX_SM_BLOCKS(sm_version);\n        int max_sm_warps        = CUB_MAX_SM_THREADS(sm_version) / warp_threads;\n        int regs_by_block       = CUB_REGS_BY_BLOCK(sm_version);\n        int max_sm_registers    = CUB_MAX_SM_REGISTERS(sm_version);\n        int warp_alloc_unit     = CUB_WARP_ALLOC_UNIT(sm_version);\n        int smem_alloc_unit     = CUB_SMEM_ALLOC_UNIT(sm_version);\n        int reg_alloc_unit      = CUB_REG_ALLOC_UNIT(sm_version);\n        int smem_bytes          = CUB_SMEM_BYTES(sm_version);\n\n        // Get kernel attributes\n        cudaFuncAttributes kernel_attrs;\n        if (CubDebug(error = cudaFuncGetAttributes(&kernel_attrs, kernel_ptr))) break;\n\n        // Number of warps per threadblock\n        int block_warps = (block_threads +  warp_threads - 1) / warp_threads;\n\n        // Max warp occupancy\n        int max_warp_occupancy = (block_warps > 0) ?\n            max_sm_warps / block_warps :\n            max_sm_blocks;\n\n        // Maximum register occupancy\n        int max_reg_occupancy;\n        if ((block_threads == 0) || (kernel_attrs.numRegs == 0))\n        {\n            // Prevent divide-by-zero\n            max_reg_occupancy = max_sm_blocks;\n        }\n        else if (regs_by_block)\n        {\n            // Allocates registers by threadblock\n            int block_regs = CUB_ROUND_UP_NEAREST(kernel_attrs.numRegs * warp_threads * block_warps, reg_alloc_unit);\n            max_reg_occupancy = max_sm_registers / block_regs;\n        }\n        else\n        {\n            // Allocates registers by warp\n            int sm_sides                = warp_alloc_unit;\n            int sm_registers_per_side   = max_sm_registers / sm_sides;\n            int regs_per_warp           = CUB_ROUND_UP_NEAREST(kernel_attrs.numRegs * warp_threads, reg_alloc_unit);\n            int warps_per_side          = sm_registers_per_side / regs_per_warp;\n            int warps                   = warps_per_side * sm_sides;\n            max_reg_occupancy           = warps / block_warps;\n        }\n\n        // Shared memory per threadblock\n        int block_allocated_smem = CUB_ROUND_UP_NEAREST(\n            kernel_attrs.sharedSizeBytes,\n            smem_alloc_unit);\n\n        // Max shared memory occupancy\n        int max_smem_occupancy = (block_allocated_smem > 0) ?\n            (smem_bytes / block_allocated_smem) :\n            max_sm_blocks;\n\n        // Max occupancy\n        max_sm_occupancy = CUB_MIN(\n            CUB_MIN(max_sm_blocks, max_warp_occupancy),\n            CUB_MIN(max_smem_occupancy, max_reg_occupancy));\n\n//            printf(\"max_smem_occupancy(%d), max_warp_occupancy(%d), max_reg_occupancy(%d) \\n\", max_smem_occupancy, max_warp_occupancy, max_reg_occupancy);\n\n    } while (0);\n\n    return error;\n\n#endif  // CUB_RUNTIME_ENABLED\n}\n\n#endif  // Do not document\n\n\n/**\n * \\brief Computes maximum SM occupancy in thread blocks for executing the given kernel function pointer \\p kernel_ptr on the current device with \\p block_threads per thread block.\n *\n * \\par Snippet\n * The code snippet below illustrates the use of the MaxSmOccupancy function.\n * \\par\n * \\code\n * #include <cub/cub.cuh>   // or equivalently <cub/util_device.cuh>\n *\n * template <typename T>\n * __global__ void ExampleKernel()\n * {\n *     // Allocate shared memory for BlockScan\n *     __shared__ volatile T buffer[4096];\n *\n *        ...\n * }\n *\n *     ...\n *\n * // Determine SM occupancy for ExampleKernel specialized for unsigned char\n * int max_sm_occupancy;\n * MaxSmOccupancy(max_sm_occupancy, ExampleKernel<unsigned char>, 64);\n *\n * // max_sm_occupancy  <-- 4 on SM10\n * // max_sm_occupancy  <-- 8 on SM20\n * // max_sm_occupancy  <-- 12 on SM35\n *\n * \\endcode\n *\n */\ntemplate <typename KernelPtr>\nCUB_RUNTIME_FUNCTION __forceinline__\ncudaError_t MaxSmOccupancy(\n    int                 &max_sm_occupancy,          ///< [out] maximum number of thread blocks that can reside on a single SM\n    KernelPtr           kernel_ptr,                 ///< [in] Kernel pointer for which to compute SM occupancy\n    int                 block_threads)              ///< [in] Number of threads per thread block\n{\n#ifndef CUB_RUNTIME_ENABLED\n\n    // CUDA API calls not supported from this device\n    return CubDebug(cudaErrorInvalidConfiguration);\n\n#else\n\n    cudaError_t error = cudaSuccess;\n    do\n    {\n        // Get device ordinal\n        int device_ordinal;\n        if (CubDebug(error = cudaGetDevice(&device_ordinal))) break;\n\n        // Get device SM version\n        int sm_version;\n        if (CubDebug(error = SmVersion(sm_version, device_ordinal))) break;\n\n        // Get SM occupancy\n        if (CubDebug(error = MaxSmOccupancy(max_sm_occupancy, sm_version, kernel_ptr, block_threads))) break;\n\n    } while (0);\n\n    return error;\n\n#endif  // CUB_RUNTIME_ENABLED\n\n}\n\n\n/** @} */       // end group UtilMgmt\n\n}               // CUB namespace\nCUB_NS_POSTFIX  // Optional outer namespace(s)\n"
  },
  {
    "path": "external/cub-1.3.2/cub/util_macro.cuh",
    "content": "/******************************************************************************\n * Copyright (c) 2011, Duane Merrill.  All rights reserved.\n * Copyright (c) 2011-2014, NVIDIA CORPORATION.  All rights reserved.\n * \n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *     * Redistributions of source code must retain the above copyright\n *       notice, this list of conditions and the following disclaimer.\n *     * Redistributions in binary form must reproduce the above copyright\n *       notice, this list of conditions and the following disclaimer in the\n *       documentation and/or other materials provided with the distribution.\n *     * Neither the name of the NVIDIA CORPORATION nor the\n *       names of its contributors may be used to endorse or promote products\n *       derived from this software without specific prior written permission.\n * \n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n ******************************************************************************/\n\n/******************************************************************************\n * Common C/C++ macro utilities\n ******************************************************************************/\n\n#pragma once\n\n#include \"util_namespace.cuh\"\n\n/// Optional outer namespace(s)\nCUB_NS_PREFIX\n\n/// CUB namespace\nnamespace cub {\n\n\n/**\n * \\addtogroup UtilModule\n * @{\n */\n\n/**\n * Align struct\n */\n#if defined(_WIN32) || defined(_WIN64)\n    #define CUB_ALIGN(bytes) __declspec(align(32))\n#else\n    #define CUB_ALIGN(bytes) __attribute__((aligned(bytes)))\n#endif\n\n/**\n * Select maximum(a, b)\n */\n#define CUB_MAX(a, b) (((b) > (a)) ? (b) : (a))\n\n/**\n * Select minimum(a, b)\n */\n#define CUB_MIN(a, b) (((b) < (a)) ? (b) : (a))\n\n/**\n * Quotient of x/y rounded down to nearest integer\n */\n#define CUB_QUOTIENT_FLOOR(x, y) ((x) / (y))\n\n/**\n * Quotient of x/y rounded up to nearest integer\n */\n#define CUB_QUOTIENT_CEILING(x, y) (((x) + (y) - 1) / (y))\n\n/**\n * x rounded up to the nearest multiple of y\n */\n#define CUB_ROUND_UP_NEAREST(x, y) ((((x) + (y) - 1) / (y)) * y)\n\n/**\n * x rounded down to the nearest multiple of y\n */\n#define CUB_ROUND_DOWN_NEAREST(x, y) (((x) / (y)) * y)\n\n/**\n * Return character string for given type\n */\n#define CUB_TYPE_STRING(type) \"\"#type\n\n#ifndef DOXYGEN_SHOULD_SKIP_THIS    // Do not document\n    #define CUB_CAT_(a, b) a ## b\n    #define CUB_CAT(a, b) CUB_CAT_(a, b)\n#endif // DOXYGEN_SHOULD_SKIP_THIS\n\n/**\n * Static assert\n */\n#define CUB_STATIC_ASSERT(cond, msg) typedef int CUB_CAT(cub_static_assert, __LINE__)[(cond) ? 1 : -1]\n\n\n/** @} */       // end group UtilModule\n\n}               // CUB namespace\nCUB_NS_POSTFIX  // Optional outer namespace(s)\n"
  },
  {
    "path": "external/cub-1.3.2/cub/util_namespace.cuh",
    "content": "/******************************************************************************\n * Copyright (c) 2011, Duane Merrill.  All rights reserved.\n * Copyright (c) 2011-2014, NVIDIA CORPORATION.  All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *     * Redistributions of source code must retain the above copyright\n *       notice, this list of conditions and the following disclaimer.\n *     * Redistributions in binary form must reproduce the above copyright\n *       notice, this list of conditions and the following disclaimer in the\n *       documentation and/or other materials provided with the distribution.\n *     * Neither the name of the NVIDIA CORPORATION nor the\n *       names of its contributors may be used to endorse or promote products\n *       derived from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n ******************************************************************************/\n\n/**\n * \\file\n * Place-holder for prefixing the cub namespace\n */\n\n#pragma once\n\n// For example:\n//#define CUB_NS_PREFIX namespace thrust{ namespace detail {\n//#define CUB_NS_POSTFIX } }\n\n#define CUB_NS_PREFIX\n#define CUB_NS_POSTFIX\n"
  },
  {
    "path": "external/cub-1.3.2/cub/util_ptx.cuh",
    "content": "/******************************************************************************\n * Copyright (c) 2011, Duane Merrill.  All rights reserved.\n * Copyright (c) 2011-2014, NVIDIA CORPORATION.  All rights reserved.\n * \n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *     * Redistributions of source code must retain the above copyright\n *       notice, this list of conditions and the following disclaimer.\n *     * Redistributions in binary form must reproduce the above copyright\n *       notice, this list of conditions and the following disclaimer in the\n *       documentation and/or other materials provided with the distribution.\n *     * Neither the name of the NVIDIA CORPORATION nor the\n *       names of its contributors may be used to endorse or promote products\n *       derived from this software without specific prior written permission.\n * \n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n ******************************************************************************/\n\n/**\n * \\file\n * PTX intrinsics\n */\n\n\n#pragma once\n\n#include \"util_type.cuh\"\n#include \"util_arch.cuh\"\n#include \"util_namespace.cuh\"\n\n/// Optional outer namespace(s)\nCUB_NS_PREFIX\n\n/// CUB namespace\nnamespace cub {\n\n\n/**\n * \\addtogroup UtilPtx\n * @{\n */\n\n\n/******************************************************************************\n * PTX helper macros\n ******************************************************************************/\n\n#ifndef DOXYGEN_SHOULD_SKIP_THIS    // Do not document\n\n/**\n * Register modifier for pointer-types (for inlining PTX assembly)\n */\n#if defined(_WIN64) || defined(__LP64__)\n    #define __CUB_LP64__ 1\n    // 64-bit register modifier for inlined asm\n    #define _CUB_ASM_PTR_ \"l\"\n    #define _CUB_ASM_PTR_SIZE_ \"u64\"\n#else\n    #define __CUB_LP64__ 0\n    // 32-bit register modifier for inlined asm\n    #define _CUB_ASM_PTR_ \"r\"\n    #define _CUB_ASM_PTR_SIZE_ \"u32\"\n#endif\n\n#endif // DOXYGEN_SHOULD_SKIP_THIS\n\n\n/******************************************************************************\n * Inlined PTX intrinsics\n ******************************************************************************/\n\n/**\n * \\brief Shift-right then add.  Returns (\\p x >> \\p shift) + \\p addend.\n */\n__device__ __forceinline__ unsigned int SHR_ADD(\n    unsigned int x,\n    unsigned int shift,\n    unsigned int addend)\n{\n    unsigned int ret;\n#if CUB_PTX_ARCH >= 200\n    asm(\"vshr.u32.u32.u32.clamp.add %0, %1, %2, %3;\" :\n        \"=r\"(ret) : \"r\"(x), \"r\"(shift), \"r\"(addend));\n#else\n    ret = (x >> shift) + addend;\n#endif\n    return ret;\n}\n\n\n/**\n * \\brief Shift-left then add.  Returns (\\p x << \\p shift) + \\p addend.\n */\n__device__ __forceinline__ unsigned int SHL_ADD(\n    unsigned int x,\n    unsigned int shift,\n    unsigned int addend)\n{\n    unsigned int ret;\n#if CUB_PTX_ARCH >= 200\n    asm(\"vshl.u32.u32.u32.clamp.add %0, %1, %2, %3;\" :\n        \"=r\"(ret) : \"r\"(x), \"r\"(shift), \"r\"(addend));\n#else\n    ret = (x << shift) + addend;\n#endif\n    return ret;\n}\n\n#ifndef DOXYGEN_SHOULD_SKIP_THIS    // Do not document\n\n/**\n * Bitfield-extract.\n */\ntemplate <typename UnsignedBits, int BYTE_LEN>\n__device__ __forceinline__ unsigned int BFE(\n    UnsignedBits            source,\n    unsigned int            bit_start,\n    unsigned int            num_bits,\n    Int2Type<BYTE_LEN>      byte_len)\n{\n    unsigned int bits;\n#if CUB_PTX_ARCH >= 200\n    asm(\"bfe.u32 %0, %1, %2, %3;\" : \"=r\"(bits) : \"r\"((unsigned int) source), \"r\"(bit_start), \"r\"(num_bits));\n#else\n    const unsigned int MASK = (1 << num_bits) - 1;\n    bits = (source >> bit_start) & MASK;\n#endif\n    return bits;\n}\n\n\n/**\n * Bitfield-extract for 64-bit types.\n */\ntemplate <typename UnsignedBits>\n__device__ __forceinline__ unsigned int BFE(\n    UnsignedBits            source,\n    unsigned int            bit_start,\n    unsigned int            num_bits,\n    Int2Type<8>             byte_len)\n{\n    const unsigned long long MASK = (1ull << num_bits) - 1;\n    return (source >> bit_start) & MASK;\n}\n\n#endif // DOXYGEN_SHOULD_SKIP_THIS\n\n/**\n * \\brief Bitfield-extract.  Extracts \\p num_bits from \\p source starting at bit-offset \\p bit_start.  The input \\p source may be an 8b, 16b, 32b, or 64b unsigned integer type.\n */\ntemplate <typename UnsignedBits>\n__device__ __forceinline__ unsigned int BFE(\n    UnsignedBits source,\n    unsigned int bit_start,\n    unsigned int num_bits)\n{\n    return BFE(source, bit_start, num_bits, Int2Type<sizeof(UnsignedBits)>());\n}\n\n\n/**\n * \\brief Bitfield insert.  Inserts the \\p num_bits least significant bits of \\p y into \\p x at bit-offset \\p bit_start.\n */\n__device__ __forceinline__ void BFI(\n    unsigned int &ret,\n    unsigned int x,\n    unsigned int y,\n    unsigned int bit_start,\n    unsigned int num_bits)\n{\n#if CUB_PTX_ARCH >= 200\n    asm(\"bfi.b32 %0, %1, %2, %3, %4;\" :\n        \"=r\"(ret) : \"r\"(y), \"r\"(x), \"r\"(bit_start), \"r\"(num_bits));\n#else\n    x <<= bit_start;\n    unsigned int MASK_X = ((1 << num_bits) - 1) << bit_start;\n    unsigned int MASK_Y = ~MASK_X;\n    ret = (y & MASK_Y) | (x & MASK_X);\n#endif\n}\n\n\n/**\n * \\brief Three-operand add.  Returns \\p x + \\p y + \\p z.\n */\n__device__ __forceinline__ unsigned int IADD3(unsigned int x, unsigned int y, unsigned int z)\n{\n#if CUB_PTX_ARCH >= 200\n    asm(\"vadd.u32.u32.u32.add %0, %1, %2, %3;\" : \"=r\"(x) : \"r\"(x), \"r\"(y), \"r\"(z));\n#else\n    x = x + y + z;\n#endif\n    return x;\n}\n\n\n/**\n * \\brief Byte-permute. Pick four arbitrary bytes from two 32-bit registers, and reassemble them into a 32-bit destination register.  For SM2.0 or later.\n *\n * \\par\n * The bytes in the two source registers \\p a and \\p b are numbered from 0 to 7:\n * {\\p b, \\p a} = {{b7, b6, b5, b4}, {b3, b2, b1, b0}}. For each of the four bytes\n * {b3, b2, b1, b0} selected in the return value, a 4-bit selector is defined within\n * the four lower \"nibbles\" of \\p index: {\\p index } = {n7, n6, n5, n4, n3, n2, n1, n0}\n *\n * \\par Snippet\n * The code snippet below illustrates byte-permute.\n * \\par\n * \\code\n * #include <cub/cub.cuh>\n *\n * __global__ void ExampleKernel(...)\n * {\n *     int a        = 0x03020100;\n *     int b        = 0x07060504;\n *     int index    = 0x00007531;\n *\n *     int selected = PRMT(a, b, index);    // 0x07050301\n *\n * \\endcode\n *\n */\n__device__ __forceinline__ int PRMT(unsigned int a, unsigned int b, unsigned int index)\n{\n    int ret;\n    asm(\"prmt.b32 %0, %1, %2, %3;\" : \"=r\"(ret) : \"r\"(a), \"r\"(b), \"r\"(index));\n    return ret;\n}\n\n#ifndef DOXYGEN_SHOULD_SKIP_THIS    // Do not document\n\n/**\n * Sync-threads barrier.\n */\n__device__ __forceinline__ void BAR(int count)\n{\n    asm volatile(\"bar.sync 1, %0;\" : : \"r\"(count));\n}\n\n\n/**\n * Floating point multiply. (Mantissa LSB rounds towards zero.)\n */\n__device__ __forceinline__ float FMUL_RZ(float a, float b)\n{\n    float d;\n    asm(\"mul.rz.f32 %0, %1, %2;\" : \"=f\"(d) : \"f\"(a), \"f\"(b));\n    return d;\n}\n\n\n/**\n * Floating point multiply-add. (Mantissa LSB rounds towards zero.)\n */\n__device__ __forceinline__ float FFMA_RZ(float a, float b, float c)\n{\n    float d;\n    asm(\"fma.rz.f32 %0, %1, %2, %3;\" : \"=f\"(d) : \"f\"(a), \"f\"(b), \"f\"(c));\n    return d;\n}\n\n#endif // DOXYGEN_SHOULD_SKIP_THIS\n\n/**\n * \\brief Terminates the calling thread\n */\n__device__ __forceinline__ void ThreadExit() {\n    asm(\"exit;\");\n}    \n\n\n/**\n * \\brief Returns the row-major linear thread identifier for a multidimensional threadblock\n */\n__device__ __forceinline__ int RowMajorTid(int block_dim_x, int block_dim_y, int block_dim_z)\n{\n    return ((block_dim_z == 1) ? 0 : (threadIdx.z * block_dim_x * block_dim_y)) +\n            ((block_dim_y == 1) ? 0 : (threadIdx.y * block_dim_x)) +\n            threadIdx.x;\n}\n\n\n/**\n * \\brief Returns the warp lane ID of the calling thread\n */\n__device__ __forceinline__ unsigned int LaneId()\n{\n    unsigned int ret;\n    asm(\"mov.u32 %0, %laneid;\" : \"=r\"(ret) );\n    return ret;\n}\n\n\n/**\n * \\brief Returns the warp ID of the calling thread.  Warp ID is guaranteed to be unique among warps, but may not correspond to a zero-based ranking within the thread block.\n */\n__device__ __forceinline__ unsigned int WarpId()\n{\n    unsigned int ret;\n    asm(\"mov.u32 %0, %warpid;\" : \"=r\"(ret) );\n    return ret;\n}\n\n/**\n * \\brief Returns the warp lane mask of all lanes less than the calling thread\n */\n__device__ __forceinline__ unsigned int LaneMaskLt()\n{\n    unsigned int ret;\n    asm(\"mov.u32 %0, %lanemask_lt;\" : \"=r\"(ret) );\n    return ret;\n}\n\n/**\n * \\brief Returns the warp lane mask of all lanes less than or equal to the calling thread\n */\n__device__ __forceinline__ unsigned int LaneMaskLe()\n{\n    unsigned int ret;\n    asm(\"mov.u32 %0, %lanemask_le;\" : \"=r\"(ret) );\n    return ret;\n}\n\n/**\n * \\brief Returns the warp lane mask of all lanes greater than the calling thread\n */\n__device__ __forceinline__ unsigned int LaneMaskGt()\n{\n    unsigned int ret;\n    asm(\"mov.u32 %0, %lanemask_gt;\" : \"=r\"(ret) );\n    return ret;\n}\n\n/**\n * \\brief Returns the warp lane mask of all lanes greater than or equal to the calling thread\n */\n__device__ __forceinline__ unsigned int LaneMaskGe()\n{\n    unsigned int ret;\n    asm(\"mov.u32 %0, %lanemask_ge;\" : \"=r\"(ret) );\n    return ret;\n}\n\n/** @} */       // end group UtilPtx\n\n\n\n\n/**\n * \\brief Shuffle-up for any data type.  Each <em>warp-lane<sub>i</sub></em> obtains the value \\p input contributed by <em>warp-lane</em><sub><em>i</em>-<tt>src_offset</tt></sub>.  For thread lanes \\e i < src_offset, the thread's own \\p input is returned to the thread. ![](shfl_up_logo.png)\n * \\ingroup WarpModule\n *\n * \\par\n * - Available only for SM3.0 or newer\n *\n * \\par Snippet\n * The code snippet below illustrates each thread obtaining a \\p double value from the\n * predecessor of its predecessor.\n * \\par\n * \\code\n * #include <cub/cub.cuh>   // or equivalently <cub/util_ptx.cuh>\n *\n * __global__ void ExampleKernel(...)\n * {\n *     // Obtain one input item per thread\n *     double thread_data = ...\n *\n *     // Obtain item from two ranks below\n *     double peer_data = ShuffleUp(thread_data, 2);\n *\n * \\endcode\n * \\par\n * Suppose the set of input \\p thread_data across the first warp of threads is <tt>{1.0, 2.0, 3.0, 4.0, 5.0, ..., 32.0}</tt>.\n * The corresponding output \\p peer_data will be <tt>{1.0, 2.0, 1.0, 2.0, 3.0, ..., 30.0}</tt>.\n *\n */\ntemplate <typename T>\n__device__ __forceinline__ T ShuffleUp(\n    T               input,              ///< [in] The value to broadcast\n    int             src_offset)         ///< [in] The relative down-offset of the peer to read from\n{\n    enum\n    {\n        SHFL_C = 0,\n    };\n\n    typedef typename UnitWord<T>::ShuffleWord ShuffleWord;\n\n    const int       WORDS           = (sizeof(T) + sizeof(ShuffleWord) - 1) / sizeof(ShuffleWord);\n    T               output;\n    ShuffleWord     *output_alias   = reinterpret_cast<ShuffleWord *>(&output);\n    ShuffleWord     *input_alias    = reinterpret_cast<ShuffleWord *>(&input);\n\n    #pragma unroll\n    for (int WORD = 0; WORD < WORDS; ++WORD)\n    {\n        unsigned int shuffle_word = input_alias[WORD];\n        asm(\n            \"  shfl.up.b32 %0, %1, %2, %3;\"\n            : \"=r\"(shuffle_word) : \"r\"(shuffle_word), \"r\"(src_offset), \"r\"(SHFL_C));\n        output_alias[WORD] = (ShuffleWord) shuffle_word;\n    }\n\n    return output;\n}\n\n\n/**\n * \\brief Shuffle-down for any data type.  Each <em>warp-lane<sub>i</sub></em> obtains the value \\p input contributed by <em>warp-lane</em><sub><em>i</em>+<tt>src_offset</tt></sub>.  For thread lanes \\e i >= WARP_THREADS, the thread's own \\p input is returned to the thread.  ![](shfl_down_logo.png)\n * \\ingroup WarpModule\n *\n * \\par\n * - Available only for SM3.0 or newer\n *\n * \\par Snippet\n * The code snippet below illustrates each thread obtaining a \\p double value from the\n * successor of its successor.\n * \\par\n * \\code\n * #include <cub/cub.cuh>   // or equivalently <cub/util_ptx.cuh>\n *\n * __global__ void ExampleKernel(...)\n * {\n *     // Obtain one input item per thread\n *     double thread_data = ...\n *\n *     // Obtain item from two ranks below\n *     double peer_data = ShuffleDown(thread_data, 2);\n *\n * \\endcode\n * \\par\n * Suppose the set of input \\p thread_data across the first warp of threads is <tt>{1.0, 2.0, 3.0, 4.0, 5.0, ..., 32.0}</tt>.\n * The corresponding output \\p peer_data will be <tt>{3.0, 4.0, 5.0, 6.0, 7.0, ..., 32.0}</tt>.\n *\n */\ntemplate <typename T>\n__device__ __forceinline__ T ShuffleDown(\n    T               input,              ///< [in] The value to broadcast\n    int             src_offset)         ///< [in] The relative up-offset of the peer to read from\n{\n    enum\n    {\n        SHFL_C = CUB_PTX_WARP_THREADS - 1,\n    };\n\n    typedef typename UnitWord<T>::ShuffleWord ShuffleWord;\n\n    const int       WORDS           = (sizeof(T) + sizeof(ShuffleWord) - 1) / sizeof(ShuffleWord);\n    T               output;\n    ShuffleWord     *output_alias   = reinterpret_cast<ShuffleWord *>(&output);\n    ShuffleWord     *input_alias    = reinterpret_cast<ShuffleWord *>(&input);\n\n    #pragma unroll\n    for (int WORD = 0; WORD < WORDS; ++WORD)\n    {\n        unsigned int shuffle_word = input_alias[WORD];\n        asm(\n            \"  shfl.down.b32 %0, %1, %2, %3;\"\n            : \"=r\"(shuffle_word) : \"r\"(shuffle_word), \"r\"(src_offset), \"r\"(SHFL_C));\n        output_alias[WORD] = (ShuffleWord) shuffle_word;\n    }\n\n    return output;\n}\n\n#ifndef DOXYGEN_SHOULD_SKIP_THIS    // Do not document\n\n/**\n * \\brief Shuffle-broadcast for any data type.  Each <em>warp-lane<sub>i</sub></em> obtains the value \\p input contributed by <em>warp-lane</em><sub><tt>src_lane</tt></sub>.  For \\p src_lane < 0 or \\p src_lane >= WARP_THREADS, then the thread's own \\p input is returned to the thread.  ![](shfl_broadcast_logo.png)\n * \\ingroup WarpModule\n *\n * \\par\n * - Available only for SM3.0 or newer\n */\ntemplate <typename T>\n__device__ __forceinline__ T ShuffleBroadcast(\n    T               input,                                          ///< [in] The value to broadcast\n    int             src_lane,                                       ///< [in] Which warp lane is to do the broadcasting\n    int             logical_warp_threads)                           ///< [in] Number of threads per logical warp\n{\n    typedef typename UnitWord<T>::ShuffleWord ShuffleWord;\n\n    const int       WORDS           = (sizeof(T) + sizeof(ShuffleWord) - 1) / sizeof(ShuffleWord);\n    T               output;\n    ShuffleWord     *output_alias   = reinterpret_cast<ShuffleWord *>(&output);\n    ShuffleWord     *input_alias    = reinterpret_cast<ShuffleWord *>(&input);\n\n    #pragma unroll\n    for (int WORD = 0; WORD < WORDS; ++WORD)\n    {\n        unsigned int shuffle_word = input_alias[WORD];\n        asm(\"shfl.idx.b32 %0, %1, %2, %3;\"\n            : \"=r\"(shuffle_word) : \"r\"(shuffle_word), \"r\"(src_lane), \"r\"(logical_warp_threads - 1));\n        output_alias[WORD] = (ShuffleWord) shuffle_word;\n    }\n\n    return output;\n}\n\n#endif // DOXYGEN_SHOULD_SKIP_THIS\n\n\n /**\n * \\brief Shuffle-broadcast for any data type.  Each <em>warp-lane<sub>i</sub></em> obtains the value \\p input contributed by <em>warp-lane</em><sub><tt>src_lane</tt></sub>.  For \\p src_lane < 0 or \\p src_lane >= WARP_THREADS, then the thread's own \\p input is returned to the thread. ![](shfl_broadcast_logo.png)\n * \\ingroup WarpModule\n *\n * \\par\n * - Available only for SM3.0 or newer\n *\n * \\par Snippet\n * The code snippet below illustrates each thread obtaining a \\p double value from <em>warp-lane</em><sub>0</sub>.\n *\n * \\par\n * \\code\n * #include <cub/cub.cuh>   // or equivalently <cub/util_ptx.cuh>\n *\n * __global__ void ExampleKernel(...)\n * {\n *     // Obtain one input item per thread\n *     double thread_data = ...\n *\n *     // Obtain item from thread 0\n *     double peer_data = ShuffleBroadcast(thread_data, 0);\n *\n * \\endcode\n * \\par\n * Suppose the set of input \\p thread_data across the first warp of threads is <tt>{1.0, 2.0, 3.0, 4.0, 5.0, ..., 32.0}</tt>.\n * The corresponding output \\p peer_data will be <tt>{1.0, 1.0, 1.0, 1.0, 1.0, ..., 1.0}</tt>.\n *\n */\ntemplate <typename T>\n__device__ __forceinline__ T ShuffleBroadcast(\n    T               input,              ///< [in] The value to broadcast\n    int             src_lane)           ///< [in] Which warp lane is to do the broadcasting\n{\n    return ShuffleBroadcast(input, src_lane, CUB_PTX_WARP_THREADS);\n}\n\n\n\n\n\n/**\n * \\brief Portable implementation of __all\n * \\ingroup WarpModule\n */\n__device__ __forceinline__ int WarpAll(int cond)\n{\n#if CUB_PTX_ARCH < 120\n\n    __shared__ volatile int warp_signals[CUB_PTX_MAX_SM_THREADS / CUB_PTX_WARP_THREADS];\n\n    if (LaneId() == 0)\n        warp_signals[WarpId()] = 1;\n\n    if (cond == 0)\n        warp_signals[WarpId()] = 0;\n\n    return warp_signals[WarpId()];\n\n#else\n\n    return __all(cond);\n\n#endif\n}\n\n\n/**\n * \\brief Portable implementation of __any\n * \\ingroup WarpModule\n */\n__device__ __forceinline__ int WarpAny(int cond)\n{\n#if CUB_PTX_ARCH < 120\n\n    __shared__ volatile int warp_signals[CUB_PTX_MAX_SM_THREADS / CUB_PTX_WARP_THREADS];\n\n    if (LaneId() == 0)\n        warp_signals[WarpId()] = 0;\n\n    if (cond)\n        warp_signals[WarpId()] = 1;\n\n    return warp_signals[WarpId()];\n\n#else\n\n    return __any(cond);\n\n#endif\n}\n\n\n}               // CUB namespace\nCUB_NS_POSTFIX  // Optional outer namespace(s)\n"
  },
  {
    "path": "external/cub-1.3.2/cub/util_type.cuh",
    "content": "/******************************************************************************\n * Copyright (c) 2011, Duane Merrill.  All rights reserved.\n * Copyright (c) 2011-2014, NVIDIA CORPORATION.  All rights reserved.\n * \n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *     * Redistributions of source code must retain the above copyright\n *       notice, this list of conditions and the following disclaimer.\n *     * Redistributions in binary form must reproduce the above copyright\n *       notice, this list of conditions and the following disclaimer in the\n *       documentation and/or other materials provided with the distribution.\n *     * Neither the name of the NVIDIA CORPORATION nor the\n *       names of its contributors may be used to endorse or promote products\n *       derived from this software without specific prior written permission.\n * \n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n ******************************************************************************/\n\n/**\n * \\file\n * Common type manipulation (metaprogramming) utilities\n */\n\n#pragma once\n\n#include <iostream>\n#include <limits>\n\n#include \"util_macro.cuh\"\n#include \"util_arch.cuh\"\n#include \"util_namespace.cuh\"\n\n/// Optional outer namespace(s)\nCUB_NS_PREFIX\n\n/// CUB namespace\nnamespace cub {\n\n\n/**\n * \\addtogroup UtilModule\n * @{\n */\n\n\n\n/******************************************************************************\n * Type equality\n ******************************************************************************/\n\n/**\n * \\brief Type selection (<tt>IF ? ThenType : ElseType</tt>)\n */\ntemplate <bool IF, typename ThenType, typename ElseType>\nstruct If\n{\n    /// Conditional type result\n    typedef ThenType Type;      // true\n};\n\n#ifndef DOXYGEN_SHOULD_SKIP_THIS    // Do not document\n\ntemplate <typename ThenType, typename ElseType>\nstruct If<false, ThenType, ElseType>\n{\n    typedef ElseType Type;      // false\n};\n\n#endif // DOXYGEN_SHOULD_SKIP_THIS\n\n\n\n/******************************************************************************\n * Conditional types\n ******************************************************************************/\n\n/**\n * \\brief Type equality test\n */\ntemplate <typename A, typename B>\nstruct Equals\n{\n    enum {\n        VALUE = 0,\n        NEGATE = 1\n    };\n};\n\n#ifndef DOXYGEN_SHOULD_SKIP_THIS    // Do not document\n\ntemplate <typename A>\nstruct Equals <A, A>\n{\n    enum {\n        VALUE = 1,\n        NEGATE = 0\n    };\n};\n\n#endif // DOXYGEN_SHOULD_SKIP_THIS\n\n\n/******************************************************************************\n * Marker types\n ******************************************************************************/\n\n/**\n * \\brief A simple \"NULL\" marker type\n */\nstruct NullType\n{\n#ifndef DOXYGEN_SHOULD_SKIP_THIS    // Do not document\n\n    template <typename T>\n    __host__ __device__ __forceinline__ NullType& operator =(const T& b) { return *this; }\n\n    __host__ __device__ __forceinline__ bool operator ==(const NullType& b) { return true; }\n\n    __host__ __device__ __forceinline__ bool operator !=(const NullType& b) { return false; }\n\n#endif // DOXYGEN_SHOULD_SKIP_THIS\n};\n\n\n/**\n * \\brief Allows for the treatment of an integral constant as a type at compile-time (e.g., to achieve static call dispatch based on constant integral values)\n */\ntemplate <int A>\nstruct Int2Type\n{\n   enum {VALUE = A};\n};\n\n\n#ifndef DOXYGEN_SHOULD_SKIP_THIS    // Do not document\n\n\n/******************************************************************************\n * Size and alignment\n ******************************************************************************/\n\n/// Structure alignment\ntemplate <typename T>\nstruct AlignBytes\n{\n    struct Pad\n    {\n        T       val;\n        char    byte;\n    };\n\n    enum\n    {\n        /// The alignment of T in bytes\n        ALIGN_BYTES = sizeof(Pad) - sizeof(T)\n    };\n};\n\n// Specializations where host C++ compilers (e.g., Windows) may disagree with device C++ compilers (EDG)\n\ntemplate <> struct AlignBytes<short4>               { enum { ALIGN_BYTES = 8 }; };\ntemplate <> struct AlignBytes<ushort4>              { enum { ALIGN_BYTES = 8 }; };\ntemplate <> struct AlignBytes<int2>                 { enum { ALIGN_BYTES = 8 }; };\ntemplate <> struct AlignBytes<uint2>                { enum { ALIGN_BYTES = 8 }; };\n#ifdef _WIN32\n    template <> struct AlignBytes<long2>            { enum { ALIGN_BYTES = 8 }; };\n    template <> struct AlignBytes<ulong2>           { enum { ALIGN_BYTES = 8 }; };\n#endif\ntemplate <> struct AlignBytes<long long>            { enum { ALIGN_BYTES = 8 }; };\ntemplate <> struct AlignBytes<unsigned long long>   { enum { ALIGN_BYTES = 8 }; };\ntemplate <> struct AlignBytes<float2>               { enum { ALIGN_BYTES = 8 }; };\ntemplate <> struct AlignBytes<double>               { enum { ALIGN_BYTES = 8 }; };\n\ntemplate <> struct AlignBytes<int4>                 { enum { ALIGN_BYTES = 16 }; };\ntemplate <> struct AlignBytes<uint4>                { enum { ALIGN_BYTES = 16 }; };\ntemplate <> struct AlignBytes<float4>               { enum { ALIGN_BYTES = 16 }; };\n#ifndef _WIN32\n    template <> struct AlignBytes<long2>            { enum { ALIGN_BYTES = 16 }; };\n    template <> struct AlignBytes<ulong2>           { enum { ALIGN_BYTES = 16 }; };\n#endif\ntemplate <> struct AlignBytes<long4>                { enum { ALIGN_BYTES = 16 }; };\ntemplate <> struct AlignBytes<ulong4>               { enum { ALIGN_BYTES = 16 }; };\ntemplate <> struct AlignBytes<longlong2>            { enum { ALIGN_BYTES = 16 }; };\ntemplate <> struct AlignBytes<ulonglong2>           { enum { ALIGN_BYTES = 16 }; };\ntemplate <> struct AlignBytes<double2>              { enum { ALIGN_BYTES = 16 }; };\ntemplate <> struct AlignBytes<longlong4>            { enum { ALIGN_BYTES = 16 }; };\ntemplate <> struct AlignBytes<ulonglong4>           { enum { ALIGN_BYTES = 16 }; };\ntemplate <> struct AlignBytes<double4>              { enum { ALIGN_BYTES = 16 }; };\n\n\n/// Unit-words of data movement\ntemplate <typename T>\nstruct UnitWord\n{\n    enum {\n        ALIGN_BYTES = AlignBytes<T>::ALIGN_BYTES\n    };\n\n    template <typename Unit>\n    struct IsMultiple\n    {\n        enum {\n            UNIT_ALIGN_BYTES    = AlignBytes<Unit>::ALIGN_BYTES,\n            IS_MULTIPLE         = (sizeof(T) % sizeof(Unit) == 0) && (ALIGN_BYTES % UNIT_ALIGN_BYTES == 0)\n        };\n    };\n\n    /// Biggest shuffle word that T is a whole multiple of and is not larger than the alignment of T\n    typedef typename If<IsMultiple<int>::IS_MULTIPLE,\n        unsigned int,\n        typename If<IsMultiple<short>::IS_MULTIPLE,\n            unsigned short,\n            unsigned char>::Type>::Type         ShuffleWord;\n\n    /// Biggest volatile word that T is a whole multiple of and is not larger than the alignment of T\n    typedef typename If<IsMultiple<long long>::IS_MULTIPLE,\n        unsigned long long,\n        ShuffleWord>::Type                      VolatileWord;\n\n    /// Biggest memory-access word that T is a whole multiple of and is not larger than the alignment of T\n    typedef typename If<IsMultiple<longlong2>::IS_MULTIPLE,\n        ulonglong2,\n        VolatileWord>::Type                     DeviceWord;\n\n    /// Biggest texture reference word that T is a whole multiple of and is not larger than the alignment of T\n    typedef typename If<IsMultiple<int4>::IS_MULTIPLE,\n        uint4,\n        typename If<IsMultiple<int2>::IS_MULTIPLE,\n            uint2,\n            ShuffleWord>::Type>::Type           TextureWord;\n};\n\n\n// float2 specialization workaround (for SM10-SM13)\ntemplate <>\nstruct UnitWord <float2>\n{\n    typedef int         ShuffleWord;\n#if (CUB_PTX_ARCH > 0) && (CUB_PTX_ARCH <= 130)\n    typedef float       VolatileWord;\n    typedef uint2       DeviceWord;\n#else\n    typedef unsigned long long   VolatileWord;\n    typedef unsigned long long   DeviceWord;\n#endif\n    typedef float2      TextureWord;\n};\n\n// float4 specialization workaround (for SM10-SM13)\ntemplate <>\nstruct UnitWord <float4>\n{\n    typedef int         ShuffleWord;\n#if (CUB_PTX_ARCH > 0) && (CUB_PTX_ARCH <= 130)\n    typedef float               VolatileWord;\n    typedef uint4               DeviceWord;\n#else\n    typedef unsigned long long  VolatileWord;\n    typedef ulonglong2          DeviceWord;\n#endif\n    typedef float4              TextureWord;\n};\n\n\n// char2 specialization workaround (for SM10-SM13)\ntemplate <>\nstruct UnitWord <char2>\n{\n    typedef unsigned short      ShuffleWord;\n#if (CUB_PTX_ARCH > 0) && (CUB_PTX_ARCH <= 130)\n    typedef unsigned short      VolatileWord;\n    typedef short               DeviceWord;\n#else\n    typedef unsigned short      VolatileWord;\n    typedef unsigned short      DeviceWord;\n#endif\n    typedef unsigned short      TextureWord;\n};\n\n#endif // DOXYGEN_SHOULD_SKIP_THIS\n\n\n\n/******************************************************************************\n * Vector type inference utilities.\n ******************************************************************************/\n\n/**\n * \\brief Exposes a member typedef \\p Type that names the corresponding CUDA vector type if one exists.  Otherwise \\p Type refers to the CubVector structure itself, which will wrap the corresponding \\p x, \\p y, etc. vector fields.\n */\ntemplate <typename T, int vec_elements> struct CubVector;\n\n#ifndef DOXYGEN_SHOULD_SKIP_THIS    // Do not document\n\nenum\n{\n    /// The maximum number of elements in CUDA vector types\n    MAX_VEC_ELEMENTS = 4,\n};\n\n\n/**\n * Generic vector-1 type\n */\ntemplate <typename T>\nstruct CubVector<T, 1>\n{\n    T x;\n\n    typedef T BaseType;\n    typedef CubVector<T, 1> Type;\n};\n\n/**\n * Generic vector-2 type\n */\ntemplate <typename T>\nstruct CubVector<T, 2>\n{\n    T x;\n    T y;\n\n    typedef T BaseType;\n    typedef CubVector<T, 2> Type;\n};\n\n/**\n * Generic vector-3 type\n */\ntemplate <typename T>\nstruct CubVector<T, 3>\n{\n    T x;\n    T y;\n    T z;\n\n    typedef T BaseType;\n    typedef CubVector<T, 3> Type;\n};\n\n/**\n * Generic vector-4 type\n */\ntemplate <typename T>\nstruct CubVector<T, 4>\n{\n    T x;\n    T y;\n    T z;\n    T w;\n\n    typedef T BaseType;\n    typedef CubVector<T, 4> Type;\n};\n\n\n/**\n * Macro for expanding partially-specialized built-in vector types\n */\n#define CUB_DEFINE_VECTOR_TYPE(base_type,short_type)                                                    \\\n                                                                                                        \\\n    template<> struct CubVector<base_type, 1> : short_type##1                                           \\\n    {                                                                                                   \\\n      typedef base_type       BaseType;                                                                 \\\n      typedef short_type##1   Type;                                                                     \\\n      __host__ __device__ __forceinline__ CubVector operator+(const CubVector &other) const {           \\\n          CubVector retval;                                                                             \\\n          retval.x = x + other.x;                                                                       \\\n          return retval;                                                                                \\\n      }                                                                                                 \\\n      __host__ __device__ __forceinline__ CubVector operator-(const CubVector &other) const {           \\\n          CubVector retval;                                                                             \\\n          retval.x = x - other.x;                                                                       \\\n          return retval;                                                                                \\\n      }                                                                                                 \\\n    };                                                                                                  \\\n                                                                                                        \\\n    template<> struct CubVector<base_type, 2> : short_type##2                                           \\\n    {                                                                                                   \\\n        typedef base_type       BaseType;                                                               \\\n        typedef short_type##2   Type;                                                                   \\\n        __host__ __device__ __forceinline__ CubVector operator+(const CubVector &other) const {         \\\n            CubVector retval;                                                                           \\\n            retval.x = x + other.x;                                                                     \\\n            retval.y = y + other.y;                                                                     \\\n            return retval;                                                                              \\\n        }                                                                                               \\\n        __host__ __device__ __forceinline__ CubVector operator-(const CubVector &other) const {         \\\n            CubVector retval;                                                                           \\\n            retval.x = x - other.x;                                                                     \\\n            retval.y = y - other.y;                                                                     \\\n            return retval;                                                                              \\\n        }                                                                                               \\\n    };                                                                                                  \\\n                                                                                                        \\\n    template<> struct CubVector<base_type, 3> : short_type##3                                           \\\n    {                                                                                                   \\\n        typedef base_type       BaseType;                                                               \\\n        typedef short_type##3   Type;                                                                   \\\n        __host__ __device__ __forceinline__ CubVector operator+(const CubVector &other) const {         \\\n            CubVector retval;                                                                           \\\n            retval.x = x + other.x;                                                                     \\\n            retval.y = y + other.y;                                                                     \\\n            retval.z = z + other.z;                                                                     \\\n            return retval;                                                                              \\\n        }                                                                                               \\\n        __host__ __device__ __forceinline__ CubVector operator-(const CubVector &other) const {         \\\n            CubVector retval;                                                                           \\\n            retval.x = x - other.x;                                                                     \\\n            retval.y = y - other.y;                                                                     \\\n            retval.z = z - other.z;                                                                     \\\n            return retval;                                                                              \\\n        }                                                                                               \\\n    };                                                                                                  \\\n                                                                                                        \\\n    template<> struct CubVector<base_type, 4> : short_type##4                                           \\\n    {                                                                                                   \\\n        typedef base_type       BaseType;                                                               \\\n        typedef short_type##4   Type;                                                                   \\\n        __host__ __device__ __forceinline__ CubVector operator+(const CubVector &other) const {         \\\n            CubVector retval;                                                                           \\\n            retval.x = x + other.x;                                                                     \\\n            retval.y = y + other.y;                                                                     \\\n            retval.z = z + other.z;                                                                     \\\n            retval.w = w + other.w;                                                                     \\\n            return retval;                                                                              \\\n        }                                                                                               \\\n        __host__ __device__ __forceinline__ CubVector operator-(const CubVector &other) const {         \\\n            CubVector retval;                                                                           \\\n            retval.x = x - other.x;                                                                     \\\n            retval.y = y - other.y;                                                                     \\\n            retval.z = z - other.z;                                                                     \\\n            retval.w = w - other.w;                                                                     \\\n            return retval;                                                                              \\\n        }                                                                                               \\\n    };\n\n\n\n// Expand CUDA vector types for built-in primitives\nCUB_DEFINE_VECTOR_TYPE(char,               char)\nCUB_DEFINE_VECTOR_TYPE(signed char,        char)\nCUB_DEFINE_VECTOR_TYPE(short,              short)\nCUB_DEFINE_VECTOR_TYPE(int,                int)\nCUB_DEFINE_VECTOR_TYPE(long,               long)\nCUB_DEFINE_VECTOR_TYPE(long long,          longlong)\nCUB_DEFINE_VECTOR_TYPE(unsigned char,      uchar)\nCUB_DEFINE_VECTOR_TYPE(unsigned short,     ushort)\nCUB_DEFINE_VECTOR_TYPE(unsigned int,       uint)\nCUB_DEFINE_VECTOR_TYPE(unsigned long,      ulong)\nCUB_DEFINE_VECTOR_TYPE(unsigned long long, ulonglong)\nCUB_DEFINE_VECTOR_TYPE(float,              float)\nCUB_DEFINE_VECTOR_TYPE(double,             double)\nCUB_DEFINE_VECTOR_TYPE(bool,               uchar)\n\n// Undefine macros\n#undef CUB_DEFINE_VECTOR_TYPE\n\n#endif // DOXYGEN_SHOULD_SKIP_THIS\n\n\n\n/******************************************************************************\n * Wrapper types\n ******************************************************************************/\n\n/**\n * \\brief A storage-backing wrapper that allows types with non-trivial constructors to be aliased in unions\n */\ntemplate <typename T>\nstruct Uninitialized\n{\n    /// Biggest memory-access word that T is a whole multiple of and is not larger than the alignment of T\n    typedef typename UnitWord<T>::DeviceWord DeviceWord;\n\n    enum\n    {\n        WORDS = sizeof(T) / sizeof(DeviceWord)\n    };\n\n    /// Backing storage\n    DeviceWord storage[WORDS];\n\n    /// Alias\n    __host__ __device__ __forceinline__ T& Alias()\n    {\n        return reinterpret_cast<T&>(*this);\n    }\n};\n\n\n/**\n * \\brief An item value paired with a corresponding offset\n */\ntemplate <typename _T, typename _Offset>\nstruct ItemOffsetPair\n{\n    typedef _T        T;                ///< Item data type\n    typedef _Offset   Offset;           ///< Integer offset data type\n\n#if (CUB_PTX_ARCH == 0)\n    union\n    {\n        Offset                              offset;     ///< Offset\n        typename UnitWord<T>::DeviceWord    align0;     ///< Alignment/padding (for Win32 consistency between host/device)\n    };\n#else\n    Offset                                  offset;     ///< Offset\n#endif\n\n    T                                       value;      ///< Item value\n\n    /// Inequality operator\n    __host__ __device__ __forceinline__ bool operator !=(const ItemOffsetPair &b)\n    {\n        return (value != b.value) || (offset != b.offset);\n    }\n};\n\n\n/**\n * \\brief A key identifier paired with a corresponding value\n */\ntemplate <typename _Key, typename _Value>\nstruct KeyValuePair\n{\n    typedef _Key    Key;                ///< Key data type\n    typedef _Value  Value;              ///< Value data type\n\n    Value                   value;      ///< Item value\n    Key                     key;        ///< Item key\n\n    /// Inequality operator\n    __host__ __device__ __forceinline__ bool operator !=(const KeyValuePair &b)\n    {\n        return (value != b.value) || (key != b.key);\n    }\n\n};\n\n#ifndef DOXYGEN_SHOULD_SKIP_THIS    // Do not document\n\n\n/**\n * Workaround for inability for SM1.x compiler to properly zero-initialize POD structures when it's supposed to\n */\ntemplate <typename T>\n__host__ __device__ __forceinline__ T ZeroInitialize()\n{\n#if (CUB_PTX_ARCH > 0) && (CUB_PTX_ARCH <= 130)\n\n    typedef typename UnitWord<T>::ShuffleWord ShuffleWord;\n    const int MULTIPLE = sizeof(T) / sizeof(ShuffleWord);\n    ShuffleWord words[MULTIPLE];\n    #pragma unroll\n    for (int i = 0; i < MULTIPLE; ++i)\n        words[i] = 0;\n    return *reinterpret_cast<T*>(words);\n\n#else\n\n    return T();\n\n#endif\n}\n\n\n/**\n * \\brief A wrapper for passing simple static arrays as kernel parameters\n */\ntemplate <typename T, int COUNT>\nstruct ArrayWrapper\n{\n    /// Static array of type \\p T\n    T array[COUNT];\n};\n\n#endif // DOXYGEN_SHOULD_SKIP_THIS\n\n/**\n * \\brief Double-buffer storage wrapper for multi-pass stream transformations that require more than one storage array for streaming intermediate results back and forth.\n *\n * Many multi-pass computations require a pair of \"ping-pong\" storage\n * buffers (e.g., one for reading from and the other for writing to, and then\n * vice-versa for the subsequent pass).  This structure wraps a set of device\n * buffers and a \"selector\" member to track which is \"current\".\n */\ntemplate <typename T>\nstruct DoubleBuffer\n{\n    /// Pair of device buffer pointers\n    T *d_buffers[2];\n\n    ///  Selector into \\p d_buffers (i.e., the active/valid buffer)\n    int selector;\n\n    /// \\brief Constructor\n    __host__ __device__ __forceinline__ DoubleBuffer()\n    {\n        selector = 0;\n        d_buffers[0] = NULL;\n        d_buffers[1] = NULL;\n    }\n\n    /// \\brief Constructor\n    __host__ __device__ __forceinline__ DoubleBuffer(\n        T *d_current,         ///< The currently valid buffer\n        T *d_alternate)       ///< Alternate storage buffer of the same size as \\p d_current\n    {\n        selector = 0;\n        d_buffers[0] = d_current;\n        d_buffers[1] = d_alternate;\n    }\n\n    /// \\brief Return pointer to the currently valid buffer\n    __host__ __device__ __forceinline__ T* Current() { return d_buffers[selector]; }\n};\n\n\n\n/******************************************************************************\n * Static math\n ******************************************************************************/\n\n/**\n * \\brief Statically determine log2(N), rounded up.\n *\n * For example:\n *     Log2<8>::VALUE   // 3\n *     Log2<3>::VALUE   // 2\n */\ntemplate <int N, int CURRENT_VAL = N, int COUNT = 0>\nstruct Log2\n{\n    /// Static logarithm value\n    enum { VALUE = Log2<N, (CURRENT_VAL >> 1), COUNT + 1>::VALUE };         // Inductive case\n};\n\n#ifndef DOXYGEN_SHOULD_SKIP_THIS    // Do not document\ntemplate <int N, int COUNT>\nstruct Log2<N, 0, COUNT>\n{\n    enum {VALUE = (1 << (COUNT - 1) < N) ?                                  // Base case\n        COUNT :\n        COUNT - 1 };\n};\n#endif // DOXYGEN_SHOULD_SKIP_THIS\n\n\n/**\n * \\brief Statically determine if N is a power-of-two\n */\ntemplate <int N>\nstruct PowerOfTwo\n{\n    enum { VALUE = ((N & (N - 1)) == 0) };\n};\n\n\n#ifndef DOXYGEN_SHOULD_SKIP_THIS    // Do not document\n\n\n/******************************************************************************\n * Pointer vs. iterator detection\n ******************************************************************************/\n\n/**\n * \\brief Pointer vs. iterator\n */\ntemplate <typename Tp>\nstruct IsPointer\n{\n    enum { VALUE = 0 };\n};\n\n#ifndef DOXYGEN_SHOULD_SKIP_THIS    // Do not document\n\ntemplate <typename Tp>\nstruct IsPointer<Tp*>\n{\n    enum { VALUE = 1 };\n};\n\n#endif // DOXYGEN_SHOULD_SKIP_THIS\n\n\n\n/******************************************************************************\n * Qualifier detection\n ******************************************************************************/\n\n/**\n * \\brief Volatile modifier test\n */\ntemplate <typename Tp>\nstruct IsVolatile\n{\n    enum { VALUE = 0 };\n};\n\n#ifndef DOXYGEN_SHOULD_SKIP_THIS    // Do not document\n\ntemplate <typename Tp>\nstruct IsVolatile<Tp volatile>\n{\n    enum { VALUE = 1 };\n};\n\n#endif // DOXYGEN_SHOULD_SKIP_THIS\n\n\n/******************************************************************************\n * Qualifier removal\n ******************************************************************************/\n\n/**\n * \\brief Removes \\p const and \\p volatile qualifiers from type \\p Tp.\n *\n * For example:\n *     <tt>typename RemoveQualifiers<volatile int>::Type         // int;</tt>\n */\ntemplate <typename Tp, typename Up = Tp>\nstruct RemoveQualifiers\n{\n    /// Type without \\p const and \\p volatile qualifiers\n    typedef Up Type;\n};\n\n#ifndef DOXYGEN_SHOULD_SKIP_THIS    // Do not document\n\ntemplate <typename Tp, typename Up>\nstruct RemoveQualifiers<Tp, volatile Up>\n{\n    typedef Up Type;\n};\n\ntemplate <typename Tp, typename Up>\nstruct RemoveQualifiers<Tp, const Up>\n{\n    typedef Up Type;\n};\n\ntemplate <typename Tp, typename Up>\nstruct RemoveQualifiers<Tp, const volatile Up>\n{\n    typedef Up Type;\n};\n\n#endif // DOXYGEN_SHOULD_SKIP_THIS\n\n\n\n/******************************************************************************\n * Typedef-detection\n ******************************************************************************/\n\n\n/**\n * \\brief Defines a structure \\p detector_name that is templated on type \\p T.  The \\p detector_name struct exposes a constant member \\p VALUE indicating whether or not parameter \\p T exposes a nested type \\p nested_type_name\n */\n#define CUB_DEFINE_DETECT_NESTED_TYPE(detector_name, nested_type_name)  \\\n    template <typename T>                                               \\\n    struct detector_name                                                \\\n    {                                                                   \\\n        template <typename C>                                           \\\n        static char& test(typename C::nested_type_name*);               \\\n        template <typename>                                             \\\n        static int& test(...);                                          \\\n        enum                                                            \\\n        {                                                               \\\n            VALUE = sizeof(test<T>(0)) < sizeof(int)                    \\\n        };                                                              \\\n    };\n\n\n\n/******************************************************************************\n * Simple enable-if (similar to Boost)\n ******************************************************************************/\n\n/**\n * \\brief Simple enable-if (similar to Boost)\n */\ntemplate <bool Condition, class T = void>\nstruct EnableIf\n{\n    /// Enable-if type for SFINAE dummy variables\n    typedef T Type;\n};\n\n#ifndef DOXYGEN_SHOULD_SKIP_THIS    // Do not document\n\ntemplate <class T>\nstruct EnableIf<false, T> {};\n\n#endif // DOXYGEN_SHOULD_SKIP_THIS\n\n\n/******************************************************************************\n * Typedef-detection\n ******************************************************************************/\n\n/**\n * \\brief Determine whether or not BinaryOp's functor is of the form <tt>bool operator()(const T& a, const T&b)</tt> or <tt>bool operator()(const T& a, const T&b, unsigned int idx)</tt>\n */\ntemplate <typename T, typename BinaryOp>\nstruct BinaryOpHasIdxParam\n{\nprivate:\n    template <typename BinaryOpT, bool (BinaryOpT::*)(const T &a, const T &b, unsigned int idx) const>  struct SFINAE1 {};\n    template <typename BinaryOpT, bool (BinaryOpT::*)(const T &a, const T &b, unsigned int idx)>        struct SFINAE2 {};\n    template <typename BinaryOpT, bool (BinaryOpT::*)(T a, T b, unsigned int idx) const>                struct SFINAE3 {};\n    template <typename BinaryOpT, bool (BinaryOpT::*)(T a, T b, unsigned int idx)>                      struct SFINAE4 {};\n\n    template <typename BinaryOpT, bool (BinaryOpT::*)(const T &a, const T &b, int idx) const>           struct SFINAE5 {};\n    template <typename BinaryOpT, bool (BinaryOpT::*)(const T &a, const T &b, int idx)>                 struct SFINAE6 {};\n    template <typename BinaryOpT, bool (BinaryOpT::*)(T a, T b, int idx) const>                         struct SFINAE7 {};\n    template <typename BinaryOpT, bool (BinaryOpT::*)(T a, T b, int idx)>                               struct SFINAE8 {};\n\n    template <typename BinaryOpT> static char Test(SFINAE1<BinaryOpT, &BinaryOpT::operator()> *);\n    template <typename BinaryOpT> static char Test(SFINAE2<BinaryOpT, &BinaryOpT::operator()> *);\n    template <typename BinaryOpT> static char Test(SFINAE3<BinaryOpT, &BinaryOpT::operator()> *);\n    template <typename BinaryOpT> static char Test(SFINAE4<BinaryOpT, &BinaryOpT::operator()> *);\n\n    template <typename BinaryOpT> static char Test(SFINAE5<BinaryOpT, &BinaryOpT::operator()> *);\n    template <typename BinaryOpT> static char Test(SFINAE6<BinaryOpT, &BinaryOpT::operator()> *);\n    template <typename BinaryOpT> static char Test(SFINAE7<BinaryOpT, &BinaryOpT::operator()> *);\n    template <typename BinaryOpT> static char Test(SFINAE8<BinaryOpT, &BinaryOpT::operator()> *);\n\n    template <typename BinaryOpT> static int Test(...);\n\npublic:\n\n    /// Whether the functor BinaryOp has a third <tt>unsigned int</tt> index param\n    static const bool HAS_PARAM = sizeof(Test<BinaryOp>(NULL)) == sizeof(char);\n};\n\n#endif // DOXYGEN_SHOULD_SKIP_THIS\n\n/******************************************************************************\n * Simple type traits utilities.\n *\n * For example:\n *     Traits<int>::CATEGORY             // SIGNED_INTEGER\n *     Traits<NullType>::NULL_TYPE       // true\n *     Traits<uint4>::CATEGORY           // NOT_A_NUMBER\n *     Traits<uint4>::PRIMITIVE;         // false\n *\n ******************************************************************************/\n\n/**\n * \\brief Basic type traits categories\n */\nenum Category\n{\n    NOT_A_NUMBER,\n    SIGNED_INTEGER,\n    UNSIGNED_INTEGER,\n    FLOATING_POINT\n};\n\n\n/**\n * \\brief Basic type traits\n */\ntemplate <Category _CATEGORY, bool _PRIMITIVE, bool _NULL_TYPE, typename _UnsignedBits>\nstruct BaseTraits\n{\n    /// Category\n    static const Category CATEGORY      = _CATEGORY;\n    enum\n    {\n        PRIMITIVE       = _PRIMITIVE,\n        NULL_TYPE       = _NULL_TYPE,\n    };\n};\n\n#ifndef DOXYGEN_SHOULD_SKIP_THIS    // Do not document\n\n/**\n * Basic type traits (unsigned primitive specialization)\n */\ntemplate <typename _UnsignedBits>\nstruct BaseTraits<UNSIGNED_INTEGER, true, false, _UnsignedBits>\n{\n    typedef _UnsignedBits       UnsignedBits;\n\n    static const Category       CATEGORY    = UNSIGNED_INTEGER;\n    static const UnsignedBits   MIN_KEY     = UnsignedBits(0);\n    static const UnsignedBits   MAX_KEY     = UnsignedBits(-1);\n\n    enum\n    {\n        PRIMITIVE       = true,\n        NULL_TYPE       = false,\n    };\n\n\n    static __device__ __forceinline__ UnsignedBits TwiddleIn(UnsignedBits key)\n    {\n        return key;\n    }\n\n    static __device__ __forceinline__ UnsignedBits TwiddleOut(UnsignedBits key)\n    {\n        return key;\n    }\n};\n\n\n/**\n * Basic type traits (signed primitive specialization)\n */\ntemplate <typename _UnsignedBits>\nstruct BaseTraits<SIGNED_INTEGER, true, false, _UnsignedBits>\n{\n    typedef _UnsignedBits       UnsignedBits;\n\n    static const Category       CATEGORY    = SIGNED_INTEGER;\n    static const UnsignedBits   HIGH_BIT    = UnsignedBits(1) << ((sizeof(UnsignedBits) * 8) - 1);\n    static const UnsignedBits   MIN_KEY     = HIGH_BIT;\n    static const UnsignedBits   MAX_KEY     = UnsignedBits(-1) ^ HIGH_BIT;\n\n    enum\n    {\n        PRIMITIVE       = true,\n        NULL_TYPE       = false,\n    };\n\n    static __device__ __forceinline__ UnsignedBits TwiddleIn(UnsignedBits key)\n    {\n        return key ^ HIGH_BIT;\n    };\n\n    static __device__ __forceinline__ UnsignedBits TwiddleOut(UnsignedBits key)\n    {\n        return key ^ HIGH_BIT;\n    };\n\n};\n\n\n/**\n * Basic type traits (fp primitive specialization)\n */\ntemplate <typename _UnsignedBits>\nstruct BaseTraits<FLOATING_POINT, true, false, _UnsignedBits>\n{\n    typedef _UnsignedBits       UnsignedBits;\n\n    static const Category       CATEGORY    = FLOATING_POINT;\n    static const UnsignedBits   HIGH_BIT    = UnsignedBits(1) << ((sizeof(UnsignedBits) * 8) - 1);\n    static const UnsignedBits   MIN_KEY     = UnsignedBits(-1);\n    static const UnsignedBits   MAX_KEY     = UnsignedBits(-1) ^ HIGH_BIT;\n\n    static __device__ __forceinline__ UnsignedBits TwiddleIn(UnsignedBits key)\n    {\n        UnsignedBits mask = (key & HIGH_BIT) ? UnsignedBits(-1) : HIGH_BIT;\n        return key ^ mask;\n    };\n\n    static __device__ __forceinline__ UnsignedBits TwiddleOut(UnsignedBits key)\n    {\n        UnsignedBits mask = (key & HIGH_BIT) ? HIGH_BIT : UnsignedBits(-1);\n        return key ^ mask;\n    };\n\n    enum\n    {\n        PRIMITIVE       = true,\n        NULL_TYPE       = false,\n    };\n};\n\n#endif // DOXYGEN_SHOULD_SKIP_THIS\n\n\n/**\n * \\brief Numeric type traits\n */\ntemplate <typename T> struct NumericTraits :            BaseTraits<NOT_A_NUMBER, false, false, T> {};\n\n#ifndef DOXYGEN_SHOULD_SKIP_THIS    // Do not document\n\ntemplate <> struct NumericTraits<NullType> :            BaseTraits<NOT_A_NUMBER, false, true, NullType> {};\n\ntemplate <> struct NumericTraits<char> :                BaseTraits<(std::numeric_limits<char>::is_signed) ? SIGNED_INTEGER : UNSIGNED_INTEGER, true, false, unsigned char> {};\ntemplate <> struct NumericTraits<signed char> :         BaseTraits<SIGNED_INTEGER, true, false, unsigned char> {};\ntemplate <> struct NumericTraits<short> :               BaseTraits<SIGNED_INTEGER, true, false, unsigned short> {};\ntemplate <> struct NumericTraits<int> :                 BaseTraits<SIGNED_INTEGER, true, false, unsigned int> {};\ntemplate <> struct NumericTraits<long> :                BaseTraits<SIGNED_INTEGER, true, false, unsigned long> {};\ntemplate <> struct NumericTraits<long long> :           BaseTraits<SIGNED_INTEGER, true, false, unsigned long long> {};\n\ntemplate <> struct NumericTraits<unsigned char> :       BaseTraits<UNSIGNED_INTEGER, true, false, unsigned char> {};\ntemplate <> struct NumericTraits<unsigned short> :      BaseTraits<UNSIGNED_INTEGER, true, false, unsigned short> {};\ntemplate <> struct NumericTraits<unsigned int> :        BaseTraits<UNSIGNED_INTEGER, true, false, unsigned int> {};\ntemplate <> struct NumericTraits<unsigned long> :       BaseTraits<UNSIGNED_INTEGER, true, false, unsigned long> {};\ntemplate <> struct NumericTraits<unsigned long long> :  BaseTraits<UNSIGNED_INTEGER, true, false, unsigned long long> {};\n\ntemplate <> struct NumericTraits<float> :               BaseTraits<FLOATING_POINT, true, false, unsigned int> {};\ntemplate <> struct NumericTraits<double> :              BaseTraits<FLOATING_POINT, true, false, unsigned long long> {};\n\n#endif // DOXYGEN_SHOULD_SKIP_THIS\n\n\n/**\n * \\brief Type traits\n */\ntemplate <typename T>\nstruct Traits : NumericTraits<typename RemoveQualifiers<T>::Type> {};\n\n\n\n/** @} */       // end group UtilModule\n\n}               // CUB namespace\nCUB_NS_POSTFIX  // Optional outer namespace(s)\n"
  },
  {
    "path": "external/cub-1.3.2/cub/warp/specializations/warp_reduce_shfl.cuh",
    "content": "/******************************************************************************\n * Copyright (c) 2011, Duane Merrill.  All rights reserved.\n * Copyright (c) 2011-2014, NVIDIA CORPORATION.  All rights reserved.\n * \n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *     * Redistributions of source code must retain the above copyright\n *       notice, this list of conditions and the following disclaimer.\n *     * Redistributions in binary form must reproduce the above copyright\n *       notice, this list of conditions and the following disclaimer in the\n *       documentation and/or other materials provided with the distribution.\n *     * Neither the name of the NVIDIA CORPORATION nor the\n *       names of its contributors may be used to endorse or promote products\n *       derived from this software without specific prior written permission.\n * \n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n ******************************************************************************/\n\n/**\n * \\file\n * cub::WarpReduceShfl provides SHFL-based variants of parallel reduction of items partitioned across a CUDA thread warp.\n */\n\n#pragma once\n\n#include \"../../thread/thread_operators.cuh\"\n#include \"../../util_ptx.cuh\"\n#include \"../../util_type.cuh\"\n#include \"../../util_macro.cuh\"\n#include \"../../util_namespace.cuh\"\n\n/// Optional outer namespace(s)\nCUB_NS_PREFIX\n\n/// CUB namespace\nnamespace cub {\n\n\n/**\n * \\brief WarpReduceShfl provides SHFL-based variants of parallel reduction of items partitioned across a CUDA thread warp.\n */\ntemplate <\n    typename    T,                      ///< Data type being reduced\n    int         LOGICAL_WARP_THREADS,   ///< Number of threads per logical warp\n    int         PTX_ARCH>               ///< The PTX compute capability for which to to specialize this collective\nstruct WarpReduceShfl\n{\n    /******************************************************************************\n     * Constants and type definitions\n     ******************************************************************************/\n\n    enum\n    {\n        /// Whether the logical warp size and the PTX warp size coincide\n        IS_ARCH_WARP = (LOGICAL_WARP_THREADS == CUB_WARP_THREADS(PTX_ARCH)),\n\n        /// The number of warp reduction steps\n        STEPS = Log2<LOGICAL_WARP_THREADS>::VALUE,\n\n        // The 5-bit SHFL mask for logically splitting warps into sub-segments\n        SHFL_MASK = (-1 << STEPS) & 31,\n\n        // The 5-bit SFHL clamp\n        SHFL_CLAMP = LOGICAL_WARP_THREADS - 1,\n\n        // The packed C argument (mask starts 8 bits up)\n        SHFL_C = (SHFL_MASK << 8) | SHFL_CLAMP,\n    };\n\n\n    /// Shared memory storage layout type\n    typedef NullType TempStorage;\n\n\n    /******************************************************************************\n     * Thread fields\n     ******************************************************************************/\n\n    int lane_id;\n\n\n    /******************************************************************************\n     * Construction\n     ******************************************************************************/\n\n    /// Constructor\n    __device__ __forceinline__ WarpReduceShfl(\n        TempStorage &temp_storage)\n    :\n        lane_id(IS_ARCH_WARP ?\n            LaneId() :\n            LaneId() % LOGICAL_WARP_THREADS)\n    {}\n\n\n    /******************************************************************************\n     * Operation\n     ******************************************************************************/\n\n    /// Summation (single-SHFL)\n    template <\n        bool                ALL_LANES_VALID,        ///< Whether all lanes in each warp are contributing a valid fold of items\n        int                 FOLDED_ITEMS_PER_LANE>  ///< Number of items folded into each lane\n    __device__ __forceinline__ T Sum(\n        T                   input,                  ///< [in] Calling thread's input\n        int                 folded_items_per_warp,  ///< [in] Total number of valid items folded into each logical warp\n        Int2Type<true>      single_shfl)            ///< [in] Marker type indicating whether only one SHFL instruction is required\n    {\n        unsigned int output = reinterpret_cast<unsigned int &>(input);\n\n        // Iterate reduction steps\n        #pragma unroll\n        for (int STEP = 0; STEP < STEPS; STEP++)\n        {\n            const int OFFSET = 1 << STEP;\n\n            if (ALL_LANES_VALID)\n            {\n                // Use predicate set from SHFL to guard against invalid peers\n                asm(\n                    \"{\"\n                    \"  .reg .u32 r0;\"\n                    \"  .reg .pred p;\"\n                    \"  shfl.down.b32 r0|p, %1, %2, %3;\"\n                    \"  @p add.u32 r0, r0, %4;\"\n                    \"  mov.u32 %0, r0;\"\n                    \"}\"\n                    : \"=r\"(output) : \"r\"(output), \"r\"(OFFSET), \"r\"(SHFL_C), \"r\"(output));\n            }\n            else\n            {\n                // Set range predicate to guard against invalid peers\n                asm(\n                    \"{\"\n                    \"  .reg .u32 r0;\"\n                    \"  .reg .pred p;\"\n                    \"  shfl.down.b32 r0, %1, %2, %3;\"\n                    \"  setp.lt.u32 p, %5, %6;\"\n                    \"  mov.u32 %0, %1;\"\n                    \"  @p add.u32 %0, %1, r0;\"\n                    \"}\"\n                    : \"=r\"(output) : \"r\"(output), \"r\"(OFFSET), \"r\"(SHFL_C), \"r\"(output), \"r\"((lane_id + OFFSET) * FOLDED_ITEMS_PER_LANE), \"r\"(folded_items_per_warp));\n            }\n        }\n\n        return output;\n    }\n\n\n    /// Summation (multi-SHFL)\n    template <\n        bool                ALL_LANES_VALID,        ///< Whether all lanes in each warp are contributing a valid fold of items\n        int                 FOLDED_ITEMS_PER_LANE>  ///< Number of items folded into each lane\n    __device__ __forceinline__ T Sum(\n        T                   input,                  ///< [in] Calling thread's input\n        int                 folded_items_per_warp,  ///< [in] Total number of valid items folded into each logical warp\n        Int2Type<false>     single_shfl)            ///< [in] Marker type indicating whether only one SHFL instruction is required\n    {\n        // Delegate to generic reduce\n        return Reduce<ALL_LANES_VALID, FOLDED_ITEMS_PER_LANE>(input, folded_items_per_warp, cub::Sum());\n    }\n\n\n    /// Summation (float)\n    template <\n        bool                ALL_LANES_VALID,        ///< Whether all lanes in each warp are contributing a valid fold of items\n        int                 FOLDED_ITEMS_PER_LANE>  ///< Number of items folded into each lane\n    __device__ __forceinline__ float Sum(\n        float               input,                  ///< [in] Calling thread's input\n        int                 folded_items_per_warp)  ///< [in] Total number of valid items folded into each logical warp\n    {\n        T output = input;\n\n        // Iterate reduction steps\n        #pragma unroll\n        for (int STEP = 0; STEP < STEPS; STEP++)\n        {\n            const int OFFSET = 1 << STEP;\n\n            if (ALL_LANES_VALID)\n            {\n                // Use predicate set from SHFL to guard against invalid peers\n                asm(\n                    \"{\"\n                    \"  .reg .f32 r0;\"\n                    \"  .reg .pred p;\"\n                    \"  shfl.down.b32 r0|p, %1, %2, %3;\"\n                    \"  @p add.f32 r0, r0, %4;\"\n                    \"  mov.f32 %0, r0;\"\n                    \"}\"\n                    : \"=f\"(output) : \"f\"(output), \"r\"(OFFSET), \"r\"(SHFL_C), \"f\"(output));\n            }\n            else\n            {\n                // Set range predicate to guard against invalid peers\n                asm(\n                    \"{\"\n                    \"  .reg .f32 r0;\"\n                    \"  .reg .pred p;\"\n                    \"  shfl.down.b32 r0, %1, %2, %3;\"\n                    \"  setp.lt.u32 p, %5, %6;\"\n                    \"  mov.f32 %0, %1;\"\n                    \"  @p add.f32 %0, %0, r0;\"\n                    \"}\"\n                    : \"=f\"(output) : \"f\"(output), \"r\"(OFFSET), \"r\"(SHFL_C), \"f\"(output), \"r\"((lane_id + OFFSET) * FOLDED_ITEMS_PER_LANE), \"r\"(folded_items_per_warp));\n            }\n        }\n\n        return output;\n    }\n\n    /// Summation (generic)\n    template <\n        bool                ALL_LANES_VALID,        ///< Whether all lanes in each warp are contributing a valid fold of items\n        int                 FOLDED_ITEMS_PER_LANE,  ///< Number of items folded into each lane\n        typename            _T>\n    __device__ __forceinline__ _T Sum(\n        _T                  input,                  ///< [in] Calling thread's input\n        int                 folded_items_per_warp)  ///< [in] Total number of valid items folded into each logical warp\n    {\n        // Whether sharing can be done with a single SHFL instruction (vs multiple SFHL instructions)\n        Int2Type<(Traits<_T>::PRIMITIVE) && (sizeof(_T) <= sizeof(unsigned int))> single_shfl;\n\n        return Sum<ALL_LANES_VALID, FOLDED_ITEMS_PER_LANE>(input, folded_items_per_warp, single_shfl);\n    }\n\n\n    /// Reduction\n    template <\n        bool            ALL_LANES_VALID,        ///< Whether all lanes in each warp are contributing a valid fold of items\n        int             FOLDED_ITEMS_PER_LANE,  ///< Number of items folded into each lane\n        typename        ReductionOp>\n    __device__ __forceinline__ T Reduce(\n        T               input,                  ///< [in] Calling thread's input\n        int             folded_items_per_warp,  ///< [in] Total number of valid items folded into each logical warp\n        ReductionOp     reduction_op)           ///< [in] Binary reduction operator\n    {\n        T output = input;\n\n        // Iterate scan steps\n        #pragma unroll\n        for (int STEP = 0; STEP < STEPS; STEP++)\n        {\n            // Grab addend from peer\n            const int OFFSET = 1 << STEP;\n\n            T temp = ShuffleDown(output, OFFSET);\n\n            // Perform reduction op if from a valid peer\n            if (ALL_LANES_VALID)\n            {\n                if (lane_id < LOGICAL_WARP_THREADS - OFFSET)\n                    output = reduction_op(output, temp);\n            }\n            else\n            {\n                if (((lane_id + OFFSET) * FOLDED_ITEMS_PER_LANE) < folded_items_per_warp)\n                    output = reduction_op(output, temp);\n            }\n        }\n\n        return output;\n    }\n\n\n    /// Segmented reduction\n    template <\n        bool            HEAD_SEGMENTED,     ///< Whether flags indicate a segment-head or a segment-tail\n        typename        Flag,\n        typename        ReductionOp>\n    __device__ __forceinline__ T SegmentedReduce(\n        T               input,              ///< [in] Calling thread's input\n        Flag            flag,               ///< [in] Whether or not the current lane is a segment head/tail\n        ReductionOp     reduction_op)       ///< [in] Binary reduction operator\n    {\n        T output = input;\n\n        // Get the start flags for each thread in the warp.\n        int warp_flags = __ballot(flag);\n\n        if (!HEAD_SEGMENTED)\n            warp_flags <<= 1;\n\n        // Keep bits above the current thread.\n        warp_flags &= LaneMaskGt();\n\n        // Accommodate packing of multiple logical warps in a single physical warp\n        if (!IS_ARCH_WARP)\n        {\n            warp_flags >>= (LaneId() / LOGICAL_WARP_THREADS) * LOGICAL_WARP_THREADS;\n        }\n\n        // Find next flag\n        int next_flag = __clz(__brev(warp_flags));\n\n        // Clip the next segment at the warp boundary if necessary\n        if (LOGICAL_WARP_THREADS != 32)\n            next_flag = CUB_MIN(next_flag, LOGICAL_WARP_THREADS);\n\n        // Iterate scan steps\n        #pragma unroll\n        for (int STEP = 0; STEP < STEPS; STEP++)\n        {\n            // Grab addend from peer\n            const int OFFSET = 1 << STEP;\n\n            T temp = ShuffleDown(output, OFFSET);\n\n            // Perform reduction op if valid\n            if (OFFSET < next_flag - lane_id)\n                output = reduction_op(output, temp);\n        }\n\n        return output;\n    }\n};\n\n\n}               // CUB namespace\nCUB_NS_POSTFIX  // Optional outer namespace(s)\n"
  },
  {
    "path": "external/cub-1.3.2/cub/warp/specializations/warp_reduce_smem.cuh",
    "content": "/******************************************************************************\n * Copyright (c) 2011, Duane Merrill.  All rights reserved.\n * Copyright (c) 2011-2014, NVIDIA CORPORATION.  All rights reserved.\n * \n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *     * Redistributions of source code must retain the above copyright\n *       notice, this list of conditions and the following disclaimer.\n *     * Redistributions in binary form must reproduce the above copyright\n *       notice, this list of conditions and the following disclaimer in the\n *       documentation and/or other materials provided with the distribution.\n *     * Neither the name of the NVIDIA CORPORATION nor the\n *       names of its contributors may be used to endorse or promote products\n *       derived from this software without specific prior written permission.\n * \n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n ******************************************************************************/\n\n/**\n * \\file\n * cub::WarpReduceSmem provides smem-based variants of parallel reduction of items partitioned across a CUDA thread warp.\n */\n\n#pragma once\n\n#include \"../../thread/thread_operators.cuh\"\n#include \"../../thread/thread_load.cuh\"\n#include \"../../thread/thread_store.cuh\"\n#include \"../../util_type.cuh\"\n#include \"../../util_namespace.cuh\"\n\n/// Optional outer namespace(s)\nCUB_NS_PREFIX\n\n/// CUB namespace\nnamespace cub {\n\n/**\n * \\brief WarpReduceSmem provides smem-based variants of parallel reduction of items partitioned across a CUDA thread warp.\n */\ntemplate <\n    typename    T,                      ///< Data type being reduced\n    int         LOGICAL_WARP_THREADS,   ///< Number of threads per logical warp\n    int         PTX_ARCH>               ///< The PTX compute capability for which to to specialize this collective\nstruct WarpReduceSmem\n{\n    /******************************************************************************\n     * Constants and type definitions\n     ******************************************************************************/\n\n    enum\n    {\n        /// Whether the logical warp size and the PTX warp size coincide\n        IS_ARCH_WARP = (LOGICAL_WARP_THREADS == CUB_WARP_THREADS(PTX_ARCH)),\n\n        /// Whether the logical warp size is a power-of-two\n        IS_POW_OF_TWO = ((LOGICAL_WARP_THREADS & (LOGICAL_WARP_THREADS - 1)) == 0),\n\n        /// The number of warp scan steps\n        STEPS = Log2<LOGICAL_WARP_THREADS>::VALUE,\n\n        /// The number of threads in half a warp\n        HALF_WARP_THREADS = 1 << (STEPS - 1),\n\n        /// The number of shared memory elements per warp\n        WARP_SMEM_ELEMENTS =  LOGICAL_WARP_THREADS + HALF_WARP_THREADS,\n\n        /// Flag status (when not using ballot)\n        UNSET   = 0x0,  // Is initially unset\n        SET     = 0x1,  // Is initially set\n        SEEN    = 0x2,  // Has seen another head flag from a successor peer\n    };\n\n    /// Shared memory flag type\n    typedef unsigned char SmemFlag;\n\n    /// Shared memory storage layout type (1.5 warps-worth of elements for each warp)\n    struct _TempStorage\n    {\n        T           reduce[WARP_SMEM_ELEMENTS];\n        SmemFlag    flags[WARP_SMEM_ELEMENTS];\n    };\n\n    // Alias wrapper allowing storage to be unioned\n    struct TempStorage : Uninitialized<_TempStorage> {};\n\n\n    /******************************************************************************\n     * Thread fields\n     ******************************************************************************/\n\n    _TempStorage    &temp_storage;\n    int             lane_id;\n\n\n    /******************************************************************************\n     * Construction\n     ******************************************************************************/\n\n    /// Constructor\n    __device__ __forceinline__ WarpReduceSmem(\n        TempStorage     &temp_storage)\n    :\n        temp_storage(temp_storage.Alias()),\n        lane_id(IS_ARCH_WARP ?\n            LaneId() :\n            LaneId() % LOGICAL_WARP_THREADS)\n    {}\n\n\n    /******************************************************************************\n     * Operation\n     ******************************************************************************/\n\n    /**\n     * Reduction step\n     */\n    template <\n        bool                ALL_LANES_VALID,        ///< Whether all lanes in each warp are contributing a valid fold of items\n        int                 FOLDED_ITEMS_PER_LANE,  ///< Number of items folded into each lane\n        typename            ReductionOp,\n        int                 STEP>\n    __device__ __forceinline__ T ReduceStep(\n        T                   input,                  ///< [in] Calling thread's input\n        int                 folded_items_per_warp,  ///< [in] Total number of valid items folded into each logical warp\n        ReductionOp         reduction_op,           ///< [in] Reduction operator\n        Int2Type<STEP>      step)\n    {\n        const int OFFSET = 1 << STEP;\n\n        // Share input through buffer\n        ThreadStore<STORE_VOLATILE>(&temp_storage.reduce[lane_id], input);\n\n        // Update input if peer_addend is in range\n        if ((ALL_LANES_VALID && IS_POW_OF_TWO) || ((lane_id + OFFSET) * FOLDED_ITEMS_PER_LANE < folded_items_per_warp))\n        {\n            T peer_addend = ThreadLoad<LOAD_VOLATILE>(&temp_storage.reduce[lane_id + OFFSET]);\n            input = reduction_op(input, peer_addend);\n        }\n\n        return ReduceStep<ALL_LANES_VALID, FOLDED_ITEMS_PER_LANE>(input, folded_items_per_warp, reduction_op, Int2Type<STEP + 1>());\n    }\n\n\n    /**\n     * Reduction step (terminate)\n     */\n    template <\n        bool                ALL_LANES_VALID,        ///< Whether all lanes in each warp are contributing a valid fold of items\n        int                 FOLDED_ITEMS_PER_LANE,  ///< Number of items folded into each lane\n        typename            ReductionOp>\n    __device__ __forceinline__ T ReduceStep(\n        T                   input,                  ///< [in] Calling thread's input\n        int                 folded_items_per_warp,  ///< [in] Total number of valid items folded into each logical warp\n        ReductionOp         reduction_op,           ///< [in] Reduction operator\n        Int2Type<STEPS>     step)\n    {\n        return input;\n    }\n\n\n    /**\n     * Reduction\n     */\n    template <\n        bool                ALL_LANES_VALID,        ///< Whether all lanes in each warp are contributing a valid fold of items\n        int                 FOLDED_ITEMS_PER_LANE,  ///< Number of items folded into each lane\n        typename            ReductionOp>\n    __device__ __forceinline__ T Reduce(\n        T                   input,                  ///< [in] Calling thread's input\n        int                 folded_items_per_warp,  ///< [in] Total number of valid items folded into each logical warp\n        ReductionOp         reduction_op)           ///< [in] Reduction operator\n    {\n        return ReduceStep<ALL_LANES_VALID, FOLDED_ITEMS_PER_LANE>(input, folded_items_per_warp, reduction_op, Int2Type<0>());\n    }\n\n\n    /**\n     * Ballot-based segmented reduce\n     */\n    template <\n        bool            HEAD_SEGMENTED,     ///< Whether flags indicate a segment-head or a segment-tail\n        typename        Flag,\n        typename        ReductionOp>\n    __device__ __forceinline__ T SegmentedReduce(\n        T               input,              ///< [in] Calling thread's input\n        Flag            flag,               ///< [in] Whether or not the current lane is a segment head/tail\n        ReductionOp     reduction_op,       ///< [in] Reduction operator\n        Int2Type<true>  has_ballot)         ///< [in] Marker type for whether the target arch has ballot functionality\n    {\n        // Get the start flags for each thread in the warp.\n        int warp_flags = __ballot(flag);\n\n        if (!HEAD_SEGMENTED)\n            warp_flags <<= 1;\n\n        // Keep bits above the current thread.\n        warp_flags &= LaneMaskGt();\n\n        // Accommodate packing of multiple logical warps in a single physical warp\n        if (!IS_ARCH_WARP)\n        {\n            warp_flags >>= (LaneId() / LOGICAL_WARP_THREADS) * LOGICAL_WARP_THREADS;\n        }\n\n        // Find next flag\n        int next_flag = __clz(__brev(warp_flags));\n\n        // Clip the next segment at the warp boundary if necessary\n        if (LOGICAL_WARP_THREADS != 32)\n            next_flag = CUB_MIN(next_flag, LOGICAL_WARP_THREADS);\n\n        #pragma unroll\n        for (int STEP = 0; STEP < STEPS; STEP++)\n        {\n            const int OFFSET = 1 << STEP;\n\n            // Share input into buffer\n            ThreadStore<STORE_VOLATILE>(&temp_storage.reduce[lane_id], input);\n\n            // Update input if peer_addend is in range\n            if (OFFSET < next_flag - lane_id)\n            {\n                T peer_addend = ThreadLoad<LOAD_VOLATILE>(&temp_storage.reduce[lane_id + OFFSET]);\n                input = reduction_op(input, peer_addend);\n            }\n        }\n\n        return input;\n    }\n\n\n    /**\n     * Smem-based segmented reduce\n     */\n    template <\n        bool            HEAD_SEGMENTED,     ///< Whether flags indicate a segment-head or a segment-tail\n        typename        Flag,\n        typename        ReductionOp>\n    __device__ __forceinline__ T SegmentedReduce(\n        T               input,              ///< [in] Calling thread's input\n        Flag            flag,               ///< [in] Whether or not the current lane is a segment head/tail\n        ReductionOp     reduction_op,       ///< [in] Reduction operator\n        Int2Type<false> has_ballot)         ///< [in] Marker type for whether the target arch has ballot functionality\n    {\n        enum\n        {\n            UNSET   = 0x0,  // Is initially unset\n            SET     = 0x1,  // Is initially set\n            SEEN    = 0x2,  // Has seen another head flag from a successor peer\n        };\n\n        // Alias flags onto shared data storage\n        volatile SmemFlag *flag_storage = temp_storage.flags;\n\n        SmemFlag flag_status = (flag) ? SET : UNSET;\n\n        for (int STEP = 0; STEP < STEPS; STEP++)\n        {\n            const int OFFSET = 1 << STEP;\n\n            // Share input through buffer\n            ThreadStore<STORE_VOLATILE>(&temp_storage.reduce[lane_id], input);\n\n            // Get peer from buffer\n            T peer_addend = ThreadLoad<LOAD_VOLATILE>(&temp_storage.reduce[lane_id + OFFSET]);\n\n            // Share flag through buffer\n            flag_storage[lane_id] = flag_status;\n\n            // Get peer flag from buffer\n            SmemFlag peer_flag_status = flag_storage[lane_id + OFFSET];\n\n            // Update input if peer was in range\n            if (lane_id < LOGICAL_WARP_THREADS - OFFSET)\n            {\n                if (HEAD_SEGMENTED)\n                {\n                    // Head-segmented\n                    if ((flag_status & SEEN) == 0)\n                    {\n                        // Has not seen a more distant head flag\n                        if (peer_flag_status & SET)\n                        {\n                            // Has now seen a head flag\n                            flag_status |= SEEN;\n                        }\n                        else\n                        {\n                            // Peer is not a head flag: grab its count\n                            input = reduction_op(input, peer_addend);\n                        }\n\n                        // Update seen status to include that of peer\n                        flag_status |= (peer_flag_status & SEEN);\n                    }\n                }\n                else\n                {\n                    // Tail-segmented.  Simply propagate flag status\n                    if (!flag_status)\n                    {\n                        input = reduction_op(input, peer_addend);\n                        flag_status |= peer_flag_status;\n                    }\n\n                }\n            }\n        }\n\n        return input;\n    }\n\n\n    /**\n     * Segmented reduction\n     */\n    template <\n        bool            HEAD_SEGMENTED,     ///< Whether flags indicate a segment-head or a segment-tail\n        typename        Flag,\n        typename        ReductionOp>\n    __device__ __forceinline__ T SegmentedReduce(\n        T               input,              ///< [in] Calling thread's input\n        Flag            flag,               ///< [in] Whether or not the current lane is a segment head/tail\n        ReductionOp     reduction_op)       ///< [in] Reduction operator\n    {\n        return SegmentedReduce<HEAD_SEGMENTED>(input, flag, reduction_op, Int2Type<(PTX_ARCH >= 200)>());\n    }\n\n\n    /**\n     * Summation\n     */\n    template <\n        bool            ALL_LANES_VALID,        ///< Whether all lanes in each warp are contributing a valid fold of items\n        int             FOLDED_ITEMS_PER_LANE>  ///< Number of items folded into each lane\n    __device__ __forceinline__ T Sum(\n        T               input,                  ///< [in] Calling thread's input\n        int             folded_items_per_warp)  ///< [in] Total number of valid items folded into each logical warp\n    {\n        return Reduce<ALL_LANES_VALID, FOLDED_ITEMS_PER_LANE>(input, folded_items_per_warp, cub::Sum());\n    }\n\n};\n\n\n}               // CUB namespace\nCUB_NS_POSTFIX  // Optional outer namespace(s)\n"
  },
  {
    "path": "external/cub-1.3.2/cub/warp/specializations/warp_scan_shfl.cuh",
    "content": "/******************************************************************************\n * Copyright (c) 2011, Duane Merrill.  All rights reserved.\n * Copyright (c) 2011-2014, NVIDIA CORPORATION.  All rights reserved.\n * \n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *     * Redistributions of source code must retain the above copyright\n *       notice, this list of conditions and the following disclaimer.\n *     * Redistributions in binary form must reproduce the above copyright\n *       notice, this list of conditions and the following disclaimer in the\n *       documentation and/or other materials provided with the distribution.\n *     * Neither the name of the NVIDIA CORPORATION nor the\n *       names of its contributors may be used to endorse or promote products\n *       derived from this software without specific prior written permission.\n * \n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n ******************************************************************************/\n\n/**\n * \\file\n * cub::WarpScanShfl provides SHFL-based variants of parallel prefix scan of items partitioned across a CUDA thread warp.\n */\n\n#pragma once\n\n#include \"../../thread/thread_operators.cuh\"\n#include \"../../util_type.cuh\"\n#include \"../../util_ptx.cuh\"\n#include \"../../util_namespace.cuh\"\n\n/// Optional outer namespace(s)\nCUB_NS_PREFIX\n\n/// CUB namespace\nnamespace cub {\n\n/**\n * \\brief WarpScanShfl provides SHFL-based variants of parallel prefix scan of items partitioned across a CUDA thread warp.\n */\ntemplate <\n    typename    T,                      ///< Data type being scanned\n    int         LOGICAL_WARP_THREADS,   ///< Number of threads per logical warp\n    int         PTX_ARCH>               ///< The PTX compute capability for which to to specialize this collective\nstruct WarpScanShfl\n{\n\n    /******************************************************************************\n     * Constants and type definitions\n     ******************************************************************************/\n\n    enum\n    {\n        /// Whether the logical warp size and the PTX warp size coincide\n        IS_ARCH_WARP = (LOGICAL_WARP_THREADS == CUB_WARP_THREADS(PTX_ARCH)),\n\n        /// The number of warp scan steps\n        STEPS = Log2<LOGICAL_WARP_THREADS>::VALUE,\n\n        // The 5-bit SHFL mask for logically splitting warps into sub-segments starts 8-bits up\n        SHFL_C = ((-1 << STEPS) & 31) << 8,\n\n        // Whether the data type is a small (32b or less) integer for which we can use a single SFHL instruction per exchange\n        SMALL_INTEGER = ((Traits<T>::CATEGORY == UNSIGNED_INTEGER) || (Traits<T>::CATEGORY == SIGNED_INTEGER)) && (sizeof(T) <= sizeof(unsigned int))\n    };\n\n    /// Shared memory storage layout type\n    typedef NullType TempStorage;\n\n\n    /******************************************************************************\n     * Thread fields\n     ******************************************************************************/\n\n    int lane_id;\n\n    /******************************************************************************\n     * Construction\n     ******************************************************************************/\n\n    /// Constructor\n    __device__ __forceinline__ WarpScanShfl(\n        TempStorage &temp_storage)\n    :\n        lane_id(IS_ARCH_WARP ?\n            LaneId() :\n            LaneId() % LOGICAL_WARP_THREADS)\n    {}\n\n\n    /******************************************************************************\n     * Utility methods\n     ******************************************************************************/\n\n    /// Inclusive prefix scan (specialized for summation across primitive integer types 32b or smaller)\n    template <typename _T>\n    __device__ __forceinline__ void InclusiveScan(\n        _T              input,              ///< [in] Calling thread's input item.\n        _T              &output,            ///< [out] Calling thread's output item.  May be aliased with \\p input.\n        Sum             scan_op,            ///< [in] Binary scan operator\n        Int2Type<true>  is_small_integer)   ///< [in] Marker type indicating whether T is a small integer\n    {\n        unsigned int temp = reinterpret_cast<unsigned int &>(input);\n\n        // Iterate scan steps\n        #pragma unroll\n        for (int STEP = 0; STEP < STEPS; STEP++)\n        {\n            // Use predicate set from SHFL to guard against invalid peers\n            asm(\n                \"{\"\n                \"  .reg .u32 r0;\"\n                \"  .reg .pred p;\"\n                \"  shfl.up.b32 r0|p, %1, %2, %3;\"\n                \"  @p add.u32 r0, r0, %4;\"\n                \"  mov.u32 %0, r0;\"\n                \"}\"\n                : \"=r\"(temp) : \"r\"(temp), \"r\"(1 << STEP), \"r\"(SHFL_C), \"r\"(temp));\n        }\n\n        output = reinterpret_cast<_T&>(temp);\n    }\n\n\n    /// Inclusive prefix scan (specialized for summation across float types)\n    __device__ __forceinline__ void InclusiveScan(\n        float           input,              ///< [in] Calling thread's input item.\n        float           &output,            ///< [out] Calling thread's output item.  May be aliased with \\p input.\n        Sum             scan_op,            ///< [in] Binary scan operator\n        Int2Type<false> is_small_integer)   ///< [in] Marker type indicating whether T is a small integer\n    {\n        output = input;\n\n        // Iterate scan steps\n        #pragma unroll\n        for (int STEP = 0; STEP < STEPS; STEP++)\n        {\n            // Use predicate set from SHFL to guard against invalid peers\n            asm(\n                \"{\"\n                \"  .reg .f32 r0;\"\n                \"  .reg .pred p;\"\n                \"  shfl.up.b32 r0|p, %1, %2, %3;\"\n                \"  @p add.f32 r0, r0, %4;\"\n                \"  mov.f32 %0, r0;\"\n                \"}\"\n                : \"=f\"(output) : \"f\"(output), \"r\"(1 << STEP), \"r\"(SHFL_C), \"f\"(output));\n        }\n    }\n\n\n    /// Inclusive prefix scan (specialized for summation across unsigned long long types)\n    __device__ __forceinline__ void InclusiveScan(\n        unsigned long long  input,              ///< [in] Calling thread's input item.\n        unsigned long long  &output,            ///< [out] Calling thread's output item.  May be aliased with \\p input.\n        Sum                 scan_op,            ///< [in] Binary scan operator\n        Int2Type<false>     is_small_integer)   ///< [in] Marker type indicating whether T is a small integer\n    {\n        output = input;\n\n        // Iterate scan steps\n        #pragma unroll\n        for (int STEP = 0; STEP < STEPS; STEP++)\n        {\n            // Use predicate set from SHFL to guard against invalid peers\n            asm(\n                \"{\"\n                \"  .reg .u32 lo;\"\n                \"  .reg .u32 hi;\"\n                \"  .reg .pred p;\"\n                \"  mov.b64 {lo, hi}, %1;\"\n                \"  shfl.up.b32 lo|p, lo, %2, %3;\"\n                \"  shfl.up.b32 hi|p, hi, %2, %3;\"\n                \"  mov.b64 %0, {lo, hi};\"\n                \"  @p add.u64 %0, %0, %1;\"\n                \"}\"\n                : \"=l\"(output) : \"l\"(output), \"r\"(1 << STEP), \"r\"(SHFL_C));\n        }\n    }\n\n\n    /// Inclusive prefix scan (specialized for summation across long long types)\n    __device__ __forceinline__ void InclusiveScan(\n        long long           input,              ///< [in] Calling thread's input item.\n        long long           &output,            ///< [out] Calling thread's output item.  May be aliased with \\p input.\n        Sum                 scan_op,            ///< [in] Binary scan operator\n        Int2Type<false>     is_small_integer)   ///< [in] Marker type indicating whether T is a small integer\n    {\n        output = input;\n\n        // Iterate scan steps\n        #pragma unroll\n        for (int STEP = 0; STEP < STEPS; STEP++)\n        {\n            // Use predicate set from SHFL to guard against invalid peers\n            asm(\n                \"{\"\n                \"  .reg .u32 lo;\"\n                \"  .reg .u32 hi;\"\n                \"  .reg .pred p;\"\n                \"  mov.b64 {lo, hi}, %1;\"\n                \"  shfl.up.b32 lo|p, lo, %2, %3;\"\n                \"  shfl.up.b32 hi|p, hi, %2, %3;\"\n                \"  mov.b64 %0, {lo, hi};\"\n                \"  @p add.s64 %0, %0, %1;\"\n                \"}\"\n                : \"=l\"(output) : \"l\"(output), \"r\"(1 << STEP), \"r\"(SHFL_C));\n        }\n    }\n\n\n    /// Inclusive prefix scan (specialized for summation across double types)\n    __device__ __forceinline__ void InclusiveScan(\n        double              input,              ///< [in] Calling thread's input item.\n        double              &output,            ///< [out] Calling thread's output item.  May be aliased with \\p input.\n        Sum                 scan_op,            ///< [in] Binary scan operator\n        Int2Type<false>     is_small_integer)   ///< [in] Marker type indicating whether T is a small integer\n    {\n        output = input;\n\n        // Iterate scan steps\n        #pragma unroll\n        for (int STEP = 0; STEP < STEPS; STEP++)\n        {\n            // Use predicate set from SHFL to guard against invalid peers\n            asm(\n                \"{\"\n                \"  .reg .u32 lo;\"\n                \"  .reg .u32 hi;\"\n                \"  .reg .pred p;\"\n                \"  mov.b64 {lo, hi}, %1;\"\n                \"  shfl.up.b32 lo|p, lo, %2, %3;\"\n                \"  shfl.up.b32 hi|p, hi, %2, %3;\"\n                \"  mov.b64 %0, {lo, hi};\"\n                \"  @p add.f64 %0, %0, %1;\"\n                \"}\"\n                : \"=d\"(output) : \"d\"(output), \"r\"(1 << STEP), \"r\"(SHFL_C));\n        }\n    }\n\n\n    /// Inclusive prefix scan\n    template <typename _T, typename ScanOp, int IS_SMALL_INTEGER>\n    __device__ __forceinline__ void InclusiveScan(\n        _T                          input,              ///< [in] Calling thread's input item.\n        _T                          &output,            ///< [out] Calling thread's output item.  May be aliased with \\p input.\n        ScanOp                      scan_op,            ///< [in] Binary scan operator\n        Int2Type<IS_SMALL_INTEGER>  is_small_integer)   ///< [in] Marker type indicating whether T is a small integer\n    {\n        output = input;\n\n        // Iterate scan steps\n        #pragma unroll\n        for (int STEP = 0; STEP < STEPS; STEP++)\n        {\n            // Grab addend from peer\n            const int OFFSET = 1 << STEP;\n            T temp = ShuffleUp(output, OFFSET);\n\n            // Perform scan op if from a valid peer\n            if (lane_id >= OFFSET)\n                output = scan_op(temp, output);\n        }\n    }\n\n\n\n    /******************************************************************************\n     * Interface\n     ******************************************************************************/\n\n\n    /// Broadcast\n    __device__ __forceinline__ T Broadcast(\n        T               input,              ///< [in] The value to broadcast\n        int             src_lane)           ///< [in] Which warp lane is to do the broadcasting\n    {\n        return ShuffleBroadcast(input, src_lane, LOGICAL_WARP_THREADS);\n    }\n\n\n    //---------------------------------------------------------------------\n    // Inclusive operations\n    //---------------------------------------------------------------------\n\n    /// Inclusive scan\n    template <typename ScanOp>\n    __device__ __forceinline__ void InclusiveScan(\n        T               input,              ///< [in] Calling thread's input item.\n        T               &output,            ///< [out] Calling thread's output item.  May be aliased with \\p input.\n        ScanOp          scan_op)            ///< [in] Binary scan operator\n    {\n        InclusiveScan(input, output, scan_op, Int2Type<SMALL_INTEGER>());\n    }\n\n\n    /// Inclusive scan with aggregate\n    template <typename ScanOp>\n    __device__ __forceinline__ void InclusiveScan(\n        T               input,              ///< [in] Calling thread's input item.\n        T               &output,            ///< [out] Calling thread's output item.  May be aliased with \\p input.\n        ScanOp          scan_op,            ///< [in] Binary scan operator\n        T               &warp_aggregate)    ///< [out] Warp-wide aggregate reduction of input items.\n    {\n        InclusiveScan(input, output, scan_op);\n\n        // Grab aggregate from last warp lane\n        warp_aggregate = Broadcast(output, LOGICAL_WARP_THREADS - 1);\n    }\n\n\n    //---------------------------------------------------------------------\n    // Combo (inclusive & exclusive) operations\n    //---------------------------------------------------------------------\n\n    /// Combination scan without identity\n    template <typename ScanOp>\n    __device__ __forceinline__ void Scan(\n        T               input,              ///< [in] Calling thread's input item.\n        T               &inclusive_output,  ///< [out] Calling thread's inclusive-scan output item.\n        T               &exclusive_output,  ///< [out] Calling thread's exclusive-scan output item.\n        ScanOp          scan_op)            ///< [in] Binary scan operator\n    {\n        // Compute inclusive scan\n        InclusiveScan(input, inclusive_output, scan_op);\n\n        // Grab result from predecessor\n        exclusive_output = ShuffleUp(inclusive_output, 1);\n    }\n\n    /// Combination scan with identity\n    template <typename ScanOp>\n    __device__ __forceinline__ void Scan(\n        T               input,              ///< [in] Calling thread's input item.\n        T               &inclusive_output,  ///< [out] Calling thread's inclusive-scan output item.\n        T               &exclusive_output,  ///< [out] Calling thread's exclusive-scan output item.\n        T               identity,           ///< [in] Identity value\n        ScanOp          scan_op)            ///< [in] Binary scan operator\n    {\n        // Compute inclusive scan\n        InclusiveScan(input, inclusive_output, scan_op);\n\n        // Grab result from predecessor\n        exclusive_output = ShuffleUp(inclusive_output, 1);\n\n        exclusive_output = (lane_id == 0) ?\n            identity :\n            exclusive_output;\n    }\n\n\n    //---------------------------------------------------------------------\n    // Exclusive operations\n    //---------------------------------------------------------------------\n\n    /// Exclusive scan with aggregate\n    template <typename ScanOp>\n    __device__ __forceinline__ void ExclusiveScan(\n        T               input,              ///< [in] Calling thread's input item.\n        T               &output,            ///< [out] Calling thread's output item.  May be aliased with \\p input.\n        T               identity,           ///< [in] Identity value\n        ScanOp          scan_op,            ///< [in] Binary scan operator\n        T               &warp_aggregate)    ///< [out] Warp-wide aggregate reduction of input items.\n    {\n        T inclusive_output;\n        Scan(input, inclusive_output, output, identity, scan_op);\n\n        // Grab aggregate from last warp lane\n        warp_aggregate = Broadcast(inclusive_output, LOGICAL_WARP_THREADS - 1);\n    }\n\n\n    /// Exclusive scan with aggregate, without identity\n    template <typename ScanOp>\n    __device__ __forceinline__ void ExclusiveScan(\n        T               input,              ///< [in] Calling thread's input item.\n        T               &output,            ///< [out] Calling thread's output item.  May be aliased with \\p input.\n        ScanOp          scan_op,            ///< [in] Binary scan operator\n        T               &warp_aggregate)    ///< [out] Warp-wide aggregate reduction of input items.\n    {\n        T inclusive_output;\n        Scan(input, inclusive_output, output, scan_op);\n\n        // Grab aggregate from last warp lane\n        warp_aggregate = Broadcast(inclusive_output, LOGICAL_WARP_THREADS - 1);\n    }\n\n};\n\n\n}               // CUB namespace\nCUB_NS_POSTFIX  // Optional outer namespace(s)\n"
  },
  {
    "path": "external/cub-1.3.2/cub/warp/specializations/warp_scan_smem.cuh",
    "content": "/******************************************************************************\r\n * Copyright (c) 2011, Duane Merrill.  All rights reserved.\r\n * Copyright (c) 2011-2014, NVIDIA CORPORATION.  All rights reserved.\r\n * \r\n * Redistribution and use in source and binary forms, with or without\r\n * modification, are permitted provided that the following conditions are met:\r\n *     * Redistributions of source code must retain the above copyright\r\n *       notice, this list of conditions and the following disclaimer.\r\n *     * Redistributions in binary form must reproduce the above copyright\r\n *       notice, this list of conditions and the following disclaimer in the\r\n *       documentation and/or other materials provided with the distribution.\r\n *     * Neither the name of the NVIDIA CORPORATION nor the\r\n *       names of its contributors may be used to endorse or promote products\r\n *       derived from this software without specific prior written permission.\r\n * \r\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\r\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\r\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\r\n * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY\r\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\r\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\r\n * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\r\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\r\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\r\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r\n *\r\n ******************************************************************************/\r\n\r\n/**\r\n * \\file\r\n * cub::WarpScanSmem provides smem-based variants of parallel prefix scan of items partitioned across a CUDA thread warp.\r\n */\r\n\r\n#pragma once\r\n\r\n#include \"../../thread/thread_operators.cuh\"\r\n#include \"../../thread/thread_load.cuh\"\r\n#include \"../../thread/thread_store.cuh\"\r\n#include \"../../util_type.cuh\"\r\n#include \"../../util_namespace.cuh\"\r\n\r\n/// Optional outer namespace(s)\r\nCUB_NS_PREFIX\r\n\r\n/// CUB namespace\r\nnamespace cub {\r\n\r\n/**\r\n * \\brief WarpScanSmem provides smem-based variants of parallel prefix scan of items partitioned across a CUDA thread warp.\r\n */\r\ntemplate <\r\n    typename    T,                      ///< Data type being scanned\r\n    int         LOGICAL_WARP_THREADS,   ///< Number of threads per logical warp\r\n    int         PTX_ARCH>               ///< The PTX compute capability for which to to specialize this collective\r\nstruct WarpScanSmem\r\n{\r\n    /******************************************************************************\r\n     * Constants and type definitions\r\n     ******************************************************************************/\r\n\r\n    enum\r\n    {\r\n        /// Whether the logical warp size and the PTX warp size coincide\r\n        IS_ARCH_WARP = (LOGICAL_WARP_THREADS == CUB_WARP_THREADS(PTX_ARCH)),\r\n\r\n        /// The number of warp scan steps\r\n        STEPS = Log2<LOGICAL_WARP_THREADS>::VALUE,\r\n\r\n        /// The number of threads in half a warp\r\n        HALF_WARP_THREADS = 1 << (STEPS - 1),\r\n\r\n        /// The number of shared memory elements per warp\r\n        WARP_SMEM_ELEMENTS =  LOGICAL_WARP_THREADS + HALF_WARP_THREADS,\r\n    };\r\n\r\n    /// Storage cell type (workaround for SM1x compiler bugs with custom-ops like Max() on signed chars)\r\n    typedef typename If<((Equals<T, char>::VALUE || Equals<T, signed char>::VALUE) && (PTX_ARCH < 200)), int, T>::Type CellT;\r\n\r\n    /// Shared memory storage layout type (1.5 warps-worth of elements for each warp)\r\n    typedef CellT _TempStorage[WARP_SMEM_ELEMENTS];\r\n\r\n    // Alias wrapper allowing storage to be unioned\r\n    struct TempStorage : Uninitialized<_TempStorage> {};\r\n\r\n\r\n    /******************************************************************************\r\n     * Thread fields\r\n     ******************************************************************************/\r\n\r\n    _TempStorage     &temp_storage;\r\n    unsigned int    lane_id;\r\n\r\n\r\n    /******************************************************************************\r\n     * Construction\r\n     ******************************************************************************/\r\n\r\n    /// Constructor\r\n    __device__ __forceinline__ WarpScanSmem(\r\n        TempStorage     &temp_storage)\r\n    :\r\n        temp_storage(temp_storage.Alias()),\r\n        lane_id(IS_ARCH_WARP ?\r\n            LaneId() :\r\n            LaneId() % LOGICAL_WARP_THREADS)\r\n    {}\r\n\r\n\r\n    /******************************************************************************\r\n     * Utility methods\r\n     ******************************************************************************/\r\n\r\n    /// Basic inclusive scan iteration(template unrolled, base-case specialization)\r\n    template <\r\n        bool HAS_IDENTITY,\r\n        typename ScanOp>\r\n    __device__ __forceinline__ void ScanStep(\r\n        T               &partial,\r\n        ScanOp          scan_op,\r\n        Int2Type<STEPS>  step)\r\n    {}\r\n\r\n\r\n    /// Basic inclusive scan iteration (template unrolled, inductive-case specialization)\r\n    template <\r\n        bool        HAS_IDENTITY,\r\n        int         STEP,\r\n        typename    ScanOp>\r\n    __device__ __forceinline__ void ScanStep(\r\n        T               &partial,\r\n        ScanOp          scan_op,\r\n        Int2Type<STEP>  step)\r\n    {\r\n        const int OFFSET = 1 << STEP;\r\n\r\n        // Share partial into buffer\r\n        ThreadStore<STORE_VOLATILE>(&temp_storage[HALF_WARP_THREADS + lane_id], (CellT) partial);\r\n\r\n        // Update partial if addend is in range\r\n        if (HAS_IDENTITY || (lane_id >= OFFSET))\r\n        {\r\n            T addend = (T) ThreadLoad<LOAD_VOLATILE>(&temp_storage[HALF_WARP_THREADS + lane_id - OFFSET]);\r\n            partial = scan_op(addend, partial);\r\n        }\r\n\r\n        ScanStep<HAS_IDENTITY>(partial, scan_op, Int2Type<STEP + 1>());\r\n    }\r\n\r\n\r\n    /// Inclusive prefix scan with identity\r\n    template <typename ScanOp>\r\n    __device__ __forceinline__ void InclusiveScan(\r\n        T               input,              ///< [in] Calling thread's input item.\r\n        T               &output,            ///< [out] Calling thread's output item.  May be aliased with \\p input.\r\n        T               identity,           ///< [in] Identity value\r\n        ScanOp          scan_op)            ///< [in] Binary scan operator\r\n    {\r\n        ThreadStore<STORE_VOLATILE>(&temp_storage[lane_id], (CellT) identity);\r\n\r\n        // Iterate scan steps\r\n        output = input;\r\n        ScanStep<true>(output, scan_op, Int2Type<0>());\r\n    }\r\n\r\n\r\n    /// Inclusive prefix scan (specialized for summation across primitive types)\r\n    __device__ __forceinline__ void InclusiveScan(\r\n        T               input,              ///< [in] Calling thread's input item.\r\n        T               &output,            ///< [out] Calling thread's output item.  May be aliased with \\p input.\r\n        Sum             scan_op,            ///< [in] Binary scan operator\r\n        Int2Type<true>  is_primitive)       ///< [in] Marker type indicating whether T is primitive type\r\n    {\r\n        T identity = ZeroInitialize<T>();\r\n        InclusiveScan(input, output, identity, scan_op);\r\n    }\r\n\r\n\r\n    /// Inclusive prefix scan\r\n    template <typename ScanOp, int IS_PRIMITIVE>\r\n    __device__ __forceinline__ void InclusiveScan(\r\n        T                       input,              ///< [in] Calling thread's input item.\r\n        T                       &output,            ///< [out] Calling thread's output item.  May be aliased with \\p input.\r\n        ScanOp                  scan_op,            ///< [in] Binary scan operator\r\n        Int2Type<IS_PRIMITIVE>  is_primitive)       ///< [in] Marker type indicating whether T is primitive type\r\n    {\r\n        // Iterate scan steps\r\n        output = input;\r\n        ScanStep<false>(output, scan_op, Int2Type<0>());\r\n    }\r\n\r\n\r\n\r\n    /******************************************************************************\r\n     * Interface\r\n     ******************************************************************************/\r\n\r\n    /// Broadcast\r\n    __device__ __forceinline__ T Broadcast(\r\n        T               input,              ///< [in] The value to broadcast\r\n        unsigned int    src_lane)           ///< [in] Which warp lane is to do the broadcasting\r\n    {\r\n        if (lane_id == src_lane)\r\n        {\r\n            ThreadStore<STORE_VOLATILE>(temp_storage, (CellT) input);\r\n        }\r\n\r\n        return (T) ThreadLoad<LOAD_VOLATILE>(temp_storage);\r\n    }\r\n\r\n\r\n    //---------------------------------------------------------------------\r\n    // Inclusive operations\r\n    //---------------------------------------------------------------------\r\n\r\n    /// Inclusive scan\r\n    template <typename ScanOp>\r\n    __device__ __forceinline__ void InclusiveScan(\r\n        T               input,              ///< [in] Calling thread's input item.\r\n        T               &output,            ///< [out] Calling thread's output item.  May be aliased with \\p input.\r\n        ScanOp          scan_op)            ///< [in] Binary scan operator\r\n    {\r\n        InclusiveScan(input, output, scan_op, Int2Type<Traits<T>::PRIMITIVE>());\r\n    }\r\n\r\n\r\n    /// Inclusive scan with aggregate\r\n    template <typename ScanOp>\r\n    __device__ __forceinline__ void InclusiveScan(\r\n        T               input,              ///< [in] Calling thread's input item.\r\n        T               &output,            ///< [out] Calling thread's output item.  May be aliased with \\p input.\r\n        ScanOp          scan_op,            ///< [in] Binary scan operator\r\n        T               &warp_aggregate)    ///< [out] Warp-wide aggregate reduction of input items.\r\n    {\r\n        InclusiveScan(input, output, scan_op);\r\n\r\n        // Retrieve aggregate\r\n        ThreadStore<STORE_VOLATILE>(&temp_storage[HALF_WARP_THREADS + lane_id], (CellT) output);\r\n        warp_aggregate = (T) ThreadLoad<LOAD_VOLATILE>(&temp_storage[WARP_SMEM_ELEMENTS - 1]);\r\n    }\r\n\r\n\r\n    //---------------------------------------------------------------------\r\n    // Combo (inclusive & exclusive) operations\r\n    //---------------------------------------------------------------------\r\n\r\n    /// Combination scan without identity\r\n    template <typename ScanOp>\r\n    __device__ __forceinline__ void Scan(\r\n        T               input,              ///< [in] Calling thread's input item.\r\n        T               &inclusive_output,  ///< [out] Calling thread's inclusive-scan output item.\r\n        T               &exclusive_output,  ///< [out] Calling thread's exclusive-scan output item.\r\n        ScanOp          scan_op)            ///< [in] Binary scan operator\r\n    {\r\n        // Compute inclusive scan\r\n        InclusiveScan(input, inclusive_output, scan_op);\r\n\r\n        // Grab result from predecessor\r\n        ThreadStore<STORE_VOLATILE>(&temp_storage[HALF_WARP_THREADS + lane_id], (CellT) inclusive_output);\r\n        exclusive_output = (T) ThreadLoad<LOAD_VOLATILE>(&temp_storage[HALF_WARP_THREADS + lane_id - 1]);\r\n    }\r\n\r\n    /// Combination scan with identity\r\n    template <typename ScanOp>\r\n    __device__ __forceinline__ void Scan(\r\n        T               input,              ///< [in] Calling thread's input item.\r\n        T               &inclusive_output,  ///< [out] Calling thread's inclusive-scan output item.\r\n        T               &exclusive_output,  ///< [out] Calling thread's exclusive-scan output item.\r\n        T               identity,           ///< [in] Identity value\r\n        ScanOp          scan_op)            ///< [in] Binary scan operator\r\n    {\r\n        // Compute inclusive scan\r\n        InclusiveScan(input, inclusive_output, identity, scan_op);\r\n\r\n        // Grab result from predecessor\r\n        ThreadStore<STORE_VOLATILE>(&temp_storage[HALF_WARP_THREADS + lane_id], (CellT) inclusive_output);\r\n        exclusive_output = (T) ThreadLoad<LOAD_VOLATILE>(&temp_storage[HALF_WARP_THREADS + lane_id - 1]);\r\n    }\r\n\r\n\r\n    //---------------------------------------------------------------------\r\n    // Exclusive operations\r\n    //---------------------------------------------------------------------\r\n\r\n    /// Exclusive scan with aggregate\r\n    template <typename ScanOp>\r\n    __device__ __forceinline__ void ExclusiveScan(\r\n        T               input,              ///< [in] Calling thread's input item.\r\n        T               &output,            ///< [out] Calling thread's output item.  May be aliased with \\p input.\r\n        T               identity,           ///< [in] Identity value\r\n        ScanOp          scan_op,            ///< [in] Binary scan operator\r\n        T               &warp_aggregate)    ///< [out] Warp-wide aggregate reduction of input items.\r\n    {\r\n        T inclusive_output;\r\n        Scan(input, inclusive_output, output, identity, scan_op);\r\n\r\n        // Retrieve aggregate\r\n        warp_aggregate = (T) ThreadLoad<LOAD_VOLATILE>(&temp_storage[WARP_SMEM_ELEMENTS - 1]);\r\n    }\r\n\r\n\r\n    /// Exclusive scan with aggregate, without identity\r\n    template <typename ScanOp>\r\n    __device__ __forceinline__ void ExclusiveScan(\r\n        T               input,              ///< [in] Calling thread's input item.\r\n        T               &output,            ///< [out] Calling thread's output item.  May be aliased with \\p input.\r\n        ScanOp          scan_op,            ///< [in] Binary scan operator\r\n        T               &warp_aggregate)    ///< [out] Warp-wide aggregate reduction of input items.\r\n    {\r\n        T inclusive_output;\r\n        Scan(input, inclusive_output, output, scan_op);\r\n\r\n        // Retrieve aggregate\r\n        warp_aggregate = (T) ThreadLoad<LOAD_VOLATILE>(&temp_storage[WARP_SMEM_ELEMENTS - 1]);\r\n    }\r\n\r\n};\r\n\r\n\r\n}               // CUB namespace\r\nCUB_NS_POSTFIX  // Optional outer namespace(s)\r\n"
  },
  {
    "path": "external/cub-1.3.2/cub/warp/warp_reduce.cuh",
    "content": "/******************************************************************************\n * Copyright (c) 2011, Duane Merrill.  All rights reserved.\n * Copyright (c) 2011-2014, NVIDIA CORPORATION.  All rights reserved.\n * \n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *     * Redistributions of source code must retain the above copyright\n *       notice, this list of conditions and the following disclaimer.\n *     * Redistributions in binary form must reproduce the above copyright\n *       notice, this list of conditions and the following disclaimer in the\n *       documentation and/or other materials provided with the distribution.\n *     * Neither the name of the NVIDIA CORPORATION nor the\n *       names of its contributors may be used to endorse or promote products\n *       derived from this software without specific prior written permission.\n * \n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n ******************************************************************************/\n\n/**\n * \\file\n * The cub::WarpReduce class provides [<em>collective</em>](index.html#sec0) methods for computing a parallel reduction of items partitioned across a CUDA thread warp.\n */\n\n#pragma once\n\n#include \"specializations/warp_reduce_shfl.cuh\"\n#include \"specializations/warp_reduce_smem.cuh\"\n#include \"../thread/thread_operators.cuh\"\n#include \"../util_arch.cuh\"\n#include \"../util_type.cuh\"\n#include \"../util_namespace.cuh\"\n\n/// Optional outer namespace(s)\nCUB_NS_PREFIX\n\n/// CUB namespace\nnamespace cub {\n\n\n/**\n * \\addtogroup WarpModule\n * @{\n */\n\n/**\n * \\brief The WarpReduce class provides [<em>collective</em>](index.html#sec0) methods for computing a parallel reduction of items partitioned across a CUDA thread warp. ![](warp_reduce_logo.png)\n *\n * \\tparam T                        The reduction input/output element type\n * \\tparam LOGICAL_WARP_THREADS     <b>[optional]</b> The number of threads per \"logical\" warp (may be less than the number of hardware warp threads).  Default is the warp size of the targeted CUDA compute-capability (e.g., 32 threads for SM20).\n * \\tparam PTX_ARCH                 <b>[optional]</b> \\ptxversion\n *\n * \\par Overview\n * - A <a href=\"http://en.wikipedia.org/wiki/Reduce_(higher-order_function)\"><em>reduction</em></a> (or <em>fold</em>)\n *   uses a binary combining operator to compute a single aggregate from a list of input elements.\n * - Supports \"logical\" warps smaller than the physical warp size (e.g., logical warps of 8 threads)\n * - The number of entrant threads must be an multiple of \\p LOGICAL_WARP_THREADS\n *\n * \\par Performance Considerations\n * - Uses special instructions when applicable (e.g., warp \\p SHFL instructions)\n * - Uses synchronization-free communication between warp lanes when applicable\n * - Incurs zero bank conflicts for most types\n * - Computation is slightly more efficient (i.e., having lower instruction overhead) for:\n *     - Summation (<b><em>vs.</em></b> generic reduction)\n *     - The architecture's warp size is a whole multiple of \\p LOGICAL_WARP_THREADS\n *\n * \\par Simple Examples\n * \\warpcollective{WarpReduce}\n * \\par\n * The code snippet below illustrates four concurrent warp sum reductions within a block of\n * 128 threads (one per each of the 32-thread warps).\n * \\par\n * \\code\n * #include <cub/cub.cuh>\n *\n * __global__ void ExampleKernel(...)\n * {\n *     // Specialize WarpReduce for type int\n *     typedef cub::WarpReduce<int> WarpReduce;\n *\n *     // Allocate WarpReduce shared memory for 4 warps\n *     __shared__ typename WarpReduce::TempStorage temp_storage[4];\n *\n *     // Obtain one input item per thread\n *     int thread_data = ...\n *\n *     // Return the warp-wide sums to each lane0 (threads 0, 32, 64, and 96)\n *     int warp_id = threadIdx.x / 32;\n *     int aggregate = WarpReduce(temp_storage[warp_id]).Sum(thread_data);\n *\n * \\endcode\n * \\par\n * Suppose the set of input \\p thread_data across the block of threads is <tt>{0, 1, 2, 3, ..., 127}</tt>.\n * The corresponding output \\p aggregate in threads 0, 32, 64, and 96 will \\p 496, \\p 1520,\n * \\p 2544, and \\p 3568, respectively (and is undefined in other threads).\n *\n * \\par\n * The code snippet below illustrates a single warp sum reduction within a block of\n * 128 threads.\n * \\par\n * \\code\n * #include <cub/cub.cuh>\n *\n * __global__ void ExampleKernel(...)\n * {\n *     // Specialize WarpReduce for type int\n *     typedef cub::WarpReduce<int> WarpReduce;\n *\n *     // Allocate WarpReduce shared memory for one warp\n *     __shared__ typename WarpReduce::TempStorage temp_storage;\n *     ...\n *\n *     // Only the first warp performs a reduction\n *     if (threadIdx.x < 32)\n *     {\n *         // Obtain one input item per thread\n *         int thread_data = ...\n *\n *         // Return the warp-wide sum to lane0\n *         int aggregate = WarpReduce(temp_storage).Sum(thread_data);\n *\n * \\endcode\n * \\par\n * Suppose the set of input \\p thread_data across the warp of threads is <tt>{0, 1, 2, 3, ..., 31}</tt>.\n * The corresponding output \\p aggregate in thread0 will be \\p 496 (and is undefined in other threads).\n *\n */\ntemplate <\n    typename    T,\n    int         LOGICAL_WARP_THREADS    = CUB_PTX_WARP_THREADS,\n    int         PTX_ARCH                = CUB_PTX_ARCH>\nclass WarpReduce\n{\nprivate:\n\n    /******************************************************************************\n     * Constants and type definitions\n     ******************************************************************************/\n\n    enum\n    {\n        /// Whether the logical warp size and the PTX warp size coincide\n        IS_ARCH_WARP = (LOGICAL_WARP_THREADS == CUB_WARP_THREADS(PTX_ARCH)),\n\n        /// Whether the logical warp size is a power-of-two\n        IS_POW_OF_TWO = PowerOfTwo<LOGICAL_WARP_THREADS>::VALUE,\n    };\n\npublic:\n\n    #ifndef DOXYGEN_SHOULD_SKIP_THIS    // Do not document\n\n    /// Internal specialization.  Use SHFL-based reduction if (architecture is >= SM30) and (LOGICAL_WARP_THREADS is a power-of-two)\n    typedef typename If<(PTX_ARCH >= 300) && (IS_POW_OF_TWO),\n        WarpReduceShfl<T, LOGICAL_WARP_THREADS, PTX_ARCH>,\n        WarpReduceSmem<T, LOGICAL_WARP_THREADS, PTX_ARCH> >::Type InternalWarpReduce;\n\n    #endif // DOXYGEN_SHOULD_SKIP_THIS\n\n\nprivate:\n\n    /// Shared memory storage layout type for WarpReduce\n    typedef typename InternalWarpReduce::TempStorage _TempStorage;\n\n\n    /******************************************************************************\n     * Thread fields\n     ******************************************************************************/\n\n    /// Shared storage reference\n    _TempStorage &temp_storage;\n\n\n    /******************************************************************************\n     * Utility methods\n     ******************************************************************************/\n\npublic:\n\n    /// \\smemstorage{WarpReduce}\n    struct TempStorage : Uninitialized<_TempStorage> {};\n\n\n    /******************************************************************//**\n     * \\name Collective constructors\n     *********************************************************************/\n    //@{\n\n\n    /**\n     * \\brief Collective constructor using the specified memory allocation as temporary storage.  Logical warp and lane identifiers are constructed from <tt>threadIdx.x</tt>.\n     */\n    __device__ __forceinline__ WarpReduce(\n        TempStorage &temp_storage)             ///< [in] Reference to memory allocation having layout type TempStorage\n    :\n        temp_storage(temp_storage.Alias())\n    {}\n\n\n    //@}  end member group\n    /******************************************************************//**\n     * \\name Summation reductions\n     *********************************************************************/\n    //@{\n\n\n    /**\n     * \\brief Computes a warp-wide sum in the calling warp.  The output is valid in warp <em>lane</em><sub>0</sub>.\n     *\n     * \\smemreuse\n     *\n     * \\par Snippet\n     * The code snippet below illustrates four concurrent warp sum reductions within a block of\n     * 128 threads (one per each of the 32-thread warps).\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>\n     *\n     * __global__ void ExampleKernel(...)\n     * {\n     *     // Specialize WarpReduce for type int\n     *     typedef cub::WarpReduce<int> WarpReduce;\n     *\n     *     // Allocate WarpReduce shared memory for 4 warps\n     *     __shared__ typename WarpReduce::TempStorage temp_storage[4];\n     *\n     *     // Obtain one input item per thread\n     *     int thread_data = ...\n     *\n     *     // Return the warp-wide sums to each lane0\n     *     int warp_id = threadIdx.x / 32;\n     *     int aggregate = WarpReduce(temp_storage[warp_id]).Sum(thread_data);\n     *\n     * \\endcode\n     * \\par\n     * Suppose the set of input \\p thread_data across the block of threads is <tt>{0, 1, 2, 3, ..., 127}</tt>.\n     * The corresponding output \\p aggregate in threads 0, 32, 64, and 96 will \\p 496, \\p 1520,\n     * \\p 2544, and \\p 3568, respectively (and is undefined in other threads).\n     *\n     */\n    __device__ __forceinline__ T Sum(\n        T                   input)              ///< [in] Calling thread's input\n    {\n        return InternalWarpReduce(temp_storage).Sum<true, 1>(input, LOGICAL_WARP_THREADS);\n    }\n\n    /**\n     * \\brief Computes a partially-full warp-wide sum in the calling warp.  The output is valid in warp <em>lane</em><sub>0</sub>.\n     *\n     * All threads across the calling warp must agree on the same value for \\p valid_items.  Otherwise the result is undefined.\n     *\n     * \\smemreuse\n     *\n     * \\par Snippet\n     * The code snippet below illustrates a sum reduction within a single, partially-full\n     * block of 32 threads (one warp).\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>\n     *\n     * __global__ void ExampleKernel(int *d_data, int valid_items)\n     * {\n     *     // Specialize WarpReduce for type int\n     *     typedef cub::WarpReduce<int> WarpReduce;\n     *\n     *     // Allocate WarpReduce shared memory for one warp\n     *     __shared__ typename WarpReduce::TempStorage temp_storage;\n     *\n     *     // Obtain one input item per thread if in range\n     *     int thread_data;\n     *     if (threadIdx.x < valid_items)\n     *         thread_data = d_data[threadIdx.x];\n     *\n     *     // Return the warp-wide sums to each lane0\n     *     int aggregate = WarpReduce(temp_storage).Sum(\n     *         thread_data, valid_items);\n     *\n     * \\endcode\n     * \\par\n     * Suppose the input \\p d_data is <tt>{0, 1, 2, 3, 4, ...</tt> and \\p valid_items\n     * is \\p 4.  The corresponding output \\p aggregate in thread0 is \\p 6 (and is\n     * undefined in other threads).\n     *\n     */\n    __device__ __forceinline__ T Sum(\n        T                   input,              ///< [in] Calling thread's input\n        int                 valid_items)        ///< [in] Total number of valid items in the calling thread's logical warp (may be less than \\p LOGICAL_WARP_THREADS)\n    {\n        // Determine if we don't need bounds checking\n        if (valid_items >= LOGICAL_WARP_THREADS)\n        {\n            return InternalWarpReduce(temp_storage).Sum<true, 1>(input, valid_items);\n        }\n        else\n        {\n            return InternalWarpReduce(temp_storage).Sum<false, 1>(input, valid_items);\n        }\n    }\n\n\n    /**\n     * \\brief Computes a segmented sum in the calling warp where segments are defined by head-flags.  The sum of each segment is returned to the first lane in that segment (which always includes <em>lane</em><sub>0</sub>).\n     *\n     * \\smemreuse\n     *\n     * \\par Snippet\n     * The code snippet below illustrates a head-segmented warp sum\n     * reduction within a block of 32 threads (one warp).\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>\n     *\n     * __global__ void ExampleKernel(...)\n     * {\n     *     // Specialize WarpReduce for type int\n     *     typedef cub::WarpReduce<int> WarpReduce;\n     *\n     *     // Allocate WarpReduce shared memory for one warp\n     *     __shared__ typename WarpReduce::TempStorage temp_storage;\n     *\n     *     // Obtain one input item and flag per thread\n     *     int thread_data = ...\n     *     int head_flag = ...\n     *\n     *     // Return the warp-wide sums to each lane0\n     *     int aggregate = WarpReduce(temp_storage).HeadSegmentedSum(\n     *         thread_data, head_flag);\n     *\n     * \\endcode\n     * \\par\n     * Suppose the set of input \\p thread_data and \\p head_flag across the block of threads\n     * is <tt>{0, 1, 2, 3, ..., 31</tt> and is <tt>{1, 0, 0, 0, 1, 0, 0, 0, ..., 1, 0, 0, 0</tt>,\n     * respectively.  The corresponding output \\p aggregate in threads 0, 4, 8, etc. will be\n     * \\p 6, \\p 22, \\p 38, etc. (and is undefined in other threads).\n     *\n     * \\tparam ReductionOp     <b>[inferred]</b> Binary reduction operator type having member <tt>T operator()(const T &a, const T &b)</tt>\n     *\n     */\n    template <\n        typename            Flag>\n    __device__ __forceinline__ T HeadSegmentedSum(\n        T                   input,              ///< [in] Calling thread's input\n        Flag                head_flag)          ///< [in] Head flag denoting whether or not \\p input is the start of a new segment\n    {\n        return HeadSegmentedReduce(input, head_flag, cub::Sum());\n    }\n\n\n    /**\n     * \\brief Computes a segmented sum in the calling warp where segments are defined by tail-flags.  The sum of each segment is returned to the first lane in that segment (which always includes <em>lane</em><sub>0</sub>).\n     *\n     * \\smemreuse\n     *\n     * \\par Snippet\n     * The code snippet below illustrates a tail-segmented warp sum\n     * reduction within a block of 32 threads (one warp).\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>\n     *\n     * __global__ void ExampleKernel(...)\n     * {\n     *     // Specialize WarpReduce for type int\n     *     typedef cub::WarpReduce<int> WarpReduce;\n     *\n     *     // Allocate WarpReduce shared memory for one warp\n     *     __shared__ typename WarpReduce::TempStorage temp_storage;\n     *\n     *     // Obtain one input item and flag per thread\n     *     int thread_data = ...\n     *     int tail_flag = ...\n     *\n     *     // Return the warp-wide sums to each lane0\n     *     int aggregate = WarpReduce(temp_storage).TailSegmentedSum(\n     *         thread_data, tail_flag);\n     *\n     * \\endcode\n     * \\par\n     * Suppose the set of input \\p thread_data and \\p tail_flag across the block of threads\n     * is <tt>{0, 1, 2, 3, ..., 31</tt> and is <tt>{0, 0, 0, 1, 0, 0, 0, 1, ..., 0, 0, 0, 1</tt>,\n     * respectively.  The corresponding output \\p aggregate in threads 0, 4, 8, etc. will be\n     * \\p 6, \\p 22, \\p 38, etc. (and is undefined in other threads).\n     *\n     * \\tparam ReductionOp     <b>[inferred]</b> Binary reduction operator type having member <tt>T operator()(const T &a, const T &b)</tt>\n     */\n    template <\n        typename            Flag>\n    __device__ __forceinline__ T TailSegmentedSum(\n        T                   input,              ///< [in] Calling thread's input\n        Flag                tail_flag)          ///< [in] Head flag denoting whether or not \\p input is the start of a new segment\n    {\n        return TailSegmentedReduce(input, tail_flag, cub::Sum());\n    }\n\n\n\n    //@}  end member group\n    /******************************************************************//**\n     * \\name Generic reductions\n     *********************************************************************/\n    //@{\n\n    /**\n     * \\brief Computes a warp-wide reduction in the calling warp using the specified binary reduction functor.  The output is valid in warp <em>lane</em><sub>0</sub>.\n     *\n     * Supports non-commutative reduction operators\n     *\n     * \\smemreuse\n     *\n     * \\par Snippet\n     * The code snippet below illustrates four concurrent warp max reductions within a block of\n     * 128 threads (one per each of the 32-thread warps).\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>\n     *\n     * __global__ void ExampleKernel(...)\n     * {\n     *     // Specialize WarpReduce for type int\n     *     typedef cub::WarpReduce<int> WarpReduce;\n     *\n     *     // Allocate WarpReduce shared memory for 4 warps\n     *     __shared__ typename WarpReduce::TempStorage temp_storage[4];\n     *\n     *     // Obtain one input item per thread\n     *     int thread_data = ...\n     *\n     *     // Return the warp-wide reductions to each lane0\n     *     int warp_id = threadIdx.x / 32;\n     *     int aggregate = WarpReduce(temp_storage[warp_id]).Reduce(\n     *         thread_data, cub::Max());\n     *\n     * \\endcode\n     * \\par\n     * Suppose the set of input \\p thread_data across the block of threads is <tt>{0, 1, 2, 3, ..., 127}</tt>.\n     * The corresponding output \\p aggregate in threads 0, 32, 64, and 96 will \\p 31, \\p 63,\n     * \\p 95, and \\p 127, respectively  (and is undefined in other threads).\n     *\n     * \\tparam ReductionOp     <b>[inferred]</b> Binary reduction operator type having member <tt>T operator()(const T &a, const T &b)</tt>\n     */\n    template <typename ReductionOp>\n    __device__ __forceinline__ T Reduce(\n        T                   input,              ///< [in] Calling thread's input\n        ReductionOp         reduction_op)       ///< [in] Binary reduction operator\n    {\n        return InternalWarpReduce(temp_storage).Reduce<true, 1>(input, LOGICAL_WARP_THREADS, reduction_op);\n    }\n\n    /**\n     * \\brief Computes a partially-full warp-wide reduction in the calling warp using the specified binary reduction functor.  The output is valid in warp <em>lane</em><sub>0</sub>.\n     *\n     * All threads across the calling warp must agree on the same value for \\p valid_items.  Otherwise the result is undefined.\n     *\n     * Supports non-commutative reduction operators\n     *\n     * \\smemreuse\n     *\n     * \\par Snippet\n     * The code snippet below illustrates a max reduction within a single, partially-full\n     * block of 32 threads (one warp).\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>\n     *\n     * __global__ void ExampleKernel(int *d_data, int valid_items)\n     * {\n     *     // Specialize WarpReduce for type int\n     *     typedef cub::WarpReduce<int> WarpReduce;\n     *\n     *     // Allocate WarpReduce shared memory for one warp\n     *     __shared__ typename WarpReduce::TempStorage temp_storage;\n     *\n     *     // Obtain one input item per thread if in range\n     *     int thread_data;\n     *     if (threadIdx.x < valid_items)\n     *         thread_data = d_data[threadIdx.x];\n     *\n     *     // Return the warp-wide reductions to each lane0\n     *     int aggregate = WarpReduce(temp_storage).Reduce(\n     *         thread_data, cub::Max(), valid_items);\n     *\n     * \\endcode\n     * \\par\n     * Suppose the input \\p d_data is <tt>{0, 1, 2, 3, 4, ...</tt> and \\p valid_items\n     * is \\p 4.  The corresponding output \\p aggregate in thread0 is \\p 3 (and is\n     * undefined in other threads).\n     *\n     * \\tparam ReductionOp     <b>[inferred]</b> Binary reduction operator type having member <tt>T operator()(const T &a, const T &b)</tt>\n     */\n    template <typename ReductionOp>\n    __device__ __forceinline__ T Reduce(\n        T                   input,              ///< [in] Calling thread's input\n        ReductionOp         reduction_op,       ///< [in] Binary reduction operator\n        int                 valid_items)        ///< [in] Total number of valid items in the calling thread's logical warp (may be less than \\p LOGICAL_WARP_THREADS)\n    {\n        // Determine if we don't need bounds checking\n        if (valid_items >= LOGICAL_WARP_THREADS)\n        {\n            return InternalWarpReduce(temp_storage).Reduce<true, 1>(input, valid_items, reduction_op);\n        }\n        else\n        {\n            return InternalWarpReduce(temp_storage).Reduce<false, 1>(input, valid_items, reduction_op);\n        }\n    }\n\n\n    /**\n     * \\brief Computes a segmented reduction in the calling warp where segments are defined by head-flags.  The reduction of each segment is returned to the first lane in that segment (which always includes <em>lane</em><sub>0</sub>).\n     *\n     * Supports non-commutative reduction operators\n     *\n     * \\smemreuse\n     *\n     * \\par Snippet\n     * The code snippet below illustrates a head-segmented warp max\n     * reduction within a block of 32 threads (one warp).\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>\n     *\n     * __global__ void ExampleKernel(...)\n     * {\n     *     // Specialize WarpReduce for type int\n     *     typedef cub::WarpReduce<int> WarpReduce;\n     *\n     *     // Allocate WarpReduce shared memory for one warp\n     *     __shared__ typename WarpReduce::TempStorage temp_storage;\n     *\n     *     // Obtain one input item and flag per thread\n     *     int thread_data = ...\n     *     int head_flag = ...\n     *\n     *     // Return the warp-wide reductions to each lane0\n     *     int aggregate = WarpReduce(temp_storage).HeadSegmentedReduce(\n     *         thread_data, head_flag, cub::Max());\n     *\n     * \\endcode\n     * \\par\n     * Suppose the set of input \\p thread_data and \\p head_flag across the block of threads\n     * is <tt>{0, 1, 2, 3, ..., 31</tt> and is <tt>{1, 0, 0, 0, 1, 0, 0, 0, ..., 1, 0, 0, 0</tt>,\n     * respectively.  The corresponding output \\p aggregate in threads 0, 4, 8, etc. will be\n     * \\p 3, \\p 7, \\p 11, etc. (and is undefined in other threads).\n     *\n     * \\tparam ReductionOp     <b>[inferred]</b> Binary reduction operator type having member <tt>T operator()(const T &a, const T &b)</tt>\n     */\n    template <\n        typename            ReductionOp,\n        typename            Flag>\n    __device__ __forceinline__ T HeadSegmentedReduce(\n        T                   input,              ///< [in] Calling thread's input\n        Flag                head_flag,          ///< [in] Head flag denoting whether or not \\p input is the start of a new segment\n        ReductionOp         reduction_op)       ///< [in] Reduction operator\n    {\n        return InternalWarpReduce(temp_storage).template SegmentedReduce<true>(input, head_flag, reduction_op);\n    }\n\n\n    /**\n     * \\brief Computes a segmented reduction in the calling warp where segments are defined by tail-flags.  The reduction of each segment is returned to the first lane in that segment (which always includes <em>lane</em><sub>0</sub>).\n     *\n     * Supports non-commutative reduction operators\n     *\n     * \\smemreuse\n     *\n     * \\par Snippet\n     * The code snippet below illustrates a tail-segmented warp max\n     * reduction within a block of 32 threads (one warp).\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>\n     *\n     * __global__ void ExampleKernel(...)\n     * {\n     *     // Specialize WarpReduce for type int\n     *     typedef cub::WarpReduce<int> WarpReduce;\n     *\n     *     // Allocate WarpReduce shared memory for one warp\n     *     __shared__ typename WarpReduce::TempStorage temp_storage;\n     *\n     *     // Obtain one input item and flag per thread\n     *     int thread_data = ...\n     *     int tail_flag = ...\n     *\n     *     // Return the warp-wide reductions to each lane0\n     *     int aggregate = WarpReduce(temp_storage).TailSegmentedReduce(\n     *         thread_data, tail_flag, cub::Max());\n     *\n     * \\endcode\n     * \\par\n     * Suppose the set of input \\p thread_data and \\p tail_flag across the block of threads\n     * is <tt>{0, 1, 2, 3, ..., 31</tt> and is <tt>{0, 0, 0, 1, 0, 0, 0, 1, ..., 0, 0, 0, 1</tt>,\n     * respectively.  The corresponding output \\p aggregate in threads 0, 4, 8, etc. will be\n     * \\p 3, \\p 7, \\p 11, etc. (and is undefined in other threads).\n     *\n     * \\tparam ReductionOp     <b>[inferred]</b> Binary reduction operator type having member <tt>T operator()(const T &a, const T &b)</tt>\n     */\n    template <\n        typename            ReductionOp,\n        typename            Flag>\n    __device__ __forceinline__ T TailSegmentedReduce(\n        T                   input,              ///< [in] Calling thread's input\n        Flag                tail_flag,          ///< [in] Tail flag denoting whether or not \\p input is the end of the current segment\n        ReductionOp         reduction_op)       ///< [in] Reduction operator\n    {\n        return InternalWarpReduce(temp_storage).template SegmentedReduce<false>(input, tail_flag, reduction_op);\n    }\n\n\n\n    //@}  end member group\n};\n\n/** @} */       // end group WarpModule\n\n}               // CUB namespace\nCUB_NS_POSTFIX  // Optional outer namespace(s)\n"
  },
  {
    "path": "external/cub-1.3.2/cub/warp/warp_scan.cuh",
    "content": "/******************************************************************************\n * Copyright (c) 2011, Duane Merrill.  All rights reserved.\n * Copyright (c) 2011-2014, NVIDIA CORPORATION.  All rights reserved.\n * \n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *     * Redistributions of source code must retain the above copyright\n *       notice, this list of conditions and the following disclaimer.\n *     * Redistributions in binary form must reproduce the above copyright\n *       notice, this list of conditions and the following disclaimer in the\n *       documentation and/or other materials provided with the distribution.\n *     * Neither the name of the NVIDIA CORPORATION nor the\n *       names of its contributors may be used to endorse or promote products\n *       derived from this software without specific prior written permission.\n * \n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n ******************************************************************************/\n\n/**\n * \\file\n * The cub::WarpScan class provides [<em>collective</em>](index.html#sec0) methods for computing a parallel prefix scan of items partitioned across a CUDA thread warp.\n */\n\n#pragma once\n\n#include \"specializations/warp_scan_shfl.cuh\"\n#include \"specializations/warp_scan_smem.cuh\"\n#include \"../thread/thread_operators.cuh\"\n#include \"../util_arch.cuh\"\n#include \"../util_type.cuh\"\n#include \"../util_namespace.cuh\"\n\n/// Optional outer namespace(s)\nCUB_NS_PREFIX\n\n/// CUB namespace\nnamespace cub {\n\n/**\n * \\addtogroup WarpModule\n * @{\n */\n\n/**\n * \\brief The WarpScan class provides [<em>collective</em>](index.html#sec0) methods for computing a parallel prefix scan of items partitioned across a CUDA thread warp.  ![](warp_scan_logo.png)\n *\n * \\tparam T                        The scan input/output element type\n * \\tparam LOGICAL_WARP_THREADS     <b>[optional]</b> The number of threads per \"logical\" warp (may be less than the number of hardware warp threads).  Default is the warp size associated with the CUDA Compute Capability targeted by the compiler (e.g., 32 threads for SM20).\n * \\tparam PTX_ARCH                 <b>[optional]</b> \\ptxversion\n *\n * \\par Overview\n * - Given a list of input elements and a binary reduction operator, a [<em>prefix scan</em>](http://en.wikipedia.org/wiki/Prefix_sum)\n *   produces an output list where each element is computed to be the reduction\n *   of the elements occurring earlier in the input list.  <em>Prefix sum</em>\n *   connotes a prefix scan with the addition operator. The term \\em inclusive indicates\n *   that the <em>i</em><sup>th</sup> output reduction incorporates the <em>i</em><sup>th</sup> input.\n *   The term \\em exclusive indicates the <em>i</em><sup>th</sup> input is not incorporated into\n *   the <em>i</em><sup>th</sup> output reduction.\n * - Supports \"logical\" warps smaller than the physical warp size (e.g., a logical warp of 8 threads)\n * - The number of entrant threads must be an multiple of \\p LOGICAL_WARP_THREADS\n *\n * \\par Performance Considerations\n * - Uses special instructions when applicable (e.g., warp \\p SHFL)\n * - Uses synchronization-free communication between warp lanes when applicable\n * - Incurs zero bank conflicts for most types\n * - Computation is slightly more efficient (i.e., having lower instruction overhead) for:\n *     - Summation (<b><em>vs.</em></b> generic scan)\n *     - The architecture's warp size is a whole multiple of \\p LOGICAL_WARP_THREADS\n *\n * \\par Simple Examples\n * \\warpcollective{WarpScan}\n * \\par\n * The code snippet below illustrates four concurrent warp prefix sums within a block of\n * 128 threads (one per each of the 32-thread warps).\n * \\par\n * \\code\n * #include <cub/cub.cuh>\n *\n * __global__ void ExampleKernel(...)\n * {\n *     // Specialize WarpScan for type int\n *     typedef cub::WarpScan<int> WarpScan;\n *\n *     // Allocate WarpScan shared memory for 4 warps\n *     __shared__ typename WarpScan::TempStorage temp_storage[4];\n *\n *     // Obtain one input item per thread\n *     int thread_data = ...\n *\n *     // Compute warp-wide prefix sums\n *     int warp_id = threadIdx.x / 32;\n *     WarpScan(temp_storage[warp_id]).ExclusiveSum(thread_data, thread_data);\n *\n * \\endcode\n * \\par\n * Suppose the set of input \\p thread_data across the block of threads is <tt>{1, 1, 1, 1, ...}</tt>.\n * The corresponding output \\p thread_data in each of the four warps of threads will be\n * <tt>0, 1, 2, 3, ..., 31}</tt>.\n *\n * \\par\n * The code snippet below illustrates a single warp prefix sum within a block of\n * 128 threads.\n * \\par\n * \\code\n * #include <cub/cub.cuh>\n *\n * __global__ void ExampleKernel(...)\n * {\n *     // Specialize WarpScan for type int\n *     typedef cub::WarpScan<int> WarpScan;\n *\n *     // Allocate WarpScan shared memory for one warp\n *     __shared__ typename WarpScan::TempStorage temp_storage;\n *     ...\n *\n *     // Only the first warp performs a prefix sum\n *     if (threadIdx.x < 32)\n *     {\n *         // Obtain one input item per thread\n *         int thread_data = ...\n *\n *         // Compute warp-wide prefix sums\n *         WarpScan(temp_storage).ExclusiveSum(thread_data, thread_data);\n *\n * \\endcode\n * \\par\n * Suppose the set of input \\p thread_data across the warp of threads is <tt>{1, 1, 1, 1, ...}</tt>.\n * The corresponding output \\p thread_data will be <tt>{0, 1, 2, 3, ..., 31}</tt>.\n *\n */\ntemplate <\n    typename    T,\n    int         LOGICAL_WARP_THREADS    = CUB_PTX_WARP_THREADS,\n    int         PTX_ARCH                = CUB_PTX_ARCH>\nclass WarpScan\n{\nprivate:\n\n    /******************************************************************************\n     * Constants and type definitions\n     ******************************************************************************/\n\n    enum\n    {\n        /// Whether the logical warp size and the PTX warp size coincide\n        IS_ARCH_WARP = (LOGICAL_WARP_THREADS == CUB_WARP_THREADS(PTX_ARCH)),\n\n        /// Whether the logical warp size is a power-of-two\n        IS_POW_OF_TWO = ((LOGICAL_WARP_THREADS & (LOGICAL_WARP_THREADS - 1)) == 0),\n\n        /// Whether the data type is an integer (which has fully-associative addition)\n        IS_INTEGER = ((Traits<T>::CATEGORY == SIGNED_INTEGER) || (Traits<T>::CATEGORY == UNSIGNED_INTEGER))\n    };\n\n    /// Internal specialization.  Use SHFL-based scan if (architecture is >= SM30) and (LOGICAL_WARP_THREADS is a power-of-two)\n    typedef typename If<(PTX_ARCH >= 300) && (IS_POW_OF_TWO),\n        WarpScanShfl<T, LOGICAL_WARP_THREADS, PTX_ARCH>,\n        WarpScanSmem<T, LOGICAL_WARP_THREADS, PTX_ARCH> >::Type InternalWarpScan;\n\n    /// Shared memory storage layout type for WarpScan\n    typedef typename InternalWarpScan::TempStorage _TempStorage;\n\n\n    /******************************************************************************\n     * Thread fields\n     ******************************************************************************/\n\n    /// Shared storage reference\n    _TempStorage    &temp_storage;\n    int             lane_id;\n\n\n    /******************************************************************************\n     * Utility methods\n     ******************************************************************************/\n\npublic:\n\n    /// \\smemstorage{WarpScan}\n    struct TempStorage : Uninitialized<_TempStorage> {};\n\n\n    /******************************************************************//**\n     * \\name Collective constructors\n     *********************************************************************/\n    //@{\n\n    /**\n     * \\brief Collective constructor using the specified memory allocation as temporary storage.  Logical warp and lane identifiers are constructed from <tt>threadIdx.x</tt>.\n     */\n    __device__ __forceinline__ WarpScan(\n        TempStorage &temp_storage)             ///< [in] Reference to memory allocation having layout type TempStorage\n    :\n        temp_storage(temp_storage.Alias()),\n        lane_id(IS_ARCH_WARP ?\n            LaneId() :\n            LaneId() % LOGICAL_WARP_THREADS)\n    {}\n\n\n    //@}  end member group\n    /******************************************************************//**\n     * \\name Inclusive prefix sums\n     *********************************************************************/\n    //@{\n\n\n    /**\n     * \\brief Computes an inclusive prefix sum across the calling warp.\n     *\n     * \\smemreuse\n     *\n     * \\par Snippet\n     * The code snippet below illustrates four concurrent warp-wide inclusive prefix sums within a block of\n     * 128 threads (one per each of the 32-thread warps).\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>\n     *\n     * __global__ void ExampleKernel(...)\n     * {\n     *     // Specialize WarpScan for type int\n     *     typedef cub::WarpScan<int> WarpScan;\n     *\n     *     // Allocate WarpScan shared memory for 4 warps\n     *     __shared__ typename WarpScan::TempStorage temp_storage[4];\n     *\n     *     // Obtain one input item per thread\n     *     int thread_data = ...\n     *\n     *     // Compute inclusive warp-wide prefix sums\n     *     int warp_id = threadIdx.x / 32;\n     *     WarpScan(temp_storage[warp_id]).InclusiveSum(thread_data, thread_data);\n     *\n     * \\endcode\n     * \\par\n     * Suppose the set of input \\p thread_data across the block of threads is <tt>{1, 1, 1, 1, ...}</tt>.\n     * The corresponding output \\p thread_data in each of the four warps of threads will be\n     * <tt>1, 2, 3, ..., 32}</tt>.\n     */\n    __device__ __forceinline__ void InclusiveSum(\n        T               input,              ///< [in] Calling thread's input item.\n        T               &output)            ///< [out] Calling thread's output item.  May be aliased with \\p input.\n    {\n        InternalWarpScan(temp_storage).InclusiveScan(input, output, cub::Sum());\n    }\n\n\n    /**\n     * \\brief Computes an inclusive prefix sum across the calling warp.  Also provides every thread with the warp-wide \\p warp_aggregate of all inputs.\n     *\n     * The \\p warp_aggregate is undefined in threads other than <em>warp-lane</em><sub>0</sub>.\n     *\n     * \\smemreuse\n     *\n     * \\par Snippet\n     * The code snippet below illustrates four concurrent warp-wide inclusive prefix sums within a block of\n     * 128 threads (one per each of the 32-thread warps).\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>\n     *\n     * __global__ void ExampleKernel(...)\n     * {\n     *     // Specialize WarpScan for type int\n     *     typedef cub::WarpScan<int> WarpScan;\n     *\n     *     // Allocate WarpScan shared memory for 4 warps\n     *     __shared__ typename WarpScan::TempStorage temp_storage[4];\n     *\n     *     // Obtain one input item per thread\n     *     int thread_data = ...\n     *\n     *     // Compute inclusive warp-wide prefix sums\n     *     int warp_aggregate;\n     *     int warp_id = threadIdx.x / 32;\n     *     WarpScan(temp_storage[warp_id]).InclusiveSum(thread_data, thread_data, warp_aggregate);\n     *\n     * \\endcode\n     * \\par\n     * Suppose the set of input \\p thread_data across the block of threads is <tt>{1, 1, 1, 1, ...}</tt>.\n     * The corresponding output \\p thread_data in each of the four warps of threads will be\n     * <tt>1, 2, 3, ..., 32}</tt>.  Furthermore, \\p warp_aggregate for all threads in all warps will be \\p 32.\n     */\n    __device__ __forceinline__ void InclusiveSum(\n        T               input,              ///< [in] Calling thread's input item.\n        T               &output,            ///< [out] Calling thread's output item.  May be aliased with \\p input.\n        T               &warp_aggregate)    ///< [out] Warp-wide aggregate reduction of input items.\n    {\n        InternalWarpScan(temp_storage).InclusiveScan(input, output, cub::Sum(), warp_aggregate);\n    }\n\n\n    /**\n     * \\brief Computes an inclusive prefix sum across the calling warp.  Instead of using 0 as the warp-wide prefix, the call-back functor \\p warp_prefix_op is invoked to provide the \"seed\" value that logically prefixes the warp's scan inputs.  Also provides every thread with the warp-wide \\p warp_aggregate of all inputs.\n     *\n     * The \\p warp_aggregate is undefined in threads other than <em>warp-lane</em><sub>0</sub>.\n     *\n     * The \\p warp_prefix_op functor must implement a member function <tt>T operator()(T warp_aggregate)</tt>.\n     * The functor's input parameter \\p warp_aggregate is the same value also returned by the scan operation.\n     * The functor will be invoked by the entire warp of threads, however only the return value from\n     * <em>lane</em><sub>0</sub> is applied as the threadblock-wide prefix.  Can be stateful.\n     *\n     * \\smemreuse\n     *\n     * \\par Snippet\n     * The code snippet below illustrates a single thread block of 32 threads (one warp) that progressively\n     * computes an inclusive prefix sum over multiple \"tiles\" of input using a\n     * prefix functor to maintain a running total between block-wide scans.  Each tile consists\n     * of 32 integer items that are partitioned across the warp.\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>\n     *\n     * // A stateful callback functor that maintains a running prefix to be applied\n     * // during consecutive scan operations.\n     * struct WarpPrefixCallbackOp\n     * {\n     *     // Running prefix\n     *     int running_total;\n     *\n     *     // Constructor\n     *     __device__ WarpPrefixCallbackOp(int running_total) : running_total(running_total) {}\n     *\n     *     // Callback operator to be entered by the entire warp. Lane-0 is responsible\n     *     // for returning a value for seeding the warp-wide scan.\n     *     __device__ int operator()(int warp_aggregate)\n     *     {\n     *         int old_prefix = running_total;\n     *         running_total += warp_aggregate;\n     *         return old_prefix;\n     *     }\n     * };\n     *\n     * __global__ void ExampleKernel(int *d_data, int num_items, ...)\n     * {\n     *     // Specialize WarpScan for int\n     *     typedef cub::WarpScan<int> WarpScan;\n     *\n     *     // Allocate WarpScan shared memory for one warp\n     *     __shared__ typename WarpScan::TempStorage temp_storage;\n     *\n     *     // Initialize running total\n     *     WarpPrefixCallbackOp prefix_op(0);\n     *\n     *     // Have the warp iterate over segments of items\n     *     for (int block_offset = 0; block_offset < num_items; block_offset += 32)\n     *     {\n     *         // Load a segment of consecutive items\n     *         int thread_data = d_data[block_offset];\n     *\n     *         // Collectively compute the warp-wide inclusive prefix sum\n     *         int warp_aggregate;\n     *         WarpScan(temp_storage).InclusiveSum(\n     *             thread_data, thread_data, warp_aggregate, prefix_op);\n     *\n     *         // Store scanned items to output segment\n     *         d_data[block_offset] = thread_data;\n     *     }\n     * \\endcode\n     * \\par\n     * Suppose the input \\p d_data is <tt>{1, 1, 1, 1, 1, 1, 1, 1, ...}</tt>.\n     * The corresponding output for the first segment will be <tt>{1, 2, 3, ..., 32}</tt>.\n     * The output for the second segment will be <tt>{33, 34, 35, ..., 64}</tt>.  Furthermore,\n     * the value \\p 32 will be stored in \\p warp_aggregate for all threads after each scan.\n     *\n     * \\tparam WarpPrefixCallbackOp                 <b>[inferred]</b> Call-back functor type having member <tt>T operator()(T warp_aggregate)</tt>\n     */\n    template <typename WarpPrefixCallbackOp>\n    __device__ __forceinline__ void InclusiveSum(\n        T                       input,              ///< [in] Calling thread's input item.\n        T                       &output,            ///< [out] Calling thread's output item.  May be aliased with \\p input.\n        T                       &warp_aggregate,    ///< [out] <b>[<em>warp-lane</em><sub>0</sub> only]</b> Warp-wide aggregate reduction of input items, exclusive of the \\p warp_prefix_op value\n        WarpPrefixCallbackOp    &warp_prefix_op)    ///< [in-out] <b>[<em>warp-lane</em><sub>0</sub> only]</b> Call-back functor for specifying a warp-wide prefix to be applied to all inputs.\n    {\n        // Compute inclusive warp scan\n        InclusiveSum(input, output, warp_aggregate);\n\n        // Compute warp-wide prefix from aggregate, then broadcast to other lanes\n        T prefix;\n        prefix = warp_prefix_op(warp_aggregate);\n        prefix = InternalWarpScan(temp_storage).Broadcast(prefix, 0);\n\n        // Update output\n        output = prefix + output;\n    }\n\n    //@}  end member group\n\nprivate:\n\n    /// Combination scan with identity\n    __device__ __forceinline__ void Sum(T input, T &inclusive_output, T &exclusive_output, Int2Type<true> is_integer)\n    {\n        // Compute exclusive warp scan from inclusive warp scan\n        InclusiveSum(input, inclusive_output);\n        exclusive_output = inclusive_output - input;\n    }\n\n    /// Combination scan with identity\n    __device__ __forceinline__ void Sum(T input, T &inclusive_output, T &exclusive_output, Int2Type<false> is_integer)\n    {\n        // Delegate to regular scan for non-integer types (because we won't be able to use subtraction)\n        T identity = ZeroInitialize<T>();\n        InternalWarpScan(temp_storage).Scan(input, inclusive_output, exclusive_output, identity, cub::Sum());\n    }\n\n    /// Computes an exclusive prefix sum across the calling warp.\n    __device__ __forceinline__ void ExclusiveSum(T input, T &output, Int2Type<true> is_integer)\n    {\n        // Compute exclusive warp scan from inclusive warp scan\n        T inclusive;\n        InclusiveSum(input, inclusive);\n        output = inclusive - input;\n    }\n\n    /// Computes an exclusive prefix sum across the calling warp.  Specialized for non-integer types.\n    __device__ __forceinline__ void ExclusiveSum(T input, T &output, Int2Type<false> is_integer)\n    {\n        // Delegate to regular scan for non-integer types (because we won't be able to use subtraction)\n        T identity = ZeroInitialize<T>();\n        ExclusiveScan(input, output, identity, cub::Sum());\n    }\n\n    /// Computes an exclusive prefix sum across the calling warp.  Also provides every thread with the warp-wide \\p warp_aggregate of all inputs.\n    __device__ __forceinline__ void ExclusiveSum(T input, T &output, T &warp_aggregate, Int2Type<true> is_integer)\n    {\n        // Compute exclusive warp scan from inclusive warp scan\n        T inclusive;\n        InclusiveSum(input, inclusive, warp_aggregate);\n        output = inclusive - input;\n    }\n\n    /// Computes an exclusive prefix sum across the calling warp.  Also provides every thread with the warp-wide \\p warp_aggregate of all inputs.  Specialized for non-integer types.\n    __device__ __forceinline__ void ExclusiveSum(T input, T &output, T &warp_aggregate, Int2Type<false> is_integer)\n    {\n        // Delegate to regular scan for non-integer types (because we won't be able to use subtraction)\n        T identity = ZeroInitialize<T>();\n        ExclusiveScan(input, output, identity, cub::Sum(), warp_aggregate);\n    }\n\n    /// Computes an exclusive prefix sum across the calling warp.  Instead of using 0 as the warp-wide prefix, the call-back functor \\p warp_prefix_op is invoked to provide the \"seed\" value that logically prefixes the warp's scan inputs.  Also provides every thread with the warp-wide \\p warp_aggregate of all inputs.\n    template <typename WarpPrefixCallbackOp>\n    __device__ __forceinline__ void ExclusiveSum(T input, T &output, T &warp_aggregate, WarpPrefixCallbackOp &warp_prefix_op, Int2Type<true> is_integer)\n    {\n        // Compute exclusive warp scan from inclusive warp scan\n        T inclusive;\n        InclusiveSum(input, inclusive, warp_aggregate, warp_prefix_op);\n        output = inclusive - input;\n    }\n\n    /// Computes an exclusive prefix sum across the calling warp.  Instead of using 0 as the warp-wide prefix, the call-back functor \\p warp_prefix_op is invoked to provide the \"seed\" value that logically prefixes the warp's scan inputs.  Also provides every thread with the warp-wide \\p warp_aggregate of all inputs.  Specialized for non-integer types.\n    template <typename WarpPrefixCallbackOp>\n    __device__ __forceinline__ void ExclusiveSum(T input, T &output, T &warp_aggregate, WarpPrefixCallbackOp &warp_prefix_op, Int2Type<false> is_integer)\n    {\n        // Delegate to regular scan for non-integer types (because we won't be able to use subtraction)\n        T identity = ZeroInitialize<T>();\n        ExclusiveScan(input, output, identity, cub::Sum(), warp_aggregate, warp_prefix_op);\n    }\n\npublic:\n\n\n    /******************************************************************//**\n     * \\name Exclusive prefix sums\n     *********************************************************************/\n    //@{\n\n\n    /**\n     * \\brief Computes an exclusive prefix sum across the calling warp.\n     *\n     * This operation assumes the value of obtained by the <tt>T</tt>'s default\n     * constructor (or by zero-initialization if no user-defined default\n     * constructor exists) is suitable as the identity value \"zero\" for\n     * addition.\n     *\n     * \\smemreuse\n     *\n     * \\par Snippet\n     * The code snippet below illustrates four concurrent warp-wide exclusive prefix sums within a block of\n     * 128 threads (one per each of the 32-thread warps).\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>\n     *\n     * __global__ void ExampleKernel(...)\n     * {\n     *     // Specialize WarpScan for type int\n     *     typedef cub::WarpScan<int> WarpScan;\n     *\n     *     // Allocate WarpScan shared memory for 4 warps\n     *     __shared__ typename WarpScan::TempStorage temp_storage[4];\n     *\n     *     // Obtain one input item per thread\n     *     int thread_data = ...\n     *\n     *     // Compute exclusive warp-wide prefix sums\n     *     int warp_id = threadIdx.x / 32;\n     *     WarpScan(temp_storage[warp_id]).ExclusiveSum(thread_data, thread_data);\n     *\n     * \\endcode\n     * \\par\n     * Suppose the set of input \\p thread_data across the block of threads is <tt>{1, 1, 1, 1, ...}</tt>.\n     * The corresponding output \\p thread_data in each of the four warps of threads will be\n     * <tt>0, 1, 2, ..., 31}</tt>.\n     *\n     */\n    __device__ __forceinline__ void ExclusiveSum(\n        T               input,              ///< [in] Calling thread's input item.\n        T               &output)            ///< [out] Calling thread's output item.  May be aliased with \\p input.\n    {\n        ExclusiveSum(input, output, Int2Type<IS_INTEGER>());\n    }\n\n\n    /**\n     * \\brief Computes an exclusive prefix sum across the calling warp.  Also provides every thread with the warp-wide \\p warp_aggregate of all inputs.\n     *\n     * This operation assumes the value of obtained by the <tt>T</tt>'s default\n     * constructor (or by zero-initialization if no user-defined default\n     * constructor exists) is suitable as the identity value \"zero\" for\n     * addition.\n     *\n     * \\smemreuse\n     *\n     * \\par Snippet\n     * The code snippet below illustrates four concurrent warp-wide exclusive prefix sums within a block of\n     * 128 threads (one per each of the 32-thread warps).\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>\n     *\n     * __global__ void ExampleKernel(...)\n     * {\n     *     // Specialize WarpScan for type int\n     *     typedef cub::WarpScan<int> WarpScan;\n     *\n     *     // Allocate WarpScan shared memory for 4 warps\n     *     __shared__ typename WarpScan::TempStorage temp_storage[4];\n     *\n     *     // Obtain one input item per thread\n     *     int thread_data = ...\n     *\n     *     // Compute exclusive warp-wide prefix sums\n     *     int warp_aggregate;\n     *     int warp_id = threadIdx.x / 32;\n     *     WarpScan(temp_storage[warp_id]).ExclusiveSum(thread_data, thread_data, warp_aggregate);\n     *\n     * \\endcode\n     * \\par\n     * Suppose the set of input \\p thread_data across the block of threads is <tt>{1, 1, 1, 1, ...}</tt>.\n     * The corresponding output \\p thread_data in each of the four warps of threads will be\n     * <tt>0, 1, 2, ..., 31}</tt>.  Furthermore, \\p warp_aggregate for all threads in all warps will be \\p 32.\n     */\n    __device__ __forceinline__ void ExclusiveSum(\n        T               input,              ///< [in] Calling thread's input item.\n        T               &output,            ///< [out] Calling thread's output item.  May be aliased with \\p input.\n        T               &warp_aggregate)    ///< [out] Warp-wide aggregate reduction of input items.\n    {\n        ExclusiveSum(input, output, warp_aggregate, Int2Type<IS_INTEGER>());\n    }\n\n\n    /**\n     * \\brief Computes an exclusive prefix sum across the calling warp.  Instead of using 0 as the warp-wide prefix, the call-back functor \\p warp_prefix_op is invoked to provide the \"seed\" value that logically prefixes the warp's scan inputs.  Also provides every thread with the warp-wide \\p warp_aggregate of all inputs.\n     *\n     * This operation assumes the value of obtained by the <tt>T</tt>'s default\n     * constructor (or by zero-initialization if no user-defined default\n     * constructor exists) is suitable as the identity value \"zero\" for\n     * addition.\n     *\n     * The \\p warp_prefix_op functor must implement a member function <tt>T operator()(T warp_aggregate)</tt>.\n     * The functor's input parameter \\p warp_aggregate is the same value also returned by the scan operation.\n     * The functor will be invoked by the entire warp of threads, however only the return value from\n     * <em>lane</em><sub>0</sub> is applied as the threadblock-wide prefix.  Can be stateful.\n     *\n     * \\smemreuse\n     *\n     * \\par Snippet\n     * The code snippet below illustrates a single thread block of 32 threads (one warp) that progressively\n     * computes an exclusive prefix sum over multiple \"tiles\" of input using a\n     * prefix functor to maintain a running total between block-wide scans.  Each tile consists\n     * of 32 integer items that are partitioned across the warp.\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>\n     *\n     * // A stateful callback functor that maintains a running prefix to be applied\n     * // during consecutive scan operations.\n     * struct WarpPrefixCallbackOp\n     * {\n     *     // Running prefix\n     *     int running_total;\n     *\n     *     // Constructor\n     *     __device__ WarpPrefixCallbackOp(int running_total) : running_total(running_total) {}\n     *\n     *     // Callback operator to be entered by the entire warp. Lane-0 is responsible\n     *     // for returning a value for seeding the warp-wide scan.\n     *     __device__ int operator()(int warp_aggregate)\n     *     {\n     *         int old_prefix = running_total;\n     *         running_total += warp_aggregate;\n     *         return old_prefix;\n     *     }\n     * };\n     *\n     * __global__ void ExampleKernel(int *d_data, int num_items, ...)\n     * {\n     *     // Specialize WarpScan for int\n     *     typedef cub::WarpScan<int> WarpScan;\n     *\n     *     // Allocate WarpScan shared memory for one warp\n     *     __shared__ typename WarpScan::TempStorage temp_storage;\n     *\n     *     // Initialize running total\n     *     WarpPrefixCallbackOp prefix_op(0);\n     *\n     *     // Have the warp iterate over segments of items\n     *     for (int block_offset = 0; block_offset < num_items; block_offset += 32)\n     *     {\n     *         // Load a segment of consecutive items\n     *         int thread_data = d_data[block_offset];\n     *\n     *         // Collectively compute the warp-wide exclusive prefix sum\n     *         int warp_aggregate;\n     *         WarpScan(temp_storage).ExclusiveSum(\n     *             thread_data, thread_data, warp_aggregate, prefix_op);\n     *\n     *         // Store scanned items to output segment\n     *         d_data[block_offset] = thread_data;\n     *     }\n     * \\endcode\n     * \\par\n     * Suppose the input \\p d_data is <tt>{1, 1, 1, 1, 1, 1, 1, 1, ...}</tt>.\n     * The corresponding output for the first segment will be <tt>{0, 1, 2, ..., 31}</tt>.\n     * The output for the second segment will be <tt>{32, 33, 34, ..., 63}</tt>.  Furthermore,\n     * the value \\p 32 will be stored in \\p warp_aggregate for all threads after each scan.\n     *\n     * \\tparam WarpPrefixCallbackOp                 <b>[inferred]</b> Call-back functor type having member <tt>T operator()(T warp_aggregate)</tt>\n     */\n    template <typename WarpPrefixCallbackOp>\n    __device__ __forceinline__ void ExclusiveSum(\n        T                       input,              ///< [in] Calling thread's input item.\n        T                       &output,            ///< [out] Calling thread's output item.  May be aliased with \\p input.\n        T                       &warp_aggregate,    ///< [out] <b>[<em>warp-lane</em><sub>0</sub> only]</b> Warp-wide aggregate reduction of input items (exclusive of the \\p warp_prefix_op value).\n        WarpPrefixCallbackOp    &warp_prefix_op)    ///< [in-out] <b>[<em>warp-lane</em><sub>0</sub> only]</b> Call-back functor for specifying a warp-wide prefix to be applied to all inputs.\n    {\n        ExclusiveSum(input, output, warp_aggregate, warp_prefix_op, Int2Type<IS_INTEGER>());\n    }\n\n\n    //@}  end member group\n    /******************************************************************//**\n     * \\name Inclusive prefix scans\n     *********************************************************************/\n    //@{\n\n    /**\n     * \\brief Computes an inclusive prefix scan using the specified binary scan functor across the calling warp.\n     *\n     * Supports non-commutative scan operators.\n     *\n     * \\smemreuse\n     *\n     * \\par Snippet\n     * The code snippet below illustrates four concurrent warp-wide inclusive prefix max scans within a block of\n     * 128 threads (one per each of the 32-thread warps).\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>\n     *\n     * __global__ void ExampleKernel(...)\n     * {\n     *     // Specialize WarpScan for type int\n     *     typedef cub::WarpScan<int> WarpScan;\n     *\n     *     // Allocate WarpScan shared memory for 4 warps\n     *     __shared__ typename WarpScan::TempStorage temp_storage[4];\n     *\n     *     // Obtain one input item per thread\n     *     int thread_data = ...\n     *\n     *     // Compute inclusive warp-wide prefix max scans\n     *     int warp_id = threadIdx.x / 32;\n     *     WarpScan(temp_storage[warp_id]).InclusiveScan(thread_data, thread_data, cub::Max());\n     *\n     * \\endcode\n     * \\par\n     * Suppose the set of input \\p thread_data across the block of threads is <tt>{0, -1, 2, -3, ..., 126, -127}</tt>.\n     * The corresponding output \\p thread_data in the first warp would be\n     * <tt>0, 0, 2, 2, ..., 30, 30</tt>, the output for the second warp would be <tt>32, 32, 34, 34, ..., 62, 62</tt>, etc.\n     *\n     * \\tparam ScanOp     <b>[inferred]</b> Binary scan operator type having member <tt>T operator()(const T &a, const T &b)</tt>\n     */\n    template <typename ScanOp>\n    __device__ __forceinline__ void InclusiveScan(\n        T               input,              ///< [in] Calling thread's input item.\n        T               &output,            ///< [out] Calling thread's output item.  May be aliased with \\p input.\n        ScanOp          scan_op)            ///< [in] Binary scan operator\n    {\n        InternalWarpScan(temp_storage).InclusiveScan(input, output, scan_op);\n    }\n\n\n    /**\n     * \\brief Computes an inclusive prefix scan using the specified binary scan functor across the calling warp.  Also provides every thread with the warp-wide \\p warp_aggregate of all inputs.\n     *\n     * Supports non-commutative scan operators.\n     *\n     * \\smemreuse\n     *\n     * \\par Snippet\n     * The code snippet below illustrates four concurrent warp-wide inclusive prefix max scans within a block of\n     * 128 threads (one per each of the 32-thread warps).\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>\n     *\n     * __global__ void ExampleKernel(...)\n     * {\n     *     // Specialize WarpScan for type int\n     *     typedef cub::WarpScan<int> WarpScan;\n     *\n     *     // Allocate WarpScan shared memory for 4 warps\n     *     __shared__ typename WarpScan::TempStorage temp_storage[4];\n     *\n     *     // Obtain one input item per thread\n     *     int thread_data = ...\n     *\n     *     // Compute inclusive warp-wide prefix max scans\n     *     int warp_aggregate;\n     *     int warp_id = threadIdx.x / 32;\n     *     WarpScan(temp_storage[warp_id]).InclusiveScan(\n     *         thread_data, thread_data, cub::Max(), warp_aggregate);\n     *\n     * \\endcode\n     * \\par\n     * Suppose the set of input \\p thread_data across the block of threads is <tt>{0, -1, 2, -3, ..., 126, -127}</tt>.\n     * The corresponding output \\p thread_data in the first warp would be\n     * <tt>0, 0, 2, 2, ..., 30, 30</tt>, the output for the second warp would be <tt>32, 32, 34, 34, ..., 62, 62</tt>, etc.\n     * Furthermore, \\p warp_aggregate would be assigned \\p 30 for threads in the first warp, \\p 62 for threads\n     * in the second warp, etc.\n     *\n     * \\tparam ScanOp     <b>[inferred]</b> Binary scan operator type having member <tt>T operator()(const T &a, const T &b)</tt>\n     */\n    template <typename ScanOp>\n    __device__ __forceinline__ void InclusiveScan(\n        T               input,              ///< [in] Calling thread's input item.\n        T               &output,            ///< [out] Calling thread's output item.  May be aliased with \\p input.\n        ScanOp          scan_op,            ///< [in] Binary scan operator\n        T               &warp_aggregate)    ///< [out] Warp-wide aggregate reduction of input items.\n    {\n        InternalWarpScan(temp_storage).InclusiveScan(input, output, scan_op, warp_aggregate);\n    }\n\n\n    /**\n     * \\brief Computes an inclusive prefix scan using the specified binary scan functor across the calling warp.  The call-back functor \\p warp_prefix_op is invoked to provide the \"seed\" value that logically prefixes the warp's scan inputs.  Also provides every thread with the warp-wide \\p warp_aggregate of all inputs.\n     *\n     * The \\p warp_prefix_op functor must implement a member function <tt>T operator()(T warp_aggregate)</tt>.\n     * The functor's input parameter \\p warp_aggregate is the same value also returned by the scan operation.\n     * The functor will be invoked by the entire warp of threads, however only the return value from\n     * <em>lane</em><sub>0</sub> is applied as the threadblock-wide prefix.  Can be stateful.\n     *\n     * Supports non-commutative scan operators.\n     *\n     * \\smemreuse\n     *\n     * \\par Snippet\n     * The code snippet below illustrates a single thread block of 32 threads (one warp) that progressively\n     * computes an inclusive prefix max scan over multiple \"tiles\" of input using a\n     * prefix functor to maintain a running total between block-wide scans.  Each tile consists\n     * of 32 integer items that are partitioned across the warp.\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>\n     *\n     * // A stateful callback functor that maintains a running prefix to be applied\n     * // during consecutive scan operations.\n     * struct WarpPrefixCallbackOp\n     * {\n     *     // Running prefix\n     *     int running_total;\n     *\n     *     // Constructor\n     *     __device__ WarpPrefixCallbackOp(int running_total) : running_total(running_total) {}\n     *\n     *     // Callback operator to be entered by the entire warp. Lane-0 is responsible\n     *     // for returning a value for seeding the warp-wide scan.\n     *     __device__ int operator()(int warp_aggregate)\n     *     {\n     *         int old_prefix = running_total;\n     *         running_total = (warp_aggregate > old_prefix) ? warp_aggregate : old_prefix;\n     *         return old_prefix;\n     *     }\n     * };\n     *\n     * __global__ void ExampleKernel(int *d_data, int num_items, ...)\n     * {\n     *     // Specialize WarpScan for int\n     *     typedef cub::WarpScan<int> WarpScan;\n     *\n     *     // Allocate WarpScan shared memory for one warp\n     *     __shared__ typename WarpScan::TempStorage temp_storage;\n     *\n     *     // Initialize running total\n     *     WarpPrefixCallbackOp prefix_op(0);\n     *\n     *     // Have the warp iterate over segments of items\n     *     for (int block_offset = 0; block_offset < num_items; block_offset += 32)\n     *     {\n     *         // Load a segment of consecutive items\n     *         int thread_data = d_data[block_offset];\n     *\n     *         // Collectively compute the warp-wide inclusive prefix max scan\n     *         int warp_aggregate;\n     *         WarpScan(temp_storage).InclusiveScan(\n     *             thread_data, thread_data, cub::Max(), warp_aggregate, prefix_op);\n     *\n     *         // Store scanned items to output segment\n     *         d_data[block_offset] = thread_data;\n     *     }\n     * \\endcode\n     * \\par\n     * Suppose the input \\p d_data is <tt>{0, -1, 2, -3, 4, -5, ...}</tt>.\n     * The corresponding output for the first segment will be <tt>{0, 0, 2, 2, ..., 30, 30}</tt>.\n     * The output for the second segment will be <tt>{32, 32, 34, 34, ..., 62, 62}</tt>.  Furthermore,\n     * \\p block_aggregate will be assigned \\p 30 in all threads after the first scan, assigned \\p 62 after the second\n     * scan, etc.\n     *\n     * \\tparam ScanOp                       <b>[inferred]</b> Binary scan operator type having member <tt>T operator()(const T &a, const T &b)</tt>\n     * \\tparam WarpPrefixCallbackOp                 <b>[inferred]</b> Call-back functor type having member <tt>T operator()(T warp_aggregate)</tt>\n     */\n    template <\n        typename ScanOp,\n        typename WarpPrefixCallbackOp>\n    __device__ __forceinline__ void InclusiveScan(\n        T                       input,              ///< [in] Calling thread's input item.\n        T                       &output,            ///< [out] Calling thread's output item.  May be aliased with \\p input.\n        ScanOp                  scan_op,            ///< [in] Binary scan operator\n        T                       &warp_aggregate,    ///< [out] <b>[<em>warp-lane</em><sub>0</sub> only]</b> Warp-wide aggregate reduction of input items (exclusive of the \\p warp_prefix_op value).\n        WarpPrefixCallbackOp    &warp_prefix_op)    ///< [in-out] <b>[<em>warp-lane</em><sub>0</sub> only]</b> Call-back functor for specifying a warp-wide prefix to be applied to all inputs.\n    {\n        // Compute inclusive warp scan\n        InclusiveScan(input, output, scan_op, warp_aggregate);\n\n        // Compute warp-wide prefix from aggregate, then broadcast to other lanes\n        T prefix;\n        prefix = warp_prefix_op(warp_aggregate);\n        prefix = InternalWarpScan(temp_storage).Broadcast(prefix, 0);\n\n        // Update output\n        output = scan_op(prefix, output);\n    }\n\n\n    //@}  end member group\n    /******************************************************************//**\n     * \\name Exclusive prefix scans\n     *********************************************************************/\n    //@{\n\n    /**\n     * \\brief Computes an exclusive prefix scan using the specified binary scan functor across the calling warp.\n     *\n     * Supports non-commutative scan operators.\n     *\n     * \\smemreuse\n     *\n     * \\par Snippet\n     * The code snippet below illustrates four concurrent warp-wide exclusive prefix max scans within a block of\n     * 128 threads (one per each of the 32-thread warps).\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>\n     *\n     * __global__ void ExampleKernel(...)\n     * {\n     *     // Specialize WarpScan for type int\n     *     typedef cub::WarpScan<int> WarpScan;\n     *\n     *     // Allocate WarpScan shared memory for 4 warps\n     *     __shared__ typename WarpScan::TempStorage temp_storage[4];\n     *\n     *     // Obtain one input item per thread\n     *     int thread_data = ...\n     *\n     *     // Compute exclusive warp-wide prefix max scans\n     *     int warp_id = threadIdx.x / 32;\n     *     WarpScan(temp_storage[warp_id]).ExclusiveScan(thread_data, thread_data, INT_MIN, cub::Max());\n     *\n     * \\endcode\n     * \\par\n     * Suppose the set of input \\p thread_data across the block of threads is <tt>{0, -1, 2, -3, ..., 126, -127}</tt>.\n     * The corresponding output \\p thread_data in the first warp would be\n     * <tt>INT_MIN, 0, 0, 2, ..., 28, 30</tt>, the output for the second warp would be <tt>30, 32, 32, 34, ..., 60, 62</tt>, etc.\n     *\n     * \\tparam ScanOp     <b>[inferred]</b> Binary scan operator type having member <tt>T operator()(const T &a, const T &b)</tt>\n     */\n    template <typename ScanOp>\n    __device__ __forceinline__ void ExclusiveScan(\n        T               input,              ///< [in] Calling thread's input item.\n        T               &output,            ///< [out] Calling thread's output item.  May be aliased with \\p input.\n        T               identity,           ///< [in] Identity value\n        ScanOp          scan_op)            ///< [in] Binary scan operator\n    {\n        T inclusive_output;\n        InternalWarpScan(temp_storage).Scan(input, inclusive_output, output, identity, scan_op);\n    }\n\n\n    /**\n     * \\brief Computes an exclusive prefix scan using the specified binary scan functor across the calling warp.  Also provides every thread with the warp-wide \\p warp_aggregate of all inputs.\n     *\n     * Supports non-commutative scan operators.\n     *\n     * \\smemreuse\n     *\n     * \\par Snippet\n     * The code snippet below illustrates four concurrent warp-wide exclusive prefix max scans within a block of\n     * 128 threads (one per each of the 32-thread warps).\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>\n     *\n     * __global__ void ExampleKernel(...)\n     * {\n     *     // Specialize WarpScan for type int\n     *     typedef cub::WarpScan<int> WarpScan;\n     *\n     *     // Allocate WarpScan shared memory for 4 warps\n     *     __shared__ typename WarpScan::TempStorage temp_storage[4];\n     *\n     *     // Obtain one input item per thread\n     *     int thread_data = ...\n     *\n     *     // Compute exclusive warp-wide prefix max scans\n     *     int warp_aggregate;\n     *     int warp_id = threadIdx.x / 32;\n     *     WarpScan(temp_storage[warp_id]).ExclusiveScan(thread_data, thread_data, INT_MIN, cub::Max(), warp_aggregate);\n     *\n     * \\endcode\n     * \\par\n     * Suppose the set of input \\p thread_data across the block of threads is <tt>{0, -1, 2, -3, ..., 126, -127}</tt>.\n     * The corresponding output \\p thread_data in the first warp would be\n     * <tt>INT_MIN, 0, 0, 2, ..., 28, 30</tt>, the output for the second warp would be <tt>30, 32, 32, 34, ..., 60, 62</tt>, etc.\n     * Furthermore, \\p warp_aggregate would be assigned \\p 30 for threads in the first warp, \\p 62 for threads\n     * in the second warp, etc.\n     *\n     * \\tparam ScanOp     <b>[inferred]</b> Binary scan operator type having member <tt>T operator()(const T &a, const T &b)</tt>\n     */\n    template <typename ScanOp>\n    __device__ __forceinline__ void ExclusiveScan(\n        T               input,              ///< [in] Calling thread's input item.\n        T               &output,            ///< [out] Calling thread's output item.  May be aliased with \\p input.\n        T               identity,           ///< [in] Identity value\n        ScanOp          scan_op,            ///< [in] Binary scan operator\n        T               &warp_aggregate)    ///< [out] Warp-wide aggregate reduction of input items.\n    {\n        InternalWarpScan(temp_storage).ExclusiveScan(input, output, identity, scan_op, warp_aggregate);\n    }\n\n\n    /**\n     * \\brief Computes an exclusive prefix scan using the specified binary scan functor across the calling warp.  The call-back functor \\p warp_prefix_op is invoked to provide the \"seed\" value that logically prefixes the warp's scan inputs.  Also provides every thread with the warp-wide \\p warp_aggregate of all inputs.\n     *\n     * The \\p warp_prefix_op functor must implement a member function <tt>T operator()(T warp_aggregate)</tt>.\n     * The functor's input parameter \\p warp_aggregate is the same value also returned by the scan operation.\n     * The functor will be invoked by the entire warp of threads, however only the return value from\n     * <em>lane</em><sub>0</sub> is applied as the threadblock-wide prefix.  Can be stateful.\n     *\n     * Supports non-commutative scan operators.\n     *\n     * \\smemreuse\n     *\n     * \\par Snippet\n     * The code snippet below illustrates a single thread block of 32 threads (one warp) that progressively\n     * computes an exclusive prefix max scan over multiple \"tiles\" of input using a\n     * prefix functor to maintain a running total between block-wide scans.  Each tile consists\n     * of 32 integer items that are partitioned across the warp.\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>\n     *\n     * // A stateful callback functor that maintains a running prefix to be applied\n     * // during consecutive scan operations.\n     * struct WarpPrefixCallbackOp\n     * {\n     *     // Running prefix\n     *     int running_total;\n     *\n     *     // Constructor\n     *     __device__ WarpPrefixCallbackOp(int running_total) : running_total(running_total) {}\n     *\n     *     // Callback operator to be entered by the entire warp. Lane-0 is responsible\n     *     // for returning a value for seeding the warp-wide scan.\n     *     __device__ int operator()(int warp_aggregate)\n     *     {\n     *         int old_prefix = running_total;\n     *         running_total = (warp_aggregate > old_prefix) ? warp_aggregate : old_prefix;\n     *         return old_prefix;\n     *     }\n     * };\n     *\n     * __global__ void ExampleKernel(int *d_data, int num_items, ...)\n     * {\n     *     // Specialize WarpScan for int\n     *     typedef cub::WarpScan<int> WarpScan;\n     *\n     *     // Allocate WarpScan shared memory for one warp\n     *     __shared__ typename WarpScan::TempStorage temp_storage;\n     *\n     *     // Initialize running total\n     *     WarpPrefixCallbackOp prefix_op(INT_MIN);\n     *\n     *     // Have the warp iterate over segments of items\n     *     for (int block_offset = 0; block_offset < num_items; block_offset += 32)\n     *     {\n     *         // Load a segment of consecutive items\n     *         int thread_data = d_data[block_offset];\n     *\n     *         // Collectively compute the warp-wide exclusive prefix max scan\n     *         int warp_aggregate;\n     *         WarpScan(temp_storage).ExclusiveScan(\n     *             thread_data, thread_data, INT_MIN, cub::Max(), warp_aggregate, prefix_op);\n     *\n     *         // Store scanned items to output segment\n     *         d_data[block_offset] = thread_data;\n     *     }\n     * \\endcode\n     * \\par\n     * Suppose the input \\p d_data is <tt>{0, -1, 2, -3, 4, -5, ...}</tt>.\n     * The corresponding output for the first segment will be <tt>{INT_MIN, 0, 0, 2, ..., 28, 30}</tt>.\n     * The output for the second segment will be <tt>{30, 32, 32, 34, ..., 60, 62}</tt>.  Furthermore,\n     * \\p block_aggregate will be assigned \\p 30 in all threads after the first scan, assigned \\p 62 after the second\n     * scan, etc.\n     *\n     * \\tparam ScanOp                       <b>[inferred]</b> Binary scan operator type having member <tt>T operator()(const T &a, const T &b)</tt>\n     * \\tparam WarpPrefixCallbackOp                 <b>[inferred]</b> Call-back functor type having member <tt>T operator()(T warp_aggregate)</tt>\n     */\n    template <\n        typename ScanOp,\n        typename WarpPrefixCallbackOp>\n    __device__ __forceinline__ void ExclusiveScan(\n        T                       input,              ///< [in] Calling thread's input item.\n        T                       &output,            ///< [out] Calling thread's output item.  May be aliased with \\p input.\n        T                       identity,           ///< [in] Identity value\n        ScanOp                  scan_op,            ///< [in] Binary scan operator\n        T                       &warp_aggregate,    ///< [out] <b>[<em>warp-lane</em><sub>0</sub> only]</b> Warp-wide aggregate reduction of input items (exclusive of the \\p warp_prefix_op value).\n        WarpPrefixCallbackOp    &warp_prefix_op)    ///< [in-out] <b>[<em>warp-lane</em><sub>0</sub> only]</b> Call-back functor for specifying a warp-wide prefix to be applied to all inputs.\n    {\n        // Exclusive warp scan\n        ExclusiveScan(input, output, identity, scan_op, warp_aggregate);\n\n        // Compute warp-wide prefix from aggregate, then broadcast to other lanes\n        T prefix = warp_prefix_op(warp_aggregate);\n        prefix = InternalWarpScan(temp_storage).Broadcast(prefix, 0);\n\n        // Update output\n        output = (lane_id == 0) ?\n            prefix :\n            scan_op(prefix, output);\n    }\n\n\n    //@}  end member group\n    /******************************************************************//**\n     * \\name Identityless exclusive prefix scans\n     *********************************************************************/\n    //@{\n\n\n    /**\n     * \\brief Computes an exclusive prefix scan using the specified binary scan functor across the calling warp.  Because no identity value is supplied, the \\p output computed for <em>warp-lane</em><sub>0</sub> is undefined.\n     *\n     * Supports non-commutative scan operators.\n     *\n     * \\smemreuse\n     *\n     * \\par Snippet\n     * The code snippet below illustrates four concurrent warp-wide exclusive prefix max scans within a block of\n     * 128 threads (one per each of the 32-thread warps).\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>\n     *\n     * __global__ void ExampleKernel(...)\n     * {\n     *     // Specialize WarpScan for type int\n     *     typedef cub::WarpScan<int> WarpScan;\n     *\n     *     // Allocate WarpScan shared memory for 4 warps\n     *     __shared__ typename WarpScan::TempStorage temp_storage[4];\n     *\n     *     // Obtain one input item per thread\n     *     int thread_data = ...\n     *\n     *     // Compute exclusive warp-wide prefix max scans\n     *     int warp_id = threadIdx.x / 32;\n     *     WarpScan(temp_storage[warp_id]).ExclusiveScan(thread_data, thread_data, cub::Max());\n     *\n     * \\endcode\n     * \\par\n     * Suppose the set of input \\p thread_data across the block of threads is <tt>{0, -1, 2, -3, ..., 126, -127}</tt>.\n     * The corresponding output \\p thread_data in the first warp would be\n     * <tt>?, 0, 0, 2, ..., 28, 30</tt>, the output for the second warp would be <tt>?, 32, 32, 34, ..., 60, 62</tt>, etc.\n     * (The output \\p thread_data in warp lane<sub>0</sub> is undefined.)\n     *\n     * \\tparam ScanOp     <b>[inferred]</b> Binary scan operator type having member <tt>T operator()(const T &a, const T &b)</tt>\n     */\n    template <typename ScanOp>\n    __device__ __forceinline__ void ExclusiveScan(\n        T               input,              ///< [in] Calling thread's input item.\n        T               &output,            ///< [out] Calling thread's output item.  May be aliased with \\p input.\n        ScanOp          scan_op)            ///< [in] Binary scan operator\n    {\n        T inclusive_output;\n        InternalWarpScan(temp_storage).Scan(input, inclusive_output, output, scan_op);\n    }\n\n\n    /**\n     * \\brief Computes an exclusive prefix scan using the specified binary scan functor across the calling warp.  Because no identity value is supplied, the \\p output computed for <em>warp-lane</em><sub>0</sub> is undefined.  Also provides every thread with the warp-wide \\p warp_aggregate of all inputs.\n     *\n     * Supports non-commutative scan operators.\n     *\n     * \\smemreuse\n     *\n     * \\par Snippet\n     * The code snippet below illustrates four concurrent warp-wide exclusive prefix max scans within a block of\n     * 128 threads (one per each of the 32-thread warps).\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>\n     *\n     * __global__ void ExampleKernel(...)\n     * {\n     *     // Specialize WarpScan for type int\n     *     typedef cub::WarpScan<int> WarpScan;\n     *\n     *     // Allocate WarpScan shared memory for 4 warps\n     *     __shared__ typename WarpScan::TempStorage temp_storage[4];\n     *\n     *     // Obtain one input item per thread\n     *     int thread_data = ...\n     *\n     *     // Compute exclusive warp-wide prefix max scans\n     *     int warp_aggregate;\n     *     int warp_id = threadIdx.x / 32;\n     *     WarpScan(temp_storage[warp_id]).ExclusiveScan(thread_data, thread_data, cub::Max(), warp_aggregate);\n     *\n     * \\endcode\n     * \\par\n     * Suppose the set of input \\p thread_data across the block of threads is <tt>{0, -1, 2, -3, ..., 126, -127}</tt>.\n     * The corresponding output \\p thread_data in the first warp would be\n     * <tt>?, 0, 0, 2, ..., 28, 30</tt>, the output for the second warp would be <tt>?, 32, 32, 34, ..., 60, 62</tt>, etc.\n     * (The output \\p thread_data in warp lane<sub>0</sub> is undefined.)  Furthermore, \\p warp_aggregate would be assigned \\p 30 for threads in the first warp, \\p 62 for threads\n     * in the second warp, etc.\n     *\n     * \\tparam ScanOp     <b>[inferred]</b> Binary scan operator type having member <tt>T operator()(const T &a, const T &b)</tt>\n     */\n    template <typename ScanOp>\n    __device__ __forceinline__ void ExclusiveScan(\n        T               input,              ///< [in] Calling thread's input item.\n        T               &output,            ///< [out] Calling thread's output item.  May be aliased with \\p input.\n        ScanOp          scan_op,            ///< [in] Binary scan operator\n        T               &warp_aggregate)    ///< [out] Warp-wide aggregate reduction of input items.\n    {\n        InternalWarpScan(temp_storage).ExclusiveScan(input, output, scan_op, warp_aggregate);\n    }\n\n\n    /**\n     * \\brief Computes an exclusive prefix scan using the specified binary scan functor across the calling warp.  The \\p warp_prefix_op value from warp-lane<sub>0</sub> is applied to all scan outputs.  Also computes the warp-wide \\p warp_aggregate of all inputs for warp-lane<sub>0</sub>.\n     *\n     * The \\p warp_prefix_op functor must implement a member function <tt>T operator()(T warp_aggregate)}</tt>.\n     * The functor's input parameter \\p warp_aggregate is the same value also returned by the scan operation.\n     * The functor will be invoked by the entire warp of threads, however only the return value from\n     * <em>lane</em><sub>0</sub> is applied as the threadblock-wide prefix.  Can be stateful.\n     *\n     * Supports non-commutative scan operators.\n     *\n     * \\smemreuse\n     *\n     * \\par Snippet\n     * The code snippet below illustrates a single thread block of 32 threads (one warp) that progressively\n     * computes an exclusive prefix max scan over multiple \"tiles\" of input using a\n     * prefix functor to maintain a running total between block-wide scans.  Each tile consists\n     * of 32 integer items that are partitioned across the warp.\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>\n     *\n     * // A stateful callback functor that maintains a running prefix to be applied\n     * // during consecutive scan operations.\n     * struct WarpPrefixCallbackOp\n     * {\n     *     // Running prefix\n     *     int running_total;\n     *\n     *     // Constructor\n     *     __device__ WarpPrefixCallbackOp(int running_total) : running_total(running_total) {}\n     *\n     *     // Callback operator to be entered by the entire warp. Lane-0 is responsible\n     *     // for returning a value for seeding the warp-wide scan.\n     *     __device__ int operator()(int warp_aggregate)\n     *     {\n     *         int old_prefix = running_total;\n     *         running_total = (warp_aggregate > old_prefix) ? warp_aggregate : old_prefix;\n     *         return old_prefix;\n     *     }\n     * };\n     *\n     * __global__ void ExampleKernel(int *d_data, int num_items, ...)\n     * {\n     *     // Specialize WarpScan for int\n     *     typedef cub::WarpScan<int> WarpScan;\n     *\n     *     // Allocate WarpScan shared memory for one warp\n     *     __shared__ typename WarpScan::TempStorage temp_storage;\n     *\n     *     // Initialize running total\n     *     WarpPrefixCallbackOp prefix_op(INT_MIN);\n     *\n     *     // Have the warp iterate over segments of items\n     *     for (int block_offset = 0; block_offset < num_items; block_offset += 32)\n     *     {\n     *         // Load a segment of consecutive items\n     *         int thread_data = d_data[block_offset];\n     *\n     *         // Collectively compute the warp-wide exclusive prefix max scan\n     *         int warp_aggregate;\n     *         WarpScan(temp_storage).ExclusiveScan(\n     *             thread_data, thread_data, INT_MIN, cub::Max(), warp_aggregate, prefix_op);\n     *\n     *         // Store scanned items to output segment\n     *         d_data[block_offset] = thread_data;\n     *     }\n     * \\endcode\n     * \\par\n     * Suppose the input \\p d_data is <tt>{0, -1, 2, -3, 4, -5, ...}</tt>.\n     * The corresponding output for the first segment will be <tt>{INT_MIN, 0, 0, 2, ..., 28, 30}</tt>.\n     * The output for the second segment will be <tt>{30, 32, 32, 34, ..., 60, 62}</tt>.  Furthermore,\n     * \\p block_aggregate will be assigned \\p 30 in all threads after the first scan, assigned \\p 62 after the second\n     * scan, etc.\n     *\n     * \\tparam ScanOp                       <b>[inferred]</b> Binary scan operator type having member <tt>T operator()(const T &a, const T &b)</tt>\n     * \\tparam WarpPrefixCallbackOp                 <b>[inferred]</b> Call-back functor type having member <tt>T operator()(T warp_aggregate)</tt>\n     */\n    template <\n        typename ScanOp,\n        typename WarpPrefixCallbackOp>\n    __device__ __forceinline__ void ExclusiveScan(\n        T                       input,              ///< [in] Calling thread's input item.\n        T                       &output,            ///< [out] Calling thread's output item.  May be aliased with \\p input.\n        ScanOp                  scan_op,            ///< [in] Binary scan operator\n        T                       &warp_aggregate,    ///< [out] <b>[<em>warp-lane</em><sub>0</sub> only]</b> Warp-wide aggregate reduction of input items (exclusive of the \\p warp_prefix_op value).\n        WarpPrefixCallbackOp    &warp_prefix_op)    ///< [in-out] <b>[<em>warp-lane</em><sub>0</sub> only]</b> Call-back functor for specifying a warp-wide prefix to be applied to all inputs.\n    {\n        // Exclusive warp scan\n        ExclusiveScan(input, output, scan_op, warp_aggregate);\n\n        // Compute warp-wide prefix from aggregate, then broadcast to other lanes\n        T prefix = warp_prefix_op(warp_aggregate);\n        prefix = InternalWarpScan(temp_storage).Broadcast(prefix, 0);\n\n        // Update output with prefix\n        output = (lane_id == 0) ?\n            prefix :\n            scan_op(prefix, output);\n    }\n\n    //@}  end member group\n    /******************************************************************//**\n     * \\name Combination (inclusive & exclusive) prefix scans\n     *********************************************************************/\n    //@{\n\n    /**\n     * \\brief Computes both inclusive and exclusive prefix sums across the calling warp.\n     *\n     * This operation assumes the value of obtained by the <tt>T</tt>'s default\n     * constructor (or by zero-initialization if no user-defined default\n     * constructor exists) is suitable as the identity value \"zero\" for\n     * addition.\n     *\n     * \\smemreuse\n     *\n     * \\par Snippet\n     * The code snippet below illustrates four concurrent warp-wide prefix sums within a block of\n     * 128 threads (one per each of the 32-thread warps).\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>\n     *\n     * __global__ void ExampleKernel(...)\n     * {\n     *     // Specialize WarpScan for type int\n     *     typedef cub::WarpScan<int> WarpScan;\n     *\n     *     // Allocate WarpScan shared memory for 4 warps\n     *     __shared__ typename WarpScan::TempStorage temp_storage[4];\n     *\n     *     // Obtain one input item per thread\n     *     int thread_data = ...\n     *\n     *     // Compute in|exclusive warp-wide prefix sums\n     *     int inclusive_partial, exclusive_partial;\n     *     int warp_id = threadIdx.x / 32;\n     *     WarpScan(temp_storage[warp_id]).Sum(thread_data, inclusive_partial, exclusive_partial);\n     *\n     * \\endcode\n     * \\par\n     * Suppose the set of input \\p thread_data across the block of threads is <tt>{1, 1, 1, 1, ...}</tt>.\n     * The corresponding output \\p inclusive_partial in each of the four warps of threads will be\n     * <tt>1, 2, 3, ..., 32}</tt>.\n     * The corresponding output \\p exclusive_partial in each of the four warps of threads will be\n     * <tt>0, 1, 2, ..., 31}</tt>.\n     *\n     */\n    __device__ __forceinline__ void Sum(\n        T               input,              ///< [in] Calling thread's input item.\n        T               &inclusive_output,  ///< [out] Calling thread's inclusive-scan output item.\n        T               &exclusive_output)  ///< [out] Calling thread's exclusive-scan output item.\n    {\n        Sum(input, inclusive_output, exclusive_output, Int2Type<IS_INTEGER>());\n    }\n\n\n    /**\n     * \\brief Computes both inclusive and exclusive prefix scans using the specified binary scan functor across the calling warp.\n     *\n     * Supports non-commutative scan operators.\n     *\n     * \\smemreuse\n     *\n     * \\par Snippet\n     * The code snippet below illustrates four concurrent warp-wide prefix max scans within a block of\n     * 128 threads (one per each of the 32-thread warps).\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>\n     *\n     * __global__ void ExampleKernel(...)\n     * {\n     *     // Specialize WarpScan for type int\n     *     typedef cub::WarpScan<int> WarpScan;\n     *\n     *     // Allocate WarpScan shared memory for 4 warps\n     *     __shared__ typename WarpScan::TempStorage temp_storage[4];\n     *\n     *     // Obtain one input item per thread\n     *     int thread_data = ...\n     *\n     *     // Compute inclusive warp-wide prefix max scans\n     *     int warp_id = threadIdx.x / 32;\n     *     int inclusive_partial, exclusive_partial;\n     *     WarpScan(temp_storage[warp_id]).Scan(thread_data, inclusive_partial, exclusive_partial, INT_MIN, cub::Max());\n     *\n     * \\endcode\n     * \\par\n     * Suppose the set of input \\p thread_data across the block of threads is <tt>{0, -1, 2, -3, ..., 126, -127}</tt>.\n     * The corresponding output \\p inclusive_partial in the first warp would be\n     * <tt>0, 0, 2, 2, ..., 30, 30</tt>, the output for the second warp would be <tt>32, 32, 34, 34, ..., 62, 62</tt>, etc.\n     * The corresponding output \\p exclusive_partial in the first warp would be\n     * <tt>INT_MIN, 0, 0, 2, ..., 28, 30</tt>, the output for the second warp would be <tt>30, 32, 32, 34, ..., 60, 62</tt>, etc.\n     *\n     * \\tparam ScanOp     <b>[inferred]</b> Binary scan operator type having member <tt>T operator()(const T &a, const T &b)</tt>\n     */\n    template <typename ScanOp>\n    __device__ __forceinline__ void Scan(\n        T               input,              ///< [in] Calling thread's input item.\n        T               &inclusive_output,  ///< [out] Calling thread's inclusive-scan output item.\n        T               &exclusive_output,  ///< [out] Calling thread's exclusive-scan output item.\n        T               identity,           ///< [in] Identity value\n        ScanOp          scan_op)            ///< [in] Binary scan operator\n    {\n        InternalWarpScan(temp_storage).Scan(input, inclusive_output, exclusive_output, identity, scan_op);\n    }\n\n\n    /**\n     * \\brief Computes both inclusive and exclusive prefix scans using the specified binary scan functor across the calling warp.  Because no identity value is supplied, the \\p exclusive_output computed for <em>warp-lane</em><sub>0</sub> is undefined.\n     *\n     * Supports non-commutative scan operators.\n     *\n     * \\smemreuse\n     *\n     * \\par Snippet\n     * The code snippet below illustrates four concurrent warp-wide exclusive prefix max scans within a block of\n     * 128 threads (one per each of the 32-thread warps).\n     * \\par\n     * \\code\n     * #include <cub/cub.cuh>\n     *\n     * __global__ void ExampleKernel(...)\n     * {\n     *     // Specialize WarpScan for type int\n     *     typedef cub::WarpScan<int> WarpScan;\n     *\n     *     // Allocate WarpScan shared memory for 4 warps\n     *     __shared__ typename WarpScan::TempStorage temp_storage[4];\n     *\n     *     // Obtain one input item per thread\n     *     int thread_data = ...\n     *\n     *     // Compute exclusive warp-wide prefix max scans\n     *     int inclusive_partial, exclusive_partial;\n     *     WarpScan(temp_storage[warp_id]).Scan(thread_data, inclusive_partial, exclusive_partial, cub::Max());\n     *\n     * \\endcode\n     * \\par\n     * Suppose the set of input \\p thread_data across the block of threads is <tt>{0, -1, 2, -3, ..., 126, -127}</tt>.\n     * The corresponding output \\p inclusive_partial in the first warp would be\n     * <tt>0, 0, 2, 2, ..., 30, 30</tt>, the output for the second warp would be <tt>32, 32, 34, 34, ..., 62, 62</tt>, etc.\n     * The corresponding output \\p exclusive_partial in the first warp would be\n     * <tt>?, 0, 0, 2, ..., 28, 30</tt>, the output for the second warp would be <tt>?, 32, 32, 34, ..., 60, 62</tt>, etc.\n     * (The output \\p thread_data in warp lane<sub>0</sub> is undefined.)\n     *\n     * \\tparam ScanOp     <b>[inferred]</b> Binary scan operator type having member <tt>T operator()(const T &a, const T &b)</tt>\n     */\n    template <typename ScanOp>\n    __device__ __forceinline__ void Scan(\n        T               input,              ///< [in] Calling thread's input item.\n        T               &inclusive_output,  ///< [out] Calling thread's inclusive-scan output item.\n        T               &exclusive_output,  ///< [out] Calling thread's exclusive-scan output item.\n        ScanOp          scan_op)            ///< [in] Binary scan operator\n    {\n        InternalWarpScan(temp_storage).Scan(input, inclusive_output, exclusive_output, scan_op);\n    }\n\n\n    //@}  end member group\n};\n\n/** @} */       // end group WarpModule\n\n}               // CUB namespace\nCUB_NS_POSTFIX  // Optional outer namespace(s)\n"
  },
  {
    "path": "external/egl_setup/egl_setup.cpp",
    "content": "//----------------------------------------------------------------------------------\n// File:        common/egl_setup/source/egl_setup.cpp\n// SDK Version: v1.0 \n// Site:        http://developer.nvidia.com/\n//\n// Copyright (C) 2013 NVIDIA CORPORATION.  All Rights Reserved.\n// \n// NVIDIA CORPORATION and its licensors retain all intellectual property\n// and proprietary rights in and to this software, related documentation\n// and any modifications thereto.  Any use, reproduction, disclosure or\n// distribution of this software and related documentation is governed by \n// the NVIDIA Pre-Release License Agreement between NVIDIA CORPORATION and\n// the licensee. All other uses are strictly forbidden.\n//\n//----------------------------------------------------------------------------------\n#include <EGL/egl.h>\n#include <EGL/eglplatform.h>\n\n#include <stdlib.h>\n\n#include \"egl_setup.h\"\n\n// EGL_KHR_create_context\n#define EGL_CONTEXT_MAJOR_VERSION_KHR           0x3098\n#define EGL_CONTEXT_MINOR_VERSION_KHR           0x30FB\n#define EGL_CONTEXT_OPENGL_PROFILE_MASK_KHR\t    0x30FD\n#define EGL_CONTEXT_OPENGL_COMPATIBILITY_PROFILE_BIT_KHR 0x00000002 \n\n#include <android/log.h>\n\n#define EGLLOGD(...) ((void)__android_log_print(ANDROID_LOG_DEBUG, \"egl_setup\", __VA_ARGS__))\n#define EGLLOGI(...) ((void)__android_log_print(ANDROID_LOG_INFO, \"egl_setup\", __VA_ARGS__))\n#define EGLLOGW(...) ((void)__android_log_print(ANDROID_LOG_WARN, \"egl_setup\", __VA_ARGS__))\n#define EGLLOGE(...) ((void)__android_log_print(ANDROID_LOG_ERROR, \"egl_setup\", __VA_ARGS__))\n\nstatic EGLConfig GetBestConfigMatch(EGLDisplay display, EGLint renderable) {\n\tEGLint count = 0;\n\tif (!eglGetConfigs(display, NULL, 0, &count))\n\t{\n\t\tEGLLOGE(\"defaultEGLChooser cannot query count of all configs\");\n\t\treturn 0;\n\t}\n\n    EGLint numConfigs;\n\n\tEGLLOGD(\"Config count = %d\", count);\n\n\tEGLConfig* configs = new EGLConfig[count];\n\tif (!eglGetConfigs(display, configs, count, &count))\n\t{\n\t\tEGLLOGE(\"defaultEGLChooser cannot query all configs\");\n\t\treturn 0;\n\t}\n\n\tint bestMatch = 1<<30;\n\tint bestIndex = -1;\n\n\tint i;\n\tfor (i = 0; i < count; i++)\n\t{\n\t\tint match = 0;\n\t\tEGLint surfaceType = 0;\n\t\tEGLint blueBits = 0;\n\t\tEGLint greenBits = 0;\n\t\tEGLint redBits = 0;\n\t\tEGLint alphaBits = 0;\n\t\tEGLint depthBits = 0;\n\t\tEGLint stencilBits = 0;\n\t\tEGLint renderableFlags = 0;\n\n\t\teglGetConfigAttrib(display, configs[i], EGL_SURFACE_TYPE, &surfaceType);\n\t\teglGetConfigAttrib(display, configs[i], EGL_BLUE_SIZE, &blueBits);\n\t\teglGetConfigAttrib(display, configs[i], EGL_GREEN_SIZE, &greenBits);\n\t\teglGetConfigAttrib(display, configs[i], EGL_RED_SIZE, &redBits);\n\t\teglGetConfigAttrib(display, configs[i], EGL_ALPHA_SIZE, &alphaBits);\n\t\teglGetConfigAttrib(display, configs[i], EGL_DEPTH_SIZE, &depthBits);\n\t\teglGetConfigAttrib(display, configs[i], EGL_STENCIL_SIZE, &stencilBits);\n\t\teglGetConfigAttrib(display, configs[i], EGL_RENDERABLE_TYPE, &renderableFlags);\n\t\tEGLLOGD(\"Config[%d]: R%dG%dB%dA%d D%dS%d Type=%04x Render=%04x\",\n\t\t\ti, redBits, greenBits, blueBits, alphaBits, depthBits, stencilBits, surfaceType, renderableFlags);\n\n        // We enforce basic requirements; these are showstoppers, to we do not\n        // need to \"weight\" them\n\t\tif ((surfaceType & EGL_WINDOW_BIT) == 0)\n\t\t\tcontinue;\n\t\tif ((renderableFlags & renderable) == 0)\n\t\t\tcontinue;\n\t\tif (depthBits < 16)\n\t\t\tcontinue;\n\t\tif ((redBits < 5) || (greenBits < 6) || (blueBits < 5))\n\t\t\tcontinue;\n\n\t\t// try to find a config that is R8G8B8A8, D24, S8\n\t    int penalty = depthBits - 24;\n\t    match += penalty * penalty;\n\t    penalty = redBits - 8;\n\t    match += penalty * penalty;\n\t    penalty = greenBits - 8;\n\t    match += penalty * penalty;\n\t    penalty = blueBits - 8;\n\t    match += penalty * penalty;\n\t    penalty = alphaBits - 8;\n\t    match += penalty * penalty;\n\t    penalty = stencilBits - 8;\n\t    match += penalty * penalty;\n\n        // Take any \"better\" config than the best we've found, and always take the first valid config\n\t    if ((match < bestMatch) || (bestIndex == -1)) {\n\t\t    bestMatch = match;\n\t\t    bestIndex = i;\n\t\t    EGLLOGD(\"Config[%d] is the new best config\", i, configs[i]);\n\t    }\n\t}\n\n\tif (bestIndex < 0)\n\t{\n\t\tdelete[] configs;\n\t    EGLLOGE(\"Fatal error!  No valid configs were found!\");\n\t\treturn 0;\n\t}\n\n\tEGLConfig config = configs[bestIndex];\n\tdelete[] configs;\n\n\treturn config;\n}\n\nconst EGLCapabilities* EGLCapabilities::create() {\n    EGLCapabilities* caps = new EGLCapabilities;\n    EGLBoolean result = EGL_FALSE;\n\n    EGLDisplay display = eglGetDisplay(EGL_DEFAULT_DISPLAY);\n\n    result = eglInitialize(display, 0, 0);\n    if (!result) {\n        delete caps;\n        return NULL;\n    }\n \n    caps->m_esConfig = GetBestConfigMatch(display, EGL_OPENGL_ES2_BIT);\n\n  \tresult = eglBindAPI(EGL_OPENGL_API);\n    if (result) {\n        caps->m_glConfig = GetBestConfigMatch(display, EGL_OPENGL_BIT);\n    } else {\n        caps->m_glConfig = 0;\n    }\n\n  \tresult = eglBindAPI(EGL_OPENGL_ES_API);\n\n    return caps;\n}\n    \nEGLCapabilities::EGLCapabilities() {\n    m_esConfig = 0;\n    m_glConfig = 0;\n}\n\nEGLCapabilities::~EGLCapabilities() {\n}\n\nEGLInfo* EGLInfo::create(const EGLCapabilities& caps, unsigned int api, unsigned int minAPIVersion) {\n    EGLInfo* info = new EGLInfo;\n\n    info->m_api = api;\n    info->m_display = eglGetDisplay(EGL_DEFAULT_DISPLAY);\n\n    EGLBoolean result = eglInitialize(info->m_display, 0, 0);\n    if (!result) {\n        delete info;\n        return NULL;\n    }\n\n    if ((api == API_ES) && caps.isESCapable()) {\n        info->m_config = caps.m_esConfig;\n\n        EGLint contextAttrs[] = { EGL_CONTEXT_CLIENT_VERSION, minAPIVersion,\n                                  EGL_NONE };\n\n        info->m_context = eglCreateContext(info->m_display, info->m_config, \n            NULL, contextAttrs);\n    \tif (info->m_context == EGL_NO_CONTEXT) {\n            delete info;\n\t        EGLLOGW(\"Failed to create context!\");\n\t\t    return NULL;\n\t    }\n    } else if ((api == API_GL) && caps.isGLCapable()) {\n    \tresult = eglBindAPI(EGL_OPENGL_API);\n        if (!result) {\n            delete info;\n\t        EGLLOGW(\"Failed to bind GL API!\");\n\t\t    return NULL;\n        }\n\n        info->m_config = caps.m_glConfig;\n\n        EGLint contextAttrs[] = { EGL_CONTEXT_MAJOR_VERSION_KHR, minAPIVersion, \n                                  EGL_CONTEXT_OPENGL_PROFILE_MASK_KHR,\n                                  EGL_CONTEXT_OPENGL_COMPATIBILITY_PROFILE_BIT_KHR,\n                                  EGL_NONE };\n\n        info->m_context = eglCreateContext(info->m_display, info->m_config, \n            NULL, contextAttrs);\n    \tif (info->m_context == EGL_NO_CONTEXT) {\n            delete info;\n\t        EGLLOGW(\"Failed to create context!\");\n\t\t    return NULL;\n\t    }\n    } else {\n        delete info;\n        return NULL;\n    }\n\n    eglQueryContext(info->m_display, info->m_context, EGL_CONTEXT_CLIENT_VERSION, &info->m_apiVersion);\n\n    return info;\n}\n\nbool EGLInfo::createWindowSurface(ANativeWindow* window) {\n    // EGL_NATIVE_VISUAL_ID is an attribute of the EGLConfig that is\n    // guaranteed to be accepted by ANativeWindow_setBuffersGeometry().\n    // As soon as we picked a EGLConfig, we can safely reconfigure the\n    // ANativeWindow buffers to match, using EGL_NATIVE_VISUAL_ID.\n\tEGLint format;\n\tif (!eglGetConfigAttrib(m_display, m_config, EGL_NATIVE_VISUAL_ID, &format)) {\n\t    EGLLOGE(\"Fatal error!  Failed to get config format!\");\n\t\treturn false;\n\t}\n\n    ANativeWindow_setBuffersGeometry(window, 0, 0, format);\n    m_surface = eglCreateWindowSurface(m_display, m_config, window, NULL);\n\n    return m_surface != NULL;\n}\n\nEGLInfo::EGLInfo() {\n\tm_display = EGL_NO_DISPLAY;\n    m_surface = EGL_NO_SURFACE;\n    m_context = EGL_NO_CONTEXT;\n\tm_config = 0;\n}\n\nEGLInfo::~EGLInfo() {\n    eglMakeCurrent(m_display, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT);\n    if (m_context != EGL_NO_CONTEXT) {\n        eglDestroyContext(m_display, m_context);\n    }\n    if (m_surface != EGL_NO_SURFACE) {\n        eglDestroySurface(m_display, m_surface);\n    }\n    eglTerminate(m_display);\n}\n\n"
  },
  {
    "path": "external/egl_setup/egl_setup.h",
    "content": "//----------------------------------------------------------------------------------\n// File:        common/egl_setup/include/egl_setup.h\n// SDK Version: v1.0 \n// Site:        http://developer.nvidia.com/\n//\n// Copyright (C) 2013 NVIDIA CORPORATION.  All Rights Reserved.\n// \n// NVIDIA CORPORATION and its licensors retain all intellectual property\n// and proprietary rights in and to this software, related documentation\n// and any modifications thereto.  Any use, reproduction, disclosure or\n// distribution of this software and related documentation is governed by \n// the NVIDIA Pre-Release License Agreement between NVIDIA CORPORATION and\n// the licensee. All other uses are strictly forbidden.\n//\n//----------------------------------------------------------------------------------\n#ifndef __EGL_SETUP_H\n#define __EGL_SETUP_H\n\n// File including this must include the desired EGL implementation before this file\n#include <android/native_window.h>\n\nclass EGLCapabilities {\npublic:\n    friend class EGLInfo;\n    static const EGLCapabilities* create();\n    ~EGLCapabilities();\n\n    bool isESCapable() const { return m_esConfig > 0; }\n    bool isGLCapable() const { return m_glConfig > 0; }\n\nprotected:\n    EGLCapabilities();\n    EGLConfig m_esConfig;\n    EGLConfig m_glConfig;\n};\n\nclass EGLInfo {\npublic:\n    enum {\n        API_ES,\n        API_GL\n    };\n\n    static EGLInfo* create(const EGLCapabilities& caps, unsigned int api, unsigned int minAPIVersion);\n    ~EGLInfo();\n\n    bool createWindowSurface(ANativeWindow* window);\n\n    EGLDisplay getDisplay() const { return m_display; }\n    EGLContext getContext() const { return m_context; }\n    EGLConfig getConfig() const { return m_config; }\n    EGLSurface getSurface() const { return m_surface; }\n    unsigned int getAPI() { return m_api; }\n    int getAPIVersion() { return m_apiVersion; }\n\nprotected:\n    EGLInfo();\n\n    EGLDisplay m_display;\n    EGLSurface m_surface;\n    EGLContext m_context;\n\tEGLConfig m_config;\n    unsigned int m_api;\n    int m_apiVersion;\n};\n\n#endif\n"
  },
  {
    "path": "external/glad/include/KHR/khrplatform.h",
    "content": "#ifndef __khrplatform_h_\n#define __khrplatform_h_\n\n/*\n** Copyright (c) 2008-2009 The Khronos Group Inc.\n**\n** Permission is hereby granted, free of charge, to any person obtaining a\n** copy of this software and/or associated documentation files (the\n** \"Materials\"), to deal in the Materials without restriction, including\n** without limitation the rights to use, copy, modify, merge, publish,\n** distribute, sublicense, and/or sell copies of the Materials, and to\n** permit persons to whom the Materials are furnished to do so, subject to\n** the following conditions:\n**\n** The above copyright notice and this permission notice shall be included\n** in all copies or substantial portions of the Materials.\n**\n** THE MATERIALS ARE PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\n** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\n** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\n** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\n** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.\n*/\n\n/* Khronos platform-specific types and definitions.\n *\n * $Revision: 32517 $ on $Date: 2016-03-11 02:41:19 -0800 (Fri, 11 Mar 2016) $\n *\n * Adopters may modify this file to suit their platform. Adopters are\n * encouraged to submit platform specific modifications to the Khronos\n * group so that they can be included in future versions of this file.\n * Please submit changes by sending them to the public Khronos Bugzilla\n * (http://khronos.org/bugzilla) by filing a bug against product\n * \"Khronos (general)\" component \"Registry\".\n *\n * A predefined template which fills in some of the bug fields can be\n * reached using http://tinyurl.com/khrplatform-h-bugreport, but you\n * must create a Bugzilla login first.\n *\n *\n * See the Implementer's Guidelines for information about where this file\n * should be located on your system and for more details of its use:\n *    http://www.khronos.org/registry/implementers_guide.pdf\n *\n * This file should be included as\n *        #include <KHR/khrplatform.h>\n * by Khronos client API header files that use its types and defines.\n *\n * The types in khrplatform.h should only be used to define API-specific types.\n *\n * Types defined in khrplatform.h:\n *    khronos_int8_t              signed   8  bit\n *    khronos_uint8_t             unsigned 8  bit\n *    khronos_int16_t             signed   16 bit\n *    khronos_uint16_t            unsigned 16 bit\n *    khronos_int32_t             signed   32 bit\n *    khronos_uint32_t            unsigned 32 bit\n *    khronos_int64_t             signed   64 bit\n *    khronos_uint64_t            unsigned 64 bit\n *    khronos_intptr_t            signed   same number of bits as a pointer\n *    khronos_uintptr_t           unsigned same number of bits as a pointer\n *    khronos_ssize_t             signed   size\n *    khronos_usize_t             unsigned size\n *    khronos_float_t             signed   32 bit floating point\n *    khronos_time_ns_t           unsigned 64 bit time in nanoseconds\n *    khronos_utime_nanoseconds_t unsigned time interval or absolute time in\n *                                         nanoseconds\n *    khronos_stime_nanoseconds_t signed time interval in nanoseconds\n *    khronos_boolean_enum_t      enumerated boolean type. This should\n *      only be used as a base type when a client API's boolean type is\n *      an enum. Client APIs which use an integer or other type for\n *      booleans cannot use this as the base type for their boolean.\n *\n * Tokens defined in khrplatform.h:\n *\n *    KHRONOS_FALSE, KHRONOS_TRUE Enumerated boolean false/true values.\n *\n *    KHRONOS_SUPPORT_INT64 is 1 if 64 bit integers are supported; otherwise 0.\n *    KHRONOS_SUPPORT_FLOAT is 1 if floats are supported; otherwise 0.\n *\n * Calling convention macros defined in this file:\n *    KHRONOS_APICALL\n *    KHRONOS_APIENTRY\n *    KHRONOS_APIATTRIBUTES\n *\n * These may be used in function prototypes as:\n *\n *      KHRONOS_APICALL void KHRONOS_APIENTRY funcname(\n *                                  int arg1,\n *                                  int arg2) KHRONOS_APIATTRIBUTES;\n */\n\n/*-------------------------------------------------------------------------\n * Definition of KHRONOS_APICALL\n *-------------------------------------------------------------------------\n * This precedes the return type of the function in the function prototype.\n */\n#if defined(_WIN32) && !defined(__SCITECH_SNAP__)\n#   define KHRONOS_APICALL __declspec(dllimport)\n#elif defined (__SYMBIAN32__)\n#   define KHRONOS_APICALL IMPORT_C\n#elif defined(__ANDROID__)\n#   define KHRONOS_APICALL __attribute__((visibility(\"default\")))\n#else\n#   define KHRONOS_APICALL\n#endif\n\n/*-------------------------------------------------------------------------\n * Definition of KHRONOS_APIENTRY\n *-------------------------------------------------------------------------\n * This follows the return type of the function  and precedes the function\n * name in the function prototype.\n */\n#if defined(_WIN32) && !defined(_WIN32_WCE) && !defined(__SCITECH_SNAP__)\n    /* Win32 but not WinCE */\n#   define KHRONOS_APIENTRY __stdcall\n#else\n#   define KHRONOS_APIENTRY\n#endif\n\n/*-------------------------------------------------------------------------\n * Definition of KHRONOS_APIATTRIBUTES\n *-------------------------------------------------------------------------\n * This follows the closing parenthesis of the function prototype arguments.\n */\n#if defined (__ARMCC_2__)\n#define KHRONOS_APIATTRIBUTES __softfp\n#else\n#define KHRONOS_APIATTRIBUTES\n#endif\n\n/*-------------------------------------------------------------------------\n * basic type definitions\n *-----------------------------------------------------------------------*/\n#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || defined(__GNUC__) || defined(__SCO__) || defined(__USLC__)\n\n\n/*\n * Using <stdint.h>\n */\n#include <stdint.h>\ntypedef int32_t                 khronos_int32_t;\ntypedef uint32_t                khronos_uint32_t;\ntypedef int64_t                 khronos_int64_t;\ntypedef uint64_t                khronos_uint64_t;\n#define KHRONOS_SUPPORT_INT64   1\n#define KHRONOS_SUPPORT_FLOAT   1\n\n#elif defined(__VMS ) || defined(__sgi)\n\n/*\n * Using <inttypes.h>\n */\n#include <inttypes.h>\ntypedef int32_t                 khronos_int32_t;\ntypedef uint32_t                khronos_uint32_t;\ntypedef int64_t                 khronos_int64_t;\ntypedef uint64_t                khronos_uint64_t;\n#define KHRONOS_SUPPORT_INT64   1\n#define KHRONOS_SUPPORT_FLOAT   1\n\n#elif defined(_WIN32) && !defined(__SCITECH_SNAP__)\n\n/*\n * Win32\n */\ntypedef __int32                 khronos_int32_t;\ntypedef unsigned __int32        khronos_uint32_t;\ntypedef __int64                 khronos_int64_t;\ntypedef unsigned __int64        khronos_uint64_t;\n#define KHRONOS_SUPPORT_INT64   1\n#define KHRONOS_SUPPORT_FLOAT   1\n\n#elif defined(__sun__) || defined(__digital__)\n\n/*\n * Sun or Digital\n */\ntypedef int                     khronos_int32_t;\ntypedef unsigned int            khronos_uint32_t;\n#if defined(__arch64__) || defined(_LP64)\ntypedef long int                khronos_int64_t;\ntypedef unsigned long int       khronos_uint64_t;\n#else\ntypedef long long int           khronos_int64_t;\ntypedef unsigned long long int  khronos_uint64_t;\n#endif /* __arch64__ */\n#define KHRONOS_SUPPORT_INT64   1\n#define KHRONOS_SUPPORT_FLOAT   1\n\n#elif 0\n\n/*\n * Hypothetical platform with no float or int64 support\n */\ntypedef int                     khronos_int32_t;\ntypedef unsigned int            khronos_uint32_t;\n#define KHRONOS_SUPPORT_INT64   0\n#define KHRONOS_SUPPORT_FLOAT   0\n\n#else\n\n/*\n * Generic fallback\n */\n#include <stdint.h>\ntypedef int32_t                 khronos_int32_t;\ntypedef uint32_t                khronos_uint32_t;\ntypedef int64_t                 khronos_int64_t;\ntypedef uint64_t                khronos_uint64_t;\n#define KHRONOS_SUPPORT_INT64   1\n#define KHRONOS_SUPPORT_FLOAT   1\n\n#endif\n\n\n/*\n * Types that are (so far) the same on all platforms\n */\ntypedef signed   char          khronos_int8_t;\ntypedef unsigned char          khronos_uint8_t;\ntypedef signed   short int     khronos_int16_t;\ntypedef unsigned short int     khronos_uint16_t;\n\n/*\n * Types that differ between LLP64 and LP64 architectures - in LLP64,\n * pointers are 64 bits, but 'long' is still 32 bits. Win64 appears\n * to be the only LLP64 architecture in current use.\n */\n#ifdef _WIN64\ntypedef signed   long long int khronos_intptr_t;\ntypedef unsigned long long int khronos_uintptr_t;\ntypedef signed   long long int khronos_ssize_t;\ntypedef unsigned long long int khronos_usize_t;\n#else\ntypedef signed   long  int     khronos_intptr_t;\ntypedef unsigned long  int     khronos_uintptr_t;\ntypedef signed   long  int     khronos_ssize_t;\ntypedef unsigned long  int     khronos_usize_t;\n#endif\n\n#if KHRONOS_SUPPORT_FLOAT\n/*\n * Float type\n */\ntypedef          float         khronos_float_t;\n#endif\n\n#if KHRONOS_SUPPORT_INT64\n/* Time types\n *\n * These types can be used to represent a time interval in nanoseconds or\n * an absolute Unadjusted System Time.  Unadjusted System Time is the number\n * of nanoseconds since some arbitrary system event (e.g. since the last\n * time the system booted).  The Unadjusted System Time is an unsigned\n * 64 bit value that wraps back to 0 every 584 years.  Time intervals\n * may be either signed or unsigned.\n */\ntypedef khronos_uint64_t       khronos_utime_nanoseconds_t;\ntypedef khronos_int64_t        khronos_stime_nanoseconds_t;\n#endif\n\n/*\n * Dummy value used to pad enum types to 32 bits.\n */\n#ifndef KHRONOS_MAX_ENUM\n#define KHRONOS_MAX_ENUM 0x7FFFFFFF\n#endif\n\n/*\n * Enumerated boolean type\n *\n * Values other than zero should be considered to be true.  Therefore\n * comparisons should not be made against KHRONOS_TRUE.\n */\ntypedef enum {\n    KHRONOS_FALSE = 0,\n    KHRONOS_TRUE  = 1,\n    KHRONOS_BOOLEAN_ENUM_FORCE_SIZE = KHRONOS_MAX_ENUM\n} khronos_boolean_enum_t;\n\n#endif /* __khrplatform_h_ */\n"
  },
  {
    "path": "external/glad/include/glad/glad.h",
    "content": "/*\n\n    OpenGL loader generated by glad 0.1.15a0 on Wed Nov  8 01:16:01 2017.\n\n    Language/Generator: C/C++\n    Specification: gl\n    APIs: gl=4.6\n    Profile: compatibility\n    Extensions:\n        GL_3DFX_multisample,\n        GL_3DFX_tbuffer,\n        GL_3DFX_texture_compression_FXT1,\n        GL_AMD_blend_minmax_factor,\n        GL_AMD_conservative_depth,\n        GL_AMD_debug_output,\n        GL_AMD_depth_clamp_separate,\n        GL_AMD_draw_buffers_blend,\n        GL_AMD_framebuffer_sample_positions,\n        GL_AMD_gcn_shader,\n        GL_AMD_gpu_shader_half_float,\n        GL_AMD_gpu_shader_int16,\n        GL_AMD_gpu_shader_int64,\n        GL_AMD_interleaved_elements,\n        GL_AMD_multi_draw_indirect,\n        GL_AMD_name_gen_delete,\n        GL_AMD_occlusion_query_event,\n        GL_AMD_performance_monitor,\n        GL_AMD_pinned_memory,\n        GL_AMD_query_buffer_object,\n        GL_AMD_sample_positions,\n        GL_AMD_seamless_cubemap_per_texture,\n        GL_AMD_shader_atomic_counter_ops,\n        GL_AMD_shader_ballot,\n        GL_AMD_shader_explicit_vertex_parameter,\n        GL_AMD_shader_image_load_store_lod,\n        GL_AMD_shader_stencil_export,\n        GL_AMD_shader_trinary_minmax,\n        GL_AMD_sparse_texture,\n        GL_AMD_stencil_operation_extended,\n        GL_AMD_texture_gather_bias_lod,\n        GL_AMD_texture_texture4,\n        GL_AMD_transform_feedback3_lines_triangles,\n        GL_AMD_transform_feedback4,\n        GL_AMD_vertex_shader_layer,\n        GL_AMD_vertex_shader_tessellator,\n        GL_AMD_vertex_shader_viewport_index,\n        GL_APPLE_aux_depth_stencil,\n        GL_APPLE_client_storage,\n        GL_APPLE_element_array,\n        GL_APPLE_fence,\n        GL_APPLE_float_pixels,\n        GL_APPLE_flush_buffer_range,\n        GL_APPLE_object_purgeable,\n        GL_APPLE_rgb_422,\n        GL_APPLE_row_bytes,\n        GL_APPLE_specular_vector,\n        GL_APPLE_texture_range,\n        GL_APPLE_transform_hint,\n        GL_APPLE_vertex_array_object,\n        GL_APPLE_vertex_array_range,\n        GL_APPLE_vertex_program_evaluators,\n        GL_APPLE_ycbcr_422,\n        GL_ARB_ES2_compatibility,\n        GL_ARB_ES3_1_compatibility,\n        GL_ARB_ES3_2_compatibility,\n        GL_ARB_ES3_compatibility,\n        GL_ARB_arrays_of_arrays,\n        GL_ARB_base_instance,\n        GL_ARB_bindless_texture,\n        GL_ARB_blend_func_extended,\n        GL_ARB_buffer_storage,\n        GL_ARB_cl_event,\n        GL_ARB_clear_buffer_object,\n        GL_ARB_clear_texture,\n        GL_ARB_clip_control,\n        GL_ARB_color_buffer_float,\n        GL_ARB_compatibility,\n        GL_ARB_compressed_texture_pixel_storage,\n        GL_ARB_compute_shader,\n        GL_ARB_compute_variable_group_size,\n        GL_ARB_conditional_render_inverted,\n        GL_ARB_conservative_depth,\n        GL_ARB_copy_buffer,\n        GL_ARB_copy_image,\n        GL_ARB_cull_distance,\n        GL_ARB_debug_output,\n        GL_ARB_depth_buffer_float,\n        GL_ARB_depth_clamp,\n        GL_ARB_depth_texture,\n        GL_ARB_derivative_control,\n        GL_ARB_direct_state_access,\n        GL_ARB_draw_buffers,\n        GL_ARB_draw_buffers_blend,\n        GL_ARB_draw_elements_base_vertex,\n        GL_ARB_draw_indirect,\n        GL_ARB_draw_instanced,\n        GL_ARB_enhanced_layouts,\n        GL_ARB_explicit_attrib_location,\n        GL_ARB_explicit_uniform_location,\n        GL_ARB_fragment_coord_conventions,\n        GL_ARB_fragment_layer_viewport,\n        GL_ARB_fragment_program,\n        GL_ARB_fragment_program_shadow,\n        GL_ARB_fragment_shader,\n        GL_ARB_fragment_shader_interlock,\n        GL_ARB_framebuffer_no_attachments,\n        GL_ARB_framebuffer_object,\n        GL_ARB_framebuffer_sRGB,\n        GL_ARB_geometry_shader4,\n        GL_ARB_get_program_binary,\n        GL_ARB_get_texture_sub_image,\n        GL_ARB_gl_spirv,\n        GL_ARB_gpu_shader5,\n        GL_ARB_gpu_shader_fp64,\n        GL_ARB_gpu_shader_int64,\n        GL_ARB_half_float_pixel,\n        GL_ARB_half_float_vertex,\n        GL_ARB_imaging,\n        GL_ARB_indirect_parameters,\n        GL_ARB_instanced_arrays,\n        GL_ARB_internalformat_query,\n        GL_ARB_internalformat_query2,\n        GL_ARB_invalidate_subdata,\n        GL_ARB_map_buffer_alignment,\n        GL_ARB_map_buffer_range,\n        GL_ARB_matrix_palette,\n        GL_ARB_multi_bind,\n        GL_ARB_multi_draw_indirect,\n        GL_ARB_multisample,\n        GL_ARB_multitexture,\n        GL_ARB_occlusion_query,\n        GL_ARB_occlusion_query2,\n        GL_ARB_parallel_shader_compile,\n        GL_ARB_pipeline_statistics_query,\n        GL_ARB_pixel_buffer_object,\n        GL_ARB_point_parameters,\n        GL_ARB_point_sprite,\n        GL_ARB_polygon_offset_clamp,\n        GL_ARB_post_depth_coverage,\n        GL_ARB_program_interface_query,\n        GL_ARB_provoking_vertex,\n        GL_ARB_query_buffer_object,\n        GL_ARB_robust_buffer_access_behavior,\n        GL_ARB_robustness,\n        GL_ARB_robustness_isolation,\n        GL_ARB_sample_locations,\n        GL_ARB_sample_shading,\n        GL_ARB_sampler_objects,\n        GL_ARB_seamless_cube_map,\n        GL_ARB_seamless_cubemap_per_texture,\n        GL_ARB_separate_shader_objects,\n        GL_ARB_shader_atomic_counter_ops,\n        GL_ARB_shader_atomic_counters,\n        GL_ARB_shader_ballot,\n        GL_ARB_shader_bit_encoding,\n        GL_ARB_shader_clock,\n        GL_ARB_shader_draw_parameters,\n        GL_ARB_shader_group_vote,\n        GL_ARB_shader_image_load_store,\n        GL_ARB_shader_image_size,\n        GL_ARB_shader_objects,\n        GL_ARB_shader_precision,\n        GL_ARB_shader_stencil_export,\n        GL_ARB_shader_storage_buffer_object,\n        GL_ARB_shader_subroutine,\n        GL_ARB_shader_texture_image_samples,\n        GL_ARB_shader_texture_lod,\n        GL_ARB_shader_viewport_layer_array,\n        GL_ARB_shading_language_100,\n        GL_ARB_shading_language_420pack,\n        GL_ARB_shading_language_include,\n        GL_ARB_shading_language_packing,\n        GL_ARB_shadow,\n        GL_ARB_shadow_ambient,\n        GL_ARB_sparse_buffer,\n        GL_ARB_sparse_texture,\n        GL_ARB_sparse_texture2,\n        GL_ARB_sparse_texture_clamp,\n        GL_ARB_spirv_extensions,\n        GL_ARB_stencil_texturing,\n        GL_ARB_sync,\n        GL_ARB_tessellation_shader,\n        GL_ARB_texture_barrier,\n        GL_ARB_texture_border_clamp,\n        GL_ARB_texture_buffer_object,\n        GL_ARB_texture_buffer_object_rgb32,\n        GL_ARB_texture_buffer_range,\n        GL_ARB_texture_compression,\n        GL_ARB_texture_compression_bptc,\n        GL_ARB_texture_compression_rgtc,\n        GL_ARB_texture_cube_map,\n        GL_ARB_texture_cube_map_array,\n        GL_ARB_texture_env_add,\n        GL_ARB_texture_env_combine,\n        GL_ARB_texture_env_crossbar,\n        GL_ARB_texture_env_dot3,\n        GL_ARB_texture_filter_anisotropic,\n        GL_ARB_texture_filter_minmax,\n        GL_ARB_texture_float,\n        GL_ARB_texture_gather,\n        GL_ARB_texture_mirror_clamp_to_edge,\n        GL_ARB_texture_mirrored_repeat,\n        GL_ARB_texture_multisample,\n        GL_ARB_texture_non_power_of_two,\n        GL_ARB_texture_query_levels,\n        GL_ARB_texture_query_lod,\n        GL_ARB_texture_rectangle,\n        GL_ARB_texture_rg,\n        GL_ARB_texture_rgb10_a2ui,\n        GL_ARB_texture_stencil8,\n        GL_ARB_texture_storage,\n        GL_ARB_texture_storage_multisample,\n        GL_ARB_texture_swizzle,\n        GL_ARB_texture_view,\n        GL_ARB_timer_query,\n        GL_ARB_transform_feedback2,\n        GL_ARB_transform_feedback3,\n        GL_ARB_transform_feedback_instanced,\n        GL_ARB_transform_feedback_overflow_query,\n        GL_ARB_transpose_matrix,\n        GL_ARB_uniform_buffer_object,\n        GL_ARB_vertex_array_bgra,\n        GL_ARB_vertex_array_object,\n        GL_ARB_vertex_attrib_64bit,\n        GL_ARB_vertex_attrib_binding,\n        GL_ARB_vertex_blend,\n        GL_ARB_vertex_buffer_object,\n        GL_ARB_vertex_program,\n        GL_ARB_vertex_shader,\n        GL_ARB_vertex_type_10f_11f_11f_rev,\n        GL_ARB_vertex_type_2_10_10_10_rev,\n        GL_ARB_viewport_array,\n        GL_ARB_window_pos,\n        GL_ATI_draw_buffers,\n        GL_ATI_element_array,\n        GL_ATI_envmap_bumpmap,\n        GL_ATI_fragment_shader,\n        GL_ATI_map_object_buffer,\n        GL_ATI_meminfo,\n        GL_ATI_pixel_format_float,\n        GL_ATI_pn_triangles,\n        GL_ATI_separate_stencil,\n        GL_ATI_text_fragment_shader,\n        GL_ATI_texture_env_combine3,\n        GL_ATI_texture_float,\n        GL_ATI_texture_mirror_once,\n        GL_ATI_vertex_array_object,\n        GL_ATI_vertex_attrib_array_object,\n        GL_ATI_vertex_streams,\n        GL_EXT_422_pixels,\n        GL_EXT_abgr,\n        GL_EXT_bgra,\n        GL_EXT_bindable_uniform,\n        GL_EXT_blend_color,\n        GL_EXT_blend_equation_separate,\n        GL_EXT_blend_func_separate,\n        GL_EXT_blend_logic_op,\n        GL_EXT_blend_minmax,\n        GL_EXT_blend_subtract,\n        GL_EXT_clip_volume_hint,\n        GL_EXT_cmyka,\n        GL_EXT_color_subtable,\n        GL_EXT_compiled_vertex_array,\n        GL_EXT_convolution,\n        GL_EXT_coordinate_frame,\n        GL_EXT_copy_texture,\n        GL_EXT_cull_vertex,\n        GL_EXT_debug_label,\n        GL_EXT_debug_marker,\n        GL_EXT_depth_bounds_test,\n        GL_EXT_direct_state_access,\n        GL_EXT_draw_buffers2,\n        GL_EXT_draw_instanced,\n        GL_EXT_draw_range_elements,\n        GL_EXT_external_buffer,\n        GL_EXT_fog_coord,\n        GL_EXT_framebuffer_blit,\n        GL_EXT_framebuffer_multisample,\n        GL_EXT_framebuffer_multisample_blit_scaled,\n        GL_EXT_framebuffer_object,\n        GL_EXT_framebuffer_sRGB,\n        GL_EXT_geometry_shader4,\n        GL_EXT_gpu_program_parameters,\n        GL_EXT_gpu_shader4,\n        GL_EXT_histogram,\n        GL_EXT_index_array_formats,\n        GL_EXT_index_func,\n        GL_EXT_index_material,\n        GL_EXT_index_texture,\n        GL_EXT_light_texture,\n        GL_EXT_memory_object,\n        GL_EXT_memory_object_fd,\n        GL_EXT_memory_object_win32,\n        GL_EXT_misc_attribute,\n        GL_EXT_multi_draw_arrays,\n        GL_EXT_multisample,\n        GL_EXT_packed_depth_stencil,\n        GL_EXT_packed_float,\n        GL_EXT_packed_pixels,\n        GL_EXT_paletted_texture,\n        GL_EXT_pixel_buffer_object,\n        GL_EXT_pixel_transform,\n        GL_EXT_pixel_transform_color_table,\n        GL_EXT_point_parameters,\n        GL_EXT_polygon_offset,\n        GL_EXT_polygon_offset_clamp,\n        GL_EXT_post_depth_coverage,\n        GL_EXT_provoking_vertex,\n        GL_EXT_raster_multisample,\n        GL_EXT_rescale_normal,\n        GL_EXT_secondary_color,\n        GL_EXT_semaphore,\n        GL_EXT_semaphore_fd,\n        GL_EXT_semaphore_win32,\n        GL_EXT_separate_shader_objects,\n        GL_EXT_separate_specular_color,\n        GL_EXT_shader_image_load_formatted,\n        GL_EXT_shader_image_load_store,\n        GL_EXT_shader_integer_mix,\n        GL_EXT_shadow_funcs,\n        GL_EXT_shared_texture_palette,\n        GL_EXT_sparse_texture2,\n        GL_EXT_stencil_clear_tag,\n        GL_EXT_stencil_two_side,\n        GL_EXT_stencil_wrap,\n        GL_EXT_subtexture,\n        GL_EXT_texture,\n        GL_EXT_texture3D,\n        GL_EXT_texture_array,\n        GL_EXT_texture_buffer_object,\n        GL_EXT_texture_compression_latc,\n        GL_EXT_texture_compression_rgtc,\n        GL_EXT_texture_compression_s3tc,\n        GL_EXT_texture_cube_map,\n        GL_EXT_texture_env_add,\n        GL_EXT_texture_env_combine,\n        GL_EXT_texture_env_dot3,\n        GL_EXT_texture_filter_anisotropic,\n        GL_EXT_texture_filter_minmax,\n        GL_EXT_texture_integer,\n        GL_EXT_texture_lod_bias,\n        GL_EXT_texture_mirror_clamp,\n        GL_EXT_texture_object,\n        GL_EXT_texture_perturb_normal,\n        GL_EXT_texture_sRGB,\n        GL_EXT_texture_sRGB_decode,\n        GL_EXT_texture_shared_exponent,\n        GL_EXT_texture_snorm,\n        GL_EXT_texture_swizzle,\n        GL_EXT_timer_query,\n        GL_EXT_transform_feedback,\n        GL_EXT_vertex_array,\n        GL_EXT_vertex_array_bgra,\n        GL_EXT_vertex_attrib_64bit,\n        GL_EXT_vertex_shader,\n        GL_EXT_vertex_weighting,\n        GL_EXT_win32_keyed_mutex,\n        GL_EXT_window_rectangles,\n        GL_EXT_x11_sync_object,\n        GL_GREMEDY_frame_terminator,\n        GL_GREMEDY_string_marker,\n        GL_HP_convolution_border_modes,\n        GL_HP_image_transform,\n        GL_HP_occlusion_test,\n        GL_HP_texture_lighting,\n        GL_IBM_cull_vertex,\n        GL_IBM_multimode_draw_arrays,\n        GL_IBM_rasterpos_clip,\n        GL_IBM_static_data,\n        GL_IBM_texture_mirrored_repeat,\n        GL_IBM_vertex_array_lists,\n        GL_INGR_blend_func_separate,\n        GL_INGR_color_clamp,\n        GL_INGR_interlace_read,\n        GL_INTEL_conservative_rasterization,\n        GL_INTEL_fragment_shader_ordering,\n        GL_INTEL_framebuffer_CMAA,\n        GL_INTEL_map_texture,\n        GL_INTEL_parallel_arrays,\n        GL_INTEL_performance_query,\n        GL_KHR_blend_equation_advanced,\n        GL_KHR_blend_equation_advanced_coherent,\n        GL_KHR_context_flush_control,\n        GL_KHR_debug,\n        GL_KHR_no_error,\n        GL_KHR_parallel_shader_compile,\n        GL_KHR_robust_buffer_access_behavior,\n        GL_KHR_robustness,\n        GL_KHR_texture_compression_astc_hdr,\n        GL_KHR_texture_compression_astc_ldr,\n        GL_KHR_texture_compression_astc_sliced_3d,\n        GL_MESAX_texture_stack,\n        GL_MESA_pack_invert,\n        GL_MESA_resize_buffers,\n        GL_MESA_shader_integer_functions,\n        GL_MESA_tile_raster_order,\n        GL_MESA_window_pos,\n        GL_MESA_ycbcr_texture,\n        GL_NVX_blend_equation_advanced_multi_draw_buffers,\n        GL_NVX_conditional_render,\n        GL_NVX_gpu_memory_info,\n        GL_NVX_linked_gpu_multicast,\n        GL_NV_alpha_to_coverage_dither_control,\n        GL_NV_bindless_multi_draw_indirect,\n        GL_NV_bindless_multi_draw_indirect_count,\n        GL_NV_bindless_texture,\n        GL_NV_blend_equation_advanced,\n        GL_NV_blend_equation_advanced_coherent,\n        GL_NV_blend_minmax_factor,\n        GL_NV_blend_square,\n        GL_NV_clip_space_w_scaling,\n        GL_NV_command_list,\n        GL_NV_compute_program5,\n        GL_NV_conditional_render,\n        GL_NV_conservative_raster,\n        GL_NV_conservative_raster_dilate,\n        GL_NV_conservative_raster_pre_snap_triangles,\n        GL_NV_copy_depth_to_color,\n        GL_NV_copy_image,\n        GL_NV_deep_texture3D,\n        GL_NV_depth_buffer_float,\n        GL_NV_depth_clamp,\n        GL_NV_draw_texture,\n        GL_NV_draw_vulkan_image,\n        GL_NV_evaluators,\n        GL_NV_explicit_multisample,\n        GL_NV_fence,\n        GL_NV_fill_rectangle,\n        GL_NV_float_buffer,\n        GL_NV_fog_distance,\n        GL_NV_fragment_coverage_to_color,\n        GL_NV_fragment_program,\n        GL_NV_fragment_program2,\n        GL_NV_fragment_program4,\n        GL_NV_fragment_program_option,\n        GL_NV_fragment_shader_interlock,\n        GL_NV_framebuffer_mixed_samples,\n        GL_NV_framebuffer_multisample_coverage,\n        GL_NV_geometry_program4,\n        GL_NV_geometry_shader4,\n        GL_NV_geometry_shader_passthrough,\n        GL_NV_gpu_multicast,\n        GL_NV_gpu_program4,\n        GL_NV_gpu_program5,\n        GL_NV_gpu_program5_mem_extended,\n        GL_NV_gpu_shader5,\n        GL_NV_half_float,\n        GL_NV_internalformat_sample_query,\n        GL_NV_light_max_exponent,\n        GL_NV_multisample_coverage,\n        GL_NV_multisample_filter_hint,\n        GL_NV_occlusion_query,\n        GL_NV_packed_depth_stencil,\n        GL_NV_parameter_buffer_object,\n        GL_NV_parameter_buffer_object2,\n        GL_NV_path_rendering,\n        GL_NV_path_rendering_shared_edge,\n        GL_NV_pixel_data_range,\n        GL_NV_point_sprite,\n        GL_NV_present_video,\n        GL_NV_primitive_restart,\n        GL_NV_query_resource,\n        GL_NV_query_resource_tag,\n        GL_NV_register_combiners,\n        GL_NV_register_combiners2,\n        GL_NV_robustness_video_memory_purge,\n        GL_NV_sample_locations,\n        GL_NV_sample_mask_override_coverage,\n        GL_NV_shader_atomic_counters,\n        GL_NV_shader_atomic_float,\n        GL_NV_shader_atomic_float64,\n        GL_NV_shader_atomic_fp16_vector,\n        GL_NV_shader_atomic_int64,\n        GL_NV_shader_buffer_load,\n        GL_NV_shader_buffer_store,\n        GL_NV_shader_storage_buffer_object,\n        GL_NV_shader_thread_group,\n        GL_NV_shader_thread_shuffle,\n        GL_NV_stereo_view_rendering,\n        GL_NV_tessellation_program5,\n        GL_NV_texgen_emboss,\n        GL_NV_texgen_reflection,\n        GL_NV_texture_barrier,\n        GL_NV_texture_compression_vtc,\n        GL_NV_texture_env_combine4,\n        GL_NV_texture_expand_normal,\n        GL_NV_texture_multisample,\n        GL_NV_texture_rectangle,\n        GL_NV_texture_rectangle_compressed,\n        GL_NV_texture_shader,\n        GL_NV_texture_shader2,\n        GL_NV_texture_shader3,\n        GL_NV_transform_feedback,\n        GL_NV_transform_feedback2,\n        GL_NV_uniform_buffer_unified_memory,\n        GL_NV_vdpau_interop,\n        GL_NV_vertex_array_range,\n        GL_NV_vertex_array_range2,\n        GL_NV_vertex_attrib_integer_64bit,\n        GL_NV_vertex_buffer_unified_memory,\n        GL_NV_vertex_program,\n        GL_NV_vertex_program1_1,\n        GL_NV_vertex_program2,\n        GL_NV_vertex_program2_option,\n        GL_NV_vertex_program3,\n        GL_NV_vertex_program4,\n        GL_NV_video_capture,\n        GL_NV_viewport_array2,\n        GL_NV_viewport_swizzle,\n        GL_OES_byte_coordinates,\n        GL_OES_compressed_paletted_texture,\n        GL_OES_fixed_point,\n        GL_OES_query_matrix,\n        GL_OES_read_format,\n        GL_OES_single_precision,\n        GL_OML_interlace,\n        GL_OML_resample,\n        GL_OML_subsample,\n        GL_OVR_multiview,\n        GL_OVR_multiview2,\n        GL_PGI_misc_hints,\n        GL_PGI_vertex_hints,\n        GL_REND_screen_coordinates,\n        GL_S3_s3tc,\n        GL_SGIS_detail_texture,\n        GL_SGIS_fog_function,\n        GL_SGIS_generate_mipmap,\n        GL_SGIS_multisample,\n        GL_SGIS_pixel_texture,\n        GL_SGIS_point_line_texgen,\n        GL_SGIS_point_parameters,\n        GL_SGIS_sharpen_texture,\n        GL_SGIS_texture4D,\n        GL_SGIS_texture_border_clamp,\n        GL_SGIS_texture_color_mask,\n        GL_SGIS_texture_edge_clamp,\n        GL_SGIS_texture_filter4,\n        GL_SGIS_texture_lod,\n        GL_SGIS_texture_select,\n        GL_SGIX_async,\n        GL_SGIX_async_histogram,\n        GL_SGIX_async_pixel,\n        GL_SGIX_blend_alpha_minmax,\n        GL_SGIX_calligraphic_fragment,\n        GL_SGIX_clipmap,\n        GL_SGIX_convolution_accuracy,\n        GL_SGIX_depth_pass_instrument,\n        GL_SGIX_depth_texture,\n        GL_SGIX_flush_raster,\n        GL_SGIX_fog_offset,\n        GL_SGIX_fragment_lighting,\n        GL_SGIX_framezoom,\n        GL_SGIX_igloo_interface,\n        GL_SGIX_instruments,\n        GL_SGIX_interlace,\n        GL_SGIX_ir_instrument1,\n        GL_SGIX_list_priority,\n        GL_SGIX_pixel_texture,\n        GL_SGIX_pixel_tiles,\n        GL_SGIX_polynomial_ffd,\n        GL_SGIX_reference_plane,\n        GL_SGIX_resample,\n        GL_SGIX_scalebias_hint,\n        GL_SGIX_shadow,\n        GL_SGIX_shadow_ambient,\n        GL_SGIX_sprite,\n        GL_SGIX_subsample,\n        GL_SGIX_tag_sample_buffer,\n        GL_SGIX_texture_add_env,\n        GL_SGIX_texture_coordinate_clamp,\n        GL_SGIX_texture_lod_bias,\n        GL_SGIX_texture_multi_buffer,\n        GL_SGIX_texture_scale_bias,\n        GL_SGIX_vertex_preclip,\n        GL_SGIX_ycrcb,\n        GL_SGIX_ycrcb_subsample,\n        GL_SGIX_ycrcba,\n        GL_SGI_color_matrix,\n        GL_SGI_color_table,\n        GL_SGI_texture_color_table,\n        GL_SUNX_constant_data,\n        GL_SUN_convolution_border_modes,\n        GL_SUN_global_alpha,\n        GL_SUN_mesh_array,\n        GL_SUN_slice_accum,\n        GL_SUN_triangle_list,\n        GL_SUN_vertex,\n        GL_WIN_phong_shading,\n        GL_WIN_specular_fog\n    Loader: True\n    Local files: False\n    Omit khrplatform: False\n\n    Commandline:\n        --profile=\"compatibility\" --api=\"gl=4.6\" --generator=\"c\" --spec=\"gl\" --extensions=\"GL_3DFX_multisample,GL_3DFX_tbuffer,GL_3DFX_texture_compression_FXT1,GL_AMD_blend_minmax_factor,GL_AMD_conservative_depth,GL_AMD_debug_output,GL_AMD_depth_clamp_separate,GL_AMD_draw_buffers_blend,GL_AMD_framebuffer_sample_positions,GL_AMD_gcn_shader,GL_AMD_gpu_shader_half_float,GL_AMD_gpu_shader_int16,GL_AMD_gpu_shader_int64,GL_AMD_interleaved_elements,GL_AMD_multi_draw_indirect,GL_AMD_name_gen_delete,GL_AMD_occlusion_query_event,GL_AMD_performance_monitor,GL_AMD_pinned_memory,GL_AMD_query_buffer_object,GL_AMD_sample_positions,GL_AMD_seamless_cubemap_per_texture,GL_AMD_shader_atomic_counter_ops,GL_AMD_shader_ballot,GL_AMD_shader_explicit_vertex_parameter,GL_AMD_shader_image_load_store_lod,GL_AMD_shader_stencil_export,GL_AMD_shader_trinary_minmax,GL_AMD_sparse_texture,GL_AMD_stencil_operation_extended,GL_AMD_texture_gather_bias_lod,GL_AMD_texture_texture4,GL_AMD_transform_feedback3_lines_triangles,GL_AMD_transform_feedback4,GL_AMD_vertex_shader_layer,GL_AMD_vertex_shader_tessellator,GL_AMD_vertex_shader_viewport_index,GL_APPLE_aux_depth_stencil,GL_APPLE_client_storage,GL_APPLE_element_array,GL_APPLE_fence,GL_APPLE_float_pixels,GL_APPLE_flush_buffer_range,GL_APPLE_object_purgeable,GL_APPLE_rgb_422,GL_APPLE_row_bytes,GL_APPLE_specular_vector,GL_APPLE_texture_range,GL_APPLE_transform_hint,GL_APPLE_vertex_array_object,GL_APPLE_vertex_array_range,GL_APPLE_vertex_program_evaluators,GL_APPLE_ycbcr_422,GL_ARB_ES2_compatibility,GL_ARB_ES3_1_compatibility,GL_ARB_ES3_2_compatibility,GL_ARB_ES3_compatibility,GL_ARB_arrays_of_arrays,GL_ARB_base_instance,GL_ARB_bindless_texture,GL_ARB_blend_func_extended,GL_ARB_buffer_storage,GL_ARB_cl_event,GL_ARB_clear_buffer_object,GL_ARB_clear_texture,GL_ARB_clip_control,GL_ARB_color_buffer_float,GL_ARB_compatibility,GL_ARB_compressed_texture_pixel_storage,GL_ARB_compute_shader,GL_ARB_compute_variable_group_size,GL_ARB_conditional_render_inverted,GL_ARB_conservative_depth,GL_ARB_copy_buffer,GL_ARB_copy_image,GL_ARB_cull_distance,GL_ARB_debug_output,GL_ARB_depth_buffer_float,GL_ARB_depth_clamp,GL_ARB_depth_texture,GL_ARB_derivative_control,GL_ARB_direct_state_access,GL_ARB_draw_buffers,GL_ARB_draw_buffers_blend,GL_ARB_draw_elements_base_vertex,GL_ARB_draw_indirect,GL_ARB_draw_instanced,GL_ARB_enhanced_layouts,GL_ARB_explicit_attrib_location,GL_ARB_explicit_uniform_location,GL_ARB_fragment_coord_conventions,GL_ARB_fragment_layer_viewport,GL_ARB_fragment_program,GL_ARB_fragment_program_shadow,GL_ARB_fragment_shader,GL_ARB_fragment_shader_interlock,GL_ARB_framebuffer_no_attachments,GL_ARB_framebuffer_object,GL_ARB_framebuffer_sRGB,GL_ARB_geometry_shader4,GL_ARB_get_program_binary,GL_ARB_get_texture_sub_image,GL_ARB_gl_spirv,GL_ARB_gpu_shader5,GL_ARB_gpu_shader_fp64,GL_ARB_gpu_shader_int64,GL_ARB_half_float_pixel,GL_ARB_half_float_vertex,GL_ARB_imaging,GL_ARB_indirect_parameters,GL_ARB_instanced_arrays,GL_ARB_internalformat_query,GL_ARB_internalformat_query2,GL_ARB_invalidate_subdata,GL_ARB_map_buffer_alignment,GL_ARB_map_buffer_range,GL_ARB_matrix_palette,GL_ARB_multi_bind,GL_ARB_multi_draw_indirect,GL_ARB_multisample,GL_ARB_multitexture,GL_ARB_occlusion_query,GL_ARB_occlusion_query2,GL_ARB_parallel_shader_compile,GL_ARB_pipeline_statistics_query,GL_ARB_pixel_buffer_object,GL_ARB_point_parameters,GL_ARB_point_sprite,GL_ARB_polygon_offset_clamp,GL_ARB_post_depth_coverage,GL_ARB_program_interface_query,GL_ARB_provoking_vertex,GL_ARB_query_buffer_object,GL_ARB_robust_buffer_access_behavior,GL_ARB_robustness,GL_ARB_robustness_isolation,GL_ARB_sample_locations,GL_ARB_sample_shading,GL_ARB_sampler_objects,GL_ARB_seamless_cube_map,GL_ARB_seamless_cubemap_per_texture,GL_ARB_separate_shader_objects,GL_ARB_shader_atomic_counter_ops,GL_ARB_shader_atomic_counters,GL_ARB_shader_ballot,GL_ARB_shader_bit_encoding,GL_ARB_shader_clock,GL_ARB_shader_draw_parameters,GL_ARB_shader_group_vote,GL_ARB_shader_image_load_store,GL_ARB_shader_image_size,GL_ARB_shader_objects,GL_ARB_shader_precision,GL_ARB_shader_stencil_export,GL_ARB_shader_storage_buffer_object,GL_ARB_shader_subroutine,GL_ARB_shader_texture_image_samples,GL_ARB_shader_texture_lod,GL_ARB_shader_viewport_layer_array,GL_ARB_shading_language_100,GL_ARB_shading_language_420pack,GL_ARB_shading_language_include,GL_ARB_shading_language_packing,GL_ARB_shadow,GL_ARB_shadow_ambient,GL_ARB_sparse_buffer,GL_ARB_sparse_texture,GL_ARB_sparse_texture2,GL_ARB_sparse_texture_clamp,GL_ARB_spirv_extensions,GL_ARB_stencil_texturing,GL_ARB_sync,GL_ARB_tessellation_shader,GL_ARB_texture_barrier,GL_ARB_texture_border_clamp,GL_ARB_texture_buffer_object,GL_ARB_texture_buffer_object_rgb32,GL_ARB_texture_buffer_range,GL_ARB_texture_compression,GL_ARB_texture_compression_bptc,GL_ARB_texture_compression_rgtc,GL_ARB_texture_cube_map,GL_ARB_texture_cube_map_array,GL_ARB_texture_env_add,GL_ARB_texture_env_combine,GL_ARB_texture_env_crossbar,GL_ARB_texture_env_dot3,GL_ARB_texture_filter_anisotropic,GL_ARB_texture_filter_minmax,GL_ARB_texture_float,GL_ARB_texture_gather,GL_ARB_texture_mirror_clamp_to_edge,GL_ARB_texture_mirrored_repeat,GL_ARB_texture_multisample,GL_ARB_texture_non_power_of_two,GL_ARB_texture_query_levels,GL_ARB_texture_query_lod,GL_ARB_texture_rectangle,GL_ARB_texture_rg,GL_ARB_texture_rgb10_a2ui,GL_ARB_texture_stencil8,GL_ARB_texture_storage,GL_ARB_texture_storage_multisample,GL_ARB_texture_swizzle,GL_ARB_texture_view,GL_ARB_timer_query,GL_ARB_transform_feedback2,GL_ARB_transform_feedback3,GL_ARB_transform_feedback_instanced,GL_ARB_transform_feedback_overflow_query,GL_ARB_transpose_matrix,GL_ARB_uniform_buffer_object,GL_ARB_vertex_array_bgra,GL_ARB_vertex_array_object,GL_ARB_vertex_attrib_64bit,GL_ARB_vertex_attrib_binding,GL_ARB_vertex_blend,GL_ARB_vertex_buffer_object,GL_ARB_vertex_program,GL_ARB_vertex_shader,GL_ARB_vertex_type_10f_11f_11f_rev,GL_ARB_vertex_type_2_10_10_10_rev,GL_ARB_viewport_array,GL_ARB_window_pos,GL_ATI_draw_buffers,GL_ATI_element_array,GL_ATI_envmap_bumpmap,GL_ATI_fragment_shader,GL_ATI_map_object_buffer,GL_ATI_meminfo,GL_ATI_pixel_format_float,GL_ATI_pn_triangles,GL_ATI_separate_stencil,GL_ATI_text_fragment_shader,GL_ATI_texture_env_combine3,GL_ATI_texture_float,GL_ATI_texture_mirror_once,GL_ATI_vertex_array_object,GL_ATI_vertex_attrib_array_object,GL_ATI_vertex_streams,GL_EXT_422_pixels,GL_EXT_abgr,GL_EXT_bgra,GL_EXT_bindable_uniform,GL_EXT_blend_color,GL_EXT_blend_equation_separate,GL_EXT_blend_func_separate,GL_EXT_blend_logic_op,GL_EXT_blend_minmax,GL_EXT_blend_subtract,GL_EXT_clip_volume_hint,GL_EXT_cmyka,GL_EXT_color_subtable,GL_EXT_compiled_vertex_array,GL_EXT_convolution,GL_EXT_coordinate_frame,GL_EXT_copy_texture,GL_EXT_cull_vertex,GL_EXT_debug_label,GL_EXT_debug_marker,GL_EXT_depth_bounds_test,GL_EXT_direct_state_access,GL_EXT_draw_buffers2,GL_EXT_draw_instanced,GL_EXT_draw_range_elements,GL_EXT_external_buffer,GL_EXT_fog_coord,GL_EXT_framebuffer_blit,GL_EXT_framebuffer_multisample,GL_EXT_framebuffer_multisample_blit_scaled,GL_EXT_framebuffer_object,GL_EXT_framebuffer_sRGB,GL_EXT_geometry_shader4,GL_EXT_gpu_program_parameters,GL_EXT_gpu_shader4,GL_EXT_histogram,GL_EXT_index_array_formats,GL_EXT_index_func,GL_EXT_index_material,GL_EXT_index_texture,GL_EXT_light_texture,GL_EXT_memory_object,GL_EXT_memory_object_fd,GL_EXT_memory_object_win32,GL_EXT_misc_attribute,GL_EXT_multi_draw_arrays,GL_EXT_multisample,GL_EXT_packed_depth_stencil,GL_EXT_packed_float,GL_EXT_packed_pixels,GL_EXT_paletted_texture,GL_EXT_pixel_buffer_object,GL_EXT_pixel_transform,GL_EXT_pixel_transform_color_table,GL_EXT_point_parameters,GL_EXT_polygon_offset,GL_EXT_polygon_offset_clamp,GL_EXT_post_depth_coverage,GL_EXT_provoking_vertex,GL_EXT_raster_multisample,GL_EXT_rescale_normal,GL_EXT_secondary_color,GL_EXT_semaphore,GL_EXT_semaphore_fd,GL_EXT_semaphore_win32,GL_EXT_separate_shader_objects,GL_EXT_separate_specular_color,GL_EXT_shader_image_load_formatted,GL_EXT_shader_image_load_store,GL_EXT_shader_integer_mix,GL_EXT_shadow_funcs,GL_EXT_shared_texture_palette,GL_EXT_sparse_texture2,GL_EXT_stencil_clear_tag,GL_EXT_stencil_two_side,GL_EXT_stencil_wrap,GL_EXT_subtexture,GL_EXT_texture,GL_EXT_texture3D,GL_EXT_texture_array,GL_EXT_texture_buffer_object,GL_EXT_texture_compression_latc,GL_EXT_texture_compression_rgtc,GL_EXT_texture_compression_s3tc,GL_EXT_texture_cube_map,GL_EXT_texture_env_add,GL_EXT_texture_env_combine,GL_EXT_texture_env_dot3,GL_EXT_texture_filter_anisotropic,GL_EXT_texture_filter_minmax,GL_EXT_texture_integer,GL_EXT_texture_lod_bias,GL_EXT_texture_mirror_clamp,GL_EXT_texture_object,GL_EXT_texture_perturb_normal,GL_EXT_texture_sRGB,GL_EXT_texture_sRGB_decode,GL_EXT_texture_shared_exponent,GL_EXT_texture_snorm,GL_EXT_texture_swizzle,GL_EXT_timer_query,GL_EXT_transform_feedback,GL_EXT_vertex_array,GL_EXT_vertex_array_bgra,GL_EXT_vertex_attrib_64bit,GL_EXT_vertex_shader,GL_EXT_vertex_weighting,GL_EXT_win32_keyed_mutex,GL_EXT_window_rectangles,GL_EXT_x11_sync_object,GL_GREMEDY_frame_terminator,GL_GREMEDY_string_marker,GL_HP_convolution_border_modes,GL_HP_image_transform,GL_HP_occlusion_test,GL_HP_texture_lighting,GL_IBM_cull_vertex,GL_IBM_multimode_draw_arrays,GL_IBM_rasterpos_clip,GL_IBM_static_data,GL_IBM_texture_mirrored_repeat,GL_IBM_vertex_array_lists,GL_INGR_blend_func_separate,GL_INGR_color_clamp,GL_INGR_interlace_read,GL_INTEL_conservative_rasterization,GL_INTEL_fragment_shader_ordering,GL_INTEL_framebuffer_CMAA,GL_INTEL_map_texture,GL_INTEL_parallel_arrays,GL_INTEL_performance_query,GL_KHR_blend_equation_advanced,GL_KHR_blend_equation_advanced_coherent,GL_KHR_context_flush_control,GL_KHR_debug,GL_KHR_no_error,GL_KHR_parallel_shader_compile,GL_KHR_robust_buffer_access_behavior,GL_KHR_robustness,GL_KHR_texture_compression_astc_hdr,GL_KHR_texture_compression_astc_ldr,GL_KHR_texture_compression_astc_sliced_3d,GL_MESAX_texture_stack,GL_MESA_pack_invert,GL_MESA_resize_buffers,GL_MESA_shader_integer_functions,GL_MESA_tile_raster_order,GL_MESA_window_pos,GL_MESA_ycbcr_texture,GL_NVX_blend_equation_advanced_multi_draw_buffers,GL_NVX_conditional_render,GL_NVX_gpu_memory_info,GL_NVX_linked_gpu_multicast,GL_NV_alpha_to_coverage_dither_control,GL_NV_bindless_multi_draw_indirect,GL_NV_bindless_multi_draw_indirect_count,GL_NV_bindless_texture,GL_NV_blend_equation_advanced,GL_NV_blend_equation_advanced_coherent,GL_NV_blend_minmax_factor,GL_NV_blend_square,GL_NV_clip_space_w_scaling,GL_NV_command_list,GL_NV_compute_program5,GL_NV_conditional_render,GL_NV_conservative_raster,GL_NV_conservative_raster_dilate,GL_NV_conservative_raster_pre_snap_triangles,GL_NV_copy_depth_to_color,GL_NV_copy_image,GL_NV_deep_texture3D,GL_NV_depth_buffer_float,GL_NV_depth_clamp,GL_NV_draw_texture,GL_NV_draw_vulkan_image,GL_NV_evaluators,GL_NV_explicit_multisample,GL_NV_fence,GL_NV_fill_rectangle,GL_NV_float_buffer,GL_NV_fog_distance,GL_NV_fragment_coverage_to_color,GL_NV_fragment_program,GL_NV_fragment_program2,GL_NV_fragment_program4,GL_NV_fragment_program_option,GL_NV_fragment_shader_interlock,GL_NV_framebuffer_mixed_samples,GL_NV_framebuffer_multisample_coverage,GL_NV_geometry_program4,GL_NV_geometry_shader4,GL_NV_geometry_shader_passthrough,GL_NV_gpu_multicast,GL_NV_gpu_program4,GL_NV_gpu_program5,GL_NV_gpu_program5_mem_extended,GL_NV_gpu_shader5,GL_NV_half_float,GL_NV_internalformat_sample_query,GL_NV_light_max_exponent,GL_NV_multisample_coverage,GL_NV_multisample_filter_hint,GL_NV_occlusion_query,GL_NV_packed_depth_stencil,GL_NV_parameter_buffer_object,GL_NV_parameter_buffer_object2,GL_NV_path_rendering,GL_NV_path_rendering_shared_edge,GL_NV_pixel_data_range,GL_NV_point_sprite,GL_NV_present_video,GL_NV_primitive_restart,GL_NV_query_resource,GL_NV_query_resource_tag,GL_NV_register_combiners,GL_NV_register_combiners2,GL_NV_robustness_video_memory_purge,GL_NV_sample_locations,GL_NV_sample_mask_override_coverage,GL_NV_shader_atomic_counters,GL_NV_shader_atomic_float,GL_NV_shader_atomic_float64,GL_NV_shader_atomic_fp16_vector,GL_NV_shader_atomic_int64,GL_NV_shader_buffer_load,GL_NV_shader_buffer_store,GL_NV_shader_storage_buffer_object,GL_NV_shader_thread_group,GL_NV_shader_thread_shuffle,GL_NV_stereo_view_rendering,GL_NV_tessellation_program5,GL_NV_texgen_emboss,GL_NV_texgen_reflection,GL_NV_texture_barrier,GL_NV_texture_compression_vtc,GL_NV_texture_env_combine4,GL_NV_texture_expand_normal,GL_NV_texture_multisample,GL_NV_texture_rectangle,GL_NV_texture_rectangle_compressed,GL_NV_texture_shader,GL_NV_texture_shader2,GL_NV_texture_shader3,GL_NV_transform_feedback,GL_NV_transform_feedback2,GL_NV_uniform_buffer_unified_memory,GL_NV_vdpau_interop,GL_NV_vertex_array_range,GL_NV_vertex_array_range2,GL_NV_vertex_attrib_integer_64bit,GL_NV_vertex_buffer_unified_memory,GL_NV_vertex_program,GL_NV_vertex_program1_1,GL_NV_vertex_program2,GL_NV_vertex_program2_option,GL_NV_vertex_program3,GL_NV_vertex_program4,GL_NV_video_capture,GL_NV_viewport_array2,GL_NV_viewport_swizzle,GL_OES_byte_coordinates,GL_OES_compressed_paletted_texture,GL_OES_fixed_point,GL_OES_query_matrix,GL_OES_read_format,GL_OES_single_precision,GL_OML_interlace,GL_OML_resample,GL_OML_subsample,GL_OVR_multiview,GL_OVR_multiview2,GL_PGI_misc_hints,GL_PGI_vertex_hints,GL_REND_screen_coordinates,GL_S3_s3tc,GL_SGIS_detail_texture,GL_SGIS_fog_function,GL_SGIS_generate_mipmap,GL_SGIS_multisample,GL_SGIS_pixel_texture,GL_SGIS_point_line_texgen,GL_SGIS_point_parameters,GL_SGIS_sharpen_texture,GL_SGIS_texture4D,GL_SGIS_texture_border_clamp,GL_SGIS_texture_color_mask,GL_SGIS_texture_edge_clamp,GL_SGIS_texture_filter4,GL_SGIS_texture_lod,GL_SGIS_texture_select,GL_SGIX_async,GL_SGIX_async_histogram,GL_SGIX_async_pixel,GL_SGIX_blend_alpha_minmax,GL_SGIX_calligraphic_fragment,GL_SGIX_clipmap,GL_SGIX_convolution_accuracy,GL_SGIX_depth_pass_instrument,GL_SGIX_depth_texture,GL_SGIX_flush_raster,GL_SGIX_fog_offset,GL_SGIX_fragment_lighting,GL_SGIX_framezoom,GL_SGIX_igloo_interface,GL_SGIX_instruments,GL_SGIX_interlace,GL_SGIX_ir_instrument1,GL_SGIX_list_priority,GL_SGIX_pixel_texture,GL_SGIX_pixel_tiles,GL_SGIX_polynomial_ffd,GL_SGIX_reference_plane,GL_SGIX_resample,GL_SGIX_scalebias_hint,GL_SGIX_shadow,GL_SGIX_shadow_ambient,GL_SGIX_sprite,GL_SGIX_subsample,GL_SGIX_tag_sample_buffer,GL_SGIX_texture_add_env,GL_SGIX_texture_coordinate_clamp,GL_SGIX_texture_lod_bias,GL_SGIX_texture_multi_buffer,GL_SGIX_texture_scale_bias,GL_SGIX_vertex_preclip,GL_SGIX_ycrcb,GL_SGIX_ycrcb_subsample,GL_SGIX_ycrcba,GL_SGI_color_matrix,GL_SGI_color_table,GL_SGI_texture_color_table,GL_SUNX_constant_data,GL_SUN_convolution_border_modes,GL_SUN_global_alpha,GL_SUN_mesh_array,GL_SUN_slice_accum,GL_SUN_triangle_list,GL_SUN_vertex,GL_WIN_phong_shading,GL_WIN_specular_fog\"\n    Online:\n        Too many extensions\n*/\n\n\n#ifndef __glad_h_\n#define __glad_h_\n\n#ifdef __gl_h_\n#error OpenGL header already included, remove this include, glad already provides it\n#endif\n#define __gl_h_\n\n#if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__)\n#ifndef WIN32_LEAN_AND_MEAN\n#define WIN32_LEAN_AND_MEAN 1\n#endif\n#ifndef NOMINMAX\n#define NOMINMAX 1\n#endif\n#include <windows.h>\n#endif\n\n#ifndef APIENTRY\n#define APIENTRY\n#endif\n#ifndef APIENTRYP\n#define APIENTRYP APIENTRY *\n#endif\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\nstruct gladGLversionStruct {\n    int major;\n    int minor;\n};\n\ntypedef void* (* GLADloadproc)(const char *name);\n\n#ifndef GLAPI\n# if defined(GLAD_GLAPI_EXPORT)\n#  if defined(_WIN32) || defined(__CYGWIN__)\n#   if defined(GLAD_GLAPI_EXPORT_BUILD)\n#    if defined(__GNUC__)\n#     define GLAPI __attribute__ ((dllexport)) extern\n#    else\n#     define GLAPI __declspec(dllexport) extern\n#    endif\n#   else\n#    if defined(__GNUC__)\n#     define GLAPI __attribute__ ((dllimport)) extern\n#    else\n#     define GLAPI __declspec(dllimport) extern\n#    endif\n#   endif\n#  elif defined(__GNUC__) && defined(GLAD_GLAPI_EXPORT_BUILD)\n#   define GLAPI __attribute__ ((visibility (\"default\"))) extern\n#  else\n#   define GLAPI extern\n#  endif\n# else\n#  define GLAPI extern\n# endif\n#endif\n\nGLAPI struct gladGLversionStruct GLVersion;\n\nGLAPI int gladLoadGL(void);\n\nGLAPI int gladLoadGLLoader(GLADloadproc);\n\n#include <stddef.h>\n#include \"../KHR/khrplatform.h\"\n#ifndef GLEXT_64_TYPES_DEFINED\n/* This code block is duplicated in glxext.h, so must be protected */\n#define GLEXT_64_TYPES_DEFINED\n/* Define int32_t, int64_t, and uint64_t types for UST/MSC */\n/* (as used in the GL_EXT_timer_query extension). */\n#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L\n#include <inttypes.h>\n#elif defined(__sun__) || defined(__digital__)\n#include <inttypes.h>\n#if defined(__STDC__)\n#if defined(__arch64__) || defined(_LP64)\ntypedef long int int64_t;\ntypedef unsigned long int uint64_t;\n#else\ntypedef long long int int64_t;\ntypedef unsigned long long int uint64_t;\n#endif /* __arch64__ */\n#endif /* __STDC__ */\n#elif defined( __VMS ) || defined(__sgi)\n#include <inttypes.h>\n#elif defined(__SCO__) || defined(__USLC__)\n#include <stdint.h>\n#elif defined(__UNIXOS2__) || defined(__SOL64__)\ntypedef long int int32_t;\ntypedef long long int int64_t;\ntypedef unsigned long long int uint64_t;\n#elif defined(_WIN32) && defined(__GNUC__)\n#include <stdint.h>\n#elif defined(_WIN32)\ntypedef __int32 int32_t;\ntypedef __int64 int64_t;\ntypedef unsigned __int64 uint64_t;\n#else\n/* Fallback if nothing above works */\n#include <inttypes.h>\n#endif\n#endif\ntypedef unsigned int GLenum;\ntypedef unsigned char GLboolean;\ntypedef unsigned int GLbitfield;\ntypedef void GLvoid;\ntypedef signed char GLbyte;\ntypedef short GLshort;\ntypedef int GLint;\ntypedef int GLclampx;\ntypedef unsigned char GLubyte;\ntypedef unsigned short GLushort;\ntypedef unsigned int GLuint;\ntypedef int GLsizei;\ntypedef float GLfloat;\ntypedef float GLclampf;\ntypedef double GLdouble;\ntypedef double GLclampd;\ntypedef void *GLeglClientBufferEXT;\ntypedef void *GLeglImageOES;\ntypedef char GLchar;\ntypedef char GLcharARB;\n#ifdef __APPLE__\ntypedef void *GLhandleARB;\n#else\ntypedef unsigned int GLhandleARB;\n#endif\ntypedef unsigned short GLhalfARB;\ntypedef unsigned short GLhalf;\ntypedef GLint GLfixed;\n#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && (__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ > 1060)\ntypedef long GLintptr;\n#else\ntypedef ptrdiff_t GLintptr;\n#endif\n#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && (__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ > 1060)\ntypedef long GLsizeiptr;\n#else\ntypedef ptrdiff_t GLsizeiptr;\n#endif\ntypedef int64_t GLint64;\ntypedef uint64_t GLuint64;\n#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && (__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ > 1060)\ntypedef long GLintptrARB;\n#else\ntypedef ptrdiff_t GLintptrARB;\n#endif\n#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && (__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ > 1060)\ntypedef long GLsizeiptrARB;\n#else\ntypedef ptrdiff_t GLsizeiptrARB;\n#endif\ntypedef int64_t GLint64EXT;\ntypedef uint64_t GLuint64EXT;\ntypedef struct __GLsync *GLsync;\nstruct _cl_context;\nstruct _cl_event;\ntypedef void (APIENTRY *GLDEBUGPROC)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam);\ntypedef void (APIENTRY *GLDEBUGPROCARB)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam);\ntypedef void (APIENTRY *GLDEBUGPROCKHR)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam);\ntypedef void (APIENTRY *GLDEBUGPROCAMD)(GLuint id,GLenum category,GLenum severity,GLsizei length,const GLchar *message,void *userParam);\ntypedef unsigned short GLhalfNV;\ntypedef GLintptr GLvdpauSurfaceNV;\ntypedef void (APIENTRY *GLVULKANPROCNV)(void);\n#define GL_DEPTH_BUFFER_BIT 0x00000100\n#define GL_STENCIL_BUFFER_BIT 0x00000400\n#define GL_COLOR_BUFFER_BIT 0x00004000\n#define GL_FALSE 0\n#define GL_TRUE 1\n#define GL_POINTS 0x0000\n#define GL_LINES 0x0001\n#define GL_LINE_LOOP 0x0002\n#define GL_LINE_STRIP 0x0003\n#define GL_TRIANGLES 0x0004\n#define GL_TRIANGLE_STRIP 0x0005\n#define GL_TRIANGLE_FAN 0x0006\n#define GL_QUADS 0x0007\n#define GL_NEVER 0x0200\n#define GL_LESS 0x0201\n#define GL_EQUAL 0x0202\n#define GL_LEQUAL 0x0203\n#define GL_GREATER 0x0204\n#define GL_NOTEQUAL 0x0205\n#define GL_GEQUAL 0x0206\n#define GL_ALWAYS 0x0207\n#define GL_ZERO 0\n#define GL_ONE 1\n#define GL_SRC_COLOR 0x0300\n#define GL_ONE_MINUS_SRC_COLOR 0x0301\n#define GL_SRC_ALPHA 0x0302\n#define GL_ONE_MINUS_SRC_ALPHA 0x0303\n#define GL_DST_ALPHA 0x0304\n#define GL_ONE_MINUS_DST_ALPHA 0x0305\n#define GL_DST_COLOR 0x0306\n#define GL_ONE_MINUS_DST_COLOR 0x0307\n#define GL_SRC_ALPHA_SATURATE 0x0308\n#define GL_NONE 0\n#define GL_FRONT_LEFT 0x0400\n#define GL_FRONT_RIGHT 0x0401\n#define GL_BACK_LEFT 0x0402\n#define GL_BACK_RIGHT 0x0403\n#define GL_FRONT 0x0404\n#define GL_BACK 0x0405\n#define GL_LEFT 0x0406\n#define GL_RIGHT 0x0407\n#define GL_FRONT_AND_BACK 0x0408\n#define GL_NO_ERROR 0\n#define GL_INVALID_ENUM 0x0500\n#define GL_INVALID_VALUE 0x0501\n#define GL_INVALID_OPERATION 0x0502\n#define GL_OUT_OF_MEMORY 0x0505\n#define GL_CW 0x0900\n#define GL_CCW 0x0901\n#define GL_POINT_SIZE 0x0B11\n#define GL_POINT_SIZE_RANGE 0x0B12\n#define GL_POINT_SIZE_GRANULARITY 0x0B13\n#define GL_LINE_SMOOTH 0x0B20\n#define GL_LINE_WIDTH 0x0B21\n#define GL_LINE_WIDTH_RANGE 0x0B22\n#define GL_LINE_WIDTH_GRANULARITY 0x0B23\n#define GL_POLYGON_MODE 0x0B40\n#define GL_POLYGON_SMOOTH 0x0B41\n#define GL_CULL_FACE 0x0B44\n#define GL_CULL_FACE_MODE 0x0B45\n#define GL_FRONT_FACE 0x0B46\n#define GL_DEPTH_RANGE 0x0B70\n#define GL_DEPTH_TEST 0x0B71\n#define GL_DEPTH_WRITEMASK 0x0B72\n#define GL_DEPTH_CLEAR_VALUE 0x0B73\n#define GL_DEPTH_FUNC 0x0B74\n#define GL_STENCIL_TEST 0x0B90\n#define GL_STENCIL_CLEAR_VALUE 0x0B91\n#define GL_STENCIL_FUNC 0x0B92\n#define GL_STENCIL_VALUE_MASK 0x0B93\n#define GL_STENCIL_FAIL 0x0B94\n#define GL_STENCIL_PASS_DEPTH_FAIL 0x0B95\n#define GL_STENCIL_PASS_DEPTH_PASS 0x0B96\n#define GL_STENCIL_REF 0x0B97\n#define GL_STENCIL_WRITEMASK 0x0B98\n#define GL_VIEWPORT 0x0BA2\n#define GL_DITHER 0x0BD0\n#define GL_BLEND_DST 0x0BE0\n#define GL_BLEND_SRC 0x0BE1\n#define GL_BLEND 0x0BE2\n#define GL_LOGIC_OP_MODE 0x0BF0\n#define GL_DRAW_BUFFER 0x0C01\n#define GL_READ_BUFFER 0x0C02\n#define GL_SCISSOR_BOX 0x0C10\n#define GL_SCISSOR_TEST 0x0C11\n#define GL_COLOR_CLEAR_VALUE 0x0C22\n#define GL_COLOR_WRITEMASK 0x0C23\n#define GL_DOUBLEBUFFER 0x0C32\n#define GL_STEREO 0x0C33\n#define GL_LINE_SMOOTH_HINT 0x0C52\n#define GL_POLYGON_SMOOTH_HINT 0x0C53\n#define GL_UNPACK_SWAP_BYTES 0x0CF0\n#define GL_UNPACK_LSB_FIRST 0x0CF1\n#define GL_UNPACK_ROW_LENGTH 0x0CF2\n#define GL_UNPACK_SKIP_ROWS 0x0CF3\n#define GL_UNPACK_SKIP_PIXELS 0x0CF4\n#define GL_UNPACK_ALIGNMENT 0x0CF5\n#define GL_PACK_SWAP_BYTES 0x0D00\n#define GL_PACK_LSB_FIRST 0x0D01\n#define GL_PACK_ROW_LENGTH 0x0D02\n#define GL_PACK_SKIP_ROWS 0x0D03\n#define GL_PACK_SKIP_PIXELS 0x0D04\n#define GL_PACK_ALIGNMENT 0x0D05\n#define GL_MAX_TEXTURE_SIZE 0x0D33\n#define GL_MAX_VIEWPORT_DIMS 0x0D3A\n#define GL_SUBPIXEL_BITS 0x0D50\n#define GL_TEXTURE_1D 0x0DE0\n#define GL_TEXTURE_2D 0x0DE1\n#define GL_TEXTURE_WIDTH 0x1000\n#define GL_TEXTURE_HEIGHT 0x1001\n#define GL_TEXTURE_BORDER_COLOR 0x1004\n#define GL_DONT_CARE 0x1100\n#define GL_FASTEST 0x1101\n#define GL_NICEST 0x1102\n#define GL_BYTE 0x1400\n#define GL_UNSIGNED_BYTE 0x1401\n#define GL_SHORT 0x1402\n#define GL_UNSIGNED_SHORT 0x1403\n#define GL_INT 0x1404\n#define GL_UNSIGNED_INT 0x1405\n#define GL_FLOAT 0x1406\n#define GL_STACK_OVERFLOW 0x0503\n#define GL_STACK_UNDERFLOW 0x0504\n#define GL_CLEAR 0x1500\n#define GL_AND 0x1501\n#define GL_AND_REVERSE 0x1502\n#define GL_COPY 0x1503\n#define GL_AND_INVERTED 0x1504\n#define GL_NOOP 0x1505\n#define GL_XOR 0x1506\n#define GL_OR 0x1507\n#define GL_NOR 0x1508\n#define GL_EQUIV 0x1509\n#define GL_INVERT 0x150A\n#define GL_OR_REVERSE 0x150B\n#define GL_COPY_INVERTED 0x150C\n#define GL_OR_INVERTED 0x150D\n#define GL_NAND 0x150E\n#define GL_SET 0x150F\n#define GL_TEXTURE 0x1702\n#define GL_COLOR 0x1800\n#define GL_DEPTH 0x1801\n#define GL_STENCIL 0x1802\n#define GL_STENCIL_INDEX 0x1901\n#define GL_DEPTH_COMPONENT 0x1902\n#define GL_RED 0x1903\n#define GL_GREEN 0x1904\n#define GL_BLUE 0x1905\n#define GL_ALPHA 0x1906\n#define GL_RGB 0x1907\n#define GL_RGBA 0x1908\n#define GL_POINT 0x1B00\n#define GL_LINE 0x1B01\n#define GL_FILL 0x1B02\n#define GL_KEEP 0x1E00\n#define GL_REPLACE 0x1E01\n#define GL_INCR 0x1E02\n#define GL_DECR 0x1E03\n#define GL_VENDOR 0x1F00\n#define GL_RENDERER 0x1F01\n#define GL_VERSION 0x1F02\n#define GL_EXTENSIONS 0x1F03\n#define GL_NEAREST 0x2600\n#define GL_LINEAR 0x2601\n#define GL_NEAREST_MIPMAP_NEAREST 0x2700\n#define GL_LINEAR_MIPMAP_NEAREST 0x2701\n#define GL_NEAREST_MIPMAP_LINEAR 0x2702\n#define GL_LINEAR_MIPMAP_LINEAR 0x2703\n#define GL_TEXTURE_MAG_FILTER 0x2800\n#define GL_TEXTURE_MIN_FILTER 0x2801\n#define GL_TEXTURE_WRAP_S 0x2802\n#define GL_TEXTURE_WRAP_T 0x2803\n#define GL_REPEAT 0x2901\n#define GL_CURRENT_BIT 0x00000001\n#define GL_POINT_BIT 0x00000002\n#define GL_LINE_BIT 0x00000004\n#define GL_POLYGON_BIT 0x00000008\n#define GL_POLYGON_STIPPLE_BIT 0x00000010\n#define GL_PIXEL_MODE_BIT 0x00000020\n#define GL_LIGHTING_BIT 0x00000040\n#define GL_FOG_BIT 0x00000080\n#define GL_ACCUM_BUFFER_BIT 0x00000200\n#define GL_VIEWPORT_BIT 0x00000800\n#define GL_TRANSFORM_BIT 0x00001000\n#define GL_ENABLE_BIT 0x00002000\n#define GL_HINT_BIT 0x00008000\n#define GL_EVAL_BIT 0x00010000\n#define GL_LIST_BIT 0x00020000\n#define GL_TEXTURE_BIT 0x00040000\n#define GL_SCISSOR_BIT 0x00080000\n#define GL_ALL_ATTRIB_BITS 0xFFFFFFFF\n#define GL_QUAD_STRIP 0x0008\n#define GL_POLYGON 0x0009\n#define GL_ACCUM 0x0100\n#define GL_LOAD 0x0101\n#define GL_RETURN 0x0102\n#define GL_MULT 0x0103\n#define GL_ADD 0x0104\n#define GL_AUX0 0x0409\n#define GL_AUX1 0x040A\n#define GL_AUX2 0x040B\n#define GL_AUX3 0x040C\n#define GL_2D 0x0600\n#define GL_3D 0x0601\n#define GL_3D_COLOR 0x0602\n#define GL_3D_COLOR_TEXTURE 0x0603\n#define GL_4D_COLOR_TEXTURE 0x0604\n#define GL_PASS_THROUGH_TOKEN 0x0700\n#define GL_POINT_TOKEN 0x0701\n#define GL_LINE_TOKEN 0x0702\n#define GL_POLYGON_TOKEN 0x0703\n#define GL_BITMAP_TOKEN 0x0704\n#define GL_DRAW_PIXEL_TOKEN 0x0705\n#define GL_COPY_PIXEL_TOKEN 0x0706\n#define GL_LINE_RESET_TOKEN 0x0707\n#define GL_EXP 0x0800\n#define GL_EXP2 0x0801\n#define GL_COEFF 0x0A00\n#define GL_ORDER 0x0A01\n#define GL_DOMAIN 0x0A02\n#define GL_PIXEL_MAP_I_TO_I 0x0C70\n#define GL_PIXEL_MAP_S_TO_S 0x0C71\n#define GL_PIXEL_MAP_I_TO_R 0x0C72\n#define GL_PIXEL_MAP_I_TO_G 0x0C73\n#define GL_PIXEL_MAP_I_TO_B 0x0C74\n#define GL_PIXEL_MAP_I_TO_A 0x0C75\n#define GL_PIXEL_MAP_R_TO_R 0x0C76\n#define GL_PIXEL_MAP_G_TO_G 0x0C77\n#define GL_PIXEL_MAP_B_TO_B 0x0C78\n#define GL_PIXEL_MAP_A_TO_A 0x0C79\n#define GL_CURRENT_COLOR 0x0B00\n#define GL_CURRENT_INDEX 0x0B01\n#define GL_CURRENT_NORMAL 0x0B02\n#define GL_CURRENT_TEXTURE_COORDS 0x0B03\n#define GL_CURRENT_RASTER_COLOR 0x0B04\n#define GL_CURRENT_RASTER_INDEX 0x0B05\n#define GL_CURRENT_RASTER_TEXTURE_COORDS 0x0B06\n#define GL_CURRENT_RASTER_POSITION 0x0B07\n#define GL_CURRENT_RASTER_POSITION_VALID 0x0B08\n#define GL_CURRENT_RASTER_DISTANCE 0x0B09\n#define GL_POINT_SMOOTH 0x0B10\n#define GL_LINE_STIPPLE 0x0B24\n#define GL_LINE_STIPPLE_PATTERN 0x0B25\n#define GL_LINE_STIPPLE_REPEAT 0x0B26\n#define GL_LIST_MODE 0x0B30\n#define GL_MAX_LIST_NESTING 0x0B31\n#define GL_LIST_BASE 0x0B32\n#define GL_LIST_INDEX 0x0B33\n#define GL_POLYGON_STIPPLE 0x0B42\n#define GL_EDGE_FLAG 0x0B43\n#define GL_LIGHTING 0x0B50\n#define GL_LIGHT_MODEL_LOCAL_VIEWER 0x0B51\n#define GL_LIGHT_MODEL_TWO_SIDE 0x0B52\n#define GL_LIGHT_MODEL_AMBIENT 0x0B53\n#define GL_SHADE_MODEL 0x0B54\n#define GL_COLOR_MATERIAL_FACE 0x0B55\n#define GL_COLOR_MATERIAL_PARAMETER 0x0B56\n#define GL_COLOR_MATERIAL 0x0B57\n#define GL_FOG 0x0B60\n#define GL_FOG_INDEX 0x0B61\n#define GL_FOG_DENSITY 0x0B62\n#define GL_FOG_START 0x0B63\n#define GL_FOG_END 0x0B64\n#define GL_FOG_MODE 0x0B65\n#define GL_FOG_COLOR 0x0B66\n#define GL_ACCUM_CLEAR_VALUE 0x0B80\n#define GL_MATRIX_MODE 0x0BA0\n#define GL_NORMALIZE 0x0BA1\n#define GL_MODELVIEW_STACK_DEPTH 0x0BA3\n#define GL_PROJECTION_STACK_DEPTH 0x0BA4\n#define GL_TEXTURE_STACK_DEPTH 0x0BA5\n#define GL_MODELVIEW_MATRIX 0x0BA6\n#define GL_PROJECTION_MATRIX 0x0BA7\n#define GL_TEXTURE_MATRIX 0x0BA8\n#define GL_ATTRIB_STACK_DEPTH 0x0BB0\n#define GL_ALPHA_TEST 0x0BC0\n#define GL_ALPHA_TEST_FUNC 0x0BC1\n#define GL_ALPHA_TEST_REF 0x0BC2\n#define GL_LOGIC_OP 0x0BF1\n#define GL_AUX_BUFFERS 0x0C00\n#define GL_INDEX_CLEAR_VALUE 0x0C20\n#define GL_INDEX_WRITEMASK 0x0C21\n#define GL_INDEX_MODE 0x0C30\n#define GL_RGBA_MODE 0x0C31\n#define GL_RENDER_MODE 0x0C40\n#define GL_PERSPECTIVE_CORRECTION_HINT 0x0C50\n#define GL_POINT_SMOOTH_HINT 0x0C51\n#define GL_FOG_HINT 0x0C54\n#define GL_TEXTURE_GEN_S 0x0C60\n#define GL_TEXTURE_GEN_T 0x0C61\n#define GL_TEXTURE_GEN_R 0x0C62\n#define GL_TEXTURE_GEN_Q 0x0C63\n#define GL_PIXEL_MAP_I_TO_I_SIZE 0x0CB0\n#define GL_PIXEL_MAP_S_TO_S_SIZE 0x0CB1\n#define GL_PIXEL_MAP_I_TO_R_SIZE 0x0CB2\n#define GL_PIXEL_MAP_I_TO_G_SIZE 0x0CB3\n#define GL_PIXEL_MAP_I_TO_B_SIZE 0x0CB4\n#define GL_PIXEL_MAP_I_TO_A_SIZE 0x0CB5\n#define GL_PIXEL_MAP_R_TO_R_SIZE 0x0CB6\n#define GL_PIXEL_MAP_G_TO_G_SIZE 0x0CB7\n#define GL_PIXEL_MAP_B_TO_B_SIZE 0x0CB8\n#define GL_PIXEL_MAP_A_TO_A_SIZE 0x0CB9\n#define GL_MAP_COLOR 0x0D10\n#define GL_MAP_STENCIL 0x0D11\n#define GL_INDEX_SHIFT 0x0D12\n#define GL_INDEX_OFFSET 0x0D13\n#define GL_RED_SCALE 0x0D14\n#define GL_RED_BIAS 0x0D15\n#define GL_ZOOM_X 0x0D16\n#define GL_ZOOM_Y 0x0D17\n#define GL_GREEN_SCALE 0x0D18\n#define GL_GREEN_BIAS 0x0D19\n#define GL_BLUE_SCALE 0x0D1A\n#define GL_BLUE_BIAS 0x0D1B\n#define GL_ALPHA_SCALE 0x0D1C\n#define GL_ALPHA_BIAS 0x0D1D\n#define GL_DEPTH_SCALE 0x0D1E\n#define GL_DEPTH_BIAS 0x0D1F\n#define GL_MAX_EVAL_ORDER 0x0D30\n#define GL_MAX_LIGHTS 0x0D31\n#define GL_MAX_CLIP_PLANES 0x0D32\n#define GL_MAX_PIXEL_MAP_TABLE 0x0D34\n#define GL_MAX_ATTRIB_STACK_DEPTH 0x0D35\n#define GL_MAX_MODELVIEW_STACK_DEPTH 0x0D36\n#define GL_MAX_NAME_STACK_DEPTH 0x0D37\n#define GL_MAX_PROJECTION_STACK_DEPTH 0x0D38\n#define GL_MAX_TEXTURE_STACK_DEPTH 0x0D39\n#define GL_INDEX_BITS 0x0D51\n#define GL_RED_BITS 0x0D52\n#define GL_GREEN_BITS 0x0D53\n#define GL_BLUE_BITS 0x0D54\n#define GL_ALPHA_BITS 0x0D55\n#define GL_DEPTH_BITS 0x0D56\n#define GL_STENCIL_BITS 0x0D57\n#define GL_ACCUM_RED_BITS 0x0D58\n#define GL_ACCUM_GREEN_BITS 0x0D59\n#define GL_ACCUM_BLUE_BITS 0x0D5A\n#define GL_ACCUM_ALPHA_BITS 0x0D5B\n#define GL_NAME_STACK_DEPTH 0x0D70\n#define GL_AUTO_NORMAL 0x0D80\n#define GL_MAP1_COLOR_4 0x0D90\n#define GL_MAP1_INDEX 0x0D91\n#define GL_MAP1_NORMAL 0x0D92\n#define GL_MAP1_TEXTURE_COORD_1 0x0D93\n#define GL_MAP1_TEXTURE_COORD_2 0x0D94\n#define GL_MAP1_TEXTURE_COORD_3 0x0D95\n#define GL_MAP1_TEXTURE_COORD_4 0x0D96\n#define GL_MAP1_VERTEX_3 0x0D97\n#define GL_MAP1_VERTEX_4 0x0D98\n#define GL_MAP2_COLOR_4 0x0DB0\n#define GL_MAP2_INDEX 0x0DB1\n#define GL_MAP2_NORMAL 0x0DB2\n#define GL_MAP2_TEXTURE_COORD_1 0x0DB3\n#define GL_MAP2_TEXTURE_COORD_2 0x0DB4\n#define GL_MAP2_TEXTURE_COORD_3 0x0DB5\n#define GL_MAP2_TEXTURE_COORD_4 0x0DB6\n#define GL_MAP2_VERTEX_3 0x0DB7\n#define GL_MAP2_VERTEX_4 0x0DB8\n#define GL_MAP1_GRID_DOMAIN 0x0DD0\n#define GL_MAP1_GRID_SEGMENTS 0x0DD1\n#define GL_MAP2_GRID_DOMAIN 0x0DD2\n#define GL_MAP2_GRID_SEGMENTS 0x0DD3\n#define GL_TEXTURE_COMPONENTS 0x1003\n#define GL_TEXTURE_BORDER 0x1005\n#define GL_AMBIENT 0x1200\n#define GL_DIFFUSE 0x1201\n#define GL_SPECULAR 0x1202\n#define GL_POSITION 0x1203\n#define GL_SPOT_DIRECTION 0x1204\n#define GL_SPOT_EXPONENT 0x1205\n#define GL_SPOT_CUTOFF 0x1206\n#define GL_CONSTANT_ATTENUATION 0x1207\n#define GL_LINEAR_ATTENUATION 0x1208\n#define GL_QUADRATIC_ATTENUATION 0x1209\n#define GL_COMPILE 0x1300\n#define GL_COMPILE_AND_EXECUTE 0x1301\n#define GL_2_BYTES 0x1407\n#define GL_3_BYTES 0x1408\n#define GL_4_BYTES 0x1409\n#define GL_EMISSION 0x1600\n#define GL_SHININESS 0x1601\n#define GL_AMBIENT_AND_DIFFUSE 0x1602\n#define GL_COLOR_INDEXES 0x1603\n#define GL_MODELVIEW 0x1700\n#define GL_PROJECTION 0x1701\n#define GL_COLOR_INDEX 0x1900\n#define GL_LUMINANCE 0x1909\n#define GL_LUMINANCE_ALPHA 0x190A\n#define GL_BITMAP 0x1A00\n#define GL_RENDER 0x1C00\n#define GL_FEEDBACK 0x1C01\n#define GL_SELECT 0x1C02\n#define GL_FLAT 0x1D00\n#define GL_SMOOTH 0x1D01\n#define GL_S 0x2000\n#define GL_T 0x2001\n#define GL_R 0x2002\n#define GL_Q 0x2003\n#define GL_MODULATE 0x2100\n#define GL_DECAL 0x2101\n#define GL_TEXTURE_ENV_MODE 0x2200\n#define GL_TEXTURE_ENV_COLOR 0x2201\n#define GL_TEXTURE_ENV 0x2300\n#define GL_EYE_LINEAR 0x2400\n#define GL_OBJECT_LINEAR 0x2401\n#define GL_SPHERE_MAP 0x2402\n#define GL_TEXTURE_GEN_MODE 0x2500\n#define GL_OBJECT_PLANE 0x2501\n#define GL_EYE_PLANE 0x2502\n#define GL_CLAMP 0x2900\n#define GL_CLIP_PLANE0 0x3000\n#define GL_CLIP_PLANE1 0x3001\n#define GL_CLIP_PLANE2 0x3002\n#define GL_CLIP_PLANE3 0x3003\n#define GL_CLIP_PLANE4 0x3004\n#define GL_CLIP_PLANE5 0x3005\n#define GL_LIGHT0 0x4000\n#define GL_LIGHT1 0x4001\n#define GL_LIGHT2 0x4002\n#define GL_LIGHT3 0x4003\n#define GL_LIGHT4 0x4004\n#define GL_LIGHT5 0x4005\n#define GL_LIGHT6 0x4006\n#define GL_LIGHT7 0x4007\n#define GL_COLOR_LOGIC_OP 0x0BF2\n#define GL_POLYGON_OFFSET_UNITS 0x2A00\n#define GL_POLYGON_OFFSET_POINT 0x2A01\n#define GL_POLYGON_OFFSET_LINE 0x2A02\n#define GL_POLYGON_OFFSET_FILL 0x8037\n#define GL_POLYGON_OFFSET_FACTOR 0x8038\n#define GL_TEXTURE_BINDING_1D 0x8068\n#define GL_TEXTURE_BINDING_2D 0x8069\n#define GL_TEXTURE_INTERNAL_FORMAT 0x1003\n#define GL_TEXTURE_RED_SIZE 0x805C\n#define GL_TEXTURE_GREEN_SIZE 0x805D\n#define GL_TEXTURE_BLUE_SIZE 0x805E\n#define GL_TEXTURE_ALPHA_SIZE 0x805F\n#define GL_DOUBLE 0x140A\n#define GL_PROXY_TEXTURE_1D 0x8063\n#define GL_PROXY_TEXTURE_2D 0x8064\n#define GL_R3_G3_B2 0x2A10\n#define GL_RGB4 0x804F\n#define GL_RGB5 0x8050\n#define GL_RGB8 0x8051\n#define GL_RGB10 0x8052\n#define GL_RGB12 0x8053\n#define GL_RGB16 0x8054\n#define GL_RGBA2 0x8055\n#define GL_RGBA4 0x8056\n#define GL_RGB5_A1 0x8057\n#define GL_RGBA8 0x8058\n#define GL_RGB10_A2 0x8059\n#define GL_RGBA12 0x805A\n#define GL_RGBA16 0x805B\n#define GL_CLIENT_PIXEL_STORE_BIT 0x00000001\n#define GL_CLIENT_VERTEX_ARRAY_BIT 0x00000002\n#define GL_CLIENT_ALL_ATTRIB_BITS 0xFFFFFFFF\n#define GL_VERTEX_ARRAY_POINTER 0x808E\n#define GL_NORMAL_ARRAY_POINTER 0x808F\n#define GL_COLOR_ARRAY_POINTER 0x8090\n#define GL_INDEX_ARRAY_POINTER 0x8091\n#define GL_TEXTURE_COORD_ARRAY_POINTER 0x8092\n#define GL_EDGE_FLAG_ARRAY_POINTER 0x8093\n#define GL_FEEDBACK_BUFFER_POINTER 0x0DF0\n#define GL_SELECTION_BUFFER_POINTER 0x0DF3\n#define GL_CLIENT_ATTRIB_STACK_DEPTH 0x0BB1\n#define GL_INDEX_LOGIC_OP 0x0BF1\n#define GL_MAX_CLIENT_ATTRIB_STACK_DEPTH 0x0D3B\n#define GL_FEEDBACK_BUFFER_SIZE 0x0DF1\n#define GL_FEEDBACK_BUFFER_TYPE 0x0DF2\n#define GL_SELECTION_BUFFER_SIZE 0x0DF4\n#define GL_VERTEX_ARRAY 0x8074\n#define GL_NORMAL_ARRAY 0x8075\n#define GL_COLOR_ARRAY 0x8076\n#define GL_INDEX_ARRAY 0x8077\n#define GL_TEXTURE_COORD_ARRAY 0x8078\n#define GL_EDGE_FLAG_ARRAY 0x8079\n#define GL_VERTEX_ARRAY_SIZE 0x807A\n#define GL_VERTEX_ARRAY_TYPE 0x807B\n#define GL_VERTEX_ARRAY_STRIDE 0x807C\n#define GL_NORMAL_ARRAY_TYPE 0x807E\n#define GL_NORMAL_ARRAY_STRIDE 0x807F\n#define GL_COLOR_ARRAY_SIZE 0x8081\n#define GL_COLOR_ARRAY_TYPE 0x8082\n#define GL_COLOR_ARRAY_STRIDE 0x8083\n#define GL_INDEX_ARRAY_TYPE 0x8085\n#define GL_INDEX_ARRAY_STRIDE 0x8086\n#define GL_TEXTURE_COORD_ARRAY_SIZE 0x8088\n#define GL_TEXTURE_COORD_ARRAY_TYPE 0x8089\n#define GL_TEXTURE_COORD_ARRAY_STRIDE 0x808A\n#define GL_EDGE_FLAG_ARRAY_STRIDE 0x808C\n#define GL_TEXTURE_LUMINANCE_SIZE 0x8060\n#define GL_TEXTURE_INTENSITY_SIZE 0x8061\n#define GL_TEXTURE_PRIORITY 0x8066\n#define GL_TEXTURE_RESIDENT 0x8067\n#define GL_ALPHA4 0x803B\n#define GL_ALPHA8 0x803C\n#define GL_ALPHA12 0x803D\n#define GL_ALPHA16 0x803E\n#define GL_LUMINANCE4 0x803F\n#define GL_LUMINANCE8 0x8040\n#define GL_LUMINANCE12 0x8041\n#define GL_LUMINANCE16 0x8042\n#define GL_LUMINANCE4_ALPHA4 0x8043\n#define GL_LUMINANCE6_ALPHA2 0x8044\n#define GL_LUMINANCE8_ALPHA8 0x8045\n#define GL_LUMINANCE12_ALPHA4 0x8046\n#define GL_LUMINANCE12_ALPHA12 0x8047\n#define GL_LUMINANCE16_ALPHA16 0x8048\n#define GL_INTENSITY 0x8049\n#define GL_INTENSITY4 0x804A\n#define GL_INTENSITY8 0x804B\n#define GL_INTENSITY12 0x804C\n#define GL_INTENSITY16 0x804D\n#define GL_V2F 0x2A20\n#define GL_V3F 0x2A21\n#define GL_C4UB_V2F 0x2A22\n#define GL_C4UB_V3F 0x2A23\n#define GL_C3F_V3F 0x2A24\n#define GL_N3F_V3F 0x2A25\n#define GL_C4F_N3F_V3F 0x2A26\n#define GL_T2F_V3F 0x2A27\n#define GL_T4F_V4F 0x2A28\n#define GL_T2F_C4UB_V3F 0x2A29\n#define GL_T2F_C3F_V3F 0x2A2A\n#define GL_T2F_N3F_V3F 0x2A2B\n#define GL_T2F_C4F_N3F_V3F 0x2A2C\n#define GL_T4F_C4F_N3F_V4F 0x2A2D\n#define GL_UNSIGNED_BYTE_3_3_2 0x8032\n#define GL_UNSIGNED_SHORT_4_4_4_4 0x8033\n#define GL_UNSIGNED_SHORT_5_5_5_1 0x8034\n#define GL_UNSIGNED_INT_8_8_8_8 0x8035\n#define GL_UNSIGNED_INT_10_10_10_2 0x8036\n#define GL_TEXTURE_BINDING_3D 0x806A\n#define GL_PACK_SKIP_IMAGES 0x806B\n#define GL_PACK_IMAGE_HEIGHT 0x806C\n#define GL_UNPACK_SKIP_IMAGES 0x806D\n#define GL_UNPACK_IMAGE_HEIGHT 0x806E\n#define GL_TEXTURE_3D 0x806F\n#define GL_PROXY_TEXTURE_3D 0x8070\n#define GL_TEXTURE_DEPTH 0x8071\n#define GL_TEXTURE_WRAP_R 0x8072\n#define GL_MAX_3D_TEXTURE_SIZE 0x8073\n#define GL_UNSIGNED_BYTE_2_3_3_REV 0x8362\n#define GL_UNSIGNED_SHORT_5_6_5 0x8363\n#define GL_UNSIGNED_SHORT_5_6_5_REV 0x8364\n#define GL_UNSIGNED_SHORT_4_4_4_4_REV 0x8365\n#define GL_UNSIGNED_SHORT_1_5_5_5_REV 0x8366\n#define GL_UNSIGNED_INT_8_8_8_8_REV 0x8367\n#define GL_UNSIGNED_INT_2_10_10_10_REV 0x8368\n#define GL_BGR 0x80E0\n#define GL_BGRA 0x80E1\n#define GL_MAX_ELEMENTS_VERTICES 0x80E8\n#define GL_MAX_ELEMENTS_INDICES 0x80E9\n#define GL_CLAMP_TO_EDGE 0x812F\n#define GL_TEXTURE_MIN_LOD 0x813A\n#define GL_TEXTURE_MAX_LOD 0x813B\n#define GL_TEXTURE_BASE_LEVEL 0x813C\n#define GL_TEXTURE_MAX_LEVEL 0x813D\n#define GL_SMOOTH_POINT_SIZE_RANGE 0x0B12\n#define GL_SMOOTH_POINT_SIZE_GRANULARITY 0x0B13\n#define GL_SMOOTH_LINE_WIDTH_RANGE 0x0B22\n#define GL_SMOOTH_LINE_WIDTH_GRANULARITY 0x0B23\n#define GL_ALIASED_LINE_WIDTH_RANGE 0x846E\n#define GL_RESCALE_NORMAL 0x803A\n#define GL_LIGHT_MODEL_COLOR_CONTROL 0x81F8\n#define GL_SINGLE_COLOR 0x81F9\n#define GL_SEPARATE_SPECULAR_COLOR 0x81FA\n#define GL_ALIASED_POINT_SIZE_RANGE 0x846D\n#define GL_TEXTURE0 0x84C0\n#define GL_TEXTURE1 0x84C1\n#define GL_TEXTURE2 0x84C2\n#define GL_TEXTURE3 0x84C3\n#define GL_TEXTURE4 0x84C4\n#define GL_TEXTURE5 0x84C5\n#define GL_TEXTURE6 0x84C6\n#define GL_TEXTURE7 0x84C7\n#define GL_TEXTURE8 0x84C8\n#define GL_TEXTURE9 0x84C9\n#define GL_TEXTURE10 0x84CA\n#define GL_TEXTURE11 0x84CB\n#define GL_TEXTURE12 0x84CC\n#define GL_TEXTURE13 0x84CD\n#define GL_TEXTURE14 0x84CE\n#define GL_TEXTURE15 0x84CF\n#define GL_TEXTURE16 0x84D0\n#define GL_TEXTURE17 0x84D1\n#define GL_TEXTURE18 0x84D2\n#define GL_TEXTURE19 0x84D3\n#define GL_TEXTURE20 0x84D4\n#define GL_TEXTURE21 0x84D5\n#define GL_TEXTURE22 0x84D6\n#define GL_TEXTURE23 0x84D7\n#define GL_TEXTURE24 0x84D8\n#define GL_TEXTURE25 0x84D9\n#define GL_TEXTURE26 0x84DA\n#define GL_TEXTURE27 0x84DB\n#define GL_TEXTURE28 0x84DC\n#define GL_TEXTURE29 0x84DD\n#define GL_TEXTURE30 0x84DE\n#define GL_TEXTURE31 0x84DF\n#define GL_ACTIVE_TEXTURE 0x84E0\n#define GL_MULTISAMPLE 0x809D\n#define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E\n#define GL_SAMPLE_ALPHA_TO_ONE 0x809F\n#define GL_SAMPLE_COVERAGE 0x80A0\n#define GL_SAMPLE_BUFFERS 0x80A8\n#define GL_SAMPLES 0x80A9\n#define GL_SAMPLE_COVERAGE_VALUE 0x80AA\n#define GL_SAMPLE_COVERAGE_INVERT 0x80AB\n#define GL_TEXTURE_CUBE_MAP 0x8513\n#define GL_TEXTURE_BINDING_CUBE_MAP 0x8514\n#define GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x8515\n#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x8516\n#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x8517\n#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x8518\n#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x8519\n#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x851A\n#define GL_PROXY_TEXTURE_CUBE_MAP 0x851B\n#define GL_MAX_CUBE_MAP_TEXTURE_SIZE 0x851C\n#define GL_COMPRESSED_RGB 0x84ED\n#define GL_COMPRESSED_RGBA 0x84EE\n#define GL_TEXTURE_COMPRESSION_HINT 0x84EF\n#define GL_TEXTURE_COMPRESSED_IMAGE_SIZE 0x86A0\n#define GL_TEXTURE_COMPRESSED 0x86A1\n#define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2\n#define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3\n#define GL_CLAMP_TO_BORDER 0x812D\n#define GL_CLIENT_ACTIVE_TEXTURE 0x84E1\n#define GL_MAX_TEXTURE_UNITS 0x84E2\n#define GL_TRANSPOSE_MODELVIEW_MATRIX 0x84E3\n#define GL_TRANSPOSE_PROJECTION_MATRIX 0x84E4\n#define GL_TRANSPOSE_TEXTURE_MATRIX 0x84E5\n#define GL_TRANSPOSE_COLOR_MATRIX 0x84E6\n#define GL_MULTISAMPLE_BIT 0x20000000\n#define GL_NORMAL_MAP 0x8511\n#define GL_REFLECTION_MAP 0x8512\n#define GL_COMPRESSED_ALPHA 0x84E9\n#define GL_COMPRESSED_LUMINANCE 0x84EA\n#define GL_COMPRESSED_LUMINANCE_ALPHA 0x84EB\n#define GL_COMPRESSED_INTENSITY 0x84EC\n#define GL_COMBINE 0x8570\n#define GL_COMBINE_RGB 0x8571\n#define GL_COMBINE_ALPHA 0x8572\n#define GL_SOURCE0_RGB 0x8580\n#define GL_SOURCE1_RGB 0x8581\n#define GL_SOURCE2_RGB 0x8582\n#define GL_SOURCE0_ALPHA 0x8588\n#define GL_SOURCE1_ALPHA 0x8589\n#define GL_SOURCE2_ALPHA 0x858A\n#define GL_OPERAND0_RGB 0x8590\n#define GL_OPERAND1_RGB 0x8591\n#define GL_OPERAND2_RGB 0x8592\n#define GL_OPERAND0_ALPHA 0x8598\n#define GL_OPERAND1_ALPHA 0x8599\n#define GL_OPERAND2_ALPHA 0x859A\n#define GL_RGB_SCALE 0x8573\n#define GL_ADD_SIGNED 0x8574\n#define GL_INTERPOLATE 0x8575\n#define GL_SUBTRACT 0x84E7\n#define GL_CONSTANT 0x8576\n#define GL_PRIMARY_COLOR 0x8577\n#define GL_PREVIOUS 0x8578\n#define GL_DOT3_RGB 0x86AE\n#define GL_DOT3_RGBA 0x86AF\n#define GL_BLEND_DST_RGB 0x80C8\n#define GL_BLEND_SRC_RGB 0x80C9\n#define GL_BLEND_DST_ALPHA 0x80CA\n#define GL_BLEND_SRC_ALPHA 0x80CB\n#define GL_POINT_FADE_THRESHOLD_SIZE 0x8128\n#define GL_DEPTH_COMPONENT16 0x81A5\n#define GL_DEPTH_COMPONENT24 0x81A6\n#define GL_DEPTH_COMPONENT32 0x81A7\n#define GL_MIRRORED_REPEAT 0x8370\n#define GL_MAX_TEXTURE_LOD_BIAS 0x84FD\n#define GL_TEXTURE_LOD_BIAS 0x8501\n#define GL_INCR_WRAP 0x8507\n#define GL_DECR_WRAP 0x8508\n#define GL_TEXTURE_DEPTH_SIZE 0x884A\n#define GL_TEXTURE_COMPARE_MODE 0x884C\n#define GL_TEXTURE_COMPARE_FUNC 0x884D\n#define GL_POINT_SIZE_MIN 0x8126\n#define GL_POINT_SIZE_MAX 0x8127\n#define GL_POINT_DISTANCE_ATTENUATION 0x8129\n#define GL_GENERATE_MIPMAP 0x8191\n#define GL_GENERATE_MIPMAP_HINT 0x8192\n#define GL_FOG_COORDINATE_SOURCE 0x8450\n#define GL_FOG_COORDINATE 0x8451\n#define GL_FRAGMENT_DEPTH 0x8452\n#define GL_CURRENT_FOG_COORDINATE 0x8453\n#define GL_FOG_COORDINATE_ARRAY_TYPE 0x8454\n#define GL_FOG_COORDINATE_ARRAY_STRIDE 0x8455\n#define GL_FOG_COORDINATE_ARRAY_POINTER 0x8456\n#define GL_FOG_COORDINATE_ARRAY 0x8457\n#define GL_COLOR_SUM 0x8458\n#define GL_CURRENT_SECONDARY_COLOR 0x8459\n#define GL_SECONDARY_COLOR_ARRAY_SIZE 0x845A\n#define GL_SECONDARY_COLOR_ARRAY_TYPE 0x845B\n#define GL_SECONDARY_COLOR_ARRAY_STRIDE 0x845C\n#define GL_SECONDARY_COLOR_ARRAY_POINTER 0x845D\n#define GL_SECONDARY_COLOR_ARRAY 0x845E\n#define GL_TEXTURE_FILTER_CONTROL 0x8500\n#define GL_DEPTH_TEXTURE_MODE 0x884B\n#define GL_COMPARE_R_TO_TEXTURE 0x884E\n#define GL_BLEND_COLOR 0x8005\n#define GL_BLEND_EQUATION 0x8009\n#define GL_CONSTANT_COLOR 0x8001\n#define GL_ONE_MINUS_CONSTANT_COLOR 0x8002\n#define GL_CONSTANT_ALPHA 0x8003\n#define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004\n#define GL_FUNC_ADD 0x8006\n#define GL_FUNC_REVERSE_SUBTRACT 0x800B\n#define GL_FUNC_SUBTRACT 0x800A\n#define GL_MIN 0x8007\n#define GL_MAX 0x8008\n#define GL_BUFFER_SIZE 0x8764\n#define GL_BUFFER_USAGE 0x8765\n#define GL_QUERY_COUNTER_BITS 0x8864\n#define GL_CURRENT_QUERY 0x8865\n#define GL_QUERY_RESULT 0x8866\n#define GL_QUERY_RESULT_AVAILABLE 0x8867\n#define GL_ARRAY_BUFFER 0x8892\n#define GL_ELEMENT_ARRAY_BUFFER 0x8893\n#define GL_ARRAY_BUFFER_BINDING 0x8894\n#define GL_ELEMENT_ARRAY_BUFFER_BINDING 0x8895\n#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING 0x889F\n#define GL_READ_ONLY 0x88B8\n#define GL_WRITE_ONLY 0x88B9\n#define GL_READ_WRITE 0x88BA\n#define GL_BUFFER_ACCESS 0x88BB\n#define GL_BUFFER_MAPPED 0x88BC\n#define GL_BUFFER_MAP_POINTER 0x88BD\n#define GL_STREAM_DRAW 0x88E0\n#define GL_STREAM_READ 0x88E1\n#define GL_STREAM_COPY 0x88E2\n#define GL_STATIC_DRAW 0x88E4\n#define GL_STATIC_READ 0x88E5\n#define GL_STATIC_COPY 0x88E6\n#define GL_DYNAMIC_DRAW 0x88E8\n#define GL_DYNAMIC_READ 0x88E9\n#define GL_DYNAMIC_COPY 0x88EA\n#define GL_SAMPLES_PASSED 0x8914\n#define GL_SRC1_ALPHA 0x8589\n#define GL_VERTEX_ARRAY_BUFFER_BINDING 0x8896\n#define GL_NORMAL_ARRAY_BUFFER_BINDING 0x8897\n#define GL_COLOR_ARRAY_BUFFER_BINDING 0x8898\n#define GL_INDEX_ARRAY_BUFFER_BINDING 0x8899\n#define GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING 0x889A\n#define GL_EDGE_FLAG_ARRAY_BUFFER_BINDING 0x889B\n#define GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING 0x889C\n#define GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING 0x889D\n#define GL_WEIGHT_ARRAY_BUFFER_BINDING 0x889E\n#define GL_FOG_COORD_SRC 0x8450\n#define GL_FOG_COORD 0x8451\n#define GL_CURRENT_FOG_COORD 0x8453\n#define GL_FOG_COORD_ARRAY_TYPE 0x8454\n#define GL_FOG_COORD_ARRAY_STRIDE 0x8455\n#define GL_FOG_COORD_ARRAY_POINTER 0x8456\n#define GL_FOG_COORD_ARRAY 0x8457\n#define GL_FOG_COORD_ARRAY_BUFFER_BINDING 0x889D\n#define GL_SRC0_RGB 0x8580\n#define GL_SRC1_RGB 0x8581\n#define GL_SRC2_RGB 0x8582\n#define GL_SRC0_ALPHA 0x8588\n#define GL_SRC2_ALPHA 0x858A\n#define GL_BLEND_EQUATION_RGB 0x8009\n#define GL_VERTEX_ATTRIB_ARRAY_ENABLED 0x8622\n#define GL_VERTEX_ATTRIB_ARRAY_SIZE 0x8623\n#define GL_VERTEX_ATTRIB_ARRAY_STRIDE 0x8624\n#define GL_VERTEX_ATTRIB_ARRAY_TYPE 0x8625\n#define GL_CURRENT_VERTEX_ATTRIB 0x8626\n#define GL_VERTEX_PROGRAM_POINT_SIZE 0x8642\n#define GL_VERTEX_ATTRIB_ARRAY_POINTER 0x8645\n#define GL_STENCIL_BACK_FUNC 0x8800\n#define GL_STENCIL_BACK_FAIL 0x8801\n#define GL_STENCIL_BACK_PASS_DEPTH_FAIL 0x8802\n#define GL_STENCIL_BACK_PASS_DEPTH_PASS 0x8803\n#define GL_MAX_DRAW_BUFFERS 0x8824\n#define GL_DRAW_BUFFER0 0x8825\n#define GL_DRAW_BUFFER1 0x8826\n#define GL_DRAW_BUFFER2 0x8827\n#define GL_DRAW_BUFFER3 0x8828\n#define GL_DRAW_BUFFER4 0x8829\n#define GL_DRAW_BUFFER5 0x882A\n#define GL_DRAW_BUFFER6 0x882B\n#define GL_DRAW_BUFFER7 0x882C\n#define GL_DRAW_BUFFER8 0x882D\n#define GL_DRAW_BUFFER9 0x882E\n#define GL_DRAW_BUFFER10 0x882F\n#define GL_DRAW_BUFFER11 0x8830\n#define GL_DRAW_BUFFER12 0x8831\n#define GL_DRAW_BUFFER13 0x8832\n#define GL_DRAW_BUFFER14 0x8833\n#define GL_DRAW_BUFFER15 0x8834\n#define GL_BLEND_EQUATION_ALPHA 0x883D\n#define GL_MAX_VERTEX_ATTRIBS 0x8869\n#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED 0x886A\n#define GL_MAX_TEXTURE_IMAGE_UNITS 0x8872\n#define GL_FRAGMENT_SHADER 0x8B30\n#define GL_VERTEX_SHADER 0x8B31\n#define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS 0x8B49\n#define GL_MAX_VERTEX_UNIFORM_COMPONENTS 0x8B4A\n#define GL_MAX_VARYING_FLOATS 0x8B4B\n#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS 0x8B4C\n#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS 0x8B4D\n#define GL_SHADER_TYPE 0x8B4F\n#define GL_FLOAT_VEC2 0x8B50\n#define GL_FLOAT_VEC3 0x8B51\n#define GL_FLOAT_VEC4 0x8B52\n#define GL_INT_VEC2 0x8B53\n#define GL_INT_VEC3 0x8B54\n#define GL_INT_VEC4 0x8B55\n#define GL_BOOL 0x8B56\n#define GL_BOOL_VEC2 0x8B57\n#define GL_BOOL_VEC3 0x8B58\n#define GL_BOOL_VEC4 0x8B59\n#define GL_FLOAT_MAT2 0x8B5A\n#define GL_FLOAT_MAT3 0x8B5B\n#define GL_FLOAT_MAT4 0x8B5C\n#define GL_SAMPLER_1D 0x8B5D\n#define GL_SAMPLER_2D 0x8B5E\n#define GL_SAMPLER_3D 0x8B5F\n#define GL_SAMPLER_CUBE 0x8B60\n#define GL_SAMPLER_1D_SHADOW 0x8B61\n#define GL_SAMPLER_2D_SHADOW 0x8B62\n#define GL_DELETE_STATUS 0x8B80\n#define GL_COMPILE_STATUS 0x8B81\n#define GL_LINK_STATUS 0x8B82\n#define GL_VALIDATE_STATUS 0x8B83\n#define GL_INFO_LOG_LENGTH 0x8B84\n#define GL_ATTACHED_SHADERS 0x8B85\n#define GL_ACTIVE_UNIFORMS 0x8B86\n#define GL_ACTIVE_UNIFORM_MAX_LENGTH 0x8B87\n#define GL_SHADER_SOURCE_LENGTH 0x8B88\n#define GL_ACTIVE_ATTRIBUTES 0x8B89\n#define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH 0x8B8A\n#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT 0x8B8B\n#define GL_SHADING_LANGUAGE_VERSION 0x8B8C\n#define GL_CURRENT_PROGRAM 0x8B8D\n#define GL_POINT_SPRITE_COORD_ORIGIN 0x8CA0\n#define GL_LOWER_LEFT 0x8CA1\n#define GL_UPPER_LEFT 0x8CA2\n#define GL_STENCIL_BACK_REF 0x8CA3\n#define GL_STENCIL_BACK_VALUE_MASK 0x8CA4\n#define GL_STENCIL_BACK_WRITEMASK 0x8CA5\n#define GL_VERTEX_PROGRAM_TWO_SIDE 0x8643\n#define GL_POINT_SPRITE 0x8861\n#define GL_COORD_REPLACE 0x8862\n#define GL_MAX_TEXTURE_COORDS 0x8871\n#define GL_PIXEL_PACK_BUFFER 0x88EB\n#define GL_PIXEL_UNPACK_BUFFER 0x88EC\n#define GL_PIXEL_PACK_BUFFER_BINDING 0x88ED\n#define GL_PIXEL_UNPACK_BUFFER_BINDING 0x88EF\n#define GL_FLOAT_MAT2x3 0x8B65\n#define GL_FLOAT_MAT2x4 0x8B66\n#define GL_FLOAT_MAT3x2 0x8B67\n#define GL_FLOAT_MAT3x4 0x8B68\n#define GL_FLOAT_MAT4x2 0x8B69\n#define GL_FLOAT_MAT4x3 0x8B6A\n#define GL_SRGB 0x8C40\n#define GL_SRGB8 0x8C41\n#define GL_SRGB_ALPHA 0x8C42\n#define GL_SRGB8_ALPHA8 0x8C43\n#define GL_COMPRESSED_SRGB 0x8C48\n#define GL_COMPRESSED_SRGB_ALPHA 0x8C49\n#define GL_CURRENT_RASTER_SECONDARY_COLOR 0x845F\n#define GL_SLUMINANCE_ALPHA 0x8C44\n#define GL_SLUMINANCE8_ALPHA8 0x8C45\n#define GL_SLUMINANCE 0x8C46\n#define GL_SLUMINANCE8 0x8C47\n#define GL_COMPRESSED_SLUMINANCE 0x8C4A\n#define GL_COMPRESSED_SLUMINANCE_ALPHA 0x8C4B\n#define GL_COMPARE_REF_TO_TEXTURE 0x884E\n#define GL_CLIP_DISTANCE0 0x3000\n#define GL_CLIP_DISTANCE1 0x3001\n#define GL_CLIP_DISTANCE2 0x3002\n#define GL_CLIP_DISTANCE3 0x3003\n#define GL_CLIP_DISTANCE4 0x3004\n#define GL_CLIP_DISTANCE5 0x3005\n#define GL_CLIP_DISTANCE6 0x3006\n#define GL_CLIP_DISTANCE7 0x3007\n#define GL_MAX_CLIP_DISTANCES 0x0D32\n#define GL_MAJOR_VERSION 0x821B\n#define GL_MINOR_VERSION 0x821C\n#define GL_NUM_EXTENSIONS 0x821D\n#define GL_CONTEXT_FLAGS 0x821E\n#define GL_COMPRESSED_RED 0x8225\n#define GL_COMPRESSED_RG 0x8226\n#define GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT 0x00000001\n#define GL_RGBA32F 0x8814\n#define GL_RGB32F 0x8815\n#define GL_RGBA16F 0x881A\n#define GL_RGB16F 0x881B\n#define GL_VERTEX_ATTRIB_ARRAY_INTEGER 0x88FD\n#define GL_MAX_ARRAY_TEXTURE_LAYERS 0x88FF\n#define GL_MIN_PROGRAM_TEXEL_OFFSET 0x8904\n#define GL_MAX_PROGRAM_TEXEL_OFFSET 0x8905\n#define GL_CLAMP_READ_COLOR 0x891C\n#define GL_FIXED_ONLY 0x891D\n#define GL_MAX_VARYING_COMPONENTS 0x8B4B\n#define GL_TEXTURE_1D_ARRAY 0x8C18\n#define GL_PROXY_TEXTURE_1D_ARRAY 0x8C19\n#define GL_TEXTURE_2D_ARRAY 0x8C1A\n#define GL_PROXY_TEXTURE_2D_ARRAY 0x8C1B\n#define GL_TEXTURE_BINDING_1D_ARRAY 0x8C1C\n#define GL_TEXTURE_BINDING_2D_ARRAY 0x8C1D\n#define GL_R11F_G11F_B10F 0x8C3A\n#define GL_UNSIGNED_INT_10F_11F_11F_REV 0x8C3B\n#define GL_RGB9_E5 0x8C3D\n#define GL_UNSIGNED_INT_5_9_9_9_REV 0x8C3E\n#define GL_TEXTURE_SHARED_SIZE 0x8C3F\n#define GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH 0x8C76\n#define GL_TRANSFORM_FEEDBACK_BUFFER_MODE 0x8C7F\n#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS 0x8C80\n#define GL_TRANSFORM_FEEDBACK_VARYINGS 0x8C83\n#define GL_TRANSFORM_FEEDBACK_BUFFER_START 0x8C84\n#define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE 0x8C85\n#define GL_PRIMITIVES_GENERATED 0x8C87\n#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN 0x8C88\n#define GL_RASTERIZER_DISCARD 0x8C89\n#define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS 0x8C8A\n#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS 0x8C8B\n#define GL_INTERLEAVED_ATTRIBS 0x8C8C\n#define GL_SEPARATE_ATTRIBS 0x8C8D\n#define GL_TRANSFORM_FEEDBACK_BUFFER 0x8C8E\n#define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING 0x8C8F\n#define GL_RGBA32UI 0x8D70\n#define GL_RGB32UI 0x8D71\n#define GL_RGBA16UI 0x8D76\n#define GL_RGB16UI 0x8D77\n#define GL_RGBA8UI 0x8D7C\n#define GL_RGB8UI 0x8D7D\n#define GL_RGBA32I 0x8D82\n#define GL_RGB32I 0x8D83\n#define GL_RGBA16I 0x8D88\n#define GL_RGB16I 0x8D89\n#define GL_RGBA8I 0x8D8E\n#define GL_RGB8I 0x8D8F\n#define GL_RED_INTEGER 0x8D94\n#define GL_GREEN_INTEGER 0x8D95\n#define GL_BLUE_INTEGER 0x8D96\n#define GL_RGB_INTEGER 0x8D98\n#define GL_RGBA_INTEGER 0x8D99\n#define GL_BGR_INTEGER 0x8D9A\n#define GL_BGRA_INTEGER 0x8D9B\n#define GL_SAMPLER_1D_ARRAY 0x8DC0\n#define GL_SAMPLER_2D_ARRAY 0x8DC1\n#define GL_SAMPLER_1D_ARRAY_SHADOW 0x8DC3\n#define GL_SAMPLER_2D_ARRAY_SHADOW 0x8DC4\n#define GL_SAMPLER_CUBE_SHADOW 0x8DC5\n#define GL_UNSIGNED_INT_VEC2 0x8DC6\n#define GL_UNSIGNED_INT_VEC3 0x8DC7\n#define GL_UNSIGNED_INT_VEC4 0x8DC8\n#define GL_INT_SAMPLER_1D 0x8DC9\n#define GL_INT_SAMPLER_2D 0x8DCA\n#define GL_INT_SAMPLER_3D 0x8DCB\n#define GL_INT_SAMPLER_CUBE 0x8DCC\n#define GL_INT_SAMPLER_1D_ARRAY 0x8DCE\n#define GL_INT_SAMPLER_2D_ARRAY 0x8DCF\n#define GL_UNSIGNED_INT_SAMPLER_1D 0x8DD1\n#define GL_UNSIGNED_INT_SAMPLER_2D 0x8DD2\n#define GL_UNSIGNED_INT_SAMPLER_3D 0x8DD3\n#define GL_UNSIGNED_INT_SAMPLER_CUBE 0x8DD4\n#define GL_UNSIGNED_INT_SAMPLER_1D_ARRAY 0x8DD6\n#define GL_UNSIGNED_INT_SAMPLER_2D_ARRAY 0x8DD7\n#define GL_QUERY_WAIT 0x8E13\n#define GL_QUERY_NO_WAIT 0x8E14\n#define GL_QUERY_BY_REGION_WAIT 0x8E15\n#define GL_QUERY_BY_REGION_NO_WAIT 0x8E16\n#define GL_BUFFER_ACCESS_FLAGS 0x911F\n#define GL_BUFFER_MAP_LENGTH 0x9120\n#define GL_BUFFER_MAP_OFFSET 0x9121\n#define GL_DEPTH_COMPONENT32F 0x8CAC\n#define GL_DEPTH32F_STENCIL8 0x8CAD\n#define GL_FLOAT_32_UNSIGNED_INT_24_8_REV 0x8DAD\n#define GL_INVALID_FRAMEBUFFER_OPERATION 0x0506\n#define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING 0x8210\n#define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE 0x8211\n#define GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE 0x8212\n#define GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE 0x8213\n#define GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE 0x8214\n#define GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE 0x8215\n#define GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE 0x8216\n#define GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE 0x8217\n#define GL_FRAMEBUFFER_DEFAULT 0x8218\n#define GL_FRAMEBUFFER_UNDEFINED 0x8219\n#define GL_DEPTH_STENCIL_ATTACHMENT 0x821A\n#define GL_MAX_RENDERBUFFER_SIZE 0x84E8\n#define GL_DEPTH_STENCIL 0x84F9\n#define GL_UNSIGNED_INT_24_8 0x84FA\n#define GL_DEPTH24_STENCIL8 0x88F0\n#define GL_TEXTURE_STENCIL_SIZE 0x88F1\n#define GL_TEXTURE_RED_TYPE 0x8C10\n#define GL_TEXTURE_GREEN_TYPE 0x8C11\n#define GL_TEXTURE_BLUE_TYPE 0x8C12\n#define GL_TEXTURE_ALPHA_TYPE 0x8C13\n#define GL_TEXTURE_DEPTH_TYPE 0x8C16\n#define GL_UNSIGNED_NORMALIZED 0x8C17\n#define GL_FRAMEBUFFER_BINDING 0x8CA6\n#define GL_DRAW_FRAMEBUFFER_BINDING 0x8CA6\n#define GL_RENDERBUFFER_BINDING 0x8CA7\n#define GL_READ_FRAMEBUFFER 0x8CA8\n#define GL_DRAW_FRAMEBUFFER 0x8CA9\n#define GL_READ_FRAMEBUFFER_BINDING 0x8CAA\n#define GL_RENDERBUFFER_SAMPLES 0x8CAB\n#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE 0x8CD0\n#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME 0x8CD1\n#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL 0x8CD2\n#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE 0x8CD3\n#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER 0x8CD4\n#define GL_FRAMEBUFFER_COMPLETE 0x8CD5\n#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT 0x8CD6\n#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT 0x8CD7\n#define GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER 0x8CDB\n#define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER 0x8CDC\n#define GL_FRAMEBUFFER_UNSUPPORTED 0x8CDD\n#define GL_MAX_COLOR_ATTACHMENTS 0x8CDF\n#define GL_COLOR_ATTACHMENT0 0x8CE0\n#define GL_COLOR_ATTACHMENT1 0x8CE1\n#define GL_COLOR_ATTACHMENT2 0x8CE2\n#define GL_COLOR_ATTACHMENT3 0x8CE3\n#define GL_COLOR_ATTACHMENT4 0x8CE4\n#define GL_COLOR_ATTACHMENT5 0x8CE5\n#define GL_COLOR_ATTACHMENT6 0x8CE6\n#define GL_COLOR_ATTACHMENT7 0x8CE7\n#define GL_COLOR_ATTACHMENT8 0x8CE8\n#define GL_COLOR_ATTACHMENT9 0x8CE9\n#define GL_COLOR_ATTACHMENT10 0x8CEA\n#define GL_COLOR_ATTACHMENT11 0x8CEB\n#define GL_COLOR_ATTACHMENT12 0x8CEC\n#define GL_COLOR_ATTACHMENT13 0x8CED\n#define GL_COLOR_ATTACHMENT14 0x8CEE\n#define GL_COLOR_ATTACHMENT15 0x8CEF\n#define GL_COLOR_ATTACHMENT16 0x8CF0\n#define GL_COLOR_ATTACHMENT17 0x8CF1\n#define GL_COLOR_ATTACHMENT18 0x8CF2\n#define GL_COLOR_ATTACHMENT19 0x8CF3\n#define GL_COLOR_ATTACHMENT20 0x8CF4\n#define GL_COLOR_ATTACHMENT21 0x8CF5\n#define GL_COLOR_ATTACHMENT22 0x8CF6\n#define GL_COLOR_ATTACHMENT23 0x8CF7\n#define GL_COLOR_ATTACHMENT24 0x8CF8\n#define GL_COLOR_ATTACHMENT25 0x8CF9\n#define GL_COLOR_ATTACHMENT26 0x8CFA\n#define GL_COLOR_ATTACHMENT27 0x8CFB\n#define GL_COLOR_ATTACHMENT28 0x8CFC\n#define GL_COLOR_ATTACHMENT29 0x8CFD\n#define GL_COLOR_ATTACHMENT30 0x8CFE\n#define GL_COLOR_ATTACHMENT31 0x8CFF\n#define GL_DEPTH_ATTACHMENT 0x8D00\n#define GL_STENCIL_ATTACHMENT 0x8D20\n#define GL_FRAMEBUFFER 0x8D40\n#define GL_RENDERBUFFER 0x8D41\n#define GL_RENDERBUFFER_WIDTH 0x8D42\n#define GL_RENDERBUFFER_HEIGHT 0x8D43\n#define GL_RENDERBUFFER_INTERNAL_FORMAT 0x8D44\n#define GL_STENCIL_INDEX1 0x8D46\n#define GL_STENCIL_INDEX4 0x8D47\n#define GL_STENCIL_INDEX8 0x8D48\n#define GL_STENCIL_INDEX16 0x8D49\n#define GL_RENDERBUFFER_RED_SIZE 0x8D50\n#define GL_RENDERBUFFER_GREEN_SIZE 0x8D51\n#define GL_RENDERBUFFER_BLUE_SIZE 0x8D52\n#define GL_RENDERBUFFER_ALPHA_SIZE 0x8D53\n#define GL_RENDERBUFFER_DEPTH_SIZE 0x8D54\n#define GL_RENDERBUFFER_STENCIL_SIZE 0x8D55\n#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE 0x8D56\n#define GL_MAX_SAMPLES 0x8D57\n#define GL_INDEX 0x8222\n#define GL_TEXTURE_LUMINANCE_TYPE 0x8C14\n#define GL_TEXTURE_INTENSITY_TYPE 0x8C15\n#define GL_FRAMEBUFFER_SRGB 0x8DB9\n#define GL_HALF_FLOAT 0x140B\n#define GL_MAP_READ_BIT 0x0001\n#define GL_MAP_WRITE_BIT 0x0002\n#define GL_MAP_INVALIDATE_RANGE_BIT 0x0004\n#define GL_MAP_INVALIDATE_BUFFER_BIT 0x0008\n#define GL_MAP_FLUSH_EXPLICIT_BIT 0x0010\n#define GL_MAP_UNSYNCHRONIZED_BIT 0x0020\n#define GL_COMPRESSED_RED_RGTC1 0x8DBB\n#define GL_COMPRESSED_SIGNED_RED_RGTC1 0x8DBC\n#define GL_COMPRESSED_RG_RGTC2 0x8DBD\n#define GL_COMPRESSED_SIGNED_RG_RGTC2 0x8DBE\n#define GL_RG 0x8227\n#define GL_RG_INTEGER 0x8228\n#define GL_R8 0x8229\n#define GL_R16 0x822A\n#define GL_RG8 0x822B\n#define GL_RG16 0x822C\n#define GL_R16F 0x822D\n#define GL_R32F 0x822E\n#define GL_RG16F 0x822F\n#define GL_RG32F 0x8230\n#define GL_R8I 0x8231\n#define GL_R8UI 0x8232\n#define GL_R16I 0x8233\n#define GL_R16UI 0x8234\n#define GL_R32I 0x8235\n#define GL_R32UI 0x8236\n#define GL_RG8I 0x8237\n#define GL_RG8UI 0x8238\n#define GL_RG16I 0x8239\n#define GL_RG16UI 0x823A\n#define GL_RG32I 0x823B\n#define GL_RG32UI 0x823C\n#define GL_VERTEX_ARRAY_BINDING 0x85B5\n#define GL_CLAMP_VERTEX_COLOR 0x891A\n#define GL_CLAMP_FRAGMENT_COLOR 0x891B\n#define GL_ALPHA_INTEGER 0x8D97\n#define GL_SAMPLER_2D_RECT 0x8B63\n#define GL_SAMPLER_2D_RECT_SHADOW 0x8B64\n#define GL_SAMPLER_BUFFER 0x8DC2\n#define GL_INT_SAMPLER_2D_RECT 0x8DCD\n#define GL_INT_SAMPLER_BUFFER 0x8DD0\n#define GL_UNSIGNED_INT_SAMPLER_2D_RECT 0x8DD5\n#define GL_UNSIGNED_INT_SAMPLER_BUFFER 0x8DD8\n#define GL_TEXTURE_BUFFER 0x8C2A\n#define GL_MAX_TEXTURE_BUFFER_SIZE 0x8C2B\n#define GL_TEXTURE_BINDING_BUFFER 0x8C2C\n#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING 0x8C2D\n#define GL_TEXTURE_RECTANGLE 0x84F5\n#define GL_TEXTURE_BINDING_RECTANGLE 0x84F6\n#define GL_PROXY_TEXTURE_RECTANGLE 0x84F7\n#define GL_MAX_RECTANGLE_TEXTURE_SIZE 0x84F8\n#define GL_R8_SNORM 0x8F94\n#define GL_RG8_SNORM 0x8F95\n#define GL_RGB8_SNORM 0x8F96\n#define GL_RGBA8_SNORM 0x8F97\n#define GL_R16_SNORM 0x8F98\n#define GL_RG16_SNORM 0x8F99\n#define GL_RGB16_SNORM 0x8F9A\n#define GL_RGBA16_SNORM 0x8F9B\n#define GL_SIGNED_NORMALIZED 0x8F9C\n#define GL_PRIMITIVE_RESTART 0x8F9D\n#define GL_PRIMITIVE_RESTART_INDEX 0x8F9E\n#define GL_COPY_READ_BUFFER 0x8F36\n#define GL_COPY_WRITE_BUFFER 0x8F37\n#define GL_UNIFORM_BUFFER 0x8A11\n#define GL_UNIFORM_BUFFER_BINDING 0x8A28\n#define GL_UNIFORM_BUFFER_START 0x8A29\n#define GL_UNIFORM_BUFFER_SIZE 0x8A2A\n#define GL_MAX_VERTEX_UNIFORM_BLOCKS 0x8A2B\n#define GL_MAX_GEOMETRY_UNIFORM_BLOCKS 0x8A2C\n#define GL_MAX_FRAGMENT_UNIFORM_BLOCKS 0x8A2D\n#define GL_MAX_COMBINED_UNIFORM_BLOCKS 0x8A2E\n#define GL_MAX_UNIFORM_BUFFER_BINDINGS 0x8A2F\n#define GL_MAX_UNIFORM_BLOCK_SIZE 0x8A30\n#define GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS 0x8A31\n#define GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS 0x8A32\n#define GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS 0x8A33\n#define GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT 0x8A34\n#define GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH 0x8A35\n#define GL_ACTIVE_UNIFORM_BLOCKS 0x8A36\n#define GL_UNIFORM_TYPE 0x8A37\n#define GL_UNIFORM_SIZE 0x8A38\n#define GL_UNIFORM_NAME_LENGTH 0x8A39\n#define GL_UNIFORM_BLOCK_INDEX 0x8A3A\n#define GL_UNIFORM_OFFSET 0x8A3B\n#define GL_UNIFORM_ARRAY_STRIDE 0x8A3C\n#define GL_UNIFORM_MATRIX_STRIDE 0x8A3D\n#define GL_UNIFORM_IS_ROW_MAJOR 0x8A3E\n#define GL_UNIFORM_BLOCK_BINDING 0x8A3F\n#define GL_UNIFORM_BLOCK_DATA_SIZE 0x8A40\n#define GL_UNIFORM_BLOCK_NAME_LENGTH 0x8A41\n#define GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS 0x8A42\n#define GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES 0x8A43\n#define GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER 0x8A44\n#define GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER 0x8A45\n#define GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER 0x8A46\n#define GL_INVALID_INDEX 0xFFFFFFFF\n#define GL_CONTEXT_CORE_PROFILE_BIT 0x00000001\n#define GL_CONTEXT_COMPATIBILITY_PROFILE_BIT 0x00000002\n#define GL_LINES_ADJACENCY 0x000A\n#define GL_LINE_STRIP_ADJACENCY 0x000B\n#define GL_TRIANGLES_ADJACENCY 0x000C\n#define GL_TRIANGLE_STRIP_ADJACENCY 0x000D\n#define GL_PROGRAM_POINT_SIZE 0x8642\n#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS 0x8C29\n#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED 0x8DA7\n#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS 0x8DA8\n#define GL_GEOMETRY_SHADER 0x8DD9\n#define GL_GEOMETRY_VERTICES_OUT 0x8916\n#define GL_GEOMETRY_INPUT_TYPE 0x8917\n#define GL_GEOMETRY_OUTPUT_TYPE 0x8918\n#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS 0x8DDF\n#define GL_MAX_GEOMETRY_OUTPUT_VERTICES 0x8DE0\n#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS 0x8DE1\n#define GL_MAX_VERTEX_OUTPUT_COMPONENTS 0x9122\n#define GL_MAX_GEOMETRY_INPUT_COMPONENTS 0x9123\n#define GL_MAX_GEOMETRY_OUTPUT_COMPONENTS 0x9124\n#define GL_MAX_FRAGMENT_INPUT_COMPONENTS 0x9125\n#define GL_CONTEXT_PROFILE_MASK 0x9126\n#define GL_DEPTH_CLAMP 0x864F\n#define GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION 0x8E4C\n#define GL_FIRST_VERTEX_CONVENTION 0x8E4D\n#define GL_LAST_VERTEX_CONVENTION 0x8E4E\n#define GL_PROVOKING_VERTEX 0x8E4F\n#define GL_TEXTURE_CUBE_MAP_SEAMLESS 0x884F\n#define GL_MAX_SERVER_WAIT_TIMEOUT 0x9111\n#define GL_OBJECT_TYPE 0x9112\n#define GL_SYNC_CONDITION 0x9113\n#define GL_SYNC_STATUS 0x9114\n#define GL_SYNC_FLAGS 0x9115\n#define GL_SYNC_FENCE 0x9116\n#define GL_SYNC_GPU_COMMANDS_COMPLETE 0x9117\n#define GL_UNSIGNALED 0x9118\n#define GL_SIGNALED 0x9119\n#define GL_ALREADY_SIGNALED 0x911A\n#define GL_TIMEOUT_EXPIRED 0x911B\n#define GL_CONDITION_SATISFIED 0x911C\n#define GL_WAIT_FAILED 0x911D\n#define GL_TIMEOUT_IGNORED 0xFFFFFFFFFFFFFFFF\n#define GL_SYNC_FLUSH_COMMANDS_BIT 0x00000001\n#define GL_SAMPLE_POSITION 0x8E50\n#define GL_SAMPLE_MASK 0x8E51\n#define GL_SAMPLE_MASK_VALUE 0x8E52\n#define GL_MAX_SAMPLE_MASK_WORDS 0x8E59\n#define GL_TEXTURE_2D_MULTISAMPLE 0x9100\n#define GL_PROXY_TEXTURE_2D_MULTISAMPLE 0x9101\n#define GL_TEXTURE_2D_MULTISAMPLE_ARRAY 0x9102\n#define GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY 0x9103\n#define GL_TEXTURE_BINDING_2D_MULTISAMPLE 0x9104\n#define GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY 0x9105\n#define GL_TEXTURE_SAMPLES 0x9106\n#define GL_TEXTURE_FIXED_SAMPLE_LOCATIONS 0x9107\n#define GL_SAMPLER_2D_MULTISAMPLE 0x9108\n#define GL_INT_SAMPLER_2D_MULTISAMPLE 0x9109\n#define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE 0x910A\n#define GL_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910B\n#define GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910C\n#define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910D\n#define GL_MAX_COLOR_TEXTURE_SAMPLES 0x910E\n#define GL_MAX_DEPTH_TEXTURE_SAMPLES 0x910F\n#define GL_MAX_INTEGER_SAMPLES 0x9110\n#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR 0x88FE\n#define GL_SRC1_COLOR 0x88F9\n#define GL_ONE_MINUS_SRC1_COLOR 0x88FA\n#define GL_ONE_MINUS_SRC1_ALPHA 0x88FB\n#define GL_MAX_DUAL_SOURCE_DRAW_BUFFERS 0x88FC\n#define GL_ANY_SAMPLES_PASSED 0x8C2F\n#define GL_SAMPLER_BINDING 0x8919\n#define GL_RGB10_A2UI 0x906F\n#define GL_TEXTURE_SWIZZLE_R 0x8E42\n#define GL_TEXTURE_SWIZZLE_G 0x8E43\n#define GL_TEXTURE_SWIZZLE_B 0x8E44\n#define GL_TEXTURE_SWIZZLE_A 0x8E45\n#define GL_TEXTURE_SWIZZLE_RGBA 0x8E46\n#define GL_TIME_ELAPSED 0x88BF\n#define GL_TIMESTAMP 0x8E28\n#define GL_INT_2_10_10_10_REV 0x8D9F\n#define GL_SAMPLE_SHADING 0x8C36\n#define GL_MIN_SAMPLE_SHADING_VALUE 0x8C37\n#define GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET 0x8E5E\n#define GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET 0x8E5F\n#define GL_TEXTURE_CUBE_MAP_ARRAY 0x9009\n#define GL_TEXTURE_BINDING_CUBE_MAP_ARRAY 0x900A\n#define GL_PROXY_TEXTURE_CUBE_MAP_ARRAY 0x900B\n#define GL_SAMPLER_CUBE_MAP_ARRAY 0x900C\n#define GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW 0x900D\n#define GL_INT_SAMPLER_CUBE_MAP_ARRAY 0x900E\n#define GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY 0x900F\n#define GL_DRAW_INDIRECT_BUFFER 0x8F3F\n#define GL_DRAW_INDIRECT_BUFFER_BINDING 0x8F43\n#define GL_GEOMETRY_SHADER_INVOCATIONS 0x887F\n#define GL_MAX_GEOMETRY_SHADER_INVOCATIONS 0x8E5A\n#define GL_MIN_FRAGMENT_INTERPOLATION_OFFSET 0x8E5B\n#define GL_MAX_FRAGMENT_INTERPOLATION_OFFSET 0x8E5C\n#define GL_FRAGMENT_INTERPOLATION_OFFSET_BITS 0x8E5D\n#define GL_MAX_VERTEX_STREAMS 0x8E71\n#define GL_DOUBLE_VEC2 0x8FFC\n#define GL_DOUBLE_VEC3 0x8FFD\n#define GL_DOUBLE_VEC4 0x8FFE\n#define GL_DOUBLE_MAT2 0x8F46\n#define GL_DOUBLE_MAT3 0x8F47\n#define GL_DOUBLE_MAT4 0x8F48\n#define GL_DOUBLE_MAT2x3 0x8F49\n#define GL_DOUBLE_MAT2x4 0x8F4A\n#define GL_DOUBLE_MAT3x2 0x8F4B\n#define GL_DOUBLE_MAT3x4 0x8F4C\n#define GL_DOUBLE_MAT4x2 0x8F4D\n#define GL_DOUBLE_MAT4x3 0x8F4E\n#define GL_ACTIVE_SUBROUTINES 0x8DE5\n#define GL_ACTIVE_SUBROUTINE_UNIFORMS 0x8DE6\n#define GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS 0x8E47\n#define GL_ACTIVE_SUBROUTINE_MAX_LENGTH 0x8E48\n#define GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH 0x8E49\n#define GL_MAX_SUBROUTINES 0x8DE7\n#define GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS 0x8DE8\n#define GL_NUM_COMPATIBLE_SUBROUTINES 0x8E4A\n#define GL_COMPATIBLE_SUBROUTINES 0x8E4B\n#define GL_PATCHES 0x000E\n#define GL_PATCH_VERTICES 0x8E72\n#define GL_PATCH_DEFAULT_INNER_LEVEL 0x8E73\n#define GL_PATCH_DEFAULT_OUTER_LEVEL 0x8E74\n#define GL_TESS_CONTROL_OUTPUT_VERTICES 0x8E75\n#define GL_TESS_GEN_MODE 0x8E76\n#define GL_TESS_GEN_SPACING 0x8E77\n#define GL_TESS_GEN_VERTEX_ORDER 0x8E78\n#define GL_TESS_GEN_POINT_MODE 0x8E79\n#define GL_ISOLINES 0x8E7A\n#define GL_FRACTIONAL_ODD 0x8E7B\n#define GL_FRACTIONAL_EVEN 0x8E7C\n#define GL_MAX_PATCH_VERTICES 0x8E7D\n#define GL_MAX_TESS_GEN_LEVEL 0x8E7E\n#define GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS 0x8E7F\n#define GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS 0x8E80\n#define GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS 0x8E81\n#define GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS 0x8E82\n#define GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS 0x8E83\n#define GL_MAX_TESS_PATCH_COMPONENTS 0x8E84\n#define GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS 0x8E85\n#define GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS 0x8E86\n#define GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS 0x8E89\n#define GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS 0x8E8A\n#define GL_MAX_TESS_CONTROL_INPUT_COMPONENTS 0x886C\n#define GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS 0x886D\n#define GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS 0x8E1E\n#define GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS 0x8E1F\n#define GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER 0x84F0\n#define GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER 0x84F1\n#define GL_TESS_EVALUATION_SHADER 0x8E87\n#define GL_TESS_CONTROL_SHADER 0x8E88\n#define GL_TRANSFORM_FEEDBACK 0x8E22\n#define GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED 0x8E23\n#define GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE 0x8E24\n#define GL_TRANSFORM_FEEDBACK_BINDING 0x8E25\n#define GL_MAX_TRANSFORM_FEEDBACK_BUFFERS 0x8E70\n#define GL_FIXED 0x140C\n#define GL_IMPLEMENTATION_COLOR_READ_TYPE 0x8B9A\n#define GL_IMPLEMENTATION_COLOR_READ_FORMAT 0x8B9B\n#define GL_LOW_FLOAT 0x8DF0\n#define GL_MEDIUM_FLOAT 0x8DF1\n#define GL_HIGH_FLOAT 0x8DF2\n#define GL_LOW_INT 0x8DF3\n#define GL_MEDIUM_INT 0x8DF4\n#define GL_HIGH_INT 0x8DF5\n#define GL_SHADER_COMPILER 0x8DFA\n#define GL_SHADER_BINARY_FORMATS 0x8DF8\n#define GL_NUM_SHADER_BINARY_FORMATS 0x8DF9\n#define GL_MAX_VERTEX_UNIFORM_VECTORS 0x8DFB\n#define GL_MAX_VARYING_VECTORS 0x8DFC\n#define GL_MAX_FRAGMENT_UNIFORM_VECTORS 0x8DFD\n#define GL_RGB565 0x8D62\n#define GL_PROGRAM_BINARY_RETRIEVABLE_HINT 0x8257\n#define GL_PROGRAM_BINARY_LENGTH 0x8741\n#define GL_NUM_PROGRAM_BINARY_FORMATS 0x87FE\n#define GL_PROGRAM_BINARY_FORMATS 0x87FF\n#define GL_VERTEX_SHADER_BIT 0x00000001\n#define GL_FRAGMENT_SHADER_BIT 0x00000002\n#define GL_GEOMETRY_SHADER_BIT 0x00000004\n#define GL_TESS_CONTROL_SHADER_BIT 0x00000008\n#define GL_TESS_EVALUATION_SHADER_BIT 0x00000010\n#define GL_ALL_SHADER_BITS 0xFFFFFFFF\n#define GL_PROGRAM_SEPARABLE 0x8258\n#define GL_ACTIVE_PROGRAM 0x8259\n#define GL_PROGRAM_PIPELINE_BINDING 0x825A\n#define GL_MAX_VIEWPORTS 0x825B\n#define GL_VIEWPORT_SUBPIXEL_BITS 0x825C\n#define GL_VIEWPORT_BOUNDS_RANGE 0x825D\n#define GL_LAYER_PROVOKING_VERTEX 0x825E\n#define GL_VIEWPORT_INDEX_PROVOKING_VERTEX 0x825F\n#define GL_UNDEFINED_VERTEX 0x8260\n#define GL_COPY_READ_BUFFER_BINDING 0x8F36\n#define GL_COPY_WRITE_BUFFER_BINDING 0x8F37\n#define GL_TRANSFORM_FEEDBACK_ACTIVE 0x8E24\n#define GL_TRANSFORM_FEEDBACK_PAUSED 0x8E23\n#define GL_UNPACK_COMPRESSED_BLOCK_WIDTH 0x9127\n#define GL_UNPACK_COMPRESSED_BLOCK_HEIGHT 0x9128\n#define GL_UNPACK_COMPRESSED_BLOCK_DEPTH 0x9129\n#define GL_UNPACK_COMPRESSED_BLOCK_SIZE 0x912A\n#define GL_PACK_COMPRESSED_BLOCK_WIDTH 0x912B\n#define GL_PACK_COMPRESSED_BLOCK_HEIGHT 0x912C\n#define GL_PACK_COMPRESSED_BLOCK_DEPTH 0x912D\n#define GL_PACK_COMPRESSED_BLOCK_SIZE 0x912E\n#define GL_NUM_SAMPLE_COUNTS 0x9380\n#define GL_MIN_MAP_BUFFER_ALIGNMENT 0x90BC\n#define GL_ATOMIC_COUNTER_BUFFER 0x92C0\n#define GL_ATOMIC_COUNTER_BUFFER_BINDING 0x92C1\n#define GL_ATOMIC_COUNTER_BUFFER_START 0x92C2\n#define GL_ATOMIC_COUNTER_BUFFER_SIZE 0x92C3\n#define GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE 0x92C4\n#define GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS 0x92C5\n#define GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES 0x92C6\n#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER 0x92C7\n#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER 0x92C8\n#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER 0x92C9\n#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER 0x92CA\n#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER 0x92CB\n#define GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS 0x92CC\n#define GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS 0x92CD\n#define GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS 0x92CE\n#define GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS 0x92CF\n#define GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS 0x92D0\n#define GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS 0x92D1\n#define GL_MAX_VERTEX_ATOMIC_COUNTERS 0x92D2\n#define GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS 0x92D3\n#define GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS 0x92D4\n#define GL_MAX_GEOMETRY_ATOMIC_COUNTERS 0x92D5\n#define GL_MAX_FRAGMENT_ATOMIC_COUNTERS 0x92D6\n#define GL_MAX_COMBINED_ATOMIC_COUNTERS 0x92D7\n#define GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE 0x92D8\n#define GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS 0x92DC\n#define GL_ACTIVE_ATOMIC_COUNTER_BUFFERS 0x92D9\n#define GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX 0x92DA\n#define GL_UNSIGNED_INT_ATOMIC_COUNTER 0x92DB\n#define GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT 0x00000001\n#define GL_ELEMENT_ARRAY_BARRIER_BIT 0x00000002\n#define GL_UNIFORM_BARRIER_BIT 0x00000004\n#define GL_TEXTURE_FETCH_BARRIER_BIT 0x00000008\n#define GL_SHADER_IMAGE_ACCESS_BARRIER_BIT 0x00000020\n#define GL_COMMAND_BARRIER_BIT 0x00000040\n#define GL_PIXEL_BUFFER_BARRIER_BIT 0x00000080\n#define GL_TEXTURE_UPDATE_BARRIER_BIT 0x00000100\n#define GL_BUFFER_UPDATE_BARRIER_BIT 0x00000200\n#define GL_FRAMEBUFFER_BARRIER_BIT 0x00000400\n#define GL_TRANSFORM_FEEDBACK_BARRIER_BIT 0x00000800\n#define GL_ATOMIC_COUNTER_BARRIER_BIT 0x00001000\n#define GL_ALL_BARRIER_BITS 0xFFFFFFFF\n#define GL_MAX_IMAGE_UNITS 0x8F38\n#define GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS 0x8F39\n#define GL_IMAGE_BINDING_NAME 0x8F3A\n#define GL_IMAGE_BINDING_LEVEL 0x8F3B\n#define GL_IMAGE_BINDING_LAYERED 0x8F3C\n#define GL_IMAGE_BINDING_LAYER 0x8F3D\n#define GL_IMAGE_BINDING_ACCESS 0x8F3E\n#define GL_IMAGE_1D 0x904C\n#define GL_IMAGE_2D 0x904D\n#define GL_IMAGE_3D 0x904E\n#define GL_IMAGE_2D_RECT 0x904F\n#define GL_IMAGE_CUBE 0x9050\n#define GL_IMAGE_BUFFER 0x9051\n#define GL_IMAGE_1D_ARRAY 0x9052\n#define GL_IMAGE_2D_ARRAY 0x9053\n#define GL_IMAGE_CUBE_MAP_ARRAY 0x9054\n#define GL_IMAGE_2D_MULTISAMPLE 0x9055\n#define GL_IMAGE_2D_MULTISAMPLE_ARRAY 0x9056\n#define GL_INT_IMAGE_1D 0x9057\n#define GL_INT_IMAGE_2D 0x9058\n#define GL_INT_IMAGE_3D 0x9059\n#define GL_INT_IMAGE_2D_RECT 0x905A\n#define GL_INT_IMAGE_CUBE 0x905B\n#define GL_INT_IMAGE_BUFFER 0x905C\n#define GL_INT_IMAGE_1D_ARRAY 0x905D\n#define GL_INT_IMAGE_2D_ARRAY 0x905E\n#define GL_INT_IMAGE_CUBE_MAP_ARRAY 0x905F\n#define GL_INT_IMAGE_2D_MULTISAMPLE 0x9060\n#define GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY 0x9061\n#define GL_UNSIGNED_INT_IMAGE_1D 0x9062\n#define GL_UNSIGNED_INT_IMAGE_2D 0x9063\n#define GL_UNSIGNED_INT_IMAGE_3D 0x9064\n#define GL_UNSIGNED_INT_IMAGE_2D_RECT 0x9065\n#define GL_UNSIGNED_INT_IMAGE_CUBE 0x9066\n#define GL_UNSIGNED_INT_IMAGE_BUFFER 0x9067\n#define GL_UNSIGNED_INT_IMAGE_1D_ARRAY 0x9068\n#define GL_UNSIGNED_INT_IMAGE_2D_ARRAY 0x9069\n#define GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY 0x906A\n#define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE 0x906B\n#define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY 0x906C\n#define GL_MAX_IMAGE_SAMPLES 0x906D\n#define GL_IMAGE_BINDING_FORMAT 0x906E\n#define GL_IMAGE_FORMAT_COMPATIBILITY_TYPE 0x90C7\n#define GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE 0x90C8\n#define GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS 0x90C9\n#define GL_MAX_VERTEX_IMAGE_UNIFORMS 0x90CA\n#define GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS 0x90CB\n#define GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS 0x90CC\n#define GL_MAX_GEOMETRY_IMAGE_UNIFORMS 0x90CD\n#define GL_MAX_FRAGMENT_IMAGE_UNIFORMS 0x90CE\n#define GL_MAX_COMBINED_IMAGE_UNIFORMS 0x90CF\n#define GL_COMPRESSED_RGBA_BPTC_UNORM 0x8E8C\n#define GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM 0x8E8D\n#define GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT 0x8E8E\n#define GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT 0x8E8F\n#define GL_TEXTURE_IMMUTABLE_FORMAT 0x912F\n#define GL_NUM_SHADING_LANGUAGE_VERSIONS 0x82E9\n#define GL_VERTEX_ATTRIB_ARRAY_LONG 0x874E\n#define GL_COMPRESSED_RGB8_ETC2 0x9274\n#define GL_COMPRESSED_SRGB8_ETC2 0x9275\n#define GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 0x9276\n#define GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 0x9277\n#define GL_COMPRESSED_RGBA8_ETC2_EAC 0x9278\n#define GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC 0x9279\n#define GL_COMPRESSED_R11_EAC 0x9270\n#define GL_COMPRESSED_SIGNED_R11_EAC 0x9271\n#define GL_COMPRESSED_RG11_EAC 0x9272\n#define GL_COMPRESSED_SIGNED_RG11_EAC 0x9273\n#define GL_PRIMITIVE_RESTART_FIXED_INDEX 0x8D69\n#define GL_ANY_SAMPLES_PASSED_CONSERVATIVE 0x8D6A\n#define GL_MAX_ELEMENT_INDEX 0x8D6B\n#define GL_COMPUTE_SHADER 0x91B9\n#define GL_MAX_COMPUTE_UNIFORM_BLOCKS 0x91BB\n#define GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS 0x91BC\n#define GL_MAX_COMPUTE_IMAGE_UNIFORMS 0x91BD\n#define GL_MAX_COMPUTE_SHARED_MEMORY_SIZE 0x8262\n#define GL_MAX_COMPUTE_UNIFORM_COMPONENTS 0x8263\n#define GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS 0x8264\n#define GL_MAX_COMPUTE_ATOMIC_COUNTERS 0x8265\n#define GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS 0x8266\n#define GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS 0x90EB\n#define GL_MAX_COMPUTE_WORK_GROUP_COUNT 0x91BE\n#define GL_MAX_COMPUTE_WORK_GROUP_SIZE 0x91BF\n#define GL_COMPUTE_WORK_GROUP_SIZE 0x8267\n#define GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER 0x90EC\n#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER 0x90ED\n#define GL_DISPATCH_INDIRECT_BUFFER 0x90EE\n#define GL_DISPATCH_INDIRECT_BUFFER_BINDING 0x90EF\n#define GL_COMPUTE_SHADER_BIT 0x00000020\n#define GL_DEBUG_OUTPUT_SYNCHRONOUS 0x8242\n#define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH 0x8243\n#define GL_DEBUG_CALLBACK_FUNCTION 0x8244\n#define GL_DEBUG_CALLBACK_USER_PARAM 0x8245\n#define GL_DEBUG_SOURCE_API 0x8246\n#define GL_DEBUG_SOURCE_WINDOW_SYSTEM 0x8247\n#define GL_DEBUG_SOURCE_SHADER_COMPILER 0x8248\n#define GL_DEBUG_SOURCE_THIRD_PARTY 0x8249\n#define GL_DEBUG_SOURCE_APPLICATION 0x824A\n#define GL_DEBUG_SOURCE_OTHER 0x824B\n#define GL_DEBUG_TYPE_ERROR 0x824C\n#define GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR 0x824D\n#define GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR 0x824E\n#define GL_DEBUG_TYPE_PORTABILITY 0x824F\n#define GL_DEBUG_TYPE_PERFORMANCE 0x8250\n#define GL_DEBUG_TYPE_OTHER 0x8251\n#define GL_MAX_DEBUG_MESSAGE_LENGTH 0x9143\n#define GL_MAX_DEBUG_LOGGED_MESSAGES 0x9144\n#define GL_DEBUG_LOGGED_MESSAGES 0x9145\n#define GL_DEBUG_SEVERITY_HIGH 0x9146\n#define GL_DEBUG_SEVERITY_MEDIUM 0x9147\n#define GL_DEBUG_SEVERITY_LOW 0x9148\n#define GL_DEBUG_TYPE_MARKER 0x8268\n#define GL_DEBUG_TYPE_PUSH_GROUP 0x8269\n#define GL_DEBUG_TYPE_POP_GROUP 0x826A\n#define GL_DEBUG_SEVERITY_NOTIFICATION 0x826B\n#define GL_MAX_DEBUG_GROUP_STACK_DEPTH 0x826C\n#define GL_DEBUG_GROUP_STACK_DEPTH 0x826D\n#define GL_BUFFER 0x82E0\n#define GL_SHADER 0x82E1\n#define GL_PROGRAM 0x82E2\n#define GL_QUERY 0x82E3\n#define GL_PROGRAM_PIPELINE 0x82E4\n#define GL_SAMPLER 0x82E6\n#define GL_MAX_LABEL_LENGTH 0x82E8\n#define GL_DEBUG_OUTPUT 0x92E0\n#define GL_CONTEXT_FLAG_DEBUG_BIT 0x00000002\n#define GL_MAX_UNIFORM_LOCATIONS 0x826E\n#define GL_FRAMEBUFFER_DEFAULT_WIDTH 0x9310\n#define GL_FRAMEBUFFER_DEFAULT_HEIGHT 0x9311\n#define GL_FRAMEBUFFER_DEFAULT_LAYERS 0x9312\n#define GL_FRAMEBUFFER_DEFAULT_SAMPLES 0x9313\n#define GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS 0x9314\n#define GL_MAX_FRAMEBUFFER_WIDTH 0x9315\n#define GL_MAX_FRAMEBUFFER_HEIGHT 0x9316\n#define GL_MAX_FRAMEBUFFER_LAYERS 0x9317\n#define GL_MAX_FRAMEBUFFER_SAMPLES 0x9318\n#define GL_INTERNALFORMAT_SUPPORTED 0x826F\n#define GL_INTERNALFORMAT_PREFERRED 0x8270\n#define GL_INTERNALFORMAT_RED_SIZE 0x8271\n#define GL_INTERNALFORMAT_GREEN_SIZE 0x8272\n#define GL_INTERNALFORMAT_BLUE_SIZE 0x8273\n#define GL_INTERNALFORMAT_ALPHA_SIZE 0x8274\n#define GL_INTERNALFORMAT_DEPTH_SIZE 0x8275\n#define GL_INTERNALFORMAT_STENCIL_SIZE 0x8276\n#define GL_INTERNALFORMAT_SHARED_SIZE 0x8277\n#define GL_INTERNALFORMAT_RED_TYPE 0x8278\n#define GL_INTERNALFORMAT_GREEN_TYPE 0x8279\n#define GL_INTERNALFORMAT_BLUE_TYPE 0x827A\n#define GL_INTERNALFORMAT_ALPHA_TYPE 0x827B\n#define GL_INTERNALFORMAT_DEPTH_TYPE 0x827C\n#define GL_INTERNALFORMAT_STENCIL_TYPE 0x827D\n#define GL_MAX_WIDTH 0x827E\n#define GL_MAX_HEIGHT 0x827F\n#define GL_MAX_DEPTH 0x8280\n#define GL_MAX_LAYERS 0x8281\n#define GL_MAX_COMBINED_DIMENSIONS 0x8282\n#define GL_COLOR_COMPONENTS 0x8283\n#define GL_DEPTH_COMPONENTS 0x8284\n#define GL_STENCIL_COMPONENTS 0x8285\n#define GL_COLOR_RENDERABLE 0x8286\n#define GL_DEPTH_RENDERABLE 0x8287\n#define GL_STENCIL_RENDERABLE 0x8288\n#define GL_FRAMEBUFFER_RENDERABLE 0x8289\n#define GL_FRAMEBUFFER_RENDERABLE_LAYERED 0x828A\n#define GL_FRAMEBUFFER_BLEND 0x828B\n#define GL_READ_PIXELS 0x828C\n#define GL_READ_PIXELS_FORMAT 0x828D\n#define GL_READ_PIXELS_TYPE 0x828E\n#define GL_TEXTURE_IMAGE_FORMAT 0x828F\n#define GL_TEXTURE_IMAGE_TYPE 0x8290\n#define GL_GET_TEXTURE_IMAGE_FORMAT 0x8291\n#define GL_GET_TEXTURE_IMAGE_TYPE 0x8292\n#define GL_MIPMAP 0x8293\n#define GL_MANUAL_GENERATE_MIPMAP 0x8294\n#define GL_AUTO_GENERATE_MIPMAP 0x8295\n#define GL_COLOR_ENCODING 0x8296\n#define GL_SRGB_READ 0x8297\n#define GL_SRGB_WRITE 0x8298\n#define GL_FILTER 0x829A\n#define GL_VERTEX_TEXTURE 0x829B\n#define GL_TESS_CONTROL_TEXTURE 0x829C\n#define GL_TESS_EVALUATION_TEXTURE 0x829D\n#define GL_GEOMETRY_TEXTURE 0x829E\n#define GL_FRAGMENT_TEXTURE 0x829F\n#define GL_COMPUTE_TEXTURE 0x82A0\n#define GL_TEXTURE_SHADOW 0x82A1\n#define GL_TEXTURE_GATHER 0x82A2\n#define GL_TEXTURE_GATHER_SHADOW 0x82A3\n#define GL_SHADER_IMAGE_LOAD 0x82A4\n#define GL_SHADER_IMAGE_STORE 0x82A5\n#define GL_SHADER_IMAGE_ATOMIC 0x82A6\n#define GL_IMAGE_TEXEL_SIZE 0x82A7\n#define GL_IMAGE_COMPATIBILITY_CLASS 0x82A8\n#define GL_IMAGE_PIXEL_FORMAT 0x82A9\n#define GL_IMAGE_PIXEL_TYPE 0x82AA\n#define GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST 0x82AC\n#define GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST 0x82AD\n#define GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE 0x82AE\n#define GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE 0x82AF\n#define GL_TEXTURE_COMPRESSED_BLOCK_WIDTH 0x82B1\n#define GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT 0x82B2\n#define GL_TEXTURE_COMPRESSED_BLOCK_SIZE 0x82B3\n#define GL_CLEAR_BUFFER 0x82B4\n#define GL_TEXTURE_VIEW 0x82B5\n#define GL_VIEW_COMPATIBILITY_CLASS 0x82B6\n#define GL_FULL_SUPPORT 0x82B7\n#define GL_CAVEAT_SUPPORT 0x82B8\n#define GL_IMAGE_CLASS_4_X_32 0x82B9\n#define GL_IMAGE_CLASS_2_X_32 0x82BA\n#define GL_IMAGE_CLASS_1_X_32 0x82BB\n#define GL_IMAGE_CLASS_4_X_16 0x82BC\n#define GL_IMAGE_CLASS_2_X_16 0x82BD\n#define GL_IMAGE_CLASS_1_X_16 0x82BE\n#define GL_IMAGE_CLASS_4_X_8 0x82BF\n#define GL_IMAGE_CLASS_2_X_8 0x82C0\n#define GL_IMAGE_CLASS_1_X_8 0x82C1\n#define GL_IMAGE_CLASS_11_11_10 0x82C2\n#define GL_IMAGE_CLASS_10_10_10_2 0x82C3\n#define GL_VIEW_CLASS_128_BITS 0x82C4\n#define GL_VIEW_CLASS_96_BITS 0x82C5\n#define GL_VIEW_CLASS_64_BITS 0x82C6\n#define GL_VIEW_CLASS_48_BITS 0x82C7\n#define GL_VIEW_CLASS_32_BITS 0x82C8\n#define GL_VIEW_CLASS_24_BITS 0x82C9\n#define GL_VIEW_CLASS_16_BITS 0x82CA\n#define GL_VIEW_CLASS_8_BITS 0x82CB\n#define GL_VIEW_CLASS_S3TC_DXT1_RGB 0x82CC\n#define GL_VIEW_CLASS_S3TC_DXT1_RGBA 0x82CD\n#define GL_VIEW_CLASS_S3TC_DXT3_RGBA 0x82CE\n#define GL_VIEW_CLASS_S3TC_DXT5_RGBA 0x82CF\n#define GL_VIEW_CLASS_RGTC1_RED 0x82D0\n#define GL_VIEW_CLASS_RGTC2_RG 0x82D1\n#define GL_VIEW_CLASS_BPTC_UNORM 0x82D2\n#define GL_VIEW_CLASS_BPTC_FLOAT 0x82D3\n#define GL_UNIFORM 0x92E1\n#define GL_UNIFORM_BLOCK 0x92E2\n#define GL_PROGRAM_INPUT 0x92E3\n#define GL_PROGRAM_OUTPUT 0x92E4\n#define GL_BUFFER_VARIABLE 0x92E5\n#define GL_SHADER_STORAGE_BLOCK 0x92E6\n#define GL_VERTEX_SUBROUTINE 0x92E8\n#define GL_TESS_CONTROL_SUBROUTINE 0x92E9\n#define GL_TESS_EVALUATION_SUBROUTINE 0x92EA\n#define GL_GEOMETRY_SUBROUTINE 0x92EB\n#define GL_FRAGMENT_SUBROUTINE 0x92EC\n#define GL_COMPUTE_SUBROUTINE 0x92ED\n#define GL_VERTEX_SUBROUTINE_UNIFORM 0x92EE\n#define GL_TESS_CONTROL_SUBROUTINE_UNIFORM 0x92EF\n#define GL_TESS_EVALUATION_SUBROUTINE_UNIFORM 0x92F0\n#define GL_GEOMETRY_SUBROUTINE_UNIFORM 0x92F1\n#define GL_FRAGMENT_SUBROUTINE_UNIFORM 0x92F2\n#define GL_COMPUTE_SUBROUTINE_UNIFORM 0x92F3\n#define GL_TRANSFORM_FEEDBACK_VARYING 0x92F4\n#define GL_ACTIVE_RESOURCES 0x92F5\n#define GL_MAX_NAME_LENGTH 0x92F6\n#define GL_MAX_NUM_ACTIVE_VARIABLES 0x92F7\n#define GL_MAX_NUM_COMPATIBLE_SUBROUTINES 0x92F8\n#define GL_NAME_LENGTH 0x92F9\n#define GL_TYPE 0x92FA\n#define GL_ARRAY_SIZE 0x92FB\n#define GL_OFFSET 0x92FC\n#define GL_BLOCK_INDEX 0x92FD\n#define GL_ARRAY_STRIDE 0x92FE\n#define GL_MATRIX_STRIDE 0x92FF\n#define GL_IS_ROW_MAJOR 0x9300\n#define GL_ATOMIC_COUNTER_BUFFER_INDEX 0x9301\n#define GL_BUFFER_BINDING 0x9302\n#define GL_BUFFER_DATA_SIZE 0x9303\n#define GL_NUM_ACTIVE_VARIABLES 0x9304\n#define GL_ACTIVE_VARIABLES 0x9305\n#define GL_REFERENCED_BY_VERTEX_SHADER 0x9306\n#define GL_REFERENCED_BY_TESS_CONTROL_SHADER 0x9307\n#define GL_REFERENCED_BY_TESS_EVALUATION_SHADER 0x9308\n#define GL_REFERENCED_BY_GEOMETRY_SHADER 0x9309\n#define GL_REFERENCED_BY_FRAGMENT_SHADER 0x930A\n#define GL_REFERENCED_BY_COMPUTE_SHADER 0x930B\n#define GL_TOP_LEVEL_ARRAY_SIZE 0x930C\n#define GL_TOP_LEVEL_ARRAY_STRIDE 0x930D\n#define GL_LOCATION 0x930E\n#define GL_LOCATION_INDEX 0x930F\n#define GL_IS_PER_PATCH 0x92E7\n#define GL_SHADER_STORAGE_BUFFER 0x90D2\n#define GL_SHADER_STORAGE_BUFFER_BINDING 0x90D3\n#define GL_SHADER_STORAGE_BUFFER_START 0x90D4\n#define GL_SHADER_STORAGE_BUFFER_SIZE 0x90D5\n#define GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS 0x90D6\n#define GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS 0x90D7\n#define GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS 0x90D8\n#define GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS 0x90D9\n#define GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS 0x90DA\n#define GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS 0x90DB\n#define GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS 0x90DC\n#define GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS 0x90DD\n#define GL_MAX_SHADER_STORAGE_BLOCK_SIZE 0x90DE\n#define GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT 0x90DF\n#define GL_SHADER_STORAGE_BARRIER_BIT 0x00002000\n#define GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES 0x8F39\n#define GL_DEPTH_STENCIL_TEXTURE_MODE 0x90EA\n#define GL_TEXTURE_BUFFER_OFFSET 0x919D\n#define GL_TEXTURE_BUFFER_SIZE 0x919E\n#define GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT 0x919F\n#define GL_TEXTURE_VIEW_MIN_LEVEL 0x82DB\n#define GL_TEXTURE_VIEW_NUM_LEVELS 0x82DC\n#define GL_TEXTURE_VIEW_MIN_LAYER 0x82DD\n#define GL_TEXTURE_VIEW_NUM_LAYERS 0x82DE\n#define GL_TEXTURE_IMMUTABLE_LEVELS 0x82DF\n#define GL_VERTEX_ATTRIB_BINDING 0x82D4\n#define GL_VERTEX_ATTRIB_RELATIVE_OFFSET 0x82D5\n#define GL_VERTEX_BINDING_DIVISOR 0x82D6\n#define GL_VERTEX_BINDING_OFFSET 0x82D7\n#define GL_VERTEX_BINDING_STRIDE 0x82D8\n#define GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET 0x82D9\n#define GL_MAX_VERTEX_ATTRIB_BINDINGS 0x82DA\n#define GL_VERTEX_BINDING_BUFFER 0x8F4F\n#define GL_DISPLAY_LIST 0x82E7\n#define GL_MAX_VERTEX_ATTRIB_STRIDE 0x82E5\n#define GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED 0x8221\n#define GL_TEXTURE_BUFFER_BINDING 0x8C2A\n#define GL_MAP_PERSISTENT_BIT 0x0040\n#define GL_MAP_COHERENT_BIT 0x0080\n#define GL_DYNAMIC_STORAGE_BIT 0x0100\n#define GL_CLIENT_STORAGE_BIT 0x0200\n#define GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT 0x00004000\n#define GL_BUFFER_IMMUTABLE_STORAGE 0x821F\n#define GL_BUFFER_STORAGE_FLAGS 0x8220\n#define GL_CLEAR_TEXTURE 0x9365\n#define GL_LOCATION_COMPONENT 0x934A\n#define GL_TRANSFORM_FEEDBACK_BUFFER_INDEX 0x934B\n#define GL_TRANSFORM_FEEDBACK_BUFFER_STRIDE 0x934C\n#define GL_QUERY_BUFFER 0x9192\n#define GL_QUERY_BUFFER_BARRIER_BIT 0x00008000\n#define GL_QUERY_BUFFER_BINDING 0x9193\n#define GL_QUERY_RESULT_NO_WAIT 0x9194\n#define GL_MIRROR_CLAMP_TO_EDGE 0x8743\n#define GL_CONTEXT_LOST 0x0507\n#define GL_NEGATIVE_ONE_TO_ONE 0x935E\n#define GL_ZERO_TO_ONE 0x935F\n#define GL_CLIP_ORIGIN 0x935C\n#define GL_CLIP_DEPTH_MODE 0x935D\n#define GL_QUERY_WAIT_INVERTED 0x8E17\n#define GL_QUERY_NO_WAIT_INVERTED 0x8E18\n#define GL_QUERY_BY_REGION_WAIT_INVERTED 0x8E19\n#define GL_QUERY_BY_REGION_NO_WAIT_INVERTED 0x8E1A\n#define GL_MAX_CULL_DISTANCES 0x82F9\n#define GL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES 0x82FA\n#define GL_TEXTURE_TARGET 0x1006\n#define GL_QUERY_TARGET 0x82EA\n#define GL_GUILTY_CONTEXT_RESET 0x8253\n#define GL_INNOCENT_CONTEXT_RESET 0x8254\n#define GL_UNKNOWN_CONTEXT_RESET 0x8255\n#define GL_RESET_NOTIFICATION_STRATEGY 0x8256\n#define GL_LOSE_CONTEXT_ON_RESET 0x8252\n#define GL_NO_RESET_NOTIFICATION 0x8261\n#define GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT 0x00000004\n#define GL_CONTEXT_RELEASE_BEHAVIOR 0x82FB\n#define GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH 0x82FC\n#define GL_SHADER_BINARY_FORMAT_SPIR_V 0x9551\n#define GL_SPIR_V_BINARY 0x9552\n#define GL_PARAMETER_BUFFER 0x80EE\n#define GL_PARAMETER_BUFFER_BINDING 0x80EF\n#define GL_CONTEXT_FLAG_NO_ERROR_BIT 0x00000008\n#define GL_VERTICES_SUBMITTED 0x82EE\n#define GL_PRIMITIVES_SUBMITTED 0x82EF\n#define GL_VERTEX_SHADER_INVOCATIONS 0x82F0\n#define GL_TESS_CONTROL_SHADER_PATCHES 0x82F1\n#define GL_TESS_EVALUATION_SHADER_INVOCATIONS 0x82F2\n#define GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED 0x82F3\n#define GL_FRAGMENT_SHADER_INVOCATIONS 0x82F4\n#define GL_COMPUTE_SHADER_INVOCATIONS 0x82F5\n#define GL_CLIPPING_INPUT_PRIMITIVES 0x82F6\n#define GL_CLIPPING_OUTPUT_PRIMITIVES 0x82F7\n#define GL_POLYGON_OFFSET_CLAMP 0x8E1B\n#define GL_SPIR_V_EXTENSIONS 0x9553\n#define GL_NUM_SPIR_V_EXTENSIONS 0x9554\n#define GL_TEXTURE_MAX_ANISOTROPY 0x84FE\n#define GL_MAX_TEXTURE_MAX_ANISOTROPY 0x84FF\n#define GL_TRANSFORM_FEEDBACK_OVERFLOW 0x82EC\n#define GL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW 0x82ED\n#ifndef GL_VERSION_1_0\n#define GL_VERSION_1_0 1\nGLAPI int GLAD_GL_VERSION_1_0;\ntypedef void (APIENTRYP PFNGLCULLFACEPROC)(GLenum mode);\nGLAPI PFNGLCULLFACEPROC glad_glCullFace;\n#define glCullFace glad_glCullFace\ntypedef void (APIENTRYP PFNGLFRONTFACEPROC)(GLenum mode);\nGLAPI PFNGLFRONTFACEPROC glad_glFrontFace;\n#define glFrontFace glad_glFrontFace\ntypedef void (APIENTRYP PFNGLHINTPROC)(GLenum target, GLenum mode);\nGLAPI PFNGLHINTPROC glad_glHint;\n#define glHint glad_glHint\ntypedef void (APIENTRYP PFNGLLINEWIDTHPROC)(GLfloat width);\nGLAPI PFNGLLINEWIDTHPROC glad_glLineWidth;\n#define glLineWidth glad_glLineWidth\ntypedef void (APIENTRYP PFNGLPOINTSIZEPROC)(GLfloat size);\nGLAPI PFNGLPOINTSIZEPROC glad_glPointSize;\n#define glPointSize glad_glPointSize\ntypedef void (APIENTRYP PFNGLPOLYGONMODEPROC)(GLenum face, GLenum mode);\nGLAPI PFNGLPOLYGONMODEPROC glad_glPolygonMode;\n#define glPolygonMode glad_glPolygonMode\ntypedef void (APIENTRYP PFNGLSCISSORPROC)(GLint x, GLint y, GLsizei width, GLsizei height);\nGLAPI PFNGLSCISSORPROC glad_glScissor;\n#define glScissor glad_glScissor\ntypedef void (APIENTRYP PFNGLTEXPARAMETERFPROC)(GLenum target, GLenum pname, GLfloat param);\nGLAPI PFNGLTEXPARAMETERFPROC glad_glTexParameterf;\n#define glTexParameterf glad_glTexParameterf\ntypedef void (APIENTRYP PFNGLTEXPARAMETERFVPROC)(GLenum target, GLenum pname, const GLfloat *params);\nGLAPI PFNGLTEXPARAMETERFVPROC glad_glTexParameterfv;\n#define glTexParameterfv glad_glTexParameterfv\ntypedef void (APIENTRYP PFNGLTEXPARAMETERIPROC)(GLenum target, GLenum pname, GLint param);\nGLAPI PFNGLTEXPARAMETERIPROC glad_glTexParameteri;\n#define glTexParameteri glad_glTexParameteri\ntypedef void (APIENTRYP PFNGLTEXPARAMETERIVPROC)(GLenum target, GLenum pname, const GLint *params);\nGLAPI PFNGLTEXPARAMETERIVPROC glad_glTexParameteriv;\n#define glTexParameteriv glad_glTexParameteriv\ntypedef void (APIENTRYP PFNGLTEXIMAGE1DPROC)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void *pixels);\nGLAPI PFNGLTEXIMAGE1DPROC glad_glTexImage1D;\n#define glTexImage1D glad_glTexImage1D\ntypedef void (APIENTRYP PFNGLTEXIMAGE2DPROC)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels);\nGLAPI PFNGLTEXIMAGE2DPROC glad_glTexImage2D;\n#define glTexImage2D glad_glTexImage2D\ntypedef void (APIENTRYP PFNGLDRAWBUFFERPROC)(GLenum buf);\nGLAPI PFNGLDRAWBUFFERPROC glad_glDrawBuffer;\n#define glDrawBuffer glad_glDrawBuffer\ntypedef void (APIENTRYP PFNGLCLEARPROC)(GLbitfield mask);\nGLAPI PFNGLCLEARPROC glad_glClear;\n#define glClear glad_glClear\ntypedef void (APIENTRYP PFNGLCLEARCOLORPROC)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);\nGLAPI PFNGLCLEARCOLORPROC glad_glClearColor;\n#define glClearColor glad_glClearColor\ntypedef void (APIENTRYP PFNGLCLEARSTENCILPROC)(GLint s);\nGLAPI PFNGLCLEARSTENCILPROC glad_glClearStencil;\n#define glClearStencil glad_glClearStencil\ntypedef void (APIENTRYP PFNGLCLEARDEPTHPROC)(GLdouble depth);\nGLAPI PFNGLCLEARDEPTHPROC glad_glClearDepth;\n#define glClearDepth glad_glClearDepth\ntypedef void (APIENTRYP PFNGLSTENCILMASKPROC)(GLuint mask);\nGLAPI PFNGLSTENCILMASKPROC glad_glStencilMask;\n#define glStencilMask glad_glStencilMask\ntypedef void (APIENTRYP PFNGLCOLORMASKPROC)(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);\nGLAPI PFNGLCOLORMASKPROC glad_glColorMask;\n#define glColorMask glad_glColorMask\ntypedef void (APIENTRYP PFNGLDEPTHMASKPROC)(GLboolean flag);\nGLAPI PFNGLDEPTHMASKPROC glad_glDepthMask;\n#define glDepthMask glad_glDepthMask\ntypedef void (APIENTRYP PFNGLDISABLEPROC)(GLenum cap);\nGLAPI PFNGLDISABLEPROC glad_glDisable;\n#define glDisable glad_glDisable\ntypedef void (APIENTRYP PFNGLENABLEPROC)(GLenum cap);\nGLAPI PFNGLENABLEPROC glad_glEnable;\n#define glEnable glad_glEnable\ntypedef void (APIENTRYP PFNGLFINISHPROC)();\nGLAPI PFNGLFINISHPROC glad_glFinish;\n#define glFinish glad_glFinish\ntypedef void (APIENTRYP PFNGLFLUSHPROC)();\nGLAPI PFNGLFLUSHPROC glad_glFlush;\n#define glFlush glad_glFlush\ntypedef void (APIENTRYP PFNGLBLENDFUNCPROC)(GLenum sfactor, GLenum dfactor);\nGLAPI PFNGLBLENDFUNCPROC glad_glBlendFunc;\n#define glBlendFunc glad_glBlendFunc\ntypedef void (APIENTRYP PFNGLLOGICOPPROC)(GLenum opcode);\nGLAPI PFNGLLOGICOPPROC glad_glLogicOp;\n#define glLogicOp glad_glLogicOp\ntypedef void (APIENTRYP PFNGLSTENCILFUNCPROC)(GLenum func, GLint ref, GLuint mask);\nGLAPI PFNGLSTENCILFUNCPROC glad_glStencilFunc;\n#define glStencilFunc glad_glStencilFunc\ntypedef void (APIENTRYP PFNGLSTENCILOPPROC)(GLenum fail, GLenum zfail, GLenum zpass);\nGLAPI PFNGLSTENCILOPPROC glad_glStencilOp;\n#define glStencilOp glad_glStencilOp\ntypedef void (APIENTRYP PFNGLDEPTHFUNCPROC)(GLenum func);\nGLAPI PFNGLDEPTHFUNCPROC glad_glDepthFunc;\n#define glDepthFunc glad_glDepthFunc\ntypedef void (APIENTRYP PFNGLPIXELSTOREFPROC)(GLenum pname, GLfloat param);\nGLAPI PFNGLPIXELSTOREFPROC glad_glPixelStoref;\n#define glPixelStoref glad_glPixelStoref\ntypedef void (APIENTRYP PFNGLPIXELSTOREIPROC)(GLenum pname, GLint param);\nGLAPI PFNGLPIXELSTOREIPROC glad_glPixelStorei;\n#define glPixelStorei glad_glPixelStorei\ntypedef void (APIENTRYP PFNGLREADBUFFERPROC)(GLenum src);\nGLAPI PFNGLREADBUFFERPROC glad_glReadBuffer;\n#define glReadBuffer glad_glReadBuffer\ntypedef void (APIENTRYP PFNGLREADPIXELSPROC)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void *pixels);\nGLAPI PFNGLREADPIXELSPROC glad_glReadPixels;\n#define glReadPixels glad_glReadPixels\ntypedef void (APIENTRYP PFNGLGETBOOLEANVPROC)(GLenum pname, GLboolean *data);\nGLAPI PFNGLGETBOOLEANVPROC glad_glGetBooleanv;\n#define glGetBooleanv glad_glGetBooleanv\ntypedef void (APIENTRYP PFNGLGETDOUBLEVPROC)(GLenum pname, GLdouble *data);\nGLAPI PFNGLGETDOUBLEVPROC glad_glGetDoublev;\n#define glGetDoublev glad_glGetDoublev\ntypedef GLenum (APIENTRYP PFNGLGETERRORPROC)();\nGLAPI PFNGLGETERRORPROC glad_glGetError;\n#define glGetError glad_glGetError\ntypedef void (APIENTRYP PFNGLGETFLOATVPROC)(GLenum pname, GLfloat *data);\nGLAPI PFNGLGETFLOATVPROC glad_glGetFloatv;\n#define glGetFloatv glad_glGetFloatv\ntypedef void (APIENTRYP PFNGLGETINTEGERVPROC)(GLenum pname, GLint *data);\nGLAPI PFNGLGETINTEGERVPROC glad_glGetIntegerv;\n#define glGetIntegerv glad_glGetIntegerv\ntypedef const GLubyte * (APIENTRYP PFNGLGETSTRINGPROC)(GLenum name);\nGLAPI PFNGLGETSTRINGPROC glad_glGetString;\n#define glGetString glad_glGetString\ntypedef void (APIENTRYP PFNGLGETTEXIMAGEPROC)(GLenum target, GLint level, GLenum format, GLenum type, void *pixels);\nGLAPI PFNGLGETTEXIMAGEPROC glad_glGetTexImage;\n#define glGetTexImage glad_glGetTexImage\ntypedef void (APIENTRYP PFNGLGETTEXPARAMETERFVPROC)(GLenum target, GLenum pname, GLfloat *params);\nGLAPI PFNGLGETTEXPARAMETERFVPROC glad_glGetTexParameterfv;\n#define glGetTexParameterfv glad_glGetTexParameterfv\ntypedef void (APIENTRYP PFNGLGETTEXPARAMETERIVPROC)(GLenum target, GLenum pname, GLint *params);\nGLAPI PFNGLGETTEXPARAMETERIVPROC glad_glGetTexParameteriv;\n#define glGetTexParameteriv glad_glGetTexParameteriv\ntypedef void (APIENTRYP PFNGLGETTEXLEVELPARAMETERFVPROC)(GLenum target, GLint level, GLenum pname, GLfloat *params);\nGLAPI PFNGLGETTEXLEVELPARAMETERFVPROC glad_glGetTexLevelParameterfv;\n#define glGetTexLevelParameterfv glad_glGetTexLevelParameterfv\ntypedef void (APIENTRYP PFNGLGETTEXLEVELPARAMETERIVPROC)(GLenum target, GLint level, GLenum pname, GLint *params);\nGLAPI PFNGLGETTEXLEVELPARAMETERIVPROC glad_glGetTexLevelParameteriv;\n#define glGetTexLevelParameteriv glad_glGetTexLevelParameteriv\ntypedef GLboolean (APIENTRYP PFNGLISENABLEDPROC)(GLenum cap);\nGLAPI PFNGLISENABLEDPROC glad_glIsEnabled;\n#define glIsEnabled glad_glIsEnabled\ntypedef void (APIENTRYP PFNGLDEPTHRANGEPROC)(GLdouble near, GLdouble far);\nGLAPI PFNGLDEPTHRANGEPROC glad_glDepthRange;\n#define glDepthRange glad_glDepthRange\ntypedef void (APIENTRYP PFNGLVIEWPORTPROC)(GLint x, GLint y, GLsizei width, GLsizei height);\nGLAPI PFNGLVIEWPORTPROC glad_glViewport;\n#define glViewport glad_glViewport\ntypedef void (APIENTRYP PFNGLNEWLISTPROC)(GLuint list, GLenum mode);\nGLAPI PFNGLNEWLISTPROC glad_glNewList;\n#define glNewList glad_glNewList\ntypedef void (APIENTRYP PFNGLENDLISTPROC)();\nGLAPI PFNGLENDLISTPROC glad_glEndList;\n#define glEndList glad_glEndList\ntypedef void (APIENTRYP PFNGLCALLLISTPROC)(GLuint list);\nGLAPI PFNGLCALLLISTPROC glad_glCallList;\n#define glCallList glad_glCallList\ntypedef void (APIENTRYP PFNGLCALLLISTSPROC)(GLsizei n, GLenum type, const void *lists);\nGLAPI PFNGLCALLLISTSPROC glad_glCallLists;\n#define glCallLists glad_glCallLists\ntypedef void (APIENTRYP PFNGLDELETELISTSPROC)(GLuint list, GLsizei range);\nGLAPI PFNGLDELETELISTSPROC glad_glDeleteLists;\n#define glDeleteLists glad_glDeleteLists\ntypedef GLuint (APIENTRYP PFNGLGENLISTSPROC)(GLsizei range);\nGLAPI PFNGLGENLISTSPROC glad_glGenLists;\n#define glGenLists glad_glGenLists\ntypedef void (APIENTRYP PFNGLLISTBASEPROC)(GLuint base);\nGLAPI PFNGLLISTBASEPROC glad_glListBase;\n#define glListBase glad_glListBase\ntypedef void (APIENTRYP PFNGLBEGINPROC)(GLenum mode);\nGLAPI PFNGLBEGINPROC glad_glBegin;\n#define glBegin glad_glBegin\ntypedef void (APIENTRYP PFNGLBITMAPPROC)(GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap);\nGLAPI PFNGLBITMAPPROC glad_glBitmap;\n#define glBitmap glad_glBitmap\ntypedef void (APIENTRYP PFNGLCOLOR3BPROC)(GLbyte red, GLbyte green, GLbyte blue);\nGLAPI PFNGLCOLOR3BPROC glad_glColor3b;\n#define glColor3b glad_glColor3b\ntypedef void (APIENTRYP PFNGLCOLOR3BVPROC)(const GLbyte *v);\nGLAPI PFNGLCOLOR3BVPROC glad_glColor3bv;\n#define glColor3bv glad_glColor3bv\ntypedef void (APIENTRYP PFNGLCOLOR3DPROC)(GLdouble red, GLdouble green, GLdouble blue);\nGLAPI PFNGLCOLOR3DPROC glad_glColor3d;\n#define glColor3d glad_glColor3d\ntypedef void (APIENTRYP PFNGLCOLOR3DVPROC)(const GLdouble *v);\nGLAPI PFNGLCOLOR3DVPROC glad_glColor3dv;\n#define glColor3dv glad_glColor3dv\ntypedef void (APIENTRYP PFNGLCOLOR3FPROC)(GLfloat red, GLfloat green, GLfloat blue);\nGLAPI PFNGLCOLOR3FPROC glad_glColor3f;\n#define glColor3f glad_glColor3f\ntypedef void (APIENTRYP PFNGLCOLOR3FVPROC)(const GLfloat *v);\nGLAPI PFNGLCOLOR3FVPROC glad_glColor3fv;\n#define glColor3fv glad_glColor3fv\ntypedef void (APIENTRYP PFNGLCOLOR3IPROC)(GLint red, GLint green, GLint blue);\nGLAPI PFNGLCOLOR3IPROC glad_glColor3i;\n#define glColor3i glad_glColor3i\ntypedef void (APIENTRYP PFNGLCOLOR3IVPROC)(const GLint *v);\nGLAPI PFNGLCOLOR3IVPROC glad_glColor3iv;\n#define glColor3iv glad_glColor3iv\ntypedef void (APIENTRYP PFNGLCOLOR3SPROC)(GLshort red, GLshort green, GLshort blue);\nGLAPI PFNGLCOLOR3SPROC glad_glColor3s;\n#define glColor3s glad_glColor3s\ntypedef void (APIENTRYP PFNGLCOLOR3SVPROC)(const GLshort *v);\nGLAPI PFNGLCOLOR3SVPROC glad_glColor3sv;\n#define glColor3sv glad_glColor3sv\ntypedef void (APIENTRYP PFNGLCOLOR3UBPROC)(GLubyte red, GLubyte green, GLubyte blue);\nGLAPI PFNGLCOLOR3UBPROC glad_glColor3ub;\n#define glColor3ub glad_glColor3ub\ntypedef void (APIENTRYP PFNGLCOLOR3UBVPROC)(const GLubyte *v);\nGLAPI PFNGLCOLOR3UBVPROC glad_glColor3ubv;\n#define glColor3ubv glad_glColor3ubv\ntypedef void (APIENTRYP PFNGLCOLOR3UIPROC)(GLuint red, GLuint green, GLuint blue);\nGLAPI PFNGLCOLOR3UIPROC glad_glColor3ui;\n#define glColor3ui glad_glColor3ui\ntypedef void (APIENTRYP PFNGLCOLOR3UIVPROC)(const GLuint *v);\nGLAPI PFNGLCOLOR3UIVPROC glad_glColor3uiv;\n#define glColor3uiv glad_glColor3uiv\ntypedef void (APIENTRYP PFNGLCOLOR3USPROC)(GLushort red, GLushort green, GLushort blue);\nGLAPI PFNGLCOLOR3USPROC glad_glColor3us;\n#define glColor3us glad_glColor3us\ntypedef void (APIENTRYP PFNGLCOLOR3USVPROC)(const GLushort *v);\nGLAPI PFNGLCOLOR3USVPROC glad_glColor3usv;\n#define glColor3usv glad_glColor3usv\ntypedef void (APIENTRYP PFNGLCOLOR4BPROC)(GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha);\nGLAPI PFNGLCOLOR4BPROC glad_glColor4b;\n#define glColor4b glad_glColor4b\ntypedef void (APIENTRYP PFNGLCOLOR4BVPROC)(const GLbyte *v);\nGLAPI PFNGLCOLOR4BVPROC glad_glColor4bv;\n#define glColor4bv glad_glColor4bv\ntypedef void (APIENTRYP PFNGLCOLOR4DPROC)(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha);\nGLAPI PFNGLCOLOR4DPROC glad_glColor4d;\n#define glColor4d glad_glColor4d\ntypedef void (APIENTRYP PFNGLCOLOR4DVPROC)(const GLdouble *v);\nGLAPI PFNGLCOLOR4DVPROC glad_glColor4dv;\n#define glColor4dv glad_glColor4dv\ntypedef void (APIENTRYP PFNGLCOLOR4FPROC)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);\nGLAPI PFNGLCOLOR4FPROC glad_glColor4f;\n#define glColor4f glad_glColor4f\ntypedef void (APIENTRYP PFNGLCOLOR4FVPROC)(const GLfloat *v);\nGLAPI PFNGLCOLOR4FVPROC glad_glColor4fv;\n#define glColor4fv glad_glColor4fv\ntypedef void (APIENTRYP PFNGLCOLOR4IPROC)(GLint red, GLint green, GLint blue, GLint alpha);\nGLAPI PFNGLCOLOR4IPROC glad_glColor4i;\n#define glColor4i glad_glColor4i\ntypedef void (APIENTRYP PFNGLCOLOR4IVPROC)(const GLint *v);\nGLAPI PFNGLCOLOR4IVPROC glad_glColor4iv;\n#define glColor4iv glad_glColor4iv\ntypedef void (APIENTRYP PFNGLCOLOR4SPROC)(GLshort red, GLshort green, GLshort blue, GLshort alpha);\nGLAPI PFNGLCOLOR4SPROC glad_glColor4s;\n#define glColor4s glad_glColor4s\ntypedef void (APIENTRYP PFNGLCOLOR4SVPROC)(const GLshort *v);\nGLAPI PFNGLCOLOR4SVPROC glad_glColor4sv;\n#define glColor4sv glad_glColor4sv\ntypedef void (APIENTRYP PFNGLCOLOR4UBPROC)(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha);\nGLAPI PFNGLCOLOR4UBPROC glad_glColor4ub;\n#define glColor4ub glad_glColor4ub\ntypedef void (APIENTRYP PFNGLCOLOR4UBVPROC)(const GLubyte *v);\nGLAPI PFNGLCOLOR4UBVPROC glad_glColor4ubv;\n#define glColor4ubv glad_glColor4ubv\ntypedef void (APIENTRYP PFNGLCOLOR4UIPROC)(GLuint red, GLuint green, GLuint blue, GLuint alpha);\nGLAPI PFNGLCOLOR4UIPROC glad_glColor4ui;\n#define glColor4ui glad_glColor4ui\ntypedef void (APIENTRYP PFNGLCOLOR4UIVPROC)(const GLuint *v);\nGLAPI PFNGLCOLOR4UIVPROC glad_glColor4uiv;\n#define glColor4uiv glad_glColor4uiv\ntypedef void (APIENTRYP PFNGLCOLOR4USPROC)(GLushort red, GLushort green, GLushort blue, GLushort alpha);\nGLAPI PFNGLCOLOR4USPROC glad_glColor4us;\n#define glColor4us glad_glColor4us\ntypedef void (APIENTRYP PFNGLCOLOR4USVPROC)(const GLushort *v);\nGLAPI PFNGLCOLOR4USVPROC glad_glColor4usv;\n#define glColor4usv glad_glColor4usv\ntypedef void (APIENTRYP PFNGLEDGEFLAGPROC)(GLboolean flag);\nGLAPI PFNGLEDGEFLAGPROC glad_glEdgeFlag;\n#define glEdgeFlag glad_glEdgeFlag\ntypedef void (APIENTRYP PFNGLEDGEFLAGVPROC)(const GLboolean *flag);\nGLAPI PFNGLEDGEFLAGVPROC glad_glEdgeFlagv;\n#define glEdgeFlagv glad_glEdgeFlagv\ntypedef void (APIENTRYP PFNGLENDPROC)();\nGLAPI PFNGLENDPROC glad_glEnd;\n#define glEnd glad_glEnd\ntypedef void (APIENTRYP PFNGLINDEXDPROC)(GLdouble c);\nGLAPI PFNGLINDEXDPROC glad_glIndexd;\n#define glIndexd glad_glIndexd\ntypedef void (APIENTRYP PFNGLINDEXDVPROC)(const GLdouble *c);\nGLAPI PFNGLINDEXDVPROC glad_glIndexdv;\n#define glIndexdv glad_glIndexdv\ntypedef void (APIENTRYP PFNGLINDEXFPROC)(GLfloat c);\nGLAPI PFNGLINDEXFPROC glad_glIndexf;\n#define glIndexf glad_glIndexf\ntypedef void (APIENTRYP PFNGLINDEXFVPROC)(const GLfloat *c);\nGLAPI PFNGLINDEXFVPROC glad_glIndexfv;\n#define glIndexfv glad_glIndexfv\ntypedef void (APIENTRYP PFNGLINDEXIPROC)(GLint c);\nGLAPI PFNGLINDEXIPROC glad_glIndexi;\n#define glIndexi glad_glIndexi\ntypedef void (APIENTRYP PFNGLINDEXIVPROC)(const GLint *c);\nGLAPI PFNGLINDEXIVPROC glad_glIndexiv;\n#define glIndexiv glad_glIndexiv\ntypedef void (APIENTRYP PFNGLINDEXSPROC)(GLshort c);\nGLAPI PFNGLINDEXSPROC glad_glIndexs;\n#define glIndexs glad_glIndexs\ntypedef void (APIENTRYP PFNGLINDEXSVPROC)(const GLshort *c);\nGLAPI PFNGLINDEXSVPROC glad_glIndexsv;\n#define glIndexsv glad_glIndexsv\ntypedef void (APIENTRYP PFNGLNORMAL3BPROC)(GLbyte nx, GLbyte ny, GLbyte nz);\nGLAPI PFNGLNORMAL3BPROC glad_glNormal3b;\n#define glNormal3b glad_glNormal3b\ntypedef void (APIENTRYP PFNGLNORMAL3BVPROC)(const GLbyte *v);\nGLAPI PFNGLNORMAL3BVPROC glad_glNormal3bv;\n#define glNormal3bv glad_glNormal3bv\ntypedef void (APIENTRYP PFNGLNORMAL3DPROC)(GLdouble nx, GLdouble ny, GLdouble nz);\nGLAPI PFNGLNORMAL3DPROC glad_glNormal3d;\n#define glNormal3d glad_glNormal3d\ntypedef void (APIENTRYP PFNGLNORMAL3DVPROC)(const GLdouble *v);\nGLAPI PFNGLNORMAL3DVPROC glad_glNormal3dv;\n#define glNormal3dv glad_glNormal3dv\ntypedef void (APIENTRYP PFNGLNORMAL3FPROC)(GLfloat nx, GLfloat ny, GLfloat nz);\nGLAPI PFNGLNORMAL3FPROC glad_glNormal3f;\n#define glNormal3f glad_glNormal3f\ntypedef void (APIENTRYP PFNGLNORMAL3FVPROC)(const GLfloat *v);\nGLAPI PFNGLNORMAL3FVPROC glad_glNormal3fv;\n#define glNormal3fv glad_glNormal3fv\ntypedef void (APIENTRYP PFNGLNORMAL3IPROC)(GLint nx, GLint ny, GLint nz);\nGLAPI PFNGLNORMAL3IPROC glad_glNormal3i;\n#define glNormal3i glad_glNormal3i\ntypedef void (APIENTRYP PFNGLNORMAL3IVPROC)(const GLint *v);\nGLAPI PFNGLNORMAL3IVPROC glad_glNormal3iv;\n#define glNormal3iv glad_glNormal3iv\ntypedef void (APIENTRYP PFNGLNORMAL3SPROC)(GLshort nx, GLshort ny, GLshort nz);\nGLAPI PFNGLNORMAL3SPROC glad_glNormal3s;\n#define glNormal3s glad_glNormal3s\ntypedef void (APIENTRYP PFNGLNORMAL3SVPROC)(const GLshort *v);\nGLAPI PFNGLNORMAL3SVPROC glad_glNormal3sv;\n#define glNormal3sv glad_glNormal3sv\ntypedef void (APIENTRYP PFNGLRASTERPOS2DPROC)(GLdouble x, GLdouble y);\nGLAPI PFNGLRASTERPOS2DPROC glad_glRasterPos2d;\n#define glRasterPos2d glad_glRasterPos2d\ntypedef void (APIENTRYP PFNGLRASTERPOS2DVPROC)(const GLdouble *v);\nGLAPI PFNGLRASTERPOS2DVPROC glad_glRasterPos2dv;\n#define glRasterPos2dv glad_glRasterPos2dv\ntypedef void (APIENTRYP PFNGLRASTERPOS2FPROC)(GLfloat x, GLfloat y);\nGLAPI PFNGLRASTERPOS2FPROC glad_glRasterPos2f;\n#define glRasterPos2f glad_glRasterPos2f\ntypedef void (APIENTRYP PFNGLRASTERPOS2FVPROC)(const GLfloat *v);\nGLAPI PFNGLRASTERPOS2FVPROC glad_glRasterPos2fv;\n#define glRasterPos2fv glad_glRasterPos2fv\ntypedef void (APIENTRYP PFNGLRASTERPOS2IPROC)(GLint x, GLint y);\nGLAPI PFNGLRASTERPOS2IPROC glad_glRasterPos2i;\n#define glRasterPos2i glad_glRasterPos2i\ntypedef void (APIENTRYP PFNGLRASTERPOS2IVPROC)(const GLint *v);\nGLAPI PFNGLRASTERPOS2IVPROC glad_glRasterPos2iv;\n#define glRasterPos2iv glad_glRasterPos2iv\ntypedef void (APIENTRYP PFNGLRASTERPOS2SPROC)(GLshort x, GLshort y);\nGLAPI PFNGLRASTERPOS2SPROC glad_glRasterPos2s;\n#define glRasterPos2s glad_glRasterPos2s\ntypedef void (APIENTRYP PFNGLRASTERPOS2SVPROC)(const GLshort *v);\nGLAPI PFNGLRASTERPOS2SVPROC glad_glRasterPos2sv;\n#define glRasterPos2sv glad_glRasterPos2sv\ntypedef void (APIENTRYP PFNGLRASTERPOS3DPROC)(GLdouble x, GLdouble y, GLdouble z);\nGLAPI PFNGLRASTERPOS3DPROC glad_glRasterPos3d;\n#define glRasterPos3d glad_glRasterPos3d\ntypedef void (APIENTRYP PFNGLRASTERPOS3DVPROC)(const GLdouble *v);\nGLAPI PFNGLRASTERPOS3DVPROC glad_glRasterPos3dv;\n#define glRasterPos3dv glad_glRasterPos3dv\ntypedef void (APIENTRYP PFNGLRASTERPOS3FPROC)(GLfloat x, GLfloat y, GLfloat z);\nGLAPI PFNGLRASTERPOS3FPROC glad_glRasterPos3f;\n#define glRasterPos3f glad_glRasterPos3f\ntypedef void (APIENTRYP PFNGLRASTERPOS3FVPROC)(const GLfloat *v);\nGLAPI PFNGLRASTERPOS3FVPROC glad_glRasterPos3fv;\n#define glRasterPos3fv glad_glRasterPos3fv\ntypedef void (APIENTRYP PFNGLRASTERPOS3IPROC)(GLint x, GLint y, GLint z);\nGLAPI PFNGLRASTERPOS3IPROC glad_glRasterPos3i;\n#define glRasterPos3i glad_glRasterPos3i\ntypedef void (APIENTRYP PFNGLRASTERPOS3IVPROC)(const GLint *v);\nGLAPI PFNGLRASTERPOS3IVPROC glad_glRasterPos3iv;\n#define glRasterPos3iv glad_glRasterPos3iv\ntypedef void (APIENTRYP PFNGLRASTERPOS3SPROC)(GLshort x, GLshort y, GLshort z);\nGLAPI PFNGLRASTERPOS3SPROC glad_glRasterPos3s;\n#define glRasterPos3s glad_glRasterPos3s\ntypedef void (APIENTRYP PFNGLRASTERPOS3SVPROC)(const GLshort *v);\nGLAPI PFNGLRASTERPOS3SVPROC glad_glRasterPos3sv;\n#define glRasterPos3sv glad_glRasterPos3sv\ntypedef void (APIENTRYP PFNGLRASTERPOS4DPROC)(GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nGLAPI PFNGLRASTERPOS4DPROC glad_glRasterPos4d;\n#define glRasterPos4d glad_glRasterPos4d\ntypedef void (APIENTRYP PFNGLRASTERPOS4DVPROC)(const GLdouble *v);\nGLAPI PFNGLRASTERPOS4DVPROC glad_glRasterPos4dv;\n#define glRasterPos4dv glad_glRasterPos4dv\ntypedef void (APIENTRYP PFNGLRASTERPOS4FPROC)(GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nGLAPI PFNGLRASTERPOS4FPROC glad_glRasterPos4f;\n#define glRasterPos4f glad_glRasterPos4f\ntypedef void (APIENTRYP PFNGLRASTERPOS4FVPROC)(const GLfloat *v);\nGLAPI PFNGLRASTERPOS4FVPROC glad_glRasterPos4fv;\n#define glRasterPos4fv glad_glRasterPos4fv\ntypedef void (APIENTRYP PFNGLRASTERPOS4IPROC)(GLint x, GLint y, GLint z, GLint w);\nGLAPI PFNGLRASTERPOS4IPROC glad_glRasterPos4i;\n#define glRasterPos4i glad_glRasterPos4i\ntypedef void (APIENTRYP PFNGLRASTERPOS4IVPROC)(const GLint *v);\nGLAPI PFNGLRASTERPOS4IVPROC glad_glRasterPos4iv;\n#define glRasterPos4iv glad_glRasterPos4iv\ntypedef void (APIENTRYP PFNGLRASTERPOS4SPROC)(GLshort x, GLshort y, GLshort z, GLshort w);\nGLAPI PFNGLRASTERPOS4SPROC glad_glRasterPos4s;\n#define glRasterPos4s glad_glRasterPos4s\ntypedef void (APIENTRYP PFNGLRASTERPOS4SVPROC)(const GLshort *v);\nGLAPI PFNGLRASTERPOS4SVPROC glad_glRasterPos4sv;\n#define glRasterPos4sv glad_glRasterPos4sv\ntypedef void (APIENTRYP PFNGLRECTDPROC)(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2);\nGLAPI PFNGLRECTDPROC glad_glRectd;\n#define glRectd glad_glRectd\ntypedef void (APIENTRYP PFNGLRECTDVPROC)(const GLdouble *v1, const GLdouble *v2);\nGLAPI PFNGLRECTDVPROC glad_glRectdv;\n#define glRectdv glad_glRectdv\ntypedef void (APIENTRYP PFNGLRECTFPROC)(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2);\nGLAPI PFNGLRECTFPROC glad_glRectf;\n#define glRectf glad_glRectf\ntypedef void (APIENTRYP PFNGLRECTFVPROC)(const GLfloat *v1, const GLfloat *v2);\nGLAPI PFNGLRECTFVPROC glad_glRectfv;\n#define glRectfv glad_glRectfv\ntypedef void (APIENTRYP PFNGLRECTIPROC)(GLint x1, GLint y1, GLint x2, GLint y2);\nGLAPI PFNGLRECTIPROC glad_glRecti;\n#define glRecti glad_glRecti\ntypedef void (APIENTRYP PFNGLRECTIVPROC)(const GLint *v1, const GLint *v2);\nGLAPI PFNGLRECTIVPROC glad_glRectiv;\n#define glRectiv glad_glRectiv\ntypedef void (APIENTRYP PFNGLRECTSPROC)(GLshort x1, GLshort y1, GLshort x2, GLshort y2);\nGLAPI PFNGLRECTSPROC glad_glRects;\n#define glRects glad_glRects\ntypedef void (APIENTRYP PFNGLRECTSVPROC)(const GLshort *v1, const GLshort *v2);\nGLAPI PFNGLRECTSVPROC glad_glRectsv;\n#define glRectsv glad_glRectsv\ntypedef void (APIENTRYP PFNGLTEXCOORD1DPROC)(GLdouble s);\nGLAPI PFNGLTEXCOORD1DPROC glad_glTexCoord1d;\n#define glTexCoord1d glad_glTexCoord1d\ntypedef void (APIENTRYP PFNGLTEXCOORD1DVPROC)(const GLdouble *v);\nGLAPI PFNGLTEXCOORD1DVPROC glad_glTexCoord1dv;\n#define glTexCoord1dv glad_glTexCoord1dv\ntypedef void (APIENTRYP PFNGLTEXCOORD1FPROC)(GLfloat s);\nGLAPI PFNGLTEXCOORD1FPROC glad_glTexCoord1f;\n#define glTexCoord1f glad_glTexCoord1f\ntypedef void (APIENTRYP PFNGLTEXCOORD1FVPROC)(const GLfloat *v);\nGLAPI PFNGLTEXCOORD1FVPROC glad_glTexCoord1fv;\n#define glTexCoord1fv glad_glTexCoord1fv\ntypedef void (APIENTRYP PFNGLTEXCOORD1IPROC)(GLint s);\nGLAPI PFNGLTEXCOORD1IPROC glad_glTexCoord1i;\n#define glTexCoord1i glad_glTexCoord1i\ntypedef void (APIENTRYP PFNGLTEXCOORD1IVPROC)(const GLint *v);\nGLAPI PFNGLTEXCOORD1IVPROC glad_glTexCoord1iv;\n#define glTexCoord1iv glad_glTexCoord1iv\ntypedef void (APIENTRYP PFNGLTEXCOORD1SPROC)(GLshort s);\nGLAPI PFNGLTEXCOORD1SPROC glad_glTexCoord1s;\n#define glTexCoord1s glad_glTexCoord1s\ntypedef void (APIENTRYP PFNGLTEXCOORD1SVPROC)(const GLshort *v);\nGLAPI PFNGLTEXCOORD1SVPROC glad_glTexCoord1sv;\n#define glTexCoord1sv glad_glTexCoord1sv\ntypedef void (APIENTRYP PFNGLTEXCOORD2DPROC)(GLdouble s, GLdouble t);\nGLAPI PFNGLTEXCOORD2DPROC glad_glTexCoord2d;\n#define glTexCoord2d glad_glTexCoord2d\ntypedef void (APIENTRYP PFNGLTEXCOORD2DVPROC)(const GLdouble *v);\nGLAPI PFNGLTEXCOORD2DVPROC glad_glTexCoord2dv;\n#define glTexCoord2dv glad_glTexCoord2dv\ntypedef void (APIENTRYP PFNGLTEXCOORD2FPROC)(GLfloat s, GLfloat t);\nGLAPI PFNGLTEXCOORD2FPROC glad_glTexCoord2f;\n#define glTexCoord2f glad_glTexCoord2f\ntypedef void (APIENTRYP PFNGLTEXCOORD2FVPROC)(const GLfloat *v);\nGLAPI PFNGLTEXCOORD2FVPROC glad_glTexCoord2fv;\n#define glTexCoord2fv glad_glTexCoord2fv\ntypedef void (APIENTRYP PFNGLTEXCOORD2IPROC)(GLint s, GLint t);\nGLAPI PFNGLTEXCOORD2IPROC glad_glTexCoord2i;\n#define glTexCoord2i glad_glTexCoord2i\ntypedef void (APIENTRYP PFNGLTEXCOORD2IVPROC)(const GLint *v);\nGLAPI PFNGLTEXCOORD2IVPROC glad_glTexCoord2iv;\n#define glTexCoord2iv glad_glTexCoord2iv\ntypedef void (APIENTRYP PFNGLTEXCOORD2SPROC)(GLshort s, GLshort t);\nGLAPI PFNGLTEXCOORD2SPROC glad_glTexCoord2s;\n#define glTexCoord2s glad_glTexCoord2s\ntypedef void (APIENTRYP PFNGLTEXCOORD2SVPROC)(const GLshort *v);\nGLAPI PFNGLTEXCOORD2SVPROC glad_glTexCoord2sv;\n#define glTexCoord2sv glad_glTexCoord2sv\ntypedef void (APIENTRYP PFNGLTEXCOORD3DPROC)(GLdouble s, GLdouble t, GLdouble r);\nGLAPI PFNGLTEXCOORD3DPROC glad_glTexCoord3d;\n#define glTexCoord3d glad_glTexCoord3d\ntypedef void (APIENTRYP PFNGLTEXCOORD3DVPROC)(const GLdouble *v);\nGLAPI PFNGLTEXCOORD3DVPROC glad_glTexCoord3dv;\n#define glTexCoord3dv glad_glTexCoord3dv\ntypedef void (APIENTRYP PFNGLTEXCOORD3FPROC)(GLfloat s, GLfloat t, GLfloat r);\nGLAPI PFNGLTEXCOORD3FPROC glad_glTexCoord3f;\n#define glTexCoord3f glad_glTexCoord3f\ntypedef void (APIENTRYP PFNGLTEXCOORD3FVPROC)(const GLfloat *v);\nGLAPI PFNGLTEXCOORD3FVPROC glad_glTexCoord3fv;\n#define glTexCoord3fv glad_glTexCoord3fv\ntypedef void (APIENTRYP PFNGLTEXCOORD3IPROC)(GLint s, GLint t, GLint r);\nGLAPI PFNGLTEXCOORD3IPROC glad_glTexCoord3i;\n#define glTexCoord3i glad_glTexCoord3i\ntypedef void (APIENTRYP PFNGLTEXCOORD3IVPROC)(const GLint *v);\nGLAPI PFNGLTEXCOORD3IVPROC glad_glTexCoord3iv;\n#define glTexCoord3iv glad_glTexCoord3iv\ntypedef void (APIENTRYP PFNGLTEXCOORD3SPROC)(GLshort s, GLshort t, GLshort r);\nGLAPI PFNGLTEXCOORD3SPROC glad_glTexCoord3s;\n#define glTexCoord3s glad_glTexCoord3s\ntypedef void (APIENTRYP PFNGLTEXCOORD3SVPROC)(const GLshort *v);\nGLAPI PFNGLTEXCOORD3SVPROC glad_glTexCoord3sv;\n#define glTexCoord3sv glad_glTexCoord3sv\ntypedef void (APIENTRYP PFNGLTEXCOORD4DPROC)(GLdouble s, GLdouble t, GLdouble r, GLdouble q);\nGLAPI PFNGLTEXCOORD4DPROC glad_glTexCoord4d;\n#define glTexCoord4d glad_glTexCoord4d\ntypedef void (APIENTRYP PFNGLTEXCOORD4DVPROC)(const GLdouble *v);\nGLAPI PFNGLTEXCOORD4DVPROC glad_glTexCoord4dv;\n#define glTexCoord4dv glad_glTexCoord4dv\ntypedef void (APIENTRYP PFNGLTEXCOORD4FPROC)(GLfloat s, GLfloat t, GLfloat r, GLfloat q);\nGLAPI PFNGLTEXCOORD4FPROC glad_glTexCoord4f;\n#define glTexCoord4f glad_glTexCoord4f\ntypedef void (APIENTRYP PFNGLTEXCOORD4FVPROC)(const GLfloat *v);\nGLAPI PFNGLTEXCOORD4FVPROC glad_glTexCoord4fv;\n#define glTexCoord4fv glad_glTexCoord4fv\ntypedef void (APIENTRYP PFNGLTEXCOORD4IPROC)(GLint s, GLint t, GLint r, GLint q);\nGLAPI PFNGLTEXCOORD4IPROC glad_glTexCoord4i;\n#define glTexCoord4i glad_glTexCoord4i\ntypedef void (APIENTRYP PFNGLTEXCOORD4IVPROC)(const GLint *v);\nGLAPI PFNGLTEXCOORD4IVPROC glad_glTexCoord4iv;\n#define glTexCoord4iv glad_glTexCoord4iv\ntypedef void (APIENTRYP PFNGLTEXCOORD4SPROC)(GLshort s, GLshort t, GLshort r, GLshort q);\nGLAPI PFNGLTEXCOORD4SPROC glad_glTexCoord4s;\n#define glTexCoord4s glad_glTexCoord4s\ntypedef void (APIENTRYP PFNGLTEXCOORD4SVPROC)(const GLshort *v);\nGLAPI PFNGLTEXCOORD4SVPROC glad_glTexCoord4sv;\n#define glTexCoord4sv glad_glTexCoord4sv\ntypedef void (APIENTRYP PFNGLVERTEX2DPROC)(GLdouble x, GLdouble y);\nGLAPI PFNGLVERTEX2DPROC glad_glVertex2d;\n#define glVertex2d glad_glVertex2d\ntypedef void (APIENTRYP PFNGLVERTEX2DVPROC)(const GLdouble *v);\nGLAPI PFNGLVERTEX2DVPROC glad_glVertex2dv;\n#define glVertex2dv glad_glVertex2dv\ntypedef void (APIENTRYP PFNGLVERTEX2FPROC)(GLfloat x, GLfloat y);\nGLAPI PFNGLVERTEX2FPROC glad_glVertex2f;\n#define glVertex2f glad_glVertex2f\ntypedef void (APIENTRYP PFNGLVERTEX2FVPROC)(const GLfloat *v);\nGLAPI PFNGLVERTEX2FVPROC glad_glVertex2fv;\n#define glVertex2fv glad_glVertex2fv\ntypedef void (APIENTRYP PFNGLVERTEX2IPROC)(GLint x, GLint y);\nGLAPI PFNGLVERTEX2IPROC glad_glVertex2i;\n#define glVertex2i glad_glVertex2i\ntypedef void (APIENTRYP PFNGLVERTEX2IVPROC)(const GLint *v);\nGLAPI PFNGLVERTEX2IVPROC glad_glVertex2iv;\n#define glVertex2iv glad_glVertex2iv\ntypedef void (APIENTRYP PFNGLVERTEX2SPROC)(GLshort x, GLshort y);\nGLAPI PFNGLVERTEX2SPROC glad_glVertex2s;\n#define glVertex2s glad_glVertex2s\ntypedef void (APIENTRYP PFNGLVERTEX2SVPROC)(const GLshort *v);\nGLAPI PFNGLVERTEX2SVPROC glad_glVertex2sv;\n#define glVertex2sv glad_glVertex2sv\ntypedef void (APIENTRYP PFNGLVERTEX3DPROC)(GLdouble x, GLdouble y, GLdouble z);\nGLAPI PFNGLVERTEX3DPROC glad_glVertex3d;\n#define glVertex3d glad_glVertex3d\ntypedef void (APIENTRYP PFNGLVERTEX3DVPROC)(const GLdouble *v);\nGLAPI PFNGLVERTEX3DVPROC glad_glVertex3dv;\n#define glVertex3dv glad_glVertex3dv\ntypedef void (APIENTRYP PFNGLVERTEX3FPROC)(GLfloat x, GLfloat y, GLfloat z);\nGLAPI PFNGLVERTEX3FPROC glad_glVertex3f;\n#define glVertex3f glad_glVertex3f\ntypedef void (APIENTRYP PFNGLVERTEX3FVPROC)(const GLfloat *v);\nGLAPI PFNGLVERTEX3FVPROC glad_glVertex3fv;\n#define glVertex3fv glad_glVertex3fv\ntypedef void (APIENTRYP PFNGLVERTEX3IPROC)(GLint x, GLint y, GLint z);\nGLAPI PFNGLVERTEX3IPROC glad_glVertex3i;\n#define glVertex3i glad_glVertex3i\ntypedef void (APIENTRYP PFNGLVERTEX3IVPROC)(const GLint *v);\nGLAPI PFNGLVERTEX3IVPROC glad_glVertex3iv;\n#define glVertex3iv glad_glVertex3iv\ntypedef void (APIENTRYP PFNGLVERTEX3SPROC)(GLshort x, GLshort y, GLshort z);\nGLAPI PFNGLVERTEX3SPROC glad_glVertex3s;\n#define glVertex3s glad_glVertex3s\ntypedef void (APIENTRYP PFNGLVERTEX3SVPROC)(const GLshort *v);\nGLAPI PFNGLVERTEX3SVPROC glad_glVertex3sv;\n#define glVertex3sv glad_glVertex3sv\ntypedef void (APIENTRYP PFNGLVERTEX4DPROC)(GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nGLAPI PFNGLVERTEX4DPROC glad_glVertex4d;\n#define glVertex4d glad_glVertex4d\ntypedef void (APIENTRYP PFNGLVERTEX4DVPROC)(const GLdouble *v);\nGLAPI PFNGLVERTEX4DVPROC glad_glVertex4dv;\n#define glVertex4dv glad_glVertex4dv\ntypedef void (APIENTRYP PFNGLVERTEX4FPROC)(GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nGLAPI PFNGLVERTEX4FPROC glad_glVertex4f;\n#define glVertex4f glad_glVertex4f\ntypedef void (APIENTRYP PFNGLVERTEX4FVPROC)(const GLfloat *v);\nGLAPI PFNGLVERTEX4FVPROC glad_glVertex4fv;\n#define glVertex4fv glad_glVertex4fv\ntypedef void (APIENTRYP PFNGLVERTEX4IPROC)(GLint x, GLint y, GLint z, GLint w);\nGLAPI PFNGLVERTEX4IPROC glad_glVertex4i;\n#define glVertex4i glad_glVertex4i\ntypedef void (APIENTRYP PFNGLVERTEX4IVPROC)(const GLint *v);\nGLAPI PFNGLVERTEX4IVPROC glad_glVertex4iv;\n#define glVertex4iv glad_glVertex4iv\ntypedef void (APIENTRYP PFNGLVERTEX4SPROC)(GLshort x, GLshort y, GLshort z, GLshort w);\nGLAPI PFNGLVERTEX4SPROC glad_glVertex4s;\n#define glVertex4s glad_glVertex4s\ntypedef void (APIENTRYP PFNGLVERTEX4SVPROC)(const GLshort *v);\nGLAPI PFNGLVERTEX4SVPROC glad_glVertex4sv;\n#define glVertex4sv glad_glVertex4sv\ntypedef void (APIENTRYP PFNGLCLIPPLANEPROC)(GLenum plane, const GLdouble *equation);\nGLAPI PFNGLCLIPPLANEPROC glad_glClipPlane;\n#define glClipPlane glad_glClipPlane\ntypedef void (APIENTRYP PFNGLCOLORMATERIALPROC)(GLenum face, GLenum mode);\nGLAPI PFNGLCOLORMATERIALPROC glad_glColorMaterial;\n#define glColorMaterial glad_glColorMaterial\ntypedef void (APIENTRYP PFNGLFOGFPROC)(GLenum pname, GLfloat param);\nGLAPI PFNGLFOGFPROC glad_glFogf;\n#define glFogf glad_glFogf\ntypedef void (APIENTRYP PFNGLFOGFVPROC)(GLenum pname, const GLfloat *params);\nGLAPI PFNGLFOGFVPROC glad_glFogfv;\n#define glFogfv glad_glFogfv\ntypedef void (APIENTRYP PFNGLFOGIPROC)(GLenum pname, GLint param);\nGLAPI PFNGLFOGIPROC glad_glFogi;\n#define glFogi glad_glFogi\ntypedef void (APIENTRYP PFNGLFOGIVPROC)(GLenum pname, const GLint *params);\nGLAPI PFNGLFOGIVPROC glad_glFogiv;\n#define glFogiv glad_glFogiv\ntypedef void (APIENTRYP PFNGLLIGHTFPROC)(GLenum light, GLenum pname, GLfloat param);\nGLAPI PFNGLLIGHTFPROC glad_glLightf;\n#define glLightf glad_glLightf\ntypedef void (APIENTRYP PFNGLLIGHTFVPROC)(GLenum light, GLenum pname, const GLfloat *params);\nGLAPI PFNGLLIGHTFVPROC glad_glLightfv;\n#define glLightfv glad_glLightfv\ntypedef void (APIENTRYP PFNGLLIGHTIPROC)(GLenum light, GLenum pname, GLint param);\nGLAPI PFNGLLIGHTIPROC glad_glLighti;\n#define glLighti glad_glLighti\ntypedef void (APIENTRYP PFNGLLIGHTIVPROC)(GLenum light, GLenum pname, const GLint *params);\nGLAPI PFNGLLIGHTIVPROC glad_glLightiv;\n#define glLightiv glad_glLightiv\ntypedef void (APIENTRYP PFNGLLIGHTMODELFPROC)(GLenum pname, GLfloat param);\nGLAPI PFNGLLIGHTMODELFPROC glad_glLightModelf;\n#define glLightModelf glad_glLightModelf\ntypedef void (APIENTRYP PFNGLLIGHTMODELFVPROC)(GLenum pname, const GLfloat *params);\nGLAPI PFNGLLIGHTMODELFVPROC glad_glLightModelfv;\n#define glLightModelfv glad_glLightModelfv\ntypedef void (APIENTRYP PFNGLLIGHTMODELIPROC)(GLenum pname, GLint param);\nGLAPI PFNGLLIGHTMODELIPROC glad_glLightModeli;\n#define glLightModeli glad_glLightModeli\ntypedef void (APIENTRYP PFNGLLIGHTMODELIVPROC)(GLenum pname, const GLint *params);\nGLAPI PFNGLLIGHTMODELIVPROC glad_glLightModeliv;\n#define glLightModeliv glad_glLightModeliv\ntypedef void (APIENTRYP PFNGLLINESTIPPLEPROC)(GLint factor, GLushort pattern);\nGLAPI PFNGLLINESTIPPLEPROC glad_glLineStipple;\n#define glLineStipple glad_glLineStipple\ntypedef void (APIENTRYP PFNGLMATERIALFPROC)(GLenum face, GLenum pname, GLfloat param);\nGLAPI PFNGLMATERIALFPROC glad_glMaterialf;\n#define glMaterialf glad_glMaterialf\ntypedef void (APIENTRYP PFNGLMATERIALFVPROC)(GLenum face, GLenum pname, const GLfloat *params);\nGLAPI PFNGLMATERIALFVPROC glad_glMaterialfv;\n#define glMaterialfv glad_glMaterialfv\ntypedef void (APIENTRYP PFNGLMATERIALIPROC)(GLenum face, GLenum pname, GLint param);\nGLAPI PFNGLMATERIALIPROC glad_glMateriali;\n#define glMateriali glad_glMateriali\ntypedef void (APIENTRYP PFNGLMATERIALIVPROC)(GLenum face, GLenum pname, const GLint *params);\nGLAPI PFNGLMATERIALIVPROC glad_glMaterialiv;\n#define glMaterialiv glad_glMaterialiv\ntypedef void (APIENTRYP PFNGLPOLYGONSTIPPLEPROC)(const GLubyte *mask);\nGLAPI PFNGLPOLYGONSTIPPLEPROC glad_glPolygonStipple;\n#define glPolygonStipple glad_glPolygonStipple\ntypedef void (APIENTRYP PFNGLSHADEMODELPROC)(GLenum mode);\nGLAPI PFNGLSHADEMODELPROC glad_glShadeModel;\n#define glShadeModel glad_glShadeModel\ntypedef void (APIENTRYP PFNGLTEXENVFPROC)(GLenum target, GLenum pname, GLfloat param);\nGLAPI PFNGLTEXENVFPROC glad_glTexEnvf;\n#define glTexEnvf glad_glTexEnvf\ntypedef void (APIENTRYP PFNGLTEXENVFVPROC)(GLenum target, GLenum pname, const GLfloat *params);\nGLAPI PFNGLTEXENVFVPROC glad_glTexEnvfv;\n#define glTexEnvfv glad_glTexEnvfv\ntypedef void (APIENTRYP PFNGLTEXENVIPROC)(GLenum target, GLenum pname, GLint param);\nGLAPI PFNGLTEXENVIPROC glad_glTexEnvi;\n#define glTexEnvi glad_glTexEnvi\ntypedef void (APIENTRYP PFNGLTEXENVIVPROC)(GLenum target, GLenum pname, const GLint *params);\nGLAPI PFNGLTEXENVIVPROC glad_glTexEnviv;\n#define glTexEnviv glad_glTexEnviv\ntypedef void (APIENTRYP PFNGLTEXGENDPROC)(GLenum coord, GLenum pname, GLdouble param);\nGLAPI PFNGLTEXGENDPROC glad_glTexGend;\n#define glTexGend glad_glTexGend\ntypedef void (APIENTRYP PFNGLTEXGENDVPROC)(GLenum coord, GLenum pname, const GLdouble *params);\nGLAPI PFNGLTEXGENDVPROC glad_glTexGendv;\n#define glTexGendv glad_glTexGendv\ntypedef void (APIENTRYP PFNGLTEXGENFPROC)(GLenum coord, GLenum pname, GLfloat param);\nGLAPI PFNGLTEXGENFPROC glad_glTexGenf;\n#define glTexGenf glad_glTexGenf\ntypedef void (APIENTRYP PFNGLTEXGENFVPROC)(GLenum coord, GLenum pname, const GLfloat *params);\nGLAPI PFNGLTEXGENFVPROC glad_glTexGenfv;\n#define glTexGenfv glad_glTexGenfv\ntypedef void (APIENTRYP PFNGLTEXGENIPROC)(GLenum coord, GLenum pname, GLint param);\nGLAPI PFNGLTEXGENIPROC glad_glTexGeni;\n#define glTexGeni glad_glTexGeni\ntypedef void (APIENTRYP PFNGLTEXGENIVPROC)(GLenum coord, GLenum pname, const GLint *params);\nGLAPI PFNGLTEXGENIVPROC glad_glTexGeniv;\n#define glTexGeniv glad_glTexGeniv\ntypedef void (APIENTRYP PFNGLFEEDBACKBUFFERPROC)(GLsizei size, GLenum type, GLfloat *buffer);\nGLAPI PFNGLFEEDBACKBUFFERPROC glad_glFeedbackBuffer;\n#define glFeedbackBuffer glad_glFeedbackBuffer\ntypedef void (APIENTRYP PFNGLSELECTBUFFERPROC)(GLsizei size, GLuint *buffer);\nGLAPI PFNGLSELECTBUFFERPROC glad_glSelectBuffer;\n#define glSelectBuffer glad_glSelectBuffer\ntypedef GLint (APIENTRYP PFNGLRENDERMODEPROC)(GLenum mode);\nGLAPI PFNGLRENDERMODEPROC glad_glRenderMode;\n#define glRenderMode glad_glRenderMode\ntypedef void (APIENTRYP PFNGLINITNAMESPROC)();\nGLAPI PFNGLINITNAMESPROC glad_glInitNames;\n#define glInitNames glad_glInitNames\ntypedef void (APIENTRYP PFNGLLOADNAMEPROC)(GLuint name);\nGLAPI PFNGLLOADNAMEPROC glad_glLoadName;\n#define glLoadName glad_glLoadName\ntypedef void (APIENTRYP PFNGLPASSTHROUGHPROC)(GLfloat token);\nGLAPI PFNGLPASSTHROUGHPROC glad_glPassThrough;\n#define glPassThrough glad_glPassThrough\ntypedef void (APIENTRYP PFNGLPOPNAMEPROC)();\nGLAPI PFNGLPOPNAMEPROC glad_glPopName;\n#define glPopName glad_glPopName\ntypedef void (APIENTRYP PFNGLPUSHNAMEPROC)(GLuint name);\nGLAPI PFNGLPUSHNAMEPROC glad_glPushName;\n#define glPushName glad_glPushName\ntypedef void (APIENTRYP PFNGLCLEARACCUMPROC)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);\nGLAPI PFNGLCLEARACCUMPROC glad_glClearAccum;\n#define glClearAccum glad_glClearAccum\ntypedef void (APIENTRYP PFNGLCLEARINDEXPROC)(GLfloat c);\nGLAPI PFNGLCLEARINDEXPROC glad_glClearIndex;\n#define glClearIndex glad_glClearIndex\ntypedef void (APIENTRYP PFNGLINDEXMASKPROC)(GLuint mask);\nGLAPI PFNGLINDEXMASKPROC glad_glIndexMask;\n#define glIndexMask glad_glIndexMask\ntypedef void (APIENTRYP PFNGLACCUMPROC)(GLenum op, GLfloat value);\nGLAPI PFNGLACCUMPROC glad_glAccum;\n#define glAccum glad_glAccum\ntypedef void (APIENTRYP PFNGLPOPATTRIBPROC)();\nGLAPI PFNGLPOPATTRIBPROC glad_glPopAttrib;\n#define glPopAttrib glad_glPopAttrib\ntypedef void (APIENTRYP PFNGLPUSHATTRIBPROC)(GLbitfield mask);\nGLAPI PFNGLPUSHATTRIBPROC glad_glPushAttrib;\n#define glPushAttrib glad_glPushAttrib\ntypedef void (APIENTRYP PFNGLMAP1DPROC)(GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points);\nGLAPI PFNGLMAP1DPROC glad_glMap1d;\n#define glMap1d glad_glMap1d\ntypedef void (APIENTRYP PFNGLMAP1FPROC)(GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points);\nGLAPI PFNGLMAP1FPROC glad_glMap1f;\n#define glMap1f glad_glMap1f\ntypedef void (APIENTRYP PFNGLMAP2DPROC)(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points);\nGLAPI PFNGLMAP2DPROC glad_glMap2d;\n#define glMap2d glad_glMap2d\ntypedef void (APIENTRYP PFNGLMAP2FPROC)(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points);\nGLAPI PFNGLMAP2FPROC glad_glMap2f;\n#define glMap2f glad_glMap2f\ntypedef void (APIENTRYP PFNGLMAPGRID1DPROC)(GLint un, GLdouble u1, GLdouble u2);\nGLAPI PFNGLMAPGRID1DPROC glad_glMapGrid1d;\n#define glMapGrid1d glad_glMapGrid1d\ntypedef void (APIENTRYP PFNGLMAPGRID1FPROC)(GLint un, GLfloat u1, GLfloat u2);\nGLAPI PFNGLMAPGRID1FPROC glad_glMapGrid1f;\n#define glMapGrid1f glad_glMapGrid1f\ntypedef void (APIENTRYP PFNGLMAPGRID2DPROC)(GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2);\nGLAPI PFNGLMAPGRID2DPROC glad_glMapGrid2d;\n#define glMapGrid2d glad_glMapGrid2d\ntypedef void (APIENTRYP PFNGLMAPGRID2FPROC)(GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2);\nGLAPI PFNGLMAPGRID2FPROC glad_glMapGrid2f;\n#define glMapGrid2f glad_glMapGrid2f\ntypedef void (APIENTRYP PFNGLEVALCOORD1DPROC)(GLdouble u);\nGLAPI PFNGLEVALCOORD1DPROC glad_glEvalCoord1d;\n#define glEvalCoord1d glad_glEvalCoord1d\ntypedef void (APIENTRYP PFNGLEVALCOORD1DVPROC)(const GLdouble *u);\nGLAPI PFNGLEVALCOORD1DVPROC glad_glEvalCoord1dv;\n#define glEvalCoord1dv glad_glEvalCoord1dv\ntypedef void (APIENTRYP PFNGLEVALCOORD1FPROC)(GLfloat u);\nGLAPI PFNGLEVALCOORD1FPROC glad_glEvalCoord1f;\n#define glEvalCoord1f glad_glEvalCoord1f\ntypedef void (APIENTRYP PFNGLEVALCOORD1FVPROC)(const GLfloat *u);\nGLAPI PFNGLEVALCOORD1FVPROC glad_glEvalCoord1fv;\n#define glEvalCoord1fv glad_glEvalCoord1fv\ntypedef void (APIENTRYP PFNGLEVALCOORD2DPROC)(GLdouble u, GLdouble v);\nGLAPI PFNGLEVALCOORD2DPROC glad_glEvalCoord2d;\n#define glEvalCoord2d glad_glEvalCoord2d\ntypedef void (APIENTRYP PFNGLEVALCOORD2DVPROC)(const GLdouble *u);\nGLAPI PFNGLEVALCOORD2DVPROC glad_glEvalCoord2dv;\n#define glEvalCoord2dv glad_glEvalCoord2dv\ntypedef void (APIENTRYP PFNGLEVALCOORD2FPROC)(GLfloat u, GLfloat v);\nGLAPI PFNGLEVALCOORD2FPROC glad_glEvalCoord2f;\n#define glEvalCoord2f glad_glEvalCoord2f\ntypedef void (APIENTRYP PFNGLEVALCOORD2FVPROC)(const GLfloat *u);\nGLAPI PFNGLEVALCOORD2FVPROC glad_glEvalCoord2fv;\n#define glEvalCoord2fv glad_glEvalCoord2fv\ntypedef void (APIENTRYP PFNGLEVALMESH1PROC)(GLenum mode, GLint i1, GLint i2);\nGLAPI PFNGLEVALMESH1PROC glad_glEvalMesh1;\n#define glEvalMesh1 glad_glEvalMesh1\ntypedef void (APIENTRYP PFNGLEVALPOINT1PROC)(GLint i);\nGLAPI PFNGLEVALPOINT1PROC glad_glEvalPoint1;\n#define glEvalPoint1 glad_glEvalPoint1\ntypedef void (APIENTRYP PFNGLEVALMESH2PROC)(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2);\nGLAPI PFNGLEVALMESH2PROC glad_glEvalMesh2;\n#define glEvalMesh2 glad_glEvalMesh2\ntypedef void (APIENTRYP PFNGLEVALPOINT2PROC)(GLint i, GLint j);\nGLAPI PFNGLEVALPOINT2PROC glad_glEvalPoint2;\n#define glEvalPoint2 glad_glEvalPoint2\ntypedef void (APIENTRYP PFNGLALPHAFUNCPROC)(GLenum func, GLfloat ref);\nGLAPI PFNGLALPHAFUNCPROC glad_glAlphaFunc;\n#define glAlphaFunc glad_glAlphaFunc\ntypedef void (APIENTRYP PFNGLPIXELZOOMPROC)(GLfloat xfactor, GLfloat yfactor);\nGLAPI PFNGLPIXELZOOMPROC glad_glPixelZoom;\n#define glPixelZoom glad_glPixelZoom\ntypedef void (APIENTRYP PFNGLPIXELTRANSFERFPROC)(GLenum pname, GLfloat param);\nGLAPI PFNGLPIXELTRANSFERFPROC glad_glPixelTransferf;\n#define glPixelTransferf glad_glPixelTransferf\ntypedef void (APIENTRYP PFNGLPIXELTRANSFERIPROC)(GLenum pname, GLint param);\nGLAPI PFNGLPIXELTRANSFERIPROC glad_glPixelTransferi;\n#define glPixelTransferi glad_glPixelTransferi\ntypedef void (APIENTRYP PFNGLPIXELMAPFVPROC)(GLenum map, GLsizei mapsize, const GLfloat *values);\nGLAPI PFNGLPIXELMAPFVPROC glad_glPixelMapfv;\n#define glPixelMapfv glad_glPixelMapfv\ntypedef void (APIENTRYP PFNGLPIXELMAPUIVPROC)(GLenum map, GLsizei mapsize, const GLuint *values);\nGLAPI PFNGLPIXELMAPUIVPROC glad_glPixelMapuiv;\n#define glPixelMapuiv glad_glPixelMapuiv\ntypedef void (APIENTRYP PFNGLPIXELMAPUSVPROC)(GLenum map, GLsizei mapsize, const GLushort *values);\nGLAPI PFNGLPIXELMAPUSVPROC glad_glPixelMapusv;\n#define glPixelMapusv glad_glPixelMapusv\ntypedef void (APIENTRYP PFNGLCOPYPIXELSPROC)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum type);\nGLAPI PFNGLCOPYPIXELSPROC glad_glCopyPixels;\n#define glCopyPixels glad_glCopyPixels\ntypedef void (APIENTRYP PFNGLDRAWPIXELSPROC)(GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels);\nGLAPI PFNGLDRAWPIXELSPROC glad_glDrawPixels;\n#define glDrawPixels glad_glDrawPixels\ntypedef void (APIENTRYP PFNGLGETCLIPPLANEPROC)(GLenum plane, GLdouble *equation);\nGLAPI PFNGLGETCLIPPLANEPROC glad_glGetClipPlane;\n#define glGetClipPlane glad_glGetClipPlane\ntypedef void (APIENTRYP PFNGLGETLIGHTFVPROC)(GLenum light, GLenum pname, GLfloat *params);\nGLAPI PFNGLGETLIGHTFVPROC glad_glGetLightfv;\n#define glGetLightfv glad_glGetLightfv\ntypedef void (APIENTRYP PFNGLGETLIGHTIVPROC)(GLenum light, GLenum pname, GLint *params);\nGLAPI PFNGLGETLIGHTIVPROC glad_glGetLightiv;\n#define glGetLightiv glad_glGetLightiv\ntypedef void (APIENTRYP PFNGLGETMAPDVPROC)(GLenum target, GLenum query, GLdouble *v);\nGLAPI PFNGLGETMAPDVPROC glad_glGetMapdv;\n#define glGetMapdv glad_glGetMapdv\ntypedef void (APIENTRYP PFNGLGETMAPFVPROC)(GLenum target, GLenum query, GLfloat *v);\nGLAPI PFNGLGETMAPFVPROC glad_glGetMapfv;\n#define glGetMapfv glad_glGetMapfv\ntypedef void (APIENTRYP PFNGLGETMAPIVPROC)(GLenum target, GLenum query, GLint *v);\nGLAPI PFNGLGETMAPIVPROC glad_glGetMapiv;\n#define glGetMapiv glad_glGetMapiv\ntypedef void (APIENTRYP PFNGLGETMATERIALFVPROC)(GLenum face, GLenum pname, GLfloat *params);\nGLAPI PFNGLGETMATERIALFVPROC glad_glGetMaterialfv;\n#define glGetMaterialfv glad_glGetMaterialfv\ntypedef void (APIENTRYP PFNGLGETMATERIALIVPROC)(GLenum face, GLenum pname, GLint *params);\nGLAPI PFNGLGETMATERIALIVPROC glad_glGetMaterialiv;\n#define glGetMaterialiv glad_glGetMaterialiv\ntypedef void (APIENTRYP PFNGLGETPIXELMAPFVPROC)(GLenum map, GLfloat *values);\nGLAPI PFNGLGETPIXELMAPFVPROC glad_glGetPixelMapfv;\n#define glGetPixelMapfv glad_glGetPixelMapfv\ntypedef void (APIENTRYP PFNGLGETPIXELMAPUIVPROC)(GLenum map, GLuint *values);\nGLAPI PFNGLGETPIXELMAPUIVPROC glad_glGetPixelMapuiv;\n#define glGetPixelMapuiv glad_glGetPixelMapuiv\ntypedef void (APIENTRYP PFNGLGETPIXELMAPUSVPROC)(GLenum map, GLushort *values);\nGLAPI PFNGLGETPIXELMAPUSVPROC glad_glGetPixelMapusv;\n#define glGetPixelMapusv glad_glGetPixelMapusv\ntypedef void (APIENTRYP PFNGLGETPOLYGONSTIPPLEPROC)(GLubyte *mask);\nGLAPI PFNGLGETPOLYGONSTIPPLEPROC glad_glGetPolygonStipple;\n#define glGetPolygonStipple glad_glGetPolygonStipple\ntypedef void (APIENTRYP PFNGLGETTEXENVFVPROC)(GLenum target, GLenum pname, GLfloat *params);\nGLAPI PFNGLGETTEXENVFVPROC glad_glGetTexEnvfv;\n#define glGetTexEnvfv glad_glGetTexEnvfv\ntypedef void (APIENTRYP PFNGLGETTEXENVIVPROC)(GLenum target, GLenum pname, GLint *params);\nGLAPI PFNGLGETTEXENVIVPROC glad_glGetTexEnviv;\n#define glGetTexEnviv glad_glGetTexEnviv\ntypedef void (APIENTRYP PFNGLGETTEXGENDVPROC)(GLenum coord, GLenum pname, GLdouble *params);\nGLAPI PFNGLGETTEXGENDVPROC glad_glGetTexGendv;\n#define glGetTexGendv glad_glGetTexGendv\ntypedef void (APIENTRYP PFNGLGETTEXGENFVPROC)(GLenum coord, GLenum pname, GLfloat *params);\nGLAPI PFNGLGETTEXGENFVPROC glad_glGetTexGenfv;\n#define glGetTexGenfv glad_glGetTexGenfv\ntypedef void (APIENTRYP PFNGLGETTEXGENIVPROC)(GLenum coord, GLenum pname, GLint *params);\nGLAPI PFNGLGETTEXGENIVPROC glad_glGetTexGeniv;\n#define glGetTexGeniv glad_glGetTexGeniv\ntypedef GLboolean (APIENTRYP PFNGLISLISTPROC)(GLuint list);\nGLAPI PFNGLISLISTPROC glad_glIsList;\n#define glIsList glad_glIsList\ntypedef void (APIENTRYP PFNGLFRUSTUMPROC)(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);\nGLAPI PFNGLFRUSTUMPROC glad_glFrustum;\n#define glFrustum glad_glFrustum\ntypedef void (APIENTRYP PFNGLLOADIDENTITYPROC)();\nGLAPI PFNGLLOADIDENTITYPROC glad_glLoadIdentity;\n#define glLoadIdentity glad_glLoadIdentity\ntypedef void (APIENTRYP PFNGLLOADMATRIXFPROC)(const GLfloat *m);\nGLAPI PFNGLLOADMATRIXFPROC glad_glLoadMatrixf;\n#define glLoadMatrixf glad_glLoadMatrixf\ntypedef void (APIENTRYP PFNGLLOADMATRIXDPROC)(const GLdouble *m);\nGLAPI PFNGLLOADMATRIXDPROC glad_glLoadMatrixd;\n#define glLoadMatrixd glad_glLoadMatrixd\ntypedef void (APIENTRYP PFNGLMATRIXMODEPROC)(GLenum mode);\nGLAPI PFNGLMATRIXMODEPROC glad_glMatrixMode;\n#define glMatrixMode glad_glMatrixMode\ntypedef void (APIENTRYP PFNGLMULTMATRIXFPROC)(const GLfloat *m);\nGLAPI PFNGLMULTMATRIXFPROC glad_glMultMatrixf;\n#define glMultMatrixf glad_glMultMatrixf\ntypedef void (APIENTRYP PFNGLMULTMATRIXDPROC)(const GLdouble *m);\nGLAPI PFNGLMULTMATRIXDPROC glad_glMultMatrixd;\n#define glMultMatrixd glad_glMultMatrixd\ntypedef void (APIENTRYP PFNGLORTHOPROC)(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);\nGLAPI PFNGLORTHOPROC glad_glOrtho;\n#define glOrtho glad_glOrtho\ntypedef void (APIENTRYP PFNGLPOPMATRIXPROC)();\nGLAPI PFNGLPOPMATRIXPROC glad_glPopMatrix;\n#define glPopMatrix glad_glPopMatrix\ntypedef void (APIENTRYP PFNGLPUSHMATRIXPROC)();\nGLAPI PFNGLPUSHMATRIXPROC glad_glPushMatrix;\n#define glPushMatrix glad_glPushMatrix\ntypedef void (APIENTRYP PFNGLROTATEDPROC)(GLdouble angle, GLdouble x, GLdouble y, GLdouble z);\nGLAPI PFNGLROTATEDPROC glad_glRotated;\n#define glRotated glad_glRotated\ntypedef void (APIENTRYP PFNGLROTATEFPROC)(GLfloat angle, GLfloat x, GLfloat y, GLfloat z);\nGLAPI PFNGLROTATEFPROC glad_glRotatef;\n#define glRotatef glad_glRotatef\ntypedef void (APIENTRYP PFNGLSCALEDPROC)(GLdouble x, GLdouble y, GLdouble z);\nGLAPI PFNGLSCALEDPROC glad_glScaled;\n#define glScaled glad_glScaled\ntypedef void (APIENTRYP PFNGLSCALEFPROC)(GLfloat x, GLfloat y, GLfloat z);\nGLAPI PFNGLSCALEFPROC glad_glScalef;\n#define glScalef glad_glScalef\ntypedef void (APIENTRYP PFNGLTRANSLATEDPROC)(GLdouble x, GLdouble y, GLdouble z);\nGLAPI PFNGLTRANSLATEDPROC glad_glTranslated;\n#define glTranslated glad_glTranslated\ntypedef void (APIENTRYP PFNGLTRANSLATEFPROC)(GLfloat x, GLfloat y, GLfloat z);\nGLAPI PFNGLTRANSLATEFPROC glad_glTranslatef;\n#define glTranslatef glad_glTranslatef\n#endif\n#ifndef GL_VERSION_1_1\n#define GL_VERSION_1_1 1\nGLAPI int GLAD_GL_VERSION_1_1;\ntypedef void (APIENTRYP PFNGLDRAWARRAYSPROC)(GLenum mode, GLint first, GLsizei count);\nGLAPI PFNGLDRAWARRAYSPROC glad_glDrawArrays;\n#define glDrawArrays glad_glDrawArrays\ntypedef void (APIENTRYP PFNGLDRAWELEMENTSPROC)(GLenum mode, GLsizei count, GLenum type, const void *indices);\nGLAPI PFNGLDRAWELEMENTSPROC glad_glDrawElements;\n#define glDrawElements glad_glDrawElements\ntypedef void (APIENTRYP PFNGLGETPOINTERVPROC)(GLenum pname, void **params);\nGLAPI PFNGLGETPOINTERVPROC glad_glGetPointerv;\n#define glGetPointerv glad_glGetPointerv\ntypedef void (APIENTRYP PFNGLPOLYGONOFFSETPROC)(GLfloat factor, GLfloat units);\nGLAPI PFNGLPOLYGONOFFSETPROC glad_glPolygonOffset;\n#define glPolygonOffset glad_glPolygonOffset\ntypedef void (APIENTRYP PFNGLCOPYTEXIMAGE1DPROC)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);\nGLAPI PFNGLCOPYTEXIMAGE1DPROC glad_glCopyTexImage1D;\n#define glCopyTexImage1D glad_glCopyTexImage1D\ntypedef void (APIENTRYP PFNGLCOPYTEXIMAGE2DPROC)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);\nGLAPI PFNGLCOPYTEXIMAGE2DPROC glad_glCopyTexImage2D;\n#define glCopyTexImage2D glad_glCopyTexImage2D\ntypedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE1DPROC)(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);\nGLAPI PFNGLCOPYTEXSUBIMAGE1DPROC glad_glCopyTexSubImage1D;\n#define glCopyTexSubImage1D glad_glCopyTexSubImage1D\ntypedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE2DPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);\nGLAPI PFNGLCOPYTEXSUBIMAGE2DPROC glad_glCopyTexSubImage2D;\n#define glCopyTexSubImage2D glad_glCopyTexSubImage2D\ntypedef void (APIENTRYP PFNGLTEXSUBIMAGE1DPROC)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels);\nGLAPI PFNGLTEXSUBIMAGE1DPROC glad_glTexSubImage1D;\n#define glTexSubImage1D glad_glTexSubImage1D\ntypedef void (APIENTRYP PFNGLTEXSUBIMAGE2DPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels);\nGLAPI PFNGLTEXSUBIMAGE2DPROC glad_glTexSubImage2D;\n#define glTexSubImage2D glad_glTexSubImage2D\ntypedef void (APIENTRYP PFNGLBINDTEXTUREPROC)(GLenum target, GLuint texture);\nGLAPI PFNGLBINDTEXTUREPROC glad_glBindTexture;\n#define glBindTexture glad_glBindTexture\ntypedef void (APIENTRYP PFNGLDELETETEXTURESPROC)(GLsizei n, const GLuint *textures);\nGLAPI PFNGLDELETETEXTURESPROC glad_glDeleteTextures;\n#define glDeleteTextures glad_glDeleteTextures\ntypedef void (APIENTRYP PFNGLGENTEXTURESPROC)(GLsizei n, GLuint *textures);\nGLAPI PFNGLGENTEXTURESPROC glad_glGenTextures;\n#define glGenTextures glad_glGenTextures\ntypedef GLboolean (APIENTRYP PFNGLISTEXTUREPROC)(GLuint texture);\nGLAPI PFNGLISTEXTUREPROC glad_glIsTexture;\n#define glIsTexture glad_glIsTexture\ntypedef void (APIENTRYP PFNGLARRAYELEMENTPROC)(GLint i);\nGLAPI PFNGLARRAYELEMENTPROC glad_glArrayElement;\n#define glArrayElement glad_glArrayElement\ntypedef void (APIENTRYP PFNGLCOLORPOINTERPROC)(GLint size, GLenum type, GLsizei stride, const void *pointer);\nGLAPI PFNGLCOLORPOINTERPROC glad_glColorPointer;\n#define glColorPointer glad_glColorPointer\ntypedef void (APIENTRYP PFNGLDISABLECLIENTSTATEPROC)(GLenum array);\nGLAPI PFNGLDISABLECLIENTSTATEPROC glad_glDisableClientState;\n#define glDisableClientState glad_glDisableClientState\ntypedef void (APIENTRYP PFNGLEDGEFLAGPOINTERPROC)(GLsizei stride, const void *pointer);\nGLAPI PFNGLEDGEFLAGPOINTERPROC glad_glEdgeFlagPointer;\n#define glEdgeFlagPointer glad_glEdgeFlagPointer\ntypedef void (APIENTRYP PFNGLENABLECLIENTSTATEPROC)(GLenum array);\nGLAPI PFNGLENABLECLIENTSTATEPROC glad_glEnableClientState;\n#define glEnableClientState glad_glEnableClientState\ntypedef void (APIENTRYP PFNGLINDEXPOINTERPROC)(GLenum type, GLsizei stride, const void *pointer);\nGLAPI PFNGLINDEXPOINTERPROC glad_glIndexPointer;\n#define glIndexPointer glad_glIndexPointer\ntypedef void (APIENTRYP PFNGLINTERLEAVEDARRAYSPROC)(GLenum format, GLsizei stride, const void *pointer);\nGLAPI PFNGLINTERLEAVEDARRAYSPROC glad_glInterleavedArrays;\n#define glInterleavedArrays glad_glInterleavedArrays\ntypedef void (APIENTRYP PFNGLNORMALPOINTERPROC)(GLenum type, GLsizei stride, const void *pointer);\nGLAPI PFNGLNORMALPOINTERPROC glad_glNormalPointer;\n#define glNormalPointer glad_glNormalPointer\ntypedef void (APIENTRYP PFNGLTEXCOORDPOINTERPROC)(GLint size, GLenum type, GLsizei stride, const void *pointer);\nGLAPI PFNGLTEXCOORDPOINTERPROC glad_glTexCoordPointer;\n#define glTexCoordPointer glad_glTexCoordPointer\ntypedef void (APIENTRYP PFNGLVERTEXPOINTERPROC)(GLint size, GLenum type, GLsizei stride, const void *pointer);\nGLAPI PFNGLVERTEXPOINTERPROC glad_glVertexPointer;\n#define glVertexPointer glad_glVertexPointer\ntypedef GLboolean (APIENTRYP PFNGLARETEXTURESRESIDENTPROC)(GLsizei n, const GLuint *textures, GLboolean *residences);\nGLAPI PFNGLARETEXTURESRESIDENTPROC glad_glAreTexturesResident;\n#define glAreTexturesResident glad_glAreTexturesResident\ntypedef void (APIENTRYP PFNGLPRIORITIZETEXTURESPROC)(GLsizei n, const GLuint *textures, const GLfloat *priorities);\nGLAPI PFNGLPRIORITIZETEXTURESPROC glad_glPrioritizeTextures;\n#define glPrioritizeTextures glad_glPrioritizeTextures\ntypedef void (APIENTRYP PFNGLINDEXUBPROC)(GLubyte c);\nGLAPI PFNGLINDEXUBPROC glad_glIndexub;\n#define glIndexub glad_glIndexub\ntypedef void (APIENTRYP PFNGLINDEXUBVPROC)(const GLubyte *c);\nGLAPI PFNGLINDEXUBVPROC glad_glIndexubv;\n#define glIndexubv glad_glIndexubv\ntypedef void (APIENTRYP PFNGLPOPCLIENTATTRIBPROC)();\nGLAPI PFNGLPOPCLIENTATTRIBPROC glad_glPopClientAttrib;\n#define glPopClientAttrib glad_glPopClientAttrib\ntypedef void (APIENTRYP PFNGLPUSHCLIENTATTRIBPROC)(GLbitfield mask);\nGLAPI PFNGLPUSHCLIENTATTRIBPROC glad_glPushClientAttrib;\n#define glPushClientAttrib glad_glPushClientAttrib\n#endif\n#ifndef GL_VERSION_1_2\n#define GL_VERSION_1_2 1\nGLAPI int GLAD_GL_VERSION_1_2;\ntypedef void (APIENTRYP PFNGLDRAWRANGEELEMENTSPROC)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices);\nGLAPI PFNGLDRAWRANGEELEMENTSPROC glad_glDrawRangeElements;\n#define glDrawRangeElements glad_glDrawRangeElements\ntypedef void (APIENTRYP PFNGLTEXIMAGE3DPROC)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels);\nGLAPI PFNGLTEXIMAGE3DPROC glad_glTexImage3D;\n#define glTexImage3D glad_glTexImage3D\ntypedef void (APIENTRYP PFNGLTEXSUBIMAGE3DPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels);\nGLAPI PFNGLTEXSUBIMAGE3DPROC glad_glTexSubImage3D;\n#define glTexSubImage3D glad_glTexSubImage3D\ntypedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE3DPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);\nGLAPI PFNGLCOPYTEXSUBIMAGE3DPROC glad_glCopyTexSubImage3D;\n#define glCopyTexSubImage3D glad_glCopyTexSubImage3D\n#endif\n#ifndef GL_VERSION_1_3\n#define GL_VERSION_1_3 1\nGLAPI int GLAD_GL_VERSION_1_3;\ntypedef void (APIENTRYP PFNGLACTIVETEXTUREPROC)(GLenum texture);\nGLAPI PFNGLACTIVETEXTUREPROC glad_glActiveTexture;\n#define glActiveTexture glad_glActiveTexture\ntypedef void (APIENTRYP PFNGLSAMPLECOVERAGEPROC)(GLfloat value, GLboolean invert);\nGLAPI PFNGLSAMPLECOVERAGEPROC glad_glSampleCoverage;\n#define glSampleCoverage glad_glSampleCoverage\ntypedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DPROC)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data);\nGLAPI PFNGLCOMPRESSEDTEXIMAGE3DPROC glad_glCompressedTexImage3D;\n#define glCompressedTexImage3D glad_glCompressedTexImage3D\ntypedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE2DPROC)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data);\nGLAPI PFNGLCOMPRESSEDTEXIMAGE2DPROC glad_glCompressedTexImage2D;\n#define glCompressedTexImage2D glad_glCompressedTexImage2D\ntypedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE1DPROC)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void *data);\nGLAPI PFNGLCOMPRESSEDTEXIMAGE1DPROC glad_glCompressedTexImage1D;\n#define glCompressedTexImage1D glad_glCompressedTexImage1D\ntypedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data);\nGLAPI PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC glad_glCompressedTexSubImage3D;\n#define glCompressedTexSubImage3D glad_glCompressedTexSubImage3D\ntypedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data);\nGLAPI PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC glad_glCompressedTexSubImage2D;\n#define glCompressedTexSubImage2D glad_glCompressedTexSubImage2D\ntypedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *data);\nGLAPI PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC glad_glCompressedTexSubImage1D;\n#define glCompressedTexSubImage1D glad_glCompressedTexSubImage1D\ntypedef void (APIENTRYP PFNGLGETCOMPRESSEDTEXIMAGEPROC)(GLenum target, GLint level, void *img);\nGLAPI PFNGLGETCOMPRESSEDTEXIMAGEPROC glad_glGetCompressedTexImage;\n#define glGetCompressedTexImage glad_glGetCompressedTexImage\ntypedef void (APIENTRYP PFNGLCLIENTACTIVETEXTUREPROC)(GLenum texture);\nGLAPI PFNGLCLIENTACTIVETEXTUREPROC glad_glClientActiveTexture;\n#define glClientActiveTexture glad_glClientActiveTexture\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD1DPROC)(GLenum target, GLdouble s);\nGLAPI PFNGLMULTITEXCOORD1DPROC glad_glMultiTexCoord1d;\n#define glMultiTexCoord1d glad_glMultiTexCoord1d\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD1DVPROC)(GLenum target, const GLdouble *v);\nGLAPI PFNGLMULTITEXCOORD1DVPROC glad_glMultiTexCoord1dv;\n#define glMultiTexCoord1dv glad_glMultiTexCoord1dv\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD1FPROC)(GLenum target, GLfloat s);\nGLAPI PFNGLMULTITEXCOORD1FPROC glad_glMultiTexCoord1f;\n#define glMultiTexCoord1f glad_glMultiTexCoord1f\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD1FVPROC)(GLenum target, const GLfloat *v);\nGLAPI PFNGLMULTITEXCOORD1FVPROC glad_glMultiTexCoord1fv;\n#define glMultiTexCoord1fv glad_glMultiTexCoord1fv\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD1IPROC)(GLenum target, GLint s);\nGLAPI PFNGLMULTITEXCOORD1IPROC glad_glMultiTexCoord1i;\n#define glMultiTexCoord1i glad_glMultiTexCoord1i\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD1IVPROC)(GLenum target, const GLint *v);\nGLAPI PFNGLMULTITEXCOORD1IVPROC glad_glMultiTexCoord1iv;\n#define glMultiTexCoord1iv glad_glMultiTexCoord1iv\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD1SPROC)(GLenum target, GLshort s);\nGLAPI PFNGLMULTITEXCOORD1SPROC glad_glMultiTexCoord1s;\n#define glMultiTexCoord1s glad_glMultiTexCoord1s\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD1SVPROC)(GLenum target, const GLshort *v);\nGLAPI PFNGLMULTITEXCOORD1SVPROC glad_glMultiTexCoord1sv;\n#define glMultiTexCoord1sv glad_glMultiTexCoord1sv\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD2DPROC)(GLenum target, GLdouble s, GLdouble t);\nGLAPI PFNGLMULTITEXCOORD2DPROC glad_glMultiTexCoord2d;\n#define glMultiTexCoord2d glad_glMultiTexCoord2d\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD2DVPROC)(GLenum target, const GLdouble *v);\nGLAPI PFNGLMULTITEXCOORD2DVPROC glad_glMultiTexCoord2dv;\n#define glMultiTexCoord2dv glad_glMultiTexCoord2dv\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD2FPROC)(GLenum target, GLfloat s, GLfloat t);\nGLAPI PFNGLMULTITEXCOORD2FPROC glad_glMultiTexCoord2f;\n#define glMultiTexCoord2f glad_glMultiTexCoord2f\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD2FVPROC)(GLenum target, const GLfloat *v);\nGLAPI PFNGLMULTITEXCOORD2FVPROC glad_glMultiTexCoord2fv;\n#define glMultiTexCoord2fv glad_glMultiTexCoord2fv\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD2IPROC)(GLenum target, GLint s, GLint t);\nGLAPI PFNGLMULTITEXCOORD2IPROC glad_glMultiTexCoord2i;\n#define glMultiTexCoord2i glad_glMultiTexCoord2i\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD2IVPROC)(GLenum target, const GLint *v);\nGLAPI PFNGLMULTITEXCOORD2IVPROC glad_glMultiTexCoord2iv;\n#define glMultiTexCoord2iv glad_glMultiTexCoord2iv\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD2SPROC)(GLenum target, GLshort s, GLshort t);\nGLAPI PFNGLMULTITEXCOORD2SPROC glad_glMultiTexCoord2s;\n#define glMultiTexCoord2s glad_glMultiTexCoord2s\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD2SVPROC)(GLenum target, const GLshort *v);\nGLAPI PFNGLMULTITEXCOORD2SVPROC glad_glMultiTexCoord2sv;\n#define glMultiTexCoord2sv glad_glMultiTexCoord2sv\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD3DPROC)(GLenum target, GLdouble s, GLdouble t, GLdouble r);\nGLAPI PFNGLMULTITEXCOORD3DPROC glad_glMultiTexCoord3d;\n#define glMultiTexCoord3d glad_glMultiTexCoord3d\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD3DVPROC)(GLenum target, const GLdouble *v);\nGLAPI PFNGLMULTITEXCOORD3DVPROC glad_glMultiTexCoord3dv;\n#define glMultiTexCoord3dv glad_glMultiTexCoord3dv\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD3FPROC)(GLenum target, GLfloat s, GLfloat t, GLfloat r);\nGLAPI PFNGLMULTITEXCOORD3FPROC glad_glMultiTexCoord3f;\n#define glMultiTexCoord3f glad_glMultiTexCoord3f\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD3FVPROC)(GLenum target, const GLfloat *v);\nGLAPI PFNGLMULTITEXCOORD3FVPROC glad_glMultiTexCoord3fv;\n#define glMultiTexCoord3fv glad_glMultiTexCoord3fv\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD3IPROC)(GLenum target, GLint s, GLint t, GLint r);\nGLAPI PFNGLMULTITEXCOORD3IPROC glad_glMultiTexCoord3i;\n#define glMultiTexCoord3i glad_glMultiTexCoord3i\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD3IVPROC)(GLenum target, const GLint *v);\nGLAPI PFNGLMULTITEXCOORD3IVPROC glad_glMultiTexCoord3iv;\n#define glMultiTexCoord3iv glad_glMultiTexCoord3iv\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD3SPROC)(GLenum target, GLshort s, GLshort t, GLshort r);\nGLAPI PFNGLMULTITEXCOORD3SPROC glad_glMultiTexCoord3s;\n#define glMultiTexCoord3s glad_glMultiTexCoord3s\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD3SVPROC)(GLenum target, const GLshort *v);\nGLAPI PFNGLMULTITEXCOORD3SVPROC glad_glMultiTexCoord3sv;\n#define glMultiTexCoord3sv glad_glMultiTexCoord3sv\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD4DPROC)(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);\nGLAPI PFNGLMULTITEXCOORD4DPROC glad_glMultiTexCoord4d;\n#define glMultiTexCoord4d glad_glMultiTexCoord4d\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD4DVPROC)(GLenum target, const GLdouble *v);\nGLAPI PFNGLMULTITEXCOORD4DVPROC glad_glMultiTexCoord4dv;\n#define glMultiTexCoord4dv glad_glMultiTexCoord4dv\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD4FPROC)(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);\nGLAPI PFNGLMULTITEXCOORD4FPROC glad_glMultiTexCoord4f;\n#define glMultiTexCoord4f glad_glMultiTexCoord4f\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD4FVPROC)(GLenum target, const GLfloat *v);\nGLAPI PFNGLMULTITEXCOORD4FVPROC glad_glMultiTexCoord4fv;\n#define glMultiTexCoord4fv glad_glMultiTexCoord4fv\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD4IPROC)(GLenum target, GLint s, GLint t, GLint r, GLint q);\nGLAPI PFNGLMULTITEXCOORD4IPROC glad_glMultiTexCoord4i;\n#define glMultiTexCoord4i glad_glMultiTexCoord4i\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD4IVPROC)(GLenum target, const GLint *v);\nGLAPI PFNGLMULTITEXCOORD4IVPROC glad_glMultiTexCoord4iv;\n#define glMultiTexCoord4iv glad_glMultiTexCoord4iv\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD4SPROC)(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);\nGLAPI PFNGLMULTITEXCOORD4SPROC glad_glMultiTexCoord4s;\n#define glMultiTexCoord4s glad_glMultiTexCoord4s\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD4SVPROC)(GLenum target, const GLshort *v);\nGLAPI PFNGLMULTITEXCOORD4SVPROC glad_glMultiTexCoord4sv;\n#define glMultiTexCoord4sv glad_glMultiTexCoord4sv\ntypedef void (APIENTRYP PFNGLLOADTRANSPOSEMATRIXFPROC)(const GLfloat *m);\nGLAPI PFNGLLOADTRANSPOSEMATRIXFPROC glad_glLoadTransposeMatrixf;\n#define glLoadTransposeMatrixf glad_glLoadTransposeMatrixf\ntypedef void (APIENTRYP PFNGLLOADTRANSPOSEMATRIXDPROC)(const GLdouble *m);\nGLAPI PFNGLLOADTRANSPOSEMATRIXDPROC glad_glLoadTransposeMatrixd;\n#define glLoadTransposeMatrixd glad_glLoadTransposeMatrixd\ntypedef void (APIENTRYP PFNGLMULTTRANSPOSEMATRIXFPROC)(const GLfloat *m);\nGLAPI PFNGLMULTTRANSPOSEMATRIXFPROC glad_glMultTransposeMatrixf;\n#define glMultTransposeMatrixf glad_glMultTransposeMatrixf\ntypedef void (APIENTRYP PFNGLMULTTRANSPOSEMATRIXDPROC)(const GLdouble *m);\nGLAPI PFNGLMULTTRANSPOSEMATRIXDPROC glad_glMultTransposeMatrixd;\n#define glMultTransposeMatrixd glad_glMultTransposeMatrixd\n#endif\n#ifndef GL_VERSION_1_4\n#define GL_VERSION_1_4 1\nGLAPI int GLAD_GL_VERSION_1_4;\ntypedef void (APIENTRYP PFNGLBLENDFUNCSEPARATEPROC)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);\nGLAPI PFNGLBLENDFUNCSEPARATEPROC glad_glBlendFuncSeparate;\n#define glBlendFuncSeparate glad_glBlendFuncSeparate\ntypedef void (APIENTRYP PFNGLMULTIDRAWARRAYSPROC)(GLenum mode, const GLint *first, const GLsizei *count, GLsizei drawcount);\nGLAPI PFNGLMULTIDRAWARRAYSPROC glad_glMultiDrawArrays;\n#define glMultiDrawArrays glad_glMultiDrawArrays\ntypedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSPROC)(GLenum mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei drawcount);\nGLAPI PFNGLMULTIDRAWELEMENTSPROC glad_glMultiDrawElements;\n#define glMultiDrawElements glad_glMultiDrawElements\ntypedef void (APIENTRYP PFNGLPOINTPARAMETERFPROC)(GLenum pname, GLfloat param);\nGLAPI PFNGLPOINTPARAMETERFPROC glad_glPointParameterf;\n#define glPointParameterf glad_glPointParameterf\ntypedef void (APIENTRYP PFNGLPOINTPARAMETERFVPROC)(GLenum pname, const GLfloat *params);\nGLAPI PFNGLPOINTPARAMETERFVPROC glad_glPointParameterfv;\n#define glPointParameterfv glad_glPointParameterfv\ntypedef void (APIENTRYP PFNGLPOINTPARAMETERIPROC)(GLenum pname, GLint param);\nGLAPI PFNGLPOINTPARAMETERIPROC glad_glPointParameteri;\n#define glPointParameteri glad_glPointParameteri\ntypedef void (APIENTRYP PFNGLPOINTPARAMETERIVPROC)(GLenum pname, const GLint *params);\nGLAPI PFNGLPOINTPARAMETERIVPROC glad_glPointParameteriv;\n#define glPointParameteriv glad_glPointParameteriv\ntypedef void (APIENTRYP PFNGLFOGCOORDFPROC)(GLfloat coord);\nGLAPI PFNGLFOGCOORDFPROC glad_glFogCoordf;\n#define glFogCoordf glad_glFogCoordf\ntypedef void (APIENTRYP PFNGLFOGCOORDFVPROC)(const GLfloat *coord);\nGLAPI PFNGLFOGCOORDFVPROC glad_glFogCoordfv;\n#define glFogCoordfv glad_glFogCoordfv\ntypedef void (APIENTRYP PFNGLFOGCOORDDPROC)(GLdouble coord);\nGLAPI PFNGLFOGCOORDDPROC glad_glFogCoordd;\n#define glFogCoordd glad_glFogCoordd\ntypedef void (APIENTRYP PFNGLFOGCOORDDVPROC)(const GLdouble *coord);\nGLAPI PFNGLFOGCOORDDVPROC glad_glFogCoorddv;\n#define glFogCoorddv glad_glFogCoorddv\ntypedef void (APIENTRYP PFNGLFOGCOORDPOINTERPROC)(GLenum type, GLsizei stride, const void *pointer);\nGLAPI PFNGLFOGCOORDPOINTERPROC glad_glFogCoordPointer;\n#define glFogCoordPointer glad_glFogCoordPointer\ntypedef void (APIENTRYP PFNGLSECONDARYCOLOR3BPROC)(GLbyte red, GLbyte green, GLbyte blue);\nGLAPI PFNGLSECONDARYCOLOR3BPROC glad_glSecondaryColor3b;\n#define glSecondaryColor3b glad_glSecondaryColor3b\ntypedef void (APIENTRYP PFNGLSECONDARYCOLOR3BVPROC)(const GLbyte *v);\nGLAPI PFNGLSECONDARYCOLOR3BVPROC glad_glSecondaryColor3bv;\n#define glSecondaryColor3bv glad_glSecondaryColor3bv\ntypedef void (APIENTRYP PFNGLSECONDARYCOLOR3DPROC)(GLdouble red, GLdouble green, GLdouble blue);\nGLAPI PFNGLSECONDARYCOLOR3DPROC glad_glSecondaryColor3d;\n#define glSecondaryColor3d glad_glSecondaryColor3d\ntypedef void (APIENTRYP PFNGLSECONDARYCOLOR3DVPROC)(const GLdouble *v);\nGLAPI PFNGLSECONDARYCOLOR3DVPROC glad_glSecondaryColor3dv;\n#define glSecondaryColor3dv glad_glSecondaryColor3dv\ntypedef void (APIENTRYP PFNGLSECONDARYCOLOR3FPROC)(GLfloat red, GLfloat green, GLfloat blue);\nGLAPI PFNGLSECONDARYCOLOR3FPROC glad_glSecondaryColor3f;\n#define glSecondaryColor3f glad_glSecondaryColor3f\ntypedef void (APIENTRYP PFNGLSECONDARYCOLOR3FVPROC)(const GLfloat *v);\nGLAPI PFNGLSECONDARYCOLOR3FVPROC glad_glSecondaryColor3fv;\n#define glSecondaryColor3fv glad_glSecondaryColor3fv\ntypedef void (APIENTRYP PFNGLSECONDARYCOLOR3IPROC)(GLint red, GLint green, GLint blue);\nGLAPI PFNGLSECONDARYCOLOR3IPROC glad_glSecondaryColor3i;\n#define glSecondaryColor3i glad_glSecondaryColor3i\ntypedef void (APIENTRYP PFNGLSECONDARYCOLOR3IVPROC)(const GLint *v);\nGLAPI PFNGLSECONDARYCOLOR3IVPROC glad_glSecondaryColor3iv;\n#define glSecondaryColor3iv glad_glSecondaryColor3iv\ntypedef void (APIENTRYP PFNGLSECONDARYCOLOR3SPROC)(GLshort red, GLshort green, GLshort blue);\nGLAPI PFNGLSECONDARYCOLOR3SPROC glad_glSecondaryColor3s;\n#define glSecondaryColor3s glad_glSecondaryColor3s\ntypedef void (APIENTRYP PFNGLSECONDARYCOLOR3SVPROC)(const GLshort *v);\nGLAPI PFNGLSECONDARYCOLOR3SVPROC glad_glSecondaryColor3sv;\n#define glSecondaryColor3sv glad_glSecondaryColor3sv\ntypedef void (APIENTRYP PFNGLSECONDARYCOLOR3UBPROC)(GLubyte red, GLubyte green, GLubyte blue);\nGLAPI PFNGLSECONDARYCOLOR3UBPROC glad_glSecondaryColor3ub;\n#define glSecondaryColor3ub glad_glSecondaryColor3ub\ntypedef void (APIENTRYP PFNGLSECONDARYCOLOR3UBVPROC)(const GLubyte *v);\nGLAPI PFNGLSECONDARYCOLOR3UBVPROC glad_glSecondaryColor3ubv;\n#define glSecondaryColor3ubv glad_glSecondaryColor3ubv\ntypedef void (APIENTRYP PFNGLSECONDARYCOLOR3UIPROC)(GLuint red, GLuint green, GLuint blue);\nGLAPI PFNGLSECONDARYCOLOR3UIPROC glad_glSecondaryColor3ui;\n#define glSecondaryColor3ui glad_glSecondaryColor3ui\ntypedef void (APIENTRYP PFNGLSECONDARYCOLOR3UIVPROC)(const GLuint *v);\nGLAPI PFNGLSECONDARYCOLOR3UIVPROC glad_glSecondaryColor3uiv;\n#define glSecondaryColor3uiv glad_glSecondaryColor3uiv\ntypedef void (APIENTRYP PFNGLSECONDARYCOLOR3USPROC)(GLushort red, GLushort green, GLushort blue);\nGLAPI PFNGLSECONDARYCOLOR3USPROC glad_glSecondaryColor3us;\n#define glSecondaryColor3us glad_glSecondaryColor3us\ntypedef void (APIENTRYP PFNGLSECONDARYCOLOR3USVPROC)(const GLushort *v);\nGLAPI PFNGLSECONDARYCOLOR3USVPROC glad_glSecondaryColor3usv;\n#define glSecondaryColor3usv glad_glSecondaryColor3usv\ntypedef void (APIENTRYP PFNGLSECONDARYCOLORPOINTERPROC)(GLint size, GLenum type, GLsizei stride, const void *pointer);\nGLAPI PFNGLSECONDARYCOLORPOINTERPROC glad_glSecondaryColorPointer;\n#define glSecondaryColorPointer glad_glSecondaryColorPointer\ntypedef void (APIENTRYP PFNGLWINDOWPOS2DPROC)(GLdouble x, GLdouble y);\nGLAPI PFNGLWINDOWPOS2DPROC glad_glWindowPos2d;\n#define glWindowPos2d glad_glWindowPos2d\ntypedef void (APIENTRYP PFNGLWINDOWPOS2DVPROC)(const GLdouble *v);\nGLAPI PFNGLWINDOWPOS2DVPROC glad_glWindowPos2dv;\n#define glWindowPos2dv glad_glWindowPos2dv\ntypedef void (APIENTRYP PFNGLWINDOWPOS2FPROC)(GLfloat x, GLfloat y);\nGLAPI PFNGLWINDOWPOS2FPROC glad_glWindowPos2f;\n#define glWindowPos2f glad_glWindowPos2f\ntypedef void (APIENTRYP PFNGLWINDOWPOS2FVPROC)(const GLfloat *v);\nGLAPI PFNGLWINDOWPOS2FVPROC glad_glWindowPos2fv;\n#define glWindowPos2fv glad_glWindowPos2fv\ntypedef void (APIENTRYP PFNGLWINDOWPOS2IPROC)(GLint x, GLint y);\nGLAPI PFNGLWINDOWPOS2IPROC glad_glWindowPos2i;\n#define glWindowPos2i glad_glWindowPos2i\ntypedef void (APIENTRYP PFNGLWINDOWPOS2IVPROC)(const GLint *v);\nGLAPI PFNGLWINDOWPOS2IVPROC glad_glWindowPos2iv;\n#define glWindowPos2iv glad_glWindowPos2iv\ntypedef void (APIENTRYP PFNGLWINDOWPOS2SPROC)(GLshort x, GLshort y);\nGLAPI PFNGLWINDOWPOS2SPROC glad_glWindowPos2s;\n#define glWindowPos2s glad_glWindowPos2s\ntypedef void (APIENTRYP PFNGLWINDOWPOS2SVPROC)(const GLshort *v);\nGLAPI PFNGLWINDOWPOS2SVPROC glad_glWindowPos2sv;\n#define glWindowPos2sv glad_glWindowPos2sv\ntypedef void (APIENTRYP PFNGLWINDOWPOS3DPROC)(GLdouble x, GLdouble y, GLdouble z);\nGLAPI PFNGLWINDOWPOS3DPROC glad_glWindowPos3d;\n#define glWindowPos3d glad_glWindowPos3d\ntypedef void (APIENTRYP PFNGLWINDOWPOS3DVPROC)(const GLdouble *v);\nGLAPI PFNGLWINDOWPOS3DVPROC glad_glWindowPos3dv;\n#define glWindowPos3dv glad_glWindowPos3dv\ntypedef void (APIENTRYP PFNGLWINDOWPOS3FPROC)(GLfloat x, GLfloat y, GLfloat z);\nGLAPI PFNGLWINDOWPOS3FPROC glad_glWindowPos3f;\n#define glWindowPos3f glad_glWindowPos3f\ntypedef void (APIENTRYP PFNGLWINDOWPOS3FVPROC)(const GLfloat *v);\nGLAPI PFNGLWINDOWPOS3FVPROC glad_glWindowPos3fv;\n#define glWindowPos3fv glad_glWindowPos3fv\ntypedef void (APIENTRYP PFNGLWINDOWPOS3IPROC)(GLint x, GLint y, GLint z);\nGLAPI PFNGLWINDOWPOS3IPROC glad_glWindowPos3i;\n#define glWindowPos3i glad_glWindowPos3i\ntypedef void (APIENTRYP PFNGLWINDOWPOS3IVPROC)(const GLint *v);\nGLAPI PFNGLWINDOWPOS3IVPROC glad_glWindowPos3iv;\n#define glWindowPos3iv glad_glWindowPos3iv\ntypedef void (APIENTRYP PFNGLWINDOWPOS3SPROC)(GLshort x, GLshort y, GLshort z);\nGLAPI PFNGLWINDOWPOS3SPROC glad_glWindowPos3s;\n#define glWindowPos3s glad_glWindowPos3s\ntypedef void (APIENTRYP PFNGLWINDOWPOS3SVPROC)(const GLshort *v);\nGLAPI PFNGLWINDOWPOS3SVPROC glad_glWindowPos3sv;\n#define glWindowPos3sv glad_glWindowPos3sv\ntypedef void (APIENTRYP PFNGLBLENDCOLORPROC)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);\nGLAPI PFNGLBLENDCOLORPROC glad_glBlendColor;\n#define glBlendColor glad_glBlendColor\ntypedef void (APIENTRYP PFNGLBLENDEQUATIONPROC)(GLenum mode);\nGLAPI PFNGLBLENDEQUATIONPROC glad_glBlendEquation;\n#define glBlendEquation glad_glBlendEquation\n#endif\n#ifndef GL_VERSION_1_5\n#define GL_VERSION_1_5 1\nGLAPI int GLAD_GL_VERSION_1_5;\ntypedef void (APIENTRYP PFNGLGENQUERIESPROC)(GLsizei n, GLuint *ids);\nGLAPI PFNGLGENQUERIESPROC glad_glGenQueries;\n#define glGenQueries glad_glGenQueries\ntypedef void (APIENTRYP PFNGLDELETEQUERIESPROC)(GLsizei n, const GLuint *ids);\nGLAPI PFNGLDELETEQUERIESPROC glad_glDeleteQueries;\n#define glDeleteQueries glad_glDeleteQueries\ntypedef GLboolean (APIENTRYP PFNGLISQUERYPROC)(GLuint id);\nGLAPI PFNGLISQUERYPROC glad_glIsQuery;\n#define glIsQuery glad_glIsQuery\ntypedef void (APIENTRYP PFNGLBEGINQUERYPROC)(GLenum target, GLuint id);\nGLAPI PFNGLBEGINQUERYPROC glad_glBeginQuery;\n#define glBeginQuery glad_glBeginQuery\ntypedef void (APIENTRYP PFNGLENDQUERYPROC)(GLenum target);\nGLAPI PFNGLENDQUERYPROC glad_glEndQuery;\n#define glEndQuery glad_glEndQuery\ntypedef void (APIENTRYP PFNGLGETQUERYIVPROC)(GLenum target, GLenum pname, GLint *params);\nGLAPI PFNGLGETQUERYIVPROC glad_glGetQueryiv;\n#define glGetQueryiv glad_glGetQueryiv\ntypedef void (APIENTRYP PFNGLGETQUERYOBJECTIVPROC)(GLuint id, GLenum pname, GLint *params);\nGLAPI PFNGLGETQUERYOBJECTIVPROC glad_glGetQueryObjectiv;\n#define glGetQueryObjectiv glad_glGetQueryObjectiv\ntypedef void (APIENTRYP PFNGLGETQUERYOBJECTUIVPROC)(GLuint id, GLenum pname, GLuint *params);\nGLAPI PFNGLGETQUERYOBJECTUIVPROC glad_glGetQueryObjectuiv;\n#define glGetQueryObjectuiv glad_glGetQueryObjectuiv\ntypedef void (APIENTRYP PFNGLBINDBUFFERPROC)(GLenum target, GLuint buffer);\nGLAPI PFNGLBINDBUFFERPROC glad_glBindBuffer;\n#define glBindBuffer glad_glBindBuffer\ntypedef void (APIENTRYP PFNGLDELETEBUFFERSPROC)(GLsizei n, const GLuint *buffers);\nGLAPI PFNGLDELETEBUFFERSPROC glad_glDeleteBuffers;\n#define glDeleteBuffers glad_glDeleteBuffers\ntypedef void (APIENTRYP PFNGLGENBUFFERSPROC)(GLsizei n, GLuint *buffers);\nGLAPI PFNGLGENBUFFERSPROC glad_glGenBuffers;\n#define glGenBuffers glad_glGenBuffers\ntypedef GLboolean (APIENTRYP PFNGLISBUFFERPROC)(GLuint buffer);\nGLAPI PFNGLISBUFFERPROC glad_glIsBuffer;\n#define glIsBuffer glad_glIsBuffer\ntypedef void (APIENTRYP PFNGLBUFFERDATAPROC)(GLenum target, GLsizeiptr size, const void *data, GLenum usage);\nGLAPI PFNGLBUFFERDATAPROC glad_glBufferData;\n#define glBufferData glad_glBufferData\ntypedef void (APIENTRYP PFNGLBUFFERSUBDATAPROC)(GLenum target, GLintptr offset, GLsizeiptr size, const void *data);\nGLAPI PFNGLBUFFERSUBDATAPROC glad_glBufferSubData;\n#define glBufferSubData glad_glBufferSubData\ntypedef void (APIENTRYP PFNGLGETBUFFERSUBDATAPROC)(GLenum target, GLintptr offset, GLsizeiptr size, void *data);\nGLAPI PFNGLGETBUFFERSUBDATAPROC glad_glGetBufferSubData;\n#define glGetBufferSubData glad_glGetBufferSubData\ntypedef void * (APIENTRYP PFNGLMAPBUFFERPROC)(GLenum target, GLenum access);\nGLAPI PFNGLMAPBUFFERPROC glad_glMapBuffer;\n#define glMapBuffer glad_glMapBuffer\ntypedef GLboolean (APIENTRYP PFNGLUNMAPBUFFERPROC)(GLenum target);\nGLAPI PFNGLUNMAPBUFFERPROC glad_glUnmapBuffer;\n#define glUnmapBuffer glad_glUnmapBuffer\ntypedef void (APIENTRYP PFNGLGETBUFFERPARAMETERIVPROC)(GLenum target, GLenum pname, GLint *params);\nGLAPI PFNGLGETBUFFERPARAMETERIVPROC glad_glGetBufferParameteriv;\n#define glGetBufferParameteriv glad_glGetBufferParameteriv\ntypedef void (APIENTRYP PFNGLGETBUFFERPOINTERVPROC)(GLenum target, GLenum pname, void **params);\nGLAPI PFNGLGETBUFFERPOINTERVPROC glad_glGetBufferPointerv;\n#define glGetBufferPointerv glad_glGetBufferPointerv\n#endif\n#ifndef GL_VERSION_2_0\n#define GL_VERSION_2_0 1\nGLAPI int GLAD_GL_VERSION_2_0;\ntypedef void (APIENTRYP PFNGLBLENDEQUATIONSEPARATEPROC)(GLenum modeRGB, GLenum modeAlpha);\nGLAPI PFNGLBLENDEQUATIONSEPARATEPROC glad_glBlendEquationSeparate;\n#define glBlendEquationSeparate glad_glBlendEquationSeparate\ntypedef void (APIENTRYP PFNGLDRAWBUFFERSPROC)(GLsizei n, const GLenum *bufs);\nGLAPI PFNGLDRAWBUFFERSPROC glad_glDrawBuffers;\n#define glDrawBuffers glad_glDrawBuffers\ntypedef void (APIENTRYP PFNGLSTENCILOPSEPARATEPROC)(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);\nGLAPI PFNGLSTENCILOPSEPARATEPROC glad_glStencilOpSeparate;\n#define glStencilOpSeparate glad_glStencilOpSeparate\ntypedef void (APIENTRYP PFNGLSTENCILFUNCSEPARATEPROC)(GLenum face, GLenum func, GLint ref, GLuint mask);\nGLAPI PFNGLSTENCILFUNCSEPARATEPROC glad_glStencilFuncSeparate;\n#define glStencilFuncSeparate glad_glStencilFuncSeparate\ntypedef void (APIENTRYP PFNGLSTENCILMASKSEPARATEPROC)(GLenum face, GLuint mask);\nGLAPI PFNGLSTENCILMASKSEPARATEPROC glad_glStencilMaskSeparate;\n#define glStencilMaskSeparate glad_glStencilMaskSeparate\ntypedef void (APIENTRYP PFNGLATTACHSHADERPROC)(GLuint program, GLuint shader);\nGLAPI PFNGLATTACHSHADERPROC glad_glAttachShader;\n#define glAttachShader glad_glAttachShader\ntypedef void (APIENTRYP PFNGLBINDATTRIBLOCATIONPROC)(GLuint program, GLuint index, const GLchar *name);\nGLAPI PFNGLBINDATTRIBLOCATIONPROC glad_glBindAttribLocation;\n#define glBindAttribLocation glad_glBindAttribLocation\ntypedef void (APIENTRYP PFNGLCOMPILESHADERPROC)(GLuint shader);\nGLAPI PFNGLCOMPILESHADERPROC glad_glCompileShader;\n#define glCompileShader glad_glCompileShader\ntypedef GLuint (APIENTRYP PFNGLCREATEPROGRAMPROC)();\nGLAPI PFNGLCREATEPROGRAMPROC glad_glCreateProgram;\n#define glCreateProgram glad_glCreateProgram\ntypedef GLuint (APIENTRYP PFNGLCREATESHADERPROC)(GLenum type);\nGLAPI PFNGLCREATESHADERPROC glad_glCreateShader;\n#define glCreateShader glad_glCreateShader\ntypedef void (APIENTRYP PFNGLDELETEPROGRAMPROC)(GLuint program);\nGLAPI PFNGLDELETEPROGRAMPROC glad_glDeleteProgram;\n#define glDeleteProgram glad_glDeleteProgram\ntypedef void (APIENTRYP PFNGLDELETESHADERPROC)(GLuint shader);\nGLAPI PFNGLDELETESHADERPROC glad_glDeleteShader;\n#define glDeleteShader glad_glDeleteShader\ntypedef void (APIENTRYP PFNGLDETACHSHADERPROC)(GLuint program, GLuint shader);\nGLAPI PFNGLDETACHSHADERPROC glad_glDetachShader;\n#define glDetachShader glad_glDetachShader\ntypedef void (APIENTRYP PFNGLDISABLEVERTEXATTRIBARRAYPROC)(GLuint index);\nGLAPI PFNGLDISABLEVERTEXATTRIBARRAYPROC glad_glDisableVertexAttribArray;\n#define glDisableVertexAttribArray glad_glDisableVertexAttribArray\ntypedef void (APIENTRYP PFNGLENABLEVERTEXATTRIBARRAYPROC)(GLuint index);\nGLAPI PFNGLENABLEVERTEXATTRIBARRAYPROC glad_glEnableVertexAttribArray;\n#define glEnableVertexAttribArray glad_glEnableVertexAttribArray\ntypedef void (APIENTRYP PFNGLGETACTIVEATTRIBPROC)(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);\nGLAPI PFNGLGETACTIVEATTRIBPROC glad_glGetActiveAttrib;\n#define glGetActiveAttrib glad_glGetActiveAttrib\ntypedef void (APIENTRYP PFNGLGETACTIVEUNIFORMPROC)(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);\nGLAPI PFNGLGETACTIVEUNIFORMPROC glad_glGetActiveUniform;\n#define glGetActiveUniform glad_glGetActiveUniform\ntypedef void (APIENTRYP PFNGLGETATTACHEDSHADERSPROC)(GLuint program, GLsizei maxCount, GLsizei *count, GLuint *shaders);\nGLAPI PFNGLGETATTACHEDSHADERSPROC glad_glGetAttachedShaders;\n#define glGetAttachedShaders glad_glGetAttachedShaders\ntypedef GLint (APIENTRYP PFNGLGETATTRIBLOCATIONPROC)(GLuint program, const GLchar *name);\nGLAPI PFNGLGETATTRIBLOCATIONPROC glad_glGetAttribLocation;\n#define glGetAttribLocation glad_glGetAttribLocation\ntypedef void (APIENTRYP PFNGLGETPROGRAMIVPROC)(GLuint program, GLenum pname, GLint *params);\nGLAPI PFNGLGETPROGRAMIVPROC glad_glGetProgramiv;\n#define glGetProgramiv glad_glGetProgramiv\ntypedef void (APIENTRYP PFNGLGETPROGRAMINFOLOGPROC)(GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog);\nGLAPI PFNGLGETPROGRAMINFOLOGPROC glad_glGetProgramInfoLog;\n#define glGetProgramInfoLog glad_glGetProgramInfoLog\ntypedef void (APIENTRYP PFNGLGETSHADERIVPROC)(GLuint shader, GLenum pname, GLint *params);\nGLAPI PFNGLGETSHADERIVPROC glad_glGetShaderiv;\n#define glGetShaderiv glad_glGetShaderiv\ntypedef void (APIENTRYP PFNGLGETSHADERINFOLOGPROC)(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog);\nGLAPI PFNGLGETSHADERINFOLOGPROC glad_glGetShaderInfoLog;\n#define glGetShaderInfoLog glad_glGetShaderInfoLog\ntypedef void (APIENTRYP PFNGLGETSHADERSOURCEPROC)(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source);\nGLAPI PFNGLGETSHADERSOURCEPROC glad_glGetShaderSource;\n#define glGetShaderSource glad_glGetShaderSource\ntypedef GLint (APIENTRYP PFNGLGETUNIFORMLOCATIONPROC)(GLuint program, const GLchar *name);\nGLAPI PFNGLGETUNIFORMLOCATIONPROC glad_glGetUniformLocation;\n#define glGetUniformLocation glad_glGetUniformLocation\ntypedef void (APIENTRYP PFNGLGETUNIFORMFVPROC)(GLuint program, GLint location, GLfloat *params);\nGLAPI PFNGLGETUNIFORMFVPROC glad_glGetUniformfv;\n#define glGetUniformfv glad_glGetUniformfv\ntypedef void (APIENTRYP PFNGLGETUNIFORMIVPROC)(GLuint program, GLint location, GLint *params);\nGLAPI PFNGLGETUNIFORMIVPROC glad_glGetUniformiv;\n#define glGetUniformiv glad_glGetUniformiv\ntypedef void (APIENTRYP PFNGLGETVERTEXATTRIBDVPROC)(GLuint index, GLenum pname, GLdouble *params);\nGLAPI PFNGLGETVERTEXATTRIBDVPROC glad_glGetVertexAttribdv;\n#define glGetVertexAttribdv glad_glGetVertexAttribdv\ntypedef void (APIENTRYP PFNGLGETVERTEXATTRIBFVPROC)(GLuint index, GLenum pname, GLfloat *params);\nGLAPI PFNGLGETVERTEXATTRIBFVPROC glad_glGetVertexAttribfv;\n#define glGetVertexAttribfv glad_glGetVertexAttribfv\ntypedef void (APIENTRYP PFNGLGETVERTEXATTRIBIVPROC)(GLuint index, GLenum pname, GLint *params);\nGLAPI PFNGLGETVERTEXATTRIBIVPROC glad_glGetVertexAttribiv;\n#define glGetVertexAttribiv glad_glGetVertexAttribiv\ntypedef void (APIENTRYP PFNGLGETVERTEXATTRIBPOINTERVPROC)(GLuint index, GLenum pname, void **pointer);\nGLAPI PFNGLGETVERTEXATTRIBPOINTERVPROC glad_glGetVertexAttribPointerv;\n#define glGetVertexAttribPointerv glad_glGetVertexAttribPointerv\ntypedef GLboolean (APIENTRYP PFNGLISPROGRAMPROC)(GLuint program);\nGLAPI PFNGLISPROGRAMPROC glad_glIsProgram;\n#define glIsProgram glad_glIsProgram\ntypedef GLboolean (APIENTRYP PFNGLISSHADERPROC)(GLuint shader);\nGLAPI PFNGLISSHADERPROC glad_glIsShader;\n#define glIsShader glad_glIsShader\ntypedef void (APIENTRYP PFNGLLINKPROGRAMPROC)(GLuint program);\nGLAPI PFNGLLINKPROGRAMPROC glad_glLinkProgram;\n#define glLinkProgram glad_glLinkProgram\ntypedef void (APIENTRYP PFNGLSHADERSOURCEPROC)(GLuint shader, GLsizei count, const GLchar *const*string, const GLint *length);\nGLAPI PFNGLSHADERSOURCEPROC glad_glShaderSource;\n#define glShaderSource glad_glShaderSource\ntypedef void (APIENTRYP PFNGLUSEPROGRAMPROC)(GLuint program);\nGLAPI PFNGLUSEPROGRAMPROC glad_glUseProgram;\n#define glUseProgram glad_glUseProgram\ntypedef void (APIENTRYP PFNGLUNIFORM1FPROC)(GLint location, GLfloat v0);\nGLAPI PFNGLUNIFORM1FPROC glad_glUniform1f;\n#define glUniform1f glad_glUniform1f\ntypedef void (APIENTRYP PFNGLUNIFORM2FPROC)(GLint location, GLfloat v0, GLfloat v1);\nGLAPI PFNGLUNIFORM2FPROC glad_glUniform2f;\n#define glUniform2f glad_glUniform2f\ntypedef void (APIENTRYP PFNGLUNIFORM3FPROC)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2);\nGLAPI PFNGLUNIFORM3FPROC glad_glUniform3f;\n#define glUniform3f glad_glUniform3f\ntypedef void (APIENTRYP PFNGLUNIFORM4FPROC)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);\nGLAPI PFNGLUNIFORM4FPROC glad_glUniform4f;\n#define glUniform4f glad_glUniform4f\ntypedef void (APIENTRYP PFNGLUNIFORM1IPROC)(GLint location, GLint v0);\nGLAPI PFNGLUNIFORM1IPROC glad_glUniform1i;\n#define glUniform1i glad_glUniform1i\ntypedef void (APIENTRYP PFNGLUNIFORM2IPROC)(GLint location, GLint v0, GLint v1);\nGLAPI PFNGLUNIFORM2IPROC glad_glUniform2i;\n#define glUniform2i glad_glUniform2i\ntypedef void (APIENTRYP PFNGLUNIFORM3IPROC)(GLint location, GLint v0, GLint v1, GLint v2);\nGLAPI PFNGLUNIFORM3IPROC glad_glUniform3i;\n#define glUniform3i glad_glUniform3i\ntypedef void (APIENTRYP PFNGLUNIFORM4IPROC)(GLint location, GLint v0, GLint v1, GLint v2, GLint v3);\nGLAPI PFNGLUNIFORM4IPROC glad_glUniform4i;\n#define glUniform4i glad_glUniform4i\ntypedef void (APIENTRYP PFNGLUNIFORM1FVPROC)(GLint location, GLsizei count, const GLfloat *value);\nGLAPI PFNGLUNIFORM1FVPROC glad_glUniform1fv;\n#define glUniform1fv glad_glUniform1fv\ntypedef void (APIENTRYP PFNGLUNIFORM2FVPROC)(GLint location, GLsizei count, const GLfloat *value);\nGLAPI PFNGLUNIFORM2FVPROC glad_glUniform2fv;\n#define glUniform2fv glad_glUniform2fv\ntypedef void (APIENTRYP PFNGLUNIFORM3FVPROC)(GLint location, GLsizei count, const GLfloat *value);\nGLAPI PFNGLUNIFORM3FVPROC glad_glUniform3fv;\n#define glUniform3fv glad_glUniform3fv\ntypedef void (APIENTRYP PFNGLUNIFORM4FVPROC)(GLint location, GLsizei count, const GLfloat *value);\nGLAPI PFNGLUNIFORM4FVPROC glad_glUniform4fv;\n#define glUniform4fv glad_glUniform4fv\ntypedef void (APIENTRYP PFNGLUNIFORM1IVPROC)(GLint location, GLsizei count, const GLint *value);\nGLAPI PFNGLUNIFORM1IVPROC glad_glUniform1iv;\n#define glUniform1iv glad_glUniform1iv\ntypedef void (APIENTRYP PFNGLUNIFORM2IVPROC)(GLint location, GLsizei count, const GLint *value);\nGLAPI PFNGLUNIFORM2IVPROC glad_glUniform2iv;\n#define glUniform2iv glad_glUniform2iv\ntypedef void (APIENTRYP PFNGLUNIFORM3IVPROC)(GLint location, GLsizei count, const GLint *value);\nGLAPI PFNGLUNIFORM3IVPROC glad_glUniform3iv;\n#define glUniform3iv glad_glUniform3iv\ntypedef void (APIENTRYP PFNGLUNIFORM4IVPROC)(GLint location, GLsizei count, const GLint *value);\nGLAPI PFNGLUNIFORM4IVPROC glad_glUniform4iv;\n#define glUniform4iv glad_glUniform4iv\ntypedef void (APIENTRYP PFNGLUNIFORMMATRIX2FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nGLAPI PFNGLUNIFORMMATRIX2FVPROC glad_glUniformMatrix2fv;\n#define glUniformMatrix2fv glad_glUniformMatrix2fv\ntypedef void (APIENTRYP PFNGLUNIFORMMATRIX3FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nGLAPI PFNGLUNIFORMMATRIX3FVPROC glad_glUniformMatrix3fv;\n#define glUniformMatrix3fv glad_glUniformMatrix3fv\ntypedef void (APIENTRYP PFNGLUNIFORMMATRIX4FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nGLAPI PFNGLUNIFORMMATRIX4FVPROC glad_glUniformMatrix4fv;\n#define glUniformMatrix4fv glad_glUniformMatrix4fv\ntypedef void (APIENTRYP PFNGLVALIDATEPROGRAMPROC)(GLuint program);\nGLAPI PFNGLVALIDATEPROGRAMPROC glad_glValidateProgram;\n#define glValidateProgram glad_glValidateProgram\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB1DPROC)(GLuint index, GLdouble x);\nGLAPI PFNGLVERTEXATTRIB1DPROC glad_glVertexAttrib1d;\n#define glVertexAttrib1d glad_glVertexAttrib1d\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB1DVPROC)(GLuint index, const GLdouble *v);\nGLAPI PFNGLVERTEXATTRIB1DVPROC glad_glVertexAttrib1dv;\n#define glVertexAttrib1dv glad_glVertexAttrib1dv\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB1FPROC)(GLuint index, GLfloat x);\nGLAPI PFNGLVERTEXATTRIB1FPROC glad_glVertexAttrib1f;\n#define glVertexAttrib1f glad_glVertexAttrib1f\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB1FVPROC)(GLuint index, const GLfloat *v);\nGLAPI PFNGLVERTEXATTRIB1FVPROC glad_glVertexAttrib1fv;\n#define glVertexAttrib1fv glad_glVertexAttrib1fv\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB1SPROC)(GLuint index, GLshort x);\nGLAPI PFNGLVERTEXATTRIB1SPROC glad_glVertexAttrib1s;\n#define glVertexAttrib1s glad_glVertexAttrib1s\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB1SVPROC)(GLuint index, const GLshort *v);\nGLAPI PFNGLVERTEXATTRIB1SVPROC glad_glVertexAttrib1sv;\n#define glVertexAttrib1sv glad_glVertexAttrib1sv\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB2DPROC)(GLuint index, GLdouble x, GLdouble y);\nGLAPI PFNGLVERTEXATTRIB2DPROC glad_glVertexAttrib2d;\n#define glVertexAttrib2d glad_glVertexAttrib2d\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB2DVPROC)(GLuint index, const GLdouble *v);\nGLAPI PFNGLVERTEXATTRIB2DVPROC glad_glVertexAttrib2dv;\n#define glVertexAttrib2dv glad_glVertexAttrib2dv\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB2FPROC)(GLuint index, GLfloat x, GLfloat y);\nGLAPI PFNGLVERTEXATTRIB2FPROC glad_glVertexAttrib2f;\n#define glVertexAttrib2f glad_glVertexAttrib2f\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB2FVPROC)(GLuint index, const GLfloat *v);\nGLAPI PFNGLVERTEXATTRIB2FVPROC glad_glVertexAttrib2fv;\n#define glVertexAttrib2fv glad_glVertexAttrib2fv\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB2SPROC)(GLuint index, GLshort x, GLshort y);\nGLAPI PFNGLVERTEXATTRIB2SPROC glad_glVertexAttrib2s;\n#define glVertexAttrib2s glad_glVertexAttrib2s\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB2SVPROC)(GLuint index, const GLshort *v);\nGLAPI PFNGLVERTEXATTRIB2SVPROC glad_glVertexAttrib2sv;\n#define glVertexAttrib2sv glad_glVertexAttrib2sv\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB3DPROC)(GLuint index, GLdouble x, GLdouble y, GLdouble z);\nGLAPI PFNGLVERTEXATTRIB3DPROC glad_glVertexAttrib3d;\n#define glVertexAttrib3d glad_glVertexAttrib3d\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB3DVPROC)(GLuint index, const GLdouble *v);\nGLAPI PFNGLVERTEXATTRIB3DVPROC glad_glVertexAttrib3dv;\n#define glVertexAttrib3dv glad_glVertexAttrib3dv\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB3FPROC)(GLuint index, GLfloat x, GLfloat y, GLfloat z);\nGLAPI PFNGLVERTEXATTRIB3FPROC glad_glVertexAttrib3f;\n#define glVertexAttrib3f glad_glVertexAttrib3f\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB3FVPROC)(GLuint index, const GLfloat *v);\nGLAPI PFNGLVERTEXATTRIB3FVPROC glad_glVertexAttrib3fv;\n#define glVertexAttrib3fv glad_glVertexAttrib3fv\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB3SPROC)(GLuint index, GLshort x, GLshort y, GLshort z);\nGLAPI PFNGLVERTEXATTRIB3SPROC glad_glVertexAttrib3s;\n#define glVertexAttrib3s glad_glVertexAttrib3s\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB3SVPROC)(GLuint index, const GLshort *v);\nGLAPI PFNGLVERTEXATTRIB3SVPROC glad_glVertexAttrib3sv;\n#define glVertexAttrib3sv glad_glVertexAttrib3sv\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4NBVPROC)(GLuint index, const GLbyte *v);\nGLAPI PFNGLVERTEXATTRIB4NBVPROC glad_glVertexAttrib4Nbv;\n#define glVertexAttrib4Nbv glad_glVertexAttrib4Nbv\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4NIVPROC)(GLuint index, const GLint *v);\nGLAPI PFNGLVERTEXATTRIB4NIVPROC glad_glVertexAttrib4Niv;\n#define glVertexAttrib4Niv glad_glVertexAttrib4Niv\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4NSVPROC)(GLuint index, const GLshort *v);\nGLAPI PFNGLVERTEXATTRIB4NSVPROC glad_glVertexAttrib4Nsv;\n#define glVertexAttrib4Nsv glad_glVertexAttrib4Nsv\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4NUBPROC)(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);\nGLAPI PFNGLVERTEXATTRIB4NUBPROC glad_glVertexAttrib4Nub;\n#define glVertexAttrib4Nub glad_glVertexAttrib4Nub\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4NUBVPROC)(GLuint index, const GLubyte *v);\nGLAPI PFNGLVERTEXATTRIB4NUBVPROC glad_glVertexAttrib4Nubv;\n#define glVertexAttrib4Nubv glad_glVertexAttrib4Nubv\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4NUIVPROC)(GLuint index, const GLuint *v);\nGLAPI PFNGLVERTEXATTRIB4NUIVPROC glad_glVertexAttrib4Nuiv;\n#define glVertexAttrib4Nuiv glad_glVertexAttrib4Nuiv\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4NUSVPROC)(GLuint index, const GLushort *v);\nGLAPI PFNGLVERTEXATTRIB4NUSVPROC glad_glVertexAttrib4Nusv;\n#define glVertexAttrib4Nusv glad_glVertexAttrib4Nusv\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4BVPROC)(GLuint index, const GLbyte *v);\nGLAPI PFNGLVERTEXATTRIB4BVPROC glad_glVertexAttrib4bv;\n#define glVertexAttrib4bv glad_glVertexAttrib4bv\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4DPROC)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nGLAPI PFNGLVERTEXATTRIB4DPROC glad_glVertexAttrib4d;\n#define glVertexAttrib4d glad_glVertexAttrib4d\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4DVPROC)(GLuint index, const GLdouble *v);\nGLAPI PFNGLVERTEXATTRIB4DVPROC glad_glVertexAttrib4dv;\n#define glVertexAttrib4dv glad_glVertexAttrib4dv\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4FPROC)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nGLAPI PFNGLVERTEXATTRIB4FPROC glad_glVertexAttrib4f;\n#define glVertexAttrib4f glad_glVertexAttrib4f\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4FVPROC)(GLuint index, const GLfloat *v);\nGLAPI PFNGLVERTEXATTRIB4FVPROC glad_glVertexAttrib4fv;\n#define glVertexAttrib4fv glad_glVertexAttrib4fv\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4IVPROC)(GLuint index, const GLint *v);\nGLAPI PFNGLVERTEXATTRIB4IVPROC glad_glVertexAttrib4iv;\n#define glVertexAttrib4iv glad_glVertexAttrib4iv\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4SPROC)(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);\nGLAPI PFNGLVERTEXATTRIB4SPROC glad_glVertexAttrib4s;\n#define glVertexAttrib4s glad_glVertexAttrib4s\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4SVPROC)(GLuint index, const GLshort *v);\nGLAPI PFNGLVERTEXATTRIB4SVPROC glad_glVertexAttrib4sv;\n#define glVertexAttrib4sv glad_glVertexAttrib4sv\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4UBVPROC)(GLuint index, const GLubyte *v);\nGLAPI PFNGLVERTEXATTRIB4UBVPROC glad_glVertexAttrib4ubv;\n#define glVertexAttrib4ubv glad_glVertexAttrib4ubv\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4UIVPROC)(GLuint index, const GLuint *v);\nGLAPI PFNGLVERTEXATTRIB4UIVPROC glad_glVertexAttrib4uiv;\n#define glVertexAttrib4uiv glad_glVertexAttrib4uiv\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4USVPROC)(GLuint index, const GLushort *v);\nGLAPI PFNGLVERTEXATTRIB4USVPROC glad_glVertexAttrib4usv;\n#define glVertexAttrib4usv glad_glVertexAttrib4usv\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBPOINTERPROC)(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void *pointer);\nGLAPI PFNGLVERTEXATTRIBPOINTERPROC glad_glVertexAttribPointer;\n#define glVertexAttribPointer glad_glVertexAttribPointer\n#endif\n#ifndef GL_VERSION_2_1\n#define GL_VERSION_2_1 1\nGLAPI int GLAD_GL_VERSION_2_1;\ntypedef void (APIENTRYP PFNGLUNIFORMMATRIX2X3FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nGLAPI PFNGLUNIFORMMATRIX2X3FVPROC glad_glUniformMatrix2x3fv;\n#define glUniformMatrix2x3fv glad_glUniformMatrix2x3fv\ntypedef void (APIENTRYP PFNGLUNIFORMMATRIX3X2FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nGLAPI PFNGLUNIFORMMATRIX3X2FVPROC glad_glUniformMatrix3x2fv;\n#define glUniformMatrix3x2fv glad_glUniformMatrix3x2fv\ntypedef void (APIENTRYP PFNGLUNIFORMMATRIX2X4FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nGLAPI PFNGLUNIFORMMATRIX2X4FVPROC glad_glUniformMatrix2x4fv;\n#define glUniformMatrix2x4fv glad_glUniformMatrix2x4fv\ntypedef void (APIENTRYP PFNGLUNIFORMMATRIX4X2FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nGLAPI PFNGLUNIFORMMATRIX4X2FVPROC glad_glUniformMatrix4x2fv;\n#define glUniformMatrix4x2fv glad_glUniformMatrix4x2fv\ntypedef void (APIENTRYP PFNGLUNIFORMMATRIX3X4FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nGLAPI PFNGLUNIFORMMATRIX3X4FVPROC glad_glUniformMatrix3x4fv;\n#define glUniformMatrix3x4fv glad_glUniformMatrix3x4fv\ntypedef void (APIENTRYP PFNGLUNIFORMMATRIX4X3FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nGLAPI PFNGLUNIFORMMATRIX4X3FVPROC glad_glUniformMatrix4x3fv;\n#define glUniformMatrix4x3fv glad_glUniformMatrix4x3fv\n#endif\n#ifndef GL_VERSION_3_0\n#define GL_VERSION_3_0 1\nGLAPI int GLAD_GL_VERSION_3_0;\ntypedef void (APIENTRYP PFNGLCOLORMASKIPROC)(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);\nGLAPI PFNGLCOLORMASKIPROC glad_glColorMaski;\n#define glColorMaski glad_glColorMaski\ntypedef void (APIENTRYP PFNGLGETBOOLEANI_VPROC)(GLenum target, GLuint index, GLboolean *data);\nGLAPI PFNGLGETBOOLEANI_VPROC glad_glGetBooleani_v;\n#define glGetBooleani_v glad_glGetBooleani_v\ntypedef void (APIENTRYP PFNGLGETINTEGERI_VPROC)(GLenum target, GLuint index, GLint *data);\nGLAPI PFNGLGETINTEGERI_VPROC glad_glGetIntegeri_v;\n#define glGetIntegeri_v glad_glGetIntegeri_v\ntypedef void (APIENTRYP PFNGLENABLEIPROC)(GLenum target, GLuint index);\nGLAPI PFNGLENABLEIPROC glad_glEnablei;\n#define glEnablei glad_glEnablei\ntypedef void (APIENTRYP PFNGLDISABLEIPROC)(GLenum target, GLuint index);\nGLAPI PFNGLDISABLEIPROC glad_glDisablei;\n#define glDisablei glad_glDisablei\ntypedef GLboolean (APIENTRYP PFNGLISENABLEDIPROC)(GLenum target, GLuint index);\nGLAPI PFNGLISENABLEDIPROC glad_glIsEnabledi;\n#define glIsEnabledi glad_glIsEnabledi\ntypedef void (APIENTRYP PFNGLBEGINTRANSFORMFEEDBACKPROC)(GLenum primitiveMode);\nGLAPI PFNGLBEGINTRANSFORMFEEDBACKPROC glad_glBeginTransformFeedback;\n#define glBeginTransformFeedback glad_glBeginTransformFeedback\ntypedef void (APIENTRYP PFNGLENDTRANSFORMFEEDBACKPROC)();\nGLAPI PFNGLENDTRANSFORMFEEDBACKPROC glad_glEndTransformFeedback;\n#define glEndTransformFeedback glad_glEndTransformFeedback\ntypedef void (APIENTRYP PFNGLBINDBUFFERRANGEPROC)(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);\nGLAPI PFNGLBINDBUFFERRANGEPROC glad_glBindBufferRange;\n#define glBindBufferRange glad_glBindBufferRange\ntypedef void (APIENTRYP PFNGLBINDBUFFERBASEPROC)(GLenum target, GLuint index, GLuint buffer);\nGLAPI PFNGLBINDBUFFERBASEPROC glad_glBindBufferBase;\n#define glBindBufferBase glad_glBindBufferBase\ntypedef void (APIENTRYP PFNGLTRANSFORMFEEDBACKVARYINGSPROC)(GLuint program, GLsizei count, const GLchar *const*varyings, GLenum bufferMode);\nGLAPI PFNGLTRANSFORMFEEDBACKVARYINGSPROC glad_glTransformFeedbackVaryings;\n#define glTransformFeedbackVaryings glad_glTransformFeedbackVaryings\ntypedef void (APIENTRYP PFNGLGETTRANSFORMFEEDBACKVARYINGPROC)(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);\nGLAPI PFNGLGETTRANSFORMFEEDBACKVARYINGPROC glad_glGetTransformFeedbackVarying;\n#define glGetTransformFeedbackVarying glad_glGetTransformFeedbackVarying\ntypedef void (APIENTRYP PFNGLCLAMPCOLORPROC)(GLenum target, GLenum clamp);\nGLAPI PFNGLCLAMPCOLORPROC glad_glClampColor;\n#define glClampColor glad_glClampColor\ntypedef void (APIENTRYP PFNGLBEGINCONDITIONALRENDERPROC)(GLuint id, GLenum mode);\nGLAPI PFNGLBEGINCONDITIONALRENDERPROC glad_glBeginConditionalRender;\n#define glBeginConditionalRender glad_glBeginConditionalRender\ntypedef void (APIENTRYP PFNGLENDCONDITIONALRENDERPROC)();\nGLAPI PFNGLENDCONDITIONALRENDERPROC glad_glEndConditionalRender;\n#define glEndConditionalRender glad_glEndConditionalRender\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBIPOINTERPROC)(GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer);\nGLAPI PFNGLVERTEXATTRIBIPOINTERPROC glad_glVertexAttribIPointer;\n#define glVertexAttribIPointer glad_glVertexAttribIPointer\ntypedef void (APIENTRYP PFNGLGETVERTEXATTRIBIIVPROC)(GLuint index, GLenum pname, GLint *params);\nGLAPI PFNGLGETVERTEXATTRIBIIVPROC glad_glGetVertexAttribIiv;\n#define glGetVertexAttribIiv glad_glGetVertexAttribIiv\ntypedef void (APIENTRYP PFNGLGETVERTEXATTRIBIUIVPROC)(GLuint index, GLenum pname, GLuint *params);\nGLAPI PFNGLGETVERTEXATTRIBIUIVPROC glad_glGetVertexAttribIuiv;\n#define glGetVertexAttribIuiv glad_glGetVertexAttribIuiv\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBI1IPROC)(GLuint index, GLint x);\nGLAPI PFNGLVERTEXATTRIBI1IPROC glad_glVertexAttribI1i;\n#define glVertexAttribI1i glad_glVertexAttribI1i\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBI2IPROC)(GLuint index, GLint x, GLint y);\nGLAPI PFNGLVERTEXATTRIBI2IPROC glad_glVertexAttribI2i;\n#define glVertexAttribI2i glad_glVertexAttribI2i\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBI3IPROC)(GLuint index, GLint x, GLint y, GLint z);\nGLAPI PFNGLVERTEXATTRIBI3IPROC glad_glVertexAttribI3i;\n#define glVertexAttribI3i glad_glVertexAttribI3i\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBI4IPROC)(GLuint index, GLint x, GLint y, GLint z, GLint w);\nGLAPI PFNGLVERTEXATTRIBI4IPROC glad_glVertexAttribI4i;\n#define glVertexAttribI4i glad_glVertexAttribI4i\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBI1UIPROC)(GLuint index, GLuint x);\nGLAPI PFNGLVERTEXATTRIBI1UIPROC glad_glVertexAttribI1ui;\n#define glVertexAttribI1ui glad_glVertexAttribI1ui\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBI2UIPROC)(GLuint index, GLuint x, GLuint y);\nGLAPI PFNGLVERTEXATTRIBI2UIPROC glad_glVertexAttribI2ui;\n#define glVertexAttribI2ui glad_glVertexAttribI2ui\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBI3UIPROC)(GLuint index, GLuint x, GLuint y, GLuint z);\nGLAPI PFNGLVERTEXATTRIBI3UIPROC glad_glVertexAttribI3ui;\n#define glVertexAttribI3ui glad_glVertexAttribI3ui\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBI4UIPROC)(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);\nGLAPI PFNGLVERTEXATTRIBI4UIPROC glad_glVertexAttribI4ui;\n#define glVertexAttribI4ui glad_glVertexAttribI4ui\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBI1IVPROC)(GLuint index, const GLint *v);\nGLAPI PFNGLVERTEXATTRIBI1IVPROC glad_glVertexAttribI1iv;\n#define glVertexAttribI1iv glad_glVertexAttribI1iv\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBI2IVPROC)(GLuint index, const GLint *v);\nGLAPI PFNGLVERTEXATTRIBI2IVPROC glad_glVertexAttribI2iv;\n#define glVertexAttribI2iv glad_glVertexAttribI2iv\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBI3IVPROC)(GLuint index, const GLint *v);\nGLAPI PFNGLVERTEXATTRIBI3IVPROC glad_glVertexAttribI3iv;\n#define glVertexAttribI3iv glad_glVertexAttribI3iv\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBI4IVPROC)(GLuint index, const GLint *v);\nGLAPI PFNGLVERTEXATTRIBI4IVPROC glad_glVertexAttribI4iv;\n#define glVertexAttribI4iv glad_glVertexAttribI4iv\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBI1UIVPROC)(GLuint index, const GLuint *v);\nGLAPI PFNGLVERTEXATTRIBI1UIVPROC glad_glVertexAttribI1uiv;\n#define glVertexAttribI1uiv glad_glVertexAttribI1uiv\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBI2UIVPROC)(GLuint index, const GLuint *v);\nGLAPI PFNGLVERTEXATTRIBI2UIVPROC glad_glVertexAttribI2uiv;\n#define glVertexAttribI2uiv glad_glVertexAttribI2uiv\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBI3UIVPROC)(GLuint index, const GLuint *v);\nGLAPI PFNGLVERTEXATTRIBI3UIVPROC glad_glVertexAttribI3uiv;\n#define glVertexAttribI3uiv glad_glVertexAttribI3uiv\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBI4UIVPROC)(GLuint index, const GLuint *v);\nGLAPI PFNGLVERTEXATTRIBI4UIVPROC glad_glVertexAttribI4uiv;\n#define glVertexAttribI4uiv glad_glVertexAttribI4uiv\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBI4BVPROC)(GLuint index, const GLbyte *v);\nGLAPI PFNGLVERTEXATTRIBI4BVPROC glad_glVertexAttribI4bv;\n#define glVertexAttribI4bv glad_glVertexAttribI4bv\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBI4SVPROC)(GLuint index, const GLshort *v);\nGLAPI PFNGLVERTEXATTRIBI4SVPROC glad_glVertexAttribI4sv;\n#define glVertexAttribI4sv glad_glVertexAttribI4sv\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBI4UBVPROC)(GLuint index, const GLubyte *v);\nGLAPI PFNGLVERTEXATTRIBI4UBVPROC glad_glVertexAttribI4ubv;\n#define glVertexAttribI4ubv glad_glVertexAttribI4ubv\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBI4USVPROC)(GLuint index, const GLushort *v);\nGLAPI PFNGLVERTEXATTRIBI4USVPROC glad_glVertexAttribI4usv;\n#define glVertexAttribI4usv glad_glVertexAttribI4usv\ntypedef void (APIENTRYP PFNGLGETUNIFORMUIVPROC)(GLuint program, GLint location, GLuint *params);\nGLAPI PFNGLGETUNIFORMUIVPROC glad_glGetUniformuiv;\n#define glGetUniformuiv glad_glGetUniformuiv\ntypedef void (APIENTRYP PFNGLBINDFRAGDATALOCATIONPROC)(GLuint program, GLuint color, const GLchar *name);\nGLAPI PFNGLBINDFRAGDATALOCATIONPROC glad_glBindFragDataLocation;\n#define glBindFragDataLocation glad_glBindFragDataLocation\ntypedef GLint (APIENTRYP PFNGLGETFRAGDATALOCATIONPROC)(GLuint program, const GLchar *name);\nGLAPI PFNGLGETFRAGDATALOCATIONPROC glad_glGetFragDataLocation;\n#define glGetFragDataLocation glad_glGetFragDataLocation\ntypedef void (APIENTRYP PFNGLUNIFORM1UIPROC)(GLint location, GLuint v0);\nGLAPI PFNGLUNIFORM1UIPROC glad_glUniform1ui;\n#define glUniform1ui glad_glUniform1ui\ntypedef void (APIENTRYP PFNGLUNIFORM2UIPROC)(GLint location, GLuint v0, GLuint v1);\nGLAPI PFNGLUNIFORM2UIPROC glad_glUniform2ui;\n#define glUniform2ui glad_glUniform2ui\ntypedef void (APIENTRYP PFNGLUNIFORM3UIPROC)(GLint location, GLuint v0, GLuint v1, GLuint v2);\nGLAPI PFNGLUNIFORM3UIPROC glad_glUniform3ui;\n#define glUniform3ui glad_glUniform3ui\ntypedef void (APIENTRYP PFNGLUNIFORM4UIPROC)(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);\nGLAPI PFNGLUNIFORM4UIPROC glad_glUniform4ui;\n#define glUniform4ui glad_glUniform4ui\ntypedef void (APIENTRYP PFNGLUNIFORM1UIVPROC)(GLint location, GLsizei count, const GLuint *value);\nGLAPI PFNGLUNIFORM1UIVPROC glad_glUniform1uiv;\n#define glUniform1uiv glad_glUniform1uiv\ntypedef void (APIENTRYP PFNGLUNIFORM2UIVPROC)(GLint location, GLsizei count, const GLuint *value);\nGLAPI PFNGLUNIFORM2UIVPROC glad_glUniform2uiv;\n#define glUniform2uiv glad_glUniform2uiv\ntypedef void (APIENTRYP PFNGLUNIFORM3UIVPROC)(GLint location, GLsizei count, const GLuint *value);\nGLAPI PFNGLUNIFORM3UIVPROC glad_glUniform3uiv;\n#define glUniform3uiv glad_glUniform3uiv\ntypedef void (APIENTRYP PFNGLUNIFORM4UIVPROC)(GLint location, GLsizei count, const GLuint *value);\nGLAPI PFNGLUNIFORM4UIVPROC glad_glUniform4uiv;\n#define glUniform4uiv glad_glUniform4uiv\ntypedef void (APIENTRYP PFNGLTEXPARAMETERIIVPROC)(GLenum target, GLenum pname, const GLint *params);\nGLAPI PFNGLTEXPARAMETERIIVPROC glad_glTexParameterIiv;\n#define glTexParameterIiv glad_glTexParameterIiv\ntypedef void (APIENTRYP PFNGLTEXPARAMETERIUIVPROC)(GLenum target, GLenum pname, const GLuint *params);\nGLAPI PFNGLTEXPARAMETERIUIVPROC glad_glTexParameterIuiv;\n#define glTexParameterIuiv glad_glTexParameterIuiv\ntypedef void (APIENTRYP PFNGLGETTEXPARAMETERIIVPROC)(GLenum target, GLenum pname, GLint *params);\nGLAPI PFNGLGETTEXPARAMETERIIVPROC glad_glGetTexParameterIiv;\n#define glGetTexParameterIiv glad_glGetTexParameterIiv\ntypedef void (APIENTRYP PFNGLGETTEXPARAMETERIUIVPROC)(GLenum target, GLenum pname, GLuint *params);\nGLAPI PFNGLGETTEXPARAMETERIUIVPROC glad_glGetTexParameterIuiv;\n#define glGetTexParameterIuiv glad_glGetTexParameterIuiv\ntypedef void (APIENTRYP PFNGLCLEARBUFFERIVPROC)(GLenum buffer, GLint drawbuffer, const GLint *value);\nGLAPI PFNGLCLEARBUFFERIVPROC glad_glClearBufferiv;\n#define glClearBufferiv glad_glClearBufferiv\ntypedef void (APIENTRYP PFNGLCLEARBUFFERUIVPROC)(GLenum buffer, GLint drawbuffer, const GLuint *value);\nGLAPI PFNGLCLEARBUFFERUIVPROC glad_glClearBufferuiv;\n#define glClearBufferuiv glad_glClearBufferuiv\ntypedef void (APIENTRYP PFNGLCLEARBUFFERFVPROC)(GLenum buffer, GLint drawbuffer, const GLfloat *value);\nGLAPI PFNGLCLEARBUFFERFVPROC glad_glClearBufferfv;\n#define glClearBufferfv glad_glClearBufferfv\ntypedef void (APIENTRYP PFNGLCLEARBUFFERFIPROC)(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil);\nGLAPI PFNGLCLEARBUFFERFIPROC glad_glClearBufferfi;\n#define glClearBufferfi glad_glClearBufferfi\ntypedef const GLubyte * (APIENTRYP PFNGLGETSTRINGIPROC)(GLenum name, GLuint index);\nGLAPI PFNGLGETSTRINGIPROC glad_glGetStringi;\n#define glGetStringi glad_glGetStringi\ntypedef GLboolean (APIENTRYP PFNGLISRENDERBUFFERPROC)(GLuint renderbuffer);\nGLAPI PFNGLISRENDERBUFFERPROC glad_glIsRenderbuffer;\n#define glIsRenderbuffer glad_glIsRenderbuffer\ntypedef void (APIENTRYP PFNGLBINDRENDERBUFFERPROC)(GLenum target, GLuint renderbuffer);\nGLAPI PFNGLBINDRENDERBUFFERPROC glad_glBindRenderbuffer;\n#define glBindRenderbuffer glad_glBindRenderbuffer\ntypedef void (APIENTRYP PFNGLDELETERENDERBUFFERSPROC)(GLsizei n, const GLuint *renderbuffers);\nGLAPI PFNGLDELETERENDERBUFFERSPROC glad_glDeleteRenderbuffers;\n#define glDeleteRenderbuffers glad_glDeleteRenderbuffers\ntypedef void (APIENTRYP PFNGLGENRENDERBUFFERSPROC)(GLsizei n, GLuint *renderbuffers);\nGLAPI PFNGLGENRENDERBUFFERSPROC glad_glGenRenderbuffers;\n#define glGenRenderbuffers glad_glGenRenderbuffers\ntypedef void (APIENTRYP PFNGLRENDERBUFFERSTORAGEPROC)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height);\nGLAPI PFNGLRENDERBUFFERSTORAGEPROC glad_glRenderbufferStorage;\n#define glRenderbufferStorage glad_glRenderbufferStorage\ntypedef void (APIENTRYP PFNGLGETRENDERBUFFERPARAMETERIVPROC)(GLenum target, GLenum pname, GLint *params);\nGLAPI PFNGLGETRENDERBUFFERPARAMETERIVPROC glad_glGetRenderbufferParameteriv;\n#define glGetRenderbufferParameteriv glad_glGetRenderbufferParameteriv\ntypedef GLboolean (APIENTRYP PFNGLISFRAMEBUFFERPROC)(GLuint framebuffer);\nGLAPI PFNGLISFRAMEBUFFERPROC glad_glIsFramebuffer;\n#define glIsFramebuffer glad_glIsFramebuffer\ntypedef void (APIENTRYP PFNGLBINDFRAMEBUFFERPROC)(GLenum target, GLuint framebuffer);\nGLAPI PFNGLBINDFRAMEBUFFERPROC glad_glBindFramebuffer;\n#define glBindFramebuffer glad_glBindFramebuffer\ntypedef void (APIENTRYP PFNGLDELETEFRAMEBUFFERSPROC)(GLsizei n, const GLuint *framebuffers);\nGLAPI PFNGLDELETEFRAMEBUFFERSPROC glad_glDeleteFramebuffers;\n#define glDeleteFramebuffers glad_glDeleteFramebuffers\ntypedef void (APIENTRYP PFNGLGENFRAMEBUFFERSPROC)(GLsizei n, GLuint *framebuffers);\nGLAPI PFNGLGENFRAMEBUFFERSPROC glad_glGenFramebuffers;\n#define glGenFramebuffers glad_glGenFramebuffers\ntypedef GLenum (APIENTRYP PFNGLCHECKFRAMEBUFFERSTATUSPROC)(GLenum target);\nGLAPI PFNGLCHECKFRAMEBUFFERSTATUSPROC glad_glCheckFramebufferStatus;\n#define glCheckFramebufferStatus glad_glCheckFramebufferStatus\ntypedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE1DPROC)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);\nGLAPI PFNGLFRAMEBUFFERTEXTURE1DPROC glad_glFramebufferTexture1D;\n#define glFramebufferTexture1D glad_glFramebufferTexture1D\ntypedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DPROC)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);\nGLAPI PFNGLFRAMEBUFFERTEXTURE2DPROC glad_glFramebufferTexture2D;\n#define glFramebufferTexture2D glad_glFramebufferTexture2D\ntypedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DPROC)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);\nGLAPI PFNGLFRAMEBUFFERTEXTURE3DPROC glad_glFramebufferTexture3D;\n#define glFramebufferTexture3D glad_glFramebufferTexture3D\ntypedef void (APIENTRYP PFNGLFRAMEBUFFERRENDERBUFFERPROC)(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);\nGLAPI PFNGLFRAMEBUFFERRENDERBUFFERPROC glad_glFramebufferRenderbuffer;\n#define glFramebufferRenderbuffer glad_glFramebufferRenderbuffer\ntypedef void (APIENTRYP PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC)(GLenum target, GLenum attachment, GLenum pname, GLint *params);\nGLAPI PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC glad_glGetFramebufferAttachmentParameteriv;\n#define glGetFramebufferAttachmentParameteriv glad_glGetFramebufferAttachmentParameteriv\ntypedef void (APIENTRYP PFNGLGENERATEMIPMAPPROC)(GLenum target);\nGLAPI PFNGLGENERATEMIPMAPPROC glad_glGenerateMipmap;\n#define glGenerateMipmap glad_glGenerateMipmap\ntypedef void (APIENTRYP PFNGLBLITFRAMEBUFFERPROC)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);\nGLAPI PFNGLBLITFRAMEBUFFERPROC glad_glBlitFramebuffer;\n#define glBlitFramebuffer glad_glBlitFramebuffer\ntypedef void (APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);\nGLAPI PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC glad_glRenderbufferStorageMultisample;\n#define glRenderbufferStorageMultisample glad_glRenderbufferStorageMultisample\ntypedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURELAYERPROC)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);\nGLAPI PFNGLFRAMEBUFFERTEXTURELAYERPROC glad_glFramebufferTextureLayer;\n#define glFramebufferTextureLayer glad_glFramebufferTextureLayer\ntypedef void * (APIENTRYP PFNGLMAPBUFFERRANGEPROC)(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);\nGLAPI PFNGLMAPBUFFERRANGEPROC glad_glMapBufferRange;\n#define glMapBufferRange glad_glMapBufferRange\ntypedef void (APIENTRYP PFNGLFLUSHMAPPEDBUFFERRANGEPROC)(GLenum target, GLintptr offset, GLsizeiptr length);\nGLAPI PFNGLFLUSHMAPPEDBUFFERRANGEPROC glad_glFlushMappedBufferRange;\n#define glFlushMappedBufferRange glad_glFlushMappedBufferRange\ntypedef void (APIENTRYP PFNGLBINDVERTEXARRAYPROC)(GLuint array);\nGLAPI PFNGLBINDVERTEXARRAYPROC glad_glBindVertexArray;\n#define glBindVertexArray glad_glBindVertexArray\ntypedef void (APIENTRYP PFNGLDELETEVERTEXARRAYSPROC)(GLsizei n, const GLuint *arrays);\nGLAPI PFNGLDELETEVERTEXARRAYSPROC glad_glDeleteVertexArrays;\n#define glDeleteVertexArrays glad_glDeleteVertexArrays\ntypedef void (APIENTRYP PFNGLGENVERTEXARRAYSPROC)(GLsizei n, GLuint *arrays);\nGLAPI PFNGLGENVERTEXARRAYSPROC glad_glGenVertexArrays;\n#define glGenVertexArrays glad_glGenVertexArrays\ntypedef GLboolean (APIENTRYP PFNGLISVERTEXARRAYPROC)(GLuint array);\nGLAPI PFNGLISVERTEXARRAYPROC glad_glIsVertexArray;\n#define glIsVertexArray glad_glIsVertexArray\n#endif\n#ifndef GL_VERSION_3_1\n#define GL_VERSION_3_1 1\nGLAPI int GLAD_GL_VERSION_3_1;\ntypedef void (APIENTRYP PFNGLDRAWARRAYSINSTANCEDPROC)(GLenum mode, GLint first, GLsizei count, GLsizei instancecount);\nGLAPI PFNGLDRAWARRAYSINSTANCEDPROC glad_glDrawArraysInstanced;\n#define glDrawArraysInstanced glad_glDrawArraysInstanced\ntypedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDPROC)(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount);\nGLAPI PFNGLDRAWELEMENTSINSTANCEDPROC glad_glDrawElementsInstanced;\n#define glDrawElementsInstanced glad_glDrawElementsInstanced\ntypedef void (APIENTRYP PFNGLTEXBUFFERPROC)(GLenum target, GLenum internalformat, GLuint buffer);\nGLAPI PFNGLTEXBUFFERPROC glad_glTexBuffer;\n#define glTexBuffer glad_glTexBuffer\ntypedef void (APIENTRYP PFNGLPRIMITIVERESTARTINDEXPROC)(GLuint index);\nGLAPI PFNGLPRIMITIVERESTARTINDEXPROC glad_glPrimitiveRestartIndex;\n#define glPrimitiveRestartIndex glad_glPrimitiveRestartIndex\ntypedef void (APIENTRYP PFNGLCOPYBUFFERSUBDATAPROC)(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);\nGLAPI PFNGLCOPYBUFFERSUBDATAPROC glad_glCopyBufferSubData;\n#define glCopyBufferSubData glad_glCopyBufferSubData\ntypedef void (APIENTRYP PFNGLGETUNIFORMINDICESPROC)(GLuint program, GLsizei uniformCount, const GLchar *const*uniformNames, GLuint *uniformIndices);\nGLAPI PFNGLGETUNIFORMINDICESPROC glad_glGetUniformIndices;\n#define glGetUniformIndices glad_glGetUniformIndices\ntypedef void (APIENTRYP PFNGLGETACTIVEUNIFORMSIVPROC)(GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params);\nGLAPI PFNGLGETACTIVEUNIFORMSIVPROC glad_glGetActiveUniformsiv;\n#define glGetActiveUniformsiv glad_glGetActiveUniformsiv\ntypedef void (APIENTRYP PFNGLGETACTIVEUNIFORMNAMEPROC)(GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformName);\nGLAPI PFNGLGETACTIVEUNIFORMNAMEPROC glad_glGetActiveUniformName;\n#define glGetActiveUniformName glad_glGetActiveUniformName\ntypedef GLuint (APIENTRYP PFNGLGETUNIFORMBLOCKINDEXPROC)(GLuint program, const GLchar *uniformBlockName);\nGLAPI PFNGLGETUNIFORMBLOCKINDEXPROC glad_glGetUniformBlockIndex;\n#define glGetUniformBlockIndex glad_glGetUniformBlockIndex\ntypedef void (APIENTRYP PFNGLGETACTIVEUNIFORMBLOCKIVPROC)(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params);\nGLAPI PFNGLGETACTIVEUNIFORMBLOCKIVPROC glad_glGetActiveUniformBlockiv;\n#define glGetActiveUniformBlockiv glad_glGetActiveUniformBlockiv\ntypedef void (APIENTRYP PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC)(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName);\nGLAPI PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC glad_glGetActiveUniformBlockName;\n#define glGetActiveUniformBlockName glad_glGetActiveUniformBlockName\ntypedef void (APIENTRYP PFNGLUNIFORMBLOCKBINDINGPROC)(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding);\nGLAPI PFNGLUNIFORMBLOCKBINDINGPROC glad_glUniformBlockBinding;\n#define glUniformBlockBinding glad_glUniformBlockBinding\n#endif\n#ifndef GL_VERSION_3_2\n#define GL_VERSION_3_2 1\nGLAPI int GLAD_GL_VERSION_3_2;\ntypedef void (APIENTRYP PFNGLDRAWELEMENTSBASEVERTEXPROC)(GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex);\nGLAPI PFNGLDRAWELEMENTSBASEVERTEXPROC glad_glDrawElementsBaseVertex;\n#define glDrawElementsBaseVertex glad_glDrawElementsBaseVertex\ntypedef void (APIENTRYP PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices, GLint basevertex);\nGLAPI PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC glad_glDrawRangeElementsBaseVertex;\n#define glDrawRangeElementsBaseVertex glad_glDrawRangeElementsBaseVertex\ntypedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC)(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex);\nGLAPI PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC glad_glDrawElementsInstancedBaseVertex;\n#define glDrawElementsInstancedBaseVertex glad_glDrawElementsInstancedBaseVertex\ntypedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC)(GLenum mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei drawcount, const GLint *basevertex);\nGLAPI PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC glad_glMultiDrawElementsBaseVertex;\n#define glMultiDrawElementsBaseVertex glad_glMultiDrawElementsBaseVertex\ntypedef void (APIENTRYP PFNGLPROVOKINGVERTEXPROC)(GLenum mode);\nGLAPI PFNGLPROVOKINGVERTEXPROC glad_glProvokingVertex;\n#define glProvokingVertex glad_glProvokingVertex\ntypedef GLsync (APIENTRYP PFNGLFENCESYNCPROC)(GLenum condition, GLbitfield flags);\nGLAPI PFNGLFENCESYNCPROC glad_glFenceSync;\n#define glFenceSync glad_glFenceSync\ntypedef GLboolean (APIENTRYP PFNGLISSYNCPROC)(GLsync sync);\nGLAPI PFNGLISSYNCPROC glad_glIsSync;\n#define glIsSync glad_glIsSync\ntypedef void (APIENTRYP PFNGLDELETESYNCPROC)(GLsync sync);\nGLAPI PFNGLDELETESYNCPROC glad_glDeleteSync;\n#define glDeleteSync glad_glDeleteSync\ntypedef GLenum (APIENTRYP PFNGLCLIENTWAITSYNCPROC)(GLsync sync, GLbitfield flags, GLuint64 timeout);\nGLAPI PFNGLCLIENTWAITSYNCPROC glad_glClientWaitSync;\n#define glClientWaitSync glad_glClientWaitSync\ntypedef void (APIENTRYP PFNGLWAITSYNCPROC)(GLsync sync, GLbitfield flags, GLuint64 timeout);\nGLAPI PFNGLWAITSYNCPROC glad_glWaitSync;\n#define glWaitSync glad_glWaitSync\ntypedef void (APIENTRYP PFNGLGETINTEGER64VPROC)(GLenum pname, GLint64 *data);\nGLAPI PFNGLGETINTEGER64VPROC glad_glGetInteger64v;\n#define glGetInteger64v glad_glGetInteger64v\ntypedef void (APIENTRYP PFNGLGETSYNCIVPROC)(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);\nGLAPI PFNGLGETSYNCIVPROC glad_glGetSynciv;\n#define glGetSynciv glad_glGetSynciv\ntypedef void (APIENTRYP PFNGLGETINTEGER64I_VPROC)(GLenum target, GLuint index, GLint64 *data);\nGLAPI PFNGLGETINTEGER64I_VPROC glad_glGetInteger64i_v;\n#define glGetInteger64i_v glad_glGetInteger64i_v\ntypedef void (APIENTRYP PFNGLGETBUFFERPARAMETERI64VPROC)(GLenum target, GLenum pname, GLint64 *params);\nGLAPI PFNGLGETBUFFERPARAMETERI64VPROC glad_glGetBufferParameteri64v;\n#define glGetBufferParameteri64v glad_glGetBufferParameteri64v\ntypedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTUREPROC)(GLenum target, GLenum attachment, GLuint texture, GLint level);\nGLAPI PFNGLFRAMEBUFFERTEXTUREPROC glad_glFramebufferTexture;\n#define glFramebufferTexture glad_glFramebufferTexture\ntypedef void (APIENTRYP PFNGLTEXIMAGE2DMULTISAMPLEPROC)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);\nGLAPI PFNGLTEXIMAGE2DMULTISAMPLEPROC glad_glTexImage2DMultisample;\n#define glTexImage2DMultisample glad_glTexImage2DMultisample\ntypedef void (APIENTRYP PFNGLTEXIMAGE3DMULTISAMPLEPROC)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);\nGLAPI PFNGLTEXIMAGE3DMULTISAMPLEPROC glad_glTexImage3DMultisample;\n#define glTexImage3DMultisample glad_glTexImage3DMultisample\ntypedef void (APIENTRYP PFNGLGETMULTISAMPLEFVPROC)(GLenum pname, GLuint index, GLfloat *val);\nGLAPI PFNGLGETMULTISAMPLEFVPROC glad_glGetMultisamplefv;\n#define glGetMultisamplefv glad_glGetMultisamplefv\ntypedef void (APIENTRYP PFNGLSAMPLEMASKIPROC)(GLuint maskNumber, GLbitfield mask);\nGLAPI PFNGLSAMPLEMASKIPROC glad_glSampleMaski;\n#define glSampleMaski glad_glSampleMaski\n#endif\n#ifndef GL_VERSION_3_3\n#define GL_VERSION_3_3 1\nGLAPI int GLAD_GL_VERSION_3_3;\ntypedef void (APIENTRYP PFNGLBINDFRAGDATALOCATIONINDEXEDPROC)(GLuint program, GLuint colorNumber, GLuint index, const GLchar *name);\nGLAPI PFNGLBINDFRAGDATALOCATIONINDEXEDPROC glad_glBindFragDataLocationIndexed;\n#define glBindFragDataLocationIndexed glad_glBindFragDataLocationIndexed\ntypedef GLint (APIENTRYP PFNGLGETFRAGDATAINDEXPROC)(GLuint program, const GLchar *name);\nGLAPI PFNGLGETFRAGDATAINDEXPROC glad_glGetFragDataIndex;\n#define glGetFragDataIndex glad_glGetFragDataIndex\ntypedef void (APIENTRYP PFNGLGENSAMPLERSPROC)(GLsizei count, GLuint *samplers);\nGLAPI PFNGLGENSAMPLERSPROC glad_glGenSamplers;\n#define glGenSamplers glad_glGenSamplers\ntypedef void (APIENTRYP PFNGLDELETESAMPLERSPROC)(GLsizei count, const GLuint *samplers);\nGLAPI PFNGLDELETESAMPLERSPROC glad_glDeleteSamplers;\n#define glDeleteSamplers glad_glDeleteSamplers\ntypedef GLboolean (APIENTRYP PFNGLISSAMPLERPROC)(GLuint sampler);\nGLAPI PFNGLISSAMPLERPROC glad_glIsSampler;\n#define glIsSampler glad_glIsSampler\ntypedef void (APIENTRYP PFNGLBINDSAMPLERPROC)(GLuint unit, GLuint sampler);\nGLAPI PFNGLBINDSAMPLERPROC glad_glBindSampler;\n#define glBindSampler glad_glBindSampler\ntypedef void (APIENTRYP PFNGLSAMPLERPARAMETERIPROC)(GLuint sampler, GLenum pname, GLint param);\nGLAPI PFNGLSAMPLERPARAMETERIPROC glad_glSamplerParameteri;\n#define glSamplerParameteri glad_glSamplerParameteri\ntypedef void (APIENTRYP PFNGLSAMPLERPARAMETERIVPROC)(GLuint sampler, GLenum pname, const GLint *param);\nGLAPI PFNGLSAMPLERPARAMETERIVPROC glad_glSamplerParameteriv;\n#define glSamplerParameteriv glad_glSamplerParameteriv\ntypedef void (APIENTRYP PFNGLSAMPLERPARAMETERFPROC)(GLuint sampler, GLenum pname, GLfloat param);\nGLAPI PFNGLSAMPLERPARAMETERFPROC glad_glSamplerParameterf;\n#define glSamplerParameterf glad_glSamplerParameterf\ntypedef void (APIENTRYP PFNGLSAMPLERPARAMETERFVPROC)(GLuint sampler, GLenum pname, const GLfloat *param);\nGLAPI PFNGLSAMPLERPARAMETERFVPROC glad_glSamplerParameterfv;\n#define glSamplerParameterfv glad_glSamplerParameterfv\ntypedef void (APIENTRYP PFNGLSAMPLERPARAMETERIIVPROC)(GLuint sampler, GLenum pname, const GLint *param);\nGLAPI PFNGLSAMPLERPARAMETERIIVPROC glad_glSamplerParameterIiv;\n#define glSamplerParameterIiv glad_glSamplerParameterIiv\ntypedef void (APIENTRYP PFNGLSAMPLERPARAMETERIUIVPROC)(GLuint sampler, GLenum pname, const GLuint *param);\nGLAPI PFNGLSAMPLERPARAMETERIUIVPROC glad_glSamplerParameterIuiv;\n#define glSamplerParameterIuiv glad_glSamplerParameterIuiv\ntypedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERIVPROC)(GLuint sampler, GLenum pname, GLint *params);\nGLAPI PFNGLGETSAMPLERPARAMETERIVPROC glad_glGetSamplerParameteriv;\n#define glGetSamplerParameteriv glad_glGetSamplerParameteriv\ntypedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERIIVPROC)(GLuint sampler, GLenum pname, GLint *params);\nGLAPI PFNGLGETSAMPLERPARAMETERIIVPROC glad_glGetSamplerParameterIiv;\n#define glGetSamplerParameterIiv glad_glGetSamplerParameterIiv\ntypedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERFVPROC)(GLuint sampler, GLenum pname, GLfloat *params);\nGLAPI PFNGLGETSAMPLERPARAMETERFVPROC glad_glGetSamplerParameterfv;\n#define glGetSamplerParameterfv glad_glGetSamplerParameterfv\ntypedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERIUIVPROC)(GLuint sampler, GLenum pname, GLuint *params);\nGLAPI PFNGLGETSAMPLERPARAMETERIUIVPROC glad_glGetSamplerParameterIuiv;\n#define glGetSamplerParameterIuiv glad_glGetSamplerParameterIuiv\ntypedef void (APIENTRYP PFNGLQUERYCOUNTERPROC)(GLuint id, GLenum target);\nGLAPI PFNGLQUERYCOUNTERPROC glad_glQueryCounter;\n#define glQueryCounter glad_glQueryCounter\ntypedef void (APIENTRYP PFNGLGETQUERYOBJECTI64VPROC)(GLuint id, GLenum pname, GLint64 *params);\nGLAPI PFNGLGETQUERYOBJECTI64VPROC glad_glGetQueryObjecti64v;\n#define glGetQueryObjecti64v glad_glGetQueryObjecti64v\ntypedef void (APIENTRYP PFNGLGETQUERYOBJECTUI64VPROC)(GLuint id, GLenum pname, GLuint64 *params);\nGLAPI PFNGLGETQUERYOBJECTUI64VPROC glad_glGetQueryObjectui64v;\n#define glGetQueryObjectui64v glad_glGetQueryObjectui64v\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBDIVISORPROC)(GLuint index, GLuint divisor);\nGLAPI PFNGLVERTEXATTRIBDIVISORPROC glad_glVertexAttribDivisor;\n#define glVertexAttribDivisor glad_glVertexAttribDivisor\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBP1UIPROC)(GLuint index, GLenum type, GLboolean normalized, GLuint value);\nGLAPI PFNGLVERTEXATTRIBP1UIPROC glad_glVertexAttribP1ui;\n#define glVertexAttribP1ui glad_glVertexAttribP1ui\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBP1UIVPROC)(GLuint index, GLenum type, GLboolean normalized, const GLuint *value);\nGLAPI PFNGLVERTEXATTRIBP1UIVPROC glad_glVertexAttribP1uiv;\n#define glVertexAttribP1uiv glad_glVertexAttribP1uiv\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBP2UIPROC)(GLuint index, GLenum type, GLboolean normalized, GLuint value);\nGLAPI PFNGLVERTEXATTRIBP2UIPROC glad_glVertexAttribP2ui;\n#define glVertexAttribP2ui glad_glVertexAttribP2ui\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBP2UIVPROC)(GLuint index, GLenum type, GLboolean normalized, const GLuint *value);\nGLAPI PFNGLVERTEXATTRIBP2UIVPROC glad_glVertexAttribP2uiv;\n#define glVertexAttribP2uiv glad_glVertexAttribP2uiv\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBP3UIPROC)(GLuint index, GLenum type, GLboolean normalized, GLuint value);\nGLAPI PFNGLVERTEXATTRIBP3UIPROC glad_glVertexAttribP3ui;\n#define glVertexAttribP3ui glad_glVertexAttribP3ui\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBP3UIVPROC)(GLuint index, GLenum type, GLboolean normalized, const GLuint *value);\nGLAPI PFNGLVERTEXATTRIBP3UIVPROC glad_glVertexAttribP3uiv;\n#define glVertexAttribP3uiv glad_glVertexAttribP3uiv\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBP4UIPROC)(GLuint index, GLenum type, GLboolean normalized, GLuint value);\nGLAPI PFNGLVERTEXATTRIBP4UIPROC glad_glVertexAttribP4ui;\n#define glVertexAttribP4ui glad_glVertexAttribP4ui\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBP4UIVPROC)(GLuint index, GLenum type, GLboolean normalized, const GLuint *value);\nGLAPI PFNGLVERTEXATTRIBP4UIVPROC glad_glVertexAttribP4uiv;\n#define glVertexAttribP4uiv glad_glVertexAttribP4uiv\ntypedef void (APIENTRYP PFNGLVERTEXP2UIPROC)(GLenum type, GLuint value);\nGLAPI PFNGLVERTEXP2UIPROC glad_glVertexP2ui;\n#define glVertexP2ui glad_glVertexP2ui\ntypedef void (APIENTRYP PFNGLVERTEXP2UIVPROC)(GLenum type, const GLuint *value);\nGLAPI PFNGLVERTEXP2UIVPROC glad_glVertexP2uiv;\n#define glVertexP2uiv glad_glVertexP2uiv\ntypedef void (APIENTRYP PFNGLVERTEXP3UIPROC)(GLenum type, GLuint value);\nGLAPI PFNGLVERTEXP3UIPROC glad_glVertexP3ui;\n#define glVertexP3ui glad_glVertexP3ui\ntypedef void (APIENTRYP PFNGLVERTEXP3UIVPROC)(GLenum type, const GLuint *value);\nGLAPI PFNGLVERTEXP3UIVPROC glad_glVertexP3uiv;\n#define glVertexP3uiv glad_glVertexP3uiv\ntypedef void (APIENTRYP PFNGLVERTEXP4UIPROC)(GLenum type, GLuint value);\nGLAPI PFNGLVERTEXP4UIPROC glad_glVertexP4ui;\n#define glVertexP4ui glad_glVertexP4ui\ntypedef void (APIENTRYP PFNGLVERTEXP4UIVPROC)(GLenum type, const GLuint *value);\nGLAPI PFNGLVERTEXP4UIVPROC glad_glVertexP4uiv;\n#define glVertexP4uiv glad_glVertexP4uiv\ntypedef void (APIENTRYP PFNGLTEXCOORDP1UIPROC)(GLenum type, GLuint coords);\nGLAPI PFNGLTEXCOORDP1UIPROC glad_glTexCoordP1ui;\n#define glTexCoordP1ui glad_glTexCoordP1ui\ntypedef void (APIENTRYP PFNGLTEXCOORDP1UIVPROC)(GLenum type, const GLuint *coords);\nGLAPI PFNGLTEXCOORDP1UIVPROC glad_glTexCoordP1uiv;\n#define glTexCoordP1uiv glad_glTexCoordP1uiv\ntypedef void (APIENTRYP PFNGLTEXCOORDP2UIPROC)(GLenum type, GLuint coords);\nGLAPI PFNGLTEXCOORDP2UIPROC glad_glTexCoordP2ui;\n#define glTexCoordP2ui glad_glTexCoordP2ui\ntypedef void (APIENTRYP PFNGLTEXCOORDP2UIVPROC)(GLenum type, const GLuint *coords);\nGLAPI PFNGLTEXCOORDP2UIVPROC glad_glTexCoordP2uiv;\n#define glTexCoordP2uiv glad_glTexCoordP2uiv\ntypedef void (APIENTRYP PFNGLTEXCOORDP3UIPROC)(GLenum type, GLuint coords);\nGLAPI PFNGLTEXCOORDP3UIPROC glad_glTexCoordP3ui;\n#define glTexCoordP3ui glad_glTexCoordP3ui\ntypedef void (APIENTRYP PFNGLTEXCOORDP3UIVPROC)(GLenum type, const GLuint *coords);\nGLAPI PFNGLTEXCOORDP3UIVPROC glad_glTexCoordP3uiv;\n#define glTexCoordP3uiv glad_glTexCoordP3uiv\ntypedef void (APIENTRYP PFNGLTEXCOORDP4UIPROC)(GLenum type, GLuint coords);\nGLAPI PFNGLTEXCOORDP4UIPROC glad_glTexCoordP4ui;\n#define glTexCoordP4ui glad_glTexCoordP4ui\ntypedef void (APIENTRYP PFNGLTEXCOORDP4UIVPROC)(GLenum type, const GLuint *coords);\nGLAPI PFNGLTEXCOORDP4UIVPROC glad_glTexCoordP4uiv;\n#define glTexCoordP4uiv glad_glTexCoordP4uiv\ntypedef void (APIENTRYP PFNGLMULTITEXCOORDP1UIPROC)(GLenum texture, GLenum type, GLuint coords);\nGLAPI PFNGLMULTITEXCOORDP1UIPROC glad_glMultiTexCoordP1ui;\n#define glMultiTexCoordP1ui glad_glMultiTexCoordP1ui\ntypedef void (APIENTRYP PFNGLMULTITEXCOORDP1UIVPROC)(GLenum texture, GLenum type, const GLuint *coords);\nGLAPI PFNGLMULTITEXCOORDP1UIVPROC glad_glMultiTexCoordP1uiv;\n#define glMultiTexCoordP1uiv glad_glMultiTexCoordP1uiv\ntypedef void (APIENTRYP PFNGLMULTITEXCOORDP2UIPROC)(GLenum texture, GLenum type, GLuint coords);\nGLAPI PFNGLMULTITEXCOORDP2UIPROC glad_glMultiTexCoordP2ui;\n#define glMultiTexCoordP2ui glad_glMultiTexCoordP2ui\ntypedef void (APIENTRYP PFNGLMULTITEXCOORDP2UIVPROC)(GLenum texture, GLenum type, const GLuint *coords);\nGLAPI PFNGLMULTITEXCOORDP2UIVPROC glad_glMultiTexCoordP2uiv;\n#define glMultiTexCoordP2uiv glad_glMultiTexCoordP2uiv\ntypedef void (APIENTRYP PFNGLMULTITEXCOORDP3UIPROC)(GLenum texture, GLenum type, GLuint coords);\nGLAPI PFNGLMULTITEXCOORDP3UIPROC glad_glMultiTexCoordP3ui;\n#define glMultiTexCoordP3ui glad_glMultiTexCoordP3ui\ntypedef void (APIENTRYP PFNGLMULTITEXCOORDP3UIVPROC)(GLenum texture, GLenum type, const GLuint *coords);\nGLAPI PFNGLMULTITEXCOORDP3UIVPROC glad_glMultiTexCoordP3uiv;\n#define glMultiTexCoordP3uiv glad_glMultiTexCoordP3uiv\ntypedef void (APIENTRYP PFNGLMULTITEXCOORDP4UIPROC)(GLenum texture, GLenum type, GLuint coords);\nGLAPI PFNGLMULTITEXCOORDP4UIPROC glad_glMultiTexCoordP4ui;\n#define glMultiTexCoordP4ui glad_glMultiTexCoordP4ui\ntypedef void (APIENTRYP PFNGLMULTITEXCOORDP4UIVPROC)(GLenum texture, GLenum type, const GLuint *coords);\nGLAPI PFNGLMULTITEXCOORDP4UIVPROC glad_glMultiTexCoordP4uiv;\n#define glMultiTexCoordP4uiv glad_glMultiTexCoordP4uiv\ntypedef void (APIENTRYP PFNGLNORMALP3UIPROC)(GLenum type, GLuint coords);\nGLAPI PFNGLNORMALP3UIPROC glad_glNormalP3ui;\n#define glNormalP3ui glad_glNormalP3ui\ntypedef void (APIENTRYP PFNGLNORMALP3UIVPROC)(GLenum type, const GLuint *coords);\nGLAPI PFNGLNORMALP3UIVPROC glad_glNormalP3uiv;\n#define glNormalP3uiv glad_glNormalP3uiv\ntypedef void (APIENTRYP PFNGLCOLORP3UIPROC)(GLenum type, GLuint color);\nGLAPI PFNGLCOLORP3UIPROC glad_glColorP3ui;\n#define glColorP3ui glad_glColorP3ui\ntypedef void (APIENTRYP PFNGLCOLORP3UIVPROC)(GLenum type, const GLuint *color);\nGLAPI PFNGLCOLORP3UIVPROC glad_glColorP3uiv;\n#define glColorP3uiv glad_glColorP3uiv\ntypedef void (APIENTRYP PFNGLCOLORP4UIPROC)(GLenum type, GLuint color);\nGLAPI PFNGLCOLORP4UIPROC glad_glColorP4ui;\n#define glColorP4ui glad_glColorP4ui\ntypedef void (APIENTRYP PFNGLCOLORP4UIVPROC)(GLenum type, const GLuint *color);\nGLAPI PFNGLCOLORP4UIVPROC glad_glColorP4uiv;\n#define glColorP4uiv glad_glColorP4uiv\ntypedef void (APIENTRYP PFNGLSECONDARYCOLORP3UIPROC)(GLenum type, GLuint color);\nGLAPI PFNGLSECONDARYCOLORP3UIPROC glad_glSecondaryColorP3ui;\n#define glSecondaryColorP3ui glad_glSecondaryColorP3ui\ntypedef void (APIENTRYP PFNGLSECONDARYCOLORP3UIVPROC)(GLenum type, const GLuint *color);\nGLAPI PFNGLSECONDARYCOLORP3UIVPROC glad_glSecondaryColorP3uiv;\n#define glSecondaryColorP3uiv glad_glSecondaryColorP3uiv\n#endif\n#ifndef GL_VERSION_4_0\n#define GL_VERSION_4_0 1\nGLAPI int GLAD_GL_VERSION_4_0;\ntypedef void (APIENTRYP PFNGLMINSAMPLESHADINGPROC)(GLfloat value);\nGLAPI PFNGLMINSAMPLESHADINGPROC glad_glMinSampleShading;\n#define glMinSampleShading glad_glMinSampleShading\ntypedef void (APIENTRYP PFNGLBLENDEQUATIONIPROC)(GLuint buf, GLenum mode);\nGLAPI PFNGLBLENDEQUATIONIPROC glad_glBlendEquationi;\n#define glBlendEquationi glad_glBlendEquationi\ntypedef void (APIENTRYP PFNGLBLENDEQUATIONSEPARATEIPROC)(GLuint buf, GLenum modeRGB, GLenum modeAlpha);\nGLAPI PFNGLBLENDEQUATIONSEPARATEIPROC glad_glBlendEquationSeparatei;\n#define glBlendEquationSeparatei glad_glBlendEquationSeparatei\ntypedef void (APIENTRYP PFNGLBLENDFUNCIPROC)(GLuint buf, GLenum src, GLenum dst);\nGLAPI PFNGLBLENDFUNCIPROC glad_glBlendFunci;\n#define glBlendFunci glad_glBlendFunci\ntypedef void (APIENTRYP PFNGLBLENDFUNCSEPARATEIPROC)(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);\nGLAPI PFNGLBLENDFUNCSEPARATEIPROC glad_glBlendFuncSeparatei;\n#define glBlendFuncSeparatei glad_glBlendFuncSeparatei\ntypedef void (APIENTRYP PFNGLDRAWARRAYSINDIRECTPROC)(GLenum mode, const void *indirect);\nGLAPI PFNGLDRAWARRAYSINDIRECTPROC glad_glDrawArraysIndirect;\n#define glDrawArraysIndirect glad_glDrawArraysIndirect\ntypedef void (APIENTRYP PFNGLDRAWELEMENTSINDIRECTPROC)(GLenum mode, GLenum type, const void *indirect);\nGLAPI PFNGLDRAWELEMENTSINDIRECTPROC glad_glDrawElementsIndirect;\n#define glDrawElementsIndirect glad_glDrawElementsIndirect\ntypedef void (APIENTRYP PFNGLUNIFORM1DPROC)(GLint location, GLdouble x);\nGLAPI PFNGLUNIFORM1DPROC glad_glUniform1d;\n#define glUniform1d glad_glUniform1d\ntypedef void (APIENTRYP PFNGLUNIFORM2DPROC)(GLint location, GLdouble x, GLdouble y);\nGLAPI PFNGLUNIFORM2DPROC glad_glUniform2d;\n#define glUniform2d glad_glUniform2d\ntypedef void (APIENTRYP PFNGLUNIFORM3DPROC)(GLint location, GLdouble x, GLdouble y, GLdouble z);\nGLAPI PFNGLUNIFORM3DPROC glad_glUniform3d;\n#define glUniform3d glad_glUniform3d\ntypedef void (APIENTRYP PFNGLUNIFORM4DPROC)(GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nGLAPI PFNGLUNIFORM4DPROC glad_glUniform4d;\n#define glUniform4d glad_glUniform4d\ntypedef void (APIENTRYP PFNGLUNIFORM1DVPROC)(GLint location, GLsizei count, const GLdouble *value);\nGLAPI PFNGLUNIFORM1DVPROC glad_glUniform1dv;\n#define glUniform1dv glad_glUniform1dv\ntypedef void (APIENTRYP PFNGLUNIFORM2DVPROC)(GLint location, GLsizei count, const GLdouble *value);\nGLAPI PFNGLUNIFORM2DVPROC glad_glUniform2dv;\n#define glUniform2dv glad_glUniform2dv\ntypedef void (APIENTRYP PFNGLUNIFORM3DVPROC)(GLint location, GLsizei count, const GLdouble *value);\nGLAPI PFNGLUNIFORM3DVPROC glad_glUniform3dv;\n#define glUniform3dv glad_glUniform3dv\ntypedef void (APIENTRYP PFNGLUNIFORM4DVPROC)(GLint location, GLsizei count, const GLdouble *value);\nGLAPI PFNGLUNIFORM4DVPROC glad_glUniform4dv;\n#define glUniform4dv glad_glUniform4dv\ntypedef void (APIENTRYP PFNGLUNIFORMMATRIX2DVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nGLAPI PFNGLUNIFORMMATRIX2DVPROC glad_glUniformMatrix2dv;\n#define glUniformMatrix2dv glad_glUniformMatrix2dv\ntypedef void (APIENTRYP PFNGLUNIFORMMATRIX3DVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nGLAPI PFNGLUNIFORMMATRIX3DVPROC glad_glUniformMatrix3dv;\n#define glUniformMatrix3dv glad_glUniformMatrix3dv\ntypedef void (APIENTRYP PFNGLUNIFORMMATRIX4DVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nGLAPI PFNGLUNIFORMMATRIX4DVPROC glad_glUniformMatrix4dv;\n#define glUniformMatrix4dv glad_glUniformMatrix4dv\ntypedef void (APIENTRYP PFNGLUNIFORMMATRIX2X3DVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nGLAPI PFNGLUNIFORMMATRIX2X3DVPROC glad_glUniformMatrix2x3dv;\n#define glUniformMatrix2x3dv glad_glUniformMatrix2x3dv\ntypedef void (APIENTRYP PFNGLUNIFORMMATRIX2X4DVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nGLAPI PFNGLUNIFORMMATRIX2X4DVPROC glad_glUniformMatrix2x4dv;\n#define glUniformMatrix2x4dv glad_glUniformMatrix2x4dv\ntypedef void (APIENTRYP PFNGLUNIFORMMATRIX3X2DVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nGLAPI PFNGLUNIFORMMATRIX3X2DVPROC glad_glUniformMatrix3x2dv;\n#define glUniformMatrix3x2dv glad_glUniformMatrix3x2dv\ntypedef void (APIENTRYP PFNGLUNIFORMMATRIX3X4DVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nGLAPI PFNGLUNIFORMMATRIX3X4DVPROC glad_glUniformMatrix3x4dv;\n#define glUniformMatrix3x4dv glad_glUniformMatrix3x4dv\ntypedef void (APIENTRYP PFNGLUNIFORMMATRIX4X2DVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nGLAPI PFNGLUNIFORMMATRIX4X2DVPROC glad_glUniformMatrix4x2dv;\n#define glUniformMatrix4x2dv glad_glUniformMatrix4x2dv\ntypedef void (APIENTRYP PFNGLUNIFORMMATRIX4X3DVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nGLAPI PFNGLUNIFORMMATRIX4X3DVPROC glad_glUniformMatrix4x3dv;\n#define glUniformMatrix4x3dv glad_glUniformMatrix4x3dv\ntypedef void (APIENTRYP PFNGLGETUNIFORMDVPROC)(GLuint program, GLint location, GLdouble *params);\nGLAPI PFNGLGETUNIFORMDVPROC glad_glGetUniformdv;\n#define glGetUniformdv glad_glGetUniformdv\ntypedef GLint (APIENTRYP PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC)(GLuint program, GLenum shadertype, const GLchar *name);\nGLAPI PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC glad_glGetSubroutineUniformLocation;\n#define glGetSubroutineUniformLocation glad_glGetSubroutineUniformLocation\ntypedef GLuint (APIENTRYP PFNGLGETSUBROUTINEINDEXPROC)(GLuint program, GLenum shadertype, const GLchar *name);\nGLAPI PFNGLGETSUBROUTINEINDEXPROC glad_glGetSubroutineIndex;\n#define glGetSubroutineIndex glad_glGetSubroutineIndex\ntypedef void (APIENTRYP PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC)(GLuint program, GLenum shadertype, GLuint index, GLenum pname, GLint *values);\nGLAPI PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC glad_glGetActiveSubroutineUniformiv;\n#define glGetActiveSubroutineUniformiv glad_glGetActiveSubroutineUniformiv\ntypedef void (APIENTRYP PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC)(GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name);\nGLAPI PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC glad_glGetActiveSubroutineUniformName;\n#define glGetActiveSubroutineUniformName glad_glGetActiveSubroutineUniformName\ntypedef void (APIENTRYP PFNGLGETACTIVESUBROUTINENAMEPROC)(GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name);\nGLAPI PFNGLGETACTIVESUBROUTINENAMEPROC glad_glGetActiveSubroutineName;\n#define glGetActiveSubroutineName glad_glGetActiveSubroutineName\ntypedef void (APIENTRYP PFNGLUNIFORMSUBROUTINESUIVPROC)(GLenum shadertype, GLsizei count, const GLuint *indices);\nGLAPI PFNGLUNIFORMSUBROUTINESUIVPROC glad_glUniformSubroutinesuiv;\n#define glUniformSubroutinesuiv glad_glUniformSubroutinesuiv\ntypedef void (APIENTRYP PFNGLGETUNIFORMSUBROUTINEUIVPROC)(GLenum shadertype, GLint location, GLuint *params);\nGLAPI PFNGLGETUNIFORMSUBROUTINEUIVPROC glad_glGetUniformSubroutineuiv;\n#define glGetUniformSubroutineuiv glad_glGetUniformSubroutineuiv\ntypedef void (APIENTRYP PFNGLGETPROGRAMSTAGEIVPROC)(GLuint program, GLenum shadertype, GLenum pname, GLint *values);\nGLAPI PFNGLGETPROGRAMSTAGEIVPROC glad_glGetProgramStageiv;\n#define glGetProgramStageiv glad_glGetProgramStageiv\ntypedef void (APIENTRYP PFNGLPATCHPARAMETERIPROC)(GLenum pname, GLint value);\nGLAPI PFNGLPATCHPARAMETERIPROC glad_glPatchParameteri;\n#define glPatchParameteri glad_glPatchParameteri\ntypedef void (APIENTRYP PFNGLPATCHPARAMETERFVPROC)(GLenum pname, const GLfloat *values);\nGLAPI PFNGLPATCHPARAMETERFVPROC glad_glPatchParameterfv;\n#define glPatchParameterfv glad_glPatchParameterfv\ntypedef void (APIENTRYP PFNGLBINDTRANSFORMFEEDBACKPROC)(GLenum target, GLuint id);\nGLAPI PFNGLBINDTRANSFORMFEEDBACKPROC glad_glBindTransformFeedback;\n#define glBindTransformFeedback glad_glBindTransformFeedback\ntypedef void (APIENTRYP PFNGLDELETETRANSFORMFEEDBACKSPROC)(GLsizei n, const GLuint *ids);\nGLAPI PFNGLDELETETRANSFORMFEEDBACKSPROC glad_glDeleteTransformFeedbacks;\n#define glDeleteTransformFeedbacks glad_glDeleteTransformFeedbacks\ntypedef void (APIENTRYP PFNGLGENTRANSFORMFEEDBACKSPROC)(GLsizei n, GLuint *ids);\nGLAPI PFNGLGENTRANSFORMFEEDBACKSPROC glad_glGenTransformFeedbacks;\n#define glGenTransformFeedbacks glad_glGenTransformFeedbacks\ntypedef GLboolean (APIENTRYP PFNGLISTRANSFORMFEEDBACKPROC)(GLuint id);\nGLAPI PFNGLISTRANSFORMFEEDBACKPROC glad_glIsTransformFeedback;\n#define glIsTransformFeedback glad_glIsTransformFeedback\ntypedef void (APIENTRYP PFNGLPAUSETRANSFORMFEEDBACKPROC)();\nGLAPI PFNGLPAUSETRANSFORMFEEDBACKPROC glad_glPauseTransformFeedback;\n#define glPauseTransformFeedback glad_glPauseTransformFeedback\ntypedef void (APIENTRYP PFNGLRESUMETRANSFORMFEEDBACKPROC)();\nGLAPI PFNGLRESUMETRANSFORMFEEDBACKPROC glad_glResumeTransformFeedback;\n#define glResumeTransformFeedback glad_glResumeTransformFeedback\ntypedef void (APIENTRYP PFNGLDRAWTRANSFORMFEEDBACKPROC)(GLenum mode, GLuint id);\nGLAPI PFNGLDRAWTRANSFORMFEEDBACKPROC glad_glDrawTransformFeedback;\n#define glDrawTransformFeedback glad_glDrawTransformFeedback\ntypedef void (APIENTRYP PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC)(GLenum mode, GLuint id, GLuint stream);\nGLAPI PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC glad_glDrawTransformFeedbackStream;\n#define glDrawTransformFeedbackStream glad_glDrawTransformFeedbackStream\ntypedef void (APIENTRYP PFNGLBEGINQUERYINDEXEDPROC)(GLenum target, GLuint index, GLuint id);\nGLAPI PFNGLBEGINQUERYINDEXEDPROC glad_glBeginQueryIndexed;\n#define glBeginQueryIndexed glad_glBeginQueryIndexed\ntypedef void (APIENTRYP PFNGLENDQUERYINDEXEDPROC)(GLenum target, GLuint index);\nGLAPI PFNGLENDQUERYINDEXEDPROC glad_glEndQueryIndexed;\n#define glEndQueryIndexed glad_glEndQueryIndexed\ntypedef void (APIENTRYP PFNGLGETQUERYINDEXEDIVPROC)(GLenum target, GLuint index, GLenum pname, GLint *params);\nGLAPI PFNGLGETQUERYINDEXEDIVPROC glad_glGetQueryIndexediv;\n#define glGetQueryIndexediv glad_glGetQueryIndexediv\n#endif\n#ifndef GL_VERSION_4_1\n#define GL_VERSION_4_1 1\nGLAPI int GLAD_GL_VERSION_4_1;\ntypedef void (APIENTRYP PFNGLRELEASESHADERCOMPILERPROC)();\nGLAPI PFNGLRELEASESHADERCOMPILERPROC glad_glReleaseShaderCompiler;\n#define glReleaseShaderCompiler glad_glReleaseShaderCompiler\ntypedef void (APIENTRYP PFNGLSHADERBINARYPROC)(GLsizei count, const GLuint *shaders, GLenum binaryformat, const void *binary, GLsizei length);\nGLAPI PFNGLSHADERBINARYPROC glad_glShaderBinary;\n#define glShaderBinary glad_glShaderBinary\ntypedef void (APIENTRYP PFNGLGETSHADERPRECISIONFORMATPROC)(GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision);\nGLAPI PFNGLGETSHADERPRECISIONFORMATPROC glad_glGetShaderPrecisionFormat;\n#define glGetShaderPrecisionFormat glad_glGetShaderPrecisionFormat\ntypedef void (APIENTRYP PFNGLDEPTHRANGEFPROC)(GLfloat n, GLfloat f);\nGLAPI PFNGLDEPTHRANGEFPROC glad_glDepthRangef;\n#define glDepthRangef glad_glDepthRangef\ntypedef void (APIENTRYP PFNGLCLEARDEPTHFPROC)(GLfloat d);\nGLAPI PFNGLCLEARDEPTHFPROC glad_glClearDepthf;\n#define glClearDepthf glad_glClearDepthf\ntypedef void (APIENTRYP PFNGLGETPROGRAMBINARYPROC)(GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary);\nGLAPI PFNGLGETPROGRAMBINARYPROC glad_glGetProgramBinary;\n#define glGetProgramBinary glad_glGetProgramBinary\ntypedef void (APIENTRYP PFNGLPROGRAMBINARYPROC)(GLuint program, GLenum binaryFormat, const void *binary, GLsizei length);\nGLAPI PFNGLPROGRAMBINARYPROC glad_glProgramBinary;\n#define glProgramBinary glad_glProgramBinary\ntypedef void (APIENTRYP PFNGLPROGRAMPARAMETERIPROC)(GLuint program, GLenum pname, GLint value);\nGLAPI PFNGLPROGRAMPARAMETERIPROC glad_glProgramParameteri;\n#define glProgramParameteri glad_glProgramParameteri\ntypedef void (APIENTRYP PFNGLUSEPROGRAMSTAGESPROC)(GLuint pipeline, GLbitfield stages, GLuint program);\nGLAPI PFNGLUSEPROGRAMSTAGESPROC glad_glUseProgramStages;\n#define glUseProgramStages glad_glUseProgramStages\ntypedef void (APIENTRYP PFNGLACTIVESHADERPROGRAMPROC)(GLuint pipeline, GLuint program);\nGLAPI PFNGLACTIVESHADERPROGRAMPROC glad_glActiveShaderProgram;\n#define glActiveShaderProgram glad_glActiveShaderProgram\ntypedef GLuint (APIENTRYP PFNGLCREATESHADERPROGRAMVPROC)(GLenum type, GLsizei count, const GLchar *const*strings);\nGLAPI PFNGLCREATESHADERPROGRAMVPROC glad_glCreateShaderProgramv;\n#define glCreateShaderProgramv glad_glCreateShaderProgramv\ntypedef void (APIENTRYP PFNGLBINDPROGRAMPIPELINEPROC)(GLuint pipeline);\nGLAPI PFNGLBINDPROGRAMPIPELINEPROC glad_glBindProgramPipeline;\n#define glBindProgramPipeline glad_glBindProgramPipeline\ntypedef void (APIENTRYP PFNGLDELETEPROGRAMPIPELINESPROC)(GLsizei n, const GLuint *pipelines);\nGLAPI PFNGLDELETEPROGRAMPIPELINESPROC glad_glDeleteProgramPipelines;\n#define glDeleteProgramPipelines glad_glDeleteProgramPipelines\ntypedef void (APIENTRYP PFNGLGENPROGRAMPIPELINESPROC)(GLsizei n, GLuint *pipelines);\nGLAPI PFNGLGENPROGRAMPIPELINESPROC glad_glGenProgramPipelines;\n#define glGenProgramPipelines glad_glGenProgramPipelines\ntypedef GLboolean (APIENTRYP PFNGLISPROGRAMPIPELINEPROC)(GLuint pipeline);\nGLAPI PFNGLISPROGRAMPIPELINEPROC glad_glIsProgramPipeline;\n#define glIsProgramPipeline glad_glIsProgramPipeline\ntypedef void (APIENTRYP PFNGLGETPROGRAMPIPELINEIVPROC)(GLuint pipeline, GLenum pname, GLint *params);\nGLAPI PFNGLGETPROGRAMPIPELINEIVPROC glad_glGetProgramPipelineiv;\n#define glGetProgramPipelineiv glad_glGetProgramPipelineiv\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM1IPROC)(GLuint program, GLint location, GLint v0);\nGLAPI PFNGLPROGRAMUNIFORM1IPROC glad_glProgramUniform1i;\n#define glProgramUniform1i glad_glProgramUniform1i\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM1IVPROC)(GLuint program, GLint location, GLsizei count, const GLint *value);\nGLAPI PFNGLPROGRAMUNIFORM1IVPROC glad_glProgramUniform1iv;\n#define glProgramUniform1iv glad_glProgramUniform1iv\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM1FPROC)(GLuint program, GLint location, GLfloat v0);\nGLAPI PFNGLPROGRAMUNIFORM1FPROC glad_glProgramUniform1f;\n#define glProgramUniform1f glad_glProgramUniform1f\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM1FVPROC)(GLuint program, GLint location, GLsizei count, const GLfloat *value);\nGLAPI PFNGLPROGRAMUNIFORM1FVPROC glad_glProgramUniform1fv;\n#define glProgramUniform1fv glad_glProgramUniform1fv\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM1DPROC)(GLuint program, GLint location, GLdouble v0);\nGLAPI PFNGLPROGRAMUNIFORM1DPROC glad_glProgramUniform1d;\n#define glProgramUniform1d glad_glProgramUniform1d\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM1DVPROC)(GLuint program, GLint location, GLsizei count, const GLdouble *value);\nGLAPI PFNGLPROGRAMUNIFORM1DVPROC glad_glProgramUniform1dv;\n#define glProgramUniform1dv glad_glProgramUniform1dv\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM1UIPROC)(GLuint program, GLint location, GLuint v0);\nGLAPI PFNGLPROGRAMUNIFORM1UIPROC glad_glProgramUniform1ui;\n#define glProgramUniform1ui glad_glProgramUniform1ui\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM1UIVPROC)(GLuint program, GLint location, GLsizei count, const GLuint *value);\nGLAPI PFNGLPROGRAMUNIFORM1UIVPROC glad_glProgramUniform1uiv;\n#define glProgramUniform1uiv glad_glProgramUniform1uiv\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM2IPROC)(GLuint program, GLint location, GLint v0, GLint v1);\nGLAPI PFNGLPROGRAMUNIFORM2IPROC glad_glProgramUniform2i;\n#define glProgramUniform2i glad_glProgramUniform2i\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM2IVPROC)(GLuint program, GLint location, GLsizei count, const GLint *value);\nGLAPI PFNGLPROGRAMUNIFORM2IVPROC glad_glProgramUniform2iv;\n#define glProgramUniform2iv glad_glProgramUniform2iv\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM2FPROC)(GLuint program, GLint location, GLfloat v0, GLfloat v1);\nGLAPI PFNGLPROGRAMUNIFORM2FPROC glad_glProgramUniform2f;\n#define glProgramUniform2f glad_glProgramUniform2f\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM2FVPROC)(GLuint program, GLint location, GLsizei count, const GLfloat *value);\nGLAPI PFNGLPROGRAMUNIFORM2FVPROC glad_glProgramUniform2fv;\n#define glProgramUniform2fv glad_glProgramUniform2fv\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM2DPROC)(GLuint program, GLint location, GLdouble v0, GLdouble v1);\nGLAPI PFNGLPROGRAMUNIFORM2DPROC glad_glProgramUniform2d;\n#define glProgramUniform2d glad_glProgramUniform2d\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM2DVPROC)(GLuint program, GLint location, GLsizei count, const GLdouble *value);\nGLAPI PFNGLPROGRAMUNIFORM2DVPROC glad_glProgramUniform2dv;\n#define glProgramUniform2dv glad_glProgramUniform2dv\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM2UIPROC)(GLuint program, GLint location, GLuint v0, GLuint v1);\nGLAPI PFNGLPROGRAMUNIFORM2UIPROC glad_glProgramUniform2ui;\n#define glProgramUniform2ui glad_glProgramUniform2ui\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM2UIVPROC)(GLuint program, GLint location, GLsizei count, const GLuint *value);\nGLAPI PFNGLPROGRAMUNIFORM2UIVPROC glad_glProgramUniform2uiv;\n#define glProgramUniform2uiv glad_glProgramUniform2uiv\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM3IPROC)(GLuint program, GLint location, GLint v0, GLint v1, GLint v2);\nGLAPI PFNGLPROGRAMUNIFORM3IPROC glad_glProgramUniform3i;\n#define glProgramUniform3i glad_glProgramUniform3i\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM3IVPROC)(GLuint program, GLint location, GLsizei count, const GLint *value);\nGLAPI PFNGLPROGRAMUNIFORM3IVPROC glad_glProgramUniform3iv;\n#define glProgramUniform3iv glad_glProgramUniform3iv\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM3FPROC)(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2);\nGLAPI PFNGLPROGRAMUNIFORM3FPROC glad_glProgramUniform3f;\n#define glProgramUniform3f glad_glProgramUniform3f\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM3FVPROC)(GLuint program, GLint location, GLsizei count, const GLfloat *value);\nGLAPI PFNGLPROGRAMUNIFORM3FVPROC glad_glProgramUniform3fv;\n#define glProgramUniform3fv glad_glProgramUniform3fv\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM3DPROC)(GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2);\nGLAPI PFNGLPROGRAMUNIFORM3DPROC glad_glProgramUniform3d;\n#define glProgramUniform3d glad_glProgramUniform3d\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM3DVPROC)(GLuint program, GLint location, GLsizei count, const GLdouble *value);\nGLAPI PFNGLPROGRAMUNIFORM3DVPROC glad_glProgramUniform3dv;\n#define glProgramUniform3dv glad_glProgramUniform3dv\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM3UIPROC)(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2);\nGLAPI PFNGLPROGRAMUNIFORM3UIPROC glad_glProgramUniform3ui;\n#define glProgramUniform3ui glad_glProgramUniform3ui\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM3UIVPROC)(GLuint program, GLint location, GLsizei count, const GLuint *value);\nGLAPI PFNGLPROGRAMUNIFORM3UIVPROC glad_glProgramUniform3uiv;\n#define glProgramUniform3uiv glad_glProgramUniform3uiv\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM4IPROC)(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);\nGLAPI PFNGLPROGRAMUNIFORM4IPROC glad_glProgramUniform4i;\n#define glProgramUniform4i glad_glProgramUniform4i\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM4IVPROC)(GLuint program, GLint location, GLsizei count, const GLint *value);\nGLAPI PFNGLPROGRAMUNIFORM4IVPROC glad_glProgramUniform4iv;\n#define glProgramUniform4iv glad_glProgramUniform4iv\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM4FPROC)(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);\nGLAPI PFNGLPROGRAMUNIFORM4FPROC glad_glProgramUniform4f;\n#define glProgramUniform4f glad_glProgramUniform4f\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM4FVPROC)(GLuint program, GLint location, GLsizei count, const GLfloat *value);\nGLAPI PFNGLPROGRAMUNIFORM4FVPROC glad_glProgramUniform4fv;\n#define glProgramUniform4fv glad_glProgramUniform4fv\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM4DPROC)(GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2, GLdouble v3);\nGLAPI PFNGLPROGRAMUNIFORM4DPROC glad_glProgramUniform4d;\n#define glProgramUniform4d glad_glProgramUniform4d\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM4DVPROC)(GLuint program, GLint location, GLsizei count, const GLdouble *value);\nGLAPI PFNGLPROGRAMUNIFORM4DVPROC glad_glProgramUniform4dv;\n#define glProgramUniform4dv glad_glProgramUniform4dv\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM4UIPROC)(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);\nGLAPI PFNGLPROGRAMUNIFORM4UIPROC glad_glProgramUniform4ui;\n#define glProgramUniform4ui glad_glProgramUniform4ui\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM4UIVPROC)(GLuint program, GLint location, GLsizei count, const GLuint *value);\nGLAPI PFNGLPROGRAMUNIFORM4UIVPROC glad_glProgramUniform4uiv;\n#define glProgramUniform4uiv glad_glProgramUniform4uiv\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2FVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nGLAPI PFNGLPROGRAMUNIFORMMATRIX2FVPROC glad_glProgramUniformMatrix2fv;\n#define glProgramUniformMatrix2fv glad_glProgramUniformMatrix2fv\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3FVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nGLAPI PFNGLPROGRAMUNIFORMMATRIX3FVPROC glad_glProgramUniformMatrix3fv;\n#define glProgramUniformMatrix3fv glad_glProgramUniformMatrix3fv\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4FVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nGLAPI PFNGLPROGRAMUNIFORMMATRIX4FVPROC glad_glProgramUniformMatrix4fv;\n#define glProgramUniformMatrix4fv glad_glProgramUniformMatrix4fv\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2DVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nGLAPI PFNGLPROGRAMUNIFORMMATRIX2DVPROC glad_glProgramUniformMatrix2dv;\n#define glProgramUniformMatrix2dv glad_glProgramUniformMatrix2dv\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3DVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nGLAPI PFNGLPROGRAMUNIFORMMATRIX3DVPROC glad_glProgramUniformMatrix3dv;\n#define glProgramUniformMatrix3dv glad_glProgramUniformMatrix3dv\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4DVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nGLAPI PFNGLPROGRAMUNIFORMMATRIX4DVPROC glad_glProgramUniformMatrix4dv;\n#define glProgramUniformMatrix4dv glad_glProgramUniformMatrix4dv\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nGLAPI PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC glad_glProgramUniformMatrix2x3fv;\n#define glProgramUniformMatrix2x3fv glad_glProgramUniformMatrix2x3fv\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nGLAPI PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC glad_glProgramUniformMatrix3x2fv;\n#define glProgramUniformMatrix3x2fv glad_glProgramUniformMatrix3x2fv\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nGLAPI PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC glad_glProgramUniformMatrix2x4fv;\n#define glProgramUniformMatrix2x4fv glad_glProgramUniformMatrix2x4fv\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nGLAPI PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC glad_glProgramUniformMatrix4x2fv;\n#define glProgramUniformMatrix4x2fv glad_glProgramUniformMatrix4x2fv\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nGLAPI PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC glad_glProgramUniformMatrix3x4fv;\n#define glProgramUniformMatrix3x4fv glad_glProgramUniformMatrix3x4fv\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nGLAPI PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC glad_glProgramUniformMatrix4x3fv;\n#define glProgramUniformMatrix4x3fv glad_glProgramUniformMatrix4x3fv\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nGLAPI PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC glad_glProgramUniformMatrix2x3dv;\n#define glProgramUniformMatrix2x3dv glad_glProgramUniformMatrix2x3dv\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nGLAPI PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC glad_glProgramUniformMatrix3x2dv;\n#define glProgramUniformMatrix3x2dv glad_glProgramUniformMatrix3x2dv\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nGLAPI PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC glad_glProgramUniformMatrix2x4dv;\n#define glProgramUniformMatrix2x4dv glad_glProgramUniformMatrix2x4dv\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nGLAPI PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC glad_glProgramUniformMatrix4x2dv;\n#define glProgramUniformMatrix4x2dv glad_glProgramUniformMatrix4x2dv\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nGLAPI PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC glad_glProgramUniformMatrix3x4dv;\n#define glProgramUniformMatrix3x4dv glad_glProgramUniformMatrix3x4dv\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nGLAPI PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC glad_glProgramUniformMatrix4x3dv;\n#define glProgramUniformMatrix4x3dv glad_glProgramUniformMatrix4x3dv\ntypedef void (APIENTRYP PFNGLVALIDATEPROGRAMPIPELINEPROC)(GLuint pipeline);\nGLAPI PFNGLVALIDATEPROGRAMPIPELINEPROC glad_glValidateProgramPipeline;\n#define glValidateProgramPipeline glad_glValidateProgramPipeline\ntypedef void (APIENTRYP PFNGLGETPROGRAMPIPELINEINFOLOGPROC)(GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);\nGLAPI PFNGLGETPROGRAMPIPELINEINFOLOGPROC glad_glGetProgramPipelineInfoLog;\n#define glGetProgramPipelineInfoLog glad_glGetProgramPipelineInfoLog\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBL1DPROC)(GLuint index, GLdouble x);\nGLAPI PFNGLVERTEXATTRIBL1DPROC glad_glVertexAttribL1d;\n#define glVertexAttribL1d glad_glVertexAttribL1d\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBL2DPROC)(GLuint index, GLdouble x, GLdouble y);\nGLAPI PFNGLVERTEXATTRIBL2DPROC glad_glVertexAttribL2d;\n#define glVertexAttribL2d glad_glVertexAttribL2d\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBL3DPROC)(GLuint index, GLdouble x, GLdouble y, GLdouble z);\nGLAPI PFNGLVERTEXATTRIBL3DPROC glad_glVertexAttribL3d;\n#define glVertexAttribL3d glad_glVertexAttribL3d\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBL4DPROC)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nGLAPI PFNGLVERTEXATTRIBL4DPROC glad_glVertexAttribL4d;\n#define glVertexAttribL4d glad_glVertexAttribL4d\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBL1DVPROC)(GLuint index, const GLdouble *v);\nGLAPI PFNGLVERTEXATTRIBL1DVPROC glad_glVertexAttribL1dv;\n#define glVertexAttribL1dv glad_glVertexAttribL1dv\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBL2DVPROC)(GLuint index, const GLdouble *v);\nGLAPI PFNGLVERTEXATTRIBL2DVPROC glad_glVertexAttribL2dv;\n#define glVertexAttribL2dv glad_glVertexAttribL2dv\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBL3DVPROC)(GLuint index, const GLdouble *v);\nGLAPI PFNGLVERTEXATTRIBL3DVPROC glad_glVertexAttribL3dv;\n#define glVertexAttribL3dv glad_glVertexAttribL3dv\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBL4DVPROC)(GLuint index, const GLdouble *v);\nGLAPI PFNGLVERTEXATTRIBL4DVPROC glad_glVertexAttribL4dv;\n#define glVertexAttribL4dv glad_glVertexAttribL4dv\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBLPOINTERPROC)(GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer);\nGLAPI PFNGLVERTEXATTRIBLPOINTERPROC glad_glVertexAttribLPointer;\n#define glVertexAttribLPointer glad_glVertexAttribLPointer\ntypedef void (APIENTRYP PFNGLGETVERTEXATTRIBLDVPROC)(GLuint index, GLenum pname, GLdouble *params);\nGLAPI PFNGLGETVERTEXATTRIBLDVPROC glad_glGetVertexAttribLdv;\n#define glGetVertexAttribLdv glad_glGetVertexAttribLdv\ntypedef void (APIENTRYP PFNGLVIEWPORTARRAYVPROC)(GLuint first, GLsizei count, const GLfloat *v);\nGLAPI PFNGLVIEWPORTARRAYVPROC glad_glViewportArrayv;\n#define glViewportArrayv glad_glViewportArrayv\ntypedef void (APIENTRYP PFNGLVIEWPORTINDEXEDFPROC)(GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h);\nGLAPI PFNGLVIEWPORTINDEXEDFPROC glad_glViewportIndexedf;\n#define glViewportIndexedf glad_glViewportIndexedf\ntypedef void (APIENTRYP PFNGLVIEWPORTINDEXEDFVPROC)(GLuint index, const GLfloat *v);\nGLAPI PFNGLVIEWPORTINDEXEDFVPROC glad_glViewportIndexedfv;\n#define glViewportIndexedfv glad_glViewportIndexedfv\ntypedef void (APIENTRYP PFNGLSCISSORARRAYVPROC)(GLuint first, GLsizei count, const GLint *v);\nGLAPI PFNGLSCISSORARRAYVPROC glad_glScissorArrayv;\n#define glScissorArrayv glad_glScissorArrayv\ntypedef void (APIENTRYP PFNGLSCISSORINDEXEDPROC)(GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height);\nGLAPI PFNGLSCISSORINDEXEDPROC glad_glScissorIndexed;\n#define glScissorIndexed glad_glScissorIndexed\ntypedef void (APIENTRYP PFNGLSCISSORINDEXEDVPROC)(GLuint index, const GLint *v);\nGLAPI PFNGLSCISSORINDEXEDVPROC glad_glScissorIndexedv;\n#define glScissorIndexedv glad_glScissorIndexedv\ntypedef void (APIENTRYP PFNGLDEPTHRANGEARRAYVPROC)(GLuint first, GLsizei count, const GLdouble *v);\nGLAPI PFNGLDEPTHRANGEARRAYVPROC glad_glDepthRangeArrayv;\n#define glDepthRangeArrayv glad_glDepthRangeArrayv\ntypedef void (APIENTRYP PFNGLDEPTHRANGEINDEXEDPROC)(GLuint index, GLdouble n, GLdouble f);\nGLAPI PFNGLDEPTHRANGEINDEXEDPROC glad_glDepthRangeIndexed;\n#define glDepthRangeIndexed glad_glDepthRangeIndexed\ntypedef void (APIENTRYP PFNGLGETFLOATI_VPROC)(GLenum target, GLuint index, GLfloat *data);\nGLAPI PFNGLGETFLOATI_VPROC glad_glGetFloati_v;\n#define glGetFloati_v glad_glGetFloati_v\ntypedef void (APIENTRYP PFNGLGETDOUBLEI_VPROC)(GLenum target, GLuint index, GLdouble *data);\nGLAPI PFNGLGETDOUBLEI_VPROC glad_glGetDoublei_v;\n#define glGetDoublei_v glad_glGetDoublei_v\n#endif\n#ifndef GL_VERSION_4_2\n#define GL_VERSION_4_2 1\nGLAPI int GLAD_GL_VERSION_4_2;\ntypedef void (APIENTRYP PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC)(GLenum mode, GLint first, GLsizei count, GLsizei instancecount, GLuint baseinstance);\nGLAPI PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC glad_glDrawArraysInstancedBaseInstance;\n#define glDrawArraysInstancedBaseInstance glad_glDrawArraysInstancedBaseInstance\ntypedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC)(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLuint baseinstance);\nGLAPI PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC glad_glDrawElementsInstancedBaseInstance;\n#define glDrawElementsInstancedBaseInstance glad_glDrawElementsInstancedBaseInstance\ntypedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC)(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex, GLuint baseinstance);\nGLAPI PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC glad_glDrawElementsInstancedBaseVertexBaseInstance;\n#define glDrawElementsInstancedBaseVertexBaseInstance glad_glDrawElementsInstancedBaseVertexBaseInstance\ntypedef void (APIENTRYP PFNGLGETINTERNALFORMATIVPROC)(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint *params);\nGLAPI PFNGLGETINTERNALFORMATIVPROC glad_glGetInternalformativ;\n#define glGetInternalformativ glad_glGetInternalformativ\ntypedef void (APIENTRYP PFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC)(GLuint program, GLuint bufferIndex, GLenum pname, GLint *params);\nGLAPI PFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC glad_glGetActiveAtomicCounterBufferiv;\n#define glGetActiveAtomicCounterBufferiv glad_glGetActiveAtomicCounterBufferiv\ntypedef void (APIENTRYP PFNGLBINDIMAGETEXTUREPROC)(GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format);\nGLAPI PFNGLBINDIMAGETEXTUREPROC glad_glBindImageTexture;\n#define glBindImageTexture glad_glBindImageTexture\ntypedef void (APIENTRYP PFNGLMEMORYBARRIERPROC)(GLbitfield barriers);\nGLAPI PFNGLMEMORYBARRIERPROC glad_glMemoryBarrier;\n#define glMemoryBarrier glad_glMemoryBarrier\ntypedef void (APIENTRYP PFNGLTEXSTORAGE1DPROC)(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);\nGLAPI PFNGLTEXSTORAGE1DPROC glad_glTexStorage1D;\n#define glTexStorage1D glad_glTexStorage1D\ntypedef void (APIENTRYP PFNGLTEXSTORAGE2DPROC)(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);\nGLAPI PFNGLTEXSTORAGE2DPROC glad_glTexStorage2D;\n#define glTexStorage2D glad_glTexStorage2D\ntypedef void (APIENTRYP PFNGLTEXSTORAGE3DPROC)(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);\nGLAPI PFNGLTEXSTORAGE3DPROC glad_glTexStorage3D;\n#define glTexStorage3D glad_glTexStorage3D\ntypedef void (APIENTRYP PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC)(GLenum mode, GLuint id, GLsizei instancecount);\nGLAPI PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC glad_glDrawTransformFeedbackInstanced;\n#define glDrawTransformFeedbackInstanced glad_glDrawTransformFeedbackInstanced\ntypedef void (APIENTRYP PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC)(GLenum mode, GLuint id, GLuint stream, GLsizei instancecount);\nGLAPI PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC glad_glDrawTransformFeedbackStreamInstanced;\n#define glDrawTransformFeedbackStreamInstanced glad_glDrawTransformFeedbackStreamInstanced\n#endif\n#ifndef GL_VERSION_4_3\n#define GL_VERSION_4_3 1\nGLAPI int GLAD_GL_VERSION_4_3;\ntypedef void (APIENTRYP PFNGLCLEARBUFFERDATAPROC)(GLenum target, GLenum internalformat, GLenum format, GLenum type, const void *data);\nGLAPI PFNGLCLEARBUFFERDATAPROC glad_glClearBufferData;\n#define glClearBufferData glad_glClearBufferData\ntypedef void (APIENTRYP PFNGLCLEARBUFFERSUBDATAPROC)(GLenum target, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data);\nGLAPI PFNGLCLEARBUFFERSUBDATAPROC glad_glClearBufferSubData;\n#define glClearBufferSubData glad_glClearBufferSubData\ntypedef void (APIENTRYP PFNGLDISPATCHCOMPUTEPROC)(GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z);\nGLAPI PFNGLDISPATCHCOMPUTEPROC glad_glDispatchCompute;\n#define glDispatchCompute glad_glDispatchCompute\ntypedef void (APIENTRYP PFNGLDISPATCHCOMPUTEINDIRECTPROC)(GLintptr indirect);\nGLAPI PFNGLDISPATCHCOMPUTEINDIRECTPROC glad_glDispatchComputeIndirect;\n#define glDispatchComputeIndirect glad_glDispatchComputeIndirect\ntypedef void (APIENTRYP PFNGLCOPYIMAGESUBDATAPROC)(GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth);\nGLAPI PFNGLCOPYIMAGESUBDATAPROC glad_glCopyImageSubData;\n#define glCopyImageSubData glad_glCopyImageSubData\ntypedef void (APIENTRYP PFNGLFRAMEBUFFERPARAMETERIPROC)(GLenum target, GLenum pname, GLint param);\nGLAPI PFNGLFRAMEBUFFERPARAMETERIPROC glad_glFramebufferParameteri;\n#define glFramebufferParameteri glad_glFramebufferParameteri\ntypedef void (APIENTRYP PFNGLGETFRAMEBUFFERPARAMETERIVPROC)(GLenum target, GLenum pname, GLint *params);\nGLAPI PFNGLGETFRAMEBUFFERPARAMETERIVPROC glad_glGetFramebufferParameteriv;\n#define glGetFramebufferParameteriv glad_glGetFramebufferParameteriv\ntypedef void (APIENTRYP PFNGLGETINTERNALFORMATI64VPROC)(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint64 *params);\nGLAPI PFNGLGETINTERNALFORMATI64VPROC glad_glGetInternalformati64v;\n#define glGetInternalformati64v glad_glGetInternalformati64v\ntypedef void (APIENTRYP PFNGLINVALIDATETEXSUBIMAGEPROC)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth);\nGLAPI PFNGLINVALIDATETEXSUBIMAGEPROC glad_glInvalidateTexSubImage;\n#define glInvalidateTexSubImage glad_glInvalidateTexSubImage\ntypedef void (APIENTRYP PFNGLINVALIDATETEXIMAGEPROC)(GLuint texture, GLint level);\nGLAPI PFNGLINVALIDATETEXIMAGEPROC glad_glInvalidateTexImage;\n#define glInvalidateTexImage glad_glInvalidateTexImage\ntypedef void (APIENTRYP PFNGLINVALIDATEBUFFERSUBDATAPROC)(GLuint buffer, GLintptr offset, GLsizeiptr length);\nGLAPI PFNGLINVALIDATEBUFFERSUBDATAPROC glad_glInvalidateBufferSubData;\n#define glInvalidateBufferSubData glad_glInvalidateBufferSubData\ntypedef void (APIENTRYP PFNGLINVALIDATEBUFFERDATAPROC)(GLuint buffer);\nGLAPI PFNGLINVALIDATEBUFFERDATAPROC glad_glInvalidateBufferData;\n#define glInvalidateBufferData glad_glInvalidateBufferData\ntypedef void (APIENTRYP PFNGLINVALIDATEFRAMEBUFFERPROC)(GLenum target, GLsizei numAttachments, const GLenum *attachments);\nGLAPI PFNGLINVALIDATEFRAMEBUFFERPROC glad_glInvalidateFramebuffer;\n#define glInvalidateFramebuffer glad_glInvalidateFramebuffer\ntypedef void (APIENTRYP PFNGLINVALIDATESUBFRAMEBUFFERPROC)(GLenum target, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height);\nGLAPI PFNGLINVALIDATESUBFRAMEBUFFERPROC glad_glInvalidateSubFramebuffer;\n#define glInvalidateSubFramebuffer glad_glInvalidateSubFramebuffer\ntypedef void (APIENTRYP PFNGLMULTIDRAWARRAYSINDIRECTPROC)(GLenum mode, const void *indirect, GLsizei drawcount, GLsizei stride);\nGLAPI PFNGLMULTIDRAWARRAYSINDIRECTPROC glad_glMultiDrawArraysIndirect;\n#define glMultiDrawArraysIndirect glad_glMultiDrawArraysIndirect\ntypedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSINDIRECTPROC)(GLenum mode, GLenum type, const void *indirect, GLsizei drawcount, GLsizei stride);\nGLAPI PFNGLMULTIDRAWELEMENTSINDIRECTPROC glad_glMultiDrawElementsIndirect;\n#define glMultiDrawElementsIndirect glad_glMultiDrawElementsIndirect\ntypedef void (APIENTRYP PFNGLGETPROGRAMINTERFACEIVPROC)(GLuint program, GLenum programInterface, GLenum pname, GLint *params);\nGLAPI PFNGLGETPROGRAMINTERFACEIVPROC glad_glGetProgramInterfaceiv;\n#define glGetProgramInterfaceiv glad_glGetProgramInterfaceiv\ntypedef GLuint (APIENTRYP PFNGLGETPROGRAMRESOURCEINDEXPROC)(GLuint program, GLenum programInterface, const GLchar *name);\nGLAPI PFNGLGETPROGRAMRESOURCEINDEXPROC glad_glGetProgramResourceIndex;\n#define glGetProgramResourceIndex glad_glGetProgramResourceIndex\ntypedef void (APIENTRYP PFNGLGETPROGRAMRESOURCENAMEPROC)(GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name);\nGLAPI PFNGLGETPROGRAMRESOURCENAMEPROC glad_glGetProgramResourceName;\n#define glGetProgramResourceName glad_glGetProgramResourceName\ntypedef void (APIENTRYP PFNGLGETPROGRAMRESOURCEIVPROC)(GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum *props, GLsizei bufSize, GLsizei *length, GLint *params);\nGLAPI PFNGLGETPROGRAMRESOURCEIVPROC glad_glGetProgramResourceiv;\n#define glGetProgramResourceiv glad_glGetProgramResourceiv\ntypedef GLint (APIENTRYP PFNGLGETPROGRAMRESOURCELOCATIONPROC)(GLuint program, GLenum programInterface, const GLchar *name);\nGLAPI PFNGLGETPROGRAMRESOURCELOCATIONPROC glad_glGetProgramResourceLocation;\n#define glGetProgramResourceLocation glad_glGetProgramResourceLocation\ntypedef GLint (APIENTRYP PFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC)(GLuint program, GLenum programInterface, const GLchar *name);\nGLAPI PFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC glad_glGetProgramResourceLocationIndex;\n#define glGetProgramResourceLocationIndex glad_glGetProgramResourceLocationIndex\ntypedef void (APIENTRYP PFNGLSHADERSTORAGEBLOCKBINDINGPROC)(GLuint program, GLuint storageBlockIndex, GLuint storageBlockBinding);\nGLAPI PFNGLSHADERSTORAGEBLOCKBINDINGPROC glad_glShaderStorageBlockBinding;\n#define glShaderStorageBlockBinding glad_glShaderStorageBlockBinding\ntypedef void (APIENTRYP PFNGLTEXBUFFERRANGEPROC)(GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size);\nGLAPI PFNGLTEXBUFFERRANGEPROC glad_glTexBufferRange;\n#define glTexBufferRange glad_glTexBufferRange\ntypedef void (APIENTRYP PFNGLTEXSTORAGE2DMULTISAMPLEPROC)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);\nGLAPI PFNGLTEXSTORAGE2DMULTISAMPLEPROC glad_glTexStorage2DMultisample;\n#define glTexStorage2DMultisample glad_glTexStorage2DMultisample\ntypedef void (APIENTRYP PFNGLTEXSTORAGE3DMULTISAMPLEPROC)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);\nGLAPI PFNGLTEXSTORAGE3DMULTISAMPLEPROC glad_glTexStorage3DMultisample;\n#define glTexStorage3DMultisample glad_glTexStorage3DMultisample\ntypedef void (APIENTRYP PFNGLTEXTUREVIEWPROC)(GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers);\nGLAPI PFNGLTEXTUREVIEWPROC glad_glTextureView;\n#define glTextureView glad_glTextureView\ntypedef void (APIENTRYP PFNGLBINDVERTEXBUFFERPROC)(GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride);\nGLAPI PFNGLBINDVERTEXBUFFERPROC glad_glBindVertexBuffer;\n#define glBindVertexBuffer glad_glBindVertexBuffer\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBFORMATPROC)(GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset);\nGLAPI PFNGLVERTEXATTRIBFORMATPROC glad_glVertexAttribFormat;\n#define glVertexAttribFormat glad_glVertexAttribFormat\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBIFORMATPROC)(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);\nGLAPI PFNGLVERTEXATTRIBIFORMATPROC glad_glVertexAttribIFormat;\n#define glVertexAttribIFormat glad_glVertexAttribIFormat\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBLFORMATPROC)(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);\nGLAPI PFNGLVERTEXATTRIBLFORMATPROC glad_glVertexAttribLFormat;\n#define glVertexAttribLFormat glad_glVertexAttribLFormat\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBBINDINGPROC)(GLuint attribindex, GLuint bindingindex);\nGLAPI PFNGLVERTEXATTRIBBINDINGPROC glad_glVertexAttribBinding;\n#define glVertexAttribBinding glad_glVertexAttribBinding\ntypedef void (APIENTRYP PFNGLVERTEXBINDINGDIVISORPROC)(GLuint bindingindex, GLuint divisor);\nGLAPI PFNGLVERTEXBINDINGDIVISORPROC glad_glVertexBindingDivisor;\n#define glVertexBindingDivisor glad_glVertexBindingDivisor\ntypedef void (APIENTRYP PFNGLDEBUGMESSAGECONTROLPROC)(GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);\nGLAPI PFNGLDEBUGMESSAGECONTROLPROC glad_glDebugMessageControl;\n#define glDebugMessageControl glad_glDebugMessageControl\ntypedef void (APIENTRYP PFNGLDEBUGMESSAGEINSERTPROC)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);\nGLAPI PFNGLDEBUGMESSAGEINSERTPROC glad_glDebugMessageInsert;\n#define glDebugMessageInsert glad_glDebugMessageInsert\ntypedef void (APIENTRYP PFNGLDEBUGMESSAGECALLBACKPROC)(GLDEBUGPROC callback, const void *userParam);\nGLAPI PFNGLDEBUGMESSAGECALLBACKPROC glad_glDebugMessageCallback;\n#define glDebugMessageCallback glad_glDebugMessageCallback\ntypedef GLuint (APIENTRYP PFNGLGETDEBUGMESSAGELOGPROC)(GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);\nGLAPI PFNGLGETDEBUGMESSAGELOGPROC glad_glGetDebugMessageLog;\n#define glGetDebugMessageLog glad_glGetDebugMessageLog\ntypedef void (APIENTRYP PFNGLPUSHDEBUGGROUPPROC)(GLenum source, GLuint id, GLsizei length, const GLchar *message);\nGLAPI PFNGLPUSHDEBUGGROUPPROC glad_glPushDebugGroup;\n#define glPushDebugGroup glad_glPushDebugGroup\ntypedef void (APIENTRYP PFNGLPOPDEBUGGROUPPROC)();\nGLAPI PFNGLPOPDEBUGGROUPPROC glad_glPopDebugGroup;\n#define glPopDebugGroup glad_glPopDebugGroup\ntypedef void (APIENTRYP PFNGLOBJECTLABELPROC)(GLenum identifier, GLuint name, GLsizei length, const GLchar *label);\nGLAPI PFNGLOBJECTLABELPROC glad_glObjectLabel;\n#define glObjectLabel glad_glObjectLabel\ntypedef void (APIENTRYP PFNGLGETOBJECTLABELPROC)(GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label);\nGLAPI PFNGLGETOBJECTLABELPROC glad_glGetObjectLabel;\n#define glGetObjectLabel glad_glGetObjectLabel\ntypedef void (APIENTRYP PFNGLOBJECTPTRLABELPROC)(const void *ptr, GLsizei length, const GLchar *label);\nGLAPI PFNGLOBJECTPTRLABELPROC glad_glObjectPtrLabel;\n#define glObjectPtrLabel glad_glObjectPtrLabel\ntypedef void (APIENTRYP PFNGLGETOBJECTPTRLABELPROC)(const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label);\nGLAPI PFNGLGETOBJECTPTRLABELPROC glad_glGetObjectPtrLabel;\n#define glGetObjectPtrLabel glad_glGetObjectPtrLabel\n#endif\n#ifndef GL_VERSION_4_4\n#define GL_VERSION_4_4 1\nGLAPI int GLAD_GL_VERSION_4_4;\ntypedef void (APIENTRYP PFNGLBUFFERSTORAGEPROC)(GLenum target, GLsizeiptr size, const void *data, GLbitfield flags);\nGLAPI PFNGLBUFFERSTORAGEPROC glad_glBufferStorage;\n#define glBufferStorage glad_glBufferStorage\ntypedef void (APIENTRYP PFNGLCLEARTEXIMAGEPROC)(GLuint texture, GLint level, GLenum format, GLenum type, const void *data);\nGLAPI PFNGLCLEARTEXIMAGEPROC glad_glClearTexImage;\n#define glClearTexImage glad_glClearTexImage\ntypedef void (APIENTRYP PFNGLCLEARTEXSUBIMAGEPROC)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data);\nGLAPI PFNGLCLEARTEXSUBIMAGEPROC glad_glClearTexSubImage;\n#define glClearTexSubImage glad_glClearTexSubImage\ntypedef void (APIENTRYP PFNGLBINDBUFFERSBASEPROC)(GLenum target, GLuint first, GLsizei count, const GLuint *buffers);\nGLAPI PFNGLBINDBUFFERSBASEPROC glad_glBindBuffersBase;\n#define glBindBuffersBase glad_glBindBuffersBase\ntypedef void (APIENTRYP PFNGLBINDBUFFERSRANGEPROC)(GLenum target, GLuint first, GLsizei count, const GLuint *buffers, const GLintptr *offsets, const GLsizeiptr *sizes);\nGLAPI PFNGLBINDBUFFERSRANGEPROC glad_glBindBuffersRange;\n#define glBindBuffersRange glad_glBindBuffersRange\ntypedef void (APIENTRYP PFNGLBINDTEXTURESPROC)(GLuint first, GLsizei count, const GLuint *textures);\nGLAPI PFNGLBINDTEXTURESPROC glad_glBindTextures;\n#define glBindTextures glad_glBindTextures\ntypedef void (APIENTRYP PFNGLBINDSAMPLERSPROC)(GLuint first, GLsizei count, const GLuint *samplers);\nGLAPI PFNGLBINDSAMPLERSPROC glad_glBindSamplers;\n#define glBindSamplers glad_glBindSamplers\ntypedef void (APIENTRYP PFNGLBINDIMAGETEXTURESPROC)(GLuint first, GLsizei count, const GLuint *textures);\nGLAPI PFNGLBINDIMAGETEXTURESPROC glad_glBindImageTextures;\n#define glBindImageTextures glad_glBindImageTextures\ntypedef void (APIENTRYP PFNGLBINDVERTEXBUFFERSPROC)(GLuint first, GLsizei count, const GLuint *buffers, const GLintptr *offsets, const GLsizei *strides);\nGLAPI PFNGLBINDVERTEXBUFFERSPROC glad_glBindVertexBuffers;\n#define glBindVertexBuffers glad_glBindVertexBuffers\n#endif\n#ifndef GL_VERSION_4_5\n#define GL_VERSION_4_5 1\nGLAPI int GLAD_GL_VERSION_4_5;\ntypedef void (APIENTRYP PFNGLCLIPCONTROLPROC)(GLenum origin, GLenum depth);\nGLAPI PFNGLCLIPCONTROLPROC glad_glClipControl;\n#define glClipControl glad_glClipControl\ntypedef void (APIENTRYP PFNGLCREATETRANSFORMFEEDBACKSPROC)(GLsizei n, GLuint *ids);\nGLAPI PFNGLCREATETRANSFORMFEEDBACKSPROC glad_glCreateTransformFeedbacks;\n#define glCreateTransformFeedbacks glad_glCreateTransformFeedbacks\ntypedef void (APIENTRYP PFNGLTRANSFORMFEEDBACKBUFFERBASEPROC)(GLuint xfb, GLuint index, GLuint buffer);\nGLAPI PFNGLTRANSFORMFEEDBACKBUFFERBASEPROC glad_glTransformFeedbackBufferBase;\n#define glTransformFeedbackBufferBase glad_glTransformFeedbackBufferBase\ntypedef void (APIENTRYP PFNGLTRANSFORMFEEDBACKBUFFERRANGEPROC)(GLuint xfb, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);\nGLAPI PFNGLTRANSFORMFEEDBACKBUFFERRANGEPROC glad_glTransformFeedbackBufferRange;\n#define glTransformFeedbackBufferRange glad_glTransformFeedbackBufferRange\ntypedef void (APIENTRYP PFNGLGETTRANSFORMFEEDBACKIVPROC)(GLuint xfb, GLenum pname, GLint *param);\nGLAPI PFNGLGETTRANSFORMFEEDBACKIVPROC glad_glGetTransformFeedbackiv;\n#define glGetTransformFeedbackiv glad_glGetTransformFeedbackiv\ntypedef void (APIENTRYP PFNGLGETTRANSFORMFEEDBACKI_VPROC)(GLuint xfb, GLenum pname, GLuint index, GLint *param);\nGLAPI PFNGLGETTRANSFORMFEEDBACKI_VPROC glad_glGetTransformFeedbacki_v;\n#define glGetTransformFeedbacki_v glad_glGetTransformFeedbacki_v\ntypedef void (APIENTRYP PFNGLGETTRANSFORMFEEDBACKI64_VPROC)(GLuint xfb, GLenum pname, GLuint index, GLint64 *param);\nGLAPI PFNGLGETTRANSFORMFEEDBACKI64_VPROC glad_glGetTransformFeedbacki64_v;\n#define glGetTransformFeedbacki64_v glad_glGetTransformFeedbacki64_v\ntypedef void (APIENTRYP PFNGLCREATEBUFFERSPROC)(GLsizei n, GLuint *buffers);\nGLAPI PFNGLCREATEBUFFERSPROC glad_glCreateBuffers;\n#define glCreateBuffers glad_glCreateBuffers\ntypedef void (APIENTRYP PFNGLNAMEDBUFFERSTORAGEPROC)(GLuint buffer, GLsizeiptr size, const void *data, GLbitfield flags);\nGLAPI PFNGLNAMEDBUFFERSTORAGEPROC glad_glNamedBufferStorage;\n#define glNamedBufferStorage glad_glNamedBufferStorage\ntypedef void (APIENTRYP PFNGLNAMEDBUFFERDATAPROC)(GLuint buffer, GLsizeiptr size, const void *data, GLenum usage);\nGLAPI PFNGLNAMEDBUFFERDATAPROC glad_glNamedBufferData;\n#define glNamedBufferData glad_glNamedBufferData\ntypedef void (APIENTRYP PFNGLNAMEDBUFFERSUBDATAPROC)(GLuint buffer, GLintptr offset, GLsizeiptr size, const void *data);\nGLAPI PFNGLNAMEDBUFFERSUBDATAPROC glad_glNamedBufferSubData;\n#define glNamedBufferSubData glad_glNamedBufferSubData\ntypedef void (APIENTRYP PFNGLCOPYNAMEDBUFFERSUBDATAPROC)(GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);\nGLAPI PFNGLCOPYNAMEDBUFFERSUBDATAPROC glad_glCopyNamedBufferSubData;\n#define glCopyNamedBufferSubData glad_glCopyNamedBufferSubData\ntypedef void (APIENTRYP PFNGLCLEARNAMEDBUFFERDATAPROC)(GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const void *data);\nGLAPI PFNGLCLEARNAMEDBUFFERDATAPROC glad_glClearNamedBufferData;\n#define glClearNamedBufferData glad_glClearNamedBufferData\ntypedef void (APIENTRYP PFNGLCLEARNAMEDBUFFERSUBDATAPROC)(GLuint buffer, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data);\nGLAPI PFNGLCLEARNAMEDBUFFERSUBDATAPROC glad_glClearNamedBufferSubData;\n#define glClearNamedBufferSubData glad_glClearNamedBufferSubData\ntypedef void * (APIENTRYP PFNGLMAPNAMEDBUFFERPROC)(GLuint buffer, GLenum access);\nGLAPI PFNGLMAPNAMEDBUFFERPROC glad_glMapNamedBuffer;\n#define glMapNamedBuffer glad_glMapNamedBuffer\ntypedef void * (APIENTRYP PFNGLMAPNAMEDBUFFERRANGEPROC)(GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access);\nGLAPI PFNGLMAPNAMEDBUFFERRANGEPROC glad_glMapNamedBufferRange;\n#define glMapNamedBufferRange glad_glMapNamedBufferRange\ntypedef GLboolean (APIENTRYP PFNGLUNMAPNAMEDBUFFERPROC)(GLuint buffer);\nGLAPI PFNGLUNMAPNAMEDBUFFERPROC glad_glUnmapNamedBuffer;\n#define glUnmapNamedBuffer glad_glUnmapNamedBuffer\ntypedef void (APIENTRYP PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEPROC)(GLuint buffer, GLintptr offset, GLsizeiptr length);\nGLAPI PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEPROC glad_glFlushMappedNamedBufferRange;\n#define glFlushMappedNamedBufferRange glad_glFlushMappedNamedBufferRange\ntypedef void (APIENTRYP PFNGLGETNAMEDBUFFERPARAMETERIVPROC)(GLuint buffer, GLenum pname, GLint *params);\nGLAPI PFNGLGETNAMEDBUFFERPARAMETERIVPROC glad_glGetNamedBufferParameteriv;\n#define glGetNamedBufferParameteriv glad_glGetNamedBufferParameteriv\ntypedef void (APIENTRYP PFNGLGETNAMEDBUFFERPARAMETERI64VPROC)(GLuint buffer, GLenum pname, GLint64 *params);\nGLAPI PFNGLGETNAMEDBUFFERPARAMETERI64VPROC glad_glGetNamedBufferParameteri64v;\n#define glGetNamedBufferParameteri64v glad_glGetNamedBufferParameteri64v\ntypedef void (APIENTRYP PFNGLGETNAMEDBUFFERPOINTERVPROC)(GLuint buffer, GLenum pname, void **params);\nGLAPI PFNGLGETNAMEDBUFFERPOINTERVPROC glad_glGetNamedBufferPointerv;\n#define glGetNamedBufferPointerv glad_glGetNamedBufferPointerv\ntypedef void (APIENTRYP PFNGLGETNAMEDBUFFERSUBDATAPROC)(GLuint buffer, GLintptr offset, GLsizeiptr size, void *data);\nGLAPI PFNGLGETNAMEDBUFFERSUBDATAPROC glad_glGetNamedBufferSubData;\n#define glGetNamedBufferSubData glad_glGetNamedBufferSubData\ntypedef void (APIENTRYP PFNGLCREATEFRAMEBUFFERSPROC)(GLsizei n, GLuint *framebuffers);\nGLAPI PFNGLCREATEFRAMEBUFFERSPROC glad_glCreateFramebuffers;\n#define glCreateFramebuffers glad_glCreateFramebuffers\ntypedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERRENDERBUFFERPROC)(GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);\nGLAPI PFNGLNAMEDFRAMEBUFFERRENDERBUFFERPROC glad_glNamedFramebufferRenderbuffer;\n#define glNamedFramebufferRenderbuffer glad_glNamedFramebufferRenderbuffer\ntypedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERPARAMETERIPROC)(GLuint framebuffer, GLenum pname, GLint param);\nGLAPI PFNGLNAMEDFRAMEBUFFERPARAMETERIPROC glad_glNamedFramebufferParameteri;\n#define glNamedFramebufferParameteri glad_glNamedFramebufferParameteri\ntypedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERTEXTUREPROC)(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level);\nGLAPI PFNGLNAMEDFRAMEBUFFERTEXTUREPROC glad_glNamedFramebufferTexture;\n#define glNamedFramebufferTexture glad_glNamedFramebufferTexture\ntypedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERTEXTURELAYERPROC)(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer);\nGLAPI PFNGLNAMEDFRAMEBUFFERTEXTURELAYERPROC glad_glNamedFramebufferTextureLayer;\n#define glNamedFramebufferTextureLayer glad_glNamedFramebufferTextureLayer\ntypedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERDRAWBUFFERPROC)(GLuint framebuffer, GLenum buf);\nGLAPI PFNGLNAMEDFRAMEBUFFERDRAWBUFFERPROC glad_glNamedFramebufferDrawBuffer;\n#define glNamedFramebufferDrawBuffer glad_glNamedFramebufferDrawBuffer\ntypedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERDRAWBUFFERSPROC)(GLuint framebuffer, GLsizei n, const GLenum *bufs);\nGLAPI PFNGLNAMEDFRAMEBUFFERDRAWBUFFERSPROC glad_glNamedFramebufferDrawBuffers;\n#define glNamedFramebufferDrawBuffers glad_glNamedFramebufferDrawBuffers\ntypedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERREADBUFFERPROC)(GLuint framebuffer, GLenum src);\nGLAPI PFNGLNAMEDFRAMEBUFFERREADBUFFERPROC glad_glNamedFramebufferReadBuffer;\n#define glNamedFramebufferReadBuffer glad_glNamedFramebufferReadBuffer\ntypedef void (APIENTRYP PFNGLINVALIDATENAMEDFRAMEBUFFERDATAPROC)(GLuint framebuffer, GLsizei numAttachments, const GLenum *attachments);\nGLAPI PFNGLINVALIDATENAMEDFRAMEBUFFERDATAPROC glad_glInvalidateNamedFramebufferData;\n#define glInvalidateNamedFramebufferData glad_glInvalidateNamedFramebufferData\ntypedef void (APIENTRYP PFNGLINVALIDATENAMEDFRAMEBUFFERSUBDATAPROC)(GLuint framebuffer, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height);\nGLAPI PFNGLINVALIDATENAMEDFRAMEBUFFERSUBDATAPROC glad_glInvalidateNamedFramebufferSubData;\n#define glInvalidateNamedFramebufferSubData glad_glInvalidateNamedFramebufferSubData\ntypedef void (APIENTRYP PFNGLCLEARNAMEDFRAMEBUFFERIVPROC)(GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLint *value);\nGLAPI PFNGLCLEARNAMEDFRAMEBUFFERIVPROC glad_glClearNamedFramebufferiv;\n#define glClearNamedFramebufferiv glad_glClearNamedFramebufferiv\ntypedef void (APIENTRYP PFNGLCLEARNAMEDFRAMEBUFFERUIVPROC)(GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLuint *value);\nGLAPI PFNGLCLEARNAMEDFRAMEBUFFERUIVPROC glad_glClearNamedFramebufferuiv;\n#define glClearNamedFramebufferuiv glad_glClearNamedFramebufferuiv\ntypedef void (APIENTRYP PFNGLCLEARNAMEDFRAMEBUFFERFVPROC)(GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLfloat *value);\nGLAPI PFNGLCLEARNAMEDFRAMEBUFFERFVPROC glad_glClearNamedFramebufferfv;\n#define glClearNamedFramebufferfv glad_glClearNamedFramebufferfv\ntypedef void (APIENTRYP PFNGLCLEARNAMEDFRAMEBUFFERFIPROC)(GLuint framebuffer, GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil);\nGLAPI PFNGLCLEARNAMEDFRAMEBUFFERFIPROC glad_glClearNamedFramebufferfi;\n#define glClearNamedFramebufferfi glad_glClearNamedFramebufferfi\ntypedef void (APIENTRYP PFNGLBLITNAMEDFRAMEBUFFERPROC)(GLuint readFramebuffer, GLuint drawFramebuffer, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);\nGLAPI PFNGLBLITNAMEDFRAMEBUFFERPROC glad_glBlitNamedFramebuffer;\n#define glBlitNamedFramebuffer glad_glBlitNamedFramebuffer\ntypedef GLenum (APIENTRYP PFNGLCHECKNAMEDFRAMEBUFFERSTATUSPROC)(GLuint framebuffer, GLenum target);\nGLAPI PFNGLCHECKNAMEDFRAMEBUFFERSTATUSPROC glad_glCheckNamedFramebufferStatus;\n#define glCheckNamedFramebufferStatus glad_glCheckNamedFramebufferStatus\ntypedef void (APIENTRYP PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVPROC)(GLuint framebuffer, GLenum pname, GLint *param);\nGLAPI PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVPROC glad_glGetNamedFramebufferParameteriv;\n#define glGetNamedFramebufferParameteriv glad_glGetNamedFramebufferParameteriv\ntypedef void (APIENTRYP PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVPROC)(GLuint framebuffer, GLenum attachment, GLenum pname, GLint *params);\nGLAPI PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVPROC glad_glGetNamedFramebufferAttachmentParameteriv;\n#define glGetNamedFramebufferAttachmentParameteriv glad_glGetNamedFramebufferAttachmentParameteriv\ntypedef void (APIENTRYP PFNGLCREATERENDERBUFFERSPROC)(GLsizei n, GLuint *renderbuffers);\nGLAPI PFNGLCREATERENDERBUFFERSPROC glad_glCreateRenderbuffers;\n#define glCreateRenderbuffers glad_glCreateRenderbuffers\ntypedef void (APIENTRYP PFNGLNAMEDRENDERBUFFERSTORAGEPROC)(GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height);\nGLAPI PFNGLNAMEDRENDERBUFFERSTORAGEPROC glad_glNamedRenderbufferStorage;\n#define glNamedRenderbufferStorage glad_glNamedRenderbufferStorage\ntypedef void (APIENTRYP PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEPROC)(GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);\nGLAPI PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEPROC glad_glNamedRenderbufferStorageMultisample;\n#define glNamedRenderbufferStorageMultisample glad_glNamedRenderbufferStorageMultisample\ntypedef void (APIENTRYP PFNGLGETNAMEDRENDERBUFFERPARAMETERIVPROC)(GLuint renderbuffer, GLenum pname, GLint *params);\nGLAPI PFNGLGETNAMEDRENDERBUFFERPARAMETERIVPROC glad_glGetNamedRenderbufferParameteriv;\n#define glGetNamedRenderbufferParameteriv glad_glGetNamedRenderbufferParameteriv\ntypedef void (APIENTRYP PFNGLCREATETEXTURESPROC)(GLenum target, GLsizei n, GLuint *textures);\nGLAPI PFNGLCREATETEXTURESPROC glad_glCreateTextures;\n#define glCreateTextures glad_glCreateTextures\ntypedef void (APIENTRYP PFNGLTEXTUREBUFFERPROC)(GLuint texture, GLenum internalformat, GLuint buffer);\nGLAPI PFNGLTEXTUREBUFFERPROC glad_glTextureBuffer;\n#define glTextureBuffer glad_glTextureBuffer\ntypedef void (APIENTRYP PFNGLTEXTUREBUFFERRANGEPROC)(GLuint texture, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size);\nGLAPI PFNGLTEXTUREBUFFERRANGEPROC glad_glTextureBufferRange;\n#define glTextureBufferRange glad_glTextureBufferRange\ntypedef void (APIENTRYP PFNGLTEXTURESTORAGE1DPROC)(GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width);\nGLAPI PFNGLTEXTURESTORAGE1DPROC glad_glTextureStorage1D;\n#define glTextureStorage1D glad_glTextureStorage1D\ntypedef void (APIENTRYP PFNGLTEXTURESTORAGE2DPROC)(GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);\nGLAPI PFNGLTEXTURESTORAGE2DPROC glad_glTextureStorage2D;\n#define glTextureStorage2D glad_glTextureStorage2D\ntypedef void (APIENTRYP PFNGLTEXTURESTORAGE3DPROC)(GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);\nGLAPI PFNGLTEXTURESTORAGE3DPROC glad_glTextureStorage3D;\n#define glTextureStorage3D glad_glTextureStorage3D\ntypedef void (APIENTRYP PFNGLTEXTURESTORAGE2DMULTISAMPLEPROC)(GLuint texture, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);\nGLAPI PFNGLTEXTURESTORAGE2DMULTISAMPLEPROC glad_glTextureStorage2DMultisample;\n#define glTextureStorage2DMultisample glad_glTextureStorage2DMultisample\ntypedef void (APIENTRYP PFNGLTEXTURESTORAGE3DMULTISAMPLEPROC)(GLuint texture, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);\nGLAPI PFNGLTEXTURESTORAGE3DMULTISAMPLEPROC glad_glTextureStorage3DMultisample;\n#define glTextureStorage3DMultisample glad_glTextureStorage3DMultisample\ntypedef void (APIENTRYP PFNGLTEXTURESUBIMAGE1DPROC)(GLuint texture, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels);\nGLAPI PFNGLTEXTURESUBIMAGE1DPROC glad_glTextureSubImage1D;\n#define glTextureSubImage1D glad_glTextureSubImage1D\ntypedef void (APIENTRYP PFNGLTEXTURESUBIMAGE2DPROC)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels);\nGLAPI PFNGLTEXTURESUBIMAGE2DPROC glad_glTextureSubImage2D;\n#define glTextureSubImage2D glad_glTextureSubImage2D\ntypedef void (APIENTRYP PFNGLTEXTURESUBIMAGE3DPROC)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels);\nGLAPI PFNGLTEXTURESUBIMAGE3DPROC glad_glTextureSubImage3D;\n#define glTextureSubImage3D glad_glTextureSubImage3D\ntypedef void (APIENTRYP PFNGLCOMPRESSEDTEXTURESUBIMAGE1DPROC)(GLuint texture, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *data);\nGLAPI PFNGLCOMPRESSEDTEXTURESUBIMAGE1DPROC glad_glCompressedTextureSubImage1D;\n#define glCompressedTextureSubImage1D glad_glCompressedTextureSubImage1D\ntypedef void (APIENTRYP PFNGLCOMPRESSEDTEXTURESUBIMAGE2DPROC)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data);\nGLAPI PFNGLCOMPRESSEDTEXTURESUBIMAGE2DPROC glad_glCompressedTextureSubImage2D;\n#define glCompressedTextureSubImage2D glad_glCompressedTextureSubImage2D\ntypedef void (APIENTRYP PFNGLCOMPRESSEDTEXTURESUBIMAGE3DPROC)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data);\nGLAPI PFNGLCOMPRESSEDTEXTURESUBIMAGE3DPROC glad_glCompressedTextureSubImage3D;\n#define glCompressedTextureSubImage3D glad_glCompressedTextureSubImage3D\ntypedef void (APIENTRYP PFNGLCOPYTEXTURESUBIMAGE1DPROC)(GLuint texture, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);\nGLAPI PFNGLCOPYTEXTURESUBIMAGE1DPROC glad_glCopyTextureSubImage1D;\n#define glCopyTextureSubImage1D glad_glCopyTextureSubImage1D\ntypedef void (APIENTRYP PFNGLCOPYTEXTURESUBIMAGE2DPROC)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);\nGLAPI PFNGLCOPYTEXTURESUBIMAGE2DPROC glad_glCopyTextureSubImage2D;\n#define glCopyTextureSubImage2D glad_glCopyTextureSubImage2D\ntypedef void (APIENTRYP PFNGLCOPYTEXTURESUBIMAGE3DPROC)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);\nGLAPI PFNGLCOPYTEXTURESUBIMAGE3DPROC glad_glCopyTextureSubImage3D;\n#define glCopyTextureSubImage3D glad_glCopyTextureSubImage3D\ntypedef void (APIENTRYP PFNGLTEXTUREPARAMETERFPROC)(GLuint texture, GLenum pname, GLfloat param);\nGLAPI PFNGLTEXTUREPARAMETERFPROC glad_glTextureParameterf;\n#define glTextureParameterf glad_glTextureParameterf\ntypedef void (APIENTRYP PFNGLTEXTUREPARAMETERFVPROC)(GLuint texture, GLenum pname, const GLfloat *param);\nGLAPI PFNGLTEXTUREPARAMETERFVPROC glad_glTextureParameterfv;\n#define glTextureParameterfv glad_glTextureParameterfv\ntypedef void (APIENTRYP PFNGLTEXTUREPARAMETERIPROC)(GLuint texture, GLenum pname, GLint param);\nGLAPI PFNGLTEXTUREPARAMETERIPROC glad_glTextureParameteri;\n#define glTextureParameteri glad_glTextureParameteri\ntypedef void (APIENTRYP PFNGLTEXTUREPARAMETERIIVPROC)(GLuint texture, GLenum pname, const GLint *params);\nGLAPI PFNGLTEXTUREPARAMETERIIVPROC glad_glTextureParameterIiv;\n#define glTextureParameterIiv glad_glTextureParameterIiv\ntypedef void (APIENTRYP PFNGLTEXTUREPARAMETERIUIVPROC)(GLuint texture, GLenum pname, const GLuint *params);\nGLAPI PFNGLTEXTUREPARAMETERIUIVPROC glad_glTextureParameterIuiv;\n#define glTextureParameterIuiv glad_glTextureParameterIuiv\ntypedef void (APIENTRYP PFNGLTEXTUREPARAMETERIVPROC)(GLuint texture, GLenum pname, const GLint *param);\nGLAPI PFNGLTEXTUREPARAMETERIVPROC glad_glTextureParameteriv;\n#define glTextureParameteriv glad_glTextureParameteriv\ntypedef void (APIENTRYP PFNGLGENERATETEXTUREMIPMAPPROC)(GLuint texture);\nGLAPI PFNGLGENERATETEXTUREMIPMAPPROC glad_glGenerateTextureMipmap;\n#define glGenerateTextureMipmap glad_glGenerateTextureMipmap\ntypedef void (APIENTRYP PFNGLBINDTEXTUREUNITPROC)(GLuint unit, GLuint texture);\nGLAPI PFNGLBINDTEXTUREUNITPROC glad_glBindTextureUnit;\n#define glBindTextureUnit glad_glBindTextureUnit\ntypedef void (APIENTRYP PFNGLGETTEXTUREIMAGEPROC)(GLuint texture, GLint level, GLenum format, GLenum type, GLsizei bufSize, void *pixels);\nGLAPI PFNGLGETTEXTUREIMAGEPROC glad_glGetTextureImage;\n#define glGetTextureImage glad_glGetTextureImage\ntypedef void (APIENTRYP PFNGLGETCOMPRESSEDTEXTUREIMAGEPROC)(GLuint texture, GLint level, GLsizei bufSize, void *pixels);\nGLAPI PFNGLGETCOMPRESSEDTEXTUREIMAGEPROC glad_glGetCompressedTextureImage;\n#define glGetCompressedTextureImage glad_glGetCompressedTextureImage\ntypedef void (APIENTRYP PFNGLGETTEXTURELEVELPARAMETERFVPROC)(GLuint texture, GLint level, GLenum pname, GLfloat *params);\nGLAPI PFNGLGETTEXTURELEVELPARAMETERFVPROC glad_glGetTextureLevelParameterfv;\n#define glGetTextureLevelParameterfv glad_glGetTextureLevelParameterfv\ntypedef void (APIENTRYP PFNGLGETTEXTURELEVELPARAMETERIVPROC)(GLuint texture, GLint level, GLenum pname, GLint *params);\nGLAPI PFNGLGETTEXTURELEVELPARAMETERIVPROC glad_glGetTextureLevelParameteriv;\n#define glGetTextureLevelParameteriv glad_glGetTextureLevelParameteriv\ntypedef void (APIENTRYP PFNGLGETTEXTUREPARAMETERFVPROC)(GLuint texture, GLenum pname, GLfloat *params);\nGLAPI PFNGLGETTEXTUREPARAMETERFVPROC glad_glGetTextureParameterfv;\n#define glGetTextureParameterfv glad_glGetTextureParameterfv\ntypedef void (APIENTRYP PFNGLGETTEXTUREPARAMETERIIVPROC)(GLuint texture, GLenum pname, GLint *params);\nGLAPI PFNGLGETTEXTUREPARAMETERIIVPROC glad_glGetTextureParameterIiv;\n#define glGetTextureParameterIiv glad_glGetTextureParameterIiv\ntypedef void (APIENTRYP PFNGLGETTEXTUREPARAMETERIUIVPROC)(GLuint texture, GLenum pname, GLuint *params);\nGLAPI PFNGLGETTEXTUREPARAMETERIUIVPROC glad_glGetTextureParameterIuiv;\n#define glGetTextureParameterIuiv glad_glGetTextureParameterIuiv\ntypedef void (APIENTRYP PFNGLGETTEXTUREPARAMETERIVPROC)(GLuint texture, GLenum pname, GLint *params);\nGLAPI PFNGLGETTEXTUREPARAMETERIVPROC glad_glGetTextureParameteriv;\n#define glGetTextureParameteriv glad_glGetTextureParameteriv\ntypedef void (APIENTRYP PFNGLCREATEVERTEXARRAYSPROC)(GLsizei n, GLuint *arrays);\nGLAPI PFNGLCREATEVERTEXARRAYSPROC glad_glCreateVertexArrays;\n#define glCreateVertexArrays glad_glCreateVertexArrays\ntypedef void (APIENTRYP PFNGLDISABLEVERTEXARRAYATTRIBPROC)(GLuint vaobj, GLuint index);\nGLAPI PFNGLDISABLEVERTEXARRAYATTRIBPROC glad_glDisableVertexArrayAttrib;\n#define glDisableVertexArrayAttrib glad_glDisableVertexArrayAttrib\ntypedef void (APIENTRYP PFNGLENABLEVERTEXARRAYATTRIBPROC)(GLuint vaobj, GLuint index);\nGLAPI PFNGLENABLEVERTEXARRAYATTRIBPROC glad_glEnableVertexArrayAttrib;\n#define glEnableVertexArrayAttrib glad_glEnableVertexArrayAttrib\ntypedef void (APIENTRYP PFNGLVERTEXARRAYELEMENTBUFFERPROC)(GLuint vaobj, GLuint buffer);\nGLAPI PFNGLVERTEXARRAYELEMENTBUFFERPROC glad_glVertexArrayElementBuffer;\n#define glVertexArrayElementBuffer glad_glVertexArrayElementBuffer\ntypedef void (APIENTRYP PFNGLVERTEXARRAYVERTEXBUFFERPROC)(GLuint vaobj, GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride);\nGLAPI PFNGLVERTEXARRAYVERTEXBUFFERPROC glad_glVertexArrayVertexBuffer;\n#define glVertexArrayVertexBuffer glad_glVertexArrayVertexBuffer\ntypedef void (APIENTRYP PFNGLVERTEXARRAYVERTEXBUFFERSPROC)(GLuint vaobj, GLuint first, GLsizei count, const GLuint *buffers, const GLintptr *offsets, const GLsizei *strides);\nGLAPI PFNGLVERTEXARRAYVERTEXBUFFERSPROC glad_glVertexArrayVertexBuffers;\n#define glVertexArrayVertexBuffers glad_glVertexArrayVertexBuffers\ntypedef void (APIENTRYP PFNGLVERTEXARRAYATTRIBBINDINGPROC)(GLuint vaobj, GLuint attribindex, GLuint bindingindex);\nGLAPI PFNGLVERTEXARRAYATTRIBBINDINGPROC glad_glVertexArrayAttribBinding;\n#define glVertexArrayAttribBinding glad_glVertexArrayAttribBinding\ntypedef void (APIENTRYP PFNGLVERTEXARRAYATTRIBFORMATPROC)(GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset);\nGLAPI PFNGLVERTEXARRAYATTRIBFORMATPROC glad_glVertexArrayAttribFormat;\n#define glVertexArrayAttribFormat glad_glVertexArrayAttribFormat\ntypedef void (APIENTRYP PFNGLVERTEXARRAYATTRIBIFORMATPROC)(GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);\nGLAPI PFNGLVERTEXARRAYATTRIBIFORMATPROC glad_glVertexArrayAttribIFormat;\n#define glVertexArrayAttribIFormat glad_glVertexArrayAttribIFormat\ntypedef void (APIENTRYP PFNGLVERTEXARRAYATTRIBLFORMATPROC)(GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);\nGLAPI PFNGLVERTEXARRAYATTRIBLFORMATPROC glad_glVertexArrayAttribLFormat;\n#define glVertexArrayAttribLFormat glad_glVertexArrayAttribLFormat\ntypedef void (APIENTRYP PFNGLVERTEXARRAYBINDINGDIVISORPROC)(GLuint vaobj, GLuint bindingindex, GLuint divisor);\nGLAPI PFNGLVERTEXARRAYBINDINGDIVISORPROC glad_glVertexArrayBindingDivisor;\n#define glVertexArrayBindingDivisor glad_glVertexArrayBindingDivisor\ntypedef void (APIENTRYP PFNGLGETVERTEXARRAYIVPROC)(GLuint vaobj, GLenum pname, GLint *param);\nGLAPI PFNGLGETVERTEXARRAYIVPROC glad_glGetVertexArrayiv;\n#define glGetVertexArrayiv glad_glGetVertexArrayiv\ntypedef void (APIENTRYP PFNGLGETVERTEXARRAYINDEXEDIVPROC)(GLuint vaobj, GLuint index, GLenum pname, GLint *param);\nGLAPI PFNGLGETVERTEXARRAYINDEXEDIVPROC glad_glGetVertexArrayIndexediv;\n#define glGetVertexArrayIndexediv glad_glGetVertexArrayIndexediv\ntypedef void (APIENTRYP PFNGLGETVERTEXARRAYINDEXED64IVPROC)(GLuint vaobj, GLuint index, GLenum pname, GLint64 *param);\nGLAPI PFNGLGETVERTEXARRAYINDEXED64IVPROC glad_glGetVertexArrayIndexed64iv;\n#define glGetVertexArrayIndexed64iv glad_glGetVertexArrayIndexed64iv\ntypedef void (APIENTRYP PFNGLCREATESAMPLERSPROC)(GLsizei n, GLuint *samplers);\nGLAPI PFNGLCREATESAMPLERSPROC glad_glCreateSamplers;\n#define glCreateSamplers glad_glCreateSamplers\ntypedef void (APIENTRYP PFNGLCREATEPROGRAMPIPELINESPROC)(GLsizei n, GLuint *pipelines);\nGLAPI PFNGLCREATEPROGRAMPIPELINESPROC glad_glCreateProgramPipelines;\n#define glCreateProgramPipelines glad_glCreateProgramPipelines\ntypedef void (APIENTRYP PFNGLCREATEQUERIESPROC)(GLenum target, GLsizei n, GLuint *ids);\nGLAPI PFNGLCREATEQUERIESPROC glad_glCreateQueries;\n#define glCreateQueries glad_glCreateQueries\ntypedef void (APIENTRYP PFNGLGETQUERYBUFFEROBJECTI64VPROC)(GLuint id, GLuint buffer, GLenum pname, GLintptr offset);\nGLAPI PFNGLGETQUERYBUFFEROBJECTI64VPROC glad_glGetQueryBufferObjecti64v;\n#define glGetQueryBufferObjecti64v glad_glGetQueryBufferObjecti64v\ntypedef void (APIENTRYP PFNGLGETQUERYBUFFEROBJECTIVPROC)(GLuint id, GLuint buffer, GLenum pname, GLintptr offset);\nGLAPI PFNGLGETQUERYBUFFEROBJECTIVPROC glad_glGetQueryBufferObjectiv;\n#define glGetQueryBufferObjectiv glad_glGetQueryBufferObjectiv\ntypedef void (APIENTRYP PFNGLGETQUERYBUFFEROBJECTUI64VPROC)(GLuint id, GLuint buffer, GLenum pname, GLintptr offset);\nGLAPI PFNGLGETQUERYBUFFEROBJECTUI64VPROC glad_glGetQueryBufferObjectui64v;\n#define glGetQueryBufferObjectui64v glad_glGetQueryBufferObjectui64v\ntypedef void (APIENTRYP PFNGLGETQUERYBUFFEROBJECTUIVPROC)(GLuint id, GLuint buffer, GLenum pname, GLintptr offset);\nGLAPI PFNGLGETQUERYBUFFEROBJECTUIVPROC glad_glGetQueryBufferObjectuiv;\n#define glGetQueryBufferObjectuiv glad_glGetQueryBufferObjectuiv\ntypedef void (APIENTRYP PFNGLMEMORYBARRIERBYREGIONPROC)(GLbitfield barriers);\nGLAPI PFNGLMEMORYBARRIERBYREGIONPROC glad_glMemoryBarrierByRegion;\n#define glMemoryBarrierByRegion glad_glMemoryBarrierByRegion\ntypedef void (APIENTRYP PFNGLGETTEXTURESUBIMAGEPROC)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLsizei bufSize, void *pixels);\nGLAPI PFNGLGETTEXTURESUBIMAGEPROC glad_glGetTextureSubImage;\n#define glGetTextureSubImage glad_glGetTextureSubImage\ntypedef void (APIENTRYP PFNGLGETCOMPRESSEDTEXTURESUBIMAGEPROC)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLsizei bufSize, void *pixels);\nGLAPI PFNGLGETCOMPRESSEDTEXTURESUBIMAGEPROC glad_glGetCompressedTextureSubImage;\n#define glGetCompressedTextureSubImage glad_glGetCompressedTextureSubImage\ntypedef GLenum (APIENTRYP PFNGLGETGRAPHICSRESETSTATUSPROC)();\nGLAPI PFNGLGETGRAPHICSRESETSTATUSPROC glad_glGetGraphicsResetStatus;\n#define glGetGraphicsResetStatus glad_glGetGraphicsResetStatus\ntypedef void (APIENTRYP PFNGLGETNCOMPRESSEDTEXIMAGEPROC)(GLenum target, GLint lod, GLsizei bufSize, void *pixels);\nGLAPI PFNGLGETNCOMPRESSEDTEXIMAGEPROC glad_glGetnCompressedTexImage;\n#define glGetnCompressedTexImage glad_glGetnCompressedTexImage\ntypedef void (APIENTRYP PFNGLGETNTEXIMAGEPROC)(GLenum target, GLint level, GLenum format, GLenum type, GLsizei bufSize, void *pixels);\nGLAPI PFNGLGETNTEXIMAGEPROC glad_glGetnTexImage;\n#define glGetnTexImage glad_glGetnTexImage\ntypedef void (APIENTRYP PFNGLGETNUNIFORMDVPROC)(GLuint program, GLint location, GLsizei bufSize, GLdouble *params);\nGLAPI PFNGLGETNUNIFORMDVPROC glad_glGetnUniformdv;\n#define glGetnUniformdv glad_glGetnUniformdv\ntypedef void (APIENTRYP PFNGLGETNUNIFORMFVPROC)(GLuint program, GLint location, GLsizei bufSize, GLfloat *params);\nGLAPI PFNGLGETNUNIFORMFVPROC glad_glGetnUniformfv;\n#define glGetnUniformfv glad_glGetnUniformfv\ntypedef void (APIENTRYP PFNGLGETNUNIFORMIVPROC)(GLuint program, GLint location, GLsizei bufSize, GLint *params);\nGLAPI PFNGLGETNUNIFORMIVPROC glad_glGetnUniformiv;\n#define glGetnUniformiv glad_glGetnUniformiv\ntypedef void (APIENTRYP PFNGLGETNUNIFORMUIVPROC)(GLuint program, GLint location, GLsizei bufSize, GLuint *params);\nGLAPI PFNGLGETNUNIFORMUIVPROC glad_glGetnUniformuiv;\n#define glGetnUniformuiv glad_glGetnUniformuiv\ntypedef void (APIENTRYP PFNGLREADNPIXELSPROC)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data);\nGLAPI PFNGLREADNPIXELSPROC glad_glReadnPixels;\n#define glReadnPixels glad_glReadnPixels\ntypedef void (APIENTRYP PFNGLGETNMAPDVPROC)(GLenum target, GLenum query, GLsizei bufSize, GLdouble *v);\nGLAPI PFNGLGETNMAPDVPROC glad_glGetnMapdv;\n#define glGetnMapdv glad_glGetnMapdv\ntypedef void (APIENTRYP PFNGLGETNMAPFVPROC)(GLenum target, GLenum query, GLsizei bufSize, GLfloat *v);\nGLAPI PFNGLGETNMAPFVPROC glad_glGetnMapfv;\n#define glGetnMapfv glad_glGetnMapfv\ntypedef void (APIENTRYP PFNGLGETNMAPIVPROC)(GLenum target, GLenum query, GLsizei bufSize, GLint *v);\nGLAPI PFNGLGETNMAPIVPROC glad_glGetnMapiv;\n#define glGetnMapiv glad_glGetnMapiv\ntypedef void (APIENTRYP PFNGLGETNPIXELMAPFVPROC)(GLenum map, GLsizei bufSize, GLfloat *values);\nGLAPI PFNGLGETNPIXELMAPFVPROC glad_glGetnPixelMapfv;\n#define glGetnPixelMapfv glad_glGetnPixelMapfv\ntypedef void (APIENTRYP PFNGLGETNPIXELMAPUIVPROC)(GLenum map, GLsizei bufSize, GLuint *values);\nGLAPI PFNGLGETNPIXELMAPUIVPROC glad_glGetnPixelMapuiv;\n#define glGetnPixelMapuiv glad_glGetnPixelMapuiv\ntypedef void (APIENTRYP PFNGLGETNPIXELMAPUSVPROC)(GLenum map, GLsizei bufSize, GLushort *values);\nGLAPI PFNGLGETNPIXELMAPUSVPROC glad_glGetnPixelMapusv;\n#define glGetnPixelMapusv glad_glGetnPixelMapusv\ntypedef void (APIENTRYP PFNGLGETNPOLYGONSTIPPLEPROC)(GLsizei bufSize, GLubyte *pattern);\nGLAPI PFNGLGETNPOLYGONSTIPPLEPROC glad_glGetnPolygonStipple;\n#define glGetnPolygonStipple glad_glGetnPolygonStipple\ntypedef void (APIENTRYP PFNGLGETNCOLORTABLEPROC)(GLenum target, GLenum format, GLenum type, GLsizei bufSize, void *table);\nGLAPI PFNGLGETNCOLORTABLEPROC glad_glGetnColorTable;\n#define glGetnColorTable glad_glGetnColorTable\ntypedef void (APIENTRYP PFNGLGETNCONVOLUTIONFILTERPROC)(GLenum target, GLenum format, GLenum type, GLsizei bufSize, void *image);\nGLAPI PFNGLGETNCONVOLUTIONFILTERPROC glad_glGetnConvolutionFilter;\n#define glGetnConvolutionFilter glad_glGetnConvolutionFilter\ntypedef void (APIENTRYP PFNGLGETNSEPARABLEFILTERPROC)(GLenum target, GLenum format, GLenum type, GLsizei rowBufSize, void *row, GLsizei columnBufSize, void *column, void *span);\nGLAPI PFNGLGETNSEPARABLEFILTERPROC glad_glGetnSeparableFilter;\n#define glGetnSeparableFilter glad_glGetnSeparableFilter\ntypedef void (APIENTRYP PFNGLGETNHISTOGRAMPROC)(GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, void *values);\nGLAPI PFNGLGETNHISTOGRAMPROC glad_glGetnHistogram;\n#define glGetnHistogram glad_glGetnHistogram\ntypedef void (APIENTRYP PFNGLGETNMINMAXPROC)(GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, void *values);\nGLAPI PFNGLGETNMINMAXPROC glad_glGetnMinmax;\n#define glGetnMinmax glad_glGetnMinmax\ntypedef void (APIENTRYP PFNGLTEXTUREBARRIERPROC)();\nGLAPI PFNGLTEXTUREBARRIERPROC glad_glTextureBarrier;\n#define glTextureBarrier glad_glTextureBarrier\n#endif\n#ifndef GL_VERSION_4_6\n#define GL_VERSION_4_6 1\nGLAPI int GLAD_GL_VERSION_4_6;\ntypedef void (APIENTRYP PFNGLSPECIALIZESHADERPROC)(GLuint shader, const GLchar *pEntryPoint, GLuint numSpecializationConstants, const GLuint *pConstantIndex, const GLuint *pConstantValue);\nGLAPI PFNGLSPECIALIZESHADERPROC glad_glSpecializeShader;\n#define glSpecializeShader glad_glSpecializeShader\ntypedef void (APIENTRYP PFNGLMULTIDRAWARRAYSINDIRECTCOUNTPROC)(GLenum mode, const void *indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride);\nGLAPI PFNGLMULTIDRAWARRAYSINDIRECTCOUNTPROC glad_glMultiDrawArraysIndirectCount;\n#define glMultiDrawArraysIndirectCount glad_glMultiDrawArraysIndirectCount\ntypedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSINDIRECTCOUNTPROC)(GLenum mode, GLenum type, const void *indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride);\nGLAPI PFNGLMULTIDRAWELEMENTSINDIRECTCOUNTPROC glad_glMultiDrawElementsIndirectCount;\n#define glMultiDrawElementsIndirectCount glad_glMultiDrawElementsIndirectCount\ntypedef void (APIENTRYP PFNGLPOLYGONOFFSETCLAMPPROC)(GLfloat factor, GLfloat units, GLfloat clamp);\nGLAPI PFNGLPOLYGONOFFSETCLAMPPROC glad_glPolygonOffsetClamp;\n#define glPolygonOffsetClamp glad_glPolygonOffsetClamp\n#endif\n#define GL_MULTISAMPLE_3DFX 0x86B2\n#define GL_SAMPLE_BUFFERS_3DFX 0x86B3\n#define GL_SAMPLES_3DFX 0x86B4\n#define GL_MULTISAMPLE_BIT_3DFX 0x20000000\n#define GL_COMPRESSED_RGB_FXT1_3DFX 0x86B0\n#define GL_COMPRESSED_RGBA_FXT1_3DFX 0x86B1\n#define GL_FACTOR_MIN_AMD 0x901C\n#define GL_FACTOR_MAX_AMD 0x901D\n#define GL_MAX_DEBUG_MESSAGE_LENGTH_AMD 0x9143\n#define GL_MAX_DEBUG_LOGGED_MESSAGES_AMD 0x9144\n#define GL_DEBUG_LOGGED_MESSAGES_AMD 0x9145\n#define GL_DEBUG_SEVERITY_HIGH_AMD 0x9146\n#define GL_DEBUG_SEVERITY_MEDIUM_AMD 0x9147\n#define GL_DEBUG_SEVERITY_LOW_AMD 0x9148\n#define GL_DEBUG_CATEGORY_API_ERROR_AMD 0x9149\n#define GL_DEBUG_CATEGORY_WINDOW_SYSTEM_AMD 0x914A\n#define GL_DEBUG_CATEGORY_DEPRECATION_AMD 0x914B\n#define GL_DEBUG_CATEGORY_UNDEFINED_BEHAVIOR_AMD 0x914C\n#define GL_DEBUG_CATEGORY_PERFORMANCE_AMD 0x914D\n#define GL_DEBUG_CATEGORY_SHADER_COMPILER_AMD 0x914E\n#define GL_DEBUG_CATEGORY_APPLICATION_AMD 0x914F\n#define GL_DEBUG_CATEGORY_OTHER_AMD 0x9150\n#define GL_DEPTH_CLAMP_NEAR_AMD 0x901E\n#define GL_DEPTH_CLAMP_FAR_AMD 0x901F\n#define GL_SUBSAMPLE_DISTANCE_AMD 0x883F\n#define GL_PIXELS_PER_SAMPLE_PATTERN_X_AMD 0x91AE\n#define GL_PIXELS_PER_SAMPLE_PATTERN_Y_AMD 0x91AF\n#define GL_ALL_PIXELS_AMD 0xFFFFFFFF\n#define GL_FLOAT16_NV 0x8FF8\n#define GL_FLOAT16_VEC2_NV 0x8FF9\n#define GL_FLOAT16_VEC3_NV 0x8FFA\n#define GL_FLOAT16_VEC4_NV 0x8FFB\n#define GL_FLOAT16_MAT2_AMD 0x91C5\n#define GL_FLOAT16_MAT3_AMD 0x91C6\n#define GL_FLOAT16_MAT4_AMD 0x91C7\n#define GL_FLOAT16_MAT2x3_AMD 0x91C8\n#define GL_FLOAT16_MAT2x4_AMD 0x91C9\n#define GL_FLOAT16_MAT3x2_AMD 0x91CA\n#define GL_FLOAT16_MAT3x4_AMD 0x91CB\n#define GL_FLOAT16_MAT4x2_AMD 0x91CC\n#define GL_FLOAT16_MAT4x3_AMD 0x91CD\n#define GL_INT64_NV 0x140E\n#define GL_UNSIGNED_INT64_NV 0x140F\n#define GL_INT8_NV 0x8FE0\n#define GL_INT8_VEC2_NV 0x8FE1\n#define GL_INT8_VEC3_NV 0x8FE2\n#define GL_INT8_VEC4_NV 0x8FE3\n#define GL_INT16_NV 0x8FE4\n#define GL_INT16_VEC2_NV 0x8FE5\n#define GL_INT16_VEC3_NV 0x8FE6\n#define GL_INT16_VEC4_NV 0x8FE7\n#define GL_INT64_VEC2_NV 0x8FE9\n#define GL_INT64_VEC3_NV 0x8FEA\n#define GL_INT64_VEC4_NV 0x8FEB\n#define GL_UNSIGNED_INT8_NV 0x8FEC\n#define GL_UNSIGNED_INT8_VEC2_NV 0x8FED\n#define GL_UNSIGNED_INT8_VEC3_NV 0x8FEE\n#define GL_UNSIGNED_INT8_VEC4_NV 0x8FEF\n#define GL_UNSIGNED_INT16_NV 0x8FF0\n#define GL_UNSIGNED_INT16_VEC2_NV 0x8FF1\n#define GL_UNSIGNED_INT16_VEC3_NV 0x8FF2\n#define GL_UNSIGNED_INT16_VEC4_NV 0x8FF3\n#define GL_UNSIGNED_INT64_VEC2_NV 0x8FF5\n#define GL_UNSIGNED_INT64_VEC3_NV 0x8FF6\n#define GL_UNSIGNED_INT64_VEC4_NV 0x8FF7\n#define GL_VERTEX_ELEMENT_SWIZZLE_AMD 0x91A4\n#define GL_VERTEX_ID_SWIZZLE_AMD 0x91A5\n#define GL_DATA_BUFFER_AMD 0x9151\n#define GL_PERFORMANCE_MONITOR_AMD 0x9152\n#define GL_QUERY_OBJECT_AMD 0x9153\n#define GL_VERTEX_ARRAY_OBJECT_AMD 0x9154\n#define GL_SAMPLER_OBJECT_AMD 0x9155\n#define GL_OCCLUSION_QUERY_EVENT_MASK_AMD 0x874F\n#define GL_QUERY_DEPTH_PASS_EVENT_BIT_AMD 0x00000001\n#define GL_QUERY_DEPTH_FAIL_EVENT_BIT_AMD 0x00000002\n#define GL_QUERY_STENCIL_FAIL_EVENT_BIT_AMD 0x00000004\n#define GL_QUERY_DEPTH_BOUNDS_FAIL_EVENT_BIT_AMD 0x00000008\n#define GL_QUERY_ALL_EVENT_BITS_AMD 0xFFFFFFFF\n#define GL_COUNTER_TYPE_AMD 0x8BC0\n#define GL_COUNTER_RANGE_AMD 0x8BC1\n#define GL_UNSIGNED_INT64_AMD 0x8BC2\n#define GL_PERCENTAGE_AMD 0x8BC3\n#define GL_PERFMON_RESULT_AVAILABLE_AMD 0x8BC4\n#define GL_PERFMON_RESULT_SIZE_AMD 0x8BC5\n#define GL_PERFMON_RESULT_AMD 0x8BC6\n#define GL_EXTERNAL_VIRTUAL_MEMORY_BUFFER_AMD 0x9160\n#define GL_QUERY_BUFFER_AMD 0x9192\n#define GL_QUERY_BUFFER_BINDING_AMD 0x9193\n#define GL_QUERY_RESULT_NO_WAIT_AMD 0x9194\n#define GL_VIRTUAL_PAGE_SIZE_X_AMD 0x9195\n#define GL_VIRTUAL_PAGE_SIZE_Y_AMD 0x9196\n#define GL_VIRTUAL_PAGE_SIZE_Z_AMD 0x9197\n#define GL_MAX_SPARSE_TEXTURE_SIZE_AMD 0x9198\n#define GL_MAX_SPARSE_3D_TEXTURE_SIZE_AMD 0x9199\n#define GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS 0x919A\n#define GL_MIN_SPARSE_LEVEL_AMD 0x919B\n#define GL_MIN_LOD_WARNING_AMD 0x919C\n#define GL_TEXTURE_STORAGE_SPARSE_BIT_AMD 0x00000001\n#define GL_SET_AMD 0x874A\n#define GL_REPLACE_VALUE_AMD 0x874B\n#define GL_STENCIL_OP_VALUE_AMD 0x874C\n#define GL_STENCIL_BACK_OP_VALUE_AMD 0x874D\n#define GL_STREAM_RASTERIZATION_AMD 0x91A0\n#define GL_SAMPLER_BUFFER_AMD 0x9001\n#define GL_INT_SAMPLER_BUFFER_AMD 0x9002\n#define GL_UNSIGNED_INT_SAMPLER_BUFFER_AMD 0x9003\n#define GL_TESSELLATION_MODE_AMD 0x9004\n#define GL_TESSELLATION_FACTOR_AMD 0x9005\n#define GL_DISCRETE_AMD 0x9006\n#define GL_CONTINUOUS_AMD 0x9007\n#define GL_AUX_DEPTH_STENCIL_APPLE 0x8A14\n#define GL_UNPACK_CLIENT_STORAGE_APPLE 0x85B2\n#define GL_ELEMENT_ARRAY_APPLE 0x8A0C\n#define GL_ELEMENT_ARRAY_TYPE_APPLE 0x8A0D\n#define GL_ELEMENT_ARRAY_POINTER_APPLE 0x8A0E\n#define GL_DRAW_PIXELS_APPLE 0x8A0A\n#define GL_FENCE_APPLE 0x8A0B\n#define GL_HALF_APPLE 0x140B\n#define GL_RGBA_FLOAT32_APPLE 0x8814\n#define GL_RGB_FLOAT32_APPLE 0x8815\n#define GL_ALPHA_FLOAT32_APPLE 0x8816\n#define GL_INTENSITY_FLOAT32_APPLE 0x8817\n#define GL_LUMINANCE_FLOAT32_APPLE 0x8818\n#define GL_LUMINANCE_ALPHA_FLOAT32_APPLE 0x8819\n#define GL_RGBA_FLOAT16_APPLE 0x881A\n#define GL_RGB_FLOAT16_APPLE 0x881B\n#define GL_ALPHA_FLOAT16_APPLE 0x881C\n#define GL_INTENSITY_FLOAT16_APPLE 0x881D\n#define GL_LUMINANCE_FLOAT16_APPLE 0x881E\n#define GL_LUMINANCE_ALPHA_FLOAT16_APPLE 0x881F\n#define GL_COLOR_FLOAT_APPLE 0x8A0F\n#define GL_BUFFER_SERIALIZED_MODIFY_APPLE 0x8A12\n#define GL_BUFFER_FLUSHING_UNMAP_APPLE 0x8A13\n#define GL_BUFFER_OBJECT_APPLE 0x85B3\n#define GL_RELEASED_APPLE 0x8A19\n#define GL_VOLATILE_APPLE 0x8A1A\n#define GL_RETAINED_APPLE 0x8A1B\n#define GL_UNDEFINED_APPLE 0x8A1C\n#define GL_PURGEABLE_APPLE 0x8A1D\n#define GL_RGB_422_APPLE 0x8A1F\n#define GL_UNSIGNED_SHORT_8_8_APPLE 0x85BA\n#define GL_UNSIGNED_SHORT_8_8_REV_APPLE 0x85BB\n#define GL_RGB_RAW_422_APPLE 0x8A51\n#define GL_PACK_ROW_BYTES_APPLE 0x8A15\n#define GL_UNPACK_ROW_BYTES_APPLE 0x8A16\n#define GL_LIGHT_MODEL_SPECULAR_VECTOR_APPLE 0x85B0\n#define GL_TEXTURE_RANGE_LENGTH_APPLE 0x85B7\n#define GL_TEXTURE_RANGE_POINTER_APPLE 0x85B8\n#define GL_TEXTURE_STORAGE_HINT_APPLE 0x85BC\n#define GL_STORAGE_PRIVATE_APPLE 0x85BD\n#define GL_STORAGE_CACHED_APPLE 0x85BE\n#define GL_STORAGE_SHARED_APPLE 0x85BF\n#define GL_TRANSFORM_HINT_APPLE 0x85B1\n#define GL_VERTEX_ARRAY_BINDING_APPLE 0x85B5\n#define GL_VERTEX_ARRAY_RANGE_APPLE 0x851D\n#define GL_VERTEX_ARRAY_RANGE_LENGTH_APPLE 0x851E\n#define GL_VERTEX_ARRAY_STORAGE_HINT_APPLE 0x851F\n#define GL_VERTEX_ARRAY_RANGE_POINTER_APPLE 0x8521\n#define GL_STORAGE_CLIENT_APPLE 0x85B4\n#define GL_VERTEX_ATTRIB_MAP1_APPLE 0x8A00\n#define GL_VERTEX_ATTRIB_MAP2_APPLE 0x8A01\n#define GL_VERTEX_ATTRIB_MAP1_SIZE_APPLE 0x8A02\n#define GL_VERTEX_ATTRIB_MAP1_COEFF_APPLE 0x8A03\n#define GL_VERTEX_ATTRIB_MAP1_ORDER_APPLE 0x8A04\n#define GL_VERTEX_ATTRIB_MAP1_DOMAIN_APPLE 0x8A05\n#define GL_VERTEX_ATTRIB_MAP2_SIZE_APPLE 0x8A06\n#define GL_VERTEX_ATTRIB_MAP2_COEFF_APPLE 0x8A07\n#define GL_VERTEX_ATTRIB_MAP2_ORDER_APPLE 0x8A08\n#define GL_VERTEX_ATTRIB_MAP2_DOMAIN_APPLE 0x8A09\n#define GL_YCBCR_422_APPLE 0x85B9\n#define GL_PRIMITIVE_BOUNDING_BOX_ARB 0x92BE\n#define GL_MULTISAMPLE_LINE_WIDTH_RANGE_ARB 0x9381\n#define GL_MULTISAMPLE_LINE_WIDTH_GRANULARITY_ARB 0x9382\n#define GL_UNSIGNED_INT64_ARB 0x140F\n#define GL_SYNC_CL_EVENT_ARB 0x8240\n#define GL_SYNC_CL_EVENT_COMPLETE_ARB 0x8241\n#define GL_RGBA_FLOAT_MODE_ARB 0x8820\n#define GL_CLAMP_VERTEX_COLOR_ARB 0x891A\n#define GL_CLAMP_FRAGMENT_COLOR_ARB 0x891B\n#define GL_CLAMP_READ_COLOR_ARB 0x891C\n#define GL_FIXED_ONLY_ARB 0x891D\n#define GL_MAX_COMPUTE_VARIABLE_GROUP_INVOCATIONS_ARB 0x9344\n#define GL_MAX_COMPUTE_FIXED_GROUP_INVOCATIONS_ARB 0x90EB\n#define GL_MAX_COMPUTE_VARIABLE_GROUP_SIZE_ARB 0x9345\n#define GL_MAX_COMPUTE_FIXED_GROUP_SIZE_ARB 0x91BF\n#define GL_DEBUG_OUTPUT_SYNCHRONOUS_ARB 0x8242\n#define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_ARB 0x8243\n#define GL_DEBUG_CALLBACK_FUNCTION_ARB 0x8244\n#define GL_DEBUG_CALLBACK_USER_PARAM_ARB 0x8245\n#define GL_DEBUG_SOURCE_API_ARB 0x8246\n#define GL_DEBUG_SOURCE_WINDOW_SYSTEM_ARB 0x8247\n#define GL_DEBUG_SOURCE_SHADER_COMPILER_ARB 0x8248\n#define GL_DEBUG_SOURCE_THIRD_PARTY_ARB 0x8249\n#define GL_DEBUG_SOURCE_APPLICATION_ARB 0x824A\n#define GL_DEBUG_SOURCE_OTHER_ARB 0x824B\n#define GL_DEBUG_TYPE_ERROR_ARB 0x824C\n#define GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_ARB 0x824D\n#define GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_ARB 0x824E\n#define GL_DEBUG_TYPE_PORTABILITY_ARB 0x824F\n#define GL_DEBUG_TYPE_PERFORMANCE_ARB 0x8250\n#define GL_DEBUG_TYPE_OTHER_ARB 0x8251\n#define GL_MAX_DEBUG_MESSAGE_LENGTH_ARB 0x9143\n#define GL_MAX_DEBUG_LOGGED_MESSAGES_ARB 0x9144\n#define GL_DEBUG_LOGGED_MESSAGES_ARB 0x9145\n#define GL_DEBUG_SEVERITY_HIGH_ARB 0x9146\n#define GL_DEBUG_SEVERITY_MEDIUM_ARB 0x9147\n#define GL_DEBUG_SEVERITY_LOW_ARB 0x9148\n#define GL_DEPTH_COMPONENT16_ARB 0x81A5\n#define GL_DEPTH_COMPONENT24_ARB 0x81A6\n#define GL_DEPTH_COMPONENT32_ARB 0x81A7\n#define GL_TEXTURE_DEPTH_SIZE_ARB 0x884A\n#define GL_DEPTH_TEXTURE_MODE_ARB 0x884B\n#define GL_MAX_DRAW_BUFFERS_ARB 0x8824\n#define GL_DRAW_BUFFER0_ARB 0x8825\n#define GL_DRAW_BUFFER1_ARB 0x8826\n#define GL_DRAW_BUFFER2_ARB 0x8827\n#define GL_DRAW_BUFFER3_ARB 0x8828\n#define GL_DRAW_BUFFER4_ARB 0x8829\n#define GL_DRAW_BUFFER5_ARB 0x882A\n#define GL_DRAW_BUFFER6_ARB 0x882B\n#define GL_DRAW_BUFFER7_ARB 0x882C\n#define GL_DRAW_BUFFER8_ARB 0x882D\n#define GL_DRAW_BUFFER9_ARB 0x882E\n#define GL_DRAW_BUFFER10_ARB 0x882F\n#define GL_DRAW_BUFFER11_ARB 0x8830\n#define GL_DRAW_BUFFER12_ARB 0x8831\n#define GL_DRAW_BUFFER13_ARB 0x8832\n#define GL_DRAW_BUFFER14_ARB 0x8833\n#define GL_DRAW_BUFFER15_ARB 0x8834\n#define GL_FRAGMENT_PROGRAM_ARB 0x8804\n#define GL_PROGRAM_FORMAT_ASCII_ARB 0x8875\n#define GL_PROGRAM_LENGTH_ARB 0x8627\n#define GL_PROGRAM_FORMAT_ARB 0x8876\n#define GL_PROGRAM_BINDING_ARB 0x8677\n#define GL_PROGRAM_INSTRUCTIONS_ARB 0x88A0\n#define GL_MAX_PROGRAM_INSTRUCTIONS_ARB 0x88A1\n#define GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB 0x88A2\n#define GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB 0x88A3\n#define GL_PROGRAM_TEMPORARIES_ARB 0x88A4\n#define GL_MAX_PROGRAM_TEMPORARIES_ARB 0x88A5\n#define GL_PROGRAM_NATIVE_TEMPORARIES_ARB 0x88A6\n#define GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB 0x88A7\n#define GL_PROGRAM_PARAMETERS_ARB 0x88A8\n#define GL_MAX_PROGRAM_PARAMETERS_ARB 0x88A9\n#define GL_PROGRAM_NATIVE_PARAMETERS_ARB 0x88AA\n#define GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB 0x88AB\n#define GL_PROGRAM_ATTRIBS_ARB 0x88AC\n#define GL_MAX_PROGRAM_ATTRIBS_ARB 0x88AD\n#define GL_PROGRAM_NATIVE_ATTRIBS_ARB 0x88AE\n#define GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB 0x88AF\n#define GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB 0x88B4\n#define GL_MAX_PROGRAM_ENV_PARAMETERS_ARB 0x88B5\n#define GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB 0x88B6\n#define GL_PROGRAM_ALU_INSTRUCTIONS_ARB 0x8805\n#define GL_PROGRAM_TEX_INSTRUCTIONS_ARB 0x8806\n#define GL_PROGRAM_TEX_INDIRECTIONS_ARB 0x8807\n#define GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB 0x8808\n#define GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB 0x8809\n#define GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB 0x880A\n#define GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB 0x880B\n#define GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB 0x880C\n#define GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB 0x880D\n#define GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB 0x880E\n#define GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB 0x880F\n#define GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB 0x8810\n#define GL_PROGRAM_STRING_ARB 0x8628\n#define GL_PROGRAM_ERROR_POSITION_ARB 0x864B\n#define GL_CURRENT_MATRIX_ARB 0x8641\n#define GL_TRANSPOSE_CURRENT_MATRIX_ARB 0x88B7\n#define GL_CURRENT_MATRIX_STACK_DEPTH_ARB 0x8640\n#define GL_MAX_PROGRAM_MATRICES_ARB 0x862F\n#define GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB 0x862E\n#define GL_MAX_TEXTURE_COORDS_ARB 0x8871\n#define GL_MAX_TEXTURE_IMAGE_UNITS_ARB 0x8872\n#define GL_PROGRAM_ERROR_STRING_ARB 0x8874\n#define GL_MATRIX0_ARB 0x88C0\n#define GL_MATRIX1_ARB 0x88C1\n#define GL_MATRIX2_ARB 0x88C2\n#define GL_MATRIX3_ARB 0x88C3\n#define GL_MATRIX4_ARB 0x88C4\n#define GL_MATRIX5_ARB 0x88C5\n#define GL_MATRIX6_ARB 0x88C6\n#define GL_MATRIX7_ARB 0x88C7\n#define GL_MATRIX8_ARB 0x88C8\n#define GL_MATRIX9_ARB 0x88C9\n#define GL_MATRIX10_ARB 0x88CA\n#define GL_MATRIX11_ARB 0x88CB\n#define GL_MATRIX12_ARB 0x88CC\n#define GL_MATRIX13_ARB 0x88CD\n#define GL_MATRIX14_ARB 0x88CE\n#define GL_MATRIX15_ARB 0x88CF\n#define GL_MATRIX16_ARB 0x88D0\n#define GL_MATRIX17_ARB 0x88D1\n#define GL_MATRIX18_ARB 0x88D2\n#define GL_MATRIX19_ARB 0x88D3\n#define GL_MATRIX20_ARB 0x88D4\n#define GL_MATRIX21_ARB 0x88D5\n#define GL_MATRIX22_ARB 0x88D6\n#define GL_MATRIX23_ARB 0x88D7\n#define GL_MATRIX24_ARB 0x88D8\n#define GL_MATRIX25_ARB 0x88D9\n#define GL_MATRIX26_ARB 0x88DA\n#define GL_MATRIX27_ARB 0x88DB\n#define GL_MATRIX28_ARB 0x88DC\n#define GL_MATRIX29_ARB 0x88DD\n#define GL_MATRIX30_ARB 0x88DE\n#define GL_MATRIX31_ARB 0x88DF\n#define GL_FRAGMENT_SHADER_ARB 0x8B30\n#define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB 0x8B49\n#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB 0x8B8B\n#define GL_LINES_ADJACENCY_ARB 0x000A\n#define GL_LINE_STRIP_ADJACENCY_ARB 0x000B\n#define GL_TRIANGLES_ADJACENCY_ARB 0x000C\n#define GL_TRIANGLE_STRIP_ADJACENCY_ARB 0x000D\n#define GL_PROGRAM_POINT_SIZE_ARB 0x8642\n#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB 0x8C29\n#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB 0x8DA7\n#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB 0x8DA8\n#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB 0x8DA9\n#define GL_GEOMETRY_SHADER_ARB 0x8DD9\n#define GL_GEOMETRY_VERTICES_OUT_ARB 0x8DDA\n#define GL_GEOMETRY_INPUT_TYPE_ARB 0x8DDB\n#define GL_GEOMETRY_OUTPUT_TYPE_ARB 0x8DDC\n#define GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB 0x8DDD\n#define GL_MAX_VERTEX_VARYING_COMPONENTS_ARB 0x8DDE\n#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB 0x8DDF\n#define GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB 0x8DE0\n#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB 0x8DE1\n#define GL_SHADER_BINARY_FORMAT_SPIR_V_ARB 0x9551\n#define GL_SPIR_V_BINARY_ARB 0x9552\n#define GL_INT64_ARB 0x140E\n#define GL_INT64_VEC2_ARB 0x8FE9\n#define GL_INT64_VEC3_ARB 0x8FEA\n#define GL_INT64_VEC4_ARB 0x8FEB\n#define GL_UNSIGNED_INT64_VEC2_ARB 0x8FF5\n#define GL_UNSIGNED_INT64_VEC3_ARB 0x8FF6\n#define GL_UNSIGNED_INT64_VEC4_ARB 0x8FF7\n#define GL_HALF_FLOAT_ARB 0x140B\n#define GL_CONVOLUTION_1D 0x8010\n#define GL_CONVOLUTION_2D 0x8011\n#define GL_SEPARABLE_2D 0x8012\n#define GL_CONVOLUTION_BORDER_MODE 0x8013\n#define GL_CONVOLUTION_FILTER_SCALE 0x8014\n#define GL_CONVOLUTION_FILTER_BIAS 0x8015\n#define GL_REDUCE 0x8016\n#define GL_CONVOLUTION_FORMAT 0x8017\n#define GL_CONVOLUTION_WIDTH 0x8018\n#define GL_CONVOLUTION_HEIGHT 0x8019\n#define GL_MAX_CONVOLUTION_WIDTH 0x801A\n#define GL_MAX_CONVOLUTION_HEIGHT 0x801B\n#define GL_POST_CONVOLUTION_RED_SCALE 0x801C\n#define GL_POST_CONVOLUTION_GREEN_SCALE 0x801D\n#define GL_POST_CONVOLUTION_BLUE_SCALE 0x801E\n#define GL_POST_CONVOLUTION_ALPHA_SCALE 0x801F\n#define GL_POST_CONVOLUTION_RED_BIAS 0x8020\n#define GL_POST_CONVOLUTION_GREEN_BIAS 0x8021\n#define GL_POST_CONVOLUTION_BLUE_BIAS 0x8022\n#define GL_POST_CONVOLUTION_ALPHA_BIAS 0x8023\n#define GL_HISTOGRAM 0x8024\n#define GL_PROXY_HISTOGRAM 0x8025\n#define GL_HISTOGRAM_WIDTH 0x8026\n#define GL_HISTOGRAM_FORMAT 0x8027\n#define GL_HISTOGRAM_RED_SIZE 0x8028\n#define GL_HISTOGRAM_GREEN_SIZE 0x8029\n#define GL_HISTOGRAM_BLUE_SIZE 0x802A\n#define GL_HISTOGRAM_ALPHA_SIZE 0x802B\n#define GL_HISTOGRAM_LUMINANCE_SIZE 0x802C\n#define GL_HISTOGRAM_SINK 0x802D\n#define GL_MINMAX 0x802E\n#define GL_MINMAX_FORMAT 0x802F\n#define GL_MINMAX_SINK 0x8030\n#define GL_TABLE_TOO_LARGE 0x8031\n#define GL_COLOR_MATRIX 0x80B1\n#define GL_COLOR_MATRIX_STACK_DEPTH 0x80B2\n#define GL_MAX_COLOR_MATRIX_STACK_DEPTH 0x80B3\n#define GL_POST_COLOR_MATRIX_RED_SCALE 0x80B4\n#define GL_POST_COLOR_MATRIX_GREEN_SCALE 0x80B5\n#define GL_POST_COLOR_MATRIX_BLUE_SCALE 0x80B6\n#define GL_POST_COLOR_MATRIX_ALPHA_SCALE 0x80B7\n#define GL_POST_COLOR_MATRIX_RED_BIAS 0x80B8\n#define GL_POST_COLOR_MATRIX_GREEN_BIAS 0x80B9\n#define GL_POST_COLOR_MATRIX_BLUE_BIAS 0x80BA\n#define GL_POST_COLOR_MATRIX_ALPHA_BIAS 0x80BB\n#define GL_COLOR_TABLE 0x80D0\n#define GL_POST_CONVOLUTION_COLOR_TABLE 0x80D1\n#define GL_POST_COLOR_MATRIX_COLOR_TABLE 0x80D2\n#define GL_PROXY_COLOR_TABLE 0x80D3\n#define GL_PROXY_POST_CONVOLUTION_COLOR_TABLE 0x80D4\n#define GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE 0x80D5\n#define GL_COLOR_TABLE_SCALE 0x80D6\n#define GL_COLOR_TABLE_BIAS 0x80D7\n#define GL_COLOR_TABLE_FORMAT 0x80D8\n#define GL_COLOR_TABLE_WIDTH 0x80D9\n#define GL_COLOR_TABLE_RED_SIZE 0x80DA\n#define GL_COLOR_TABLE_GREEN_SIZE 0x80DB\n#define GL_COLOR_TABLE_BLUE_SIZE 0x80DC\n#define GL_COLOR_TABLE_ALPHA_SIZE 0x80DD\n#define GL_COLOR_TABLE_LUMINANCE_SIZE 0x80DE\n#define GL_COLOR_TABLE_INTENSITY_SIZE 0x80DF\n#define GL_CONSTANT_BORDER 0x8151\n#define GL_REPLICATE_BORDER 0x8153\n#define GL_CONVOLUTION_BORDER_COLOR 0x8154\n#define GL_PARAMETER_BUFFER_ARB 0x80EE\n#define GL_PARAMETER_BUFFER_BINDING_ARB 0x80EF\n#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB 0x88FE\n#define GL_SRGB_DECODE_ARB 0x8299\n#define GL_MATRIX_PALETTE_ARB 0x8840\n#define GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB 0x8841\n#define GL_MAX_PALETTE_MATRICES_ARB 0x8842\n#define GL_CURRENT_PALETTE_MATRIX_ARB 0x8843\n#define GL_MATRIX_INDEX_ARRAY_ARB 0x8844\n#define GL_CURRENT_MATRIX_INDEX_ARB 0x8845\n#define GL_MATRIX_INDEX_ARRAY_SIZE_ARB 0x8846\n#define GL_MATRIX_INDEX_ARRAY_TYPE_ARB 0x8847\n#define GL_MATRIX_INDEX_ARRAY_STRIDE_ARB 0x8848\n#define GL_MATRIX_INDEX_ARRAY_POINTER_ARB 0x8849\n#define GL_MULTISAMPLE_ARB 0x809D\n#define GL_SAMPLE_ALPHA_TO_COVERAGE_ARB 0x809E\n#define GL_SAMPLE_ALPHA_TO_ONE_ARB 0x809F\n#define GL_SAMPLE_COVERAGE_ARB 0x80A0\n#define GL_SAMPLE_BUFFERS_ARB 0x80A8\n#define GL_SAMPLES_ARB 0x80A9\n#define GL_SAMPLE_COVERAGE_VALUE_ARB 0x80AA\n#define GL_SAMPLE_COVERAGE_INVERT_ARB 0x80AB\n#define GL_MULTISAMPLE_BIT_ARB 0x20000000\n#define GL_TEXTURE0_ARB 0x84C0\n#define GL_TEXTURE1_ARB 0x84C1\n#define GL_TEXTURE2_ARB 0x84C2\n#define GL_TEXTURE3_ARB 0x84C3\n#define GL_TEXTURE4_ARB 0x84C4\n#define GL_TEXTURE5_ARB 0x84C5\n#define GL_TEXTURE6_ARB 0x84C6\n#define GL_TEXTURE7_ARB 0x84C7\n#define GL_TEXTURE8_ARB 0x84C8\n#define GL_TEXTURE9_ARB 0x84C9\n#define GL_TEXTURE10_ARB 0x84CA\n#define GL_TEXTURE11_ARB 0x84CB\n#define GL_TEXTURE12_ARB 0x84CC\n#define GL_TEXTURE13_ARB 0x84CD\n#define GL_TEXTURE14_ARB 0x84CE\n#define GL_TEXTURE15_ARB 0x84CF\n#define GL_TEXTURE16_ARB 0x84D0\n#define GL_TEXTURE17_ARB 0x84D1\n#define GL_TEXTURE18_ARB 0x84D2\n#define GL_TEXTURE19_ARB 0x84D3\n#define GL_TEXTURE20_ARB 0x84D4\n#define GL_TEXTURE21_ARB 0x84D5\n#define GL_TEXTURE22_ARB 0x84D6\n#define GL_TEXTURE23_ARB 0x84D7\n#define GL_TEXTURE24_ARB 0x84D8\n#define GL_TEXTURE25_ARB 0x84D9\n#define GL_TEXTURE26_ARB 0x84DA\n#define GL_TEXTURE27_ARB 0x84DB\n#define GL_TEXTURE28_ARB 0x84DC\n#define GL_TEXTURE29_ARB 0x84DD\n#define GL_TEXTURE30_ARB 0x84DE\n#define GL_TEXTURE31_ARB 0x84DF\n#define GL_ACTIVE_TEXTURE_ARB 0x84E0\n#define GL_CLIENT_ACTIVE_TEXTURE_ARB 0x84E1\n#define GL_MAX_TEXTURE_UNITS_ARB 0x84E2\n#define GL_QUERY_COUNTER_BITS_ARB 0x8864\n#define GL_CURRENT_QUERY_ARB 0x8865\n#define GL_QUERY_RESULT_ARB 0x8866\n#define GL_QUERY_RESULT_AVAILABLE_ARB 0x8867\n#define GL_SAMPLES_PASSED_ARB 0x8914\n#define GL_MAX_SHADER_COMPILER_THREADS_ARB 0x91B0\n#define GL_COMPLETION_STATUS_ARB 0x91B1\n#define GL_VERTICES_SUBMITTED_ARB 0x82EE\n#define GL_PRIMITIVES_SUBMITTED_ARB 0x82EF\n#define GL_VERTEX_SHADER_INVOCATIONS_ARB 0x82F0\n#define GL_TESS_CONTROL_SHADER_PATCHES_ARB 0x82F1\n#define GL_TESS_EVALUATION_SHADER_INVOCATIONS_ARB 0x82F2\n#define GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED_ARB 0x82F3\n#define GL_FRAGMENT_SHADER_INVOCATIONS_ARB 0x82F4\n#define GL_COMPUTE_SHADER_INVOCATIONS_ARB 0x82F5\n#define GL_CLIPPING_INPUT_PRIMITIVES_ARB 0x82F6\n#define GL_CLIPPING_OUTPUT_PRIMITIVES_ARB 0x82F7\n#define GL_PIXEL_PACK_BUFFER_ARB 0x88EB\n#define GL_PIXEL_UNPACK_BUFFER_ARB 0x88EC\n#define GL_PIXEL_PACK_BUFFER_BINDING_ARB 0x88ED\n#define GL_PIXEL_UNPACK_BUFFER_BINDING_ARB 0x88EF\n#define GL_POINT_SIZE_MIN_ARB 0x8126\n#define GL_POINT_SIZE_MAX_ARB 0x8127\n#define GL_POINT_FADE_THRESHOLD_SIZE_ARB 0x8128\n#define GL_POINT_DISTANCE_ATTENUATION_ARB 0x8129\n#define GL_POINT_SPRITE_ARB 0x8861\n#define GL_COORD_REPLACE_ARB 0x8862\n#define GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB 0x00000004\n#define GL_LOSE_CONTEXT_ON_RESET_ARB 0x8252\n#define GL_GUILTY_CONTEXT_RESET_ARB 0x8253\n#define GL_INNOCENT_CONTEXT_RESET_ARB 0x8254\n#define GL_UNKNOWN_CONTEXT_RESET_ARB 0x8255\n#define GL_RESET_NOTIFICATION_STRATEGY_ARB 0x8256\n#define GL_NO_RESET_NOTIFICATION_ARB 0x8261\n#define GL_SAMPLE_LOCATION_SUBPIXEL_BITS_ARB 0x933D\n#define GL_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_ARB 0x933E\n#define GL_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_ARB 0x933F\n#define GL_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_ARB 0x9340\n#define GL_SAMPLE_LOCATION_ARB 0x8E50\n#define GL_PROGRAMMABLE_SAMPLE_LOCATION_ARB 0x9341\n#define GL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_ARB 0x9342\n#define GL_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_ARB 0x9343\n#define GL_SAMPLE_SHADING_ARB 0x8C36\n#define GL_MIN_SAMPLE_SHADING_VALUE_ARB 0x8C37\n#define GL_PROGRAM_OBJECT_ARB 0x8B40\n#define GL_SHADER_OBJECT_ARB 0x8B48\n#define GL_OBJECT_TYPE_ARB 0x8B4E\n#define GL_OBJECT_SUBTYPE_ARB 0x8B4F\n#define GL_FLOAT_VEC2_ARB 0x8B50\n#define GL_FLOAT_VEC3_ARB 0x8B51\n#define GL_FLOAT_VEC4_ARB 0x8B52\n#define GL_INT_VEC2_ARB 0x8B53\n#define GL_INT_VEC3_ARB 0x8B54\n#define GL_INT_VEC4_ARB 0x8B55\n#define GL_BOOL_ARB 0x8B56\n#define GL_BOOL_VEC2_ARB 0x8B57\n#define GL_BOOL_VEC3_ARB 0x8B58\n#define GL_BOOL_VEC4_ARB 0x8B59\n#define GL_FLOAT_MAT2_ARB 0x8B5A\n#define GL_FLOAT_MAT3_ARB 0x8B5B\n#define GL_FLOAT_MAT4_ARB 0x8B5C\n#define GL_SAMPLER_1D_ARB 0x8B5D\n#define GL_SAMPLER_2D_ARB 0x8B5E\n#define GL_SAMPLER_3D_ARB 0x8B5F\n#define GL_SAMPLER_CUBE_ARB 0x8B60\n#define GL_SAMPLER_1D_SHADOW_ARB 0x8B61\n#define GL_SAMPLER_2D_SHADOW_ARB 0x8B62\n#define GL_SAMPLER_2D_RECT_ARB 0x8B63\n#define GL_SAMPLER_2D_RECT_SHADOW_ARB 0x8B64\n#define GL_OBJECT_DELETE_STATUS_ARB 0x8B80\n#define GL_OBJECT_COMPILE_STATUS_ARB 0x8B81\n#define GL_OBJECT_LINK_STATUS_ARB 0x8B82\n#define GL_OBJECT_VALIDATE_STATUS_ARB 0x8B83\n#define GL_OBJECT_INFO_LOG_LENGTH_ARB 0x8B84\n#define GL_OBJECT_ATTACHED_OBJECTS_ARB 0x8B85\n#define GL_OBJECT_ACTIVE_UNIFORMS_ARB 0x8B86\n#define GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB 0x8B87\n#define GL_OBJECT_SHADER_SOURCE_LENGTH_ARB 0x8B88\n#define GL_SHADING_LANGUAGE_VERSION_ARB 0x8B8C\n#define GL_SHADER_INCLUDE_ARB 0x8DAE\n#define GL_NAMED_STRING_LENGTH_ARB 0x8DE9\n#define GL_NAMED_STRING_TYPE_ARB 0x8DEA\n#define GL_TEXTURE_COMPARE_MODE_ARB 0x884C\n#define GL_TEXTURE_COMPARE_FUNC_ARB 0x884D\n#define GL_COMPARE_R_TO_TEXTURE_ARB 0x884E\n#define GL_TEXTURE_COMPARE_FAIL_VALUE_ARB 0x80BF\n#define GL_SPARSE_STORAGE_BIT_ARB 0x0400\n#define GL_SPARSE_BUFFER_PAGE_SIZE_ARB 0x82F8\n#define GL_TEXTURE_SPARSE_ARB 0x91A6\n#define GL_VIRTUAL_PAGE_SIZE_INDEX_ARB 0x91A7\n#define GL_NUM_SPARSE_LEVELS_ARB 0x91AA\n#define GL_NUM_VIRTUAL_PAGE_SIZES_ARB 0x91A8\n#define GL_VIRTUAL_PAGE_SIZE_X_ARB 0x9195\n#define GL_VIRTUAL_PAGE_SIZE_Y_ARB 0x9196\n#define GL_VIRTUAL_PAGE_SIZE_Z_ARB 0x9197\n#define GL_MAX_SPARSE_TEXTURE_SIZE_ARB 0x9198\n#define GL_MAX_SPARSE_3D_TEXTURE_SIZE_ARB 0x9199\n#define GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS_ARB 0x919A\n#define GL_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_ARB 0x91A9\n#define GL_CLAMP_TO_BORDER_ARB 0x812D\n#define GL_TEXTURE_BUFFER_ARB 0x8C2A\n#define GL_MAX_TEXTURE_BUFFER_SIZE_ARB 0x8C2B\n#define GL_TEXTURE_BINDING_BUFFER_ARB 0x8C2C\n#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING_ARB 0x8C2D\n#define GL_TEXTURE_BUFFER_FORMAT_ARB 0x8C2E\n#define GL_COMPRESSED_ALPHA_ARB 0x84E9\n#define GL_COMPRESSED_LUMINANCE_ARB 0x84EA\n#define GL_COMPRESSED_LUMINANCE_ALPHA_ARB 0x84EB\n#define GL_COMPRESSED_INTENSITY_ARB 0x84EC\n#define GL_COMPRESSED_RGB_ARB 0x84ED\n#define GL_COMPRESSED_RGBA_ARB 0x84EE\n#define GL_TEXTURE_COMPRESSION_HINT_ARB 0x84EF\n#define GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB 0x86A0\n#define GL_TEXTURE_COMPRESSED_ARB 0x86A1\n#define GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB 0x86A2\n#define GL_COMPRESSED_TEXTURE_FORMATS_ARB 0x86A3\n#define GL_COMPRESSED_RGBA_BPTC_UNORM_ARB 0x8E8C\n#define GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB 0x8E8D\n#define GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB 0x8E8E\n#define GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB 0x8E8F\n#define GL_NORMAL_MAP_ARB 0x8511\n#define GL_REFLECTION_MAP_ARB 0x8512\n#define GL_TEXTURE_CUBE_MAP_ARB 0x8513\n#define GL_TEXTURE_BINDING_CUBE_MAP_ARB 0x8514\n#define GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB 0x8515\n#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB 0x8516\n#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB 0x8517\n#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB 0x8518\n#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB 0x8519\n#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB 0x851A\n#define GL_PROXY_TEXTURE_CUBE_MAP_ARB 0x851B\n#define GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB 0x851C\n#define GL_TEXTURE_CUBE_MAP_ARRAY_ARB 0x9009\n#define GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_ARB 0x900A\n#define GL_PROXY_TEXTURE_CUBE_MAP_ARRAY_ARB 0x900B\n#define GL_SAMPLER_CUBE_MAP_ARRAY_ARB 0x900C\n#define GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_ARB 0x900D\n#define GL_INT_SAMPLER_CUBE_MAP_ARRAY_ARB 0x900E\n#define GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_ARB 0x900F\n#define GL_COMBINE_ARB 0x8570\n#define GL_COMBINE_RGB_ARB 0x8571\n#define GL_COMBINE_ALPHA_ARB 0x8572\n#define GL_SOURCE0_RGB_ARB 0x8580\n#define GL_SOURCE1_RGB_ARB 0x8581\n#define GL_SOURCE2_RGB_ARB 0x8582\n#define GL_SOURCE0_ALPHA_ARB 0x8588\n#define GL_SOURCE1_ALPHA_ARB 0x8589\n#define GL_SOURCE2_ALPHA_ARB 0x858A\n#define GL_OPERAND0_RGB_ARB 0x8590\n#define GL_OPERAND1_RGB_ARB 0x8591\n#define GL_OPERAND2_RGB_ARB 0x8592\n#define GL_OPERAND0_ALPHA_ARB 0x8598\n#define GL_OPERAND1_ALPHA_ARB 0x8599\n#define GL_OPERAND2_ALPHA_ARB 0x859A\n#define GL_RGB_SCALE_ARB 0x8573\n#define GL_ADD_SIGNED_ARB 0x8574\n#define GL_INTERPOLATE_ARB 0x8575\n#define GL_SUBTRACT_ARB 0x84E7\n#define GL_CONSTANT_ARB 0x8576\n#define GL_PRIMARY_COLOR_ARB 0x8577\n#define GL_PREVIOUS_ARB 0x8578\n#define GL_DOT3_RGB_ARB 0x86AE\n#define GL_DOT3_RGBA_ARB 0x86AF\n#define GL_TEXTURE_REDUCTION_MODE_ARB 0x9366\n#define GL_WEIGHTED_AVERAGE_ARB 0x9367\n#define GL_TEXTURE_RED_TYPE_ARB 0x8C10\n#define GL_TEXTURE_GREEN_TYPE_ARB 0x8C11\n#define GL_TEXTURE_BLUE_TYPE_ARB 0x8C12\n#define GL_TEXTURE_ALPHA_TYPE_ARB 0x8C13\n#define GL_TEXTURE_LUMINANCE_TYPE_ARB 0x8C14\n#define GL_TEXTURE_INTENSITY_TYPE_ARB 0x8C15\n#define GL_TEXTURE_DEPTH_TYPE_ARB 0x8C16\n#define GL_UNSIGNED_NORMALIZED_ARB 0x8C17\n#define GL_RGBA32F_ARB 0x8814\n#define GL_RGB32F_ARB 0x8815\n#define GL_ALPHA32F_ARB 0x8816\n#define GL_INTENSITY32F_ARB 0x8817\n#define GL_LUMINANCE32F_ARB 0x8818\n#define GL_LUMINANCE_ALPHA32F_ARB 0x8819\n#define GL_RGBA16F_ARB 0x881A\n#define GL_RGB16F_ARB 0x881B\n#define GL_ALPHA16F_ARB 0x881C\n#define GL_INTENSITY16F_ARB 0x881D\n#define GL_LUMINANCE16F_ARB 0x881E\n#define GL_LUMINANCE_ALPHA16F_ARB 0x881F\n#define GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_ARB 0x8E5E\n#define GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_ARB 0x8E5F\n#define GL_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS_ARB 0x8F9F\n#define GL_MIRRORED_REPEAT_ARB 0x8370\n#define GL_TEXTURE_RECTANGLE_ARB 0x84F5\n#define GL_TEXTURE_BINDING_RECTANGLE_ARB 0x84F6\n#define GL_PROXY_TEXTURE_RECTANGLE_ARB 0x84F7\n#define GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB 0x84F8\n#define GL_TRANSFORM_FEEDBACK_OVERFLOW_ARB 0x82EC\n#define GL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW_ARB 0x82ED\n#define GL_TRANSPOSE_MODELVIEW_MATRIX_ARB 0x84E3\n#define GL_TRANSPOSE_PROJECTION_MATRIX_ARB 0x84E4\n#define GL_TRANSPOSE_TEXTURE_MATRIX_ARB 0x84E5\n#define GL_TRANSPOSE_COLOR_MATRIX_ARB 0x84E6\n#define GL_MAX_VERTEX_UNITS_ARB 0x86A4\n#define GL_ACTIVE_VERTEX_UNITS_ARB 0x86A5\n#define GL_WEIGHT_SUM_UNITY_ARB 0x86A6\n#define GL_VERTEX_BLEND_ARB 0x86A7\n#define GL_CURRENT_WEIGHT_ARB 0x86A8\n#define GL_WEIGHT_ARRAY_TYPE_ARB 0x86A9\n#define GL_WEIGHT_ARRAY_STRIDE_ARB 0x86AA\n#define GL_WEIGHT_ARRAY_SIZE_ARB 0x86AB\n#define GL_WEIGHT_ARRAY_POINTER_ARB 0x86AC\n#define GL_WEIGHT_ARRAY_ARB 0x86AD\n#define GL_MODELVIEW0_ARB 0x1700\n#define GL_MODELVIEW1_ARB 0x850A\n#define GL_MODELVIEW2_ARB 0x8722\n#define GL_MODELVIEW3_ARB 0x8723\n#define GL_MODELVIEW4_ARB 0x8724\n#define GL_MODELVIEW5_ARB 0x8725\n#define GL_MODELVIEW6_ARB 0x8726\n#define GL_MODELVIEW7_ARB 0x8727\n#define GL_MODELVIEW8_ARB 0x8728\n#define GL_MODELVIEW9_ARB 0x8729\n#define GL_MODELVIEW10_ARB 0x872A\n#define GL_MODELVIEW11_ARB 0x872B\n#define GL_MODELVIEW12_ARB 0x872C\n#define GL_MODELVIEW13_ARB 0x872D\n#define GL_MODELVIEW14_ARB 0x872E\n#define GL_MODELVIEW15_ARB 0x872F\n#define GL_MODELVIEW16_ARB 0x8730\n#define GL_MODELVIEW17_ARB 0x8731\n#define GL_MODELVIEW18_ARB 0x8732\n#define GL_MODELVIEW19_ARB 0x8733\n#define GL_MODELVIEW20_ARB 0x8734\n#define GL_MODELVIEW21_ARB 0x8735\n#define GL_MODELVIEW22_ARB 0x8736\n#define GL_MODELVIEW23_ARB 0x8737\n#define GL_MODELVIEW24_ARB 0x8738\n#define GL_MODELVIEW25_ARB 0x8739\n#define GL_MODELVIEW26_ARB 0x873A\n#define GL_MODELVIEW27_ARB 0x873B\n#define GL_MODELVIEW28_ARB 0x873C\n#define GL_MODELVIEW29_ARB 0x873D\n#define GL_MODELVIEW30_ARB 0x873E\n#define GL_MODELVIEW31_ARB 0x873F\n#define GL_BUFFER_SIZE_ARB 0x8764\n#define GL_BUFFER_USAGE_ARB 0x8765\n#define GL_ARRAY_BUFFER_ARB 0x8892\n#define GL_ELEMENT_ARRAY_BUFFER_ARB 0x8893\n#define GL_ARRAY_BUFFER_BINDING_ARB 0x8894\n#define GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB 0x8895\n#define GL_VERTEX_ARRAY_BUFFER_BINDING_ARB 0x8896\n#define GL_NORMAL_ARRAY_BUFFER_BINDING_ARB 0x8897\n#define GL_COLOR_ARRAY_BUFFER_BINDING_ARB 0x8898\n#define GL_INDEX_ARRAY_BUFFER_BINDING_ARB 0x8899\n#define GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB 0x889A\n#define GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB 0x889B\n#define GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB 0x889C\n#define GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB 0x889D\n#define GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB 0x889E\n#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB 0x889F\n#define GL_READ_ONLY_ARB 0x88B8\n#define GL_WRITE_ONLY_ARB 0x88B9\n#define GL_READ_WRITE_ARB 0x88BA\n#define GL_BUFFER_ACCESS_ARB 0x88BB\n#define GL_BUFFER_MAPPED_ARB 0x88BC\n#define GL_BUFFER_MAP_POINTER_ARB 0x88BD\n#define GL_STREAM_DRAW_ARB 0x88E0\n#define GL_STREAM_READ_ARB 0x88E1\n#define GL_STREAM_COPY_ARB 0x88E2\n#define GL_STATIC_DRAW_ARB 0x88E4\n#define GL_STATIC_READ_ARB 0x88E5\n#define GL_STATIC_COPY_ARB 0x88E6\n#define GL_DYNAMIC_DRAW_ARB 0x88E8\n#define GL_DYNAMIC_READ_ARB 0x88E9\n#define GL_DYNAMIC_COPY_ARB 0x88EA\n#define GL_COLOR_SUM_ARB 0x8458\n#define GL_VERTEX_PROGRAM_ARB 0x8620\n#define GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB 0x8622\n#define GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB 0x8623\n#define GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB 0x8624\n#define GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB 0x8625\n#define GL_CURRENT_VERTEX_ATTRIB_ARB 0x8626\n#define GL_VERTEX_PROGRAM_POINT_SIZE_ARB 0x8642\n#define GL_VERTEX_PROGRAM_TWO_SIDE_ARB 0x8643\n#define GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB 0x8645\n#define GL_MAX_VERTEX_ATTRIBS_ARB 0x8869\n#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB 0x886A\n#define GL_PROGRAM_ADDRESS_REGISTERS_ARB 0x88B0\n#define GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB 0x88B1\n#define GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB 0x88B2\n#define GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB 0x88B3\n#define GL_VERTEX_SHADER_ARB 0x8B31\n#define GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB 0x8B4A\n#define GL_MAX_VARYING_FLOATS_ARB 0x8B4B\n#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB 0x8B4C\n#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB 0x8B4D\n#define GL_OBJECT_ACTIVE_ATTRIBUTES_ARB 0x8B89\n#define GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB 0x8B8A\n#define GL_MAX_DRAW_BUFFERS_ATI 0x8824\n#define GL_DRAW_BUFFER0_ATI 0x8825\n#define GL_DRAW_BUFFER1_ATI 0x8826\n#define GL_DRAW_BUFFER2_ATI 0x8827\n#define GL_DRAW_BUFFER3_ATI 0x8828\n#define GL_DRAW_BUFFER4_ATI 0x8829\n#define GL_DRAW_BUFFER5_ATI 0x882A\n#define GL_DRAW_BUFFER6_ATI 0x882B\n#define GL_DRAW_BUFFER7_ATI 0x882C\n#define GL_DRAW_BUFFER8_ATI 0x882D\n#define GL_DRAW_BUFFER9_ATI 0x882E\n#define GL_DRAW_BUFFER10_ATI 0x882F\n#define GL_DRAW_BUFFER11_ATI 0x8830\n#define GL_DRAW_BUFFER12_ATI 0x8831\n#define GL_DRAW_BUFFER13_ATI 0x8832\n#define GL_DRAW_BUFFER14_ATI 0x8833\n#define GL_DRAW_BUFFER15_ATI 0x8834\n#define GL_ELEMENT_ARRAY_ATI 0x8768\n#define GL_ELEMENT_ARRAY_TYPE_ATI 0x8769\n#define GL_ELEMENT_ARRAY_POINTER_ATI 0x876A\n#define GL_BUMP_ROT_MATRIX_ATI 0x8775\n#define GL_BUMP_ROT_MATRIX_SIZE_ATI 0x8776\n#define GL_BUMP_NUM_TEX_UNITS_ATI 0x8777\n#define GL_BUMP_TEX_UNITS_ATI 0x8778\n#define GL_DUDV_ATI 0x8779\n#define GL_DU8DV8_ATI 0x877A\n#define GL_BUMP_ENVMAP_ATI 0x877B\n#define GL_BUMP_TARGET_ATI 0x877C\n#define GL_FRAGMENT_SHADER_ATI 0x8920\n#define GL_REG_0_ATI 0x8921\n#define GL_REG_1_ATI 0x8922\n#define GL_REG_2_ATI 0x8923\n#define GL_REG_3_ATI 0x8924\n#define GL_REG_4_ATI 0x8925\n#define GL_REG_5_ATI 0x8926\n#define GL_REG_6_ATI 0x8927\n#define GL_REG_7_ATI 0x8928\n#define GL_REG_8_ATI 0x8929\n#define GL_REG_9_ATI 0x892A\n#define GL_REG_10_ATI 0x892B\n#define GL_REG_11_ATI 0x892C\n#define GL_REG_12_ATI 0x892D\n#define GL_REG_13_ATI 0x892E\n#define GL_REG_14_ATI 0x892F\n#define GL_REG_15_ATI 0x8930\n#define GL_REG_16_ATI 0x8931\n#define GL_REG_17_ATI 0x8932\n#define GL_REG_18_ATI 0x8933\n#define GL_REG_19_ATI 0x8934\n#define GL_REG_20_ATI 0x8935\n#define GL_REG_21_ATI 0x8936\n#define GL_REG_22_ATI 0x8937\n#define GL_REG_23_ATI 0x8938\n#define GL_REG_24_ATI 0x8939\n#define GL_REG_25_ATI 0x893A\n#define GL_REG_26_ATI 0x893B\n#define GL_REG_27_ATI 0x893C\n#define GL_REG_28_ATI 0x893D\n#define GL_REG_29_ATI 0x893E\n#define GL_REG_30_ATI 0x893F\n#define GL_REG_31_ATI 0x8940\n#define GL_CON_0_ATI 0x8941\n#define GL_CON_1_ATI 0x8942\n#define GL_CON_2_ATI 0x8943\n#define GL_CON_3_ATI 0x8944\n#define GL_CON_4_ATI 0x8945\n#define GL_CON_5_ATI 0x8946\n#define GL_CON_6_ATI 0x8947\n#define GL_CON_7_ATI 0x8948\n#define GL_CON_8_ATI 0x8949\n#define GL_CON_9_ATI 0x894A\n#define GL_CON_10_ATI 0x894B\n#define GL_CON_11_ATI 0x894C\n#define GL_CON_12_ATI 0x894D\n#define GL_CON_13_ATI 0x894E\n#define GL_CON_14_ATI 0x894F\n#define GL_CON_15_ATI 0x8950\n#define GL_CON_16_ATI 0x8951\n#define GL_CON_17_ATI 0x8952\n#define GL_CON_18_ATI 0x8953\n#define GL_CON_19_ATI 0x8954\n#define GL_CON_20_ATI 0x8955\n#define GL_CON_21_ATI 0x8956\n#define GL_CON_22_ATI 0x8957\n#define GL_CON_23_ATI 0x8958\n#define GL_CON_24_ATI 0x8959\n#define GL_CON_25_ATI 0x895A\n#define GL_CON_26_ATI 0x895B\n#define GL_CON_27_ATI 0x895C\n#define GL_CON_28_ATI 0x895D\n#define GL_CON_29_ATI 0x895E\n#define GL_CON_30_ATI 0x895F\n#define GL_CON_31_ATI 0x8960\n#define GL_MOV_ATI 0x8961\n#define GL_ADD_ATI 0x8963\n#define GL_MUL_ATI 0x8964\n#define GL_SUB_ATI 0x8965\n#define GL_DOT3_ATI 0x8966\n#define GL_DOT4_ATI 0x8967\n#define GL_MAD_ATI 0x8968\n#define GL_LERP_ATI 0x8969\n#define GL_CND_ATI 0x896A\n#define GL_CND0_ATI 0x896B\n#define GL_DOT2_ADD_ATI 0x896C\n#define GL_SECONDARY_INTERPOLATOR_ATI 0x896D\n#define GL_NUM_FRAGMENT_REGISTERS_ATI 0x896E\n#define GL_NUM_FRAGMENT_CONSTANTS_ATI 0x896F\n#define GL_NUM_PASSES_ATI 0x8970\n#define GL_NUM_INSTRUCTIONS_PER_PASS_ATI 0x8971\n#define GL_NUM_INSTRUCTIONS_TOTAL_ATI 0x8972\n#define GL_NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI 0x8973\n#define GL_NUM_LOOPBACK_COMPONENTS_ATI 0x8974\n#define GL_COLOR_ALPHA_PAIRING_ATI 0x8975\n#define GL_SWIZZLE_STR_ATI 0x8976\n#define GL_SWIZZLE_STQ_ATI 0x8977\n#define GL_SWIZZLE_STR_DR_ATI 0x8978\n#define GL_SWIZZLE_STQ_DQ_ATI 0x8979\n#define GL_SWIZZLE_STRQ_ATI 0x897A\n#define GL_SWIZZLE_STRQ_DQ_ATI 0x897B\n#define GL_RED_BIT_ATI 0x00000001\n#define GL_GREEN_BIT_ATI 0x00000002\n#define GL_BLUE_BIT_ATI 0x00000004\n#define GL_2X_BIT_ATI 0x00000001\n#define GL_4X_BIT_ATI 0x00000002\n#define GL_8X_BIT_ATI 0x00000004\n#define GL_HALF_BIT_ATI 0x00000008\n#define GL_QUARTER_BIT_ATI 0x00000010\n#define GL_EIGHTH_BIT_ATI 0x00000020\n#define GL_SATURATE_BIT_ATI 0x00000040\n#define GL_COMP_BIT_ATI 0x00000002\n#define GL_NEGATE_BIT_ATI 0x00000004\n#define GL_BIAS_BIT_ATI 0x00000008\n#define GL_VBO_FREE_MEMORY_ATI 0x87FB\n#define GL_TEXTURE_FREE_MEMORY_ATI 0x87FC\n#define GL_RENDERBUFFER_FREE_MEMORY_ATI 0x87FD\n#define GL_RGBA_FLOAT_MODE_ATI 0x8820\n#define GL_COLOR_CLEAR_UNCLAMPED_VALUE_ATI 0x8835\n#define GL_PN_TRIANGLES_ATI 0x87F0\n#define GL_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI 0x87F1\n#define GL_PN_TRIANGLES_POINT_MODE_ATI 0x87F2\n#define GL_PN_TRIANGLES_NORMAL_MODE_ATI 0x87F3\n#define GL_PN_TRIANGLES_TESSELATION_LEVEL_ATI 0x87F4\n#define GL_PN_TRIANGLES_POINT_MODE_LINEAR_ATI 0x87F5\n#define GL_PN_TRIANGLES_POINT_MODE_CUBIC_ATI 0x87F6\n#define GL_PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI 0x87F7\n#define GL_PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI 0x87F8\n#define GL_STENCIL_BACK_FUNC_ATI 0x8800\n#define GL_STENCIL_BACK_FAIL_ATI 0x8801\n#define GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI 0x8802\n#define GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI 0x8803\n#define GL_TEXT_FRAGMENT_SHADER_ATI 0x8200\n#define GL_MODULATE_ADD_ATI 0x8744\n#define GL_MODULATE_SIGNED_ADD_ATI 0x8745\n#define GL_MODULATE_SUBTRACT_ATI 0x8746\n#define GL_RGBA_FLOAT32_ATI 0x8814\n#define GL_RGB_FLOAT32_ATI 0x8815\n#define GL_ALPHA_FLOAT32_ATI 0x8816\n#define GL_INTENSITY_FLOAT32_ATI 0x8817\n#define GL_LUMINANCE_FLOAT32_ATI 0x8818\n#define GL_LUMINANCE_ALPHA_FLOAT32_ATI 0x8819\n#define GL_RGBA_FLOAT16_ATI 0x881A\n#define GL_RGB_FLOAT16_ATI 0x881B\n#define GL_ALPHA_FLOAT16_ATI 0x881C\n#define GL_INTENSITY_FLOAT16_ATI 0x881D\n#define GL_LUMINANCE_FLOAT16_ATI 0x881E\n#define GL_LUMINANCE_ALPHA_FLOAT16_ATI 0x881F\n#define GL_MIRROR_CLAMP_ATI 0x8742\n#define GL_MIRROR_CLAMP_TO_EDGE_ATI 0x8743\n#define GL_STATIC_ATI 0x8760\n#define GL_DYNAMIC_ATI 0x8761\n#define GL_PRESERVE_ATI 0x8762\n#define GL_DISCARD_ATI 0x8763\n#define GL_OBJECT_BUFFER_SIZE_ATI 0x8764\n#define GL_OBJECT_BUFFER_USAGE_ATI 0x8765\n#define GL_ARRAY_OBJECT_BUFFER_ATI 0x8766\n#define GL_ARRAY_OBJECT_OFFSET_ATI 0x8767\n#define GL_MAX_VERTEX_STREAMS_ATI 0x876B\n#define GL_VERTEX_STREAM0_ATI 0x876C\n#define GL_VERTEX_STREAM1_ATI 0x876D\n#define GL_VERTEX_STREAM2_ATI 0x876E\n#define GL_VERTEX_STREAM3_ATI 0x876F\n#define GL_VERTEX_STREAM4_ATI 0x8770\n#define GL_VERTEX_STREAM5_ATI 0x8771\n#define GL_VERTEX_STREAM6_ATI 0x8772\n#define GL_VERTEX_STREAM7_ATI 0x8773\n#define GL_VERTEX_SOURCE_ATI 0x8774\n#define GL_422_EXT 0x80CC\n#define GL_422_REV_EXT 0x80CD\n#define GL_422_AVERAGE_EXT 0x80CE\n#define GL_422_REV_AVERAGE_EXT 0x80CF\n#define GL_ABGR_EXT 0x8000\n#define GL_BGR_EXT 0x80E0\n#define GL_BGRA_EXT 0x80E1\n#define GL_MAX_VERTEX_BINDABLE_UNIFORMS_EXT 0x8DE2\n#define GL_MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT 0x8DE3\n#define GL_MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT 0x8DE4\n#define GL_MAX_BINDABLE_UNIFORM_SIZE_EXT 0x8DED\n#define GL_UNIFORM_BUFFER_EXT 0x8DEE\n#define GL_UNIFORM_BUFFER_BINDING_EXT 0x8DEF\n#define GL_CONSTANT_COLOR_EXT 0x8001\n#define GL_ONE_MINUS_CONSTANT_COLOR_EXT 0x8002\n#define GL_CONSTANT_ALPHA_EXT 0x8003\n#define GL_ONE_MINUS_CONSTANT_ALPHA_EXT 0x8004\n#define GL_BLEND_COLOR_EXT 0x8005\n#define GL_BLEND_EQUATION_RGB_EXT 0x8009\n#define GL_BLEND_EQUATION_ALPHA_EXT 0x883D\n#define GL_BLEND_DST_RGB_EXT 0x80C8\n#define GL_BLEND_SRC_RGB_EXT 0x80C9\n#define GL_BLEND_DST_ALPHA_EXT 0x80CA\n#define GL_BLEND_SRC_ALPHA_EXT 0x80CB\n#define GL_MIN_EXT 0x8007\n#define GL_MAX_EXT 0x8008\n#define GL_FUNC_ADD_EXT 0x8006\n#define GL_BLEND_EQUATION_EXT 0x8009\n#define GL_FUNC_SUBTRACT_EXT 0x800A\n#define GL_FUNC_REVERSE_SUBTRACT_EXT 0x800B\n#define GL_CLIP_VOLUME_CLIPPING_HINT_EXT 0x80F0\n#define GL_CMYK_EXT 0x800C\n#define GL_CMYKA_EXT 0x800D\n#define GL_PACK_CMYK_HINT_EXT 0x800E\n#define GL_UNPACK_CMYK_HINT_EXT 0x800F\n#define GL_ARRAY_ELEMENT_LOCK_FIRST_EXT 0x81A8\n#define GL_ARRAY_ELEMENT_LOCK_COUNT_EXT 0x81A9\n#define GL_CONVOLUTION_1D_EXT 0x8010\n#define GL_CONVOLUTION_2D_EXT 0x8011\n#define GL_SEPARABLE_2D_EXT 0x8012\n#define GL_CONVOLUTION_BORDER_MODE_EXT 0x8013\n#define GL_CONVOLUTION_FILTER_SCALE_EXT 0x8014\n#define GL_CONVOLUTION_FILTER_BIAS_EXT 0x8015\n#define GL_REDUCE_EXT 0x8016\n#define GL_CONVOLUTION_FORMAT_EXT 0x8017\n#define GL_CONVOLUTION_WIDTH_EXT 0x8018\n#define GL_CONVOLUTION_HEIGHT_EXT 0x8019\n#define GL_MAX_CONVOLUTION_WIDTH_EXT 0x801A\n#define GL_MAX_CONVOLUTION_HEIGHT_EXT 0x801B\n#define GL_POST_CONVOLUTION_RED_SCALE_EXT 0x801C\n#define GL_POST_CONVOLUTION_GREEN_SCALE_EXT 0x801D\n#define GL_POST_CONVOLUTION_BLUE_SCALE_EXT 0x801E\n#define GL_POST_CONVOLUTION_ALPHA_SCALE_EXT 0x801F\n#define GL_POST_CONVOLUTION_RED_BIAS_EXT 0x8020\n#define GL_POST_CONVOLUTION_GREEN_BIAS_EXT 0x8021\n#define GL_POST_CONVOLUTION_BLUE_BIAS_EXT 0x8022\n#define GL_POST_CONVOLUTION_ALPHA_BIAS_EXT 0x8023\n#define GL_TANGENT_ARRAY_EXT 0x8439\n#define GL_BINORMAL_ARRAY_EXT 0x843A\n#define GL_CURRENT_TANGENT_EXT 0x843B\n#define GL_CURRENT_BINORMAL_EXT 0x843C\n#define GL_TANGENT_ARRAY_TYPE_EXT 0x843E\n#define GL_TANGENT_ARRAY_STRIDE_EXT 0x843F\n#define GL_BINORMAL_ARRAY_TYPE_EXT 0x8440\n#define GL_BINORMAL_ARRAY_STRIDE_EXT 0x8441\n#define GL_TANGENT_ARRAY_POINTER_EXT 0x8442\n#define GL_BINORMAL_ARRAY_POINTER_EXT 0x8443\n#define GL_MAP1_TANGENT_EXT 0x8444\n#define GL_MAP2_TANGENT_EXT 0x8445\n#define GL_MAP1_BINORMAL_EXT 0x8446\n#define GL_MAP2_BINORMAL_EXT 0x8447\n#define GL_CULL_VERTEX_EXT 0x81AA\n#define GL_CULL_VERTEX_EYE_POSITION_EXT 0x81AB\n#define GL_CULL_VERTEX_OBJECT_POSITION_EXT 0x81AC\n#define GL_PROGRAM_PIPELINE_OBJECT_EXT 0x8A4F\n#define GL_PROGRAM_OBJECT_EXT 0x8B40\n#define GL_SHADER_OBJECT_EXT 0x8B48\n#define GL_BUFFER_OBJECT_EXT 0x9151\n#define GL_QUERY_OBJECT_EXT 0x9153\n#define GL_VERTEX_ARRAY_OBJECT_EXT 0x9154\n#define GL_DEPTH_BOUNDS_TEST_EXT 0x8890\n#define GL_DEPTH_BOUNDS_EXT 0x8891\n#define GL_PROGRAM_MATRIX_EXT 0x8E2D\n#define GL_TRANSPOSE_PROGRAM_MATRIX_EXT 0x8E2E\n#define GL_PROGRAM_MATRIX_STACK_DEPTH_EXT 0x8E2F\n#define GL_MAX_ELEMENTS_VERTICES_EXT 0x80E8\n#define GL_MAX_ELEMENTS_INDICES_EXT 0x80E9\n#define GL_FOG_COORDINATE_SOURCE_EXT 0x8450\n#define GL_FOG_COORDINATE_EXT 0x8451\n#define GL_FRAGMENT_DEPTH_EXT 0x8452\n#define GL_CURRENT_FOG_COORDINATE_EXT 0x8453\n#define GL_FOG_COORDINATE_ARRAY_TYPE_EXT 0x8454\n#define GL_FOG_COORDINATE_ARRAY_STRIDE_EXT 0x8455\n#define GL_FOG_COORDINATE_ARRAY_POINTER_EXT 0x8456\n#define GL_FOG_COORDINATE_ARRAY_EXT 0x8457\n#define GL_READ_FRAMEBUFFER_EXT 0x8CA8\n#define GL_DRAW_FRAMEBUFFER_EXT 0x8CA9\n#define GL_DRAW_FRAMEBUFFER_BINDING_EXT 0x8CA6\n#define GL_READ_FRAMEBUFFER_BINDING_EXT 0x8CAA\n#define GL_RENDERBUFFER_SAMPLES_EXT 0x8CAB\n#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT 0x8D56\n#define GL_MAX_SAMPLES_EXT 0x8D57\n#define GL_SCALED_RESOLVE_FASTEST_EXT 0x90BA\n#define GL_SCALED_RESOLVE_NICEST_EXT 0x90BB\n#define GL_INVALID_FRAMEBUFFER_OPERATION_EXT 0x0506\n#define GL_MAX_RENDERBUFFER_SIZE_EXT 0x84E8\n#define GL_FRAMEBUFFER_BINDING_EXT 0x8CA6\n#define GL_RENDERBUFFER_BINDING_EXT 0x8CA7\n#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT 0x8CD0\n#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT 0x8CD1\n#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT 0x8CD2\n#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT 0x8CD3\n#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT 0x8CD4\n#define GL_FRAMEBUFFER_COMPLETE_EXT 0x8CD5\n#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT 0x8CD6\n#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT 0x8CD7\n#define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT 0x8CD9\n#define GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT 0x8CDA\n#define GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT 0x8CDB\n#define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT 0x8CDC\n#define GL_FRAMEBUFFER_UNSUPPORTED_EXT 0x8CDD\n#define GL_MAX_COLOR_ATTACHMENTS_EXT 0x8CDF\n#define GL_COLOR_ATTACHMENT0_EXT 0x8CE0\n#define GL_COLOR_ATTACHMENT1_EXT 0x8CE1\n#define GL_COLOR_ATTACHMENT2_EXT 0x8CE2\n#define GL_COLOR_ATTACHMENT3_EXT 0x8CE3\n#define GL_COLOR_ATTACHMENT4_EXT 0x8CE4\n#define GL_COLOR_ATTACHMENT5_EXT 0x8CE5\n#define GL_COLOR_ATTACHMENT6_EXT 0x8CE6\n#define GL_COLOR_ATTACHMENT7_EXT 0x8CE7\n#define GL_COLOR_ATTACHMENT8_EXT 0x8CE8\n#define GL_COLOR_ATTACHMENT9_EXT 0x8CE9\n#define GL_COLOR_ATTACHMENT10_EXT 0x8CEA\n#define GL_COLOR_ATTACHMENT11_EXT 0x8CEB\n#define GL_COLOR_ATTACHMENT12_EXT 0x8CEC\n#define GL_COLOR_ATTACHMENT13_EXT 0x8CED\n#define GL_COLOR_ATTACHMENT14_EXT 0x8CEE\n#define GL_COLOR_ATTACHMENT15_EXT 0x8CEF\n#define GL_DEPTH_ATTACHMENT_EXT 0x8D00\n#define GL_STENCIL_ATTACHMENT_EXT 0x8D20\n#define GL_FRAMEBUFFER_EXT 0x8D40\n#define GL_RENDERBUFFER_EXT 0x8D41\n#define GL_RENDERBUFFER_WIDTH_EXT 0x8D42\n#define GL_RENDERBUFFER_HEIGHT_EXT 0x8D43\n#define GL_RENDERBUFFER_INTERNAL_FORMAT_EXT 0x8D44\n#define GL_STENCIL_INDEX1_EXT 0x8D46\n#define GL_STENCIL_INDEX4_EXT 0x8D47\n#define GL_STENCIL_INDEX8_EXT 0x8D48\n#define GL_STENCIL_INDEX16_EXT 0x8D49\n#define GL_RENDERBUFFER_RED_SIZE_EXT 0x8D50\n#define GL_RENDERBUFFER_GREEN_SIZE_EXT 0x8D51\n#define GL_RENDERBUFFER_BLUE_SIZE_EXT 0x8D52\n#define GL_RENDERBUFFER_ALPHA_SIZE_EXT 0x8D53\n#define GL_RENDERBUFFER_DEPTH_SIZE_EXT 0x8D54\n#define GL_RENDERBUFFER_STENCIL_SIZE_EXT 0x8D55\n#define GL_FRAMEBUFFER_SRGB_EXT 0x8DB9\n#define GL_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x8DBA\n#define GL_GEOMETRY_SHADER_EXT 0x8DD9\n#define GL_GEOMETRY_VERTICES_OUT_EXT 0x8DDA\n#define GL_GEOMETRY_INPUT_TYPE_EXT 0x8DDB\n#define GL_GEOMETRY_OUTPUT_TYPE_EXT 0x8DDC\n#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT 0x8C29\n#define GL_MAX_GEOMETRY_VARYING_COMPONENTS_EXT 0x8DDD\n#define GL_MAX_VERTEX_VARYING_COMPONENTS_EXT 0x8DDE\n#define GL_MAX_VARYING_COMPONENTS_EXT 0x8B4B\n#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT 0x8DDF\n#define GL_MAX_GEOMETRY_OUTPUT_VERTICES_EXT 0x8DE0\n#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT 0x8DE1\n#define GL_LINES_ADJACENCY_EXT 0x000A\n#define GL_LINE_STRIP_ADJACENCY_EXT 0x000B\n#define GL_TRIANGLES_ADJACENCY_EXT 0x000C\n#define GL_TRIANGLE_STRIP_ADJACENCY_EXT 0x000D\n#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT 0x8DA8\n#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT 0x8DA9\n#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT 0x8DA7\n#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT 0x8CD4\n#define GL_PROGRAM_POINT_SIZE_EXT 0x8642\n#define GL_VERTEX_ATTRIB_ARRAY_INTEGER_EXT 0x88FD\n#define GL_SAMPLER_1D_ARRAY_EXT 0x8DC0\n#define GL_SAMPLER_2D_ARRAY_EXT 0x8DC1\n#define GL_SAMPLER_BUFFER_EXT 0x8DC2\n#define GL_SAMPLER_1D_ARRAY_SHADOW_EXT 0x8DC3\n#define GL_SAMPLER_2D_ARRAY_SHADOW_EXT 0x8DC4\n#define GL_SAMPLER_CUBE_SHADOW_EXT 0x8DC5\n#define GL_UNSIGNED_INT_VEC2_EXT 0x8DC6\n#define GL_UNSIGNED_INT_VEC3_EXT 0x8DC7\n#define GL_UNSIGNED_INT_VEC4_EXT 0x8DC8\n#define GL_INT_SAMPLER_1D_EXT 0x8DC9\n#define GL_INT_SAMPLER_2D_EXT 0x8DCA\n#define GL_INT_SAMPLER_3D_EXT 0x8DCB\n#define GL_INT_SAMPLER_CUBE_EXT 0x8DCC\n#define GL_INT_SAMPLER_2D_RECT_EXT 0x8DCD\n#define GL_INT_SAMPLER_1D_ARRAY_EXT 0x8DCE\n#define GL_INT_SAMPLER_2D_ARRAY_EXT 0x8DCF\n#define GL_INT_SAMPLER_BUFFER_EXT 0x8DD0\n#define GL_UNSIGNED_INT_SAMPLER_1D_EXT 0x8DD1\n#define GL_UNSIGNED_INT_SAMPLER_2D_EXT 0x8DD2\n#define GL_UNSIGNED_INT_SAMPLER_3D_EXT 0x8DD3\n#define GL_UNSIGNED_INT_SAMPLER_CUBE_EXT 0x8DD4\n#define GL_UNSIGNED_INT_SAMPLER_2D_RECT_EXT 0x8DD5\n#define GL_UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT 0x8DD6\n#define GL_UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT 0x8DD7\n#define GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT 0x8DD8\n#define GL_MIN_PROGRAM_TEXEL_OFFSET_EXT 0x8904\n#define GL_MAX_PROGRAM_TEXEL_OFFSET_EXT 0x8905\n#define GL_HISTOGRAM_EXT 0x8024\n#define GL_PROXY_HISTOGRAM_EXT 0x8025\n#define GL_HISTOGRAM_WIDTH_EXT 0x8026\n#define GL_HISTOGRAM_FORMAT_EXT 0x8027\n#define GL_HISTOGRAM_RED_SIZE_EXT 0x8028\n#define GL_HISTOGRAM_GREEN_SIZE_EXT 0x8029\n#define GL_HISTOGRAM_BLUE_SIZE_EXT 0x802A\n#define GL_HISTOGRAM_ALPHA_SIZE_EXT 0x802B\n#define GL_HISTOGRAM_LUMINANCE_SIZE_EXT 0x802C\n#define GL_HISTOGRAM_SINK_EXT 0x802D\n#define GL_MINMAX_EXT 0x802E\n#define GL_MINMAX_FORMAT_EXT 0x802F\n#define GL_MINMAX_SINK_EXT 0x8030\n#define GL_TABLE_TOO_LARGE_EXT 0x8031\n#define GL_IUI_V2F_EXT 0x81AD\n#define GL_IUI_V3F_EXT 0x81AE\n#define GL_IUI_N3F_V2F_EXT 0x81AF\n#define GL_IUI_N3F_V3F_EXT 0x81B0\n#define GL_T2F_IUI_V2F_EXT 0x81B1\n#define GL_T2F_IUI_V3F_EXT 0x81B2\n#define GL_T2F_IUI_N3F_V2F_EXT 0x81B3\n#define GL_T2F_IUI_N3F_V3F_EXT 0x81B4\n#define GL_INDEX_TEST_EXT 0x81B5\n#define GL_INDEX_TEST_FUNC_EXT 0x81B6\n#define GL_INDEX_TEST_REF_EXT 0x81B7\n#define GL_INDEX_MATERIAL_EXT 0x81B8\n#define GL_INDEX_MATERIAL_PARAMETER_EXT 0x81B9\n#define GL_INDEX_MATERIAL_FACE_EXT 0x81BA\n#define GL_FRAGMENT_MATERIAL_EXT 0x8349\n#define GL_FRAGMENT_NORMAL_EXT 0x834A\n#define GL_FRAGMENT_COLOR_EXT 0x834C\n#define GL_ATTENUATION_EXT 0x834D\n#define GL_SHADOW_ATTENUATION_EXT 0x834E\n#define GL_TEXTURE_APPLICATION_MODE_EXT 0x834F\n#define GL_TEXTURE_LIGHT_EXT 0x8350\n#define GL_TEXTURE_MATERIAL_FACE_EXT 0x8351\n#define GL_TEXTURE_MATERIAL_PARAMETER_EXT 0x8352\n#define GL_TEXTURE_TILING_EXT 0x9580\n#define GL_DEDICATED_MEMORY_OBJECT_EXT 0x9581\n#define GL_PROTECTED_MEMORY_OBJECT_EXT 0x959B\n#define GL_NUM_TILING_TYPES_EXT 0x9582\n#define GL_TILING_TYPES_EXT 0x9583\n#define GL_OPTIMAL_TILING_EXT 0x9584\n#define GL_LINEAR_TILING_EXT 0x9585\n#define GL_NUM_DEVICE_UUIDS_EXT 0x9596\n#define GL_DEVICE_UUID_EXT 0x9597\n#define GL_DRIVER_UUID_EXT 0x9598\n#define GL_UUID_SIZE_EXT 16\n#define GL_HANDLE_TYPE_OPAQUE_FD_EXT 0x9586\n#define GL_HANDLE_TYPE_OPAQUE_WIN32_EXT 0x9587\n#define GL_HANDLE_TYPE_OPAQUE_WIN32_KMT_EXT 0x9588\n#define GL_DEVICE_LUID_EXT 0x9599\n#define GL_DEVICE_NODE_MASK_EXT 0x959A\n#define GL_LUID_SIZE_EXT 8\n#define GL_HANDLE_TYPE_D3D12_TILEPOOL_EXT 0x9589\n#define GL_HANDLE_TYPE_D3D12_RESOURCE_EXT 0x958A\n#define GL_HANDLE_TYPE_D3D11_IMAGE_EXT 0x958B\n#define GL_HANDLE_TYPE_D3D11_IMAGE_KMT_EXT 0x958C\n#define GL_MULTISAMPLE_EXT 0x809D\n#define GL_SAMPLE_ALPHA_TO_MASK_EXT 0x809E\n#define GL_SAMPLE_ALPHA_TO_ONE_EXT 0x809F\n#define GL_SAMPLE_MASK_EXT 0x80A0\n#define GL_1PASS_EXT 0x80A1\n#define GL_2PASS_0_EXT 0x80A2\n#define GL_2PASS_1_EXT 0x80A3\n#define GL_4PASS_0_EXT 0x80A4\n#define GL_4PASS_1_EXT 0x80A5\n#define GL_4PASS_2_EXT 0x80A6\n#define GL_4PASS_3_EXT 0x80A7\n#define GL_SAMPLE_BUFFERS_EXT 0x80A8\n#define GL_SAMPLES_EXT 0x80A9\n#define GL_SAMPLE_MASK_VALUE_EXT 0x80AA\n#define GL_SAMPLE_MASK_INVERT_EXT 0x80AB\n#define GL_SAMPLE_PATTERN_EXT 0x80AC\n#define GL_MULTISAMPLE_BIT_EXT 0x20000000\n#define GL_DEPTH_STENCIL_EXT 0x84F9\n#define GL_UNSIGNED_INT_24_8_EXT 0x84FA\n#define GL_DEPTH24_STENCIL8_EXT 0x88F0\n#define GL_TEXTURE_STENCIL_SIZE_EXT 0x88F1\n#define GL_R11F_G11F_B10F_EXT 0x8C3A\n#define GL_UNSIGNED_INT_10F_11F_11F_REV_EXT 0x8C3B\n#define GL_RGBA_SIGNED_COMPONENTS_EXT 0x8C3C\n#define GL_UNSIGNED_BYTE_3_3_2_EXT 0x8032\n#define GL_UNSIGNED_SHORT_4_4_4_4_EXT 0x8033\n#define GL_UNSIGNED_SHORT_5_5_5_1_EXT 0x8034\n#define GL_UNSIGNED_INT_8_8_8_8_EXT 0x8035\n#define GL_UNSIGNED_INT_10_10_10_2_EXT 0x8036\n#define GL_COLOR_INDEX1_EXT 0x80E2\n#define GL_COLOR_INDEX2_EXT 0x80E3\n#define GL_COLOR_INDEX4_EXT 0x80E4\n#define GL_COLOR_INDEX8_EXT 0x80E5\n#define GL_COLOR_INDEX12_EXT 0x80E6\n#define GL_COLOR_INDEX16_EXT 0x80E7\n#define GL_TEXTURE_INDEX_SIZE_EXT 0x80ED\n#define GL_PIXEL_PACK_BUFFER_EXT 0x88EB\n#define GL_PIXEL_UNPACK_BUFFER_EXT 0x88EC\n#define GL_PIXEL_PACK_BUFFER_BINDING_EXT 0x88ED\n#define GL_PIXEL_UNPACK_BUFFER_BINDING_EXT 0x88EF\n#define GL_PIXEL_TRANSFORM_2D_EXT 0x8330\n#define GL_PIXEL_MAG_FILTER_EXT 0x8331\n#define GL_PIXEL_MIN_FILTER_EXT 0x8332\n#define GL_PIXEL_CUBIC_WEIGHT_EXT 0x8333\n#define GL_CUBIC_EXT 0x8334\n#define GL_AVERAGE_EXT 0x8335\n#define GL_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT 0x8336\n#define GL_MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT 0x8337\n#define GL_PIXEL_TRANSFORM_2D_MATRIX_EXT 0x8338\n#define GL_POINT_SIZE_MIN_EXT 0x8126\n#define GL_POINT_SIZE_MAX_EXT 0x8127\n#define GL_POINT_FADE_THRESHOLD_SIZE_EXT 0x8128\n#define GL_DISTANCE_ATTENUATION_EXT 0x8129\n#define GL_POLYGON_OFFSET_EXT 0x8037\n#define GL_POLYGON_OFFSET_FACTOR_EXT 0x8038\n#define GL_POLYGON_OFFSET_BIAS_EXT 0x8039\n#define GL_POLYGON_OFFSET_CLAMP_EXT 0x8E1B\n#define GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT 0x8E4C\n#define GL_FIRST_VERTEX_CONVENTION_EXT 0x8E4D\n#define GL_LAST_VERTEX_CONVENTION_EXT 0x8E4E\n#define GL_PROVOKING_VERTEX_EXT 0x8E4F\n#define GL_RASTER_MULTISAMPLE_EXT 0x9327\n#define GL_RASTER_SAMPLES_EXT 0x9328\n#define GL_MAX_RASTER_SAMPLES_EXT 0x9329\n#define GL_RASTER_FIXED_SAMPLE_LOCATIONS_EXT 0x932A\n#define GL_MULTISAMPLE_RASTERIZATION_ALLOWED_EXT 0x932B\n#define GL_EFFECTIVE_RASTER_SAMPLES_EXT 0x932C\n#define GL_RESCALE_NORMAL_EXT 0x803A\n#define GL_COLOR_SUM_EXT 0x8458\n#define GL_CURRENT_SECONDARY_COLOR_EXT 0x8459\n#define GL_SECONDARY_COLOR_ARRAY_SIZE_EXT 0x845A\n#define GL_SECONDARY_COLOR_ARRAY_TYPE_EXT 0x845B\n#define GL_SECONDARY_COLOR_ARRAY_STRIDE_EXT 0x845C\n#define GL_SECONDARY_COLOR_ARRAY_POINTER_EXT 0x845D\n#define GL_SECONDARY_COLOR_ARRAY_EXT 0x845E\n#define GL_LAYOUT_GENERAL_EXT 0x958D\n#define GL_LAYOUT_COLOR_ATTACHMENT_EXT 0x958E\n#define GL_LAYOUT_DEPTH_STENCIL_ATTACHMENT_EXT 0x958F\n#define GL_LAYOUT_DEPTH_STENCIL_READ_ONLY_EXT 0x9590\n#define GL_LAYOUT_SHADER_READ_ONLY_EXT 0x9591\n#define GL_LAYOUT_TRANSFER_SRC_EXT 0x9592\n#define GL_LAYOUT_TRANSFER_DST_EXT 0x9593\n#define GL_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_EXT 0x9530\n#define GL_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_EXT 0x9531\n#define GL_HANDLE_TYPE_D3D12_FENCE_EXT 0x9594\n#define GL_D3D12_FENCE_VALUE_EXT 0x9595\n#define GL_ACTIVE_PROGRAM_EXT 0x8B8D\n#define GL_VERTEX_SHADER_BIT_EXT 0x00000001\n#define GL_FRAGMENT_SHADER_BIT_EXT 0x00000002\n#define GL_ALL_SHADER_BITS_EXT 0xFFFFFFFF\n#define GL_PROGRAM_SEPARABLE_EXT 0x8258\n#define GL_PROGRAM_PIPELINE_BINDING_EXT 0x825A\n#define GL_LIGHT_MODEL_COLOR_CONTROL_EXT 0x81F8\n#define GL_SINGLE_COLOR_EXT 0x81F9\n#define GL_SEPARATE_SPECULAR_COLOR_EXT 0x81FA\n#define GL_MAX_IMAGE_UNITS_EXT 0x8F38\n#define GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS_EXT 0x8F39\n#define GL_IMAGE_BINDING_NAME_EXT 0x8F3A\n#define GL_IMAGE_BINDING_LEVEL_EXT 0x8F3B\n#define GL_IMAGE_BINDING_LAYERED_EXT 0x8F3C\n#define GL_IMAGE_BINDING_LAYER_EXT 0x8F3D\n#define GL_IMAGE_BINDING_ACCESS_EXT 0x8F3E\n#define GL_IMAGE_1D_EXT 0x904C\n#define GL_IMAGE_2D_EXT 0x904D\n#define GL_IMAGE_3D_EXT 0x904E\n#define GL_IMAGE_2D_RECT_EXT 0x904F\n#define GL_IMAGE_CUBE_EXT 0x9050\n#define GL_IMAGE_BUFFER_EXT 0x9051\n#define GL_IMAGE_1D_ARRAY_EXT 0x9052\n#define GL_IMAGE_2D_ARRAY_EXT 0x9053\n#define GL_IMAGE_CUBE_MAP_ARRAY_EXT 0x9054\n#define GL_IMAGE_2D_MULTISAMPLE_EXT 0x9055\n#define GL_IMAGE_2D_MULTISAMPLE_ARRAY_EXT 0x9056\n#define GL_INT_IMAGE_1D_EXT 0x9057\n#define GL_INT_IMAGE_2D_EXT 0x9058\n#define GL_INT_IMAGE_3D_EXT 0x9059\n#define GL_INT_IMAGE_2D_RECT_EXT 0x905A\n#define GL_INT_IMAGE_CUBE_EXT 0x905B\n#define GL_INT_IMAGE_BUFFER_EXT 0x905C\n#define GL_INT_IMAGE_1D_ARRAY_EXT 0x905D\n#define GL_INT_IMAGE_2D_ARRAY_EXT 0x905E\n#define GL_INT_IMAGE_CUBE_MAP_ARRAY_EXT 0x905F\n#define GL_INT_IMAGE_2D_MULTISAMPLE_EXT 0x9060\n#define GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT 0x9061\n#define GL_UNSIGNED_INT_IMAGE_1D_EXT 0x9062\n#define GL_UNSIGNED_INT_IMAGE_2D_EXT 0x9063\n#define GL_UNSIGNED_INT_IMAGE_3D_EXT 0x9064\n#define GL_UNSIGNED_INT_IMAGE_2D_RECT_EXT 0x9065\n#define GL_UNSIGNED_INT_IMAGE_CUBE_EXT 0x9066\n#define GL_UNSIGNED_INT_IMAGE_BUFFER_EXT 0x9067\n#define GL_UNSIGNED_INT_IMAGE_1D_ARRAY_EXT 0x9068\n#define GL_UNSIGNED_INT_IMAGE_2D_ARRAY_EXT 0x9069\n#define GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT 0x906A\n#define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_EXT 0x906B\n#define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT 0x906C\n#define GL_MAX_IMAGE_SAMPLES_EXT 0x906D\n#define GL_IMAGE_BINDING_FORMAT_EXT 0x906E\n#define GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT_EXT 0x00000001\n#define GL_ELEMENT_ARRAY_BARRIER_BIT_EXT 0x00000002\n#define GL_UNIFORM_BARRIER_BIT_EXT 0x00000004\n#define GL_TEXTURE_FETCH_BARRIER_BIT_EXT 0x00000008\n#define GL_SHADER_IMAGE_ACCESS_BARRIER_BIT_EXT 0x00000020\n#define GL_COMMAND_BARRIER_BIT_EXT 0x00000040\n#define GL_PIXEL_BUFFER_BARRIER_BIT_EXT 0x00000080\n#define GL_TEXTURE_UPDATE_BARRIER_BIT_EXT 0x00000100\n#define GL_BUFFER_UPDATE_BARRIER_BIT_EXT 0x00000200\n#define GL_FRAMEBUFFER_BARRIER_BIT_EXT 0x00000400\n#define GL_TRANSFORM_FEEDBACK_BARRIER_BIT_EXT 0x00000800\n#define GL_ATOMIC_COUNTER_BARRIER_BIT_EXT 0x00001000\n#define GL_ALL_BARRIER_BITS_EXT 0xFFFFFFFF\n#define GL_SHARED_TEXTURE_PALETTE_EXT 0x81FB\n#define GL_STENCIL_TAG_BITS_EXT 0x88F2\n#define GL_STENCIL_CLEAR_TAG_VALUE_EXT 0x88F3\n#define GL_STENCIL_TEST_TWO_SIDE_EXT 0x8910\n#define GL_ACTIVE_STENCIL_FACE_EXT 0x8911\n#define GL_INCR_WRAP_EXT 0x8507\n#define GL_DECR_WRAP_EXT 0x8508\n#define GL_ALPHA4_EXT 0x803B\n#define GL_ALPHA8_EXT 0x803C\n#define GL_ALPHA12_EXT 0x803D\n#define GL_ALPHA16_EXT 0x803E\n#define GL_LUMINANCE4_EXT 0x803F\n#define GL_LUMINANCE8_EXT 0x8040\n#define GL_LUMINANCE12_EXT 0x8041\n#define GL_LUMINANCE16_EXT 0x8042\n#define GL_LUMINANCE4_ALPHA4_EXT 0x8043\n#define GL_LUMINANCE6_ALPHA2_EXT 0x8044\n#define GL_LUMINANCE8_ALPHA8_EXT 0x8045\n#define GL_LUMINANCE12_ALPHA4_EXT 0x8046\n#define GL_LUMINANCE12_ALPHA12_EXT 0x8047\n#define GL_LUMINANCE16_ALPHA16_EXT 0x8048\n#define GL_INTENSITY_EXT 0x8049\n#define GL_INTENSITY4_EXT 0x804A\n#define GL_INTENSITY8_EXT 0x804B\n#define GL_INTENSITY12_EXT 0x804C\n#define GL_INTENSITY16_EXT 0x804D\n#define GL_RGB2_EXT 0x804E\n#define GL_RGB4_EXT 0x804F\n#define GL_RGB5_EXT 0x8050\n#define GL_RGB8_EXT 0x8051\n#define GL_RGB10_EXT 0x8052\n#define GL_RGB12_EXT 0x8053\n#define GL_RGB16_EXT 0x8054\n#define GL_RGBA2_EXT 0x8055\n#define GL_RGBA4_EXT 0x8056\n#define GL_RGB5_A1_EXT 0x8057\n#define GL_RGBA8_EXT 0x8058\n#define GL_RGB10_A2_EXT 0x8059\n#define GL_RGBA12_EXT 0x805A\n#define GL_RGBA16_EXT 0x805B\n#define GL_TEXTURE_RED_SIZE_EXT 0x805C\n#define GL_TEXTURE_GREEN_SIZE_EXT 0x805D\n#define GL_TEXTURE_BLUE_SIZE_EXT 0x805E\n#define GL_TEXTURE_ALPHA_SIZE_EXT 0x805F\n#define GL_TEXTURE_LUMINANCE_SIZE_EXT 0x8060\n#define GL_TEXTURE_INTENSITY_SIZE_EXT 0x8061\n#define GL_REPLACE_EXT 0x8062\n#define GL_PROXY_TEXTURE_1D_EXT 0x8063\n#define GL_PROXY_TEXTURE_2D_EXT 0x8064\n#define GL_TEXTURE_TOO_LARGE_EXT 0x8065\n#define GL_PACK_SKIP_IMAGES_EXT 0x806B\n#define GL_PACK_IMAGE_HEIGHT_EXT 0x806C\n#define GL_UNPACK_SKIP_IMAGES_EXT 0x806D\n#define GL_UNPACK_IMAGE_HEIGHT_EXT 0x806E\n#define GL_TEXTURE_3D_EXT 0x806F\n#define GL_PROXY_TEXTURE_3D_EXT 0x8070\n#define GL_TEXTURE_DEPTH_EXT 0x8071\n#define GL_TEXTURE_WRAP_R_EXT 0x8072\n#define GL_MAX_3D_TEXTURE_SIZE_EXT 0x8073\n#define GL_TEXTURE_1D_ARRAY_EXT 0x8C18\n#define GL_PROXY_TEXTURE_1D_ARRAY_EXT 0x8C19\n#define GL_TEXTURE_2D_ARRAY_EXT 0x8C1A\n#define GL_PROXY_TEXTURE_2D_ARRAY_EXT 0x8C1B\n#define GL_TEXTURE_BINDING_1D_ARRAY_EXT 0x8C1C\n#define GL_TEXTURE_BINDING_2D_ARRAY_EXT 0x8C1D\n#define GL_MAX_ARRAY_TEXTURE_LAYERS_EXT 0x88FF\n#define GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT 0x884E\n#define GL_TEXTURE_BUFFER_EXT 0x8C2A\n#define GL_MAX_TEXTURE_BUFFER_SIZE_EXT 0x8C2B\n#define GL_TEXTURE_BINDING_BUFFER_EXT 0x8C2C\n#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING_EXT 0x8C2D\n#define GL_TEXTURE_BUFFER_FORMAT_EXT 0x8C2E\n#define GL_COMPRESSED_LUMINANCE_LATC1_EXT 0x8C70\n#define GL_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT 0x8C71\n#define GL_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT 0x8C72\n#define GL_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT 0x8C73\n#define GL_COMPRESSED_RED_RGTC1_EXT 0x8DBB\n#define GL_COMPRESSED_SIGNED_RED_RGTC1_EXT 0x8DBC\n#define GL_COMPRESSED_RED_GREEN_RGTC2_EXT 0x8DBD\n#define GL_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT 0x8DBE\n#define GL_COMPRESSED_RGB_S3TC_DXT1_EXT 0x83F0\n#define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT 0x83F1\n#define GL_COMPRESSED_RGBA_S3TC_DXT3_EXT 0x83F2\n#define GL_COMPRESSED_RGBA_S3TC_DXT5_EXT 0x83F3\n#define GL_NORMAL_MAP_EXT 0x8511\n#define GL_REFLECTION_MAP_EXT 0x8512\n#define GL_TEXTURE_CUBE_MAP_EXT 0x8513\n#define GL_TEXTURE_BINDING_CUBE_MAP_EXT 0x8514\n#define GL_TEXTURE_CUBE_MAP_POSITIVE_X_EXT 0x8515\n#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_EXT 0x8516\n#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_EXT 0x8517\n#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT 0x8518\n#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_EXT 0x8519\n#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT 0x851A\n#define GL_PROXY_TEXTURE_CUBE_MAP_EXT 0x851B\n#define GL_MAX_CUBE_MAP_TEXTURE_SIZE_EXT 0x851C\n#define GL_COMBINE_EXT 0x8570\n#define GL_COMBINE_RGB_EXT 0x8571\n#define GL_COMBINE_ALPHA_EXT 0x8572\n#define GL_RGB_SCALE_EXT 0x8573\n#define GL_ADD_SIGNED_EXT 0x8574\n#define GL_INTERPOLATE_EXT 0x8575\n#define GL_CONSTANT_EXT 0x8576\n#define GL_PRIMARY_COLOR_EXT 0x8577\n#define GL_PREVIOUS_EXT 0x8578\n#define GL_SOURCE0_RGB_EXT 0x8580\n#define GL_SOURCE1_RGB_EXT 0x8581\n#define GL_SOURCE2_RGB_EXT 0x8582\n#define GL_SOURCE0_ALPHA_EXT 0x8588\n#define GL_SOURCE1_ALPHA_EXT 0x8589\n#define GL_SOURCE2_ALPHA_EXT 0x858A\n#define GL_OPERAND0_RGB_EXT 0x8590\n#define GL_OPERAND1_RGB_EXT 0x8591\n#define GL_OPERAND2_RGB_EXT 0x8592\n#define GL_OPERAND0_ALPHA_EXT 0x8598\n#define GL_OPERAND1_ALPHA_EXT 0x8599\n#define GL_OPERAND2_ALPHA_EXT 0x859A\n#define GL_DOT3_RGB_EXT 0x8740\n#define GL_DOT3_RGBA_EXT 0x8741\n#define GL_TEXTURE_MAX_ANISOTROPY_EXT 0x84FE\n#define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF\n#define GL_RGBA32UI_EXT 0x8D70\n#define GL_RGB32UI_EXT 0x8D71\n#define GL_ALPHA32UI_EXT 0x8D72\n#define GL_INTENSITY32UI_EXT 0x8D73\n#define GL_LUMINANCE32UI_EXT 0x8D74\n#define GL_LUMINANCE_ALPHA32UI_EXT 0x8D75\n#define GL_RGBA16UI_EXT 0x8D76\n#define GL_RGB16UI_EXT 0x8D77\n#define GL_ALPHA16UI_EXT 0x8D78\n#define GL_INTENSITY16UI_EXT 0x8D79\n#define GL_LUMINANCE16UI_EXT 0x8D7A\n#define GL_LUMINANCE_ALPHA16UI_EXT 0x8D7B\n#define GL_RGBA8UI_EXT 0x8D7C\n#define GL_RGB8UI_EXT 0x8D7D\n#define GL_ALPHA8UI_EXT 0x8D7E\n#define GL_INTENSITY8UI_EXT 0x8D7F\n#define GL_LUMINANCE8UI_EXT 0x8D80\n#define GL_LUMINANCE_ALPHA8UI_EXT 0x8D81\n#define GL_RGBA32I_EXT 0x8D82\n#define GL_RGB32I_EXT 0x8D83\n#define GL_ALPHA32I_EXT 0x8D84\n#define GL_INTENSITY32I_EXT 0x8D85\n#define GL_LUMINANCE32I_EXT 0x8D86\n#define GL_LUMINANCE_ALPHA32I_EXT 0x8D87\n#define GL_RGBA16I_EXT 0x8D88\n#define GL_RGB16I_EXT 0x8D89\n#define GL_ALPHA16I_EXT 0x8D8A\n#define GL_INTENSITY16I_EXT 0x8D8B\n#define GL_LUMINANCE16I_EXT 0x8D8C\n#define GL_LUMINANCE_ALPHA16I_EXT 0x8D8D\n#define GL_RGBA8I_EXT 0x8D8E\n#define GL_RGB8I_EXT 0x8D8F\n#define GL_ALPHA8I_EXT 0x8D90\n#define GL_INTENSITY8I_EXT 0x8D91\n#define GL_LUMINANCE8I_EXT 0x8D92\n#define GL_LUMINANCE_ALPHA8I_EXT 0x8D93\n#define GL_RED_INTEGER_EXT 0x8D94\n#define GL_GREEN_INTEGER_EXT 0x8D95\n#define GL_BLUE_INTEGER_EXT 0x8D96\n#define GL_ALPHA_INTEGER_EXT 0x8D97\n#define GL_RGB_INTEGER_EXT 0x8D98\n#define GL_RGBA_INTEGER_EXT 0x8D99\n#define GL_BGR_INTEGER_EXT 0x8D9A\n#define GL_BGRA_INTEGER_EXT 0x8D9B\n#define GL_LUMINANCE_INTEGER_EXT 0x8D9C\n#define GL_LUMINANCE_ALPHA_INTEGER_EXT 0x8D9D\n#define GL_RGBA_INTEGER_MODE_EXT 0x8D9E\n#define GL_MAX_TEXTURE_LOD_BIAS_EXT 0x84FD\n#define GL_TEXTURE_FILTER_CONTROL_EXT 0x8500\n#define GL_TEXTURE_LOD_BIAS_EXT 0x8501\n#define GL_MIRROR_CLAMP_EXT 0x8742\n#define GL_MIRROR_CLAMP_TO_EDGE_EXT 0x8743\n#define GL_MIRROR_CLAMP_TO_BORDER_EXT 0x8912\n#define GL_TEXTURE_PRIORITY_EXT 0x8066\n#define GL_TEXTURE_RESIDENT_EXT 0x8067\n#define GL_TEXTURE_1D_BINDING_EXT 0x8068\n#define GL_TEXTURE_2D_BINDING_EXT 0x8069\n#define GL_TEXTURE_3D_BINDING_EXT 0x806A\n#define GL_PERTURB_EXT 0x85AE\n#define GL_TEXTURE_NORMAL_EXT 0x85AF\n#define GL_SRGB_EXT 0x8C40\n#define GL_SRGB8_EXT 0x8C41\n#define GL_SRGB_ALPHA_EXT 0x8C42\n#define GL_SRGB8_ALPHA8_EXT 0x8C43\n#define GL_SLUMINANCE_ALPHA_EXT 0x8C44\n#define GL_SLUMINANCE8_ALPHA8_EXT 0x8C45\n#define GL_SLUMINANCE_EXT 0x8C46\n#define GL_SLUMINANCE8_EXT 0x8C47\n#define GL_COMPRESSED_SRGB_EXT 0x8C48\n#define GL_COMPRESSED_SRGB_ALPHA_EXT 0x8C49\n#define GL_COMPRESSED_SLUMINANCE_EXT 0x8C4A\n#define GL_COMPRESSED_SLUMINANCE_ALPHA_EXT 0x8C4B\n#define GL_COMPRESSED_SRGB_S3TC_DXT1_EXT 0x8C4C\n#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT 0x8C4D\n#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT 0x8C4E\n#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT 0x8C4F\n#define GL_TEXTURE_SRGB_DECODE_EXT 0x8A48\n#define GL_DECODE_EXT 0x8A49\n#define GL_SKIP_DECODE_EXT 0x8A4A\n#define GL_RGB9_E5_EXT 0x8C3D\n#define GL_UNSIGNED_INT_5_9_9_9_REV_EXT 0x8C3E\n#define GL_TEXTURE_SHARED_SIZE_EXT 0x8C3F\n#define GL_ALPHA_SNORM 0x9010\n#define GL_LUMINANCE_SNORM 0x9011\n#define GL_LUMINANCE_ALPHA_SNORM 0x9012\n#define GL_INTENSITY_SNORM 0x9013\n#define GL_ALPHA8_SNORM 0x9014\n#define GL_LUMINANCE8_SNORM 0x9015\n#define GL_LUMINANCE8_ALPHA8_SNORM 0x9016\n#define GL_INTENSITY8_SNORM 0x9017\n#define GL_ALPHA16_SNORM 0x9018\n#define GL_LUMINANCE16_SNORM 0x9019\n#define GL_LUMINANCE16_ALPHA16_SNORM 0x901A\n#define GL_INTENSITY16_SNORM 0x901B\n#define GL_RED_SNORM 0x8F90\n#define GL_RG_SNORM 0x8F91\n#define GL_RGB_SNORM 0x8F92\n#define GL_RGBA_SNORM 0x8F93\n#define GL_TEXTURE_SWIZZLE_R_EXT 0x8E42\n#define GL_TEXTURE_SWIZZLE_G_EXT 0x8E43\n#define GL_TEXTURE_SWIZZLE_B_EXT 0x8E44\n#define GL_TEXTURE_SWIZZLE_A_EXT 0x8E45\n#define GL_TEXTURE_SWIZZLE_RGBA_EXT 0x8E46\n#define GL_TIME_ELAPSED_EXT 0x88BF\n#define GL_TRANSFORM_FEEDBACK_BUFFER_EXT 0x8C8E\n#define GL_TRANSFORM_FEEDBACK_BUFFER_START_EXT 0x8C84\n#define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT 0x8C85\n#define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT 0x8C8F\n#define GL_INTERLEAVED_ATTRIBS_EXT 0x8C8C\n#define GL_SEPARATE_ATTRIBS_EXT 0x8C8D\n#define GL_PRIMITIVES_GENERATED_EXT 0x8C87\n#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT 0x8C88\n#define GL_RASTERIZER_DISCARD_EXT 0x8C89\n#define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT 0x8C8A\n#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT 0x8C8B\n#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT 0x8C80\n#define GL_TRANSFORM_FEEDBACK_VARYINGS_EXT 0x8C83\n#define GL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT 0x8C7F\n#define GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT 0x8C76\n#define GL_VERTEX_ARRAY_EXT 0x8074\n#define GL_NORMAL_ARRAY_EXT 0x8075\n#define GL_COLOR_ARRAY_EXT 0x8076\n#define GL_INDEX_ARRAY_EXT 0x8077\n#define GL_TEXTURE_COORD_ARRAY_EXT 0x8078\n#define GL_EDGE_FLAG_ARRAY_EXT 0x8079\n#define GL_VERTEX_ARRAY_SIZE_EXT 0x807A\n#define GL_VERTEX_ARRAY_TYPE_EXT 0x807B\n#define GL_VERTEX_ARRAY_STRIDE_EXT 0x807C\n#define GL_VERTEX_ARRAY_COUNT_EXT 0x807D\n#define GL_NORMAL_ARRAY_TYPE_EXT 0x807E\n#define GL_NORMAL_ARRAY_STRIDE_EXT 0x807F\n#define GL_NORMAL_ARRAY_COUNT_EXT 0x8080\n#define GL_COLOR_ARRAY_SIZE_EXT 0x8081\n#define GL_COLOR_ARRAY_TYPE_EXT 0x8082\n#define GL_COLOR_ARRAY_STRIDE_EXT 0x8083\n#define GL_COLOR_ARRAY_COUNT_EXT 0x8084\n#define GL_INDEX_ARRAY_TYPE_EXT 0x8085\n#define GL_INDEX_ARRAY_STRIDE_EXT 0x8086\n#define GL_INDEX_ARRAY_COUNT_EXT 0x8087\n#define GL_TEXTURE_COORD_ARRAY_SIZE_EXT 0x8088\n#define GL_TEXTURE_COORD_ARRAY_TYPE_EXT 0x8089\n#define GL_TEXTURE_COORD_ARRAY_STRIDE_EXT 0x808A\n#define GL_TEXTURE_COORD_ARRAY_COUNT_EXT 0x808B\n#define GL_EDGE_FLAG_ARRAY_STRIDE_EXT 0x808C\n#define GL_EDGE_FLAG_ARRAY_COUNT_EXT 0x808D\n#define GL_VERTEX_ARRAY_POINTER_EXT 0x808E\n#define GL_NORMAL_ARRAY_POINTER_EXT 0x808F\n#define GL_COLOR_ARRAY_POINTER_EXT 0x8090\n#define GL_INDEX_ARRAY_POINTER_EXT 0x8091\n#define GL_TEXTURE_COORD_ARRAY_POINTER_EXT 0x8092\n#define GL_EDGE_FLAG_ARRAY_POINTER_EXT 0x8093\n#define GL_DOUBLE_VEC2_EXT 0x8FFC\n#define GL_DOUBLE_VEC3_EXT 0x8FFD\n#define GL_DOUBLE_VEC4_EXT 0x8FFE\n#define GL_DOUBLE_MAT2_EXT 0x8F46\n#define GL_DOUBLE_MAT3_EXT 0x8F47\n#define GL_DOUBLE_MAT4_EXT 0x8F48\n#define GL_DOUBLE_MAT2x3_EXT 0x8F49\n#define GL_DOUBLE_MAT2x4_EXT 0x8F4A\n#define GL_DOUBLE_MAT3x2_EXT 0x8F4B\n#define GL_DOUBLE_MAT3x4_EXT 0x8F4C\n#define GL_DOUBLE_MAT4x2_EXT 0x8F4D\n#define GL_DOUBLE_MAT4x3_EXT 0x8F4E\n#define GL_VERTEX_SHADER_EXT 0x8780\n#define GL_VERTEX_SHADER_BINDING_EXT 0x8781\n#define GL_OP_INDEX_EXT 0x8782\n#define GL_OP_NEGATE_EXT 0x8783\n#define GL_OP_DOT3_EXT 0x8784\n#define GL_OP_DOT4_EXT 0x8785\n#define GL_OP_MUL_EXT 0x8786\n#define GL_OP_ADD_EXT 0x8787\n#define GL_OP_MADD_EXT 0x8788\n#define GL_OP_FRAC_EXT 0x8789\n#define GL_OP_MAX_EXT 0x878A\n#define GL_OP_MIN_EXT 0x878B\n#define GL_OP_SET_GE_EXT 0x878C\n#define GL_OP_SET_LT_EXT 0x878D\n#define GL_OP_CLAMP_EXT 0x878E\n#define GL_OP_FLOOR_EXT 0x878F\n#define GL_OP_ROUND_EXT 0x8790\n#define GL_OP_EXP_BASE_2_EXT 0x8791\n#define GL_OP_LOG_BASE_2_EXT 0x8792\n#define GL_OP_POWER_EXT 0x8793\n#define GL_OP_RECIP_EXT 0x8794\n#define GL_OP_RECIP_SQRT_EXT 0x8795\n#define GL_OP_SUB_EXT 0x8796\n#define GL_OP_CROSS_PRODUCT_EXT 0x8797\n#define GL_OP_MULTIPLY_MATRIX_EXT 0x8798\n#define GL_OP_MOV_EXT 0x8799\n#define GL_OUTPUT_VERTEX_EXT 0x879A\n#define GL_OUTPUT_COLOR0_EXT 0x879B\n#define GL_OUTPUT_COLOR1_EXT 0x879C\n#define GL_OUTPUT_TEXTURE_COORD0_EXT 0x879D\n#define GL_OUTPUT_TEXTURE_COORD1_EXT 0x879E\n#define GL_OUTPUT_TEXTURE_COORD2_EXT 0x879F\n#define GL_OUTPUT_TEXTURE_COORD3_EXT 0x87A0\n#define GL_OUTPUT_TEXTURE_COORD4_EXT 0x87A1\n#define GL_OUTPUT_TEXTURE_COORD5_EXT 0x87A2\n#define GL_OUTPUT_TEXTURE_COORD6_EXT 0x87A3\n#define GL_OUTPUT_TEXTURE_COORD7_EXT 0x87A4\n#define GL_OUTPUT_TEXTURE_COORD8_EXT 0x87A5\n#define GL_OUTPUT_TEXTURE_COORD9_EXT 0x87A6\n#define GL_OUTPUT_TEXTURE_COORD10_EXT 0x87A7\n#define GL_OUTPUT_TEXTURE_COORD11_EXT 0x87A8\n#define GL_OUTPUT_TEXTURE_COORD12_EXT 0x87A9\n#define GL_OUTPUT_TEXTURE_COORD13_EXT 0x87AA\n#define GL_OUTPUT_TEXTURE_COORD14_EXT 0x87AB\n#define GL_OUTPUT_TEXTURE_COORD15_EXT 0x87AC\n#define GL_OUTPUT_TEXTURE_COORD16_EXT 0x87AD\n#define GL_OUTPUT_TEXTURE_COORD17_EXT 0x87AE\n#define GL_OUTPUT_TEXTURE_COORD18_EXT 0x87AF\n#define GL_OUTPUT_TEXTURE_COORD19_EXT 0x87B0\n#define GL_OUTPUT_TEXTURE_COORD20_EXT 0x87B1\n#define GL_OUTPUT_TEXTURE_COORD21_EXT 0x87B2\n#define GL_OUTPUT_TEXTURE_COORD22_EXT 0x87B3\n#define GL_OUTPUT_TEXTURE_COORD23_EXT 0x87B4\n#define GL_OUTPUT_TEXTURE_COORD24_EXT 0x87B5\n#define GL_OUTPUT_TEXTURE_COORD25_EXT 0x87B6\n#define GL_OUTPUT_TEXTURE_COORD26_EXT 0x87B7\n#define GL_OUTPUT_TEXTURE_COORD27_EXT 0x87B8\n#define GL_OUTPUT_TEXTURE_COORD28_EXT 0x87B9\n#define GL_OUTPUT_TEXTURE_COORD29_EXT 0x87BA\n#define GL_OUTPUT_TEXTURE_COORD30_EXT 0x87BB\n#define GL_OUTPUT_TEXTURE_COORD31_EXT 0x87BC\n#define GL_OUTPUT_FOG_EXT 0x87BD\n#define GL_SCALAR_EXT 0x87BE\n#define GL_VECTOR_EXT 0x87BF\n#define GL_MATRIX_EXT 0x87C0\n#define GL_VARIANT_EXT 0x87C1\n#define GL_INVARIANT_EXT 0x87C2\n#define GL_LOCAL_CONSTANT_EXT 0x87C3\n#define GL_LOCAL_EXT 0x87C4\n#define GL_MAX_VERTEX_SHADER_INSTRUCTIONS_EXT 0x87C5\n#define GL_MAX_VERTEX_SHADER_VARIANTS_EXT 0x87C6\n#define GL_MAX_VERTEX_SHADER_INVARIANTS_EXT 0x87C7\n#define GL_MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT 0x87C8\n#define GL_MAX_VERTEX_SHADER_LOCALS_EXT 0x87C9\n#define GL_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT 0x87CA\n#define GL_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT 0x87CB\n#define GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT 0x87CC\n#define GL_MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT 0x87CD\n#define GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT 0x87CE\n#define GL_VERTEX_SHADER_INSTRUCTIONS_EXT 0x87CF\n#define GL_VERTEX_SHADER_VARIANTS_EXT 0x87D0\n#define GL_VERTEX_SHADER_INVARIANTS_EXT 0x87D1\n#define GL_VERTEX_SHADER_LOCAL_CONSTANTS_EXT 0x87D2\n#define GL_VERTEX_SHADER_LOCALS_EXT 0x87D3\n#define GL_VERTEX_SHADER_OPTIMIZED_EXT 0x87D4\n#define GL_X_EXT 0x87D5\n#define GL_Y_EXT 0x87D6\n#define GL_Z_EXT 0x87D7\n#define GL_W_EXT 0x87D8\n#define GL_NEGATIVE_X_EXT 0x87D9\n#define GL_NEGATIVE_Y_EXT 0x87DA\n#define GL_NEGATIVE_Z_EXT 0x87DB\n#define GL_NEGATIVE_W_EXT 0x87DC\n#define GL_ZERO_EXT 0x87DD\n#define GL_ONE_EXT 0x87DE\n#define GL_NEGATIVE_ONE_EXT 0x87DF\n#define GL_NORMALIZED_RANGE_EXT 0x87E0\n#define GL_FULL_RANGE_EXT 0x87E1\n#define GL_CURRENT_VERTEX_EXT 0x87E2\n#define GL_MVP_MATRIX_EXT 0x87E3\n#define GL_VARIANT_VALUE_EXT 0x87E4\n#define GL_VARIANT_DATATYPE_EXT 0x87E5\n#define GL_VARIANT_ARRAY_STRIDE_EXT 0x87E6\n#define GL_VARIANT_ARRAY_TYPE_EXT 0x87E7\n#define GL_VARIANT_ARRAY_EXT 0x87E8\n#define GL_VARIANT_ARRAY_POINTER_EXT 0x87E9\n#define GL_INVARIANT_VALUE_EXT 0x87EA\n#define GL_INVARIANT_DATATYPE_EXT 0x87EB\n#define GL_LOCAL_CONSTANT_VALUE_EXT 0x87EC\n#define GL_LOCAL_CONSTANT_DATATYPE_EXT 0x87ED\n#define GL_MODELVIEW0_STACK_DEPTH_EXT 0x0BA3\n#define GL_MODELVIEW1_STACK_DEPTH_EXT 0x8502\n#define GL_MODELVIEW0_MATRIX_EXT 0x0BA6\n#define GL_MODELVIEW1_MATRIX_EXT 0x8506\n#define GL_VERTEX_WEIGHTING_EXT 0x8509\n#define GL_MODELVIEW0_EXT 0x1700\n#define GL_MODELVIEW1_EXT 0x850A\n#define GL_CURRENT_VERTEX_WEIGHT_EXT 0x850B\n#define GL_VERTEX_WEIGHT_ARRAY_EXT 0x850C\n#define GL_VERTEX_WEIGHT_ARRAY_SIZE_EXT 0x850D\n#define GL_VERTEX_WEIGHT_ARRAY_TYPE_EXT 0x850E\n#define GL_VERTEX_WEIGHT_ARRAY_STRIDE_EXT 0x850F\n#define GL_VERTEX_WEIGHT_ARRAY_POINTER_EXT 0x8510\n#define GL_INCLUSIVE_EXT 0x8F10\n#define GL_EXCLUSIVE_EXT 0x8F11\n#define GL_WINDOW_RECTANGLE_EXT 0x8F12\n#define GL_WINDOW_RECTANGLE_MODE_EXT 0x8F13\n#define GL_MAX_WINDOW_RECTANGLES_EXT 0x8F14\n#define GL_NUM_WINDOW_RECTANGLES_EXT 0x8F15\n#define GL_SYNC_X11_FENCE_EXT 0x90E1\n#define GL_IGNORE_BORDER_HP 0x8150\n#define GL_CONSTANT_BORDER_HP 0x8151\n#define GL_REPLICATE_BORDER_HP 0x8153\n#define GL_CONVOLUTION_BORDER_COLOR_HP 0x8154\n#define GL_IMAGE_SCALE_X_HP 0x8155\n#define GL_IMAGE_SCALE_Y_HP 0x8156\n#define GL_IMAGE_TRANSLATE_X_HP 0x8157\n#define GL_IMAGE_TRANSLATE_Y_HP 0x8158\n#define GL_IMAGE_ROTATE_ANGLE_HP 0x8159\n#define GL_IMAGE_ROTATE_ORIGIN_X_HP 0x815A\n#define GL_IMAGE_ROTATE_ORIGIN_Y_HP 0x815B\n#define GL_IMAGE_MAG_FILTER_HP 0x815C\n#define GL_IMAGE_MIN_FILTER_HP 0x815D\n#define GL_IMAGE_CUBIC_WEIGHT_HP 0x815E\n#define GL_CUBIC_HP 0x815F\n#define GL_AVERAGE_HP 0x8160\n#define GL_IMAGE_TRANSFORM_2D_HP 0x8161\n#define GL_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP 0x8162\n#define GL_PROXY_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP 0x8163\n#define GL_OCCLUSION_TEST_HP 0x8165\n#define GL_OCCLUSION_TEST_RESULT_HP 0x8166\n#define GL_TEXTURE_LIGHTING_MODE_HP 0x8167\n#define GL_TEXTURE_POST_SPECULAR_HP 0x8168\n#define GL_TEXTURE_PRE_SPECULAR_HP 0x8169\n#define GL_CULL_VERTEX_IBM 103050\n#define GL_RASTER_POSITION_UNCLIPPED_IBM 0x19262\n#define GL_ALL_STATIC_DATA_IBM 103060\n#define GL_STATIC_VERTEX_ARRAY_IBM 103061\n#define GL_MIRRORED_REPEAT_IBM 0x8370\n#define GL_VERTEX_ARRAY_LIST_IBM 103070\n#define GL_NORMAL_ARRAY_LIST_IBM 103071\n#define GL_COLOR_ARRAY_LIST_IBM 103072\n#define GL_INDEX_ARRAY_LIST_IBM 103073\n#define GL_TEXTURE_COORD_ARRAY_LIST_IBM 103074\n#define GL_EDGE_FLAG_ARRAY_LIST_IBM 103075\n#define GL_FOG_COORDINATE_ARRAY_LIST_IBM 103076\n#define GL_SECONDARY_COLOR_ARRAY_LIST_IBM 103077\n#define GL_VERTEX_ARRAY_LIST_STRIDE_IBM 103080\n#define GL_NORMAL_ARRAY_LIST_STRIDE_IBM 103081\n#define GL_COLOR_ARRAY_LIST_STRIDE_IBM 103082\n#define GL_INDEX_ARRAY_LIST_STRIDE_IBM 103083\n#define GL_TEXTURE_COORD_ARRAY_LIST_STRIDE_IBM 103084\n#define GL_EDGE_FLAG_ARRAY_LIST_STRIDE_IBM 103085\n#define GL_FOG_COORDINATE_ARRAY_LIST_STRIDE_IBM 103086\n#define GL_SECONDARY_COLOR_ARRAY_LIST_STRIDE_IBM 103087\n#define GL_RED_MIN_CLAMP_INGR 0x8560\n#define GL_GREEN_MIN_CLAMP_INGR 0x8561\n#define GL_BLUE_MIN_CLAMP_INGR 0x8562\n#define GL_ALPHA_MIN_CLAMP_INGR 0x8563\n#define GL_RED_MAX_CLAMP_INGR 0x8564\n#define GL_GREEN_MAX_CLAMP_INGR 0x8565\n#define GL_BLUE_MAX_CLAMP_INGR 0x8566\n#define GL_ALPHA_MAX_CLAMP_INGR 0x8567\n#define GL_INTERLACE_READ_INGR 0x8568\n#define GL_CONSERVATIVE_RASTERIZATION_INTEL 0x83FE\n#define GL_TEXTURE_MEMORY_LAYOUT_INTEL 0x83FF\n#define GL_LAYOUT_DEFAULT_INTEL 0\n#define GL_LAYOUT_LINEAR_INTEL 1\n#define GL_LAYOUT_LINEAR_CPU_CACHED_INTEL 2\n#define GL_PARALLEL_ARRAYS_INTEL 0x83F4\n#define GL_VERTEX_ARRAY_PARALLEL_POINTERS_INTEL 0x83F5\n#define GL_NORMAL_ARRAY_PARALLEL_POINTERS_INTEL 0x83F6\n#define GL_COLOR_ARRAY_PARALLEL_POINTERS_INTEL 0x83F7\n#define GL_TEXTURE_COORD_ARRAY_PARALLEL_POINTERS_INTEL 0x83F8\n#define GL_PERFQUERY_SINGLE_CONTEXT_INTEL 0x00000000\n#define GL_PERFQUERY_GLOBAL_CONTEXT_INTEL 0x00000001\n#define GL_PERFQUERY_WAIT_INTEL 0x83FB\n#define GL_PERFQUERY_FLUSH_INTEL 0x83FA\n#define GL_PERFQUERY_DONOT_FLUSH_INTEL 0x83F9\n#define GL_PERFQUERY_COUNTER_EVENT_INTEL 0x94F0\n#define GL_PERFQUERY_COUNTER_DURATION_NORM_INTEL 0x94F1\n#define GL_PERFQUERY_COUNTER_DURATION_RAW_INTEL 0x94F2\n#define GL_PERFQUERY_COUNTER_THROUGHPUT_INTEL 0x94F3\n#define GL_PERFQUERY_COUNTER_RAW_INTEL 0x94F4\n#define GL_PERFQUERY_COUNTER_TIMESTAMP_INTEL 0x94F5\n#define GL_PERFQUERY_COUNTER_DATA_UINT32_INTEL 0x94F8\n#define GL_PERFQUERY_COUNTER_DATA_UINT64_INTEL 0x94F9\n#define GL_PERFQUERY_COUNTER_DATA_FLOAT_INTEL 0x94FA\n#define GL_PERFQUERY_COUNTER_DATA_DOUBLE_INTEL 0x94FB\n#define GL_PERFQUERY_COUNTER_DATA_BOOL32_INTEL 0x94FC\n#define GL_PERFQUERY_QUERY_NAME_LENGTH_MAX_INTEL 0x94FD\n#define GL_PERFQUERY_COUNTER_NAME_LENGTH_MAX_INTEL 0x94FE\n#define GL_PERFQUERY_COUNTER_DESC_LENGTH_MAX_INTEL 0x94FF\n#define GL_PERFQUERY_GPA_EXTENDED_COUNTERS_INTEL 0x9500\n#define GL_MULTIPLY_KHR 0x9294\n#define GL_SCREEN_KHR 0x9295\n#define GL_OVERLAY_KHR 0x9296\n#define GL_DARKEN_KHR 0x9297\n#define GL_LIGHTEN_KHR 0x9298\n#define GL_COLORDODGE_KHR 0x9299\n#define GL_COLORBURN_KHR 0x929A\n#define GL_HARDLIGHT_KHR 0x929B\n#define GL_SOFTLIGHT_KHR 0x929C\n#define GL_DIFFERENCE_KHR 0x929E\n#define GL_EXCLUSION_KHR 0x92A0\n#define GL_HSL_HUE_KHR 0x92AD\n#define GL_HSL_SATURATION_KHR 0x92AE\n#define GL_HSL_COLOR_KHR 0x92AF\n#define GL_HSL_LUMINOSITY_KHR 0x92B0\n#define GL_BLEND_ADVANCED_COHERENT_KHR 0x9285\n#define GL_CONTEXT_RELEASE_BEHAVIOR_KHR 0x82FB\n#define GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH_KHR 0x82FC\n#define GL_DEBUG_OUTPUT_SYNCHRONOUS_KHR 0x8242\n#define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_KHR 0x8243\n#define GL_DEBUG_CALLBACK_FUNCTION_KHR 0x8244\n#define GL_DEBUG_CALLBACK_USER_PARAM_KHR 0x8245\n#define GL_DEBUG_SOURCE_API_KHR 0x8246\n#define GL_DEBUG_SOURCE_WINDOW_SYSTEM_KHR 0x8247\n#define GL_DEBUG_SOURCE_SHADER_COMPILER_KHR 0x8248\n#define GL_DEBUG_SOURCE_THIRD_PARTY_KHR 0x8249\n#define GL_DEBUG_SOURCE_APPLICATION_KHR 0x824A\n#define GL_DEBUG_SOURCE_OTHER_KHR 0x824B\n#define GL_DEBUG_TYPE_ERROR_KHR 0x824C\n#define GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_KHR 0x824D\n#define GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_KHR 0x824E\n#define GL_DEBUG_TYPE_PORTABILITY_KHR 0x824F\n#define GL_DEBUG_TYPE_PERFORMANCE_KHR 0x8250\n#define GL_DEBUG_TYPE_OTHER_KHR 0x8251\n#define GL_DEBUG_TYPE_MARKER_KHR 0x8268\n#define GL_DEBUG_TYPE_PUSH_GROUP_KHR 0x8269\n#define GL_DEBUG_TYPE_POP_GROUP_KHR 0x826A\n#define GL_DEBUG_SEVERITY_NOTIFICATION_KHR 0x826B\n#define GL_MAX_DEBUG_GROUP_STACK_DEPTH_KHR 0x826C\n#define GL_DEBUG_GROUP_STACK_DEPTH_KHR 0x826D\n#define GL_BUFFER_KHR 0x82E0\n#define GL_SHADER_KHR 0x82E1\n#define GL_PROGRAM_KHR 0x82E2\n#define GL_VERTEX_ARRAY_KHR 0x8074\n#define GL_QUERY_KHR 0x82E3\n#define GL_PROGRAM_PIPELINE_KHR 0x82E4\n#define GL_SAMPLER_KHR 0x82E6\n#define GL_MAX_LABEL_LENGTH_KHR 0x82E8\n#define GL_MAX_DEBUG_MESSAGE_LENGTH_KHR 0x9143\n#define GL_MAX_DEBUG_LOGGED_MESSAGES_KHR 0x9144\n#define GL_DEBUG_LOGGED_MESSAGES_KHR 0x9145\n#define GL_DEBUG_SEVERITY_HIGH_KHR 0x9146\n#define GL_DEBUG_SEVERITY_MEDIUM_KHR 0x9147\n#define GL_DEBUG_SEVERITY_LOW_KHR 0x9148\n#define GL_DEBUG_OUTPUT_KHR 0x92E0\n#define GL_CONTEXT_FLAG_DEBUG_BIT_KHR 0x00000002\n#define GL_STACK_OVERFLOW_KHR 0x0503\n#define GL_STACK_UNDERFLOW_KHR 0x0504\n#define GL_CONTEXT_FLAG_NO_ERROR_BIT_KHR 0x00000008\n#define GL_MAX_SHADER_COMPILER_THREADS_KHR 0x91B0\n#define GL_COMPLETION_STATUS_KHR 0x91B1\n#define GL_CONTEXT_ROBUST_ACCESS 0x90F3\n#define GL_CONTEXT_ROBUST_ACCESS_KHR 0x90F3\n#define GL_LOSE_CONTEXT_ON_RESET_KHR 0x8252\n#define GL_GUILTY_CONTEXT_RESET_KHR 0x8253\n#define GL_INNOCENT_CONTEXT_RESET_KHR 0x8254\n#define GL_UNKNOWN_CONTEXT_RESET_KHR 0x8255\n#define GL_RESET_NOTIFICATION_STRATEGY_KHR 0x8256\n#define GL_NO_RESET_NOTIFICATION_KHR 0x8261\n#define GL_CONTEXT_LOST_KHR 0x0507\n#define GL_COMPRESSED_RGBA_ASTC_4x4_KHR 0x93B0\n#define GL_COMPRESSED_RGBA_ASTC_5x4_KHR 0x93B1\n#define GL_COMPRESSED_RGBA_ASTC_5x5_KHR 0x93B2\n#define GL_COMPRESSED_RGBA_ASTC_6x5_KHR 0x93B3\n#define GL_COMPRESSED_RGBA_ASTC_6x6_KHR 0x93B4\n#define GL_COMPRESSED_RGBA_ASTC_8x5_KHR 0x93B5\n#define GL_COMPRESSED_RGBA_ASTC_8x6_KHR 0x93B6\n#define GL_COMPRESSED_RGBA_ASTC_8x8_KHR 0x93B7\n#define GL_COMPRESSED_RGBA_ASTC_10x5_KHR 0x93B8\n#define GL_COMPRESSED_RGBA_ASTC_10x6_KHR 0x93B9\n#define GL_COMPRESSED_RGBA_ASTC_10x8_KHR 0x93BA\n#define GL_COMPRESSED_RGBA_ASTC_10x10_KHR 0x93BB\n#define GL_COMPRESSED_RGBA_ASTC_12x10_KHR 0x93BC\n#define GL_COMPRESSED_RGBA_ASTC_12x12_KHR 0x93BD\n#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR 0x93D0\n#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR 0x93D1\n#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR 0x93D2\n#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR 0x93D3\n#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR 0x93D4\n#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR 0x93D5\n#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR 0x93D6\n#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR 0x93D7\n#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR 0x93D8\n#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR 0x93D9\n#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR 0x93DA\n#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR 0x93DB\n#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR 0x93DC\n#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR 0x93DD\n#define GL_TEXTURE_1D_STACK_MESAX 0x8759\n#define GL_TEXTURE_2D_STACK_MESAX 0x875A\n#define GL_PROXY_TEXTURE_1D_STACK_MESAX 0x875B\n#define GL_PROXY_TEXTURE_2D_STACK_MESAX 0x875C\n#define GL_TEXTURE_1D_STACK_BINDING_MESAX 0x875D\n#define GL_TEXTURE_2D_STACK_BINDING_MESAX 0x875E\n#define GL_PACK_INVERT_MESA 0x8758\n#define GL_TILE_RASTER_ORDER_FIXED_MESA 0x8BB8\n#define GL_TILE_RASTER_ORDER_INCREASING_X_MESA 0x8BB9\n#define GL_TILE_RASTER_ORDER_INCREASING_Y_MESA 0x8BBA\n#define GL_UNSIGNED_SHORT_8_8_MESA 0x85BA\n#define GL_UNSIGNED_SHORT_8_8_REV_MESA 0x85BB\n#define GL_YCBCR_MESA 0x8757\n#define GL_GPU_MEMORY_INFO_DEDICATED_VIDMEM_NVX 0x9047\n#define GL_GPU_MEMORY_INFO_TOTAL_AVAILABLE_MEMORY_NVX 0x9048\n#define GL_GPU_MEMORY_INFO_CURRENT_AVAILABLE_VIDMEM_NVX 0x9049\n#define GL_GPU_MEMORY_INFO_EVICTION_COUNT_NVX 0x904A\n#define GL_GPU_MEMORY_INFO_EVICTED_MEMORY_NVX 0x904B\n#define GL_LGPU_SEPARATE_STORAGE_BIT_NVX 0x0800\n#define GL_MAX_LGPU_GPUS_NVX 0x92BA\n#define GL_ALPHA_TO_COVERAGE_DITHER_DEFAULT_NV 0x934D\n#define GL_ALPHA_TO_COVERAGE_DITHER_ENABLE_NV 0x934E\n#define GL_ALPHA_TO_COVERAGE_DITHER_DISABLE_NV 0x934F\n#define GL_ALPHA_TO_COVERAGE_DITHER_MODE_NV 0x92BF\n#define GL_BLEND_OVERLAP_NV 0x9281\n#define GL_BLEND_PREMULTIPLIED_SRC_NV 0x9280\n#define GL_BLUE_NV 0x1905\n#define GL_COLORBURN_NV 0x929A\n#define GL_COLORDODGE_NV 0x9299\n#define GL_CONJOINT_NV 0x9284\n#define GL_CONTRAST_NV 0x92A1\n#define GL_DARKEN_NV 0x9297\n#define GL_DIFFERENCE_NV 0x929E\n#define GL_DISJOINT_NV 0x9283\n#define GL_DST_ATOP_NV 0x928F\n#define GL_DST_IN_NV 0x928B\n#define GL_DST_NV 0x9287\n#define GL_DST_OUT_NV 0x928D\n#define GL_DST_OVER_NV 0x9289\n#define GL_EXCLUSION_NV 0x92A0\n#define GL_GREEN_NV 0x1904\n#define GL_HARDLIGHT_NV 0x929B\n#define GL_HARDMIX_NV 0x92A9\n#define GL_HSL_COLOR_NV 0x92AF\n#define GL_HSL_HUE_NV 0x92AD\n#define GL_HSL_LUMINOSITY_NV 0x92B0\n#define GL_HSL_SATURATION_NV 0x92AE\n#define GL_INVERT_OVG_NV 0x92B4\n#define GL_INVERT_RGB_NV 0x92A3\n#define GL_LIGHTEN_NV 0x9298\n#define GL_LINEARBURN_NV 0x92A5\n#define GL_LINEARDODGE_NV 0x92A4\n#define GL_LINEARLIGHT_NV 0x92A7\n#define GL_MINUS_CLAMPED_NV 0x92B3\n#define GL_MINUS_NV 0x929F\n#define GL_MULTIPLY_NV 0x9294\n#define GL_OVERLAY_NV 0x9296\n#define GL_PINLIGHT_NV 0x92A8\n#define GL_PLUS_CLAMPED_ALPHA_NV 0x92B2\n#define GL_PLUS_CLAMPED_NV 0x92B1\n#define GL_PLUS_DARKER_NV 0x9292\n#define GL_PLUS_NV 0x9291\n#define GL_RED_NV 0x1903\n#define GL_SCREEN_NV 0x9295\n#define GL_SOFTLIGHT_NV 0x929C\n#define GL_SRC_ATOP_NV 0x928E\n#define GL_SRC_IN_NV 0x928A\n#define GL_SRC_NV 0x9286\n#define GL_SRC_OUT_NV 0x928C\n#define GL_SRC_OVER_NV 0x9288\n#define GL_UNCORRELATED_NV 0x9282\n#define GL_VIVIDLIGHT_NV 0x92A6\n#define GL_XOR_NV 0x1506\n#define GL_BLEND_ADVANCED_COHERENT_NV 0x9285\n#define GL_VIEWPORT_POSITION_W_SCALE_NV 0x937C\n#define GL_VIEWPORT_POSITION_W_SCALE_X_COEFF_NV 0x937D\n#define GL_VIEWPORT_POSITION_W_SCALE_Y_COEFF_NV 0x937E\n#define GL_TERMINATE_SEQUENCE_COMMAND_NV 0x0000\n#define GL_NOP_COMMAND_NV 0x0001\n#define GL_DRAW_ELEMENTS_COMMAND_NV 0x0002\n#define GL_DRAW_ARRAYS_COMMAND_NV 0x0003\n#define GL_DRAW_ELEMENTS_STRIP_COMMAND_NV 0x0004\n#define GL_DRAW_ARRAYS_STRIP_COMMAND_NV 0x0005\n#define GL_DRAW_ELEMENTS_INSTANCED_COMMAND_NV 0x0006\n#define GL_DRAW_ARRAYS_INSTANCED_COMMAND_NV 0x0007\n#define GL_ELEMENT_ADDRESS_COMMAND_NV 0x0008\n#define GL_ATTRIBUTE_ADDRESS_COMMAND_NV 0x0009\n#define GL_UNIFORM_ADDRESS_COMMAND_NV 0x000A\n#define GL_BLEND_COLOR_COMMAND_NV 0x000B\n#define GL_STENCIL_REF_COMMAND_NV 0x000C\n#define GL_LINE_WIDTH_COMMAND_NV 0x000D\n#define GL_POLYGON_OFFSET_COMMAND_NV 0x000E\n#define GL_ALPHA_REF_COMMAND_NV 0x000F\n#define GL_VIEWPORT_COMMAND_NV 0x0010\n#define GL_SCISSOR_COMMAND_NV 0x0011\n#define GL_FRONT_FACE_COMMAND_NV 0x0012\n#define GL_COMPUTE_PROGRAM_NV 0x90FB\n#define GL_COMPUTE_PROGRAM_PARAMETER_BUFFER_NV 0x90FC\n#define GL_QUERY_WAIT_NV 0x8E13\n#define GL_QUERY_NO_WAIT_NV 0x8E14\n#define GL_QUERY_BY_REGION_WAIT_NV 0x8E15\n#define GL_QUERY_BY_REGION_NO_WAIT_NV 0x8E16\n#define GL_CONSERVATIVE_RASTERIZATION_NV 0x9346\n#define GL_SUBPIXEL_PRECISION_BIAS_X_BITS_NV 0x9347\n#define GL_SUBPIXEL_PRECISION_BIAS_Y_BITS_NV 0x9348\n#define GL_MAX_SUBPIXEL_PRECISION_BIAS_BITS_NV 0x9349\n#define GL_CONSERVATIVE_RASTER_DILATE_NV 0x9379\n#define GL_CONSERVATIVE_RASTER_DILATE_RANGE_NV 0x937A\n#define GL_CONSERVATIVE_RASTER_DILATE_GRANULARITY_NV 0x937B\n#define GL_CONSERVATIVE_RASTER_MODE_NV 0x954D\n#define GL_CONSERVATIVE_RASTER_MODE_POST_SNAP_NV 0x954E\n#define GL_CONSERVATIVE_RASTER_MODE_PRE_SNAP_TRIANGLES_NV 0x954F\n#define GL_DEPTH_STENCIL_TO_RGBA_NV 0x886E\n#define GL_DEPTH_STENCIL_TO_BGRA_NV 0x886F\n#define GL_MAX_DEEP_3D_TEXTURE_WIDTH_HEIGHT_NV 0x90D0\n#define GL_MAX_DEEP_3D_TEXTURE_DEPTH_NV 0x90D1\n#define GL_DEPTH_COMPONENT32F_NV 0x8DAB\n#define GL_DEPTH32F_STENCIL8_NV 0x8DAC\n#define GL_FLOAT_32_UNSIGNED_INT_24_8_REV_NV 0x8DAD\n#define GL_DEPTH_BUFFER_FLOAT_MODE_NV 0x8DAF\n#define GL_DEPTH_CLAMP_NV 0x864F\n#define GL_EVAL_2D_NV 0x86C0\n#define GL_EVAL_TRIANGULAR_2D_NV 0x86C1\n#define GL_MAP_TESSELLATION_NV 0x86C2\n#define GL_MAP_ATTRIB_U_ORDER_NV 0x86C3\n#define GL_MAP_ATTRIB_V_ORDER_NV 0x86C4\n#define GL_EVAL_FRACTIONAL_TESSELLATION_NV 0x86C5\n#define GL_EVAL_VERTEX_ATTRIB0_NV 0x86C6\n#define GL_EVAL_VERTEX_ATTRIB1_NV 0x86C7\n#define GL_EVAL_VERTEX_ATTRIB2_NV 0x86C8\n#define GL_EVAL_VERTEX_ATTRIB3_NV 0x86C9\n#define GL_EVAL_VERTEX_ATTRIB4_NV 0x86CA\n#define GL_EVAL_VERTEX_ATTRIB5_NV 0x86CB\n#define GL_EVAL_VERTEX_ATTRIB6_NV 0x86CC\n#define GL_EVAL_VERTEX_ATTRIB7_NV 0x86CD\n#define GL_EVAL_VERTEX_ATTRIB8_NV 0x86CE\n#define GL_EVAL_VERTEX_ATTRIB9_NV 0x86CF\n#define GL_EVAL_VERTEX_ATTRIB10_NV 0x86D0\n#define GL_EVAL_VERTEX_ATTRIB11_NV 0x86D1\n#define GL_EVAL_VERTEX_ATTRIB12_NV 0x86D2\n#define GL_EVAL_VERTEX_ATTRIB13_NV 0x86D3\n#define GL_EVAL_VERTEX_ATTRIB14_NV 0x86D4\n#define GL_EVAL_VERTEX_ATTRIB15_NV 0x86D5\n#define GL_MAX_MAP_TESSELLATION_NV 0x86D6\n#define GL_MAX_RATIONAL_EVAL_ORDER_NV 0x86D7\n#define GL_SAMPLE_POSITION_NV 0x8E50\n#define GL_SAMPLE_MASK_NV 0x8E51\n#define GL_SAMPLE_MASK_VALUE_NV 0x8E52\n#define GL_TEXTURE_BINDING_RENDERBUFFER_NV 0x8E53\n#define GL_TEXTURE_RENDERBUFFER_DATA_STORE_BINDING_NV 0x8E54\n#define GL_TEXTURE_RENDERBUFFER_NV 0x8E55\n#define GL_SAMPLER_RENDERBUFFER_NV 0x8E56\n#define GL_INT_SAMPLER_RENDERBUFFER_NV 0x8E57\n#define GL_UNSIGNED_INT_SAMPLER_RENDERBUFFER_NV 0x8E58\n#define GL_MAX_SAMPLE_MASK_WORDS_NV 0x8E59\n#define GL_ALL_COMPLETED_NV 0x84F2\n#define GL_FENCE_STATUS_NV 0x84F3\n#define GL_FENCE_CONDITION_NV 0x84F4\n#define GL_FILL_RECTANGLE_NV 0x933C\n#define GL_FLOAT_R_NV 0x8880\n#define GL_FLOAT_RG_NV 0x8881\n#define GL_FLOAT_RGB_NV 0x8882\n#define GL_FLOAT_RGBA_NV 0x8883\n#define GL_FLOAT_R16_NV 0x8884\n#define GL_FLOAT_R32_NV 0x8885\n#define GL_FLOAT_RG16_NV 0x8886\n#define GL_FLOAT_RG32_NV 0x8887\n#define GL_FLOAT_RGB16_NV 0x8888\n#define GL_FLOAT_RGB32_NV 0x8889\n#define GL_FLOAT_RGBA16_NV 0x888A\n#define GL_FLOAT_RGBA32_NV 0x888B\n#define GL_TEXTURE_FLOAT_COMPONENTS_NV 0x888C\n#define GL_FLOAT_CLEAR_COLOR_VALUE_NV 0x888D\n#define GL_FLOAT_RGBA_MODE_NV 0x888E\n#define GL_FOG_DISTANCE_MODE_NV 0x855A\n#define GL_EYE_RADIAL_NV 0x855B\n#define GL_EYE_PLANE_ABSOLUTE_NV 0x855C\n#define GL_FRAGMENT_COVERAGE_TO_COLOR_NV 0x92DD\n#define GL_FRAGMENT_COVERAGE_COLOR_NV 0x92DE\n#define GL_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV 0x8868\n#define GL_FRAGMENT_PROGRAM_NV 0x8870\n#define GL_MAX_TEXTURE_COORDS_NV 0x8871\n#define GL_MAX_TEXTURE_IMAGE_UNITS_NV 0x8872\n#define GL_FRAGMENT_PROGRAM_BINDING_NV 0x8873\n#define GL_PROGRAM_ERROR_STRING_NV 0x8874\n#define GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV 0x88F4\n#define GL_MAX_PROGRAM_CALL_DEPTH_NV 0x88F5\n#define GL_MAX_PROGRAM_IF_DEPTH_NV 0x88F6\n#define GL_MAX_PROGRAM_LOOP_DEPTH_NV 0x88F7\n#define GL_MAX_PROGRAM_LOOP_COUNT_NV 0x88F8\n#define GL_COVERAGE_MODULATION_TABLE_NV 0x9331\n#define GL_COLOR_SAMPLES_NV 0x8E20\n#define GL_DEPTH_SAMPLES_NV 0x932D\n#define GL_STENCIL_SAMPLES_NV 0x932E\n#define GL_MIXED_DEPTH_SAMPLES_SUPPORTED_NV 0x932F\n#define GL_MIXED_STENCIL_SAMPLES_SUPPORTED_NV 0x9330\n#define GL_COVERAGE_MODULATION_NV 0x9332\n#define GL_COVERAGE_MODULATION_TABLE_SIZE_NV 0x9333\n#define GL_RENDERBUFFER_COVERAGE_SAMPLES_NV 0x8CAB\n#define GL_RENDERBUFFER_COLOR_SAMPLES_NV 0x8E10\n#define GL_MAX_MULTISAMPLE_COVERAGE_MODES_NV 0x8E11\n#define GL_MULTISAMPLE_COVERAGE_MODES_NV 0x8E12\n#define GL_GEOMETRY_PROGRAM_NV 0x8C26\n#define GL_MAX_PROGRAM_OUTPUT_VERTICES_NV 0x8C27\n#define GL_MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS_NV 0x8C28\n#define GL_PER_GPU_STORAGE_BIT_NV 0x0800\n#define GL_MULTICAST_GPUS_NV 0x92BA\n#define GL_RENDER_GPU_MASK_NV 0x9558\n#define GL_PER_GPU_STORAGE_NV 0x9548\n#define GL_MULTICAST_PROGRAMMABLE_SAMPLE_LOCATION_NV 0x9549\n#define GL_MIN_PROGRAM_TEXEL_OFFSET_NV 0x8904\n#define GL_MAX_PROGRAM_TEXEL_OFFSET_NV 0x8905\n#define GL_PROGRAM_ATTRIB_COMPONENTS_NV 0x8906\n#define GL_PROGRAM_RESULT_COMPONENTS_NV 0x8907\n#define GL_MAX_PROGRAM_ATTRIB_COMPONENTS_NV 0x8908\n#define GL_MAX_PROGRAM_RESULT_COMPONENTS_NV 0x8909\n#define GL_MAX_PROGRAM_GENERIC_ATTRIBS_NV 0x8DA5\n#define GL_MAX_PROGRAM_GENERIC_RESULTS_NV 0x8DA6\n#define GL_MAX_GEOMETRY_PROGRAM_INVOCATIONS_NV 0x8E5A\n#define GL_MIN_FRAGMENT_INTERPOLATION_OFFSET_NV 0x8E5B\n#define GL_MAX_FRAGMENT_INTERPOLATION_OFFSET_NV 0x8E5C\n#define GL_FRAGMENT_PROGRAM_INTERPOLATION_OFFSET_BITS_NV 0x8E5D\n#define GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_NV 0x8E5E\n#define GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_NV 0x8E5F\n#define GL_MAX_PROGRAM_SUBROUTINE_PARAMETERS_NV 0x8F44\n#define GL_MAX_PROGRAM_SUBROUTINE_NUM_NV 0x8F45\n#define GL_HALF_FLOAT_NV 0x140B\n#define GL_MULTISAMPLES_NV 0x9371\n#define GL_SUPERSAMPLE_SCALE_X_NV 0x9372\n#define GL_SUPERSAMPLE_SCALE_Y_NV 0x9373\n#define GL_CONFORMANT_NV 0x9374\n#define GL_MAX_SHININESS_NV 0x8504\n#define GL_MAX_SPOT_EXPONENT_NV 0x8505\n#define GL_MULTISAMPLE_FILTER_HINT_NV 0x8534\n#define GL_PIXEL_COUNTER_BITS_NV 0x8864\n#define GL_CURRENT_OCCLUSION_QUERY_ID_NV 0x8865\n#define GL_PIXEL_COUNT_NV 0x8866\n#define GL_PIXEL_COUNT_AVAILABLE_NV 0x8867\n#define GL_DEPTH_STENCIL_NV 0x84F9\n#define GL_UNSIGNED_INT_24_8_NV 0x84FA\n#define GL_MAX_PROGRAM_PARAMETER_BUFFER_BINDINGS_NV 0x8DA0\n#define GL_MAX_PROGRAM_PARAMETER_BUFFER_SIZE_NV 0x8DA1\n#define GL_VERTEX_PROGRAM_PARAMETER_BUFFER_NV 0x8DA2\n#define GL_GEOMETRY_PROGRAM_PARAMETER_BUFFER_NV 0x8DA3\n#define GL_FRAGMENT_PROGRAM_PARAMETER_BUFFER_NV 0x8DA4\n#define GL_PATH_FORMAT_SVG_NV 0x9070\n#define GL_PATH_FORMAT_PS_NV 0x9071\n#define GL_STANDARD_FONT_NAME_NV 0x9072\n#define GL_SYSTEM_FONT_NAME_NV 0x9073\n#define GL_FILE_NAME_NV 0x9074\n#define GL_PATH_STROKE_WIDTH_NV 0x9075\n#define GL_PATH_END_CAPS_NV 0x9076\n#define GL_PATH_INITIAL_END_CAP_NV 0x9077\n#define GL_PATH_TERMINAL_END_CAP_NV 0x9078\n#define GL_PATH_JOIN_STYLE_NV 0x9079\n#define GL_PATH_MITER_LIMIT_NV 0x907A\n#define GL_PATH_DASH_CAPS_NV 0x907B\n#define GL_PATH_INITIAL_DASH_CAP_NV 0x907C\n#define GL_PATH_TERMINAL_DASH_CAP_NV 0x907D\n#define GL_PATH_DASH_OFFSET_NV 0x907E\n#define GL_PATH_CLIENT_LENGTH_NV 0x907F\n#define GL_PATH_FILL_MODE_NV 0x9080\n#define GL_PATH_FILL_MASK_NV 0x9081\n#define GL_PATH_FILL_COVER_MODE_NV 0x9082\n#define GL_PATH_STROKE_COVER_MODE_NV 0x9083\n#define GL_PATH_STROKE_MASK_NV 0x9084\n#define GL_COUNT_UP_NV 0x9088\n#define GL_COUNT_DOWN_NV 0x9089\n#define GL_PATH_OBJECT_BOUNDING_BOX_NV 0x908A\n#define GL_CONVEX_HULL_NV 0x908B\n#define GL_BOUNDING_BOX_NV 0x908D\n#define GL_TRANSLATE_X_NV 0x908E\n#define GL_TRANSLATE_Y_NV 0x908F\n#define GL_TRANSLATE_2D_NV 0x9090\n#define GL_TRANSLATE_3D_NV 0x9091\n#define GL_AFFINE_2D_NV 0x9092\n#define GL_AFFINE_3D_NV 0x9094\n#define GL_TRANSPOSE_AFFINE_2D_NV 0x9096\n#define GL_TRANSPOSE_AFFINE_3D_NV 0x9098\n#define GL_UTF8_NV 0x909A\n#define GL_UTF16_NV 0x909B\n#define GL_BOUNDING_BOX_OF_BOUNDING_BOXES_NV 0x909C\n#define GL_PATH_COMMAND_COUNT_NV 0x909D\n#define GL_PATH_COORD_COUNT_NV 0x909E\n#define GL_PATH_DASH_ARRAY_COUNT_NV 0x909F\n#define GL_PATH_COMPUTED_LENGTH_NV 0x90A0\n#define GL_PATH_FILL_BOUNDING_BOX_NV 0x90A1\n#define GL_PATH_STROKE_BOUNDING_BOX_NV 0x90A2\n#define GL_SQUARE_NV 0x90A3\n#define GL_ROUND_NV 0x90A4\n#define GL_TRIANGULAR_NV 0x90A5\n#define GL_BEVEL_NV 0x90A6\n#define GL_MITER_REVERT_NV 0x90A7\n#define GL_MITER_TRUNCATE_NV 0x90A8\n#define GL_SKIP_MISSING_GLYPH_NV 0x90A9\n#define GL_USE_MISSING_GLYPH_NV 0x90AA\n#define GL_PATH_ERROR_POSITION_NV 0x90AB\n#define GL_ACCUM_ADJACENT_PAIRS_NV 0x90AD\n#define GL_ADJACENT_PAIRS_NV 0x90AE\n#define GL_FIRST_TO_REST_NV 0x90AF\n#define GL_PATH_GEN_MODE_NV 0x90B0\n#define GL_PATH_GEN_COEFF_NV 0x90B1\n#define GL_PATH_GEN_COMPONENTS_NV 0x90B3\n#define GL_PATH_STENCIL_FUNC_NV 0x90B7\n#define GL_PATH_STENCIL_REF_NV 0x90B8\n#define GL_PATH_STENCIL_VALUE_MASK_NV 0x90B9\n#define GL_PATH_STENCIL_DEPTH_OFFSET_FACTOR_NV 0x90BD\n#define GL_PATH_STENCIL_DEPTH_OFFSET_UNITS_NV 0x90BE\n#define GL_PATH_COVER_DEPTH_FUNC_NV 0x90BF\n#define GL_PATH_DASH_OFFSET_RESET_NV 0x90B4\n#define GL_MOVE_TO_RESETS_NV 0x90B5\n#define GL_MOVE_TO_CONTINUES_NV 0x90B6\n#define GL_CLOSE_PATH_NV 0x00\n#define GL_MOVE_TO_NV 0x02\n#define GL_RELATIVE_MOVE_TO_NV 0x03\n#define GL_LINE_TO_NV 0x04\n#define GL_RELATIVE_LINE_TO_NV 0x05\n#define GL_HORIZONTAL_LINE_TO_NV 0x06\n#define GL_RELATIVE_HORIZONTAL_LINE_TO_NV 0x07\n#define GL_VERTICAL_LINE_TO_NV 0x08\n#define GL_RELATIVE_VERTICAL_LINE_TO_NV 0x09\n#define GL_QUADRATIC_CURVE_TO_NV 0x0A\n#define GL_RELATIVE_QUADRATIC_CURVE_TO_NV 0x0B\n#define GL_CUBIC_CURVE_TO_NV 0x0C\n#define GL_RELATIVE_CUBIC_CURVE_TO_NV 0x0D\n#define GL_SMOOTH_QUADRATIC_CURVE_TO_NV 0x0E\n#define GL_RELATIVE_SMOOTH_QUADRATIC_CURVE_TO_NV 0x0F\n#define GL_SMOOTH_CUBIC_CURVE_TO_NV 0x10\n#define GL_RELATIVE_SMOOTH_CUBIC_CURVE_TO_NV 0x11\n#define GL_SMALL_CCW_ARC_TO_NV 0x12\n#define GL_RELATIVE_SMALL_CCW_ARC_TO_NV 0x13\n#define GL_SMALL_CW_ARC_TO_NV 0x14\n#define GL_RELATIVE_SMALL_CW_ARC_TO_NV 0x15\n#define GL_LARGE_CCW_ARC_TO_NV 0x16\n#define GL_RELATIVE_LARGE_CCW_ARC_TO_NV 0x17\n#define GL_LARGE_CW_ARC_TO_NV 0x18\n#define GL_RELATIVE_LARGE_CW_ARC_TO_NV 0x19\n#define GL_RESTART_PATH_NV 0xF0\n#define GL_DUP_FIRST_CUBIC_CURVE_TO_NV 0xF2\n#define GL_DUP_LAST_CUBIC_CURVE_TO_NV 0xF4\n#define GL_RECT_NV 0xF6\n#define GL_CIRCULAR_CCW_ARC_TO_NV 0xF8\n#define GL_CIRCULAR_CW_ARC_TO_NV 0xFA\n#define GL_CIRCULAR_TANGENT_ARC_TO_NV 0xFC\n#define GL_ARC_TO_NV 0xFE\n#define GL_RELATIVE_ARC_TO_NV 0xFF\n#define GL_BOLD_BIT_NV 0x01\n#define GL_ITALIC_BIT_NV 0x02\n#define GL_GLYPH_WIDTH_BIT_NV 0x01\n#define GL_GLYPH_HEIGHT_BIT_NV 0x02\n#define GL_GLYPH_HORIZONTAL_BEARING_X_BIT_NV 0x04\n#define GL_GLYPH_HORIZONTAL_BEARING_Y_BIT_NV 0x08\n#define GL_GLYPH_HORIZONTAL_BEARING_ADVANCE_BIT_NV 0x10\n#define GL_GLYPH_VERTICAL_BEARING_X_BIT_NV 0x20\n#define GL_GLYPH_VERTICAL_BEARING_Y_BIT_NV 0x40\n#define GL_GLYPH_VERTICAL_BEARING_ADVANCE_BIT_NV 0x80\n#define GL_GLYPH_HAS_KERNING_BIT_NV 0x100\n#define GL_FONT_X_MIN_BOUNDS_BIT_NV 0x00010000\n#define GL_FONT_Y_MIN_BOUNDS_BIT_NV 0x00020000\n#define GL_FONT_X_MAX_BOUNDS_BIT_NV 0x00040000\n#define GL_FONT_Y_MAX_BOUNDS_BIT_NV 0x00080000\n#define GL_FONT_UNITS_PER_EM_BIT_NV 0x00100000\n#define GL_FONT_ASCENDER_BIT_NV 0x00200000\n#define GL_FONT_DESCENDER_BIT_NV 0x00400000\n#define GL_FONT_HEIGHT_BIT_NV 0x00800000\n#define GL_FONT_MAX_ADVANCE_WIDTH_BIT_NV 0x01000000\n#define GL_FONT_MAX_ADVANCE_HEIGHT_BIT_NV 0x02000000\n#define GL_FONT_UNDERLINE_POSITION_BIT_NV 0x04000000\n#define GL_FONT_UNDERLINE_THICKNESS_BIT_NV 0x08000000\n#define GL_FONT_HAS_KERNING_BIT_NV 0x10000000\n#define GL_ROUNDED_RECT_NV 0xE8\n#define GL_RELATIVE_ROUNDED_RECT_NV 0xE9\n#define GL_ROUNDED_RECT2_NV 0xEA\n#define GL_RELATIVE_ROUNDED_RECT2_NV 0xEB\n#define GL_ROUNDED_RECT4_NV 0xEC\n#define GL_RELATIVE_ROUNDED_RECT4_NV 0xED\n#define GL_ROUNDED_RECT8_NV 0xEE\n#define GL_RELATIVE_ROUNDED_RECT8_NV 0xEF\n#define GL_RELATIVE_RECT_NV 0xF7\n#define GL_FONT_GLYPHS_AVAILABLE_NV 0x9368\n#define GL_FONT_TARGET_UNAVAILABLE_NV 0x9369\n#define GL_FONT_UNAVAILABLE_NV 0x936A\n#define GL_FONT_UNINTELLIGIBLE_NV 0x936B\n#define GL_CONIC_CURVE_TO_NV 0x1A\n#define GL_RELATIVE_CONIC_CURVE_TO_NV 0x1B\n#define GL_FONT_NUM_GLYPH_INDICES_BIT_NV 0x20000000\n#define GL_STANDARD_FONT_FORMAT_NV 0x936C\n#define GL_2_BYTES_NV 0x1407\n#define GL_3_BYTES_NV 0x1408\n#define GL_4_BYTES_NV 0x1409\n#define GL_EYE_LINEAR_NV 0x2400\n#define GL_OBJECT_LINEAR_NV 0x2401\n#define GL_CONSTANT_NV 0x8576\n#define GL_PATH_FOG_GEN_MODE_NV 0x90AC\n#define GL_PRIMARY_COLOR_NV 0x852C\n#define GL_SECONDARY_COLOR_NV 0x852D\n#define GL_PATH_GEN_COLOR_FORMAT_NV 0x90B2\n#define GL_PATH_PROJECTION_NV 0x1701\n#define GL_PATH_MODELVIEW_NV 0x1700\n#define GL_PATH_MODELVIEW_STACK_DEPTH_NV 0x0BA3\n#define GL_PATH_MODELVIEW_MATRIX_NV 0x0BA6\n#define GL_PATH_MAX_MODELVIEW_STACK_DEPTH_NV 0x0D36\n#define GL_PATH_TRANSPOSE_MODELVIEW_MATRIX_NV 0x84E3\n#define GL_PATH_PROJECTION_STACK_DEPTH_NV 0x0BA4\n#define GL_PATH_PROJECTION_MATRIX_NV 0x0BA7\n#define GL_PATH_MAX_PROJECTION_STACK_DEPTH_NV 0x0D38\n#define GL_PATH_TRANSPOSE_PROJECTION_MATRIX_NV 0x84E4\n#define GL_FRAGMENT_INPUT_NV 0x936D\n#define GL_SHARED_EDGE_NV 0xC0\n#define GL_WRITE_PIXEL_DATA_RANGE_NV 0x8878\n#define GL_READ_PIXEL_DATA_RANGE_NV 0x8879\n#define GL_WRITE_PIXEL_DATA_RANGE_LENGTH_NV 0x887A\n#define GL_READ_PIXEL_DATA_RANGE_LENGTH_NV 0x887B\n#define GL_WRITE_PIXEL_DATA_RANGE_POINTER_NV 0x887C\n#define GL_READ_PIXEL_DATA_RANGE_POINTER_NV 0x887D\n#define GL_POINT_SPRITE_NV 0x8861\n#define GL_COORD_REPLACE_NV 0x8862\n#define GL_POINT_SPRITE_R_MODE_NV 0x8863\n#define GL_FRAME_NV 0x8E26\n#define GL_FIELDS_NV 0x8E27\n#define GL_CURRENT_TIME_NV 0x8E28\n#define GL_NUM_FILL_STREAMS_NV 0x8E29\n#define GL_PRESENT_TIME_NV 0x8E2A\n#define GL_PRESENT_DURATION_NV 0x8E2B\n#define GL_PRIMITIVE_RESTART_NV 0x8558\n#define GL_PRIMITIVE_RESTART_INDEX_NV 0x8559\n#define GL_QUERY_RESOURCE_TYPE_VIDMEM_ALLOC_NV 0x9540\n#define GL_QUERY_RESOURCE_MEMTYPE_VIDMEM_NV 0x9542\n#define GL_QUERY_RESOURCE_SYS_RESERVED_NV 0x9544\n#define GL_QUERY_RESOURCE_TEXTURE_NV 0x9545\n#define GL_QUERY_RESOURCE_RENDERBUFFER_NV 0x9546\n#define GL_QUERY_RESOURCE_BUFFEROBJECT_NV 0x9547\n#define GL_REGISTER_COMBINERS_NV 0x8522\n#define GL_VARIABLE_A_NV 0x8523\n#define GL_VARIABLE_B_NV 0x8524\n#define GL_VARIABLE_C_NV 0x8525\n#define GL_VARIABLE_D_NV 0x8526\n#define GL_VARIABLE_E_NV 0x8527\n#define GL_VARIABLE_F_NV 0x8528\n#define GL_VARIABLE_G_NV 0x8529\n#define GL_CONSTANT_COLOR0_NV 0x852A\n#define GL_CONSTANT_COLOR1_NV 0x852B\n#define GL_SPARE0_NV 0x852E\n#define GL_SPARE1_NV 0x852F\n#define GL_DISCARD_NV 0x8530\n#define GL_E_TIMES_F_NV 0x8531\n#define GL_SPARE0_PLUS_SECONDARY_COLOR_NV 0x8532\n#define GL_UNSIGNED_IDENTITY_NV 0x8536\n#define GL_UNSIGNED_INVERT_NV 0x8537\n#define GL_EXPAND_NORMAL_NV 0x8538\n#define GL_EXPAND_NEGATE_NV 0x8539\n#define GL_HALF_BIAS_NORMAL_NV 0x853A\n#define GL_HALF_BIAS_NEGATE_NV 0x853B\n#define GL_SIGNED_IDENTITY_NV 0x853C\n#define GL_SIGNED_NEGATE_NV 0x853D\n#define GL_SCALE_BY_TWO_NV 0x853E\n#define GL_SCALE_BY_FOUR_NV 0x853F\n#define GL_SCALE_BY_ONE_HALF_NV 0x8540\n#define GL_BIAS_BY_NEGATIVE_ONE_HALF_NV 0x8541\n#define GL_COMBINER_INPUT_NV 0x8542\n#define GL_COMBINER_MAPPING_NV 0x8543\n#define GL_COMBINER_COMPONENT_USAGE_NV 0x8544\n#define GL_COMBINER_AB_DOT_PRODUCT_NV 0x8545\n#define GL_COMBINER_CD_DOT_PRODUCT_NV 0x8546\n#define GL_COMBINER_MUX_SUM_NV 0x8547\n#define GL_COMBINER_SCALE_NV 0x8548\n#define GL_COMBINER_BIAS_NV 0x8549\n#define GL_COMBINER_AB_OUTPUT_NV 0x854A\n#define GL_COMBINER_CD_OUTPUT_NV 0x854B\n#define GL_COMBINER_SUM_OUTPUT_NV 0x854C\n#define GL_MAX_GENERAL_COMBINERS_NV 0x854D\n#define GL_NUM_GENERAL_COMBINERS_NV 0x854E\n#define GL_COLOR_SUM_CLAMP_NV 0x854F\n#define GL_COMBINER0_NV 0x8550\n#define GL_COMBINER1_NV 0x8551\n#define GL_COMBINER2_NV 0x8552\n#define GL_COMBINER3_NV 0x8553\n#define GL_COMBINER4_NV 0x8554\n#define GL_COMBINER5_NV 0x8555\n#define GL_COMBINER6_NV 0x8556\n#define GL_COMBINER7_NV 0x8557\n#define GL_PER_STAGE_CONSTANTS_NV 0x8535\n#define GL_PURGED_CONTEXT_RESET_NV 0x92BB\n#define GL_SAMPLE_LOCATION_SUBPIXEL_BITS_NV 0x933D\n#define GL_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_NV 0x933E\n#define GL_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_NV 0x933F\n#define GL_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_NV 0x9340\n#define GL_SAMPLE_LOCATION_NV 0x8E50\n#define GL_PROGRAMMABLE_SAMPLE_LOCATION_NV 0x9341\n#define GL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_NV 0x9342\n#define GL_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_NV 0x9343\n#define GL_BUFFER_GPU_ADDRESS_NV 0x8F1D\n#define GL_GPU_ADDRESS_NV 0x8F34\n#define GL_MAX_SHADER_BUFFER_ADDRESS_NV 0x8F35\n#define GL_SHADER_GLOBAL_ACCESS_BARRIER_BIT_NV 0x00000010\n#define GL_WARP_SIZE_NV 0x9339\n#define GL_WARPS_PER_SM_NV 0x933A\n#define GL_SM_COUNT_NV 0x933B\n#define GL_MAX_PROGRAM_PATCH_ATTRIBS_NV 0x86D8\n#define GL_TESS_CONTROL_PROGRAM_NV 0x891E\n#define GL_TESS_EVALUATION_PROGRAM_NV 0x891F\n#define GL_TESS_CONTROL_PROGRAM_PARAMETER_BUFFER_NV 0x8C74\n#define GL_TESS_EVALUATION_PROGRAM_PARAMETER_BUFFER_NV 0x8C75\n#define GL_EMBOSS_LIGHT_NV 0x855D\n#define GL_EMBOSS_CONSTANT_NV 0x855E\n#define GL_EMBOSS_MAP_NV 0x855F\n#define GL_NORMAL_MAP_NV 0x8511\n#define GL_REFLECTION_MAP_NV 0x8512\n#define GL_COMBINE4_NV 0x8503\n#define GL_SOURCE3_RGB_NV 0x8583\n#define GL_SOURCE3_ALPHA_NV 0x858B\n#define GL_OPERAND3_RGB_NV 0x8593\n#define GL_OPERAND3_ALPHA_NV 0x859B\n#define GL_TEXTURE_UNSIGNED_REMAP_MODE_NV 0x888F\n#define GL_TEXTURE_COVERAGE_SAMPLES_NV 0x9045\n#define GL_TEXTURE_COLOR_SAMPLES_NV 0x9046\n#define GL_TEXTURE_RECTANGLE_NV 0x84F5\n#define GL_TEXTURE_BINDING_RECTANGLE_NV 0x84F6\n#define GL_PROXY_TEXTURE_RECTANGLE_NV 0x84F7\n#define GL_MAX_RECTANGLE_TEXTURE_SIZE_NV 0x84F8\n#define GL_OFFSET_TEXTURE_RECTANGLE_NV 0x864C\n#define GL_OFFSET_TEXTURE_RECTANGLE_SCALE_NV 0x864D\n#define GL_DOT_PRODUCT_TEXTURE_RECTANGLE_NV 0x864E\n#define GL_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV 0x86D9\n#define GL_UNSIGNED_INT_S8_S8_8_8_NV 0x86DA\n#define GL_UNSIGNED_INT_8_8_S8_S8_REV_NV 0x86DB\n#define GL_DSDT_MAG_INTENSITY_NV 0x86DC\n#define GL_SHADER_CONSISTENT_NV 0x86DD\n#define GL_TEXTURE_SHADER_NV 0x86DE\n#define GL_SHADER_OPERATION_NV 0x86DF\n#define GL_CULL_MODES_NV 0x86E0\n#define GL_OFFSET_TEXTURE_MATRIX_NV 0x86E1\n#define GL_OFFSET_TEXTURE_SCALE_NV 0x86E2\n#define GL_OFFSET_TEXTURE_BIAS_NV 0x86E3\n#define GL_OFFSET_TEXTURE_2D_MATRIX_NV 0x86E1\n#define GL_OFFSET_TEXTURE_2D_SCALE_NV 0x86E2\n#define GL_OFFSET_TEXTURE_2D_BIAS_NV 0x86E3\n#define GL_PREVIOUS_TEXTURE_INPUT_NV 0x86E4\n#define GL_CONST_EYE_NV 0x86E5\n#define GL_PASS_THROUGH_NV 0x86E6\n#define GL_CULL_FRAGMENT_NV 0x86E7\n#define GL_OFFSET_TEXTURE_2D_NV 0x86E8\n#define GL_DEPENDENT_AR_TEXTURE_2D_NV 0x86E9\n#define GL_DEPENDENT_GB_TEXTURE_2D_NV 0x86EA\n#define GL_DOT_PRODUCT_NV 0x86EC\n#define GL_DOT_PRODUCT_DEPTH_REPLACE_NV 0x86ED\n#define GL_DOT_PRODUCT_TEXTURE_2D_NV 0x86EE\n#define GL_DOT_PRODUCT_TEXTURE_CUBE_MAP_NV 0x86F0\n#define GL_DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV 0x86F1\n#define GL_DOT_PRODUCT_REFLECT_CUBE_MAP_NV 0x86F2\n#define GL_DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV 0x86F3\n#define GL_HILO_NV 0x86F4\n#define GL_DSDT_NV 0x86F5\n#define GL_DSDT_MAG_NV 0x86F6\n#define GL_DSDT_MAG_VIB_NV 0x86F7\n#define GL_HILO16_NV 0x86F8\n#define GL_SIGNED_HILO_NV 0x86F9\n#define GL_SIGNED_HILO16_NV 0x86FA\n#define GL_SIGNED_RGBA_NV 0x86FB\n#define GL_SIGNED_RGBA8_NV 0x86FC\n#define GL_SIGNED_RGB_NV 0x86FE\n#define GL_SIGNED_RGB8_NV 0x86FF\n#define GL_SIGNED_LUMINANCE_NV 0x8701\n#define GL_SIGNED_LUMINANCE8_NV 0x8702\n#define GL_SIGNED_LUMINANCE_ALPHA_NV 0x8703\n#define GL_SIGNED_LUMINANCE8_ALPHA8_NV 0x8704\n#define GL_SIGNED_ALPHA_NV 0x8705\n#define GL_SIGNED_ALPHA8_NV 0x8706\n#define GL_SIGNED_INTENSITY_NV 0x8707\n#define GL_SIGNED_INTENSITY8_NV 0x8708\n#define GL_DSDT8_NV 0x8709\n#define GL_DSDT8_MAG8_NV 0x870A\n#define GL_DSDT8_MAG8_INTENSITY8_NV 0x870B\n#define GL_SIGNED_RGB_UNSIGNED_ALPHA_NV 0x870C\n#define GL_SIGNED_RGB8_UNSIGNED_ALPHA8_NV 0x870D\n#define GL_HI_SCALE_NV 0x870E\n#define GL_LO_SCALE_NV 0x870F\n#define GL_DS_SCALE_NV 0x8710\n#define GL_DT_SCALE_NV 0x8711\n#define GL_MAGNITUDE_SCALE_NV 0x8712\n#define GL_VIBRANCE_SCALE_NV 0x8713\n#define GL_HI_BIAS_NV 0x8714\n#define GL_LO_BIAS_NV 0x8715\n#define GL_DS_BIAS_NV 0x8716\n#define GL_DT_BIAS_NV 0x8717\n#define GL_MAGNITUDE_BIAS_NV 0x8718\n#define GL_VIBRANCE_BIAS_NV 0x8719\n#define GL_TEXTURE_BORDER_VALUES_NV 0x871A\n#define GL_TEXTURE_HI_SIZE_NV 0x871B\n#define GL_TEXTURE_LO_SIZE_NV 0x871C\n#define GL_TEXTURE_DS_SIZE_NV 0x871D\n#define GL_TEXTURE_DT_SIZE_NV 0x871E\n#define GL_TEXTURE_MAG_SIZE_NV 0x871F\n#define GL_DOT_PRODUCT_TEXTURE_3D_NV 0x86EF\n#define GL_OFFSET_PROJECTIVE_TEXTURE_2D_NV 0x8850\n#define GL_OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV 0x8851\n#define GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV 0x8852\n#define GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV 0x8853\n#define GL_OFFSET_HILO_TEXTURE_2D_NV 0x8854\n#define GL_OFFSET_HILO_TEXTURE_RECTANGLE_NV 0x8855\n#define GL_OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV 0x8856\n#define GL_OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV 0x8857\n#define GL_DEPENDENT_HILO_TEXTURE_2D_NV 0x8858\n#define GL_DEPENDENT_RGB_TEXTURE_3D_NV 0x8859\n#define GL_DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV 0x885A\n#define GL_DOT_PRODUCT_PASS_THROUGH_NV 0x885B\n#define GL_DOT_PRODUCT_TEXTURE_1D_NV 0x885C\n#define GL_DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV 0x885D\n#define GL_HILO8_NV 0x885E\n#define GL_SIGNED_HILO8_NV 0x885F\n#define GL_FORCE_BLUE_TO_ONE_NV 0x8860\n#define GL_BACK_PRIMARY_COLOR_NV 0x8C77\n#define GL_BACK_SECONDARY_COLOR_NV 0x8C78\n#define GL_TEXTURE_COORD_NV 0x8C79\n#define GL_CLIP_DISTANCE_NV 0x8C7A\n#define GL_VERTEX_ID_NV 0x8C7B\n#define GL_PRIMITIVE_ID_NV 0x8C7C\n#define GL_GENERIC_ATTRIB_NV 0x8C7D\n#define GL_TRANSFORM_FEEDBACK_ATTRIBS_NV 0x8C7E\n#define GL_TRANSFORM_FEEDBACK_BUFFER_MODE_NV 0x8C7F\n#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_NV 0x8C80\n#define GL_ACTIVE_VARYINGS_NV 0x8C81\n#define GL_ACTIVE_VARYING_MAX_LENGTH_NV 0x8C82\n#define GL_TRANSFORM_FEEDBACK_VARYINGS_NV 0x8C83\n#define GL_TRANSFORM_FEEDBACK_BUFFER_START_NV 0x8C84\n#define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_NV 0x8C85\n#define GL_TRANSFORM_FEEDBACK_RECORD_NV 0x8C86\n#define GL_PRIMITIVES_GENERATED_NV 0x8C87\n#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_NV 0x8C88\n#define GL_RASTERIZER_DISCARD_NV 0x8C89\n#define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_NV 0x8C8A\n#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_NV 0x8C8B\n#define GL_INTERLEAVED_ATTRIBS_NV 0x8C8C\n#define GL_SEPARATE_ATTRIBS_NV 0x8C8D\n#define GL_TRANSFORM_FEEDBACK_BUFFER_NV 0x8C8E\n#define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_NV 0x8C8F\n#define GL_LAYER_NV 0x8DAA\n#define GL_NEXT_BUFFER_NV -2\n#define GL_SKIP_COMPONENTS4_NV -3\n#define GL_SKIP_COMPONENTS3_NV -4\n#define GL_SKIP_COMPONENTS2_NV -5\n#define GL_SKIP_COMPONENTS1_NV -6\n#define GL_TRANSFORM_FEEDBACK_NV 0x8E22\n#define GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED_NV 0x8E23\n#define GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE_NV 0x8E24\n#define GL_TRANSFORM_FEEDBACK_BINDING_NV 0x8E25\n#define GL_UNIFORM_BUFFER_UNIFIED_NV 0x936E\n#define GL_UNIFORM_BUFFER_ADDRESS_NV 0x936F\n#define GL_UNIFORM_BUFFER_LENGTH_NV 0x9370\n#define GL_SURFACE_STATE_NV 0x86EB\n#define GL_SURFACE_REGISTERED_NV 0x86FD\n#define GL_SURFACE_MAPPED_NV 0x8700\n#define GL_WRITE_DISCARD_NV 0x88BE\n#define GL_VERTEX_ARRAY_RANGE_NV 0x851D\n#define GL_VERTEX_ARRAY_RANGE_LENGTH_NV 0x851E\n#define GL_VERTEX_ARRAY_RANGE_VALID_NV 0x851F\n#define GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV 0x8520\n#define GL_VERTEX_ARRAY_RANGE_POINTER_NV 0x8521\n#define GL_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV 0x8533\n#define GL_VERTEX_ATTRIB_ARRAY_UNIFIED_NV 0x8F1E\n#define GL_ELEMENT_ARRAY_UNIFIED_NV 0x8F1F\n#define GL_VERTEX_ATTRIB_ARRAY_ADDRESS_NV 0x8F20\n#define GL_VERTEX_ARRAY_ADDRESS_NV 0x8F21\n#define GL_NORMAL_ARRAY_ADDRESS_NV 0x8F22\n#define GL_COLOR_ARRAY_ADDRESS_NV 0x8F23\n#define GL_INDEX_ARRAY_ADDRESS_NV 0x8F24\n#define GL_TEXTURE_COORD_ARRAY_ADDRESS_NV 0x8F25\n#define GL_EDGE_FLAG_ARRAY_ADDRESS_NV 0x8F26\n#define GL_SECONDARY_COLOR_ARRAY_ADDRESS_NV 0x8F27\n#define GL_FOG_COORD_ARRAY_ADDRESS_NV 0x8F28\n#define GL_ELEMENT_ARRAY_ADDRESS_NV 0x8F29\n#define GL_VERTEX_ATTRIB_ARRAY_LENGTH_NV 0x8F2A\n#define GL_VERTEX_ARRAY_LENGTH_NV 0x8F2B\n#define GL_NORMAL_ARRAY_LENGTH_NV 0x8F2C\n#define GL_COLOR_ARRAY_LENGTH_NV 0x8F2D\n#define GL_INDEX_ARRAY_LENGTH_NV 0x8F2E\n#define GL_TEXTURE_COORD_ARRAY_LENGTH_NV 0x8F2F\n#define GL_EDGE_FLAG_ARRAY_LENGTH_NV 0x8F30\n#define GL_SECONDARY_COLOR_ARRAY_LENGTH_NV 0x8F31\n#define GL_FOG_COORD_ARRAY_LENGTH_NV 0x8F32\n#define GL_ELEMENT_ARRAY_LENGTH_NV 0x8F33\n#define GL_DRAW_INDIRECT_UNIFIED_NV 0x8F40\n#define GL_DRAW_INDIRECT_ADDRESS_NV 0x8F41\n#define GL_DRAW_INDIRECT_LENGTH_NV 0x8F42\n#define GL_VERTEX_PROGRAM_NV 0x8620\n#define GL_VERTEX_STATE_PROGRAM_NV 0x8621\n#define GL_ATTRIB_ARRAY_SIZE_NV 0x8623\n#define GL_ATTRIB_ARRAY_STRIDE_NV 0x8624\n#define GL_ATTRIB_ARRAY_TYPE_NV 0x8625\n#define GL_CURRENT_ATTRIB_NV 0x8626\n#define GL_PROGRAM_LENGTH_NV 0x8627\n#define GL_PROGRAM_STRING_NV 0x8628\n#define GL_MODELVIEW_PROJECTION_NV 0x8629\n#define GL_IDENTITY_NV 0x862A\n#define GL_INVERSE_NV 0x862B\n#define GL_TRANSPOSE_NV 0x862C\n#define GL_INVERSE_TRANSPOSE_NV 0x862D\n#define GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV 0x862E\n#define GL_MAX_TRACK_MATRICES_NV 0x862F\n#define GL_MATRIX0_NV 0x8630\n#define GL_MATRIX1_NV 0x8631\n#define GL_MATRIX2_NV 0x8632\n#define GL_MATRIX3_NV 0x8633\n#define GL_MATRIX4_NV 0x8634\n#define GL_MATRIX5_NV 0x8635\n#define GL_MATRIX6_NV 0x8636\n#define GL_MATRIX7_NV 0x8637\n#define GL_CURRENT_MATRIX_STACK_DEPTH_NV 0x8640\n#define GL_CURRENT_MATRIX_NV 0x8641\n#define GL_VERTEX_PROGRAM_POINT_SIZE_NV 0x8642\n#define GL_VERTEX_PROGRAM_TWO_SIDE_NV 0x8643\n#define GL_PROGRAM_PARAMETER_NV 0x8644\n#define GL_ATTRIB_ARRAY_POINTER_NV 0x8645\n#define GL_PROGRAM_TARGET_NV 0x8646\n#define GL_PROGRAM_RESIDENT_NV 0x8647\n#define GL_TRACK_MATRIX_NV 0x8648\n#define GL_TRACK_MATRIX_TRANSFORM_NV 0x8649\n#define GL_VERTEX_PROGRAM_BINDING_NV 0x864A\n#define GL_PROGRAM_ERROR_POSITION_NV 0x864B\n#define GL_VERTEX_ATTRIB_ARRAY0_NV 0x8650\n#define GL_VERTEX_ATTRIB_ARRAY1_NV 0x8651\n#define GL_VERTEX_ATTRIB_ARRAY2_NV 0x8652\n#define GL_VERTEX_ATTRIB_ARRAY3_NV 0x8653\n#define GL_VERTEX_ATTRIB_ARRAY4_NV 0x8654\n#define GL_VERTEX_ATTRIB_ARRAY5_NV 0x8655\n#define GL_VERTEX_ATTRIB_ARRAY6_NV 0x8656\n#define GL_VERTEX_ATTRIB_ARRAY7_NV 0x8657\n#define GL_VERTEX_ATTRIB_ARRAY8_NV 0x8658\n#define GL_VERTEX_ATTRIB_ARRAY9_NV 0x8659\n#define GL_VERTEX_ATTRIB_ARRAY10_NV 0x865A\n#define GL_VERTEX_ATTRIB_ARRAY11_NV 0x865B\n#define GL_VERTEX_ATTRIB_ARRAY12_NV 0x865C\n#define GL_VERTEX_ATTRIB_ARRAY13_NV 0x865D\n#define GL_VERTEX_ATTRIB_ARRAY14_NV 0x865E\n#define GL_VERTEX_ATTRIB_ARRAY15_NV 0x865F\n#define GL_MAP1_VERTEX_ATTRIB0_4_NV 0x8660\n#define GL_MAP1_VERTEX_ATTRIB1_4_NV 0x8661\n#define GL_MAP1_VERTEX_ATTRIB2_4_NV 0x8662\n#define GL_MAP1_VERTEX_ATTRIB3_4_NV 0x8663\n#define GL_MAP1_VERTEX_ATTRIB4_4_NV 0x8664\n#define GL_MAP1_VERTEX_ATTRIB5_4_NV 0x8665\n#define GL_MAP1_VERTEX_ATTRIB6_4_NV 0x8666\n#define GL_MAP1_VERTEX_ATTRIB7_4_NV 0x8667\n#define GL_MAP1_VERTEX_ATTRIB8_4_NV 0x8668\n#define GL_MAP1_VERTEX_ATTRIB9_4_NV 0x8669\n#define GL_MAP1_VERTEX_ATTRIB10_4_NV 0x866A\n#define GL_MAP1_VERTEX_ATTRIB11_4_NV 0x866B\n#define GL_MAP1_VERTEX_ATTRIB12_4_NV 0x866C\n#define GL_MAP1_VERTEX_ATTRIB13_4_NV 0x866D\n#define GL_MAP1_VERTEX_ATTRIB14_4_NV 0x866E\n#define GL_MAP1_VERTEX_ATTRIB15_4_NV 0x866F\n#define GL_MAP2_VERTEX_ATTRIB0_4_NV 0x8670\n#define GL_MAP2_VERTEX_ATTRIB1_4_NV 0x8671\n#define GL_MAP2_VERTEX_ATTRIB2_4_NV 0x8672\n#define GL_MAP2_VERTEX_ATTRIB3_4_NV 0x8673\n#define GL_MAP2_VERTEX_ATTRIB4_4_NV 0x8674\n#define GL_MAP2_VERTEX_ATTRIB5_4_NV 0x8675\n#define GL_MAP2_VERTEX_ATTRIB6_4_NV 0x8676\n#define GL_MAP2_VERTEX_ATTRIB7_4_NV 0x8677\n#define GL_MAP2_VERTEX_ATTRIB8_4_NV 0x8678\n#define GL_MAP2_VERTEX_ATTRIB9_4_NV 0x8679\n#define GL_MAP2_VERTEX_ATTRIB10_4_NV 0x867A\n#define GL_MAP2_VERTEX_ATTRIB11_4_NV 0x867B\n#define GL_MAP2_VERTEX_ATTRIB12_4_NV 0x867C\n#define GL_MAP2_VERTEX_ATTRIB13_4_NV 0x867D\n#define GL_MAP2_VERTEX_ATTRIB14_4_NV 0x867E\n#define GL_MAP2_VERTEX_ATTRIB15_4_NV 0x867F\n#define GL_VERTEX_ATTRIB_ARRAY_INTEGER_NV 0x88FD\n#define GL_VIDEO_BUFFER_NV 0x9020\n#define GL_VIDEO_BUFFER_BINDING_NV 0x9021\n#define GL_FIELD_UPPER_NV 0x9022\n#define GL_FIELD_LOWER_NV 0x9023\n#define GL_NUM_VIDEO_CAPTURE_STREAMS_NV 0x9024\n#define GL_NEXT_VIDEO_CAPTURE_BUFFER_STATUS_NV 0x9025\n#define GL_VIDEO_CAPTURE_TO_422_SUPPORTED_NV 0x9026\n#define GL_LAST_VIDEO_CAPTURE_STATUS_NV 0x9027\n#define GL_VIDEO_BUFFER_PITCH_NV 0x9028\n#define GL_VIDEO_COLOR_CONVERSION_MATRIX_NV 0x9029\n#define GL_VIDEO_COLOR_CONVERSION_MAX_NV 0x902A\n#define GL_VIDEO_COLOR_CONVERSION_MIN_NV 0x902B\n#define GL_VIDEO_COLOR_CONVERSION_OFFSET_NV 0x902C\n#define GL_VIDEO_BUFFER_INTERNAL_FORMAT_NV 0x902D\n#define GL_PARTIAL_SUCCESS_NV 0x902E\n#define GL_SUCCESS_NV 0x902F\n#define GL_FAILURE_NV 0x9030\n#define GL_YCBYCR8_422_NV 0x9031\n#define GL_YCBAYCR8A_4224_NV 0x9032\n#define GL_Z6Y10Z6CB10Z6Y10Z6CR10_422_NV 0x9033\n#define GL_Z6Y10Z6CB10Z6A10Z6Y10Z6CR10Z6A10_4224_NV 0x9034\n#define GL_Z4Y12Z4CB12Z4Y12Z4CR12_422_NV 0x9035\n#define GL_Z4Y12Z4CB12Z4A12Z4Y12Z4CR12Z4A12_4224_NV 0x9036\n#define GL_Z4Y12Z4CB12Z4CR12_444_NV 0x9037\n#define GL_VIDEO_CAPTURE_FRAME_WIDTH_NV 0x9038\n#define GL_VIDEO_CAPTURE_FRAME_HEIGHT_NV 0x9039\n#define GL_VIDEO_CAPTURE_FIELD_UPPER_HEIGHT_NV 0x903A\n#define GL_VIDEO_CAPTURE_FIELD_LOWER_HEIGHT_NV 0x903B\n#define GL_VIDEO_CAPTURE_SURFACE_ORIGIN_NV 0x903C\n#define GL_VIEWPORT_SWIZZLE_POSITIVE_X_NV 0x9350\n#define GL_VIEWPORT_SWIZZLE_NEGATIVE_X_NV 0x9351\n#define GL_VIEWPORT_SWIZZLE_POSITIVE_Y_NV 0x9352\n#define GL_VIEWPORT_SWIZZLE_NEGATIVE_Y_NV 0x9353\n#define GL_VIEWPORT_SWIZZLE_POSITIVE_Z_NV 0x9354\n#define GL_VIEWPORT_SWIZZLE_NEGATIVE_Z_NV 0x9355\n#define GL_VIEWPORT_SWIZZLE_POSITIVE_W_NV 0x9356\n#define GL_VIEWPORT_SWIZZLE_NEGATIVE_W_NV 0x9357\n#define GL_VIEWPORT_SWIZZLE_X_NV 0x9358\n#define GL_VIEWPORT_SWIZZLE_Y_NV 0x9359\n#define GL_VIEWPORT_SWIZZLE_Z_NV 0x935A\n#define GL_VIEWPORT_SWIZZLE_W_NV 0x935B\n#define GL_PALETTE4_RGB8_OES 0x8B90\n#define GL_PALETTE4_RGBA8_OES 0x8B91\n#define GL_PALETTE4_R5_G6_B5_OES 0x8B92\n#define GL_PALETTE4_RGBA4_OES 0x8B93\n#define GL_PALETTE4_RGB5_A1_OES 0x8B94\n#define GL_PALETTE8_RGB8_OES 0x8B95\n#define GL_PALETTE8_RGBA8_OES 0x8B96\n#define GL_PALETTE8_R5_G6_B5_OES 0x8B97\n#define GL_PALETTE8_RGBA4_OES 0x8B98\n#define GL_PALETTE8_RGB5_A1_OES 0x8B99\n#define GL_FIXED_OES 0x140C\n#define GL_IMPLEMENTATION_COLOR_READ_TYPE_OES 0x8B9A\n#define GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES 0x8B9B\n#define GL_INTERLACE_OML 0x8980\n#define GL_INTERLACE_READ_OML 0x8981\n#define GL_PACK_RESAMPLE_OML 0x8984\n#define GL_UNPACK_RESAMPLE_OML 0x8985\n#define GL_RESAMPLE_REPLICATE_OML 0x8986\n#define GL_RESAMPLE_ZERO_FILL_OML 0x8987\n#define GL_RESAMPLE_AVERAGE_OML 0x8988\n#define GL_RESAMPLE_DECIMATE_OML 0x8989\n#define GL_FORMAT_SUBSAMPLE_24_24_OML 0x8982\n#define GL_FORMAT_SUBSAMPLE_244_244_OML 0x8983\n#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_NUM_VIEWS_OVR 0x9630\n#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_BASE_VIEW_INDEX_OVR 0x9632\n#define GL_MAX_VIEWS_OVR 0x9631\n#define GL_FRAMEBUFFER_INCOMPLETE_VIEW_TARGETS_OVR 0x9633\n#define GL_PREFER_DOUBLEBUFFER_HINT_PGI 0x1A1F8\n#define GL_CONSERVE_MEMORY_HINT_PGI 0x1A1FD\n#define GL_RECLAIM_MEMORY_HINT_PGI 0x1A1FE\n#define GL_NATIVE_GRAPHICS_HANDLE_PGI 0x1A202\n#define GL_NATIVE_GRAPHICS_BEGIN_HINT_PGI 0x1A203\n#define GL_NATIVE_GRAPHICS_END_HINT_PGI 0x1A204\n#define GL_ALWAYS_FAST_HINT_PGI 0x1A20C\n#define GL_ALWAYS_SOFT_HINT_PGI 0x1A20D\n#define GL_ALLOW_DRAW_OBJ_HINT_PGI 0x1A20E\n#define GL_ALLOW_DRAW_WIN_HINT_PGI 0x1A20F\n#define GL_ALLOW_DRAW_FRG_HINT_PGI 0x1A210\n#define GL_ALLOW_DRAW_MEM_HINT_PGI 0x1A211\n#define GL_STRICT_DEPTHFUNC_HINT_PGI 0x1A216\n#define GL_STRICT_LIGHTING_HINT_PGI 0x1A217\n#define GL_STRICT_SCISSOR_HINT_PGI 0x1A218\n#define GL_FULL_STIPPLE_HINT_PGI 0x1A219\n#define GL_CLIP_NEAR_HINT_PGI 0x1A220\n#define GL_CLIP_FAR_HINT_PGI 0x1A221\n#define GL_WIDE_LINE_HINT_PGI 0x1A222\n#define GL_BACK_NORMALS_HINT_PGI 0x1A223\n#define GL_VERTEX_DATA_HINT_PGI 0x1A22A\n#define GL_VERTEX_CONSISTENT_HINT_PGI 0x1A22B\n#define GL_MATERIAL_SIDE_HINT_PGI 0x1A22C\n#define GL_MAX_VERTEX_HINT_PGI 0x1A22D\n#define GL_COLOR3_BIT_PGI 0x00010000\n#define GL_COLOR4_BIT_PGI 0x00020000\n#define GL_EDGEFLAG_BIT_PGI 0x00040000\n#define GL_INDEX_BIT_PGI 0x00080000\n#define GL_MAT_AMBIENT_BIT_PGI 0x00100000\n#define GL_MAT_AMBIENT_AND_DIFFUSE_BIT_PGI 0x00200000\n#define GL_MAT_DIFFUSE_BIT_PGI 0x00400000\n#define GL_MAT_EMISSION_BIT_PGI 0x00800000\n#define GL_MAT_COLOR_INDEXES_BIT_PGI 0x01000000\n#define GL_MAT_SHININESS_BIT_PGI 0x02000000\n#define GL_MAT_SPECULAR_BIT_PGI 0x04000000\n#define GL_NORMAL_BIT_PGI 0x08000000\n#define GL_TEXCOORD1_BIT_PGI 0x10000000\n#define GL_TEXCOORD2_BIT_PGI 0x20000000\n#define GL_TEXCOORD3_BIT_PGI 0x40000000\n#define GL_TEXCOORD4_BIT_PGI 0x80000000\n#define GL_VERTEX23_BIT_PGI 0x00000004\n#define GL_VERTEX4_BIT_PGI 0x00000008\n#define GL_SCREEN_COORDINATES_REND 0x8490\n#define GL_INVERTED_SCREEN_W_REND 0x8491\n#define GL_RGB_S3TC 0x83A0\n#define GL_RGB4_S3TC 0x83A1\n#define GL_RGBA_S3TC 0x83A2\n#define GL_RGBA4_S3TC 0x83A3\n#define GL_RGBA_DXT5_S3TC 0x83A4\n#define GL_RGBA4_DXT5_S3TC 0x83A5\n#define GL_DETAIL_TEXTURE_2D_SGIS 0x8095\n#define GL_DETAIL_TEXTURE_2D_BINDING_SGIS 0x8096\n#define GL_LINEAR_DETAIL_SGIS 0x8097\n#define GL_LINEAR_DETAIL_ALPHA_SGIS 0x8098\n#define GL_LINEAR_DETAIL_COLOR_SGIS 0x8099\n#define GL_DETAIL_TEXTURE_LEVEL_SGIS 0x809A\n#define GL_DETAIL_TEXTURE_MODE_SGIS 0x809B\n#define GL_DETAIL_TEXTURE_FUNC_POINTS_SGIS 0x809C\n#define GL_FOG_FUNC_SGIS 0x812A\n#define GL_FOG_FUNC_POINTS_SGIS 0x812B\n#define GL_MAX_FOG_FUNC_POINTS_SGIS 0x812C\n#define GL_GENERATE_MIPMAP_SGIS 0x8191\n#define GL_GENERATE_MIPMAP_HINT_SGIS 0x8192\n#define GL_MULTISAMPLE_SGIS 0x809D\n#define GL_SAMPLE_ALPHA_TO_MASK_SGIS 0x809E\n#define GL_SAMPLE_ALPHA_TO_ONE_SGIS 0x809F\n#define GL_SAMPLE_MASK_SGIS 0x80A0\n#define GL_1PASS_SGIS 0x80A1\n#define GL_2PASS_0_SGIS 0x80A2\n#define GL_2PASS_1_SGIS 0x80A3\n#define GL_4PASS_0_SGIS 0x80A4\n#define GL_4PASS_1_SGIS 0x80A5\n#define GL_4PASS_2_SGIS 0x80A6\n#define GL_4PASS_3_SGIS 0x80A7\n#define GL_SAMPLE_BUFFERS_SGIS 0x80A8\n#define GL_SAMPLES_SGIS 0x80A9\n#define GL_SAMPLE_MASK_VALUE_SGIS 0x80AA\n#define GL_SAMPLE_MASK_INVERT_SGIS 0x80AB\n#define GL_SAMPLE_PATTERN_SGIS 0x80AC\n#define GL_PIXEL_TEXTURE_SGIS 0x8353\n#define GL_PIXEL_FRAGMENT_RGB_SOURCE_SGIS 0x8354\n#define GL_PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS 0x8355\n#define GL_PIXEL_GROUP_COLOR_SGIS 0x8356\n#define GL_EYE_DISTANCE_TO_POINT_SGIS 0x81F0\n#define GL_OBJECT_DISTANCE_TO_POINT_SGIS 0x81F1\n#define GL_EYE_DISTANCE_TO_LINE_SGIS 0x81F2\n#define GL_OBJECT_DISTANCE_TO_LINE_SGIS 0x81F3\n#define GL_EYE_POINT_SGIS 0x81F4\n#define GL_OBJECT_POINT_SGIS 0x81F5\n#define GL_EYE_LINE_SGIS 0x81F6\n#define GL_OBJECT_LINE_SGIS 0x81F7\n#define GL_POINT_SIZE_MIN_SGIS 0x8126\n#define GL_POINT_SIZE_MAX_SGIS 0x8127\n#define GL_POINT_FADE_THRESHOLD_SIZE_SGIS 0x8128\n#define GL_DISTANCE_ATTENUATION_SGIS 0x8129\n#define GL_LINEAR_SHARPEN_SGIS 0x80AD\n#define GL_LINEAR_SHARPEN_ALPHA_SGIS 0x80AE\n#define GL_LINEAR_SHARPEN_COLOR_SGIS 0x80AF\n#define GL_SHARPEN_TEXTURE_FUNC_POINTS_SGIS 0x80B0\n#define GL_PACK_SKIP_VOLUMES_SGIS 0x8130\n#define GL_PACK_IMAGE_DEPTH_SGIS 0x8131\n#define GL_UNPACK_SKIP_VOLUMES_SGIS 0x8132\n#define GL_UNPACK_IMAGE_DEPTH_SGIS 0x8133\n#define GL_TEXTURE_4D_SGIS 0x8134\n#define GL_PROXY_TEXTURE_4D_SGIS 0x8135\n#define GL_TEXTURE_4DSIZE_SGIS 0x8136\n#define GL_TEXTURE_WRAP_Q_SGIS 0x8137\n#define GL_MAX_4D_TEXTURE_SIZE_SGIS 0x8138\n#define GL_TEXTURE_4D_BINDING_SGIS 0x814F\n#define GL_CLAMP_TO_BORDER_SGIS 0x812D\n#define GL_TEXTURE_COLOR_WRITEMASK_SGIS 0x81EF\n#define GL_CLAMP_TO_EDGE_SGIS 0x812F\n#define GL_FILTER4_SGIS 0x8146\n#define GL_TEXTURE_FILTER4_SIZE_SGIS 0x8147\n#define GL_TEXTURE_MIN_LOD_SGIS 0x813A\n#define GL_TEXTURE_MAX_LOD_SGIS 0x813B\n#define GL_TEXTURE_BASE_LEVEL_SGIS 0x813C\n#define GL_TEXTURE_MAX_LEVEL_SGIS 0x813D\n#define GL_DUAL_ALPHA4_SGIS 0x8110\n#define GL_DUAL_ALPHA8_SGIS 0x8111\n#define GL_DUAL_ALPHA12_SGIS 0x8112\n#define GL_DUAL_ALPHA16_SGIS 0x8113\n#define GL_DUAL_LUMINANCE4_SGIS 0x8114\n#define GL_DUAL_LUMINANCE8_SGIS 0x8115\n#define GL_DUAL_LUMINANCE12_SGIS 0x8116\n#define GL_DUAL_LUMINANCE16_SGIS 0x8117\n#define GL_DUAL_INTENSITY4_SGIS 0x8118\n#define GL_DUAL_INTENSITY8_SGIS 0x8119\n#define GL_DUAL_INTENSITY12_SGIS 0x811A\n#define GL_DUAL_INTENSITY16_SGIS 0x811B\n#define GL_DUAL_LUMINANCE_ALPHA4_SGIS 0x811C\n#define GL_DUAL_LUMINANCE_ALPHA8_SGIS 0x811D\n#define GL_QUAD_ALPHA4_SGIS 0x811E\n#define GL_QUAD_ALPHA8_SGIS 0x811F\n#define GL_QUAD_LUMINANCE4_SGIS 0x8120\n#define GL_QUAD_LUMINANCE8_SGIS 0x8121\n#define GL_QUAD_INTENSITY4_SGIS 0x8122\n#define GL_QUAD_INTENSITY8_SGIS 0x8123\n#define GL_DUAL_TEXTURE_SELECT_SGIS 0x8124\n#define GL_QUAD_TEXTURE_SELECT_SGIS 0x8125\n#define GL_ASYNC_MARKER_SGIX 0x8329\n#define GL_ASYNC_HISTOGRAM_SGIX 0x832C\n#define GL_MAX_ASYNC_HISTOGRAM_SGIX 0x832D\n#define GL_ASYNC_TEX_IMAGE_SGIX 0x835C\n#define GL_ASYNC_DRAW_PIXELS_SGIX 0x835D\n#define GL_ASYNC_READ_PIXELS_SGIX 0x835E\n#define GL_MAX_ASYNC_TEX_IMAGE_SGIX 0x835F\n#define GL_MAX_ASYNC_DRAW_PIXELS_SGIX 0x8360\n#define GL_MAX_ASYNC_READ_PIXELS_SGIX 0x8361\n#define GL_ALPHA_MIN_SGIX 0x8320\n#define GL_ALPHA_MAX_SGIX 0x8321\n#define GL_CALLIGRAPHIC_FRAGMENT_SGIX 0x8183\n#define GL_LINEAR_CLIPMAP_LINEAR_SGIX 0x8170\n#define GL_TEXTURE_CLIPMAP_CENTER_SGIX 0x8171\n#define GL_TEXTURE_CLIPMAP_FRAME_SGIX 0x8172\n#define GL_TEXTURE_CLIPMAP_OFFSET_SGIX 0x8173\n#define GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX 0x8174\n#define GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX 0x8175\n#define GL_TEXTURE_CLIPMAP_DEPTH_SGIX 0x8176\n#define GL_MAX_CLIPMAP_DEPTH_SGIX 0x8177\n#define GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX 0x8178\n#define GL_NEAREST_CLIPMAP_NEAREST_SGIX 0x844D\n#define GL_NEAREST_CLIPMAP_LINEAR_SGIX 0x844E\n#define GL_LINEAR_CLIPMAP_NEAREST_SGIX 0x844F\n#define GL_CONVOLUTION_HINT_SGIX 0x8316\n#define GL_DEPTH_COMPONENT16_SGIX 0x81A5\n#define GL_DEPTH_COMPONENT24_SGIX 0x81A6\n#define GL_DEPTH_COMPONENT32_SGIX 0x81A7\n#define GL_FOG_OFFSET_SGIX 0x8198\n#define GL_FOG_OFFSET_VALUE_SGIX 0x8199\n#define GL_FRAGMENT_LIGHTING_SGIX 0x8400\n#define GL_FRAGMENT_COLOR_MATERIAL_SGIX 0x8401\n#define GL_FRAGMENT_COLOR_MATERIAL_FACE_SGIX 0x8402\n#define GL_FRAGMENT_COLOR_MATERIAL_PARAMETER_SGIX 0x8403\n#define GL_MAX_FRAGMENT_LIGHTS_SGIX 0x8404\n#define GL_MAX_ACTIVE_LIGHTS_SGIX 0x8405\n#define GL_CURRENT_RASTER_NORMAL_SGIX 0x8406\n#define GL_LIGHT_ENV_MODE_SGIX 0x8407\n#define GL_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX 0x8408\n#define GL_FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX 0x8409\n#define GL_FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX 0x840A\n#define GL_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX 0x840B\n#define GL_FRAGMENT_LIGHT0_SGIX 0x840C\n#define GL_FRAGMENT_LIGHT1_SGIX 0x840D\n#define GL_FRAGMENT_LIGHT2_SGIX 0x840E\n#define GL_FRAGMENT_LIGHT3_SGIX 0x840F\n#define GL_FRAGMENT_LIGHT4_SGIX 0x8410\n#define GL_FRAGMENT_LIGHT5_SGIX 0x8411\n#define GL_FRAGMENT_LIGHT6_SGIX 0x8412\n#define GL_FRAGMENT_LIGHT7_SGIX 0x8413\n#define GL_FRAMEZOOM_SGIX 0x818B\n#define GL_FRAMEZOOM_FACTOR_SGIX 0x818C\n#define GL_MAX_FRAMEZOOM_FACTOR_SGIX 0x818D\n#define GL_INSTRUMENT_BUFFER_POINTER_SGIX 0x8180\n#define GL_INSTRUMENT_MEASUREMENTS_SGIX 0x8181\n#define GL_INTERLACE_SGIX 0x8094\n#define GL_IR_INSTRUMENT1_SGIX 0x817F\n#define GL_LIST_PRIORITY_SGIX 0x8182\n#define GL_PIXEL_TEX_GEN_SGIX 0x8139\n#define GL_PIXEL_TEX_GEN_MODE_SGIX 0x832B\n#define GL_PIXEL_TILE_BEST_ALIGNMENT_SGIX 0x813E\n#define GL_PIXEL_TILE_CACHE_INCREMENT_SGIX 0x813F\n#define GL_PIXEL_TILE_WIDTH_SGIX 0x8140\n#define GL_PIXEL_TILE_HEIGHT_SGIX 0x8141\n#define GL_PIXEL_TILE_GRID_WIDTH_SGIX 0x8142\n#define GL_PIXEL_TILE_GRID_HEIGHT_SGIX 0x8143\n#define GL_PIXEL_TILE_GRID_DEPTH_SGIX 0x8144\n#define GL_PIXEL_TILE_CACHE_SIZE_SGIX 0x8145\n#define GL_TEXTURE_DEFORMATION_BIT_SGIX 0x00000001\n#define GL_GEOMETRY_DEFORMATION_BIT_SGIX 0x00000002\n#define GL_GEOMETRY_DEFORMATION_SGIX 0x8194\n#define GL_TEXTURE_DEFORMATION_SGIX 0x8195\n#define GL_DEFORMATIONS_MASK_SGIX 0x8196\n#define GL_MAX_DEFORMATION_ORDER_SGIX 0x8197\n#define GL_REFERENCE_PLANE_SGIX 0x817D\n#define GL_REFERENCE_PLANE_EQUATION_SGIX 0x817E\n#define GL_PACK_RESAMPLE_SGIX 0x842E\n#define GL_UNPACK_RESAMPLE_SGIX 0x842F\n#define GL_RESAMPLE_REPLICATE_SGIX 0x8433\n#define GL_RESAMPLE_ZERO_FILL_SGIX 0x8434\n#define GL_RESAMPLE_DECIMATE_SGIX 0x8430\n#define GL_SCALEBIAS_HINT_SGIX 0x8322\n#define GL_TEXTURE_COMPARE_SGIX 0x819A\n#define GL_TEXTURE_COMPARE_OPERATOR_SGIX 0x819B\n#define GL_TEXTURE_LEQUAL_R_SGIX 0x819C\n#define GL_TEXTURE_GEQUAL_R_SGIX 0x819D\n#define GL_SHADOW_AMBIENT_SGIX 0x80BF\n#define GL_SPRITE_SGIX 0x8148\n#define GL_SPRITE_MODE_SGIX 0x8149\n#define GL_SPRITE_AXIS_SGIX 0x814A\n#define GL_SPRITE_TRANSLATION_SGIX 0x814B\n#define GL_SPRITE_AXIAL_SGIX 0x814C\n#define GL_SPRITE_OBJECT_ALIGNED_SGIX 0x814D\n#define GL_SPRITE_EYE_ALIGNED_SGIX 0x814E\n#define GL_PACK_SUBSAMPLE_RATE_SGIX 0x85A0\n#define GL_UNPACK_SUBSAMPLE_RATE_SGIX 0x85A1\n#define GL_PIXEL_SUBSAMPLE_4444_SGIX 0x85A2\n#define GL_PIXEL_SUBSAMPLE_2424_SGIX 0x85A3\n#define GL_PIXEL_SUBSAMPLE_4242_SGIX 0x85A4\n#define GL_TEXTURE_ENV_BIAS_SGIX 0x80BE\n#define GL_TEXTURE_MAX_CLAMP_S_SGIX 0x8369\n#define GL_TEXTURE_MAX_CLAMP_T_SGIX 0x836A\n#define GL_TEXTURE_MAX_CLAMP_R_SGIX 0x836B\n#define GL_TEXTURE_LOD_BIAS_S_SGIX 0x818E\n#define GL_TEXTURE_LOD_BIAS_T_SGIX 0x818F\n#define GL_TEXTURE_LOD_BIAS_R_SGIX 0x8190\n#define GL_TEXTURE_MULTI_BUFFER_HINT_SGIX 0x812E\n#define GL_POST_TEXTURE_FILTER_BIAS_SGIX 0x8179\n#define GL_POST_TEXTURE_FILTER_SCALE_SGIX 0x817A\n#define GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX 0x817B\n#define GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX 0x817C\n#define GL_VERTEX_PRECLIP_SGIX 0x83EE\n#define GL_VERTEX_PRECLIP_HINT_SGIX 0x83EF\n#define GL_YCRCB_422_SGIX 0x81BB\n#define GL_YCRCB_444_SGIX 0x81BC\n#define GL_YCRCB_SGIX 0x8318\n#define GL_YCRCBA_SGIX 0x8319\n#define GL_COLOR_MATRIX_SGI 0x80B1\n#define GL_COLOR_MATRIX_STACK_DEPTH_SGI 0x80B2\n#define GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI 0x80B3\n#define GL_POST_COLOR_MATRIX_RED_SCALE_SGI 0x80B4\n#define GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI 0x80B5\n#define GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI 0x80B6\n#define GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI 0x80B7\n#define GL_POST_COLOR_MATRIX_RED_BIAS_SGI 0x80B8\n#define GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI 0x80B9\n#define GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI 0x80BA\n#define GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI 0x80BB\n#define GL_COLOR_TABLE_SGI 0x80D0\n#define GL_POST_CONVOLUTION_COLOR_TABLE_SGI 0x80D1\n#define GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI 0x80D2\n#define GL_PROXY_COLOR_TABLE_SGI 0x80D3\n#define GL_PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI 0x80D4\n#define GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI 0x80D5\n#define GL_COLOR_TABLE_SCALE_SGI 0x80D6\n#define GL_COLOR_TABLE_BIAS_SGI 0x80D7\n#define GL_COLOR_TABLE_FORMAT_SGI 0x80D8\n#define GL_COLOR_TABLE_WIDTH_SGI 0x80D9\n#define GL_COLOR_TABLE_RED_SIZE_SGI 0x80DA\n#define GL_COLOR_TABLE_GREEN_SIZE_SGI 0x80DB\n#define GL_COLOR_TABLE_BLUE_SIZE_SGI 0x80DC\n#define GL_COLOR_TABLE_ALPHA_SIZE_SGI 0x80DD\n#define GL_COLOR_TABLE_LUMINANCE_SIZE_SGI 0x80DE\n#define GL_COLOR_TABLE_INTENSITY_SIZE_SGI 0x80DF\n#define GL_TEXTURE_COLOR_TABLE_SGI 0x80BC\n#define GL_PROXY_TEXTURE_COLOR_TABLE_SGI 0x80BD\n#define GL_UNPACK_CONSTANT_DATA_SUNX 0x81D5\n#define GL_TEXTURE_CONSTANT_DATA_SUNX 0x81D6\n#define GL_WRAP_BORDER_SUN 0x81D4\n#define GL_GLOBAL_ALPHA_SUN 0x81D9\n#define GL_GLOBAL_ALPHA_FACTOR_SUN 0x81DA\n#define GL_QUAD_MESH_SUN 0x8614\n#define GL_TRIANGLE_MESH_SUN 0x8615\n#define GL_SLICE_ACCUM_SUN 0x85CC\n#define GL_RESTART_SUN 0x0001\n#define GL_REPLACE_MIDDLE_SUN 0x0002\n#define GL_REPLACE_OLDEST_SUN 0x0003\n#define GL_TRIANGLE_LIST_SUN 0x81D7\n#define GL_REPLACEMENT_CODE_SUN 0x81D8\n#define GL_REPLACEMENT_CODE_ARRAY_SUN 0x85C0\n#define GL_REPLACEMENT_CODE_ARRAY_TYPE_SUN 0x85C1\n#define GL_REPLACEMENT_CODE_ARRAY_STRIDE_SUN 0x85C2\n#define GL_REPLACEMENT_CODE_ARRAY_POINTER_SUN 0x85C3\n#define GL_R1UI_V3F_SUN 0x85C4\n#define GL_R1UI_C4UB_V3F_SUN 0x85C5\n#define GL_R1UI_C3F_V3F_SUN 0x85C6\n#define GL_R1UI_N3F_V3F_SUN 0x85C7\n#define GL_R1UI_C4F_N3F_V3F_SUN 0x85C8\n#define GL_R1UI_T2F_V3F_SUN 0x85C9\n#define GL_R1UI_T2F_N3F_V3F_SUN 0x85CA\n#define GL_R1UI_T2F_C4F_N3F_V3F_SUN 0x85CB\n#define GL_PHONG_WIN 0x80EA\n#define GL_PHONG_HINT_WIN 0x80EB\n#define GL_FOG_SPECULAR_TEXTURE_WIN 0x80EC\n#ifndef GL_3DFX_multisample\n#define GL_3DFX_multisample 1\nGLAPI int GLAD_GL_3DFX_multisample;\n#endif\n#ifndef GL_3DFX_tbuffer\n#define GL_3DFX_tbuffer 1\nGLAPI int GLAD_GL_3DFX_tbuffer;\ntypedef void (APIENTRYP PFNGLTBUFFERMASK3DFXPROC)(GLuint mask);\nGLAPI PFNGLTBUFFERMASK3DFXPROC glad_glTbufferMask3DFX;\n#define glTbufferMask3DFX glad_glTbufferMask3DFX\n#endif\n#ifndef GL_3DFX_texture_compression_FXT1\n#define GL_3DFX_texture_compression_FXT1 1\nGLAPI int GLAD_GL_3DFX_texture_compression_FXT1;\n#endif\n#ifndef GL_AMD_blend_minmax_factor\n#define GL_AMD_blend_minmax_factor 1\nGLAPI int GLAD_GL_AMD_blend_minmax_factor;\n#endif\n#ifndef GL_AMD_conservative_depth\n#define GL_AMD_conservative_depth 1\nGLAPI int GLAD_GL_AMD_conservative_depth;\n#endif\n#ifndef GL_AMD_debug_output\n#define GL_AMD_debug_output 1\nGLAPI int GLAD_GL_AMD_debug_output;\ntypedef void (APIENTRYP PFNGLDEBUGMESSAGEENABLEAMDPROC)(GLenum category, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);\nGLAPI PFNGLDEBUGMESSAGEENABLEAMDPROC glad_glDebugMessageEnableAMD;\n#define glDebugMessageEnableAMD glad_glDebugMessageEnableAMD\ntypedef void (APIENTRYP PFNGLDEBUGMESSAGEINSERTAMDPROC)(GLenum category, GLenum severity, GLuint id, GLsizei length, const GLchar *buf);\nGLAPI PFNGLDEBUGMESSAGEINSERTAMDPROC glad_glDebugMessageInsertAMD;\n#define glDebugMessageInsertAMD glad_glDebugMessageInsertAMD\ntypedef void (APIENTRYP PFNGLDEBUGMESSAGECALLBACKAMDPROC)(GLDEBUGPROCAMD callback, void *userParam);\nGLAPI PFNGLDEBUGMESSAGECALLBACKAMDPROC glad_glDebugMessageCallbackAMD;\n#define glDebugMessageCallbackAMD glad_glDebugMessageCallbackAMD\ntypedef GLuint (APIENTRYP PFNGLGETDEBUGMESSAGELOGAMDPROC)(GLuint count, GLsizei bufsize, GLenum *categories, GLuint *severities, GLuint *ids, GLsizei *lengths, GLchar *message);\nGLAPI PFNGLGETDEBUGMESSAGELOGAMDPROC glad_glGetDebugMessageLogAMD;\n#define glGetDebugMessageLogAMD glad_glGetDebugMessageLogAMD\n#endif\n#ifndef GL_AMD_depth_clamp_separate\n#define GL_AMD_depth_clamp_separate 1\nGLAPI int GLAD_GL_AMD_depth_clamp_separate;\n#endif\n#ifndef GL_AMD_draw_buffers_blend\n#define GL_AMD_draw_buffers_blend 1\nGLAPI int GLAD_GL_AMD_draw_buffers_blend;\ntypedef void (APIENTRYP PFNGLBLENDFUNCINDEXEDAMDPROC)(GLuint buf, GLenum src, GLenum dst);\nGLAPI PFNGLBLENDFUNCINDEXEDAMDPROC glad_glBlendFuncIndexedAMD;\n#define glBlendFuncIndexedAMD glad_glBlendFuncIndexedAMD\ntypedef void (APIENTRYP PFNGLBLENDFUNCSEPARATEINDEXEDAMDPROC)(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);\nGLAPI PFNGLBLENDFUNCSEPARATEINDEXEDAMDPROC glad_glBlendFuncSeparateIndexedAMD;\n#define glBlendFuncSeparateIndexedAMD glad_glBlendFuncSeparateIndexedAMD\ntypedef void (APIENTRYP PFNGLBLENDEQUATIONINDEXEDAMDPROC)(GLuint buf, GLenum mode);\nGLAPI PFNGLBLENDEQUATIONINDEXEDAMDPROC glad_glBlendEquationIndexedAMD;\n#define glBlendEquationIndexedAMD glad_glBlendEquationIndexedAMD\ntypedef void (APIENTRYP PFNGLBLENDEQUATIONSEPARATEINDEXEDAMDPROC)(GLuint buf, GLenum modeRGB, GLenum modeAlpha);\nGLAPI PFNGLBLENDEQUATIONSEPARATEINDEXEDAMDPROC glad_glBlendEquationSeparateIndexedAMD;\n#define glBlendEquationSeparateIndexedAMD glad_glBlendEquationSeparateIndexedAMD\n#endif\n#ifndef GL_AMD_framebuffer_sample_positions\n#define GL_AMD_framebuffer_sample_positions 1\nGLAPI int GLAD_GL_AMD_framebuffer_sample_positions;\ntypedef void (APIENTRYP PFNGLFRAMEBUFFERSAMPLEPOSITIONSFVAMDPROC)(GLenum target, GLuint numsamples, GLuint pixelindex, const GLfloat *values);\nGLAPI PFNGLFRAMEBUFFERSAMPLEPOSITIONSFVAMDPROC glad_glFramebufferSamplePositionsfvAMD;\n#define glFramebufferSamplePositionsfvAMD glad_glFramebufferSamplePositionsfvAMD\ntypedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERSAMPLEPOSITIONSFVAMDPROC)(GLuint framebuffer, GLuint numsamples, GLuint pixelindex, const GLfloat *values);\nGLAPI PFNGLNAMEDFRAMEBUFFERSAMPLEPOSITIONSFVAMDPROC glad_glNamedFramebufferSamplePositionsfvAMD;\n#define glNamedFramebufferSamplePositionsfvAMD glad_glNamedFramebufferSamplePositionsfvAMD\ntypedef void (APIENTRYP PFNGLGETFRAMEBUFFERPARAMETERFVAMDPROC)(GLenum target, GLenum pname, GLuint numsamples, GLuint pixelindex, GLsizei size, GLfloat *values);\nGLAPI PFNGLGETFRAMEBUFFERPARAMETERFVAMDPROC glad_glGetFramebufferParameterfvAMD;\n#define glGetFramebufferParameterfvAMD glad_glGetFramebufferParameterfvAMD\ntypedef void (APIENTRYP PFNGLGETNAMEDFRAMEBUFFERPARAMETERFVAMDPROC)(GLuint framebuffer, GLenum pname, GLuint numsamples, GLuint pixelindex, GLsizei size, GLfloat *values);\nGLAPI PFNGLGETNAMEDFRAMEBUFFERPARAMETERFVAMDPROC glad_glGetNamedFramebufferParameterfvAMD;\n#define glGetNamedFramebufferParameterfvAMD glad_glGetNamedFramebufferParameterfvAMD\n#endif\n#ifndef GL_AMD_gcn_shader\n#define GL_AMD_gcn_shader 1\nGLAPI int GLAD_GL_AMD_gcn_shader;\n#endif\n#ifndef GL_AMD_gpu_shader_half_float\n#define GL_AMD_gpu_shader_half_float 1\nGLAPI int GLAD_GL_AMD_gpu_shader_half_float;\n#endif\n#ifndef GL_AMD_gpu_shader_int16\n#define GL_AMD_gpu_shader_int16 1\nGLAPI int GLAD_GL_AMD_gpu_shader_int16;\n#endif\n#ifndef GL_AMD_gpu_shader_int64\n#define GL_AMD_gpu_shader_int64 1\nGLAPI int GLAD_GL_AMD_gpu_shader_int64;\ntypedef void (APIENTRYP PFNGLUNIFORM1I64NVPROC)(GLint location, GLint64EXT x);\nGLAPI PFNGLUNIFORM1I64NVPROC glad_glUniform1i64NV;\n#define glUniform1i64NV glad_glUniform1i64NV\ntypedef void (APIENTRYP PFNGLUNIFORM2I64NVPROC)(GLint location, GLint64EXT x, GLint64EXT y);\nGLAPI PFNGLUNIFORM2I64NVPROC glad_glUniform2i64NV;\n#define glUniform2i64NV glad_glUniform2i64NV\ntypedef void (APIENTRYP PFNGLUNIFORM3I64NVPROC)(GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z);\nGLAPI PFNGLUNIFORM3I64NVPROC glad_glUniform3i64NV;\n#define glUniform3i64NV glad_glUniform3i64NV\ntypedef void (APIENTRYP PFNGLUNIFORM4I64NVPROC)(GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w);\nGLAPI PFNGLUNIFORM4I64NVPROC glad_glUniform4i64NV;\n#define glUniform4i64NV glad_glUniform4i64NV\ntypedef void (APIENTRYP PFNGLUNIFORM1I64VNVPROC)(GLint location, GLsizei count, const GLint64EXT *value);\nGLAPI PFNGLUNIFORM1I64VNVPROC glad_glUniform1i64vNV;\n#define glUniform1i64vNV glad_glUniform1i64vNV\ntypedef void (APIENTRYP PFNGLUNIFORM2I64VNVPROC)(GLint location, GLsizei count, const GLint64EXT *value);\nGLAPI PFNGLUNIFORM2I64VNVPROC glad_glUniform2i64vNV;\n#define glUniform2i64vNV glad_glUniform2i64vNV\ntypedef void (APIENTRYP PFNGLUNIFORM3I64VNVPROC)(GLint location, GLsizei count, const GLint64EXT *value);\nGLAPI PFNGLUNIFORM3I64VNVPROC glad_glUniform3i64vNV;\n#define glUniform3i64vNV glad_glUniform3i64vNV\ntypedef void (APIENTRYP PFNGLUNIFORM4I64VNVPROC)(GLint location, GLsizei count, const GLint64EXT *value);\nGLAPI PFNGLUNIFORM4I64VNVPROC glad_glUniform4i64vNV;\n#define glUniform4i64vNV glad_glUniform4i64vNV\ntypedef void (APIENTRYP PFNGLUNIFORM1UI64NVPROC)(GLint location, GLuint64EXT x);\nGLAPI PFNGLUNIFORM1UI64NVPROC glad_glUniform1ui64NV;\n#define glUniform1ui64NV glad_glUniform1ui64NV\ntypedef void (APIENTRYP PFNGLUNIFORM2UI64NVPROC)(GLint location, GLuint64EXT x, GLuint64EXT y);\nGLAPI PFNGLUNIFORM2UI64NVPROC glad_glUniform2ui64NV;\n#define glUniform2ui64NV glad_glUniform2ui64NV\ntypedef void (APIENTRYP PFNGLUNIFORM3UI64NVPROC)(GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z);\nGLAPI PFNGLUNIFORM3UI64NVPROC glad_glUniform3ui64NV;\n#define glUniform3ui64NV glad_glUniform3ui64NV\ntypedef void (APIENTRYP PFNGLUNIFORM4UI64NVPROC)(GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w);\nGLAPI PFNGLUNIFORM4UI64NVPROC glad_glUniform4ui64NV;\n#define glUniform4ui64NV glad_glUniform4ui64NV\ntypedef void (APIENTRYP PFNGLUNIFORM1UI64VNVPROC)(GLint location, GLsizei count, const GLuint64EXT *value);\nGLAPI PFNGLUNIFORM1UI64VNVPROC glad_glUniform1ui64vNV;\n#define glUniform1ui64vNV glad_glUniform1ui64vNV\ntypedef void (APIENTRYP PFNGLUNIFORM2UI64VNVPROC)(GLint location, GLsizei count, const GLuint64EXT *value);\nGLAPI PFNGLUNIFORM2UI64VNVPROC glad_glUniform2ui64vNV;\n#define glUniform2ui64vNV glad_glUniform2ui64vNV\ntypedef void (APIENTRYP PFNGLUNIFORM3UI64VNVPROC)(GLint location, GLsizei count, const GLuint64EXT *value);\nGLAPI PFNGLUNIFORM3UI64VNVPROC glad_glUniform3ui64vNV;\n#define glUniform3ui64vNV glad_glUniform3ui64vNV\ntypedef void (APIENTRYP PFNGLUNIFORM4UI64VNVPROC)(GLint location, GLsizei count, const GLuint64EXT *value);\nGLAPI PFNGLUNIFORM4UI64VNVPROC glad_glUniform4ui64vNV;\n#define glUniform4ui64vNV glad_glUniform4ui64vNV\ntypedef void (APIENTRYP PFNGLGETUNIFORMI64VNVPROC)(GLuint program, GLint location, GLint64EXT *params);\nGLAPI PFNGLGETUNIFORMI64VNVPROC glad_glGetUniformi64vNV;\n#define glGetUniformi64vNV glad_glGetUniformi64vNV\ntypedef void (APIENTRYP PFNGLGETUNIFORMUI64VNVPROC)(GLuint program, GLint location, GLuint64EXT *params);\nGLAPI PFNGLGETUNIFORMUI64VNVPROC glad_glGetUniformui64vNV;\n#define glGetUniformui64vNV glad_glGetUniformui64vNV\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM1I64NVPROC)(GLuint program, GLint location, GLint64EXT x);\nGLAPI PFNGLPROGRAMUNIFORM1I64NVPROC glad_glProgramUniform1i64NV;\n#define glProgramUniform1i64NV glad_glProgramUniform1i64NV\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM2I64NVPROC)(GLuint program, GLint location, GLint64EXT x, GLint64EXT y);\nGLAPI PFNGLPROGRAMUNIFORM2I64NVPROC glad_glProgramUniform2i64NV;\n#define glProgramUniform2i64NV glad_glProgramUniform2i64NV\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM3I64NVPROC)(GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z);\nGLAPI PFNGLPROGRAMUNIFORM3I64NVPROC glad_glProgramUniform3i64NV;\n#define glProgramUniform3i64NV glad_glProgramUniform3i64NV\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM4I64NVPROC)(GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w);\nGLAPI PFNGLPROGRAMUNIFORM4I64NVPROC glad_glProgramUniform4i64NV;\n#define glProgramUniform4i64NV glad_glProgramUniform4i64NV\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM1I64VNVPROC)(GLuint program, GLint location, GLsizei count, const GLint64EXT *value);\nGLAPI PFNGLPROGRAMUNIFORM1I64VNVPROC glad_glProgramUniform1i64vNV;\n#define glProgramUniform1i64vNV glad_glProgramUniform1i64vNV\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM2I64VNVPROC)(GLuint program, GLint location, GLsizei count, const GLint64EXT *value);\nGLAPI PFNGLPROGRAMUNIFORM2I64VNVPROC glad_glProgramUniform2i64vNV;\n#define glProgramUniform2i64vNV glad_glProgramUniform2i64vNV\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM3I64VNVPROC)(GLuint program, GLint location, GLsizei count, const GLint64EXT *value);\nGLAPI PFNGLPROGRAMUNIFORM3I64VNVPROC glad_glProgramUniform3i64vNV;\n#define glProgramUniform3i64vNV glad_glProgramUniform3i64vNV\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM4I64VNVPROC)(GLuint program, GLint location, GLsizei count, const GLint64EXT *value);\nGLAPI PFNGLPROGRAMUNIFORM4I64VNVPROC glad_glProgramUniform4i64vNV;\n#define glProgramUniform4i64vNV glad_glProgramUniform4i64vNV\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM1UI64NVPROC)(GLuint program, GLint location, GLuint64EXT x);\nGLAPI PFNGLPROGRAMUNIFORM1UI64NVPROC glad_glProgramUniform1ui64NV;\n#define glProgramUniform1ui64NV glad_glProgramUniform1ui64NV\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM2UI64NVPROC)(GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y);\nGLAPI PFNGLPROGRAMUNIFORM2UI64NVPROC glad_glProgramUniform2ui64NV;\n#define glProgramUniform2ui64NV glad_glProgramUniform2ui64NV\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM3UI64NVPROC)(GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z);\nGLAPI PFNGLPROGRAMUNIFORM3UI64NVPROC glad_glProgramUniform3ui64NV;\n#define glProgramUniform3ui64NV glad_glProgramUniform3ui64NV\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM4UI64NVPROC)(GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w);\nGLAPI PFNGLPROGRAMUNIFORM4UI64NVPROC glad_glProgramUniform4ui64NV;\n#define glProgramUniform4ui64NV glad_glProgramUniform4ui64NV\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM1UI64VNVPROC)(GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);\nGLAPI PFNGLPROGRAMUNIFORM1UI64VNVPROC glad_glProgramUniform1ui64vNV;\n#define glProgramUniform1ui64vNV glad_glProgramUniform1ui64vNV\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM2UI64VNVPROC)(GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);\nGLAPI PFNGLPROGRAMUNIFORM2UI64VNVPROC glad_glProgramUniform2ui64vNV;\n#define glProgramUniform2ui64vNV glad_glProgramUniform2ui64vNV\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM3UI64VNVPROC)(GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);\nGLAPI PFNGLPROGRAMUNIFORM3UI64VNVPROC glad_glProgramUniform3ui64vNV;\n#define glProgramUniform3ui64vNV glad_glProgramUniform3ui64vNV\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM4UI64VNVPROC)(GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);\nGLAPI PFNGLPROGRAMUNIFORM4UI64VNVPROC glad_glProgramUniform4ui64vNV;\n#define glProgramUniform4ui64vNV glad_glProgramUniform4ui64vNV\n#endif\n#ifndef GL_AMD_interleaved_elements\n#define GL_AMD_interleaved_elements 1\nGLAPI int GLAD_GL_AMD_interleaved_elements;\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBPARAMETERIAMDPROC)(GLuint index, GLenum pname, GLint param);\nGLAPI PFNGLVERTEXATTRIBPARAMETERIAMDPROC glad_glVertexAttribParameteriAMD;\n#define glVertexAttribParameteriAMD glad_glVertexAttribParameteriAMD\n#endif\n#ifndef GL_AMD_multi_draw_indirect\n#define GL_AMD_multi_draw_indirect 1\nGLAPI int GLAD_GL_AMD_multi_draw_indirect;\ntypedef void (APIENTRYP PFNGLMULTIDRAWARRAYSINDIRECTAMDPROC)(GLenum mode, const void *indirect, GLsizei primcount, GLsizei stride);\nGLAPI PFNGLMULTIDRAWARRAYSINDIRECTAMDPROC glad_glMultiDrawArraysIndirectAMD;\n#define glMultiDrawArraysIndirectAMD glad_glMultiDrawArraysIndirectAMD\ntypedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSINDIRECTAMDPROC)(GLenum mode, GLenum type, const void *indirect, GLsizei primcount, GLsizei stride);\nGLAPI PFNGLMULTIDRAWELEMENTSINDIRECTAMDPROC glad_glMultiDrawElementsIndirectAMD;\n#define glMultiDrawElementsIndirectAMD glad_glMultiDrawElementsIndirectAMD\n#endif\n#ifndef GL_AMD_name_gen_delete\n#define GL_AMD_name_gen_delete 1\nGLAPI int GLAD_GL_AMD_name_gen_delete;\ntypedef void (APIENTRYP PFNGLGENNAMESAMDPROC)(GLenum identifier, GLuint num, GLuint *names);\nGLAPI PFNGLGENNAMESAMDPROC glad_glGenNamesAMD;\n#define glGenNamesAMD glad_glGenNamesAMD\ntypedef void (APIENTRYP PFNGLDELETENAMESAMDPROC)(GLenum identifier, GLuint num, const GLuint *names);\nGLAPI PFNGLDELETENAMESAMDPROC glad_glDeleteNamesAMD;\n#define glDeleteNamesAMD glad_glDeleteNamesAMD\ntypedef GLboolean (APIENTRYP PFNGLISNAMEAMDPROC)(GLenum identifier, GLuint name);\nGLAPI PFNGLISNAMEAMDPROC glad_glIsNameAMD;\n#define glIsNameAMD glad_glIsNameAMD\n#endif\n#ifndef GL_AMD_occlusion_query_event\n#define GL_AMD_occlusion_query_event 1\nGLAPI int GLAD_GL_AMD_occlusion_query_event;\ntypedef void (APIENTRYP PFNGLQUERYOBJECTPARAMETERUIAMDPROC)(GLenum target, GLuint id, GLenum pname, GLuint param);\nGLAPI PFNGLQUERYOBJECTPARAMETERUIAMDPROC glad_glQueryObjectParameteruiAMD;\n#define glQueryObjectParameteruiAMD glad_glQueryObjectParameteruiAMD\n#endif\n#ifndef GL_AMD_performance_monitor\n#define GL_AMD_performance_monitor 1\nGLAPI int GLAD_GL_AMD_performance_monitor;\ntypedef void (APIENTRYP PFNGLGETPERFMONITORGROUPSAMDPROC)(GLint *numGroups, GLsizei groupsSize, GLuint *groups);\nGLAPI PFNGLGETPERFMONITORGROUPSAMDPROC glad_glGetPerfMonitorGroupsAMD;\n#define glGetPerfMonitorGroupsAMD glad_glGetPerfMonitorGroupsAMD\ntypedef void (APIENTRYP PFNGLGETPERFMONITORCOUNTERSAMDPROC)(GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);\nGLAPI PFNGLGETPERFMONITORCOUNTERSAMDPROC glad_glGetPerfMonitorCountersAMD;\n#define glGetPerfMonitorCountersAMD glad_glGetPerfMonitorCountersAMD\ntypedef void (APIENTRYP PFNGLGETPERFMONITORGROUPSTRINGAMDPROC)(GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);\nGLAPI PFNGLGETPERFMONITORGROUPSTRINGAMDPROC glad_glGetPerfMonitorGroupStringAMD;\n#define glGetPerfMonitorGroupStringAMD glad_glGetPerfMonitorGroupStringAMD\ntypedef void (APIENTRYP PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC)(GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);\nGLAPI PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC glad_glGetPerfMonitorCounterStringAMD;\n#define glGetPerfMonitorCounterStringAMD glad_glGetPerfMonitorCounterStringAMD\ntypedef void (APIENTRYP PFNGLGETPERFMONITORCOUNTERINFOAMDPROC)(GLuint group, GLuint counter, GLenum pname, void *data);\nGLAPI PFNGLGETPERFMONITORCOUNTERINFOAMDPROC glad_glGetPerfMonitorCounterInfoAMD;\n#define glGetPerfMonitorCounterInfoAMD glad_glGetPerfMonitorCounterInfoAMD\ntypedef void (APIENTRYP PFNGLGENPERFMONITORSAMDPROC)(GLsizei n, GLuint *monitors);\nGLAPI PFNGLGENPERFMONITORSAMDPROC glad_glGenPerfMonitorsAMD;\n#define glGenPerfMonitorsAMD glad_glGenPerfMonitorsAMD\ntypedef void (APIENTRYP PFNGLDELETEPERFMONITORSAMDPROC)(GLsizei n, GLuint *monitors);\nGLAPI PFNGLDELETEPERFMONITORSAMDPROC glad_glDeletePerfMonitorsAMD;\n#define glDeletePerfMonitorsAMD glad_glDeletePerfMonitorsAMD\ntypedef void (APIENTRYP PFNGLSELECTPERFMONITORCOUNTERSAMDPROC)(GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *counterList);\nGLAPI PFNGLSELECTPERFMONITORCOUNTERSAMDPROC glad_glSelectPerfMonitorCountersAMD;\n#define glSelectPerfMonitorCountersAMD glad_glSelectPerfMonitorCountersAMD\ntypedef void (APIENTRYP PFNGLBEGINPERFMONITORAMDPROC)(GLuint monitor);\nGLAPI PFNGLBEGINPERFMONITORAMDPROC glad_glBeginPerfMonitorAMD;\n#define glBeginPerfMonitorAMD glad_glBeginPerfMonitorAMD\ntypedef void (APIENTRYP PFNGLENDPERFMONITORAMDPROC)(GLuint monitor);\nGLAPI PFNGLENDPERFMONITORAMDPROC glad_glEndPerfMonitorAMD;\n#define glEndPerfMonitorAMD glad_glEndPerfMonitorAMD\ntypedef void (APIENTRYP PFNGLGETPERFMONITORCOUNTERDATAAMDPROC)(GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);\nGLAPI PFNGLGETPERFMONITORCOUNTERDATAAMDPROC glad_glGetPerfMonitorCounterDataAMD;\n#define glGetPerfMonitorCounterDataAMD glad_glGetPerfMonitorCounterDataAMD\n#endif\n#ifndef GL_AMD_pinned_memory\n#define GL_AMD_pinned_memory 1\nGLAPI int GLAD_GL_AMD_pinned_memory;\n#endif\n#ifndef GL_AMD_query_buffer_object\n#define GL_AMD_query_buffer_object 1\nGLAPI int GLAD_GL_AMD_query_buffer_object;\n#endif\n#ifndef GL_AMD_sample_positions\n#define GL_AMD_sample_positions 1\nGLAPI int GLAD_GL_AMD_sample_positions;\ntypedef void (APIENTRYP PFNGLSETMULTISAMPLEFVAMDPROC)(GLenum pname, GLuint index, const GLfloat *val);\nGLAPI PFNGLSETMULTISAMPLEFVAMDPROC glad_glSetMultisamplefvAMD;\n#define glSetMultisamplefvAMD glad_glSetMultisamplefvAMD\n#endif\n#ifndef GL_AMD_seamless_cubemap_per_texture\n#define GL_AMD_seamless_cubemap_per_texture 1\nGLAPI int GLAD_GL_AMD_seamless_cubemap_per_texture;\n#endif\n#ifndef GL_AMD_shader_atomic_counter_ops\n#define GL_AMD_shader_atomic_counter_ops 1\nGLAPI int GLAD_GL_AMD_shader_atomic_counter_ops;\n#endif\n#ifndef GL_AMD_shader_ballot\n#define GL_AMD_shader_ballot 1\nGLAPI int GLAD_GL_AMD_shader_ballot;\n#endif\n#ifndef GL_AMD_shader_explicit_vertex_parameter\n#define GL_AMD_shader_explicit_vertex_parameter 1\nGLAPI int GLAD_GL_AMD_shader_explicit_vertex_parameter;\n#endif\n#ifndef GL_AMD_shader_image_load_store_lod\n#define GL_AMD_shader_image_load_store_lod 1\nGLAPI int GLAD_GL_AMD_shader_image_load_store_lod;\n#endif\n#ifndef GL_AMD_shader_stencil_export\n#define GL_AMD_shader_stencil_export 1\nGLAPI int GLAD_GL_AMD_shader_stencil_export;\n#endif\n#ifndef GL_AMD_shader_trinary_minmax\n#define GL_AMD_shader_trinary_minmax 1\nGLAPI int GLAD_GL_AMD_shader_trinary_minmax;\n#endif\n#ifndef GL_AMD_sparse_texture\n#define GL_AMD_sparse_texture 1\nGLAPI int GLAD_GL_AMD_sparse_texture;\ntypedef void (APIENTRYP PFNGLTEXSTORAGESPARSEAMDPROC)(GLenum target, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLsizei layers, GLbitfield flags);\nGLAPI PFNGLTEXSTORAGESPARSEAMDPROC glad_glTexStorageSparseAMD;\n#define glTexStorageSparseAMD glad_glTexStorageSparseAMD\ntypedef void (APIENTRYP PFNGLTEXTURESTORAGESPARSEAMDPROC)(GLuint texture, GLenum target, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLsizei layers, GLbitfield flags);\nGLAPI PFNGLTEXTURESTORAGESPARSEAMDPROC glad_glTextureStorageSparseAMD;\n#define glTextureStorageSparseAMD glad_glTextureStorageSparseAMD\n#endif\n#ifndef GL_AMD_stencil_operation_extended\n#define GL_AMD_stencil_operation_extended 1\nGLAPI int GLAD_GL_AMD_stencil_operation_extended;\ntypedef void (APIENTRYP PFNGLSTENCILOPVALUEAMDPROC)(GLenum face, GLuint value);\nGLAPI PFNGLSTENCILOPVALUEAMDPROC glad_glStencilOpValueAMD;\n#define glStencilOpValueAMD glad_glStencilOpValueAMD\n#endif\n#ifndef GL_AMD_texture_gather_bias_lod\n#define GL_AMD_texture_gather_bias_lod 1\nGLAPI int GLAD_GL_AMD_texture_gather_bias_lod;\n#endif\n#ifndef GL_AMD_texture_texture4\n#define GL_AMD_texture_texture4 1\nGLAPI int GLAD_GL_AMD_texture_texture4;\n#endif\n#ifndef GL_AMD_transform_feedback3_lines_triangles\n#define GL_AMD_transform_feedback3_lines_triangles 1\nGLAPI int GLAD_GL_AMD_transform_feedback3_lines_triangles;\n#endif\n#ifndef GL_AMD_transform_feedback4\n#define GL_AMD_transform_feedback4 1\nGLAPI int GLAD_GL_AMD_transform_feedback4;\n#endif\n#ifndef GL_AMD_vertex_shader_layer\n#define GL_AMD_vertex_shader_layer 1\nGLAPI int GLAD_GL_AMD_vertex_shader_layer;\n#endif\n#ifndef GL_AMD_vertex_shader_tessellator\n#define GL_AMD_vertex_shader_tessellator 1\nGLAPI int GLAD_GL_AMD_vertex_shader_tessellator;\ntypedef void (APIENTRYP PFNGLTESSELLATIONFACTORAMDPROC)(GLfloat factor);\nGLAPI PFNGLTESSELLATIONFACTORAMDPROC glad_glTessellationFactorAMD;\n#define glTessellationFactorAMD glad_glTessellationFactorAMD\ntypedef void (APIENTRYP PFNGLTESSELLATIONMODEAMDPROC)(GLenum mode);\nGLAPI PFNGLTESSELLATIONMODEAMDPROC glad_glTessellationModeAMD;\n#define glTessellationModeAMD glad_glTessellationModeAMD\n#endif\n#ifndef GL_AMD_vertex_shader_viewport_index\n#define GL_AMD_vertex_shader_viewport_index 1\nGLAPI int GLAD_GL_AMD_vertex_shader_viewport_index;\n#endif\n#ifndef GL_APPLE_aux_depth_stencil\n#define GL_APPLE_aux_depth_stencil 1\nGLAPI int GLAD_GL_APPLE_aux_depth_stencil;\n#endif\n#ifndef GL_APPLE_client_storage\n#define GL_APPLE_client_storage 1\nGLAPI int GLAD_GL_APPLE_client_storage;\n#endif\n#ifndef GL_APPLE_element_array\n#define GL_APPLE_element_array 1\nGLAPI int GLAD_GL_APPLE_element_array;\ntypedef void (APIENTRYP PFNGLELEMENTPOINTERAPPLEPROC)(GLenum type, const void *pointer);\nGLAPI PFNGLELEMENTPOINTERAPPLEPROC glad_glElementPointerAPPLE;\n#define glElementPointerAPPLE glad_glElementPointerAPPLE\ntypedef void (APIENTRYP PFNGLDRAWELEMENTARRAYAPPLEPROC)(GLenum mode, GLint first, GLsizei count);\nGLAPI PFNGLDRAWELEMENTARRAYAPPLEPROC glad_glDrawElementArrayAPPLE;\n#define glDrawElementArrayAPPLE glad_glDrawElementArrayAPPLE\ntypedef void (APIENTRYP PFNGLDRAWRANGEELEMENTARRAYAPPLEPROC)(GLenum mode, GLuint start, GLuint end, GLint first, GLsizei count);\nGLAPI PFNGLDRAWRANGEELEMENTARRAYAPPLEPROC glad_glDrawRangeElementArrayAPPLE;\n#define glDrawRangeElementArrayAPPLE glad_glDrawRangeElementArrayAPPLE\ntypedef void (APIENTRYP PFNGLMULTIDRAWELEMENTARRAYAPPLEPROC)(GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);\nGLAPI PFNGLMULTIDRAWELEMENTARRAYAPPLEPROC glad_glMultiDrawElementArrayAPPLE;\n#define glMultiDrawElementArrayAPPLE glad_glMultiDrawElementArrayAPPLE\ntypedef void (APIENTRYP PFNGLMULTIDRAWRANGEELEMENTARRAYAPPLEPROC)(GLenum mode, GLuint start, GLuint end, const GLint *first, const GLsizei *count, GLsizei primcount);\nGLAPI PFNGLMULTIDRAWRANGEELEMENTARRAYAPPLEPROC glad_glMultiDrawRangeElementArrayAPPLE;\n#define glMultiDrawRangeElementArrayAPPLE glad_glMultiDrawRangeElementArrayAPPLE\n#endif\n#ifndef GL_APPLE_fence\n#define GL_APPLE_fence 1\nGLAPI int GLAD_GL_APPLE_fence;\ntypedef void (APIENTRYP PFNGLGENFENCESAPPLEPROC)(GLsizei n, GLuint *fences);\nGLAPI PFNGLGENFENCESAPPLEPROC glad_glGenFencesAPPLE;\n#define glGenFencesAPPLE glad_glGenFencesAPPLE\ntypedef void (APIENTRYP PFNGLDELETEFENCESAPPLEPROC)(GLsizei n, const GLuint *fences);\nGLAPI PFNGLDELETEFENCESAPPLEPROC glad_glDeleteFencesAPPLE;\n#define glDeleteFencesAPPLE glad_glDeleteFencesAPPLE\ntypedef void (APIENTRYP PFNGLSETFENCEAPPLEPROC)(GLuint fence);\nGLAPI PFNGLSETFENCEAPPLEPROC glad_glSetFenceAPPLE;\n#define glSetFenceAPPLE glad_glSetFenceAPPLE\ntypedef GLboolean (APIENTRYP PFNGLISFENCEAPPLEPROC)(GLuint fence);\nGLAPI PFNGLISFENCEAPPLEPROC glad_glIsFenceAPPLE;\n#define glIsFenceAPPLE glad_glIsFenceAPPLE\ntypedef GLboolean (APIENTRYP PFNGLTESTFENCEAPPLEPROC)(GLuint fence);\nGLAPI PFNGLTESTFENCEAPPLEPROC glad_glTestFenceAPPLE;\n#define glTestFenceAPPLE glad_glTestFenceAPPLE\ntypedef void (APIENTRYP PFNGLFINISHFENCEAPPLEPROC)(GLuint fence);\nGLAPI PFNGLFINISHFENCEAPPLEPROC glad_glFinishFenceAPPLE;\n#define glFinishFenceAPPLE glad_glFinishFenceAPPLE\ntypedef GLboolean (APIENTRYP PFNGLTESTOBJECTAPPLEPROC)(GLenum object, GLuint name);\nGLAPI PFNGLTESTOBJECTAPPLEPROC glad_glTestObjectAPPLE;\n#define glTestObjectAPPLE glad_glTestObjectAPPLE\ntypedef void (APIENTRYP PFNGLFINISHOBJECTAPPLEPROC)(GLenum object, GLint name);\nGLAPI PFNGLFINISHOBJECTAPPLEPROC glad_glFinishObjectAPPLE;\n#define glFinishObjectAPPLE glad_glFinishObjectAPPLE\n#endif\n#ifndef GL_APPLE_float_pixels\n#define GL_APPLE_float_pixels 1\nGLAPI int GLAD_GL_APPLE_float_pixels;\n#endif\n#ifndef GL_APPLE_flush_buffer_range\n#define GL_APPLE_flush_buffer_range 1\nGLAPI int GLAD_GL_APPLE_flush_buffer_range;\ntypedef void (APIENTRYP PFNGLBUFFERPARAMETERIAPPLEPROC)(GLenum target, GLenum pname, GLint param);\nGLAPI PFNGLBUFFERPARAMETERIAPPLEPROC glad_glBufferParameteriAPPLE;\n#define glBufferParameteriAPPLE glad_glBufferParameteriAPPLE\ntypedef void (APIENTRYP PFNGLFLUSHMAPPEDBUFFERRANGEAPPLEPROC)(GLenum target, GLintptr offset, GLsizeiptr size);\nGLAPI PFNGLFLUSHMAPPEDBUFFERRANGEAPPLEPROC glad_glFlushMappedBufferRangeAPPLE;\n#define glFlushMappedBufferRangeAPPLE glad_glFlushMappedBufferRangeAPPLE\n#endif\n#ifndef GL_APPLE_object_purgeable\n#define GL_APPLE_object_purgeable 1\nGLAPI int GLAD_GL_APPLE_object_purgeable;\ntypedef GLenum (APIENTRYP PFNGLOBJECTPURGEABLEAPPLEPROC)(GLenum objectType, GLuint name, GLenum option);\nGLAPI PFNGLOBJECTPURGEABLEAPPLEPROC glad_glObjectPurgeableAPPLE;\n#define glObjectPurgeableAPPLE glad_glObjectPurgeableAPPLE\ntypedef GLenum (APIENTRYP PFNGLOBJECTUNPURGEABLEAPPLEPROC)(GLenum objectType, GLuint name, GLenum option);\nGLAPI PFNGLOBJECTUNPURGEABLEAPPLEPROC glad_glObjectUnpurgeableAPPLE;\n#define glObjectUnpurgeableAPPLE glad_glObjectUnpurgeableAPPLE\ntypedef void (APIENTRYP PFNGLGETOBJECTPARAMETERIVAPPLEPROC)(GLenum objectType, GLuint name, GLenum pname, GLint *params);\nGLAPI PFNGLGETOBJECTPARAMETERIVAPPLEPROC glad_glGetObjectParameterivAPPLE;\n#define glGetObjectParameterivAPPLE glad_glGetObjectParameterivAPPLE\n#endif\n#ifndef GL_APPLE_rgb_422\n#define GL_APPLE_rgb_422 1\nGLAPI int GLAD_GL_APPLE_rgb_422;\n#endif\n#ifndef GL_APPLE_row_bytes\n#define GL_APPLE_row_bytes 1\nGLAPI int GLAD_GL_APPLE_row_bytes;\n#endif\n#ifndef GL_APPLE_specular_vector\n#define GL_APPLE_specular_vector 1\nGLAPI int GLAD_GL_APPLE_specular_vector;\n#endif\n#ifndef GL_APPLE_texture_range\n#define GL_APPLE_texture_range 1\nGLAPI int GLAD_GL_APPLE_texture_range;\ntypedef void (APIENTRYP PFNGLTEXTURERANGEAPPLEPROC)(GLenum target, GLsizei length, const void *pointer);\nGLAPI PFNGLTEXTURERANGEAPPLEPROC glad_glTextureRangeAPPLE;\n#define glTextureRangeAPPLE glad_glTextureRangeAPPLE\ntypedef void (APIENTRYP PFNGLGETTEXPARAMETERPOINTERVAPPLEPROC)(GLenum target, GLenum pname, void **params);\nGLAPI PFNGLGETTEXPARAMETERPOINTERVAPPLEPROC glad_glGetTexParameterPointervAPPLE;\n#define glGetTexParameterPointervAPPLE glad_glGetTexParameterPointervAPPLE\n#endif\n#ifndef GL_APPLE_transform_hint\n#define GL_APPLE_transform_hint 1\nGLAPI int GLAD_GL_APPLE_transform_hint;\n#endif\n#ifndef GL_APPLE_vertex_array_object\n#define GL_APPLE_vertex_array_object 1\nGLAPI int GLAD_GL_APPLE_vertex_array_object;\ntypedef void (APIENTRYP PFNGLBINDVERTEXARRAYAPPLEPROC)(GLuint array);\nGLAPI PFNGLBINDVERTEXARRAYAPPLEPROC glad_glBindVertexArrayAPPLE;\n#define glBindVertexArrayAPPLE glad_glBindVertexArrayAPPLE\ntypedef void (APIENTRYP PFNGLDELETEVERTEXARRAYSAPPLEPROC)(GLsizei n, const GLuint *arrays);\nGLAPI PFNGLDELETEVERTEXARRAYSAPPLEPROC glad_glDeleteVertexArraysAPPLE;\n#define glDeleteVertexArraysAPPLE glad_glDeleteVertexArraysAPPLE\ntypedef void (APIENTRYP PFNGLGENVERTEXARRAYSAPPLEPROC)(GLsizei n, GLuint *arrays);\nGLAPI PFNGLGENVERTEXARRAYSAPPLEPROC glad_glGenVertexArraysAPPLE;\n#define glGenVertexArraysAPPLE glad_glGenVertexArraysAPPLE\ntypedef GLboolean (APIENTRYP PFNGLISVERTEXARRAYAPPLEPROC)(GLuint array);\nGLAPI PFNGLISVERTEXARRAYAPPLEPROC glad_glIsVertexArrayAPPLE;\n#define glIsVertexArrayAPPLE glad_glIsVertexArrayAPPLE\n#endif\n#ifndef GL_APPLE_vertex_array_range\n#define GL_APPLE_vertex_array_range 1\nGLAPI int GLAD_GL_APPLE_vertex_array_range;\ntypedef void (APIENTRYP PFNGLVERTEXARRAYRANGEAPPLEPROC)(GLsizei length, void *pointer);\nGLAPI PFNGLVERTEXARRAYRANGEAPPLEPROC glad_glVertexArrayRangeAPPLE;\n#define glVertexArrayRangeAPPLE glad_glVertexArrayRangeAPPLE\ntypedef void (APIENTRYP PFNGLFLUSHVERTEXARRAYRANGEAPPLEPROC)(GLsizei length, void *pointer);\nGLAPI PFNGLFLUSHVERTEXARRAYRANGEAPPLEPROC glad_glFlushVertexArrayRangeAPPLE;\n#define glFlushVertexArrayRangeAPPLE glad_glFlushVertexArrayRangeAPPLE\ntypedef void (APIENTRYP PFNGLVERTEXARRAYPARAMETERIAPPLEPROC)(GLenum pname, GLint param);\nGLAPI PFNGLVERTEXARRAYPARAMETERIAPPLEPROC glad_glVertexArrayParameteriAPPLE;\n#define glVertexArrayParameteriAPPLE glad_glVertexArrayParameteriAPPLE\n#endif\n#ifndef GL_APPLE_vertex_program_evaluators\n#define GL_APPLE_vertex_program_evaluators 1\nGLAPI int GLAD_GL_APPLE_vertex_program_evaluators;\ntypedef void (APIENTRYP PFNGLENABLEVERTEXATTRIBAPPLEPROC)(GLuint index, GLenum pname);\nGLAPI PFNGLENABLEVERTEXATTRIBAPPLEPROC glad_glEnableVertexAttribAPPLE;\n#define glEnableVertexAttribAPPLE glad_glEnableVertexAttribAPPLE\ntypedef void (APIENTRYP PFNGLDISABLEVERTEXATTRIBAPPLEPROC)(GLuint index, GLenum pname);\nGLAPI PFNGLDISABLEVERTEXATTRIBAPPLEPROC glad_glDisableVertexAttribAPPLE;\n#define glDisableVertexAttribAPPLE glad_glDisableVertexAttribAPPLE\ntypedef GLboolean (APIENTRYP PFNGLISVERTEXATTRIBENABLEDAPPLEPROC)(GLuint index, GLenum pname);\nGLAPI PFNGLISVERTEXATTRIBENABLEDAPPLEPROC glad_glIsVertexAttribEnabledAPPLE;\n#define glIsVertexAttribEnabledAPPLE glad_glIsVertexAttribEnabledAPPLE\ntypedef void (APIENTRYP PFNGLMAPVERTEXATTRIB1DAPPLEPROC)(GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points);\nGLAPI PFNGLMAPVERTEXATTRIB1DAPPLEPROC glad_glMapVertexAttrib1dAPPLE;\n#define glMapVertexAttrib1dAPPLE glad_glMapVertexAttrib1dAPPLE\ntypedef void (APIENTRYP PFNGLMAPVERTEXATTRIB1FAPPLEPROC)(GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points);\nGLAPI PFNGLMAPVERTEXATTRIB1FAPPLEPROC glad_glMapVertexAttrib1fAPPLE;\n#define glMapVertexAttrib1fAPPLE glad_glMapVertexAttrib1fAPPLE\ntypedef void (APIENTRYP PFNGLMAPVERTEXATTRIB2DAPPLEPROC)(GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points);\nGLAPI PFNGLMAPVERTEXATTRIB2DAPPLEPROC glad_glMapVertexAttrib2dAPPLE;\n#define glMapVertexAttrib2dAPPLE glad_glMapVertexAttrib2dAPPLE\ntypedef void (APIENTRYP PFNGLMAPVERTEXATTRIB2FAPPLEPROC)(GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points);\nGLAPI PFNGLMAPVERTEXATTRIB2FAPPLEPROC glad_glMapVertexAttrib2fAPPLE;\n#define glMapVertexAttrib2fAPPLE glad_glMapVertexAttrib2fAPPLE\n#endif\n#ifndef GL_APPLE_ycbcr_422\n#define GL_APPLE_ycbcr_422 1\nGLAPI int GLAD_GL_APPLE_ycbcr_422;\n#endif\n#ifndef GL_ARB_ES2_compatibility\n#define GL_ARB_ES2_compatibility 1\nGLAPI int GLAD_GL_ARB_ES2_compatibility;\n#endif\n#ifndef GL_ARB_ES3_1_compatibility\n#define GL_ARB_ES3_1_compatibility 1\nGLAPI int GLAD_GL_ARB_ES3_1_compatibility;\n#endif\n#ifndef GL_ARB_ES3_2_compatibility\n#define GL_ARB_ES3_2_compatibility 1\nGLAPI int GLAD_GL_ARB_ES3_2_compatibility;\ntypedef void (APIENTRYP PFNGLPRIMITIVEBOUNDINGBOXARBPROC)(GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW);\nGLAPI PFNGLPRIMITIVEBOUNDINGBOXARBPROC glad_glPrimitiveBoundingBoxARB;\n#define glPrimitiveBoundingBoxARB glad_glPrimitiveBoundingBoxARB\n#endif\n#ifndef GL_ARB_ES3_compatibility\n#define GL_ARB_ES3_compatibility 1\nGLAPI int GLAD_GL_ARB_ES3_compatibility;\n#endif\n#ifndef GL_ARB_arrays_of_arrays\n#define GL_ARB_arrays_of_arrays 1\nGLAPI int GLAD_GL_ARB_arrays_of_arrays;\n#endif\n#ifndef GL_ARB_base_instance\n#define GL_ARB_base_instance 1\nGLAPI int GLAD_GL_ARB_base_instance;\n#endif\n#ifndef GL_ARB_bindless_texture\n#define GL_ARB_bindless_texture 1\nGLAPI int GLAD_GL_ARB_bindless_texture;\ntypedef GLuint64 (APIENTRYP PFNGLGETTEXTUREHANDLEARBPROC)(GLuint texture);\nGLAPI PFNGLGETTEXTUREHANDLEARBPROC glad_glGetTextureHandleARB;\n#define glGetTextureHandleARB glad_glGetTextureHandleARB\ntypedef GLuint64 (APIENTRYP PFNGLGETTEXTURESAMPLERHANDLEARBPROC)(GLuint texture, GLuint sampler);\nGLAPI PFNGLGETTEXTURESAMPLERHANDLEARBPROC glad_glGetTextureSamplerHandleARB;\n#define glGetTextureSamplerHandleARB glad_glGetTextureSamplerHandleARB\ntypedef void (APIENTRYP PFNGLMAKETEXTUREHANDLERESIDENTARBPROC)(GLuint64 handle);\nGLAPI PFNGLMAKETEXTUREHANDLERESIDENTARBPROC glad_glMakeTextureHandleResidentARB;\n#define glMakeTextureHandleResidentARB glad_glMakeTextureHandleResidentARB\ntypedef void (APIENTRYP PFNGLMAKETEXTUREHANDLENONRESIDENTARBPROC)(GLuint64 handle);\nGLAPI PFNGLMAKETEXTUREHANDLENONRESIDENTARBPROC glad_glMakeTextureHandleNonResidentARB;\n#define glMakeTextureHandleNonResidentARB glad_glMakeTextureHandleNonResidentARB\ntypedef GLuint64 (APIENTRYP PFNGLGETIMAGEHANDLEARBPROC)(GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum format);\nGLAPI PFNGLGETIMAGEHANDLEARBPROC glad_glGetImageHandleARB;\n#define glGetImageHandleARB glad_glGetImageHandleARB\ntypedef void (APIENTRYP PFNGLMAKEIMAGEHANDLERESIDENTARBPROC)(GLuint64 handle, GLenum access);\nGLAPI PFNGLMAKEIMAGEHANDLERESIDENTARBPROC glad_glMakeImageHandleResidentARB;\n#define glMakeImageHandleResidentARB glad_glMakeImageHandleResidentARB\ntypedef void (APIENTRYP PFNGLMAKEIMAGEHANDLENONRESIDENTARBPROC)(GLuint64 handle);\nGLAPI PFNGLMAKEIMAGEHANDLENONRESIDENTARBPROC glad_glMakeImageHandleNonResidentARB;\n#define glMakeImageHandleNonResidentARB glad_glMakeImageHandleNonResidentARB\ntypedef void (APIENTRYP PFNGLUNIFORMHANDLEUI64ARBPROC)(GLint location, GLuint64 value);\nGLAPI PFNGLUNIFORMHANDLEUI64ARBPROC glad_glUniformHandleui64ARB;\n#define glUniformHandleui64ARB glad_glUniformHandleui64ARB\ntypedef void (APIENTRYP PFNGLUNIFORMHANDLEUI64VARBPROC)(GLint location, GLsizei count, const GLuint64 *value);\nGLAPI PFNGLUNIFORMHANDLEUI64VARBPROC glad_glUniformHandleui64vARB;\n#define glUniformHandleui64vARB glad_glUniformHandleui64vARB\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMHANDLEUI64ARBPROC)(GLuint program, GLint location, GLuint64 value);\nGLAPI PFNGLPROGRAMUNIFORMHANDLEUI64ARBPROC glad_glProgramUniformHandleui64ARB;\n#define glProgramUniformHandleui64ARB glad_glProgramUniformHandleui64ARB\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMHANDLEUI64VARBPROC)(GLuint program, GLint location, GLsizei count, const GLuint64 *values);\nGLAPI PFNGLPROGRAMUNIFORMHANDLEUI64VARBPROC glad_glProgramUniformHandleui64vARB;\n#define glProgramUniformHandleui64vARB glad_glProgramUniformHandleui64vARB\ntypedef GLboolean (APIENTRYP PFNGLISTEXTUREHANDLERESIDENTARBPROC)(GLuint64 handle);\nGLAPI PFNGLISTEXTUREHANDLERESIDENTARBPROC glad_glIsTextureHandleResidentARB;\n#define glIsTextureHandleResidentARB glad_glIsTextureHandleResidentARB\ntypedef GLboolean (APIENTRYP PFNGLISIMAGEHANDLERESIDENTARBPROC)(GLuint64 handle);\nGLAPI PFNGLISIMAGEHANDLERESIDENTARBPROC glad_glIsImageHandleResidentARB;\n#define glIsImageHandleResidentARB glad_glIsImageHandleResidentARB\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBL1UI64ARBPROC)(GLuint index, GLuint64EXT x);\nGLAPI PFNGLVERTEXATTRIBL1UI64ARBPROC glad_glVertexAttribL1ui64ARB;\n#define glVertexAttribL1ui64ARB glad_glVertexAttribL1ui64ARB\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBL1UI64VARBPROC)(GLuint index, const GLuint64EXT *v);\nGLAPI PFNGLVERTEXATTRIBL1UI64VARBPROC glad_glVertexAttribL1ui64vARB;\n#define glVertexAttribL1ui64vARB glad_glVertexAttribL1ui64vARB\ntypedef void (APIENTRYP PFNGLGETVERTEXATTRIBLUI64VARBPROC)(GLuint index, GLenum pname, GLuint64EXT *params);\nGLAPI PFNGLGETVERTEXATTRIBLUI64VARBPROC glad_glGetVertexAttribLui64vARB;\n#define glGetVertexAttribLui64vARB glad_glGetVertexAttribLui64vARB\n#endif\n#ifndef GL_ARB_blend_func_extended\n#define GL_ARB_blend_func_extended 1\nGLAPI int GLAD_GL_ARB_blend_func_extended;\n#endif\n#ifndef GL_ARB_buffer_storage\n#define GL_ARB_buffer_storage 1\nGLAPI int GLAD_GL_ARB_buffer_storage;\n#endif\n#ifndef GL_ARB_cl_event\n#define GL_ARB_cl_event 1\nGLAPI int GLAD_GL_ARB_cl_event;\ntypedef GLsync (APIENTRYP PFNGLCREATESYNCFROMCLEVENTARBPROC)(struct _cl_context *context, struct _cl_event *event, GLbitfield flags);\nGLAPI PFNGLCREATESYNCFROMCLEVENTARBPROC glad_glCreateSyncFromCLeventARB;\n#define glCreateSyncFromCLeventARB glad_glCreateSyncFromCLeventARB\n#endif\n#ifndef GL_ARB_clear_buffer_object\n#define GL_ARB_clear_buffer_object 1\nGLAPI int GLAD_GL_ARB_clear_buffer_object;\n#endif\n#ifndef GL_ARB_clear_texture\n#define GL_ARB_clear_texture 1\nGLAPI int GLAD_GL_ARB_clear_texture;\n#endif\n#ifndef GL_ARB_clip_control\n#define GL_ARB_clip_control 1\nGLAPI int GLAD_GL_ARB_clip_control;\n#endif\n#ifndef GL_ARB_color_buffer_float\n#define GL_ARB_color_buffer_float 1\nGLAPI int GLAD_GL_ARB_color_buffer_float;\ntypedef void (APIENTRYP PFNGLCLAMPCOLORARBPROC)(GLenum target, GLenum clamp);\nGLAPI PFNGLCLAMPCOLORARBPROC glad_glClampColorARB;\n#define glClampColorARB glad_glClampColorARB\n#endif\n#ifndef GL_ARB_compatibility\n#define GL_ARB_compatibility 1\nGLAPI int GLAD_GL_ARB_compatibility;\n#endif\n#ifndef GL_ARB_compressed_texture_pixel_storage\n#define GL_ARB_compressed_texture_pixel_storage 1\nGLAPI int GLAD_GL_ARB_compressed_texture_pixel_storage;\n#endif\n#ifndef GL_ARB_compute_shader\n#define GL_ARB_compute_shader 1\nGLAPI int GLAD_GL_ARB_compute_shader;\n#endif\n#ifndef GL_ARB_compute_variable_group_size\n#define GL_ARB_compute_variable_group_size 1\nGLAPI int GLAD_GL_ARB_compute_variable_group_size;\ntypedef void (APIENTRYP PFNGLDISPATCHCOMPUTEGROUPSIZEARBPROC)(GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z, GLuint group_size_x, GLuint group_size_y, GLuint group_size_z);\nGLAPI PFNGLDISPATCHCOMPUTEGROUPSIZEARBPROC glad_glDispatchComputeGroupSizeARB;\n#define glDispatchComputeGroupSizeARB glad_glDispatchComputeGroupSizeARB\n#endif\n#ifndef GL_ARB_conditional_render_inverted\n#define GL_ARB_conditional_render_inverted 1\nGLAPI int GLAD_GL_ARB_conditional_render_inverted;\n#endif\n#ifndef GL_ARB_conservative_depth\n#define GL_ARB_conservative_depth 1\nGLAPI int GLAD_GL_ARB_conservative_depth;\n#endif\n#ifndef GL_ARB_copy_buffer\n#define GL_ARB_copy_buffer 1\nGLAPI int GLAD_GL_ARB_copy_buffer;\n#endif\n#ifndef GL_ARB_copy_image\n#define GL_ARB_copy_image 1\nGLAPI int GLAD_GL_ARB_copy_image;\n#endif\n#ifndef GL_ARB_cull_distance\n#define GL_ARB_cull_distance 1\nGLAPI int GLAD_GL_ARB_cull_distance;\n#endif\n#ifndef GL_ARB_debug_output\n#define GL_ARB_debug_output 1\nGLAPI int GLAD_GL_ARB_debug_output;\ntypedef void (APIENTRYP PFNGLDEBUGMESSAGECONTROLARBPROC)(GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);\nGLAPI PFNGLDEBUGMESSAGECONTROLARBPROC glad_glDebugMessageControlARB;\n#define glDebugMessageControlARB glad_glDebugMessageControlARB\ntypedef void (APIENTRYP PFNGLDEBUGMESSAGEINSERTARBPROC)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);\nGLAPI PFNGLDEBUGMESSAGEINSERTARBPROC glad_glDebugMessageInsertARB;\n#define glDebugMessageInsertARB glad_glDebugMessageInsertARB\ntypedef void (APIENTRYP PFNGLDEBUGMESSAGECALLBACKARBPROC)(GLDEBUGPROCARB callback, const void *userParam);\nGLAPI PFNGLDEBUGMESSAGECALLBACKARBPROC glad_glDebugMessageCallbackARB;\n#define glDebugMessageCallbackARB glad_glDebugMessageCallbackARB\ntypedef GLuint (APIENTRYP PFNGLGETDEBUGMESSAGELOGARBPROC)(GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);\nGLAPI PFNGLGETDEBUGMESSAGELOGARBPROC glad_glGetDebugMessageLogARB;\n#define glGetDebugMessageLogARB glad_glGetDebugMessageLogARB\n#endif\n#ifndef GL_ARB_depth_buffer_float\n#define GL_ARB_depth_buffer_float 1\nGLAPI int GLAD_GL_ARB_depth_buffer_float;\n#endif\n#ifndef GL_ARB_depth_clamp\n#define GL_ARB_depth_clamp 1\nGLAPI int GLAD_GL_ARB_depth_clamp;\n#endif\n#ifndef GL_ARB_depth_texture\n#define GL_ARB_depth_texture 1\nGLAPI int GLAD_GL_ARB_depth_texture;\n#endif\n#ifndef GL_ARB_derivative_control\n#define GL_ARB_derivative_control 1\nGLAPI int GLAD_GL_ARB_derivative_control;\n#endif\n#ifndef GL_ARB_direct_state_access\n#define GL_ARB_direct_state_access 1\nGLAPI int GLAD_GL_ARB_direct_state_access;\n#endif\n#ifndef GL_ARB_draw_buffers\n#define GL_ARB_draw_buffers 1\nGLAPI int GLAD_GL_ARB_draw_buffers;\ntypedef void (APIENTRYP PFNGLDRAWBUFFERSARBPROC)(GLsizei n, const GLenum *bufs);\nGLAPI PFNGLDRAWBUFFERSARBPROC glad_glDrawBuffersARB;\n#define glDrawBuffersARB glad_glDrawBuffersARB\n#endif\n#ifndef GL_ARB_draw_buffers_blend\n#define GL_ARB_draw_buffers_blend 1\nGLAPI int GLAD_GL_ARB_draw_buffers_blend;\ntypedef void (APIENTRYP PFNGLBLENDEQUATIONIARBPROC)(GLuint buf, GLenum mode);\nGLAPI PFNGLBLENDEQUATIONIARBPROC glad_glBlendEquationiARB;\n#define glBlendEquationiARB glad_glBlendEquationiARB\ntypedef void (APIENTRYP PFNGLBLENDEQUATIONSEPARATEIARBPROC)(GLuint buf, GLenum modeRGB, GLenum modeAlpha);\nGLAPI PFNGLBLENDEQUATIONSEPARATEIARBPROC glad_glBlendEquationSeparateiARB;\n#define glBlendEquationSeparateiARB glad_glBlendEquationSeparateiARB\ntypedef void (APIENTRYP PFNGLBLENDFUNCIARBPROC)(GLuint buf, GLenum src, GLenum dst);\nGLAPI PFNGLBLENDFUNCIARBPROC glad_glBlendFunciARB;\n#define glBlendFunciARB glad_glBlendFunciARB\ntypedef void (APIENTRYP PFNGLBLENDFUNCSEPARATEIARBPROC)(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);\nGLAPI PFNGLBLENDFUNCSEPARATEIARBPROC glad_glBlendFuncSeparateiARB;\n#define glBlendFuncSeparateiARB glad_glBlendFuncSeparateiARB\n#endif\n#ifndef GL_ARB_draw_elements_base_vertex\n#define GL_ARB_draw_elements_base_vertex 1\nGLAPI int GLAD_GL_ARB_draw_elements_base_vertex;\n#endif\n#ifndef GL_ARB_draw_indirect\n#define GL_ARB_draw_indirect 1\nGLAPI int GLAD_GL_ARB_draw_indirect;\n#endif\n#ifndef GL_ARB_draw_instanced\n#define GL_ARB_draw_instanced 1\nGLAPI int GLAD_GL_ARB_draw_instanced;\ntypedef void (APIENTRYP PFNGLDRAWARRAYSINSTANCEDARBPROC)(GLenum mode, GLint first, GLsizei count, GLsizei primcount);\nGLAPI PFNGLDRAWARRAYSINSTANCEDARBPROC glad_glDrawArraysInstancedARB;\n#define glDrawArraysInstancedARB glad_glDrawArraysInstancedARB\ntypedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDARBPROC)(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);\nGLAPI PFNGLDRAWELEMENTSINSTANCEDARBPROC glad_glDrawElementsInstancedARB;\n#define glDrawElementsInstancedARB glad_glDrawElementsInstancedARB\n#endif\n#ifndef GL_ARB_enhanced_layouts\n#define GL_ARB_enhanced_layouts 1\nGLAPI int GLAD_GL_ARB_enhanced_layouts;\n#endif\n#ifndef GL_ARB_explicit_attrib_location\n#define GL_ARB_explicit_attrib_location 1\nGLAPI int GLAD_GL_ARB_explicit_attrib_location;\n#endif\n#ifndef GL_ARB_explicit_uniform_location\n#define GL_ARB_explicit_uniform_location 1\nGLAPI int GLAD_GL_ARB_explicit_uniform_location;\n#endif\n#ifndef GL_ARB_fragment_coord_conventions\n#define GL_ARB_fragment_coord_conventions 1\nGLAPI int GLAD_GL_ARB_fragment_coord_conventions;\n#endif\n#ifndef GL_ARB_fragment_layer_viewport\n#define GL_ARB_fragment_layer_viewport 1\nGLAPI int GLAD_GL_ARB_fragment_layer_viewport;\n#endif\n#ifndef GL_ARB_fragment_program\n#define GL_ARB_fragment_program 1\nGLAPI int GLAD_GL_ARB_fragment_program;\ntypedef void (APIENTRYP PFNGLPROGRAMSTRINGARBPROC)(GLenum target, GLenum format, GLsizei len, const void *string);\nGLAPI PFNGLPROGRAMSTRINGARBPROC glad_glProgramStringARB;\n#define glProgramStringARB glad_glProgramStringARB\ntypedef void (APIENTRYP PFNGLBINDPROGRAMARBPROC)(GLenum target, GLuint program);\nGLAPI PFNGLBINDPROGRAMARBPROC glad_glBindProgramARB;\n#define glBindProgramARB glad_glBindProgramARB\ntypedef void (APIENTRYP PFNGLDELETEPROGRAMSARBPROC)(GLsizei n, const GLuint *programs);\nGLAPI PFNGLDELETEPROGRAMSARBPROC glad_glDeleteProgramsARB;\n#define glDeleteProgramsARB glad_glDeleteProgramsARB\ntypedef void (APIENTRYP PFNGLGENPROGRAMSARBPROC)(GLsizei n, GLuint *programs);\nGLAPI PFNGLGENPROGRAMSARBPROC glad_glGenProgramsARB;\n#define glGenProgramsARB glad_glGenProgramsARB\ntypedef void (APIENTRYP PFNGLPROGRAMENVPARAMETER4DARBPROC)(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nGLAPI PFNGLPROGRAMENVPARAMETER4DARBPROC glad_glProgramEnvParameter4dARB;\n#define glProgramEnvParameter4dARB glad_glProgramEnvParameter4dARB\ntypedef void (APIENTRYP PFNGLPROGRAMENVPARAMETER4DVARBPROC)(GLenum target, GLuint index, const GLdouble *params);\nGLAPI PFNGLPROGRAMENVPARAMETER4DVARBPROC glad_glProgramEnvParameter4dvARB;\n#define glProgramEnvParameter4dvARB glad_glProgramEnvParameter4dvARB\ntypedef void (APIENTRYP PFNGLPROGRAMENVPARAMETER4FARBPROC)(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nGLAPI PFNGLPROGRAMENVPARAMETER4FARBPROC glad_glProgramEnvParameter4fARB;\n#define glProgramEnvParameter4fARB glad_glProgramEnvParameter4fARB\ntypedef void (APIENTRYP PFNGLPROGRAMENVPARAMETER4FVARBPROC)(GLenum target, GLuint index, const GLfloat *params);\nGLAPI PFNGLPROGRAMENVPARAMETER4FVARBPROC glad_glProgramEnvParameter4fvARB;\n#define glProgramEnvParameter4fvARB glad_glProgramEnvParameter4fvARB\ntypedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETER4DARBPROC)(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nGLAPI PFNGLPROGRAMLOCALPARAMETER4DARBPROC glad_glProgramLocalParameter4dARB;\n#define glProgramLocalParameter4dARB glad_glProgramLocalParameter4dARB\ntypedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETER4DVARBPROC)(GLenum target, GLuint index, const GLdouble *params);\nGLAPI PFNGLPROGRAMLOCALPARAMETER4DVARBPROC glad_glProgramLocalParameter4dvARB;\n#define glProgramLocalParameter4dvARB glad_glProgramLocalParameter4dvARB\ntypedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETER4FARBPROC)(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nGLAPI PFNGLPROGRAMLOCALPARAMETER4FARBPROC glad_glProgramLocalParameter4fARB;\n#define glProgramLocalParameter4fARB glad_glProgramLocalParameter4fARB\ntypedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETER4FVARBPROC)(GLenum target, GLuint index, const GLfloat *params);\nGLAPI PFNGLPROGRAMLOCALPARAMETER4FVARBPROC glad_glProgramLocalParameter4fvARB;\n#define glProgramLocalParameter4fvARB glad_glProgramLocalParameter4fvARB\ntypedef void (APIENTRYP PFNGLGETPROGRAMENVPARAMETERDVARBPROC)(GLenum target, GLuint index, GLdouble *params);\nGLAPI PFNGLGETPROGRAMENVPARAMETERDVARBPROC glad_glGetProgramEnvParameterdvARB;\n#define glGetProgramEnvParameterdvARB glad_glGetProgramEnvParameterdvARB\ntypedef void (APIENTRYP PFNGLGETPROGRAMENVPARAMETERFVARBPROC)(GLenum target, GLuint index, GLfloat *params);\nGLAPI PFNGLGETPROGRAMENVPARAMETERFVARBPROC glad_glGetProgramEnvParameterfvARB;\n#define glGetProgramEnvParameterfvARB glad_glGetProgramEnvParameterfvARB\ntypedef void (APIENTRYP PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC)(GLenum target, GLuint index, GLdouble *params);\nGLAPI PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC glad_glGetProgramLocalParameterdvARB;\n#define glGetProgramLocalParameterdvARB glad_glGetProgramLocalParameterdvARB\ntypedef void (APIENTRYP PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC)(GLenum target, GLuint index, GLfloat *params);\nGLAPI PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC glad_glGetProgramLocalParameterfvARB;\n#define glGetProgramLocalParameterfvARB glad_glGetProgramLocalParameterfvARB\ntypedef void (APIENTRYP PFNGLGETPROGRAMIVARBPROC)(GLenum target, GLenum pname, GLint *params);\nGLAPI PFNGLGETPROGRAMIVARBPROC glad_glGetProgramivARB;\n#define glGetProgramivARB glad_glGetProgramivARB\ntypedef void (APIENTRYP PFNGLGETPROGRAMSTRINGARBPROC)(GLenum target, GLenum pname, void *string);\nGLAPI PFNGLGETPROGRAMSTRINGARBPROC glad_glGetProgramStringARB;\n#define glGetProgramStringARB glad_glGetProgramStringARB\ntypedef GLboolean (APIENTRYP PFNGLISPROGRAMARBPROC)(GLuint program);\nGLAPI PFNGLISPROGRAMARBPROC glad_glIsProgramARB;\n#define glIsProgramARB glad_glIsProgramARB\n#endif\n#ifndef GL_ARB_fragment_program_shadow\n#define GL_ARB_fragment_program_shadow 1\nGLAPI int GLAD_GL_ARB_fragment_program_shadow;\n#endif\n#ifndef GL_ARB_fragment_shader\n#define GL_ARB_fragment_shader 1\nGLAPI int GLAD_GL_ARB_fragment_shader;\n#endif\n#ifndef GL_ARB_fragment_shader_interlock\n#define GL_ARB_fragment_shader_interlock 1\nGLAPI int GLAD_GL_ARB_fragment_shader_interlock;\n#endif\n#ifndef GL_ARB_framebuffer_no_attachments\n#define GL_ARB_framebuffer_no_attachments 1\nGLAPI int GLAD_GL_ARB_framebuffer_no_attachments;\n#endif\n#ifndef GL_ARB_framebuffer_object\n#define GL_ARB_framebuffer_object 1\nGLAPI int GLAD_GL_ARB_framebuffer_object;\n#endif\n#ifndef GL_ARB_framebuffer_sRGB\n#define GL_ARB_framebuffer_sRGB 1\nGLAPI int GLAD_GL_ARB_framebuffer_sRGB;\n#endif\n#ifndef GL_ARB_geometry_shader4\n#define GL_ARB_geometry_shader4 1\nGLAPI int GLAD_GL_ARB_geometry_shader4;\ntypedef void (APIENTRYP PFNGLPROGRAMPARAMETERIARBPROC)(GLuint program, GLenum pname, GLint value);\nGLAPI PFNGLPROGRAMPARAMETERIARBPROC glad_glProgramParameteriARB;\n#define glProgramParameteriARB glad_glProgramParameteriARB\ntypedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTUREARBPROC)(GLenum target, GLenum attachment, GLuint texture, GLint level);\nGLAPI PFNGLFRAMEBUFFERTEXTUREARBPROC glad_glFramebufferTextureARB;\n#define glFramebufferTextureARB glad_glFramebufferTextureARB\ntypedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURELAYERARBPROC)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);\nGLAPI PFNGLFRAMEBUFFERTEXTURELAYERARBPROC glad_glFramebufferTextureLayerARB;\n#define glFramebufferTextureLayerARB glad_glFramebufferTextureLayerARB\ntypedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTUREFACEARBPROC)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face);\nGLAPI PFNGLFRAMEBUFFERTEXTUREFACEARBPROC glad_glFramebufferTextureFaceARB;\n#define glFramebufferTextureFaceARB glad_glFramebufferTextureFaceARB\n#endif\n#ifndef GL_ARB_get_program_binary\n#define GL_ARB_get_program_binary 1\nGLAPI int GLAD_GL_ARB_get_program_binary;\n#endif\n#ifndef GL_ARB_get_texture_sub_image\n#define GL_ARB_get_texture_sub_image 1\nGLAPI int GLAD_GL_ARB_get_texture_sub_image;\n#endif\n#ifndef GL_ARB_gl_spirv\n#define GL_ARB_gl_spirv 1\nGLAPI int GLAD_GL_ARB_gl_spirv;\ntypedef void (APIENTRYP PFNGLSPECIALIZESHADERARBPROC)(GLuint shader, const GLchar *pEntryPoint, GLuint numSpecializationConstants, const GLuint *pConstantIndex, const GLuint *pConstantValue);\nGLAPI PFNGLSPECIALIZESHADERARBPROC glad_glSpecializeShaderARB;\n#define glSpecializeShaderARB glad_glSpecializeShaderARB\n#endif\n#ifndef GL_ARB_gpu_shader5\n#define GL_ARB_gpu_shader5 1\nGLAPI int GLAD_GL_ARB_gpu_shader5;\n#endif\n#ifndef GL_ARB_gpu_shader_fp64\n#define GL_ARB_gpu_shader_fp64 1\nGLAPI int GLAD_GL_ARB_gpu_shader_fp64;\n#endif\n#ifndef GL_ARB_gpu_shader_int64\n#define GL_ARB_gpu_shader_int64 1\nGLAPI int GLAD_GL_ARB_gpu_shader_int64;\ntypedef void (APIENTRYP PFNGLUNIFORM1I64ARBPROC)(GLint location, GLint64 x);\nGLAPI PFNGLUNIFORM1I64ARBPROC glad_glUniform1i64ARB;\n#define glUniform1i64ARB glad_glUniform1i64ARB\ntypedef void (APIENTRYP PFNGLUNIFORM2I64ARBPROC)(GLint location, GLint64 x, GLint64 y);\nGLAPI PFNGLUNIFORM2I64ARBPROC glad_glUniform2i64ARB;\n#define glUniform2i64ARB glad_glUniform2i64ARB\ntypedef void (APIENTRYP PFNGLUNIFORM3I64ARBPROC)(GLint location, GLint64 x, GLint64 y, GLint64 z);\nGLAPI PFNGLUNIFORM3I64ARBPROC glad_glUniform3i64ARB;\n#define glUniform3i64ARB glad_glUniform3i64ARB\ntypedef void (APIENTRYP PFNGLUNIFORM4I64ARBPROC)(GLint location, GLint64 x, GLint64 y, GLint64 z, GLint64 w);\nGLAPI PFNGLUNIFORM4I64ARBPROC glad_glUniform4i64ARB;\n#define glUniform4i64ARB glad_glUniform4i64ARB\ntypedef void (APIENTRYP PFNGLUNIFORM1I64VARBPROC)(GLint location, GLsizei count, const GLint64 *value);\nGLAPI PFNGLUNIFORM1I64VARBPROC glad_glUniform1i64vARB;\n#define glUniform1i64vARB glad_glUniform1i64vARB\ntypedef void (APIENTRYP PFNGLUNIFORM2I64VARBPROC)(GLint location, GLsizei count, const GLint64 *value);\nGLAPI PFNGLUNIFORM2I64VARBPROC glad_glUniform2i64vARB;\n#define glUniform2i64vARB glad_glUniform2i64vARB\ntypedef void (APIENTRYP PFNGLUNIFORM3I64VARBPROC)(GLint location, GLsizei count, const GLint64 *value);\nGLAPI PFNGLUNIFORM3I64VARBPROC glad_glUniform3i64vARB;\n#define glUniform3i64vARB glad_glUniform3i64vARB\ntypedef void (APIENTRYP PFNGLUNIFORM4I64VARBPROC)(GLint location, GLsizei count, const GLint64 *value);\nGLAPI PFNGLUNIFORM4I64VARBPROC glad_glUniform4i64vARB;\n#define glUniform4i64vARB glad_glUniform4i64vARB\ntypedef void (APIENTRYP PFNGLUNIFORM1UI64ARBPROC)(GLint location, GLuint64 x);\nGLAPI PFNGLUNIFORM1UI64ARBPROC glad_glUniform1ui64ARB;\n#define glUniform1ui64ARB glad_glUniform1ui64ARB\ntypedef void (APIENTRYP PFNGLUNIFORM2UI64ARBPROC)(GLint location, GLuint64 x, GLuint64 y);\nGLAPI PFNGLUNIFORM2UI64ARBPROC glad_glUniform2ui64ARB;\n#define glUniform2ui64ARB glad_glUniform2ui64ARB\ntypedef void (APIENTRYP PFNGLUNIFORM3UI64ARBPROC)(GLint location, GLuint64 x, GLuint64 y, GLuint64 z);\nGLAPI PFNGLUNIFORM3UI64ARBPROC glad_glUniform3ui64ARB;\n#define glUniform3ui64ARB glad_glUniform3ui64ARB\ntypedef void (APIENTRYP PFNGLUNIFORM4UI64ARBPROC)(GLint location, GLuint64 x, GLuint64 y, GLuint64 z, GLuint64 w);\nGLAPI PFNGLUNIFORM4UI64ARBPROC glad_glUniform4ui64ARB;\n#define glUniform4ui64ARB glad_glUniform4ui64ARB\ntypedef void (APIENTRYP PFNGLUNIFORM1UI64VARBPROC)(GLint location, GLsizei count, const GLuint64 *value);\nGLAPI PFNGLUNIFORM1UI64VARBPROC glad_glUniform1ui64vARB;\n#define glUniform1ui64vARB glad_glUniform1ui64vARB\ntypedef void (APIENTRYP PFNGLUNIFORM2UI64VARBPROC)(GLint location, GLsizei count, const GLuint64 *value);\nGLAPI PFNGLUNIFORM2UI64VARBPROC glad_glUniform2ui64vARB;\n#define glUniform2ui64vARB glad_glUniform2ui64vARB\ntypedef void (APIENTRYP PFNGLUNIFORM3UI64VARBPROC)(GLint location, GLsizei count, const GLuint64 *value);\nGLAPI PFNGLUNIFORM3UI64VARBPROC glad_glUniform3ui64vARB;\n#define glUniform3ui64vARB glad_glUniform3ui64vARB\ntypedef void (APIENTRYP PFNGLUNIFORM4UI64VARBPROC)(GLint location, GLsizei count, const GLuint64 *value);\nGLAPI PFNGLUNIFORM4UI64VARBPROC glad_glUniform4ui64vARB;\n#define glUniform4ui64vARB glad_glUniform4ui64vARB\ntypedef void (APIENTRYP PFNGLGETUNIFORMI64VARBPROC)(GLuint program, GLint location, GLint64 *params);\nGLAPI PFNGLGETUNIFORMI64VARBPROC glad_glGetUniformi64vARB;\n#define glGetUniformi64vARB glad_glGetUniformi64vARB\ntypedef void (APIENTRYP PFNGLGETUNIFORMUI64VARBPROC)(GLuint program, GLint location, GLuint64 *params);\nGLAPI PFNGLGETUNIFORMUI64VARBPROC glad_glGetUniformui64vARB;\n#define glGetUniformui64vARB glad_glGetUniformui64vARB\ntypedef void (APIENTRYP PFNGLGETNUNIFORMI64VARBPROC)(GLuint program, GLint location, GLsizei bufSize, GLint64 *params);\nGLAPI PFNGLGETNUNIFORMI64VARBPROC glad_glGetnUniformi64vARB;\n#define glGetnUniformi64vARB glad_glGetnUniformi64vARB\ntypedef void (APIENTRYP PFNGLGETNUNIFORMUI64VARBPROC)(GLuint program, GLint location, GLsizei bufSize, GLuint64 *params);\nGLAPI PFNGLGETNUNIFORMUI64VARBPROC glad_glGetnUniformui64vARB;\n#define glGetnUniformui64vARB glad_glGetnUniformui64vARB\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM1I64ARBPROC)(GLuint program, GLint location, GLint64 x);\nGLAPI PFNGLPROGRAMUNIFORM1I64ARBPROC glad_glProgramUniform1i64ARB;\n#define glProgramUniform1i64ARB glad_glProgramUniform1i64ARB\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM2I64ARBPROC)(GLuint program, GLint location, GLint64 x, GLint64 y);\nGLAPI PFNGLPROGRAMUNIFORM2I64ARBPROC glad_glProgramUniform2i64ARB;\n#define glProgramUniform2i64ARB glad_glProgramUniform2i64ARB\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM3I64ARBPROC)(GLuint program, GLint location, GLint64 x, GLint64 y, GLint64 z);\nGLAPI PFNGLPROGRAMUNIFORM3I64ARBPROC glad_glProgramUniform3i64ARB;\n#define glProgramUniform3i64ARB glad_glProgramUniform3i64ARB\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM4I64ARBPROC)(GLuint program, GLint location, GLint64 x, GLint64 y, GLint64 z, GLint64 w);\nGLAPI PFNGLPROGRAMUNIFORM4I64ARBPROC glad_glProgramUniform4i64ARB;\n#define glProgramUniform4i64ARB glad_glProgramUniform4i64ARB\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM1I64VARBPROC)(GLuint program, GLint location, GLsizei count, const GLint64 *value);\nGLAPI PFNGLPROGRAMUNIFORM1I64VARBPROC glad_glProgramUniform1i64vARB;\n#define glProgramUniform1i64vARB glad_glProgramUniform1i64vARB\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM2I64VARBPROC)(GLuint program, GLint location, GLsizei count, const GLint64 *value);\nGLAPI PFNGLPROGRAMUNIFORM2I64VARBPROC glad_glProgramUniform2i64vARB;\n#define glProgramUniform2i64vARB glad_glProgramUniform2i64vARB\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM3I64VARBPROC)(GLuint program, GLint location, GLsizei count, const GLint64 *value);\nGLAPI PFNGLPROGRAMUNIFORM3I64VARBPROC glad_glProgramUniform3i64vARB;\n#define glProgramUniform3i64vARB glad_glProgramUniform3i64vARB\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM4I64VARBPROC)(GLuint program, GLint location, GLsizei count, const GLint64 *value);\nGLAPI PFNGLPROGRAMUNIFORM4I64VARBPROC glad_glProgramUniform4i64vARB;\n#define glProgramUniform4i64vARB glad_glProgramUniform4i64vARB\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM1UI64ARBPROC)(GLuint program, GLint location, GLuint64 x);\nGLAPI PFNGLPROGRAMUNIFORM1UI64ARBPROC glad_glProgramUniform1ui64ARB;\n#define glProgramUniform1ui64ARB glad_glProgramUniform1ui64ARB\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM2UI64ARBPROC)(GLuint program, GLint location, GLuint64 x, GLuint64 y);\nGLAPI PFNGLPROGRAMUNIFORM2UI64ARBPROC glad_glProgramUniform2ui64ARB;\n#define glProgramUniform2ui64ARB glad_glProgramUniform2ui64ARB\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM3UI64ARBPROC)(GLuint program, GLint location, GLuint64 x, GLuint64 y, GLuint64 z);\nGLAPI PFNGLPROGRAMUNIFORM3UI64ARBPROC glad_glProgramUniform3ui64ARB;\n#define glProgramUniform3ui64ARB glad_glProgramUniform3ui64ARB\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM4UI64ARBPROC)(GLuint program, GLint location, GLuint64 x, GLuint64 y, GLuint64 z, GLuint64 w);\nGLAPI PFNGLPROGRAMUNIFORM4UI64ARBPROC glad_glProgramUniform4ui64ARB;\n#define glProgramUniform4ui64ARB glad_glProgramUniform4ui64ARB\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM1UI64VARBPROC)(GLuint program, GLint location, GLsizei count, const GLuint64 *value);\nGLAPI PFNGLPROGRAMUNIFORM1UI64VARBPROC glad_glProgramUniform1ui64vARB;\n#define glProgramUniform1ui64vARB glad_glProgramUniform1ui64vARB\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM2UI64VARBPROC)(GLuint program, GLint location, GLsizei count, const GLuint64 *value);\nGLAPI PFNGLPROGRAMUNIFORM2UI64VARBPROC glad_glProgramUniform2ui64vARB;\n#define glProgramUniform2ui64vARB glad_glProgramUniform2ui64vARB\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM3UI64VARBPROC)(GLuint program, GLint location, GLsizei count, const GLuint64 *value);\nGLAPI PFNGLPROGRAMUNIFORM3UI64VARBPROC glad_glProgramUniform3ui64vARB;\n#define glProgramUniform3ui64vARB glad_glProgramUniform3ui64vARB\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM4UI64VARBPROC)(GLuint program, GLint location, GLsizei count, const GLuint64 *value);\nGLAPI PFNGLPROGRAMUNIFORM4UI64VARBPROC glad_glProgramUniform4ui64vARB;\n#define glProgramUniform4ui64vARB glad_glProgramUniform4ui64vARB\n#endif\n#ifndef GL_ARB_half_float_pixel\n#define GL_ARB_half_float_pixel 1\nGLAPI int GLAD_GL_ARB_half_float_pixel;\n#endif\n#ifndef GL_ARB_half_float_vertex\n#define GL_ARB_half_float_vertex 1\nGLAPI int GLAD_GL_ARB_half_float_vertex;\n#endif\n#ifndef GL_ARB_imaging\n#define GL_ARB_imaging 1\nGLAPI int GLAD_GL_ARB_imaging;\ntypedef void (APIENTRYP PFNGLCOLORTABLEPROC)(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const void *table);\nGLAPI PFNGLCOLORTABLEPROC glad_glColorTable;\n#define glColorTable glad_glColorTable\ntypedef void (APIENTRYP PFNGLCOLORTABLEPARAMETERFVPROC)(GLenum target, GLenum pname, const GLfloat *params);\nGLAPI PFNGLCOLORTABLEPARAMETERFVPROC glad_glColorTableParameterfv;\n#define glColorTableParameterfv glad_glColorTableParameterfv\ntypedef void (APIENTRYP PFNGLCOLORTABLEPARAMETERIVPROC)(GLenum target, GLenum pname, const GLint *params);\nGLAPI PFNGLCOLORTABLEPARAMETERIVPROC glad_glColorTableParameteriv;\n#define glColorTableParameteriv glad_glColorTableParameteriv\ntypedef void (APIENTRYP PFNGLCOPYCOLORTABLEPROC)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);\nGLAPI PFNGLCOPYCOLORTABLEPROC glad_glCopyColorTable;\n#define glCopyColorTable glad_glCopyColorTable\ntypedef void (APIENTRYP PFNGLGETCOLORTABLEPROC)(GLenum target, GLenum format, GLenum type, void *table);\nGLAPI PFNGLGETCOLORTABLEPROC glad_glGetColorTable;\n#define glGetColorTable glad_glGetColorTable\ntypedef void (APIENTRYP PFNGLGETCOLORTABLEPARAMETERFVPROC)(GLenum target, GLenum pname, GLfloat *params);\nGLAPI PFNGLGETCOLORTABLEPARAMETERFVPROC glad_glGetColorTableParameterfv;\n#define glGetColorTableParameterfv glad_glGetColorTableParameterfv\ntypedef void (APIENTRYP PFNGLGETCOLORTABLEPARAMETERIVPROC)(GLenum target, GLenum pname, GLint *params);\nGLAPI PFNGLGETCOLORTABLEPARAMETERIVPROC glad_glGetColorTableParameteriv;\n#define glGetColorTableParameteriv glad_glGetColorTableParameteriv\ntypedef void (APIENTRYP PFNGLCOLORSUBTABLEPROC)(GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const void *data);\nGLAPI PFNGLCOLORSUBTABLEPROC glad_glColorSubTable;\n#define glColorSubTable glad_glColorSubTable\ntypedef void (APIENTRYP PFNGLCOPYCOLORSUBTABLEPROC)(GLenum target, GLsizei start, GLint x, GLint y, GLsizei width);\nGLAPI PFNGLCOPYCOLORSUBTABLEPROC glad_glCopyColorSubTable;\n#define glCopyColorSubTable glad_glCopyColorSubTable\ntypedef void (APIENTRYP PFNGLCONVOLUTIONFILTER1DPROC)(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const void *image);\nGLAPI PFNGLCONVOLUTIONFILTER1DPROC glad_glConvolutionFilter1D;\n#define glConvolutionFilter1D glad_glConvolutionFilter1D\ntypedef void (APIENTRYP PFNGLCONVOLUTIONFILTER2DPROC)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *image);\nGLAPI PFNGLCONVOLUTIONFILTER2DPROC glad_glConvolutionFilter2D;\n#define glConvolutionFilter2D glad_glConvolutionFilter2D\ntypedef void (APIENTRYP PFNGLCONVOLUTIONPARAMETERFPROC)(GLenum target, GLenum pname, GLfloat params);\nGLAPI PFNGLCONVOLUTIONPARAMETERFPROC glad_glConvolutionParameterf;\n#define glConvolutionParameterf glad_glConvolutionParameterf\ntypedef void (APIENTRYP PFNGLCONVOLUTIONPARAMETERFVPROC)(GLenum target, GLenum pname, const GLfloat *params);\nGLAPI PFNGLCONVOLUTIONPARAMETERFVPROC glad_glConvolutionParameterfv;\n#define glConvolutionParameterfv glad_glConvolutionParameterfv\ntypedef void (APIENTRYP PFNGLCONVOLUTIONPARAMETERIPROC)(GLenum target, GLenum pname, GLint params);\nGLAPI PFNGLCONVOLUTIONPARAMETERIPROC glad_glConvolutionParameteri;\n#define glConvolutionParameteri glad_glConvolutionParameteri\ntypedef void (APIENTRYP PFNGLCONVOLUTIONPARAMETERIVPROC)(GLenum target, GLenum pname, const GLint *params);\nGLAPI PFNGLCONVOLUTIONPARAMETERIVPROC glad_glConvolutionParameteriv;\n#define glConvolutionParameteriv glad_glConvolutionParameteriv\ntypedef void (APIENTRYP PFNGLCOPYCONVOLUTIONFILTER1DPROC)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);\nGLAPI PFNGLCOPYCONVOLUTIONFILTER1DPROC glad_glCopyConvolutionFilter1D;\n#define glCopyConvolutionFilter1D glad_glCopyConvolutionFilter1D\ntypedef void (APIENTRYP PFNGLCOPYCONVOLUTIONFILTER2DPROC)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height);\nGLAPI PFNGLCOPYCONVOLUTIONFILTER2DPROC glad_glCopyConvolutionFilter2D;\n#define glCopyConvolutionFilter2D glad_glCopyConvolutionFilter2D\ntypedef void (APIENTRYP PFNGLGETCONVOLUTIONFILTERPROC)(GLenum target, GLenum format, GLenum type, void *image);\nGLAPI PFNGLGETCONVOLUTIONFILTERPROC glad_glGetConvolutionFilter;\n#define glGetConvolutionFilter glad_glGetConvolutionFilter\ntypedef void (APIENTRYP PFNGLGETCONVOLUTIONPARAMETERFVPROC)(GLenum target, GLenum pname, GLfloat *params);\nGLAPI PFNGLGETCONVOLUTIONPARAMETERFVPROC glad_glGetConvolutionParameterfv;\n#define glGetConvolutionParameterfv glad_glGetConvolutionParameterfv\ntypedef void (APIENTRYP PFNGLGETCONVOLUTIONPARAMETERIVPROC)(GLenum target, GLenum pname, GLint *params);\nGLAPI PFNGLGETCONVOLUTIONPARAMETERIVPROC glad_glGetConvolutionParameteriv;\n#define glGetConvolutionParameteriv glad_glGetConvolutionParameteriv\ntypedef void (APIENTRYP PFNGLGETSEPARABLEFILTERPROC)(GLenum target, GLenum format, GLenum type, void *row, void *column, void *span);\nGLAPI PFNGLGETSEPARABLEFILTERPROC glad_glGetSeparableFilter;\n#define glGetSeparableFilter glad_glGetSeparableFilter\ntypedef void (APIENTRYP PFNGLSEPARABLEFILTER2DPROC)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *row, const void *column);\nGLAPI PFNGLSEPARABLEFILTER2DPROC glad_glSeparableFilter2D;\n#define glSeparableFilter2D glad_glSeparableFilter2D\ntypedef void (APIENTRYP PFNGLGETHISTOGRAMPROC)(GLenum target, GLboolean reset, GLenum format, GLenum type, void *values);\nGLAPI PFNGLGETHISTOGRAMPROC glad_glGetHistogram;\n#define glGetHistogram glad_glGetHistogram\ntypedef void (APIENTRYP PFNGLGETHISTOGRAMPARAMETERFVPROC)(GLenum target, GLenum pname, GLfloat *params);\nGLAPI PFNGLGETHISTOGRAMPARAMETERFVPROC glad_glGetHistogramParameterfv;\n#define glGetHistogramParameterfv glad_glGetHistogramParameterfv\ntypedef void (APIENTRYP PFNGLGETHISTOGRAMPARAMETERIVPROC)(GLenum target, GLenum pname, GLint *params);\nGLAPI PFNGLGETHISTOGRAMPARAMETERIVPROC glad_glGetHistogramParameteriv;\n#define glGetHistogramParameteriv glad_glGetHistogramParameteriv\ntypedef void (APIENTRYP PFNGLGETMINMAXPROC)(GLenum target, GLboolean reset, GLenum format, GLenum type, void *values);\nGLAPI PFNGLGETMINMAXPROC glad_glGetMinmax;\n#define glGetMinmax glad_glGetMinmax\ntypedef void (APIENTRYP PFNGLGETMINMAXPARAMETERFVPROC)(GLenum target, GLenum pname, GLfloat *params);\nGLAPI PFNGLGETMINMAXPARAMETERFVPROC glad_glGetMinmaxParameterfv;\n#define glGetMinmaxParameterfv glad_glGetMinmaxParameterfv\ntypedef void (APIENTRYP PFNGLGETMINMAXPARAMETERIVPROC)(GLenum target, GLenum pname, GLint *params);\nGLAPI PFNGLGETMINMAXPARAMETERIVPROC glad_glGetMinmaxParameteriv;\n#define glGetMinmaxParameteriv glad_glGetMinmaxParameteriv\ntypedef void (APIENTRYP PFNGLHISTOGRAMPROC)(GLenum target, GLsizei width, GLenum internalformat, GLboolean sink);\nGLAPI PFNGLHISTOGRAMPROC glad_glHistogram;\n#define glHistogram glad_glHistogram\ntypedef void (APIENTRYP PFNGLMINMAXPROC)(GLenum target, GLenum internalformat, GLboolean sink);\nGLAPI PFNGLMINMAXPROC glad_glMinmax;\n#define glMinmax glad_glMinmax\ntypedef void (APIENTRYP PFNGLRESETHISTOGRAMPROC)(GLenum target);\nGLAPI PFNGLRESETHISTOGRAMPROC glad_glResetHistogram;\n#define glResetHistogram glad_glResetHistogram\ntypedef void (APIENTRYP PFNGLRESETMINMAXPROC)(GLenum target);\nGLAPI PFNGLRESETMINMAXPROC glad_glResetMinmax;\n#define glResetMinmax glad_glResetMinmax\n#endif\n#ifndef GL_ARB_indirect_parameters\n#define GL_ARB_indirect_parameters 1\nGLAPI int GLAD_GL_ARB_indirect_parameters;\ntypedef void (APIENTRYP PFNGLMULTIDRAWARRAYSINDIRECTCOUNTARBPROC)(GLenum mode, const void *indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride);\nGLAPI PFNGLMULTIDRAWARRAYSINDIRECTCOUNTARBPROC glad_glMultiDrawArraysIndirectCountARB;\n#define glMultiDrawArraysIndirectCountARB glad_glMultiDrawArraysIndirectCountARB\ntypedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSINDIRECTCOUNTARBPROC)(GLenum mode, GLenum type, const void *indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride);\nGLAPI PFNGLMULTIDRAWELEMENTSINDIRECTCOUNTARBPROC glad_glMultiDrawElementsIndirectCountARB;\n#define glMultiDrawElementsIndirectCountARB glad_glMultiDrawElementsIndirectCountARB\n#endif\n#ifndef GL_ARB_instanced_arrays\n#define GL_ARB_instanced_arrays 1\nGLAPI int GLAD_GL_ARB_instanced_arrays;\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBDIVISORARBPROC)(GLuint index, GLuint divisor);\nGLAPI PFNGLVERTEXATTRIBDIVISORARBPROC glad_glVertexAttribDivisorARB;\n#define glVertexAttribDivisorARB glad_glVertexAttribDivisorARB\n#endif\n#ifndef GL_ARB_internalformat_query\n#define GL_ARB_internalformat_query 1\nGLAPI int GLAD_GL_ARB_internalformat_query;\n#endif\n#ifndef GL_ARB_internalformat_query2\n#define GL_ARB_internalformat_query2 1\nGLAPI int GLAD_GL_ARB_internalformat_query2;\n#endif\n#ifndef GL_ARB_invalidate_subdata\n#define GL_ARB_invalidate_subdata 1\nGLAPI int GLAD_GL_ARB_invalidate_subdata;\n#endif\n#ifndef GL_ARB_map_buffer_alignment\n#define GL_ARB_map_buffer_alignment 1\nGLAPI int GLAD_GL_ARB_map_buffer_alignment;\n#endif\n#ifndef GL_ARB_map_buffer_range\n#define GL_ARB_map_buffer_range 1\nGLAPI int GLAD_GL_ARB_map_buffer_range;\n#endif\n#ifndef GL_ARB_matrix_palette\n#define GL_ARB_matrix_palette 1\nGLAPI int GLAD_GL_ARB_matrix_palette;\ntypedef void (APIENTRYP PFNGLCURRENTPALETTEMATRIXARBPROC)(GLint index);\nGLAPI PFNGLCURRENTPALETTEMATRIXARBPROC glad_glCurrentPaletteMatrixARB;\n#define glCurrentPaletteMatrixARB glad_glCurrentPaletteMatrixARB\ntypedef void (APIENTRYP PFNGLMATRIXINDEXUBVARBPROC)(GLint size, const GLubyte *indices);\nGLAPI PFNGLMATRIXINDEXUBVARBPROC glad_glMatrixIndexubvARB;\n#define glMatrixIndexubvARB glad_glMatrixIndexubvARB\ntypedef void (APIENTRYP PFNGLMATRIXINDEXUSVARBPROC)(GLint size, const GLushort *indices);\nGLAPI PFNGLMATRIXINDEXUSVARBPROC glad_glMatrixIndexusvARB;\n#define glMatrixIndexusvARB glad_glMatrixIndexusvARB\ntypedef void (APIENTRYP PFNGLMATRIXINDEXUIVARBPROC)(GLint size, const GLuint *indices);\nGLAPI PFNGLMATRIXINDEXUIVARBPROC glad_glMatrixIndexuivARB;\n#define glMatrixIndexuivARB glad_glMatrixIndexuivARB\ntypedef void (APIENTRYP PFNGLMATRIXINDEXPOINTERARBPROC)(GLint size, GLenum type, GLsizei stride, const void *pointer);\nGLAPI PFNGLMATRIXINDEXPOINTERARBPROC glad_glMatrixIndexPointerARB;\n#define glMatrixIndexPointerARB glad_glMatrixIndexPointerARB\n#endif\n#ifndef GL_ARB_multi_bind\n#define GL_ARB_multi_bind 1\nGLAPI int GLAD_GL_ARB_multi_bind;\n#endif\n#ifndef GL_ARB_multi_draw_indirect\n#define GL_ARB_multi_draw_indirect 1\nGLAPI int GLAD_GL_ARB_multi_draw_indirect;\n#endif\n#ifndef GL_ARB_multisample\n#define GL_ARB_multisample 1\nGLAPI int GLAD_GL_ARB_multisample;\ntypedef void (APIENTRYP PFNGLSAMPLECOVERAGEARBPROC)(GLfloat value, GLboolean invert);\nGLAPI PFNGLSAMPLECOVERAGEARBPROC glad_glSampleCoverageARB;\n#define glSampleCoverageARB glad_glSampleCoverageARB\n#endif\n#ifndef GL_ARB_multitexture\n#define GL_ARB_multitexture 1\nGLAPI int GLAD_GL_ARB_multitexture;\ntypedef void (APIENTRYP PFNGLACTIVETEXTUREARBPROC)(GLenum texture);\nGLAPI PFNGLACTIVETEXTUREARBPROC glad_glActiveTextureARB;\n#define glActiveTextureARB glad_glActiveTextureARB\ntypedef void (APIENTRYP PFNGLCLIENTACTIVETEXTUREARBPROC)(GLenum texture);\nGLAPI PFNGLCLIENTACTIVETEXTUREARBPROC glad_glClientActiveTextureARB;\n#define glClientActiveTextureARB glad_glClientActiveTextureARB\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD1DARBPROC)(GLenum target, GLdouble s);\nGLAPI PFNGLMULTITEXCOORD1DARBPROC glad_glMultiTexCoord1dARB;\n#define glMultiTexCoord1dARB glad_glMultiTexCoord1dARB\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD1DVARBPROC)(GLenum target, const GLdouble *v);\nGLAPI PFNGLMULTITEXCOORD1DVARBPROC glad_glMultiTexCoord1dvARB;\n#define glMultiTexCoord1dvARB glad_glMultiTexCoord1dvARB\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD1FARBPROC)(GLenum target, GLfloat s);\nGLAPI PFNGLMULTITEXCOORD1FARBPROC glad_glMultiTexCoord1fARB;\n#define glMultiTexCoord1fARB glad_glMultiTexCoord1fARB\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD1FVARBPROC)(GLenum target, const GLfloat *v);\nGLAPI PFNGLMULTITEXCOORD1FVARBPROC glad_glMultiTexCoord1fvARB;\n#define glMultiTexCoord1fvARB glad_glMultiTexCoord1fvARB\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD1IARBPROC)(GLenum target, GLint s);\nGLAPI PFNGLMULTITEXCOORD1IARBPROC glad_glMultiTexCoord1iARB;\n#define glMultiTexCoord1iARB glad_glMultiTexCoord1iARB\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD1IVARBPROC)(GLenum target, const GLint *v);\nGLAPI PFNGLMULTITEXCOORD1IVARBPROC glad_glMultiTexCoord1ivARB;\n#define glMultiTexCoord1ivARB glad_glMultiTexCoord1ivARB\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD1SARBPROC)(GLenum target, GLshort s);\nGLAPI PFNGLMULTITEXCOORD1SARBPROC glad_glMultiTexCoord1sARB;\n#define glMultiTexCoord1sARB glad_glMultiTexCoord1sARB\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD1SVARBPROC)(GLenum target, const GLshort *v);\nGLAPI PFNGLMULTITEXCOORD1SVARBPROC glad_glMultiTexCoord1svARB;\n#define glMultiTexCoord1svARB glad_glMultiTexCoord1svARB\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD2DARBPROC)(GLenum target, GLdouble s, GLdouble t);\nGLAPI PFNGLMULTITEXCOORD2DARBPROC glad_glMultiTexCoord2dARB;\n#define glMultiTexCoord2dARB glad_glMultiTexCoord2dARB\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD2DVARBPROC)(GLenum target, const GLdouble *v);\nGLAPI PFNGLMULTITEXCOORD2DVARBPROC glad_glMultiTexCoord2dvARB;\n#define glMultiTexCoord2dvARB glad_glMultiTexCoord2dvARB\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD2FARBPROC)(GLenum target, GLfloat s, GLfloat t);\nGLAPI PFNGLMULTITEXCOORD2FARBPROC glad_glMultiTexCoord2fARB;\n#define glMultiTexCoord2fARB glad_glMultiTexCoord2fARB\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD2FVARBPROC)(GLenum target, const GLfloat *v);\nGLAPI PFNGLMULTITEXCOORD2FVARBPROC glad_glMultiTexCoord2fvARB;\n#define glMultiTexCoord2fvARB glad_glMultiTexCoord2fvARB\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD2IARBPROC)(GLenum target, GLint s, GLint t);\nGLAPI PFNGLMULTITEXCOORD2IARBPROC glad_glMultiTexCoord2iARB;\n#define glMultiTexCoord2iARB glad_glMultiTexCoord2iARB\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD2IVARBPROC)(GLenum target, const GLint *v);\nGLAPI PFNGLMULTITEXCOORD2IVARBPROC glad_glMultiTexCoord2ivARB;\n#define glMultiTexCoord2ivARB glad_glMultiTexCoord2ivARB\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD2SARBPROC)(GLenum target, GLshort s, GLshort t);\nGLAPI PFNGLMULTITEXCOORD2SARBPROC glad_glMultiTexCoord2sARB;\n#define glMultiTexCoord2sARB glad_glMultiTexCoord2sARB\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD2SVARBPROC)(GLenum target, const GLshort *v);\nGLAPI PFNGLMULTITEXCOORD2SVARBPROC glad_glMultiTexCoord2svARB;\n#define glMultiTexCoord2svARB glad_glMultiTexCoord2svARB\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD3DARBPROC)(GLenum target, GLdouble s, GLdouble t, GLdouble r);\nGLAPI PFNGLMULTITEXCOORD3DARBPROC glad_glMultiTexCoord3dARB;\n#define glMultiTexCoord3dARB glad_glMultiTexCoord3dARB\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD3DVARBPROC)(GLenum target, const GLdouble *v);\nGLAPI PFNGLMULTITEXCOORD3DVARBPROC glad_glMultiTexCoord3dvARB;\n#define glMultiTexCoord3dvARB glad_glMultiTexCoord3dvARB\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD3FARBPROC)(GLenum target, GLfloat s, GLfloat t, GLfloat r);\nGLAPI PFNGLMULTITEXCOORD3FARBPROC glad_glMultiTexCoord3fARB;\n#define glMultiTexCoord3fARB glad_glMultiTexCoord3fARB\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD3FVARBPROC)(GLenum target, const GLfloat *v);\nGLAPI PFNGLMULTITEXCOORD3FVARBPROC glad_glMultiTexCoord3fvARB;\n#define glMultiTexCoord3fvARB glad_glMultiTexCoord3fvARB\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD3IARBPROC)(GLenum target, GLint s, GLint t, GLint r);\nGLAPI PFNGLMULTITEXCOORD3IARBPROC glad_glMultiTexCoord3iARB;\n#define glMultiTexCoord3iARB glad_glMultiTexCoord3iARB\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD3IVARBPROC)(GLenum target, const GLint *v);\nGLAPI PFNGLMULTITEXCOORD3IVARBPROC glad_glMultiTexCoord3ivARB;\n#define glMultiTexCoord3ivARB glad_glMultiTexCoord3ivARB\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD3SARBPROC)(GLenum target, GLshort s, GLshort t, GLshort r);\nGLAPI PFNGLMULTITEXCOORD3SARBPROC glad_glMultiTexCoord3sARB;\n#define glMultiTexCoord3sARB glad_glMultiTexCoord3sARB\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD3SVARBPROC)(GLenum target, const GLshort *v);\nGLAPI PFNGLMULTITEXCOORD3SVARBPROC glad_glMultiTexCoord3svARB;\n#define glMultiTexCoord3svARB glad_glMultiTexCoord3svARB\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD4DARBPROC)(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);\nGLAPI PFNGLMULTITEXCOORD4DARBPROC glad_glMultiTexCoord4dARB;\n#define glMultiTexCoord4dARB glad_glMultiTexCoord4dARB\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD4DVARBPROC)(GLenum target, const GLdouble *v);\nGLAPI PFNGLMULTITEXCOORD4DVARBPROC glad_glMultiTexCoord4dvARB;\n#define glMultiTexCoord4dvARB glad_glMultiTexCoord4dvARB\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD4FARBPROC)(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);\nGLAPI PFNGLMULTITEXCOORD4FARBPROC glad_glMultiTexCoord4fARB;\n#define glMultiTexCoord4fARB glad_glMultiTexCoord4fARB\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD4FVARBPROC)(GLenum target, const GLfloat *v);\nGLAPI PFNGLMULTITEXCOORD4FVARBPROC glad_glMultiTexCoord4fvARB;\n#define glMultiTexCoord4fvARB glad_glMultiTexCoord4fvARB\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD4IARBPROC)(GLenum target, GLint s, GLint t, GLint r, GLint q);\nGLAPI PFNGLMULTITEXCOORD4IARBPROC glad_glMultiTexCoord4iARB;\n#define glMultiTexCoord4iARB glad_glMultiTexCoord4iARB\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD4IVARBPROC)(GLenum target, const GLint *v);\nGLAPI PFNGLMULTITEXCOORD4IVARBPROC glad_glMultiTexCoord4ivARB;\n#define glMultiTexCoord4ivARB glad_glMultiTexCoord4ivARB\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD4SARBPROC)(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);\nGLAPI PFNGLMULTITEXCOORD4SARBPROC glad_glMultiTexCoord4sARB;\n#define glMultiTexCoord4sARB glad_glMultiTexCoord4sARB\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD4SVARBPROC)(GLenum target, const GLshort *v);\nGLAPI PFNGLMULTITEXCOORD4SVARBPROC glad_glMultiTexCoord4svARB;\n#define glMultiTexCoord4svARB glad_glMultiTexCoord4svARB\n#endif\n#ifndef GL_ARB_occlusion_query\n#define GL_ARB_occlusion_query 1\nGLAPI int GLAD_GL_ARB_occlusion_query;\ntypedef void (APIENTRYP PFNGLGENQUERIESARBPROC)(GLsizei n, GLuint *ids);\nGLAPI PFNGLGENQUERIESARBPROC glad_glGenQueriesARB;\n#define glGenQueriesARB glad_glGenQueriesARB\ntypedef void (APIENTRYP PFNGLDELETEQUERIESARBPROC)(GLsizei n, const GLuint *ids);\nGLAPI PFNGLDELETEQUERIESARBPROC glad_glDeleteQueriesARB;\n#define glDeleteQueriesARB glad_glDeleteQueriesARB\ntypedef GLboolean (APIENTRYP PFNGLISQUERYARBPROC)(GLuint id);\nGLAPI PFNGLISQUERYARBPROC glad_glIsQueryARB;\n#define glIsQueryARB glad_glIsQueryARB\ntypedef void (APIENTRYP PFNGLBEGINQUERYARBPROC)(GLenum target, GLuint id);\nGLAPI PFNGLBEGINQUERYARBPROC glad_glBeginQueryARB;\n#define glBeginQueryARB glad_glBeginQueryARB\ntypedef void (APIENTRYP PFNGLENDQUERYARBPROC)(GLenum target);\nGLAPI PFNGLENDQUERYARBPROC glad_glEndQueryARB;\n#define glEndQueryARB glad_glEndQueryARB\ntypedef void (APIENTRYP PFNGLGETQUERYIVARBPROC)(GLenum target, GLenum pname, GLint *params);\nGLAPI PFNGLGETQUERYIVARBPROC glad_glGetQueryivARB;\n#define glGetQueryivARB glad_glGetQueryivARB\ntypedef void (APIENTRYP PFNGLGETQUERYOBJECTIVARBPROC)(GLuint id, GLenum pname, GLint *params);\nGLAPI PFNGLGETQUERYOBJECTIVARBPROC glad_glGetQueryObjectivARB;\n#define glGetQueryObjectivARB glad_glGetQueryObjectivARB\ntypedef void (APIENTRYP PFNGLGETQUERYOBJECTUIVARBPROC)(GLuint id, GLenum pname, GLuint *params);\nGLAPI PFNGLGETQUERYOBJECTUIVARBPROC glad_glGetQueryObjectuivARB;\n#define glGetQueryObjectuivARB glad_glGetQueryObjectuivARB\n#endif\n#ifndef GL_ARB_occlusion_query2\n#define GL_ARB_occlusion_query2 1\nGLAPI int GLAD_GL_ARB_occlusion_query2;\n#endif\n#ifndef GL_ARB_parallel_shader_compile\n#define GL_ARB_parallel_shader_compile 1\nGLAPI int GLAD_GL_ARB_parallel_shader_compile;\ntypedef void (APIENTRYP PFNGLMAXSHADERCOMPILERTHREADSARBPROC)(GLuint count);\nGLAPI PFNGLMAXSHADERCOMPILERTHREADSARBPROC glad_glMaxShaderCompilerThreadsARB;\n#define glMaxShaderCompilerThreadsARB glad_glMaxShaderCompilerThreadsARB\n#endif\n#ifndef GL_ARB_pipeline_statistics_query\n#define GL_ARB_pipeline_statistics_query 1\nGLAPI int GLAD_GL_ARB_pipeline_statistics_query;\n#endif\n#ifndef GL_ARB_pixel_buffer_object\n#define GL_ARB_pixel_buffer_object 1\nGLAPI int GLAD_GL_ARB_pixel_buffer_object;\n#endif\n#ifndef GL_ARB_point_parameters\n#define GL_ARB_point_parameters 1\nGLAPI int GLAD_GL_ARB_point_parameters;\ntypedef void (APIENTRYP PFNGLPOINTPARAMETERFARBPROC)(GLenum pname, GLfloat param);\nGLAPI PFNGLPOINTPARAMETERFARBPROC glad_glPointParameterfARB;\n#define glPointParameterfARB glad_glPointParameterfARB\ntypedef void (APIENTRYP PFNGLPOINTPARAMETERFVARBPROC)(GLenum pname, const GLfloat *params);\nGLAPI PFNGLPOINTPARAMETERFVARBPROC glad_glPointParameterfvARB;\n#define glPointParameterfvARB glad_glPointParameterfvARB\n#endif\n#ifndef GL_ARB_point_sprite\n#define GL_ARB_point_sprite 1\nGLAPI int GLAD_GL_ARB_point_sprite;\n#endif\n#ifndef GL_ARB_polygon_offset_clamp\n#define GL_ARB_polygon_offset_clamp 1\nGLAPI int GLAD_GL_ARB_polygon_offset_clamp;\n#endif\n#ifndef GL_ARB_post_depth_coverage\n#define GL_ARB_post_depth_coverage 1\nGLAPI int GLAD_GL_ARB_post_depth_coverage;\n#endif\n#ifndef GL_ARB_program_interface_query\n#define GL_ARB_program_interface_query 1\nGLAPI int GLAD_GL_ARB_program_interface_query;\n#endif\n#ifndef GL_ARB_provoking_vertex\n#define GL_ARB_provoking_vertex 1\nGLAPI int GLAD_GL_ARB_provoking_vertex;\n#endif\n#ifndef GL_ARB_query_buffer_object\n#define GL_ARB_query_buffer_object 1\nGLAPI int GLAD_GL_ARB_query_buffer_object;\n#endif\n#ifndef GL_ARB_robust_buffer_access_behavior\n#define GL_ARB_robust_buffer_access_behavior 1\nGLAPI int GLAD_GL_ARB_robust_buffer_access_behavior;\n#endif\n#ifndef GL_ARB_robustness\n#define GL_ARB_robustness 1\nGLAPI int GLAD_GL_ARB_robustness;\ntypedef GLenum (APIENTRYP PFNGLGETGRAPHICSRESETSTATUSARBPROC)();\nGLAPI PFNGLGETGRAPHICSRESETSTATUSARBPROC glad_glGetGraphicsResetStatusARB;\n#define glGetGraphicsResetStatusARB glad_glGetGraphicsResetStatusARB\ntypedef void (APIENTRYP PFNGLGETNTEXIMAGEARBPROC)(GLenum target, GLint level, GLenum format, GLenum type, GLsizei bufSize, void *img);\nGLAPI PFNGLGETNTEXIMAGEARBPROC glad_glGetnTexImageARB;\n#define glGetnTexImageARB glad_glGetnTexImageARB\ntypedef void (APIENTRYP PFNGLREADNPIXELSARBPROC)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data);\nGLAPI PFNGLREADNPIXELSARBPROC glad_glReadnPixelsARB;\n#define glReadnPixelsARB glad_glReadnPixelsARB\ntypedef void (APIENTRYP PFNGLGETNCOMPRESSEDTEXIMAGEARBPROC)(GLenum target, GLint lod, GLsizei bufSize, void *img);\nGLAPI PFNGLGETNCOMPRESSEDTEXIMAGEARBPROC glad_glGetnCompressedTexImageARB;\n#define glGetnCompressedTexImageARB glad_glGetnCompressedTexImageARB\ntypedef void (APIENTRYP PFNGLGETNUNIFORMFVARBPROC)(GLuint program, GLint location, GLsizei bufSize, GLfloat *params);\nGLAPI PFNGLGETNUNIFORMFVARBPROC glad_glGetnUniformfvARB;\n#define glGetnUniformfvARB glad_glGetnUniformfvARB\ntypedef void (APIENTRYP PFNGLGETNUNIFORMIVARBPROC)(GLuint program, GLint location, GLsizei bufSize, GLint *params);\nGLAPI PFNGLGETNUNIFORMIVARBPROC glad_glGetnUniformivARB;\n#define glGetnUniformivARB glad_glGetnUniformivARB\ntypedef void (APIENTRYP PFNGLGETNUNIFORMUIVARBPROC)(GLuint program, GLint location, GLsizei bufSize, GLuint *params);\nGLAPI PFNGLGETNUNIFORMUIVARBPROC glad_glGetnUniformuivARB;\n#define glGetnUniformuivARB glad_glGetnUniformuivARB\ntypedef void (APIENTRYP PFNGLGETNUNIFORMDVARBPROC)(GLuint program, GLint location, GLsizei bufSize, GLdouble *params);\nGLAPI PFNGLGETNUNIFORMDVARBPROC glad_glGetnUniformdvARB;\n#define glGetnUniformdvARB glad_glGetnUniformdvARB\ntypedef void (APIENTRYP PFNGLGETNMAPDVARBPROC)(GLenum target, GLenum query, GLsizei bufSize, GLdouble *v);\nGLAPI PFNGLGETNMAPDVARBPROC glad_glGetnMapdvARB;\n#define glGetnMapdvARB glad_glGetnMapdvARB\ntypedef void (APIENTRYP PFNGLGETNMAPFVARBPROC)(GLenum target, GLenum query, GLsizei bufSize, GLfloat *v);\nGLAPI PFNGLGETNMAPFVARBPROC glad_glGetnMapfvARB;\n#define glGetnMapfvARB glad_glGetnMapfvARB\ntypedef void (APIENTRYP PFNGLGETNMAPIVARBPROC)(GLenum target, GLenum query, GLsizei bufSize, GLint *v);\nGLAPI PFNGLGETNMAPIVARBPROC glad_glGetnMapivARB;\n#define glGetnMapivARB glad_glGetnMapivARB\ntypedef void (APIENTRYP PFNGLGETNPIXELMAPFVARBPROC)(GLenum map, GLsizei bufSize, GLfloat *values);\nGLAPI PFNGLGETNPIXELMAPFVARBPROC glad_glGetnPixelMapfvARB;\n#define glGetnPixelMapfvARB glad_glGetnPixelMapfvARB\ntypedef void (APIENTRYP PFNGLGETNPIXELMAPUIVARBPROC)(GLenum map, GLsizei bufSize, GLuint *values);\nGLAPI PFNGLGETNPIXELMAPUIVARBPROC glad_glGetnPixelMapuivARB;\n#define glGetnPixelMapuivARB glad_glGetnPixelMapuivARB\ntypedef void (APIENTRYP PFNGLGETNPIXELMAPUSVARBPROC)(GLenum map, GLsizei bufSize, GLushort *values);\nGLAPI PFNGLGETNPIXELMAPUSVARBPROC glad_glGetnPixelMapusvARB;\n#define glGetnPixelMapusvARB glad_glGetnPixelMapusvARB\ntypedef void (APIENTRYP PFNGLGETNPOLYGONSTIPPLEARBPROC)(GLsizei bufSize, GLubyte *pattern);\nGLAPI PFNGLGETNPOLYGONSTIPPLEARBPROC glad_glGetnPolygonStippleARB;\n#define glGetnPolygonStippleARB glad_glGetnPolygonStippleARB\ntypedef void (APIENTRYP PFNGLGETNCOLORTABLEARBPROC)(GLenum target, GLenum format, GLenum type, GLsizei bufSize, void *table);\nGLAPI PFNGLGETNCOLORTABLEARBPROC glad_glGetnColorTableARB;\n#define glGetnColorTableARB glad_glGetnColorTableARB\ntypedef void (APIENTRYP PFNGLGETNCONVOLUTIONFILTERARBPROC)(GLenum target, GLenum format, GLenum type, GLsizei bufSize, void *image);\nGLAPI PFNGLGETNCONVOLUTIONFILTERARBPROC glad_glGetnConvolutionFilterARB;\n#define glGetnConvolutionFilterARB glad_glGetnConvolutionFilterARB\ntypedef void (APIENTRYP PFNGLGETNSEPARABLEFILTERARBPROC)(GLenum target, GLenum format, GLenum type, GLsizei rowBufSize, void *row, GLsizei columnBufSize, void *column, void *span);\nGLAPI PFNGLGETNSEPARABLEFILTERARBPROC glad_glGetnSeparableFilterARB;\n#define glGetnSeparableFilterARB glad_glGetnSeparableFilterARB\ntypedef void (APIENTRYP PFNGLGETNHISTOGRAMARBPROC)(GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, void *values);\nGLAPI PFNGLGETNHISTOGRAMARBPROC glad_glGetnHistogramARB;\n#define glGetnHistogramARB glad_glGetnHistogramARB\ntypedef void (APIENTRYP PFNGLGETNMINMAXARBPROC)(GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, void *values);\nGLAPI PFNGLGETNMINMAXARBPROC glad_glGetnMinmaxARB;\n#define glGetnMinmaxARB glad_glGetnMinmaxARB\n#endif\n#ifndef GL_ARB_robustness_isolation\n#define GL_ARB_robustness_isolation 1\nGLAPI int GLAD_GL_ARB_robustness_isolation;\n#endif\n#ifndef GL_ARB_sample_locations\n#define GL_ARB_sample_locations 1\nGLAPI int GLAD_GL_ARB_sample_locations;\ntypedef void (APIENTRYP PFNGLFRAMEBUFFERSAMPLELOCATIONSFVARBPROC)(GLenum target, GLuint start, GLsizei count, const GLfloat *v);\nGLAPI PFNGLFRAMEBUFFERSAMPLELOCATIONSFVARBPROC glad_glFramebufferSampleLocationsfvARB;\n#define glFramebufferSampleLocationsfvARB glad_glFramebufferSampleLocationsfvARB\ntypedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERSAMPLELOCATIONSFVARBPROC)(GLuint framebuffer, GLuint start, GLsizei count, const GLfloat *v);\nGLAPI PFNGLNAMEDFRAMEBUFFERSAMPLELOCATIONSFVARBPROC glad_glNamedFramebufferSampleLocationsfvARB;\n#define glNamedFramebufferSampleLocationsfvARB glad_glNamedFramebufferSampleLocationsfvARB\ntypedef void (APIENTRYP PFNGLEVALUATEDEPTHVALUESARBPROC)();\nGLAPI PFNGLEVALUATEDEPTHVALUESARBPROC glad_glEvaluateDepthValuesARB;\n#define glEvaluateDepthValuesARB glad_glEvaluateDepthValuesARB\n#endif\n#ifndef GL_ARB_sample_shading\n#define GL_ARB_sample_shading 1\nGLAPI int GLAD_GL_ARB_sample_shading;\ntypedef void (APIENTRYP PFNGLMINSAMPLESHADINGARBPROC)(GLfloat value);\nGLAPI PFNGLMINSAMPLESHADINGARBPROC glad_glMinSampleShadingARB;\n#define glMinSampleShadingARB glad_glMinSampleShadingARB\n#endif\n#ifndef GL_ARB_sampler_objects\n#define GL_ARB_sampler_objects 1\nGLAPI int GLAD_GL_ARB_sampler_objects;\n#endif\n#ifndef GL_ARB_seamless_cube_map\n#define GL_ARB_seamless_cube_map 1\nGLAPI int GLAD_GL_ARB_seamless_cube_map;\n#endif\n#ifndef GL_ARB_seamless_cubemap_per_texture\n#define GL_ARB_seamless_cubemap_per_texture 1\nGLAPI int GLAD_GL_ARB_seamless_cubemap_per_texture;\n#endif\n#ifndef GL_ARB_separate_shader_objects\n#define GL_ARB_separate_shader_objects 1\nGLAPI int GLAD_GL_ARB_separate_shader_objects;\n#endif\n#ifndef GL_ARB_shader_atomic_counter_ops\n#define GL_ARB_shader_atomic_counter_ops 1\nGLAPI int GLAD_GL_ARB_shader_atomic_counter_ops;\n#endif\n#ifndef GL_ARB_shader_atomic_counters\n#define GL_ARB_shader_atomic_counters 1\nGLAPI int GLAD_GL_ARB_shader_atomic_counters;\n#endif\n#ifndef GL_ARB_shader_ballot\n#define GL_ARB_shader_ballot 1\nGLAPI int GLAD_GL_ARB_shader_ballot;\n#endif\n#ifndef GL_ARB_shader_bit_encoding\n#define GL_ARB_shader_bit_encoding 1\nGLAPI int GLAD_GL_ARB_shader_bit_encoding;\n#endif\n#ifndef GL_ARB_shader_clock\n#define GL_ARB_shader_clock 1\nGLAPI int GLAD_GL_ARB_shader_clock;\n#endif\n#ifndef GL_ARB_shader_draw_parameters\n#define GL_ARB_shader_draw_parameters 1\nGLAPI int GLAD_GL_ARB_shader_draw_parameters;\n#endif\n#ifndef GL_ARB_shader_group_vote\n#define GL_ARB_shader_group_vote 1\nGLAPI int GLAD_GL_ARB_shader_group_vote;\n#endif\n#ifndef GL_ARB_shader_image_load_store\n#define GL_ARB_shader_image_load_store 1\nGLAPI int GLAD_GL_ARB_shader_image_load_store;\n#endif\n#ifndef GL_ARB_shader_image_size\n#define GL_ARB_shader_image_size 1\nGLAPI int GLAD_GL_ARB_shader_image_size;\n#endif\n#ifndef GL_ARB_shader_objects\n#define GL_ARB_shader_objects 1\nGLAPI int GLAD_GL_ARB_shader_objects;\ntypedef void (APIENTRYP PFNGLDELETEOBJECTARBPROC)(GLhandleARB obj);\nGLAPI PFNGLDELETEOBJECTARBPROC glad_glDeleteObjectARB;\n#define glDeleteObjectARB glad_glDeleteObjectARB\ntypedef GLhandleARB (APIENTRYP PFNGLGETHANDLEARBPROC)(GLenum pname);\nGLAPI PFNGLGETHANDLEARBPROC glad_glGetHandleARB;\n#define glGetHandleARB glad_glGetHandleARB\ntypedef void (APIENTRYP PFNGLDETACHOBJECTARBPROC)(GLhandleARB containerObj, GLhandleARB attachedObj);\nGLAPI PFNGLDETACHOBJECTARBPROC glad_glDetachObjectARB;\n#define glDetachObjectARB glad_glDetachObjectARB\ntypedef GLhandleARB (APIENTRYP PFNGLCREATESHADEROBJECTARBPROC)(GLenum shaderType);\nGLAPI PFNGLCREATESHADEROBJECTARBPROC glad_glCreateShaderObjectARB;\n#define glCreateShaderObjectARB glad_glCreateShaderObjectARB\ntypedef void (APIENTRYP PFNGLSHADERSOURCEARBPROC)(GLhandleARB shaderObj, GLsizei count, const GLcharARB **string, const GLint *length);\nGLAPI PFNGLSHADERSOURCEARBPROC glad_glShaderSourceARB;\n#define glShaderSourceARB glad_glShaderSourceARB\ntypedef void (APIENTRYP PFNGLCOMPILESHADERARBPROC)(GLhandleARB shaderObj);\nGLAPI PFNGLCOMPILESHADERARBPROC glad_glCompileShaderARB;\n#define glCompileShaderARB glad_glCompileShaderARB\ntypedef GLhandleARB (APIENTRYP PFNGLCREATEPROGRAMOBJECTARBPROC)();\nGLAPI PFNGLCREATEPROGRAMOBJECTARBPROC glad_glCreateProgramObjectARB;\n#define glCreateProgramObjectARB glad_glCreateProgramObjectARB\ntypedef void (APIENTRYP PFNGLATTACHOBJECTARBPROC)(GLhandleARB containerObj, GLhandleARB obj);\nGLAPI PFNGLATTACHOBJECTARBPROC glad_glAttachObjectARB;\n#define glAttachObjectARB glad_glAttachObjectARB\ntypedef void (APIENTRYP PFNGLLINKPROGRAMARBPROC)(GLhandleARB programObj);\nGLAPI PFNGLLINKPROGRAMARBPROC glad_glLinkProgramARB;\n#define glLinkProgramARB glad_glLinkProgramARB\ntypedef void (APIENTRYP PFNGLUSEPROGRAMOBJECTARBPROC)(GLhandleARB programObj);\nGLAPI PFNGLUSEPROGRAMOBJECTARBPROC glad_glUseProgramObjectARB;\n#define glUseProgramObjectARB glad_glUseProgramObjectARB\ntypedef void (APIENTRYP PFNGLVALIDATEPROGRAMARBPROC)(GLhandleARB programObj);\nGLAPI PFNGLVALIDATEPROGRAMARBPROC glad_glValidateProgramARB;\n#define glValidateProgramARB glad_glValidateProgramARB\ntypedef void (APIENTRYP PFNGLUNIFORM1FARBPROC)(GLint location, GLfloat v0);\nGLAPI PFNGLUNIFORM1FARBPROC glad_glUniform1fARB;\n#define glUniform1fARB glad_glUniform1fARB\ntypedef void (APIENTRYP PFNGLUNIFORM2FARBPROC)(GLint location, GLfloat v0, GLfloat v1);\nGLAPI PFNGLUNIFORM2FARBPROC glad_glUniform2fARB;\n#define glUniform2fARB glad_glUniform2fARB\ntypedef void (APIENTRYP PFNGLUNIFORM3FARBPROC)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2);\nGLAPI PFNGLUNIFORM3FARBPROC glad_glUniform3fARB;\n#define glUniform3fARB glad_glUniform3fARB\ntypedef void (APIENTRYP PFNGLUNIFORM4FARBPROC)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);\nGLAPI PFNGLUNIFORM4FARBPROC glad_glUniform4fARB;\n#define glUniform4fARB glad_glUniform4fARB\ntypedef void (APIENTRYP PFNGLUNIFORM1IARBPROC)(GLint location, GLint v0);\nGLAPI PFNGLUNIFORM1IARBPROC glad_glUniform1iARB;\n#define glUniform1iARB glad_glUniform1iARB\ntypedef void (APIENTRYP PFNGLUNIFORM2IARBPROC)(GLint location, GLint v0, GLint v1);\nGLAPI PFNGLUNIFORM2IARBPROC glad_glUniform2iARB;\n#define glUniform2iARB glad_glUniform2iARB\ntypedef void (APIENTRYP PFNGLUNIFORM3IARBPROC)(GLint location, GLint v0, GLint v1, GLint v2);\nGLAPI PFNGLUNIFORM3IARBPROC glad_glUniform3iARB;\n#define glUniform3iARB glad_glUniform3iARB\ntypedef void (APIENTRYP PFNGLUNIFORM4IARBPROC)(GLint location, GLint v0, GLint v1, GLint v2, GLint v3);\nGLAPI PFNGLUNIFORM4IARBPROC glad_glUniform4iARB;\n#define glUniform4iARB glad_glUniform4iARB\ntypedef void (APIENTRYP PFNGLUNIFORM1FVARBPROC)(GLint location, GLsizei count, const GLfloat *value);\nGLAPI PFNGLUNIFORM1FVARBPROC glad_glUniform1fvARB;\n#define glUniform1fvARB glad_glUniform1fvARB\ntypedef void (APIENTRYP PFNGLUNIFORM2FVARBPROC)(GLint location, GLsizei count, const GLfloat *value);\nGLAPI PFNGLUNIFORM2FVARBPROC glad_glUniform2fvARB;\n#define glUniform2fvARB glad_glUniform2fvARB\ntypedef void (APIENTRYP PFNGLUNIFORM3FVARBPROC)(GLint location, GLsizei count, const GLfloat *value);\nGLAPI PFNGLUNIFORM3FVARBPROC glad_glUniform3fvARB;\n#define glUniform3fvARB glad_glUniform3fvARB\ntypedef void (APIENTRYP PFNGLUNIFORM4FVARBPROC)(GLint location, GLsizei count, const GLfloat *value);\nGLAPI PFNGLUNIFORM4FVARBPROC glad_glUniform4fvARB;\n#define glUniform4fvARB glad_glUniform4fvARB\ntypedef void (APIENTRYP PFNGLUNIFORM1IVARBPROC)(GLint location, GLsizei count, const GLint *value);\nGLAPI PFNGLUNIFORM1IVARBPROC glad_glUniform1ivARB;\n#define glUniform1ivARB glad_glUniform1ivARB\ntypedef void (APIENTRYP PFNGLUNIFORM2IVARBPROC)(GLint location, GLsizei count, const GLint *value);\nGLAPI PFNGLUNIFORM2IVARBPROC glad_glUniform2ivARB;\n#define glUniform2ivARB glad_glUniform2ivARB\ntypedef void (APIENTRYP PFNGLUNIFORM3IVARBPROC)(GLint location, GLsizei count, const GLint *value);\nGLAPI PFNGLUNIFORM3IVARBPROC glad_glUniform3ivARB;\n#define glUniform3ivARB glad_glUniform3ivARB\ntypedef void (APIENTRYP PFNGLUNIFORM4IVARBPROC)(GLint location, GLsizei count, const GLint *value);\nGLAPI PFNGLUNIFORM4IVARBPROC glad_glUniform4ivARB;\n#define glUniform4ivARB glad_glUniform4ivARB\ntypedef void (APIENTRYP PFNGLUNIFORMMATRIX2FVARBPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nGLAPI PFNGLUNIFORMMATRIX2FVARBPROC glad_glUniformMatrix2fvARB;\n#define glUniformMatrix2fvARB glad_glUniformMatrix2fvARB\ntypedef void (APIENTRYP PFNGLUNIFORMMATRIX3FVARBPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nGLAPI PFNGLUNIFORMMATRIX3FVARBPROC glad_glUniformMatrix3fvARB;\n#define glUniformMatrix3fvARB glad_glUniformMatrix3fvARB\ntypedef void (APIENTRYP PFNGLUNIFORMMATRIX4FVARBPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nGLAPI PFNGLUNIFORMMATRIX4FVARBPROC glad_glUniformMatrix4fvARB;\n#define glUniformMatrix4fvARB glad_glUniformMatrix4fvARB\ntypedef void (APIENTRYP PFNGLGETOBJECTPARAMETERFVARBPROC)(GLhandleARB obj, GLenum pname, GLfloat *params);\nGLAPI PFNGLGETOBJECTPARAMETERFVARBPROC glad_glGetObjectParameterfvARB;\n#define glGetObjectParameterfvARB glad_glGetObjectParameterfvARB\ntypedef void (APIENTRYP PFNGLGETOBJECTPARAMETERIVARBPROC)(GLhandleARB obj, GLenum pname, GLint *params);\nGLAPI PFNGLGETOBJECTPARAMETERIVARBPROC glad_glGetObjectParameterivARB;\n#define glGetObjectParameterivARB glad_glGetObjectParameterivARB\ntypedef void (APIENTRYP PFNGLGETINFOLOGARBPROC)(GLhandleARB obj, GLsizei maxLength, GLsizei *length, GLcharARB *infoLog);\nGLAPI PFNGLGETINFOLOGARBPROC glad_glGetInfoLogARB;\n#define glGetInfoLogARB glad_glGetInfoLogARB\ntypedef void (APIENTRYP PFNGLGETATTACHEDOBJECTSARBPROC)(GLhandleARB containerObj, GLsizei maxCount, GLsizei *count, GLhandleARB *obj);\nGLAPI PFNGLGETATTACHEDOBJECTSARBPROC glad_glGetAttachedObjectsARB;\n#define glGetAttachedObjectsARB glad_glGetAttachedObjectsARB\ntypedef GLint (APIENTRYP PFNGLGETUNIFORMLOCATIONARBPROC)(GLhandleARB programObj, const GLcharARB *name);\nGLAPI PFNGLGETUNIFORMLOCATIONARBPROC glad_glGetUniformLocationARB;\n#define glGetUniformLocationARB glad_glGetUniformLocationARB\ntypedef void (APIENTRYP PFNGLGETACTIVEUNIFORMARBPROC)(GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei *length, GLint *size, GLenum *type, GLcharARB *name);\nGLAPI PFNGLGETACTIVEUNIFORMARBPROC glad_glGetActiveUniformARB;\n#define glGetActiveUniformARB glad_glGetActiveUniformARB\ntypedef void (APIENTRYP PFNGLGETUNIFORMFVARBPROC)(GLhandleARB programObj, GLint location, GLfloat *params);\nGLAPI PFNGLGETUNIFORMFVARBPROC glad_glGetUniformfvARB;\n#define glGetUniformfvARB glad_glGetUniformfvARB\ntypedef void (APIENTRYP PFNGLGETUNIFORMIVARBPROC)(GLhandleARB programObj, GLint location, GLint *params);\nGLAPI PFNGLGETUNIFORMIVARBPROC glad_glGetUniformivARB;\n#define glGetUniformivARB glad_glGetUniformivARB\ntypedef void (APIENTRYP PFNGLGETSHADERSOURCEARBPROC)(GLhandleARB obj, GLsizei maxLength, GLsizei *length, GLcharARB *source);\nGLAPI PFNGLGETSHADERSOURCEARBPROC glad_glGetShaderSourceARB;\n#define glGetShaderSourceARB glad_glGetShaderSourceARB\n#endif\n#ifndef GL_ARB_shader_precision\n#define GL_ARB_shader_precision 1\nGLAPI int GLAD_GL_ARB_shader_precision;\n#endif\n#ifndef GL_ARB_shader_stencil_export\n#define GL_ARB_shader_stencil_export 1\nGLAPI int GLAD_GL_ARB_shader_stencil_export;\n#endif\n#ifndef GL_ARB_shader_storage_buffer_object\n#define GL_ARB_shader_storage_buffer_object 1\nGLAPI int GLAD_GL_ARB_shader_storage_buffer_object;\n#endif\n#ifndef GL_ARB_shader_subroutine\n#define GL_ARB_shader_subroutine 1\nGLAPI int GLAD_GL_ARB_shader_subroutine;\n#endif\n#ifndef GL_ARB_shader_texture_image_samples\n#define GL_ARB_shader_texture_image_samples 1\nGLAPI int GLAD_GL_ARB_shader_texture_image_samples;\n#endif\n#ifndef GL_ARB_shader_texture_lod\n#define GL_ARB_shader_texture_lod 1\nGLAPI int GLAD_GL_ARB_shader_texture_lod;\n#endif\n#ifndef GL_ARB_shader_viewport_layer_array\n#define GL_ARB_shader_viewport_layer_array 1\nGLAPI int GLAD_GL_ARB_shader_viewport_layer_array;\n#endif\n#ifndef GL_ARB_shading_language_100\n#define GL_ARB_shading_language_100 1\nGLAPI int GLAD_GL_ARB_shading_language_100;\n#endif\n#ifndef GL_ARB_shading_language_420pack\n#define GL_ARB_shading_language_420pack 1\nGLAPI int GLAD_GL_ARB_shading_language_420pack;\n#endif\n#ifndef GL_ARB_shading_language_include\n#define GL_ARB_shading_language_include 1\nGLAPI int GLAD_GL_ARB_shading_language_include;\ntypedef void (APIENTRYP PFNGLNAMEDSTRINGARBPROC)(GLenum type, GLint namelen, const GLchar *name, GLint stringlen, const GLchar *string);\nGLAPI PFNGLNAMEDSTRINGARBPROC glad_glNamedStringARB;\n#define glNamedStringARB glad_glNamedStringARB\ntypedef void (APIENTRYP PFNGLDELETENAMEDSTRINGARBPROC)(GLint namelen, const GLchar *name);\nGLAPI PFNGLDELETENAMEDSTRINGARBPROC glad_glDeleteNamedStringARB;\n#define glDeleteNamedStringARB glad_glDeleteNamedStringARB\ntypedef void (APIENTRYP PFNGLCOMPILESHADERINCLUDEARBPROC)(GLuint shader, GLsizei count, const GLchar *const*path, const GLint *length);\nGLAPI PFNGLCOMPILESHADERINCLUDEARBPROC glad_glCompileShaderIncludeARB;\n#define glCompileShaderIncludeARB glad_glCompileShaderIncludeARB\ntypedef GLboolean (APIENTRYP PFNGLISNAMEDSTRINGARBPROC)(GLint namelen, const GLchar *name);\nGLAPI PFNGLISNAMEDSTRINGARBPROC glad_glIsNamedStringARB;\n#define glIsNamedStringARB glad_glIsNamedStringARB\ntypedef void (APIENTRYP PFNGLGETNAMEDSTRINGARBPROC)(GLint namelen, const GLchar *name, GLsizei bufSize, GLint *stringlen, GLchar *string);\nGLAPI PFNGLGETNAMEDSTRINGARBPROC glad_glGetNamedStringARB;\n#define glGetNamedStringARB glad_glGetNamedStringARB\ntypedef void (APIENTRYP PFNGLGETNAMEDSTRINGIVARBPROC)(GLint namelen, const GLchar *name, GLenum pname, GLint *params);\nGLAPI PFNGLGETNAMEDSTRINGIVARBPROC glad_glGetNamedStringivARB;\n#define glGetNamedStringivARB glad_glGetNamedStringivARB\n#endif\n#ifndef GL_ARB_shading_language_packing\n#define GL_ARB_shading_language_packing 1\nGLAPI int GLAD_GL_ARB_shading_language_packing;\n#endif\n#ifndef GL_ARB_shadow\n#define GL_ARB_shadow 1\nGLAPI int GLAD_GL_ARB_shadow;\n#endif\n#ifndef GL_ARB_shadow_ambient\n#define GL_ARB_shadow_ambient 1\nGLAPI int GLAD_GL_ARB_shadow_ambient;\n#endif\n#ifndef GL_ARB_sparse_buffer\n#define GL_ARB_sparse_buffer 1\nGLAPI int GLAD_GL_ARB_sparse_buffer;\ntypedef void (APIENTRYP PFNGLBUFFERPAGECOMMITMENTARBPROC)(GLenum target, GLintptr offset, GLsizeiptr size, GLboolean commit);\nGLAPI PFNGLBUFFERPAGECOMMITMENTARBPROC glad_glBufferPageCommitmentARB;\n#define glBufferPageCommitmentARB glad_glBufferPageCommitmentARB\ntypedef void (APIENTRYP PFNGLNAMEDBUFFERPAGECOMMITMENTEXTPROC)(GLuint buffer, GLintptr offset, GLsizeiptr size, GLboolean commit);\nGLAPI PFNGLNAMEDBUFFERPAGECOMMITMENTEXTPROC glad_glNamedBufferPageCommitmentEXT;\n#define glNamedBufferPageCommitmentEXT glad_glNamedBufferPageCommitmentEXT\ntypedef void (APIENTRYP PFNGLNAMEDBUFFERPAGECOMMITMENTARBPROC)(GLuint buffer, GLintptr offset, GLsizeiptr size, GLboolean commit);\nGLAPI PFNGLNAMEDBUFFERPAGECOMMITMENTARBPROC glad_glNamedBufferPageCommitmentARB;\n#define glNamedBufferPageCommitmentARB glad_glNamedBufferPageCommitmentARB\n#endif\n#ifndef GL_ARB_sparse_texture\n#define GL_ARB_sparse_texture 1\nGLAPI int GLAD_GL_ARB_sparse_texture;\ntypedef void (APIENTRYP PFNGLTEXPAGECOMMITMENTARBPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean commit);\nGLAPI PFNGLTEXPAGECOMMITMENTARBPROC glad_glTexPageCommitmentARB;\n#define glTexPageCommitmentARB glad_glTexPageCommitmentARB\n#endif\n#ifndef GL_ARB_sparse_texture2\n#define GL_ARB_sparse_texture2 1\nGLAPI int GLAD_GL_ARB_sparse_texture2;\n#endif\n#ifndef GL_ARB_sparse_texture_clamp\n#define GL_ARB_sparse_texture_clamp 1\nGLAPI int GLAD_GL_ARB_sparse_texture_clamp;\n#endif\n#ifndef GL_ARB_spirv_extensions\n#define GL_ARB_spirv_extensions 1\nGLAPI int GLAD_GL_ARB_spirv_extensions;\n#endif\n#ifndef GL_ARB_stencil_texturing\n#define GL_ARB_stencil_texturing 1\nGLAPI int GLAD_GL_ARB_stencil_texturing;\n#endif\n#ifndef GL_ARB_sync\n#define GL_ARB_sync 1\nGLAPI int GLAD_GL_ARB_sync;\n#endif\n#ifndef GL_ARB_tessellation_shader\n#define GL_ARB_tessellation_shader 1\nGLAPI int GLAD_GL_ARB_tessellation_shader;\n#endif\n#ifndef GL_ARB_texture_barrier\n#define GL_ARB_texture_barrier 1\nGLAPI int GLAD_GL_ARB_texture_barrier;\n#endif\n#ifndef GL_ARB_texture_border_clamp\n#define GL_ARB_texture_border_clamp 1\nGLAPI int GLAD_GL_ARB_texture_border_clamp;\n#endif\n#ifndef GL_ARB_texture_buffer_object\n#define GL_ARB_texture_buffer_object 1\nGLAPI int GLAD_GL_ARB_texture_buffer_object;\ntypedef void (APIENTRYP PFNGLTEXBUFFERARBPROC)(GLenum target, GLenum internalformat, GLuint buffer);\nGLAPI PFNGLTEXBUFFERARBPROC glad_glTexBufferARB;\n#define glTexBufferARB glad_glTexBufferARB\n#endif\n#ifndef GL_ARB_texture_buffer_object_rgb32\n#define GL_ARB_texture_buffer_object_rgb32 1\nGLAPI int GLAD_GL_ARB_texture_buffer_object_rgb32;\n#endif\n#ifndef GL_ARB_texture_buffer_range\n#define GL_ARB_texture_buffer_range 1\nGLAPI int GLAD_GL_ARB_texture_buffer_range;\n#endif\n#ifndef GL_ARB_texture_compression\n#define GL_ARB_texture_compression 1\nGLAPI int GLAD_GL_ARB_texture_compression;\ntypedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DARBPROC)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data);\nGLAPI PFNGLCOMPRESSEDTEXIMAGE3DARBPROC glad_glCompressedTexImage3DARB;\n#define glCompressedTexImage3DARB glad_glCompressedTexImage3DARB\ntypedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE2DARBPROC)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data);\nGLAPI PFNGLCOMPRESSEDTEXIMAGE2DARBPROC glad_glCompressedTexImage2DARB;\n#define glCompressedTexImage2DARB glad_glCompressedTexImage2DARB\ntypedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE1DARBPROC)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void *data);\nGLAPI PFNGLCOMPRESSEDTEXIMAGE1DARBPROC glad_glCompressedTexImage1DARB;\n#define glCompressedTexImage1DARB glad_glCompressedTexImage1DARB\ntypedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data);\nGLAPI PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC glad_glCompressedTexSubImage3DARB;\n#define glCompressedTexSubImage3DARB glad_glCompressedTexSubImage3DARB\ntypedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data);\nGLAPI PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC glad_glCompressedTexSubImage2DARB;\n#define glCompressedTexSubImage2DARB glad_glCompressedTexSubImage2DARB\ntypedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *data);\nGLAPI PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC glad_glCompressedTexSubImage1DARB;\n#define glCompressedTexSubImage1DARB glad_glCompressedTexSubImage1DARB\ntypedef void (APIENTRYP PFNGLGETCOMPRESSEDTEXIMAGEARBPROC)(GLenum target, GLint level, void *img);\nGLAPI PFNGLGETCOMPRESSEDTEXIMAGEARBPROC glad_glGetCompressedTexImageARB;\n#define glGetCompressedTexImageARB glad_glGetCompressedTexImageARB\n#endif\n#ifndef GL_ARB_texture_compression_bptc\n#define GL_ARB_texture_compression_bptc 1\nGLAPI int GLAD_GL_ARB_texture_compression_bptc;\n#endif\n#ifndef GL_ARB_texture_compression_rgtc\n#define GL_ARB_texture_compression_rgtc 1\nGLAPI int GLAD_GL_ARB_texture_compression_rgtc;\n#endif\n#ifndef GL_ARB_texture_cube_map\n#define GL_ARB_texture_cube_map 1\nGLAPI int GLAD_GL_ARB_texture_cube_map;\n#endif\n#ifndef GL_ARB_texture_cube_map_array\n#define GL_ARB_texture_cube_map_array 1\nGLAPI int GLAD_GL_ARB_texture_cube_map_array;\n#endif\n#ifndef GL_ARB_texture_env_add\n#define GL_ARB_texture_env_add 1\nGLAPI int GLAD_GL_ARB_texture_env_add;\n#endif\n#ifndef GL_ARB_texture_env_combine\n#define GL_ARB_texture_env_combine 1\nGLAPI int GLAD_GL_ARB_texture_env_combine;\n#endif\n#ifndef GL_ARB_texture_env_crossbar\n#define GL_ARB_texture_env_crossbar 1\nGLAPI int GLAD_GL_ARB_texture_env_crossbar;\n#endif\n#ifndef GL_ARB_texture_env_dot3\n#define GL_ARB_texture_env_dot3 1\nGLAPI int GLAD_GL_ARB_texture_env_dot3;\n#endif\n#ifndef GL_ARB_texture_filter_anisotropic\n#define GL_ARB_texture_filter_anisotropic 1\nGLAPI int GLAD_GL_ARB_texture_filter_anisotropic;\n#endif\n#ifndef GL_ARB_texture_filter_minmax\n#define GL_ARB_texture_filter_minmax 1\nGLAPI int GLAD_GL_ARB_texture_filter_minmax;\n#endif\n#ifndef GL_ARB_texture_float\n#define GL_ARB_texture_float 1\nGLAPI int GLAD_GL_ARB_texture_float;\n#endif\n#ifndef GL_ARB_texture_gather\n#define GL_ARB_texture_gather 1\nGLAPI int GLAD_GL_ARB_texture_gather;\n#endif\n#ifndef GL_ARB_texture_mirror_clamp_to_edge\n#define GL_ARB_texture_mirror_clamp_to_edge 1\nGLAPI int GLAD_GL_ARB_texture_mirror_clamp_to_edge;\n#endif\n#ifndef GL_ARB_texture_mirrored_repeat\n#define GL_ARB_texture_mirrored_repeat 1\nGLAPI int GLAD_GL_ARB_texture_mirrored_repeat;\n#endif\n#ifndef GL_ARB_texture_multisample\n#define GL_ARB_texture_multisample 1\nGLAPI int GLAD_GL_ARB_texture_multisample;\n#endif\n#ifndef GL_ARB_texture_non_power_of_two\n#define GL_ARB_texture_non_power_of_two 1\nGLAPI int GLAD_GL_ARB_texture_non_power_of_two;\n#endif\n#ifndef GL_ARB_texture_query_levels\n#define GL_ARB_texture_query_levels 1\nGLAPI int GLAD_GL_ARB_texture_query_levels;\n#endif\n#ifndef GL_ARB_texture_query_lod\n#define GL_ARB_texture_query_lod 1\nGLAPI int GLAD_GL_ARB_texture_query_lod;\n#endif\n#ifndef GL_ARB_texture_rectangle\n#define GL_ARB_texture_rectangle 1\nGLAPI int GLAD_GL_ARB_texture_rectangle;\n#endif\n#ifndef GL_ARB_texture_rg\n#define GL_ARB_texture_rg 1\nGLAPI int GLAD_GL_ARB_texture_rg;\n#endif\n#ifndef GL_ARB_texture_rgb10_a2ui\n#define GL_ARB_texture_rgb10_a2ui 1\nGLAPI int GLAD_GL_ARB_texture_rgb10_a2ui;\n#endif\n#ifndef GL_ARB_texture_stencil8\n#define GL_ARB_texture_stencil8 1\nGLAPI int GLAD_GL_ARB_texture_stencil8;\n#endif\n#ifndef GL_ARB_texture_storage\n#define GL_ARB_texture_storage 1\nGLAPI int GLAD_GL_ARB_texture_storage;\n#endif\n#ifndef GL_ARB_texture_storage_multisample\n#define GL_ARB_texture_storage_multisample 1\nGLAPI int GLAD_GL_ARB_texture_storage_multisample;\n#endif\n#ifndef GL_ARB_texture_swizzle\n#define GL_ARB_texture_swizzle 1\nGLAPI int GLAD_GL_ARB_texture_swizzle;\n#endif\n#ifndef GL_ARB_texture_view\n#define GL_ARB_texture_view 1\nGLAPI int GLAD_GL_ARB_texture_view;\n#endif\n#ifndef GL_ARB_timer_query\n#define GL_ARB_timer_query 1\nGLAPI int GLAD_GL_ARB_timer_query;\n#endif\n#ifndef GL_ARB_transform_feedback2\n#define GL_ARB_transform_feedback2 1\nGLAPI int GLAD_GL_ARB_transform_feedback2;\n#endif\n#ifndef GL_ARB_transform_feedback3\n#define GL_ARB_transform_feedback3 1\nGLAPI int GLAD_GL_ARB_transform_feedback3;\n#endif\n#ifndef GL_ARB_transform_feedback_instanced\n#define GL_ARB_transform_feedback_instanced 1\nGLAPI int GLAD_GL_ARB_transform_feedback_instanced;\n#endif\n#ifndef GL_ARB_transform_feedback_overflow_query\n#define GL_ARB_transform_feedback_overflow_query 1\nGLAPI int GLAD_GL_ARB_transform_feedback_overflow_query;\n#endif\n#ifndef GL_ARB_transpose_matrix\n#define GL_ARB_transpose_matrix 1\nGLAPI int GLAD_GL_ARB_transpose_matrix;\ntypedef void (APIENTRYP PFNGLLOADTRANSPOSEMATRIXFARBPROC)(const GLfloat *m);\nGLAPI PFNGLLOADTRANSPOSEMATRIXFARBPROC glad_glLoadTransposeMatrixfARB;\n#define glLoadTransposeMatrixfARB glad_glLoadTransposeMatrixfARB\ntypedef void (APIENTRYP PFNGLLOADTRANSPOSEMATRIXDARBPROC)(const GLdouble *m);\nGLAPI PFNGLLOADTRANSPOSEMATRIXDARBPROC glad_glLoadTransposeMatrixdARB;\n#define glLoadTransposeMatrixdARB glad_glLoadTransposeMatrixdARB\ntypedef void (APIENTRYP PFNGLMULTTRANSPOSEMATRIXFARBPROC)(const GLfloat *m);\nGLAPI PFNGLMULTTRANSPOSEMATRIXFARBPROC glad_glMultTransposeMatrixfARB;\n#define glMultTransposeMatrixfARB glad_glMultTransposeMatrixfARB\ntypedef void (APIENTRYP PFNGLMULTTRANSPOSEMATRIXDARBPROC)(const GLdouble *m);\nGLAPI PFNGLMULTTRANSPOSEMATRIXDARBPROC glad_glMultTransposeMatrixdARB;\n#define glMultTransposeMatrixdARB glad_glMultTransposeMatrixdARB\n#endif\n#ifndef GL_ARB_uniform_buffer_object\n#define GL_ARB_uniform_buffer_object 1\nGLAPI int GLAD_GL_ARB_uniform_buffer_object;\n#endif\n#ifndef GL_ARB_vertex_array_bgra\n#define GL_ARB_vertex_array_bgra 1\nGLAPI int GLAD_GL_ARB_vertex_array_bgra;\n#endif\n#ifndef GL_ARB_vertex_array_object\n#define GL_ARB_vertex_array_object 1\nGLAPI int GLAD_GL_ARB_vertex_array_object;\n#endif\n#ifndef GL_ARB_vertex_attrib_64bit\n#define GL_ARB_vertex_attrib_64bit 1\nGLAPI int GLAD_GL_ARB_vertex_attrib_64bit;\n#endif\n#ifndef GL_ARB_vertex_attrib_binding\n#define GL_ARB_vertex_attrib_binding 1\nGLAPI int GLAD_GL_ARB_vertex_attrib_binding;\n#endif\n#ifndef GL_ARB_vertex_blend\n#define GL_ARB_vertex_blend 1\nGLAPI int GLAD_GL_ARB_vertex_blend;\ntypedef void (APIENTRYP PFNGLWEIGHTBVARBPROC)(GLint size, const GLbyte *weights);\nGLAPI PFNGLWEIGHTBVARBPROC glad_glWeightbvARB;\n#define glWeightbvARB glad_glWeightbvARB\ntypedef void (APIENTRYP PFNGLWEIGHTSVARBPROC)(GLint size, const GLshort *weights);\nGLAPI PFNGLWEIGHTSVARBPROC glad_glWeightsvARB;\n#define glWeightsvARB glad_glWeightsvARB\ntypedef void (APIENTRYP PFNGLWEIGHTIVARBPROC)(GLint size, const GLint *weights);\nGLAPI PFNGLWEIGHTIVARBPROC glad_glWeightivARB;\n#define glWeightivARB glad_glWeightivARB\ntypedef void (APIENTRYP PFNGLWEIGHTFVARBPROC)(GLint size, const GLfloat *weights);\nGLAPI PFNGLWEIGHTFVARBPROC glad_glWeightfvARB;\n#define glWeightfvARB glad_glWeightfvARB\ntypedef void (APIENTRYP PFNGLWEIGHTDVARBPROC)(GLint size, const GLdouble *weights);\nGLAPI PFNGLWEIGHTDVARBPROC glad_glWeightdvARB;\n#define glWeightdvARB glad_glWeightdvARB\ntypedef void (APIENTRYP PFNGLWEIGHTUBVARBPROC)(GLint size, const GLubyte *weights);\nGLAPI PFNGLWEIGHTUBVARBPROC glad_glWeightubvARB;\n#define glWeightubvARB glad_glWeightubvARB\ntypedef void (APIENTRYP PFNGLWEIGHTUSVARBPROC)(GLint size, const GLushort *weights);\nGLAPI PFNGLWEIGHTUSVARBPROC glad_glWeightusvARB;\n#define glWeightusvARB glad_glWeightusvARB\ntypedef void (APIENTRYP PFNGLWEIGHTUIVARBPROC)(GLint size, const GLuint *weights);\nGLAPI PFNGLWEIGHTUIVARBPROC glad_glWeightuivARB;\n#define glWeightuivARB glad_glWeightuivARB\ntypedef void (APIENTRYP PFNGLWEIGHTPOINTERARBPROC)(GLint size, GLenum type, GLsizei stride, const void *pointer);\nGLAPI PFNGLWEIGHTPOINTERARBPROC glad_glWeightPointerARB;\n#define glWeightPointerARB glad_glWeightPointerARB\ntypedef void (APIENTRYP PFNGLVERTEXBLENDARBPROC)(GLint count);\nGLAPI PFNGLVERTEXBLENDARBPROC glad_glVertexBlendARB;\n#define glVertexBlendARB glad_glVertexBlendARB\n#endif\n#ifndef GL_ARB_vertex_buffer_object\n#define GL_ARB_vertex_buffer_object 1\nGLAPI int GLAD_GL_ARB_vertex_buffer_object;\ntypedef void (APIENTRYP PFNGLBINDBUFFERARBPROC)(GLenum target, GLuint buffer);\nGLAPI PFNGLBINDBUFFERARBPROC glad_glBindBufferARB;\n#define glBindBufferARB glad_glBindBufferARB\ntypedef void (APIENTRYP PFNGLDELETEBUFFERSARBPROC)(GLsizei n, const GLuint *buffers);\nGLAPI PFNGLDELETEBUFFERSARBPROC glad_glDeleteBuffersARB;\n#define glDeleteBuffersARB glad_glDeleteBuffersARB\ntypedef void (APIENTRYP PFNGLGENBUFFERSARBPROC)(GLsizei n, GLuint *buffers);\nGLAPI PFNGLGENBUFFERSARBPROC glad_glGenBuffersARB;\n#define glGenBuffersARB glad_glGenBuffersARB\ntypedef GLboolean (APIENTRYP PFNGLISBUFFERARBPROC)(GLuint buffer);\nGLAPI PFNGLISBUFFERARBPROC glad_glIsBufferARB;\n#define glIsBufferARB glad_glIsBufferARB\ntypedef void (APIENTRYP PFNGLBUFFERDATAARBPROC)(GLenum target, GLsizeiptrARB size, const void *data, GLenum usage);\nGLAPI PFNGLBUFFERDATAARBPROC glad_glBufferDataARB;\n#define glBufferDataARB glad_glBufferDataARB\ntypedef void (APIENTRYP PFNGLBUFFERSUBDATAARBPROC)(GLenum target, GLintptrARB offset, GLsizeiptrARB size, const void *data);\nGLAPI PFNGLBUFFERSUBDATAARBPROC glad_glBufferSubDataARB;\n#define glBufferSubDataARB glad_glBufferSubDataARB\ntypedef void (APIENTRYP PFNGLGETBUFFERSUBDATAARBPROC)(GLenum target, GLintptrARB offset, GLsizeiptrARB size, void *data);\nGLAPI PFNGLGETBUFFERSUBDATAARBPROC glad_glGetBufferSubDataARB;\n#define glGetBufferSubDataARB glad_glGetBufferSubDataARB\ntypedef void * (APIENTRYP PFNGLMAPBUFFERARBPROC)(GLenum target, GLenum access);\nGLAPI PFNGLMAPBUFFERARBPROC glad_glMapBufferARB;\n#define glMapBufferARB glad_glMapBufferARB\ntypedef GLboolean (APIENTRYP PFNGLUNMAPBUFFERARBPROC)(GLenum target);\nGLAPI PFNGLUNMAPBUFFERARBPROC glad_glUnmapBufferARB;\n#define glUnmapBufferARB glad_glUnmapBufferARB\ntypedef void (APIENTRYP PFNGLGETBUFFERPARAMETERIVARBPROC)(GLenum target, GLenum pname, GLint *params);\nGLAPI PFNGLGETBUFFERPARAMETERIVARBPROC glad_glGetBufferParameterivARB;\n#define glGetBufferParameterivARB glad_glGetBufferParameterivARB\ntypedef void (APIENTRYP PFNGLGETBUFFERPOINTERVARBPROC)(GLenum target, GLenum pname, void **params);\nGLAPI PFNGLGETBUFFERPOINTERVARBPROC glad_glGetBufferPointervARB;\n#define glGetBufferPointervARB glad_glGetBufferPointervARB\n#endif\n#ifndef GL_ARB_vertex_program\n#define GL_ARB_vertex_program 1\nGLAPI int GLAD_GL_ARB_vertex_program;\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB1DARBPROC)(GLuint index, GLdouble x);\nGLAPI PFNGLVERTEXATTRIB1DARBPROC glad_glVertexAttrib1dARB;\n#define glVertexAttrib1dARB glad_glVertexAttrib1dARB\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB1DVARBPROC)(GLuint index, const GLdouble *v);\nGLAPI PFNGLVERTEXATTRIB1DVARBPROC glad_glVertexAttrib1dvARB;\n#define glVertexAttrib1dvARB glad_glVertexAttrib1dvARB\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB1FARBPROC)(GLuint index, GLfloat x);\nGLAPI PFNGLVERTEXATTRIB1FARBPROC glad_glVertexAttrib1fARB;\n#define glVertexAttrib1fARB glad_glVertexAttrib1fARB\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB1FVARBPROC)(GLuint index, const GLfloat *v);\nGLAPI PFNGLVERTEXATTRIB1FVARBPROC glad_glVertexAttrib1fvARB;\n#define glVertexAttrib1fvARB glad_glVertexAttrib1fvARB\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB1SARBPROC)(GLuint index, GLshort x);\nGLAPI PFNGLVERTEXATTRIB1SARBPROC glad_glVertexAttrib1sARB;\n#define glVertexAttrib1sARB glad_glVertexAttrib1sARB\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB1SVARBPROC)(GLuint index, const GLshort *v);\nGLAPI PFNGLVERTEXATTRIB1SVARBPROC glad_glVertexAttrib1svARB;\n#define glVertexAttrib1svARB glad_glVertexAttrib1svARB\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB2DARBPROC)(GLuint index, GLdouble x, GLdouble y);\nGLAPI PFNGLVERTEXATTRIB2DARBPROC glad_glVertexAttrib2dARB;\n#define glVertexAttrib2dARB glad_glVertexAttrib2dARB\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB2DVARBPROC)(GLuint index, const GLdouble *v);\nGLAPI PFNGLVERTEXATTRIB2DVARBPROC glad_glVertexAttrib2dvARB;\n#define glVertexAttrib2dvARB glad_glVertexAttrib2dvARB\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB2FARBPROC)(GLuint index, GLfloat x, GLfloat y);\nGLAPI PFNGLVERTEXATTRIB2FARBPROC glad_glVertexAttrib2fARB;\n#define glVertexAttrib2fARB glad_glVertexAttrib2fARB\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB2FVARBPROC)(GLuint index, const GLfloat *v);\nGLAPI PFNGLVERTEXATTRIB2FVARBPROC glad_glVertexAttrib2fvARB;\n#define glVertexAttrib2fvARB glad_glVertexAttrib2fvARB\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB2SARBPROC)(GLuint index, GLshort x, GLshort y);\nGLAPI PFNGLVERTEXATTRIB2SARBPROC glad_glVertexAttrib2sARB;\n#define glVertexAttrib2sARB glad_glVertexAttrib2sARB\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB2SVARBPROC)(GLuint index, const GLshort *v);\nGLAPI PFNGLVERTEXATTRIB2SVARBPROC glad_glVertexAttrib2svARB;\n#define glVertexAttrib2svARB glad_glVertexAttrib2svARB\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB3DARBPROC)(GLuint index, GLdouble x, GLdouble y, GLdouble z);\nGLAPI PFNGLVERTEXATTRIB3DARBPROC glad_glVertexAttrib3dARB;\n#define glVertexAttrib3dARB glad_glVertexAttrib3dARB\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB3DVARBPROC)(GLuint index, const GLdouble *v);\nGLAPI PFNGLVERTEXATTRIB3DVARBPROC glad_glVertexAttrib3dvARB;\n#define glVertexAttrib3dvARB glad_glVertexAttrib3dvARB\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB3FARBPROC)(GLuint index, GLfloat x, GLfloat y, GLfloat z);\nGLAPI PFNGLVERTEXATTRIB3FARBPROC glad_glVertexAttrib3fARB;\n#define glVertexAttrib3fARB glad_glVertexAttrib3fARB\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB3FVARBPROC)(GLuint index, const GLfloat *v);\nGLAPI PFNGLVERTEXATTRIB3FVARBPROC glad_glVertexAttrib3fvARB;\n#define glVertexAttrib3fvARB glad_glVertexAttrib3fvARB\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB3SARBPROC)(GLuint index, GLshort x, GLshort y, GLshort z);\nGLAPI PFNGLVERTEXATTRIB3SARBPROC glad_glVertexAttrib3sARB;\n#define glVertexAttrib3sARB glad_glVertexAttrib3sARB\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB3SVARBPROC)(GLuint index, const GLshort *v);\nGLAPI PFNGLVERTEXATTRIB3SVARBPROC glad_glVertexAttrib3svARB;\n#define glVertexAttrib3svARB glad_glVertexAttrib3svARB\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4NBVARBPROC)(GLuint index, const GLbyte *v);\nGLAPI PFNGLVERTEXATTRIB4NBVARBPROC glad_glVertexAttrib4NbvARB;\n#define glVertexAttrib4NbvARB glad_glVertexAttrib4NbvARB\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4NIVARBPROC)(GLuint index, const GLint *v);\nGLAPI PFNGLVERTEXATTRIB4NIVARBPROC glad_glVertexAttrib4NivARB;\n#define glVertexAttrib4NivARB glad_glVertexAttrib4NivARB\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4NSVARBPROC)(GLuint index, const GLshort *v);\nGLAPI PFNGLVERTEXATTRIB4NSVARBPROC glad_glVertexAttrib4NsvARB;\n#define glVertexAttrib4NsvARB glad_glVertexAttrib4NsvARB\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4NUBARBPROC)(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);\nGLAPI PFNGLVERTEXATTRIB4NUBARBPROC glad_glVertexAttrib4NubARB;\n#define glVertexAttrib4NubARB glad_glVertexAttrib4NubARB\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4NUBVARBPROC)(GLuint index, const GLubyte *v);\nGLAPI PFNGLVERTEXATTRIB4NUBVARBPROC glad_glVertexAttrib4NubvARB;\n#define glVertexAttrib4NubvARB glad_glVertexAttrib4NubvARB\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4NUIVARBPROC)(GLuint index, const GLuint *v);\nGLAPI PFNGLVERTEXATTRIB4NUIVARBPROC glad_glVertexAttrib4NuivARB;\n#define glVertexAttrib4NuivARB glad_glVertexAttrib4NuivARB\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4NUSVARBPROC)(GLuint index, const GLushort *v);\nGLAPI PFNGLVERTEXATTRIB4NUSVARBPROC glad_glVertexAttrib4NusvARB;\n#define glVertexAttrib4NusvARB glad_glVertexAttrib4NusvARB\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4BVARBPROC)(GLuint index, const GLbyte *v);\nGLAPI PFNGLVERTEXATTRIB4BVARBPROC glad_glVertexAttrib4bvARB;\n#define glVertexAttrib4bvARB glad_glVertexAttrib4bvARB\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4DARBPROC)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nGLAPI PFNGLVERTEXATTRIB4DARBPROC glad_glVertexAttrib4dARB;\n#define glVertexAttrib4dARB glad_glVertexAttrib4dARB\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4DVARBPROC)(GLuint index, const GLdouble *v);\nGLAPI PFNGLVERTEXATTRIB4DVARBPROC glad_glVertexAttrib4dvARB;\n#define glVertexAttrib4dvARB glad_glVertexAttrib4dvARB\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4FARBPROC)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nGLAPI PFNGLVERTEXATTRIB4FARBPROC glad_glVertexAttrib4fARB;\n#define glVertexAttrib4fARB glad_glVertexAttrib4fARB\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4FVARBPROC)(GLuint index, const GLfloat *v);\nGLAPI PFNGLVERTEXATTRIB4FVARBPROC glad_glVertexAttrib4fvARB;\n#define glVertexAttrib4fvARB glad_glVertexAttrib4fvARB\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4IVARBPROC)(GLuint index, const GLint *v);\nGLAPI PFNGLVERTEXATTRIB4IVARBPROC glad_glVertexAttrib4ivARB;\n#define glVertexAttrib4ivARB glad_glVertexAttrib4ivARB\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4SARBPROC)(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);\nGLAPI PFNGLVERTEXATTRIB4SARBPROC glad_glVertexAttrib4sARB;\n#define glVertexAttrib4sARB glad_glVertexAttrib4sARB\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4SVARBPROC)(GLuint index, const GLshort *v);\nGLAPI PFNGLVERTEXATTRIB4SVARBPROC glad_glVertexAttrib4svARB;\n#define glVertexAttrib4svARB glad_glVertexAttrib4svARB\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4UBVARBPROC)(GLuint index, const GLubyte *v);\nGLAPI PFNGLVERTEXATTRIB4UBVARBPROC glad_glVertexAttrib4ubvARB;\n#define glVertexAttrib4ubvARB glad_glVertexAttrib4ubvARB\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4UIVARBPROC)(GLuint index, const GLuint *v);\nGLAPI PFNGLVERTEXATTRIB4UIVARBPROC glad_glVertexAttrib4uivARB;\n#define glVertexAttrib4uivARB glad_glVertexAttrib4uivARB\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4USVARBPROC)(GLuint index, const GLushort *v);\nGLAPI PFNGLVERTEXATTRIB4USVARBPROC glad_glVertexAttrib4usvARB;\n#define glVertexAttrib4usvARB glad_glVertexAttrib4usvARB\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBPOINTERARBPROC)(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void *pointer);\nGLAPI PFNGLVERTEXATTRIBPOINTERARBPROC glad_glVertexAttribPointerARB;\n#define glVertexAttribPointerARB glad_glVertexAttribPointerARB\ntypedef void (APIENTRYP PFNGLENABLEVERTEXATTRIBARRAYARBPROC)(GLuint index);\nGLAPI PFNGLENABLEVERTEXATTRIBARRAYARBPROC glad_glEnableVertexAttribArrayARB;\n#define glEnableVertexAttribArrayARB glad_glEnableVertexAttribArrayARB\ntypedef void (APIENTRYP PFNGLDISABLEVERTEXATTRIBARRAYARBPROC)(GLuint index);\nGLAPI PFNGLDISABLEVERTEXATTRIBARRAYARBPROC glad_glDisableVertexAttribArrayARB;\n#define glDisableVertexAttribArrayARB glad_glDisableVertexAttribArrayARB\ntypedef void (APIENTRYP PFNGLGETVERTEXATTRIBDVARBPROC)(GLuint index, GLenum pname, GLdouble *params);\nGLAPI PFNGLGETVERTEXATTRIBDVARBPROC glad_glGetVertexAttribdvARB;\n#define glGetVertexAttribdvARB glad_glGetVertexAttribdvARB\ntypedef void (APIENTRYP PFNGLGETVERTEXATTRIBFVARBPROC)(GLuint index, GLenum pname, GLfloat *params);\nGLAPI PFNGLGETVERTEXATTRIBFVARBPROC glad_glGetVertexAttribfvARB;\n#define glGetVertexAttribfvARB glad_glGetVertexAttribfvARB\ntypedef void (APIENTRYP PFNGLGETVERTEXATTRIBIVARBPROC)(GLuint index, GLenum pname, GLint *params);\nGLAPI PFNGLGETVERTEXATTRIBIVARBPROC glad_glGetVertexAttribivARB;\n#define glGetVertexAttribivARB glad_glGetVertexAttribivARB\ntypedef void (APIENTRYP PFNGLGETVERTEXATTRIBPOINTERVARBPROC)(GLuint index, GLenum pname, void **pointer);\nGLAPI PFNGLGETVERTEXATTRIBPOINTERVARBPROC glad_glGetVertexAttribPointervARB;\n#define glGetVertexAttribPointervARB glad_glGetVertexAttribPointervARB\n#endif\n#ifndef GL_ARB_vertex_shader\n#define GL_ARB_vertex_shader 1\nGLAPI int GLAD_GL_ARB_vertex_shader;\ntypedef void (APIENTRYP PFNGLBINDATTRIBLOCATIONARBPROC)(GLhandleARB programObj, GLuint index, const GLcharARB *name);\nGLAPI PFNGLBINDATTRIBLOCATIONARBPROC glad_glBindAttribLocationARB;\n#define glBindAttribLocationARB glad_glBindAttribLocationARB\ntypedef void (APIENTRYP PFNGLGETACTIVEATTRIBARBPROC)(GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei *length, GLint *size, GLenum *type, GLcharARB *name);\nGLAPI PFNGLGETACTIVEATTRIBARBPROC glad_glGetActiveAttribARB;\n#define glGetActiveAttribARB glad_glGetActiveAttribARB\ntypedef GLint (APIENTRYP PFNGLGETATTRIBLOCATIONARBPROC)(GLhandleARB programObj, const GLcharARB *name);\nGLAPI PFNGLGETATTRIBLOCATIONARBPROC glad_glGetAttribLocationARB;\n#define glGetAttribLocationARB glad_glGetAttribLocationARB\n#endif\n#ifndef GL_ARB_vertex_type_10f_11f_11f_rev\n#define GL_ARB_vertex_type_10f_11f_11f_rev 1\nGLAPI int GLAD_GL_ARB_vertex_type_10f_11f_11f_rev;\n#endif\n#ifndef GL_ARB_vertex_type_2_10_10_10_rev\n#define GL_ARB_vertex_type_2_10_10_10_rev 1\nGLAPI int GLAD_GL_ARB_vertex_type_2_10_10_10_rev;\n#endif\n#ifndef GL_ARB_viewport_array\n#define GL_ARB_viewport_array 1\nGLAPI int GLAD_GL_ARB_viewport_array;\n#endif\n#ifndef GL_ARB_window_pos\n#define GL_ARB_window_pos 1\nGLAPI int GLAD_GL_ARB_window_pos;\ntypedef void (APIENTRYP PFNGLWINDOWPOS2DARBPROC)(GLdouble x, GLdouble y);\nGLAPI PFNGLWINDOWPOS2DARBPROC glad_glWindowPos2dARB;\n#define glWindowPos2dARB glad_glWindowPos2dARB\ntypedef void (APIENTRYP PFNGLWINDOWPOS2DVARBPROC)(const GLdouble *v);\nGLAPI PFNGLWINDOWPOS2DVARBPROC glad_glWindowPos2dvARB;\n#define glWindowPos2dvARB glad_glWindowPos2dvARB\ntypedef void (APIENTRYP PFNGLWINDOWPOS2FARBPROC)(GLfloat x, GLfloat y);\nGLAPI PFNGLWINDOWPOS2FARBPROC glad_glWindowPos2fARB;\n#define glWindowPos2fARB glad_glWindowPos2fARB\ntypedef void (APIENTRYP PFNGLWINDOWPOS2FVARBPROC)(const GLfloat *v);\nGLAPI PFNGLWINDOWPOS2FVARBPROC glad_glWindowPos2fvARB;\n#define glWindowPos2fvARB glad_glWindowPos2fvARB\ntypedef void (APIENTRYP PFNGLWINDOWPOS2IARBPROC)(GLint x, GLint y);\nGLAPI PFNGLWINDOWPOS2IARBPROC glad_glWindowPos2iARB;\n#define glWindowPos2iARB glad_glWindowPos2iARB\ntypedef void (APIENTRYP PFNGLWINDOWPOS2IVARBPROC)(const GLint *v);\nGLAPI PFNGLWINDOWPOS2IVARBPROC glad_glWindowPos2ivARB;\n#define glWindowPos2ivARB glad_glWindowPos2ivARB\ntypedef void (APIENTRYP PFNGLWINDOWPOS2SARBPROC)(GLshort x, GLshort y);\nGLAPI PFNGLWINDOWPOS2SARBPROC glad_glWindowPos2sARB;\n#define glWindowPos2sARB glad_glWindowPos2sARB\ntypedef void (APIENTRYP PFNGLWINDOWPOS2SVARBPROC)(const GLshort *v);\nGLAPI PFNGLWINDOWPOS2SVARBPROC glad_glWindowPos2svARB;\n#define glWindowPos2svARB glad_glWindowPos2svARB\ntypedef void (APIENTRYP PFNGLWINDOWPOS3DARBPROC)(GLdouble x, GLdouble y, GLdouble z);\nGLAPI PFNGLWINDOWPOS3DARBPROC glad_glWindowPos3dARB;\n#define glWindowPos3dARB glad_glWindowPos3dARB\ntypedef void (APIENTRYP PFNGLWINDOWPOS3DVARBPROC)(const GLdouble *v);\nGLAPI PFNGLWINDOWPOS3DVARBPROC glad_glWindowPos3dvARB;\n#define glWindowPos3dvARB glad_glWindowPos3dvARB\ntypedef void (APIENTRYP PFNGLWINDOWPOS3FARBPROC)(GLfloat x, GLfloat y, GLfloat z);\nGLAPI PFNGLWINDOWPOS3FARBPROC glad_glWindowPos3fARB;\n#define glWindowPos3fARB glad_glWindowPos3fARB\ntypedef void (APIENTRYP PFNGLWINDOWPOS3FVARBPROC)(const GLfloat *v);\nGLAPI PFNGLWINDOWPOS3FVARBPROC glad_glWindowPos3fvARB;\n#define glWindowPos3fvARB glad_glWindowPos3fvARB\ntypedef void (APIENTRYP PFNGLWINDOWPOS3IARBPROC)(GLint x, GLint y, GLint z);\nGLAPI PFNGLWINDOWPOS3IARBPROC glad_glWindowPos3iARB;\n#define glWindowPos3iARB glad_glWindowPos3iARB\ntypedef void (APIENTRYP PFNGLWINDOWPOS3IVARBPROC)(const GLint *v);\nGLAPI PFNGLWINDOWPOS3IVARBPROC glad_glWindowPos3ivARB;\n#define glWindowPos3ivARB glad_glWindowPos3ivARB\ntypedef void (APIENTRYP PFNGLWINDOWPOS3SARBPROC)(GLshort x, GLshort y, GLshort z);\nGLAPI PFNGLWINDOWPOS3SARBPROC glad_glWindowPos3sARB;\n#define glWindowPos3sARB glad_glWindowPos3sARB\ntypedef void (APIENTRYP PFNGLWINDOWPOS3SVARBPROC)(const GLshort *v);\nGLAPI PFNGLWINDOWPOS3SVARBPROC glad_glWindowPos3svARB;\n#define glWindowPos3svARB glad_glWindowPos3svARB\n#endif\n#ifndef GL_ATI_draw_buffers\n#define GL_ATI_draw_buffers 1\nGLAPI int GLAD_GL_ATI_draw_buffers;\ntypedef void (APIENTRYP PFNGLDRAWBUFFERSATIPROC)(GLsizei n, const GLenum *bufs);\nGLAPI PFNGLDRAWBUFFERSATIPROC glad_glDrawBuffersATI;\n#define glDrawBuffersATI glad_glDrawBuffersATI\n#endif\n#ifndef GL_ATI_element_array\n#define GL_ATI_element_array 1\nGLAPI int GLAD_GL_ATI_element_array;\ntypedef void (APIENTRYP PFNGLELEMENTPOINTERATIPROC)(GLenum type, const void *pointer);\nGLAPI PFNGLELEMENTPOINTERATIPROC glad_glElementPointerATI;\n#define glElementPointerATI glad_glElementPointerATI\ntypedef void (APIENTRYP PFNGLDRAWELEMENTARRAYATIPROC)(GLenum mode, GLsizei count);\nGLAPI PFNGLDRAWELEMENTARRAYATIPROC glad_glDrawElementArrayATI;\n#define glDrawElementArrayATI glad_glDrawElementArrayATI\ntypedef void (APIENTRYP PFNGLDRAWRANGEELEMENTARRAYATIPROC)(GLenum mode, GLuint start, GLuint end, GLsizei count);\nGLAPI PFNGLDRAWRANGEELEMENTARRAYATIPROC glad_glDrawRangeElementArrayATI;\n#define glDrawRangeElementArrayATI glad_glDrawRangeElementArrayATI\n#endif\n#ifndef GL_ATI_envmap_bumpmap\n#define GL_ATI_envmap_bumpmap 1\nGLAPI int GLAD_GL_ATI_envmap_bumpmap;\ntypedef void (APIENTRYP PFNGLTEXBUMPPARAMETERIVATIPROC)(GLenum pname, const GLint *param);\nGLAPI PFNGLTEXBUMPPARAMETERIVATIPROC glad_glTexBumpParameterivATI;\n#define glTexBumpParameterivATI glad_glTexBumpParameterivATI\ntypedef void (APIENTRYP PFNGLTEXBUMPPARAMETERFVATIPROC)(GLenum pname, const GLfloat *param);\nGLAPI PFNGLTEXBUMPPARAMETERFVATIPROC glad_glTexBumpParameterfvATI;\n#define glTexBumpParameterfvATI glad_glTexBumpParameterfvATI\ntypedef void (APIENTRYP PFNGLGETTEXBUMPPARAMETERIVATIPROC)(GLenum pname, GLint *param);\nGLAPI PFNGLGETTEXBUMPPARAMETERIVATIPROC glad_glGetTexBumpParameterivATI;\n#define glGetTexBumpParameterivATI glad_glGetTexBumpParameterivATI\ntypedef void (APIENTRYP PFNGLGETTEXBUMPPARAMETERFVATIPROC)(GLenum pname, GLfloat *param);\nGLAPI PFNGLGETTEXBUMPPARAMETERFVATIPROC glad_glGetTexBumpParameterfvATI;\n#define glGetTexBumpParameterfvATI glad_glGetTexBumpParameterfvATI\n#endif\n#ifndef GL_ATI_fragment_shader\n#define GL_ATI_fragment_shader 1\nGLAPI int GLAD_GL_ATI_fragment_shader;\ntypedef GLuint (APIENTRYP PFNGLGENFRAGMENTSHADERSATIPROC)(GLuint range);\nGLAPI PFNGLGENFRAGMENTSHADERSATIPROC glad_glGenFragmentShadersATI;\n#define glGenFragmentShadersATI glad_glGenFragmentShadersATI\ntypedef void (APIENTRYP PFNGLBINDFRAGMENTSHADERATIPROC)(GLuint id);\nGLAPI PFNGLBINDFRAGMENTSHADERATIPROC glad_glBindFragmentShaderATI;\n#define glBindFragmentShaderATI glad_glBindFragmentShaderATI\ntypedef void (APIENTRYP PFNGLDELETEFRAGMENTSHADERATIPROC)(GLuint id);\nGLAPI PFNGLDELETEFRAGMENTSHADERATIPROC glad_glDeleteFragmentShaderATI;\n#define glDeleteFragmentShaderATI glad_glDeleteFragmentShaderATI\ntypedef void (APIENTRYP PFNGLBEGINFRAGMENTSHADERATIPROC)();\nGLAPI PFNGLBEGINFRAGMENTSHADERATIPROC glad_glBeginFragmentShaderATI;\n#define glBeginFragmentShaderATI glad_glBeginFragmentShaderATI\ntypedef void (APIENTRYP PFNGLENDFRAGMENTSHADERATIPROC)();\nGLAPI PFNGLENDFRAGMENTSHADERATIPROC glad_glEndFragmentShaderATI;\n#define glEndFragmentShaderATI glad_glEndFragmentShaderATI\ntypedef void (APIENTRYP PFNGLPASSTEXCOORDATIPROC)(GLuint dst, GLuint coord, GLenum swizzle);\nGLAPI PFNGLPASSTEXCOORDATIPROC glad_glPassTexCoordATI;\n#define glPassTexCoordATI glad_glPassTexCoordATI\ntypedef void (APIENTRYP PFNGLSAMPLEMAPATIPROC)(GLuint dst, GLuint interp, GLenum swizzle);\nGLAPI PFNGLSAMPLEMAPATIPROC glad_glSampleMapATI;\n#define glSampleMapATI glad_glSampleMapATI\ntypedef void (APIENTRYP PFNGLCOLORFRAGMENTOP1ATIPROC)(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod);\nGLAPI PFNGLCOLORFRAGMENTOP1ATIPROC glad_glColorFragmentOp1ATI;\n#define glColorFragmentOp1ATI glad_glColorFragmentOp1ATI\ntypedef void (APIENTRYP PFNGLCOLORFRAGMENTOP2ATIPROC)(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod);\nGLAPI PFNGLCOLORFRAGMENTOP2ATIPROC glad_glColorFragmentOp2ATI;\n#define glColorFragmentOp2ATI glad_glColorFragmentOp2ATI\ntypedef void (APIENTRYP PFNGLCOLORFRAGMENTOP3ATIPROC)(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod);\nGLAPI PFNGLCOLORFRAGMENTOP3ATIPROC glad_glColorFragmentOp3ATI;\n#define glColorFragmentOp3ATI glad_glColorFragmentOp3ATI\ntypedef void (APIENTRYP PFNGLALPHAFRAGMENTOP1ATIPROC)(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod);\nGLAPI PFNGLALPHAFRAGMENTOP1ATIPROC glad_glAlphaFragmentOp1ATI;\n#define glAlphaFragmentOp1ATI glad_glAlphaFragmentOp1ATI\ntypedef void (APIENTRYP PFNGLALPHAFRAGMENTOP2ATIPROC)(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod);\nGLAPI PFNGLALPHAFRAGMENTOP2ATIPROC glad_glAlphaFragmentOp2ATI;\n#define glAlphaFragmentOp2ATI glad_glAlphaFragmentOp2ATI\ntypedef void (APIENTRYP PFNGLALPHAFRAGMENTOP3ATIPROC)(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod);\nGLAPI PFNGLALPHAFRAGMENTOP3ATIPROC glad_glAlphaFragmentOp3ATI;\n#define glAlphaFragmentOp3ATI glad_glAlphaFragmentOp3ATI\ntypedef void (APIENTRYP PFNGLSETFRAGMENTSHADERCONSTANTATIPROC)(GLuint dst, const GLfloat *value);\nGLAPI PFNGLSETFRAGMENTSHADERCONSTANTATIPROC glad_glSetFragmentShaderConstantATI;\n#define glSetFragmentShaderConstantATI glad_glSetFragmentShaderConstantATI\n#endif\n#ifndef GL_ATI_map_object_buffer\n#define GL_ATI_map_object_buffer 1\nGLAPI int GLAD_GL_ATI_map_object_buffer;\ntypedef void * (APIENTRYP PFNGLMAPOBJECTBUFFERATIPROC)(GLuint buffer);\nGLAPI PFNGLMAPOBJECTBUFFERATIPROC glad_glMapObjectBufferATI;\n#define glMapObjectBufferATI glad_glMapObjectBufferATI\ntypedef void (APIENTRYP PFNGLUNMAPOBJECTBUFFERATIPROC)(GLuint buffer);\nGLAPI PFNGLUNMAPOBJECTBUFFERATIPROC glad_glUnmapObjectBufferATI;\n#define glUnmapObjectBufferATI glad_glUnmapObjectBufferATI\n#endif\n#ifndef GL_ATI_meminfo\n#define GL_ATI_meminfo 1\nGLAPI int GLAD_GL_ATI_meminfo;\n#endif\n#ifndef GL_ATI_pixel_format_float\n#define GL_ATI_pixel_format_float 1\nGLAPI int GLAD_GL_ATI_pixel_format_float;\n#endif\n#ifndef GL_ATI_pn_triangles\n#define GL_ATI_pn_triangles 1\nGLAPI int GLAD_GL_ATI_pn_triangles;\ntypedef void (APIENTRYP PFNGLPNTRIANGLESIATIPROC)(GLenum pname, GLint param);\nGLAPI PFNGLPNTRIANGLESIATIPROC glad_glPNTrianglesiATI;\n#define glPNTrianglesiATI glad_glPNTrianglesiATI\ntypedef void (APIENTRYP PFNGLPNTRIANGLESFATIPROC)(GLenum pname, GLfloat param);\nGLAPI PFNGLPNTRIANGLESFATIPROC glad_glPNTrianglesfATI;\n#define glPNTrianglesfATI glad_glPNTrianglesfATI\n#endif\n#ifndef GL_ATI_separate_stencil\n#define GL_ATI_separate_stencil 1\nGLAPI int GLAD_GL_ATI_separate_stencil;\ntypedef void (APIENTRYP PFNGLSTENCILOPSEPARATEATIPROC)(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);\nGLAPI PFNGLSTENCILOPSEPARATEATIPROC glad_glStencilOpSeparateATI;\n#define glStencilOpSeparateATI glad_glStencilOpSeparateATI\ntypedef void (APIENTRYP PFNGLSTENCILFUNCSEPARATEATIPROC)(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask);\nGLAPI PFNGLSTENCILFUNCSEPARATEATIPROC glad_glStencilFuncSeparateATI;\n#define glStencilFuncSeparateATI glad_glStencilFuncSeparateATI\n#endif\n#ifndef GL_ATI_text_fragment_shader\n#define GL_ATI_text_fragment_shader 1\nGLAPI int GLAD_GL_ATI_text_fragment_shader;\n#endif\n#ifndef GL_ATI_texture_env_combine3\n#define GL_ATI_texture_env_combine3 1\nGLAPI int GLAD_GL_ATI_texture_env_combine3;\n#endif\n#ifndef GL_ATI_texture_float\n#define GL_ATI_texture_float 1\nGLAPI int GLAD_GL_ATI_texture_float;\n#endif\n#ifndef GL_ATI_texture_mirror_once\n#define GL_ATI_texture_mirror_once 1\nGLAPI int GLAD_GL_ATI_texture_mirror_once;\n#endif\n#ifndef GL_ATI_vertex_array_object\n#define GL_ATI_vertex_array_object 1\nGLAPI int GLAD_GL_ATI_vertex_array_object;\ntypedef GLuint (APIENTRYP PFNGLNEWOBJECTBUFFERATIPROC)(GLsizei size, const void *pointer, GLenum usage);\nGLAPI PFNGLNEWOBJECTBUFFERATIPROC glad_glNewObjectBufferATI;\n#define glNewObjectBufferATI glad_glNewObjectBufferATI\ntypedef GLboolean (APIENTRYP PFNGLISOBJECTBUFFERATIPROC)(GLuint buffer);\nGLAPI PFNGLISOBJECTBUFFERATIPROC glad_glIsObjectBufferATI;\n#define glIsObjectBufferATI glad_glIsObjectBufferATI\ntypedef void (APIENTRYP PFNGLUPDATEOBJECTBUFFERATIPROC)(GLuint buffer, GLuint offset, GLsizei size, const void *pointer, GLenum preserve);\nGLAPI PFNGLUPDATEOBJECTBUFFERATIPROC glad_glUpdateObjectBufferATI;\n#define glUpdateObjectBufferATI glad_glUpdateObjectBufferATI\ntypedef void (APIENTRYP PFNGLGETOBJECTBUFFERFVATIPROC)(GLuint buffer, GLenum pname, GLfloat *params);\nGLAPI PFNGLGETOBJECTBUFFERFVATIPROC glad_glGetObjectBufferfvATI;\n#define glGetObjectBufferfvATI glad_glGetObjectBufferfvATI\ntypedef void (APIENTRYP PFNGLGETOBJECTBUFFERIVATIPROC)(GLuint buffer, GLenum pname, GLint *params);\nGLAPI PFNGLGETOBJECTBUFFERIVATIPROC glad_glGetObjectBufferivATI;\n#define glGetObjectBufferivATI glad_glGetObjectBufferivATI\ntypedef void (APIENTRYP PFNGLFREEOBJECTBUFFERATIPROC)(GLuint buffer);\nGLAPI PFNGLFREEOBJECTBUFFERATIPROC glad_glFreeObjectBufferATI;\n#define glFreeObjectBufferATI glad_glFreeObjectBufferATI\ntypedef void (APIENTRYP PFNGLARRAYOBJECTATIPROC)(GLenum array, GLint size, GLenum type, GLsizei stride, GLuint buffer, GLuint offset);\nGLAPI PFNGLARRAYOBJECTATIPROC glad_glArrayObjectATI;\n#define glArrayObjectATI glad_glArrayObjectATI\ntypedef void (APIENTRYP PFNGLGETARRAYOBJECTFVATIPROC)(GLenum array, GLenum pname, GLfloat *params);\nGLAPI PFNGLGETARRAYOBJECTFVATIPROC glad_glGetArrayObjectfvATI;\n#define glGetArrayObjectfvATI glad_glGetArrayObjectfvATI\ntypedef void (APIENTRYP PFNGLGETARRAYOBJECTIVATIPROC)(GLenum array, GLenum pname, GLint *params);\nGLAPI PFNGLGETARRAYOBJECTIVATIPROC glad_glGetArrayObjectivATI;\n#define glGetArrayObjectivATI glad_glGetArrayObjectivATI\ntypedef void (APIENTRYP PFNGLVARIANTARRAYOBJECTATIPROC)(GLuint id, GLenum type, GLsizei stride, GLuint buffer, GLuint offset);\nGLAPI PFNGLVARIANTARRAYOBJECTATIPROC glad_glVariantArrayObjectATI;\n#define glVariantArrayObjectATI glad_glVariantArrayObjectATI\ntypedef void (APIENTRYP PFNGLGETVARIANTARRAYOBJECTFVATIPROC)(GLuint id, GLenum pname, GLfloat *params);\nGLAPI PFNGLGETVARIANTARRAYOBJECTFVATIPROC glad_glGetVariantArrayObjectfvATI;\n#define glGetVariantArrayObjectfvATI glad_glGetVariantArrayObjectfvATI\ntypedef void (APIENTRYP PFNGLGETVARIANTARRAYOBJECTIVATIPROC)(GLuint id, GLenum pname, GLint *params);\nGLAPI PFNGLGETVARIANTARRAYOBJECTIVATIPROC glad_glGetVariantArrayObjectivATI;\n#define glGetVariantArrayObjectivATI glad_glGetVariantArrayObjectivATI\n#endif\n#ifndef GL_ATI_vertex_attrib_array_object\n#define GL_ATI_vertex_attrib_array_object 1\nGLAPI int GLAD_GL_ATI_vertex_attrib_array_object;\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBARRAYOBJECTATIPROC)(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, GLuint buffer, GLuint offset);\nGLAPI PFNGLVERTEXATTRIBARRAYOBJECTATIPROC glad_glVertexAttribArrayObjectATI;\n#define glVertexAttribArrayObjectATI glad_glVertexAttribArrayObjectATI\ntypedef void (APIENTRYP PFNGLGETVERTEXATTRIBARRAYOBJECTFVATIPROC)(GLuint index, GLenum pname, GLfloat *params);\nGLAPI PFNGLGETVERTEXATTRIBARRAYOBJECTFVATIPROC glad_glGetVertexAttribArrayObjectfvATI;\n#define glGetVertexAttribArrayObjectfvATI glad_glGetVertexAttribArrayObjectfvATI\ntypedef void (APIENTRYP PFNGLGETVERTEXATTRIBARRAYOBJECTIVATIPROC)(GLuint index, GLenum pname, GLint *params);\nGLAPI PFNGLGETVERTEXATTRIBARRAYOBJECTIVATIPROC glad_glGetVertexAttribArrayObjectivATI;\n#define glGetVertexAttribArrayObjectivATI glad_glGetVertexAttribArrayObjectivATI\n#endif\n#ifndef GL_ATI_vertex_streams\n#define GL_ATI_vertex_streams 1\nGLAPI int GLAD_GL_ATI_vertex_streams;\ntypedef void (APIENTRYP PFNGLVERTEXSTREAM1SATIPROC)(GLenum stream, GLshort x);\nGLAPI PFNGLVERTEXSTREAM1SATIPROC glad_glVertexStream1sATI;\n#define glVertexStream1sATI glad_glVertexStream1sATI\ntypedef void (APIENTRYP PFNGLVERTEXSTREAM1SVATIPROC)(GLenum stream, const GLshort *coords);\nGLAPI PFNGLVERTEXSTREAM1SVATIPROC glad_glVertexStream1svATI;\n#define glVertexStream1svATI glad_glVertexStream1svATI\ntypedef void (APIENTRYP PFNGLVERTEXSTREAM1IATIPROC)(GLenum stream, GLint x);\nGLAPI PFNGLVERTEXSTREAM1IATIPROC glad_glVertexStream1iATI;\n#define glVertexStream1iATI glad_glVertexStream1iATI\ntypedef void (APIENTRYP PFNGLVERTEXSTREAM1IVATIPROC)(GLenum stream, const GLint *coords);\nGLAPI PFNGLVERTEXSTREAM1IVATIPROC glad_glVertexStream1ivATI;\n#define glVertexStream1ivATI glad_glVertexStream1ivATI\ntypedef void (APIENTRYP PFNGLVERTEXSTREAM1FATIPROC)(GLenum stream, GLfloat x);\nGLAPI PFNGLVERTEXSTREAM1FATIPROC glad_glVertexStream1fATI;\n#define glVertexStream1fATI glad_glVertexStream1fATI\ntypedef void (APIENTRYP PFNGLVERTEXSTREAM1FVATIPROC)(GLenum stream, const GLfloat *coords);\nGLAPI PFNGLVERTEXSTREAM1FVATIPROC glad_glVertexStream1fvATI;\n#define glVertexStream1fvATI glad_glVertexStream1fvATI\ntypedef void (APIENTRYP PFNGLVERTEXSTREAM1DATIPROC)(GLenum stream, GLdouble x);\nGLAPI PFNGLVERTEXSTREAM1DATIPROC glad_glVertexStream1dATI;\n#define glVertexStream1dATI glad_glVertexStream1dATI\ntypedef void (APIENTRYP PFNGLVERTEXSTREAM1DVATIPROC)(GLenum stream, const GLdouble *coords);\nGLAPI PFNGLVERTEXSTREAM1DVATIPROC glad_glVertexStream1dvATI;\n#define glVertexStream1dvATI glad_glVertexStream1dvATI\ntypedef void (APIENTRYP PFNGLVERTEXSTREAM2SATIPROC)(GLenum stream, GLshort x, GLshort y);\nGLAPI PFNGLVERTEXSTREAM2SATIPROC glad_glVertexStream2sATI;\n#define glVertexStream2sATI glad_glVertexStream2sATI\ntypedef void (APIENTRYP PFNGLVERTEXSTREAM2SVATIPROC)(GLenum stream, const GLshort *coords);\nGLAPI PFNGLVERTEXSTREAM2SVATIPROC glad_glVertexStream2svATI;\n#define glVertexStream2svATI glad_glVertexStream2svATI\ntypedef void (APIENTRYP PFNGLVERTEXSTREAM2IATIPROC)(GLenum stream, GLint x, GLint y);\nGLAPI PFNGLVERTEXSTREAM2IATIPROC glad_glVertexStream2iATI;\n#define glVertexStream2iATI glad_glVertexStream2iATI\ntypedef void (APIENTRYP PFNGLVERTEXSTREAM2IVATIPROC)(GLenum stream, const GLint *coords);\nGLAPI PFNGLVERTEXSTREAM2IVATIPROC glad_glVertexStream2ivATI;\n#define glVertexStream2ivATI glad_glVertexStream2ivATI\ntypedef void (APIENTRYP PFNGLVERTEXSTREAM2FATIPROC)(GLenum stream, GLfloat x, GLfloat y);\nGLAPI PFNGLVERTEXSTREAM2FATIPROC glad_glVertexStream2fATI;\n#define glVertexStream2fATI glad_glVertexStream2fATI\ntypedef void (APIENTRYP PFNGLVERTEXSTREAM2FVATIPROC)(GLenum stream, const GLfloat *coords);\nGLAPI PFNGLVERTEXSTREAM2FVATIPROC glad_glVertexStream2fvATI;\n#define glVertexStream2fvATI glad_glVertexStream2fvATI\ntypedef void (APIENTRYP PFNGLVERTEXSTREAM2DATIPROC)(GLenum stream, GLdouble x, GLdouble y);\nGLAPI PFNGLVERTEXSTREAM2DATIPROC glad_glVertexStream2dATI;\n#define glVertexStream2dATI glad_glVertexStream2dATI\ntypedef void (APIENTRYP PFNGLVERTEXSTREAM2DVATIPROC)(GLenum stream, const GLdouble *coords);\nGLAPI PFNGLVERTEXSTREAM2DVATIPROC glad_glVertexStream2dvATI;\n#define glVertexStream2dvATI glad_glVertexStream2dvATI\ntypedef void (APIENTRYP PFNGLVERTEXSTREAM3SATIPROC)(GLenum stream, GLshort x, GLshort y, GLshort z);\nGLAPI PFNGLVERTEXSTREAM3SATIPROC glad_glVertexStream3sATI;\n#define glVertexStream3sATI glad_glVertexStream3sATI\ntypedef void (APIENTRYP PFNGLVERTEXSTREAM3SVATIPROC)(GLenum stream, const GLshort *coords);\nGLAPI PFNGLVERTEXSTREAM3SVATIPROC glad_glVertexStream3svATI;\n#define glVertexStream3svATI glad_glVertexStream3svATI\ntypedef void (APIENTRYP PFNGLVERTEXSTREAM3IATIPROC)(GLenum stream, GLint x, GLint y, GLint z);\nGLAPI PFNGLVERTEXSTREAM3IATIPROC glad_glVertexStream3iATI;\n#define glVertexStream3iATI glad_glVertexStream3iATI\ntypedef void (APIENTRYP PFNGLVERTEXSTREAM3IVATIPROC)(GLenum stream, const GLint *coords);\nGLAPI PFNGLVERTEXSTREAM3IVATIPROC glad_glVertexStream3ivATI;\n#define glVertexStream3ivATI glad_glVertexStream3ivATI\ntypedef void (APIENTRYP PFNGLVERTEXSTREAM3FATIPROC)(GLenum stream, GLfloat x, GLfloat y, GLfloat z);\nGLAPI PFNGLVERTEXSTREAM3FATIPROC glad_glVertexStream3fATI;\n#define glVertexStream3fATI glad_glVertexStream3fATI\ntypedef void (APIENTRYP PFNGLVERTEXSTREAM3FVATIPROC)(GLenum stream, const GLfloat *coords);\nGLAPI PFNGLVERTEXSTREAM3FVATIPROC glad_glVertexStream3fvATI;\n#define glVertexStream3fvATI glad_glVertexStream3fvATI\ntypedef void (APIENTRYP PFNGLVERTEXSTREAM3DATIPROC)(GLenum stream, GLdouble x, GLdouble y, GLdouble z);\nGLAPI PFNGLVERTEXSTREAM3DATIPROC glad_glVertexStream3dATI;\n#define glVertexStream3dATI glad_glVertexStream3dATI\ntypedef void (APIENTRYP PFNGLVERTEXSTREAM3DVATIPROC)(GLenum stream, const GLdouble *coords);\nGLAPI PFNGLVERTEXSTREAM3DVATIPROC glad_glVertexStream3dvATI;\n#define glVertexStream3dvATI glad_glVertexStream3dvATI\ntypedef void (APIENTRYP PFNGLVERTEXSTREAM4SATIPROC)(GLenum stream, GLshort x, GLshort y, GLshort z, GLshort w);\nGLAPI PFNGLVERTEXSTREAM4SATIPROC glad_glVertexStream4sATI;\n#define glVertexStream4sATI glad_glVertexStream4sATI\ntypedef void (APIENTRYP PFNGLVERTEXSTREAM4SVATIPROC)(GLenum stream, const GLshort *coords);\nGLAPI PFNGLVERTEXSTREAM4SVATIPROC glad_glVertexStream4svATI;\n#define glVertexStream4svATI glad_glVertexStream4svATI\ntypedef void (APIENTRYP PFNGLVERTEXSTREAM4IATIPROC)(GLenum stream, GLint x, GLint y, GLint z, GLint w);\nGLAPI PFNGLVERTEXSTREAM4IATIPROC glad_glVertexStream4iATI;\n#define glVertexStream4iATI glad_glVertexStream4iATI\ntypedef void (APIENTRYP PFNGLVERTEXSTREAM4IVATIPROC)(GLenum stream, const GLint *coords);\nGLAPI PFNGLVERTEXSTREAM4IVATIPROC glad_glVertexStream4ivATI;\n#define glVertexStream4ivATI glad_glVertexStream4ivATI\ntypedef void (APIENTRYP PFNGLVERTEXSTREAM4FATIPROC)(GLenum stream, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nGLAPI PFNGLVERTEXSTREAM4FATIPROC glad_glVertexStream4fATI;\n#define glVertexStream4fATI glad_glVertexStream4fATI\ntypedef void (APIENTRYP PFNGLVERTEXSTREAM4FVATIPROC)(GLenum stream, const GLfloat *coords);\nGLAPI PFNGLVERTEXSTREAM4FVATIPROC glad_glVertexStream4fvATI;\n#define glVertexStream4fvATI glad_glVertexStream4fvATI\ntypedef void (APIENTRYP PFNGLVERTEXSTREAM4DATIPROC)(GLenum stream, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nGLAPI PFNGLVERTEXSTREAM4DATIPROC glad_glVertexStream4dATI;\n#define glVertexStream4dATI glad_glVertexStream4dATI\ntypedef void (APIENTRYP PFNGLVERTEXSTREAM4DVATIPROC)(GLenum stream, const GLdouble *coords);\nGLAPI PFNGLVERTEXSTREAM4DVATIPROC glad_glVertexStream4dvATI;\n#define glVertexStream4dvATI glad_glVertexStream4dvATI\ntypedef void (APIENTRYP PFNGLNORMALSTREAM3BATIPROC)(GLenum stream, GLbyte nx, GLbyte ny, GLbyte nz);\nGLAPI PFNGLNORMALSTREAM3BATIPROC glad_glNormalStream3bATI;\n#define glNormalStream3bATI glad_glNormalStream3bATI\ntypedef void (APIENTRYP PFNGLNORMALSTREAM3BVATIPROC)(GLenum stream, const GLbyte *coords);\nGLAPI PFNGLNORMALSTREAM3BVATIPROC glad_glNormalStream3bvATI;\n#define glNormalStream3bvATI glad_glNormalStream3bvATI\ntypedef void (APIENTRYP PFNGLNORMALSTREAM3SATIPROC)(GLenum stream, GLshort nx, GLshort ny, GLshort nz);\nGLAPI PFNGLNORMALSTREAM3SATIPROC glad_glNormalStream3sATI;\n#define glNormalStream3sATI glad_glNormalStream3sATI\ntypedef void (APIENTRYP PFNGLNORMALSTREAM3SVATIPROC)(GLenum stream, const GLshort *coords);\nGLAPI PFNGLNORMALSTREAM3SVATIPROC glad_glNormalStream3svATI;\n#define glNormalStream3svATI glad_glNormalStream3svATI\ntypedef void (APIENTRYP PFNGLNORMALSTREAM3IATIPROC)(GLenum stream, GLint nx, GLint ny, GLint nz);\nGLAPI PFNGLNORMALSTREAM3IATIPROC glad_glNormalStream3iATI;\n#define glNormalStream3iATI glad_glNormalStream3iATI\ntypedef void (APIENTRYP PFNGLNORMALSTREAM3IVATIPROC)(GLenum stream, const GLint *coords);\nGLAPI PFNGLNORMALSTREAM3IVATIPROC glad_glNormalStream3ivATI;\n#define glNormalStream3ivATI glad_glNormalStream3ivATI\ntypedef void (APIENTRYP PFNGLNORMALSTREAM3FATIPROC)(GLenum stream, GLfloat nx, GLfloat ny, GLfloat nz);\nGLAPI PFNGLNORMALSTREAM3FATIPROC glad_glNormalStream3fATI;\n#define glNormalStream3fATI glad_glNormalStream3fATI\ntypedef void (APIENTRYP PFNGLNORMALSTREAM3FVATIPROC)(GLenum stream, const GLfloat *coords);\nGLAPI PFNGLNORMALSTREAM3FVATIPROC glad_glNormalStream3fvATI;\n#define glNormalStream3fvATI glad_glNormalStream3fvATI\ntypedef void (APIENTRYP PFNGLNORMALSTREAM3DATIPROC)(GLenum stream, GLdouble nx, GLdouble ny, GLdouble nz);\nGLAPI PFNGLNORMALSTREAM3DATIPROC glad_glNormalStream3dATI;\n#define glNormalStream3dATI glad_glNormalStream3dATI\ntypedef void (APIENTRYP PFNGLNORMALSTREAM3DVATIPROC)(GLenum stream, const GLdouble *coords);\nGLAPI PFNGLNORMALSTREAM3DVATIPROC glad_glNormalStream3dvATI;\n#define glNormalStream3dvATI glad_glNormalStream3dvATI\ntypedef void (APIENTRYP PFNGLCLIENTACTIVEVERTEXSTREAMATIPROC)(GLenum stream);\nGLAPI PFNGLCLIENTACTIVEVERTEXSTREAMATIPROC glad_glClientActiveVertexStreamATI;\n#define glClientActiveVertexStreamATI glad_glClientActiveVertexStreamATI\ntypedef void (APIENTRYP PFNGLVERTEXBLENDENVIATIPROC)(GLenum pname, GLint param);\nGLAPI PFNGLVERTEXBLENDENVIATIPROC glad_glVertexBlendEnviATI;\n#define glVertexBlendEnviATI glad_glVertexBlendEnviATI\ntypedef void (APIENTRYP PFNGLVERTEXBLENDENVFATIPROC)(GLenum pname, GLfloat param);\nGLAPI PFNGLVERTEXBLENDENVFATIPROC glad_glVertexBlendEnvfATI;\n#define glVertexBlendEnvfATI glad_glVertexBlendEnvfATI\n#endif\n#ifndef GL_EXT_422_pixels\n#define GL_EXT_422_pixels 1\nGLAPI int GLAD_GL_EXT_422_pixels;\n#endif\n#ifndef GL_EXT_abgr\n#define GL_EXT_abgr 1\nGLAPI int GLAD_GL_EXT_abgr;\n#endif\n#ifndef GL_EXT_bgra\n#define GL_EXT_bgra 1\nGLAPI int GLAD_GL_EXT_bgra;\n#endif\n#ifndef GL_EXT_bindable_uniform\n#define GL_EXT_bindable_uniform 1\nGLAPI int GLAD_GL_EXT_bindable_uniform;\ntypedef void (APIENTRYP PFNGLUNIFORMBUFFEREXTPROC)(GLuint program, GLint location, GLuint buffer);\nGLAPI PFNGLUNIFORMBUFFEREXTPROC glad_glUniformBufferEXT;\n#define glUniformBufferEXT glad_glUniformBufferEXT\ntypedef GLint (APIENTRYP PFNGLGETUNIFORMBUFFERSIZEEXTPROC)(GLuint program, GLint location);\nGLAPI PFNGLGETUNIFORMBUFFERSIZEEXTPROC glad_glGetUniformBufferSizeEXT;\n#define glGetUniformBufferSizeEXT glad_glGetUniformBufferSizeEXT\ntypedef GLintptr (APIENTRYP PFNGLGETUNIFORMOFFSETEXTPROC)(GLuint program, GLint location);\nGLAPI PFNGLGETUNIFORMOFFSETEXTPROC glad_glGetUniformOffsetEXT;\n#define glGetUniformOffsetEXT glad_glGetUniformOffsetEXT\n#endif\n#ifndef GL_EXT_blend_color\n#define GL_EXT_blend_color 1\nGLAPI int GLAD_GL_EXT_blend_color;\ntypedef void (APIENTRYP PFNGLBLENDCOLOREXTPROC)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);\nGLAPI PFNGLBLENDCOLOREXTPROC glad_glBlendColorEXT;\n#define glBlendColorEXT glad_glBlendColorEXT\n#endif\n#ifndef GL_EXT_blend_equation_separate\n#define GL_EXT_blend_equation_separate 1\nGLAPI int GLAD_GL_EXT_blend_equation_separate;\ntypedef void (APIENTRYP PFNGLBLENDEQUATIONSEPARATEEXTPROC)(GLenum modeRGB, GLenum modeAlpha);\nGLAPI PFNGLBLENDEQUATIONSEPARATEEXTPROC glad_glBlendEquationSeparateEXT;\n#define glBlendEquationSeparateEXT glad_glBlendEquationSeparateEXT\n#endif\n#ifndef GL_EXT_blend_func_separate\n#define GL_EXT_blend_func_separate 1\nGLAPI int GLAD_GL_EXT_blend_func_separate;\ntypedef void (APIENTRYP PFNGLBLENDFUNCSEPARATEEXTPROC)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);\nGLAPI PFNGLBLENDFUNCSEPARATEEXTPROC glad_glBlendFuncSeparateEXT;\n#define glBlendFuncSeparateEXT glad_glBlendFuncSeparateEXT\n#endif\n#ifndef GL_EXT_blend_logic_op\n#define GL_EXT_blend_logic_op 1\nGLAPI int GLAD_GL_EXT_blend_logic_op;\n#endif\n#ifndef GL_EXT_blend_minmax\n#define GL_EXT_blend_minmax 1\nGLAPI int GLAD_GL_EXT_blend_minmax;\ntypedef void (APIENTRYP PFNGLBLENDEQUATIONEXTPROC)(GLenum mode);\nGLAPI PFNGLBLENDEQUATIONEXTPROC glad_glBlendEquationEXT;\n#define glBlendEquationEXT glad_glBlendEquationEXT\n#endif\n#ifndef GL_EXT_blend_subtract\n#define GL_EXT_blend_subtract 1\nGLAPI int GLAD_GL_EXT_blend_subtract;\n#endif\n#ifndef GL_EXT_clip_volume_hint\n#define GL_EXT_clip_volume_hint 1\nGLAPI int GLAD_GL_EXT_clip_volume_hint;\n#endif\n#ifndef GL_EXT_cmyka\n#define GL_EXT_cmyka 1\nGLAPI int GLAD_GL_EXT_cmyka;\n#endif\n#ifndef GL_EXT_color_subtable\n#define GL_EXT_color_subtable 1\nGLAPI int GLAD_GL_EXT_color_subtable;\ntypedef void (APIENTRYP PFNGLCOLORSUBTABLEEXTPROC)(GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const void *data);\nGLAPI PFNGLCOLORSUBTABLEEXTPROC glad_glColorSubTableEXT;\n#define glColorSubTableEXT glad_glColorSubTableEXT\ntypedef void (APIENTRYP PFNGLCOPYCOLORSUBTABLEEXTPROC)(GLenum target, GLsizei start, GLint x, GLint y, GLsizei width);\nGLAPI PFNGLCOPYCOLORSUBTABLEEXTPROC glad_glCopyColorSubTableEXT;\n#define glCopyColorSubTableEXT glad_glCopyColorSubTableEXT\n#endif\n#ifndef GL_EXT_compiled_vertex_array\n#define GL_EXT_compiled_vertex_array 1\nGLAPI int GLAD_GL_EXT_compiled_vertex_array;\ntypedef void (APIENTRYP PFNGLLOCKARRAYSEXTPROC)(GLint first, GLsizei count);\nGLAPI PFNGLLOCKARRAYSEXTPROC glad_glLockArraysEXT;\n#define glLockArraysEXT glad_glLockArraysEXT\ntypedef void (APIENTRYP PFNGLUNLOCKARRAYSEXTPROC)();\nGLAPI PFNGLUNLOCKARRAYSEXTPROC glad_glUnlockArraysEXT;\n#define glUnlockArraysEXT glad_glUnlockArraysEXT\n#endif\n#ifndef GL_EXT_convolution\n#define GL_EXT_convolution 1\nGLAPI int GLAD_GL_EXT_convolution;\ntypedef void (APIENTRYP PFNGLCONVOLUTIONFILTER1DEXTPROC)(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const void *image);\nGLAPI PFNGLCONVOLUTIONFILTER1DEXTPROC glad_glConvolutionFilter1DEXT;\n#define glConvolutionFilter1DEXT glad_glConvolutionFilter1DEXT\ntypedef void (APIENTRYP PFNGLCONVOLUTIONFILTER2DEXTPROC)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *image);\nGLAPI PFNGLCONVOLUTIONFILTER2DEXTPROC glad_glConvolutionFilter2DEXT;\n#define glConvolutionFilter2DEXT glad_glConvolutionFilter2DEXT\ntypedef void (APIENTRYP PFNGLCONVOLUTIONPARAMETERFEXTPROC)(GLenum target, GLenum pname, GLfloat params);\nGLAPI PFNGLCONVOLUTIONPARAMETERFEXTPROC glad_glConvolutionParameterfEXT;\n#define glConvolutionParameterfEXT glad_glConvolutionParameterfEXT\ntypedef void (APIENTRYP PFNGLCONVOLUTIONPARAMETERFVEXTPROC)(GLenum target, GLenum pname, const GLfloat *params);\nGLAPI PFNGLCONVOLUTIONPARAMETERFVEXTPROC glad_glConvolutionParameterfvEXT;\n#define glConvolutionParameterfvEXT glad_glConvolutionParameterfvEXT\ntypedef void (APIENTRYP PFNGLCONVOLUTIONPARAMETERIEXTPROC)(GLenum target, GLenum pname, GLint params);\nGLAPI PFNGLCONVOLUTIONPARAMETERIEXTPROC glad_glConvolutionParameteriEXT;\n#define glConvolutionParameteriEXT glad_glConvolutionParameteriEXT\ntypedef void (APIENTRYP PFNGLCONVOLUTIONPARAMETERIVEXTPROC)(GLenum target, GLenum pname, const GLint *params);\nGLAPI PFNGLCONVOLUTIONPARAMETERIVEXTPROC glad_glConvolutionParameterivEXT;\n#define glConvolutionParameterivEXT glad_glConvolutionParameterivEXT\ntypedef void (APIENTRYP PFNGLCOPYCONVOLUTIONFILTER1DEXTPROC)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);\nGLAPI PFNGLCOPYCONVOLUTIONFILTER1DEXTPROC glad_glCopyConvolutionFilter1DEXT;\n#define glCopyConvolutionFilter1DEXT glad_glCopyConvolutionFilter1DEXT\ntypedef void (APIENTRYP PFNGLCOPYCONVOLUTIONFILTER2DEXTPROC)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height);\nGLAPI PFNGLCOPYCONVOLUTIONFILTER2DEXTPROC glad_glCopyConvolutionFilter2DEXT;\n#define glCopyConvolutionFilter2DEXT glad_glCopyConvolutionFilter2DEXT\ntypedef void (APIENTRYP PFNGLGETCONVOLUTIONFILTEREXTPROC)(GLenum target, GLenum format, GLenum type, void *image);\nGLAPI PFNGLGETCONVOLUTIONFILTEREXTPROC glad_glGetConvolutionFilterEXT;\n#define glGetConvolutionFilterEXT glad_glGetConvolutionFilterEXT\ntypedef void (APIENTRYP PFNGLGETCONVOLUTIONPARAMETERFVEXTPROC)(GLenum target, GLenum pname, GLfloat *params);\nGLAPI PFNGLGETCONVOLUTIONPARAMETERFVEXTPROC glad_glGetConvolutionParameterfvEXT;\n#define glGetConvolutionParameterfvEXT glad_glGetConvolutionParameterfvEXT\ntypedef void (APIENTRYP PFNGLGETCONVOLUTIONPARAMETERIVEXTPROC)(GLenum target, GLenum pname, GLint *params);\nGLAPI PFNGLGETCONVOLUTIONPARAMETERIVEXTPROC glad_glGetConvolutionParameterivEXT;\n#define glGetConvolutionParameterivEXT glad_glGetConvolutionParameterivEXT\ntypedef void (APIENTRYP PFNGLGETSEPARABLEFILTEREXTPROC)(GLenum target, GLenum format, GLenum type, void *row, void *column, void *span);\nGLAPI PFNGLGETSEPARABLEFILTEREXTPROC glad_glGetSeparableFilterEXT;\n#define glGetSeparableFilterEXT glad_glGetSeparableFilterEXT\ntypedef void (APIENTRYP PFNGLSEPARABLEFILTER2DEXTPROC)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *row, const void *column);\nGLAPI PFNGLSEPARABLEFILTER2DEXTPROC glad_glSeparableFilter2DEXT;\n#define glSeparableFilter2DEXT glad_glSeparableFilter2DEXT\n#endif\n#ifndef GL_EXT_coordinate_frame\n#define GL_EXT_coordinate_frame 1\nGLAPI int GLAD_GL_EXT_coordinate_frame;\ntypedef void (APIENTRYP PFNGLTANGENT3BEXTPROC)(GLbyte tx, GLbyte ty, GLbyte tz);\nGLAPI PFNGLTANGENT3BEXTPROC glad_glTangent3bEXT;\n#define glTangent3bEXT glad_glTangent3bEXT\ntypedef void (APIENTRYP PFNGLTANGENT3BVEXTPROC)(const GLbyte *v);\nGLAPI PFNGLTANGENT3BVEXTPROC glad_glTangent3bvEXT;\n#define glTangent3bvEXT glad_glTangent3bvEXT\ntypedef void (APIENTRYP PFNGLTANGENT3DEXTPROC)(GLdouble tx, GLdouble ty, GLdouble tz);\nGLAPI PFNGLTANGENT3DEXTPROC glad_glTangent3dEXT;\n#define glTangent3dEXT glad_glTangent3dEXT\ntypedef void (APIENTRYP PFNGLTANGENT3DVEXTPROC)(const GLdouble *v);\nGLAPI PFNGLTANGENT3DVEXTPROC glad_glTangent3dvEXT;\n#define glTangent3dvEXT glad_glTangent3dvEXT\ntypedef void (APIENTRYP PFNGLTANGENT3FEXTPROC)(GLfloat tx, GLfloat ty, GLfloat tz);\nGLAPI PFNGLTANGENT3FEXTPROC glad_glTangent3fEXT;\n#define glTangent3fEXT glad_glTangent3fEXT\ntypedef void (APIENTRYP PFNGLTANGENT3FVEXTPROC)(const GLfloat *v);\nGLAPI PFNGLTANGENT3FVEXTPROC glad_glTangent3fvEXT;\n#define glTangent3fvEXT glad_glTangent3fvEXT\ntypedef void (APIENTRYP PFNGLTANGENT3IEXTPROC)(GLint tx, GLint ty, GLint tz);\nGLAPI PFNGLTANGENT3IEXTPROC glad_glTangent3iEXT;\n#define glTangent3iEXT glad_glTangent3iEXT\ntypedef void (APIENTRYP PFNGLTANGENT3IVEXTPROC)(const GLint *v);\nGLAPI PFNGLTANGENT3IVEXTPROC glad_glTangent3ivEXT;\n#define glTangent3ivEXT glad_glTangent3ivEXT\ntypedef void (APIENTRYP PFNGLTANGENT3SEXTPROC)(GLshort tx, GLshort ty, GLshort tz);\nGLAPI PFNGLTANGENT3SEXTPROC glad_glTangent3sEXT;\n#define glTangent3sEXT glad_glTangent3sEXT\ntypedef void (APIENTRYP PFNGLTANGENT3SVEXTPROC)(const GLshort *v);\nGLAPI PFNGLTANGENT3SVEXTPROC glad_glTangent3svEXT;\n#define glTangent3svEXT glad_glTangent3svEXT\ntypedef void (APIENTRYP PFNGLBINORMAL3BEXTPROC)(GLbyte bx, GLbyte by, GLbyte bz);\nGLAPI PFNGLBINORMAL3BEXTPROC glad_glBinormal3bEXT;\n#define glBinormal3bEXT glad_glBinormal3bEXT\ntypedef void (APIENTRYP PFNGLBINORMAL3BVEXTPROC)(const GLbyte *v);\nGLAPI PFNGLBINORMAL3BVEXTPROC glad_glBinormal3bvEXT;\n#define glBinormal3bvEXT glad_glBinormal3bvEXT\ntypedef void (APIENTRYP PFNGLBINORMAL3DEXTPROC)(GLdouble bx, GLdouble by, GLdouble bz);\nGLAPI PFNGLBINORMAL3DEXTPROC glad_glBinormal3dEXT;\n#define glBinormal3dEXT glad_glBinormal3dEXT\ntypedef void (APIENTRYP PFNGLBINORMAL3DVEXTPROC)(const GLdouble *v);\nGLAPI PFNGLBINORMAL3DVEXTPROC glad_glBinormal3dvEXT;\n#define glBinormal3dvEXT glad_glBinormal3dvEXT\ntypedef void (APIENTRYP PFNGLBINORMAL3FEXTPROC)(GLfloat bx, GLfloat by, GLfloat bz);\nGLAPI PFNGLBINORMAL3FEXTPROC glad_glBinormal3fEXT;\n#define glBinormal3fEXT glad_glBinormal3fEXT\ntypedef void (APIENTRYP PFNGLBINORMAL3FVEXTPROC)(const GLfloat *v);\nGLAPI PFNGLBINORMAL3FVEXTPROC glad_glBinormal3fvEXT;\n#define glBinormal3fvEXT glad_glBinormal3fvEXT\ntypedef void (APIENTRYP PFNGLBINORMAL3IEXTPROC)(GLint bx, GLint by, GLint bz);\nGLAPI PFNGLBINORMAL3IEXTPROC glad_glBinormal3iEXT;\n#define glBinormal3iEXT glad_glBinormal3iEXT\ntypedef void (APIENTRYP PFNGLBINORMAL3IVEXTPROC)(const GLint *v);\nGLAPI PFNGLBINORMAL3IVEXTPROC glad_glBinormal3ivEXT;\n#define glBinormal3ivEXT glad_glBinormal3ivEXT\ntypedef void (APIENTRYP PFNGLBINORMAL3SEXTPROC)(GLshort bx, GLshort by, GLshort bz);\nGLAPI PFNGLBINORMAL3SEXTPROC glad_glBinormal3sEXT;\n#define glBinormal3sEXT glad_glBinormal3sEXT\ntypedef void (APIENTRYP PFNGLBINORMAL3SVEXTPROC)(const GLshort *v);\nGLAPI PFNGLBINORMAL3SVEXTPROC glad_glBinormal3svEXT;\n#define glBinormal3svEXT glad_glBinormal3svEXT\ntypedef void (APIENTRYP PFNGLTANGENTPOINTEREXTPROC)(GLenum type, GLsizei stride, const void *pointer);\nGLAPI PFNGLTANGENTPOINTEREXTPROC glad_glTangentPointerEXT;\n#define glTangentPointerEXT glad_glTangentPointerEXT\ntypedef void (APIENTRYP PFNGLBINORMALPOINTEREXTPROC)(GLenum type, GLsizei stride, const void *pointer);\nGLAPI PFNGLBINORMALPOINTEREXTPROC glad_glBinormalPointerEXT;\n#define glBinormalPointerEXT glad_glBinormalPointerEXT\n#endif\n#ifndef GL_EXT_copy_texture\n#define GL_EXT_copy_texture 1\nGLAPI int GLAD_GL_EXT_copy_texture;\ntypedef void (APIENTRYP PFNGLCOPYTEXIMAGE1DEXTPROC)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);\nGLAPI PFNGLCOPYTEXIMAGE1DEXTPROC glad_glCopyTexImage1DEXT;\n#define glCopyTexImage1DEXT glad_glCopyTexImage1DEXT\ntypedef void (APIENTRYP PFNGLCOPYTEXIMAGE2DEXTPROC)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);\nGLAPI PFNGLCOPYTEXIMAGE2DEXTPROC glad_glCopyTexImage2DEXT;\n#define glCopyTexImage2DEXT glad_glCopyTexImage2DEXT\ntypedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE1DEXTPROC)(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);\nGLAPI PFNGLCOPYTEXSUBIMAGE1DEXTPROC glad_glCopyTexSubImage1DEXT;\n#define glCopyTexSubImage1DEXT glad_glCopyTexSubImage1DEXT\ntypedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE2DEXTPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);\nGLAPI PFNGLCOPYTEXSUBIMAGE2DEXTPROC glad_glCopyTexSubImage2DEXT;\n#define glCopyTexSubImage2DEXT glad_glCopyTexSubImage2DEXT\ntypedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE3DEXTPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);\nGLAPI PFNGLCOPYTEXSUBIMAGE3DEXTPROC glad_glCopyTexSubImage3DEXT;\n#define glCopyTexSubImage3DEXT glad_glCopyTexSubImage3DEXT\n#endif\n#ifndef GL_EXT_cull_vertex\n#define GL_EXT_cull_vertex 1\nGLAPI int GLAD_GL_EXT_cull_vertex;\ntypedef void (APIENTRYP PFNGLCULLPARAMETERDVEXTPROC)(GLenum pname, GLdouble *params);\nGLAPI PFNGLCULLPARAMETERDVEXTPROC glad_glCullParameterdvEXT;\n#define glCullParameterdvEXT glad_glCullParameterdvEXT\ntypedef void (APIENTRYP PFNGLCULLPARAMETERFVEXTPROC)(GLenum pname, GLfloat *params);\nGLAPI PFNGLCULLPARAMETERFVEXTPROC glad_glCullParameterfvEXT;\n#define glCullParameterfvEXT glad_glCullParameterfvEXT\n#endif\n#ifndef GL_EXT_debug_label\n#define GL_EXT_debug_label 1\nGLAPI int GLAD_GL_EXT_debug_label;\ntypedef void (APIENTRYP PFNGLLABELOBJECTEXTPROC)(GLenum type, GLuint object, GLsizei length, const GLchar *label);\nGLAPI PFNGLLABELOBJECTEXTPROC glad_glLabelObjectEXT;\n#define glLabelObjectEXT glad_glLabelObjectEXT\ntypedef void (APIENTRYP PFNGLGETOBJECTLABELEXTPROC)(GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label);\nGLAPI PFNGLGETOBJECTLABELEXTPROC glad_glGetObjectLabelEXT;\n#define glGetObjectLabelEXT glad_glGetObjectLabelEXT\n#endif\n#ifndef GL_EXT_debug_marker\n#define GL_EXT_debug_marker 1\nGLAPI int GLAD_GL_EXT_debug_marker;\ntypedef void (APIENTRYP PFNGLINSERTEVENTMARKEREXTPROC)(GLsizei length, const GLchar *marker);\nGLAPI PFNGLINSERTEVENTMARKEREXTPROC glad_glInsertEventMarkerEXT;\n#define glInsertEventMarkerEXT glad_glInsertEventMarkerEXT\ntypedef void (APIENTRYP PFNGLPUSHGROUPMARKEREXTPROC)(GLsizei length, const GLchar *marker);\nGLAPI PFNGLPUSHGROUPMARKEREXTPROC glad_glPushGroupMarkerEXT;\n#define glPushGroupMarkerEXT glad_glPushGroupMarkerEXT\ntypedef void (APIENTRYP PFNGLPOPGROUPMARKEREXTPROC)();\nGLAPI PFNGLPOPGROUPMARKEREXTPROC glad_glPopGroupMarkerEXT;\n#define glPopGroupMarkerEXT glad_glPopGroupMarkerEXT\n#endif\n#ifndef GL_EXT_depth_bounds_test\n#define GL_EXT_depth_bounds_test 1\nGLAPI int GLAD_GL_EXT_depth_bounds_test;\ntypedef void (APIENTRYP PFNGLDEPTHBOUNDSEXTPROC)(GLclampd zmin, GLclampd zmax);\nGLAPI PFNGLDEPTHBOUNDSEXTPROC glad_glDepthBoundsEXT;\n#define glDepthBoundsEXT glad_glDepthBoundsEXT\n#endif\n#ifndef GL_EXT_direct_state_access\n#define GL_EXT_direct_state_access 1\nGLAPI int GLAD_GL_EXT_direct_state_access;\ntypedef void (APIENTRYP PFNGLMATRIXLOADFEXTPROC)(GLenum mode, const GLfloat *m);\nGLAPI PFNGLMATRIXLOADFEXTPROC glad_glMatrixLoadfEXT;\n#define glMatrixLoadfEXT glad_glMatrixLoadfEXT\ntypedef void (APIENTRYP PFNGLMATRIXLOADDEXTPROC)(GLenum mode, const GLdouble *m);\nGLAPI PFNGLMATRIXLOADDEXTPROC glad_glMatrixLoaddEXT;\n#define glMatrixLoaddEXT glad_glMatrixLoaddEXT\ntypedef void (APIENTRYP PFNGLMATRIXMULTFEXTPROC)(GLenum mode, const GLfloat *m);\nGLAPI PFNGLMATRIXMULTFEXTPROC glad_glMatrixMultfEXT;\n#define glMatrixMultfEXT glad_glMatrixMultfEXT\ntypedef void (APIENTRYP PFNGLMATRIXMULTDEXTPROC)(GLenum mode, const GLdouble *m);\nGLAPI PFNGLMATRIXMULTDEXTPROC glad_glMatrixMultdEXT;\n#define glMatrixMultdEXT glad_glMatrixMultdEXT\ntypedef void (APIENTRYP PFNGLMATRIXLOADIDENTITYEXTPROC)(GLenum mode);\nGLAPI PFNGLMATRIXLOADIDENTITYEXTPROC glad_glMatrixLoadIdentityEXT;\n#define glMatrixLoadIdentityEXT glad_glMatrixLoadIdentityEXT\ntypedef void (APIENTRYP PFNGLMATRIXROTATEFEXTPROC)(GLenum mode, GLfloat angle, GLfloat x, GLfloat y, GLfloat z);\nGLAPI PFNGLMATRIXROTATEFEXTPROC glad_glMatrixRotatefEXT;\n#define glMatrixRotatefEXT glad_glMatrixRotatefEXT\ntypedef void (APIENTRYP PFNGLMATRIXROTATEDEXTPROC)(GLenum mode, GLdouble angle, GLdouble x, GLdouble y, GLdouble z);\nGLAPI PFNGLMATRIXROTATEDEXTPROC glad_glMatrixRotatedEXT;\n#define glMatrixRotatedEXT glad_glMatrixRotatedEXT\ntypedef void (APIENTRYP PFNGLMATRIXSCALEFEXTPROC)(GLenum mode, GLfloat x, GLfloat y, GLfloat z);\nGLAPI PFNGLMATRIXSCALEFEXTPROC glad_glMatrixScalefEXT;\n#define glMatrixScalefEXT glad_glMatrixScalefEXT\ntypedef void (APIENTRYP PFNGLMATRIXSCALEDEXTPROC)(GLenum mode, GLdouble x, GLdouble y, GLdouble z);\nGLAPI PFNGLMATRIXSCALEDEXTPROC glad_glMatrixScaledEXT;\n#define glMatrixScaledEXT glad_glMatrixScaledEXT\ntypedef void (APIENTRYP PFNGLMATRIXTRANSLATEFEXTPROC)(GLenum mode, GLfloat x, GLfloat y, GLfloat z);\nGLAPI PFNGLMATRIXTRANSLATEFEXTPROC glad_glMatrixTranslatefEXT;\n#define glMatrixTranslatefEXT glad_glMatrixTranslatefEXT\ntypedef void (APIENTRYP PFNGLMATRIXTRANSLATEDEXTPROC)(GLenum mode, GLdouble x, GLdouble y, GLdouble z);\nGLAPI PFNGLMATRIXTRANSLATEDEXTPROC glad_glMatrixTranslatedEXT;\n#define glMatrixTranslatedEXT glad_glMatrixTranslatedEXT\ntypedef void (APIENTRYP PFNGLMATRIXFRUSTUMEXTPROC)(GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);\nGLAPI PFNGLMATRIXFRUSTUMEXTPROC glad_glMatrixFrustumEXT;\n#define glMatrixFrustumEXT glad_glMatrixFrustumEXT\ntypedef void (APIENTRYP PFNGLMATRIXORTHOEXTPROC)(GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);\nGLAPI PFNGLMATRIXORTHOEXTPROC glad_glMatrixOrthoEXT;\n#define glMatrixOrthoEXT glad_glMatrixOrthoEXT\ntypedef void (APIENTRYP PFNGLMATRIXPOPEXTPROC)(GLenum mode);\nGLAPI PFNGLMATRIXPOPEXTPROC glad_glMatrixPopEXT;\n#define glMatrixPopEXT glad_glMatrixPopEXT\ntypedef void (APIENTRYP PFNGLMATRIXPUSHEXTPROC)(GLenum mode);\nGLAPI PFNGLMATRIXPUSHEXTPROC glad_glMatrixPushEXT;\n#define glMatrixPushEXT glad_glMatrixPushEXT\ntypedef void (APIENTRYP PFNGLCLIENTATTRIBDEFAULTEXTPROC)(GLbitfield mask);\nGLAPI PFNGLCLIENTATTRIBDEFAULTEXTPROC glad_glClientAttribDefaultEXT;\n#define glClientAttribDefaultEXT glad_glClientAttribDefaultEXT\ntypedef void (APIENTRYP PFNGLPUSHCLIENTATTRIBDEFAULTEXTPROC)(GLbitfield mask);\nGLAPI PFNGLPUSHCLIENTATTRIBDEFAULTEXTPROC glad_glPushClientAttribDefaultEXT;\n#define glPushClientAttribDefaultEXT glad_glPushClientAttribDefaultEXT\ntypedef void (APIENTRYP PFNGLTEXTUREPARAMETERFEXTPROC)(GLuint texture, GLenum target, GLenum pname, GLfloat param);\nGLAPI PFNGLTEXTUREPARAMETERFEXTPROC glad_glTextureParameterfEXT;\n#define glTextureParameterfEXT glad_glTextureParameterfEXT\ntypedef void (APIENTRYP PFNGLTEXTUREPARAMETERFVEXTPROC)(GLuint texture, GLenum target, GLenum pname, const GLfloat *params);\nGLAPI PFNGLTEXTUREPARAMETERFVEXTPROC glad_glTextureParameterfvEXT;\n#define glTextureParameterfvEXT glad_glTextureParameterfvEXT\ntypedef void (APIENTRYP PFNGLTEXTUREPARAMETERIEXTPROC)(GLuint texture, GLenum target, GLenum pname, GLint param);\nGLAPI PFNGLTEXTUREPARAMETERIEXTPROC glad_glTextureParameteriEXT;\n#define glTextureParameteriEXT glad_glTextureParameteriEXT\ntypedef void (APIENTRYP PFNGLTEXTUREPARAMETERIVEXTPROC)(GLuint texture, GLenum target, GLenum pname, const GLint *params);\nGLAPI PFNGLTEXTUREPARAMETERIVEXTPROC glad_glTextureParameterivEXT;\n#define glTextureParameterivEXT glad_glTextureParameterivEXT\ntypedef void (APIENTRYP PFNGLTEXTUREIMAGE1DEXTPROC)(GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void *pixels);\nGLAPI PFNGLTEXTUREIMAGE1DEXTPROC glad_glTextureImage1DEXT;\n#define glTextureImage1DEXT glad_glTextureImage1DEXT\ntypedef void (APIENTRYP PFNGLTEXTUREIMAGE2DEXTPROC)(GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels);\nGLAPI PFNGLTEXTUREIMAGE2DEXTPROC glad_glTextureImage2DEXT;\n#define glTextureImage2DEXT glad_glTextureImage2DEXT\ntypedef void (APIENTRYP PFNGLTEXTURESUBIMAGE1DEXTPROC)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels);\nGLAPI PFNGLTEXTURESUBIMAGE1DEXTPROC glad_glTextureSubImage1DEXT;\n#define glTextureSubImage1DEXT glad_glTextureSubImage1DEXT\ntypedef void (APIENTRYP PFNGLTEXTURESUBIMAGE2DEXTPROC)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels);\nGLAPI PFNGLTEXTURESUBIMAGE2DEXTPROC glad_glTextureSubImage2DEXT;\n#define glTextureSubImage2DEXT glad_glTextureSubImage2DEXT\ntypedef void (APIENTRYP PFNGLCOPYTEXTUREIMAGE1DEXTPROC)(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);\nGLAPI PFNGLCOPYTEXTUREIMAGE1DEXTPROC glad_glCopyTextureImage1DEXT;\n#define glCopyTextureImage1DEXT glad_glCopyTextureImage1DEXT\ntypedef void (APIENTRYP PFNGLCOPYTEXTUREIMAGE2DEXTPROC)(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);\nGLAPI PFNGLCOPYTEXTUREIMAGE2DEXTPROC glad_glCopyTextureImage2DEXT;\n#define glCopyTextureImage2DEXT glad_glCopyTextureImage2DEXT\ntypedef void (APIENTRYP PFNGLCOPYTEXTURESUBIMAGE1DEXTPROC)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);\nGLAPI PFNGLCOPYTEXTURESUBIMAGE1DEXTPROC glad_glCopyTextureSubImage1DEXT;\n#define glCopyTextureSubImage1DEXT glad_glCopyTextureSubImage1DEXT\ntypedef void (APIENTRYP PFNGLCOPYTEXTURESUBIMAGE2DEXTPROC)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);\nGLAPI PFNGLCOPYTEXTURESUBIMAGE2DEXTPROC glad_glCopyTextureSubImage2DEXT;\n#define glCopyTextureSubImage2DEXT glad_glCopyTextureSubImage2DEXT\ntypedef void (APIENTRYP PFNGLGETTEXTUREIMAGEEXTPROC)(GLuint texture, GLenum target, GLint level, GLenum format, GLenum type, void *pixels);\nGLAPI PFNGLGETTEXTUREIMAGEEXTPROC glad_glGetTextureImageEXT;\n#define glGetTextureImageEXT glad_glGetTextureImageEXT\ntypedef void (APIENTRYP PFNGLGETTEXTUREPARAMETERFVEXTPROC)(GLuint texture, GLenum target, GLenum pname, GLfloat *params);\nGLAPI PFNGLGETTEXTUREPARAMETERFVEXTPROC glad_glGetTextureParameterfvEXT;\n#define glGetTextureParameterfvEXT glad_glGetTextureParameterfvEXT\ntypedef void (APIENTRYP PFNGLGETTEXTUREPARAMETERIVEXTPROC)(GLuint texture, GLenum target, GLenum pname, GLint *params);\nGLAPI PFNGLGETTEXTUREPARAMETERIVEXTPROC glad_glGetTextureParameterivEXT;\n#define glGetTextureParameterivEXT glad_glGetTextureParameterivEXT\ntypedef void (APIENTRYP PFNGLGETTEXTURELEVELPARAMETERFVEXTPROC)(GLuint texture, GLenum target, GLint level, GLenum pname, GLfloat *params);\nGLAPI PFNGLGETTEXTURELEVELPARAMETERFVEXTPROC glad_glGetTextureLevelParameterfvEXT;\n#define glGetTextureLevelParameterfvEXT glad_glGetTextureLevelParameterfvEXT\ntypedef void (APIENTRYP PFNGLGETTEXTURELEVELPARAMETERIVEXTPROC)(GLuint texture, GLenum target, GLint level, GLenum pname, GLint *params);\nGLAPI PFNGLGETTEXTURELEVELPARAMETERIVEXTPROC glad_glGetTextureLevelParameterivEXT;\n#define glGetTextureLevelParameterivEXT glad_glGetTextureLevelParameterivEXT\ntypedef void (APIENTRYP PFNGLTEXTUREIMAGE3DEXTPROC)(GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels);\nGLAPI PFNGLTEXTUREIMAGE3DEXTPROC glad_glTextureImage3DEXT;\n#define glTextureImage3DEXT glad_glTextureImage3DEXT\ntypedef void (APIENTRYP PFNGLTEXTURESUBIMAGE3DEXTPROC)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels);\nGLAPI PFNGLTEXTURESUBIMAGE3DEXTPROC glad_glTextureSubImage3DEXT;\n#define glTextureSubImage3DEXT glad_glTextureSubImage3DEXT\ntypedef void (APIENTRYP PFNGLCOPYTEXTURESUBIMAGE3DEXTPROC)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);\nGLAPI PFNGLCOPYTEXTURESUBIMAGE3DEXTPROC glad_glCopyTextureSubImage3DEXT;\n#define glCopyTextureSubImage3DEXT glad_glCopyTextureSubImage3DEXT\ntypedef void (APIENTRYP PFNGLBINDMULTITEXTUREEXTPROC)(GLenum texunit, GLenum target, GLuint texture);\nGLAPI PFNGLBINDMULTITEXTUREEXTPROC glad_glBindMultiTextureEXT;\n#define glBindMultiTextureEXT glad_glBindMultiTextureEXT\ntypedef void (APIENTRYP PFNGLMULTITEXCOORDPOINTEREXTPROC)(GLenum texunit, GLint size, GLenum type, GLsizei stride, const void *pointer);\nGLAPI PFNGLMULTITEXCOORDPOINTEREXTPROC glad_glMultiTexCoordPointerEXT;\n#define glMultiTexCoordPointerEXT glad_glMultiTexCoordPointerEXT\ntypedef void (APIENTRYP PFNGLMULTITEXENVFEXTPROC)(GLenum texunit, GLenum target, GLenum pname, GLfloat param);\nGLAPI PFNGLMULTITEXENVFEXTPROC glad_glMultiTexEnvfEXT;\n#define glMultiTexEnvfEXT glad_glMultiTexEnvfEXT\ntypedef void (APIENTRYP PFNGLMULTITEXENVFVEXTPROC)(GLenum texunit, GLenum target, GLenum pname, const GLfloat *params);\nGLAPI PFNGLMULTITEXENVFVEXTPROC glad_glMultiTexEnvfvEXT;\n#define glMultiTexEnvfvEXT glad_glMultiTexEnvfvEXT\ntypedef void (APIENTRYP PFNGLMULTITEXENVIEXTPROC)(GLenum texunit, GLenum target, GLenum pname, GLint param);\nGLAPI PFNGLMULTITEXENVIEXTPROC glad_glMultiTexEnviEXT;\n#define glMultiTexEnviEXT glad_glMultiTexEnviEXT\ntypedef void (APIENTRYP PFNGLMULTITEXENVIVEXTPROC)(GLenum texunit, GLenum target, GLenum pname, const GLint *params);\nGLAPI PFNGLMULTITEXENVIVEXTPROC glad_glMultiTexEnvivEXT;\n#define glMultiTexEnvivEXT glad_glMultiTexEnvivEXT\ntypedef void (APIENTRYP PFNGLMULTITEXGENDEXTPROC)(GLenum texunit, GLenum coord, GLenum pname, GLdouble param);\nGLAPI PFNGLMULTITEXGENDEXTPROC glad_glMultiTexGendEXT;\n#define glMultiTexGendEXT glad_glMultiTexGendEXT\ntypedef void (APIENTRYP PFNGLMULTITEXGENDVEXTPROC)(GLenum texunit, GLenum coord, GLenum pname, const GLdouble *params);\nGLAPI PFNGLMULTITEXGENDVEXTPROC glad_glMultiTexGendvEXT;\n#define glMultiTexGendvEXT glad_glMultiTexGendvEXT\ntypedef void (APIENTRYP PFNGLMULTITEXGENFEXTPROC)(GLenum texunit, GLenum coord, GLenum pname, GLfloat param);\nGLAPI PFNGLMULTITEXGENFEXTPROC glad_glMultiTexGenfEXT;\n#define glMultiTexGenfEXT glad_glMultiTexGenfEXT\ntypedef void (APIENTRYP PFNGLMULTITEXGENFVEXTPROC)(GLenum texunit, GLenum coord, GLenum pname, const GLfloat *params);\nGLAPI PFNGLMULTITEXGENFVEXTPROC glad_glMultiTexGenfvEXT;\n#define glMultiTexGenfvEXT glad_glMultiTexGenfvEXT\ntypedef void (APIENTRYP PFNGLMULTITEXGENIEXTPROC)(GLenum texunit, GLenum coord, GLenum pname, GLint param);\nGLAPI PFNGLMULTITEXGENIEXTPROC glad_glMultiTexGeniEXT;\n#define glMultiTexGeniEXT glad_glMultiTexGeniEXT\ntypedef void (APIENTRYP PFNGLMULTITEXGENIVEXTPROC)(GLenum texunit, GLenum coord, GLenum pname, const GLint *params);\nGLAPI PFNGLMULTITEXGENIVEXTPROC glad_glMultiTexGenivEXT;\n#define glMultiTexGenivEXT glad_glMultiTexGenivEXT\ntypedef void (APIENTRYP PFNGLGETMULTITEXENVFVEXTPROC)(GLenum texunit, GLenum target, GLenum pname, GLfloat *params);\nGLAPI PFNGLGETMULTITEXENVFVEXTPROC glad_glGetMultiTexEnvfvEXT;\n#define glGetMultiTexEnvfvEXT glad_glGetMultiTexEnvfvEXT\ntypedef void (APIENTRYP PFNGLGETMULTITEXENVIVEXTPROC)(GLenum texunit, GLenum target, GLenum pname, GLint *params);\nGLAPI PFNGLGETMULTITEXENVIVEXTPROC glad_glGetMultiTexEnvivEXT;\n#define glGetMultiTexEnvivEXT glad_glGetMultiTexEnvivEXT\ntypedef void (APIENTRYP PFNGLGETMULTITEXGENDVEXTPROC)(GLenum texunit, GLenum coord, GLenum pname, GLdouble *params);\nGLAPI PFNGLGETMULTITEXGENDVEXTPROC glad_glGetMultiTexGendvEXT;\n#define glGetMultiTexGendvEXT glad_glGetMultiTexGendvEXT\ntypedef void (APIENTRYP PFNGLGETMULTITEXGENFVEXTPROC)(GLenum texunit, GLenum coord, GLenum pname, GLfloat *params);\nGLAPI PFNGLGETMULTITEXGENFVEXTPROC glad_glGetMultiTexGenfvEXT;\n#define glGetMultiTexGenfvEXT glad_glGetMultiTexGenfvEXT\ntypedef void (APIENTRYP PFNGLGETMULTITEXGENIVEXTPROC)(GLenum texunit, GLenum coord, GLenum pname, GLint *params);\nGLAPI PFNGLGETMULTITEXGENIVEXTPROC glad_glGetMultiTexGenivEXT;\n#define glGetMultiTexGenivEXT glad_glGetMultiTexGenivEXT\ntypedef void (APIENTRYP PFNGLMULTITEXPARAMETERIEXTPROC)(GLenum texunit, GLenum target, GLenum pname, GLint param);\nGLAPI PFNGLMULTITEXPARAMETERIEXTPROC glad_glMultiTexParameteriEXT;\n#define glMultiTexParameteriEXT glad_glMultiTexParameteriEXT\ntypedef void (APIENTRYP PFNGLMULTITEXPARAMETERIVEXTPROC)(GLenum texunit, GLenum target, GLenum pname, const GLint *params);\nGLAPI PFNGLMULTITEXPARAMETERIVEXTPROC glad_glMultiTexParameterivEXT;\n#define glMultiTexParameterivEXT glad_glMultiTexParameterivEXT\ntypedef void (APIENTRYP PFNGLMULTITEXPARAMETERFEXTPROC)(GLenum texunit, GLenum target, GLenum pname, GLfloat param);\nGLAPI PFNGLMULTITEXPARAMETERFEXTPROC glad_glMultiTexParameterfEXT;\n#define glMultiTexParameterfEXT glad_glMultiTexParameterfEXT\ntypedef void (APIENTRYP PFNGLMULTITEXPARAMETERFVEXTPROC)(GLenum texunit, GLenum target, GLenum pname, const GLfloat *params);\nGLAPI PFNGLMULTITEXPARAMETERFVEXTPROC glad_glMultiTexParameterfvEXT;\n#define glMultiTexParameterfvEXT glad_glMultiTexParameterfvEXT\ntypedef void (APIENTRYP PFNGLMULTITEXIMAGE1DEXTPROC)(GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void *pixels);\nGLAPI PFNGLMULTITEXIMAGE1DEXTPROC glad_glMultiTexImage1DEXT;\n#define glMultiTexImage1DEXT glad_glMultiTexImage1DEXT\ntypedef void (APIENTRYP PFNGLMULTITEXIMAGE2DEXTPROC)(GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels);\nGLAPI PFNGLMULTITEXIMAGE2DEXTPROC glad_glMultiTexImage2DEXT;\n#define glMultiTexImage2DEXT glad_glMultiTexImage2DEXT\ntypedef void (APIENTRYP PFNGLMULTITEXSUBIMAGE1DEXTPROC)(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels);\nGLAPI PFNGLMULTITEXSUBIMAGE1DEXTPROC glad_glMultiTexSubImage1DEXT;\n#define glMultiTexSubImage1DEXT glad_glMultiTexSubImage1DEXT\ntypedef void (APIENTRYP PFNGLMULTITEXSUBIMAGE2DEXTPROC)(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels);\nGLAPI PFNGLMULTITEXSUBIMAGE2DEXTPROC glad_glMultiTexSubImage2DEXT;\n#define glMultiTexSubImage2DEXT glad_glMultiTexSubImage2DEXT\ntypedef void (APIENTRYP PFNGLCOPYMULTITEXIMAGE1DEXTPROC)(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);\nGLAPI PFNGLCOPYMULTITEXIMAGE1DEXTPROC glad_glCopyMultiTexImage1DEXT;\n#define glCopyMultiTexImage1DEXT glad_glCopyMultiTexImage1DEXT\ntypedef void (APIENTRYP PFNGLCOPYMULTITEXIMAGE2DEXTPROC)(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);\nGLAPI PFNGLCOPYMULTITEXIMAGE2DEXTPROC glad_glCopyMultiTexImage2DEXT;\n#define glCopyMultiTexImage2DEXT glad_glCopyMultiTexImage2DEXT\ntypedef void (APIENTRYP PFNGLCOPYMULTITEXSUBIMAGE1DEXTPROC)(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);\nGLAPI PFNGLCOPYMULTITEXSUBIMAGE1DEXTPROC glad_glCopyMultiTexSubImage1DEXT;\n#define glCopyMultiTexSubImage1DEXT glad_glCopyMultiTexSubImage1DEXT\ntypedef void (APIENTRYP PFNGLCOPYMULTITEXSUBIMAGE2DEXTPROC)(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);\nGLAPI PFNGLCOPYMULTITEXSUBIMAGE2DEXTPROC glad_glCopyMultiTexSubImage2DEXT;\n#define glCopyMultiTexSubImage2DEXT glad_glCopyMultiTexSubImage2DEXT\ntypedef void (APIENTRYP PFNGLGETMULTITEXIMAGEEXTPROC)(GLenum texunit, GLenum target, GLint level, GLenum format, GLenum type, void *pixels);\nGLAPI PFNGLGETMULTITEXIMAGEEXTPROC glad_glGetMultiTexImageEXT;\n#define glGetMultiTexImageEXT glad_glGetMultiTexImageEXT\ntypedef void (APIENTRYP PFNGLGETMULTITEXPARAMETERFVEXTPROC)(GLenum texunit, GLenum target, GLenum pname, GLfloat *params);\nGLAPI PFNGLGETMULTITEXPARAMETERFVEXTPROC glad_glGetMultiTexParameterfvEXT;\n#define glGetMultiTexParameterfvEXT glad_glGetMultiTexParameterfvEXT\ntypedef void (APIENTRYP PFNGLGETMULTITEXPARAMETERIVEXTPROC)(GLenum texunit, GLenum target, GLenum pname, GLint *params);\nGLAPI PFNGLGETMULTITEXPARAMETERIVEXTPROC glad_glGetMultiTexParameterivEXT;\n#define glGetMultiTexParameterivEXT glad_glGetMultiTexParameterivEXT\ntypedef void (APIENTRYP PFNGLGETMULTITEXLEVELPARAMETERFVEXTPROC)(GLenum texunit, GLenum target, GLint level, GLenum pname, GLfloat *params);\nGLAPI PFNGLGETMULTITEXLEVELPARAMETERFVEXTPROC glad_glGetMultiTexLevelParameterfvEXT;\n#define glGetMultiTexLevelParameterfvEXT glad_glGetMultiTexLevelParameterfvEXT\ntypedef void (APIENTRYP PFNGLGETMULTITEXLEVELPARAMETERIVEXTPROC)(GLenum texunit, GLenum target, GLint level, GLenum pname, GLint *params);\nGLAPI PFNGLGETMULTITEXLEVELPARAMETERIVEXTPROC glad_glGetMultiTexLevelParameterivEXT;\n#define glGetMultiTexLevelParameterivEXT glad_glGetMultiTexLevelParameterivEXT\ntypedef void (APIENTRYP PFNGLMULTITEXIMAGE3DEXTPROC)(GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels);\nGLAPI PFNGLMULTITEXIMAGE3DEXTPROC glad_glMultiTexImage3DEXT;\n#define glMultiTexImage3DEXT glad_glMultiTexImage3DEXT\ntypedef void (APIENTRYP PFNGLMULTITEXSUBIMAGE3DEXTPROC)(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels);\nGLAPI PFNGLMULTITEXSUBIMAGE3DEXTPROC glad_glMultiTexSubImage3DEXT;\n#define glMultiTexSubImage3DEXT glad_glMultiTexSubImage3DEXT\ntypedef void (APIENTRYP PFNGLCOPYMULTITEXSUBIMAGE3DEXTPROC)(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);\nGLAPI PFNGLCOPYMULTITEXSUBIMAGE3DEXTPROC glad_glCopyMultiTexSubImage3DEXT;\n#define glCopyMultiTexSubImage3DEXT glad_glCopyMultiTexSubImage3DEXT\ntypedef void (APIENTRYP PFNGLENABLECLIENTSTATEINDEXEDEXTPROC)(GLenum array, GLuint index);\nGLAPI PFNGLENABLECLIENTSTATEINDEXEDEXTPROC glad_glEnableClientStateIndexedEXT;\n#define glEnableClientStateIndexedEXT glad_glEnableClientStateIndexedEXT\ntypedef void (APIENTRYP PFNGLDISABLECLIENTSTATEINDEXEDEXTPROC)(GLenum array, GLuint index);\nGLAPI PFNGLDISABLECLIENTSTATEINDEXEDEXTPROC glad_glDisableClientStateIndexedEXT;\n#define glDisableClientStateIndexedEXT glad_glDisableClientStateIndexedEXT\ntypedef void (APIENTRYP PFNGLGETFLOATINDEXEDVEXTPROC)(GLenum target, GLuint index, GLfloat *data);\nGLAPI PFNGLGETFLOATINDEXEDVEXTPROC glad_glGetFloatIndexedvEXT;\n#define glGetFloatIndexedvEXT glad_glGetFloatIndexedvEXT\ntypedef void (APIENTRYP PFNGLGETDOUBLEINDEXEDVEXTPROC)(GLenum target, GLuint index, GLdouble *data);\nGLAPI PFNGLGETDOUBLEINDEXEDVEXTPROC glad_glGetDoubleIndexedvEXT;\n#define glGetDoubleIndexedvEXT glad_glGetDoubleIndexedvEXT\ntypedef void (APIENTRYP PFNGLGETPOINTERINDEXEDVEXTPROC)(GLenum target, GLuint index, void **data);\nGLAPI PFNGLGETPOINTERINDEXEDVEXTPROC glad_glGetPointerIndexedvEXT;\n#define glGetPointerIndexedvEXT glad_glGetPointerIndexedvEXT\ntypedef void (APIENTRYP PFNGLENABLEINDEXEDEXTPROC)(GLenum target, GLuint index);\nGLAPI PFNGLENABLEINDEXEDEXTPROC glad_glEnableIndexedEXT;\n#define glEnableIndexedEXT glad_glEnableIndexedEXT\ntypedef void (APIENTRYP PFNGLDISABLEINDEXEDEXTPROC)(GLenum target, GLuint index);\nGLAPI PFNGLDISABLEINDEXEDEXTPROC glad_glDisableIndexedEXT;\n#define glDisableIndexedEXT glad_glDisableIndexedEXT\ntypedef GLboolean (APIENTRYP PFNGLISENABLEDINDEXEDEXTPROC)(GLenum target, GLuint index);\nGLAPI PFNGLISENABLEDINDEXEDEXTPROC glad_glIsEnabledIndexedEXT;\n#define glIsEnabledIndexedEXT glad_glIsEnabledIndexedEXT\ntypedef void (APIENTRYP PFNGLGETINTEGERINDEXEDVEXTPROC)(GLenum target, GLuint index, GLint *data);\nGLAPI PFNGLGETINTEGERINDEXEDVEXTPROC glad_glGetIntegerIndexedvEXT;\n#define glGetIntegerIndexedvEXT glad_glGetIntegerIndexedvEXT\ntypedef void (APIENTRYP PFNGLGETBOOLEANINDEXEDVEXTPROC)(GLenum target, GLuint index, GLboolean *data);\nGLAPI PFNGLGETBOOLEANINDEXEDVEXTPROC glad_glGetBooleanIndexedvEXT;\n#define glGetBooleanIndexedvEXT glad_glGetBooleanIndexedvEXT\ntypedef void (APIENTRYP PFNGLCOMPRESSEDTEXTUREIMAGE3DEXTPROC)(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *bits);\nGLAPI PFNGLCOMPRESSEDTEXTUREIMAGE3DEXTPROC glad_glCompressedTextureImage3DEXT;\n#define glCompressedTextureImage3DEXT glad_glCompressedTextureImage3DEXT\ntypedef void (APIENTRYP PFNGLCOMPRESSEDTEXTUREIMAGE2DEXTPROC)(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *bits);\nGLAPI PFNGLCOMPRESSEDTEXTUREIMAGE2DEXTPROC glad_glCompressedTextureImage2DEXT;\n#define glCompressedTextureImage2DEXT glad_glCompressedTextureImage2DEXT\ntypedef void (APIENTRYP PFNGLCOMPRESSEDTEXTUREIMAGE1DEXTPROC)(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void *bits);\nGLAPI PFNGLCOMPRESSEDTEXTUREIMAGE1DEXTPROC glad_glCompressedTextureImage1DEXT;\n#define glCompressedTextureImage1DEXT glad_glCompressedTextureImage1DEXT\ntypedef void (APIENTRYP PFNGLCOMPRESSEDTEXTURESUBIMAGE3DEXTPROC)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *bits);\nGLAPI PFNGLCOMPRESSEDTEXTURESUBIMAGE3DEXTPROC glad_glCompressedTextureSubImage3DEXT;\n#define glCompressedTextureSubImage3DEXT glad_glCompressedTextureSubImage3DEXT\ntypedef void (APIENTRYP PFNGLCOMPRESSEDTEXTURESUBIMAGE2DEXTPROC)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *bits);\nGLAPI PFNGLCOMPRESSEDTEXTURESUBIMAGE2DEXTPROC glad_glCompressedTextureSubImage2DEXT;\n#define glCompressedTextureSubImage2DEXT glad_glCompressedTextureSubImage2DEXT\ntypedef void (APIENTRYP PFNGLCOMPRESSEDTEXTURESUBIMAGE1DEXTPROC)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *bits);\nGLAPI PFNGLCOMPRESSEDTEXTURESUBIMAGE1DEXTPROC glad_glCompressedTextureSubImage1DEXT;\n#define glCompressedTextureSubImage1DEXT glad_glCompressedTextureSubImage1DEXT\ntypedef void (APIENTRYP PFNGLGETCOMPRESSEDTEXTUREIMAGEEXTPROC)(GLuint texture, GLenum target, GLint lod, void *img);\nGLAPI PFNGLGETCOMPRESSEDTEXTUREIMAGEEXTPROC glad_glGetCompressedTextureImageEXT;\n#define glGetCompressedTextureImageEXT glad_glGetCompressedTextureImageEXT\ntypedef void (APIENTRYP PFNGLCOMPRESSEDMULTITEXIMAGE3DEXTPROC)(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *bits);\nGLAPI PFNGLCOMPRESSEDMULTITEXIMAGE3DEXTPROC glad_glCompressedMultiTexImage3DEXT;\n#define glCompressedMultiTexImage3DEXT glad_glCompressedMultiTexImage3DEXT\ntypedef void (APIENTRYP PFNGLCOMPRESSEDMULTITEXIMAGE2DEXTPROC)(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *bits);\nGLAPI PFNGLCOMPRESSEDMULTITEXIMAGE2DEXTPROC glad_glCompressedMultiTexImage2DEXT;\n#define glCompressedMultiTexImage2DEXT glad_glCompressedMultiTexImage2DEXT\ntypedef void (APIENTRYP PFNGLCOMPRESSEDMULTITEXIMAGE1DEXTPROC)(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void *bits);\nGLAPI PFNGLCOMPRESSEDMULTITEXIMAGE1DEXTPROC glad_glCompressedMultiTexImage1DEXT;\n#define glCompressedMultiTexImage1DEXT glad_glCompressedMultiTexImage1DEXT\ntypedef void (APIENTRYP PFNGLCOMPRESSEDMULTITEXSUBIMAGE3DEXTPROC)(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *bits);\nGLAPI PFNGLCOMPRESSEDMULTITEXSUBIMAGE3DEXTPROC glad_glCompressedMultiTexSubImage3DEXT;\n#define glCompressedMultiTexSubImage3DEXT glad_glCompressedMultiTexSubImage3DEXT\ntypedef void (APIENTRYP PFNGLCOMPRESSEDMULTITEXSUBIMAGE2DEXTPROC)(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *bits);\nGLAPI PFNGLCOMPRESSEDMULTITEXSUBIMAGE2DEXTPROC glad_glCompressedMultiTexSubImage2DEXT;\n#define glCompressedMultiTexSubImage2DEXT glad_glCompressedMultiTexSubImage2DEXT\ntypedef void (APIENTRYP PFNGLCOMPRESSEDMULTITEXSUBIMAGE1DEXTPROC)(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *bits);\nGLAPI PFNGLCOMPRESSEDMULTITEXSUBIMAGE1DEXTPROC glad_glCompressedMultiTexSubImage1DEXT;\n#define glCompressedMultiTexSubImage1DEXT glad_glCompressedMultiTexSubImage1DEXT\ntypedef void (APIENTRYP PFNGLGETCOMPRESSEDMULTITEXIMAGEEXTPROC)(GLenum texunit, GLenum target, GLint lod, void *img);\nGLAPI PFNGLGETCOMPRESSEDMULTITEXIMAGEEXTPROC glad_glGetCompressedMultiTexImageEXT;\n#define glGetCompressedMultiTexImageEXT glad_glGetCompressedMultiTexImageEXT\ntypedef void (APIENTRYP PFNGLMATRIXLOADTRANSPOSEFEXTPROC)(GLenum mode, const GLfloat *m);\nGLAPI PFNGLMATRIXLOADTRANSPOSEFEXTPROC glad_glMatrixLoadTransposefEXT;\n#define glMatrixLoadTransposefEXT glad_glMatrixLoadTransposefEXT\ntypedef void (APIENTRYP PFNGLMATRIXLOADTRANSPOSEDEXTPROC)(GLenum mode, const GLdouble *m);\nGLAPI PFNGLMATRIXLOADTRANSPOSEDEXTPROC glad_glMatrixLoadTransposedEXT;\n#define glMatrixLoadTransposedEXT glad_glMatrixLoadTransposedEXT\ntypedef void (APIENTRYP PFNGLMATRIXMULTTRANSPOSEFEXTPROC)(GLenum mode, const GLfloat *m);\nGLAPI PFNGLMATRIXMULTTRANSPOSEFEXTPROC glad_glMatrixMultTransposefEXT;\n#define glMatrixMultTransposefEXT glad_glMatrixMultTransposefEXT\ntypedef void (APIENTRYP PFNGLMATRIXMULTTRANSPOSEDEXTPROC)(GLenum mode, const GLdouble *m);\nGLAPI PFNGLMATRIXMULTTRANSPOSEDEXTPROC glad_glMatrixMultTransposedEXT;\n#define glMatrixMultTransposedEXT glad_glMatrixMultTransposedEXT\ntypedef void (APIENTRYP PFNGLNAMEDBUFFERDATAEXTPROC)(GLuint buffer, GLsizeiptr size, const void *data, GLenum usage);\nGLAPI PFNGLNAMEDBUFFERDATAEXTPROC glad_glNamedBufferDataEXT;\n#define glNamedBufferDataEXT glad_glNamedBufferDataEXT\ntypedef void (APIENTRYP PFNGLNAMEDBUFFERSUBDATAEXTPROC)(GLuint buffer, GLintptr offset, GLsizeiptr size, const void *data);\nGLAPI PFNGLNAMEDBUFFERSUBDATAEXTPROC glad_glNamedBufferSubDataEXT;\n#define glNamedBufferSubDataEXT glad_glNamedBufferSubDataEXT\ntypedef void * (APIENTRYP PFNGLMAPNAMEDBUFFEREXTPROC)(GLuint buffer, GLenum access);\nGLAPI PFNGLMAPNAMEDBUFFEREXTPROC glad_glMapNamedBufferEXT;\n#define glMapNamedBufferEXT glad_glMapNamedBufferEXT\ntypedef GLboolean (APIENTRYP PFNGLUNMAPNAMEDBUFFEREXTPROC)(GLuint buffer);\nGLAPI PFNGLUNMAPNAMEDBUFFEREXTPROC glad_glUnmapNamedBufferEXT;\n#define glUnmapNamedBufferEXT glad_glUnmapNamedBufferEXT\ntypedef void (APIENTRYP PFNGLGETNAMEDBUFFERPARAMETERIVEXTPROC)(GLuint buffer, GLenum pname, GLint *params);\nGLAPI PFNGLGETNAMEDBUFFERPARAMETERIVEXTPROC glad_glGetNamedBufferParameterivEXT;\n#define glGetNamedBufferParameterivEXT glad_glGetNamedBufferParameterivEXT\ntypedef void (APIENTRYP PFNGLGETNAMEDBUFFERPOINTERVEXTPROC)(GLuint buffer, GLenum pname, void **params);\nGLAPI PFNGLGETNAMEDBUFFERPOINTERVEXTPROC glad_glGetNamedBufferPointervEXT;\n#define glGetNamedBufferPointervEXT glad_glGetNamedBufferPointervEXT\ntypedef void (APIENTRYP PFNGLGETNAMEDBUFFERSUBDATAEXTPROC)(GLuint buffer, GLintptr offset, GLsizeiptr size, void *data);\nGLAPI PFNGLGETNAMEDBUFFERSUBDATAEXTPROC glad_glGetNamedBufferSubDataEXT;\n#define glGetNamedBufferSubDataEXT glad_glGetNamedBufferSubDataEXT\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM1FEXTPROC)(GLuint program, GLint location, GLfloat v0);\nGLAPI PFNGLPROGRAMUNIFORM1FEXTPROC glad_glProgramUniform1fEXT;\n#define glProgramUniform1fEXT glad_glProgramUniform1fEXT\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM2FEXTPROC)(GLuint program, GLint location, GLfloat v0, GLfloat v1);\nGLAPI PFNGLPROGRAMUNIFORM2FEXTPROC glad_glProgramUniform2fEXT;\n#define glProgramUniform2fEXT glad_glProgramUniform2fEXT\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM3FEXTPROC)(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2);\nGLAPI PFNGLPROGRAMUNIFORM3FEXTPROC glad_glProgramUniform3fEXT;\n#define glProgramUniform3fEXT glad_glProgramUniform3fEXT\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM4FEXTPROC)(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);\nGLAPI PFNGLPROGRAMUNIFORM4FEXTPROC glad_glProgramUniform4fEXT;\n#define glProgramUniform4fEXT glad_glProgramUniform4fEXT\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM1IEXTPROC)(GLuint program, GLint location, GLint v0);\nGLAPI PFNGLPROGRAMUNIFORM1IEXTPROC glad_glProgramUniform1iEXT;\n#define glProgramUniform1iEXT glad_glProgramUniform1iEXT\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM2IEXTPROC)(GLuint program, GLint location, GLint v0, GLint v1);\nGLAPI PFNGLPROGRAMUNIFORM2IEXTPROC glad_glProgramUniform2iEXT;\n#define glProgramUniform2iEXT glad_glProgramUniform2iEXT\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM3IEXTPROC)(GLuint program, GLint location, GLint v0, GLint v1, GLint v2);\nGLAPI PFNGLPROGRAMUNIFORM3IEXTPROC glad_glProgramUniform3iEXT;\n#define glProgramUniform3iEXT glad_glProgramUniform3iEXT\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM4IEXTPROC)(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);\nGLAPI PFNGLPROGRAMUNIFORM4IEXTPROC glad_glProgramUniform4iEXT;\n#define glProgramUniform4iEXT glad_glProgramUniform4iEXT\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM1FVEXTPROC)(GLuint program, GLint location, GLsizei count, const GLfloat *value);\nGLAPI PFNGLPROGRAMUNIFORM1FVEXTPROC glad_glProgramUniform1fvEXT;\n#define glProgramUniform1fvEXT glad_glProgramUniform1fvEXT\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM2FVEXTPROC)(GLuint program, GLint location, GLsizei count, const GLfloat *value);\nGLAPI PFNGLPROGRAMUNIFORM2FVEXTPROC glad_glProgramUniform2fvEXT;\n#define glProgramUniform2fvEXT glad_glProgramUniform2fvEXT\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM3FVEXTPROC)(GLuint program, GLint location, GLsizei count, const GLfloat *value);\nGLAPI PFNGLPROGRAMUNIFORM3FVEXTPROC glad_glProgramUniform3fvEXT;\n#define glProgramUniform3fvEXT glad_glProgramUniform3fvEXT\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM4FVEXTPROC)(GLuint program, GLint location, GLsizei count, const GLfloat *value);\nGLAPI PFNGLPROGRAMUNIFORM4FVEXTPROC glad_glProgramUniform4fvEXT;\n#define glProgramUniform4fvEXT glad_glProgramUniform4fvEXT\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM1IVEXTPROC)(GLuint program, GLint location, GLsizei count, const GLint *value);\nGLAPI PFNGLPROGRAMUNIFORM1IVEXTPROC glad_glProgramUniform1ivEXT;\n#define glProgramUniform1ivEXT glad_glProgramUniform1ivEXT\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM2IVEXTPROC)(GLuint program, GLint location, GLsizei count, const GLint *value);\nGLAPI PFNGLPROGRAMUNIFORM2IVEXTPROC glad_glProgramUniform2ivEXT;\n#define glProgramUniform2ivEXT glad_glProgramUniform2ivEXT\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM3IVEXTPROC)(GLuint program, GLint location, GLsizei count, const GLint *value);\nGLAPI PFNGLPROGRAMUNIFORM3IVEXTPROC glad_glProgramUniform3ivEXT;\n#define glProgramUniform3ivEXT glad_glProgramUniform3ivEXT\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM4IVEXTPROC)(GLuint program, GLint location, GLsizei count, const GLint *value);\nGLAPI PFNGLPROGRAMUNIFORM4IVEXTPROC glad_glProgramUniform4ivEXT;\n#define glProgramUniform4ivEXT glad_glProgramUniform4ivEXT\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nGLAPI PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC glad_glProgramUniformMatrix2fvEXT;\n#define glProgramUniformMatrix2fvEXT glad_glProgramUniformMatrix2fvEXT\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nGLAPI PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC glad_glProgramUniformMatrix3fvEXT;\n#define glProgramUniformMatrix3fvEXT glad_glProgramUniformMatrix3fvEXT\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nGLAPI PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC glad_glProgramUniformMatrix4fvEXT;\n#define glProgramUniformMatrix4fvEXT glad_glProgramUniformMatrix4fvEXT\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X3FVEXTPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nGLAPI PFNGLPROGRAMUNIFORMMATRIX2X3FVEXTPROC glad_glProgramUniformMatrix2x3fvEXT;\n#define glProgramUniformMatrix2x3fvEXT glad_glProgramUniformMatrix2x3fvEXT\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X2FVEXTPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nGLAPI PFNGLPROGRAMUNIFORMMATRIX3X2FVEXTPROC glad_glProgramUniformMatrix3x2fvEXT;\n#define glProgramUniformMatrix3x2fvEXT glad_glProgramUniformMatrix3x2fvEXT\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X4FVEXTPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nGLAPI PFNGLPROGRAMUNIFORMMATRIX2X4FVEXTPROC glad_glProgramUniformMatrix2x4fvEXT;\n#define glProgramUniformMatrix2x4fvEXT glad_glProgramUniformMatrix2x4fvEXT\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X2FVEXTPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nGLAPI PFNGLPROGRAMUNIFORMMATRIX4X2FVEXTPROC glad_glProgramUniformMatrix4x2fvEXT;\n#define glProgramUniformMatrix4x2fvEXT glad_glProgramUniformMatrix4x2fvEXT\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X4FVEXTPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nGLAPI PFNGLPROGRAMUNIFORMMATRIX3X4FVEXTPROC glad_glProgramUniformMatrix3x4fvEXT;\n#define glProgramUniformMatrix3x4fvEXT glad_glProgramUniformMatrix3x4fvEXT\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X3FVEXTPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nGLAPI PFNGLPROGRAMUNIFORMMATRIX4X3FVEXTPROC glad_glProgramUniformMatrix4x3fvEXT;\n#define glProgramUniformMatrix4x3fvEXT glad_glProgramUniformMatrix4x3fvEXT\ntypedef void (APIENTRYP PFNGLTEXTUREBUFFEREXTPROC)(GLuint texture, GLenum target, GLenum internalformat, GLuint buffer);\nGLAPI PFNGLTEXTUREBUFFEREXTPROC glad_glTextureBufferEXT;\n#define glTextureBufferEXT glad_glTextureBufferEXT\ntypedef void (APIENTRYP PFNGLMULTITEXBUFFEREXTPROC)(GLenum texunit, GLenum target, GLenum internalformat, GLuint buffer);\nGLAPI PFNGLMULTITEXBUFFEREXTPROC glad_glMultiTexBufferEXT;\n#define glMultiTexBufferEXT glad_glMultiTexBufferEXT\ntypedef void (APIENTRYP PFNGLTEXTUREPARAMETERIIVEXTPROC)(GLuint texture, GLenum target, GLenum pname, const GLint *params);\nGLAPI PFNGLTEXTUREPARAMETERIIVEXTPROC glad_glTextureParameterIivEXT;\n#define glTextureParameterIivEXT glad_glTextureParameterIivEXT\ntypedef void (APIENTRYP PFNGLTEXTUREPARAMETERIUIVEXTPROC)(GLuint texture, GLenum target, GLenum pname, const GLuint *params);\nGLAPI PFNGLTEXTUREPARAMETERIUIVEXTPROC glad_glTextureParameterIuivEXT;\n#define glTextureParameterIuivEXT glad_glTextureParameterIuivEXT\ntypedef void (APIENTRYP PFNGLGETTEXTUREPARAMETERIIVEXTPROC)(GLuint texture, GLenum target, GLenum pname, GLint *params);\nGLAPI PFNGLGETTEXTUREPARAMETERIIVEXTPROC glad_glGetTextureParameterIivEXT;\n#define glGetTextureParameterIivEXT glad_glGetTextureParameterIivEXT\ntypedef void (APIENTRYP PFNGLGETTEXTUREPARAMETERIUIVEXTPROC)(GLuint texture, GLenum target, GLenum pname, GLuint *params);\nGLAPI PFNGLGETTEXTUREPARAMETERIUIVEXTPROC glad_glGetTextureParameterIuivEXT;\n#define glGetTextureParameterIuivEXT glad_glGetTextureParameterIuivEXT\ntypedef void (APIENTRYP PFNGLMULTITEXPARAMETERIIVEXTPROC)(GLenum texunit, GLenum target, GLenum pname, const GLint *params);\nGLAPI PFNGLMULTITEXPARAMETERIIVEXTPROC glad_glMultiTexParameterIivEXT;\n#define glMultiTexParameterIivEXT glad_glMultiTexParameterIivEXT\ntypedef void (APIENTRYP PFNGLMULTITEXPARAMETERIUIVEXTPROC)(GLenum texunit, GLenum target, GLenum pname, const GLuint *params);\nGLAPI PFNGLMULTITEXPARAMETERIUIVEXTPROC glad_glMultiTexParameterIuivEXT;\n#define glMultiTexParameterIuivEXT glad_glMultiTexParameterIuivEXT\ntypedef void (APIENTRYP PFNGLGETMULTITEXPARAMETERIIVEXTPROC)(GLenum texunit, GLenum target, GLenum pname, GLint *params);\nGLAPI PFNGLGETMULTITEXPARAMETERIIVEXTPROC glad_glGetMultiTexParameterIivEXT;\n#define glGetMultiTexParameterIivEXT glad_glGetMultiTexParameterIivEXT\ntypedef void (APIENTRYP PFNGLGETMULTITEXPARAMETERIUIVEXTPROC)(GLenum texunit, GLenum target, GLenum pname, GLuint *params);\nGLAPI PFNGLGETMULTITEXPARAMETERIUIVEXTPROC glad_glGetMultiTexParameterIuivEXT;\n#define glGetMultiTexParameterIuivEXT glad_glGetMultiTexParameterIuivEXT\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM1UIEXTPROC)(GLuint program, GLint location, GLuint v0);\nGLAPI PFNGLPROGRAMUNIFORM1UIEXTPROC glad_glProgramUniform1uiEXT;\n#define glProgramUniform1uiEXT glad_glProgramUniform1uiEXT\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM2UIEXTPROC)(GLuint program, GLint location, GLuint v0, GLuint v1);\nGLAPI PFNGLPROGRAMUNIFORM2UIEXTPROC glad_glProgramUniform2uiEXT;\n#define glProgramUniform2uiEXT glad_glProgramUniform2uiEXT\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM3UIEXTPROC)(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2);\nGLAPI PFNGLPROGRAMUNIFORM3UIEXTPROC glad_glProgramUniform3uiEXT;\n#define glProgramUniform3uiEXT glad_glProgramUniform3uiEXT\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM4UIEXTPROC)(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);\nGLAPI PFNGLPROGRAMUNIFORM4UIEXTPROC glad_glProgramUniform4uiEXT;\n#define glProgramUniform4uiEXT glad_glProgramUniform4uiEXT\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM1UIVEXTPROC)(GLuint program, GLint location, GLsizei count, const GLuint *value);\nGLAPI PFNGLPROGRAMUNIFORM1UIVEXTPROC glad_glProgramUniform1uivEXT;\n#define glProgramUniform1uivEXT glad_glProgramUniform1uivEXT\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM2UIVEXTPROC)(GLuint program, GLint location, GLsizei count, const GLuint *value);\nGLAPI PFNGLPROGRAMUNIFORM2UIVEXTPROC glad_glProgramUniform2uivEXT;\n#define glProgramUniform2uivEXT glad_glProgramUniform2uivEXT\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM3UIVEXTPROC)(GLuint program, GLint location, GLsizei count, const GLuint *value);\nGLAPI PFNGLPROGRAMUNIFORM3UIVEXTPROC glad_glProgramUniform3uivEXT;\n#define glProgramUniform3uivEXT glad_glProgramUniform3uivEXT\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM4UIVEXTPROC)(GLuint program, GLint location, GLsizei count, const GLuint *value);\nGLAPI PFNGLPROGRAMUNIFORM4UIVEXTPROC glad_glProgramUniform4uivEXT;\n#define glProgramUniform4uivEXT glad_glProgramUniform4uivEXT\ntypedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETERS4FVEXTPROC)(GLuint program, GLenum target, GLuint index, GLsizei count, const GLfloat *params);\nGLAPI PFNGLNAMEDPROGRAMLOCALPARAMETERS4FVEXTPROC glad_glNamedProgramLocalParameters4fvEXT;\n#define glNamedProgramLocalParameters4fvEXT glad_glNamedProgramLocalParameters4fvEXT\ntypedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETERI4IEXTPROC)(GLuint program, GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w);\nGLAPI PFNGLNAMEDPROGRAMLOCALPARAMETERI4IEXTPROC glad_glNamedProgramLocalParameterI4iEXT;\n#define glNamedProgramLocalParameterI4iEXT glad_glNamedProgramLocalParameterI4iEXT\ntypedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETERI4IVEXTPROC)(GLuint program, GLenum target, GLuint index, const GLint *params);\nGLAPI PFNGLNAMEDPROGRAMLOCALPARAMETERI4IVEXTPROC glad_glNamedProgramLocalParameterI4ivEXT;\n#define glNamedProgramLocalParameterI4ivEXT glad_glNamedProgramLocalParameterI4ivEXT\ntypedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETERSI4IVEXTPROC)(GLuint program, GLenum target, GLuint index, GLsizei count, const GLint *params);\nGLAPI PFNGLNAMEDPROGRAMLOCALPARAMETERSI4IVEXTPROC glad_glNamedProgramLocalParametersI4ivEXT;\n#define glNamedProgramLocalParametersI4ivEXT glad_glNamedProgramLocalParametersI4ivEXT\ntypedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIEXTPROC)(GLuint program, GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);\nGLAPI PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIEXTPROC glad_glNamedProgramLocalParameterI4uiEXT;\n#define glNamedProgramLocalParameterI4uiEXT glad_glNamedProgramLocalParameterI4uiEXT\ntypedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIVEXTPROC)(GLuint program, GLenum target, GLuint index, const GLuint *params);\nGLAPI PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIVEXTPROC glad_glNamedProgramLocalParameterI4uivEXT;\n#define glNamedProgramLocalParameterI4uivEXT glad_glNamedProgramLocalParameterI4uivEXT\ntypedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETERSI4UIVEXTPROC)(GLuint program, GLenum target, GLuint index, GLsizei count, const GLuint *params);\nGLAPI PFNGLNAMEDPROGRAMLOCALPARAMETERSI4UIVEXTPROC glad_glNamedProgramLocalParametersI4uivEXT;\n#define glNamedProgramLocalParametersI4uivEXT glad_glNamedProgramLocalParametersI4uivEXT\ntypedef void (APIENTRYP PFNGLGETNAMEDPROGRAMLOCALPARAMETERIIVEXTPROC)(GLuint program, GLenum target, GLuint index, GLint *params);\nGLAPI PFNGLGETNAMEDPROGRAMLOCALPARAMETERIIVEXTPROC glad_glGetNamedProgramLocalParameterIivEXT;\n#define glGetNamedProgramLocalParameterIivEXT glad_glGetNamedProgramLocalParameterIivEXT\ntypedef void (APIENTRYP PFNGLGETNAMEDPROGRAMLOCALPARAMETERIUIVEXTPROC)(GLuint program, GLenum target, GLuint index, GLuint *params);\nGLAPI PFNGLGETNAMEDPROGRAMLOCALPARAMETERIUIVEXTPROC glad_glGetNamedProgramLocalParameterIuivEXT;\n#define glGetNamedProgramLocalParameterIuivEXT glad_glGetNamedProgramLocalParameterIuivEXT\ntypedef void (APIENTRYP PFNGLENABLECLIENTSTATEIEXTPROC)(GLenum array, GLuint index);\nGLAPI PFNGLENABLECLIENTSTATEIEXTPROC glad_glEnableClientStateiEXT;\n#define glEnableClientStateiEXT glad_glEnableClientStateiEXT\ntypedef void (APIENTRYP PFNGLDISABLECLIENTSTATEIEXTPROC)(GLenum array, GLuint index);\nGLAPI PFNGLDISABLECLIENTSTATEIEXTPROC glad_glDisableClientStateiEXT;\n#define glDisableClientStateiEXT glad_glDisableClientStateiEXT\ntypedef void (APIENTRYP PFNGLGETFLOATI_VEXTPROC)(GLenum pname, GLuint index, GLfloat *params);\nGLAPI PFNGLGETFLOATI_VEXTPROC glad_glGetFloati_vEXT;\n#define glGetFloati_vEXT glad_glGetFloati_vEXT\ntypedef void (APIENTRYP PFNGLGETDOUBLEI_VEXTPROC)(GLenum pname, GLuint index, GLdouble *params);\nGLAPI PFNGLGETDOUBLEI_VEXTPROC glad_glGetDoublei_vEXT;\n#define glGetDoublei_vEXT glad_glGetDoublei_vEXT\ntypedef void (APIENTRYP PFNGLGETPOINTERI_VEXTPROC)(GLenum pname, GLuint index, void **params);\nGLAPI PFNGLGETPOINTERI_VEXTPROC glad_glGetPointeri_vEXT;\n#define glGetPointeri_vEXT glad_glGetPointeri_vEXT\ntypedef void (APIENTRYP PFNGLNAMEDPROGRAMSTRINGEXTPROC)(GLuint program, GLenum target, GLenum format, GLsizei len, const void *string);\nGLAPI PFNGLNAMEDPROGRAMSTRINGEXTPROC glad_glNamedProgramStringEXT;\n#define glNamedProgramStringEXT glad_glNamedProgramStringEXT\ntypedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETER4DEXTPROC)(GLuint program, GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nGLAPI PFNGLNAMEDPROGRAMLOCALPARAMETER4DEXTPROC glad_glNamedProgramLocalParameter4dEXT;\n#define glNamedProgramLocalParameter4dEXT glad_glNamedProgramLocalParameter4dEXT\ntypedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETER4DVEXTPROC)(GLuint program, GLenum target, GLuint index, const GLdouble *params);\nGLAPI PFNGLNAMEDPROGRAMLOCALPARAMETER4DVEXTPROC glad_glNamedProgramLocalParameter4dvEXT;\n#define glNamedProgramLocalParameter4dvEXT glad_glNamedProgramLocalParameter4dvEXT\ntypedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETER4FEXTPROC)(GLuint program, GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nGLAPI PFNGLNAMEDPROGRAMLOCALPARAMETER4FEXTPROC glad_glNamedProgramLocalParameter4fEXT;\n#define glNamedProgramLocalParameter4fEXT glad_glNamedProgramLocalParameter4fEXT\ntypedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETER4FVEXTPROC)(GLuint program, GLenum target, GLuint index, const GLfloat *params);\nGLAPI PFNGLNAMEDPROGRAMLOCALPARAMETER4FVEXTPROC glad_glNamedProgramLocalParameter4fvEXT;\n#define glNamedProgramLocalParameter4fvEXT glad_glNamedProgramLocalParameter4fvEXT\ntypedef void (APIENTRYP PFNGLGETNAMEDPROGRAMLOCALPARAMETERDVEXTPROC)(GLuint program, GLenum target, GLuint index, GLdouble *params);\nGLAPI PFNGLGETNAMEDPROGRAMLOCALPARAMETERDVEXTPROC glad_glGetNamedProgramLocalParameterdvEXT;\n#define glGetNamedProgramLocalParameterdvEXT glad_glGetNamedProgramLocalParameterdvEXT\ntypedef void (APIENTRYP PFNGLGETNAMEDPROGRAMLOCALPARAMETERFVEXTPROC)(GLuint program, GLenum target, GLuint index, GLfloat *params);\nGLAPI PFNGLGETNAMEDPROGRAMLOCALPARAMETERFVEXTPROC glad_glGetNamedProgramLocalParameterfvEXT;\n#define glGetNamedProgramLocalParameterfvEXT glad_glGetNamedProgramLocalParameterfvEXT\ntypedef void (APIENTRYP PFNGLGETNAMEDPROGRAMIVEXTPROC)(GLuint program, GLenum target, GLenum pname, GLint *params);\nGLAPI PFNGLGETNAMEDPROGRAMIVEXTPROC glad_glGetNamedProgramivEXT;\n#define glGetNamedProgramivEXT glad_glGetNamedProgramivEXT\ntypedef void (APIENTRYP PFNGLGETNAMEDPROGRAMSTRINGEXTPROC)(GLuint program, GLenum target, GLenum pname, void *string);\nGLAPI PFNGLGETNAMEDPROGRAMSTRINGEXTPROC glad_glGetNamedProgramStringEXT;\n#define glGetNamedProgramStringEXT glad_glGetNamedProgramStringEXT\ntypedef void (APIENTRYP PFNGLNAMEDRENDERBUFFERSTORAGEEXTPROC)(GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height);\nGLAPI PFNGLNAMEDRENDERBUFFERSTORAGEEXTPROC glad_glNamedRenderbufferStorageEXT;\n#define glNamedRenderbufferStorageEXT glad_glNamedRenderbufferStorageEXT\ntypedef void (APIENTRYP PFNGLGETNAMEDRENDERBUFFERPARAMETERIVEXTPROC)(GLuint renderbuffer, GLenum pname, GLint *params);\nGLAPI PFNGLGETNAMEDRENDERBUFFERPARAMETERIVEXTPROC glad_glGetNamedRenderbufferParameterivEXT;\n#define glGetNamedRenderbufferParameterivEXT glad_glGetNamedRenderbufferParameterivEXT\ntypedef void (APIENTRYP PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC)(GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);\nGLAPI PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC glad_glNamedRenderbufferStorageMultisampleEXT;\n#define glNamedRenderbufferStorageMultisampleEXT glad_glNamedRenderbufferStorageMultisampleEXT\ntypedef void (APIENTRYP PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLECOVERAGEEXTPROC)(GLuint renderbuffer, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height);\nGLAPI PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLECOVERAGEEXTPROC glad_glNamedRenderbufferStorageMultisampleCoverageEXT;\n#define glNamedRenderbufferStorageMultisampleCoverageEXT glad_glNamedRenderbufferStorageMultisampleCoverageEXT\ntypedef GLenum (APIENTRYP PFNGLCHECKNAMEDFRAMEBUFFERSTATUSEXTPROC)(GLuint framebuffer, GLenum target);\nGLAPI PFNGLCHECKNAMEDFRAMEBUFFERSTATUSEXTPROC glad_glCheckNamedFramebufferStatusEXT;\n#define glCheckNamedFramebufferStatusEXT glad_glCheckNamedFramebufferStatusEXT\ntypedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERTEXTURE1DEXTPROC)(GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level);\nGLAPI PFNGLNAMEDFRAMEBUFFERTEXTURE1DEXTPROC glad_glNamedFramebufferTexture1DEXT;\n#define glNamedFramebufferTexture1DEXT glad_glNamedFramebufferTexture1DEXT\ntypedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERTEXTURE2DEXTPROC)(GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level);\nGLAPI PFNGLNAMEDFRAMEBUFFERTEXTURE2DEXTPROC glad_glNamedFramebufferTexture2DEXT;\n#define glNamedFramebufferTexture2DEXT glad_glNamedFramebufferTexture2DEXT\ntypedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERTEXTURE3DEXTPROC)(GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);\nGLAPI PFNGLNAMEDFRAMEBUFFERTEXTURE3DEXTPROC glad_glNamedFramebufferTexture3DEXT;\n#define glNamedFramebufferTexture3DEXT glad_glNamedFramebufferTexture3DEXT\ntypedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERRENDERBUFFEREXTPROC)(GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);\nGLAPI PFNGLNAMEDFRAMEBUFFERRENDERBUFFEREXTPROC glad_glNamedFramebufferRenderbufferEXT;\n#define glNamedFramebufferRenderbufferEXT glad_glNamedFramebufferRenderbufferEXT\ntypedef void (APIENTRYP PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC)(GLuint framebuffer, GLenum attachment, GLenum pname, GLint *params);\nGLAPI PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC glad_glGetNamedFramebufferAttachmentParameterivEXT;\n#define glGetNamedFramebufferAttachmentParameterivEXT glad_glGetNamedFramebufferAttachmentParameterivEXT\ntypedef void (APIENTRYP PFNGLGENERATETEXTUREMIPMAPEXTPROC)(GLuint texture, GLenum target);\nGLAPI PFNGLGENERATETEXTUREMIPMAPEXTPROC glad_glGenerateTextureMipmapEXT;\n#define glGenerateTextureMipmapEXT glad_glGenerateTextureMipmapEXT\ntypedef void (APIENTRYP PFNGLGENERATEMULTITEXMIPMAPEXTPROC)(GLenum texunit, GLenum target);\nGLAPI PFNGLGENERATEMULTITEXMIPMAPEXTPROC glad_glGenerateMultiTexMipmapEXT;\n#define glGenerateMultiTexMipmapEXT glad_glGenerateMultiTexMipmapEXT\ntypedef void (APIENTRYP PFNGLFRAMEBUFFERDRAWBUFFEREXTPROC)(GLuint framebuffer, GLenum mode);\nGLAPI PFNGLFRAMEBUFFERDRAWBUFFEREXTPROC glad_glFramebufferDrawBufferEXT;\n#define glFramebufferDrawBufferEXT glad_glFramebufferDrawBufferEXT\ntypedef void (APIENTRYP PFNGLFRAMEBUFFERDRAWBUFFERSEXTPROC)(GLuint framebuffer, GLsizei n, const GLenum *bufs);\nGLAPI PFNGLFRAMEBUFFERDRAWBUFFERSEXTPROC glad_glFramebufferDrawBuffersEXT;\n#define glFramebufferDrawBuffersEXT glad_glFramebufferDrawBuffersEXT\ntypedef void (APIENTRYP PFNGLFRAMEBUFFERREADBUFFEREXTPROC)(GLuint framebuffer, GLenum mode);\nGLAPI PFNGLFRAMEBUFFERREADBUFFEREXTPROC glad_glFramebufferReadBufferEXT;\n#define glFramebufferReadBufferEXT glad_glFramebufferReadBufferEXT\ntypedef void (APIENTRYP PFNGLGETFRAMEBUFFERPARAMETERIVEXTPROC)(GLuint framebuffer, GLenum pname, GLint *params);\nGLAPI PFNGLGETFRAMEBUFFERPARAMETERIVEXTPROC glad_glGetFramebufferParameterivEXT;\n#define glGetFramebufferParameterivEXT glad_glGetFramebufferParameterivEXT\ntypedef void (APIENTRYP PFNGLNAMEDCOPYBUFFERSUBDATAEXTPROC)(GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);\nGLAPI PFNGLNAMEDCOPYBUFFERSUBDATAEXTPROC glad_glNamedCopyBufferSubDataEXT;\n#define glNamedCopyBufferSubDataEXT glad_glNamedCopyBufferSubDataEXT\ntypedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERTEXTUREEXTPROC)(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level);\nGLAPI PFNGLNAMEDFRAMEBUFFERTEXTUREEXTPROC glad_glNamedFramebufferTextureEXT;\n#define glNamedFramebufferTextureEXT glad_glNamedFramebufferTextureEXT\ntypedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERTEXTURELAYEREXTPROC)(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer);\nGLAPI PFNGLNAMEDFRAMEBUFFERTEXTURELAYEREXTPROC glad_glNamedFramebufferTextureLayerEXT;\n#define glNamedFramebufferTextureLayerEXT glad_glNamedFramebufferTextureLayerEXT\ntypedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERTEXTUREFACEEXTPROC)(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLenum face);\nGLAPI PFNGLNAMEDFRAMEBUFFERTEXTUREFACEEXTPROC glad_glNamedFramebufferTextureFaceEXT;\n#define glNamedFramebufferTextureFaceEXT glad_glNamedFramebufferTextureFaceEXT\ntypedef void (APIENTRYP PFNGLTEXTURERENDERBUFFEREXTPROC)(GLuint texture, GLenum target, GLuint renderbuffer);\nGLAPI PFNGLTEXTURERENDERBUFFEREXTPROC glad_glTextureRenderbufferEXT;\n#define glTextureRenderbufferEXT glad_glTextureRenderbufferEXT\ntypedef void (APIENTRYP PFNGLMULTITEXRENDERBUFFEREXTPROC)(GLenum texunit, GLenum target, GLuint renderbuffer);\nGLAPI PFNGLMULTITEXRENDERBUFFEREXTPROC glad_glMultiTexRenderbufferEXT;\n#define glMultiTexRenderbufferEXT glad_glMultiTexRenderbufferEXT\ntypedef void (APIENTRYP PFNGLVERTEXARRAYVERTEXOFFSETEXTPROC)(GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset);\nGLAPI PFNGLVERTEXARRAYVERTEXOFFSETEXTPROC glad_glVertexArrayVertexOffsetEXT;\n#define glVertexArrayVertexOffsetEXT glad_glVertexArrayVertexOffsetEXT\ntypedef void (APIENTRYP PFNGLVERTEXARRAYCOLOROFFSETEXTPROC)(GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset);\nGLAPI PFNGLVERTEXARRAYCOLOROFFSETEXTPROC glad_glVertexArrayColorOffsetEXT;\n#define glVertexArrayColorOffsetEXT glad_glVertexArrayColorOffsetEXT\ntypedef void (APIENTRYP PFNGLVERTEXARRAYEDGEFLAGOFFSETEXTPROC)(GLuint vaobj, GLuint buffer, GLsizei stride, GLintptr offset);\nGLAPI PFNGLVERTEXARRAYEDGEFLAGOFFSETEXTPROC glad_glVertexArrayEdgeFlagOffsetEXT;\n#define glVertexArrayEdgeFlagOffsetEXT glad_glVertexArrayEdgeFlagOffsetEXT\ntypedef void (APIENTRYP PFNGLVERTEXARRAYINDEXOFFSETEXTPROC)(GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, GLintptr offset);\nGLAPI PFNGLVERTEXARRAYINDEXOFFSETEXTPROC glad_glVertexArrayIndexOffsetEXT;\n#define glVertexArrayIndexOffsetEXT glad_glVertexArrayIndexOffsetEXT\ntypedef void (APIENTRYP PFNGLVERTEXARRAYNORMALOFFSETEXTPROC)(GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, GLintptr offset);\nGLAPI PFNGLVERTEXARRAYNORMALOFFSETEXTPROC glad_glVertexArrayNormalOffsetEXT;\n#define glVertexArrayNormalOffsetEXT glad_glVertexArrayNormalOffsetEXT\ntypedef void (APIENTRYP PFNGLVERTEXARRAYTEXCOORDOFFSETEXTPROC)(GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset);\nGLAPI PFNGLVERTEXARRAYTEXCOORDOFFSETEXTPROC glad_glVertexArrayTexCoordOffsetEXT;\n#define glVertexArrayTexCoordOffsetEXT glad_glVertexArrayTexCoordOffsetEXT\ntypedef void (APIENTRYP PFNGLVERTEXARRAYMULTITEXCOORDOFFSETEXTPROC)(GLuint vaobj, GLuint buffer, GLenum texunit, GLint size, GLenum type, GLsizei stride, GLintptr offset);\nGLAPI PFNGLVERTEXARRAYMULTITEXCOORDOFFSETEXTPROC glad_glVertexArrayMultiTexCoordOffsetEXT;\n#define glVertexArrayMultiTexCoordOffsetEXT glad_glVertexArrayMultiTexCoordOffsetEXT\ntypedef void (APIENTRYP PFNGLVERTEXARRAYFOGCOORDOFFSETEXTPROC)(GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, GLintptr offset);\nGLAPI PFNGLVERTEXARRAYFOGCOORDOFFSETEXTPROC glad_glVertexArrayFogCoordOffsetEXT;\n#define glVertexArrayFogCoordOffsetEXT glad_glVertexArrayFogCoordOffsetEXT\ntypedef void (APIENTRYP PFNGLVERTEXARRAYSECONDARYCOLOROFFSETEXTPROC)(GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset);\nGLAPI PFNGLVERTEXARRAYSECONDARYCOLOROFFSETEXTPROC glad_glVertexArraySecondaryColorOffsetEXT;\n#define glVertexArraySecondaryColorOffsetEXT glad_glVertexArraySecondaryColorOffsetEXT\ntypedef void (APIENTRYP PFNGLVERTEXARRAYVERTEXATTRIBOFFSETEXTPROC)(GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, GLintptr offset);\nGLAPI PFNGLVERTEXARRAYVERTEXATTRIBOFFSETEXTPROC glad_glVertexArrayVertexAttribOffsetEXT;\n#define glVertexArrayVertexAttribOffsetEXT glad_glVertexArrayVertexAttribOffsetEXT\ntypedef void (APIENTRYP PFNGLVERTEXARRAYVERTEXATTRIBIOFFSETEXTPROC)(GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLsizei stride, GLintptr offset);\nGLAPI PFNGLVERTEXARRAYVERTEXATTRIBIOFFSETEXTPROC glad_glVertexArrayVertexAttribIOffsetEXT;\n#define glVertexArrayVertexAttribIOffsetEXT glad_glVertexArrayVertexAttribIOffsetEXT\ntypedef void (APIENTRYP PFNGLENABLEVERTEXARRAYEXTPROC)(GLuint vaobj, GLenum array);\nGLAPI PFNGLENABLEVERTEXARRAYEXTPROC glad_glEnableVertexArrayEXT;\n#define glEnableVertexArrayEXT glad_glEnableVertexArrayEXT\ntypedef void (APIENTRYP PFNGLDISABLEVERTEXARRAYEXTPROC)(GLuint vaobj, GLenum array);\nGLAPI PFNGLDISABLEVERTEXARRAYEXTPROC glad_glDisableVertexArrayEXT;\n#define glDisableVertexArrayEXT glad_glDisableVertexArrayEXT\ntypedef void (APIENTRYP PFNGLENABLEVERTEXARRAYATTRIBEXTPROC)(GLuint vaobj, GLuint index);\nGLAPI PFNGLENABLEVERTEXARRAYATTRIBEXTPROC glad_glEnableVertexArrayAttribEXT;\n#define glEnableVertexArrayAttribEXT glad_glEnableVertexArrayAttribEXT\ntypedef void (APIENTRYP PFNGLDISABLEVERTEXARRAYATTRIBEXTPROC)(GLuint vaobj, GLuint index);\nGLAPI PFNGLDISABLEVERTEXARRAYATTRIBEXTPROC glad_glDisableVertexArrayAttribEXT;\n#define glDisableVertexArrayAttribEXT glad_glDisableVertexArrayAttribEXT\ntypedef void (APIENTRYP PFNGLGETVERTEXARRAYINTEGERVEXTPROC)(GLuint vaobj, GLenum pname, GLint *param);\nGLAPI PFNGLGETVERTEXARRAYINTEGERVEXTPROC glad_glGetVertexArrayIntegervEXT;\n#define glGetVertexArrayIntegervEXT glad_glGetVertexArrayIntegervEXT\ntypedef void (APIENTRYP PFNGLGETVERTEXARRAYPOINTERVEXTPROC)(GLuint vaobj, GLenum pname, void **param);\nGLAPI PFNGLGETVERTEXARRAYPOINTERVEXTPROC glad_glGetVertexArrayPointervEXT;\n#define glGetVertexArrayPointervEXT glad_glGetVertexArrayPointervEXT\ntypedef void (APIENTRYP PFNGLGETVERTEXARRAYINTEGERI_VEXTPROC)(GLuint vaobj, GLuint index, GLenum pname, GLint *param);\nGLAPI PFNGLGETVERTEXARRAYINTEGERI_VEXTPROC glad_glGetVertexArrayIntegeri_vEXT;\n#define glGetVertexArrayIntegeri_vEXT glad_glGetVertexArrayIntegeri_vEXT\ntypedef void (APIENTRYP PFNGLGETVERTEXARRAYPOINTERI_VEXTPROC)(GLuint vaobj, GLuint index, GLenum pname, void **param);\nGLAPI PFNGLGETVERTEXARRAYPOINTERI_VEXTPROC glad_glGetVertexArrayPointeri_vEXT;\n#define glGetVertexArrayPointeri_vEXT glad_glGetVertexArrayPointeri_vEXT\ntypedef void * (APIENTRYP PFNGLMAPNAMEDBUFFERRANGEEXTPROC)(GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access);\nGLAPI PFNGLMAPNAMEDBUFFERRANGEEXTPROC glad_glMapNamedBufferRangeEXT;\n#define glMapNamedBufferRangeEXT glad_glMapNamedBufferRangeEXT\ntypedef void (APIENTRYP PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEEXTPROC)(GLuint buffer, GLintptr offset, GLsizeiptr length);\nGLAPI PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEEXTPROC glad_glFlushMappedNamedBufferRangeEXT;\n#define glFlushMappedNamedBufferRangeEXT glad_glFlushMappedNamedBufferRangeEXT\ntypedef void (APIENTRYP PFNGLNAMEDBUFFERSTORAGEEXTPROC)(GLuint buffer, GLsizeiptr size, const void *data, GLbitfield flags);\nGLAPI PFNGLNAMEDBUFFERSTORAGEEXTPROC glad_glNamedBufferStorageEXT;\n#define glNamedBufferStorageEXT glad_glNamedBufferStorageEXT\ntypedef void (APIENTRYP PFNGLCLEARNAMEDBUFFERDATAEXTPROC)(GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const void *data);\nGLAPI PFNGLCLEARNAMEDBUFFERDATAEXTPROC glad_glClearNamedBufferDataEXT;\n#define glClearNamedBufferDataEXT glad_glClearNamedBufferDataEXT\ntypedef void (APIENTRYP PFNGLCLEARNAMEDBUFFERSUBDATAEXTPROC)(GLuint buffer, GLenum internalformat, GLsizeiptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data);\nGLAPI PFNGLCLEARNAMEDBUFFERSUBDATAEXTPROC glad_glClearNamedBufferSubDataEXT;\n#define glClearNamedBufferSubDataEXT glad_glClearNamedBufferSubDataEXT\ntypedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERPARAMETERIEXTPROC)(GLuint framebuffer, GLenum pname, GLint param);\nGLAPI PFNGLNAMEDFRAMEBUFFERPARAMETERIEXTPROC glad_glNamedFramebufferParameteriEXT;\n#define glNamedFramebufferParameteriEXT glad_glNamedFramebufferParameteriEXT\ntypedef void (APIENTRYP PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVEXTPROC)(GLuint framebuffer, GLenum pname, GLint *params);\nGLAPI PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVEXTPROC glad_glGetNamedFramebufferParameterivEXT;\n#define glGetNamedFramebufferParameterivEXT glad_glGetNamedFramebufferParameterivEXT\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM1DEXTPROC)(GLuint program, GLint location, GLdouble x);\nGLAPI PFNGLPROGRAMUNIFORM1DEXTPROC glad_glProgramUniform1dEXT;\n#define glProgramUniform1dEXT glad_glProgramUniform1dEXT\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM2DEXTPROC)(GLuint program, GLint location, GLdouble x, GLdouble y);\nGLAPI PFNGLPROGRAMUNIFORM2DEXTPROC glad_glProgramUniform2dEXT;\n#define glProgramUniform2dEXT glad_glProgramUniform2dEXT\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM3DEXTPROC)(GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z);\nGLAPI PFNGLPROGRAMUNIFORM3DEXTPROC glad_glProgramUniform3dEXT;\n#define glProgramUniform3dEXT glad_glProgramUniform3dEXT\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM4DEXTPROC)(GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nGLAPI PFNGLPROGRAMUNIFORM4DEXTPROC glad_glProgramUniform4dEXT;\n#define glProgramUniform4dEXT glad_glProgramUniform4dEXT\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM1DVEXTPROC)(GLuint program, GLint location, GLsizei count, const GLdouble *value);\nGLAPI PFNGLPROGRAMUNIFORM1DVEXTPROC glad_glProgramUniform1dvEXT;\n#define glProgramUniform1dvEXT glad_glProgramUniform1dvEXT\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM2DVEXTPROC)(GLuint program, GLint location, GLsizei count, const GLdouble *value);\nGLAPI PFNGLPROGRAMUNIFORM2DVEXTPROC glad_glProgramUniform2dvEXT;\n#define glProgramUniform2dvEXT glad_glProgramUniform2dvEXT\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM3DVEXTPROC)(GLuint program, GLint location, GLsizei count, const GLdouble *value);\nGLAPI PFNGLPROGRAMUNIFORM3DVEXTPROC glad_glProgramUniform3dvEXT;\n#define glProgramUniform3dvEXT glad_glProgramUniform3dvEXT\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORM4DVEXTPROC)(GLuint program, GLint location, GLsizei count, const GLdouble *value);\nGLAPI PFNGLPROGRAMUNIFORM4DVEXTPROC glad_glProgramUniform4dvEXT;\n#define glProgramUniform4dvEXT glad_glProgramUniform4dvEXT\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2DVEXTPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nGLAPI PFNGLPROGRAMUNIFORMMATRIX2DVEXTPROC glad_glProgramUniformMatrix2dvEXT;\n#define glProgramUniformMatrix2dvEXT glad_glProgramUniformMatrix2dvEXT\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3DVEXTPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nGLAPI PFNGLPROGRAMUNIFORMMATRIX3DVEXTPROC glad_glProgramUniformMatrix3dvEXT;\n#define glProgramUniformMatrix3dvEXT glad_glProgramUniformMatrix3dvEXT\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4DVEXTPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nGLAPI PFNGLPROGRAMUNIFORMMATRIX4DVEXTPROC glad_glProgramUniformMatrix4dvEXT;\n#define glProgramUniformMatrix4dvEXT glad_glProgramUniformMatrix4dvEXT\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X3DVEXTPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nGLAPI PFNGLPROGRAMUNIFORMMATRIX2X3DVEXTPROC glad_glProgramUniformMatrix2x3dvEXT;\n#define glProgramUniformMatrix2x3dvEXT glad_glProgramUniformMatrix2x3dvEXT\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X4DVEXTPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nGLAPI PFNGLPROGRAMUNIFORMMATRIX2X4DVEXTPROC glad_glProgramUniformMatrix2x4dvEXT;\n#define glProgramUniformMatrix2x4dvEXT glad_glProgramUniformMatrix2x4dvEXT\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X2DVEXTPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nGLAPI PFNGLPROGRAMUNIFORMMATRIX3X2DVEXTPROC glad_glProgramUniformMatrix3x2dvEXT;\n#define glProgramUniformMatrix3x2dvEXT glad_glProgramUniformMatrix3x2dvEXT\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X4DVEXTPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nGLAPI PFNGLPROGRAMUNIFORMMATRIX3X4DVEXTPROC glad_glProgramUniformMatrix3x4dvEXT;\n#define glProgramUniformMatrix3x4dvEXT glad_glProgramUniformMatrix3x4dvEXT\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X2DVEXTPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nGLAPI PFNGLPROGRAMUNIFORMMATRIX4X2DVEXTPROC glad_glProgramUniformMatrix4x2dvEXT;\n#define glProgramUniformMatrix4x2dvEXT glad_glProgramUniformMatrix4x2dvEXT\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X3DVEXTPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nGLAPI PFNGLPROGRAMUNIFORMMATRIX4X3DVEXTPROC glad_glProgramUniformMatrix4x3dvEXT;\n#define glProgramUniformMatrix4x3dvEXT glad_glProgramUniformMatrix4x3dvEXT\ntypedef void (APIENTRYP PFNGLTEXTUREBUFFERRANGEEXTPROC)(GLuint texture, GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size);\nGLAPI PFNGLTEXTUREBUFFERRANGEEXTPROC glad_glTextureBufferRangeEXT;\n#define glTextureBufferRangeEXT glad_glTextureBufferRangeEXT\ntypedef void (APIENTRYP PFNGLTEXTURESTORAGE1DEXTPROC)(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);\nGLAPI PFNGLTEXTURESTORAGE1DEXTPROC glad_glTextureStorage1DEXT;\n#define glTextureStorage1DEXT glad_glTextureStorage1DEXT\ntypedef void (APIENTRYP PFNGLTEXTURESTORAGE2DEXTPROC)(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);\nGLAPI PFNGLTEXTURESTORAGE2DEXTPROC glad_glTextureStorage2DEXT;\n#define glTextureStorage2DEXT glad_glTextureStorage2DEXT\ntypedef void (APIENTRYP PFNGLTEXTURESTORAGE3DEXTPROC)(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);\nGLAPI PFNGLTEXTURESTORAGE3DEXTPROC glad_glTextureStorage3DEXT;\n#define glTextureStorage3DEXT glad_glTextureStorage3DEXT\ntypedef void (APIENTRYP PFNGLTEXTURESTORAGE2DMULTISAMPLEEXTPROC)(GLuint texture, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);\nGLAPI PFNGLTEXTURESTORAGE2DMULTISAMPLEEXTPROC glad_glTextureStorage2DMultisampleEXT;\n#define glTextureStorage2DMultisampleEXT glad_glTextureStorage2DMultisampleEXT\ntypedef void (APIENTRYP PFNGLTEXTURESTORAGE3DMULTISAMPLEEXTPROC)(GLuint texture, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);\nGLAPI PFNGLTEXTURESTORAGE3DMULTISAMPLEEXTPROC glad_glTextureStorage3DMultisampleEXT;\n#define glTextureStorage3DMultisampleEXT glad_glTextureStorage3DMultisampleEXT\ntypedef void (APIENTRYP PFNGLVERTEXARRAYBINDVERTEXBUFFEREXTPROC)(GLuint vaobj, GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride);\nGLAPI PFNGLVERTEXARRAYBINDVERTEXBUFFEREXTPROC glad_glVertexArrayBindVertexBufferEXT;\n#define glVertexArrayBindVertexBufferEXT glad_glVertexArrayBindVertexBufferEXT\ntypedef void (APIENTRYP PFNGLVERTEXARRAYVERTEXATTRIBFORMATEXTPROC)(GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset);\nGLAPI PFNGLVERTEXARRAYVERTEXATTRIBFORMATEXTPROC glad_glVertexArrayVertexAttribFormatEXT;\n#define glVertexArrayVertexAttribFormatEXT glad_glVertexArrayVertexAttribFormatEXT\ntypedef void (APIENTRYP PFNGLVERTEXARRAYVERTEXATTRIBIFORMATEXTPROC)(GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);\nGLAPI PFNGLVERTEXARRAYVERTEXATTRIBIFORMATEXTPROC glad_glVertexArrayVertexAttribIFormatEXT;\n#define glVertexArrayVertexAttribIFormatEXT glad_glVertexArrayVertexAttribIFormatEXT\ntypedef void (APIENTRYP PFNGLVERTEXARRAYVERTEXATTRIBLFORMATEXTPROC)(GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);\nGLAPI PFNGLVERTEXARRAYVERTEXATTRIBLFORMATEXTPROC glad_glVertexArrayVertexAttribLFormatEXT;\n#define glVertexArrayVertexAttribLFormatEXT glad_glVertexArrayVertexAttribLFormatEXT\ntypedef void (APIENTRYP PFNGLVERTEXARRAYVERTEXATTRIBBINDINGEXTPROC)(GLuint vaobj, GLuint attribindex, GLuint bindingindex);\nGLAPI PFNGLVERTEXARRAYVERTEXATTRIBBINDINGEXTPROC glad_glVertexArrayVertexAttribBindingEXT;\n#define glVertexArrayVertexAttribBindingEXT glad_glVertexArrayVertexAttribBindingEXT\ntypedef void (APIENTRYP PFNGLVERTEXARRAYVERTEXBINDINGDIVISOREXTPROC)(GLuint vaobj, GLuint bindingindex, GLuint divisor);\nGLAPI PFNGLVERTEXARRAYVERTEXBINDINGDIVISOREXTPROC glad_glVertexArrayVertexBindingDivisorEXT;\n#define glVertexArrayVertexBindingDivisorEXT glad_glVertexArrayVertexBindingDivisorEXT\ntypedef void (APIENTRYP PFNGLVERTEXARRAYVERTEXATTRIBLOFFSETEXTPROC)(GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLsizei stride, GLintptr offset);\nGLAPI PFNGLVERTEXARRAYVERTEXATTRIBLOFFSETEXTPROC glad_glVertexArrayVertexAttribLOffsetEXT;\n#define glVertexArrayVertexAttribLOffsetEXT glad_glVertexArrayVertexAttribLOffsetEXT\ntypedef void (APIENTRYP PFNGLTEXTUREPAGECOMMITMENTEXTPROC)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean commit);\nGLAPI PFNGLTEXTUREPAGECOMMITMENTEXTPROC glad_glTexturePageCommitmentEXT;\n#define glTexturePageCommitmentEXT glad_glTexturePageCommitmentEXT\ntypedef void (APIENTRYP PFNGLVERTEXARRAYVERTEXATTRIBDIVISOREXTPROC)(GLuint vaobj, GLuint index, GLuint divisor);\nGLAPI PFNGLVERTEXARRAYVERTEXATTRIBDIVISOREXTPROC glad_glVertexArrayVertexAttribDivisorEXT;\n#define glVertexArrayVertexAttribDivisorEXT glad_glVertexArrayVertexAttribDivisorEXT\n#endif\n#ifndef GL_EXT_draw_buffers2\n#define GL_EXT_draw_buffers2 1\nGLAPI int GLAD_GL_EXT_draw_buffers2;\ntypedef void (APIENTRYP PFNGLCOLORMASKINDEXEDEXTPROC)(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);\nGLAPI PFNGLCOLORMASKINDEXEDEXTPROC glad_glColorMaskIndexedEXT;\n#define glColorMaskIndexedEXT glad_glColorMaskIndexedEXT\n#endif\n#ifndef GL_EXT_draw_instanced\n#define GL_EXT_draw_instanced 1\nGLAPI int GLAD_GL_EXT_draw_instanced;\ntypedef void (APIENTRYP PFNGLDRAWARRAYSINSTANCEDEXTPROC)(GLenum mode, GLint start, GLsizei count, GLsizei primcount);\nGLAPI PFNGLDRAWARRAYSINSTANCEDEXTPROC glad_glDrawArraysInstancedEXT;\n#define glDrawArraysInstancedEXT glad_glDrawArraysInstancedEXT\ntypedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDEXTPROC)(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);\nGLAPI PFNGLDRAWELEMENTSINSTANCEDEXTPROC glad_glDrawElementsInstancedEXT;\n#define glDrawElementsInstancedEXT glad_glDrawElementsInstancedEXT\n#endif\n#ifndef GL_EXT_draw_range_elements\n#define GL_EXT_draw_range_elements 1\nGLAPI int GLAD_GL_EXT_draw_range_elements;\ntypedef void (APIENTRYP PFNGLDRAWRANGEELEMENTSEXTPROC)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices);\nGLAPI PFNGLDRAWRANGEELEMENTSEXTPROC glad_glDrawRangeElementsEXT;\n#define glDrawRangeElementsEXT glad_glDrawRangeElementsEXT\n#endif\n#ifndef GL_EXT_external_buffer\n#define GL_EXT_external_buffer 1\nGLAPI int GLAD_GL_EXT_external_buffer;\ntypedef void (APIENTRYP PFNGLBUFFERSTORAGEEXTERNALEXTPROC)(GLenum target, GLintptr offset, GLsizeiptr size, GLeglClientBufferEXT clientBuffer, GLbitfield flags);\nGLAPI PFNGLBUFFERSTORAGEEXTERNALEXTPROC glad_glBufferStorageExternalEXT;\n#define glBufferStorageExternalEXT glad_glBufferStorageExternalEXT\ntypedef void (APIENTRYP PFNGLNAMEDBUFFERSTORAGEEXTERNALEXTPROC)(GLuint buffer, GLintptr offset, GLsizeiptr size, GLeglClientBufferEXT clientBuffer, GLbitfield flags);\nGLAPI PFNGLNAMEDBUFFERSTORAGEEXTERNALEXTPROC glad_glNamedBufferStorageExternalEXT;\n#define glNamedBufferStorageExternalEXT glad_glNamedBufferStorageExternalEXT\n#endif\n#ifndef GL_EXT_fog_coord\n#define GL_EXT_fog_coord 1\nGLAPI int GLAD_GL_EXT_fog_coord;\ntypedef void (APIENTRYP PFNGLFOGCOORDFEXTPROC)(GLfloat coord);\nGLAPI PFNGLFOGCOORDFEXTPROC glad_glFogCoordfEXT;\n#define glFogCoordfEXT glad_glFogCoordfEXT\ntypedef void (APIENTRYP PFNGLFOGCOORDFVEXTPROC)(const GLfloat *coord);\nGLAPI PFNGLFOGCOORDFVEXTPROC glad_glFogCoordfvEXT;\n#define glFogCoordfvEXT glad_glFogCoordfvEXT\ntypedef void (APIENTRYP PFNGLFOGCOORDDEXTPROC)(GLdouble coord);\nGLAPI PFNGLFOGCOORDDEXTPROC glad_glFogCoorddEXT;\n#define glFogCoorddEXT glad_glFogCoorddEXT\ntypedef void (APIENTRYP PFNGLFOGCOORDDVEXTPROC)(const GLdouble *coord);\nGLAPI PFNGLFOGCOORDDVEXTPROC glad_glFogCoorddvEXT;\n#define glFogCoorddvEXT glad_glFogCoorddvEXT\ntypedef void (APIENTRYP PFNGLFOGCOORDPOINTEREXTPROC)(GLenum type, GLsizei stride, const void *pointer);\nGLAPI PFNGLFOGCOORDPOINTEREXTPROC glad_glFogCoordPointerEXT;\n#define glFogCoordPointerEXT glad_glFogCoordPointerEXT\n#endif\n#ifndef GL_EXT_framebuffer_blit\n#define GL_EXT_framebuffer_blit 1\nGLAPI int GLAD_GL_EXT_framebuffer_blit;\ntypedef void (APIENTRYP PFNGLBLITFRAMEBUFFEREXTPROC)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);\nGLAPI PFNGLBLITFRAMEBUFFEREXTPROC glad_glBlitFramebufferEXT;\n#define glBlitFramebufferEXT glad_glBlitFramebufferEXT\n#endif\n#ifndef GL_EXT_framebuffer_multisample\n#define GL_EXT_framebuffer_multisample 1\nGLAPI int GLAD_GL_EXT_framebuffer_multisample;\ntypedef void (APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);\nGLAPI PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC glad_glRenderbufferStorageMultisampleEXT;\n#define glRenderbufferStorageMultisampleEXT glad_glRenderbufferStorageMultisampleEXT\n#endif\n#ifndef GL_EXT_framebuffer_multisample_blit_scaled\n#define GL_EXT_framebuffer_multisample_blit_scaled 1\nGLAPI int GLAD_GL_EXT_framebuffer_multisample_blit_scaled;\n#endif\n#ifndef GL_EXT_framebuffer_object\n#define GL_EXT_framebuffer_object 1\nGLAPI int GLAD_GL_EXT_framebuffer_object;\ntypedef GLboolean (APIENTRYP PFNGLISRENDERBUFFEREXTPROC)(GLuint renderbuffer);\nGLAPI PFNGLISRENDERBUFFEREXTPROC glad_glIsRenderbufferEXT;\n#define glIsRenderbufferEXT glad_glIsRenderbufferEXT\ntypedef void (APIENTRYP PFNGLBINDRENDERBUFFEREXTPROC)(GLenum target, GLuint renderbuffer);\nGLAPI PFNGLBINDRENDERBUFFEREXTPROC glad_glBindRenderbufferEXT;\n#define glBindRenderbufferEXT glad_glBindRenderbufferEXT\ntypedef void (APIENTRYP PFNGLDELETERENDERBUFFERSEXTPROC)(GLsizei n, const GLuint *renderbuffers);\nGLAPI PFNGLDELETERENDERBUFFERSEXTPROC glad_glDeleteRenderbuffersEXT;\n#define glDeleteRenderbuffersEXT glad_glDeleteRenderbuffersEXT\ntypedef void (APIENTRYP PFNGLGENRENDERBUFFERSEXTPROC)(GLsizei n, GLuint *renderbuffers);\nGLAPI PFNGLGENRENDERBUFFERSEXTPROC glad_glGenRenderbuffersEXT;\n#define glGenRenderbuffersEXT glad_glGenRenderbuffersEXT\ntypedef void (APIENTRYP PFNGLRENDERBUFFERSTORAGEEXTPROC)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height);\nGLAPI PFNGLRENDERBUFFERSTORAGEEXTPROC glad_glRenderbufferStorageEXT;\n#define glRenderbufferStorageEXT glad_glRenderbufferStorageEXT\ntypedef void (APIENTRYP PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC)(GLenum target, GLenum pname, GLint *params);\nGLAPI PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC glad_glGetRenderbufferParameterivEXT;\n#define glGetRenderbufferParameterivEXT glad_glGetRenderbufferParameterivEXT\ntypedef GLboolean (APIENTRYP PFNGLISFRAMEBUFFEREXTPROC)(GLuint framebuffer);\nGLAPI PFNGLISFRAMEBUFFEREXTPROC glad_glIsFramebufferEXT;\n#define glIsFramebufferEXT glad_glIsFramebufferEXT\ntypedef void (APIENTRYP PFNGLBINDFRAMEBUFFEREXTPROC)(GLenum target, GLuint framebuffer);\nGLAPI PFNGLBINDFRAMEBUFFEREXTPROC glad_glBindFramebufferEXT;\n#define glBindFramebufferEXT glad_glBindFramebufferEXT\ntypedef void (APIENTRYP PFNGLDELETEFRAMEBUFFERSEXTPROC)(GLsizei n, const GLuint *framebuffers);\nGLAPI PFNGLDELETEFRAMEBUFFERSEXTPROC glad_glDeleteFramebuffersEXT;\n#define glDeleteFramebuffersEXT glad_glDeleteFramebuffersEXT\ntypedef void (APIENTRYP PFNGLGENFRAMEBUFFERSEXTPROC)(GLsizei n, GLuint *framebuffers);\nGLAPI PFNGLGENFRAMEBUFFERSEXTPROC glad_glGenFramebuffersEXT;\n#define glGenFramebuffersEXT glad_glGenFramebuffersEXT\ntypedef GLenum (APIENTRYP PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC)(GLenum target);\nGLAPI PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC glad_glCheckFramebufferStatusEXT;\n#define glCheckFramebufferStatusEXT glad_glCheckFramebufferStatusEXT\ntypedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE1DEXTPROC)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);\nGLAPI PFNGLFRAMEBUFFERTEXTURE1DEXTPROC glad_glFramebufferTexture1DEXT;\n#define glFramebufferTexture1DEXT glad_glFramebufferTexture1DEXT\ntypedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DEXTPROC)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);\nGLAPI PFNGLFRAMEBUFFERTEXTURE2DEXTPROC glad_glFramebufferTexture2DEXT;\n#define glFramebufferTexture2DEXT glad_glFramebufferTexture2DEXT\ntypedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DEXTPROC)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);\nGLAPI PFNGLFRAMEBUFFERTEXTURE3DEXTPROC glad_glFramebufferTexture3DEXT;\n#define glFramebufferTexture3DEXT glad_glFramebufferTexture3DEXT\ntypedef void (APIENTRYP PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC)(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);\nGLAPI PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC glad_glFramebufferRenderbufferEXT;\n#define glFramebufferRenderbufferEXT glad_glFramebufferRenderbufferEXT\ntypedef void (APIENTRYP PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC)(GLenum target, GLenum attachment, GLenum pname, GLint *params);\nGLAPI PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC glad_glGetFramebufferAttachmentParameterivEXT;\n#define glGetFramebufferAttachmentParameterivEXT glad_glGetFramebufferAttachmentParameterivEXT\ntypedef void (APIENTRYP PFNGLGENERATEMIPMAPEXTPROC)(GLenum target);\nGLAPI PFNGLGENERATEMIPMAPEXTPROC glad_glGenerateMipmapEXT;\n#define glGenerateMipmapEXT glad_glGenerateMipmapEXT\n#endif\n#ifndef GL_EXT_framebuffer_sRGB\n#define GL_EXT_framebuffer_sRGB 1\nGLAPI int GLAD_GL_EXT_framebuffer_sRGB;\n#endif\n#ifndef GL_EXT_geometry_shader4\n#define GL_EXT_geometry_shader4 1\nGLAPI int GLAD_GL_EXT_geometry_shader4;\ntypedef void (APIENTRYP PFNGLPROGRAMPARAMETERIEXTPROC)(GLuint program, GLenum pname, GLint value);\nGLAPI PFNGLPROGRAMPARAMETERIEXTPROC glad_glProgramParameteriEXT;\n#define glProgramParameteriEXT glad_glProgramParameteriEXT\n#endif\n#ifndef GL_EXT_gpu_program_parameters\n#define GL_EXT_gpu_program_parameters 1\nGLAPI int GLAD_GL_EXT_gpu_program_parameters;\ntypedef void (APIENTRYP PFNGLPROGRAMENVPARAMETERS4FVEXTPROC)(GLenum target, GLuint index, GLsizei count, const GLfloat *params);\nGLAPI PFNGLPROGRAMENVPARAMETERS4FVEXTPROC glad_glProgramEnvParameters4fvEXT;\n#define glProgramEnvParameters4fvEXT glad_glProgramEnvParameters4fvEXT\ntypedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETERS4FVEXTPROC)(GLenum target, GLuint index, GLsizei count, const GLfloat *params);\nGLAPI PFNGLPROGRAMLOCALPARAMETERS4FVEXTPROC glad_glProgramLocalParameters4fvEXT;\n#define glProgramLocalParameters4fvEXT glad_glProgramLocalParameters4fvEXT\n#endif\n#ifndef GL_EXT_gpu_shader4\n#define GL_EXT_gpu_shader4 1\nGLAPI int GLAD_GL_EXT_gpu_shader4;\ntypedef void (APIENTRYP PFNGLGETUNIFORMUIVEXTPROC)(GLuint program, GLint location, GLuint *params);\nGLAPI PFNGLGETUNIFORMUIVEXTPROC glad_glGetUniformuivEXT;\n#define glGetUniformuivEXT glad_glGetUniformuivEXT\ntypedef void (APIENTRYP PFNGLBINDFRAGDATALOCATIONEXTPROC)(GLuint program, GLuint color, const GLchar *name);\nGLAPI PFNGLBINDFRAGDATALOCATIONEXTPROC glad_glBindFragDataLocationEXT;\n#define glBindFragDataLocationEXT glad_glBindFragDataLocationEXT\ntypedef GLint (APIENTRYP PFNGLGETFRAGDATALOCATIONEXTPROC)(GLuint program, const GLchar *name);\nGLAPI PFNGLGETFRAGDATALOCATIONEXTPROC glad_glGetFragDataLocationEXT;\n#define glGetFragDataLocationEXT glad_glGetFragDataLocationEXT\ntypedef void (APIENTRYP PFNGLUNIFORM1UIEXTPROC)(GLint location, GLuint v0);\nGLAPI PFNGLUNIFORM1UIEXTPROC glad_glUniform1uiEXT;\n#define glUniform1uiEXT glad_glUniform1uiEXT\ntypedef void (APIENTRYP PFNGLUNIFORM2UIEXTPROC)(GLint location, GLuint v0, GLuint v1);\nGLAPI PFNGLUNIFORM2UIEXTPROC glad_glUniform2uiEXT;\n#define glUniform2uiEXT glad_glUniform2uiEXT\ntypedef void (APIENTRYP PFNGLUNIFORM3UIEXTPROC)(GLint location, GLuint v0, GLuint v1, GLuint v2);\nGLAPI PFNGLUNIFORM3UIEXTPROC glad_glUniform3uiEXT;\n#define glUniform3uiEXT glad_glUniform3uiEXT\ntypedef void (APIENTRYP PFNGLUNIFORM4UIEXTPROC)(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);\nGLAPI PFNGLUNIFORM4UIEXTPROC glad_glUniform4uiEXT;\n#define glUniform4uiEXT glad_glUniform4uiEXT\ntypedef void (APIENTRYP PFNGLUNIFORM1UIVEXTPROC)(GLint location, GLsizei count, const GLuint *value);\nGLAPI PFNGLUNIFORM1UIVEXTPROC glad_glUniform1uivEXT;\n#define glUniform1uivEXT glad_glUniform1uivEXT\ntypedef void (APIENTRYP PFNGLUNIFORM2UIVEXTPROC)(GLint location, GLsizei count, const GLuint *value);\nGLAPI PFNGLUNIFORM2UIVEXTPROC glad_glUniform2uivEXT;\n#define glUniform2uivEXT glad_glUniform2uivEXT\ntypedef void (APIENTRYP PFNGLUNIFORM3UIVEXTPROC)(GLint location, GLsizei count, const GLuint *value);\nGLAPI PFNGLUNIFORM3UIVEXTPROC glad_glUniform3uivEXT;\n#define glUniform3uivEXT glad_glUniform3uivEXT\ntypedef void (APIENTRYP PFNGLUNIFORM4UIVEXTPROC)(GLint location, GLsizei count, const GLuint *value);\nGLAPI PFNGLUNIFORM4UIVEXTPROC glad_glUniform4uivEXT;\n#define glUniform4uivEXT glad_glUniform4uivEXT\n#endif\n#ifndef GL_EXT_histogram\n#define GL_EXT_histogram 1\nGLAPI int GLAD_GL_EXT_histogram;\ntypedef void (APIENTRYP PFNGLGETHISTOGRAMEXTPROC)(GLenum target, GLboolean reset, GLenum format, GLenum type, void *values);\nGLAPI PFNGLGETHISTOGRAMEXTPROC glad_glGetHistogramEXT;\n#define glGetHistogramEXT glad_glGetHistogramEXT\ntypedef void (APIENTRYP PFNGLGETHISTOGRAMPARAMETERFVEXTPROC)(GLenum target, GLenum pname, GLfloat *params);\nGLAPI PFNGLGETHISTOGRAMPARAMETERFVEXTPROC glad_glGetHistogramParameterfvEXT;\n#define glGetHistogramParameterfvEXT glad_glGetHistogramParameterfvEXT\ntypedef void (APIENTRYP PFNGLGETHISTOGRAMPARAMETERIVEXTPROC)(GLenum target, GLenum pname, GLint *params);\nGLAPI PFNGLGETHISTOGRAMPARAMETERIVEXTPROC glad_glGetHistogramParameterivEXT;\n#define glGetHistogramParameterivEXT glad_glGetHistogramParameterivEXT\ntypedef void (APIENTRYP PFNGLGETMINMAXEXTPROC)(GLenum target, GLboolean reset, GLenum format, GLenum type, void *values);\nGLAPI PFNGLGETMINMAXEXTPROC glad_glGetMinmaxEXT;\n#define glGetMinmaxEXT glad_glGetMinmaxEXT\ntypedef void (APIENTRYP PFNGLGETMINMAXPARAMETERFVEXTPROC)(GLenum target, GLenum pname, GLfloat *params);\nGLAPI PFNGLGETMINMAXPARAMETERFVEXTPROC glad_glGetMinmaxParameterfvEXT;\n#define glGetMinmaxParameterfvEXT glad_glGetMinmaxParameterfvEXT\ntypedef void (APIENTRYP PFNGLGETMINMAXPARAMETERIVEXTPROC)(GLenum target, GLenum pname, GLint *params);\nGLAPI PFNGLGETMINMAXPARAMETERIVEXTPROC glad_glGetMinmaxParameterivEXT;\n#define glGetMinmaxParameterivEXT glad_glGetMinmaxParameterivEXT\ntypedef void (APIENTRYP PFNGLHISTOGRAMEXTPROC)(GLenum target, GLsizei width, GLenum internalformat, GLboolean sink);\nGLAPI PFNGLHISTOGRAMEXTPROC glad_glHistogramEXT;\n#define glHistogramEXT glad_glHistogramEXT\ntypedef void (APIENTRYP PFNGLMINMAXEXTPROC)(GLenum target, GLenum internalformat, GLboolean sink);\nGLAPI PFNGLMINMAXEXTPROC glad_glMinmaxEXT;\n#define glMinmaxEXT glad_glMinmaxEXT\ntypedef void (APIENTRYP PFNGLRESETHISTOGRAMEXTPROC)(GLenum target);\nGLAPI PFNGLRESETHISTOGRAMEXTPROC glad_glResetHistogramEXT;\n#define glResetHistogramEXT glad_glResetHistogramEXT\ntypedef void (APIENTRYP PFNGLRESETMINMAXEXTPROC)(GLenum target);\nGLAPI PFNGLRESETMINMAXEXTPROC glad_glResetMinmaxEXT;\n#define glResetMinmaxEXT glad_glResetMinmaxEXT\n#endif\n#ifndef GL_EXT_index_array_formats\n#define GL_EXT_index_array_formats 1\nGLAPI int GLAD_GL_EXT_index_array_formats;\n#endif\n#ifndef GL_EXT_index_func\n#define GL_EXT_index_func 1\nGLAPI int GLAD_GL_EXT_index_func;\ntypedef void (APIENTRYP PFNGLINDEXFUNCEXTPROC)(GLenum func, GLclampf ref);\nGLAPI PFNGLINDEXFUNCEXTPROC glad_glIndexFuncEXT;\n#define glIndexFuncEXT glad_glIndexFuncEXT\n#endif\n#ifndef GL_EXT_index_material\n#define GL_EXT_index_material 1\nGLAPI int GLAD_GL_EXT_index_material;\ntypedef void (APIENTRYP PFNGLINDEXMATERIALEXTPROC)(GLenum face, GLenum mode);\nGLAPI PFNGLINDEXMATERIALEXTPROC glad_glIndexMaterialEXT;\n#define glIndexMaterialEXT glad_glIndexMaterialEXT\n#endif\n#ifndef GL_EXT_index_texture\n#define GL_EXT_index_texture 1\nGLAPI int GLAD_GL_EXT_index_texture;\n#endif\n#ifndef GL_EXT_light_texture\n#define GL_EXT_light_texture 1\nGLAPI int GLAD_GL_EXT_light_texture;\ntypedef void (APIENTRYP PFNGLAPPLYTEXTUREEXTPROC)(GLenum mode);\nGLAPI PFNGLAPPLYTEXTUREEXTPROC glad_glApplyTextureEXT;\n#define glApplyTextureEXT glad_glApplyTextureEXT\ntypedef void (APIENTRYP PFNGLTEXTURELIGHTEXTPROC)(GLenum pname);\nGLAPI PFNGLTEXTURELIGHTEXTPROC glad_glTextureLightEXT;\n#define glTextureLightEXT glad_glTextureLightEXT\ntypedef void (APIENTRYP PFNGLTEXTUREMATERIALEXTPROC)(GLenum face, GLenum mode);\nGLAPI PFNGLTEXTUREMATERIALEXTPROC glad_glTextureMaterialEXT;\n#define glTextureMaterialEXT glad_glTextureMaterialEXT\n#endif\n#ifndef GL_EXT_memory_object\n#define GL_EXT_memory_object 1\nGLAPI int GLAD_GL_EXT_memory_object;\ntypedef void (APIENTRYP PFNGLGETUNSIGNEDBYTEVEXTPROC)(GLenum pname, GLubyte *data);\nGLAPI PFNGLGETUNSIGNEDBYTEVEXTPROC glad_glGetUnsignedBytevEXT;\n#define glGetUnsignedBytevEXT glad_glGetUnsignedBytevEXT\ntypedef void (APIENTRYP PFNGLGETUNSIGNEDBYTEI_VEXTPROC)(GLenum target, GLuint index, GLubyte *data);\nGLAPI PFNGLGETUNSIGNEDBYTEI_VEXTPROC glad_glGetUnsignedBytei_vEXT;\n#define glGetUnsignedBytei_vEXT glad_glGetUnsignedBytei_vEXT\ntypedef void (APIENTRYP PFNGLDELETEMEMORYOBJECTSEXTPROC)(GLsizei n, const GLuint *memoryObjects);\nGLAPI PFNGLDELETEMEMORYOBJECTSEXTPROC glad_glDeleteMemoryObjectsEXT;\n#define glDeleteMemoryObjectsEXT glad_glDeleteMemoryObjectsEXT\ntypedef GLboolean (APIENTRYP PFNGLISMEMORYOBJECTEXTPROC)(GLuint memoryObject);\nGLAPI PFNGLISMEMORYOBJECTEXTPROC glad_glIsMemoryObjectEXT;\n#define glIsMemoryObjectEXT glad_glIsMemoryObjectEXT\ntypedef void (APIENTRYP PFNGLCREATEMEMORYOBJECTSEXTPROC)(GLsizei n, GLuint *memoryObjects);\nGLAPI PFNGLCREATEMEMORYOBJECTSEXTPROC glad_glCreateMemoryObjectsEXT;\n#define glCreateMemoryObjectsEXT glad_glCreateMemoryObjectsEXT\ntypedef void (APIENTRYP PFNGLMEMORYOBJECTPARAMETERIVEXTPROC)(GLuint memoryObject, GLenum pname, const GLint *params);\nGLAPI PFNGLMEMORYOBJECTPARAMETERIVEXTPROC glad_glMemoryObjectParameterivEXT;\n#define glMemoryObjectParameterivEXT glad_glMemoryObjectParameterivEXT\ntypedef void (APIENTRYP PFNGLGETMEMORYOBJECTPARAMETERIVEXTPROC)(GLuint memoryObject, GLenum pname, GLint *params);\nGLAPI PFNGLGETMEMORYOBJECTPARAMETERIVEXTPROC glad_glGetMemoryObjectParameterivEXT;\n#define glGetMemoryObjectParameterivEXT glad_glGetMemoryObjectParameterivEXT\ntypedef void (APIENTRYP PFNGLTEXSTORAGEMEM2DEXTPROC)(GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLuint memory, GLuint64 offset);\nGLAPI PFNGLTEXSTORAGEMEM2DEXTPROC glad_glTexStorageMem2DEXT;\n#define glTexStorageMem2DEXT glad_glTexStorageMem2DEXT\ntypedef void (APIENTRYP PFNGLTEXSTORAGEMEM2DMULTISAMPLEEXTPROC)(GLenum target, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations, GLuint memory, GLuint64 offset);\nGLAPI PFNGLTEXSTORAGEMEM2DMULTISAMPLEEXTPROC glad_glTexStorageMem2DMultisampleEXT;\n#define glTexStorageMem2DMultisampleEXT glad_glTexStorageMem2DMultisampleEXT\ntypedef void (APIENTRYP PFNGLTEXSTORAGEMEM3DEXTPROC)(GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLuint memory, GLuint64 offset);\nGLAPI PFNGLTEXSTORAGEMEM3DEXTPROC glad_glTexStorageMem3DEXT;\n#define glTexStorageMem3DEXT glad_glTexStorageMem3DEXT\ntypedef void (APIENTRYP PFNGLTEXSTORAGEMEM3DMULTISAMPLEEXTPROC)(GLenum target, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations, GLuint memory, GLuint64 offset);\nGLAPI PFNGLTEXSTORAGEMEM3DMULTISAMPLEEXTPROC glad_glTexStorageMem3DMultisampleEXT;\n#define glTexStorageMem3DMultisampleEXT glad_glTexStorageMem3DMultisampleEXT\ntypedef void (APIENTRYP PFNGLBUFFERSTORAGEMEMEXTPROC)(GLenum target, GLsizeiptr size, GLuint memory, GLuint64 offset);\nGLAPI PFNGLBUFFERSTORAGEMEMEXTPROC glad_glBufferStorageMemEXT;\n#define glBufferStorageMemEXT glad_glBufferStorageMemEXT\ntypedef void (APIENTRYP PFNGLTEXTURESTORAGEMEM2DEXTPROC)(GLuint texture, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLuint memory, GLuint64 offset);\nGLAPI PFNGLTEXTURESTORAGEMEM2DEXTPROC glad_glTextureStorageMem2DEXT;\n#define glTextureStorageMem2DEXT glad_glTextureStorageMem2DEXT\ntypedef void (APIENTRYP PFNGLTEXTURESTORAGEMEM2DMULTISAMPLEEXTPROC)(GLuint texture, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations, GLuint memory, GLuint64 offset);\nGLAPI PFNGLTEXTURESTORAGEMEM2DMULTISAMPLEEXTPROC glad_glTextureStorageMem2DMultisampleEXT;\n#define glTextureStorageMem2DMultisampleEXT glad_glTextureStorageMem2DMultisampleEXT\ntypedef void (APIENTRYP PFNGLTEXTURESTORAGEMEM3DEXTPROC)(GLuint texture, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLuint memory, GLuint64 offset);\nGLAPI PFNGLTEXTURESTORAGEMEM3DEXTPROC glad_glTextureStorageMem3DEXT;\n#define glTextureStorageMem3DEXT glad_glTextureStorageMem3DEXT\ntypedef void (APIENTRYP PFNGLTEXTURESTORAGEMEM3DMULTISAMPLEEXTPROC)(GLuint texture, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations, GLuint memory, GLuint64 offset);\nGLAPI PFNGLTEXTURESTORAGEMEM3DMULTISAMPLEEXTPROC glad_glTextureStorageMem3DMultisampleEXT;\n#define glTextureStorageMem3DMultisampleEXT glad_glTextureStorageMem3DMultisampleEXT\ntypedef void (APIENTRYP PFNGLNAMEDBUFFERSTORAGEMEMEXTPROC)(GLuint buffer, GLsizeiptr size, GLuint memory, GLuint64 offset);\nGLAPI PFNGLNAMEDBUFFERSTORAGEMEMEXTPROC glad_glNamedBufferStorageMemEXT;\n#define glNamedBufferStorageMemEXT glad_glNamedBufferStorageMemEXT\ntypedef void (APIENTRYP PFNGLTEXSTORAGEMEM1DEXTPROC)(GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLuint memory, GLuint64 offset);\nGLAPI PFNGLTEXSTORAGEMEM1DEXTPROC glad_glTexStorageMem1DEXT;\n#define glTexStorageMem1DEXT glad_glTexStorageMem1DEXT\ntypedef void (APIENTRYP PFNGLTEXTURESTORAGEMEM1DEXTPROC)(GLuint texture, GLsizei levels, GLenum internalFormat, GLsizei width, GLuint memory, GLuint64 offset);\nGLAPI PFNGLTEXTURESTORAGEMEM1DEXTPROC glad_glTextureStorageMem1DEXT;\n#define glTextureStorageMem1DEXT glad_glTextureStorageMem1DEXT\n#endif\n#ifndef GL_EXT_memory_object_fd\n#define GL_EXT_memory_object_fd 1\nGLAPI int GLAD_GL_EXT_memory_object_fd;\ntypedef void (APIENTRYP PFNGLIMPORTMEMORYFDEXTPROC)(GLuint memory, GLuint64 size, GLenum handleType, GLint fd);\nGLAPI PFNGLIMPORTMEMORYFDEXTPROC glad_glImportMemoryFdEXT;\n#define glImportMemoryFdEXT glad_glImportMemoryFdEXT\n#endif\n#ifndef GL_EXT_memory_object_win32\n#define GL_EXT_memory_object_win32 1\nGLAPI int GLAD_GL_EXT_memory_object_win32;\ntypedef void (APIENTRYP PFNGLIMPORTMEMORYWIN32HANDLEEXTPROC)(GLuint memory, GLuint64 size, GLenum handleType, void *handle);\nGLAPI PFNGLIMPORTMEMORYWIN32HANDLEEXTPROC glad_glImportMemoryWin32HandleEXT;\n#define glImportMemoryWin32HandleEXT glad_glImportMemoryWin32HandleEXT\ntypedef void (APIENTRYP PFNGLIMPORTMEMORYWIN32NAMEEXTPROC)(GLuint memory, GLuint64 size, GLenum handleType, const void *name);\nGLAPI PFNGLIMPORTMEMORYWIN32NAMEEXTPROC glad_glImportMemoryWin32NameEXT;\n#define glImportMemoryWin32NameEXT glad_glImportMemoryWin32NameEXT\n#endif\n#ifndef GL_EXT_misc_attribute\n#define GL_EXT_misc_attribute 1\nGLAPI int GLAD_GL_EXT_misc_attribute;\n#endif\n#ifndef GL_EXT_multi_draw_arrays\n#define GL_EXT_multi_draw_arrays 1\nGLAPI int GLAD_GL_EXT_multi_draw_arrays;\ntypedef void (APIENTRYP PFNGLMULTIDRAWARRAYSEXTPROC)(GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);\nGLAPI PFNGLMULTIDRAWARRAYSEXTPROC glad_glMultiDrawArraysEXT;\n#define glMultiDrawArraysEXT glad_glMultiDrawArraysEXT\ntypedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSEXTPROC)(GLenum mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei primcount);\nGLAPI PFNGLMULTIDRAWELEMENTSEXTPROC glad_glMultiDrawElementsEXT;\n#define glMultiDrawElementsEXT glad_glMultiDrawElementsEXT\n#endif\n#ifndef GL_EXT_multisample\n#define GL_EXT_multisample 1\nGLAPI int GLAD_GL_EXT_multisample;\ntypedef void (APIENTRYP PFNGLSAMPLEMASKEXTPROC)(GLclampf value, GLboolean invert);\nGLAPI PFNGLSAMPLEMASKEXTPROC glad_glSampleMaskEXT;\n#define glSampleMaskEXT glad_glSampleMaskEXT\ntypedef void (APIENTRYP PFNGLSAMPLEPATTERNEXTPROC)(GLenum pattern);\nGLAPI PFNGLSAMPLEPATTERNEXTPROC glad_glSamplePatternEXT;\n#define glSamplePatternEXT glad_glSamplePatternEXT\n#endif\n#ifndef GL_EXT_packed_depth_stencil\n#define GL_EXT_packed_depth_stencil 1\nGLAPI int GLAD_GL_EXT_packed_depth_stencil;\n#endif\n#ifndef GL_EXT_packed_float\n#define GL_EXT_packed_float 1\nGLAPI int GLAD_GL_EXT_packed_float;\n#endif\n#ifndef GL_EXT_packed_pixels\n#define GL_EXT_packed_pixels 1\nGLAPI int GLAD_GL_EXT_packed_pixels;\n#endif\n#ifndef GL_EXT_paletted_texture\n#define GL_EXT_paletted_texture 1\nGLAPI int GLAD_GL_EXT_paletted_texture;\ntypedef void (APIENTRYP PFNGLCOLORTABLEEXTPROC)(GLenum target, GLenum internalFormat, GLsizei width, GLenum format, GLenum type, const void *table);\nGLAPI PFNGLCOLORTABLEEXTPROC glad_glColorTableEXT;\n#define glColorTableEXT glad_glColorTableEXT\ntypedef void (APIENTRYP PFNGLGETCOLORTABLEEXTPROC)(GLenum target, GLenum format, GLenum type, void *data);\nGLAPI PFNGLGETCOLORTABLEEXTPROC glad_glGetColorTableEXT;\n#define glGetColorTableEXT glad_glGetColorTableEXT\ntypedef void (APIENTRYP PFNGLGETCOLORTABLEPARAMETERIVEXTPROC)(GLenum target, GLenum pname, GLint *params);\nGLAPI PFNGLGETCOLORTABLEPARAMETERIVEXTPROC glad_glGetColorTableParameterivEXT;\n#define glGetColorTableParameterivEXT glad_glGetColorTableParameterivEXT\ntypedef void (APIENTRYP PFNGLGETCOLORTABLEPARAMETERFVEXTPROC)(GLenum target, GLenum pname, GLfloat *params);\nGLAPI PFNGLGETCOLORTABLEPARAMETERFVEXTPROC glad_glGetColorTableParameterfvEXT;\n#define glGetColorTableParameterfvEXT glad_glGetColorTableParameterfvEXT\n#endif\n#ifndef GL_EXT_pixel_buffer_object\n#define GL_EXT_pixel_buffer_object 1\nGLAPI int GLAD_GL_EXT_pixel_buffer_object;\n#endif\n#ifndef GL_EXT_pixel_transform\n#define GL_EXT_pixel_transform 1\nGLAPI int GLAD_GL_EXT_pixel_transform;\ntypedef void (APIENTRYP PFNGLPIXELTRANSFORMPARAMETERIEXTPROC)(GLenum target, GLenum pname, GLint param);\nGLAPI PFNGLPIXELTRANSFORMPARAMETERIEXTPROC glad_glPixelTransformParameteriEXT;\n#define glPixelTransformParameteriEXT glad_glPixelTransformParameteriEXT\ntypedef void (APIENTRYP PFNGLPIXELTRANSFORMPARAMETERFEXTPROC)(GLenum target, GLenum pname, GLfloat param);\nGLAPI PFNGLPIXELTRANSFORMPARAMETERFEXTPROC glad_glPixelTransformParameterfEXT;\n#define glPixelTransformParameterfEXT glad_glPixelTransformParameterfEXT\ntypedef void (APIENTRYP PFNGLPIXELTRANSFORMPARAMETERIVEXTPROC)(GLenum target, GLenum pname, const GLint *params);\nGLAPI PFNGLPIXELTRANSFORMPARAMETERIVEXTPROC glad_glPixelTransformParameterivEXT;\n#define glPixelTransformParameterivEXT glad_glPixelTransformParameterivEXT\ntypedef void (APIENTRYP PFNGLPIXELTRANSFORMPARAMETERFVEXTPROC)(GLenum target, GLenum pname, const GLfloat *params);\nGLAPI PFNGLPIXELTRANSFORMPARAMETERFVEXTPROC glad_glPixelTransformParameterfvEXT;\n#define glPixelTransformParameterfvEXT glad_glPixelTransformParameterfvEXT\ntypedef void (APIENTRYP PFNGLGETPIXELTRANSFORMPARAMETERIVEXTPROC)(GLenum target, GLenum pname, GLint *params);\nGLAPI PFNGLGETPIXELTRANSFORMPARAMETERIVEXTPROC glad_glGetPixelTransformParameterivEXT;\n#define glGetPixelTransformParameterivEXT glad_glGetPixelTransformParameterivEXT\ntypedef void (APIENTRYP PFNGLGETPIXELTRANSFORMPARAMETERFVEXTPROC)(GLenum target, GLenum pname, GLfloat *params);\nGLAPI PFNGLGETPIXELTRANSFORMPARAMETERFVEXTPROC glad_glGetPixelTransformParameterfvEXT;\n#define glGetPixelTransformParameterfvEXT glad_glGetPixelTransformParameterfvEXT\n#endif\n#ifndef GL_EXT_pixel_transform_color_table\n#define GL_EXT_pixel_transform_color_table 1\nGLAPI int GLAD_GL_EXT_pixel_transform_color_table;\n#endif\n#ifndef GL_EXT_point_parameters\n#define GL_EXT_point_parameters 1\nGLAPI int GLAD_GL_EXT_point_parameters;\ntypedef void (APIENTRYP PFNGLPOINTPARAMETERFEXTPROC)(GLenum pname, GLfloat param);\nGLAPI PFNGLPOINTPARAMETERFEXTPROC glad_glPointParameterfEXT;\n#define glPointParameterfEXT glad_glPointParameterfEXT\ntypedef void (APIENTRYP PFNGLPOINTPARAMETERFVEXTPROC)(GLenum pname, const GLfloat *params);\nGLAPI PFNGLPOINTPARAMETERFVEXTPROC glad_glPointParameterfvEXT;\n#define glPointParameterfvEXT glad_glPointParameterfvEXT\n#endif\n#ifndef GL_EXT_polygon_offset\n#define GL_EXT_polygon_offset 1\nGLAPI int GLAD_GL_EXT_polygon_offset;\ntypedef void (APIENTRYP PFNGLPOLYGONOFFSETEXTPROC)(GLfloat factor, GLfloat bias);\nGLAPI PFNGLPOLYGONOFFSETEXTPROC glad_glPolygonOffsetEXT;\n#define glPolygonOffsetEXT glad_glPolygonOffsetEXT\n#endif\n#ifndef GL_EXT_polygon_offset_clamp\n#define GL_EXT_polygon_offset_clamp 1\nGLAPI int GLAD_GL_EXT_polygon_offset_clamp;\ntypedef void (APIENTRYP PFNGLPOLYGONOFFSETCLAMPEXTPROC)(GLfloat factor, GLfloat units, GLfloat clamp);\nGLAPI PFNGLPOLYGONOFFSETCLAMPEXTPROC glad_glPolygonOffsetClampEXT;\n#define glPolygonOffsetClampEXT glad_glPolygonOffsetClampEXT\n#endif\n#ifndef GL_EXT_post_depth_coverage\n#define GL_EXT_post_depth_coverage 1\nGLAPI int GLAD_GL_EXT_post_depth_coverage;\n#endif\n#ifndef GL_EXT_provoking_vertex\n#define GL_EXT_provoking_vertex 1\nGLAPI int GLAD_GL_EXT_provoking_vertex;\ntypedef void (APIENTRYP PFNGLPROVOKINGVERTEXEXTPROC)(GLenum mode);\nGLAPI PFNGLPROVOKINGVERTEXEXTPROC glad_glProvokingVertexEXT;\n#define glProvokingVertexEXT glad_glProvokingVertexEXT\n#endif\n#ifndef GL_EXT_raster_multisample\n#define GL_EXT_raster_multisample 1\nGLAPI int GLAD_GL_EXT_raster_multisample;\ntypedef void (APIENTRYP PFNGLRASTERSAMPLESEXTPROC)(GLuint samples, GLboolean fixedsamplelocations);\nGLAPI PFNGLRASTERSAMPLESEXTPROC glad_glRasterSamplesEXT;\n#define glRasterSamplesEXT glad_glRasterSamplesEXT\n#endif\n#ifndef GL_EXT_rescale_normal\n#define GL_EXT_rescale_normal 1\nGLAPI int GLAD_GL_EXT_rescale_normal;\n#endif\n#ifndef GL_EXT_secondary_color\n#define GL_EXT_secondary_color 1\nGLAPI int GLAD_GL_EXT_secondary_color;\ntypedef void (APIENTRYP PFNGLSECONDARYCOLOR3BEXTPROC)(GLbyte red, GLbyte green, GLbyte blue);\nGLAPI PFNGLSECONDARYCOLOR3BEXTPROC glad_glSecondaryColor3bEXT;\n#define glSecondaryColor3bEXT glad_glSecondaryColor3bEXT\ntypedef void (APIENTRYP PFNGLSECONDARYCOLOR3BVEXTPROC)(const GLbyte *v);\nGLAPI PFNGLSECONDARYCOLOR3BVEXTPROC glad_glSecondaryColor3bvEXT;\n#define glSecondaryColor3bvEXT glad_glSecondaryColor3bvEXT\ntypedef void (APIENTRYP PFNGLSECONDARYCOLOR3DEXTPROC)(GLdouble red, GLdouble green, GLdouble blue);\nGLAPI PFNGLSECONDARYCOLOR3DEXTPROC glad_glSecondaryColor3dEXT;\n#define glSecondaryColor3dEXT glad_glSecondaryColor3dEXT\ntypedef void (APIENTRYP PFNGLSECONDARYCOLOR3DVEXTPROC)(const GLdouble *v);\nGLAPI PFNGLSECONDARYCOLOR3DVEXTPROC glad_glSecondaryColor3dvEXT;\n#define glSecondaryColor3dvEXT glad_glSecondaryColor3dvEXT\ntypedef void (APIENTRYP PFNGLSECONDARYCOLOR3FEXTPROC)(GLfloat red, GLfloat green, GLfloat blue);\nGLAPI PFNGLSECONDARYCOLOR3FEXTPROC glad_glSecondaryColor3fEXT;\n#define glSecondaryColor3fEXT glad_glSecondaryColor3fEXT\ntypedef void (APIENTRYP PFNGLSECONDARYCOLOR3FVEXTPROC)(const GLfloat *v);\nGLAPI PFNGLSECONDARYCOLOR3FVEXTPROC glad_glSecondaryColor3fvEXT;\n#define glSecondaryColor3fvEXT glad_glSecondaryColor3fvEXT\ntypedef void (APIENTRYP PFNGLSECONDARYCOLOR3IEXTPROC)(GLint red, GLint green, GLint blue);\nGLAPI PFNGLSECONDARYCOLOR3IEXTPROC glad_glSecondaryColor3iEXT;\n#define glSecondaryColor3iEXT glad_glSecondaryColor3iEXT\ntypedef void (APIENTRYP PFNGLSECONDARYCOLOR3IVEXTPROC)(const GLint *v);\nGLAPI PFNGLSECONDARYCOLOR3IVEXTPROC glad_glSecondaryColor3ivEXT;\n#define glSecondaryColor3ivEXT glad_glSecondaryColor3ivEXT\ntypedef void (APIENTRYP PFNGLSECONDARYCOLOR3SEXTPROC)(GLshort red, GLshort green, GLshort blue);\nGLAPI PFNGLSECONDARYCOLOR3SEXTPROC glad_glSecondaryColor3sEXT;\n#define glSecondaryColor3sEXT glad_glSecondaryColor3sEXT\ntypedef void (APIENTRYP PFNGLSECONDARYCOLOR3SVEXTPROC)(const GLshort *v);\nGLAPI PFNGLSECONDARYCOLOR3SVEXTPROC glad_glSecondaryColor3svEXT;\n#define glSecondaryColor3svEXT glad_glSecondaryColor3svEXT\ntypedef void (APIENTRYP PFNGLSECONDARYCOLOR3UBEXTPROC)(GLubyte red, GLubyte green, GLubyte blue);\nGLAPI PFNGLSECONDARYCOLOR3UBEXTPROC glad_glSecondaryColor3ubEXT;\n#define glSecondaryColor3ubEXT glad_glSecondaryColor3ubEXT\ntypedef void (APIENTRYP PFNGLSECONDARYCOLOR3UBVEXTPROC)(const GLubyte *v);\nGLAPI PFNGLSECONDARYCOLOR3UBVEXTPROC glad_glSecondaryColor3ubvEXT;\n#define glSecondaryColor3ubvEXT glad_glSecondaryColor3ubvEXT\ntypedef void (APIENTRYP PFNGLSECONDARYCOLOR3UIEXTPROC)(GLuint red, GLuint green, GLuint blue);\nGLAPI PFNGLSECONDARYCOLOR3UIEXTPROC glad_glSecondaryColor3uiEXT;\n#define glSecondaryColor3uiEXT glad_glSecondaryColor3uiEXT\ntypedef void (APIENTRYP PFNGLSECONDARYCOLOR3UIVEXTPROC)(const GLuint *v);\nGLAPI PFNGLSECONDARYCOLOR3UIVEXTPROC glad_glSecondaryColor3uivEXT;\n#define glSecondaryColor3uivEXT glad_glSecondaryColor3uivEXT\ntypedef void (APIENTRYP PFNGLSECONDARYCOLOR3USEXTPROC)(GLushort red, GLushort green, GLushort blue);\nGLAPI PFNGLSECONDARYCOLOR3USEXTPROC glad_glSecondaryColor3usEXT;\n#define glSecondaryColor3usEXT glad_glSecondaryColor3usEXT\ntypedef void (APIENTRYP PFNGLSECONDARYCOLOR3USVEXTPROC)(const GLushort *v);\nGLAPI PFNGLSECONDARYCOLOR3USVEXTPROC glad_glSecondaryColor3usvEXT;\n#define glSecondaryColor3usvEXT glad_glSecondaryColor3usvEXT\ntypedef void (APIENTRYP PFNGLSECONDARYCOLORPOINTEREXTPROC)(GLint size, GLenum type, GLsizei stride, const void *pointer);\nGLAPI PFNGLSECONDARYCOLORPOINTEREXTPROC glad_glSecondaryColorPointerEXT;\n#define glSecondaryColorPointerEXT glad_glSecondaryColorPointerEXT\n#endif\n#ifndef GL_EXT_semaphore\n#define GL_EXT_semaphore 1\nGLAPI int GLAD_GL_EXT_semaphore;\ntypedef void (APIENTRYP PFNGLGENSEMAPHORESEXTPROC)(GLsizei n, GLuint *semaphores);\nGLAPI PFNGLGENSEMAPHORESEXTPROC glad_glGenSemaphoresEXT;\n#define glGenSemaphoresEXT glad_glGenSemaphoresEXT\ntypedef void (APIENTRYP PFNGLDELETESEMAPHORESEXTPROC)(GLsizei n, const GLuint *semaphores);\nGLAPI PFNGLDELETESEMAPHORESEXTPROC glad_glDeleteSemaphoresEXT;\n#define glDeleteSemaphoresEXT glad_glDeleteSemaphoresEXT\ntypedef GLboolean (APIENTRYP PFNGLISSEMAPHOREEXTPROC)(GLuint semaphore);\nGLAPI PFNGLISSEMAPHOREEXTPROC glad_glIsSemaphoreEXT;\n#define glIsSemaphoreEXT glad_glIsSemaphoreEXT\ntypedef void (APIENTRYP PFNGLSEMAPHOREPARAMETERUI64VEXTPROC)(GLuint semaphore, GLenum pname, const GLuint64 *params);\nGLAPI PFNGLSEMAPHOREPARAMETERUI64VEXTPROC glad_glSemaphoreParameterui64vEXT;\n#define glSemaphoreParameterui64vEXT glad_glSemaphoreParameterui64vEXT\ntypedef void (APIENTRYP PFNGLGETSEMAPHOREPARAMETERUI64VEXTPROC)(GLuint semaphore, GLenum pname, GLuint64 *params);\nGLAPI PFNGLGETSEMAPHOREPARAMETERUI64VEXTPROC glad_glGetSemaphoreParameterui64vEXT;\n#define glGetSemaphoreParameterui64vEXT glad_glGetSemaphoreParameterui64vEXT\ntypedef void (APIENTRYP PFNGLWAITSEMAPHOREEXTPROC)(GLuint semaphore, GLuint numBufferBarriers, const GLuint *buffers, GLuint numTextureBarriers, const GLuint *textures, const GLenum *srcLayouts);\nGLAPI PFNGLWAITSEMAPHOREEXTPROC glad_glWaitSemaphoreEXT;\n#define glWaitSemaphoreEXT glad_glWaitSemaphoreEXT\ntypedef void (APIENTRYP PFNGLSIGNALSEMAPHOREEXTPROC)(GLuint semaphore, GLuint numBufferBarriers, const GLuint *buffers, GLuint numTextureBarriers, const GLuint *textures, const GLenum *dstLayouts);\nGLAPI PFNGLSIGNALSEMAPHOREEXTPROC glad_glSignalSemaphoreEXT;\n#define glSignalSemaphoreEXT glad_glSignalSemaphoreEXT\n#endif\n#ifndef GL_EXT_semaphore_fd\n#define GL_EXT_semaphore_fd 1\nGLAPI int GLAD_GL_EXT_semaphore_fd;\ntypedef void (APIENTRYP PFNGLIMPORTSEMAPHOREFDEXTPROC)(GLuint semaphore, GLenum handleType, GLint fd);\nGLAPI PFNGLIMPORTSEMAPHOREFDEXTPROC glad_glImportSemaphoreFdEXT;\n#define glImportSemaphoreFdEXT glad_glImportSemaphoreFdEXT\n#endif\n#ifndef GL_EXT_semaphore_win32\n#define GL_EXT_semaphore_win32 1\nGLAPI int GLAD_GL_EXT_semaphore_win32;\ntypedef void (APIENTRYP PFNGLIMPORTSEMAPHOREWIN32HANDLEEXTPROC)(GLuint semaphore, GLenum handleType, void *handle);\nGLAPI PFNGLIMPORTSEMAPHOREWIN32HANDLEEXTPROC glad_glImportSemaphoreWin32HandleEXT;\n#define glImportSemaphoreWin32HandleEXT glad_glImportSemaphoreWin32HandleEXT\ntypedef void (APIENTRYP PFNGLIMPORTSEMAPHOREWIN32NAMEEXTPROC)(GLuint semaphore, GLenum handleType, const void *name);\nGLAPI PFNGLIMPORTSEMAPHOREWIN32NAMEEXTPROC glad_glImportSemaphoreWin32NameEXT;\n#define glImportSemaphoreWin32NameEXT glad_glImportSemaphoreWin32NameEXT\n#endif\n#ifndef GL_EXT_separate_shader_objects\n#define GL_EXT_separate_shader_objects 1\nGLAPI int GLAD_GL_EXT_separate_shader_objects;\ntypedef void (APIENTRYP PFNGLUSESHADERPROGRAMEXTPROC)(GLenum type, GLuint program);\nGLAPI PFNGLUSESHADERPROGRAMEXTPROC glad_glUseShaderProgramEXT;\n#define glUseShaderProgramEXT glad_glUseShaderProgramEXT\ntypedef void (APIENTRYP PFNGLACTIVEPROGRAMEXTPROC)(GLuint program);\nGLAPI PFNGLACTIVEPROGRAMEXTPROC glad_glActiveProgramEXT;\n#define glActiveProgramEXT glad_glActiveProgramEXT\ntypedef GLuint (APIENTRYP PFNGLCREATESHADERPROGRAMEXTPROC)(GLenum type, const GLchar *string);\nGLAPI PFNGLCREATESHADERPROGRAMEXTPROC glad_glCreateShaderProgramEXT;\n#define glCreateShaderProgramEXT glad_glCreateShaderProgramEXT\ntypedef void (APIENTRYP PFNGLACTIVESHADERPROGRAMEXTPROC)(GLuint pipeline, GLuint program);\nGLAPI PFNGLACTIVESHADERPROGRAMEXTPROC glad_glActiveShaderProgramEXT;\n#define glActiveShaderProgramEXT glad_glActiveShaderProgramEXT\ntypedef void (APIENTRYP PFNGLBINDPROGRAMPIPELINEEXTPROC)(GLuint pipeline);\nGLAPI PFNGLBINDPROGRAMPIPELINEEXTPROC glad_glBindProgramPipelineEXT;\n#define glBindProgramPipelineEXT glad_glBindProgramPipelineEXT\ntypedef GLuint (APIENTRYP PFNGLCREATESHADERPROGRAMVEXTPROC)(GLenum type, GLsizei count, const GLchar **strings);\nGLAPI PFNGLCREATESHADERPROGRAMVEXTPROC glad_glCreateShaderProgramvEXT;\n#define glCreateShaderProgramvEXT glad_glCreateShaderProgramvEXT\ntypedef void (APIENTRYP PFNGLDELETEPROGRAMPIPELINESEXTPROC)(GLsizei n, const GLuint *pipelines);\nGLAPI PFNGLDELETEPROGRAMPIPELINESEXTPROC glad_glDeleteProgramPipelinesEXT;\n#define glDeleteProgramPipelinesEXT glad_glDeleteProgramPipelinesEXT\ntypedef void (APIENTRYP PFNGLGENPROGRAMPIPELINESEXTPROC)(GLsizei n, GLuint *pipelines);\nGLAPI PFNGLGENPROGRAMPIPELINESEXTPROC glad_glGenProgramPipelinesEXT;\n#define glGenProgramPipelinesEXT glad_glGenProgramPipelinesEXT\ntypedef void (APIENTRYP PFNGLGETPROGRAMPIPELINEINFOLOGEXTPROC)(GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);\nGLAPI PFNGLGETPROGRAMPIPELINEINFOLOGEXTPROC glad_glGetProgramPipelineInfoLogEXT;\n#define glGetProgramPipelineInfoLogEXT glad_glGetProgramPipelineInfoLogEXT\ntypedef void (APIENTRYP PFNGLGETPROGRAMPIPELINEIVEXTPROC)(GLuint pipeline, GLenum pname, GLint *params);\nGLAPI PFNGLGETPROGRAMPIPELINEIVEXTPROC glad_glGetProgramPipelineivEXT;\n#define glGetProgramPipelineivEXT glad_glGetProgramPipelineivEXT\ntypedef GLboolean (APIENTRYP PFNGLISPROGRAMPIPELINEEXTPROC)(GLuint pipeline);\nGLAPI PFNGLISPROGRAMPIPELINEEXTPROC glad_glIsProgramPipelineEXT;\n#define glIsProgramPipelineEXT glad_glIsProgramPipelineEXT\ntypedef void (APIENTRYP PFNGLUSEPROGRAMSTAGESEXTPROC)(GLuint pipeline, GLbitfield stages, GLuint program);\nGLAPI PFNGLUSEPROGRAMSTAGESEXTPROC glad_glUseProgramStagesEXT;\n#define glUseProgramStagesEXT glad_glUseProgramStagesEXT\ntypedef void (APIENTRYP PFNGLVALIDATEPROGRAMPIPELINEEXTPROC)(GLuint pipeline);\nGLAPI PFNGLVALIDATEPROGRAMPIPELINEEXTPROC glad_glValidateProgramPipelineEXT;\n#define glValidateProgramPipelineEXT glad_glValidateProgramPipelineEXT\n#endif\n#ifndef GL_EXT_separate_specular_color\n#define GL_EXT_separate_specular_color 1\nGLAPI int GLAD_GL_EXT_separate_specular_color;\n#endif\n#ifndef GL_EXT_shader_image_load_formatted\n#define GL_EXT_shader_image_load_formatted 1\nGLAPI int GLAD_GL_EXT_shader_image_load_formatted;\n#endif\n#ifndef GL_EXT_shader_image_load_store\n#define GL_EXT_shader_image_load_store 1\nGLAPI int GLAD_GL_EXT_shader_image_load_store;\ntypedef void (APIENTRYP PFNGLBINDIMAGETEXTUREEXTPROC)(GLuint index, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLint format);\nGLAPI PFNGLBINDIMAGETEXTUREEXTPROC glad_glBindImageTextureEXT;\n#define glBindImageTextureEXT glad_glBindImageTextureEXT\ntypedef void (APIENTRYP PFNGLMEMORYBARRIEREXTPROC)(GLbitfield barriers);\nGLAPI PFNGLMEMORYBARRIEREXTPROC glad_glMemoryBarrierEXT;\n#define glMemoryBarrierEXT glad_glMemoryBarrierEXT\n#endif\n#ifndef GL_EXT_shader_integer_mix\n#define GL_EXT_shader_integer_mix 1\nGLAPI int GLAD_GL_EXT_shader_integer_mix;\n#endif\n#ifndef GL_EXT_shadow_funcs\n#define GL_EXT_shadow_funcs 1\nGLAPI int GLAD_GL_EXT_shadow_funcs;\n#endif\n#ifndef GL_EXT_shared_texture_palette\n#define GL_EXT_shared_texture_palette 1\nGLAPI int GLAD_GL_EXT_shared_texture_palette;\n#endif\n#ifndef GL_EXT_sparse_texture2\n#define GL_EXT_sparse_texture2 1\nGLAPI int GLAD_GL_EXT_sparse_texture2;\n#endif\n#ifndef GL_EXT_stencil_clear_tag\n#define GL_EXT_stencil_clear_tag 1\nGLAPI int GLAD_GL_EXT_stencil_clear_tag;\ntypedef void (APIENTRYP PFNGLSTENCILCLEARTAGEXTPROC)(GLsizei stencilTagBits, GLuint stencilClearTag);\nGLAPI PFNGLSTENCILCLEARTAGEXTPROC glad_glStencilClearTagEXT;\n#define glStencilClearTagEXT glad_glStencilClearTagEXT\n#endif\n#ifndef GL_EXT_stencil_two_side\n#define GL_EXT_stencil_two_side 1\nGLAPI int GLAD_GL_EXT_stencil_two_side;\ntypedef void (APIENTRYP PFNGLACTIVESTENCILFACEEXTPROC)(GLenum face);\nGLAPI PFNGLACTIVESTENCILFACEEXTPROC glad_glActiveStencilFaceEXT;\n#define glActiveStencilFaceEXT glad_glActiveStencilFaceEXT\n#endif\n#ifndef GL_EXT_stencil_wrap\n#define GL_EXT_stencil_wrap 1\nGLAPI int GLAD_GL_EXT_stencil_wrap;\n#endif\n#ifndef GL_EXT_subtexture\n#define GL_EXT_subtexture 1\nGLAPI int GLAD_GL_EXT_subtexture;\ntypedef void (APIENTRYP PFNGLTEXSUBIMAGE1DEXTPROC)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels);\nGLAPI PFNGLTEXSUBIMAGE1DEXTPROC glad_glTexSubImage1DEXT;\n#define glTexSubImage1DEXT glad_glTexSubImage1DEXT\ntypedef void (APIENTRYP PFNGLTEXSUBIMAGE2DEXTPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels);\nGLAPI PFNGLTEXSUBIMAGE2DEXTPROC glad_glTexSubImage2DEXT;\n#define glTexSubImage2DEXT glad_glTexSubImage2DEXT\n#endif\n#ifndef GL_EXT_texture\n#define GL_EXT_texture 1\nGLAPI int GLAD_GL_EXT_texture;\n#endif\n#ifndef GL_EXT_texture3D\n#define GL_EXT_texture3D 1\nGLAPI int GLAD_GL_EXT_texture3D;\ntypedef void (APIENTRYP PFNGLTEXIMAGE3DEXTPROC)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels);\nGLAPI PFNGLTEXIMAGE3DEXTPROC glad_glTexImage3DEXT;\n#define glTexImage3DEXT glad_glTexImage3DEXT\ntypedef void (APIENTRYP PFNGLTEXSUBIMAGE3DEXTPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels);\nGLAPI PFNGLTEXSUBIMAGE3DEXTPROC glad_glTexSubImage3DEXT;\n#define glTexSubImage3DEXT glad_glTexSubImage3DEXT\n#endif\n#ifndef GL_EXT_texture_array\n#define GL_EXT_texture_array 1\nGLAPI int GLAD_GL_EXT_texture_array;\ntypedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);\nGLAPI PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC glad_glFramebufferTextureLayerEXT;\n#define glFramebufferTextureLayerEXT glad_glFramebufferTextureLayerEXT\n#endif\n#ifndef GL_EXT_texture_buffer_object\n#define GL_EXT_texture_buffer_object 1\nGLAPI int GLAD_GL_EXT_texture_buffer_object;\ntypedef void (APIENTRYP PFNGLTEXBUFFEREXTPROC)(GLenum target, GLenum internalformat, GLuint buffer);\nGLAPI PFNGLTEXBUFFEREXTPROC glad_glTexBufferEXT;\n#define glTexBufferEXT glad_glTexBufferEXT\n#endif\n#ifndef GL_EXT_texture_compression_latc\n#define GL_EXT_texture_compression_latc 1\nGLAPI int GLAD_GL_EXT_texture_compression_latc;\n#endif\n#ifndef GL_EXT_texture_compression_rgtc\n#define GL_EXT_texture_compression_rgtc 1\nGLAPI int GLAD_GL_EXT_texture_compression_rgtc;\n#endif\n#ifndef GL_EXT_texture_compression_s3tc\n#define GL_EXT_texture_compression_s3tc 1\nGLAPI int GLAD_GL_EXT_texture_compression_s3tc;\n#endif\n#ifndef GL_EXT_texture_cube_map\n#define GL_EXT_texture_cube_map 1\nGLAPI int GLAD_GL_EXT_texture_cube_map;\n#endif\n#ifndef GL_EXT_texture_env_add\n#define GL_EXT_texture_env_add 1\nGLAPI int GLAD_GL_EXT_texture_env_add;\n#endif\n#ifndef GL_EXT_texture_env_combine\n#define GL_EXT_texture_env_combine 1\nGLAPI int GLAD_GL_EXT_texture_env_combine;\n#endif\n#ifndef GL_EXT_texture_env_dot3\n#define GL_EXT_texture_env_dot3 1\nGLAPI int GLAD_GL_EXT_texture_env_dot3;\n#endif\n#ifndef GL_EXT_texture_filter_anisotropic\n#define GL_EXT_texture_filter_anisotropic 1\nGLAPI int GLAD_GL_EXT_texture_filter_anisotropic;\n#endif\n#ifndef GL_EXT_texture_filter_minmax\n#define GL_EXT_texture_filter_minmax 1\nGLAPI int GLAD_GL_EXT_texture_filter_minmax;\n#endif\n#ifndef GL_EXT_texture_integer\n#define GL_EXT_texture_integer 1\nGLAPI int GLAD_GL_EXT_texture_integer;\ntypedef void (APIENTRYP PFNGLTEXPARAMETERIIVEXTPROC)(GLenum target, GLenum pname, const GLint *params);\nGLAPI PFNGLTEXPARAMETERIIVEXTPROC glad_glTexParameterIivEXT;\n#define glTexParameterIivEXT glad_glTexParameterIivEXT\ntypedef void (APIENTRYP PFNGLTEXPARAMETERIUIVEXTPROC)(GLenum target, GLenum pname, const GLuint *params);\nGLAPI PFNGLTEXPARAMETERIUIVEXTPROC glad_glTexParameterIuivEXT;\n#define glTexParameterIuivEXT glad_glTexParameterIuivEXT\ntypedef void (APIENTRYP PFNGLGETTEXPARAMETERIIVEXTPROC)(GLenum target, GLenum pname, GLint *params);\nGLAPI PFNGLGETTEXPARAMETERIIVEXTPROC glad_glGetTexParameterIivEXT;\n#define glGetTexParameterIivEXT glad_glGetTexParameterIivEXT\ntypedef void (APIENTRYP PFNGLGETTEXPARAMETERIUIVEXTPROC)(GLenum target, GLenum pname, GLuint *params);\nGLAPI PFNGLGETTEXPARAMETERIUIVEXTPROC glad_glGetTexParameterIuivEXT;\n#define glGetTexParameterIuivEXT glad_glGetTexParameterIuivEXT\ntypedef void (APIENTRYP PFNGLCLEARCOLORIIEXTPROC)(GLint red, GLint green, GLint blue, GLint alpha);\nGLAPI PFNGLCLEARCOLORIIEXTPROC glad_glClearColorIiEXT;\n#define glClearColorIiEXT glad_glClearColorIiEXT\ntypedef void (APIENTRYP PFNGLCLEARCOLORIUIEXTPROC)(GLuint red, GLuint green, GLuint blue, GLuint alpha);\nGLAPI PFNGLCLEARCOLORIUIEXTPROC glad_glClearColorIuiEXT;\n#define glClearColorIuiEXT glad_glClearColorIuiEXT\n#endif\n#ifndef GL_EXT_texture_lod_bias\n#define GL_EXT_texture_lod_bias 1\nGLAPI int GLAD_GL_EXT_texture_lod_bias;\n#endif\n#ifndef GL_EXT_texture_mirror_clamp\n#define GL_EXT_texture_mirror_clamp 1\nGLAPI int GLAD_GL_EXT_texture_mirror_clamp;\n#endif\n#ifndef GL_EXT_texture_object\n#define GL_EXT_texture_object 1\nGLAPI int GLAD_GL_EXT_texture_object;\ntypedef GLboolean (APIENTRYP PFNGLARETEXTURESRESIDENTEXTPROC)(GLsizei n, const GLuint *textures, GLboolean *residences);\nGLAPI PFNGLARETEXTURESRESIDENTEXTPROC glad_glAreTexturesResidentEXT;\n#define glAreTexturesResidentEXT glad_glAreTexturesResidentEXT\ntypedef void (APIENTRYP PFNGLBINDTEXTUREEXTPROC)(GLenum target, GLuint texture);\nGLAPI PFNGLBINDTEXTUREEXTPROC glad_glBindTextureEXT;\n#define glBindTextureEXT glad_glBindTextureEXT\ntypedef void (APIENTRYP PFNGLDELETETEXTURESEXTPROC)(GLsizei n, const GLuint *textures);\nGLAPI PFNGLDELETETEXTURESEXTPROC glad_glDeleteTexturesEXT;\n#define glDeleteTexturesEXT glad_glDeleteTexturesEXT\ntypedef void (APIENTRYP PFNGLGENTEXTURESEXTPROC)(GLsizei n, GLuint *textures);\nGLAPI PFNGLGENTEXTURESEXTPROC glad_glGenTexturesEXT;\n#define glGenTexturesEXT glad_glGenTexturesEXT\ntypedef GLboolean (APIENTRYP PFNGLISTEXTUREEXTPROC)(GLuint texture);\nGLAPI PFNGLISTEXTUREEXTPROC glad_glIsTextureEXT;\n#define glIsTextureEXT glad_glIsTextureEXT\ntypedef void (APIENTRYP PFNGLPRIORITIZETEXTURESEXTPROC)(GLsizei n, const GLuint *textures, const GLclampf *priorities);\nGLAPI PFNGLPRIORITIZETEXTURESEXTPROC glad_glPrioritizeTexturesEXT;\n#define glPrioritizeTexturesEXT glad_glPrioritizeTexturesEXT\n#endif\n#ifndef GL_EXT_texture_perturb_normal\n#define GL_EXT_texture_perturb_normal 1\nGLAPI int GLAD_GL_EXT_texture_perturb_normal;\ntypedef void (APIENTRYP PFNGLTEXTURENORMALEXTPROC)(GLenum mode);\nGLAPI PFNGLTEXTURENORMALEXTPROC glad_glTextureNormalEXT;\n#define glTextureNormalEXT glad_glTextureNormalEXT\n#endif\n#ifndef GL_EXT_texture_sRGB\n#define GL_EXT_texture_sRGB 1\nGLAPI int GLAD_GL_EXT_texture_sRGB;\n#endif\n#ifndef GL_EXT_texture_sRGB_decode\n#define GL_EXT_texture_sRGB_decode 1\nGLAPI int GLAD_GL_EXT_texture_sRGB_decode;\n#endif\n#ifndef GL_EXT_texture_shared_exponent\n#define GL_EXT_texture_shared_exponent 1\nGLAPI int GLAD_GL_EXT_texture_shared_exponent;\n#endif\n#ifndef GL_EXT_texture_snorm\n#define GL_EXT_texture_snorm 1\nGLAPI int GLAD_GL_EXT_texture_snorm;\n#endif\n#ifndef GL_EXT_texture_swizzle\n#define GL_EXT_texture_swizzle 1\nGLAPI int GLAD_GL_EXT_texture_swizzle;\n#endif\n#ifndef GL_EXT_timer_query\n#define GL_EXT_timer_query 1\nGLAPI int GLAD_GL_EXT_timer_query;\ntypedef void (APIENTRYP PFNGLGETQUERYOBJECTI64VEXTPROC)(GLuint id, GLenum pname, GLint64 *params);\nGLAPI PFNGLGETQUERYOBJECTI64VEXTPROC glad_glGetQueryObjecti64vEXT;\n#define glGetQueryObjecti64vEXT glad_glGetQueryObjecti64vEXT\ntypedef void (APIENTRYP PFNGLGETQUERYOBJECTUI64VEXTPROC)(GLuint id, GLenum pname, GLuint64 *params);\nGLAPI PFNGLGETQUERYOBJECTUI64VEXTPROC glad_glGetQueryObjectui64vEXT;\n#define glGetQueryObjectui64vEXT glad_glGetQueryObjectui64vEXT\n#endif\n#ifndef GL_EXT_transform_feedback\n#define GL_EXT_transform_feedback 1\nGLAPI int GLAD_GL_EXT_transform_feedback;\ntypedef void (APIENTRYP PFNGLBEGINTRANSFORMFEEDBACKEXTPROC)(GLenum primitiveMode);\nGLAPI PFNGLBEGINTRANSFORMFEEDBACKEXTPROC glad_glBeginTransformFeedbackEXT;\n#define glBeginTransformFeedbackEXT glad_glBeginTransformFeedbackEXT\ntypedef void (APIENTRYP PFNGLENDTRANSFORMFEEDBACKEXTPROC)();\nGLAPI PFNGLENDTRANSFORMFEEDBACKEXTPROC glad_glEndTransformFeedbackEXT;\n#define glEndTransformFeedbackEXT glad_glEndTransformFeedbackEXT\ntypedef void (APIENTRYP PFNGLBINDBUFFERRANGEEXTPROC)(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);\nGLAPI PFNGLBINDBUFFERRANGEEXTPROC glad_glBindBufferRangeEXT;\n#define glBindBufferRangeEXT glad_glBindBufferRangeEXT\ntypedef void (APIENTRYP PFNGLBINDBUFFEROFFSETEXTPROC)(GLenum target, GLuint index, GLuint buffer, GLintptr offset);\nGLAPI PFNGLBINDBUFFEROFFSETEXTPROC glad_glBindBufferOffsetEXT;\n#define glBindBufferOffsetEXT glad_glBindBufferOffsetEXT\ntypedef void (APIENTRYP PFNGLBINDBUFFERBASEEXTPROC)(GLenum target, GLuint index, GLuint buffer);\nGLAPI PFNGLBINDBUFFERBASEEXTPROC glad_glBindBufferBaseEXT;\n#define glBindBufferBaseEXT glad_glBindBufferBaseEXT\ntypedef void (APIENTRYP PFNGLTRANSFORMFEEDBACKVARYINGSEXTPROC)(GLuint program, GLsizei count, const GLchar *const*varyings, GLenum bufferMode);\nGLAPI PFNGLTRANSFORMFEEDBACKVARYINGSEXTPROC glad_glTransformFeedbackVaryingsEXT;\n#define glTransformFeedbackVaryingsEXT glad_glTransformFeedbackVaryingsEXT\ntypedef void (APIENTRYP PFNGLGETTRANSFORMFEEDBACKVARYINGEXTPROC)(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);\nGLAPI PFNGLGETTRANSFORMFEEDBACKVARYINGEXTPROC glad_glGetTransformFeedbackVaryingEXT;\n#define glGetTransformFeedbackVaryingEXT glad_glGetTransformFeedbackVaryingEXT\n#endif\n#ifndef GL_EXT_vertex_array\n#define GL_EXT_vertex_array 1\nGLAPI int GLAD_GL_EXT_vertex_array;\ntypedef void (APIENTRYP PFNGLARRAYELEMENTEXTPROC)(GLint i);\nGLAPI PFNGLARRAYELEMENTEXTPROC glad_glArrayElementEXT;\n#define glArrayElementEXT glad_glArrayElementEXT\ntypedef void (APIENTRYP PFNGLCOLORPOINTEREXTPROC)(GLint size, GLenum type, GLsizei stride, GLsizei count, const void *pointer);\nGLAPI PFNGLCOLORPOINTEREXTPROC glad_glColorPointerEXT;\n#define glColorPointerEXT glad_glColorPointerEXT\ntypedef void (APIENTRYP PFNGLDRAWARRAYSEXTPROC)(GLenum mode, GLint first, GLsizei count);\nGLAPI PFNGLDRAWARRAYSEXTPROC glad_glDrawArraysEXT;\n#define glDrawArraysEXT glad_glDrawArraysEXT\ntypedef void (APIENTRYP PFNGLEDGEFLAGPOINTEREXTPROC)(GLsizei stride, GLsizei count, const GLboolean *pointer);\nGLAPI PFNGLEDGEFLAGPOINTEREXTPROC glad_glEdgeFlagPointerEXT;\n#define glEdgeFlagPointerEXT glad_glEdgeFlagPointerEXT\ntypedef void (APIENTRYP PFNGLGETPOINTERVEXTPROC)(GLenum pname, void **params);\nGLAPI PFNGLGETPOINTERVEXTPROC glad_glGetPointervEXT;\n#define glGetPointervEXT glad_glGetPointervEXT\ntypedef void (APIENTRYP PFNGLINDEXPOINTEREXTPROC)(GLenum type, GLsizei stride, GLsizei count, const void *pointer);\nGLAPI PFNGLINDEXPOINTEREXTPROC glad_glIndexPointerEXT;\n#define glIndexPointerEXT glad_glIndexPointerEXT\ntypedef void (APIENTRYP PFNGLNORMALPOINTEREXTPROC)(GLenum type, GLsizei stride, GLsizei count, const void *pointer);\nGLAPI PFNGLNORMALPOINTEREXTPROC glad_glNormalPointerEXT;\n#define glNormalPointerEXT glad_glNormalPointerEXT\ntypedef void (APIENTRYP PFNGLTEXCOORDPOINTEREXTPROC)(GLint size, GLenum type, GLsizei stride, GLsizei count, const void *pointer);\nGLAPI PFNGLTEXCOORDPOINTEREXTPROC glad_glTexCoordPointerEXT;\n#define glTexCoordPointerEXT glad_glTexCoordPointerEXT\ntypedef void (APIENTRYP PFNGLVERTEXPOINTEREXTPROC)(GLint size, GLenum type, GLsizei stride, GLsizei count, const void *pointer);\nGLAPI PFNGLVERTEXPOINTEREXTPROC glad_glVertexPointerEXT;\n#define glVertexPointerEXT glad_glVertexPointerEXT\n#endif\n#ifndef GL_EXT_vertex_array_bgra\n#define GL_EXT_vertex_array_bgra 1\nGLAPI int GLAD_GL_EXT_vertex_array_bgra;\n#endif\n#ifndef GL_EXT_vertex_attrib_64bit\n#define GL_EXT_vertex_attrib_64bit 1\nGLAPI int GLAD_GL_EXT_vertex_attrib_64bit;\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBL1DEXTPROC)(GLuint index, GLdouble x);\nGLAPI PFNGLVERTEXATTRIBL1DEXTPROC glad_glVertexAttribL1dEXT;\n#define glVertexAttribL1dEXT glad_glVertexAttribL1dEXT\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBL2DEXTPROC)(GLuint index, GLdouble x, GLdouble y);\nGLAPI PFNGLVERTEXATTRIBL2DEXTPROC glad_glVertexAttribL2dEXT;\n#define glVertexAttribL2dEXT glad_glVertexAttribL2dEXT\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBL3DEXTPROC)(GLuint index, GLdouble x, GLdouble y, GLdouble z);\nGLAPI PFNGLVERTEXATTRIBL3DEXTPROC glad_glVertexAttribL3dEXT;\n#define glVertexAttribL3dEXT glad_glVertexAttribL3dEXT\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBL4DEXTPROC)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nGLAPI PFNGLVERTEXATTRIBL4DEXTPROC glad_glVertexAttribL4dEXT;\n#define glVertexAttribL4dEXT glad_glVertexAttribL4dEXT\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBL1DVEXTPROC)(GLuint index, const GLdouble *v);\nGLAPI PFNGLVERTEXATTRIBL1DVEXTPROC glad_glVertexAttribL1dvEXT;\n#define glVertexAttribL1dvEXT glad_glVertexAttribL1dvEXT\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBL2DVEXTPROC)(GLuint index, const GLdouble *v);\nGLAPI PFNGLVERTEXATTRIBL2DVEXTPROC glad_glVertexAttribL2dvEXT;\n#define glVertexAttribL2dvEXT glad_glVertexAttribL2dvEXT\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBL3DVEXTPROC)(GLuint index, const GLdouble *v);\nGLAPI PFNGLVERTEXATTRIBL3DVEXTPROC glad_glVertexAttribL3dvEXT;\n#define glVertexAttribL3dvEXT glad_glVertexAttribL3dvEXT\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBL4DVEXTPROC)(GLuint index, const GLdouble *v);\nGLAPI PFNGLVERTEXATTRIBL4DVEXTPROC glad_glVertexAttribL4dvEXT;\n#define glVertexAttribL4dvEXT glad_glVertexAttribL4dvEXT\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBLPOINTEREXTPROC)(GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer);\nGLAPI PFNGLVERTEXATTRIBLPOINTEREXTPROC glad_glVertexAttribLPointerEXT;\n#define glVertexAttribLPointerEXT glad_glVertexAttribLPointerEXT\ntypedef void (APIENTRYP PFNGLGETVERTEXATTRIBLDVEXTPROC)(GLuint index, GLenum pname, GLdouble *params);\nGLAPI PFNGLGETVERTEXATTRIBLDVEXTPROC glad_glGetVertexAttribLdvEXT;\n#define glGetVertexAttribLdvEXT glad_glGetVertexAttribLdvEXT\n#endif\n#ifndef GL_EXT_vertex_shader\n#define GL_EXT_vertex_shader 1\nGLAPI int GLAD_GL_EXT_vertex_shader;\ntypedef void (APIENTRYP PFNGLBEGINVERTEXSHADEREXTPROC)();\nGLAPI PFNGLBEGINVERTEXSHADEREXTPROC glad_glBeginVertexShaderEXT;\n#define glBeginVertexShaderEXT glad_glBeginVertexShaderEXT\ntypedef void (APIENTRYP PFNGLENDVERTEXSHADEREXTPROC)();\nGLAPI PFNGLENDVERTEXSHADEREXTPROC glad_glEndVertexShaderEXT;\n#define glEndVertexShaderEXT glad_glEndVertexShaderEXT\ntypedef void (APIENTRYP PFNGLBINDVERTEXSHADEREXTPROC)(GLuint id);\nGLAPI PFNGLBINDVERTEXSHADEREXTPROC glad_glBindVertexShaderEXT;\n#define glBindVertexShaderEXT glad_glBindVertexShaderEXT\ntypedef GLuint (APIENTRYP PFNGLGENVERTEXSHADERSEXTPROC)(GLuint range);\nGLAPI PFNGLGENVERTEXSHADERSEXTPROC glad_glGenVertexShadersEXT;\n#define glGenVertexShadersEXT glad_glGenVertexShadersEXT\ntypedef void (APIENTRYP PFNGLDELETEVERTEXSHADEREXTPROC)(GLuint id);\nGLAPI PFNGLDELETEVERTEXSHADEREXTPROC glad_glDeleteVertexShaderEXT;\n#define glDeleteVertexShaderEXT glad_glDeleteVertexShaderEXT\ntypedef void (APIENTRYP PFNGLSHADEROP1EXTPROC)(GLenum op, GLuint res, GLuint arg1);\nGLAPI PFNGLSHADEROP1EXTPROC glad_glShaderOp1EXT;\n#define glShaderOp1EXT glad_glShaderOp1EXT\ntypedef void (APIENTRYP PFNGLSHADEROP2EXTPROC)(GLenum op, GLuint res, GLuint arg1, GLuint arg2);\nGLAPI PFNGLSHADEROP2EXTPROC glad_glShaderOp2EXT;\n#define glShaderOp2EXT glad_glShaderOp2EXT\ntypedef void (APIENTRYP PFNGLSHADEROP3EXTPROC)(GLenum op, GLuint res, GLuint arg1, GLuint arg2, GLuint arg3);\nGLAPI PFNGLSHADEROP3EXTPROC glad_glShaderOp3EXT;\n#define glShaderOp3EXT glad_glShaderOp3EXT\ntypedef void (APIENTRYP PFNGLSWIZZLEEXTPROC)(GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW);\nGLAPI PFNGLSWIZZLEEXTPROC glad_glSwizzleEXT;\n#define glSwizzleEXT glad_glSwizzleEXT\ntypedef void (APIENTRYP PFNGLWRITEMASKEXTPROC)(GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW);\nGLAPI PFNGLWRITEMASKEXTPROC glad_glWriteMaskEXT;\n#define glWriteMaskEXT glad_glWriteMaskEXT\ntypedef void (APIENTRYP PFNGLINSERTCOMPONENTEXTPROC)(GLuint res, GLuint src, GLuint num);\nGLAPI PFNGLINSERTCOMPONENTEXTPROC glad_glInsertComponentEXT;\n#define glInsertComponentEXT glad_glInsertComponentEXT\ntypedef void (APIENTRYP PFNGLEXTRACTCOMPONENTEXTPROC)(GLuint res, GLuint src, GLuint num);\nGLAPI PFNGLEXTRACTCOMPONENTEXTPROC glad_glExtractComponentEXT;\n#define glExtractComponentEXT glad_glExtractComponentEXT\ntypedef GLuint (APIENTRYP PFNGLGENSYMBOLSEXTPROC)(GLenum datatype, GLenum storagetype, GLenum range, GLuint components);\nGLAPI PFNGLGENSYMBOLSEXTPROC glad_glGenSymbolsEXT;\n#define glGenSymbolsEXT glad_glGenSymbolsEXT\ntypedef void (APIENTRYP PFNGLSETINVARIANTEXTPROC)(GLuint id, GLenum type, const void *addr);\nGLAPI PFNGLSETINVARIANTEXTPROC glad_glSetInvariantEXT;\n#define glSetInvariantEXT glad_glSetInvariantEXT\ntypedef void (APIENTRYP PFNGLSETLOCALCONSTANTEXTPROC)(GLuint id, GLenum type, const void *addr);\nGLAPI PFNGLSETLOCALCONSTANTEXTPROC glad_glSetLocalConstantEXT;\n#define glSetLocalConstantEXT glad_glSetLocalConstantEXT\ntypedef void (APIENTRYP PFNGLVARIANTBVEXTPROC)(GLuint id, const GLbyte *addr);\nGLAPI PFNGLVARIANTBVEXTPROC glad_glVariantbvEXT;\n#define glVariantbvEXT glad_glVariantbvEXT\ntypedef void (APIENTRYP PFNGLVARIANTSVEXTPROC)(GLuint id, const GLshort *addr);\nGLAPI PFNGLVARIANTSVEXTPROC glad_glVariantsvEXT;\n#define glVariantsvEXT glad_glVariantsvEXT\ntypedef void (APIENTRYP PFNGLVARIANTIVEXTPROC)(GLuint id, const GLint *addr);\nGLAPI PFNGLVARIANTIVEXTPROC glad_glVariantivEXT;\n#define glVariantivEXT glad_glVariantivEXT\ntypedef void (APIENTRYP PFNGLVARIANTFVEXTPROC)(GLuint id, const GLfloat *addr);\nGLAPI PFNGLVARIANTFVEXTPROC glad_glVariantfvEXT;\n#define glVariantfvEXT glad_glVariantfvEXT\ntypedef void (APIENTRYP PFNGLVARIANTDVEXTPROC)(GLuint id, const GLdouble *addr);\nGLAPI PFNGLVARIANTDVEXTPROC glad_glVariantdvEXT;\n#define glVariantdvEXT glad_glVariantdvEXT\ntypedef void (APIENTRYP PFNGLVARIANTUBVEXTPROC)(GLuint id, const GLubyte *addr);\nGLAPI PFNGLVARIANTUBVEXTPROC glad_glVariantubvEXT;\n#define glVariantubvEXT glad_glVariantubvEXT\ntypedef void (APIENTRYP PFNGLVARIANTUSVEXTPROC)(GLuint id, const GLushort *addr);\nGLAPI PFNGLVARIANTUSVEXTPROC glad_glVariantusvEXT;\n#define glVariantusvEXT glad_glVariantusvEXT\ntypedef void (APIENTRYP PFNGLVARIANTUIVEXTPROC)(GLuint id, const GLuint *addr);\nGLAPI PFNGLVARIANTUIVEXTPROC glad_glVariantuivEXT;\n#define glVariantuivEXT glad_glVariantuivEXT\ntypedef void (APIENTRYP PFNGLVARIANTPOINTEREXTPROC)(GLuint id, GLenum type, GLuint stride, const void *addr);\nGLAPI PFNGLVARIANTPOINTEREXTPROC glad_glVariantPointerEXT;\n#define glVariantPointerEXT glad_glVariantPointerEXT\ntypedef void (APIENTRYP PFNGLENABLEVARIANTCLIENTSTATEEXTPROC)(GLuint id);\nGLAPI PFNGLENABLEVARIANTCLIENTSTATEEXTPROC glad_glEnableVariantClientStateEXT;\n#define glEnableVariantClientStateEXT glad_glEnableVariantClientStateEXT\ntypedef void (APIENTRYP PFNGLDISABLEVARIANTCLIENTSTATEEXTPROC)(GLuint id);\nGLAPI PFNGLDISABLEVARIANTCLIENTSTATEEXTPROC glad_glDisableVariantClientStateEXT;\n#define glDisableVariantClientStateEXT glad_glDisableVariantClientStateEXT\ntypedef GLuint (APIENTRYP PFNGLBINDLIGHTPARAMETEREXTPROC)(GLenum light, GLenum value);\nGLAPI PFNGLBINDLIGHTPARAMETEREXTPROC glad_glBindLightParameterEXT;\n#define glBindLightParameterEXT glad_glBindLightParameterEXT\ntypedef GLuint (APIENTRYP PFNGLBINDMATERIALPARAMETEREXTPROC)(GLenum face, GLenum value);\nGLAPI PFNGLBINDMATERIALPARAMETEREXTPROC glad_glBindMaterialParameterEXT;\n#define glBindMaterialParameterEXT glad_glBindMaterialParameterEXT\ntypedef GLuint (APIENTRYP PFNGLBINDTEXGENPARAMETEREXTPROC)(GLenum unit, GLenum coord, GLenum value);\nGLAPI PFNGLBINDTEXGENPARAMETEREXTPROC glad_glBindTexGenParameterEXT;\n#define glBindTexGenParameterEXT glad_glBindTexGenParameterEXT\ntypedef GLuint (APIENTRYP PFNGLBINDTEXTUREUNITPARAMETEREXTPROC)(GLenum unit, GLenum value);\nGLAPI PFNGLBINDTEXTUREUNITPARAMETEREXTPROC glad_glBindTextureUnitParameterEXT;\n#define glBindTextureUnitParameterEXT glad_glBindTextureUnitParameterEXT\ntypedef GLuint (APIENTRYP PFNGLBINDPARAMETEREXTPROC)(GLenum value);\nGLAPI PFNGLBINDPARAMETEREXTPROC glad_glBindParameterEXT;\n#define glBindParameterEXT glad_glBindParameterEXT\ntypedef GLboolean (APIENTRYP PFNGLISVARIANTENABLEDEXTPROC)(GLuint id, GLenum cap);\nGLAPI PFNGLISVARIANTENABLEDEXTPROC glad_glIsVariantEnabledEXT;\n#define glIsVariantEnabledEXT glad_glIsVariantEnabledEXT\ntypedef void (APIENTRYP PFNGLGETVARIANTBOOLEANVEXTPROC)(GLuint id, GLenum value, GLboolean *data);\nGLAPI PFNGLGETVARIANTBOOLEANVEXTPROC glad_glGetVariantBooleanvEXT;\n#define glGetVariantBooleanvEXT glad_glGetVariantBooleanvEXT\ntypedef void (APIENTRYP PFNGLGETVARIANTINTEGERVEXTPROC)(GLuint id, GLenum value, GLint *data);\nGLAPI PFNGLGETVARIANTINTEGERVEXTPROC glad_glGetVariantIntegervEXT;\n#define glGetVariantIntegervEXT glad_glGetVariantIntegervEXT\ntypedef void (APIENTRYP PFNGLGETVARIANTFLOATVEXTPROC)(GLuint id, GLenum value, GLfloat *data);\nGLAPI PFNGLGETVARIANTFLOATVEXTPROC glad_glGetVariantFloatvEXT;\n#define glGetVariantFloatvEXT glad_glGetVariantFloatvEXT\ntypedef void (APIENTRYP PFNGLGETVARIANTPOINTERVEXTPROC)(GLuint id, GLenum value, void **data);\nGLAPI PFNGLGETVARIANTPOINTERVEXTPROC glad_glGetVariantPointervEXT;\n#define glGetVariantPointervEXT glad_glGetVariantPointervEXT\ntypedef void (APIENTRYP PFNGLGETINVARIANTBOOLEANVEXTPROC)(GLuint id, GLenum value, GLboolean *data);\nGLAPI PFNGLGETINVARIANTBOOLEANVEXTPROC glad_glGetInvariantBooleanvEXT;\n#define glGetInvariantBooleanvEXT glad_glGetInvariantBooleanvEXT\ntypedef void (APIENTRYP PFNGLGETINVARIANTINTEGERVEXTPROC)(GLuint id, GLenum value, GLint *data);\nGLAPI PFNGLGETINVARIANTINTEGERVEXTPROC glad_glGetInvariantIntegervEXT;\n#define glGetInvariantIntegervEXT glad_glGetInvariantIntegervEXT\ntypedef void (APIENTRYP PFNGLGETINVARIANTFLOATVEXTPROC)(GLuint id, GLenum value, GLfloat *data);\nGLAPI PFNGLGETINVARIANTFLOATVEXTPROC glad_glGetInvariantFloatvEXT;\n#define glGetInvariantFloatvEXT glad_glGetInvariantFloatvEXT\ntypedef void (APIENTRYP PFNGLGETLOCALCONSTANTBOOLEANVEXTPROC)(GLuint id, GLenum value, GLboolean *data);\nGLAPI PFNGLGETLOCALCONSTANTBOOLEANVEXTPROC glad_glGetLocalConstantBooleanvEXT;\n#define glGetLocalConstantBooleanvEXT glad_glGetLocalConstantBooleanvEXT\ntypedef void (APIENTRYP PFNGLGETLOCALCONSTANTINTEGERVEXTPROC)(GLuint id, GLenum value, GLint *data);\nGLAPI PFNGLGETLOCALCONSTANTINTEGERVEXTPROC glad_glGetLocalConstantIntegervEXT;\n#define glGetLocalConstantIntegervEXT glad_glGetLocalConstantIntegervEXT\ntypedef void (APIENTRYP PFNGLGETLOCALCONSTANTFLOATVEXTPROC)(GLuint id, GLenum value, GLfloat *data);\nGLAPI PFNGLGETLOCALCONSTANTFLOATVEXTPROC glad_glGetLocalConstantFloatvEXT;\n#define glGetLocalConstantFloatvEXT glad_glGetLocalConstantFloatvEXT\n#endif\n#ifndef GL_EXT_vertex_weighting\n#define GL_EXT_vertex_weighting 1\nGLAPI int GLAD_GL_EXT_vertex_weighting;\ntypedef void (APIENTRYP PFNGLVERTEXWEIGHTFEXTPROC)(GLfloat weight);\nGLAPI PFNGLVERTEXWEIGHTFEXTPROC glad_glVertexWeightfEXT;\n#define glVertexWeightfEXT glad_glVertexWeightfEXT\ntypedef void (APIENTRYP PFNGLVERTEXWEIGHTFVEXTPROC)(const GLfloat *weight);\nGLAPI PFNGLVERTEXWEIGHTFVEXTPROC glad_glVertexWeightfvEXT;\n#define glVertexWeightfvEXT glad_glVertexWeightfvEXT\ntypedef void (APIENTRYP PFNGLVERTEXWEIGHTPOINTEREXTPROC)(GLint size, GLenum type, GLsizei stride, const void *pointer);\nGLAPI PFNGLVERTEXWEIGHTPOINTEREXTPROC glad_glVertexWeightPointerEXT;\n#define glVertexWeightPointerEXT glad_glVertexWeightPointerEXT\n#endif\n#ifndef GL_EXT_win32_keyed_mutex\n#define GL_EXT_win32_keyed_mutex 1\nGLAPI int GLAD_GL_EXT_win32_keyed_mutex;\ntypedef GLboolean (APIENTRYP PFNGLACQUIREKEYEDMUTEXWIN32EXTPROC)(GLuint memory, GLuint64 key, GLuint timeout);\nGLAPI PFNGLACQUIREKEYEDMUTEXWIN32EXTPROC glad_glAcquireKeyedMutexWin32EXT;\n#define glAcquireKeyedMutexWin32EXT glad_glAcquireKeyedMutexWin32EXT\ntypedef GLboolean (APIENTRYP PFNGLRELEASEKEYEDMUTEXWIN32EXTPROC)(GLuint memory, GLuint64 key);\nGLAPI PFNGLRELEASEKEYEDMUTEXWIN32EXTPROC glad_glReleaseKeyedMutexWin32EXT;\n#define glReleaseKeyedMutexWin32EXT glad_glReleaseKeyedMutexWin32EXT\n#endif\n#ifndef GL_EXT_window_rectangles\n#define GL_EXT_window_rectangles 1\nGLAPI int GLAD_GL_EXT_window_rectangles;\ntypedef void (APIENTRYP PFNGLWINDOWRECTANGLESEXTPROC)(GLenum mode, GLsizei count, const GLint *box);\nGLAPI PFNGLWINDOWRECTANGLESEXTPROC glad_glWindowRectanglesEXT;\n#define glWindowRectanglesEXT glad_glWindowRectanglesEXT\n#endif\n#ifndef GL_EXT_x11_sync_object\n#define GL_EXT_x11_sync_object 1\nGLAPI int GLAD_GL_EXT_x11_sync_object;\ntypedef GLsync (APIENTRYP PFNGLIMPORTSYNCEXTPROC)(GLenum external_sync_type, GLintptr external_sync, GLbitfield flags);\nGLAPI PFNGLIMPORTSYNCEXTPROC glad_glImportSyncEXT;\n#define glImportSyncEXT glad_glImportSyncEXT\n#endif\n#ifndef GL_GREMEDY_frame_terminator\n#define GL_GREMEDY_frame_terminator 1\nGLAPI int GLAD_GL_GREMEDY_frame_terminator;\ntypedef void (APIENTRYP PFNGLFRAMETERMINATORGREMEDYPROC)();\nGLAPI PFNGLFRAMETERMINATORGREMEDYPROC glad_glFrameTerminatorGREMEDY;\n#define glFrameTerminatorGREMEDY glad_glFrameTerminatorGREMEDY\n#endif\n#ifndef GL_GREMEDY_string_marker\n#define GL_GREMEDY_string_marker 1\nGLAPI int GLAD_GL_GREMEDY_string_marker;\ntypedef void (APIENTRYP PFNGLSTRINGMARKERGREMEDYPROC)(GLsizei len, const void *string);\nGLAPI PFNGLSTRINGMARKERGREMEDYPROC glad_glStringMarkerGREMEDY;\n#define glStringMarkerGREMEDY glad_glStringMarkerGREMEDY\n#endif\n#ifndef GL_HP_convolution_border_modes\n#define GL_HP_convolution_border_modes 1\nGLAPI int GLAD_GL_HP_convolution_border_modes;\n#endif\n#ifndef GL_HP_image_transform\n#define GL_HP_image_transform 1\nGLAPI int GLAD_GL_HP_image_transform;\ntypedef void (APIENTRYP PFNGLIMAGETRANSFORMPARAMETERIHPPROC)(GLenum target, GLenum pname, GLint param);\nGLAPI PFNGLIMAGETRANSFORMPARAMETERIHPPROC glad_glImageTransformParameteriHP;\n#define glImageTransformParameteriHP glad_glImageTransformParameteriHP\ntypedef void (APIENTRYP PFNGLIMAGETRANSFORMPARAMETERFHPPROC)(GLenum target, GLenum pname, GLfloat param);\nGLAPI PFNGLIMAGETRANSFORMPARAMETERFHPPROC glad_glImageTransformParameterfHP;\n#define glImageTransformParameterfHP glad_glImageTransformParameterfHP\ntypedef void (APIENTRYP PFNGLIMAGETRANSFORMPARAMETERIVHPPROC)(GLenum target, GLenum pname, const GLint *params);\nGLAPI PFNGLIMAGETRANSFORMPARAMETERIVHPPROC glad_glImageTransformParameterivHP;\n#define glImageTransformParameterivHP glad_glImageTransformParameterivHP\ntypedef void (APIENTRYP PFNGLIMAGETRANSFORMPARAMETERFVHPPROC)(GLenum target, GLenum pname, const GLfloat *params);\nGLAPI PFNGLIMAGETRANSFORMPARAMETERFVHPPROC glad_glImageTransformParameterfvHP;\n#define glImageTransformParameterfvHP glad_glImageTransformParameterfvHP\ntypedef void (APIENTRYP PFNGLGETIMAGETRANSFORMPARAMETERIVHPPROC)(GLenum target, GLenum pname, GLint *params);\nGLAPI PFNGLGETIMAGETRANSFORMPARAMETERIVHPPROC glad_glGetImageTransformParameterivHP;\n#define glGetImageTransformParameterivHP glad_glGetImageTransformParameterivHP\ntypedef void (APIENTRYP PFNGLGETIMAGETRANSFORMPARAMETERFVHPPROC)(GLenum target, GLenum pname, GLfloat *params);\nGLAPI PFNGLGETIMAGETRANSFORMPARAMETERFVHPPROC glad_glGetImageTransformParameterfvHP;\n#define glGetImageTransformParameterfvHP glad_glGetImageTransformParameterfvHP\n#endif\n#ifndef GL_HP_occlusion_test\n#define GL_HP_occlusion_test 1\nGLAPI int GLAD_GL_HP_occlusion_test;\n#endif\n#ifndef GL_HP_texture_lighting\n#define GL_HP_texture_lighting 1\nGLAPI int GLAD_GL_HP_texture_lighting;\n#endif\n#ifndef GL_IBM_cull_vertex\n#define GL_IBM_cull_vertex 1\nGLAPI int GLAD_GL_IBM_cull_vertex;\n#endif\n#ifndef GL_IBM_multimode_draw_arrays\n#define GL_IBM_multimode_draw_arrays 1\nGLAPI int GLAD_GL_IBM_multimode_draw_arrays;\ntypedef void (APIENTRYP PFNGLMULTIMODEDRAWARRAYSIBMPROC)(const GLenum *mode, const GLint *first, const GLsizei *count, GLsizei primcount, GLint modestride);\nGLAPI PFNGLMULTIMODEDRAWARRAYSIBMPROC glad_glMultiModeDrawArraysIBM;\n#define glMultiModeDrawArraysIBM glad_glMultiModeDrawArraysIBM\ntypedef void (APIENTRYP PFNGLMULTIMODEDRAWELEMENTSIBMPROC)(const GLenum *mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei primcount, GLint modestride);\nGLAPI PFNGLMULTIMODEDRAWELEMENTSIBMPROC glad_glMultiModeDrawElementsIBM;\n#define glMultiModeDrawElementsIBM glad_glMultiModeDrawElementsIBM\n#endif\n#ifndef GL_IBM_rasterpos_clip\n#define GL_IBM_rasterpos_clip 1\nGLAPI int GLAD_GL_IBM_rasterpos_clip;\n#endif\n#ifndef GL_IBM_static_data\n#define GL_IBM_static_data 1\nGLAPI int GLAD_GL_IBM_static_data;\ntypedef void (APIENTRYP PFNGLFLUSHSTATICDATAIBMPROC)(GLenum target);\nGLAPI PFNGLFLUSHSTATICDATAIBMPROC glad_glFlushStaticDataIBM;\n#define glFlushStaticDataIBM glad_glFlushStaticDataIBM\n#endif\n#ifndef GL_IBM_texture_mirrored_repeat\n#define GL_IBM_texture_mirrored_repeat 1\nGLAPI int GLAD_GL_IBM_texture_mirrored_repeat;\n#endif\n#ifndef GL_IBM_vertex_array_lists\n#define GL_IBM_vertex_array_lists 1\nGLAPI int GLAD_GL_IBM_vertex_array_lists;\ntypedef void (APIENTRYP PFNGLCOLORPOINTERLISTIBMPROC)(GLint size, GLenum type, GLint stride, const void **pointer, GLint ptrstride);\nGLAPI PFNGLCOLORPOINTERLISTIBMPROC glad_glColorPointerListIBM;\n#define glColorPointerListIBM glad_glColorPointerListIBM\ntypedef void (APIENTRYP PFNGLSECONDARYCOLORPOINTERLISTIBMPROC)(GLint size, GLenum type, GLint stride, const void **pointer, GLint ptrstride);\nGLAPI PFNGLSECONDARYCOLORPOINTERLISTIBMPROC glad_glSecondaryColorPointerListIBM;\n#define glSecondaryColorPointerListIBM glad_glSecondaryColorPointerListIBM\ntypedef void (APIENTRYP PFNGLEDGEFLAGPOINTERLISTIBMPROC)(GLint stride, const GLboolean **pointer, GLint ptrstride);\nGLAPI PFNGLEDGEFLAGPOINTERLISTIBMPROC glad_glEdgeFlagPointerListIBM;\n#define glEdgeFlagPointerListIBM glad_glEdgeFlagPointerListIBM\ntypedef void (APIENTRYP PFNGLFOGCOORDPOINTERLISTIBMPROC)(GLenum type, GLint stride, const void **pointer, GLint ptrstride);\nGLAPI PFNGLFOGCOORDPOINTERLISTIBMPROC glad_glFogCoordPointerListIBM;\n#define glFogCoordPointerListIBM glad_glFogCoordPointerListIBM\ntypedef void (APIENTRYP PFNGLINDEXPOINTERLISTIBMPROC)(GLenum type, GLint stride, const void **pointer, GLint ptrstride);\nGLAPI PFNGLINDEXPOINTERLISTIBMPROC glad_glIndexPointerListIBM;\n#define glIndexPointerListIBM glad_glIndexPointerListIBM\ntypedef void (APIENTRYP PFNGLNORMALPOINTERLISTIBMPROC)(GLenum type, GLint stride, const void **pointer, GLint ptrstride);\nGLAPI PFNGLNORMALPOINTERLISTIBMPROC glad_glNormalPointerListIBM;\n#define glNormalPointerListIBM glad_glNormalPointerListIBM\ntypedef void (APIENTRYP PFNGLTEXCOORDPOINTERLISTIBMPROC)(GLint size, GLenum type, GLint stride, const void **pointer, GLint ptrstride);\nGLAPI PFNGLTEXCOORDPOINTERLISTIBMPROC glad_glTexCoordPointerListIBM;\n#define glTexCoordPointerListIBM glad_glTexCoordPointerListIBM\ntypedef void (APIENTRYP PFNGLVERTEXPOINTERLISTIBMPROC)(GLint size, GLenum type, GLint stride, const void **pointer, GLint ptrstride);\nGLAPI PFNGLVERTEXPOINTERLISTIBMPROC glad_glVertexPointerListIBM;\n#define glVertexPointerListIBM glad_glVertexPointerListIBM\n#endif\n#ifndef GL_INGR_blend_func_separate\n#define GL_INGR_blend_func_separate 1\nGLAPI int GLAD_GL_INGR_blend_func_separate;\ntypedef void (APIENTRYP PFNGLBLENDFUNCSEPARATEINGRPROC)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);\nGLAPI PFNGLBLENDFUNCSEPARATEINGRPROC glad_glBlendFuncSeparateINGR;\n#define glBlendFuncSeparateINGR glad_glBlendFuncSeparateINGR\n#endif\n#ifndef GL_INGR_color_clamp\n#define GL_INGR_color_clamp 1\nGLAPI int GLAD_GL_INGR_color_clamp;\n#endif\n#ifndef GL_INGR_interlace_read\n#define GL_INGR_interlace_read 1\nGLAPI int GLAD_GL_INGR_interlace_read;\n#endif\n#ifndef GL_INTEL_conservative_rasterization\n#define GL_INTEL_conservative_rasterization 1\nGLAPI int GLAD_GL_INTEL_conservative_rasterization;\n#endif\n#ifndef GL_INTEL_fragment_shader_ordering\n#define GL_INTEL_fragment_shader_ordering 1\nGLAPI int GLAD_GL_INTEL_fragment_shader_ordering;\n#endif\n#ifndef GL_INTEL_framebuffer_CMAA\n#define GL_INTEL_framebuffer_CMAA 1\nGLAPI int GLAD_GL_INTEL_framebuffer_CMAA;\ntypedef void (APIENTRYP PFNGLAPPLYFRAMEBUFFERATTACHMENTCMAAINTELPROC)();\nGLAPI PFNGLAPPLYFRAMEBUFFERATTACHMENTCMAAINTELPROC glad_glApplyFramebufferAttachmentCMAAINTEL;\n#define glApplyFramebufferAttachmentCMAAINTEL glad_glApplyFramebufferAttachmentCMAAINTEL\n#endif\n#ifndef GL_INTEL_map_texture\n#define GL_INTEL_map_texture 1\nGLAPI int GLAD_GL_INTEL_map_texture;\ntypedef void (APIENTRYP PFNGLSYNCTEXTUREINTELPROC)(GLuint texture);\nGLAPI PFNGLSYNCTEXTUREINTELPROC glad_glSyncTextureINTEL;\n#define glSyncTextureINTEL glad_glSyncTextureINTEL\ntypedef void (APIENTRYP PFNGLUNMAPTEXTURE2DINTELPROC)(GLuint texture, GLint level);\nGLAPI PFNGLUNMAPTEXTURE2DINTELPROC glad_glUnmapTexture2DINTEL;\n#define glUnmapTexture2DINTEL glad_glUnmapTexture2DINTEL\ntypedef void * (APIENTRYP PFNGLMAPTEXTURE2DINTELPROC)(GLuint texture, GLint level, GLbitfield access, GLint *stride, GLenum *layout);\nGLAPI PFNGLMAPTEXTURE2DINTELPROC glad_glMapTexture2DINTEL;\n#define glMapTexture2DINTEL glad_glMapTexture2DINTEL\n#endif\n#ifndef GL_INTEL_parallel_arrays\n#define GL_INTEL_parallel_arrays 1\nGLAPI int GLAD_GL_INTEL_parallel_arrays;\ntypedef void (APIENTRYP PFNGLVERTEXPOINTERVINTELPROC)(GLint size, GLenum type, const void **pointer);\nGLAPI PFNGLVERTEXPOINTERVINTELPROC glad_glVertexPointervINTEL;\n#define glVertexPointervINTEL glad_glVertexPointervINTEL\ntypedef void (APIENTRYP PFNGLNORMALPOINTERVINTELPROC)(GLenum type, const void **pointer);\nGLAPI PFNGLNORMALPOINTERVINTELPROC glad_glNormalPointervINTEL;\n#define glNormalPointervINTEL glad_glNormalPointervINTEL\ntypedef void (APIENTRYP PFNGLCOLORPOINTERVINTELPROC)(GLint size, GLenum type, const void **pointer);\nGLAPI PFNGLCOLORPOINTERVINTELPROC glad_glColorPointervINTEL;\n#define glColorPointervINTEL glad_glColorPointervINTEL\ntypedef void (APIENTRYP PFNGLTEXCOORDPOINTERVINTELPROC)(GLint size, GLenum type, const void **pointer);\nGLAPI PFNGLTEXCOORDPOINTERVINTELPROC glad_glTexCoordPointervINTEL;\n#define glTexCoordPointervINTEL glad_glTexCoordPointervINTEL\n#endif\n#ifndef GL_INTEL_performance_query\n#define GL_INTEL_performance_query 1\nGLAPI int GLAD_GL_INTEL_performance_query;\ntypedef void (APIENTRYP PFNGLBEGINPERFQUERYINTELPROC)(GLuint queryHandle);\nGLAPI PFNGLBEGINPERFQUERYINTELPROC glad_glBeginPerfQueryINTEL;\n#define glBeginPerfQueryINTEL glad_glBeginPerfQueryINTEL\ntypedef void (APIENTRYP PFNGLCREATEPERFQUERYINTELPROC)(GLuint queryId, GLuint *queryHandle);\nGLAPI PFNGLCREATEPERFQUERYINTELPROC glad_glCreatePerfQueryINTEL;\n#define glCreatePerfQueryINTEL glad_glCreatePerfQueryINTEL\ntypedef void (APIENTRYP PFNGLDELETEPERFQUERYINTELPROC)(GLuint queryHandle);\nGLAPI PFNGLDELETEPERFQUERYINTELPROC glad_glDeletePerfQueryINTEL;\n#define glDeletePerfQueryINTEL glad_glDeletePerfQueryINTEL\ntypedef void (APIENTRYP PFNGLENDPERFQUERYINTELPROC)(GLuint queryHandle);\nGLAPI PFNGLENDPERFQUERYINTELPROC glad_glEndPerfQueryINTEL;\n#define glEndPerfQueryINTEL glad_glEndPerfQueryINTEL\ntypedef void (APIENTRYP PFNGLGETFIRSTPERFQUERYIDINTELPROC)(GLuint *queryId);\nGLAPI PFNGLGETFIRSTPERFQUERYIDINTELPROC glad_glGetFirstPerfQueryIdINTEL;\n#define glGetFirstPerfQueryIdINTEL glad_glGetFirstPerfQueryIdINTEL\ntypedef void (APIENTRYP PFNGLGETNEXTPERFQUERYIDINTELPROC)(GLuint queryId, GLuint *nextQueryId);\nGLAPI PFNGLGETNEXTPERFQUERYIDINTELPROC glad_glGetNextPerfQueryIdINTEL;\n#define glGetNextPerfQueryIdINTEL glad_glGetNextPerfQueryIdINTEL\ntypedef void (APIENTRYP PFNGLGETPERFCOUNTERINFOINTELPROC)(GLuint queryId, GLuint counterId, GLuint counterNameLength, GLchar *counterName, GLuint counterDescLength, GLchar *counterDesc, GLuint *counterOffset, GLuint *counterDataSize, GLuint *counterTypeEnum, GLuint *counterDataTypeEnum, GLuint64 *rawCounterMaxValue);\nGLAPI PFNGLGETPERFCOUNTERINFOINTELPROC glad_glGetPerfCounterInfoINTEL;\n#define glGetPerfCounterInfoINTEL glad_glGetPerfCounterInfoINTEL\ntypedef void (APIENTRYP PFNGLGETPERFQUERYDATAINTELPROC)(GLuint queryHandle, GLuint flags, GLsizei dataSize, GLvoid *data, GLuint *bytesWritten);\nGLAPI PFNGLGETPERFQUERYDATAINTELPROC glad_glGetPerfQueryDataINTEL;\n#define glGetPerfQueryDataINTEL glad_glGetPerfQueryDataINTEL\ntypedef void (APIENTRYP PFNGLGETPERFQUERYIDBYNAMEINTELPROC)(GLchar *queryName, GLuint *queryId);\nGLAPI PFNGLGETPERFQUERYIDBYNAMEINTELPROC glad_glGetPerfQueryIdByNameINTEL;\n#define glGetPerfQueryIdByNameINTEL glad_glGetPerfQueryIdByNameINTEL\ntypedef void (APIENTRYP PFNGLGETPERFQUERYINFOINTELPROC)(GLuint queryId, GLuint queryNameLength, GLchar *queryName, GLuint *dataSize, GLuint *noCounters, GLuint *noInstances, GLuint *capsMask);\nGLAPI PFNGLGETPERFQUERYINFOINTELPROC glad_glGetPerfQueryInfoINTEL;\n#define glGetPerfQueryInfoINTEL glad_glGetPerfQueryInfoINTEL\n#endif\n#ifndef GL_KHR_blend_equation_advanced\n#define GL_KHR_blend_equation_advanced 1\nGLAPI int GLAD_GL_KHR_blend_equation_advanced;\ntypedef void (APIENTRYP PFNGLBLENDBARRIERKHRPROC)();\nGLAPI PFNGLBLENDBARRIERKHRPROC glad_glBlendBarrierKHR;\n#define glBlendBarrierKHR glad_glBlendBarrierKHR\n#endif\n#ifndef GL_KHR_blend_equation_advanced_coherent\n#define GL_KHR_blend_equation_advanced_coherent 1\nGLAPI int GLAD_GL_KHR_blend_equation_advanced_coherent;\n#endif\n#ifndef GL_KHR_context_flush_control\n#define GL_KHR_context_flush_control 1\nGLAPI int GLAD_GL_KHR_context_flush_control;\n#endif\n#ifndef GL_KHR_debug\n#define GL_KHR_debug 1\nGLAPI int GLAD_GL_KHR_debug;\ntypedef void (APIENTRYP PFNGLDEBUGMESSAGECONTROLKHRPROC)(GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);\nGLAPI PFNGLDEBUGMESSAGECONTROLKHRPROC glad_glDebugMessageControlKHR;\n#define glDebugMessageControlKHR glad_glDebugMessageControlKHR\ntypedef void (APIENTRYP PFNGLDEBUGMESSAGEINSERTKHRPROC)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);\nGLAPI PFNGLDEBUGMESSAGEINSERTKHRPROC glad_glDebugMessageInsertKHR;\n#define glDebugMessageInsertKHR glad_glDebugMessageInsertKHR\ntypedef void (APIENTRYP PFNGLDEBUGMESSAGECALLBACKKHRPROC)(GLDEBUGPROCKHR callback, const void *userParam);\nGLAPI PFNGLDEBUGMESSAGECALLBACKKHRPROC glad_glDebugMessageCallbackKHR;\n#define glDebugMessageCallbackKHR glad_glDebugMessageCallbackKHR\ntypedef GLuint (APIENTRYP PFNGLGETDEBUGMESSAGELOGKHRPROC)(GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);\nGLAPI PFNGLGETDEBUGMESSAGELOGKHRPROC glad_glGetDebugMessageLogKHR;\n#define glGetDebugMessageLogKHR glad_glGetDebugMessageLogKHR\ntypedef void (APIENTRYP PFNGLPUSHDEBUGGROUPKHRPROC)(GLenum source, GLuint id, GLsizei length, const GLchar *message);\nGLAPI PFNGLPUSHDEBUGGROUPKHRPROC glad_glPushDebugGroupKHR;\n#define glPushDebugGroupKHR glad_glPushDebugGroupKHR\ntypedef void (APIENTRYP PFNGLPOPDEBUGGROUPKHRPROC)();\nGLAPI PFNGLPOPDEBUGGROUPKHRPROC glad_glPopDebugGroupKHR;\n#define glPopDebugGroupKHR glad_glPopDebugGroupKHR\ntypedef void (APIENTRYP PFNGLOBJECTLABELKHRPROC)(GLenum identifier, GLuint name, GLsizei length, const GLchar *label);\nGLAPI PFNGLOBJECTLABELKHRPROC glad_glObjectLabelKHR;\n#define glObjectLabelKHR glad_glObjectLabelKHR\ntypedef void (APIENTRYP PFNGLGETOBJECTLABELKHRPROC)(GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label);\nGLAPI PFNGLGETOBJECTLABELKHRPROC glad_glGetObjectLabelKHR;\n#define glGetObjectLabelKHR glad_glGetObjectLabelKHR\ntypedef void (APIENTRYP PFNGLOBJECTPTRLABELKHRPROC)(const void *ptr, GLsizei length, const GLchar *label);\nGLAPI PFNGLOBJECTPTRLABELKHRPROC glad_glObjectPtrLabelKHR;\n#define glObjectPtrLabelKHR glad_glObjectPtrLabelKHR\ntypedef void (APIENTRYP PFNGLGETOBJECTPTRLABELKHRPROC)(const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label);\nGLAPI PFNGLGETOBJECTPTRLABELKHRPROC glad_glGetObjectPtrLabelKHR;\n#define glGetObjectPtrLabelKHR glad_glGetObjectPtrLabelKHR\ntypedef void (APIENTRYP PFNGLGETPOINTERVKHRPROC)(GLenum pname, void **params);\nGLAPI PFNGLGETPOINTERVKHRPROC glad_glGetPointervKHR;\n#define glGetPointervKHR glad_glGetPointervKHR\n#endif\n#ifndef GL_KHR_no_error\n#define GL_KHR_no_error 1\nGLAPI int GLAD_GL_KHR_no_error;\n#endif\n#ifndef GL_KHR_parallel_shader_compile\n#define GL_KHR_parallel_shader_compile 1\nGLAPI int GLAD_GL_KHR_parallel_shader_compile;\ntypedef void (APIENTRYP PFNGLMAXSHADERCOMPILERTHREADSKHRPROC)(GLuint count);\nGLAPI PFNGLMAXSHADERCOMPILERTHREADSKHRPROC glad_glMaxShaderCompilerThreadsKHR;\n#define glMaxShaderCompilerThreadsKHR glad_glMaxShaderCompilerThreadsKHR\n#endif\n#ifndef GL_KHR_robust_buffer_access_behavior\n#define GL_KHR_robust_buffer_access_behavior 1\nGLAPI int GLAD_GL_KHR_robust_buffer_access_behavior;\n#endif\n#ifndef GL_KHR_robustness\n#define GL_KHR_robustness 1\nGLAPI int GLAD_GL_KHR_robustness;\ntypedef GLenum (APIENTRYP PFNGLGETGRAPHICSRESETSTATUSKHRPROC)();\nGLAPI PFNGLGETGRAPHICSRESETSTATUSKHRPROC glad_glGetGraphicsResetStatusKHR;\n#define glGetGraphicsResetStatusKHR glad_glGetGraphicsResetStatusKHR\ntypedef void (APIENTRYP PFNGLREADNPIXELSKHRPROC)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data);\nGLAPI PFNGLREADNPIXELSKHRPROC glad_glReadnPixelsKHR;\n#define glReadnPixelsKHR glad_glReadnPixelsKHR\ntypedef void (APIENTRYP PFNGLGETNUNIFORMFVKHRPROC)(GLuint program, GLint location, GLsizei bufSize, GLfloat *params);\nGLAPI PFNGLGETNUNIFORMFVKHRPROC glad_glGetnUniformfvKHR;\n#define glGetnUniformfvKHR glad_glGetnUniformfvKHR\ntypedef void (APIENTRYP PFNGLGETNUNIFORMIVKHRPROC)(GLuint program, GLint location, GLsizei bufSize, GLint *params);\nGLAPI PFNGLGETNUNIFORMIVKHRPROC glad_glGetnUniformivKHR;\n#define glGetnUniformivKHR glad_glGetnUniformivKHR\ntypedef void (APIENTRYP PFNGLGETNUNIFORMUIVKHRPROC)(GLuint program, GLint location, GLsizei bufSize, GLuint *params);\nGLAPI PFNGLGETNUNIFORMUIVKHRPROC glad_glGetnUniformuivKHR;\n#define glGetnUniformuivKHR glad_glGetnUniformuivKHR\n#endif\n#ifndef GL_KHR_texture_compression_astc_hdr\n#define GL_KHR_texture_compression_astc_hdr 1\nGLAPI int GLAD_GL_KHR_texture_compression_astc_hdr;\n#endif\n#ifndef GL_KHR_texture_compression_astc_ldr\n#define GL_KHR_texture_compression_astc_ldr 1\nGLAPI int GLAD_GL_KHR_texture_compression_astc_ldr;\n#endif\n#ifndef GL_KHR_texture_compression_astc_sliced_3d\n#define GL_KHR_texture_compression_astc_sliced_3d 1\nGLAPI int GLAD_GL_KHR_texture_compression_astc_sliced_3d;\n#endif\n#ifndef GL_MESAX_texture_stack\n#define GL_MESAX_texture_stack 1\nGLAPI int GLAD_GL_MESAX_texture_stack;\n#endif\n#ifndef GL_MESA_pack_invert\n#define GL_MESA_pack_invert 1\nGLAPI int GLAD_GL_MESA_pack_invert;\n#endif\n#ifndef GL_MESA_resize_buffers\n#define GL_MESA_resize_buffers 1\nGLAPI int GLAD_GL_MESA_resize_buffers;\ntypedef void (APIENTRYP PFNGLRESIZEBUFFERSMESAPROC)();\nGLAPI PFNGLRESIZEBUFFERSMESAPROC glad_glResizeBuffersMESA;\n#define glResizeBuffersMESA glad_glResizeBuffersMESA\n#endif\n#ifndef GL_MESA_shader_integer_functions\n#define GL_MESA_shader_integer_functions 1\nGLAPI int GLAD_GL_MESA_shader_integer_functions;\n#endif\n#ifndef GL_MESA_tile_raster_order\n#define GL_MESA_tile_raster_order 1\nGLAPI int GLAD_GL_MESA_tile_raster_order;\n#endif\n#ifndef GL_MESA_window_pos\n#define GL_MESA_window_pos 1\nGLAPI int GLAD_GL_MESA_window_pos;\ntypedef void (APIENTRYP PFNGLWINDOWPOS2DMESAPROC)(GLdouble x, GLdouble y);\nGLAPI PFNGLWINDOWPOS2DMESAPROC glad_glWindowPos2dMESA;\n#define glWindowPos2dMESA glad_glWindowPos2dMESA\ntypedef void (APIENTRYP PFNGLWINDOWPOS2DVMESAPROC)(const GLdouble *v);\nGLAPI PFNGLWINDOWPOS2DVMESAPROC glad_glWindowPos2dvMESA;\n#define glWindowPos2dvMESA glad_glWindowPos2dvMESA\ntypedef void (APIENTRYP PFNGLWINDOWPOS2FMESAPROC)(GLfloat x, GLfloat y);\nGLAPI PFNGLWINDOWPOS2FMESAPROC glad_glWindowPos2fMESA;\n#define glWindowPos2fMESA glad_glWindowPos2fMESA\ntypedef void (APIENTRYP PFNGLWINDOWPOS2FVMESAPROC)(const GLfloat *v);\nGLAPI PFNGLWINDOWPOS2FVMESAPROC glad_glWindowPos2fvMESA;\n#define glWindowPos2fvMESA glad_glWindowPos2fvMESA\ntypedef void (APIENTRYP PFNGLWINDOWPOS2IMESAPROC)(GLint x, GLint y);\nGLAPI PFNGLWINDOWPOS2IMESAPROC glad_glWindowPos2iMESA;\n#define glWindowPos2iMESA glad_glWindowPos2iMESA\ntypedef void (APIENTRYP PFNGLWINDOWPOS2IVMESAPROC)(const GLint *v);\nGLAPI PFNGLWINDOWPOS2IVMESAPROC glad_glWindowPos2ivMESA;\n#define glWindowPos2ivMESA glad_glWindowPos2ivMESA\ntypedef void (APIENTRYP PFNGLWINDOWPOS2SMESAPROC)(GLshort x, GLshort y);\nGLAPI PFNGLWINDOWPOS2SMESAPROC glad_glWindowPos2sMESA;\n#define glWindowPos2sMESA glad_glWindowPos2sMESA\ntypedef void (APIENTRYP PFNGLWINDOWPOS2SVMESAPROC)(const GLshort *v);\nGLAPI PFNGLWINDOWPOS2SVMESAPROC glad_glWindowPos2svMESA;\n#define glWindowPos2svMESA glad_glWindowPos2svMESA\ntypedef void (APIENTRYP PFNGLWINDOWPOS3DMESAPROC)(GLdouble x, GLdouble y, GLdouble z);\nGLAPI PFNGLWINDOWPOS3DMESAPROC glad_glWindowPos3dMESA;\n#define glWindowPos3dMESA glad_glWindowPos3dMESA\ntypedef void (APIENTRYP PFNGLWINDOWPOS3DVMESAPROC)(const GLdouble *v);\nGLAPI PFNGLWINDOWPOS3DVMESAPROC glad_glWindowPos3dvMESA;\n#define glWindowPos3dvMESA glad_glWindowPos3dvMESA\ntypedef void (APIENTRYP PFNGLWINDOWPOS3FMESAPROC)(GLfloat x, GLfloat y, GLfloat z);\nGLAPI PFNGLWINDOWPOS3FMESAPROC glad_glWindowPos3fMESA;\n#define glWindowPos3fMESA glad_glWindowPos3fMESA\ntypedef void (APIENTRYP PFNGLWINDOWPOS3FVMESAPROC)(const GLfloat *v);\nGLAPI PFNGLWINDOWPOS3FVMESAPROC glad_glWindowPos3fvMESA;\n#define glWindowPos3fvMESA glad_glWindowPos3fvMESA\ntypedef void (APIENTRYP PFNGLWINDOWPOS3IMESAPROC)(GLint x, GLint y, GLint z);\nGLAPI PFNGLWINDOWPOS3IMESAPROC glad_glWindowPos3iMESA;\n#define glWindowPos3iMESA glad_glWindowPos3iMESA\ntypedef void (APIENTRYP PFNGLWINDOWPOS3IVMESAPROC)(const GLint *v);\nGLAPI PFNGLWINDOWPOS3IVMESAPROC glad_glWindowPos3ivMESA;\n#define glWindowPos3ivMESA glad_glWindowPos3ivMESA\ntypedef void (APIENTRYP PFNGLWINDOWPOS3SMESAPROC)(GLshort x, GLshort y, GLshort z);\nGLAPI PFNGLWINDOWPOS3SMESAPROC glad_glWindowPos3sMESA;\n#define glWindowPos3sMESA glad_glWindowPos3sMESA\ntypedef void (APIENTRYP PFNGLWINDOWPOS3SVMESAPROC)(const GLshort *v);\nGLAPI PFNGLWINDOWPOS3SVMESAPROC glad_glWindowPos3svMESA;\n#define glWindowPos3svMESA glad_glWindowPos3svMESA\ntypedef void (APIENTRYP PFNGLWINDOWPOS4DMESAPROC)(GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nGLAPI PFNGLWINDOWPOS4DMESAPROC glad_glWindowPos4dMESA;\n#define glWindowPos4dMESA glad_glWindowPos4dMESA\ntypedef void (APIENTRYP PFNGLWINDOWPOS4DVMESAPROC)(const GLdouble *v);\nGLAPI PFNGLWINDOWPOS4DVMESAPROC glad_glWindowPos4dvMESA;\n#define glWindowPos4dvMESA glad_glWindowPos4dvMESA\ntypedef void (APIENTRYP PFNGLWINDOWPOS4FMESAPROC)(GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nGLAPI PFNGLWINDOWPOS4FMESAPROC glad_glWindowPos4fMESA;\n#define glWindowPos4fMESA glad_glWindowPos4fMESA\ntypedef void (APIENTRYP PFNGLWINDOWPOS4FVMESAPROC)(const GLfloat *v);\nGLAPI PFNGLWINDOWPOS4FVMESAPROC glad_glWindowPos4fvMESA;\n#define glWindowPos4fvMESA glad_glWindowPos4fvMESA\ntypedef void (APIENTRYP PFNGLWINDOWPOS4IMESAPROC)(GLint x, GLint y, GLint z, GLint w);\nGLAPI PFNGLWINDOWPOS4IMESAPROC glad_glWindowPos4iMESA;\n#define glWindowPos4iMESA glad_glWindowPos4iMESA\ntypedef void (APIENTRYP PFNGLWINDOWPOS4IVMESAPROC)(const GLint *v);\nGLAPI PFNGLWINDOWPOS4IVMESAPROC glad_glWindowPos4ivMESA;\n#define glWindowPos4ivMESA glad_glWindowPos4ivMESA\ntypedef void (APIENTRYP PFNGLWINDOWPOS4SMESAPROC)(GLshort x, GLshort y, GLshort z, GLshort w);\nGLAPI PFNGLWINDOWPOS4SMESAPROC glad_glWindowPos4sMESA;\n#define glWindowPos4sMESA glad_glWindowPos4sMESA\ntypedef void (APIENTRYP PFNGLWINDOWPOS4SVMESAPROC)(const GLshort *v);\nGLAPI PFNGLWINDOWPOS4SVMESAPROC glad_glWindowPos4svMESA;\n#define glWindowPos4svMESA glad_glWindowPos4svMESA\n#endif\n#ifndef GL_MESA_ycbcr_texture\n#define GL_MESA_ycbcr_texture 1\nGLAPI int GLAD_GL_MESA_ycbcr_texture;\n#endif\n#ifndef GL_NVX_blend_equation_advanced_multi_draw_buffers\n#define GL_NVX_blend_equation_advanced_multi_draw_buffers 1\nGLAPI int GLAD_GL_NVX_blend_equation_advanced_multi_draw_buffers;\n#endif\n#ifndef GL_NVX_conditional_render\n#define GL_NVX_conditional_render 1\nGLAPI int GLAD_GL_NVX_conditional_render;\ntypedef void (APIENTRYP PFNGLBEGINCONDITIONALRENDERNVXPROC)(GLuint id);\nGLAPI PFNGLBEGINCONDITIONALRENDERNVXPROC glad_glBeginConditionalRenderNVX;\n#define glBeginConditionalRenderNVX glad_glBeginConditionalRenderNVX\ntypedef void (APIENTRYP PFNGLENDCONDITIONALRENDERNVXPROC)();\nGLAPI PFNGLENDCONDITIONALRENDERNVXPROC glad_glEndConditionalRenderNVX;\n#define glEndConditionalRenderNVX glad_glEndConditionalRenderNVX\n#endif\n#ifndef GL_NVX_gpu_memory_info\n#define GL_NVX_gpu_memory_info 1\nGLAPI int GLAD_GL_NVX_gpu_memory_info;\n#endif\n#ifndef GL_NVX_linked_gpu_multicast\n#define GL_NVX_linked_gpu_multicast 1\nGLAPI int GLAD_GL_NVX_linked_gpu_multicast;\ntypedef void (APIENTRYP PFNGLLGPUNAMEDBUFFERSUBDATANVXPROC)(GLbitfield gpuMask, GLuint buffer, GLintptr offset, GLsizeiptr size, const void *data);\nGLAPI PFNGLLGPUNAMEDBUFFERSUBDATANVXPROC glad_glLGPUNamedBufferSubDataNVX;\n#define glLGPUNamedBufferSubDataNVX glad_glLGPUNamedBufferSubDataNVX\ntypedef void (APIENTRYP PFNGLLGPUCOPYIMAGESUBDATANVXPROC)(GLuint sourceGpu, GLbitfield destinationGpuMask, GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srxY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth);\nGLAPI PFNGLLGPUCOPYIMAGESUBDATANVXPROC glad_glLGPUCopyImageSubDataNVX;\n#define glLGPUCopyImageSubDataNVX glad_glLGPUCopyImageSubDataNVX\ntypedef void (APIENTRYP PFNGLLGPUINTERLOCKNVXPROC)();\nGLAPI PFNGLLGPUINTERLOCKNVXPROC glad_glLGPUInterlockNVX;\n#define glLGPUInterlockNVX glad_glLGPUInterlockNVX\n#endif\n#ifndef GL_NV_alpha_to_coverage_dither_control\n#define GL_NV_alpha_to_coverage_dither_control 1\nGLAPI int GLAD_GL_NV_alpha_to_coverage_dither_control;\ntypedef void (APIENTRYP PFNGLALPHATOCOVERAGEDITHERCONTROLNVPROC)(GLenum mode);\nGLAPI PFNGLALPHATOCOVERAGEDITHERCONTROLNVPROC glad_glAlphaToCoverageDitherControlNV;\n#define glAlphaToCoverageDitherControlNV glad_glAlphaToCoverageDitherControlNV\n#endif\n#ifndef GL_NV_bindless_multi_draw_indirect\n#define GL_NV_bindless_multi_draw_indirect 1\nGLAPI int GLAD_GL_NV_bindless_multi_draw_indirect;\ntypedef void (APIENTRYP PFNGLMULTIDRAWARRAYSINDIRECTBINDLESSNVPROC)(GLenum mode, const void *indirect, GLsizei drawCount, GLsizei stride, GLint vertexBufferCount);\nGLAPI PFNGLMULTIDRAWARRAYSINDIRECTBINDLESSNVPROC glad_glMultiDrawArraysIndirectBindlessNV;\n#define glMultiDrawArraysIndirectBindlessNV glad_glMultiDrawArraysIndirectBindlessNV\ntypedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSINDIRECTBINDLESSNVPROC)(GLenum mode, GLenum type, const void *indirect, GLsizei drawCount, GLsizei stride, GLint vertexBufferCount);\nGLAPI PFNGLMULTIDRAWELEMENTSINDIRECTBINDLESSNVPROC glad_glMultiDrawElementsIndirectBindlessNV;\n#define glMultiDrawElementsIndirectBindlessNV glad_glMultiDrawElementsIndirectBindlessNV\n#endif\n#ifndef GL_NV_bindless_multi_draw_indirect_count\n#define GL_NV_bindless_multi_draw_indirect_count 1\nGLAPI int GLAD_GL_NV_bindless_multi_draw_indirect_count;\ntypedef void (APIENTRYP PFNGLMULTIDRAWARRAYSINDIRECTBINDLESSCOUNTNVPROC)(GLenum mode, const void *indirect, GLsizei drawCount, GLsizei maxDrawCount, GLsizei stride, GLint vertexBufferCount);\nGLAPI PFNGLMULTIDRAWARRAYSINDIRECTBINDLESSCOUNTNVPROC glad_glMultiDrawArraysIndirectBindlessCountNV;\n#define glMultiDrawArraysIndirectBindlessCountNV glad_glMultiDrawArraysIndirectBindlessCountNV\ntypedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSINDIRECTBINDLESSCOUNTNVPROC)(GLenum mode, GLenum type, const void *indirect, GLsizei drawCount, GLsizei maxDrawCount, GLsizei stride, GLint vertexBufferCount);\nGLAPI PFNGLMULTIDRAWELEMENTSINDIRECTBINDLESSCOUNTNVPROC glad_glMultiDrawElementsIndirectBindlessCountNV;\n#define glMultiDrawElementsIndirectBindlessCountNV glad_glMultiDrawElementsIndirectBindlessCountNV\n#endif\n#ifndef GL_NV_bindless_texture\n#define GL_NV_bindless_texture 1\nGLAPI int GLAD_GL_NV_bindless_texture;\ntypedef GLuint64 (APIENTRYP PFNGLGETTEXTUREHANDLENVPROC)(GLuint texture);\nGLAPI PFNGLGETTEXTUREHANDLENVPROC glad_glGetTextureHandleNV;\n#define glGetTextureHandleNV glad_glGetTextureHandleNV\ntypedef GLuint64 (APIENTRYP PFNGLGETTEXTURESAMPLERHANDLENVPROC)(GLuint texture, GLuint sampler);\nGLAPI PFNGLGETTEXTURESAMPLERHANDLENVPROC glad_glGetTextureSamplerHandleNV;\n#define glGetTextureSamplerHandleNV glad_glGetTextureSamplerHandleNV\ntypedef void (APIENTRYP PFNGLMAKETEXTUREHANDLERESIDENTNVPROC)(GLuint64 handle);\nGLAPI PFNGLMAKETEXTUREHANDLERESIDENTNVPROC glad_glMakeTextureHandleResidentNV;\n#define glMakeTextureHandleResidentNV glad_glMakeTextureHandleResidentNV\ntypedef void (APIENTRYP PFNGLMAKETEXTUREHANDLENONRESIDENTNVPROC)(GLuint64 handle);\nGLAPI PFNGLMAKETEXTUREHANDLENONRESIDENTNVPROC glad_glMakeTextureHandleNonResidentNV;\n#define glMakeTextureHandleNonResidentNV glad_glMakeTextureHandleNonResidentNV\ntypedef GLuint64 (APIENTRYP PFNGLGETIMAGEHANDLENVPROC)(GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum format);\nGLAPI PFNGLGETIMAGEHANDLENVPROC glad_glGetImageHandleNV;\n#define glGetImageHandleNV glad_glGetImageHandleNV\ntypedef void (APIENTRYP PFNGLMAKEIMAGEHANDLERESIDENTNVPROC)(GLuint64 handle, GLenum access);\nGLAPI PFNGLMAKEIMAGEHANDLERESIDENTNVPROC glad_glMakeImageHandleResidentNV;\n#define glMakeImageHandleResidentNV glad_glMakeImageHandleResidentNV\ntypedef void (APIENTRYP PFNGLMAKEIMAGEHANDLENONRESIDENTNVPROC)(GLuint64 handle);\nGLAPI PFNGLMAKEIMAGEHANDLENONRESIDENTNVPROC glad_glMakeImageHandleNonResidentNV;\n#define glMakeImageHandleNonResidentNV glad_glMakeImageHandleNonResidentNV\ntypedef void (APIENTRYP PFNGLUNIFORMHANDLEUI64NVPROC)(GLint location, GLuint64 value);\nGLAPI PFNGLUNIFORMHANDLEUI64NVPROC glad_glUniformHandleui64NV;\n#define glUniformHandleui64NV glad_glUniformHandleui64NV\ntypedef void (APIENTRYP PFNGLUNIFORMHANDLEUI64VNVPROC)(GLint location, GLsizei count, const GLuint64 *value);\nGLAPI PFNGLUNIFORMHANDLEUI64VNVPROC glad_glUniformHandleui64vNV;\n#define glUniformHandleui64vNV glad_glUniformHandleui64vNV\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMHANDLEUI64NVPROC)(GLuint program, GLint location, GLuint64 value);\nGLAPI PFNGLPROGRAMUNIFORMHANDLEUI64NVPROC glad_glProgramUniformHandleui64NV;\n#define glProgramUniformHandleui64NV glad_glProgramUniformHandleui64NV\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMHANDLEUI64VNVPROC)(GLuint program, GLint location, GLsizei count, const GLuint64 *values);\nGLAPI PFNGLPROGRAMUNIFORMHANDLEUI64VNVPROC glad_glProgramUniformHandleui64vNV;\n#define glProgramUniformHandleui64vNV glad_glProgramUniformHandleui64vNV\ntypedef GLboolean (APIENTRYP PFNGLISTEXTUREHANDLERESIDENTNVPROC)(GLuint64 handle);\nGLAPI PFNGLISTEXTUREHANDLERESIDENTNVPROC glad_glIsTextureHandleResidentNV;\n#define glIsTextureHandleResidentNV glad_glIsTextureHandleResidentNV\ntypedef GLboolean (APIENTRYP PFNGLISIMAGEHANDLERESIDENTNVPROC)(GLuint64 handle);\nGLAPI PFNGLISIMAGEHANDLERESIDENTNVPROC glad_glIsImageHandleResidentNV;\n#define glIsImageHandleResidentNV glad_glIsImageHandleResidentNV\n#endif\n#ifndef GL_NV_blend_equation_advanced\n#define GL_NV_blend_equation_advanced 1\nGLAPI int GLAD_GL_NV_blend_equation_advanced;\ntypedef void (APIENTRYP PFNGLBLENDPARAMETERINVPROC)(GLenum pname, GLint value);\nGLAPI PFNGLBLENDPARAMETERINVPROC glad_glBlendParameteriNV;\n#define glBlendParameteriNV glad_glBlendParameteriNV\ntypedef void (APIENTRYP PFNGLBLENDBARRIERNVPROC)();\nGLAPI PFNGLBLENDBARRIERNVPROC glad_glBlendBarrierNV;\n#define glBlendBarrierNV glad_glBlendBarrierNV\n#endif\n#ifndef GL_NV_blend_equation_advanced_coherent\n#define GL_NV_blend_equation_advanced_coherent 1\nGLAPI int GLAD_GL_NV_blend_equation_advanced_coherent;\n#endif\n#ifndef GL_NV_blend_minmax_factor\n#define GL_NV_blend_minmax_factor 1\nGLAPI int GLAD_GL_NV_blend_minmax_factor;\n#endif\n#ifndef GL_NV_blend_square\n#define GL_NV_blend_square 1\nGLAPI int GLAD_GL_NV_blend_square;\n#endif\n#ifndef GL_NV_clip_space_w_scaling\n#define GL_NV_clip_space_w_scaling 1\nGLAPI int GLAD_GL_NV_clip_space_w_scaling;\ntypedef void (APIENTRYP PFNGLVIEWPORTPOSITIONWSCALENVPROC)(GLuint index, GLfloat xcoeff, GLfloat ycoeff);\nGLAPI PFNGLVIEWPORTPOSITIONWSCALENVPROC glad_glViewportPositionWScaleNV;\n#define glViewportPositionWScaleNV glad_glViewportPositionWScaleNV\n#endif\n#ifndef GL_NV_command_list\n#define GL_NV_command_list 1\nGLAPI int GLAD_GL_NV_command_list;\ntypedef void (APIENTRYP PFNGLCREATESTATESNVPROC)(GLsizei n, GLuint *states);\nGLAPI PFNGLCREATESTATESNVPROC glad_glCreateStatesNV;\n#define glCreateStatesNV glad_glCreateStatesNV\ntypedef void (APIENTRYP PFNGLDELETESTATESNVPROC)(GLsizei n, const GLuint *states);\nGLAPI PFNGLDELETESTATESNVPROC glad_glDeleteStatesNV;\n#define glDeleteStatesNV glad_glDeleteStatesNV\ntypedef GLboolean (APIENTRYP PFNGLISSTATENVPROC)(GLuint state);\nGLAPI PFNGLISSTATENVPROC glad_glIsStateNV;\n#define glIsStateNV glad_glIsStateNV\ntypedef void (APIENTRYP PFNGLSTATECAPTURENVPROC)(GLuint state, GLenum mode);\nGLAPI PFNGLSTATECAPTURENVPROC glad_glStateCaptureNV;\n#define glStateCaptureNV glad_glStateCaptureNV\ntypedef GLuint (APIENTRYP PFNGLGETCOMMANDHEADERNVPROC)(GLenum tokenID, GLuint size);\nGLAPI PFNGLGETCOMMANDHEADERNVPROC glad_glGetCommandHeaderNV;\n#define glGetCommandHeaderNV glad_glGetCommandHeaderNV\ntypedef GLushort (APIENTRYP PFNGLGETSTAGEINDEXNVPROC)(GLenum shadertype);\nGLAPI PFNGLGETSTAGEINDEXNVPROC glad_glGetStageIndexNV;\n#define glGetStageIndexNV glad_glGetStageIndexNV\ntypedef void (APIENTRYP PFNGLDRAWCOMMANDSNVPROC)(GLenum primitiveMode, GLuint buffer, const GLintptr *indirects, const GLsizei *sizes, GLuint count);\nGLAPI PFNGLDRAWCOMMANDSNVPROC glad_glDrawCommandsNV;\n#define glDrawCommandsNV glad_glDrawCommandsNV\ntypedef void (APIENTRYP PFNGLDRAWCOMMANDSADDRESSNVPROC)(GLenum primitiveMode, const GLuint64 *indirects, const GLsizei *sizes, GLuint count);\nGLAPI PFNGLDRAWCOMMANDSADDRESSNVPROC glad_glDrawCommandsAddressNV;\n#define glDrawCommandsAddressNV glad_glDrawCommandsAddressNV\ntypedef void (APIENTRYP PFNGLDRAWCOMMANDSSTATESNVPROC)(GLuint buffer, const GLintptr *indirects, const GLsizei *sizes, const GLuint *states, const GLuint *fbos, GLuint count);\nGLAPI PFNGLDRAWCOMMANDSSTATESNVPROC glad_glDrawCommandsStatesNV;\n#define glDrawCommandsStatesNV glad_glDrawCommandsStatesNV\ntypedef void (APIENTRYP PFNGLDRAWCOMMANDSSTATESADDRESSNVPROC)(const GLuint64 *indirects, const GLsizei *sizes, const GLuint *states, const GLuint *fbos, GLuint count);\nGLAPI PFNGLDRAWCOMMANDSSTATESADDRESSNVPROC glad_glDrawCommandsStatesAddressNV;\n#define glDrawCommandsStatesAddressNV glad_glDrawCommandsStatesAddressNV\ntypedef void (APIENTRYP PFNGLCREATECOMMANDLISTSNVPROC)(GLsizei n, GLuint *lists);\nGLAPI PFNGLCREATECOMMANDLISTSNVPROC glad_glCreateCommandListsNV;\n#define glCreateCommandListsNV glad_glCreateCommandListsNV\ntypedef void (APIENTRYP PFNGLDELETECOMMANDLISTSNVPROC)(GLsizei n, const GLuint *lists);\nGLAPI PFNGLDELETECOMMANDLISTSNVPROC glad_glDeleteCommandListsNV;\n#define glDeleteCommandListsNV glad_glDeleteCommandListsNV\ntypedef GLboolean (APIENTRYP PFNGLISCOMMANDLISTNVPROC)(GLuint list);\nGLAPI PFNGLISCOMMANDLISTNVPROC glad_glIsCommandListNV;\n#define glIsCommandListNV glad_glIsCommandListNV\ntypedef void (APIENTRYP PFNGLLISTDRAWCOMMANDSSTATESCLIENTNVPROC)(GLuint list, GLuint segment, const void **indirects, const GLsizei *sizes, const GLuint *states, const GLuint *fbos, GLuint count);\nGLAPI PFNGLLISTDRAWCOMMANDSSTATESCLIENTNVPROC glad_glListDrawCommandsStatesClientNV;\n#define glListDrawCommandsStatesClientNV glad_glListDrawCommandsStatesClientNV\ntypedef void (APIENTRYP PFNGLCOMMANDLISTSEGMENTSNVPROC)(GLuint list, GLuint segments);\nGLAPI PFNGLCOMMANDLISTSEGMENTSNVPROC glad_glCommandListSegmentsNV;\n#define glCommandListSegmentsNV glad_glCommandListSegmentsNV\ntypedef void (APIENTRYP PFNGLCOMPILECOMMANDLISTNVPROC)(GLuint list);\nGLAPI PFNGLCOMPILECOMMANDLISTNVPROC glad_glCompileCommandListNV;\n#define glCompileCommandListNV glad_glCompileCommandListNV\ntypedef void (APIENTRYP PFNGLCALLCOMMANDLISTNVPROC)(GLuint list);\nGLAPI PFNGLCALLCOMMANDLISTNVPROC glad_glCallCommandListNV;\n#define glCallCommandListNV glad_glCallCommandListNV\n#endif\n#ifndef GL_NV_compute_program5\n#define GL_NV_compute_program5 1\nGLAPI int GLAD_GL_NV_compute_program5;\n#endif\n#ifndef GL_NV_conditional_render\n#define GL_NV_conditional_render 1\nGLAPI int GLAD_GL_NV_conditional_render;\ntypedef void (APIENTRYP PFNGLBEGINCONDITIONALRENDERNVPROC)(GLuint id, GLenum mode);\nGLAPI PFNGLBEGINCONDITIONALRENDERNVPROC glad_glBeginConditionalRenderNV;\n#define glBeginConditionalRenderNV glad_glBeginConditionalRenderNV\ntypedef void (APIENTRYP PFNGLENDCONDITIONALRENDERNVPROC)();\nGLAPI PFNGLENDCONDITIONALRENDERNVPROC glad_glEndConditionalRenderNV;\n#define glEndConditionalRenderNV glad_glEndConditionalRenderNV\n#endif\n#ifndef GL_NV_conservative_raster\n#define GL_NV_conservative_raster 1\nGLAPI int GLAD_GL_NV_conservative_raster;\ntypedef void (APIENTRYP PFNGLSUBPIXELPRECISIONBIASNVPROC)(GLuint xbits, GLuint ybits);\nGLAPI PFNGLSUBPIXELPRECISIONBIASNVPROC glad_glSubpixelPrecisionBiasNV;\n#define glSubpixelPrecisionBiasNV glad_glSubpixelPrecisionBiasNV\n#endif\n#ifndef GL_NV_conservative_raster_dilate\n#define GL_NV_conservative_raster_dilate 1\nGLAPI int GLAD_GL_NV_conservative_raster_dilate;\ntypedef void (APIENTRYP PFNGLCONSERVATIVERASTERPARAMETERFNVPROC)(GLenum pname, GLfloat value);\nGLAPI PFNGLCONSERVATIVERASTERPARAMETERFNVPROC glad_glConservativeRasterParameterfNV;\n#define glConservativeRasterParameterfNV glad_glConservativeRasterParameterfNV\n#endif\n#ifndef GL_NV_conservative_raster_pre_snap_triangles\n#define GL_NV_conservative_raster_pre_snap_triangles 1\nGLAPI int GLAD_GL_NV_conservative_raster_pre_snap_triangles;\ntypedef void (APIENTRYP PFNGLCONSERVATIVERASTERPARAMETERINVPROC)(GLenum pname, GLint param);\nGLAPI PFNGLCONSERVATIVERASTERPARAMETERINVPROC glad_glConservativeRasterParameteriNV;\n#define glConservativeRasterParameteriNV glad_glConservativeRasterParameteriNV\n#endif\n#ifndef GL_NV_copy_depth_to_color\n#define GL_NV_copy_depth_to_color 1\nGLAPI int GLAD_GL_NV_copy_depth_to_color;\n#endif\n#ifndef GL_NV_copy_image\n#define GL_NV_copy_image 1\nGLAPI int GLAD_GL_NV_copy_image;\ntypedef void (APIENTRYP PFNGLCOPYIMAGESUBDATANVPROC)(GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth);\nGLAPI PFNGLCOPYIMAGESUBDATANVPROC glad_glCopyImageSubDataNV;\n#define glCopyImageSubDataNV glad_glCopyImageSubDataNV\n#endif\n#ifndef GL_NV_deep_texture3D\n#define GL_NV_deep_texture3D 1\nGLAPI int GLAD_GL_NV_deep_texture3D;\n#endif\n#ifndef GL_NV_depth_buffer_float\n#define GL_NV_depth_buffer_float 1\nGLAPI int GLAD_GL_NV_depth_buffer_float;\ntypedef void (APIENTRYP PFNGLDEPTHRANGEDNVPROC)(GLdouble zNear, GLdouble zFar);\nGLAPI PFNGLDEPTHRANGEDNVPROC glad_glDepthRangedNV;\n#define glDepthRangedNV glad_glDepthRangedNV\ntypedef void (APIENTRYP PFNGLCLEARDEPTHDNVPROC)(GLdouble depth);\nGLAPI PFNGLCLEARDEPTHDNVPROC glad_glClearDepthdNV;\n#define glClearDepthdNV glad_glClearDepthdNV\ntypedef void (APIENTRYP PFNGLDEPTHBOUNDSDNVPROC)(GLdouble zmin, GLdouble zmax);\nGLAPI PFNGLDEPTHBOUNDSDNVPROC glad_glDepthBoundsdNV;\n#define glDepthBoundsdNV glad_glDepthBoundsdNV\n#endif\n#ifndef GL_NV_depth_clamp\n#define GL_NV_depth_clamp 1\nGLAPI int GLAD_GL_NV_depth_clamp;\n#endif\n#ifndef GL_NV_draw_texture\n#define GL_NV_draw_texture 1\nGLAPI int GLAD_GL_NV_draw_texture;\ntypedef void (APIENTRYP PFNGLDRAWTEXTURENVPROC)(GLuint texture, GLuint sampler, GLfloat x0, GLfloat y0, GLfloat x1, GLfloat y1, GLfloat z, GLfloat s0, GLfloat t0, GLfloat s1, GLfloat t1);\nGLAPI PFNGLDRAWTEXTURENVPROC glad_glDrawTextureNV;\n#define glDrawTextureNV glad_glDrawTextureNV\n#endif\n#ifndef GL_NV_draw_vulkan_image\n#define GL_NV_draw_vulkan_image 1\nGLAPI int GLAD_GL_NV_draw_vulkan_image;\ntypedef void (APIENTRYP PFNGLDRAWVKIMAGENVPROC)(GLuint64 vkImage, GLuint sampler, GLfloat x0, GLfloat y0, GLfloat x1, GLfloat y1, GLfloat z, GLfloat s0, GLfloat t0, GLfloat s1, GLfloat t1);\nGLAPI PFNGLDRAWVKIMAGENVPROC glad_glDrawVkImageNV;\n#define glDrawVkImageNV glad_glDrawVkImageNV\ntypedef GLVULKANPROCNV (APIENTRYP PFNGLGETVKPROCADDRNVPROC)(const GLchar *name);\nGLAPI PFNGLGETVKPROCADDRNVPROC glad_glGetVkProcAddrNV;\n#define glGetVkProcAddrNV glad_glGetVkProcAddrNV\ntypedef void (APIENTRYP PFNGLWAITVKSEMAPHORENVPROC)(GLuint64 vkSemaphore);\nGLAPI PFNGLWAITVKSEMAPHORENVPROC glad_glWaitVkSemaphoreNV;\n#define glWaitVkSemaphoreNV glad_glWaitVkSemaphoreNV\ntypedef void (APIENTRYP PFNGLSIGNALVKSEMAPHORENVPROC)(GLuint64 vkSemaphore);\nGLAPI PFNGLSIGNALVKSEMAPHORENVPROC glad_glSignalVkSemaphoreNV;\n#define glSignalVkSemaphoreNV glad_glSignalVkSemaphoreNV\ntypedef void (APIENTRYP PFNGLSIGNALVKFENCENVPROC)(GLuint64 vkFence);\nGLAPI PFNGLSIGNALVKFENCENVPROC glad_glSignalVkFenceNV;\n#define glSignalVkFenceNV glad_glSignalVkFenceNV\n#endif\n#ifndef GL_NV_evaluators\n#define GL_NV_evaluators 1\nGLAPI int GLAD_GL_NV_evaluators;\ntypedef void (APIENTRYP PFNGLMAPCONTROLPOINTSNVPROC)(GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLint uorder, GLint vorder, GLboolean packed, const void *points);\nGLAPI PFNGLMAPCONTROLPOINTSNVPROC glad_glMapControlPointsNV;\n#define glMapControlPointsNV glad_glMapControlPointsNV\ntypedef void (APIENTRYP PFNGLMAPPARAMETERIVNVPROC)(GLenum target, GLenum pname, const GLint *params);\nGLAPI PFNGLMAPPARAMETERIVNVPROC glad_glMapParameterivNV;\n#define glMapParameterivNV glad_glMapParameterivNV\ntypedef void (APIENTRYP PFNGLMAPPARAMETERFVNVPROC)(GLenum target, GLenum pname, const GLfloat *params);\nGLAPI PFNGLMAPPARAMETERFVNVPROC glad_glMapParameterfvNV;\n#define glMapParameterfvNV glad_glMapParameterfvNV\ntypedef void (APIENTRYP PFNGLGETMAPCONTROLPOINTSNVPROC)(GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLboolean packed, void *points);\nGLAPI PFNGLGETMAPCONTROLPOINTSNVPROC glad_glGetMapControlPointsNV;\n#define glGetMapControlPointsNV glad_glGetMapControlPointsNV\ntypedef void (APIENTRYP PFNGLGETMAPPARAMETERIVNVPROC)(GLenum target, GLenum pname, GLint *params);\nGLAPI PFNGLGETMAPPARAMETERIVNVPROC glad_glGetMapParameterivNV;\n#define glGetMapParameterivNV glad_glGetMapParameterivNV\ntypedef void (APIENTRYP PFNGLGETMAPPARAMETERFVNVPROC)(GLenum target, GLenum pname, GLfloat *params);\nGLAPI PFNGLGETMAPPARAMETERFVNVPROC glad_glGetMapParameterfvNV;\n#define glGetMapParameterfvNV glad_glGetMapParameterfvNV\ntypedef void (APIENTRYP PFNGLGETMAPATTRIBPARAMETERIVNVPROC)(GLenum target, GLuint index, GLenum pname, GLint *params);\nGLAPI PFNGLGETMAPATTRIBPARAMETERIVNVPROC glad_glGetMapAttribParameterivNV;\n#define glGetMapAttribParameterivNV glad_glGetMapAttribParameterivNV\ntypedef void (APIENTRYP PFNGLGETMAPATTRIBPARAMETERFVNVPROC)(GLenum target, GLuint index, GLenum pname, GLfloat *params);\nGLAPI PFNGLGETMAPATTRIBPARAMETERFVNVPROC glad_glGetMapAttribParameterfvNV;\n#define glGetMapAttribParameterfvNV glad_glGetMapAttribParameterfvNV\ntypedef void (APIENTRYP PFNGLEVALMAPSNVPROC)(GLenum target, GLenum mode);\nGLAPI PFNGLEVALMAPSNVPROC glad_glEvalMapsNV;\n#define glEvalMapsNV glad_glEvalMapsNV\n#endif\n#ifndef GL_NV_explicit_multisample\n#define GL_NV_explicit_multisample 1\nGLAPI int GLAD_GL_NV_explicit_multisample;\ntypedef void (APIENTRYP PFNGLGETMULTISAMPLEFVNVPROC)(GLenum pname, GLuint index, GLfloat *val);\nGLAPI PFNGLGETMULTISAMPLEFVNVPROC glad_glGetMultisamplefvNV;\n#define glGetMultisamplefvNV glad_glGetMultisamplefvNV\ntypedef void (APIENTRYP PFNGLSAMPLEMASKINDEXEDNVPROC)(GLuint index, GLbitfield mask);\nGLAPI PFNGLSAMPLEMASKINDEXEDNVPROC glad_glSampleMaskIndexedNV;\n#define glSampleMaskIndexedNV glad_glSampleMaskIndexedNV\ntypedef void (APIENTRYP PFNGLTEXRENDERBUFFERNVPROC)(GLenum target, GLuint renderbuffer);\nGLAPI PFNGLTEXRENDERBUFFERNVPROC glad_glTexRenderbufferNV;\n#define glTexRenderbufferNV glad_glTexRenderbufferNV\n#endif\n#ifndef GL_NV_fence\n#define GL_NV_fence 1\nGLAPI int GLAD_GL_NV_fence;\ntypedef void (APIENTRYP PFNGLDELETEFENCESNVPROC)(GLsizei n, const GLuint *fences);\nGLAPI PFNGLDELETEFENCESNVPROC glad_glDeleteFencesNV;\n#define glDeleteFencesNV glad_glDeleteFencesNV\ntypedef void (APIENTRYP PFNGLGENFENCESNVPROC)(GLsizei n, GLuint *fences);\nGLAPI PFNGLGENFENCESNVPROC glad_glGenFencesNV;\n#define glGenFencesNV glad_glGenFencesNV\ntypedef GLboolean (APIENTRYP PFNGLISFENCENVPROC)(GLuint fence);\nGLAPI PFNGLISFENCENVPROC glad_glIsFenceNV;\n#define glIsFenceNV glad_glIsFenceNV\ntypedef GLboolean (APIENTRYP PFNGLTESTFENCENVPROC)(GLuint fence);\nGLAPI PFNGLTESTFENCENVPROC glad_glTestFenceNV;\n#define glTestFenceNV glad_glTestFenceNV\ntypedef void (APIENTRYP PFNGLGETFENCEIVNVPROC)(GLuint fence, GLenum pname, GLint *params);\nGLAPI PFNGLGETFENCEIVNVPROC glad_glGetFenceivNV;\n#define glGetFenceivNV glad_glGetFenceivNV\ntypedef void (APIENTRYP PFNGLFINISHFENCENVPROC)(GLuint fence);\nGLAPI PFNGLFINISHFENCENVPROC glad_glFinishFenceNV;\n#define glFinishFenceNV glad_glFinishFenceNV\ntypedef void (APIENTRYP PFNGLSETFENCENVPROC)(GLuint fence, GLenum condition);\nGLAPI PFNGLSETFENCENVPROC glad_glSetFenceNV;\n#define glSetFenceNV glad_glSetFenceNV\n#endif\n#ifndef GL_NV_fill_rectangle\n#define GL_NV_fill_rectangle 1\nGLAPI int GLAD_GL_NV_fill_rectangle;\n#endif\n#ifndef GL_NV_float_buffer\n#define GL_NV_float_buffer 1\nGLAPI int GLAD_GL_NV_float_buffer;\n#endif\n#ifndef GL_NV_fog_distance\n#define GL_NV_fog_distance 1\nGLAPI int GLAD_GL_NV_fog_distance;\n#endif\n#ifndef GL_NV_fragment_coverage_to_color\n#define GL_NV_fragment_coverage_to_color 1\nGLAPI int GLAD_GL_NV_fragment_coverage_to_color;\ntypedef void (APIENTRYP PFNGLFRAGMENTCOVERAGECOLORNVPROC)(GLuint color);\nGLAPI PFNGLFRAGMENTCOVERAGECOLORNVPROC glad_glFragmentCoverageColorNV;\n#define glFragmentCoverageColorNV glad_glFragmentCoverageColorNV\n#endif\n#ifndef GL_NV_fragment_program\n#define GL_NV_fragment_program 1\nGLAPI int GLAD_GL_NV_fragment_program;\ntypedef void (APIENTRYP PFNGLPROGRAMNAMEDPARAMETER4FNVPROC)(GLuint id, GLsizei len, const GLubyte *name, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nGLAPI PFNGLPROGRAMNAMEDPARAMETER4FNVPROC glad_glProgramNamedParameter4fNV;\n#define glProgramNamedParameter4fNV glad_glProgramNamedParameter4fNV\ntypedef void (APIENTRYP PFNGLPROGRAMNAMEDPARAMETER4FVNVPROC)(GLuint id, GLsizei len, const GLubyte *name, const GLfloat *v);\nGLAPI PFNGLPROGRAMNAMEDPARAMETER4FVNVPROC glad_glProgramNamedParameter4fvNV;\n#define glProgramNamedParameter4fvNV glad_glProgramNamedParameter4fvNV\ntypedef void (APIENTRYP PFNGLPROGRAMNAMEDPARAMETER4DNVPROC)(GLuint id, GLsizei len, const GLubyte *name, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nGLAPI PFNGLPROGRAMNAMEDPARAMETER4DNVPROC glad_glProgramNamedParameter4dNV;\n#define glProgramNamedParameter4dNV glad_glProgramNamedParameter4dNV\ntypedef void (APIENTRYP PFNGLPROGRAMNAMEDPARAMETER4DVNVPROC)(GLuint id, GLsizei len, const GLubyte *name, const GLdouble *v);\nGLAPI PFNGLPROGRAMNAMEDPARAMETER4DVNVPROC glad_glProgramNamedParameter4dvNV;\n#define glProgramNamedParameter4dvNV glad_glProgramNamedParameter4dvNV\ntypedef void (APIENTRYP PFNGLGETPROGRAMNAMEDPARAMETERFVNVPROC)(GLuint id, GLsizei len, const GLubyte *name, GLfloat *params);\nGLAPI PFNGLGETPROGRAMNAMEDPARAMETERFVNVPROC glad_glGetProgramNamedParameterfvNV;\n#define glGetProgramNamedParameterfvNV glad_glGetProgramNamedParameterfvNV\ntypedef void (APIENTRYP PFNGLGETPROGRAMNAMEDPARAMETERDVNVPROC)(GLuint id, GLsizei len, const GLubyte *name, GLdouble *params);\nGLAPI PFNGLGETPROGRAMNAMEDPARAMETERDVNVPROC glad_glGetProgramNamedParameterdvNV;\n#define glGetProgramNamedParameterdvNV glad_glGetProgramNamedParameterdvNV\n#endif\n#ifndef GL_NV_fragment_program2\n#define GL_NV_fragment_program2 1\nGLAPI int GLAD_GL_NV_fragment_program2;\n#endif\n#ifndef GL_NV_fragment_program4\n#define GL_NV_fragment_program4 1\nGLAPI int GLAD_GL_NV_fragment_program4;\n#endif\n#ifndef GL_NV_fragment_program_option\n#define GL_NV_fragment_program_option 1\nGLAPI int GLAD_GL_NV_fragment_program_option;\n#endif\n#ifndef GL_NV_fragment_shader_interlock\n#define GL_NV_fragment_shader_interlock 1\nGLAPI int GLAD_GL_NV_fragment_shader_interlock;\n#endif\n#ifndef GL_NV_framebuffer_mixed_samples\n#define GL_NV_framebuffer_mixed_samples 1\nGLAPI int GLAD_GL_NV_framebuffer_mixed_samples;\ntypedef void (APIENTRYP PFNGLCOVERAGEMODULATIONTABLENVPROC)(GLsizei n, const GLfloat *v);\nGLAPI PFNGLCOVERAGEMODULATIONTABLENVPROC glad_glCoverageModulationTableNV;\n#define glCoverageModulationTableNV glad_glCoverageModulationTableNV\ntypedef void (APIENTRYP PFNGLGETCOVERAGEMODULATIONTABLENVPROC)(GLsizei bufsize, GLfloat *v);\nGLAPI PFNGLGETCOVERAGEMODULATIONTABLENVPROC glad_glGetCoverageModulationTableNV;\n#define glGetCoverageModulationTableNV glad_glGetCoverageModulationTableNV\ntypedef void (APIENTRYP PFNGLCOVERAGEMODULATIONNVPROC)(GLenum components);\nGLAPI PFNGLCOVERAGEMODULATIONNVPROC glad_glCoverageModulationNV;\n#define glCoverageModulationNV glad_glCoverageModulationNV\n#endif\n#ifndef GL_NV_framebuffer_multisample_coverage\n#define GL_NV_framebuffer_multisample_coverage 1\nGLAPI int GLAD_GL_NV_framebuffer_multisample_coverage;\ntypedef void (APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLECOVERAGENVPROC)(GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height);\nGLAPI PFNGLRENDERBUFFERSTORAGEMULTISAMPLECOVERAGENVPROC glad_glRenderbufferStorageMultisampleCoverageNV;\n#define glRenderbufferStorageMultisampleCoverageNV glad_glRenderbufferStorageMultisampleCoverageNV\n#endif\n#ifndef GL_NV_geometry_program4\n#define GL_NV_geometry_program4 1\nGLAPI int GLAD_GL_NV_geometry_program4;\ntypedef void (APIENTRYP PFNGLPROGRAMVERTEXLIMITNVPROC)(GLenum target, GLint limit);\nGLAPI PFNGLPROGRAMVERTEXLIMITNVPROC glad_glProgramVertexLimitNV;\n#define glProgramVertexLimitNV glad_glProgramVertexLimitNV\ntypedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTUREEXTPROC)(GLenum target, GLenum attachment, GLuint texture, GLint level);\nGLAPI PFNGLFRAMEBUFFERTEXTUREEXTPROC glad_glFramebufferTextureEXT;\n#define glFramebufferTextureEXT glad_glFramebufferTextureEXT\ntypedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTUREFACEEXTPROC)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face);\nGLAPI PFNGLFRAMEBUFFERTEXTUREFACEEXTPROC glad_glFramebufferTextureFaceEXT;\n#define glFramebufferTextureFaceEXT glad_glFramebufferTextureFaceEXT\n#endif\n#ifndef GL_NV_geometry_shader4\n#define GL_NV_geometry_shader4 1\nGLAPI int GLAD_GL_NV_geometry_shader4;\n#endif\n#ifndef GL_NV_geometry_shader_passthrough\n#define GL_NV_geometry_shader_passthrough 1\nGLAPI int GLAD_GL_NV_geometry_shader_passthrough;\n#endif\n#ifndef GL_NV_gpu_multicast\n#define GL_NV_gpu_multicast 1\nGLAPI int GLAD_GL_NV_gpu_multicast;\ntypedef void (APIENTRYP PFNGLRENDERGPUMASKNVPROC)(GLbitfield mask);\nGLAPI PFNGLRENDERGPUMASKNVPROC glad_glRenderGpuMaskNV;\n#define glRenderGpuMaskNV glad_glRenderGpuMaskNV\ntypedef void (APIENTRYP PFNGLMULTICASTBUFFERSUBDATANVPROC)(GLbitfield gpuMask, GLuint buffer, GLintptr offset, GLsizeiptr size, const GLvoid *data);\nGLAPI PFNGLMULTICASTBUFFERSUBDATANVPROC glad_glMulticastBufferSubDataNV;\n#define glMulticastBufferSubDataNV glad_glMulticastBufferSubDataNV\ntypedef void (APIENTRYP PFNGLMULTICASTCOPYBUFFERSUBDATANVPROC)(GLuint readGpu, GLbitfield writeGpuMask, GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);\nGLAPI PFNGLMULTICASTCOPYBUFFERSUBDATANVPROC glad_glMulticastCopyBufferSubDataNV;\n#define glMulticastCopyBufferSubDataNV glad_glMulticastCopyBufferSubDataNV\ntypedef void (APIENTRYP PFNGLMULTICASTCOPYIMAGESUBDATANVPROC)(GLuint srcGpu, GLbitfield dstGpuMask, GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth);\nGLAPI PFNGLMULTICASTCOPYIMAGESUBDATANVPROC glad_glMulticastCopyImageSubDataNV;\n#define glMulticastCopyImageSubDataNV glad_glMulticastCopyImageSubDataNV\ntypedef void (APIENTRYP PFNGLMULTICASTBLITFRAMEBUFFERNVPROC)(GLuint srcGpu, GLuint dstGpu, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);\nGLAPI PFNGLMULTICASTBLITFRAMEBUFFERNVPROC glad_glMulticastBlitFramebufferNV;\n#define glMulticastBlitFramebufferNV glad_glMulticastBlitFramebufferNV\ntypedef void (APIENTRYP PFNGLMULTICASTFRAMEBUFFERSAMPLELOCATIONSFVNVPROC)(GLuint gpu, GLuint framebuffer, GLuint start, GLsizei count, const GLfloat *v);\nGLAPI PFNGLMULTICASTFRAMEBUFFERSAMPLELOCATIONSFVNVPROC glad_glMulticastFramebufferSampleLocationsfvNV;\n#define glMulticastFramebufferSampleLocationsfvNV glad_glMulticastFramebufferSampleLocationsfvNV\ntypedef void (APIENTRYP PFNGLMULTICASTBARRIERNVPROC)();\nGLAPI PFNGLMULTICASTBARRIERNVPROC glad_glMulticastBarrierNV;\n#define glMulticastBarrierNV glad_glMulticastBarrierNV\ntypedef void (APIENTRYP PFNGLMULTICASTWAITSYNCNVPROC)(GLuint signalGpu, GLbitfield waitGpuMask);\nGLAPI PFNGLMULTICASTWAITSYNCNVPROC glad_glMulticastWaitSyncNV;\n#define glMulticastWaitSyncNV glad_glMulticastWaitSyncNV\ntypedef void (APIENTRYP PFNGLMULTICASTGETQUERYOBJECTIVNVPROC)(GLuint gpu, GLuint id, GLenum pname, GLint *params);\nGLAPI PFNGLMULTICASTGETQUERYOBJECTIVNVPROC glad_glMulticastGetQueryObjectivNV;\n#define glMulticastGetQueryObjectivNV glad_glMulticastGetQueryObjectivNV\ntypedef void (APIENTRYP PFNGLMULTICASTGETQUERYOBJECTUIVNVPROC)(GLuint gpu, GLuint id, GLenum pname, GLuint *params);\nGLAPI PFNGLMULTICASTGETQUERYOBJECTUIVNVPROC glad_glMulticastGetQueryObjectuivNV;\n#define glMulticastGetQueryObjectuivNV glad_glMulticastGetQueryObjectuivNV\ntypedef void (APIENTRYP PFNGLMULTICASTGETQUERYOBJECTI64VNVPROC)(GLuint gpu, GLuint id, GLenum pname, GLint64 *params);\nGLAPI PFNGLMULTICASTGETQUERYOBJECTI64VNVPROC glad_glMulticastGetQueryObjecti64vNV;\n#define glMulticastGetQueryObjecti64vNV glad_glMulticastGetQueryObjecti64vNV\ntypedef void (APIENTRYP PFNGLMULTICASTGETQUERYOBJECTUI64VNVPROC)(GLuint gpu, GLuint id, GLenum pname, GLuint64 *params);\nGLAPI PFNGLMULTICASTGETQUERYOBJECTUI64VNVPROC glad_glMulticastGetQueryObjectui64vNV;\n#define glMulticastGetQueryObjectui64vNV glad_glMulticastGetQueryObjectui64vNV\n#endif\n#ifndef GL_NV_gpu_program4\n#define GL_NV_gpu_program4 1\nGLAPI int GLAD_GL_NV_gpu_program4;\ntypedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETERI4INVPROC)(GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w);\nGLAPI PFNGLPROGRAMLOCALPARAMETERI4INVPROC glad_glProgramLocalParameterI4iNV;\n#define glProgramLocalParameterI4iNV glad_glProgramLocalParameterI4iNV\ntypedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETERI4IVNVPROC)(GLenum target, GLuint index, const GLint *params);\nGLAPI PFNGLPROGRAMLOCALPARAMETERI4IVNVPROC glad_glProgramLocalParameterI4ivNV;\n#define glProgramLocalParameterI4ivNV glad_glProgramLocalParameterI4ivNV\ntypedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETERSI4IVNVPROC)(GLenum target, GLuint index, GLsizei count, const GLint *params);\nGLAPI PFNGLPROGRAMLOCALPARAMETERSI4IVNVPROC glad_glProgramLocalParametersI4ivNV;\n#define glProgramLocalParametersI4ivNV glad_glProgramLocalParametersI4ivNV\ntypedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETERI4UINVPROC)(GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);\nGLAPI PFNGLPROGRAMLOCALPARAMETERI4UINVPROC glad_glProgramLocalParameterI4uiNV;\n#define glProgramLocalParameterI4uiNV glad_glProgramLocalParameterI4uiNV\ntypedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETERI4UIVNVPROC)(GLenum target, GLuint index, const GLuint *params);\nGLAPI PFNGLPROGRAMLOCALPARAMETERI4UIVNVPROC glad_glProgramLocalParameterI4uivNV;\n#define glProgramLocalParameterI4uivNV glad_glProgramLocalParameterI4uivNV\ntypedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETERSI4UIVNVPROC)(GLenum target, GLuint index, GLsizei count, const GLuint *params);\nGLAPI PFNGLPROGRAMLOCALPARAMETERSI4UIVNVPROC glad_glProgramLocalParametersI4uivNV;\n#define glProgramLocalParametersI4uivNV glad_glProgramLocalParametersI4uivNV\ntypedef void (APIENTRYP PFNGLPROGRAMENVPARAMETERI4INVPROC)(GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w);\nGLAPI PFNGLPROGRAMENVPARAMETERI4INVPROC glad_glProgramEnvParameterI4iNV;\n#define glProgramEnvParameterI4iNV glad_glProgramEnvParameterI4iNV\ntypedef void (APIENTRYP PFNGLPROGRAMENVPARAMETERI4IVNVPROC)(GLenum target, GLuint index, const GLint *params);\nGLAPI PFNGLPROGRAMENVPARAMETERI4IVNVPROC glad_glProgramEnvParameterI4ivNV;\n#define glProgramEnvParameterI4ivNV glad_glProgramEnvParameterI4ivNV\ntypedef void (APIENTRYP PFNGLPROGRAMENVPARAMETERSI4IVNVPROC)(GLenum target, GLuint index, GLsizei count, const GLint *params);\nGLAPI PFNGLPROGRAMENVPARAMETERSI4IVNVPROC glad_glProgramEnvParametersI4ivNV;\n#define glProgramEnvParametersI4ivNV glad_glProgramEnvParametersI4ivNV\ntypedef void (APIENTRYP PFNGLPROGRAMENVPARAMETERI4UINVPROC)(GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);\nGLAPI PFNGLPROGRAMENVPARAMETERI4UINVPROC glad_glProgramEnvParameterI4uiNV;\n#define glProgramEnvParameterI4uiNV glad_glProgramEnvParameterI4uiNV\ntypedef void (APIENTRYP PFNGLPROGRAMENVPARAMETERI4UIVNVPROC)(GLenum target, GLuint index, const GLuint *params);\nGLAPI PFNGLPROGRAMENVPARAMETERI4UIVNVPROC glad_glProgramEnvParameterI4uivNV;\n#define glProgramEnvParameterI4uivNV glad_glProgramEnvParameterI4uivNV\ntypedef void (APIENTRYP PFNGLPROGRAMENVPARAMETERSI4UIVNVPROC)(GLenum target, GLuint index, GLsizei count, const GLuint *params);\nGLAPI PFNGLPROGRAMENVPARAMETERSI4UIVNVPROC glad_glProgramEnvParametersI4uivNV;\n#define glProgramEnvParametersI4uivNV glad_glProgramEnvParametersI4uivNV\ntypedef void (APIENTRYP PFNGLGETPROGRAMLOCALPARAMETERIIVNVPROC)(GLenum target, GLuint index, GLint *params);\nGLAPI PFNGLGETPROGRAMLOCALPARAMETERIIVNVPROC glad_glGetProgramLocalParameterIivNV;\n#define glGetProgramLocalParameterIivNV glad_glGetProgramLocalParameterIivNV\ntypedef void (APIENTRYP PFNGLGETPROGRAMLOCALPARAMETERIUIVNVPROC)(GLenum target, GLuint index, GLuint *params);\nGLAPI PFNGLGETPROGRAMLOCALPARAMETERIUIVNVPROC glad_glGetProgramLocalParameterIuivNV;\n#define glGetProgramLocalParameterIuivNV glad_glGetProgramLocalParameterIuivNV\ntypedef void (APIENTRYP PFNGLGETPROGRAMENVPARAMETERIIVNVPROC)(GLenum target, GLuint index, GLint *params);\nGLAPI PFNGLGETPROGRAMENVPARAMETERIIVNVPROC glad_glGetProgramEnvParameterIivNV;\n#define glGetProgramEnvParameterIivNV glad_glGetProgramEnvParameterIivNV\ntypedef void (APIENTRYP PFNGLGETPROGRAMENVPARAMETERIUIVNVPROC)(GLenum target, GLuint index, GLuint *params);\nGLAPI PFNGLGETPROGRAMENVPARAMETERIUIVNVPROC glad_glGetProgramEnvParameterIuivNV;\n#define glGetProgramEnvParameterIuivNV glad_glGetProgramEnvParameterIuivNV\n#endif\n#ifndef GL_NV_gpu_program5\n#define GL_NV_gpu_program5 1\nGLAPI int GLAD_GL_NV_gpu_program5;\ntypedef void (APIENTRYP PFNGLPROGRAMSUBROUTINEPARAMETERSUIVNVPROC)(GLenum target, GLsizei count, const GLuint *params);\nGLAPI PFNGLPROGRAMSUBROUTINEPARAMETERSUIVNVPROC glad_glProgramSubroutineParametersuivNV;\n#define glProgramSubroutineParametersuivNV glad_glProgramSubroutineParametersuivNV\ntypedef void (APIENTRYP PFNGLGETPROGRAMSUBROUTINEPARAMETERUIVNVPROC)(GLenum target, GLuint index, GLuint *param);\nGLAPI PFNGLGETPROGRAMSUBROUTINEPARAMETERUIVNVPROC glad_glGetProgramSubroutineParameteruivNV;\n#define glGetProgramSubroutineParameteruivNV glad_glGetProgramSubroutineParameteruivNV\n#endif\n#ifndef GL_NV_gpu_program5_mem_extended\n#define GL_NV_gpu_program5_mem_extended 1\nGLAPI int GLAD_GL_NV_gpu_program5_mem_extended;\n#endif\n#ifndef GL_NV_gpu_shader5\n#define GL_NV_gpu_shader5 1\nGLAPI int GLAD_GL_NV_gpu_shader5;\n#endif\n#ifndef GL_NV_half_float\n#define GL_NV_half_float 1\nGLAPI int GLAD_GL_NV_half_float;\ntypedef void (APIENTRYP PFNGLVERTEX2HNVPROC)(GLhalfNV x, GLhalfNV y);\nGLAPI PFNGLVERTEX2HNVPROC glad_glVertex2hNV;\n#define glVertex2hNV glad_glVertex2hNV\ntypedef void (APIENTRYP PFNGLVERTEX2HVNVPROC)(const GLhalfNV *v);\nGLAPI PFNGLVERTEX2HVNVPROC glad_glVertex2hvNV;\n#define glVertex2hvNV glad_glVertex2hvNV\ntypedef void (APIENTRYP PFNGLVERTEX3HNVPROC)(GLhalfNV x, GLhalfNV y, GLhalfNV z);\nGLAPI PFNGLVERTEX3HNVPROC glad_glVertex3hNV;\n#define glVertex3hNV glad_glVertex3hNV\ntypedef void (APIENTRYP PFNGLVERTEX3HVNVPROC)(const GLhalfNV *v);\nGLAPI PFNGLVERTEX3HVNVPROC glad_glVertex3hvNV;\n#define glVertex3hvNV glad_glVertex3hvNV\ntypedef void (APIENTRYP PFNGLVERTEX4HNVPROC)(GLhalfNV x, GLhalfNV y, GLhalfNV z, GLhalfNV w);\nGLAPI PFNGLVERTEX4HNVPROC glad_glVertex4hNV;\n#define glVertex4hNV glad_glVertex4hNV\ntypedef void (APIENTRYP PFNGLVERTEX4HVNVPROC)(const GLhalfNV *v);\nGLAPI PFNGLVERTEX4HVNVPROC glad_glVertex4hvNV;\n#define glVertex4hvNV glad_glVertex4hvNV\ntypedef void (APIENTRYP PFNGLNORMAL3HNVPROC)(GLhalfNV nx, GLhalfNV ny, GLhalfNV nz);\nGLAPI PFNGLNORMAL3HNVPROC glad_glNormal3hNV;\n#define glNormal3hNV glad_glNormal3hNV\ntypedef void (APIENTRYP PFNGLNORMAL3HVNVPROC)(const GLhalfNV *v);\nGLAPI PFNGLNORMAL3HVNVPROC glad_glNormal3hvNV;\n#define glNormal3hvNV glad_glNormal3hvNV\ntypedef void (APIENTRYP PFNGLCOLOR3HNVPROC)(GLhalfNV red, GLhalfNV green, GLhalfNV blue);\nGLAPI PFNGLCOLOR3HNVPROC glad_glColor3hNV;\n#define glColor3hNV glad_glColor3hNV\ntypedef void (APIENTRYP PFNGLCOLOR3HVNVPROC)(const GLhalfNV *v);\nGLAPI PFNGLCOLOR3HVNVPROC glad_glColor3hvNV;\n#define glColor3hvNV glad_glColor3hvNV\ntypedef void (APIENTRYP PFNGLCOLOR4HNVPROC)(GLhalfNV red, GLhalfNV green, GLhalfNV blue, GLhalfNV alpha);\nGLAPI PFNGLCOLOR4HNVPROC glad_glColor4hNV;\n#define glColor4hNV glad_glColor4hNV\ntypedef void (APIENTRYP PFNGLCOLOR4HVNVPROC)(const GLhalfNV *v);\nGLAPI PFNGLCOLOR4HVNVPROC glad_glColor4hvNV;\n#define glColor4hvNV glad_glColor4hvNV\ntypedef void (APIENTRYP PFNGLTEXCOORD1HNVPROC)(GLhalfNV s);\nGLAPI PFNGLTEXCOORD1HNVPROC glad_glTexCoord1hNV;\n#define glTexCoord1hNV glad_glTexCoord1hNV\ntypedef void (APIENTRYP PFNGLTEXCOORD1HVNVPROC)(const GLhalfNV *v);\nGLAPI PFNGLTEXCOORD1HVNVPROC glad_glTexCoord1hvNV;\n#define glTexCoord1hvNV glad_glTexCoord1hvNV\ntypedef void (APIENTRYP PFNGLTEXCOORD2HNVPROC)(GLhalfNV s, GLhalfNV t);\nGLAPI PFNGLTEXCOORD2HNVPROC glad_glTexCoord2hNV;\n#define glTexCoord2hNV glad_glTexCoord2hNV\ntypedef void (APIENTRYP PFNGLTEXCOORD2HVNVPROC)(const GLhalfNV *v);\nGLAPI PFNGLTEXCOORD2HVNVPROC glad_glTexCoord2hvNV;\n#define glTexCoord2hvNV glad_glTexCoord2hvNV\ntypedef void (APIENTRYP PFNGLTEXCOORD3HNVPROC)(GLhalfNV s, GLhalfNV t, GLhalfNV r);\nGLAPI PFNGLTEXCOORD3HNVPROC glad_glTexCoord3hNV;\n#define glTexCoord3hNV glad_glTexCoord3hNV\ntypedef void (APIENTRYP PFNGLTEXCOORD3HVNVPROC)(const GLhalfNV *v);\nGLAPI PFNGLTEXCOORD3HVNVPROC glad_glTexCoord3hvNV;\n#define glTexCoord3hvNV glad_glTexCoord3hvNV\ntypedef void (APIENTRYP PFNGLTEXCOORD4HNVPROC)(GLhalfNV s, GLhalfNV t, GLhalfNV r, GLhalfNV q);\nGLAPI PFNGLTEXCOORD4HNVPROC glad_glTexCoord4hNV;\n#define glTexCoord4hNV glad_glTexCoord4hNV\ntypedef void (APIENTRYP PFNGLTEXCOORD4HVNVPROC)(const GLhalfNV *v);\nGLAPI PFNGLTEXCOORD4HVNVPROC glad_glTexCoord4hvNV;\n#define glTexCoord4hvNV glad_glTexCoord4hvNV\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD1HNVPROC)(GLenum target, GLhalfNV s);\nGLAPI PFNGLMULTITEXCOORD1HNVPROC glad_glMultiTexCoord1hNV;\n#define glMultiTexCoord1hNV glad_glMultiTexCoord1hNV\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD1HVNVPROC)(GLenum target, const GLhalfNV *v);\nGLAPI PFNGLMULTITEXCOORD1HVNVPROC glad_glMultiTexCoord1hvNV;\n#define glMultiTexCoord1hvNV glad_glMultiTexCoord1hvNV\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD2HNVPROC)(GLenum target, GLhalfNV s, GLhalfNV t);\nGLAPI PFNGLMULTITEXCOORD2HNVPROC glad_glMultiTexCoord2hNV;\n#define glMultiTexCoord2hNV glad_glMultiTexCoord2hNV\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD2HVNVPROC)(GLenum target, const GLhalfNV *v);\nGLAPI PFNGLMULTITEXCOORD2HVNVPROC glad_glMultiTexCoord2hvNV;\n#define glMultiTexCoord2hvNV glad_glMultiTexCoord2hvNV\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD3HNVPROC)(GLenum target, GLhalfNV s, GLhalfNV t, GLhalfNV r);\nGLAPI PFNGLMULTITEXCOORD3HNVPROC glad_glMultiTexCoord3hNV;\n#define glMultiTexCoord3hNV glad_glMultiTexCoord3hNV\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD3HVNVPROC)(GLenum target, const GLhalfNV *v);\nGLAPI PFNGLMULTITEXCOORD3HVNVPROC glad_glMultiTexCoord3hvNV;\n#define glMultiTexCoord3hvNV glad_glMultiTexCoord3hvNV\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD4HNVPROC)(GLenum target, GLhalfNV s, GLhalfNV t, GLhalfNV r, GLhalfNV q);\nGLAPI PFNGLMULTITEXCOORD4HNVPROC glad_glMultiTexCoord4hNV;\n#define glMultiTexCoord4hNV glad_glMultiTexCoord4hNV\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD4HVNVPROC)(GLenum target, const GLhalfNV *v);\nGLAPI PFNGLMULTITEXCOORD4HVNVPROC glad_glMultiTexCoord4hvNV;\n#define glMultiTexCoord4hvNV glad_glMultiTexCoord4hvNV\ntypedef void (APIENTRYP PFNGLFOGCOORDHNVPROC)(GLhalfNV fog);\nGLAPI PFNGLFOGCOORDHNVPROC glad_glFogCoordhNV;\n#define glFogCoordhNV glad_glFogCoordhNV\ntypedef void (APIENTRYP PFNGLFOGCOORDHVNVPROC)(const GLhalfNV *fog);\nGLAPI PFNGLFOGCOORDHVNVPROC glad_glFogCoordhvNV;\n#define glFogCoordhvNV glad_glFogCoordhvNV\ntypedef void (APIENTRYP PFNGLSECONDARYCOLOR3HNVPROC)(GLhalfNV red, GLhalfNV green, GLhalfNV blue);\nGLAPI PFNGLSECONDARYCOLOR3HNVPROC glad_glSecondaryColor3hNV;\n#define glSecondaryColor3hNV glad_glSecondaryColor3hNV\ntypedef void (APIENTRYP PFNGLSECONDARYCOLOR3HVNVPROC)(const GLhalfNV *v);\nGLAPI PFNGLSECONDARYCOLOR3HVNVPROC glad_glSecondaryColor3hvNV;\n#define glSecondaryColor3hvNV glad_glSecondaryColor3hvNV\ntypedef void (APIENTRYP PFNGLVERTEXWEIGHTHNVPROC)(GLhalfNV weight);\nGLAPI PFNGLVERTEXWEIGHTHNVPROC glad_glVertexWeighthNV;\n#define glVertexWeighthNV glad_glVertexWeighthNV\ntypedef void (APIENTRYP PFNGLVERTEXWEIGHTHVNVPROC)(const GLhalfNV *weight);\nGLAPI PFNGLVERTEXWEIGHTHVNVPROC glad_glVertexWeighthvNV;\n#define glVertexWeighthvNV glad_glVertexWeighthvNV\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB1HNVPROC)(GLuint index, GLhalfNV x);\nGLAPI PFNGLVERTEXATTRIB1HNVPROC glad_glVertexAttrib1hNV;\n#define glVertexAttrib1hNV glad_glVertexAttrib1hNV\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB1HVNVPROC)(GLuint index, const GLhalfNV *v);\nGLAPI PFNGLVERTEXATTRIB1HVNVPROC glad_glVertexAttrib1hvNV;\n#define glVertexAttrib1hvNV glad_glVertexAttrib1hvNV\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB2HNVPROC)(GLuint index, GLhalfNV x, GLhalfNV y);\nGLAPI PFNGLVERTEXATTRIB2HNVPROC glad_glVertexAttrib2hNV;\n#define glVertexAttrib2hNV glad_glVertexAttrib2hNV\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB2HVNVPROC)(GLuint index, const GLhalfNV *v);\nGLAPI PFNGLVERTEXATTRIB2HVNVPROC glad_glVertexAttrib2hvNV;\n#define glVertexAttrib2hvNV glad_glVertexAttrib2hvNV\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB3HNVPROC)(GLuint index, GLhalfNV x, GLhalfNV y, GLhalfNV z);\nGLAPI PFNGLVERTEXATTRIB3HNVPROC glad_glVertexAttrib3hNV;\n#define glVertexAttrib3hNV glad_glVertexAttrib3hNV\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB3HVNVPROC)(GLuint index, const GLhalfNV *v);\nGLAPI PFNGLVERTEXATTRIB3HVNVPROC glad_glVertexAttrib3hvNV;\n#define glVertexAttrib3hvNV glad_glVertexAttrib3hvNV\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4HNVPROC)(GLuint index, GLhalfNV x, GLhalfNV y, GLhalfNV z, GLhalfNV w);\nGLAPI PFNGLVERTEXATTRIB4HNVPROC glad_glVertexAttrib4hNV;\n#define glVertexAttrib4hNV glad_glVertexAttrib4hNV\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4HVNVPROC)(GLuint index, const GLhalfNV *v);\nGLAPI PFNGLVERTEXATTRIB4HVNVPROC glad_glVertexAttrib4hvNV;\n#define glVertexAttrib4hvNV glad_glVertexAttrib4hvNV\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBS1HVNVPROC)(GLuint index, GLsizei n, const GLhalfNV *v);\nGLAPI PFNGLVERTEXATTRIBS1HVNVPROC glad_glVertexAttribs1hvNV;\n#define glVertexAttribs1hvNV glad_glVertexAttribs1hvNV\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBS2HVNVPROC)(GLuint index, GLsizei n, const GLhalfNV *v);\nGLAPI PFNGLVERTEXATTRIBS2HVNVPROC glad_glVertexAttribs2hvNV;\n#define glVertexAttribs2hvNV glad_glVertexAttribs2hvNV\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBS3HVNVPROC)(GLuint index, GLsizei n, const GLhalfNV *v);\nGLAPI PFNGLVERTEXATTRIBS3HVNVPROC glad_glVertexAttribs3hvNV;\n#define glVertexAttribs3hvNV glad_glVertexAttribs3hvNV\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBS4HVNVPROC)(GLuint index, GLsizei n, const GLhalfNV *v);\nGLAPI PFNGLVERTEXATTRIBS4HVNVPROC glad_glVertexAttribs4hvNV;\n#define glVertexAttribs4hvNV glad_glVertexAttribs4hvNV\n#endif\n#ifndef GL_NV_internalformat_sample_query\n#define GL_NV_internalformat_sample_query 1\nGLAPI int GLAD_GL_NV_internalformat_sample_query;\ntypedef void (APIENTRYP PFNGLGETINTERNALFORMATSAMPLEIVNVPROC)(GLenum target, GLenum internalformat, GLsizei samples, GLenum pname, GLsizei bufSize, GLint *params);\nGLAPI PFNGLGETINTERNALFORMATSAMPLEIVNVPROC glad_glGetInternalformatSampleivNV;\n#define glGetInternalformatSampleivNV glad_glGetInternalformatSampleivNV\n#endif\n#ifndef GL_NV_light_max_exponent\n#define GL_NV_light_max_exponent 1\nGLAPI int GLAD_GL_NV_light_max_exponent;\n#endif\n#ifndef GL_NV_multisample_coverage\n#define GL_NV_multisample_coverage 1\nGLAPI int GLAD_GL_NV_multisample_coverage;\n#endif\n#ifndef GL_NV_multisample_filter_hint\n#define GL_NV_multisample_filter_hint 1\nGLAPI int GLAD_GL_NV_multisample_filter_hint;\n#endif\n#ifndef GL_NV_occlusion_query\n#define GL_NV_occlusion_query 1\nGLAPI int GLAD_GL_NV_occlusion_query;\ntypedef void (APIENTRYP PFNGLGENOCCLUSIONQUERIESNVPROC)(GLsizei n, GLuint *ids);\nGLAPI PFNGLGENOCCLUSIONQUERIESNVPROC glad_glGenOcclusionQueriesNV;\n#define glGenOcclusionQueriesNV glad_glGenOcclusionQueriesNV\ntypedef void (APIENTRYP PFNGLDELETEOCCLUSIONQUERIESNVPROC)(GLsizei n, const GLuint *ids);\nGLAPI PFNGLDELETEOCCLUSIONQUERIESNVPROC glad_glDeleteOcclusionQueriesNV;\n#define glDeleteOcclusionQueriesNV glad_glDeleteOcclusionQueriesNV\ntypedef GLboolean (APIENTRYP PFNGLISOCCLUSIONQUERYNVPROC)(GLuint id);\nGLAPI PFNGLISOCCLUSIONQUERYNVPROC glad_glIsOcclusionQueryNV;\n#define glIsOcclusionQueryNV glad_glIsOcclusionQueryNV\ntypedef void (APIENTRYP PFNGLBEGINOCCLUSIONQUERYNVPROC)(GLuint id);\nGLAPI PFNGLBEGINOCCLUSIONQUERYNVPROC glad_glBeginOcclusionQueryNV;\n#define glBeginOcclusionQueryNV glad_glBeginOcclusionQueryNV\ntypedef void (APIENTRYP PFNGLENDOCCLUSIONQUERYNVPROC)();\nGLAPI PFNGLENDOCCLUSIONQUERYNVPROC glad_glEndOcclusionQueryNV;\n#define glEndOcclusionQueryNV glad_glEndOcclusionQueryNV\ntypedef void (APIENTRYP PFNGLGETOCCLUSIONQUERYIVNVPROC)(GLuint id, GLenum pname, GLint *params);\nGLAPI PFNGLGETOCCLUSIONQUERYIVNVPROC glad_glGetOcclusionQueryivNV;\n#define glGetOcclusionQueryivNV glad_glGetOcclusionQueryivNV\ntypedef void (APIENTRYP PFNGLGETOCCLUSIONQUERYUIVNVPROC)(GLuint id, GLenum pname, GLuint *params);\nGLAPI PFNGLGETOCCLUSIONQUERYUIVNVPROC glad_glGetOcclusionQueryuivNV;\n#define glGetOcclusionQueryuivNV glad_glGetOcclusionQueryuivNV\n#endif\n#ifndef GL_NV_packed_depth_stencil\n#define GL_NV_packed_depth_stencil 1\nGLAPI int GLAD_GL_NV_packed_depth_stencil;\n#endif\n#ifndef GL_NV_parameter_buffer_object\n#define GL_NV_parameter_buffer_object 1\nGLAPI int GLAD_GL_NV_parameter_buffer_object;\ntypedef void (APIENTRYP PFNGLPROGRAMBUFFERPARAMETERSFVNVPROC)(GLenum target, GLuint bindingIndex, GLuint wordIndex, GLsizei count, const GLfloat *params);\nGLAPI PFNGLPROGRAMBUFFERPARAMETERSFVNVPROC glad_glProgramBufferParametersfvNV;\n#define glProgramBufferParametersfvNV glad_glProgramBufferParametersfvNV\ntypedef void (APIENTRYP PFNGLPROGRAMBUFFERPARAMETERSIIVNVPROC)(GLenum target, GLuint bindingIndex, GLuint wordIndex, GLsizei count, const GLint *params);\nGLAPI PFNGLPROGRAMBUFFERPARAMETERSIIVNVPROC glad_glProgramBufferParametersIivNV;\n#define glProgramBufferParametersIivNV glad_glProgramBufferParametersIivNV\ntypedef void (APIENTRYP PFNGLPROGRAMBUFFERPARAMETERSIUIVNVPROC)(GLenum target, GLuint bindingIndex, GLuint wordIndex, GLsizei count, const GLuint *params);\nGLAPI PFNGLPROGRAMBUFFERPARAMETERSIUIVNVPROC glad_glProgramBufferParametersIuivNV;\n#define glProgramBufferParametersIuivNV glad_glProgramBufferParametersIuivNV\n#endif\n#ifndef GL_NV_parameter_buffer_object2\n#define GL_NV_parameter_buffer_object2 1\nGLAPI int GLAD_GL_NV_parameter_buffer_object2;\n#endif\n#ifndef GL_NV_path_rendering\n#define GL_NV_path_rendering 1\nGLAPI int GLAD_GL_NV_path_rendering;\ntypedef GLuint (APIENTRYP PFNGLGENPATHSNVPROC)(GLsizei range);\nGLAPI PFNGLGENPATHSNVPROC glad_glGenPathsNV;\n#define glGenPathsNV glad_glGenPathsNV\ntypedef void (APIENTRYP PFNGLDELETEPATHSNVPROC)(GLuint path, GLsizei range);\nGLAPI PFNGLDELETEPATHSNVPROC glad_glDeletePathsNV;\n#define glDeletePathsNV glad_glDeletePathsNV\ntypedef GLboolean (APIENTRYP PFNGLISPATHNVPROC)(GLuint path);\nGLAPI PFNGLISPATHNVPROC glad_glIsPathNV;\n#define glIsPathNV glad_glIsPathNV\ntypedef void (APIENTRYP PFNGLPATHCOMMANDSNVPROC)(GLuint path, GLsizei numCommands, const GLubyte *commands, GLsizei numCoords, GLenum coordType, const void *coords);\nGLAPI PFNGLPATHCOMMANDSNVPROC glad_glPathCommandsNV;\n#define glPathCommandsNV glad_glPathCommandsNV\ntypedef void (APIENTRYP PFNGLPATHCOORDSNVPROC)(GLuint path, GLsizei numCoords, GLenum coordType, const void *coords);\nGLAPI PFNGLPATHCOORDSNVPROC glad_glPathCoordsNV;\n#define glPathCoordsNV glad_glPathCoordsNV\ntypedef void (APIENTRYP PFNGLPATHSUBCOMMANDSNVPROC)(GLuint path, GLsizei commandStart, GLsizei commandsToDelete, GLsizei numCommands, const GLubyte *commands, GLsizei numCoords, GLenum coordType, const void *coords);\nGLAPI PFNGLPATHSUBCOMMANDSNVPROC glad_glPathSubCommandsNV;\n#define glPathSubCommandsNV glad_glPathSubCommandsNV\ntypedef void (APIENTRYP PFNGLPATHSUBCOORDSNVPROC)(GLuint path, GLsizei coordStart, GLsizei numCoords, GLenum coordType, const void *coords);\nGLAPI PFNGLPATHSUBCOORDSNVPROC glad_glPathSubCoordsNV;\n#define glPathSubCoordsNV glad_glPathSubCoordsNV\ntypedef void (APIENTRYP PFNGLPATHSTRINGNVPROC)(GLuint path, GLenum format, GLsizei length, const void *pathString);\nGLAPI PFNGLPATHSTRINGNVPROC glad_glPathStringNV;\n#define glPathStringNV glad_glPathStringNV\ntypedef void (APIENTRYP PFNGLPATHGLYPHSNVPROC)(GLuint firstPathName, GLenum fontTarget, const void *fontName, GLbitfield fontStyle, GLsizei numGlyphs, GLenum type, const void *charcodes, GLenum handleMissingGlyphs, GLuint pathParameterTemplate, GLfloat emScale);\nGLAPI PFNGLPATHGLYPHSNVPROC glad_glPathGlyphsNV;\n#define glPathGlyphsNV glad_glPathGlyphsNV\ntypedef void (APIENTRYP PFNGLPATHGLYPHRANGENVPROC)(GLuint firstPathName, GLenum fontTarget, const void *fontName, GLbitfield fontStyle, GLuint firstGlyph, GLsizei numGlyphs, GLenum handleMissingGlyphs, GLuint pathParameterTemplate, GLfloat emScale);\nGLAPI PFNGLPATHGLYPHRANGENVPROC glad_glPathGlyphRangeNV;\n#define glPathGlyphRangeNV glad_glPathGlyphRangeNV\ntypedef void (APIENTRYP PFNGLWEIGHTPATHSNVPROC)(GLuint resultPath, GLsizei numPaths, const GLuint *paths, const GLfloat *weights);\nGLAPI PFNGLWEIGHTPATHSNVPROC glad_glWeightPathsNV;\n#define glWeightPathsNV glad_glWeightPathsNV\ntypedef void (APIENTRYP PFNGLCOPYPATHNVPROC)(GLuint resultPath, GLuint srcPath);\nGLAPI PFNGLCOPYPATHNVPROC glad_glCopyPathNV;\n#define glCopyPathNV glad_glCopyPathNV\ntypedef void (APIENTRYP PFNGLINTERPOLATEPATHSNVPROC)(GLuint resultPath, GLuint pathA, GLuint pathB, GLfloat weight);\nGLAPI PFNGLINTERPOLATEPATHSNVPROC glad_glInterpolatePathsNV;\n#define glInterpolatePathsNV glad_glInterpolatePathsNV\ntypedef void (APIENTRYP PFNGLTRANSFORMPATHNVPROC)(GLuint resultPath, GLuint srcPath, GLenum transformType, const GLfloat *transformValues);\nGLAPI PFNGLTRANSFORMPATHNVPROC glad_glTransformPathNV;\n#define glTransformPathNV glad_glTransformPathNV\ntypedef void (APIENTRYP PFNGLPATHPARAMETERIVNVPROC)(GLuint path, GLenum pname, const GLint *value);\nGLAPI PFNGLPATHPARAMETERIVNVPROC glad_glPathParameterivNV;\n#define glPathParameterivNV glad_glPathParameterivNV\ntypedef void (APIENTRYP PFNGLPATHPARAMETERINVPROC)(GLuint path, GLenum pname, GLint value);\nGLAPI PFNGLPATHPARAMETERINVPROC glad_glPathParameteriNV;\n#define glPathParameteriNV glad_glPathParameteriNV\ntypedef void (APIENTRYP PFNGLPATHPARAMETERFVNVPROC)(GLuint path, GLenum pname, const GLfloat *value);\nGLAPI PFNGLPATHPARAMETERFVNVPROC glad_glPathParameterfvNV;\n#define glPathParameterfvNV glad_glPathParameterfvNV\ntypedef void (APIENTRYP PFNGLPATHPARAMETERFNVPROC)(GLuint path, GLenum pname, GLfloat value);\nGLAPI PFNGLPATHPARAMETERFNVPROC glad_glPathParameterfNV;\n#define glPathParameterfNV glad_glPathParameterfNV\ntypedef void (APIENTRYP PFNGLPATHDASHARRAYNVPROC)(GLuint path, GLsizei dashCount, const GLfloat *dashArray);\nGLAPI PFNGLPATHDASHARRAYNVPROC glad_glPathDashArrayNV;\n#define glPathDashArrayNV glad_glPathDashArrayNV\ntypedef void (APIENTRYP PFNGLPATHSTENCILFUNCNVPROC)(GLenum func, GLint ref, GLuint mask);\nGLAPI PFNGLPATHSTENCILFUNCNVPROC glad_glPathStencilFuncNV;\n#define glPathStencilFuncNV glad_glPathStencilFuncNV\ntypedef void (APIENTRYP PFNGLPATHSTENCILDEPTHOFFSETNVPROC)(GLfloat factor, GLfloat units);\nGLAPI PFNGLPATHSTENCILDEPTHOFFSETNVPROC glad_glPathStencilDepthOffsetNV;\n#define glPathStencilDepthOffsetNV glad_glPathStencilDepthOffsetNV\ntypedef void (APIENTRYP PFNGLSTENCILFILLPATHNVPROC)(GLuint path, GLenum fillMode, GLuint mask);\nGLAPI PFNGLSTENCILFILLPATHNVPROC glad_glStencilFillPathNV;\n#define glStencilFillPathNV glad_glStencilFillPathNV\ntypedef void (APIENTRYP PFNGLSTENCILSTROKEPATHNVPROC)(GLuint path, GLint reference, GLuint mask);\nGLAPI PFNGLSTENCILSTROKEPATHNVPROC glad_glStencilStrokePathNV;\n#define glStencilStrokePathNV glad_glStencilStrokePathNV\ntypedef void (APIENTRYP PFNGLSTENCILFILLPATHINSTANCEDNVPROC)(GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum fillMode, GLuint mask, GLenum transformType, const GLfloat *transformValues);\nGLAPI PFNGLSTENCILFILLPATHINSTANCEDNVPROC glad_glStencilFillPathInstancedNV;\n#define glStencilFillPathInstancedNV glad_glStencilFillPathInstancedNV\ntypedef void (APIENTRYP PFNGLSTENCILSTROKEPATHINSTANCEDNVPROC)(GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLint reference, GLuint mask, GLenum transformType, const GLfloat *transformValues);\nGLAPI PFNGLSTENCILSTROKEPATHINSTANCEDNVPROC glad_glStencilStrokePathInstancedNV;\n#define glStencilStrokePathInstancedNV glad_glStencilStrokePathInstancedNV\ntypedef void (APIENTRYP PFNGLPATHCOVERDEPTHFUNCNVPROC)(GLenum func);\nGLAPI PFNGLPATHCOVERDEPTHFUNCNVPROC glad_glPathCoverDepthFuncNV;\n#define glPathCoverDepthFuncNV glad_glPathCoverDepthFuncNV\ntypedef void (APIENTRYP PFNGLCOVERFILLPATHNVPROC)(GLuint path, GLenum coverMode);\nGLAPI PFNGLCOVERFILLPATHNVPROC glad_glCoverFillPathNV;\n#define glCoverFillPathNV glad_glCoverFillPathNV\ntypedef void (APIENTRYP PFNGLCOVERSTROKEPATHNVPROC)(GLuint path, GLenum coverMode);\nGLAPI PFNGLCOVERSTROKEPATHNVPROC glad_glCoverStrokePathNV;\n#define glCoverStrokePathNV glad_glCoverStrokePathNV\ntypedef void (APIENTRYP PFNGLCOVERFILLPATHINSTANCEDNVPROC)(GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat *transformValues);\nGLAPI PFNGLCOVERFILLPATHINSTANCEDNVPROC glad_glCoverFillPathInstancedNV;\n#define glCoverFillPathInstancedNV glad_glCoverFillPathInstancedNV\ntypedef void (APIENTRYP PFNGLCOVERSTROKEPATHINSTANCEDNVPROC)(GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat *transformValues);\nGLAPI PFNGLCOVERSTROKEPATHINSTANCEDNVPROC glad_glCoverStrokePathInstancedNV;\n#define glCoverStrokePathInstancedNV glad_glCoverStrokePathInstancedNV\ntypedef void (APIENTRYP PFNGLGETPATHPARAMETERIVNVPROC)(GLuint path, GLenum pname, GLint *value);\nGLAPI PFNGLGETPATHPARAMETERIVNVPROC glad_glGetPathParameterivNV;\n#define glGetPathParameterivNV glad_glGetPathParameterivNV\ntypedef void (APIENTRYP PFNGLGETPATHPARAMETERFVNVPROC)(GLuint path, GLenum pname, GLfloat *value);\nGLAPI PFNGLGETPATHPARAMETERFVNVPROC glad_glGetPathParameterfvNV;\n#define glGetPathParameterfvNV glad_glGetPathParameterfvNV\ntypedef void (APIENTRYP PFNGLGETPATHCOMMANDSNVPROC)(GLuint path, GLubyte *commands);\nGLAPI PFNGLGETPATHCOMMANDSNVPROC glad_glGetPathCommandsNV;\n#define glGetPathCommandsNV glad_glGetPathCommandsNV\ntypedef void (APIENTRYP PFNGLGETPATHCOORDSNVPROC)(GLuint path, GLfloat *coords);\nGLAPI PFNGLGETPATHCOORDSNVPROC glad_glGetPathCoordsNV;\n#define glGetPathCoordsNV glad_glGetPathCoordsNV\ntypedef void (APIENTRYP PFNGLGETPATHDASHARRAYNVPROC)(GLuint path, GLfloat *dashArray);\nGLAPI PFNGLGETPATHDASHARRAYNVPROC glad_glGetPathDashArrayNV;\n#define glGetPathDashArrayNV glad_glGetPathDashArrayNV\ntypedef void (APIENTRYP PFNGLGETPATHMETRICSNVPROC)(GLbitfield metricQueryMask, GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLsizei stride, GLfloat *metrics);\nGLAPI PFNGLGETPATHMETRICSNVPROC glad_glGetPathMetricsNV;\n#define glGetPathMetricsNV glad_glGetPathMetricsNV\ntypedef void (APIENTRYP PFNGLGETPATHMETRICRANGENVPROC)(GLbitfield metricQueryMask, GLuint firstPathName, GLsizei numPaths, GLsizei stride, GLfloat *metrics);\nGLAPI PFNGLGETPATHMETRICRANGENVPROC glad_glGetPathMetricRangeNV;\n#define glGetPathMetricRangeNV glad_glGetPathMetricRangeNV\ntypedef void (APIENTRYP PFNGLGETPATHSPACINGNVPROC)(GLenum pathListMode, GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLfloat advanceScale, GLfloat kerningScale, GLenum transformType, GLfloat *returnedSpacing);\nGLAPI PFNGLGETPATHSPACINGNVPROC glad_glGetPathSpacingNV;\n#define glGetPathSpacingNV glad_glGetPathSpacingNV\ntypedef GLboolean (APIENTRYP PFNGLISPOINTINFILLPATHNVPROC)(GLuint path, GLuint mask, GLfloat x, GLfloat y);\nGLAPI PFNGLISPOINTINFILLPATHNVPROC glad_glIsPointInFillPathNV;\n#define glIsPointInFillPathNV glad_glIsPointInFillPathNV\ntypedef GLboolean (APIENTRYP PFNGLISPOINTINSTROKEPATHNVPROC)(GLuint path, GLfloat x, GLfloat y);\nGLAPI PFNGLISPOINTINSTROKEPATHNVPROC glad_glIsPointInStrokePathNV;\n#define glIsPointInStrokePathNV glad_glIsPointInStrokePathNV\ntypedef GLfloat (APIENTRYP PFNGLGETPATHLENGTHNVPROC)(GLuint path, GLsizei startSegment, GLsizei numSegments);\nGLAPI PFNGLGETPATHLENGTHNVPROC glad_glGetPathLengthNV;\n#define glGetPathLengthNV glad_glGetPathLengthNV\ntypedef GLboolean (APIENTRYP PFNGLPOINTALONGPATHNVPROC)(GLuint path, GLsizei startSegment, GLsizei numSegments, GLfloat distance, GLfloat *x, GLfloat *y, GLfloat *tangentX, GLfloat *tangentY);\nGLAPI PFNGLPOINTALONGPATHNVPROC glad_glPointAlongPathNV;\n#define glPointAlongPathNV glad_glPointAlongPathNV\ntypedef void (APIENTRYP PFNGLMATRIXLOAD3X2FNVPROC)(GLenum matrixMode, const GLfloat *m);\nGLAPI PFNGLMATRIXLOAD3X2FNVPROC glad_glMatrixLoad3x2fNV;\n#define glMatrixLoad3x2fNV glad_glMatrixLoad3x2fNV\ntypedef void (APIENTRYP PFNGLMATRIXLOAD3X3FNVPROC)(GLenum matrixMode, const GLfloat *m);\nGLAPI PFNGLMATRIXLOAD3X3FNVPROC glad_glMatrixLoad3x3fNV;\n#define glMatrixLoad3x3fNV glad_glMatrixLoad3x3fNV\ntypedef void (APIENTRYP PFNGLMATRIXLOADTRANSPOSE3X3FNVPROC)(GLenum matrixMode, const GLfloat *m);\nGLAPI PFNGLMATRIXLOADTRANSPOSE3X3FNVPROC glad_glMatrixLoadTranspose3x3fNV;\n#define glMatrixLoadTranspose3x3fNV glad_glMatrixLoadTranspose3x3fNV\ntypedef void (APIENTRYP PFNGLMATRIXMULT3X2FNVPROC)(GLenum matrixMode, const GLfloat *m);\nGLAPI PFNGLMATRIXMULT3X2FNVPROC glad_glMatrixMult3x2fNV;\n#define glMatrixMult3x2fNV glad_glMatrixMult3x2fNV\ntypedef void (APIENTRYP PFNGLMATRIXMULT3X3FNVPROC)(GLenum matrixMode, const GLfloat *m);\nGLAPI PFNGLMATRIXMULT3X3FNVPROC glad_glMatrixMult3x3fNV;\n#define glMatrixMult3x3fNV glad_glMatrixMult3x3fNV\ntypedef void (APIENTRYP PFNGLMATRIXMULTTRANSPOSE3X3FNVPROC)(GLenum matrixMode, const GLfloat *m);\nGLAPI PFNGLMATRIXMULTTRANSPOSE3X3FNVPROC glad_glMatrixMultTranspose3x3fNV;\n#define glMatrixMultTranspose3x3fNV glad_glMatrixMultTranspose3x3fNV\ntypedef void (APIENTRYP PFNGLSTENCILTHENCOVERFILLPATHNVPROC)(GLuint path, GLenum fillMode, GLuint mask, GLenum coverMode);\nGLAPI PFNGLSTENCILTHENCOVERFILLPATHNVPROC glad_glStencilThenCoverFillPathNV;\n#define glStencilThenCoverFillPathNV glad_glStencilThenCoverFillPathNV\ntypedef void (APIENTRYP PFNGLSTENCILTHENCOVERSTROKEPATHNVPROC)(GLuint path, GLint reference, GLuint mask, GLenum coverMode);\nGLAPI PFNGLSTENCILTHENCOVERSTROKEPATHNVPROC glad_glStencilThenCoverStrokePathNV;\n#define glStencilThenCoverStrokePathNV glad_glStencilThenCoverStrokePathNV\ntypedef void (APIENTRYP PFNGLSTENCILTHENCOVERFILLPATHINSTANCEDNVPROC)(GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum fillMode, GLuint mask, GLenum coverMode, GLenum transformType, const GLfloat *transformValues);\nGLAPI PFNGLSTENCILTHENCOVERFILLPATHINSTANCEDNVPROC glad_glStencilThenCoverFillPathInstancedNV;\n#define glStencilThenCoverFillPathInstancedNV glad_glStencilThenCoverFillPathInstancedNV\ntypedef void (APIENTRYP PFNGLSTENCILTHENCOVERSTROKEPATHINSTANCEDNVPROC)(GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLint reference, GLuint mask, GLenum coverMode, GLenum transformType, const GLfloat *transformValues);\nGLAPI PFNGLSTENCILTHENCOVERSTROKEPATHINSTANCEDNVPROC glad_glStencilThenCoverStrokePathInstancedNV;\n#define glStencilThenCoverStrokePathInstancedNV glad_glStencilThenCoverStrokePathInstancedNV\ntypedef GLenum (APIENTRYP PFNGLPATHGLYPHINDEXRANGENVPROC)(GLenum fontTarget, const void *fontName, GLbitfield fontStyle, GLuint pathParameterTemplate, GLfloat emScale, GLuint baseAndCount[2]);\nGLAPI PFNGLPATHGLYPHINDEXRANGENVPROC glad_glPathGlyphIndexRangeNV;\n#define glPathGlyphIndexRangeNV glad_glPathGlyphIndexRangeNV\ntypedef GLenum (APIENTRYP PFNGLPATHGLYPHINDEXARRAYNVPROC)(GLuint firstPathName, GLenum fontTarget, const void *fontName, GLbitfield fontStyle, GLuint firstGlyphIndex, GLsizei numGlyphs, GLuint pathParameterTemplate, GLfloat emScale);\nGLAPI PFNGLPATHGLYPHINDEXARRAYNVPROC glad_glPathGlyphIndexArrayNV;\n#define glPathGlyphIndexArrayNV glad_glPathGlyphIndexArrayNV\ntypedef GLenum (APIENTRYP PFNGLPATHMEMORYGLYPHINDEXARRAYNVPROC)(GLuint firstPathName, GLenum fontTarget, GLsizeiptr fontSize, const void *fontData, GLsizei faceIndex, GLuint firstGlyphIndex, GLsizei numGlyphs, GLuint pathParameterTemplate, GLfloat emScale);\nGLAPI PFNGLPATHMEMORYGLYPHINDEXARRAYNVPROC glad_glPathMemoryGlyphIndexArrayNV;\n#define glPathMemoryGlyphIndexArrayNV glad_glPathMemoryGlyphIndexArrayNV\ntypedef void (APIENTRYP PFNGLPROGRAMPATHFRAGMENTINPUTGENNVPROC)(GLuint program, GLint location, GLenum genMode, GLint components, const GLfloat *coeffs);\nGLAPI PFNGLPROGRAMPATHFRAGMENTINPUTGENNVPROC glad_glProgramPathFragmentInputGenNV;\n#define glProgramPathFragmentInputGenNV glad_glProgramPathFragmentInputGenNV\ntypedef void (APIENTRYP PFNGLGETPROGRAMRESOURCEFVNVPROC)(GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum *props, GLsizei bufSize, GLsizei *length, GLfloat *params);\nGLAPI PFNGLGETPROGRAMRESOURCEFVNVPROC glad_glGetProgramResourcefvNV;\n#define glGetProgramResourcefvNV glad_glGetProgramResourcefvNV\ntypedef void (APIENTRYP PFNGLPATHCOLORGENNVPROC)(GLenum color, GLenum genMode, GLenum colorFormat, const GLfloat *coeffs);\nGLAPI PFNGLPATHCOLORGENNVPROC glad_glPathColorGenNV;\n#define glPathColorGenNV glad_glPathColorGenNV\ntypedef void (APIENTRYP PFNGLPATHTEXGENNVPROC)(GLenum texCoordSet, GLenum genMode, GLint components, const GLfloat *coeffs);\nGLAPI PFNGLPATHTEXGENNVPROC glad_glPathTexGenNV;\n#define glPathTexGenNV glad_glPathTexGenNV\ntypedef void (APIENTRYP PFNGLPATHFOGGENNVPROC)(GLenum genMode);\nGLAPI PFNGLPATHFOGGENNVPROC glad_glPathFogGenNV;\n#define glPathFogGenNV glad_glPathFogGenNV\ntypedef void (APIENTRYP PFNGLGETPATHCOLORGENIVNVPROC)(GLenum color, GLenum pname, GLint *value);\nGLAPI PFNGLGETPATHCOLORGENIVNVPROC glad_glGetPathColorGenivNV;\n#define glGetPathColorGenivNV glad_glGetPathColorGenivNV\ntypedef void (APIENTRYP PFNGLGETPATHCOLORGENFVNVPROC)(GLenum color, GLenum pname, GLfloat *value);\nGLAPI PFNGLGETPATHCOLORGENFVNVPROC glad_glGetPathColorGenfvNV;\n#define glGetPathColorGenfvNV glad_glGetPathColorGenfvNV\ntypedef void (APIENTRYP PFNGLGETPATHTEXGENIVNVPROC)(GLenum texCoordSet, GLenum pname, GLint *value);\nGLAPI PFNGLGETPATHTEXGENIVNVPROC glad_glGetPathTexGenivNV;\n#define glGetPathTexGenivNV glad_glGetPathTexGenivNV\ntypedef void (APIENTRYP PFNGLGETPATHTEXGENFVNVPROC)(GLenum texCoordSet, GLenum pname, GLfloat *value);\nGLAPI PFNGLGETPATHTEXGENFVNVPROC glad_glGetPathTexGenfvNV;\n#define glGetPathTexGenfvNV glad_glGetPathTexGenfvNV\n#endif\n#ifndef GL_NV_path_rendering_shared_edge\n#define GL_NV_path_rendering_shared_edge 1\nGLAPI int GLAD_GL_NV_path_rendering_shared_edge;\n#endif\n#ifndef GL_NV_pixel_data_range\n#define GL_NV_pixel_data_range 1\nGLAPI int GLAD_GL_NV_pixel_data_range;\ntypedef void (APIENTRYP PFNGLPIXELDATARANGENVPROC)(GLenum target, GLsizei length, const void *pointer);\nGLAPI PFNGLPIXELDATARANGENVPROC glad_glPixelDataRangeNV;\n#define glPixelDataRangeNV glad_glPixelDataRangeNV\ntypedef void (APIENTRYP PFNGLFLUSHPIXELDATARANGENVPROC)(GLenum target);\nGLAPI PFNGLFLUSHPIXELDATARANGENVPROC glad_glFlushPixelDataRangeNV;\n#define glFlushPixelDataRangeNV glad_glFlushPixelDataRangeNV\n#endif\n#ifndef GL_NV_point_sprite\n#define GL_NV_point_sprite 1\nGLAPI int GLAD_GL_NV_point_sprite;\ntypedef void (APIENTRYP PFNGLPOINTPARAMETERINVPROC)(GLenum pname, GLint param);\nGLAPI PFNGLPOINTPARAMETERINVPROC glad_glPointParameteriNV;\n#define glPointParameteriNV glad_glPointParameteriNV\ntypedef void (APIENTRYP PFNGLPOINTPARAMETERIVNVPROC)(GLenum pname, const GLint *params);\nGLAPI PFNGLPOINTPARAMETERIVNVPROC glad_glPointParameterivNV;\n#define glPointParameterivNV glad_glPointParameterivNV\n#endif\n#ifndef GL_NV_present_video\n#define GL_NV_present_video 1\nGLAPI int GLAD_GL_NV_present_video;\ntypedef void (APIENTRYP PFNGLPRESENTFRAMEKEYEDNVPROC)(GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLuint key0, GLenum target1, GLuint fill1, GLuint key1);\nGLAPI PFNGLPRESENTFRAMEKEYEDNVPROC glad_glPresentFrameKeyedNV;\n#define glPresentFrameKeyedNV glad_glPresentFrameKeyedNV\ntypedef void (APIENTRYP PFNGLPRESENTFRAMEDUALFILLNVPROC)(GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLenum target1, GLuint fill1, GLenum target2, GLuint fill2, GLenum target3, GLuint fill3);\nGLAPI PFNGLPRESENTFRAMEDUALFILLNVPROC glad_glPresentFrameDualFillNV;\n#define glPresentFrameDualFillNV glad_glPresentFrameDualFillNV\ntypedef void (APIENTRYP PFNGLGETVIDEOIVNVPROC)(GLuint video_slot, GLenum pname, GLint *params);\nGLAPI PFNGLGETVIDEOIVNVPROC glad_glGetVideoivNV;\n#define glGetVideoivNV glad_glGetVideoivNV\ntypedef void (APIENTRYP PFNGLGETVIDEOUIVNVPROC)(GLuint video_slot, GLenum pname, GLuint *params);\nGLAPI PFNGLGETVIDEOUIVNVPROC glad_glGetVideouivNV;\n#define glGetVideouivNV glad_glGetVideouivNV\ntypedef void (APIENTRYP PFNGLGETVIDEOI64VNVPROC)(GLuint video_slot, GLenum pname, GLint64EXT *params);\nGLAPI PFNGLGETVIDEOI64VNVPROC glad_glGetVideoi64vNV;\n#define glGetVideoi64vNV glad_glGetVideoi64vNV\ntypedef void (APIENTRYP PFNGLGETVIDEOUI64VNVPROC)(GLuint video_slot, GLenum pname, GLuint64EXT *params);\nGLAPI PFNGLGETVIDEOUI64VNVPROC glad_glGetVideoui64vNV;\n#define glGetVideoui64vNV glad_glGetVideoui64vNV\n#endif\n#ifndef GL_NV_primitive_restart\n#define GL_NV_primitive_restart 1\nGLAPI int GLAD_GL_NV_primitive_restart;\ntypedef void (APIENTRYP PFNGLPRIMITIVERESTARTNVPROC)();\nGLAPI PFNGLPRIMITIVERESTARTNVPROC glad_glPrimitiveRestartNV;\n#define glPrimitiveRestartNV glad_glPrimitiveRestartNV\ntypedef void (APIENTRYP PFNGLPRIMITIVERESTARTINDEXNVPROC)(GLuint index);\nGLAPI PFNGLPRIMITIVERESTARTINDEXNVPROC glad_glPrimitiveRestartIndexNV;\n#define glPrimitiveRestartIndexNV glad_glPrimitiveRestartIndexNV\n#endif\n#ifndef GL_NV_query_resource\n#define GL_NV_query_resource 1\nGLAPI int GLAD_GL_NV_query_resource;\ntypedef GLint (APIENTRYP PFNGLQUERYRESOURCENVPROC)(GLenum queryType, GLint tagId, GLuint bufSize, GLint *buffer);\nGLAPI PFNGLQUERYRESOURCENVPROC glad_glQueryResourceNV;\n#define glQueryResourceNV glad_glQueryResourceNV\n#endif\n#ifndef GL_NV_query_resource_tag\n#define GL_NV_query_resource_tag 1\nGLAPI int GLAD_GL_NV_query_resource_tag;\ntypedef void (APIENTRYP PFNGLGENQUERYRESOURCETAGNVPROC)(GLsizei n, GLint *tagIds);\nGLAPI PFNGLGENQUERYRESOURCETAGNVPROC glad_glGenQueryResourceTagNV;\n#define glGenQueryResourceTagNV glad_glGenQueryResourceTagNV\ntypedef void (APIENTRYP PFNGLDELETEQUERYRESOURCETAGNVPROC)(GLsizei n, const GLint *tagIds);\nGLAPI PFNGLDELETEQUERYRESOURCETAGNVPROC glad_glDeleteQueryResourceTagNV;\n#define glDeleteQueryResourceTagNV glad_glDeleteQueryResourceTagNV\ntypedef void (APIENTRYP PFNGLQUERYRESOURCETAGNVPROC)(GLint tagId, const GLchar *tagString);\nGLAPI PFNGLQUERYRESOURCETAGNVPROC glad_glQueryResourceTagNV;\n#define glQueryResourceTagNV glad_glQueryResourceTagNV\n#endif\n#ifndef GL_NV_register_combiners\n#define GL_NV_register_combiners 1\nGLAPI int GLAD_GL_NV_register_combiners;\ntypedef void (APIENTRYP PFNGLCOMBINERPARAMETERFVNVPROC)(GLenum pname, const GLfloat *params);\nGLAPI PFNGLCOMBINERPARAMETERFVNVPROC glad_glCombinerParameterfvNV;\n#define glCombinerParameterfvNV glad_glCombinerParameterfvNV\ntypedef void (APIENTRYP PFNGLCOMBINERPARAMETERFNVPROC)(GLenum pname, GLfloat param);\nGLAPI PFNGLCOMBINERPARAMETERFNVPROC glad_glCombinerParameterfNV;\n#define glCombinerParameterfNV glad_glCombinerParameterfNV\ntypedef void (APIENTRYP PFNGLCOMBINERPARAMETERIVNVPROC)(GLenum pname, const GLint *params);\nGLAPI PFNGLCOMBINERPARAMETERIVNVPROC glad_glCombinerParameterivNV;\n#define glCombinerParameterivNV glad_glCombinerParameterivNV\ntypedef void (APIENTRYP PFNGLCOMBINERPARAMETERINVPROC)(GLenum pname, GLint param);\nGLAPI PFNGLCOMBINERPARAMETERINVPROC glad_glCombinerParameteriNV;\n#define glCombinerParameteriNV glad_glCombinerParameteriNV\ntypedef void (APIENTRYP PFNGLCOMBINERINPUTNVPROC)(GLenum stage, GLenum portion, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage);\nGLAPI PFNGLCOMBINERINPUTNVPROC glad_glCombinerInputNV;\n#define glCombinerInputNV glad_glCombinerInputNV\ntypedef void (APIENTRYP PFNGLCOMBINEROUTPUTNVPROC)(GLenum stage, GLenum portion, GLenum abOutput, GLenum cdOutput, GLenum sumOutput, GLenum scale, GLenum bias, GLboolean abDotProduct, GLboolean cdDotProduct, GLboolean muxSum);\nGLAPI PFNGLCOMBINEROUTPUTNVPROC glad_glCombinerOutputNV;\n#define glCombinerOutputNV glad_glCombinerOutputNV\ntypedef void (APIENTRYP PFNGLFINALCOMBINERINPUTNVPROC)(GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage);\nGLAPI PFNGLFINALCOMBINERINPUTNVPROC glad_glFinalCombinerInputNV;\n#define glFinalCombinerInputNV glad_glFinalCombinerInputNV\ntypedef void (APIENTRYP PFNGLGETCOMBINERINPUTPARAMETERFVNVPROC)(GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLfloat *params);\nGLAPI PFNGLGETCOMBINERINPUTPARAMETERFVNVPROC glad_glGetCombinerInputParameterfvNV;\n#define glGetCombinerInputParameterfvNV glad_glGetCombinerInputParameterfvNV\ntypedef void (APIENTRYP PFNGLGETCOMBINERINPUTPARAMETERIVNVPROC)(GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLint *params);\nGLAPI PFNGLGETCOMBINERINPUTPARAMETERIVNVPROC glad_glGetCombinerInputParameterivNV;\n#define glGetCombinerInputParameterivNV glad_glGetCombinerInputParameterivNV\ntypedef void (APIENTRYP PFNGLGETCOMBINEROUTPUTPARAMETERFVNVPROC)(GLenum stage, GLenum portion, GLenum pname, GLfloat *params);\nGLAPI PFNGLGETCOMBINEROUTPUTPARAMETERFVNVPROC glad_glGetCombinerOutputParameterfvNV;\n#define glGetCombinerOutputParameterfvNV glad_glGetCombinerOutputParameterfvNV\ntypedef void (APIENTRYP PFNGLGETCOMBINEROUTPUTPARAMETERIVNVPROC)(GLenum stage, GLenum portion, GLenum pname, GLint *params);\nGLAPI PFNGLGETCOMBINEROUTPUTPARAMETERIVNVPROC glad_glGetCombinerOutputParameterivNV;\n#define glGetCombinerOutputParameterivNV glad_glGetCombinerOutputParameterivNV\ntypedef void (APIENTRYP PFNGLGETFINALCOMBINERINPUTPARAMETERFVNVPROC)(GLenum variable, GLenum pname, GLfloat *params);\nGLAPI PFNGLGETFINALCOMBINERINPUTPARAMETERFVNVPROC glad_glGetFinalCombinerInputParameterfvNV;\n#define glGetFinalCombinerInputParameterfvNV glad_glGetFinalCombinerInputParameterfvNV\ntypedef void (APIENTRYP PFNGLGETFINALCOMBINERINPUTPARAMETERIVNVPROC)(GLenum variable, GLenum pname, GLint *params);\nGLAPI PFNGLGETFINALCOMBINERINPUTPARAMETERIVNVPROC glad_glGetFinalCombinerInputParameterivNV;\n#define glGetFinalCombinerInputParameterivNV glad_glGetFinalCombinerInputParameterivNV\n#endif\n#ifndef GL_NV_register_combiners2\n#define GL_NV_register_combiners2 1\nGLAPI int GLAD_GL_NV_register_combiners2;\ntypedef void (APIENTRYP PFNGLCOMBINERSTAGEPARAMETERFVNVPROC)(GLenum stage, GLenum pname, const GLfloat *params);\nGLAPI PFNGLCOMBINERSTAGEPARAMETERFVNVPROC glad_glCombinerStageParameterfvNV;\n#define glCombinerStageParameterfvNV glad_glCombinerStageParameterfvNV\ntypedef void (APIENTRYP PFNGLGETCOMBINERSTAGEPARAMETERFVNVPROC)(GLenum stage, GLenum pname, GLfloat *params);\nGLAPI PFNGLGETCOMBINERSTAGEPARAMETERFVNVPROC glad_glGetCombinerStageParameterfvNV;\n#define glGetCombinerStageParameterfvNV glad_glGetCombinerStageParameterfvNV\n#endif\n#ifndef GL_NV_robustness_video_memory_purge\n#define GL_NV_robustness_video_memory_purge 1\nGLAPI int GLAD_GL_NV_robustness_video_memory_purge;\n#endif\n#ifndef GL_NV_sample_locations\n#define GL_NV_sample_locations 1\nGLAPI int GLAD_GL_NV_sample_locations;\ntypedef void (APIENTRYP PFNGLFRAMEBUFFERSAMPLELOCATIONSFVNVPROC)(GLenum target, GLuint start, GLsizei count, const GLfloat *v);\nGLAPI PFNGLFRAMEBUFFERSAMPLELOCATIONSFVNVPROC glad_glFramebufferSampleLocationsfvNV;\n#define glFramebufferSampleLocationsfvNV glad_glFramebufferSampleLocationsfvNV\ntypedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERSAMPLELOCATIONSFVNVPROC)(GLuint framebuffer, GLuint start, GLsizei count, const GLfloat *v);\nGLAPI PFNGLNAMEDFRAMEBUFFERSAMPLELOCATIONSFVNVPROC glad_glNamedFramebufferSampleLocationsfvNV;\n#define glNamedFramebufferSampleLocationsfvNV glad_glNamedFramebufferSampleLocationsfvNV\ntypedef void (APIENTRYP PFNGLRESOLVEDEPTHVALUESNVPROC)();\nGLAPI PFNGLRESOLVEDEPTHVALUESNVPROC glad_glResolveDepthValuesNV;\n#define glResolveDepthValuesNV glad_glResolveDepthValuesNV\n#endif\n#ifndef GL_NV_sample_mask_override_coverage\n#define GL_NV_sample_mask_override_coverage 1\nGLAPI int GLAD_GL_NV_sample_mask_override_coverage;\n#endif\n#ifndef GL_NV_shader_atomic_counters\n#define GL_NV_shader_atomic_counters 1\nGLAPI int GLAD_GL_NV_shader_atomic_counters;\n#endif\n#ifndef GL_NV_shader_atomic_float\n#define GL_NV_shader_atomic_float 1\nGLAPI int GLAD_GL_NV_shader_atomic_float;\n#endif\n#ifndef GL_NV_shader_atomic_float64\n#define GL_NV_shader_atomic_float64 1\nGLAPI int GLAD_GL_NV_shader_atomic_float64;\n#endif\n#ifndef GL_NV_shader_atomic_fp16_vector\n#define GL_NV_shader_atomic_fp16_vector 1\nGLAPI int GLAD_GL_NV_shader_atomic_fp16_vector;\n#endif\n#ifndef GL_NV_shader_atomic_int64\n#define GL_NV_shader_atomic_int64 1\nGLAPI int GLAD_GL_NV_shader_atomic_int64;\n#endif\n#ifndef GL_NV_shader_buffer_load\n#define GL_NV_shader_buffer_load 1\nGLAPI int GLAD_GL_NV_shader_buffer_load;\ntypedef void (APIENTRYP PFNGLMAKEBUFFERRESIDENTNVPROC)(GLenum target, GLenum access);\nGLAPI PFNGLMAKEBUFFERRESIDENTNVPROC glad_glMakeBufferResidentNV;\n#define glMakeBufferResidentNV glad_glMakeBufferResidentNV\ntypedef void (APIENTRYP PFNGLMAKEBUFFERNONRESIDENTNVPROC)(GLenum target);\nGLAPI PFNGLMAKEBUFFERNONRESIDENTNVPROC glad_glMakeBufferNonResidentNV;\n#define glMakeBufferNonResidentNV glad_glMakeBufferNonResidentNV\ntypedef GLboolean (APIENTRYP PFNGLISBUFFERRESIDENTNVPROC)(GLenum target);\nGLAPI PFNGLISBUFFERRESIDENTNVPROC glad_glIsBufferResidentNV;\n#define glIsBufferResidentNV glad_glIsBufferResidentNV\ntypedef void (APIENTRYP PFNGLMAKENAMEDBUFFERRESIDENTNVPROC)(GLuint buffer, GLenum access);\nGLAPI PFNGLMAKENAMEDBUFFERRESIDENTNVPROC glad_glMakeNamedBufferResidentNV;\n#define glMakeNamedBufferResidentNV glad_glMakeNamedBufferResidentNV\ntypedef void (APIENTRYP PFNGLMAKENAMEDBUFFERNONRESIDENTNVPROC)(GLuint buffer);\nGLAPI PFNGLMAKENAMEDBUFFERNONRESIDENTNVPROC glad_glMakeNamedBufferNonResidentNV;\n#define glMakeNamedBufferNonResidentNV glad_glMakeNamedBufferNonResidentNV\ntypedef GLboolean (APIENTRYP PFNGLISNAMEDBUFFERRESIDENTNVPROC)(GLuint buffer);\nGLAPI PFNGLISNAMEDBUFFERRESIDENTNVPROC glad_glIsNamedBufferResidentNV;\n#define glIsNamedBufferResidentNV glad_glIsNamedBufferResidentNV\ntypedef void (APIENTRYP PFNGLGETBUFFERPARAMETERUI64VNVPROC)(GLenum target, GLenum pname, GLuint64EXT *params);\nGLAPI PFNGLGETBUFFERPARAMETERUI64VNVPROC glad_glGetBufferParameterui64vNV;\n#define glGetBufferParameterui64vNV glad_glGetBufferParameterui64vNV\ntypedef void (APIENTRYP PFNGLGETNAMEDBUFFERPARAMETERUI64VNVPROC)(GLuint buffer, GLenum pname, GLuint64EXT *params);\nGLAPI PFNGLGETNAMEDBUFFERPARAMETERUI64VNVPROC glad_glGetNamedBufferParameterui64vNV;\n#define glGetNamedBufferParameterui64vNV glad_glGetNamedBufferParameterui64vNV\ntypedef void (APIENTRYP PFNGLGETINTEGERUI64VNVPROC)(GLenum value, GLuint64EXT *result);\nGLAPI PFNGLGETINTEGERUI64VNVPROC glad_glGetIntegerui64vNV;\n#define glGetIntegerui64vNV glad_glGetIntegerui64vNV\ntypedef void (APIENTRYP PFNGLUNIFORMUI64NVPROC)(GLint location, GLuint64EXT value);\nGLAPI PFNGLUNIFORMUI64NVPROC glad_glUniformui64NV;\n#define glUniformui64NV glad_glUniformui64NV\ntypedef void (APIENTRYP PFNGLUNIFORMUI64VNVPROC)(GLint location, GLsizei count, const GLuint64EXT *value);\nGLAPI PFNGLUNIFORMUI64VNVPROC glad_glUniformui64vNV;\n#define glUniformui64vNV glad_glUniformui64vNV\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMUI64NVPROC)(GLuint program, GLint location, GLuint64EXT value);\nGLAPI PFNGLPROGRAMUNIFORMUI64NVPROC glad_glProgramUniformui64NV;\n#define glProgramUniformui64NV glad_glProgramUniformui64NV\ntypedef void (APIENTRYP PFNGLPROGRAMUNIFORMUI64VNVPROC)(GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);\nGLAPI PFNGLPROGRAMUNIFORMUI64VNVPROC glad_glProgramUniformui64vNV;\n#define glProgramUniformui64vNV glad_glProgramUniformui64vNV\n#endif\n#ifndef GL_NV_shader_buffer_store\n#define GL_NV_shader_buffer_store 1\nGLAPI int GLAD_GL_NV_shader_buffer_store;\n#endif\n#ifndef GL_NV_shader_storage_buffer_object\n#define GL_NV_shader_storage_buffer_object 1\nGLAPI int GLAD_GL_NV_shader_storage_buffer_object;\n#endif\n#ifndef GL_NV_shader_thread_group\n#define GL_NV_shader_thread_group 1\nGLAPI int GLAD_GL_NV_shader_thread_group;\n#endif\n#ifndef GL_NV_shader_thread_shuffle\n#define GL_NV_shader_thread_shuffle 1\nGLAPI int GLAD_GL_NV_shader_thread_shuffle;\n#endif\n#ifndef GL_NV_stereo_view_rendering\n#define GL_NV_stereo_view_rendering 1\nGLAPI int GLAD_GL_NV_stereo_view_rendering;\n#endif\n#ifndef GL_NV_tessellation_program5\n#define GL_NV_tessellation_program5 1\nGLAPI int GLAD_GL_NV_tessellation_program5;\n#endif\n#ifndef GL_NV_texgen_emboss\n#define GL_NV_texgen_emboss 1\nGLAPI int GLAD_GL_NV_texgen_emboss;\n#endif\n#ifndef GL_NV_texgen_reflection\n#define GL_NV_texgen_reflection 1\nGLAPI int GLAD_GL_NV_texgen_reflection;\n#endif\n#ifndef GL_NV_texture_barrier\n#define GL_NV_texture_barrier 1\nGLAPI int GLAD_GL_NV_texture_barrier;\ntypedef void (APIENTRYP PFNGLTEXTUREBARRIERNVPROC)();\nGLAPI PFNGLTEXTUREBARRIERNVPROC glad_glTextureBarrierNV;\n#define glTextureBarrierNV glad_glTextureBarrierNV\n#endif\n#ifndef GL_NV_texture_compression_vtc\n#define GL_NV_texture_compression_vtc 1\nGLAPI int GLAD_GL_NV_texture_compression_vtc;\n#endif\n#ifndef GL_NV_texture_env_combine4\n#define GL_NV_texture_env_combine4 1\nGLAPI int GLAD_GL_NV_texture_env_combine4;\n#endif\n#ifndef GL_NV_texture_expand_normal\n#define GL_NV_texture_expand_normal 1\nGLAPI int GLAD_GL_NV_texture_expand_normal;\n#endif\n#ifndef GL_NV_texture_multisample\n#define GL_NV_texture_multisample 1\nGLAPI int GLAD_GL_NV_texture_multisample;\ntypedef void (APIENTRYP PFNGLTEXIMAGE2DMULTISAMPLECOVERAGENVPROC)(GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations);\nGLAPI PFNGLTEXIMAGE2DMULTISAMPLECOVERAGENVPROC glad_glTexImage2DMultisampleCoverageNV;\n#define glTexImage2DMultisampleCoverageNV glad_glTexImage2DMultisampleCoverageNV\ntypedef void (APIENTRYP PFNGLTEXIMAGE3DMULTISAMPLECOVERAGENVPROC)(GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations);\nGLAPI PFNGLTEXIMAGE3DMULTISAMPLECOVERAGENVPROC glad_glTexImage3DMultisampleCoverageNV;\n#define glTexImage3DMultisampleCoverageNV glad_glTexImage3DMultisampleCoverageNV\ntypedef void (APIENTRYP PFNGLTEXTUREIMAGE2DMULTISAMPLENVPROC)(GLuint texture, GLenum target, GLsizei samples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations);\nGLAPI PFNGLTEXTUREIMAGE2DMULTISAMPLENVPROC glad_glTextureImage2DMultisampleNV;\n#define glTextureImage2DMultisampleNV glad_glTextureImage2DMultisampleNV\ntypedef void (APIENTRYP PFNGLTEXTUREIMAGE3DMULTISAMPLENVPROC)(GLuint texture, GLenum target, GLsizei samples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations);\nGLAPI PFNGLTEXTUREIMAGE3DMULTISAMPLENVPROC glad_glTextureImage3DMultisampleNV;\n#define glTextureImage3DMultisampleNV glad_glTextureImage3DMultisampleNV\ntypedef void (APIENTRYP PFNGLTEXTUREIMAGE2DMULTISAMPLECOVERAGENVPROC)(GLuint texture, GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations);\nGLAPI PFNGLTEXTUREIMAGE2DMULTISAMPLECOVERAGENVPROC glad_glTextureImage2DMultisampleCoverageNV;\n#define glTextureImage2DMultisampleCoverageNV glad_glTextureImage2DMultisampleCoverageNV\ntypedef void (APIENTRYP PFNGLTEXTUREIMAGE3DMULTISAMPLECOVERAGENVPROC)(GLuint texture, GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations);\nGLAPI PFNGLTEXTUREIMAGE3DMULTISAMPLECOVERAGENVPROC glad_glTextureImage3DMultisampleCoverageNV;\n#define glTextureImage3DMultisampleCoverageNV glad_glTextureImage3DMultisampleCoverageNV\n#endif\n#ifndef GL_NV_texture_rectangle\n#define GL_NV_texture_rectangle 1\nGLAPI int GLAD_GL_NV_texture_rectangle;\n#endif\n#ifndef GL_NV_texture_rectangle_compressed\n#define GL_NV_texture_rectangle_compressed 1\nGLAPI int GLAD_GL_NV_texture_rectangle_compressed;\n#endif\n#ifndef GL_NV_texture_shader\n#define GL_NV_texture_shader 1\nGLAPI int GLAD_GL_NV_texture_shader;\n#endif\n#ifndef GL_NV_texture_shader2\n#define GL_NV_texture_shader2 1\nGLAPI int GLAD_GL_NV_texture_shader2;\n#endif\n#ifndef GL_NV_texture_shader3\n#define GL_NV_texture_shader3 1\nGLAPI int GLAD_GL_NV_texture_shader3;\n#endif\n#ifndef GL_NV_transform_feedback\n#define GL_NV_transform_feedback 1\nGLAPI int GLAD_GL_NV_transform_feedback;\ntypedef void (APIENTRYP PFNGLBEGINTRANSFORMFEEDBACKNVPROC)(GLenum primitiveMode);\nGLAPI PFNGLBEGINTRANSFORMFEEDBACKNVPROC glad_glBeginTransformFeedbackNV;\n#define glBeginTransformFeedbackNV glad_glBeginTransformFeedbackNV\ntypedef void (APIENTRYP PFNGLENDTRANSFORMFEEDBACKNVPROC)();\nGLAPI PFNGLENDTRANSFORMFEEDBACKNVPROC glad_glEndTransformFeedbackNV;\n#define glEndTransformFeedbackNV glad_glEndTransformFeedbackNV\ntypedef void (APIENTRYP PFNGLTRANSFORMFEEDBACKATTRIBSNVPROC)(GLsizei count, const GLint *attribs, GLenum bufferMode);\nGLAPI PFNGLTRANSFORMFEEDBACKATTRIBSNVPROC glad_glTransformFeedbackAttribsNV;\n#define glTransformFeedbackAttribsNV glad_glTransformFeedbackAttribsNV\ntypedef void (APIENTRYP PFNGLBINDBUFFERRANGENVPROC)(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);\nGLAPI PFNGLBINDBUFFERRANGENVPROC glad_glBindBufferRangeNV;\n#define glBindBufferRangeNV glad_glBindBufferRangeNV\ntypedef void (APIENTRYP PFNGLBINDBUFFEROFFSETNVPROC)(GLenum target, GLuint index, GLuint buffer, GLintptr offset);\nGLAPI PFNGLBINDBUFFEROFFSETNVPROC glad_glBindBufferOffsetNV;\n#define glBindBufferOffsetNV glad_glBindBufferOffsetNV\ntypedef void (APIENTRYP PFNGLBINDBUFFERBASENVPROC)(GLenum target, GLuint index, GLuint buffer);\nGLAPI PFNGLBINDBUFFERBASENVPROC glad_glBindBufferBaseNV;\n#define glBindBufferBaseNV glad_glBindBufferBaseNV\ntypedef void (APIENTRYP PFNGLTRANSFORMFEEDBACKVARYINGSNVPROC)(GLuint program, GLsizei count, const GLint *locations, GLenum bufferMode);\nGLAPI PFNGLTRANSFORMFEEDBACKVARYINGSNVPROC glad_glTransformFeedbackVaryingsNV;\n#define glTransformFeedbackVaryingsNV glad_glTransformFeedbackVaryingsNV\ntypedef void (APIENTRYP PFNGLACTIVEVARYINGNVPROC)(GLuint program, const GLchar *name);\nGLAPI PFNGLACTIVEVARYINGNVPROC glad_glActiveVaryingNV;\n#define glActiveVaryingNV glad_glActiveVaryingNV\ntypedef GLint (APIENTRYP PFNGLGETVARYINGLOCATIONNVPROC)(GLuint program, const GLchar *name);\nGLAPI PFNGLGETVARYINGLOCATIONNVPROC glad_glGetVaryingLocationNV;\n#define glGetVaryingLocationNV glad_glGetVaryingLocationNV\ntypedef void (APIENTRYP PFNGLGETACTIVEVARYINGNVPROC)(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);\nGLAPI PFNGLGETACTIVEVARYINGNVPROC glad_glGetActiveVaryingNV;\n#define glGetActiveVaryingNV glad_glGetActiveVaryingNV\ntypedef void (APIENTRYP PFNGLGETTRANSFORMFEEDBACKVARYINGNVPROC)(GLuint program, GLuint index, GLint *location);\nGLAPI PFNGLGETTRANSFORMFEEDBACKVARYINGNVPROC glad_glGetTransformFeedbackVaryingNV;\n#define glGetTransformFeedbackVaryingNV glad_glGetTransformFeedbackVaryingNV\ntypedef void (APIENTRYP PFNGLTRANSFORMFEEDBACKSTREAMATTRIBSNVPROC)(GLsizei count, const GLint *attribs, GLsizei nbuffers, const GLint *bufstreams, GLenum bufferMode);\nGLAPI PFNGLTRANSFORMFEEDBACKSTREAMATTRIBSNVPROC glad_glTransformFeedbackStreamAttribsNV;\n#define glTransformFeedbackStreamAttribsNV glad_glTransformFeedbackStreamAttribsNV\n#endif\n#ifndef GL_NV_transform_feedback2\n#define GL_NV_transform_feedback2 1\nGLAPI int GLAD_GL_NV_transform_feedback2;\ntypedef void (APIENTRYP PFNGLBINDTRANSFORMFEEDBACKNVPROC)(GLenum target, GLuint id);\nGLAPI PFNGLBINDTRANSFORMFEEDBACKNVPROC glad_glBindTransformFeedbackNV;\n#define glBindTransformFeedbackNV glad_glBindTransformFeedbackNV\ntypedef void (APIENTRYP PFNGLDELETETRANSFORMFEEDBACKSNVPROC)(GLsizei n, const GLuint *ids);\nGLAPI PFNGLDELETETRANSFORMFEEDBACKSNVPROC glad_glDeleteTransformFeedbacksNV;\n#define glDeleteTransformFeedbacksNV glad_glDeleteTransformFeedbacksNV\ntypedef void (APIENTRYP PFNGLGENTRANSFORMFEEDBACKSNVPROC)(GLsizei n, GLuint *ids);\nGLAPI PFNGLGENTRANSFORMFEEDBACKSNVPROC glad_glGenTransformFeedbacksNV;\n#define glGenTransformFeedbacksNV glad_glGenTransformFeedbacksNV\ntypedef GLboolean (APIENTRYP PFNGLISTRANSFORMFEEDBACKNVPROC)(GLuint id);\nGLAPI PFNGLISTRANSFORMFEEDBACKNVPROC glad_glIsTransformFeedbackNV;\n#define glIsTransformFeedbackNV glad_glIsTransformFeedbackNV\ntypedef void (APIENTRYP PFNGLPAUSETRANSFORMFEEDBACKNVPROC)();\nGLAPI PFNGLPAUSETRANSFORMFEEDBACKNVPROC glad_glPauseTransformFeedbackNV;\n#define glPauseTransformFeedbackNV glad_glPauseTransformFeedbackNV\ntypedef void (APIENTRYP PFNGLRESUMETRANSFORMFEEDBACKNVPROC)();\nGLAPI PFNGLRESUMETRANSFORMFEEDBACKNVPROC glad_glResumeTransformFeedbackNV;\n#define glResumeTransformFeedbackNV glad_glResumeTransformFeedbackNV\ntypedef void (APIENTRYP PFNGLDRAWTRANSFORMFEEDBACKNVPROC)(GLenum mode, GLuint id);\nGLAPI PFNGLDRAWTRANSFORMFEEDBACKNVPROC glad_glDrawTransformFeedbackNV;\n#define glDrawTransformFeedbackNV glad_glDrawTransformFeedbackNV\n#endif\n#ifndef GL_NV_uniform_buffer_unified_memory\n#define GL_NV_uniform_buffer_unified_memory 1\nGLAPI int GLAD_GL_NV_uniform_buffer_unified_memory;\n#endif\n#ifndef GL_NV_vdpau_interop\n#define GL_NV_vdpau_interop 1\nGLAPI int GLAD_GL_NV_vdpau_interop;\ntypedef void (APIENTRYP PFNGLVDPAUINITNVPROC)(const void *vdpDevice, const void *getProcAddress);\nGLAPI PFNGLVDPAUINITNVPROC glad_glVDPAUInitNV;\n#define glVDPAUInitNV glad_glVDPAUInitNV\ntypedef void (APIENTRYP PFNGLVDPAUFININVPROC)();\nGLAPI PFNGLVDPAUFININVPROC glad_glVDPAUFiniNV;\n#define glVDPAUFiniNV glad_glVDPAUFiniNV\ntypedef GLvdpauSurfaceNV (APIENTRYP PFNGLVDPAUREGISTERVIDEOSURFACENVPROC)(const void *vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint *textureNames);\nGLAPI PFNGLVDPAUREGISTERVIDEOSURFACENVPROC glad_glVDPAURegisterVideoSurfaceNV;\n#define glVDPAURegisterVideoSurfaceNV glad_glVDPAURegisterVideoSurfaceNV\ntypedef GLvdpauSurfaceNV (APIENTRYP PFNGLVDPAUREGISTEROUTPUTSURFACENVPROC)(const void *vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint *textureNames);\nGLAPI PFNGLVDPAUREGISTEROUTPUTSURFACENVPROC glad_glVDPAURegisterOutputSurfaceNV;\n#define glVDPAURegisterOutputSurfaceNV glad_glVDPAURegisterOutputSurfaceNV\ntypedef GLboolean (APIENTRYP PFNGLVDPAUISSURFACENVPROC)(GLvdpauSurfaceNV surface);\nGLAPI PFNGLVDPAUISSURFACENVPROC glad_glVDPAUIsSurfaceNV;\n#define glVDPAUIsSurfaceNV glad_glVDPAUIsSurfaceNV\ntypedef void (APIENTRYP PFNGLVDPAUUNREGISTERSURFACENVPROC)(GLvdpauSurfaceNV surface);\nGLAPI PFNGLVDPAUUNREGISTERSURFACENVPROC glad_glVDPAUUnregisterSurfaceNV;\n#define glVDPAUUnregisterSurfaceNV glad_glVDPAUUnregisterSurfaceNV\ntypedef void (APIENTRYP PFNGLVDPAUGETSURFACEIVNVPROC)(GLvdpauSurfaceNV surface, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);\nGLAPI PFNGLVDPAUGETSURFACEIVNVPROC glad_glVDPAUGetSurfaceivNV;\n#define glVDPAUGetSurfaceivNV glad_glVDPAUGetSurfaceivNV\ntypedef void (APIENTRYP PFNGLVDPAUSURFACEACCESSNVPROC)(GLvdpauSurfaceNV surface, GLenum access);\nGLAPI PFNGLVDPAUSURFACEACCESSNVPROC glad_glVDPAUSurfaceAccessNV;\n#define glVDPAUSurfaceAccessNV glad_glVDPAUSurfaceAccessNV\ntypedef void (APIENTRYP PFNGLVDPAUMAPSURFACESNVPROC)(GLsizei numSurfaces, const GLvdpauSurfaceNV *surfaces);\nGLAPI PFNGLVDPAUMAPSURFACESNVPROC glad_glVDPAUMapSurfacesNV;\n#define glVDPAUMapSurfacesNV glad_glVDPAUMapSurfacesNV\ntypedef void (APIENTRYP PFNGLVDPAUUNMAPSURFACESNVPROC)(GLsizei numSurface, const GLvdpauSurfaceNV *surfaces);\nGLAPI PFNGLVDPAUUNMAPSURFACESNVPROC glad_glVDPAUUnmapSurfacesNV;\n#define glVDPAUUnmapSurfacesNV glad_glVDPAUUnmapSurfacesNV\n#endif\n#ifndef GL_NV_vertex_array_range\n#define GL_NV_vertex_array_range 1\nGLAPI int GLAD_GL_NV_vertex_array_range;\ntypedef void (APIENTRYP PFNGLFLUSHVERTEXARRAYRANGENVPROC)();\nGLAPI PFNGLFLUSHVERTEXARRAYRANGENVPROC glad_glFlushVertexArrayRangeNV;\n#define glFlushVertexArrayRangeNV glad_glFlushVertexArrayRangeNV\ntypedef void (APIENTRYP PFNGLVERTEXARRAYRANGENVPROC)(GLsizei length, const void *pointer);\nGLAPI PFNGLVERTEXARRAYRANGENVPROC glad_glVertexArrayRangeNV;\n#define glVertexArrayRangeNV glad_glVertexArrayRangeNV\n#endif\n#ifndef GL_NV_vertex_array_range2\n#define GL_NV_vertex_array_range2 1\nGLAPI int GLAD_GL_NV_vertex_array_range2;\n#endif\n#ifndef GL_NV_vertex_attrib_integer_64bit\n#define GL_NV_vertex_attrib_integer_64bit 1\nGLAPI int GLAD_GL_NV_vertex_attrib_integer_64bit;\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBL1I64NVPROC)(GLuint index, GLint64EXT x);\nGLAPI PFNGLVERTEXATTRIBL1I64NVPROC glad_glVertexAttribL1i64NV;\n#define glVertexAttribL1i64NV glad_glVertexAttribL1i64NV\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBL2I64NVPROC)(GLuint index, GLint64EXT x, GLint64EXT y);\nGLAPI PFNGLVERTEXATTRIBL2I64NVPROC glad_glVertexAttribL2i64NV;\n#define glVertexAttribL2i64NV glad_glVertexAttribL2i64NV\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBL3I64NVPROC)(GLuint index, GLint64EXT x, GLint64EXT y, GLint64EXT z);\nGLAPI PFNGLVERTEXATTRIBL3I64NVPROC glad_glVertexAttribL3i64NV;\n#define glVertexAttribL3i64NV glad_glVertexAttribL3i64NV\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBL4I64NVPROC)(GLuint index, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w);\nGLAPI PFNGLVERTEXATTRIBL4I64NVPROC glad_glVertexAttribL4i64NV;\n#define glVertexAttribL4i64NV glad_glVertexAttribL4i64NV\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBL1I64VNVPROC)(GLuint index, const GLint64EXT *v);\nGLAPI PFNGLVERTEXATTRIBL1I64VNVPROC glad_glVertexAttribL1i64vNV;\n#define glVertexAttribL1i64vNV glad_glVertexAttribL1i64vNV\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBL2I64VNVPROC)(GLuint index, const GLint64EXT *v);\nGLAPI PFNGLVERTEXATTRIBL2I64VNVPROC glad_glVertexAttribL2i64vNV;\n#define glVertexAttribL2i64vNV glad_glVertexAttribL2i64vNV\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBL3I64VNVPROC)(GLuint index, const GLint64EXT *v);\nGLAPI PFNGLVERTEXATTRIBL3I64VNVPROC glad_glVertexAttribL3i64vNV;\n#define glVertexAttribL3i64vNV glad_glVertexAttribL3i64vNV\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBL4I64VNVPROC)(GLuint index, const GLint64EXT *v);\nGLAPI PFNGLVERTEXATTRIBL4I64VNVPROC glad_glVertexAttribL4i64vNV;\n#define glVertexAttribL4i64vNV glad_glVertexAttribL4i64vNV\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBL1UI64NVPROC)(GLuint index, GLuint64EXT x);\nGLAPI PFNGLVERTEXATTRIBL1UI64NVPROC glad_glVertexAttribL1ui64NV;\n#define glVertexAttribL1ui64NV glad_glVertexAttribL1ui64NV\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBL2UI64NVPROC)(GLuint index, GLuint64EXT x, GLuint64EXT y);\nGLAPI PFNGLVERTEXATTRIBL2UI64NVPROC glad_glVertexAttribL2ui64NV;\n#define glVertexAttribL2ui64NV glad_glVertexAttribL2ui64NV\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBL3UI64NVPROC)(GLuint index, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z);\nGLAPI PFNGLVERTEXATTRIBL3UI64NVPROC glad_glVertexAttribL3ui64NV;\n#define glVertexAttribL3ui64NV glad_glVertexAttribL3ui64NV\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBL4UI64NVPROC)(GLuint index, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w);\nGLAPI PFNGLVERTEXATTRIBL4UI64NVPROC glad_glVertexAttribL4ui64NV;\n#define glVertexAttribL4ui64NV glad_glVertexAttribL4ui64NV\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBL1UI64VNVPROC)(GLuint index, const GLuint64EXT *v);\nGLAPI PFNGLVERTEXATTRIBL1UI64VNVPROC glad_glVertexAttribL1ui64vNV;\n#define glVertexAttribL1ui64vNV glad_glVertexAttribL1ui64vNV\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBL2UI64VNVPROC)(GLuint index, const GLuint64EXT *v);\nGLAPI PFNGLVERTEXATTRIBL2UI64VNVPROC glad_glVertexAttribL2ui64vNV;\n#define glVertexAttribL2ui64vNV glad_glVertexAttribL2ui64vNV\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBL3UI64VNVPROC)(GLuint index, const GLuint64EXT *v);\nGLAPI PFNGLVERTEXATTRIBL3UI64VNVPROC glad_glVertexAttribL3ui64vNV;\n#define glVertexAttribL3ui64vNV glad_glVertexAttribL3ui64vNV\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBL4UI64VNVPROC)(GLuint index, const GLuint64EXT *v);\nGLAPI PFNGLVERTEXATTRIBL4UI64VNVPROC glad_glVertexAttribL4ui64vNV;\n#define glVertexAttribL4ui64vNV glad_glVertexAttribL4ui64vNV\ntypedef void (APIENTRYP PFNGLGETVERTEXATTRIBLI64VNVPROC)(GLuint index, GLenum pname, GLint64EXT *params);\nGLAPI PFNGLGETVERTEXATTRIBLI64VNVPROC glad_glGetVertexAttribLi64vNV;\n#define glGetVertexAttribLi64vNV glad_glGetVertexAttribLi64vNV\ntypedef void (APIENTRYP PFNGLGETVERTEXATTRIBLUI64VNVPROC)(GLuint index, GLenum pname, GLuint64EXT *params);\nGLAPI PFNGLGETVERTEXATTRIBLUI64VNVPROC glad_glGetVertexAttribLui64vNV;\n#define glGetVertexAttribLui64vNV glad_glGetVertexAttribLui64vNV\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBLFORMATNVPROC)(GLuint index, GLint size, GLenum type, GLsizei stride);\nGLAPI PFNGLVERTEXATTRIBLFORMATNVPROC glad_glVertexAttribLFormatNV;\n#define glVertexAttribLFormatNV glad_glVertexAttribLFormatNV\n#endif\n#ifndef GL_NV_vertex_buffer_unified_memory\n#define GL_NV_vertex_buffer_unified_memory 1\nGLAPI int GLAD_GL_NV_vertex_buffer_unified_memory;\ntypedef void (APIENTRYP PFNGLBUFFERADDRESSRANGENVPROC)(GLenum pname, GLuint index, GLuint64EXT address, GLsizeiptr length);\nGLAPI PFNGLBUFFERADDRESSRANGENVPROC glad_glBufferAddressRangeNV;\n#define glBufferAddressRangeNV glad_glBufferAddressRangeNV\ntypedef void (APIENTRYP PFNGLVERTEXFORMATNVPROC)(GLint size, GLenum type, GLsizei stride);\nGLAPI PFNGLVERTEXFORMATNVPROC glad_glVertexFormatNV;\n#define glVertexFormatNV glad_glVertexFormatNV\ntypedef void (APIENTRYP PFNGLNORMALFORMATNVPROC)(GLenum type, GLsizei stride);\nGLAPI PFNGLNORMALFORMATNVPROC glad_glNormalFormatNV;\n#define glNormalFormatNV glad_glNormalFormatNV\ntypedef void (APIENTRYP PFNGLCOLORFORMATNVPROC)(GLint size, GLenum type, GLsizei stride);\nGLAPI PFNGLCOLORFORMATNVPROC glad_glColorFormatNV;\n#define glColorFormatNV glad_glColorFormatNV\ntypedef void (APIENTRYP PFNGLINDEXFORMATNVPROC)(GLenum type, GLsizei stride);\nGLAPI PFNGLINDEXFORMATNVPROC glad_glIndexFormatNV;\n#define glIndexFormatNV glad_glIndexFormatNV\ntypedef void (APIENTRYP PFNGLTEXCOORDFORMATNVPROC)(GLint size, GLenum type, GLsizei stride);\nGLAPI PFNGLTEXCOORDFORMATNVPROC glad_glTexCoordFormatNV;\n#define glTexCoordFormatNV glad_glTexCoordFormatNV\ntypedef void (APIENTRYP PFNGLEDGEFLAGFORMATNVPROC)(GLsizei stride);\nGLAPI PFNGLEDGEFLAGFORMATNVPROC glad_glEdgeFlagFormatNV;\n#define glEdgeFlagFormatNV glad_glEdgeFlagFormatNV\ntypedef void (APIENTRYP PFNGLSECONDARYCOLORFORMATNVPROC)(GLint size, GLenum type, GLsizei stride);\nGLAPI PFNGLSECONDARYCOLORFORMATNVPROC glad_glSecondaryColorFormatNV;\n#define glSecondaryColorFormatNV glad_glSecondaryColorFormatNV\ntypedef void (APIENTRYP PFNGLFOGCOORDFORMATNVPROC)(GLenum type, GLsizei stride);\nGLAPI PFNGLFOGCOORDFORMATNVPROC glad_glFogCoordFormatNV;\n#define glFogCoordFormatNV glad_glFogCoordFormatNV\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBFORMATNVPROC)(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride);\nGLAPI PFNGLVERTEXATTRIBFORMATNVPROC glad_glVertexAttribFormatNV;\n#define glVertexAttribFormatNV glad_glVertexAttribFormatNV\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBIFORMATNVPROC)(GLuint index, GLint size, GLenum type, GLsizei stride);\nGLAPI PFNGLVERTEXATTRIBIFORMATNVPROC glad_glVertexAttribIFormatNV;\n#define glVertexAttribIFormatNV glad_glVertexAttribIFormatNV\ntypedef void (APIENTRYP PFNGLGETINTEGERUI64I_VNVPROC)(GLenum value, GLuint index, GLuint64EXT *result);\nGLAPI PFNGLGETINTEGERUI64I_VNVPROC glad_glGetIntegerui64i_vNV;\n#define glGetIntegerui64i_vNV glad_glGetIntegerui64i_vNV\n#endif\n#ifndef GL_NV_vertex_program\n#define GL_NV_vertex_program 1\nGLAPI int GLAD_GL_NV_vertex_program;\ntypedef GLboolean (APIENTRYP PFNGLAREPROGRAMSRESIDENTNVPROC)(GLsizei n, const GLuint *programs, GLboolean *residences);\nGLAPI PFNGLAREPROGRAMSRESIDENTNVPROC glad_glAreProgramsResidentNV;\n#define glAreProgramsResidentNV glad_glAreProgramsResidentNV\ntypedef void (APIENTRYP PFNGLBINDPROGRAMNVPROC)(GLenum target, GLuint id);\nGLAPI PFNGLBINDPROGRAMNVPROC glad_glBindProgramNV;\n#define glBindProgramNV glad_glBindProgramNV\ntypedef void (APIENTRYP PFNGLDELETEPROGRAMSNVPROC)(GLsizei n, const GLuint *programs);\nGLAPI PFNGLDELETEPROGRAMSNVPROC glad_glDeleteProgramsNV;\n#define glDeleteProgramsNV glad_glDeleteProgramsNV\ntypedef void (APIENTRYP PFNGLEXECUTEPROGRAMNVPROC)(GLenum target, GLuint id, const GLfloat *params);\nGLAPI PFNGLEXECUTEPROGRAMNVPROC glad_glExecuteProgramNV;\n#define glExecuteProgramNV glad_glExecuteProgramNV\ntypedef void (APIENTRYP PFNGLGENPROGRAMSNVPROC)(GLsizei n, GLuint *programs);\nGLAPI PFNGLGENPROGRAMSNVPROC glad_glGenProgramsNV;\n#define glGenProgramsNV glad_glGenProgramsNV\ntypedef void (APIENTRYP PFNGLGETPROGRAMPARAMETERDVNVPROC)(GLenum target, GLuint index, GLenum pname, GLdouble *params);\nGLAPI PFNGLGETPROGRAMPARAMETERDVNVPROC glad_glGetProgramParameterdvNV;\n#define glGetProgramParameterdvNV glad_glGetProgramParameterdvNV\ntypedef void (APIENTRYP PFNGLGETPROGRAMPARAMETERFVNVPROC)(GLenum target, GLuint index, GLenum pname, GLfloat *params);\nGLAPI PFNGLGETPROGRAMPARAMETERFVNVPROC glad_glGetProgramParameterfvNV;\n#define glGetProgramParameterfvNV glad_glGetProgramParameterfvNV\ntypedef void (APIENTRYP PFNGLGETPROGRAMIVNVPROC)(GLuint id, GLenum pname, GLint *params);\nGLAPI PFNGLGETPROGRAMIVNVPROC glad_glGetProgramivNV;\n#define glGetProgramivNV glad_glGetProgramivNV\ntypedef void (APIENTRYP PFNGLGETPROGRAMSTRINGNVPROC)(GLuint id, GLenum pname, GLubyte *program);\nGLAPI PFNGLGETPROGRAMSTRINGNVPROC glad_glGetProgramStringNV;\n#define glGetProgramStringNV glad_glGetProgramStringNV\ntypedef void (APIENTRYP PFNGLGETTRACKMATRIXIVNVPROC)(GLenum target, GLuint address, GLenum pname, GLint *params);\nGLAPI PFNGLGETTRACKMATRIXIVNVPROC glad_glGetTrackMatrixivNV;\n#define glGetTrackMatrixivNV glad_glGetTrackMatrixivNV\ntypedef void (APIENTRYP PFNGLGETVERTEXATTRIBDVNVPROC)(GLuint index, GLenum pname, GLdouble *params);\nGLAPI PFNGLGETVERTEXATTRIBDVNVPROC glad_glGetVertexAttribdvNV;\n#define glGetVertexAttribdvNV glad_glGetVertexAttribdvNV\ntypedef void (APIENTRYP PFNGLGETVERTEXATTRIBFVNVPROC)(GLuint index, GLenum pname, GLfloat *params);\nGLAPI PFNGLGETVERTEXATTRIBFVNVPROC glad_glGetVertexAttribfvNV;\n#define glGetVertexAttribfvNV glad_glGetVertexAttribfvNV\ntypedef void (APIENTRYP PFNGLGETVERTEXATTRIBIVNVPROC)(GLuint index, GLenum pname, GLint *params);\nGLAPI PFNGLGETVERTEXATTRIBIVNVPROC glad_glGetVertexAttribivNV;\n#define glGetVertexAttribivNV glad_glGetVertexAttribivNV\ntypedef void (APIENTRYP PFNGLGETVERTEXATTRIBPOINTERVNVPROC)(GLuint index, GLenum pname, void **pointer);\nGLAPI PFNGLGETVERTEXATTRIBPOINTERVNVPROC glad_glGetVertexAttribPointervNV;\n#define glGetVertexAttribPointervNV glad_glGetVertexAttribPointervNV\ntypedef GLboolean (APIENTRYP PFNGLISPROGRAMNVPROC)(GLuint id);\nGLAPI PFNGLISPROGRAMNVPROC glad_glIsProgramNV;\n#define glIsProgramNV glad_glIsProgramNV\ntypedef void (APIENTRYP PFNGLLOADPROGRAMNVPROC)(GLenum target, GLuint id, GLsizei len, const GLubyte *program);\nGLAPI PFNGLLOADPROGRAMNVPROC glad_glLoadProgramNV;\n#define glLoadProgramNV glad_glLoadProgramNV\ntypedef void (APIENTRYP PFNGLPROGRAMPARAMETER4DNVPROC)(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nGLAPI PFNGLPROGRAMPARAMETER4DNVPROC glad_glProgramParameter4dNV;\n#define glProgramParameter4dNV glad_glProgramParameter4dNV\ntypedef void (APIENTRYP PFNGLPROGRAMPARAMETER4DVNVPROC)(GLenum target, GLuint index, const GLdouble *v);\nGLAPI PFNGLPROGRAMPARAMETER4DVNVPROC glad_glProgramParameter4dvNV;\n#define glProgramParameter4dvNV glad_glProgramParameter4dvNV\ntypedef void (APIENTRYP PFNGLPROGRAMPARAMETER4FNVPROC)(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nGLAPI PFNGLPROGRAMPARAMETER4FNVPROC glad_glProgramParameter4fNV;\n#define glProgramParameter4fNV glad_glProgramParameter4fNV\ntypedef void (APIENTRYP PFNGLPROGRAMPARAMETER4FVNVPROC)(GLenum target, GLuint index, const GLfloat *v);\nGLAPI PFNGLPROGRAMPARAMETER4FVNVPROC glad_glProgramParameter4fvNV;\n#define glProgramParameter4fvNV glad_glProgramParameter4fvNV\ntypedef void (APIENTRYP PFNGLPROGRAMPARAMETERS4DVNVPROC)(GLenum target, GLuint index, GLsizei count, const GLdouble *v);\nGLAPI PFNGLPROGRAMPARAMETERS4DVNVPROC glad_glProgramParameters4dvNV;\n#define glProgramParameters4dvNV glad_glProgramParameters4dvNV\ntypedef void (APIENTRYP PFNGLPROGRAMPARAMETERS4FVNVPROC)(GLenum target, GLuint index, GLsizei count, const GLfloat *v);\nGLAPI PFNGLPROGRAMPARAMETERS4FVNVPROC glad_glProgramParameters4fvNV;\n#define glProgramParameters4fvNV glad_glProgramParameters4fvNV\ntypedef void (APIENTRYP PFNGLREQUESTRESIDENTPROGRAMSNVPROC)(GLsizei n, const GLuint *programs);\nGLAPI PFNGLREQUESTRESIDENTPROGRAMSNVPROC glad_glRequestResidentProgramsNV;\n#define glRequestResidentProgramsNV glad_glRequestResidentProgramsNV\ntypedef void (APIENTRYP PFNGLTRACKMATRIXNVPROC)(GLenum target, GLuint address, GLenum matrix, GLenum transform);\nGLAPI PFNGLTRACKMATRIXNVPROC glad_glTrackMatrixNV;\n#define glTrackMatrixNV glad_glTrackMatrixNV\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBPOINTERNVPROC)(GLuint index, GLint fsize, GLenum type, GLsizei stride, const void *pointer);\nGLAPI PFNGLVERTEXATTRIBPOINTERNVPROC glad_glVertexAttribPointerNV;\n#define glVertexAttribPointerNV glad_glVertexAttribPointerNV\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB1DNVPROC)(GLuint index, GLdouble x);\nGLAPI PFNGLVERTEXATTRIB1DNVPROC glad_glVertexAttrib1dNV;\n#define glVertexAttrib1dNV glad_glVertexAttrib1dNV\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB1DVNVPROC)(GLuint index, const GLdouble *v);\nGLAPI PFNGLVERTEXATTRIB1DVNVPROC glad_glVertexAttrib1dvNV;\n#define glVertexAttrib1dvNV glad_glVertexAttrib1dvNV\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB1FNVPROC)(GLuint index, GLfloat x);\nGLAPI PFNGLVERTEXATTRIB1FNVPROC glad_glVertexAttrib1fNV;\n#define glVertexAttrib1fNV glad_glVertexAttrib1fNV\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB1FVNVPROC)(GLuint index, const GLfloat *v);\nGLAPI PFNGLVERTEXATTRIB1FVNVPROC glad_glVertexAttrib1fvNV;\n#define glVertexAttrib1fvNV glad_glVertexAttrib1fvNV\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB1SNVPROC)(GLuint index, GLshort x);\nGLAPI PFNGLVERTEXATTRIB1SNVPROC glad_glVertexAttrib1sNV;\n#define glVertexAttrib1sNV glad_glVertexAttrib1sNV\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB1SVNVPROC)(GLuint index, const GLshort *v);\nGLAPI PFNGLVERTEXATTRIB1SVNVPROC glad_glVertexAttrib1svNV;\n#define glVertexAttrib1svNV glad_glVertexAttrib1svNV\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB2DNVPROC)(GLuint index, GLdouble x, GLdouble y);\nGLAPI PFNGLVERTEXATTRIB2DNVPROC glad_glVertexAttrib2dNV;\n#define glVertexAttrib2dNV glad_glVertexAttrib2dNV\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB2DVNVPROC)(GLuint index, const GLdouble *v);\nGLAPI PFNGLVERTEXATTRIB2DVNVPROC glad_glVertexAttrib2dvNV;\n#define glVertexAttrib2dvNV glad_glVertexAttrib2dvNV\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB2FNVPROC)(GLuint index, GLfloat x, GLfloat y);\nGLAPI PFNGLVERTEXATTRIB2FNVPROC glad_glVertexAttrib2fNV;\n#define glVertexAttrib2fNV glad_glVertexAttrib2fNV\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB2FVNVPROC)(GLuint index, const GLfloat *v);\nGLAPI PFNGLVERTEXATTRIB2FVNVPROC glad_glVertexAttrib2fvNV;\n#define glVertexAttrib2fvNV glad_glVertexAttrib2fvNV\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB2SNVPROC)(GLuint index, GLshort x, GLshort y);\nGLAPI PFNGLVERTEXATTRIB2SNVPROC glad_glVertexAttrib2sNV;\n#define glVertexAttrib2sNV glad_glVertexAttrib2sNV\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB2SVNVPROC)(GLuint index, const GLshort *v);\nGLAPI PFNGLVERTEXATTRIB2SVNVPROC glad_glVertexAttrib2svNV;\n#define glVertexAttrib2svNV glad_glVertexAttrib2svNV\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB3DNVPROC)(GLuint index, GLdouble x, GLdouble y, GLdouble z);\nGLAPI PFNGLVERTEXATTRIB3DNVPROC glad_glVertexAttrib3dNV;\n#define glVertexAttrib3dNV glad_glVertexAttrib3dNV\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB3DVNVPROC)(GLuint index, const GLdouble *v);\nGLAPI PFNGLVERTEXATTRIB3DVNVPROC glad_glVertexAttrib3dvNV;\n#define glVertexAttrib3dvNV glad_glVertexAttrib3dvNV\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB3FNVPROC)(GLuint index, GLfloat x, GLfloat y, GLfloat z);\nGLAPI PFNGLVERTEXATTRIB3FNVPROC glad_glVertexAttrib3fNV;\n#define glVertexAttrib3fNV glad_glVertexAttrib3fNV\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB3FVNVPROC)(GLuint index, const GLfloat *v);\nGLAPI PFNGLVERTEXATTRIB3FVNVPROC glad_glVertexAttrib3fvNV;\n#define glVertexAttrib3fvNV glad_glVertexAttrib3fvNV\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB3SNVPROC)(GLuint index, GLshort x, GLshort y, GLshort z);\nGLAPI PFNGLVERTEXATTRIB3SNVPROC glad_glVertexAttrib3sNV;\n#define glVertexAttrib3sNV glad_glVertexAttrib3sNV\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB3SVNVPROC)(GLuint index, const GLshort *v);\nGLAPI PFNGLVERTEXATTRIB3SVNVPROC glad_glVertexAttrib3svNV;\n#define glVertexAttrib3svNV glad_glVertexAttrib3svNV\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4DNVPROC)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nGLAPI PFNGLVERTEXATTRIB4DNVPROC glad_glVertexAttrib4dNV;\n#define glVertexAttrib4dNV glad_glVertexAttrib4dNV\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4DVNVPROC)(GLuint index, const GLdouble *v);\nGLAPI PFNGLVERTEXATTRIB4DVNVPROC glad_glVertexAttrib4dvNV;\n#define glVertexAttrib4dvNV glad_glVertexAttrib4dvNV\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4FNVPROC)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nGLAPI PFNGLVERTEXATTRIB4FNVPROC glad_glVertexAttrib4fNV;\n#define glVertexAttrib4fNV glad_glVertexAttrib4fNV\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4FVNVPROC)(GLuint index, const GLfloat *v);\nGLAPI PFNGLVERTEXATTRIB4FVNVPROC glad_glVertexAttrib4fvNV;\n#define glVertexAttrib4fvNV glad_glVertexAttrib4fvNV\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4SNVPROC)(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);\nGLAPI PFNGLVERTEXATTRIB4SNVPROC glad_glVertexAttrib4sNV;\n#define glVertexAttrib4sNV glad_glVertexAttrib4sNV\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4SVNVPROC)(GLuint index, const GLshort *v);\nGLAPI PFNGLVERTEXATTRIB4SVNVPROC glad_glVertexAttrib4svNV;\n#define glVertexAttrib4svNV glad_glVertexAttrib4svNV\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4UBNVPROC)(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);\nGLAPI PFNGLVERTEXATTRIB4UBNVPROC glad_glVertexAttrib4ubNV;\n#define glVertexAttrib4ubNV glad_glVertexAttrib4ubNV\ntypedef void (APIENTRYP PFNGLVERTEXATTRIB4UBVNVPROC)(GLuint index, const GLubyte *v);\nGLAPI PFNGLVERTEXATTRIB4UBVNVPROC glad_glVertexAttrib4ubvNV;\n#define glVertexAttrib4ubvNV glad_glVertexAttrib4ubvNV\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBS1DVNVPROC)(GLuint index, GLsizei count, const GLdouble *v);\nGLAPI PFNGLVERTEXATTRIBS1DVNVPROC glad_glVertexAttribs1dvNV;\n#define glVertexAttribs1dvNV glad_glVertexAttribs1dvNV\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBS1FVNVPROC)(GLuint index, GLsizei count, const GLfloat *v);\nGLAPI PFNGLVERTEXATTRIBS1FVNVPROC glad_glVertexAttribs1fvNV;\n#define glVertexAttribs1fvNV glad_glVertexAttribs1fvNV\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBS1SVNVPROC)(GLuint index, GLsizei count, const GLshort *v);\nGLAPI PFNGLVERTEXATTRIBS1SVNVPROC glad_glVertexAttribs1svNV;\n#define glVertexAttribs1svNV glad_glVertexAttribs1svNV\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBS2DVNVPROC)(GLuint index, GLsizei count, const GLdouble *v);\nGLAPI PFNGLVERTEXATTRIBS2DVNVPROC glad_glVertexAttribs2dvNV;\n#define glVertexAttribs2dvNV glad_glVertexAttribs2dvNV\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBS2FVNVPROC)(GLuint index, GLsizei count, const GLfloat *v);\nGLAPI PFNGLVERTEXATTRIBS2FVNVPROC glad_glVertexAttribs2fvNV;\n#define glVertexAttribs2fvNV glad_glVertexAttribs2fvNV\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBS2SVNVPROC)(GLuint index, GLsizei count, const GLshort *v);\nGLAPI PFNGLVERTEXATTRIBS2SVNVPROC glad_glVertexAttribs2svNV;\n#define glVertexAttribs2svNV glad_glVertexAttribs2svNV\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBS3DVNVPROC)(GLuint index, GLsizei count, const GLdouble *v);\nGLAPI PFNGLVERTEXATTRIBS3DVNVPROC glad_glVertexAttribs3dvNV;\n#define glVertexAttribs3dvNV glad_glVertexAttribs3dvNV\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBS3FVNVPROC)(GLuint index, GLsizei count, const GLfloat *v);\nGLAPI PFNGLVERTEXATTRIBS3FVNVPROC glad_glVertexAttribs3fvNV;\n#define glVertexAttribs3fvNV glad_glVertexAttribs3fvNV\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBS3SVNVPROC)(GLuint index, GLsizei count, const GLshort *v);\nGLAPI PFNGLVERTEXATTRIBS3SVNVPROC glad_glVertexAttribs3svNV;\n#define glVertexAttribs3svNV glad_glVertexAttribs3svNV\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBS4DVNVPROC)(GLuint index, GLsizei count, const GLdouble *v);\nGLAPI PFNGLVERTEXATTRIBS4DVNVPROC glad_glVertexAttribs4dvNV;\n#define glVertexAttribs4dvNV glad_glVertexAttribs4dvNV\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBS4FVNVPROC)(GLuint index, GLsizei count, const GLfloat *v);\nGLAPI PFNGLVERTEXATTRIBS4FVNVPROC glad_glVertexAttribs4fvNV;\n#define glVertexAttribs4fvNV glad_glVertexAttribs4fvNV\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBS4SVNVPROC)(GLuint index, GLsizei count, const GLshort *v);\nGLAPI PFNGLVERTEXATTRIBS4SVNVPROC glad_glVertexAttribs4svNV;\n#define glVertexAttribs4svNV glad_glVertexAttribs4svNV\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBS4UBVNVPROC)(GLuint index, GLsizei count, const GLubyte *v);\nGLAPI PFNGLVERTEXATTRIBS4UBVNVPROC glad_glVertexAttribs4ubvNV;\n#define glVertexAttribs4ubvNV glad_glVertexAttribs4ubvNV\n#endif\n#ifndef GL_NV_vertex_program1_1\n#define GL_NV_vertex_program1_1 1\nGLAPI int GLAD_GL_NV_vertex_program1_1;\n#endif\n#ifndef GL_NV_vertex_program2\n#define GL_NV_vertex_program2 1\nGLAPI int GLAD_GL_NV_vertex_program2;\n#endif\n#ifndef GL_NV_vertex_program2_option\n#define GL_NV_vertex_program2_option 1\nGLAPI int GLAD_GL_NV_vertex_program2_option;\n#endif\n#ifndef GL_NV_vertex_program3\n#define GL_NV_vertex_program3 1\nGLAPI int GLAD_GL_NV_vertex_program3;\n#endif\n#ifndef GL_NV_vertex_program4\n#define GL_NV_vertex_program4 1\nGLAPI int GLAD_GL_NV_vertex_program4;\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBI1IEXTPROC)(GLuint index, GLint x);\nGLAPI PFNGLVERTEXATTRIBI1IEXTPROC glad_glVertexAttribI1iEXT;\n#define glVertexAttribI1iEXT glad_glVertexAttribI1iEXT\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBI2IEXTPROC)(GLuint index, GLint x, GLint y);\nGLAPI PFNGLVERTEXATTRIBI2IEXTPROC glad_glVertexAttribI2iEXT;\n#define glVertexAttribI2iEXT glad_glVertexAttribI2iEXT\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBI3IEXTPROC)(GLuint index, GLint x, GLint y, GLint z);\nGLAPI PFNGLVERTEXATTRIBI3IEXTPROC glad_glVertexAttribI3iEXT;\n#define glVertexAttribI3iEXT glad_glVertexAttribI3iEXT\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBI4IEXTPROC)(GLuint index, GLint x, GLint y, GLint z, GLint w);\nGLAPI PFNGLVERTEXATTRIBI4IEXTPROC glad_glVertexAttribI4iEXT;\n#define glVertexAttribI4iEXT glad_glVertexAttribI4iEXT\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBI1UIEXTPROC)(GLuint index, GLuint x);\nGLAPI PFNGLVERTEXATTRIBI1UIEXTPROC glad_glVertexAttribI1uiEXT;\n#define glVertexAttribI1uiEXT glad_glVertexAttribI1uiEXT\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBI2UIEXTPROC)(GLuint index, GLuint x, GLuint y);\nGLAPI PFNGLVERTEXATTRIBI2UIEXTPROC glad_glVertexAttribI2uiEXT;\n#define glVertexAttribI2uiEXT glad_glVertexAttribI2uiEXT\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBI3UIEXTPROC)(GLuint index, GLuint x, GLuint y, GLuint z);\nGLAPI PFNGLVERTEXATTRIBI3UIEXTPROC glad_glVertexAttribI3uiEXT;\n#define glVertexAttribI3uiEXT glad_glVertexAttribI3uiEXT\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBI4UIEXTPROC)(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);\nGLAPI PFNGLVERTEXATTRIBI4UIEXTPROC glad_glVertexAttribI4uiEXT;\n#define glVertexAttribI4uiEXT glad_glVertexAttribI4uiEXT\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBI1IVEXTPROC)(GLuint index, const GLint *v);\nGLAPI PFNGLVERTEXATTRIBI1IVEXTPROC glad_glVertexAttribI1ivEXT;\n#define glVertexAttribI1ivEXT glad_glVertexAttribI1ivEXT\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBI2IVEXTPROC)(GLuint index, const GLint *v);\nGLAPI PFNGLVERTEXATTRIBI2IVEXTPROC glad_glVertexAttribI2ivEXT;\n#define glVertexAttribI2ivEXT glad_glVertexAttribI2ivEXT\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBI3IVEXTPROC)(GLuint index, const GLint *v);\nGLAPI PFNGLVERTEXATTRIBI3IVEXTPROC glad_glVertexAttribI3ivEXT;\n#define glVertexAttribI3ivEXT glad_glVertexAttribI3ivEXT\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBI4IVEXTPROC)(GLuint index, const GLint *v);\nGLAPI PFNGLVERTEXATTRIBI4IVEXTPROC glad_glVertexAttribI4ivEXT;\n#define glVertexAttribI4ivEXT glad_glVertexAttribI4ivEXT\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBI1UIVEXTPROC)(GLuint index, const GLuint *v);\nGLAPI PFNGLVERTEXATTRIBI1UIVEXTPROC glad_glVertexAttribI1uivEXT;\n#define glVertexAttribI1uivEXT glad_glVertexAttribI1uivEXT\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBI2UIVEXTPROC)(GLuint index, const GLuint *v);\nGLAPI PFNGLVERTEXATTRIBI2UIVEXTPROC glad_glVertexAttribI2uivEXT;\n#define glVertexAttribI2uivEXT glad_glVertexAttribI2uivEXT\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBI3UIVEXTPROC)(GLuint index, const GLuint *v);\nGLAPI PFNGLVERTEXATTRIBI3UIVEXTPROC glad_glVertexAttribI3uivEXT;\n#define glVertexAttribI3uivEXT glad_glVertexAttribI3uivEXT\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBI4UIVEXTPROC)(GLuint index, const GLuint *v);\nGLAPI PFNGLVERTEXATTRIBI4UIVEXTPROC glad_glVertexAttribI4uivEXT;\n#define glVertexAttribI4uivEXT glad_glVertexAttribI4uivEXT\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBI4BVEXTPROC)(GLuint index, const GLbyte *v);\nGLAPI PFNGLVERTEXATTRIBI4BVEXTPROC glad_glVertexAttribI4bvEXT;\n#define glVertexAttribI4bvEXT glad_glVertexAttribI4bvEXT\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBI4SVEXTPROC)(GLuint index, const GLshort *v);\nGLAPI PFNGLVERTEXATTRIBI4SVEXTPROC glad_glVertexAttribI4svEXT;\n#define glVertexAttribI4svEXT glad_glVertexAttribI4svEXT\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBI4UBVEXTPROC)(GLuint index, const GLubyte *v);\nGLAPI PFNGLVERTEXATTRIBI4UBVEXTPROC glad_glVertexAttribI4ubvEXT;\n#define glVertexAttribI4ubvEXT glad_glVertexAttribI4ubvEXT\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBI4USVEXTPROC)(GLuint index, const GLushort *v);\nGLAPI PFNGLVERTEXATTRIBI4USVEXTPROC glad_glVertexAttribI4usvEXT;\n#define glVertexAttribI4usvEXT glad_glVertexAttribI4usvEXT\ntypedef void (APIENTRYP PFNGLVERTEXATTRIBIPOINTEREXTPROC)(GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer);\nGLAPI PFNGLVERTEXATTRIBIPOINTEREXTPROC glad_glVertexAttribIPointerEXT;\n#define glVertexAttribIPointerEXT glad_glVertexAttribIPointerEXT\ntypedef void (APIENTRYP PFNGLGETVERTEXATTRIBIIVEXTPROC)(GLuint index, GLenum pname, GLint *params);\nGLAPI PFNGLGETVERTEXATTRIBIIVEXTPROC glad_glGetVertexAttribIivEXT;\n#define glGetVertexAttribIivEXT glad_glGetVertexAttribIivEXT\ntypedef void (APIENTRYP PFNGLGETVERTEXATTRIBIUIVEXTPROC)(GLuint index, GLenum pname, GLuint *params);\nGLAPI PFNGLGETVERTEXATTRIBIUIVEXTPROC glad_glGetVertexAttribIuivEXT;\n#define glGetVertexAttribIuivEXT glad_glGetVertexAttribIuivEXT\n#endif\n#ifndef GL_NV_video_capture\n#define GL_NV_video_capture 1\nGLAPI int GLAD_GL_NV_video_capture;\ntypedef void (APIENTRYP PFNGLBEGINVIDEOCAPTURENVPROC)(GLuint video_capture_slot);\nGLAPI PFNGLBEGINVIDEOCAPTURENVPROC glad_glBeginVideoCaptureNV;\n#define glBeginVideoCaptureNV glad_glBeginVideoCaptureNV\ntypedef void (APIENTRYP PFNGLBINDVIDEOCAPTURESTREAMBUFFERNVPROC)(GLuint video_capture_slot, GLuint stream, GLenum frame_region, GLintptrARB offset);\nGLAPI PFNGLBINDVIDEOCAPTURESTREAMBUFFERNVPROC glad_glBindVideoCaptureStreamBufferNV;\n#define glBindVideoCaptureStreamBufferNV glad_glBindVideoCaptureStreamBufferNV\ntypedef void (APIENTRYP PFNGLBINDVIDEOCAPTURESTREAMTEXTURENVPROC)(GLuint video_capture_slot, GLuint stream, GLenum frame_region, GLenum target, GLuint texture);\nGLAPI PFNGLBINDVIDEOCAPTURESTREAMTEXTURENVPROC glad_glBindVideoCaptureStreamTextureNV;\n#define glBindVideoCaptureStreamTextureNV glad_glBindVideoCaptureStreamTextureNV\ntypedef void (APIENTRYP PFNGLENDVIDEOCAPTURENVPROC)(GLuint video_capture_slot);\nGLAPI PFNGLENDVIDEOCAPTURENVPROC glad_glEndVideoCaptureNV;\n#define glEndVideoCaptureNV glad_glEndVideoCaptureNV\ntypedef void (APIENTRYP PFNGLGETVIDEOCAPTUREIVNVPROC)(GLuint video_capture_slot, GLenum pname, GLint *params);\nGLAPI PFNGLGETVIDEOCAPTUREIVNVPROC glad_glGetVideoCaptureivNV;\n#define glGetVideoCaptureivNV glad_glGetVideoCaptureivNV\ntypedef void (APIENTRYP PFNGLGETVIDEOCAPTURESTREAMIVNVPROC)(GLuint video_capture_slot, GLuint stream, GLenum pname, GLint *params);\nGLAPI PFNGLGETVIDEOCAPTURESTREAMIVNVPROC glad_glGetVideoCaptureStreamivNV;\n#define glGetVideoCaptureStreamivNV glad_glGetVideoCaptureStreamivNV\ntypedef void (APIENTRYP PFNGLGETVIDEOCAPTURESTREAMFVNVPROC)(GLuint video_capture_slot, GLuint stream, GLenum pname, GLfloat *params);\nGLAPI PFNGLGETVIDEOCAPTURESTREAMFVNVPROC glad_glGetVideoCaptureStreamfvNV;\n#define glGetVideoCaptureStreamfvNV glad_glGetVideoCaptureStreamfvNV\ntypedef void (APIENTRYP PFNGLGETVIDEOCAPTURESTREAMDVNVPROC)(GLuint video_capture_slot, GLuint stream, GLenum pname, GLdouble *params);\nGLAPI PFNGLGETVIDEOCAPTURESTREAMDVNVPROC glad_glGetVideoCaptureStreamdvNV;\n#define glGetVideoCaptureStreamdvNV glad_glGetVideoCaptureStreamdvNV\ntypedef GLenum (APIENTRYP PFNGLVIDEOCAPTURENVPROC)(GLuint video_capture_slot, GLuint *sequence_num, GLuint64EXT *capture_time);\nGLAPI PFNGLVIDEOCAPTURENVPROC glad_glVideoCaptureNV;\n#define glVideoCaptureNV glad_glVideoCaptureNV\ntypedef void (APIENTRYP PFNGLVIDEOCAPTURESTREAMPARAMETERIVNVPROC)(GLuint video_capture_slot, GLuint stream, GLenum pname, const GLint *params);\nGLAPI PFNGLVIDEOCAPTURESTREAMPARAMETERIVNVPROC glad_glVideoCaptureStreamParameterivNV;\n#define glVideoCaptureStreamParameterivNV glad_glVideoCaptureStreamParameterivNV\ntypedef void (APIENTRYP PFNGLVIDEOCAPTURESTREAMPARAMETERFVNVPROC)(GLuint video_capture_slot, GLuint stream, GLenum pname, const GLfloat *params);\nGLAPI PFNGLVIDEOCAPTURESTREAMPARAMETERFVNVPROC glad_glVideoCaptureStreamParameterfvNV;\n#define glVideoCaptureStreamParameterfvNV glad_glVideoCaptureStreamParameterfvNV\ntypedef void (APIENTRYP PFNGLVIDEOCAPTURESTREAMPARAMETERDVNVPROC)(GLuint video_capture_slot, GLuint stream, GLenum pname, const GLdouble *params);\nGLAPI PFNGLVIDEOCAPTURESTREAMPARAMETERDVNVPROC glad_glVideoCaptureStreamParameterdvNV;\n#define glVideoCaptureStreamParameterdvNV glad_glVideoCaptureStreamParameterdvNV\n#endif\n#ifndef GL_NV_viewport_array2\n#define GL_NV_viewport_array2 1\nGLAPI int GLAD_GL_NV_viewport_array2;\n#endif\n#ifndef GL_NV_viewport_swizzle\n#define GL_NV_viewport_swizzle 1\nGLAPI int GLAD_GL_NV_viewport_swizzle;\ntypedef void (APIENTRYP PFNGLVIEWPORTSWIZZLENVPROC)(GLuint index, GLenum swizzlex, GLenum swizzley, GLenum swizzlez, GLenum swizzlew);\nGLAPI PFNGLVIEWPORTSWIZZLENVPROC glad_glViewportSwizzleNV;\n#define glViewportSwizzleNV glad_glViewportSwizzleNV\n#endif\n#ifndef GL_OES_byte_coordinates\n#define GL_OES_byte_coordinates 1\nGLAPI int GLAD_GL_OES_byte_coordinates;\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD1BOESPROC)(GLenum texture, GLbyte s);\nGLAPI PFNGLMULTITEXCOORD1BOESPROC glad_glMultiTexCoord1bOES;\n#define glMultiTexCoord1bOES glad_glMultiTexCoord1bOES\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD1BVOESPROC)(GLenum texture, const GLbyte *coords);\nGLAPI PFNGLMULTITEXCOORD1BVOESPROC glad_glMultiTexCoord1bvOES;\n#define glMultiTexCoord1bvOES glad_glMultiTexCoord1bvOES\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD2BOESPROC)(GLenum texture, GLbyte s, GLbyte t);\nGLAPI PFNGLMULTITEXCOORD2BOESPROC glad_glMultiTexCoord2bOES;\n#define glMultiTexCoord2bOES glad_glMultiTexCoord2bOES\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD2BVOESPROC)(GLenum texture, const GLbyte *coords);\nGLAPI PFNGLMULTITEXCOORD2BVOESPROC glad_glMultiTexCoord2bvOES;\n#define glMultiTexCoord2bvOES glad_glMultiTexCoord2bvOES\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD3BOESPROC)(GLenum texture, GLbyte s, GLbyte t, GLbyte r);\nGLAPI PFNGLMULTITEXCOORD3BOESPROC glad_glMultiTexCoord3bOES;\n#define glMultiTexCoord3bOES glad_glMultiTexCoord3bOES\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD3BVOESPROC)(GLenum texture, const GLbyte *coords);\nGLAPI PFNGLMULTITEXCOORD3BVOESPROC glad_glMultiTexCoord3bvOES;\n#define glMultiTexCoord3bvOES glad_glMultiTexCoord3bvOES\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD4BOESPROC)(GLenum texture, GLbyte s, GLbyte t, GLbyte r, GLbyte q);\nGLAPI PFNGLMULTITEXCOORD4BOESPROC glad_glMultiTexCoord4bOES;\n#define glMultiTexCoord4bOES glad_glMultiTexCoord4bOES\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD4BVOESPROC)(GLenum texture, const GLbyte *coords);\nGLAPI PFNGLMULTITEXCOORD4BVOESPROC glad_glMultiTexCoord4bvOES;\n#define glMultiTexCoord4bvOES glad_glMultiTexCoord4bvOES\ntypedef void (APIENTRYP PFNGLTEXCOORD1BOESPROC)(GLbyte s);\nGLAPI PFNGLTEXCOORD1BOESPROC glad_glTexCoord1bOES;\n#define glTexCoord1bOES glad_glTexCoord1bOES\ntypedef void (APIENTRYP PFNGLTEXCOORD1BVOESPROC)(const GLbyte *coords);\nGLAPI PFNGLTEXCOORD1BVOESPROC glad_glTexCoord1bvOES;\n#define glTexCoord1bvOES glad_glTexCoord1bvOES\ntypedef void (APIENTRYP PFNGLTEXCOORD2BOESPROC)(GLbyte s, GLbyte t);\nGLAPI PFNGLTEXCOORD2BOESPROC glad_glTexCoord2bOES;\n#define glTexCoord2bOES glad_glTexCoord2bOES\ntypedef void (APIENTRYP PFNGLTEXCOORD2BVOESPROC)(const GLbyte *coords);\nGLAPI PFNGLTEXCOORD2BVOESPROC glad_glTexCoord2bvOES;\n#define glTexCoord2bvOES glad_glTexCoord2bvOES\ntypedef void (APIENTRYP PFNGLTEXCOORD3BOESPROC)(GLbyte s, GLbyte t, GLbyte r);\nGLAPI PFNGLTEXCOORD3BOESPROC glad_glTexCoord3bOES;\n#define glTexCoord3bOES glad_glTexCoord3bOES\ntypedef void (APIENTRYP PFNGLTEXCOORD3BVOESPROC)(const GLbyte *coords);\nGLAPI PFNGLTEXCOORD3BVOESPROC glad_glTexCoord3bvOES;\n#define glTexCoord3bvOES glad_glTexCoord3bvOES\ntypedef void (APIENTRYP PFNGLTEXCOORD4BOESPROC)(GLbyte s, GLbyte t, GLbyte r, GLbyte q);\nGLAPI PFNGLTEXCOORD4BOESPROC glad_glTexCoord4bOES;\n#define glTexCoord4bOES glad_glTexCoord4bOES\ntypedef void (APIENTRYP PFNGLTEXCOORD4BVOESPROC)(const GLbyte *coords);\nGLAPI PFNGLTEXCOORD4BVOESPROC glad_glTexCoord4bvOES;\n#define glTexCoord4bvOES glad_glTexCoord4bvOES\ntypedef void (APIENTRYP PFNGLVERTEX2BOESPROC)(GLbyte x, GLbyte y);\nGLAPI PFNGLVERTEX2BOESPROC glad_glVertex2bOES;\n#define glVertex2bOES glad_glVertex2bOES\ntypedef void (APIENTRYP PFNGLVERTEX2BVOESPROC)(const GLbyte *coords);\nGLAPI PFNGLVERTEX2BVOESPROC glad_glVertex2bvOES;\n#define glVertex2bvOES glad_glVertex2bvOES\ntypedef void (APIENTRYP PFNGLVERTEX3BOESPROC)(GLbyte x, GLbyte y, GLbyte z);\nGLAPI PFNGLVERTEX3BOESPROC glad_glVertex3bOES;\n#define glVertex3bOES glad_glVertex3bOES\ntypedef void (APIENTRYP PFNGLVERTEX3BVOESPROC)(const GLbyte *coords);\nGLAPI PFNGLVERTEX3BVOESPROC glad_glVertex3bvOES;\n#define glVertex3bvOES glad_glVertex3bvOES\ntypedef void (APIENTRYP PFNGLVERTEX4BOESPROC)(GLbyte x, GLbyte y, GLbyte z, GLbyte w);\nGLAPI PFNGLVERTEX4BOESPROC glad_glVertex4bOES;\n#define glVertex4bOES glad_glVertex4bOES\ntypedef void (APIENTRYP PFNGLVERTEX4BVOESPROC)(const GLbyte *coords);\nGLAPI PFNGLVERTEX4BVOESPROC glad_glVertex4bvOES;\n#define glVertex4bvOES glad_glVertex4bvOES\n#endif\n#ifndef GL_OES_compressed_paletted_texture\n#define GL_OES_compressed_paletted_texture 1\nGLAPI int GLAD_GL_OES_compressed_paletted_texture;\n#endif\n#ifndef GL_OES_fixed_point\n#define GL_OES_fixed_point 1\nGLAPI int GLAD_GL_OES_fixed_point;\ntypedef void (APIENTRYP PFNGLALPHAFUNCXOESPROC)(GLenum func, GLfixed ref);\nGLAPI PFNGLALPHAFUNCXOESPROC glad_glAlphaFuncxOES;\n#define glAlphaFuncxOES glad_glAlphaFuncxOES\ntypedef void (APIENTRYP PFNGLCLEARCOLORXOESPROC)(GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha);\nGLAPI PFNGLCLEARCOLORXOESPROC glad_glClearColorxOES;\n#define glClearColorxOES glad_glClearColorxOES\ntypedef void (APIENTRYP PFNGLCLEARDEPTHXOESPROC)(GLfixed depth);\nGLAPI PFNGLCLEARDEPTHXOESPROC glad_glClearDepthxOES;\n#define glClearDepthxOES glad_glClearDepthxOES\ntypedef void (APIENTRYP PFNGLCLIPPLANEXOESPROC)(GLenum plane, const GLfixed *equation);\nGLAPI PFNGLCLIPPLANEXOESPROC glad_glClipPlanexOES;\n#define glClipPlanexOES glad_glClipPlanexOES\ntypedef void (APIENTRYP PFNGLCOLOR4XOESPROC)(GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha);\nGLAPI PFNGLCOLOR4XOESPROC glad_glColor4xOES;\n#define glColor4xOES glad_glColor4xOES\ntypedef void (APIENTRYP PFNGLDEPTHRANGEXOESPROC)(GLfixed n, GLfixed f);\nGLAPI PFNGLDEPTHRANGEXOESPROC glad_glDepthRangexOES;\n#define glDepthRangexOES glad_glDepthRangexOES\ntypedef void (APIENTRYP PFNGLFOGXOESPROC)(GLenum pname, GLfixed param);\nGLAPI PFNGLFOGXOESPROC glad_glFogxOES;\n#define glFogxOES glad_glFogxOES\ntypedef void (APIENTRYP PFNGLFOGXVOESPROC)(GLenum pname, const GLfixed *param);\nGLAPI PFNGLFOGXVOESPROC glad_glFogxvOES;\n#define glFogxvOES glad_glFogxvOES\ntypedef void (APIENTRYP PFNGLFRUSTUMXOESPROC)(GLfixed l, GLfixed r, GLfixed b, GLfixed t, GLfixed n, GLfixed f);\nGLAPI PFNGLFRUSTUMXOESPROC glad_glFrustumxOES;\n#define glFrustumxOES glad_glFrustumxOES\ntypedef void (APIENTRYP PFNGLGETCLIPPLANEXOESPROC)(GLenum plane, GLfixed *equation);\nGLAPI PFNGLGETCLIPPLANEXOESPROC glad_glGetClipPlanexOES;\n#define glGetClipPlanexOES glad_glGetClipPlanexOES\ntypedef void (APIENTRYP PFNGLGETFIXEDVOESPROC)(GLenum pname, GLfixed *params);\nGLAPI PFNGLGETFIXEDVOESPROC glad_glGetFixedvOES;\n#define glGetFixedvOES glad_glGetFixedvOES\ntypedef void (APIENTRYP PFNGLGETTEXENVXVOESPROC)(GLenum target, GLenum pname, GLfixed *params);\nGLAPI PFNGLGETTEXENVXVOESPROC glad_glGetTexEnvxvOES;\n#define glGetTexEnvxvOES glad_glGetTexEnvxvOES\ntypedef void (APIENTRYP PFNGLGETTEXPARAMETERXVOESPROC)(GLenum target, GLenum pname, GLfixed *params);\nGLAPI PFNGLGETTEXPARAMETERXVOESPROC glad_glGetTexParameterxvOES;\n#define glGetTexParameterxvOES glad_glGetTexParameterxvOES\ntypedef void (APIENTRYP PFNGLLIGHTMODELXOESPROC)(GLenum pname, GLfixed param);\nGLAPI PFNGLLIGHTMODELXOESPROC glad_glLightModelxOES;\n#define glLightModelxOES glad_glLightModelxOES\ntypedef void (APIENTRYP PFNGLLIGHTMODELXVOESPROC)(GLenum pname, const GLfixed *param);\nGLAPI PFNGLLIGHTMODELXVOESPROC glad_glLightModelxvOES;\n#define glLightModelxvOES glad_glLightModelxvOES\ntypedef void (APIENTRYP PFNGLLIGHTXOESPROC)(GLenum light, GLenum pname, GLfixed param);\nGLAPI PFNGLLIGHTXOESPROC glad_glLightxOES;\n#define glLightxOES glad_glLightxOES\ntypedef void (APIENTRYP PFNGLLIGHTXVOESPROC)(GLenum light, GLenum pname, const GLfixed *params);\nGLAPI PFNGLLIGHTXVOESPROC glad_glLightxvOES;\n#define glLightxvOES glad_glLightxvOES\ntypedef void (APIENTRYP PFNGLLINEWIDTHXOESPROC)(GLfixed width);\nGLAPI PFNGLLINEWIDTHXOESPROC glad_glLineWidthxOES;\n#define glLineWidthxOES glad_glLineWidthxOES\ntypedef void (APIENTRYP PFNGLLOADMATRIXXOESPROC)(const GLfixed *m);\nGLAPI PFNGLLOADMATRIXXOESPROC glad_glLoadMatrixxOES;\n#define glLoadMatrixxOES glad_glLoadMatrixxOES\ntypedef void (APIENTRYP PFNGLMATERIALXOESPROC)(GLenum face, GLenum pname, GLfixed param);\nGLAPI PFNGLMATERIALXOESPROC glad_glMaterialxOES;\n#define glMaterialxOES glad_glMaterialxOES\ntypedef void (APIENTRYP PFNGLMATERIALXVOESPROC)(GLenum face, GLenum pname, const GLfixed *param);\nGLAPI PFNGLMATERIALXVOESPROC glad_glMaterialxvOES;\n#define glMaterialxvOES glad_glMaterialxvOES\ntypedef void (APIENTRYP PFNGLMULTMATRIXXOESPROC)(const GLfixed *m);\nGLAPI PFNGLMULTMATRIXXOESPROC glad_glMultMatrixxOES;\n#define glMultMatrixxOES glad_glMultMatrixxOES\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD4XOESPROC)(GLenum texture, GLfixed s, GLfixed t, GLfixed r, GLfixed q);\nGLAPI PFNGLMULTITEXCOORD4XOESPROC glad_glMultiTexCoord4xOES;\n#define glMultiTexCoord4xOES glad_glMultiTexCoord4xOES\ntypedef void (APIENTRYP PFNGLNORMAL3XOESPROC)(GLfixed nx, GLfixed ny, GLfixed nz);\nGLAPI PFNGLNORMAL3XOESPROC glad_glNormal3xOES;\n#define glNormal3xOES glad_glNormal3xOES\ntypedef void (APIENTRYP PFNGLORTHOXOESPROC)(GLfixed l, GLfixed r, GLfixed b, GLfixed t, GLfixed n, GLfixed f);\nGLAPI PFNGLORTHOXOESPROC glad_glOrthoxOES;\n#define glOrthoxOES glad_glOrthoxOES\ntypedef void (APIENTRYP PFNGLPOINTPARAMETERXVOESPROC)(GLenum pname, const GLfixed *params);\nGLAPI PFNGLPOINTPARAMETERXVOESPROC glad_glPointParameterxvOES;\n#define glPointParameterxvOES glad_glPointParameterxvOES\ntypedef void (APIENTRYP PFNGLPOINTSIZEXOESPROC)(GLfixed size);\nGLAPI PFNGLPOINTSIZEXOESPROC glad_glPointSizexOES;\n#define glPointSizexOES glad_glPointSizexOES\ntypedef void (APIENTRYP PFNGLPOLYGONOFFSETXOESPROC)(GLfixed factor, GLfixed units);\nGLAPI PFNGLPOLYGONOFFSETXOESPROC glad_glPolygonOffsetxOES;\n#define glPolygonOffsetxOES glad_glPolygonOffsetxOES\ntypedef void (APIENTRYP PFNGLROTATEXOESPROC)(GLfixed angle, GLfixed x, GLfixed y, GLfixed z);\nGLAPI PFNGLROTATEXOESPROC glad_glRotatexOES;\n#define glRotatexOES glad_glRotatexOES\ntypedef void (APIENTRYP PFNGLSCALEXOESPROC)(GLfixed x, GLfixed y, GLfixed z);\nGLAPI PFNGLSCALEXOESPROC glad_glScalexOES;\n#define glScalexOES glad_glScalexOES\ntypedef void (APIENTRYP PFNGLTEXENVXOESPROC)(GLenum target, GLenum pname, GLfixed param);\nGLAPI PFNGLTEXENVXOESPROC glad_glTexEnvxOES;\n#define glTexEnvxOES glad_glTexEnvxOES\ntypedef void (APIENTRYP PFNGLTEXENVXVOESPROC)(GLenum target, GLenum pname, const GLfixed *params);\nGLAPI PFNGLTEXENVXVOESPROC glad_glTexEnvxvOES;\n#define glTexEnvxvOES glad_glTexEnvxvOES\ntypedef void (APIENTRYP PFNGLTEXPARAMETERXOESPROC)(GLenum target, GLenum pname, GLfixed param);\nGLAPI PFNGLTEXPARAMETERXOESPROC glad_glTexParameterxOES;\n#define glTexParameterxOES glad_glTexParameterxOES\ntypedef void (APIENTRYP PFNGLTEXPARAMETERXVOESPROC)(GLenum target, GLenum pname, const GLfixed *params);\nGLAPI PFNGLTEXPARAMETERXVOESPROC glad_glTexParameterxvOES;\n#define glTexParameterxvOES glad_glTexParameterxvOES\ntypedef void (APIENTRYP PFNGLTRANSLATEXOESPROC)(GLfixed x, GLfixed y, GLfixed z);\nGLAPI PFNGLTRANSLATEXOESPROC glad_glTranslatexOES;\n#define glTranslatexOES glad_glTranslatexOES\ntypedef void (APIENTRYP PFNGLGETLIGHTXVOESPROC)(GLenum light, GLenum pname, GLfixed *params);\nGLAPI PFNGLGETLIGHTXVOESPROC glad_glGetLightxvOES;\n#define glGetLightxvOES glad_glGetLightxvOES\ntypedef void (APIENTRYP PFNGLGETMATERIALXVOESPROC)(GLenum face, GLenum pname, GLfixed *params);\nGLAPI PFNGLGETMATERIALXVOESPROC glad_glGetMaterialxvOES;\n#define glGetMaterialxvOES glad_glGetMaterialxvOES\ntypedef void (APIENTRYP PFNGLPOINTPARAMETERXOESPROC)(GLenum pname, GLfixed param);\nGLAPI PFNGLPOINTPARAMETERXOESPROC glad_glPointParameterxOES;\n#define glPointParameterxOES glad_glPointParameterxOES\ntypedef void (APIENTRYP PFNGLSAMPLECOVERAGEXOESPROC)(GLclampx value, GLboolean invert);\nGLAPI PFNGLSAMPLECOVERAGEXOESPROC glad_glSampleCoveragexOES;\n#define glSampleCoveragexOES glad_glSampleCoveragexOES\ntypedef void (APIENTRYP PFNGLACCUMXOESPROC)(GLenum op, GLfixed value);\nGLAPI PFNGLACCUMXOESPROC glad_glAccumxOES;\n#define glAccumxOES glad_glAccumxOES\ntypedef void (APIENTRYP PFNGLBITMAPXOESPROC)(GLsizei width, GLsizei height, GLfixed xorig, GLfixed yorig, GLfixed xmove, GLfixed ymove, const GLubyte *bitmap);\nGLAPI PFNGLBITMAPXOESPROC glad_glBitmapxOES;\n#define glBitmapxOES glad_glBitmapxOES\ntypedef void (APIENTRYP PFNGLBLENDCOLORXOESPROC)(GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha);\nGLAPI PFNGLBLENDCOLORXOESPROC glad_glBlendColorxOES;\n#define glBlendColorxOES glad_glBlendColorxOES\ntypedef void (APIENTRYP PFNGLCLEARACCUMXOESPROC)(GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha);\nGLAPI PFNGLCLEARACCUMXOESPROC glad_glClearAccumxOES;\n#define glClearAccumxOES glad_glClearAccumxOES\ntypedef void (APIENTRYP PFNGLCOLOR3XOESPROC)(GLfixed red, GLfixed green, GLfixed blue);\nGLAPI PFNGLCOLOR3XOESPROC glad_glColor3xOES;\n#define glColor3xOES glad_glColor3xOES\ntypedef void (APIENTRYP PFNGLCOLOR3XVOESPROC)(const GLfixed *components);\nGLAPI PFNGLCOLOR3XVOESPROC glad_glColor3xvOES;\n#define glColor3xvOES glad_glColor3xvOES\ntypedef void (APIENTRYP PFNGLCOLOR4XVOESPROC)(const GLfixed *components);\nGLAPI PFNGLCOLOR4XVOESPROC glad_glColor4xvOES;\n#define glColor4xvOES glad_glColor4xvOES\ntypedef void (APIENTRYP PFNGLCONVOLUTIONPARAMETERXOESPROC)(GLenum target, GLenum pname, GLfixed param);\nGLAPI PFNGLCONVOLUTIONPARAMETERXOESPROC glad_glConvolutionParameterxOES;\n#define glConvolutionParameterxOES glad_glConvolutionParameterxOES\ntypedef void (APIENTRYP PFNGLCONVOLUTIONPARAMETERXVOESPROC)(GLenum target, GLenum pname, const GLfixed *params);\nGLAPI PFNGLCONVOLUTIONPARAMETERXVOESPROC glad_glConvolutionParameterxvOES;\n#define glConvolutionParameterxvOES glad_glConvolutionParameterxvOES\ntypedef void (APIENTRYP PFNGLEVALCOORD1XOESPROC)(GLfixed u);\nGLAPI PFNGLEVALCOORD1XOESPROC glad_glEvalCoord1xOES;\n#define glEvalCoord1xOES glad_glEvalCoord1xOES\ntypedef void (APIENTRYP PFNGLEVALCOORD1XVOESPROC)(const GLfixed *coords);\nGLAPI PFNGLEVALCOORD1XVOESPROC glad_glEvalCoord1xvOES;\n#define glEvalCoord1xvOES glad_glEvalCoord1xvOES\ntypedef void (APIENTRYP PFNGLEVALCOORD2XOESPROC)(GLfixed u, GLfixed v);\nGLAPI PFNGLEVALCOORD2XOESPROC glad_glEvalCoord2xOES;\n#define glEvalCoord2xOES glad_glEvalCoord2xOES\ntypedef void (APIENTRYP PFNGLEVALCOORD2XVOESPROC)(const GLfixed *coords);\nGLAPI PFNGLEVALCOORD2XVOESPROC glad_glEvalCoord2xvOES;\n#define glEvalCoord2xvOES glad_glEvalCoord2xvOES\ntypedef void (APIENTRYP PFNGLFEEDBACKBUFFERXOESPROC)(GLsizei n, GLenum type, const GLfixed *buffer);\nGLAPI PFNGLFEEDBACKBUFFERXOESPROC glad_glFeedbackBufferxOES;\n#define glFeedbackBufferxOES glad_glFeedbackBufferxOES\ntypedef void (APIENTRYP PFNGLGETCONVOLUTIONPARAMETERXVOESPROC)(GLenum target, GLenum pname, GLfixed *params);\nGLAPI PFNGLGETCONVOLUTIONPARAMETERXVOESPROC glad_glGetConvolutionParameterxvOES;\n#define glGetConvolutionParameterxvOES glad_glGetConvolutionParameterxvOES\ntypedef void (APIENTRYP PFNGLGETHISTOGRAMPARAMETERXVOESPROC)(GLenum target, GLenum pname, GLfixed *params);\nGLAPI PFNGLGETHISTOGRAMPARAMETERXVOESPROC glad_glGetHistogramParameterxvOES;\n#define glGetHistogramParameterxvOES glad_glGetHistogramParameterxvOES\ntypedef void (APIENTRYP PFNGLGETLIGHTXOESPROC)(GLenum light, GLenum pname, GLfixed *params);\nGLAPI PFNGLGETLIGHTXOESPROC glad_glGetLightxOES;\n#define glGetLightxOES glad_glGetLightxOES\ntypedef void (APIENTRYP PFNGLGETMAPXVOESPROC)(GLenum target, GLenum query, GLfixed *v);\nGLAPI PFNGLGETMAPXVOESPROC glad_glGetMapxvOES;\n#define glGetMapxvOES glad_glGetMapxvOES\ntypedef void (APIENTRYP PFNGLGETMATERIALXOESPROC)(GLenum face, GLenum pname, GLfixed param);\nGLAPI PFNGLGETMATERIALXOESPROC glad_glGetMaterialxOES;\n#define glGetMaterialxOES glad_glGetMaterialxOES\ntypedef void (APIENTRYP PFNGLGETPIXELMAPXVPROC)(GLenum map, GLint size, GLfixed *values);\nGLAPI PFNGLGETPIXELMAPXVPROC glad_glGetPixelMapxv;\n#define glGetPixelMapxv glad_glGetPixelMapxv\ntypedef void (APIENTRYP PFNGLGETTEXGENXVOESPROC)(GLenum coord, GLenum pname, GLfixed *params);\nGLAPI PFNGLGETTEXGENXVOESPROC glad_glGetTexGenxvOES;\n#define glGetTexGenxvOES glad_glGetTexGenxvOES\ntypedef void (APIENTRYP PFNGLGETTEXLEVELPARAMETERXVOESPROC)(GLenum target, GLint level, GLenum pname, GLfixed *params);\nGLAPI PFNGLGETTEXLEVELPARAMETERXVOESPROC glad_glGetTexLevelParameterxvOES;\n#define glGetTexLevelParameterxvOES glad_glGetTexLevelParameterxvOES\ntypedef void (APIENTRYP PFNGLINDEXXOESPROC)(GLfixed component);\nGLAPI PFNGLINDEXXOESPROC glad_glIndexxOES;\n#define glIndexxOES glad_glIndexxOES\ntypedef void (APIENTRYP PFNGLINDEXXVOESPROC)(const GLfixed *component);\nGLAPI PFNGLINDEXXVOESPROC glad_glIndexxvOES;\n#define glIndexxvOES glad_glIndexxvOES\ntypedef void (APIENTRYP PFNGLLOADTRANSPOSEMATRIXXOESPROC)(const GLfixed *m);\nGLAPI PFNGLLOADTRANSPOSEMATRIXXOESPROC glad_glLoadTransposeMatrixxOES;\n#define glLoadTransposeMatrixxOES glad_glLoadTransposeMatrixxOES\ntypedef void (APIENTRYP PFNGLMAP1XOESPROC)(GLenum target, GLfixed u1, GLfixed u2, GLint stride, GLint order, GLfixed points);\nGLAPI PFNGLMAP1XOESPROC glad_glMap1xOES;\n#define glMap1xOES glad_glMap1xOES\ntypedef void (APIENTRYP PFNGLMAP2XOESPROC)(GLenum target, GLfixed u1, GLfixed u2, GLint ustride, GLint uorder, GLfixed v1, GLfixed v2, GLint vstride, GLint vorder, GLfixed points);\nGLAPI PFNGLMAP2XOESPROC glad_glMap2xOES;\n#define glMap2xOES glad_glMap2xOES\ntypedef void (APIENTRYP PFNGLMAPGRID1XOESPROC)(GLint n, GLfixed u1, GLfixed u2);\nGLAPI PFNGLMAPGRID1XOESPROC glad_glMapGrid1xOES;\n#define glMapGrid1xOES glad_glMapGrid1xOES\ntypedef void (APIENTRYP PFNGLMAPGRID2XOESPROC)(GLint n, GLfixed u1, GLfixed u2, GLfixed v1, GLfixed v2);\nGLAPI PFNGLMAPGRID2XOESPROC glad_glMapGrid2xOES;\n#define glMapGrid2xOES glad_glMapGrid2xOES\ntypedef void (APIENTRYP PFNGLMULTTRANSPOSEMATRIXXOESPROC)(const GLfixed *m);\nGLAPI PFNGLMULTTRANSPOSEMATRIXXOESPROC glad_glMultTransposeMatrixxOES;\n#define glMultTransposeMatrixxOES glad_glMultTransposeMatrixxOES\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD1XOESPROC)(GLenum texture, GLfixed s);\nGLAPI PFNGLMULTITEXCOORD1XOESPROC glad_glMultiTexCoord1xOES;\n#define glMultiTexCoord1xOES glad_glMultiTexCoord1xOES\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD1XVOESPROC)(GLenum texture, const GLfixed *coords);\nGLAPI PFNGLMULTITEXCOORD1XVOESPROC glad_glMultiTexCoord1xvOES;\n#define glMultiTexCoord1xvOES glad_glMultiTexCoord1xvOES\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD2XOESPROC)(GLenum texture, GLfixed s, GLfixed t);\nGLAPI PFNGLMULTITEXCOORD2XOESPROC glad_glMultiTexCoord2xOES;\n#define glMultiTexCoord2xOES glad_glMultiTexCoord2xOES\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD2XVOESPROC)(GLenum texture, const GLfixed *coords);\nGLAPI PFNGLMULTITEXCOORD2XVOESPROC glad_glMultiTexCoord2xvOES;\n#define glMultiTexCoord2xvOES glad_glMultiTexCoord2xvOES\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD3XOESPROC)(GLenum texture, GLfixed s, GLfixed t, GLfixed r);\nGLAPI PFNGLMULTITEXCOORD3XOESPROC glad_glMultiTexCoord3xOES;\n#define glMultiTexCoord3xOES glad_glMultiTexCoord3xOES\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD3XVOESPROC)(GLenum texture, const GLfixed *coords);\nGLAPI PFNGLMULTITEXCOORD3XVOESPROC glad_glMultiTexCoord3xvOES;\n#define glMultiTexCoord3xvOES glad_glMultiTexCoord3xvOES\ntypedef void (APIENTRYP PFNGLMULTITEXCOORD4XVOESPROC)(GLenum texture, const GLfixed *coords);\nGLAPI PFNGLMULTITEXCOORD4XVOESPROC glad_glMultiTexCoord4xvOES;\n#define glMultiTexCoord4xvOES glad_glMultiTexCoord4xvOES\ntypedef void (APIENTRYP PFNGLNORMAL3XVOESPROC)(const GLfixed *coords);\nGLAPI PFNGLNORMAL3XVOESPROC glad_glNormal3xvOES;\n#define glNormal3xvOES glad_glNormal3xvOES\ntypedef void (APIENTRYP PFNGLPASSTHROUGHXOESPROC)(GLfixed token);\nGLAPI PFNGLPASSTHROUGHXOESPROC glad_glPassThroughxOES;\n#define glPassThroughxOES glad_glPassThroughxOES\ntypedef void (APIENTRYP PFNGLPIXELMAPXPROC)(GLenum map, GLint size, const GLfixed *values);\nGLAPI PFNGLPIXELMAPXPROC glad_glPixelMapx;\n#define glPixelMapx glad_glPixelMapx\ntypedef void (APIENTRYP PFNGLPIXELSTOREXPROC)(GLenum pname, GLfixed param);\nGLAPI PFNGLPIXELSTOREXPROC glad_glPixelStorex;\n#define glPixelStorex glad_glPixelStorex\ntypedef void (APIENTRYP PFNGLPIXELTRANSFERXOESPROC)(GLenum pname, GLfixed param);\nGLAPI PFNGLPIXELTRANSFERXOESPROC glad_glPixelTransferxOES;\n#define glPixelTransferxOES glad_glPixelTransferxOES\ntypedef void (APIENTRYP PFNGLPIXELZOOMXOESPROC)(GLfixed xfactor, GLfixed yfactor);\nGLAPI PFNGLPIXELZOOMXOESPROC glad_glPixelZoomxOES;\n#define glPixelZoomxOES glad_glPixelZoomxOES\ntypedef void (APIENTRYP PFNGLPRIORITIZETEXTURESXOESPROC)(GLsizei n, const GLuint *textures, const GLfixed *priorities);\nGLAPI PFNGLPRIORITIZETEXTURESXOESPROC glad_glPrioritizeTexturesxOES;\n#define glPrioritizeTexturesxOES glad_glPrioritizeTexturesxOES\ntypedef void (APIENTRYP PFNGLRASTERPOS2XOESPROC)(GLfixed x, GLfixed y);\nGLAPI PFNGLRASTERPOS2XOESPROC glad_glRasterPos2xOES;\n#define glRasterPos2xOES glad_glRasterPos2xOES\ntypedef void (APIENTRYP PFNGLRASTERPOS2XVOESPROC)(const GLfixed *coords);\nGLAPI PFNGLRASTERPOS2XVOESPROC glad_glRasterPos2xvOES;\n#define glRasterPos2xvOES glad_glRasterPos2xvOES\ntypedef void (APIENTRYP PFNGLRASTERPOS3XOESPROC)(GLfixed x, GLfixed y, GLfixed z);\nGLAPI PFNGLRASTERPOS3XOESPROC glad_glRasterPos3xOES;\n#define glRasterPos3xOES glad_glRasterPos3xOES\ntypedef void (APIENTRYP PFNGLRASTERPOS3XVOESPROC)(const GLfixed *coords);\nGLAPI PFNGLRASTERPOS3XVOESPROC glad_glRasterPos3xvOES;\n#define glRasterPos3xvOES glad_glRasterPos3xvOES\ntypedef void (APIENTRYP PFNGLRASTERPOS4XOESPROC)(GLfixed x, GLfixed y, GLfixed z, GLfixed w);\nGLAPI PFNGLRASTERPOS4XOESPROC glad_glRasterPos4xOES;\n#define glRasterPos4xOES glad_glRasterPos4xOES\ntypedef void (APIENTRYP PFNGLRASTERPOS4XVOESPROC)(const GLfixed *coords);\nGLAPI PFNGLRASTERPOS4XVOESPROC glad_glRasterPos4xvOES;\n#define glRasterPos4xvOES glad_glRasterPos4xvOES\ntypedef void (APIENTRYP PFNGLRECTXOESPROC)(GLfixed x1, GLfixed y1, GLfixed x2, GLfixed y2);\nGLAPI PFNGLRECTXOESPROC glad_glRectxOES;\n#define glRectxOES glad_glRectxOES\ntypedef void (APIENTRYP PFNGLRECTXVOESPROC)(const GLfixed *v1, const GLfixed *v2);\nGLAPI PFNGLRECTXVOESPROC glad_glRectxvOES;\n#define glRectxvOES glad_glRectxvOES\ntypedef void (APIENTRYP PFNGLTEXCOORD1XOESPROC)(GLfixed s);\nGLAPI PFNGLTEXCOORD1XOESPROC glad_glTexCoord1xOES;\n#define glTexCoord1xOES glad_glTexCoord1xOES\ntypedef void (APIENTRYP PFNGLTEXCOORD1XVOESPROC)(const GLfixed *coords);\nGLAPI PFNGLTEXCOORD1XVOESPROC glad_glTexCoord1xvOES;\n#define glTexCoord1xvOES glad_glTexCoord1xvOES\ntypedef void (APIENTRYP PFNGLTEXCOORD2XOESPROC)(GLfixed s, GLfixed t);\nGLAPI PFNGLTEXCOORD2XOESPROC glad_glTexCoord2xOES;\n#define glTexCoord2xOES glad_glTexCoord2xOES\ntypedef void (APIENTRYP PFNGLTEXCOORD2XVOESPROC)(const GLfixed *coords);\nGLAPI PFNGLTEXCOORD2XVOESPROC glad_glTexCoord2xvOES;\n#define glTexCoord2xvOES glad_glTexCoord2xvOES\ntypedef void (APIENTRYP PFNGLTEXCOORD3XOESPROC)(GLfixed s, GLfixed t, GLfixed r);\nGLAPI PFNGLTEXCOORD3XOESPROC glad_glTexCoord3xOES;\n#define glTexCoord3xOES glad_glTexCoord3xOES\ntypedef void (APIENTRYP PFNGLTEXCOORD3XVOESPROC)(const GLfixed *coords);\nGLAPI PFNGLTEXCOORD3XVOESPROC glad_glTexCoord3xvOES;\n#define glTexCoord3xvOES glad_glTexCoord3xvOES\ntypedef void (APIENTRYP PFNGLTEXCOORD4XOESPROC)(GLfixed s, GLfixed t, GLfixed r, GLfixed q);\nGLAPI PFNGLTEXCOORD4XOESPROC glad_glTexCoord4xOES;\n#define glTexCoord4xOES glad_glTexCoord4xOES\ntypedef void (APIENTRYP PFNGLTEXCOORD4XVOESPROC)(const GLfixed *coords);\nGLAPI PFNGLTEXCOORD4XVOESPROC glad_glTexCoord4xvOES;\n#define glTexCoord4xvOES glad_glTexCoord4xvOES\ntypedef void (APIENTRYP PFNGLTEXGENXOESPROC)(GLenum coord, GLenum pname, GLfixed param);\nGLAPI PFNGLTEXGENXOESPROC glad_glTexGenxOES;\n#define glTexGenxOES glad_glTexGenxOES\ntypedef void (APIENTRYP PFNGLTEXGENXVOESPROC)(GLenum coord, GLenum pname, const GLfixed *params);\nGLAPI PFNGLTEXGENXVOESPROC glad_glTexGenxvOES;\n#define glTexGenxvOES glad_glTexGenxvOES\ntypedef void (APIENTRYP PFNGLVERTEX2XOESPROC)(GLfixed x);\nGLAPI PFNGLVERTEX2XOESPROC glad_glVertex2xOES;\n#define glVertex2xOES glad_glVertex2xOES\ntypedef void (APIENTRYP PFNGLVERTEX2XVOESPROC)(const GLfixed *coords);\nGLAPI PFNGLVERTEX2XVOESPROC glad_glVertex2xvOES;\n#define glVertex2xvOES glad_glVertex2xvOES\ntypedef void (APIENTRYP PFNGLVERTEX3XOESPROC)(GLfixed x, GLfixed y);\nGLAPI PFNGLVERTEX3XOESPROC glad_glVertex3xOES;\n#define glVertex3xOES glad_glVertex3xOES\ntypedef void (APIENTRYP PFNGLVERTEX3XVOESPROC)(const GLfixed *coords);\nGLAPI PFNGLVERTEX3XVOESPROC glad_glVertex3xvOES;\n#define glVertex3xvOES glad_glVertex3xvOES\ntypedef void (APIENTRYP PFNGLVERTEX4XOESPROC)(GLfixed x, GLfixed y, GLfixed z);\nGLAPI PFNGLVERTEX4XOESPROC glad_glVertex4xOES;\n#define glVertex4xOES glad_glVertex4xOES\ntypedef void (APIENTRYP PFNGLVERTEX4XVOESPROC)(const GLfixed *coords);\nGLAPI PFNGLVERTEX4XVOESPROC glad_glVertex4xvOES;\n#define glVertex4xvOES glad_glVertex4xvOES\n#endif\n#ifndef GL_OES_query_matrix\n#define GL_OES_query_matrix 1\nGLAPI int GLAD_GL_OES_query_matrix;\ntypedef GLbitfield (APIENTRYP PFNGLQUERYMATRIXXOESPROC)(GLfixed *mantissa, GLint *exponent);\nGLAPI PFNGLQUERYMATRIXXOESPROC glad_glQueryMatrixxOES;\n#define glQueryMatrixxOES glad_glQueryMatrixxOES\n#endif\n#ifndef GL_OES_read_format\n#define GL_OES_read_format 1\nGLAPI int GLAD_GL_OES_read_format;\n#endif\n#ifndef GL_OES_single_precision\n#define GL_OES_single_precision 1\nGLAPI int GLAD_GL_OES_single_precision;\ntypedef void (APIENTRYP PFNGLCLEARDEPTHFOESPROC)(GLclampf depth);\nGLAPI PFNGLCLEARDEPTHFOESPROC glad_glClearDepthfOES;\n#define glClearDepthfOES glad_glClearDepthfOES\ntypedef void (APIENTRYP PFNGLCLIPPLANEFOESPROC)(GLenum plane, const GLfloat *equation);\nGLAPI PFNGLCLIPPLANEFOESPROC glad_glClipPlanefOES;\n#define glClipPlanefOES glad_glClipPlanefOES\ntypedef void (APIENTRYP PFNGLDEPTHRANGEFOESPROC)(GLclampf n, GLclampf f);\nGLAPI PFNGLDEPTHRANGEFOESPROC glad_glDepthRangefOES;\n#define glDepthRangefOES glad_glDepthRangefOES\ntypedef void (APIENTRYP PFNGLFRUSTUMFOESPROC)(GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f);\nGLAPI PFNGLFRUSTUMFOESPROC glad_glFrustumfOES;\n#define glFrustumfOES glad_glFrustumfOES\ntypedef void (APIENTRYP PFNGLGETCLIPPLANEFOESPROC)(GLenum plane, GLfloat *equation);\nGLAPI PFNGLGETCLIPPLANEFOESPROC glad_glGetClipPlanefOES;\n#define glGetClipPlanefOES glad_glGetClipPlanefOES\ntypedef void (APIENTRYP PFNGLORTHOFOESPROC)(GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f);\nGLAPI PFNGLORTHOFOESPROC glad_glOrthofOES;\n#define glOrthofOES glad_glOrthofOES\n#endif\n#ifndef GL_OML_interlace\n#define GL_OML_interlace 1\nGLAPI int GLAD_GL_OML_interlace;\n#endif\n#ifndef GL_OML_resample\n#define GL_OML_resample 1\nGLAPI int GLAD_GL_OML_resample;\n#endif\n#ifndef GL_OML_subsample\n#define GL_OML_subsample 1\nGLAPI int GLAD_GL_OML_subsample;\n#endif\n#ifndef GL_OVR_multiview\n#define GL_OVR_multiview 1\nGLAPI int GLAD_GL_OVR_multiview;\ntypedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTUREMULTIVIEWOVRPROC)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint baseViewIndex, GLsizei numViews);\nGLAPI PFNGLFRAMEBUFFERTEXTUREMULTIVIEWOVRPROC glad_glFramebufferTextureMultiviewOVR;\n#define glFramebufferTextureMultiviewOVR glad_glFramebufferTextureMultiviewOVR\n#endif\n#ifndef GL_OVR_multiview2\n#define GL_OVR_multiview2 1\nGLAPI int GLAD_GL_OVR_multiview2;\n#endif\n#ifndef GL_PGI_misc_hints\n#define GL_PGI_misc_hints 1\nGLAPI int GLAD_GL_PGI_misc_hints;\ntypedef void (APIENTRYP PFNGLHINTPGIPROC)(GLenum target, GLint mode);\nGLAPI PFNGLHINTPGIPROC glad_glHintPGI;\n#define glHintPGI glad_glHintPGI\n#endif\n#ifndef GL_PGI_vertex_hints\n#define GL_PGI_vertex_hints 1\nGLAPI int GLAD_GL_PGI_vertex_hints;\n#endif\n#ifndef GL_REND_screen_coordinates\n#define GL_REND_screen_coordinates 1\nGLAPI int GLAD_GL_REND_screen_coordinates;\n#endif\n#ifndef GL_S3_s3tc\n#define GL_S3_s3tc 1\nGLAPI int GLAD_GL_S3_s3tc;\n#endif\n#ifndef GL_SGIS_detail_texture\n#define GL_SGIS_detail_texture 1\nGLAPI int GLAD_GL_SGIS_detail_texture;\ntypedef void (APIENTRYP PFNGLDETAILTEXFUNCSGISPROC)(GLenum target, GLsizei n, const GLfloat *points);\nGLAPI PFNGLDETAILTEXFUNCSGISPROC glad_glDetailTexFuncSGIS;\n#define glDetailTexFuncSGIS glad_glDetailTexFuncSGIS\ntypedef void (APIENTRYP PFNGLGETDETAILTEXFUNCSGISPROC)(GLenum target, GLfloat *points);\nGLAPI PFNGLGETDETAILTEXFUNCSGISPROC glad_glGetDetailTexFuncSGIS;\n#define glGetDetailTexFuncSGIS glad_glGetDetailTexFuncSGIS\n#endif\n#ifndef GL_SGIS_fog_function\n#define GL_SGIS_fog_function 1\nGLAPI int GLAD_GL_SGIS_fog_function;\ntypedef void (APIENTRYP PFNGLFOGFUNCSGISPROC)(GLsizei n, const GLfloat *points);\nGLAPI PFNGLFOGFUNCSGISPROC glad_glFogFuncSGIS;\n#define glFogFuncSGIS glad_glFogFuncSGIS\ntypedef void (APIENTRYP PFNGLGETFOGFUNCSGISPROC)(GLfloat *points);\nGLAPI PFNGLGETFOGFUNCSGISPROC glad_glGetFogFuncSGIS;\n#define glGetFogFuncSGIS glad_glGetFogFuncSGIS\n#endif\n#ifndef GL_SGIS_generate_mipmap\n#define GL_SGIS_generate_mipmap 1\nGLAPI int GLAD_GL_SGIS_generate_mipmap;\n#endif\n#ifndef GL_SGIS_multisample\n#define GL_SGIS_multisample 1\nGLAPI int GLAD_GL_SGIS_multisample;\ntypedef void (APIENTRYP PFNGLSAMPLEMASKSGISPROC)(GLclampf value, GLboolean invert);\nGLAPI PFNGLSAMPLEMASKSGISPROC glad_glSampleMaskSGIS;\n#define glSampleMaskSGIS glad_glSampleMaskSGIS\ntypedef void (APIENTRYP PFNGLSAMPLEPATTERNSGISPROC)(GLenum pattern);\nGLAPI PFNGLSAMPLEPATTERNSGISPROC glad_glSamplePatternSGIS;\n#define glSamplePatternSGIS glad_glSamplePatternSGIS\n#endif\n#ifndef GL_SGIS_pixel_texture\n#define GL_SGIS_pixel_texture 1\nGLAPI int GLAD_GL_SGIS_pixel_texture;\ntypedef void (APIENTRYP PFNGLPIXELTEXGENPARAMETERISGISPROC)(GLenum pname, GLint param);\nGLAPI PFNGLPIXELTEXGENPARAMETERISGISPROC glad_glPixelTexGenParameteriSGIS;\n#define glPixelTexGenParameteriSGIS glad_glPixelTexGenParameteriSGIS\ntypedef void (APIENTRYP PFNGLPIXELTEXGENPARAMETERIVSGISPROC)(GLenum pname, const GLint *params);\nGLAPI PFNGLPIXELTEXGENPARAMETERIVSGISPROC glad_glPixelTexGenParameterivSGIS;\n#define glPixelTexGenParameterivSGIS glad_glPixelTexGenParameterivSGIS\ntypedef void (APIENTRYP PFNGLPIXELTEXGENPARAMETERFSGISPROC)(GLenum pname, GLfloat param);\nGLAPI PFNGLPIXELTEXGENPARAMETERFSGISPROC glad_glPixelTexGenParameterfSGIS;\n#define glPixelTexGenParameterfSGIS glad_glPixelTexGenParameterfSGIS\ntypedef void (APIENTRYP PFNGLPIXELTEXGENPARAMETERFVSGISPROC)(GLenum pname, const GLfloat *params);\nGLAPI PFNGLPIXELTEXGENPARAMETERFVSGISPROC glad_glPixelTexGenParameterfvSGIS;\n#define glPixelTexGenParameterfvSGIS glad_glPixelTexGenParameterfvSGIS\ntypedef void (APIENTRYP PFNGLGETPIXELTEXGENPARAMETERIVSGISPROC)(GLenum pname, GLint *params);\nGLAPI PFNGLGETPIXELTEXGENPARAMETERIVSGISPROC glad_glGetPixelTexGenParameterivSGIS;\n#define glGetPixelTexGenParameterivSGIS glad_glGetPixelTexGenParameterivSGIS\ntypedef void (APIENTRYP PFNGLGETPIXELTEXGENPARAMETERFVSGISPROC)(GLenum pname, GLfloat *params);\nGLAPI PFNGLGETPIXELTEXGENPARAMETERFVSGISPROC glad_glGetPixelTexGenParameterfvSGIS;\n#define glGetPixelTexGenParameterfvSGIS glad_glGetPixelTexGenParameterfvSGIS\n#endif\n#ifndef GL_SGIS_point_line_texgen\n#define GL_SGIS_point_line_texgen 1\nGLAPI int GLAD_GL_SGIS_point_line_texgen;\n#endif\n#ifndef GL_SGIS_point_parameters\n#define GL_SGIS_point_parameters 1\nGLAPI int GLAD_GL_SGIS_point_parameters;\ntypedef void (APIENTRYP PFNGLPOINTPARAMETERFSGISPROC)(GLenum pname, GLfloat param);\nGLAPI PFNGLPOINTPARAMETERFSGISPROC glad_glPointParameterfSGIS;\n#define glPointParameterfSGIS glad_glPointParameterfSGIS\ntypedef void (APIENTRYP PFNGLPOINTPARAMETERFVSGISPROC)(GLenum pname, const GLfloat *params);\nGLAPI PFNGLPOINTPARAMETERFVSGISPROC glad_glPointParameterfvSGIS;\n#define glPointParameterfvSGIS glad_glPointParameterfvSGIS\n#endif\n#ifndef GL_SGIS_sharpen_texture\n#define GL_SGIS_sharpen_texture 1\nGLAPI int GLAD_GL_SGIS_sharpen_texture;\ntypedef void (APIENTRYP PFNGLSHARPENTEXFUNCSGISPROC)(GLenum target, GLsizei n, const GLfloat *points);\nGLAPI PFNGLSHARPENTEXFUNCSGISPROC glad_glSharpenTexFuncSGIS;\n#define glSharpenTexFuncSGIS glad_glSharpenTexFuncSGIS\ntypedef void (APIENTRYP PFNGLGETSHARPENTEXFUNCSGISPROC)(GLenum target, GLfloat *points);\nGLAPI PFNGLGETSHARPENTEXFUNCSGISPROC glad_glGetSharpenTexFuncSGIS;\n#define glGetSharpenTexFuncSGIS glad_glGetSharpenTexFuncSGIS\n#endif\n#ifndef GL_SGIS_texture4D\n#define GL_SGIS_texture4D 1\nGLAPI int GLAD_GL_SGIS_texture4D;\ntypedef void (APIENTRYP PFNGLTEXIMAGE4DSGISPROC)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLsizei size4d, GLint border, GLenum format, GLenum type, const void *pixels);\nGLAPI PFNGLTEXIMAGE4DSGISPROC glad_glTexImage4DSGIS;\n#define glTexImage4DSGIS glad_glTexImage4DSGIS\ntypedef void (APIENTRYP PFNGLTEXSUBIMAGE4DSGISPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint woffset, GLsizei width, GLsizei height, GLsizei depth, GLsizei size4d, GLenum format, GLenum type, const void *pixels);\nGLAPI PFNGLTEXSUBIMAGE4DSGISPROC glad_glTexSubImage4DSGIS;\n#define glTexSubImage4DSGIS glad_glTexSubImage4DSGIS\n#endif\n#ifndef GL_SGIS_texture_border_clamp\n#define GL_SGIS_texture_border_clamp 1\nGLAPI int GLAD_GL_SGIS_texture_border_clamp;\n#endif\n#ifndef GL_SGIS_texture_color_mask\n#define GL_SGIS_texture_color_mask 1\nGLAPI int GLAD_GL_SGIS_texture_color_mask;\ntypedef void (APIENTRYP PFNGLTEXTURECOLORMASKSGISPROC)(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);\nGLAPI PFNGLTEXTURECOLORMASKSGISPROC glad_glTextureColorMaskSGIS;\n#define glTextureColorMaskSGIS glad_glTextureColorMaskSGIS\n#endif\n#ifndef GL_SGIS_texture_edge_clamp\n#define GL_SGIS_texture_edge_clamp 1\nGLAPI int GLAD_GL_SGIS_texture_edge_clamp;\n#endif\n#ifndef GL_SGIS_texture_filter4\n#define GL_SGIS_texture_filter4 1\nGLAPI int GLAD_GL_SGIS_texture_filter4;\ntypedef void (APIENTRYP PFNGLGETTEXFILTERFUNCSGISPROC)(GLenum target, GLenum filter, GLfloat *weights);\nGLAPI PFNGLGETTEXFILTERFUNCSGISPROC glad_glGetTexFilterFuncSGIS;\n#define glGetTexFilterFuncSGIS glad_glGetTexFilterFuncSGIS\ntypedef void (APIENTRYP PFNGLTEXFILTERFUNCSGISPROC)(GLenum target, GLenum filter, GLsizei n, const GLfloat *weights);\nGLAPI PFNGLTEXFILTERFUNCSGISPROC glad_glTexFilterFuncSGIS;\n#define glTexFilterFuncSGIS glad_glTexFilterFuncSGIS\n#endif\n#ifndef GL_SGIS_texture_lod\n#define GL_SGIS_texture_lod 1\nGLAPI int GLAD_GL_SGIS_texture_lod;\n#endif\n#ifndef GL_SGIS_texture_select\n#define GL_SGIS_texture_select 1\nGLAPI int GLAD_GL_SGIS_texture_select;\n#endif\n#ifndef GL_SGIX_async\n#define GL_SGIX_async 1\nGLAPI int GLAD_GL_SGIX_async;\ntypedef void (APIENTRYP PFNGLASYNCMARKERSGIXPROC)(GLuint marker);\nGLAPI PFNGLASYNCMARKERSGIXPROC glad_glAsyncMarkerSGIX;\n#define glAsyncMarkerSGIX glad_glAsyncMarkerSGIX\ntypedef GLint (APIENTRYP PFNGLFINISHASYNCSGIXPROC)(GLuint *markerp);\nGLAPI PFNGLFINISHASYNCSGIXPROC glad_glFinishAsyncSGIX;\n#define glFinishAsyncSGIX glad_glFinishAsyncSGIX\ntypedef GLint (APIENTRYP PFNGLPOLLASYNCSGIXPROC)(GLuint *markerp);\nGLAPI PFNGLPOLLASYNCSGIXPROC glad_glPollAsyncSGIX;\n#define glPollAsyncSGIX glad_glPollAsyncSGIX\ntypedef GLuint (APIENTRYP PFNGLGENASYNCMARKERSSGIXPROC)(GLsizei range);\nGLAPI PFNGLGENASYNCMARKERSSGIXPROC glad_glGenAsyncMarkersSGIX;\n#define glGenAsyncMarkersSGIX glad_glGenAsyncMarkersSGIX\ntypedef void (APIENTRYP PFNGLDELETEASYNCMARKERSSGIXPROC)(GLuint marker, GLsizei range);\nGLAPI PFNGLDELETEASYNCMARKERSSGIXPROC glad_glDeleteAsyncMarkersSGIX;\n#define glDeleteAsyncMarkersSGIX glad_glDeleteAsyncMarkersSGIX\ntypedef GLboolean (APIENTRYP PFNGLISASYNCMARKERSGIXPROC)(GLuint marker);\nGLAPI PFNGLISASYNCMARKERSGIXPROC glad_glIsAsyncMarkerSGIX;\n#define glIsAsyncMarkerSGIX glad_glIsAsyncMarkerSGIX\n#endif\n#ifndef GL_SGIX_async_histogram\n#define GL_SGIX_async_histogram 1\nGLAPI int GLAD_GL_SGIX_async_histogram;\n#endif\n#ifndef GL_SGIX_async_pixel\n#define GL_SGIX_async_pixel 1\nGLAPI int GLAD_GL_SGIX_async_pixel;\n#endif\n#ifndef GL_SGIX_blend_alpha_minmax\n#define GL_SGIX_blend_alpha_minmax 1\nGLAPI int GLAD_GL_SGIX_blend_alpha_minmax;\n#endif\n#ifndef GL_SGIX_calligraphic_fragment\n#define GL_SGIX_calligraphic_fragment 1\nGLAPI int GLAD_GL_SGIX_calligraphic_fragment;\n#endif\n#ifndef GL_SGIX_clipmap\n#define GL_SGIX_clipmap 1\nGLAPI int GLAD_GL_SGIX_clipmap;\n#endif\n#ifndef GL_SGIX_convolution_accuracy\n#define GL_SGIX_convolution_accuracy 1\nGLAPI int GLAD_GL_SGIX_convolution_accuracy;\n#endif\n#ifndef GL_SGIX_depth_pass_instrument\n#define GL_SGIX_depth_pass_instrument 1\nGLAPI int GLAD_GL_SGIX_depth_pass_instrument;\n#endif\n#ifndef GL_SGIX_depth_texture\n#define GL_SGIX_depth_texture 1\nGLAPI int GLAD_GL_SGIX_depth_texture;\n#endif\n#ifndef GL_SGIX_flush_raster\n#define GL_SGIX_flush_raster 1\nGLAPI int GLAD_GL_SGIX_flush_raster;\ntypedef void (APIENTRYP PFNGLFLUSHRASTERSGIXPROC)();\nGLAPI PFNGLFLUSHRASTERSGIXPROC glad_glFlushRasterSGIX;\n#define glFlushRasterSGIX glad_glFlushRasterSGIX\n#endif\n#ifndef GL_SGIX_fog_offset\n#define GL_SGIX_fog_offset 1\nGLAPI int GLAD_GL_SGIX_fog_offset;\n#endif\n#ifndef GL_SGIX_fragment_lighting\n#define GL_SGIX_fragment_lighting 1\nGLAPI int GLAD_GL_SGIX_fragment_lighting;\ntypedef void (APIENTRYP PFNGLFRAGMENTCOLORMATERIALSGIXPROC)(GLenum face, GLenum mode);\nGLAPI PFNGLFRAGMENTCOLORMATERIALSGIXPROC glad_glFragmentColorMaterialSGIX;\n#define glFragmentColorMaterialSGIX glad_glFragmentColorMaterialSGIX\ntypedef void (APIENTRYP PFNGLFRAGMENTLIGHTFSGIXPROC)(GLenum light, GLenum pname, GLfloat param);\nGLAPI PFNGLFRAGMENTLIGHTFSGIXPROC glad_glFragmentLightfSGIX;\n#define glFragmentLightfSGIX glad_glFragmentLightfSGIX\ntypedef void (APIENTRYP PFNGLFRAGMENTLIGHTFVSGIXPROC)(GLenum light, GLenum pname, const GLfloat *params);\nGLAPI PFNGLFRAGMENTLIGHTFVSGIXPROC glad_glFragmentLightfvSGIX;\n#define glFragmentLightfvSGIX glad_glFragmentLightfvSGIX\ntypedef void (APIENTRYP PFNGLFRAGMENTLIGHTISGIXPROC)(GLenum light, GLenum pname, GLint param);\nGLAPI PFNGLFRAGMENTLIGHTISGIXPROC glad_glFragmentLightiSGIX;\n#define glFragmentLightiSGIX glad_glFragmentLightiSGIX\ntypedef void (APIENTRYP PFNGLFRAGMENTLIGHTIVSGIXPROC)(GLenum light, GLenum pname, const GLint *params);\nGLAPI PFNGLFRAGMENTLIGHTIVSGIXPROC glad_glFragmentLightivSGIX;\n#define glFragmentLightivSGIX glad_glFragmentLightivSGIX\ntypedef void (APIENTRYP PFNGLFRAGMENTLIGHTMODELFSGIXPROC)(GLenum pname, GLfloat param);\nGLAPI PFNGLFRAGMENTLIGHTMODELFSGIXPROC glad_glFragmentLightModelfSGIX;\n#define glFragmentLightModelfSGIX glad_glFragmentLightModelfSGIX\ntypedef void (APIENTRYP PFNGLFRAGMENTLIGHTMODELFVSGIXPROC)(GLenum pname, const GLfloat *params);\nGLAPI PFNGLFRAGMENTLIGHTMODELFVSGIXPROC glad_glFragmentLightModelfvSGIX;\n#define glFragmentLightModelfvSGIX glad_glFragmentLightModelfvSGIX\ntypedef void (APIENTRYP PFNGLFRAGMENTLIGHTMODELISGIXPROC)(GLenum pname, GLint param);\nGLAPI PFNGLFRAGMENTLIGHTMODELISGIXPROC glad_glFragmentLightModeliSGIX;\n#define glFragmentLightModeliSGIX glad_glFragmentLightModeliSGIX\ntypedef void (APIENTRYP PFNGLFRAGMENTLIGHTMODELIVSGIXPROC)(GLenum pname, const GLint *params);\nGLAPI PFNGLFRAGMENTLIGHTMODELIVSGIXPROC glad_glFragmentLightModelivSGIX;\n#define glFragmentLightModelivSGIX glad_glFragmentLightModelivSGIX\ntypedef void (APIENTRYP PFNGLFRAGMENTMATERIALFSGIXPROC)(GLenum face, GLenum pname, GLfloat param);\nGLAPI PFNGLFRAGMENTMATERIALFSGIXPROC glad_glFragmentMaterialfSGIX;\n#define glFragmentMaterialfSGIX glad_glFragmentMaterialfSGIX\ntypedef void (APIENTRYP PFNGLFRAGMENTMATERIALFVSGIXPROC)(GLenum face, GLenum pname, const GLfloat *params);\nGLAPI PFNGLFRAGMENTMATERIALFVSGIXPROC glad_glFragmentMaterialfvSGIX;\n#define glFragmentMaterialfvSGIX glad_glFragmentMaterialfvSGIX\ntypedef void (APIENTRYP PFNGLFRAGMENTMATERIALISGIXPROC)(GLenum face, GLenum pname, GLint param);\nGLAPI PFNGLFRAGMENTMATERIALISGIXPROC glad_glFragmentMaterialiSGIX;\n#define glFragmentMaterialiSGIX glad_glFragmentMaterialiSGIX\ntypedef void (APIENTRYP PFNGLFRAGMENTMATERIALIVSGIXPROC)(GLenum face, GLenum pname, const GLint *params);\nGLAPI PFNGLFRAGMENTMATERIALIVSGIXPROC glad_glFragmentMaterialivSGIX;\n#define glFragmentMaterialivSGIX glad_glFragmentMaterialivSGIX\ntypedef void (APIENTRYP PFNGLGETFRAGMENTLIGHTFVSGIXPROC)(GLenum light, GLenum pname, GLfloat *params);\nGLAPI PFNGLGETFRAGMENTLIGHTFVSGIXPROC glad_glGetFragmentLightfvSGIX;\n#define glGetFragmentLightfvSGIX glad_glGetFragmentLightfvSGIX\ntypedef void (APIENTRYP PFNGLGETFRAGMENTLIGHTIVSGIXPROC)(GLenum light, GLenum pname, GLint *params);\nGLAPI PFNGLGETFRAGMENTLIGHTIVSGIXPROC glad_glGetFragmentLightivSGIX;\n#define glGetFragmentLightivSGIX glad_glGetFragmentLightivSGIX\ntypedef void (APIENTRYP PFNGLGETFRAGMENTMATERIALFVSGIXPROC)(GLenum face, GLenum pname, GLfloat *params);\nGLAPI PFNGLGETFRAGMENTMATERIALFVSGIXPROC glad_glGetFragmentMaterialfvSGIX;\n#define glGetFragmentMaterialfvSGIX glad_glGetFragmentMaterialfvSGIX\ntypedef void (APIENTRYP PFNGLGETFRAGMENTMATERIALIVSGIXPROC)(GLenum face, GLenum pname, GLint *params);\nGLAPI PFNGLGETFRAGMENTMATERIALIVSGIXPROC glad_glGetFragmentMaterialivSGIX;\n#define glGetFragmentMaterialivSGIX glad_glGetFragmentMaterialivSGIX\ntypedef void (APIENTRYP PFNGLLIGHTENVISGIXPROC)(GLenum pname, GLint param);\nGLAPI PFNGLLIGHTENVISGIXPROC glad_glLightEnviSGIX;\n#define glLightEnviSGIX glad_glLightEnviSGIX\n#endif\n#ifndef GL_SGIX_framezoom\n#define GL_SGIX_framezoom 1\nGLAPI int GLAD_GL_SGIX_framezoom;\ntypedef void (APIENTRYP PFNGLFRAMEZOOMSGIXPROC)(GLint factor);\nGLAPI PFNGLFRAMEZOOMSGIXPROC glad_glFrameZoomSGIX;\n#define glFrameZoomSGIX glad_glFrameZoomSGIX\n#endif\n#ifndef GL_SGIX_igloo_interface\n#define GL_SGIX_igloo_interface 1\nGLAPI int GLAD_GL_SGIX_igloo_interface;\ntypedef void (APIENTRYP PFNGLIGLOOINTERFACESGIXPROC)(GLenum pname, const void *params);\nGLAPI PFNGLIGLOOINTERFACESGIXPROC glad_glIglooInterfaceSGIX;\n#define glIglooInterfaceSGIX glad_glIglooInterfaceSGIX\n#endif\n#ifndef GL_SGIX_instruments\n#define GL_SGIX_instruments 1\nGLAPI int GLAD_GL_SGIX_instruments;\ntypedef GLint (APIENTRYP PFNGLGETINSTRUMENTSSGIXPROC)();\nGLAPI PFNGLGETINSTRUMENTSSGIXPROC glad_glGetInstrumentsSGIX;\n#define glGetInstrumentsSGIX glad_glGetInstrumentsSGIX\ntypedef void (APIENTRYP PFNGLINSTRUMENTSBUFFERSGIXPROC)(GLsizei size, GLint *buffer);\nGLAPI PFNGLINSTRUMENTSBUFFERSGIXPROC glad_glInstrumentsBufferSGIX;\n#define glInstrumentsBufferSGIX glad_glInstrumentsBufferSGIX\ntypedef GLint (APIENTRYP PFNGLPOLLINSTRUMENTSSGIXPROC)(GLint *marker_p);\nGLAPI PFNGLPOLLINSTRUMENTSSGIXPROC glad_glPollInstrumentsSGIX;\n#define glPollInstrumentsSGIX glad_glPollInstrumentsSGIX\ntypedef void (APIENTRYP PFNGLREADINSTRUMENTSSGIXPROC)(GLint marker);\nGLAPI PFNGLREADINSTRUMENTSSGIXPROC glad_glReadInstrumentsSGIX;\n#define glReadInstrumentsSGIX glad_glReadInstrumentsSGIX\ntypedef void (APIENTRYP PFNGLSTARTINSTRUMENTSSGIXPROC)();\nGLAPI PFNGLSTARTINSTRUMENTSSGIXPROC glad_glStartInstrumentsSGIX;\n#define glStartInstrumentsSGIX glad_glStartInstrumentsSGIX\ntypedef void (APIENTRYP PFNGLSTOPINSTRUMENTSSGIXPROC)(GLint marker);\nGLAPI PFNGLSTOPINSTRUMENTSSGIXPROC glad_glStopInstrumentsSGIX;\n#define glStopInstrumentsSGIX glad_glStopInstrumentsSGIX\n#endif\n#ifndef GL_SGIX_interlace\n#define GL_SGIX_interlace 1\nGLAPI int GLAD_GL_SGIX_interlace;\n#endif\n#ifndef GL_SGIX_ir_instrument1\n#define GL_SGIX_ir_instrument1 1\nGLAPI int GLAD_GL_SGIX_ir_instrument1;\n#endif\n#ifndef GL_SGIX_list_priority\n#define GL_SGIX_list_priority 1\nGLAPI int GLAD_GL_SGIX_list_priority;\ntypedef void (APIENTRYP PFNGLGETLISTPARAMETERFVSGIXPROC)(GLuint list, GLenum pname, GLfloat *params);\nGLAPI PFNGLGETLISTPARAMETERFVSGIXPROC glad_glGetListParameterfvSGIX;\n#define glGetListParameterfvSGIX glad_glGetListParameterfvSGIX\ntypedef void (APIENTRYP PFNGLGETLISTPARAMETERIVSGIXPROC)(GLuint list, GLenum pname, GLint *params);\nGLAPI PFNGLGETLISTPARAMETERIVSGIXPROC glad_glGetListParameterivSGIX;\n#define glGetListParameterivSGIX glad_glGetListParameterivSGIX\ntypedef void (APIENTRYP PFNGLLISTPARAMETERFSGIXPROC)(GLuint list, GLenum pname, GLfloat param);\nGLAPI PFNGLLISTPARAMETERFSGIXPROC glad_glListParameterfSGIX;\n#define glListParameterfSGIX glad_glListParameterfSGIX\ntypedef void (APIENTRYP PFNGLLISTPARAMETERFVSGIXPROC)(GLuint list, GLenum pname, const GLfloat *params);\nGLAPI PFNGLLISTPARAMETERFVSGIXPROC glad_glListParameterfvSGIX;\n#define glListParameterfvSGIX glad_glListParameterfvSGIX\ntypedef void (APIENTRYP PFNGLLISTPARAMETERISGIXPROC)(GLuint list, GLenum pname, GLint param);\nGLAPI PFNGLLISTPARAMETERISGIXPROC glad_glListParameteriSGIX;\n#define glListParameteriSGIX glad_glListParameteriSGIX\ntypedef void (APIENTRYP PFNGLLISTPARAMETERIVSGIXPROC)(GLuint list, GLenum pname, const GLint *params);\nGLAPI PFNGLLISTPARAMETERIVSGIXPROC glad_glListParameterivSGIX;\n#define glListParameterivSGIX glad_glListParameterivSGIX\n#endif\n#ifndef GL_SGIX_pixel_texture\n#define GL_SGIX_pixel_texture 1\nGLAPI int GLAD_GL_SGIX_pixel_texture;\ntypedef void (APIENTRYP PFNGLPIXELTEXGENSGIXPROC)(GLenum mode);\nGLAPI PFNGLPIXELTEXGENSGIXPROC glad_glPixelTexGenSGIX;\n#define glPixelTexGenSGIX glad_glPixelTexGenSGIX\n#endif\n#ifndef GL_SGIX_pixel_tiles\n#define GL_SGIX_pixel_tiles 1\nGLAPI int GLAD_GL_SGIX_pixel_tiles;\n#endif\n#ifndef GL_SGIX_polynomial_ffd\n#define GL_SGIX_polynomial_ffd 1\nGLAPI int GLAD_GL_SGIX_polynomial_ffd;\ntypedef void (APIENTRYP PFNGLDEFORMATIONMAP3DSGIXPROC)(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, GLdouble w1, GLdouble w2, GLint wstride, GLint worder, const GLdouble *points);\nGLAPI PFNGLDEFORMATIONMAP3DSGIXPROC glad_glDeformationMap3dSGIX;\n#define glDeformationMap3dSGIX glad_glDeformationMap3dSGIX\ntypedef void (APIENTRYP PFNGLDEFORMATIONMAP3FSGIXPROC)(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, GLfloat w1, GLfloat w2, GLint wstride, GLint worder, const GLfloat *points);\nGLAPI PFNGLDEFORMATIONMAP3FSGIXPROC glad_glDeformationMap3fSGIX;\n#define glDeformationMap3fSGIX glad_glDeformationMap3fSGIX\ntypedef void (APIENTRYP PFNGLDEFORMSGIXPROC)(GLbitfield mask);\nGLAPI PFNGLDEFORMSGIXPROC glad_glDeformSGIX;\n#define glDeformSGIX glad_glDeformSGIX\ntypedef void (APIENTRYP PFNGLLOADIDENTITYDEFORMATIONMAPSGIXPROC)(GLbitfield mask);\nGLAPI PFNGLLOADIDENTITYDEFORMATIONMAPSGIXPROC glad_glLoadIdentityDeformationMapSGIX;\n#define glLoadIdentityDeformationMapSGIX glad_glLoadIdentityDeformationMapSGIX\n#endif\n#ifndef GL_SGIX_reference_plane\n#define GL_SGIX_reference_plane 1\nGLAPI int GLAD_GL_SGIX_reference_plane;\ntypedef void (APIENTRYP PFNGLREFERENCEPLANESGIXPROC)(const GLdouble *equation);\nGLAPI PFNGLREFERENCEPLANESGIXPROC glad_glReferencePlaneSGIX;\n#define glReferencePlaneSGIX glad_glReferencePlaneSGIX\n#endif\n#ifndef GL_SGIX_resample\n#define GL_SGIX_resample 1\nGLAPI int GLAD_GL_SGIX_resample;\n#endif\n#ifndef GL_SGIX_scalebias_hint\n#define GL_SGIX_scalebias_hint 1\nGLAPI int GLAD_GL_SGIX_scalebias_hint;\n#endif\n#ifndef GL_SGIX_shadow\n#define GL_SGIX_shadow 1\nGLAPI int GLAD_GL_SGIX_shadow;\n#endif\n#ifndef GL_SGIX_shadow_ambient\n#define GL_SGIX_shadow_ambient 1\nGLAPI int GLAD_GL_SGIX_shadow_ambient;\n#endif\n#ifndef GL_SGIX_sprite\n#define GL_SGIX_sprite 1\nGLAPI int GLAD_GL_SGIX_sprite;\ntypedef void (APIENTRYP PFNGLSPRITEPARAMETERFSGIXPROC)(GLenum pname, GLfloat param);\nGLAPI PFNGLSPRITEPARAMETERFSGIXPROC glad_glSpriteParameterfSGIX;\n#define glSpriteParameterfSGIX glad_glSpriteParameterfSGIX\ntypedef void (APIENTRYP PFNGLSPRITEPARAMETERFVSGIXPROC)(GLenum pname, const GLfloat *params);\nGLAPI PFNGLSPRITEPARAMETERFVSGIXPROC glad_glSpriteParameterfvSGIX;\n#define glSpriteParameterfvSGIX glad_glSpriteParameterfvSGIX\ntypedef void (APIENTRYP PFNGLSPRITEPARAMETERISGIXPROC)(GLenum pname, GLint param);\nGLAPI PFNGLSPRITEPARAMETERISGIXPROC glad_glSpriteParameteriSGIX;\n#define glSpriteParameteriSGIX glad_glSpriteParameteriSGIX\ntypedef void (APIENTRYP PFNGLSPRITEPARAMETERIVSGIXPROC)(GLenum pname, const GLint *params);\nGLAPI PFNGLSPRITEPARAMETERIVSGIXPROC glad_glSpriteParameterivSGIX;\n#define glSpriteParameterivSGIX glad_glSpriteParameterivSGIX\n#endif\n#ifndef GL_SGIX_subsample\n#define GL_SGIX_subsample 1\nGLAPI int GLAD_GL_SGIX_subsample;\n#endif\n#ifndef GL_SGIX_tag_sample_buffer\n#define GL_SGIX_tag_sample_buffer 1\nGLAPI int GLAD_GL_SGIX_tag_sample_buffer;\ntypedef void (APIENTRYP PFNGLTAGSAMPLEBUFFERSGIXPROC)();\nGLAPI PFNGLTAGSAMPLEBUFFERSGIXPROC glad_glTagSampleBufferSGIX;\n#define glTagSampleBufferSGIX glad_glTagSampleBufferSGIX\n#endif\n#ifndef GL_SGIX_texture_add_env\n#define GL_SGIX_texture_add_env 1\nGLAPI int GLAD_GL_SGIX_texture_add_env;\n#endif\n#ifndef GL_SGIX_texture_coordinate_clamp\n#define GL_SGIX_texture_coordinate_clamp 1\nGLAPI int GLAD_GL_SGIX_texture_coordinate_clamp;\n#endif\n#ifndef GL_SGIX_texture_lod_bias\n#define GL_SGIX_texture_lod_bias 1\nGLAPI int GLAD_GL_SGIX_texture_lod_bias;\n#endif\n#ifndef GL_SGIX_texture_multi_buffer\n#define GL_SGIX_texture_multi_buffer 1\nGLAPI int GLAD_GL_SGIX_texture_multi_buffer;\n#endif\n#ifndef GL_SGIX_texture_scale_bias\n#define GL_SGIX_texture_scale_bias 1\nGLAPI int GLAD_GL_SGIX_texture_scale_bias;\n#endif\n#ifndef GL_SGIX_vertex_preclip\n#define GL_SGIX_vertex_preclip 1\nGLAPI int GLAD_GL_SGIX_vertex_preclip;\n#endif\n#ifndef GL_SGIX_ycrcb\n#define GL_SGIX_ycrcb 1\nGLAPI int GLAD_GL_SGIX_ycrcb;\n#endif\n#ifndef GL_SGIX_ycrcb_subsample\n#define GL_SGIX_ycrcb_subsample 1\nGLAPI int GLAD_GL_SGIX_ycrcb_subsample;\n#endif\n#ifndef GL_SGIX_ycrcba\n#define GL_SGIX_ycrcba 1\nGLAPI int GLAD_GL_SGIX_ycrcba;\n#endif\n#ifndef GL_SGI_color_matrix\n#define GL_SGI_color_matrix 1\nGLAPI int GLAD_GL_SGI_color_matrix;\n#endif\n#ifndef GL_SGI_color_table\n#define GL_SGI_color_table 1\nGLAPI int GLAD_GL_SGI_color_table;\ntypedef void (APIENTRYP PFNGLCOLORTABLESGIPROC)(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const void *table);\nGLAPI PFNGLCOLORTABLESGIPROC glad_glColorTableSGI;\n#define glColorTableSGI glad_glColorTableSGI\ntypedef void (APIENTRYP PFNGLCOLORTABLEPARAMETERFVSGIPROC)(GLenum target, GLenum pname, const GLfloat *params);\nGLAPI PFNGLCOLORTABLEPARAMETERFVSGIPROC glad_glColorTableParameterfvSGI;\n#define glColorTableParameterfvSGI glad_glColorTableParameterfvSGI\ntypedef void (APIENTRYP PFNGLCOLORTABLEPARAMETERIVSGIPROC)(GLenum target, GLenum pname, const GLint *params);\nGLAPI PFNGLCOLORTABLEPARAMETERIVSGIPROC glad_glColorTableParameterivSGI;\n#define glColorTableParameterivSGI glad_glColorTableParameterivSGI\ntypedef void (APIENTRYP PFNGLCOPYCOLORTABLESGIPROC)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);\nGLAPI PFNGLCOPYCOLORTABLESGIPROC glad_glCopyColorTableSGI;\n#define glCopyColorTableSGI glad_glCopyColorTableSGI\ntypedef void (APIENTRYP PFNGLGETCOLORTABLESGIPROC)(GLenum target, GLenum format, GLenum type, void *table);\nGLAPI PFNGLGETCOLORTABLESGIPROC glad_glGetColorTableSGI;\n#define glGetColorTableSGI glad_glGetColorTableSGI\ntypedef void (APIENTRYP PFNGLGETCOLORTABLEPARAMETERFVSGIPROC)(GLenum target, GLenum pname, GLfloat *params);\nGLAPI PFNGLGETCOLORTABLEPARAMETERFVSGIPROC glad_glGetColorTableParameterfvSGI;\n#define glGetColorTableParameterfvSGI glad_glGetColorTableParameterfvSGI\ntypedef void (APIENTRYP PFNGLGETCOLORTABLEPARAMETERIVSGIPROC)(GLenum target, GLenum pname, GLint *params);\nGLAPI PFNGLGETCOLORTABLEPARAMETERIVSGIPROC glad_glGetColorTableParameterivSGI;\n#define glGetColorTableParameterivSGI glad_glGetColorTableParameterivSGI\n#endif\n#ifndef GL_SGI_texture_color_table\n#define GL_SGI_texture_color_table 1\nGLAPI int GLAD_GL_SGI_texture_color_table;\n#endif\n#ifndef GL_SUNX_constant_data\n#define GL_SUNX_constant_data 1\nGLAPI int GLAD_GL_SUNX_constant_data;\ntypedef void (APIENTRYP PFNGLFINISHTEXTURESUNXPROC)();\nGLAPI PFNGLFINISHTEXTURESUNXPROC glad_glFinishTextureSUNX;\n#define glFinishTextureSUNX glad_glFinishTextureSUNX\n#endif\n#ifndef GL_SUN_convolution_border_modes\n#define GL_SUN_convolution_border_modes 1\nGLAPI int GLAD_GL_SUN_convolution_border_modes;\n#endif\n#ifndef GL_SUN_global_alpha\n#define GL_SUN_global_alpha 1\nGLAPI int GLAD_GL_SUN_global_alpha;\ntypedef void (APIENTRYP PFNGLGLOBALALPHAFACTORBSUNPROC)(GLbyte factor);\nGLAPI PFNGLGLOBALALPHAFACTORBSUNPROC glad_glGlobalAlphaFactorbSUN;\n#define glGlobalAlphaFactorbSUN glad_glGlobalAlphaFactorbSUN\ntypedef void (APIENTRYP PFNGLGLOBALALPHAFACTORSSUNPROC)(GLshort factor);\nGLAPI PFNGLGLOBALALPHAFACTORSSUNPROC glad_glGlobalAlphaFactorsSUN;\n#define glGlobalAlphaFactorsSUN glad_glGlobalAlphaFactorsSUN\ntypedef void (APIENTRYP PFNGLGLOBALALPHAFACTORISUNPROC)(GLint factor);\nGLAPI PFNGLGLOBALALPHAFACTORISUNPROC glad_glGlobalAlphaFactoriSUN;\n#define glGlobalAlphaFactoriSUN glad_glGlobalAlphaFactoriSUN\ntypedef void (APIENTRYP PFNGLGLOBALALPHAFACTORFSUNPROC)(GLfloat factor);\nGLAPI PFNGLGLOBALALPHAFACTORFSUNPROC glad_glGlobalAlphaFactorfSUN;\n#define glGlobalAlphaFactorfSUN glad_glGlobalAlphaFactorfSUN\ntypedef void (APIENTRYP PFNGLGLOBALALPHAFACTORDSUNPROC)(GLdouble factor);\nGLAPI PFNGLGLOBALALPHAFACTORDSUNPROC glad_glGlobalAlphaFactordSUN;\n#define glGlobalAlphaFactordSUN glad_glGlobalAlphaFactordSUN\ntypedef void (APIENTRYP PFNGLGLOBALALPHAFACTORUBSUNPROC)(GLubyte factor);\nGLAPI PFNGLGLOBALALPHAFACTORUBSUNPROC glad_glGlobalAlphaFactorubSUN;\n#define glGlobalAlphaFactorubSUN glad_glGlobalAlphaFactorubSUN\ntypedef void (APIENTRYP PFNGLGLOBALALPHAFACTORUSSUNPROC)(GLushort factor);\nGLAPI PFNGLGLOBALALPHAFACTORUSSUNPROC glad_glGlobalAlphaFactorusSUN;\n#define glGlobalAlphaFactorusSUN glad_glGlobalAlphaFactorusSUN\ntypedef void (APIENTRYP PFNGLGLOBALALPHAFACTORUISUNPROC)(GLuint factor);\nGLAPI PFNGLGLOBALALPHAFACTORUISUNPROC glad_glGlobalAlphaFactoruiSUN;\n#define glGlobalAlphaFactoruiSUN glad_glGlobalAlphaFactoruiSUN\n#endif\n#ifndef GL_SUN_mesh_array\n#define GL_SUN_mesh_array 1\nGLAPI int GLAD_GL_SUN_mesh_array;\ntypedef void (APIENTRYP PFNGLDRAWMESHARRAYSSUNPROC)(GLenum mode, GLint first, GLsizei count, GLsizei width);\nGLAPI PFNGLDRAWMESHARRAYSSUNPROC glad_glDrawMeshArraysSUN;\n#define glDrawMeshArraysSUN glad_glDrawMeshArraysSUN\n#endif\n#ifndef GL_SUN_slice_accum\n#define GL_SUN_slice_accum 1\nGLAPI int GLAD_GL_SUN_slice_accum;\n#endif\n#ifndef GL_SUN_triangle_list\n#define GL_SUN_triangle_list 1\nGLAPI int GLAD_GL_SUN_triangle_list;\ntypedef void (APIENTRYP PFNGLREPLACEMENTCODEUISUNPROC)(GLuint code);\nGLAPI PFNGLREPLACEMENTCODEUISUNPROC glad_glReplacementCodeuiSUN;\n#define glReplacementCodeuiSUN glad_glReplacementCodeuiSUN\ntypedef void (APIENTRYP PFNGLREPLACEMENTCODEUSSUNPROC)(GLushort code);\nGLAPI PFNGLREPLACEMENTCODEUSSUNPROC glad_glReplacementCodeusSUN;\n#define glReplacementCodeusSUN glad_glReplacementCodeusSUN\ntypedef void (APIENTRYP PFNGLREPLACEMENTCODEUBSUNPROC)(GLubyte code);\nGLAPI PFNGLREPLACEMENTCODEUBSUNPROC glad_glReplacementCodeubSUN;\n#define glReplacementCodeubSUN glad_glReplacementCodeubSUN\ntypedef void (APIENTRYP PFNGLREPLACEMENTCODEUIVSUNPROC)(const GLuint *code);\nGLAPI PFNGLREPLACEMENTCODEUIVSUNPROC glad_glReplacementCodeuivSUN;\n#define glReplacementCodeuivSUN glad_glReplacementCodeuivSUN\ntypedef void (APIENTRYP PFNGLREPLACEMENTCODEUSVSUNPROC)(const GLushort *code);\nGLAPI PFNGLREPLACEMENTCODEUSVSUNPROC glad_glReplacementCodeusvSUN;\n#define glReplacementCodeusvSUN glad_glReplacementCodeusvSUN\ntypedef void (APIENTRYP PFNGLREPLACEMENTCODEUBVSUNPROC)(const GLubyte *code);\nGLAPI PFNGLREPLACEMENTCODEUBVSUNPROC glad_glReplacementCodeubvSUN;\n#define glReplacementCodeubvSUN glad_glReplacementCodeubvSUN\ntypedef void (APIENTRYP PFNGLREPLACEMENTCODEPOINTERSUNPROC)(GLenum type, GLsizei stride, const void **pointer);\nGLAPI PFNGLREPLACEMENTCODEPOINTERSUNPROC glad_glReplacementCodePointerSUN;\n#define glReplacementCodePointerSUN glad_glReplacementCodePointerSUN\n#endif\n#ifndef GL_SUN_vertex\n#define GL_SUN_vertex 1\nGLAPI int GLAD_GL_SUN_vertex;\ntypedef void (APIENTRYP PFNGLCOLOR4UBVERTEX2FSUNPROC)(GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y);\nGLAPI PFNGLCOLOR4UBVERTEX2FSUNPROC glad_glColor4ubVertex2fSUN;\n#define glColor4ubVertex2fSUN glad_glColor4ubVertex2fSUN\ntypedef void (APIENTRYP PFNGLCOLOR4UBVERTEX2FVSUNPROC)(const GLubyte *c, const GLfloat *v);\nGLAPI PFNGLCOLOR4UBVERTEX2FVSUNPROC glad_glColor4ubVertex2fvSUN;\n#define glColor4ubVertex2fvSUN glad_glColor4ubVertex2fvSUN\ntypedef void (APIENTRYP PFNGLCOLOR4UBVERTEX3FSUNPROC)(GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z);\nGLAPI PFNGLCOLOR4UBVERTEX3FSUNPROC glad_glColor4ubVertex3fSUN;\n#define glColor4ubVertex3fSUN glad_glColor4ubVertex3fSUN\ntypedef void (APIENTRYP PFNGLCOLOR4UBVERTEX3FVSUNPROC)(const GLubyte *c, const GLfloat *v);\nGLAPI PFNGLCOLOR4UBVERTEX3FVSUNPROC glad_glColor4ubVertex3fvSUN;\n#define glColor4ubVertex3fvSUN glad_glColor4ubVertex3fvSUN\ntypedef void (APIENTRYP PFNGLCOLOR3FVERTEX3FSUNPROC)(GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z);\nGLAPI PFNGLCOLOR3FVERTEX3FSUNPROC glad_glColor3fVertex3fSUN;\n#define glColor3fVertex3fSUN glad_glColor3fVertex3fSUN\ntypedef void (APIENTRYP PFNGLCOLOR3FVERTEX3FVSUNPROC)(const GLfloat *c, const GLfloat *v);\nGLAPI PFNGLCOLOR3FVERTEX3FVSUNPROC glad_glColor3fVertex3fvSUN;\n#define glColor3fVertex3fvSUN glad_glColor3fVertex3fvSUN\ntypedef void (APIENTRYP PFNGLNORMAL3FVERTEX3FSUNPROC)(GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);\nGLAPI PFNGLNORMAL3FVERTEX3FSUNPROC glad_glNormal3fVertex3fSUN;\n#define glNormal3fVertex3fSUN glad_glNormal3fVertex3fSUN\ntypedef void (APIENTRYP PFNGLNORMAL3FVERTEX3FVSUNPROC)(const GLfloat *n, const GLfloat *v);\nGLAPI PFNGLNORMAL3FVERTEX3FVSUNPROC glad_glNormal3fVertex3fvSUN;\n#define glNormal3fVertex3fvSUN glad_glNormal3fVertex3fvSUN\ntypedef void (APIENTRYP PFNGLCOLOR4FNORMAL3FVERTEX3FSUNPROC)(GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);\nGLAPI PFNGLCOLOR4FNORMAL3FVERTEX3FSUNPROC glad_glColor4fNormal3fVertex3fSUN;\n#define glColor4fNormal3fVertex3fSUN glad_glColor4fNormal3fVertex3fSUN\ntypedef void (APIENTRYP PFNGLCOLOR4FNORMAL3FVERTEX3FVSUNPROC)(const GLfloat *c, const GLfloat *n, const GLfloat *v);\nGLAPI PFNGLCOLOR4FNORMAL3FVERTEX3FVSUNPROC glad_glColor4fNormal3fVertex3fvSUN;\n#define glColor4fNormal3fVertex3fvSUN glad_glColor4fNormal3fVertex3fvSUN\ntypedef void (APIENTRYP PFNGLTEXCOORD2FVERTEX3FSUNPROC)(GLfloat s, GLfloat t, GLfloat x, GLfloat y, GLfloat z);\nGLAPI PFNGLTEXCOORD2FVERTEX3FSUNPROC glad_glTexCoord2fVertex3fSUN;\n#define glTexCoord2fVertex3fSUN glad_glTexCoord2fVertex3fSUN\ntypedef void (APIENTRYP PFNGLTEXCOORD2FVERTEX3FVSUNPROC)(const GLfloat *tc, const GLfloat *v);\nGLAPI PFNGLTEXCOORD2FVERTEX3FVSUNPROC glad_glTexCoord2fVertex3fvSUN;\n#define glTexCoord2fVertex3fvSUN glad_glTexCoord2fVertex3fvSUN\ntypedef void (APIENTRYP PFNGLTEXCOORD4FVERTEX4FSUNPROC)(GLfloat s, GLfloat t, GLfloat p, GLfloat q, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nGLAPI PFNGLTEXCOORD4FVERTEX4FSUNPROC glad_glTexCoord4fVertex4fSUN;\n#define glTexCoord4fVertex4fSUN glad_glTexCoord4fVertex4fSUN\ntypedef void (APIENTRYP PFNGLTEXCOORD4FVERTEX4FVSUNPROC)(const GLfloat *tc, const GLfloat *v);\nGLAPI PFNGLTEXCOORD4FVERTEX4FVSUNPROC glad_glTexCoord4fVertex4fvSUN;\n#define glTexCoord4fVertex4fvSUN glad_glTexCoord4fVertex4fvSUN\ntypedef void (APIENTRYP PFNGLTEXCOORD2FCOLOR4UBVERTEX3FSUNPROC)(GLfloat s, GLfloat t, GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z);\nGLAPI PFNGLTEXCOORD2FCOLOR4UBVERTEX3FSUNPROC glad_glTexCoord2fColor4ubVertex3fSUN;\n#define glTexCoord2fColor4ubVertex3fSUN glad_glTexCoord2fColor4ubVertex3fSUN\ntypedef void (APIENTRYP PFNGLTEXCOORD2FCOLOR4UBVERTEX3FVSUNPROC)(const GLfloat *tc, const GLubyte *c, const GLfloat *v);\nGLAPI PFNGLTEXCOORD2FCOLOR4UBVERTEX3FVSUNPROC glad_glTexCoord2fColor4ubVertex3fvSUN;\n#define glTexCoord2fColor4ubVertex3fvSUN glad_glTexCoord2fColor4ubVertex3fvSUN\ntypedef void (APIENTRYP PFNGLTEXCOORD2FCOLOR3FVERTEX3FSUNPROC)(GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z);\nGLAPI PFNGLTEXCOORD2FCOLOR3FVERTEX3FSUNPROC glad_glTexCoord2fColor3fVertex3fSUN;\n#define glTexCoord2fColor3fVertex3fSUN glad_glTexCoord2fColor3fVertex3fSUN\ntypedef void (APIENTRYP PFNGLTEXCOORD2FCOLOR3FVERTEX3FVSUNPROC)(const GLfloat *tc, const GLfloat *c, const GLfloat *v);\nGLAPI PFNGLTEXCOORD2FCOLOR3FVERTEX3FVSUNPROC glad_glTexCoord2fColor3fVertex3fvSUN;\n#define glTexCoord2fColor3fVertex3fvSUN glad_glTexCoord2fColor3fVertex3fvSUN\ntypedef void (APIENTRYP PFNGLTEXCOORD2FNORMAL3FVERTEX3FSUNPROC)(GLfloat s, GLfloat t, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);\nGLAPI PFNGLTEXCOORD2FNORMAL3FVERTEX3FSUNPROC glad_glTexCoord2fNormal3fVertex3fSUN;\n#define glTexCoord2fNormal3fVertex3fSUN glad_glTexCoord2fNormal3fVertex3fSUN\ntypedef void (APIENTRYP PFNGLTEXCOORD2FNORMAL3FVERTEX3FVSUNPROC)(const GLfloat *tc, const GLfloat *n, const GLfloat *v);\nGLAPI PFNGLTEXCOORD2FNORMAL3FVERTEX3FVSUNPROC glad_glTexCoord2fNormal3fVertex3fvSUN;\n#define glTexCoord2fNormal3fVertex3fvSUN glad_glTexCoord2fNormal3fVertex3fvSUN\ntypedef void (APIENTRYP PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC)(GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);\nGLAPI PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC glad_glTexCoord2fColor4fNormal3fVertex3fSUN;\n#define glTexCoord2fColor4fNormal3fVertex3fSUN glad_glTexCoord2fColor4fNormal3fVertex3fSUN\ntypedef void (APIENTRYP PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC)(const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v);\nGLAPI PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC glad_glTexCoord2fColor4fNormal3fVertex3fvSUN;\n#define glTexCoord2fColor4fNormal3fVertex3fvSUN glad_glTexCoord2fColor4fNormal3fVertex3fvSUN\ntypedef void (APIENTRYP PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FSUNPROC)(GLfloat s, GLfloat t, GLfloat p, GLfloat q, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nGLAPI PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FSUNPROC glad_glTexCoord4fColor4fNormal3fVertex4fSUN;\n#define glTexCoord4fColor4fNormal3fVertex4fSUN glad_glTexCoord4fColor4fNormal3fVertex4fSUN\ntypedef void (APIENTRYP PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FVSUNPROC)(const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v);\nGLAPI PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FVSUNPROC glad_glTexCoord4fColor4fNormal3fVertex4fvSUN;\n#define glTexCoord4fColor4fNormal3fVertex4fvSUN glad_glTexCoord4fColor4fNormal3fVertex4fvSUN\ntypedef void (APIENTRYP PFNGLREPLACEMENTCODEUIVERTEX3FSUNPROC)(GLuint rc, GLfloat x, GLfloat y, GLfloat z);\nGLAPI PFNGLREPLACEMENTCODEUIVERTEX3FSUNPROC glad_glReplacementCodeuiVertex3fSUN;\n#define glReplacementCodeuiVertex3fSUN glad_glReplacementCodeuiVertex3fSUN\ntypedef void (APIENTRYP PFNGLREPLACEMENTCODEUIVERTEX3FVSUNPROC)(const GLuint *rc, const GLfloat *v);\nGLAPI PFNGLREPLACEMENTCODEUIVERTEX3FVSUNPROC glad_glReplacementCodeuiVertex3fvSUN;\n#define glReplacementCodeuiVertex3fvSUN glad_glReplacementCodeuiVertex3fvSUN\ntypedef void (APIENTRYP PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FSUNPROC)(GLuint rc, GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z);\nGLAPI PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FSUNPROC glad_glReplacementCodeuiColor4ubVertex3fSUN;\n#define glReplacementCodeuiColor4ubVertex3fSUN glad_glReplacementCodeuiColor4ubVertex3fSUN\ntypedef void (APIENTRYP PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FVSUNPROC)(const GLuint *rc, const GLubyte *c, const GLfloat *v);\nGLAPI PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FVSUNPROC glad_glReplacementCodeuiColor4ubVertex3fvSUN;\n#define glReplacementCodeuiColor4ubVertex3fvSUN glad_glReplacementCodeuiColor4ubVertex3fvSUN\ntypedef void (APIENTRYP PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FSUNPROC)(GLuint rc, GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z);\nGLAPI PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FSUNPROC glad_glReplacementCodeuiColor3fVertex3fSUN;\n#define glReplacementCodeuiColor3fVertex3fSUN glad_glReplacementCodeuiColor3fVertex3fSUN\ntypedef void (APIENTRYP PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FVSUNPROC)(const GLuint *rc, const GLfloat *c, const GLfloat *v);\nGLAPI PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FVSUNPROC glad_glReplacementCodeuiColor3fVertex3fvSUN;\n#define glReplacementCodeuiColor3fVertex3fvSUN glad_glReplacementCodeuiColor3fVertex3fvSUN\ntypedef void (APIENTRYP PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FSUNPROC)(GLuint rc, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);\nGLAPI PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FSUNPROC glad_glReplacementCodeuiNormal3fVertex3fSUN;\n#define glReplacementCodeuiNormal3fVertex3fSUN glad_glReplacementCodeuiNormal3fVertex3fSUN\ntypedef void (APIENTRYP PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FVSUNPROC)(const GLuint *rc, const GLfloat *n, const GLfloat *v);\nGLAPI PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FVSUNPROC glad_glReplacementCodeuiNormal3fVertex3fvSUN;\n#define glReplacementCodeuiNormal3fVertex3fvSUN glad_glReplacementCodeuiNormal3fVertex3fvSUN\ntypedef void (APIENTRYP PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FSUNPROC)(GLuint rc, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);\nGLAPI PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FSUNPROC glad_glReplacementCodeuiColor4fNormal3fVertex3fSUN;\n#define glReplacementCodeuiColor4fNormal3fVertex3fSUN glad_glReplacementCodeuiColor4fNormal3fVertex3fSUN\ntypedef void (APIENTRYP PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FVSUNPROC)(const GLuint *rc, const GLfloat *c, const GLfloat *n, const GLfloat *v);\nGLAPI PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FVSUNPROC glad_glReplacementCodeuiColor4fNormal3fVertex3fvSUN;\n#define glReplacementCodeuiColor4fNormal3fVertex3fvSUN glad_glReplacementCodeuiColor4fNormal3fVertex3fvSUN\ntypedef void (APIENTRYP PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FSUNPROC)(GLuint rc, GLfloat s, GLfloat t, GLfloat x, GLfloat y, GLfloat z);\nGLAPI PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FSUNPROC glad_glReplacementCodeuiTexCoord2fVertex3fSUN;\n#define glReplacementCodeuiTexCoord2fVertex3fSUN glad_glReplacementCodeuiTexCoord2fVertex3fSUN\ntypedef void (APIENTRYP PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FVSUNPROC)(const GLuint *rc, const GLfloat *tc, const GLfloat *v);\nGLAPI PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FVSUNPROC glad_glReplacementCodeuiTexCoord2fVertex3fvSUN;\n#define glReplacementCodeuiTexCoord2fVertex3fvSUN glad_glReplacementCodeuiTexCoord2fVertex3fvSUN\ntypedef void (APIENTRYP PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FSUNPROC)(GLuint rc, GLfloat s, GLfloat t, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);\nGLAPI PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FSUNPROC glad_glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN;\n#define glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN glad_glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN\ntypedef void (APIENTRYP PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FVSUNPROC)(const GLuint *rc, const GLfloat *tc, const GLfloat *n, const GLfloat *v);\nGLAPI PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FVSUNPROC glad_glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN;\n#define glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN glad_glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN\ntypedef void (APIENTRYP PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC)(GLuint rc, GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);\nGLAPI PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC glad_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN;\n#define glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN glad_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN\ntypedef void (APIENTRYP PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC)(const GLuint *rc, const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v);\nGLAPI PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC glad_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN;\n#define glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN glad_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN\n#endif\n#ifndef GL_WIN_phong_shading\n#define GL_WIN_phong_shading 1\nGLAPI int GLAD_GL_WIN_phong_shading;\n#endif\n#ifndef GL_WIN_specular_fog\n#define GL_WIN_specular_fog 1\nGLAPI int GLAD_GL_WIN_specular_fog;\n#endif\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif\n"
  },
  {
    "path": "external/glad/src/glad.c",
    "content": "/*\n\n    OpenGL loader generated by glad 0.1.15a0 on Wed Nov  8 01:16:01 2017.\n\n    Language/Generator: C/C++\n    Specification: gl\n    APIs: gl=4.6\n    Profile: compatibility\n    Extensions:\n        GL_3DFX_multisample,\n        GL_3DFX_tbuffer,\n        GL_3DFX_texture_compression_FXT1,\n        GL_AMD_blend_minmax_factor,\n        GL_AMD_conservative_depth,\n        GL_AMD_debug_output,\n        GL_AMD_depth_clamp_separate,\n        GL_AMD_draw_buffers_blend,\n        GL_AMD_framebuffer_sample_positions,\n        GL_AMD_gcn_shader,\n        GL_AMD_gpu_shader_half_float,\n        GL_AMD_gpu_shader_int16,\n        GL_AMD_gpu_shader_int64,\n        GL_AMD_interleaved_elements,\n        GL_AMD_multi_draw_indirect,\n        GL_AMD_name_gen_delete,\n        GL_AMD_occlusion_query_event,\n        GL_AMD_performance_monitor,\n        GL_AMD_pinned_memory,\n        GL_AMD_query_buffer_object,\n        GL_AMD_sample_positions,\n        GL_AMD_seamless_cubemap_per_texture,\n        GL_AMD_shader_atomic_counter_ops,\n        GL_AMD_shader_ballot,\n        GL_AMD_shader_explicit_vertex_parameter,\n        GL_AMD_shader_image_load_store_lod,\n        GL_AMD_shader_stencil_export,\n        GL_AMD_shader_trinary_minmax,\n        GL_AMD_sparse_texture,\n        GL_AMD_stencil_operation_extended,\n        GL_AMD_texture_gather_bias_lod,\n        GL_AMD_texture_texture4,\n        GL_AMD_transform_feedback3_lines_triangles,\n        GL_AMD_transform_feedback4,\n        GL_AMD_vertex_shader_layer,\n        GL_AMD_vertex_shader_tessellator,\n        GL_AMD_vertex_shader_viewport_index,\n        GL_APPLE_aux_depth_stencil,\n        GL_APPLE_client_storage,\n        GL_APPLE_element_array,\n        GL_APPLE_fence,\n        GL_APPLE_float_pixels,\n        GL_APPLE_flush_buffer_range,\n        GL_APPLE_object_purgeable,\n        GL_APPLE_rgb_422,\n        GL_APPLE_row_bytes,\n        GL_APPLE_specular_vector,\n        GL_APPLE_texture_range,\n        GL_APPLE_transform_hint,\n        GL_APPLE_vertex_array_object,\n        GL_APPLE_vertex_array_range,\n        GL_APPLE_vertex_program_evaluators,\n        GL_APPLE_ycbcr_422,\n        GL_ARB_ES2_compatibility,\n        GL_ARB_ES3_1_compatibility,\n        GL_ARB_ES3_2_compatibility,\n        GL_ARB_ES3_compatibility,\n        GL_ARB_arrays_of_arrays,\n        GL_ARB_base_instance,\n        GL_ARB_bindless_texture,\n        GL_ARB_blend_func_extended,\n        GL_ARB_buffer_storage,\n        GL_ARB_cl_event,\n        GL_ARB_clear_buffer_object,\n        GL_ARB_clear_texture,\n        GL_ARB_clip_control,\n        GL_ARB_color_buffer_float,\n        GL_ARB_compatibility,\n        GL_ARB_compressed_texture_pixel_storage,\n        GL_ARB_compute_shader,\n        GL_ARB_compute_variable_group_size,\n        GL_ARB_conditional_render_inverted,\n        GL_ARB_conservative_depth,\n        GL_ARB_copy_buffer,\n        GL_ARB_copy_image,\n        GL_ARB_cull_distance,\n        GL_ARB_debug_output,\n        GL_ARB_depth_buffer_float,\n        GL_ARB_depth_clamp,\n        GL_ARB_depth_texture,\n        GL_ARB_derivative_control,\n        GL_ARB_direct_state_access,\n        GL_ARB_draw_buffers,\n        GL_ARB_draw_buffers_blend,\n        GL_ARB_draw_elements_base_vertex,\n        GL_ARB_draw_indirect,\n        GL_ARB_draw_instanced,\n        GL_ARB_enhanced_layouts,\n        GL_ARB_explicit_attrib_location,\n        GL_ARB_explicit_uniform_location,\n        GL_ARB_fragment_coord_conventions,\n        GL_ARB_fragment_layer_viewport,\n        GL_ARB_fragment_program,\n        GL_ARB_fragment_program_shadow,\n        GL_ARB_fragment_shader,\n        GL_ARB_fragment_shader_interlock,\n        GL_ARB_framebuffer_no_attachments,\n        GL_ARB_framebuffer_object,\n        GL_ARB_framebuffer_sRGB,\n        GL_ARB_geometry_shader4,\n        GL_ARB_get_program_binary,\n        GL_ARB_get_texture_sub_image,\n        GL_ARB_gl_spirv,\n        GL_ARB_gpu_shader5,\n        GL_ARB_gpu_shader_fp64,\n        GL_ARB_gpu_shader_int64,\n        GL_ARB_half_float_pixel,\n        GL_ARB_half_float_vertex,\n        GL_ARB_imaging,\n        GL_ARB_indirect_parameters,\n        GL_ARB_instanced_arrays,\n        GL_ARB_internalformat_query,\n        GL_ARB_internalformat_query2,\n        GL_ARB_invalidate_subdata,\n        GL_ARB_map_buffer_alignment,\n        GL_ARB_map_buffer_range,\n        GL_ARB_matrix_palette,\n        GL_ARB_multi_bind,\n        GL_ARB_multi_draw_indirect,\n        GL_ARB_multisample,\n        GL_ARB_multitexture,\n        GL_ARB_occlusion_query,\n        GL_ARB_occlusion_query2,\n        GL_ARB_parallel_shader_compile,\n        GL_ARB_pipeline_statistics_query,\n        GL_ARB_pixel_buffer_object,\n        GL_ARB_point_parameters,\n        GL_ARB_point_sprite,\n        GL_ARB_polygon_offset_clamp,\n        GL_ARB_post_depth_coverage,\n        GL_ARB_program_interface_query,\n        GL_ARB_provoking_vertex,\n        GL_ARB_query_buffer_object,\n        GL_ARB_robust_buffer_access_behavior,\n        GL_ARB_robustness,\n        GL_ARB_robustness_isolation,\n        GL_ARB_sample_locations,\n        GL_ARB_sample_shading,\n        GL_ARB_sampler_objects,\n        GL_ARB_seamless_cube_map,\n        GL_ARB_seamless_cubemap_per_texture,\n        GL_ARB_separate_shader_objects,\n        GL_ARB_shader_atomic_counter_ops,\n        GL_ARB_shader_atomic_counters,\n        GL_ARB_shader_ballot,\n        GL_ARB_shader_bit_encoding,\n        GL_ARB_shader_clock,\n        GL_ARB_shader_draw_parameters,\n        GL_ARB_shader_group_vote,\n        GL_ARB_shader_image_load_store,\n        GL_ARB_shader_image_size,\n        GL_ARB_shader_objects,\n        GL_ARB_shader_precision,\n        GL_ARB_shader_stencil_export,\n        GL_ARB_shader_storage_buffer_object,\n        GL_ARB_shader_subroutine,\n        GL_ARB_shader_texture_image_samples,\n        GL_ARB_shader_texture_lod,\n        GL_ARB_shader_viewport_layer_array,\n        GL_ARB_shading_language_100,\n        GL_ARB_shading_language_420pack,\n        GL_ARB_shading_language_include,\n        GL_ARB_shading_language_packing,\n        GL_ARB_shadow,\n        GL_ARB_shadow_ambient,\n        GL_ARB_sparse_buffer,\n        GL_ARB_sparse_texture,\n        GL_ARB_sparse_texture2,\n        GL_ARB_sparse_texture_clamp,\n        GL_ARB_spirv_extensions,\n        GL_ARB_stencil_texturing,\n        GL_ARB_sync,\n        GL_ARB_tessellation_shader,\n        GL_ARB_texture_barrier,\n        GL_ARB_texture_border_clamp,\n        GL_ARB_texture_buffer_object,\n        GL_ARB_texture_buffer_object_rgb32,\n        GL_ARB_texture_buffer_range,\n        GL_ARB_texture_compression,\n        GL_ARB_texture_compression_bptc,\n        GL_ARB_texture_compression_rgtc,\n        GL_ARB_texture_cube_map,\n        GL_ARB_texture_cube_map_array,\n        GL_ARB_texture_env_add,\n        GL_ARB_texture_env_combine,\n        GL_ARB_texture_env_crossbar,\n        GL_ARB_texture_env_dot3,\n        GL_ARB_texture_filter_anisotropic,\n        GL_ARB_texture_filter_minmax,\n        GL_ARB_texture_float,\n        GL_ARB_texture_gather,\n        GL_ARB_texture_mirror_clamp_to_edge,\n        GL_ARB_texture_mirrored_repeat,\n        GL_ARB_texture_multisample,\n        GL_ARB_texture_non_power_of_two,\n        GL_ARB_texture_query_levels,\n        GL_ARB_texture_query_lod,\n        GL_ARB_texture_rectangle,\n        GL_ARB_texture_rg,\n        GL_ARB_texture_rgb10_a2ui,\n        GL_ARB_texture_stencil8,\n        GL_ARB_texture_storage,\n        GL_ARB_texture_storage_multisample,\n        GL_ARB_texture_swizzle,\n        GL_ARB_texture_view,\n        GL_ARB_timer_query,\n        GL_ARB_transform_feedback2,\n        GL_ARB_transform_feedback3,\n        GL_ARB_transform_feedback_instanced,\n        GL_ARB_transform_feedback_overflow_query,\n        GL_ARB_transpose_matrix,\n        GL_ARB_uniform_buffer_object,\n        GL_ARB_vertex_array_bgra,\n        GL_ARB_vertex_array_object,\n        GL_ARB_vertex_attrib_64bit,\n        GL_ARB_vertex_attrib_binding,\n        GL_ARB_vertex_blend,\n        GL_ARB_vertex_buffer_object,\n        GL_ARB_vertex_program,\n        GL_ARB_vertex_shader,\n        GL_ARB_vertex_type_10f_11f_11f_rev,\n        GL_ARB_vertex_type_2_10_10_10_rev,\n        GL_ARB_viewport_array,\n        GL_ARB_window_pos,\n        GL_ATI_draw_buffers,\n        GL_ATI_element_array,\n        GL_ATI_envmap_bumpmap,\n        GL_ATI_fragment_shader,\n        GL_ATI_map_object_buffer,\n        GL_ATI_meminfo,\n        GL_ATI_pixel_format_float,\n        GL_ATI_pn_triangles,\n        GL_ATI_separate_stencil,\n        GL_ATI_text_fragment_shader,\n        GL_ATI_texture_env_combine3,\n        GL_ATI_texture_float,\n        GL_ATI_texture_mirror_once,\n        GL_ATI_vertex_array_object,\n        GL_ATI_vertex_attrib_array_object,\n        GL_ATI_vertex_streams,\n        GL_EXT_422_pixels,\n        GL_EXT_abgr,\n        GL_EXT_bgra,\n        GL_EXT_bindable_uniform,\n        GL_EXT_blend_color,\n        GL_EXT_blend_equation_separate,\n        GL_EXT_blend_func_separate,\n        GL_EXT_blend_logic_op,\n        GL_EXT_blend_minmax,\n        GL_EXT_blend_subtract,\n        GL_EXT_clip_volume_hint,\n        GL_EXT_cmyka,\n        GL_EXT_color_subtable,\n        GL_EXT_compiled_vertex_array,\n        GL_EXT_convolution,\n        GL_EXT_coordinate_frame,\n        GL_EXT_copy_texture,\n        GL_EXT_cull_vertex,\n        GL_EXT_debug_label,\n        GL_EXT_debug_marker,\n        GL_EXT_depth_bounds_test,\n        GL_EXT_direct_state_access,\n        GL_EXT_draw_buffers2,\n        GL_EXT_draw_instanced,\n        GL_EXT_draw_range_elements,\n        GL_EXT_external_buffer,\n        GL_EXT_fog_coord,\n        GL_EXT_framebuffer_blit,\n        GL_EXT_framebuffer_multisample,\n        GL_EXT_framebuffer_multisample_blit_scaled,\n        GL_EXT_framebuffer_object,\n        GL_EXT_framebuffer_sRGB,\n        GL_EXT_geometry_shader4,\n        GL_EXT_gpu_program_parameters,\n        GL_EXT_gpu_shader4,\n        GL_EXT_histogram,\n        GL_EXT_index_array_formats,\n        GL_EXT_index_func,\n        GL_EXT_index_material,\n        GL_EXT_index_texture,\n        GL_EXT_light_texture,\n        GL_EXT_memory_object,\n        GL_EXT_memory_object_fd,\n        GL_EXT_memory_object_win32,\n        GL_EXT_misc_attribute,\n        GL_EXT_multi_draw_arrays,\n        GL_EXT_multisample,\n        GL_EXT_packed_depth_stencil,\n        GL_EXT_packed_float,\n        GL_EXT_packed_pixels,\n        GL_EXT_paletted_texture,\n        GL_EXT_pixel_buffer_object,\n        GL_EXT_pixel_transform,\n        GL_EXT_pixel_transform_color_table,\n        GL_EXT_point_parameters,\n        GL_EXT_polygon_offset,\n        GL_EXT_polygon_offset_clamp,\n        GL_EXT_post_depth_coverage,\n        GL_EXT_provoking_vertex,\n        GL_EXT_raster_multisample,\n        GL_EXT_rescale_normal,\n        GL_EXT_secondary_color,\n        GL_EXT_semaphore,\n        GL_EXT_semaphore_fd,\n        GL_EXT_semaphore_win32,\n        GL_EXT_separate_shader_objects,\n        GL_EXT_separate_specular_color,\n        GL_EXT_shader_image_load_formatted,\n        GL_EXT_shader_image_load_store,\n        GL_EXT_shader_integer_mix,\n        GL_EXT_shadow_funcs,\n        GL_EXT_shared_texture_palette,\n        GL_EXT_sparse_texture2,\n        GL_EXT_stencil_clear_tag,\n        GL_EXT_stencil_two_side,\n        GL_EXT_stencil_wrap,\n        GL_EXT_subtexture,\n        GL_EXT_texture,\n        GL_EXT_texture3D,\n        GL_EXT_texture_array,\n        GL_EXT_texture_buffer_object,\n        GL_EXT_texture_compression_latc,\n        GL_EXT_texture_compression_rgtc,\n        GL_EXT_texture_compression_s3tc,\n        GL_EXT_texture_cube_map,\n        GL_EXT_texture_env_add,\n        GL_EXT_texture_env_combine,\n        GL_EXT_texture_env_dot3,\n        GL_EXT_texture_filter_anisotropic,\n        GL_EXT_texture_filter_minmax,\n        GL_EXT_texture_integer,\n        GL_EXT_texture_lod_bias,\n        GL_EXT_texture_mirror_clamp,\n        GL_EXT_texture_object,\n        GL_EXT_texture_perturb_normal,\n        GL_EXT_texture_sRGB,\n        GL_EXT_texture_sRGB_decode,\n        GL_EXT_texture_shared_exponent,\n        GL_EXT_texture_snorm,\n        GL_EXT_texture_swizzle,\n        GL_EXT_timer_query,\n        GL_EXT_transform_feedback,\n        GL_EXT_vertex_array,\n        GL_EXT_vertex_array_bgra,\n        GL_EXT_vertex_attrib_64bit,\n        GL_EXT_vertex_shader,\n        GL_EXT_vertex_weighting,\n        GL_EXT_win32_keyed_mutex,\n        GL_EXT_window_rectangles,\n        GL_EXT_x11_sync_object,\n        GL_GREMEDY_frame_terminator,\n        GL_GREMEDY_string_marker,\n        GL_HP_convolution_border_modes,\n        GL_HP_image_transform,\n        GL_HP_occlusion_test,\n        GL_HP_texture_lighting,\n        GL_IBM_cull_vertex,\n        GL_IBM_multimode_draw_arrays,\n        GL_IBM_rasterpos_clip,\n        GL_IBM_static_data,\n        GL_IBM_texture_mirrored_repeat,\n        GL_IBM_vertex_array_lists,\n        GL_INGR_blend_func_separate,\n        GL_INGR_color_clamp,\n        GL_INGR_interlace_read,\n        GL_INTEL_conservative_rasterization,\n        GL_INTEL_fragment_shader_ordering,\n        GL_INTEL_framebuffer_CMAA,\n        GL_INTEL_map_texture,\n        GL_INTEL_parallel_arrays,\n        GL_INTEL_performance_query,\n        GL_KHR_blend_equation_advanced,\n        GL_KHR_blend_equation_advanced_coherent,\n        GL_KHR_context_flush_control,\n        GL_KHR_debug,\n        GL_KHR_no_error,\n        GL_KHR_parallel_shader_compile,\n        GL_KHR_robust_buffer_access_behavior,\n        GL_KHR_robustness,\n        GL_KHR_texture_compression_astc_hdr,\n        GL_KHR_texture_compression_astc_ldr,\n        GL_KHR_texture_compression_astc_sliced_3d,\n        GL_MESAX_texture_stack,\n        GL_MESA_pack_invert,\n        GL_MESA_resize_buffers,\n        GL_MESA_shader_integer_functions,\n        GL_MESA_tile_raster_order,\n        GL_MESA_window_pos,\n        GL_MESA_ycbcr_texture,\n        GL_NVX_blend_equation_advanced_multi_draw_buffers,\n        GL_NVX_conditional_render,\n        GL_NVX_gpu_memory_info,\n        GL_NVX_linked_gpu_multicast,\n        GL_NV_alpha_to_coverage_dither_control,\n        GL_NV_bindless_multi_draw_indirect,\n        GL_NV_bindless_multi_draw_indirect_count,\n        GL_NV_bindless_texture,\n        GL_NV_blend_equation_advanced,\n        GL_NV_blend_equation_advanced_coherent,\n        GL_NV_blend_minmax_factor,\n        GL_NV_blend_square,\n        GL_NV_clip_space_w_scaling,\n        GL_NV_command_list,\n        GL_NV_compute_program5,\n        GL_NV_conditional_render,\n        GL_NV_conservative_raster,\n        GL_NV_conservative_raster_dilate,\n        GL_NV_conservative_raster_pre_snap_triangles,\n        GL_NV_copy_depth_to_color,\n        GL_NV_copy_image,\n        GL_NV_deep_texture3D,\n        GL_NV_depth_buffer_float,\n        GL_NV_depth_clamp,\n        GL_NV_draw_texture,\n        GL_NV_draw_vulkan_image,\n        GL_NV_evaluators,\n        GL_NV_explicit_multisample,\n        GL_NV_fence,\n        GL_NV_fill_rectangle,\n        GL_NV_float_buffer,\n        GL_NV_fog_distance,\n        GL_NV_fragment_coverage_to_color,\n        GL_NV_fragment_program,\n        GL_NV_fragment_program2,\n        GL_NV_fragment_program4,\n        GL_NV_fragment_program_option,\n        GL_NV_fragment_shader_interlock,\n        GL_NV_framebuffer_mixed_samples,\n        GL_NV_framebuffer_multisample_coverage,\n        GL_NV_geometry_program4,\n        GL_NV_geometry_shader4,\n        GL_NV_geometry_shader_passthrough,\n        GL_NV_gpu_multicast,\n        GL_NV_gpu_program4,\n        GL_NV_gpu_program5,\n        GL_NV_gpu_program5_mem_extended,\n        GL_NV_gpu_shader5,\n        GL_NV_half_float,\n        GL_NV_internalformat_sample_query,\n        GL_NV_light_max_exponent,\n        GL_NV_multisample_coverage,\n        GL_NV_multisample_filter_hint,\n        GL_NV_occlusion_query,\n        GL_NV_packed_depth_stencil,\n        GL_NV_parameter_buffer_object,\n        GL_NV_parameter_buffer_object2,\n        GL_NV_path_rendering,\n        GL_NV_path_rendering_shared_edge,\n        GL_NV_pixel_data_range,\n        GL_NV_point_sprite,\n        GL_NV_present_video,\n        GL_NV_primitive_restart,\n        GL_NV_query_resource,\n        GL_NV_query_resource_tag,\n        GL_NV_register_combiners,\n        GL_NV_register_combiners2,\n        GL_NV_robustness_video_memory_purge,\n        GL_NV_sample_locations,\n        GL_NV_sample_mask_override_coverage,\n        GL_NV_shader_atomic_counters,\n        GL_NV_shader_atomic_float,\n        GL_NV_shader_atomic_float64,\n        GL_NV_shader_atomic_fp16_vector,\n        GL_NV_shader_atomic_int64,\n        GL_NV_shader_buffer_load,\n        GL_NV_shader_buffer_store,\n        GL_NV_shader_storage_buffer_object,\n        GL_NV_shader_thread_group,\n        GL_NV_shader_thread_shuffle,\n        GL_NV_stereo_view_rendering,\n        GL_NV_tessellation_program5,\n        GL_NV_texgen_emboss,\n        GL_NV_texgen_reflection,\n        GL_NV_texture_barrier,\n        GL_NV_texture_compression_vtc,\n        GL_NV_texture_env_combine4,\n        GL_NV_texture_expand_normal,\n        GL_NV_texture_multisample,\n        GL_NV_texture_rectangle,\n        GL_NV_texture_rectangle_compressed,\n        GL_NV_texture_shader,\n        GL_NV_texture_shader2,\n        GL_NV_texture_shader3,\n        GL_NV_transform_feedback,\n        GL_NV_transform_feedback2,\n        GL_NV_uniform_buffer_unified_memory,\n        GL_NV_vdpau_interop,\n        GL_NV_vertex_array_range,\n        GL_NV_vertex_array_range2,\n        GL_NV_vertex_attrib_integer_64bit,\n        GL_NV_vertex_buffer_unified_memory,\n        GL_NV_vertex_program,\n        GL_NV_vertex_program1_1,\n        GL_NV_vertex_program2,\n        GL_NV_vertex_program2_option,\n        GL_NV_vertex_program3,\n        GL_NV_vertex_program4,\n        GL_NV_video_capture,\n        GL_NV_viewport_array2,\n        GL_NV_viewport_swizzle,\n        GL_OES_byte_coordinates,\n        GL_OES_compressed_paletted_texture,\n        GL_OES_fixed_point,\n        GL_OES_query_matrix,\n        GL_OES_read_format,\n        GL_OES_single_precision,\n        GL_OML_interlace,\n        GL_OML_resample,\n        GL_OML_subsample,\n        GL_OVR_multiview,\n        GL_OVR_multiview2,\n        GL_PGI_misc_hints,\n        GL_PGI_vertex_hints,\n        GL_REND_screen_coordinates,\n        GL_S3_s3tc,\n        GL_SGIS_detail_texture,\n        GL_SGIS_fog_function,\n        GL_SGIS_generate_mipmap,\n        GL_SGIS_multisample,\n        GL_SGIS_pixel_texture,\n        GL_SGIS_point_line_texgen,\n        GL_SGIS_point_parameters,\n        GL_SGIS_sharpen_texture,\n        GL_SGIS_texture4D,\n        GL_SGIS_texture_border_clamp,\n        GL_SGIS_texture_color_mask,\n        GL_SGIS_texture_edge_clamp,\n        GL_SGIS_texture_filter4,\n        GL_SGIS_texture_lod,\n        GL_SGIS_texture_select,\n        GL_SGIX_async,\n        GL_SGIX_async_histogram,\n        GL_SGIX_async_pixel,\n        GL_SGIX_blend_alpha_minmax,\n        GL_SGIX_calligraphic_fragment,\n        GL_SGIX_clipmap,\n        GL_SGIX_convolution_accuracy,\n        GL_SGIX_depth_pass_instrument,\n        GL_SGIX_depth_texture,\n        GL_SGIX_flush_raster,\n        GL_SGIX_fog_offset,\n        GL_SGIX_fragment_lighting,\n        GL_SGIX_framezoom,\n        GL_SGIX_igloo_interface,\n        GL_SGIX_instruments,\n        GL_SGIX_interlace,\n        GL_SGIX_ir_instrument1,\n        GL_SGIX_list_priority,\n        GL_SGIX_pixel_texture,\n        GL_SGIX_pixel_tiles,\n        GL_SGIX_polynomial_ffd,\n        GL_SGIX_reference_plane,\n        GL_SGIX_resample,\n        GL_SGIX_scalebias_hint,\n        GL_SGIX_shadow,\n        GL_SGIX_shadow_ambient,\n        GL_SGIX_sprite,\n        GL_SGIX_subsample,\n        GL_SGIX_tag_sample_buffer,\n        GL_SGIX_texture_add_env,\n        GL_SGIX_texture_coordinate_clamp,\n        GL_SGIX_texture_lod_bias,\n        GL_SGIX_texture_multi_buffer,\n        GL_SGIX_texture_scale_bias,\n        GL_SGIX_vertex_preclip,\n        GL_SGIX_ycrcb,\n        GL_SGIX_ycrcb_subsample,\n        GL_SGIX_ycrcba,\n        GL_SGI_color_matrix,\n        GL_SGI_color_table,\n        GL_SGI_texture_color_table,\n        GL_SUNX_constant_data,\n        GL_SUN_convolution_border_modes,\n        GL_SUN_global_alpha,\n        GL_SUN_mesh_array,\n        GL_SUN_slice_accum,\n        GL_SUN_triangle_list,\n        GL_SUN_vertex,\n        GL_WIN_phong_shading,\n        GL_WIN_specular_fog\n    Loader: True\n    Local files: False\n    Omit khrplatform: False\n\n    Commandline:\n        --profile=\"compatibility\" --api=\"gl=4.6\" --generator=\"c\" --spec=\"gl\" --extensions=\"GL_3DFX_multisample,GL_3DFX_tbuffer,GL_3DFX_texture_compression_FXT1,GL_AMD_blend_minmax_factor,GL_AMD_conservative_depth,GL_AMD_debug_output,GL_AMD_depth_clamp_separate,GL_AMD_draw_buffers_blend,GL_AMD_framebuffer_sample_positions,GL_AMD_gcn_shader,GL_AMD_gpu_shader_half_float,GL_AMD_gpu_shader_int16,GL_AMD_gpu_shader_int64,GL_AMD_interleaved_elements,GL_AMD_multi_draw_indirect,GL_AMD_name_gen_delete,GL_AMD_occlusion_query_event,GL_AMD_performance_monitor,GL_AMD_pinned_memory,GL_AMD_query_buffer_object,GL_AMD_sample_positions,GL_AMD_seamless_cubemap_per_texture,GL_AMD_shader_atomic_counter_ops,GL_AMD_shader_ballot,GL_AMD_shader_explicit_vertex_parameter,GL_AMD_shader_image_load_store_lod,GL_AMD_shader_stencil_export,GL_AMD_shader_trinary_minmax,GL_AMD_sparse_texture,GL_AMD_stencil_operation_extended,GL_AMD_texture_gather_bias_lod,GL_AMD_texture_texture4,GL_AMD_transform_feedback3_lines_triangles,GL_AMD_transform_feedback4,GL_AMD_vertex_shader_layer,GL_AMD_vertex_shader_tessellator,GL_AMD_vertex_shader_viewport_index,GL_APPLE_aux_depth_stencil,GL_APPLE_client_storage,GL_APPLE_element_array,GL_APPLE_fence,GL_APPLE_float_pixels,GL_APPLE_flush_buffer_range,GL_APPLE_object_purgeable,GL_APPLE_rgb_422,GL_APPLE_row_bytes,GL_APPLE_specular_vector,GL_APPLE_texture_range,GL_APPLE_transform_hint,GL_APPLE_vertex_array_object,GL_APPLE_vertex_array_range,GL_APPLE_vertex_program_evaluators,GL_APPLE_ycbcr_422,GL_ARB_ES2_compatibility,GL_ARB_ES3_1_compatibility,GL_ARB_ES3_2_compatibility,GL_ARB_ES3_compatibility,GL_ARB_arrays_of_arrays,GL_ARB_base_instance,GL_ARB_bindless_texture,GL_ARB_blend_func_extended,GL_ARB_buffer_storage,GL_ARB_cl_event,GL_ARB_clear_buffer_object,GL_ARB_clear_texture,GL_ARB_clip_control,GL_ARB_color_buffer_float,GL_ARB_compatibility,GL_ARB_compressed_texture_pixel_storage,GL_ARB_compute_shader,GL_ARB_compute_variable_group_size,GL_ARB_conditional_render_inverted,GL_ARB_conservative_depth,GL_ARB_copy_buffer,GL_ARB_copy_image,GL_ARB_cull_distance,GL_ARB_debug_output,GL_ARB_depth_buffer_float,GL_ARB_depth_clamp,GL_ARB_depth_texture,GL_ARB_derivative_control,GL_ARB_direct_state_access,GL_ARB_draw_buffers,GL_ARB_draw_buffers_blend,GL_ARB_draw_elements_base_vertex,GL_ARB_draw_indirect,GL_ARB_draw_instanced,GL_ARB_enhanced_layouts,GL_ARB_explicit_attrib_location,GL_ARB_explicit_uniform_location,GL_ARB_fragment_coord_conventions,GL_ARB_fragment_layer_viewport,GL_ARB_fragment_program,GL_ARB_fragment_program_shadow,GL_ARB_fragment_shader,GL_ARB_fragment_shader_interlock,GL_ARB_framebuffer_no_attachments,GL_ARB_framebuffer_object,GL_ARB_framebuffer_sRGB,GL_ARB_geometry_shader4,GL_ARB_get_program_binary,GL_ARB_get_texture_sub_image,GL_ARB_gl_spirv,GL_ARB_gpu_shader5,GL_ARB_gpu_shader_fp64,GL_ARB_gpu_shader_int64,GL_ARB_half_float_pixel,GL_ARB_half_float_vertex,GL_ARB_imaging,GL_ARB_indirect_parameters,GL_ARB_instanced_arrays,GL_ARB_internalformat_query,GL_ARB_internalformat_query2,GL_ARB_invalidate_subdata,GL_ARB_map_buffer_alignment,GL_ARB_map_buffer_range,GL_ARB_matrix_palette,GL_ARB_multi_bind,GL_ARB_multi_draw_indirect,GL_ARB_multisample,GL_ARB_multitexture,GL_ARB_occlusion_query,GL_ARB_occlusion_query2,GL_ARB_parallel_shader_compile,GL_ARB_pipeline_statistics_query,GL_ARB_pixel_buffer_object,GL_ARB_point_parameters,GL_ARB_point_sprite,GL_ARB_polygon_offset_clamp,GL_ARB_post_depth_coverage,GL_ARB_program_interface_query,GL_ARB_provoking_vertex,GL_ARB_query_buffer_object,GL_ARB_robust_buffer_access_behavior,GL_ARB_robustness,GL_ARB_robustness_isolation,GL_ARB_sample_locations,GL_ARB_sample_shading,GL_ARB_sampler_objects,GL_ARB_seamless_cube_map,GL_ARB_seamless_cubemap_per_texture,GL_ARB_separate_shader_objects,GL_ARB_shader_atomic_counter_ops,GL_ARB_shader_atomic_counters,GL_ARB_shader_ballot,GL_ARB_shader_bit_encoding,GL_ARB_shader_clock,GL_ARB_shader_draw_parameters,GL_ARB_shader_group_vote,GL_ARB_shader_image_load_store,GL_ARB_shader_image_size,GL_ARB_shader_objects,GL_ARB_shader_precision,GL_ARB_shader_stencil_export,GL_ARB_shader_storage_buffer_object,GL_ARB_shader_subroutine,GL_ARB_shader_texture_image_samples,GL_ARB_shader_texture_lod,GL_ARB_shader_viewport_layer_array,GL_ARB_shading_language_100,GL_ARB_shading_language_420pack,GL_ARB_shading_language_include,GL_ARB_shading_language_packing,GL_ARB_shadow,GL_ARB_shadow_ambient,GL_ARB_sparse_buffer,GL_ARB_sparse_texture,GL_ARB_sparse_texture2,GL_ARB_sparse_texture_clamp,GL_ARB_spirv_extensions,GL_ARB_stencil_texturing,GL_ARB_sync,GL_ARB_tessellation_shader,GL_ARB_texture_barrier,GL_ARB_texture_border_clamp,GL_ARB_texture_buffer_object,GL_ARB_texture_buffer_object_rgb32,GL_ARB_texture_buffer_range,GL_ARB_texture_compression,GL_ARB_texture_compression_bptc,GL_ARB_texture_compression_rgtc,GL_ARB_texture_cube_map,GL_ARB_texture_cube_map_array,GL_ARB_texture_env_add,GL_ARB_texture_env_combine,GL_ARB_texture_env_crossbar,GL_ARB_texture_env_dot3,GL_ARB_texture_filter_anisotropic,GL_ARB_texture_filter_minmax,GL_ARB_texture_float,GL_ARB_texture_gather,GL_ARB_texture_mirror_clamp_to_edge,GL_ARB_texture_mirrored_repeat,GL_ARB_texture_multisample,GL_ARB_texture_non_power_of_two,GL_ARB_texture_query_levels,GL_ARB_texture_query_lod,GL_ARB_texture_rectangle,GL_ARB_texture_rg,GL_ARB_texture_rgb10_a2ui,GL_ARB_texture_stencil8,GL_ARB_texture_storage,GL_ARB_texture_storage_multisample,GL_ARB_texture_swizzle,GL_ARB_texture_view,GL_ARB_timer_query,GL_ARB_transform_feedback2,GL_ARB_transform_feedback3,GL_ARB_transform_feedback_instanced,GL_ARB_transform_feedback_overflow_query,GL_ARB_transpose_matrix,GL_ARB_uniform_buffer_object,GL_ARB_vertex_array_bgra,GL_ARB_vertex_array_object,GL_ARB_vertex_attrib_64bit,GL_ARB_vertex_attrib_binding,GL_ARB_vertex_blend,GL_ARB_vertex_buffer_object,GL_ARB_vertex_program,GL_ARB_vertex_shader,GL_ARB_vertex_type_10f_11f_11f_rev,GL_ARB_vertex_type_2_10_10_10_rev,GL_ARB_viewport_array,GL_ARB_window_pos,GL_ATI_draw_buffers,GL_ATI_element_array,GL_ATI_envmap_bumpmap,GL_ATI_fragment_shader,GL_ATI_map_object_buffer,GL_ATI_meminfo,GL_ATI_pixel_format_float,GL_ATI_pn_triangles,GL_ATI_separate_stencil,GL_ATI_text_fragment_shader,GL_ATI_texture_env_combine3,GL_ATI_texture_float,GL_ATI_texture_mirror_once,GL_ATI_vertex_array_object,GL_ATI_vertex_attrib_array_object,GL_ATI_vertex_streams,GL_EXT_422_pixels,GL_EXT_abgr,GL_EXT_bgra,GL_EXT_bindable_uniform,GL_EXT_blend_color,GL_EXT_blend_equation_separate,GL_EXT_blend_func_separate,GL_EXT_blend_logic_op,GL_EXT_blend_minmax,GL_EXT_blend_subtract,GL_EXT_clip_volume_hint,GL_EXT_cmyka,GL_EXT_color_subtable,GL_EXT_compiled_vertex_array,GL_EXT_convolution,GL_EXT_coordinate_frame,GL_EXT_copy_texture,GL_EXT_cull_vertex,GL_EXT_debug_label,GL_EXT_debug_marker,GL_EXT_depth_bounds_test,GL_EXT_direct_state_access,GL_EXT_draw_buffers2,GL_EXT_draw_instanced,GL_EXT_draw_range_elements,GL_EXT_external_buffer,GL_EXT_fog_coord,GL_EXT_framebuffer_blit,GL_EXT_framebuffer_multisample,GL_EXT_framebuffer_multisample_blit_scaled,GL_EXT_framebuffer_object,GL_EXT_framebuffer_sRGB,GL_EXT_geometry_shader4,GL_EXT_gpu_program_parameters,GL_EXT_gpu_shader4,GL_EXT_histogram,GL_EXT_index_array_formats,GL_EXT_index_func,GL_EXT_index_material,GL_EXT_index_texture,GL_EXT_light_texture,GL_EXT_memory_object,GL_EXT_memory_object_fd,GL_EXT_memory_object_win32,GL_EXT_misc_attribute,GL_EXT_multi_draw_arrays,GL_EXT_multisample,GL_EXT_packed_depth_stencil,GL_EXT_packed_float,GL_EXT_packed_pixels,GL_EXT_paletted_texture,GL_EXT_pixel_buffer_object,GL_EXT_pixel_transform,GL_EXT_pixel_transform_color_table,GL_EXT_point_parameters,GL_EXT_polygon_offset,GL_EXT_polygon_offset_clamp,GL_EXT_post_depth_coverage,GL_EXT_provoking_vertex,GL_EXT_raster_multisample,GL_EXT_rescale_normal,GL_EXT_secondary_color,GL_EXT_semaphore,GL_EXT_semaphore_fd,GL_EXT_semaphore_win32,GL_EXT_separate_shader_objects,GL_EXT_separate_specular_color,GL_EXT_shader_image_load_formatted,GL_EXT_shader_image_load_store,GL_EXT_shader_integer_mix,GL_EXT_shadow_funcs,GL_EXT_shared_texture_palette,GL_EXT_sparse_texture2,GL_EXT_stencil_clear_tag,GL_EXT_stencil_two_side,GL_EXT_stencil_wrap,GL_EXT_subtexture,GL_EXT_texture,GL_EXT_texture3D,GL_EXT_texture_array,GL_EXT_texture_buffer_object,GL_EXT_texture_compression_latc,GL_EXT_texture_compression_rgtc,GL_EXT_texture_compression_s3tc,GL_EXT_texture_cube_map,GL_EXT_texture_env_add,GL_EXT_texture_env_combine,GL_EXT_texture_env_dot3,GL_EXT_texture_filter_anisotropic,GL_EXT_texture_filter_minmax,GL_EXT_texture_integer,GL_EXT_texture_lod_bias,GL_EXT_texture_mirror_clamp,GL_EXT_texture_object,GL_EXT_texture_perturb_normal,GL_EXT_texture_sRGB,GL_EXT_texture_sRGB_decode,GL_EXT_texture_shared_exponent,GL_EXT_texture_snorm,GL_EXT_texture_swizzle,GL_EXT_timer_query,GL_EXT_transform_feedback,GL_EXT_vertex_array,GL_EXT_vertex_array_bgra,GL_EXT_vertex_attrib_64bit,GL_EXT_vertex_shader,GL_EXT_vertex_weighting,GL_EXT_win32_keyed_mutex,GL_EXT_window_rectangles,GL_EXT_x11_sync_object,GL_GREMEDY_frame_terminator,GL_GREMEDY_string_marker,GL_HP_convolution_border_modes,GL_HP_image_transform,GL_HP_occlusion_test,GL_HP_texture_lighting,GL_IBM_cull_vertex,GL_IBM_multimode_draw_arrays,GL_IBM_rasterpos_clip,GL_IBM_static_data,GL_IBM_texture_mirrored_repeat,GL_IBM_vertex_array_lists,GL_INGR_blend_func_separate,GL_INGR_color_clamp,GL_INGR_interlace_read,GL_INTEL_conservative_rasterization,GL_INTEL_fragment_shader_ordering,GL_INTEL_framebuffer_CMAA,GL_INTEL_map_texture,GL_INTEL_parallel_arrays,GL_INTEL_performance_query,GL_KHR_blend_equation_advanced,GL_KHR_blend_equation_advanced_coherent,GL_KHR_context_flush_control,GL_KHR_debug,GL_KHR_no_error,GL_KHR_parallel_shader_compile,GL_KHR_robust_buffer_access_behavior,GL_KHR_robustness,GL_KHR_texture_compression_astc_hdr,GL_KHR_texture_compression_astc_ldr,GL_KHR_texture_compression_astc_sliced_3d,GL_MESAX_texture_stack,GL_MESA_pack_invert,GL_MESA_resize_buffers,GL_MESA_shader_integer_functions,GL_MESA_tile_raster_order,GL_MESA_window_pos,GL_MESA_ycbcr_texture,GL_NVX_blend_equation_advanced_multi_draw_buffers,GL_NVX_conditional_render,GL_NVX_gpu_memory_info,GL_NVX_linked_gpu_multicast,GL_NV_alpha_to_coverage_dither_control,GL_NV_bindless_multi_draw_indirect,GL_NV_bindless_multi_draw_indirect_count,GL_NV_bindless_texture,GL_NV_blend_equation_advanced,GL_NV_blend_equation_advanced_coherent,GL_NV_blend_minmax_factor,GL_NV_blend_square,GL_NV_clip_space_w_scaling,GL_NV_command_list,GL_NV_compute_program5,GL_NV_conditional_render,GL_NV_conservative_raster,GL_NV_conservative_raster_dilate,GL_NV_conservative_raster_pre_snap_triangles,GL_NV_copy_depth_to_color,GL_NV_copy_image,GL_NV_deep_texture3D,GL_NV_depth_buffer_float,GL_NV_depth_clamp,GL_NV_draw_texture,GL_NV_draw_vulkan_image,GL_NV_evaluators,GL_NV_explicit_multisample,GL_NV_fence,GL_NV_fill_rectangle,GL_NV_float_buffer,GL_NV_fog_distance,GL_NV_fragment_coverage_to_color,GL_NV_fragment_program,GL_NV_fragment_program2,GL_NV_fragment_program4,GL_NV_fragment_program_option,GL_NV_fragment_shader_interlock,GL_NV_framebuffer_mixed_samples,GL_NV_framebuffer_multisample_coverage,GL_NV_geometry_program4,GL_NV_geometry_shader4,GL_NV_geometry_shader_passthrough,GL_NV_gpu_multicast,GL_NV_gpu_program4,GL_NV_gpu_program5,GL_NV_gpu_program5_mem_extended,GL_NV_gpu_shader5,GL_NV_half_float,GL_NV_internalformat_sample_query,GL_NV_light_max_exponent,GL_NV_multisample_coverage,GL_NV_multisample_filter_hint,GL_NV_occlusion_query,GL_NV_packed_depth_stencil,GL_NV_parameter_buffer_object,GL_NV_parameter_buffer_object2,GL_NV_path_rendering,GL_NV_path_rendering_shared_edge,GL_NV_pixel_data_range,GL_NV_point_sprite,GL_NV_present_video,GL_NV_primitive_restart,GL_NV_query_resource,GL_NV_query_resource_tag,GL_NV_register_combiners,GL_NV_register_combiners2,GL_NV_robustness_video_memory_purge,GL_NV_sample_locations,GL_NV_sample_mask_override_coverage,GL_NV_shader_atomic_counters,GL_NV_shader_atomic_float,GL_NV_shader_atomic_float64,GL_NV_shader_atomic_fp16_vector,GL_NV_shader_atomic_int64,GL_NV_shader_buffer_load,GL_NV_shader_buffer_store,GL_NV_shader_storage_buffer_object,GL_NV_shader_thread_group,GL_NV_shader_thread_shuffle,GL_NV_stereo_view_rendering,GL_NV_tessellation_program5,GL_NV_texgen_emboss,GL_NV_texgen_reflection,GL_NV_texture_barrier,GL_NV_texture_compression_vtc,GL_NV_texture_env_combine4,GL_NV_texture_expand_normal,GL_NV_texture_multisample,GL_NV_texture_rectangle,GL_NV_texture_rectangle_compressed,GL_NV_texture_shader,GL_NV_texture_shader2,GL_NV_texture_shader3,GL_NV_transform_feedback,GL_NV_transform_feedback2,GL_NV_uniform_buffer_unified_memory,GL_NV_vdpau_interop,GL_NV_vertex_array_range,GL_NV_vertex_array_range2,GL_NV_vertex_attrib_integer_64bit,GL_NV_vertex_buffer_unified_memory,GL_NV_vertex_program,GL_NV_vertex_program1_1,GL_NV_vertex_program2,GL_NV_vertex_program2_option,GL_NV_vertex_program3,GL_NV_vertex_program4,GL_NV_video_capture,GL_NV_viewport_array2,GL_NV_viewport_swizzle,GL_OES_byte_coordinates,GL_OES_compressed_paletted_texture,GL_OES_fixed_point,GL_OES_query_matrix,GL_OES_read_format,GL_OES_single_precision,GL_OML_interlace,GL_OML_resample,GL_OML_subsample,GL_OVR_multiview,GL_OVR_multiview2,GL_PGI_misc_hints,GL_PGI_vertex_hints,GL_REND_screen_coordinates,GL_S3_s3tc,GL_SGIS_detail_texture,GL_SGIS_fog_function,GL_SGIS_generate_mipmap,GL_SGIS_multisample,GL_SGIS_pixel_texture,GL_SGIS_point_line_texgen,GL_SGIS_point_parameters,GL_SGIS_sharpen_texture,GL_SGIS_texture4D,GL_SGIS_texture_border_clamp,GL_SGIS_texture_color_mask,GL_SGIS_texture_edge_clamp,GL_SGIS_texture_filter4,GL_SGIS_texture_lod,GL_SGIS_texture_select,GL_SGIX_async,GL_SGIX_async_histogram,GL_SGIX_async_pixel,GL_SGIX_blend_alpha_minmax,GL_SGIX_calligraphic_fragment,GL_SGIX_clipmap,GL_SGIX_convolution_accuracy,GL_SGIX_depth_pass_instrument,GL_SGIX_depth_texture,GL_SGIX_flush_raster,GL_SGIX_fog_offset,GL_SGIX_fragment_lighting,GL_SGIX_framezoom,GL_SGIX_igloo_interface,GL_SGIX_instruments,GL_SGIX_interlace,GL_SGIX_ir_instrument1,GL_SGIX_list_priority,GL_SGIX_pixel_texture,GL_SGIX_pixel_tiles,GL_SGIX_polynomial_ffd,GL_SGIX_reference_plane,GL_SGIX_resample,GL_SGIX_scalebias_hint,GL_SGIX_shadow,GL_SGIX_shadow_ambient,GL_SGIX_sprite,GL_SGIX_subsample,GL_SGIX_tag_sample_buffer,GL_SGIX_texture_add_env,GL_SGIX_texture_coordinate_clamp,GL_SGIX_texture_lod_bias,GL_SGIX_texture_multi_buffer,GL_SGIX_texture_scale_bias,GL_SGIX_vertex_preclip,GL_SGIX_ycrcb,GL_SGIX_ycrcb_subsample,GL_SGIX_ycrcba,GL_SGI_color_matrix,GL_SGI_color_table,GL_SGI_texture_color_table,GL_SUNX_constant_data,GL_SUN_convolution_border_modes,GL_SUN_global_alpha,GL_SUN_mesh_array,GL_SUN_slice_accum,GL_SUN_triangle_list,GL_SUN_vertex,GL_WIN_phong_shading,GL_WIN_specular_fog\"\n    Online:\n        Too many extensions\n*/\n\n#include <stdio.h>\n#include <stdlib.h>\n#include <string.h>\n#include \"../include/glad/glad.h\"\n\nstatic void* get_proc(const char *namez);\n\n#ifdef _WIN32\n#include <windows.h>\nstatic HMODULE libGL;\n\ntypedef void* (APIENTRYP PFNWGLGETPROCADDRESSPROC_PRIVATE)(const char*);\nstatic PFNWGLGETPROCADDRESSPROC_PRIVATE gladGetProcAddressPtr;\n\nstatic\nint open_gl(void) {\n    libGL = LoadLibraryW(L\"opengl32.dll\");\n    if(libGL != NULL) {\n        gladGetProcAddressPtr = (PFNWGLGETPROCADDRESSPROC_PRIVATE)GetProcAddress(\n                libGL, \"wglGetProcAddress\");\n        return gladGetProcAddressPtr != NULL;\n    }\n\n    return 0;\n}\n\nstatic\nvoid close_gl(void) {\n    if(libGL != NULL) {\n        FreeLibrary(libGL);\n        libGL = NULL;\n    }\n}\n#else\n#include <dlfcn.h>\nstatic void* libGL;\n\n#ifndef __APPLE__\ntypedef void* (APIENTRYP PFNGLXGETPROCADDRESSPROC_PRIVATE)(const char*);\nstatic PFNGLXGETPROCADDRESSPROC_PRIVATE gladGetProcAddressPtr;\n#endif\n\nstatic\nint open_gl(void) {\n#ifdef __APPLE__\n    static const char *NAMES[] = {\n        \"../Frameworks/OpenGL.framework/OpenGL\",\n        \"/Library/Frameworks/OpenGL.framework/OpenGL\",\n        \"/System/Library/Frameworks/OpenGL.framework/OpenGL\",\n        \"/System/Library/Frameworks/OpenGL.framework/Versions/Current/OpenGL\"\n    };\n#else\n    static const char *NAMES[] = {\"libGL.so.1\", \"libGL.so\"};\n#endif\n\n    unsigned int index = 0;\n    for(index = 0; index < (sizeof(NAMES) / sizeof(NAMES[0])); index++) {\n        libGL = dlopen(NAMES[index], RTLD_NOW | RTLD_GLOBAL);\n\n        if(libGL != NULL) {\n#ifdef __APPLE__\n            return 1;\n#else\n            gladGetProcAddressPtr = (PFNGLXGETPROCADDRESSPROC_PRIVATE)dlsym(libGL,\n                \"glXGetProcAddressARB\");\n            return gladGetProcAddressPtr != NULL;\n#endif\n        }\n    }\n\n    return 0;\n}\n\nstatic\nvoid close_gl() {\n    if(libGL != NULL) {\n        dlclose(libGL);\n        libGL = NULL;\n    }\n}\n#endif\n\nstatic\nvoid* get_proc(const char *namez) {\n    void* result = NULL;\n    if(libGL == NULL) return NULL;\n\n#ifndef __APPLE__\n    if(gladGetProcAddressPtr != NULL) {\n        result = gladGetProcAddressPtr(namez);\n    }\n#endif\n    if(result == NULL) {\n#ifdef _WIN32\n        result = (void*)GetProcAddress(libGL, namez);\n#else\n        result = dlsym(libGL, namez);\n#endif\n    }\n\n    return result;\n}\n\nint gladLoadGL(void) {\n    int status = 0;\n\n    if(open_gl()) {\n        status = gladLoadGLLoader(&get_proc);\n        close_gl();\n    }\n\n    return status;\n}\n\nstruct gladGLversionStruct GLVersion;\n\n#if defined(GL_ES_VERSION_3_0) || defined(GL_VERSION_3_0)\n#define _GLAD_IS_SOME_NEW_VERSION 1\n#endif\n\nstatic int max_loaded_major;\nstatic int max_loaded_minor;\n\nstatic const char *exts = NULL;\nstatic int num_exts_i = 0;\nstatic const char **exts_i = NULL;\n\nstatic int get_exts(void) {\n#ifdef _GLAD_IS_SOME_NEW_VERSION\n    if(max_loaded_major < 3) {\n#endif\n        exts = (const char *)glGetString(GL_EXTENSIONS);\n#ifdef _GLAD_IS_SOME_NEW_VERSION\n    } else {\n        unsigned int index;\n\n        num_exts_i = 0;\n        glGetIntegerv(GL_NUM_EXTENSIONS, &num_exts_i);\n        if (num_exts_i > 0) {\n            exts_i = (const char **)realloc((void *)exts_i, (size_t)num_exts_i * (sizeof *exts_i));\n        }\n\n        if (exts_i == NULL) {\n            return 0;\n        }\n\n        for(index = 0; index < (unsigned)num_exts_i; index++) {\n            const char *gl_str_tmp = (const char*)glGetStringi(GL_EXTENSIONS, index);\n            size_t len = strlen(gl_str_tmp);\n\n            char *local_str = (char*)malloc((len+1) * sizeof(*exts_i));\n            if(local_str != NULL) {\n                strncpy(local_str, gl_str_tmp, len+1);\n            }\n            exts_i[index] = local_str;\n        }\n    }\n#endif\n    return 1;\n}\n\nstatic void free_exts(void) {\n    if (exts_i != NULL) {\n        int index;\n        for(index = 0; index < num_exts_i; index++) {\n            free((char *)exts_i[index]);\n        }\n        free((void *)exts_i);\n        exts_i = NULL;\n    }\n}\n\nstatic int has_ext(const char *ext) {\n#ifdef _GLAD_IS_SOME_NEW_VERSION\n    if(max_loaded_major < 3) {\n#endif\n        const char *extensions;\n        const char *loc;\n        const char *terminator;\n        extensions = exts;\n        if(extensions == NULL || ext == NULL) {\n            return 0;\n        }\n\n        while(1) {\n            loc = strstr(extensions, ext);\n            if(loc == NULL) {\n                return 0;\n            }\n\n            terminator = loc + strlen(ext);\n            if((loc == extensions || *(loc - 1) == ' ') &&\n                (*terminator == ' ' || *terminator == '\\0')) {\n                return 1;\n            }\n            extensions = terminator;\n        }\n#ifdef _GLAD_IS_SOME_NEW_VERSION\n    } else {\n        int index;\n        if(exts_i == NULL) return 0;\n        for(index = 0; index < num_exts_i; index++) {\n            const char *e = exts_i[index];\n\n            if(exts_i[index] != NULL && strcmp(e, ext) == 0) {\n                return 1;\n            }\n        }\n    }\n#endif\n\n    return 0;\n}\nint GLAD_GL_VERSION_1_0;\nint GLAD_GL_VERSION_1_1;\nint GLAD_GL_VERSION_1_2;\nint GLAD_GL_VERSION_1_3;\nint GLAD_GL_VERSION_1_4;\nint GLAD_GL_VERSION_1_5;\nint GLAD_GL_VERSION_2_0;\nint GLAD_GL_VERSION_2_1;\nint GLAD_GL_VERSION_3_0;\nint GLAD_GL_VERSION_3_1;\nint GLAD_GL_VERSION_3_2;\nint GLAD_GL_VERSION_3_3;\nint GLAD_GL_VERSION_4_0;\nint GLAD_GL_VERSION_4_1;\nint GLAD_GL_VERSION_4_2;\nint GLAD_GL_VERSION_4_3;\nint GLAD_GL_VERSION_4_4;\nint GLAD_GL_VERSION_4_5;\nint GLAD_GL_VERSION_4_6;\nPFNGLCOPYTEXIMAGE1DPROC glad_glCopyTexImage1D;\nPFNGLTEXTUREPARAMETERFPROC glad_glTextureParameterf;\nPFNGLVERTEXATTRIBI3UIPROC glad_glVertexAttribI3ui;\nPFNGLVERTEXARRAYELEMENTBUFFERPROC glad_glVertexArrayElementBuffer;\nPFNGLWINDOWPOS2SPROC glad_glWindowPos2s;\nPFNGLTEXTURESTORAGE3DMULTISAMPLEPROC glad_glTextureStorage3DMultisample;\nPFNGLTEXTUREPARAMETERFVPROC glad_glTextureParameterfv;\nPFNGLWINDOWPOS2IPROC glad_glWindowPos2i;\nPFNGLWINDOWPOS2FPROC glad_glWindowPos2f;\nPFNGLWINDOWPOS2DPROC glad_glWindowPos2d;\nPFNGLVERTEX2FVPROC glad_glVertex2fv;\nPFNGLINDEXIPROC glad_glIndexi;\nPFNGLFRAMEBUFFERRENDERBUFFERPROC glad_glFramebufferRenderbuffer;\nPFNGLUNIFORMSUBROUTINESUIVPROC glad_glUniformSubroutinesuiv;\nPFNGLRECTDVPROC glad_glRectdv;\nPFNGLCOMPRESSEDTEXSUBIMAGE3DPROC glad_glCompressedTexSubImage3D;\nPFNGLEVALCOORD2DPROC glad_glEvalCoord2d;\nPFNGLEVALCOORD2FPROC glad_glEvalCoord2f;\nPFNGLGETDOUBLEI_VPROC glad_glGetDoublei_v;\nPFNGLINDEXDPROC glad_glIndexd;\nPFNGLVERTEXATTRIB1SVPROC glad_glVertexAttrib1sv;\nPFNGLINDEXFPROC glad_glIndexf;\nPFNGLBINDSAMPLERPROC glad_glBindSampler;\nPFNGLLINEWIDTHPROC glad_glLineWidth;\nPFNGLCOLORP3UIVPROC glad_glColorP3uiv;\nPFNGLGETINTEGERI_VPROC glad_glGetIntegeri_v;\nPFNGLGETMAPFVPROC glad_glGetMapfv;\nPFNGLINDEXSPROC glad_glIndexs;\nPFNGLCOMPILESHADERPROC glad_glCompileShader;\nPFNGLGETTRANSFORMFEEDBACKVARYINGPROC glad_glGetTransformFeedbackVarying;\nPFNGLWINDOWPOS2IVPROC glad_glWindowPos2iv;\nPFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC glad_glDrawTransformFeedbackStreamInstanced;\nPFNGLINDEXFVPROC glad_glIndexfv;\nPFNGLGETCOMPRESSEDTEXTUREIMAGEPROC glad_glGetCompressedTextureImage;\nPFNGLGETNMAPFVPROC glad_glGetnMapfv;\nPFNGLFOGIVPROC glad_glFogiv;\nPFNGLSTENCILMASKSEPARATEPROC glad_glStencilMaskSeparate;\nPFNGLRASTERPOS2FVPROC glad_glRasterPos2fv;\nPFNGLLIGHTMODELIVPROC glad_glLightModeliv;\nPFNGLDEPTHRANGEFPROC glad_glDepthRangef;\nPFNGLMULTIDRAWELEMENTSINDIRECTCOUNTPROC glad_glMultiDrawElementsIndirectCount;\nPFNGLCOLOR4UIPROC glad_glColor4ui;\nPFNGLSECONDARYCOLOR3FVPROC glad_glSecondaryColor3fv;\nPFNGLMULTITEXCOORDP3UIPROC glad_glMultiTexCoordP3ui;\nPFNGLMEMORYBARRIERBYREGIONPROC glad_glMemoryBarrierByRegion;\nPFNGLGETNAMEDBUFFERPARAMETERIVPROC glad_glGetNamedBufferParameteriv;\nPFNGLFOGFVPROC glad_glFogfv;\nPFNGLVERTEXP4UIPROC glad_glVertexP4ui;\nPFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC glad_glDrawElementsInstancedBaseInstance;\nPFNGLENABLEIPROC glad_glEnablei;\nPFNGLPROGRAMUNIFORM3DVPROC glad_glProgramUniform3dv;\nPFNGLVERTEX4IVPROC glad_glVertex4iv;\nPFNGLEVALCOORD1FVPROC glad_glEvalCoord1fv;\nPFNGLWINDOWPOS2SVPROC glad_glWindowPos2sv;\nPFNGLVERTEXATTRIBP4UIPROC glad_glVertexAttribP4ui;\nPFNGLCREATESHADERPROC glad_glCreateShader;\nPFNGLISBUFFERPROC glad_glIsBuffer;\nPFNGLGETMULTISAMPLEFVPROC glad_glGetMultisamplefv;\nPFNGLPROGRAMUNIFORMMATRIX2DVPROC glad_glProgramUniformMatrix2dv;\nPFNGLGENRENDERBUFFERSPROC glad_glGenRenderbuffers;\nPFNGLCOPYTEXSUBIMAGE2DPROC glad_glCopyTexSubImage2D;\nPFNGLCOMPRESSEDTEXIMAGE2DPROC glad_glCompressedTexImage2D;\nPFNGLVERTEXATTRIB1FPROC glad_glVertexAttrib1f;\nPFNGLBLENDFUNCSEPARATEPROC glad_glBlendFuncSeparate;\nPFNGLVERTEX4FVPROC glad_glVertex4fv;\nPFNGLMINSAMPLESHADINGPROC glad_glMinSampleShading;\nPFNGLCLEARNAMEDFRAMEBUFFERFIPROC glad_glClearNamedFramebufferfi;\nPFNGLGETQUERYBUFFEROBJECTUIVPROC glad_glGetQueryBufferObjectuiv;\nPFNGLBINDTEXTUREPROC glad_glBindTexture;\nPFNGLVERTEXATTRIB1SPROC glad_glVertexAttrib1s;\nPFNGLTEXCOORD2FVPROC glad_glTexCoord2fv;\nPFNGLSAMPLEMASKIPROC glad_glSampleMaski;\nPFNGLVERTEXP2UIPROC glad_glVertexP2ui;\nPFNGLDRAWRANGEELEMENTSBASEVERTEXPROC glad_glDrawRangeElementsBaseVertex;\nPFNGLTEXCOORD4FVPROC glad_glTexCoord4fv;\nPFNGLUNIFORMMATRIX3X2FVPROC glad_glUniformMatrix3x2fv;\nPFNGLDEBUGMESSAGECONTROLPROC glad_glDebugMessageControl;\nPFNGLPOINTSIZEPROC glad_glPointSize;\nPFNGLBINDTEXTUREUNITPROC glad_glBindTextureUnit;\nPFNGLVERTEXATTRIB2DVPROC glad_glVertexAttrib2dv;\nPFNGLDELETEPROGRAMPROC glad_glDeleteProgram;\nPFNGLCOLOR4BVPROC glad_glColor4bv;\nPFNGLRASTERPOS2FPROC glad_glRasterPos2f;\nPFNGLRASTERPOS2DPROC glad_glRasterPos2d;\nPFNGLLOADIDENTITYPROC glad_glLoadIdentity;\nPFNGLRASTERPOS2IPROC glad_glRasterPos2i;\nPFNGLMULTIDRAWARRAYSINDIRECTPROC glad_glMultiDrawArraysIndirect;\nPFNGLRENDERBUFFERSTORAGEPROC glad_glRenderbufferStorage;\nPFNGLUNIFORMMATRIX4X3FVPROC glad_glUniformMatrix4x3fv;\nPFNGLCOLOR3BPROC glad_glColor3b;\nPFNGLCLEARBUFFERFVPROC glad_glClearBufferfv;\nPFNGLEDGEFLAGPROC glad_glEdgeFlag;\nPFNGLDELETESAMPLERSPROC glad_glDeleteSamplers;\nPFNGLVERTEX3DPROC glad_glVertex3d;\nPFNGLVERTEX3FPROC glad_glVertex3f;\nPFNGLGETNMAPIVPROC glad_glGetnMapiv;\nPFNGLVERTEX3IPROC glad_glVertex3i;\nPFNGLCOLOR3IPROC glad_glColor3i;\nPFNGLUNIFORM3DPROC glad_glUniform3d;\nPFNGLUNIFORM3FPROC glad_glUniform3f;\nPFNGLVERTEXATTRIB4UBVPROC glad_glVertexAttrib4ubv;\nPFNGLCOLOR3SPROC glad_glColor3s;\nPFNGLVERTEX3SPROC glad_glVertex3s;\nPFNGLTEXCOORDP2UIPROC glad_glTexCoordP2ui;\nPFNGLCOLORMASKIPROC glad_glColorMaski;\nPFNGLCLEARBUFFERFIPROC glad_glClearBufferfi;\nPFNGLDRAWARRAYSINDIRECTPROC glad_glDrawArraysIndirect;\nPFNGLTEXCOORD1IVPROC glad_glTexCoord1iv;\nPFNGLBLITFRAMEBUFFERPROC glad_glBlitFramebuffer;\nPFNGLPAUSETRANSFORMFEEDBACKPROC glad_glPauseTransformFeedback;\nPFNGLMULTITEXCOORDP2UIPROC glad_glMultiTexCoordP2ui;\nPFNGLPROGRAMUNIFORMMATRIX3X2DVPROC glad_glProgramUniformMatrix3x2dv;\nPFNGLCOPYNAMEDBUFFERSUBDATAPROC glad_glCopyNamedBufferSubData;\nPFNGLNAMEDFRAMEBUFFERTEXTUREPROC glad_glNamedFramebufferTexture;\nPFNGLPROGRAMUNIFORMMATRIX3X2FVPROC glad_glProgramUniformMatrix3x2fv;\nPFNGLGETSAMPLERPARAMETERIIVPROC glad_glGetSamplerParameterIiv;\nPFNGLGETFRAGDATAINDEXPROC glad_glGetFragDataIndex;\nPFNGLVERTEXATTRIBL4DPROC glad_glVertexAttribL4d;\nPFNGLBINDIMAGETEXTUREPROC glad_glBindImageTexture;\nPFNGLVERTEXATTRIB3FPROC glad_glVertexAttrib3f;\nPFNGLPROGRAMUNIFORMMATRIX4FVPROC glad_glProgramUniformMatrix4fv;\nPFNGLVERTEX2IVPROC glad_glVertex2iv;\nPFNGLGETQUERYBUFFEROBJECTI64VPROC glad_glGetQueryBufferObjecti64v;\nPFNGLCOLOR3SVPROC glad_glColor3sv;\nPFNGLGETVERTEXATTRIBDVPROC glad_glGetVertexAttribdv;\nPFNGLACTIVESHADERPROGRAMPROC glad_glActiveShaderProgram;\nPFNGLUNIFORMMATRIX3X4FVPROC glad_glUniformMatrix3x4fv;\nPFNGLUNIFORMMATRIX3DVPROC glad_glUniformMatrix3dv;\nPFNGLNORMALPOINTERPROC glad_glNormalPointer;\nPFNGLTEXCOORDP3UIVPROC glad_glTexCoordP3uiv;\nPFNGLVERTEX4SVPROC glad_glVertex4sv;\nPFNGLVERTEXARRAYATTRIBLFORMATPROC glad_glVertexArrayAttribLFormat;\nPFNGLINVALIDATEBUFFERSUBDATAPROC glad_glInvalidateBufferSubData;\nPFNGLPASSTHROUGHPROC glad_glPassThrough;\nPFNGLMULTITEXCOORDP4UIPROC glad_glMultiTexCoordP4ui;\nPFNGLFOGIPROC glad_glFogi;\nPFNGLBEGINPROC glad_glBegin;\nPFNGLEVALCOORD2DVPROC glad_glEvalCoord2dv;\nPFNGLCOLOR3UBVPROC glad_glColor3ubv;\nPFNGLVERTEXPOINTERPROC glad_glVertexPointer;\nPFNGLSECONDARYCOLOR3UIVPROC glad_glSecondaryColor3uiv;\nPFNGLDELETEFRAMEBUFFERSPROC glad_glDeleteFramebuffers;\nPFNGLDRAWARRAYSPROC glad_glDrawArrays;\nPFNGLUNIFORM1UIPROC glad_glUniform1ui;\nPFNGLGETTRANSFORMFEEDBACKIVPROC glad_glGetTransformFeedbackiv;\nPFNGLMULTITEXCOORD1DPROC glad_glMultiTexCoord1d;\nPFNGLMULTITEXCOORD1FPROC glad_glMultiTexCoord1f;\nPFNGLPROGRAMPARAMETERIPROC glad_glProgramParameteri;\nPFNGLLIGHTFVPROC glad_glLightfv;\nPFNGLTEXCOORDP3UIPROC glad_glTexCoordP3ui;\nPFNGLVERTEXATTRIB3DPROC glad_glVertexAttrib3d;\nPFNGLCLEARPROC glad_glClear;\nPFNGLMULTITEXCOORD1IPROC glad_glMultiTexCoord1i;\nPFNGLGETACTIVEUNIFORMNAMEPROC glad_glGetActiveUniformName;\nPFNGLMEMORYBARRIERPROC glad_glMemoryBarrier;\nPFNGLGETGRAPHICSRESETSTATUSPROC glad_glGetGraphicsResetStatus;\nPFNGLMULTITEXCOORD1SPROC glad_glMultiTexCoord1s;\nPFNGLISENABLEDPROC glad_glIsEnabled;\nPFNGLSTENCILOPPROC glad_glStencilOp;\nPFNGLGETQUERYOBJECTUIVPROC glad_glGetQueryObjectuiv;\nPFNGLFRAMEBUFFERTEXTURE2DPROC glad_glFramebufferTexture2D;\nPFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC glad_glGetFramebufferAttachmentParameteriv;\nPFNGLTRANSLATEFPROC glad_glTranslatef;\nPFNGLVERTEXATTRIB4NUBPROC glad_glVertexAttrib4Nub;\nPFNGLTRANSLATEDPROC glad_glTranslated;\nPFNGLTEXCOORD3SVPROC glad_glTexCoord3sv;\nPFNGLGETFRAGDATALOCATIONPROC glad_glGetFragDataLocation;\nPFNGLGETTEXTUREPARAMETERIIVPROC glad_glGetTextureParameterIiv;\nPFNGLTEXIMAGE1DPROC glad_glTexImage1D;\nPFNGLCOPYTEXTURESUBIMAGE3DPROC glad_glCopyTextureSubImage3D;\nPFNGLVERTEXP3UIVPROC glad_glVertexP3uiv;\nPFNGLTEXPARAMETERIVPROC glad_glTexParameteriv;\nPFNGLVERTEXARRAYATTRIBIFORMATPROC glad_glVertexArrayAttribIFormat;\nPFNGLSECONDARYCOLOR3BVPROC glad_glSecondaryColor3bv;\nPFNGLGETMATERIALFVPROC glad_glGetMaterialfv;\nPFNGLGETTEXIMAGEPROC glad_glGetTexImage;\nPFNGLFOGCOORDFVPROC glad_glFogCoordfv;\nPFNGLPIXELMAPUIVPROC glad_glPixelMapuiv;\nPFNGLGETSHADERINFOLOGPROC glad_glGetShaderInfoLog;\nPFNGLGETQUERYOBJECTI64VPROC glad_glGetQueryObjecti64v;\nPFNGLGENFRAMEBUFFERSPROC glad_glGenFramebuffers;\nPFNGLCREATETEXTURESPROC glad_glCreateTextures;\nPFNGLTRANSFORMFEEDBACKBUFFERBASEPROC glad_glTransformFeedbackBufferBase;\nPFNGLINDEXSVPROC glad_glIndexsv;\nPFNGLCLEARTEXSUBIMAGEPROC glad_glClearTexSubImage;\nPFNGLPROGRAMUNIFORMMATRIX3X4DVPROC glad_glProgramUniformMatrix3x4dv;\nPFNGLGETATTACHEDSHADERSPROC glad_glGetAttachedShaders;\nPFNGLISRENDERBUFFERPROC glad_glIsRenderbuffer;\nPFNGLVERTEX3IVPROC glad_glVertex3iv;\nPFNGLBITMAPPROC glad_glBitmap;\nPFNGLGETDEBUGMESSAGELOGPROC glad_glGetDebugMessageLog;\nPFNGLPROGRAMUNIFORM1UIVPROC glad_glProgramUniform1uiv;\nPFNGLMATERIALIPROC glad_glMateriali;\nPFNGLISVERTEXARRAYPROC glad_glIsVertexArray;\nPFNGLDISABLEVERTEXATTRIBARRAYPROC glad_glDisableVertexAttribArray;\nPFNGLPROGRAMUNIFORM2IVPROC glad_glProgramUniform2iv;\nPFNGLGETQUERYIVPROC glad_glGetQueryiv;\nPFNGLTEXCOORD4FPROC glad_glTexCoord4f;\nPFNGLBLITNAMEDFRAMEBUFFERPROC glad_glBlitNamedFramebuffer;\nPFNGLTEXCOORD4DPROC glad_glTexCoord4d;\nPFNGLCREATEQUERIESPROC glad_glCreateQueries;\nPFNGLGETSAMPLERPARAMETERFVPROC glad_glGetSamplerParameterfv;\nPFNGLTEXCOORD4IPROC glad_glTexCoord4i;\nPFNGLSHADERSTORAGEBLOCKBINDINGPROC glad_glShaderStorageBlockBinding;\nPFNGLMATERIALFPROC glad_glMaterialf;\nPFNGLTEXCOORD4SPROC glad_glTexCoord4s;\nPFNGLPROGRAMUNIFORMMATRIX4X2DVPROC glad_glProgramUniformMatrix4x2dv;\nPFNGLGETUNIFORMINDICESPROC glad_glGetUniformIndices;\nPFNGLISSHADERPROC glad_glIsShader;\nPFNGLMULTITEXCOORD2SPROC glad_glMultiTexCoord2s;\nPFNGLVERTEXATTRIBI4UBVPROC glad_glVertexAttribI4ubv;\nPFNGLVERTEX3DVPROC glad_glVertex3dv;\nPFNGLGETINTEGER64VPROC glad_glGetInteger64v;\nPFNGLPOINTPARAMETERIVPROC glad_glPointParameteriv;\nPFNGLGETNMINMAXPROC glad_glGetnMinmax;\nPFNGLENABLEPROC glad_glEnable;\nPFNGLGETACTIVEUNIFORMSIVPROC glad_glGetActiveUniformsiv;\nPFNGLCOLOR4FVPROC glad_glColor4fv;\nPFNGLTEXCOORD1FVPROC glad_glTexCoord1fv;\nPFNGLVERTEXARRAYATTRIBBINDINGPROC glad_glVertexArrayAttribBinding;\nPFNGLTEXTURESTORAGE1DPROC glad_glTextureStorage1D;\nPFNGLPOPDEBUGGROUPPROC glad_glPopDebugGroup;\nPFNGLBLENDEQUATIONIPROC glad_glBlendEquationi;\nPFNGLTEXCOORD2SVPROC glad_glTexCoord2sv;\nPFNGLVERTEXATTRIB4DVPROC glad_glVertexAttrib4dv;\nPFNGLMULTITEXCOORD1DVPROC glad_glMultiTexCoord1dv;\nPFNGLGETPROGRAMINTERFACEIVPROC glad_glGetProgramInterfaceiv;\nPFNGLMULTITEXCOORD2IPROC glad_glMultiTexCoord2i;\nPFNGLTEXCOORD3FVPROC glad_glTexCoord3fv;\nPFNGLSECONDARYCOLOR3USVPROC glad_glSecondaryColor3usv;\nPFNGLTEXGENFPROC glad_glTexGenf;\nPFNGLMAPNAMEDBUFFERPROC glad_glMapNamedBuffer;\nPFNGLMULTITEXCOORDP3UIVPROC glad_glMultiTexCoordP3uiv;\nPFNGLVERTEXATTRIBP3UIPROC glad_glVertexAttribP3ui;\nPFNGLVERTEXATTRIBL1DVPROC glad_glVertexAttribL1dv;\nPFNGLTEXTUREBUFFERRANGEPROC glad_glTextureBufferRange;\nPFNGLGETNUNIFORMDVPROC glad_glGetnUniformdv;\nPFNGLMULTITEXCOORDP1UIPROC glad_glMultiTexCoordP1ui;\nPFNGLPROGRAMUNIFORM3UIPROC glad_glProgramUniform3ui;\nPFNGLTRANSFORMFEEDBACKBUFFERRANGEPROC glad_glTransformFeedbackBufferRange;\nPFNGLGETPOINTERVPROC glad_glGetPointerv;\nPFNGLVERTEXBINDINGDIVISORPROC glad_glVertexBindingDivisor;\nPFNGLPOLYGONOFFSETPROC glad_glPolygonOffset;\nPFNGLGETUNIFORMUIVPROC glad_glGetUniformuiv;\nPFNGLNORMAL3FVPROC glad_glNormal3fv;\nPFNGLSECONDARYCOLOR3SPROC glad_glSecondaryColor3s;\nPFNGLNAMEDFRAMEBUFFERDRAWBUFFERSPROC glad_glNamedFramebufferDrawBuffers;\nPFNGLDEPTHRANGEPROC glad_glDepthRange;\nPFNGLFRUSTUMPROC glad_glFrustum;\nPFNGLMULTITEXCOORD4SVPROC glad_glMultiTexCoord4sv;\nPFNGLVERTEXARRAYBINDINGDIVISORPROC glad_glVertexArrayBindingDivisor;\nPFNGLDRAWBUFFERPROC glad_glDrawBuffer;\nPFNGLPUSHMATRIXPROC glad_glPushMatrix;\nPFNGLGETNPIXELMAPUSVPROC glad_glGetnPixelMapusv;\nPFNGLRASTERPOS3FVPROC glad_glRasterPos3fv;\nPFNGLORTHOPROC glad_glOrtho;\nPFNGLDRAWELEMENTSINSTANCEDPROC glad_glDrawElementsInstanced;\nPFNGLWINDOWPOS3SVPROC glad_glWindowPos3sv;\nPFNGLVERTEXATTRIBL4DVPROC glad_glVertexAttribL4dv;\nPFNGLPROGRAMUNIFORM1IPROC glad_glProgramUniform1i;\nPFNGLUNIFORM2DVPROC glad_glUniform2dv;\nPFNGLPROGRAMUNIFORM1DPROC glad_glProgramUniform1d;\nPFNGLPROGRAMUNIFORM1FPROC glad_glProgramUniform1f;\nPFNGLCLEARINDEXPROC glad_glClearIndex;\nPFNGLMAP1DPROC glad_glMap1d;\nPFNGLMAP1FPROC glad_glMap1f;\nPFNGLFLUSHPROC glad_glFlush;\nPFNGLGETRENDERBUFFERPARAMETERIVPROC glad_glGetRenderbufferParameteriv;\nPFNGLBEGINQUERYINDEXEDPROC glad_glBeginQueryIndexed;\nPFNGLPROGRAMUNIFORM3IVPROC glad_glProgramUniform3iv;\nPFNGLINDEXIVPROC glad_glIndexiv;\nPFNGLNAMEDRENDERBUFFERSTORAGEPROC glad_glNamedRenderbufferStorage;\nPFNGLRASTERPOS3SVPROC glad_glRasterPos3sv;\nPFNGLGETVERTEXATTRIBPOINTERVPROC glad_glGetVertexAttribPointerv;\nPFNGLPIXELZOOMPROC glad_glPixelZoom;\nPFNGLPOLYGONOFFSETCLAMPPROC glad_glPolygonOffsetClamp;\nPFNGLFENCESYNCPROC glad_glFenceSync;\nPFNGLDELETEVERTEXARRAYSPROC glad_glDeleteVertexArrays;\nPFNGLCOLORP3UIPROC glad_glColorP3ui;\nPFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC glad_glDrawElementsInstancedBaseVertexBaseInstance;\nPFNGLTEXTURESTORAGE2DMULTISAMPLEPROC glad_glTextureStorage2DMultisample;\nPFNGLVERTEXATTRIB3SVPROC glad_glVertexAttrib3sv;\nPFNGLBEGINCONDITIONALRENDERPROC glad_glBeginConditionalRender;\nPFNGLPUSHDEBUGGROUPPROC glad_glPushDebugGroup;\nPFNGLGETSHADERPRECISIONFORMATPROC glad_glGetShaderPrecisionFormat;\nPFNGLVALIDATEPROGRAMPIPELINEPROC glad_glValidateProgramPipeline;\nPFNGLDRAWELEMENTSBASEVERTEXPROC glad_glDrawElementsBaseVertex;\nPFNGLGETTEXLEVELPARAMETERIVPROC glad_glGetTexLevelParameteriv;\nPFNGLLIGHTIPROC glad_glLighti;\nPFNGLMULTITEXCOORDP4UIVPROC glad_glMultiTexCoordP4uiv;\nPFNGLVERTEXARRAYVERTEXBUFFERPROC glad_glVertexArrayVertexBuffer;\nPFNGLLIGHTFPROC glad_glLightf;\nPFNGLBINDVERTEXBUFFERSPROC glad_glBindVertexBuffers;\nPFNGLGETATTRIBLOCATIONPROC glad_glGetAttribLocation;\nPFNGLTEXSTORAGE3DMULTISAMPLEPROC glad_glTexStorage3DMultisample;\nPFNGLSTENCILFUNCSEPARATEPROC glad_glStencilFuncSeparate;\nPFNGLDISABLEVERTEXARRAYATTRIBPROC glad_glDisableVertexArrayAttrib;\nPFNGLGENSAMPLERSPROC glad_glGenSamplers;\nPFNGLCLAMPCOLORPROC glad_glClampColor;\nPFNGLUNIFORM4IVPROC glad_glUniform4iv;\nPFNGLCLEARSTENCILPROC glad_glClearStencil;\nPFNGLTEXCOORDP1UIVPROC glad_glTexCoordP1uiv;\nPFNGLGETNAMEDRENDERBUFFERPARAMETERIVPROC glad_glGetNamedRenderbufferParameteriv;\nPFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC glad_glDrawTransformFeedbackInstanced;\nPFNGLSPECIALIZESHADERPROC glad_glSpecializeShader;\nPFNGLMULTITEXCOORD3FVPROC glad_glMultiTexCoord3fv;\nPFNGLGETPIXELMAPUIVPROC glad_glGetPixelMapuiv;\nPFNGLGENTEXTURESPROC glad_glGenTextures;\nPFNGLTEXCOORD4IVPROC glad_glTexCoord4iv;\nPFNGLDRAWTRANSFORMFEEDBACKPROC glad_glDrawTransformFeedback;\nPFNGLUNIFORM1DVPROC glad_glUniform1dv;\nPFNGLGETTEXPARAMETERIUIVPROC glad_glGetTexParameterIuiv;\nPFNGLGETTRANSFORMFEEDBACKI_VPROC glad_glGetTransformFeedbacki_v;\nPFNGLINDEXPOINTERPROC glad_glIndexPointer;\nPFNGLGETNPOLYGONSTIPPLEPROC glad_glGetnPolygonStipple;\nPFNGLVERTEXATTRIB4NBVPROC glad_glVertexAttrib4Nbv;\nPFNGLCLEARNAMEDFRAMEBUFFERUIVPROC glad_glClearNamedFramebufferuiv;\nPFNGLGETVERTEXARRAYINDEXEDIVPROC glad_glGetVertexArrayIndexediv;\nPFNGLISSYNCPROC glad_glIsSync;\nPFNGLVERTEX2FPROC glad_glVertex2f;\nPFNGLVERTEX2DPROC glad_glVertex2d;\nPFNGLDELETERENDERBUFFERSPROC glad_glDeleteRenderbuffers;\nPFNGLUNIFORM2IPROC glad_glUniform2i;\nPFNGLMAPGRID2DPROC glad_glMapGrid2d;\nPFNGLMAPGRID2FPROC glad_glMapGrid2f;\nPFNGLTEXCOORDP4UIPROC glad_glTexCoordP4ui;\nPFNGLVERTEX2IPROC glad_glVertex2i;\nPFNGLVERTEXATTRIBPOINTERPROC glad_glVertexAttribPointer;\nPFNGLPROGRAMUNIFORM1UIPROC glad_glProgramUniform1ui;\nPFNGLFRAMEBUFFERTEXTURELAYERPROC glad_glFramebufferTextureLayer;\nPFNGLVERTEX2SPROC glad_glVertex2s;\nPFNGLGETOBJECTPTRLABELPROC glad_glGetObjectPtrLabel;\nPFNGLTEXTUREPARAMETERIPROC glad_glTextureParameteri;\nPFNGLNORMAL3BVPROC glad_glNormal3bv;\nPFNGLVERTEXATTRIB4NUIVPROC glad_glVertexAttrib4Nuiv;\nPFNGLFLUSHMAPPEDBUFFERRANGEPROC glad_glFlushMappedBufferRange;\nPFNGLPROGRAMUNIFORM2FVPROC glad_glProgramUniform2fv;\nPFNGLUNIFORMMATRIX2X3DVPROC glad_glUniformMatrix2x3dv;\nPFNGLPROGRAMUNIFORMMATRIX4DVPROC glad_glProgramUniformMatrix4dv;\nPFNGLSECONDARYCOLOR3SVPROC glad_glSecondaryColor3sv;\nPFNGLPROGRAMUNIFORMMATRIX2X4DVPROC glad_glProgramUniformMatrix2x4dv;\nPFNGLDISPATCHCOMPUTEPROC glad_glDispatchCompute;\nPFNGLVERTEX3SVPROC glad_glVertex3sv;\nPFNGLGENQUERIESPROC glad_glGenQueries;\nPFNGLGETPIXELMAPFVPROC glad_glGetPixelMapfv;\nPFNGLTEXENVFPROC glad_glTexEnvf;\nPFNGLVERTEXATTRIBP1UIPROC glad_glVertexAttribP1ui;\nPFNGLTEXSUBIMAGE3DPROC glad_glTexSubImage3D;\nPFNGLGETINTEGER64I_VPROC glad_glGetInteger64i_v;\nPFNGLFOGCOORDDPROC glad_glFogCoordd;\nPFNGLFOGCOORDFPROC glad_glFogCoordf;\nPFNGLCOPYTEXIMAGE2DPROC glad_glCopyTexImage2D;\nPFNGLTEXENVIPROC glad_glTexEnvi;\nPFNGLMULTITEXCOORD1IVPROC glad_glMultiTexCoord1iv;\nPFNGLISENABLEDIPROC glad_glIsEnabledi;\nPFNGLBINDBUFFERSRANGEPROC glad_glBindBuffersRange;\nPFNGLSECONDARYCOLORP3UIPROC glad_glSecondaryColorP3ui;\nPFNGLVERTEXATTRIBI2IPROC glad_glVertexAttribI2i;\nPFNGLBINDFRAGDATALOCATIONINDEXEDPROC glad_glBindFragDataLocationIndexed;\nPFNGLCOPYIMAGESUBDATAPROC glad_glCopyImageSubData;\nPFNGLMULTITEXCOORD2DVPROC glad_glMultiTexCoord2dv;\nPFNGLUNIFORM2IVPROC glad_glUniform2iv;\nPFNGLVERTEXATTRIB1FVPROC glad_glVertexAttrib1fv;\nPFNGLGETINTERNALFORMATIVPROC glad_glGetInternalformativ;\nPFNGLUNIFORM4UIVPROC glad_glUniform4uiv;\nPFNGLMATRIXMODEPROC glad_glMatrixMode;\nPFNGLGETTEXTUREIMAGEPROC glad_glGetTextureImage;\nPFNGLFEEDBACKBUFFERPROC glad_glFeedbackBuffer;\nPFNGLPROGRAMUNIFORM2DVPROC glad_glProgramUniform2dv;\nPFNGLENDQUERYINDEXEDPROC glad_glEndQueryIndexed;\nPFNGLGETMAPIVPROC glad_glGetMapiv;\nPFNGLTEXTURESUBIMAGE3DPROC glad_glTextureSubImage3D;\nPFNGLFRAMEBUFFERTEXTURE1DPROC glad_glFramebufferTexture1D;\nPFNGLUNIFORM4DPROC glad_glUniform4d;\nPFNGLGETSHADERIVPROC glad_glGetShaderiv;\nPFNGLMULTITEXCOORD2DPROC glad_glMultiTexCoord2d;\nPFNGLMULTITEXCOORD2FPROC glad_glMultiTexCoord2f;\nPFNGLPROGRAMUNIFORMMATRIX3FVPROC glad_glProgramUniformMatrix3fv;\nPFNGLOBJECTPTRLABELPROC glad_glObjectPtrLabel;\nPFNGLINVALIDATEFRAMEBUFFERPROC glad_glInvalidateFramebuffer;\nPFNGLBINDTEXTURESPROC glad_glBindTextures;\nPFNGLBINDFRAGDATALOCATIONPROC glad_glBindFragDataLocation;\nPFNGLNAMEDBUFFERSTORAGEPROC glad_glNamedBufferStorage;\nPFNGLSCISSORARRAYVPROC glad_glScissorArrayv;\nPFNGLPRIORITIZETEXTURESPROC glad_glPrioritizeTextures;\nPFNGLCALLLISTPROC glad_glCallList;\nPFNGLPATCHPARAMETERFVPROC glad_glPatchParameterfv;\nPFNGLSECONDARYCOLOR3UBVPROC glad_glSecondaryColor3ubv;\nPFNGLGETDOUBLEVPROC glad_glGetDoublev;\nPFNGLMULTITEXCOORD3IVPROC glad_glMultiTexCoord3iv;\nPFNGLVERTEXATTRIB1DPROC glad_glVertexAttrib1d;\nPFNGLUNIFORM4DVPROC glad_glUniform4dv;\nPFNGLLIGHTMODELFPROC glad_glLightModelf;\nPFNGLGETUNIFORMIVPROC glad_glGetUniformiv;\nPFNGLINVALIDATEBUFFERDATAPROC glad_glInvalidateBufferData;\nPFNGLVERTEX2SVPROC glad_glVertex2sv;\nPFNGLVERTEXARRAYVERTEXBUFFERSPROC glad_glVertexArrayVertexBuffers;\nPFNGLCOMPRESSEDTEXTURESUBIMAGE1DPROC glad_glCompressedTextureSubImage1D;\nPFNGLLIGHTMODELIPROC glad_glLightModeli;\nPFNGLWINDOWPOS3IVPROC glad_glWindowPos3iv;\nPFNGLMULTITEXCOORDP1UIVPROC glad_glMultiTexCoordP1uiv;\nPFNGLUNIFORM3FVPROC glad_glUniform3fv;\nPFNGLPIXELSTOREIPROC glad_glPixelStorei;\nPFNGLGETPROGRAMPIPELINEINFOLOGPROC glad_glGetProgramPipelineInfoLog;\nPFNGLCALLLISTSPROC glad_glCallLists;\nPFNGLPROGRAMUNIFORMMATRIX3X4FVPROC glad_glProgramUniformMatrix3x4fv;\nPFNGLINVALIDATESUBFRAMEBUFFERPROC glad_glInvalidateSubFramebuffer;\nPFNGLMAPBUFFERPROC glad_glMapBuffer;\nPFNGLSECONDARYCOLOR3DPROC glad_glSecondaryColor3d;\nPFNGLTEXCOORD3IPROC glad_glTexCoord3i;\nPFNGLMULTITEXCOORD4FVPROC glad_glMultiTexCoord4fv;\nPFNGLRASTERPOS3IPROC glad_glRasterPos3i;\nPFNGLSECONDARYCOLOR3BPROC glad_glSecondaryColor3b;\nPFNGLRASTERPOS3DPROC glad_glRasterPos3d;\nPFNGLRASTERPOS3FPROC glad_glRasterPos3f;\nPFNGLCOMPRESSEDTEXIMAGE3DPROC glad_glCompressedTexImage3D;\nPFNGLTEXCOORD3FPROC glad_glTexCoord3f;\nPFNGLDELETESYNCPROC glad_glDeleteSync;\nPFNGLTEXCOORD3DPROC glad_glTexCoord3d;\nPFNGLGETTRANSFORMFEEDBACKI64_VPROC glad_glGetTransformFeedbacki64_v;\nPFNGLUNIFORMMATRIX4DVPROC glad_glUniformMatrix4dv;\nPFNGLTEXIMAGE2DMULTISAMPLEPROC glad_glTexImage2DMultisample;\nPFNGLGETVERTEXATTRIBIVPROC glad_glGetVertexAttribiv;\nPFNGLUNIFORMMATRIX4X2DVPROC glad_glUniformMatrix4x2dv;\nPFNGLMULTIDRAWELEMENTSPROC glad_glMultiDrawElements;\nPFNGLVERTEXATTRIB3FVPROC glad_glVertexAttrib3fv;\nPFNGLTEXCOORD3SPROC glad_glTexCoord3s;\nPFNGLUNIFORM3IVPROC glad_glUniform3iv;\nPFNGLRASTERPOS3SPROC glad_glRasterPos3s;\nPFNGLPOLYGONMODEPROC glad_glPolygonMode;\nPFNGLDRAWBUFFERSPROC glad_glDrawBuffers;\nPFNGLGETNHISTOGRAMPROC glad_glGetnHistogram;\nPFNGLGETACTIVEUNIFORMBLOCKIVPROC glad_glGetActiveUniformBlockiv;\nPFNGLARETEXTURESRESIDENTPROC glad_glAreTexturesResident;\nPFNGLPROGRAMUNIFORM2DPROC glad_glProgramUniform2d;\nPFNGLPROGRAMUNIFORMMATRIX4X3DVPROC glad_glProgramUniformMatrix4x3dv;\nPFNGLISLISTPROC glad_glIsList;\nPFNGLPROGRAMUNIFORM4IVPROC glad_glProgramUniform4iv;\nPFNGLRASTERPOS2SVPROC glad_glRasterPos2sv;\nPFNGLRASTERPOS4SVPROC glad_glRasterPos4sv;\nPFNGLCOLOR4SPROC glad_glColor4s;\nPFNGLGETPROGRAMBINARYPROC glad_glGetProgramBinary;\nPFNGLUSEPROGRAMPROC glad_glUseProgram;\nPFNGLLINESTIPPLEPROC glad_glLineStipple;\nPFNGLMULTITEXCOORD1SVPROC glad_glMultiTexCoord1sv;\nPFNGLGETPROGRAMINFOLOGPROC glad_glGetProgramInfoLog;\nPFNGLCLEARTEXIMAGEPROC glad_glClearTexImage;\nPFNGLGETBUFFERPARAMETERIVPROC glad_glGetBufferParameteriv;\nPFNGLMULTITEXCOORD2IVPROC glad_glMultiTexCoord2iv;\nPFNGLUNIFORMMATRIX2X4FVPROC glad_glUniformMatrix2x4fv;\nPFNGLBINDVERTEXARRAYPROC glad_glBindVertexArray;\nPFNGLCOLOR4BPROC glad_glColor4b;\nPFNGLSECONDARYCOLOR3FPROC glad_glSecondaryColor3f;\nPFNGLCOLOR4FPROC glad_glColor4f;\nPFNGLCOLOR4DPROC glad_glColor4d;\nPFNGLCOLOR4IPROC glad_glColor4i;\nPFNGLSAMPLERPARAMETERIIVPROC glad_glSamplerParameterIiv;\nPFNGLMULTIDRAWELEMENTSBASEVERTEXPROC glad_glMultiDrawElementsBaseVertex;\nPFNGLVERTEXATTRIBLFORMATPROC glad_glVertexAttribLFormat;\nPFNGLRASTERPOS3IVPROC glad_glRasterPos3iv;\nPFNGLTEXTURESTORAGE2DPROC glad_glTextureStorage2D;\nPFNGLGENERATETEXTUREMIPMAPPROC glad_glGenerateTextureMipmap;\nPFNGLVERTEX2DVPROC glad_glVertex2dv;\nPFNGLTEXCOORD4SVPROC glad_glTexCoord4sv;\nPFNGLUNIFORM2UIVPROC glad_glUniform2uiv;\nPFNGLCOMPRESSEDTEXSUBIMAGE1DPROC glad_glCompressedTexSubImage1D;\nPFNGLFINISHPROC glad_glFinish;\nPFNGLDEPTHRANGEINDEXEDPROC glad_glDepthRangeIndexed;\nPFNGLGETBOOLEANVPROC glad_glGetBooleanv;\nPFNGLDELETESHADERPROC glad_glDeleteShader;\nPFNGLDRAWELEMENTSPROC glad_glDrawElements;\nPFNGLGETINTERNALFORMATI64VPROC glad_glGetInternalformati64v;\nPFNGLRASTERPOS2SPROC glad_glRasterPos2s;\nPFNGLCOPYTEXTURESUBIMAGE1DPROC glad_glCopyTextureSubImage1D;\nPFNGLGETMAPDVPROC glad_glGetMapdv;\nPFNGLVERTEXATTRIB4NSVPROC glad_glVertexAttrib4Nsv;\nPFNGLMATERIALFVPROC glad_glMaterialfv;\nPFNGLTEXTUREPARAMETERIUIVPROC glad_glTextureParameterIuiv;\nPFNGLVIEWPORTPROC glad_glViewport;\nPFNGLUNIFORM1UIVPROC glad_glUniform1uiv;\nPFNGLTRANSFORMFEEDBACKVARYINGSPROC glad_glTransformFeedbackVaryings;\nPFNGLINDEXDVPROC glad_glIndexdv;\nPFNGLCOPYTEXSUBIMAGE3DPROC glad_glCopyTexSubImage3D;\nPFNGLTEXCOORD3IVPROC glad_glTexCoord3iv;\nPFNGLDEBUGMESSAGECALLBACKPROC glad_glDebugMessageCallback;\nPFNGLVERTEXATTRIBI3IPROC glad_glVertexAttribI3i;\nPFNGLINVALIDATETEXIMAGEPROC glad_glInvalidateTexImage;\nPFNGLVERTEXATTRIBFORMATPROC glad_glVertexAttribFormat;\nPFNGLCLEARDEPTHPROC glad_glClearDepth;\nPFNGLVERTEXATTRIBI4USVPROC glad_glVertexAttribI4usv;\nPFNGLTEXPARAMETERFPROC glad_glTexParameterf;\nPFNGLVERTEXATTRIBBINDINGPROC glad_glVertexAttribBinding;\nPFNGLTEXPARAMETERIPROC glad_glTexParameteri;\nPFNGLGETACTIVESUBROUTINEUNIFORMIVPROC glad_glGetActiveSubroutineUniformiv;\nPFNGLGETSHADERSOURCEPROC glad_glGetShaderSource;\nPFNGLCREATETRANSFORMFEEDBACKSPROC glad_glCreateTransformFeedbacks;\nPFNGLGETNTEXIMAGEPROC glad_glGetnTexImage;\nPFNGLTEXBUFFERPROC glad_glTexBuffer;\nPFNGLPOPNAMEPROC glad_glPopName;\nPFNGLVALIDATEPROGRAMPROC glad_glValidateProgram;\nPFNGLPIXELSTOREFPROC glad_glPixelStoref;\nPFNGLUNIFORM3UIVPROC glad_glUniform3uiv;\nPFNGLVIEWPORTINDEXEDFPROC glad_glViewportIndexedf;\nPFNGLRASTERPOS4FVPROC glad_glRasterPos4fv;\nPFNGLEVALCOORD1DVPROC glad_glEvalCoord1dv;\nPFNGLMULTITEXCOORDP2UIVPROC glad_glMultiTexCoordP2uiv;\nPFNGLGENPROGRAMPIPELINESPROC glad_glGenProgramPipelines;\nPFNGLRECTIPROC glad_glRecti;\nPFNGLCOLOR4UBPROC glad_glColor4ub;\nPFNGLMULTTRANSPOSEMATRIXFPROC glad_glMultTransposeMatrixf;\nPFNGLRECTFPROC glad_glRectf;\nPFNGLRECTDPROC glad_glRectd;\nPFNGLNORMAL3SVPROC glad_glNormal3sv;\nPFNGLNEWLISTPROC glad_glNewList;\nPFNGLPROGRAMUNIFORMMATRIX2X3DVPROC glad_glProgramUniformMatrix2x3dv;\nPFNGLCOLOR4USPROC glad_glColor4us;\nPFNGLVERTEXATTRIBP1UIVPROC glad_glVertexAttribP1uiv;\nPFNGLLINKPROGRAMPROC glad_glLinkProgram;\nPFNGLHINTPROC glad_glHint;\nPFNGLRECTSPROC glad_glRects;\nPFNGLTEXCOORD2DVPROC glad_glTexCoord2dv;\nPFNGLRASTERPOS4IVPROC glad_glRasterPos4iv;\nPFNGLGETOBJECTLABELPROC glad_glGetObjectLabel;\nPFNGLPROGRAMUNIFORM2FPROC glad_glProgramUniform2f;\nPFNGLGETSTRINGPROC glad_glGetString;\nPFNGLVERTEXATTRIBP2UIVPROC glad_glVertexAttribP2uiv;\nPFNGLEDGEFLAGVPROC glad_glEdgeFlagv;\nPFNGLDETACHSHADERPROC glad_glDetachShader;\nPFNGLPROGRAMUNIFORM3IPROC glad_glProgramUniform3i;\nPFNGLSCALEFPROC glad_glScalef;\nPFNGLENDQUERYPROC glad_glEndQuery;\nPFNGLSCALEDPROC glad_glScaled;\nPFNGLEDGEFLAGPOINTERPROC glad_glEdgeFlagPointer;\nPFNGLFRAMEBUFFERPARAMETERIPROC glad_glFramebufferParameteri;\nPFNGLGETPROGRAMRESOURCENAMEPROC glad_glGetProgramResourceName;\nPFNGLUNIFORMMATRIX4X3DVPROC glad_glUniformMatrix4x3dv;\nPFNGLDEPTHRANGEARRAYVPROC glad_glDepthRangeArrayv;\nPFNGLCOPYPIXELSPROC glad_glCopyPixels;\nPFNGLVERTEXATTRIBI2UIPROC glad_glVertexAttribI2ui;\nPFNGLGETPROGRAMRESOURCELOCATIONPROC glad_glGetProgramResourceLocation;\nPFNGLPOPATTRIBPROC glad_glPopAttrib;\nPFNGLDELETETEXTURESPROC glad_glDeleteTextures;\nPFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC glad_glGetActiveAtomicCounterBufferiv;\nPFNGLSTENCILOPSEPARATEPROC glad_glStencilOpSeparate;\nPFNGLGETTEXTUREPARAMETERIVPROC glad_glGetTextureParameteriv;\nPFNGLDELETEQUERIESPROC glad_glDeleteQueries;\nPFNGLNORMALP3UIVPROC glad_glNormalP3uiv;\nPFNGLVERTEXATTRIB4FPROC glad_glVertexAttrib4f;\nPFNGLVERTEXATTRIB4DPROC glad_glVertexAttrib4d;\nPFNGLVIEWPORTINDEXEDFVPROC glad_glViewportIndexedfv;\nPFNGLINITNAMESPROC glad_glInitNames;\nPFNGLGETBUFFERPARAMETERI64VPROC glad_glGetBufferParameteri64v;\nPFNGLCOLOR3DVPROC glad_glColor3dv;\nPFNGLVERTEXATTRIBI1IPROC glad_glVertexAttribI1i;\nPFNGLGETTEXPARAMETERIVPROC glad_glGetTexParameteriv;\nPFNGLWAITSYNCPROC glad_glWaitSync;\nPFNGLCREATEVERTEXARRAYSPROC glad_glCreateVertexArrays;\nPFNGLPROGRAMUNIFORM1DVPROC glad_glProgramUniform1dv;\nPFNGLVERTEXATTRIB4SPROC glad_glVertexAttrib4s;\nPFNGLCOLORMATERIALPROC glad_glColorMaterial;\nPFNGLSAMPLECOVERAGEPROC glad_glSampleCoverage;\nPFNGLSAMPLERPARAMETERIPROC glad_glSamplerParameteri;\nPFNGLCLEARBUFFERSUBDATAPROC glad_glClearBufferSubData;\nPFNGLSAMPLERPARAMETERFPROC glad_glSamplerParameterf;\nPFNGLTEXSTORAGE1DPROC glad_glTexStorage1D;\nPFNGLUNIFORM1FPROC glad_glUniform1f;\nPFNGLGETVERTEXATTRIBFVPROC glad_glGetVertexAttribfv;\nPFNGLUNIFORM1DPROC glad_glUniform1d;\nPFNGLRENDERMODEPROC glad_glRenderMode;\nPFNGLGETCOMPRESSEDTEXIMAGEPROC glad_glGetCompressedTexImage;\nPFNGLGETNCOMPRESSEDTEXIMAGEPROC glad_glGetnCompressedTexImage;\nPFNGLWINDOWPOS2DVPROC glad_glWindowPos2dv;\nPFNGLUNIFORM1IPROC glad_glUniform1i;\nPFNGLGETACTIVEATTRIBPROC glad_glGetActiveAttrib;\nPFNGLUNIFORM3IPROC glad_glUniform3i;\nPFNGLPIXELTRANSFERIPROC glad_glPixelTransferi;\nPFNGLTEXSUBIMAGE2DPROC glad_glTexSubImage2D;\nPFNGLDISABLEPROC glad_glDisable;\nPFNGLLOGICOPPROC glad_glLogicOp;\nPFNGLEVALPOINT2PROC glad_glEvalPoint2;\nPFNGLPIXELTRANSFERFPROC glad_glPixelTransferf;\nPFNGLMULTIDRAWARRAYSINDIRECTCOUNTPROC glad_glMultiDrawArraysIndirectCount;\nPFNGLSECONDARYCOLOR3IPROC glad_glSecondaryColor3i;\nPFNGLPROGRAMUNIFORM4UIVPROC glad_glProgramUniform4uiv;\nPFNGLUNIFORM4UIPROC glad_glUniform4ui;\nPFNGLCOLOR3FPROC glad_glColor3f;\nPFNGLNAMEDFRAMEBUFFERREADBUFFERPROC glad_glNamedFramebufferReadBuffer;\nPFNGLBINDFRAMEBUFFERPROC glad_glBindFramebuffer;\nPFNGLGETTEXENVFVPROC glad_glGetTexEnvfv;\nPFNGLRECTFVPROC glad_glRectfv;\nPFNGLCULLFACEPROC glad_glCullFace;\nPFNGLGETLIGHTFVPROC glad_glGetLightfv;\nPFNGLGETNUNIFORMIVPROC glad_glGetnUniformiv;\nPFNGLCOLOR3DPROC glad_glColor3d;\nPFNGLPROGRAMUNIFORM4IPROC glad_glProgramUniform4i;\nPFNGLTEXGENDPROC glad_glTexGend;\nPFNGLPROGRAMUNIFORM4FPROC glad_glProgramUniform4f;\nPFNGLTEXGENIPROC glad_glTexGeni;\nPFNGLPROGRAMUNIFORM4DPROC glad_glProgramUniform4d;\nPFNGLTEXTUREPARAMETERIIVPROC glad_glTextureParameterIiv;\nPFNGLMULTITEXCOORD3SPROC glad_glMultiTexCoord3s;\nPFNGLGETSTRINGIPROC glad_glGetStringi;\nPFNGLGETTEXTUREPARAMETERFVPROC glad_glGetTextureParameterfv;\nPFNGLTEXTURESUBIMAGE2DPROC glad_glTextureSubImage2D;\nPFNGLMULTITEXCOORD3IPROC glad_glMultiTexCoord3i;\nPFNGLMULTITEXCOORD3FPROC glad_glMultiTexCoord3f;\nPFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC glad_glDrawTransformFeedbackStream;\nPFNGLMULTITEXCOORD3DPROC glad_glMultiTexCoord3d;\nPFNGLATTACHSHADERPROC glad_glAttachShader;\nPFNGLFOGCOORDDVPROC glad_glFogCoorddv;\nPFNGLUNIFORMMATRIX2X3FVPROC glad_glUniformMatrix2x3fv;\nPFNGLGETTEXGENFVPROC glad_glGetTexGenfv;\nPFNGLQUERYCOUNTERPROC glad_glQueryCounter;\nPFNGLFOGCOORDPOINTERPROC glad_glFogCoordPointer;\nPFNGLPROGRAMUNIFORMMATRIX3DVPROC glad_glProgramUniformMatrix3dv;\nPFNGLPROVOKINGVERTEXPROC glad_glProvokingVertex;\nPFNGLSHADERBINARYPROC glad_glShaderBinary;\nPFNGLUNMAPNAMEDBUFFERPROC glad_glUnmapNamedBuffer;\nPFNGLGETNCOLORTABLEPROC glad_glGetnColorTable;\nPFNGLFRAMEBUFFERTEXTURE3DPROC glad_glFramebufferTexture3D;\nPFNGLTEXGENIVPROC glad_glTexGeniv;\nPFNGLRASTERPOS2DVPROC glad_glRasterPos2dv;\nPFNGLSECONDARYCOLOR3DVPROC glad_glSecondaryColor3dv;\nPFNGLCLIENTACTIVETEXTUREPROC glad_glClientActiveTexture;\nPFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEPROC glad_glNamedRenderbufferStorageMultisample;\nPFNGLVERTEXATTRIBI4SVPROC glad_glVertexAttribI4sv;\nPFNGLCLEARNAMEDBUFFERDATAPROC glad_glClearNamedBufferData;\nPFNGLSECONDARYCOLOR3USPROC glad_glSecondaryColor3us;\nPFNGLNORMALP3UIPROC glad_glNormalP3ui;\nPFNGLTEXENVFVPROC glad_glTexEnvfv;\nPFNGLREADBUFFERPROC glad_glReadBuffer;\nPFNGLVIEWPORTARRAYVPROC glad_glViewportArrayv;\nPFNGLTEXPARAMETERIUIVPROC glad_glTexParameterIuiv;\nPFNGLDRAWARRAYSINSTANCEDPROC glad_glDrawArraysInstanced;\nPFNGLGENERATEMIPMAPPROC glad_glGenerateMipmap;\nPFNGLCOMPRESSEDTEXTURESUBIMAGE2DPROC glad_glCompressedTextureSubImage2D;\nPFNGLPROGRAMUNIFORMMATRIX2FVPROC glad_glProgramUniformMatrix2fv;\nPFNGLWINDOWPOS3FVPROC glad_glWindowPos3fv;\nPFNGLUNIFORMMATRIX3X4DVPROC glad_glUniformMatrix3x4dv;\nPFNGLLIGHTMODELFVPROC glad_glLightModelfv;\nPFNGLSAMPLERPARAMETERIVPROC glad_glSamplerParameteriv;\nPFNGLDELETELISTSPROC glad_glDeleteLists;\nPFNGLGETCLIPPLANEPROC glad_glGetClipPlane;\nPFNGLVERTEX4DVPROC glad_glVertex4dv;\nPFNGLTEXCOORD2DPROC glad_glTexCoord2d;\nPFNGLPOPMATRIXPROC glad_glPopMatrix;\nPFNGLTEXCOORD2FPROC glad_glTexCoord2f;\nPFNGLCOLOR4IVPROC glad_glColor4iv;\nPFNGLINDEXUBVPROC glad_glIndexubv;\nPFNGLCHECKNAMEDFRAMEBUFFERSTATUSPROC glad_glCheckNamedFramebufferStatus;\nPFNGLUNMAPBUFFERPROC glad_glUnmapBuffer;\nPFNGLTEXCOORD2IPROC glad_glTexCoord2i;\nPFNGLRASTERPOS4DPROC glad_glRasterPos4d;\nPFNGLRASTERPOS4FPROC glad_glRasterPos4f;\nPFNGLPROGRAMUNIFORM1IVPROC glad_glProgramUniform1iv;\nPFNGLGETVERTEXARRAYIVPROC glad_glGetVertexArrayiv;\nPFNGLCOPYTEXTURESUBIMAGE2DPROC glad_glCopyTextureSubImage2D;\nPFNGLVERTEXATTRIB3SPROC glad_glVertexAttrib3s;\nPFNGLTEXCOORD2SPROC glad_glTexCoord2s;\nPFNGLBINDRENDERBUFFERPROC glad_glBindRenderbuffer;\nPFNGLVERTEX3FVPROC glad_glVertex3fv;\nPFNGLTEXCOORD4DVPROC glad_glTexCoord4dv;\nPFNGLMATERIALIVPROC glad_glMaterialiv;\nPFNGLVERTEXATTRIBP4UIVPROC glad_glVertexAttribP4uiv;\nPFNGLGETPROGRAMSTAGEIVPROC glad_glGetProgramStageiv;\nPFNGLISPROGRAMPROC glad_glIsProgram;\nPFNGLVERTEXATTRIB4BVPROC glad_glVertexAttrib4bv;\nPFNGLVERTEX4SPROC glad_glVertex4s;\nPFNGLUNIFORMMATRIX3X2DVPROC glad_glUniformMatrix3x2dv;\nPFNGLVERTEXATTRIB4FVPROC glad_glVertexAttrib4fv;\nPFNGLNORMAL3DVPROC glad_glNormal3dv;\nPFNGLISTRANSFORMFEEDBACKPROC glad_glIsTransformFeedback;\nPFNGLUNIFORM4IPROC glad_glUniform4i;\nPFNGLACTIVETEXTUREPROC glad_glActiveTexture;\nPFNGLENABLEVERTEXATTRIBARRAYPROC glad_glEnableVertexAttribArray;\nPFNGLROTATEDPROC glad_glRotated;\nPFNGLISPROGRAMPIPELINEPROC glad_glIsProgramPipeline;\nPFNGLROTATEFPROC glad_glRotatef;\nPFNGLVERTEX4IPROC glad_glVertex4i;\nPFNGLREADPIXELSPROC glad_glReadPixels;\nPFNGLVERTEXATTRIBI3IVPROC glad_glVertexAttribI3iv;\nPFNGLLOADNAMEPROC glad_glLoadName;\nPFNGLUNIFORM4FPROC glad_glUniform4f;\nPFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC glad_glRenderbufferStorageMultisample;\nPFNGLCREATEPROGRAMPIPELINESPROC glad_glCreateProgramPipelines;\nPFNGLGENVERTEXARRAYSPROC glad_glGenVertexArrays;\nPFNGLSHADEMODELPROC glad_glShadeModel;\nPFNGLMAPGRID1DPROC glad_glMapGrid1d;\nPFNGLGETUNIFORMFVPROC glad_glGetUniformfv;\nPFNGLMAPGRID1FPROC glad_glMapGrid1f;\nPFNGLSAMPLERPARAMETERFVPROC glad_glSamplerParameterfv;\nPFNGLVERTEXATTRIBLPOINTERPROC glad_glVertexAttribLPointer;\nPFNGLDISABLECLIENTSTATEPROC glad_glDisableClientState;\nPFNGLMULTITEXCOORD3SVPROC glad_glMultiTexCoord3sv;\nPFNGLGETNUNIFORMFVPROC glad_glGetnUniformfv;\nPFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC glad_glDrawElementsInstancedBaseVertex;\nPFNGLVERTEXATTRIBL2DVPROC glad_glVertexAttribL2dv;\nPFNGLMULTIDRAWELEMENTSINDIRECTPROC glad_glMultiDrawElementsIndirect;\nPFNGLENABLEVERTEXARRAYATTRIBPROC glad_glEnableVertexArrayAttrib;\nPFNGLSECONDARYCOLORPOINTERPROC glad_glSecondaryColorPointer;\nPFNGLALPHAFUNCPROC glad_glAlphaFunc;\nPFNGLUNIFORM1IVPROC glad_glUniform1iv;\nPFNGLCREATESHADERPROGRAMVPROC glad_glCreateShaderProgramv;\nPFNGLGETACTIVESUBROUTINENAMEPROC glad_glGetActiveSubroutineName;\nPFNGLMULTITEXCOORD4IVPROC glad_glMultiTexCoord4iv;\nPFNGLVERTEXATTRIBL2DPROC glad_glVertexAttribL2d;\nPFNGLGETQUERYOBJECTIVPROC glad_glGetQueryObjectiv;\nPFNGLSTENCILFUNCPROC glad_glStencilFunc;\nPFNGLINVALIDATENAMEDFRAMEBUFFERDATAPROC glad_glInvalidateNamedFramebufferData;\nPFNGLMULTITEXCOORD1FVPROC glad_glMultiTexCoord1fv;\nPFNGLUNIFORMBLOCKBINDINGPROC glad_glUniformBlockBinding;\nPFNGLCOLOR4UIVPROC glad_glColor4uiv;\nPFNGLRECTIVPROC glad_glRectiv;\nPFNGLCOLORP4UIPROC glad_glColorP4ui;\nPFNGLUSEPROGRAMSTAGESPROC glad_glUseProgramStages;\nPFNGLRASTERPOS3DVPROC glad_glRasterPos3dv;\nPFNGLEVALMESH2PROC glad_glEvalMesh2;\nPFNGLEVALMESH1PROC glad_glEvalMesh1;\nPFNGLTEXCOORDPOINTERPROC glad_glTexCoordPointer;\nPFNGLPROGRAMUNIFORM3FPROC glad_glProgramUniform3f;\nPFNGLPROGRAMUNIFORM3DPROC glad_glProgramUniform3d;\nPFNGLVERTEXATTRIB4NUBVPROC glad_glVertexAttrib4Nubv;\nPFNGLVERTEXATTRIBI4IVPROC glad_glVertexAttribI4iv;\nPFNGLGETPROGRAMPIPELINEIVPROC glad_glGetProgramPipelineiv;\nPFNGLTEXSTORAGE3DPROC glad_glTexStorage3D;\nPFNGLEVALCOORD2FVPROC glad_glEvalCoord2fv;\nPFNGLNAMEDFRAMEBUFFERDRAWBUFFERPROC glad_glNamedFramebufferDrawBuffer;\nPFNGLGETQUERYINDEXEDIVPROC glad_glGetQueryIndexediv;\nPFNGLCOLOR4UBVPROC glad_glColor4ubv;\nPFNGLLOADTRANSPOSEMATRIXDPROC glad_glLoadTransposeMatrixd;\nPFNGLLOADTRANSPOSEMATRIXFPROC glad_glLoadTransposeMatrixf;\nPFNGLTEXTUREPARAMETERIVPROC glad_glTextureParameteriv;\nPFNGLOBJECTLABELPROC glad_glObjectLabel;\nPFNGLVERTEXATTRIBI4IPROC glad_glVertexAttribI4i;\nPFNGLRASTERPOS2IVPROC glad_glRasterPos2iv;\nPFNGLGETBUFFERSUBDATAPROC glad_glGetBufferSubData;\nPFNGLGETVERTEXATTRIBLDVPROC glad_glGetVertexAttribLdv;\nPFNGLGETNUNIFORMUIVPROC glad_glGetnUniformuiv;\nPFNGLGETQUERYBUFFEROBJECTIVPROC glad_glGetQueryBufferObjectiv;\nPFNGLTEXENVIVPROC glad_glTexEnviv;\nPFNGLBLENDEQUATIONSEPARATEPROC glad_glBlendEquationSeparate;\nPFNGLVERTEXATTRIBI1UIPROC glad_glVertexAttribI1ui;\nPFNGLGENBUFFERSPROC glad_glGenBuffers;\nPFNGLSELECTBUFFERPROC glad_glSelectBuffer;\nPFNGLGETSUBROUTINEINDEXPROC glad_glGetSubroutineIndex;\nPFNGLVERTEXATTRIB2SVPROC glad_glVertexAttrib2sv;\nPFNGLSCISSORINDEXEDVPROC glad_glScissorIndexedv;\nPFNGLPUSHATTRIBPROC glad_glPushAttrib;\nPFNGLVERTEXATTRIBIPOINTERPROC glad_glVertexAttribIPointer;\nPFNGLBLENDFUNCPROC glad_glBlendFunc;\nPFNGLCREATEPROGRAMPROC glad_glCreateProgram;\nPFNGLNAMEDBUFFERSUBDATAPROC glad_glNamedBufferSubData;\nPFNGLTEXIMAGE3DPROC glad_glTexImage3D;\nPFNGLISFRAMEBUFFERPROC glad_glIsFramebuffer;\nPFNGLCLEARNAMEDFRAMEBUFFERFVPROC glad_glClearNamedFramebufferfv;\nPFNGLLIGHTIVPROC glad_glLightiv;\nPFNGLGETNAMEDBUFFERSUBDATAPROC glad_glGetNamedBufferSubData;\nPFNGLCOMPRESSEDTEXTURESUBIMAGE3DPROC glad_glCompressedTextureSubImage3D;\nPFNGLPRIMITIVERESTARTINDEXPROC glad_glPrimitiveRestartIndex;\nPFNGLFLUSHMAPPEDNAMEDBUFFERRANGEPROC glad_glFlushMappedNamedBufferRange;\nPFNGLINVALIDATETEXSUBIMAGEPROC glad_glInvalidateTexSubImage;\nPFNGLTEXGENFVPROC glad_glTexGenfv;\nPFNGLGETTEXTUREPARAMETERIUIVPROC glad_glGetTextureParameterIuiv;\nPFNGLGETNCONVOLUTIONFILTERPROC glad_glGetnConvolutionFilter;\nPFNGLBINDIMAGETEXTURESPROC glad_glBindImageTextures;\nPFNGLENDPROC glad_glEnd;\nPFNGLDELETEBUFFERSPROC glad_glDeleteBuffers;\nPFNGLBINDPROGRAMPIPELINEPROC glad_glBindProgramPipeline;\nPFNGLSCISSORPROC glad_glScissor;\nPFNGLTEXCOORDP4UIVPROC glad_glTexCoordP4uiv;\nPFNGLCLIPPLANEPROC glad_glClipPlane;\nPFNGLPUSHNAMEPROC glad_glPushName;\nPFNGLTEXGENDVPROC glad_glTexGendv;\nPFNGLINDEXUBPROC glad_glIndexub;\nPFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVPROC glad_glGetNamedFramebufferAttachmentParameteriv;\nPFNGLNAMEDFRAMEBUFFERRENDERBUFFERPROC glad_glNamedFramebufferRenderbuffer;\nPFNGLVERTEXP2UIVPROC glad_glVertexP2uiv;\nPFNGLSECONDARYCOLOR3IVPROC glad_glSecondaryColor3iv;\nPFNGLRASTERPOS4IPROC glad_glRasterPos4i;\nPFNGLMULTTRANSPOSEMATRIXDPROC glad_glMultTransposeMatrixd;\nPFNGLCLEARCOLORPROC glad_glClearColor;\nPFNGLVERTEXATTRIB4UIVPROC glad_glVertexAttrib4uiv;\nPFNGLNORMAL3SPROC glad_glNormal3s;\nPFNGLVERTEXATTRIB4NIVPROC glad_glVertexAttrib4Niv;\nPFNGLPROGRAMUNIFORMMATRIX2X3FVPROC glad_glProgramUniformMatrix2x3fv;\nPFNGLCLEARBUFFERIVPROC glad_glClearBufferiv;\nPFNGLPOINTPARAMETERIPROC glad_glPointParameteri;\nPFNGLPROGRAMUNIFORM4DVPROC glad_glProgramUniform4dv;\nPFNGLCOLORP4UIVPROC glad_glColorP4uiv;\nPFNGLBLENDCOLORPROC glad_glBlendColor;\nPFNGLGETNPIXELMAPUIVPROC glad_glGetnPixelMapuiv;\nPFNGLGETTEXTURELEVELPARAMETERIVPROC glad_glGetTextureLevelParameteriv;\nPFNGLWINDOWPOS3DPROC glad_glWindowPos3d;\nPFNGLPROGRAMUNIFORM3FVPROC glad_glProgramUniform3fv;\nPFNGLVERTEXATTRIBI2UIVPROC glad_glVertexAttribI2uiv;\nPFNGLGETNAMEDFRAMEBUFFERPARAMETERIVPROC glad_glGetNamedFramebufferParameteriv;\nPFNGLSAMPLERPARAMETERIUIVPROC glad_glSamplerParameterIuiv;\nPFNGLUNIFORM3UIPROC glad_glUniform3ui;\nPFNGLPROGRAMUNIFORM3UIVPROC glad_glProgramUniform3uiv;\nPFNGLCOLOR4DVPROC glad_glColor4dv;\nPFNGLVERTEXATTRIBI4UIVPROC glad_glVertexAttribI4uiv;\nPFNGLPOINTPARAMETERFVPROC glad_glPointParameterfv;\nPFNGLRESUMETRANSFORMFEEDBACKPROC glad_glResumeTransformFeedback;\nPFNGLUNIFORM2FVPROC glad_glUniform2fv;\nPFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC glad_glGetActiveSubroutineUniformName;\nPFNGLGETPROGRAMRESOURCEINDEXPROC glad_glGetProgramResourceIndex;\nPFNGLSECONDARYCOLOR3UBPROC glad_glSecondaryColor3ub;\nPFNGLDRAWELEMENTSINDIRECTPROC glad_glDrawElementsIndirect;\nPFNGLGETTEXTURELEVELPARAMETERFVPROC glad_glGetTextureLevelParameterfv;\nPFNGLSECONDARYCOLOR3UIPROC glad_glSecondaryColor3ui;\nPFNGLTEXCOORD3DVPROC glad_glTexCoord3dv;\nPFNGLGETNAMEDBUFFERPOINTERVPROC glad_glGetNamedBufferPointerv;\nPFNGLDISPATCHCOMPUTEINDIRECTPROC glad_glDispatchComputeIndirect;\nPFNGLINVALIDATENAMEDFRAMEBUFFERSUBDATAPROC glad_glInvalidateNamedFramebufferSubData;\nPFNGLGETSAMPLERPARAMETERIUIVPROC glad_glGetSamplerParameterIuiv;\nPFNGLBINDBUFFERRANGEPROC glad_glBindBufferRange;\nPFNGLNORMAL3IVPROC glad_glNormal3iv;\nPFNGLTEXTURESUBIMAGE1DPROC glad_glTextureSubImage1D;\nPFNGLVERTEXATTRIBL3DVPROC glad_glVertexAttribL3dv;\nPFNGLGETUNIFORMDVPROC glad_glGetUniformdv;\nPFNGLWINDOWPOS3SPROC glad_glWindowPos3s;\nPFNGLPOINTPARAMETERFPROC glad_glPointParameterf;\nPFNGLCLEARDEPTHFPROC glad_glClearDepthf;\nPFNGLGETVERTEXATTRIBIUIVPROC glad_glGetVertexAttribIuiv;\nPFNGLWINDOWPOS3IPROC glad_glWindowPos3i;\nPFNGLMULTITEXCOORD4SPROC glad_glMultiTexCoord4s;\nPFNGLGETTEXTURESUBIMAGEPROC glad_glGetTextureSubImage;\nPFNGLWINDOWPOS3FPROC glad_glWindowPos3f;\nPFNGLGENTRANSFORMFEEDBACKSPROC glad_glGenTransformFeedbacks;\nPFNGLCOLOR3USPROC glad_glColor3us;\nPFNGLCOLOR3UIVPROC glad_glColor3uiv;\nPFNGLVERTEXATTRIB4NUSVPROC glad_glVertexAttrib4Nusv;\nPFNGLGETLIGHTIVPROC glad_glGetLightiv;\nPFNGLDEPTHFUNCPROC glad_glDepthFunc;\nPFNGLCOMPRESSEDTEXSUBIMAGE2DPROC glad_glCompressedTexSubImage2D;\nPFNGLLISTBASEPROC glad_glListBase;\nPFNGLMULTITEXCOORD4FPROC glad_glMultiTexCoord4f;\nPFNGLCOLOR3UBPROC glad_glColor3ub;\nPFNGLMULTITEXCOORD4DPROC glad_glMultiTexCoord4d;\nPFNGLVERTEXATTRIBI4BVPROC glad_glVertexAttribI4bv;\nPFNGLBLENDEQUATIONSEPARATEIPROC glad_glBlendEquationSeparatei;\nPFNGLGETTEXPARAMETERFVPROC glad_glGetTexParameterfv;\nPFNGLCOLOR3UIPROC glad_glColor3ui;\nPFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC glad_glGetProgramResourceLocationIndex;\nPFNGLMULTITEXCOORD4IPROC glad_glMultiTexCoord4i;\nPFNGLBUFFERSTORAGEPROC glad_glBufferStorage;\nPFNGLGETPOLYGONSTIPPLEPROC glad_glGetPolygonStipple;\nPFNGLCLIENTWAITSYNCPROC glad_glClientWaitSync;\nPFNGLVERTEXATTRIBI4UIPROC glad_glVertexAttribI4ui;\nPFNGLGETFLOATI_VPROC glad_glGetFloati_v;\nPFNGLMULTITEXCOORD4DVPROC glad_glMultiTexCoord4dv;\nPFNGLCOLORMASKPROC glad_glColorMask;\nPFNGLTEXTUREBUFFERPROC glad_glTextureBuffer;\nPFNGLTEXPARAMETERIIVPROC glad_glTexParameterIiv;\nPFNGLBLENDEQUATIONPROC glad_glBlendEquation;\nPFNGLGETUNIFORMLOCATIONPROC glad_glGetUniformLocation;\nPFNGLGETSAMPLERPARAMETERIVPROC glad_glGetSamplerParameteriv;\nPFNGLVERTEXARRAYATTRIBFORMATPROC glad_glVertexArrayAttribFormat;\nPFNGLREADNPIXELSPROC glad_glReadnPixels;\nPFNGLRASTERPOS4SPROC glad_glRasterPos4s;\nPFNGLENDTRANSFORMFEEDBACKPROC glad_glEndTransformFeedback;\nPFNGLVERTEXATTRIB4USVPROC glad_glVertexAttrib4usv;\nPFNGLGETUNIFORMSUBROUTINEUIVPROC glad_glGetUniformSubroutineuiv;\nPFNGLMULTITEXCOORD3DVPROC glad_glMultiTexCoord3dv;\nPFNGLBINDVERTEXBUFFERPROC glad_glBindVertexBuffer;\nPFNGLCOLOR4SVPROC glad_glColor4sv;\nPFNGLDEBUGMESSAGEINSERTPROC glad_glDebugMessageInsert;\nPFNGLCREATESAMPLERSPROC glad_glCreateSamplers;\nPFNGLPOPCLIENTATTRIBPROC glad_glPopClientAttrib;\nPFNGLCLEARBUFFERDATAPROC glad_glClearBufferData;\nPFNGLBEGINTRANSFORMFEEDBACKPROC glad_glBeginTransformFeedback;\nPFNGLFOGFPROC glad_glFogf;\nPFNGLVERTEXATTRIBI1IVPROC glad_glVertexAttribI1iv;\nPFNGLPROGRAMBINARYPROC glad_glProgramBinary;\nPFNGLISSAMPLERPROC glad_glIsSampler;\nPFNGLVERTEXP3UIPROC glad_glVertexP3ui;\nPFNGLVERTEXATTRIBDIVISORPROC glad_glVertexAttribDivisor;\nPFNGLBINDSAMPLERSPROC glad_glBindSamplers;\nPFNGLCOLOR3IVPROC glad_glColor3iv;\nPFNGLCOMPRESSEDTEXIMAGE1DPROC glad_glCompressedTexImage1D;\nPFNGLDELETETRANSFORMFEEDBACKSPROC glad_glDeleteTransformFeedbacks;\nPFNGLCOPYTEXSUBIMAGE1DPROC glad_glCopyTexSubImage1D;\nPFNGLTEXCOORD1IPROC glad_glTexCoord1i;\nPFNGLCHECKFRAMEBUFFERSTATUSPROC glad_glCheckFramebufferStatus;\nPFNGLTEXCOORD1DPROC glad_glTexCoord1d;\nPFNGLTEXCOORD1FPROC glad_glTexCoord1f;\nPFNGLTEXTURESTORAGE3DPROC glad_glTextureStorage3D;\nPFNGLENDCONDITIONALRENDERPROC glad_glEndConditionalRender;\nPFNGLENABLECLIENTSTATEPROC glad_glEnableClientState;\nPFNGLBINDATTRIBLOCATIONPROC glad_glBindAttribLocation;\nPFNGLUNIFORMMATRIX4X2FVPROC glad_glUniformMatrix4x2fv;\nPFNGLUNIFORMMATRIX2DVPROC glad_glUniformMatrix2dv;\nPFNGLBLENDFUNCIPROC glad_glBlendFunci;\nPFNGLMULTITEXCOORD2SVPROC glad_glMultiTexCoord2sv;\nPFNGLVERTEXATTRIB1DVPROC glad_glVertexAttrib1dv;\nPFNGLDRAWRANGEELEMENTSPROC glad_glDrawRangeElements;\nPFNGLTEXCOORD1SPROC glad_glTexCoord1s;\nPFNGLBINDBUFFERBASEPROC glad_glBindBufferBase;\nPFNGLBUFFERSUBDATAPROC glad_glBufferSubData;\nPFNGLVERTEXATTRIB4IVPROC glad_glVertexAttrib4iv;\nPFNGLGENLISTSPROC glad_glGenLists;\nPFNGLCOLOR3BVPROC glad_glColor3bv;\nPFNGLMAPBUFFERRANGEPROC glad_glMapBufferRange;\nPFNGLFRAMEBUFFERTEXTUREPROC glad_glFramebufferTexture;\nPFNGLBLENDFUNCSEPARATEIPROC glad_glBlendFuncSeparatei;\nPFNGLPROGRAMUNIFORMMATRIX4X2FVPROC glad_glProgramUniformMatrix4x2fv;\nPFNGLVERTEXATTRIBL1DPROC glad_glVertexAttribL1d;\nPFNGLGETTEXGENDVPROC glad_glGetTexGendv;\nPFNGLCLEARNAMEDFRAMEBUFFERIVPROC glad_glClearNamedFramebufferiv;\nPFNGLMULTIDRAWARRAYSPROC glad_glMultiDrawArrays;\nPFNGLENDLISTPROC glad_glEndList;\nPFNGLSCISSORINDEXEDPROC glad_glScissorIndexed;\nPFNGLVERTEXP4UIVPROC glad_glVertexP4uiv;\nPFNGLUNIFORM2UIPROC glad_glUniform2ui;\nPFNGLVERTEXATTRIBI2IVPROC glad_glVertexAttribI2iv;\nPFNGLGETNMAPDVPROC glad_glGetnMapdv;\nPFNGLCOLOR3USVPROC glad_glColor3usv;\nPFNGLWINDOWPOS2FVPROC glad_glWindowPos2fv;\nPFNGLTEXTUREVIEWPROC glad_glTextureView;\nPFNGLDISABLEIPROC glad_glDisablei;\nPFNGLPROGRAMUNIFORMMATRIX2X4FVPROC glad_glProgramUniformMatrix2x4fv;\nPFNGLCREATERENDERBUFFERSPROC glad_glCreateRenderbuffers;\nPFNGLINDEXMASKPROC glad_glIndexMask;\nPFNGLPUSHCLIENTATTRIBPROC glad_glPushClientAttrib;\nPFNGLSHADERSOURCEPROC glad_glShaderSource;\nPFNGLGETNSEPARABLEFILTERPROC glad_glGetnSeparableFilter;\nPFNGLGETACTIVEUNIFORMBLOCKNAMEPROC glad_glGetActiveUniformBlockName;\nPFNGLVERTEXATTRIBI3UIVPROC glad_glVertexAttribI3uiv;\nPFNGLRELEASESHADERCOMPILERPROC glad_glReleaseShaderCompiler;\nPFNGLVERTEXATTRIBIFORMATPROC glad_glVertexAttribIFormat;\nPFNGLCREATEFRAMEBUFFERSPROC glad_glCreateFramebuffers;\nPFNGLCLEARACCUMPROC glad_glClearAccum;\nPFNGLGETSYNCIVPROC glad_glGetSynciv;\nPFNGLPROGRAMUNIFORM2UIVPROC glad_glProgramUniform2uiv;\nPFNGLGETNPIXELMAPFVPROC glad_glGetnPixelMapfv;\nPFNGLTEXCOORDP2UIVPROC glad_glTexCoordP2uiv;\nPFNGLPATCHPARAMETERIPROC glad_glPatchParameteri;\nPFNGLPROGRAMUNIFORM2IPROC glad_glProgramUniform2i;\nPFNGLUNIFORM2FPROC glad_glUniform2f;\nPFNGLGETNAMEDBUFFERPARAMETERI64VPROC glad_glGetNamedBufferParameteri64v;\nPFNGLBEGINQUERYPROC glad_glBeginQuery;\nPFNGLGETUNIFORMBLOCKINDEXPROC glad_glGetUniformBlockIndex;\nPFNGLBINDBUFFERPROC glad_glBindBuffer;\nPFNGLMAP2DPROC glad_glMap2d;\nPFNGLMAP2FPROC glad_glMap2f;\nPFNGLTEXSTORAGE2DMULTISAMPLEPROC glad_glTexStorage2DMultisample;\nPFNGLUNIFORM2DPROC glad_glUniform2d;\nPFNGLVERTEX4DPROC glad_glVertex4d;\nPFNGLUNIFORMMATRIX2FVPROC glad_glUniformMatrix2fv;\nPFNGLTEXCOORD1SVPROC glad_glTexCoord1sv;\nPFNGLBUFFERDATAPROC glad_glBufferData;\nPFNGLEVALPOINT1PROC glad_glEvalPoint1;\nPFNGLGETTEXPARAMETERIIVPROC glad_glGetTexParameterIiv;\nPFNGLGETQUERYBUFFEROBJECTUI64VPROC glad_glGetQueryBufferObjectui64v;\nPFNGLTEXCOORD1DVPROC glad_glTexCoord1dv;\nPFNGLTEXCOORDP1UIPROC glad_glTexCoordP1ui;\nPFNGLGETERRORPROC glad_glGetError;\nPFNGLGETTEXENVIVPROC glad_glGetTexEnviv;\nPFNGLGETPROGRAMIVPROC glad_glGetProgramiv;\nPFNGLVERTEXATTRIBP2UIPROC glad_glVertexAttribP2ui;\nPFNGLGETFLOATVPROC glad_glGetFloatv;\nPFNGLTEXSUBIMAGE1DPROC glad_glTexSubImage1D;\nPFNGLMULTITEXCOORD2FVPROC glad_glMultiTexCoord2fv;\nPFNGLUNIFORMMATRIX2X4DVPROC glad_glUniformMatrix2x4dv;\nPFNGLVERTEXATTRIB2FVPROC glad_glVertexAttrib2fv;\nPFNGLEVALCOORD1DPROC glad_glEvalCoord1d;\nPFNGLGETTEXLEVELPARAMETERFVPROC glad_glGetTexLevelParameterfv;\nPFNGLEVALCOORD1FPROC glad_glEvalCoord1f;\nPFNGLPIXELMAPFVPROC glad_glPixelMapfv;\nPFNGLVERTEXATTRIBP3UIVPROC glad_glVertexAttribP3uiv;\nPFNGLGETPIXELMAPUSVPROC glad_glGetPixelMapusv;\nPFNGLSECONDARYCOLORP3UIVPROC glad_glSecondaryColorP3uiv;\nPFNGLGETINTEGERVPROC glad_glGetIntegerv;\nPFNGLACCUMPROC glad_glAccum;\nPFNGLGETVERTEXARRAYINDEXED64IVPROC glad_glGetVertexArrayIndexed64iv;\nPFNGLGETBUFFERPOINTERVPROC glad_glGetBufferPointerv;\nPFNGLGETVERTEXATTRIBIIVPROC glad_glGetVertexAttribIiv;\nPFNGLRASTERPOS4DVPROC glad_glRasterPos4dv;\nPFNGLPROGRAMUNIFORM4FVPROC glad_glProgramUniform4fv;\nPFNGLTEXCOORD2IVPROC glad_glTexCoord2iv;\nPFNGLTEXTUREBARRIERPROC glad_glTextureBarrier;\nPFNGLISQUERYPROC glad_glIsQuery;\nPFNGLPROGRAMUNIFORM2UIPROC glad_glProgramUniform2ui;\nPFNGLPROGRAMUNIFORM4UIPROC glad_glProgramUniform4ui;\nPFNGLVERTEXATTRIB4SVPROC glad_glVertexAttrib4sv;\nPFNGLWINDOWPOS3DVPROC glad_glWindowPos3dv;\nPFNGLTEXIMAGE2DPROC glad_glTexImage2D;\nPFNGLSTENCILMASKPROC glad_glStencilMask;\nPFNGLDRAWPIXELSPROC glad_glDrawPixels;\nPFNGLMULTMATRIXDPROC glad_glMultMatrixd;\nPFNGLMULTMATRIXFPROC glad_glMultMatrixf;\nPFNGLISTEXTUREPROC glad_glIsTexture;\nPFNGLGETMATERIALIVPROC glad_glGetMaterialiv;\nPFNGLNAMEDBUFFERDATAPROC glad_glNamedBufferData;\nPFNGLUNIFORM1FVPROC glad_glUniform1fv;\nPFNGLLOADMATRIXFPROC glad_glLoadMatrixf;\nPFNGLTEXSTORAGE2DPROC glad_glTexStorage2D;\nPFNGLLOADMATRIXDPROC glad_glLoadMatrixd;\nPFNGLCLEARNAMEDBUFFERSUBDATAPROC glad_glClearNamedBufferSubData;\nPFNGLMAPNAMEDBUFFERRANGEPROC glad_glMapNamedBufferRange;\nPFNGLNAMEDFRAMEBUFFERTEXTURELAYERPROC glad_glNamedFramebufferTextureLayer;\nPFNGLTEXPARAMETERFVPROC glad_glTexParameterfv;\nPFNGLUNIFORMMATRIX3FVPROC glad_glUniformMatrix3fv;\nPFNGLVERTEX4FPROC glad_glVertex4f;\nPFNGLRECTSVPROC glad_glRectsv;\nPFNGLCOLOR4USVPROC glad_glColor4usv;\nPFNGLUNIFORM3DVPROC glad_glUniform3dv;\nPFNGLPROGRAMUNIFORMMATRIX4X3FVPROC glad_glProgramUniformMatrix4x3fv;\nPFNGLPOLYGONSTIPPLEPROC glad_glPolygonStipple;\nPFNGLBINDBUFFERSBASEPROC glad_glBindBuffersBase;\nPFNGLINTERLEAVEDARRAYSPROC glad_glInterleavedArrays;\nPFNGLGETSUBROUTINEUNIFORMLOCATIONPROC glad_glGetSubroutineUniformLocation;\nPFNGLNORMAL3IPROC glad_glNormal3i;\nPFNGLNORMAL3FPROC glad_glNormal3f;\nPFNGLNORMAL3DPROC glad_glNormal3d;\nPFNGLNORMAL3BPROC glad_glNormal3b;\nPFNGLGETFRAMEBUFFERPARAMETERIVPROC glad_glGetFramebufferParameteriv;\nPFNGLPIXELMAPUSVPROC glad_glPixelMapusv;\nPFNGLGETTEXGENIVPROC glad_glGetTexGeniv;\nPFNGLARRAYELEMENTPROC glad_glArrayElement;\nPFNGLGETCOMPRESSEDTEXTURESUBIMAGEPROC glad_glGetCompressedTextureSubImage;\nPFNGLCOPYBUFFERSUBDATAPROC glad_glCopyBufferSubData;\nPFNGLVERTEXATTRIBI1UIVPROC glad_glVertexAttribI1uiv;\nPFNGLVERTEXATTRIB2DPROC glad_glVertexAttrib2d;\nPFNGLBINDTRANSFORMFEEDBACKPROC glad_glBindTransformFeedback;\nPFNGLVERTEXATTRIB2FPROC glad_glVertexAttrib2f;\nPFNGLVERTEXATTRIB3DVPROC glad_glVertexAttrib3dv;\nPFNGLGETQUERYOBJECTUI64VPROC glad_glGetQueryObjectui64v;\nPFNGLDEPTHMASKPROC glad_glDepthMask;\nPFNGLVERTEXATTRIB2SPROC glad_glVertexAttrib2s;\nPFNGLCOLOR3FVPROC glad_glColor3fv;\nPFNGLTEXIMAGE3DMULTISAMPLEPROC glad_glTexImage3DMultisample;\nPFNGLPROGRAMUNIFORM1FVPROC glad_glProgramUniform1fv;\nPFNGLUNIFORMMATRIX4FVPROC glad_glUniformMatrix4fv;\nPFNGLUNIFORM4FVPROC glad_glUniform4fv;\nPFNGLGETACTIVEUNIFORMPROC glad_glGetActiveUniform;\nPFNGLCOLORPOINTERPROC glad_glColorPointer;\nPFNGLFRONTFACEPROC glad_glFrontFace;\nPFNGLTEXBUFFERRANGEPROC glad_glTexBufferRange;\nPFNGLCREATEBUFFERSPROC glad_glCreateBuffers;\nPFNGLNAMEDFRAMEBUFFERPARAMETERIPROC glad_glNamedFramebufferParameteri;\nPFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC glad_glDrawArraysInstancedBaseInstance;\nPFNGLGETBOOLEANI_VPROC glad_glGetBooleani_v;\nPFNGLVERTEXATTRIBL3DPROC glad_glVertexAttribL3d;\nPFNGLDELETEPROGRAMPIPELINESPROC glad_glDeleteProgramPipelines;\nPFNGLCLEARBUFFERUIVPROC glad_glClearBufferuiv;\nPFNGLCLIPCONTROLPROC glad_glClipControl;\nPFNGLGETPROGRAMRESOURCEIVPROC glad_glGetProgramResourceiv;\nint GLAD_GL_SGIX_pixel_tiles;\nint GLAD_GL_EXT_post_depth_coverage;\nint GLAD_GL_APPLE_element_array;\nint GLAD_GL_AMD_multi_draw_indirect;\nint GLAD_GL_EXT_blend_subtract;\nint GLAD_GL_SGIX_tag_sample_buffer;\nint GLAD_GL_NV_point_sprite;\nint GLAD_GL_IBM_texture_mirrored_repeat;\nint GLAD_GL_APPLE_transform_hint;\nint GLAD_GL_ATI_separate_stencil;\nint GLAD_GL_NV_shader_atomic_int64;\nint GLAD_GL_EXT_semaphore_win32;\nint GLAD_GL_NV_vertex_program2_option;\nint GLAD_GL_EXT_texture_buffer_object;\nint GLAD_GL_ARB_vertex_blend;\nint GLAD_GL_OVR_multiview;\nint GLAD_GL_NV_vertex_program2;\nint GLAD_GL_ARB_program_interface_query;\nint GLAD_GL_EXT_misc_attribute;\nint GLAD_GL_NV_multisample_coverage;\nint GLAD_GL_ARB_shading_language_packing;\nint GLAD_GL_EXT_texture_cube_map;\nint GLAD_GL_NV_viewport_array2;\nint GLAD_GL_ARB_texture_stencil8;\nint GLAD_GL_EXT_index_func;\nint GLAD_GL_EXT_memory_object_fd;\nint GLAD_GL_OES_compressed_paletted_texture;\nint GLAD_GL_MESA_shader_integer_functions;\nint GLAD_GL_NV_shader_buffer_load;\nint GLAD_GL_EXT_color_subtable;\nint GLAD_GL_SUNX_constant_data;\nint GLAD_GL_EXT_texture_compression_s3tc;\nint GLAD_GL_EXT_multi_draw_arrays;\nint GLAD_GL_ARB_shader_atomic_counters;\nint GLAD_GL_ARB_arrays_of_arrays;\nint GLAD_GL_NV_conditional_render;\nint GLAD_GL_EXT_texture_env_combine;\nint GLAD_GL_NV_fog_distance;\nint GLAD_GL_SGIX_async_histogram;\nint GLAD_GL_MESA_resize_buffers;\nint GLAD_GL_NV_light_max_exponent;\nint GLAD_GL_NV_texture_env_combine4;\nint GLAD_GL_ARB_spirv_extensions;\nint GLAD_GL_ARB_texture_view;\nint GLAD_GL_ARB_texture_env_combine;\nint GLAD_GL_ARB_map_buffer_range;\nint GLAD_GL_EXT_convolution;\nint GLAD_GL_NV_compute_program5;\nint GLAD_GL_NV_vertex_attrib_integer_64bit;\nint GLAD_GL_EXT_paletted_texture;\nint GLAD_GL_ARB_texture_buffer_object;\nint GLAD_GL_ATI_pn_triangles;\nint GLAD_GL_SGIX_resample;\nint GLAD_GL_SGIX_flush_raster;\nint GLAD_GL_EXT_light_texture;\nint GLAD_GL_ARB_point_sprite;\nint GLAD_GL_SUN_convolution_border_modes;\nint GLAD_GL_EXT_semaphore_fd;\nint GLAD_GL_NV_parameter_buffer_object2;\nint GLAD_GL_ARB_half_float_pixel;\nint GLAD_GL_NV_tessellation_program5;\nint GLAD_GL_REND_screen_coordinates;\nint GLAD_GL_EXT_shared_texture_palette;\nint GLAD_GL_EXT_packed_float;\nint GLAD_GL_OML_subsample;\nint GLAD_GL_SGIX_vertex_preclip;\nint GLAD_GL_SGIX_texture_scale_bias;\nint GLAD_GL_AMD_draw_buffers_blend;\nint GLAD_GL_APPLE_texture_range;\nint GLAD_GL_EXT_texture_array;\nint GLAD_GL_NV_texture_barrier;\nint GLAD_GL_ARB_texture_query_levels;\nint GLAD_GL_NV_texgen_emboss;\nint GLAD_GL_EXT_texture_swizzle;\nint GLAD_GL_ARB_texture_rg;\nint GLAD_GL_ARB_vertex_type_2_10_10_10_rev;\nint GLAD_GL_ARB_fragment_shader;\nint GLAD_GL_3DFX_tbuffer;\nint GLAD_GL_GREMEDY_frame_terminator;\nint GLAD_GL_IBM_cull_vertex;\nint GLAD_GL_EXT_separate_shader_objects;\nint GLAD_GL_NV_texture_multisample;\nint GLAD_GL_ARB_shader_objects;\nint GLAD_GL_ARB_framebuffer_object;\nint GLAD_GL_EXT_external_buffer;\nint GLAD_GL_ATI_envmap_bumpmap;\nint GLAD_GL_AMD_shader_explicit_vertex_parameter;\nint GLAD_GL_ARB_robust_buffer_access_behavior;\nint GLAD_GL_ARB_shader_stencil_export;\nint GLAD_GL_NV_texture_rectangle;\nint GLAD_GL_ARB_enhanced_layouts;\nint GLAD_GL_ARB_texture_rectangle;\nint GLAD_GL_SGI_texture_color_table;\nint GLAD_GL_NV_viewport_swizzle;\nint GLAD_GL_ATI_map_object_buffer;\nint GLAD_GL_ARB_robustness;\nint GLAD_GL_NV_pixel_data_range;\nint GLAD_GL_EXT_framebuffer_blit;\nint GLAD_GL_ARB_gpu_shader_fp64;\nint GLAD_GL_NV_command_list;\nint GLAD_GL_SGIX_depth_texture;\nint GLAD_GL_AMD_framebuffer_sample_positions;\nint GLAD_GL_GREMEDY_string_marker;\nint GLAD_GL_ARB_texture_compression_bptc;\nint GLAD_GL_EXT_subtexture;\nint GLAD_GL_EXT_pixel_transform_color_table;\nint GLAD_GL_EXT_texture_compression_rgtc;\nint GLAD_GL_ARB_shader_atomic_counter_ops;\nint GLAD_GL_SGIX_depth_pass_instrument;\nint GLAD_GL_EXT_gpu_program_parameters;\nint GLAD_GL_NV_evaluators;\nint GLAD_GL_SGIS_texture_filter4;\nint GLAD_GL_AMD_performance_monitor;\nint GLAD_GL_NV_geometry_shader4;\nint GLAD_GL_EXT_stencil_clear_tag;\nint GLAD_GL_NV_vertex_program1_1;\nint GLAD_GL_NV_present_video;\nint GLAD_GL_ARB_texture_compression_rgtc;\nint GLAD_GL_HP_convolution_border_modes;\nint GLAD_GL_EXT_shader_integer_mix;\nint GLAD_GL_SGIX_framezoom;\nint GLAD_GL_ARB_stencil_texturing;\nint GLAD_GL_ARB_shader_clock;\nint GLAD_GL_NV_shader_atomic_fp16_vector;\nint GLAD_GL_SGIX_fog_offset;\nint GLAD_GL_ARB_draw_elements_base_vertex;\nint GLAD_GL_INGR_interlace_read;\nint GLAD_GL_NV_transform_feedback;\nint GLAD_GL_NV_fragment_program;\nint GLAD_GL_AMD_stencil_operation_extended;\nint GLAD_GL_ARB_seamless_cubemap_per_texture;\nint GLAD_GL_ARB_instanced_arrays;\nint GLAD_GL_ARB_get_texture_sub_image;\nint GLAD_GL_NV_vertex_array_range2;\nint GLAD_GL_KHR_robustness;\nint GLAD_GL_AMD_sparse_texture;\nint GLAD_GL_ARB_clip_control;\nint GLAD_GL_NV_fragment_coverage_to_color;\nint GLAD_GL_NV_fence;\nint GLAD_GL_ARB_texture_buffer_range;\nint GLAD_GL_SUN_mesh_array;\nint GLAD_GL_ARB_vertex_attrib_binding;\nint GLAD_GL_ARB_framebuffer_no_attachments;\nint GLAD_GL_ARB_cl_event;\nint GLAD_GL_EXT_vertex_weighting;\nint GLAD_GL_ARB_derivative_control;\nint GLAD_GL_NV_packed_depth_stencil;\nint GLAD_GL_OES_single_precision;\nint GLAD_GL_NV_primitive_restart;\nint GLAD_GL_SUN_global_alpha;\nint GLAD_GL_ARB_fragment_shader_interlock;\nint GLAD_GL_EXT_texture_object;\nint GLAD_GL_AMD_name_gen_delete;\nint GLAD_GL_NV_texture_compression_vtc;\nint GLAD_GL_NV_sample_mask_override_coverage;\nint GLAD_GL_NV_texture_shader3;\nint GLAD_GL_MESA_tile_raster_order;\nint GLAD_GL_ARB_texture_filter_anisotropic;\nint GLAD_GL_EXT_texture;\nint GLAD_GL_ARB_buffer_storage;\nint GLAD_GL_AMD_shader_atomic_counter_ops;\nint GLAD_GL_APPLE_vertex_program_evaluators;\nint GLAD_GL_AMD_texture_gather_bias_lod;\nint GLAD_GL_ARB_explicit_uniform_location;\nint GLAD_GL_ARB_depth_buffer_float;\nint GLAD_GL_NV_path_rendering_shared_edge;\nint GLAD_GL_SGIX_shadow_ambient;\nint GLAD_GL_ARB_texture_cube_map;\nint GLAD_GL_AMD_vertex_shader_viewport_index;\nint GLAD_GL_SGIX_list_priority;\nint GLAD_GL_NV_vertex_buffer_unified_memory;\nint GLAD_GL_NV_uniform_buffer_unified_memory;\nint GLAD_GL_ARB_clear_texture;\nint GLAD_GL_ATI_texture_env_combine3;\nint GLAD_GL_NV_depth_clamp;\nint GLAD_GL_ARB_map_buffer_alignment;\nint GLAD_GL_EXT_memory_object;\nint GLAD_GL_NV_blend_equation_advanced;\nint GLAD_GL_SGIS_sharpen_texture;\nint GLAD_GL_KHR_robust_buffer_access_behavior;\nint GLAD_GL_ARB_pipeline_statistics_query;\nint GLAD_GL_ARB_vertex_program;\nint GLAD_GL_ARB_texture_rgb10_a2ui;\nint GLAD_GL_OML_interlace;\nint GLAD_GL_ATI_pixel_format_float;\nint GLAD_GL_NV_clip_space_w_scaling;\nint GLAD_GL_ARB_vertex_buffer_object;\nint GLAD_GL_EXT_shadow_funcs;\nint GLAD_GL_ATI_text_fragment_shader;\nint GLAD_GL_NV_vertex_array_range;\nint GLAD_GL_SGIX_fragment_lighting;\nint GLAD_GL_AMD_shader_ballot;\nint GLAD_GL_NV_texture_expand_normal;\nint GLAD_GL_NV_framebuffer_multisample_coverage;\nint GLAD_GL_EXT_timer_query;\nint GLAD_GL_EXT_vertex_array_bgra;\nint GLAD_GL_NV_bindless_texture;\nint GLAD_GL_KHR_debug;\nint GLAD_GL_SGIS_texture_border_clamp;\nint GLAD_GL_ATI_vertex_attrib_array_object;\nint GLAD_GL_SGIX_clipmap;\nint GLAD_GL_EXT_geometry_shader4;\nint GLAD_GL_ARB_shader_texture_image_samples;\nint GLAD_GL_MESA_ycbcr_texture;\nint GLAD_GL_MESAX_texture_stack;\nint GLAD_GL_AMD_seamless_cubemap_per_texture;\nint GLAD_GL_EXT_bindable_uniform;\nint GLAD_GL_KHR_texture_compression_astc_hdr;\nint GLAD_GL_ARB_shader_ballot;\nint GLAD_GL_KHR_blend_equation_advanced;\nint GLAD_GL_ARB_fragment_program_shadow;\nint GLAD_GL_ATI_element_array;\nint GLAD_GL_AMD_texture_texture4;\nint GLAD_GL_SGIX_reference_plane;\nint GLAD_GL_EXT_stencil_two_side;\nint GLAD_GL_ARB_transform_feedback_overflow_query;\nint GLAD_GL_SGIX_texture_lod_bias;\nint GLAD_GL_KHR_no_error;\nint GLAD_GL_NV_explicit_multisample;\nint GLAD_GL_NV_stereo_view_rendering;\nint GLAD_GL_IBM_static_data;\nint GLAD_GL_EXT_clip_volume_hint;\nint GLAD_GL_EXT_texture_perturb_normal;\nint GLAD_GL_NV_fragment_program2;\nint GLAD_GL_NV_fragment_program4;\nint GLAD_GL_EXT_point_parameters;\nint GLAD_GL_PGI_misc_hints;\nint GLAD_GL_SGIX_subsample;\nint GLAD_GL_AMD_shader_stencil_export;\nint GLAD_GL_ARB_shader_texture_lod;\nint GLAD_GL_ARB_vertex_shader;\nint GLAD_GL_ARB_depth_clamp;\nint GLAD_GL_SGIS_texture_select;\nint GLAD_GL_NV_texture_shader;\nint GLAD_GL_ARB_tessellation_shader;\nint GLAD_GL_EXT_draw_buffers2;\nint GLAD_GL_ARB_vertex_attrib_64bit;\nint GLAD_GL_EXT_texture_filter_minmax;\nint GLAD_GL_NV_query_resource;\nint GLAD_GL_AMD_interleaved_elements;\nint GLAD_GL_ARB_fragment_program;\nint GLAD_GL_OML_resample;\nint GLAD_GL_APPLE_ycbcr_422;\nint GLAD_GL_SGIX_texture_add_env;\nint GLAD_GL_ARB_shadow_ambient;\nint GLAD_GL_ARB_texture_storage;\nint GLAD_GL_EXT_pixel_buffer_object;\nint GLAD_GL_ARB_copy_image;\nint GLAD_GL_SGIS_pixel_texture;\nint GLAD_GL_SGIS_generate_mipmap;\nint GLAD_GL_SGIX_instruments;\nint GLAD_GL_ARB_fragment_layer_viewport;\nint GLAD_GL_ARB_shader_storage_buffer_object;\nint GLAD_GL_EXT_sparse_texture2;\nint GLAD_GL_EXT_blend_minmax;\nint GLAD_GL_MESA_pack_invert;\nint GLAD_GL_ARB_base_instance;\nint GLAD_GL_SGIX_convolution_accuracy;\nint GLAD_GL_PGI_vertex_hints;\nint GLAD_GL_AMD_transform_feedback4;\nint GLAD_GL_ARB_ES3_1_compatibility;\nint GLAD_GL_EXT_memory_object_win32;\nint GLAD_GL_EXT_texture_integer;\nint GLAD_GL_ARB_texture_multisample;\nint GLAD_GL_ATI_vertex_streams;\nint GLAD_GL_AMD_gpu_shader_int64;\nint GLAD_GL_S3_s3tc;\nint GLAD_GL_ARB_query_buffer_object;\nint GLAD_GL_AMD_vertex_shader_tessellator;\nint GLAD_GL_ARB_invalidate_subdata;\nint GLAD_GL_NV_draw_vulkan_image;\nint GLAD_GL_EXT_index_material;\nint GLAD_GL_NVX_linked_gpu_multicast;\nint GLAD_GL_NV_blend_equation_advanced_coherent;\nint GLAD_GL_KHR_texture_compression_astc_sliced_3d;\nint GLAD_GL_INTEL_parallel_arrays;\nint GLAD_GL_ATI_draw_buffers;\nint GLAD_GL_WIN_specular_fog;\nint GLAD_GL_EXT_cmyka;\nint GLAD_GL_SGIX_pixel_texture;\nint GLAD_GL_APPLE_specular_vector;\nint GLAD_GL_ARB_compatibility;\nint GLAD_GL_ARB_timer_query;\nint GLAD_GL_SGIX_interlace;\nint GLAD_GL_NV_parameter_buffer_object;\nint GLAD_GL_AMD_shader_trinary_minmax;\nint GLAD_GL_ARB_direct_state_access;\nint GLAD_GL_EXT_rescale_normal;\nint GLAD_GL_ARB_pixel_buffer_object;\nint GLAD_GL_ARB_uniform_buffer_object;\nint GLAD_GL_ARB_vertex_type_10f_11f_11f_rev;\nint GLAD_GL_ARB_texture_swizzle;\nint GLAD_GL_NV_transform_feedback2;\nint GLAD_GL_SGIX_async_pixel;\nint GLAD_GL_NV_fragment_program_option;\nint GLAD_GL_ARB_explicit_attrib_location;\nint GLAD_GL_EXT_blend_color;\nint GLAD_GL_NV_shader_thread_group;\nint GLAD_GL_EXT_stencil_wrap;\nint GLAD_GL_EXT_index_array_formats;\nint GLAD_GL_OVR_multiview2;\nint GLAD_GL_EXT_histogram;\nint GLAD_GL_EXT_polygon_offset;\nint GLAD_GL_SGIS_point_parameters;\nint GLAD_GL_SGIX_ycrcb;\nint GLAD_GL_EXT_direct_state_access;\nint GLAD_GL_ARB_cull_distance;\nint GLAD_GL_AMD_sample_positions;\nint GLAD_GL_NV_vertex_program;\nint GLAD_GL_NV_shader_thread_shuffle;\nint GLAD_GL_ARB_shader_precision;\nint GLAD_GL_EXT_vertex_shader;\nint GLAD_GL_EXT_blend_func_separate;\nint GLAD_GL_APPLE_fence;\nint GLAD_GL_NV_query_resource_tag;\nint GLAD_GL_OES_byte_coordinates;\nint GLAD_GL_ARB_transpose_matrix;\nint GLAD_GL_ARB_provoking_vertex;\nint GLAD_GL_EXT_fog_coord;\nint GLAD_GL_EXT_vertex_array;\nint GLAD_GL_ARB_half_float_vertex;\nint GLAD_GL_EXT_blend_equation_separate;\nint GLAD_GL_NV_framebuffer_mixed_samples;\nint GLAD_GL_NVX_conditional_render;\nint GLAD_GL_ARB_multi_draw_indirect;\nint GLAD_GL_EXT_raster_multisample;\nint GLAD_GL_NV_copy_image;\nint GLAD_GL_HP_texture_lighting;\nint GLAD_GL_INTEL_framebuffer_CMAA;\nint GLAD_GL_ARB_transform_feedback2;\nint GLAD_GL_ARB_transform_feedback3;\nint GLAD_GL_SGIX_ycrcba;\nint GLAD_GL_EXT_debug_marker;\nint GLAD_GL_EXT_bgra;\nint GLAD_GL_ARB_sparse_texture_clamp;\nint GLAD_GL_EXT_pixel_transform;\nint GLAD_GL_ARB_conservative_depth;\nint GLAD_GL_ATI_fragment_shader;\nint GLAD_GL_ARB_vertex_array_object;\nint GLAD_GL_SUN_triangle_list;\nint GLAD_GL_EXT_texture_env_add;\nint GLAD_GL_EXT_packed_depth_stencil;\nint GLAD_GL_EXT_texture_mirror_clamp;\nint GLAD_GL_NV_multisample_filter_hint;\nint GLAD_GL_APPLE_float_pixels;\nint GLAD_GL_ARB_transform_feedback_instanced;\nint GLAD_GL_SGIX_async;\nint GLAD_GL_EXT_texture_compression_latc;\nint GLAD_GL_NV_robustness_video_memory_purge;\nint GLAD_GL_ARB_shading_language_100;\nint GLAD_GL_INTEL_performance_query;\nint GLAD_GL_ARB_texture_mirror_clamp_to_edge;\nint GLAD_GL_NV_gpu_shader5;\nint GLAD_GL_NV_bindless_multi_draw_indirect_count;\nint GLAD_GL_ARB_ES2_compatibility;\nint GLAD_GL_ARB_indirect_parameters;\nint GLAD_GL_EXT_window_rectangles;\nint GLAD_GL_NV_half_float;\nint GLAD_GL_ARB_ES3_2_compatibility;\nint GLAD_GL_ATI_texture_mirror_once;\nint GLAD_GL_IBM_rasterpos_clip;\nint GLAD_GL_EXT_semaphore;\nint GLAD_GL_SGIX_shadow;\nint GLAD_GL_EXT_polygon_offset_clamp;\nint GLAD_GL_NV_deep_texture3D;\nint GLAD_GL_ARB_shader_draw_parameters;\nint GLAD_GL_SGIX_calligraphic_fragment;\nint GLAD_GL_ARB_shader_bit_encoding;\nint GLAD_GL_EXT_compiled_vertex_array;\nint GLAD_GL_NV_depth_buffer_float;\nint GLAD_GL_NV_occlusion_query;\nint GLAD_GL_APPLE_flush_buffer_range;\nint GLAD_GL_ARB_imaging;\nint GLAD_GL_NV_shader_atomic_float;\nint GLAD_GL_ARB_draw_buffers_blend;\nint GLAD_GL_AMD_gcn_shader;\nint GLAD_GL_AMD_blend_minmax_factor;\nint GLAD_GL_EXT_texture_sRGB_decode;\nint GLAD_GL_ARB_shading_language_420pack;\nint GLAD_GL_ARB_shader_viewport_layer_array;\nint GLAD_GL_ATI_meminfo;\nint GLAD_GL_EXT_abgr;\nint GLAD_GL_AMD_pinned_memory;\nint GLAD_GL_EXT_texture_snorm;\nint GLAD_GL_SGIX_texture_coordinate_clamp;\nint GLAD_GL_ARB_clear_buffer_object;\nint GLAD_GL_ARB_multisample;\nint GLAD_GL_EXT_debug_label;\nint GLAD_GL_ARB_sample_shading;\nint GLAD_GL_NV_internalformat_sample_query;\nint GLAD_GL_INTEL_map_texture;\nint GLAD_GL_ARB_texture_env_crossbar;\nint GLAD_GL_EXT_422_pixels;\nint GLAD_GL_NV_blend_minmax_factor;\nint GLAD_GL_NV_conservative_raster_pre_snap_triangles;\nint GLAD_GL_ARB_compute_shader;\nint GLAD_GL_EXT_blend_logic_op;\nint GLAD_GL_ARB_blend_func_extended;\nint GLAD_GL_IBM_vertex_array_lists;\nint GLAD_GL_ARB_color_buffer_float;\nint GLAD_GL_ARB_bindless_texture;\nint GLAD_GL_ARB_window_pos;\nint GLAD_GL_ARB_internalformat_query;\nint GLAD_GL_ARB_shadow;\nint GLAD_GL_ARB_texture_mirrored_repeat;\nint GLAD_GL_EXT_shader_image_load_store;\nint GLAD_GL_EXT_copy_texture;\nint GLAD_GL_NV_register_combiners2;\nint GLAD_GL_SGIX_ycrcb_subsample;\nint GLAD_GL_NV_alpha_to_coverage_dither_control;\nint GLAD_GL_SGIX_ir_instrument1;\nint GLAD_GL_NV_draw_texture;\nint GLAD_GL_EXT_texture_shared_exponent;\nint GLAD_GL_NV_texture_shader2;\nint GLAD_GL_EXT_draw_instanced;\nint GLAD_GL_NV_copy_depth_to_color;\nint GLAD_GL_ARB_viewport_array;\nint GLAD_GL_ARB_separate_shader_objects;\nint GLAD_GL_EXT_depth_bounds_test;\nint GLAD_GL_HP_image_transform;\nint GLAD_GL_ARB_texture_env_add;\nint GLAD_GL_NV_video_capture;\nint GLAD_GL_ARB_sampler_objects;\nint GLAD_GL_ARB_matrix_palette;\nint GLAD_GL_SGIS_texture_color_mask;\nint GLAD_GL_EXT_packed_pixels;\nint GLAD_GL_EXT_coordinate_frame;\nint GLAD_GL_ARB_texture_compression;\nint GLAD_GL_ARB_multi_bind;\nint GLAD_GL_APPLE_aux_depth_stencil;\nint GLAD_GL_ARB_shader_subroutine;\nint GLAD_GL_EXT_framebuffer_sRGB;\nint GLAD_GL_ARB_texture_storage_multisample;\nint GLAD_GL_KHR_blend_equation_advanced_coherent;\nint GLAD_GL_EXT_vertex_attrib_64bit;\nint GLAD_GL_NV_shader_atomic_float64;\nint GLAD_GL_ARB_depth_texture;\nint GLAD_GL_NV_shader_buffer_store;\nint GLAD_GL_OES_query_matrix;\nint GLAD_GL_MESA_window_pos;\nint GLAD_GL_NV_fill_rectangle;\nint GLAD_GL_NV_shader_storage_buffer_object;\nint GLAD_GL_ARB_texture_query_lod;\nint GLAD_GL_ARB_copy_buffer;\nint GLAD_GL_ARB_shader_image_size;\nint GLAD_GL_NV_shader_atomic_counters;\nint GLAD_GL_APPLE_object_purgeable;\nint GLAD_GL_ARB_occlusion_query;\nint GLAD_GL_INGR_color_clamp;\nint GLAD_GL_SGI_color_table;\nint GLAD_GL_NV_gpu_program5_mem_extended;\nint GLAD_GL_ARB_texture_cube_map_array;\nint GLAD_GL_SGIX_scalebias_hint;\nint GLAD_GL_EXT_gpu_shader4;\nint GLAD_GL_NV_geometry_program4;\nint GLAD_GL_EXT_framebuffer_multisample_blit_scaled;\nint GLAD_GL_AMD_debug_output;\nint GLAD_GL_ARB_texture_border_clamp;\nint GLAD_GL_EXT_win32_keyed_mutex;\nint GLAD_GL_ARB_fragment_coord_conventions;\nint GLAD_GL_ARB_multitexture;\nint GLAD_GL_SGIX_polynomial_ffd;\nint GLAD_GL_EXT_texture_env_dot3;\nint GLAD_GL_EXT_provoking_vertex;\nint GLAD_GL_ARB_point_parameters;\nint GLAD_GL_ARB_shader_image_load_store;\nint GLAD_GL_ARB_conditional_render_inverted;\nint GLAD_GL_HP_occlusion_test;\nint GLAD_GL_ARB_ES3_compatibility;\nint GLAD_GL_ARB_texture_barrier;\nint GLAD_GL_ARB_texture_buffer_object_rgb32;\nint GLAD_GL_NV_bindless_multi_draw_indirect;\nint GLAD_GL_SGIX_texture_multi_buffer;\nint GLAD_GL_AMD_shader_image_load_store_lod;\nint GLAD_GL_KHR_texture_compression_astc_ldr;\nint GLAD_GL_3DFX_multisample;\nint GLAD_GL_INTEL_fragment_shader_ordering;\nint GLAD_GL_ARB_texture_env_dot3;\nint GLAD_GL_NV_gpu_program4;\nint GLAD_GL_NV_gpu_program5;\nint GLAD_GL_NV_float_buffer;\nint GLAD_GL_SGIS_texture_edge_clamp;\nint GLAD_GL_ARB_framebuffer_sRGB;\nint GLAD_GL_SUN_slice_accum;\nint GLAD_GL_EXT_index_texture;\nint GLAD_GL_EXT_shader_image_load_formatted;\nint GLAD_GL_ARB_geometry_shader4;\nint GLAD_GL_EXT_separate_specular_color;\nint GLAD_GL_AMD_depth_clamp_separate;\nint GLAD_GL_NV_conservative_raster;\nint GLAD_GL_ARB_sparse_texture2;\nint GLAD_GL_SGIX_sprite;\nint GLAD_GL_ARB_get_program_binary;\nint GLAD_GL_AMD_occlusion_query_event;\nint GLAD_GL_SGIS_multisample;\nint GLAD_GL_EXT_framebuffer_object;\nint GLAD_GL_ARB_robustness_isolation;\nint GLAD_GL_ARB_vertex_array_bgra;\nint GLAD_GL_APPLE_vertex_array_range;\nint GLAD_GL_AMD_query_buffer_object;\nint GLAD_GL_NV_register_combiners;\nint GLAD_GL_ARB_draw_buffers;\nint GLAD_GL_NVX_blend_equation_advanced_multi_draw_buffers;\nint GLAD_GL_AMD_gpu_shader_int16;\nint GLAD_GL_ARB_debug_output;\nint GLAD_GL_SGI_color_matrix;\nint GLAD_GL_EXT_cull_vertex;\nint GLAD_GL_EXT_texture_sRGB;\nint GLAD_GL_APPLE_row_bytes;\nint GLAD_GL_NV_texgen_reflection;\nint GLAD_GL_IBM_multimode_draw_arrays;\nint GLAD_GL_KHR_parallel_shader_compile;\nint GLAD_GL_APPLE_vertex_array_object;\nint GLAD_GL_3DFX_texture_compression_FXT1;\nint GLAD_GL_NV_fragment_shader_interlock;\nint GLAD_GL_AMD_conservative_depth;\nint GLAD_GL_ARB_texture_float;\nint GLAD_GL_ARB_compressed_texture_pixel_storage;\nint GLAD_GL_SGIS_detail_texture;\nint GLAD_GL_NV_geometry_shader_passthrough;\nint GLAD_GL_ARB_draw_instanced;\nint GLAD_GL_OES_read_format;\nint GLAD_GL_ATI_texture_float;\nint GLAD_GL_ARB_texture_gather;\nint GLAD_GL_AMD_vertex_shader_layer;\nint GLAD_GL_ARB_shading_language_include;\nint GLAD_GL_APPLE_client_storage;\nint GLAD_GL_WIN_phong_shading;\nint GLAD_GL_INGR_blend_func_separate;\nint GLAD_GL_NV_path_rendering;\nint GLAD_GL_NV_conservative_raster_dilate;\nint GLAD_GL_AMD_gpu_shader_half_float;\nint GLAD_GL_ARB_post_depth_coverage;\nint GLAD_GL_ARB_texture_non_power_of_two;\nint GLAD_GL_APPLE_rgb_422;\nint GLAD_GL_EXT_texture_lod_bias;\nint GLAD_GL_ARB_gpu_shader_int64;\nint GLAD_GL_ARB_seamless_cube_map;\nint GLAD_GL_ARB_shader_group_vote;\nint GLAD_GL_NV_vdpau_interop;\nint GLAD_GL_ARB_occlusion_query2;\nint GLAD_GL_ARB_internalformat_query2;\nint GLAD_GL_EXT_texture_filter_anisotropic;\nint GLAD_GL_SUN_vertex;\nint GLAD_GL_EXT_transform_feedback;\nint GLAD_GL_SGIX_igloo_interface;\nint GLAD_GL_SGIS_texture_lod;\nint GLAD_GL_NV_vertex_program3;\nint GLAD_GL_ARB_draw_indirect;\nint GLAD_GL_NV_vertex_program4;\nint GLAD_GL_AMD_transform_feedback3_lines_triangles;\nint GLAD_GL_SGIS_fog_function;\nint GLAD_GL_EXT_x11_sync_object;\nint GLAD_GL_ARB_sync;\nint GLAD_GL_NV_texture_rectangle_compressed;\nint GLAD_GL_NV_sample_locations;\nint GLAD_GL_NV_gpu_multicast;\nint GLAD_GL_ARB_gl_spirv;\nint GLAD_GL_ARB_compute_variable_group_size;\nint GLAD_GL_OES_fixed_point;\nint GLAD_GL_NV_blend_square;\nint GLAD_GL_EXT_framebuffer_multisample;\nint GLAD_GL_ARB_gpu_shader5;\nint GLAD_GL_SGIS_texture4D;\nint GLAD_GL_EXT_texture3D;\nint GLAD_GL_EXT_multisample;\nint GLAD_GL_EXT_secondary_color;\nint GLAD_GL_INTEL_conservative_rasterization;\nint GLAD_GL_ARB_texture_filter_minmax;\nint GLAD_GL_ATI_vertex_array_object;\nint GLAD_GL_ARB_parallel_shader_compile;\nint GLAD_GL_NVX_gpu_memory_info;\nint GLAD_GL_ARB_sparse_texture;\nint GLAD_GL_SGIS_point_line_texgen;\nint GLAD_GL_ARB_sample_locations;\nint GLAD_GL_ARB_sparse_buffer;\nint GLAD_GL_ARB_polygon_offset_clamp;\nint GLAD_GL_EXT_draw_range_elements;\nint GLAD_GL_SGIX_blend_alpha_minmax;\nint GLAD_GL_KHR_context_flush_control;\nPFNGLTBUFFERMASK3DFXPROC glad_glTbufferMask3DFX;\nPFNGLDEBUGMESSAGEENABLEAMDPROC glad_glDebugMessageEnableAMD;\nPFNGLDEBUGMESSAGEINSERTAMDPROC glad_glDebugMessageInsertAMD;\nPFNGLDEBUGMESSAGECALLBACKAMDPROC glad_glDebugMessageCallbackAMD;\nPFNGLGETDEBUGMESSAGELOGAMDPROC glad_glGetDebugMessageLogAMD;\nPFNGLBLENDFUNCINDEXEDAMDPROC glad_glBlendFuncIndexedAMD;\nPFNGLBLENDFUNCSEPARATEINDEXEDAMDPROC glad_glBlendFuncSeparateIndexedAMD;\nPFNGLBLENDEQUATIONINDEXEDAMDPROC glad_glBlendEquationIndexedAMD;\nPFNGLBLENDEQUATIONSEPARATEINDEXEDAMDPROC glad_glBlendEquationSeparateIndexedAMD;\nPFNGLFRAMEBUFFERSAMPLEPOSITIONSFVAMDPROC glad_glFramebufferSamplePositionsfvAMD;\nPFNGLNAMEDFRAMEBUFFERSAMPLEPOSITIONSFVAMDPROC glad_glNamedFramebufferSamplePositionsfvAMD;\nPFNGLGETFRAMEBUFFERPARAMETERFVAMDPROC glad_glGetFramebufferParameterfvAMD;\nPFNGLGETNAMEDFRAMEBUFFERPARAMETERFVAMDPROC glad_glGetNamedFramebufferParameterfvAMD;\nPFNGLUNIFORM1I64NVPROC glad_glUniform1i64NV;\nPFNGLUNIFORM2I64NVPROC glad_glUniform2i64NV;\nPFNGLUNIFORM3I64NVPROC glad_glUniform3i64NV;\nPFNGLUNIFORM4I64NVPROC glad_glUniform4i64NV;\nPFNGLUNIFORM1I64VNVPROC glad_glUniform1i64vNV;\nPFNGLUNIFORM2I64VNVPROC glad_glUniform2i64vNV;\nPFNGLUNIFORM3I64VNVPROC glad_glUniform3i64vNV;\nPFNGLUNIFORM4I64VNVPROC glad_glUniform4i64vNV;\nPFNGLUNIFORM1UI64NVPROC glad_glUniform1ui64NV;\nPFNGLUNIFORM2UI64NVPROC glad_glUniform2ui64NV;\nPFNGLUNIFORM3UI64NVPROC glad_glUniform3ui64NV;\nPFNGLUNIFORM4UI64NVPROC glad_glUniform4ui64NV;\nPFNGLUNIFORM1UI64VNVPROC glad_glUniform1ui64vNV;\nPFNGLUNIFORM2UI64VNVPROC glad_glUniform2ui64vNV;\nPFNGLUNIFORM3UI64VNVPROC glad_glUniform3ui64vNV;\nPFNGLUNIFORM4UI64VNVPROC glad_glUniform4ui64vNV;\nPFNGLGETUNIFORMI64VNVPROC glad_glGetUniformi64vNV;\nPFNGLGETUNIFORMUI64VNVPROC glad_glGetUniformui64vNV;\nPFNGLPROGRAMUNIFORM1I64NVPROC glad_glProgramUniform1i64NV;\nPFNGLPROGRAMUNIFORM2I64NVPROC glad_glProgramUniform2i64NV;\nPFNGLPROGRAMUNIFORM3I64NVPROC glad_glProgramUniform3i64NV;\nPFNGLPROGRAMUNIFORM4I64NVPROC glad_glProgramUniform4i64NV;\nPFNGLPROGRAMUNIFORM1I64VNVPROC glad_glProgramUniform1i64vNV;\nPFNGLPROGRAMUNIFORM2I64VNVPROC glad_glProgramUniform2i64vNV;\nPFNGLPROGRAMUNIFORM3I64VNVPROC glad_glProgramUniform3i64vNV;\nPFNGLPROGRAMUNIFORM4I64VNVPROC glad_glProgramUniform4i64vNV;\nPFNGLPROGRAMUNIFORM1UI64NVPROC glad_glProgramUniform1ui64NV;\nPFNGLPROGRAMUNIFORM2UI64NVPROC glad_glProgramUniform2ui64NV;\nPFNGLPROGRAMUNIFORM3UI64NVPROC glad_glProgramUniform3ui64NV;\nPFNGLPROGRAMUNIFORM4UI64NVPROC glad_glProgramUniform4ui64NV;\nPFNGLPROGRAMUNIFORM1UI64VNVPROC glad_glProgramUniform1ui64vNV;\nPFNGLPROGRAMUNIFORM2UI64VNVPROC glad_glProgramUniform2ui64vNV;\nPFNGLPROGRAMUNIFORM3UI64VNVPROC glad_glProgramUniform3ui64vNV;\nPFNGLPROGRAMUNIFORM4UI64VNVPROC glad_glProgramUniform4ui64vNV;\nPFNGLVERTEXATTRIBPARAMETERIAMDPROC glad_glVertexAttribParameteriAMD;\nPFNGLMULTIDRAWARRAYSINDIRECTAMDPROC glad_glMultiDrawArraysIndirectAMD;\nPFNGLMULTIDRAWELEMENTSINDIRECTAMDPROC glad_glMultiDrawElementsIndirectAMD;\nPFNGLGENNAMESAMDPROC glad_glGenNamesAMD;\nPFNGLDELETENAMESAMDPROC glad_glDeleteNamesAMD;\nPFNGLISNAMEAMDPROC glad_glIsNameAMD;\nPFNGLQUERYOBJECTPARAMETERUIAMDPROC glad_glQueryObjectParameteruiAMD;\nPFNGLGETPERFMONITORGROUPSAMDPROC glad_glGetPerfMonitorGroupsAMD;\nPFNGLGETPERFMONITORCOUNTERSAMDPROC glad_glGetPerfMonitorCountersAMD;\nPFNGLGETPERFMONITORGROUPSTRINGAMDPROC glad_glGetPerfMonitorGroupStringAMD;\nPFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC glad_glGetPerfMonitorCounterStringAMD;\nPFNGLGETPERFMONITORCOUNTERINFOAMDPROC glad_glGetPerfMonitorCounterInfoAMD;\nPFNGLGENPERFMONITORSAMDPROC glad_glGenPerfMonitorsAMD;\nPFNGLDELETEPERFMONITORSAMDPROC glad_glDeletePerfMonitorsAMD;\nPFNGLSELECTPERFMONITORCOUNTERSAMDPROC glad_glSelectPerfMonitorCountersAMD;\nPFNGLBEGINPERFMONITORAMDPROC glad_glBeginPerfMonitorAMD;\nPFNGLENDPERFMONITORAMDPROC glad_glEndPerfMonitorAMD;\nPFNGLGETPERFMONITORCOUNTERDATAAMDPROC glad_glGetPerfMonitorCounterDataAMD;\nPFNGLSETMULTISAMPLEFVAMDPROC glad_glSetMultisamplefvAMD;\nPFNGLTEXSTORAGESPARSEAMDPROC glad_glTexStorageSparseAMD;\nPFNGLTEXTURESTORAGESPARSEAMDPROC glad_glTextureStorageSparseAMD;\nPFNGLSTENCILOPVALUEAMDPROC glad_glStencilOpValueAMD;\nPFNGLTESSELLATIONFACTORAMDPROC glad_glTessellationFactorAMD;\nPFNGLTESSELLATIONMODEAMDPROC glad_glTessellationModeAMD;\nPFNGLELEMENTPOINTERAPPLEPROC glad_glElementPointerAPPLE;\nPFNGLDRAWELEMENTARRAYAPPLEPROC glad_glDrawElementArrayAPPLE;\nPFNGLDRAWRANGEELEMENTARRAYAPPLEPROC glad_glDrawRangeElementArrayAPPLE;\nPFNGLMULTIDRAWELEMENTARRAYAPPLEPROC glad_glMultiDrawElementArrayAPPLE;\nPFNGLMULTIDRAWRANGEELEMENTARRAYAPPLEPROC glad_glMultiDrawRangeElementArrayAPPLE;\nPFNGLGENFENCESAPPLEPROC glad_glGenFencesAPPLE;\nPFNGLDELETEFENCESAPPLEPROC glad_glDeleteFencesAPPLE;\nPFNGLSETFENCEAPPLEPROC glad_glSetFenceAPPLE;\nPFNGLISFENCEAPPLEPROC glad_glIsFenceAPPLE;\nPFNGLTESTFENCEAPPLEPROC glad_glTestFenceAPPLE;\nPFNGLFINISHFENCEAPPLEPROC glad_glFinishFenceAPPLE;\nPFNGLTESTOBJECTAPPLEPROC glad_glTestObjectAPPLE;\nPFNGLFINISHOBJECTAPPLEPROC glad_glFinishObjectAPPLE;\nPFNGLBUFFERPARAMETERIAPPLEPROC glad_glBufferParameteriAPPLE;\nPFNGLFLUSHMAPPEDBUFFERRANGEAPPLEPROC glad_glFlushMappedBufferRangeAPPLE;\nPFNGLOBJECTPURGEABLEAPPLEPROC glad_glObjectPurgeableAPPLE;\nPFNGLOBJECTUNPURGEABLEAPPLEPROC glad_glObjectUnpurgeableAPPLE;\nPFNGLGETOBJECTPARAMETERIVAPPLEPROC glad_glGetObjectParameterivAPPLE;\nPFNGLTEXTURERANGEAPPLEPROC glad_glTextureRangeAPPLE;\nPFNGLGETTEXPARAMETERPOINTERVAPPLEPROC glad_glGetTexParameterPointervAPPLE;\nPFNGLBINDVERTEXARRAYAPPLEPROC glad_glBindVertexArrayAPPLE;\nPFNGLDELETEVERTEXARRAYSAPPLEPROC glad_glDeleteVertexArraysAPPLE;\nPFNGLGENVERTEXARRAYSAPPLEPROC glad_glGenVertexArraysAPPLE;\nPFNGLISVERTEXARRAYAPPLEPROC glad_glIsVertexArrayAPPLE;\nPFNGLVERTEXARRAYRANGEAPPLEPROC glad_glVertexArrayRangeAPPLE;\nPFNGLFLUSHVERTEXARRAYRANGEAPPLEPROC glad_glFlushVertexArrayRangeAPPLE;\nPFNGLVERTEXARRAYPARAMETERIAPPLEPROC glad_glVertexArrayParameteriAPPLE;\nPFNGLENABLEVERTEXATTRIBAPPLEPROC glad_glEnableVertexAttribAPPLE;\nPFNGLDISABLEVERTEXATTRIBAPPLEPROC glad_glDisableVertexAttribAPPLE;\nPFNGLISVERTEXATTRIBENABLEDAPPLEPROC glad_glIsVertexAttribEnabledAPPLE;\nPFNGLMAPVERTEXATTRIB1DAPPLEPROC glad_glMapVertexAttrib1dAPPLE;\nPFNGLMAPVERTEXATTRIB1FAPPLEPROC glad_glMapVertexAttrib1fAPPLE;\nPFNGLMAPVERTEXATTRIB2DAPPLEPROC glad_glMapVertexAttrib2dAPPLE;\nPFNGLMAPVERTEXATTRIB2FAPPLEPROC glad_glMapVertexAttrib2fAPPLE;\nPFNGLPRIMITIVEBOUNDINGBOXARBPROC glad_glPrimitiveBoundingBoxARB;\nPFNGLGETTEXTUREHANDLEARBPROC glad_glGetTextureHandleARB;\nPFNGLGETTEXTURESAMPLERHANDLEARBPROC glad_glGetTextureSamplerHandleARB;\nPFNGLMAKETEXTUREHANDLERESIDENTARBPROC glad_glMakeTextureHandleResidentARB;\nPFNGLMAKETEXTUREHANDLENONRESIDENTARBPROC glad_glMakeTextureHandleNonResidentARB;\nPFNGLGETIMAGEHANDLEARBPROC glad_glGetImageHandleARB;\nPFNGLMAKEIMAGEHANDLERESIDENTARBPROC glad_glMakeImageHandleResidentARB;\nPFNGLMAKEIMAGEHANDLENONRESIDENTARBPROC glad_glMakeImageHandleNonResidentARB;\nPFNGLUNIFORMHANDLEUI64ARBPROC glad_glUniformHandleui64ARB;\nPFNGLUNIFORMHANDLEUI64VARBPROC glad_glUniformHandleui64vARB;\nPFNGLPROGRAMUNIFORMHANDLEUI64ARBPROC glad_glProgramUniformHandleui64ARB;\nPFNGLPROGRAMUNIFORMHANDLEUI64VARBPROC glad_glProgramUniformHandleui64vARB;\nPFNGLISTEXTUREHANDLERESIDENTARBPROC glad_glIsTextureHandleResidentARB;\nPFNGLISIMAGEHANDLERESIDENTARBPROC glad_glIsImageHandleResidentARB;\nPFNGLVERTEXATTRIBL1UI64ARBPROC glad_glVertexAttribL1ui64ARB;\nPFNGLVERTEXATTRIBL1UI64VARBPROC glad_glVertexAttribL1ui64vARB;\nPFNGLGETVERTEXATTRIBLUI64VARBPROC glad_glGetVertexAttribLui64vARB;\nPFNGLCREATESYNCFROMCLEVENTARBPROC glad_glCreateSyncFromCLeventARB;\nPFNGLCLAMPCOLORARBPROC glad_glClampColorARB;\nPFNGLDISPATCHCOMPUTEGROUPSIZEARBPROC glad_glDispatchComputeGroupSizeARB;\nPFNGLDEBUGMESSAGECONTROLARBPROC glad_glDebugMessageControlARB;\nPFNGLDEBUGMESSAGEINSERTARBPROC glad_glDebugMessageInsertARB;\nPFNGLDEBUGMESSAGECALLBACKARBPROC glad_glDebugMessageCallbackARB;\nPFNGLGETDEBUGMESSAGELOGARBPROC glad_glGetDebugMessageLogARB;\nPFNGLDRAWBUFFERSARBPROC glad_glDrawBuffersARB;\nPFNGLBLENDEQUATIONIARBPROC glad_glBlendEquationiARB;\nPFNGLBLENDEQUATIONSEPARATEIARBPROC glad_glBlendEquationSeparateiARB;\nPFNGLBLENDFUNCIARBPROC glad_glBlendFunciARB;\nPFNGLBLENDFUNCSEPARATEIARBPROC glad_glBlendFuncSeparateiARB;\nPFNGLDRAWARRAYSINSTANCEDARBPROC glad_glDrawArraysInstancedARB;\nPFNGLDRAWELEMENTSINSTANCEDARBPROC glad_glDrawElementsInstancedARB;\nPFNGLPROGRAMSTRINGARBPROC glad_glProgramStringARB;\nPFNGLBINDPROGRAMARBPROC glad_glBindProgramARB;\nPFNGLDELETEPROGRAMSARBPROC glad_glDeleteProgramsARB;\nPFNGLGENPROGRAMSARBPROC glad_glGenProgramsARB;\nPFNGLPROGRAMENVPARAMETER4DARBPROC glad_glProgramEnvParameter4dARB;\nPFNGLPROGRAMENVPARAMETER4DVARBPROC glad_glProgramEnvParameter4dvARB;\nPFNGLPROGRAMENVPARAMETER4FARBPROC glad_glProgramEnvParameter4fARB;\nPFNGLPROGRAMENVPARAMETER4FVARBPROC glad_glProgramEnvParameter4fvARB;\nPFNGLPROGRAMLOCALPARAMETER4DARBPROC glad_glProgramLocalParameter4dARB;\nPFNGLPROGRAMLOCALPARAMETER4DVARBPROC glad_glProgramLocalParameter4dvARB;\nPFNGLPROGRAMLOCALPARAMETER4FARBPROC glad_glProgramLocalParameter4fARB;\nPFNGLPROGRAMLOCALPARAMETER4FVARBPROC glad_glProgramLocalParameter4fvARB;\nPFNGLGETPROGRAMENVPARAMETERDVARBPROC glad_glGetProgramEnvParameterdvARB;\nPFNGLGETPROGRAMENVPARAMETERFVARBPROC glad_glGetProgramEnvParameterfvARB;\nPFNGLGETPROGRAMLOCALPARAMETERDVARBPROC glad_glGetProgramLocalParameterdvARB;\nPFNGLGETPROGRAMLOCALPARAMETERFVARBPROC glad_glGetProgramLocalParameterfvARB;\nPFNGLGETPROGRAMIVARBPROC glad_glGetProgramivARB;\nPFNGLGETPROGRAMSTRINGARBPROC glad_glGetProgramStringARB;\nPFNGLISPROGRAMARBPROC glad_glIsProgramARB;\nPFNGLPROGRAMPARAMETERIARBPROC glad_glProgramParameteriARB;\nPFNGLFRAMEBUFFERTEXTUREARBPROC glad_glFramebufferTextureARB;\nPFNGLFRAMEBUFFERTEXTURELAYERARBPROC glad_glFramebufferTextureLayerARB;\nPFNGLFRAMEBUFFERTEXTUREFACEARBPROC glad_glFramebufferTextureFaceARB;\nPFNGLSPECIALIZESHADERARBPROC glad_glSpecializeShaderARB;\nPFNGLUNIFORM1I64ARBPROC glad_glUniform1i64ARB;\nPFNGLUNIFORM2I64ARBPROC glad_glUniform2i64ARB;\nPFNGLUNIFORM3I64ARBPROC glad_glUniform3i64ARB;\nPFNGLUNIFORM4I64ARBPROC glad_glUniform4i64ARB;\nPFNGLUNIFORM1I64VARBPROC glad_glUniform1i64vARB;\nPFNGLUNIFORM2I64VARBPROC glad_glUniform2i64vARB;\nPFNGLUNIFORM3I64VARBPROC glad_glUniform3i64vARB;\nPFNGLUNIFORM4I64VARBPROC glad_glUniform4i64vARB;\nPFNGLUNIFORM1UI64ARBPROC glad_glUniform1ui64ARB;\nPFNGLUNIFORM2UI64ARBPROC glad_glUniform2ui64ARB;\nPFNGLUNIFORM3UI64ARBPROC glad_glUniform3ui64ARB;\nPFNGLUNIFORM4UI64ARBPROC glad_glUniform4ui64ARB;\nPFNGLUNIFORM1UI64VARBPROC glad_glUniform1ui64vARB;\nPFNGLUNIFORM2UI64VARBPROC glad_glUniform2ui64vARB;\nPFNGLUNIFORM3UI64VARBPROC glad_glUniform3ui64vARB;\nPFNGLUNIFORM4UI64VARBPROC glad_glUniform4ui64vARB;\nPFNGLGETUNIFORMI64VARBPROC glad_glGetUniformi64vARB;\nPFNGLGETUNIFORMUI64VARBPROC glad_glGetUniformui64vARB;\nPFNGLGETNUNIFORMI64VARBPROC glad_glGetnUniformi64vARB;\nPFNGLGETNUNIFORMUI64VARBPROC glad_glGetnUniformui64vARB;\nPFNGLPROGRAMUNIFORM1I64ARBPROC glad_glProgramUniform1i64ARB;\nPFNGLPROGRAMUNIFORM2I64ARBPROC glad_glProgramUniform2i64ARB;\nPFNGLPROGRAMUNIFORM3I64ARBPROC glad_glProgramUniform3i64ARB;\nPFNGLPROGRAMUNIFORM4I64ARBPROC glad_glProgramUniform4i64ARB;\nPFNGLPROGRAMUNIFORM1I64VARBPROC glad_glProgramUniform1i64vARB;\nPFNGLPROGRAMUNIFORM2I64VARBPROC glad_glProgramUniform2i64vARB;\nPFNGLPROGRAMUNIFORM3I64VARBPROC glad_glProgramUniform3i64vARB;\nPFNGLPROGRAMUNIFORM4I64VARBPROC glad_glProgramUniform4i64vARB;\nPFNGLPROGRAMUNIFORM1UI64ARBPROC glad_glProgramUniform1ui64ARB;\nPFNGLPROGRAMUNIFORM2UI64ARBPROC glad_glProgramUniform2ui64ARB;\nPFNGLPROGRAMUNIFORM3UI64ARBPROC glad_glProgramUniform3ui64ARB;\nPFNGLPROGRAMUNIFORM4UI64ARBPROC glad_glProgramUniform4ui64ARB;\nPFNGLPROGRAMUNIFORM1UI64VARBPROC glad_glProgramUniform1ui64vARB;\nPFNGLPROGRAMUNIFORM2UI64VARBPROC glad_glProgramUniform2ui64vARB;\nPFNGLPROGRAMUNIFORM3UI64VARBPROC glad_glProgramUniform3ui64vARB;\nPFNGLPROGRAMUNIFORM4UI64VARBPROC glad_glProgramUniform4ui64vARB;\nPFNGLCOLORTABLEPROC glad_glColorTable;\nPFNGLCOLORTABLEPARAMETERFVPROC glad_glColorTableParameterfv;\nPFNGLCOLORTABLEPARAMETERIVPROC glad_glColorTableParameteriv;\nPFNGLCOPYCOLORTABLEPROC glad_glCopyColorTable;\nPFNGLGETCOLORTABLEPROC glad_glGetColorTable;\nPFNGLGETCOLORTABLEPARAMETERFVPROC glad_glGetColorTableParameterfv;\nPFNGLGETCOLORTABLEPARAMETERIVPROC glad_glGetColorTableParameteriv;\nPFNGLCOLORSUBTABLEPROC glad_glColorSubTable;\nPFNGLCOPYCOLORSUBTABLEPROC glad_glCopyColorSubTable;\nPFNGLCONVOLUTIONFILTER1DPROC glad_glConvolutionFilter1D;\nPFNGLCONVOLUTIONFILTER2DPROC glad_glConvolutionFilter2D;\nPFNGLCONVOLUTIONPARAMETERFPROC glad_glConvolutionParameterf;\nPFNGLCONVOLUTIONPARAMETERFVPROC glad_glConvolutionParameterfv;\nPFNGLCONVOLUTIONPARAMETERIPROC glad_glConvolutionParameteri;\nPFNGLCONVOLUTIONPARAMETERIVPROC glad_glConvolutionParameteriv;\nPFNGLCOPYCONVOLUTIONFILTER1DPROC glad_glCopyConvolutionFilter1D;\nPFNGLCOPYCONVOLUTIONFILTER2DPROC glad_glCopyConvolutionFilter2D;\nPFNGLGETCONVOLUTIONFILTERPROC glad_glGetConvolutionFilter;\nPFNGLGETCONVOLUTIONPARAMETERFVPROC glad_glGetConvolutionParameterfv;\nPFNGLGETCONVOLUTIONPARAMETERIVPROC glad_glGetConvolutionParameteriv;\nPFNGLGETSEPARABLEFILTERPROC glad_glGetSeparableFilter;\nPFNGLSEPARABLEFILTER2DPROC glad_glSeparableFilter2D;\nPFNGLGETHISTOGRAMPROC glad_glGetHistogram;\nPFNGLGETHISTOGRAMPARAMETERFVPROC glad_glGetHistogramParameterfv;\nPFNGLGETHISTOGRAMPARAMETERIVPROC glad_glGetHistogramParameteriv;\nPFNGLGETMINMAXPROC glad_glGetMinmax;\nPFNGLGETMINMAXPARAMETERFVPROC glad_glGetMinmaxParameterfv;\nPFNGLGETMINMAXPARAMETERIVPROC glad_glGetMinmaxParameteriv;\nPFNGLHISTOGRAMPROC glad_glHistogram;\nPFNGLMINMAXPROC glad_glMinmax;\nPFNGLRESETHISTOGRAMPROC glad_glResetHistogram;\nPFNGLRESETMINMAXPROC glad_glResetMinmax;\nPFNGLMULTIDRAWARRAYSINDIRECTCOUNTARBPROC glad_glMultiDrawArraysIndirectCountARB;\nPFNGLMULTIDRAWELEMENTSINDIRECTCOUNTARBPROC glad_glMultiDrawElementsIndirectCountARB;\nPFNGLVERTEXATTRIBDIVISORARBPROC glad_glVertexAttribDivisorARB;\nPFNGLCURRENTPALETTEMATRIXARBPROC glad_glCurrentPaletteMatrixARB;\nPFNGLMATRIXINDEXUBVARBPROC glad_glMatrixIndexubvARB;\nPFNGLMATRIXINDEXUSVARBPROC glad_glMatrixIndexusvARB;\nPFNGLMATRIXINDEXUIVARBPROC glad_glMatrixIndexuivARB;\nPFNGLMATRIXINDEXPOINTERARBPROC glad_glMatrixIndexPointerARB;\nPFNGLSAMPLECOVERAGEARBPROC glad_glSampleCoverageARB;\nPFNGLACTIVETEXTUREARBPROC glad_glActiveTextureARB;\nPFNGLCLIENTACTIVETEXTUREARBPROC glad_glClientActiveTextureARB;\nPFNGLMULTITEXCOORD1DARBPROC glad_glMultiTexCoord1dARB;\nPFNGLMULTITEXCOORD1DVARBPROC glad_glMultiTexCoord1dvARB;\nPFNGLMULTITEXCOORD1FARBPROC glad_glMultiTexCoord1fARB;\nPFNGLMULTITEXCOORD1FVARBPROC glad_glMultiTexCoord1fvARB;\nPFNGLMULTITEXCOORD1IARBPROC glad_glMultiTexCoord1iARB;\nPFNGLMULTITEXCOORD1IVARBPROC glad_glMultiTexCoord1ivARB;\nPFNGLMULTITEXCOORD1SARBPROC glad_glMultiTexCoord1sARB;\nPFNGLMULTITEXCOORD1SVARBPROC glad_glMultiTexCoord1svARB;\nPFNGLMULTITEXCOORD2DARBPROC glad_glMultiTexCoord2dARB;\nPFNGLMULTITEXCOORD2DVARBPROC glad_glMultiTexCoord2dvARB;\nPFNGLMULTITEXCOORD2FARBPROC glad_glMultiTexCoord2fARB;\nPFNGLMULTITEXCOORD2FVARBPROC glad_glMultiTexCoord2fvARB;\nPFNGLMULTITEXCOORD2IARBPROC glad_glMultiTexCoord2iARB;\nPFNGLMULTITEXCOORD2IVARBPROC glad_glMultiTexCoord2ivARB;\nPFNGLMULTITEXCOORD2SARBPROC glad_glMultiTexCoord2sARB;\nPFNGLMULTITEXCOORD2SVARBPROC glad_glMultiTexCoord2svARB;\nPFNGLMULTITEXCOORD3DARBPROC glad_glMultiTexCoord3dARB;\nPFNGLMULTITEXCOORD3DVARBPROC glad_glMultiTexCoord3dvARB;\nPFNGLMULTITEXCOORD3FARBPROC glad_glMultiTexCoord3fARB;\nPFNGLMULTITEXCOORD3FVARBPROC glad_glMultiTexCoord3fvARB;\nPFNGLMULTITEXCOORD3IARBPROC glad_glMultiTexCoord3iARB;\nPFNGLMULTITEXCOORD3IVARBPROC glad_glMultiTexCoord3ivARB;\nPFNGLMULTITEXCOORD3SARBPROC glad_glMultiTexCoord3sARB;\nPFNGLMULTITEXCOORD3SVARBPROC glad_glMultiTexCoord3svARB;\nPFNGLMULTITEXCOORD4DARBPROC glad_glMultiTexCoord4dARB;\nPFNGLMULTITEXCOORD4DVARBPROC glad_glMultiTexCoord4dvARB;\nPFNGLMULTITEXCOORD4FARBPROC glad_glMultiTexCoord4fARB;\nPFNGLMULTITEXCOORD4FVARBPROC glad_glMultiTexCoord4fvARB;\nPFNGLMULTITEXCOORD4IARBPROC glad_glMultiTexCoord4iARB;\nPFNGLMULTITEXCOORD4IVARBPROC glad_glMultiTexCoord4ivARB;\nPFNGLMULTITEXCOORD4SARBPROC glad_glMultiTexCoord4sARB;\nPFNGLMULTITEXCOORD4SVARBPROC glad_glMultiTexCoord4svARB;\nPFNGLGENQUERIESARBPROC glad_glGenQueriesARB;\nPFNGLDELETEQUERIESARBPROC glad_glDeleteQueriesARB;\nPFNGLISQUERYARBPROC glad_glIsQueryARB;\nPFNGLBEGINQUERYARBPROC glad_glBeginQueryARB;\nPFNGLENDQUERYARBPROC glad_glEndQueryARB;\nPFNGLGETQUERYIVARBPROC glad_glGetQueryivARB;\nPFNGLGETQUERYOBJECTIVARBPROC glad_glGetQueryObjectivARB;\nPFNGLGETQUERYOBJECTUIVARBPROC glad_glGetQueryObjectuivARB;\nPFNGLMAXSHADERCOMPILERTHREADSARBPROC glad_glMaxShaderCompilerThreadsARB;\nPFNGLPOINTPARAMETERFARBPROC glad_glPointParameterfARB;\nPFNGLPOINTPARAMETERFVARBPROC glad_glPointParameterfvARB;\nPFNGLGETGRAPHICSRESETSTATUSARBPROC glad_glGetGraphicsResetStatusARB;\nPFNGLGETNTEXIMAGEARBPROC glad_glGetnTexImageARB;\nPFNGLREADNPIXELSARBPROC glad_glReadnPixelsARB;\nPFNGLGETNCOMPRESSEDTEXIMAGEARBPROC glad_glGetnCompressedTexImageARB;\nPFNGLGETNUNIFORMFVARBPROC glad_glGetnUniformfvARB;\nPFNGLGETNUNIFORMIVARBPROC glad_glGetnUniformivARB;\nPFNGLGETNUNIFORMUIVARBPROC glad_glGetnUniformuivARB;\nPFNGLGETNUNIFORMDVARBPROC glad_glGetnUniformdvARB;\nPFNGLGETNMAPDVARBPROC glad_glGetnMapdvARB;\nPFNGLGETNMAPFVARBPROC glad_glGetnMapfvARB;\nPFNGLGETNMAPIVARBPROC glad_glGetnMapivARB;\nPFNGLGETNPIXELMAPFVARBPROC glad_glGetnPixelMapfvARB;\nPFNGLGETNPIXELMAPUIVARBPROC glad_glGetnPixelMapuivARB;\nPFNGLGETNPIXELMAPUSVARBPROC glad_glGetnPixelMapusvARB;\nPFNGLGETNPOLYGONSTIPPLEARBPROC glad_glGetnPolygonStippleARB;\nPFNGLGETNCOLORTABLEARBPROC glad_glGetnColorTableARB;\nPFNGLGETNCONVOLUTIONFILTERARBPROC glad_glGetnConvolutionFilterARB;\nPFNGLGETNSEPARABLEFILTERARBPROC glad_glGetnSeparableFilterARB;\nPFNGLGETNHISTOGRAMARBPROC glad_glGetnHistogramARB;\nPFNGLGETNMINMAXARBPROC glad_glGetnMinmaxARB;\nPFNGLFRAMEBUFFERSAMPLELOCATIONSFVARBPROC glad_glFramebufferSampleLocationsfvARB;\nPFNGLNAMEDFRAMEBUFFERSAMPLELOCATIONSFVARBPROC glad_glNamedFramebufferSampleLocationsfvARB;\nPFNGLEVALUATEDEPTHVALUESARBPROC glad_glEvaluateDepthValuesARB;\nPFNGLMINSAMPLESHADINGARBPROC glad_glMinSampleShadingARB;\nPFNGLDELETEOBJECTARBPROC glad_glDeleteObjectARB;\nPFNGLGETHANDLEARBPROC glad_glGetHandleARB;\nPFNGLDETACHOBJECTARBPROC glad_glDetachObjectARB;\nPFNGLCREATESHADEROBJECTARBPROC glad_glCreateShaderObjectARB;\nPFNGLSHADERSOURCEARBPROC glad_glShaderSourceARB;\nPFNGLCOMPILESHADERARBPROC glad_glCompileShaderARB;\nPFNGLCREATEPROGRAMOBJECTARBPROC glad_glCreateProgramObjectARB;\nPFNGLATTACHOBJECTARBPROC glad_glAttachObjectARB;\nPFNGLLINKPROGRAMARBPROC glad_glLinkProgramARB;\nPFNGLUSEPROGRAMOBJECTARBPROC glad_glUseProgramObjectARB;\nPFNGLVALIDATEPROGRAMARBPROC glad_glValidateProgramARB;\nPFNGLUNIFORM1FARBPROC glad_glUniform1fARB;\nPFNGLUNIFORM2FARBPROC glad_glUniform2fARB;\nPFNGLUNIFORM3FARBPROC glad_glUniform3fARB;\nPFNGLUNIFORM4FARBPROC glad_glUniform4fARB;\nPFNGLUNIFORM1IARBPROC glad_glUniform1iARB;\nPFNGLUNIFORM2IARBPROC glad_glUniform2iARB;\nPFNGLUNIFORM3IARBPROC glad_glUniform3iARB;\nPFNGLUNIFORM4IARBPROC glad_glUniform4iARB;\nPFNGLUNIFORM1FVARBPROC glad_glUniform1fvARB;\nPFNGLUNIFORM2FVARBPROC glad_glUniform2fvARB;\nPFNGLUNIFORM3FVARBPROC glad_glUniform3fvARB;\nPFNGLUNIFORM4FVARBPROC glad_glUniform4fvARB;\nPFNGLUNIFORM1IVARBPROC glad_glUniform1ivARB;\nPFNGLUNIFORM2IVARBPROC glad_glUniform2ivARB;\nPFNGLUNIFORM3IVARBPROC glad_glUniform3ivARB;\nPFNGLUNIFORM4IVARBPROC glad_glUniform4ivARB;\nPFNGLUNIFORMMATRIX2FVARBPROC glad_glUniformMatrix2fvARB;\nPFNGLUNIFORMMATRIX3FVARBPROC glad_glUniformMatrix3fvARB;\nPFNGLUNIFORMMATRIX4FVARBPROC glad_glUniformMatrix4fvARB;\nPFNGLGETOBJECTPARAMETERFVARBPROC glad_glGetObjectParameterfvARB;\nPFNGLGETOBJECTPARAMETERIVARBPROC glad_glGetObjectParameterivARB;\nPFNGLGETINFOLOGARBPROC glad_glGetInfoLogARB;\nPFNGLGETATTACHEDOBJECTSARBPROC glad_glGetAttachedObjectsARB;\nPFNGLGETUNIFORMLOCATIONARBPROC glad_glGetUniformLocationARB;\nPFNGLGETACTIVEUNIFORMARBPROC glad_glGetActiveUniformARB;\nPFNGLGETUNIFORMFVARBPROC glad_glGetUniformfvARB;\nPFNGLGETUNIFORMIVARBPROC glad_glGetUniformivARB;\nPFNGLGETSHADERSOURCEARBPROC glad_glGetShaderSourceARB;\nPFNGLNAMEDSTRINGARBPROC glad_glNamedStringARB;\nPFNGLDELETENAMEDSTRINGARBPROC glad_glDeleteNamedStringARB;\nPFNGLCOMPILESHADERINCLUDEARBPROC glad_glCompileShaderIncludeARB;\nPFNGLISNAMEDSTRINGARBPROC glad_glIsNamedStringARB;\nPFNGLGETNAMEDSTRINGARBPROC glad_glGetNamedStringARB;\nPFNGLGETNAMEDSTRINGIVARBPROC glad_glGetNamedStringivARB;\nPFNGLBUFFERPAGECOMMITMENTARBPROC glad_glBufferPageCommitmentARB;\nPFNGLNAMEDBUFFERPAGECOMMITMENTEXTPROC glad_glNamedBufferPageCommitmentEXT;\nPFNGLNAMEDBUFFERPAGECOMMITMENTARBPROC glad_glNamedBufferPageCommitmentARB;\nPFNGLTEXPAGECOMMITMENTARBPROC glad_glTexPageCommitmentARB;\nPFNGLTEXBUFFERARBPROC glad_glTexBufferARB;\nPFNGLCOMPRESSEDTEXIMAGE3DARBPROC glad_glCompressedTexImage3DARB;\nPFNGLCOMPRESSEDTEXIMAGE2DARBPROC glad_glCompressedTexImage2DARB;\nPFNGLCOMPRESSEDTEXIMAGE1DARBPROC glad_glCompressedTexImage1DARB;\nPFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC glad_glCompressedTexSubImage3DARB;\nPFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC glad_glCompressedTexSubImage2DARB;\nPFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC glad_glCompressedTexSubImage1DARB;\nPFNGLGETCOMPRESSEDTEXIMAGEARBPROC glad_glGetCompressedTexImageARB;\nPFNGLLOADTRANSPOSEMATRIXFARBPROC glad_glLoadTransposeMatrixfARB;\nPFNGLLOADTRANSPOSEMATRIXDARBPROC glad_glLoadTransposeMatrixdARB;\nPFNGLMULTTRANSPOSEMATRIXFARBPROC glad_glMultTransposeMatrixfARB;\nPFNGLMULTTRANSPOSEMATRIXDARBPROC glad_glMultTransposeMatrixdARB;\nPFNGLWEIGHTBVARBPROC glad_glWeightbvARB;\nPFNGLWEIGHTSVARBPROC glad_glWeightsvARB;\nPFNGLWEIGHTIVARBPROC glad_glWeightivARB;\nPFNGLWEIGHTFVARBPROC glad_glWeightfvARB;\nPFNGLWEIGHTDVARBPROC glad_glWeightdvARB;\nPFNGLWEIGHTUBVARBPROC glad_glWeightubvARB;\nPFNGLWEIGHTUSVARBPROC glad_glWeightusvARB;\nPFNGLWEIGHTUIVARBPROC glad_glWeightuivARB;\nPFNGLWEIGHTPOINTERARBPROC glad_glWeightPointerARB;\nPFNGLVERTEXBLENDARBPROC glad_glVertexBlendARB;\nPFNGLBINDBUFFERARBPROC glad_glBindBufferARB;\nPFNGLDELETEBUFFERSARBPROC glad_glDeleteBuffersARB;\nPFNGLGENBUFFERSARBPROC glad_glGenBuffersARB;\nPFNGLISBUFFERARBPROC glad_glIsBufferARB;\nPFNGLBUFFERDATAARBPROC glad_glBufferDataARB;\nPFNGLBUFFERSUBDATAARBPROC glad_glBufferSubDataARB;\nPFNGLGETBUFFERSUBDATAARBPROC glad_glGetBufferSubDataARB;\nPFNGLMAPBUFFERARBPROC glad_glMapBufferARB;\nPFNGLUNMAPBUFFERARBPROC glad_glUnmapBufferARB;\nPFNGLGETBUFFERPARAMETERIVARBPROC glad_glGetBufferParameterivARB;\nPFNGLGETBUFFERPOINTERVARBPROC glad_glGetBufferPointervARB;\nPFNGLVERTEXATTRIB1DARBPROC glad_glVertexAttrib1dARB;\nPFNGLVERTEXATTRIB1DVARBPROC glad_glVertexAttrib1dvARB;\nPFNGLVERTEXATTRIB1FARBPROC glad_glVertexAttrib1fARB;\nPFNGLVERTEXATTRIB1FVARBPROC glad_glVertexAttrib1fvARB;\nPFNGLVERTEXATTRIB1SARBPROC glad_glVertexAttrib1sARB;\nPFNGLVERTEXATTRIB1SVARBPROC glad_glVertexAttrib1svARB;\nPFNGLVERTEXATTRIB2DARBPROC glad_glVertexAttrib2dARB;\nPFNGLVERTEXATTRIB2DVARBPROC glad_glVertexAttrib2dvARB;\nPFNGLVERTEXATTRIB2FARBPROC glad_glVertexAttrib2fARB;\nPFNGLVERTEXATTRIB2FVARBPROC glad_glVertexAttrib2fvARB;\nPFNGLVERTEXATTRIB2SARBPROC glad_glVertexAttrib2sARB;\nPFNGLVERTEXATTRIB2SVARBPROC glad_glVertexAttrib2svARB;\nPFNGLVERTEXATTRIB3DARBPROC glad_glVertexAttrib3dARB;\nPFNGLVERTEXATTRIB3DVARBPROC glad_glVertexAttrib3dvARB;\nPFNGLVERTEXATTRIB3FARBPROC glad_glVertexAttrib3fARB;\nPFNGLVERTEXATTRIB3FVARBPROC glad_glVertexAttrib3fvARB;\nPFNGLVERTEXATTRIB3SARBPROC glad_glVertexAttrib3sARB;\nPFNGLVERTEXATTRIB3SVARBPROC glad_glVertexAttrib3svARB;\nPFNGLVERTEXATTRIB4NBVARBPROC glad_glVertexAttrib4NbvARB;\nPFNGLVERTEXATTRIB4NIVARBPROC glad_glVertexAttrib4NivARB;\nPFNGLVERTEXATTRIB4NSVARBPROC glad_glVertexAttrib4NsvARB;\nPFNGLVERTEXATTRIB4NUBARBPROC glad_glVertexAttrib4NubARB;\nPFNGLVERTEXATTRIB4NUBVARBPROC glad_glVertexAttrib4NubvARB;\nPFNGLVERTEXATTRIB4NUIVARBPROC glad_glVertexAttrib4NuivARB;\nPFNGLVERTEXATTRIB4NUSVARBPROC glad_glVertexAttrib4NusvARB;\nPFNGLVERTEXATTRIB4BVARBPROC glad_glVertexAttrib4bvARB;\nPFNGLVERTEXATTRIB4DARBPROC glad_glVertexAttrib4dARB;\nPFNGLVERTEXATTRIB4DVARBPROC glad_glVertexAttrib4dvARB;\nPFNGLVERTEXATTRIB4FARBPROC glad_glVertexAttrib4fARB;\nPFNGLVERTEXATTRIB4FVARBPROC glad_glVertexAttrib4fvARB;\nPFNGLVERTEXATTRIB4IVARBPROC glad_glVertexAttrib4ivARB;\nPFNGLVERTEXATTRIB4SARBPROC glad_glVertexAttrib4sARB;\nPFNGLVERTEXATTRIB4SVARBPROC glad_glVertexAttrib4svARB;\nPFNGLVERTEXATTRIB4UBVARBPROC glad_glVertexAttrib4ubvARB;\nPFNGLVERTEXATTRIB4UIVARBPROC glad_glVertexAttrib4uivARB;\nPFNGLVERTEXATTRIB4USVARBPROC glad_glVertexAttrib4usvARB;\nPFNGLVERTEXATTRIBPOINTERARBPROC glad_glVertexAttribPointerARB;\nPFNGLENABLEVERTEXATTRIBARRAYARBPROC glad_glEnableVertexAttribArrayARB;\nPFNGLDISABLEVERTEXATTRIBARRAYARBPROC glad_glDisableVertexAttribArrayARB;\nPFNGLGETVERTEXATTRIBDVARBPROC glad_glGetVertexAttribdvARB;\nPFNGLGETVERTEXATTRIBFVARBPROC glad_glGetVertexAttribfvARB;\nPFNGLGETVERTEXATTRIBIVARBPROC glad_glGetVertexAttribivARB;\nPFNGLGETVERTEXATTRIBPOINTERVARBPROC glad_glGetVertexAttribPointervARB;\nPFNGLBINDATTRIBLOCATIONARBPROC glad_glBindAttribLocationARB;\nPFNGLGETACTIVEATTRIBARBPROC glad_glGetActiveAttribARB;\nPFNGLGETATTRIBLOCATIONARBPROC glad_glGetAttribLocationARB;\nPFNGLWINDOWPOS2DARBPROC glad_glWindowPos2dARB;\nPFNGLWINDOWPOS2DVARBPROC glad_glWindowPos2dvARB;\nPFNGLWINDOWPOS2FARBPROC glad_glWindowPos2fARB;\nPFNGLWINDOWPOS2FVARBPROC glad_glWindowPos2fvARB;\nPFNGLWINDOWPOS2IARBPROC glad_glWindowPos2iARB;\nPFNGLWINDOWPOS2IVARBPROC glad_glWindowPos2ivARB;\nPFNGLWINDOWPOS2SARBPROC glad_glWindowPos2sARB;\nPFNGLWINDOWPOS2SVARBPROC glad_glWindowPos2svARB;\nPFNGLWINDOWPOS3DARBPROC glad_glWindowPos3dARB;\nPFNGLWINDOWPOS3DVARBPROC glad_glWindowPos3dvARB;\nPFNGLWINDOWPOS3FARBPROC glad_glWindowPos3fARB;\nPFNGLWINDOWPOS3FVARBPROC glad_glWindowPos3fvARB;\nPFNGLWINDOWPOS3IARBPROC glad_glWindowPos3iARB;\nPFNGLWINDOWPOS3IVARBPROC glad_glWindowPos3ivARB;\nPFNGLWINDOWPOS3SARBPROC glad_glWindowPos3sARB;\nPFNGLWINDOWPOS3SVARBPROC glad_glWindowPos3svARB;\nPFNGLDRAWBUFFERSATIPROC glad_glDrawBuffersATI;\nPFNGLELEMENTPOINTERATIPROC glad_glElementPointerATI;\nPFNGLDRAWELEMENTARRAYATIPROC glad_glDrawElementArrayATI;\nPFNGLDRAWRANGEELEMENTARRAYATIPROC glad_glDrawRangeElementArrayATI;\nPFNGLTEXBUMPPARAMETERIVATIPROC glad_glTexBumpParameterivATI;\nPFNGLTEXBUMPPARAMETERFVATIPROC glad_glTexBumpParameterfvATI;\nPFNGLGETTEXBUMPPARAMETERIVATIPROC glad_glGetTexBumpParameterivATI;\nPFNGLGETTEXBUMPPARAMETERFVATIPROC glad_glGetTexBumpParameterfvATI;\nPFNGLGENFRAGMENTSHADERSATIPROC glad_glGenFragmentShadersATI;\nPFNGLBINDFRAGMENTSHADERATIPROC glad_glBindFragmentShaderATI;\nPFNGLDELETEFRAGMENTSHADERATIPROC glad_glDeleteFragmentShaderATI;\nPFNGLBEGINFRAGMENTSHADERATIPROC glad_glBeginFragmentShaderATI;\nPFNGLENDFRAGMENTSHADERATIPROC glad_glEndFragmentShaderATI;\nPFNGLPASSTEXCOORDATIPROC glad_glPassTexCoordATI;\nPFNGLSAMPLEMAPATIPROC glad_glSampleMapATI;\nPFNGLCOLORFRAGMENTOP1ATIPROC glad_glColorFragmentOp1ATI;\nPFNGLCOLORFRAGMENTOP2ATIPROC glad_glColorFragmentOp2ATI;\nPFNGLCOLORFRAGMENTOP3ATIPROC glad_glColorFragmentOp3ATI;\nPFNGLALPHAFRAGMENTOP1ATIPROC glad_glAlphaFragmentOp1ATI;\nPFNGLALPHAFRAGMENTOP2ATIPROC glad_glAlphaFragmentOp2ATI;\nPFNGLALPHAFRAGMENTOP3ATIPROC glad_glAlphaFragmentOp3ATI;\nPFNGLSETFRAGMENTSHADERCONSTANTATIPROC glad_glSetFragmentShaderConstantATI;\nPFNGLMAPOBJECTBUFFERATIPROC glad_glMapObjectBufferATI;\nPFNGLUNMAPOBJECTBUFFERATIPROC glad_glUnmapObjectBufferATI;\nPFNGLPNTRIANGLESIATIPROC glad_glPNTrianglesiATI;\nPFNGLPNTRIANGLESFATIPROC glad_glPNTrianglesfATI;\nPFNGLSTENCILOPSEPARATEATIPROC glad_glStencilOpSeparateATI;\nPFNGLSTENCILFUNCSEPARATEATIPROC glad_glStencilFuncSeparateATI;\nPFNGLNEWOBJECTBUFFERATIPROC glad_glNewObjectBufferATI;\nPFNGLISOBJECTBUFFERATIPROC glad_glIsObjectBufferATI;\nPFNGLUPDATEOBJECTBUFFERATIPROC glad_glUpdateObjectBufferATI;\nPFNGLGETOBJECTBUFFERFVATIPROC glad_glGetObjectBufferfvATI;\nPFNGLGETOBJECTBUFFERIVATIPROC glad_glGetObjectBufferivATI;\nPFNGLFREEOBJECTBUFFERATIPROC glad_glFreeObjectBufferATI;\nPFNGLARRAYOBJECTATIPROC glad_glArrayObjectATI;\nPFNGLGETARRAYOBJECTFVATIPROC glad_glGetArrayObjectfvATI;\nPFNGLGETARRAYOBJECTIVATIPROC glad_glGetArrayObjectivATI;\nPFNGLVARIANTARRAYOBJECTATIPROC glad_glVariantArrayObjectATI;\nPFNGLGETVARIANTARRAYOBJECTFVATIPROC glad_glGetVariantArrayObjectfvATI;\nPFNGLGETVARIANTARRAYOBJECTIVATIPROC glad_glGetVariantArrayObjectivATI;\nPFNGLVERTEXATTRIBARRAYOBJECTATIPROC glad_glVertexAttribArrayObjectATI;\nPFNGLGETVERTEXATTRIBARRAYOBJECTFVATIPROC glad_glGetVertexAttribArrayObjectfvATI;\nPFNGLGETVERTEXATTRIBARRAYOBJECTIVATIPROC glad_glGetVertexAttribArrayObjectivATI;\nPFNGLVERTEXSTREAM1SATIPROC glad_glVertexStream1sATI;\nPFNGLVERTEXSTREAM1SVATIPROC glad_glVertexStream1svATI;\nPFNGLVERTEXSTREAM1IATIPROC glad_glVertexStream1iATI;\nPFNGLVERTEXSTREAM1IVATIPROC glad_glVertexStream1ivATI;\nPFNGLVERTEXSTREAM1FATIPROC glad_glVertexStream1fATI;\nPFNGLVERTEXSTREAM1FVATIPROC glad_glVertexStream1fvATI;\nPFNGLVERTEXSTREAM1DATIPROC glad_glVertexStream1dATI;\nPFNGLVERTEXSTREAM1DVATIPROC glad_glVertexStream1dvATI;\nPFNGLVERTEXSTREAM2SATIPROC glad_glVertexStream2sATI;\nPFNGLVERTEXSTREAM2SVATIPROC glad_glVertexStream2svATI;\nPFNGLVERTEXSTREAM2IATIPROC glad_glVertexStream2iATI;\nPFNGLVERTEXSTREAM2IVATIPROC glad_glVertexStream2ivATI;\nPFNGLVERTEXSTREAM2FATIPROC glad_glVertexStream2fATI;\nPFNGLVERTEXSTREAM2FVATIPROC glad_glVertexStream2fvATI;\nPFNGLVERTEXSTREAM2DATIPROC glad_glVertexStream2dATI;\nPFNGLVERTEXSTREAM2DVATIPROC glad_glVertexStream2dvATI;\nPFNGLVERTEXSTREAM3SATIPROC glad_glVertexStream3sATI;\nPFNGLVERTEXSTREAM3SVATIPROC glad_glVertexStream3svATI;\nPFNGLVERTEXSTREAM3IATIPROC glad_glVertexStream3iATI;\nPFNGLVERTEXSTREAM3IVATIPROC glad_glVertexStream3ivATI;\nPFNGLVERTEXSTREAM3FATIPROC glad_glVertexStream3fATI;\nPFNGLVERTEXSTREAM3FVATIPROC glad_glVertexStream3fvATI;\nPFNGLVERTEXSTREAM3DATIPROC glad_glVertexStream3dATI;\nPFNGLVERTEXSTREAM3DVATIPROC glad_glVertexStream3dvATI;\nPFNGLVERTEXSTREAM4SATIPROC glad_glVertexStream4sATI;\nPFNGLVERTEXSTREAM4SVATIPROC glad_glVertexStream4svATI;\nPFNGLVERTEXSTREAM4IATIPROC glad_glVertexStream4iATI;\nPFNGLVERTEXSTREAM4IVATIPROC glad_glVertexStream4ivATI;\nPFNGLVERTEXSTREAM4FATIPROC glad_glVertexStream4fATI;\nPFNGLVERTEXSTREAM4FVATIPROC glad_glVertexStream4fvATI;\nPFNGLVERTEXSTREAM4DATIPROC glad_glVertexStream4dATI;\nPFNGLVERTEXSTREAM4DVATIPROC glad_glVertexStream4dvATI;\nPFNGLNORMALSTREAM3BATIPROC glad_glNormalStream3bATI;\nPFNGLNORMALSTREAM3BVATIPROC glad_glNormalStream3bvATI;\nPFNGLNORMALSTREAM3SATIPROC glad_glNormalStream3sATI;\nPFNGLNORMALSTREAM3SVATIPROC glad_glNormalStream3svATI;\nPFNGLNORMALSTREAM3IATIPROC glad_glNormalStream3iATI;\nPFNGLNORMALSTREAM3IVATIPROC glad_glNormalStream3ivATI;\nPFNGLNORMALSTREAM3FATIPROC glad_glNormalStream3fATI;\nPFNGLNORMALSTREAM3FVATIPROC glad_glNormalStream3fvATI;\nPFNGLNORMALSTREAM3DATIPROC glad_glNormalStream3dATI;\nPFNGLNORMALSTREAM3DVATIPROC glad_glNormalStream3dvATI;\nPFNGLCLIENTACTIVEVERTEXSTREAMATIPROC glad_glClientActiveVertexStreamATI;\nPFNGLVERTEXBLENDENVIATIPROC glad_glVertexBlendEnviATI;\nPFNGLVERTEXBLENDENVFATIPROC glad_glVertexBlendEnvfATI;\nPFNGLUNIFORMBUFFEREXTPROC glad_glUniformBufferEXT;\nPFNGLGETUNIFORMBUFFERSIZEEXTPROC glad_glGetUniformBufferSizeEXT;\nPFNGLGETUNIFORMOFFSETEXTPROC glad_glGetUniformOffsetEXT;\nPFNGLBLENDCOLOREXTPROC glad_glBlendColorEXT;\nPFNGLBLENDEQUATIONSEPARATEEXTPROC glad_glBlendEquationSeparateEXT;\nPFNGLBLENDFUNCSEPARATEEXTPROC glad_glBlendFuncSeparateEXT;\nPFNGLBLENDEQUATIONEXTPROC glad_glBlendEquationEXT;\nPFNGLCOLORSUBTABLEEXTPROC glad_glColorSubTableEXT;\nPFNGLCOPYCOLORSUBTABLEEXTPROC glad_glCopyColorSubTableEXT;\nPFNGLLOCKARRAYSEXTPROC glad_glLockArraysEXT;\nPFNGLUNLOCKARRAYSEXTPROC glad_glUnlockArraysEXT;\nPFNGLCONVOLUTIONFILTER1DEXTPROC glad_glConvolutionFilter1DEXT;\nPFNGLCONVOLUTIONFILTER2DEXTPROC glad_glConvolutionFilter2DEXT;\nPFNGLCONVOLUTIONPARAMETERFEXTPROC glad_glConvolutionParameterfEXT;\nPFNGLCONVOLUTIONPARAMETERFVEXTPROC glad_glConvolutionParameterfvEXT;\nPFNGLCONVOLUTIONPARAMETERIEXTPROC glad_glConvolutionParameteriEXT;\nPFNGLCONVOLUTIONPARAMETERIVEXTPROC glad_glConvolutionParameterivEXT;\nPFNGLCOPYCONVOLUTIONFILTER1DEXTPROC glad_glCopyConvolutionFilter1DEXT;\nPFNGLCOPYCONVOLUTIONFILTER2DEXTPROC glad_glCopyConvolutionFilter2DEXT;\nPFNGLGETCONVOLUTIONFILTEREXTPROC glad_glGetConvolutionFilterEXT;\nPFNGLGETCONVOLUTIONPARAMETERFVEXTPROC glad_glGetConvolutionParameterfvEXT;\nPFNGLGETCONVOLUTIONPARAMETERIVEXTPROC glad_glGetConvolutionParameterivEXT;\nPFNGLGETSEPARABLEFILTEREXTPROC glad_glGetSeparableFilterEXT;\nPFNGLSEPARABLEFILTER2DEXTPROC glad_glSeparableFilter2DEXT;\nPFNGLTANGENT3BEXTPROC glad_glTangent3bEXT;\nPFNGLTANGENT3BVEXTPROC glad_glTangent3bvEXT;\nPFNGLTANGENT3DEXTPROC glad_glTangent3dEXT;\nPFNGLTANGENT3DVEXTPROC glad_glTangent3dvEXT;\nPFNGLTANGENT3FEXTPROC glad_glTangent3fEXT;\nPFNGLTANGENT3FVEXTPROC glad_glTangent3fvEXT;\nPFNGLTANGENT3IEXTPROC glad_glTangent3iEXT;\nPFNGLTANGENT3IVEXTPROC glad_glTangent3ivEXT;\nPFNGLTANGENT3SEXTPROC glad_glTangent3sEXT;\nPFNGLTANGENT3SVEXTPROC glad_glTangent3svEXT;\nPFNGLBINORMAL3BEXTPROC glad_glBinormal3bEXT;\nPFNGLBINORMAL3BVEXTPROC glad_glBinormal3bvEXT;\nPFNGLBINORMAL3DEXTPROC glad_glBinormal3dEXT;\nPFNGLBINORMAL3DVEXTPROC glad_glBinormal3dvEXT;\nPFNGLBINORMAL3FEXTPROC glad_glBinormal3fEXT;\nPFNGLBINORMAL3FVEXTPROC glad_glBinormal3fvEXT;\nPFNGLBINORMAL3IEXTPROC glad_glBinormal3iEXT;\nPFNGLBINORMAL3IVEXTPROC glad_glBinormal3ivEXT;\nPFNGLBINORMAL3SEXTPROC glad_glBinormal3sEXT;\nPFNGLBINORMAL3SVEXTPROC glad_glBinormal3svEXT;\nPFNGLTANGENTPOINTEREXTPROC glad_glTangentPointerEXT;\nPFNGLBINORMALPOINTEREXTPROC glad_glBinormalPointerEXT;\nPFNGLCOPYTEXIMAGE1DEXTPROC glad_glCopyTexImage1DEXT;\nPFNGLCOPYTEXIMAGE2DEXTPROC glad_glCopyTexImage2DEXT;\nPFNGLCOPYTEXSUBIMAGE1DEXTPROC glad_glCopyTexSubImage1DEXT;\nPFNGLCOPYTEXSUBIMAGE2DEXTPROC glad_glCopyTexSubImage2DEXT;\nPFNGLCOPYTEXSUBIMAGE3DEXTPROC glad_glCopyTexSubImage3DEXT;\nPFNGLCULLPARAMETERDVEXTPROC glad_glCullParameterdvEXT;\nPFNGLCULLPARAMETERFVEXTPROC glad_glCullParameterfvEXT;\nPFNGLLABELOBJECTEXTPROC glad_glLabelObjectEXT;\nPFNGLGETOBJECTLABELEXTPROC glad_glGetObjectLabelEXT;\nPFNGLINSERTEVENTMARKEREXTPROC glad_glInsertEventMarkerEXT;\nPFNGLPUSHGROUPMARKEREXTPROC glad_glPushGroupMarkerEXT;\nPFNGLPOPGROUPMARKEREXTPROC glad_glPopGroupMarkerEXT;\nPFNGLDEPTHBOUNDSEXTPROC glad_glDepthBoundsEXT;\nPFNGLMATRIXLOADFEXTPROC glad_glMatrixLoadfEXT;\nPFNGLMATRIXLOADDEXTPROC glad_glMatrixLoaddEXT;\nPFNGLMATRIXMULTFEXTPROC glad_glMatrixMultfEXT;\nPFNGLMATRIXMULTDEXTPROC glad_glMatrixMultdEXT;\nPFNGLMATRIXLOADIDENTITYEXTPROC glad_glMatrixLoadIdentityEXT;\nPFNGLMATRIXROTATEFEXTPROC glad_glMatrixRotatefEXT;\nPFNGLMATRIXROTATEDEXTPROC glad_glMatrixRotatedEXT;\nPFNGLMATRIXSCALEFEXTPROC glad_glMatrixScalefEXT;\nPFNGLMATRIXSCALEDEXTPROC glad_glMatrixScaledEXT;\nPFNGLMATRIXTRANSLATEFEXTPROC glad_glMatrixTranslatefEXT;\nPFNGLMATRIXTRANSLATEDEXTPROC glad_glMatrixTranslatedEXT;\nPFNGLMATRIXFRUSTUMEXTPROC glad_glMatrixFrustumEXT;\nPFNGLMATRIXORTHOEXTPROC glad_glMatrixOrthoEXT;\nPFNGLMATRIXPOPEXTPROC glad_glMatrixPopEXT;\nPFNGLMATRIXPUSHEXTPROC glad_glMatrixPushEXT;\nPFNGLCLIENTATTRIBDEFAULTEXTPROC glad_glClientAttribDefaultEXT;\nPFNGLPUSHCLIENTATTRIBDEFAULTEXTPROC glad_glPushClientAttribDefaultEXT;\nPFNGLTEXTUREPARAMETERFEXTPROC glad_glTextureParameterfEXT;\nPFNGLTEXTUREPARAMETERFVEXTPROC glad_glTextureParameterfvEXT;\nPFNGLTEXTUREPARAMETERIEXTPROC glad_glTextureParameteriEXT;\nPFNGLTEXTUREPARAMETERIVEXTPROC glad_glTextureParameterivEXT;\nPFNGLTEXTUREIMAGE1DEXTPROC glad_glTextureImage1DEXT;\nPFNGLTEXTUREIMAGE2DEXTPROC glad_glTextureImage2DEXT;\nPFNGLTEXTURESUBIMAGE1DEXTPROC glad_glTextureSubImage1DEXT;\nPFNGLTEXTURESUBIMAGE2DEXTPROC glad_glTextureSubImage2DEXT;\nPFNGLCOPYTEXTUREIMAGE1DEXTPROC glad_glCopyTextureImage1DEXT;\nPFNGLCOPYTEXTUREIMAGE2DEXTPROC glad_glCopyTextureImage2DEXT;\nPFNGLCOPYTEXTURESUBIMAGE1DEXTPROC glad_glCopyTextureSubImage1DEXT;\nPFNGLCOPYTEXTURESUBIMAGE2DEXTPROC glad_glCopyTextureSubImage2DEXT;\nPFNGLGETTEXTUREIMAGEEXTPROC glad_glGetTextureImageEXT;\nPFNGLGETTEXTUREPARAMETERFVEXTPROC glad_glGetTextureParameterfvEXT;\nPFNGLGETTEXTUREPARAMETERIVEXTPROC glad_glGetTextureParameterivEXT;\nPFNGLGETTEXTURELEVELPARAMETERFVEXTPROC glad_glGetTextureLevelParameterfvEXT;\nPFNGLGETTEXTURELEVELPARAMETERIVEXTPROC glad_glGetTextureLevelParameterivEXT;\nPFNGLTEXTUREIMAGE3DEXTPROC glad_glTextureImage3DEXT;\nPFNGLTEXTURESUBIMAGE3DEXTPROC glad_glTextureSubImage3DEXT;\nPFNGLCOPYTEXTURESUBIMAGE3DEXTPROC glad_glCopyTextureSubImage3DEXT;\nPFNGLBINDMULTITEXTUREEXTPROC glad_glBindMultiTextureEXT;\nPFNGLMULTITEXCOORDPOINTEREXTPROC glad_glMultiTexCoordPointerEXT;\nPFNGLMULTITEXENVFEXTPROC glad_glMultiTexEnvfEXT;\nPFNGLMULTITEXENVFVEXTPROC glad_glMultiTexEnvfvEXT;\nPFNGLMULTITEXENVIEXTPROC glad_glMultiTexEnviEXT;\nPFNGLMULTITEXENVIVEXTPROC glad_glMultiTexEnvivEXT;\nPFNGLMULTITEXGENDEXTPROC glad_glMultiTexGendEXT;\nPFNGLMULTITEXGENDVEXTPROC glad_glMultiTexGendvEXT;\nPFNGLMULTITEXGENFEXTPROC glad_glMultiTexGenfEXT;\nPFNGLMULTITEXGENFVEXTPROC glad_glMultiTexGenfvEXT;\nPFNGLMULTITEXGENIEXTPROC glad_glMultiTexGeniEXT;\nPFNGLMULTITEXGENIVEXTPROC glad_glMultiTexGenivEXT;\nPFNGLGETMULTITEXENVFVEXTPROC glad_glGetMultiTexEnvfvEXT;\nPFNGLGETMULTITEXENVIVEXTPROC glad_glGetMultiTexEnvivEXT;\nPFNGLGETMULTITEXGENDVEXTPROC glad_glGetMultiTexGendvEXT;\nPFNGLGETMULTITEXGENFVEXTPROC glad_glGetMultiTexGenfvEXT;\nPFNGLGETMULTITEXGENIVEXTPROC glad_glGetMultiTexGenivEXT;\nPFNGLMULTITEXPARAMETERIEXTPROC glad_glMultiTexParameteriEXT;\nPFNGLMULTITEXPARAMETERIVEXTPROC glad_glMultiTexParameterivEXT;\nPFNGLMULTITEXPARAMETERFEXTPROC glad_glMultiTexParameterfEXT;\nPFNGLMULTITEXPARAMETERFVEXTPROC glad_glMultiTexParameterfvEXT;\nPFNGLMULTITEXIMAGE1DEXTPROC glad_glMultiTexImage1DEXT;\nPFNGLMULTITEXIMAGE2DEXTPROC glad_glMultiTexImage2DEXT;\nPFNGLMULTITEXSUBIMAGE1DEXTPROC glad_glMultiTexSubImage1DEXT;\nPFNGLMULTITEXSUBIMAGE2DEXTPROC glad_glMultiTexSubImage2DEXT;\nPFNGLCOPYMULTITEXIMAGE1DEXTPROC glad_glCopyMultiTexImage1DEXT;\nPFNGLCOPYMULTITEXIMAGE2DEXTPROC glad_glCopyMultiTexImage2DEXT;\nPFNGLCOPYMULTITEXSUBIMAGE1DEXTPROC glad_glCopyMultiTexSubImage1DEXT;\nPFNGLCOPYMULTITEXSUBIMAGE2DEXTPROC glad_glCopyMultiTexSubImage2DEXT;\nPFNGLGETMULTITEXIMAGEEXTPROC glad_glGetMultiTexImageEXT;\nPFNGLGETMULTITEXPARAMETERFVEXTPROC glad_glGetMultiTexParameterfvEXT;\nPFNGLGETMULTITEXPARAMETERIVEXTPROC glad_glGetMultiTexParameterivEXT;\nPFNGLGETMULTITEXLEVELPARAMETERFVEXTPROC glad_glGetMultiTexLevelParameterfvEXT;\nPFNGLGETMULTITEXLEVELPARAMETERIVEXTPROC glad_glGetMultiTexLevelParameterivEXT;\nPFNGLMULTITEXIMAGE3DEXTPROC glad_glMultiTexImage3DEXT;\nPFNGLMULTITEXSUBIMAGE3DEXTPROC glad_glMultiTexSubImage3DEXT;\nPFNGLCOPYMULTITEXSUBIMAGE3DEXTPROC glad_glCopyMultiTexSubImage3DEXT;\nPFNGLENABLECLIENTSTATEINDEXEDEXTPROC glad_glEnableClientStateIndexedEXT;\nPFNGLDISABLECLIENTSTATEINDEXEDEXTPROC glad_glDisableClientStateIndexedEXT;\nPFNGLGETFLOATINDEXEDVEXTPROC glad_glGetFloatIndexedvEXT;\nPFNGLGETDOUBLEINDEXEDVEXTPROC glad_glGetDoubleIndexedvEXT;\nPFNGLGETPOINTERINDEXEDVEXTPROC glad_glGetPointerIndexedvEXT;\nPFNGLENABLEINDEXEDEXTPROC glad_glEnableIndexedEXT;\nPFNGLDISABLEINDEXEDEXTPROC glad_glDisableIndexedEXT;\nPFNGLISENABLEDINDEXEDEXTPROC glad_glIsEnabledIndexedEXT;\nPFNGLGETINTEGERINDEXEDVEXTPROC glad_glGetIntegerIndexedvEXT;\nPFNGLGETBOOLEANINDEXEDVEXTPROC glad_glGetBooleanIndexedvEXT;\nPFNGLCOMPRESSEDTEXTUREIMAGE3DEXTPROC glad_glCompressedTextureImage3DEXT;\nPFNGLCOMPRESSEDTEXTUREIMAGE2DEXTPROC glad_glCompressedTextureImage2DEXT;\nPFNGLCOMPRESSEDTEXTUREIMAGE1DEXTPROC glad_glCompressedTextureImage1DEXT;\nPFNGLCOMPRESSEDTEXTURESUBIMAGE3DEXTPROC glad_glCompressedTextureSubImage3DEXT;\nPFNGLCOMPRESSEDTEXTURESUBIMAGE2DEXTPROC glad_glCompressedTextureSubImage2DEXT;\nPFNGLCOMPRESSEDTEXTURESUBIMAGE1DEXTPROC glad_glCompressedTextureSubImage1DEXT;\nPFNGLGETCOMPRESSEDTEXTUREIMAGEEXTPROC glad_glGetCompressedTextureImageEXT;\nPFNGLCOMPRESSEDMULTITEXIMAGE3DEXTPROC glad_glCompressedMultiTexImage3DEXT;\nPFNGLCOMPRESSEDMULTITEXIMAGE2DEXTPROC glad_glCompressedMultiTexImage2DEXT;\nPFNGLCOMPRESSEDMULTITEXIMAGE1DEXTPROC glad_glCompressedMultiTexImage1DEXT;\nPFNGLCOMPRESSEDMULTITEXSUBIMAGE3DEXTPROC glad_glCompressedMultiTexSubImage3DEXT;\nPFNGLCOMPRESSEDMULTITEXSUBIMAGE2DEXTPROC glad_glCompressedMultiTexSubImage2DEXT;\nPFNGLCOMPRESSEDMULTITEXSUBIMAGE1DEXTPROC glad_glCompressedMultiTexSubImage1DEXT;\nPFNGLGETCOMPRESSEDMULTITEXIMAGEEXTPROC glad_glGetCompressedMultiTexImageEXT;\nPFNGLMATRIXLOADTRANSPOSEFEXTPROC glad_glMatrixLoadTransposefEXT;\nPFNGLMATRIXLOADTRANSPOSEDEXTPROC glad_glMatrixLoadTransposedEXT;\nPFNGLMATRIXMULTTRANSPOSEFEXTPROC glad_glMatrixMultTransposefEXT;\nPFNGLMATRIXMULTTRANSPOSEDEXTPROC glad_glMatrixMultTransposedEXT;\nPFNGLNAMEDBUFFERDATAEXTPROC glad_glNamedBufferDataEXT;\nPFNGLNAMEDBUFFERSUBDATAEXTPROC glad_glNamedBufferSubDataEXT;\nPFNGLMAPNAMEDBUFFEREXTPROC glad_glMapNamedBufferEXT;\nPFNGLUNMAPNAMEDBUFFEREXTPROC glad_glUnmapNamedBufferEXT;\nPFNGLGETNAMEDBUFFERPARAMETERIVEXTPROC glad_glGetNamedBufferParameterivEXT;\nPFNGLGETNAMEDBUFFERPOINTERVEXTPROC glad_glGetNamedBufferPointervEXT;\nPFNGLGETNAMEDBUFFERSUBDATAEXTPROC glad_glGetNamedBufferSubDataEXT;\nPFNGLPROGRAMUNIFORM1FEXTPROC glad_glProgramUniform1fEXT;\nPFNGLPROGRAMUNIFORM2FEXTPROC glad_glProgramUniform2fEXT;\nPFNGLPROGRAMUNIFORM3FEXTPROC glad_glProgramUniform3fEXT;\nPFNGLPROGRAMUNIFORM4FEXTPROC glad_glProgramUniform4fEXT;\nPFNGLPROGRAMUNIFORM1IEXTPROC glad_glProgramUniform1iEXT;\nPFNGLPROGRAMUNIFORM2IEXTPROC glad_glProgramUniform2iEXT;\nPFNGLPROGRAMUNIFORM3IEXTPROC glad_glProgramUniform3iEXT;\nPFNGLPROGRAMUNIFORM4IEXTPROC glad_glProgramUniform4iEXT;\nPFNGLPROGRAMUNIFORM1FVEXTPROC glad_glProgramUniform1fvEXT;\nPFNGLPROGRAMUNIFORM2FVEXTPROC glad_glProgramUniform2fvEXT;\nPFNGLPROGRAMUNIFORM3FVEXTPROC glad_glProgramUniform3fvEXT;\nPFNGLPROGRAMUNIFORM4FVEXTPROC glad_glProgramUniform4fvEXT;\nPFNGLPROGRAMUNIFORM1IVEXTPROC glad_glProgramUniform1ivEXT;\nPFNGLPROGRAMUNIFORM2IVEXTPROC glad_glProgramUniform2ivEXT;\nPFNGLPROGRAMUNIFORM3IVEXTPROC glad_glProgramUniform3ivEXT;\nPFNGLPROGRAMUNIFORM4IVEXTPROC glad_glProgramUniform4ivEXT;\nPFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC glad_glProgramUniformMatrix2fvEXT;\nPFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC glad_glProgramUniformMatrix3fvEXT;\nPFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC glad_glProgramUniformMatrix4fvEXT;\nPFNGLPROGRAMUNIFORMMATRIX2X3FVEXTPROC glad_glProgramUniformMatrix2x3fvEXT;\nPFNGLPROGRAMUNIFORMMATRIX3X2FVEXTPROC glad_glProgramUniformMatrix3x2fvEXT;\nPFNGLPROGRAMUNIFORMMATRIX2X4FVEXTPROC glad_glProgramUniformMatrix2x4fvEXT;\nPFNGLPROGRAMUNIFORMMATRIX4X2FVEXTPROC glad_glProgramUniformMatrix4x2fvEXT;\nPFNGLPROGRAMUNIFORMMATRIX3X4FVEXTPROC glad_glProgramUniformMatrix3x4fvEXT;\nPFNGLPROGRAMUNIFORMMATRIX4X3FVEXTPROC glad_glProgramUniformMatrix4x3fvEXT;\nPFNGLTEXTUREBUFFEREXTPROC glad_glTextureBufferEXT;\nPFNGLMULTITEXBUFFEREXTPROC glad_glMultiTexBufferEXT;\nPFNGLTEXTUREPARAMETERIIVEXTPROC glad_glTextureParameterIivEXT;\nPFNGLTEXTUREPARAMETERIUIVEXTPROC glad_glTextureParameterIuivEXT;\nPFNGLGETTEXTUREPARAMETERIIVEXTPROC glad_glGetTextureParameterIivEXT;\nPFNGLGETTEXTUREPARAMETERIUIVEXTPROC glad_glGetTextureParameterIuivEXT;\nPFNGLMULTITEXPARAMETERIIVEXTPROC glad_glMultiTexParameterIivEXT;\nPFNGLMULTITEXPARAMETERIUIVEXTPROC glad_glMultiTexParameterIuivEXT;\nPFNGLGETMULTITEXPARAMETERIIVEXTPROC glad_glGetMultiTexParameterIivEXT;\nPFNGLGETMULTITEXPARAMETERIUIVEXTPROC glad_glGetMultiTexParameterIuivEXT;\nPFNGLPROGRAMUNIFORM1UIEXTPROC glad_glProgramUniform1uiEXT;\nPFNGLPROGRAMUNIFORM2UIEXTPROC glad_glProgramUniform2uiEXT;\nPFNGLPROGRAMUNIFORM3UIEXTPROC glad_glProgramUniform3uiEXT;\nPFNGLPROGRAMUNIFORM4UIEXTPROC glad_glProgramUniform4uiEXT;\nPFNGLPROGRAMUNIFORM1UIVEXTPROC glad_glProgramUniform1uivEXT;\nPFNGLPROGRAMUNIFORM2UIVEXTPROC glad_glProgramUniform2uivEXT;\nPFNGLPROGRAMUNIFORM3UIVEXTPROC glad_glProgramUniform3uivEXT;\nPFNGLPROGRAMUNIFORM4UIVEXTPROC glad_glProgramUniform4uivEXT;\nPFNGLNAMEDPROGRAMLOCALPARAMETERS4FVEXTPROC glad_glNamedProgramLocalParameters4fvEXT;\nPFNGLNAMEDPROGRAMLOCALPARAMETERI4IEXTPROC glad_glNamedProgramLocalParameterI4iEXT;\nPFNGLNAMEDPROGRAMLOCALPARAMETERI4IVEXTPROC glad_glNamedProgramLocalParameterI4ivEXT;\nPFNGLNAMEDPROGRAMLOCALPARAMETERSI4IVEXTPROC glad_glNamedProgramLocalParametersI4ivEXT;\nPFNGLNAMEDPROGRAMLOCALPARAMETERI4UIEXTPROC glad_glNamedProgramLocalParameterI4uiEXT;\nPFNGLNAMEDPROGRAMLOCALPARAMETERI4UIVEXTPROC glad_glNamedProgramLocalParameterI4uivEXT;\nPFNGLNAMEDPROGRAMLOCALPARAMETERSI4UIVEXTPROC glad_glNamedProgramLocalParametersI4uivEXT;\nPFNGLGETNAMEDPROGRAMLOCALPARAMETERIIVEXTPROC glad_glGetNamedProgramLocalParameterIivEXT;\nPFNGLGETNAMEDPROGRAMLOCALPARAMETERIUIVEXTPROC glad_glGetNamedProgramLocalParameterIuivEXT;\nPFNGLENABLECLIENTSTATEIEXTPROC glad_glEnableClientStateiEXT;\nPFNGLDISABLECLIENTSTATEIEXTPROC glad_glDisableClientStateiEXT;\nPFNGLGETFLOATI_VEXTPROC glad_glGetFloati_vEXT;\nPFNGLGETDOUBLEI_VEXTPROC glad_glGetDoublei_vEXT;\nPFNGLGETPOINTERI_VEXTPROC glad_glGetPointeri_vEXT;\nPFNGLNAMEDPROGRAMSTRINGEXTPROC glad_glNamedProgramStringEXT;\nPFNGLNAMEDPROGRAMLOCALPARAMETER4DEXTPROC glad_glNamedProgramLocalParameter4dEXT;\nPFNGLNAMEDPROGRAMLOCALPARAMETER4DVEXTPROC glad_glNamedProgramLocalParameter4dvEXT;\nPFNGLNAMEDPROGRAMLOCALPARAMETER4FEXTPROC glad_glNamedProgramLocalParameter4fEXT;\nPFNGLNAMEDPROGRAMLOCALPARAMETER4FVEXTPROC glad_glNamedProgramLocalParameter4fvEXT;\nPFNGLGETNAMEDPROGRAMLOCALPARAMETERDVEXTPROC glad_glGetNamedProgramLocalParameterdvEXT;\nPFNGLGETNAMEDPROGRAMLOCALPARAMETERFVEXTPROC glad_glGetNamedProgramLocalParameterfvEXT;\nPFNGLGETNAMEDPROGRAMIVEXTPROC glad_glGetNamedProgramivEXT;\nPFNGLGETNAMEDPROGRAMSTRINGEXTPROC glad_glGetNamedProgramStringEXT;\nPFNGLNAMEDRENDERBUFFERSTORAGEEXTPROC glad_glNamedRenderbufferStorageEXT;\nPFNGLGETNAMEDRENDERBUFFERPARAMETERIVEXTPROC glad_glGetNamedRenderbufferParameterivEXT;\nPFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC glad_glNamedRenderbufferStorageMultisampleEXT;\nPFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLECOVERAGEEXTPROC glad_glNamedRenderbufferStorageMultisampleCoverageEXT;\nPFNGLCHECKNAMEDFRAMEBUFFERSTATUSEXTPROC glad_glCheckNamedFramebufferStatusEXT;\nPFNGLNAMEDFRAMEBUFFERTEXTURE1DEXTPROC glad_glNamedFramebufferTexture1DEXT;\nPFNGLNAMEDFRAMEBUFFERTEXTURE2DEXTPROC glad_glNamedFramebufferTexture2DEXT;\nPFNGLNAMEDFRAMEBUFFERTEXTURE3DEXTPROC glad_glNamedFramebufferTexture3DEXT;\nPFNGLNAMEDFRAMEBUFFERRENDERBUFFEREXTPROC glad_glNamedFramebufferRenderbufferEXT;\nPFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC glad_glGetNamedFramebufferAttachmentParameterivEXT;\nPFNGLGENERATETEXTUREMIPMAPEXTPROC glad_glGenerateTextureMipmapEXT;\nPFNGLGENERATEMULTITEXMIPMAPEXTPROC glad_glGenerateMultiTexMipmapEXT;\nPFNGLFRAMEBUFFERDRAWBUFFEREXTPROC glad_glFramebufferDrawBufferEXT;\nPFNGLFRAMEBUFFERDRAWBUFFERSEXTPROC glad_glFramebufferDrawBuffersEXT;\nPFNGLFRAMEBUFFERREADBUFFEREXTPROC glad_glFramebufferReadBufferEXT;\nPFNGLGETFRAMEBUFFERPARAMETERIVEXTPROC glad_glGetFramebufferParameterivEXT;\nPFNGLNAMEDCOPYBUFFERSUBDATAEXTPROC glad_glNamedCopyBufferSubDataEXT;\nPFNGLNAMEDFRAMEBUFFERTEXTUREEXTPROC glad_glNamedFramebufferTextureEXT;\nPFNGLNAMEDFRAMEBUFFERTEXTURELAYEREXTPROC glad_glNamedFramebufferTextureLayerEXT;\nPFNGLNAMEDFRAMEBUFFERTEXTUREFACEEXTPROC glad_glNamedFramebufferTextureFaceEXT;\nPFNGLTEXTURERENDERBUFFEREXTPROC glad_glTextureRenderbufferEXT;\nPFNGLMULTITEXRENDERBUFFEREXTPROC glad_glMultiTexRenderbufferEXT;\nPFNGLVERTEXARRAYVERTEXOFFSETEXTPROC glad_glVertexArrayVertexOffsetEXT;\nPFNGLVERTEXARRAYCOLOROFFSETEXTPROC glad_glVertexArrayColorOffsetEXT;\nPFNGLVERTEXARRAYEDGEFLAGOFFSETEXTPROC glad_glVertexArrayEdgeFlagOffsetEXT;\nPFNGLVERTEXARRAYINDEXOFFSETEXTPROC glad_glVertexArrayIndexOffsetEXT;\nPFNGLVERTEXARRAYNORMALOFFSETEXTPROC glad_glVertexArrayNormalOffsetEXT;\nPFNGLVERTEXARRAYTEXCOORDOFFSETEXTPROC glad_glVertexArrayTexCoordOffsetEXT;\nPFNGLVERTEXARRAYMULTITEXCOORDOFFSETEXTPROC glad_glVertexArrayMultiTexCoordOffsetEXT;\nPFNGLVERTEXARRAYFOGCOORDOFFSETEXTPROC glad_glVertexArrayFogCoordOffsetEXT;\nPFNGLVERTEXARRAYSECONDARYCOLOROFFSETEXTPROC glad_glVertexArraySecondaryColorOffsetEXT;\nPFNGLVERTEXARRAYVERTEXATTRIBOFFSETEXTPROC glad_glVertexArrayVertexAttribOffsetEXT;\nPFNGLVERTEXARRAYVERTEXATTRIBIOFFSETEXTPROC glad_glVertexArrayVertexAttribIOffsetEXT;\nPFNGLENABLEVERTEXARRAYEXTPROC glad_glEnableVertexArrayEXT;\nPFNGLDISABLEVERTEXARRAYEXTPROC glad_glDisableVertexArrayEXT;\nPFNGLENABLEVERTEXARRAYATTRIBEXTPROC glad_glEnableVertexArrayAttribEXT;\nPFNGLDISABLEVERTEXARRAYATTRIBEXTPROC glad_glDisableVertexArrayAttribEXT;\nPFNGLGETVERTEXARRAYINTEGERVEXTPROC glad_glGetVertexArrayIntegervEXT;\nPFNGLGETVERTEXARRAYPOINTERVEXTPROC glad_glGetVertexArrayPointervEXT;\nPFNGLGETVERTEXARRAYINTEGERI_VEXTPROC glad_glGetVertexArrayIntegeri_vEXT;\nPFNGLGETVERTEXARRAYPOINTERI_VEXTPROC glad_glGetVertexArrayPointeri_vEXT;\nPFNGLMAPNAMEDBUFFERRANGEEXTPROC glad_glMapNamedBufferRangeEXT;\nPFNGLFLUSHMAPPEDNAMEDBUFFERRANGEEXTPROC glad_glFlushMappedNamedBufferRangeEXT;\nPFNGLNAMEDBUFFERSTORAGEEXTPROC glad_glNamedBufferStorageEXT;\nPFNGLCLEARNAMEDBUFFERDATAEXTPROC glad_glClearNamedBufferDataEXT;\nPFNGLCLEARNAMEDBUFFERSUBDATAEXTPROC glad_glClearNamedBufferSubDataEXT;\nPFNGLNAMEDFRAMEBUFFERPARAMETERIEXTPROC glad_glNamedFramebufferParameteriEXT;\nPFNGLGETNAMEDFRAMEBUFFERPARAMETERIVEXTPROC glad_glGetNamedFramebufferParameterivEXT;\nPFNGLPROGRAMUNIFORM1DEXTPROC glad_glProgramUniform1dEXT;\nPFNGLPROGRAMUNIFORM2DEXTPROC glad_glProgramUniform2dEXT;\nPFNGLPROGRAMUNIFORM3DEXTPROC glad_glProgramUniform3dEXT;\nPFNGLPROGRAMUNIFORM4DEXTPROC glad_glProgramUniform4dEXT;\nPFNGLPROGRAMUNIFORM1DVEXTPROC glad_glProgramUniform1dvEXT;\nPFNGLPROGRAMUNIFORM2DVEXTPROC glad_glProgramUniform2dvEXT;\nPFNGLPROGRAMUNIFORM3DVEXTPROC glad_glProgramUniform3dvEXT;\nPFNGLPROGRAMUNIFORM4DVEXTPROC glad_glProgramUniform4dvEXT;\nPFNGLPROGRAMUNIFORMMATRIX2DVEXTPROC glad_glProgramUniformMatrix2dvEXT;\nPFNGLPROGRAMUNIFORMMATRIX3DVEXTPROC glad_glProgramUniformMatrix3dvEXT;\nPFNGLPROGRAMUNIFORMMATRIX4DVEXTPROC glad_glProgramUniformMatrix4dvEXT;\nPFNGLPROGRAMUNIFORMMATRIX2X3DVEXTPROC glad_glProgramUniformMatrix2x3dvEXT;\nPFNGLPROGRAMUNIFORMMATRIX2X4DVEXTPROC glad_glProgramUniformMatrix2x4dvEXT;\nPFNGLPROGRAMUNIFORMMATRIX3X2DVEXTPROC glad_glProgramUniformMatrix3x2dvEXT;\nPFNGLPROGRAMUNIFORMMATRIX3X4DVEXTPROC glad_glProgramUniformMatrix3x4dvEXT;\nPFNGLPROGRAMUNIFORMMATRIX4X2DVEXTPROC glad_glProgramUniformMatrix4x2dvEXT;\nPFNGLPROGRAMUNIFORMMATRIX4X3DVEXTPROC glad_glProgramUniformMatrix4x3dvEXT;\nPFNGLTEXTUREBUFFERRANGEEXTPROC glad_glTextureBufferRangeEXT;\nPFNGLTEXTURESTORAGE1DEXTPROC glad_glTextureStorage1DEXT;\nPFNGLTEXTURESTORAGE2DEXTPROC glad_glTextureStorage2DEXT;\nPFNGLTEXTURESTORAGE3DEXTPROC glad_glTextureStorage3DEXT;\nPFNGLTEXTURESTORAGE2DMULTISAMPLEEXTPROC glad_glTextureStorage2DMultisampleEXT;\nPFNGLTEXTURESTORAGE3DMULTISAMPLEEXTPROC glad_glTextureStorage3DMultisampleEXT;\nPFNGLVERTEXARRAYBINDVERTEXBUFFEREXTPROC glad_glVertexArrayBindVertexBufferEXT;\nPFNGLVERTEXARRAYVERTEXATTRIBFORMATEXTPROC glad_glVertexArrayVertexAttribFormatEXT;\nPFNGLVERTEXARRAYVERTEXATTRIBIFORMATEXTPROC glad_glVertexArrayVertexAttribIFormatEXT;\nPFNGLVERTEXARRAYVERTEXATTRIBLFORMATEXTPROC glad_glVertexArrayVertexAttribLFormatEXT;\nPFNGLVERTEXARRAYVERTEXATTRIBBINDINGEXTPROC glad_glVertexArrayVertexAttribBindingEXT;\nPFNGLVERTEXARRAYVERTEXBINDINGDIVISOREXTPROC glad_glVertexArrayVertexBindingDivisorEXT;\nPFNGLVERTEXARRAYVERTEXATTRIBLOFFSETEXTPROC glad_glVertexArrayVertexAttribLOffsetEXT;\nPFNGLTEXTUREPAGECOMMITMENTEXTPROC glad_glTexturePageCommitmentEXT;\nPFNGLVERTEXARRAYVERTEXATTRIBDIVISOREXTPROC glad_glVertexArrayVertexAttribDivisorEXT;\nPFNGLCOLORMASKINDEXEDEXTPROC glad_glColorMaskIndexedEXT;\nPFNGLDRAWARRAYSINSTANCEDEXTPROC glad_glDrawArraysInstancedEXT;\nPFNGLDRAWELEMENTSINSTANCEDEXTPROC glad_glDrawElementsInstancedEXT;\nPFNGLDRAWRANGEELEMENTSEXTPROC glad_glDrawRangeElementsEXT;\nPFNGLBUFFERSTORAGEEXTERNALEXTPROC glad_glBufferStorageExternalEXT;\nPFNGLNAMEDBUFFERSTORAGEEXTERNALEXTPROC glad_glNamedBufferStorageExternalEXT;\nPFNGLFOGCOORDFEXTPROC glad_glFogCoordfEXT;\nPFNGLFOGCOORDFVEXTPROC glad_glFogCoordfvEXT;\nPFNGLFOGCOORDDEXTPROC glad_glFogCoorddEXT;\nPFNGLFOGCOORDDVEXTPROC glad_glFogCoorddvEXT;\nPFNGLFOGCOORDPOINTEREXTPROC glad_glFogCoordPointerEXT;\nPFNGLBLITFRAMEBUFFEREXTPROC glad_glBlitFramebufferEXT;\nPFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC glad_glRenderbufferStorageMultisampleEXT;\nPFNGLISRENDERBUFFEREXTPROC glad_glIsRenderbufferEXT;\nPFNGLBINDRENDERBUFFEREXTPROC glad_glBindRenderbufferEXT;\nPFNGLDELETERENDERBUFFERSEXTPROC glad_glDeleteRenderbuffersEXT;\nPFNGLGENRENDERBUFFERSEXTPROC glad_glGenRenderbuffersEXT;\nPFNGLRENDERBUFFERSTORAGEEXTPROC glad_glRenderbufferStorageEXT;\nPFNGLGETRENDERBUFFERPARAMETERIVEXTPROC glad_glGetRenderbufferParameterivEXT;\nPFNGLISFRAMEBUFFEREXTPROC glad_glIsFramebufferEXT;\nPFNGLBINDFRAMEBUFFEREXTPROC glad_glBindFramebufferEXT;\nPFNGLDELETEFRAMEBUFFERSEXTPROC glad_glDeleteFramebuffersEXT;\nPFNGLGENFRAMEBUFFERSEXTPROC glad_glGenFramebuffersEXT;\nPFNGLCHECKFRAMEBUFFERSTATUSEXTPROC glad_glCheckFramebufferStatusEXT;\nPFNGLFRAMEBUFFERTEXTURE1DEXTPROC glad_glFramebufferTexture1DEXT;\nPFNGLFRAMEBUFFERTEXTURE2DEXTPROC glad_glFramebufferTexture2DEXT;\nPFNGLFRAMEBUFFERTEXTURE3DEXTPROC glad_glFramebufferTexture3DEXT;\nPFNGLFRAMEBUFFERRENDERBUFFEREXTPROC glad_glFramebufferRenderbufferEXT;\nPFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC glad_glGetFramebufferAttachmentParameterivEXT;\nPFNGLGENERATEMIPMAPEXTPROC glad_glGenerateMipmapEXT;\nPFNGLPROGRAMPARAMETERIEXTPROC glad_glProgramParameteriEXT;\nPFNGLPROGRAMENVPARAMETERS4FVEXTPROC glad_glProgramEnvParameters4fvEXT;\nPFNGLPROGRAMLOCALPARAMETERS4FVEXTPROC glad_glProgramLocalParameters4fvEXT;\nPFNGLGETUNIFORMUIVEXTPROC glad_glGetUniformuivEXT;\nPFNGLBINDFRAGDATALOCATIONEXTPROC glad_glBindFragDataLocationEXT;\nPFNGLGETFRAGDATALOCATIONEXTPROC glad_glGetFragDataLocationEXT;\nPFNGLUNIFORM1UIEXTPROC glad_glUniform1uiEXT;\nPFNGLUNIFORM2UIEXTPROC glad_glUniform2uiEXT;\nPFNGLUNIFORM3UIEXTPROC glad_glUniform3uiEXT;\nPFNGLUNIFORM4UIEXTPROC glad_glUniform4uiEXT;\nPFNGLUNIFORM1UIVEXTPROC glad_glUniform1uivEXT;\nPFNGLUNIFORM2UIVEXTPROC glad_glUniform2uivEXT;\nPFNGLUNIFORM3UIVEXTPROC glad_glUniform3uivEXT;\nPFNGLUNIFORM4UIVEXTPROC glad_glUniform4uivEXT;\nPFNGLGETHISTOGRAMEXTPROC glad_glGetHistogramEXT;\nPFNGLGETHISTOGRAMPARAMETERFVEXTPROC glad_glGetHistogramParameterfvEXT;\nPFNGLGETHISTOGRAMPARAMETERIVEXTPROC glad_glGetHistogramParameterivEXT;\nPFNGLGETMINMAXEXTPROC glad_glGetMinmaxEXT;\nPFNGLGETMINMAXPARAMETERFVEXTPROC glad_glGetMinmaxParameterfvEXT;\nPFNGLGETMINMAXPARAMETERIVEXTPROC glad_glGetMinmaxParameterivEXT;\nPFNGLHISTOGRAMEXTPROC glad_glHistogramEXT;\nPFNGLMINMAXEXTPROC glad_glMinmaxEXT;\nPFNGLRESETHISTOGRAMEXTPROC glad_glResetHistogramEXT;\nPFNGLRESETMINMAXEXTPROC glad_glResetMinmaxEXT;\nPFNGLINDEXFUNCEXTPROC glad_glIndexFuncEXT;\nPFNGLINDEXMATERIALEXTPROC glad_glIndexMaterialEXT;\nPFNGLAPPLYTEXTUREEXTPROC glad_glApplyTextureEXT;\nPFNGLTEXTURELIGHTEXTPROC glad_glTextureLightEXT;\nPFNGLTEXTUREMATERIALEXTPROC glad_glTextureMaterialEXT;\nPFNGLGETUNSIGNEDBYTEVEXTPROC glad_glGetUnsignedBytevEXT;\nPFNGLGETUNSIGNEDBYTEI_VEXTPROC glad_glGetUnsignedBytei_vEXT;\nPFNGLDELETEMEMORYOBJECTSEXTPROC glad_glDeleteMemoryObjectsEXT;\nPFNGLISMEMORYOBJECTEXTPROC glad_glIsMemoryObjectEXT;\nPFNGLCREATEMEMORYOBJECTSEXTPROC glad_glCreateMemoryObjectsEXT;\nPFNGLMEMORYOBJECTPARAMETERIVEXTPROC glad_glMemoryObjectParameterivEXT;\nPFNGLGETMEMORYOBJECTPARAMETERIVEXTPROC glad_glGetMemoryObjectParameterivEXT;\nPFNGLTEXSTORAGEMEM2DEXTPROC glad_glTexStorageMem2DEXT;\nPFNGLTEXSTORAGEMEM2DMULTISAMPLEEXTPROC glad_glTexStorageMem2DMultisampleEXT;\nPFNGLTEXSTORAGEMEM3DEXTPROC glad_glTexStorageMem3DEXT;\nPFNGLTEXSTORAGEMEM3DMULTISAMPLEEXTPROC glad_glTexStorageMem3DMultisampleEXT;\nPFNGLBUFFERSTORAGEMEMEXTPROC glad_glBufferStorageMemEXT;\nPFNGLTEXTURESTORAGEMEM2DEXTPROC glad_glTextureStorageMem2DEXT;\nPFNGLTEXTURESTORAGEMEM2DMULTISAMPLEEXTPROC glad_glTextureStorageMem2DMultisampleEXT;\nPFNGLTEXTURESTORAGEMEM3DEXTPROC glad_glTextureStorageMem3DEXT;\nPFNGLTEXTURESTORAGEMEM3DMULTISAMPLEEXTPROC glad_glTextureStorageMem3DMultisampleEXT;\nPFNGLNAMEDBUFFERSTORAGEMEMEXTPROC glad_glNamedBufferStorageMemEXT;\nPFNGLTEXSTORAGEMEM1DEXTPROC glad_glTexStorageMem1DEXT;\nPFNGLTEXTURESTORAGEMEM1DEXTPROC glad_glTextureStorageMem1DEXT;\nPFNGLIMPORTMEMORYFDEXTPROC glad_glImportMemoryFdEXT;\nPFNGLIMPORTMEMORYWIN32HANDLEEXTPROC glad_glImportMemoryWin32HandleEXT;\nPFNGLIMPORTMEMORYWIN32NAMEEXTPROC glad_glImportMemoryWin32NameEXT;\nPFNGLMULTIDRAWARRAYSEXTPROC glad_glMultiDrawArraysEXT;\nPFNGLMULTIDRAWELEMENTSEXTPROC glad_glMultiDrawElementsEXT;\nPFNGLSAMPLEMASKEXTPROC glad_glSampleMaskEXT;\nPFNGLSAMPLEPATTERNEXTPROC glad_glSamplePatternEXT;\nPFNGLCOLORTABLEEXTPROC glad_glColorTableEXT;\nPFNGLGETCOLORTABLEEXTPROC glad_glGetColorTableEXT;\nPFNGLGETCOLORTABLEPARAMETERIVEXTPROC glad_glGetColorTableParameterivEXT;\nPFNGLGETCOLORTABLEPARAMETERFVEXTPROC glad_glGetColorTableParameterfvEXT;\nPFNGLPIXELTRANSFORMPARAMETERIEXTPROC glad_glPixelTransformParameteriEXT;\nPFNGLPIXELTRANSFORMPARAMETERFEXTPROC glad_glPixelTransformParameterfEXT;\nPFNGLPIXELTRANSFORMPARAMETERIVEXTPROC glad_glPixelTransformParameterivEXT;\nPFNGLPIXELTRANSFORMPARAMETERFVEXTPROC glad_glPixelTransformParameterfvEXT;\nPFNGLGETPIXELTRANSFORMPARAMETERIVEXTPROC glad_glGetPixelTransformParameterivEXT;\nPFNGLGETPIXELTRANSFORMPARAMETERFVEXTPROC glad_glGetPixelTransformParameterfvEXT;\nPFNGLPOINTPARAMETERFEXTPROC glad_glPointParameterfEXT;\nPFNGLPOINTPARAMETERFVEXTPROC glad_glPointParameterfvEXT;\nPFNGLPOLYGONOFFSETEXTPROC glad_glPolygonOffsetEXT;\nPFNGLPOLYGONOFFSETCLAMPEXTPROC glad_glPolygonOffsetClampEXT;\nPFNGLPROVOKINGVERTEXEXTPROC glad_glProvokingVertexEXT;\nPFNGLRASTERSAMPLESEXTPROC glad_glRasterSamplesEXT;\nPFNGLSECONDARYCOLOR3BEXTPROC glad_glSecondaryColor3bEXT;\nPFNGLSECONDARYCOLOR3BVEXTPROC glad_glSecondaryColor3bvEXT;\nPFNGLSECONDARYCOLOR3DEXTPROC glad_glSecondaryColor3dEXT;\nPFNGLSECONDARYCOLOR3DVEXTPROC glad_glSecondaryColor3dvEXT;\nPFNGLSECONDARYCOLOR3FEXTPROC glad_glSecondaryColor3fEXT;\nPFNGLSECONDARYCOLOR3FVEXTPROC glad_glSecondaryColor3fvEXT;\nPFNGLSECONDARYCOLOR3IEXTPROC glad_glSecondaryColor3iEXT;\nPFNGLSECONDARYCOLOR3IVEXTPROC glad_glSecondaryColor3ivEXT;\nPFNGLSECONDARYCOLOR3SEXTPROC glad_glSecondaryColor3sEXT;\nPFNGLSECONDARYCOLOR3SVEXTPROC glad_glSecondaryColor3svEXT;\nPFNGLSECONDARYCOLOR3UBEXTPROC glad_glSecondaryColor3ubEXT;\nPFNGLSECONDARYCOLOR3UBVEXTPROC glad_glSecondaryColor3ubvEXT;\nPFNGLSECONDARYCOLOR3UIEXTPROC glad_glSecondaryColor3uiEXT;\nPFNGLSECONDARYCOLOR3UIVEXTPROC glad_glSecondaryColor3uivEXT;\nPFNGLSECONDARYCOLOR3USEXTPROC glad_glSecondaryColor3usEXT;\nPFNGLSECONDARYCOLOR3USVEXTPROC glad_glSecondaryColor3usvEXT;\nPFNGLSECONDARYCOLORPOINTEREXTPROC glad_glSecondaryColorPointerEXT;\nPFNGLGENSEMAPHORESEXTPROC glad_glGenSemaphoresEXT;\nPFNGLDELETESEMAPHORESEXTPROC glad_glDeleteSemaphoresEXT;\nPFNGLISSEMAPHOREEXTPROC glad_glIsSemaphoreEXT;\nPFNGLSEMAPHOREPARAMETERUI64VEXTPROC glad_glSemaphoreParameterui64vEXT;\nPFNGLGETSEMAPHOREPARAMETERUI64VEXTPROC glad_glGetSemaphoreParameterui64vEXT;\nPFNGLWAITSEMAPHOREEXTPROC glad_glWaitSemaphoreEXT;\nPFNGLSIGNALSEMAPHOREEXTPROC glad_glSignalSemaphoreEXT;\nPFNGLIMPORTSEMAPHOREFDEXTPROC glad_glImportSemaphoreFdEXT;\nPFNGLIMPORTSEMAPHOREWIN32HANDLEEXTPROC glad_glImportSemaphoreWin32HandleEXT;\nPFNGLIMPORTSEMAPHOREWIN32NAMEEXTPROC glad_glImportSemaphoreWin32NameEXT;\nPFNGLUSESHADERPROGRAMEXTPROC glad_glUseShaderProgramEXT;\nPFNGLACTIVEPROGRAMEXTPROC glad_glActiveProgramEXT;\nPFNGLCREATESHADERPROGRAMEXTPROC glad_glCreateShaderProgramEXT;\nPFNGLACTIVESHADERPROGRAMEXTPROC glad_glActiveShaderProgramEXT;\nPFNGLBINDPROGRAMPIPELINEEXTPROC glad_glBindProgramPipelineEXT;\nPFNGLCREATESHADERPROGRAMVEXTPROC glad_glCreateShaderProgramvEXT;\nPFNGLDELETEPROGRAMPIPELINESEXTPROC glad_glDeleteProgramPipelinesEXT;\nPFNGLGENPROGRAMPIPELINESEXTPROC glad_glGenProgramPipelinesEXT;\nPFNGLGETPROGRAMPIPELINEINFOLOGEXTPROC glad_glGetProgramPipelineInfoLogEXT;\nPFNGLGETPROGRAMPIPELINEIVEXTPROC glad_glGetProgramPipelineivEXT;\nPFNGLISPROGRAMPIPELINEEXTPROC glad_glIsProgramPipelineEXT;\nPFNGLUSEPROGRAMSTAGESEXTPROC glad_glUseProgramStagesEXT;\nPFNGLVALIDATEPROGRAMPIPELINEEXTPROC glad_glValidateProgramPipelineEXT;\nPFNGLBINDIMAGETEXTUREEXTPROC glad_glBindImageTextureEXT;\nPFNGLMEMORYBARRIEREXTPROC glad_glMemoryBarrierEXT;\nPFNGLSTENCILCLEARTAGEXTPROC glad_glStencilClearTagEXT;\nPFNGLACTIVESTENCILFACEEXTPROC glad_glActiveStencilFaceEXT;\nPFNGLTEXSUBIMAGE1DEXTPROC glad_glTexSubImage1DEXT;\nPFNGLTEXSUBIMAGE2DEXTPROC glad_glTexSubImage2DEXT;\nPFNGLTEXIMAGE3DEXTPROC glad_glTexImage3DEXT;\nPFNGLTEXSUBIMAGE3DEXTPROC glad_glTexSubImage3DEXT;\nPFNGLFRAMEBUFFERTEXTURELAYEREXTPROC glad_glFramebufferTextureLayerEXT;\nPFNGLTEXBUFFEREXTPROC glad_glTexBufferEXT;\nPFNGLTEXPARAMETERIIVEXTPROC glad_glTexParameterIivEXT;\nPFNGLTEXPARAMETERIUIVEXTPROC glad_glTexParameterIuivEXT;\nPFNGLGETTEXPARAMETERIIVEXTPROC glad_glGetTexParameterIivEXT;\nPFNGLGETTEXPARAMETERIUIVEXTPROC glad_glGetTexParameterIuivEXT;\nPFNGLCLEARCOLORIIEXTPROC glad_glClearColorIiEXT;\nPFNGLCLEARCOLORIUIEXTPROC glad_glClearColorIuiEXT;\nPFNGLARETEXTURESRESIDENTEXTPROC glad_glAreTexturesResidentEXT;\nPFNGLBINDTEXTUREEXTPROC glad_glBindTextureEXT;\nPFNGLDELETETEXTURESEXTPROC glad_glDeleteTexturesEXT;\nPFNGLGENTEXTURESEXTPROC glad_glGenTexturesEXT;\nPFNGLISTEXTUREEXTPROC glad_glIsTextureEXT;\nPFNGLPRIORITIZETEXTURESEXTPROC glad_glPrioritizeTexturesEXT;\nPFNGLTEXTURENORMALEXTPROC glad_glTextureNormalEXT;\nPFNGLGETQUERYOBJECTI64VEXTPROC glad_glGetQueryObjecti64vEXT;\nPFNGLGETQUERYOBJECTUI64VEXTPROC glad_glGetQueryObjectui64vEXT;\nPFNGLBEGINTRANSFORMFEEDBACKEXTPROC glad_glBeginTransformFeedbackEXT;\nPFNGLENDTRANSFORMFEEDBACKEXTPROC glad_glEndTransformFeedbackEXT;\nPFNGLBINDBUFFERRANGEEXTPROC glad_glBindBufferRangeEXT;\nPFNGLBINDBUFFEROFFSETEXTPROC glad_glBindBufferOffsetEXT;\nPFNGLBINDBUFFERBASEEXTPROC glad_glBindBufferBaseEXT;\nPFNGLTRANSFORMFEEDBACKVARYINGSEXTPROC glad_glTransformFeedbackVaryingsEXT;\nPFNGLGETTRANSFORMFEEDBACKVARYINGEXTPROC glad_glGetTransformFeedbackVaryingEXT;\nPFNGLARRAYELEMENTEXTPROC glad_glArrayElementEXT;\nPFNGLCOLORPOINTEREXTPROC glad_glColorPointerEXT;\nPFNGLDRAWARRAYSEXTPROC glad_glDrawArraysEXT;\nPFNGLEDGEFLAGPOINTEREXTPROC glad_glEdgeFlagPointerEXT;\nPFNGLGETPOINTERVEXTPROC glad_glGetPointervEXT;\nPFNGLINDEXPOINTEREXTPROC glad_glIndexPointerEXT;\nPFNGLNORMALPOINTEREXTPROC glad_glNormalPointerEXT;\nPFNGLTEXCOORDPOINTEREXTPROC glad_glTexCoordPointerEXT;\nPFNGLVERTEXPOINTEREXTPROC glad_glVertexPointerEXT;\nPFNGLVERTEXATTRIBL1DEXTPROC glad_glVertexAttribL1dEXT;\nPFNGLVERTEXATTRIBL2DEXTPROC glad_glVertexAttribL2dEXT;\nPFNGLVERTEXATTRIBL3DEXTPROC glad_glVertexAttribL3dEXT;\nPFNGLVERTEXATTRIBL4DEXTPROC glad_glVertexAttribL4dEXT;\nPFNGLVERTEXATTRIBL1DVEXTPROC glad_glVertexAttribL1dvEXT;\nPFNGLVERTEXATTRIBL2DVEXTPROC glad_glVertexAttribL2dvEXT;\nPFNGLVERTEXATTRIBL3DVEXTPROC glad_glVertexAttribL3dvEXT;\nPFNGLVERTEXATTRIBL4DVEXTPROC glad_glVertexAttribL4dvEXT;\nPFNGLVERTEXATTRIBLPOINTEREXTPROC glad_glVertexAttribLPointerEXT;\nPFNGLGETVERTEXATTRIBLDVEXTPROC glad_glGetVertexAttribLdvEXT;\nPFNGLBEGINVERTEXSHADEREXTPROC glad_glBeginVertexShaderEXT;\nPFNGLENDVERTEXSHADEREXTPROC glad_glEndVertexShaderEXT;\nPFNGLBINDVERTEXSHADEREXTPROC glad_glBindVertexShaderEXT;\nPFNGLGENVERTEXSHADERSEXTPROC glad_glGenVertexShadersEXT;\nPFNGLDELETEVERTEXSHADEREXTPROC glad_glDeleteVertexShaderEXT;\nPFNGLSHADEROP1EXTPROC glad_glShaderOp1EXT;\nPFNGLSHADEROP2EXTPROC glad_glShaderOp2EXT;\nPFNGLSHADEROP3EXTPROC glad_glShaderOp3EXT;\nPFNGLSWIZZLEEXTPROC glad_glSwizzleEXT;\nPFNGLWRITEMASKEXTPROC glad_glWriteMaskEXT;\nPFNGLINSERTCOMPONENTEXTPROC glad_glInsertComponentEXT;\nPFNGLEXTRACTCOMPONENTEXTPROC glad_glExtractComponentEXT;\nPFNGLGENSYMBOLSEXTPROC glad_glGenSymbolsEXT;\nPFNGLSETINVARIANTEXTPROC glad_glSetInvariantEXT;\nPFNGLSETLOCALCONSTANTEXTPROC glad_glSetLocalConstantEXT;\nPFNGLVARIANTBVEXTPROC glad_glVariantbvEXT;\nPFNGLVARIANTSVEXTPROC glad_glVariantsvEXT;\nPFNGLVARIANTIVEXTPROC glad_glVariantivEXT;\nPFNGLVARIANTFVEXTPROC glad_glVariantfvEXT;\nPFNGLVARIANTDVEXTPROC glad_glVariantdvEXT;\nPFNGLVARIANTUBVEXTPROC glad_glVariantubvEXT;\nPFNGLVARIANTUSVEXTPROC glad_glVariantusvEXT;\nPFNGLVARIANTUIVEXTPROC glad_glVariantuivEXT;\nPFNGLVARIANTPOINTEREXTPROC glad_glVariantPointerEXT;\nPFNGLENABLEVARIANTCLIENTSTATEEXTPROC glad_glEnableVariantClientStateEXT;\nPFNGLDISABLEVARIANTCLIENTSTATEEXTPROC glad_glDisableVariantClientStateEXT;\nPFNGLBINDLIGHTPARAMETEREXTPROC glad_glBindLightParameterEXT;\nPFNGLBINDMATERIALPARAMETEREXTPROC glad_glBindMaterialParameterEXT;\nPFNGLBINDTEXGENPARAMETEREXTPROC glad_glBindTexGenParameterEXT;\nPFNGLBINDTEXTUREUNITPARAMETEREXTPROC glad_glBindTextureUnitParameterEXT;\nPFNGLBINDPARAMETEREXTPROC glad_glBindParameterEXT;\nPFNGLISVARIANTENABLEDEXTPROC glad_glIsVariantEnabledEXT;\nPFNGLGETVARIANTBOOLEANVEXTPROC glad_glGetVariantBooleanvEXT;\nPFNGLGETVARIANTINTEGERVEXTPROC glad_glGetVariantIntegervEXT;\nPFNGLGETVARIANTFLOATVEXTPROC glad_glGetVariantFloatvEXT;\nPFNGLGETVARIANTPOINTERVEXTPROC glad_glGetVariantPointervEXT;\nPFNGLGETINVARIANTBOOLEANVEXTPROC glad_glGetInvariantBooleanvEXT;\nPFNGLGETINVARIANTINTEGERVEXTPROC glad_glGetInvariantIntegervEXT;\nPFNGLGETINVARIANTFLOATVEXTPROC glad_glGetInvariantFloatvEXT;\nPFNGLGETLOCALCONSTANTBOOLEANVEXTPROC glad_glGetLocalConstantBooleanvEXT;\nPFNGLGETLOCALCONSTANTINTEGERVEXTPROC glad_glGetLocalConstantIntegervEXT;\nPFNGLGETLOCALCONSTANTFLOATVEXTPROC glad_glGetLocalConstantFloatvEXT;\nPFNGLVERTEXWEIGHTFEXTPROC glad_glVertexWeightfEXT;\nPFNGLVERTEXWEIGHTFVEXTPROC glad_glVertexWeightfvEXT;\nPFNGLVERTEXWEIGHTPOINTEREXTPROC glad_glVertexWeightPointerEXT;\nPFNGLACQUIREKEYEDMUTEXWIN32EXTPROC glad_glAcquireKeyedMutexWin32EXT;\nPFNGLRELEASEKEYEDMUTEXWIN32EXTPROC glad_glReleaseKeyedMutexWin32EXT;\nPFNGLWINDOWRECTANGLESEXTPROC glad_glWindowRectanglesEXT;\nPFNGLIMPORTSYNCEXTPROC glad_glImportSyncEXT;\nPFNGLFRAMETERMINATORGREMEDYPROC glad_glFrameTerminatorGREMEDY;\nPFNGLSTRINGMARKERGREMEDYPROC glad_glStringMarkerGREMEDY;\nPFNGLIMAGETRANSFORMPARAMETERIHPPROC glad_glImageTransformParameteriHP;\nPFNGLIMAGETRANSFORMPARAMETERFHPPROC glad_glImageTransformParameterfHP;\nPFNGLIMAGETRANSFORMPARAMETERIVHPPROC glad_glImageTransformParameterivHP;\nPFNGLIMAGETRANSFORMPARAMETERFVHPPROC glad_glImageTransformParameterfvHP;\nPFNGLGETIMAGETRANSFORMPARAMETERIVHPPROC glad_glGetImageTransformParameterivHP;\nPFNGLGETIMAGETRANSFORMPARAMETERFVHPPROC glad_glGetImageTransformParameterfvHP;\nPFNGLMULTIMODEDRAWARRAYSIBMPROC glad_glMultiModeDrawArraysIBM;\nPFNGLMULTIMODEDRAWELEMENTSIBMPROC glad_glMultiModeDrawElementsIBM;\nPFNGLFLUSHSTATICDATAIBMPROC glad_glFlushStaticDataIBM;\nPFNGLCOLORPOINTERLISTIBMPROC glad_glColorPointerListIBM;\nPFNGLSECONDARYCOLORPOINTERLISTIBMPROC glad_glSecondaryColorPointerListIBM;\nPFNGLEDGEFLAGPOINTERLISTIBMPROC glad_glEdgeFlagPointerListIBM;\nPFNGLFOGCOORDPOINTERLISTIBMPROC glad_glFogCoordPointerListIBM;\nPFNGLINDEXPOINTERLISTIBMPROC glad_glIndexPointerListIBM;\nPFNGLNORMALPOINTERLISTIBMPROC glad_glNormalPointerListIBM;\nPFNGLTEXCOORDPOINTERLISTIBMPROC glad_glTexCoordPointerListIBM;\nPFNGLVERTEXPOINTERLISTIBMPROC glad_glVertexPointerListIBM;\nPFNGLBLENDFUNCSEPARATEINGRPROC glad_glBlendFuncSeparateINGR;\nPFNGLAPPLYFRAMEBUFFERATTACHMENTCMAAINTELPROC glad_glApplyFramebufferAttachmentCMAAINTEL;\nPFNGLSYNCTEXTUREINTELPROC glad_glSyncTextureINTEL;\nPFNGLUNMAPTEXTURE2DINTELPROC glad_glUnmapTexture2DINTEL;\nPFNGLMAPTEXTURE2DINTELPROC glad_glMapTexture2DINTEL;\nPFNGLVERTEXPOINTERVINTELPROC glad_glVertexPointervINTEL;\nPFNGLNORMALPOINTERVINTELPROC glad_glNormalPointervINTEL;\nPFNGLCOLORPOINTERVINTELPROC glad_glColorPointervINTEL;\nPFNGLTEXCOORDPOINTERVINTELPROC glad_glTexCoordPointervINTEL;\nPFNGLBEGINPERFQUERYINTELPROC glad_glBeginPerfQueryINTEL;\nPFNGLCREATEPERFQUERYINTELPROC glad_glCreatePerfQueryINTEL;\nPFNGLDELETEPERFQUERYINTELPROC glad_glDeletePerfQueryINTEL;\nPFNGLENDPERFQUERYINTELPROC glad_glEndPerfQueryINTEL;\nPFNGLGETFIRSTPERFQUERYIDINTELPROC glad_glGetFirstPerfQueryIdINTEL;\nPFNGLGETNEXTPERFQUERYIDINTELPROC glad_glGetNextPerfQueryIdINTEL;\nPFNGLGETPERFCOUNTERINFOINTELPROC glad_glGetPerfCounterInfoINTEL;\nPFNGLGETPERFQUERYDATAINTELPROC glad_glGetPerfQueryDataINTEL;\nPFNGLGETPERFQUERYIDBYNAMEINTELPROC glad_glGetPerfQueryIdByNameINTEL;\nPFNGLGETPERFQUERYINFOINTELPROC glad_glGetPerfQueryInfoINTEL;\nPFNGLBLENDBARRIERKHRPROC glad_glBlendBarrierKHR;\nPFNGLDEBUGMESSAGECONTROLKHRPROC glad_glDebugMessageControlKHR;\nPFNGLDEBUGMESSAGEINSERTKHRPROC glad_glDebugMessageInsertKHR;\nPFNGLDEBUGMESSAGECALLBACKKHRPROC glad_glDebugMessageCallbackKHR;\nPFNGLGETDEBUGMESSAGELOGKHRPROC glad_glGetDebugMessageLogKHR;\nPFNGLPUSHDEBUGGROUPKHRPROC glad_glPushDebugGroupKHR;\nPFNGLPOPDEBUGGROUPKHRPROC glad_glPopDebugGroupKHR;\nPFNGLOBJECTLABELKHRPROC glad_glObjectLabelKHR;\nPFNGLGETOBJECTLABELKHRPROC glad_glGetObjectLabelKHR;\nPFNGLOBJECTPTRLABELKHRPROC glad_glObjectPtrLabelKHR;\nPFNGLGETOBJECTPTRLABELKHRPROC glad_glGetObjectPtrLabelKHR;\nPFNGLGETPOINTERVKHRPROC glad_glGetPointervKHR;\nPFNGLMAXSHADERCOMPILERTHREADSKHRPROC glad_glMaxShaderCompilerThreadsKHR;\nPFNGLGETGRAPHICSRESETSTATUSKHRPROC glad_glGetGraphicsResetStatusKHR;\nPFNGLREADNPIXELSKHRPROC glad_glReadnPixelsKHR;\nPFNGLGETNUNIFORMFVKHRPROC glad_glGetnUniformfvKHR;\nPFNGLGETNUNIFORMIVKHRPROC glad_glGetnUniformivKHR;\nPFNGLGETNUNIFORMUIVKHRPROC glad_glGetnUniformuivKHR;\nPFNGLRESIZEBUFFERSMESAPROC glad_glResizeBuffersMESA;\nPFNGLWINDOWPOS2DMESAPROC glad_glWindowPos2dMESA;\nPFNGLWINDOWPOS2DVMESAPROC glad_glWindowPos2dvMESA;\nPFNGLWINDOWPOS2FMESAPROC glad_glWindowPos2fMESA;\nPFNGLWINDOWPOS2FVMESAPROC glad_glWindowPos2fvMESA;\nPFNGLWINDOWPOS2IMESAPROC glad_glWindowPos2iMESA;\nPFNGLWINDOWPOS2IVMESAPROC glad_glWindowPos2ivMESA;\nPFNGLWINDOWPOS2SMESAPROC glad_glWindowPos2sMESA;\nPFNGLWINDOWPOS2SVMESAPROC glad_glWindowPos2svMESA;\nPFNGLWINDOWPOS3DMESAPROC glad_glWindowPos3dMESA;\nPFNGLWINDOWPOS3DVMESAPROC glad_glWindowPos3dvMESA;\nPFNGLWINDOWPOS3FMESAPROC glad_glWindowPos3fMESA;\nPFNGLWINDOWPOS3FVMESAPROC glad_glWindowPos3fvMESA;\nPFNGLWINDOWPOS3IMESAPROC glad_glWindowPos3iMESA;\nPFNGLWINDOWPOS3IVMESAPROC glad_glWindowPos3ivMESA;\nPFNGLWINDOWPOS3SMESAPROC glad_glWindowPos3sMESA;\nPFNGLWINDOWPOS3SVMESAPROC glad_glWindowPos3svMESA;\nPFNGLWINDOWPOS4DMESAPROC glad_glWindowPos4dMESA;\nPFNGLWINDOWPOS4DVMESAPROC glad_glWindowPos4dvMESA;\nPFNGLWINDOWPOS4FMESAPROC glad_glWindowPos4fMESA;\nPFNGLWINDOWPOS4FVMESAPROC glad_glWindowPos4fvMESA;\nPFNGLWINDOWPOS4IMESAPROC glad_glWindowPos4iMESA;\nPFNGLWINDOWPOS4IVMESAPROC glad_glWindowPos4ivMESA;\nPFNGLWINDOWPOS4SMESAPROC glad_glWindowPos4sMESA;\nPFNGLWINDOWPOS4SVMESAPROC glad_glWindowPos4svMESA;\nPFNGLBEGINCONDITIONALRENDERNVXPROC glad_glBeginConditionalRenderNVX;\nPFNGLENDCONDITIONALRENDERNVXPROC glad_glEndConditionalRenderNVX;\nPFNGLLGPUNAMEDBUFFERSUBDATANVXPROC glad_glLGPUNamedBufferSubDataNVX;\nPFNGLLGPUCOPYIMAGESUBDATANVXPROC glad_glLGPUCopyImageSubDataNVX;\nPFNGLLGPUINTERLOCKNVXPROC glad_glLGPUInterlockNVX;\nPFNGLALPHATOCOVERAGEDITHERCONTROLNVPROC glad_glAlphaToCoverageDitherControlNV;\nPFNGLMULTIDRAWARRAYSINDIRECTBINDLESSNVPROC glad_glMultiDrawArraysIndirectBindlessNV;\nPFNGLMULTIDRAWELEMENTSINDIRECTBINDLESSNVPROC glad_glMultiDrawElementsIndirectBindlessNV;\nPFNGLMULTIDRAWARRAYSINDIRECTBINDLESSCOUNTNVPROC glad_glMultiDrawArraysIndirectBindlessCountNV;\nPFNGLMULTIDRAWELEMENTSINDIRECTBINDLESSCOUNTNVPROC glad_glMultiDrawElementsIndirectBindlessCountNV;\nPFNGLGETTEXTUREHANDLENVPROC glad_glGetTextureHandleNV;\nPFNGLGETTEXTURESAMPLERHANDLENVPROC glad_glGetTextureSamplerHandleNV;\nPFNGLMAKETEXTUREHANDLERESIDENTNVPROC glad_glMakeTextureHandleResidentNV;\nPFNGLMAKETEXTUREHANDLENONRESIDENTNVPROC glad_glMakeTextureHandleNonResidentNV;\nPFNGLGETIMAGEHANDLENVPROC glad_glGetImageHandleNV;\nPFNGLMAKEIMAGEHANDLERESIDENTNVPROC glad_glMakeImageHandleResidentNV;\nPFNGLMAKEIMAGEHANDLENONRESIDENTNVPROC glad_glMakeImageHandleNonResidentNV;\nPFNGLUNIFORMHANDLEUI64NVPROC glad_glUniformHandleui64NV;\nPFNGLUNIFORMHANDLEUI64VNVPROC glad_glUniformHandleui64vNV;\nPFNGLPROGRAMUNIFORMHANDLEUI64NVPROC glad_glProgramUniformHandleui64NV;\nPFNGLPROGRAMUNIFORMHANDLEUI64VNVPROC glad_glProgramUniformHandleui64vNV;\nPFNGLISTEXTUREHANDLERESIDENTNVPROC glad_glIsTextureHandleResidentNV;\nPFNGLISIMAGEHANDLERESIDENTNVPROC glad_glIsImageHandleResidentNV;\nPFNGLBLENDPARAMETERINVPROC glad_glBlendParameteriNV;\nPFNGLBLENDBARRIERNVPROC glad_glBlendBarrierNV;\nPFNGLVIEWPORTPOSITIONWSCALENVPROC glad_glViewportPositionWScaleNV;\nPFNGLCREATESTATESNVPROC glad_glCreateStatesNV;\nPFNGLDELETESTATESNVPROC glad_glDeleteStatesNV;\nPFNGLISSTATENVPROC glad_glIsStateNV;\nPFNGLSTATECAPTURENVPROC glad_glStateCaptureNV;\nPFNGLGETCOMMANDHEADERNVPROC glad_glGetCommandHeaderNV;\nPFNGLGETSTAGEINDEXNVPROC glad_glGetStageIndexNV;\nPFNGLDRAWCOMMANDSNVPROC glad_glDrawCommandsNV;\nPFNGLDRAWCOMMANDSADDRESSNVPROC glad_glDrawCommandsAddressNV;\nPFNGLDRAWCOMMANDSSTATESNVPROC glad_glDrawCommandsStatesNV;\nPFNGLDRAWCOMMANDSSTATESADDRESSNVPROC glad_glDrawCommandsStatesAddressNV;\nPFNGLCREATECOMMANDLISTSNVPROC glad_glCreateCommandListsNV;\nPFNGLDELETECOMMANDLISTSNVPROC glad_glDeleteCommandListsNV;\nPFNGLISCOMMANDLISTNVPROC glad_glIsCommandListNV;\nPFNGLLISTDRAWCOMMANDSSTATESCLIENTNVPROC glad_glListDrawCommandsStatesClientNV;\nPFNGLCOMMANDLISTSEGMENTSNVPROC glad_glCommandListSegmentsNV;\nPFNGLCOMPILECOMMANDLISTNVPROC glad_glCompileCommandListNV;\nPFNGLCALLCOMMANDLISTNVPROC glad_glCallCommandListNV;\nPFNGLBEGINCONDITIONALRENDERNVPROC glad_glBeginConditionalRenderNV;\nPFNGLENDCONDITIONALRENDERNVPROC glad_glEndConditionalRenderNV;\nPFNGLSUBPIXELPRECISIONBIASNVPROC glad_glSubpixelPrecisionBiasNV;\nPFNGLCONSERVATIVERASTERPARAMETERFNVPROC glad_glConservativeRasterParameterfNV;\nPFNGLCONSERVATIVERASTERPARAMETERINVPROC glad_glConservativeRasterParameteriNV;\nPFNGLCOPYIMAGESUBDATANVPROC glad_glCopyImageSubDataNV;\nPFNGLDEPTHRANGEDNVPROC glad_glDepthRangedNV;\nPFNGLCLEARDEPTHDNVPROC glad_glClearDepthdNV;\nPFNGLDEPTHBOUNDSDNVPROC glad_glDepthBoundsdNV;\nPFNGLDRAWTEXTURENVPROC glad_glDrawTextureNV;\nPFNGLDRAWVKIMAGENVPROC glad_glDrawVkImageNV;\nPFNGLGETVKPROCADDRNVPROC glad_glGetVkProcAddrNV;\nPFNGLWAITVKSEMAPHORENVPROC glad_glWaitVkSemaphoreNV;\nPFNGLSIGNALVKSEMAPHORENVPROC glad_glSignalVkSemaphoreNV;\nPFNGLSIGNALVKFENCENVPROC glad_glSignalVkFenceNV;\nPFNGLMAPCONTROLPOINTSNVPROC glad_glMapControlPointsNV;\nPFNGLMAPPARAMETERIVNVPROC glad_glMapParameterivNV;\nPFNGLMAPPARAMETERFVNVPROC glad_glMapParameterfvNV;\nPFNGLGETMAPCONTROLPOINTSNVPROC glad_glGetMapControlPointsNV;\nPFNGLGETMAPPARAMETERIVNVPROC glad_glGetMapParameterivNV;\nPFNGLGETMAPPARAMETERFVNVPROC glad_glGetMapParameterfvNV;\nPFNGLGETMAPATTRIBPARAMETERIVNVPROC glad_glGetMapAttribParameterivNV;\nPFNGLGETMAPATTRIBPARAMETERFVNVPROC glad_glGetMapAttribParameterfvNV;\nPFNGLEVALMAPSNVPROC glad_glEvalMapsNV;\nPFNGLGETMULTISAMPLEFVNVPROC glad_glGetMultisamplefvNV;\nPFNGLSAMPLEMASKINDEXEDNVPROC glad_glSampleMaskIndexedNV;\nPFNGLTEXRENDERBUFFERNVPROC glad_glTexRenderbufferNV;\nPFNGLDELETEFENCESNVPROC glad_glDeleteFencesNV;\nPFNGLGENFENCESNVPROC glad_glGenFencesNV;\nPFNGLISFENCENVPROC glad_glIsFenceNV;\nPFNGLTESTFENCENVPROC glad_glTestFenceNV;\nPFNGLGETFENCEIVNVPROC glad_glGetFenceivNV;\nPFNGLFINISHFENCENVPROC glad_glFinishFenceNV;\nPFNGLSETFENCENVPROC glad_glSetFenceNV;\nPFNGLFRAGMENTCOVERAGECOLORNVPROC glad_glFragmentCoverageColorNV;\nPFNGLPROGRAMNAMEDPARAMETER4FNVPROC glad_glProgramNamedParameter4fNV;\nPFNGLPROGRAMNAMEDPARAMETER4FVNVPROC glad_glProgramNamedParameter4fvNV;\nPFNGLPROGRAMNAMEDPARAMETER4DNVPROC glad_glProgramNamedParameter4dNV;\nPFNGLPROGRAMNAMEDPARAMETER4DVNVPROC glad_glProgramNamedParameter4dvNV;\nPFNGLGETPROGRAMNAMEDPARAMETERFVNVPROC glad_glGetProgramNamedParameterfvNV;\nPFNGLGETPROGRAMNAMEDPARAMETERDVNVPROC glad_glGetProgramNamedParameterdvNV;\nPFNGLCOVERAGEMODULATIONTABLENVPROC glad_glCoverageModulationTableNV;\nPFNGLGETCOVERAGEMODULATIONTABLENVPROC glad_glGetCoverageModulationTableNV;\nPFNGLCOVERAGEMODULATIONNVPROC glad_glCoverageModulationNV;\nPFNGLRENDERBUFFERSTORAGEMULTISAMPLECOVERAGENVPROC glad_glRenderbufferStorageMultisampleCoverageNV;\nPFNGLPROGRAMVERTEXLIMITNVPROC glad_glProgramVertexLimitNV;\nPFNGLFRAMEBUFFERTEXTUREEXTPROC glad_glFramebufferTextureEXT;\nPFNGLFRAMEBUFFERTEXTUREFACEEXTPROC glad_glFramebufferTextureFaceEXT;\nPFNGLRENDERGPUMASKNVPROC glad_glRenderGpuMaskNV;\nPFNGLMULTICASTBUFFERSUBDATANVPROC glad_glMulticastBufferSubDataNV;\nPFNGLMULTICASTCOPYBUFFERSUBDATANVPROC glad_glMulticastCopyBufferSubDataNV;\nPFNGLMULTICASTCOPYIMAGESUBDATANVPROC glad_glMulticastCopyImageSubDataNV;\nPFNGLMULTICASTBLITFRAMEBUFFERNVPROC glad_glMulticastBlitFramebufferNV;\nPFNGLMULTICASTFRAMEBUFFERSAMPLELOCATIONSFVNVPROC glad_glMulticastFramebufferSampleLocationsfvNV;\nPFNGLMULTICASTBARRIERNVPROC glad_glMulticastBarrierNV;\nPFNGLMULTICASTWAITSYNCNVPROC glad_glMulticastWaitSyncNV;\nPFNGLMULTICASTGETQUERYOBJECTIVNVPROC glad_glMulticastGetQueryObjectivNV;\nPFNGLMULTICASTGETQUERYOBJECTUIVNVPROC glad_glMulticastGetQueryObjectuivNV;\nPFNGLMULTICASTGETQUERYOBJECTI64VNVPROC glad_glMulticastGetQueryObjecti64vNV;\nPFNGLMULTICASTGETQUERYOBJECTUI64VNVPROC glad_glMulticastGetQueryObjectui64vNV;\nPFNGLPROGRAMLOCALPARAMETERI4INVPROC glad_glProgramLocalParameterI4iNV;\nPFNGLPROGRAMLOCALPARAMETERI4IVNVPROC glad_glProgramLocalParameterI4ivNV;\nPFNGLPROGRAMLOCALPARAMETERSI4IVNVPROC glad_glProgramLocalParametersI4ivNV;\nPFNGLPROGRAMLOCALPARAMETERI4UINVPROC glad_glProgramLocalParameterI4uiNV;\nPFNGLPROGRAMLOCALPARAMETERI4UIVNVPROC glad_glProgramLocalParameterI4uivNV;\nPFNGLPROGRAMLOCALPARAMETERSI4UIVNVPROC glad_glProgramLocalParametersI4uivNV;\nPFNGLPROGRAMENVPARAMETERI4INVPROC glad_glProgramEnvParameterI4iNV;\nPFNGLPROGRAMENVPARAMETERI4IVNVPROC glad_glProgramEnvParameterI4ivNV;\nPFNGLPROGRAMENVPARAMETERSI4IVNVPROC glad_glProgramEnvParametersI4ivNV;\nPFNGLPROGRAMENVPARAMETERI4UINVPROC glad_glProgramEnvParameterI4uiNV;\nPFNGLPROGRAMENVPARAMETERI4UIVNVPROC glad_glProgramEnvParameterI4uivNV;\nPFNGLPROGRAMENVPARAMETERSI4UIVNVPROC glad_glProgramEnvParametersI4uivNV;\nPFNGLGETPROGRAMLOCALPARAMETERIIVNVPROC glad_glGetProgramLocalParameterIivNV;\nPFNGLGETPROGRAMLOCALPARAMETERIUIVNVPROC glad_glGetProgramLocalParameterIuivNV;\nPFNGLGETPROGRAMENVPARAMETERIIVNVPROC glad_glGetProgramEnvParameterIivNV;\nPFNGLGETPROGRAMENVPARAMETERIUIVNVPROC glad_glGetProgramEnvParameterIuivNV;\nPFNGLPROGRAMSUBROUTINEPARAMETERSUIVNVPROC glad_glProgramSubroutineParametersuivNV;\nPFNGLGETPROGRAMSUBROUTINEPARAMETERUIVNVPROC glad_glGetProgramSubroutineParameteruivNV;\nPFNGLVERTEX2HNVPROC glad_glVertex2hNV;\nPFNGLVERTEX2HVNVPROC glad_glVertex2hvNV;\nPFNGLVERTEX3HNVPROC glad_glVertex3hNV;\nPFNGLVERTEX3HVNVPROC glad_glVertex3hvNV;\nPFNGLVERTEX4HNVPROC glad_glVertex4hNV;\nPFNGLVERTEX4HVNVPROC glad_glVertex4hvNV;\nPFNGLNORMAL3HNVPROC glad_glNormal3hNV;\nPFNGLNORMAL3HVNVPROC glad_glNormal3hvNV;\nPFNGLCOLOR3HNVPROC glad_glColor3hNV;\nPFNGLCOLOR3HVNVPROC glad_glColor3hvNV;\nPFNGLCOLOR4HNVPROC glad_glColor4hNV;\nPFNGLCOLOR4HVNVPROC glad_glColor4hvNV;\nPFNGLTEXCOORD1HNVPROC glad_glTexCoord1hNV;\nPFNGLTEXCOORD1HVNVPROC glad_glTexCoord1hvNV;\nPFNGLTEXCOORD2HNVPROC glad_glTexCoord2hNV;\nPFNGLTEXCOORD2HVNVPROC glad_glTexCoord2hvNV;\nPFNGLTEXCOORD3HNVPROC glad_glTexCoord3hNV;\nPFNGLTEXCOORD3HVNVPROC glad_glTexCoord3hvNV;\nPFNGLTEXCOORD4HNVPROC glad_glTexCoord4hNV;\nPFNGLTEXCOORD4HVNVPROC glad_glTexCoord4hvNV;\nPFNGLMULTITEXCOORD1HNVPROC glad_glMultiTexCoord1hNV;\nPFNGLMULTITEXCOORD1HVNVPROC glad_glMultiTexCoord1hvNV;\nPFNGLMULTITEXCOORD2HNVPROC glad_glMultiTexCoord2hNV;\nPFNGLMULTITEXCOORD2HVNVPROC glad_glMultiTexCoord2hvNV;\nPFNGLMULTITEXCOORD3HNVPROC glad_glMultiTexCoord3hNV;\nPFNGLMULTITEXCOORD3HVNVPROC glad_glMultiTexCoord3hvNV;\nPFNGLMULTITEXCOORD4HNVPROC glad_glMultiTexCoord4hNV;\nPFNGLMULTITEXCOORD4HVNVPROC glad_glMultiTexCoord4hvNV;\nPFNGLFOGCOORDHNVPROC glad_glFogCoordhNV;\nPFNGLFOGCOORDHVNVPROC glad_glFogCoordhvNV;\nPFNGLSECONDARYCOLOR3HNVPROC glad_glSecondaryColor3hNV;\nPFNGLSECONDARYCOLOR3HVNVPROC glad_glSecondaryColor3hvNV;\nPFNGLVERTEXWEIGHTHNVPROC glad_glVertexWeighthNV;\nPFNGLVERTEXWEIGHTHVNVPROC glad_glVertexWeighthvNV;\nPFNGLVERTEXATTRIB1HNVPROC glad_glVertexAttrib1hNV;\nPFNGLVERTEXATTRIB1HVNVPROC glad_glVertexAttrib1hvNV;\nPFNGLVERTEXATTRIB2HNVPROC glad_glVertexAttrib2hNV;\nPFNGLVERTEXATTRIB2HVNVPROC glad_glVertexAttrib2hvNV;\nPFNGLVERTEXATTRIB3HNVPROC glad_glVertexAttrib3hNV;\nPFNGLVERTEXATTRIB3HVNVPROC glad_glVertexAttrib3hvNV;\nPFNGLVERTEXATTRIB4HNVPROC glad_glVertexAttrib4hNV;\nPFNGLVERTEXATTRIB4HVNVPROC glad_glVertexAttrib4hvNV;\nPFNGLVERTEXATTRIBS1HVNVPROC glad_glVertexAttribs1hvNV;\nPFNGLVERTEXATTRIBS2HVNVPROC glad_glVertexAttribs2hvNV;\nPFNGLVERTEXATTRIBS3HVNVPROC glad_glVertexAttribs3hvNV;\nPFNGLVERTEXATTRIBS4HVNVPROC glad_glVertexAttribs4hvNV;\nPFNGLGETINTERNALFORMATSAMPLEIVNVPROC glad_glGetInternalformatSampleivNV;\nPFNGLGENOCCLUSIONQUERIESNVPROC glad_glGenOcclusionQueriesNV;\nPFNGLDELETEOCCLUSIONQUERIESNVPROC glad_glDeleteOcclusionQueriesNV;\nPFNGLISOCCLUSIONQUERYNVPROC glad_glIsOcclusionQueryNV;\nPFNGLBEGINOCCLUSIONQUERYNVPROC glad_glBeginOcclusionQueryNV;\nPFNGLENDOCCLUSIONQUERYNVPROC glad_glEndOcclusionQueryNV;\nPFNGLGETOCCLUSIONQUERYIVNVPROC glad_glGetOcclusionQueryivNV;\nPFNGLGETOCCLUSIONQUERYUIVNVPROC glad_glGetOcclusionQueryuivNV;\nPFNGLPROGRAMBUFFERPARAMETERSFVNVPROC glad_glProgramBufferParametersfvNV;\nPFNGLPROGRAMBUFFERPARAMETERSIIVNVPROC glad_glProgramBufferParametersIivNV;\nPFNGLPROGRAMBUFFERPARAMETERSIUIVNVPROC glad_glProgramBufferParametersIuivNV;\nPFNGLGENPATHSNVPROC glad_glGenPathsNV;\nPFNGLDELETEPATHSNVPROC glad_glDeletePathsNV;\nPFNGLISPATHNVPROC glad_glIsPathNV;\nPFNGLPATHCOMMANDSNVPROC glad_glPathCommandsNV;\nPFNGLPATHCOORDSNVPROC glad_glPathCoordsNV;\nPFNGLPATHSUBCOMMANDSNVPROC glad_glPathSubCommandsNV;\nPFNGLPATHSUBCOORDSNVPROC glad_glPathSubCoordsNV;\nPFNGLPATHSTRINGNVPROC glad_glPathStringNV;\nPFNGLPATHGLYPHSNVPROC glad_glPathGlyphsNV;\nPFNGLPATHGLYPHRANGENVPROC glad_glPathGlyphRangeNV;\nPFNGLWEIGHTPATHSNVPROC glad_glWeightPathsNV;\nPFNGLCOPYPATHNVPROC glad_glCopyPathNV;\nPFNGLINTERPOLATEPATHSNVPROC glad_glInterpolatePathsNV;\nPFNGLTRANSFORMPATHNVPROC glad_glTransformPathNV;\nPFNGLPATHPARAMETERIVNVPROC glad_glPathParameterivNV;\nPFNGLPATHPARAMETERINVPROC glad_glPathParameteriNV;\nPFNGLPATHPARAMETERFVNVPROC glad_glPathParameterfvNV;\nPFNGLPATHPARAMETERFNVPROC glad_glPathParameterfNV;\nPFNGLPATHDASHARRAYNVPROC glad_glPathDashArrayNV;\nPFNGLPATHSTENCILFUNCNVPROC glad_glPathStencilFuncNV;\nPFNGLPATHSTENCILDEPTHOFFSETNVPROC glad_glPathStencilDepthOffsetNV;\nPFNGLSTENCILFILLPATHNVPROC glad_glStencilFillPathNV;\nPFNGLSTENCILSTROKEPATHNVPROC glad_glStencilStrokePathNV;\nPFNGLSTENCILFILLPATHINSTANCEDNVPROC glad_glStencilFillPathInstancedNV;\nPFNGLSTENCILSTROKEPATHINSTANCEDNVPROC glad_glStencilStrokePathInstancedNV;\nPFNGLPATHCOVERDEPTHFUNCNVPROC glad_glPathCoverDepthFuncNV;\nPFNGLCOVERFILLPATHNVPROC glad_glCoverFillPathNV;\nPFNGLCOVERSTROKEPATHNVPROC glad_glCoverStrokePathNV;\nPFNGLCOVERFILLPATHINSTANCEDNVPROC glad_glCoverFillPathInstancedNV;\nPFNGLCOVERSTROKEPATHINSTANCEDNVPROC glad_glCoverStrokePathInstancedNV;\nPFNGLGETPATHPARAMETERIVNVPROC glad_glGetPathParameterivNV;\nPFNGLGETPATHPARAMETERFVNVPROC glad_glGetPathParameterfvNV;\nPFNGLGETPATHCOMMANDSNVPROC glad_glGetPathCommandsNV;\nPFNGLGETPATHCOORDSNVPROC glad_glGetPathCoordsNV;\nPFNGLGETPATHDASHARRAYNVPROC glad_glGetPathDashArrayNV;\nPFNGLGETPATHMETRICSNVPROC glad_glGetPathMetricsNV;\nPFNGLGETPATHMETRICRANGENVPROC glad_glGetPathMetricRangeNV;\nPFNGLGETPATHSPACINGNVPROC glad_glGetPathSpacingNV;\nPFNGLISPOINTINFILLPATHNVPROC glad_glIsPointInFillPathNV;\nPFNGLISPOINTINSTROKEPATHNVPROC glad_glIsPointInStrokePathNV;\nPFNGLGETPATHLENGTHNVPROC glad_glGetPathLengthNV;\nPFNGLPOINTALONGPATHNVPROC glad_glPointAlongPathNV;\nPFNGLMATRIXLOAD3X2FNVPROC glad_glMatrixLoad3x2fNV;\nPFNGLMATRIXLOAD3X3FNVPROC glad_glMatrixLoad3x3fNV;\nPFNGLMATRIXLOADTRANSPOSE3X3FNVPROC glad_glMatrixLoadTranspose3x3fNV;\nPFNGLMATRIXMULT3X2FNVPROC glad_glMatrixMult3x2fNV;\nPFNGLMATRIXMULT3X3FNVPROC glad_glMatrixMult3x3fNV;\nPFNGLMATRIXMULTTRANSPOSE3X3FNVPROC glad_glMatrixMultTranspose3x3fNV;\nPFNGLSTENCILTHENCOVERFILLPATHNVPROC glad_glStencilThenCoverFillPathNV;\nPFNGLSTENCILTHENCOVERSTROKEPATHNVPROC glad_glStencilThenCoverStrokePathNV;\nPFNGLSTENCILTHENCOVERFILLPATHINSTANCEDNVPROC glad_glStencilThenCoverFillPathInstancedNV;\nPFNGLSTENCILTHENCOVERSTROKEPATHINSTANCEDNVPROC glad_glStencilThenCoverStrokePathInstancedNV;\nPFNGLPATHGLYPHINDEXRANGENVPROC glad_glPathGlyphIndexRangeNV;\nPFNGLPATHGLYPHINDEXARRAYNVPROC glad_glPathGlyphIndexArrayNV;\nPFNGLPATHMEMORYGLYPHINDEXARRAYNVPROC glad_glPathMemoryGlyphIndexArrayNV;\nPFNGLPROGRAMPATHFRAGMENTINPUTGENNVPROC glad_glProgramPathFragmentInputGenNV;\nPFNGLGETPROGRAMRESOURCEFVNVPROC glad_glGetProgramResourcefvNV;\nPFNGLPATHCOLORGENNVPROC glad_glPathColorGenNV;\nPFNGLPATHTEXGENNVPROC glad_glPathTexGenNV;\nPFNGLPATHFOGGENNVPROC glad_glPathFogGenNV;\nPFNGLGETPATHCOLORGENIVNVPROC glad_glGetPathColorGenivNV;\nPFNGLGETPATHCOLORGENFVNVPROC glad_glGetPathColorGenfvNV;\nPFNGLGETPATHTEXGENIVNVPROC glad_glGetPathTexGenivNV;\nPFNGLGETPATHTEXGENFVNVPROC glad_glGetPathTexGenfvNV;\nPFNGLPIXELDATARANGENVPROC glad_glPixelDataRangeNV;\nPFNGLFLUSHPIXELDATARANGENVPROC glad_glFlushPixelDataRangeNV;\nPFNGLPOINTPARAMETERINVPROC glad_glPointParameteriNV;\nPFNGLPOINTPARAMETERIVNVPROC glad_glPointParameterivNV;\nPFNGLPRESENTFRAMEKEYEDNVPROC glad_glPresentFrameKeyedNV;\nPFNGLPRESENTFRAMEDUALFILLNVPROC glad_glPresentFrameDualFillNV;\nPFNGLGETVIDEOIVNVPROC glad_glGetVideoivNV;\nPFNGLGETVIDEOUIVNVPROC glad_glGetVideouivNV;\nPFNGLGETVIDEOI64VNVPROC glad_glGetVideoi64vNV;\nPFNGLGETVIDEOUI64VNVPROC glad_glGetVideoui64vNV;\nPFNGLPRIMITIVERESTARTNVPROC glad_glPrimitiveRestartNV;\nPFNGLPRIMITIVERESTARTINDEXNVPROC glad_glPrimitiveRestartIndexNV;\nPFNGLQUERYRESOURCENVPROC glad_glQueryResourceNV;\nPFNGLGENQUERYRESOURCETAGNVPROC glad_glGenQueryResourceTagNV;\nPFNGLDELETEQUERYRESOURCETAGNVPROC glad_glDeleteQueryResourceTagNV;\nPFNGLQUERYRESOURCETAGNVPROC glad_glQueryResourceTagNV;\nPFNGLCOMBINERPARAMETERFVNVPROC glad_glCombinerParameterfvNV;\nPFNGLCOMBINERPARAMETERFNVPROC glad_glCombinerParameterfNV;\nPFNGLCOMBINERPARAMETERIVNVPROC glad_glCombinerParameterivNV;\nPFNGLCOMBINERPARAMETERINVPROC glad_glCombinerParameteriNV;\nPFNGLCOMBINERINPUTNVPROC glad_glCombinerInputNV;\nPFNGLCOMBINEROUTPUTNVPROC glad_glCombinerOutputNV;\nPFNGLFINALCOMBINERINPUTNVPROC glad_glFinalCombinerInputNV;\nPFNGLGETCOMBINERINPUTPARAMETERFVNVPROC glad_glGetCombinerInputParameterfvNV;\nPFNGLGETCOMBINERINPUTPARAMETERIVNVPROC glad_glGetCombinerInputParameterivNV;\nPFNGLGETCOMBINEROUTPUTPARAMETERFVNVPROC glad_glGetCombinerOutputParameterfvNV;\nPFNGLGETCOMBINEROUTPUTPARAMETERIVNVPROC glad_glGetCombinerOutputParameterivNV;\nPFNGLGETFINALCOMBINERINPUTPARAMETERFVNVPROC glad_glGetFinalCombinerInputParameterfvNV;\nPFNGLGETFINALCOMBINERINPUTPARAMETERIVNVPROC glad_glGetFinalCombinerInputParameterivNV;\nPFNGLCOMBINERSTAGEPARAMETERFVNVPROC glad_glCombinerStageParameterfvNV;\nPFNGLGETCOMBINERSTAGEPARAMETERFVNVPROC glad_glGetCombinerStageParameterfvNV;\nPFNGLFRAMEBUFFERSAMPLELOCATIONSFVNVPROC glad_glFramebufferSampleLocationsfvNV;\nPFNGLNAMEDFRAMEBUFFERSAMPLELOCATIONSFVNVPROC glad_glNamedFramebufferSampleLocationsfvNV;\nPFNGLRESOLVEDEPTHVALUESNVPROC glad_glResolveDepthValuesNV;\nPFNGLMAKEBUFFERRESIDENTNVPROC glad_glMakeBufferResidentNV;\nPFNGLMAKEBUFFERNONRESIDENTNVPROC glad_glMakeBufferNonResidentNV;\nPFNGLISBUFFERRESIDENTNVPROC glad_glIsBufferResidentNV;\nPFNGLMAKENAMEDBUFFERRESIDENTNVPROC glad_glMakeNamedBufferResidentNV;\nPFNGLMAKENAMEDBUFFERNONRESIDENTNVPROC glad_glMakeNamedBufferNonResidentNV;\nPFNGLISNAMEDBUFFERRESIDENTNVPROC glad_glIsNamedBufferResidentNV;\nPFNGLGETBUFFERPARAMETERUI64VNVPROC glad_glGetBufferParameterui64vNV;\nPFNGLGETNAMEDBUFFERPARAMETERUI64VNVPROC glad_glGetNamedBufferParameterui64vNV;\nPFNGLGETINTEGERUI64VNVPROC glad_glGetIntegerui64vNV;\nPFNGLUNIFORMUI64NVPROC glad_glUniformui64NV;\nPFNGLUNIFORMUI64VNVPROC glad_glUniformui64vNV;\nPFNGLPROGRAMUNIFORMUI64NVPROC glad_glProgramUniformui64NV;\nPFNGLPROGRAMUNIFORMUI64VNVPROC glad_glProgramUniformui64vNV;\nPFNGLTEXTUREBARRIERNVPROC glad_glTextureBarrierNV;\nPFNGLTEXIMAGE2DMULTISAMPLECOVERAGENVPROC glad_glTexImage2DMultisampleCoverageNV;\nPFNGLTEXIMAGE3DMULTISAMPLECOVERAGENVPROC glad_glTexImage3DMultisampleCoverageNV;\nPFNGLTEXTUREIMAGE2DMULTISAMPLENVPROC glad_glTextureImage2DMultisampleNV;\nPFNGLTEXTUREIMAGE3DMULTISAMPLENVPROC glad_glTextureImage3DMultisampleNV;\nPFNGLTEXTUREIMAGE2DMULTISAMPLECOVERAGENVPROC glad_glTextureImage2DMultisampleCoverageNV;\nPFNGLTEXTUREIMAGE3DMULTISAMPLECOVERAGENVPROC glad_glTextureImage3DMultisampleCoverageNV;\nPFNGLBEGINTRANSFORMFEEDBACKNVPROC glad_glBeginTransformFeedbackNV;\nPFNGLENDTRANSFORMFEEDBACKNVPROC glad_glEndTransformFeedbackNV;\nPFNGLTRANSFORMFEEDBACKATTRIBSNVPROC glad_glTransformFeedbackAttribsNV;\nPFNGLBINDBUFFERRANGENVPROC glad_glBindBufferRangeNV;\nPFNGLBINDBUFFEROFFSETNVPROC glad_glBindBufferOffsetNV;\nPFNGLBINDBUFFERBASENVPROC glad_glBindBufferBaseNV;\nPFNGLTRANSFORMFEEDBACKVARYINGSNVPROC glad_glTransformFeedbackVaryingsNV;\nPFNGLACTIVEVARYINGNVPROC glad_glActiveVaryingNV;\nPFNGLGETVARYINGLOCATIONNVPROC glad_glGetVaryingLocationNV;\nPFNGLGETACTIVEVARYINGNVPROC glad_glGetActiveVaryingNV;\nPFNGLGETTRANSFORMFEEDBACKVARYINGNVPROC glad_glGetTransformFeedbackVaryingNV;\nPFNGLTRANSFORMFEEDBACKSTREAMATTRIBSNVPROC glad_glTransformFeedbackStreamAttribsNV;\nPFNGLBINDTRANSFORMFEEDBACKNVPROC glad_glBindTransformFeedbackNV;\nPFNGLDELETETRANSFORMFEEDBACKSNVPROC glad_glDeleteTransformFeedbacksNV;\nPFNGLGENTRANSFORMFEEDBACKSNVPROC glad_glGenTransformFeedbacksNV;\nPFNGLISTRANSFORMFEEDBACKNVPROC glad_glIsTransformFeedbackNV;\nPFNGLPAUSETRANSFORMFEEDBACKNVPROC glad_glPauseTransformFeedbackNV;\nPFNGLRESUMETRANSFORMFEEDBACKNVPROC glad_glResumeTransformFeedbackNV;\nPFNGLDRAWTRANSFORMFEEDBACKNVPROC glad_glDrawTransformFeedbackNV;\nPFNGLVDPAUINITNVPROC glad_glVDPAUInitNV;\nPFNGLVDPAUFININVPROC glad_glVDPAUFiniNV;\nPFNGLVDPAUREGISTERVIDEOSURFACENVPROC glad_glVDPAURegisterVideoSurfaceNV;\nPFNGLVDPAUREGISTEROUTPUTSURFACENVPROC glad_glVDPAURegisterOutputSurfaceNV;\nPFNGLVDPAUISSURFACENVPROC glad_glVDPAUIsSurfaceNV;\nPFNGLVDPAUUNREGISTERSURFACENVPROC glad_glVDPAUUnregisterSurfaceNV;\nPFNGLVDPAUGETSURFACEIVNVPROC glad_glVDPAUGetSurfaceivNV;\nPFNGLVDPAUSURFACEACCESSNVPROC glad_glVDPAUSurfaceAccessNV;\nPFNGLVDPAUMAPSURFACESNVPROC glad_glVDPAUMapSurfacesNV;\nPFNGLVDPAUUNMAPSURFACESNVPROC glad_glVDPAUUnmapSurfacesNV;\nPFNGLFLUSHVERTEXARRAYRANGENVPROC glad_glFlushVertexArrayRangeNV;\nPFNGLVERTEXARRAYRANGENVPROC glad_glVertexArrayRangeNV;\nPFNGLVERTEXATTRIBL1I64NVPROC glad_glVertexAttribL1i64NV;\nPFNGLVERTEXATTRIBL2I64NVPROC glad_glVertexAttribL2i64NV;\nPFNGLVERTEXATTRIBL3I64NVPROC glad_glVertexAttribL3i64NV;\nPFNGLVERTEXATTRIBL4I64NVPROC glad_glVertexAttribL4i64NV;\nPFNGLVERTEXATTRIBL1I64VNVPROC glad_glVertexAttribL1i64vNV;\nPFNGLVERTEXATTRIBL2I64VNVPROC glad_glVertexAttribL2i64vNV;\nPFNGLVERTEXATTRIBL3I64VNVPROC glad_glVertexAttribL3i64vNV;\nPFNGLVERTEXATTRIBL4I64VNVPROC glad_glVertexAttribL4i64vNV;\nPFNGLVERTEXATTRIBL1UI64NVPROC glad_glVertexAttribL1ui64NV;\nPFNGLVERTEXATTRIBL2UI64NVPROC glad_glVertexAttribL2ui64NV;\nPFNGLVERTEXATTRIBL3UI64NVPROC glad_glVertexAttribL3ui64NV;\nPFNGLVERTEXATTRIBL4UI64NVPROC glad_glVertexAttribL4ui64NV;\nPFNGLVERTEXATTRIBL1UI64VNVPROC glad_glVertexAttribL1ui64vNV;\nPFNGLVERTEXATTRIBL2UI64VNVPROC glad_glVertexAttribL2ui64vNV;\nPFNGLVERTEXATTRIBL3UI64VNVPROC glad_glVertexAttribL3ui64vNV;\nPFNGLVERTEXATTRIBL4UI64VNVPROC glad_glVertexAttribL4ui64vNV;\nPFNGLGETVERTEXATTRIBLI64VNVPROC glad_glGetVertexAttribLi64vNV;\nPFNGLGETVERTEXATTRIBLUI64VNVPROC glad_glGetVertexAttribLui64vNV;\nPFNGLVERTEXATTRIBLFORMATNVPROC glad_glVertexAttribLFormatNV;\nPFNGLBUFFERADDRESSRANGENVPROC glad_glBufferAddressRangeNV;\nPFNGLVERTEXFORMATNVPROC glad_glVertexFormatNV;\nPFNGLNORMALFORMATNVPROC glad_glNormalFormatNV;\nPFNGLCOLORFORMATNVPROC glad_glColorFormatNV;\nPFNGLINDEXFORMATNVPROC glad_glIndexFormatNV;\nPFNGLTEXCOORDFORMATNVPROC glad_glTexCoordFormatNV;\nPFNGLEDGEFLAGFORMATNVPROC glad_glEdgeFlagFormatNV;\nPFNGLSECONDARYCOLORFORMATNVPROC glad_glSecondaryColorFormatNV;\nPFNGLFOGCOORDFORMATNVPROC glad_glFogCoordFormatNV;\nPFNGLVERTEXATTRIBFORMATNVPROC glad_glVertexAttribFormatNV;\nPFNGLVERTEXATTRIBIFORMATNVPROC glad_glVertexAttribIFormatNV;\nPFNGLGETINTEGERUI64I_VNVPROC glad_glGetIntegerui64i_vNV;\nPFNGLAREPROGRAMSRESIDENTNVPROC glad_glAreProgramsResidentNV;\nPFNGLBINDPROGRAMNVPROC glad_glBindProgramNV;\nPFNGLDELETEPROGRAMSNVPROC glad_glDeleteProgramsNV;\nPFNGLEXECUTEPROGRAMNVPROC glad_glExecuteProgramNV;\nPFNGLGENPROGRAMSNVPROC glad_glGenProgramsNV;\nPFNGLGETPROGRAMPARAMETERDVNVPROC glad_glGetProgramParameterdvNV;\nPFNGLGETPROGRAMPARAMETERFVNVPROC glad_glGetProgramParameterfvNV;\nPFNGLGETPROGRAMIVNVPROC glad_glGetProgramivNV;\nPFNGLGETPROGRAMSTRINGNVPROC glad_glGetProgramStringNV;\nPFNGLGETTRACKMATRIXIVNVPROC glad_glGetTrackMatrixivNV;\nPFNGLGETVERTEXATTRIBDVNVPROC glad_glGetVertexAttribdvNV;\nPFNGLGETVERTEXATTRIBFVNVPROC glad_glGetVertexAttribfvNV;\nPFNGLGETVERTEXATTRIBIVNVPROC glad_glGetVertexAttribivNV;\nPFNGLGETVERTEXATTRIBPOINTERVNVPROC glad_glGetVertexAttribPointervNV;\nPFNGLISPROGRAMNVPROC glad_glIsProgramNV;\nPFNGLLOADPROGRAMNVPROC glad_glLoadProgramNV;\nPFNGLPROGRAMPARAMETER4DNVPROC glad_glProgramParameter4dNV;\nPFNGLPROGRAMPARAMETER4DVNVPROC glad_glProgramParameter4dvNV;\nPFNGLPROGRAMPARAMETER4FNVPROC glad_glProgramParameter4fNV;\nPFNGLPROGRAMPARAMETER4FVNVPROC glad_glProgramParameter4fvNV;\nPFNGLPROGRAMPARAMETERS4DVNVPROC glad_glProgramParameters4dvNV;\nPFNGLPROGRAMPARAMETERS4FVNVPROC glad_glProgramParameters4fvNV;\nPFNGLREQUESTRESIDENTPROGRAMSNVPROC glad_glRequestResidentProgramsNV;\nPFNGLTRACKMATRIXNVPROC glad_glTrackMatrixNV;\nPFNGLVERTEXATTRIBPOINTERNVPROC glad_glVertexAttribPointerNV;\nPFNGLVERTEXATTRIB1DNVPROC glad_glVertexAttrib1dNV;\nPFNGLVERTEXATTRIB1DVNVPROC glad_glVertexAttrib1dvNV;\nPFNGLVERTEXATTRIB1FNVPROC glad_glVertexAttrib1fNV;\nPFNGLVERTEXATTRIB1FVNVPROC glad_glVertexAttrib1fvNV;\nPFNGLVERTEXATTRIB1SNVPROC glad_glVertexAttrib1sNV;\nPFNGLVERTEXATTRIB1SVNVPROC glad_glVertexAttrib1svNV;\nPFNGLVERTEXATTRIB2DNVPROC glad_glVertexAttrib2dNV;\nPFNGLVERTEXATTRIB2DVNVPROC glad_glVertexAttrib2dvNV;\nPFNGLVERTEXATTRIB2FNVPROC glad_glVertexAttrib2fNV;\nPFNGLVERTEXATTRIB2FVNVPROC glad_glVertexAttrib2fvNV;\nPFNGLVERTEXATTRIB2SNVPROC glad_glVertexAttrib2sNV;\nPFNGLVERTEXATTRIB2SVNVPROC glad_glVertexAttrib2svNV;\nPFNGLVERTEXATTRIB3DNVPROC glad_glVertexAttrib3dNV;\nPFNGLVERTEXATTRIB3DVNVPROC glad_glVertexAttrib3dvNV;\nPFNGLVERTEXATTRIB3FNVPROC glad_glVertexAttrib3fNV;\nPFNGLVERTEXATTRIB3FVNVPROC glad_glVertexAttrib3fvNV;\nPFNGLVERTEXATTRIB3SNVPROC glad_glVertexAttrib3sNV;\nPFNGLVERTEXATTRIB3SVNVPROC glad_glVertexAttrib3svNV;\nPFNGLVERTEXATTRIB4DNVPROC glad_glVertexAttrib4dNV;\nPFNGLVERTEXATTRIB4DVNVPROC glad_glVertexAttrib4dvNV;\nPFNGLVERTEXATTRIB4FNVPROC glad_glVertexAttrib4fNV;\nPFNGLVERTEXATTRIB4FVNVPROC glad_glVertexAttrib4fvNV;\nPFNGLVERTEXATTRIB4SNVPROC glad_glVertexAttrib4sNV;\nPFNGLVERTEXATTRIB4SVNVPROC glad_glVertexAttrib4svNV;\nPFNGLVERTEXATTRIB4UBNVPROC glad_glVertexAttrib4ubNV;\nPFNGLVERTEXATTRIB4UBVNVPROC glad_glVertexAttrib4ubvNV;\nPFNGLVERTEXATTRIBS1DVNVPROC glad_glVertexAttribs1dvNV;\nPFNGLVERTEXATTRIBS1FVNVPROC glad_glVertexAttribs1fvNV;\nPFNGLVERTEXATTRIBS1SVNVPROC glad_glVertexAttribs1svNV;\nPFNGLVERTEXATTRIBS2DVNVPROC glad_glVertexAttribs2dvNV;\nPFNGLVERTEXATTRIBS2FVNVPROC glad_glVertexAttribs2fvNV;\nPFNGLVERTEXATTRIBS2SVNVPROC glad_glVertexAttribs2svNV;\nPFNGLVERTEXATTRIBS3DVNVPROC glad_glVertexAttribs3dvNV;\nPFNGLVERTEXATTRIBS3FVNVPROC glad_glVertexAttribs3fvNV;\nPFNGLVERTEXATTRIBS3SVNVPROC glad_glVertexAttribs3svNV;\nPFNGLVERTEXATTRIBS4DVNVPROC glad_glVertexAttribs4dvNV;\nPFNGLVERTEXATTRIBS4FVNVPROC glad_glVertexAttribs4fvNV;\nPFNGLVERTEXATTRIBS4SVNVPROC glad_glVertexAttribs4svNV;\nPFNGLVERTEXATTRIBS4UBVNVPROC glad_glVertexAttribs4ubvNV;\nPFNGLVERTEXATTRIBI1IEXTPROC glad_glVertexAttribI1iEXT;\nPFNGLVERTEXATTRIBI2IEXTPROC glad_glVertexAttribI2iEXT;\nPFNGLVERTEXATTRIBI3IEXTPROC glad_glVertexAttribI3iEXT;\nPFNGLVERTEXATTRIBI4IEXTPROC glad_glVertexAttribI4iEXT;\nPFNGLVERTEXATTRIBI1UIEXTPROC glad_glVertexAttribI1uiEXT;\nPFNGLVERTEXATTRIBI2UIEXTPROC glad_glVertexAttribI2uiEXT;\nPFNGLVERTEXATTRIBI3UIEXTPROC glad_glVertexAttribI3uiEXT;\nPFNGLVERTEXATTRIBI4UIEXTPROC glad_glVertexAttribI4uiEXT;\nPFNGLVERTEXATTRIBI1IVEXTPROC glad_glVertexAttribI1ivEXT;\nPFNGLVERTEXATTRIBI2IVEXTPROC glad_glVertexAttribI2ivEXT;\nPFNGLVERTEXATTRIBI3IVEXTPROC glad_glVertexAttribI3ivEXT;\nPFNGLVERTEXATTRIBI4IVEXTPROC glad_glVertexAttribI4ivEXT;\nPFNGLVERTEXATTRIBI1UIVEXTPROC glad_glVertexAttribI1uivEXT;\nPFNGLVERTEXATTRIBI2UIVEXTPROC glad_glVertexAttribI2uivEXT;\nPFNGLVERTEXATTRIBI3UIVEXTPROC glad_glVertexAttribI3uivEXT;\nPFNGLVERTEXATTRIBI4UIVEXTPROC glad_glVertexAttribI4uivEXT;\nPFNGLVERTEXATTRIBI4BVEXTPROC glad_glVertexAttribI4bvEXT;\nPFNGLVERTEXATTRIBI4SVEXTPROC glad_glVertexAttribI4svEXT;\nPFNGLVERTEXATTRIBI4UBVEXTPROC glad_glVertexAttribI4ubvEXT;\nPFNGLVERTEXATTRIBI4USVEXTPROC glad_glVertexAttribI4usvEXT;\nPFNGLVERTEXATTRIBIPOINTEREXTPROC glad_glVertexAttribIPointerEXT;\nPFNGLGETVERTEXATTRIBIIVEXTPROC glad_glGetVertexAttribIivEXT;\nPFNGLGETVERTEXATTRIBIUIVEXTPROC glad_glGetVertexAttribIuivEXT;\nPFNGLBEGINVIDEOCAPTURENVPROC glad_glBeginVideoCaptureNV;\nPFNGLBINDVIDEOCAPTURESTREAMBUFFERNVPROC glad_glBindVideoCaptureStreamBufferNV;\nPFNGLBINDVIDEOCAPTURESTREAMTEXTURENVPROC glad_glBindVideoCaptureStreamTextureNV;\nPFNGLENDVIDEOCAPTURENVPROC glad_glEndVideoCaptureNV;\nPFNGLGETVIDEOCAPTUREIVNVPROC glad_glGetVideoCaptureivNV;\nPFNGLGETVIDEOCAPTURESTREAMIVNVPROC glad_glGetVideoCaptureStreamivNV;\nPFNGLGETVIDEOCAPTURESTREAMFVNVPROC glad_glGetVideoCaptureStreamfvNV;\nPFNGLGETVIDEOCAPTURESTREAMDVNVPROC glad_glGetVideoCaptureStreamdvNV;\nPFNGLVIDEOCAPTURENVPROC glad_glVideoCaptureNV;\nPFNGLVIDEOCAPTURESTREAMPARAMETERIVNVPROC glad_glVideoCaptureStreamParameterivNV;\nPFNGLVIDEOCAPTURESTREAMPARAMETERFVNVPROC glad_glVideoCaptureStreamParameterfvNV;\nPFNGLVIDEOCAPTURESTREAMPARAMETERDVNVPROC glad_glVideoCaptureStreamParameterdvNV;\nPFNGLVIEWPORTSWIZZLENVPROC glad_glViewportSwizzleNV;\nPFNGLMULTITEXCOORD1BOESPROC glad_glMultiTexCoord1bOES;\nPFNGLMULTITEXCOORD1BVOESPROC glad_glMultiTexCoord1bvOES;\nPFNGLMULTITEXCOORD2BOESPROC glad_glMultiTexCoord2bOES;\nPFNGLMULTITEXCOORD2BVOESPROC glad_glMultiTexCoord2bvOES;\nPFNGLMULTITEXCOORD3BOESPROC glad_glMultiTexCoord3bOES;\nPFNGLMULTITEXCOORD3BVOESPROC glad_glMultiTexCoord3bvOES;\nPFNGLMULTITEXCOORD4BOESPROC glad_glMultiTexCoord4bOES;\nPFNGLMULTITEXCOORD4BVOESPROC glad_glMultiTexCoord4bvOES;\nPFNGLTEXCOORD1BOESPROC glad_glTexCoord1bOES;\nPFNGLTEXCOORD1BVOESPROC glad_glTexCoord1bvOES;\nPFNGLTEXCOORD2BOESPROC glad_glTexCoord2bOES;\nPFNGLTEXCOORD2BVOESPROC glad_glTexCoord2bvOES;\nPFNGLTEXCOORD3BOESPROC glad_glTexCoord3bOES;\nPFNGLTEXCOORD3BVOESPROC glad_glTexCoord3bvOES;\nPFNGLTEXCOORD4BOESPROC glad_glTexCoord4bOES;\nPFNGLTEXCOORD4BVOESPROC glad_glTexCoord4bvOES;\nPFNGLVERTEX2BOESPROC glad_glVertex2bOES;\nPFNGLVERTEX2BVOESPROC glad_glVertex2bvOES;\nPFNGLVERTEX3BOESPROC glad_glVertex3bOES;\nPFNGLVERTEX3BVOESPROC glad_glVertex3bvOES;\nPFNGLVERTEX4BOESPROC glad_glVertex4bOES;\nPFNGLVERTEX4BVOESPROC glad_glVertex4bvOES;\nPFNGLALPHAFUNCXOESPROC glad_glAlphaFuncxOES;\nPFNGLCLEARCOLORXOESPROC glad_glClearColorxOES;\nPFNGLCLEARDEPTHXOESPROC glad_glClearDepthxOES;\nPFNGLCLIPPLANEXOESPROC glad_glClipPlanexOES;\nPFNGLCOLOR4XOESPROC glad_glColor4xOES;\nPFNGLDEPTHRANGEXOESPROC glad_glDepthRangexOES;\nPFNGLFOGXOESPROC glad_glFogxOES;\nPFNGLFOGXVOESPROC glad_glFogxvOES;\nPFNGLFRUSTUMXOESPROC glad_glFrustumxOES;\nPFNGLGETCLIPPLANEXOESPROC glad_glGetClipPlanexOES;\nPFNGLGETFIXEDVOESPROC glad_glGetFixedvOES;\nPFNGLGETTEXENVXVOESPROC glad_glGetTexEnvxvOES;\nPFNGLGETTEXPARAMETERXVOESPROC glad_glGetTexParameterxvOES;\nPFNGLLIGHTMODELXOESPROC glad_glLightModelxOES;\nPFNGLLIGHTMODELXVOESPROC glad_glLightModelxvOES;\nPFNGLLIGHTXOESPROC glad_glLightxOES;\nPFNGLLIGHTXVOESPROC glad_glLightxvOES;\nPFNGLLINEWIDTHXOESPROC glad_glLineWidthxOES;\nPFNGLLOADMATRIXXOESPROC glad_glLoadMatrixxOES;\nPFNGLMATERIALXOESPROC glad_glMaterialxOES;\nPFNGLMATERIALXVOESPROC glad_glMaterialxvOES;\nPFNGLMULTMATRIXXOESPROC glad_glMultMatrixxOES;\nPFNGLMULTITEXCOORD4XOESPROC glad_glMultiTexCoord4xOES;\nPFNGLNORMAL3XOESPROC glad_glNormal3xOES;\nPFNGLORTHOXOESPROC glad_glOrthoxOES;\nPFNGLPOINTPARAMETERXVOESPROC glad_glPointParameterxvOES;\nPFNGLPOINTSIZEXOESPROC glad_glPointSizexOES;\nPFNGLPOLYGONOFFSETXOESPROC glad_glPolygonOffsetxOES;\nPFNGLROTATEXOESPROC glad_glRotatexOES;\nPFNGLSCALEXOESPROC glad_glScalexOES;\nPFNGLTEXENVXOESPROC glad_glTexEnvxOES;\nPFNGLTEXENVXVOESPROC glad_glTexEnvxvOES;\nPFNGLTEXPARAMETERXOESPROC glad_glTexParameterxOES;\nPFNGLTEXPARAMETERXVOESPROC glad_glTexParameterxvOES;\nPFNGLTRANSLATEXOESPROC glad_glTranslatexOES;\nPFNGLGETLIGHTXVOESPROC glad_glGetLightxvOES;\nPFNGLGETMATERIALXVOESPROC glad_glGetMaterialxvOES;\nPFNGLPOINTPARAMETERXOESPROC glad_glPointParameterxOES;\nPFNGLSAMPLECOVERAGEXOESPROC glad_glSampleCoveragexOES;\nPFNGLACCUMXOESPROC glad_glAccumxOES;\nPFNGLBITMAPXOESPROC glad_glBitmapxOES;\nPFNGLBLENDCOLORXOESPROC glad_glBlendColorxOES;\nPFNGLCLEARACCUMXOESPROC glad_glClearAccumxOES;\nPFNGLCOLOR3XOESPROC glad_glColor3xOES;\nPFNGLCOLOR3XVOESPROC glad_glColor3xvOES;\nPFNGLCOLOR4XVOESPROC glad_glColor4xvOES;\nPFNGLCONVOLUTIONPARAMETERXOESPROC glad_glConvolutionParameterxOES;\nPFNGLCONVOLUTIONPARAMETERXVOESPROC glad_glConvolutionParameterxvOES;\nPFNGLEVALCOORD1XOESPROC glad_glEvalCoord1xOES;\nPFNGLEVALCOORD1XVOESPROC glad_glEvalCoord1xvOES;\nPFNGLEVALCOORD2XOESPROC glad_glEvalCoord2xOES;\nPFNGLEVALCOORD2XVOESPROC glad_glEvalCoord2xvOES;\nPFNGLFEEDBACKBUFFERXOESPROC glad_glFeedbackBufferxOES;\nPFNGLGETCONVOLUTIONPARAMETERXVOESPROC glad_glGetConvolutionParameterxvOES;\nPFNGLGETHISTOGRAMPARAMETERXVOESPROC glad_glGetHistogramParameterxvOES;\nPFNGLGETLIGHTXOESPROC glad_glGetLightxOES;\nPFNGLGETMAPXVOESPROC glad_glGetMapxvOES;\nPFNGLGETMATERIALXOESPROC glad_glGetMaterialxOES;\nPFNGLGETPIXELMAPXVPROC glad_glGetPixelMapxv;\nPFNGLGETTEXGENXVOESPROC glad_glGetTexGenxvOES;\nPFNGLGETTEXLEVELPARAMETERXVOESPROC glad_glGetTexLevelParameterxvOES;\nPFNGLINDEXXOESPROC glad_glIndexxOES;\nPFNGLINDEXXVOESPROC glad_glIndexxvOES;\nPFNGLLOADTRANSPOSEMATRIXXOESPROC glad_glLoadTransposeMatrixxOES;\nPFNGLMAP1XOESPROC glad_glMap1xOES;\nPFNGLMAP2XOESPROC glad_glMap2xOES;\nPFNGLMAPGRID1XOESPROC glad_glMapGrid1xOES;\nPFNGLMAPGRID2XOESPROC glad_glMapGrid2xOES;\nPFNGLMULTTRANSPOSEMATRIXXOESPROC glad_glMultTransposeMatrixxOES;\nPFNGLMULTITEXCOORD1XOESPROC glad_glMultiTexCoord1xOES;\nPFNGLMULTITEXCOORD1XVOESPROC glad_glMultiTexCoord1xvOES;\nPFNGLMULTITEXCOORD2XOESPROC glad_glMultiTexCoord2xOES;\nPFNGLMULTITEXCOORD2XVOESPROC glad_glMultiTexCoord2xvOES;\nPFNGLMULTITEXCOORD3XOESPROC glad_glMultiTexCoord3xOES;\nPFNGLMULTITEXCOORD3XVOESPROC glad_glMultiTexCoord3xvOES;\nPFNGLMULTITEXCOORD4XVOESPROC glad_glMultiTexCoord4xvOES;\nPFNGLNORMAL3XVOESPROC glad_glNormal3xvOES;\nPFNGLPASSTHROUGHXOESPROC glad_glPassThroughxOES;\nPFNGLPIXELMAPXPROC glad_glPixelMapx;\nPFNGLPIXELSTOREXPROC glad_glPixelStorex;\nPFNGLPIXELTRANSFERXOESPROC glad_glPixelTransferxOES;\nPFNGLPIXELZOOMXOESPROC glad_glPixelZoomxOES;\nPFNGLPRIORITIZETEXTURESXOESPROC glad_glPrioritizeTexturesxOES;\nPFNGLRASTERPOS2XOESPROC glad_glRasterPos2xOES;\nPFNGLRASTERPOS2XVOESPROC glad_glRasterPos2xvOES;\nPFNGLRASTERPOS3XOESPROC glad_glRasterPos3xOES;\nPFNGLRASTERPOS3XVOESPROC glad_glRasterPos3xvOES;\nPFNGLRASTERPOS4XOESPROC glad_glRasterPos4xOES;\nPFNGLRASTERPOS4XVOESPROC glad_glRasterPos4xvOES;\nPFNGLRECTXOESPROC glad_glRectxOES;\nPFNGLRECTXVOESPROC glad_glRectxvOES;\nPFNGLTEXCOORD1XOESPROC glad_glTexCoord1xOES;\nPFNGLTEXCOORD1XVOESPROC glad_glTexCoord1xvOES;\nPFNGLTEXCOORD2XOESPROC glad_glTexCoord2xOES;\nPFNGLTEXCOORD2XVOESPROC glad_glTexCoord2xvOES;\nPFNGLTEXCOORD3XOESPROC glad_glTexCoord3xOES;\nPFNGLTEXCOORD3XVOESPROC glad_glTexCoord3xvOES;\nPFNGLTEXCOORD4XOESPROC glad_glTexCoord4xOES;\nPFNGLTEXCOORD4XVOESPROC glad_glTexCoord4xvOES;\nPFNGLTEXGENXOESPROC glad_glTexGenxOES;\nPFNGLTEXGENXVOESPROC glad_glTexGenxvOES;\nPFNGLVERTEX2XOESPROC glad_glVertex2xOES;\nPFNGLVERTEX2XVOESPROC glad_glVertex2xvOES;\nPFNGLVERTEX3XOESPROC glad_glVertex3xOES;\nPFNGLVERTEX3XVOESPROC glad_glVertex3xvOES;\nPFNGLVERTEX4XOESPROC glad_glVertex4xOES;\nPFNGLVERTEX4XVOESPROC glad_glVertex4xvOES;\nPFNGLQUERYMATRIXXOESPROC glad_glQueryMatrixxOES;\nPFNGLCLEARDEPTHFOESPROC glad_glClearDepthfOES;\nPFNGLCLIPPLANEFOESPROC glad_glClipPlanefOES;\nPFNGLDEPTHRANGEFOESPROC glad_glDepthRangefOES;\nPFNGLFRUSTUMFOESPROC glad_glFrustumfOES;\nPFNGLGETCLIPPLANEFOESPROC glad_glGetClipPlanefOES;\nPFNGLORTHOFOESPROC glad_glOrthofOES;\nPFNGLFRAMEBUFFERTEXTUREMULTIVIEWOVRPROC glad_glFramebufferTextureMultiviewOVR;\nPFNGLHINTPGIPROC glad_glHintPGI;\nPFNGLDETAILTEXFUNCSGISPROC glad_glDetailTexFuncSGIS;\nPFNGLGETDETAILTEXFUNCSGISPROC glad_glGetDetailTexFuncSGIS;\nPFNGLFOGFUNCSGISPROC glad_glFogFuncSGIS;\nPFNGLGETFOGFUNCSGISPROC glad_glGetFogFuncSGIS;\nPFNGLSAMPLEMASKSGISPROC glad_glSampleMaskSGIS;\nPFNGLSAMPLEPATTERNSGISPROC glad_glSamplePatternSGIS;\nPFNGLPIXELTEXGENPARAMETERISGISPROC glad_glPixelTexGenParameteriSGIS;\nPFNGLPIXELTEXGENPARAMETERIVSGISPROC glad_glPixelTexGenParameterivSGIS;\nPFNGLPIXELTEXGENPARAMETERFSGISPROC glad_glPixelTexGenParameterfSGIS;\nPFNGLPIXELTEXGENPARAMETERFVSGISPROC glad_glPixelTexGenParameterfvSGIS;\nPFNGLGETPIXELTEXGENPARAMETERIVSGISPROC glad_glGetPixelTexGenParameterivSGIS;\nPFNGLGETPIXELTEXGENPARAMETERFVSGISPROC glad_glGetPixelTexGenParameterfvSGIS;\nPFNGLPOINTPARAMETERFSGISPROC glad_glPointParameterfSGIS;\nPFNGLPOINTPARAMETERFVSGISPROC glad_glPointParameterfvSGIS;\nPFNGLSHARPENTEXFUNCSGISPROC glad_glSharpenTexFuncSGIS;\nPFNGLGETSHARPENTEXFUNCSGISPROC glad_glGetSharpenTexFuncSGIS;\nPFNGLTEXIMAGE4DSGISPROC glad_glTexImage4DSGIS;\nPFNGLTEXSUBIMAGE4DSGISPROC glad_glTexSubImage4DSGIS;\nPFNGLTEXTURECOLORMASKSGISPROC glad_glTextureColorMaskSGIS;\nPFNGLGETTEXFILTERFUNCSGISPROC glad_glGetTexFilterFuncSGIS;\nPFNGLTEXFILTERFUNCSGISPROC glad_glTexFilterFuncSGIS;\nPFNGLASYNCMARKERSGIXPROC glad_glAsyncMarkerSGIX;\nPFNGLFINISHASYNCSGIXPROC glad_glFinishAsyncSGIX;\nPFNGLPOLLASYNCSGIXPROC glad_glPollAsyncSGIX;\nPFNGLGENASYNCMARKERSSGIXPROC glad_glGenAsyncMarkersSGIX;\nPFNGLDELETEASYNCMARKERSSGIXPROC glad_glDeleteAsyncMarkersSGIX;\nPFNGLISASYNCMARKERSGIXPROC glad_glIsAsyncMarkerSGIX;\nPFNGLFLUSHRASTERSGIXPROC glad_glFlushRasterSGIX;\nPFNGLFRAGMENTCOLORMATERIALSGIXPROC glad_glFragmentColorMaterialSGIX;\nPFNGLFRAGMENTLIGHTFSGIXPROC glad_glFragmentLightfSGIX;\nPFNGLFRAGMENTLIGHTFVSGIXPROC glad_glFragmentLightfvSGIX;\nPFNGLFRAGMENTLIGHTISGIXPROC glad_glFragmentLightiSGIX;\nPFNGLFRAGMENTLIGHTIVSGIXPROC glad_glFragmentLightivSGIX;\nPFNGLFRAGMENTLIGHTMODELFSGIXPROC glad_glFragmentLightModelfSGIX;\nPFNGLFRAGMENTLIGHTMODELFVSGIXPROC glad_glFragmentLightModelfvSGIX;\nPFNGLFRAGMENTLIGHTMODELISGIXPROC glad_glFragmentLightModeliSGIX;\nPFNGLFRAGMENTLIGHTMODELIVSGIXPROC glad_glFragmentLightModelivSGIX;\nPFNGLFRAGMENTMATERIALFSGIXPROC glad_glFragmentMaterialfSGIX;\nPFNGLFRAGMENTMATERIALFVSGIXPROC glad_glFragmentMaterialfvSGIX;\nPFNGLFRAGMENTMATERIALISGIXPROC glad_glFragmentMaterialiSGIX;\nPFNGLFRAGMENTMATERIALIVSGIXPROC glad_glFragmentMaterialivSGIX;\nPFNGLGETFRAGMENTLIGHTFVSGIXPROC glad_glGetFragmentLightfvSGIX;\nPFNGLGETFRAGMENTLIGHTIVSGIXPROC glad_glGetFragmentLightivSGIX;\nPFNGLGETFRAGMENTMATERIALFVSGIXPROC glad_glGetFragmentMaterialfvSGIX;\nPFNGLGETFRAGMENTMATERIALIVSGIXPROC glad_glGetFragmentMaterialivSGIX;\nPFNGLLIGHTENVISGIXPROC glad_glLightEnviSGIX;\nPFNGLFRAMEZOOMSGIXPROC glad_glFrameZoomSGIX;\nPFNGLIGLOOINTERFACESGIXPROC glad_glIglooInterfaceSGIX;\nPFNGLGETINSTRUMENTSSGIXPROC glad_glGetInstrumentsSGIX;\nPFNGLINSTRUMENTSBUFFERSGIXPROC glad_glInstrumentsBufferSGIX;\nPFNGLPOLLINSTRUMENTSSGIXPROC glad_glPollInstrumentsSGIX;\nPFNGLREADINSTRUMENTSSGIXPROC glad_glReadInstrumentsSGIX;\nPFNGLSTARTINSTRUMENTSSGIXPROC glad_glStartInstrumentsSGIX;\nPFNGLSTOPINSTRUMENTSSGIXPROC glad_glStopInstrumentsSGIX;\nPFNGLGETLISTPARAMETERFVSGIXPROC glad_glGetListParameterfvSGIX;\nPFNGLGETLISTPARAMETERIVSGIXPROC glad_glGetListParameterivSGIX;\nPFNGLLISTPARAMETERFSGIXPROC glad_glListParameterfSGIX;\nPFNGLLISTPARAMETERFVSGIXPROC glad_glListParameterfvSGIX;\nPFNGLLISTPARAMETERISGIXPROC glad_glListParameteriSGIX;\nPFNGLLISTPARAMETERIVSGIXPROC glad_glListParameterivSGIX;\nPFNGLPIXELTEXGENSGIXPROC glad_glPixelTexGenSGIX;\nPFNGLDEFORMATIONMAP3DSGIXPROC glad_glDeformationMap3dSGIX;\nPFNGLDEFORMATIONMAP3FSGIXPROC glad_glDeformationMap3fSGIX;\nPFNGLDEFORMSGIXPROC glad_glDeformSGIX;\nPFNGLLOADIDENTITYDEFORMATIONMAPSGIXPROC glad_glLoadIdentityDeformationMapSGIX;\nPFNGLREFERENCEPLANESGIXPROC glad_glReferencePlaneSGIX;\nPFNGLSPRITEPARAMETERFSGIXPROC glad_glSpriteParameterfSGIX;\nPFNGLSPRITEPARAMETERFVSGIXPROC glad_glSpriteParameterfvSGIX;\nPFNGLSPRITEPARAMETERISGIXPROC glad_glSpriteParameteriSGIX;\nPFNGLSPRITEPARAMETERIVSGIXPROC glad_glSpriteParameterivSGIX;\nPFNGLTAGSAMPLEBUFFERSGIXPROC glad_glTagSampleBufferSGIX;\nPFNGLCOLORTABLESGIPROC glad_glColorTableSGI;\nPFNGLCOLORTABLEPARAMETERFVSGIPROC glad_glColorTableParameterfvSGI;\nPFNGLCOLORTABLEPARAMETERIVSGIPROC glad_glColorTableParameterivSGI;\nPFNGLCOPYCOLORTABLESGIPROC glad_glCopyColorTableSGI;\nPFNGLGETCOLORTABLESGIPROC glad_glGetColorTableSGI;\nPFNGLGETCOLORTABLEPARAMETERFVSGIPROC glad_glGetColorTableParameterfvSGI;\nPFNGLGETCOLORTABLEPARAMETERIVSGIPROC glad_glGetColorTableParameterivSGI;\nPFNGLFINISHTEXTURESUNXPROC glad_glFinishTextureSUNX;\nPFNGLGLOBALALPHAFACTORBSUNPROC glad_glGlobalAlphaFactorbSUN;\nPFNGLGLOBALALPHAFACTORSSUNPROC glad_glGlobalAlphaFactorsSUN;\nPFNGLGLOBALALPHAFACTORISUNPROC glad_glGlobalAlphaFactoriSUN;\nPFNGLGLOBALALPHAFACTORFSUNPROC glad_glGlobalAlphaFactorfSUN;\nPFNGLGLOBALALPHAFACTORDSUNPROC glad_glGlobalAlphaFactordSUN;\nPFNGLGLOBALALPHAFACTORUBSUNPROC glad_glGlobalAlphaFactorubSUN;\nPFNGLGLOBALALPHAFACTORUSSUNPROC glad_glGlobalAlphaFactorusSUN;\nPFNGLGLOBALALPHAFACTORUISUNPROC glad_glGlobalAlphaFactoruiSUN;\nPFNGLDRAWMESHARRAYSSUNPROC glad_glDrawMeshArraysSUN;\nPFNGLREPLACEMENTCODEUISUNPROC glad_glReplacementCodeuiSUN;\nPFNGLREPLACEMENTCODEUSSUNPROC glad_glReplacementCodeusSUN;\nPFNGLREPLACEMENTCODEUBSUNPROC glad_glReplacementCodeubSUN;\nPFNGLREPLACEMENTCODEUIVSUNPROC glad_glReplacementCodeuivSUN;\nPFNGLREPLACEMENTCODEUSVSUNPROC glad_glReplacementCodeusvSUN;\nPFNGLREPLACEMENTCODEUBVSUNPROC glad_glReplacementCodeubvSUN;\nPFNGLREPLACEMENTCODEPOINTERSUNPROC glad_glReplacementCodePointerSUN;\nPFNGLCOLOR4UBVERTEX2FSUNPROC glad_glColor4ubVertex2fSUN;\nPFNGLCOLOR4UBVERTEX2FVSUNPROC glad_glColor4ubVertex2fvSUN;\nPFNGLCOLOR4UBVERTEX3FSUNPROC glad_glColor4ubVertex3fSUN;\nPFNGLCOLOR4UBVERTEX3FVSUNPROC glad_glColor4ubVertex3fvSUN;\nPFNGLCOLOR3FVERTEX3FSUNPROC glad_glColor3fVertex3fSUN;\nPFNGLCOLOR3FVERTEX3FVSUNPROC glad_glColor3fVertex3fvSUN;\nPFNGLNORMAL3FVERTEX3FSUNPROC glad_glNormal3fVertex3fSUN;\nPFNGLNORMAL3FVERTEX3FVSUNPROC glad_glNormal3fVertex3fvSUN;\nPFNGLCOLOR4FNORMAL3FVERTEX3FSUNPROC glad_glColor4fNormal3fVertex3fSUN;\nPFNGLCOLOR4FNORMAL3FVERTEX3FVSUNPROC glad_glColor4fNormal3fVertex3fvSUN;\nPFNGLTEXCOORD2FVERTEX3FSUNPROC glad_glTexCoord2fVertex3fSUN;\nPFNGLTEXCOORD2FVERTEX3FVSUNPROC glad_glTexCoord2fVertex3fvSUN;\nPFNGLTEXCOORD4FVERTEX4FSUNPROC glad_glTexCoord4fVertex4fSUN;\nPFNGLTEXCOORD4FVERTEX4FVSUNPROC glad_glTexCoord4fVertex4fvSUN;\nPFNGLTEXCOORD2FCOLOR4UBVERTEX3FSUNPROC glad_glTexCoord2fColor4ubVertex3fSUN;\nPFNGLTEXCOORD2FCOLOR4UBVERTEX3FVSUNPROC glad_glTexCoord2fColor4ubVertex3fvSUN;\nPFNGLTEXCOORD2FCOLOR3FVERTEX3FSUNPROC glad_glTexCoord2fColor3fVertex3fSUN;\nPFNGLTEXCOORD2FCOLOR3FVERTEX3FVSUNPROC glad_glTexCoord2fColor3fVertex3fvSUN;\nPFNGLTEXCOORD2FNORMAL3FVERTEX3FSUNPROC glad_glTexCoord2fNormal3fVertex3fSUN;\nPFNGLTEXCOORD2FNORMAL3FVERTEX3FVSUNPROC glad_glTexCoord2fNormal3fVertex3fvSUN;\nPFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC glad_glTexCoord2fColor4fNormal3fVertex3fSUN;\nPFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC glad_glTexCoord2fColor4fNormal3fVertex3fvSUN;\nPFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FSUNPROC glad_glTexCoord4fColor4fNormal3fVertex4fSUN;\nPFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FVSUNPROC glad_glTexCoord4fColor4fNormal3fVertex4fvSUN;\nPFNGLREPLACEMENTCODEUIVERTEX3FSUNPROC glad_glReplacementCodeuiVertex3fSUN;\nPFNGLREPLACEMENTCODEUIVERTEX3FVSUNPROC glad_glReplacementCodeuiVertex3fvSUN;\nPFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FSUNPROC glad_glReplacementCodeuiColor4ubVertex3fSUN;\nPFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FVSUNPROC glad_glReplacementCodeuiColor4ubVertex3fvSUN;\nPFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FSUNPROC glad_glReplacementCodeuiColor3fVertex3fSUN;\nPFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FVSUNPROC glad_glReplacementCodeuiColor3fVertex3fvSUN;\nPFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FSUNPROC glad_glReplacementCodeuiNormal3fVertex3fSUN;\nPFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FVSUNPROC glad_glReplacementCodeuiNormal3fVertex3fvSUN;\nPFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FSUNPROC glad_glReplacementCodeuiColor4fNormal3fVertex3fSUN;\nPFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FVSUNPROC glad_glReplacementCodeuiColor4fNormal3fVertex3fvSUN;\nPFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FSUNPROC glad_glReplacementCodeuiTexCoord2fVertex3fSUN;\nPFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FVSUNPROC glad_glReplacementCodeuiTexCoord2fVertex3fvSUN;\nPFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FSUNPROC glad_glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN;\nPFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FVSUNPROC glad_glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN;\nPFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC glad_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN;\nPFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC glad_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN;\nstatic void load_GL_VERSION_1_0(GLADloadproc load) {\n\tif(!GLAD_GL_VERSION_1_0) return;\n\tglad_glCullFace = (PFNGLCULLFACEPROC)load(\"glCullFace\");\n\tglad_glFrontFace = (PFNGLFRONTFACEPROC)load(\"glFrontFace\");\n\tglad_glHint = (PFNGLHINTPROC)load(\"glHint\");\n\tglad_glLineWidth = (PFNGLLINEWIDTHPROC)load(\"glLineWidth\");\n\tglad_glPointSize = (PFNGLPOINTSIZEPROC)load(\"glPointSize\");\n\tglad_glPolygonMode = (PFNGLPOLYGONMODEPROC)load(\"glPolygonMode\");\n\tglad_glScissor = (PFNGLSCISSORPROC)load(\"glScissor\");\n\tglad_glTexParameterf = (PFNGLTEXPARAMETERFPROC)load(\"glTexParameterf\");\n\tglad_glTexParameterfv = (PFNGLTEXPARAMETERFVPROC)load(\"glTexParameterfv\");\n\tglad_glTexParameteri = (PFNGLTEXPARAMETERIPROC)load(\"glTexParameteri\");\n\tglad_glTexParameteriv = (PFNGLTEXPARAMETERIVPROC)load(\"glTexParameteriv\");\n\tglad_glTexImage1D = (PFNGLTEXIMAGE1DPROC)load(\"glTexImage1D\");\n\tglad_glTexImage2D = (PFNGLTEXIMAGE2DPROC)load(\"glTexImage2D\");\n\tglad_glDrawBuffer = (PFNGLDRAWBUFFERPROC)load(\"glDrawBuffer\");\n\tglad_glClear = (PFNGLCLEARPROC)load(\"glClear\");\n\tglad_glClearColor = (PFNGLCLEARCOLORPROC)load(\"glClearColor\");\n\tglad_glClearStencil = (PFNGLCLEARSTENCILPROC)load(\"glClearStencil\");\n\tglad_glClearDepth = (PFNGLCLEARDEPTHPROC)load(\"glClearDepth\");\n\tglad_glStencilMask = (PFNGLSTENCILMASKPROC)load(\"glStencilMask\");\n\tglad_glColorMask = (PFNGLCOLORMASKPROC)load(\"glColorMask\");\n\tglad_glDepthMask = (PFNGLDEPTHMASKPROC)load(\"glDepthMask\");\n\tglad_glDisable = (PFNGLDISABLEPROC)load(\"glDisable\");\n\tglad_glEnable = (PFNGLENABLEPROC)load(\"glEnable\");\n\tglad_glFinish = (PFNGLFINISHPROC)load(\"glFinish\");\n\tglad_glFlush = (PFNGLFLUSHPROC)load(\"glFlush\");\n\tglad_glBlendFunc = (PFNGLBLENDFUNCPROC)load(\"glBlendFunc\");\n\tglad_glLogicOp = (PFNGLLOGICOPPROC)load(\"glLogicOp\");\n\tglad_glStencilFunc = (PFNGLSTENCILFUNCPROC)load(\"glStencilFunc\");\n\tglad_glStencilOp = (PFNGLSTENCILOPPROC)load(\"glStencilOp\");\n\tglad_glDepthFunc = (PFNGLDEPTHFUNCPROC)load(\"glDepthFunc\");\n\tglad_glPixelStoref = (PFNGLPIXELSTOREFPROC)load(\"glPixelStoref\");\n\tglad_glPixelStorei = (PFNGLPIXELSTOREIPROC)load(\"glPixelStorei\");\n\tglad_glReadBuffer = (PFNGLREADBUFFERPROC)load(\"glReadBuffer\");\n\tglad_glReadPixels = (PFNGLREADPIXELSPROC)load(\"glReadPixels\");\n\tglad_glGetBooleanv = (PFNGLGETBOOLEANVPROC)load(\"glGetBooleanv\");\n\tglad_glGetDoublev = (PFNGLGETDOUBLEVPROC)load(\"glGetDoublev\");\n\tglad_glGetError = (PFNGLGETERRORPROC)load(\"glGetError\");\n\tglad_glGetFloatv = (PFNGLGETFLOATVPROC)load(\"glGetFloatv\");\n\tglad_glGetIntegerv = (PFNGLGETINTEGERVPROC)load(\"glGetIntegerv\");\n\tglad_glGetString = (PFNGLGETSTRINGPROC)load(\"glGetString\");\n\tglad_glGetTexImage = (PFNGLGETTEXIMAGEPROC)load(\"glGetTexImage\");\n\tglad_glGetTexParameterfv = (PFNGLGETTEXPARAMETERFVPROC)load(\"glGetTexParameterfv\");\n\tglad_glGetTexParameteriv = (PFNGLGETTEXPARAMETERIVPROC)load(\"glGetTexParameteriv\");\n\tglad_glGetTexLevelParameterfv = (PFNGLGETTEXLEVELPARAMETERFVPROC)load(\"glGetTexLevelParameterfv\");\n\tglad_glGetTexLevelParameteriv = (PFNGLGETTEXLEVELPARAMETERIVPROC)load(\"glGetTexLevelParameteriv\");\n\tglad_glIsEnabled = (PFNGLISENABLEDPROC)load(\"glIsEnabled\");\n\tglad_glDepthRange = (PFNGLDEPTHRANGEPROC)load(\"glDepthRange\");\n\tglad_glViewport = (PFNGLVIEWPORTPROC)load(\"glViewport\");\n\tglad_glNewList = (PFNGLNEWLISTPROC)load(\"glNewList\");\n\tglad_glEndList = (PFNGLENDLISTPROC)load(\"glEndList\");\n\tglad_glCallList = (PFNGLCALLLISTPROC)load(\"glCallList\");\n\tglad_glCallLists = (PFNGLCALLLISTSPROC)load(\"glCallLists\");\n\tglad_glDeleteLists = (PFNGLDELETELISTSPROC)load(\"glDeleteLists\");\n\tglad_glGenLists = (PFNGLGENLISTSPROC)load(\"glGenLists\");\n\tglad_glListBase = (PFNGLLISTBASEPROC)load(\"glListBase\");\n\tglad_glBegin = (PFNGLBEGINPROC)load(\"glBegin\");\n\tglad_glBitmap = (PFNGLBITMAPPROC)load(\"glBitmap\");\n\tglad_glColor3b = (PFNGLCOLOR3BPROC)load(\"glColor3b\");\n\tglad_glColor3bv = (PFNGLCOLOR3BVPROC)load(\"glColor3bv\");\n\tglad_glColor3d = (PFNGLCOLOR3DPROC)load(\"glColor3d\");\n\tglad_glColor3dv = (PFNGLCOLOR3DVPROC)load(\"glColor3dv\");\n\tglad_glColor3f = (PFNGLCOLOR3FPROC)load(\"glColor3f\");\n\tglad_glColor3fv = (PFNGLCOLOR3FVPROC)load(\"glColor3fv\");\n\tglad_glColor3i = (PFNGLCOLOR3IPROC)load(\"glColor3i\");\n\tglad_glColor3iv = (PFNGLCOLOR3IVPROC)load(\"glColor3iv\");\n\tglad_glColor3s = (PFNGLCOLOR3SPROC)load(\"glColor3s\");\n\tglad_glColor3sv = (PFNGLCOLOR3SVPROC)load(\"glColor3sv\");\n\tglad_glColor3ub = (PFNGLCOLOR3UBPROC)load(\"glColor3ub\");\n\tglad_glColor3ubv = (PFNGLCOLOR3UBVPROC)load(\"glColor3ubv\");\n\tglad_glColor3ui = (PFNGLCOLOR3UIPROC)load(\"glColor3ui\");\n\tglad_glColor3uiv = (PFNGLCOLOR3UIVPROC)load(\"glColor3uiv\");\n\tglad_glColor3us = (PFNGLCOLOR3USPROC)load(\"glColor3us\");\n\tglad_glColor3usv = (PFNGLCOLOR3USVPROC)load(\"glColor3usv\");\n\tglad_glColor4b = (PFNGLCOLOR4BPROC)load(\"glColor4b\");\n\tglad_glColor4bv = (PFNGLCOLOR4BVPROC)load(\"glColor4bv\");\n\tglad_glColor4d = (PFNGLCOLOR4DPROC)load(\"glColor4d\");\n\tglad_glColor4dv = (PFNGLCOLOR4DVPROC)load(\"glColor4dv\");\n\tglad_glColor4f = (PFNGLCOLOR4FPROC)load(\"glColor4f\");\n\tglad_glColor4fv = (PFNGLCOLOR4FVPROC)load(\"glColor4fv\");\n\tglad_glColor4i = (PFNGLCOLOR4IPROC)load(\"glColor4i\");\n\tglad_glColor4iv = (PFNGLCOLOR4IVPROC)load(\"glColor4iv\");\n\tglad_glColor4s = (PFNGLCOLOR4SPROC)load(\"glColor4s\");\n\tglad_glColor4sv = (PFNGLCOLOR4SVPROC)load(\"glColor4sv\");\n\tglad_glColor4ub = (PFNGLCOLOR4UBPROC)load(\"glColor4ub\");\n\tglad_glColor4ubv = (PFNGLCOLOR4UBVPROC)load(\"glColor4ubv\");\n\tglad_glColor4ui = (PFNGLCOLOR4UIPROC)load(\"glColor4ui\");\n\tglad_glColor4uiv = (PFNGLCOLOR4UIVPROC)load(\"glColor4uiv\");\n\tglad_glColor4us = (PFNGLCOLOR4USPROC)load(\"glColor4us\");\n\tglad_glColor4usv = (PFNGLCOLOR4USVPROC)load(\"glColor4usv\");\n\tglad_glEdgeFlag = (PFNGLEDGEFLAGPROC)load(\"glEdgeFlag\");\n\tglad_glEdgeFlagv = (PFNGLEDGEFLAGVPROC)load(\"glEdgeFlagv\");\n\tglad_glEnd = (PFNGLENDPROC)load(\"glEnd\");\n\tglad_glIndexd = (PFNGLINDEXDPROC)load(\"glIndexd\");\n\tglad_glIndexdv = (PFNGLINDEXDVPROC)load(\"glIndexdv\");\n\tglad_glIndexf = (PFNGLINDEXFPROC)load(\"glIndexf\");\n\tglad_glIndexfv = (PFNGLINDEXFVPROC)load(\"glIndexfv\");\n\tglad_glIndexi = (PFNGLINDEXIPROC)load(\"glIndexi\");\n\tglad_glIndexiv = (PFNGLINDEXIVPROC)load(\"glIndexiv\");\n\tglad_glIndexs = (PFNGLINDEXSPROC)load(\"glIndexs\");\n\tglad_glIndexsv = (PFNGLINDEXSVPROC)load(\"glIndexsv\");\n\tglad_glNormal3b = (PFNGLNORMAL3BPROC)load(\"glNormal3b\");\n\tglad_glNormal3bv = (PFNGLNORMAL3BVPROC)load(\"glNormal3bv\");\n\tglad_glNormal3d = (PFNGLNORMAL3DPROC)load(\"glNormal3d\");\n\tglad_glNormal3dv = (PFNGLNORMAL3DVPROC)load(\"glNormal3dv\");\n\tglad_glNormal3f = (PFNGLNORMAL3FPROC)load(\"glNormal3f\");\n\tglad_glNormal3fv = (PFNGLNORMAL3FVPROC)load(\"glNormal3fv\");\n\tglad_glNormal3i = (PFNGLNORMAL3IPROC)load(\"glNormal3i\");\n\tglad_glNormal3iv = (PFNGLNORMAL3IVPROC)load(\"glNormal3iv\");\n\tglad_glNormal3s = (PFNGLNORMAL3SPROC)load(\"glNormal3s\");\n\tglad_glNormal3sv = (PFNGLNORMAL3SVPROC)load(\"glNormal3sv\");\n\tglad_glRasterPos2d = (PFNGLRASTERPOS2DPROC)load(\"glRasterPos2d\");\n\tglad_glRasterPos2dv = (PFNGLRASTERPOS2DVPROC)load(\"glRasterPos2dv\");\n\tglad_glRasterPos2f = (PFNGLRASTERPOS2FPROC)load(\"glRasterPos2f\");\n\tglad_glRasterPos2fv = (PFNGLRASTERPOS2FVPROC)load(\"glRasterPos2fv\");\n\tglad_glRasterPos2i = (PFNGLRASTERPOS2IPROC)load(\"glRasterPos2i\");\n\tglad_glRasterPos2iv = (PFNGLRASTERPOS2IVPROC)load(\"glRasterPos2iv\");\n\tglad_glRasterPos2s = (PFNGLRASTERPOS2SPROC)load(\"glRasterPos2s\");\n\tglad_glRasterPos2sv = (PFNGLRASTERPOS2SVPROC)load(\"glRasterPos2sv\");\n\tglad_glRasterPos3d = (PFNGLRASTERPOS3DPROC)load(\"glRasterPos3d\");\n\tglad_glRasterPos3dv = (PFNGLRASTERPOS3DVPROC)load(\"glRasterPos3dv\");\n\tglad_glRasterPos3f = (PFNGLRASTERPOS3FPROC)load(\"glRasterPos3f\");\n\tglad_glRasterPos3fv = (PFNGLRASTERPOS3FVPROC)load(\"glRasterPos3fv\");\n\tglad_glRasterPos3i = (PFNGLRASTERPOS3IPROC)load(\"glRasterPos3i\");\n\tglad_glRasterPos3iv = (PFNGLRASTERPOS3IVPROC)load(\"glRasterPos3iv\");\n\tglad_glRasterPos3s = (PFNGLRASTERPOS3SPROC)load(\"glRasterPos3s\");\n\tglad_glRasterPos3sv = (PFNGLRASTERPOS3SVPROC)load(\"glRasterPos3sv\");\n\tglad_glRasterPos4d = (PFNGLRASTERPOS4DPROC)load(\"glRasterPos4d\");\n\tglad_glRasterPos4dv = (PFNGLRASTERPOS4DVPROC)load(\"glRasterPos4dv\");\n\tglad_glRasterPos4f = (PFNGLRASTERPOS4FPROC)load(\"glRasterPos4f\");\n\tglad_glRasterPos4fv = (PFNGLRASTERPOS4FVPROC)load(\"glRasterPos4fv\");\n\tglad_glRasterPos4i = (PFNGLRASTERPOS4IPROC)load(\"glRasterPos4i\");\n\tglad_glRasterPos4iv = (PFNGLRASTERPOS4IVPROC)load(\"glRasterPos4iv\");\n\tglad_glRasterPos4s = (PFNGLRASTERPOS4SPROC)load(\"glRasterPos4s\");\n\tglad_glRasterPos4sv = (PFNGLRASTERPOS4SVPROC)load(\"glRasterPos4sv\");\n\tglad_glRectd = (PFNGLRECTDPROC)load(\"glRectd\");\n\tglad_glRectdv = (PFNGLRECTDVPROC)load(\"glRectdv\");\n\tglad_glRectf = (PFNGLRECTFPROC)load(\"glRectf\");\n\tglad_glRectfv = (PFNGLRECTFVPROC)load(\"glRectfv\");\n\tglad_glRecti = (PFNGLRECTIPROC)load(\"glRecti\");\n\tglad_glRectiv = (PFNGLRECTIVPROC)load(\"glRectiv\");\n\tglad_glRects = (PFNGLRECTSPROC)load(\"glRects\");\n\tglad_glRectsv = (PFNGLRECTSVPROC)load(\"glRectsv\");\n\tglad_glTexCoord1d = (PFNGLTEXCOORD1DPROC)load(\"glTexCoord1d\");\n\tglad_glTexCoord1dv = (PFNGLTEXCOORD1DVPROC)load(\"glTexCoord1dv\");\n\tglad_glTexCoord1f = (PFNGLTEXCOORD1FPROC)load(\"glTexCoord1f\");\n\tglad_glTexCoord1fv = (PFNGLTEXCOORD1FVPROC)load(\"glTexCoord1fv\");\n\tglad_glTexCoord1i = (PFNGLTEXCOORD1IPROC)load(\"glTexCoord1i\");\n\tglad_glTexCoord1iv = (PFNGLTEXCOORD1IVPROC)load(\"glTexCoord1iv\");\n\tglad_glTexCoord1s = (PFNGLTEXCOORD1SPROC)load(\"glTexCoord1s\");\n\tglad_glTexCoord1sv = (PFNGLTEXCOORD1SVPROC)load(\"glTexCoord1sv\");\n\tglad_glTexCoord2d = (PFNGLTEXCOORD2DPROC)load(\"glTexCoord2d\");\n\tglad_glTexCoord2dv = (PFNGLTEXCOORD2DVPROC)load(\"glTexCoord2dv\");\n\tglad_glTexCoord2f = (PFNGLTEXCOORD2FPROC)load(\"glTexCoord2f\");\n\tglad_glTexCoord2fv = (PFNGLTEXCOORD2FVPROC)load(\"glTexCoord2fv\");\n\tglad_glTexCoord2i = (PFNGLTEXCOORD2IPROC)load(\"glTexCoord2i\");\n\tglad_glTexCoord2iv = (PFNGLTEXCOORD2IVPROC)load(\"glTexCoord2iv\");\n\tglad_glTexCoord2s = (PFNGLTEXCOORD2SPROC)load(\"glTexCoord2s\");\n\tglad_glTexCoord2sv = (PFNGLTEXCOORD2SVPROC)load(\"glTexCoord2sv\");\n\tglad_glTexCoord3d = (PFNGLTEXCOORD3DPROC)load(\"glTexCoord3d\");\n\tglad_glTexCoord3dv = (PFNGLTEXCOORD3DVPROC)load(\"glTexCoord3dv\");\n\tglad_glTexCoord3f = (PFNGLTEXCOORD3FPROC)load(\"glTexCoord3f\");\n\tglad_glTexCoord3fv = (PFNGLTEXCOORD3FVPROC)load(\"glTexCoord3fv\");\n\tglad_glTexCoord3i = (PFNGLTEXCOORD3IPROC)load(\"glTexCoord3i\");\n\tglad_glTexCoord3iv = (PFNGLTEXCOORD3IVPROC)load(\"glTexCoord3iv\");\n\tglad_glTexCoord3s = (PFNGLTEXCOORD3SPROC)load(\"glTexCoord3s\");\n\tglad_glTexCoord3sv = (PFNGLTEXCOORD3SVPROC)load(\"glTexCoord3sv\");\n\tglad_glTexCoord4d = (PFNGLTEXCOORD4DPROC)load(\"glTexCoord4d\");\n\tglad_glTexCoord4dv = (PFNGLTEXCOORD4DVPROC)load(\"glTexCoord4dv\");\n\tglad_glTexCoord4f = (PFNGLTEXCOORD4FPROC)load(\"glTexCoord4f\");\n\tglad_glTexCoord4fv = (PFNGLTEXCOORD4FVPROC)load(\"glTexCoord4fv\");\n\tglad_glTexCoord4i = (PFNGLTEXCOORD4IPROC)load(\"glTexCoord4i\");\n\tglad_glTexCoord4iv = (PFNGLTEXCOORD4IVPROC)load(\"glTexCoord4iv\");\n\tglad_glTexCoord4s = (PFNGLTEXCOORD4SPROC)load(\"glTexCoord4s\");\n\tglad_glTexCoord4sv = (PFNGLTEXCOORD4SVPROC)load(\"glTexCoord4sv\");\n\tglad_glVertex2d = (PFNGLVERTEX2DPROC)load(\"glVertex2d\");\n\tglad_glVertex2dv = (PFNGLVERTEX2DVPROC)load(\"glVertex2dv\");\n\tglad_glVertex2f = (PFNGLVERTEX2FPROC)load(\"glVertex2f\");\n\tglad_glVertex2fv = (PFNGLVERTEX2FVPROC)load(\"glVertex2fv\");\n\tglad_glVertex2i = (PFNGLVERTEX2IPROC)load(\"glVertex2i\");\n\tglad_glVertex2iv = (PFNGLVERTEX2IVPROC)load(\"glVertex2iv\");\n\tglad_glVertex2s = (PFNGLVERTEX2SPROC)load(\"glVertex2s\");\n\tglad_glVertex2sv = (PFNGLVERTEX2SVPROC)load(\"glVertex2sv\");\n\tglad_glVertex3d = (PFNGLVERTEX3DPROC)load(\"glVertex3d\");\n\tglad_glVertex3dv = (PFNGLVERTEX3DVPROC)load(\"glVertex3dv\");\n\tglad_glVertex3f = (PFNGLVERTEX3FPROC)load(\"glVertex3f\");\n\tglad_glVertex3fv = (PFNGLVERTEX3FVPROC)load(\"glVertex3fv\");\n\tglad_glVertex3i = (PFNGLVERTEX3IPROC)load(\"glVertex3i\");\n\tglad_glVertex3iv = (PFNGLVERTEX3IVPROC)load(\"glVertex3iv\");\n\tglad_glVertex3s = (PFNGLVERTEX3SPROC)load(\"glVertex3s\");\n\tglad_glVertex3sv = (PFNGLVERTEX3SVPROC)load(\"glVertex3sv\");\n\tglad_glVertex4d = (PFNGLVERTEX4DPROC)load(\"glVertex4d\");\n\tglad_glVertex4dv = (PFNGLVERTEX4DVPROC)load(\"glVertex4dv\");\n\tglad_glVertex4f = (PFNGLVERTEX4FPROC)load(\"glVertex4f\");\n\tglad_glVertex4fv = (PFNGLVERTEX4FVPROC)load(\"glVertex4fv\");\n\tglad_glVertex4i = (PFNGLVERTEX4IPROC)load(\"glVertex4i\");\n\tglad_glVertex4iv = (PFNGLVERTEX4IVPROC)load(\"glVertex4iv\");\n\tglad_glVertex4s = (PFNGLVERTEX4SPROC)load(\"glVertex4s\");\n\tglad_glVertex4sv = (PFNGLVERTEX4SVPROC)load(\"glVertex4sv\");\n\tglad_glClipPlane = (PFNGLCLIPPLANEPROC)load(\"glClipPlane\");\n\tglad_glColorMaterial = (PFNGLCOLORMATERIALPROC)load(\"glColorMaterial\");\n\tglad_glFogf = (PFNGLFOGFPROC)load(\"glFogf\");\n\tglad_glFogfv = (PFNGLFOGFVPROC)load(\"glFogfv\");\n\tglad_glFogi = (PFNGLFOGIPROC)load(\"glFogi\");\n\tglad_glFogiv = (PFNGLFOGIVPROC)load(\"glFogiv\");\n\tglad_glLightf = (PFNGLLIGHTFPROC)load(\"glLightf\");\n\tglad_glLightfv = (PFNGLLIGHTFVPROC)load(\"glLightfv\");\n\tglad_glLighti = (PFNGLLIGHTIPROC)load(\"glLighti\");\n\tglad_glLightiv = (PFNGLLIGHTIVPROC)load(\"glLightiv\");\n\tglad_glLightModelf = (PFNGLLIGHTMODELFPROC)load(\"glLightModelf\");\n\tglad_glLightModelfv = (PFNGLLIGHTMODELFVPROC)load(\"glLightModelfv\");\n\tglad_glLightModeli = (PFNGLLIGHTMODELIPROC)load(\"glLightModeli\");\n\tglad_glLightModeliv = (PFNGLLIGHTMODELIVPROC)load(\"glLightModeliv\");\n\tglad_glLineStipple = (PFNGLLINESTIPPLEPROC)load(\"glLineStipple\");\n\tglad_glMaterialf = (PFNGLMATERIALFPROC)load(\"glMaterialf\");\n\tglad_glMaterialfv = (PFNGLMATERIALFVPROC)load(\"glMaterialfv\");\n\tglad_glMateriali = (PFNGLMATERIALIPROC)load(\"glMateriali\");\n\tglad_glMaterialiv = (PFNGLMATERIALIVPROC)load(\"glMaterialiv\");\n\tglad_glPolygonStipple = (PFNGLPOLYGONSTIPPLEPROC)load(\"glPolygonStipple\");\n\tglad_glShadeModel = (PFNGLSHADEMODELPROC)load(\"glShadeModel\");\n\tglad_glTexEnvf = (PFNGLTEXENVFPROC)load(\"glTexEnvf\");\n\tglad_glTexEnvfv = (PFNGLTEXENVFVPROC)load(\"glTexEnvfv\");\n\tglad_glTexEnvi = (PFNGLTEXENVIPROC)load(\"glTexEnvi\");\n\tglad_glTexEnviv = (PFNGLTEXENVIVPROC)load(\"glTexEnviv\");\n\tglad_glTexGend = (PFNGLTEXGENDPROC)load(\"glTexGend\");\n\tglad_glTexGendv = (PFNGLTEXGENDVPROC)load(\"glTexGendv\");\n\tglad_glTexGenf = (PFNGLTEXGENFPROC)load(\"glTexGenf\");\n\tglad_glTexGenfv = (PFNGLTEXGENFVPROC)load(\"glTexGenfv\");\n\tglad_glTexGeni = (PFNGLTEXGENIPROC)load(\"glTexGeni\");\n\tglad_glTexGeniv = (PFNGLTEXGENIVPROC)load(\"glTexGeniv\");\n\tglad_glFeedbackBuffer = (PFNGLFEEDBACKBUFFERPROC)load(\"glFeedbackBuffer\");\n\tglad_glSelectBuffer = (PFNGLSELECTBUFFERPROC)load(\"glSelectBuffer\");\n\tglad_glRenderMode = (PFNGLRENDERMODEPROC)load(\"glRenderMode\");\n\tglad_glInitNames = (PFNGLINITNAMESPROC)load(\"glInitNames\");\n\tglad_glLoadName = (PFNGLLOADNAMEPROC)load(\"glLoadName\");\n\tglad_glPassThrough = (PFNGLPASSTHROUGHPROC)load(\"glPassThrough\");\n\tglad_glPopName = (PFNGLPOPNAMEPROC)load(\"glPopName\");\n\tglad_glPushName = (PFNGLPUSHNAMEPROC)load(\"glPushName\");\n\tglad_glClearAccum = (PFNGLCLEARACCUMPROC)load(\"glClearAccum\");\n\tglad_glClearIndex = (PFNGLCLEARINDEXPROC)load(\"glClearIndex\");\n\tglad_glIndexMask = (PFNGLINDEXMASKPROC)load(\"glIndexMask\");\n\tglad_glAccum = (PFNGLACCUMPROC)load(\"glAccum\");\n\tglad_glPopAttrib = (PFNGLPOPATTRIBPROC)load(\"glPopAttrib\");\n\tglad_glPushAttrib = (PFNGLPUSHATTRIBPROC)load(\"glPushAttrib\");\n\tglad_glMap1d = (PFNGLMAP1DPROC)load(\"glMap1d\");\n\tglad_glMap1f = (PFNGLMAP1FPROC)load(\"glMap1f\");\n\tglad_glMap2d = (PFNGLMAP2DPROC)load(\"glMap2d\");\n\tglad_glMap2f = (PFNGLMAP2FPROC)load(\"glMap2f\");\n\tglad_glMapGrid1d = (PFNGLMAPGRID1DPROC)load(\"glMapGrid1d\");\n\tglad_glMapGrid1f = (PFNGLMAPGRID1FPROC)load(\"glMapGrid1f\");\n\tglad_glMapGrid2d = (PFNGLMAPGRID2DPROC)load(\"glMapGrid2d\");\n\tglad_glMapGrid2f = (PFNGLMAPGRID2FPROC)load(\"glMapGrid2f\");\n\tglad_glEvalCoord1d = (PFNGLEVALCOORD1DPROC)load(\"glEvalCoord1d\");\n\tglad_glEvalCoord1dv = (PFNGLEVALCOORD1DVPROC)load(\"glEvalCoord1dv\");\n\tglad_glEvalCoord1f = (PFNGLEVALCOORD1FPROC)load(\"glEvalCoord1f\");\n\tglad_glEvalCoord1fv = (PFNGLEVALCOORD1FVPROC)load(\"glEvalCoord1fv\");\n\tglad_glEvalCoord2d = (PFNGLEVALCOORD2DPROC)load(\"glEvalCoord2d\");\n\tglad_glEvalCoord2dv = (PFNGLEVALCOORD2DVPROC)load(\"glEvalCoord2dv\");\n\tglad_glEvalCoord2f = (PFNGLEVALCOORD2FPROC)load(\"glEvalCoord2f\");\n\tglad_glEvalCoord2fv = (PFNGLEVALCOORD2FVPROC)load(\"glEvalCoord2fv\");\n\tglad_glEvalMesh1 = (PFNGLEVALMESH1PROC)load(\"glEvalMesh1\");\n\tglad_glEvalPoint1 = (PFNGLEVALPOINT1PROC)load(\"glEvalPoint1\");\n\tglad_glEvalMesh2 = (PFNGLEVALMESH2PROC)load(\"glEvalMesh2\");\n\tglad_glEvalPoint2 = (PFNGLEVALPOINT2PROC)load(\"glEvalPoint2\");\n\tglad_glAlphaFunc = (PFNGLALPHAFUNCPROC)load(\"glAlphaFunc\");\n\tglad_glPixelZoom = (PFNGLPIXELZOOMPROC)load(\"glPixelZoom\");\n\tglad_glPixelTransferf = (PFNGLPIXELTRANSFERFPROC)load(\"glPixelTransferf\");\n\tglad_glPixelTransferi = (PFNGLPIXELTRANSFERIPROC)load(\"glPixelTransferi\");\n\tglad_glPixelMapfv = (PFNGLPIXELMAPFVPROC)load(\"glPixelMapfv\");\n\tglad_glPixelMapuiv = (PFNGLPIXELMAPUIVPROC)load(\"glPixelMapuiv\");\n\tglad_glPixelMapusv = (PFNGLPIXELMAPUSVPROC)load(\"glPixelMapusv\");\n\tglad_glCopyPixels = (PFNGLCOPYPIXELSPROC)load(\"glCopyPixels\");\n\tglad_glDrawPixels = (PFNGLDRAWPIXELSPROC)load(\"glDrawPixels\");\n\tglad_glGetClipPlane = (PFNGLGETCLIPPLANEPROC)load(\"glGetClipPlane\");\n\tglad_glGetLightfv = (PFNGLGETLIGHTFVPROC)load(\"glGetLightfv\");\n\tglad_glGetLightiv = (PFNGLGETLIGHTIVPROC)load(\"glGetLightiv\");\n\tglad_glGetMapdv = (PFNGLGETMAPDVPROC)load(\"glGetMapdv\");\n\tglad_glGetMapfv = (PFNGLGETMAPFVPROC)load(\"glGetMapfv\");\n\tglad_glGetMapiv = (PFNGLGETMAPIVPROC)load(\"glGetMapiv\");\n\tglad_glGetMaterialfv = (PFNGLGETMATERIALFVPROC)load(\"glGetMaterialfv\");\n\tglad_glGetMaterialiv = (PFNGLGETMATERIALIVPROC)load(\"glGetMaterialiv\");\n\tglad_glGetPixelMapfv = (PFNGLGETPIXELMAPFVPROC)load(\"glGetPixelMapfv\");\n\tglad_glGetPixelMapuiv = (PFNGLGETPIXELMAPUIVPROC)load(\"glGetPixelMapuiv\");\n\tglad_glGetPixelMapusv = (PFNGLGETPIXELMAPUSVPROC)load(\"glGetPixelMapusv\");\n\tglad_glGetPolygonStipple = (PFNGLGETPOLYGONSTIPPLEPROC)load(\"glGetPolygonStipple\");\n\tglad_glGetTexEnvfv = (PFNGLGETTEXENVFVPROC)load(\"glGetTexEnvfv\");\n\tglad_glGetTexEnviv = (PFNGLGETTEXENVIVPROC)load(\"glGetTexEnviv\");\n\tglad_glGetTexGendv = (PFNGLGETTEXGENDVPROC)load(\"glGetTexGendv\");\n\tglad_glGetTexGenfv = (PFNGLGETTEXGENFVPROC)load(\"glGetTexGenfv\");\n\tglad_glGetTexGeniv = (PFNGLGETTEXGENIVPROC)load(\"glGetTexGeniv\");\n\tglad_glIsList = (PFNGLISLISTPROC)load(\"glIsList\");\n\tglad_glFrustum = (PFNGLFRUSTUMPROC)load(\"glFrustum\");\n\tglad_glLoadIdentity = (PFNGLLOADIDENTITYPROC)load(\"glLoadIdentity\");\n\tglad_glLoadMatrixf = (PFNGLLOADMATRIXFPROC)load(\"glLoadMatrixf\");\n\tglad_glLoadMatrixd = (PFNGLLOADMATRIXDPROC)load(\"glLoadMatrixd\");\n\tglad_glMatrixMode = (PFNGLMATRIXMODEPROC)load(\"glMatrixMode\");\n\tglad_glMultMatrixf = (PFNGLMULTMATRIXFPROC)load(\"glMultMatrixf\");\n\tglad_glMultMatrixd = (PFNGLMULTMATRIXDPROC)load(\"glMultMatrixd\");\n\tglad_glOrtho = (PFNGLORTHOPROC)load(\"glOrtho\");\n\tglad_glPopMatrix = (PFNGLPOPMATRIXPROC)load(\"glPopMatrix\");\n\tglad_glPushMatrix = (PFNGLPUSHMATRIXPROC)load(\"glPushMatrix\");\n\tglad_glRotated = (PFNGLROTATEDPROC)load(\"glRotated\");\n\tglad_glRotatef = (PFNGLROTATEFPROC)load(\"glRotatef\");\n\tglad_glScaled = (PFNGLSCALEDPROC)load(\"glScaled\");\n\tglad_glScalef = (PFNGLSCALEFPROC)load(\"glScalef\");\n\tglad_glTranslated = (PFNGLTRANSLATEDPROC)load(\"glTranslated\");\n\tglad_glTranslatef = (PFNGLTRANSLATEFPROC)load(\"glTranslatef\");\n}\nstatic void load_GL_VERSION_1_1(GLADloadproc load) {\n\tif(!GLAD_GL_VERSION_1_1) return;\n\tglad_glDrawArrays = (PFNGLDRAWARRAYSPROC)load(\"glDrawArrays\");\n\tglad_glDrawElements = (PFNGLDRAWELEMENTSPROC)load(\"glDrawElements\");\n\tglad_glGetPointerv = (PFNGLGETPOINTERVPROC)load(\"glGetPointerv\");\n\tglad_glPolygonOffset = (PFNGLPOLYGONOFFSETPROC)load(\"glPolygonOffset\");\n\tglad_glCopyTexImage1D = (PFNGLCOPYTEXIMAGE1DPROC)load(\"glCopyTexImage1D\");\n\tglad_glCopyTexImage2D = (PFNGLCOPYTEXIMAGE2DPROC)load(\"glCopyTexImage2D\");\n\tglad_glCopyTexSubImage1D = (PFNGLCOPYTEXSUBIMAGE1DPROC)load(\"glCopyTexSubImage1D\");\n\tglad_glCopyTexSubImage2D = (PFNGLCOPYTEXSUBIMAGE2DPROC)load(\"glCopyTexSubImage2D\");\n\tglad_glTexSubImage1D = (PFNGLTEXSUBIMAGE1DPROC)load(\"glTexSubImage1D\");\n\tglad_glTexSubImage2D = (PFNGLTEXSUBIMAGE2DPROC)load(\"glTexSubImage2D\");\n\tglad_glBindTexture = (PFNGLBINDTEXTUREPROC)load(\"glBindTexture\");\n\tglad_glDeleteTextures = (PFNGLDELETETEXTURESPROC)load(\"glDeleteTextures\");\n\tglad_glGenTextures = (PFNGLGENTEXTURESPROC)load(\"glGenTextures\");\n\tglad_glIsTexture = (PFNGLISTEXTUREPROC)load(\"glIsTexture\");\n\tglad_glArrayElement = (PFNGLARRAYELEMENTPROC)load(\"glArrayElement\");\n\tglad_glColorPointer = (PFNGLCOLORPOINTERPROC)load(\"glColorPointer\");\n\tglad_glDisableClientState = (PFNGLDISABLECLIENTSTATEPROC)load(\"glDisableClientState\");\n\tglad_glEdgeFlagPointer = (PFNGLEDGEFLAGPOINTERPROC)load(\"glEdgeFlagPointer\");\n\tglad_glEnableClientState = (PFNGLENABLECLIENTSTATEPROC)load(\"glEnableClientState\");\n\tglad_glIndexPointer = (PFNGLINDEXPOINTERPROC)load(\"glIndexPointer\");\n\tglad_glInterleavedArrays = (PFNGLINTERLEAVEDARRAYSPROC)load(\"glInterleavedArrays\");\n\tglad_glNormalPointer = (PFNGLNORMALPOINTERPROC)load(\"glNormalPointer\");\n\tglad_glTexCoordPointer = (PFNGLTEXCOORDPOINTERPROC)load(\"glTexCoordPointer\");\n\tglad_glVertexPointer = (PFNGLVERTEXPOINTERPROC)load(\"glVertexPointer\");\n\tglad_glAreTexturesResident = (PFNGLARETEXTURESRESIDENTPROC)load(\"glAreTexturesResident\");\n\tglad_glPrioritizeTextures = (PFNGLPRIORITIZETEXTURESPROC)load(\"glPrioritizeTextures\");\n\tglad_glIndexub = (PFNGLINDEXUBPROC)load(\"glIndexub\");\n\tglad_glIndexubv = (PFNGLINDEXUBVPROC)load(\"glIndexubv\");\n\tglad_glPopClientAttrib = (PFNGLPOPCLIENTATTRIBPROC)load(\"glPopClientAttrib\");\n\tglad_glPushClientAttrib = (PFNGLPUSHCLIENTATTRIBPROC)load(\"glPushClientAttrib\");\n}\nstatic void load_GL_VERSION_1_2(GLADloadproc load) {\n\tif(!GLAD_GL_VERSION_1_2) return;\n\tglad_glDrawRangeElements = (PFNGLDRAWRANGEELEMENTSPROC)load(\"glDrawRangeElements\");\n\tglad_glTexImage3D = (PFNGLTEXIMAGE3DPROC)load(\"glTexImage3D\");\n\tglad_glTexSubImage3D = (PFNGLTEXSUBIMAGE3DPROC)load(\"glTexSubImage3D\");\n\tglad_glCopyTexSubImage3D = (PFNGLCOPYTEXSUBIMAGE3DPROC)load(\"glCopyTexSubImage3D\");\n}\nstatic void load_GL_VERSION_1_3(GLADloadproc load) {\n\tif(!GLAD_GL_VERSION_1_3) return;\n\tglad_glActiveTexture = (PFNGLACTIVETEXTUREPROC)load(\"glActiveTexture\");\n\tglad_glSampleCoverage = (PFNGLSAMPLECOVERAGEPROC)load(\"glSampleCoverage\");\n\tglad_glCompressedTexImage3D = (PFNGLCOMPRESSEDTEXIMAGE3DPROC)load(\"glCompressedTexImage3D\");\n\tglad_glCompressedTexImage2D = (PFNGLCOMPRESSEDTEXIMAGE2DPROC)load(\"glCompressedTexImage2D\");\n\tglad_glCompressedTexImage1D = (PFNGLCOMPRESSEDTEXIMAGE1DPROC)load(\"glCompressedTexImage1D\");\n\tglad_glCompressedTexSubImage3D = (PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC)load(\"glCompressedTexSubImage3D\");\n\tglad_glCompressedTexSubImage2D = (PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC)load(\"glCompressedTexSubImage2D\");\n\tglad_glCompressedTexSubImage1D = (PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC)load(\"glCompressedTexSubImage1D\");\n\tglad_glGetCompressedTexImage = (PFNGLGETCOMPRESSEDTEXIMAGEPROC)load(\"glGetCompressedTexImage\");\n\tglad_glClientActiveTexture = (PFNGLCLIENTACTIVETEXTUREPROC)load(\"glClientActiveTexture\");\n\tglad_glMultiTexCoord1d = (PFNGLMULTITEXCOORD1DPROC)load(\"glMultiTexCoord1d\");\n\tglad_glMultiTexCoord1dv = (PFNGLMULTITEXCOORD1DVPROC)load(\"glMultiTexCoord1dv\");\n\tglad_glMultiTexCoord1f = (PFNGLMULTITEXCOORD1FPROC)load(\"glMultiTexCoord1f\");\n\tglad_glMultiTexCoord1fv = (PFNGLMULTITEXCOORD1FVPROC)load(\"glMultiTexCoord1fv\");\n\tglad_glMultiTexCoord1i = (PFNGLMULTITEXCOORD1IPROC)load(\"glMultiTexCoord1i\");\n\tglad_glMultiTexCoord1iv = (PFNGLMULTITEXCOORD1IVPROC)load(\"glMultiTexCoord1iv\");\n\tglad_glMultiTexCoord1s = (PFNGLMULTITEXCOORD1SPROC)load(\"glMultiTexCoord1s\");\n\tglad_glMultiTexCoord1sv = (PFNGLMULTITEXCOORD1SVPROC)load(\"glMultiTexCoord1sv\");\n\tglad_glMultiTexCoord2d = (PFNGLMULTITEXCOORD2DPROC)load(\"glMultiTexCoord2d\");\n\tglad_glMultiTexCoord2dv = (PFNGLMULTITEXCOORD2DVPROC)load(\"glMultiTexCoord2dv\");\n\tglad_glMultiTexCoord2f = (PFNGLMULTITEXCOORD2FPROC)load(\"glMultiTexCoord2f\");\n\tglad_glMultiTexCoord2fv = (PFNGLMULTITEXCOORD2FVPROC)load(\"glMultiTexCoord2fv\");\n\tglad_glMultiTexCoord2i = (PFNGLMULTITEXCOORD2IPROC)load(\"glMultiTexCoord2i\");\n\tglad_glMultiTexCoord2iv = (PFNGLMULTITEXCOORD2IVPROC)load(\"glMultiTexCoord2iv\");\n\tglad_glMultiTexCoord2s = (PFNGLMULTITEXCOORD2SPROC)load(\"glMultiTexCoord2s\");\n\tglad_glMultiTexCoord2sv = (PFNGLMULTITEXCOORD2SVPROC)load(\"glMultiTexCoord2sv\");\n\tglad_glMultiTexCoord3d = (PFNGLMULTITEXCOORD3DPROC)load(\"glMultiTexCoord3d\");\n\tglad_glMultiTexCoord3dv = (PFNGLMULTITEXCOORD3DVPROC)load(\"glMultiTexCoord3dv\");\n\tglad_glMultiTexCoord3f = (PFNGLMULTITEXCOORD3FPROC)load(\"glMultiTexCoord3f\");\n\tglad_glMultiTexCoord3fv = (PFNGLMULTITEXCOORD3FVPROC)load(\"glMultiTexCoord3fv\");\n\tglad_glMultiTexCoord3i = (PFNGLMULTITEXCOORD3IPROC)load(\"glMultiTexCoord3i\");\n\tglad_glMultiTexCoord3iv = (PFNGLMULTITEXCOORD3IVPROC)load(\"glMultiTexCoord3iv\");\n\tglad_glMultiTexCoord3s = (PFNGLMULTITEXCOORD3SPROC)load(\"glMultiTexCoord3s\");\n\tglad_glMultiTexCoord3sv = (PFNGLMULTITEXCOORD3SVPROC)load(\"glMultiTexCoord3sv\");\n\tglad_glMultiTexCoord4d = (PFNGLMULTITEXCOORD4DPROC)load(\"glMultiTexCoord4d\");\n\tglad_glMultiTexCoord4dv = (PFNGLMULTITEXCOORD4DVPROC)load(\"glMultiTexCoord4dv\");\n\tglad_glMultiTexCoord4f = (PFNGLMULTITEXCOORD4FPROC)load(\"glMultiTexCoord4f\");\n\tglad_glMultiTexCoord4fv = (PFNGLMULTITEXCOORD4FVPROC)load(\"glMultiTexCoord4fv\");\n\tglad_glMultiTexCoord4i = (PFNGLMULTITEXCOORD4IPROC)load(\"glMultiTexCoord4i\");\n\tglad_glMultiTexCoord4iv = (PFNGLMULTITEXCOORD4IVPROC)load(\"glMultiTexCoord4iv\");\n\tglad_glMultiTexCoord4s = (PFNGLMULTITEXCOORD4SPROC)load(\"glMultiTexCoord4s\");\n\tglad_glMultiTexCoord4sv = (PFNGLMULTITEXCOORD4SVPROC)load(\"glMultiTexCoord4sv\");\n\tglad_glLoadTransposeMatrixf = (PFNGLLOADTRANSPOSEMATRIXFPROC)load(\"glLoadTransposeMatrixf\");\n\tglad_glLoadTransposeMatrixd = (PFNGLLOADTRANSPOSEMATRIXDPROC)load(\"glLoadTransposeMatrixd\");\n\tglad_glMultTransposeMatrixf = (PFNGLMULTTRANSPOSEMATRIXFPROC)load(\"glMultTransposeMatrixf\");\n\tglad_glMultTransposeMatrixd = (PFNGLMULTTRANSPOSEMATRIXDPROC)load(\"glMultTransposeMatrixd\");\n}\nstatic void load_GL_VERSION_1_4(GLADloadproc load) {\n\tif(!GLAD_GL_VERSION_1_4) return;\n\tglad_glBlendFuncSeparate = (PFNGLBLENDFUNCSEPARATEPROC)load(\"glBlendFuncSeparate\");\n\tglad_glMultiDrawArrays = (PFNGLMULTIDRAWARRAYSPROC)load(\"glMultiDrawArrays\");\n\tglad_glMultiDrawElements = (PFNGLMULTIDRAWELEMENTSPROC)load(\"glMultiDrawElements\");\n\tglad_glPointParameterf = (PFNGLPOINTPARAMETERFPROC)load(\"glPointParameterf\");\n\tglad_glPointParameterfv = (PFNGLPOINTPARAMETERFVPROC)load(\"glPointParameterfv\");\n\tglad_glPointParameteri = (PFNGLPOINTPARAMETERIPROC)load(\"glPointParameteri\");\n\tglad_glPointParameteriv = (PFNGLPOINTPARAMETERIVPROC)load(\"glPointParameteriv\");\n\tglad_glFogCoordf = (PFNGLFOGCOORDFPROC)load(\"glFogCoordf\");\n\tglad_glFogCoordfv = (PFNGLFOGCOORDFVPROC)load(\"glFogCoordfv\");\n\tglad_glFogCoordd = (PFNGLFOGCOORDDPROC)load(\"glFogCoordd\");\n\tglad_glFogCoorddv = (PFNGLFOGCOORDDVPROC)load(\"glFogCoorddv\");\n\tglad_glFogCoordPointer = (PFNGLFOGCOORDPOINTERPROC)load(\"glFogCoordPointer\");\n\tglad_glSecondaryColor3b = (PFNGLSECONDARYCOLOR3BPROC)load(\"glSecondaryColor3b\");\n\tglad_glSecondaryColor3bv = (PFNGLSECONDARYCOLOR3BVPROC)load(\"glSecondaryColor3bv\");\n\tglad_glSecondaryColor3d = (PFNGLSECONDARYCOLOR3DPROC)load(\"glSecondaryColor3d\");\n\tglad_glSecondaryColor3dv = (PFNGLSECONDARYCOLOR3DVPROC)load(\"glSecondaryColor3dv\");\n\tglad_glSecondaryColor3f = (PFNGLSECONDARYCOLOR3FPROC)load(\"glSecondaryColor3f\");\n\tglad_glSecondaryColor3fv = (PFNGLSECONDARYCOLOR3FVPROC)load(\"glSecondaryColor3fv\");\n\tglad_glSecondaryColor3i = (PFNGLSECONDARYCOLOR3IPROC)load(\"glSecondaryColor3i\");\n\tglad_glSecondaryColor3iv = (PFNGLSECONDARYCOLOR3IVPROC)load(\"glSecondaryColor3iv\");\n\tglad_glSecondaryColor3s = (PFNGLSECONDARYCOLOR3SPROC)load(\"glSecondaryColor3s\");\n\tglad_glSecondaryColor3sv = (PFNGLSECONDARYCOLOR3SVPROC)load(\"glSecondaryColor3sv\");\n\tglad_glSecondaryColor3ub = (PFNGLSECONDARYCOLOR3UBPROC)load(\"glSecondaryColor3ub\");\n\tglad_glSecondaryColor3ubv = (PFNGLSECONDARYCOLOR3UBVPROC)load(\"glSecondaryColor3ubv\");\n\tglad_glSecondaryColor3ui = (PFNGLSECONDARYCOLOR3UIPROC)load(\"glSecondaryColor3ui\");\n\tglad_glSecondaryColor3uiv = (PFNGLSECONDARYCOLOR3UIVPROC)load(\"glSecondaryColor3uiv\");\n\tglad_glSecondaryColor3us = (PFNGLSECONDARYCOLOR3USPROC)load(\"glSecondaryColor3us\");\n\tglad_glSecondaryColor3usv = (PFNGLSECONDARYCOLOR3USVPROC)load(\"glSecondaryColor3usv\");\n\tglad_glSecondaryColorPointer = (PFNGLSECONDARYCOLORPOINTERPROC)load(\"glSecondaryColorPointer\");\n\tglad_glWindowPos2d = (PFNGLWINDOWPOS2DPROC)load(\"glWindowPos2d\");\n\tglad_glWindowPos2dv = (PFNGLWINDOWPOS2DVPROC)load(\"glWindowPos2dv\");\n\tglad_glWindowPos2f = (PFNGLWINDOWPOS2FPROC)load(\"glWindowPos2f\");\n\tglad_glWindowPos2fv = (PFNGLWINDOWPOS2FVPROC)load(\"glWindowPos2fv\");\n\tglad_glWindowPos2i = (PFNGLWINDOWPOS2IPROC)load(\"glWindowPos2i\");\n\tglad_glWindowPos2iv = (PFNGLWINDOWPOS2IVPROC)load(\"glWindowPos2iv\");\n\tglad_glWindowPos2s = (PFNGLWINDOWPOS2SPROC)load(\"glWindowPos2s\");\n\tglad_glWindowPos2sv = (PFNGLWINDOWPOS2SVPROC)load(\"glWindowPos2sv\");\n\tglad_glWindowPos3d = (PFNGLWINDOWPOS3DPROC)load(\"glWindowPos3d\");\n\tglad_glWindowPos3dv = (PFNGLWINDOWPOS3DVPROC)load(\"glWindowPos3dv\");\n\tglad_glWindowPos3f = (PFNGLWINDOWPOS3FPROC)load(\"glWindowPos3f\");\n\tglad_glWindowPos3fv = (PFNGLWINDOWPOS3FVPROC)load(\"glWindowPos3fv\");\n\tglad_glWindowPos3i = (PFNGLWINDOWPOS3IPROC)load(\"glWindowPos3i\");\n\tglad_glWindowPos3iv = (PFNGLWINDOWPOS3IVPROC)load(\"glWindowPos3iv\");\n\tglad_glWindowPos3s = (PFNGLWINDOWPOS3SPROC)load(\"glWindowPos3s\");\n\tglad_glWindowPos3sv = (PFNGLWINDOWPOS3SVPROC)load(\"glWindowPos3sv\");\n\tglad_glBlendColor = (PFNGLBLENDCOLORPROC)load(\"glBlendColor\");\n\tglad_glBlendEquation = (PFNGLBLENDEQUATIONPROC)load(\"glBlendEquation\");\n}\nstatic void load_GL_VERSION_1_5(GLADloadproc load) {\n\tif(!GLAD_GL_VERSION_1_5) return;\n\tglad_glGenQueries = (PFNGLGENQUERIESPROC)load(\"glGenQueries\");\n\tglad_glDeleteQueries = (PFNGLDELETEQUERIESPROC)load(\"glDeleteQueries\");\n\tglad_glIsQuery = (PFNGLISQUERYPROC)load(\"glIsQuery\");\n\tglad_glBeginQuery = (PFNGLBEGINQUERYPROC)load(\"glBeginQuery\");\n\tglad_glEndQuery = (PFNGLENDQUERYPROC)load(\"glEndQuery\");\n\tglad_glGetQueryiv = (PFNGLGETQUERYIVPROC)load(\"glGetQueryiv\");\n\tglad_glGetQueryObjectiv = (PFNGLGETQUERYOBJECTIVPROC)load(\"glGetQueryObjectiv\");\n\tglad_glGetQueryObjectuiv = (PFNGLGETQUERYOBJECTUIVPROC)load(\"glGetQueryObjectuiv\");\n\tglad_glBindBuffer = (PFNGLBINDBUFFERPROC)load(\"glBindBuffer\");\n\tglad_glDeleteBuffers = (PFNGLDELETEBUFFERSPROC)load(\"glDeleteBuffers\");\n\tglad_glGenBuffers = (PFNGLGENBUFFERSPROC)load(\"glGenBuffers\");\n\tglad_glIsBuffer = (PFNGLISBUFFERPROC)load(\"glIsBuffer\");\n\tglad_glBufferData = (PFNGLBUFFERDATAPROC)load(\"glBufferData\");\n\tglad_glBufferSubData = (PFNGLBUFFERSUBDATAPROC)load(\"glBufferSubData\");\n\tglad_glGetBufferSubData = (PFNGLGETBUFFERSUBDATAPROC)load(\"glGetBufferSubData\");\n\tglad_glMapBuffer = (PFNGLMAPBUFFERPROC)load(\"glMapBuffer\");\n\tglad_glUnmapBuffer = (PFNGLUNMAPBUFFERPROC)load(\"glUnmapBuffer\");\n\tglad_glGetBufferParameteriv = (PFNGLGETBUFFERPARAMETERIVPROC)load(\"glGetBufferParameteriv\");\n\tglad_glGetBufferPointerv = (PFNGLGETBUFFERPOINTERVPROC)load(\"glGetBufferPointerv\");\n}\nstatic void load_GL_VERSION_2_0(GLADloadproc load) {\n\tif(!GLAD_GL_VERSION_2_0) return;\n\tglad_glBlendEquationSeparate = (PFNGLBLENDEQUATIONSEPARATEPROC)load(\"glBlendEquationSeparate\");\n\tglad_glDrawBuffers = (PFNGLDRAWBUFFERSPROC)load(\"glDrawBuffers\");\n\tglad_glStencilOpSeparate = (PFNGLSTENCILOPSEPARATEPROC)load(\"glStencilOpSeparate\");\n\tglad_glStencilFuncSeparate = (PFNGLSTENCILFUNCSEPARATEPROC)load(\"glStencilFuncSeparate\");\n\tglad_glStencilMaskSeparate = (PFNGLSTENCILMASKSEPARATEPROC)load(\"glStencilMaskSeparate\");\n\tglad_glAttachShader = (PFNGLATTACHSHADERPROC)load(\"glAttachShader\");\n\tglad_glBindAttribLocation = (PFNGLBINDATTRIBLOCATIONPROC)load(\"glBindAttribLocation\");\n\tglad_glCompileShader = (PFNGLCOMPILESHADERPROC)load(\"glCompileShader\");\n\tglad_glCreateProgram = (PFNGLCREATEPROGRAMPROC)load(\"glCreateProgram\");\n\tglad_glCreateShader = (PFNGLCREATESHADERPROC)load(\"glCreateShader\");\n\tglad_glDeleteProgram = (PFNGLDELETEPROGRAMPROC)load(\"glDeleteProgram\");\n\tglad_glDeleteShader = (PFNGLDELETESHADERPROC)load(\"glDeleteShader\");\n\tglad_glDetachShader = (PFNGLDETACHSHADERPROC)load(\"glDetachShader\");\n\tglad_glDisableVertexAttribArray = (PFNGLDISABLEVERTEXATTRIBARRAYPROC)load(\"glDisableVertexAttribArray\");\n\tglad_glEnableVertexAttribArray = (PFNGLENABLEVERTEXATTRIBARRAYPROC)load(\"glEnableVertexAttribArray\");\n\tglad_glGetActiveAttrib = (PFNGLGETACTIVEATTRIBPROC)load(\"glGetActiveAttrib\");\n\tglad_glGetActiveUniform = (PFNGLGETACTIVEUNIFORMPROC)load(\"glGetActiveUniform\");\n\tglad_glGetAttachedShaders = (PFNGLGETATTACHEDSHADERSPROC)load(\"glGetAttachedShaders\");\n\tglad_glGetAttribLocation = (PFNGLGETATTRIBLOCATIONPROC)load(\"glGetAttribLocation\");\n\tglad_glGetProgramiv = (PFNGLGETPROGRAMIVPROC)load(\"glGetProgramiv\");\n\tglad_glGetProgramInfoLog = (PFNGLGETPROGRAMINFOLOGPROC)load(\"glGetProgramInfoLog\");\n\tglad_glGetShaderiv = (PFNGLGETSHADERIVPROC)load(\"glGetShaderiv\");\n\tglad_glGetShaderInfoLog = (PFNGLGETSHADERINFOLOGPROC)load(\"glGetShaderInfoLog\");\n\tglad_glGetShaderSource = (PFNGLGETSHADERSOURCEPROC)load(\"glGetShaderSource\");\n\tglad_glGetUniformLocation = (PFNGLGETUNIFORMLOCATIONPROC)load(\"glGetUniformLocation\");\n\tglad_glGetUniformfv = (PFNGLGETUNIFORMFVPROC)load(\"glGetUniformfv\");\n\tglad_glGetUniformiv = (PFNGLGETUNIFORMIVPROC)load(\"glGetUniformiv\");\n\tglad_glGetVertexAttribdv = (PFNGLGETVERTEXATTRIBDVPROC)load(\"glGetVertexAttribdv\");\n\tglad_glGetVertexAttribfv = (PFNGLGETVERTEXATTRIBFVPROC)load(\"glGetVertexAttribfv\");\n\tglad_glGetVertexAttribiv = (PFNGLGETVERTEXATTRIBIVPROC)load(\"glGetVertexAttribiv\");\n\tglad_glGetVertexAttribPointerv = (PFNGLGETVERTEXATTRIBPOINTERVPROC)load(\"glGetVertexAttribPointerv\");\n\tglad_glIsProgram = (PFNGLISPROGRAMPROC)load(\"glIsProgram\");\n\tglad_glIsShader = (PFNGLISSHADERPROC)load(\"glIsShader\");\n\tglad_glLinkProgram = (PFNGLLINKPROGRAMPROC)load(\"glLinkProgram\");\n\tglad_glShaderSource = (PFNGLSHADERSOURCEPROC)load(\"glShaderSource\");\n\tglad_glUseProgram = (PFNGLUSEPROGRAMPROC)load(\"glUseProgram\");\n\tglad_glUniform1f = (PFNGLUNIFORM1FPROC)load(\"glUniform1f\");\n\tglad_glUniform2f = (PFNGLUNIFORM2FPROC)load(\"glUniform2f\");\n\tglad_glUniform3f = (PFNGLUNIFORM3FPROC)load(\"glUniform3f\");\n\tglad_glUniform4f = (PFNGLUNIFORM4FPROC)load(\"glUniform4f\");\n\tglad_glUniform1i = (PFNGLUNIFORM1IPROC)load(\"glUniform1i\");\n\tglad_glUniform2i = (PFNGLUNIFORM2IPROC)load(\"glUniform2i\");\n\tglad_glUniform3i = (PFNGLUNIFORM3IPROC)load(\"glUniform3i\");\n\tglad_glUniform4i = (PFNGLUNIFORM4IPROC)load(\"glUniform4i\");\n\tglad_glUniform1fv = (PFNGLUNIFORM1FVPROC)load(\"glUniform1fv\");\n\tglad_glUniform2fv = (PFNGLUNIFORM2FVPROC)load(\"glUniform2fv\");\n\tglad_glUniform3fv = (PFNGLUNIFORM3FVPROC)load(\"glUniform3fv\");\n\tglad_glUniform4fv = (PFNGLUNIFORM4FVPROC)load(\"glUniform4fv\");\n\tglad_glUniform1iv = (PFNGLUNIFORM1IVPROC)load(\"glUniform1iv\");\n\tglad_glUniform2iv = (PFNGLUNIFORM2IVPROC)load(\"glUniform2iv\");\n\tglad_glUniform3iv = (PFNGLUNIFORM3IVPROC)load(\"glUniform3iv\");\n\tglad_glUniform4iv = (PFNGLUNIFORM4IVPROC)load(\"glUniform4iv\");\n\tglad_glUniformMatrix2fv = (PFNGLUNIFORMMATRIX2FVPROC)load(\"glUniformMatrix2fv\");\n\tglad_glUniformMatrix3fv = (PFNGLUNIFORMMATRIX3FVPROC)load(\"glUniformMatrix3fv\");\n\tglad_glUniformMatrix4fv = (PFNGLUNIFORMMATRIX4FVPROC)load(\"glUniformMatrix4fv\");\n\tglad_glValidateProgram = (PFNGLVALIDATEPROGRAMPROC)load(\"glValidateProgram\");\n\tglad_glVertexAttrib1d = (PFNGLVERTEXATTRIB1DPROC)load(\"glVertexAttrib1d\");\n\tglad_glVertexAttrib1dv = (PFNGLVERTEXATTRIB1DVPROC)load(\"glVertexAttrib1dv\");\n\tglad_glVertexAttrib1f = (PFNGLVERTEXATTRIB1FPROC)load(\"glVertexAttrib1f\");\n\tglad_glVertexAttrib1fv = (PFNGLVERTEXATTRIB1FVPROC)load(\"glVertexAttrib1fv\");\n\tglad_glVertexAttrib1s = (PFNGLVERTEXATTRIB1SPROC)load(\"glVertexAttrib1s\");\n\tglad_glVertexAttrib1sv = (PFNGLVERTEXATTRIB1SVPROC)load(\"glVertexAttrib1sv\");\n\tglad_glVertexAttrib2d = (PFNGLVERTEXATTRIB2DPROC)load(\"glVertexAttrib2d\");\n\tglad_glVertexAttrib2dv = (PFNGLVERTEXATTRIB2DVPROC)load(\"glVertexAttrib2dv\");\n\tglad_glVertexAttrib2f = (PFNGLVERTEXATTRIB2FPROC)load(\"glVertexAttrib2f\");\n\tglad_glVertexAttrib2fv = (PFNGLVERTEXATTRIB2FVPROC)load(\"glVertexAttrib2fv\");\n\tglad_glVertexAttrib2s = (PFNGLVERTEXATTRIB2SPROC)load(\"glVertexAttrib2s\");\n\tglad_glVertexAttrib2sv = (PFNGLVERTEXATTRIB2SVPROC)load(\"glVertexAttrib2sv\");\n\tglad_glVertexAttrib3d = (PFNGLVERTEXATTRIB3DPROC)load(\"glVertexAttrib3d\");\n\tglad_glVertexAttrib3dv = (PFNGLVERTEXATTRIB3DVPROC)load(\"glVertexAttrib3dv\");\n\tglad_glVertexAttrib3f = (PFNGLVERTEXATTRIB3FPROC)load(\"glVertexAttrib3f\");\n\tglad_glVertexAttrib3fv = (PFNGLVERTEXATTRIB3FVPROC)load(\"glVertexAttrib3fv\");\n\tglad_glVertexAttrib3s = (PFNGLVERTEXATTRIB3SPROC)load(\"glVertexAttrib3s\");\n\tglad_glVertexAttrib3sv = (PFNGLVERTEXATTRIB3SVPROC)load(\"glVertexAttrib3sv\");\n\tglad_glVertexAttrib4Nbv = (PFNGLVERTEXATTRIB4NBVPROC)load(\"glVertexAttrib4Nbv\");\n\tglad_glVertexAttrib4Niv = (PFNGLVERTEXATTRIB4NIVPROC)load(\"glVertexAttrib4Niv\");\n\tglad_glVertexAttrib4Nsv = (PFNGLVERTEXATTRIB4NSVPROC)load(\"glVertexAttrib4Nsv\");\n\tglad_glVertexAttrib4Nub = (PFNGLVERTEXATTRIB4NUBPROC)load(\"glVertexAttrib4Nub\");\n\tglad_glVertexAttrib4Nubv = (PFNGLVERTEXATTRIB4NUBVPROC)load(\"glVertexAttrib4Nubv\");\n\tglad_glVertexAttrib4Nuiv = (PFNGLVERTEXATTRIB4NUIVPROC)load(\"glVertexAttrib4Nuiv\");\n\tglad_glVertexAttrib4Nusv = (PFNGLVERTEXATTRIB4NUSVPROC)load(\"glVertexAttrib4Nusv\");\n\tglad_glVertexAttrib4bv = (PFNGLVERTEXATTRIB4BVPROC)load(\"glVertexAttrib4bv\");\n\tglad_glVertexAttrib4d = (PFNGLVERTEXATTRIB4DPROC)load(\"glVertexAttrib4d\");\n\tglad_glVertexAttrib4dv = (PFNGLVERTEXATTRIB4DVPROC)load(\"glVertexAttrib4dv\");\n\tglad_glVertexAttrib4f = (PFNGLVERTEXATTRIB4FPROC)load(\"glVertexAttrib4f\");\n\tglad_glVertexAttrib4fv = (PFNGLVERTEXATTRIB4FVPROC)load(\"glVertexAttrib4fv\");\n\tglad_glVertexAttrib4iv = (PFNGLVERTEXATTRIB4IVPROC)load(\"glVertexAttrib4iv\");\n\tglad_glVertexAttrib4s = (PFNGLVERTEXATTRIB4SPROC)load(\"glVertexAttrib4s\");\n\tglad_glVertexAttrib4sv = (PFNGLVERTEXATTRIB4SVPROC)load(\"glVertexAttrib4sv\");\n\tglad_glVertexAttrib4ubv = (PFNGLVERTEXATTRIB4UBVPROC)load(\"glVertexAttrib4ubv\");\n\tglad_glVertexAttrib4uiv = (PFNGLVERTEXATTRIB4UIVPROC)load(\"glVertexAttrib4uiv\");\n\tglad_glVertexAttrib4usv = (PFNGLVERTEXATTRIB4USVPROC)load(\"glVertexAttrib4usv\");\n\tglad_glVertexAttribPointer = (PFNGLVERTEXATTRIBPOINTERPROC)load(\"glVertexAttribPointer\");\n}\nstatic void load_GL_VERSION_2_1(GLADloadproc load) {\n\tif(!GLAD_GL_VERSION_2_1) return;\n\tglad_glUniformMatrix2x3fv = (PFNGLUNIFORMMATRIX2X3FVPROC)load(\"glUniformMatrix2x3fv\");\n\tglad_glUniformMatrix3x2fv = (PFNGLUNIFORMMATRIX3X2FVPROC)load(\"glUniformMatrix3x2fv\");\n\tglad_glUniformMatrix2x4fv = (PFNGLUNIFORMMATRIX2X4FVPROC)load(\"glUniformMatrix2x4fv\");\n\tglad_glUniformMatrix4x2fv = (PFNGLUNIFORMMATRIX4X2FVPROC)load(\"glUniformMatrix4x2fv\");\n\tglad_glUniformMatrix3x4fv = (PFNGLUNIFORMMATRIX3X4FVPROC)load(\"glUniformMatrix3x4fv\");\n\tglad_glUniformMatrix4x3fv = (PFNGLUNIFORMMATRIX4X3FVPROC)load(\"glUniformMatrix4x3fv\");\n}\nstatic void load_GL_VERSION_3_0(GLADloadproc load) {\n\tif(!GLAD_GL_VERSION_3_0) return;\n\tglad_glColorMaski = (PFNGLCOLORMASKIPROC)load(\"glColorMaski\");\n\tglad_glGetBooleani_v = (PFNGLGETBOOLEANI_VPROC)load(\"glGetBooleani_v\");\n\tglad_glGetIntegeri_v = (PFNGLGETINTEGERI_VPROC)load(\"glGetIntegeri_v\");\n\tglad_glEnablei = (PFNGLENABLEIPROC)load(\"glEnablei\");\n\tglad_glDisablei = (PFNGLDISABLEIPROC)load(\"glDisablei\");\n\tglad_glIsEnabledi = (PFNGLISENABLEDIPROC)load(\"glIsEnabledi\");\n\tglad_glBeginTransformFeedback = (PFNGLBEGINTRANSFORMFEEDBACKPROC)load(\"glBeginTransformFeedback\");\n\tglad_glEndTransformFeedback = (PFNGLENDTRANSFORMFEEDBACKPROC)load(\"glEndTransformFeedback\");\n\tglad_glBindBufferRange = (PFNGLBINDBUFFERRANGEPROC)load(\"glBindBufferRange\");\n\tglad_glBindBufferBase = (PFNGLBINDBUFFERBASEPROC)load(\"glBindBufferBase\");\n\tglad_glTransformFeedbackVaryings = (PFNGLTRANSFORMFEEDBACKVARYINGSPROC)load(\"glTransformFeedbackVaryings\");\n\tglad_glGetTransformFeedbackVarying = (PFNGLGETTRANSFORMFEEDBACKVARYINGPROC)load(\"glGetTransformFeedbackVarying\");\n\tglad_glClampColor = (PFNGLCLAMPCOLORPROC)load(\"glClampColor\");\n\tglad_glBeginConditionalRender = (PFNGLBEGINCONDITIONALRENDERPROC)load(\"glBeginConditionalRender\");\n\tglad_glEndConditionalRender = (PFNGLENDCONDITIONALRENDERPROC)load(\"glEndConditionalRender\");\n\tglad_glVertexAttribIPointer = (PFNGLVERTEXATTRIBIPOINTERPROC)load(\"glVertexAttribIPointer\");\n\tglad_glGetVertexAttribIiv = (PFNGLGETVERTEXATTRIBIIVPROC)load(\"glGetVertexAttribIiv\");\n\tglad_glGetVertexAttribIuiv = (PFNGLGETVERTEXATTRIBIUIVPROC)load(\"glGetVertexAttribIuiv\");\n\tglad_glVertexAttribI1i = (PFNGLVERTEXATTRIBI1IPROC)load(\"glVertexAttribI1i\");\n\tglad_glVertexAttribI2i = (PFNGLVERTEXATTRIBI2IPROC)load(\"glVertexAttribI2i\");\n\tglad_glVertexAttribI3i = (PFNGLVERTEXATTRIBI3IPROC)load(\"glVertexAttribI3i\");\n\tglad_glVertexAttribI4i = (PFNGLVERTEXATTRIBI4IPROC)load(\"glVertexAttribI4i\");\n\tglad_glVertexAttribI1ui = (PFNGLVERTEXATTRIBI1UIPROC)load(\"glVertexAttribI1ui\");\n\tglad_glVertexAttribI2ui = (PFNGLVERTEXATTRIBI2UIPROC)load(\"glVertexAttribI2ui\");\n\tglad_glVertexAttribI3ui = (PFNGLVERTEXATTRIBI3UIPROC)load(\"glVertexAttribI3ui\");\n\tglad_glVertexAttribI4ui = (PFNGLVERTEXATTRIBI4UIPROC)load(\"glVertexAttribI4ui\");\n\tglad_glVertexAttribI1iv = (PFNGLVERTEXATTRIBI1IVPROC)load(\"glVertexAttribI1iv\");\n\tglad_glVertexAttribI2iv = (PFNGLVERTEXATTRIBI2IVPROC)load(\"glVertexAttribI2iv\");\n\tglad_glVertexAttribI3iv = (PFNGLVERTEXATTRIBI3IVPROC)load(\"glVertexAttribI3iv\");\n\tglad_glVertexAttribI4iv = (PFNGLVERTEXATTRIBI4IVPROC)load(\"glVertexAttribI4iv\");\n\tglad_glVertexAttribI1uiv = (PFNGLVERTEXATTRIBI1UIVPROC)load(\"glVertexAttribI1uiv\");\n\tglad_glVertexAttribI2uiv = (PFNGLVERTEXATTRIBI2UIVPROC)load(\"glVertexAttribI2uiv\");\n\tglad_glVertexAttribI3uiv = (PFNGLVERTEXATTRIBI3UIVPROC)load(\"glVertexAttribI3uiv\");\n\tglad_glVertexAttribI4uiv = (PFNGLVERTEXATTRIBI4UIVPROC)load(\"glVertexAttribI4uiv\");\n\tglad_glVertexAttribI4bv = (PFNGLVERTEXATTRIBI4BVPROC)load(\"glVertexAttribI4bv\");\n\tglad_glVertexAttribI4sv = (PFNGLVERTEXATTRIBI4SVPROC)load(\"glVertexAttribI4sv\");\n\tglad_glVertexAttribI4ubv = (PFNGLVERTEXATTRIBI4UBVPROC)load(\"glVertexAttribI4ubv\");\n\tglad_glVertexAttribI4usv = (PFNGLVERTEXATTRIBI4USVPROC)load(\"glVertexAttribI4usv\");\n\tglad_glGetUniformuiv = (PFNGLGETUNIFORMUIVPROC)load(\"glGetUniformuiv\");\n\tglad_glBindFragDataLocation = (PFNGLBINDFRAGDATALOCATIONPROC)load(\"glBindFragDataLocation\");\n\tglad_glGetFragDataLocation = (PFNGLGETFRAGDATALOCATIONPROC)load(\"glGetFragDataLocation\");\n\tglad_glUniform1ui = (PFNGLUNIFORM1UIPROC)load(\"glUniform1ui\");\n\tglad_glUniform2ui = (PFNGLUNIFORM2UIPROC)load(\"glUniform2ui\");\n\tglad_glUniform3ui = (PFNGLUNIFORM3UIPROC)load(\"glUniform3ui\");\n\tglad_glUniform4ui = (PFNGLUNIFORM4UIPROC)load(\"glUniform4ui\");\n\tglad_glUniform1uiv = (PFNGLUNIFORM1UIVPROC)load(\"glUniform1uiv\");\n\tglad_glUniform2uiv = (PFNGLUNIFORM2UIVPROC)load(\"glUniform2uiv\");\n\tglad_glUniform3uiv = (PFNGLUNIFORM3UIVPROC)load(\"glUniform3uiv\");\n\tglad_glUniform4uiv = (PFNGLUNIFORM4UIVPROC)load(\"glUniform4uiv\");\n\tglad_glTexParameterIiv = (PFNGLTEXPARAMETERIIVPROC)load(\"glTexParameterIiv\");\n\tglad_glTexParameterIuiv = (PFNGLTEXPARAMETERIUIVPROC)load(\"glTexParameterIuiv\");\n\tglad_glGetTexParameterIiv = (PFNGLGETTEXPARAMETERIIVPROC)load(\"glGetTexParameterIiv\");\n\tglad_glGetTexParameterIuiv = (PFNGLGETTEXPARAMETERIUIVPROC)load(\"glGetTexParameterIuiv\");\n\tglad_glClearBufferiv = (PFNGLCLEARBUFFERIVPROC)load(\"glClearBufferiv\");\n\tglad_glClearBufferuiv = (PFNGLCLEARBUFFERUIVPROC)load(\"glClearBufferuiv\");\n\tglad_glClearBufferfv = (PFNGLCLEARBUFFERFVPROC)load(\"glClearBufferfv\");\n\tglad_glClearBufferfi = (PFNGLCLEARBUFFERFIPROC)load(\"glClearBufferfi\");\n\tglad_glGetStringi = (PFNGLGETSTRINGIPROC)load(\"glGetStringi\");\n\tglad_glIsRenderbuffer = (PFNGLISRENDERBUFFERPROC)load(\"glIsRenderbuffer\");\n\tglad_glBindRenderbuffer = (PFNGLBINDRENDERBUFFERPROC)load(\"glBindRenderbuffer\");\n\tglad_glDeleteRenderbuffers = (PFNGLDELETERENDERBUFFERSPROC)load(\"glDeleteRenderbuffers\");\n\tglad_glGenRenderbuffers = (PFNGLGENRENDERBUFFERSPROC)load(\"glGenRenderbuffers\");\n\tglad_glRenderbufferStorage = (PFNGLRENDERBUFFERSTORAGEPROC)load(\"glRenderbufferStorage\");\n\tglad_glGetRenderbufferParameteriv = (PFNGLGETRENDERBUFFERPARAMETERIVPROC)load(\"glGetRenderbufferParameteriv\");\n\tglad_glIsFramebuffer = (PFNGLISFRAMEBUFFERPROC)load(\"glIsFramebuffer\");\n\tglad_glBindFramebuffer = (PFNGLBINDFRAMEBUFFERPROC)load(\"glBindFramebuffer\");\n\tglad_glDeleteFramebuffers = (PFNGLDELETEFRAMEBUFFERSPROC)load(\"glDeleteFramebuffers\");\n\tglad_glGenFramebuffers = (PFNGLGENFRAMEBUFFERSPROC)load(\"glGenFramebuffers\");\n\tglad_glCheckFramebufferStatus = (PFNGLCHECKFRAMEBUFFERSTATUSPROC)load(\"glCheckFramebufferStatus\");\n\tglad_glFramebufferTexture1D = (PFNGLFRAMEBUFFERTEXTURE1DPROC)load(\"glFramebufferTexture1D\");\n\tglad_glFramebufferTexture2D = (PFNGLFRAMEBUFFERTEXTURE2DPROC)load(\"glFramebufferTexture2D\");\n\tglad_glFramebufferTexture3D = (PFNGLFRAMEBUFFERTEXTURE3DPROC)load(\"glFramebufferTexture3D\");\n\tglad_glFramebufferRenderbuffer = (PFNGLFRAMEBUFFERRENDERBUFFERPROC)load(\"glFramebufferRenderbuffer\");\n\tglad_glGetFramebufferAttachmentParameteriv = (PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC)load(\"glGetFramebufferAttachmentParameteriv\");\n\tglad_glGenerateMipmap = (PFNGLGENERATEMIPMAPPROC)load(\"glGenerateMipmap\");\n\tglad_glBlitFramebuffer = (PFNGLBLITFRAMEBUFFERPROC)load(\"glBlitFramebuffer\");\n\tglad_glRenderbufferStorageMultisample = (PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC)load(\"glRenderbufferStorageMultisample\");\n\tglad_glFramebufferTextureLayer = (PFNGLFRAMEBUFFERTEXTURELAYERPROC)load(\"glFramebufferTextureLayer\");\n\tglad_glMapBufferRange = (PFNGLMAPBUFFERRANGEPROC)load(\"glMapBufferRange\");\n\tglad_glFlushMappedBufferRange = (PFNGLFLUSHMAPPEDBUFFERRANGEPROC)load(\"glFlushMappedBufferRange\");\n\tglad_glBindVertexArray = (PFNGLBINDVERTEXARRAYPROC)load(\"glBindVertexArray\");\n\tglad_glDeleteVertexArrays = (PFNGLDELETEVERTEXARRAYSPROC)load(\"glDeleteVertexArrays\");\n\tglad_glGenVertexArrays = (PFNGLGENVERTEXARRAYSPROC)load(\"glGenVertexArrays\");\n\tglad_glIsVertexArray = (PFNGLISVERTEXARRAYPROC)load(\"glIsVertexArray\");\n}\nstatic void load_GL_VERSION_3_1(GLADloadproc load) {\n\tif(!GLAD_GL_VERSION_3_1) return;\n\tglad_glDrawArraysInstanced = (PFNGLDRAWARRAYSINSTANCEDPROC)load(\"glDrawArraysInstanced\");\n\tglad_glDrawElementsInstanced = (PFNGLDRAWELEMENTSINSTANCEDPROC)load(\"glDrawElementsInstanced\");\n\tglad_glTexBuffer = (PFNGLTEXBUFFERPROC)load(\"glTexBuffer\");\n\tglad_glPrimitiveRestartIndex = (PFNGLPRIMITIVERESTARTINDEXPROC)load(\"glPrimitiveRestartIndex\");\n\tglad_glCopyBufferSubData = (PFNGLCOPYBUFFERSUBDATAPROC)load(\"glCopyBufferSubData\");\n\tglad_glGetUniformIndices = (PFNGLGETUNIFORMINDICESPROC)load(\"glGetUniformIndices\");\n\tglad_glGetActiveUniformsiv = (PFNGLGETACTIVEUNIFORMSIVPROC)load(\"glGetActiveUniformsiv\");\n\tglad_glGetActiveUniformName = (PFNGLGETACTIVEUNIFORMNAMEPROC)load(\"glGetActiveUniformName\");\n\tglad_glGetUniformBlockIndex = (PFNGLGETUNIFORMBLOCKINDEXPROC)load(\"glGetUniformBlockIndex\");\n\tglad_glGetActiveUniformBlockiv = (PFNGLGETACTIVEUNIFORMBLOCKIVPROC)load(\"glGetActiveUniformBlockiv\");\n\tglad_glGetActiveUniformBlockName = (PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC)load(\"glGetActiveUniformBlockName\");\n\tglad_glUniformBlockBinding = (PFNGLUNIFORMBLOCKBINDINGPROC)load(\"glUniformBlockBinding\");\n\tglad_glBindBufferRange = (PFNGLBINDBUFFERRANGEPROC)load(\"glBindBufferRange\");\n\tglad_glBindBufferBase = (PFNGLBINDBUFFERBASEPROC)load(\"glBindBufferBase\");\n\tglad_glGetIntegeri_v = (PFNGLGETINTEGERI_VPROC)load(\"glGetIntegeri_v\");\n}\nstatic void load_GL_VERSION_3_2(GLADloadproc load) {\n\tif(!GLAD_GL_VERSION_3_2) return;\n\tglad_glDrawElementsBaseVertex = (PFNGLDRAWELEMENTSBASEVERTEXPROC)load(\"glDrawElementsBaseVertex\");\n\tglad_glDrawRangeElementsBaseVertex = (PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC)load(\"glDrawRangeElementsBaseVertex\");\n\tglad_glDrawElementsInstancedBaseVertex = (PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC)load(\"glDrawElementsInstancedBaseVertex\");\n\tglad_glMultiDrawElementsBaseVertex = (PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC)load(\"glMultiDrawElementsBaseVertex\");\n\tglad_glProvokingVertex = (PFNGLPROVOKINGVERTEXPROC)load(\"glProvokingVertex\");\n\tglad_glFenceSync = (PFNGLFENCESYNCPROC)load(\"glFenceSync\");\n\tglad_glIsSync = (PFNGLISSYNCPROC)load(\"glIsSync\");\n\tglad_glDeleteSync = (PFNGLDELETESYNCPROC)load(\"glDeleteSync\");\n\tglad_glClientWaitSync = (PFNGLCLIENTWAITSYNCPROC)load(\"glClientWaitSync\");\n\tglad_glWaitSync = (PFNGLWAITSYNCPROC)load(\"glWaitSync\");\n\tglad_glGetInteger64v = (PFNGLGETINTEGER64VPROC)load(\"glGetInteger64v\");\n\tglad_glGetSynciv = (PFNGLGETSYNCIVPROC)load(\"glGetSynciv\");\n\tglad_glGetInteger64i_v = (PFNGLGETINTEGER64I_VPROC)load(\"glGetInteger64i_v\");\n\tglad_glGetBufferParameteri64v = (PFNGLGETBUFFERPARAMETERI64VPROC)load(\"glGetBufferParameteri64v\");\n\tglad_glFramebufferTexture = (PFNGLFRAMEBUFFERTEXTUREPROC)load(\"glFramebufferTexture\");\n\tglad_glTexImage2DMultisample = (PFNGLTEXIMAGE2DMULTISAMPLEPROC)load(\"glTexImage2DMultisample\");\n\tglad_glTexImage3DMultisample = (PFNGLTEXIMAGE3DMULTISAMPLEPROC)load(\"glTexImage3DMultisample\");\n\tglad_glGetMultisamplefv = (PFNGLGETMULTISAMPLEFVPROC)load(\"glGetMultisamplefv\");\n\tglad_glSampleMaski = (PFNGLSAMPLEMASKIPROC)load(\"glSampleMaski\");\n}\nstatic void load_GL_VERSION_3_3(GLADloadproc load) {\n\tif(!GLAD_GL_VERSION_3_3) return;\n\tglad_glBindFragDataLocationIndexed = (PFNGLBINDFRAGDATALOCATIONINDEXEDPROC)load(\"glBindFragDataLocationIndexed\");\n\tglad_glGetFragDataIndex = (PFNGLGETFRAGDATAINDEXPROC)load(\"glGetFragDataIndex\");\n\tglad_glGenSamplers = (PFNGLGENSAMPLERSPROC)load(\"glGenSamplers\");\n\tglad_glDeleteSamplers = (PFNGLDELETESAMPLERSPROC)load(\"glDeleteSamplers\");\n\tglad_glIsSampler = (PFNGLISSAMPLERPROC)load(\"glIsSampler\");\n\tglad_glBindSampler = (PFNGLBINDSAMPLERPROC)load(\"glBindSampler\");\n\tglad_glSamplerParameteri = (PFNGLSAMPLERPARAMETERIPROC)load(\"glSamplerParameteri\");\n\tglad_glSamplerParameteriv = (PFNGLSAMPLERPARAMETERIVPROC)load(\"glSamplerParameteriv\");\n\tglad_glSamplerParameterf = (PFNGLSAMPLERPARAMETERFPROC)load(\"glSamplerParameterf\");\n\tglad_glSamplerParameterfv = (PFNGLSAMPLERPARAMETERFVPROC)load(\"glSamplerParameterfv\");\n\tglad_glSamplerParameterIiv = (PFNGLSAMPLERPARAMETERIIVPROC)load(\"glSamplerParameterIiv\");\n\tglad_glSamplerParameterIuiv = (PFNGLSAMPLERPARAMETERIUIVPROC)load(\"glSamplerParameterIuiv\");\n\tglad_glGetSamplerParameteriv = (PFNGLGETSAMPLERPARAMETERIVPROC)load(\"glGetSamplerParameteriv\");\n\tglad_glGetSamplerParameterIiv = (PFNGLGETSAMPLERPARAMETERIIVPROC)load(\"glGetSamplerParameterIiv\");\n\tglad_glGetSamplerParameterfv = (PFNGLGETSAMPLERPARAMETERFVPROC)load(\"glGetSamplerParameterfv\");\n\tglad_glGetSamplerParameterIuiv = (PFNGLGETSAMPLERPARAMETERIUIVPROC)load(\"glGetSamplerParameterIuiv\");\n\tglad_glQueryCounter = (PFNGLQUERYCOUNTERPROC)load(\"glQueryCounter\");\n\tglad_glGetQueryObjecti64v = (PFNGLGETQUERYOBJECTI64VPROC)load(\"glGetQueryObjecti64v\");\n\tglad_glGetQueryObjectui64v = (PFNGLGETQUERYOBJECTUI64VPROC)load(\"glGetQueryObjectui64v\");\n\tglad_glVertexAttribDivisor = (PFNGLVERTEXATTRIBDIVISORPROC)load(\"glVertexAttribDivisor\");\n\tglad_glVertexAttribP1ui = (PFNGLVERTEXATTRIBP1UIPROC)load(\"glVertexAttribP1ui\");\n\tglad_glVertexAttribP1uiv = (PFNGLVERTEXATTRIBP1UIVPROC)load(\"glVertexAttribP1uiv\");\n\tglad_glVertexAttribP2ui = (PFNGLVERTEXATTRIBP2UIPROC)load(\"glVertexAttribP2ui\");\n\tglad_glVertexAttribP2uiv = (PFNGLVERTEXATTRIBP2UIVPROC)load(\"glVertexAttribP2uiv\");\n\tglad_glVertexAttribP3ui = (PFNGLVERTEXATTRIBP3UIPROC)load(\"glVertexAttribP3ui\");\n\tglad_glVertexAttribP3uiv = (PFNGLVERTEXATTRIBP3UIVPROC)load(\"glVertexAttribP3uiv\");\n\tglad_glVertexAttribP4ui = (PFNGLVERTEXATTRIBP4UIPROC)load(\"glVertexAttribP4ui\");\n\tglad_glVertexAttribP4uiv = (PFNGLVERTEXATTRIBP4UIVPROC)load(\"glVertexAttribP4uiv\");\n\tglad_glVertexP2ui = (PFNGLVERTEXP2UIPROC)load(\"glVertexP2ui\");\n\tglad_glVertexP2uiv = (PFNGLVERTEXP2UIVPROC)load(\"glVertexP2uiv\");\n\tglad_glVertexP3ui = (PFNGLVERTEXP3UIPROC)load(\"glVertexP3ui\");\n\tglad_glVertexP3uiv = (PFNGLVERTEXP3UIVPROC)load(\"glVertexP3uiv\");\n\tglad_glVertexP4ui = (PFNGLVERTEXP4UIPROC)load(\"glVertexP4ui\");\n\tglad_glVertexP4uiv = (PFNGLVERTEXP4UIVPROC)load(\"glVertexP4uiv\");\n\tglad_glTexCoordP1ui = (PFNGLTEXCOORDP1UIPROC)load(\"glTexCoordP1ui\");\n\tglad_glTexCoordP1uiv = (PFNGLTEXCOORDP1UIVPROC)load(\"glTexCoordP1uiv\");\n\tglad_glTexCoordP2ui = (PFNGLTEXCOORDP2UIPROC)load(\"glTexCoordP2ui\");\n\tglad_glTexCoordP2uiv = (PFNGLTEXCOORDP2UIVPROC)load(\"glTexCoordP2uiv\");\n\tglad_glTexCoordP3ui = (PFNGLTEXCOORDP3UIPROC)load(\"glTexCoordP3ui\");\n\tglad_glTexCoordP3uiv = (PFNGLTEXCOORDP3UIVPROC)load(\"glTexCoordP3uiv\");\n\tglad_glTexCoordP4ui = (PFNGLTEXCOORDP4UIPROC)load(\"glTexCoordP4ui\");\n\tglad_glTexCoordP4uiv = (PFNGLTEXCOORDP4UIVPROC)load(\"glTexCoordP4uiv\");\n\tglad_glMultiTexCoordP1ui = (PFNGLMULTITEXCOORDP1UIPROC)load(\"glMultiTexCoordP1ui\");\n\tglad_glMultiTexCoordP1uiv = (PFNGLMULTITEXCOORDP1UIVPROC)load(\"glMultiTexCoordP1uiv\");\n\tglad_glMultiTexCoordP2ui = (PFNGLMULTITEXCOORDP2UIPROC)load(\"glMultiTexCoordP2ui\");\n\tglad_glMultiTexCoordP2uiv = (PFNGLMULTITEXCOORDP2UIVPROC)load(\"glMultiTexCoordP2uiv\");\n\tglad_glMultiTexCoordP3ui = (PFNGLMULTITEXCOORDP3UIPROC)load(\"glMultiTexCoordP3ui\");\n\tglad_glMultiTexCoordP3uiv = (PFNGLMULTITEXCOORDP3UIVPROC)load(\"glMultiTexCoordP3uiv\");\n\tglad_glMultiTexCoordP4ui = (PFNGLMULTITEXCOORDP4UIPROC)load(\"glMultiTexCoordP4ui\");\n\tglad_glMultiTexCoordP4uiv = (PFNGLMULTITEXCOORDP4UIVPROC)load(\"glMultiTexCoordP4uiv\");\n\tglad_glNormalP3ui = (PFNGLNORMALP3UIPROC)load(\"glNormalP3ui\");\n\tglad_glNormalP3uiv = (PFNGLNORMALP3UIVPROC)load(\"glNormalP3uiv\");\n\tglad_glColorP3ui = (PFNGLCOLORP3UIPROC)load(\"glColorP3ui\");\n\tglad_glColorP3uiv = (PFNGLCOLORP3UIVPROC)load(\"glColorP3uiv\");\n\tglad_glColorP4ui = (PFNGLCOLORP4UIPROC)load(\"glColorP4ui\");\n\tglad_glColorP4uiv = (PFNGLCOLORP4UIVPROC)load(\"glColorP4uiv\");\n\tglad_glSecondaryColorP3ui = (PFNGLSECONDARYCOLORP3UIPROC)load(\"glSecondaryColorP3ui\");\n\tglad_glSecondaryColorP3uiv = (PFNGLSECONDARYCOLORP3UIVPROC)load(\"glSecondaryColorP3uiv\");\n}\nstatic void load_GL_VERSION_4_0(GLADloadproc load) {\n\tif(!GLAD_GL_VERSION_4_0) return;\n\tglad_glMinSampleShading = (PFNGLMINSAMPLESHADINGPROC)load(\"glMinSampleShading\");\n\tglad_glBlendEquationi = (PFNGLBLENDEQUATIONIPROC)load(\"glBlendEquationi\");\n\tglad_glBlendEquationSeparatei = (PFNGLBLENDEQUATIONSEPARATEIPROC)load(\"glBlendEquationSeparatei\");\n\tglad_glBlendFunci = (PFNGLBLENDFUNCIPROC)load(\"glBlendFunci\");\n\tglad_glBlendFuncSeparatei = (PFNGLBLENDFUNCSEPARATEIPROC)load(\"glBlendFuncSeparatei\");\n\tglad_glDrawArraysIndirect = (PFNGLDRAWARRAYSINDIRECTPROC)load(\"glDrawArraysIndirect\");\n\tglad_glDrawElementsIndirect = (PFNGLDRAWELEMENTSINDIRECTPROC)load(\"glDrawElementsIndirect\");\n\tglad_glUniform1d = (PFNGLUNIFORM1DPROC)load(\"glUniform1d\");\n\tglad_glUniform2d = (PFNGLUNIFORM2DPROC)load(\"glUniform2d\");\n\tglad_glUniform3d = (PFNGLUNIFORM3DPROC)load(\"glUniform3d\");\n\tglad_glUniform4d = (PFNGLUNIFORM4DPROC)load(\"glUniform4d\");\n\tglad_glUniform1dv = (PFNGLUNIFORM1DVPROC)load(\"glUniform1dv\");\n\tglad_glUniform2dv = (PFNGLUNIFORM2DVPROC)load(\"glUniform2dv\");\n\tglad_glUniform3dv = (PFNGLUNIFORM3DVPROC)load(\"glUniform3dv\");\n\tglad_glUniform4dv = (PFNGLUNIFORM4DVPROC)load(\"glUniform4dv\");\n\tglad_glUniformMatrix2dv = (PFNGLUNIFORMMATRIX2DVPROC)load(\"glUniformMatrix2dv\");\n\tglad_glUniformMatrix3dv = (PFNGLUNIFORMMATRIX3DVPROC)load(\"glUniformMatrix3dv\");\n\tglad_glUniformMatrix4dv = (PFNGLUNIFORMMATRIX4DVPROC)load(\"glUniformMatrix4dv\");\n\tglad_glUniformMatrix2x3dv = (PFNGLUNIFORMMATRIX2X3DVPROC)load(\"glUniformMatrix2x3dv\");\n\tglad_glUniformMatrix2x4dv = (PFNGLUNIFORMMATRIX2X4DVPROC)load(\"glUniformMatrix2x4dv\");\n\tglad_glUniformMatrix3x2dv = (PFNGLUNIFORMMATRIX3X2DVPROC)load(\"glUniformMatrix3x2dv\");\n\tglad_glUniformMatrix3x4dv = (PFNGLUNIFORMMATRIX3X4DVPROC)load(\"glUniformMatrix3x4dv\");\n\tglad_glUniformMatrix4x2dv = (PFNGLUNIFORMMATRIX4X2DVPROC)load(\"glUniformMatrix4x2dv\");\n\tglad_glUniformMatrix4x3dv = (PFNGLUNIFORMMATRIX4X3DVPROC)load(\"glUniformMatrix4x3dv\");\n\tglad_glGetUniformdv = (PFNGLGETUNIFORMDVPROC)load(\"glGetUniformdv\");\n\tglad_glGetSubroutineUniformLocation = (PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC)load(\"glGetSubroutineUniformLocation\");\n\tglad_glGetSubroutineIndex = (PFNGLGETSUBROUTINEINDEXPROC)load(\"glGetSubroutineIndex\");\n\tglad_glGetActiveSubroutineUniformiv = (PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC)load(\"glGetActiveSubroutineUniformiv\");\n\tglad_glGetActiveSubroutineUniformName = (PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC)load(\"glGetActiveSubroutineUniformName\");\n\tglad_glGetActiveSubroutineName = (PFNGLGETACTIVESUBROUTINENAMEPROC)load(\"glGetActiveSubroutineName\");\n\tglad_glUniformSubroutinesuiv = (PFNGLUNIFORMSUBROUTINESUIVPROC)load(\"glUniformSubroutinesuiv\");\n\tglad_glGetUniformSubroutineuiv = (PFNGLGETUNIFORMSUBROUTINEUIVPROC)load(\"glGetUniformSubroutineuiv\");\n\tglad_glGetProgramStageiv = (PFNGLGETPROGRAMSTAGEIVPROC)load(\"glGetProgramStageiv\");\n\tglad_glPatchParameteri = (PFNGLPATCHPARAMETERIPROC)load(\"glPatchParameteri\");\n\tglad_glPatchParameterfv = (PFNGLPATCHPARAMETERFVPROC)load(\"glPatchParameterfv\");\n\tglad_glBindTransformFeedback = (PFNGLBINDTRANSFORMFEEDBACKPROC)load(\"glBindTransformFeedback\");\n\tglad_glDeleteTransformFeedbacks = (PFNGLDELETETRANSFORMFEEDBACKSPROC)load(\"glDeleteTransformFeedbacks\");\n\tglad_glGenTransformFeedbacks = (PFNGLGENTRANSFORMFEEDBACKSPROC)load(\"glGenTransformFeedbacks\");\n\tglad_glIsTransformFeedback = (PFNGLISTRANSFORMFEEDBACKPROC)load(\"glIsTransformFeedback\");\n\tglad_glPauseTransformFeedback = (PFNGLPAUSETRANSFORMFEEDBACKPROC)load(\"glPauseTransformFeedback\");\n\tglad_glResumeTransformFeedback = (PFNGLRESUMETRANSFORMFEEDBACKPROC)load(\"glResumeTransformFeedback\");\n\tglad_glDrawTransformFeedback = (PFNGLDRAWTRANSFORMFEEDBACKPROC)load(\"glDrawTransformFeedback\");\n\tglad_glDrawTransformFeedbackStream = (PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC)load(\"glDrawTransformFeedbackStream\");\n\tglad_glBeginQueryIndexed = (PFNGLBEGINQUERYINDEXEDPROC)load(\"glBeginQueryIndexed\");\n\tglad_glEndQueryIndexed = (PFNGLENDQUERYINDEXEDPROC)load(\"glEndQueryIndexed\");\n\tglad_glGetQueryIndexediv = (PFNGLGETQUERYINDEXEDIVPROC)load(\"glGetQueryIndexediv\");\n}\nstatic void load_GL_VERSION_4_1(GLADloadproc load) {\n\tif(!GLAD_GL_VERSION_4_1) return;\n\tglad_glReleaseShaderCompiler = (PFNGLRELEASESHADERCOMPILERPROC)load(\"glReleaseShaderCompiler\");\n\tglad_glShaderBinary = (PFNGLSHADERBINARYPROC)load(\"glShaderBinary\");\n\tglad_glGetShaderPrecisionFormat = (PFNGLGETSHADERPRECISIONFORMATPROC)load(\"glGetShaderPrecisionFormat\");\n\tglad_glDepthRangef = (PFNGLDEPTHRANGEFPROC)load(\"glDepthRangef\");\n\tglad_glClearDepthf = (PFNGLCLEARDEPTHFPROC)load(\"glClearDepthf\");\n\tglad_glGetProgramBinary = (PFNGLGETPROGRAMBINARYPROC)load(\"glGetProgramBinary\");\n\tglad_glProgramBinary = (PFNGLPROGRAMBINARYPROC)load(\"glProgramBinary\");\n\tglad_glProgramParameteri = (PFNGLPROGRAMPARAMETERIPROC)load(\"glProgramParameteri\");\n\tglad_glUseProgramStages = (PFNGLUSEPROGRAMSTAGESPROC)load(\"glUseProgramStages\");\n\tglad_glActiveShaderProgram = (PFNGLACTIVESHADERPROGRAMPROC)load(\"glActiveShaderProgram\");\n\tglad_glCreateShaderProgramv = (PFNGLCREATESHADERPROGRAMVPROC)load(\"glCreateShaderProgramv\");\n\tglad_glBindProgramPipeline = (PFNGLBINDPROGRAMPIPELINEPROC)load(\"glBindProgramPipeline\");\n\tglad_glDeleteProgramPipelines = (PFNGLDELETEPROGRAMPIPELINESPROC)load(\"glDeleteProgramPipelines\");\n\tglad_glGenProgramPipelines = (PFNGLGENPROGRAMPIPELINESPROC)load(\"glGenProgramPipelines\");\n\tglad_glIsProgramPipeline = (PFNGLISPROGRAMPIPELINEPROC)load(\"glIsProgramPipeline\");\n\tglad_glGetProgramPipelineiv = (PFNGLGETPROGRAMPIPELINEIVPROC)load(\"glGetProgramPipelineiv\");\n\tglad_glProgramParameteri = (PFNGLPROGRAMPARAMETERIPROC)load(\"glProgramParameteri\");\n\tglad_glProgramUniform1i = (PFNGLPROGRAMUNIFORM1IPROC)load(\"glProgramUniform1i\");\n\tglad_glProgramUniform1iv = (PFNGLPROGRAMUNIFORM1IVPROC)load(\"glProgramUniform1iv\");\n\tglad_glProgramUniform1f = (PFNGLPROGRAMUNIFORM1FPROC)load(\"glProgramUniform1f\");\n\tglad_glProgramUniform1fv = (PFNGLPROGRAMUNIFORM1FVPROC)load(\"glProgramUniform1fv\");\n\tglad_glProgramUniform1d = (PFNGLPROGRAMUNIFORM1DPROC)load(\"glProgramUniform1d\");\n\tglad_glProgramUniform1dv = (PFNGLPROGRAMUNIFORM1DVPROC)load(\"glProgramUniform1dv\");\n\tglad_glProgramUniform1ui = (PFNGLPROGRAMUNIFORM1UIPROC)load(\"glProgramUniform1ui\");\n\tglad_glProgramUniform1uiv = (PFNGLPROGRAMUNIFORM1UIVPROC)load(\"glProgramUniform1uiv\");\n\tglad_glProgramUniform2i = (PFNGLPROGRAMUNIFORM2IPROC)load(\"glProgramUniform2i\");\n\tglad_glProgramUniform2iv = (PFNGLPROGRAMUNIFORM2IVPROC)load(\"glProgramUniform2iv\");\n\tglad_glProgramUniform2f = (PFNGLPROGRAMUNIFORM2FPROC)load(\"glProgramUniform2f\");\n\tglad_glProgramUniform2fv = (PFNGLPROGRAMUNIFORM2FVPROC)load(\"glProgramUniform2fv\");\n\tglad_glProgramUniform2d = (PFNGLPROGRAMUNIFORM2DPROC)load(\"glProgramUniform2d\");\n\tglad_glProgramUniform2dv = (PFNGLPROGRAMUNIFORM2DVPROC)load(\"glProgramUniform2dv\");\n\tglad_glProgramUniform2ui = (PFNGLPROGRAMUNIFORM2UIPROC)load(\"glProgramUniform2ui\");\n\tglad_glProgramUniform2uiv = (PFNGLPROGRAMUNIFORM2UIVPROC)load(\"glProgramUniform2uiv\");\n\tglad_glProgramUniform3i = (PFNGLPROGRAMUNIFORM3IPROC)load(\"glProgramUniform3i\");\n\tglad_glProgramUniform3iv = (PFNGLPROGRAMUNIFORM3IVPROC)load(\"glProgramUniform3iv\");\n\tglad_glProgramUniform3f = (PFNGLPROGRAMUNIFORM3FPROC)load(\"glProgramUniform3f\");\n\tglad_glProgramUniform3fv = (PFNGLPROGRAMUNIFORM3FVPROC)load(\"glProgramUniform3fv\");\n\tglad_glProgramUniform3d = (PFNGLPROGRAMUNIFORM3DPROC)load(\"glProgramUniform3d\");\n\tglad_glProgramUniform3dv = (PFNGLPROGRAMUNIFORM3DVPROC)load(\"glProgramUniform3dv\");\n\tglad_glProgramUniform3ui = (PFNGLPROGRAMUNIFORM3UIPROC)load(\"glProgramUniform3ui\");\n\tglad_glProgramUniform3uiv = (PFNGLPROGRAMUNIFORM3UIVPROC)load(\"glProgramUniform3uiv\");\n\tglad_glProgramUniform4i = (PFNGLPROGRAMUNIFORM4IPROC)load(\"glProgramUniform4i\");\n\tglad_glProgramUniform4iv = (PFNGLPROGRAMUNIFORM4IVPROC)load(\"glProgramUniform4iv\");\n\tglad_glProgramUniform4f = (PFNGLPROGRAMUNIFORM4FPROC)load(\"glProgramUniform4f\");\n\tglad_glProgramUniform4fv = (PFNGLPROGRAMUNIFORM4FVPROC)load(\"glProgramUniform4fv\");\n\tglad_glProgramUniform4d = (PFNGLPROGRAMUNIFORM4DPROC)load(\"glProgramUniform4d\");\n\tglad_glProgramUniform4dv = (PFNGLPROGRAMUNIFORM4DVPROC)load(\"glProgramUniform4dv\");\n\tglad_glProgramUniform4ui = (PFNGLPROGRAMUNIFORM4UIPROC)load(\"glProgramUniform4ui\");\n\tglad_glProgramUniform4uiv = (PFNGLPROGRAMUNIFORM4UIVPROC)load(\"glProgramUniform4uiv\");\n\tglad_glProgramUniformMatrix2fv = (PFNGLPROGRAMUNIFORMMATRIX2FVPROC)load(\"glProgramUniformMatrix2fv\");\n\tglad_glProgramUniformMatrix3fv = (PFNGLPROGRAMUNIFORMMATRIX3FVPROC)load(\"glProgramUniformMatrix3fv\");\n\tglad_glProgramUniformMatrix4fv = (PFNGLPROGRAMUNIFORMMATRIX4FVPROC)load(\"glProgramUniformMatrix4fv\");\n\tglad_glProgramUniformMatrix2dv = (PFNGLPROGRAMUNIFORMMATRIX2DVPROC)load(\"glProgramUniformMatrix2dv\");\n\tglad_glProgramUniformMatrix3dv = (PFNGLPROGRAMUNIFORMMATRIX3DVPROC)load(\"glProgramUniformMatrix3dv\");\n\tglad_glProgramUniformMatrix4dv = (PFNGLPROGRAMUNIFORMMATRIX4DVPROC)load(\"glProgramUniformMatrix4dv\");\n\tglad_glProgramUniformMatrix2x3fv = (PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC)load(\"glProgramUniformMatrix2x3fv\");\n\tglad_glProgramUniformMatrix3x2fv = (PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC)load(\"glProgramUniformMatrix3x2fv\");\n\tglad_glProgramUniformMatrix2x4fv = (PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC)load(\"glProgramUniformMatrix2x4fv\");\n\tglad_glProgramUniformMatrix4x2fv = (PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC)load(\"glProgramUniformMatrix4x2fv\");\n\tglad_glProgramUniformMatrix3x4fv = (PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC)load(\"glProgramUniformMatrix3x4fv\");\n\tglad_glProgramUniformMatrix4x3fv = (PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC)load(\"glProgramUniformMatrix4x3fv\");\n\tglad_glProgramUniformMatrix2x3dv = (PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC)load(\"glProgramUniformMatrix2x3dv\");\n\tglad_glProgramUniformMatrix3x2dv = (PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC)load(\"glProgramUniformMatrix3x2dv\");\n\tglad_glProgramUniformMatrix2x4dv = (PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC)load(\"glProgramUniformMatrix2x4dv\");\n\tglad_glProgramUniformMatrix4x2dv = (PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC)load(\"glProgramUniformMatrix4x2dv\");\n\tglad_glProgramUniformMatrix3x4dv = (PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC)load(\"glProgramUniformMatrix3x4dv\");\n\tglad_glProgramUniformMatrix4x3dv = (PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC)load(\"glProgramUniformMatrix4x3dv\");\n\tglad_glValidateProgramPipeline = (PFNGLVALIDATEPROGRAMPIPELINEPROC)load(\"glValidateProgramPipeline\");\n\tglad_glGetProgramPipelineInfoLog = (PFNGLGETPROGRAMPIPELINEINFOLOGPROC)load(\"glGetProgramPipelineInfoLog\");\n\tglad_glVertexAttribL1d = (PFNGLVERTEXATTRIBL1DPROC)load(\"glVertexAttribL1d\");\n\tglad_glVertexAttribL2d = (PFNGLVERTEXATTRIBL2DPROC)load(\"glVertexAttribL2d\");\n\tglad_glVertexAttribL3d = (PFNGLVERTEXATTRIBL3DPROC)load(\"glVertexAttribL3d\");\n\tglad_glVertexAttribL4d = (PFNGLVERTEXATTRIBL4DPROC)load(\"glVertexAttribL4d\");\n\tglad_glVertexAttribL1dv = (PFNGLVERTEXATTRIBL1DVPROC)load(\"glVertexAttribL1dv\");\n\tglad_glVertexAttribL2dv = (PFNGLVERTEXATTRIBL2DVPROC)load(\"glVertexAttribL2dv\");\n\tglad_glVertexAttribL3dv = (PFNGLVERTEXATTRIBL3DVPROC)load(\"glVertexAttribL3dv\");\n\tglad_glVertexAttribL4dv = (PFNGLVERTEXATTRIBL4DVPROC)load(\"glVertexAttribL4dv\");\n\tglad_glVertexAttribLPointer = (PFNGLVERTEXATTRIBLPOINTERPROC)load(\"glVertexAttribLPointer\");\n\tglad_glGetVertexAttribLdv = (PFNGLGETVERTEXATTRIBLDVPROC)load(\"glGetVertexAttribLdv\");\n\tglad_glViewportArrayv = (PFNGLVIEWPORTARRAYVPROC)load(\"glViewportArrayv\");\n\tglad_glViewportIndexedf = (PFNGLVIEWPORTINDEXEDFPROC)load(\"glViewportIndexedf\");\n\tglad_glViewportIndexedfv = (PFNGLVIEWPORTINDEXEDFVPROC)load(\"glViewportIndexedfv\");\n\tglad_glScissorArrayv = (PFNGLSCISSORARRAYVPROC)load(\"glScissorArrayv\");\n\tglad_glScissorIndexed = (PFNGLSCISSORINDEXEDPROC)load(\"glScissorIndexed\");\n\tglad_glScissorIndexedv = (PFNGLSCISSORINDEXEDVPROC)load(\"glScissorIndexedv\");\n\tglad_glDepthRangeArrayv = (PFNGLDEPTHRANGEARRAYVPROC)load(\"glDepthRangeArrayv\");\n\tglad_glDepthRangeIndexed = (PFNGLDEPTHRANGEINDEXEDPROC)load(\"glDepthRangeIndexed\");\n\tglad_glGetFloati_v = (PFNGLGETFLOATI_VPROC)load(\"glGetFloati_v\");\n\tglad_glGetDoublei_v = (PFNGLGETDOUBLEI_VPROC)load(\"glGetDoublei_v\");\n}\nstatic void load_GL_VERSION_4_2(GLADloadproc load) {\n\tif(!GLAD_GL_VERSION_4_2) return;\n\tglad_glDrawArraysInstancedBaseInstance = (PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC)load(\"glDrawArraysInstancedBaseInstance\");\n\tglad_glDrawElementsInstancedBaseInstance = (PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC)load(\"glDrawElementsInstancedBaseInstance\");\n\tglad_glDrawElementsInstancedBaseVertexBaseInstance = (PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC)load(\"glDrawElementsInstancedBaseVertexBaseInstance\");\n\tglad_glGetInternalformativ = (PFNGLGETINTERNALFORMATIVPROC)load(\"glGetInternalformativ\");\n\tglad_glGetActiveAtomicCounterBufferiv = (PFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC)load(\"glGetActiveAtomicCounterBufferiv\");\n\tglad_glBindImageTexture = (PFNGLBINDIMAGETEXTUREPROC)load(\"glBindImageTexture\");\n\tglad_glMemoryBarrier = (PFNGLMEMORYBARRIERPROC)load(\"glMemoryBarrier\");\n\tglad_glTexStorage1D = (PFNGLTEXSTORAGE1DPROC)load(\"glTexStorage1D\");\n\tglad_glTexStorage2D = (PFNGLTEXSTORAGE2DPROC)load(\"glTexStorage2D\");\n\tglad_glTexStorage3D = (PFNGLTEXSTORAGE3DPROC)load(\"glTexStorage3D\");\n\tglad_glDrawTransformFeedbackInstanced = (PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC)load(\"glDrawTransformFeedbackInstanced\");\n\tglad_glDrawTransformFeedbackStreamInstanced = (PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC)load(\"glDrawTransformFeedbackStreamInstanced\");\n}\nstatic void load_GL_VERSION_4_3(GLADloadproc load) {\n\tif(!GLAD_GL_VERSION_4_3) return;\n\tglad_glClearBufferData = (PFNGLCLEARBUFFERDATAPROC)load(\"glClearBufferData\");\n\tglad_glClearBufferSubData = (PFNGLCLEARBUFFERSUBDATAPROC)load(\"glClearBufferSubData\");\n\tglad_glDispatchCompute = (PFNGLDISPATCHCOMPUTEPROC)load(\"glDispatchCompute\");\n\tglad_glDispatchComputeIndirect = (PFNGLDISPATCHCOMPUTEINDIRECTPROC)load(\"glDispatchComputeIndirect\");\n\tglad_glCopyImageSubData = (PFNGLCOPYIMAGESUBDATAPROC)load(\"glCopyImageSubData\");\n\tglad_glFramebufferParameteri = (PFNGLFRAMEBUFFERPARAMETERIPROC)load(\"glFramebufferParameteri\");\n\tglad_glGetFramebufferParameteriv = (PFNGLGETFRAMEBUFFERPARAMETERIVPROC)load(\"glGetFramebufferParameteriv\");\n\tglad_glGetInternalformati64v = (PFNGLGETINTERNALFORMATI64VPROC)load(\"glGetInternalformati64v\");\n\tglad_glInvalidateTexSubImage = (PFNGLINVALIDATETEXSUBIMAGEPROC)load(\"glInvalidateTexSubImage\");\n\tglad_glInvalidateTexImage = (PFNGLINVALIDATETEXIMAGEPROC)load(\"glInvalidateTexImage\");\n\tglad_glInvalidateBufferSubData = (PFNGLINVALIDATEBUFFERSUBDATAPROC)load(\"glInvalidateBufferSubData\");\n\tglad_glInvalidateBufferData = (PFNGLINVALIDATEBUFFERDATAPROC)load(\"glInvalidateBufferData\");\n\tglad_glInvalidateFramebuffer = (PFNGLINVALIDATEFRAMEBUFFERPROC)load(\"glInvalidateFramebuffer\");\n\tglad_glInvalidateSubFramebuffer = (PFNGLINVALIDATESUBFRAMEBUFFERPROC)load(\"glInvalidateSubFramebuffer\");\n\tglad_glMultiDrawArraysIndirect = (PFNGLMULTIDRAWARRAYSINDIRECTPROC)load(\"glMultiDrawArraysIndirect\");\n\tglad_glMultiDrawElementsIndirect = (PFNGLMULTIDRAWELEMENTSINDIRECTPROC)load(\"glMultiDrawElementsIndirect\");\n\tglad_glGetProgramInterfaceiv = (PFNGLGETPROGRAMINTERFACEIVPROC)load(\"glGetProgramInterfaceiv\");\n\tglad_glGetProgramResourceIndex = (PFNGLGETPROGRAMRESOURCEINDEXPROC)load(\"glGetProgramResourceIndex\");\n\tglad_glGetProgramResourceName = (PFNGLGETPROGRAMRESOURCENAMEPROC)load(\"glGetProgramResourceName\");\n\tglad_glGetProgramResourceiv = (PFNGLGETPROGRAMRESOURCEIVPROC)load(\"glGetProgramResourceiv\");\n\tglad_glGetProgramResourceLocation = (PFNGLGETPROGRAMRESOURCELOCATIONPROC)load(\"glGetProgramResourceLocation\");\n\tglad_glGetProgramResourceLocationIndex = (PFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC)load(\"glGetProgramResourceLocationIndex\");\n\tglad_glShaderStorageBlockBinding = (PFNGLSHADERSTORAGEBLOCKBINDINGPROC)load(\"glShaderStorageBlockBinding\");\n\tglad_glTexBufferRange = (PFNGLTEXBUFFERRANGEPROC)load(\"glTexBufferRange\");\n\tglad_glTexStorage2DMultisample = (PFNGLTEXSTORAGE2DMULTISAMPLEPROC)load(\"glTexStorage2DMultisample\");\n\tglad_glTexStorage3DMultisample = (PFNGLTEXSTORAGE3DMULTISAMPLEPROC)load(\"glTexStorage3DMultisample\");\n\tglad_glTextureView = (PFNGLTEXTUREVIEWPROC)load(\"glTextureView\");\n\tglad_glBindVertexBuffer = (PFNGLBINDVERTEXBUFFERPROC)load(\"glBindVertexBuffer\");\n\tglad_glVertexAttribFormat = (PFNGLVERTEXATTRIBFORMATPROC)load(\"glVertexAttribFormat\");\n\tglad_glVertexAttribIFormat = (PFNGLVERTEXATTRIBIFORMATPROC)load(\"glVertexAttribIFormat\");\n\tglad_glVertexAttribLFormat = (PFNGLVERTEXATTRIBLFORMATPROC)load(\"glVertexAttribLFormat\");\n\tglad_glVertexAttribBinding = (PFNGLVERTEXATTRIBBINDINGPROC)load(\"glVertexAttribBinding\");\n\tglad_glVertexBindingDivisor = (PFNGLVERTEXBINDINGDIVISORPROC)load(\"glVertexBindingDivisor\");\n\tglad_glDebugMessageControl = (PFNGLDEBUGMESSAGECONTROLPROC)load(\"glDebugMessageControl\");\n\tglad_glDebugMessageInsert = (PFNGLDEBUGMESSAGEINSERTPROC)load(\"glDebugMessageInsert\");\n\tglad_glDebugMessageCallback = (PFNGLDEBUGMESSAGECALLBACKPROC)load(\"glDebugMessageCallback\");\n\tglad_glGetDebugMessageLog = (PFNGLGETDEBUGMESSAGELOGPROC)load(\"glGetDebugMessageLog\");\n\tglad_glPushDebugGroup = (PFNGLPUSHDEBUGGROUPPROC)load(\"glPushDebugGroup\");\n\tglad_glPopDebugGroup = (PFNGLPOPDEBUGGROUPPROC)load(\"glPopDebugGroup\");\n\tglad_glObjectLabel = (PFNGLOBJECTLABELPROC)load(\"glObjectLabel\");\n\tglad_glGetObjectLabel = (PFNGLGETOBJECTLABELPROC)load(\"glGetObjectLabel\");\n\tglad_glObjectPtrLabel = (PFNGLOBJECTPTRLABELPROC)load(\"glObjectPtrLabel\");\n\tglad_glGetObjectPtrLabel = (PFNGLGETOBJECTPTRLABELPROC)load(\"glGetObjectPtrLabel\");\n\tglad_glGetPointerv = (PFNGLGETPOINTERVPROC)load(\"glGetPointerv\");\n\tglad_glGetPointerv = (PFNGLGETPOINTERVPROC)load(\"glGetPointerv\");\n}\nstatic void load_GL_VERSION_4_4(GLADloadproc load) {\n\tif(!GLAD_GL_VERSION_4_4) return;\n\tglad_glBufferStorage = (PFNGLBUFFERSTORAGEPROC)load(\"glBufferStorage\");\n\tglad_glClearTexImage = (PFNGLCLEARTEXIMAGEPROC)load(\"glClearTexImage\");\n\tglad_glClearTexSubImage = (PFNGLCLEARTEXSUBIMAGEPROC)load(\"glClearTexSubImage\");\n\tglad_glBindBuffersBase = (PFNGLBINDBUFFERSBASEPROC)load(\"glBindBuffersBase\");\n\tglad_glBindBuffersRange = (PFNGLBINDBUFFERSRANGEPROC)load(\"glBindBuffersRange\");\n\tglad_glBindTextures = (PFNGLBINDTEXTURESPROC)load(\"glBindTextures\");\n\tglad_glBindSamplers = (PFNGLBINDSAMPLERSPROC)load(\"glBindSamplers\");\n\tglad_glBindImageTextures = (PFNGLBINDIMAGETEXTURESPROC)load(\"glBindImageTextures\");\n\tglad_glBindVertexBuffers = (PFNGLBINDVERTEXBUFFERSPROC)load(\"glBindVertexBuffers\");\n}\nstatic void load_GL_VERSION_4_5(GLADloadproc load) {\n\tif(!GLAD_GL_VERSION_4_5) return;\n\tglad_glClipControl = (PFNGLCLIPCONTROLPROC)load(\"glClipControl\");\n\tglad_glCreateTransformFeedbacks = (PFNGLCREATETRANSFORMFEEDBACKSPROC)load(\"glCreateTransformFeedbacks\");\n\tglad_glTransformFeedbackBufferBase = (PFNGLTRANSFORMFEEDBACKBUFFERBASEPROC)load(\"glTransformFeedbackBufferBase\");\n\tglad_glTransformFeedbackBufferRange = (PFNGLTRANSFORMFEEDBACKBUFFERRANGEPROC)load(\"glTransformFeedbackBufferRange\");\n\tglad_glGetTransformFeedbackiv = (PFNGLGETTRANSFORMFEEDBACKIVPROC)load(\"glGetTransformFeedbackiv\");\n\tglad_glGetTransformFeedbacki_v = (PFNGLGETTRANSFORMFEEDBACKI_VPROC)load(\"glGetTransformFeedbacki_v\");\n\tglad_glGetTransformFeedbacki64_v = (PFNGLGETTRANSFORMFEEDBACKI64_VPROC)load(\"glGetTransformFeedbacki64_v\");\n\tglad_glCreateBuffers = (PFNGLCREATEBUFFERSPROC)load(\"glCreateBuffers\");\n\tglad_glNamedBufferStorage = (PFNGLNAMEDBUFFERSTORAGEPROC)load(\"glNamedBufferStorage\");\n\tglad_glNamedBufferData = (PFNGLNAMEDBUFFERDATAPROC)load(\"glNamedBufferData\");\n\tglad_glNamedBufferSubData = (PFNGLNAMEDBUFFERSUBDATAPROC)load(\"glNamedBufferSubData\");\n\tglad_glCopyNamedBufferSubData = (PFNGLCOPYNAMEDBUFFERSUBDATAPROC)load(\"glCopyNamedBufferSubData\");\n\tglad_glClearNamedBufferData = (PFNGLCLEARNAMEDBUFFERDATAPROC)load(\"glClearNamedBufferData\");\n\tglad_glClearNamedBufferSubData = (PFNGLCLEARNAMEDBUFFERSUBDATAPROC)load(\"glClearNamedBufferSubData\");\n\tglad_glMapNamedBuffer = (PFNGLMAPNAMEDBUFFERPROC)load(\"glMapNamedBuffer\");\n\tglad_glMapNamedBufferRange = (PFNGLMAPNAMEDBUFFERRANGEPROC)load(\"glMapNamedBufferRange\");\n\tglad_glUnmapNamedBuffer = (PFNGLUNMAPNAMEDBUFFERPROC)load(\"glUnmapNamedBuffer\");\n\tglad_glFlushMappedNamedBufferRange = (PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEPROC)load(\"glFlushMappedNamedBufferRange\");\n\tglad_glGetNamedBufferParameteriv = (PFNGLGETNAMEDBUFFERPARAMETERIVPROC)load(\"glGetNamedBufferParameteriv\");\n\tglad_glGetNamedBufferParameteri64v = (PFNGLGETNAMEDBUFFERPARAMETERI64VPROC)load(\"glGetNamedBufferParameteri64v\");\n\tglad_glGetNamedBufferPointerv = (PFNGLGETNAMEDBUFFERPOINTERVPROC)load(\"glGetNamedBufferPointerv\");\n\tglad_glGetNamedBufferSubData = (PFNGLGETNAMEDBUFFERSUBDATAPROC)load(\"glGetNamedBufferSubData\");\n\tglad_glCreateFramebuffers = (PFNGLCREATEFRAMEBUFFERSPROC)load(\"glCreateFramebuffers\");\n\tglad_glNamedFramebufferRenderbuffer = (PFNGLNAMEDFRAMEBUFFERRENDERBUFFERPROC)load(\"glNamedFramebufferRenderbuffer\");\n\tglad_glNamedFramebufferParameteri = (PFNGLNAMEDFRAMEBUFFERPARAMETERIPROC)load(\"glNamedFramebufferParameteri\");\n\tglad_glNamedFramebufferTexture = (PFNGLNAMEDFRAMEBUFFERTEXTUREPROC)load(\"glNamedFramebufferTexture\");\n\tglad_glNamedFramebufferTextureLayer = (PFNGLNAMEDFRAMEBUFFERTEXTURELAYERPROC)load(\"glNamedFramebufferTextureLayer\");\n\tglad_glNamedFramebufferDrawBuffer = (PFNGLNAMEDFRAMEBUFFERDRAWBUFFERPROC)load(\"glNamedFramebufferDrawBuffer\");\n\tglad_glNamedFramebufferDrawBuffers = (PFNGLNAMEDFRAMEBUFFERDRAWBUFFERSPROC)load(\"glNamedFramebufferDrawBuffers\");\n\tglad_glNamedFramebufferReadBuffer = (PFNGLNAMEDFRAMEBUFFERREADBUFFERPROC)load(\"glNamedFramebufferReadBuffer\");\n\tglad_glInvalidateNamedFramebufferData = (PFNGLINVALIDATENAMEDFRAMEBUFFERDATAPROC)load(\"glInvalidateNamedFramebufferData\");\n\tglad_glInvalidateNamedFramebufferSubData = (PFNGLINVALIDATENAMEDFRAMEBUFFERSUBDATAPROC)load(\"glInvalidateNamedFramebufferSubData\");\n\tglad_glClearNamedFramebufferiv = (PFNGLCLEARNAMEDFRAMEBUFFERIVPROC)load(\"glClearNamedFramebufferiv\");\n\tglad_glClearNamedFramebufferuiv = (PFNGLCLEARNAMEDFRAMEBUFFERUIVPROC)load(\"glClearNamedFramebufferuiv\");\n\tglad_glClearNamedFramebufferfv = (PFNGLCLEARNAMEDFRAMEBUFFERFVPROC)load(\"glClearNamedFramebufferfv\");\n\tglad_glClearNamedFramebufferfi = (PFNGLCLEARNAMEDFRAMEBUFFERFIPROC)load(\"glClearNamedFramebufferfi\");\n\tglad_glBlitNamedFramebuffer = (PFNGLBLITNAMEDFRAMEBUFFERPROC)load(\"glBlitNamedFramebuffer\");\n\tglad_glCheckNamedFramebufferStatus = (PFNGLCHECKNAMEDFRAMEBUFFERSTATUSPROC)load(\"glCheckNamedFramebufferStatus\");\n\tglad_glGetNamedFramebufferParameteriv = (PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVPROC)load(\"glGetNamedFramebufferParameteriv\");\n\tglad_glGetNamedFramebufferAttachmentParameteriv = (PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVPROC)load(\"glGetNamedFramebufferAttachmentParameteriv\");\n\tglad_glCreateRenderbuffers = (PFNGLCREATERENDERBUFFERSPROC)load(\"glCreateRenderbuffers\");\n\tglad_glNamedRenderbufferStorage = (PFNGLNAMEDRENDERBUFFERSTORAGEPROC)load(\"glNamedRenderbufferStorage\");\n\tglad_glNamedRenderbufferStorageMultisample = (PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEPROC)load(\"glNamedRenderbufferStorageMultisample\");\n\tglad_glGetNamedRenderbufferParameteriv = (PFNGLGETNAMEDRENDERBUFFERPARAMETERIVPROC)load(\"glGetNamedRenderbufferParameteriv\");\n\tglad_glCreateTextures = (PFNGLCREATETEXTURESPROC)load(\"glCreateTextures\");\n\tglad_glTextureBuffer = (PFNGLTEXTUREBUFFERPROC)load(\"glTextureBuffer\");\n\tglad_glTextureBufferRange = (PFNGLTEXTUREBUFFERRANGEPROC)load(\"glTextureBufferRange\");\n\tglad_glTextureStorage1D = (PFNGLTEXTURESTORAGE1DPROC)load(\"glTextureStorage1D\");\n\tglad_glTextureStorage2D = (PFNGLTEXTURESTORAGE2DPROC)load(\"glTextureStorage2D\");\n\tglad_glTextureStorage3D = (PFNGLTEXTURESTORAGE3DPROC)load(\"glTextureStorage3D\");\n\tglad_glTextureStorage2DMultisample = (PFNGLTEXTURESTORAGE2DMULTISAMPLEPROC)load(\"glTextureStorage2DMultisample\");\n\tglad_glTextureStorage3DMultisample = (PFNGLTEXTURESTORAGE3DMULTISAMPLEPROC)load(\"glTextureStorage3DMultisample\");\n\tglad_glTextureSubImage1D = (PFNGLTEXTURESUBIMAGE1DPROC)load(\"glTextureSubImage1D\");\n\tglad_glTextureSubImage2D = (PFNGLTEXTURESUBIMAGE2DPROC)load(\"glTextureSubImage2D\");\n\tglad_glTextureSubImage3D = (PFNGLTEXTURESUBIMAGE3DPROC)load(\"glTextureSubImage3D\");\n\tglad_glCompressedTextureSubImage1D = (PFNGLCOMPRESSEDTEXTURESUBIMAGE1DPROC)load(\"glCompressedTextureSubImage1D\");\n\tglad_glCompressedTextureSubImage2D = (PFNGLCOMPRESSEDTEXTURESUBIMAGE2DPROC)load(\"glCompressedTextureSubImage2D\");\n\tglad_glCompressedTextureSubImage3D = (PFNGLCOMPRESSEDTEXTURESUBIMAGE3DPROC)load(\"glCompressedTextureSubImage3D\");\n\tglad_glCopyTextureSubImage1D = (PFNGLCOPYTEXTURESUBIMAGE1DPROC)load(\"glCopyTextureSubImage1D\");\n\tglad_glCopyTextureSubImage2D = (PFNGLCOPYTEXTURESUBIMAGE2DPROC)load(\"glCopyTextureSubImage2D\");\n\tglad_glCopyTextureSubImage3D = (PFNGLCOPYTEXTURESUBIMAGE3DPROC)load(\"glCopyTextureSubImage3D\");\n\tglad_glTextureParameterf = (PFNGLTEXTUREPARAMETERFPROC)load(\"glTextureParameterf\");\n\tglad_glTextureParameterfv = (PFNGLTEXTUREPARAMETERFVPROC)load(\"glTextureParameterfv\");\n\tglad_glTextureParameteri = (PFNGLTEXTUREPARAMETERIPROC)load(\"glTextureParameteri\");\n\tglad_glTextureParameterIiv = (PFNGLTEXTUREPARAMETERIIVPROC)load(\"glTextureParameterIiv\");\n\tglad_glTextureParameterIuiv = (PFNGLTEXTUREPARAMETERIUIVPROC)load(\"glTextureParameterIuiv\");\n\tglad_glTextureParameteriv = (PFNGLTEXTUREPARAMETERIVPROC)load(\"glTextureParameteriv\");\n\tglad_glGenerateTextureMipmap = (PFNGLGENERATETEXTUREMIPMAPPROC)load(\"glGenerateTextureMipmap\");\n\tglad_glBindTextureUnit = (PFNGLBINDTEXTUREUNITPROC)load(\"glBindTextureUnit\");\n\tglad_glGetTextureImage = (PFNGLGETTEXTUREIMAGEPROC)load(\"glGetTextureImage\");\n\tglad_glGetCompressedTextureImage = (PFNGLGETCOMPRESSEDTEXTUREIMAGEPROC)load(\"glGetCompressedTextureImage\");\n\tglad_glGetTextureLevelParameterfv = (PFNGLGETTEXTURELEVELPARAMETERFVPROC)load(\"glGetTextureLevelParameterfv\");\n\tglad_glGetTextureLevelParameteriv = (PFNGLGETTEXTURELEVELPARAMETERIVPROC)load(\"glGetTextureLevelParameteriv\");\n\tglad_glGetTextureParameterfv = (PFNGLGETTEXTUREPARAMETERFVPROC)load(\"glGetTextureParameterfv\");\n\tglad_glGetTextureParameterIiv = (PFNGLGETTEXTUREPARAMETERIIVPROC)load(\"glGetTextureParameterIiv\");\n\tglad_glGetTextureParameterIuiv = (PFNGLGETTEXTUREPARAMETERIUIVPROC)load(\"glGetTextureParameterIuiv\");\n\tglad_glGetTextureParameteriv = (PFNGLGETTEXTUREPARAMETERIVPROC)load(\"glGetTextureParameteriv\");\n\tglad_glCreateVertexArrays = (PFNGLCREATEVERTEXARRAYSPROC)load(\"glCreateVertexArrays\");\n\tglad_glDisableVertexArrayAttrib = (PFNGLDISABLEVERTEXARRAYATTRIBPROC)load(\"glDisableVertexArrayAttrib\");\n\tglad_glEnableVertexArrayAttrib = (PFNGLENABLEVERTEXARRAYATTRIBPROC)load(\"glEnableVertexArrayAttrib\");\n\tglad_glVertexArrayElementBuffer = (PFNGLVERTEXARRAYELEMENTBUFFERPROC)load(\"glVertexArrayElementBuffer\");\n\tglad_glVertexArrayVertexBuffer = (PFNGLVERTEXARRAYVERTEXBUFFERPROC)load(\"glVertexArrayVertexBuffer\");\n\tglad_glVertexArrayVertexBuffers = (PFNGLVERTEXARRAYVERTEXBUFFERSPROC)load(\"glVertexArrayVertexBuffers\");\n\tglad_glVertexArrayAttribBinding = (PFNGLVERTEXARRAYATTRIBBINDINGPROC)load(\"glVertexArrayAttribBinding\");\n\tglad_glVertexArrayAttribFormat = (PFNGLVERTEXARRAYATTRIBFORMATPROC)load(\"glVertexArrayAttribFormat\");\n\tglad_glVertexArrayAttribIFormat = (PFNGLVERTEXARRAYATTRIBIFORMATPROC)load(\"glVertexArrayAttribIFormat\");\n\tglad_glVertexArrayAttribLFormat = (PFNGLVERTEXARRAYATTRIBLFORMATPROC)load(\"glVertexArrayAttribLFormat\");\n\tglad_glVertexArrayBindingDivisor = (PFNGLVERTEXARRAYBINDINGDIVISORPROC)load(\"glVertexArrayBindingDivisor\");\n\tglad_glGetVertexArrayiv = (PFNGLGETVERTEXARRAYIVPROC)load(\"glGetVertexArrayiv\");\n\tglad_glGetVertexArrayIndexediv = (PFNGLGETVERTEXARRAYINDEXEDIVPROC)load(\"glGetVertexArrayIndexediv\");\n\tglad_glGetVertexArrayIndexed64iv = (PFNGLGETVERTEXARRAYINDEXED64IVPROC)load(\"glGetVertexArrayIndexed64iv\");\n\tglad_glCreateSamplers = (PFNGLCREATESAMPLERSPROC)load(\"glCreateSamplers\");\n\tglad_glCreateProgramPipelines = (PFNGLCREATEPROGRAMPIPELINESPROC)load(\"glCreateProgramPipelines\");\n\tglad_glCreateQueries = (PFNGLCREATEQUERIESPROC)load(\"glCreateQueries\");\n\tglad_glGetQueryBufferObjecti64v = (PFNGLGETQUERYBUFFEROBJECTI64VPROC)load(\"glGetQueryBufferObjecti64v\");\n\tglad_glGetQueryBufferObjectiv = (PFNGLGETQUERYBUFFEROBJECTIVPROC)load(\"glGetQueryBufferObjectiv\");\n\tglad_glGetQueryBufferObjectui64v = (PFNGLGETQUERYBUFFEROBJECTUI64VPROC)load(\"glGetQueryBufferObjectui64v\");\n\tglad_glGetQueryBufferObjectuiv = (PFNGLGETQUERYBUFFEROBJECTUIVPROC)load(\"glGetQueryBufferObjectuiv\");\n\tglad_glMemoryBarrierByRegion = (PFNGLMEMORYBARRIERBYREGIONPROC)load(\"glMemoryBarrierByRegion\");\n\tglad_glGetTextureSubImage = (PFNGLGETTEXTURESUBIMAGEPROC)load(\"glGetTextureSubImage\");\n\tglad_glGetCompressedTextureSubImage = (PFNGLGETCOMPRESSEDTEXTURESUBIMAGEPROC)load(\"glGetCompressedTextureSubImage\");\n\tglad_glGetGraphicsResetStatus = (PFNGLGETGRAPHICSRESETSTATUSPROC)load(\"glGetGraphicsResetStatus\");\n\tglad_glGetnCompressedTexImage = (PFNGLGETNCOMPRESSEDTEXIMAGEPROC)load(\"glGetnCompressedTexImage\");\n\tglad_glGetnTexImage = (PFNGLGETNTEXIMAGEPROC)load(\"glGetnTexImage\");\n\tglad_glGetnUniformdv = (PFNGLGETNUNIFORMDVPROC)load(\"glGetnUniformdv\");\n\tglad_glGetnUniformfv = (PFNGLGETNUNIFORMFVPROC)load(\"glGetnUniformfv\");\n\tglad_glGetnUniformiv = (PFNGLGETNUNIFORMIVPROC)load(\"glGetnUniformiv\");\n\tglad_glGetnUniformuiv = (PFNGLGETNUNIFORMUIVPROC)load(\"glGetnUniformuiv\");\n\tglad_glReadnPixels = (PFNGLREADNPIXELSPROC)load(\"glReadnPixels\");\n\tglad_glGetnMapdv = (PFNGLGETNMAPDVPROC)load(\"glGetnMapdv\");\n\tglad_glGetnMapfv = (PFNGLGETNMAPFVPROC)load(\"glGetnMapfv\");\n\tglad_glGetnMapiv = (PFNGLGETNMAPIVPROC)load(\"glGetnMapiv\");\n\tglad_glGetnPixelMapfv = (PFNGLGETNPIXELMAPFVPROC)load(\"glGetnPixelMapfv\");\n\tglad_glGetnPixelMapuiv = (PFNGLGETNPIXELMAPUIVPROC)load(\"glGetnPixelMapuiv\");\n\tglad_glGetnPixelMapusv = (PFNGLGETNPIXELMAPUSVPROC)load(\"glGetnPixelMapusv\");\n\tglad_glGetnPolygonStipple = (PFNGLGETNPOLYGONSTIPPLEPROC)load(\"glGetnPolygonStipple\");\n\tglad_glGetnColorTable = (PFNGLGETNCOLORTABLEPROC)load(\"glGetnColorTable\");\n\tglad_glGetnConvolutionFilter = (PFNGLGETNCONVOLUTIONFILTERPROC)load(\"glGetnConvolutionFilter\");\n\tglad_glGetnSeparableFilter = (PFNGLGETNSEPARABLEFILTERPROC)load(\"glGetnSeparableFilter\");\n\tglad_glGetnHistogram = (PFNGLGETNHISTOGRAMPROC)load(\"glGetnHistogram\");\n\tglad_glGetnMinmax = (PFNGLGETNMINMAXPROC)load(\"glGetnMinmax\");\n\tglad_glTextureBarrier = (PFNGLTEXTUREBARRIERPROC)load(\"glTextureBarrier\");\n}\nstatic void load_GL_VERSION_4_6(GLADloadproc load) {\n\tif(!GLAD_GL_VERSION_4_6) return;\n\tglad_glSpecializeShader = (PFNGLSPECIALIZESHADERPROC)load(\"glSpecializeShader\");\n\tglad_glMultiDrawArraysIndirectCount = (PFNGLMULTIDRAWARRAYSINDIRECTCOUNTPROC)load(\"glMultiDrawArraysIndirectCount\");\n\tglad_glMultiDrawElementsIndirectCount = (PFNGLMULTIDRAWELEMENTSINDIRECTCOUNTPROC)load(\"glMultiDrawElementsIndirectCount\");\n\tglad_glPolygonOffsetClamp = (PFNGLPOLYGONOFFSETCLAMPPROC)load(\"glPolygonOffsetClamp\");\n}\nstatic void load_GL_3DFX_tbuffer(GLADloadproc load) {\n\tif(!GLAD_GL_3DFX_tbuffer) return;\n\tglad_glTbufferMask3DFX = (PFNGLTBUFFERMASK3DFXPROC)load(\"glTbufferMask3DFX\");\n}\nstatic void load_GL_AMD_debug_output(GLADloadproc load) {\n\tif(!GLAD_GL_AMD_debug_output) return;\n\tglad_glDebugMessageEnableAMD = (PFNGLDEBUGMESSAGEENABLEAMDPROC)load(\"glDebugMessageEnableAMD\");\n\tglad_glDebugMessageInsertAMD = (PFNGLDEBUGMESSAGEINSERTAMDPROC)load(\"glDebugMessageInsertAMD\");\n\tglad_glDebugMessageCallbackAMD = (PFNGLDEBUGMESSAGECALLBACKAMDPROC)load(\"glDebugMessageCallbackAMD\");\n\tglad_glGetDebugMessageLogAMD = (PFNGLGETDEBUGMESSAGELOGAMDPROC)load(\"glGetDebugMessageLogAMD\");\n}\nstatic void load_GL_AMD_draw_buffers_blend(GLADloadproc load) {\n\tif(!GLAD_GL_AMD_draw_buffers_blend) return;\n\tglad_glBlendFuncIndexedAMD = (PFNGLBLENDFUNCINDEXEDAMDPROC)load(\"glBlendFuncIndexedAMD\");\n\tglad_glBlendFuncSeparateIndexedAMD = (PFNGLBLENDFUNCSEPARATEINDEXEDAMDPROC)load(\"glBlendFuncSeparateIndexedAMD\");\n\tglad_glBlendEquationIndexedAMD = (PFNGLBLENDEQUATIONINDEXEDAMDPROC)load(\"glBlendEquationIndexedAMD\");\n\tglad_glBlendEquationSeparateIndexedAMD = (PFNGLBLENDEQUATIONSEPARATEINDEXEDAMDPROC)load(\"glBlendEquationSeparateIndexedAMD\");\n}\nstatic void load_GL_AMD_framebuffer_sample_positions(GLADloadproc load) {\n\tif(!GLAD_GL_AMD_framebuffer_sample_positions) return;\n\tglad_glFramebufferSamplePositionsfvAMD = (PFNGLFRAMEBUFFERSAMPLEPOSITIONSFVAMDPROC)load(\"glFramebufferSamplePositionsfvAMD\");\n\tglad_glNamedFramebufferSamplePositionsfvAMD = (PFNGLNAMEDFRAMEBUFFERSAMPLEPOSITIONSFVAMDPROC)load(\"glNamedFramebufferSamplePositionsfvAMD\");\n\tglad_glGetFramebufferParameterfvAMD = (PFNGLGETFRAMEBUFFERPARAMETERFVAMDPROC)load(\"glGetFramebufferParameterfvAMD\");\n\tglad_glGetNamedFramebufferParameterfvAMD = (PFNGLGETNAMEDFRAMEBUFFERPARAMETERFVAMDPROC)load(\"glGetNamedFramebufferParameterfvAMD\");\n}\nstatic void load_GL_AMD_gpu_shader_int64(GLADloadproc load) {\n\tif(!GLAD_GL_AMD_gpu_shader_int64) return;\n\tglad_glUniform1i64NV = (PFNGLUNIFORM1I64NVPROC)load(\"glUniform1i64NV\");\n\tglad_glUniform2i64NV = (PFNGLUNIFORM2I64NVPROC)load(\"glUniform2i64NV\");\n\tglad_glUniform3i64NV = (PFNGLUNIFORM3I64NVPROC)load(\"glUniform3i64NV\");\n\tglad_glUniform4i64NV = (PFNGLUNIFORM4I64NVPROC)load(\"glUniform4i64NV\");\n\tglad_glUniform1i64vNV = (PFNGLUNIFORM1I64VNVPROC)load(\"glUniform1i64vNV\");\n\tglad_glUniform2i64vNV = (PFNGLUNIFORM2I64VNVPROC)load(\"glUniform2i64vNV\");\n\tglad_glUniform3i64vNV = (PFNGLUNIFORM3I64VNVPROC)load(\"glUniform3i64vNV\");\n\tglad_glUniform4i64vNV = (PFNGLUNIFORM4I64VNVPROC)load(\"glUniform4i64vNV\");\n\tglad_glUniform1ui64NV = (PFNGLUNIFORM1UI64NVPROC)load(\"glUniform1ui64NV\");\n\tglad_glUniform2ui64NV = (PFNGLUNIFORM2UI64NVPROC)load(\"glUniform2ui64NV\");\n\tglad_glUniform3ui64NV = (PFNGLUNIFORM3UI64NVPROC)load(\"glUniform3ui64NV\");\n\tglad_glUniform4ui64NV = (PFNGLUNIFORM4UI64NVPROC)load(\"glUniform4ui64NV\");\n\tglad_glUniform1ui64vNV = (PFNGLUNIFORM1UI64VNVPROC)load(\"glUniform1ui64vNV\");\n\tglad_glUniform2ui64vNV = (PFNGLUNIFORM2UI64VNVPROC)load(\"glUniform2ui64vNV\");\n\tglad_glUniform3ui64vNV = (PFNGLUNIFORM3UI64VNVPROC)load(\"glUniform3ui64vNV\");\n\tglad_glUniform4ui64vNV = (PFNGLUNIFORM4UI64VNVPROC)load(\"glUniform4ui64vNV\");\n\tglad_glGetUniformi64vNV = (PFNGLGETUNIFORMI64VNVPROC)load(\"glGetUniformi64vNV\");\n\tglad_glGetUniformui64vNV = (PFNGLGETUNIFORMUI64VNVPROC)load(\"glGetUniformui64vNV\");\n\tglad_glProgramUniform1i64NV = (PFNGLPROGRAMUNIFORM1I64NVPROC)load(\"glProgramUniform1i64NV\");\n\tglad_glProgramUniform2i64NV = (PFNGLPROGRAMUNIFORM2I64NVPROC)load(\"glProgramUniform2i64NV\");\n\tglad_glProgramUniform3i64NV = (PFNGLPROGRAMUNIFORM3I64NVPROC)load(\"glProgramUniform3i64NV\");\n\tglad_glProgramUniform4i64NV = (PFNGLPROGRAMUNIFORM4I64NVPROC)load(\"glProgramUniform4i64NV\");\n\tglad_glProgramUniform1i64vNV = (PFNGLPROGRAMUNIFORM1I64VNVPROC)load(\"glProgramUniform1i64vNV\");\n\tglad_glProgramUniform2i64vNV = (PFNGLPROGRAMUNIFORM2I64VNVPROC)load(\"glProgramUniform2i64vNV\");\n\tglad_glProgramUniform3i64vNV = (PFNGLPROGRAMUNIFORM3I64VNVPROC)load(\"glProgramUniform3i64vNV\");\n\tglad_glProgramUniform4i64vNV = (PFNGLPROGRAMUNIFORM4I64VNVPROC)load(\"glProgramUniform4i64vNV\");\n\tglad_glProgramUniform1ui64NV = (PFNGLPROGRAMUNIFORM1UI64NVPROC)load(\"glProgramUniform1ui64NV\");\n\tglad_glProgramUniform2ui64NV = (PFNGLPROGRAMUNIFORM2UI64NVPROC)load(\"glProgramUniform2ui64NV\");\n\tglad_glProgramUniform3ui64NV = (PFNGLPROGRAMUNIFORM3UI64NVPROC)load(\"glProgramUniform3ui64NV\");\n\tglad_glProgramUniform4ui64NV = (PFNGLPROGRAMUNIFORM4UI64NVPROC)load(\"glProgramUniform4ui64NV\");\n\tglad_glProgramUniform1ui64vNV = (PFNGLPROGRAMUNIFORM1UI64VNVPROC)load(\"glProgramUniform1ui64vNV\");\n\tglad_glProgramUniform2ui64vNV = (PFNGLPROGRAMUNIFORM2UI64VNVPROC)load(\"glProgramUniform2ui64vNV\");\n\tglad_glProgramUniform3ui64vNV = (PFNGLPROGRAMUNIFORM3UI64VNVPROC)load(\"glProgramUniform3ui64vNV\");\n\tglad_glProgramUniform4ui64vNV = (PFNGLPROGRAMUNIFORM4UI64VNVPROC)load(\"glProgramUniform4ui64vNV\");\n}\nstatic void load_GL_AMD_interleaved_elements(GLADloadproc load) {\n\tif(!GLAD_GL_AMD_interleaved_elements) return;\n\tglad_glVertexAttribParameteriAMD = (PFNGLVERTEXATTRIBPARAMETERIAMDPROC)load(\"glVertexAttribParameteriAMD\");\n}\nstatic void load_GL_AMD_multi_draw_indirect(GLADloadproc load) {\n\tif(!GLAD_GL_AMD_multi_draw_indirect) return;\n\tglad_glMultiDrawArraysIndirectAMD = (PFNGLMULTIDRAWARRAYSINDIRECTAMDPROC)load(\"glMultiDrawArraysIndirectAMD\");\n\tglad_glMultiDrawElementsIndirectAMD = (PFNGLMULTIDRAWELEMENTSINDIRECTAMDPROC)load(\"glMultiDrawElementsIndirectAMD\");\n}\nstatic void load_GL_AMD_name_gen_delete(GLADloadproc load) {\n\tif(!GLAD_GL_AMD_name_gen_delete) return;\n\tglad_glGenNamesAMD = (PFNGLGENNAMESAMDPROC)load(\"glGenNamesAMD\");\n\tglad_glDeleteNamesAMD = (PFNGLDELETENAMESAMDPROC)load(\"glDeleteNamesAMD\");\n\tglad_glIsNameAMD = (PFNGLISNAMEAMDPROC)load(\"glIsNameAMD\");\n}\nstatic void load_GL_AMD_occlusion_query_event(GLADloadproc load) {\n\tif(!GLAD_GL_AMD_occlusion_query_event) return;\n\tglad_glQueryObjectParameteruiAMD = (PFNGLQUERYOBJECTPARAMETERUIAMDPROC)load(\"glQueryObjectParameteruiAMD\");\n}\nstatic void load_GL_AMD_performance_monitor(GLADloadproc load) {\n\tif(!GLAD_GL_AMD_performance_monitor) return;\n\tglad_glGetPerfMonitorGroupsAMD = (PFNGLGETPERFMONITORGROUPSAMDPROC)load(\"glGetPerfMonitorGroupsAMD\");\n\tglad_glGetPerfMonitorCountersAMD = (PFNGLGETPERFMONITORCOUNTERSAMDPROC)load(\"glGetPerfMonitorCountersAMD\");\n\tglad_glGetPerfMonitorGroupStringAMD = (PFNGLGETPERFMONITORGROUPSTRINGAMDPROC)load(\"glGetPerfMonitorGroupStringAMD\");\n\tglad_glGetPerfMonitorCounterStringAMD = (PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC)load(\"glGetPerfMonitorCounterStringAMD\");\n\tglad_glGetPerfMonitorCounterInfoAMD = (PFNGLGETPERFMONITORCOUNTERINFOAMDPROC)load(\"glGetPerfMonitorCounterInfoAMD\");\n\tglad_glGenPerfMonitorsAMD = (PFNGLGENPERFMONITORSAMDPROC)load(\"glGenPerfMonitorsAMD\");\n\tglad_glDeletePerfMonitorsAMD = (PFNGLDELETEPERFMONITORSAMDPROC)load(\"glDeletePerfMonitorsAMD\");\n\tglad_glSelectPerfMonitorCountersAMD = (PFNGLSELECTPERFMONITORCOUNTERSAMDPROC)load(\"glSelectPerfMonitorCountersAMD\");\n\tglad_glBeginPerfMonitorAMD = (PFNGLBEGINPERFMONITORAMDPROC)load(\"glBeginPerfMonitorAMD\");\n\tglad_glEndPerfMonitorAMD = (PFNGLENDPERFMONITORAMDPROC)load(\"glEndPerfMonitorAMD\");\n\tglad_glGetPerfMonitorCounterDataAMD = (PFNGLGETPERFMONITORCOUNTERDATAAMDPROC)load(\"glGetPerfMonitorCounterDataAMD\");\n}\nstatic void load_GL_AMD_sample_positions(GLADloadproc load) {\n\tif(!GLAD_GL_AMD_sample_positions) return;\n\tglad_glSetMultisamplefvAMD = (PFNGLSETMULTISAMPLEFVAMDPROC)load(\"glSetMultisamplefvAMD\");\n}\nstatic void load_GL_AMD_sparse_texture(GLADloadproc load) {\n\tif(!GLAD_GL_AMD_sparse_texture) return;\n\tglad_glTexStorageSparseAMD = (PFNGLTEXSTORAGESPARSEAMDPROC)load(\"glTexStorageSparseAMD\");\n\tglad_glTextureStorageSparseAMD = (PFNGLTEXTURESTORAGESPARSEAMDPROC)load(\"glTextureStorageSparseAMD\");\n}\nstatic void load_GL_AMD_stencil_operation_extended(GLADloadproc load) {\n\tif(!GLAD_GL_AMD_stencil_operation_extended) return;\n\tglad_glStencilOpValueAMD = (PFNGLSTENCILOPVALUEAMDPROC)load(\"glStencilOpValueAMD\");\n}\nstatic void load_GL_AMD_vertex_shader_tessellator(GLADloadproc load) {\n\tif(!GLAD_GL_AMD_vertex_shader_tessellator) return;\n\tglad_glTessellationFactorAMD = (PFNGLTESSELLATIONFACTORAMDPROC)load(\"glTessellationFactorAMD\");\n\tglad_glTessellationModeAMD = (PFNGLTESSELLATIONMODEAMDPROC)load(\"glTessellationModeAMD\");\n}\nstatic void load_GL_APPLE_element_array(GLADloadproc load) {\n\tif(!GLAD_GL_APPLE_element_array) return;\n\tglad_glElementPointerAPPLE = (PFNGLELEMENTPOINTERAPPLEPROC)load(\"glElementPointerAPPLE\");\n\tglad_glDrawElementArrayAPPLE = (PFNGLDRAWELEMENTARRAYAPPLEPROC)load(\"glDrawElementArrayAPPLE\");\n\tglad_glDrawRangeElementArrayAPPLE = (PFNGLDRAWRANGEELEMENTARRAYAPPLEPROC)load(\"glDrawRangeElementArrayAPPLE\");\n\tglad_glMultiDrawElementArrayAPPLE = (PFNGLMULTIDRAWELEMENTARRAYAPPLEPROC)load(\"glMultiDrawElementArrayAPPLE\");\n\tglad_glMultiDrawRangeElementArrayAPPLE = (PFNGLMULTIDRAWRANGEELEMENTARRAYAPPLEPROC)load(\"glMultiDrawRangeElementArrayAPPLE\");\n}\nstatic void load_GL_APPLE_fence(GLADloadproc load) {\n\tif(!GLAD_GL_APPLE_fence) return;\n\tglad_glGenFencesAPPLE = (PFNGLGENFENCESAPPLEPROC)load(\"glGenFencesAPPLE\");\n\tglad_glDeleteFencesAPPLE = (PFNGLDELETEFENCESAPPLEPROC)load(\"glDeleteFencesAPPLE\");\n\tglad_glSetFenceAPPLE = (PFNGLSETFENCEAPPLEPROC)load(\"glSetFenceAPPLE\");\n\tglad_glIsFenceAPPLE = (PFNGLISFENCEAPPLEPROC)load(\"glIsFenceAPPLE\");\n\tglad_glTestFenceAPPLE = (PFNGLTESTFENCEAPPLEPROC)load(\"glTestFenceAPPLE\");\n\tglad_glFinishFenceAPPLE = (PFNGLFINISHFENCEAPPLEPROC)load(\"glFinishFenceAPPLE\");\n\tglad_glTestObjectAPPLE = (PFNGLTESTOBJECTAPPLEPROC)load(\"glTestObjectAPPLE\");\n\tglad_glFinishObjectAPPLE = (PFNGLFINISHOBJECTAPPLEPROC)load(\"glFinishObjectAPPLE\");\n}\nstatic void load_GL_APPLE_flush_buffer_range(GLADloadproc load) {\n\tif(!GLAD_GL_APPLE_flush_buffer_range) return;\n\tglad_glBufferParameteriAPPLE = (PFNGLBUFFERPARAMETERIAPPLEPROC)load(\"glBufferParameteriAPPLE\");\n\tglad_glFlushMappedBufferRangeAPPLE = (PFNGLFLUSHMAPPEDBUFFERRANGEAPPLEPROC)load(\"glFlushMappedBufferRangeAPPLE\");\n}\nstatic void load_GL_APPLE_object_purgeable(GLADloadproc load) {\n\tif(!GLAD_GL_APPLE_object_purgeable) return;\n\tglad_glObjectPurgeableAPPLE = (PFNGLOBJECTPURGEABLEAPPLEPROC)load(\"glObjectPurgeableAPPLE\");\n\tglad_glObjectUnpurgeableAPPLE = (PFNGLOBJECTUNPURGEABLEAPPLEPROC)load(\"glObjectUnpurgeableAPPLE\");\n\tglad_glGetObjectParameterivAPPLE = (PFNGLGETOBJECTPARAMETERIVAPPLEPROC)load(\"glGetObjectParameterivAPPLE\");\n}\nstatic void load_GL_APPLE_texture_range(GLADloadproc load) {\n\tif(!GLAD_GL_APPLE_texture_range) return;\n\tglad_glTextureRangeAPPLE = (PFNGLTEXTURERANGEAPPLEPROC)load(\"glTextureRangeAPPLE\");\n\tglad_glGetTexParameterPointervAPPLE = (PFNGLGETTEXPARAMETERPOINTERVAPPLEPROC)load(\"glGetTexParameterPointervAPPLE\");\n}\nstatic void load_GL_APPLE_vertex_array_object(GLADloadproc load) {\n\tif(!GLAD_GL_APPLE_vertex_array_object) return;\n\tglad_glBindVertexArrayAPPLE = (PFNGLBINDVERTEXARRAYAPPLEPROC)load(\"glBindVertexArrayAPPLE\");\n\tglad_glDeleteVertexArraysAPPLE = (PFNGLDELETEVERTEXARRAYSAPPLEPROC)load(\"glDeleteVertexArraysAPPLE\");\n\tglad_glGenVertexArraysAPPLE = (PFNGLGENVERTEXARRAYSAPPLEPROC)load(\"glGenVertexArraysAPPLE\");\n\tglad_glIsVertexArrayAPPLE = (PFNGLISVERTEXARRAYAPPLEPROC)load(\"glIsVertexArrayAPPLE\");\n}\nstatic void load_GL_APPLE_vertex_array_range(GLADloadproc load) {\n\tif(!GLAD_GL_APPLE_vertex_array_range) return;\n\tglad_glVertexArrayRangeAPPLE = (PFNGLVERTEXARRAYRANGEAPPLEPROC)load(\"glVertexArrayRangeAPPLE\");\n\tglad_glFlushVertexArrayRangeAPPLE = (PFNGLFLUSHVERTEXARRAYRANGEAPPLEPROC)load(\"glFlushVertexArrayRangeAPPLE\");\n\tglad_glVertexArrayParameteriAPPLE = (PFNGLVERTEXARRAYPARAMETERIAPPLEPROC)load(\"glVertexArrayParameteriAPPLE\");\n}\nstatic void load_GL_APPLE_vertex_program_evaluators(GLADloadproc load) {\n\tif(!GLAD_GL_APPLE_vertex_program_evaluators) return;\n\tglad_glEnableVertexAttribAPPLE = (PFNGLENABLEVERTEXATTRIBAPPLEPROC)load(\"glEnableVertexAttribAPPLE\");\n\tglad_glDisableVertexAttribAPPLE = (PFNGLDISABLEVERTEXATTRIBAPPLEPROC)load(\"glDisableVertexAttribAPPLE\");\n\tglad_glIsVertexAttribEnabledAPPLE = (PFNGLISVERTEXATTRIBENABLEDAPPLEPROC)load(\"glIsVertexAttribEnabledAPPLE\");\n\tglad_glMapVertexAttrib1dAPPLE = (PFNGLMAPVERTEXATTRIB1DAPPLEPROC)load(\"glMapVertexAttrib1dAPPLE\");\n\tglad_glMapVertexAttrib1fAPPLE = (PFNGLMAPVERTEXATTRIB1FAPPLEPROC)load(\"glMapVertexAttrib1fAPPLE\");\n\tglad_glMapVertexAttrib2dAPPLE = (PFNGLMAPVERTEXATTRIB2DAPPLEPROC)load(\"glMapVertexAttrib2dAPPLE\");\n\tglad_glMapVertexAttrib2fAPPLE = (PFNGLMAPVERTEXATTRIB2FAPPLEPROC)load(\"glMapVertexAttrib2fAPPLE\");\n}\nstatic void load_GL_ARB_ES2_compatibility(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_ES2_compatibility) return;\n\tglad_glReleaseShaderCompiler = (PFNGLRELEASESHADERCOMPILERPROC)load(\"glReleaseShaderCompiler\");\n\tglad_glShaderBinary = (PFNGLSHADERBINARYPROC)load(\"glShaderBinary\");\n\tglad_glGetShaderPrecisionFormat = (PFNGLGETSHADERPRECISIONFORMATPROC)load(\"glGetShaderPrecisionFormat\");\n\tglad_glDepthRangef = (PFNGLDEPTHRANGEFPROC)load(\"glDepthRangef\");\n\tglad_glClearDepthf = (PFNGLCLEARDEPTHFPROC)load(\"glClearDepthf\");\n}\nstatic void load_GL_ARB_ES3_1_compatibility(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_ES3_1_compatibility) return;\n\tglad_glMemoryBarrierByRegion = (PFNGLMEMORYBARRIERBYREGIONPROC)load(\"glMemoryBarrierByRegion\");\n}\nstatic void load_GL_ARB_ES3_2_compatibility(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_ES3_2_compatibility) return;\n\tglad_glPrimitiveBoundingBoxARB = (PFNGLPRIMITIVEBOUNDINGBOXARBPROC)load(\"glPrimitiveBoundingBoxARB\");\n}\nstatic void load_GL_ARB_base_instance(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_base_instance) return;\n\tglad_glDrawArraysInstancedBaseInstance = (PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC)load(\"glDrawArraysInstancedBaseInstance\");\n\tglad_glDrawElementsInstancedBaseInstance = (PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC)load(\"glDrawElementsInstancedBaseInstance\");\n\tglad_glDrawElementsInstancedBaseVertexBaseInstance = (PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC)load(\"glDrawElementsInstancedBaseVertexBaseInstance\");\n}\nstatic void load_GL_ARB_bindless_texture(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_bindless_texture) return;\n\tglad_glGetTextureHandleARB = (PFNGLGETTEXTUREHANDLEARBPROC)load(\"glGetTextureHandleARB\");\n\tglad_glGetTextureSamplerHandleARB = (PFNGLGETTEXTURESAMPLERHANDLEARBPROC)load(\"glGetTextureSamplerHandleARB\");\n\tglad_glMakeTextureHandleResidentARB = (PFNGLMAKETEXTUREHANDLERESIDENTARBPROC)load(\"glMakeTextureHandleResidentARB\");\n\tglad_glMakeTextureHandleNonResidentARB = (PFNGLMAKETEXTUREHANDLENONRESIDENTARBPROC)load(\"glMakeTextureHandleNonResidentARB\");\n\tglad_glGetImageHandleARB = (PFNGLGETIMAGEHANDLEARBPROC)load(\"glGetImageHandleARB\");\n\tglad_glMakeImageHandleResidentARB = (PFNGLMAKEIMAGEHANDLERESIDENTARBPROC)load(\"glMakeImageHandleResidentARB\");\n\tglad_glMakeImageHandleNonResidentARB = (PFNGLMAKEIMAGEHANDLENONRESIDENTARBPROC)load(\"glMakeImageHandleNonResidentARB\");\n\tglad_glUniformHandleui64ARB = (PFNGLUNIFORMHANDLEUI64ARBPROC)load(\"glUniformHandleui64ARB\");\n\tglad_glUniformHandleui64vARB = (PFNGLUNIFORMHANDLEUI64VARBPROC)load(\"glUniformHandleui64vARB\");\n\tglad_glProgramUniformHandleui64ARB = (PFNGLPROGRAMUNIFORMHANDLEUI64ARBPROC)load(\"glProgramUniformHandleui64ARB\");\n\tglad_glProgramUniformHandleui64vARB = (PFNGLPROGRAMUNIFORMHANDLEUI64VARBPROC)load(\"glProgramUniformHandleui64vARB\");\n\tglad_glIsTextureHandleResidentARB = (PFNGLISTEXTUREHANDLERESIDENTARBPROC)load(\"glIsTextureHandleResidentARB\");\n\tglad_glIsImageHandleResidentARB = (PFNGLISIMAGEHANDLERESIDENTARBPROC)load(\"glIsImageHandleResidentARB\");\n\tglad_glVertexAttribL1ui64ARB = (PFNGLVERTEXATTRIBL1UI64ARBPROC)load(\"glVertexAttribL1ui64ARB\");\n\tglad_glVertexAttribL1ui64vARB = (PFNGLVERTEXATTRIBL1UI64VARBPROC)load(\"glVertexAttribL1ui64vARB\");\n\tglad_glGetVertexAttribLui64vARB = (PFNGLGETVERTEXATTRIBLUI64VARBPROC)load(\"glGetVertexAttribLui64vARB\");\n}\nstatic void load_GL_ARB_blend_func_extended(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_blend_func_extended) return;\n\tglad_glBindFragDataLocationIndexed = (PFNGLBINDFRAGDATALOCATIONINDEXEDPROC)load(\"glBindFragDataLocationIndexed\");\n\tglad_glGetFragDataIndex = (PFNGLGETFRAGDATAINDEXPROC)load(\"glGetFragDataIndex\");\n}\nstatic void load_GL_ARB_buffer_storage(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_buffer_storage) return;\n\tglad_glBufferStorage = (PFNGLBUFFERSTORAGEPROC)load(\"glBufferStorage\");\n}\nstatic void load_GL_ARB_cl_event(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_cl_event) return;\n\tglad_glCreateSyncFromCLeventARB = (PFNGLCREATESYNCFROMCLEVENTARBPROC)load(\"glCreateSyncFromCLeventARB\");\n}\nstatic void load_GL_ARB_clear_buffer_object(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_clear_buffer_object) return;\n\tglad_glClearBufferData = (PFNGLCLEARBUFFERDATAPROC)load(\"glClearBufferData\");\n\tglad_glClearBufferSubData = (PFNGLCLEARBUFFERSUBDATAPROC)load(\"glClearBufferSubData\");\n}\nstatic void load_GL_ARB_clear_texture(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_clear_texture) return;\n\tglad_glClearTexImage = (PFNGLCLEARTEXIMAGEPROC)load(\"glClearTexImage\");\n\tglad_glClearTexSubImage = (PFNGLCLEARTEXSUBIMAGEPROC)load(\"glClearTexSubImage\");\n}\nstatic void load_GL_ARB_clip_control(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_clip_control) return;\n\tglad_glClipControl = (PFNGLCLIPCONTROLPROC)load(\"glClipControl\");\n}\nstatic void load_GL_ARB_color_buffer_float(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_color_buffer_float) return;\n\tglad_glClampColorARB = (PFNGLCLAMPCOLORARBPROC)load(\"glClampColorARB\");\n}\nstatic void load_GL_ARB_compute_shader(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_compute_shader) return;\n\tglad_glDispatchCompute = (PFNGLDISPATCHCOMPUTEPROC)load(\"glDispatchCompute\");\n\tglad_glDispatchComputeIndirect = (PFNGLDISPATCHCOMPUTEINDIRECTPROC)load(\"glDispatchComputeIndirect\");\n}\nstatic void load_GL_ARB_compute_variable_group_size(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_compute_variable_group_size) return;\n\tglad_glDispatchComputeGroupSizeARB = (PFNGLDISPATCHCOMPUTEGROUPSIZEARBPROC)load(\"glDispatchComputeGroupSizeARB\");\n}\nstatic void load_GL_ARB_copy_buffer(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_copy_buffer) return;\n\tglad_glCopyBufferSubData = (PFNGLCOPYBUFFERSUBDATAPROC)load(\"glCopyBufferSubData\");\n}\nstatic void load_GL_ARB_copy_image(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_copy_image) return;\n\tglad_glCopyImageSubData = (PFNGLCOPYIMAGESUBDATAPROC)load(\"glCopyImageSubData\");\n}\nstatic void load_GL_ARB_debug_output(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_debug_output) return;\n\tglad_glDebugMessageControlARB = (PFNGLDEBUGMESSAGECONTROLARBPROC)load(\"glDebugMessageControlARB\");\n\tglad_glDebugMessageInsertARB = (PFNGLDEBUGMESSAGEINSERTARBPROC)load(\"glDebugMessageInsertARB\");\n\tglad_glDebugMessageCallbackARB = (PFNGLDEBUGMESSAGECALLBACKARBPROC)load(\"glDebugMessageCallbackARB\");\n\tglad_glGetDebugMessageLogARB = (PFNGLGETDEBUGMESSAGELOGARBPROC)load(\"glGetDebugMessageLogARB\");\n}\nstatic void load_GL_ARB_direct_state_access(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_direct_state_access) return;\n\tglad_glCreateTransformFeedbacks = (PFNGLCREATETRANSFORMFEEDBACKSPROC)load(\"glCreateTransformFeedbacks\");\n\tglad_glTransformFeedbackBufferBase = (PFNGLTRANSFORMFEEDBACKBUFFERBASEPROC)load(\"glTransformFeedbackBufferBase\");\n\tglad_glTransformFeedbackBufferRange = (PFNGLTRANSFORMFEEDBACKBUFFERRANGEPROC)load(\"glTransformFeedbackBufferRange\");\n\tglad_glGetTransformFeedbackiv = (PFNGLGETTRANSFORMFEEDBACKIVPROC)load(\"glGetTransformFeedbackiv\");\n\tglad_glGetTransformFeedbacki_v = (PFNGLGETTRANSFORMFEEDBACKI_VPROC)load(\"glGetTransformFeedbacki_v\");\n\tglad_glGetTransformFeedbacki64_v = (PFNGLGETTRANSFORMFEEDBACKI64_VPROC)load(\"glGetTransformFeedbacki64_v\");\n\tglad_glCreateBuffers = (PFNGLCREATEBUFFERSPROC)load(\"glCreateBuffers\");\n\tglad_glNamedBufferStorage = (PFNGLNAMEDBUFFERSTORAGEPROC)load(\"glNamedBufferStorage\");\n\tglad_glNamedBufferData = (PFNGLNAMEDBUFFERDATAPROC)load(\"glNamedBufferData\");\n\tglad_glNamedBufferSubData = (PFNGLNAMEDBUFFERSUBDATAPROC)load(\"glNamedBufferSubData\");\n\tglad_glCopyNamedBufferSubData = (PFNGLCOPYNAMEDBUFFERSUBDATAPROC)load(\"glCopyNamedBufferSubData\");\n\tglad_glClearNamedBufferData = (PFNGLCLEARNAMEDBUFFERDATAPROC)load(\"glClearNamedBufferData\");\n\tglad_glClearNamedBufferSubData = (PFNGLCLEARNAMEDBUFFERSUBDATAPROC)load(\"glClearNamedBufferSubData\");\n\tglad_glMapNamedBuffer = (PFNGLMAPNAMEDBUFFERPROC)load(\"glMapNamedBuffer\");\n\tglad_glMapNamedBufferRange = (PFNGLMAPNAMEDBUFFERRANGEPROC)load(\"glMapNamedBufferRange\");\n\tglad_glUnmapNamedBuffer = (PFNGLUNMAPNAMEDBUFFERPROC)load(\"glUnmapNamedBuffer\");\n\tglad_glFlushMappedNamedBufferRange = (PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEPROC)load(\"glFlushMappedNamedBufferRange\");\n\tglad_glGetNamedBufferParameteriv = (PFNGLGETNAMEDBUFFERPARAMETERIVPROC)load(\"glGetNamedBufferParameteriv\");\n\tglad_glGetNamedBufferParameteri64v = (PFNGLGETNAMEDBUFFERPARAMETERI64VPROC)load(\"glGetNamedBufferParameteri64v\");\n\tglad_glGetNamedBufferPointerv = (PFNGLGETNAMEDBUFFERPOINTERVPROC)load(\"glGetNamedBufferPointerv\");\n\tglad_glGetNamedBufferSubData = (PFNGLGETNAMEDBUFFERSUBDATAPROC)load(\"glGetNamedBufferSubData\");\n\tglad_glCreateFramebuffers = (PFNGLCREATEFRAMEBUFFERSPROC)load(\"glCreateFramebuffers\");\n\tglad_glNamedFramebufferRenderbuffer = (PFNGLNAMEDFRAMEBUFFERRENDERBUFFERPROC)load(\"glNamedFramebufferRenderbuffer\");\n\tglad_glNamedFramebufferParameteri = (PFNGLNAMEDFRAMEBUFFERPARAMETERIPROC)load(\"glNamedFramebufferParameteri\");\n\tglad_glNamedFramebufferTexture = (PFNGLNAMEDFRAMEBUFFERTEXTUREPROC)load(\"glNamedFramebufferTexture\");\n\tglad_glNamedFramebufferTextureLayer = (PFNGLNAMEDFRAMEBUFFERTEXTURELAYERPROC)load(\"glNamedFramebufferTextureLayer\");\n\tglad_glNamedFramebufferDrawBuffer = (PFNGLNAMEDFRAMEBUFFERDRAWBUFFERPROC)load(\"glNamedFramebufferDrawBuffer\");\n\tglad_glNamedFramebufferDrawBuffers = (PFNGLNAMEDFRAMEBUFFERDRAWBUFFERSPROC)load(\"glNamedFramebufferDrawBuffers\");\n\tglad_glNamedFramebufferReadBuffer = (PFNGLNAMEDFRAMEBUFFERREADBUFFERPROC)load(\"glNamedFramebufferReadBuffer\");\n\tglad_glInvalidateNamedFramebufferData = (PFNGLINVALIDATENAMEDFRAMEBUFFERDATAPROC)load(\"glInvalidateNamedFramebufferData\");\n\tglad_glInvalidateNamedFramebufferSubData = (PFNGLINVALIDATENAMEDFRAMEBUFFERSUBDATAPROC)load(\"glInvalidateNamedFramebufferSubData\");\n\tglad_glClearNamedFramebufferiv = (PFNGLCLEARNAMEDFRAMEBUFFERIVPROC)load(\"glClearNamedFramebufferiv\");\n\tglad_glClearNamedFramebufferuiv = (PFNGLCLEARNAMEDFRAMEBUFFERUIVPROC)load(\"glClearNamedFramebufferuiv\");\n\tglad_glClearNamedFramebufferfv = (PFNGLCLEARNAMEDFRAMEBUFFERFVPROC)load(\"glClearNamedFramebufferfv\");\n\tglad_glClearNamedFramebufferfi = (PFNGLCLEARNAMEDFRAMEBUFFERFIPROC)load(\"glClearNamedFramebufferfi\");\n\tglad_glBlitNamedFramebuffer = (PFNGLBLITNAMEDFRAMEBUFFERPROC)load(\"glBlitNamedFramebuffer\");\n\tglad_glCheckNamedFramebufferStatus = (PFNGLCHECKNAMEDFRAMEBUFFERSTATUSPROC)load(\"glCheckNamedFramebufferStatus\");\n\tglad_glGetNamedFramebufferParameteriv = (PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVPROC)load(\"glGetNamedFramebufferParameteriv\");\n\tglad_glGetNamedFramebufferAttachmentParameteriv = (PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVPROC)load(\"glGetNamedFramebufferAttachmentParameteriv\");\n\tglad_glCreateRenderbuffers = (PFNGLCREATERENDERBUFFERSPROC)load(\"glCreateRenderbuffers\");\n\tglad_glNamedRenderbufferStorage = (PFNGLNAMEDRENDERBUFFERSTORAGEPROC)load(\"glNamedRenderbufferStorage\");\n\tglad_glNamedRenderbufferStorageMultisample = (PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEPROC)load(\"glNamedRenderbufferStorageMultisample\");\n\tglad_glGetNamedRenderbufferParameteriv = (PFNGLGETNAMEDRENDERBUFFERPARAMETERIVPROC)load(\"glGetNamedRenderbufferParameteriv\");\n\tglad_glCreateTextures = (PFNGLCREATETEXTURESPROC)load(\"glCreateTextures\");\n\tglad_glTextureBuffer = (PFNGLTEXTUREBUFFERPROC)load(\"glTextureBuffer\");\n\tglad_glTextureBufferRange = (PFNGLTEXTUREBUFFERRANGEPROC)load(\"glTextureBufferRange\");\n\tglad_glTextureStorage1D = (PFNGLTEXTURESTORAGE1DPROC)load(\"glTextureStorage1D\");\n\tglad_glTextureStorage2D = (PFNGLTEXTURESTORAGE2DPROC)load(\"glTextureStorage2D\");\n\tglad_glTextureStorage3D = (PFNGLTEXTURESTORAGE3DPROC)load(\"glTextureStorage3D\");\n\tglad_glTextureStorage2DMultisample = (PFNGLTEXTURESTORAGE2DMULTISAMPLEPROC)load(\"glTextureStorage2DMultisample\");\n\tglad_glTextureStorage3DMultisample = (PFNGLTEXTURESTORAGE3DMULTISAMPLEPROC)load(\"glTextureStorage3DMultisample\");\n\tglad_glTextureSubImage1D = (PFNGLTEXTURESUBIMAGE1DPROC)load(\"glTextureSubImage1D\");\n\tglad_glTextureSubImage2D = (PFNGLTEXTURESUBIMAGE2DPROC)load(\"glTextureSubImage2D\");\n\tglad_glTextureSubImage3D = (PFNGLTEXTURESUBIMAGE3DPROC)load(\"glTextureSubImage3D\");\n\tglad_glCompressedTextureSubImage1D = (PFNGLCOMPRESSEDTEXTURESUBIMAGE1DPROC)load(\"glCompressedTextureSubImage1D\");\n\tglad_glCompressedTextureSubImage2D = (PFNGLCOMPRESSEDTEXTURESUBIMAGE2DPROC)load(\"glCompressedTextureSubImage2D\");\n\tglad_glCompressedTextureSubImage3D = (PFNGLCOMPRESSEDTEXTURESUBIMAGE3DPROC)load(\"glCompressedTextureSubImage3D\");\n\tglad_glCopyTextureSubImage1D = (PFNGLCOPYTEXTURESUBIMAGE1DPROC)load(\"glCopyTextureSubImage1D\");\n\tglad_glCopyTextureSubImage2D = (PFNGLCOPYTEXTURESUBIMAGE2DPROC)load(\"glCopyTextureSubImage2D\");\n\tglad_glCopyTextureSubImage3D = (PFNGLCOPYTEXTURESUBIMAGE3DPROC)load(\"glCopyTextureSubImage3D\");\n\tglad_glTextureParameterf = (PFNGLTEXTUREPARAMETERFPROC)load(\"glTextureParameterf\");\n\tglad_glTextureParameterfv = (PFNGLTEXTUREPARAMETERFVPROC)load(\"glTextureParameterfv\");\n\tglad_glTextureParameteri = (PFNGLTEXTUREPARAMETERIPROC)load(\"glTextureParameteri\");\n\tglad_glTextureParameterIiv = (PFNGLTEXTUREPARAMETERIIVPROC)load(\"glTextureParameterIiv\");\n\tglad_glTextureParameterIuiv = (PFNGLTEXTUREPARAMETERIUIVPROC)load(\"glTextureParameterIuiv\");\n\tglad_glTextureParameteriv = (PFNGLTEXTUREPARAMETERIVPROC)load(\"glTextureParameteriv\");\n\tglad_glGenerateTextureMipmap = (PFNGLGENERATETEXTUREMIPMAPPROC)load(\"glGenerateTextureMipmap\");\n\tglad_glBindTextureUnit = (PFNGLBINDTEXTUREUNITPROC)load(\"glBindTextureUnit\");\n\tglad_glGetTextureImage = (PFNGLGETTEXTUREIMAGEPROC)load(\"glGetTextureImage\");\n\tglad_glGetCompressedTextureImage = (PFNGLGETCOMPRESSEDTEXTUREIMAGEPROC)load(\"glGetCompressedTextureImage\");\n\tglad_glGetTextureLevelParameterfv = (PFNGLGETTEXTURELEVELPARAMETERFVPROC)load(\"glGetTextureLevelParameterfv\");\n\tglad_glGetTextureLevelParameteriv = (PFNGLGETTEXTURELEVELPARAMETERIVPROC)load(\"glGetTextureLevelParameteriv\");\n\tglad_glGetTextureParameterfv = (PFNGLGETTEXTUREPARAMETERFVPROC)load(\"glGetTextureParameterfv\");\n\tglad_glGetTextureParameterIiv = (PFNGLGETTEXTUREPARAMETERIIVPROC)load(\"glGetTextureParameterIiv\");\n\tglad_glGetTextureParameterIuiv = (PFNGLGETTEXTUREPARAMETERIUIVPROC)load(\"glGetTextureParameterIuiv\");\n\tglad_glGetTextureParameteriv = (PFNGLGETTEXTUREPARAMETERIVPROC)load(\"glGetTextureParameteriv\");\n\tglad_glCreateVertexArrays = (PFNGLCREATEVERTEXARRAYSPROC)load(\"glCreateVertexArrays\");\n\tglad_glDisableVertexArrayAttrib = (PFNGLDISABLEVERTEXARRAYATTRIBPROC)load(\"glDisableVertexArrayAttrib\");\n\tglad_glEnableVertexArrayAttrib = (PFNGLENABLEVERTEXARRAYATTRIBPROC)load(\"glEnableVertexArrayAttrib\");\n\tglad_glVertexArrayElementBuffer = (PFNGLVERTEXARRAYELEMENTBUFFERPROC)load(\"glVertexArrayElementBuffer\");\n\tglad_glVertexArrayVertexBuffer = (PFNGLVERTEXARRAYVERTEXBUFFERPROC)load(\"glVertexArrayVertexBuffer\");\n\tglad_glVertexArrayVertexBuffers = (PFNGLVERTEXARRAYVERTEXBUFFERSPROC)load(\"glVertexArrayVertexBuffers\");\n\tglad_glVertexArrayAttribBinding = (PFNGLVERTEXARRAYATTRIBBINDINGPROC)load(\"glVertexArrayAttribBinding\");\n\tglad_glVertexArrayAttribFormat = (PFNGLVERTEXARRAYATTRIBFORMATPROC)load(\"glVertexArrayAttribFormat\");\n\tglad_glVertexArrayAttribIFormat = (PFNGLVERTEXARRAYATTRIBIFORMATPROC)load(\"glVertexArrayAttribIFormat\");\n\tglad_glVertexArrayAttribLFormat = (PFNGLVERTEXARRAYATTRIBLFORMATPROC)load(\"glVertexArrayAttribLFormat\");\n\tglad_glVertexArrayBindingDivisor = (PFNGLVERTEXARRAYBINDINGDIVISORPROC)load(\"glVertexArrayBindingDivisor\");\n\tglad_glGetVertexArrayiv = (PFNGLGETVERTEXARRAYIVPROC)load(\"glGetVertexArrayiv\");\n\tglad_glGetVertexArrayIndexediv = (PFNGLGETVERTEXARRAYINDEXEDIVPROC)load(\"glGetVertexArrayIndexediv\");\n\tglad_glGetVertexArrayIndexed64iv = (PFNGLGETVERTEXARRAYINDEXED64IVPROC)load(\"glGetVertexArrayIndexed64iv\");\n\tglad_glCreateSamplers = (PFNGLCREATESAMPLERSPROC)load(\"glCreateSamplers\");\n\tglad_glCreateProgramPipelines = (PFNGLCREATEPROGRAMPIPELINESPROC)load(\"glCreateProgramPipelines\");\n\tglad_glCreateQueries = (PFNGLCREATEQUERIESPROC)load(\"glCreateQueries\");\n\tglad_glGetQueryBufferObjecti64v = (PFNGLGETQUERYBUFFEROBJECTI64VPROC)load(\"glGetQueryBufferObjecti64v\");\n\tglad_glGetQueryBufferObjectiv = (PFNGLGETQUERYBUFFEROBJECTIVPROC)load(\"glGetQueryBufferObjectiv\");\n\tglad_glGetQueryBufferObjectui64v = (PFNGLGETQUERYBUFFEROBJECTUI64VPROC)load(\"glGetQueryBufferObjectui64v\");\n\tglad_glGetQueryBufferObjectuiv = (PFNGLGETQUERYBUFFEROBJECTUIVPROC)load(\"glGetQueryBufferObjectuiv\");\n}\nstatic void load_GL_ARB_draw_buffers(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_draw_buffers) return;\n\tglad_glDrawBuffersARB = (PFNGLDRAWBUFFERSARBPROC)load(\"glDrawBuffersARB\");\n}\nstatic void load_GL_ARB_draw_buffers_blend(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_draw_buffers_blend) return;\n\tglad_glBlendEquationiARB = (PFNGLBLENDEQUATIONIARBPROC)load(\"glBlendEquationiARB\");\n\tglad_glBlendEquationSeparateiARB = (PFNGLBLENDEQUATIONSEPARATEIARBPROC)load(\"glBlendEquationSeparateiARB\");\n\tglad_glBlendFunciARB = (PFNGLBLENDFUNCIARBPROC)load(\"glBlendFunciARB\");\n\tglad_glBlendFuncSeparateiARB = (PFNGLBLENDFUNCSEPARATEIARBPROC)load(\"glBlendFuncSeparateiARB\");\n}\nstatic void load_GL_ARB_draw_elements_base_vertex(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_draw_elements_base_vertex) return;\n\tglad_glDrawElementsBaseVertex = (PFNGLDRAWELEMENTSBASEVERTEXPROC)load(\"glDrawElementsBaseVertex\");\n\tglad_glDrawRangeElementsBaseVertex = (PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC)load(\"glDrawRangeElementsBaseVertex\");\n\tglad_glDrawElementsInstancedBaseVertex = (PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC)load(\"glDrawElementsInstancedBaseVertex\");\n\tglad_glMultiDrawElementsBaseVertex = (PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC)load(\"glMultiDrawElementsBaseVertex\");\n}\nstatic void load_GL_ARB_draw_indirect(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_draw_indirect) return;\n\tglad_glDrawArraysIndirect = (PFNGLDRAWARRAYSINDIRECTPROC)load(\"glDrawArraysIndirect\");\n\tglad_glDrawElementsIndirect = (PFNGLDRAWELEMENTSINDIRECTPROC)load(\"glDrawElementsIndirect\");\n}\nstatic void load_GL_ARB_draw_instanced(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_draw_instanced) return;\n\tglad_glDrawArraysInstancedARB = (PFNGLDRAWARRAYSINSTANCEDARBPROC)load(\"glDrawArraysInstancedARB\");\n\tglad_glDrawElementsInstancedARB = (PFNGLDRAWELEMENTSINSTANCEDARBPROC)load(\"glDrawElementsInstancedARB\");\n}\nstatic void load_GL_ARB_fragment_program(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_fragment_program) return;\n\tglad_glProgramStringARB = (PFNGLPROGRAMSTRINGARBPROC)load(\"glProgramStringARB\");\n\tglad_glBindProgramARB = (PFNGLBINDPROGRAMARBPROC)load(\"glBindProgramARB\");\n\tglad_glDeleteProgramsARB = (PFNGLDELETEPROGRAMSARBPROC)load(\"glDeleteProgramsARB\");\n\tglad_glGenProgramsARB = (PFNGLGENPROGRAMSARBPROC)load(\"glGenProgramsARB\");\n\tglad_glProgramEnvParameter4dARB = (PFNGLPROGRAMENVPARAMETER4DARBPROC)load(\"glProgramEnvParameter4dARB\");\n\tglad_glProgramEnvParameter4dvARB = (PFNGLPROGRAMENVPARAMETER4DVARBPROC)load(\"glProgramEnvParameter4dvARB\");\n\tglad_glProgramEnvParameter4fARB = (PFNGLPROGRAMENVPARAMETER4FARBPROC)load(\"glProgramEnvParameter4fARB\");\n\tglad_glProgramEnvParameter4fvARB = (PFNGLPROGRAMENVPARAMETER4FVARBPROC)load(\"glProgramEnvParameter4fvARB\");\n\tglad_glProgramLocalParameter4dARB = (PFNGLPROGRAMLOCALPARAMETER4DARBPROC)load(\"glProgramLocalParameter4dARB\");\n\tglad_glProgramLocalParameter4dvARB = (PFNGLPROGRAMLOCALPARAMETER4DVARBPROC)load(\"glProgramLocalParameter4dvARB\");\n\tglad_glProgramLocalParameter4fARB = (PFNGLPROGRAMLOCALPARAMETER4FARBPROC)load(\"glProgramLocalParameter4fARB\");\n\tglad_glProgramLocalParameter4fvARB = (PFNGLPROGRAMLOCALPARAMETER4FVARBPROC)load(\"glProgramLocalParameter4fvARB\");\n\tglad_glGetProgramEnvParameterdvARB = (PFNGLGETPROGRAMENVPARAMETERDVARBPROC)load(\"glGetProgramEnvParameterdvARB\");\n\tglad_glGetProgramEnvParameterfvARB = (PFNGLGETPROGRAMENVPARAMETERFVARBPROC)load(\"glGetProgramEnvParameterfvARB\");\n\tglad_glGetProgramLocalParameterdvARB = (PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC)load(\"glGetProgramLocalParameterdvARB\");\n\tglad_glGetProgramLocalParameterfvARB = (PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC)load(\"glGetProgramLocalParameterfvARB\");\n\tglad_glGetProgramivARB = (PFNGLGETPROGRAMIVARBPROC)load(\"glGetProgramivARB\");\n\tglad_glGetProgramStringARB = (PFNGLGETPROGRAMSTRINGARBPROC)load(\"glGetProgramStringARB\");\n\tglad_glIsProgramARB = (PFNGLISPROGRAMARBPROC)load(\"glIsProgramARB\");\n}\nstatic void load_GL_ARB_framebuffer_no_attachments(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_framebuffer_no_attachments) return;\n\tglad_glFramebufferParameteri = (PFNGLFRAMEBUFFERPARAMETERIPROC)load(\"glFramebufferParameteri\");\n\tglad_glGetFramebufferParameteriv = (PFNGLGETFRAMEBUFFERPARAMETERIVPROC)load(\"glGetFramebufferParameteriv\");\n}\nstatic void load_GL_ARB_framebuffer_object(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_framebuffer_object) return;\n\tglad_glIsRenderbuffer = (PFNGLISRENDERBUFFERPROC)load(\"glIsRenderbuffer\");\n\tglad_glBindRenderbuffer = (PFNGLBINDRENDERBUFFERPROC)load(\"glBindRenderbuffer\");\n\tglad_glDeleteRenderbuffers = (PFNGLDELETERENDERBUFFERSPROC)load(\"glDeleteRenderbuffers\");\n\tglad_glGenRenderbuffers = (PFNGLGENRENDERBUFFERSPROC)load(\"glGenRenderbuffers\");\n\tglad_glRenderbufferStorage = (PFNGLRENDERBUFFERSTORAGEPROC)load(\"glRenderbufferStorage\");\n\tglad_glGetRenderbufferParameteriv = (PFNGLGETRENDERBUFFERPARAMETERIVPROC)load(\"glGetRenderbufferParameteriv\");\n\tglad_glIsFramebuffer = (PFNGLISFRAMEBUFFERPROC)load(\"glIsFramebuffer\");\n\tglad_glBindFramebuffer = (PFNGLBINDFRAMEBUFFERPROC)load(\"glBindFramebuffer\");\n\tglad_glDeleteFramebuffers = (PFNGLDELETEFRAMEBUFFERSPROC)load(\"glDeleteFramebuffers\");\n\tglad_glGenFramebuffers = (PFNGLGENFRAMEBUFFERSPROC)load(\"glGenFramebuffers\");\n\tglad_glCheckFramebufferStatus = (PFNGLCHECKFRAMEBUFFERSTATUSPROC)load(\"glCheckFramebufferStatus\");\n\tglad_glFramebufferTexture1D = (PFNGLFRAMEBUFFERTEXTURE1DPROC)load(\"glFramebufferTexture1D\");\n\tglad_glFramebufferTexture2D = (PFNGLFRAMEBUFFERTEXTURE2DPROC)load(\"glFramebufferTexture2D\");\n\tglad_glFramebufferTexture3D = (PFNGLFRAMEBUFFERTEXTURE3DPROC)load(\"glFramebufferTexture3D\");\n\tglad_glFramebufferRenderbuffer = (PFNGLFRAMEBUFFERRENDERBUFFERPROC)load(\"glFramebufferRenderbuffer\");\n\tglad_glGetFramebufferAttachmentParameteriv = (PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC)load(\"glGetFramebufferAttachmentParameteriv\");\n\tglad_glGenerateMipmap = (PFNGLGENERATEMIPMAPPROC)load(\"glGenerateMipmap\");\n\tglad_glBlitFramebuffer = (PFNGLBLITFRAMEBUFFERPROC)load(\"glBlitFramebuffer\");\n\tglad_glRenderbufferStorageMultisample = (PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC)load(\"glRenderbufferStorageMultisample\");\n\tglad_glFramebufferTextureLayer = (PFNGLFRAMEBUFFERTEXTURELAYERPROC)load(\"glFramebufferTextureLayer\");\n}\nstatic void load_GL_ARB_geometry_shader4(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_geometry_shader4) return;\n\tglad_glProgramParameteriARB = (PFNGLPROGRAMPARAMETERIARBPROC)load(\"glProgramParameteriARB\");\n\tglad_glFramebufferTextureARB = (PFNGLFRAMEBUFFERTEXTUREARBPROC)load(\"glFramebufferTextureARB\");\n\tglad_glFramebufferTextureLayerARB = (PFNGLFRAMEBUFFERTEXTURELAYERARBPROC)load(\"glFramebufferTextureLayerARB\");\n\tglad_glFramebufferTextureFaceARB = (PFNGLFRAMEBUFFERTEXTUREFACEARBPROC)load(\"glFramebufferTextureFaceARB\");\n}\nstatic void load_GL_ARB_get_program_binary(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_get_program_binary) return;\n\tglad_glGetProgramBinary = (PFNGLGETPROGRAMBINARYPROC)load(\"glGetProgramBinary\");\n\tglad_glProgramBinary = (PFNGLPROGRAMBINARYPROC)load(\"glProgramBinary\");\n\tglad_glProgramParameteri = (PFNGLPROGRAMPARAMETERIPROC)load(\"glProgramParameteri\");\n}\nstatic void load_GL_ARB_get_texture_sub_image(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_get_texture_sub_image) return;\n\tglad_glGetTextureSubImage = (PFNGLGETTEXTURESUBIMAGEPROC)load(\"glGetTextureSubImage\");\n\tglad_glGetCompressedTextureSubImage = (PFNGLGETCOMPRESSEDTEXTURESUBIMAGEPROC)load(\"glGetCompressedTextureSubImage\");\n}\nstatic void load_GL_ARB_gl_spirv(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_gl_spirv) return;\n\tglad_glSpecializeShaderARB = (PFNGLSPECIALIZESHADERARBPROC)load(\"glSpecializeShaderARB\");\n}\nstatic void load_GL_ARB_gpu_shader_fp64(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_gpu_shader_fp64) return;\n\tglad_glUniform1d = (PFNGLUNIFORM1DPROC)load(\"glUniform1d\");\n\tglad_glUniform2d = (PFNGLUNIFORM2DPROC)load(\"glUniform2d\");\n\tglad_glUniform3d = (PFNGLUNIFORM3DPROC)load(\"glUniform3d\");\n\tglad_glUniform4d = (PFNGLUNIFORM4DPROC)load(\"glUniform4d\");\n\tglad_glUniform1dv = (PFNGLUNIFORM1DVPROC)load(\"glUniform1dv\");\n\tglad_glUniform2dv = (PFNGLUNIFORM2DVPROC)load(\"glUniform2dv\");\n\tglad_glUniform3dv = (PFNGLUNIFORM3DVPROC)load(\"glUniform3dv\");\n\tglad_glUniform4dv = (PFNGLUNIFORM4DVPROC)load(\"glUniform4dv\");\n\tglad_glUniformMatrix2dv = (PFNGLUNIFORMMATRIX2DVPROC)load(\"glUniformMatrix2dv\");\n\tglad_glUniformMatrix3dv = (PFNGLUNIFORMMATRIX3DVPROC)load(\"glUniformMatrix3dv\");\n\tglad_glUniformMatrix4dv = (PFNGLUNIFORMMATRIX4DVPROC)load(\"glUniformMatrix4dv\");\n\tglad_glUniformMatrix2x3dv = (PFNGLUNIFORMMATRIX2X3DVPROC)load(\"glUniformMatrix2x3dv\");\n\tglad_glUniformMatrix2x4dv = (PFNGLUNIFORMMATRIX2X4DVPROC)load(\"glUniformMatrix2x4dv\");\n\tglad_glUniformMatrix3x2dv = (PFNGLUNIFORMMATRIX3X2DVPROC)load(\"glUniformMatrix3x2dv\");\n\tglad_glUniformMatrix3x4dv = (PFNGLUNIFORMMATRIX3X4DVPROC)load(\"glUniformMatrix3x4dv\");\n\tglad_glUniformMatrix4x2dv = (PFNGLUNIFORMMATRIX4X2DVPROC)load(\"glUniformMatrix4x2dv\");\n\tglad_glUniformMatrix4x3dv = (PFNGLUNIFORMMATRIX4X3DVPROC)load(\"glUniformMatrix4x3dv\");\n\tglad_glGetUniformdv = (PFNGLGETUNIFORMDVPROC)load(\"glGetUniformdv\");\n}\nstatic void load_GL_ARB_gpu_shader_int64(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_gpu_shader_int64) return;\n\tglad_glUniform1i64ARB = (PFNGLUNIFORM1I64ARBPROC)load(\"glUniform1i64ARB\");\n\tglad_glUniform2i64ARB = (PFNGLUNIFORM2I64ARBPROC)load(\"glUniform2i64ARB\");\n\tglad_glUniform3i64ARB = (PFNGLUNIFORM3I64ARBPROC)load(\"glUniform3i64ARB\");\n\tglad_glUniform4i64ARB = (PFNGLUNIFORM4I64ARBPROC)load(\"glUniform4i64ARB\");\n\tglad_glUniform1i64vARB = (PFNGLUNIFORM1I64VARBPROC)load(\"glUniform1i64vARB\");\n\tglad_glUniform2i64vARB = (PFNGLUNIFORM2I64VARBPROC)load(\"glUniform2i64vARB\");\n\tglad_glUniform3i64vARB = (PFNGLUNIFORM3I64VARBPROC)load(\"glUniform3i64vARB\");\n\tglad_glUniform4i64vARB = (PFNGLUNIFORM4I64VARBPROC)load(\"glUniform4i64vARB\");\n\tglad_glUniform1ui64ARB = (PFNGLUNIFORM1UI64ARBPROC)load(\"glUniform1ui64ARB\");\n\tglad_glUniform2ui64ARB = (PFNGLUNIFORM2UI64ARBPROC)load(\"glUniform2ui64ARB\");\n\tglad_glUniform3ui64ARB = (PFNGLUNIFORM3UI64ARBPROC)load(\"glUniform3ui64ARB\");\n\tglad_glUniform4ui64ARB = (PFNGLUNIFORM4UI64ARBPROC)load(\"glUniform4ui64ARB\");\n\tglad_glUniform1ui64vARB = (PFNGLUNIFORM1UI64VARBPROC)load(\"glUniform1ui64vARB\");\n\tglad_glUniform2ui64vARB = (PFNGLUNIFORM2UI64VARBPROC)load(\"glUniform2ui64vARB\");\n\tglad_glUniform3ui64vARB = (PFNGLUNIFORM3UI64VARBPROC)load(\"glUniform3ui64vARB\");\n\tglad_glUniform4ui64vARB = (PFNGLUNIFORM4UI64VARBPROC)load(\"glUniform4ui64vARB\");\n\tglad_glGetUniformi64vARB = (PFNGLGETUNIFORMI64VARBPROC)load(\"glGetUniformi64vARB\");\n\tglad_glGetUniformui64vARB = (PFNGLGETUNIFORMUI64VARBPROC)load(\"glGetUniformui64vARB\");\n\tglad_glGetnUniformi64vARB = (PFNGLGETNUNIFORMI64VARBPROC)load(\"glGetnUniformi64vARB\");\n\tglad_glGetnUniformui64vARB = (PFNGLGETNUNIFORMUI64VARBPROC)load(\"glGetnUniformui64vARB\");\n\tglad_glProgramUniform1i64ARB = (PFNGLPROGRAMUNIFORM1I64ARBPROC)load(\"glProgramUniform1i64ARB\");\n\tglad_glProgramUniform2i64ARB = (PFNGLPROGRAMUNIFORM2I64ARBPROC)load(\"glProgramUniform2i64ARB\");\n\tglad_glProgramUniform3i64ARB = (PFNGLPROGRAMUNIFORM3I64ARBPROC)load(\"glProgramUniform3i64ARB\");\n\tglad_glProgramUniform4i64ARB = (PFNGLPROGRAMUNIFORM4I64ARBPROC)load(\"glProgramUniform4i64ARB\");\n\tglad_glProgramUniform1i64vARB = (PFNGLPROGRAMUNIFORM1I64VARBPROC)load(\"glProgramUniform1i64vARB\");\n\tglad_glProgramUniform2i64vARB = (PFNGLPROGRAMUNIFORM2I64VARBPROC)load(\"glProgramUniform2i64vARB\");\n\tglad_glProgramUniform3i64vARB = (PFNGLPROGRAMUNIFORM3I64VARBPROC)load(\"glProgramUniform3i64vARB\");\n\tglad_glProgramUniform4i64vARB = (PFNGLPROGRAMUNIFORM4I64VARBPROC)load(\"glProgramUniform4i64vARB\");\n\tglad_glProgramUniform1ui64ARB = (PFNGLPROGRAMUNIFORM1UI64ARBPROC)load(\"glProgramUniform1ui64ARB\");\n\tglad_glProgramUniform2ui64ARB = (PFNGLPROGRAMUNIFORM2UI64ARBPROC)load(\"glProgramUniform2ui64ARB\");\n\tglad_glProgramUniform3ui64ARB = (PFNGLPROGRAMUNIFORM3UI64ARBPROC)load(\"glProgramUniform3ui64ARB\");\n\tglad_glProgramUniform4ui64ARB = (PFNGLPROGRAMUNIFORM4UI64ARBPROC)load(\"glProgramUniform4ui64ARB\");\n\tglad_glProgramUniform1ui64vARB = (PFNGLPROGRAMUNIFORM1UI64VARBPROC)load(\"glProgramUniform1ui64vARB\");\n\tglad_glProgramUniform2ui64vARB = (PFNGLPROGRAMUNIFORM2UI64VARBPROC)load(\"glProgramUniform2ui64vARB\");\n\tglad_glProgramUniform3ui64vARB = (PFNGLPROGRAMUNIFORM3UI64VARBPROC)load(\"glProgramUniform3ui64vARB\");\n\tglad_glProgramUniform4ui64vARB = (PFNGLPROGRAMUNIFORM4UI64VARBPROC)load(\"glProgramUniform4ui64vARB\");\n}\nstatic void load_GL_ARB_imaging(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_imaging) return;\n\tglad_glBlendColor = (PFNGLBLENDCOLORPROC)load(\"glBlendColor\");\n\tglad_glBlendEquation = (PFNGLBLENDEQUATIONPROC)load(\"glBlendEquation\");\n\tglad_glColorTable = (PFNGLCOLORTABLEPROC)load(\"glColorTable\");\n\tglad_glColorTableParameterfv = (PFNGLCOLORTABLEPARAMETERFVPROC)load(\"glColorTableParameterfv\");\n\tglad_glColorTableParameteriv = (PFNGLCOLORTABLEPARAMETERIVPROC)load(\"glColorTableParameteriv\");\n\tglad_glCopyColorTable = (PFNGLCOPYCOLORTABLEPROC)load(\"glCopyColorTable\");\n\tglad_glGetColorTable = (PFNGLGETCOLORTABLEPROC)load(\"glGetColorTable\");\n\tglad_glGetColorTableParameterfv = (PFNGLGETCOLORTABLEPARAMETERFVPROC)load(\"glGetColorTableParameterfv\");\n\tglad_glGetColorTableParameteriv = (PFNGLGETCOLORTABLEPARAMETERIVPROC)load(\"glGetColorTableParameteriv\");\n\tglad_glColorSubTable = (PFNGLCOLORSUBTABLEPROC)load(\"glColorSubTable\");\n\tglad_glCopyColorSubTable = (PFNGLCOPYCOLORSUBTABLEPROC)load(\"glCopyColorSubTable\");\n\tglad_glConvolutionFilter1D = (PFNGLCONVOLUTIONFILTER1DPROC)load(\"glConvolutionFilter1D\");\n\tglad_glConvolutionFilter2D = (PFNGLCONVOLUTIONFILTER2DPROC)load(\"glConvolutionFilter2D\");\n\tglad_glConvolutionParameterf = (PFNGLCONVOLUTIONPARAMETERFPROC)load(\"glConvolutionParameterf\");\n\tglad_glConvolutionParameterfv = (PFNGLCONVOLUTIONPARAMETERFVPROC)load(\"glConvolutionParameterfv\");\n\tglad_glConvolutionParameteri = (PFNGLCONVOLUTIONPARAMETERIPROC)load(\"glConvolutionParameteri\");\n\tglad_glConvolutionParameteriv = (PFNGLCONVOLUTIONPARAMETERIVPROC)load(\"glConvolutionParameteriv\");\n\tglad_glCopyConvolutionFilter1D = (PFNGLCOPYCONVOLUTIONFILTER1DPROC)load(\"glCopyConvolutionFilter1D\");\n\tglad_glCopyConvolutionFilter2D = (PFNGLCOPYCONVOLUTIONFILTER2DPROC)load(\"glCopyConvolutionFilter2D\");\n\tglad_glGetConvolutionFilter = (PFNGLGETCONVOLUTIONFILTERPROC)load(\"glGetConvolutionFilter\");\n\tglad_glGetConvolutionParameterfv = (PFNGLGETCONVOLUTIONPARAMETERFVPROC)load(\"glGetConvolutionParameterfv\");\n\tglad_glGetConvolutionParameteriv = (PFNGLGETCONVOLUTIONPARAMETERIVPROC)load(\"glGetConvolutionParameteriv\");\n\tglad_glGetSeparableFilter = (PFNGLGETSEPARABLEFILTERPROC)load(\"glGetSeparableFilter\");\n\tglad_glSeparableFilter2D = (PFNGLSEPARABLEFILTER2DPROC)load(\"glSeparableFilter2D\");\n\tglad_glGetHistogram = (PFNGLGETHISTOGRAMPROC)load(\"glGetHistogram\");\n\tglad_glGetHistogramParameterfv = (PFNGLGETHISTOGRAMPARAMETERFVPROC)load(\"glGetHistogramParameterfv\");\n\tglad_glGetHistogramParameteriv = (PFNGLGETHISTOGRAMPARAMETERIVPROC)load(\"glGetHistogramParameteriv\");\n\tglad_glGetMinmax = (PFNGLGETMINMAXPROC)load(\"glGetMinmax\");\n\tglad_glGetMinmaxParameterfv = (PFNGLGETMINMAXPARAMETERFVPROC)load(\"glGetMinmaxParameterfv\");\n\tglad_glGetMinmaxParameteriv = (PFNGLGETMINMAXPARAMETERIVPROC)load(\"glGetMinmaxParameteriv\");\n\tglad_glHistogram = (PFNGLHISTOGRAMPROC)load(\"glHistogram\");\n\tglad_glMinmax = (PFNGLMINMAXPROC)load(\"glMinmax\");\n\tglad_glResetHistogram = (PFNGLRESETHISTOGRAMPROC)load(\"glResetHistogram\");\n\tglad_glResetMinmax = (PFNGLRESETMINMAXPROC)load(\"glResetMinmax\");\n}\nstatic void load_GL_ARB_indirect_parameters(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_indirect_parameters) return;\n\tglad_glMultiDrawArraysIndirectCountARB = (PFNGLMULTIDRAWARRAYSINDIRECTCOUNTARBPROC)load(\"glMultiDrawArraysIndirectCountARB\");\n\tglad_glMultiDrawElementsIndirectCountARB = (PFNGLMULTIDRAWELEMENTSINDIRECTCOUNTARBPROC)load(\"glMultiDrawElementsIndirectCountARB\");\n}\nstatic void load_GL_ARB_instanced_arrays(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_instanced_arrays) return;\n\tglad_glVertexAttribDivisorARB = (PFNGLVERTEXATTRIBDIVISORARBPROC)load(\"glVertexAttribDivisorARB\");\n}\nstatic void load_GL_ARB_internalformat_query(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_internalformat_query) return;\n\tglad_glGetInternalformativ = (PFNGLGETINTERNALFORMATIVPROC)load(\"glGetInternalformativ\");\n}\nstatic void load_GL_ARB_internalformat_query2(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_internalformat_query2) return;\n\tglad_glGetInternalformati64v = (PFNGLGETINTERNALFORMATI64VPROC)load(\"glGetInternalformati64v\");\n}\nstatic void load_GL_ARB_invalidate_subdata(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_invalidate_subdata) return;\n\tglad_glInvalidateTexSubImage = (PFNGLINVALIDATETEXSUBIMAGEPROC)load(\"glInvalidateTexSubImage\");\n\tglad_glInvalidateTexImage = (PFNGLINVALIDATETEXIMAGEPROC)load(\"glInvalidateTexImage\");\n\tglad_glInvalidateBufferSubData = (PFNGLINVALIDATEBUFFERSUBDATAPROC)load(\"glInvalidateBufferSubData\");\n\tglad_glInvalidateBufferData = (PFNGLINVALIDATEBUFFERDATAPROC)load(\"glInvalidateBufferData\");\n\tglad_glInvalidateFramebuffer = (PFNGLINVALIDATEFRAMEBUFFERPROC)load(\"glInvalidateFramebuffer\");\n\tglad_glInvalidateSubFramebuffer = (PFNGLINVALIDATESUBFRAMEBUFFERPROC)load(\"glInvalidateSubFramebuffer\");\n}\nstatic void load_GL_ARB_map_buffer_range(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_map_buffer_range) return;\n\tglad_glMapBufferRange = (PFNGLMAPBUFFERRANGEPROC)load(\"glMapBufferRange\");\n\tglad_glFlushMappedBufferRange = (PFNGLFLUSHMAPPEDBUFFERRANGEPROC)load(\"glFlushMappedBufferRange\");\n}\nstatic void load_GL_ARB_matrix_palette(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_matrix_palette) return;\n\tglad_glCurrentPaletteMatrixARB = (PFNGLCURRENTPALETTEMATRIXARBPROC)load(\"glCurrentPaletteMatrixARB\");\n\tglad_glMatrixIndexubvARB = (PFNGLMATRIXINDEXUBVARBPROC)load(\"glMatrixIndexubvARB\");\n\tglad_glMatrixIndexusvARB = (PFNGLMATRIXINDEXUSVARBPROC)load(\"glMatrixIndexusvARB\");\n\tglad_glMatrixIndexuivARB = (PFNGLMATRIXINDEXUIVARBPROC)load(\"glMatrixIndexuivARB\");\n\tglad_glMatrixIndexPointerARB = (PFNGLMATRIXINDEXPOINTERARBPROC)load(\"glMatrixIndexPointerARB\");\n}\nstatic void load_GL_ARB_multi_bind(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_multi_bind) return;\n\tglad_glBindBuffersBase = (PFNGLBINDBUFFERSBASEPROC)load(\"glBindBuffersBase\");\n\tglad_glBindBuffersRange = (PFNGLBINDBUFFERSRANGEPROC)load(\"glBindBuffersRange\");\n\tglad_glBindTextures = (PFNGLBINDTEXTURESPROC)load(\"glBindTextures\");\n\tglad_glBindSamplers = (PFNGLBINDSAMPLERSPROC)load(\"glBindSamplers\");\n\tglad_glBindImageTextures = (PFNGLBINDIMAGETEXTURESPROC)load(\"glBindImageTextures\");\n\tglad_glBindVertexBuffers = (PFNGLBINDVERTEXBUFFERSPROC)load(\"glBindVertexBuffers\");\n}\nstatic void load_GL_ARB_multi_draw_indirect(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_multi_draw_indirect) return;\n\tglad_glMultiDrawArraysIndirect = (PFNGLMULTIDRAWARRAYSINDIRECTPROC)load(\"glMultiDrawArraysIndirect\");\n\tglad_glMultiDrawElementsIndirect = (PFNGLMULTIDRAWELEMENTSINDIRECTPROC)load(\"glMultiDrawElementsIndirect\");\n}\nstatic void load_GL_ARB_multisample(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_multisample) return;\n\tglad_glSampleCoverageARB = (PFNGLSAMPLECOVERAGEARBPROC)load(\"glSampleCoverageARB\");\n}\nstatic void load_GL_ARB_multitexture(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_multitexture) return;\n\tglad_glActiveTextureARB = (PFNGLACTIVETEXTUREARBPROC)load(\"glActiveTextureARB\");\n\tglad_glClientActiveTextureARB = (PFNGLCLIENTACTIVETEXTUREARBPROC)load(\"glClientActiveTextureARB\");\n\tglad_glMultiTexCoord1dARB = (PFNGLMULTITEXCOORD1DARBPROC)load(\"glMultiTexCoord1dARB\");\n\tglad_glMultiTexCoord1dvARB = (PFNGLMULTITEXCOORD1DVARBPROC)load(\"glMultiTexCoord1dvARB\");\n\tglad_glMultiTexCoord1fARB = (PFNGLMULTITEXCOORD1FARBPROC)load(\"glMultiTexCoord1fARB\");\n\tglad_glMultiTexCoord1fvARB = (PFNGLMULTITEXCOORD1FVARBPROC)load(\"glMultiTexCoord1fvARB\");\n\tglad_glMultiTexCoord1iARB = (PFNGLMULTITEXCOORD1IARBPROC)load(\"glMultiTexCoord1iARB\");\n\tglad_glMultiTexCoord1ivARB = (PFNGLMULTITEXCOORD1IVARBPROC)load(\"glMultiTexCoord1ivARB\");\n\tglad_glMultiTexCoord1sARB = (PFNGLMULTITEXCOORD1SARBPROC)load(\"glMultiTexCoord1sARB\");\n\tglad_glMultiTexCoord1svARB = (PFNGLMULTITEXCOORD1SVARBPROC)load(\"glMultiTexCoord1svARB\");\n\tglad_glMultiTexCoord2dARB = (PFNGLMULTITEXCOORD2DARBPROC)load(\"glMultiTexCoord2dARB\");\n\tglad_glMultiTexCoord2dvARB = (PFNGLMULTITEXCOORD2DVARBPROC)load(\"glMultiTexCoord2dvARB\");\n\tglad_glMultiTexCoord2fARB = (PFNGLMULTITEXCOORD2FARBPROC)load(\"glMultiTexCoord2fARB\");\n\tglad_glMultiTexCoord2fvARB = (PFNGLMULTITEXCOORD2FVARBPROC)load(\"glMultiTexCoord2fvARB\");\n\tglad_glMultiTexCoord2iARB = (PFNGLMULTITEXCOORD2IARBPROC)load(\"glMultiTexCoord2iARB\");\n\tglad_glMultiTexCoord2ivARB = (PFNGLMULTITEXCOORD2IVARBPROC)load(\"glMultiTexCoord2ivARB\");\n\tglad_glMultiTexCoord2sARB = (PFNGLMULTITEXCOORD2SARBPROC)load(\"glMultiTexCoord2sARB\");\n\tglad_glMultiTexCoord2svARB = (PFNGLMULTITEXCOORD2SVARBPROC)load(\"glMultiTexCoord2svARB\");\n\tglad_glMultiTexCoord3dARB = (PFNGLMULTITEXCOORD3DARBPROC)load(\"glMultiTexCoord3dARB\");\n\tglad_glMultiTexCoord3dvARB = (PFNGLMULTITEXCOORD3DVARBPROC)load(\"glMultiTexCoord3dvARB\");\n\tglad_glMultiTexCoord3fARB = (PFNGLMULTITEXCOORD3FARBPROC)load(\"glMultiTexCoord3fARB\");\n\tglad_glMultiTexCoord3fvARB = (PFNGLMULTITEXCOORD3FVARBPROC)load(\"glMultiTexCoord3fvARB\");\n\tglad_glMultiTexCoord3iARB = (PFNGLMULTITEXCOORD3IARBPROC)load(\"glMultiTexCoord3iARB\");\n\tglad_glMultiTexCoord3ivARB = (PFNGLMULTITEXCOORD3IVARBPROC)load(\"glMultiTexCoord3ivARB\");\n\tglad_glMultiTexCoord3sARB = (PFNGLMULTITEXCOORD3SARBPROC)load(\"glMultiTexCoord3sARB\");\n\tglad_glMultiTexCoord3svARB = (PFNGLMULTITEXCOORD3SVARBPROC)load(\"glMultiTexCoord3svARB\");\n\tglad_glMultiTexCoord4dARB = (PFNGLMULTITEXCOORD4DARBPROC)load(\"glMultiTexCoord4dARB\");\n\tglad_glMultiTexCoord4dvARB = (PFNGLMULTITEXCOORD4DVARBPROC)load(\"glMultiTexCoord4dvARB\");\n\tglad_glMultiTexCoord4fARB = (PFNGLMULTITEXCOORD4FARBPROC)load(\"glMultiTexCoord4fARB\");\n\tglad_glMultiTexCoord4fvARB = (PFNGLMULTITEXCOORD4FVARBPROC)load(\"glMultiTexCoord4fvARB\");\n\tglad_glMultiTexCoord4iARB = (PFNGLMULTITEXCOORD4IARBPROC)load(\"glMultiTexCoord4iARB\");\n\tglad_glMultiTexCoord4ivARB = (PFNGLMULTITEXCOORD4IVARBPROC)load(\"glMultiTexCoord4ivARB\");\n\tglad_glMultiTexCoord4sARB = (PFNGLMULTITEXCOORD4SARBPROC)load(\"glMultiTexCoord4sARB\");\n\tglad_glMultiTexCoord4svARB = (PFNGLMULTITEXCOORD4SVARBPROC)load(\"glMultiTexCoord4svARB\");\n}\nstatic void load_GL_ARB_occlusion_query(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_occlusion_query) return;\n\tglad_glGenQueriesARB = (PFNGLGENQUERIESARBPROC)load(\"glGenQueriesARB\");\n\tglad_glDeleteQueriesARB = (PFNGLDELETEQUERIESARBPROC)load(\"glDeleteQueriesARB\");\n\tglad_glIsQueryARB = (PFNGLISQUERYARBPROC)load(\"glIsQueryARB\");\n\tglad_glBeginQueryARB = (PFNGLBEGINQUERYARBPROC)load(\"glBeginQueryARB\");\n\tglad_glEndQueryARB = (PFNGLENDQUERYARBPROC)load(\"glEndQueryARB\");\n\tglad_glGetQueryivARB = (PFNGLGETQUERYIVARBPROC)load(\"glGetQueryivARB\");\n\tglad_glGetQueryObjectivARB = (PFNGLGETQUERYOBJECTIVARBPROC)load(\"glGetQueryObjectivARB\");\n\tglad_glGetQueryObjectuivARB = (PFNGLGETQUERYOBJECTUIVARBPROC)load(\"glGetQueryObjectuivARB\");\n}\nstatic void load_GL_ARB_parallel_shader_compile(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_parallel_shader_compile) return;\n\tglad_glMaxShaderCompilerThreadsARB = (PFNGLMAXSHADERCOMPILERTHREADSARBPROC)load(\"glMaxShaderCompilerThreadsARB\");\n}\nstatic void load_GL_ARB_point_parameters(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_point_parameters) return;\n\tglad_glPointParameterfARB = (PFNGLPOINTPARAMETERFARBPROC)load(\"glPointParameterfARB\");\n\tglad_glPointParameterfvARB = (PFNGLPOINTPARAMETERFVARBPROC)load(\"glPointParameterfvARB\");\n}\nstatic void load_GL_ARB_polygon_offset_clamp(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_polygon_offset_clamp) return;\n\tglad_glPolygonOffsetClamp = (PFNGLPOLYGONOFFSETCLAMPPROC)load(\"glPolygonOffsetClamp\");\n}\nstatic void load_GL_ARB_program_interface_query(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_program_interface_query) return;\n\tglad_glGetProgramInterfaceiv = (PFNGLGETPROGRAMINTERFACEIVPROC)load(\"glGetProgramInterfaceiv\");\n\tglad_glGetProgramResourceIndex = (PFNGLGETPROGRAMRESOURCEINDEXPROC)load(\"glGetProgramResourceIndex\");\n\tglad_glGetProgramResourceName = (PFNGLGETPROGRAMRESOURCENAMEPROC)load(\"glGetProgramResourceName\");\n\tglad_glGetProgramResourceiv = (PFNGLGETPROGRAMRESOURCEIVPROC)load(\"glGetProgramResourceiv\");\n\tglad_glGetProgramResourceLocation = (PFNGLGETPROGRAMRESOURCELOCATIONPROC)load(\"glGetProgramResourceLocation\");\n\tglad_glGetProgramResourceLocationIndex = (PFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC)load(\"glGetProgramResourceLocationIndex\");\n}\nstatic void load_GL_ARB_provoking_vertex(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_provoking_vertex) return;\n\tglad_glProvokingVertex = (PFNGLPROVOKINGVERTEXPROC)load(\"glProvokingVertex\");\n}\nstatic void load_GL_ARB_robustness(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_robustness) return;\n\tglad_glGetGraphicsResetStatusARB = (PFNGLGETGRAPHICSRESETSTATUSARBPROC)load(\"glGetGraphicsResetStatusARB\");\n\tglad_glGetnTexImageARB = (PFNGLGETNTEXIMAGEARBPROC)load(\"glGetnTexImageARB\");\n\tglad_glReadnPixelsARB = (PFNGLREADNPIXELSARBPROC)load(\"glReadnPixelsARB\");\n\tglad_glGetnCompressedTexImageARB = (PFNGLGETNCOMPRESSEDTEXIMAGEARBPROC)load(\"glGetnCompressedTexImageARB\");\n\tglad_glGetnUniformfvARB = (PFNGLGETNUNIFORMFVARBPROC)load(\"glGetnUniformfvARB\");\n\tglad_glGetnUniformivARB = (PFNGLGETNUNIFORMIVARBPROC)load(\"glGetnUniformivARB\");\n\tglad_glGetnUniformuivARB = (PFNGLGETNUNIFORMUIVARBPROC)load(\"glGetnUniformuivARB\");\n\tglad_glGetnUniformdvARB = (PFNGLGETNUNIFORMDVARBPROC)load(\"glGetnUniformdvARB\");\n\tglad_glGetnMapdvARB = (PFNGLGETNMAPDVARBPROC)load(\"glGetnMapdvARB\");\n\tglad_glGetnMapfvARB = (PFNGLGETNMAPFVARBPROC)load(\"glGetnMapfvARB\");\n\tglad_glGetnMapivARB = (PFNGLGETNMAPIVARBPROC)load(\"glGetnMapivARB\");\n\tglad_glGetnPixelMapfvARB = (PFNGLGETNPIXELMAPFVARBPROC)load(\"glGetnPixelMapfvARB\");\n\tglad_glGetnPixelMapuivARB = (PFNGLGETNPIXELMAPUIVARBPROC)load(\"glGetnPixelMapuivARB\");\n\tglad_glGetnPixelMapusvARB = (PFNGLGETNPIXELMAPUSVARBPROC)load(\"glGetnPixelMapusvARB\");\n\tglad_glGetnPolygonStippleARB = (PFNGLGETNPOLYGONSTIPPLEARBPROC)load(\"glGetnPolygonStippleARB\");\n\tglad_glGetnColorTableARB = (PFNGLGETNCOLORTABLEARBPROC)load(\"glGetnColorTableARB\");\n\tglad_glGetnConvolutionFilterARB = (PFNGLGETNCONVOLUTIONFILTERARBPROC)load(\"glGetnConvolutionFilterARB\");\n\tglad_glGetnSeparableFilterARB = (PFNGLGETNSEPARABLEFILTERARBPROC)load(\"glGetnSeparableFilterARB\");\n\tglad_glGetnHistogramARB = (PFNGLGETNHISTOGRAMARBPROC)load(\"glGetnHistogramARB\");\n\tglad_glGetnMinmaxARB = (PFNGLGETNMINMAXARBPROC)load(\"glGetnMinmaxARB\");\n}\nstatic void load_GL_ARB_sample_locations(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_sample_locations) return;\n\tglad_glFramebufferSampleLocationsfvARB = (PFNGLFRAMEBUFFERSAMPLELOCATIONSFVARBPROC)load(\"glFramebufferSampleLocationsfvARB\");\n\tglad_glNamedFramebufferSampleLocationsfvARB = (PFNGLNAMEDFRAMEBUFFERSAMPLELOCATIONSFVARBPROC)load(\"glNamedFramebufferSampleLocationsfvARB\");\n\tglad_glEvaluateDepthValuesARB = (PFNGLEVALUATEDEPTHVALUESARBPROC)load(\"glEvaluateDepthValuesARB\");\n}\nstatic void load_GL_ARB_sample_shading(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_sample_shading) return;\n\tglad_glMinSampleShadingARB = (PFNGLMINSAMPLESHADINGARBPROC)load(\"glMinSampleShadingARB\");\n}\nstatic void load_GL_ARB_sampler_objects(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_sampler_objects) return;\n\tglad_glGenSamplers = (PFNGLGENSAMPLERSPROC)load(\"glGenSamplers\");\n\tglad_glDeleteSamplers = (PFNGLDELETESAMPLERSPROC)load(\"glDeleteSamplers\");\n\tglad_glIsSampler = (PFNGLISSAMPLERPROC)load(\"glIsSampler\");\n\tglad_glBindSampler = (PFNGLBINDSAMPLERPROC)load(\"glBindSampler\");\n\tglad_glSamplerParameteri = (PFNGLSAMPLERPARAMETERIPROC)load(\"glSamplerParameteri\");\n\tglad_glSamplerParameteriv = (PFNGLSAMPLERPARAMETERIVPROC)load(\"glSamplerParameteriv\");\n\tglad_glSamplerParameterf = (PFNGLSAMPLERPARAMETERFPROC)load(\"glSamplerParameterf\");\n\tglad_glSamplerParameterfv = (PFNGLSAMPLERPARAMETERFVPROC)load(\"glSamplerParameterfv\");\n\tglad_glSamplerParameterIiv = (PFNGLSAMPLERPARAMETERIIVPROC)load(\"glSamplerParameterIiv\");\n\tglad_glSamplerParameterIuiv = (PFNGLSAMPLERPARAMETERIUIVPROC)load(\"glSamplerParameterIuiv\");\n\tglad_glGetSamplerParameteriv = (PFNGLGETSAMPLERPARAMETERIVPROC)load(\"glGetSamplerParameteriv\");\n\tglad_glGetSamplerParameterIiv = (PFNGLGETSAMPLERPARAMETERIIVPROC)load(\"glGetSamplerParameterIiv\");\n\tglad_glGetSamplerParameterfv = (PFNGLGETSAMPLERPARAMETERFVPROC)load(\"glGetSamplerParameterfv\");\n\tglad_glGetSamplerParameterIuiv = (PFNGLGETSAMPLERPARAMETERIUIVPROC)load(\"glGetSamplerParameterIuiv\");\n}\nstatic void load_GL_ARB_separate_shader_objects(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_separate_shader_objects) return;\n\tglad_glUseProgramStages = (PFNGLUSEPROGRAMSTAGESPROC)load(\"glUseProgramStages\");\n\tglad_glActiveShaderProgram = (PFNGLACTIVESHADERPROGRAMPROC)load(\"glActiveShaderProgram\");\n\tglad_glCreateShaderProgramv = (PFNGLCREATESHADERPROGRAMVPROC)load(\"glCreateShaderProgramv\");\n\tglad_glBindProgramPipeline = (PFNGLBINDPROGRAMPIPELINEPROC)load(\"glBindProgramPipeline\");\n\tglad_glDeleteProgramPipelines = (PFNGLDELETEPROGRAMPIPELINESPROC)load(\"glDeleteProgramPipelines\");\n\tglad_glGenProgramPipelines = (PFNGLGENPROGRAMPIPELINESPROC)load(\"glGenProgramPipelines\");\n\tglad_glIsProgramPipeline = (PFNGLISPROGRAMPIPELINEPROC)load(\"glIsProgramPipeline\");\n\tglad_glGetProgramPipelineiv = (PFNGLGETPROGRAMPIPELINEIVPROC)load(\"glGetProgramPipelineiv\");\n\tglad_glProgramParameteri = (PFNGLPROGRAMPARAMETERIPROC)load(\"glProgramParameteri\");\n\tglad_glProgramUniform1i = (PFNGLPROGRAMUNIFORM1IPROC)load(\"glProgramUniform1i\");\n\tglad_glProgramUniform1iv = (PFNGLPROGRAMUNIFORM1IVPROC)load(\"glProgramUniform1iv\");\n\tglad_glProgramUniform1f = (PFNGLPROGRAMUNIFORM1FPROC)load(\"glProgramUniform1f\");\n\tglad_glProgramUniform1fv = (PFNGLPROGRAMUNIFORM1FVPROC)load(\"glProgramUniform1fv\");\n\tglad_glProgramUniform1d = (PFNGLPROGRAMUNIFORM1DPROC)load(\"glProgramUniform1d\");\n\tglad_glProgramUniform1dv = (PFNGLPROGRAMUNIFORM1DVPROC)load(\"glProgramUniform1dv\");\n\tglad_glProgramUniform1ui = (PFNGLPROGRAMUNIFORM1UIPROC)load(\"glProgramUniform1ui\");\n\tglad_glProgramUniform1uiv = (PFNGLPROGRAMUNIFORM1UIVPROC)load(\"glProgramUniform1uiv\");\n\tglad_glProgramUniform2i = (PFNGLPROGRAMUNIFORM2IPROC)load(\"glProgramUniform2i\");\n\tglad_glProgramUniform2iv = (PFNGLPROGRAMUNIFORM2IVPROC)load(\"glProgramUniform2iv\");\n\tglad_glProgramUniform2f = (PFNGLPROGRAMUNIFORM2FPROC)load(\"glProgramUniform2f\");\n\tglad_glProgramUniform2fv = (PFNGLPROGRAMUNIFORM2FVPROC)load(\"glProgramUniform2fv\");\n\tglad_glProgramUniform2d = (PFNGLPROGRAMUNIFORM2DPROC)load(\"glProgramUniform2d\");\n\tglad_glProgramUniform2dv = (PFNGLPROGRAMUNIFORM2DVPROC)load(\"glProgramUniform2dv\");\n\tglad_glProgramUniform2ui = (PFNGLPROGRAMUNIFORM2UIPROC)load(\"glProgramUniform2ui\");\n\tglad_glProgramUniform2uiv = (PFNGLPROGRAMUNIFORM2UIVPROC)load(\"glProgramUniform2uiv\");\n\tglad_glProgramUniform3i = (PFNGLPROGRAMUNIFORM3IPROC)load(\"glProgramUniform3i\");\n\tglad_glProgramUniform3iv = (PFNGLPROGRAMUNIFORM3IVPROC)load(\"glProgramUniform3iv\");\n\tglad_glProgramUniform3f = (PFNGLPROGRAMUNIFORM3FPROC)load(\"glProgramUniform3f\");\n\tglad_glProgramUniform3fv = (PFNGLPROGRAMUNIFORM3FVPROC)load(\"glProgramUniform3fv\");\n\tglad_glProgramUniform3d = (PFNGLPROGRAMUNIFORM3DPROC)load(\"glProgramUniform3d\");\n\tglad_glProgramUniform3dv = (PFNGLPROGRAMUNIFORM3DVPROC)load(\"glProgramUniform3dv\");\n\tglad_glProgramUniform3ui = (PFNGLPROGRAMUNIFORM3UIPROC)load(\"glProgramUniform3ui\");\n\tglad_glProgramUniform3uiv = (PFNGLPROGRAMUNIFORM3UIVPROC)load(\"glProgramUniform3uiv\");\n\tglad_glProgramUniform4i = (PFNGLPROGRAMUNIFORM4IPROC)load(\"glProgramUniform4i\");\n\tglad_glProgramUniform4iv = (PFNGLPROGRAMUNIFORM4IVPROC)load(\"glProgramUniform4iv\");\n\tglad_glProgramUniform4f = (PFNGLPROGRAMUNIFORM4FPROC)load(\"glProgramUniform4f\");\n\tglad_glProgramUniform4fv = (PFNGLPROGRAMUNIFORM4FVPROC)load(\"glProgramUniform4fv\");\n\tglad_glProgramUniform4d = (PFNGLPROGRAMUNIFORM4DPROC)load(\"glProgramUniform4d\");\n\tglad_glProgramUniform4dv = (PFNGLPROGRAMUNIFORM4DVPROC)load(\"glProgramUniform4dv\");\n\tglad_glProgramUniform4ui = (PFNGLPROGRAMUNIFORM4UIPROC)load(\"glProgramUniform4ui\");\n\tglad_glProgramUniform4uiv = (PFNGLPROGRAMUNIFORM4UIVPROC)load(\"glProgramUniform4uiv\");\n\tglad_glProgramUniformMatrix2fv = (PFNGLPROGRAMUNIFORMMATRIX2FVPROC)load(\"glProgramUniformMatrix2fv\");\n\tglad_glProgramUniformMatrix3fv = (PFNGLPROGRAMUNIFORMMATRIX3FVPROC)load(\"glProgramUniformMatrix3fv\");\n\tglad_glProgramUniformMatrix4fv = (PFNGLPROGRAMUNIFORMMATRIX4FVPROC)load(\"glProgramUniformMatrix4fv\");\n\tglad_glProgramUniformMatrix2dv = (PFNGLPROGRAMUNIFORMMATRIX2DVPROC)load(\"glProgramUniformMatrix2dv\");\n\tglad_glProgramUniformMatrix3dv = (PFNGLPROGRAMUNIFORMMATRIX3DVPROC)load(\"glProgramUniformMatrix3dv\");\n\tglad_glProgramUniformMatrix4dv = (PFNGLPROGRAMUNIFORMMATRIX4DVPROC)load(\"glProgramUniformMatrix4dv\");\n\tglad_glProgramUniformMatrix2x3fv = (PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC)load(\"glProgramUniformMatrix2x3fv\");\n\tglad_glProgramUniformMatrix3x2fv = (PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC)load(\"glProgramUniformMatrix3x2fv\");\n\tglad_glProgramUniformMatrix2x4fv = (PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC)load(\"glProgramUniformMatrix2x4fv\");\n\tglad_glProgramUniformMatrix4x2fv = (PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC)load(\"glProgramUniformMatrix4x2fv\");\n\tglad_glProgramUniformMatrix3x4fv = (PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC)load(\"glProgramUniformMatrix3x4fv\");\n\tglad_glProgramUniformMatrix4x3fv = (PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC)load(\"glProgramUniformMatrix4x3fv\");\n\tglad_glProgramUniformMatrix2x3dv = (PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC)load(\"glProgramUniformMatrix2x3dv\");\n\tglad_glProgramUniformMatrix3x2dv = (PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC)load(\"glProgramUniformMatrix3x2dv\");\n\tglad_glProgramUniformMatrix2x4dv = (PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC)load(\"glProgramUniformMatrix2x4dv\");\n\tglad_glProgramUniformMatrix4x2dv = (PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC)load(\"glProgramUniformMatrix4x2dv\");\n\tglad_glProgramUniformMatrix3x4dv = (PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC)load(\"glProgramUniformMatrix3x4dv\");\n\tglad_glProgramUniformMatrix4x3dv = (PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC)load(\"glProgramUniformMatrix4x3dv\");\n\tglad_glValidateProgramPipeline = (PFNGLVALIDATEPROGRAMPIPELINEPROC)load(\"glValidateProgramPipeline\");\n\tglad_glGetProgramPipelineInfoLog = (PFNGLGETPROGRAMPIPELINEINFOLOGPROC)load(\"glGetProgramPipelineInfoLog\");\n}\nstatic void load_GL_ARB_shader_atomic_counters(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_shader_atomic_counters) return;\n\tglad_glGetActiveAtomicCounterBufferiv = (PFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC)load(\"glGetActiveAtomicCounterBufferiv\");\n}\nstatic void load_GL_ARB_shader_image_load_store(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_shader_image_load_store) return;\n\tglad_glBindImageTexture = (PFNGLBINDIMAGETEXTUREPROC)load(\"glBindImageTexture\");\n\tglad_glMemoryBarrier = (PFNGLMEMORYBARRIERPROC)load(\"glMemoryBarrier\");\n}\nstatic void load_GL_ARB_shader_objects(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_shader_objects) return;\n\tglad_glDeleteObjectARB = (PFNGLDELETEOBJECTARBPROC)load(\"glDeleteObjectARB\");\n\tglad_glGetHandleARB = (PFNGLGETHANDLEARBPROC)load(\"glGetHandleARB\");\n\tglad_glDetachObjectARB = (PFNGLDETACHOBJECTARBPROC)load(\"glDetachObjectARB\");\n\tglad_glCreateShaderObjectARB = (PFNGLCREATESHADEROBJECTARBPROC)load(\"glCreateShaderObjectARB\");\n\tglad_glShaderSourceARB = (PFNGLSHADERSOURCEARBPROC)load(\"glShaderSourceARB\");\n\tglad_glCompileShaderARB = (PFNGLCOMPILESHADERARBPROC)load(\"glCompileShaderARB\");\n\tglad_glCreateProgramObjectARB = (PFNGLCREATEPROGRAMOBJECTARBPROC)load(\"glCreateProgramObjectARB\");\n\tglad_glAttachObjectARB = (PFNGLATTACHOBJECTARBPROC)load(\"glAttachObjectARB\");\n\tglad_glLinkProgramARB = (PFNGLLINKPROGRAMARBPROC)load(\"glLinkProgramARB\");\n\tglad_glUseProgramObjectARB = (PFNGLUSEPROGRAMOBJECTARBPROC)load(\"glUseProgramObjectARB\");\n\tglad_glValidateProgramARB = (PFNGLVALIDATEPROGRAMARBPROC)load(\"glValidateProgramARB\");\n\tglad_glUniform1fARB = (PFNGLUNIFORM1FARBPROC)load(\"glUniform1fARB\");\n\tglad_glUniform2fARB = (PFNGLUNIFORM2FARBPROC)load(\"glUniform2fARB\");\n\tglad_glUniform3fARB = (PFNGLUNIFORM3FARBPROC)load(\"glUniform3fARB\");\n\tglad_glUniform4fARB = (PFNGLUNIFORM4FARBPROC)load(\"glUniform4fARB\");\n\tglad_glUniform1iARB = (PFNGLUNIFORM1IARBPROC)load(\"glUniform1iARB\");\n\tglad_glUniform2iARB = (PFNGLUNIFORM2IARBPROC)load(\"glUniform2iARB\");\n\tglad_glUniform3iARB = (PFNGLUNIFORM3IARBPROC)load(\"glUniform3iARB\");\n\tglad_glUniform4iARB = (PFNGLUNIFORM4IARBPROC)load(\"glUniform4iARB\");\n\tglad_glUniform1fvARB = (PFNGLUNIFORM1FVARBPROC)load(\"glUniform1fvARB\");\n\tglad_glUniform2fvARB = (PFNGLUNIFORM2FVARBPROC)load(\"glUniform2fvARB\");\n\tglad_glUniform3fvARB = (PFNGLUNIFORM3FVARBPROC)load(\"glUniform3fvARB\");\n\tglad_glUniform4fvARB = (PFNGLUNIFORM4FVARBPROC)load(\"glUniform4fvARB\");\n\tglad_glUniform1ivARB = (PFNGLUNIFORM1IVARBPROC)load(\"glUniform1ivARB\");\n\tglad_glUniform2ivARB = (PFNGLUNIFORM2IVARBPROC)load(\"glUniform2ivARB\");\n\tglad_glUniform3ivARB = (PFNGLUNIFORM3IVARBPROC)load(\"glUniform3ivARB\");\n\tglad_glUniform4ivARB = (PFNGLUNIFORM4IVARBPROC)load(\"glUniform4ivARB\");\n\tglad_glUniformMatrix2fvARB = (PFNGLUNIFORMMATRIX2FVARBPROC)load(\"glUniformMatrix2fvARB\");\n\tglad_glUniformMatrix3fvARB = (PFNGLUNIFORMMATRIX3FVARBPROC)load(\"glUniformMatrix3fvARB\");\n\tglad_glUniformMatrix4fvARB = (PFNGLUNIFORMMATRIX4FVARBPROC)load(\"glUniformMatrix4fvARB\");\n\tglad_glGetObjectParameterfvARB = (PFNGLGETOBJECTPARAMETERFVARBPROC)load(\"glGetObjectParameterfvARB\");\n\tglad_glGetObjectParameterivARB = (PFNGLGETOBJECTPARAMETERIVARBPROC)load(\"glGetObjectParameterivARB\");\n\tglad_glGetInfoLogARB = (PFNGLGETINFOLOGARBPROC)load(\"glGetInfoLogARB\");\n\tglad_glGetAttachedObjectsARB = (PFNGLGETATTACHEDOBJECTSARBPROC)load(\"glGetAttachedObjectsARB\");\n\tglad_glGetUniformLocationARB = (PFNGLGETUNIFORMLOCATIONARBPROC)load(\"glGetUniformLocationARB\");\n\tglad_glGetActiveUniformARB = (PFNGLGETACTIVEUNIFORMARBPROC)load(\"glGetActiveUniformARB\");\n\tglad_glGetUniformfvARB = (PFNGLGETUNIFORMFVARBPROC)load(\"glGetUniformfvARB\");\n\tglad_glGetUniformivARB = (PFNGLGETUNIFORMIVARBPROC)load(\"glGetUniformivARB\");\n\tglad_glGetShaderSourceARB = (PFNGLGETSHADERSOURCEARBPROC)load(\"glGetShaderSourceARB\");\n}\nstatic void load_GL_ARB_shader_storage_buffer_object(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_shader_storage_buffer_object) return;\n\tglad_glShaderStorageBlockBinding = (PFNGLSHADERSTORAGEBLOCKBINDINGPROC)load(\"glShaderStorageBlockBinding\");\n}\nstatic void load_GL_ARB_shader_subroutine(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_shader_subroutine) return;\n\tglad_glGetSubroutineUniformLocation = (PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC)load(\"glGetSubroutineUniformLocation\");\n\tglad_glGetSubroutineIndex = (PFNGLGETSUBROUTINEINDEXPROC)load(\"glGetSubroutineIndex\");\n\tglad_glGetActiveSubroutineUniformiv = (PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC)load(\"glGetActiveSubroutineUniformiv\");\n\tglad_glGetActiveSubroutineUniformName = (PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC)load(\"glGetActiveSubroutineUniformName\");\n\tglad_glGetActiveSubroutineName = (PFNGLGETACTIVESUBROUTINENAMEPROC)load(\"glGetActiveSubroutineName\");\n\tglad_glUniformSubroutinesuiv = (PFNGLUNIFORMSUBROUTINESUIVPROC)load(\"glUniformSubroutinesuiv\");\n\tglad_glGetUniformSubroutineuiv = (PFNGLGETUNIFORMSUBROUTINEUIVPROC)load(\"glGetUniformSubroutineuiv\");\n\tglad_glGetProgramStageiv = (PFNGLGETPROGRAMSTAGEIVPROC)load(\"glGetProgramStageiv\");\n}\nstatic void load_GL_ARB_shading_language_include(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_shading_language_include) return;\n\tglad_glNamedStringARB = (PFNGLNAMEDSTRINGARBPROC)load(\"glNamedStringARB\");\n\tglad_glDeleteNamedStringARB = (PFNGLDELETENAMEDSTRINGARBPROC)load(\"glDeleteNamedStringARB\");\n\tglad_glCompileShaderIncludeARB = (PFNGLCOMPILESHADERINCLUDEARBPROC)load(\"glCompileShaderIncludeARB\");\n\tglad_glIsNamedStringARB = (PFNGLISNAMEDSTRINGARBPROC)load(\"glIsNamedStringARB\");\n\tglad_glGetNamedStringARB = (PFNGLGETNAMEDSTRINGARBPROC)load(\"glGetNamedStringARB\");\n\tglad_glGetNamedStringivARB = (PFNGLGETNAMEDSTRINGIVARBPROC)load(\"glGetNamedStringivARB\");\n}\nstatic void load_GL_ARB_sparse_buffer(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_sparse_buffer) return;\n\tglad_glBufferPageCommitmentARB = (PFNGLBUFFERPAGECOMMITMENTARBPROC)load(\"glBufferPageCommitmentARB\");\n\tglad_glNamedBufferPageCommitmentEXT = (PFNGLNAMEDBUFFERPAGECOMMITMENTEXTPROC)load(\"glNamedBufferPageCommitmentEXT\");\n\tglad_glNamedBufferPageCommitmentARB = (PFNGLNAMEDBUFFERPAGECOMMITMENTARBPROC)load(\"glNamedBufferPageCommitmentARB\");\n}\nstatic void load_GL_ARB_sparse_texture(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_sparse_texture) return;\n\tglad_glTexPageCommitmentARB = (PFNGLTEXPAGECOMMITMENTARBPROC)load(\"glTexPageCommitmentARB\");\n}\nstatic void load_GL_ARB_sync(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_sync) return;\n\tglad_glFenceSync = (PFNGLFENCESYNCPROC)load(\"glFenceSync\");\n\tglad_glIsSync = (PFNGLISSYNCPROC)load(\"glIsSync\");\n\tglad_glDeleteSync = (PFNGLDELETESYNCPROC)load(\"glDeleteSync\");\n\tglad_glClientWaitSync = (PFNGLCLIENTWAITSYNCPROC)load(\"glClientWaitSync\");\n\tglad_glWaitSync = (PFNGLWAITSYNCPROC)load(\"glWaitSync\");\n\tglad_glGetInteger64v = (PFNGLGETINTEGER64VPROC)load(\"glGetInteger64v\");\n\tglad_glGetSynciv = (PFNGLGETSYNCIVPROC)load(\"glGetSynciv\");\n}\nstatic void load_GL_ARB_tessellation_shader(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_tessellation_shader) return;\n\tglad_glPatchParameteri = (PFNGLPATCHPARAMETERIPROC)load(\"glPatchParameteri\");\n\tglad_glPatchParameterfv = (PFNGLPATCHPARAMETERFVPROC)load(\"glPatchParameterfv\");\n}\nstatic void load_GL_ARB_texture_barrier(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_texture_barrier) return;\n\tglad_glTextureBarrier = (PFNGLTEXTUREBARRIERPROC)load(\"glTextureBarrier\");\n}\nstatic void load_GL_ARB_texture_buffer_object(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_texture_buffer_object) return;\n\tglad_glTexBufferARB = (PFNGLTEXBUFFERARBPROC)load(\"glTexBufferARB\");\n}\nstatic void load_GL_ARB_texture_buffer_range(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_texture_buffer_range) return;\n\tglad_glTexBufferRange = (PFNGLTEXBUFFERRANGEPROC)load(\"glTexBufferRange\");\n}\nstatic void load_GL_ARB_texture_compression(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_texture_compression) return;\n\tglad_glCompressedTexImage3DARB = (PFNGLCOMPRESSEDTEXIMAGE3DARBPROC)load(\"glCompressedTexImage3DARB\");\n\tglad_glCompressedTexImage2DARB = (PFNGLCOMPRESSEDTEXIMAGE2DARBPROC)load(\"glCompressedTexImage2DARB\");\n\tglad_glCompressedTexImage1DARB = (PFNGLCOMPRESSEDTEXIMAGE1DARBPROC)load(\"glCompressedTexImage1DARB\");\n\tglad_glCompressedTexSubImage3DARB = (PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC)load(\"glCompressedTexSubImage3DARB\");\n\tglad_glCompressedTexSubImage2DARB = (PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC)load(\"glCompressedTexSubImage2DARB\");\n\tglad_glCompressedTexSubImage1DARB = (PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC)load(\"glCompressedTexSubImage1DARB\");\n\tglad_glGetCompressedTexImageARB = (PFNGLGETCOMPRESSEDTEXIMAGEARBPROC)load(\"glGetCompressedTexImageARB\");\n}\nstatic void load_GL_ARB_texture_multisample(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_texture_multisample) return;\n\tglad_glTexImage2DMultisample = (PFNGLTEXIMAGE2DMULTISAMPLEPROC)load(\"glTexImage2DMultisample\");\n\tglad_glTexImage3DMultisample = (PFNGLTEXIMAGE3DMULTISAMPLEPROC)load(\"glTexImage3DMultisample\");\n\tglad_glGetMultisamplefv = (PFNGLGETMULTISAMPLEFVPROC)load(\"glGetMultisamplefv\");\n\tglad_glSampleMaski = (PFNGLSAMPLEMASKIPROC)load(\"glSampleMaski\");\n}\nstatic void load_GL_ARB_texture_storage(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_texture_storage) return;\n\tglad_glTexStorage1D = (PFNGLTEXSTORAGE1DPROC)load(\"glTexStorage1D\");\n\tglad_glTexStorage2D = (PFNGLTEXSTORAGE2DPROC)load(\"glTexStorage2D\");\n\tglad_glTexStorage3D = (PFNGLTEXSTORAGE3DPROC)load(\"glTexStorage3D\");\n}\nstatic void load_GL_ARB_texture_storage_multisample(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_texture_storage_multisample) return;\n\tglad_glTexStorage2DMultisample = (PFNGLTEXSTORAGE2DMULTISAMPLEPROC)load(\"glTexStorage2DMultisample\");\n\tglad_glTexStorage3DMultisample = (PFNGLTEXSTORAGE3DMULTISAMPLEPROC)load(\"glTexStorage3DMultisample\");\n}\nstatic void load_GL_ARB_texture_view(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_texture_view) return;\n\tglad_glTextureView = (PFNGLTEXTUREVIEWPROC)load(\"glTextureView\");\n}\nstatic void load_GL_ARB_timer_query(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_timer_query) return;\n\tglad_glQueryCounter = (PFNGLQUERYCOUNTERPROC)load(\"glQueryCounter\");\n\tglad_glGetQueryObjecti64v = (PFNGLGETQUERYOBJECTI64VPROC)load(\"glGetQueryObjecti64v\");\n\tglad_glGetQueryObjectui64v = (PFNGLGETQUERYOBJECTUI64VPROC)load(\"glGetQueryObjectui64v\");\n}\nstatic void load_GL_ARB_transform_feedback2(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_transform_feedback2) return;\n\tglad_glBindTransformFeedback = (PFNGLBINDTRANSFORMFEEDBACKPROC)load(\"glBindTransformFeedback\");\n\tglad_glDeleteTransformFeedbacks = (PFNGLDELETETRANSFORMFEEDBACKSPROC)load(\"glDeleteTransformFeedbacks\");\n\tglad_glGenTransformFeedbacks = (PFNGLGENTRANSFORMFEEDBACKSPROC)load(\"glGenTransformFeedbacks\");\n\tglad_glIsTransformFeedback = (PFNGLISTRANSFORMFEEDBACKPROC)load(\"glIsTransformFeedback\");\n\tglad_glPauseTransformFeedback = (PFNGLPAUSETRANSFORMFEEDBACKPROC)load(\"glPauseTransformFeedback\");\n\tglad_glResumeTransformFeedback = (PFNGLRESUMETRANSFORMFEEDBACKPROC)load(\"glResumeTransformFeedback\");\n\tglad_glDrawTransformFeedback = (PFNGLDRAWTRANSFORMFEEDBACKPROC)load(\"glDrawTransformFeedback\");\n}\nstatic void load_GL_ARB_transform_feedback3(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_transform_feedback3) return;\n\tglad_glDrawTransformFeedbackStream = (PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC)load(\"glDrawTransformFeedbackStream\");\n\tglad_glBeginQueryIndexed = (PFNGLBEGINQUERYINDEXEDPROC)load(\"glBeginQueryIndexed\");\n\tglad_glEndQueryIndexed = (PFNGLENDQUERYINDEXEDPROC)load(\"glEndQueryIndexed\");\n\tglad_glGetQueryIndexediv = (PFNGLGETQUERYINDEXEDIVPROC)load(\"glGetQueryIndexediv\");\n}\nstatic void load_GL_ARB_transform_feedback_instanced(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_transform_feedback_instanced) return;\n\tglad_glDrawTransformFeedbackInstanced = (PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC)load(\"glDrawTransformFeedbackInstanced\");\n\tglad_glDrawTransformFeedbackStreamInstanced = (PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC)load(\"glDrawTransformFeedbackStreamInstanced\");\n}\nstatic void load_GL_ARB_transpose_matrix(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_transpose_matrix) return;\n\tglad_glLoadTransposeMatrixfARB = (PFNGLLOADTRANSPOSEMATRIXFARBPROC)load(\"glLoadTransposeMatrixfARB\");\n\tglad_glLoadTransposeMatrixdARB = (PFNGLLOADTRANSPOSEMATRIXDARBPROC)load(\"glLoadTransposeMatrixdARB\");\n\tglad_glMultTransposeMatrixfARB = (PFNGLMULTTRANSPOSEMATRIXFARBPROC)load(\"glMultTransposeMatrixfARB\");\n\tglad_glMultTransposeMatrixdARB = (PFNGLMULTTRANSPOSEMATRIXDARBPROC)load(\"glMultTransposeMatrixdARB\");\n}\nstatic void load_GL_ARB_uniform_buffer_object(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_uniform_buffer_object) return;\n\tglad_glGetUniformIndices = (PFNGLGETUNIFORMINDICESPROC)load(\"glGetUniformIndices\");\n\tglad_glGetActiveUniformsiv = (PFNGLGETACTIVEUNIFORMSIVPROC)load(\"glGetActiveUniformsiv\");\n\tglad_glGetActiveUniformName = (PFNGLGETACTIVEUNIFORMNAMEPROC)load(\"glGetActiveUniformName\");\n\tglad_glGetUniformBlockIndex = (PFNGLGETUNIFORMBLOCKINDEXPROC)load(\"glGetUniformBlockIndex\");\n\tglad_glGetActiveUniformBlockiv = (PFNGLGETACTIVEUNIFORMBLOCKIVPROC)load(\"glGetActiveUniformBlockiv\");\n\tglad_glGetActiveUniformBlockName = (PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC)load(\"glGetActiveUniformBlockName\");\n\tglad_glUniformBlockBinding = (PFNGLUNIFORMBLOCKBINDINGPROC)load(\"glUniformBlockBinding\");\n\tglad_glBindBufferRange = (PFNGLBINDBUFFERRANGEPROC)load(\"glBindBufferRange\");\n\tglad_glBindBufferBase = (PFNGLBINDBUFFERBASEPROC)load(\"glBindBufferBase\");\n\tglad_glGetIntegeri_v = (PFNGLGETINTEGERI_VPROC)load(\"glGetIntegeri_v\");\n}\nstatic void load_GL_ARB_vertex_array_object(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_vertex_array_object) return;\n\tglad_glBindVertexArray = (PFNGLBINDVERTEXARRAYPROC)load(\"glBindVertexArray\");\n\tglad_glDeleteVertexArrays = (PFNGLDELETEVERTEXARRAYSPROC)load(\"glDeleteVertexArrays\");\n\tglad_glGenVertexArrays = (PFNGLGENVERTEXARRAYSPROC)load(\"glGenVertexArrays\");\n\tglad_glIsVertexArray = (PFNGLISVERTEXARRAYPROC)load(\"glIsVertexArray\");\n}\nstatic void load_GL_ARB_vertex_attrib_64bit(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_vertex_attrib_64bit) return;\n\tglad_glVertexAttribL1d = (PFNGLVERTEXATTRIBL1DPROC)load(\"glVertexAttribL1d\");\n\tglad_glVertexAttribL2d = (PFNGLVERTEXATTRIBL2DPROC)load(\"glVertexAttribL2d\");\n\tglad_glVertexAttribL3d = (PFNGLVERTEXATTRIBL3DPROC)load(\"glVertexAttribL3d\");\n\tglad_glVertexAttribL4d = (PFNGLVERTEXATTRIBL4DPROC)load(\"glVertexAttribL4d\");\n\tglad_glVertexAttribL1dv = (PFNGLVERTEXATTRIBL1DVPROC)load(\"glVertexAttribL1dv\");\n\tglad_glVertexAttribL2dv = (PFNGLVERTEXATTRIBL2DVPROC)load(\"glVertexAttribL2dv\");\n\tglad_glVertexAttribL3dv = (PFNGLVERTEXATTRIBL3DVPROC)load(\"glVertexAttribL3dv\");\n\tglad_glVertexAttribL4dv = (PFNGLVERTEXATTRIBL4DVPROC)load(\"glVertexAttribL4dv\");\n\tglad_glVertexAttribLPointer = (PFNGLVERTEXATTRIBLPOINTERPROC)load(\"glVertexAttribLPointer\");\n\tglad_glGetVertexAttribLdv = (PFNGLGETVERTEXATTRIBLDVPROC)load(\"glGetVertexAttribLdv\");\n}\nstatic void load_GL_ARB_vertex_attrib_binding(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_vertex_attrib_binding) return;\n\tglad_glBindVertexBuffer = (PFNGLBINDVERTEXBUFFERPROC)load(\"glBindVertexBuffer\");\n\tglad_glVertexAttribFormat = (PFNGLVERTEXATTRIBFORMATPROC)load(\"glVertexAttribFormat\");\n\tglad_glVertexAttribIFormat = (PFNGLVERTEXATTRIBIFORMATPROC)load(\"glVertexAttribIFormat\");\n\tglad_glVertexAttribLFormat = (PFNGLVERTEXATTRIBLFORMATPROC)load(\"glVertexAttribLFormat\");\n\tglad_glVertexAttribBinding = (PFNGLVERTEXATTRIBBINDINGPROC)load(\"glVertexAttribBinding\");\n\tglad_glVertexBindingDivisor = (PFNGLVERTEXBINDINGDIVISORPROC)load(\"glVertexBindingDivisor\");\n}\nstatic void load_GL_ARB_vertex_blend(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_vertex_blend) return;\n\tglad_glWeightbvARB = (PFNGLWEIGHTBVARBPROC)load(\"glWeightbvARB\");\n\tglad_glWeightsvARB = (PFNGLWEIGHTSVARBPROC)load(\"glWeightsvARB\");\n\tglad_glWeightivARB = (PFNGLWEIGHTIVARBPROC)load(\"glWeightivARB\");\n\tglad_glWeightfvARB = (PFNGLWEIGHTFVARBPROC)load(\"glWeightfvARB\");\n\tglad_glWeightdvARB = (PFNGLWEIGHTDVARBPROC)load(\"glWeightdvARB\");\n\tglad_glWeightubvARB = (PFNGLWEIGHTUBVARBPROC)load(\"glWeightubvARB\");\n\tglad_glWeightusvARB = (PFNGLWEIGHTUSVARBPROC)load(\"glWeightusvARB\");\n\tglad_glWeightuivARB = (PFNGLWEIGHTUIVARBPROC)load(\"glWeightuivARB\");\n\tglad_glWeightPointerARB = (PFNGLWEIGHTPOINTERARBPROC)load(\"glWeightPointerARB\");\n\tglad_glVertexBlendARB = (PFNGLVERTEXBLENDARBPROC)load(\"glVertexBlendARB\");\n}\nstatic void load_GL_ARB_vertex_buffer_object(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_vertex_buffer_object) return;\n\tglad_glBindBufferARB = (PFNGLBINDBUFFERARBPROC)load(\"glBindBufferARB\");\n\tglad_glDeleteBuffersARB = (PFNGLDELETEBUFFERSARBPROC)load(\"glDeleteBuffersARB\");\n\tglad_glGenBuffersARB = (PFNGLGENBUFFERSARBPROC)load(\"glGenBuffersARB\");\n\tglad_glIsBufferARB = (PFNGLISBUFFERARBPROC)load(\"glIsBufferARB\");\n\tglad_glBufferDataARB = (PFNGLBUFFERDATAARBPROC)load(\"glBufferDataARB\");\n\tglad_glBufferSubDataARB = (PFNGLBUFFERSUBDATAARBPROC)load(\"glBufferSubDataARB\");\n\tglad_glGetBufferSubDataARB = (PFNGLGETBUFFERSUBDATAARBPROC)load(\"glGetBufferSubDataARB\");\n\tglad_glMapBufferARB = (PFNGLMAPBUFFERARBPROC)load(\"glMapBufferARB\");\n\tglad_glUnmapBufferARB = (PFNGLUNMAPBUFFERARBPROC)load(\"glUnmapBufferARB\");\n\tglad_glGetBufferParameterivARB = (PFNGLGETBUFFERPARAMETERIVARBPROC)load(\"glGetBufferParameterivARB\");\n\tglad_glGetBufferPointervARB = (PFNGLGETBUFFERPOINTERVARBPROC)load(\"glGetBufferPointervARB\");\n}\nstatic void load_GL_ARB_vertex_program(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_vertex_program) return;\n\tglad_glVertexAttrib1dARB = (PFNGLVERTEXATTRIB1DARBPROC)load(\"glVertexAttrib1dARB\");\n\tglad_glVertexAttrib1dvARB = (PFNGLVERTEXATTRIB1DVARBPROC)load(\"glVertexAttrib1dvARB\");\n\tglad_glVertexAttrib1fARB = (PFNGLVERTEXATTRIB1FARBPROC)load(\"glVertexAttrib1fARB\");\n\tglad_glVertexAttrib1fvARB = (PFNGLVERTEXATTRIB1FVARBPROC)load(\"glVertexAttrib1fvARB\");\n\tglad_glVertexAttrib1sARB = (PFNGLVERTEXATTRIB1SARBPROC)load(\"glVertexAttrib1sARB\");\n\tglad_glVertexAttrib1svARB = (PFNGLVERTEXATTRIB1SVARBPROC)load(\"glVertexAttrib1svARB\");\n\tglad_glVertexAttrib2dARB = (PFNGLVERTEXATTRIB2DARBPROC)load(\"glVertexAttrib2dARB\");\n\tglad_glVertexAttrib2dvARB = (PFNGLVERTEXATTRIB2DVARBPROC)load(\"glVertexAttrib2dvARB\");\n\tglad_glVertexAttrib2fARB = (PFNGLVERTEXATTRIB2FARBPROC)load(\"glVertexAttrib2fARB\");\n\tglad_glVertexAttrib2fvARB = (PFNGLVERTEXATTRIB2FVARBPROC)load(\"glVertexAttrib2fvARB\");\n\tglad_glVertexAttrib2sARB = (PFNGLVERTEXATTRIB2SARBPROC)load(\"glVertexAttrib2sARB\");\n\tglad_glVertexAttrib2svARB = (PFNGLVERTEXATTRIB2SVARBPROC)load(\"glVertexAttrib2svARB\");\n\tglad_glVertexAttrib3dARB = (PFNGLVERTEXATTRIB3DARBPROC)load(\"glVertexAttrib3dARB\");\n\tglad_glVertexAttrib3dvARB = (PFNGLVERTEXATTRIB3DVARBPROC)load(\"glVertexAttrib3dvARB\");\n\tglad_glVertexAttrib3fARB = (PFNGLVERTEXATTRIB3FARBPROC)load(\"glVertexAttrib3fARB\");\n\tglad_glVertexAttrib3fvARB = (PFNGLVERTEXATTRIB3FVARBPROC)load(\"glVertexAttrib3fvARB\");\n\tglad_glVertexAttrib3sARB = (PFNGLVERTEXATTRIB3SARBPROC)load(\"glVertexAttrib3sARB\");\n\tglad_glVertexAttrib3svARB = (PFNGLVERTEXATTRIB3SVARBPROC)load(\"glVertexAttrib3svARB\");\n\tglad_glVertexAttrib4NbvARB = (PFNGLVERTEXATTRIB4NBVARBPROC)load(\"glVertexAttrib4NbvARB\");\n\tglad_glVertexAttrib4NivARB = (PFNGLVERTEXATTRIB4NIVARBPROC)load(\"glVertexAttrib4NivARB\");\n\tglad_glVertexAttrib4NsvARB = (PFNGLVERTEXATTRIB4NSVARBPROC)load(\"glVertexAttrib4NsvARB\");\n\tglad_glVertexAttrib4NubARB = (PFNGLVERTEXATTRIB4NUBARBPROC)load(\"glVertexAttrib4NubARB\");\n\tglad_glVertexAttrib4NubvARB = (PFNGLVERTEXATTRIB4NUBVARBPROC)load(\"glVertexAttrib4NubvARB\");\n\tglad_glVertexAttrib4NuivARB = (PFNGLVERTEXATTRIB4NUIVARBPROC)load(\"glVertexAttrib4NuivARB\");\n\tglad_glVertexAttrib4NusvARB = (PFNGLVERTEXATTRIB4NUSVARBPROC)load(\"glVertexAttrib4NusvARB\");\n\tglad_glVertexAttrib4bvARB = (PFNGLVERTEXATTRIB4BVARBPROC)load(\"glVertexAttrib4bvARB\");\n\tglad_glVertexAttrib4dARB = (PFNGLVERTEXATTRIB4DARBPROC)load(\"glVertexAttrib4dARB\");\n\tglad_glVertexAttrib4dvARB = (PFNGLVERTEXATTRIB4DVARBPROC)load(\"glVertexAttrib4dvARB\");\n\tglad_glVertexAttrib4fARB = (PFNGLVERTEXATTRIB4FARBPROC)load(\"glVertexAttrib4fARB\");\n\tglad_glVertexAttrib4fvARB = (PFNGLVERTEXATTRIB4FVARBPROC)load(\"glVertexAttrib4fvARB\");\n\tglad_glVertexAttrib4ivARB = (PFNGLVERTEXATTRIB4IVARBPROC)load(\"glVertexAttrib4ivARB\");\n\tglad_glVertexAttrib4sARB = (PFNGLVERTEXATTRIB4SARBPROC)load(\"glVertexAttrib4sARB\");\n\tglad_glVertexAttrib4svARB = (PFNGLVERTEXATTRIB4SVARBPROC)load(\"glVertexAttrib4svARB\");\n\tglad_glVertexAttrib4ubvARB = (PFNGLVERTEXATTRIB4UBVARBPROC)load(\"glVertexAttrib4ubvARB\");\n\tglad_glVertexAttrib4uivARB = (PFNGLVERTEXATTRIB4UIVARBPROC)load(\"glVertexAttrib4uivARB\");\n\tglad_glVertexAttrib4usvARB = (PFNGLVERTEXATTRIB4USVARBPROC)load(\"glVertexAttrib4usvARB\");\n\tglad_glVertexAttribPointerARB = (PFNGLVERTEXATTRIBPOINTERARBPROC)load(\"glVertexAttribPointerARB\");\n\tglad_glEnableVertexAttribArrayARB = (PFNGLENABLEVERTEXATTRIBARRAYARBPROC)load(\"glEnableVertexAttribArrayARB\");\n\tglad_glDisableVertexAttribArrayARB = (PFNGLDISABLEVERTEXATTRIBARRAYARBPROC)load(\"glDisableVertexAttribArrayARB\");\n\tglad_glProgramStringARB = (PFNGLPROGRAMSTRINGARBPROC)load(\"glProgramStringARB\");\n\tglad_glBindProgramARB = (PFNGLBINDPROGRAMARBPROC)load(\"glBindProgramARB\");\n\tglad_glDeleteProgramsARB = (PFNGLDELETEPROGRAMSARBPROC)load(\"glDeleteProgramsARB\");\n\tglad_glGenProgramsARB = (PFNGLGENPROGRAMSARBPROC)load(\"glGenProgramsARB\");\n\tglad_glProgramEnvParameter4dARB = (PFNGLPROGRAMENVPARAMETER4DARBPROC)load(\"glProgramEnvParameter4dARB\");\n\tglad_glProgramEnvParameter4dvARB = (PFNGLPROGRAMENVPARAMETER4DVARBPROC)load(\"glProgramEnvParameter4dvARB\");\n\tglad_glProgramEnvParameter4fARB = (PFNGLPROGRAMENVPARAMETER4FARBPROC)load(\"glProgramEnvParameter4fARB\");\n\tglad_glProgramEnvParameter4fvARB = (PFNGLPROGRAMENVPARAMETER4FVARBPROC)load(\"glProgramEnvParameter4fvARB\");\n\tglad_glProgramLocalParameter4dARB = (PFNGLPROGRAMLOCALPARAMETER4DARBPROC)load(\"glProgramLocalParameter4dARB\");\n\tglad_glProgramLocalParameter4dvARB = (PFNGLPROGRAMLOCALPARAMETER4DVARBPROC)load(\"glProgramLocalParameter4dvARB\");\n\tglad_glProgramLocalParameter4fARB = (PFNGLPROGRAMLOCALPARAMETER4FARBPROC)load(\"glProgramLocalParameter4fARB\");\n\tglad_glProgramLocalParameter4fvARB = (PFNGLPROGRAMLOCALPARAMETER4FVARBPROC)load(\"glProgramLocalParameter4fvARB\");\n\tglad_glGetProgramEnvParameterdvARB = (PFNGLGETPROGRAMENVPARAMETERDVARBPROC)load(\"glGetProgramEnvParameterdvARB\");\n\tglad_glGetProgramEnvParameterfvARB = (PFNGLGETPROGRAMENVPARAMETERFVARBPROC)load(\"glGetProgramEnvParameterfvARB\");\n\tglad_glGetProgramLocalParameterdvARB = (PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC)load(\"glGetProgramLocalParameterdvARB\");\n\tglad_glGetProgramLocalParameterfvARB = (PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC)load(\"glGetProgramLocalParameterfvARB\");\n\tglad_glGetProgramivARB = (PFNGLGETPROGRAMIVARBPROC)load(\"glGetProgramivARB\");\n\tglad_glGetProgramStringARB = (PFNGLGETPROGRAMSTRINGARBPROC)load(\"glGetProgramStringARB\");\n\tglad_glGetVertexAttribdvARB = (PFNGLGETVERTEXATTRIBDVARBPROC)load(\"glGetVertexAttribdvARB\");\n\tglad_glGetVertexAttribfvARB = (PFNGLGETVERTEXATTRIBFVARBPROC)load(\"glGetVertexAttribfvARB\");\n\tglad_glGetVertexAttribivARB = (PFNGLGETVERTEXATTRIBIVARBPROC)load(\"glGetVertexAttribivARB\");\n\tglad_glGetVertexAttribPointervARB = (PFNGLGETVERTEXATTRIBPOINTERVARBPROC)load(\"glGetVertexAttribPointervARB\");\n\tglad_glIsProgramARB = (PFNGLISPROGRAMARBPROC)load(\"glIsProgramARB\");\n}\nstatic void load_GL_ARB_vertex_shader(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_vertex_shader) return;\n\tglad_glVertexAttrib1fARB = (PFNGLVERTEXATTRIB1FARBPROC)load(\"glVertexAttrib1fARB\");\n\tglad_glVertexAttrib1sARB = (PFNGLVERTEXATTRIB1SARBPROC)load(\"glVertexAttrib1sARB\");\n\tglad_glVertexAttrib1dARB = (PFNGLVERTEXATTRIB1DARBPROC)load(\"glVertexAttrib1dARB\");\n\tglad_glVertexAttrib2fARB = (PFNGLVERTEXATTRIB2FARBPROC)load(\"glVertexAttrib2fARB\");\n\tglad_glVertexAttrib2sARB = (PFNGLVERTEXATTRIB2SARBPROC)load(\"glVertexAttrib2sARB\");\n\tglad_glVertexAttrib2dARB = (PFNGLVERTEXATTRIB2DARBPROC)load(\"glVertexAttrib2dARB\");\n\tglad_glVertexAttrib3fARB = (PFNGLVERTEXATTRIB3FARBPROC)load(\"glVertexAttrib3fARB\");\n\tglad_glVertexAttrib3sARB = (PFNGLVERTEXATTRIB3SARBPROC)load(\"glVertexAttrib3sARB\");\n\tglad_glVertexAttrib3dARB = (PFNGLVERTEXATTRIB3DARBPROC)load(\"glVertexAttrib3dARB\");\n\tglad_glVertexAttrib4fARB = (PFNGLVERTEXATTRIB4FARBPROC)load(\"glVertexAttrib4fARB\");\n\tglad_glVertexAttrib4sARB = (PFNGLVERTEXATTRIB4SARBPROC)load(\"glVertexAttrib4sARB\");\n\tglad_glVertexAttrib4dARB = (PFNGLVERTEXATTRIB4DARBPROC)load(\"glVertexAttrib4dARB\");\n\tglad_glVertexAttrib4NubARB = (PFNGLVERTEXATTRIB4NUBARBPROC)load(\"glVertexAttrib4NubARB\");\n\tglad_glVertexAttrib1fvARB = (PFNGLVERTEXATTRIB1FVARBPROC)load(\"glVertexAttrib1fvARB\");\n\tglad_glVertexAttrib1svARB = (PFNGLVERTEXATTRIB1SVARBPROC)load(\"glVertexAttrib1svARB\");\n\tglad_glVertexAttrib1dvARB = (PFNGLVERTEXATTRIB1DVARBPROC)load(\"glVertexAttrib1dvARB\");\n\tglad_glVertexAttrib2fvARB = (PFNGLVERTEXATTRIB2FVARBPROC)load(\"glVertexAttrib2fvARB\");\n\tglad_glVertexAttrib2svARB = (PFNGLVERTEXATTRIB2SVARBPROC)load(\"glVertexAttrib2svARB\");\n\tglad_glVertexAttrib2dvARB = (PFNGLVERTEXATTRIB2DVARBPROC)load(\"glVertexAttrib2dvARB\");\n\tglad_glVertexAttrib3fvARB = (PFNGLVERTEXATTRIB3FVARBPROC)load(\"glVertexAttrib3fvARB\");\n\tglad_glVertexAttrib3svARB = (PFNGLVERTEXATTRIB3SVARBPROC)load(\"glVertexAttrib3svARB\");\n\tglad_glVertexAttrib3dvARB = (PFNGLVERTEXATTRIB3DVARBPROC)load(\"glVertexAttrib3dvARB\");\n\tglad_glVertexAttrib4fvARB = (PFNGLVERTEXATTRIB4FVARBPROC)load(\"glVertexAttrib4fvARB\");\n\tglad_glVertexAttrib4svARB = (PFNGLVERTEXATTRIB4SVARBPROC)load(\"glVertexAttrib4svARB\");\n\tglad_glVertexAttrib4dvARB = (PFNGLVERTEXATTRIB4DVARBPROC)load(\"glVertexAttrib4dvARB\");\n\tglad_glVertexAttrib4ivARB = (PFNGLVERTEXATTRIB4IVARBPROC)load(\"glVertexAttrib4ivARB\");\n\tglad_glVertexAttrib4bvARB = (PFNGLVERTEXATTRIB4BVARBPROC)load(\"glVertexAttrib4bvARB\");\n\tglad_glVertexAttrib4ubvARB = (PFNGLVERTEXATTRIB4UBVARBPROC)load(\"glVertexAttrib4ubvARB\");\n\tglad_glVertexAttrib4usvARB = (PFNGLVERTEXATTRIB4USVARBPROC)load(\"glVertexAttrib4usvARB\");\n\tglad_glVertexAttrib4uivARB = (PFNGLVERTEXATTRIB4UIVARBPROC)load(\"glVertexAttrib4uivARB\");\n\tglad_glVertexAttrib4NbvARB = (PFNGLVERTEXATTRIB4NBVARBPROC)load(\"glVertexAttrib4NbvARB\");\n\tglad_glVertexAttrib4NsvARB = (PFNGLVERTEXATTRIB4NSVARBPROC)load(\"glVertexAttrib4NsvARB\");\n\tglad_glVertexAttrib4NivARB = (PFNGLVERTEXATTRIB4NIVARBPROC)load(\"glVertexAttrib4NivARB\");\n\tglad_glVertexAttrib4NubvARB = (PFNGLVERTEXATTRIB4NUBVARBPROC)load(\"glVertexAttrib4NubvARB\");\n\tglad_glVertexAttrib4NusvARB = (PFNGLVERTEXATTRIB4NUSVARBPROC)load(\"glVertexAttrib4NusvARB\");\n\tglad_glVertexAttrib4NuivARB = (PFNGLVERTEXATTRIB4NUIVARBPROC)load(\"glVertexAttrib4NuivARB\");\n\tglad_glVertexAttribPointerARB = (PFNGLVERTEXATTRIBPOINTERARBPROC)load(\"glVertexAttribPointerARB\");\n\tglad_glEnableVertexAttribArrayARB = (PFNGLENABLEVERTEXATTRIBARRAYARBPROC)load(\"glEnableVertexAttribArrayARB\");\n\tglad_glDisableVertexAttribArrayARB = (PFNGLDISABLEVERTEXATTRIBARRAYARBPROC)load(\"glDisableVertexAttribArrayARB\");\n\tglad_glBindAttribLocationARB = (PFNGLBINDATTRIBLOCATIONARBPROC)load(\"glBindAttribLocationARB\");\n\tglad_glGetActiveAttribARB = (PFNGLGETACTIVEATTRIBARBPROC)load(\"glGetActiveAttribARB\");\n\tglad_glGetAttribLocationARB = (PFNGLGETATTRIBLOCATIONARBPROC)load(\"glGetAttribLocationARB\");\n\tglad_glGetVertexAttribdvARB = (PFNGLGETVERTEXATTRIBDVARBPROC)load(\"glGetVertexAttribdvARB\");\n\tglad_glGetVertexAttribfvARB = (PFNGLGETVERTEXATTRIBFVARBPROC)load(\"glGetVertexAttribfvARB\");\n\tglad_glGetVertexAttribivARB = (PFNGLGETVERTEXATTRIBIVARBPROC)load(\"glGetVertexAttribivARB\");\n\tglad_glGetVertexAttribPointervARB = (PFNGLGETVERTEXATTRIBPOINTERVARBPROC)load(\"glGetVertexAttribPointervARB\");\n}\nstatic void load_GL_ARB_vertex_type_2_10_10_10_rev(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_vertex_type_2_10_10_10_rev) return;\n\tglad_glVertexAttribP1ui = (PFNGLVERTEXATTRIBP1UIPROC)load(\"glVertexAttribP1ui\");\n\tglad_glVertexAttribP1uiv = (PFNGLVERTEXATTRIBP1UIVPROC)load(\"glVertexAttribP1uiv\");\n\tglad_glVertexAttribP2ui = (PFNGLVERTEXATTRIBP2UIPROC)load(\"glVertexAttribP2ui\");\n\tglad_glVertexAttribP2uiv = (PFNGLVERTEXATTRIBP2UIVPROC)load(\"glVertexAttribP2uiv\");\n\tglad_glVertexAttribP3ui = (PFNGLVERTEXATTRIBP3UIPROC)load(\"glVertexAttribP3ui\");\n\tglad_glVertexAttribP3uiv = (PFNGLVERTEXATTRIBP3UIVPROC)load(\"glVertexAttribP3uiv\");\n\tglad_glVertexAttribP4ui = (PFNGLVERTEXATTRIBP4UIPROC)load(\"glVertexAttribP4ui\");\n\tglad_glVertexAttribP4uiv = (PFNGLVERTEXATTRIBP4UIVPROC)load(\"glVertexAttribP4uiv\");\n\tglad_glVertexP2ui = (PFNGLVERTEXP2UIPROC)load(\"glVertexP2ui\");\n\tglad_glVertexP2uiv = (PFNGLVERTEXP2UIVPROC)load(\"glVertexP2uiv\");\n\tglad_glVertexP3ui = (PFNGLVERTEXP3UIPROC)load(\"glVertexP3ui\");\n\tglad_glVertexP3uiv = (PFNGLVERTEXP3UIVPROC)load(\"glVertexP3uiv\");\n\tglad_glVertexP4ui = (PFNGLVERTEXP4UIPROC)load(\"glVertexP4ui\");\n\tglad_glVertexP4uiv = (PFNGLVERTEXP4UIVPROC)load(\"glVertexP4uiv\");\n\tglad_glTexCoordP1ui = (PFNGLTEXCOORDP1UIPROC)load(\"glTexCoordP1ui\");\n\tglad_glTexCoordP1uiv = (PFNGLTEXCOORDP1UIVPROC)load(\"glTexCoordP1uiv\");\n\tglad_glTexCoordP2ui = (PFNGLTEXCOORDP2UIPROC)load(\"glTexCoordP2ui\");\n\tglad_glTexCoordP2uiv = (PFNGLTEXCOORDP2UIVPROC)load(\"glTexCoordP2uiv\");\n\tglad_glTexCoordP3ui = (PFNGLTEXCOORDP3UIPROC)load(\"glTexCoordP3ui\");\n\tglad_glTexCoordP3uiv = (PFNGLTEXCOORDP3UIVPROC)load(\"glTexCoordP3uiv\");\n\tglad_glTexCoordP4ui = (PFNGLTEXCOORDP4UIPROC)load(\"glTexCoordP4ui\");\n\tglad_glTexCoordP4uiv = (PFNGLTEXCOORDP4UIVPROC)load(\"glTexCoordP4uiv\");\n\tglad_glMultiTexCoordP1ui = (PFNGLMULTITEXCOORDP1UIPROC)load(\"glMultiTexCoordP1ui\");\n\tglad_glMultiTexCoordP1uiv = (PFNGLMULTITEXCOORDP1UIVPROC)load(\"glMultiTexCoordP1uiv\");\n\tglad_glMultiTexCoordP2ui = (PFNGLMULTITEXCOORDP2UIPROC)load(\"glMultiTexCoordP2ui\");\n\tglad_glMultiTexCoordP2uiv = (PFNGLMULTITEXCOORDP2UIVPROC)load(\"glMultiTexCoordP2uiv\");\n\tglad_glMultiTexCoordP3ui = (PFNGLMULTITEXCOORDP3UIPROC)load(\"glMultiTexCoordP3ui\");\n\tglad_glMultiTexCoordP3uiv = (PFNGLMULTITEXCOORDP3UIVPROC)load(\"glMultiTexCoordP3uiv\");\n\tglad_glMultiTexCoordP4ui = (PFNGLMULTITEXCOORDP4UIPROC)load(\"glMultiTexCoordP4ui\");\n\tglad_glMultiTexCoordP4uiv = (PFNGLMULTITEXCOORDP4UIVPROC)load(\"glMultiTexCoordP4uiv\");\n\tglad_glNormalP3ui = (PFNGLNORMALP3UIPROC)load(\"glNormalP3ui\");\n\tglad_glNormalP3uiv = (PFNGLNORMALP3UIVPROC)load(\"glNormalP3uiv\");\n\tglad_glColorP3ui = (PFNGLCOLORP3UIPROC)load(\"glColorP3ui\");\n\tglad_glColorP3uiv = (PFNGLCOLORP3UIVPROC)load(\"glColorP3uiv\");\n\tglad_glColorP4ui = (PFNGLCOLORP4UIPROC)load(\"glColorP4ui\");\n\tglad_glColorP4uiv = (PFNGLCOLORP4UIVPROC)load(\"glColorP4uiv\");\n\tglad_glSecondaryColorP3ui = (PFNGLSECONDARYCOLORP3UIPROC)load(\"glSecondaryColorP3ui\");\n\tglad_glSecondaryColorP3uiv = (PFNGLSECONDARYCOLORP3UIVPROC)load(\"glSecondaryColorP3uiv\");\n}\nstatic void load_GL_ARB_viewport_array(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_viewport_array) return;\n\tglad_glViewportArrayv = (PFNGLVIEWPORTARRAYVPROC)load(\"glViewportArrayv\");\n\tglad_glViewportIndexedf = (PFNGLVIEWPORTINDEXEDFPROC)load(\"glViewportIndexedf\");\n\tglad_glViewportIndexedfv = (PFNGLVIEWPORTINDEXEDFVPROC)load(\"glViewportIndexedfv\");\n\tglad_glScissorArrayv = (PFNGLSCISSORARRAYVPROC)load(\"glScissorArrayv\");\n\tglad_glScissorIndexed = (PFNGLSCISSORINDEXEDPROC)load(\"glScissorIndexed\");\n\tglad_glScissorIndexedv = (PFNGLSCISSORINDEXEDVPROC)load(\"glScissorIndexedv\");\n\tglad_glDepthRangeArrayv = (PFNGLDEPTHRANGEARRAYVPROC)load(\"glDepthRangeArrayv\");\n\tglad_glDepthRangeIndexed = (PFNGLDEPTHRANGEINDEXEDPROC)load(\"glDepthRangeIndexed\");\n\tglad_glGetFloati_v = (PFNGLGETFLOATI_VPROC)load(\"glGetFloati_v\");\n\tglad_glGetDoublei_v = (PFNGLGETDOUBLEI_VPROC)load(\"glGetDoublei_v\");\n}\nstatic void load_GL_ARB_window_pos(GLADloadproc load) {\n\tif(!GLAD_GL_ARB_window_pos) return;\n\tglad_glWindowPos2dARB = (PFNGLWINDOWPOS2DARBPROC)load(\"glWindowPos2dARB\");\n\tglad_glWindowPos2dvARB = (PFNGLWINDOWPOS2DVARBPROC)load(\"glWindowPos2dvARB\");\n\tglad_glWindowPos2fARB = (PFNGLWINDOWPOS2FARBPROC)load(\"glWindowPos2fARB\");\n\tglad_glWindowPos2fvARB = (PFNGLWINDOWPOS2FVARBPROC)load(\"glWindowPos2fvARB\");\n\tglad_glWindowPos2iARB = (PFNGLWINDOWPOS2IARBPROC)load(\"glWindowPos2iARB\");\n\tglad_glWindowPos2ivARB = (PFNGLWINDOWPOS2IVARBPROC)load(\"glWindowPos2ivARB\");\n\tglad_glWindowPos2sARB = (PFNGLWINDOWPOS2SARBPROC)load(\"glWindowPos2sARB\");\n\tglad_glWindowPos2svARB = (PFNGLWINDOWPOS2SVARBPROC)load(\"glWindowPos2svARB\");\n\tglad_glWindowPos3dARB = (PFNGLWINDOWPOS3DARBPROC)load(\"glWindowPos3dARB\");\n\tglad_glWindowPos3dvARB = (PFNGLWINDOWPOS3DVARBPROC)load(\"glWindowPos3dvARB\");\n\tglad_glWindowPos3fARB = (PFNGLWINDOWPOS3FARBPROC)load(\"glWindowPos3fARB\");\n\tglad_glWindowPos3fvARB = (PFNGLWINDOWPOS3FVARBPROC)load(\"glWindowPos3fvARB\");\n\tglad_glWindowPos3iARB = (PFNGLWINDOWPOS3IARBPROC)load(\"glWindowPos3iARB\");\n\tglad_glWindowPos3ivARB = (PFNGLWINDOWPOS3IVARBPROC)load(\"glWindowPos3ivARB\");\n\tglad_glWindowPos3sARB = (PFNGLWINDOWPOS3SARBPROC)load(\"glWindowPos3sARB\");\n\tglad_glWindowPos3svARB = (PFNGLWINDOWPOS3SVARBPROC)load(\"glWindowPos3svARB\");\n}\nstatic void load_GL_ATI_draw_buffers(GLADloadproc load) {\n\tif(!GLAD_GL_ATI_draw_buffers) return;\n\tglad_glDrawBuffersATI = (PFNGLDRAWBUFFERSATIPROC)load(\"glDrawBuffersATI\");\n}\nstatic void load_GL_ATI_element_array(GLADloadproc load) {\n\tif(!GLAD_GL_ATI_element_array) return;\n\tglad_glElementPointerATI = (PFNGLELEMENTPOINTERATIPROC)load(\"glElementPointerATI\");\n\tglad_glDrawElementArrayATI = (PFNGLDRAWELEMENTARRAYATIPROC)load(\"glDrawElementArrayATI\");\n\tglad_glDrawRangeElementArrayATI = (PFNGLDRAWRANGEELEMENTARRAYATIPROC)load(\"glDrawRangeElementArrayATI\");\n}\nstatic void load_GL_ATI_envmap_bumpmap(GLADloadproc load) {\n\tif(!GLAD_GL_ATI_envmap_bumpmap) return;\n\tglad_glTexBumpParameterivATI = (PFNGLTEXBUMPPARAMETERIVATIPROC)load(\"glTexBumpParameterivATI\");\n\tglad_glTexBumpParameterfvATI = (PFNGLTEXBUMPPARAMETERFVATIPROC)load(\"glTexBumpParameterfvATI\");\n\tglad_glGetTexBumpParameterivATI = (PFNGLGETTEXBUMPPARAMETERIVATIPROC)load(\"glGetTexBumpParameterivATI\");\n\tglad_glGetTexBumpParameterfvATI = (PFNGLGETTEXBUMPPARAMETERFVATIPROC)load(\"glGetTexBumpParameterfvATI\");\n}\nstatic void load_GL_ATI_fragment_shader(GLADloadproc load) {\n\tif(!GLAD_GL_ATI_fragment_shader) return;\n\tglad_glGenFragmentShadersATI = (PFNGLGENFRAGMENTSHADERSATIPROC)load(\"glGenFragmentShadersATI\");\n\tglad_glBindFragmentShaderATI = (PFNGLBINDFRAGMENTSHADERATIPROC)load(\"glBindFragmentShaderATI\");\n\tglad_glDeleteFragmentShaderATI = (PFNGLDELETEFRAGMENTSHADERATIPROC)load(\"glDeleteFragmentShaderATI\");\n\tglad_glBeginFragmentShaderATI = (PFNGLBEGINFRAGMENTSHADERATIPROC)load(\"glBeginFragmentShaderATI\");\n\tglad_glEndFragmentShaderATI = (PFNGLENDFRAGMENTSHADERATIPROC)load(\"glEndFragmentShaderATI\");\n\tglad_glPassTexCoordATI = (PFNGLPASSTEXCOORDATIPROC)load(\"glPassTexCoordATI\");\n\tglad_glSampleMapATI = (PFNGLSAMPLEMAPATIPROC)load(\"glSampleMapATI\");\n\tglad_glColorFragmentOp1ATI = (PFNGLCOLORFRAGMENTOP1ATIPROC)load(\"glColorFragmentOp1ATI\");\n\tglad_glColorFragmentOp2ATI = (PFNGLCOLORFRAGMENTOP2ATIPROC)load(\"glColorFragmentOp2ATI\");\n\tglad_glColorFragmentOp3ATI = (PFNGLCOLORFRAGMENTOP3ATIPROC)load(\"glColorFragmentOp3ATI\");\n\tglad_glAlphaFragmentOp1ATI = (PFNGLALPHAFRAGMENTOP1ATIPROC)load(\"glAlphaFragmentOp1ATI\");\n\tglad_glAlphaFragmentOp2ATI = (PFNGLALPHAFRAGMENTOP2ATIPROC)load(\"glAlphaFragmentOp2ATI\");\n\tglad_glAlphaFragmentOp3ATI = (PFNGLALPHAFRAGMENTOP3ATIPROC)load(\"glAlphaFragmentOp3ATI\");\n\tglad_glSetFragmentShaderConstantATI = (PFNGLSETFRAGMENTSHADERCONSTANTATIPROC)load(\"glSetFragmentShaderConstantATI\");\n}\nstatic void load_GL_ATI_map_object_buffer(GLADloadproc load) {\n\tif(!GLAD_GL_ATI_map_object_buffer) return;\n\tglad_glMapObjectBufferATI = (PFNGLMAPOBJECTBUFFERATIPROC)load(\"glMapObjectBufferATI\");\n\tglad_glUnmapObjectBufferATI = (PFNGLUNMAPOBJECTBUFFERATIPROC)load(\"glUnmapObjectBufferATI\");\n}\nstatic void load_GL_ATI_pn_triangles(GLADloadproc load) {\n\tif(!GLAD_GL_ATI_pn_triangles) return;\n\tglad_glPNTrianglesiATI = (PFNGLPNTRIANGLESIATIPROC)load(\"glPNTrianglesiATI\");\n\tglad_glPNTrianglesfATI = (PFNGLPNTRIANGLESFATIPROC)load(\"glPNTrianglesfATI\");\n}\nstatic void load_GL_ATI_separate_stencil(GLADloadproc load) {\n\tif(!GLAD_GL_ATI_separate_stencil) return;\n\tglad_glStencilOpSeparateATI = (PFNGLSTENCILOPSEPARATEATIPROC)load(\"glStencilOpSeparateATI\");\n\tglad_glStencilFuncSeparateATI = (PFNGLSTENCILFUNCSEPARATEATIPROC)load(\"glStencilFuncSeparateATI\");\n}\nstatic void load_GL_ATI_vertex_array_object(GLADloadproc load) {\n\tif(!GLAD_GL_ATI_vertex_array_object) return;\n\tglad_glNewObjectBufferATI = (PFNGLNEWOBJECTBUFFERATIPROC)load(\"glNewObjectBufferATI\");\n\tglad_glIsObjectBufferATI = (PFNGLISOBJECTBUFFERATIPROC)load(\"glIsObjectBufferATI\");\n\tglad_glUpdateObjectBufferATI = (PFNGLUPDATEOBJECTBUFFERATIPROC)load(\"glUpdateObjectBufferATI\");\n\tglad_glGetObjectBufferfvATI = (PFNGLGETOBJECTBUFFERFVATIPROC)load(\"glGetObjectBufferfvATI\");\n\tglad_glGetObjectBufferivATI = (PFNGLGETOBJECTBUFFERIVATIPROC)load(\"glGetObjectBufferivATI\");\n\tglad_glFreeObjectBufferATI = (PFNGLFREEOBJECTBUFFERATIPROC)load(\"glFreeObjectBufferATI\");\n\tglad_glArrayObjectATI = (PFNGLARRAYOBJECTATIPROC)load(\"glArrayObjectATI\");\n\tglad_glGetArrayObjectfvATI = (PFNGLGETARRAYOBJECTFVATIPROC)load(\"glGetArrayObjectfvATI\");\n\tglad_glGetArrayObjectivATI = (PFNGLGETARRAYOBJECTIVATIPROC)load(\"glGetArrayObjectivATI\");\n\tglad_glVariantArrayObjectATI = (PFNGLVARIANTARRAYOBJECTATIPROC)load(\"glVariantArrayObjectATI\");\n\tglad_glGetVariantArrayObjectfvATI = (PFNGLGETVARIANTARRAYOBJECTFVATIPROC)load(\"glGetVariantArrayObjectfvATI\");\n\tglad_glGetVariantArrayObjectivATI = (PFNGLGETVARIANTARRAYOBJECTIVATIPROC)load(\"glGetVariantArrayObjectivATI\");\n}\nstatic void load_GL_ATI_vertex_attrib_array_object(GLADloadproc load) {\n\tif(!GLAD_GL_ATI_vertex_attrib_array_object) return;\n\tglad_glVertexAttribArrayObjectATI = (PFNGLVERTEXATTRIBARRAYOBJECTATIPROC)load(\"glVertexAttribArrayObjectATI\");\n\tglad_glGetVertexAttribArrayObjectfvATI = (PFNGLGETVERTEXATTRIBARRAYOBJECTFVATIPROC)load(\"glGetVertexAttribArrayObjectfvATI\");\n\tglad_glGetVertexAttribArrayObjectivATI = (PFNGLGETVERTEXATTRIBARRAYOBJECTIVATIPROC)load(\"glGetVertexAttribArrayObjectivATI\");\n}\nstatic void load_GL_ATI_vertex_streams(GLADloadproc load) {\n\tif(!GLAD_GL_ATI_vertex_streams) return;\n\tglad_glVertexStream1sATI = (PFNGLVERTEXSTREAM1SATIPROC)load(\"glVertexStream1sATI\");\n\tglad_glVertexStream1svATI = (PFNGLVERTEXSTREAM1SVATIPROC)load(\"glVertexStream1svATI\");\n\tglad_glVertexStream1iATI = (PFNGLVERTEXSTREAM1IATIPROC)load(\"glVertexStream1iATI\");\n\tglad_glVertexStream1ivATI = (PFNGLVERTEXSTREAM1IVATIPROC)load(\"glVertexStream1ivATI\");\n\tglad_glVertexStream1fATI = (PFNGLVERTEXSTREAM1FATIPROC)load(\"glVertexStream1fATI\");\n\tglad_glVertexStream1fvATI = (PFNGLVERTEXSTREAM1FVATIPROC)load(\"glVertexStream1fvATI\");\n\tglad_glVertexStream1dATI = (PFNGLVERTEXSTREAM1DATIPROC)load(\"glVertexStream1dATI\");\n\tglad_glVertexStream1dvATI = (PFNGLVERTEXSTREAM1DVATIPROC)load(\"glVertexStream1dvATI\");\n\tglad_glVertexStream2sATI = (PFNGLVERTEXSTREAM2SATIPROC)load(\"glVertexStream2sATI\");\n\tglad_glVertexStream2svATI = (PFNGLVERTEXSTREAM2SVATIPROC)load(\"glVertexStream2svATI\");\n\tglad_glVertexStream2iATI = (PFNGLVERTEXSTREAM2IATIPROC)load(\"glVertexStream2iATI\");\n\tglad_glVertexStream2ivATI = (PFNGLVERTEXSTREAM2IVATIPROC)load(\"glVertexStream2ivATI\");\n\tglad_glVertexStream2fATI = (PFNGLVERTEXSTREAM2FATIPROC)load(\"glVertexStream2fATI\");\n\tglad_glVertexStream2fvATI = (PFNGLVERTEXSTREAM2FVATIPROC)load(\"glVertexStream2fvATI\");\n\tglad_glVertexStream2dATI = (PFNGLVERTEXSTREAM2DATIPROC)load(\"glVertexStream2dATI\");\n\tglad_glVertexStream2dvATI = (PFNGLVERTEXSTREAM2DVATIPROC)load(\"glVertexStream2dvATI\");\n\tglad_glVertexStream3sATI = (PFNGLVERTEXSTREAM3SATIPROC)load(\"glVertexStream3sATI\");\n\tglad_glVertexStream3svATI = (PFNGLVERTEXSTREAM3SVATIPROC)load(\"glVertexStream3svATI\");\n\tglad_glVertexStream3iATI = (PFNGLVERTEXSTREAM3IATIPROC)load(\"glVertexStream3iATI\");\n\tglad_glVertexStream3ivATI = (PFNGLVERTEXSTREAM3IVATIPROC)load(\"glVertexStream3ivATI\");\n\tglad_glVertexStream3fATI = (PFNGLVERTEXSTREAM3FATIPROC)load(\"glVertexStream3fATI\");\n\tglad_glVertexStream3fvATI = (PFNGLVERTEXSTREAM3FVATIPROC)load(\"glVertexStream3fvATI\");\n\tglad_glVertexStream3dATI = (PFNGLVERTEXSTREAM3DATIPROC)load(\"glVertexStream3dATI\");\n\tglad_glVertexStream3dvATI = (PFNGLVERTEXSTREAM3DVATIPROC)load(\"glVertexStream3dvATI\");\n\tglad_glVertexStream4sATI = (PFNGLVERTEXSTREAM4SATIPROC)load(\"glVertexStream4sATI\");\n\tglad_glVertexStream4svATI = (PFNGLVERTEXSTREAM4SVATIPROC)load(\"glVertexStream4svATI\");\n\tglad_glVertexStream4iATI = (PFNGLVERTEXSTREAM4IATIPROC)load(\"glVertexStream4iATI\");\n\tglad_glVertexStream4ivATI = (PFNGLVERTEXSTREAM4IVATIPROC)load(\"glVertexStream4ivATI\");\n\tglad_glVertexStream4fATI = (PFNGLVERTEXSTREAM4FATIPROC)load(\"glVertexStream4fATI\");\n\tglad_glVertexStream4fvATI = (PFNGLVERTEXSTREAM4FVATIPROC)load(\"glVertexStream4fvATI\");\n\tglad_glVertexStream4dATI = (PFNGLVERTEXSTREAM4DATIPROC)load(\"glVertexStream4dATI\");\n\tglad_glVertexStream4dvATI = (PFNGLVERTEXSTREAM4DVATIPROC)load(\"glVertexStream4dvATI\");\n\tglad_glNormalStream3bATI = (PFNGLNORMALSTREAM3BATIPROC)load(\"glNormalStream3bATI\");\n\tglad_glNormalStream3bvATI = (PFNGLNORMALSTREAM3BVATIPROC)load(\"glNormalStream3bvATI\");\n\tglad_glNormalStream3sATI = (PFNGLNORMALSTREAM3SATIPROC)load(\"glNormalStream3sATI\");\n\tglad_glNormalStream3svATI = (PFNGLNORMALSTREAM3SVATIPROC)load(\"glNormalStream3svATI\");\n\tglad_glNormalStream3iATI = (PFNGLNORMALSTREAM3IATIPROC)load(\"glNormalStream3iATI\");\n\tglad_glNormalStream3ivATI = (PFNGLNORMALSTREAM3IVATIPROC)load(\"glNormalStream3ivATI\");\n\tglad_glNormalStream3fATI = (PFNGLNORMALSTREAM3FATIPROC)load(\"glNormalStream3fATI\");\n\tglad_glNormalStream3fvATI = (PFNGLNORMALSTREAM3FVATIPROC)load(\"glNormalStream3fvATI\");\n\tglad_glNormalStream3dATI = (PFNGLNORMALSTREAM3DATIPROC)load(\"glNormalStream3dATI\");\n\tglad_glNormalStream3dvATI = (PFNGLNORMALSTREAM3DVATIPROC)load(\"glNormalStream3dvATI\");\n\tglad_glClientActiveVertexStreamATI = (PFNGLCLIENTACTIVEVERTEXSTREAMATIPROC)load(\"glClientActiveVertexStreamATI\");\n\tglad_glVertexBlendEnviATI = (PFNGLVERTEXBLENDENVIATIPROC)load(\"glVertexBlendEnviATI\");\n\tglad_glVertexBlendEnvfATI = (PFNGLVERTEXBLENDENVFATIPROC)load(\"glVertexBlendEnvfATI\");\n}\nstatic void load_GL_EXT_bindable_uniform(GLADloadproc load) {\n\tif(!GLAD_GL_EXT_bindable_uniform) return;\n\tglad_glUniformBufferEXT = (PFNGLUNIFORMBUFFEREXTPROC)load(\"glUniformBufferEXT\");\n\tglad_glGetUniformBufferSizeEXT = (PFNGLGETUNIFORMBUFFERSIZEEXTPROC)load(\"glGetUniformBufferSizeEXT\");\n\tglad_glGetUniformOffsetEXT = (PFNGLGETUNIFORMOFFSETEXTPROC)load(\"glGetUniformOffsetEXT\");\n}\nstatic void load_GL_EXT_blend_color(GLADloadproc load) {\n\tif(!GLAD_GL_EXT_blend_color) return;\n\tglad_glBlendColorEXT = (PFNGLBLENDCOLOREXTPROC)load(\"glBlendColorEXT\");\n}\nstatic void load_GL_EXT_blend_equation_separate(GLADloadproc load) {\n\tif(!GLAD_GL_EXT_blend_equation_separate) return;\n\tglad_glBlendEquationSeparateEXT = (PFNGLBLENDEQUATIONSEPARATEEXTPROC)load(\"glBlendEquationSeparateEXT\");\n}\nstatic void load_GL_EXT_blend_func_separate(GLADloadproc load) {\n\tif(!GLAD_GL_EXT_blend_func_separate) return;\n\tglad_glBlendFuncSeparateEXT = (PFNGLBLENDFUNCSEPARATEEXTPROC)load(\"glBlendFuncSeparateEXT\");\n}\nstatic void load_GL_EXT_blend_minmax(GLADloadproc load) {\n\tif(!GLAD_GL_EXT_blend_minmax) return;\n\tglad_glBlendEquationEXT = (PFNGLBLENDEQUATIONEXTPROC)load(\"glBlendEquationEXT\");\n}\nstatic void load_GL_EXT_color_subtable(GLADloadproc load) {\n\tif(!GLAD_GL_EXT_color_subtable) return;\n\tglad_glColorSubTableEXT = (PFNGLCOLORSUBTABLEEXTPROC)load(\"glColorSubTableEXT\");\n\tglad_glCopyColorSubTableEXT = (PFNGLCOPYCOLORSUBTABLEEXTPROC)load(\"glCopyColorSubTableEXT\");\n}\nstatic void load_GL_EXT_compiled_vertex_array(GLADloadproc load) {\n\tif(!GLAD_GL_EXT_compiled_vertex_array) return;\n\tglad_glLockArraysEXT = (PFNGLLOCKARRAYSEXTPROC)load(\"glLockArraysEXT\");\n\tglad_glUnlockArraysEXT = (PFNGLUNLOCKARRAYSEXTPROC)load(\"glUnlockArraysEXT\");\n}\nstatic void load_GL_EXT_convolution(GLADloadproc load) {\n\tif(!GLAD_GL_EXT_convolution) return;\n\tglad_glConvolutionFilter1DEXT = (PFNGLCONVOLUTIONFILTER1DEXTPROC)load(\"glConvolutionFilter1DEXT\");\n\tglad_glConvolutionFilter2DEXT = (PFNGLCONVOLUTIONFILTER2DEXTPROC)load(\"glConvolutionFilter2DEXT\");\n\tglad_glConvolutionParameterfEXT = (PFNGLCONVOLUTIONPARAMETERFEXTPROC)load(\"glConvolutionParameterfEXT\");\n\tglad_glConvolutionParameterfvEXT = (PFNGLCONVOLUTIONPARAMETERFVEXTPROC)load(\"glConvolutionParameterfvEXT\");\n\tglad_glConvolutionParameteriEXT = (PFNGLCONVOLUTIONPARAMETERIEXTPROC)load(\"glConvolutionParameteriEXT\");\n\tglad_glConvolutionParameterivEXT = (PFNGLCONVOLUTIONPARAMETERIVEXTPROC)load(\"glConvolutionParameterivEXT\");\n\tglad_glCopyConvolutionFilter1DEXT = (PFNGLCOPYCONVOLUTIONFILTER1DEXTPROC)load(\"glCopyConvolutionFilter1DEXT\");\n\tglad_glCopyConvolutionFilter2DEXT = (PFNGLCOPYCONVOLUTIONFILTER2DEXTPROC)load(\"glCopyConvolutionFilter2DEXT\");\n\tglad_glGetConvolutionFilterEXT = (PFNGLGETCONVOLUTIONFILTEREXTPROC)load(\"glGetConvolutionFilterEXT\");\n\tglad_glGetConvolutionParameterfvEXT = (PFNGLGETCONVOLUTIONPARAMETERFVEXTPROC)load(\"glGetConvolutionParameterfvEXT\");\n\tglad_glGetConvolutionParameterivEXT = (PFNGLGETCONVOLUTIONPARAMETERIVEXTPROC)load(\"glGetConvolutionParameterivEXT\");\n\tglad_glGetSeparableFilterEXT = (PFNGLGETSEPARABLEFILTEREXTPROC)load(\"glGetSeparableFilterEXT\");\n\tglad_glSeparableFilter2DEXT = (PFNGLSEPARABLEFILTER2DEXTPROC)load(\"glSeparableFilter2DEXT\");\n}\nstatic void load_GL_EXT_coordinate_frame(GLADloadproc load) {\n\tif(!GLAD_GL_EXT_coordinate_frame) return;\n\tglad_glTangent3bEXT = (PFNGLTANGENT3BEXTPROC)load(\"glTangent3bEXT\");\n\tglad_glTangent3bvEXT = (PFNGLTANGENT3BVEXTPROC)load(\"glTangent3bvEXT\");\n\tglad_glTangent3dEXT = (PFNGLTANGENT3DEXTPROC)load(\"glTangent3dEXT\");\n\tglad_glTangent3dvEXT = (PFNGLTANGENT3DVEXTPROC)load(\"glTangent3dvEXT\");\n\tglad_glTangent3fEXT = (PFNGLTANGENT3FEXTPROC)load(\"glTangent3fEXT\");\n\tglad_glTangent3fvEXT = (PFNGLTANGENT3FVEXTPROC)load(\"glTangent3fvEXT\");\n\tglad_glTangent3iEXT = (PFNGLTANGENT3IEXTPROC)load(\"glTangent3iEXT\");\n\tglad_glTangent3ivEXT = (PFNGLTANGENT3IVEXTPROC)load(\"glTangent3ivEXT\");\n\tglad_glTangent3sEXT = (PFNGLTANGENT3SEXTPROC)load(\"glTangent3sEXT\");\n\tglad_glTangent3svEXT = (PFNGLTANGENT3SVEXTPROC)load(\"glTangent3svEXT\");\n\tglad_glBinormal3bEXT = (PFNGLBINORMAL3BEXTPROC)load(\"glBinormal3bEXT\");\n\tglad_glBinormal3bvEXT = (PFNGLBINORMAL3BVEXTPROC)load(\"glBinormal3bvEXT\");\n\tglad_glBinormal3dEXT = (PFNGLBINORMAL3DEXTPROC)load(\"glBinormal3dEXT\");\n\tglad_glBinormal3dvEXT = (PFNGLBINORMAL3DVEXTPROC)load(\"glBinormal3dvEXT\");\n\tglad_glBinormal3fEXT = (PFNGLBINORMAL3FEXTPROC)load(\"glBinormal3fEXT\");\n\tglad_glBinormal3fvEXT = (PFNGLBINORMAL3FVEXTPROC)load(\"glBinormal3fvEXT\");\n\tglad_glBinormal3iEXT = (PFNGLBINORMAL3IEXTPROC)load(\"glBinormal3iEXT\");\n\tglad_glBinormal3ivEXT = (PFNGLBINORMAL3IVEXTPROC)load(\"glBinormal3ivEXT\");\n\tglad_glBinormal3sEXT = (PFNGLBINORMAL3SEXTPROC)load(\"glBinormal3sEXT\");\n\tglad_glBinormal3svEXT = (PFNGLBINORMAL3SVEXTPROC)load(\"glBinormal3svEXT\");\n\tglad_glTangentPointerEXT = (PFNGLTANGENTPOINTEREXTPROC)load(\"glTangentPointerEXT\");\n\tglad_glBinormalPointerEXT = (PFNGLBINORMALPOINTEREXTPROC)load(\"glBinormalPointerEXT\");\n}\nstatic void load_GL_EXT_copy_texture(GLADloadproc load) {\n\tif(!GLAD_GL_EXT_copy_texture) return;\n\tglad_glCopyTexImage1DEXT = (PFNGLCOPYTEXIMAGE1DEXTPROC)load(\"glCopyTexImage1DEXT\");\n\tglad_glCopyTexImage2DEXT = (PFNGLCOPYTEXIMAGE2DEXTPROC)load(\"glCopyTexImage2DEXT\");\n\tglad_glCopyTexSubImage1DEXT = (PFNGLCOPYTEXSUBIMAGE1DEXTPROC)load(\"glCopyTexSubImage1DEXT\");\n\tglad_glCopyTexSubImage2DEXT = (PFNGLCOPYTEXSUBIMAGE2DEXTPROC)load(\"glCopyTexSubImage2DEXT\");\n\tglad_glCopyTexSubImage3DEXT = (PFNGLCOPYTEXSUBIMAGE3DEXTPROC)load(\"glCopyTexSubImage3DEXT\");\n}\nstatic void load_GL_EXT_cull_vertex(GLADloadproc load) {\n\tif(!GLAD_GL_EXT_cull_vertex) return;\n\tglad_glCullParameterdvEXT = (PFNGLCULLPARAMETERDVEXTPROC)load(\"glCullParameterdvEXT\");\n\tglad_glCullParameterfvEXT = (PFNGLCULLPARAMETERFVEXTPROC)load(\"glCullParameterfvEXT\");\n}\nstatic void load_GL_EXT_debug_label(GLADloadproc load) {\n\tif(!GLAD_GL_EXT_debug_label) return;\n\tglad_glLabelObjectEXT = (PFNGLLABELOBJECTEXTPROC)load(\"glLabelObjectEXT\");\n\tglad_glGetObjectLabelEXT = (PFNGLGETOBJECTLABELEXTPROC)load(\"glGetObjectLabelEXT\");\n}\nstatic void load_GL_EXT_debug_marker(GLADloadproc load) {\n\tif(!GLAD_GL_EXT_debug_marker) return;\n\tglad_glInsertEventMarkerEXT = (PFNGLINSERTEVENTMARKEREXTPROC)load(\"glInsertEventMarkerEXT\");\n\tglad_glPushGroupMarkerEXT = (PFNGLPUSHGROUPMARKEREXTPROC)load(\"glPushGroupMarkerEXT\");\n\tglad_glPopGroupMarkerEXT = (PFNGLPOPGROUPMARKEREXTPROC)load(\"glPopGroupMarkerEXT\");\n}\nstatic void load_GL_EXT_depth_bounds_test(GLADloadproc load) {\n\tif(!GLAD_GL_EXT_depth_bounds_test) return;\n\tglad_glDepthBoundsEXT = (PFNGLDEPTHBOUNDSEXTPROC)load(\"glDepthBoundsEXT\");\n}\nstatic void load_GL_EXT_direct_state_access(GLADloadproc load) {\n\tif(!GLAD_GL_EXT_direct_state_access) return;\n\tglad_glMatrixLoadfEXT = (PFNGLMATRIXLOADFEXTPROC)load(\"glMatrixLoadfEXT\");\n\tglad_glMatrixLoaddEXT = (PFNGLMATRIXLOADDEXTPROC)load(\"glMatrixLoaddEXT\");\n\tglad_glMatrixMultfEXT = (PFNGLMATRIXMULTFEXTPROC)load(\"glMatrixMultfEXT\");\n\tglad_glMatrixMultdEXT = (PFNGLMATRIXMULTDEXTPROC)load(\"glMatrixMultdEXT\");\n\tglad_glMatrixLoadIdentityEXT = (PFNGLMATRIXLOADIDENTITYEXTPROC)load(\"glMatrixLoadIdentityEXT\");\n\tglad_glMatrixRotatefEXT = (PFNGLMATRIXROTATEFEXTPROC)load(\"glMatrixRotatefEXT\");\n\tglad_glMatrixRotatedEXT = (PFNGLMATRIXROTATEDEXTPROC)load(\"glMatrixRotatedEXT\");\n\tglad_glMatrixScalefEXT = (PFNGLMATRIXSCALEFEXTPROC)load(\"glMatrixScalefEXT\");\n\tglad_glMatrixScaledEXT = (PFNGLMATRIXSCALEDEXTPROC)load(\"glMatrixScaledEXT\");\n\tglad_glMatrixTranslatefEXT = (PFNGLMATRIXTRANSLATEFEXTPROC)load(\"glMatrixTranslatefEXT\");\n\tglad_glMatrixTranslatedEXT = (PFNGLMATRIXTRANSLATEDEXTPROC)load(\"glMatrixTranslatedEXT\");\n\tglad_glMatrixFrustumEXT = (PFNGLMATRIXFRUSTUMEXTPROC)load(\"glMatrixFrustumEXT\");\n\tglad_glMatrixOrthoEXT = (PFNGLMATRIXORTHOEXTPROC)load(\"glMatrixOrthoEXT\");\n\tglad_glMatrixPopEXT = (PFNGLMATRIXPOPEXTPROC)load(\"glMatrixPopEXT\");\n\tglad_glMatrixPushEXT = (PFNGLMATRIXPUSHEXTPROC)load(\"glMatrixPushEXT\");\n\tglad_glClientAttribDefaultEXT = (PFNGLCLIENTATTRIBDEFAULTEXTPROC)load(\"glClientAttribDefaultEXT\");\n\tglad_glPushClientAttribDefaultEXT = (PFNGLPUSHCLIENTATTRIBDEFAULTEXTPROC)load(\"glPushClientAttribDefaultEXT\");\n\tglad_glTextureParameterfEXT = (PFNGLTEXTUREPARAMETERFEXTPROC)load(\"glTextureParameterfEXT\");\n\tglad_glTextureParameterfvEXT = (PFNGLTEXTUREPARAMETERFVEXTPROC)load(\"glTextureParameterfvEXT\");\n\tglad_glTextureParameteriEXT = (PFNGLTEXTUREPARAMETERIEXTPROC)load(\"glTextureParameteriEXT\");\n\tglad_glTextureParameterivEXT = (PFNGLTEXTUREPARAMETERIVEXTPROC)load(\"glTextureParameterivEXT\");\n\tglad_glTextureImage1DEXT = (PFNGLTEXTUREIMAGE1DEXTPROC)load(\"glTextureImage1DEXT\");\n\tglad_glTextureImage2DEXT = (PFNGLTEXTUREIMAGE2DEXTPROC)load(\"glTextureImage2DEXT\");\n\tglad_glTextureSubImage1DEXT = (PFNGLTEXTURESUBIMAGE1DEXTPROC)load(\"glTextureSubImage1DEXT\");\n\tglad_glTextureSubImage2DEXT = (PFNGLTEXTURESUBIMAGE2DEXTPROC)load(\"glTextureSubImage2DEXT\");\n\tglad_glCopyTextureImage1DEXT = (PFNGLCOPYTEXTUREIMAGE1DEXTPROC)load(\"glCopyTextureImage1DEXT\");\n\tglad_glCopyTextureImage2DEXT = (PFNGLCOPYTEXTUREIMAGE2DEXTPROC)load(\"glCopyTextureImage2DEXT\");\n\tglad_glCopyTextureSubImage1DEXT = (PFNGLCOPYTEXTURESUBIMAGE1DEXTPROC)load(\"glCopyTextureSubImage1DEXT\");\n\tglad_glCopyTextureSubImage2DEXT = (PFNGLCOPYTEXTURESUBIMAGE2DEXTPROC)load(\"glCopyTextureSubImage2DEXT\");\n\tglad_glGetTextureImageEXT = (PFNGLGETTEXTUREIMAGEEXTPROC)load(\"glGetTextureImageEXT\");\n\tglad_glGetTextureParameterfvEXT = (PFNGLGETTEXTUREPARAMETERFVEXTPROC)load(\"glGetTextureParameterfvEXT\");\n\tglad_glGetTextureParameterivEXT = (PFNGLGETTEXTUREPARAMETERIVEXTPROC)load(\"glGetTextureParameterivEXT\");\n\tglad_glGetTextureLevelParameterfvEXT = (PFNGLGETTEXTURELEVELPARAMETERFVEXTPROC)load(\"glGetTextureLevelParameterfvEXT\");\n\tglad_glGetTextureLevelParameterivEXT = (PFNGLGETTEXTURELEVELPARAMETERIVEXTPROC)load(\"glGetTextureLevelParameterivEXT\");\n\tglad_glTextureImage3DEXT = (PFNGLTEXTUREIMAGE3DEXTPROC)load(\"glTextureImage3DEXT\");\n\tglad_glTextureSubImage3DEXT = (PFNGLTEXTURESUBIMAGE3DEXTPROC)load(\"glTextureSubImage3DEXT\");\n\tglad_glCopyTextureSubImage3DEXT = (PFNGLCOPYTEXTURESUBIMAGE3DEXTPROC)load(\"glCopyTextureSubImage3DEXT\");\n\tglad_glBindMultiTextureEXT = (PFNGLBINDMULTITEXTUREEXTPROC)load(\"glBindMultiTextureEXT\");\n\tglad_glMultiTexCoordPointerEXT = (PFNGLMULTITEXCOORDPOINTEREXTPROC)load(\"glMultiTexCoordPointerEXT\");\n\tglad_glMultiTexEnvfEXT = (PFNGLMULTITEXENVFEXTPROC)load(\"glMultiTexEnvfEXT\");\n\tglad_glMultiTexEnvfvEXT = (PFNGLMULTITEXENVFVEXTPROC)load(\"glMultiTexEnvfvEXT\");\n\tglad_glMultiTexEnviEXT = (PFNGLMULTITEXENVIEXTPROC)load(\"glMultiTexEnviEXT\");\n\tglad_glMultiTexEnvivEXT = (PFNGLMULTITEXENVIVEXTPROC)load(\"glMultiTexEnvivEXT\");\n\tglad_glMultiTexGendEXT = (PFNGLMULTITEXGENDEXTPROC)load(\"glMultiTexGendEXT\");\n\tglad_glMultiTexGendvEXT = (PFNGLMULTITEXGENDVEXTPROC)load(\"glMultiTexGendvEXT\");\n\tglad_glMultiTexGenfEXT = (PFNGLMULTITEXGENFEXTPROC)load(\"glMultiTexGenfEXT\");\n\tglad_glMultiTexGenfvEXT = (PFNGLMULTITEXGENFVEXTPROC)load(\"glMultiTexGenfvEXT\");\n\tglad_glMultiTexGeniEXT = (PFNGLMULTITEXGENIEXTPROC)load(\"glMultiTexGeniEXT\");\n\tglad_glMultiTexGenivEXT = (PFNGLMULTITEXGENIVEXTPROC)load(\"glMultiTexGenivEXT\");\n\tglad_glGetMultiTexEnvfvEXT = (PFNGLGETMULTITEXENVFVEXTPROC)load(\"glGetMultiTexEnvfvEXT\");\n\tglad_glGetMultiTexEnvivEXT = (PFNGLGETMULTITEXENVIVEXTPROC)load(\"glGetMultiTexEnvivEXT\");\n\tglad_glGetMultiTexGendvEXT = (PFNGLGETMULTITEXGENDVEXTPROC)load(\"glGetMultiTexGendvEXT\");\n\tglad_glGetMultiTexGenfvEXT = (PFNGLGETMULTITEXGENFVEXTPROC)load(\"glGetMultiTexGenfvEXT\");\n\tglad_glGetMultiTexGenivEXT = (PFNGLGETMULTITEXGENIVEXTPROC)load(\"glGetMultiTexGenivEXT\");\n\tglad_glMultiTexParameteriEXT = (PFNGLMULTITEXPARAMETERIEXTPROC)load(\"glMultiTexParameteriEXT\");\n\tglad_glMultiTexParameterivEXT = (PFNGLMULTITEXPARAMETERIVEXTPROC)load(\"glMultiTexParameterivEXT\");\n\tglad_glMultiTexParameterfEXT = (PFNGLMULTITEXPARAMETERFEXTPROC)load(\"glMultiTexParameterfEXT\");\n\tglad_glMultiTexParameterfvEXT = (PFNGLMULTITEXPARAMETERFVEXTPROC)load(\"glMultiTexParameterfvEXT\");\n\tglad_glMultiTexImage1DEXT = (PFNGLMULTITEXIMAGE1DEXTPROC)load(\"glMultiTexImage1DEXT\");\n\tglad_glMultiTexImage2DEXT = (PFNGLMULTITEXIMAGE2DEXTPROC)load(\"glMultiTexImage2DEXT\");\n\tglad_glMultiTexSubImage1DEXT = (PFNGLMULTITEXSUBIMAGE1DEXTPROC)load(\"glMultiTexSubImage1DEXT\");\n\tglad_glMultiTexSubImage2DEXT = (PFNGLMULTITEXSUBIMAGE2DEXTPROC)load(\"glMultiTexSubImage2DEXT\");\n\tglad_glCopyMultiTexImage1DEXT = (PFNGLCOPYMULTITEXIMAGE1DEXTPROC)load(\"glCopyMultiTexImage1DEXT\");\n\tglad_glCopyMultiTexImage2DEXT = (PFNGLCOPYMULTITEXIMAGE2DEXTPROC)load(\"glCopyMultiTexImage2DEXT\");\n\tglad_glCopyMultiTexSubImage1DEXT = (PFNGLCOPYMULTITEXSUBIMAGE1DEXTPROC)load(\"glCopyMultiTexSubImage1DEXT\");\n\tglad_glCopyMultiTexSubImage2DEXT = (PFNGLCOPYMULTITEXSUBIMAGE2DEXTPROC)load(\"glCopyMultiTexSubImage2DEXT\");\n\tglad_glGetMultiTexImageEXT = (PFNGLGETMULTITEXIMAGEEXTPROC)load(\"glGetMultiTexImageEXT\");\n\tglad_glGetMultiTexParameterfvEXT = (PFNGLGETMULTITEXPARAMETERFVEXTPROC)load(\"glGetMultiTexParameterfvEXT\");\n\tglad_glGetMultiTexParameterivEXT = (PFNGLGETMULTITEXPARAMETERIVEXTPROC)load(\"glGetMultiTexParameterivEXT\");\n\tglad_glGetMultiTexLevelParameterfvEXT = (PFNGLGETMULTITEXLEVELPARAMETERFVEXTPROC)load(\"glGetMultiTexLevelParameterfvEXT\");\n\tglad_glGetMultiTexLevelParameterivEXT = (PFNGLGETMULTITEXLEVELPARAMETERIVEXTPROC)load(\"glGetMultiTexLevelParameterivEXT\");\n\tglad_glMultiTexImage3DEXT = (PFNGLMULTITEXIMAGE3DEXTPROC)load(\"glMultiTexImage3DEXT\");\n\tglad_glMultiTexSubImage3DEXT = (PFNGLMULTITEXSUBIMAGE3DEXTPROC)load(\"glMultiTexSubImage3DEXT\");\n\tglad_glCopyMultiTexSubImage3DEXT = (PFNGLCOPYMULTITEXSUBIMAGE3DEXTPROC)load(\"glCopyMultiTexSubImage3DEXT\");\n\tglad_glEnableClientStateIndexedEXT = (PFNGLENABLECLIENTSTATEINDEXEDEXTPROC)load(\"glEnableClientStateIndexedEXT\");\n\tglad_glDisableClientStateIndexedEXT = (PFNGLDISABLECLIENTSTATEINDEXEDEXTPROC)load(\"glDisableClientStateIndexedEXT\");\n\tglad_glGetFloatIndexedvEXT = (PFNGLGETFLOATINDEXEDVEXTPROC)load(\"glGetFloatIndexedvEXT\");\n\tglad_glGetDoubleIndexedvEXT = (PFNGLGETDOUBLEINDEXEDVEXTPROC)load(\"glGetDoubleIndexedvEXT\");\n\tglad_glGetPointerIndexedvEXT = (PFNGLGETPOINTERINDEXEDVEXTPROC)load(\"glGetPointerIndexedvEXT\");\n\tglad_glEnableIndexedEXT = (PFNGLENABLEINDEXEDEXTPROC)load(\"glEnableIndexedEXT\");\n\tglad_glDisableIndexedEXT = (PFNGLDISABLEINDEXEDEXTPROC)load(\"glDisableIndexedEXT\");\n\tglad_glIsEnabledIndexedEXT = (PFNGLISENABLEDINDEXEDEXTPROC)load(\"glIsEnabledIndexedEXT\");\n\tglad_glGetIntegerIndexedvEXT = (PFNGLGETINTEGERINDEXEDVEXTPROC)load(\"glGetIntegerIndexedvEXT\");\n\tglad_glGetBooleanIndexedvEXT = (PFNGLGETBOOLEANINDEXEDVEXTPROC)load(\"glGetBooleanIndexedvEXT\");\n\tglad_glCompressedTextureImage3DEXT = (PFNGLCOMPRESSEDTEXTUREIMAGE3DEXTPROC)load(\"glCompressedTextureImage3DEXT\");\n\tglad_glCompressedTextureImage2DEXT = (PFNGLCOMPRESSEDTEXTUREIMAGE2DEXTPROC)load(\"glCompressedTextureImage2DEXT\");\n\tglad_glCompressedTextureImage1DEXT = (PFNGLCOMPRESSEDTEXTUREIMAGE1DEXTPROC)load(\"glCompressedTextureImage1DEXT\");\n\tglad_glCompressedTextureSubImage3DEXT = (PFNGLCOMPRESSEDTEXTURESUBIMAGE3DEXTPROC)load(\"glCompressedTextureSubImage3DEXT\");\n\tglad_glCompressedTextureSubImage2DEXT = (PFNGLCOMPRESSEDTEXTURESUBIMAGE2DEXTPROC)load(\"glCompressedTextureSubImage2DEXT\");\n\tglad_glCompressedTextureSubImage1DEXT = (PFNGLCOMPRESSEDTEXTURESUBIMAGE1DEXTPROC)load(\"glCompressedTextureSubImage1DEXT\");\n\tglad_glGetCompressedTextureImageEXT = (PFNGLGETCOMPRESSEDTEXTUREIMAGEEXTPROC)load(\"glGetCompressedTextureImageEXT\");\n\tglad_glCompressedMultiTexImage3DEXT = (PFNGLCOMPRESSEDMULTITEXIMAGE3DEXTPROC)load(\"glCompressedMultiTexImage3DEXT\");\n\tglad_glCompressedMultiTexImage2DEXT = (PFNGLCOMPRESSEDMULTITEXIMAGE2DEXTPROC)load(\"glCompressedMultiTexImage2DEXT\");\n\tglad_glCompressedMultiTexImage1DEXT = (PFNGLCOMPRESSEDMULTITEXIMAGE1DEXTPROC)load(\"glCompressedMultiTexImage1DEXT\");\n\tglad_glCompressedMultiTexSubImage3DEXT = (PFNGLCOMPRESSEDMULTITEXSUBIMAGE3DEXTPROC)load(\"glCompressedMultiTexSubImage3DEXT\");\n\tglad_glCompressedMultiTexSubImage2DEXT = (PFNGLCOMPRESSEDMULTITEXSUBIMAGE2DEXTPROC)load(\"glCompressedMultiTexSubImage2DEXT\");\n\tglad_glCompressedMultiTexSubImage1DEXT = (PFNGLCOMPRESSEDMULTITEXSUBIMAGE1DEXTPROC)load(\"glCompressedMultiTexSubImage1DEXT\");\n\tglad_glGetCompressedMultiTexImageEXT = (PFNGLGETCOMPRESSEDMULTITEXIMAGEEXTPROC)load(\"glGetCompressedMultiTexImageEXT\");\n\tglad_glMatrixLoadTransposefEXT = (PFNGLMATRIXLOADTRANSPOSEFEXTPROC)load(\"glMatrixLoadTransposefEXT\");\n\tglad_glMatrixLoadTransposedEXT = (PFNGLMATRIXLOADTRANSPOSEDEXTPROC)load(\"glMatrixLoadTransposedEXT\");\n\tglad_glMatrixMultTransposefEXT = (PFNGLMATRIXMULTTRANSPOSEFEXTPROC)load(\"glMatrixMultTransposefEXT\");\n\tglad_glMatrixMultTransposedEXT = (PFNGLMATRIXMULTTRANSPOSEDEXTPROC)load(\"glMatrixMultTransposedEXT\");\n\tglad_glNamedBufferDataEXT = (PFNGLNAMEDBUFFERDATAEXTPROC)load(\"glNamedBufferDataEXT\");\n\tglad_glNamedBufferSubDataEXT = (PFNGLNAMEDBUFFERSUBDATAEXTPROC)load(\"glNamedBufferSubDataEXT\");\n\tglad_glMapNamedBufferEXT = (PFNGLMAPNAMEDBUFFEREXTPROC)load(\"glMapNamedBufferEXT\");\n\tglad_glUnmapNamedBufferEXT = (PFNGLUNMAPNAMEDBUFFEREXTPROC)load(\"glUnmapNamedBufferEXT\");\n\tglad_glGetNamedBufferParameterivEXT = (PFNGLGETNAMEDBUFFERPARAMETERIVEXTPROC)load(\"glGetNamedBufferParameterivEXT\");\n\tglad_glGetNamedBufferPointervEXT = (PFNGLGETNAMEDBUFFERPOINTERVEXTPROC)load(\"glGetNamedBufferPointervEXT\");\n\tglad_glGetNamedBufferSubDataEXT = (PFNGLGETNAMEDBUFFERSUBDATAEXTPROC)load(\"glGetNamedBufferSubDataEXT\");\n\tglad_glProgramUniform1fEXT = (PFNGLPROGRAMUNIFORM1FEXTPROC)load(\"glProgramUniform1fEXT\");\n\tglad_glProgramUniform2fEXT = (PFNGLPROGRAMUNIFORM2FEXTPROC)load(\"glProgramUniform2fEXT\");\n\tglad_glProgramUniform3fEXT = (PFNGLPROGRAMUNIFORM3FEXTPROC)load(\"glProgramUniform3fEXT\");\n\tglad_glProgramUniform4fEXT = (PFNGLPROGRAMUNIFORM4FEXTPROC)load(\"glProgramUniform4fEXT\");\n\tglad_glProgramUniform1iEXT = (PFNGLPROGRAMUNIFORM1IEXTPROC)load(\"glProgramUniform1iEXT\");\n\tglad_glProgramUniform2iEXT = (PFNGLPROGRAMUNIFORM2IEXTPROC)load(\"glProgramUniform2iEXT\");\n\tglad_glProgramUniform3iEXT = (PFNGLPROGRAMUNIFORM3IEXTPROC)load(\"glProgramUniform3iEXT\");\n\tglad_glProgramUniform4iEXT = (PFNGLPROGRAMUNIFORM4IEXTPROC)load(\"glProgramUniform4iEXT\");\n\tglad_glProgramUniform1fvEXT = (PFNGLPROGRAMUNIFORM1FVEXTPROC)load(\"glProgramUniform1fvEXT\");\n\tglad_glProgramUniform2fvEXT = (PFNGLPROGRAMUNIFORM2FVEXTPROC)load(\"glProgramUniform2fvEXT\");\n\tglad_glProgramUniform3fvEXT = (PFNGLPROGRAMUNIFORM3FVEXTPROC)load(\"glProgramUniform3fvEXT\");\n\tglad_glProgramUniform4fvEXT = (PFNGLPROGRAMUNIFORM4FVEXTPROC)load(\"glProgramUniform4fvEXT\");\n\tglad_glProgramUniform1ivEXT = (PFNGLPROGRAMUNIFORM1IVEXTPROC)load(\"glProgramUniform1ivEXT\");\n\tglad_glProgramUniform2ivEXT = (PFNGLPROGRAMUNIFORM2IVEXTPROC)load(\"glProgramUniform2ivEXT\");\n\tglad_glProgramUniform3ivEXT = (PFNGLPROGRAMUNIFORM3IVEXTPROC)load(\"glProgramUniform3ivEXT\");\n\tglad_glProgramUniform4ivEXT = (PFNGLPROGRAMUNIFORM4IVEXTPROC)load(\"glProgramUniform4ivEXT\");\n\tglad_glProgramUniformMatrix2fvEXT = (PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC)load(\"glProgramUniformMatrix2fvEXT\");\n\tglad_glProgramUniformMatrix3fvEXT = (PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC)load(\"glProgramUniformMatrix3fvEXT\");\n\tglad_glProgramUniformMatrix4fvEXT = (PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC)load(\"glProgramUniformMatrix4fvEXT\");\n\tglad_glProgramUniformMatrix2x3fvEXT = (PFNGLPROGRAMUNIFORMMATRIX2X3FVEXTPROC)load(\"glProgramUniformMatrix2x3fvEXT\");\n\tglad_glProgramUniformMatrix3x2fvEXT = (PFNGLPROGRAMUNIFORMMATRIX3X2FVEXTPROC)load(\"glProgramUniformMatrix3x2fvEXT\");\n\tglad_glProgramUniformMatrix2x4fvEXT = (PFNGLPROGRAMUNIFORMMATRIX2X4FVEXTPROC)load(\"glProgramUniformMatrix2x4fvEXT\");\n\tglad_glProgramUniformMatrix4x2fvEXT = (PFNGLPROGRAMUNIFORMMATRIX4X2FVEXTPROC)load(\"glProgramUniformMatrix4x2fvEXT\");\n\tglad_glProgramUniformMatrix3x4fvEXT = (PFNGLPROGRAMUNIFORMMATRIX3X4FVEXTPROC)load(\"glProgramUniformMatrix3x4fvEXT\");\n\tglad_glProgramUniformMatrix4x3fvEXT = (PFNGLPROGRAMUNIFORMMATRIX4X3FVEXTPROC)load(\"glProgramUniformMatrix4x3fvEXT\");\n\tglad_glTextureBufferEXT = (PFNGLTEXTUREBUFFEREXTPROC)load(\"glTextureBufferEXT\");\n\tglad_glMultiTexBufferEXT = (PFNGLMULTITEXBUFFEREXTPROC)load(\"glMultiTexBufferEXT\");\n\tglad_glTextureParameterIivEXT = (PFNGLTEXTUREPARAMETERIIVEXTPROC)load(\"glTextureParameterIivEXT\");\n\tglad_glTextureParameterIuivEXT = (PFNGLTEXTUREPARAMETERIUIVEXTPROC)load(\"glTextureParameterIuivEXT\");\n\tglad_glGetTextureParameterIivEXT = (PFNGLGETTEXTUREPARAMETERIIVEXTPROC)load(\"glGetTextureParameterIivEXT\");\n\tglad_glGetTextureParameterIuivEXT = (PFNGLGETTEXTUREPARAMETERIUIVEXTPROC)load(\"glGetTextureParameterIuivEXT\");\n\tglad_glMultiTexParameterIivEXT = (PFNGLMULTITEXPARAMETERIIVEXTPROC)load(\"glMultiTexParameterIivEXT\");\n\tglad_glMultiTexParameterIuivEXT = (PFNGLMULTITEXPARAMETERIUIVEXTPROC)load(\"glMultiTexParameterIuivEXT\");\n\tglad_glGetMultiTexParameterIivEXT = (PFNGLGETMULTITEXPARAMETERIIVEXTPROC)load(\"glGetMultiTexParameterIivEXT\");\n\tglad_glGetMultiTexParameterIuivEXT = (PFNGLGETMULTITEXPARAMETERIUIVEXTPROC)load(\"glGetMultiTexParameterIuivEXT\");\n\tglad_glProgramUniform1uiEXT = (PFNGLPROGRAMUNIFORM1UIEXTPROC)load(\"glProgramUniform1uiEXT\");\n\tglad_glProgramUniform2uiEXT = (PFNGLPROGRAMUNIFORM2UIEXTPROC)load(\"glProgramUniform2uiEXT\");\n\tglad_glProgramUniform3uiEXT = (PFNGLPROGRAMUNIFORM3UIEXTPROC)load(\"glProgramUniform3uiEXT\");\n\tglad_glProgramUniform4uiEXT = (PFNGLPROGRAMUNIFORM4UIEXTPROC)load(\"glProgramUniform4uiEXT\");\n\tglad_glProgramUniform1uivEXT = (PFNGLPROGRAMUNIFORM1UIVEXTPROC)load(\"glProgramUniform1uivEXT\");\n\tglad_glProgramUniform2uivEXT = (PFNGLPROGRAMUNIFORM2UIVEXTPROC)load(\"glProgramUniform2uivEXT\");\n\tglad_glProgramUniform3uivEXT = (PFNGLPROGRAMUNIFORM3UIVEXTPROC)load(\"glProgramUniform3uivEXT\");\n\tglad_glProgramUniform4uivEXT = (PFNGLPROGRAMUNIFORM4UIVEXTPROC)load(\"glProgramUniform4uivEXT\");\n\tglad_glNamedProgramLocalParameters4fvEXT = (PFNGLNAMEDPROGRAMLOCALPARAMETERS4FVEXTPROC)load(\"glNamedProgramLocalParameters4fvEXT\");\n\tglad_glNamedProgramLocalParameterI4iEXT = (PFNGLNAMEDPROGRAMLOCALPARAMETERI4IEXTPROC)load(\"glNamedProgramLocalParameterI4iEXT\");\n\tglad_glNamedProgramLocalParameterI4ivEXT = (PFNGLNAMEDPROGRAMLOCALPARAMETERI4IVEXTPROC)load(\"glNamedProgramLocalParameterI4ivEXT\");\n\tglad_glNamedProgramLocalParametersI4ivEXT = (PFNGLNAMEDPROGRAMLOCALPARAMETERSI4IVEXTPROC)load(\"glNamedProgramLocalParametersI4ivEXT\");\n\tglad_glNamedProgramLocalParameterI4uiEXT = (PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIEXTPROC)load(\"glNamedProgramLocalParameterI4uiEXT\");\n\tglad_glNamedProgramLocalParameterI4uivEXT = (PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIVEXTPROC)load(\"glNamedProgramLocalParameterI4uivEXT\");\n\tglad_glNamedProgramLocalParametersI4uivEXT = (PFNGLNAMEDPROGRAMLOCALPARAMETERSI4UIVEXTPROC)load(\"glNamedProgramLocalParametersI4uivEXT\");\n\tglad_glGetNamedProgramLocalParameterIivEXT = (PFNGLGETNAMEDPROGRAMLOCALPARAMETERIIVEXTPROC)load(\"glGetNamedProgramLocalParameterIivEXT\");\n\tglad_glGetNamedProgramLocalParameterIuivEXT = (PFNGLGETNAMEDPROGRAMLOCALPARAMETERIUIVEXTPROC)load(\"glGetNamedProgramLocalParameterIuivEXT\");\n\tglad_glEnableClientStateiEXT = (PFNGLENABLECLIENTSTATEIEXTPROC)load(\"glEnableClientStateiEXT\");\n\tglad_glDisableClientStateiEXT = (PFNGLDISABLECLIENTSTATEIEXTPROC)load(\"glDisableClientStateiEXT\");\n\tglad_glGetFloati_vEXT = (PFNGLGETFLOATI_VEXTPROC)load(\"glGetFloati_vEXT\");\n\tglad_glGetDoublei_vEXT = (PFNGLGETDOUBLEI_VEXTPROC)load(\"glGetDoublei_vEXT\");\n\tglad_glGetPointeri_vEXT = (PFNGLGETPOINTERI_VEXTPROC)load(\"glGetPointeri_vEXT\");\n\tglad_glNamedProgramStringEXT = (PFNGLNAMEDPROGRAMSTRINGEXTPROC)load(\"glNamedProgramStringEXT\");\n\tglad_glNamedProgramLocalParameter4dEXT = (PFNGLNAMEDPROGRAMLOCALPARAMETER4DEXTPROC)load(\"glNamedProgramLocalParameter4dEXT\");\n\tglad_glNamedProgramLocalParameter4dvEXT = (PFNGLNAMEDPROGRAMLOCALPARAMETER4DVEXTPROC)load(\"glNamedProgramLocalParameter4dvEXT\");\n\tglad_glNamedProgramLocalParameter4fEXT = (PFNGLNAMEDPROGRAMLOCALPARAMETER4FEXTPROC)load(\"glNamedProgramLocalParameter4fEXT\");\n\tglad_glNamedProgramLocalParameter4fvEXT = (PFNGLNAMEDPROGRAMLOCALPARAMETER4FVEXTPROC)load(\"glNamedProgramLocalParameter4fvEXT\");\n\tglad_glGetNamedProgramLocalParameterdvEXT = (PFNGLGETNAMEDPROGRAMLOCALPARAMETERDVEXTPROC)load(\"glGetNamedProgramLocalParameterdvEXT\");\n\tglad_glGetNamedProgramLocalParameterfvEXT = (PFNGLGETNAMEDPROGRAMLOCALPARAMETERFVEXTPROC)load(\"glGetNamedProgramLocalParameterfvEXT\");\n\tglad_glGetNamedProgramivEXT = (PFNGLGETNAMEDPROGRAMIVEXTPROC)load(\"glGetNamedProgramivEXT\");\n\tglad_glGetNamedProgramStringEXT = (PFNGLGETNAMEDPROGRAMSTRINGEXTPROC)load(\"glGetNamedProgramStringEXT\");\n\tglad_glNamedRenderbufferStorageEXT = (PFNGLNAMEDRENDERBUFFERSTORAGEEXTPROC)load(\"glNamedRenderbufferStorageEXT\");\n\tglad_glGetNamedRenderbufferParameterivEXT = (PFNGLGETNAMEDRENDERBUFFERPARAMETERIVEXTPROC)load(\"glGetNamedRenderbufferParameterivEXT\");\n\tglad_glNamedRenderbufferStorageMultisampleEXT = (PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC)load(\"glNamedRenderbufferStorageMultisampleEXT\");\n\tglad_glNamedRenderbufferStorageMultisampleCoverageEXT = (PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLECOVERAGEEXTPROC)load(\"glNamedRenderbufferStorageMultisampleCoverageEXT\");\n\tglad_glCheckNamedFramebufferStatusEXT = (PFNGLCHECKNAMEDFRAMEBUFFERSTATUSEXTPROC)load(\"glCheckNamedFramebufferStatusEXT\");\n\tglad_glNamedFramebufferTexture1DEXT = (PFNGLNAMEDFRAMEBUFFERTEXTURE1DEXTPROC)load(\"glNamedFramebufferTexture1DEXT\");\n\tglad_glNamedFramebufferTexture2DEXT = (PFNGLNAMEDFRAMEBUFFERTEXTURE2DEXTPROC)load(\"glNamedFramebufferTexture2DEXT\");\n\tglad_glNamedFramebufferTexture3DEXT = (PFNGLNAMEDFRAMEBUFFERTEXTURE3DEXTPROC)load(\"glNamedFramebufferTexture3DEXT\");\n\tglad_glNamedFramebufferRenderbufferEXT = (PFNGLNAMEDFRAMEBUFFERRENDERBUFFEREXTPROC)load(\"glNamedFramebufferRenderbufferEXT\");\n\tglad_glGetNamedFramebufferAttachmentParameterivEXT = (PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC)load(\"glGetNamedFramebufferAttachmentParameterivEXT\");\n\tglad_glGenerateTextureMipmapEXT = (PFNGLGENERATETEXTUREMIPMAPEXTPROC)load(\"glGenerateTextureMipmapEXT\");\n\tglad_glGenerateMultiTexMipmapEXT = (PFNGLGENERATEMULTITEXMIPMAPEXTPROC)load(\"glGenerateMultiTexMipmapEXT\");\n\tglad_glFramebufferDrawBufferEXT = (PFNGLFRAMEBUFFERDRAWBUFFEREXTPROC)load(\"glFramebufferDrawBufferEXT\");\n\tglad_glFramebufferDrawBuffersEXT = (PFNGLFRAMEBUFFERDRAWBUFFERSEXTPROC)load(\"glFramebufferDrawBuffersEXT\");\n\tglad_glFramebufferReadBufferEXT = (PFNGLFRAMEBUFFERREADBUFFEREXTPROC)load(\"glFramebufferReadBufferEXT\");\n\tglad_glGetFramebufferParameterivEXT = (PFNGLGETFRAMEBUFFERPARAMETERIVEXTPROC)load(\"glGetFramebufferParameterivEXT\");\n\tglad_glNamedCopyBufferSubDataEXT = (PFNGLNAMEDCOPYBUFFERSUBDATAEXTPROC)load(\"glNamedCopyBufferSubDataEXT\");\n\tglad_glNamedFramebufferTextureEXT = (PFNGLNAMEDFRAMEBUFFERTEXTUREEXTPROC)load(\"glNamedFramebufferTextureEXT\");\n\tglad_glNamedFramebufferTextureLayerEXT = (PFNGLNAMEDFRAMEBUFFERTEXTURELAYEREXTPROC)load(\"glNamedFramebufferTextureLayerEXT\");\n\tglad_glNamedFramebufferTextureFaceEXT = (PFNGLNAMEDFRAMEBUFFERTEXTUREFACEEXTPROC)load(\"glNamedFramebufferTextureFaceEXT\");\n\tglad_glTextureRenderbufferEXT = (PFNGLTEXTURERENDERBUFFEREXTPROC)load(\"glTextureRenderbufferEXT\");\n\tglad_glMultiTexRenderbufferEXT = (PFNGLMULTITEXRENDERBUFFEREXTPROC)load(\"glMultiTexRenderbufferEXT\");\n\tglad_glVertexArrayVertexOffsetEXT = (PFNGLVERTEXARRAYVERTEXOFFSETEXTPROC)load(\"glVertexArrayVertexOffsetEXT\");\n\tglad_glVertexArrayColorOffsetEXT = (PFNGLVERTEXARRAYCOLOROFFSETEXTPROC)load(\"glVertexArrayColorOffsetEXT\");\n\tglad_glVertexArrayEdgeFlagOffsetEXT = (PFNGLVERTEXARRAYEDGEFLAGOFFSETEXTPROC)load(\"glVertexArrayEdgeFlagOffsetEXT\");\n\tglad_glVertexArrayIndexOffsetEXT = (PFNGLVERTEXARRAYINDEXOFFSETEXTPROC)load(\"glVertexArrayIndexOffsetEXT\");\n\tglad_glVertexArrayNormalOffsetEXT = (PFNGLVERTEXARRAYNORMALOFFSETEXTPROC)load(\"glVertexArrayNormalOffsetEXT\");\n\tglad_glVertexArrayTexCoordOffsetEXT = (PFNGLVERTEXARRAYTEXCOORDOFFSETEXTPROC)load(\"glVertexArrayTexCoordOffsetEXT\");\n\tglad_glVertexArrayMultiTexCoordOffsetEXT = (PFNGLVERTEXARRAYMULTITEXCOORDOFFSETEXTPROC)load(\"glVertexArrayMultiTexCoordOffsetEXT\");\n\tglad_glVertexArrayFogCoordOffsetEXT = (PFNGLVERTEXARRAYFOGCOORDOFFSETEXTPROC)load(\"glVertexArrayFogCoordOffsetEXT\");\n\tglad_glVertexArraySecondaryColorOffsetEXT = (PFNGLVERTEXARRAYSECONDARYCOLOROFFSETEXTPROC)load(\"glVertexArraySecondaryColorOffsetEXT\");\n\tglad_glVertexArrayVertexAttribOffsetEXT = (PFNGLVERTEXARRAYVERTEXATTRIBOFFSETEXTPROC)load(\"glVertexArrayVertexAttribOffsetEXT\");\n\tglad_glVertexArrayVertexAttribIOffsetEXT = (PFNGLVERTEXARRAYVERTEXATTRIBIOFFSETEXTPROC)load(\"glVertexArrayVertexAttribIOffsetEXT\");\n\tglad_glEnableVertexArrayEXT = (PFNGLENABLEVERTEXARRAYEXTPROC)load(\"glEnableVertexArrayEXT\");\n\tglad_glDisableVertexArrayEXT = (PFNGLDISABLEVERTEXARRAYEXTPROC)load(\"glDisableVertexArrayEXT\");\n\tglad_glEnableVertexArrayAttribEXT = (PFNGLENABLEVERTEXARRAYATTRIBEXTPROC)load(\"glEnableVertexArrayAttribEXT\");\n\tglad_glDisableVertexArrayAttribEXT = (PFNGLDISABLEVERTEXARRAYATTRIBEXTPROC)load(\"glDisableVertexArrayAttribEXT\");\n\tglad_glGetVertexArrayIntegervEXT = (PFNGLGETVERTEXARRAYINTEGERVEXTPROC)load(\"glGetVertexArrayIntegervEXT\");\n\tglad_glGetVertexArrayPointervEXT = (PFNGLGETVERTEXARRAYPOINTERVEXTPROC)load(\"glGetVertexArrayPointervEXT\");\n\tglad_glGetVertexArrayIntegeri_vEXT = (PFNGLGETVERTEXARRAYINTEGERI_VEXTPROC)load(\"glGetVertexArrayIntegeri_vEXT\");\n\tglad_glGetVertexArrayPointeri_vEXT = (PFNGLGETVERTEXARRAYPOINTERI_VEXTPROC)load(\"glGetVertexArrayPointeri_vEXT\");\n\tglad_glMapNamedBufferRangeEXT = (PFNGLMAPNAMEDBUFFERRANGEEXTPROC)load(\"glMapNamedBufferRangeEXT\");\n\tglad_glFlushMappedNamedBufferRangeEXT = (PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEEXTPROC)load(\"glFlushMappedNamedBufferRangeEXT\");\n\tglad_glNamedBufferStorageEXT = (PFNGLNAMEDBUFFERSTORAGEEXTPROC)load(\"glNamedBufferStorageEXT\");\n\tglad_glClearNamedBufferDataEXT = (PFNGLCLEARNAMEDBUFFERDATAEXTPROC)load(\"glClearNamedBufferDataEXT\");\n\tglad_glClearNamedBufferSubDataEXT = (PFNGLCLEARNAMEDBUFFERSUBDATAEXTPROC)load(\"glClearNamedBufferSubDataEXT\");\n\tglad_glNamedFramebufferParameteriEXT = (PFNGLNAMEDFRAMEBUFFERPARAMETERIEXTPROC)load(\"glNamedFramebufferParameteriEXT\");\n\tglad_glGetNamedFramebufferParameterivEXT = (PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVEXTPROC)load(\"glGetNamedFramebufferParameterivEXT\");\n\tglad_glProgramUniform1dEXT = (PFNGLPROGRAMUNIFORM1DEXTPROC)load(\"glProgramUniform1dEXT\");\n\tglad_glProgramUniform2dEXT = (PFNGLPROGRAMUNIFORM2DEXTPROC)load(\"glProgramUniform2dEXT\");\n\tglad_glProgramUniform3dEXT = (PFNGLPROGRAMUNIFORM3DEXTPROC)load(\"glProgramUniform3dEXT\");\n\tglad_glProgramUniform4dEXT = (PFNGLPROGRAMUNIFORM4DEXTPROC)load(\"glProgramUniform4dEXT\");\n\tglad_glProgramUniform1dvEXT = (PFNGLPROGRAMUNIFORM1DVEXTPROC)load(\"glProgramUniform1dvEXT\");\n\tglad_glProgramUniform2dvEXT = (PFNGLPROGRAMUNIFORM2DVEXTPROC)load(\"glProgramUniform2dvEXT\");\n\tglad_glProgramUniform3dvEXT = (PFNGLPROGRAMUNIFORM3DVEXTPROC)load(\"glProgramUniform3dvEXT\");\n\tglad_glProgramUniform4dvEXT = (PFNGLPROGRAMUNIFORM4DVEXTPROC)load(\"glProgramUniform4dvEXT\");\n\tglad_glProgramUniformMatrix2dvEXT = (PFNGLPROGRAMUNIFORMMATRIX2DVEXTPROC)load(\"glProgramUniformMatrix2dvEXT\");\n\tglad_glProgramUniformMatrix3dvEXT = (PFNGLPROGRAMUNIFORMMATRIX3DVEXTPROC)load(\"glProgramUniformMatrix3dvEXT\");\n\tglad_glProgramUniformMatrix4dvEXT = (PFNGLPROGRAMUNIFORMMATRIX4DVEXTPROC)load(\"glProgramUniformMatrix4dvEXT\");\n\tglad_glProgramUniformMatrix2x3dvEXT = (PFNGLPROGRAMUNIFORMMATRIX2X3DVEXTPROC)load(\"glProgramUniformMatrix2x3dvEXT\");\n\tglad_glProgramUniformMatrix2x4dvEXT = (PFNGLPROGRAMUNIFORMMATRIX2X4DVEXTPROC)load(\"glProgramUniformMatrix2x4dvEXT\");\n\tglad_glProgramUniformMatrix3x2dvEXT = (PFNGLPROGRAMUNIFORMMATRIX3X2DVEXTPROC)load(\"glProgramUniformMatrix3x2dvEXT\");\n\tglad_glProgramUniformMatrix3x4dvEXT = (PFNGLPROGRAMUNIFORMMATRIX3X4DVEXTPROC)load(\"glProgramUniformMatrix3x4dvEXT\");\n\tglad_glProgramUniformMatrix4x2dvEXT = (PFNGLPROGRAMUNIFORMMATRIX4X2DVEXTPROC)load(\"glProgramUniformMatrix4x2dvEXT\");\n\tglad_glProgramUniformMatrix4x3dvEXT = (PFNGLPROGRAMUNIFORMMATRIX4X3DVEXTPROC)load(\"glProgramUniformMatrix4x3dvEXT\");\n\tglad_glTextureBufferRangeEXT = (PFNGLTEXTUREBUFFERRANGEEXTPROC)load(\"glTextureBufferRangeEXT\");\n\tglad_glTextureStorage1DEXT = (PFNGLTEXTURESTORAGE1DEXTPROC)load(\"glTextureStorage1DEXT\");\n\tglad_glTextureStorage2DEXT = (PFNGLTEXTURESTORAGE2DEXTPROC)load(\"glTextureStorage2DEXT\");\n\tglad_glTextureStorage3DEXT = (PFNGLTEXTURESTORAGE3DEXTPROC)load(\"glTextureStorage3DEXT\");\n\tglad_glTextureStorage2DMultisampleEXT = (PFNGLTEXTURESTORAGE2DMULTISAMPLEEXTPROC)load(\"glTextureStorage2DMultisampleEXT\");\n\tglad_glTextureStorage3DMultisampleEXT = (PFNGLTEXTURESTORAGE3DMULTISAMPLEEXTPROC)load(\"glTextureStorage3DMultisampleEXT\");\n\tglad_glVertexArrayBindVertexBufferEXT = (PFNGLVERTEXARRAYBINDVERTEXBUFFEREXTPROC)load(\"glVertexArrayBindVertexBufferEXT\");\n\tglad_glVertexArrayVertexAttribFormatEXT = (PFNGLVERTEXARRAYVERTEXATTRIBFORMATEXTPROC)load(\"glVertexArrayVertexAttribFormatEXT\");\n\tglad_glVertexArrayVertexAttribIFormatEXT = (PFNGLVERTEXARRAYVERTEXATTRIBIFORMATEXTPROC)load(\"glVertexArrayVertexAttribIFormatEXT\");\n\tglad_glVertexArrayVertexAttribLFormatEXT = (PFNGLVERTEXARRAYVERTEXATTRIBLFORMATEXTPROC)load(\"glVertexArrayVertexAttribLFormatEXT\");\n\tglad_glVertexArrayVertexAttribBindingEXT = (PFNGLVERTEXARRAYVERTEXATTRIBBINDINGEXTPROC)load(\"glVertexArrayVertexAttribBindingEXT\");\n\tglad_glVertexArrayVertexBindingDivisorEXT = (PFNGLVERTEXARRAYVERTEXBINDINGDIVISOREXTPROC)load(\"glVertexArrayVertexBindingDivisorEXT\");\n\tglad_glVertexArrayVertexAttribLOffsetEXT = (PFNGLVERTEXARRAYVERTEXATTRIBLOFFSETEXTPROC)load(\"glVertexArrayVertexAttribLOffsetEXT\");\n\tglad_glTexturePageCommitmentEXT = (PFNGLTEXTUREPAGECOMMITMENTEXTPROC)load(\"glTexturePageCommitmentEXT\");\n\tglad_glVertexArrayVertexAttribDivisorEXT = (PFNGLVERTEXARRAYVERTEXATTRIBDIVISOREXTPROC)load(\"glVertexArrayVertexAttribDivisorEXT\");\n}\nstatic void load_GL_EXT_draw_buffers2(GLADloadproc load) {\n\tif(!GLAD_GL_EXT_draw_buffers2) return;\n\tglad_glColorMaskIndexedEXT = (PFNGLCOLORMASKINDEXEDEXTPROC)load(\"glColorMaskIndexedEXT\");\n\tglad_glGetBooleanIndexedvEXT = (PFNGLGETBOOLEANINDEXEDVEXTPROC)load(\"glGetBooleanIndexedvEXT\");\n\tglad_glGetIntegerIndexedvEXT = (PFNGLGETINTEGERINDEXEDVEXTPROC)load(\"glGetIntegerIndexedvEXT\");\n\tglad_glEnableIndexedEXT = (PFNGLENABLEINDEXEDEXTPROC)load(\"glEnableIndexedEXT\");\n\tglad_glDisableIndexedEXT = (PFNGLDISABLEINDEXEDEXTPROC)load(\"glDisableIndexedEXT\");\n\tglad_glIsEnabledIndexedEXT = (PFNGLISENABLEDINDEXEDEXTPROC)load(\"glIsEnabledIndexedEXT\");\n}\nstatic void load_GL_EXT_draw_instanced(GLADloadproc load) {\n\tif(!GLAD_GL_EXT_draw_instanced) return;\n\tglad_glDrawArraysInstancedEXT = (PFNGLDRAWARRAYSINSTANCEDEXTPROC)load(\"glDrawArraysInstancedEXT\");\n\tglad_glDrawElementsInstancedEXT = (PFNGLDRAWELEMENTSINSTANCEDEXTPROC)load(\"glDrawElementsInstancedEXT\");\n}\nstatic void load_GL_EXT_draw_range_elements(GLADloadproc load) {\n\tif(!GLAD_GL_EXT_draw_range_elements) return;\n\tglad_glDrawRangeElementsEXT = (PFNGLDRAWRANGEELEMENTSEXTPROC)load(\"glDrawRangeElementsEXT\");\n}\nstatic void load_GL_EXT_external_buffer(GLADloadproc load) {\n\tif(!GLAD_GL_EXT_external_buffer) return;\n\tglad_glBufferStorageExternalEXT = (PFNGLBUFFERSTORAGEEXTERNALEXTPROC)load(\"glBufferStorageExternalEXT\");\n\tglad_glNamedBufferStorageExternalEXT = (PFNGLNAMEDBUFFERSTORAGEEXTERNALEXTPROC)load(\"glNamedBufferStorageExternalEXT\");\n}\nstatic void load_GL_EXT_fog_coord(GLADloadproc load) {\n\tif(!GLAD_GL_EXT_fog_coord) return;\n\tglad_glFogCoordfEXT = (PFNGLFOGCOORDFEXTPROC)load(\"glFogCoordfEXT\");\n\tglad_glFogCoordfvEXT = (PFNGLFOGCOORDFVEXTPROC)load(\"glFogCoordfvEXT\");\n\tglad_glFogCoorddEXT = (PFNGLFOGCOORDDEXTPROC)load(\"glFogCoorddEXT\");\n\tglad_glFogCoorddvEXT = (PFNGLFOGCOORDDVEXTPROC)load(\"glFogCoorddvEXT\");\n\tglad_glFogCoordPointerEXT = (PFNGLFOGCOORDPOINTEREXTPROC)load(\"glFogCoordPointerEXT\");\n}\nstatic void load_GL_EXT_framebuffer_blit(GLADloadproc load) {\n\tif(!GLAD_GL_EXT_framebuffer_blit) return;\n\tglad_glBlitFramebufferEXT = (PFNGLBLITFRAMEBUFFEREXTPROC)load(\"glBlitFramebufferEXT\");\n}\nstatic void load_GL_EXT_framebuffer_multisample(GLADloadproc load) {\n\tif(!GLAD_GL_EXT_framebuffer_multisample) return;\n\tglad_glRenderbufferStorageMultisampleEXT = (PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC)load(\"glRenderbufferStorageMultisampleEXT\");\n}\nstatic void load_GL_EXT_framebuffer_object(GLADloadproc load) {\n\tif(!GLAD_GL_EXT_framebuffer_object) return;\n\tglad_glIsRenderbufferEXT = (PFNGLISRENDERBUFFEREXTPROC)load(\"glIsRenderbufferEXT\");\n\tglad_glBindRenderbufferEXT = (PFNGLBINDRENDERBUFFEREXTPROC)load(\"glBindRenderbufferEXT\");\n\tglad_glDeleteRenderbuffersEXT = (PFNGLDELETERENDERBUFFERSEXTPROC)load(\"glDeleteRenderbuffersEXT\");\n\tglad_glGenRenderbuffersEXT = (PFNGLGENRENDERBUFFERSEXTPROC)load(\"glGenRenderbuffersEXT\");\n\tglad_glRenderbufferStorageEXT = (PFNGLRENDERBUFFERSTORAGEEXTPROC)load(\"glRenderbufferStorageEXT\");\n\tglad_glGetRenderbufferParameterivEXT = (PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC)load(\"glGetRenderbufferParameterivEXT\");\n\tglad_glIsFramebufferEXT = (PFNGLISFRAMEBUFFEREXTPROC)load(\"glIsFramebufferEXT\");\n\tglad_glBindFramebufferEXT = (PFNGLBINDFRAMEBUFFEREXTPROC)load(\"glBindFramebufferEXT\");\n\tglad_glDeleteFramebuffersEXT = (PFNGLDELETEFRAMEBUFFERSEXTPROC)load(\"glDeleteFramebuffersEXT\");\n\tglad_glGenFramebuffersEXT = (PFNGLGENFRAMEBUFFERSEXTPROC)load(\"glGenFramebuffersEXT\");\n\tglad_glCheckFramebufferStatusEXT = (PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC)load(\"glCheckFramebufferStatusEXT\");\n\tglad_glFramebufferTexture1DEXT = (PFNGLFRAMEBUFFERTEXTURE1DEXTPROC)load(\"glFramebufferTexture1DEXT\");\n\tglad_glFramebufferTexture2DEXT = (PFNGLFRAMEBUFFERTEXTURE2DEXTPROC)load(\"glFramebufferTexture2DEXT\");\n\tglad_glFramebufferTexture3DEXT = (PFNGLFRAMEBUFFERTEXTURE3DEXTPROC)load(\"glFramebufferTexture3DEXT\");\n\tglad_glFramebufferRenderbufferEXT = (PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC)load(\"glFramebufferRenderbufferEXT\");\n\tglad_glGetFramebufferAttachmentParameterivEXT = (PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC)load(\"glGetFramebufferAttachmentParameterivEXT\");\n\tglad_glGenerateMipmapEXT = (PFNGLGENERATEMIPMAPEXTPROC)load(\"glGenerateMipmapEXT\");\n}\nstatic void load_GL_EXT_geometry_shader4(GLADloadproc load) {\n\tif(!GLAD_GL_EXT_geometry_shader4) return;\n\tglad_glProgramParameteriEXT = (PFNGLPROGRAMPARAMETERIEXTPROC)load(\"glProgramParameteriEXT\");\n}\nstatic void load_GL_EXT_gpu_program_parameters(GLADloadproc load) {\n\tif(!GLAD_GL_EXT_gpu_program_parameters) return;\n\tglad_glProgramEnvParameters4fvEXT = (PFNGLPROGRAMENVPARAMETERS4FVEXTPROC)load(\"glProgramEnvParameters4fvEXT\");\n\tglad_glProgramLocalParameters4fvEXT = (PFNGLPROGRAMLOCALPARAMETERS4FVEXTPROC)load(\"glProgramLocalParameters4fvEXT\");\n}\nstatic void load_GL_EXT_gpu_shader4(GLADloadproc load) {\n\tif(!GLAD_GL_EXT_gpu_shader4) return;\n\tglad_glGetUniformuivEXT = (PFNGLGETUNIFORMUIVEXTPROC)load(\"glGetUniformuivEXT\");\n\tglad_glBindFragDataLocationEXT = (PFNGLBINDFRAGDATALOCATIONEXTPROC)load(\"glBindFragDataLocationEXT\");\n\tglad_glGetFragDataLocationEXT = (PFNGLGETFRAGDATALOCATIONEXTPROC)load(\"glGetFragDataLocationEXT\");\n\tglad_glUniform1uiEXT = (PFNGLUNIFORM1UIEXTPROC)load(\"glUniform1uiEXT\");\n\tglad_glUniform2uiEXT = (PFNGLUNIFORM2UIEXTPROC)load(\"glUniform2uiEXT\");\n\tglad_glUniform3uiEXT = (PFNGLUNIFORM3UIEXTPROC)load(\"glUniform3uiEXT\");\n\tglad_glUniform4uiEXT = (PFNGLUNIFORM4UIEXTPROC)load(\"glUniform4uiEXT\");\n\tglad_glUniform1uivEXT = (PFNGLUNIFORM1UIVEXTPROC)load(\"glUniform1uivEXT\");\n\tglad_glUniform2uivEXT = (PFNGLUNIFORM2UIVEXTPROC)load(\"glUniform2uivEXT\");\n\tglad_glUniform3uivEXT = (PFNGLUNIFORM3UIVEXTPROC)load(\"glUniform3uivEXT\");\n\tglad_glUniform4uivEXT = (PFNGLUNIFORM4UIVEXTPROC)load(\"glUniform4uivEXT\");\n}\nstatic void load_GL_EXT_histogram(GLADloadproc load) {\n\tif(!GLAD_GL_EXT_histogram) return;\n\tglad_glGetHistogramEXT = (PFNGLGETHISTOGRAMEXTPROC)load(\"glGetHistogramEXT\");\n\tglad_glGetHistogramParameterfvEXT = (PFNGLGETHISTOGRAMPARAMETERFVEXTPROC)load(\"glGetHistogramParameterfvEXT\");\n\tglad_glGetHistogramParameterivEXT = (PFNGLGETHISTOGRAMPARAMETERIVEXTPROC)load(\"glGetHistogramParameterivEXT\");\n\tglad_glGetMinmaxEXT = (PFNGLGETMINMAXEXTPROC)load(\"glGetMinmaxEXT\");\n\tglad_glGetMinmaxParameterfvEXT = (PFNGLGETMINMAXPARAMETERFVEXTPROC)load(\"glGetMinmaxParameterfvEXT\");\n\tglad_glGetMinmaxParameterivEXT = (PFNGLGETMINMAXPARAMETERIVEXTPROC)load(\"glGetMinmaxParameterivEXT\");\n\tglad_glHistogramEXT = (PFNGLHISTOGRAMEXTPROC)load(\"glHistogramEXT\");\n\tglad_glMinmaxEXT = (PFNGLMINMAXEXTPROC)load(\"glMinmaxEXT\");\n\tglad_glResetHistogramEXT = (PFNGLRESETHISTOGRAMEXTPROC)load(\"glResetHistogramEXT\");\n\tglad_glResetMinmaxEXT = (PFNGLRESETMINMAXEXTPROC)load(\"glResetMinmaxEXT\");\n}\nstatic void load_GL_EXT_index_func(GLADloadproc load) {\n\tif(!GLAD_GL_EXT_index_func) return;\n\tglad_glIndexFuncEXT = (PFNGLINDEXFUNCEXTPROC)load(\"glIndexFuncEXT\");\n}\nstatic void load_GL_EXT_index_material(GLADloadproc load) {\n\tif(!GLAD_GL_EXT_index_material) return;\n\tglad_glIndexMaterialEXT = (PFNGLINDEXMATERIALEXTPROC)load(\"glIndexMaterialEXT\");\n}\nstatic void load_GL_EXT_light_texture(GLADloadproc load) {\n\tif(!GLAD_GL_EXT_light_texture) return;\n\tglad_glApplyTextureEXT = (PFNGLAPPLYTEXTUREEXTPROC)load(\"glApplyTextureEXT\");\n\tglad_glTextureLightEXT = (PFNGLTEXTURELIGHTEXTPROC)load(\"glTextureLightEXT\");\n\tglad_glTextureMaterialEXT = (PFNGLTEXTUREMATERIALEXTPROC)load(\"glTextureMaterialEXT\");\n}\nstatic void load_GL_EXT_memory_object(GLADloadproc load) {\n\tif(!GLAD_GL_EXT_memory_object) return;\n\tglad_glGetUnsignedBytevEXT = (PFNGLGETUNSIGNEDBYTEVEXTPROC)load(\"glGetUnsignedBytevEXT\");\n\tglad_glGetUnsignedBytei_vEXT = (PFNGLGETUNSIGNEDBYTEI_VEXTPROC)load(\"glGetUnsignedBytei_vEXT\");\n\tglad_glDeleteMemoryObjectsEXT = (PFNGLDELETEMEMORYOBJECTSEXTPROC)load(\"glDeleteMemoryObjectsEXT\");\n\tglad_glIsMemoryObjectEXT = (PFNGLISMEMORYOBJECTEXTPROC)load(\"glIsMemoryObjectEXT\");\n\tglad_glCreateMemoryObjectsEXT = (PFNGLCREATEMEMORYOBJECTSEXTPROC)load(\"glCreateMemoryObjectsEXT\");\n\tglad_glMemoryObjectParameterivEXT = (PFNGLMEMORYOBJECTPARAMETERIVEXTPROC)load(\"glMemoryObjectParameterivEXT\");\n\tglad_glGetMemoryObjectParameterivEXT = (PFNGLGETMEMORYOBJECTPARAMETERIVEXTPROC)load(\"glGetMemoryObjectParameterivEXT\");\n\tglad_glTexStorageMem2DEXT = (PFNGLTEXSTORAGEMEM2DEXTPROC)load(\"glTexStorageMem2DEXT\");\n\tglad_glTexStorageMem2DMultisampleEXT = (PFNGLTEXSTORAGEMEM2DMULTISAMPLEEXTPROC)load(\"glTexStorageMem2DMultisampleEXT\");\n\tglad_glTexStorageMem3DEXT = (PFNGLTEXSTORAGEMEM3DEXTPROC)load(\"glTexStorageMem3DEXT\");\n\tglad_glTexStorageMem3DMultisampleEXT = (PFNGLTEXSTORAGEMEM3DMULTISAMPLEEXTPROC)load(\"glTexStorageMem3DMultisampleEXT\");\n\tglad_glBufferStorageMemEXT = (PFNGLBUFFERSTORAGEMEMEXTPROC)load(\"glBufferStorageMemEXT\");\n\tglad_glTextureStorageMem2DEXT = (PFNGLTEXTURESTORAGEMEM2DEXTPROC)load(\"glTextureStorageMem2DEXT\");\n\tglad_glTextureStorageMem2DMultisampleEXT = (PFNGLTEXTURESTORAGEMEM2DMULTISAMPLEEXTPROC)load(\"glTextureStorageMem2DMultisampleEXT\");\n\tglad_glTextureStorageMem3DEXT = (PFNGLTEXTURESTORAGEMEM3DEXTPROC)load(\"glTextureStorageMem3DEXT\");\n\tglad_glTextureStorageMem3DMultisampleEXT = (PFNGLTEXTURESTORAGEMEM3DMULTISAMPLEEXTPROC)load(\"glTextureStorageMem3DMultisampleEXT\");\n\tglad_glNamedBufferStorageMemEXT = (PFNGLNAMEDBUFFERSTORAGEMEMEXTPROC)load(\"glNamedBufferStorageMemEXT\");\n\tglad_glTexStorageMem1DEXT = (PFNGLTEXSTORAGEMEM1DEXTPROC)load(\"glTexStorageMem1DEXT\");\n\tglad_glTextureStorageMem1DEXT = (PFNGLTEXTURESTORAGEMEM1DEXTPROC)load(\"glTextureStorageMem1DEXT\");\n}\nstatic void load_GL_EXT_memory_object_fd(GLADloadproc load) {\n\tif(!GLAD_GL_EXT_memory_object_fd) return;\n\tglad_glImportMemoryFdEXT = (PFNGLIMPORTMEMORYFDEXTPROC)load(\"glImportMemoryFdEXT\");\n}\nstatic void load_GL_EXT_memory_object_win32(GLADloadproc load) {\n\tif(!GLAD_GL_EXT_memory_object_win32) return;\n\tglad_glImportMemoryWin32HandleEXT = (PFNGLIMPORTMEMORYWIN32HANDLEEXTPROC)load(\"glImportMemoryWin32HandleEXT\");\n\tglad_glImportMemoryWin32NameEXT = (PFNGLIMPORTMEMORYWIN32NAMEEXTPROC)load(\"glImportMemoryWin32NameEXT\");\n}\nstatic void load_GL_EXT_multi_draw_arrays(GLADloadproc load) {\n\tif(!GLAD_GL_EXT_multi_draw_arrays) return;\n\tglad_glMultiDrawArraysEXT = (PFNGLMULTIDRAWARRAYSEXTPROC)load(\"glMultiDrawArraysEXT\");\n\tglad_glMultiDrawElementsEXT = (PFNGLMULTIDRAWELEMENTSEXTPROC)load(\"glMultiDrawElementsEXT\");\n}\nstatic void load_GL_EXT_multisample(GLADloadproc load) {\n\tif(!GLAD_GL_EXT_multisample) return;\n\tglad_glSampleMaskEXT = (PFNGLSAMPLEMASKEXTPROC)load(\"glSampleMaskEXT\");\n\tglad_glSamplePatternEXT = (PFNGLSAMPLEPATTERNEXTPROC)load(\"glSamplePatternEXT\");\n}\nstatic void load_GL_EXT_paletted_texture(GLADloadproc load) {\n\tif(!GLAD_GL_EXT_paletted_texture) return;\n\tglad_glColorTableEXT = (PFNGLCOLORTABLEEXTPROC)load(\"glColorTableEXT\");\n\tglad_glGetColorTableEXT = (PFNGLGETCOLORTABLEEXTPROC)load(\"glGetColorTableEXT\");\n\tglad_glGetColorTableParameterivEXT = (PFNGLGETCOLORTABLEPARAMETERIVEXTPROC)load(\"glGetColorTableParameterivEXT\");\n\tglad_glGetColorTableParameterfvEXT = (PFNGLGETCOLORTABLEPARAMETERFVEXTPROC)load(\"glGetColorTableParameterfvEXT\");\n}\nstatic void load_GL_EXT_pixel_transform(GLADloadproc load) {\n\tif(!GLAD_GL_EXT_pixel_transform) return;\n\tglad_glPixelTransformParameteriEXT = (PFNGLPIXELTRANSFORMPARAMETERIEXTPROC)load(\"glPixelTransformParameteriEXT\");\n\tglad_glPixelTransformParameterfEXT = (PFNGLPIXELTRANSFORMPARAMETERFEXTPROC)load(\"glPixelTransformParameterfEXT\");\n\tglad_glPixelTransformParameterivEXT = (PFNGLPIXELTRANSFORMPARAMETERIVEXTPROC)load(\"glPixelTransformParameterivEXT\");\n\tglad_glPixelTransformParameterfvEXT = (PFNGLPIXELTRANSFORMPARAMETERFVEXTPROC)load(\"glPixelTransformParameterfvEXT\");\n\tglad_glGetPixelTransformParameterivEXT = (PFNGLGETPIXELTRANSFORMPARAMETERIVEXTPROC)load(\"glGetPixelTransformParameterivEXT\");\n\tglad_glGetPixelTransformParameterfvEXT = (PFNGLGETPIXELTRANSFORMPARAMETERFVEXTPROC)load(\"glGetPixelTransformParameterfvEXT\");\n}\nstatic void load_GL_EXT_point_parameters(GLADloadproc load) {\n\tif(!GLAD_GL_EXT_point_parameters) return;\n\tglad_glPointParameterfEXT = (PFNGLPOINTPARAMETERFEXTPROC)load(\"glPointParameterfEXT\");\n\tglad_glPointParameterfvEXT = (PFNGLPOINTPARAMETERFVEXTPROC)load(\"glPointParameterfvEXT\");\n}\nstatic void load_GL_EXT_polygon_offset(GLADloadproc load) {\n\tif(!GLAD_GL_EXT_polygon_offset) return;\n\tglad_glPolygonOffsetEXT = (PFNGLPOLYGONOFFSETEXTPROC)load(\"glPolygonOffsetEXT\");\n}\nstatic void load_GL_EXT_polygon_offset_clamp(GLADloadproc load) {\n\tif(!GLAD_GL_EXT_polygon_offset_clamp) return;\n\tglad_glPolygonOffsetClampEXT = (PFNGLPOLYGONOFFSETCLAMPEXTPROC)load(\"glPolygonOffsetClampEXT\");\n}\nstatic void load_GL_EXT_provoking_vertex(GLADloadproc load) {\n\tif(!GLAD_GL_EXT_provoking_vertex) return;\n\tglad_glProvokingVertexEXT = (PFNGLPROVOKINGVERTEXEXTPROC)load(\"glProvokingVertexEXT\");\n}\nstatic void load_GL_EXT_raster_multisample(GLADloadproc load) {\n\tif(!GLAD_GL_EXT_raster_multisample) return;\n\tglad_glRasterSamplesEXT = (PFNGLRASTERSAMPLESEXTPROC)load(\"glRasterSamplesEXT\");\n}\nstatic void load_GL_EXT_secondary_color(GLADloadproc load) {\n\tif(!GLAD_GL_EXT_secondary_color) return;\n\tglad_glSecondaryColor3bEXT = (PFNGLSECONDARYCOLOR3BEXTPROC)load(\"glSecondaryColor3bEXT\");\n\tglad_glSecondaryColor3bvEXT = (PFNGLSECONDARYCOLOR3BVEXTPROC)load(\"glSecondaryColor3bvEXT\");\n\tglad_glSecondaryColor3dEXT = (PFNGLSECONDARYCOLOR3DEXTPROC)load(\"glSecondaryColor3dEXT\");\n\tglad_glSecondaryColor3dvEXT = (PFNGLSECONDARYCOLOR3DVEXTPROC)load(\"glSecondaryColor3dvEXT\");\n\tglad_glSecondaryColor3fEXT = (PFNGLSECONDARYCOLOR3FEXTPROC)load(\"glSecondaryColor3fEXT\");\n\tglad_glSecondaryColor3fvEXT = (PFNGLSECONDARYCOLOR3FVEXTPROC)load(\"glSecondaryColor3fvEXT\");\n\tglad_glSecondaryColor3iEXT = (PFNGLSECONDARYCOLOR3IEXTPROC)load(\"glSecondaryColor3iEXT\");\n\tglad_glSecondaryColor3ivEXT = (PFNGLSECONDARYCOLOR3IVEXTPROC)load(\"glSecondaryColor3ivEXT\");\n\tglad_glSecondaryColor3sEXT = (PFNGLSECONDARYCOLOR3SEXTPROC)load(\"glSecondaryColor3sEXT\");\n\tglad_glSecondaryColor3svEXT = (PFNGLSECONDARYCOLOR3SVEXTPROC)load(\"glSecondaryColor3svEXT\");\n\tglad_glSecondaryColor3ubEXT = (PFNGLSECONDARYCOLOR3UBEXTPROC)load(\"glSecondaryColor3ubEXT\");\n\tglad_glSecondaryColor3ubvEXT = (PFNGLSECONDARYCOLOR3UBVEXTPROC)load(\"glSecondaryColor3ubvEXT\");\n\tglad_glSecondaryColor3uiEXT = (PFNGLSECONDARYCOLOR3UIEXTPROC)load(\"glSecondaryColor3uiEXT\");\n\tglad_glSecondaryColor3uivEXT = (PFNGLSECONDARYCOLOR3UIVEXTPROC)load(\"glSecondaryColor3uivEXT\");\n\tglad_glSecondaryColor3usEXT = (PFNGLSECONDARYCOLOR3USEXTPROC)load(\"glSecondaryColor3usEXT\");\n\tglad_glSecondaryColor3usvEXT = (PFNGLSECONDARYCOLOR3USVEXTPROC)load(\"glSecondaryColor3usvEXT\");\n\tglad_glSecondaryColorPointerEXT = (PFNGLSECONDARYCOLORPOINTEREXTPROC)load(\"glSecondaryColorPointerEXT\");\n}\nstatic void load_GL_EXT_semaphore(GLADloadproc load) {\n\tif(!GLAD_GL_EXT_semaphore) return;\n\tglad_glGetUnsignedBytevEXT = (PFNGLGETUNSIGNEDBYTEVEXTPROC)load(\"glGetUnsignedBytevEXT\");\n\tglad_glGetUnsignedBytei_vEXT = (PFNGLGETUNSIGNEDBYTEI_VEXTPROC)load(\"glGetUnsignedBytei_vEXT\");\n\tglad_glGenSemaphoresEXT = (PFNGLGENSEMAPHORESEXTPROC)load(\"glGenSemaphoresEXT\");\n\tglad_glDeleteSemaphoresEXT = (PFNGLDELETESEMAPHORESEXTPROC)load(\"glDeleteSemaphoresEXT\");\n\tglad_glIsSemaphoreEXT = (PFNGLISSEMAPHOREEXTPROC)load(\"glIsSemaphoreEXT\");\n\tglad_glSemaphoreParameterui64vEXT = (PFNGLSEMAPHOREPARAMETERUI64VEXTPROC)load(\"glSemaphoreParameterui64vEXT\");\n\tglad_glGetSemaphoreParameterui64vEXT = (PFNGLGETSEMAPHOREPARAMETERUI64VEXTPROC)load(\"glGetSemaphoreParameterui64vEXT\");\n\tglad_glWaitSemaphoreEXT = (PFNGLWAITSEMAPHOREEXTPROC)load(\"glWaitSemaphoreEXT\");\n\tglad_glSignalSemaphoreEXT = (PFNGLSIGNALSEMAPHOREEXTPROC)load(\"glSignalSemaphoreEXT\");\n}\nstatic void load_GL_EXT_semaphore_fd(GLADloadproc load) {\n\tif(!GLAD_GL_EXT_semaphore_fd) return;\n\tglad_glImportSemaphoreFdEXT = (PFNGLIMPORTSEMAPHOREFDEXTPROC)load(\"glImportSemaphoreFdEXT\");\n}\nstatic void load_GL_EXT_semaphore_win32(GLADloadproc load) {\n\tif(!GLAD_GL_EXT_semaphore_win32) return;\n\tglad_glImportSemaphoreWin32HandleEXT = (PFNGLIMPORTSEMAPHOREWIN32HANDLEEXTPROC)load(\"glImportSemaphoreWin32HandleEXT\");\n\tglad_glImportSemaphoreWin32NameEXT = (PFNGLIMPORTSEMAPHOREWIN32NAMEEXTPROC)load(\"glImportSemaphoreWin32NameEXT\");\n}\nstatic void load_GL_EXT_separate_shader_objects(GLADloadproc load) {\n\tif(!GLAD_GL_EXT_separate_shader_objects) return;\n\tglad_glUseShaderProgramEXT = (PFNGLUSESHADERPROGRAMEXTPROC)load(\"glUseShaderProgramEXT\");\n\tglad_glActiveProgramEXT = (PFNGLACTIVEPROGRAMEXTPROC)load(\"glActiveProgramEXT\");\n\tglad_glCreateShaderProgramEXT = (PFNGLCREATESHADERPROGRAMEXTPROC)load(\"glCreateShaderProgramEXT\");\n\tglad_glActiveShaderProgramEXT = (PFNGLACTIVESHADERPROGRAMEXTPROC)load(\"glActiveShaderProgramEXT\");\n\tglad_glBindProgramPipelineEXT = (PFNGLBINDPROGRAMPIPELINEEXTPROC)load(\"glBindProgramPipelineEXT\");\n\tglad_glCreateShaderProgramvEXT = (PFNGLCREATESHADERPROGRAMVEXTPROC)load(\"glCreateShaderProgramvEXT\");\n\tglad_glDeleteProgramPipelinesEXT = (PFNGLDELETEPROGRAMPIPELINESEXTPROC)load(\"glDeleteProgramPipelinesEXT\");\n\tglad_glGenProgramPipelinesEXT = (PFNGLGENPROGRAMPIPELINESEXTPROC)load(\"glGenProgramPipelinesEXT\");\n\tglad_glGetProgramPipelineInfoLogEXT = (PFNGLGETPROGRAMPIPELINEINFOLOGEXTPROC)load(\"glGetProgramPipelineInfoLogEXT\");\n\tglad_glGetProgramPipelineivEXT = (PFNGLGETPROGRAMPIPELINEIVEXTPROC)load(\"glGetProgramPipelineivEXT\");\n\tglad_glIsProgramPipelineEXT = (PFNGLISPROGRAMPIPELINEEXTPROC)load(\"glIsProgramPipelineEXT\");\n\tglad_glProgramParameteriEXT = (PFNGLPROGRAMPARAMETERIEXTPROC)load(\"glProgramParameteriEXT\");\n\tglad_glProgramUniform1fEXT = (PFNGLPROGRAMUNIFORM1FEXTPROC)load(\"glProgramUniform1fEXT\");\n\tglad_glProgramUniform1fvEXT = (PFNGLPROGRAMUNIFORM1FVEXTPROC)load(\"glProgramUniform1fvEXT\");\n\tglad_glProgramUniform1iEXT = (PFNGLPROGRAMUNIFORM1IEXTPROC)load(\"glProgramUniform1iEXT\");\n\tglad_glProgramUniform1ivEXT = (PFNGLPROGRAMUNIFORM1IVEXTPROC)load(\"glProgramUniform1ivEXT\");\n\tglad_glProgramUniform2fEXT = (PFNGLPROGRAMUNIFORM2FEXTPROC)load(\"glProgramUniform2fEXT\");\n\tglad_glProgramUniform2fvEXT = (PFNGLPROGRAMUNIFORM2FVEXTPROC)load(\"glProgramUniform2fvEXT\");\n\tglad_glProgramUniform2iEXT = (PFNGLPROGRAMUNIFORM2IEXTPROC)load(\"glProgramUniform2iEXT\");\n\tglad_glProgramUniform2ivEXT = (PFNGLPROGRAMUNIFORM2IVEXTPROC)load(\"glProgramUniform2ivEXT\");\n\tglad_glProgramUniform3fEXT = (PFNGLPROGRAMUNIFORM3FEXTPROC)load(\"glProgramUniform3fEXT\");\n\tglad_glProgramUniform3fvEXT = (PFNGLPROGRAMUNIFORM3FVEXTPROC)load(\"glProgramUniform3fvEXT\");\n\tglad_glProgramUniform3iEXT = (PFNGLPROGRAMUNIFORM3IEXTPROC)load(\"glProgramUniform3iEXT\");\n\tglad_glProgramUniform3ivEXT = (PFNGLPROGRAMUNIFORM3IVEXTPROC)load(\"glProgramUniform3ivEXT\");\n\tglad_glProgramUniform4fEXT = (PFNGLPROGRAMUNIFORM4FEXTPROC)load(\"glProgramUniform4fEXT\");\n\tglad_glProgramUniform4fvEXT = (PFNGLPROGRAMUNIFORM4FVEXTPROC)load(\"glProgramUniform4fvEXT\");\n\tglad_glProgramUniform4iEXT = (PFNGLPROGRAMUNIFORM4IEXTPROC)load(\"glProgramUniform4iEXT\");\n\tglad_glProgramUniform4ivEXT = (PFNGLPROGRAMUNIFORM4IVEXTPROC)load(\"glProgramUniform4ivEXT\");\n\tglad_glProgramUniformMatrix2fvEXT = (PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC)load(\"glProgramUniformMatrix2fvEXT\");\n\tglad_glProgramUniformMatrix3fvEXT = (PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC)load(\"glProgramUniformMatrix3fvEXT\");\n\tglad_glProgramUniformMatrix4fvEXT = (PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC)load(\"glProgramUniformMatrix4fvEXT\");\n\tglad_glUseProgramStagesEXT = (PFNGLUSEPROGRAMSTAGESEXTPROC)load(\"glUseProgramStagesEXT\");\n\tglad_glValidateProgramPipelineEXT = (PFNGLVALIDATEPROGRAMPIPELINEEXTPROC)load(\"glValidateProgramPipelineEXT\");\n\tglad_glProgramUniform1uiEXT = (PFNGLPROGRAMUNIFORM1UIEXTPROC)load(\"glProgramUniform1uiEXT\");\n\tglad_glProgramUniform2uiEXT = (PFNGLPROGRAMUNIFORM2UIEXTPROC)load(\"glProgramUniform2uiEXT\");\n\tglad_glProgramUniform3uiEXT = (PFNGLPROGRAMUNIFORM3UIEXTPROC)load(\"glProgramUniform3uiEXT\");\n\tglad_glProgramUniform4uiEXT = (PFNGLPROGRAMUNIFORM4UIEXTPROC)load(\"glProgramUniform4uiEXT\");\n\tglad_glProgramUniform1uivEXT = (PFNGLPROGRAMUNIFORM1UIVEXTPROC)load(\"glProgramUniform1uivEXT\");\n\tglad_glProgramUniform2uivEXT = (PFNGLPROGRAMUNIFORM2UIVEXTPROC)load(\"glProgramUniform2uivEXT\");\n\tglad_glProgramUniform3uivEXT = (PFNGLPROGRAMUNIFORM3UIVEXTPROC)load(\"glProgramUniform3uivEXT\");\n\tglad_glProgramUniform4uivEXT = (PFNGLPROGRAMUNIFORM4UIVEXTPROC)load(\"glProgramUniform4uivEXT\");\n\tglad_glProgramUniformMatrix4fvEXT = (PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC)load(\"glProgramUniformMatrix4fvEXT\");\n\tglad_glProgramUniformMatrix2x3fvEXT = (PFNGLPROGRAMUNIFORMMATRIX2X3FVEXTPROC)load(\"glProgramUniformMatrix2x3fvEXT\");\n\tglad_glProgramUniformMatrix3x2fvEXT = (PFNGLPROGRAMUNIFORMMATRIX3X2FVEXTPROC)load(\"glProgramUniformMatrix3x2fvEXT\");\n\tglad_glProgramUniformMatrix2x4fvEXT = (PFNGLPROGRAMUNIFORMMATRIX2X4FVEXTPROC)load(\"glProgramUniformMatrix2x4fvEXT\");\n\tglad_glProgramUniformMatrix4x2fvEXT = (PFNGLPROGRAMUNIFORMMATRIX4X2FVEXTPROC)load(\"glProgramUniformMatrix4x2fvEXT\");\n\tglad_glProgramUniformMatrix3x4fvEXT = (PFNGLPROGRAMUNIFORMMATRIX3X4FVEXTPROC)load(\"glProgramUniformMatrix3x4fvEXT\");\n\tglad_glProgramUniformMatrix4x3fvEXT = (PFNGLPROGRAMUNIFORMMATRIX4X3FVEXTPROC)load(\"glProgramUniformMatrix4x3fvEXT\");\n}\nstatic void load_GL_EXT_shader_image_load_store(GLADloadproc load) {\n\tif(!GLAD_GL_EXT_shader_image_load_store) return;\n\tglad_glBindImageTextureEXT = (PFNGLBINDIMAGETEXTUREEXTPROC)load(\"glBindImageTextureEXT\");\n\tglad_glMemoryBarrierEXT = (PFNGLMEMORYBARRIEREXTPROC)load(\"glMemoryBarrierEXT\");\n}\nstatic void load_GL_EXT_stencil_clear_tag(GLADloadproc load) {\n\tif(!GLAD_GL_EXT_stencil_clear_tag) return;\n\tglad_glStencilClearTagEXT = (PFNGLSTENCILCLEARTAGEXTPROC)load(\"glStencilClearTagEXT\");\n}\nstatic void load_GL_EXT_stencil_two_side(GLADloadproc load) {\n\tif(!GLAD_GL_EXT_stencil_two_side) return;\n\tglad_glActiveStencilFaceEXT = (PFNGLACTIVESTENCILFACEEXTPROC)load(\"glActiveStencilFaceEXT\");\n}\nstatic void load_GL_EXT_subtexture(GLADloadproc load) {\n\tif(!GLAD_GL_EXT_subtexture) return;\n\tglad_glTexSubImage1DEXT = (PFNGLTEXSUBIMAGE1DEXTPROC)load(\"glTexSubImage1DEXT\");\n\tglad_glTexSubImage2DEXT = (PFNGLTEXSUBIMAGE2DEXTPROC)load(\"glTexSubImage2DEXT\");\n}\nstatic void load_GL_EXT_texture3D(GLADloadproc load) {\n\tif(!GLAD_GL_EXT_texture3D) return;\n\tglad_glTexImage3DEXT = (PFNGLTEXIMAGE3DEXTPROC)load(\"glTexImage3DEXT\");\n\tglad_glTexSubImage3DEXT = (PFNGLTEXSUBIMAGE3DEXTPROC)load(\"glTexSubImage3DEXT\");\n}\nstatic void load_GL_EXT_texture_array(GLADloadproc load) {\n\tif(!GLAD_GL_EXT_texture_array) return;\n\tglad_glFramebufferTextureLayerEXT = (PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC)load(\"glFramebufferTextureLayerEXT\");\n}\nstatic void load_GL_EXT_texture_buffer_object(GLADloadproc load) {\n\tif(!GLAD_GL_EXT_texture_buffer_object) return;\n\tglad_glTexBufferEXT = (PFNGLTEXBUFFEREXTPROC)load(\"glTexBufferEXT\");\n}\nstatic void load_GL_EXT_texture_filter_minmax(GLADloadproc load) {\n\tif(!GLAD_GL_EXT_texture_filter_minmax) return;\n\tglad_glRasterSamplesEXT = (PFNGLRASTERSAMPLESEXTPROC)load(\"glRasterSamplesEXT\");\n}\nstatic void load_GL_EXT_texture_integer(GLADloadproc load) {\n\tif(!GLAD_GL_EXT_texture_integer) return;\n\tglad_glTexParameterIivEXT = (PFNGLTEXPARAMETERIIVEXTPROC)load(\"glTexParameterIivEXT\");\n\tglad_glTexParameterIuivEXT = (PFNGLTEXPARAMETERIUIVEXTPROC)load(\"glTexParameterIuivEXT\");\n\tglad_glGetTexParameterIivEXT = (PFNGLGETTEXPARAMETERIIVEXTPROC)load(\"glGetTexParameterIivEXT\");\n\tglad_glGetTexParameterIuivEXT = (PFNGLGETTEXPARAMETERIUIVEXTPROC)load(\"glGetTexParameterIuivEXT\");\n\tglad_glClearColorIiEXT = (PFNGLCLEARCOLORIIEXTPROC)load(\"glClearColorIiEXT\");\n\tglad_glClearColorIuiEXT = (PFNGLCLEARCOLORIUIEXTPROC)load(\"glClearColorIuiEXT\");\n}\nstatic void load_GL_EXT_texture_object(GLADloadproc load) {\n\tif(!GLAD_GL_EXT_texture_object) return;\n\tglad_glAreTexturesResidentEXT = (PFNGLARETEXTURESRESIDENTEXTPROC)load(\"glAreTexturesResidentEXT\");\n\tglad_glBindTextureEXT = (PFNGLBINDTEXTUREEXTPROC)load(\"glBindTextureEXT\");\n\tglad_glDeleteTexturesEXT = (PFNGLDELETETEXTURESEXTPROC)load(\"glDeleteTexturesEXT\");\n\tglad_glGenTexturesEXT = (PFNGLGENTEXTURESEXTPROC)load(\"glGenTexturesEXT\");\n\tglad_glIsTextureEXT = (PFNGLISTEXTUREEXTPROC)load(\"glIsTextureEXT\");\n\tglad_glPrioritizeTexturesEXT = (PFNGLPRIORITIZETEXTURESEXTPROC)load(\"glPrioritizeTexturesEXT\");\n}\nstatic void load_GL_EXT_texture_perturb_normal(GLADloadproc load) {\n\tif(!GLAD_GL_EXT_texture_perturb_normal) return;\n\tglad_glTextureNormalEXT = (PFNGLTEXTURENORMALEXTPROC)load(\"glTextureNormalEXT\");\n}\nstatic void load_GL_EXT_timer_query(GLADloadproc load) {\n\tif(!GLAD_GL_EXT_timer_query) return;\n\tglad_glGetQueryObjecti64vEXT = (PFNGLGETQUERYOBJECTI64VEXTPROC)load(\"glGetQueryObjecti64vEXT\");\n\tglad_glGetQueryObjectui64vEXT = (PFNGLGETQUERYOBJECTUI64VEXTPROC)load(\"glGetQueryObjectui64vEXT\");\n}\nstatic void load_GL_EXT_transform_feedback(GLADloadproc load) {\n\tif(!GLAD_GL_EXT_transform_feedback) return;\n\tglad_glBeginTransformFeedbackEXT = (PFNGLBEGINTRANSFORMFEEDBACKEXTPROC)load(\"glBeginTransformFeedbackEXT\");\n\tglad_glEndTransformFeedbackEXT = (PFNGLENDTRANSFORMFEEDBACKEXTPROC)load(\"glEndTransformFeedbackEXT\");\n\tglad_glBindBufferRangeEXT = (PFNGLBINDBUFFERRANGEEXTPROC)load(\"glBindBufferRangeEXT\");\n\tglad_glBindBufferOffsetEXT = (PFNGLBINDBUFFEROFFSETEXTPROC)load(\"glBindBufferOffsetEXT\");\n\tglad_glBindBufferBaseEXT = (PFNGLBINDBUFFERBASEEXTPROC)load(\"glBindBufferBaseEXT\");\n\tglad_glTransformFeedbackVaryingsEXT = (PFNGLTRANSFORMFEEDBACKVARYINGSEXTPROC)load(\"glTransformFeedbackVaryingsEXT\");\n\tglad_glGetTransformFeedbackVaryingEXT = (PFNGLGETTRANSFORMFEEDBACKVARYINGEXTPROC)load(\"glGetTransformFeedbackVaryingEXT\");\n}\nstatic void load_GL_EXT_vertex_array(GLADloadproc load) {\n\tif(!GLAD_GL_EXT_vertex_array) return;\n\tglad_glArrayElementEXT = (PFNGLARRAYELEMENTEXTPROC)load(\"glArrayElementEXT\");\n\tglad_glColorPointerEXT = (PFNGLCOLORPOINTEREXTPROC)load(\"glColorPointerEXT\");\n\tglad_glDrawArraysEXT = (PFNGLDRAWARRAYSEXTPROC)load(\"glDrawArraysEXT\");\n\tglad_glEdgeFlagPointerEXT = (PFNGLEDGEFLAGPOINTEREXTPROC)load(\"glEdgeFlagPointerEXT\");\n\tglad_glGetPointervEXT = (PFNGLGETPOINTERVEXTPROC)load(\"glGetPointervEXT\");\n\tglad_glIndexPointerEXT = (PFNGLINDEXPOINTEREXTPROC)load(\"glIndexPointerEXT\");\n\tglad_glNormalPointerEXT = (PFNGLNORMALPOINTEREXTPROC)load(\"glNormalPointerEXT\");\n\tglad_glTexCoordPointerEXT = (PFNGLTEXCOORDPOINTEREXTPROC)load(\"glTexCoordPointerEXT\");\n\tglad_glVertexPointerEXT = (PFNGLVERTEXPOINTEREXTPROC)load(\"glVertexPointerEXT\");\n}\nstatic void load_GL_EXT_vertex_attrib_64bit(GLADloadproc load) {\n\tif(!GLAD_GL_EXT_vertex_attrib_64bit) return;\n\tglad_glVertexAttribL1dEXT = (PFNGLVERTEXATTRIBL1DEXTPROC)load(\"glVertexAttribL1dEXT\");\n\tglad_glVertexAttribL2dEXT = (PFNGLVERTEXATTRIBL2DEXTPROC)load(\"glVertexAttribL2dEXT\");\n\tglad_glVertexAttribL3dEXT = (PFNGLVERTEXATTRIBL3DEXTPROC)load(\"glVertexAttribL3dEXT\");\n\tglad_glVertexAttribL4dEXT = (PFNGLVERTEXATTRIBL4DEXTPROC)load(\"glVertexAttribL4dEXT\");\n\tglad_glVertexAttribL1dvEXT = (PFNGLVERTEXATTRIBL1DVEXTPROC)load(\"glVertexAttribL1dvEXT\");\n\tglad_glVertexAttribL2dvEXT = (PFNGLVERTEXATTRIBL2DVEXTPROC)load(\"glVertexAttribL2dvEXT\");\n\tglad_glVertexAttribL3dvEXT = (PFNGLVERTEXATTRIBL3DVEXTPROC)load(\"glVertexAttribL3dvEXT\");\n\tglad_glVertexAttribL4dvEXT = (PFNGLVERTEXATTRIBL4DVEXTPROC)load(\"glVertexAttribL4dvEXT\");\n\tglad_glVertexAttribLPointerEXT = (PFNGLVERTEXATTRIBLPOINTEREXTPROC)load(\"glVertexAttribLPointerEXT\");\n\tglad_glGetVertexAttribLdvEXT = (PFNGLGETVERTEXATTRIBLDVEXTPROC)load(\"glGetVertexAttribLdvEXT\");\n}\nstatic void load_GL_EXT_vertex_shader(GLADloadproc load) {\n\tif(!GLAD_GL_EXT_vertex_shader) return;\n\tglad_glBeginVertexShaderEXT = (PFNGLBEGINVERTEXSHADEREXTPROC)load(\"glBeginVertexShaderEXT\");\n\tglad_glEndVertexShaderEXT = (PFNGLENDVERTEXSHADEREXTPROC)load(\"glEndVertexShaderEXT\");\n\tglad_glBindVertexShaderEXT = (PFNGLBINDVERTEXSHADEREXTPROC)load(\"glBindVertexShaderEXT\");\n\tglad_glGenVertexShadersEXT = (PFNGLGENVERTEXSHADERSEXTPROC)load(\"glGenVertexShadersEXT\");\n\tglad_glDeleteVertexShaderEXT = (PFNGLDELETEVERTEXSHADEREXTPROC)load(\"glDeleteVertexShaderEXT\");\n\tglad_glShaderOp1EXT = (PFNGLSHADEROP1EXTPROC)load(\"glShaderOp1EXT\");\n\tglad_glShaderOp2EXT = (PFNGLSHADEROP2EXTPROC)load(\"glShaderOp2EXT\");\n\tglad_glShaderOp3EXT = (PFNGLSHADEROP3EXTPROC)load(\"glShaderOp3EXT\");\n\tglad_glSwizzleEXT = (PFNGLSWIZZLEEXTPROC)load(\"glSwizzleEXT\");\n\tglad_glWriteMaskEXT = (PFNGLWRITEMASKEXTPROC)load(\"glWriteMaskEXT\");\n\tglad_glInsertComponentEXT = (PFNGLINSERTCOMPONENTEXTPROC)load(\"glInsertComponentEXT\");\n\tglad_glExtractComponentEXT = (PFNGLEXTRACTCOMPONENTEXTPROC)load(\"glExtractComponentEXT\");\n\tglad_glGenSymbolsEXT = (PFNGLGENSYMBOLSEXTPROC)load(\"glGenSymbolsEXT\");\n\tglad_glSetInvariantEXT = (PFNGLSETINVARIANTEXTPROC)load(\"glSetInvariantEXT\");\n\tglad_glSetLocalConstantEXT = (PFNGLSETLOCALCONSTANTEXTPROC)load(\"glSetLocalConstantEXT\");\n\tglad_glVariantbvEXT = (PFNGLVARIANTBVEXTPROC)load(\"glVariantbvEXT\");\n\tglad_glVariantsvEXT = (PFNGLVARIANTSVEXTPROC)load(\"glVariantsvEXT\");\n\tglad_glVariantivEXT = (PFNGLVARIANTIVEXTPROC)load(\"glVariantivEXT\");\n\tglad_glVariantfvEXT = (PFNGLVARIANTFVEXTPROC)load(\"glVariantfvEXT\");\n\tglad_glVariantdvEXT = (PFNGLVARIANTDVEXTPROC)load(\"glVariantdvEXT\");\n\tglad_glVariantubvEXT = (PFNGLVARIANTUBVEXTPROC)load(\"glVariantubvEXT\");\n\tglad_glVariantusvEXT = (PFNGLVARIANTUSVEXTPROC)load(\"glVariantusvEXT\");\n\tglad_glVariantuivEXT = (PFNGLVARIANTUIVEXTPROC)load(\"glVariantuivEXT\");\n\tglad_glVariantPointerEXT = (PFNGLVARIANTPOINTEREXTPROC)load(\"glVariantPointerEXT\");\n\tglad_glEnableVariantClientStateEXT = (PFNGLENABLEVARIANTCLIENTSTATEEXTPROC)load(\"glEnableVariantClientStateEXT\");\n\tglad_glDisableVariantClientStateEXT = (PFNGLDISABLEVARIANTCLIENTSTATEEXTPROC)load(\"glDisableVariantClientStateEXT\");\n\tglad_glBindLightParameterEXT = (PFNGLBINDLIGHTPARAMETEREXTPROC)load(\"glBindLightParameterEXT\");\n\tglad_glBindMaterialParameterEXT = (PFNGLBINDMATERIALPARAMETEREXTPROC)load(\"glBindMaterialParameterEXT\");\n\tglad_glBindTexGenParameterEXT = (PFNGLBINDTEXGENPARAMETEREXTPROC)load(\"glBindTexGenParameterEXT\");\n\tglad_glBindTextureUnitParameterEXT = (PFNGLBINDTEXTUREUNITPARAMETEREXTPROC)load(\"glBindTextureUnitParameterEXT\");\n\tglad_glBindParameterEXT = (PFNGLBINDPARAMETEREXTPROC)load(\"glBindParameterEXT\");\n\tglad_glIsVariantEnabledEXT = (PFNGLISVARIANTENABLEDEXTPROC)load(\"glIsVariantEnabledEXT\");\n\tglad_glGetVariantBooleanvEXT = (PFNGLGETVARIANTBOOLEANVEXTPROC)load(\"glGetVariantBooleanvEXT\");\n\tglad_glGetVariantIntegervEXT = (PFNGLGETVARIANTINTEGERVEXTPROC)load(\"glGetVariantIntegervEXT\");\n\tglad_glGetVariantFloatvEXT = (PFNGLGETVARIANTFLOATVEXTPROC)load(\"glGetVariantFloatvEXT\");\n\tglad_glGetVariantPointervEXT = (PFNGLGETVARIANTPOINTERVEXTPROC)load(\"glGetVariantPointervEXT\");\n\tglad_glGetInvariantBooleanvEXT = (PFNGLGETINVARIANTBOOLEANVEXTPROC)load(\"glGetInvariantBooleanvEXT\");\n\tglad_glGetInvariantIntegervEXT = (PFNGLGETINVARIANTINTEGERVEXTPROC)load(\"glGetInvariantIntegervEXT\");\n\tglad_glGetInvariantFloatvEXT = (PFNGLGETINVARIANTFLOATVEXTPROC)load(\"glGetInvariantFloatvEXT\");\n\tglad_glGetLocalConstantBooleanvEXT = (PFNGLGETLOCALCONSTANTBOOLEANVEXTPROC)load(\"glGetLocalConstantBooleanvEXT\");\n\tglad_glGetLocalConstantIntegervEXT = (PFNGLGETLOCALCONSTANTINTEGERVEXTPROC)load(\"glGetLocalConstantIntegervEXT\");\n\tglad_glGetLocalConstantFloatvEXT = (PFNGLGETLOCALCONSTANTFLOATVEXTPROC)load(\"glGetLocalConstantFloatvEXT\");\n}\nstatic void load_GL_EXT_vertex_weighting(GLADloadproc load) {\n\tif(!GLAD_GL_EXT_vertex_weighting) return;\n\tglad_glVertexWeightfEXT = (PFNGLVERTEXWEIGHTFEXTPROC)load(\"glVertexWeightfEXT\");\n\tglad_glVertexWeightfvEXT = (PFNGLVERTEXWEIGHTFVEXTPROC)load(\"glVertexWeightfvEXT\");\n\tglad_glVertexWeightPointerEXT = (PFNGLVERTEXWEIGHTPOINTEREXTPROC)load(\"glVertexWeightPointerEXT\");\n}\nstatic void load_GL_EXT_win32_keyed_mutex(GLADloadproc load) {\n\tif(!GLAD_GL_EXT_win32_keyed_mutex) return;\n\tglad_glAcquireKeyedMutexWin32EXT = (PFNGLACQUIREKEYEDMUTEXWIN32EXTPROC)load(\"glAcquireKeyedMutexWin32EXT\");\n\tglad_glReleaseKeyedMutexWin32EXT = (PFNGLRELEASEKEYEDMUTEXWIN32EXTPROC)load(\"glReleaseKeyedMutexWin32EXT\");\n}\nstatic void load_GL_EXT_window_rectangles(GLADloadproc load) {\n\tif(!GLAD_GL_EXT_window_rectangles) return;\n\tglad_glWindowRectanglesEXT = (PFNGLWINDOWRECTANGLESEXTPROC)load(\"glWindowRectanglesEXT\");\n}\nstatic void load_GL_EXT_x11_sync_object(GLADloadproc load) {\n\tif(!GLAD_GL_EXT_x11_sync_object) return;\n\tglad_glImportSyncEXT = (PFNGLIMPORTSYNCEXTPROC)load(\"glImportSyncEXT\");\n}\nstatic void load_GL_GREMEDY_frame_terminator(GLADloadproc load) {\n\tif(!GLAD_GL_GREMEDY_frame_terminator) return;\n\tglad_glFrameTerminatorGREMEDY = (PFNGLFRAMETERMINATORGREMEDYPROC)load(\"glFrameTerminatorGREMEDY\");\n}\nstatic void load_GL_GREMEDY_string_marker(GLADloadproc load) {\n\tif(!GLAD_GL_GREMEDY_string_marker) return;\n\tglad_glStringMarkerGREMEDY = (PFNGLSTRINGMARKERGREMEDYPROC)load(\"glStringMarkerGREMEDY\");\n}\nstatic void load_GL_HP_image_transform(GLADloadproc load) {\n\tif(!GLAD_GL_HP_image_transform) return;\n\tglad_glImageTransformParameteriHP = (PFNGLIMAGETRANSFORMPARAMETERIHPPROC)load(\"glImageTransformParameteriHP\");\n\tglad_glImageTransformParameterfHP = (PFNGLIMAGETRANSFORMPARAMETERFHPPROC)load(\"glImageTransformParameterfHP\");\n\tglad_glImageTransformParameterivHP = (PFNGLIMAGETRANSFORMPARAMETERIVHPPROC)load(\"glImageTransformParameterivHP\");\n\tglad_glImageTransformParameterfvHP = (PFNGLIMAGETRANSFORMPARAMETERFVHPPROC)load(\"glImageTransformParameterfvHP\");\n\tglad_glGetImageTransformParameterivHP = (PFNGLGETIMAGETRANSFORMPARAMETERIVHPPROC)load(\"glGetImageTransformParameterivHP\");\n\tglad_glGetImageTransformParameterfvHP = (PFNGLGETIMAGETRANSFORMPARAMETERFVHPPROC)load(\"glGetImageTransformParameterfvHP\");\n}\nstatic void load_GL_IBM_multimode_draw_arrays(GLADloadproc load) {\n\tif(!GLAD_GL_IBM_multimode_draw_arrays) return;\n\tglad_glMultiModeDrawArraysIBM = (PFNGLMULTIMODEDRAWARRAYSIBMPROC)load(\"glMultiModeDrawArraysIBM\");\n\tglad_glMultiModeDrawElementsIBM = (PFNGLMULTIMODEDRAWELEMENTSIBMPROC)load(\"glMultiModeDrawElementsIBM\");\n}\nstatic void load_GL_IBM_static_data(GLADloadproc load) {\n\tif(!GLAD_GL_IBM_static_data) return;\n\tglad_glFlushStaticDataIBM = (PFNGLFLUSHSTATICDATAIBMPROC)load(\"glFlushStaticDataIBM\");\n}\nstatic void load_GL_IBM_vertex_array_lists(GLADloadproc load) {\n\tif(!GLAD_GL_IBM_vertex_array_lists) return;\n\tglad_glColorPointerListIBM = (PFNGLCOLORPOINTERLISTIBMPROC)load(\"glColorPointerListIBM\");\n\tglad_glSecondaryColorPointerListIBM = (PFNGLSECONDARYCOLORPOINTERLISTIBMPROC)load(\"glSecondaryColorPointerListIBM\");\n\tglad_glEdgeFlagPointerListIBM = (PFNGLEDGEFLAGPOINTERLISTIBMPROC)load(\"glEdgeFlagPointerListIBM\");\n\tglad_glFogCoordPointerListIBM = (PFNGLFOGCOORDPOINTERLISTIBMPROC)load(\"glFogCoordPointerListIBM\");\n\tglad_glIndexPointerListIBM = (PFNGLINDEXPOINTERLISTIBMPROC)load(\"glIndexPointerListIBM\");\n\tglad_glNormalPointerListIBM = (PFNGLNORMALPOINTERLISTIBMPROC)load(\"glNormalPointerListIBM\");\n\tglad_glTexCoordPointerListIBM = (PFNGLTEXCOORDPOINTERLISTIBMPROC)load(\"glTexCoordPointerListIBM\");\n\tglad_glVertexPointerListIBM = (PFNGLVERTEXPOINTERLISTIBMPROC)load(\"glVertexPointerListIBM\");\n}\nstatic void load_GL_INGR_blend_func_separate(GLADloadproc load) {\n\tif(!GLAD_GL_INGR_blend_func_separate) return;\n\tglad_glBlendFuncSeparateINGR = (PFNGLBLENDFUNCSEPARATEINGRPROC)load(\"glBlendFuncSeparateINGR\");\n}\nstatic void load_GL_INTEL_framebuffer_CMAA(GLADloadproc load) {\n\tif(!GLAD_GL_INTEL_framebuffer_CMAA) return;\n\tglad_glApplyFramebufferAttachmentCMAAINTEL = (PFNGLAPPLYFRAMEBUFFERATTACHMENTCMAAINTELPROC)load(\"glApplyFramebufferAttachmentCMAAINTEL\");\n}\nstatic void load_GL_INTEL_map_texture(GLADloadproc load) {\n\tif(!GLAD_GL_INTEL_map_texture) return;\n\tglad_glSyncTextureINTEL = (PFNGLSYNCTEXTUREINTELPROC)load(\"glSyncTextureINTEL\");\n\tglad_glUnmapTexture2DINTEL = (PFNGLUNMAPTEXTURE2DINTELPROC)load(\"glUnmapTexture2DINTEL\");\n\tglad_glMapTexture2DINTEL = (PFNGLMAPTEXTURE2DINTELPROC)load(\"glMapTexture2DINTEL\");\n}\nstatic void load_GL_INTEL_parallel_arrays(GLADloadproc load) {\n\tif(!GLAD_GL_INTEL_parallel_arrays) return;\n\tglad_glVertexPointervINTEL = (PFNGLVERTEXPOINTERVINTELPROC)load(\"glVertexPointervINTEL\");\n\tglad_glNormalPointervINTEL = (PFNGLNORMALPOINTERVINTELPROC)load(\"glNormalPointervINTEL\");\n\tglad_glColorPointervINTEL = (PFNGLCOLORPOINTERVINTELPROC)load(\"glColorPointervINTEL\");\n\tglad_glTexCoordPointervINTEL = (PFNGLTEXCOORDPOINTERVINTELPROC)load(\"glTexCoordPointervINTEL\");\n}\nstatic void load_GL_INTEL_performance_query(GLADloadproc load) {\n\tif(!GLAD_GL_INTEL_performance_query) return;\n\tglad_glBeginPerfQueryINTEL = (PFNGLBEGINPERFQUERYINTELPROC)load(\"glBeginPerfQueryINTEL\");\n\tglad_glCreatePerfQueryINTEL = (PFNGLCREATEPERFQUERYINTELPROC)load(\"glCreatePerfQueryINTEL\");\n\tglad_glDeletePerfQueryINTEL = (PFNGLDELETEPERFQUERYINTELPROC)load(\"glDeletePerfQueryINTEL\");\n\tglad_glEndPerfQueryINTEL = (PFNGLENDPERFQUERYINTELPROC)load(\"glEndPerfQueryINTEL\");\n\tglad_glGetFirstPerfQueryIdINTEL = (PFNGLGETFIRSTPERFQUERYIDINTELPROC)load(\"glGetFirstPerfQueryIdINTEL\");\n\tglad_glGetNextPerfQueryIdINTEL = (PFNGLGETNEXTPERFQUERYIDINTELPROC)load(\"glGetNextPerfQueryIdINTEL\");\n\tglad_glGetPerfCounterInfoINTEL = (PFNGLGETPERFCOUNTERINFOINTELPROC)load(\"glGetPerfCounterInfoINTEL\");\n\tglad_glGetPerfQueryDataINTEL = (PFNGLGETPERFQUERYDATAINTELPROC)load(\"glGetPerfQueryDataINTEL\");\n\tglad_glGetPerfQueryIdByNameINTEL = (PFNGLGETPERFQUERYIDBYNAMEINTELPROC)load(\"glGetPerfQueryIdByNameINTEL\");\n\tglad_glGetPerfQueryInfoINTEL = (PFNGLGETPERFQUERYINFOINTELPROC)load(\"glGetPerfQueryInfoINTEL\");\n}\nstatic void load_GL_KHR_blend_equation_advanced(GLADloadproc load) {\n\tif(!GLAD_GL_KHR_blend_equation_advanced) return;\n\tglad_glBlendBarrierKHR = (PFNGLBLENDBARRIERKHRPROC)load(\"glBlendBarrierKHR\");\n}\nstatic void load_GL_KHR_debug(GLADloadproc load) {\n\tif(!GLAD_GL_KHR_debug) return;\n\tglad_glDebugMessageControl = (PFNGLDEBUGMESSAGECONTROLPROC)load(\"glDebugMessageControl\");\n\tglad_glDebugMessageInsert = (PFNGLDEBUGMESSAGEINSERTPROC)load(\"glDebugMessageInsert\");\n\tglad_glDebugMessageCallback = (PFNGLDEBUGMESSAGECALLBACKPROC)load(\"glDebugMessageCallback\");\n\tglad_glGetDebugMessageLog = (PFNGLGETDEBUGMESSAGELOGPROC)load(\"glGetDebugMessageLog\");\n\tglad_glPushDebugGroup = (PFNGLPUSHDEBUGGROUPPROC)load(\"glPushDebugGroup\");\n\tglad_glPopDebugGroup = (PFNGLPOPDEBUGGROUPPROC)load(\"glPopDebugGroup\");\n\tglad_glObjectLabel = (PFNGLOBJECTLABELPROC)load(\"glObjectLabel\");\n\tglad_glGetObjectLabel = (PFNGLGETOBJECTLABELPROC)load(\"glGetObjectLabel\");\n\tglad_glObjectPtrLabel = (PFNGLOBJECTPTRLABELPROC)load(\"glObjectPtrLabel\");\n\tglad_glGetObjectPtrLabel = (PFNGLGETOBJECTPTRLABELPROC)load(\"glGetObjectPtrLabel\");\n\tglad_glGetPointerv = (PFNGLGETPOINTERVPROC)load(\"glGetPointerv\");\n\tglad_glDebugMessageControlKHR = (PFNGLDEBUGMESSAGECONTROLKHRPROC)load(\"glDebugMessageControlKHR\");\n\tglad_glDebugMessageInsertKHR = (PFNGLDEBUGMESSAGEINSERTKHRPROC)load(\"glDebugMessageInsertKHR\");\n\tglad_glDebugMessageCallbackKHR = (PFNGLDEBUGMESSAGECALLBACKKHRPROC)load(\"glDebugMessageCallbackKHR\");\n\tglad_glGetDebugMessageLogKHR = (PFNGLGETDEBUGMESSAGELOGKHRPROC)load(\"glGetDebugMessageLogKHR\");\n\tglad_glPushDebugGroupKHR = (PFNGLPUSHDEBUGGROUPKHRPROC)load(\"glPushDebugGroupKHR\");\n\tglad_glPopDebugGroupKHR = (PFNGLPOPDEBUGGROUPKHRPROC)load(\"glPopDebugGroupKHR\");\n\tglad_glObjectLabelKHR = (PFNGLOBJECTLABELKHRPROC)load(\"glObjectLabelKHR\");\n\tglad_glGetObjectLabelKHR = (PFNGLGETOBJECTLABELKHRPROC)load(\"glGetObjectLabelKHR\");\n\tglad_glObjectPtrLabelKHR = (PFNGLOBJECTPTRLABELKHRPROC)load(\"glObjectPtrLabelKHR\");\n\tglad_glGetObjectPtrLabelKHR = (PFNGLGETOBJECTPTRLABELKHRPROC)load(\"glGetObjectPtrLabelKHR\");\n\tglad_glGetPointervKHR = (PFNGLGETPOINTERVKHRPROC)load(\"glGetPointervKHR\");\n}\nstatic void load_GL_KHR_parallel_shader_compile(GLADloadproc load) {\n\tif(!GLAD_GL_KHR_parallel_shader_compile) return;\n\tglad_glMaxShaderCompilerThreadsKHR = (PFNGLMAXSHADERCOMPILERTHREADSKHRPROC)load(\"glMaxShaderCompilerThreadsKHR\");\n}\nstatic void load_GL_KHR_robustness(GLADloadproc load) {\n\tif(!GLAD_GL_KHR_robustness) return;\n\tglad_glGetGraphicsResetStatus = (PFNGLGETGRAPHICSRESETSTATUSPROC)load(\"glGetGraphicsResetStatus\");\n\tglad_glReadnPixels = (PFNGLREADNPIXELSPROC)load(\"glReadnPixels\");\n\tglad_glGetnUniformfv = (PFNGLGETNUNIFORMFVPROC)load(\"glGetnUniformfv\");\n\tglad_glGetnUniformiv = (PFNGLGETNUNIFORMIVPROC)load(\"glGetnUniformiv\");\n\tglad_glGetnUniformuiv = (PFNGLGETNUNIFORMUIVPROC)load(\"glGetnUniformuiv\");\n\tglad_glGetGraphicsResetStatusKHR = (PFNGLGETGRAPHICSRESETSTATUSKHRPROC)load(\"glGetGraphicsResetStatusKHR\");\n\tglad_glReadnPixelsKHR = (PFNGLREADNPIXELSKHRPROC)load(\"glReadnPixelsKHR\");\n\tglad_glGetnUniformfvKHR = (PFNGLGETNUNIFORMFVKHRPROC)load(\"glGetnUniformfvKHR\");\n\tglad_glGetnUniformivKHR = (PFNGLGETNUNIFORMIVKHRPROC)load(\"glGetnUniformivKHR\");\n\tglad_glGetnUniformuivKHR = (PFNGLGETNUNIFORMUIVKHRPROC)load(\"glGetnUniformuivKHR\");\n}\nstatic void load_GL_MESA_resize_buffers(GLADloadproc load) {\n\tif(!GLAD_GL_MESA_resize_buffers) return;\n\tglad_glResizeBuffersMESA = (PFNGLRESIZEBUFFERSMESAPROC)load(\"glResizeBuffersMESA\");\n}\nstatic void load_GL_MESA_window_pos(GLADloadproc load) {\n\tif(!GLAD_GL_MESA_window_pos) return;\n\tglad_glWindowPos2dMESA = (PFNGLWINDOWPOS2DMESAPROC)load(\"glWindowPos2dMESA\");\n\tglad_glWindowPos2dvMESA = (PFNGLWINDOWPOS2DVMESAPROC)load(\"glWindowPos2dvMESA\");\n\tglad_glWindowPos2fMESA = (PFNGLWINDOWPOS2FMESAPROC)load(\"glWindowPos2fMESA\");\n\tglad_glWindowPos2fvMESA = (PFNGLWINDOWPOS2FVMESAPROC)load(\"glWindowPos2fvMESA\");\n\tglad_glWindowPos2iMESA = (PFNGLWINDOWPOS2IMESAPROC)load(\"glWindowPos2iMESA\");\n\tglad_glWindowPos2ivMESA = (PFNGLWINDOWPOS2IVMESAPROC)load(\"glWindowPos2ivMESA\");\n\tglad_glWindowPos2sMESA = (PFNGLWINDOWPOS2SMESAPROC)load(\"glWindowPos2sMESA\");\n\tglad_glWindowPos2svMESA = (PFNGLWINDOWPOS2SVMESAPROC)load(\"glWindowPos2svMESA\");\n\tglad_glWindowPos3dMESA = (PFNGLWINDOWPOS3DMESAPROC)load(\"glWindowPos3dMESA\");\n\tglad_glWindowPos3dvMESA = (PFNGLWINDOWPOS3DVMESAPROC)load(\"glWindowPos3dvMESA\");\n\tglad_glWindowPos3fMESA = (PFNGLWINDOWPOS3FMESAPROC)load(\"glWindowPos3fMESA\");\n\tglad_glWindowPos3fvMESA = (PFNGLWINDOWPOS3FVMESAPROC)load(\"glWindowPos3fvMESA\");\n\tglad_glWindowPos3iMESA = (PFNGLWINDOWPOS3IMESAPROC)load(\"glWindowPos3iMESA\");\n\tglad_glWindowPos3ivMESA = (PFNGLWINDOWPOS3IVMESAPROC)load(\"glWindowPos3ivMESA\");\n\tglad_glWindowPos3sMESA = (PFNGLWINDOWPOS3SMESAPROC)load(\"glWindowPos3sMESA\");\n\tglad_glWindowPos3svMESA = (PFNGLWINDOWPOS3SVMESAPROC)load(\"glWindowPos3svMESA\");\n\tglad_glWindowPos4dMESA = (PFNGLWINDOWPOS4DMESAPROC)load(\"glWindowPos4dMESA\");\n\tglad_glWindowPos4dvMESA = (PFNGLWINDOWPOS4DVMESAPROC)load(\"glWindowPos4dvMESA\");\n\tglad_glWindowPos4fMESA = (PFNGLWINDOWPOS4FMESAPROC)load(\"glWindowPos4fMESA\");\n\tglad_glWindowPos4fvMESA = (PFNGLWINDOWPOS4FVMESAPROC)load(\"glWindowPos4fvMESA\");\n\tglad_glWindowPos4iMESA = (PFNGLWINDOWPOS4IMESAPROC)load(\"glWindowPos4iMESA\");\n\tglad_glWindowPos4ivMESA = (PFNGLWINDOWPOS4IVMESAPROC)load(\"glWindowPos4ivMESA\");\n\tglad_glWindowPos4sMESA = (PFNGLWINDOWPOS4SMESAPROC)load(\"glWindowPos4sMESA\");\n\tglad_glWindowPos4svMESA = (PFNGLWINDOWPOS4SVMESAPROC)load(\"glWindowPos4svMESA\");\n}\nstatic void load_GL_NVX_conditional_render(GLADloadproc load) {\n\tif(!GLAD_GL_NVX_conditional_render) return;\n\tglad_glBeginConditionalRenderNVX = (PFNGLBEGINCONDITIONALRENDERNVXPROC)load(\"glBeginConditionalRenderNVX\");\n\tglad_glEndConditionalRenderNVX = (PFNGLENDCONDITIONALRENDERNVXPROC)load(\"glEndConditionalRenderNVX\");\n}\nstatic void load_GL_NVX_linked_gpu_multicast(GLADloadproc load) {\n\tif(!GLAD_GL_NVX_linked_gpu_multicast) return;\n\tglad_glLGPUNamedBufferSubDataNVX = (PFNGLLGPUNAMEDBUFFERSUBDATANVXPROC)load(\"glLGPUNamedBufferSubDataNVX\");\n\tglad_glLGPUCopyImageSubDataNVX = (PFNGLLGPUCOPYIMAGESUBDATANVXPROC)load(\"glLGPUCopyImageSubDataNVX\");\n\tglad_glLGPUInterlockNVX = (PFNGLLGPUINTERLOCKNVXPROC)load(\"glLGPUInterlockNVX\");\n}\nstatic void load_GL_NV_alpha_to_coverage_dither_control(GLADloadproc load) {\n\tif(!GLAD_GL_NV_alpha_to_coverage_dither_control) return;\n\tglad_glAlphaToCoverageDitherControlNV = (PFNGLALPHATOCOVERAGEDITHERCONTROLNVPROC)load(\"glAlphaToCoverageDitherControlNV\");\n}\nstatic void load_GL_NV_bindless_multi_draw_indirect(GLADloadproc load) {\n\tif(!GLAD_GL_NV_bindless_multi_draw_indirect) return;\n\tglad_glMultiDrawArraysIndirectBindlessNV = (PFNGLMULTIDRAWARRAYSINDIRECTBINDLESSNVPROC)load(\"glMultiDrawArraysIndirectBindlessNV\");\n\tglad_glMultiDrawElementsIndirectBindlessNV = (PFNGLMULTIDRAWELEMENTSINDIRECTBINDLESSNVPROC)load(\"glMultiDrawElementsIndirectBindlessNV\");\n}\nstatic void load_GL_NV_bindless_multi_draw_indirect_count(GLADloadproc load) {\n\tif(!GLAD_GL_NV_bindless_multi_draw_indirect_count) return;\n\tglad_glMultiDrawArraysIndirectBindlessCountNV = (PFNGLMULTIDRAWARRAYSINDIRECTBINDLESSCOUNTNVPROC)load(\"glMultiDrawArraysIndirectBindlessCountNV\");\n\tglad_glMultiDrawElementsIndirectBindlessCountNV = (PFNGLMULTIDRAWELEMENTSINDIRECTBINDLESSCOUNTNVPROC)load(\"glMultiDrawElementsIndirectBindlessCountNV\");\n}\nstatic void load_GL_NV_bindless_texture(GLADloadproc load) {\n\tif(!GLAD_GL_NV_bindless_texture) return;\n\tglad_glGetTextureHandleNV = (PFNGLGETTEXTUREHANDLENVPROC)load(\"glGetTextureHandleNV\");\n\tglad_glGetTextureSamplerHandleNV = (PFNGLGETTEXTURESAMPLERHANDLENVPROC)load(\"glGetTextureSamplerHandleNV\");\n\tglad_glMakeTextureHandleResidentNV = (PFNGLMAKETEXTUREHANDLERESIDENTNVPROC)load(\"glMakeTextureHandleResidentNV\");\n\tglad_glMakeTextureHandleNonResidentNV = (PFNGLMAKETEXTUREHANDLENONRESIDENTNVPROC)load(\"glMakeTextureHandleNonResidentNV\");\n\tglad_glGetImageHandleNV = (PFNGLGETIMAGEHANDLENVPROC)load(\"glGetImageHandleNV\");\n\tglad_glMakeImageHandleResidentNV = (PFNGLMAKEIMAGEHANDLERESIDENTNVPROC)load(\"glMakeImageHandleResidentNV\");\n\tglad_glMakeImageHandleNonResidentNV = (PFNGLMAKEIMAGEHANDLENONRESIDENTNVPROC)load(\"glMakeImageHandleNonResidentNV\");\n\tglad_glUniformHandleui64NV = (PFNGLUNIFORMHANDLEUI64NVPROC)load(\"glUniformHandleui64NV\");\n\tglad_glUniformHandleui64vNV = (PFNGLUNIFORMHANDLEUI64VNVPROC)load(\"glUniformHandleui64vNV\");\n\tglad_glProgramUniformHandleui64NV = (PFNGLPROGRAMUNIFORMHANDLEUI64NVPROC)load(\"glProgramUniformHandleui64NV\");\n\tglad_glProgramUniformHandleui64vNV = (PFNGLPROGRAMUNIFORMHANDLEUI64VNVPROC)load(\"glProgramUniformHandleui64vNV\");\n\tglad_glIsTextureHandleResidentNV = (PFNGLISTEXTUREHANDLERESIDENTNVPROC)load(\"glIsTextureHandleResidentNV\");\n\tglad_glIsImageHandleResidentNV = (PFNGLISIMAGEHANDLERESIDENTNVPROC)load(\"glIsImageHandleResidentNV\");\n}\nstatic void load_GL_NV_blend_equation_advanced(GLADloadproc load) {\n\tif(!GLAD_GL_NV_blend_equation_advanced) return;\n\tglad_glBlendParameteriNV = (PFNGLBLENDPARAMETERINVPROC)load(\"glBlendParameteriNV\");\n\tglad_glBlendBarrierNV = (PFNGLBLENDBARRIERNVPROC)load(\"glBlendBarrierNV\");\n}\nstatic void load_GL_NV_clip_space_w_scaling(GLADloadproc load) {\n\tif(!GLAD_GL_NV_clip_space_w_scaling) return;\n\tglad_glViewportPositionWScaleNV = (PFNGLVIEWPORTPOSITIONWSCALENVPROC)load(\"glViewportPositionWScaleNV\");\n}\nstatic void load_GL_NV_command_list(GLADloadproc load) {\n\tif(!GLAD_GL_NV_command_list) return;\n\tglad_glCreateStatesNV = (PFNGLCREATESTATESNVPROC)load(\"glCreateStatesNV\");\n\tglad_glDeleteStatesNV = (PFNGLDELETESTATESNVPROC)load(\"glDeleteStatesNV\");\n\tglad_glIsStateNV = (PFNGLISSTATENVPROC)load(\"glIsStateNV\");\n\tglad_glStateCaptureNV = (PFNGLSTATECAPTURENVPROC)load(\"glStateCaptureNV\");\n\tglad_glGetCommandHeaderNV = (PFNGLGETCOMMANDHEADERNVPROC)load(\"glGetCommandHeaderNV\");\n\tglad_glGetStageIndexNV = (PFNGLGETSTAGEINDEXNVPROC)load(\"glGetStageIndexNV\");\n\tglad_glDrawCommandsNV = (PFNGLDRAWCOMMANDSNVPROC)load(\"glDrawCommandsNV\");\n\tglad_glDrawCommandsAddressNV = (PFNGLDRAWCOMMANDSADDRESSNVPROC)load(\"glDrawCommandsAddressNV\");\n\tglad_glDrawCommandsStatesNV = (PFNGLDRAWCOMMANDSSTATESNVPROC)load(\"glDrawCommandsStatesNV\");\n\tglad_glDrawCommandsStatesAddressNV = (PFNGLDRAWCOMMANDSSTATESADDRESSNVPROC)load(\"glDrawCommandsStatesAddressNV\");\n\tglad_glCreateCommandListsNV = (PFNGLCREATECOMMANDLISTSNVPROC)load(\"glCreateCommandListsNV\");\n\tglad_glDeleteCommandListsNV = (PFNGLDELETECOMMANDLISTSNVPROC)load(\"glDeleteCommandListsNV\");\n\tglad_glIsCommandListNV = (PFNGLISCOMMANDLISTNVPROC)load(\"glIsCommandListNV\");\n\tglad_glListDrawCommandsStatesClientNV = (PFNGLLISTDRAWCOMMANDSSTATESCLIENTNVPROC)load(\"glListDrawCommandsStatesClientNV\");\n\tglad_glCommandListSegmentsNV = (PFNGLCOMMANDLISTSEGMENTSNVPROC)load(\"glCommandListSegmentsNV\");\n\tglad_glCompileCommandListNV = (PFNGLCOMPILECOMMANDLISTNVPROC)load(\"glCompileCommandListNV\");\n\tglad_glCallCommandListNV = (PFNGLCALLCOMMANDLISTNVPROC)load(\"glCallCommandListNV\");\n}\nstatic void load_GL_NV_conditional_render(GLADloadproc load) {\n\tif(!GLAD_GL_NV_conditional_render) return;\n\tglad_glBeginConditionalRenderNV = (PFNGLBEGINCONDITIONALRENDERNVPROC)load(\"glBeginConditionalRenderNV\");\n\tglad_glEndConditionalRenderNV = (PFNGLENDCONDITIONALRENDERNVPROC)load(\"glEndConditionalRenderNV\");\n}\nstatic void load_GL_NV_conservative_raster(GLADloadproc load) {\n\tif(!GLAD_GL_NV_conservative_raster) return;\n\tglad_glSubpixelPrecisionBiasNV = (PFNGLSUBPIXELPRECISIONBIASNVPROC)load(\"glSubpixelPrecisionBiasNV\");\n}\nstatic void load_GL_NV_conservative_raster_dilate(GLADloadproc load) {\n\tif(!GLAD_GL_NV_conservative_raster_dilate) return;\n\tglad_glConservativeRasterParameterfNV = (PFNGLCONSERVATIVERASTERPARAMETERFNVPROC)load(\"glConservativeRasterParameterfNV\");\n}\nstatic void load_GL_NV_conservative_raster_pre_snap_triangles(GLADloadproc load) {\n\tif(!GLAD_GL_NV_conservative_raster_pre_snap_triangles) return;\n\tglad_glConservativeRasterParameteriNV = (PFNGLCONSERVATIVERASTERPARAMETERINVPROC)load(\"glConservativeRasterParameteriNV\");\n}\nstatic void load_GL_NV_copy_image(GLADloadproc load) {\n\tif(!GLAD_GL_NV_copy_image) return;\n\tglad_glCopyImageSubDataNV = (PFNGLCOPYIMAGESUBDATANVPROC)load(\"glCopyImageSubDataNV\");\n}\nstatic void load_GL_NV_depth_buffer_float(GLADloadproc load) {\n\tif(!GLAD_GL_NV_depth_buffer_float) return;\n\tglad_glDepthRangedNV = (PFNGLDEPTHRANGEDNVPROC)load(\"glDepthRangedNV\");\n\tglad_glClearDepthdNV = (PFNGLCLEARDEPTHDNVPROC)load(\"glClearDepthdNV\");\n\tglad_glDepthBoundsdNV = (PFNGLDEPTHBOUNDSDNVPROC)load(\"glDepthBoundsdNV\");\n}\nstatic void load_GL_NV_draw_texture(GLADloadproc load) {\n\tif(!GLAD_GL_NV_draw_texture) return;\n\tglad_glDrawTextureNV = (PFNGLDRAWTEXTURENVPROC)load(\"glDrawTextureNV\");\n}\nstatic void load_GL_NV_draw_vulkan_image(GLADloadproc load) {\n\tif(!GLAD_GL_NV_draw_vulkan_image) return;\n\tglad_glDrawVkImageNV = (PFNGLDRAWVKIMAGENVPROC)load(\"glDrawVkImageNV\");\n\tglad_glGetVkProcAddrNV = (PFNGLGETVKPROCADDRNVPROC)load(\"glGetVkProcAddrNV\");\n\tglad_glWaitVkSemaphoreNV = (PFNGLWAITVKSEMAPHORENVPROC)load(\"glWaitVkSemaphoreNV\");\n\tglad_glSignalVkSemaphoreNV = (PFNGLSIGNALVKSEMAPHORENVPROC)load(\"glSignalVkSemaphoreNV\");\n\tglad_glSignalVkFenceNV = (PFNGLSIGNALVKFENCENVPROC)load(\"glSignalVkFenceNV\");\n}\nstatic void load_GL_NV_evaluators(GLADloadproc load) {\n\tif(!GLAD_GL_NV_evaluators) return;\n\tglad_glMapControlPointsNV = (PFNGLMAPCONTROLPOINTSNVPROC)load(\"glMapControlPointsNV\");\n\tglad_glMapParameterivNV = (PFNGLMAPPARAMETERIVNVPROC)load(\"glMapParameterivNV\");\n\tglad_glMapParameterfvNV = (PFNGLMAPPARAMETERFVNVPROC)load(\"glMapParameterfvNV\");\n\tglad_glGetMapControlPointsNV = (PFNGLGETMAPCONTROLPOINTSNVPROC)load(\"glGetMapControlPointsNV\");\n\tglad_glGetMapParameterivNV = (PFNGLGETMAPPARAMETERIVNVPROC)load(\"glGetMapParameterivNV\");\n\tglad_glGetMapParameterfvNV = (PFNGLGETMAPPARAMETERFVNVPROC)load(\"glGetMapParameterfvNV\");\n\tglad_glGetMapAttribParameterivNV = (PFNGLGETMAPATTRIBPARAMETERIVNVPROC)load(\"glGetMapAttribParameterivNV\");\n\tglad_glGetMapAttribParameterfvNV = (PFNGLGETMAPATTRIBPARAMETERFVNVPROC)load(\"glGetMapAttribParameterfvNV\");\n\tglad_glEvalMapsNV = (PFNGLEVALMAPSNVPROC)load(\"glEvalMapsNV\");\n}\nstatic void load_GL_NV_explicit_multisample(GLADloadproc load) {\n\tif(!GLAD_GL_NV_explicit_multisample) return;\n\tglad_glGetMultisamplefvNV = (PFNGLGETMULTISAMPLEFVNVPROC)load(\"glGetMultisamplefvNV\");\n\tglad_glSampleMaskIndexedNV = (PFNGLSAMPLEMASKINDEXEDNVPROC)load(\"glSampleMaskIndexedNV\");\n\tglad_glTexRenderbufferNV = (PFNGLTEXRENDERBUFFERNVPROC)load(\"glTexRenderbufferNV\");\n}\nstatic void load_GL_NV_fence(GLADloadproc load) {\n\tif(!GLAD_GL_NV_fence) return;\n\tglad_glDeleteFencesNV = (PFNGLDELETEFENCESNVPROC)load(\"glDeleteFencesNV\");\n\tglad_glGenFencesNV = (PFNGLGENFENCESNVPROC)load(\"glGenFencesNV\");\n\tglad_glIsFenceNV = (PFNGLISFENCENVPROC)load(\"glIsFenceNV\");\n\tglad_glTestFenceNV = (PFNGLTESTFENCENVPROC)load(\"glTestFenceNV\");\n\tglad_glGetFenceivNV = (PFNGLGETFENCEIVNVPROC)load(\"glGetFenceivNV\");\n\tglad_glFinishFenceNV = (PFNGLFINISHFENCENVPROC)load(\"glFinishFenceNV\");\n\tglad_glSetFenceNV = (PFNGLSETFENCENVPROC)load(\"glSetFenceNV\");\n}\nstatic void load_GL_NV_fragment_coverage_to_color(GLADloadproc load) {\n\tif(!GLAD_GL_NV_fragment_coverage_to_color) return;\n\tglad_glFragmentCoverageColorNV = (PFNGLFRAGMENTCOVERAGECOLORNVPROC)load(\"glFragmentCoverageColorNV\");\n}\nstatic void load_GL_NV_fragment_program(GLADloadproc load) {\n\tif(!GLAD_GL_NV_fragment_program) return;\n\tglad_glProgramNamedParameter4fNV = (PFNGLPROGRAMNAMEDPARAMETER4FNVPROC)load(\"glProgramNamedParameter4fNV\");\n\tglad_glProgramNamedParameter4fvNV = (PFNGLPROGRAMNAMEDPARAMETER4FVNVPROC)load(\"glProgramNamedParameter4fvNV\");\n\tglad_glProgramNamedParameter4dNV = (PFNGLPROGRAMNAMEDPARAMETER4DNVPROC)load(\"glProgramNamedParameter4dNV\");\n\tglad_glProgramNamedParameter4dvNV = (PFNGLPROGRAMNAMEDPARAMETER4DVNVPROC)load(\"glProgramNamedParameter4dvNV\");\n\tglad_glGetProgramNamedParameterfvNV = (PFNGLGETPROGRAMNAMEDPARAMETERFVNVPROC)load(\"glGetProgramNamedParameterfvNV\");\n\tglad_glGetProgramNamedParameterdvNV = (PFNGLGETPROGRAMNAMEDPARAMETERDVNVPROC)load(\"glGetProgramNamedParameterdvNV\");\n}\nstatic void load_GL_NV_framebuffer_mixed_samples(GLADloadproc load) {\n\tif(!GLAD_GL_NV_framebuffer_mixed_samples) return;\n\tglad_glRasterSamplesEXT = (PFNGLRASTERSAMPLESEXTPROC)load(\"glRasterSamplesEXT\");\n\tglad_glCoverageModulationTableNV = (PFNGLCOVERAGEMODULATIONTABLENVPROC)load(\"glCoverageModulationTableNV\");\n\tglad_glGetCoverageModulationTableNV = (PFNGLGETCOVERAGEMODULATIONTABLENVPROC)load(\"glGetCoverageModulationTableNV\");\n\tglad_glCoverageModulationNV = (PFNGLCOVERAGEMODULATIONNVPROC)load(\"glCoverageModulationNV\");\n}\nstatic void load_GL_NV_framebuffer_multisample_coverage(GLADloadproc load) {\n\tif(!GLAD_GL_NV_framebuffer_multisample_coverage) return;\n\tglad_glRenderbufferStorageMultisampleCoverageNV = (PFNGLRENDERBUFFERSTORAGEMULTISAMPLECOVERAGENVPROC)load(\"glRenderbufferStorageMultisampleCoverageNV\");\n}\nstatic void load_GL_NV_geometry_program4(GLADloadproc load) {\n\tif(!GLAD_GL_NV_geometry_program4) return;\n\tglad_glProgramVertexLimitNV = (PFNGLPROGRAMVERTEXLIMITNVPROC)load(\"glProgramVertexLimitNV\");\n\tglad_glFramebufferTextureEXT = (PFNGLFRAMEBUFFERTEXTUREEXTPROC)load(\"glFramebufferTextureEXT\");\n\tglad_glFramebufferTextureLayerEXT = (PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC)load(\"glFramebufferTextureLayerEXT\");\n\tglad_glFramebufferTextureFaceEXT = (PFNGLFRAMEBUFFERTEXTUREFACEEXTPROC)load(\"glFramebufferTextureFaceEXT\");\n}\nstatic void load_GL_NV_gpu_multicast(GLADloadproc load) {\n\tif(!GLAD_GL_NV_gpu_multicast) return;\n\tglad_glRenderGpuMaskNV = (PFNGLRENDERGPUMASKNVPROC)load(\"glRenderGpuMaskNV\");\n\tglad_glMulticastBufferSubDataNV = (PFNGLMULTICASTBUFFERSUBDATANVPROC)load(\"glMulticastBufferSubDataNV\");\n\tglad_glMulticastCopyBufferSubDataNV = (PFNGLMULTICASTCOPYBUFFERSUBDATANVPROC)load(\"glMulticastCopyBufferSubDataNV\");\n\tglad_glMulticastCopyImageSubDataNV = (PFNGLMULTICASTCOPYIMAGESUBDATANVPROC)load(\"glMulticastCopyImageSubDataNV\");\n\tglad_glMulticastBlitFramebufferNV = (PFNGLMULTICASTBLITFRAMEBUFFERNVPROC)load(\"glMulticastBlitFramebufferNV\");\n\tglad_glMulticastFramebufferSampleLocationsfvNV = (PFNGLMULTICASTFRAMEBUFFERSAMPLELOCATIONSFVNVPROC)load(\"glMulticastFramebufferSampleLocationsfvNV\");\n\tglad_glMulticastBarrierNV = (PFNGLMULTICASTBARRIERNVPROC)load(\"glMulticastBarrierNV\");\n\tglad_glMulticastWaitSyncNV = (PFNGLMULTICASTWAITSYNCNVPROC)load(\"glMulticastWaitSyncNV\");\n\tglad_glMulticastGetQueryObjectivNV = (PFNGLMULTICASTGETQUERYOBJECTIVNVPROC)load(\"glMulticastGetQueryObjectivNV\");\n\tglad_glMulticastGetQueryObjectuivNV = (PFNGLMULTICASTGETQUERYOBJECTUIVNVPROC)load(\"glMulticastGetQueryObjectuivNV\");\n\tglad_glMulticastGetQueryObjecti64vNV = (PFNGLMULTICASTGETQUERYOBJECTI64VNVPROC)load(\"glMulticastGetQueryObjecti64vNV\");\n\tglad_glMulticastGetQueryObjectui64vNV = (PFNGLMULTICASTGETQUERYOBJECTUI64VNVPROC)load(\"glMulticastGetQueryObjectui64vNV\");\n}\nstatic void load_GL_NV_gpu_program4(GLADloadproc load) {\n\tif(!GLAD_GL_NV_gpu_program4) return;\n\tglad_glProgramLocalParameterI4iNV = (PFNGLPROGRAMLOCALPARAMETERI4INVPROC)load(\"glProgramLocalParameterI4iNV\");\n\tglad_glProgramLocalParameterI4ivNV = (PFNGLPROGRAMLOCALPARAMETERI4IVNVPROC)load(\"glProgramLocalParameterI4ivNV\");\n\tglad_glProgramLocalParametersI4ivNV = (PFNGLPROGRAMLOCALPARAMETERSI4IVNVPROC)load(\"glProgramLocalParametersI4ivNV\");\n\tglad_glProgramLocalParameterI4uiNV = (PFNGLPROGRAMLOCALPARAMETERI4UINVPROC)load(\"glProgramLocalParameterI4uiNV\");\n\tglad_glProgramLocalParameterI4uivNV = (PFNGLPROGRAMLOCALPARAMETERI4UIVNVPROC)load(\"glProgramLocalParameterI4uivNV\");\n\tglad_glProgramLocalParametersI4uivNV = (PFNGLPROGRAMLOCALPARAMETERSI4UIVNVPROC)load(\"glProgramLocalParametersI4uivNV\");\n\tglad_glProgramEnvParameterI4iNV = (PFNGLPROGRAMENVPARAMETERI4INVPROC)load(\"glProgramEnvParameterI4iNV\");\n\tglad_glProgramEnvParameterI4ivNV = (PFNGLPROGRAMENVPARAMETERI4IVNVPROC)load(\"glProgramEnvParameterI4ivNV\");\n\tglad_glProgramEnvParametersI4ivNV = (PFNGLPROGRAMENVPARAMETERSI4IVNVPROC)load(\"glProgramEnvParametersI4ivNV\");\n\tglad_glProgramEnvParameterI4uiNV = (PFNGLPROGRAMENVPARAMETERI4UINVPROC)load(\"glProgramEnvParameterI4uiNV\");\n\tglad_glProgramEnvParameterI4uivNV = (PFNGLPROGRAMENVPARAMETERI4UIVNVPROC)load(\"glProgramEnvParameterI4uivNV\");\n\tglad_glProgramEnvParametersI4uivNV = (PFNGLPROGRAMENVPARAMETERSI4UIVNVPROC)load(\"glProgramEnvParametersI4uivNV\");\n\tglad_glGetProgramLocalParameterIivNV = (PFNGLGETPROGRAMLOCALPARAMETERIIVNVPROC)load(\"glGetProgramLocalParameterIivNV\");\n\tglad_glGetProgramLocalParameterIuivNV = (PFNGLGETPROGRAMLOCALPARAMETERIUIVNVPROC)load(\"glGetProgramLocalParameterIuivNV\");\n\tglad_glGetProgramEnvParameterIivNV = (PFNGLGETPROGRAMENVPARAMETERIIVNVPROC)load(\"glGetProgramEnvParameterIivNV\");\n\tglad_glGetProgramEnvParameterIuivNV = (PFNGLGETPROGRAMENVPARAMETERIUIVNVPROC)load(\"glGetProgramEnvParameterIuivNV\");\n}\nstatic void load_GL_NV_gpu_program5(GLADloadproc load) {\n\tif(!GLAD_GL_NV_gpu_program5) return;\n\tglad_glProgramSubroutineParametersuivNV = (PFNGLPROGRAMSUBROUTINEPARAMETERSUIVNVPROC)load(\"glProgramSubroutineParametersuivNV\");\n\tglad_glGetProgramSubroutineParameteruivNV = (PFNGLGETPROGRAMSUBROUTINEPARAMETERUIVNVPROC)load(\"glGetProgramSubroutineParameteruivNV\");\n}\nstatic void load_GL_NV_gpu_shader5(GLADloadproc load) {\n\tif(!GLAD_GL_NV_gpu_shader5) return;\n\tglad_glUniform1i64NV = (PFNGLUNIFORM1I64NVPROC)load(\"glUniform1i64NV\");\n\tglad_glUniform2i64NV = (PFNGLUNIFORM2I64NVPROC)load(\"glUniform2i64NV\");\n\tglad_glUniform3i64NV = (PFNGLUNIFORM3I64NVPROC)load(\"glUniform3i64NV\");\n\tglad_glUniform4i64NV = (PFNGLUNIFORM4I64NVPROC)load(\"glUniform4i64NV\");\n\tglad_glUniform1i64vNV = (PFNGLUNIFORM1I64VNVPROC)load(\"glUniform1i64vNV\");\n\tglad_glUniform2i64vNV = (PFNGLUNIFORM2I64VNVPROC)load(\"glUniform2i64vNV\");\n\tglad_glUniform3i64vNV = (PFNGLUNIFORM3I64VNVPROC)load(\"glUniform3i64vNV\");\n\tglad_glUniform4i64vNV = (PFNGLUNIFORM4I64VNVPROC)load(\"glUniform4i64vNV\");\n\tglad_glUniform1ui64NV = (PFNGLUNIFORM1UI64NVPROC)load(\"glUniform1ui64NV\");\n\tglad_glUniform2ui64NV = (PFNGLUNIFORM2UI64NVPROC)load(\"glUniform2ui64NV\");\n\tglad_glUniform3ui64NV = (PFNGLUNIFORM3UI64NVPROC)load(\"glUniform3ui64NV\");\n\tglad_glUniform4ui64NV = (PFNGLUNIFORM4UI64NVPROC)load(\"glUniform4ui64NV\");\n\tglad_glUniform1ui64vNV = (PFNGLUNIFORM1UI64VNVPROC)load(\"glUniform1ui64vNV\");\n\tglad_glUniform2ui64vNV = (PFNGLUNIFORM2UI64VNVPROC)load(\"glUniform2ui64vNV\");\n\tglad_glUniform3ui64vNV = (PFNGLUNIFORM3UI64VNVPROC)load(\"glUniform3ui64vNV\");\n\tglad_glUniform4ui64vNV = (PFNGLUNIFORM4UI64VNVPROC)load(\"glUniform4ui64vNV\");\n\tglad_glGetUniformi64vNV = (PFNGLGETUNIFORMI64VNVPROC)load(\"glGetUniformi64vNV\");\n\tglad_glProgramUniform1i64NV = (PFNGLPROGRAMUNIFORM1I64NVPROC)load(\"glProgramUniform1i64NV\");\n\tglad_glProgramUniform2i64NV = (PFNGLPROGRAMUNIFORM2I64NVPROC)load(\"glProgramUniform2i64NV\");\n\tglad_glProgramUniform3i64NV = (PFNGLPROGRAMUNIFORM3I64NVPROC)load(\"glProgramUniform3i64NV\");\n\tglad_glProgramUniform4i64NV = (PFNGLPROGRAMUNIFORM4I64NVPROC)load(\"glProgramUniform4i64NV\");\n\tglad_glProgramUniform1i64vNV = (PFNGLPROGRAMUNIFORM1I64VNVPROC)load(\"glProgramUniform1i64vNV\");\n\tglad_glProgramUniform2i64vNV = (PFNGLPROGRAMUNIFORM2I64VNVPROC)load(\"glProgramUniform2i64vNV\");\n\tglad_glProgramUniform3i64vNV = (PFNGLPROGRAMUNIFORM3I64VNVPROC)load(\"glProgramUniform3i64vNV\");\n\tglad_glProgramUniform4i64vNV = (PFNGLPROGRAMUNIFORM4I64VNVPROC)load(\"glProgramUniform4i64vNV\");\n\tglad_glProgramUniform1ui64NV = (PFNGLPROGRAMUNIFORM1UI64NVPROC)load(\"glProgramUniform1ui64NV\");\n\tglad_glProgramUniform2ui64NV = (PFNGLPROGRAMUNIFORM2UI64NVPROC)load(\"glProgramUniform2ui64NV\");\n\tglad_glProgramUniform3ui64NV = (PFNGLPROGRAMUNIFORM3UI64NVPROC)load(\"glProgramUniform3ui64NV\");\n\tglad_glProgramUniform4ui64NV = (PFNGLPROGRAMUNIFORM4UI64NVPROC)load(\"glProgramUniform4ui64NV\");\n\tglad_glProgramUniform1ui64vNV = (PFNGLPROGRAMUNIFORM1UI64VNVPROC)load(\"glProgramUniform1ui64vNV\");\n\tglad_glProgramUniform2ui64vNV = (PFNGLPROGRAMUNIFORM2UI64VNVPROC)load(\"glProgramUniform2ui64vNV\");\n\tglad_glProgramUniform3ui64vNV = (PFNGLPROGRAMUNIFORM3UI64VNVPROC)load(\"glProgramUniform3ui64vNV\");\n\tglad_glProgramUniform4ui64vNV = (PFNGLPROGRAMUNIFORM4UI64VNVPROC)load(\"glProgramUniform4ui64vNV\");\n}\nstatic void load_GL_NV_half_float(GLADloadproc load) {\n\tif(!GLAD_GL_NV_half_float) return;\n\tglad_glVertex2hNV = (PFNGLVERTEX2HNVPROC)load(\"glVertex2hNV\");\n\tglad_glVertex2hvNV = (PFNGLVERTEX2HVNVPROC)load(\"glVertex2hvNV\");\n\tglad_glVertex3hNV = (PFNGLVERTEX3HNVPROC)load(\"glVertex3hNV\");\n\tglad_glVertex3hvNV = (PFNGLVERTEX3HVNVPROC)load(\"glVertex3hvNV\");\n\tglad_glVertex4hNV = (PFNGLVERTEX4HNVPROC)load(\"glVertex4hNV\");\n\tglad_glVertex4hvNV = (PFNGLVERTEX4HVNVPROC)load(\"glVertex4hvNV\");\n\tglad_glNormal3hNV = (PFNGLNORMAL3HNVPROC)load(\"glNormal3hNV\");\n\tglad_glNormal3hvNV = (PFNGLNORMAL3HVNVPROC)load(\"glNormal3hvNV\");\n\tglad_glColor3hNV = (PFNGLCOLOR3HNVPROC)load(\"glColor3hNV\");\n\tglad_glColor3hvNV = (PFNGLCOLOR3HVNVPROC)load(\"glColor3hvNV\");\n\tglad_glColor4hNV = (PFNGLCOLOR4HNVPROC)load(\"glColor4hNV\");\n\tglad_glColor4hvNV = (PFNGLCOLOR4HVNVPROC)load(\"glColor4hvNV\");\n\tglad_glTexCoord1hNV = (PFNGLTEXCOORD1HNVPROC)load(\"glTexCoord1hNV\");\n\tglad_glTexCoord1hvNV = (PFNGLTEXCOORD1HVNVPROC)load(\"glTexCoord1hvNV\");\n\tglad_glTexCoord2hNV = (PFNGLTEXCOORD2HNVPROC)load(\"glTexCoord2hNV\");\n\tglad_glTexCoord2hvNV = (PFNGLTEXCOORD2HVNVPROC)load(\"glTexCoord2hvNV\");\n\tglad_glTexCoord3hNV = (PFNGLTEXCOORD3HNVPROC)load(\"glTexCoord3hNV\");\n\tglad_glTexCoord3hvNV = (PFNGLTEXCOORD3HVNVPROC)load(\"glTexCoord3hvNV\");\n\tglad_glTexCoord4hNV = (PFNGLTEXCOORD4HNVPROC)load(\"glTexCoord4hNV\");\n\tglad_glTexCoord4hvNV = (PFNGLTEXCOORD4HVNVPROC)load(\"glTexCoord4hvNV\");\n\tglad_glMultiTexCoord1hNV = (PFNGLMULTITEXCOORD1HNVPROC)load(\"glMultiTexCoord1hNV\");\n\tglad_glMultiTexCoord1hvNV = (PFNGLMULTITEXCOORD1HVNVPROC)load(\"glMultiTexCoord1hvNV\");\n\tglad_glMultiTexCoord2hNV = (PFNGLMULTITEXCOORD2HNVPROC)load(\"glMultiTexCoord2hNV\");\n\tglad_glMultiTexCoord2hvNV = (PFNGLMULTITEXCOORD2HVNVPROC)load(\"glMultiTexCoord2hvNV\");\n\tglad_glMultiTexCoord3hNV = (PFNGLMULTITEXCOORD3HNVPROC)load(\"glMultiTexCoord3hNV\");\n\tglad_glMultiTexCoord3hvNV = (PFNGLMULTITEXCOORD3HVNVPROC)load(\"glMultiTexCoord3hvNV\");\n\tglad_glMultiTexCoord4hNV = (PFNGLMULTITEXCOORD4HNVPROC)load(\"glMultiTexCoord4hNV\");\n\tglad_glMultiTexCoord4hvNV = (PFNGLMULTITEXCOORD4HVNVPROC)load(\"glMultiTexCoord4hvNV\");\n\tglad_glFogCoordhNV = (PFNGLFOGCOORDHNVPROC)load(\"glFogCoordhNV\");\n\tglad_glFogCoordhvNV = (PFNGLFOGCOORDHVNVPROC)load(\"glFogCoordhvNV\");\n\tglad_glSecondaryColor3hNV = (PFNGLSECONDARYCOLOR3HNVPROC)load(\"glSecondaryColor3hNV\");\n\tglad_glSecondaryColor3hvNV = (PFNGLSECONDARYCOLOR3HVNVPROC)load(\"glSecondaryColor3hvNV\");\n\tglad_glVertexWeighthNV = (PFNGLVERTEXWEIGHTHNVPROC)load(\"glVertexWeighthNV\");\n\tglad_glVertexWeighthvNV = (PFNGLVERTEXWEIGHTHVNVPROC)load(\"glVertexWeighthvNV\");\n\tglad_glVertexAttrib1hNV = (PFNGLVERTEXATTRIB1HNVPROC)load(\"glVertexAttrib1hNV\");\n\tglad_glVertexAttrib1hvNV = (PFNGLVERTEXATTRIB1HVNVPROC)load(\"glVertexAttrib1hvNV\");\n\tglad_glVertexAttrib2hNV = (PFNGLVERTEXATTRIB2HNVPROC)load(\"glVertexAttrib2hNV\");\n\tglad_glVertexAttrib2hvNV = (PFNGLVERTEXATTRIB2HVNVPROC)load(\"glVertexAttrib2hvNV\");\n\tglad_glVertexAttrib3hNV = (PFNGLVERTEXATTRIB3HNVPROC)load(\"glVertexAttrib3hNV\");\n\tglad_glVertexAttrib3hvNV = (PFNGLVERTEXATTRIB3HVNVPROC)load(\"glVertexAttrib3hvNV\");\n\tglad_glVertexAttrib4hNV = (PFNGLVERTEXATTRIB4HNVPROC)load(\"glVertexAttrib4hNV\");\n\tglad_glVertexAttrib4hvNV = (PFNGLVERTEXATTRIB4HVNVPROC)load(\"glVertexAttrib4hvNV\");\n\tglad_glVertexAttribs1hvNV = (PFNGLVERTEXATTRIBS1HVNVPROC)load(\"glVertexAttribs1hvNV\");\n\tglad_glVertexAttribs2hvNV = (PFNGLVERTEXATTRIBS2HVNVPROC)load(\"glVertexAttribs2hvNV\");\n\tglad_glVertexAttribs3hvNV = (PFNGLVERTEXATTRIBS3HVNVPROC)load(\"glVertexAttribs3hvNV\");\n\tglad_glVertexAttribs4hvNV = (PFNGLVERTEXATTRIBS4HVNVPROC)load(\"glVertexAttribs4hvNV\");\n}\nstatic void load_GL_NV_internalformat_sample_query(GLADloadproc load) {\n\tif(!GLAD_GL_NV_internalformat_sample_query) return;\n\tglad_glGetInternalformatSampleivNV = (PFNGLGETINTERNALFORMATSAMPLEIVNVPROC)load(\"glGetInternalformatSampleivNV\");\n}\nstatic void load_GL_NV_occlusion_query(GLADloadproc load) {\n\tif(!GLAD_GL_NV_occlusion_query) return;\n\tglad_glGenOcclusionQueriesNV = (PFNGLGENOCCLUSIONQUERIESNVPROC)load(\"glGenOcclusionQueriesNV\");\n\tglad_glDeleteOcclusionQueriesNV = (PFNGLDELETEOCCLUSIONQUERIESNVPROC)load(\"glDeleteOcclusionQueriesNV\");\n\tglad_glIsOcclusionQueryNV = (PFNGLISOCCLUSIONQUERYNVPROC)load(\"glIsOcclusionQueryNV\");\n\tglad_glBeginOcclusionQueryNV = (PFNGLBEGINOCCLUSIONQUERYNVPROC)load(\"glBeginOcclusionQueryNV\");\n\tglad_glEndOcclusionQueryNV = (PFNGLENDOCCLUSIONQUERYNVPROC)load(\"glEndOcclusionQueryNV\");\n\tglad_glGetOcclusionQueryivNV = (PFNGLGETOCCLUSIONQUERYIVNVPROC)load(\"glGetOcclusionQueryivNV\");\n\tglad_glGetOcclusionQueryuivNV = (PFNGLGETOCCLUSIONQUERYUIVNVPROC)load(\"glGetOcclusionQueryuivNV\");\n}\nstatic void load_GL_NV_parameter_buffer_object(GLADloadproc load) {\n\tif(!GLAD_GL_NV_parameter_buffer_object) return;\n\tglad_glProgramBufferParametersfvNV = (PFNGLPROGRAMBUFFERPARAMETERSFVNVPROC)load(\"glProgramBufferParametersfvNV\");\n\tglad_glProgramBufferParametersIivNV = (PFNGLPROGRAMBUFFERPARAMETERSIIVNVPROC)load(\"glProgramBufferParametersIivNV\");\n\tglad_glProgramBufferParametersIuivNV = (PFNGLPROGRAMBUFFERPARAMETERSIUIVNVPROC)load(\"glProgramBufferParametersIuivNV\");\n}\nstatic void load_GL_NV_path_rendering(GLADloadproc load) {\n\tif(!GLAD_GL_NV_path_rendering) return;\n\tglad_glGenPathsNV = (PFNGLGENPATHSNVPROC)load(\"glGenPathsNV\");\n\tglad_glDeletePathsNV = (PFNGLDELETEPATHSNVPROC)load(\"glDeletePathsNV\");\n\tglad_glIsPathNV = (PFNGLISPATHNVPROC)load(\"glIsPathNV\");\n\tglad_glPathCommandsNV = (PFNGLPATHCOMMANDSNVPROC)load(\"glPathCommandsNV\");\n\tglad_glPathCoordsNV = (PFNGLPATHCOORDSNVPROC)load(\"glPathCoordsNV\");\n\tglad_glPathSubCommandsNV = (PFNGLPATHSUBCOMMANDSNVPROC)load(\"glPathSubCommandsNV\");\n\tglad_glPathSubCoordsNV = (PFNGLPATHSUBCOORDSNVPROC)load(\"glPathSubCoordsNV\");\n\tglad_glPathStringNV = (PFNGLPATHSTRINGNVPROC)load(\"glPathStringNV\");\n\tglad_glPathGlyphsNV = (PFNGLPATHGLYPHSNVPROC)load(\"glPathGlyphsNV\");\n\tglad_glPathGlyphRangeNV = (PFNGLPATHGLYPHRANGENVPROC)load(\"glPathGlyphRangeNV\");\n\tglad_glWeightPathsNV = (PFNGLWEIGHTPATHSNVPROC)load(\"glWeightPathsNV\");\n\tglad_glCopyPathNV = (PFNGLCOPYPATHNVPROC)load(\"glCopyPathNV\");\n\tglad_glInterpolatePathsNV = (PFNGLINTERPOLATEPATHSNVPROC)load(\"glInterpolatePathsNV\");\n\tglad_glTransformPathNV = (PFNGLTRANSFORMPATHNVPROC)load(\"glTransformPathNV\");\n\tglad_glPathParameterivNV = (PFNGLPATHPARAMETERIVNVPROC)load(\"glPathParameterivNV\");\n\tglad_glPathParameteriNV = (PFNGLPATHPARAMETERINVPROC)load(\"glPathParameteriNV\");\n\tglad_glPathParameterfvNV = (PFNGLPATHPARAMETERFVNVPROC)load(\"glPathParameterfvNV\");\n\tglad_glPathParameterfNV = (PFNGLPATHPARAMETERFNVPROC)load(\"glPathParameterfNV\");\n\tglad_glPathDashArrayNV = (PFNGLPATHDASHARRAYNVPROC)load(\"glPathDashArrayNV\");\n\tglad_glPathStencilFuncNV = (PFNGLPATHSTENCILFUNCNVPROC)load(\"glPathStencilFuncNV\");\n\tglad_glPathStencilDepthOffsetNV = (PFNGLPATHSTENCILDEPTHOFFSETNVPROC)load(\"glPathStencilDepthOffsetNV\");\n\tglad_glStencilFillPathNV = (PFNGLSTENCILFILLPATHNVPROC)load(\"glStencilFillPathNV\");\n\tglad_glStencilStrokePathNV = (PFNGLSTENCILSTROKEPATHNVPROC)load(\"glStencilStrokePathNV\");\n\tglad_glStencilFillPathInstancedNV = (PFNGLSTENCILFILLPATHINSTANCEDNVPROC)load(\"glStencilFillPathInstancedNV\");\n\tglad_glStencilStrokePathInstancedNV = (PFNGLSTENCILSTROKEPATHINSTANCEDNVPROC)load(\"glStencilStrokePathInstancedNV\");\n\tglad_glPathCoverDepthFuncNV = (PFNGLPATHCOVERDEPTHFUNCNVPROC)load(\"glPathCoverDepthFuncNV\");\n\tglad_glCoverFillPathNV = (PFNGLCOVERFILLPATHNVPROC)load(\"glCoverFillPathNV\");\n\tglad_glCoverStrokePathNV = (PFNGLCOVERSTROKEPATHNVPROC)load(\"glCoverStrokePathNV\");\n\tglad_glCoverFillPathInstancedNV = (PFNGLCOVERFILLPATHINSTANCEDNVPROC)load(\"glCoverFillPathInstancedNV\");\n\tglad_glCoverStrokePathInstancedNV = (PFNGLCOVERSTROKEPATHINSTANCEDNVPROC)load(\"glCoverStrokePathInstancedNV\");\n\tglad_glGetPathParameterivNV = (PFNGLGETPATHPARAMETERIVNVPROC)load(\"glGetPathParameterivNV\");\n\tglad_glGetPathParameterfvNV = (PFNGLGETPATHPARAMETERFVNVPROC)load(\"glGetPathParameterfvNV\");\n\tglad_glGetPathCommandsNV = (PFNGLGETPATHCOMMANDSNVPROC)load(\"glGetPathCommandsNV\");\n\tglad_glGetPathCoordsNV = (PFNGLGETPATHCOORDSNVPROC)load(\"glGetPathCoordsNV\");\n\tglad_glGetPathDashArrayNV = (PFNGLGETPATHDASHARRAYNVPROC)load(\"glGetPathDashArrayNV\");\n\tglad_glGetPathMetricsNV = (PFNGLGETPATHMETRICSNVPROC)load(\"glGetPathMetricsNV\");\n\tglad_glGetPathMetricRangeNV = (PFNGLGETPATHMETRICRANGENVPROC)load(\"glGetPathMetricRangeNV\");\n\tglad_glGetPathSpacingNV = (PFNGLGETPATHSPACINGNVPROC)load(\"glGetPathSpacingNV\");\n\tglad_glIsPointInFillPathNV = (PFNGLISPOINTINFILLPATHNVPROC)load(\"glIsPointInFillPathNV\");\n\tglad_glIsPointInStrokePathNV = (PFNGLISPOINTINSTROKEPATHNVPROC)load(\"glIsPointInStrokePathNV\");\n\tglad_glGetPathLengthNV = (PFNGLGETPATHLENGTHNVPROC)load(\"glGetPathLengthNV\");\n\tglad_glPointAlongPathNV = (PFNGLPOINTALONGPATHNVPROC)load(\"glPointAlongPathNV\");\n\tglad_glMatrixLoad3x2fNV = (PFNGLMATRIXLOAD3X2FNVPROC)load(\"glMatrixLoad3x2fNV\");\n\tglad_glMatrixLoad3x3fNV = (PFNGLMATRIXLOAD3X3FNVPROC)load(\"glMatrixLoad3x3fNV\");\n\tglad_glMatrixLoadTranspose3x3fNV = (PFNGLMATRIXLOADTRANSPOSE3X3FNVPROC)load(\"glMatrixLoadTranspose3x3fNV\");\n\tglad_glMatrixMult3x2fNV = (PFNGLMATRIXMULT3X2FNVPROC)load(\"glMatrixMult3x2fNV\");\n\tglad_glMatrixMult3x3fNV = (PFNGLMATRIXMULT3X3FNVPROC)load(\"glMatrixMult3x3fNV\");\n\tglad_glMatrixMultTranspose3x3fNV = (PFNGLMATRIXMULTTRANSPOSE3X3FNVPROC)load(\"glMatrixMultTranspose3x3fNV\");\n\tglad_glStencilThenCoverFillPathNV = (PFNGLSTENCILTHENCOVERFILLPATHNVPROC)load(\"glStencilThenCoverFillPathNV\");\n\tglad_glStencilThenCoverStrokePathNV = (PFNGLSTENCILTHENCOVERSTROKEPATHNVPROC)load(\"glStencilThenCoverStrokePathNV\");\n\tglad_glStencilThenCoverFillPathInstancedNV = (PFNGLSTENCILTHENCOVERFILLPATHINSTANCEDNVPROC)load(\"glStencilThenCoverFillPathInstancedNV\");\n\tglad_glStencilThenCoverStrokePathInstancedNV = (PFNGLSTENCILTHENCOVERSTROKEPATHINSTANCEDNVPROC)load(\"glStencilThenCoverStrokePathInstancedNV\");\n\tglad_glPathGlyphIndexRangeNV = (PFNGLPATHGLYPHINDEXRANGENVPROC)load(\"glPathGlyphIndexRangeNV\");\n\tglad_glPathGlyphIndexArrayNV = (PFNGLPATHGLYPHINDEXARRAYNVPROC)load(\"glPathGlyphIndexArrayNV\");\n\tglad_glPathMemoryGlyphIndexArrayNV = (PFNGLPATHMEMORYGLYPHINDEXARRAYNVPROC)load(\"glPathMemoryGlyphIndexArrayNV\");\n\tglad_glProgramPathFragmentInputGenNV = (PFNGLPROGRAMPATHFRAGMENTINPUTGENNVPROC)load(\"glProgramPathFragmentInputGenNV\");\n\tglad_glGetProgramResourcefvNV = (PFNGLGETPROGRAMRESOURCEFVNVPROC)load(\"glGetProgramResourcefvNV\");\n\tglad_glPathColorGenNV = (PFNGLPATHCOLORGENNVPROC)load(\"glPathColorGenNV\");\n\tglad_glPathTexGenNV = (PFNGLPATHTEXGENNVPROC)load(\"glPathTexGenNV\");\n\tglad_glPathFogGenNV = (PFNGLPATHFOGGENNVPROC)load(\"glPathFogGenNV\");\n\tglad_glGetPathColorGenivNV = (PFNGLGETPATHCOLORGENIVNVPROC)load(\"glGetPathColorGenivNV\");\n\tglad_glGetPathColorGenfvNV = (PFNGLGETPATHCOLORGENFVNVPROC)load(\"glGetPathColorGenfvNV\");\n\tglad_glGetPathTexGenivNV = (PFNGLGETPATHTEXGENIVNVPROC)load(\"glGetPathTexGenivNV\");\n\tglad_glGetPathTexGenfvNV = (PFNGLGETPATHTEXGENFVNVPROC)load(\"glGetPathTexGenfvNV\");\n\tglad_glMatrixFrustumEXT = (PFNGLMATRIXFRUSTUMEXTPROC)load(\"glMatrixFrustumEXT\");\n\tglad_glMatrixLoadIdentityEXT = (PFNGLMATRIXLOADIDENTITYEXTPROC)load(\"glMatrixLoadIdentityEXT\");\n\tglad_glMatrixLoadTransposefEXT = (PFNGLMATRIXLOADTRANSPOSEFEXTPROC)load(\"glMatrixLoadTransposefEXT\");\n\tglad_glMatrixLoadTransposedEXT = (PFNGLMATRIXLOADTRANSPOSEDEXTPROC)load(\"glMatrixLoadTransposedEXT\");\n\tglad_glMatrixLoadfEXT = (PFNGLMATRIXLOADFEXTPROC)load(\"glMatrixLoadfEXT\");\n\tglad_glMatrixLoaddEXT = (PFNGLMATRIXLOADDEXTPROC)load(\"glMatrixLoaddEXT\");\n\tglad_glMatrixMultTransposefEXT = (PFNGLMATRIXMULTTRANSPOSEFEXTPROC)load(\"glMatrixMultTransposefEXT\");\n\tglad_glMatrixMultTransposedEXT = (PFNGLMATRIXMULTTRANSPOSEDEXTPROC)load(\"glMatrixMultTransposedEXT\");\n\tglad_glMatrixMultfEXT = (PFNGLMATRIXMULTFEXTPROC)load(\"glMatrixMultfEXT\");\n\tglad_glMatrixMultdEXT = (PFNGLMATRIXMULTDEXTPROC)load(\"glMatrixMultdEXT\");\n\tglad_glMatrixOrthoEXT = (PFNGLMATRIXORTHOEXTPROC)load(\"glMatrixOrthoEXT\");\n\tglad_glMatrixPopEXT = (PFNGLMATRIXPOPEXTPROC)load(\"glMatrixPopEXT\");\n\tglad_glMatrixPushEXT = (PFNGLMATRIXPUSHEXTPROC)load(\"glMatrixPushEXT\");\n\tglad_glMatrixRotatefEXT = (PFNGLMATRIXROTATEFEXTPROC)load(\"glMatrixRotatefEXT\");\n\tglad_glMatrixRotatedEXT = (PFNGLMATRIXROTATEDEXTPROC)load(\"glMatrixRotatedEXT\");\n\tglad_glMatrixScalefEXT = (PFNGLMATRIXSCALEFEXTPROC)load(\"glMatrixScalefEXT\");\n\tglad_glMatrixScaledEXT = (PFNGLMATRIXSCALEDEXTPROC)load(\"glMatrixScaledEXT\");\n\tglad_glMatrixTranslatefEXT = (PFNGLMATRIXTRANSLATEFEXTPROC)load(\"glMatrixTranslatefEXT\");\n\tglad_glMatrixTranslatedEXT = (PFNGLMATRIXTRANSLATEDEXTPROC)load(\"glMatrixTranslatedEXT\");\n}\nstatic void load_GL_NV_pixel_data_range(GLADloadproc load) {\n\tif(!GLAD_GL_NV_pixel_data_range) return;\n\tglad_glPixelDataRangeNV = (PFNGLPIXELDATARANGENVPROC)load(\"glPixelDataRangeNV\");\n\tglad_glFlushPixelDataRangeNV = (PFNGLFLUSHPIXELDATARANGENVPROC)load(\"glFlushPixelDataRangeNV\");\n}\nstatic void load_GL_NV_point_sprite(GLADloadproc load) {\n\tif(!GLAD_GL_NV_point_sprite) return;\n\tglad_glPointParameteriNV = (PFNGLPOINTPARAMETERINVPROC)load(\"glPointParameteriNV\");\n\tglad_glPointParameterivNV = (PFNGLPOINTPARAMETERIVNVPROC)load(\"glPointParameterivNV\");\n}\nstatic void load_GL_NV_present_video(GLADloadproc load) {\n\tif(!GLAD_GL_NV_present_video) return;\n\tglad_glPresentFrameKeyedNV = (PFNGLPRESENTFRAMEKEYEDNVPROC)load(\"glPresentFrameKeyedNV\");\n\tglad_glPresentFrameDualFillNV = (PFNGLPRESENTFRAMEDUALFILLNVPROC)load(\"glPresentFrameDualFillNV\");\n\tglad_glGetVideoivNV = (PFNGLGETVIDEOIVNVPROC)load(\"glGetVideoivNV\");\n\tglad_glGetVideouivNV = (PFNGLGETVIDEOUIVNVPROC)load(\"glGetVideouivNV\");\n\tglad_glGetVideoi64vNV = (PFNGLGETVIDEOI64VNVPROC)load(\"glGetVideoi64vNV\");\n\tglad_glGetVideoui64vNV = (PFNGLGETVIDEOUI64VNVPROC)load(\"glGetVideoui64vNV\");\n}\nstatic void load_GL_NV_primitive_restart(GLADloadproc load) {\n\tif(!GLAD_GL_NV_primitive_restart) return;\n\tglad_glPrimitiveRestartNV = (PFNGLPRIMITIVERESTARTNVPROC)load(\"glPrimitiveRestartNV\");\n\tglad_glPrimitiveRestartIndexNV = (PFNGLPRIMITIVERESTARTINDEXNVPROC)load(\"glPrimitiveRestartIndexNV\");\n}\nstatic void load_GL_NV_query_resource(GLADloadproc load) {\n\tif(!GLAD_GL_NV_query_resource) return;\n\tglad_glQueryResourceNV = (PFNGLQUERYRESOURCENVPROC)load(\"glQueryResourceNV\");\n}\nstatic void load_GL_NV_query_resource_tag(GLADloadproc load) {\n\tif(!GLAD_GL_NV_query_resource_tag) return;\n\tglad_glGenQueryResourceTagNV = (PFNGLGENQUERYRESOURCETAGNVPROC)load(\"glGenQueryResourceTagNV\");\n\tglad_glDeleteQueryResourceTagNV = (PFNGLDELETEQUERYRESOURCETAGNVPROC)load(\"glDeleteQueryResourceTagNV\");\n\tglad_glQueryResourceTagNV = (PFNGLQUERYRESOURCETAGNVPROC)load(\"glQueryResourceTagNV\");\n}\nstatic void load_GL_NV_register_combiners(GLADloadproc load) {\n\tif(!GLAD_GL_NV_register_combiners) return;\n\tglad_glCombinerParameterfvNV = (PFNGLCOMBINERPARAMETERFVNVPROC)load(\"glCombinerParameterfvNV\");\n\tglad_glCombinerParameterfNV = (PFNGLCOMBINERPARAMETERFNVPROC)load(\"glCombinerParameterfNV\");\n\tglad_glCombinerParameterivNV = (PFNGLCOMBINERPARAMETERIVNVPROC)load(\"glCombinerParameterivNV\");\n\tglad_glCombinerParameteriNV = (PFNGLCOMBINERPARAMETERINVPROC)load(\"glCombinerParameteriNV\");\n\tglad_glCombinerInputNV = (PFNGLCOMBINERINPUTNVPROC)load(\"glCombinerInputNV\");\n\tglad_glCombinerOutputNV = (PFNGLCOMBINEROUTPUTNVPROC)load(\"glCombinerOutputNV\");\n\tglad_glFinalCombinerInputNV = (PFNGLFINALCOMBINERINPUTNVPROC)load(\"glFinalCombinerInputNV\");\n\tglad_glGetCombinerInputParameterfvNV = (PFNGLGETCOMBINERINPUTPARAMETERFVNVPROC)load(\"glGetCombinerInputParameterfvNV\");\n\tglad_glGetCombinerInputParameterivNV = (PFNGLGETCOMBINERINPUTPARAMETERIVNVPROC)load(\"glGetCombinerInputParameterivNV\");\n\tglad_glGetCombinerOutputParameterfvNV = (PFNGLGETCOMBINEROUTPUTPARAMETERFVNVPROC)load(\"glGetCombinerOutputParameterfvNV\");\n\tglad_glGetCombinerOutputParameterivNV = (PFNGLGETCOMBINEROUTPUTPARAMETERIVNVPROC)load(\"glGetCombinerOutputParameterivNV\");\n\tglad_glGetFinalCombinerInputParameterfvNV = (PFNGLGETFINALCOMBINERINPUTPARAMETERFVNVPROC)load(\"glGetFinalCombinerInputParameterfvNV\");\n\tglad_glGetFinalCombinerInputParameterivNV = (PFNGLGETFINALCOMBINERINPUTPARAMETERIVNVPROC)load(\"glGetFinalCombinerInputParameterivNV\");\n}\nstatic void load_GL_NV_register_combiners2(GLADloadproc load) {\n\tif(!GLAD_GL_NV_register_combiners2) return;\n\tglad_glCombinerStageParameterfvNV = (PFNGLCOMBINERSTAGEPARAMETERFVNVPROC)load(\"glCombinerStageParameterfvNV\");\n\tglad_glGetCombinerStageParameterfvNV = (PFNGLGETCOMBINERSTAGEPARAMETERFVNVPROC)load(\"glGetCombinerStageParameterfvNV\");\n}\nstatic void load_GL_NV_sample_locations(GLADloadproc load) {\n\tif(!GLAD_GL_NV_sample_locations) return;\n\tglad_glFramebufferSampleLocationsfvNV = (PFNGLFRAMEBUFFERSAMPLELOCATIONSFVNVPROC)load(\"glFramebufferSampleLocationsfvNV\");\n\tglad_glNamedFramebufferSampleLocationsfvNV = (PFNGLNAMEDFRAMEBUFFERSAMPLELOCATIONSFVNVPROC)load(\"glNamedFramebufferSampleLocationsfvNV\");\n\tglad_glResolveDepthValuesNV = (PFNGLRESOLVEDEPTHVALUESNVPROC)load(\"glResolveDepthValuesNV\");\n}\nstatic void load_GL_NV_shader_buffer_load(GLADloadproc load) {\n\tif(!GLAD_GL_NV_shader_buffer_load) return;\n\tglad_glMakeBufferResidentNV = (PFNGLMAKEBUFFERRESIDENTNVPROC)load(\"glMakeBufferResidentNV\");\n\tglad_glMakeBufferNonResidentNV = (PFNGLMAKEBUFFERNONRESIDENTNVPROC)load(\"glMakeBufferNonResidentNV\");\n\tglad_glIsBufferResidentNV = (PFNGLISBUFFERRESIDENTNVPROC)load(\"glIsBufferResidentNV\");\n\tglad_glMakeNamedBufferResidentNV = (PFNGLMAKENAMEDBUFFERRESIDENTNVPROC)load(\"glMakeNamedBufferResidentNV\");\n\tglad_glMakeNamedBufferNonResidentNV = (PFNGLMAKENAMEDBUFFERNONRESIDENTNVPROC)load(\"glMakeNamedBufferNonResidentNV\");\n\tglad_glIsNamedBufferResidentNV = (PFNGLISNAMEDBUFFERRESIDENTNVPROC)load(\"glIsNamedBufferResidentNV\");\n\tglad_glGetBufferParameterui64vNV = (PFNGLGETBUFFERPARAMETERUI64VNVPROC)load(\"glGetBufferParameterui64vNV\");\n\tglad_glGetNamedBufferParameterui64vNV = (PFNGLGETNAMEDBUFFERPARAMETERUI64VNVPROC)load(\"glGetNamedBufferParameterui64vNV\");\n\tglad_glGetIntegerui64vNV = (PFNGLGETINTEGERUI64VNVPROC)load(\"glGetIntegerui64vNV\");\n\tglad_glUniformui64NV = (PFNGLUNIFORMUI64NVPROC)load(\"glUniformui64NV\");\n\tglad_glUniformui64vNV = (PFNGLUNIFORMUI64VNVPROC)load(\"glUniformui64vNV\");\n\tglad_glGetUniformui64vNV = (PFNGLGETUNIFORMUI64VNVPROC)load(\"glGetUniformui64vNV\");\n\tglad_glProgramUniformui64NV = (PFNGLPROGRAMUNIFORMUI64NVPROC)load(\"glProgramUniformui64NV\");\n\tglad_glProgramUniformui64vNV = (PFNGLPROGRAMUNIFORMUI64VNVPROC)load(\"glProgramUniformui64vNV\");\n}\nstatic void load_GL_NV_texture_barrier(GLADloadproc load) {\n\tif(!GLAD_GL_NV_texture_barrier) return;\n\tglad_glTextureBarrierNV = (PFNGLTEXTUREBARRIERNVPROC)load(\"glTextureBarrierNV\");\n}\nstatic void load_GL_NV_texture_multisample(GLADloadproc load) {\n\tif(!GLAD_GL_NV_texture_multisample) return;\n\tglad_glTexImage2DMultisampleCoverageNV = (PFNGLTEXIMAGE2DMULTISAMPLECOVERAGENVPROC)load(\"glTexImage2DMultisampleCoverageNV\");\n\tglad_glTexImage3DMultisampleCoverageNV = (PFNGLTEXIMAGE3DMULTISAMPLECOVERAGENVPROC)load(\"glTexImage3DMultisampleCoverageNV\");\n\tglad_glTextureImage2DMultisampleNV = (PFNGLTEXTUREIMAGE2DMULTISAMPLENVPROC)load(\"glTextureImage2DMultisampleNV\");\n\tglad_glTextureImage3DMultisampleNV = (PFNGLTEXTUREIMAGE3DMULTISAMPLENVPROC)load(\"glTextureImage3DMultisampleNV\");\n\tglad_glTextureImage2DMultisampleCoverageNV = (PFNGLTEXTUREIMAGE2DMULTISAMPLECOVERAGENVPROC)load(\"glTextureImage2DMultisampleCoverageNV\");\n\tglad_glTextureImage3DMultisampleCoverageNV = (PFNGLTEXTUREIMAGE3DMULTISAMPLECOVERAGENVPROC)load(\"glTextureImage3DMultisampleCoverageNV\");\n}\nstatic void load_GL_NV_transform_feedback(GLADloadproc load) {\n\tif(!GLAD_GL_NV_transform_feedback) return;\n\tglad_glBeginTransformFeedbackNV = (PFNGLBEGINTRANSFORMFEEDBACKNVPROC)load(\"glBeginTransformFeedbackNV\");\n\tglad_glEndTransformFeedbackNV = (PFNGLENDTRANSFORMFEEDBACKNVPROC)load(\"glEndTransformFeedbackNV\");\n\tglad_glTransformFeedbackAttribsNV = (PFNGLTRANSFORMFEEDBACKATTRIBSNVPROC)load(\"glTransformFeedbackAttribsNV\");\n\tglad_glBindBufferRangeNV = (PFNGLBINDBUFFERRANGENVPROC)load(\"glBindBufferRangeNV\");\n\tglad_glBindBufferOffsetNV = (PFNGLBINDBUFFEROFFSETNVPROC)load(\"glBindBufferOffsetNV\");\n\tglad_glBindBufferBaseNV = (PFNGLBINDBUFFERBASENVPROC)load(\"glBindBufferBaseNV\");\n\tglad_glTransformFeedbackVaryingsNV = (PFNGLTRANSFORMFEEDBACKVARYINGSNVPROC)load(\"glTransformFeedbackVaryingsNV\");\n\tglad_glActiveVaryingNV = (PFNGLACTIVEVARYINGNVPROC)load(\"glActiveVaryingNV\");\n\tglad_glGetVaryingLocationNV = (PFNGLGETVARYINGLOCATIONNVPROC)load(\"glGetVaryingLocationNV\");\n\tglad_glGetActiveVaryingNV = (PFNGLGETACTIVEVARYINGNVPROC)load(\"glGetActiveVaryingNV\");\n\tglad_glGetTransformFeedbackVaryingNV = (PFNGLGETTRANSFORMFEEDBACKVARYINGNVPROC)load(\"glGetTransformFeedbackVaryingNV\");\n\tglad_glTransformFeedbackStreamAttribsNV = (PFNGLTRANSFORMFEEDBACKSTREAMATTRIBSNVPROC)load(\"glTransformFeedbackStreamAttribsNV\");\n}\nstatic void load_GL_NV_transform_feedback2(GLADloadproc load) {\n\tif(!GLAD_GL_NV_transform_feedback2) return;\n\tglad_glBindTransformFeedbackNV = (PFNGLBINDTRANSFORMFEEDBACKNVPROC)load(\"glBindTransformFeedbackNV\");\n\tglad_glDeleteTransformFeedbacksNV = (PFNGLDELETETRANSFORMFEEDBACKSNVPROC)load(\"glDeleteTransformFeedbacksNV\");\n\tglad_glGenTransformFeedbacksNV = (PFNGLGENTRANSFORMFEEDBACKSNVPROC)load(\"glGenTransformFeedbacksNV\");\n\tglad_glIsTransformFeedbackNV = (PFNGLISTRANSFORMFEEDBACKNVPROC)load(\"glIsTransformFeedbackNV\");\n\tglad_glPauseTransformFeedbackNV = (PFNGLPAUSETRANSFORMFEEDBACKNVPROC)load(\"glPauseTransformFeedbackNV\");\n\tglad_glResumeTransformFeedbackNV = (PFNGLRESUMETRANSFORMFEEDBACKNVPROC)load(\"glResumeTransformFeedbackNV\");\n\tglad_glDrawTransformFeedbackNV = (PFNGLDRAWTRANSFORMFEEDBACKNVPROC)load(\"glDrawTransformFeedbackNV\");\n}\nstatic void load_GL_NV_vdpau_interop(GLADloadproc load) {\n\tif(!GLAD_GL_NV_vdpau_interop) return;\n\tglad_glVDPAUInitNV = (PFNGLVDPAUINITNVPROC)load(\"glVDPAUInitNV\");\n\tglad_glVDPAUFiniNV = (PFNGLVDPAUFININVPROC)load(\"glVDPAUFiniNV\");\n\tglad_glVDPAURegisterVideoSurfaceNV = (PFNGLVDPAUREGISTERVIDEOSURFACENVPROC)load(\"glVDPAURegisterVideoSurfaceNV\");\n\tglad_glVDPAURegisterOutputSurfaceNV = (PFNGLVDPAUREGISTEROUTPUTSURFACENVPROC)load(\"glVDPAURegisterOutputSurfaceNV\");\n\tglad_glVDPAUIsSurfaceNV = (PFNGLVDPAUISSURFACENVPROC)load(\"glVDPAUIsSurfaceNV\");\n\tglad_glVDPAUUnregisterSurfaceNV = (PFNGLVDPAUUNREGISTERSURFACENVPROC)load(\"glVDPAUUnregisterSurfaceNV\");\n\tglad_glVDPAUGetSurfaceivNV = (PFNGLVDPAUGETSURFACEIVNVPROC)load(\"glVDPAUGetSurfaceivNV\");\n\tglad_glVDPAUSurfaceAccessNV = (PFNGLVDPAUSURFACEACCESSNVPROC)load(\"glVDPAUSurfaceAccessNV\");\n\tglad_glVDPAUMapSurfacesNV = (PFNGLVDPAUMAPSURFACESNVPROC)load(\"glVDPAUMapSurfacesNV\");\n\tglad_glVDPAUUnmapSurfacesNV = (PFNGLVDPAUUNMAPSURFACESNVPROC)load(\"glVDPAUUnmapSurfacesNV\");\n}\nstatic void load_GL_NV_vertex_array_range(GLADloadproc load) {\n\tif(!GLAD_GL_NV_vertex_array_range) return;\n\tglad_glFlushVertexArrayRangeNV = (PFNGLFLUSHVERTEXARRAYRANGENVPROC)load(\"glFlushVertexArrayRangeNV\");\n\tglad_glVertexArrayRangeNV = (PFNGLVERTEXARRAYRANGENVPROC)load(\"glVertexArrayRangeNV\");\n}\nstatic void load_GL_NV_vertex_attrib_integer_64bit(GLADloadproc load) {\n\tif(!GLAD_GL_NV_vertex_attrib_integer_64bit) return;\n\tglad_glVertexAttribL1i64NV = (PFNGLVERTEXATTRIBL1I64NVPROC)load(\"glVertexAttribL1i64NV\");\n\tglad_glVertexAttribL2i64NV = (PFNGLVERTEXATTRIBL2I64NVPROC)load(\"glVertexAttribL2i64NV\");\n\tglad_glVertexAttribL3i64NV = (PFNGLVERTEXATTRIBL3I64NVPROC)load(\"glVertexAttribL3i64NV\");\n\tglad_glVertexAttribL4i64NV = (PFNGLVERTEXATTRIBL4I64NVPROC)load(\"glVertexAttribL4i64NV\");\n\tglad_glVertexAttribL1i64vNV = (PFNGLVERTEXATTRIBL1I64VNVPROC)load(\"glVertexAttribL1i64vNV\");\n\tglad_glVertexAttribL2i64vNV = (PFNGLVERTEXATTRIBL2I64VNVPROC)load(\"glVertexAttribL2i64vNV\");\n\tglad_glVertexAttribL3i64vNV = (PFNGLVERTEXATTRIBL3I64VNVPROC)load(\"glVertexAttribL3i64vNV\");\n\tglad_glVertexAttribL4i64vNV = (PFNGLVERTEXATTRIBL4I64VNVPROC)load(\"glVertexAttribL4i64vNV\");\n\tglad_glVertexAttribL1ui64NV = (PFNGLVERTEXATTRIBL1UI64NVPROC)load(\"glVertexAttribL1ui64NV\");\n\tglad_glVertexAttribL2ui64NV = (PFNGLVERTEXATTRIBL2UI64NVPROC)load(\"glVertexAttribL2ui64NV\");\n\tglad_glVertexAttribL3ui64NV = (PFNGLVERTEXATTRIBL3UI64NVPROC)load(\"glVertexAttribL3ui64NV\");\n\tglad_glVertexAttribL4ui64NV = (PFNGLVERTEXATTRIBL4UI64NVPROC)load(\"glVertexAttribL4ui64NV\");\n\tglad_glVertexAttribL1ui64vNV = (PFNGLVERTEXATTRIBL1UI64VNVPROC)load(\"glVertexAttribL1ui64vNV\");\n\tglad_glVertexAttribL2ui64vNV = (PFNGLVERTEXATTRIBL2UI64VNVPROC)load(\"glVertexAttribL2ui64vNV\");\n\tglad_glVertexAttribL3ui64vNV = (PFNGLVERTEXATTRIBL3UI64VNVPROC)load(\"glVertexAttribL3ui64vNV\");\n\tglad_glVertexAttribL4ui64vNV = (PFNGLVERTEXATTRIBL4UI64VNVPROC)load(\"glVertexAttribL4ui64vNV\");\n\tglad_glGetVertexAttribLi64vNV = (PFNGLGETVERTEXATTRIBLI64VNVPROC)load(\"glGetVertexAttribLi64vNV\");\n\tglad_glGetVertexAttribLui64vNV = (PFNGLGETVERTEXATTRIBLUI64VNVPROC)load(\"glGetVertexAttribLui64vNV\");\n\tglad_glVertexAttribLFormatNV = (PFNGLVERTEXATTRIBLFORMATNVPROC)load(\"glVertexAttribLFormatNV\");\n}\nstatic void load_GL_NV_vertex_buffer_unified_memory(GLADloadproc load) {\n\tif(!GLAD_GL_NV_vertex_buffer_unified_memory) return;\n\tglad_glBufferAddressRangeNV = (PFNGLBUFFERADDRESSRANGENVPROC)load(\"glBufferAddressRangeNV\");\n\tglad_glVertexFormatNV = (PFNGLVERTEXFORMATNVPROC)load(\"glVertexFormatNV\");\n\tglad_glNormalFormatNV = (PFNGLNORMALFORMATNVPROC)load(\"glNormalFormatNV\");\n\tglad_glColorFormatNV = (PFNGLCOLORFORMATNVPROC)load(\"glColorFormatNV\");\n\tglad_glIndexFormatNV = (PFNGLINDEXFORMATNVPROC)load(\"glIndexFormatNV\");\n\tglad_glTexCoordFormatNV = (PFNGLTEXCOORDFORMATNVPROC)load(\"glTexCoordFormatNV\");\n\tglad_glEdgeFlagFormatNV = (PFNGLEDGEFLAGFORMATNVPROC)load(\"glEdgeFlagFormatNV\");\n\tglad_glSecondaryColorFormatNV = (PFNGLSECONDARYCOLORFORMATNVPROC)load(\"glSecondaryColorFormatNV\");\n\tglad_glFogCoordFormatNV = (PFNGLFOGCOORDFORMATNVPROC)load(\"glFogCoordFormatNV\");\n\tglad_glVertexAttribFormatNV = (PFNGLVERTEXATTRIBFORMATNVPROC)load(\"glVertexAttribFormatNV\");\n\tglad_glVertexAttribIFormatNV = (PFNGLVERTEXATTRIBIFORMATNVPROC)load(\"glVertexAttribIFormatNV\");\n\tglad_glGetIntegerui64i_vNV = (PFNGLGETINTEGERUI64I_VNVPROC)load(\"glGetIntegerui64i_vNV\");\n}\nstatic void load_GL_NV_vertex_program(GLADloadproc load) {\n\tif(!GLAD_GL_NV_vertex_program) return;\n\tglad_glAreProgramsResidentNV = (PFNGLAREPROGRAMSRESIDENTNVPROC)load(\"glAreProgramsResidentNV\");\n\tglad_glBindProgramNV = (PFNGLBINDPROGRAMNVPROC)load(\"glBindProgramNV\");\n\tglad_glDeleteProgramsNV = (PFNGLDELETEPROGRAMSNVPROC)load(\"glDeleteProgramsNV\");\n\tglad_glExecuteProgramNV = (PFNGLEXECUTEPROGRAMNVPROC)load(\"glExecuteProgramNV\");\n\tglad_glGenProgramsNV = (PFNGLGENPROGRAMSNVPROC)load(\"glGenProgramsNV\");\n\tglad_glGetProgramParameterdvNV = (PFNGLGETPROGRAMPARAMETERDVNVPROC)load(\"glGetProgramParameterdvNV\");\n\tglad_glGetProgramParameterfvNV = (PFNGLGETPROGRAMPARAMETERFVNVPROC)load(\"glGetProgramParameterfvNV\");\n\tglad_glGetProgramivNV = (PFNGLGETPROGRAMIVNVPROC)load(\"glGetProgramivNV\");\n\tglad_glGetProgramStringNV = (PFNGLGETPROGRAMSTRINGNVPROC)load(\"glGetProgramStringNV\");\n\tglad_glGetTrackMatrixivNV = (PFNGLGETTRACKMATRIXIVNVPROC)load(\"glGetTrackMatrixivNV\");\n\tglad_glGetVertexAttribdvNV = (PFNGLGETVERTEXATTRIBDVNVPROC)load(\"glGetVertexAttribdvNV\");\n\tglad_glGetVertexAttribfvNV = (PFNGLGETVERTEXATTRIBFVNVPROC)load(\"glGetVertexAttribfvNV\");\n\tglad_glGetVertexAttribivNV = (PFNGLGETVERTEXATTRIBIVNVPROC)load(\"glGetVertexAttribivNV\");\n\tglad_glGetVertexAttribPointervNV = (PFNGLGETVERTEXATTRIBPOINTERVNVPROC)load(\"glGetVertexAttribPointervNV\");\n\tglad_glIsProgramNV = (PFNGLISPROGRAMNVPROC)load(\"glIsProgramNV\");\n\tglad_glLoadProgramNV = (PFNGLLOADPROGRAMNVPROC)load(\"glLoadProgramNV\");\n\tglad_glProgramParameter4dNV = (PFNGLPROGRAMPARAMETER4DNVPROC)load(\"glProgramParameter4dNV\");\n\tglad_glProgramParameter4dvNV = (PFNGLPROGRAMPARAMETER4DVNVPROC)load(\"glProgramParameter4dvNV\");\n\tglad_glProgramParameter4fNV = (PFNGLPROGRAMPARAMETER4FNVPROC)load(\"glProgramParameter4fNV\");\n\tglad_glProgramParameter4fvNV = (PFNGLPROGRAMPARAMETER4FVNVPROC)load(\"glProgramParameter4fvNV\");\n\tglad_glProgramParameters4dvNV = (PFNGLPROGRAMPARAMETERS4DVNVPROC)load(\"glProgramParameters4dvNV\");\n\tglad_glProgramParameters4fvNV = (PFNGLPROGRAMPARAMETERS4FVNVPROC)load(\"glProgramParameters4fvNV\");\n\tglad_glRequestResidentProgramsNV = (PFNGLREQUESTRESIDENTPROGRAMSNVPROC)load(\"glRequestResidentProgramsNV\");\n\tglad_glTrackMatrixNV = (PFNGLTRACKMATRIXNVPROC)load(\"glTrackMatrixNV\");\n\tglad_glVertexAttribPointerNV = (PFNGLVERTEXATTRIBPOINTERNVPROC)load(\"glVertexAttribPointerNV\");\n\tglad_glVertexAttrib1dNV = (PFNGLVERTEXATTRIB1DNVPROC)load(\"glVertexAttrib1dNV\");\n\tglad_glVertexAttrib1dvNV = (PFNGLVERTEXATTRIB1DVNVPROC)load(\"glVertexAttrib1dvNV\");\n\tglad_glVertexAttrib1fNV = (PFNGLVERTEXATTRIB1FNVPROC)load(\"glVertexAttrib1fNV\");\n\tglad_glVertexAttrib1fvNV = (PFNGLVERTEXATTRIB1FVNVPROC)load(\"glVertexAttrib1fvNV\");\n\tglad_glVertexAttrib1sNV = (PFNGLVERTEXATTRIB1SNVPROC)load(\"glVertexAttrib1sNV\");\n\tglad_glVertexAttrib1svNV = (PFNGLVERTEXATTRIB1SVNVPROC)load(\"glVertexAttrib1svNV\");\n\tglad_glVertexAttrib2dNV = (PFNGLVERTEXATTRIB2DNVPROC)load(\"glVertexAttrib2dNV\");\n\tglad_glVertexAttrib2dvNV = (PFNGLVERTEXATTRIB2DVNVPROC)load(\"glVertexAttrib2dvNV\");\n\tglad_glVertexAttrib2fNV = (PFNGLVERTEXATTRIB2FNVPROC)load(\"glVertexAttrib2fNV\");\n\tglad_glVertexAttrib2fvNV = (PFNGLVERTEXATTRIB2FVNVPROC)load(\"glVertexAttrib2fvNV\");\n\tglad_glVertexAttrib2sNV = (PFNGLVERTEXATTRIB2SNVPROC)load(\"glVertexAttrib2sNV\");\n\tglad_glVertexAttrib2svNV = (PFNGLVERTEXATTRIB2SVNVPROC)load(\"glVertexAttrib2svNV\");\n\tglad_glVertexAttrib3dNV = (PFNGLVERTEXATTRIB3DNVPROC)load(\"glVertexAttrib3dNV\");\n\tglad_glVertexAttrib3dvNV = (PFNGLVERTEXATTRIB3DVNVPROC)load(\"glVertexAttrib3dvNV\");\n\tglad_glVertexAttrib3fNV = (PFNGLVERTEXATTRIB3FNVPROC)load(\"glVertexAttrib3fNV\");\n\tglad_glVertexAttrib3fvNV = (PFNGLVERTEXATTRIB3FVNVPROC)load(\"glVertexAttrib3fvNV\");\n\tglad_glVertexAttrib3sNV = (PFNGLVERTEXATTRIB3SNVPROC)load(\"glVertexAttrib3sNV\");\n\tglad_glVertexAttrib3svNV = (PFNGLVERTEXATTRIB3SVNVPROC)load(\"glVertexAttrib3svNV\");\n\tglad_glVertexAttrib4dNV = (PFNGLVERTEXATTRIB4DNVPROC)load(\"glVertexAttrib4dNV\");\n\tglad_glVertexAttrib4dvNV = (PFNGLVERTEXATTRIB4DVNVPROC)load(\"glVertexAttrib4dvNV\");\n\tglad_glVertexAttrib4fNV = (PFNGLVERTEXATTRIB4FNVPROC)load(\"glVertexAttrib4fNV\");\n\tglad_glVertexAttrib4fvNV = (PFNGLVERTEXATTRIB4FVNVPROC)load(\"glVertexAttrib4fvNV\");\n\tglad_glVertexAttrib4sNV = (PFNGLVERTEXATTRIB4SNVPROC)load(\"glVertexAttrib4sNV\");\n\tglad_glVertexAttrib4svNV = (PFNGLVERTEXATTRIB4SVNVPROC)load(\"glVertexAttrib4svNV\");\n\tglad_glVertexAttrib4ubNV = (PFNGLVERTEXATTRIB4UBNVPROC)load(\"glVertexAttrib4ubNV\");\n\tglad_glVertexAttrib4ubvNV = (PFNGLVERTEXATTRIB4UBVNVPROC)load(\"glVertexAttrib4ubvNV\");\n\tglad_glVertexAttribs1dvNV = (PFNGLVERTEXATTRIBS1DVNVPROC)load(\"glVertexAttribs1dvNV\");\n\tglad_glVertexAttribs1fvNV = (PFNGLVERTEXATTRIBS1FVNVPROC)load(\"glVertexAttribs1fvNV\");\n\tglad_glVertexAttribs1svNV = (PFNGLVERTEXATTRIBS1SVNVPROC)load(\"glVertexAttribs1svNV\");\n\tglad_glVertexAttribs2dvNV = (PFNGLVERTEXATTRIBS2DVNVPROC)load(\"glVertexAttribs2dvNV\");\n\tglad_glVertexAttribs2fvNV = (PFNGLVERTEXATTRIBS2FVNVPROC)load(\"glVertexAttribs2fvNV\");\n\tglad_glVertexAttribs2svNV = (PFNGLVERTEXATTRIBS2SVNVPROC)load(\"glVertexAttribs2svNV\");\n\tglad_glVertexAttribs3dvNV = (PFNGLVERTEXATTRIBS3DVNVPROC)load(\"glVertexAttribs3dvNV\");\n\tglad_glVertexAttribs3fvNV = (PFNGLVERTEXATTRIBS3FVNVPROC)load(\"glVertexAttribs3fvNV\");\n\tglad_glVertexAttribs3svNV = (PFNGLVERTEXATTRIBS3SVNVPROC)load(\"glVertexAttribs3svNV\");\n\tglad_glVertexAttribs4dvNV = (PFNGLVERTEXATTRIBS4DVNVPROC)load(\"glVertexAttribs4dvNV\");\n\tglad_glVertexAttribs4fvNV = (PFNGLVERTEXATTRIBS4FVNVPROC)load(\"glVertexAttribs4fvNV\");\n\tglad_glVertexAttribs4svNV = (PFNGLVERTEXATTRIBS4SVNVPROC)load(\"glVertexAttribs4svNV\");\n\tglad_glVertexAttribs4ubvNV = (PFNGLVERTEXATTRIBS4UBVNVPROC)load(\"glVertexAttribs4ubvNV\");\n}\nstatic void load_GL_NV_vertex_program4(GLADloadproc load) {\n\tif(!GLAD_GL_NV_vertex_program4) return;\n\tglad_glVertexAttribI1iEXT = (PFNGLVERTEXATTRIBI1IEXTPROC)load(\"glVertexAttribI1iEXT\");\n\tglad_glVertexAttribI2iEXT = (PFNGLVERTEXATTRIBI2IEXTPROC)load(\"glVertexAttribI2iEXT\");\n\tglad_glVertexAttribI3iEXT = (PFNGLVERTEXATTRIBI3IEXTPROC)load(\"glVertexAttribI3iEXT\");\n\tglad_glVertexAttribI4iEXT = (PFNGLVERTEXATTRIBI4IEXTPROC)load(\"glVertexAttribI4iEXT\");\n\tglad_glVertexAttribI1uiEXT = (PFNGLVERTEXATTRIBI1UIEXTPROC)load(\"glVertexAttribI1uiEXT\");\n\tglad_glVertexAttribI2uiEXT = (PFNGLVERTEXATTRIBI2UIEXTPROC)load(\"glVertexAttribI2uiEXT\");\n\tglad_glVertexAttribI3uiEXT = (PFNGLVERTEXATTRIBI3UIEXTPROC)load(\"glVertexAttribI3uiEXT\");\n\tglad_glVertexAttribI4uiEXT = (PFNGLVERTEXATTRIBI4UIEXTPROC)load(\"glVertexAttribI4uiEXT\");\n\tglad_glVertexAttribI1ivEXT = (PFNGLVERTEXATTRIBI1IVEXTPROC)load(\"glVertexAttribI1ivEXT\");\n\tglad_glVertexAttribI2ivEXT = (PFNGLVERTEXATTRIBI2IVEXTPROC)load(\"glVertexAttribI2ivEXT\");\n\tglad_glVertexAttribI3ivEXT = (PFNGLVERTEXATTRIBI3IVEXTPROC)load(\"glVertexAttribI3ivEXT\");\n\tglad_glVertexAttribI4ivEXT = (PFNGLVERTEXATTRIBI4IVEXTPROC)load(\"glVertexAttribI4ivEXT\");\n\tglad_glVertexAttribI1uivEXT = (PFNGLVERTEXATTRIBI1UIVEXTPROC)load(\"glVertexAttribI1uivEXT\");\n\tglad_glVertexAttribI2uivEXT = (PFNGLVERTEXATTRIBI2UIVEXTPROC)load(\"glVertexAttribI2uivEXT\");\n\tglad_glVertexAttribI3uivEXT = (PFNGLVERTEXATTRIBI3UIVEXTPROC)load(\"glVertexAttribI3uivEXT\");\n\tglad_glVertexAttribI4uivEXT = (PFNGLVERTEXATTRIBI4UIVEXTPROC)load(\"glVertexAttribI4uivEXT\");\n\tglad_glVertexAttribI4bvEXT = (PFNGLVERTEXATTRIBI4BVEXTPROC)load(\"glVertexAttribI4bvEXT\");\n\tglad_glVertexAttribI4svEXT = (PFNGLVERTEXATTRIBI4SVEXTPROC)load(\"glVertexAttribI4svEXT\");\n\tglad_glVertexAttribI4ubvEXT = (PFNGLVERTEXATTRIBI4UBVEXTPROC)load(\"glVertexAttribI4ubvEXT\");\n\tglad_glVertexAttribI4usvEXT = (PFNGLVERTEXATTRIBI4USVEXTPROC)load(\"glVertexAttribI4usvEXT\");\n\tglad_glVertexAttribIPointerEXT = (PFNGLVERTEXATTRIBIPOINTEREXTPROC)load(\"glVertexAttribIPointerEXT\");\n\tglad_glGetVertexAttribIivEXT = (PFNGLGETVERTEXATTRIBIIVEXTPROC)load(\"glGetVertexAttribIivEXT\");\n\tglad_glGetVertexAttribIuivEXT = (PFNGLGETVERTEXATTRIBIUIVEXTPROC)load(\"glGetVertexAttribIuivEXT\");\n}\nstatic void load_GL_NV_video_capture(GLADloadproc load) {\n\tif(!GLAD_GL_NV_video_capture) return;\n\tglad_glBeginVideoCaptureNV = (PFNGLBEGINVIDEOCAPTURENVPROC)load(\"glBeginVideoCaptureNV\");\n\tglad_glBindVideoCaptureStreamBufferNV = (PFNGLBINDVIDEOCAPTURESTREAMBUFFERNVPROC)load(\"glBindVideoCaptureStreamBufferNV\");\n\tglad_glBindVideoCaptureStreamTextureNV = (PFNGLBINDVIDEOCAPTURESTREAMTEXTURENVPROC)load(\"glBindVideoCaptureStreamTextureNV\");\n\tglad_glEndVideoCaptureNV = (PFNGLENDVIDEOCAPTURENVPROC)load(\"glEndVideoCaptureNV\");\n\tglad_glGetVideoCaptureivNV = (PFNGLGETVIDEOCAPTUREIVNVPROC)load(\"glGetVideoCaptureivNV\");\n\tglad_glGetVideoCaptureStreamivNV = (PFNGLGETVIDEOCAPTURESTREAMIVNVPROC)load(\"glGetVideoCaptureStreamivNV\");\n\tglad_glGetVideoCaptureStreamfvNV = (PFNGLGETVIDEOCAPTURESTREAMFVNVPROC)load(\"glGetVideoCaptureStreamfvNV\");\n\tglad_glGetVideoCaptureStreamdvNV = (PFNGLGETVIDEOCAPTURESTREAMDVNVPROC)load(\"glGetVideoCaptureStreamdvNV\");\n\tglad_glVideoCaptureNV = (PFNGLVIDEOCAPTURENVPROC)load(\"glVideoCaptureNV\");\n\tglad_glVideoCaptureStreamParameterivNV = (PFNGLVIDEOCAPTURESTREAMPARAMETERIVNVPROC)load(\"glVideoCaptureStreamParameterivNV\");\n\tglad_glVideoCaptureStreamParameterfvNV = (PFNGLVIDEOCAPTURESTREAMPARAMETERFVNVPROC)load(\"glVideoCaptureStreamParameterfvNV\");\n\tglad_glVideoCaptureStreamParameterdvNV = (PFNGLVIDEOCAPTURESTREAMPARAMETERDVNVPROC)load(\"glVideoCaptureStreamParameterdvNV\");\n}\nstatic void load_GL_NV_viewport_swizzle(GLADloadproc load) {\n\tif(!GLAD_GL_NV_viewport_swizzle) return;\n\tglad_glViewportSwizzleNV = (PFNGLVIEWPORTSWIZZLENVPROC)load(\"glViewportSwizzleNV\");\n}\nstatic void load_GL_OES_byte_coordinates(GLADloadproc load) {\n\tif(!GLAD_GL_OES_byte_coordinates) return;\n\tglad_glMultiTexCoord1bOES = (PFNGLMULTITEXCOORD1BOESPROC)load(\"glMultiTexCoord1bOES\");\n\tglad_glMultiTexCoord1bvOES = (PFNGLMULTITEXCOORD1BVOESPROC)load(\"glMultiTexCoord1bvOES\");\n\tglad_glMultiTexCoord2bOES = (PFNGLMULTITEXCOORD2BOESPROC)load(\"glMultiTexCoord2bOES\");\n\tglad_glMultiTexCoord2bvOES = (PFNGLMULTITEXCOORD2BVOESPROC)load(\"glMultiTexCoord2bvOES\");\n\tglad_glMultiTexCoord3bOES = (PFNGLMULTITEXCOORD3BOESPROC)load(\"glMultiTexCoord3bOES\");\n\tglad_glMultiTexCoord3bvOES = (PFNGLMULTITEXCOORD3BVOESPROC)load(\"glMultiTexCoord3bvOES\");\n\tglad_glMultiTexCoord4bOES = (PFNGLMULTITEXCOORD4BOESPROC)load(\"glMultiTexCoord4bOES\");\n\tglad_glMultiTexCoord4bvOES = (PFNGLMULTITEXCOORD4BVOESPROC)load(\"glMultiTexCoord4bvOES\");\n\tglad_glTexCoord1bOES = (PFNGLTEXCOORD1BOESPROC)load(\"glTexCoord1bOES\");\n\tglad_glTexCoord1bvOES = (PFNGLTEXCOORD1BVOESPROC)load(\"glTexCoord1bvOES\");\n\tglad_glTexCoord2bOES = (PFNGLTEXCOORD2BOESPROC)load(\"glTexCoord2bOES\");\n\tglad_glTexCoord2bvOES = (PFNGLTEXCOORD2BVOESPROC)load(\"glTexCoord2bvOES\");\n\tglad_glTexCoord3bOES = (PFNGLTEXCOORD3BOESPROC)load(\"glTexCoord3bOES\");\n\tglad_glTexCoord3bvOES = (PFNGLTEXCOORD3BVOESPROC)load(\"glTexCoord3bvOES\");\n\tglad_glTexCoord4bOES = (PFNGLTEXCOORD4BOESPROC)load(\"glTexCoord4bOES\");\n\tglad_glTexCoord4bvOES = (PFNGLTEXCOORD4BVOESPROC)load(\"glTexCoord4bvOES\");\n\tglad_glVertex2bOES = (PFNGLVERTEX2BOESPROC)load(\"glVertex2bOES\");\n\tglad_glVertex2bvOES = (PFNGLVERTEX2BVOESPROC)load(\"glVertex2bvOES\");\n\tglad_glVertex3bOES = (PFNGLVERTEX3BOESPROC)load(\"glVertex3bOES\");\n\tglad_glVertex3bvOES = (PFNGLVERTEX3BVOESPROC)load(\"glVertex3bvOES\");\n\tglad_glVertex4bOES = (PFNGLVERTEX4BOESPROC)load(\"glVertex4bOES\");\n\tglad_glVertex4bvOES = (PFNGLVERTEX4BVOESPROC)load(\"glVertex4bvOES\");\n}\nstatic void load_GL_OES_fixed_point(GLADloadproc load) {\n\tif(!GLAD_GL_OES_fixed_point) return;\n\tglad_glAlphaFuncxOES = (PFNGLALPHAFUNCXOESPROC)load(\"glAlphaFuncxOES\");\n\tglad_glClearColorxOES = (PFNGLCLEARCOLORXOESPROC)load(\"glClearColorxOES\");\n\tglad_glClearDepthxOES = (PFNGLCLEARDEPTHXOESPROC)load(\"glClearDepthxOES\");\n\tglad_glClipPlanexOES = (PFNGLCLIPPLANEXOESPROC)load(\"glClipPlanexOES\");\n\tglad_glColor4xOES = (PFNGLCOLOR4XOESPROC)load(\"glColor4xOES\");\n\tglad_glDepthRangexOES = (PFNGLDEPTHRANGEXOESPROC)load(\"glDepthRangexOES\");\n\tglad_glFogxOES = (PFNGLFOGXOESPROC)load(\"glFogxOES\");\n\tglad_glFogxvOES = (PFNGLFOGXVOESPROC)load(\"glFogxvOES\");\n\tglad_glFrustumxOES = (PFNGLFRUSTUMXOESPROC)load(\"glFrustumxOES\");\n\tglad_glGetClipPlanexOES = (PFNGLGETCLIPPLANEXOESPROC)load(\"glGetClipPlanexOES\");\n\tglad_glGetFixedvOES = (PFNGLGETFIXEDVOESPROC)load(\"glGetFixedvOES\");\n\tglad_glGetTexEnvxvOES = (PFNGLGETTEXENVXVOESPROC)load(\"glGetTexEnvxvOES\");\n\tglad_glGetTexParameterxvOES = (PFNGLGETTEXPARAMETERXVOESPROC)load(\"glGetTexParameterxvOES\");\n\tglad_glLightModelxOES = (PFNGLLIGHTMODELXOESPROC)load(\"glLightModelxOES\");\n\tglad_glLightModelxvOES = (PFNGLLIGHTMODELXVOESPROC)load(\"glLightModelxvOES\");\n\tglad_glLightxOES = (PFNGLLIGHTXOESPROC)load(\"glLightxOES\");\n\tglad_glLightxvOES = (PFNGLLIGHTXVOESPROC)load(\"glLightxvOES\");\n\tglad_glLineWidthxOES = (PFNGLLINEWIDTHXOESPROC)load(\"glLineWidthxOES\");\n\tglad_glLoadMatrixxOES = (PFNGLLOADMATRIXXOESPROC)load(\"glLoadMatrixxOES\");\n\tglad_glMaterialxOES = (PFNGLMATERIALXOESPROC)load(\"glMaterialxOES\");\n\tglad_glMaterialxvOES = (PFNGLMATERIALXVOESPROC)load(\"glMaterialxvOES\");\n\tglad_glMultMatrixxOES = (PFNGLMULTMATRIXXOESPROC)load(\"glMultMatrixxOES\");\n\tglad_glMultiTexCoord4xOES = (PFNGLMULTITEXCOORD4XOESPROC)load(\"glMultiTexCoord4xOES\");\n\tglad_glNormal3xOES = (PFNGLNORMAL3XOESPROC)load(\"glNormal3xOES\");\n\tglad_glOrthoxOES = (PFNGLORTHOXOESPROC)load(\"glOrthoxOES\");\n\tglad_glPointParameterxvOES = (PFNGLPOINTPARAMETERXVOESPROC)load(\"glPointParameterxvOES\");\n\tglad_glPointSizexOES = (PFNGLPOINTSIZEXOESPROC)load(\"glPointSizexOES\");\n\tglad_glPolygonOffsetxOES = (PFNGLPOLYGONOFFSETXOESPROC)load(\"glPolygonOffsetxOES\");\n\tglad_glRotatexOES = (PFNGLROTATEXOESPROC)load(\"glRotatexOES\");\n\tglad_glScalexOES = (PFNGLSCALEXOESPROC)load(\"glScalexOES\");\n\tglad_glTexEnvxOES = (PFNGLTEXENVXOESPROC)load(\"glTexEnvxOES\");\n\tglad_glTexEnvxvOES = (PFNGLTEXENVXVOESPROC)load(\"glTexEnvxvOES\");\n\tglad_glTexParameterxOES = (PFNGLTEXPARAMETERXOESPROC)load(\"glTexParameterxOES\");\n\tglad_glTexParameterxvOES = (PFNGLTEXPARAMETERXVOESPROC)load(\"glTexParameterxvOES\");\n\tglad_glTranslatexOES = (PFNGLTRANSLATEXOESPROC)load(\"glTranslatexOES\");\n\tglad_glGetLightxvOES = (PFNGLGETLIGHTXVOESPROC)load(\"glGetLightxvOES\");\n\tglad_glGetMaterialxvOES = (PFNGLGETMATERIALXVOESPROC)load(\"glGetMaterialxvOES\");\n\tglad_glPointParameterxOES = (PFNGLPOINTPARAMETERXOESPROC)load(\"glPointParameterxOES\");\n\tglad_glSampleCoveragexOES = (PFNGLSAMPLECOVERAGEXOESPROC)load(\"glSampleCoveragexOES\");\n\tglad_glAccumxOES = (PFNGLACCUMXOESPROC)load(\"glAccumxOES\");\n\tglad_glBitmapxOES = (PFNGLBITMAPXOESPROC)load(\"glBitmapxOES\");\n\tglad_glBlendColorxOES = (PFNGLBLENDCOLORXOESPROC)load(\"glBlendColorxOES\");\n\tglad_glClearAccumxOES = (PFNGLCLEARACCUMXOESPROC)load(\"glClearAccumxOES\");\n\tglad_glColor3xOES = (PFNGLCOLOR3XOESPROC)load(\"glColor3xOES\");\n\tglad_glColor3xvOES = (PFNGLCOLOR3XVOESPROC)load(\"glColor3xvOES\");\n\tglad_glColor4xvOES = (PFNGLCOLOR4XVOESPROC)load(\"glColor4xvOES\");\n\tglad_glConvolutionParameterxOES = (PFNGLCONVOLUTIONPARAMETERXOESPROC)load(\"glConvolutionParameterxOES\");\n\tglad_glConvolutionParameterxvOES = (PFNGLCONVOLUTIONPARAMETERXVOESPROC)load(\"glConvolutionParameterxvOES\");\n\tglad_glEvalCoord1xOES = (PFNGLEVALCOORD1XOESPROC)load(\"glEvalCoord1xOES\");\n\tglad_glEvalCoord1xvOES = (PFNGLEVALCOORD1XVOESPROC)load(\"glEvalCoord1xvOES\");\n\tglad_glEvalCoord2xOES = (PFNGLEVALCOORD2XOESPROC)load(\"glEvalCoord2xOES\");\n\tglad_glEvalCoord2xvOES = (PFNGLEVALCOORD2XVOESPROC)load(\"glEvalCoord2xvOES\");\n\tglad_glFeedbackBufferxOES = (PFNGLFEEDBACKBUFFERXOESPROC)load(\"glFeedbackBufferxOES\");\n\tglad_glGetConvolutionParameterxvOES = (PFNGLGETCONVOLUTIONPARAMETERXVOESPROC)load(\"glGetConvolutionParameterxvOES\");\n\tglad_glGetHistogramParameterxvOES = (PFNGLGETHISTOGRAMPARAMETERXVOESPROC)load(\"glGetHistogramParameterxvOES\");\n\tglad_glGetLightxOES = (PFNGLGETLIGHTXOESPROC)load(\"glGetLightxOES\");\n\tglad_glGetMapxvOES = (PFNGLGETMAPXVOESPROC)load(\"glGetMapxvOES\");\n\tglad_glGetMaterialxOES = (PFNGLGETMATERIALXOESPROC)load(\"glGetMaterialxOES\");\n\tglad_glGetPixelMapxv = (PFNGLGETPIXELMAPXVPROC)load(\"glGetPixelMapxv\");\n\tglad_glGetTexGenxvOES = (PFNGLGETTEXGENXVOESPROC)load(\"glGetTexGenxvOES\");\n\tglad_glGetTexLevelParameterxvOES = (PFNGLGETTEXLEVELPARAMETERXVOESPROC)load(\"glGetTexLevelParameterxvOES\");\n\tglad_glIndexxOES = (PFNGLINDEXXOESPROC)load(\"glIndexxOES\");\n\tglad_glIndexxvOES = (PFNGLINDEXXVOESPROC)load(\"glIndexxvOES\");\n\tglad_glLoadTransposeMatrixxOES = (PFNGLLOADTRANSPOSEMATRIXXOESPROC)load(\"glLoadTransposeMatrixxOES\");\n\tglad_glMap1xOES = (PFNGLMAP1XOESPROC)load(\"glMap1xOES\");\n\tglad_glMap2xOES = (PFNGLMAP2XOESPROC)load(\"glMap2xOES\");\n\tglad_glMapGrid1xOES = (PFNGLMAPGRID1XOESPROC)load(\"glMapGrid1xOES\");\n\tglad_glMapGrid2xOES = (PFNGLMAPGRID2XOESPROC)load(\"glMapGrid2xOES\");\n\tglad_glMultTransposeMatrixxOES = (PFNGLMULTTRANSPOSEMATRIXXOESPROC)load(\"glMultTransposeMatrixxOES\");\n\tglad_glMultiTexCoord1xOES = (PFNGLMULTITEXCOORD1XOESPROC)load(\"glMultiTexCoord1xOES\");\n\tglad_glMultiTexCoord1xvOES = (PFNGLMULTITEXCOORD1XVOESPROC)load(\"glMultiTexCoord1xvOES\");\n\tglad_glMultiTexCoord2xOES = (PFNGLMULTITEXCOORD2XOESPROC)load(\"glMultiTexCoord2xOES\");\n\tglad_glMultiTexCoord2xvOES = (PFNGLMULTITEXCOORD2XVOESPROC)load(\"glMultiTexCoord2xvOES\");\n\tglad_glMultiTexCoord3xOES = (PFNGLMULTITEXCOORD3XOESPROC)load(\"glMultiTexCoord3xOES\");\n\tglad_glMultiTexCoord3xvOES = (PFNGLMULTITEXCOORD3XVOESPROC)load(\"glMultiTexCoord3xvOES\");\n\tglad_glMultiTexCoord4xvOES = (PFNGLMULTITEXCOORD4XVOESPROC)load(\"glMultiTexCoord4xvOES\");\n\tglad_glNormal3xvOES = (PFNGLNORMAL3XVOESPROC)load(\"glNormal3xvOES\");\n\tglad_glPassThroughxOES = (PFNGLPASSTHROUGHXOESPROC)load(\"glPassThroughxOES\");\n\tglad_glPixelMapx = (PFNGLPIXELMAPXPROC)load(\"glPixelMapx\");\n\tglad_glPixelStorex = (PFNGLPIXELSTOREXPROC)load(\"glPixelStorex\");\n\tglad_glPixelTransferxOES = (PFNGLPIXELTRANSFERXOESPROC)load(\"glPixelTransferxOES\");\n\tglad_glPixelZoomxOES = (PFNGLPIXELZOOMXOESPROC)load(\"glPixelZoomxOES\");\n\tglad_glPrioritizeTexturesxOES = (PFNGLPRIORITIZETEXTURESXOESPROC)load(\"glPrioritizeTexturesxOES\");\n\tglad_glRasterPos2xOES = (PFNGLRASTERPOS2XOESPROC)load(\"glRasterPos2xOES\");\n\tglad_glRasterPos2xvOES = (PFNGLRASTERPOS2XVOESPROC)load(\"glRasterPos2xvOES\");\n\tglad_glRasterPos3xOES = (PFNGLRASTERPOS3XOESPROC)load(\"glRasterPos3xOES\");\n\tglad_glRasterPos3xvOES = (PFNGLRASTERPOS3XVOESPROC)load(\"glRasterPos3xvOES\");\n\tglad_glRasterPos4xOES = (PFNGLRASTERPOS4XOESPROC)load(\"glRasterPos4xOES\");\n\tglad_glRasterPos4xvOES = (PFNGLRASTERPOS4XVOESPROC)load(\"glRasterPos4xvOES\");\n\tglad_glRectxOES = (PFNGLRECTXOESPROC)load(\"glRectxOES\");\n\tglad_glRectxvOES = (PFNGLRECTXVOESPROC)load(\"glRectxvOES\");\n\tglad_glTexCoord1xOES = (PFNGLTEXCOORD1XOESPROC)load(\"glTexCoord1xOES\");\n\tglad_glTexCoord1xvOES = (PFNGLTEXCOORD1XVOESPROC)load(\"glTexCoord1xvOES\");\n\tglad_glTexCoord2xOES = (PFNGLTEXCOORD2XOESPROC)load(\"glTexCoord2xOES\");\n\tglad_glTexCoord2xvOES = (PFNGLTEXCOORD2XVOESPROC)load(\"glTexCoord2xvOES\");\n\tglad_glTexCoord3xOES = (PFNGLTEXCOORD3XOESPROC)load(\"glTexCoord3xOES\");\n\tglad_glTexCoord3xvOES = (PFNGLTEXCOORD3XVOESPROC)load(\"glTexCoord3xvOES\");\n\tglad_glTexCoord4xOES = (PFNGLTEXCOORD4XOESPROC)load(\"glTexCoord4xOES\");\n\tglad_glTexCoord4xvOES = (PFNGLTEXCOORD4XVOESPROC)load(\"glTexCoord4xvOES\");\n\tglad_glTexGenxOES = (PFNGLTEXGENXOESPROC)load(\"glTexGenxOES\");\n\tglad_glTexGenxvOES = (PFNGLTEXGENXVOESPROC)load(\"glTexGenxvOES\");\n\tglad_glVertex2xOES = (PFNGLVERTEX2XOESPROC)load(\"glVertex2xOES\");\n\tglad_glVertex2xvOES = (PFNGLVERTEX2XVOESPROC)load(\"glVertex2xvOES\");\n\tglad_glVertex3xOES = (PFNGLVERTEX3XOESPROC)load(\"glVertex3xOES\");\n\tglad_glVertex3xvOES = (PFNGLVERTEX3XVOESPROC)load(\"glVertex3xvOES\");\n\tglad_glVertex4xOES = (PFNGLVERTEX4XOESPROC)load(\"glVertex4xOES\");\n\tglad_glVertex4xvOES = (PFNGLVERTEX4XVOESPROC)load(\"glVertex4xvOES\");\n}\nstatic void load_GL_OES_query_matrix(GLADloadproc load) {\n\tif(!GLAD_GL_OES_query_matrix) return;\n\tglad_glQueryMatrixxOES = (PFNGLQUERYMATRIXXOESPROC)load(\"glQueryMatrixxOES\");\n}\nstatic void load_GL_OES_single_precision(GLADloadproc load) {\n\tif(!GLAD_GL_OES_single_precision) return;\n\tglad_glClearDepthfOES = (PFNGLCLEARDEPTHFOESPROC)load(\"glClearDepthfOES\");\n\tglad_glClipPlanefOES = (PFNGLCLIPPLANEFOESPROC)load(\"glClipPlanefOES\");\n\tglad_glDepthRangefOES = (PFNGLDEPTHRANGEFOESPROC)load(\"glDepthRangefOES\");\n\tglad_glFrustumfOES = (PFNGLFRUSTUMFOESPROC)load(\"glFrustumfOES\");\n\tglad_glGetClipPlanefOES = (PFNGLGETCLIPPLANEFOESPROC)load(\"glGetClipPlanefOES\");\n\tglad_glOrthofOES = (PFNGLORTHOFOESPROC)load(\"glOrthofOES\");\n}\nstatic void load_GL_OVR_multiview(GLADloadproc load) {\n\tif(!GLAD_GL_OVR_multiview) return;\n\tglad_glFramebufferTextureMultiviewOVR = (PFNGLFRAMEBUFFERTEXTUREMULTIVIEWOVRPROC)load(\"glFramebufferTextureMultiviewOVR\");\n}\nstatic void load_GL_PGI_misc_hints(GLADloadproc load) {\n\tif(!GLAD_GL_PGI_misc_hints) return;\n\tglad_glHintPGI = (PFNGLHINTPGIPROC)load(\"glHintPGI\");\n}\nstatic void load_GL_SGIS_detail_texture(GLADloadproc load) {\n\tif(!GLAD_GL_SGIS_detail_texture) return;\n\tglad_glDetailTexFuncSGIS = (PFNGLDETAILTEXFUNCSGISPROC)load(\"glDetailTexFuncSGIS\");\n\tglad_glGetDetailTexFuncSGIS = (PFNGLGETDETAILTEXFUNCSGISPROC)load(\"glGetDetailTexFuncSGIS\");\n}\nstatic void load_GL_SGIS_fog_function(GLADloadproc load) {\n\tif(!GLAD_GL_SGIS_fog_function) return;\n\tglad_glFogFuncSGIS = (PFNGLFOGFUNCSGISPROC)load(\"glFogFuncSGIS\");\n\tglad_glGetFogFuncSGIS = (PFNGLGETFOGFUNCSGISPROC)load(\"glGetFogFuncSGIS\");\n}\nstatic void load_GL_SGIS_multisample(GLADloadproc load) {\n\tif(!GLAD_GL_SGIS_multisample) return;\n\tglad_glSampleMaskSGIS = (PFNGLSAMPLEMASKSGISPROC)load(\"glSampleMaskSGIS\");\n\tglad_glSamplePatternSGIS = (PFNGLSAMPLEPATTERNSGISPROC)load(\"glSamplePatternSGIS\");\n}\nstatic void load_GL_SGIS_pixel_texture(GLADloadproc load) {\n\tif(!GLAD_GL_SGIS_pixel_texture) return;\n\tglad_glPixelTexGenParameteriSGIS = (PFNGLPIXELTEXGENPARAMETERISGISPROC)load(\"glPixelTexGenParameteriSGIS\");\n\tglad_glPixelTexGenParameterivSGIS = (PFNGLPIXELTEXGENPARAMETERIVSGISPROC)load(\"glPixelTexGenParameterivSGIS\");\n\tglad_glPixelTexGenParameterfSGIS = (PFNGLPIXELTEXGENPARAMETERFSGISPROC)load(\"glPixelTexGenParameterfSGIS\");\n\tglad_glPixelTexGenParameterfvSGIS = (PFNGLPIXELTEXGENPARAMETERFVSGISPROC)load(\"glPixelTexGenParameterfvSGIS\");\n\tglad_glGetPixelTexGenParameterivSGIS = (PFNGLGETPIXELTEXGENPARAMETERIVSGISPROC)load(\"glGetPixelTexGenParameterivSGIS\");\n\tglad_glGetPixelTexGenParameterfvSGIS = (PFNGLGETPIXELTEXGENPARAMETERFVSGISPROC)load(\"glGetPixelTexGenParameterfvSGIS\");\n}\nstatic void load_GL_SGIS_point_parameters(GLADloadproc load) {\n\tif(!GLAD_GL_SGIS_point_parameters) return;\n\tglad_glPointParameterfSGIS = (PFNGLPOINTPARAMETERFSGISPROC)load(\"glPointParameterfSGIS\");\n\tglad_glPointParameterfvSGIS = (PFNGLPOINTPARAMETERFVSGISPROC)load(\"glPointParameterfvSGIS\");\n}\nstatic void load_GL_SGIS_sharpen_texture(GLADloadproc load) {\n\tif(!GLAD_GL_SGIS_sharpen_texture) return;\n\tglad_glSharpenTexFuncSGIS = (PFNGLSHARPENTEXFUNCSGISPROC)load(\"glSharpenTexFuncSGIS\");\n\tglad_glGetSharpenTexFuncSGIS = (PFNGLGETSHARPENTEXFUNCSGISPROC)load(\"glGetSharpenTexFuncSGIS\");\n}\nstatic void load_GL_SGIS_texture4D(GLADloadproc load) {\n\tif(!GLAD_GL_SGIS_texture4D) return;\n\tglad_glTexImage4DSGIS = (PFNGLTEXIMAGE4DSGISPROC)load(\"glTexImage4DSGIS\");\n\tglad_glTexSubImage4DSGIS = (PFNGLTEXSUBIMAGE4DSGISPROC)load(\"glTexSubImage4DSGIS\");\n}\nstatic void load_GL_SGIS_texture_color_mask(GLADloadproc load) {\n\tif(!GLAD_GL_SGIS_texture_color_mask) return;\n\tglad_glTextureColorMaskSGIS = (PFNGLTEXTURECOLORMASKSGISPROC)load(\"glTextureColorMaskSGIS\");\n}\nstatic void load_GL_SGIS_texture_filter4(GLADloadproc load) {\n\tif(!GLAD_GL_SGIS_texture_filter4) return;\n\tglad_glGetTexFilterFuncSGIS = (PFNGLGETTEXFILTERFUNCSGISPROC)load(\"glGetTexFilterFuncSGIS\");\n\tglad_glTexFilterFuncSGIS = (PFNGLTEXFILTERFUNCSGISPROC)load(\"glTexFilterFuncSGIS\");\n}\nstatic void load_GL_SGIX_async(GLADloadproc load) {\n\tif(!GLAD_GL_SGIX_async) return;\n\tglad_glAsyncMarkerSGIX = (PFNGLASYNCMARKERSGIXPROC)load(\"glAsyncMarkerSGIX\");\n\tglad_glFinishAsyncSGIX = (PFNGLFINISHASYNCSGIXPROC)load(\"glFinishAsyncSGIX\");\n\tglad_glPollAsyncSGIX = (PFNGLPOLLASYNCSGIXPROC)load(\"glPollAsyncSGIX\");\n\tglad_glGenAsyncMarkersSGIX = (PFNGLGENASYNCMARKERSSGIXPROC)load(\"glGenAsyncMarkersSGIX\");\n\tglad_glDeleteAsyncMarkersSGIX = (PFNGLDELETEASYNCMARKERSSGIXPROC)load(\"glDeleteAsyncMarkersSGIX\");\n\tglad_glIsAsyncMarkerSGIX = (PFNGLISASYNCMARKERSGIXPROC)load(\"glIsAsyncMarkerSGIX\");\n}\nstatic void load_GL_SGIX_flush_raster(GLADloadproc load) {\n\tif(!GLAD_GL_SGIX_flush_raster) return;\n\tglad_glFlushRasterSGIX = (PFNGLFLUSHRASTERSGIXPROC)load(\"glFlushRasterSGIX\");\n}\nstatic void load_GL_SGIX_fragment_lighting(GLADloadproc load) {\n\tif(!GLAD_GL_SGIX_fragment_lighting) return;\n\tglad_glFragmentColorMaterialSGIX = (PFNGLFRAGMENTCOLORMATERIALSGIXPROC)load(\"glFragmentColorMaterialSGIX\");\n\tglad_glFragmentLightfSGIX = (PFNGLFRAGMENTLIGHTFSGIXPROC)load(\"glFragmentLightfSGIX\");\n\tglad_glFragmentLightfvSGIX = (PFNGLFRAGMENTLIGHTFVSGIXPROC)load(\"glFragmentLightfvSGIX\");\n\tglad_glFragmentLightiSGIX = (PFNGLFRAGMENTLIGHTISGIXPROC)load(\"glFragmentLightiSGIX\");\n\tglad_glFragmentLightivSGIX = (PFNGLFRAGMENTLIGHTIVSGIXPROC)load(\"glFragmentLightivSGIX\");\n\tglad_glFragmentLightModelfSGIX = (PFNGLFRAGMENTLIGHTMODELFSGIXPROC)load(\"glFragmentLightModelfSGIX\");\n\tglad_glFragmentLightModelfvSGIX = (PFNGLFRAGMENTLIGHTMODELFVSGIXPROC)load(\"glFragmentLightModelfvSGIX\");\n\tglad_glFragmentLightModeliSGIX = (PFNGLFRAGMENTLIGHTMODELISGIXPROC)load(\"glFragmentLightModeliSGIX\");\n\tglad_glFragmentLightModelivSGIX = (PFNGLFRAGMENTLIGHTMODELIVSGIXPROC)load(\"glFragmentLightModelivSGIX\");\n\tglad_glFragmentMaterialfSGIX = (PFNGLFRAGMENTMATERIALFSGIXPROC)load(\"glFragmentMaterialfSGIX\");\n\tglad_glFragmentMaterialfvSGIX = (PFNGLFRAGMENTMATERIALFVSGIXPROC)load(\"glFragmentMaterialfvSGIX\");\n\tglad_glFragmentMaterialiSGIX = (PFNGLFRAGMENTMATERIALISGIXPROC)load(\"glFragmentMaterialiSGIX\");\n\tglad_glFragmentMaterialivSGIX = (PFNGLFRAGMENTMATERIALIVSGIXPROC)load(\"glFragmentMaterialivSGIX\");\n\tglad_glGetFragmentLightfvSGIX = (PFNGLGETFRAGMENTLIGHTFVSGIXPROC)load(\"glGetFragmentLightfvSGIX\");\n\tglad_glGetFragmentLightivSGIX = (PFNGLGETFRAGMENTLIGHTIVSGIXPROC)load(\"glGetFragmentLightivSGIX\");\n\tglad_glGetFragmentMaterialfvSGIX = (PFNGLGETFRAGMENTMATERIALFVSGIXPROC)load(\"glGetFragmentMaterialfvSGIX\");\n\tglad_glGetFragmentMaterialivSGIX = (PFNGLGETFRAGMENTMATERIALIVSGIXPROC)load(\"glGetFragmentMaterialivSGIX\");\n\tglad_glLightEnviSGIX = (PFNGLLIGHTENVISGIXPROC)load(\"glLightEnviSGIX\");\n}\nstatic void load_GL_SGIX_framezoom(GLADloadproc load) {\n\tif(!GLAD_GL_SGIX_framezoom) return;\n\tglad_glFrameZoomSGIX = (PFNGLFRAMEZOOMSGIXPROC)load(\"glFrameZoomSGIX\");\n}\nstatic void load_GL_SGIX_igloo_interface(GLADloadproc load) {\n\tif(!GLAD_GL_SGIX_igloo_interface) return;\n\tglad_glIglooInterfaceSGIX = (PFNGLIGLOOINTERFACESGIXPROC)load(\"glIglooInterfaceSGIX\");\n}\nstatic void load_GL_SGIX_instruments(GLADloadproc load) {\n\tif(!GLAD_GL_SGIX_instruments) return;\n\tglad_glGetInstrumentsSGIX = (PFNGLGETINSTRUMENTSSGIXPROC)load(\"glGetInstrumentsSGIX\");\n\tglad_glInstrumentsBufferSGIX = (PFNGLINSTRUMENTSBUFFERSGIXPROC)load(\"glInstrumentsBufferSGIX\");\n\tglad_glPollInstrumentsSGIX = (PFNGLPOLLINSTRUMENTSSGIXPROC)load(\"glPollInstrumentsSGIX\");\n\tglad_glReadInstrumentsSGIX = (PFNGLREADINSTRUMENTSSGIXPROC)load(\"glReadInstrumentsSGIX\");\n\tglad_glStartInstrumentsSGIX = (PFNGLSTARTINSTRUMENTSSGIXPROC)load(\"glStartInstrumentsSGIX\");\n\tglad_glStopInstrumentsSGIX = (PFNGLSTOPINSTRUMENTSSGIXPROC)load(\"glStopInstrumentsSGIX\");\n}\nstatic void load_GL_SGIX_list_priority(GLADloadproc load) {\n\tif(!GLAD_GL_SGIX_list_priority) return;\n\tglad_glGetListParameterfvSGIX = (PFNGLGETLISTPARAMETERFVSGIXPROC)load(\"glGetListParameterfvSGIX\");\n\tglad_glGetListParameterivSGIX = (PFNGLGETLISTPARAMETERIVSGIXPROC)load(\"glGetListParameterivSGIX\");\n\tglad_glListParameterfSGIX = (PFNGLLISTPARAMETERFSGIXPROC)load(\"glListParameterfSGIX\");\n\tglad_glListParameterfvSGIX = (PFNGLLISTPARAMETERFVSGIXPROC)load(\"glListParameterfvSGIX\");\n\tglad_glListParameteriSGIX = (PFNGLLISTPARAMETERISGIXPROC)load(\"glListParameteriSGIX\");\n\tglad_glListParameterivSGIX = (PFNGLLISTPARAMETERIVSGIXPROC)load(\"glListParameterivSGIX\");\n}\nstatic void load_GL_SGIX_pixel_texture(GLADloadproc load) {\n\tif(!GLAD_GL_SGIX_pixel_texture) return;\n\tglad_glPixelTexGenSGIX = (PFNGLPIXELTEXGENSGIXPROC)load(\"glPixelTexGenSGIX\");\n}\nstatic void load_GL_SGIX_polynomial_ffd(GLADloadproc load) {\n\tif(!GLAD_GL_SGIX_polynomial_ffd) return;\n\tglad_glDeformationMap3dSGIX = (PFNGLDEFORMATIONMAP3DSGIXPROC)load(\"glDeformationMap3dSGIX\");\n\tglad_glDeformationMap3fSGIX = (PFNGLDEFORMATIONMAP3FSGIXPROC)load(\"glDeformationMap3fSGIX\");\n\tglad_glDeformSGIX = (PFNGLDEFORMSGIXPROC)load(\"glDeformSGIX\");\n\tglad_glLoadIdentityDeformationMapSGIX = (PFNGLLOADIDENTITYDEFORMATIONMAPSGIXPROC)load(\"glLoadIdentityDeformationMapSGIX\");\n}\nstatic void load_GL_SGIX_reference_plane(GLADloadproc load) {\n\tif(!GLAD_GL_SGIX_reference_plane) return;\n\tglad_glReferencePlaneSGIX = (PFNGLREFERENCEPLANESGIXPROC)load(\"glReferencePlaneSGIX\");\n}\nstatic void load_GL_SGIX_sprite(GLADloadproc load) {\n\tif(!GLAD_GL_SGIX_sprite) return;\n\tglad_glSpriteParameterfSGIX = (PFNGLSPRITEPARAMETERFSGIXPROC)load(\"glSpriteParameterfSGIX\");\n\tglad_glSpriteParameterfvSGIX = (PFNGLSPRITEPARAMETERFVSGIXPROC)load(\"glSpriteParameterfvSGIX\");\n\tglad_glSpriteParameteriSGIX = (PFNGLSPRITEPARAMETERISGIXPROC)load(\"glSpriteParameteriSGIX\");\n\tglad_glSpriteParameterivSGIX = (PFNGLSPRITEPARAMETERIVSGIXPROC)load(\"glSpriteParameterivSGIX\");\n}\nstatic void load_GL_SGIX_tag_sample_buffer(GLADloadproc load) {\n\tif(!GLAD_GL_SGIX_tag_sample_buffer) return;\n\tglad_glTagSampleBufferSGIX = (PFNGLTAGSAMPLEBUFFERSGIXPROC)load(\"glTagSampleBufferSGIX\");\n}\nstatic void load_GL_SGI_color_table(GLADloadproc load) {\n\tif(!GLAD_GL_SGI_color_table) return;\n\tglad_glColorTableSGI = (PFNGLCOLORTABLESGIPROC)load(\"glColorTableSGI\");\n\tglad_glColorTableParameterfvSGI = (PFNGLCOLORTABLEPARAMETERFVSGIPROC)load(\"glColorTableParameterfvSGI\");\n\tglad_glColorTableParameterivSGI = (PFNGLCOLORTABLEPARAMETERIVSGIPROC)load(\"glColorTableParameterivSGI\");\n\tglad_glCopyColorTableSGI = (PFNGLCOPYCOLORTABLESGIPROC)load(\"glCopyColorTableSGI\");\n\tglad_glGetColorTableSGI = (PFNGLGETCOLORTABLESGIPROC)load(\"glGetColorTableSGI\");\n\tglad_glGetColorTableParameterfvSGI = (PFNGLGETCOLORTABLEPARAMETERFVSGIPROC)load(\"glGetColorTableParameterfvSGI\");\n\tglad_glGetColorTableParameterivSGI = (PFNGLGETCOLORTABLEPARAMETERIVSGIPROC)load(\"glGetColorTableParameterivSGI\");\n}\nstatic void load_GL_SUNX_constant_data(GLADloadproc load) {\n\tif(!GLAD_GL_SUNX_constant_data) return;\n\tglad_glFinishTextureSUNX = (PFNGLFINISHTEXTURESUNXPROC)load(\"glFinishTextureSUNX\");\n}\nstatic void load_GL_SUN_global_alpha(GLADloadproc load) {\n\tif(!GLAD_GL_SUN_global_alpha) return;\n\tglad_glGlobalAlphaFactorbSUN = (PFNGLGLOBALALPHAFACTORBSUNPROC)load(\"glGlobalAlphaFactorbSUN\");\n\tglad_glGlobalAlphaFactorsSUN = (PFNGLGLOBALALPHAFACTORSSUNPROC)load(\"glGlobalAlphaFactorsSUN\");\n\tglad_glGlobalAlphaFactoriSUN = (PFNGLGLOBALALPHAFACTORISUNPROC)load(\"glGlobalAlphaFactoriSUN\");\n\tglad_glGlobalAlphaFactorfSUN = (PFNGLGLOBALALPHAFACTORFSUNPROC)load(\"glGlobalAlphaFactorfSUN\");\n\tglad_glGlobalAlphaFactordSUN = (PFNGLGLOBALALPHAFACTORDSUNPROC)load(\"glGlobalAlphaFactordSUN\");\n\tglad_glGlobalAlphaFactorubSUN = (PFNGLGLOBALALPHAFACTORUBSUNPROC)load(\"glGlobalAlphaFactorubSUN\");\n\tglad_glGlobalAlphaFactorusSUN = (PFNGLGLOBALALPHAFACTORUSSUNPROC)load(\"glGlobalAlphaFactorusSUN\");\n\tglad_glGlobalAlphaFactoruiSUN = (PFNGLGLOBALALPHAFACTORUISUNPROC)load(\"glGlobalAlphaFactoruiSUN\");\n}\nstatic void load_GL_SUN_mesh_array(GLADloadproc load) {\n\tif(!GLAD_GL_SUN_mesh_array) return;\n\tglad_glDrawMeshArraysSUN = (PFNGLDRAWMESHARRAYSSUNPROC)load(\"glDrawMeshArraysSUN\");\n}\nstatic void load_GL_SUN_triangle_list(GLADloadproc load) {\n\tif(!GLAD_GL_SUN_triangle_list) return;\n\tglad_glReplacementCodeuiSUN = (PFNGLREPLACEMENTCODEUISUNPROC)load(\"glReplacementCodeuiSUN\");\n\tglad_glReplacementCodeusSUN = (PFNGLREPLACEMENTCODEUSSUNPROC)load(\"glReplacementCodeusSUN\");\n\tglad_glReplacementCodeubSUN = (PFNGLREPLACEMENTCODEUBSUNPROC)load(\"glReplacementCodeubSUN\");\n\tglad_glReplacementCodeuivSUN = (PFNGLREPLACEMENTCODEUIVSUNPROC)load(\"glReplacementCodeuivSUN\");\n\tglad_glReplacementCodeusvSUN = (PFNGLREPLACEMENTCODEUSVSUNPROC)load(\"glReplacementCodeusvSUN\");\n\tglad_glReplacementCodeubvSUN = (PFNGLREPLACEMENTCODEUBVSUNPROC)load(\"glReplacementCodeubvSUN\");\n\tglad_glReplacementCodePointerSUN = (PFNGLREPLACEMENTCODEPOINTERSUNPROC)load(\"glReplacementCodePointerSUN\");\n}\nstatic void load_GL_SUN_vertex(GLADloadproc load) {\n\tif(!GLAD_GL_SUN_vertex) return;\n\tglad_glColor4ubVertex2fSUN = (PFNGLCOLOR4UBVERTEX2FSUNPROC)load(\"glColor4ubVertex2fSUN\");\n\tglad_glColor4ubVertex2fvSUN = (PFNGLCOLOR4UBVERTEX2FVSUNPROC)load(\"glColor4ubVertex2fvSUN\");\n\tglad_glColor4ubVertex3fSUN = (PFNGLCOLOR4UBVERTEX3FSUNPROC)load(\"glColor4ubVertex3fSUN\");\n\tglad_glColor4ubVertex3fvSUN = (PFNGLCOLOR4UBVERTEX3FVSUNPROC)load(\"glColor4ubVertex3fvSUN\");\n\tglad_glColor3fVertex3fSUN = (PFNGLCOLOR3FVERTEX3FSUNPROC)load(\"glColor3fVertex3fSUN\");\n\tglad_glColor3fVertex3fvSUN = (PFNGLCOLOR3FVERTEX3FVSUNPROC)load(\"glColor3fVertex3fvSUN\");\n\tglad_glNormal3fVertex3fSUN = (PFNGLNORMAL3FVERTEX3FSUNPROC)load(\"glNormal3fVertex3fSUN\");\n\tglad_glNormal3fVertex3fvSUN = (PFNGLNORMAL3FVERTEX3FVSUNPROC)load(\"glNormal3fVertex3fvSUN\");\n\tglad_glColor4fNormal3fVertex3fSUN = (PFNGLCOLOR4FNORMAL3FVERTEX3FSUNPROC)load(\"glColor4fNormal3fVertex3fSUN\");\n\tglad_glColor4fNormal3fVertex3fvSUN = (PFNGLCOLOR4FNORMAL3FVERTEX3FVSUNPROC)load(\"glColor4fNormal3fVertex3fvSUN\");\n\tglad_glTexCoord2fVertex3fSUN = (PFNGLTEXCOORD2FVERTEX3FSUNPROC)load(\"glTexCoord2fVertex3fSUN\");\n\tglad_glTexCoord2fVertex3fvSUN = (PFNGLTEXCOORD2FVERTEX3FVSUNPROC)load(\"glTexCoord2fVertex3fvSUN\");\n\tglad_glTexCoord4fVertex4fSUN = (PFNGLTEXCOORD4FVERTEX4FSUNPROC)load(\"glTexCoord4fVertex4fSUN\");\n\tglad_glTexCoord4fVertex4fvSUN = (PFNGLTEXCOORD4FVERTEX4FVSUNPROC)load(\"glTexCoord4fVertex4fvSUN\");\n\tglad_glTexCoord2fColor4ubVertex3fSUN = (PFNGLTEXCOORD2FCOLOR4UBVERTEX3FSUNPROC)load(\"glTexCoord2fColor4ubVertex3fSUN\");\n\tglad_glTexCoord2fColor4ubVertex3fvSUN = (PFNGLTEXCOORD2FCOLOR4UBVERTEX3FVSUNPROC)load(\"glTexCoord2fColor4ubVertex3fvSUN\");\n\tglad_glTexCoord2fColor3fVertex3fSUN = (PFNGLTEXCOORD2FCOLOR3FVERTEX3FSUNPROC)load(\"glTexCoord2fColor3fVertex3fSUN\");\n\tglad_glTexCoord2fColor3fVertex3fvSUN = (PFNGLTEXCOORD2FCOLOR3FVERTEX3FVSUNPROC)load(\"glTexCoord2fColor3fVertex3fvSUN\");\n\tglad_glTexCoord2fNormal3fVertex3fSUN = (PFNGLTEXCOORD2FNORMAL3FVERTEX3FSUNPROC)load(\"glTexCoord2fNormal3fVertex3fSUN\");\n\tglad_glTexCoord2fNormal3fVertex3fvSUN = (PFNGLTEXCOORD2FNORMAL3FVERTEX3FVSUNPROC)load(\"glTexCoord2fNormal3fVertex3fvSUN\");\n\tglad_glTexCoord2fColor4fNormal3fVertex3fSUN = (PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC)load(\"glTexCoord2fColor4fNormal3fVertex3fSUN\");\n\tglad_glTexCoord2fColor4fNormal3fVertex3fvSUN = (PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC)load(\"glTexCoord2fColor4fNormal3fVertex3fvSUN\");\n\tglad_glTexCoord4fColor4fNormal3fVertex4fSUN = (PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FSUNPROC)load(\"glTexCoord4fColor4fNormal3fVertex4fSUN\");\n\tglad_glTexCoord4fColor4fNormal3fVertex4fvSUN = (PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FVSUNPROC)load(\"glTexCoord4fColor4fNormal3fVertex4fvSUN\");\n\tglad_glReplacementCodeuiVertex3fSUN = (PFNGLREPLACEMENTCODEUIVERTEX3FSUNPROC)load(\"glReplacementCodeuiVertex3fSUN\");\n\tglad_glReplacementCodeuiVertex3fvSUN = (PFNGLREPLACEMENTCODEUIVERTEX3FVSUNPROC)load(\"glReplacementCodeuiVertex3fvSUN\");\n\tglad_glReplacementCodeuiColor4ubVertex3fSUN = (PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FSUNPROC)load(\"glReplacementCodeuiColor4ubVertex3fSUN\");\n\tglad_glReplacementCodeuiColor4ubVertex3fvSUN = (PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FVSUNPROC)load(\"glReplacementCodeuiColor4ubVertex3fvSUN\");\n\tglad_glReplacementCodeuiColor3fVertex3fSUN = (PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FSUNPROC)load(\"glReplacementCodeuiColor3fVertex3fSUN\");\n\tglad_glReplacementCodeuiColor3fVertex3fvSUN = (PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FVSUNPROC)load(\"glReplacementCodeuiColor3fVertex3fvSUN\");\n\tglad_glReplacementCodeuiNormal3fVertex3fSUN = (PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FSUNPROC)load(\"glReplacementCodeuiNormal3fVertex3fSUN\");\n\tglad_glReplacementCodeuiNormal3fVertex3fvSUN = (PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FVSUNPROC)load(\"glReplacementCodeuiNormal3fVertex3fvSUN\");\n\tglad_glReplacementCodeuiColor4fNormal3fVertex3fSUN = (PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FSUNPROC)load(\"glReplacementCodeuiColor4fNormal3fVertex3fSUN\");\n\tglad_glReplacementCodeuiColor4fNormal3fVertex3fvSUN = (PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FVSUNPROC)load(\"glReplacementCodeuiColor4fNormal3fVertex3fvSUN\");\n\tglad_glReplacementCodeuiTexCoord2fVertex3fSUN = (PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FSUNPROC)load(\"glReplacementCodeuiTexCoord2fVertex3fSUN\");\n\tglad_glReplacementCodeuiTexCoord2fVertex3fvSUN = (PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FVSUNPROC)load(\"glReplacementCodeuiTexCoord2fVertex3fvSUN\");\n\tglad_glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN = (PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FSUNPROC)load(\"glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN\");\n\tglad_glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN = (PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FVSUNPROC)load(\"glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN\");\n\tglad_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN = (PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC)load(\"glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN\");\n\tglad_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN = (PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC)load(\"glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN\");\n}\nstatic int find_extensionsGL(void) {\n\tif (!get_exts()) return 0;\n\tGLAD_GL_3DFX_multisample = has_ext(\"GL_3DFX_multisample\");\n\tGLAD_GL_3DFX_tbuffer = has_ext(\"GL_3DFX_tbuffer\");\n\tGLAD_GL_3DFX_texture_compression_FXT1 = has_ext(\"GL_3DFX_texture_compression_FXT1\");\n\tGLAD_GL_AMD_blend_minmax_factor = has_ext(\"GL_AMD_blend_minmax_factor\");\n\tGLAD_GL_AMD_conservative_depth = has_ext(\"GL_AMD_conservative_depth\");\n\tGLAD_GL_AMD_debug_output = has_ext(\"GL_AMD_debug_output\");\n\tGLAD_GL_AMD_depth_clamp_separate = has_ext(\"GL_AMD_depth_clamp_separate\");\n\tGLAD_GL_AMD_draw_buffers_blend = has_ext(\"GL_AMD_draw_buffers_blend\");\n\tGLAD_GL_AMD_framebuffer_sample_positions = has_ext(\"GL_AMD_framebuffer_sample_positions\");\n\tGLAD_GL_AMD_gcn_shader = has_ext(\"GL_AMD_gcn_shader\");\n\tGLAD_GL_AMD_gpu_shader_half_float = has_ext(\"GL_AMD_gpu_shader_half_float\");\n\tGLAD_GL_AMD_gpu_shader_int16 = has_ext(\"GL_AMD_gpu_shader_int16\");\n\tGLAD_GL_AMD_gpu_shader_int64 = has_ext(\"GL_AMD_gpu_shader_int64\");\n\tGLAD_GL_AMD_interleaved_elements = has_ext(\"GL_AMD_interleaved_elements\");\n\tGLAD_GL_AMD_multi_draw_indirect = has_ext(\"GL_AMD_multi_draw_indirect\");\n\tGLAD_GL_AMD_name_gen_delete = has_ext(\"GL_AMD_name_gen_delete\");\n\tGLAD_GL_AMD_occlusion_query_event = has_ext(\"GL_AMD_occlusion_query_event\");\n\tGLAD_GL_AMD_performance_monitor = has_ext(\"GL_AMD_performance_monitor\");\n\tGLAD_GL_AMD_pinned_memory = has_ext(\"GL_AMD_pinned_memory\");\n\tGLAD_GL_AMD_query_buffer_object = has_ext(\"GL_AMD_query_buffer_object\");\n\tGLAD_GL_AMD_sample_positions = has_ext(\"GL_AMD_sample_positions\");\n\tGLAD_GL_AMD_seamless_cubemap_per_texture = has_ext(\"GL_AMD_seamless_cubemap_per_texture\");\n\tGLAD_GL_AMD_shader_atomic_counter_ops = has_ext(\"GL_AMD_shader_atomic_counter_ops\");\n\tGLAD_GL_AMD_shader_ballot = has_ext(\"GL_AMD_shader_ballot\");\n\tGLAD_GL_AMD_shader_explicit_vertex_parameter = has_ext(\"GL_AMD_shader_explicit_vertex_parameter\");\n\tGLAD_GL_AMD_shader_image_load_store_lod = has_ext(\"GL_AMD_shader_image_load_store_lod\");\n\tGLAD_GL_AMD_shader_stencil_export = has_ext(\"GL_AMD_shader_stencil_export\");\n\tGLAD_GL_AMD_shader_trinary_minmax = has_ext(\"GL_AMD_shader_trinary_minmax\");\n\tGLAD_GL_AMD_sparse_texture = has_ext(\"GL_AMD_sparse_texture\");\n\tGLAD_GL_AMD_stencil_operation_extended = has_ext(\"GL_AMD_stencil_operation_extended\");\n\tGLAD_GL_AMD_texture_gather_bias_lod = has_ext(\"GL_AMD_texture_gather_bias_lod\");\n\tGLAD_GL_AMD_texture_texture4 = has_ext(\"GL_AMD_texture_texture4\");\n\tGLAD_GL_AMD_transform_feedback3_lines_triangles = has_ext(\"GL_AMD_transform_feedback3_lines_triangles\");\n\tGLAD_GL_AMD_transform_feedback4 = has_ext(\"GL_AMD_transform_feedback4\");\n\tGLAD_GL_AMD_vertex_shader_layer = has_ext(\"GL_AMD_vertex_shader_layer\");\n\tGLAD_GL_AMD_vertex_shader_tessellator = has_ext(\"GL_AMD_vertex_shader_tessellator\");\n\tGLAD_GL_AMD_vertex_shader_viewport_index = has_ext(\"GL_AMD_vertex_shader_viewport_index\");\n\tGLAD_GL_APPLE_aux_depth_stencil = has_ext(\"GL_APPLE_aux_depth_stencil\");\n\tGLAD_GL_APPLE_client_storage = has_ext(\"GL_APPLE_client_storage\");\n\tGLAD_GL_APPLE_element_array = has_ext(\"GL_APPLE_element_array\");\n\tGLAD_GL_APPLE_fence = has_ext(\"GL_APPLE_fence\");\n\tGLAD_GL_APPLE_float_pixels = has_ext(\"GL_APPLE_float_pixels\");\n\tGLAD_GL_APPLE_flush_buffer_range = has_ext(\"GL_APPLE_flush_buffer_range\");\n\tGLAD_GL_APPLE_object_purgeable = has_ext(\"GL_APPLE_object_purgeable\");\n\tGLAD_GL_APPLE_rgb_422 = has_ext(\"GL_APPLE_rgb_422\");\n\tGLAD_GL_APPLE_row_bytes = has_ext(\"GL_APPLE_row_bytes\");\n\tGLAD_GL_APPLE_specular_vector = has_ext(\"GL_APPLE_specular_vector\");\n\tGLAD_GL_APPLE_texture_range = has_ext(\"GL_APPLE_texture_range\");\n\tGLAD_GL_APPLE_transform_hint = has_ext(\"GL_APPLE_transform_hint\");\n\tGLAD_GL_APPLE_vertex_array_object = has_ext(\"GL_APPLE_vertex_array_object\");\n\tGLAD_GL_APPLE_vertex_array_range = has_ext(\"GL_APPLE_vertex_array_range\");\n\tGLAD_GL_APPLE_vertex_program_evaluators = has_ext(\"GL_APPLE_vertex_program_evaluators\");\n\tGLAD_GL_APPLE_ycbcr_422 = has_ext(\"GL_APPLE_ycbcr_422\");\n\tGLAD_GL_ARB_ES2_compatibility = has_ext(\"GL_ARB_ES2_compatibility\");\n\tGLAD_GL_ARB_ES3_1_compatibility = has_ext(\"GL_ARB_ES3_1_compatibility\");\n\tGLAD_GL_ARB_ES3_2_compatibility = has_ext(\"GL_ARB_ES3_2_compatibility\");\n\tGLAD_GL_ARB_ES3_compatibility = has_ext(\"GL_ARB_ES3_compatibility\");\n\tGLAD_GL_ARB_arrays_of_arrays = has_ext(\"GL_ARB_arrays_of_arrays\");\n\tGLAD_GL_ARB_base_instance = has_ext(\"GL_ARB_base_instance\");\n\tGLAD_GL_ARB_bindless_texture = has_ext(\"GL_ARB_bindless_texture\");\n\tGLAD_GL_ARB_blend_func_extended = has_ext(\"GL_ARB_blend_func_extended\");\n\tGLAD_GL_ARB_buffer_storage = has_ext(\"GL_ARB_buffer_storage\");\n\tGLAD_GL_ARB_cl_event = has_ext(\"GL_ARB_cl_event\");\n\tGLAD_GL_ARB_clear_buffer_object = has_ext(\"GL_ARB_clear_buffer_object\");\n\tGLAD_GL_ARB_clear_texture = has_ext(\"GL_ARB_clear_texture\");\n\tGLAD_GL_ARB_clip_control = has_ext(\"GL_ARB_clip_control\");\n\tGLAD_GL_ARB_color_buffer_float = has_ext(\"GL_ARB_color_buffer_float\");\n\tGLAD_GL_ARB_compatibility = has_ext(\"GL_ARB_compatibility\");\n\tGLAD_GL_ARB_compressed_texture_pixel_storage = has_ext(\"GL_ARB_compressed_texture_pixel_storage\");\n\tGLAD_GL_ARB_compute_shader = has_ext(\"GL_ARB_compute_shader\");\n\tGLAD_GL_ARB_compute_variable_group_size = has_ext(\"GL_ARB_compute_variable_group_size\");\n\tGLAD_GL_ARB_conditional_render_inverted = has_ext(\"GL_ARB_conditional_render_inverted\");\n\tGLAD_GL_ARB_conservative_depth = has_ext(\"GL_ARB_conservative_depth\");\n\tGLAD_GL_ARB_copy_buffer = has_ext(\"GL_ARB_copy_buffer\");\n\tGLAD_GL_ARB_copy_image = has_ext(\"GL_ARB_copy_image\");\n\tGLAD_GL_ARB_cull_distance = has_ext(\"GL_ARB_cull_distance\");\n\tGLAD_GL_ARB_debug_output = has_ext(\"GL_ARB_debug_output\");\n\tGLAD_GL_ARB_depth_buffer_float = has_ext(\"GL_ARB_depth_buffer_float\");\n\tGLAD_GL_ARB_depth_clamp = has_ext(\"GL_ARB_depth_clamp\");\n\tGLAD_GL_ARB_depth_texture = has_ext(\"GL_ARB_depth_texture\");\n\tGLAD_GL_ARB_derivative_control = has_ext(\"GL_ARB_derivative_control\");\n\tGLAD_GL_ARB_direct_state_access = has_ext(\"GL_ARB_direct_state_access\");\n\tGLAD_GL_ARB_draw_buffers = has_ext(\"GL_ARB_draw_buffers\");\n\tGLAD_GL_ARB_draw_buffers_blend = has_ext(\"GL_ARB_draw_buffers_blend\");\n\tGLAD_GL_ARB_draw_elements_base_vertex = has_ext(\"GL_ARB_draw_elements_base_vertex\");\n\tGLAD_GL_ARB_draw_indirect = has_ext(\"GL_ARB_draw_indirect\");\n\tGLAD_GL_ARB_draw_instanced = has_ext(\"GL_ARB_draw_instanced\");\n\tGLAD_GL_ARB_enhanced_layouts = has_ext(\"GL_ARB_enhanced_layouts\");\n\tGLAD_GL_ARB_explicit_attrib_location = has_ext(\"GL_ARB_explicit_attrib_location\");\n\tGLAD_GL_ARB_explicit_uniform_location = has_ext(\"GL_ARB_explicit_uniform_location\");\n\tGLAD_GL_ARB_fragment_coord_conventions = has_ext(\"GL_ARB_fragment_coord_conventions\");\n\tGLAD_GL_ARB_fragment_layer_viewport = has_ext(\"GL_ARB_fragment_layer_viewport\");\n\tGLAD_GL_ARB_fragment_program = has_ext(\"GL_ARB_fragment_program\");\n\tGLAD_GL_ARB_fragment_program_shadow = has_ext(\"GL_ARB_fragment_program_shadow\");\n\tGLAD_GL_ARB_fragment_shader = has_ext(\"GL_ARB_fragment_shader\");\n\tGLAD_GL_ARB_fragment_shader_interlock = has_ext(\"GL_ARB_fragment_shader_interlock\");\n\tGLAD_GL_ARB_framebuffer_no_attachments = has_ext(\"GL_ARB_framebuffer_no_attachments\");\n\tGLAD_GL_ARB_framebuffer_object = has_ext(\"GL_ARB_framebuffer_object\");\n\tGLAD_GL_ARB_framebuffer_sRGB = has_ext(\"GL_ARB_framebuffer_sRGB\");\n\tGLAD_GL_ARB_geometry_shader4 = has_ext(\"GL_ARB_geometry_shader4\");\n\tGLAD_GL_ARB_get_program_binary = has_ext(\"GL_ARB_get_program_binary\");\n\tGLAD_GL_ARB_get_texture_sub_image = has_ext(\"GL_ARB_get_texture_sub_image\");\n\tGLAD_GL_ARB_gl_spirv = has_ext(\"GL_ARB_gl_spirv\");\n\tGLAD_GL_ARB_gpu_shader5 = has_ext(\"GL_ARB_gpu_shader5\");\n\tGLAD_GL_ARB_gpu_shader_fp64 = has_ext(\"GL_ARB_gpu_shader_fp64\");\n\tGLAD_GL_ARB_gpu_shader_int64 = has_ext(\"GL_ARB_gpu_shader_int64\");\n\tGLAD_GL_ARB_half_float_pixel = has_ext(\"GL_ARB_half_float_pixel\");\n\tGLAD_GL_ARB_half_float_vertex = has_ext(\"GL_ARB_half_float_vertex\");\n\tGLAD_GL_ARB_imaging = has_ext(\"GL_ARB_imaging\");\n\tGLAD_GL_ARB_indirect_parameters = has_ext(\"GL_ARB_indirect_parameters\");\n\tGLAD_GL_ARB_instanced_arrays = has_ext(\"GL_ARB_instanced_arrays\");\n\tGLAD_GL_ARB_internalformat_query = has_ext(\"GL_ARB_internalformat_query\");\n\tGLAD_GL_ARB_internalformat_query2 = has_ext(\"GL_ARB_internalformat_query2\");\n\tGLAD_GL_ARB_invalidate_subdata = has_ext(\"GL_ARB_invalidate_subdata\");\n\tGLAD_GL_ARB_map_buffer_alignment = has_ext(\"GL_ARB_map_buffer_alignment\");\n\tGLAD_GL_ARB_map_buffer_range = has_ext(\"GL_ARB_map_buffer_range\");\n\tGLAD_GL_ARB_matrix_palette = has_ext(\"GL_ARB_matrix_palette\");\n\tGLAD_GL_ARB_multi_bind = has_ext(\"GL_ARB_multi_bind\");\n\tGLAD_GL_ARB_multi_draw_indirect = has_ext(\"GL_ARB_multi_draw_indirect\");\n\tGLAD_GL_ARB_multisample = has_ext(\"GL_ARB_multisample\");\n\tGLAD_GL_ARB_multitexture = has_ext(\"GL_ARB_multitexture\");\n\tGLAD_GL_ARB_occlusion_query = has_ext(\"GL_ARB_occlusion_query\");\n\tGLAD_GL_ARB_occlusion_query2 = has_ext(\"GL_ARB_occlusion_query2\");\n\tGLAD_GL_ARB_parallel_shader_compile = has_ext(\"GL_ARB_parallel_shader_compile\");\n\tGLAD_GL_ARB_pipeline_statistics_query = has_ext(\"GL_ARB_pipeline_statistics_query\");\n\tGLAD_GL_ARB_pixel_buffer_object = has_ext(\"GL_ARB_pixel_buffer_object\");\n\tGLAD_GL_ARB_point_parameters = has_ext(\"GL_ARB_point_parameters\");\n\tGLAD_GL_ARB_point_sprite = has_ext(\"GL_ARB_point_sprite\");\n\tGLAD_GL_ARB_polygon_offset_clamp = has_ext(\"GL_ARB_polygon_offset_clamp\");\n\tGLAD_GL_ARB_post_depth_coverage = has_ext(\"GL_ARB_post_depth_coverage\");\n\tGLAD_GL_ARB_program_interface_query = has_ext(\"GL_ARB_program_interface_query\");\n\tGLAD_GL_ARB_provoking_vertex = has_ext(\"GL_ARB_provoking_vertex\");\n\tGLAD_GL_ARB_query_buffer_object = has_ext(\"GL_ARB_query_buffer_object\");\n\tGLAD_GL_ARB_robust_buffer_access_behavior = has_ext(\"GL_ARB_robust_buffer_access_behavior\");\n\tGLAD_GL_ARB_robustness = has_ext(\"GL_ARB_robustness\");\n\tGLAD_GL_ARB_robustness_isolation = has_ext(\"GL_ARB_robustness_isolation\");\n\tGLAD_GL_ARB_sample_locations = has_ext(\"GL_ARB_sample_locations\");\n\tGLAD_GL_ARB_sample_shading = has_ext(\"GL_ARB_sample_shading\");\n\tGLAD_GL_ARB_sampler_objects = has_ext(\"GL_ARB_sampler_objects\");\n\tGLAD_GL_ARB_seamless_cube_map = has_ext(\"GL_ARB_seamless_cube_map\");\n\tGLAD_GL_ARB_seamless_cubemap_per_texture = has_ext(\"GL_ARB_seamless_cubemap_per_texture\");\n\tGLAD_GL_ARB_separate_shader_objects = has_ext(\"GL_ARB_separate_shader_objects\");\n\tGLAD_GL_ARB_shader_atomic_counter_ops = has_ext(\"GL_ARB_shader_atomic_counter_ops\");\n\tGLAD_GL_ARB_shader_atomic_counters = has_ext(\"GL_ARB_shader_atomic_counters\");\n\tGLAD_GL_ARB_shader_ballot = has_ext(\"GL_ARB_shader_ballot\");\n\tGLAD_GL_ARB_shader_bit_encoding = has_ext(\"GL_ARB_shader_bit_encoding\");\n\tGLAD_GL_ARB_shader_clock = has_ext(\"GL_ARB_shader_clock\");\n\tGLAD_GL_ARB_shader_draw_parameters = has_ext(\"GL_ARB_shader_draw_parameters\");\n\tGLAD_GL_ARB_shader_group_vote = has_ext(\"GL_ARB_shader_group_vote\");\n\tGLAD_GL_ARB_shader_image_load_store = has_ext(\"GL_ARB_shader_image_load_store\");\n\tGLAD_GL_ARB_shader_image_size = has_ext(\"GL_ARB_shader_image_size\");\n\tGLAD_GL_ARB_shader_objects = has_ext(\"GL_ARB_shader_objects\");\n\tGLAD_GL_ARB_shader_precision = has_ext(\"GL_ARB_shader_precision\");\n\tGLAD_GL_ARB_shader_stencil_export = has_ext(\"GL_ARB_shader_stencil_export\");\n\tGLAD_GL_ARB_shader_storage_buffer_object = has_ext(\"GL_ARB_shader_storage_buffer_object\");\n\tGLAD_GL_ARB_shader_subroutine = has_ext(\"GL_ARB_shader_subroutine\");\n\tGLAD_GL_ARB_shader_texture_image_samples = has_ext(\"GL_ARB_shader_texture_image_samples\");\n\tGLAD_GL_ARB_shader_texture_lod = has_ext(\"GL_ARB_shader_texture_lod\");\n\tGLAD_GL_ARB_shader_viewport_layer_array = has_ext(\"GL_ARB_shader_viewport_layer_array\");\n\tGLAD_GL_ARB_shading_language_100 = has_ext(\"GL_ARB_shading_language_100\");\n\tGLAD_GL_ARB_shading_language_420pack = has_ext(\"GL_ARB_shading_language_420pack\");\n\tGLAD_GL_ARB_shading_language_include = has_ext(\"GL_ARB_shading_language_include\");\n\tGLAD_GL_ARB_shading_language_packing = has_ext(\"GL_ARB_shading_language_packing\");\n\tGLAD_GL_ARB_shadow = has_ext(\"GL_ARB_shadow\");\n\tGLAD_GL_ARB_shadow_ambient = has_ext(\"GL_ARB_shadow_ambient\");\n\tGLAD_GL_ARB_sparse_buffer = has_ext(\"GL_ARB_sparse_buffer\");\n\tGLAD_GL_ARB_sparse_texture = has_ext(\"GL_ARB_sparse_texture\");\n\tGLAD_GL_ARB_sparse_texture2 = has_ext(\"GL_ARB_sparse_texture2\");\n\tGLAD_GL_ARB_sparse_texture_clamp = has_ext(\"GL_ARB_sparse_texture_clamp\");\n\tGLAD_GL_ARB_spirv_extensions = has_ext(\"GL_ARB_spirv_extensions\");\n\tGLAD_GL_ARB_stencil_texturing = has_ext(\"GL_ARB_stencil_texturing\");\n\tGLAD_GL_ARB_sync = has_ext(\"GL_ARB_sync\");\n\tGLAD_GL_ARB_tessellation_shader = has_ext(\"GL_ARB_tessellation_shader\");\n\tGLAD_GL_ARB_texture_barrier = has_ext(\"GL_ARB_texture_barrier\");\n\tGLAD_GL_ARB_texture_border_clamp = has_ext(\"GL_ARB_texture_border_clamp\");\n\tGLAD_GL_ARB_texture_buffer_object = has_ext(\"GL_ARB_texture_buffer_object\");\n\tGLAD_GL_ARB_texture_buffer_object_rgb32 = has_ext(\"GL_ARB_texture_buffer_object_rgb32\");\n\tGLAD_GL_ARB_texture_buffer_range = has_ext(\"GL_ARB_texture_buffer_range\");\n\tGLAD_GL_ARB_texture_compression = has_ext(\"GL_ARB_texture_compression\");\n\tGLAD_GL_ARB_texture_compression_bptc = has_ext(\"GL_ARB_texture_compression_bptc\");\n\tGLAD_GL_ARB_texture_compression_rgtc = has_ext(\"GL_ARB_texture_compression_rgtc\");\n\tGLAD_GL_ARB_texture_cube_map = has_ext(\"GL_ARB_texture_cube_map\");\n\tGLAD_GL_ARB_texture_cube_map_array = has_ext(\"GL_ARB_texture_cube_map_array\");\n\tGLAD_GL_ARB_texture_env_add = has_ext(\"GL_ARB_texture_env_add\");\n\tGLAD_GL_ARB_texture_env_combine = has_ext(\"GL_ARB_texture_env_combine\");\n\tGLAD_GL_ARB_texture_env_crossbar = has_ext(\"GL_ARB_texture_env_crossbar\");\n\tGLAD_GL_ARB_texture_env_dot3 = has_ext(\"GL_ARB_texture_env_dot3\");\n\tGLAD_GL_ARB_texture_filter_anisotropic = has_ext(\"GL_ARB_texture_filter_anisotropic\");\n\tGLAD_GL_ARB_texture_filter_minmax = has_ext(\"GL_ARB_texture_filter_minmax\");\n\tGLAD_GL_ARB_texture_float = has_ext(\"GL_ARB_texture_float\");\n\tGLAD_GL_ARB_texture_gather = has_ext(\"GL_ARB_texture_gather\");\n\tGLAD_GL_ARB_texture_mirror_clamp_to_edge = has_ext(\"GL_ARB_texture_mirror_clamp_to_edge\");\n\tGLAD_GL_ARB_texture_mirrored_repeat = has_ext(\"GL_ARB_texture_mirrored_repeat\");\n\tGLAD_GL_ARB_texture_multisample = has_ext(\"GL_ARB_texture_multisample\");\n\tGLAD_GL_ARB_texture_non_power_of_two = has_ext(\"GL_ARB_texture_non_power_of_two\");\n\tGLAD_GL_ARB_texture_query_levels = has_ext(\"GL_ARB_texture_query_levels\");\n\tGLAD_GL_ARB_texture_query_lod = has_ext(\"GL_ARB_texture_query_lod\");\n\tGLAD_GL_ARB_texture_rectangle = has_ext(\"GL_ARB_texture_rectangle\");\n\tGLAD_GL_ARB_texture_rg = has_ext(\"GL_ARB_texture_rg\");\n\tGLAD_GL_ARB_texture_rgb10_a2ui = has_ext(\"GL_ARB_texture_rgb10_a2ui\");\n\tGLAD_GL_ARB_texture_stencil8 = has_ext(\"GL_ARB_texture_stencil8\");\n\tGLAD_GL_ARB_texture_storage = has_ext(\"GL_ARB_texture_storage\");\n\tGLAD_GL_ARB_texture_storage_multisample = has_ext(\"GL_ARB_texture_storage_multisample\");\n\tGLAD_GL_ARB_texture_swizzle = has_ext(\"GL_ARB_texture_swizzle\");\n\tGLAD_GL_ARB_texture_view = has_ext(\"GL_ARB_texture_view\");\n\tGLAD_GL_ARB_timer_query = has_ext(\"GL_ARB_timer_query\");\n\tGLAD_GL_ARB_transform_feedback2 = has_ext(\"GL_ARB_transform_feedback2\");\n\tGLAD_GL_ARB_transform_feedback3 = has_ext(\"GL_ARB_transform_feedback3\");\n\tGLAD_GL_ARB_transform_feedback_instanced = has_ext(\"GL_ARB_transform_feedback_instanced\");\n\tGLAD_GL_ARB_transform_feedback_overflow_query = has_ext(\"GL_ARB_transform_feedback_overflow_query\");\n\tGLAD_GL_ARB_transpose_matrix = has_ext(\"GL_ARB_transpose_matrix\");\n\tGLAD_GL_ARB_uniform_buffer_object = has_ext(\"GL_ARB_uniform_buffer_object\");\n\tGLAD_GL_ARB_vertex_array_bgra = has_ext(\"GL_ARB_vertex_array_bgra\");\n\tGLAD_GL_ARB_vertex_array_object = has_ext(\"GL_ARB_vertex_array_object\");\n\tGLAD_GL_ARB_vertex_attrib_64bit = has_ext(\"GL_ARB_vertex_attrib_64bit\");\n\tGLAD_GL_ARB_vertex_attrib_binding = has_ext(\"GL_ARB_vertex_attrib_binding\");\n\tGLAD_GL_ARB_vertex_blend = has_ext(\"GL_ARB_vertex_blend\");\n\tGLAD_GL_ARB_vertex_buffer_object = has_ext(\"GL_ARB_vertex_buffer_object\");\n\tGLAD_GL_ARB_vertex_program = has_ext(\"GL_ARB_vertex_program\");\n\tGLAD_GL_ARB_vertex_shader = has_ext(\"GL_ARB_vertex_shader\");\n\tGLAD_GL_ARB_vertex_type_10f_11f_11f_rev = has_ext(\"GL_ARB_vertex_type_10f_11f_11f_rev\");\n\tGLAD_GL_ARB_vertex_type_2_10_10_10_rev = has_ext(\"GL_ARB_vertex_type_2_10_10_10_rev\");\n\tGLAD_GL_ARB_viewport_array = has_ext(\"GL_ARB_viewport_array\");\n\tGLAD_GL_ARB_window_pos = has_ext(\"GL_ARB_window_pos\");\n\tGLAD_GL_ATI_draw_buffers = has_ext(\"GL_ATI_draw_buffers\");\n\tGLAD_GL_ATI_element_array = has_ext(\"GL_ATI_element_array\");\n\tGLAD_GL_ATI_envmap_bumpmap = has_ext(\"GL_ATI_envmap_bumpmap\");\n\tGLAD_GL_ATI_fragment_shader = has_ext(\"GL_ATI_fragment_shader\");\n\tGLAD_GL_ATI_map_object_buffer = has_ext(\"GL_ATI_map_object_buffer\");\n\tGLAD_GL_ATI_meminfo = has_ext(\"GL_ATI_meminfo\");\n\tGLAD_GL_ATI_pixel_format_float = has_ext(\"GL_ATI_pixel_format_float\");\n\tGLAD_GL_ATI_pn_triangles = has_ext(\"GL_ATI_pn_triangles\");\n\tGLAD_GL_ATI_separate_stencil = has_ext(\"GL_ATI_separate_stencil\");\n\tGLAD_GL_ATI_text_fragment_shader = has_ext(\"GL_ATI_text_fragment_shader\");\n\tGLAD_GL_ATI_texture_env_combine3 = has_ext(\"GL_ATI_texture_env_combine3\");\n\tGLAD_GL_ATI_texture_float = has_ext(\"GL_ATI_texture_float\");\n\tGLAD_GL_ATI_texture_mirror_once = has_ext(\"GL_ATI_texture_mirror_once\");\n\tGLAD_GL_ATI_vertex_array_object = has_ext(\"GL_ATI_vertex_array_object\");\n\tGLAD_GL_ATI_vertex_attrib_array_object = has_ext(\"GL_ATI_vertex_attrib_array_object\");\n\tGLAD_GL_ATI_vertex_streams = has_ext(\"GL_ATI_vertex_streams\");\n\tGLAD_GL_EXT_422_pixels = has_ext(\"GL_EXT_422_pixels\");\n\tGLAD_GL_EXT_abgr = has_ext(\"GL_EXT_abgr\");\n\tGLAD_GL_EXT_bgra = has_ext(\"GL_EXT_bgra\");\n\tGLAD_GL_EXT_bindable_uniform = has_ext(\"GL_EXT_bindable_uniform\");\n\tGLAD_GL_EXT_blend_color = has_ext(\"GL_EXT_blend_color\");\n\tGLAD_GL_EXT_blend_equation_separate = has_ext(\"GL_EXT_blend_equation_separate\");\n\tGLAD_GL_EXT_blend_func_separate = has_ext(\"GL_EXT_blend_func_separate\");\n\tGLAD_GL_EXT_blend_logic_op = has_ext(\"GL_EXT_blend_logic_op\");\n\tGLAD_GL_EXT_blend_minmax = has_ext(\"GL_EXT_blend_minmax\");\n\tGLAD_GL_EXT_blend_subtract = has_ext(\"GL_EXT_blend_subtract\");\n\tGLAD_GL_EXT_clip_volume_hint = has_ext(\"GL_EXT_clip_volume_hint\");\n\tGLAD_GL_EXT_cmyka = has_ext(\"GL_EXT_cmyka\");\n\tGLAD_GL_EXT_color_subtable = has_ext(\"GL_EXT_color_subtable\");\n\tGLAD_GL_EXT_compiled_vertex_array = has_ext(\"GL_EXT_compiled_vertex_array\");\n\tGLAD_GL_EXT_convolution = has_ext(\"GL_EXT_convolution\");\n\tGLAD_GL_EXT_coordinate_frame = has_ext(\"GL_EXT_coordinate_frame\");\n\tGLAD_GL_EXT_copy_texture = has_ext(\"GL_EXT_copy_texture\");\n\tGLAD_GL_EXT_cull_vertex = has_ext(\"GL_EXT_cull_vertex\");\n\tGLAD_GL_EXT_debug_label = has_ext(\"GL_EXT_debug_label\");\n\tGLAD_GL_EXT_debug_marker = has_ext(\"GL_EXT_debug_marker\");\n\tGLAD_GL_EXT_depth_bounds_test = has_ext(\"GL_EXT_depth_bounds_test\");\n\tGLAD_GL_EXT_direct_state_access = has_ext(\"GL_EXT_direct_state_access\");\n\tGLAD_GL_EXT_draw_buffers2 = has_ext(\"GL_EXT_draw_buffers2\");\n\tGLAD_GL_EXT_draw_instanced = has_ext(\"GL_EXT_draw_instanced\");\n\tGLAD_GL_EXT_draw_range_elements = has_ext(\"GL_EXT_draw_range_elements\");\n\tGLAD_GL_EXT_external_buffer = has_ext(\"GL_EXT_external_buffer\");\n\tGLAD_GL_EXT_fog_coord = has_ext(\"GL_EXT_fog_coord\");\n\tGLAD_GL_EXT_framebuffer_blit = has_ext(\"GL_EXT_framebuffer_blit\");\n\tGLAD_GL_EXT_framebuffer_multisample = has_ext(\"GL_EXT_framebuffer_multisample\");\n\tGLAD_GL_EXT_framebuffer_multisample_blit_scaled = has_ext(\"GL_EXT_framebuffer_multisample_blit_scaled\");\n\tGLAD_GL_EXT_framebuffer_object = has_ext(\"GL_EXT_framebuffer_object\");\n\tGLAD_GL_EXT_framebuffer_sRGB = has_ext(\"GL_EXT_framebuffer_sRGB\");\n\tGLAD_GL_EXT_geometry_shader4 = has_ext(\"GL_EXT_geometry_shader4\");\n\tGLAD_GL_EXT_gpu_program_parameters = has_ext(\"GL_EXT_gpu_program_parameters\");\n\tGLAD_GL_EXT_gpu_shader4 = has_ext(\"GL_EXT_gpu_shader4\");\n\tGLAD_GL_EXT_histogram = has_ext(\"GL_EXT_histogram\");\n\tGLAD_GL_EXT_index_array_formats = has_ext(\"GL_EXT_index_array_formats\");\n\tGLAD_GL_EXT_index_func = has_ext(\"GL_EXT_index_func\");\n\tGLAD_GL_EXT_index_material = has_ext(\"GL_EXT_index_material\");\n\tGLAD_GL_EXT_index_texture = has_ext(\"GL_EXT_index_texture\");\n\tGLAD_GL_EXT_light_texture = has_ext(\"GL_EXT_light_texture\");\n\tGLAD_GL_EXT_memory_object = has_ext(\"GL_EXT_memory_object\");\n\tGLAD_GL_EXT_memory_object_fd = has_ext(\"GL_EXT_memory_object_fd\");\n\tGLAD_GL_EXT_memory_object_win32 = has_ext(\"GL_EXT_memory_object_win32\");\n\tGLAD_GL_EXT_misc_attribute = has_ext(\"GL_EXT_misc_attribute\");\n\tGLAD_GL_EXT_multi_draw_arrays = has_ext(\"GL_EXT_multi_draw_arrays\");\n\tGLAD_GL_EXT_multisample = has_ext(\"GL_EXT_multisample\");\n\tGLAD_GL_EXT_packed_depth_stencil = has_ext(\"GL_EXT_packed_depth_stencil\");\n\tGLAD_GL_EXT_packed_float = has_ext(\"GL_EXT_packed_float\");\n\tGLAD_GL_EXT_packed_pixels = has_ext(\"GL_EXT_packed_pixels\");\n\tGLAD_GL_EXT_paletted_texture = has_ext(\"GL_EXT_paletted_texture\");\n\tGLAD_GL_EXT_pixel_buffer_object = has_ext(\"GL_EXT_pixel_buffer_object\");\n\tGLAD_GL_EXT_pixel_transform = has_ext(\"GL_EXT_pixel_transform\");\n\tGLAD_GL_EXT_pixel_transform_color_table = has_ext(\"GL_EXT_pixel_transform_color_table\");\n\tGLAD_GL_EXT_point_parameters = has_ext(\"GL_EXT_point_parameters\");\n\tGLAD_GL_EXT_polygon_offset = has_ext(\"GL_EXT_polygon_offset\");\n\tGLAD_GL_EXT_polygon_offset_clamp = has_ext(\"GL_EXT_polygon_offset_clamp\");\n\tGLAD_GL_EXT_post_depth_coverage = has_ext(\"GL_EXT_post_depth_coverage\");\n\tGLAD_GL_EXT_provoking_vertex = has_ext(\"GL_EXT_provoking_vertex\");\n\tGLAD_GL_EXT_raster_multisample = has_ext(\"GL_EXT_raster_multisample\");\n\tGLAD_GL_EXT_rescale_normal = has_ext(\"GL_EXT_rescale_normal\");\n\tGLAD_GL_EXT_secondary_color = has_ext(\"GL_EXT_secondary_color\");\n\tGLAD_GL_EXT_semaphore = has_ext(\"GL_EXT_semaphore\");\n\tGLAD_GL_EXT_semaphore_fd = has_ext(\"GL_EXT_semaphore_fd\");\n\tGLAD_GL_EXT_semaphore_win32 = has_ext(\"GL_EXT_semaphore_win32\");\n\tGLAD_GL_EXT_separate_shader_objects = has_ext(\"GL_EXT_separate_shader_objects\");\n\tGLAD_GL_EXT_separate_specular_color = has_ext(\"GL_EXT_separate_specular_color\");\n\tGLAD_GL_EXT_shader_image_load_formatted = has_ext(\"GL_EXT_shader_image_load_formatted\");\n\tGLAD_GL_EXT_shader_image_load_store = has_ext(\"GL_EXT_shader_image_load_store\");\n\tGLAD_GL_EXT_shader_integer_mix = has_ext(\"GL_EXT_shader_integer_mix\");\n\tGLAD_GL_EXT_shadow_funcs = has_ext(\"GL_EXT_shadow_funcs\");\n\tGLAD_GL_EXT_shared_texture_palette = has_ext(\"GL_EXT_shared_texture_palette\");\n\tGLAD_GL_EXT_sparse_texture2 = has_ext(\"GL_EXT_sparse_texture2\");\n\tGLAD_GL_EXT_stencil_clear_tag = has_ext(\"GL_EXT_stencil_clear_tag\");\n\tGLAD_GL_EXT_stencil_two_side = has_ext(\"GL_EXT_stencil_two_side\");\n\tGLAD_GL_EXT_stencil_wrap = has_ext(\"GL_EXT_stencil_wrap\");\n\tGLAD_GL_EXT_subtexture = has_ext(\"GL_EXT_subtexture\");\n\tGLAD_GL_EXT_texture = has_ext(\"GL_EXT_texture\");\n\tGLAD_GL_EXT_texture3D = has_ext(\"GL_EXT_texture3D\");\n\tGLAD_GL_EXT_texture_array = has_ext(\"GL_EXT_texture_array\");\n\tGLAD_GL_EXT_texture_buffer_object = has_ext(\"GL_EXT_texture_buffer_object\");\n\tGLAD_GL_EXT_texture_compression_latc = has_ext(\"GL_EXT_texture_compression_latc\");\n\tGLAD_GL_EXT_texture_compression_rgtc = has_ext(\"GL_EXT_texture_compression_rgtc\");\n\tGLAD_GL_EXT_texture_compression_s3tc = has_ext(\"GL_EXT_texture_compression_s3tc\");\n\tGLAD_GL_EXT_texture_cube_map = has_ext(\"GL_EXT_texture_cube_map\");\n\tGLAD_GL_EXT_texture_env_add = has_ext(\"GL_EXT_texture_env_add\");\n\tGLAD_GL_EXT_texture_env_combine = has_ext(\"GL_EXT_texture_env_combine\");\n\tGLAD_GL_EXT_texture_env_dot3 = has_ext(\"GL_EXT_texture_env_dot3\");\n\tGLAD_GL_EXT_texture_filter_anisotropic = has_ext(\"GL_EXT_texture_filter_anisotropic\");\n\tGLAD_GL_EXT_texture_filter_minmax = has_ext(\"GL_EXT_texture_filter_minmax\");\n\tGLAD_GL_EXT_texture_integer = has_ext(\"GL_EXT_texture_integer\");\n\tGLAD_GL_EXT_texture_lod_bias = has_ext(\"GL_EXT_texture_lod_bias\");\n\tGLAD_GL_EXT_texture_mirror_clamp = has_ext(\"GL_EXT_texture_mirror_clamp\");\n\tGLAD_GL_EXT_texture_object = has_ext(\"GL_EXT_texture_object\");\n\tGLAD_GL_EXT_texture_perturb_normal = has_ext(\"GL_EXT_texture_perturb_normal\");\n\tGLAD_GL_EXT_texture_sRGB = has_ext(\"GL_EXT_texture_sRGB\");\n\tGLAD_GL_EXT_texture_sRGB_decode = has_ext(\"GL_EXT_texture_sRGB_decode\");\n\tGLAD_GL_EXT_texture_shared_exponent = has_ext(\"GL_EXT_texture_shared_exponent\");\n\tGLAD_GL_EXT_texture_snorm = has_ext(\"GL_EXT_texture_snorm\");\n\tGLAD_GL_EXT_texture_swizzle = has_ext(\"GL_EXT_texture_swizzle\");\n\tGLAD_GL_EXT_timer_query = has_ext(\"GL_EXT_timer_query\");\n\tGLAD_GL_EXT_transform_feedback = has_ext(\"GL_EXT_transform_feedback\");\n\tGLAD_GL_EXT_vertex_array = has_ext(\"GL_EXT_vertex_array\");\n\tGLAD_GL_EXT_vertex_array_bgra = has_ext(\"GL_EXT_vertex_array_bgra\");\n\tGLAD_GL_EXT_vertex_attrib_64bit = has_ext(\"GL_EXT_vertex_attrib_64bit\");\n\tGLAD_GL_EXT_vertex_shader = has_ext(\"GL_EXT_vertex_shader\");\n\tGLAD_GL_EXT_vertex_weighting = has_ext(\"GL_EXT_vertex_weighting\");\n\tGLAD_GL_EXT_win32_keyed_mutex = has_ext(\"GL_EXT_win32_keyed_mutex\");\n\tGLAD_GL_EXT_window_rectangles = has_ext(\"GL_EXT_window_rectangles\");\n\tGLAD_GL_EXT_x11_sync_object = has_ext(\"GL_EXT_x11_sync_object\");\n\tGLAD_GL_GREMEDY_frame_terminator = has_ext(\"GL_GREMEDY_frame_terminator\");\n\tGLAD_GL_GREMEDY_string_marker = has_ext(\"GL_GREMEDY_string_marker\");\n\tGLAD_GL_HP_convolution_border_modes = has_ext(\"GL_HP_convolution_border_modes\");\n\tGLAD_GL_HP_image_transform = has_ext(\"GL_HP_image_transform\");\n\tGLAD_GL_HP_occlusion_test = has_ext(\"GL_HP_occlusion_test\");\n\tGLAD_GL_HP_texture_lighting = has_ext(\"GL_HP_texture_lighting\");\n\tGLAD_GL_IBM_cull_vertex = has_ext(\"GL_IBM_cull_vertex\");\n\tGLAD_GL_IBM_multimode_draw_arrays = has_ext(\"GL_IBM_multimode_draw_arrays\");\n\tGLAD_GL_IBM_rasterpos_clip = has_ext(\"GL_IBM_rasterpos_clip\");\n\tGLAD_GL_IBM_static_data = has_ext(\"GL_IBM_static_data\");\n\tGLAD_GL_IBM_texture_mirrored_repeat = has_ext(\"GL_IBM_texture_mirrored_repeat\");\n\tGLAD_GL_IBM_vertex_array_lists = has_ext(\"GL_IBM_vertex_array_lists\");\n\tGLAD_GL_INGR_blend_func_separate = has_ext(\"GL_INGR_blend_func_separate\");\n\tGLAD_GL_INGR_color_clamp = has_ext(\"GL_INGR_color_clamp\");\n\tGLAD_GL_INGR_interlace_read = has_ext(\"GL_INGR_interlace_read\");\n\tGLAD_GL_INTEL_conservative_rasterization = has_ext(\"GL_INTEL_conservative_rasterization\");\n\tGLAD_GL_INTEL_fragment_shader_ordering = has_ext(\"GL_INTEL_fragment_shader_ordering\");\n\tGLAD_GL_INTEL_framebuffer_CMAA = has_ext(\"GL_INTEL_framebuffer_CMAA\");\n\tGLAD_GL_INTEL_map_texture = has_ext(\"GL_INTEL_map_texture\");\n\tGLAD_GL_INTEL_parallel_arrays = has_ext(\"GL_INTEL_parallel_arrays\");\n\tGLAD_GL_INTEL_performance_query = has_ext(\"GL_INTEL_performance_query\");\n\tGLAD_GL_KHR_blend_equation_advanced = has_ext(\"GL_KHR_blend_equation_advanced\");\n\tGLAD_GL_KHR_blend_equation_advanced_coherent = has_ext(\"GL_KHR_blend_equation_advanced_coherent\");\n\tGLAD_GL_KHR_context_flush_control = has_ext(\"GL_KHR_context_flush_control\");\n\tGLAD_GL_KHR_debug = has_ext(\"GL_KHR_debug\");\n\tGLAD_GL_KHR_no_error = has_ext(\"GL_KHR_no_error\");\n\tGLAD_GL_KHR_parallel_shader_compile = has_ext(\"GL_KHR_parallel_shader_compile\");\n\tGLAD_GL_KHR_robust_buffer_access_behavior = has_ext(\"GL_KHR_robust_buffer_access_behavior\");\n\tGLAD_GL_KHR_robustness = has_ext(\"GL_KHR_robustness\");\n\tGLAD_GL_KHR_texture_compression_astc_hdr = has_ext(\"GL_KHR_texture_compression_astc_hdr\");\n\tGLAD_GL_KHR_texture_compression_astc_ldr = has_ext(\"GL_KHR_texture_compression_astc_ldr\");\n\tGLAD_GL_KHR_texture_compression_astc_sliced_3d = has_ext(\"GL_KHR_texture_compression_astc_sliced_3d\");\n\tGLAD_GL_MESAX_texture_stack = has_ext(\"GL_MESAX_texture_stack\");\n\tGLAD_GL_MESA_pack_invert = has_ext(\"GL_MESA_pack_invert\");\n\tGLAD_GL_MESA_resize_buffers = has_ext(\"GL_MESA_resize_buffers\");\n\tGLAD_GL_MESA_shader_integer_functions = has_ext(\"GL_MESA_shader_integer_functions\");\n\tGLAD_GL_MESA_tile_raster_order = has_ext(\"GL_MESA_tile_raster_order\");\n\tGLAD_GL_MESA_window_pos = has_ext(\"GL_MESA_window_pos\");\n\tGLAD_GL_MESA_ycbcr_texture = has_ext(\"GL_MESA_ycbcr_texture\");\n\tGLAD_GL_NVX_blend_equation_advanced_multi_draw_buffers = has_ext(\"GL_NVX_blend_equation_advanced_multi_draw_buffers\");\n\tGLAD_GL_NVX_conditional_render = has_ext(\"GL_NVX_conditional_render\");\n\tGLAD_GL_NVX_gpu_memory_info = has_ext(\"GL_NVX_gpu_memory_info\");\n\tGLAD_GL_NVX_linked_gpu_multicast = has_ext(\"GL_NVX_linked_gpu_multicast\");\n\tGLAD_GL_NV_alpha_to_coverage_dither_control = has_ext(\"GL_NV_alpha_to_coverage_dither_control\");\n\tGLAD_GL_NV_bindless_multi_draw_indirect = has_ext(\"GL_NV_bindless_multi_draw_indirect\");\n\tGLAD_GL_NV_bindless_multi_draw_indirect_count = has_ext(\"GL_NV_bindless_multi_draw_indirect_count\");\n\tGLAD_GL_NV_bindless_texture = has_ext(\"GL_NV_bindless_texture\");\n\tGLAD_GL_NV_blend_equation_advanced = has_ext(\"GL_NV_blend_equation_advanced\");\n\tGLAD_GL_NV_blend_equation_advanced_coherent = has_ext(\"GL_NV_blend_equation_advanced_coherent\");\n\tGLAD_GL_NV_blend_minmax_factor = has_ext(\"GL_NV_blend_minmax_factor\");\n\tGLAD_GL_NV_blend_square = has_ext(\"GL_NV_blend_square\");\n\tGLAD_GL_NV_clip_space_w_scaling = has_ext(\"GL_NV_clip_space_w_scaling\");\n\tGLAD_GL_NV_command_list = has_ext(\"GL_NV_command_list\");\n\tGLAD_GL_NV_compute_program5 = has_ext(\"GL_NV_compute_program5\");\n\tGLAD_GL_NV_conditional_render = has_ext(\"GL_NV_conditional_render\");\n\tGLAD_GL_NV_conservative_raster = has_ext(\"GL_NV_conservative_raster\");\n\tGLAD_GL_NV_conservative_raster_dilate = has_ext(\"GL_NV_conservative_raster_dilate\");\n\tGLAD_GL_NV_conservative_raster_pre_snap_triangles = has_ext(\"GL_NV_conservative_raster_pre_snap_triangles\");\n\tGLAD_GL_NV_copy_depth_to_color = has_ext(\"GL_NV_copy_depth_to_color\");\n\tGLAD_GL_NV_copy_image = has_ext(\"GL_NV_copy_image\");\n\tGLAD_GL_NV_deep_texture3D = has_ext(\"GL_NV_deep_texture3D\");\n\tGLAD_GL_NV_depth_buffer_float = has_ext(\"GL_NV_depth_buffer_float\");\n\tGLAD_GL_NV_depth_clamp = has_ext(\"GL_NV_depth_clamp\");\n\tGLAD_GL_NV_draw_texture = has_ext(\"GL_NV_draw_texture\");\n\tGLAD_GL_NV_draw_vulkan_image = has_ext(\"GL_NV_draw_vulkan_image\");\n\tGLAD_GL_NV_evaluators = has_ext(\"GL_NV_evaluators\");\n\tGLAD_GL_NV_explicit_multisample = has_ext(\"GL_NV_explicit_multisample\");\n\tGLAD_GL_NV_fence = has_ext(\"GL_NV_fence\");\n\tGLAD_GL_NV_fill_rectangle = has_ext(\"GL_NV_fill_rectangle\");\n\tGLAD_GL_NV_float_buffer = has_ext(\"GL_NV_float_buffer\");\n\tGLAD_GL_NV_fog_distance = has_ext(\"GL_NV_fog_distance\");\n\tGLAD_GL_NV_fragment_coverage_to_color = has_ext(\"GL_NV_fragment_coverage_to_color\");\n\tGLAD_GL_NV_fragment_program = has_ext(\"GL_NV_fragment_program\");\n\tGLAD_GL_NV_fragment_program2 = has_ext(\"GL_NV_fragment_program2\");\n\tGLAD_GL_NV_fragment_program4 = has_ext(\"GL_NV_fragment_program4\");\n\tGLAD_GL_NV_fragment_program_option = has_ext(\"GL_NV_fragment_program_option\");\n\tGLAD_GL_NV_fragment_shader_interlock = has_ext(\"GL_NV_fragment_shader_interlock\");\n\tGLAD_GL_NV_framebuffer_mixed_samples = has_ext(\"GL_NV_framebuffer_mixed_samples\");\n\tGLAD_GL_NV_framebuffer_multisample_coverage = has_ext(\"GL_NV_framebuffer_multisample_coverage\");\n\tGLAD_GL_NV_geometry_program4 = has_ext(\"GL_NV_geometry_program4\");\n\tGLAD_GL_NV_geometry_shader4 = has_ext(\"GL_NV_geometry_shader4\");\n\tGLAD_GL_NV_geometry_shader_passthrough = has_ext(\"GL_NV_geometry_shader_passthrough\");\n\tGLAD_GL_NV_gpu_multicast = has_ext(\"GL_NV_gpu_multicast\");\n\tGLAD_GL_NV_gpu_program4 = has_ext(\"GL_NV_gpu_program4\");\n\tGLAD_GL_NV_gpu_program5 = has_ext(\"GL_NV_gpu_program5\");\n\tGLAD_GL_NV_gpu_program5_mem_extended = has_ext(\"GL_NV_gpu_program5_mem_extended\");\n\tGLAD_GL_NV_gpu_shader5 = has_ext(\"GL_NV_gpu_shader5\");\n\tGLAD_GL_NV_half_float = has_ext(\"GL_NV_half_float\");\n\tGLAD_GL_NV_internalformat_sample_query = has_ext(\"GL_NV_internalformat_sample_query\");\n\tGLAD_GL_NV_light_max_exponent = has_ext(\"GL_NV_light_max_exponent\");\n\tGLAD_GL_NV_multisample_coverage = has_ext(\"GL_NV_multisample_coverage\");\n\tGLAD_GL_NV_multisample_filter_hint = has_ext(\"GL_NV_multisample_filter_hint\");\n\tGLAD_GL_NV_occlusion_query = has_ext(\"GL_NV_occlusion_query\");\n\tGLAD_GL_NV_packed_depth_stencil = has_ext(\"GL_NV_packed_depth_stencil\");\n\tGLAD_GL_NV_parameter_buffer_object = has_ext(\"GL_NV_parameter_buffer_object\");\n\tGLAD_GL_NV_parameter_buffer_object2 = has_ext(\"GL_NV_parameter_buffer_object2\");\n\tGLAD_GL_NV_path_rendering = has_ext(\"GL_NV_path_rendering\");\n\tGLAD_GL_NV_path_rendering_shared_edge = has_ext(\"GL_NV_path_rendering_shared_edge\");\n\tGLAD_GL_NV_pixel_data_range = has_ext(\"GL_NV_pixel_data_range\");\n\tGLAD_GL_NV_point_sprite = has_ext(\"GL_NV_point_sprite\");\n\tGLAD_GL_NV_present_video = has_ext(\"GL_NV_present_video\");\n\tGLAD_GL_NV_primitive_restart = has_ext(\"GL_NV_primitive_restart\");\n\tGLAD_GL_NV_query_resource = has_ext(\"GL_NV_query_resource\");\n\tGLAD_GL_NV_query_resource_tag = has_ext(\"GL_NV_query_resource_tag\");\n\tGLAD_GL_NV_register_combiners = has_ext(\"GL_NV_register_combiners\");\n\tGLAD_GL_NV_register_combiners2 = has_ext(\"GL_NV_register_combiners2\");\n\tGLAD_GL_NV_robustness_video_memory_purge = has_ext(\"GL_NV_robustness_video_memory_purge\");\n\tGLAD_GL_NV_sample_locations = has_ext(\"GL_NV_sample_locations\");\n\tGLAD_GL_NV_sample_mask_override_coverage = has_ext(\"GL_NV_sample_mask_override_coverage\");\n\tGLAD_GL_NV_shader_atomic_counters = has_ext(\"GL_NV_shader_atomic_counters\");\n\tGLAD_GL_NV_shader_atomic_float = has_ext(\"GL_NV_shader_atomic_float\");\n\tGLAD_GL_NV_shader_atomic_float64 = has_ext(\"GL_NV_shader_atomic_float64\");\n\tGLAD_GL_NV_shader_atomic_fp16_vector = has_ext(\"GL_NV_shader_atomic_fp16_vector\");\n\tGLAD_GL_NV_shader_atomic_int64 = has_ext(\"GL_NV_shader_atomic_int64\");\n\tGLAD_GL_NV_shader_buffer_load = has_ext(\"GL_NV_shader_buffer_load\");\n\tGLAD_GL_NV_shader_buffer_store = has_ext(\"GL_NV_shader_buffer_store\");\n\tGLAD_GL_NV_shader_storage_buffer_object = has_ext(\"GL_NV_shader_storage_buffer_object\");\n\tGLAD_GL_NV_shader_thread_group = has_ext(\"GL_NV_shader_thread_group\");\n\tGLAD_GL_NV_shader_thread_shuffle = has_ext(\"GL_NV_shader_thread_shuffle\");\n\tGLAD_GL_NV_stereo_view_rendering = has_ext(\"GL_NV_stereo_view_rendering\");\n\tGLAD_GL_NV_tessellation_program5 = has_ext(\"GL_NV_tessellation_program5\");\n\tGLAD_GL_NV_texgen_emboss = has_ext(\"GL_NV_texgen_emboss\");\n\tGLAD_GL_NV_texgen_reflection = has_ext(\"GL_NV_texgen_reflection\");\n\tGLAD_GL_NV_texture_barrier = has_ext(\"GL_NV_texture_barrier\");\n\tGLAD_GL_NV_texture_compression_vtc = has_ext(\"GL_NV_texture_compression_vtc\");\n\tGLAD_GL_NV_texture_env_combine4 = has_ext(\"GL_NV_texture_env_combine4\");\n\tGLAD_GL_NV_texture_expand_normal = has_ext(\"GL_NV_texture_expand_normal\");\n\tGLAD_GL_NV_texture_multisample = has_ext(\"GL_NV_texture_multisample\");\n\tGLAD_GL_NV_texture_rectangle = has_ext(\"GL_NV_texture_rectangle\");\n\tGLAD_GL_NV_texture_rectangle_compressed = has_ext(\"GL_NV_texture_rectangle_compressed\");\n\tGLAD_GL_NV_texture_shader = has_ext(\"GL_NV_texture_shader\");\n\tGLAD_GL_NV_texture_shader2 = has_ext(\"GL_NV_texture_shader2\");\n\tGLAD_GL_NV_texture_shader3 = has_ext(\"GL_NV_texture_shader3\");\n\tGLAD_GL_NV_transform_feedback = has_ext(\"GL_NV_transform_feedback\");\n\tGLAD_GL_NV_transform_feedback2 = has_ext(\"GL_NV_transform_feedback2\");\n\tGLAD_GL_NV_uniform_buffer_unified_memory = has_ext(\"GL_NV_uniform_buffer_unified_memory\");\n\tGLAD_GL_NV_vdpau_interop = has_ext(\"GL_NV_vdpau_interop\");\n\tGLAD_GL_NV_vertex_array_range = has_ext(\"GL_NV_vertex_array_range\");\n\tGLAD_GL_NV_vertex_array_range2 = has_ext(\"GL_NV_vertex_array_range2\");\n\tGLAD_GL_NV_vertex_attrib_integer_64bit = has_ext(\"GL_NV_vertex_attrib_integer_64bit\");\n\tGLAD_GL_NV_vertex_buffer_unified_memory = has_ext(\"GL_NV_vertex_buffer_unified_memory\");\n\tGLAD_GL_NV_vertex_program = has_ext(\"GL_NV_vertex_program\");\n\tGLAD_GL_NV_vertex_program1_1 = has_ext(\"GL_NV_vertex_program1_1\");\n\tGLAD_GL_NV_vertex_program2 = has_ext(\"GL_NV_vertex_program2\");\n\tGLAD_GL_NV_vertex_program2_option = has_ext(\"GL_NV_vertex_program2_option\");\n\tGLAD_GL_NV_vertex_program3 = has_ext(\"GL_NV_vertex_program3\");\n\tGLAD_GL_NV_vertex_program4 = has_ext(\"GL_NV_vertex_program4\");\n\tGLAD_GL_NV_video_capture = has_ext(\"GL_NV_video_capture\");\n\tGLAD_GL_NV_viewport_array2 = has_ext(\"GL_NV_viewport_array2\");\n\tGLAD_GL_NV_viewport_swizzle = has_ext(\"GL_NV_viewport_swizzle\");\n\tGLAD_GL_OES_byte_coordinates = has_ext(\"GL_OES_byte_coordinates\");\n\tGLAD_GL_OES_compressed_paletted_texture = has_ext(\"GL_OES_compressed_paletted_texture\");\n\tGLAD_GL_OES_fixed_point = has_ext(\"GL_OES_fixed_point\");\n\tGLAD_GL_OES_query_matrix = has_ext(\"GL_OES_query_matrix\");\n\tGLAD_GL_OES_read_format = has_ext(\"GL_OES_read_format\");\n\tGLAD_GL_OES_single_precision = has_ext(\"GL_OES_single_precision\");\n\tGLAD_GL_OML_interlace = has_ext(\"GL_OML_interlace\");\n\tGLAD_GL_OML_resample = has_ext(\"GL_OML_resample\");\n\tGLAD_GL_OML_subsample = has_ext(\"GL_OML_subsample\");\n\tGLAD_GL_OVR_multiview = has_ext(\"GL_OVR_multiview\");\n\tGLAD_GL_OVR_multiview2 = has_ext(\"GL_OVR_multiview2\");\n\tGLAD_GL_PGI_misc_hints = has_ext(\"GL_PGI_misc_hints\");\n\tGLAD_GL_PGI_vertex_hints = has_ext(\"GL_PGI_vertex_hints\");\n\tGLAD_GL_REND_screen_coordinates = has_ext(\"GL_REND_screen_coordinates\");\n\tGLAD_GL_S3_s3tc = has_ext(\"GL_S3_s3tc\");\n\tGLAD_GL_SGIS_detail_texture = has_ext(\"GL_SGIS_detail_texture\");\n\tGLAD_GL_SGIS_fog_function = has_ext(\"GL_SGIS_fog_function\");\n\tGLAD_GL_SGIS_generate_mipmap = has_ext(\"GL_SGIS_generate_mipmap\");\n\tGLAD_GL_SGIS_multisample = has_ext(\"GL_SGIS_multisample\");\n\tGLAD_GL_SGIS_pixel_texture = has_ext(\"GL_SGIS_pixel_texture\");\n\tGLAD_GL_SGIS_point_line_texgen = has_ext(\"GL_SGIS_point_line_texgen\");\n\tGLAD_GL_SGIS_point_parameters = has_ext(\"GL_SGIS_point_parameters\");\n\tGLAD_GL_SGIS_sharpen_texture = has_ext(\"GL_SGIS_sharpen_texture\");\n\tGLAD_GL_SGIS_texture4D = has_ext(\"GL_SGIS_texture4D\");\n\tGLAD_GL_SGIS_texture_border_clamp = has_ext(\"GL_SGIS_texture_border_clamp\");\n\tGLAD_GL_SGIS_texture_color_mask = has_ext(\"GL_SGIS_texture_color_mask\");\n\tGLAD_GL_SGIS_texture_edge_clamp = has_ext(\"GL_SGIS_texture_edge_clamp\");\n\tGLAD_GL_SGIS_texture_filter4 = has_ext(\"GL_SGIS_texture_filter4\");\n\tGLAD_GL_SGIS_texture_lod = has_ext(\"GL_SGIS_texture_lod\");\n\tGLAD_GL_SGIS_texture_select = has_ext(\"GL_SGIS_texture_select\");\n\tGLAD_GL_SGIX_async = has_ext(\"GL_SGIX_async\");\n\tGLAD_GL_SGIX_async_histogram = has_ext(\"GL_SGIX_async_histogram\");\n\tGLAD_GL_SGIX_async_pixel = has_ext(\"GL_SGIX_async_pixel\");\n\tGLAD_GL_SGIX_blend_alpha_minmax = has_ext(\"GL_SGIX_blend_alpha_minmax\");\n\tGLAD_GL_SGIX_calligraphic_fragment = has_ext(\"GL_SGIX_calligraphic_fragment\");\n\tGLAD_GL_SGIX_clipmap = has_ext(\"GL_SGIX_clipmap\");\n\tGLAD_GL_SGIX_convolution_accuracy = has_ext(\"GL_SGIX_convolution_accuracy\");\n\tGLAD_GL_SGIX_depth_pass_instrument = has_ext(\"GL_SGIX_depth_pass_instrument\");\n\tGLAD_GL_SGIX_depth_texture = has_ext(\"GL_SGIX_depth_texture\");\n\tGLAD_GL_SGIX_flush_raster = has_ext(\"GL_SGIX_flush_raster\");\n\tGLAD_GL_SGIX_fog_offset = has_ext(\"GL_SGIX_fog_offset\");\n\tGLAD_GL_SGIX_fragment_lighting = has_ext(\"GL_SGIX_fragment_lighting\");\n\tGLAD_GL_SGIX_framezoom = has_ext(\"GL_SGIX_framezoom\");\n\tGLAD_GL_SGIX_igloo_interface = has_ext(\"GL_SGIX_igloo_interface\");\n\tGLAD_GL_SGIX_instruments = has_ext(\"GL_SGIX_instruments\");\n\tGLAD_GL_SGIX_interlace = has_ext(\"GL_SGIX_interlace\");\n\tGLAD_GL_SGIX_ir_instrument1 = has_ext(\"GL_SGIX_ir_instrument1\");\n\tGLAD_GL_SGIX_list_priority = has_ext(\"GL_SGIX_list_priority\");\n\tGLAD_GL_SGIX_pixel_texture = has_ext(\"GL_SGIX_pixel_texture\");\n\tGLAD_GL_SGIX_pixel_tiles = has_ext(\"GL_SGIX_pixel_tiles\");\n\tGLAD_GL_SGIX_polynomial_ffd = has_ext(\"GL_SGIX_polynomial_ffd\");\n\tGLAD_GL_SGIX_reference_plane = has_ext(\"GL_SGIX_reference_plane\");\n\tGLAD_GL_SGIX_resample = has_ext(\"GL_SGIX_resample\");\n\tGLAD_GL_SGIX_scalebias_hint = has_ext(\"GL_SGIX_scalebias_hint\");\n\tGLAD_GL_SGIX_shadow = has_ext(\"GL_SGIX_shadow\");\n\tGLAD_GL_SGIX_shadow_ambient = has_ext(\"GL_SGIX_shadow_ambient\");\n\tGLAD_GL_SGIX_sprite = has_ext(\"GL_SGIX_sprite\");\n\tGLAD_GL_SGIX_subsample = has_ext(\"GL_SGIX_subsample\");\n\tGLAD_GL_SGIX_tag_sample_buffer = has_ext(\"GL_SGIX_tag_sample_buffer\");\n\tGLAD_GL_SGIX_texture_add_env = has_ext(\"GL_SGIX_texture_add_env\");\n\tGLAD_GL_SGIX_texture_coordinate_clamp = has_ext(\"GL_SGIX_texture_coordinate_clamp\");\n\tGLAD_GL_SGIX_texture_lod_bias = has_ext(\"GL_SGIX_texture_lod_bias\");\n\tGLAD_GL_SGIX_texture_multi_buffer = has_ext(\"GL_SGIX_texture_multi_buffer\");\n\tGLAD_GL_SGIX_texture_scale_bias = has_ext(\"GL_SGIX_texture_scale_bias\");\n\tGLAD_GL_SGIX_vertex_preclip = has_ext(\"GL_SGIX_vertex_preclip\");\n\tGLAD_GL_SGIX_ycrcb = has_ext(\"GL_SGIX_ycrcb\");\n\tGLAD_GL_SGIX_ycrcb_subsample = has_ext(\"GL_SGIX_ycrcb_subsample\");\n\tGLAD_GL_SGIX_ycrcba = has_ext(\"GL_SGIX_ycrcba\");\n\tGLAD_GL_SGI_color_matrix = has_ext(\"GL_SGI_color_matrix\");\n\tGLAD_GL_SGI_color_table = has_ext(\"GL_SGI_color_table\");\n\tGLAD_GL_SGI_texture_color_table = has_ext(\"GL_SGI_texture_color_table\");\n\tGLAD_GL_SUNX_constant_data = has_ext(\"GL_SUNX_constant_data\");\n\tGLAD_GL_SUN_convolution_border_modes = has_ext(\"GL_SUN_convolution_border_modes\");\n\tGLAD_GL_SUN_global_alpha = has_ext(\"GL_SUN_global_alpha\");\n\tGLAD_GL_SUN_mesh_array = has_ext(\"GL_SUN_mesh_array\");\n\tGLAD_GL_SUN_slice_accum = has_ext(\"GL_SUN_slice_accum\");\n\tGLAD_GL_SUN_triangle_list = has_ext(\"GL_SUN_triangle_list\");\n\tGLAD_GL_SUN_vertex = has_ext(\"GL_SUN_vertex\");\n\tGLAD_GL_WIN_phong_shading = has_ext(\"GL_WIN_phong_shading\");\n\tGLAD_GL_WIN_specular_fog = has_ext(\"GL_WIN_specular_fog\");\n\tfree_exts();\n\treturn 1;\n}\n\nstatic void find_coreGL(void) {\n\n    /* Thank you @elmindreda\n     * https://github.com/elmindreda/greg/blob/master/templates/greg.c.in#L176\n     * https://github.com/glfw/glfw/blob/master/src/context.c#L36\n     */\n    int i, major, minor;\n\n    const char* version;\n    const char* prefixes[] = {\n        \"OpenGL ES-CM \",\n        \"OpenGL ES-CL \",\n        \"OpenGL ES \",\n        NULL\n    };\n\n    version = (const char*) glGetString(GL_VERSION);\n    if (!version) return;\n\n    for (i = 0;  prefixes[i];  i++) {\n        const size_t length = strlen(prefixes[i]);\n        if (strncmp(version, prefixes[i], length) == 0) {\n            version += length;\n            break;\n        }\n    }\n\n/* PR #18 */\n#ifdef _MSC_VER\n    sscanf_s(version, \"%d.%d\", &major, &minor);\n#else\n    sscanf(version, \"%d.%d\", &major, &minor);\n#endif\n\n    GLVersion.major = major; GLVersion.minor = minor;\n    max_loaded_major = major; max_loaded_minor = minor;\n\tGLAD_GL_VERSION_1_0 = (major == 1 && minor >= 0) || major > 1;\n\tGLAD_GL_VERSION_1_1 = (major == 1 && minor >= 1) || major > 1;\n\tGLAD_GL_VERSION_1_2 = (major == 1 && minor >= 2) || major > 1;\n\tGLAD_GL_VERSION_1_3 = (major == 1 && minor >= 3) || major > 1;\n\tGLAD_GL_VERSION_1_4 = (major == 1 && minor >= 4) || major > 1;\n\tGLAD_GL_VERSION_1_5 = (major == 1 && minor >= 5) || major > 1;\n\tGLAD_GL_VERSION_2_0 = (major == 2 && minor >= 0) || major > 2;\n\tGLAD_GL_VERSION_2_1 = (major == 2 && minor >= 1) || major > 2;\n\tGLAD_GL_VERSION_3_0 = (major == 3 && minor >= 0) || major > 3;\n\tGLAD_GL_VERSION_3_1 = (major == 3 && minor >= 1) || major > 3;\n\tGLAD_GL_VERSION_3_2 = (major == 3 && minor >= 2) || major > 3;\n\tGLAD_GL_VERSION_3_3 = (major == 3 && minor >= 3) || major > 3;\n\tGLAD_GL_VERSION_4_0 = (major == 4 && minor >= 0) || major > 4;\n\tGLAD_GL_VERSION_4_1 = (major == 4 && minor >= 1) || major > 4;\n\tGLAD_GL_VERSION_4_2 = (major == 4 && minor >= 2) || major > 4;\n\tGLAD_GL_VERSION_4_3 = (major == 4 && minor >= 3) || major > 4;\n\tGLAD_GL_VERSION_4_4 = (major == 4 && minor >= 4) || major > 4;\n\tGLAD_GL_VERSION_4_5 = (major == 4 && minor >= 5) || major > 4;\n\tGLAD_GL_VERSION_4_6 = (major == 4 && minor >= 6) || major > 4;\n\tif (GLVersion.major > 4 || (GLVersion.major >= 4 && GLVersion.minor >= 6)) {\n\t\tmax_loaded_major = 4;\n\t\tmax_loaded_minor = 6;\n\t}\n}\n\nint gladLoadGLLoader(GLADloadproc load) {\n\tGLVersion.major = 0; GLVersion.minor = 0;\n\tglGetString = (PFNGLGETSTRINGPROC)load(\"glGetString\");\n\tif(glGetString == NULL) return 0;\n\tif(glGetString(GL_VERSION) == NULL) return 0;\n\tfind_coreGL();\n\tload_GL_VERSION_1_0(load);\n\tload_GL_VERSION_1_1(load);\n\tload_GL_VERSION_1_2(load);\n\tload_GL_VERSION_1_3(load);\n\tload_GL_VERSION_1_4(load);\n\tload_GL_VERSION_1_5(load);\n\tload_GL_VERSION_2_0(load);\n\tload_GL_VERSION_2_1(load);\n\tload_GL_VERSION_3_0(load);\n\tload_GL_VERSION_3_1(load);\n\tload_GL_VERSION_3_2(load);\n\tload_GL_VERSION_3_3(load);\n\tload_GL_VERSION_4_0(load);\n\tload_GL_VERSION_4_1(load);\n\tload_GL_VERSION_4_2(load);\n\tload_GL_VERSION_4_3(load);\n\tload_GL_VERSION_4_4(load);\n\tload_GL_VERSION_4_5(load);\n\tload_GL_VERSION_4_6(load);\n\n\tif (!find_extensionsGL()) return 0;\n\tload_GL_3DFX_tbuffer(load);\n\tload_GL_AMD_debug_output(load);\n\tload_GL_AMD_draw_buffers_blend(load);\n\tload_GL_AMD_framebuffer_sample_positions(load);\n\tload_GL_AMD_gpu_shader_int64(load);\n\tload_GL_AMD_interleaved_elements(load);\n\tload_GL_AMD_multi_draw_indirect(load);\n\tload_GL_AMD_name_gen_delete(load);\n\tload_GL_AMD_occlusion_query_event(load);\n\tload_GL_AMD_performance_monitor(load);\n\tload_GL_AMD_sample_positions(load);\n\tload_GL_AMD_sparse_texture(load);\n\tload_GL_AMD_stencil_operation_extended(load);\n\tload_GL_AMD_vertex_shader_tessellator(load);\n\tload_GL_APPLE_element_array(load);\n\tload_GL_APPLE_fence(load);\n\tload_GL_APPLE_flush_buffer_range(load);\n\tload_GL_APPLE_object_purgeable(load);\n\tload_GL_APPLE_texture_range(load);\n\tload_GL_APPLE_vertex_array_object(load);\n\tload_GL_APPLE_vertex_array_range(load);\n\tload_GL_APPLE_vertex_program_evaluators(load);\n\tload_GL_ARB_ES2_compatibility(load);\n\tload_GL_ARB_ES3_1_compatibility(load);\n\tload_GL_ARB_ES3_2_compatibility(load);\n\tload_GL_ARB_base_instance(load);\n\tload_GL_ARB_bindless_texture(load);\n\tload_GL_ARB_blend_func_extended(load);\n\tload_GL_ARB_buffer_storage(load);\n\tload_GL_ARB_cl_event(load);\n\tload_GL_ARB_clear_buffer_object(load);\n\tload_GL_ARB_clear_texture(load);\n\tload_GL_ARB_clip_control(load);\n\tload_GL_ARB_color_buffer_float(load);\n\tload_GL_ARB_compute_shader(load);\n\tload_GL_ARB_compute_variable_group_size(load);\n\tload_GL_ARB_copy_buffer(load);\n\tload_GL_ARB_copy_image(load);\n\tload_GL_ARB_debug_output(load);\n\tload_GL_ARB_direct_state_access(load);\n\tload_GL_ARB_draw_buffers(load);\n\tload_GL_ARB_draw_buffers_blend(load);\n\tload_GL_ARB_draw_elements_base_vertex(load);\n\tload_GL_ARB_draw_indirect(load);\n\tload_GL_ARB_draw_instanced(load);\n\tload_GL_ARB_fragment_program(load);\n\tload_GL_ARB_framebuffer_no_attachments(load);\n\tload_GL_ARB_framebuffer_object(load);\n\tload_GL_ARB_geometry_shader4(load);\n\tload_GL_ARB_get_program_binary(load);\n\tload_GL_ARB_get_texture_sub_image(load);\n\tload_GL_ARB_gl_spirv(load);\n\tload_GL_ARB_gpu_shader_fp64(load);\n\tload_GL_ARB_gpu_shader_int64(load);\n\tload_GL_ARB_imaging(load);\n\tload_GL_ARB_indirect_parameters(load);\n\tload_GL_ARB_instanced_arrays(load);\n\tload_GL_ARB_internalformat_query(load);\n\tload_GL_ARB_internalformat_query2(load);\n\tload_GL_ARB_invalidate_subdata(load);\n\tload_GL_ARB_map_buffer_range(load);\n\tload_GL_ARB_matrix_palette(load);\n\tload_GL_ARB_multi_bind(load);\n\tload_GL_ARB_multi_draw_indirect(load);\n\tload_GL_ARB_multisample(load);\n\tload_GL_ARB_multitexture(load);\n\tload_GL_ARB_occlusion_query(load);\n\tload_GL_ARB_parallel_shader_compile(load);\n\tload_GL_ARB_point_parameters(load);\n\tload_GL_ARB_polygon_offset_clamp(load);\n\tload_GL_ARB_program_interface_query(load);\n\tload_GL_ARB_provoking_vertex(load);\n\tload_GL_ARB_robustness(load);\n\tload_GL_ARB_sample_locations(load);\n\tload_GL_ARB_sample_shading(load);\n\tload_GL_ARB_sampler_objects(load);\n\tload_GL_ARB_separate_shader_objects(load);\n\tload_GL_ARB_shader_atomic_counters(load);\n\tload_GL_ARB_shader_image_load_store(load);\n\tload_GL_ARB_shader_objects(load);\n\tload_GL_ARB_shader_storage_buffer_object(load);\n\tload_GL_ARB_shader_subroutine(load);\n\tload_GL_ARB_shading_language_include(load);\n\tload_GL_ARB_sparse_buffer(load);\n\tload_GL_ARB_sparse_texture(load);\n\tload_GL_ARB_sync(load);\n\tload_GL_ARB_tessellation_shader(load);\n\tload_GL_ARB_texture_barrier(load);\n\tload_GL_ARB_texture_buffer_object(load);\n\tload_GL_ARB_texture_buffer_range(load);\n\tload_GL_ARB_texture_compression(load);\n\tload_GL_ARB_texture_multisample(load);\n\tload_GL_ARB_texture_storage(load);\n\tload_GL_ARB_texture_storage_multisample(load);\n\tload_GL_ARB_texture_view(load);\n\tload_GL_ARB_timer_query(load);\n\tload_GL_ARB_transform_feedback2(load);\n\tload_GL_ARB_transform_feedback3(load);\n\tload_GL_ARB_transform_feedback_instanced(load);\n\tload_GL_ARB_transpose_matrix(load);\n\tload_GL_ARB_uniform_buffer_object(load);\n\tload_GL_ARB_vertex_array_object(load);\n\tload_GL_ARB_vertex_attrib_64bit(load);\n\tload_GL_ARB_vertex_attrib_binding(load);\n\tload_GL_ARB_vertex_blend(load);\n\tload_GL_ARB_vertex_buffer_object(load);\n\tload_GL_ARB_vertex_program(load);\n\tload_GL_ARB_vertex_shader(load);\n\tload_GL_ARB_vertex_type_2_10_10_10_rev(load);\n\tload_GL_ARB_viewport_array(load);\n\tload_GL_ARB_window_pos(load);\n\tload_GL_ATI_draw_buffers(load);\n\tload_GL_ATI_element_array(load);\n\tload_GL_ATI_envmap_bumpmap(load);\n\tload_GL_ATI_fragment_shader(load);\n\tload_GL_ATI_map_object_buffer(load);\n\tload_GL_ATI_pn_triangles(load);\n\tload_GL_ATI_separate_stencil(load);\n\tload_GL_ATI_vertex_array_object(load);\n\tload_GL_ATI_vertex_attrib_array_object(load);\n\tload_GL_ATI_vertex_streams(load);\n\tload_GL_EXT_bindable_uniform(load);\n\tload_GL_EXT_blend_color(load);\n\tload_GL_EXT_blend_equation_separate(load);\n\tload_GL_EXT_blend_func_separate(load);\n\tload_GL_EXT_blend_minmax(load);\n\tload_GL_EXT_color_subtable(load);\n\tload_GL_EXT_compiled_vertex_array(load);\n\tload_GL_EXT_convolution(load);\n\tload_GL_EXT_coordinate_frame(load);\n\tload_GL_EXT_copy_texture(load);\n\tload_GL_EXT_cull_vertex(load);\n\tload_GL_EXT_debug_label(load);\n\tload_GL_EXT_debug_marker(load);\n\tload_GL_EXT_depth_bounds_test(load);\n\tload_GL_EXT_direct_state_access(load);\n\tload_GL_EXT_draw_buffers2(load);\n\tload_GL_EXT_draw_instanced(load);\n\tload_GL_EXT_draw_range_elements(load);\n\tload_GL_EXT_external_buffer(load);\n\tload_GL_EXT_fog_coord(load);\n\tload_GL_EXT_framebuffer_blit(load);\n\tload_GL_EXT_framebuffer_multisample(load);\n\tload_GL_EXT_framebuffer_object(load);\n\tload_GL_EXT_geometry_shader4(load);\n\tload_GL_EXT_gpu_program_parameters(load);\n\tload_GL_EXT_gpu_shader4(load);\n\tload_GL_EXT_histogram(load);\n\tload_GL_EXT_index_func(load);\n\tload_GL_EXT_index_material(load);\n\tload_GL_EXT_light_texture(load);\n\tload_GL_EXT_memory_object(load);\n\tload_GL_EXT_memory_object_fd(load);\n\tload_GL_EXT_memory_object_win32(load);\n\tload_GL_EXT_multi_draw_arrays(load);\n\tload_GL_EXT_multisample(load);\n\tload_GL_EXT_paletted_texture(load);\n\tload_GL_EXT_pixel_transform(load);\n\tload_GL_EXT_point_parameters(load);\n\tload_GL_EXT_polygon_offset(load);\n\tload_GL_EXT_polygon_offset_clamp(load);\n\tload_GL_EXT_provoking_vertex(load);\n\tload_GL_EXT_raster_multisample(load);\n\tload_GL_EXT_secondary_color(load);\n\tload_GL_EXT_semaphore(load);\n\tload_GL_EXT_semaphore_fd(load);\n\tload_GL_EXT_semaphore_win32(load);\n\tload_GL_EXT_separate_shader_objects(load);\n\tload_GL_EXT_shader_image_load_store(load);\n\tload_GL_EXT_stencil_clear_tag(load);\n\tload_GL_EXT_stencil_two_side(load);\n\tload_GL_EXT_subtexture(load);\n\tload_GL_EXT_texture3D(load);\n\tload_GL_EXT_texture_array(load);\n\tload_GL_EXT_texture_buffer_object(load);\n\tload_GL_EXT_texture_filter_minmax(load);\n\tload_GL_EXT_texture_integer(load);\n\tload_GL_EXT_texture_object(load);\n\tload_GL_EXT_texture_perturb_normal(load);\n\tload_GL_EXT_timer_query(load);\n\tload_GL_EXT_transform_feedback(load);\n\tload_GL_EXT_vertex_array(load);\n\tload_GL_EXT_vertex_attrib_64bit(load);\n\tload_GL_EXT_vertex_shader(load);\n\tload_GL_EXT_vertex_weighting(load);\n\tload_GL_EXT_win32_keyed_mutex(load);\n\tload_GL_EXT_window_rectangles(load);\n\tload_GL_EXT_x11_sync_object(load);\n\tload_GL_GREMEDY_frame_terminator(load);\n\tload_GL_GREMEDY_string_marker(load);\n\tload_GL_HP_image_transform(load);\n\tload_GL_IBM_multimode_draw_arrays(load);\n\tload_GL_IBM_static_data(load);\n\tload_GL_IBM_vertex_array_lists(load);\n\tload_GL_INGR_blend_func_separate(load);\n\tload_GL_INTEL_framebuffer_CMAA(load);\n\tload_GL_INTEL_map_texture(load);\n\tload_GL_INTEL_parallel_arrays(load);\n\tload_GL_INTEL_performance_query(load);\n\tload_GL_KHR_blend_equation_advanced(load);\n\tload_GL_KHR_debug(load);\n\tload_GL_KHR_parallel_shader_compile(load);\n\tload_GL_KHR_robustness(load);\n\tload_GL_MESA_resize_buffers(load);\n\tload_GL_MESA_window_pos(load);\n\tload_GL_NVX_conditional_render(load);\n\tload_GL_NVX_linked_gpu_multicast(load);\n\tload_GL_NV_alpha_to_coverage_dither_control(load);\n\tload_GL_NV_bindless_multi_draw_indirect(load);\n\tload_GL_NV_bindless_multi_draw_indirect_count(load);\n\tload_GL_NV_bindless_texture(load);\n\tload_GL_NV_blend_equation_advanced(load);\n\tload_GL_NV_clip_space_w_scaling(load);\n\tload_GL_NV_command_list(load);\n\tload_GL_NV_conditional_render(load);\n\tload_GL_NV_conservative_raster(load);\n\tload_GL_NV_conservative_raster_dilate(load);\n\tload_GL_NV_conservative_raster_pre_snap_triangles(load);\n\tload_GL_NV_copy_image(load);\n\tload_GL_NV_depth_buffer_float(load);\n\tload_GL_NV_draw_texture(load);\n\tload_GL_NV_draw_vulkan_image(load);\n\tload_GL_NV_evaluators(load);\n\tload_GL_NV_explicit_multisample(load);\n\tload_GL_NV_fence(load);\n\tload_GL_NV_fragment_coverage_to_color(load);\n\tload_GL_NV_fragment_program(load);\n\tload_GL_NV_framebuffer_mixed_samples(load);\n\tload_GL_NV_framebuffer_multisample_coverage(load);\n\tload_GL_NV_geometry_program4(load);\n\tload_GL_NV_gpu_multicast(load);\n\tload_GL_NV_gpu_program4(load);\n\tload_GL_NV_gpu_program5(load);\n\tload_GL_NV_gpu_shader5(load);\n\tload_GL_NV_half_float(load);\n\tload_GL_NV_internalformat_sample_query(load);\n\tload_GL_NV_occlusion_query(load);\n\tload_GL_NV_parameter_buffer_object(load);\n\tload_GL_NV_path_rendering(load);\n\tload_GL_NV_pixel_data_range(load);\n\tload_GL_NV_point_sprite(load);\n\tload_GL_NV_present_video(load);\n\tload_GL_NV_primitive_restart(load);\n\tload_GL_NV_query_resource(load);\n\tload_GL_NV_query_resource_tag(load);\n\tload_GL_NV_register_combiners(load);\n\tload_GL_NV_register_combiners2(load);\n\tload_GL_NV_sample_locations(load);\n\tload_GL_NV_shader_buffer_load(load);\n\tload_GL_NV_texture_barrier(load);\n\tload_GL_NV_texture_multisample(load);\n\tload_GL_NV_transform_feedback(load);\n\tload_GL_NV_transform_feedback2(load);\n\tload_GL_NV_vdpau_interop(load);\n\tload_GL_NV_vertex_array_range(load);\n\tload_GL_NV_vertex_attrib_integer_64bit(load);\n\tload_GL_NV_vertex_buffer_unified_memory(load);\n\tload_GL_NV_vertex_program(load);\n\tload_GL_NV_vertex_program4(load);\n\tload_GL_NV_video_capture(load);\n\tload_GL_NV_viewport_swizzle(load);\n\tload_GL_OES_byte_coordinates(load);\n\tload_GL_OES_fixed_point(load);\n\tload_GL_OES_query_matrix(load);\n\tload_GL_OES_single_precision(load);\n\tload_GL_OVR_multiview(load);\n\tload_GL_PGI_misc_hints(load);\n\tload_GL_SGIS_detail_texture(load);\n\tload_GL_SGIS_fog_function(load);\n\tload_GL_SGIS_multisample(load);\n\tload_GL_SGIS_pixel_texture(load);\n\tload_GL_SGIS_point_parameters(load);\n\tload_GL_SGIS_sharpen_texture(load);\n\tload_GL_SGIS_texture4D(load);\n\tload_GL_SGIS_texture_color_mask(load);\n\tload_GL_SGIS_texture_filter4(load);\n\tload_GL_SGIX_async(load);\n\tload_GL_SGIX_flush_raster(load);\n\tload_GL_SGIX_fragment_lighting(load);\n\tload_GL_SGIX_framezoom(load);\n\tload_GL_SGIX_igloo_interface(load);\n\tload_GL_SGIX_instruments(load);\n\tload_GL_SGIX_list_priority(load);\n\tload_GL_SGIX_pixel_texture(load);\n\tload_GL_SGIX_polynomial_ffd(load);\n\tload_GL_SGIX_reference_plane(load);\n\tload_GL_SGIX_sprite(load);\n\tload_GL_SGIX_tag_sample_buffer(load);\n\tload_GL_SGI_color_table(load);\n\tload_GL_SUNX_constant_data(load);\n\tload_GL_SUN_global_alpha(load);\n\tload_GL_SUN_mesh_array(load);\n\tload_GL_SUN_triangle_list(load);\n\tload_GL_SUN_vertex(load);\n\treturn GLVersion.major != 0 || GLVersion.minor != 0;\n}\n\n"
  },
  {
    "path": "external/nvapi/include/NvApiDriverSettings.c",
    "content": "/***************************************************************************\\\n|*                                                                           *|\n|*      Copyright NVIDIA Corporation.  All rights reserved.                  *|\n|*                                                                           *|\n|*   NOTICE TO USER:                                                         *|\n|*                                                                           *|\n|*   This source code is subject to NVIDIA ownership rights under U.S.       *|\n|*   and international Copyright laws.  Users and possessors of this         *|\n|*   source code are hereby granted a nonexclusive, royalty-free             *|\n|*   license to use this code in individual and commercial software.         *|\n|*                                                                           *|\n|*   NVIDIA MAKES NO REPRESENTATION ABOUT THE SUITABILITY OF THIS SOURCE     *|\n|*   CODE FOR ANY PURPOSE. IT IS PROVIDED \"AS IS\" WITHOUT EXPRESS OR         *|\n|*   IMPLIED WARRANTY OF ANY KIND. NVIDIA DISCLAIMS ALL WARRANTIES WITH      *|\n|*   REGARD TO THIS SOURCE CODE, INCLUDING ALL IMPLIED WARRANTIES OF         *|\n|*   MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR          *|\n|*   PURPOSE. IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY SPECIAL,            *|\n|*   INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES          *|\n|*   WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN      *|\n|*   AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING     *|\n|*   OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOURCE      *|\n|*   CODE.                                                                   *|\n|*                                                                           *|\n|*   U.S. Government End Users. This source code is a \"commercial item\"      *|\n|*   as that term is defined at 48 C.F.R. 2.101 (OCT 1995), consisting       *|\n|*   of \"commercial computer  software\" and \"commercial computer software    *|\n|*   documentation\" as such terms are used in 48 C.F.R. 12.212 (SEPT 1995)   *|\n|*   and is provided to the U.S. Government only as a commercial end item.   *|\n|*   Consistent with 48 C.F.R.12.212 and 48 C.F.R. 227.7202-1 through        *|\n|*   227.7202-4 (JUNE 1995), all U.S. Government End Users acquire the       *|\n|*   source code with only those rights set forth herein.                    *|\n|*                                                                           *|\n|*   Any use of this source code in individual and commercial software must  *|\n|*   include, in the user documentation and internal comments to the code,   *|\n|*   the above Disclaimer and U.S. Government End Users Notice.              *|\n|*                                                                           *|\n|*                                                                           *|\n\\***************************************************************************/\n\n#include \"NvApiDriverSettings.h\"\n\nEValues_OGL_AA_LINE_GAMMA g_valuesOGL_AA_LINE_GAMMA[OGL_AA_LINE_GAMMA_NUM_VALUES] = \n{\n    OGL_AA_LINE_GAMMA_DISABLED,\n    OGL_AA_LINE_GAMMA_ENABLED,\n    OGL_AA_LINE_GAMMA_MIN,\n    OGL_AA_LINE_GAMMA_MAX,\n};\n\nEValues_OGL_DEEP_COLOR_SCANOUT g_valuesOGL_DEEP_COLOR_SCANOUT[OGL_DEEP_COLOR_SCANOUT_NUM_VALUES] = \n{\n    OGL_DEEP_COLOR_SCANOUT_DISABLE,\n    OGL_DEEP_COLOR_SCANOUT_ENABLE,\n};\n\nEValues_OGL_DEFAULT_SWAP_INTERVAL g_valuesOGL_DEFAULT_SWAP_INTERVAL[OGL_DEFAULT_SWAP_INTERVAL_NUM_VALUES] = \n{\n    OGL_DEFAULT_SWAP_INTERVAL_TEAR,\n    OGL_DEFAULT_SWAP_INTERVAL_VSYNC_ONE,\n    OGL_DEFAULT_SWAP_INTERVAL_VSYNC,\n    OGL_DEFAULT_SWAP_INTERVAL_VALUE_MASK,\n    OGL_DEFAULT_SWAP_INTERVAL_FORCE_MASK,\n    OGL_DEFAULT_SWAP_INTERVAL_FORCE_OFF,\n    OGL_DEFAULT_SWAP_INTERVAL_FORCE_ON,\n    OGL_DEFAULT_SWAP_INTERVAL_APP_CONTROLLED,\n    OGL_DEFAULT_SWAP_INTERVAL_DISABLE,\n};\n\nEValues_OGL_DEFAULT_SWAP_INTERVAL_FRACTIONAL g_valuesOGL_DEFAULT_SWAP_INTERVAL_FRACTIONAL[OGL_DEFAULT_SWAP_INTERVAL_FRACTIONAL_NUM_VALUES] = \n{\n    OGL_DEFAULT_SWAP_INTERVAL_FRACTIONAL_ZERO_SCANLINES,\n    OGL_DEFAULT_SWAP_INTERVAL_FRACTIONAL_ONE_FULL_FRAME_OF_SCANLINES,\n};\n\nEValues_OGL_DEFAULT_SWAP_INTERVAL_SIGN g_valuesOGL_DEFAULT_SWAP_INTERVAL_SIGN[OGL_DEFAULT_SWAP_INTERVAL_SIGN_NUM_VALUES] = \n{\n    OGL_DEFAULT_SWAP_INTERVAL_SIGN_POSITIVE,\n    OGL_DEFAULT_SWAP_INTERVAL_SIGN_NEGATIVE,\n};\n\nEValues_OGL_EVENT_LOG_SEVERITY_THRESHOLD g_valuesOGL_EVENT_LOG_SEVERITY_THRESHOLD[OGL_EVENT_LOG_SEVERITY_THRESHOLD_NUM_VALUES] = \n{\n    OGL_EVENT_LOG_SEVERITY_THRESHOLD_DISABLE,\n    OGL_EVENT_LOG_SEVERITY_THRESHOLD_CRITICAL,\n    OGL_EVENT_LOG_SEVERITY_THRESHOLD_WARNING,\n    OGL_EVENT_LOG_SEVERITY_THRESHOLD_INFORMATION,\n    OGL_EVENT_LOG_SEVERITY_THRESHOLD_ALL,\n};\n\nEValues_OGL_FORCE_BLIT g_valuesOGL_FORCE_BLIT[OGL_FORCE_BLIT_NUM_VALUES] = \n{\n    OGL_FORCE_BLIT_ON,\n    OGL_FORCE_BLIT_OFF,\n};\n\nEValues_OGL_FORCE_STEREO g_valuesOGL_FORCE_STEREO[OGL_FORCE_STEREO_NUM_VALUES] = \n{\n    OGL_FORCE_STEREO_OFF,\n    OGL_FORCE_STEREO_ON,\n};\n\nconst wchar_t * g_valuesOGL_IMPLICIT_GPU_AFFINITY[OGL_IMPLICIT_GPU_AFFINITY_NUM_VALUES] = \n{\n    OGL_IMPLICIT_GPU_AFFINITY_AUTOSELECT\n};\n\nEValues_OGL_MULTIMON g_valuesOGL_MULTIMON[OGL_MULTIMON_NUM_VALUES] = \n{\n    OGL_MULTIMON_SINGLE_MONITOR,\n    OGL_MULTIMON_COMPATIBILITY_LCD,\n    OGL_MULTIMON_COMPATIBILITY_GCD,\n    OGL_MULTIMON_PERFORMANCE_LCD,\n    OGL_MULTIMON_PERFORMANCE_GCD,\n    OGL_MULTIMON_EXTENDED_SINGLE_MONITOR,\n    OGL_MULTIMON_PERFORMANCE_QUADRO,\n    OGL_MULTIMON_MULTIMON_BUFFER,\n};\n\nEValues_OGL_OVERLAY_PIXEL_TYPE g_valuesOGL_OVERLAY_PIXEL_TYPE[OGL_OVERLAY_PIXEL_TYPE_NUM_VALUES] = \n{\n    OGL_OVERLAY_PIXEL_TYPE_NONE,\n    OGL_OVERLAY_PIXEL_TYPE_CI,\n    OGL_OVERLAY_PIXEL_TYPE_RGBA,\n    OGL_OVERLAY_PIXEL_TYPE_CI_AND_RGBA,\n};\n\nEValues_OGL_OVERLAY_SUPPORT g_valuesOGL_OVERLAY_SUPPORT[OGL_OVERLAY_SUPPORT_NUM_VALUES] = \n{\n    OGL_OVERLAY_SUPPORT_OFF,\n    OGL_OVERLAY_SUPPORT_ON,\n    OGL_OVERLAY_SUPPORT_FORCE_SW,\n};\n\nEValues_OGL_QUALITY_ENHANCEMENTS g_valuesOGL_QUALITY_ENHANCEMENTS[OGL_QUALITY_ENHANCEMENTS_NUM_VALUES] = \n{\n    OGL_QUALITY_ENHANCEMENTS_HQUAL,\n    OGL_QUALITY_ENHANCEMENTS_QUAL,\n    OGL_QUALITY_ENHANCEMENTS_PERF,\n    OGL_QUALITY_ENHANCEMENTS_HPERF,\n};\n\nEValues_OGL_SINGLE_BACKDEPTH_BUFFER g_valuesOGL_SINGLE_BACKDEPTH_BUFFER[OGL_SINGLE_BACKDEPTH_BUFFER_NUM_VALUES] = \n{\n    OGL_SINGLE_BACKDEPTH_BUFFER_DISABLE,\n    OGL_SINGLE_BACKDEPTH_BUFFER_ENABLE,\n    OGL_SINGLE_BACKDEPTH_BUFFER_USE_HW_DEFAULT,\n};\n\nEValues_OGL_SLI_MULTICAST g_valuesOGL_SLI_MULTICAST[OGL_SLI_MULTICAST_NUM_VALUES] = \n{\n    OGL_SLI_MULTICAST_DISABLE,\n    OGL_SLI_MULTICAST_ENABLE,\n    OGL_SLI_MULTICAST_FORCE_DISABLE,\n};\n\nEValues_OGL_THREAD_CONTROL g_valuesOGL_THREAD_CONTROL[OGL_THREAD_CONTROL_NUM_VALUES] = \n{\n    OGL_THREAD_CONTROL_ENABLE,\n    OGL_THREAD_CONTROL_DISABLE,\n};\n\nEValues_OGL_TMON_LEVEL g_valuesOGL_TMON_LEVEL[OGL_TMON_LEVEL_NUM_VALUES] = \n{\n    OGL_TMON_LEVEL_DISABLE,\n    OGL_TMON_LEVEL_CRITICAL,\n    OGL_TMON_LEVEL_WARNING,\n    OGL_TMON_LEVEL_INFORMATION,\n    OGL_TMON_LEVEL_MOST,\n    OGL_TMON_LEVEL_VERBOSE,\n};\n\nEValues_OGL_TRIPLE_BUFFER g_valuesOGL_TRIPLE_BUFFER[OGL_TRIPLE_BUFFER_NUM_VALUES] = \n{\n    OGL_TRIPLE_BUFFER_DISABLED,\n    OGL_TRIPLE_BUFFER_ENABLED,\n};\n\nEValues_AA_BEHAVIOR_FLAGS g_valuesAA_BEHAVIOR_FLAGS[AA_BEHAVIOR_FLAGS_NUM_VALUES] = \n{\n    AA_BEHAVIOR_FLAGS_NONE,\n    AA_BEHAVIOR_FLAGS_TREAT_OVERRIDE_AS_APP_CONTROLLED,\n    AA_BEHAVIOR_FLAGS_TREAT_OVERRIDE_AS_ENHANCE,\n    AA_BEHAVIOR_FLAGS_DISABLE_OVERRIDE,\n    AA_BEHAVIOR_FLAGS_TREAT_ENHANCE_AS_APP_CONTROLLED,\n    AA_BEHAVIOR_FLAGS_TREAT_ENHANCE_AS_OVERRIDE,\n    AA_BEHAVIOR_FLAGS_DISABLE_ENHANCE,\n    AA_BEHAVIOR_FLAGS_MAP_VCAA_TO_MULTISAMPLING,\n    AA_BEHAVIOR_FLAGS_SLI_DISABLE_TRANSPARENCY_SUPERSAMPLING,\n    AA_BEHAVIOR_FLAGS_DISABLE_CPLAA,\n    AA_BEHAVIOR_FLAGS_SKIP_RT_DIM_CHECK_FOR_ENHANCE,\n    AA_BEHAVIOR_FLAGS_DISABLE_SLIAA,\n    AA_BEHAVIOR_FLAGS_DEFAULT,\n    AA_BEHAVIOR_FLAGS_AA_RT_BPP_DIV_4,\n    AA_BEHAVIOR_FLAGS_AA_RT_BPP_DIV_4_SHIFT,\n    AA_BEHAVIOR_FLAGS_NON_AA_RT_BPP_DIV_4,\n    AA_BEHAVIOR_FLAGS_NON_AA_RT_BPP_DIV_4_SHIFT,\n    AA_BEHAVIOR_FLAGS_MASK,\n};\n\nEValues_AA_MODE_ALPHATOCOVERAGE g_valuesAA_MODE_ALPHATOCOVERAGE[AA_MODE_ALPHATOCOVERAGE_NUM_VALUES] = \n{\n    AA_MODE_ALPHATOCOVERAGE_MODE_MASK,\n    AA_MODE_ALPHATOCOVERAGE_MODE_OFF,\n    AA_MODE_ALPHATOCOVERAGE_MODE_ON,\n    AA_MODE_ALPHATOCOVERAGE_MODE_MAX,\n};\n\nEValues_AA_MODE_GAMMACORRECTION g_valuesAA_MODE_GAMMACORRECTION[AA_MODE_GAMMACORRECTION_NUM_VALUES] = \n{\n    AA_MODE_GAMMACORRECTION_MASK,\n    AA_MODE_GAMMACORRECTION_OFF,\n    AA_MODE_GAMMACORRECTION_ON_IF_FOS,\n    AA_MODE_GAMMACORRECTION_ON_ALWAYS,\n    AA_MODE_GAMMACORRECTION_MAX,\n    AA_MODE_GAMMACORRECTION_DEFAULT,\n    AA_MODE_GAMMACORRECTION_DEFAULT_TESLA,\n    AA_MODE_GAMMACORRECTION_DEFAULT_FERMI,\n};\n\nEValues_AA_MODE_METHOD g_valuesAA_MODE_METHOD[AA_MODE_METHOD_NUM_VALUES] = \n{\n    AA_MODE_METHOD_NONE,\n    AA_MODE_METHOD_SUPERSAMPLE_2X_H,\n    AA_MODE_METHOD_SUPERSAMPLE_2X_V,\n    AA_MODE_METHOD_SUPERSAMPLE_1_5X1_5,\n    AA_MODE_METHOD_FREE_0x03,\n    AA_MODE_METHOD_FREE_0x04,\n    AA_MODE_METHOD_SUPERSAMPLE_4X,\n    AA_MODE_METHOD_SUPERSAMPLE_4X_BIAS,\n    AA_MODE_METHOD_SUPERSAMPLE_4X_GAUSSIAN,\n    AA_MODE_METHOD_FREE_0x08,\n    AA_MODE_METHOD_FREE_0x09,\n    AA_MODE_METHOD_SUPERSAMPLE_9X,\n    AA_MODE_METHOD_SUPERSAMPLE_9X_BIAS,\n    AA_MODE_METHOD_SUPERSAMPLE_16X,\n    AA_MODE_METHOD_SUPERSAMPLE_16X_BIAS,\n    AA_MODE_METHOD_MULTISAMPLE_2X_DIAGONAL,\n    AA_MODE_METHOD_MULTISAMPLE_2X_QUINCUNX,\n    AA_MODE_METHOD_MULTISAMPLE_4X,\n    AA_MODE_METHOD_FREE_0x11,\n    AA_MODE_METHOD_MULTISAMPLE_4X_GAUSSIAN,\n    AA_MODE_METHOD_MIXEDSAMPLE_4X_SKEWED_4TAP,\n    AA_MODE_METHOD_FREE_0x14,\n    AA_MODE_METHOD_FREE_0x15,\n    AA_MODE_METHOD_MIXEDSAMPLE_6X,\n    AA_MODE_METHOD_MIXEDSAMPLE_6X_SKEWED_6TAP,\n    AA_MODE_METHOD_MIXEDSAMPLE_8X,\n    AA_MODE_METHOD_MIXEDSAMPLE_8X_SKEWED_8TAP,\n    AA_MODE_METHOD_MIXEDSAMPLE_16X,\n    AA_MODE_METHOD_MULTISAMPLE_4X_GAMMA,\n    AA_MODE_METHOD_MULTISAMPLE_16X,\n    AA_MODE_METHOD_VCAA_32X_8v24,\n    AA_MODE_METHOD_CORRUPTION_CHECK,\n    AA_MODE_METHOD_6X_CT,\n    AA_MODE_METHOD_MULTISAMPLE_2X_DIAGONAL_GAMMA,\n    AA_MODE_METHOD_SUPERSAMPLE_4X_GAMMA,\n    AA_MODE_METHOD_MULTISAMPLE_4X_FOSGAMMA,\n    AA_MODE_METHOD_MULTISAMPLE_2X_DIAGONAL_FOSGAMMA,\n    AA_MODE_METHOD_SUPERSAMPLE_4X_FOSGAMMA,\n    AA_MODE_METHOD_MULTISAMPLE_8X,\n    AA_MODE_METHOD_VCAA_8X_4v4,\n    AA_MODE_METHOD_VCAA_16X_4v12,\n    AA_MODE_METHOD_VCAA_16X_8v8,\n    AA_MODE_METHOD_MIXEDSAMPLE_32X,\n    AA_MODE_METHOD_SUPERVCAA_64X_4v12,\n    AA_MODE_METHOD_SUPERVCAA_64X_8v8,\n    AA_MODE_METHOD_MIXEDSAMPLE_64X,\n    AA_MODE_METHOD_MIXEDSAMPLE_128X,\n    AA_MODE_METHOD_COUNT,\n    AA_MODE_METHOD_METHOD_MASK,\n    AA_MODE_METHOD_METHOD_MAX,\n};\n\nEValues_AA_MODE_REPLAY g_valuesAA_MODE_REPLAY[AA_MODE_REPLAY_NUM_VALUES] = \n{\n    AA_MODE_REPLAY_SAMPLES_MASK,\n    AA_MODE_REPLAY_SAMPLES_ONE,\n    AA_MODE_REPLAY_SAMPLES_TWO,\n    AA_MODE_REPLAY_SAMPLES_FOUR,\n    AA_MODE_REPLAY_SAMPLES_EIGHT,\n    AA_MODE_REPLAY_SAMPLES_MAX,\n    AA_MODE_REPLAY_MODE_MASK,\n    AA_MODE_REPLAY_MODE_OFF,\n    AA_MODE_REPLAY_MODE_ALPHA_TEST,\n    AA_MODE_REPLAY_MODE_PIXEL_KILL,\n    AA_MODE_REPLAY_MODE_DYN_BRANCH,\n    AA_MODE_REPLAY_MODE_OPTIMAL,\n    AA_MODE_REPLAY_MODE_ALL,\n    AA_MODE_REPLAY_MODE_MAX,\n    AA_MODE_REPLAY_TRANSPARENCY,\n    AA_MODE_REPLAY_DISALLOW_TRAA,\n    AA_MODE_REPLAY_TRANSPARENCY_DEFAULT,\n    AA_MODE_REPLAY_TRANSPARENCY_DEFAULT_TESLA,\n    AA_MODE_REPLAY_TRANSPARENCY_DEFAULT_FERMI,\n    AA_MODE_REPLAY_MASK,\n};\n\nEValues_AA_MODE_SELECTOR g_valuesAA_MODE_SELECTOR[AA_MODE_SELECTOR_NUM_VALUES] = \n{\n    AA_MODE_SELECTOR_MASK,\n    AA_MODE_SELECTOR_APP_CONTROL,\n    AA_MODE_SELECTOR_OVERRIDE,\n    AA_MODE_SELECTOR_ENHANCE,\n    AA_MODE_SELECTOR_MAX,\n};\n\nEValues_AA_MODE_SELECTOR_SLIAA g_valuesAA_MODE_SELECTOR_SLIAA[AA_MODE_SELECTOR_SLIAA_NUM_VALUES] = \n{\n    AA_MODE_SELECTOR_SLIAA_DISABLED,\n    AA_MODE_SELECTOR_SLIAA_ENABLED,\n};\n\nEValues_ANISO_MODE_LEVEL g_valuesANISO_MODE_LEVEL[ANISO_MODE_LEVEL_NUM_VALUES] = \n{\n    ANISO_MODE_LEVEL_MASK,\n    ANISO_MODE_LEVEL_NONE_POINT,\n    ANISO_MODE_LEVEL_NONE_LINEAR,\n    ANISO_MODE_LEVEL_MAX,\n    ANISO_MODE_LEVEL_DEFAULT,\n};\n\nEValues_ANISO_MODE_SELECTOR g_valuesANISO_MODE_SELECTOR[ANISO_MODE_SELECTOR_NUM_VALUES] = \n{\n    ANISO_MODE_SELECTOR_MASK,\n    ANISO_MODE_SELECTOR_APP,\n    ANISO_MODE_SELECTOR_USER,\n    ANISO_MODE_SELECTOR_COND,\n    ANISO_MODE_SELECTOR_MAX,\n    ANISO_MODE_SELECTOR_DEFAULT,\n};\n\nEValues_ANSEL_ALLOW g_valuesANSEL_ALLOW[ANSEL_ALLOW_NUM_VALUES] = \n{\n    ANSEL_ALLOW_DISALLOWED,\n    ANSEL_ALLOW_ALLOWED,\n};\n\nEValues_ANSEL_ENABLE g_valuesANSEL_ENABLE[ANSEL_ENABLE_NUM_VALUES] = \n{\n    ANSEL_ENABLE_OFF,\n    ANSEL_ENABLE_ON,\n};\n\nEValues_ANSEL_WHITELISTED g_valuesANSEL_WHITELISTED[ANSEL_WHITELISTED_NUM_VALUES] = \n{\n    ANSEL_WHITELISTED_DISALLOWED,\n    ANSEL_WHITELISTED_ALLOWED,\n};\n\nEValues_APPLICATION_PROFILE_NOTIFICATION_TIMEOUT g_valuesAPPLICATION_PROFILE_NOTIFICATION_TIMEOUT[APPLICATION_PROFILE_NOTIFICATION_TIMEOUT_NUM_VALUES] = \n{\n    APPLICATION_PROFILE_NOTIFICATION_TIMEOUT_DISABLED,\n    APPLICATION_PROFILE_NOTIFICATION_TIMEOUT_NINE_SECONDS,\n    APPLICATION_PROFILE_NOTIFICATION_TIMEOUT_FIFTEEN_SECONDS,\n    APPLICATION_PROFILE_NOTIFICATION_TIMEOUT_THIRTY_SECONDS,\n    APPLICATION_PROFILE_NOTIFICATION_TIMEOUT_ONE_MINUTE,\n    APPLICATION_PROFILE_NOTIFICATION_TIMEOUT_TWO_MINUTES,\n};\n\nEValues_BATTERY_BOOST g_valuesBATTERY_BOOST[BATTERY_BOOST_NUM_VALUES] = \n{\n    BATTERY_BOOST_MIN,\n    BATTERY_BOOST_MAX,\n    BATTERY_BOOST_ENABLED,\n    BATTERY_BOOST_DISABLED,\n};\n\nEValues_CPL_HIDDEN_PROFILE g_valuesCPL_HIDDEN_PROFILE[CPL_HIDDEN_PROFILE_NUM_VALUES] = \n{\n    CPL_HIDDEN_PROFILE_DISABLED,\n    CPL_HIDDEN_PROFILE_ENABLED,\n};\n\nconst wchar_t * g_valuesCUDA_EXCLUDED_GPUS[CUDA_EXCLUDED_GPUS_NUM_VALUES] = \n{\n    CUDA_EXCLUDED_GPUS_NONE\n};\n\nconst wchar_t * g_valuesD3DOGL_GPU_MAX_POWER[D3DOGL_GPU_MAX_POWER_NUM_VALUES] = \n{\n    D3DOGL_GPU_MAX_POWER_DEFAULTPOWER\n};\n\nEValues_EXPORT_PERF_COUNTERS g_valuesEXPORT_PERF_COUNTERS[EXPORT_PERF_COUNTERS_NUM_VALUES] = \n{\n    EXPORT_PERF_COUNTERS_OFF,\n    EXPORT_PERF_COUNTERS_ON,\n};\n\nEValues_FXAA_ALLOW g_valuesFXAA_ALLOW[FXAA_ALLOW_NUM_VALUES] = \n{\n    FXAA_ALLOW_DISALLOWED,\n    FXAA_ALLOW_ALLOWED,\n};\n\nEValues_FXAA_ENABLE g_valuesFXAA_ENABLE[FXAA_ENABLE_NUM_VALUES] = \n{\n    FXAA_ENABLE_OFF,\n    FXAA_ENABLE_ON,\n};\n\nEValues_FXAA_INDICATOR_ENABLE g_valuesFXAA_INDICATOR_ENABLE[FXAA_INDICATOR_ENABLE_NUM_VALUES] = \n{\n    FXAA_INDICATOR_ENABLE_OFF,\n    FXAA_INDICATOR_ENABLE_ON,\n};\n\nEValues_MCSFRSHOWSPLIT g_valuesMCSFRSHOWSPLIT[MCSFRSHOWSPLIT_NUM_VALUES] = \n{\n    MCSFRSHOWSPLIT_DISABLED,\n    MCSFRSHOWSPLIT_ENABLED,\n};\n\nEValues_NV_QUALITY_UPSCALING g_valuesNV_QUALITY_UPSCALING[NV_QUALITY_UPSCALING_NUM_VALUES] = \n{\n    NV_QUALITY_UPSCALING_OFF,\n    NV_QUALITY_UPSCALING_ON,\n};\n\nEValues_OPTIMUS_MAXAA g_valuesOPTIMUS_MAXAA[OPTIMUS_MAXAA_NUM_VALUES] = \n{\n    OPTIMUS_MAXAA_MIN,\n    OPTIMUS_MAXAA_MAX,\n};\n\nEValues_PHYSXINDICATOR g_valuesPHYSXINDICATOR[PHYSXINDICATOR_NUM_VALUES] = \n{\n    PHYSXINDICATOR_DISABLED,\n    PHYSXINDICATOR_ENABLED,\n};\n\nEValues_PREFERRED_PSTATE g_valuesPREFERRED_PSTATE[PREFERRED_PSTATE_NUM_VALUES] = \n{\n    PREFERRED_PSTATE_ADAPTIVE,\n    PREFERRED_PSTATE_PREFER_MAX,\n    PREFERRED_PSTATE_DRIVER_CONTROLLED,\n    PREFERRED_PSTATE_PREFER_CONSISTENT_PERFORMANCE,\n    PREFERRED_PSTATE_PREFER_MIN,\n    PREFERRED_PSTATE_OPTIMAL_POWER,\n    PREFERRED_PSTATE_MIN,\n    PREFERRED_PSTATE_MAX,\n};\n\nEValues_PREVENT_UI_AF_OVERRIDE g_valuesPREVENT_UI_AF_OVERRIDE[PREVENT_UI_AF_OVERRIDE_NUM_VALUES] = \n{\n    PREVENT_UI_AF_OVERRIDE_OFF,\n    PREVENT_UI_AF_OVERRIDE_ON,\n};\n\nEValues_PS_FRAMERATE_LIMITER g_valuesPS_FRAMERATE_LIMITER[PS_FRAMERATE_LIMITER_NUM_VALUES] = \n{\n    PS_FRAMERATE_LIMITER_DISABLED,\n    PS_FRAMERATE_LIMITER_FPS_20,\n    PS_FRAMERATE_LIMITER_FPS_30,\n    PS_FRAMERATE_LIMITER_FPS_40,\n    PS_FRAMERATE_LIMITER_FPSMASK,\n    PS_FRAMERATE_LIMITER_FRL2,\n    PS_FRAMERATE_LIMITER_LOWER_FPS_TO_ALIGN,\n    PS_FRAMERATE_LIMITER_FORCE_VSYNC_OFF,\n    PS_FRAMERATE_LIMITER_GPS_WEB,\n    PS_FRAMERATE_LIMITER_FORCE_OPTIMUS_POLICY,\n    PS_FRAMERATE_LIMITER_DISALLOWED,\n    PS_FRAMERATE_LIMITER_USE_CPU_WAIT,\n    PS_FRAMERATE_LIMITER_THRESHOLD,\n    PS_FRAMERATE_LIMITER_TEMPERATURE,\n    PS_FRAMERATE_LIMITER_POWER,\n    PS_FRAMERATE_LIMITER_MODEMASK,\n    PS_FRAMERATE_LIMITER_ACCURATE,\n    PS_FRAMERATE_LIMITER_ALLOW_WINDOWED,\n    PS_FRAMERATE_LIMITER_FORCEON,\n    PS_FRAMERATE_LIMITER_ENABLED,\n    PS_FRAMERATE_LIMITER_OPENGL_REMOTE_DESKTOP,\n    PS_FRAMERATE_LIMITER_MASK,\n};\n\nEValues_PS_FRAMERATE_LIMITER_2_CONTROL g_valuesPS_FRAMERATE_LIMITER_2_CONTROL[PS_FRAMERATE_LIMITER_2_CONTROL_NUM_VALUES] = \n{\n    PS_FRAMERATE_LIMITER_2_CONTROL_DELAY_CE,\n    PS_FRAMERATE_LIMITER_2_CONTROL_DELAY_3D,\n    PS_FRAMERATE_LIMITER_2_CONTROL_AVOID_NOOP,\n    PS_FRAMERATE_LIMITER_2_CONTROL_DELAY_FLIP_BY_FLIPMETERING,\n    PS_FRAMERATE_LIMITER_2_CONTROL_DELAY_CE_PRESENT_3D,\n    PS_FRAMERATE_LIMITER_2_CONTROL_ALLOW_ALL_MAXWELL,\n    PS_FRAMERATE_LIMITER_2_CONTROL_ALLOW_ALL,\n    PS_FRAMERATE_LIMITER_2_CONTROL_FORCE_OFF,\n    PS_FRAMERATE_LIMITER_2_CONTROL_DEFAULT_FOR_GM10X,\n};\n\nEValues_PS_FRAMERATE_LIMITER_GPS_CTRL g_valuesPS_FRAMERATE_LIMITER_GPS_CTRL[PS_FRAMERATE_LIMITER_GPS_CTRL_NUM_VALUES] = \n{\n    PS_FRAMERATE_LIMITER_GPS_CTRL_DISABLED,\n    PS_FRAMERATE_LIMITER_GPS_CTRL_DECREASE_FILTER_MASK,\n    PS_FRAMERATE_LIMITER_GPS_CTRL_PAUSE_TIME_MASK,\n    PS_FRAMERATE_LIMITER_GPS_CTRL_PAUSE_TIME_SHIFT,\n    PS_FRAMERATE_LIMITER_GPS_CTRL_TARGET_RENDER_TIME_MASK,\n    PS_FRAMERATE_LIMITER_GPS_CTRL_TARGET_RENDER_TIME_SHIFT,\n    PS_FRAMERATE_LIMITER_GPS_CTRL_PERF_STEP_SIZE_MASK,\n    PS_FRAMERATE_LIMITER_GPS_CTRL_PERF_STEP_SIZE_SHIFT,\n    PS_FRAMERATE_LIMITER_GPS_CTRL_INCREASE_FILTER_MASK,\n    PS_FRAMERATE_LIMITER_GPS_CTRL_INCREASE_FILTER_SHIFT,\n    PS_FRAMERATE_LIMITER_GPS_CTRL_OPTIMAL_SETTING,\n};\n\nEValues_PS_FRAMERATE_MONITOR_CTRL g_valuesPS_FRAMERATE_MONITOR_CTRL[PS_FRAMERATE_MONITOR_CTRL_NUM_VALUES] = \n{\n    PS_FRAMERATE_MONITOR_CTRL_DISABLED,\n    PS_FRAMERATE_MONITOR_CTRL_THRESHOLD_PCT_MASK,\n    PS_FRAMERATE_MONITOR_CTRL_MOVING_AVG_X_MASK,\n    PS_FRAMERATE_MONITOR_CTRL_MOVING_AVG_X_SHIFT,\n    PS_FRAMERATE_MONITOR_CTRL_ENABLE_FINE_GRAINED,\n    PS_FRAMERATE_MONITOR_CTRL_ENABLE_ON_VSYNC,\n    PS_FRAMERATE_MONITOR_CTRL_VSYNC_OFFSET_MASK,\n    PS_FRAMERATE_MONITOR_CTRL_VSYNC_OFFSET_SHIFT,\n    PS_FRAMERATE_MONITOR_CTRL_FPS_USE_FRL,\n    PS_FRAMERATE_MONITOR_CTRL_FPS_30,\n    PS_FRAMERATE_MONITOR_CTRL_FPS_60,\n    PS_FRAMERATE_MONITOR_CTRL_FPS_MASK,\n    PS_FRAMERATE_MONITOR_CTRL_FPS_SHIFT,\n    PS_FRAMERATE_MONITOR_CTRL_OPTIMAL_SETTING,\n    PS_FRAMERATE_MONITOR_CTRL_VSYNC_OPTIMAL_SETTING,\n};\n\nEValues_SHIM_MCCOMPAT g_valuesSHIM_MCCOMPAT[SHIM_MCCOMPAT_NUM_VALUES] = \n{\n    SHIM_MCCOMPAT_INTEGRATED,\n    SHIM_MCCOMPAT_ENABLE,\n    SHIM_MCCOMPAT_USER_EDITABLE,\n    SHIM_MCCOMPAT_MASK,\n    SHIM_MCCOMPAT_VIDEO_MASK,\n    SHIM_MCCOMPAT_VARYING_BIT,\n    SHIM_MCCOMPAT_AUTO_SELECT,\n    SHIM_MCCOMPAT_OVERRIDE_BIT,\n};\n\nEValues_SHIM_RENDERING_MODE g_valuesSHIM_RENDERING_MODE[SHIM_RENDERING_MODE_NUM_VALUES] = \n{\n    SHIM_RENDERING_MODE_INTEGRATED,\n    SHIM_RENDERING_MODE_ENABLE,\n    SHIM_RENDERING_MODE_USER_EDITABLE,\n    SHIM_RENDERING_MODE_MASK,\n    SHIM_RENDERING_MODE_VIDEO_MASK,\n    SHIM_RENDERING_MODE_VARYING_BIT,\n    SHIM_RENDERING_MODE_AUTO_SELECT,\n    SHIM_RENDERING_MODE_OVERRIDE_BIT,\n};\n\nEValues_SHIM_RENDERING_OPTIONS g_valuesSHIM_RENDERING_OPTIONS[SHIM_RENDERING_OPTIONS_NUM_VALUES] = \n{\n    SHIM_RENDERING_OPTIONS_DEFAULT_RENDERING_MODE,\n    SHIM_RENDERING_OPTIONS_DISABLE_ASYNC_PRESENT,\n    SHIM_RENDERING_OPTIONS_EHSHELL_DETECT,\n    SHIM_RENDERING_OPTIONS_FLASHPLAYER_HOST_DETECT,\n    SHIM_RENDERING_OPTIONS_VIDEO_DRM_APP_DETECT,\n    SHIM_RENDERING_OPTIONS_IGNORE_OVERRIDES,\n    SHIM_RENDERING_OPTIONS_RESERVED1,\n    SHIM_RENDERING_OPTIONS_ENABLE_DWM_ASYNC_PRESENT,\n    SHIM_RENDERING_OPTIONS_RESERVED2,\n    SHIM_RENDERING_OPTIONS_ALLOW_INHERITANCE,\n    SHIM_RENDERING_OPTIONS_DISABLE_WRAPPERS,\n    SHIM_RENDERING_OPTIONS_DISABLE_DXGI_WRAPPERS,\n    SHIM_RENDERING_OPTIONS_PRUNE_UNSUPPORTED_FORMATS,\n    SHIM_RENDERING_OPTIONS_ENABLE_ALPHA_FORMAT,\n    SHIM_RENDERING_OPTIONS_IGPU_TRANSCODING,\n    SHIM_RENDERING_OPTIONS_DISABLE_CUDA,\n    SHIM_RENDERING_OPTIONS_ALLOW_CP_CAPS_FOR_VIDEO,\n    SHIM_RENDERING_OPTIONS_IGPU_TRANSCODING_FWD_OPTIMUS,\n    SHIM_RENDERING_OPTIONS_DISABLE_DURING_SECURE_BOOT,\n    SHIM_RENDERING_OPTIONS_INVERT_FOR_QUADRO,\n    SHIM_RENDERING_OPTIONS_INVERT_FOR_MSHYBRID,\n    SHIM_RENDERING_OPTIONS_REGISTER_PROCESS_ENABLE_GOLD,\n    SHIM_RENDERING_OPTIONS_HANDLE_WINDOWED_MODE_PERF_OPT,\n    SHIM_RENDERING_OPTIONS_HANDLE_WIN7_ASYNC_RUNTIME_BUG,\n};\n\nEValues_SLI_GPU_COUNT g_valuesSLI_GPU_COUNT[SLI_GPU_COUNT_NUM_VALUES] = \n{\n    SLI_GPU_COUNT_AUTOSELECT,\n    SLI_GPU_COUNT_ONE,\n    SLI_GPU_COUNT_TWO,\n    SLI_GPU_COUNT_THREE,\n    SLI_GPU_COUNT_FOUR,\n};\n\nEValues_SLI_PREDEFINED_GPU_COUNT g_valuesSLI_PREDEFINED_GPU_COUNT[SLI_PREDEFINED_GPU_COUNT_NUM_VALUES] = \n{\n    SLI_PREDEFINED_GPU_COUNT_AUTOSELECT,\n    SLI_PREDEFINED_GPU_COUNT_ONE,\n    SLI_PREDEFINED_GPU_COUNT_TWO,\n    SLI_PREDEFINED_GPU_COUNT_THREE,\n    SLI_PREDEFINED_GPU_COUNT_FOUR,\n};\n\nEValues_SLI_PREDEFINED_GPU_COUNT_DX10 g_valuesSLI_PREDEFINED_GPU_COUNT_DX10[SLI_PREDEFINED_GPU_COUNT_DX10_NUM_VALUES] = \n{\n    SLI_PREDEFINED_GPU_COUNT_DX10_AUTOSELECT,\n    SLI_PREDEFINED_GPU_COUNT_DX10_ONE,\n    SLI_PREDEFINED_GPU_COUNT_DX10_TWO,\n    SLI_PREDEFINED_GPU_COUNT_DX10_THREE,\n    SLI_PREDEFINED_GPU_COUNT_DX10_FOUR,\n};\n\nEValues_SLI_PREDEFINED_MODE g_valuesSLI_PREDEFINED_MODE[SLI_PREDEFINED_MODE_NUM_VALUES] = \n{\n    SLI_PREDEFINED_MODE_AUTOSELECT,\n    SLI_PREDEFINED_MODE_FORCE_SINGLE,\n    SLI_PREDEFINED_MODE_FORCE_AFR,\n    SLI_PREDEFINED_MODE_FORCE_AFR2,\n    SLI_PREDEFINED_MODE_FORCE_SFR,\n    SLI_PREDEFINED_MODE_FORCE_AFR_OF_SFR__FALLBACK_3AFR,\n};\n\nEValues_SLI_PREDEFINED_MODE_DX10 g_valuesSLI_PREDEFINED_MODE_DX10[SLI_PREDEFINED_MODE_DX10_NUM_VALUES] = \n{\n    SLI_PREDEFINED_MODE_DX10_AUTOSELECT,\n    SLI_PREDEFINED_MODE_DX10_FORCE_SINGLE,\n    SLI_PREDEFINED_MODE_DX10_FORCE_AFR,\n    SLI_PREDEFINED_MODE_DX10_FORCE_AFR2,\n    SLI_PREDEFINED_MODE_DX10_FORCE_SFR,\n    SLI_PREDEFINED_MODE_DX10_FORCE_AFR_OF_SFR__FALLBACK_3AFR,\n};\n\nEValues_SLI_RENDERING_MODE g_valuesSLI_RENDERING_MODE[SLI_RENDERING_MODE_NUM_VALUES] = \n{\n    SLI_RENDERING_MODE_AUTOSELECT,\n    SLI_RENDERING_MODE_FORCE_SINGLE,\n    SLI_RENDERING_MODE_FORCE_AFR,\n    SLI_RENDERING_MODE_FORCE_AFR2,\n    SLI_RENDERING_MODE_FORCE_SFR,\n    SLI_RENDERING_MODE_FORCE_AFR_OF_SFR__FALLBACK_3AFR,\n};\n\nEValues_VRPRERENDERLIMIT g_valuesVRPRERENDERLIMIT[VRPRERENDERLIMIT_NUM_VALUES] = \n{\n    VRPRERENDERLIMIT_MIN,\n    VRPRERENDERLIMIT_MAX,\n    VRPRERENDERLIMIT_APP_CONTROLLED,\n    VRPRERENDERLIMIT_DEFAULT,\n};\n\nEValues_VRRFEATUREINDICATOR g_valuesVRRFEATUREINDICATOR[VRRFEATUREINDICATOR_NUM_VALUES] = \n{\n    VRRFEATUREINDICATOR_DISABLED,\n    VRRFEATUREINDICATOR_ENABLED,\n};\n\nEValues_VRROVERLAYINDICATOR g_valuesVRROVERLAYINDICATOR[VRROVERLAYINDICATOR_NUM_VALUES] = \n{\n    VRROVERLAYINDICATOR_DISABLED,\n    VRROVERLAYINDICATOR_ENABLED,\n};\n\nEValues_VRRREQUESTSTATE g_valuesVRRREQUESTSTATE[VRRREQUESTSTATE_NUM_VALUES] = \n{\n    VRRREQUESTSTATE_DISABLED,\n    VRRREQUESTSTATE_FULLSCREEN_ONLY,\n    VRRREQUESTSTATE_FULLSCREEN_AND_WINDOWED,\n};\n\nEValues_VRR_APP_OVERRIDE g_valuesVRR_APP_OVERRIDE[VRR_APP_OVERRIDE_NUM_VALUES] = \n{\n    VRR_APP_OVERRIDE_ALLOW,\n    VRR_APP_OVERRIDE_FORCE_OFF,\n    VRR_APP_OVERRIDE_DISALLOW,\n    VRR_APP_OVERRIDE_ULMB,\n    VRR_APP_OVERRIDE_FIXED_REFRESH,\n};\n\nEValues_VRR_APP_OVERRIDE_REQUEST_STATE g_valuesVRR_APP_OVERRIDE_REQUEST_STATE[VRR_APP_OVERRIDE_REQUEST_STATE_NUM_VALUES] = \n{\n    VRR_APP_OVERRIDE_REQUEST_STATE_ALLOW,\n    VRR_APP_OVERRIDE_REQUEST_STATE_FORCE_OFF,\n    VRR_APP_OVERRIDE_REQUEST_STATE_DISALLOW,\n    VRR_APP_OVERRIDE_REQUEST_STATE_ULMB,\n    VRR_APP_OVERRIDE_REQUEST_STATE_FIXED_REFRESH,\n};\n\nEValues_VRR_MODE g_valuesVRR_MODE[VRR_MODE_NUM_VALUES] = \n{\n    VRR_MODE_DISABLED,\n    VRR_MODE_FULLSCREEN_ONLY,\n    VRR_MODE_FULLSCREEN_AND_WINDOWED,\n};\n\nEValues_VSYNCSMOOTHAFR g_valuesVSYNCSMOOTHAFR[VSYNCSMOOTHAFR_NUM_VALUES] = \n{\n    VSYNCSMOOTHAFR_OFF,\n    VSYNCSMOOTHAFR_ON,\n};\n\nEValues_VSYNCVRRCONTROL g_valuesVSYNCVRRCONTROL[VSYNCVRRCONTROL_NUM_VALUES] = \n{\n    VSYNCVRRCONTROL_DISABLE,\n    VSYNCVRRCONTROL_ENABLE,\n    VSYNCVRRCONTROL_NOTSUPPORTED,\n};\n\nEValues_VSYNC_BEHAVIOR_FLAGS g_valuesVSYNC_BEHAVIOR_FLAGS[VSYNC_BEHAVIOR_FLAGS_NUM_VALUES] = \n{\n    VSYNC_BEHAVIOR_FLAGS_NONE,\n    VSYNC_BEHAVIOR_FLAGS_DEFAULT,\n    VSYNC_BEHAVIOR_FLAGS_IGNORE_FLIPINTERVAL_MULTIPLE,\n};\n\nEValues_WKS_API_STEREO_EYES_EXCHANGE g_valuesWKS_API_STEREO_EYES_EXCHANGE[WKS_API_STEREO_EYES_EXCHANGE_NUM_VALUES] = \n{\n    WKS_API_STEREO_EYES_EXCHANGE_OFF,\n    WKS_API_STEREO_EYES_EXCHANGE_ON,\n};\n\nEValues_WKS_API_STEREO_MODE g_valuesWKS_API_STEREO_MODE[WKS_API_STEREO_MODE_NUM_VALUES] = \n{\n    WKS_API_STEREO_MODE_SHUTTER_GLASSES,\n    WKS_API_STEREO_MODE_VERTICAL_INTERLACED,\n    WKS_API_STEREO_MODE_TWINVIEW,\n    WKS_API_STEREO_MODE_NV17_SHUTTER_GLASSES_AUTO,\n    WKS_API_STEREO_MODE_NV17_SHUTTER_GLASSES_DAC0,\n    WKS_API_STEREO_MODE_NV17_SHUTTER_GLASSES_DAC1,\n    WKS_API_STEREO_MODE_COLOR_LINE,\n    WKS_API_STEREO_MODE_COLOR_INTERLEAVED,\n    WKS_API_STEREO_MODE_ANAGLYPH,\n    WKS_API_STEREO_MODE_HORIZONTAL_INTERLACED,\n    WKS_API_STEREO_MODE_SIDE_FIELD,\n    WKS_API_STEREO_MODE_SUB_FIELD,\n    WKS_API_STEREO_MODE_CHECKERBOARD,\n    WKS_API_STEREO_MODE_INVERSE_CHECKERBOARD,\n    WKS_API_STEREO_MODE_TRIDELITY_SL,\n    WKS_API_STEREO_MODE_TRIDELITY_MV,\n    WKS_API_STEREO_MODE_SEEFRONT,\n    WKS_API_STEREO_MODE_STEREO_MIRROR,\n    WKS_API_STEREO_MODE_FRAME_SEQUENTIAL,\n    WKS_API_STEREO_MODE_AUTODETECT_PASSIVE_MODE,\n    WKS_API_STEREO_MODE_AEGIS_DT_FRAME_SEQUENTIAL,\n    WKS_API_STEREO_MODE_OEM_EMITTER_FRAME_SEQUENTIAL,\n    WKS_API_STEREO_MODE_USE_HW_DEFAULT,\n    WKS_API_STEREO_MODE_DEFAULT_GL,\n};\n\nEValues_WKS_MEMORY_ALLOCATION_POLICY g_valuesWKS_MEMORY_ALLOCATION_POLICY[WKS_MEMORY_ALLOCATION_POLICY_NUM_VALUES] = \n{\n    WKS_MEMORY_ALLOCATION_POLICY_AS_NEEDED,\n    WKS_MEMORY_ALLOCATION_POLICY_MODERATE_PRE_ALLOCATION,\n    WKS_MEMORY_ALLOCATION_POLICY_AGGRESSIVE_PRE_ALLOCATION,\n};\n\nEValues_WKS_STEREO_DONGLE_SUPPORT g_valuesWKS_STEREO_DONGLE_SUPPORT[WKS_STEREO_DONGLE_SUPPORT_NUM_VALUES] = \n{\n    WKS_STEREO_DONGLE_SUPPORT_OFF,\n    WKS_STEREO_DONGLE_SUPPORT_DAC,\n    WKS_STEREO_DONGLE_SUPPORT_DLP,\n};\n\nEValues_WKS_STEREO_SUPPORT g_valuesWKS_STEREO_SUPPORT[WKS_STEREO_SUPPORT_NUM_VALUES] = \n{\n    WKS_STEREO_SUPPORT_OFF,\n    WKS_STEREO_SUPPORT_ON,\n};\n\nEValues_WKS_STEREO_SWAP_MODE g_valuesWKS_STEREO_SWAP_MODE[WKS_STEREO_SWAP_MODE_NUM_VALUES] = \n{\n    WKS_STEREO_SWAP_MODE_APPLICATION_CONTROL,\n    WKS_STEREO_SWAP_MODE_PER_EYE,\n    WKS_STEREO_SWAP_MODE_PER_EYE_PAIR,\n    WKS_STEREO_SWAP_MODE_LEGACY_BEHAVIOR,\n};\n\nEValues_AO_MODE g_valuesAO_MODE[AO_MODE_NUM_VALUES] = \n{\n    AO_MODE_OFF,\n    AO_MODE_LOW,\n    AO_MODE_MEDIUM,\n    AO_MODE_HIGH,\n};\n\nEValues_AO_MODE_ACTIVE g_valuesAO_MODE_ACTIVE[AO_MODE_ACTIVE_NUM_VALUES] = \n{\n    AO_MODE_ACTIVE_DISABLED,\n    AO_MODE_ACTIVE_ENABLED,\n};\n\nEValues_AUTO_LODBIASADJUST g_valuesAUTO_LODBIASADJUST[AUTO_LODBIASADJUST_NUM_VALUES] = \n{\n    AUTO_LODBIASADJUST_OFF,\n    AUTO_LODBIASADJUST_ON,\n};\n\n\nEValues_EXPORT_PERF_COUNTERS_DX9_ONLY g_valuesEXPORT_PERF_COUNTERS_DX9_ONLY[EXPORT_PERF_COUNTERS_DX9_ONLY_NUM_VALUES] = \n{\n    EXPORT_PERF_COUNTERS_DX9_ONLY_OFF,\n    EXPORT_PERF_COUNTERS_DX9_ONLY_ON,\n};\n\nEValues_LODBIASADJUST g_valuesLODBIASADJUST[LODBIASADJUST_NUM_VALUES] = \n{\n    LODBIASADJUST_MIN,\n    LODBIASADJUST_MAX,\n};\n\nEValues_MAXWELL_B_SAMPLE_INTERLEAVE g_valuesMAXWELL_B_SAMPLE_INTERLEAVE[MAXWELL_B_SAMPLE_INTERLEAVE_NUM_VALUES] = \n{\n    MAXWELL_B_SAMPLE_INTERLEAVE_OFF,\n    MAXWELL_B_SAMPLE_INTERLEAVE_ON,\n};\n\nEValues_NLS_ALLOW g_valuesNLS_ALLOW[NLS_ALLOW_NUM_VALUES] = \n{\n    NLS_ALLOW_DISALLOWED,\n    NLS_ALLOW_ALLOWED,\n};\n\nEValues_NLS_ENABLE g_valuesNLS_ENABLE[NLS_ENABLE_NUM_VALUES] = \n{\n    NLS_ENABLE_OFF,\n    NLS_ENABLE_ON,\n};\n\nEValues_PRERENDERLIMIT g_valuesPRERENDERLIMIT[PRERENDERLIMIT_NUM_VALUES] = \n{\n    PRERENDERLIMIT_MIN,\n    PRERENDERLIMIT_MAX,\n    PRERENDERLIMIT_APP_CONTROLLED,\n};\n\nEValues_PS_SHADERDISKCACHE g_valuesPS_SHADERDISKCACHE[PS_SHADERDISKCACHE_NUM_VALUES] = \n{\n    PS_SHADERDISKCACHE_OFF,\n    PS_SHADERDISKCACHE_ON,\n};\n\nEValues_PS_TEXFILTER_ANISO_OPTS2 g_valuesPS_TEXFILTER_ANISO_OPTS2[PS_TEXFILTER_ANISO_OPTS2_NUM_VALUES] = \n{\n    PS_TEXFILTER_ANISO_OPTS2_OFF,\n    PS_TEXFILTER_ANISO_OPTS2_ON,\n};\n\nEValues_PS_TEXFILTER_BILINEAR_IN_ANISO g_valuesPS_TEXFILTER_BILINEAR_IN_ANISO[PS_TEXFILTER_BILINEAR_IN_ANISO_NUM_VALUES] = \n{\n    PS_TEXFILTER_BILINEAR_IN_ANISO_OFF,\n    PS_TEXFILTER_BILINEAR_IN_ANISO_ON,\n};\n\nEValues_PS_TEXFILTER_DISABLE_TRILIN_SLOPE g_valuesPS_TEXFILTER_DISABLE_TRILIN_SLOPE[PS_TEXFILTER_DISABLE_TRILIN_SLOPE_NUM_VALUES] = \n{\n    PS_TEXFILTER_DISABLE_TRILIN_SLOPE_OFF,\n    PS_TEXFILTER_DISABLE_TRILIN_SLOPE_ON,\n};\n\nEValues_PS_TEXFILTER_NO_NEG_LODBIAS g_valuesPS_TEXFILTER_NO_NEG_LODBIAS[PS_TEXFILTER_NO_NEG_LODBIAS_NUM_VALUES] = \n{\n    PS_TEXFILTER_NO_NEG_LODBIAS_OFF,\n    PS_TEXFILTER_NO_NEG_LODBIAS_ON,\n};\n\nEValues_QUALITY_ENHANCEMENTS g_valuesQUALITY_ENHANCEMENTS[QUALITY_ENHANCEMENTS_NUM_VALUES] = \n{\n    QUALITY_ENHANCEMENTS_HIGHQUALITY,\n    QUALITY_ENHANCEMENTS_QUALITY,\n    QUALITY_ENHANCEMENTS_PERFORMANCE,\n    QUALITY_ENHANCEMENTS_HIGHPERFORMANCE,\n};\n\nEValues_REFRESH_RATE_OVERRIDE g_valuesREFRESH_RATE_OVERRIDE[REFRESH_RATE_OVERRIDE_NUM_VALUES] = \n{\n    REFRESH_RATE_OVERRIDE_APPLICATION_CONTROLLED,\n    REFRESH_RATE_OVERRIDE_HIGHEST_AVAILABLE,\n    REFRESH_RATE_OVERRIDE_LOW_LATENCY_RR_MASK,\n};\n\nEValues_SET_POWER_THROTTLE_FOR_PCIe_COMPLIANCE g_valuesSET_POWER_THROTTLE_FOR_PCIe_COMPLIANCE[SET_POWER_THROTTLE_FOR_PCIe_COMPLIANCE_NUM_VALUES] = \n{\n    SET_POWER_THROTTLE_FOR_PCIe_COMPLIANCE_OFF,\n    SET_POWER_THROTTLE_FOR_PCIe_COMPLIANCE_ON,\n};\n\nEValues_SET_VAB_DATA g_valuesSET_VAB_DATA[SET_VAB_DATA_NUM_VALUES] = \n{\n    SET_VAB_DATA_ZERO,\n    SET_VAB_DATA_UINT_ONE,\n    SET_VAB_DATA_FLOAT_ONE,\n    SET_VAB_DATA_FLOAT_POS_INF,\n    SET_VAB_DATA_FLOAT_NAN,\n    SET_VAB_DATA_USE_API_DEFAULTS,\n};\n\nEValues_VSYNCMODE g_valuesVSYNCMODE[VSYNCMODE_NUM_VALUES] = \n{\n    VSYNCMODE_PASSIVE,\n    VSYNCMODE_FORCEOFF,\n    VSYNCMODE_FORCEON,\n    VSYNCMODE_FLIPINTERVAL2,\n    VSYNCMODE_FLIPINTERVAL3,\n    VSYNCMODE_FLIPINTERVAL4,\n    VSYNCMODE_VIRTUAL,\n};\n\nEValues_VSYNCTEARCONTROL g_valuesVSYNCTEARCONTROL[VSYNCTEARCONTROL_NUM_VALUES] = \n{\n    VSYNCTEARCONTROL_DISABLE,\n    VSYNCTEARCONTROL_ENABLE,\n};\n\n\nSettingDWORDNameString mapSettingDWORD[TOTAL_DWORD_SETTING_NUM] = \n{\n    {OGL_AA_LINE_GAMMA_ID,                 OGL_AA_LINE_GAMMA_STRING,                  4, (NvU32 *)g_valuesOGL_AA_LINE_GAMMA,       OGL_AA_LINE_GAMMA_DISABLED},\n    {OGL_DEEP_COLOR_SCANOUT_ID,            OGL_DEEP_COLOR_SCANOUT_STRING,             2, (NvU32 *)g_valuesOGL_DEEP_COLOR_SCANOUT,  OGL_DEEP_COLOR_SCANOUT_ENABLE},\n    {OGL_DEFAULT_SWAP_INTERVAL_ID,         OGL_DEFAULT_SWAP_INTERVAL_STRING,          9, (NvU32 *)g_valuesOGL_DEFAULT_SWAP_INTERVAL, OGL_DEFAULT_SWAP_INTERVAL_VSYNC_ONE},\n    {OGL_DEFAULT_SWAP_INTERVAL_FRACTIONAL_ID, OGL_DEFAULT_SWAP_INTERVAL_FRACTIONAL_STRING,  2, (NvU32 *)g_valuesOGL_DEFAULT_SWAP_INTERVAL_FRACTIONAL, 0x00000000},\n    {OGL_DEFAULT_SWAP_INTERVAL_SIGN_ID,    OGL_DEFAULT_SWAP_INTERVAL_SIGN_STRING,     2, (NvU32 *)g_valuesOGL_DEFAULT_SWAP_INTERVAL_SIGN, OGL_DEFAULT_SWAP_INTERVAL_SIGN_POSITIVE},\n    {OGL_EVENT_LOG_SEVERITY_THRESHOLD_ID,  OGL_EVENT_LOG_SEVERITY_THRESHOLD_STRING,   5, (NvU32 *)g_valuesOGL_EVENT_LOG_SEVERITY_THRESHOLD, OGL_EVENT_LOG_SEVERITY_THRESHOLD_ALL},\n    {OGL_EXTENSION_STRING_VERSION_ID,      OGL_EXTENSION_STRING_VERSION_STRING,       0, NULL,                                     0x00000000},\n    {OGL_FORCE_BLIT_ID,                    OGL_FORCE_BLIT_STRING,                     2, (NvU32 *)g_valuesOGL_FORCE_BLIT,          OGL_FORCE_BLIT_OFF},\n    {OGL_FORCE_STEREO_ID,                  OGL_FORCE_STEREO_STRING,                   2, (NvU32 *)g_valuesOGL_FORCE_STEREO,        OGL_FORCE_STEREO_OFF},\n    {OGL_MAX_FRAMES_ALLOWED_ID,            OGL_MAX_FRAMES_ALLOWED_STRING,             0, NULL,                                     0x00000002},\n    {OGL_MULTIMON_ID,                      OGL_MULTIMON_STRING,                       8, (NvU32 *)g_valuesOGL_MULTIMON,            OGL_MULTIMON_PERFORMANCE_LCD},\n    {OGL_OVERLAY_PIXEL_TYPE_ID,            OGL_OVERLAY_PIXEL_TYPE_STRING,             4, (NvU32 *)g_valuesOGL_OVERLAY_PIXEL_TYPE,  OGL_OVERLAY_PIXEL_TYPE_CI},\n    {OGL_OVERLAY_SUPPORT_ID,               OGL_OVERLAY_SUPPORT_STRING,                3, (NvU32 *)g_valuesOGL_OVERLAY_SUPPORT,     OGL_OVERLAY_SUPPORT_OFF},\n    {OGL_QUALITY_ENHANCEMENTS_ID,          OGL_QUALITY_ENHANCEMENTS_STRING,           4, (NvU32 *)g_valuesOGL_QUALITY_ENHANCEMENTS, OGL_QUALITY_ENHANCEMENTS_QUAL},\n    {OGL_SINGLE_BACKDEPTH_BUFFER_ID,       OGL_SINGLE_BACKDEPTH_BUFFER_STRING,        3, (NvU32 *)g_valuesOGL_SINGLE_BACKDEPTH_BUFFER, OGL_SINGLE_BACKDEPTH_BUFFER_DISABLE},\n    {OGL_SLI_MULTICAST_ID,                 OGL_SLI_MULTICAST_STRING,                  3, (NvU32 *)g_valuesOGL_SLI_MULTICAST,       OGL_SLI_MULTICAST_DISABLE},\n    {OGL_THREAD_CONTROL_ID,                OGL_THREAD_CONTROL_STRING,                 2, (NvU32 *)g_valuesOGL_THREAD_CONTROL,      0x00000000},\n    {OGL_TMON_LEVEL_ID,                    OGL_TMON_LEVEL_STRING,                     6, (NvU32 *)g_valuesOGL_TMON_LEVEL,          OGL_TMON_LEVEL_MOST},\n    {OGL_TRIPLE_BUFFER_ID,                 OGL_TRIPLE_BUFFER_STRING,                  2, (NvU32 *)g_valuesOGL_TRIPLE_BUFFER,       OGL_TRIPLE_BUFFER_DISABLED},\n    {AA_BEHAVIOR_FLAGS_ID,                 AA_BEHAVIOR_FLAGS_STRING,                 18, (NvU32 *)g_valuesAA_BEHAVIOR_FLAGS,       AA_BEHAVIOR_FLAGS_DEFAULT},\n    {AA_MODE_ALPHATOCOVERAGE_ID,           AA_MODE_ALPHATOCOVERAGE_STRING,            4, (NvU32 *)g_valuesAA_MODE_ALPHATOCOVERAGE, 0x00000000},\n    {AA_MODE_GAMMACORRECTION_ID,           AA_MODE_GAMMACORRECTION_STRING,            8, (NvU32 *)g_valuesAA_MODE_GAMMACORRECTION, 0x00000000},\n    {AA_MODE_METHOD_ID,                    AA_MODE_METHOD_STRING,                    50, (NvU32 *)g_valuesAA_MODE_METHOD,          AA_MODE_METHOD_NONE},\n    {AA_MODE_REPLAY_ID,                    AA_MODE_REPLAY_STRING,                    20, (NvU32 *)g_valuesAA_MODE_REPLAY,          0x00000000},\n    {AA_MODE_SELECTOR_ID,                  AA_MODE_SELECTOR_STRING,                   5, (NvU32 *)g_valuesAA_MODE_SELECTOR,        AA_MODE_SELECTOR_APP_CONTROL},\n    {AA_MODE_SELECTOR_SLIAA_ID,            AA_MODE_SELECTOR_SLIAA_STRING,             2, (NvU32 *)g_valuesAA_MODE_SELECTOR_SLIAA,  AA_MODE_SELECTOR_SLIAA_DISABLED},\n    {ANISO_MODE_LEVEL_ID,                  ANISO_MODE_LEVEL_STRING,                   5, (NvU32 *)g_valuesANISO_MODE_LEVEL,        ANISO_MODE_LEVEL_DEFAULT},\n    {ANISO_MODE_SELECTOR_ID,               ANISO_MODE_SELECTOR_STRING,                6, (NvU32 *)g_valuesANISO_MODE_SELECTOR,     ANISO_MODE_SELECTOR_DEFAULT},\n    {ANSEL_ALLOW_ID,                       ANSEL_ALLOW_STRING,                        2, (NvU32 *)g_valuesANSEL_ALLOW,             ANSEL_ALLOW_ALLOWED},\n    {ANSEL_ENABLE_ID,                      ANSEL_ENABLE_STRING,                       2, (NvU32 *)g_valuesANSEL_ENABLE,            ANSEL_ENABLE_ON},\n    {ANSEL_WHITELISTED_ID,                 ANSEL_WHITELISTED_STRING,                  2, (NvU32 *)g_valuesANSEL_WHITELISTED,       ANSEL_WHITELISTED_DISALLOWED},\n    {APPLICATION_PROFILE_NOTIFICATION_TIMEOUT_ID, APPLICATION_PROFILE_NOTIFICATION_TIMEOUT_STRING,  6, (NvU32 *)g_valuesAPPLICATION_PROFILE_NOTIFICATION_TIMEOUT, APPLICATION_PROFILE_NOTIFICATION_TIMEOUT_DISABLED},\n    {APPLICATION_STEAM_ID_ID,              APPLICATION_STEAM_ID_STRING,               0, NULL,                                     0x00000000},\n    {BATTERY_BOOST_ID,                     BATTERY_BOOST_STRING,                      4, (NvU32 *)g_valuesBATTERY_BOOST,           BATTERY_BOOST_DISABLED},\n    {CPL_HIDDEN_PROFILE_ID,                CPL_HIDDEN_PROFILE_STRING,                 2, (NvU32 *)g_valuesCPL_HIDDEN_PROFILE,      CPL_HIDDEN_PROFILE_DISABLED},\n    {EXPORT_PERF_COUNTERS_ID,              EXPORT_PERF_COUNTERS_STRING,               2, (NvU32 *)g_valuesEXPORT_PERF_COUNTERS,    EXPORT_PERF_COUNTERS_OFF},\n    {FXAA_ALLOW_ID,                        FXAA_ALLOW_STRING,                         2, (NvU32 *)g_valuesFXAA_ALLOW,              FXAA_ALLOW_ALLOWED},\n    {FXAA_ENABLE_ID,                       FXAA_ENABLE_STRING,                        2, (NvU32 *)g_valuesFXAA_ENABLE,             FXAA_ENABLE_OFF},\n    {FXAA_INDICATOR_ENABLE_ID,             FXAA_INDICATOR_ENABLE_STRING,              2, (NvU32 *)g_valuesFXAA_INDICATOR_ENABLE,   FXAA_INDICATOR_ENABLE_OFF},\n    {MCSFRSHOWSPLIT_ID,                    MCSFRSHOWSPLIT_STRING,                     2, (NvU32 *)g_valuesMCSFRSHOWSPLIT,          MCSFRSHOWSPLIT_DISABLED},\n    {NV_QUALITY_UPSCALING_ID,              NV_QUALITY_UPSCALING_STRING,               2, (NvU32 *)g_valuesNV_QUALITY_UPSCALING,    NV_QUALITY_UPSCALING_OFF},\n    {OPTIMUS_MAXAA_ID,                     OPTIMUS_MAXAA_STRING,                      2, (NvU32 *)g_valuesOPTIMUS_MAXAA,           0x00000000},\n    {PHYSXINDICATOR_ID,                    PHYSXINDICATOR_STRING,                     2, (NvU32 *)g_valuesPHYSXINDICATOR,          PHYSXINDICATOR_DISABLED},\n    {PREFERRED_PSTATE_ID,                  PREFERRED_PSTATE_STRING,                   8, (NvU32 *)g_valuesPREFERRED_PSTATE,        PREFERRED_PSTATE_OPTIMAL_POWER},\n    {PREVENT_UI_AF_OVERRIDE_ID,            PREVENT_UI_AF_OVERRIDE_STRING,             2, (NvU32 *)g_valuesPREVENT_UI_AF_OVERRIDE,  PREVENT_UI_AF_OVERRIDE_OFF},\n    {PS_FRAMERATE_LIMITER_ID,              PS_FRAMERATE_LIMITER_STRING,              22, (NvU32 *)g_valuesPS_FRAMERATE_LIMITER,    PS_FRAMERATE_LIMITER_DISABLED},\n    {PS_FRAMERATE_LIMITER_2_CONTROL_ID,    PS_FRAMERATE_LIMITER_2_CONTROL_STRING,     9, (NvU32 *)g_valuesPS_FRAMERATE_LIMITER_2_CONTROL, PS_FRAMERATE_LIMITER_2_CONTROL_DELAY_CE_PRESENT_3D},\n    {PS_FRAMERATE_LIMITER_GPS_CTRL_ID,     PS_FRAMERATE_LIMITER_GPS_CTRL_STRING,     11, (NvU32 *)g_valuesPS_FRAMERATE_LIMITER_GPS_CTRL, PS_FRAMERATE_LIMITER_GPS_CTRL_DISABLED},\n    {PS_FRAMERATE_MONITOR_CTRL_ID,         PS_FRAMERATE_MONITOR_CTRL_STRING,         15, (NvU32 *)g_valuesPS_FRAMERATE_MONITOR_CTRL, PS_FRAMERATE_MONITOR_CTRL_DISABLED},\n    {SHIM_MAXRES_ID,                       SHIM_MAXRES_STRING,                        0, NULL,                                     0x00000000},\n    {SHIM_MCCOMPAT_ID,                     SHIM_MCCOMPAT_STRING,                      8, (NvU32 *)g_valuesSHIM_MCCOMPAT,           SHIM_MCCOMPAT_AUTO_SELECT},\n    {SHIM_RENDERING_MODE_ID,               SHIM_RENDERING_MODE_STRING,                8, (NvU32 *)g_valuesSHIM_RENDERING_MODE,     SHIM_RENDERING_MODE_AUTO_SELECT},\n    {SHIM_RENDERING_OPTIONS_ID,            SHIM_RENDERING_OPTIONS_STRING,            24, (NvU32 *)g_valuesSHIM_RENDERING_OPTIONS,  SHIM_RENDERING_OPTIONS_DEFAULT_RENDERING_MODE},\n    {SLI_GPU_COUNT_ID,                     SLI_GPU_COUNT_STRING,                      5, (NvU32 *)g_valuesSLI_GPU_COUNT,           SLI_GPU_COUNT_AUTOSELECT},\n    {SLI_PREDEFINED_GPU_COUNT_ID,          SLI_PREDEFINED_GPU_COUNT_STRING,           5, (NvU32 *)g_valuesSLI_PREDEFINED_GPU_COUNT, SLI_PREDEFINED_GPU_COUNT_AUTOSELECT},\n    {SLI_PREDEFINED_GPU_COUNT_DX10_ID,     SLI_PREDEFINED_GPU_COUNT_DX10_STRING,      5, (NvU32 *)g_valuesSLI_PREDEFINED_GPU_COUNT_DX10, SLI_PREDEFINED_GPU_COUNT_DX10_AUTOSELECT},\n    {SLI_PREDEFINED_MODE_ID,               SLI_PREDEFINED_MODE_STRING,                6, (NvU32 *)g_valuesSLI_PREDEFINED_MODE,     SLI_PREDEFINED_MODE_AUTOSELECT},\n    {SLI_PREDEFINED_MODE_DX10_ID,          SLI_PREDEFINED_MODE_DX10_STRING,           6, (NvU32 *)g_valuesSLI_PREDEFINED_MODE_DX10, SLI_PREDEFINED_MODE_DX10_AUTOSELECT},\n    {SLI_RENDERING_MODE_ID,                SLI_RENDERING_MODE_STRING,                 6, (NvU32 *)g_valuesSLI_RENDERING_MODE,      SLI_RENDERING_MODE_AUTOSELECT},\n    {VRPRERENDERLIMIT_ID,                  VRPRERENDERLIMIT_STRING,                   4, (NvU32 *)g_valuesVRPRERENDERLIMIT,        VRPRERENDERLIMIT_DEFAULT},\n    {VRRFEATUREINDICATOR_ID,               VRRFEATUREINDICATOR_STRING,                2, (NvU32 *)g_valuesVRRFEATUREINDICATOR,     VRRFEATUREINDICATOR_ENABLED},\n    {VRROVERLAYINDICATOR_ID,               VRROVERLAYINDICATOR_STRING,                2, (NvU32 *)g_valuesVRROVERLAYINDICATOR,     VRROVERLAYINDICATOR_ENABLED},\n    {VRRREQUESTSTATE_ID,                   VRRREQUESTSTATE_STRING,                    3, (NvU32 *)g_valuesVRRREQUESTSTATE,         VRRREQUESTSTATE_FULLSCREEN_ONLY},\n    {VRR_APP_OVERRIDE_ID,                  VRR_APP_OVERRIDE_STRING,                   5, (NvU32 *)g_valuesVRR_APP_OVERRIDE,        VRR_APP_OVERRIDE_ALLOW},\n    {VRR_APP_OVERRIDE_REQUEST_STATE_ID,    VRR_APP_OVERRIDE_REQUEST_STATE_STRING,     5, (NvU32 *)g_valuesVRR_APP_OVERRIDE_REQUEST_STATE, VRR_APP_OVERRIDE_REQUEST_STATE_ALLOW},\n    {VRR_MODE_ID,                          VRR_MODE_STRING,                           3, (NvU32 *)g_valuesVRR_MODE,                VRR_MODE_FULLSCREEN_ONLY},\n    {VSYNCSMOOTHAFR_ID,                    VSYNCSMOOTHAFR_STRING,                     2, (NvU32 *)g_valuesVSYNCSMOOTHAFR,          VSYNCSMOOTHAFR_OFF},\n    {VSYNCVRRCONTROL_ID,                   VSYNCVRRCONTROL_STRING,                    3, (NvU32 *)g_valuesVSYNCVRRCONTROL,         VSYNCVRRCONTROL_ENABLE},\n    {VSYNC_BEHAVIOR_FLAGS_ID,              VSYNC_BEHAVIOR_FLAGS_STRING,               3, (NvU32 *)g_valuesVSYNC_BEHAVIOR_FLAGS,    VSYNC_BEHAVIOR_FLAGS_DEFAULT},\n    {WKS_API_STEREO_EYES_EXCHANGE_ID,      WKS_API_STEREO_EYES_EXCHANGE_STRING,       2, (NvU32 *)g_valuesWKS_API_STEREO_EYES_EXCHANGE, WKS_API_STEREO_EYES_EXCHANGE_OFF},\n    {WKS_API_STEREO_MODE_ID,               WKS_API_STEREO_MODE_STRING,               24, (NvU32 *)g_valuesWKS_API_STEREO_MODE,     WKS_API_STEREO_MODE_SHUTTER_GLASSES},\n    {WKS_MEMORY_ALLOCATION_POLICY_ID,      WKS_MEMORY_ALLOCATION_POLICY_STRING,       3, (NvU32 *)g_valuesWKS_MEMORY_ALLOCATION_POLICY, WKS_MEMORY_ALLOCATION_POLICY_AS_NEEDED},\n    {WKS_STEREO_DONGLE_SUPPORT_ID,         WKS_STEREO_DONGLE_SUPPORT_STRING,          3, (NvU32 *)g_valuesWKS_STEREO_DONGLE_SUPPORT, WKS_STEREO_DONGLE_SUPPORT_OFF},\n    {WKS_STEREO_SUPPORT_ID,                WKS_STEREO_SUPPORT_STRING,                 2, (NvU32 *)g_valuesWKS_STEREO_SUPPORT,      WKS_STEREO_SUPPORT_OFF},\n    {WKS_STEREO_SWAP_MODE_ID,              WKS_STEREO_SWAP_MODE_STRING,               4, (NvU32 *)g_valuesWKS_STEREO_SWAP_MODE,    WKS_STEREO_SWAP_MODE_APPLICATION_CONTROL},\n    {AO_MODE_ID,                           AO_MODE_STRING,                            4, (NvU32 *)g_valuesAO_MODE,                 AO_MODE_OFF},\n    {AO_MODE_ACTIVE_ID,                    AO_MODE_ACTIVE_STRING,                     2, (NvU32 *)g_valuesAO_MODE_ACTIVE,          AO_MODE_ACTIVE_DISABLED},\n    {AUTO_LODBIASADJUST_ID,                AUTO_LODBIASADJUST_STRING,                 2, (NvU32 *)g_valuesAUTO_LODBIASADJUST,      AUTO_LODBIASADJUST_ON},\n    {EXPORT_PERF_COUNTERS_DX9_ONLY_ID,     EXPORT_PERF_COUNTERS_DX9_ONLY_STRING,      2, (NvU32 *)g_valuesEXPORT_PERF_COUNTERS_DX9_ONLY, EXPORT_PERF_COUNTERS_DX9_ONLY_OFF},\n    {LODBIASADJUST_ID,                     LODBIASADJUST_STRING,                      2, (NvU32 *)g_valuesLODBIASADJUST,           0x00000000},\n    {MAXWELL_B_SAMPLE_INTERLEAVE_ID,       MAXWELL_B_SAMPLE_INTERLEAVE_STRING,        2, (NvU32 *)g_valuesMAXWELL_B_SAMPLE_INTERLEAVE, MAXWELL_B_SAMPLE_INTERLEAVE_OFF},\n    {NLS_ALLOW_ID,                         NLS_ALLOW_STRING,                          2, (NvU32 *)g_valuesNLS_ALLOW,               NLS_ALLOW_ALLOWED},\n    {NLS_ENABLE_ID,                        NLS_ENABLE_STRING,                         2, (NvU32 *)g_valuesNLS_ENABLE,              NLS_ENABLE_OFF},\n    {PRERENDERLIMIT_ID,                    PRERENDERLIMIT_STRING,                     3, (NvU32 *)g_valuesPRERENDERLIMIT,          PRERENDERLIMIT_APP_CONTROLLED},\n    {PS_SHADERDISKCACHE_ID,                PS_SHADERDISKCACHE_STRING,                 2, (NvU32 *)g_valuesPS_SHADERDISKCACHE,      0x00000000},\n    {PS_TEXFILTER_ANISO_OPTS2_ID,          PS_TEXFILTER_ANISO_OPTS2_STRING,           2, (NvU32 *)g_valuesPS_TEXFILTER_ANISO_OPTS2, PS_TEXFILTER_ANISO_OPTS2_OFF},\n    {PS_TEXFILTER_BILINEAR_IN_ANISO_ID,    PS_TEXFILTER_BILINEAR_IN_ANISO_STRING,     2, (NvU32 *)g_valuesPS_TEXFILTER_BILINEAR_IN_ANISO, PS_TEXFILTER_BILINEAR_IN_ANISO_OFF},\n    {PS_TEXFILTER_DISABLE_TRILIN_SLOPE_ID, PS_TEXFILTER_DISABLE_TRILIN_SLOPE_STRING,  2, (NvU32 *)g_valuesPS_TEXFILTER_DISABLE_TRILIN_SLOPE, PS_TEXFILTER_DISABLE_TRILIN_SLOPE_OFF},\n    {PS_TEXFILTER_NO_NEG_LODBIAS_ID,       PS_TEXFILTER_NO_NEG_LODBIAS_STRING,        2, (NvU32 *)g_valuesPS_TEXFILTER_NO_NEG_LODBIAS, PS_TEXFILTER_NO_NEG_LODBIAS_OFF},\n    {QUALITY_ENHANCEMENTS_ID,              QUALITY_ENHANCEMENTS_STRING,               4, (NvU32 *)g_valuesQUALITY_ENHANCEMENTS,    QUALITY_ENHANCEMENTS_QUALITY},\n    {REFRESH_RATE_OVERRIDE_ID,             REFRESH_RATE_OVERRIDE_STRING,              3, (NvU32 *)g_valuesREFRESH_RATE_OVERRIDE,   REFRESH_RATE_OVERRIDE_APPLICATION_CONTROLLED},\n    {SET_POWER_THROTTLE_FOR_PCIe_COMPLIANCE_ID, SET_POWER_THROTTLE_FOR_PCIe_COMPLIANCE_STRING,  2, (NvU32 *)g_valuesSET_POWER_THROTTLE_FOR_PCIe_COMPLIANCE, SET_POWER_THROTTLE_FOR_PCIe_COMPLIANCE_OFF},\n    {SET_VAB_DATA_ID,                      SET_VAB_DATA_STRING,                       6, (NvU32 *)g_valuesSET_VAB_DATA,            SET_VAB_DATA_USE_API_DEFAULTS},\n    {VSYNCMODE_ID,                         VSYNCMODE_STRING,                          7, (NvU32 *)g_valuesVSYNCMODE,               VSYNCMODE_PASSIVE},\n    {VSYNCTEARCONTROL_ID,                  VSYNCTEARCONTROL_STRING,                   2, (NvU32 *)g_valuesVSYNCTEARCONTROL,        VSYNCTEARCONTROL_DISABLE},\n};\n\nSettingWSTRINGNameString mapSettingWSTRING[TOTAL_WSTRING_SETTING_NUM] = \n{\n    {OGL_IMPLICIT_GPU_AFFINITY_ID,         OGL_IMPLICIT_GPU_AFFINITY_STRING,          1, (const wchar_t **)g_valuesOGL_IMPLICIT_GPU_AFFINITY, L\"autoselect\"},\n    {CUDA_EXCLUDED_GPUS_ID,                CUDA_EXCLUDED_GPUS_STRING,                 1, (const wchar_t **)g_valuesCUDA_EXCLUDED_GPUS, L\"none\"},\n    {D3DOGL_GPU_MAX_POWER_ID,              D3DOGL_GPU_MAX_POWER_STRING,               1, (const wchar_t **)g_valuesD3DOGL_GPU_MAX_POWER, L\"0\"},\n    {ICAFE_LOGO_CONFIG_ID,                 ICAFE_LOGO_CONFIG_STRING,                  0, NULL,                                     L\"\"},\n};\n\n"
  },
  {
    "path": "external/nvapi/include/NvApiDriverSettings.h",
    "content": "/***************************************************************************\\\n|*                                                                           *|\n|*      Copyright NVIDIA Corporation.  All rights reserved.                  *|\n|*                                                                           *|\n|*   NOTICE TO USER:                                                         *|\n|*                                                                           *|\n|*   This source code is subject to NVIDIA ownership rights under U.S.       *|\n|*   and international Copyright laws.  Users and possessors of this         *|\n|*   source code are hereby granted a nonexclusive, royalty-free             *|\n|*   license to use this code in individual and commercial software.         *|\n|*                                                                           *|\n|*   NVIDIA MAKES NO REPRESENTATION ABOUT THE SUITABILITY OF THIS SOURCE     *|\n|*   CODE FOR ANY PURPOSE. IT IS PROVIDED \"AS IS\" WITHOUT EXPRESS OR         *|\n|*   IMPLIED WARRANTY OF ANY KIND. NVIDIA DISCLAIMS ALL WARRANTIES WITH      *|\n|*   REGARD TO THIS SOURCE CODE, INCLUDING ALL IMPLIED WARRANTIES OF         *|\n|*   MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR          *|\n|*   PURPOSE. IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY SPECIAL,            *|\n|*   INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES          *|\n|*   WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN      *|\n|*   AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING     *|\n|*   OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOURCE      *|\n|*   CODE.                                                                   *|\n|*                                                                           *|\n|*   U.S. Government End Users. This source code is a \"commercial item\"      *|\n|*   as that term is defined at 48 C.F.R. 2.101 (OCT 1995), consisting       *|\n|*   of \"commercial computer  software\" and \"commercial computer software    *|\n|*   documentation\" as such terms are used in 48 C.F.R. 12.212 (SEPT 1995)   *|\n|*   and is provided to the U.S. Government only as a commercial end item.   *|\n|*   Consistent with 48 C.F.R.12.212 and 48 C.F.R. 227.7202-1 through        *|\n|*   227.7202-4 (JUNE 1995), all U.S. Government End Users acquire the       *|\n|*   source code with only those rights set forth herein.                    *|\n|*                                                                           *|\n|*   Any use of this source code in individual and commercial software must  *|\n|*   include, in the user documentation and internal comments to the code,   *|\n|*   the above Disclaimer and U.S. Government End Users Notice.              *|\n|*                                                                           *|\n|*                                                                           *|\n\\***************************************************************************/\n\n#ifndef _NVAPI_DRIVER_SETTINGS_H_\n#define _NVAPI_DRIVER_SETTINGS_H_\n\n#define OGL_AA_LINE_GAMMA_STRING                   L\"Antialiasing - Line gamma\"\n#define OGL_DEEP_COLOR_SCANOUT_STRING              L\"Deep color for 3D applications\"\n#define OGL_DEFAULT_SWAP_INTERVAL_STRING           L\"OpenGL default swap interval\"\n#define OGL_DEFAULT_SWAP_INTERVAL_FRACTIONAL_STRING L\"OpenGL default swap interval fraction\"\n#define OGL_DEFAULT_SWAP_INTERVAL_SIGN_STRING      L\"OpenGL default swap interval sign\"\n#define OGL_EVENT_LOG_SEVERITY_THRESHOLD_STRING    L\"Event Log Severity Threshold\"\n#define OGL_EXTENSION_STRING_VERSION_STRING        L\"Extension String version\"\n#define OGL_FORCE_BLIT_STRING                      L\"Buffer-flipping mode\"\n#define OGL_FORCE_STEREO_STRING                    L\"Force Stereo shuttering\"\n#define OGL_IMPLICIT_GPU_AFFINITY_STRING           L\"Preferred OpenGL GPU\"\n#define OGL_MAX_FRAMES_ALLOWED_STRING              L\"Maximum frames allowed\"\n#define OGL_MULTIMON_STRING                        L\"Multi-display/mixed-GPU acceleration\"\n#define OGL_OVERLAY_PIXEL_TYPE_STRING              L\"Exported Overlay pixel types\"\n#define OGL_OVERLAY_SUPPORT_STRING                 L\"Enable overlay\"\n#define OGL_QUALITY_ENHANCEMENTS_STRING            L\"High level control of the rendering quality on OpenGL\"\n#define OGL_SINGLE_BACKDEPTH_BUFFER_STRING         L\"Unified back/depth buffer\"\n#define OGL_SLI_MULTICAST_STRING                   L\"Enable NV_gpu_multicast extension\"\n#define OGL_THREAD_CONTROL_STRING                  L\"Threaded optimization\"\n#define OGL_TMON_LEVEL_STRING                      L\"Event Log Tmon Severity Threshold\"\n#define OGL_TRIPLE_BUFFER_STRING                   L\"Triple buffering\"\n#define AA_BEHAVIOR_FLAGS_STRING                   L\"Antialiasing - Behavior Flags\"\n#define AA_MODE_ALPHATOCOVERAGE_STRING             L\"Antialiasing - Transparency Multisampling\"\n#define AA_MODE_GAMMACORRECTION_STRING             L\"Antialiasing - Gamma correction\"\n#define AA_MODE_METHOD_STRING                      L\"Antialiasing - Setting\"\n#define AA_MODE_REPLAY_STRING                      L\"Antialiasing - Transparency Supersampling\"\n#define AA_MODE_SELECTOR_STRING                    L\"Antialiasing - Mode\"\n#define AA_MODE_SELECTOR_SLIAA_STRING              L\"Antialiasing - SLI AA\"\n#define ANISO_MODE_LEVEL_STRING                    L\"Anisotropic filtering setting\"\n#define ANISO_MODE_SELECTOR_STRING                 L\"Anisotropic filtering mode\"\n#define ANSEL_ALLOW_STRING                         L\"NVIDIA Predefined Ansel Usage\"\n#define ANSEL_ENABLE_STRING                        L\"Enable Ansel\"\n#define ANSEL_WHITELISTED_STRING                   L\"Ansel flags for enabled applications\"\n#define APPLICATION_PROFILE_NOTIFICATION_TIMEOUT_STRING L\"Application Profile Notification Popup Timeout\"\n#define APPLICATION_STEAM_ID_STRING                L\"Steam Application ID\"\n#define BATTERY_BOOST_STRING                       L\"Battery Boost\"\n#define CPL_HIDDEN_PROFILE_STRING                  L\"Do not display this profile in the Control Panel\"\n#define CUDA_EXCLUDED_GPUS_STRING                  L\"List of Universal GPU ids\"\n#define D3DOGL_GPU_MAX_POWER_STRING                L\"Maximum GPU Power\"\n#define EXPORT_PERF_COUNTERS_STRING                L\"Export Performance Counters\"\n#define FXAA_ALLOW_STRING                          L\"NVIDIA Predefined FXAA Usage\"\n#define FXAA_ENABLE_STRING                         L\"Enable FXAA\"\n#define FXAA_INDICATOR_ENABLE_STRING               L\"Enable FXAA Indicator\"\n#define MCSFRSHOWSPLIT_STRING                      L\"SLI indicator\"\n#define NV_QUALITY_UPSCALING_STRING                L\"NVIDIA Quality upscaling\"\n#define OPTIMUS_MAXAA_STRING                       L\"Maximum AA samples allowed for a given application\"\n#define PHYSXINDICATOR_STRING                      L\"Display the PhysX indicator\"\n#define PREFERRED_PSTATE_STRING                    L\"Power management mode\"\n#define PREVENT_UI_AF_OVERRIDE_STRING              L\"No override of Anisotropic filtering\"\n#define PS_FRAMERATE_LIMITER_STRING                L\"Frame Rate Limiter\"\n#define PS_FRAMERATE_LIMITER_2_CONTROL_STRING      L\"Frame Rate Limiter 2 Control\"\n#define PS_FRAMERATE_LIMITER_GPS_CTRL_STRING       L\"Frame Rate Monitor\"\n#define PS_FRAMERATE_MONITOR_CTRL_STRING           L\"Frame Rate Monitor Control\"\n#define SHIM_MAXRES_STRING                         L\"Maximum resolution allowed for a given application\"\n#define SHIM_MCCOMPAT_STRING                       L\"Optimus flags for enabled applications\"\n#define SHIM_RENDERING_MODE_STRING                 L\"Enable application for Optimus\"\n#define SHIM_RENDERING_OPTIONS_STRING              L\"Shim Rendering Mode Options per application for Optimus\"\n#define SLI_GPU_COUNT_STRING                       L\"Number of GPUs to use on SLI rendering mode\"\n#define SLI_PREDEFINED_GPU_COUNT_STRING            L\"NVIDIA predefined number of GPUs to use on SLI rendering mode\"\n#define SLI_PREDEFINED_GPU_COUNT_DX10_STRING       L\"NVIDIA predefined number of GPUs to use on SLI rendering mode on DirectX 10\"\n#define SLI_PREDEFINED_MODE_STRING                 L\"NVIDIA predefined SLI mode\"\n#define SLI_PREDEFINED_MODE_DX10_STRING            L\"NVIDIA predefined SLI mode on DirectX 10\"\n#define SLI_RENDERING_MODE_STRING                  L\"SLI rendering mode\"\n#define VRPRERENDERLIMIT_STRING                    L\"Virtual Reality pre-rendered frames\"\n#define VRRFEATUREINDICATOR_STRING                 L\"Toggle the VRR global feature\"\n#define VRROVERLAYINDICATOR_STRING                 L\"Display the VRR Overlay Indicator\"\n#define VRRREQUESTSTATE_STRING                     L\"VRR requested state\"\n#define VRR_APP_OVERRIDE_STRING                    L\"G-SYNC\"\n#define VRR_APP_OVERRIDE_REQUEST_STATE_STRING      L\"G-SYNC\"\n#define VRR_MODE_STRING                            L\"Enable G-SYNC globally\"\n#define VSYNCSMOOTHAFR_STRING                      L\"Flag to control smooth AFR behavior\"\n#define VSYNCVRRCONTROL_STRING                     L\"Variable refresh Rate\"\n#define VSYNC_BEHAVIOR_FLAGS_STRING                L\"Vsync - Behavior Flags\"\n#define WKS_API_STEREO_EYES_EXCHANGE_STRING        L\"Stereo - Swap eyes\"\n#define WKS_API_STEREO_MODE_STRING                 L\"Stereo - Display mode\"\n#define WKS_MEMORY_ALLOCATION_POLICY_STRING        L\"Memory Allocation Policy\"\n#define WKS_STEREO_DONGLE_SUPPORT_STRING           L\"Stereo - Dongle Support\"\n#define WKS_STEREO_SUPPORT_STRING                  L\"Stereo - Enable\"\n#define WKS_STEREO_SWAP_MODE_STRING                L\"Stereo  swap mode\"\n#define AO_MODE_STRING                             L\"Ambient Occlusion\"\n#define AO_MODE_ACTIVE_STRING                      L\"NVIDIA Predefined Ambient Occlusion Usage\"\n#define AUTO_LODBIASADJUST_STRING                  L\"Texture filtering - Driver Controlled LOD Bias\"\n#define EXPORT_PERF_COUNTERS_DX9_ONLY_STRING       L\"Export Performance Counters for DX9 only\"\n#define ICAFE_LOGO_CONFIG_STRING                   L\"ICafe Settings\"\n#define LODBIASADJUST_STRING                       L\"Texture filtering - LOD Bias\"\n#define MAXWELL_B_SAMPLE_INTERLEAVE_STRING         L\"Enable sample interleaving (MFAA)\"\n#define NLS_ALLOW_STRING                           L\"NVIDIA Predefined Nonlinear Scale Usage\"\n#define NLS_ENABLE_STRING                          L\"Enable Nonlinear Scale\"\n#define PRERENDERLIMIT_STRING                      L\"Maximum pre-rendered frames\"\n#define PS_SHADERDISKCACHE_STRING                  L\"Shader Cache\"\n#define PS_TEXFILTER_ANISO_OPTS2_STRING            L\"Texture filtering - Anisotropic sample optimization\"\n#define PS_TEXFILTER_BILINEAR_IN_ANISO_STRING      L\"Texture filtering - Anisotropic filter optimization\"\n#define PS_TEXFILTER_DISABLE_TRILIN_SLOPE_STRING   L\"Texture filtering - Trilinear optimization\"\n#define PS_TEXFILTER_NO_NEG_LODBIAS_STRING         L\"Texture filtering - Negative LOD bias\"\n#define QUALITY_ENHANCEMENTS_STRING                L\"Texture filtering - Quality\"\n#define REFRESH_RATE_OVERRIDE_STRING               L\"Preferred refresh rate\"\n#define SET_POWER_THROTTLE_FOR_PCIe_COMPLIANCE_STRING L\"PowerThrottle\"\n#define SET_VAB_DATA_STRING                        L\"VAB Default Data\"\n#define VSYNCMODE_STRING                           L\"Vertical Sync\"\n#define VSYNCTEARCONTROL_STRING                    L\"Vertical Sync Tear Control\"\n\nenum ESetting {\n    OGL_AA_LINE_GAMMA_ID                          = 0x2089BF6C,\n    OGL_DEEP_COLOR_SCANOUT_ID                     = 0x2097C2F6,\n    OGL_DEFAULT_SWAP_INTERVAL_ID                  = 0x206A6582,\n    OGL_DEFAULT_SWAP_INTERVAL_FRACTIONAL_ID       = 0x206C4581,\n    OGL_DEFAULT_SWAP_INTERVAL_SIGN_ID             = 0x20655CFA,\n    OGL_EVENT_LOG_SEVERITY_THRESHOLD_ID           = 0x209DF23E,\n    OGL_EXTENSION_STRING_VERSION_ID               = 0x20FF7493,\n    OGL_FORCE_BLIT_ID                             = 0x201F619F,\n    OGL_FORCE_STEREO_ID                           = 0x204D9A0C,\n    OGL_IMPLICIT_GPU_AFFINITY_ID                  = 0x20D0F3E6,\n    OGL_MAX_FRAMES_ALLOWED_ID                     = 0x208E55E3,\n    OGL_MULTIMON_ID                               = 0x200AEBFC,\n    OGL_OVERLAY_PIXEL_TYPE_ID                     = 0x209AE66F,\n    OGL_OVERLAY_SUPPORT_ID                        = 0x206C28C4,\n    OGL_QUALITY_ENHANCEMENTS_ID                   = 0x20797D6C,\n    OGL_SINGLE_BACKDEPTH_BUFFER_ID                = 0x20A29055,\n    OGL_SLI_MULTICAST_ID                          = 0x2092D3BE,\n    OGL_THREAD_CONTROL_ID                         = 0x20C1221E,\n    OGL_TMON_LEVEL_ID                             = 0x202888C1,\n    OGL_TRIPLE_BUFFER_ID                          = 0x20FDD1F9,\n    AA_BEHAVIOR_FLAGS_ID                          = 0x10ECDB82,\n    AA_MODE_ALPHATOCOVERAGE_ID                    = 0x10FC2D9C,\n    AA_MODE_GAMMACORRECTION_ID                    = 0x107D639D,\n    AA_MODE_METHOD_ID                             = 0x10D773D2,\n    AA_MODE_REPLAY_ID                             = 0x10D48A85,\n    AA_MODE_SELECTOR_ID                           = 0x107EFC5B,\n    AA_MODE_SELECTOR_SLIAA_ID                     = 0x107AFC5B,\n    ANISO_MODE_LEVEL_ID                           = 0x101E61A9,\n    ANISO_MODE_SELECTOR_ID                        = 0x10D2BB16,\n    ANSEL_ALLOW_ID                                = 0x1035DB89,\n    ANSEL_ENABLE_ID                               = 0x1075D972,\n    ANSEL_WHITELISTED_ID                          = 0x1085DA8A,\n    APPLICATION_PROFILE_NOTIFICATION_TIMEOUT_ID   = 0x104554B6,\n    APPLICATION_STEAM_ID_ID                       = 0x107CDDBC,\n    BATTERY_BOOST_ID                              = 0x10115C89,\n    CPL_HIDDEN_PROFILE_ID                         = 0x106D5CFF,\n    CUDA_EXCLUDED_GPUS_ID                         = 0x10354FF8,\n    D3DOGL_GPU_MAX_POWER_ID                       = 0x10D1EF29,\n    EXPORT_PERF_COUNTERS_ID                       = 0x108F0841,\n    FXAA_ALLOW_ID                                 = 0x1034CB89,\n    FXAA_ENABLE_ID                                = 0x1074C972,\n    FXAA_INDICATOR_ENABLE_ID                      = 0x1068FB9C,\n    MCSFRSHOWSPLIT_ID                             = 0x10287051,\n    NV_QUALITY_UPSCALING_ID                       = 0x10444444,\n    OPTIMUS_MAXAA_ID                              = 0x10F9DC83,\n    PHYSXINDICATOR_ID                             = 0x1094F16F,\n    PREFERRED_PSTATE_ID                           = 0x1057EB71,\n    PREVENT_UI_AF_OVERRIDE_ID                     = 0x103BCCB5,\n    PS_FRAMERATE_LIMITER_ID                       = 0x10834FEE,\n    PS_FRAMERATE_LIMITER_2_CONTROL_ID             = 0x10834FFF,\n    PS_FRAMERATE_LIMITER_GPS_CTRL_ID              = 0x10834F01,\n    PS_FRAMERATE_MONITOR_CTRL_ID                  = 0x10834F05,\n    SHIM_MAXRES_ID                                = 0x10F9DC82,\n    SHIM_MCCOMPAT_ID                              = 0x10F9DC80,\n    SHIM_RENDERING_MODE_ID                        = 0x10F9DC81,\n    SHIM_RENDERING_OPTIONS_ID                     = 0x10F9DC84,\n    SLI_GPU_COUNT_ID                              = 0x1033DCD1,\n    SLI_PREDEFINED_GPU_COUNT_ID                   = 0x1033DCD2,\n    SLI_PREDEFINED_GPU_COUNT_DX10_ID              = 0x1033DCD3,\n    SLI_PREDEFINED_MODE_ID                        = 0x1033CEC1,\n    SLI_PREDEFINED_MODE_DX10_ID                   = 0x1033CEC2,\n    SLI_RENDERING_MODE_ID                         = 0x1033CED1,\n    VRPRERENDERLIMIT_ID                           = 0x10111133,\n    VRRFEATUREINDICATOR_ID                        = 0x1094F157,\n    VRROVERLAYINDICATOR_ID                        = 0x1095F16F,\n    VRRREQUESTSTATE_ID                            = 0x1094F1F7,\n    VRR_APP_OVERRIDE_ID                           = 0x10A879CF,\n    VRR_APP_OVERRIDE_REQUEST_STATE_ID             = 0x10A879AC,\n    VRR_MODE_ID                                   = 0x1194F158,\n    VSYNCSMOOTHAFR_ID                             = 0x101AE763,\n    VSYNCVRRCONTROL_ID                            = 0x10A879CE,\n    VSYNC_BEHAVIOR_FLAGS_ID                       = 0x10FDEC23,\n    WKS_API_STEREO_EYES_EXCHANGE_ID               = 0x11AE435C,\n    WKS_API_STEREO_MODE_ID                        = 0x11E91A61,\n    WKS_MEMORY_ALLOCATION_POLICY_ID               = 0x11112233,\n    WKS_STEREO_DONGLE_SUPPORT_ID                  = 0x112493BD,\n    WKS_STEREO_SUPPORT_ID                         = 0x11AA9E99,\n    WKS_STEREO_SWAP_MODE_ID                       = 0x11333333,\n    AO_MODE_ID                                    = 0x00667329,\n    AO_MODE_ACTIVE_ID                             = 0x00664339,\n    AUTO_LODBIASADJUST_ID                         = 0x00638E8F,\n    EXPORT_PERF_COUNTERS_DX9_ONLY_ID              = 0x00B65E72,\n    ICAFE_LOGO_CONFIG_ID                          = 0x00DB1337,\n    LODBIASADJUST_ID                              = 0x00738E8F,\n    MAXWELL_B_SAMPLE_INTERLEAVE_ID                = 0x0098C1AC,\n    NLS_ALLOW_ID                                  = 0x00041806,\n    NLS_ENABLE_ID                                 = 0x00120618,\n    PRERENDERLIMIT_ID                             = 0x007BA09E,\n    PS_SHADERDISKCACHE_ID                         = 0x00198FFF,\n    PS_TEXFILTER_ANISO_OPTS2_ID                   = 0x00E73211,\n    PS_TEXFILTER_BILINEAR_IN_ANISO_ID             = 0x0084CD70,\n    PS_TEXFILTER_DISABLE_TRILIN_SLOPE_ID          = 0x002ECAF2,\n    PS_TEXFILTER_NO_NEG_LODBIAS_ID                = 0x0019BB68,\n    QUALITY_ENHANCEMENTS_ID                       = 0x00CE2691,\n    REFRESH_RATE_OVERRIDE_ID                      = 0x0064B541,\n    SET_POWER_THROTTLE_FOR_PCIe_COMPLIANCE_ID     = 0x00AE785C,\n    SET_VAB_DATA_ID                               = 0x00AB8687,\n    VSYNCMODE_ID                                  = 0x00A879CF,\n    VSYNCTEARCONTROL_ID                           = 0x005A375C,\n    TOTAL_DWORD_SETTING_NUM = 95,\n    TOTAL_WSTRING_SETTING_NUM = 4,\n    TOTAL_SETTING_NUM = 99,\n    INVALID_SETTING_ID = 0xFFFFFFFF\n};\n\nenum EValues_OGL_AA_LINE_GAMMA {\n    OGL_AA_LINE_GAMMA_DISABLED                           = 0x10,\n    OGL_AA_LINE_GAMMA_ENABLED                            = 0x23,\n    OGL_AA_LINE_GAMMA_MIN                                = 1,\n    OGL_AA_LINE_GAMMA_MAX                                = 100,\n    OGL_AA_LINE_GAMMA_NUM_VALUES = 4,\n    OGL_AA_LINE_GAMMA_DEFAULT = OGL_AA_LINE_GAMMA_DISABLED\n};\n\nenum EValues_OGL_DEEP_COLOR_SCANOUT {\n    OGL_DEEP_COLOR_SCANOUT_DISABLE                       = 0,\n    OGL_DEEP_COLOR_SCANOUT_ENABLE                        = 1,\n    OGL_DEEP_COLOR_SCANOUT_NUM_VALUES = 2,\n    OGL_DEEP_COLOR_SCANOUT_DEFAULT = OGL_DEEP_COLOR_SCANOUT_ENABLE\n};\n\nenum EValues_OGL_DEFAULT_SWAP_INTERVAL {\n    OGL_DEFAULT_SWAP_INTERVAL_TEAR                       = 0,\n    OGL_DEFAULT_SWAP_INTERVAL_VSYNC_ONE                  = 1,\n    OGL_DEFAULT_SWAP_INTERVAL_VSYNC                      = 1,\n    OGL_DEFAULT_SWAP_INTERVAL_VALUE_MASK                 = 0x0000FFFF,\n    OGL_DEFAULT_SWAP_INTERVAL_FORCE_MASK                 = 0xF0000000,\n    OGL_DEFAULT_SWAP_INTERVAL_FORCE_OFF                  = 0xF0000000,\n    OGL_DEFAULT_SWAP_INTERVAL_FORCE_ON                   = 0x10000000,\n    OGL_DEFAULT_SWAP_INTERVAL_APP_CONTROLLED             = 0x00000000,\n    OGL_DEFAULT_SWAP_INTERVAL_DISABLE                    = 0xffffffff,\n    OGL_DEFAULT_SWAP_INTERVAL_NUM_VALUES = 9,\n    OGL_DEFAULT_SWAP_INTERVAL_DEFAULT = OGL_DEFAULT_SWAP_INTERVAL_VSYNC_ONE\n};\n\nenum EValues_OGL_DEFAULT_SWAP_INTERVAL_FRACTIONAL {\n    OGL_DEFAULT_SWAP_INTERVAL_FRACTIONAL_ZERO_SCANLINES  = 0,\n    OGL_DEFAULT_SWAP_INTERVAL_FRACTIONAL_ONE_FULL_FRAME_OF_SCANLINES = 100,\n    OGL_DEFAULT_SWAP_INTERVAL_FRACTIONAL_NUM_VALUES = 2,\n    OGL_DEFAULT_SWAP_INTERVAL_FRACTIONAL_DEFAULT = 0\n};\n\nenum EValues_OGL_DEFAULT_SWAP_INTERVAL_SIGN {\n    OGL_DEFAULT_SWAP_INTERVAL_SIGN_POSITIVE              = 0,\n    OGL_DEFAULT_SWAP_INTERVAL_SIGN_NEGATIVE              = 1,\n    OGL_DEFAULT_SWAP_INTERVAL_SIGN_NUM_VALUES = 2,\n    OGL_DEFAULT_SWAP_INTERVAL_SIGN_DEFAULT = OGL_DEFAULT_SWAP_INTERVAL_SIGN_POSITIVE\n};\n\nenum EValues_OGL_EVENT_LOG_SEVERITY_THRESHOLD {\n    OGL_EVENT_LOG_SEVERITY_THRESHOLD_DISABLE             = 0,\n    OGL_EVENT_LOG_SEVERITY_THRESHOLD_CRITICAL            = 1,\n    OGL_EVENT_LOG_SEVERITY_THRESHOLD_WARNING             = 2,\n    OGL_EVENT_LOG_SEVERITY_THRESHOLD_INFORMATION         = 3,\n    OGL_EVENT_LOG_SEVERITY_THRESHOLD_ALL                 = 4,\n    OGL_EVENT_LOG_SEVERITY_THRESHOLD_NUM_VALUES = 5,\n    OGL_EVENT_LOG_SEVERITY_THRESHOLD_DEFAULT = OGL_EVENT_LOG_SEVERITY_THRESHOLD_ALL\n};\n\nenum EValues_OGL_FORCE_BLIT {\n    OGL_FORCE_BLIT_ON                                    = 1,\n    OGL_FORCE_BLIT_OFF                                   = 0,\n    OGL_FORCE_BLIT_NUM_VALUES = 2,\n    OGL_FORCE_BLIT_DEFAULT = OGL_FORCE_BLIT_OFF\n};\n\nenum EValues_OGL_FORCE_STEREO {\n    OGL_FORCE_STEREO_OFF                                 = 0,\n    OGL_FORCE_STEREO_ON                                  = 1,\n    OGL_FORCE_STEREO_NUM_VALUES = 2,\n    OGL_FORCE_STEREO_DEFAULT = OGL_FORCE_STEREO_OFF\n};\n\n#define    OGL_IMPLICIT_GPU_AFFINITY_ENV_VAR                    L\"OGL_DEFAULT_RENDERING_GPU\"\n#define    OGL_IMPLICIT_GPU_AFFINITY_AUTOSELECT                 L\"autoselect\"\n#define    OGL_IMPLICIT_GPU_AFFINITY_NUM_VALUES 1\n#define    OGL_IMPLICIT_GPU_AFFINITY_DEFAULT OGL_IMPLICIT_GPU_AFFINITY_AUTOSELECT\n\nenum EValues_OGL_MULTIMON {\n    OGL_MULTIMON_SINGLE_MONITOR                          = 0,\n    OGL_MULTIMON_COMPATIBILITY_LCD                       = 1,\n    OGL_MULTIMON_COMPATIBILITY_GCD                       = 2,\n    OGL_MULTIMON_PERFORMANCE_LCD                         = 3,\n    OGL_MULTIMON_PERFORMANCE_GCD                         = 4,\n    OGL_MULTIMON_EXTENDED_SINGLE_MONITOR                 = 5,\n    OGL_MULTIMON_PERFORMANCE_QUADRO                      = 6,\n    OGL_MULTIMON_MULTIMON_BUFFER                         = 7,\n    OGL_MULTIMON_NUM_VALUES = 8,\n    OGL_MULTIMON_DEFAULT = OGL_MULTIMON_PERFORMANCE_LCD\n};\n\nenum EValues_OGL_OVERLAY_PIXEL_TYPE {\n    OGL_OVERLAY_PIXEL_TYPE_NONE                          = 0x0,\n    OGL_OVERLAY_PIXEL_TYPE_CI                            = 0x1,\n    OGL_OVERLAY_PIXEL_TYPE_RGBA                          = 0x2,\n    OGL_OVERLAY_PIXEL_TYPE_CI_AND_RGBA                   = 0x3,\n    OGL_OVERLAY_PIXEL_TYPE_NUM_VALUES = 4,\n    OGL_OVERLAY_PIXEL_TYPE_DEFAULT = OGL_OVERLAY_PIXEL_TYPE_CI\n};\n\nenum EValues_OGL_OVERLAY_SUPPORT {\n    OGL_OVERLAY_SUPPORT_OFF                              = 0,\n    OGL_OVERLAY_SUPPORT_ON                               = 1,\n    OGL_OVERLAY_SUPPORT_FORCE_SW                         = 2,\n    OGL_OVERLAY_SUPPORT_NUM_VALUES = 3,\n    OGL_OVERLAY_SUPPORT_DEFAULT = OGL_OVERLAY_SUPPORT_OFF\n};\n\nenum EValues_OGL_QUALITY_ENHANCEMENTS {\n    OGL_QUALITY_ENHANCEMENTS_HQUAL                       = -10,\n    OGL_QUALITY_ENHANCEMENTS_QUAL                        = 0,\n    OGL_QUALITY_ENHANCEMENTS_PERF                        = 10,\n    OGL_QUALITY_ENHANCEMENTS_HPERF                       = 20,\n    OGL_QUALITY_ENHANCEMENTS_NUM_VALUES = 4,\n    OGL_QUALITY_ENHANCEMENTS_DEFAULT = OGL_QUALITY_ENHANCEMENTS_QUAL\n};\n\nenum EValues_OGL_SINGLE_BACKDEPTH_BUFFER {\n    OGL_SINGLE_BACKDEPTH_BUFFER_DISABLE                  = 0x0,\n    OGL_SINGLE_BACKDEPTH_BUFFER_ENABLE                   = 0x1,\n    OGL_SINGLE_BACKDEPTH_BUFFER_USE_HW_DEFAULT           = 0xffffffff,\n    OGL_SINGLE_BACKDEPTH_BUFFER_NUM_VALUES = 3,\n    OGL_SINGLE_BACKDEPTH_BUFFER_DEFAULT = OGL_SINGLE_BACKDEPTH_BUFFER_DISABLE\n};\n\nenum EValues_OGL_SLI_MULTICAST {\n    OGL_SLI_MULTICAST_DISABLE                            = 0x00,\n    OGL_SLI_MULTICAST_ENABLE                             = 0x01,\n    OGL_SLI_MULTICAST_FORCE_DISABLE                      = 0x02,\n    OGL_SLI_MULTICAST_NUM_VALUES = 3,\n    OGL_SLI_MULTICAST_DEFAULT = OGL_SLI_MULTICAST_DISABLE\n};\n\nenum EValues_OGL_THREAD_CONTROL {\n    OGL_THREAD_CONTROL_ENABLE                            = 0x00000001,\n    OGL_THREAD_CONTROL_DISABLE                           = 0x00000002,\n    OGL_THREAD_CONTROL_NUM_VALUES = 2,\n    OGL_THREAD_CONTROL_DEFAULT = 0\n};\n\nenum EValues_OGL_TMON_LEVEL {\n    OGL_TMON_LEVEL_DISABLE                               = 0,\n    OGL_TMON_LEVEL_CRITICAL                              = 1,\n    OGL_TMON_LEVEL_WARNING                               = 2,\n    OGL_TMON_LEVEL_INFORMATION                           = 3,\n    OGL_TMON_LEVEL_MOST                                  = 4,\n    OGL_TMON_LEVEL_VERBOSE                               = 5,\n    OGL_TMON_LEVEL_NUM_VALUES = 6,\n    OGL_TMON_LEVEL_DEFAULT = OGL_TMON_LEVEL_MOST\n};\n\nenum EValues_OGL_TRIPLE_BUFFER {\n    OGL_TRIPLE_BUFFER_DISABLED                           = 0x00000000,\n    OGL_TRIPLE_BUFFER_ENABLED                            = 0x00000001,\n    OGL_TRIPLE_BUFFER_NUM_VALUES = 2,\n    OGL_TRIPLE_BUFFER_DEFAULT = OGL_TRIPLE_BUFFER_DISABLED\n};\n\nenum EValues_AA_BEHAVIOR_FLAGS {\n    AA_BEHAVIOR_FLAGS_NONE                               = 0x00000000,\n    AA_BEHAVIOR_FLAGS_TREAT_OVERRIDE_AS_APP_CONTROLLED   = 0x00000001,\n    AA_BEHAVIOR_FLAGS_TREAT_OVERRIDE_AS_ENHANCE          = 0x00000002,\n    AA_BEHAVIOR_FLAGS_DISABLE_OVERRIDE                   = 0x00000003,\n    AA_BEHAVIOR_FLAGS_TREAT_ENHANCE_AS_APP_CONTROLLED    = 0x00000004,\n    AA_BEHAVIOR_FLAGS_TREAT_ENHANCE_AS_OVERRIDE          = 0x00000008,\n    AA_BEHAVIOR_FLAGS_DISABLE_ENHANCE                    = 0x0000000c,\n    AA_BEHAVIOR_FLAGS_MAP_VCAA_TO_MULTISAMPLING          = 0x00010000,\n    AA_BEHAVIOR_FLAGS_SLI_DISABLE_TRANSPARENCY_SUPERSAMPLING = 0x00020000,\n    AA_BEHAVIOR_FLAGS_DISABLE_CPLAA                      = 0x00040000,\n    AA_BEHAVIOR_FLAGS_SKIP_RT_DIM_CHECK_FOR_ENHANCE      = 0x00080000,\n    AA_BEHAVIOR_FLAGS_DISABLE_SLIAA                      = 0x00100000,\n    AA_BEHAVIOR_FLAGS_DEFAULT                            = 0x00000000,\n    AA_BEHAVIOR_FLAGS_AA_RT_BPP_DIV_4                    = 0xf0000000,\n    AA_BEHAVIOR_FLAGS_AA_RT_BPP_DIV_4_SHIFT              = 28,\n    AA_BEHAVIOR_FLAGS_NON_AA_RT_BPP_DIV_4                = 0x0f000000,\n    AA_BEHAVIOR_FLAGS_NON_AA_RT_BPP_DIV_4_SHIFT          = 24,\n    AA_BEHAVIOR_FLAGS_MASK                               = 0xff1f000f,\n    AA_BEHAVIOR_FLAGS_NUM_VALUES = 18,\n};\n\nenum EValues_AA_MODE_ALPHATOCOVERAGE {\n    AA_MODE_ALPHATOCOVERAGE_MODE_MASK                    = 0x00000004,\n    AA_MODE_ALPHATOCOVERAGE_MODE_OFF                     = 0x00000000,\n    AA_MODE_ALPHATOCOVERAGE_MODE_ON                      = 0x00000004,\n    AA_MODE_ALPHATOCOVERAGE_MODE_MAX                     = 0x00000004,\n    AA_MODE_ALPHATOCOVERAGE_NUM_VALUES = 4,\n    AA_MODE_ALPHATOCOVERAGE_DEFAULT = 0x00000000\n};\n\nenum EValues_AA_MODE_GAMMACORRECTION {\n    AA_MODE_GAMMACORRECTION_MASK                         = 0x00000003,\n    AA_MODE_GAMMACORRECTION_OFF                          = 0x00000000,\n    AA_MODE_GAMMACORRECTION_ON_IF_FOS                    = 0x00000001,\n    AA_MODE_GAMMACORRECTION_ON_ALWAYS                    = 0x00000002,\n    AA_MODE_GAMMACORRECTION_MAX                          = 0x00000002,\n    AA_MODE_GAMMACORRECTION_DEFAULT                      = 0x00000000,\n    AA_MODE_GAMMACORRECTION_DEFAULT_TESLA                = 0x00000002,\n    AA_MODE_GAMMACORRECTION_DEFAULT_FERMI                = 0x00000002,\n    AA_MODE_GAMMACORRECTION_NUM_VALUES = 8,\n};\n\nenum EValues_AA_MODE_METHOD {\n    AA_MODE_METHOD_NONE                                  = 0x0,\n    AA_MODE_METHOD_SUPERSAMPLE_2X_H                      = 0x1,\n    AA_MODE_METHOD_SUPERSAMPLE_2X_V                      = 0x2,\n    AA_MODE_METHOD_SUPERSAMPLE_1_5X1_5                   = 0x2,\n    AA_MODE_METHOD_FREE_0x03                             = 0x3,\n    AA_MODE_METHOD_FREE_0x04                             = 0x4,\n    AA_MODE_METHOD_SUPERSAMPLE_4X                        = 0x5,\n    AA_MODE_METHOD_SUPERSAMPLE_4X_BIAS                   = 0x6,\n    AA_MODE_METHOD_SUPERSAMPLE_4X_GAUSSIAN               = 0x7,\n    AA_MODE_METHOD_FREE_0x08                             = 0x8,\n    AA_MODE_METHOD_FREE_0x09                             = 0x9,\n    AA_MODE_METHOD_SUPERSAMPLE_9X                        = 0xA,\n    AA_MODE_METHOD_SUPERSAMPLE_9X_BIAS                   = 0xB,\n    AA_MODE_METHOD_SUPERSAMPLE_16X                       = 0xC,\n    AA_MODE_METHOD_SUPERSAMPLE_16X_BIAS                  = 0xD,\n    AA_MODE_METHOD_MULTISAMPLE_2X_DIAGONAL               = 0xE,\n    AA_MODE_METHOD_MULTISAMPLE_2X_QUINCUNX               = 0xF,\n    AA_MODE_METHOD_MULTISAMPLE_4X                        = 0x10,\n    AA_MODE_METHOD_FREE_0x11                             = 0x11,\n    AA_MODE_METHOD_MULTISAMPLE_4X_GAUSSIAN               = 0x12,\n    AA_MODE_METHOD_MIXEDSAMPLE_4X_SKEWED_4TAP            = 0x13,\n    AA_MODE_METHOD_FREE_0x14                             = 0x14,\n    AA_MODE_METHOD_FREE_0x15                             = 0x15,\n    AA_MODE_METHOD_MIXEDSAMPLE_6X                        = 0x16,\n    AA_MODE_METHOD_MIXEDSAMPLE_6X_SKEWED_6TAP            = 0x17,\n    AA_MODE_METHOD_MIXEDSAMPLE_8X                        = 0x18,\n    AA_MODE_METHOD_MIXEDSAMPLE_8X_SKEWED_8TAP            = 0x19,\n    AA_MODE_METHOD_MIXEDSAMPLE_16X                       = 0x1a,\n    AA_MODE_METHOD_MULTISAMPLE_4X_GAMMA                  = 0x1b,\n    AA_MODE_METHOD_MULTISAMPLE_16X                       = 0x1c,\n    AA_MODE_METHOD_VCAA_32X_8v24                         = 0x1d,\n    AA_MODE_METHOD_CORRUPTION_CHECK                      = 0x1e,\n    AA_MODE_METHOD_6X_CT                                 = 0x1f,\n    AA_MODE_METHOD_MULTISAMPLE_2X_DIAGONAL_GAMMA         = 0x20,\n    AA_MODE_METHOD_SUPERSAMPLE_4X_GAMMA                  = 0x21,\n    AA_MODE_METHOD_MULTISAMPLE_4X_FOSGAMMA               = 0x22,\n    AA_MODE_METHOD_MULTISAMPLE_2X_DIAGONAL_FOSGAMMA      = 0x23,\n    AA_MODE_METHOD_SUPERSAMPLE_4X_FOSGAMMA               = 0x24,\n    AA_MODE_METHOD_MULTISAMPLE_8X                        = 0x25,\n    AA_MODE_METHOD_VCAA_8X_4v4                           = 0x26,\n    AA_MODE_METHOD_VCAA_16X_4v12                         = 0x27,\n    AA_MODE_METHOD_VCAA_16X_8v8                          = 0x28,\n    AA_MODE_METHOD_MIXEDSAMPLE_32X                       = 0x29,\n    AA_MODE_METHOD_SUPERVCAA_64X_4v12                    = 0x2a,\n    AA_MODE_METHOD_SUPERVCAA_64X_8v8                     = 0x2b,\n    AA_MODE_METHOD_MIXEDSAMPLE_64X                       = 0x2c,\n    AA_MODE_METHOD_MIXEDSAMPLE_128X                      = 0x2d,\n    AA_MODE_METHOD_COUNT                                 = 0x2e,\n    AA_MODE_METHOD_METHOD_MASK                           = 0x0000ffff,\n    AA_MODE_METHOD_METHOD_MAX                            = 0xf1c57815,\n    AA_MODE_METHOD_NUM_VALUES = 50,\n    AA_MODE_METHOD_DEFAULT = AA_MODE_METHOD_NONE\n};\n\nenum EValues_AA_MODE_REPLAY {\n    AA_MODE_REPLAY_SAMPLES_MASK                          = 0x00000070,\n    AA_MODE_REPLAY_SAMPLES_ONE                           = 0x00000000,\n    AA_MODE_REPLAY_SAMPLES_TWO                           = 0x00000010,\n    AA_MODE_REPLAY_SAMPLES_FOUR                          = 0x00000020,\n    AA_MODE_REPLAY_SAMPLES_EIGHT                         = 0x00000030,\n    AA_MODE_REPLAY_SAMPLES_MAX                           = 0x00000030,\n    AA_MODE_REPLAY_MODE_MASK                             = 0x0000000f,\n    AA_MODE_REPLAY_MODE_OFF                              = 0x00000000,\n    AA_MODE_REPLAY_MODE_ALPHA_TEST                       = 0x00000001,\n    AA_MODE_REPLAY_MODE_PIXEL_KILL                       = 0x00000002,\n    AA_MODE_REPLAY_MODE_DYN_BRANCH                       = 0x00000004,\n    AA_MODE_REPLAY_MODE_OPTIMAL                          = 0x00000004,\n    AA_MODE_REPLAY_MODE_ALL                              = 0x00000008,\n    AA_MODE_REPLAY_MODE_MAX                              = 0x0000000f,\n    AA_MODE_REPLAY_TRANSPARENCY                          = 0x00000023,\n    AA_MODE_REPLAY_DISALLOW_TRAA                         = 0x00000100,\n    AA_MODE_REPLAY_TRANSPARENCY_DEFAULT                  = 0x00000000,\n    AA_MODE_REPLAY_TRANSPARENCY_DEFAULT_TESLA            = 0x00000000,\n    AA_MODE_REPLAY_TRANSPARENCY_DEFAULT_FERMI            = 0x00000000,\n    AA_MODE_REPLAY_MASK                                  = 0x0000017f,\n    AA_MODE_REPLAY_NUM_VALUES = 20,\n    AA_MODE_REPLAY_DEFAULT = 0x00000000\n};\n\nenum EValues_AA_MODE_SELECTOR {\n    AA_MODE_SELECTOR_MASK                                = 0x00000003,\n    AA_MODE_SELECTOR_APP_CONTROL                         = 0x00000000,\n    AA_MODE_SELECTOR_OVERRIDE                            = 0x00000001,\n    AA_MODE_SELECTOR_ENHANCE                             = 0x00000002,\n    AA_MODE_SELECTOR_MAX                                 = 0x00000002,\n    AA_MODE_SELECTOR_NUM_VALUES = 5,\n    AA_MODE_SELECTOR_DEFAULT = AA_MODE_SELECTOR_APP_CONTROL\n};\n\nenum EValues_AA_MODE_SELECTOR_SLIAA {\n    AA_MODE_SELECTOR_SLIAA_DISABLED                      = 0,\n    AA_MODE_SELECTOR_SLIAA_ENABLED                       = 1,\n    AA_MODE_SELECTOR_SLIAA_NUM_VALUES = 2,\n    AA_MODE_SELECTOR_SLIAA_DEFAULT = AA_MODE_SELECTOR_SLIAA_DISABLED\n};\n\nenum EValues_ANISO_MODE_LEVEL {\n    ANISO_MODE_LEVEL_MASK                                = 0x0000ffff,\n    ANISO_MODE_LEVEL_NONE_POINT                          = 0x00000000,\n    ANISO_MODE_LEVEL_NONE_LINEAR                         = 0x00000001,\n    ANISO_MODE_LEVEL_MAX                                 = 0x00000010,\n    ANISO_MODE_LEVEL_DEFAULT                             = 0x00000001,\n    ANISO_MODE_LEVEL_NUM_VALUES = 5,\n};\n\nenum EValues_ANISO_MODE_SELECTOR {\n    ANISO_MODE_SELECTOR_MASK                             = 0x0000000f,\n    ANISO_MODE_SELECTOR_APP                              = 0x00000000,\n    ANISO_MODE_SELECTOR_USER                             = 0x00000001,\n    ANISO_MODE_SELECTOR_COND                             = 0x00000002,\n    ANISO_MODE_SELECTOR_MAX                              = 0x00000002,\n    ANISO_MODE_SELECTOR_DEFAULT                          = 0x00000000,\n    ANISO_MODE_SELECTOR_NUM_VALUES = 6,\n};\n\nenum EValues_ANSEL_ALLOW {\n    ANSEL_ALLOW_DISALLOWED                               = 0,\n    ANSEL_ALLOW_ALLOWED                                  = 1,\n    ANSEL_ALLOW_NUM_VALUES = 2,\n    ANSEL_ALLOW_DEFAULT = ANSEL_ALLOW_ALLOWED\n};\n\nenum EValues_ANSEL_ENABLE {\n    ANSEL_ENABLE_OFF                                     = 0,\n    ANSEL_ENABLE_ON                                      = 1,\n    ANSEL_ENABLE_NUM_VALUES = 2,\n    ANSEL_ENABLE_DEFAULT = ANSEL_ENABLE_ON\n};\n\nenum EValues_ANSEL_WHITELISTED {\n    ANSEL_WHITELISTED_DISALLOWED                         = 0,\n    ANSEL_WHITELISTED_ALLOWED                            = 1,\n    ANSEL_WHITELISTED_NUM_VALUES = 2,\n    ANSEL_WHITELISTED_DEFAULT = ANSEL_WHITELISTED_DISALLOWED\n};\n\nenum EValues_APPLICATION_PROFILE_NOTIFICATION_TIMEOUT {\n    APPLICATION_PROFILE_NOTIFICATION_TIMEOUT_DISABLED    = 0,\n    APPLICATION_PROFILE_NOTIFICATION_TIMEOUT_NINE_SECONDS = 9,\n    APPLICATION_PROFILE_NOTIFICATION_TIMEOUT_FIFTEEN_SECONDS = 15,\n    APPLICATION_PROFILE_NOTIFICATION_TIMEOUT_THIRTY_SECONDS = 30,\n    APPLICATION_PROFILE_NOTIFICATION_TIMEOUT_ONE_MINUTE  = 60,\n    APPLICATION_PROFILE_NOTIFICATION_TIMEOUT_TWO_MINUTES = 120,\n    APPLICATION_PROFILE_NOTIFICATION_TIMEOUT_NUM_VALUES = 6,\n    APPLICATION_PROFILE_NOTIFICATION_TIMEOUT_DEFAULT = APPLICATION_PROFILE_NOTIFICATION_TIMEOUT_DISABLED\n};\n\nenum EValues_BATTERY_BOOST {\n    BATTERY_BOOST_MIN                                    = 0x00000001,\n    BATTERY_BOOST_MAX                                    = 0x000000ff,\n    BATTERY_BOOST_ENABLED                                = 0x10000000,\n    BATTERY_BOOST_DISABLED                               = 0x00000000,\n    BATTERY_BOOST_NUM_VALUES = 4,\n    BATTERY_BOOST_DEFAULT = BATTERY_BOOST_DISABLED\n};\n\nenum EValues_CPL_HIDDEN_PROFILE {\n    CPL_HIDDEN_PROFILE_DISABLED                          = 0,\n    CPL_HIDDEN_PROFILE_ENABLED                           = 1,\n    CPL_HIDDEN_PROFILE_NUM_VALUES = 2,\n    CPL_HIDDEN_PROFILE_DEFAULT = CPL_HIDDEN_PROFILE_DISABLED\n};\n\n#define    CUDA_EXCLUDED_GPUS_NONE                              L\"none\"\n#define    CUDA_EXCLUDED_GPUS_NUM_VALUES 1\n#define    CUDA_EXCLUDED_GPUS_DEFAULT CUDA_EXCLUDED_GPUS_NONE\n\n#define    D3DOGL_GPU_MAX_POWER_DEFAULTPOWER                    L\"0\"\n#define    D3DOGL_GPU_MAX_POWER_NUM_VALUES 1\n#define    D3DOGL_GPU_MAX_POWER_DEFAULT D3DOGL_GPU_MAX_POWER_DEFAULTPOWER\n\nenum EValues_EXPORT_PERF_COUNTERS {\n    EXPORT_PERF_COUNTERS_OFF                             = 0x00000000,\n    EXPORT_PERF_COUNTERS_ON                              = 0x00000001,\n    EXPORT_PERF_COUNTERS_NUM_VALUES = 2,\n    EXPORT_PERF_COUNTERS_DEFAULT = EXPORT_PERF_COUNTERS_OFF\n};\n\nenum EValues_FXAA_ALLOW {\n    FXAA_ALLOW_DISALLOWED                                = 0,\n    FXAA_ALLOW_ALLOWED                                   = 1,\n    FXAA_ALLOW_NUM_VALUES = 2,\n    FXAA_ALLOW_DEFAULT = FXAA_ALLOW_ALLOWED\n};\n\nenum EValues_FXAA_ENABLE {\n    FXAA_ENABLE_OFF                                      = 0,\n    FXAA_ENABLE_ON                                       = 1,\n    FXAA_ENABLE_NUM_VALUES = 2,\n    FXAA_ENABLE_DEFAULT = FXAA_ENABLE_OFF\n};\n\nenum EValues_FXAA_INDICATOR_ENABLE {\n    FXAA_INDICATOR_ENABLE_OFF                            = 0,\n    FXAA_INDICATOR_ENABLE_ON                             = 1,\n    FXAA_INDICATOR_ENABLE_NUM_VALUES = 2,\n    FXAA_INDICATOR_ENABLE_DEFAULT = FXAA_INDICATOR_ENABLE_OFF\n};\n\nenum EValues_MCSFRSHOWSPLIT {\n    MCSFRSHOWSPLIT_DISABLED                              = 0x34534064,\n    MCSFRSHOWSPLIT_ENABLED                               = 0x24545582,\n    MCSFRSHOWSPLIT_NUM_VALUES = 2,\n    MCSFRSHOWSPLIT_DEFAULT = MCSFRSHOWSPLIT_DISABLED\n};\n\nenum EValues_NV_QUALITY_UPSCALING {\n    NV_QUALITY_UPSCALING_OFF                             = 0,\n    NV_QUALITY_UPSCALING_ON                              = 1,\n    NV_QUALITY_UPSCALING_NUM_VALUES = 2,\n    NV_QUALITY_UPSCALING_DEFAULT = NV_QUALITY_UPSCALING_OFF\n};\n\nenum EValues_OPTIMUS_MAXAA {\n    OPTIMUS_MAXAA_MIN                                    = 0,\n    OPTIMUS_MAXAA_MAX                                    = 16,\n    OPTIMUS_MAXAA_NUM_VALUES = 2,\n    OPTIMUS_MAXAA_DEFAULT = 0\n};\n\nenum EValues_PHYSXINDICATOR {\n    PHYSXINDICATOR_DISABLED                              = 0x34534064,\n    PHYSXINDICATOR_ENABLED                               = 0x24545582,\n    PHYSXINDICATOR_NUM_VALUES = 2,\n    PHYSXINDICATOR_DEFAULT = PHYSXINDICATOR_DISABLED\n};\n\nenum EValues_PREFERRED_PSTATE {\n    PREFERRED_PSTATE_ADAPTIVE                            = 0x00000000,\n    PREFERRED_PSTATE_PREFER_MAX                          = 0x00000001,\n    PREFERRED_PSTATE_DRIVER_CONTROLLED                   = 0x00000002,\n    PREFERRED_PSTATE_PREFER_CONSISTENT_PERFORMANCE       = 0x00000003,\n    PREFERRED_PSTATE_PREFER_MIN                          = 0x00000004,\n    PREFERRED_PSTATE_OPTIMAL_POWER                       = 0x00000005,\n    PREFERRED_PSTATE_MIN                                 = 0x00000000,\n    PREFERRED_PSTATE_MAX                                 = 0x00000005,\n    PREFERRED_PSTATE_NUM_VALUES = 8,\n    PREFERRED_PSTATE_DEFAULT = PREFERRED_PSTATE_OPTIMAL_POWER\n};\n\nenum EValues_PREVENT_UI_AF_OVERRIDE {\n    PREVENT_UI_AF_OVERRIDE_OFF                           = 0,\n    PREVENT_UI_AF_OVERRIDE_ON                            = 1,\n    PREVENT_UI_AF_OVERRIDE_NUM_VALUES = 2,\n    PREVENT_UI_AF_OVERRIDE_DEFAULT = PREVENT_UI_AF_OVERRIDE_OFF\n};\n\nenum EValues_PS_FRAMERATE_LIMITER {\n    PS_FRAMERATE_LIMITER_DISABLED                        = 0x00000000,\n    PS_FRAMERATE_LIMITER_FPS_20                          = 0x00000014,\n    PS_FRAMERATE_LIMITER_FPS_30                          = 0x0000001e,\n    PS_FRAMERATE_LIMITER_FPS_40                          = 0x00000028,\n    PS_FRAMERATE_LIMITER_FPSMASK                         = 0x000000ff,\n    PS_FRAMERATE_LIMITER_FRL2                            = 0x00010000,\n    PS_FRAMERATE_LIMITER_LOWER_FPS_TO_ALIGN              = 0x00020000,\n    PS_FRAMERATE_LIMITER_FORCE_VSYNC_OFF                 = 0x00040000,\n    PS_FRAMERATE_LIMITER_GPS_WEB                         = 0x00080000,\n    PS_FRAMERATE_LIMITER_FORCE_OPTIMUS_POLICY            = 0x00100000,\n    PS_FRAMERATE_LIMITER_DISALLOWED                      = 0x00200000,\n    PS_FRAMERATE_LIMITER_USE_CPU_WAIT                    = 0x00400000,\n    PS_FRAMERATE_LIMITER_THRESHOLD                       = 0x00000000,\n    PS_FRAMERATE_LIMITER_TEMPERATURE                     = 0x02000000,\n    PS_FRAMERATE_LIMITER_POWER                           = 0x04000000,\n    PS_FRAMERATE_LIMITER_MODEMASK                        = 0x0f000000,\n    PS_FRAMERATE_LIMITER_ACCURATE                        = 0x10000000,\n    PS_FRAMERATE_LIMITER_ALLOW_WINDOWED                  = 0x20000000,\n    PS_FRAMERATE_LIMITER_FORCEON                         = 0x40000000,\n    PS_FRAMERATE_LIMITER_ENABLED                         = 0x80000000,\n    PS_FRAMERATE_LIMITER_OPENGL_REMOTE_DESKTOP           = 0xe010003c,\n    PS_FRAMERATE_LIMITER_MASK                            = 0xff7C00ff,\n    PS_FRAMERATE_LIMITER_NUM_VALUES = 22,\n    PS_FRAMERATE_LIMITER_DEFAULT = PS_FRAMERATE_LIMITER_DISABLED\n};\n\nenum EValues_PS_FRAMERATE_LIMITER_2_CONTROL {\n    PS_FRAMERATE_LIMITER_2_CONTROL_DELAY_CE              = 0x00000000,\n    PS_FRAMERATE_LIMITER_2_CONTROL_DELAY_3D              = 0x00000001,\n    PS_FRAMERATE_LIMITER_2_CONTROL_AVOID_NOOP            = 0x00000002,\n    PS_FRAMERATE_LIMITER_2_CONTROL_DELAY_FLIP_BY_FLIPMETERING = 0x00000004,\n    PS_FRAMERATE_LIMITER_2_CONTROL_DELAY_CE_PRESENT_3D   = 0x00000008,\n    PS_FRAMERATE_LIMITER_2_CONTROL_ALLOW_ALL_MAXWELL     = 0x00000010,\n    PS_FRAMERATE_LIMITER_2_CONTROL_ALLOW_ALL             = 0x00000020,\n    PS_FRAMERATE_LIMITER_2_CONTROL_FORCE_OFF             = 0x00000040,\n    PS_FRAMERATE_LIMITER_2_CONTROL_DEFAULT_FOR_GM10X     = 0x00000011,\n    PS_FRAMERATE_LIMITER_2_CONTROL_NUM_VALUES = 9,\n    PS_FRAMERATE_LIMITER_2_CONTROL_DEFAULT = PS_FRAMERATE_LIMITER_2_CONTROL_DELAY_CE_PRESENT_3D\n};\n\nenum EValues_PS_FRAMERATE_LIMITER_GPS_CTRL {\n    PS_FRAMERATE_LIMITER_GPS_CTRL_DISABLED               = 0x00000000,\n    PS_FRAMERATE_LIMITER_GPS_CTRL_DECREASE_FILTER_MASK   = 0x000001FF,\n    PS_FRAMERATE_LIMITER_GPS_CTRL_PAUSE_TIME_MASK        = 0x0000FE00,\n    PS_FRAMERATE_LIMITER_GPS_CTRL_PAUSE_TIME_SHIFT       = 9,\n    PS_FRAMERATE_LIMITER_GPS_CTRL_TARGET_RENDER_TIME_MASK = 0x00FF0000,\n    PS_FRAMERATE_LIMITER_GPS_CTRL_TARGET_RENDER_TIME_SHIFT = 16,\n    PS_FRAMERATE_LIMITER_GPS_CTRL_PERF_STEP_SIZE_MASK    = 0x1F000000,\n    PS_FRAMERATE_LIMITER_GPS_CTRL_PERF_STEP_SIZE_SHIFT   = 24,\n    PS_FRAMERATE_LIMITER_GPS_CTRL_INCREASE_FILTER_MASK   = 0xE0000000,\n    PS_FRAMERATE_LIMITER_GPS_CTRL_INCREASE_FILTER_SHIFT  = 29,\n    PS_FRAMERATE_LIMITER_GPS_CTRL_OPTIMAL_SETTING        = 0x4A5A3219,\n    PS_FRAMERATE_LIMITER_GPS_CTRL_NUM_VALUES = 11,\n    PS_FRAMERATE_LIMITER_GPS_CTRL_DEFAULT = PS_FRAMERATE_LIMITER_GPS_CTRL_DISABLED\n};\n\nenum EValues_PS_FRAMERATE_MONITOR_CTRL {\n    PS_FRAMERATE_MONITOR_CTRL_DISABLED                   = 0x00000000,\n    PS_FRAMERATE_MONITOR_CTRL_THRESHOLD_PCT_MASK         = 0x000000FF,\n    PS_FRAMERATE_MONITOR_CTRL_MOVING_AVG_X_MASK          = 0x00000F00,\n    PS_FRAMERATE_MONITOR_CTRL_MOVING_AVG_X_SHIFT         = 8,\n    PS_FRAMERATE_MONITOR_CTRL_ENABLE_FINE_GRAINED        = 0x00400000,\n    PS_FRAMERATE_MONITOR_CTRL_ENABLE_ON_VSYNC            = 0x00800000,\n    PS_FRAMERATE_MONITOR_CTRL_VSYNC_OFFSET_MASK          = 0x0000F000,\n    PS_FRAMERATE_MONITOR_CTRL_VSYNC_OFFSET_SHIFT         = 12,\n    PS_FRAMERATE_MONITOR_CTRL_FPS_USE_FRL                = 0x00000000,\n    PS_FRAMERATE_MONITOR_CTRL_FPS_30                     = 0x1E000000,\n    PS_FRAMERATE_MONITOR_CTRL_FPS_60                     = 0x3C000000,\n    PS_FRAMERATE_MONITOR_CTRL_FPS_MASK                   = 0xFF000000,\n    PS_FRAMERATE_MONITOR_CTRL_FPS_SHIFT                  = 24,\n    PS_FRAMERATE_MONITOR_CTRL_OPTIMAL_SETTING            = 0x00000364,\n    PS_FRAMERATE_MONITOR_CTRL_VSYNC_OPTIMAL_SETTING      = 0x0080f364,\n    PS_FRAMERATE_MONITOR_CTRL_NUM_VALUES = 15,\n    PS_FRAMERATE_MONITOR_CTRL_DEFAULT = PS_FRAMERATE_MONITOR_CTRL_DISABLED\n};\n\nenum EValues_SHIM_MCCOMPAT {\n    SHIM_MCCOMPAT_INTEGRATED                             = 0x00000000,\n    SHIM_MCCOMPAT_ENABLE                                 = 0x00000001,\n    SHIM_MCCOMPAT_USER_EDITABLE                          = 0x00000002,\n    SHIM_MCCOMPAT_MASK                                   = 0x00000003,\n    SHIM_MCCOMPAT_VIDEO_MASK                             = 0x00000004,\n    SHIM_MCCOMPAT_VARYING_BIT                            = 0x00000008,\n    SHIM_MCCOMPAT_AUTO_SELECT                            = 0x00000010,\n    SHIM_MCCOMPAT_OVERRIDE_BIT                           = 0x80000000,\n    SHIM_MCCOMPAT_NUM_VALUES = 8,\n    SHIM_MCCOMPAT_DEFAULT = SHIM_MCCOMPAT_AUTO_SELECT\n};\n\nenum EValues_SHIM_RENDERING_MODE {\n    SHIM_RENDERING_MODE_INTEGRATED                       = 0x00000000,\n    SHIM_RENDERING_MODE_ENABLE                           = 0x00000001,\n    SHIM_RENDERING_MODE_USER_EDITABLE                    = 0x00000002,\n    SHIM_RENDERING_MODE_MASK                             = 0x00000003,\n    SHIM_RENDERING_MODE_VIDEO_MASK                       = 0x00000004,\n    SHIM_RENDERING_MODE_VARYING_BIT                      = 0x00000008,\n    SHIM_RENDERING_MODE_AUTO_SELECT                      = 0x00000010,\n    SHIM_RENDERING_MODE_OVERRIDE_BIT                     = 0x80000000,\n    SHIM_RENDERING_MODE_NUM_VALUES = 8,\n    SHIM_RENDERING_MODE_DEFAULT = SHIM_RENDERING_MODE_AUTO_SELECT\n};\n\nenum EValues_SHIM_RENDERING_OPTIONS {\n    SHIM_RENDERING_OPTIONS_DEFAULT_RENDERING_MODE        = 0x00000000,\n    SHIM_RENDERING_OPTIONS_DISABLE_ASYNC_PRESENT         = 0x00000001,\n    SHIM_RENDERING_OPTIONS_EHSHELL_DETECT                = 0x00000002,\n    SHIM_RENDERING_OPTIONS_FLASHPLAYER_HOST_DETECT       = 0x00000004,\n    SHIM_RENDERING_OPTIONS_VIDEO_DRM_APP_DETECT          = 0x00000008,\n    SHIM_RENDERING_OPTIONS_IGNORE_OVERRIDES              = 0x00000010,\n    SHIM_RENDERING_OPTIONS_RESERVED1                     = 0x00000020,\n    SHIM_RENDERING_OPTIONS_ENABLE_DWM_ASYNC_PRESENT      = 0x00000040,\n    SHIM_RENDERING_OPTIONS_RESERVED2                     = 0x00000080,\n    SHIM_RENDERING_OPTIONS_ALLOW_INHERITANCE             = 0x00000100,\n    SHIM_RENDERING_OPTIONS_DISABLE_WRAPPERS              = 0x00000200,\n    SHIM_RENDERING_OPTIONS_DISABLE_DXGI_WRAPPERS         = 0x00000400,\n    SHIM_RENDERING_OPTIONS_PRUNE_UNSUPPORTED_FORMATS     = 0x00000800,\n    SHIM_RENDERING_OPTIONS_ENABLE_ALPHA_FORMAT           = 0x00001000,\n    SHIM_RENDERING_OPTIONS_IGPU_TRANSCODING              = 0x00002000,\n    SHIM_RENDERING_OPTIONS_DISABLE_CUDA                  = 0x00004000,\n    SHIM_RENDERING_OPTIONS_ALLOW_CP_CAPS_FOR_VIDEO       = 0x00008000,\n    SHIM_RENDERING_OPTIONS_IGPU_TRANSCODING_FWD_OPTIMUS  = 0x00010000,\n    SHIM_RENDERING_OPTIONS_DISABLE_DURING_SECURE_BOOT    = 0x00020000,\n    SHIM_RENDERING_OPTIONS_INVERT_FOR_QUADRO             = 0x00040000,\n    SHIM_RENDERING_OPTIONS_INVERT_FOR_MSHYBRID           = 0x00080000,\n    SHIM_RENDERING_OPTIONS_REGISTER_PROCESS_ENABLE_GOLD  = 0x00100000,\n    SHIM_RENDERING_OPTIONS_HANDLE_WINDOWED_MODE_PERF_OPT = 0x00200000,\n    SHIM_RENDERING_OPTIONS_HANDLE_WIN7_ASYNC_RUNTIME_BUG = 0x00400000,\n    SHIM_RENDERING_OPTIONS_NUM_VALUES = 24,\n    SHIM_RENDERING_OPTIONS_DEFAULT = SHIM_RENDERING_OPTIONS_DEFAULT_RENDERING_MODE\n};\n\nenum EValues_SLI_GPU_COUNT {\n    SLI_GPU_COUNT_AUTOSELECT                             = 0x00000000,\n    SLI_GPU_COUNT_ONE                                    = 0x00000001,\n    SLI_GPU_COUNT_TWO                                    = 0x00000002,\n    SLI_GPU_COUNT_THREE                                  = 0x00000003,\n    SLI_GPU_COUNT_FOUR                                   = 0x00000004,\n    SLI_GPU_COUNT_NUM_VALUES = 5,\n    SLI_GPU_COUNT_DEFAULT = SLI_GPU_COUNT_AUTOSELECT\n};\n\nenum EValues_SLI_PREDEFINED_GPU_COUNT {\n    SLI_PREDEFINED_GPU_COUNT_AUTOSELECT                  = 0x00000000,\n    SLI_PREDEFINED_GPU_COUNT_ONE                         = 0x00000001,\n    SLI_PREDEFINED_GPU_COUNT_TWO                         = 0x00000002,\n    SLI_PREDEFINED_GPU_COUNT_THREE                       = 0x00000003,\n    SLI_PREDEFINED_GPU_COUNT_FOUR                        = 0x00000004,\n    SLI_PREDEFINED_GPU_COUNT_NUM_VALUES = 5,\n    SLI_PREDEFINED_GPU_COUNT_DEFAULT = SLI_PREDEFINED_GPU_COUNT_AUTOSELECT\n};\n\nenum EValues_SLI_PREDEFINED_GPU_COUNT_DX10 {\n    SLI_PREDEFINED_GPU_COUNT_DX10_AUTOSELECT             = 0x00000000,\n    SLI_PREDEFINED_GPU_COUNT_DX10_ONE                    = 0x00000001,\n    SLI_PREDEFINED_GPU_COUNT_DX10_TWO                    = 0x00000002,\n    SLI_PREDEFINED_GPU_COUNT_DX10_THREE                  = 0x00000003,\n    SLI_PREDEFINED_GPU_COUNT_DX10_FOUR                   = 0x00000004,\n    SLI_PREDEFINED_GPU_COUNT_DX10_NUM_VALUES = 5,\n    SLI_PREDEFINED_GPU_COUNT_DX10_DEFAULT = SLI_PREDEFINED_GPU_COUNT_DX10_AUTOSELECT\n};\n\nenum EValues_SLI_PREDEFINED_MODE {\n    SLI_PREDEFINED_MODE_AUTOSELECT                       = 0x00000000,\n    SLI_PREDEFINED_MODE_FORCE_SINGLE                     = 0x00000001,\n    SLI_PREDEFINED_MODE_FORCE_AFR                        = 0x00000002,\n    SLI_PREDEFINED_MODE_FORCE_AFR2                       = 0x00000003,\n    SLI_PREDEFINED_MODE_FORCE_SFR                        = 0x00000004,\n    SLI_PREDEFINED_MODE_FORCE_AFR_OF_SFR__FALLBACK_3AFR  = 0x00000005,\n    SLI_PREDEFINED_MODE_NUM_VALUES = 6,\n    SLI_PREDEFINED_MODE_DEFAULT = SLI_PREDEFINED_MODE_AUTOSELECT\n};\n\nenum EValues_SLI_PREDEFINED_MODE_DX10 {\n    SLI_PREDEFINED_MODE_DX10_AUTOSELECT                  = 0x00000000,\n    SLI_PREDEFINED_MODE_DX10_FORCE_SINGLE                = 0x00000001,\n    SLI_PREDEFINED_MODE_DX10_FORCE_AFR                   = 0x00000002,\n    SLI_PREDEFINED_MODE_DX10_FORCE_AFR2                  = 0x00000003,\n    SLI_PREDEFINED_MODE_DX10_FORCE_SFR                   = 0x00000004,\n    SLI_PREDEFINED_MODE_DX10_FORCE_AFR_OF_SFR__FALLBACK_3AFR = 0x00000005,\n    SLI_PREDEFINED_MODE_DX10_NUM_VALUES = 6,\n    SLI_PREDEFINED_MODE_DX10_DEFAULT = SLI_PREDEFINED_MODE_DX10_AUTOSELECT\n};\n\nenum EValues_SLI_RENDERING_MODE {\n    SLI_RENDERING_MODE_AUTOSELECT                        = 0x00000000,\n    SLI_RENDERING_MODE_FORCE_SINGLE                      = 0x00000001,\n    SLI_RENDERING_MODE_FORCE_AFR                         = 0x00000002,\n    SLI_RENDERING_MODE_FORCE_AFR2                        = 0x00000003,\n    SLI_RENDERING_MODE_FORCE_SFR                         = 0x00000004,\n    SLI_RENDERING_MODE_FORCE_AFR_OF_SFR__FALLBACK_3AFR   = 0x00000005,\n    SLI_RENDERING_MODE_NUM_VALUES = 6,\n    SLI_RENDERING_MODE_DEFAULT = SLI_RENDERING_MODE_AUTOSELECT\n};\n\nenum EValues_VRPRERENDERLIMIT {\n    VRPRERENDERLIMIT_MIN                                 = 0x00,\n    VRPRERENDERLIMIT_MAX                                 = 0xff,\n    VRPRERENDERLIMIT_APP_CONTROLLED                      = 0x00,\n    VRPRERENDERLIMIT_DEFAULT                             = 0x01,\n    VRPRERENDERLIMIT_NUM_VALUES = 4,\n};\n\nenum EValues_VRRFEATUREINDICATOR {\n    VRRFEATUREINDICATOR_DISABLED                         = 0x0,\n    VRRFEATUREINDICATOR_ENABLED                          = 0x1,\n    VRRFEATUREINDICATOR_NUM_VALUES = 2,\n    VRRFEATUREINDICATOR_DEFAULT = VRRFEATUREINDICATOR_ENABLED\n};\n\nenum EValues_VRROVERLAYINDICATOR {\n    VRROVERLAYINDICATOR_DISABLED                         = 0x0,\n    VRROVERLAYINDICATOR_ENABLED                          = 0x1,\n    VRROVERLAYINDICATOR_NUM_VALUES = 2,\n    VRROVERLAYINDICATOR_DEFAULT = VRROVERLAYINDICATOR_ENABLED\n};\n\nenum EValues_VRRREQUESTSTATE {\n    VRRREQUESTSTATE_DISABLED                             = 0x0,\n    VRRREQUESTSTATE_FULLSCREEN_ONLY                      = 0x1,\n    VRRREQUESTSTATE_FULLSCREEN_AND_WINDOWED              = 0x2,\n    VRRREQUESTSTATE_NUM_VALUES = 3,\n    VRRREQUESTSTATE_DEFAULT = VRRREQUESTSTATE_FULLSCREEN_ONLY\n};\n\nenum EValues_VRR_APP_OVERRIDE {\n    VRR_APP_OVERRIDE_ALLOW                               = 0,\n    VRR_APP_OVERRIDE_FORCE_OFF                           = 1,\n    VRR_APP_OVERRIDE_DISALLOW                            = 2,\n    VRR_APP_OVERRIDE_ULMB                                = 3,\n    VRR_APP_OVERRIDE_FIXED_REFRESH                       = 4,\n    VRR_APP_OVERRIDE_NUM_VALUES = 5,\n    VRR_APP_OVERRIDE_DEFAULT = VRR_APP_OVERRIDE_ALLOW\n};\n\nenum EValues_VRR_APP_OVERRIDE_REQUEST_STATE {\n    VRR_APP_OVERRIDE_REQUEST_STATE_ALLOW                 = 0,\n    VRR_APP_OVERRIDE_REQUEST_STATE_FORCE_OFF             = 1,\n    VRR_APP_OVERRIDE_REQUEST_STATE_DISALLOW              = 2,\n    VRR_APP_OVERRIDE_REQUEST_STATE_ULMB                  = 3,\n    VRR_APP_OVERRIDE_REQUEST_STATE_FIXED_REFRESH         = 4,\n    VRR_APP_OVERRIDE_REQUEST_STATE_NUM_VALUES = 5,\n    VRR_APP_OVERRIDE_REQUEST_STATE_DEFAULT = VRR_APP_OVERRIDE_REQUEST_STATE_ALLOW\n};\n\nenum EValues_VRR_MODE {\n    VRR_MODE_DISABLED                                    = 0x0,\n    VRR_MODE_FULLSCREEN_ONLY                             = 0x1,\n    VRR_MODE_FULLSCREEN_AND_WINDOWED                     = 0x2,\n    VRR_MODE_NUM_VALUES = 3,\n    VRR_MODE_DEFAULT = VRR_MODE_FULLSCREEN_ONLY\n};\n\nenum EValues_VSYNCSMOOTHAFR {\n    VSYNCSMOOTHAFR_OFF                                   = 0x00000000,\n    VSYNCSMOOTHAFR_ON                                    = 0x00000001,\n    VSYNCSMOOTHAFR_NUM_VALUES = 2,\n    VSYNCSMOOTHAFR_DEFAULT = VSYNCSMOOTHAFR_OFF\n};\n\nenum EValues_VSYNCVRRCONTROL {\n    VSYNCVRRCONTROL_DISABLE                              = 0x00000000,\n    VSYNCVRRCONTROL_ENABLE                               = 0x00000001,\n    VSYNCVRRCONTROL_NOTSUPPORTED                         = 0x9f95128e,\n    VSYNCVRRCONTROL_NUM_VALUES = 3,\n    VSYNCVRRCONTROL_DEFAULT = VSYNCVRRCONTROL_ENABLE\n};\n\nenum EValues_VSYNC_BEHAVIOR_FLAGS {\n    VSYNC_BEHAVIOR_FLAGS_NONE                            = 0x00000000,\n    VSYNC_BEHAVIOR_FLAGS_DEFAULT                         = 0x00000000,\n    VSYNC_BEHAVIOR_FLAGS_IGNORE_FLIPINTERVAL_MULTIPLE    = 0x00000001,\n    VSYNC_BEHAVIOR_FLAGS_NUM_VALUES = 3,\n};\n\nenum EValues_WKS_API_STEREO_EYES_EXCHANGE {\n    WKS_API_STEREO_EYES_EXCHANGE_OFF                     = 0,\n    WKS_API_STEREO_EYES_EXCHANGE_ON                      = 1,\n    WKS_API_STEREO_EYES_EXCHANGE_NUM_VALUES = 2,\n    WKS_API_STEREO_EYES_EXCHANGE_DEFAULT = WKS_API_STEREO_EYES_EXCHANGE_OFF\n};\n\nenum EValues_WKS_API_STEREO_MODE {\n    WKS_API_STEREO_MODE_SHUTTER_GLASSES                  = 0,\n    WKS_API_STEREO_MODE_VERTICAL_INTERLACED              = 1,\n    WKS_API_STEREO_MODE_TWINVIEW                         = 2,\n    WKS_API_STEREO_MODE_NV17_SHUTTER_GLASSES_AUTO        = 3,\n    WKS_API_STEREO_MODE_NV17_SHUTTER_GLASSES_DAC0        = 4,\n    WKS_API_STEREO_MODE_NV17_SHUTTER_GLASSES_DAC1        = 5,\n    WKS_API_STEREO_MODE_COLOR_LINE                       = 6,\n    WKS_API_STEREO_MODE_COLOR_INTERLEAVED                = 7,\n    WKS_API_STEREO_MODE_ANAGLYPH                         = 8,\n    WKS_API_STEREO_MODE_HORIZONTAL_INTERLACED            = 9,\n    WKS_API_STEREO_MODE_SIDE_FIELD                       = 10,\n    WKS_API_STEREO_MODE_SUB_FIELD                        = 11,\n    WKS_API_STEREO_MODE_CHECKERBOARD                     = 12,\n    WKS_API_STEREO_MODE_INVERSE_CHECKERBOARD             = 13,\n    WKS_API_STEREO_MODE_TRIDELITY_SL                     = 14,\n    WKS_API_STEREO_MODE_TRIDELITY_MV                     = 15,\n    WKS_API_STEREO_MODE_SEEFRONT                         = 16,\n    WKS_API_STEREO_MODE_STEREO_MIRROR                    = 17,\n    WKS_API_STEREO_MODE_FRAME_SEQUENTIAL                 = 18,\n    WKS_API_STEREO_MODE_AUTODETECT_PASSIVE_MODE          = 19,\n    WKS_API_STEREO_MODE_AEGIS_DT_FRAME_SEQUENTIAL        = 20,\n    WKS_API_STEREO_MODE_OEM_EMITTER_FRAME_SEQUENTIAL     = 21,\n    WKS_API_STEREO_MODE_USE_HW_DEFAULT                   = 0xffffffff,\n    WKS_API_STEREO_MODE_DEFAULT_GL                       = 3,\n    WKS_API_STEREO_MODE_NUM_VALUES = 24,\n    WKS_API_STEREO_MODE_DEFAULT = WKS_API_STEREO_MODE_SHUTTER_GLASSES\n};\n\nenum EValues_WKS_MEMORY_ALLOCATION_POLICY {\n    WKS_MEMORY_ALLOCATION_POLICY_AS_NEEDED               = 0x0,\n    WKS_MEMORY_ALLOCATION_POLICY_MODERATE_PRE_ALLOCATION = 0x1,\n    WKS_MEMORY_ALLOCATION_POLICY_AGGRESSIVE_PRE_ALLOCATION = 0x2,\n    WKS_MEMORY_ALLOCATION_POLICY_NUM_VALUES = 3,\n    WKS_MEMORY_ALLOCATION_POLICY_DEFAULT = WKS_MEMORY_ALLOCATION_POLICY_AS_NEEDED\n};\n\nenum EValues_WKS_STEREO_DONGLE_SUPPORT {\n    WKS_STEREO_DONGLE_SUPPORT_OFF                        = 0,\n    WKS_STEREO_DONGLE_SUPPORT_DAC                        = 1,\n    WKS_STEREO_DONGLE_SUPPORT_DLP                        = 2,\n    WKS_STEREO_DONGLE_SUPPORT_NUM_VALUES = 3,\n    WKS_STEREO_DONGLE_SUPPORT_DEFAULT = WKS_STEREO_DONGLE_SUPPORT_OFF\n};\n\nenum EValues_WKS_STEREO_SUPPORT {\n    WKS_STEREO_SUPPORT_OFF                               = 0,\n    WKS_STEREO_SUPPORT_ON                                = 1,\n    WKS_STEREO_SUPPORT_NUM_VALUES = 2,\n    WKS_STEREO_SUPPORT_DEFAULT = WKS_STEREO_SUPPORT_OFF\n};\n\nenum EValues_WKS_STEREO_SWAP_MODE {\n    WKS_STEREO_SWAP_MODE_APPLICATION_CONTROL             = 0x0,\n    WKS_STEREO_SWAP_MODE_PER_EYE                         = 0x1,\n    WKS_STEREO_SWAP_MODE_PER_EYE_PAIR                    = 0x2,\n    WKS_STEREO_SWAP_MODE_LEGACY_BEHAVIOR                 = 0x3,\n    WKS_STEREO_SWAP_MODE_NUM_VALUES = 4,\n    WKS_STEREO_SWAP_MODE_DEFAULT = WKS_STEREO_SWAP_MODE_APPLICATION_CONTROL\n};\n\nenum EValues_AO_MODE {\n    AO_MODE_OFF                                          = 0,\n    AO_MODE_LOW                                          = 1,\n    AO_MODE_MEDIUM                                       = 2,\n    AO_MODE_HIGH                                         = 3,\n    AO_MODE_NUM_VALUES = 4,\n    AO_MODE_DEFAULT = AO_MODE_OFF\n};\n\nenum EValues_AO_MODE_ACTIVE {\n    AO_MODE_ACTIVE_DISABLED                              = 0,\n    AO_MODE_ACTIVE_ENABLED                               = 1,\n    AO_MODE_ACTIVE_NUM_VALUES = 2,\n    AO_MODE_ACTIVE_DEFAULT = AO_MODE_ACTIVE_DISABLED\n};\n\nenum EValues_AUTO_LODBIASADJUST {\n    AUTO_LODBIASADJUST_OFF                               = 0x00000000,\n    AUTO_LODBIASADJUST_ON                                = 0x00000001,\n    AUTO_LODBIASADJUST_NUM_VALUES = 2,\n    AUTO_LODBIASADJUST_DEFAULT = AUTO_LODBIASADJUST_ON\n};\n\n\nenum EValues_EXPORT_PERF_COUNTERS_DX9_ONLY {\n    EXPORT_PERF_COUNTERS_DX9_ONLY_OFF                    = 0x00000000,\n    EXPORT_PERF_COUNTERS_DX9_ONLY_ON                     = 0x00000001,\n    EXPORT_PERF_COUNTERS_DX9_ONLY_NUM_VALUES = 2,\n    EXPORT_PERF_COUNTERS_DX9_ONLY_DEFAULT = EXPORT_PERF_COUNTERS_DX9_ONLY_OFF\n};\n\nenum EValues_LODBIASADJUST {\n    LODBIASADJUST_MIN                                    = 0xffffff80,\n    LODBIASADJUST_MAX                                    = 128,\n    LODBIASADJUST_NUM_VALUES = 2,\n    LODBIASADJUST_DEFAULT = 0\n};\n\nenum EValues_MAXWELL_B_SAMPLE_INTERLEAVE {\n    MAXWELL_B_SAMPLE_INTERLEAVE_OFF                      = 0,\n    MAXWELL_B_SAMPLE_INTERLEAVE_ON                       = 1,\n    MAXWELL_B_SAMPLE_INTERLEAVE_NUM_VALUES = 2,\n    MAXWELL_B_SAMPLE_INTERLEAVE_DEFAULT = MAXWELL_B_SAMPLE_INTERLEAVE_OFF\n};\n\nenum EValues_NLS_ALLOW {\n    NLS_ALLOW_DISALLOWED                                 = 0,\n    NLS_ALLOW_ALLOWED                                    = 1,\n    NLS_ALLOW_NUM_VALUES = 2,\n    NLS_ALLOW_DEFAULT = NLS_ALLOW_ALLOWED\n};\n\nenum EValues_NLS_ENABLE {\n    NLS_ENABLE_OFF                                       = 0,\n    NLS_ENABLE_ON                                        = 1,\n    NLS_ENABLE_NUM_VALUES = 2,\n    NLS_ENABLE_DEFAULT = NLS_ENABLE_OFF\n};\n\nenum EValues_PRERENDERLIMIT {\n    PRERENDERLIMIT_MIN                                   = 0x00,\n    PRERENDERLIMIT_MAX                                   = 0xff,\n    PRERENDERLIMIT_APP_CONTROLLED                        = 0x00,\n    PRERENDERLIMIT_NUM_VALUES = 3,\n    PRERENDERLIMIT_DEFAULT = PRERENDERLIMIT_APP_CONTROLLED\n};\n\nenum EValues_PS_SHADERDISKCACHE {\n    PS_SHADERDISKCACHE_OFF                               = 0x00000000,\n    PS_SHADERDISKCACHE_ON                                = 0x00000001,\n    PS_SHADERDISKCACHE_NUM_VALUES = 2,\n    PS_SHADERDISKCACHE_DEFAULT = 0x1\n};\n\nenum EValues_PS_TEXFILTER_ANISO_OPTS2 {\n    PS_TEXFILTER_ANISO_OPTS2_OFF                         = 0x00000000,\n    PS_TEXFILTER_ANISO_OPTS2_ON                          = 0x00000001,\n    PS_TEXFILTER_ANISO_OPTS2_NUM_VALUES = 2,\n    PS_TEXFILTER_ANISO_OPTS2_DEFAULT = PS_TEXFILTER_ANISO_OPTS2_OFF\n};\n\nenum EValues_PS_TEXFILTER_BILINEAR_IN_ANISO {\n    PS_TEXFILTER_BILINEAR_IN_ANISO_OFF                   = 0x00000000,\n    PS_TEXFILTER_BILINEAR_IN_ANISO_ON                    = 0x00000001,\n    PS_TEXFILTER_BILINEAR_IN_ANISO_NUM_VALUES = 2,\n    PS_TEXFILTER_BILINEAR_IN_ANISO_DEFAULT = PS_TEXFILTER_BILINEAR_IN_ANISO_OFF\n};\n\nenum EValues_PS_TEXFILTER_DISABLE_TRILIN_SLOPE {\n    PS_TEXFILTER_DISABLE_TRILIN_SLOPE_OFF                = 0x00000000,\n    PS_TEXFILTER_DISABLE_TRILIN_SLOPE_ON                 = 0x00000001,\n    PS_TEXFILTER_DISABLE_TRILIN_SLOPE_NUM_VALUES = 2,\n    PS_TEXFILTER_DISABLE_TRILIN_SLOPE_DEFAULT = PS_TEXFILTER_DISABLE_TRILIN_SLOPE_OFF\n};\n\nenum EValues_PS_TEXFILTER_NO_NEG_LODBIAS {\n    PS_TEXFILTER_NO_NEG_LODBIAS_OFF                      = 0x00000000,\n    PS_TEXFILTER_NO_NEG_LODBIAS_ON                       = 0x00000001,\n    PS_TEXFILTER_NO_NEG_LODBIAS_NUM_VALUES = 2,\n    PS_TEXFILTER_NO_NEG_LODBIAS_DEFAULT = PS_TEXFILTER_NO_NEG_LODBIAS_OFF\n};\n\nenum EValues_QUALITY_ENHANCEMENTS {\n    QUALITY_ENHANCEMENTS_HIGHQUALITY                     = 0xfffffff6,\n    QUALITY_ENHANCEMENTS_QUALITY                         = 0x00000000,\n    QUALITY_ENHANCEMENTS_PERFORMANCE                     = 0x0000000a,\n    QUALITY_ENHANCEMENTS_HIGHPERFORMANCE                 = 0x00000014,\n    QUALITY_ENHANCEMENTS_NUM_VALUES = 4,\n    QUALITY_ENHANCEMENTS_DEFAULT = QUALITY_ENHANCEMENTS_QUALITY\n};\n\nenum EValues_REFRESH_RATE_OVERRIDE {\n    REFRESH_RATE_OVERRIDE_APPLICATION_CONTROLLED         = 0x00000000,\n    REFRESH_RATE_OVERRIDE_HIGHEST_AVAILABLE              = 0x00000001,\n    REFRESH_RATE_OVERRIDE_LOW_LATENCY_RR_MASK            = 0x00000FF0,\n    REFRESH_RATE_OVERRIDE_NUM_VALUES = 3,\n    REFRESH_RATE_OVERRIDE_DEFAULT = REFRESH_RATE_OVERRIDE_APPLICATION_CONTROLLED\n};\n\nenum EValues_SET_POWER_THROTTLE_FOR_PCIe_COMPLIANCE {\n    SET_POWER_THROTTLE_FOR_PCIe_COMPLIANCE_OFF           = 0x00000000,\n    SET_POWER_THROTTLE_FOR_PCIe_COMPLIANCE_ON            = 0x00000001,\n    SET_POWER_THROTTLE_FOR_PCIe_COMPLIANCE_NUM_VALUES = 2,\n    SET_POWER_THROTTLE_FOR_PCIe_COMPLIANCE_DEFAULT = SET_POWER_THROTTLE_FOR_PCIe_COMPLIANCE_OFF\n};\n\nenum EValues_SET_VAB_DATA {\n    SET_VAB_DATA_ZERO                                    = 0x00000000,\n    SET_VAB_DATA_UINT_ONE                                = 0x00000001,\n    SET_VAB_DATA_FLOAT_ONE                               = 0x3f800000,\n    SET_VAB_DATA_FLOAT_POS_INF                           = 0x7f800000,\n    SET_VAB_DATA_FLOAT_NAN                               = 0x7fc00000,\n    SET_VAB_DATA_USE_API_DEFAULTS                        = 0xffffffff,\n    SET_VAB_DATA_NUM_VALUES = 6,\n    SET_VAB_DATA_DEFAULT = SET_VAB_DATA_USE_API_DEFAULTS\n};\n\nenum EValues_VSYNCMODE {\n    VSYNCMODE_PASSIVE                                    = 0x60925292,\n    VSYNCMODE_FORCEOFF                                   = 0x08416747,\n    VSYNCMODE_FORCEON                                    = 0x47814940,\n    VSYNCMODE_FLIPINTERVAL2                              = 0x32610244,\n    VSYNCMODE_FLIPINTERVAL3                              = 0x71271021,\n    VSYNCMODE_FLIPINTERVAL4                              = 0x13245256,\n    VSYNCMODE_VIRTUAL                                    = 0x18888888,\n    VSYNCMODE_NUM_VALUES = 7,\n    VSYNCMODE_DEFAULT = VSYNCMODE_PASSIVE\n};\n\nenum EValues_VSYNCTEARCONTROL {\n    VSYNCTEARCONTROL_DISABLE                             = 0x96861077,\n    VSYNCTEARCONTROL_ENABLE                              = 0x99941284,\n    VSYNCTEARCONTROL_NUM_VALUES = 2,\n    VSYNCTEARCONTROL_DEFAULT = VSYNCTEARCONTROL_DISABLE\n};\n\n\n\ntypedef struct _SettingDWORDNameString {\n    NvU32 settingId;\n    const wchar_t * settingNameString;\n    NvU32 numSettingValues;\n    NvU32 *settingValues;\n    NvU32 defaultValue;\n} SettingDWORDNameString;\n\ntypedef struct _SettingWSTRINGNameString {\n    NvU32 settingId;\n    const wchar_t * settingNameString;\n    NvU32 numSettingValues;\n    const wchar_t **settingValues;\n    const wchar_t * defaultValue;\n} SettingWSTRINGNameString;\n\n\n#endif // _NVAPI_DRIVER_SETTINGS_H_\n\n"
  },
  {
    "path": "external/nvapi/include/nvHLSLExtns.h",
    "content": " /************************************************************************************************************************************\\\n|*                                                                                                                                    *|\n|*     Copyright  2012 NVIDIA Corporation.  All rights reserved.                                                                     *|\n|*                                                                                                                                    *|\n|*  NOTICE TO USER:                                                                                                                   *|\n|*                                                                                                                                    *|\n|*  This software is subject to NVIDIA ownership rights under U.S. and international Copyright laws.                                  *|\n|*                                                                                                                                    *|\n|*  This software and the information contained herein are PROPRIETARY and CONFIDENTIAL to NVIDIA                                     *|\n|*  and are being provided solely under the terms and conditions of an NVIDIA software license agreement.                             *|\n|*  Otherwise, you have no rights to use or access this software in any manner.                                                       *|\n|*                                                                                                                                    *|\n|*  If not covered by the applicable NVIDIA software license agreement:                                                               *|\n|*  NVIDIA MAKES NO REPRESENTATION ABOUT THE SUITABILITY OF THIS SOFTWARE FOR ANY PURPOSE.                                            *|\n|*  IT IS PROVIDED \"AS IS\" WITHOUT EXPRESS OR IMPLIED WARRANTY OF ANY KIND.                                                           *|\n|*  NVIDIA DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,                                                                     *|\n|*  INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE.                       *|\n|*  IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES,                               *|\n|*  OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,  WHETHER IN AN ACTION OF CONTRACT,                         *|\n|*  NEGLIGENCE OR OTHER TORTIOUS ACTION,  ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOURCE CODE.            *|\n|*                                                                                                                                    *|\n|*  U.S. Government End Users.                                                                                                        *|\n|*  This software is a \"commercial item\" as that term is defined at 48 C.F.R. 2.101 (OCT 1995),                                       *|\n|*  consisting  of \"commercial computer  software\"  and \"commercial computer software documentation\"                                  *|\n|*  as such terms are  used in 48 C.F.R. 12.212 (SEPT 1995) and is provided to the U.S. Government only as a commercial end item.     *|\n|*  Consistent with 48 C.F.R.12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (JUNE 1995),                                          *|\n|*  all U.S. Government End Users acquire the software with only those rights set forth herein.                                       *|\n|*                                                                                                                                    *|\n|*  Any use of this software in individual and commercial software must include,                                                      *|\n|*  in the user documentation and internal comments to the code,                                                                      *|\n|*  the above Disclaimer (as applicable) and U.S. Government End Users Notice.                                                        *|\n|*                                                                                                                                    *|\n \\************************************************************************************************************************************/\n\n////////////////////////// NVIDIA SHADER EXTENSIONS /////////////////\n\n// this file is to be #included in the app HLSL shader code to make\n// use of nvidia shader extensions\n\n\n#include \"nvHLSLExtnsInternal.h\"\n\n//----------------------------------------------------------------------------//\n//------------------------- Warp Shuffle Functions ---------------------------//\n//----------------------------------------------------------------------------//\n\n// all functions have variants with width parameter which permits sub-division \n// of the warp into segments - for example to exchange data between 4 groups of \n// 8 lanes in a SIMD manner. If width is less than warpSize then each subsection \n// of the warp behaves as a separate entity with a starting logical lane ID of 0. \n// A thread may only exchange data with others in its own subsection. Width must \n// have a value which is a power of 2 so that the warp can be subdivided equally; \n// results are undefined if width is not a power of 2, or is a number greater \n// than warpSize.\n\n//\n// simple variant of SHFL instruction\n// returns val from the specified lane\n// optional width parameter must be a power of two and width <= 32\n// \nint NvShfl(int val, uint srcLane, int width = NV_WARP_SIZE)\n{\n    uint index = g_NvidiaExt.IncrementCounter();\n    g_NvidiaExt[index].src0u.x  =  val;                             // variable to be shuffled\n    g_NvidiaExt[index].src0u.y  =  srcLane;                         // source lane\n    g_NvidiaExt[index].src0u.z  =  __NvGetShflMaskFromWidth(width);\n    g_NvidiaExt[index].opcode   =  NV_EXTN_OP_SHFL;\n    \n    // result is returned as the return value of IncrementCounter on fake UAV slot\n    return g_NvidiaExt.IncrementCounter();\n}\n\n//\n// Copy from a lane with lower ID relative to caller\n//\nint NvShflUp(int val, uint delta, int width = NV_WARP_SIZE)\n{\n    uint index = g_NvidiaExt.IncrementCounter();\n    g_NvidiaExt[index].src0u.x  =  val;                        // variable to be shuffled\n    g_NvidiaExt[index].src0u.y  =  delta;                      // relative lane offset\n    g_NvidiaExt[index].src0u.z  =  (NV_WARP_SIZE - width) << 8;   // minIndex = maxIndex for shfl_up (src2[4:0] is expected to be 0)\n    g_NvidiaExt[index].opcode   =  NV_EXTN_OP_SHFL_UP;\n    return g_NvidiaExt.IncrementCounter();\n}\n\n//\n// Copy from a lane with higher ID relative to caller\n//\nint NvShflDown(int val, uint delta, int width = NV_WARP_SIZE)\n{\n    uint index = g_NvidiaExt.IncrementCounter();\n    g_NvidiaExt[index].src0u.x  =  val;           // variable to be shuffled\n    g_NvidiaExt[index].src0u.y  =  delta;         // relative lane offset\n    g_NvidiaExt[index].src0u.z  =  __NvGetShflMaskFromWidth(width);\n    g_NvidiaExt[index].opcode   =  NV_EXTN_OP_SHFL_DOWN;\n    return g_NvidiaExt.IncrementCounter();\n}\n\n//\n// Copy from a lane based on bitwise XOR of own lane ID\n//\nint NvShflXor(int val, uint laneMask, int width = NV_WARP_SIZE)\n{\n    uint index = g_NvidiaExt.IncrementCounter();\n    g_NvidiaExt[index].src0u.x  =  val;           // variable to be shuffled\n    g_NvidiaExt[index].src0u.y  =  laneMask;      // laneMask to be XOR'ed with current laneId to get the source lane id\n    g_NvidiaExt[index].src0u.z  =  __NvGetShflMaskFromWidth(width); \n    g_NvidiaExt[index].opcode   =  NV_EXTN_OP_SHFL_XOR;\n    return g_NvidiaExt.IncrementCounter();\n}\n\n\n//----------------------------------------------------------------------------//\n//----------------------------- Warp Vote Functions---------------------------//\n//----------------------------------------------------------------------------//\n\n// returns 0xFFFFFFFF if the predicate is true for any thread in the warp, returns 0 otherwise\nuint NvAny(int predicate)\n{\n    uint index = g_NvidiaExt.IncrementCounter();\n    g_NvidiaExt[index].src0u.x  =  predicate;\n    g_NvidiaExt[index].opcode   = NV_EXTN_OP_VOTE_ANY;\n    return g_NvidiaExt.IncrementCounter();\n}\n\n// returns 0xFFFFFFFF if the predicate is true for ALL threads in the warp, returns 0 otherwise\nuint NvAll(int predicate)\n{\n    uint index = g_NvidiaExt.IncrementCounter();\n    g_NvidiaExt[index].src0u.x  =  predicate;\n    g_NvidiaExt[index].opcode   =  NV_EXTN_OP_VOTE_ALL;\n    return g_NvidiaExt.IncrementCounter();\n}\n\n// returns a mask of all threads in the warp with bits set for threads that have predicate true\nuint NvBallot(int predicate)\n{\n    uint index = g_NvidiaExt.IncrementCounter();\n    g_NvidiaExt[index].src0u.x  =  predicate;\n    g_NvidiaExt[index].opcode   =  NV_EXTN_OP_VOTE_BALLOT;\n    return g_NvidiaExt.IncrementCounter();\n}\n\n\n//----------------------------------------------------------------------------//\n//----------------------------- Utility Functions ----------------------------//\n//----------------------------------------------------------------------------//\n\n// returns the lane index of the current thread (thread index in warp)\nint NvGetLaneId()\n{\n    uint index = g_NvidiaExt.IncrementCounter();\n    g_NvidiaExt[index].opcode   =  NV_EXTN_OP_GET_LANE_ID;\n    return g_NvidiaExt.IncrementCounter();\n}\n\n\n//----------------------------------------------------------------------------//\n//----------------------------- FP16 Atmoic Functions-------------------------//\n//----------------------------------------------------------------------------//\n\n// The functions below performs atomic operations on two consecutive fp16 \n// values in the given raw UAV. \n// The uint paramater 'fp16x2Val' is treated as two fp16 values byteAddress must be multiple of 4\n// The returned value are the two fp16 values packed into a single uint\n\nuint NvInterlockedAddFp16x2(RWByteAddressBuffer uav, uint byteAddress, uint fp16x2Val)\n{\n    return __NvAtomicOpFP16x2(uav, byteAddress, fp16x2Val, NV_EXTN_ATOM_ADD);\n}\n\nuint NvInterlockedMinFp16x2(RWByteAddressBuffer uav, uint byteAddress, uint fp16x2Val)\n{\n    return __NvAtomicOpFP16x2(uav, byteAddress, fp16x2Val, NV_EXTN_ATOM_MIN);\n}\n\nuint NvInterlockedMaxFp16x2(RWByteAddressBuffer uav, uint byteAddress, uint fp16x2Val)\n{\n    return __NvAtomicOpFP16x2(uav, byteAddress, fp16x2Val, NV_EXTN_ATOM_MAX);\n}\n\n\n// versions of the above functions taking two fp32 values (internally converted to fp16 values)\nuint NvInterlockedAddFp16x2(RWByteAddressBuffer uav, uint byteAddress, float2 val)\n{\n    return __NvAtomicOpFP16x2(uav, byteAddress, __fp32x2Tofp16x2(val), NV_EXTN_ATOM_ADD);\n}\n\nuint NvInterlockedMinFp16x2(RWByteAddressBuffer uav, uint byteAddress, float2 val)\n{\n    return __NvAtomicOpFP16x2(uav, byteAddress, __fp32x2Tofp16x2(val), NV_EXTN_ATOM_MIN);\n}\n\nuint NvInterlockedMaxFp16x2(RWByteAddressBuffer uav, uint byteAddress, float2 val)\n{\n    return __NvAtomicOpFP16x2(uav, byteAddress, __fp32x2Tofp16x2(val), NV_EXTN_ATOM_MAX);\n}\n\n\n//----------------------------------------------------------------------------//\n\n// The functions below perform atomic operation on a R16G16_FLOAT UAV at the given address\n// the uint paramater 'fp16x2Val' is treated as two fp16 values\n// the returned value are the two fp16 values (.x and .y components) packed into a single uint\n// Warning: Behaviour of these set of functions is undefined if the UAV is not \n// of R16G16_FLOAT format (might result in app crash or TDR)\n\nuint NvInterlockedAddFp16x2(RWTexture1D<float2> uav, uint address, uint fp16x2Val)\n{\n    return __NvAtomicOpFP16x2(uav, address, fp16x2Val, NV_EXTN_ATOM_ADD);\n}\n\nuint NvInterlockedMinFp16x2(RWTexture1D<float2> uav, uint address, uint fp16x2Val)\n{\n    return __NvAtomicOpFP16x2(uav, address, fp16x2Val, NV_EXTN_ATOM_MIN);\n}\n\nuint NvInterlockedMaxFp16x2(RWTexture1D<float2> uav, uint address, uint fp16x2Val)\n{\n    return __NvAtomicOpFP16x2(uav, address, fp16x2Val, NV_EXTN_ATOM_MAX);\n}\n\nuint NvInterlockedAddFp16x2(RWTexture2D<float2> uav, uint2 address, uint fp16x2Val)\n{\n    return __NvAtomicOpFP16x2(uav, address, fp16x2Val, NV_EXTN_ATOM_ADD);\n}\n\nuint NvInterlockedMinFp16x2(RWTexture2D<float2> uav, uint2 address, uint fp16x2Val)\n{\n    return __NvAtomicOpFP16x2(uav, address, fp16x2Val, NV_EXTN_ATOM_MIN);\n}\n\nuint NvInterlockedMaxFp16x2(RWTexture2D<float2> uav, uint2 address, uint fp16x2Val)\n{\n    return __NvAtomicOpFP16x2(uav, address, fp16x2Val, NV_EXTN_ATOM_MAX);\n}\n\nuint NvInterlockedAddFp16x2(RWTexture3D<float2> uav, uint3 address, uint fp16x2Val)\n{\n    return __NvAtomicOpFP16x2(uav, address, fp16x2Val, NV_EXTN_ATOM_ADD);\n}\n\nuint NvInterlockedMinFp16x2(RWTexture3D<float2> uav, uint3 address, uint fp16x2Val)\n{\n    return __NvAtomicOpFP16x2(uav, address, fp16x2Val, NV_EXTN_ATOM_MIN);\n}\n\nuint NvInterlockedMaxFp16x2(RWTexture3D<float2> uav, uint3 address, uint fp16x2Val)\n{\n    return __NvAtomicOpFP16x2(uav, address, fp16x2Val, NV_EXTN_ATOM_MAX);\n}\n\n\n// versions taking two fp32 values (internally converted to fp16)\nuint NvInterlockedAddFp16x2(RWTexture1D<float2> uav, uint address, float2 val)\n{\n    return __NvAtomicOpFP16x2(uav, address, __fp32x2Tofp16x2(val), NV_EXTN_ATOM_ADD);\n}\n\nuint NvInterlockedMinFp16x2(RWTexture1D<float2> uav, uint address, float2 val)\n{\n    return __NvAtomicOpFP16x2(uav, address, __fp32x2Tofp16x2(val), NV_EXTN_ATOM_MIN);\n}\n\nuint NvInterlockedMaxFp16x2(RWTexture1D<float2> uav, uint address, float2 val)\n{\n    return __NvAtomicOpFP16x2(uav, address, __fp32x2Tofp16x2(val), NV_EXTN_ATOM_MAX);\n}\n\nuint NvInterlockedAddFp16x2(RWTexture2D<float2> uav, uint2 address, float2 val)\n{\n    return __NvAtomicOpFP16x2(uav, address, __fp32x2Tofp16x2(val), NV_EXTN_ATOM_ADD);\n}\n\nuint NvInterlockedMinFp16x2(RWTexture2D<float2> uav, uint2 address, float2 val)\n{\n    return __NvAtomicOpFP16x2(uav, address, __fp32x2Tofp16x2(val), NV_EXTN_ATOM_MIN);\n}\n\nuint NvInterlockedMaxFp16x2(RWTexture2D<float2> uav, uint2 address, float2 val)\n{\n    return __NvAtomicOpFP16x2(uav, address, __fp32x2Tofp16x2(val), NV_EXTN_ATOM_MAX);\n}\n\nuint NvInterlockedAddFp16x2(RWTexture3D<float2> uav, uint3 address, float2 val)\n{\n    return __NvAtomicOpFP16x2(uav, address, __fp32x2Tofp16x2(val), NV_EXTN_ATOM_ADD);\n}\n\nuint NvInterlockedMinFp16x2(RWTexture3D<float2> uav, uint3 address, float2 val)\n{\n    return __NvAtomicOpFP16x2(uav, address, __fp32x2Tofp16x2(val), NV_EXTN_ATOM_MIN);\n}\n\nuint NvInterlockedMaxFp16x2(RWTexture3D<float2> uav, uint3 address, float2 val)\n{\n    return __NvAtomicOpFP16x2(uav, address, __fp32x2Tofp16x2(val), NV_EXTN_ATOM_MAX);\n}\n\n\n//----------------------------------------------------------------------------//\n\n// The functions below perform Atomic operation on a R16G16B16A16_FLOAT UAV at the given address\n// the uint2 paramater 'fp16x2Val' is treated as four fp16 values \n// i.e, fp16x2Val.x = uav.xy and fp16x2Val.y = uav.yz\n// The returned value are the four fp16 values (.xyzw components) packed into uint2\n// Warning: Behaviour of these set of functions is undefined if the UAV is not \n// of R16G16B16A16_FLOAT format (might result in app crash or TDR)\n\nuint2 NvInterlockedAddFp16x4(RWTexture1D<float4> uav, uint address, uint2 fp16x2Val)\n{\n    return __NvAtomicOpFP16x2(uav, address, fp16x2Val, NV_EXTN_ATOM_ADD);\n}\n\nuint2 NvInterlockedMinFp16x4(RWTexture1D<float4> uav, uint address, uint2 fp16x2Val)\n{\n    return __NvAtomicOpFP16x2(uav, address, fp16x2Val, NV_EXTN_ATOM_MIN);\n}\n\nuint2 NvInterlockedMaxFp16x4(RWTexture1D<float4> uav, uint address, uint2 fp16x2Val)\n{\n    return __NvAtomicOpFP16x2(uav, address, fp16x2Val, NV_EXTN_ATOM_MAX);\n}\n\nuint2 NvInterlockedAddFp16x4(RWTexture2D<float4> uav, uint2 address, uint2 fp16x2Val)\n{\n    return __NvAtomicOpFP16x2(uav, address, fp16x2Val, NV_EXTN_ATOM_ADD);\n}\n\nuint2 NvInterlockedMinFp16x4(RWTexture2D<float4> uav, uint2 address, uint2 fp16x2Val)\n{\n    return __NvAtomicOpFP16x2(uav, address, fp16x2Val, NV_EXTN_ATOM_MIN);\n}\n\nuint2 NvInterlockedMaxFp16x4(RWTexture2D<float4> uav, uint2 address, uint2 fp16x2Val)\n{\n    return __NvAtomicOpFP16x2(uav, address, fp16x2Val, NV_EXTN_ATOM_MAX);\n}\n\nuint2 NvInterlockedAddFp16x4(RWTexture3D<float4> uav, uint3 address, uint2 fp16x2Val)\n{\n    return __NvAtomicOpFP16x2(uav, address, fp16x2Val, NV_EXTN_ATOM_ADD);\n}\n\nuint2 NvInterlockedMinFp16x4(RWTexture3D<float4> uav, uint3 address, uint2 fp16x2Val)\n{\n    return __NvAtomicOpFP16x2(uav, address, fp16x2Val, NV_EXTN_ATOM_MIN);\n}\n\nuint2 NvInterlockedMaxFp16x4(RWTexture3D<float4> uav, uint3 address, uint2 fp16x2Val)\n{\n    return __NvAtomicOpFP16x2(uav, address, fp16x2Val, NV_EXTN_ATOM_MAX);\n}\n\n// versions taking four fp32 values (internally converted to fp16)\nuint2 NvInterlockedAddFp16x4(RWTexture1D<float4> uav, uint address, float4 val)\n{\n    return __NvAtomicOpFP16x2(uav, address, __fp32x4Tofp16x4(val), NV_EXTN_ATOM_ADD);\n}\n\nuint2 NvInterlockedMinFp16x4(RWTexture1D<float4> uav, uint address, float4 val)\n{\n    return __NvAtomicOpFP16x2(uav, address, __fp32x4Tofp16x4(val), NV_EXTN_ATOM_MIN);\n}\n\nuint2 NvInterlockedMaxFp16x4(RWTexture1D<float4> uav, uint address, float4 val)\n{\n    return __NvAtomicOpFP16x2(uav, address, __fp32x4Tofp16x4(val), NV_EXTN_ATOM_MAX);\n}\n\nuint2 NvInterlockedAddFp16x4(RWTexture2D<float4> uav, uint2 address, float4 val)\n{\n    return __NvAtomicOpFP16x2(uav, address, __fp32x4Tofp16x4(val), NV_EXTN_ATOM_ADD);\n}\n\nuint2 NvInterlockedMinFp16x4(RWTexture2D<float4> uav, uint2 address, float4 val)\n{\n    return __NvAtomicOpFP16x2(uav, address, __fp32x4Tofp16x4(val), NV_EXTN_ATOM_MIN);\n}\n\nuint2 NvInterlockedMaxFp16x4(RWTexture2D<float4> uav, uint2 address, float4 val)\n{\n    return __NvAtomicOpFP16x2(uav, address, __fp32x4Tofp16x4(val), NV_EXTN_ATOM_MAX);\n}\n\nuint2 NvInterlockedAddFp16x4(RWTexture3D<float4> uav, uint3 address, float4 val)\n{\n    return __NvAtomicOpFP16x2(uav, address, __fp32x4Tofp16x4(val), NV_EXTN_ATOM_ADD);\n}\n\nuint2 NvInterlockedMinFp16x4(RWTexture3D<float4> uav, uint3 address, float4 val)\n{\n    return __NvAtomicOpFP16x2(uav, address, __fp32x4Tofp16x4(val), NV_EXTN_ATOM_MIN);\n}\n\nuint2 NvInterlockedMaxFp16x4(RWTexture3D<float4> uav, uint3 address, float4 val)\n{\n    return __NvAtomicOpFP16x2(uav, address, __fp32x4Tofp16x4(val), NV_EXTN_ATOM_MAX);\n}\n\n\n//----------------------------------------------------------------------------//\n//----------------------------- FP32 Atmoic Functions-------------------------//\n//----------------------------------------------------------------------------//\n\n// The functions below performs atomic add on the given UAV treating the value as float\n// byteAddress must be multiple of 4\n// The returned value is the value present in memory location before the atomic add\n\nfloat NvInterlockedAddFp32(RWByteAddressBuffer uav, uint byteAddress, float val)\n{\n    return __NvAtomicAddFP32(uav, byteAddress, val);\n}\n\n//----------------------------------------------------------------------------//\n\n// The functions below perform atomic add on a R32_FLOAT UAV at the given address\n// the returned value is the value before performing the atomic add\n// Warning: Behaviour of these set of functions is undefined if the UAV is not \n// of R32_FLOAT format (might result in app crash or TDR)\n\nfloat NvInterlockedAddFp32(RWTexture1D<float> uav, uint address, float val)\n{\n    return __NvAtomicAddFP32(uav, address, val);\n}\n\nfloat NvInterlockedAddFp32(RWTexture2D<float> uav, uint2 address, float val)\n{\n    return __NvAtomicAddFP32(uav, address, val);\n}\n\nfloat NvInterlockedAddFp32(RWTexture3D<float> uav, uint3 address, float val)\n{\n    return __NvAtomicAddFP32(uav, address, val);\n}\n\n"
  },
  {
    "path": "external/nvapi/include/nvHLSLExtnsInternal.h",
    "content": " /************************************************************************************************************************************\\\n|*                                                                                                                                    *|\n|*     Copyright  2012 NVIDIA Corporation.  All rights reserved.                                                                     *|\n|*                                                                                                                                    *|\n|*  NOTICE TO USER:                                                                                                                   *|\n|*                                                                                                                                    *|\n|*  This software is subject to NVIDIA ownership rights under U.S. and international Copyright laws.                                  *|\n|*                                                                                                                                    *|\n|*  This software and the information contained herein are PROPRIETARY and CONFIDENTIAL to NVIDIA                                     *|\n|*  and are being provided solely under the terms and conditions of an NVIDIA software license agreement.                             *|\n|*  Otherwise, you have no rights to use or access this software in any manner.                                                       *|\n|*                                                                                                                                    *|\n|*  If not covered by the applicable NVIDIA software license agreement:                                                               *|\n|*  NVIDIA MAKES NO REPRESENTATION ABOUT THE SUITABILITY OF THIS SOFTWARE FOR ANY PURPOSE.                                            *|\n|*  IT IS PROVIDED \"AS IS\" WITHOUT EXPRESS OR IMPLIED WARRANTY OF ANY KIND.                                                           *|\n|*  NVIDIA DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,                                                                     *|\n|*  INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE.                       *|\n|*  IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES,                               *|\n|*  OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,  WHETHER IN AN ACTION OF CONTRACT,                         *|\n|*  NEGLIGENCE OR OTHER TORTIOUS ACTION,  ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOURCE CODE.            *|\n|*                                                                                                                                    *|\n|*  U.S. Government End Users.                                                                                                        *|\n|*  This software is a \"commercial item\" as that term is defined at 48 C.F.R. 2.101 (OCT 1995),                                       *|\n|*  consisting  of \"commercial computer  software\"  and \"commercial computer software documentation\"                                  *|\n|*  as such terms are  used in 48 C.F.R. 12.212 (SEPT 1995) and is provided to the U.S. Government only as a commercial end item.     *|\n|*  Consistent with 48 C.F.R.12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (JUNE 1995),                                          *|\n|*  all U.S. Government End Users acquire the software with only those rights set forth herein.                                       *|\n|*                                                                                                                                    *|\n|*  Any use of this software in individual and commercial software must include,                                                      *|\n|*  in the user documentation and internal comments to the code,                                                                      *|\n|*  the above Disclaimer (as applicable) and U.S. Government End Users Notice.                                                        *|\n|*                                                                                                                                    *|\n \\************************************************************************************************************************************/\n\n////////////////////////// NVIDIA SHADER EXTENSIONS /////////////////\n// internal functions\n// Functions in this file are not expected to be called by apps directly\n\n#include \"nvShaderExtnEnums.h\"\n\nstruct NvShaderExtnStruct\n{\n    uint   opcode;      // opcode\n    uint   rid;         // resource ID\n    uint   sid;         // sampler ID\n\n    uint4  dst1u;       // destination operand 1 (for instructions that need extra destination operands)\n    uint4  padding0[3]; // currently unused\n\n    uint4  src0u;       // uint source operand  0\n    uint4  src1u;       // uint source operand  0\n    uint4  src2u;       // uint source operand  0\n    uint4  dst0u;       // uint destination operand\n\n    uint   markUavRef;  // the next store to UAV is fake and is used only to identify the uav slot\n    float  padding1[28];// struct size: 256 bytes\n};\n\n// RW structured buffer for Nvidia shader extensions\n\n// Application needs to define NV_SHADER_EXTN_SLOT as a unused slot, which should be \n// set using NvAPI_D3D11_SetNvShaderExtnSlot() call before creating the first shader that\n// uses nvidia shader extensions. E.g before including this file in shader define it as:\n// #define NV_SHADER_EXTN_SLOT u7\n\n// For SM5.1, application needs to define NV_SHADER_EXTN_REGISTER_SPACE as register space\n// E.g. before including this file in shader define it as:\n// #define NV_SHADER_EXTN_REGISTER_SPACE space2\n\n// Note that other operations to this UAV will be ignored so application\n// should bind a null resource\n\n#ifdef NV_SHADER_EXTN_REGISTER_SPACE\nRWStructuredBuffer<NvShaderExtnStruct> g_NvidiaExt : register( NV_SHADER_EXTN_SLOT, NV_SHADER_EXTN_REGISTER_SPACE );\n#else\nRWStructuredBuffer<NvShaderExtnStruct> g_NvidiaExt : register( NV_SHADER_EXTN_SLOT );\n#endif\n\n//----------------------------------------------------------------------------//\n// the exposed SHFL instructions accept a mask parameter in src2\n// To compute lane mask from width of segment:\n// minLaneID : currentLaneId & src2[12:8]\n// maxLaneID : minLaneId | (src2[4:0] & ~src2[12:8])\n// where [minLaneId, maxLaneId] defines the segment where currentLaneId belongs\n// we always set src2[4:0] to 11111 (0x1F), and set src2[12:8] as (32 - width)\nint __NvGetShflMaskFromWidth(uint width)\n{\n    return ((NV_WARP_SIZE - width) << 8) | 0x1F;\n}\n\n//----------------------------------------------------------------------------//\n\nvoid __NvReferenceUAVForOp(RWByteAddressBuffer uav)\n{\n    uint index = g_NvidiaExt.IncrementCounter();\n    g_NvidiaExt[index].markUavRef = 1;\n    uav.Store(index, 0);\n}\n\nvoid __NvReferenceUAVForOp(RWTexture1D<float2> uav)\n{\n    uint index = g_NvidiaExt.IncrementCounter();\n    g_NvidiaExt[index].markUavRef = 1;\n    uav[index] = float2(0,0);\n}\n\nvoid __NvReferenceUAVForOp(RWTexture2D<float2> uav)\n{\n    uint index = g_NvidiaExt.IncrementCounter();\n    g_NvidiaExt[index].markUavRef = 1;\n    uav[uint2(index,index)] = float2(0,0);\n}\n\nvoid __NvReferenceUAVForOp(RWTexture3D<float2> uav)\n{\n    uint index = g_NvidiaExt.IncrementCounter();\n    g_NvidiaExt[index].markUavRef = 1;\n    uav[uint3(index,index,index)] = float2(0,0);\n}\n\nvoid __NvReferenceUAVForOp(RWTexture1D<float4> uav)\n{\n    uint index = g_NvidiaExt.IncrementCounter();\n    g_NvidiaExt[index].markUavRef = 1;\n    uav[index] = float4(0,0,0,0);\n}\n\nvoid __NvReferenceUAVForOp(RWTexture2D<float4> uav)\n{\n    uint index = g_NvidiaExt.IncrementCounter();\n    g_NvidiaExt[index].markUavRef = 1;\n    uav[uint2(index,index)] = float4(0,0,0,0);\n}\n\nvoid __NvReferenceUAVForOp(RWTexture3D<float4> uav)\n{\n    uint index = g_NvidiaExt.IncrementCounter();\n    g_NvidiaExt[index].markUavRef = 1;\n    uav[uint3(index,index,index)] = float4(0,0,0,0);\n}\n\nvoid __NvReferenceUAVForOp(RWTexture1D<float> uav)\n{\n    uint index = g_NvidiaExt.IncrementCounter();\n    g_NvidiaExt[index].markUavRef = 1;\n    uav[index] = 0.0f;\n}\n\nvoid __NvReferenceUAVForOp(RWTexture2D<float> uav)\n{\n    uint index = g_NvidiaExt.IncrementCounter();\n    g_NvidiaExt[index].markUavRef = 1;\n    uav[uint2(index,index)] = 0.0f;\n}\n\nvoid __NvReferenceUAVForOp(RWTexture3D<float> uav)\n{\n    uint index = g_NvidiaExt.IncrementCounter();\n    g_NvidiaExt[index].markUavRef = 1;\n    uav[uint3(index,index,index)] = 0.0f;\n}\n\n\nvoid __NvReferenceUAVForOp(RWTexture1D<uint2> uav)\n{\n    uint index = g_NvidiaExt.IncrementCounter();\n    g_NvidiaExt[index].markUavRef = 1;\n    uav[index] = uint2(0,0);\n}\n\nvoid __NvReferenceUAVForOp(RWTexture2D<uint2> uav)\n{\n    uint index = g_NvidiaExt.IncrementCounter();\n    g_NvidiaExt[index].markUavRef = 1;\n    uav[uint2(index,index)] = uint2(0,0);\n}\n\nvoid __NvReferenceUAVForOp(RWTexture3D<uint2> uav)\n{\n    uint index = g_NvidiaExt.IncrementCounter();\n    g_NvidiaExt[index].markUavRef = 1;\n    uav[uint3(index,index,index)] = uint2(0,0);\n}\n\nvoid __NvReferenceUAVForOp(RWTexture1D<uint4> uav)\n{\n    uint index = g_NvidiaExt.IncrementCounter();\n    g_NvidiaExt[index].markUavRef = 1;\n    uav[index] = uint4(0,0,0,0);\n}\n\nvoid __NvReferenceUAVForOp(RWTexture2D<uint4> uav)\n{\n    uint index = g_NvidiaExt.IncrementCounter();\n    g_NvidiaExt[index].markUavRef = 1;\n    uav[uint2(index,index)] = uint4(0,0,0,0);\n}\n\nvoid __NvReferenceUAVForOp(RWTexture3D<uint4> uav)\n{\n    uint index = g_NvidiaExt.IncrementCounter();\n    g_NvidiaExt[index].markUavRef = 1;\n    uav[uint3(index,index,index)] = uint4(0,0,0,0);\n}\n\nvoid __NvReferenceUAVForOp(RWTexture1D<uint> uav)\n{\n    uint index = g_NvidiaExt.IncrementCounter();\n    g_NvidiaExt[index].markUavRef = 1;\n    uav[index] = 0;\n}\n\nvoid __NvReferenceUAVForOp(RWTexture2D<uint> uav)\n{\n    uint index = g_NvidiaExt.IncrementCounter();\n    g_NvidiaExt[index].markUavRef = 1;\n    uav[uint2(index,index)] = 0;\n}\n\nvoid __NvReferenceUAVForOp(RWTexture3D<uint> uav)\n{\n    uint index = g_NvidiaExt.IncrementCounter();\n    g_NvidiaExt[index].markUavRef = 1;\n    uav[uint3(index,index,index)] = 0;\n}\n\nvoid __NvReferenceUAVForOp(RWTexture1D<int2> uav)\n{\n    uint index = g_NvidiaExt.IncrementCounter();\n    g_NvidiaExt[index].markUavRef = 1;\n    uav[index] = int2(0,0);\n}\n\nvoid __NvReferenceUAVForOp(RWTexture2D<int2> uav)\n{\n    uint index = g_NvidiaExt.IncrementCounter();\n    g_NvidiaExt[index].markUavRef = 1;\n    uav[uint2(index,index)] = int2(0,0);\n}\n\nvoid __NvReferenceUAVForOp(RWTexture3D<int2> uav)\n{\n    uint index = g_NvidiaExt.IncrementCounter();\n    g_NvidiaExt[index].markUavRef = 1;\n    uav[uint3(index,index,index)] = int2(0,0);\n}\n\nvoid __NvReferenceUAVForOp(RWTexture1D<int4> uav)\n{\n    uint index = g_NvidiaExt.IncrementCounter();\n    g_NvidiaExt[index].markUavRef = 1;\n    uav[index] = int4(0,0,0,0);\n}\n\nvoid __NvReferenceUAVForOp(RWTexture2D<int4> uav)\n{\n    uint index = g_NvidiaExt.IncrementCounter();\n    g_NvidiaExt[index].markUavRef = 1;\n    uav[uint2(index,index)] = int4(0,0,0,0);\n}\n\nvoid __NvReferenceUAVForOp(RWTexture3D<int4> uav)\n{\n    uint index = g_NvidiaExt.IncrementCounter();\n    g_NvidiaExt[index].markUavRef = 1;\n    uav[uint3(index,index,index)] = int4(0,0,0,0);\n}\n\nvoid __NvReferenceUAVForOp(RWTexture1D<int> uav)\n{\n    uint index = g_NvidiaExt.IncrementCounter();\n    g_NvidiaExt[index].markUavRef = 1;\n    uav[index] = 0;\n}\n\nvoid __NvReferenceUAVForOp(RWTexture2D<int> uav)\n{\n    uint index = g_NvidiaExt.IncrementCounter();\n    g_NvidiaExt[index].markUavRef = 1;\n    uav[uint2(index,index)] = 0;\n}\n\nvoid __NvReferenceUAVForOp(RWTexture3D<int> uav)\n{\n    uint index = g_NvidiaExt.IncrementCounter();\n    g_NvidiaExt[index].markUavRef = 1;\n    uav[uint3(index,index,index)] = 0;\n}\n\n//----------------------------------------------------------------------------//\n// ATOMIC op sub-opcodes\n#define NV_EXTN_ATOM_ADD                            3\n#define NV_EXTN_ATOM_MAX                            6\n#define NV_EXTN_ATOM_MIN                            7\n\n//----------------------------------------------------------------------------//\n\n// performs Atomic operation on two consecutive fp16 values in the given UAV\n// the uint paramater 'fp16x2Val' is treated as two fp16 values\n// the passed sub-opcode 'op' should be an immediate constant\n// byteAddress must be multiple of 4\n// the returned value are the two fp16 values packed into a single uint\nuint __NvAtomicOpFP16x2(RWByteAddressBuffer uav, uint byteAddress, uint fp16x2Val, uint atomicOpType)\n{\n    __NvReferenceUAVForOp(uav);\n    uint index = g_NvidiaExt.IncrementCounter();\n    g_NvidiaExt[index].src0u.x = byteAddress;\n    g_NvidiaExt[index].src1u.x = fp16x2Val;\n    g_NvidiaExt[index].src2u.x = atomicOpType;\n    g_NvidiaExt[index].opcode  = NV_EXTN_OP_FP16_ATOMIC;\n\n    return g_NvidiaExt[index].dst0u.x;    \n}\n\n//----------------------------------------------------------------------------//\n\n// performs Atomic operation on a R16G16_FLOAT UAV at the given address\n// the uint paramater 'fp16x2Val' is treated as two fp16 values\n// the passed sub-opcode 'op' should be an immediate constant\n// the returned value are the two fp16 values (.x and .y components) packed into a single uint\n// Warning: Behaviour of these set of functions is undefined if the UAV is not \n// of R16G16_FLOAT format (might result in app crash or TDR)\n\nuint __NvAtomicOpFP16x2(RWTexture1D<float2> uav, uint address, uint fp16x2Val, uint atomicOpType)\n{\n    __NvReferenceUAVForOp(uav);\n    uint index = g_NvidiaExt.IncrementCounter();\n    g_NvidiaExt[index].src0u.x    = address;\n    g_NvidiaExt[index].src1u.x    = fp16x2Val;\n    g_NvidiaExt[index].src2u.x    = atomicOpType;\n    g_NvidiaExt[index].opcode     = NV_EXTN_OP_FP16_ATOMIC;\n\n    return g_NvidiaExt[index].dst0u.x;    \n}\n\nuint __NvAtomicOpFP16x2(RWTexture2D<float2> uav, uint2 address, uint fp16x2Val, uint atomicOpType)\n{\n    __NvReferenceUAVForOp(uav);\n    uint index = g_NvidiaExt.IncrementCounter();\n    g_NvidiaExt[index].src0u.xy   = address;\n    g_NvidiaExt[index].src1u.x    = fp16x2Val;\n    g_NvidiaExt[index].src2u.x    = atomicOpType;\n    g_NvidiaExt[index].opcode     = NV_EXTN_OP_FP16_ATOMIC;\n\n    return g_NvidiaExt[index].dst0u.x;    \n}\n\nuint __NvAtomicOpFP16x2(RWTexture3D<float2> uav, uint3 address, uint fp16x2Val, uint atomicOpType)\n{\n    __NvReferenceUAVForOp(uav);\n    uint index = g_NvidiaExt.IncrementCounter();\n    g_NvidiaExt[index].src0u.xyz  = address;\n    g_NvidiaExt[index].src1u.x    = fp16x2Val;\n    g_NvidiaExt[index].src2u.x    = atomicOpType;\n    g_NvidiaExt[index].opcode     = NV_EXTN_OP_FP16_ATOMIC;\n\n    return g_NvidiaExt[index].dst0u.x;    \n}\n\n//----------------------------------------------------------------------------//\n\n// performs Atomic operation on a R16G16B16A16_FLOAT UAV at the given address\n// the uint2 paramater 'fp16x2Val' is treated as four fp16 values \n// i.e, fp16x2Val.x = uav.xy and fp16x2Val.y = uav.yz\n// the passed sub-opcode 'op' should be an immediate constant\n// the returned value are the four fp16 values (.xyzw components) packed into uint2\n// Warning: Behaviour of these set of functions is undefined if the UAV is not \n// of R16G16B16A16_FLOAT format (might result in app crash or TDR)\n\nuint2 __NvAtomicOpFP16x2(RWTexture1D<float4> uav, uint address, uint2 fp16x2Val, uint atomicOpType)\n{\n    __NvReferenceUAVForOp(uav);\n\n    // break it down into two fp16x2 atomic ops\n    uint2 retVal;\n\n    // first op has x-coordinate = x * 2\n    uint index = g_NvidiaExt.IncrementCounter();\n    g_NvidiaExt[index].src0u.x    = address * 2;\n    g_NvidiaExt[index].src1u.x    = fp16x2Val.x;\n    g_NvidiaExt[index].src2u.x    = atomicOpType;\n    g_NvidiaExt[index].opcode     = NV_EXTN_OP_FP16_ATOMIC;\n    retVal.x = g_NvidiaExt[index].dst0u.x;\n\n    // second op has x-coordinate = x * 2 + 1\n    index = g_NvidiaExt.IncrementCounter();\n    g_NvidiaExt[index].src0u.x    = address * 2 + 1;\n    g_NvidiaExt[index].src1u.x    = fp16x2Val.y;\n    g_NvidiaExt[index].src2u.x    = atomicOpType;\n    g_NvidiaExt[index].opcode     = NV_EXTN_OP_FP16_ATOMIC;\n    retVal.y = g_NvidiaExt[index].dst0u.x;\n\n    return retVal;\n}\n\nuint2 __NvAtomicOpFP16x2(RWTexture2D<float4> uav, uint2 address, uint2 fp16x2Val, uint atomicOpType)\n{\n    __NvReferenceUAVForOp(uav);\n\n    // break it down into two fp16x2 atomic ops\n    uint2 retVal;\n\n    // first op has x-coordinate = x * 2\n    uint2 addressTemp = uint2(address.x * 2, address.y);\n    uint index = g_NvidiaExt.IncrementCounter();\n    g_NvidiaExt[index].src0u.xy   = addressTemp;\n    g_NvidiaExt[index].src1u.x    = fp16x2Val.x;\n    g_NvidiaExt[index].src2u.x    = atomicOpType;\n    g_NvidiaExt[index].opcode     = NV_EXTN_OP_FP16_ATOMIC;\n    retVal.x = g_NvidiaExt[index].dst0u.x;\n\n    // second op has x-coordinate = x * 2 + 1\n    addressTemp.x++;\n    index = g_NvidiaExt.IncrementCounter();\n    g_NvidiaExt[index].src0u.xy   = addressTemp;\n    g_NvidiaExt[index].src1u.x    = fp16x2Val.y;\n    g_NvidiaExt[index].src2u.x    = atomicOpType;\n    g_NvidiaExt[index].opcode     = NV_EXTN_OP_FP16_ATOMIC;\n    retVal.y = g_NvidiaExt[index].dst0u.x;\n\n    return retVal;\n}\n\nuint2 __NvAtomicOpFP16x2(RWTexture3D<float4> uav, uint3 address, uint2 fp16x2Val, uint atomicOpType)\n{\n    __NvReferenceUAVForOp(uav);\n\n    // break it down into two fp16x2 atomic ops\n    uint2 retVal;\n\n    // first op has x-coordinate = x * 2\n    uint3 addressTemp = uint3(address.x * 2, address.y, address.z);\n    uint index = g_NvidiaExt.IncrementCounter();\n    g_NvidiaExt[index].src0u.xyz  = addressTemp;\n    g_NvidiaExt[index].src1u.x    = fp16x2Val.x;\n    g_NvidiaExt[index].src2u.x    = atomicOpType;\n    g_NvidiaExt[index].opcode     = NV_EXTN_OP_FP16_ATOMIC;\n    retVal.x = g_NvidiaExt[index].dst0u.x;\n\n    // second op has x-coordinate = x * 2 + 1\n    addressTemp.x++;\n    index = g_NvidiaExt.IncrementCounter();\n    g_NvidiaExt[index].src0u.xyz  = addressTemp;\n    g_NvidiaExt[index].src1u.x    = fp16x2Val.y;\n    g_NvidiaExt[index].src2u.x    = atomicOpType;\n    g_NvidiaExt[index].opcode     = NV_EXTN_OP_FP16_ATOMIC;\n    retVal.y = g_NvidiaExt[index].dst0u.x;\n\n    return retVal;\n}\n\nuint __fp32x2Tofp16x2(float2 val)\n{\n    return (f32tof16(val.y)<<16) | f32tof16(val.x) ;\n}\n\nuint2 __fp32x4Tofp16x4(float4 val)\n{\n    return uint2( (f32tof16(val.y)<<16) | f32tof16(val.x), (f32tof16(val.w)<<16) | f32tof16(val.z) ) ;\n}\n\n// FP32 Atomic functions\n\n// performs Atomic operation treating the uav as float (fp32) values\n// the passed sub-opcode 'op' should be an immediate constant\n// byteAddress must be multiple of 4\nfloat __NvAtomicAddFP32(RWByteAddressBuffer uav, uint byteAddress, float val)\n{\n    __NvReferenceUAVForOp(uav);\n    uint index = g_NvidiaExt.IncrementCounter();\n    g_NvidiaExt[index].src0u.x = byteAddress;\n    g_NvidiaExt[index].src1u.x = asuint(val);   // passing as uint to make it more convinient for the driver to translate\n    g_NvidiaExt[index].src2u.x = NV_EXTN_ATOM_ADD;\n    g_NvidiaExt[index].opcode  = NV_EXTN_OP_FP32_ATOMIC;\n\n    return asfloat(g_NvidiaExt[index].dst0u.x);\n}\n\nfloat __NvAtomicAddFP32(RWTexture1D<float> uav, uint address, float val)\n{\n    __NvReferenceUAVForOp(uav);\n    uint index = g_NvidiaExt.IncrementCounter();\n    g_NvidiaExt[index].src0u.x    = address;\n    g_NvidiaExt[index].src1u.x    = asuint(val);\n    g_NvidiaExt[index].src2u.x    = NV_EXTN_ATOM_ADD;\n    g_NvidiaExt[index].opcode     = NV_EXTN_OP_FP32_ATOMIC;\n\n    return asfloat(g_NvidiaExt[index].dst0u.x);\n}\n\nfloat __NvAtomicAddFP32(RWTexture2D<float> uav, uint2 address, float val)\n{\n    __NvReferenceUAVForOp(uav);\n    uint index = g_NvidiaExt.IncrementCounter();\n    g_NvidiaExt[index].src0u.xy   = address;\n    g_NvidiaExt[index].src1u.x    = asuint(val);\n    g_NvidiaExt[index].src2u.x    = NV_EXTN_ATOM_ADD;\n    g_NvidiaExt[index].opcode     = NV_EXTN_OP_FP32_ATOMIC;\n\n    return asfloat(g_NvidiaExt[index].dst0u.x);\n}\n\nfloat __NvAtomicAddFP32(RWTexture3D<float> uav, uint3 address, float val)\n{\n    __NvReferenceUAVForOp(uav);\n    uint index = g_NvidiaExt.IncrementCounter();\n    g_NvidiaExt[index].src0u.xyz  = address;\n    g_NvidiaExt[index].src1u.x    = asuint(val);\n    g_NvidiaExt[index].src2u.x    = NV_EXTN_ATOM_ADD;\n    g_NvidiaExt[index].opcode     = NV_EXTN_OP_FP32_ATOMIC;\n\n    return asfloat(g_NvidiaExt[index].dst0u.x);\n}\n\n"
  },
  {
    "path": "external/nvapi/include/nvShaderExtnEnums.h",
    "content": " /************************************************************************************************************************************\\\n|*                                                                                                                                    *|\n|*     Copyright  2012 NVIDIA Corporation.  All rights reserved.                                                                     *|\n|*                                                                                                                                    *|\n|*  NOTICE TO USER:                                                                                                                   *|\n|*                                                                                                                                    *|\n|*  This software is subject to NVIDIA ownership rights under U.S. and international Copyright laws.                                  *|\n|*                                                                                                                                    *|\n|*  This software and the information contained herein are PROPRIETARY and CONFIDENTIAL to NVIDIA                                     *|\n|*  and are being provided solely under the terms and conditions of an NVIDIA software license agreement.                             *|\n|*  Otherwise, you have no rights to use or access this software in any manner.                                                       *|\n|*                                                                                                                                    *|\n|*  If not covered by the applicable NVIDIA software license agreement:                                                               *|\n|*  NVIDIA MAKES NO REPRESENTATION ABOUT THE SUITABILITY OF THIS SOFTWARE FOR ANY PURPOSE.                                            *|\n|*  IT IS PROVIDED \"AS IS\" WITHOUT EXPRESS OR IMPLIED WARRANTY OF ANY KIND.                                                           *|\n|*  NVIDIA DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,                                                                     *|\n|*  INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE.                       *|\n|*  IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES,                               *|\n|*  OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,  WHETHER IN AN ACTION OF CONTRACT,                         *|\n|*  NEGLIGENCE OR OTHER TORTIOUS ACTION,  ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOURCE CODE.            *|\n|*                                                                                                                                    *|\n|*  U.S. Government End Users.                                                                                                        *|\n|*  This software is a \"commercial item\" as that term is defined at 48 C.F.R. 2.101 (OCT 1995),                                       *|\n|*  consisting  of \"commercial computer  software\"  and \"commercial computer software documentation\"                                  *|\n|*  as such terms are  used in 48 C.F.R. 12.212 (SEPT 1995) and is provided to the U.S. Government only as a commercial end item.     *|\n|*  Consistent with 48 C.F.R.12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (JUNE 1995),                                          *|\n|*  all U.S. Government End Users acquire the software with only those rights set forth herein.                                       *|\n|*                                                                                                                                    *|\n|*  Any use of this software in individual and commercial software must include,                                                      *|\n|*  in the user documentation and internal comments to the code,                                                                      *|\n|*  the above Disclaimer (as applicable) and U.S. Government End Users Notice.                                                        *|\n|*                                                                                                                                    *|\n \\************************************************************************************************************************************/\n\n////////////////////////////////////////////////////////////////////////////////\n////////////////////////// NVIDIA SHADER EXTENSIONS ////////////////////////////\n////////////////////////////////////////////////////////////////////////////////\n\n// This file can be included both from HLSL shader code as well as C++ code.\n// The app should call NvAPI_D3D11_IsNvShaderExtnOpCodeSupported() / NvAPI_D3D12_IsNvShaderExtnOpCodeSupported()\n// to check for support for every nv shader extension opcode it plans to use\n\n\n\n//----------------------------------------------------------------------------//\n//---------------------------- NV Shader Extn Version  -----------------------//\n//----------------------------------------------------------------------------//\n#define NV_SHADER_EXTN_VERSION                              1\n\n//----------------------------------------------------------------------------//\n//---------------------------- Misc constants --------------------------------//\n//----------------------------------------------------------------------------//\n#define NV_WARP_SIZE                                       32\n\n\n//----------------------------------------------------------------------------//\n//---------------------------- opCode constants ------------------------------//\n//----------------------------------------------------------------------------//\n\n\n#define NV_EXTN_OP_SHFL                                     1\n#define NV_EXTN_OP_SHFL_UP                                  2\n#define NV_EXTN_OP_SHFL_DOWN                                3\n#define NV_EXTN_OP_SHFL_XOR                                 4\n\n#define NV_EXTN_OP_VOTE_ALL                                 5\n#define NV_EXTN_OP_VOTE_ANY                                 6\n#define NV_EXTN_OP_VOTE_BALLOT                              7\n\n#define NV_EXTN_OP_GET_LANE_ID                              8\n#define NV_EXTN_OP_FP16_ATOMIC                             12\n#define NV_EXTN_OP_FP32_ATOMIC                             13\n"
  },
  {
    "path": "external/nvapi/include/nvapi.h",
    "content": "#include\"nvapi_lite_salstart.h\"\n#include\"nvapi_lite_common.h\"\n#include\"nvapi_lite_sli.h\"\n#include\"nvapi_lite_surround.h\"\n#include\"nvapi_lite_stereo.h\"\n#include\"nvapi_lite_d3dext.h\"\n /************************************************************************************************************************************\\\n|*                                                                                                                                    *|\n|*     Copyright © 2012 NVIDIA Corporation.  All rights reserved.                                                                     *|\n|*                                                                                                                                    *|\n|*  NOTICE TO USER:                                                                                                                   *|\n|*                                                                                                                                    *|\n|*  This software is subject to NVIDIA ownership rights under U.S. and international Copyright laws.                                  *|\n|*                                                                                                                                    *|\n|*  This software and the information contained herein are PROPRIETARY and CONFIDENTIAL to NVIDIA                                     *|\n|*  and are being provided solely under the terms and conditions of an NVIDIA software license agreement.                             *|\n|*  Otherwise, you have no rights to use or access this software in any manner.                                                       *|\n|*                                                                                                                                    *|\n|*  If not covered by the applicable NVIDIA software license agreement:                                                               *|\n|*  NVIDIA MAKES NO REPRESENTATION ABOUT THE SUITABILITY OF THIS SOFTWARE FOR ANY PURPOSE.                                            *|\n|*  IT IS PROVIDED \"AS IS\" WITHOUT EXPRESS OR IMPLIED WARRANTY OF ANY KIND.                                                           *|\n|*  NVIDIA DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,                                                                     *|\n|*  INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE.                       *|\n|*  IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES,                               *|\n|*  OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,  WHETHER IN AN ACTION OF CONTRACT,                         *|\n|*  NEGLIGENCE OR OTHER TORTIOUS ACTION,  ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOURCE CODE.            *|\n|*                                                                                                                                    *|\n|*  U.S. Government End Users.                                                                                                        *|\n|*  This software is a \"commercial item\" as that term is defined at 48 C.F.R. 2.101 (OCT 1995),                                       *|\n|*  consisting  of \"commercial computer  software\"  and \"commercial computer software documentation\"                                  *|\n|*  as such terms are  used in 48 C.F.R. 12.212 (SEPT 1995) and is provided to the U.S. Government only as a commercial end item.     *|\n|*  Consistent with 48 C.F.R.12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (JUNE 1995),                                          *|\n|*  all U.S. Government End Users acquire the software with only those rights set forth herein.                                       *|\n|*                                                                                                                                    *|\n|*  Any use of this software in individual and commercial software must include,                                                      *|\n|*  in the user documentation and internal comments to the code,                                                                      *|\n|*  the above Disclaimer (as applicable) and U.S. Government End Users Notice.                                                        *|\n|*                                                                                                                                    *|\n \\************************************************************************************************************************************/\n \n\n///////////////////////////////////////////////////////////////////////////////\n//\n// Date: Sep 19, 2016 \n// File: nvapi.h\n//\n// NvAPI provides an interface to NVIDIA devices. This file contains the \n// interface constants, structure definitions and function prototypes.\n//\n//   Target Profile: developer\n//  Target Platform: windows\n//\n///////////////////////////////////////////////////////////////////////////////\n#ifndef _NVAPI_H\n#define _NVAPI_H\n\n#pragma pack(push,8) // Make sure we have consistent structure packings\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n// ====================================================\n// Universal NvAPI Definitions\n// ====================================================\n#ifndef _WIN32\n#define __cdecl\n#endif\n\n\n\n//! @}\n\n//!   \\ingroup nvapistatus \n#define NVAPI_API_NOT_INTIALIZED        NVAPI_API_NOT_INITIALIZED       //!< Fix typo in error code\n\n//!   \\ingroup nvapistatus \n#define NVAPI_INVALID_USER_PRIVILEDGE   NVAPI_INVALID_USER_PRIVILEGE    //!< Fix typo in error code\n\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_Initialize\n//\n//! This function initializes the NvAPI library (if not already initialized) but always increments the ref-counter. \n//! This must be called before calling other NvAPI_ functions. \n//!\n//! SUPPORTED OS:  Windows XP and higher,  Mac OS X\n//!\n//!\n//! \\since Release: 80\n//!\n//! \\retval  NVAPI_ERROR            An error occurred during the initialization process (generic error)\n//! \\retval  NVAPI_LIBRARYNOTFOUND  Failed to load the NVAPI support library\n//! \\retval  NVAPI_OK               Initialized\n//! \\sa nvapistatus\n//! \\ingroup nvapifunctions\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_Initialize();\n\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_Unload\n//\n//!   DESCRIPTION: Decrements the ref-counter and when it reaches ZERO, unloads NVAPI library. \n//!                This must be called in pairs with NvAPI_Initialize. \n//!\n//! SUPPORTED OS:  Windows XP and higher,  Mac OS X\n//!\n//!\n//!  Note: By design, it is not mandatory to call NvAPI_Initialize before calling any NvAPI.\n//!        When any NvAPI is called without first calling NvAPI_Initialize, the internal refcounter\n//!        will be implicitly incremented. In such cases, calling NvAPI_Initialize from a different thread will\n//!        result in incrementing the refcount again and the user has to call NvAPI_Unload twice to \n//!        unload the library. However, note that the implicit increment of the refcounter happens only once.\n//!        If the client wants unload functionality, it is recommended to always call NvAPI_Initialize and NvAPI_Unload in pairs.\n//!\n//!  Unloading NvAPI library is not supported when the library is in a resource locked state.\n//!  Some functions in the NvAPI library initiates an operation or allocates certain resources\n//!  and there are corresponding functions available, to complete the operation or free the\n//!  allocated resources. All such function pairs are designed to prevent unloading NvAPI library.\n//!\n//!  For example, if NvAPI_Unload is called after NvAPI_XXX which locks a resource, it fails with\n//!  NVAPI_ERROR. Developers need to call the corresponding NvAPI_YYY to unlock the resources, \n//!  before calling NvAPI_Unload again.\n//!\n//! \\retval ::NVAPI_ERROR            One or more resources are locked and hence cannot unload NVAPI library\n//! \\retval ::NVAPI_OK               NVAPI library unloaded\n//! \\retval ::NVAPI_API_IN_USE       Atleast an API is still being called hence cannot unload NVAPI library from process\n//!\n//! \\ingroup nvapifunctions\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_Unload();\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_GetErrorMessage\n//\n//! This function converts an NvAPI error code into a null terminated string.\n//!\n//! SUPPORTED OS:  Windows XP and higher,  Mac OS X\n//!\n//!\n//! \\since Release: 80\n//!\n//! \\param nr      The error code to convert\n//! \\param szDesc  The string corresponding to the error code\n//!\n//! \\return NULL terminated string (always, never NULL)\n//! \\ingroup nvapifunctions\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_GetErrorMessage(NvAPI_Status nr,NvAPI_ShortString szDesc);\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_GetInterfaceVersionString\n//\n//! This function returns a string describing the version of the NvAPI library.\n//!               The contents of the string are human readable.  Do not assume a fixed\n//!                format.\n//!\n//!\n//! SUPPORTED OS:  Windows XP and higher,  Mac OS X\n//!\n//!\n//! \\since Release: 80\n//!\n//! \\param  szDesc User readable string giving NvAPI version information\n//!\n//! \\return See \\ref nvapistatus for the list of possible return values.\n//! \\ingroup nvapifunctions\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_GetInterfaceVersionString(NvAPI_ShortString szDesc);\n\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n//              All display port related data types definition starts\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n// This category is intentionally added before the #ifdef. The #endif should also be in the same scope\n#ifndef DISPLAYPORT_STRUCTS_DEFINED\n#define DISPLAYPORT_STRUCTS_DEFINED\n\n//! \\ingroup dispcontrol\n//! Used in NV_DISPLAY_PORT_INFO.\ntypedef enum _NV_DP_LINK_RATE\n{\n    NV_DP_1_62GBPS            = 6,\n    NV_DP_2_70GBPS            = 0xA,\n    NV_DP_5_40GBPS            = 0x14,\n    NV_DP_8_10GBPS            = 0x1E\n} NV_DP_LINK_RATE;\n\n\n//! \\ingroup dispcontrol\n//! Used in NV_DISPLAY_PORT_INFO.\ntypedef enum _NV_DP_LANE_COUNT\n{\n    NV_DP_1_LANE              = 1,\n    NV_DP_2_LANE              = 2,\n    NV_DP_4_LANE              = 4,\n} NV_DP_LANE_COUNT;\n\n\n//! \\ingroup dispcontrol\n//! Used in NV_DISPLAY_PORT_INFO.\ntypedef enum _NV_DP_COLOR_FORMAT\n{\n    NV_DP_COLOR_FORMAT_RGB     = 0,\n    NV_DP_COLOR_FORMAT_YCbCr422,\n    NV_DP_COLOR_FORMAT_YCbCr444,\n} NV_DP_COLOR_FORMAT;\n\n\n//! \\ingroup dispcontrol\n//! Used in NV_DISPLAY_PORT_INFO.\ntypedef enum _NV_DP_COLORIMETRY\n{\n    NV_DP_COLORIMETRY_RGB     = 0,\n    NV_DP_COLORIMETRY_YCbCr_ITU601,\n    NV_DP_COLORIMETRY_YCbCr_ITU709,\n} NV_DP_COLORIMETRY;\n\n\n//! \\ingroup dispcontrol\n//! Used in NV_DISPLAY_PORT_INFO.\ntypedef enum _NV_DP_DYNAMIC_RANGE\n{\n    NV_DP_DYNAMIC_RANGE_VESA  = 0,\n    NV_DP_DYNAMIC_RANGE_CEA,\n} NV_DP_DYNAMIC_RANGE;\n\n\n//! \\ingroup dispcontrol\n//! Used in NV_DISPLAY_PORT_INFO.\ntypedef enum _NV_DP_BPC\n{\n    NV_DP_BPC_DEFAULT         = 0,\n    NV_DP_BPC_6,\n    NV_DP_BPC_8,\n    NV_DP_BPC_10,\n    NV_DP_BPC_12,\n    NV_DP_BPC_16,\n} NV_DP_BPC;\n\n#endif  //#ifndef DISPLAYPORT_STRUCTS_DEFINED\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n//              All display port related data types definitions end\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_GPU_GetEDID\n//\n//! \\fn NvAPI_GPU_GetEDID(NvPhysicalGpuHandle hPhysicalGpu, NvU32 displayOutputId, NV_EDID *pEDID)\n//!  This function returns the EDID data for the specified GPU handle and connection bit mask.\n//!  displayOutputId should have exactly 1 bit set to indicate a single display. See \\ref handles.\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\since Release: 85\n//!\n//! \\retval    NVAPI_INVALID_ARGUMENT              pEDID is NULL; displayOutputId has 0 or > 1 bits set\n//! \\retval    NVAPI_OK                           *pEDID contains valid data.\n//! \\retval    NVAPI_NVIDIA_DEVICE_NOT_FOUND       No NVIDIA GPU driving a display was found.\n//! \\retval    NVAPI_EXPECTED_PHYSICAL_GPU_HANDLE  hPhysicalGpu was not a physical GPU handle.\n//! \\retval    NVAPI_DATA_NOT_FOUND                The requested display does not contain an EDID.\n//\n///////////////////////////////////////////////////////////////////////////////\n\n//! \\ingroup gpu\n//! @{\n\n#define NV_EDID_V1_DATA_SIZE   256\n\n#define NV_EDID_DATA_SIZE      NV_EDID_V1_DATA_SIZE\n\ntypedef struct\n{\n    NvU32   version;        //structure version\n    NvU8    EDID_Data[NV_EDID_DATA_SIZE];\n} NV_EDID_V1;\n\n//! Used in NvAPI_GPU_GetEDID()\ntypedef struct\n{\n    NvU32   version;        //!< Structure version\n    NvU8    EDID_Data[NV_EDID_DATA_SIZE];\n    NvU32   sizeofEDID;\n} NV_EDID_V2;\n\n//! Used in NvAPI_GPU_GetEDID()\ntypedef struct\n{\n    NvU32   version;        //!< Structure version\n    NvU8    EDID_Data[NV_EDID_DATA_SIZE];\n    NvU32   sizeofEDID;\n    NvU32   edidId;     //!< ID which always returned in a monotonically increasing counter.\n                       //!< Across a split-EDID read we need to verify that all calls returned the same edidId.\n                       //!< This counter is incremented if we get the updated EDID. \n    NvU32   offset;    //!< Which 256-byte page of the EDID we want to read. Start at 0.\n                       //!< If the read succeeds with edidSize > NV_EDID_DATA_SIZE,\n                       //!< call back again with offset+256 until we have read the entire buffer\n} NV_EDID_V3;\n\ntypedef NV_EDID_V3    NV_EDID;\n\n#define NV_EDID_VER1    MAKE_NVAPI_VERSION(NV_EDID_V1,1)\n#define NV_EDID_VER2    MAKE_NVAPI_VERSION(NV_EDID_V2,2)\n#define NV_EDID_VER3    MAKE_NVAPI_VERSION(NV_EDID_V3,3)\n#define NV_EDID_VER   NV_EDID_VER3\n\n//! @}\n\n//! \\ingroup gpu\nNVAPI_INTERFACE NvAPI_GPU_GetEDID(NvPhysicalGpuHandle hPhysicalGpu, NvU32 displayOutputId, NV_EDID *pEDID);\n\n//! \\ingroup gpu\n//! Used in NV_GPU_CONNECTOR_DATA\ntypedef enum _NV_GPU_CONNECTOR_TYPE\n{\n    NVAPI_GPU_CONNECTOR_VGA_15_PIN                      = 0x00000000,\n    NVAPI_GPU_CONNECTOR_TV_COMPOSITE                    = 0x00000010,\n    NVAPI_GPU_CONNECTOR_TV_SVIDEO                       = 0x00000011,\n    NVAPI_GPU_CONNECTOR_TV_HDTV_COMPONENT               = 0x00000013,\n    NVAPI_GPU_CONNECTOR_TV_SCART                        = 0x00000014,\n    NVAPI_GPU_CONNECTOR_TV_COMPOSITE_SCART_ON_EIAJ4120  = 0x00000016,\n    NVAPI_GPU_CONNECTOR_TV_HDTV_EIAJ4120                = 0x00000017,\n    NVAPI_GPU_CONNECTOR_PC_POD_HDTV_YPRPB               = 0x00000018,\n    NVAPI_GPU_CONNECTOR_PC_POD_SVIDEO                   = 0x00000019,\n    NVAPI_GPU_CONNECTOR_PC_POD_COMPOSITE                = 0x0000001A,\n    NVAPI_GPU_CONNECTOR_DVI_I_TV_SVIDEO                 = 0x00000020,\n    NVAPI_GPU_CONNECTOR_DVI_I_TV_COMPOSITE              = 0x00000021,\n    NVAPI_GPU_CONNECTOR_DVI_I                           = 0x00000030,\n    NVAPI_GPU_CONNECTOR_DVI_D                           = 0x00000031,\n    NVAPI_GPU_CONNECTOR_ADC                             = 0x00000032,\n    NVAPI_GPU_CONNECTOR_LFH_DVI_I_1                     = 0x00000038,\n    NVAPI_GPU_CONNECTOR_LFH_DVI_I_2                     = 0x00000039,\n    NVAPI_GPU_CONNECTOR_SPWG                            = 0x00000040,\n    NVAPI_GPU_CONNECTOR_OEM                             = 0x00000041,\n    NVAPI_GPU_CONNECTOR_DISPLAYPORT_EXTERNAL            = 0x00000046,\n    NVAPI_GPU_CONNECTOR_DISPLAYPORT_INTERNAL            = 0x00000047,\n    NVAPI_GPU_CONNECTOR_DISPLAYPORT_MINI_EXT            = 0x00000048,\n    NVAPI_GPU_CONNECTOR_HDMI_A                          = 0x00000061,\n    NVAPI_GPU_CONNECTOR_HDMI_C_MINI                     = 0x00000063,\n    NVAPI_GPU_CONNECTOR_LFH_DISPLAYPORT_1               = 0x00000064,\n    NVAPI_GPU_CONNECTOR_LFH_DISPLAYPORT_2               = 0x00000065,\n    NVAPI_GPU_CONNECTOR_VIRTUAL_WFD                     = 0x00000070,    \n    NVAPI_GPU_CONNECTOR_UNKNOWN                         = 0xFFFFFFFF,\n} NV_GPU_CONNECTOR_TYPE;\n\n////////////////////////////////////////////////////////////////////////////////\n//\n// NvAPI_TVOutput Information\n//\n///////////////////////////////////////////////////////////////////////////////\n\n//! \\ingroup tvapi\n//! Used in NV_DISPLAY_TV_OUTPUT_INFO\ntypedef enum _NV_DISPLAY_TV_FORMAT\n{\n    NV_DISPLAY_TV_FORMAT_NONE               = 0,\n    NV_DISPLAY_TV_FORMAT_SD_NTSCM           = 0x00000001,\n    NV_DISPLAY_TV_FORMAT_SD_NTSCJ           = 0x00000002,\n    NV_DISPLAY_TV_FORMAT_SD_PALM            = 0x00000004,\n    NV_DISPLAY_TV_FORMAT_SD_PALBDGH         = 0x00000008,\n    NV_DISPLAY_TV_FORMAT_SD_PALN            = 0x00000010,\n    NV_DISPLAY_TV_FORMAT_SD_PALNC           = 0x00000020,\n    NV_DISPLAY_TV_FORMAT_SD_576i            = 0x00000100,\n    NV_DISPLAY_TV_FORMAT_SD_480i            = 0x00000200,\n    NV_DISPLAY_TV_FORMAT_ED_480p            = 0x00000400,\n    NV_DISPLAY_TV_FORMAT_ED_576p            = 0x00000800,\n    NV_DISPLAY_TV_FORMAT_HD_720p            = 0x00001000,\n    NV_DISPLAY_TV_FORMAT_HD_1080i           = 0x00002000,\n    NV_DISPLAY_TV_FORMAT_HD_1080p           = 0x00004000,\n    NV_DISPLAY_TV_FORMAT_HD_720p50          = 0x00008000,\n    NV_DISPLAY_TV_FORMAT_HD_1080p24         = 0x00010000,\n    NV_DISPLAY_TV_FORMAT_HD_1080i50         = 0x00020000,\n    NV_DISPLAY_TV_FORMAT_HD_1080p50         = 0x00040000,\n    NV_DISPLAY_TV_FORMAT_UHD_4Kp30          = 0x00080000,\n    NV_DISPLAY_TV_FORMAT_UHD_4Kp30_3840     = NV_DISPLAY_TV_FORMAT_UHD_4Kp30,\n    NV_DISPLAY_TV_FORMAT_UHD_4Kp25          = 0x00100000,\n    NV_DISPLAY_TV_FORMAT_UHD_4Kp25_3840     = NV_DISPLAY_TV_FORMAT_UHD_4Kp25,\n    NV_DISPLAY_TV_FORMAT_UHD_4Kp24          = 0x00200000,\n    NV_DISPLAY_TV_FORMAT_UHD_4Kp24_3840     = NV_DISPLAY_TV_FORMAT_UHD_4Kp24,\n    NV_DISPLAY_TV_FORMAT_UHD_4Kp24_SMPTE    = 0x00400000,\n    NV_DISPLAY_TV_FORMAT_UHD_4Kp50_3840     = 0x00800000,\n    NV_DISPLAY_TV_FORMAT_UHD_4Kp60_3840     = 0x00900000,\n    NV_DISPLAY_TV_FORMAT_UHD_4Kp30_4096     = 0x00A00000,\n    NV_DISPLAY_TV_FORMAT_UHD_4Kp25_4096     = 0x00B00000,\n    NV_DISPLAY_TV_FORMAT_UHD_4Kp24_4096     = 0x00C00000,\n    NV_DISPLAY_TV_FORMAT_UHD_4Kp50_4096     = 0x00D00000,\n    NV_DISPLAY_TV_FORMAT_UHD_4Kp60_4096     = 0x00E00000,\n\n    NV_DISPLAY_TV_FORMAT_SD_OTHER           = 0x01000000,\n    NV_DISPLAY_TV_FORMAT_ED_OTHER           = 0x02000000,\n    NV_DISPLAY_TV_FORMAT_HD_OTHER           = 0x04000000,\n\n    NV_DISPLAY_TV_FORMAT_ANY                = 0x80000000,\n\n} NV_DISPLAY_TV_FORMAT;\n\n\n//! \\ingroup dispcontrol\n//! @{\n#define NVAPI_MAX_VIEW_TARGET  2\n#define NVAPI_ADVANCED_MAX_VIEW_TARGET 4\n\n#ifndef _NV_TARGET_VIEW_MODE_\n#define _NV_TARGET_VIEW_MODE_\n\n//! Used in NvAPI_SetView().\ntypedef enum _NV_TARGET_VIEW_MODE\n{\n    NV_VIEW_MODE_STANDARD  = 0,\n    NV_VIEW_MODE_CLONE     = 1,\n    NV_VIEW_MODE_HSPAN     = 2,\n    NV_VIEW_MODE_VSPAN     = 3,\n    NV_VIEW_MODE_DUALVIEW  = 4,\n    NV_VIEW_MODE_MULTIVIEW = 5,\n} NV_TARGET_VIEW_MODE;\n#endif\n\n//! @}\n\n\n// Following definitions are used in NvAPI_SetViewEx.\n\n//! Scaling modes - used in NvAPI_SetViewEx().\n//! \\ingroup dispcontrol\ntypedef enum _NV_SCALING\n{\n    NV_SCALING_DEFAULT          = 0,        //!< No change\n\n    // New Scaling Declarations\n    NV_SCALING_GPU_SCALING_TO_CLOSEST                   = 1,  //!< Balanced  - Full Screen\n    NV_SCALING_GPU_SCALING_TO_NATIVE                    = 2,  //!< Force GPU - Full Screen\n    NV_SCALING_GPU_SCANOUT_TO_NATIVE                    = 3,  //!< Force GPU - Centered\\No Scaling\n    NV_SCALING_GPU_SCALING_TO_ASPECT_SCANOUT_TO_NATIVE  = 5,  //!< Force GPU - Aspect Ratio\n    NV_SCALING_GPU_SCALING_TO_ASPECT_SCANOUT_TO_CLOSEST = 6,  //!< Balanced  - Aspect Ratio\n    NV_SCALING_GPU_SCANOUT_TO_CLOSEST                   = 7,  //!< Balanced  - Centered\\No Scaling\n    \n    // Legacy Declarations\n    NV_SCALING_MONITOR_SCALING                          = NV_SCALING_GPU_SCALING_TO_CLOSEST,\n    NV_SCALING_ADAPTER_SCALING                          = NV_SCALING_GPU_SCALING_TO_NATIVE,\n    NV_SCALING_CENTERED                                 = NV_SCALING_GPU_SCANOUT_TO_NATIVE,\n    NV_SCALING_ASPECT_SCALING                           = NV_SCALING_GPU_SCALING_TO_ASPECT_SCANOUT_TO_NATIVE,\n\n    NV_SCALING_CUSTOMIZED       = 255       //!< For future use\n} NV_SCALING;\n\n//! Rotate modes- used in NvAPI_SetViewEx().\n//! \\ingroup dispcontrol\ntypedef enum _NV_ROTATE\n{\n    NV_ROTATE_0           = 0,\n    NV_ROTATE_90          = 1,\n    NV_ROTATE_180         = 2,\n    NV_ROTATE_270         = 3,\n    NV_ROTATE_IGNORED     = 4,\n} NV_ROTATE;\n\n//! Color formats- used in NvAPI_SetViewEx().\n//! \\ingroup dispcontrol\n#define NVFORMAT_MAKEFOURCC(ch0, ch1, ch2, ch3)                              \\\n                         ((NvU32)(NvU8)(ch0) | ((NvU32)(NvU8)(ch1) << 8) |   \\\n                     ((NvU32)(NvU8)(ch2) << 16) | ((NvU32)(NvU8)(ch3) << 24 ))\n\n\n\n//! Color formats- used in NvAPI_SetViewEx().\n//! \\ingroup dispcontrol\ntypedef enum _NV_FORMAT\n{\n    NV_FORMAT_UNKNOWN           =  0,       //!< unknown. Driver will choose one as following value.\n    NV_FORMAT_P8                = 41,       //!< for 8bpp mode\n    NV_FORMAT_R5G6B5            = 23,       //!< for 16bpp mode\n    NV_FORMAT_A8R8G8B8          = 21,       //!< for 32bpp mode\n    NV_FORMAT_A16B16G16R16F     = 113,      //!< for 64bpp(floating point) mode.\n\n} NV_FORMAT;\n\n// TV standard\n\ntypedef struct \n{\n    float x;    //!<  x-coordinate of the viewport top-left point\n    float y;    //!<  y-coordinate of the viewport top-left point\n    float w;    //!<  Width of the viewport\n    float h;    //!<  Height of the viewport\n} NV_VIEWPORTF;\n\n\n\n//! \\ingroup dispcontrol\n//! The timing override is not supported yet; must be set to _AUTO. \\n\n\n\ntypedef enum _NV_TIMING_OVERRIDE\n{\n    NV_TIMING_OVERRIDE_CURRENT = 0,          //!< get the current timing\n    NV_TIMING_OVERRIDE_AUTO,                 //!< the timing the driver will use based the current policy\n    NV_TIMING_OVERRIDE_EDID,                 //!< EDID timing\n    NV_TIMING_OVERRIDE_DMT,                  //!< VESA DMT timing\n    NV_TIMING_OVERRIDE_DMT_RB,               //!< VESA DMT timing with reduced blanking\n    NV_TIMING_OVERRIDE_CVT,                  //!< VESA CVT timing\n    NV_TIMING_OVERRIDE_CVT_RB,               //!< VESA CVT timing with reduced blanking\n    NV_TIMING_OVERRIDE_GTF,                  //!< VESA GTF timing\n    NV_TIMING_OVERRIDE_EIA861,               //!< EIA 861x pre-defined timing\n    NV_TIMING_OVERRIDE_ANALOG_TV,            //!< analog SD/HDTV timing\n    NV_TIMING_OVERRIDE_CUST,                 //!< NV custom timings\n    NV_TIMING_OVERRIDE_NV_PREDEFINED,        //!< NV pre-defined timing (basically the PsF timings)\n    NV_TIMING_OVERRIDE_NV_PSF                = NV_TIMING_OVERRIDE_NV_PREDEFINED,\n    NV_TIMING_OVERRIDE_NV_ASPR,\n    NV_TIMING_OVERRIDE_SDI,                  //!< Override for SDI timing\n\n    NV_TIMING_OVRRIDE_MAX,                   \n}NV_TIMING_OVERRIDE;\n\n\n#ifndef NV_TIMING_STRUCTS_DEFINED\n#define NV_TIMING_STRUCTS_DEFINED\n\n//***********************\n// The Timing Structure\n//***********************\n//\n//! \\ingroup dispcontrol\n//!  NVIDIA-specific timing extras \\n\n//! Used in NV_TIMING.\ntypedef struct tagNV_TIMINGEXT\n{\n    NvU32   flag;          //!< Reserved for NVIDIA hardware-based enhancement, such as double-scan.\n    NvU16   rr;            //!< Logical refresh rate to present\n    NvU32   rrx1k;         //!< Physical vertical refresh rate in 0.001Hz\n    NvU32   aspect;        //!< Display aspect ratio Hi(aspect):horizontal-aspect, Low(aspect):vertical-aspect\n    NvU16   rep;           //!< Bit-wise pixel repetition factor: 0x1:no pixel repetition; 0x2:each pixel repeats twice horizontally,..\n    NvU32   status;        //!< Timing standard \n    NvU8    name[40];      //!< Timing name\n}NV_TIMINGEXT;\n\n\n\n//! \\ingroup dispcontrol\n//!The very basic timing structure based on the VESA standard:\n//! \\code\n//!            |<----------------------------htotal--------------------------->| \n//!             ---------\"active\" video-------->|<-------blanking------>|<-----  \n//!            |<-------hvisible-------->|<-hb->|<-hfp->|<-hsw->|<-hbp->|<-hb->| \n//! --------- -+-------------------------+      |       |       |       |      | \n//!   A      A |                         |      |       |       |       |      | \n//!   :      : |                         |      |       |       |       |      | \n//!   :      : |                         |      |       |       |       |      | \n//!   :vertical|    addressable video    |      |       |       |       |      | \n//!   : visible|                         |      |       |       |       |      | \n//!   :      : |                         |      |       |       |       |      | \n//!   :      : |                         |      |       |       |       |      | \n//! vertical V |                         |      |       |       |       |      | \n//!  total   --+-------------------------+      |       |       |       |      | \n//!   :      vb         border                  |       |       |       |      | \n//!   :      -----------------------------------+       |       |       |      |  \n//!   :      vfp        front porch                     |       |       |      |  \n//!   :      -------------------------------------------+       |       |      | \n//!   :      vsw        sync width                              |       |      | \n//!   :      ---------------------------------------------------+       |      | \n//!   :      vbp        back porch                                      |      | \n//!   :      -----------------------------------------------------------+      | \n//!   V      vb         border                                                 | \n//! ---------------------------------------------------------------------------+ \n//! \\endcode\ntypedef struct _NV_TIMING\n{\n    // VESA scan out timing parameters:\n    NvU16 HVisible;         //!< horizontal visible \n    NvU16 HBorder;          //!< horizontal border \n    NvU16 HFrontPorch;      //!< horizontal front porch\n    NvU16 HSyncWidth;       //!< horizontal sync width\n    NvU16 HTotal;           //!< horizontal total\n    NvU8  HSyncPol;         //!< horizontal sync polarity: 1-negative, 0-positive\n\n    NvU16 VVisible;         //!< vertical visible\n    NvU16 VBorder;          //!< vertical border\n    NvU16 VFrontPorch;      //!< vertical front porch\n    NvU16 VSyncWidth;       //!< vertical sync width\n    NvU16 VTotal;           //!< vertical total\n    NvU8  VSyncPol;         //!< vertical sync polarity: 1-negative, 0-positive\n    \n    NvU16 interlaced;       //!< 1-interlaced, 0-progressive\n    NvU32 pclk;             //!< pixel clock in 10 kHz\n\n    //other timing related extras\n    NV_TIMINGEXT etc;          \n}NV_TIMING;\n#endif //NV_TIMING_STRUCTS_DEFINED\n\n\n//! \\addtogroup dispcontrol\n//! Timing-related constants\n//! @{\n#define NV_TIMING_H_SYNC_POSITIVE                             0\n#define NV_TIMING_H_SYNC_NEGATIVE                             1\n#define NV_TIMING_H_SYNC_DEFAULT                              NV_TIMING_H_SYNC_NEGATIVE\n//\n#define NV_TIMING_V_SYNC_POSITIVE                             0\n#define NV_TIMING_V_SYNC_NEGATIVE                             1\n#define NV_TIMING_V_SYNC_DEFAULT                              NV_TIMING_V_SYNC_POSITIVE\n//\n#define NV_TIMING_PROGRESSIVE                                 0\n#define NV_TIMING_INTERLACED                                  1\n#define NV_TIMING_INTERLACED_EXTRA_VBLANK_ON_FIELD2           1\n#define NV_TIMING_INTERLACED_NO_EXTRA_VBLANK_ON_FIELD2        2\n//! @}\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME:   NvAPI_SetView\n//\n//! \\fn NvAPI_SetView(NvDisplayHandle hNvDisplay, NV_VIEW_TARGET_INFO *pTargetInfo, NV_TARGET_VIEW_MODE targetView)\n//!  This function lets the caller modify the target display arrangement of the selected source display handle in any nView mode.\n//!  It can also modify or extend the source display in Dualview mode.\n//!  \\note Maps the selected source to the associated target Ids.\n//!  \\note Display PATH with this API is limited to single GPU. DUALVIEW across GPUs cannot be enabled with this API. \n//!\n//! \\deprecated  Do not use this function - it is deprecated in release 290. Instead, use NvAPI_DISP_SetDisplayConfig.\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n//!\n//! \\since Release: 90\n//!\n//! \\param [in]  hNvDisplay       NVIDIA Display selection. #NVAPI_DEFAULT_HANDLE is not allowed, it has to be a handle enumerated with NvAPI_EnumNVidiaDisplayHandle().\n//! \\param [in]  pTargetInfo      Pointer to array of NV_VIEW_TARGET_INFO, specifying device properties in this view.\n//!                               The first device entry in the array is the physical primary.\n//!                               The device entry with the lowest source id is the desktop primary.\n//! \\param [in]  targetCount      Count of target devices specified in pTargetInfo.\n//! \\param [in]  targetView       Target view selected from NV_TARGET_VIEW_MODE.\n//!\n//! \\retval  NVAPI_OK               Completed request\n//! \\retval  NVAPI_ERROR            Miscellaneous error occurred\n//! \\retval  NVAPI_INVALID_ARGUMENT Invalid input parameter.\n//\n///////////////////////////////////////////////////////////////////////////////\n\n//! \\ingroup dispcontrol\n//! Used in NvAPI_SetView() and NvAPI_GetView()\ntypedef struct\n{\n    NvU32 version;     //!< (IN) structure version\n    NvU32 count;       //!< (IN) target count\n    struct \n    {\n        NvU32 deviceMask;    //!< (IN/OUT) Device mask\n        NvU32 sourceId;      //!< (IN/OUT) Source ID - values will be based on the number of heads exposed per GPU.\n        NvU32 bPrimary:1;    //!< (OUT) Indicates if this is the GPU's primary view target. This is not the desktop GDI primary.\n                             //!< NvAPI_SetView automatically selects the first target in NV_VIEW_TARGET_INFO index 0 as the GPU's primary view.\n        NvU32 bInterlaced:1; //!< (IN/OUT) Indicates if the timing being used on this monitor is interlaced.\n        NvU32 bGDIPrimary:1; //!< (IN/OUT) Indicates if this is the desktop GDI primary.\n        NvU32 bForceModeSet:1;//!< (IN) Used only on Win7 and higher during a call to NvAPI_SetView(). Turns off optimization & forces OS to set supplied mode.\n    } target[NVAPI_MAX_VIEW_TARGET];\n} NV_VIEW_TARGET_INFO; \n\n//! \\ingroup dispcontrol\n#define NV_VIEW_TARGET_INFO_VER  MAKE_NVAPI_VERSION(NV_VIEW_TARGET_INFO,2)\n\n\n//! \\ingroup dispcontrol\n__nvapi_deprecated_function(\"Do not use this function - it is deprecated in release 290. Instead, use NvAPI_DISP_SetDisplayConfig.\")\nNVAPI_INTERFACE NvAPI_SetView(NvDisplayHandle hNvDisplay, NV_VIEW_TARGET_INFO *pTargetInfo, NV_TARGET_VIEW_MODE targetView);\n\n\n\n//! \\ingroup dispcontrol\n#define NVAPI_MAX_DISPLAY_PATH  NVAPI_MAX_VIEW_TARGET\n\n//! \\ingroup dispcontrol\n#define NVAPI_ADVANCED_MAX_DISPLAY_PATH  NVAPI_ADVANCED_MAX_VIEW_TARGET\n\n\n\n//! \\ingroup dispcontrol\n//! Used in NV_DISPLAY_PATH_INFO.\ntypedef struct\n{\n    NvU32                   deviceMask;     //!< (IN) Device mask\n    NvU32                   sourceId;       //!< (IN) Values will be based on the number of heads exposed per GPU(0, 1?)\n    NvU32                   bPrimary:1;     //!< (IN/OUT) Indicates if this is the GPU's primary view target. This is not the desktop GDI primary.\n                                            //!< NvAPI_SetViewEx() automatically selects the first target in NV_DISPLAY_PATH_INFO index 0 as the GPU's primary view.\n    NV_GPU_CONNECTOR_TYPE   connector;      //!< (IN) Specify connector type. For TV only.\n\n    // source mode information\n    NvU32                   width;          //!< (IN) Width of the mode\n    NvU32                   height;         //!< (IN) Height of the mode\n    NvU32                   depth;          //!< (IN) Depth of the mode\n    NV_FORMAT               colorFormat;    //!<      Color format if it needs to be specified. Not used now.\n\n    //rotation setting of the mode\n    NV_ROTATE               rotation;       //!< (IN) Rotation setting.\n\n    // the scaling mode\n    NV_SCALING              scaling;        //!< (IN) Scaling setting\n\n    // Timing info\n    NvU32                   refreshRate;    //!< (IN) Refresh rate of the mode\n    NvU32                   interlaced:1;   //!< (IN) Interlaced mode flag\n\n    NV_DISPLAY_TV_FORMAT    tvFormat;       //!< (IN) To choose the last TV format set this value to NV_DISPLAY_TV_FORMAT_NONE\n\n    // Windows desktop position\n    NvU32                   posx;           //!< (IN/OUT) X-offset of this display on the Windows desktop\n    NvU32                   posy;           //!< (IN/OUT) Y-offset of this display on the Windows desktop\n    NvU32                   bGDIPrimary:1;  //!< (IN/OUT) Indicates if this is the desktop GDI primary.\n\n    NvU32                   bForceModeSet:1;//!< (IN) Used only on Win7 and higher during a call to NvAPI_SetViewEx(). Turns off optimization & forces OS to set supplied mode.\n    NvU32                   bFocusDisplay:1;//!< (IN) If set, this display path should have the focus after the GPU topology change\n    NvU32                   gpuId:24;       //!< (IN) the physical display/target Gpu id which is the owner of the scan out (for SLI multimon, display from the slave Gpu)\n\n} NV_DISPLAY_PATH;\n\n//! \\ingroup dispcontrol\n//! Used in NvAPI_SetViewEx() and NvAPI_GetViewEx().\ntypedef struct\n{\n    NvU32 version;     //!< (IN) Structure version\n    NvU32 count;       //!< (IN) Path count\n    NV_DISPLAY_PATH path[NVAPI_MAX_DISPLAY_PATH];\n} NV_DISPLAY_PATH_INFO_V3; \n\n//! \\ingroup dispcontrol\n//! Used in NvAPI_SetViewEx() and NvAPI_GetViewEx().\ntypedef struct\n{\n    NvU32 version;     //!< (IN) Structure version\n    NvU32 count;       //!< (IN) Path count\n    NV_DISPLAY_PATH path[NVAPI_ADVANCED_MAX_DISPLAY_PATH];\n} NV_DISPLAY_PATH_INFO; \n\n//! \\addtogroup dispcontrol\n//! Macro for constructing the version fields of NV_DISPLAY_PATH_INFO\n//! @{\n#define NV_DISPLAY_PATH_INFO_VER  NV_DISPLAY_PATH_INFO_VER4\n#define NV_DISPLAY_PATH_INFO_VER4 MAKE_NVAPI_VERSION(NV_DISPLAY_PATH_INFO,4)\n#define NV_DISPLAY_PATH_INFO_VER3 MAKE_NVAPI_VERSION(NV_DISPLAY_PATH_INFO,3)\n#define NV_DISPLAY_PATH_INFO_VER2 MAKE_NVAPI_VERSION(NV_DISPLAY_PATH_INFO,2)\n#define NV_DISPLAY_PATH_INFO_VER1 MAKE_NVAPI_VERSION(NV_DISPLAY_PATH_INFO,1)\n//! @}\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME:   NvAPI_SetViewEx\n//\n//!  \\fn NvAPI_SetViewEx(NvDisplayHandle hNvDisplay, NV_DISPLAY_PATH_INFO *pPathInfo, NV_TARGET_VIEW_MODE displayView)\n//!  This function lets caller to modify the display arrangement for selected source display handle in any of the nview modes.\n//!  It also allows to modify or extend the source display in dualview mode.\n//!   \\note Maps the selected source to the associated target Ids.\n//!   \\note Display PATH with this API is limited to single GPU. DUALVIEW across GPUs cannot be enabled with this API. \n//!\n//! \\deprecated  Do not use this function - it is deprecated in release 290. Instead, use NvAPI_DISP_SetDisplayConfig.\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n//!\n//! \\since Release: 95\n//!\n//! \\param [in]  hNvDisplay   NVIDIA Display selection. #NVAPI_DEFAULT_HANDLE is not allowed, it has to be a handle enumerated with \n//!                           NvAPI_EnumNVidiaDisplayHandle().\n//! \\param [in]  pPathInfo    Pointer to array of NV_VIEW_PATH_INFO, specifying device properties in this view.\n//!                           The first device entry in the array is the physical primary.\n//!                           The device entry with the lowest source id is the desktop primary.\n//! \\param [in]  pathCount    Count of paths specified in pPathInfo.\n//! \\param [in]  displayView  Display view selected from NV_TARGET_VIEW_MODE.\n//!\n//! \\retval  NVAPI_OK                Completed request\n//! \\retval  NVAPI_ERROR             Miscellaneous error occurred\n//! \\retval  NVAPI_INVALID_ARGUMENT  Invalid input parameter.\n//\n///////////////////////////////////////////////////////////////////////////////\n\n//! \\ingroup dispcontrol\n__nvapi_deprecated_function(\"Do not use this function - it is deprecated in release 290. Instead, use NvAPI_DISP_SetDisplayConfig.\")\nNVAPI_INTERFACE NvAPI_SetViewEx(NvDisplayHandle hNvDisplay, NV_DISPLAY_PATH_INFO *pPathInfo, NV_TARGET_VIEW_MODE displayView);\n\n\n\n///////////////////////////////////////////////////////////////////////////////\n// SetDisplayConfig/GetDisplayConfig\n///////////////////////////////////////////////////////////////////////////////\n//! \\ingroup dispcontrol\n\ntypedef struct _NV_POSITION\n{\n    NvS32   x;\n    NvS32   y;\n} NV_POSITION;\n\n//! \\ingroup dispcontrol\ntypedef struct _NV_RESOLUTION\n{\n    NvU32   width;\n    NvU32   height;\n    NvU32   colorDepth;\n} NV_RESOLUTION;\n\n//! \\ingroup dispcontrol\ntypedef struct _NV_DISPLAYCONFIG_PATH_ADVANCED_TARGET_INFO_V1\n{\n    NvU32                   version;\n\n    // Rotation and Scaling\n    NV_ROTATE               rotation;       //!< (IN) rotation setting.\n    NV_SCALING              scaling;        //!< (IN) scaling setting.\n\n    // Refresh Rate\n    NvU32                   refreshRate1K;  //!< (IN) Non-interlaced Refresh Rate of the mode, multiplied by 1000, 0 = ignored\n                                            //!< This is the value which driver reports to the OS.\n    // Flags\n    NvU32                   interlaced:1;   //!< (IN) Interlaced mode flag, ignored if refreshRate == 0\n    NvU32                   primary:1;      //!< (IN) Declares primary display in clone configuration. This is *NOT* GDI Primary.\n                                            //!< Only one target can be primary per source. If no primary is specified, the first \n                                            //!< target will automatically be primary.\n#ifdef NV_PAN_AND_SCAN_DEFINED \n    NvU32                   isPanAndScanTarget:1; //!< Whether on this target Pan and Scan is enabled or has to be enabled. Valid only \n                                                  //!< when the target is part of clone topology.\n#else\n    NvU32                   reservedBit1:1;\n#endif\n    NvU32                   disableVirtualModeSupport:1;\n    NvU32                   isPreferredUnscaledTarget:1;\n    NvU32                   reserved:27;  \n    // TV format information\n    NV_GPU_CONNECTOR_TYPE   connector;      //!< Specify connector type. For TV only, ignored if tvFormat == NV_DISPLAY_TV_FORMAT_NONE\n    NV_DISPLAY_TV_FORMAT    tvFormat;       //!< (IN) to choose the last TV format set this value to NV_DISPLAY_TV_FORMAT_NONE\n                                            //!< In case of NvAPI_DISP_GetDisplayConfig(), this field will indicate the currently applied TV format;\n                                            //!< if no TV format is applied, this field will have NV_DISPLAY_TV_FORMAT_NONE value.\n                                            //!< In case of NvAPI_DISP_SetDisplayConfig(), this field should only be set in case of TVs; \n                                            //!< for other displays this field will be ignored and resolution & refresh rate specified in input will be used to apply the TV format.\n\n    // Backend (raster) timing standard\n    NV_TIMING_OVERRIDE      timingOverride;     //!< Ignored if timingOverride == NV_TIMING_OVERRIDE_CURRENT\n    NV_TIMING               timing;             //!< Scan out timing, valid only if timingOverride == NV_TIMING_OVERRIDE_CUST\n                                                //!< The value NV_TIMING::NV_TIMINGEXT::rrx1k is obtained from the EDID. The driver may \n                                                //!< tweak this value for HDTV, stereo, etc., before reporting it to the OS. \n} NV_DISPLAYCONFIG_PATH_ADVANCED_TARGET_INFO_V1;\n\n//! \\ingroup dispcontrol\ntypedef NV_DISPLAYCONFIG_PATH_ADVANCED_TARGET_INFO_V1 NV_DISPLAYCONFIG_PATH_ADVANCED_TARGET_INFO;\n\n//! \\ingroup dispcontrol\n#define NV_DISPLAYCONFIG_PATH_ADVANCED_TARGET_INFO_VER1     MAKE_NVAPI_VERSION(NV_DISPLAYCONFIG_PATH_ADVANCED_TARGET_INFO_V1,1)\n\n//! \\ingroup dispcontrol\n#define NV_DISPLAYCONFIG_PATH_ADVANCED_TARGET_INFO_VER      NV_DISPLAYCONFIG_PATH_ADVANCED_TARGET_INFO_VER1\n\n//! \\ingroup dispcontrol\ntypedef struct _NV_DISPLAYCONFIG_PATH_TARGET_INFO_V1\n{\n    NvU32                                           displayId;  //!< Display ID\n    NV_DISPLAYCONFIG_PATH_ADVANCED_TARGET_INFO*     details;    //!< May be NULL if no advanced settings are required. NULL for Non-NVIDIA Display.\n} NV_DISPLAYCONFIG_PATH_TARGET_INFO_V1;\n\n//! \\ingroup dispcontrol\ntypedef struct _NV_DISPLAYCONFIG_PATH_TARGET_INFO_V2\n{\n    NvU32                                           displayId;  //!< Display ID\n    NV_DISPLAYCONFIG_PATH_ADVANCED_TARGET_INFO*     details;    //!< May be NULL if no advanced settings are required\n    NvU32                                           targetId;   //!< Windows CCD target ID. Must be present only for non-NVIDIA adapter, for NVIDIA adapter this parameter is ignored.\n} NV_DISPLAYCONFIG_PATH_TARGET_INFO_V2;\n\n\n//! \\ingroup dispcontrol\n//! As version is not defined for this structure, we will be using version of NV_DISPLAYCONFIG_PATH_INFO\ntypedef NV_DISPLAYCONFIG_PATH_TARGET_INFO_V2 NV_DISPLAYCONFIG_PATH_TARGET_INFO; \n\n\n//! \\ingroup dispcontrol\ntypedef enum _NV_DISPLAYCONFIG_SPANNING_ORIENTATION\n{\n    NV_DISPLAYCONFIG_SPAN_NONE          = 0,\n    NV_DISPLAYCONFIG_SPAN_HORIZONTAL    = 1,\n    NV_DISPLAYCONFIG_SPAN_VERTICAL      = 2,\n} NV_DISPLAYCONFIG_SPANNING_ORIENTATION;\n\n//! \\ingroup dispcontrol\ntypedef struct _NV_DISPLAYCONFIG_SOURCE_MODE_INFO_V1\n{\n    NV_RESOLUTION                           resolution;\n    NV_FORMAT                               colorFormat;                //!< Ignored at present, must be NV_FORMAT_UNKNOWN (0)\n    NV_POSITION                             position;                   //!< Is all positions are 0 or invalid, displays will be automatically\n                                                                        //!< positioned from left to right with GDI Primary at 0,0, and all\n                                                                        //!< other displays in the order of the path array.\n    NV_DISPLAYCONFIG_SPANNING_ORIENTATION   spanningOrientation;        //!< Spanning is only supported on XP\n    NvU32                                   bGDIPrimary : 1;\n    NvU32                                   bSLIFocus : 1;\n    NvU32                                   reserved : 30;              //!< Must be 0\n} NV_DISPLAYCONFIG_SOURCE_MODE_INFO_V1;\n\n\n\n//! \\ingroup dispcontrol\ntypedef struct _NV_DISPLAYCONFIG_PATH_INFO_V1\n{\n    NvU32                                   version;\n    NvU32                                   reserved_sourceId;     \t//!< This field is reserved. There is ongoing debate if we need this field.\n                                                                        //!< Identifies sourceIds used by Windows. If all sourceIds are 0, \n                                                                        //!< these will be computed automatically.\n    NvU32                                   targetInfoCount;            //!< Number of elements in targetInfo array\n    NV_DISPLAYCONFIG_PATH_TARGET_INFO_V1*   targetInfo;\n    NV_DISPLAYCONFIG_SOURCE_MODE_INFO_V1*   sourceModeInfo;             //!< May be NULL if mode info is not important\n} NV_DISPLAYCONFIG_PATH_INFO_V1;\n\n//! \\ingroup dispcontrol\n//! This define is temporary and must be removed once DVS failure is fixed.\n#define _NV_DISPLAYCONFIG_PATH_INFO_V2 _NV_DISPLAYCONFIG_PATH_INFO\n\n//! \\ingroup dispcontrol\ntypedef struct _NV_DISPLAYCONFIG_PATH_INFO_V2\n{\n    NvU32                                   version;\n    union {\n        NvU32                                   sourceId;            \t//!< Identifies sourceId used by Windows CCD. This can be optionally set.\n        NvU32                                   reserved_sourceId;      //!< Only for compatibility\n    };\n\n    NvU32                                   targetInfoCount;            //!< Number of elements in targetInfo array\n    NV_DISPLAYCONFIG_PATH_TARGET_INFO_V2*   targetInfo;\n    NV_DISPLAYCONFIG_SOURCE_MODE_INFO_V1*   sourceModeInfo;             //!< May be NULL if mode info is not important\n    NvU32                                   IsNonNVIDIAAdapter : 1;     //!< True for non-NVIDIA adapter.\n    NvU32                                   reserved : 31;              //!< Must be 0\n    void                                    *pOSAdapterID;              //!< Used by Non-NVIDIA adapter for pointer to OS Adapter of LUID \n                                                                        //!< type, type casted to void *.\n} NV_DISPLAYCONFIG_PATH_INFO_V2;\n\n//! \\ingroup dispcontrol\n#define NV_DISPLAYCONFIG_PATH_INFO_VER1                 MAKE_NVAPI_VERSION(NV_DISPLAYCONFIG_PATH_INFO_V1,1)\n\n//! \\ingroup dispcontrol\n#define NV_DISPLAYCONFIG_PATH_INFO_VER2                 MAKE_NVAPI_VERSION(NV_DISPLAYCONFIG_PATH_INFO_V2,2)\n\n#ifndef NV_DISPLAYCONFIG_PATH_INFO_VER\n\ntypedef NV_DISPLAYCONFIG_PATH_INFO_V2 NV_DISPLAYCONFIG_PATH_INFO;\n\n#define NV_DISPLAYCONFIG_PATH_INFO_VER                  NV_DISPLAYCONFIG_PATH_INFO_VER2\n\ntypedef NV_DISPLAYCONFIG_SOURCE_MODE_INFO_V1 NV_DISPLAYCONFIG_SOURCE_MODE_INFO; \n\n#endif\n\n\n//! \\ingroup dispcontrol\ntypedef enum _NV_DISPLAYCONFIG_FLAGS\n{\n    NV_DISPLAYCONFIG_VALIDATE_ONLY          = 0x00000001,\n    NV_DISPLAYCONFIG_SAVE_TO_PERSISTENCE    = 0x00000002, \n    NV_DISPLAYCONFIG_DRIVER_RELOAD_ALLOWED  = 0x00000004,               //!< Driver reload is permitted if necessary\n    NV_DISPLAYCONFIG_FORCE_MODE_ENUMERATION = 0x00000008,               //!< Refresh OS mode list.\n} NV_DISPLAYCONFIG_FLAGS;\n\n\n#define NVAPI_UNICODE_STRING_MAX                             2048\n#define NVAPI_BINARY_DATA_MAX                                4096\n\ntypedef NvU16 NvAPI_UnicodeString[NVAPI_UNICODE_STRING_MAX];\ntypedef const NvU16 *NvAPI_LPCWSTR;\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_GetDisplayDriverVersion\n//! \\fn NvAPI_GetDisplayDriverVersion(NvDisplayHandle hNvDisplay, NV_DISPLAY_DRIVER_VERSION *pVersion)\n//! This function returns a struct that describes aspects of the display driver\n//!                build.\n//!\n//! \\deprecated  Do not use this function - it is deprecated in release 290. Instead, use NvAPI_SYS_GetDriverAndBranchVersion.\n//! SUPPORTED OS:  Windows XP and higher,  Mac OS X\n//!\n//!\n//! \\since Release: 80\n//!\n//! \\param [in]  hNvDisplay NVIDIA display handle.\n//! \\param [out] pVersion Pointer to NV_DISPLAY_DRIVER_VERSION struc\n//!\n//! \\retval NVAPI_ERROR\n//! \\retval NVAPI_OK\n///////////////////////////////////////////////////////////////////////////////\n\n//! \\ingroup driverapi\n//! Used in NvAPI_GetDisplayDriverVersion()\ntypedef struct \n{\n    NvU32              version;             // Structure version\n    NvU32              drvVersion;           \n    NvU32              bldChangeListNum;     \n    NvAPI_ShortString  szBuildBranchString; \n    NvAPI_ShortString  szAdapterString;\n} NV_DISPLAY_DRIVER_VERSION;\n\n//! \\ingroup driverapi\n#define NV_DISPLAY_DRIVER_VERSION_VER  MAKE_NVAPI_VERSION(NV_DISPLAY_DRIVER_VERSION,1)\n\n\n//! \\ingroup driverapi\n__nvapi_deprecated_function(\"Do not use this function - it is deprecated in release 290. Instead, use NvAPI_SYS_GetDriverAndBranchVersion.\")\nNVAPI_INTERFACE NvAPI_GetDisplayDriverVersion(NvDisplayHandle hNvDisplay, NV_DISPLAY_DRIVER_VERSION *pVersion);\n\n\n\n\n\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_OGL_ExpertModeSet[Get]\n//\n//! \\name NvAPI_OGL_ExpertModeSet[Get] Functions\n//@{\n//!  This function configures OpenGL Expert Mode, an API usage feedback and\n//!  advice reporting mechanism. The effects of this call are\n//!  applied only to the current context, and are reset to the\n//!  defaults when the context is destroyed.\n//!\n//!  \\note  This feature is valid at runtime only when GLExpert\n//!         functionality has been built into the OpenGL driver\n//!         installed on the system. All Windows Vista OpenGL\n//!         drivers provided by NVIDIA have this instrumentation\n//!         included by default. Windows XP, however, requires a\n//!         special display driver available with the NVIDIA\n//!         PerfSDK found at developer.nvidia.com.\n//!\n//!  \\note These functions are valid only for the current OpenGL\n//!        context. Calling these functions prior to creating a\n//!        context and calling MakeCurrent with it will result\n//!        in errors and undefined behavior.\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\since Release: 80\n//!\n//! \\param   expertDetailMask  Mask made up of NVAPI_OGLEXPERT_DETAIL bits,\n//!                            this parameter specifies the detail level in\n//!                            the feedback stream.\n//!\n//! \\param   expertReportMask  Mask made up of NVAPI_OGLEXPERT_REPORT bits,\n//!                            this parameter specifies the areas of\n//!                            functional interest.\n//!\n//! \\param   expertOutputMask  Mask made up of NVAPI_OGLEXPERT_OUTPUT bits,\n//!                            this parameter specifies the feedback output\n//!                            location.\n//!\n//! \\param   expertCallback    Used in conjunction with OUTPUT_TO_CALLBACK,\n//!                            this is a simple callback function the user\n//!                            may use to obtain the feedback stream. The\n//!                            function will be called once per fully\n//!                            qualified feedback stream extry.\n//!\n//! \\retval  NVAPI_API_NOT_INTIALIZED          NVAPI not initialized\n//! \\retval  NVAPI_NVIDIA_DEVICE_NOT_FOUND     No NVIDIA GPU found\n//! \\retval  NVAPI_OPENGL_CONTEXT_NOT_CURRENT  No NVIDIA OpenGL context\n//!                                            which supports GLExpert\n//!                                            has been made current\n//! \\retval  NVAPI_ERROR                       OpenGL driver failed to load properly\n//! \\retval  NVAPI_OK                          Success\n//\n///////////////////////////////////////////////////////////////////////////////\n\n//! \\addtogroup oglapi\n//! @{\n#define NVAPI_OGLEXPERT_DETAIL_NONE                 0x00000000\n#define NVAPI_OGLEXPERT_DETAIL_ERROR                0x00000001\n#define NVAPI_OGLEXPERT_DETAIL_SWFALLBACK           0x00000002\n#define NVAPI_OGLEXPERT_DETAIL_BASIC_INFO           0x00000004\n#define NVAPI_OGLEXPERT_DETAIL_DETAILED_INFO        0x00000008\n#define NVAPI_OGLEXPERT_DETAIL_PERFORMANCE_WARNING  0x00000010\n#define NVAPI_OGLEXPERT_DETAIL_QUALITY_WARNING      0x00000020\n#define NVAPI_OGLEXPERT_DETAIL_USAGE_WARNING        0x00000040\n#define NVAPI_OGLEXPERT_DETAIL_ALL                  0xFFFFFFFF\n\n#define NVAPI_OGLEXPERT_REPORT_NONE                 0x00000000\n#define NVAPI_OGLEXPERT_REPORT_ERROR                0x00000001\n#define NVAPI_OGLEXPERT_REPORT_SWFALLBACK           0x00000002\n#define NVAPI_OGLEXPERT_REPORT_PIPELINE_VERTEX      0x00000004\n#define NVAPI_OGLEXPERT_REPORT_PIPELINE_GEOMETRY    0x00000008\n#define NVAPI_OGLEXPERT_REPORT_PIPELINE_XFB         0x00000010\n#define NVAPI_OGLEXPERT_REPORT_PIPELINE_RASTER      0x00000020\n#define NVAPI_OGLEXPERT_REPORT_PIPELINE_FRAGMENT    0x00000040\n#define NVAPI_OGLEXPERT_REPORT_PIPELINE_ROP         0x00000080\n#define NVAPI_OGLEXPERT_REPORT_PIPELINE_FRAMEBUFFER 0x00000100\n#define NVAPI_OGLEXPERT_REPORT_PIPELINE_PIXEL       0x00000200\n#define NVAPI_OGLEXPERT_REPORT_PIPELINE_TEXTURE     0x00000400\n#define NVAPI_OGLEXPERT_REPORT_OBJECT_BUFFEROBJECT  0x00000800\n#define NVAPI_OGLEXPERT_REPORT_OBJECT_TEXTURE       0x00001000\n#define NVAPI_OGLEXPERT_REPORT_OBJECT_PROGRAM       0x00002000\n#define NVAPI_OGLEXPERT_REPORT_OBJECT_FBO           0x00004000\n#define NVAPI_OGLEXPERT_REPORT_FEATURE_SLI          0x00008000\n#define NVAPI_OGLEXPERT_REPORT_ALL                  0xFFFFFFFF\n\n\n#define NVAPI_OGLEXPERT_OUTPUT_TO_NONE       0x00000000\n#define NVAPI_OGLEXPERT_OUTPUT_TO_CONSOLE    0x00000001\n#define NVAPI_OGLEXPERT_OUTPUT_TO_DEBUGGER   0x00000004\n#define NVAPI_OGLEXPERT_OUTPUT_TO_CALLBACK   0x00000008\n#define NVAPI_OGLEXPERT_OUTPUT_TO_ALL        0xFFFFFFFF\n\n//! @}\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION TYPE: NVAPI_OGLEXPERT_CALLBACK\n//\n//!   DESCRIPTION: Used in conjunction with OUTPUT_TO_CALLBACK, this is a simple \n//!                callback function the user may use to obtain the feedback \n//!                stream. The function will be called once per fully qualified \n//!                feedback stream entry.\n//!\n//!   \\param   categoryId    Contains the bit from the NVAPI_OGLEXPERT_REPORT \n//!                          mask that corresponds to the current message\n//!   \\param   messageId     Unique ID for the current message\n//!   \\param   detailLevel   Contains the bit from the NVAPI_OGLEXPERT_DETAIL\n//!                          mask that corresponds to the current message\n//!   \\param   objectId      Unique ID of the object that corresponds to the\n//!                          current message\n//!   \\param   messageStr    Text string from the current message\n//!\n//!   \\ingroup oglapi\n///////////////////////////////////////////////////////////////////////////////\ntypedef void (* NVAPI_OGLEXPERT_CALLBACK) (unsigned int categoryId, unsigned int messageId, unsigned int detailLevel, int objectId, const char *messageStr);\n\n\n\n//! \\ingroup oglapi\n//! SUPPORTED OS:  Windows XP and higher\n//!\nNVAPI_INTERFACE NvAPI_OGL_ExpertModeSet(NvU32 expertDetailLevel,\n                                        NvU32 expertReportMask,\n                                        NvU32 expertOutputMask,\n                     NVAPI_OGLEXPERT_CALLBACK expertCallback);\n\n//! \\addtogroup oglapi\n//! SUPPORTED OS:  Windows XP and higher\n//!\nNVAPI_INTERFACE NvAPI_OGL_ExpertModeGet(NvU32 *pExpertDetailLevel,\n                                        NvU32 *pExpertReportMask,\n                                        NvU32 *pExpertOutputMask,\n                     NVAPI_OGLEXPERT_CALLBACK *pExpertCallback);\n\n//@}\n///////////////////////////////////////////////////////////////////////////////\n//\n//! \\name NvAPI_OGL_ExpertModeDefaultsSet[Get] Functions\n//!\n//@{\n//!  This function configures OpenGL Expert Mode global defaults. These settings\n//!  apply to any OpenGL application which starts up after these\n//!  values are applied (i.e. these settings *do not* apply to\n//!  currently running applications).\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\since Release: 80\n//!\n//! \\param   expertDetailLevel Value which specifies the detail level in\n//!                            the feedback stream. This is a mask made up\n//!                            of NVAPI_OGLEXPERT_LEVEL bits.\n//!\n//! \\param   expertReportMask  Mask made up of NVAPI_OGLEXPERT_REPORT bits,\n//!                            this parameter specifies the areas of\n//!                            functional interest.\n//!\n//! \\param   expertOutputMask  Mask made up of NVAPI_OGLEXPERT_OUTPUT bits,\n//!                            this parameter specifies the feedback output\n//!                            location. Note that using OUTPUT_TO_CALLBACK\n//!                            here is meaningless and has no effect, but\n//!                            using it will not cause an error.\n//!\n//! \\return  ::NVAPI_ERROR or ::NVAPI_OK\n//\n///////////////////////////////////////////////////////////////////////////////\n\n//! \\ingroup oglapi\n//! SUPPORTED OS:  Windows XP and higher\n//!\nNVAPI_INTERFACE NvAPI_OGL_ExpertModeDefaultsSet(NvU32 expertDetailLevel,\n                                                NvU32 expertReportMask,\n                                                NvU32 expertOutputMask);\n\n//! \\addtogroup oglapi\n//! SUPPORTED OS:  Windows XP and higher\n//!\nNVAPI_INTERFACE NvAPI_OGL_ExpertModeDefaultsGet(NvU32 *pExpertDetailLevel,\n                                                NvU32 *pExpertReportMask,\n                                                NvU32 *pExpertOutputMask);\n//@}\n\n\n\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_EnumTCCPhysicalGPUs\n//\n//! This function returns an array of physical GPU handles that are in TCC Mode.\n//! Each handle represents a physical GPU present in the system in TCC Mode.\n//! That GPU may not be visible to the OS directly.\n//!\n//! The array nvGPUHandle will be filled with physical GPU handle values. The returned\n//! gpuCount determines how many entries in the array are valid.\n//!\n//! NOTE: Handles enumerated by this API are only valid for NvAPIs that are tagged as TCC_SUPPORTED\n//!       If handle is passed to any other API, it will fail with NVAPI_INVALID_HANDLE\n//!\n//!       For WDDM GPU handles please use NvAPI_EnumPhysicalGPUs()\n//!\n//! SUPPORTED OS:  Windows Vista and higher,  Mac OS X\n//!\n//!\n//! \n//! \\param [out]   nvGPUHandle      Physical GPU array that will contain all TCC Physical GPUs\n//! \\param [out]   pGpuCount        count represent the number of valid entries in nvGPUHandle\n//!  \n//!\n//! \\retval NVAPI_INVALID_ARGUMENT         nvGPUHandle or pGpuCount is NULL\n//! \\ingroup gpu\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_EnumTCCPhysicalGPUs( NvPhysicalGpuHandle nvGPUHandle[NVAPI_MAX_PHYSICAL_GPUS], NvU32 *pGpuCount);\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_EnumLogicalGPUs\n//\n//! This function returns an array of logical GPU handles.\n//!\n//! Each handle represents one or more GPUs acting in concert as a single graphics device.\n//!\n//! At least one GPU must be present in the system and running an NVIDIA display driver.\n//!\n//! The array nvGPUHandle will be filled with logical GPU handle values.  The returned\n//! gpuCount determines how many entries in the array are valid.\n//!\n//! \\note All logical GPUs handles get invalidated on a GPU topology change, so the calling \n//!       application is required to renum the logical GPU handles to get latest physical handle\n//!       mapping after every GPU topology change activated by a call to NvAPI_SetGpuTopologies().\n//!\n//! To detect if SLI rendering is enabled, use NvAPI_D3D_GetCurrentSLIState().\n//!\n//! SUPPORTED OS:  Windows XP and higher,  Mac OS X\n//!\n//!\n//! \\since Release: 80\n//!\n//! \\retval NVAPI_INVALID_ARGUMENT         nvGPUHandle or pGpuCount is NULL\n//! \\retval NVAPI_OK                       One or more handles were returned\n//! \\retval NVAPI_NVIDIA_DEVICE_NOT_FOUND  No NVIDIA GPU driving a display was found\n//! \\ingroup gpu\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_EnumLogicalGPUs(NvLogicalGpuHandle nvGPUHandle[NVAPI_MAX_LOGICAL_GPUS], NvU32 *pGpuCount);\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_GetPhysicalGPUsFromDisplay\n//\n//! This function returns an array of physical GPU handles associated with the specified display.\n//!\n//! At least one GPU must be present in the system and running an NVIDIA display driver.\n//!\n//! The array nvGPUHandle will be filled with physical GPU handle values.  The returned\n//! gpuCount determines how many entries in the array are valid.\n//!\n//! If the display corresponds to more than one physical GPU, the first GPU returned\n//! is the one with the attached active output.\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\since Release: 80\n//!\n//! \\retval NVAPI_INVALID_ARGUMENT         hNvDisp is not valid; nvGPUHandle or pGpuCount is NULL\n//! \\retval NVAPI_OK                       One or more handles were returned\n//! \\retval NVAPI_NVIDIA_DEVICE_NOT_FOUND  no NVIDIA GPU driving a display was found\n//! \\ingroup gpu\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_GetPhysicalGPUsFromDisplay(NvDisplayHandle hNvDisp, NvPhysicalGpuHandle nvGPUHandle[NVAPI_MAX_PHYSICAL_GPUS], NvU32 *pGpuCount);\n \n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_GetPhysicalGPUFromUnAttachedDisplay\n//\n//! This function returns a physical GPU handle associated with the specified unattached display.\n//! The source GPU is a physical render GPU which renders the frame buffer but may or may not drive the scan out.\n//!\n//! At least one GPU must be present in the system and running an NVIDIA display driver.\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\since Release: 80\n//!\n//! \\retval NVAPI_INVALID_ARGUMENT         hNvUnAttachedDisp is not valid or pPhysicalGpu is NULL.\n//! \\retval NVAPI_OK                       One or more handles were returned\n//! \\retval NVAPI_NVIDIA_DEVICE_NOT_FOUND  No NVIDIA GPU driving a display was found\n//! \\ingroup gpu\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_GetPhysicalGPUFromUnAttachedDisplay(NvUnAttachedDisplayHandle hNvUnAttachedDisp, NvPhysicalGpuHandle *pPhysicalGpu);\n\n\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_GetLogicalGPUFromDisplay\n//\n//! This function returns the logical GPU handle associated with the specified display.\n//! At least one GPU must be present in the system and running an NVIDIA display driver.\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\since Release: 80\n//!\n//! \\retval NVAPI_INVALID_ARGUMENT         hNvDisp is not valid; pLogicalGPU is NULL\n//! \\retval NVAPI_OK                       One or more handles were returned\n//! \\retval NVAPI_NVIDIA_DEVICE_NOT_FOUND  No NVIDIA GPU driving a display was found\n//! \\ingroup gpu\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_GetLogicalGPUFromDisplay(NvDisplayHandle hNvDisp, NvLogicalGpuHandle *pLogicalGPU);\n\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_GetLogicalGPUFromPhysicalGPU\n//\n//! This function returns the logical GPU handle associated with specified physical GPU handle.\n//! At least one GPU must be present in the system and running an NVIDIA display driver.\n//!\n//! SUPPORTED OS:  Windows XP and higher,  Mac OS X\n//!\n//!\n//! \\since Release: 80\n//!\n//! \\retval NVAPI_INVALID_ARGUMENT         hPhysicalGPU is not valid; pLogicalGPU is NULL\n//! \\retval NVAPI_OK                       One or more handles were returned\n//! \\retval NVAPI_NVIDIA_DEVICE_NOT_FOUND  No NVIDIA GPU driving a display was found\n//! \\ingroup gpu\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_GetLogicalGPUFromPhysicalGPU(NvPhysicalGpuHandle hPhysicalGPU, NvLogicalGpuHandle *pLogicalGPU);\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_GetPhysicalGPUsFromLogicalGPU\n//\n//!  This function returns the physical GPU handles associated with the specified logical GPU handle.\n//!  At least one GPU must be present in the system and running an NVIDIA display driver.\n//!\n//!  The array hPhysicalGPU will be filled with physical GPU handle values.  The returned\n//!  gpuCount determines how many entries in the array are valid.\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\since Release: 80\n//!\n//! \\retval NVAPI_INVALID_ARGUMENT             hLogicalGPU is not valid; hPhysicalGPU is NULL\n//! \\retval NVAPI_OK                           One or more handles were returned\n//! \\retval NVAPI_NVIDIA_DEVICE_NOT_FOUND      No NVIDIA GPU driving a display was found\n//! \\retval NVAPI_EXPECTED_LOGICAL_GPU_HANDLE  hLogicalGPU was not a logical GPU handle\n//! \\ingroup gpu\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_GetPhysicalGPUsFromLogicalGPU(NvLogicalGpuHandle hLogicalGPU,NvPhysicalGpuHandle hPhysicalGPU[NVAPI_MAX_PHYSICAL_GPUS], NvU32 *pGpuCount);\n   \n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_GPU_GetShaderSubPipeCount\n//\n//!   DESCRIPTION: This function retrieves the number of Shader SubPipes on the GPU\n//!                On newer architectures, this corresponds to the number of SM units\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\since Release: 170\n//!\n//! RETURN STATUS: NVAPI_INVALID_ARGUMENT: pCount is NULL\n//!                NVAPI_OK: *pCount is set\n//!                NVAPI_NVIDIA_DEVICE_NOT_FOUND: no NVIDIA GPU driving a display was found\n//!                NVAPI_EXPECTED_PHYSICAL_GPU_HANDLE: hPhysicalGpu was not a physical GPU handle\n//!\n//! \\ingroup   gpu  \n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_GPU_GetShaderSubPipeCount(NvPhysicalGpuHandle hPhysicalGpu,NvU32 *pCount);\n\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_GPU_GetGpuCoreCount\n//\n//!   DESCRIPTION: Retrieves the total number of cores defined for a GPU.\n//!                Returns 0 on architectures that don't define GPU cores.\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! TCC_SUPPORTED\n//!\n//! \\retval ::NVAPI_INVALID_ARGUMENT              pCount is NULL\n//! \\retval ::NVAPI_OK                            *pCount is set\n//! \\retval ::NVAPI_NVIDIA_DEVICE_NOT_FOUND       no NVIDIA GPU driving a display was found\n//! \\retval ::NVAPI_EXPECTED_PHYSICAL_GPU_HANDLE  hPhysicalGpu was not a physical GPU handle\n//! \\retval ::NVAPI_NOT_SUPPORTED                 API call is not supported on current architecture\n//!\n//! \\ingroup gpu\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_GPU_GetGpuCoreCount(NvPhysicalGpuHandle hPhysicalGpu,NvU32 *pCount);\n\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_GPU_GetAllOutputs\n//\n//!  This function returns set of all GPU-output identifiers as a bitmask.\n//!\n//! \\deprecated  Do not use this function - it is deprecated in release 290. Instead, use NvAPI_GPU_GetAllDisplayIds.\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\since Release: 85\n//!\n//! \\retval   NVAPI_INVALID_ARGUMENT              hPhysicalGpu or pOutputsMask is NULL.\n//! \\retval   NVAPI_OK                           *pOutputsMask contains a set of GPU-output identifiers.\n//! \\retval   NVAPI_NVIDIA_DEVICE_NOT_FOUND       No NVIDIA GPU driving a display was found.\n//! \\retval   NVAPI_EXPECTED_PHYSICAL_GPU_HANDLE  hPhysicalGpu was not a physical GPU handle.\n//! \\ingroup gpu\n///////////////////////////////////////////////////////////////////////////////\n__nvapi_deprecated_function(\"Do not use this function - it is deprecated in release 290. Instead, use NvAPI_GPU_GetAllDisplayIds.\")\nNVAPI_INTERFACE NvAPI_GPU_GetAllOutputs(NvPhysicalGpuHandle hPhysicalGpu,NvU32 *pOutputsMask);\n\n\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_GPU_GetConnectedOutputs\n//\n//! This function is the same as NvAPI_GPU_GetAllOutputs() but returns only the set of GPU output \n//! identifiers that are connected to display devices.\n//!\n//! \\deprecated  Do not use this function - it is deprecated in release 290. Instead, use NvAPI_GPU_GetConnectedDisplayIds.\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\since Release: 80\n//!\n//! \\retval   NVAPI_INVALID_ARGUMENT              hPhysicalGpu or pOutputsMask is NULL.\n//! \\retval   NVAPI_OK                           *pOutputsMask contains a set of GPU-output identifiers.\n//! \\retval   NVAPI_NVIDIA_DEVICE_NOT_FOUND       No NVIDIA GPU driving a display was found.\n//! \\retval   NVAPI_EXPECTED_PHYSICAL_GPU_HANDLE  hPhysicalGpu was not a physical GPU handle.\n//! \\ingroup gpu\n///////////////////////////////////////////////////////////////////////////////\n__nvapi_deprecated_function(\"Do not use this function - it is deprecated in release 290. Instead, use NvAPI_GPU_GetConnectedDisplayIds.\")\nNVAPI_INTERFACE NvAPI_GPU_GetConnectedOutputs(NvPhysicalGpuHandle hPhysicalGpu, NvU32 *pOutputsMask);\n\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_GPU_GetConnectedSLIOutputs\n//\n//!   DESCRIPTION: This function is the same as NvAPI_GPU_GetConnectedOutputs() but returns only the set of GPU-output \n//!                identifiers that can be selected in an SLI configuration. \n//!                 NOTE: This function matches NvAPI_GPU_GetConnectedOutputs()\n//!                 - On systems which are not SLI capable.\n//!                 - If the queried GPU is not part of a valid SLI group.\n//!\n//! \\deprecated  Do not use this function - it is deprecated in release 290. Instead, use NvAPI_GPU_GetConnectedDisplayIds.\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\since Release: 170\n//!\n//! \\retval   NVAPI_INVALID_ARGUMENT              hPhysicalGpu or pOutputsMask is NULL\n//! \\retval   NVAPI_OK                           *pOutputsMask contains a set of GPU-output identifiers\n//! \\retval   NVAPI_NVIDIA_DEVICE_NOT_FOUND       No NVIDIA GPU driving a display was found\n//! \\retval   NVAPI_EXPECTED_PHYSICAL_GPU_HANDLE: hPhysicalGpu was not a physical GPU handle\n//! \n//! \\ingroup gpu  \n///////////////////////////////////////////////////////////////////////////////\n__nvapi_deprecated_function(\"Do not use this function - it is deprecated in release 290. Instead, use NvAPI_GPU_GetConnectedDisplayIds.\")\nNVAPI_INTERFACE NvAPI_GPU_GetConnectedSLIOutputs(NvPhysicalGpuHandle hPhysicalGpu, NvU32 *pOutputsMask);\n\n\n\n//! \\ingroup gpu\ntypedef enum\n{\n    NV_MONITOR_CONN_TYPE_UNINITIALIZED = 0,\n    NV_MONITOR_CONN_TYPE_VGA,\n    NV_MONITOR_CONN_TYPE_COMPONENT,\n    NV_MONITOR_CONN_TYPE_SVIDEO,\n    NV_MONITOR_CONN_TYPE_HDMI,\n    NV_MONITOR_CONN_TYPE_DVI,\n    NV_MONITOR_CONN_TYPE_LVDS,\n    NV_MONITOR_CONN_TYPE_DP,\n    NV_MONITOR_CONN_TYPE_COMPOSITE,\n    NV_MONITOR_CONN_TYPE_UNKNOWN =  -1\n} NV_MONITOR_CONN_TYPE;\n\n\n//! \\addtogroup gpu\n//! @{\n#define NV_GPU_CONNECTED_IDS_FLAG_UNCACHED          NV_BIT(0) //!< Get uncached connected devices\n#define NV_GPU_CONNECTED_IDS_FLAG_SLI               NV_BIT(1) //!< Get devices such that those can be selected in an SLI configuration\n#define NV_GPU_CONNECTED_IDS_FLAG_LIDSTATE          NV_BIT(2) //!< Get devices such that to reflect the Lid State\n#define NV_GPU_CONNECTED_IDS_FLAG_FAKE              NV_BIT(3) //!< Get devices that includes the fake connected monitors\n#define NV_GPU_CONNECTED_IDS_FLAG_EXCLUDE_MST       NV_BIT(4) //!< Excludes devices that are part of the multi stream topology.               \n\n//! @}\n\n//! \\ingroup gpu\ntypedef struct _NV_GPU_DISPLAYIDS\n{\n    NvU32    version;\n    NV_MONITOR_CONN_TYPE connectorType; //!< out: vga, tv, dvi, hdmi and dp. This is reserved for future use and clients should not rely on this information. Instead get the \n                                        //!< GPU connector type from NvAPI_GPU_GetConnectorInfo/NvAPI_GPU_GetConnectorInfoEx\n    NvU32    displayId;                 //!< this is a unique identifier for each device\n    NvU32    isDynamic:1;               //!< if bit is set then this display is part of MST topology and it's a dynamic\n    NvU32    isMultiStreamRootNode:1;   //!< if bit is set then this displayID belongs to a multi stream enabled connector(root node). Note that when multi stream is enabled and \n                                        //!< a single multi stream capable monitor is connected to it, the monitor will share the display id with the RootNode. \n                                        //!< When there is more than one monitor connected in a multi stream topology, then the root node will have a separate displayId.\n    NvU32    isActive:1;                //!< if bit is set then this display is being actively driven\n    NvU32    isCluster:1;               //!< if bit is set then this display is the representative display\n    NvU32    isOSVisible:1;             //!< if bit is set, then this display is reported to the OS\n    NvU32    isWFD:1;                   //!< if bit is set, then this display is wireless \n    NvU32    isConnected:1;             //!< if bit is set, then this display is connected\n    NvU32    reservedInternal:10;       //!< Do not use\n    NvU32    isPhysicallyConnected:1;   //!< if bit is set, then this display is a phycially connected display; Valid only when isConnected bit is set\n    NvU32    reserved: 14;              //!< must be zero\n} NV_GPU_DISPLAYIDS;\n\n//! \\ingroup gpu\n//! Macro for constructing the version field of ::_NV_GPU_DISPLAYIDS\n#define NV_GPU_DISPLAYIDS_VER1          MAKE_NVAPI_VERSION(NV_GPU_DISPLAYIDS,1)\n#define NV_GPU_DISPLAYIDS_VER2          MAKE_NVAPI_VERSION(NV_GPU_DISPLAYIDS,3)\n\n#define NV_GPU_DISPLAYIDS_VER NV_GPU_DISPLAYIDS_VER2\n\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_GPU_GetConnectedDisplayIds\n//\n//! \\code\n//!   DESCRIPTION: Due to space limitation NvAPI_GPU_GetConnectedOutputs can return maximum 32 devices, but \n//!                this is no longer true for DPMST. NvAPI_GPU_GetConnectedDisplayIds will return all \n//!                the connected display devices in the form of displayIds for the associated hPhysicalGpu.\n//!                This function can accept set of flags to request cached, uncached, sli and lid to get the connected devices.\n//!                Default value for flags will be cached .\n//! HOW TO USE: 1) for each PhysicalGpu, make a call to get the number of connected displayId's \n//!                using NvAPI_GPU_GetConnectedDisplayIds by passing the pDisplayIds as NULL\n//!                On call success:\n//!             2) If pDisplayIdCount is greater than 0, allocate memory based on pDisplayIdCount. Then make a call NvAPI_GPU_GetConnectedDisplayIds to populate DisplayIds.\n//!                However, if pDisplayIdCount is 0, do not make this call.\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//! PARAMETERS:     hPhysicalGpu (IN)  - GPU selection\n//!                 flags        (IN)  - One or more defines from NV_GPU_CONNECTED_IDS_FLAG_* as valid flags. \n//!                 pDisplayIds  (IN/OUT) - Pointer to an NV_GPU_DISPLAYIDS struct, each entry represents a one displayID and its attributes\n//!                 pDisplayIdCount(OUT)- Number of displayId's.\n//!\n//! RETURN STATUS: NVAPI_INVALID_ARGUMENT: hPhysicalGpu or pDisplayIds or pDisplayIdCount is NULL\n//!                NVAPI_OK: *pDisplayIds contains a set of GPU-output identifiers\n//!                NVAPI_NVIDIA_DEVICE_NOT_FOUND: no NVIDIA GPU driving a display was found\n//!                NVAPI_EXPECTED_PHYSICAL_GPU_HANDLE: hPhysicalGpu was not a physical GPU handle\n//! \\endcode\n//! \\ingroup gpu\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_GPU_GetConnectedDisplayIds(__in NvPhysicalGpuHandle hPhysicalGpu,  __inout_ecount_part_opt(*pDisplayIdCount, *pDisplayIdCount) NV_GPU_DISPLAYIDS* pDisplayIds, __inout NvU32* pDisplayIdCount, __in NvU32 flags);\n\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_GPU_GetAllDisplayIds\n//\n//!   DESCRIPTION: This API returns display IDs for all possible outputs on the GPU.\n//!                For DPMST connector, it will return display IDs for all the video sinks in the topology. \\n\n//! HOW TO USE: 1. The first call should be made to get the all display ID count. To get the display ID count, send in \\n\n//!                  a) hPhysicalGpu    - a valid GPU handle(enumerated using NvAPI_EnumPhysicalGPUs()) as input,      \\n\n//!                  b) pDisplayIds     - NULL, as we just want to get the display ID count.                           \\n \n//!                  c) pDisplayIdCount - a valid pointer to NvU32, whose value is set to ZERO.                        \\n\n//!                If all parameters are correct and this call is successful, this call will return the display ID's count. \\n\n//!             2. To get the display ID array, make the second call to NvAPI_GPU_GetAllDisplayIds() with              \\n\n//!                  a) hPhysicalGpu    - should be same value which was sent in first call,                           \\n\n//!                  b) pDisplayIds     - pointer to the display ID array allocated by caller based on display ID count,    \\n \n//!                                       eg. malloc(sizeof(NV_GPU_DISPLAYIDS) * pDisplayIdCount).                     \\n\n//!                  c) pDisplayIdCount - a valid pointer to NvU32. This indicates for how many display IDs            \\n\n//!                                       the memory is allocated(pDisplayIds) by the caller.                          \\n\n//!                If all parameters are correct and this call is successful, this call will return the display ID array and actual\n//!                display ID count (which was obtained in the first call to NvAPI_GPU_GetAllDisplayIds). If the input display ID count is\n//!                less than the actual display ID count, it will overwrite the input and give the pDisplayIdCount as actual count and the\n//!                API will return NVAPI_INSUFFICIENT_BUFFER.\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\param [in]     hPhysicalGpu         GPU selection.\n//! \\param [in,out] DisplayIds           Pointer to an array of NV_GPU_DISPLAYIDS structures, each entry represents one displayID \n//!                                      and its attributes.\n//! \\param [in,out] pDisplayIdCount      As input, this parameter indicates the number of display's id's for which caller has \n//!                                      allocated the memory. As output, it will return the actual number of display IDs.\n//!\n//! \\return  This API can return any of the error codes enumerated in #NvAPI_Status. If there are return error codes with \n//!          specific meaning for this API, they are listed below.\n//!\n//! \\retval  NVAPI_INSUFFICIENT_BUFFER  When the input buffer(pDisplayIds) is less than the actual number of display IDs, this API \n//!                                     will return NVAPI_INSUFFICIENT_BUFFER. \n//!\n//! \\ingroup gpu\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_GPU_GetAllDisplayIds(__in NvPhysicalGpuHandle hPhysicalGpu, __inout_ecount_part_opt(*pDisplayIdCount, *pDisplayIdCount) NV_GPU_DISPLAYIDS* pDisplayIds, __inout NvU32* pDisplayIdCount);\n\n\n\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_GPU_GetConnectedOutputsWithLidState\n//\n//!  This function is similar to NvAPI_GPU_GetConnectedOutputs(), and returns the connected display identifiers that are connected \n//!  as an output mask but unlike NvAPI_GPU_GetConnectedOutputs() this API \"always\" reflects the Lid State in the output mask.\n//!  Thus if you expect the LID close state to be available in the connection mask use this API.\n//!  - If LID is closed then this API will remove the LID panel from the connected display identifiers. \n//!  - If LID is open then this API will reflect the LID panel in the connected display identifiers. \n//!\n//! \\note This API should be used on notebook systems and on systems where the LID state is required in the connection \n//!       output mask. On desktop systems the returned identifiers will match NvAPI_GPU_GetConnectedOutputs().\n//!\n//! \\deprecated  Do not use this function - it is deprecated in release 290. Instead, use NvAPI_GPU_GetConnectedDisplayIds.\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\since Release: 95\n//!\n//! \\retval  NVAPI_INVALID_ARGUMENT              hPhysicalGpu or pOutputsMask is NULL\n//! \\retval  NVAPI_OK                           *pOutputsMask contains a set of GPU-output identifiers\n//! \\retval  NVAPI_NVIDIA_DEVICE_NOT_FOUND       No NVIDIA GPU driving a display was found\n//! \\retval  NVAPI_EXPECTED_PHYSICAL_GPU_HANDLE  hPhysicalGpu was not a physical GPU handle\n//! \\ingroup gpu\n///////////////////////////////////////////////////////////////////////////////\n__nvapi_deprecated_function(\"Do not use this function - it is deprecated in release 290. Instead, use NvAPI_GPU_GetConnectedDisplayIds.\")\nNVAPI_INTERFACE NvAPI_GPU_GetConnectedOutputsWithLidState(NvPhysicalGpuHandle hPhysicalGpu, NvU32 *pOutputsMask);\n\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_GPU_GetConnectedSLIOutputsWithLidState\n//\n//!   DESCRIPTION: This function is the same as NvAPI_GPU_GetConnectedOutputsWithLidState() but returns only the set\n//!                of GPU-output identifiers that can be selected in an SLI configuration. With SLI disabled,\n//!                this function matches NvAPI_GPU_GetConnectedOutputsWithLidState().\n//!\n//! \\deprecated  Do not use this function - it is deprecated in release 290. Instead, use NvAPI_GPU_GetConnectedDisplayIds.\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\since Release: 170\n//!\n//! \\retval  NVAPI_INVALID_ARGUMENT              hPhysicalGpu or pOutputsMask is NULL\n//! \\retval  NVAPI_OK                           *pOutputsMask contains a set of GPU-output identifiers\n//! \\retval  NVAPI_NVIDIA_DEVICE_NOT_FOUND       No NVIDIA GPU driving a display was found\n//! \\retval  NVAPI_EXPECTED_PHYSICAL_GPU_HANDLE  hPhysicalGpu was not a physical GPU handle\n//!\n//! \\ingroup gpu\n///////////////////////////////////////////////////////////////////////////////\n__nvapi_deprecated_function(\"Do not use this function - it is deprecated in release 290. Instead, use NvAPI_GPU_GetConnectedDisplayIds.\")\nNVAPI_INTERFACE NvAPI_GPU_GetConnectedSLIOutputsWithLidState(NvPhysicalGpuHandle hPhysicalGpu, NvU32 *pOutputsMask);\n\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_GPU_GetSystemType\n//\n//! \\fn NvAPI_GPU_GetSystemType(NvPhysicalGpuHandle hPhysicalGpu, NV_SYSTEM_TYPE *pSystemType)\n//!  This function identifies whether the GPU is a notebook GPU or a desktop GPU.\n//!       \n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\since Release: 95\n//!         \n//! \\retval  NVAPI_INVALID_ARGUMENT              hPhysicalGpu or pOutputsMask is NULL\n//! \\retval  NVAPI_OK                           *pSystemType contains the GPU system type\n//! \\retval  NVAPI_NVIDIA_DEVICE_NOT_FOUND       No NVIDIA GPU driving a display was found\n//! \\retval  NVAPI_EXPECTED_PHYSICAL_GPU_HANDLE: hPhysicalGpu was not a physical GPU handle\n//\n///////////////////////////////////////////////////////////////////////////////\n\n//! \\ingroup gpu\n//! Used in NvAPI_GPU_GetSystemType()\ntypedef enum\n{\n    NV_SYSTEM_TYPE_UNKNOWN = 0,\n    NV_SYSTEM_TYPE_LAPTOP  = 1,\n    NV_SYSTEM_TYPE_DESKTOP = 2,\n\n} NV_SYSTEM_TYPE;\n\n\n\n//! \\ingroup gpu\nNVAPI_INTERFACE NvAPI_GPU_GetSystemType(NvPhysicalGpuHandle hPhysicalGpu, NV_SYSTEM_TYPE *pSystemType);\n\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_GPU_GetActiveOutputs\n//\n//!  This function is the same as NvAPI_GPU_GetAllOutputs but returns only the set of GPU output \n//!  identifiers that are actively driving display devices.\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\since Release: 85\n//!\n//! \\retval    NVAPI_INVALID_ARGUMENT              hPhysicalGpu or pOutputsMask is NULL.\n//! \\retval    NVAPI_OK                           *pOutputsMask contains a set of GPU-output identifiers.\n//! \\retval    NVAPI_NVIDIA_DEVICE_NOT_FOUND       No NVIDIA GPU driving a display was found.\n//! \\retval    NVAPI_EXPECTED_PHYSICAL_GPU_HANDLE  hPhysicalGpu was not a physical GPU handle.\n//! \\ingroup gpu\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_GPU_GetActiveOutputs(NvPhysicalGpuHandle hPhysicalGpu, NvU32 *pOutputsMask);\n\n\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_GPU_SetEDID\n//\n//!  Thus function sets the EDID data for the specified GPU handle and connection bit mask.\n//!  User can either send (Gpu handle & output id)  or only display Id in variable displayOutputId parameter & hPhysicalGpu parameter can be default handle (0).\n//!  \\note The EDID will be cached across the boot session and will be enumerated to the OS in this call.\n//!        To remove the EDID set sizeofEDID to zero.\n//!        OS and NVAPI connection status APIs will reflect the newly set or removed EDID dynamically.\n//!\n//!                This feature will NOT be supported on the following boards:\n//!                - GeForce\n//!                - Quadro VX \n//!                - Tesla \n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\since Release: 100\n//!\n//! \\retval  NVAPI_INVALID_ARGUMENT              pEDID is NULL; displayOutputId has 0 or > 1 bits set\n//! \\retval  NVAPI_OK                           *pEDID data was applied to the requested displayOutputId.\n//! \\retval  NVAPI_NVIDIA_DEVICE_NOT_FOUND       No NVIDIA GPU driving a display was found.\n//! \\retval  NVAPI_EXPECTED_PHYSICAL_GPU_HANDLE: hPhysicalGpu was not a physical GPU handle.\n//! \\retval  NVAPI_NOT_SUPPORTED                 For the above mentioned GPUs\n//! \\ingroup gpu\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_GPU_SetEDID(NvPhysicalGpuHandle hPhysicalGpu, NvU32 displayOutputId, NV_EDID *pEDID);\n\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_GPU_GetOutputType\n//\n//! \\fn NvAPI_GPU_GetOutputType(NvPhysicalGpuHandle hPhysicalGpu, NvU32 outputId, NV_GPU_OUTPUT_TYPE *pOutputType)\n//!  This function returns the output type. User can either specify both 'physical GPU handle and outputId (exactly 1 bit set - see \\ref handles)' or\n//!  a valid displayId in the outputId parameter.\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\Version Earliest supported ForceWare version: 82.61\n//!\n//! \\retval     NVAPI_INVALID_ARGUMENT              outputId, pOutputType is NULL; or if outputId parameter is not displayId and either it has > 1 bit set or hPhysicalGpu is NULL.\n//! \\retval     NVAPI_OK                           *pOutputType contains a NvGpuOutputType value\n//! \\retval     NVAPI_NVIDIA_DEVICE_NOT_FOUND       No NVIDIA GPU driving a display was found\n//! \\retval     NVAPI_EXPECTED_PHYSICAL_GPU_HANDLE  hPhysicalGpu was not a physical GPU handle\n//\n///////////////////////////////////////////////////////////////////////////////\n\n//! \\ingroup gpu\n//! used in NvAPI_GPU_GetOutputType()\ntypedef enum _NV_GPU_OUTPUT_TYPE\n{\n    NVAPI_GPU_OUTPUT_UNKNOWN  = 0,\n    NVAPI_GPU_OUTPUT_CRT      = 1,     //!<  CRT display device\n    NVAPI_GPU_OUTPUT_DFP      = 2,     //!<  Digital Flat Panel display device\n    NVAPI_GPU_OUTPUT_TV       = 3,     //!<  TV display device\n} NV_GPU_OUTPUT_TYPE;\n\n\n\n\n//! \\ingroup gpu\nNVAPI_INTERFACE NvAPI_GPU_GetOutputType(NvPhysicalGpuHandle hPhysicalGpu, NvU32 outputId, NV_GPU_OUTPUT_TYPE *pOutputType);\n\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_GPU_ValidateOutputCombination\n//\n//!  This function determines if a set of GPU outputs can be active \n//!  simultaneously.  While a GPU may have <n> outputs, typically they cannot \n//!  all be active at the same time due to internal resource sharing.\n//!\n//!  Given a physical GPU handle and a mask of candidate outputs, this call\n//!  will return NVAPI_OK if all of the specified outputs can be driven\n//!  simultaneously.  It will return NVAPI_INVALID_COMBINATION if they cannot.\n//!                \n//!  Use NvAPI_GPU_GetAllOutputs() to determine which outputs are candidates.\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\since Release: 85\n//!\n//! \\retval  NVAPI_OK                            Combination of outputs in outputsMask are valid (can be active simultaneously).\n//! \\retval  NVAPI_INVALID_COMBINATION           Combination of outputs in outputsMask are NOT valid.\n//! \\retval  NVAPI_INVALID_ARGUMENT              hPhysicalGpu or outputsMask does not have at least 2 bits set.\n//! \\retval  NVAPI_EXPECTED_PHYSICAL_GPU_HANDLE  hPhysicalGpu was not a physical GPU handle.\n//! \\retval  NVAPI_NVIDIA_DEVICE_NOT_FOUND       No NVIDIA GPU driving a display was found.\n//! \\ingroup gpu\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_GPU_ValidateOutputCombination(NvPhysicalGpuHandle hPhysicalGpu, NvU32 outputsMask);\n\n\n\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_GPU_GetFullName\n//\n//!  This function retrieves the full GPU name as an ASCII string - for example, \"Quadro FX 1400\".\n//!\n//! SUPPORTED OS:  Windows XP and higher,  Mac OS X\n//!\n//!\n//! TCC_SUPPORTED\n//!\n//! \\since Release: 90\n//!\n//! \\return  NVAPI_ERROR or NVAPI_OK\n//! \\ingroup gpu\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_GPU_GetFullName(NvPhysicalGpuHandle hPhysicalGpu, NvAPI_ShortString szName);\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_GPU_GetPCIIdentifiers\n//\n//!  This function returns the PCI identifiers associated with this GPU.\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! TCC_SUPPORTED\n//!\n//! \\since Release: 90\n//!\n//! \\param   DeviceId      The internal PCI device identifier for the GPU.\n//! \\param   SubSystemId   The internal PCI subsystem identifier for the GPU.\n//! \\param   RevisionId    The internal PCI device-specific revision identifier for the GPU.\n//! \\param   ExtDeviceId   The external PCI device identifier for the GPU.\n//!\n//! \\retval  NVAPI_INVALID_ARGUMENT              hPhysicalGpu or an argument is NULL\n//! \\retval  NVAPI_OK                            Arguments are populated with PCI identifiers\n//! \\retval  NVAPI_NVIDIA_DEVICE_NOT_FOUND       No NVIDIA GPU driving a display was found\n//! \\retval  NVAPI_EXPECTED_PHYSICAL_GPU_HANDLE  hPhysicalGpu was not a physical GPU handle\n//! \\ingroup gpu\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_GPU_GetPCIIdentifiers(NvPhysicalGpuHandle hPhysicalGpu,NvU32 *pDeviceId,NvU32 *pSubSystemId,NvU32 *pRevisionId,NvU32 *pExtDeviceId);\n    \n\n\n\n//! \\ingroup gpu\n//! Used in NvAPI_GPU_GetGPUType().    \ntypedef enum _NV_GPU_TYPE\n{\n    NV_SYSTEM_TYPE_GPU_UNKNOWN     = 0, \n    NV_SYSTEM_TYPE_IGPU            = 1, //!< Integrated GPU\n    NV_SYSTEM_TYPE_DGPU            = 2, //!< Discrete GPU\n} NV_GPU_TYPE; \n\n\n/////////////////////////////////////////////////////////////////////////////// \n// \n// FUNCTION NAME: NvAPI_GPU_GetGPUType \n// \n//!  DESCRIPTION: This function returns the GPU type (integrated or discrete).\n//!               See ::NV_GPU_TYPE. \n//!\n//! SUPPORTED OS:  Windows XP and higher,  Mac OS X\n//!\n//!\n//! TCC_SUPPORTED\n//!\n//! \\since Release: 173\n//!\n//! \\retval  NVAPI_INVALID_ARGUMENT              hPhysicalGpu \n//! \\retval  NVAPI_OK                           *pGpuType contains the GPU type \n//! \\retval  NVAPI_NVIDIA_DEVICE_NOT_FOUND       No NVIDIA GPU driving a display was found \n//! \\retval  NVAPI_EXPECTED_PHYSICAL_GPU_HANDLE: hPhysicalGpu was not a physical GPU handle \n//!\n//!  \\ingroup gpu \n///////////////////////////////////////////////////////////////////////////////     \nNVAPI_INTERFACE NvAPI_GPU_GetGPUType(__in NvPhysicalGpuHandle hPhysicalGpu, __inout NV_GPU_TYPE *pGpuType);\n\n\n\n\n//! \\ingroup gpu\n//! Used in NvAPI_GPU_GetBusType()\ntypedef enum _NV_GPU_BUS_TYPE\n{\n    NVAPI_GPU_BUS_TYPE_UNDEFINED    = 0,\n    NVAPI_GPU_BUS_TYPE_PCI          = 1,\n    NVAPI_GPU_BUS_TYPE_AGP          = 2,\n    NVAPI_GPU_BUS_TYPE_PCI_EXPRESS  = 3,\n    NVAPI_GPU_BUS_TYPE_FPCI         = 4,\n    NVAPI_GPU_BUS_TYPE_AXI          = 5,\n} NV_GPU_BUS_TYPE;\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_GPU_GetBusType\n//\n//!  This function returns the type of bus associated with this GPU.\n//!\n//! SUPPORTED OS:  Windows XP and higher,  Mac OS X\n//!\n//!\n//! TCC_SUPPORTED\n//!\n//! \\since Release: 90\n//!\n//! \\return      This API can return any of the error codes enumerated in #NvAPI_Status. If there are return error codes with \n//!              specific meaning for this API, they are listed below.\n//! \\retval      NVAPI_INVALID_ARGUMENT             hPhysicalGpu or pBusType is NULL.\n//! \\retval      NVAPI_OK                          *pBusType contains bus identifier.\n//! \\ingroup gpu\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_GPU_GetBusType(NvPhysicalGpuHandle hPhysicalGpu,NV_GPU_BUS_TYPE *pBusType);\n\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_GPU_GetBusId\n//\n//!   DESCRIPTION: Returns the ID of the bus associated with this GPU.\n//!\n//! SUPPORTED OS:  Windows XP and higher,  Mac OS X\n//!\n//!\n//! TCC_SUPPORTED\n//!\n//! \\since Release: 167\n//!\n//!  \\retval  NVAPI_INVALID_ARGUMENT              hPhysicalGpu or pBusId is NULL.\n//!  \\retval  NVAPI_OK                           *pBusId contains the bus ID.\n//!  \\retval  NVAPI_NVIDIA_DEVICE_NOT_FOUND       No NVIDIA GPU driving a display was found.\n//!  \\retval  NVAPI_EXPECTED_PHYSICAL_GPU_HANDLE  hPhysicalGpu was not a physical GPU handle.\n//!\n//!  \\ingroup gpu\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_GPU_GetBusId(NvPhysicalGpuHandle hPhysicalGpu, NvU32 *pBusId);\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_GPU_GetBusSlotId\n//\n//!   DESCRIPTION: Returns the ID of the bus slot associated with this GPU.\n//!\n//! SUPPORTED OS:  Windows XP and higher,  Mac OS X\n//!\n//!\n//! TCC_SUPPORTED\n//!\n//! \\since Release: 167\n//!\n//!  \\retval  NVAPI_INVALID_ARGUMENT              hPhysicalGpu or pBusSlotId is NULL.\n//!  \\retval  NVAPI_OK                           *pBusSlotId contains the bus slot ID.\n//!  \\retval  NVAPI_NVIDIA_DEVICE_NOT_FOUND       No NVIDIA GPU driving a display was found.\n//!  \\retval  NVAPI_EXPECTED_PHYSICAL_GPU_HANDLE  hPhysicalGpu was not a physical GPU handle.\n//!\n//!  \\ingroup gpu\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_GPU_GetBusSlotId(NvPhysicalGpuHandle hPhysicalGpu, NvU32 *pBusSlotId);\n\n\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_GPU_GetIRQ\n//\n//!  This function returns the interrupt number associated with this GPU.\n//!\n//! SUPPORTED OS:  Windows XP and higher,  Mac OS X\n//!\n//!\n//! TCC_SUPPORTED\n//!\n//! \\since Release: 90\n//!\n//! \\retval  NVAPI_INVALID_ARGUMENT              hPhysicalGpu or pIRQ is NULL.\n//! \\retval  NVAPI_OK                           *pIRQ contains interrupt number.\n//! \\retval  NVAPI_NVIDIA_DEVICE_NOT_FOUND       No NVIDIA GPU driving a display was found.\n//! \\retval  NVAPI_EXPECTED_PHYSICAL_GPU_HANDLE  hPhysicalGpu was not a physical GPU handle.\n//! \\ingroup gpu\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_GPU_GetIRQ(NvPhysicalGpuHandle hPhysicalGpu,NvU32 *pIRQ);\n    \n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_GPU_GetVbiosRevision\n//\n//!  This function returns the revision of the video BIOS associated with this GPU.\n//!\n//! SUPPORTED OS:  Windows XP and higher,  Mac OS X\n//!\n//!\n//! TCC_SUPPORTED\n//!\n//! \\since Release: 90\n//!\n//! \\retval    NVAPI_INVALID_ARGUMENT               hPhysicalGpu or pBiosRevision is NULL.\n//! \\retval    NVAPI_OK                            *pBiosRevision contains revision number.\n//! \\retval    NVAPI_NVIDIA_DEVICE_NOT_FOUND        No NVIDIA GPU driving a display was found.\n//! \\retval    NVAPI_EXPECTED_PHYSICAL_GPU_HANDLE   hPhysicalGpu was not a physical GPU handle.\n//! \\ingroup   gpu\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_GPU_GetVbiosRevision(NvPhysicalGpuHandle hPhysicalGpu,NvU32 *pBiosRevision);\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_GPU_GetVbiosOEMRevision\n//\n//!  This function returns the OEM revision of the video BIOS associated with this GPU.\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\since Release: 90\n//!\n//! \\retval    NVAPI_INVALID_ARGUMENT              hPhysicalGpu or pBiosRevision is NULL\n//! \\retval    NVAPI_OK                           *pBiosRevision contains revision number\n//! \\retval    NVAPI_NVIDIA_DEVICE_NOT_FOUND       No NVIDIA GPU driving a display was found\n//! \\retval    NVAPI_EXPECTED_PHYSICAL_GPU_HANDLE  hPhysicalGpu was not a physical GPU handle\n//! \\ingroup   gpu\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_GPU_GetVbiosOEMRevision(NvPhysicalGpuHandle hPhysicalGpu,NvU32 *pBiosRevision);\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_GPU_GetVbiosVersionString\n//\n//!  This function returns the full video BIOS version string in the form of xx.xx.xx.xx.yy where\n//!  - xx numbers come from NvAPI_GPU_GetVbiosRevision() and \n//!  - yy comes from NvAPI_GPU_GetVbiosOEMRevision().\n//!\n//! SUPPORTED OS:  Windows XP and higher,  Mac OS X\n//!\n//!\n//! TCC_SUPPORTED\n//!\n//! \\since Release: 90\n//!\n//! \\retval   NVAPI_INVALID_ARGUMENT              hPhysicalGpu is NULL.\n//! \\retval   NVAPI_OK                            szBiosRevision contains version string.\n//! \\retval   NVAPI_NVIDIA_DEVICE_NOT_FOUND       No NVIDIA GPU driving a display was found.\n//! \\retval   NVAPI_EXPECTED_PHYSICAL_GPU_HANDLE  hPhysicalGpu was not a physical GPU handle.\n//! \\ingroup gpu\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_GPU_GetVbiosVersionString(NvPhysicalGpuHandle hPhysicalGpu,NvAPI_ShortString szBiosRevision);\n\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_GPU_GetAGPAperture\n//\n//!  This function returns the AGP aperture in megabytes.\n//!\n//! SUPPORTED OS:  Windows XP and higher,  Mac OS X\n//!\n//!\n//! \\since Release: 90\n//!\n//! \\retval   NVAPI_INVALID_ARGUMENT              pSize is NULL.\n//! \\retval   NVAPI_OK                            Call successful.\n//! \\retval   NVAPI_NVIDIA_DEVICE_NOT_FOUND       No NVIDIA GPU driving a display was found.\n//! \\retval   NVAPI_EXPECTED_PHYSICAL_GPU_HANDLE  hPhysicalGpu was not a physical GPU handle.\n//! \\ingroup gpu\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_GPU_GetAGPAperture(NvPhysicalGpuHandle hPhysicalGpu,NvU32 *pSize);\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_GPU_GetCurrentAGPRate\n//\n//!  This function returns the current AGP Rate (0 = AGP not present, 1 = 1x, 2 = 2x, etc.).\n//!\n//! SUPPORTED OS:  Windows XP and higher,  Mac OS X\n//!\n//!\n//! \\since Release: 90\n//!\n//! \\retval   NVAPI_INVALID_ARGUMENT              pRate is NULL.\n//! \\retval   NVAPI_OK                            Call successful.\n//! \\retval   NVAPI_NVIDIA_DEVICE_NOT_FOUND       No NVIDIA GPU driving a display was found.\n//! \\retval   NVAPI_EXPECTED_PHYSICAL_GPU_HANDLE  hPhysicalGpu was not a physical GPU handle.\n//! \\ingroup gpu\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_GPU_GetCurrentAGPRate(NvPhysicalGpuHandle hPhysicalGpu,NvU32 *pRate);\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_GPU_GetCurrentPCIEDownstreamWidth\n//\n//!  This function returns the number of PCIE lanes being used for the PCIE interface \n//!  downstream from the GPU.\n//!\n//! SUPPORTED OS:  Windows XP and higher,  Mac OS X\n//!\n//!\n//! \\since Release: 90\n//!\n//! \\retval  NVAPI_INVALID_ARGUMENT              pWidth is NULL.\n//! \\retval  NVAPI_OK                            Call successful.\n//! \\retval  NVAPI_NVIDIA_DEVICE_NOT_FOUND       No NVIDIA GPU driving a display was found.\n//! \\retval  NVAPI_EXPECTED_PHYSICAL_GPU_HANDLE  hPhysicalGpu was not a physical GPU handle.\n//! \\ingroup gpu\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_GPU_GetCurrentPCIEDownstreamWidth(NvPhysicalGpuHandle hPhysicalGpu,NvU32 *pWidth);\n\n\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_GPU_GetPhysicalFrameBufferSize\n//\n//!   This function returns the physical size of framebuffer in KB.  This does NOT include any\n//!   system RAM that may be dedicated for use by the GPU.\n//!\n//! SUPPORTED OS:  Windows XP and higher,  Mac OS X\n//!\n//!\n//! TCC_SUPPORTED\n//!\n//! \\since Release: 90\n//!\n//! \\retval  NVAPI_INVALID_ARGUMENT              pSize is NULL\n//! \\retval  NVAPI_OK                            Call successful\n//! \\retval  NVAPI_NVIDIA_DEVICE_NOT_FOUND       No NVIDIA GPU driving a display was found\n//! \\retval  NVAPI_EXPECTED_PHYSICAL_GPU_HANDLE  hPhysicalGpu was not a physical GPU handle\n//! \\ingroup gpu\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_GPU_GetPhysicalFrameBufferSize(NvPhysicalGpuHandle hPhysicalGpu,NvU32 *pSize);\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_GPU_GetVirtualFrameBufferSize\n//\n//!  This function returns the virtual size of framebuffer in KB.  This includes the physical RAM plus any\n//!  system RAM that has been dedicated for use by the GPU.\n//!\n//! SUPPORTED OS:  Windows XP and higher,  Mac OS X\n//!\n//!\n//! TCC_SUPPORTED\n//!\n//! \\since Release: 90\n//!\n//! \\retval  NVAPI_INVALID_ARGUMENT              pSize is NULL.\n//! \\retval  NVAPI_OK                            Call successful.\n//! \\retval  NVAPI_NVIDIA_DEVICE_NOT_FOUND       No NVIDIA GPU driving a display was found.\n//! \\retval  NVAPI_EXPECTED_PHYSICAL_GPU_HANDLE  hPhysicalGpu was not a physical GPU handle.\n//! \\ingroup gpu\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_GPU_GetVirtualFrameBufferSize(NvPhysicalGpuHandle hPhysicalGpu,NvU32 *pSize);\n\n\n \n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_GPU_GetQuadroStatus\n//\n//!  This function retrieves the Quadro status for the GPU (1 if Quadro, 0 if GeForce)\n//!\n//! SUPPORTED OS:  Windows XP and higher,  Mac OS X\n//!\n//!\n//! \\since Release: 80\n//!\n//! \\return  NVAPI_ERROR or NVAPI_OK\n//! \\ingroup gpu\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_GPU_GetQuadroStatus(NvPhysicalGpuHandle hPhysicalGpu, NvU32 *pStatus); \n\n\n\n\n//! \\ingroup gpu\ntypedef struct _NV_BOARD_INFO\n{\n    NvU32 version;                   //!< structure version\n    NvU8 BoardNum[16];               //!< Board Serial Number\n\n}NV_BOARD_INFO_V1;\n\n#define NV_BOARD_INFO_VER1  MAKE_NVAPI_VERSION(NV_BOARD_INFO_V1,1)\n#ifndef NV_BOARD_INFO_VER\n//! \\ingroup gpu\ntypedef NV_BOARD_INFO_V1    NV_BOARD_INFO;\n//! \\ingroup gpu\n//! \\ingroup gpu\n#define NV_BOARD_INFO_VER   NV_BOARD_INFO_VER1\n#endif\n\n//! SUPPORTED OS:  Windows XP and higher\n//!\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_GPU_GetBoardInfo\n//\n//!   DESCRIPTION: This API Retrieves the Board information (a unique GPU Board Serial Number) stored in the InfoROM.\n//!\n//! \\param [in]      hPhysicalGpu       Physical GPU Handle.\n//! \\param [in,out]  NV_BOARD_INFO      Board Information.\n//!\n//! TCC_SUPPORTED\n//!\n//! \\retval ::NVAPI_OK                     completed request\n//! \\retval ::NVAPI_ERROR                  miscellaneous error occurred\n//! \\retval ::NVAPI_EXPECTED_PHYSICAL_GPU_HANDLE  handle passed is not a physical GPU handle\n//! \\retval ::NVAPI_API_NOT_INTIALIZED            NVAPI not initialized\n//! \\retval ::NVAPI_INVALID_POINTER               pBoardInfo is NULL\n//! \\retval ::NVAPI_INCOMPATIBLE_STRUCT_VERSION   the version of the INFO struct is not supported\n//! \n//! \\ingroup gpu\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_GPU_GetBoardInfo(NvPhysicalGpuHandle hPhysicalGpu, NV_BOARD_INFO *pBoardInfo);\n\n\n\n\n///////////////////////////////////////////////////////////////////////////////\n//\n//  GPU Clock Control\n//\n//  These APIs allow the user to get and set individual clock domains\n//  on a per-GPU basis.\n//\n///////////////////////////////////////////////////////////////////////////////\n\n\n//! \\ingroup gpuclock\n//! @{\n#define NVAPI_MAX_GPU_CLOCKS            32\n#define NVAPI_MAX_GPU_PUBLIC_CLOCKS     32\n#define NVAPI_MAX_GPU_PERF_CLOCKS       32\n#define NVAPI_MAX_GPU_PERF_VOLTAGES     16\n#define NVAPI_MAX_GPU_PERF_PSTATES      16\n//! @}\n\n//! \\ingroup gpuclock\ntypedef enum _NV_GPU_PUBLIC_CLOCK_ID\n{\n    NVAPI_GPU_PUBLIC_CLOCK_GRAPHICS  = 0,\n    NVAPI_GPU_PUBLIC_CLOCK_MEMORY    = 4,\n    NVAPI_GPU_PUBLIC_CLOCK_PROCESSOR = 7,\n    NVAPI_GPU_PUBLIC_CLOCK_VIDEO     = 8,\n    NVAPI_GPU_PUBLIC_CLOCK_UNDEFINED = NVAPI_MAX_GPU_PUBLIC_CLOCKS,\n} NV_GPU_PUBLIC_CLOCK_ID;\n\n\n//! \\ingroup gpuclock\ntypedef enum _NV_GPU_PERF_VOLTAGE_INFO_DOMAIN_ID\n{\n    NVAPI_GPU_PERF_VOLTAGE_INFO_DOMAIN_CORE      = 0,\n    NVAPI_GPU_PERF_VOLTAGE_INFO_DOMAIN_UNDEFINED = NVAPI_MAX_GPU_PERF_VOLTAGES,\n} NV_GPU_PERF_VOLTAGE_INFO_DOMAIN_ID;\n\n\n\n//! \\ingroup gpuclock\n//! Used in NvAPI_GPU_GetAllClockFrequencies()\ntypedef struct \n{\n    NvU32   version;    //!< Structure version\n    NvU32   reserved;   //!< These bits are reserved for future use.\n    struct\n    {\n        NvU32 bIsPresent:1;         //!< Set if this domain is present on this GPU\n        NvU32 reserved:31;          //!< These bits are reserved for future use.\n        NvU32 frequency;            //!< Clock frequency (kHz)\n    }domain[NVAPI_MAX_GPU_PUBLIC_CLOCKS];\n} NV_GPU_CLOCK_FREQUENCIES_V1;\n\n//! \\ingroup gpuclock\n//! Used in NvAPI_GPU_GetAllClockFrequencies()\ntypedef enum\n{\n    NV_GPU_CLOCK_FREQUENCIES_CURRENT_FREQ =   0,\n    NV_GPU_CLOCK_FREQUENCIES_BASE_CLOCK   =   1,\n    NV_GPU_CLOCK_FREQUENCIES_BOOST_CLOCK  =   2,\n    NV_GPU_CLOCK_FREQUENCIES_CLOCK_TYPE_NUM = 3\n}   NV_GPU_CLOCK_FREQUENCIES_CLOCK_TYPE;\n\n//! \\ingroup gpuclock\n//! Used in NvAPI_GPU_GetAllClockFrequencies()\ntypedef struct \n{\n    NvU32   version;        //!< Structure version\n    NvU32   ClockType:2;    //!< One of NV_GPU_CLOCK_FREQUENCIES_CLOCK_TYPE. Used to specify the type of clock to be returned.\n    NvU32   reserved:22;    //!< These bits are reserved for future use. Must be set to 0.\n    NvU32   reserved1:8;    //!< These bits are reserved.\n    struct\n    {\n        NvU32 bIsPresent:1;         //!< Set if this domain is present on this GPU\n        NvU32 reserved:31;          //!< These bits are reserved for future use.\n        NvU32 frequency;            //!< Clock frequency (kHz)\n    }domain[NVAPI_MAX_GPU_PUBLIC_CLOCKS];\n} NV_GPU_CLOCK_FREQUENCIES_V2;\n\n//! \\ingroup gpuclock\n//! Used in NvAPI_GPU_GetAllClockFrequencies()\ntypedef NV_GPU_CLOCK_FREQUENCIES_V2 NV_GPU_CLOCK_FREQUENCIES;\n\n//! \\addtogroup gpuclock\n//! @{\n#define NV_GPU_CLOCK_FREQUENCIES_VER_1    MAKE_NVAPI_VERSION(NV_GPU_CLOCK_FREQUENCIES_V1,1)\n#define NV_GPU_CLOCK_FREQUENCIES_VER_2    MAKE_NVAPI_VERSION(NV_GPU_CLOCK_FREQUENCIES_V2,2)\n#define NV_GPU_CLOCK_FREQUENCIES_VER_3    MAKE_NVAPI_VERSION(NV_GPU_CLOCK_FREQUENCIES_V2,3)\n#define NV_GPU_CLOCK_FREQUENCIES_VER\t  NV_GPU_CLOCK_FREQUENCIES_VER_3\n//! @}\n \n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_GPU_GetAllClockFrequencies\n//\n//!   This function retrieves the NV_GPU_CLOCK_FREQUENCIES structure for the specified physical GPU.\n//!\n//!   For each clock domain:\n//!      - bIsPresent is set for each domain that is present on the GPU\n//!      - frequency is the domain's clock freq in kHz\n//!\n//!   Each domain's info is indexed in the array.  For example:\n//!   clkFreqs.domain[NVAPI_GPU_PUBLIC_CLOCK_MEMORY] holds the info for the MEMORY domain.\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\since Release: 295\n//!\n//! \\return  This API can return any of the error codes enumerated in #NvAPI_Status. \n//!          If there are return error codes with specific meaning for this API, \n//!          they are listed below.\n//! \\retval  NVAPI_INVALID_ARGUMENT     pClkFreqs is NULL.\n//! \\ingroup gpuclock\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_GPU_GetAllClockFrequencies(__in NvPhysicalGpuHandle hPhysicalGPU, __inout NV_GPU_CLOCK_FREQUENCIES *pClkFreqs);\n\n\n//! \\addtogroup gpupstate\n//! @{\n\ntypedef enum _NV_GPU_PERF_PSTATE_ID\n{\n    NVAPI_GPU_PERF_PSTATE_P0 = 0,\n    NVAPI_GPU_PERF_PSTATE_P1,\n    NVAPI_GPU_PERF_PSTATE_P2,\n    NVAPI_GPU_PERF_PSTATE_P3,\n    NVAPI_GPU_PERF_PSTATE_P4,\n    NVAPI_GPU_PERF_PSTATE_P5,\n    NVAPI_GPU_PERF_PSTATE_P6,\n    NVAPI_GPU_PERF_PSTATE_P7,\n    NVAPI_GPU_PERF_PSTATE_P8,\n    NVAPI_GPU_PERF_PSTATE_P9,\n    NVAPI_GPU_PERF_PSTATE_P10,\n    NVAPI_GPU_PERF_PSTATE_P11,\n    NVAPI_GPU_PERF_PSTATE_P12,\n    NVAPI_GPU_PERF_PSTATE_P13,\n    NVAPI_GPU_PERF_PSTATE_P14,\n    NVAPI_GPU_PERF_PSTATE_P15,\n    NVAPI_GPU_PERF_PSTATE_UNDEFINED = NVAPI_MAX_GPU_PERF_PSTATES,\n    NVAPI_GPU_PERF_PSTATE_ALL,\n\n} NV_GPU_PERF_PSTATE_ID;\n\n//! @}\n\n\n\n//! \\ingroup gpupstate\n//! Used in NvAPI_GPU_GetPstatesInfoEx()\ntypedef struct\n{\n    NvU32   version;\n    NvU32   flags;           //!< - bit 0 indicates if perfmon is enabled or not\n                             //!< - bit 1 indicates if dynamic Pstate is capable or not\n                             //!< - bit 2 indicates if dynamic Pstate is enable or not\n                             //!< - all other bits must be set to 0\n    NvU32   numPstates;      //!< The number of available p-states \n    NvU32   numClocks;       //!< The number of clock domains supported by each P-State\n    struct\n    {\n        NV_GPU_PERF_PSTATE_ID   pstateId; //!< ID of the p-state.  \n        NvU32                   flags;    //!< - bit 0 indicates if the PCIE limit is GEN1 or GEN2\n                                          //!< - bit 1 indicates if the Pstate is overclocked or not\n                                          //!< - bit 2 indicates if the Pstate is overclockable or not\n                                          //!< - all other bits must be set to 0\n        struct\n        {\n            NV_GPU_PUBLIC_CLOCK_ID           domainId;  //!< ID of the clock domain   \n            NvU32                               flags;  //!< Reserved. Must be set to 0\n            NvU32                                freq;  //!< Clock frequency in kHz\n\n        } clocks[NVAPI_MAX_GPU_PERF_CLOCKS];\n    } pstates[NVAPI_MAX_GPU_PERF_PSTATES];\n\n} NV_GPU_PERF_PSTATES_INFO_V1;\n\n\n//! \\ingroup gpupstate\ntypedef struct\n{\n    NvU32   version;\n    NvU32   flags;             //!< - bit 0 indicates if perfmon is enabled or not\n                               //!< - bit 1 indicates if dynamic Pstate is capable or not\n                               //!< - bit 2 indicates if dynamic Pstate is enable or not\n                               //!< - all other bits must be set to 0\n    NvU32   numPstates;        //!< The number of available p-states \n    NvU32   numClocks;         //!< The number of clock domains supported by each P-State   \n    NvU32   numVoltages; \n    struct\n    {\n        NV_GPU_PERF_PSTATE_ID   pstateId;  //!< ID of the p-state. \n        NvU32                   flags;     //!< - bit 0 indicates if the PCIE limit is GEN1 or GEN2\n                                           //!< - bit 1 indicates if the Pstate is overclocked or not\n                                           //!< - bit 2 indicates if the Pstate is overclockable or not\n                                           //!< - all other bits must be set to 0\n        struct\n        {\n            NV_GPU_PUBLIC_CLOCK_ID            domainId;       \n            NvU32                                flags; //!< bit 0 indicates if this clock is overclockable\n                                                        //!< all other bits must be set to 0\n            NvU32                                 freq;\n\n        } clocks[NVAPI_MAX_GPU_PERF_CLOCKS];\n        struct\n        {\n            NV_GPU_PERF_VOLTAGE_INFO_DOMAIN_ID domainId; //!< ID of the voltage domain, containing flags and mvolt info \n            NvU32                       flags;           //!< Reserved for future use. Must be set to 0\n            NvU32                       mvolt;           //!< Voltage in mV  \n\n        } voltages[NVAPI_MAX_GPU_PERF_VOLTAGES];\n\n    } pstates[NVAPI_MAX_GPU_PERF_PSTATES];  //!< Valid index range is 0 to numVoltages-1\n\n} NV_GPU_PERF_PSTATES_INFO_V2;\n\n//! \\ingroup gpupstate\ntypedef  NV_GPU_PERF_PSTATES_INFO_V2 NV_GPU_PERF_PSTATES_INFO;\n\n\n//! \\ingroup gpupstate\n//! @{\n\n//! Macro for constructing the version field of NV_GPU_PERF_PSTATES_INFO_V1 \n#define NV_GPU_PERF_PSTATES_INFO_VER1  MAKE_NVAPI_VERSION(NV_GPU_PERF_PSTATES_INFO_V1,1)\n\n//! Macro for constructing the version field of NV_GPU_PERF_PSTATES_INFO_V2 \n#define NV_GPU_PERF_PSTATES_INFO_VER2  MAKE_NVAPI_VERSION(NV_GPU_PERF_PSTATES_INFO_V2,2)\n\n//! Macro for constructing the version field of NV_GPU_PERF_PSTATES_INFO_V2 \n#define NV_GPU_PERF_PSTATES_INFO_VER3  MAKE_NVAPI_VERSION(NV_GPU_PERF_PSTATES_INFO_V2,3)\n\n//! Macro for constructing the version field of NV_GPU_PERF_PSTATES_INFO \n#define NV_GPU_PERF_PSTATES_INFO_VER   NV_GPU_PERF_PSTATES_INFO_VER3\n\n//! @}\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME:   NvAPI_GPU_GetPstatesInfoEx\n//\n//! DESCRIPTION:     This API retrieves all performance states (P-States) information. This is the same as\n//!                  NvAPI_GPU_GetPstatesInfo(), but supports an input flag for various options.\n//!\n//!                  P-States are GPU active/executing performance capability and power consumption states.\n//!\n//!                  P-States ranges from P0 to P15, with P0 being the highest performance/power state, and\n//!                  P15 being the lowest performance/power state. Each P-State, if available, maps to a\n//!                  performance level. Not all P-States are available on a given system. The definitions\n//!                  of each P-State are currently as follows: \\n\n//!                  - P0/P1 - Maximum 3D performance\n//!                  - P2/P3 - Balanced 3D performance-power\n//!                  - P8 - Basic HD video playback\n//!                  - P10 - DVD playback\n//!                  - P12 - Minimum idle power consumption\n//!\n//! \\deprecated  Do not use this function - it is deprecated in release 304. Instead, use NvAPI_GPU_GetPstates20.\n//! SUPPORTED OS:  Windows XP and higher,  Mac OS X\n//!\n//!\n//! \\param [in]     hPhysicalGPU       GPU selection.\n//! \\param [out]    pPerfPstatesInfo   P-States information retrieved, as detailed below: \\n\n//!                  - flags is reserved for future use.\n//!                  - numPstates is the number of available P-States\n//!                  - numClocks is the number of clock domains supported by each P-State\n//!                  - pstates has valid index range from 0 to numPstates - 1\n//!                  - pstates[i].pstateId is the ID of the P-State,\n//!                      containing the following info:\n//!                    - pstates[i].flags containing the following info:\n//!                        - bit 0 indicates if the PCIE limit is GEN1 or GEN2\n//!                        - bit 1 indicates if the Pstate is overclocked or not\n//!                        - bit 2 indicates if the Pstate is overclockable or not\n//!                    - pstates[i].clocks has valid index range from 0 to numClocks -1\n//!                    - pstates[i].clocks[j].domainId is the public ID of the clock domain,\n//!                        containing the following info:\n//!                      - pstates[i].clocks[j].flags containing the following info:\n//!                          bit 0 indicates if the clock domain is overclockable or not\n//!                      - pstates[i].clocks[j].freq is the clock frequency in kHz\n//!                    - pstates[i].voltages has a valid index range from 0 to numVoltages - 1\n//!                    - pstates[i].voltages[j].domainId is the ID of the voltage domain,\n//!                        containing the following info:\n//!                      - pstates[i].voltages[j].flags is reserved for future use.\n//!                      - pstates[i].voltages[j].mvolt is the voltage in mV\n//!                  inputFlags(IN)   - This can be used to select various options:\n//!                    - if bit 0 is set, pPerfPstatesInfo would contain the default settings\n//!                        instead of the current, possibily overclocked settings.\n//!                    - if bit 1 is set, pPerfPstatesInfo would contain the maximum clock \n//!                        frequencies instead of the nominal frequencies.\n//!                    - if bit 2 is set, pPerfPstatesInfo would contain the minimum clock \n//!                        frequencies instead of the nominal frequencies.\n//!                    - all other bits must be set to 0.\n//!\n//! \\retval ::NVAPI_OK                            Completed request\n//! \\retval ::NVAPI_ERROR                         Miscellaneous error occurred\n//! \\retval ::NVAPI_HANDLE_INVALIDATED            Handle passed has been invalidated (see user guide)\n//! \\retval ::NVAPI_EXPECTED_PHYSICAL_GPU_HANDLE  Handle passed is not a physical GPU handle\n//! \\retval ::NVAPI_INCOMPATIBLE_STRUCT_VERSION   The version of the NV_GPU_PERF_PSTATES struct is not supported\n//!\n//! \\ingroup gpupstate \n///////////////////////////////////////////////////////////////////////////////\n__nvapi_deprecated_function(\"Do not use this function - it is deprecated in release 304. Instead, use NvAPI_GPU_GetPstates20.\")\nNVAPI_INTERFACE NvAPI_GPU_GetPstatesInfoEx(NvPhysicalGpuHandle hPhysicalGpu, NV_GPU_PERF_PSTATES_INFO *pPerfPstatesInfo, NvU32 inputFlags);\n\n\n\n//! \\addtogroup gpupstate\n//! @{\n\n#define NVAPI_MAX_GPU_PSTATE20_PSTATES          16\n#define NVAPI_MAX_GPU_PSTATE20_CLOCKS           8\n#define NVAPI_MAX_GPU_PSTATE20_BASE_VOLTAGES    4\n\n//! Used to identify clock type\ntypedef enum\n{\n    //! Clock domains that use single frequency value within given pstate\n    NVAPI_GPU_PERF_PSTATE20_CLOCK_TYPE_SINGLE = 0,\n\n    //! Clock domains that allow range of frequency values within given pstate\n    NVAPI_GPU_PERF_PSTATE20_CLOCK_TYPE_RANGE,\n} NV_GPU_PERF_PSTATE20_CLOCK_TYPE_ID;\n\n//! Used to describe both voltage and frequency deltas\ntypedef struct\n{\n    //! Value of parameter delta (in respective units [kHz, uV])\n    NvS32       value;\n\n    struct\n    {\n        //! Min value allowed for parameter delta (in respective units [kHz, uV])\n        NvS32   min;\n\n        //! Max value allowed for parameter delta (in respective units [kHz, uV])\n        NvS32   max;\n    } valueRange;\n} NV_GPU_PERF_PSTATES20_PARAM_DELTA;\n\n//! Used to describe single clock entry\ntypedef struct\n{\n    //! ID of the clock domain\n    NV_GPU_PUBLIC_CLOCK_ID                      domainId;\n\n    //! Clock type ID\n    NV_GPU_PERF_PSTATE20_CLOCK_TYPE_ID          typeId;\n    NvU32                                       bIsEditable:1;\n\n    //! These bits are reserved for future use (must be always 0)\n    NvU32                                       reserved:31;\n\n    //! Current frequency delta from nominal settings in (kHz)\n    NV_GPU_PERF_PSTATES20_PARAM_DELTA           freqDelta_kHz;\n\n    //! Clock domain type dependant information\n    union\n    {\n        struct\n        {\n            //! Clock frequency within given pstate in (kHz)\n            NvU32                               freq_kHz;\n        } single;\n\n        struct\n        {\n            //! Min clock frequency within given pstate in (kHz)\n            NvU32                               minFreq_kHz;\n\n            //! Max clock frequency within given pstate in (kHz)\n            NvU32                               maxFreq_kHz;\n\n            //! Voltage domain ID and value range in (uV) required for this clock\n            NV_GPU_PERF_VOLTAGE_INFO_DOMAIN_ID  domainId;\n            NvU32                               minVoltage_uV;\n            NvU32                               maxVoltage_uV;\n        } range;\n    } data;\n} NV_GPU_PSTATE20_CLOCK_ENTRY_V1;\n\n//! Used to describe single base voltage entry\ntypedef struct\n{\n    //! ID of the voltage domain\n    NV_GPU_PERF_VOLTAGE_INFO_DOMAIN_ID  domainId;\n    NvU32                               bIsEditable:1;\n\n    //! These bits are reserved for future use (must be always 0)\n    NvU32                               reserved:31;\n\n    //! Current base voltage settings in [uV]\n    NvU32                               volt_uV;\n\n    NV_GPU_PERF_PSTATES20_PARAM_DELTA   voltDelta_uV; // Current base voltage delta from nominal settings in [uV]\n} NV_GPU_PSTATE20_BASE_VOLTAGE_ENTRY_V1;\n\n//! Used in NvAPI_GPU_GetPstates20() interface call.\n\ntypedef struct\n{\n    //! Version info of the structure (NV_GPU_PERF_PSTATES20_INFO_VER<n>)\n    NvU32   version; \n\n    NvU32   bIsEditable:1;\n\n    //! These bits are reserved for future use (must be always 0)\n    NvU32   reserved:31;\n\n    //! Number of populated pstates\n    NvU32   numPstates;\n\n    //! Number of populated clocks (per pstate)\n    NvU32   numClocks;\n\n    //! Number of populated base voltages (per pstate)\n    NvU32   numBaseVoltages;\n\n    //! Performance state (P-State) settings\n    //! Valid index range is 0 to numPstates-1\n    struct\n    {\n    //! ID of the P-State\n        NV_GPU_PERF_PSTATE_ID                   pstateId;\n\n        NvU32                                   bIsEditable:1;\n\n        //! These bits are reserved for future use (must be always 0)\n        NvU32                                   reserved:31;\n\n        //! Array of clock entries\n        //! Valid index range is 0 to numClocks-1\n        NV_GPU_PSTATE20_CLOCK_ENTRY_V1          clocks[NVAPI_MAX_GPU_PSTATE20_CLOCKS];\n\n        //! Array of baseVoltage entries\n        //! Valid index range is 0 to numBaseVoltages-1\n        NV_GPU_PSTATE20_BASE_VOLTAGE_ENTRY_V1   baseVoltages[NVAPI_MAX_GPU_PSTATE20_BASE_VOLTAGES];\n    } pstates[NVAPI_MAX_GPU_PSTATE20_PSTATES];\n} NV_GPU_PERF_PSTATES20_INFO_V1;\n\n//! Used in NvAPI_GPU_GetPstates20() interface call.\n\ntypedef struct _NV_GPU_PERF_PSTATES20_INFO_V2\n{\n    //! Version info of the structure (NV_GPU_PERF_PSTATES20_INFO_VER<n>)\n    NvU32   version; \n\n    NvU32   bIsEditable:1;\n\n    //! These bits are reserved for future use (must be always 0)\n    NvU32   reserved:31;\n\n    //! Number of populated pstates\n    NvU32   numPstates;\n\n    //! Number of populated clocks (per pstate)\n    NvU32   numClocks;\n\n    //! Number of populated base voltages (per pstate)\n    NvU32   numBaseVoltages;\n\n    //! Performance state (P-State) settings\n    //! Valid index range is 0 to numPstates-1\n    struct\n    {\n    //! ID of the P-State\n        NV_GPU_PERF_PSTATE_ID                   pstateId;\n\n        NvU32                                   bIsEditable:1;\n\n        //! These bits are reserved for future use (must be always 0)\n        NvU32                                   reserved:31;\n\n        //! Array of clock entries\n        //! Valid index range is 0 to numClocks-1\n        NV_GPU_PSTATE20_CLOCK_ENTRY_V1          clocks[NVAPI_MAX_GPU_PSTATE20_CLOCKS];\n\n        //! Array of baseVoltage entries\n        //! Valid index range is 0 to numBaseVoltages-1\n        NV_GPU_PSTATE20_BASE_VOLTAGE_ENTRY_V1   baseVoltages[NVAPI_MAX_GPU_PSTATE20_BASE_VOLTAGES];\n    } pstates[NVAPI_MAX_GPU_PSTATE20_PSTATES];\n\n    //! OV settings - Please refer to NVIDIA over-volting recommendation to understand impact of this functionality\n    //! Valid index range is 0 to numVoltages-1\n    struct\n    {\n        //! Number of populated voltages\n        NvU32                                 numVoltages;\n\n        //! Array of voltage entries\n        //! Valid index range is 0 to numVoltages-1\n        NV_GPU_PSTATE20_BASE_VOLTAGE_ENTRY_V1 voltages[NVAPI_MAX_GPU_PSTATE20_BASE_VOLTAGES];\n    } ov;\n} NV_GPU_PERF_PSTATES20_INFO_V2;\n\ntypedef NV_GPU_PERF_PSTATES20_INFO_V2   NV_GPU_PERF_PSTATES20_INFO;\n\n//! Macro for constructing the version field of NV_GPU_PERF_PSTATES20_INFO_V1\n#define NV_GPU_PERF_PSTATES20_INFO_VER1 MAKE_NVAPI_VERSION(NV_GPU_PERF_PSTATES20_INFO_V1,1)\n\n//! Macro for constructing the version field of NV_GPU_PERF_PSTATES20_INFO_V2\n#define NV_GPU_PERF_PSTATES20_INFO_VER2 MAKE_NVAPI_VERSION(NV_GPU_PERF_PSTATES20_INFO_V2,2)\n\n//! Macro for constructing the version field of NV_GPU_PERF_PSTATES20_INFO_V2\n#define NV_GPU_PERF_PSTATES20_INFO_VER3 MAKE_NVAPI_VERSION(NV_GPU_PERF_PSTATES20_INFO_V2,3)\n\n//! Macro for constructing the version field of NV_GPU_PERF_PSTATES20_INFO\n#define NV_GPU_PERF_PSTATES20_INFO_VER  NV_GPU_PERF_PSTATES20_INFO_VER3\n\n//! @}\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME:   NvAPI_GPU_GetPstates20\n//\n//! DESCRIPTION:    This API retrieves all performance states (P-States) 2.0 information.\n//!\n//!                 P-States are GPU active/executing performance capability states.\n//!                 They range from P0 to P15, with P0 being the highest performance state,\n//!                 and P15 being the lowest performance state. Each P-State, if available,\n//!                 maps to a performance level. Not all P-States are available on a given system.\n//!                 The definition of each P-States are currently as follow:\n//!                 - P0/P1 - Maximum 3D performance\n//!                 - P2/P3 - Balanced 3D performance-power\n//!                 - P8 - Basic HD video playback\n//!                 - P10 - DVD playback\n//!                 - P12 - Minimum idle power consumption\n//!\n//! TCC_SUPPORTED\n//!\n//! \\since Release: 295\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\param [in]   hPhysicalGPU  GPU selection\n//! \\param [out]  pPstatesInfo  P-States information retrieved, as documented in declaration above\n//!\n//! \\return  This API can return any of the error codes enumerated in #NvAPI_Status. \n//!          If there are return error codes with specific meaning for this API, \n//!          they are listed below.\n//!\n//! \\ingroup gpupstate\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_GPU_GetPstates20(__in NvPhysicalGpuHandle hPhysicalGpu, __inout NV_GPU_PERF_PSTATES20_INFO *pPstatesInfo);\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME:   NvAPI_GPU_GetCurrentPstate\n//\n//! DESCRIPTION:     This function retrieves the current performance state (P-State).\n//!\n//! SUPPORTED OS:  Windows XP and higher,  Mac OS X\n//!\n//!\n//! \\since Release: 165\n//!\n//! TCC_SUPPORTED\n//!\n//! \\param [in]      hPhysicalGPU     GPU selection\n//! \\param [out]     pCurrentPstate   The ID of the current P-State of the GPU - see \\ref NV_GPU_PERF_PSTATES.\n//!\n//! \\retval    NVAPI_OK                             Completed request\n//! \\retval    NVAPI_ERROR                          Miscellaneous error occurred.\n//! \\retval    NVAPI_HANDLE_INVALIDATED             Handle passed has been invalidated (see user guide).\n//! \\retval    NVAPI_EXPECTED_PHYSICAL_GPU_HANDLE   Handle passed is not a physical GPU handle.\n//! \\retval    NVAPI_NOT_SUPPORTED                  P-States is not supported on this setup.\n//!\n//! \\ingroup   gpupstate\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_GPU_GetCurrentPstate(NvPhysicalGpuHandle hPhysicalGpu, NV_GPU_PERF_PSTATE_ID *pCurrentPstate);\n\n\n\n\n//! \\ingroup gpupstate\n#define NVAPI_MAX_GPU_UTILIZATIONS 8\n\n\n\n//! \\ingroup gpupstate\n//! Used in NvAPI_GPU_GetDynamicPstatesInfoEx().\ntypedef struct\n{\n    NvU32       version;        //!< Structure version\n    NvU32       flags;          //!< bit 0 indicates if the dynamic Pstate is enabled or not\n    struct\n    {\n        NvU32   bIsPresent:1;   //!< Set if this utilization domain is present on this GPU\n        NvU32   percentage;     //!< Percentage of time where the domain is considered busy in the last 1 second interval\n    } utilization[NVAPI_MAX_GPU_UTILIZATIONS];\n} NV_GPU_DYNAMIC_PSTATES_INFO_EX;\n\n//! \\ingroup gpupstate\n//! Macro for constructing the version field of NV_GPU_DYNAMIC_PSTATES_INFO_EX\n#define NV_GPU_DYNAMIC_PSTATES_INFO_EX_VER MAKE_NVAPI_VERSION(NV_GPU_DYNAMIC_PSTATES_INFO_EX,1)\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_GPU_GetDynamicPstatesInfoEx\n//\n//! DESCRIPTION:   This API retrieves the NV_GPU_DYNAMIC_PSTATES_INFO_EX structure for the specified physical GPU.\n//!                Each domain's info is indexed in the array.  For example: \n//!                - pDynamicPstatesInfo->utilization[NVAPI_GPU_UTILIZATION_DOMAIN_GPU] holds the info for the GPU domain. \\p\n//!                There are currently 4 domains for which GPU utilization and dynamic P-State thresholds can be retrieved:\n//!                   graphic engine (GPU), frame buffer (FB), video engine (VID), and bus interface (BUS).\n//!\n//! SUPPORTED OS:  Windows XP and higher,  Mac OS X\n//!\n//!\n//! \\since Release: 185\n//! \n//! \\retval ::NVAPI_OK \n//! \\retval ::NVAPI_ERROR \n//! \\retval ::NVAPI_INVALID_ARGUMENT  pDynamicPstatesInfo is NULL\n//! \\retval ::NVAPI_HANDLE_INVALIDATED \n//! \\retval ::NVAPI_EXPECTED_PHYSICAL_GPU_HANDLE \n//! \\retval ::NVAPI_INCOMPATIBLE_STRUCT_VERSION The version of the INFO struct is not supported\n//!\n//! \\ingroup gpupstate\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_GPU_GetDynamicPstatesInfoEx(NvPhysicalGpuHandle hPhysicalGpu, NV_GPU_DYNAMIC_PSTATES_INFO_EX *pDynamicPstatesInfoEx);\n\n///////////////////////////////////////////////////////////////////////////////////\n//  Thermal API\n//  Provides ability to get temperature levels from the various thermal sensors associated with the GPU\n\n//! \\ingroup gputhermal\n#define NVAPI_MAX_THERMAL_SENSORS_PER_GPU 3\n\n//! \\ingroup gputhermal\n//! Used in NV_GPU_THERMAL_SETTINGS\ntypedef enum \n{\n    NVAPI_THERMAL_TARGET_NONE          = 0,\n    NVAPI_THERMAL_TARGET_GPU           = 1,     //!< GPU core temperature requires NvPhysicalGpuHandle\n    NVAPI_THERMAL_TARGET_MEMORY        = 2,     //!< GPU memory temperature requires NvPhysicalGpuHandle\n    NVAPI_THERMAL_TARGET_POWER_SUPPLY  = 4,     //!< GPU power supply temperature requires NvPhysicalGpuHandle\n    NVAPI_THERMAL_TARGET_BOARD         = 8,     //!< GPU board ambient temperature requires NvPhysicalGpuHandle\n    NVAPI_THERMAL_TARGET_VCD_BOARD     = 9,     //!< Visual Computing Device Board temperature requires NvVisualComputingDeviceHandle\n    NVAPI_THERMAL_TARGET_VCD_INLET     = 10,    //!< Visual Computing Device Inlet temperature requires NvVisualComputingDeviceHandle\n    NVAPI_THERMAL_TARGET_VCD_OUTLET    = 11,    //!< Visual Computing Device Outlet temperature requires NvVisualComputingDeviceHandle\n\n    NVAPI_THERMAL_TARGET_ALL           = 15,\n    NVAPI_THERMAL_TARGET_UNKNOWN       = -1,\n} NV_THERMAL_TARGET;\n\n//! \\ingroup gputhermal\n//! Used in NV_GPU_THERMAL_SETTINGS\ntypedef enum\n{\n    NVAPI_THERMAL_CONTROLLER_NONE = 0,\n    NVAPI_THERMAL_CONTROLLER_GPU_INTERNAL,  \n    NVAPI_THERMAL_CONTROLLER_ADM1032,\n    NVAPI_THERMAL_CONTROLLER_MAX6649,       \n    NVAPI_THERMAL_CONTROLLER_MAX1617,      \n    NVAPI_THERMAL_CONTROLLER_LM99,      \n    NVAPI_THERMAL_CONTROLLER_LM89,         \n    NVAPI_THERMAL_CONTROLLER_LM64,         \n    NVAPI_THERMAL_CONTROLLER_ADT7473,\n    NVAPI_THERMAL_CONTROLLER_SBMAX6649,\n    NVAPI_THERMAL_CONTROLLER_VBIOSEVT,  \n    NVAPI_THERMAL_CONTROLLER_OS,    \n    NVAPI_THERMAL_CONTROLLER_UNKNOWN = -1,\n} NV_THERMAL_CONTROLLER;\n\n//! \\ingroup gputhermal\n//! Used in NvAPI_GPU_GetThermalSettings()\ntypedef struct\n{\n    NvU32   version;                //!< structure version \n    NvU32   count;                  //!< number of associated thermal sensors\n    struct \n    {\n        NV_THERMAL_CONTROLLER       controller;        //!< internal, ADM1032, MAX6649...\n        NvU32                       defaultMinTemp;    //!< The min default temperature value of the thermal sensor in degree Celsius \n        NvU32                       defaultMaxTemp;    //!< The max default temperature value of the thermal sensor in degree Celsius \n        NvU32                       currentTemp;       //!< The current temperature value of the thermal sensor in degree Celsius \n        NV_THERMAL_TARGET           target;            //!< Thermal sensor targeted @ GPU, memory, chipset, powersupply, Visual Computing Device, etc.\n    } sensor[NVAPI_MAX_THERMAL_SENSORS_PER_GPU];\n\n} NV_GPU_THERMAL_SETTINGS_V1;\n\n//! \\ingroup gputhermal\ntypedef struct\n{\n    NvU32   version;                //!< structure version\n    NvU32   count;                  //!< number of associated thermal sensors\n    struct\n    {\n        NV_THERMAL_CONTROLLER       controller;         //!< internal, ADM1032, MAX6649...\n        NvS32                       defaultMinTemp;     //!< Minimum default temperature value of the thermal sensor in degree Celsius\n        NvS32                       defaultMaxTemp;     //!< Maximum default temperature value of the thermal sensor in degree Celsius\n        NvS32                       currentTemp;        //!< Current temperature value of the thermal sensor in degree Celsius\n        NV_THERMAL_TARGET           target;             //!< Thermal sensor targeted - GPU, memory, chipset, powersupply, Visual Computing Device, etc\n    } sensor[NVAPI_MAX_THERMAL_SENSORS_PER_GPU];\n\n} NV_GPU_THERMAL_SETTINGS_V2;\n\n//! \\ingroup gputhermal\ntypedef NV_GPU_THERMAL_SETTINGS_V2  NV_GPU_THERMAL_SETTINGS;\n\n//! \\ingroup gputhermal\n//! @{\n\n//! Macro for constructing the version field of NV_GPU_THERMAL_SETTINGS_V1\n#define NV_GPU_THERMAL_SETTINGS_VER_1   MAKE_NVAPI_VERSION(NV_GPU_THERMAL_SETTINGS_V1,1)\n\n//! Macro for constructing the version field of NV_GPU_THERMAL_SETTINGS_V2\n#define NV_GPU_THERMAL_SETTINGS_VER_2   MAKE_NVAPI_VERSION(NV_GPU_THERMAL_SETTINGS_V2,2)\n\n//! Macro for constructing the version field of NV_GPU_THERMAL_SETTINGS\n#define NV_GPU_THERMAL_SETTINGS_VER     NV_GPU_THERMAL_SETTINGS_VER_2\n//! @}\n\n\n\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME:   NvAPI_GPU_GetThermalSettings\n//\n//!  This function retrieves the thermal information of all thermal sensors or specific thermal sensor associated with the selected GPU.\n//!  Thermal sensors are indexed 0 to NVAPI_MAX_THERMAL_SENSORS_PER_GPU-1.\n//!\n//!  - To retrieve specific thermal sensor info, set the sensorIndex to the required thermal sensor index. \n//!  - To retrieve info for all sensors, set sensorIndex to NVAPI_THERMAL_TARGET_ALL. \n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! TCC_SUPPORTED\n//!\n//! \\since Release: 85\n//!\n//! \\param [in]   hPhysicalGPU      GPU selection.\n//! \\param [in]   sensorIndex       Explicit thermal sensor index selection. \n//! \\param [out]  pThermalSettings  Array of thermal settings.\n//!\n//! \\retval   NVAPI_OK                           Completed request\n//! \\retval   NVAPI_ERROR                        Miscellaneous error occurred.\n//! \\retval   NVAPI_INVALID_ARGUMENT             pThermalInfo is NULL.\n//! \\retval   NVAPI_HANDLE_INVALIDATED           Handle passed has been invalidated (see user guide).\n//! \\retval   NVAPI_EXPECTED_PHYSICAL_GPU_HANDLE Handle passed is not a physical GPU handle.\n//! \\retval   NVAPI_INCOMPATIBLE_STRUCT_VERSION  The version of the INFO struct is not supported.\n//! \\ingroup gputhermal\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_GPU_GetThermalSettings(NvPhysicalGpuHandle hPhysicalGpu, NvU32 sensorIndex, NV_GPU_THERMAL_SETTINGS *pThermalSettings);\n\n\n///////////////////////////////////////////////////////////////////////////////////\n//  I2C API\n//  Provides ability to read or write data using I2C protocol.\n//  These APIs allow I2C access only to DDC monitors\n\n\n//! \\addtogroup i2capi\n//! @{\n#define NVAPI_MAX_SIZEOF_I2C_DATA_BUFFER    4096\n#define NVAPI_MAX_SIZEOF_I2C_REG_ADDRESS       4\n#define NVAPI_DISPLAY_DEVICE_MASK_MAX         24\n#define NVAPI_I2C_SPEED_DEPRECATED        0xFFFF\n\ntypedef enum\n{\n    NVAPI_I2C_SPEED_DEFAULT,    //!< Set i2cSpeedKhz to I2C_SPEED_DEFAULT if default I2C speed is to be chosen, ie.use the current frequency setting.\n    NVAPI_I2C_SPEED_3KHZ,\n    NVAPI_I2C_SPEED_10KHZ,\n    NVAPI_I2C_SPEED_33KHZ,\n    NVAPI_I2C_SPEED_100KHZ,\n    NVAPI_I2C_SPEED_200KHZ,\n    NVAPI_I2C_SPEED_400KHZ,\n} NV_I2C_SPEED;\n\n//! Used in NvAPI_I2CRead() and NvAPI_I2CWrite()\ntypedef struct\n{\n    NvU32                   version;            //!< The structure version.\n    NvU32                   displayMask;        //!< The Display Mask of the concerned display.\n    NvU8                    bIsDDCPort;         //!< This flag indicates either the DDC port (TRUE) or the communication port\n                                                //!< (FALSE) of the concerned display.\n    NvU8                    i2cDevAddress;      //!< The address of the I2C slave.  The address should be shifted left by one.  For\n                                                //!< example, the I2C address 0x50, often used for reading EDIDs, would be stored\n                                                //!< here as 0xA0.  This matches the position within the byte sent by the master, as\n                                                //!< the last bit is reserved to specify the read or write direction.\n    NvU8*                   pbI2cRegAddress;    //!< The I2C target register address.  May be NULL, which indicates no register\n                                                //!< address should be sent.\n    NvU32                   regAddrSize;        //!< The size in bytes of target register address.  If pbI2cRegAddress is NULL, this\n                                                //!< field must be 0.\n    NvU8*                   pbData;             //!< The buffer of data which is to be read or written (depending on the command).\n    NvU32                   cbSize;             //!< The size of the data buffer, pbData, to be read or written.\n    NvU32                   i2cSpeed;           //!< The target speed of the transaction (between 28Kbps to 40Kbps; not guaranteed).\n} NV_I2C_INFO_V1;\n\n//! Used in NvAPI_I2CRead() and NvAPI_I2CWrite()\ntypedef struct\n{\n    NvU32                   version;            //!< The structure version.\n    NvU32                   displayMask;        //!< The Display Mask of the concerned display.\n    NvU8                    bIsDDCPort;         //!< This flag indicates either the DDC port (TRUE) or the communication port\n                                                //!< (FALSE) of the concerned display.\n    NvU8                    i2cDevAddress;      //!< The address of the I2C slave.  The address should be shifted left by one.  For\n                                                //!< example, the I2C address 0x50, often used for reading EDIDs, would be stored\n                                                //!< here as 0xA0.  This matches the position within the byte sent by the master, as\n                                                //!< the last bit is reserved to specify the read or write direction.\n    NvU8*                   pbI2cRegAddress;    //!< The I2C target register address.  May be NULL, which indicates no register\n                                                //!< address should be sent.\n    NvU32                   regAddrSize;        //!< The size in bytes of target register address.  If pbI2cRegAddress is NULL, this\n                                                //!< field must be 0.\n    NvU8*                   pbData;             //!< The buffer of data which is to be read or written (depending on the command).\n    NvU32                   cbSize;             //!< The size of the data buffer, pbData, to be read or written.\n    NvU32                   i2cSpeed;           //!< Deprecated, Must be set to NVAPI_I2C_SPEED_DEPRECATED.\n    NV_I2C_SPEED            i2cSpeedKhz;        //!< The target speed of the transaction in (kHz) (Chosen from the enum NV_I2C_SPEED).\n} NV_I2C_INFO_V2;\n\n//! Used in NvAPI_I2CRead() and NvAPI_I2CWrite()\ntypedef struct\n{\n    NvU32                   version;            //!< The structure version.\n    NvU32                   displayMask;        //!< The Display Mask of the concerned display.\n    NvU8                    bIsDDCPort;         //!< This flag indicates either the DDC port (TRUE) or the communication port\n                                                //!< (FALSE) of the concerned display.\n    NvU8                    i2cDevAddress;      //!< The address of the I2C slave.  The address should be shifted left by one.  For\n                                                //!< example, the I2C address 0x50, often used for reading EDIDs, would be stored\n                                                //!< here as 0xA0.  This matches the position within the byte sent by the master, as\n                                                //!< the last bit is reserved to specify the read or write direction.\n    NvU8*                   pbI2cRegAddress;    //!< The I2C target register address.  May be NULL, which indicates no register\n                                                //!< address should be sent.\n    NvU32                   regAddrSize;        //!< The size in bytes of target register address.  If pbI2cRegAddress is NULL, this\n                                                //!< field must be 0.\n    NvU8*                   pbData;             //!< The buffer of data which is to be read or written (depending on the command).\n    NvU32                   cbSize;             //!< The size of the data buffer, pbData, to be read or written.\n    NvU32                   i2cSpeed;           //!< Deprecated, Must be set to NVAPI_I2C_SPEED_DEPRECATED.\n    NV_I2C_SPEED            i2cSpeedKhz;        //!< The target speed of the transaction in (kHz) (Chosen from the enum NV_I2C_SPEED).\n    NvU8                    portId;             //!< The portid on which device is connected (remember to set bIsPortIdSet if this value is set)\n                                                //!< Optional for pre-Kepler\n    NvU32                   bIsPortIdSet;       //!< set this flag on if and only if portid value is set\n} NV_I2C_INFO_V3;\n\ntypedef NV_I2C_INFO_V3                     NV_I2C_INFO;\n\n#define NV_I2C_INFO_VER3  MAKE_NVAPI_VERSION(NV_I2C_INFO_V3,3)\n#define NV_I2C_INFO_VER2  MAKE_NVAPI_VERSION(NV_I2C_INFO_V2,2)\n#define NV_I2C_INFO_VER1  MAKE_NVAPI_VERSION(NV_I2C_INFO_V1,1)\n\n#define NV_I2C_INFO_VER  NV_I2C_INFO_VER3\n//! @}\n\n/***********************************************************************************/\n\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME:  NvAPI_I2CRead\n//\n//!  This function reads the data buffer from the I2C port.\n//!                 The I2C request must be for a DDC port: pI2cInfo->bIsDDCPort = 1.\n//!\n//!                 A data buffer size larger than 16 bytes may be rejected if a register address is specified.  In such a case,\n//!                 NVAPI_ARGUMENT_EXCEED_MAX_SIZE would be returned.\n//!\n//!                 If a register address is specified (i.e. regAddrSize is positive), then the transaction will be performed in\n//!                 the combined format described in the I2C specification.  The register address will be written, followed by\n//!                 reading into the data buffer.\n//!\n//! SUPPORTED OS:  Windows XP and higher,  Mac OS X\n//!\n//!\n//! \\since Release: 85\n//!\n//! \\param [in]   hPhysicalGPU     GPU selection.\n//! \\param [out]  NV_I2C_INFO     *pI2cInfo The I2C data input structure\n//!\n//! \\retval   NVAPI_OK                            Completed request\n//! \\retval   NVAPI_ERROR                         Miscellaneous error occurred.\n//! \\retval   NVAPI_HANDLE_INVALIDATED            Handle passed has been invalidated (see user guide).\n//! \\retval   NVAPI_EXPECTED_PHYSICAL_GPU_HANDLE  Handle passed is not a physical GPU handle.\n//! \\retval   NVAPI_INCOMPATIBLE_STRUCT_VERSION   Structure version is not supported.\n//! \\retval   NVAPI_INVALID_ARGUMENT - argument does not meet specified requirements\n//! \\retval   NVAPI_ARGUMENT_EXCEED_MAX_SIZE - an argument exceeds the maximum \n//!\n//! \\ingroup i2capi\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_I2CRead(NvPhysicalGpuHandle hPhysicalGpu, NV_I2C_INFO *pI2cInfo);\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME:  NvAPI_I2CWrite\n//\n//!  This function writes the data buffer to the I2C port.\n//!\n//!                 The I2C request must be for a DDC port: pI2cInfo->bIsDDCPort = 1.\n//!\n//!                 A data buffer size larger than 16 bytes may be rejected if a register address is specified.  In such a case,\n//!                 NVAPI_ARGUMENT_EXCEED_MAX_SIZE would be returned.\n//!\n//!                 If a register address is specified (i.e. regAddrSize is positive), then the register address will be written\n//!                 and the data buffer will immediately follow without a restart.\n//!\n//! SUPPORTED OS:  Windows XP and higher,  Mac OS X\n//!\n//!\n//! \\since Release: 85\n//!\n//! \\param [in]   hPhysicalGPU     GPU selection.\n//! \\param [in]   pI2cInfo         The I2C data input structure\n//!\n//! \\retval   NVAPI_OK                            Completed request\n//! \\retval   NVAPI_ERROR                         Miscellaneous error occurred.\n//! \\retval   NVAPI_HANDLE_INVALIDATED            Handle passed has been invalidated (see user guide).\n//! \\retval   NVAPI_EXPECTED_PHYSICAL_GPU_HANDLE  Handle passed is not a physical GPU handle.\n//! \\retval   NVAPI_INCOMPATIBLE_STRUCT_VERSION    Structure version is not supported.\n//! \\retval   NVAPI_INVALID_ARGUMENT              Argument does not meet specified requirements\n//! \\retval   NVAPI_ARGUMENT_EXCEED_MAX_SIZE      Argument exceeds the maximum \n//!\n//! \\ingroup i2capi\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_I2CWrite(NvPhysicalGpuHandle hPhysicalGpu, NV_I2C_INFO *pI2cInfo);\n\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_GPU_WorkstationFeatureSetup\n//\n//! \\fn NvAPI_GPU_WorkstationFeatureSetup(NvPhysicalGpuHandle hPhysicalGpu, NvU32 featureEnableMask, NvU32 featureDisableMask)\n//!   DESCRIPTION: This API configures the driver for a set of workstation features.\n//!                The driver can allocate the memory resources accordingly.\n//!\n//! SUPPORTED OS:  Windows 7\n//!\n//!\n//! \\param [in]   hPhysicalGpu       Physical GPU Handle of the display adapter to be configured. GPU handles may be retrieved\n//!                                  using NvAPI_EnumPhysicalGPUs. A value of NULL is permitted and applies the same operation\n//!                                  to all GPU handles enumerated by NvAPI_EnumPhysicalGPUs.\n//! \\param [in]   featureEnableMask  Mask of features the caller requests to enable for use\n//! \\param [in]   featureDisableMask Mask of features the caller requests to disable \n//!\n//!                As a general rule, features in the enable and disable masks are expected to be disjoint, although the disable \n//!                mask has precedence and a feature flagged in both masks will be disabled.\n//!\n//! \\retval ::NVAPI_OK                            configuration request succeeded\n//! \\retval ::NVAPI_ERROR                         configuration request failed\n//! \\retval ::NVAPI_EXPECTED_PHYSICAL_GPU_HANDLE  hPhysicalGpu is not a physical GPU handle.\n//! \\retval ::NVAPI_GPU_WORKSTATION_FEATURE_INCOMPLETE  requested feature set does not have all resources allocated for completeness.\n//! \\retval ::NVAPI_NO_IMPLEMENTATION             OS below Win7, implemented only for Win7 but returns NVAPI_OK on OS above Win7 to \n//!                                               keep compatibility with apps written against Win7.\n//\n///////////////////////////////////////////////////////////////////////////////\n\n//! \\ingroup gpu \ntypedef enum\n{\n    NVAPI_GPU_WORKSTATION_FEATURE_MASK_SWAPGROUP     = 0x00000001,\n    NVAPI_GPU_WORKSTATION_FEATURE_MASK_STEREO        = 0x00000010,\n    NVAPI_GPU_WORKSTATION_FEATURE_MASK_WARPING       = 0x00000100,\n    NVAPI_GPU_WORKSTATION_FEATURE_MASK_PIXINTENSITY  = 0x00000200,\n    NVAPI_GPU_WORKSTATION_FEATURE_MASK_GRAYSCALE     = 0x00000400,\n    NVAPI_GPU_WORKSTATION_FEATURE_MASK_BPC10         = 0x00001000\n} NVAPI_GPU_WORKSTATION_FEATURE_MASK;\n\n//! \\ingroup gpu\nNVAPI_INTERFACE NvAPI_GPU_WorkstationFeatureSetup(__in NvPhysicalGpuHandle hPhysicalGpu, __in NvU32 featureEnableMask, __in NvU32 featureDisableMask);\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_GPU_WorkstationFeatureQuery\n//\n//!   DESCRIPTION: This API queries the current set of workstation features.\n//!\n//! SUPPORTED OS:  Windows 7\n//!\n//!\n//! \\param [in]   hPhysicalGpu       Physical GPU Handle of the display adapter to be configured. GPU handles may be retrieved\n//!                                  using NvAPI_EnumPhysicalGPUs. \n//! \\param [out]  pConfiguredFeatureMask  Mask of features requested for use by client drivers\n//! \\param [out]  pConsistentFeatureMask  Mask of features that have all resources allocated for completeness.\n//!\n//! \\retval ::NVAPI_OK                            configuration request succeeded\n//! \\retval ::NVAPI_ERROR                         configuration request failed\n//! \\retval ::NVAPI_EXPECTED_PHYSICAL_GPU_HANDLE  hPhysicalGpu is not a physical GPU handle.\n//! \\retval ::NVAPI_NO_IMPLEMENTATION             OS below Win7, implemented only for Win7 but returns NVAPI_OK on OS above Win7 to \n//!                                               keep compatibility with apps written against Win7.\n//\n///////////////////////////////////////////////////////////////////////////////\n\n//! \\ingroup gpu\nNVAPI_INTERFACE NvAPI_GPU_WorkstationFeatureQuery(__in NvPhysicalGpuHandle hPhysicalGpu, __out_opt NvU32 *pConfiguredFeatureMask, __out_opt NvU32 *pConsistentFeatureMask);\n\n/////////////////////////////////////////////////////////////////////////////// \n// \n// FUNCTION NAME: NvAPI_GPU_GetHDCPSupportStatus \n//\n//! \\fn NvAPI_GPU_GetHDCPSupportStatus(NvPhysicalGpuHandle hPhysicalGpu, NV_GPU_GET_HDCP_SUPPORT_STATUS *pGetHDCPSupportStatus)\n//! DESCRIPTION: This function returns a GPU's HDCP support status. \n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\since Release: 175\n//!\n//!  \\retval ::NVAPI_OK \n//!  \\retval ::NVAPI_ERROR \n//!  \\retval ::NVAPI_INVALID_ARGUMENT \n//!  \\retval ::NVAPI_HANDLE_INVALIDATED \n//!  \\retval ::NVAPI_EXPECTED_PHYSICAL_GPU_HANDLE \n//!  \\retval ::NVAPI_INCOMPATIBLE_STRUCT_VERSION \n// \n////////////////////////////////////////////////////////////////////////////////\n    \n\n//! \\addtogroup gpu\n//! @{\n\n\n//! HDCP fuse states - used in NV_GPU_GET_HDCP_SUPPORT_STATUS\ntypedef enum _NV_GPU_HDCP_FUSE_STATE\n{\n    NV_GPU_HDCP_FUSE_STATE_UNKNOWN  = 0,\n    NV_GPU_HDCP_FUSE_STATE_DISABLED = 1,\n    NV_GPU_HDCP_FUSE_STATE_ENABLED  = 2,\n} NV_GPU_HDCP_FUSE_STATE;\n\n\n//! HDCP key sources - used in NV_GPU_GET_HDCP_SUPPORT_STATUS\ntypedef enum _NV_GPU_HDCP_KEY_SOURCE\n{\n    NV_GPU_HDCP_KEY_SOURCE_UNKNOWN    = 0,\n    NV_GPU_HDCP_KEY_SOURCE_NONE       = 1,\n    NV_GPU_HDCP_KEY_SOURCE_CRYPTO_ROM = 2,\n    NV_GPU_HDCP_KEY_SOURCE_SBIOS      = 3,\n    NV_GPU_HDCP_KEY_SOURCE_I2C_ROM    = 4,\n    NV_GPU_HDCP_KEY_SOURCE_FUSES      = 5,\n} NV_GPU_HDCP_KEY_SOURCE;\n\n\n//! HDCP key source states - used in NV_GPU_GET_HDCP_SUPPORT_STATUS\ntypedef enum _NV_GPU_HDCP_KEY_SOURCE_STATE\n{\n    NV_GPU_HDCP_KEY_SOURCE_STATE_UNKNOWN = 0,\n    NV_GPU_HDCP_KEY_SOURCE_STATE_ABSENT  = 1,\n    NV_GPU_HDCP_KEY_SOURCE_STATE_PRESENT = 2,\n} NV_GPU_HDCP_KEY_SOURCE_STATE;\n\n\n//! HDPC support status - used in NvAPI_GPU_GetHDCPSupportStatus()\ntypedef struct \n{\n    NvU32                        version;               //! Structure version constucted by macro #NV_GPU_GET_HDCP_SUPPORT_STATUS\n    NV_GPU_HDCP_FUSE_STATE       hdcpFuseState;         //! GPU's HDCP fuse state\n    NV_GPU_HDCP_KEY_SOURCE       hdcpKeySource;         //! GPU's HDCP key source\n    NV_GPU_HDCP_KEY_SOURCE_STATE hdcpKeySourceState;    //! GPU's HDCP key source state    \n} NV_GPU_GET_HDCP_SUPPORT_STATUS;\n\n\n//! Macro for constructing the version for structure NV_GPU_GET_HDCP_SUPPORT_STATUS\n#define NV_GPU_GET_HDCP_SUPPORT_STATUS_VER MAKE_NVAPI_VERSION(NV_GPU_GET_HDCP_SUPPORT_STATUS,1)\n\n\n//! @}\n\n\n//!  \\ingroup gpu \nNVAPI_INTERFACE NvAPI_GPU_GetHDCPSupportStatus(NvPhysicalGpuHandle hPhysicalGpu, NV_GPU_GET_HDCP_SUPPORT_STATUS *pGetHDCPSupportStatus);\n\n\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_GPU_GetTachReading\n//\n//!   DESCRIPTION: This API retrieves the fan speed tachometer reading for the specified physical GPU.\n//!\n//!   HOW TO USE:   \n//!                 - NvU32 Value = 0;\n//!                 - ret = NvAPI_GPU_GetTachReading(hPhysicalGpu, &Value);  \n//!                 - On call success:\n//!                 - Value contains the tachometer reading\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! TCC_SUPPORTED\n//!\n//! \\param [in]    hPhysicalGpu   GPU selection.\n//! \\param [out]   pValue         Pointer to a variable to get the tachometer reading\n//!\n//! \\retval ::NVAPI_OK - completed request\n//! \\retval ::NVAPI_ERROR - miscellaneous error occurred\n//! \\retval ::NVAPI_NOT_SUPPORTED - functionality not supported \n//! \\retval ::NVAPI_API_NOT_INTIALIZED - nvapi not initialized\n//! \\retval ::NVAPI_INVALID_ARGUMENT - invalid argument passed\n//! \\retval ::NVAPI_HANDLE_INVALIDATED - handle passed has been invalidated (see user guide)\n//! \\retval ::NVAPI_EXPECTED_PHYSICAL_GPU_HANDLE - handle passed is not a physical GPU handle\n//!\n//! \\ingroup gpucooler\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_GPU_GetTachReading(NvPhysicalGpuHandle hPhysicalGPU, NvU32 *pValue);\n\n\n\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME:   NvAPI_GPU_GetECCStatusInfo\n//\n//! \\fn NvAPI_GPU_GetECCStatusInfo(NvPhysicalGpuHandle hPhysicalGpu, \n//!                                           NV_GPU_ECC_STATUS_INFO *pECCStatusInfo);\n//! DESCRIPTION:     This function returns ECC memory status information.\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! TCC_SUPPORTED\n//!\n//! \\param [in]      hPhysicalGpu      A handle identifying the physical GPU for which ECC \n//!                                    status information is to be retrieved.\n//! \\param [out]     pECCStatusInfo    A pointer to an ECC status structure.\n//! \n//! \\retval ::NVAPI_OK                  The request was completed successfully.\n//! \\retval ::NVAPI_ERROR               An unknown error occurred.\n//! \\retval ::NVAPI_EXPECTED_PHYSICAL_GPU_HANDLE The provided GPU handle is not a physical GPU handle.\n//! \\retval ::NVAPI_INVALID_HANDLE      The provided GPU handle is invalid.\n//! \\retval ::NVAPI_HANDLE_INVALIDATED  The provided GPU handle is no longer valid.\n//! \\retval ::NVAPI_INVALID_POINTER     An invalid argument pointer was provided.\n//! \\retval ::NVAPI_NOT_SUPPORTED       The request is not supported.\n//! \\retval ::NVAPI_API_NOT_INTIALIZED  NvAPI was not yet initialized.\n//\n///////////////////////////////////////////////////////////////////////////////\n\n//! \\addtogroup gpuecc\n//! Used in NV_GPU_ECC_STATUS_INFO.\ntypedef enum _NV_ECC_CONFIGURATION\n{\n    NV_ECC_CONFIGURATION_NOT_SUPPORTED = 0,\n    NV_ECC_CONFIGURATION_DEFERRED,           //!< Changes require a POST to take effect\n    NV_ECC_CONFIGURATION_IMMEDIATE,          //!< Changes can optionally be made to take effect immediately\n} NV_ECC_CONFIGURATION;\n\n//! \\ingroup gpuecc\n//! Used in NvAPI_GPU_GetECCStatusInfo().\ntypedef struct\n{\n    NvU32                 version;               //!< Structure version\n    NvU32                 isSupported : 1;       //!< ECC memory feature support\n    NV_ECC_CONFIGURATION  configurationOptions;  //!< Supported ECC memory feature configuration options\n    NvU32                 isEnabled : 1;         //!< Active ECC memory setting\n} NV_GPU_ECC_STATUS_INFO;\n\n//! \\ingroup gpuecc\n//! Macro for constructing the version field of NV_GPU_ECC_STATUS_INFO\n#define NV_GPU_ECC_STATUS_INFO_VER MAKE_NVAPI_VERSION(NV_GPU_ECC_STATUS_INFO,1)\n\n//! \\ingroup gpuecc\nNVAPI_INTERFACE NvAPI_GPU_GetECCStatusInfo(NvPhysicalGpuHandle hPhysicalGpu, \n                                           NV_GPU_ECC_STATUS_INFO *pECCStatusInfo);\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME:   NvAPI_GPU_GetECCErrorInfo\n//\n//! \\fn NvAPI_GPU_GetECCErrorInfo(NvPhysicalGpuHandle hPhysicalGpu, \n//!                                          NV_GPU_ECC_ERROR_INFO *pECCErrorInfo);\n//!\n//! DESCRIPTION:     This function returns ECC memory error information.\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! TCC_SUPPORTED\n//!\n//! \\param [in]      hPhysicalGpu  A handle identifying the physical GPU for\n//!                                which ECC error information is to be\n//!                                retrieved.\n//! \\param [out]     pECCErrorInfo A pointer to an ECC error structure.\n//! \n//! \\retval ::NVAPI_OK  The request was completed successfully.\n//! \\retval ::NVAPI_ERROR  An unknown error occurred.\n//! \\retval ::NVAPI_EXPECTED_PHYSICAL_GPU_HANDLE  The provided GPU handle is not a physical GPU handle.\n//! \\retval ::NVAPI_INVALID_ARGUMENT  incorrect param value\n//! \\retval ::NVAPI_INVALID_POINTER  An invalid argument pointer was provided.\n//! \\retval ::NVAPI_INCOMPATIBLE_STRUCT_VERSION  structure version is not supported, initialize to NV_GPU_ECC_ERROR_INFO_VER.\n//! \\retval ::NVAPI_HANDLE_INVALIDATED  The provided GPU handle is no longer valid.\n//! \\retval ::NVAPI_NOT_SUPPORTED  The request is not supported.\n//! \\retval ::NVAPI_API_NOT_INTIALIZED  NvAPI was not yet initialized.\n//\n///////////////////////////////////////////////////////////////////////////////\n\n\n//! \\ingroup gpuecc\n//! Used in NvAPI_GPU_GetECCErrorInfo()/\ntypedef struct\n{\n    NvU32   version;             //!< Structure version\n    struct {\n        NvU64  singleBitErrors;  //!< Number of single-bit ECC errors detected since last boot\n        NvU64  doubleBitErrors;  //!< Number of double-bit ECC errors detected since last boot\n    } current;\n    struct {\n        NvU64  singleBitErrors;  //!< Number of single-bit ECC errors detected since last counter reset\n        NvU64  doubleBitErrors;  //!< Number of double-bit ECC errors detected since last counter reset\n    } aggregate;\n} NV_GPU_ECC_ERROR_INFO;\n\n//! \\ingroup gpuecc\n//! Macro for constructing the version field of NV_GPU_ECC_ERROR_INFO\n#define NV_GPU_ECC_ERROR_INFO_VER MAKE_NVAPI_VERSION(NV_GPU_ECC_ERROR_INFO,1)\n\n//! \\ingroup gpuecc\nNVAPI_INTERFACE NvAPI_GPU_GetECCErrorInfo(NvPhysicalGpuHandle hPhysicalGpu, \n                                          NV_GPU_ECC_ERROR_INFO *pECCErrorInfo);\n\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME:   NvAPI_GPU_ResetECCErrorInfo\n//\n//! DESCRIPTION:     This function resets ECC memory error counters.\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! TCC_SUPPORTED\n//!\n//! \\param [in]     hPhysicalGpu     A handle identifying the physical GPU for\n//!                                  which ECC error information is to be\n//!                                  cleared.\n//! \\param [in]     bResetCurrent    Reset the current ECC error counters.\n//! \\param [in]     bResetAggregate  Reset the aggregate ECC error counters.\n//! \n//! \\return  This API can return any of the error codes enumerated in #NvAPI_Status. If there are return error codes with \n//!          specific meaning for this API, they are listed below.\n//!\n//! \\retval ::NVAPI_INVALID_USER_PRIVILEGE       - The caller does not have administrative privileges\n//!\n//! \\ingroup gpuecc\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_GPU_ResetECCErrorInfo(NvPhysicalGpuHandle hPhysicalGpu, NvU8 bResetCurrent,\n                                            NvU8 bResetAggregate);\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME:   NvAPI_GPU_GetECCConfigurationInfo\n//\n//! \\fn NvAPI_GPU_GetECCConfigurationInfo(NvPhysicalGpuHandle hPhysicalGpu, \n//!                             NV_GPU_ECC_CONFIGURATION_INFO *pECCConfigurationInfo);\n//! DESCRIPTION:     This function returns ECC memory configuration information.\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! TCC_SUPPORTED\n//!\n//! \\param [in]      hPhysicalGpu  A handle identifying the physical GPU for\n//!                                which ECC configuration information\n//!                               is to be retrieved.\n//! \\param [out]     pECCConfigurationInfo  A pointer to an ECC \n//!                                                configuration structure.\n//! \n//! \\retval ::NVAPI_OK  The request was completed successfully.\n//! \\retval ::NVAPI_ERROR  An unknown error occurred.\n//! \\retval ::NVAPI_EXPECTED_PHYSICAL_GPU_HANDLE  The provided GPU handle is not a physical GPU handle.\n//! \\retval ::NVAPI_INVALID_HANDLE  The provided GPU handle is invalid.\n//! \\retval ::NVAPI_HANDLE_INVALIDATED  The provided GPU handle is no longer valid.\n//! \\retval ::NVAPI_INVALID_POINTER  An invalid argument pointer was provided.\n//! \\retval ::NVAPI_NOT_SUPPORTED  The request is not supported.\n//! \\retval ::NVAPI_API_NOT_INTIALIZED  NvAPI was not yet initialized.\n//\n///////////////////////////////////////////////////////////////////////////////\n\n//! \\ingroup gpuecc\n//! Used in NvAPI_GPU_GetECCConfigurationInfo(). \ntypedef struct\n{\n    NvU32  version;                 //! Structure version\n    NvU32  isEnabled : 1;           //! Current ECC configuration stored in non-volatile memory\n    NvU32  isEnabledByDefault : 1;  //! Factory default ECC configuration (static)\n} NV_GPU_ECC_CONFIGURATION_INFO;\n\n//! \\ingroup gpuecc\n//! Macro for consstructing the verion field of NV_GPU_ECC_CONFIGURATION_INFO\n#define NV_GPU_ECC_CONFIGURATION_INFO_VER MAKE_NVAPI_VERSION(NV_GPU_ECC_CONFIGURATION_INFO,1)\n\n//! \\ingroup gpuecc\nNVAPI_INTERFACE NvAPI_GPU_GetECCConfigurationInfo(NvPhysicalGpuHandle hPhysicalGpu, \n                                                  NV_GPU_ECC_CONFIGURATION_INFO *pECCConfigurationInfo);\n\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME:   NvAPI_GPU_SetECCConfiguration\n//\n//! DESCRIPTION:     This function updates the ECC memory configuration setting.\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! TCC_SUPPORTED\n//!\n//! \\param [in]      hPhysicalGpu    A handle identifying the physical GPU for\n//!                                  which to update the ECC configuration\n//!                                  setting.\n//! \\param [in]      bEnable         The new ECC configuration setting.\n//! \\param [in]      bEnableImmediately   Request that the new setting take effect immediately.\n//! \n//! \\return  This API can return any of the error codes enumerated in #NvAPI_Status. If there are return error codes with \n//!          specific meaning for this API, they are listed below.\n//!\n//! \\retval ::NVAPI_INVALID_CONFIGURATION  - Possibly SLI is enabled. Disable SLI and retry.\n//! \\retval ::NVAPI_INVALID_USER_PRIVILEGE - The caller does not have administrative privileges\n//!\n//! \\ingroup gpuecc\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_GPU_SetECCConfiguration(NvPhysicalGpuHandle hPhysicalGpu, NvU8 bEnable,\n                                              NvU8 bEnableImmediately);\n\n\n\n//! \\ingroup gpu\ntypedef struct\n{\n    NvU32  version;              //!< version of this structure\n    NvU32  width;                //!< width of the input texture\n    NvU32  height;               //!< height of the input texture\n    float* blendingTexture;      //!< array of floating values building an intensity RGB texture\n} NV_SCANOUT_INTENSITY_DATA_V1;\n\n//! \\ingroup gpu\ntypedef struct\n{\n    NvU32  version;              //!< version of this structure\n    NvU32  width;                //!< width of the input texture\n    NvU32  height;               //!< height of the input texture\n    float* blendingTexture;      //!< array of floating values building an intensity RGB texture\n    float* offsetTexture;        //!< array of floating values building an offset texture\n    NvU32  offsetTexChannels;    //!< number of channels per pixel in the offset texture\n} NV_SCANOUT_INTENSITY_DATA_V2;\n\ntypedef NV_SCANOUT_INTENSITY_DATA_V2 NV_SCANOUT_INTENSITY_DATA;\n\n//! \\ingroup gpu\n#define NV_SCANOUT_INTENSITY_DATA_VER1    MAKE_NVAPI_VERSION(NV_SCANOUT_INTENSITY_DATA_V1, 1)\n#define NV_SCANOUT_INTENSITY_DATA_VER2    MAKE_NVAPI_VERSION(NV_SCANOUT_INTENSITY_DATA_V2, 2)\n#define NV_SCANOUT_INTENSITY_DATA_VER      NV_SCANOUT_INTENSITY_DATA_VER2\n\n///////////////////////////////////////////////////////////////////////////////\n// FUNCTION NAME: NvAPI_GPU_SetScanoutIntensity\n//\n//!   DESCRIPTION: This API enables and sets up per-pixel intensity feature on the specified display.\n//!\n//! SUPPORTED OS:  Windows 7 and higher\n//!\n//!\n//! \\param [in]   displayId              combined physical display and GPU identifier of the display to apply the intensity control.\n//! \\param [in]   scanoutIntensityData   the intensity texture info.\n//! \\param [out]  pbSticky(OUT)           indicates whether the settings will be kept over a reboot.\n//!\n//! \\retval ::NVAPI_INVALID_ARGUMENT Invalid input parameters.\n//! \\retval ::NVAPI_API_NOT_INITIALIZED NvAPI not initialized.\n//! \\retval ::NVAPI_NOT_SUPPORTED Interface not supported by the driver used, or only supported on selected GPUs\n//! \\retval ::NVAPI_INVALID_ARGUMENT Invalid input data.\n//! \\retval ::NVAPI_INCOMPATIBLE_STRUCT_VERSION NV_SCANOUT_INTENSITY_DATA structure version mismatch.\n//! \\retval ::NVAPI_OK Feature enabled.\n//! \\retval ::NVAPI_ERROR Miscellaneous error occurred.\n//!\n//! \\ingroup gpu\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_GPU_SetScanoutIntensity(NvU32 displayId, NV_SCANOUT_INTENSITY_DATA* scanoutIntensityData, int *pbSticky);\n\n\n//! \\ingroup gpu\ntypedef struct _NV_SCANOUT_INTENSITY_STATE_DATA\n{\n    NvU32  version;                                 //!< version of this structure\n    NvU32  bEnabled;                                //!< intensity is enabled or not\n} NV_SCANOUT_INTENSITY_STATE_DATA;\n\n//! \\ingroup gpu\n#define NV_SCANOUT_INTENSITY_STATE_VER    MAKE_NVAPI_VERSION(NV_SCANOUT_INTENSITY_STATE_DATA, 1)\n\n///////////////////////////////////////////////////////////////////////////////\n// FUNCTION NAME: NvAPI_GPU_GetScanoutIntensityState\n//\n//!   DESCRIPTION: This API queries current state of the intensity feature on the specified display.\n//!\n//! SUPPORTED OS:  Windows 7 and higher\n//!\n//!\n//! \\param [in]     displayId                       combined physical display and GPU identifier of the display to query the configuration.\n//! \\param [in,out] scanoutIntensityStateData       intensity state data.\n//!\n//! \\return  This API can return any of the error codes enumerated in #NvAPI_Status. If there are return error codes with \n//!          specific meaning for this API, they are listed below.\n//!\n//! \\retval ::NVAPI_INVALID_ARGUMENT Invalid input parameters.\n//! \\retval ::NVAPI_API_NOT_INITIALIZED NvAPI not initialized.\n//! \\retval ::NVAPI_NOT_SUPPORTED Interface not supported by the driver used, or only supported on selected GPUs.\n//! \\retval ::NVAPI_OK Feature enabled.\n//! \\retval ::NVAPI_ERROR Miscellaneous error occurred.\n//!\n//! \\ingroup gpu\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_GPU_GetScanoutIntensityState(__in NvU32 displayId, __inout NV_SCANOUT_INTENSITY_STATE_DATA* scanoutIntensityStateData);\n\n\n//! \\ingroup gpu\ntypedef enum\n{\n    NV_GPU_WARPING_VERTICE_FORMAT_TRIANGLESTRIP_XYUVRQ = 0,\n    NV_GPU_WARPING_VERTICE_FORMAT_TRIANGLES_XYUVRQ     = 1,\n} NV_GPU_WARPING_VERTICE_FORMAT;\n\n//! \\ingroup gpu\ntypedef struct\n{\n    NvU32  version;                                 //!< version of this structure\n    float* vertices;                                //!< width of the input texture\n    NV_GPU_WARPING_VERTICE_FORMAT vertexFormat;     //!< format of the input vertices\n    int    numVertices;                             //!< number of the input vertices\n    NvSBox* textureRect;                            //!< rectangle in desktop coordinates describing the source area for the warping\n} NV_SCANOUT_WARPING_DATA;\n\n//! \\ingroup gpu\n#define NV_SCANOUT_WARPING_VER    MAKE_NVAPI_VERSION(NV_SCANOUT_WARPING_DATA, 1)\n\n\n///////////////////////////////////////////////////////////////////////////////\n// FUNCTION NAME: NvAPI_GPU_SetScanoutWarping\n//\n//!   DESCRIPTION: This API enables and sets up the warping feature on the specified display.\n//!\n//! SUPPORTED OS:  Windows 7 and higher\n//!\n//!\n//! \\param [in]    displayId               Combined physical display and GPU identifier of the display to apply the intensity control\n//! \\param [in]    scanoutWarpingData      The warping data info\n//! \\param [out]   pbSticky                Indicates whether the settings will be kept over a reboot.\n//!\n//! \\retval ::NVAPI_INVALID_ARGUMENT Invalid input parameters.\n//! \\retval ::NVAPI_API_NOT_INITIALIZED NvAPI not initialized.\n//! \\retval ::NVAPI_NOT_SUPPORTED Interface not supported by the driver used, or only supported on selected GPUs\n//! \\retval ::NVAPI_INVALID_ARGUMENT Invalid input data.\n//! \\retval ::NVAPI_INCOMPATIBLE_STRUCT_VERSION NV_SCANOUT_WARPING_DATA structure version mismatch.\n//! \\retval ::NVAPI_OK Feature enabled.\n//! \\retval ::NVAPI_ERROR Miscellaneous error occurred.\n//!\n//! \\ingroup gpu\n///////////////////////////////////////////////////////////////////////////////\n\nNVAPI_INTERFACE NvAPI_GPU_SetScanoutWarping(NvU32 displayId, NV_SCANOUT_WARPING_DATA* scanoutWarpingData, int* piMaxNumVertices, int* pbSticky);\n\n\n//! \\ingroup gpu\ntypedef struct _NV_SCANOUT_WARPING_STATE_DATA\n{\n    NvU32  version;                                  //!< version of this structure\n    NvU32  bEnabled;                                 //!< warping is enabled or not\n} NV_SCANOUT_WARPING_STATE_DATA;\n\n//! \\ingroup gpu\n#define NV_SCANOUT_WARPING_STATE_VER    MAKE_NVAPI_VERSION(NV_SCANOUT_WARPING_STATE_DATA, 1)\n\n///////////////////////////////////////////////////////////////////////////////\n// FUNCTION NAME: NvAPI_GPU_GetScanoutWarpingState\n//\n//!   DESCRIPTION: This API queries current state of the warping feature on the specified display.\n//!\n//! SUPPORTED OS:  Windows 7 and higher\n//!\n//!\n//! \\param [in]     displayId                      combined physical display and GPU identifier of the display to query the configuration.\n//! \\param [in,out] scanoutWarpingStateData        warping state data.\n//!\n//! \\return  This API can return any of the error codes enumerated in #NvAPI_Status. If there are return error codes with \n//!          specific meaning for this API, they are listed below.\n//!\n//! \\retval ::NVAPI_INVALID_ARGUMENT Invalid input parameters.\n//! \\retval ::NVAPI_API_NOT_INITIALIZED NvAPI not initialized.\n//! \\retval ::NVAPI_NOT_SUPPORTED Interface not supported by the driver used, or only supported on selected GPUs.\n//! \\retval ::NVAPI_OK Feature enabled.\n//! \\retval ::NVAPI_ERROR Miscellaneous error occurred.\n//!\n//! \\ingroup gpu\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_GPU_GetScanoutWarpingState(__in NvU32 displayId, __inout NV_SCANOUT_WARPING_STATE_DATA* scanoutWarpingStateData);\n\ntypedef enum\n{\n    NV_GPU_SCANOUT_COMPOSITION_PARAMETER_WARPING_RESAMPLING_METHOD      = 0\n} NV_GPU_SCANOUT_COMPOSITION_PARAMETER;\n\n//! This enum defines a collection of possible scanout composition values that can be used to configure \n//! possible scanout composition settings.  (Currently the only parameter defined is the WARPING_RESAMPLING_METHOD).\ntypedef enum\n{\n    NV_GPU_SCANOUT_COMPOSITION_PARAMETER_SET_TO_DEFAULT = 0,                                  // Set parameter to default value.\n    // WARPING_RESAMPLING_METHOD section:\n    NV_GPU_SCANOUT_COMPOSITION_PARAMETER_VALUE_WARPING_RESAMPLING_METHOD_BILINEAR                       = 0x100,\n    NV_GPU_SCANOUT_COMPOSITION_PARAMETER_VALUE_WARPING_RESAMPLING_METHOD_BICUBIC_TRIANGULAR             = 0x101,\n    NV_GPU_SCANOUT_COMPOSITION_PARAMETER_VALUE_WARPING_RESAMPLING_METHOD_BICUBIC_BELL_SHAPED            = 0x102,\n    NV_GPU_SCANOUT_COMPOSITION_PARAMETER_VALUE_WARPING_RESAMPLING_METHOD_BICUBIC_BSPLINE                = 0x103,\n    NV_GPU_SCANOUT_COMPOSITION_PARAMETER_VALUE_WARPING_RESAMPLING_METHOD_BICUBIC_ADAPTIVE_TRIANGULAR    = 0x104,\n    NV_GPU_SCANOUT_COMPOSITION_PARAMETER_VALUE_WARPING_RESAMPLING_METHOD_BICUBIC_ADAPTIVE_BELL_SHAPED   = 0x105,\n    NV_GPU_SCANOUT_COMPOSITION_PARAMETER_VALUE_WARPING_RESAMPLING_METHOD_BICUBIC_ADAPTIVE_BSPLINE       = 0x106\n} NV_GPU_SCANOUT_COMPOSITION_PARAMETER_VALUE;\n\n///////////////////////////////////////////////////////////////////////////////\n// FUNCTION NAME: NvAPI_GPU_SetScanoutCompositionParameter\n//\n//!   DESCRIPTION: This API sets various parameters that configure the scanout composition feature on the specified display.\n//!                (currently there is only one configurable parameter defined: WARPING_RESAMPLING_METHOD, \n//!                 but this function is designed to support the addition of parameters as needed.)\n//!\n//! SUPPORTED OS:  Windows 7 and higher\n//!\n//!\n//! \\param [in]    displayId               Combined physical display and GPU identifier of the display to apply the intensity control\n//! \\param [in]    parameter               The scanout composition parameter to be set\n//! \\param [in]    parameterValue          The data to be set for the specified parameter\n//! \\param [in]    pContainer              Additional container for data associated with the specified parameter\n//!\n//! \\retval ::NVAPI_INVALID_ARGUMENT Invalid input parameters.\n//! \\retval ::NVAPI_API_NOT_INITIALIZED NvAPI not initialized.\n//! \\retval ::NVAPI_NOT_SUPPORTED Interface not supported by the driver used, or only supported on selected GPUs\n//! \\retval ::NVAPI_INVALID_ARGUMENT Invalid input data.\n//! \\retval ::NVAPI_OK Feature enabled.\n//! \\retval ::NVAPI_ERROR Miscellaneous error occurred.\n//!\n//! \\ingroup gpu\n///////////////////////////////////////////////////////////////////////////////\n\nNVAPI_INTERFACE NvAPI_GPU_SetScanoutCompositionParameter(NvU32 displayId, NV_GPU_SCANOUT_COMPOSITION_PARAMETER parameter, \n                                                         NV_GPU_SCANOUT_COMPOSITION_PARAMETER_VALUE parameterValue, float *pContainer);\n\n\n///////////////////////////////////////////////////////////////////////////////\n// FUNCTION NAME: NvAPI_GPU_GetScanoutCompositionParameter\n//\n//!   DESCRIPTION: This API queries current state of one of the various scanout composition parameters on the specified display.\n//!\n//! SUPPORTED OS:  Windows 7 and higher\n//!\n//!\n//! \\param [in]     displayId           combined physical display and GPU identifier of the display to query the configuration.\n//! \\param [in]     parameter           scanout composition parameter to by queried.\n//! \\param [out] parameterData          scanout composition parameter data.\n//! \\param [out]   pContainer           Additional container for returning data associated with the specified parameter\n//!\n//! \\return  This API can return any of the error codes enumerated in #NvAPI_Status. If there are return error codes with \n//!          specific meaning for this API, they are listed below.\n//!\n//! \\retval ::NVAPI_INVALID_ARGUMENT Invalid input parameters.\n//! \\retval ::NVAPI_API_NOT_INITIALIZED NvAPI not initialized.\n//! \\retval ::NVAPI_NOT_SUPPORTED Interface not supported by the driver used, or only supported on selected GPUs.\n//! \\retval ::NVAPI_OK Feature enabled.\n//! \\retval ::NVAPI_ERROR Miscellaneous error occurred.\n//!\n//! \\ingroup gpu\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_GPU_GetScanoutCompositionParameter(__in NvU32 displayId, __in NV_GPU_SCANOUT_COMPOSITION_PARAMETER parameter, \n                                                         __out NV_GPU_SCANOUT_COMPOSITION_PARAMETER_VALUE *parameterData, __out float *pContainer);\n\n\n///////////////////////////////////////////////////////////////////////////////\n// FUNCTION NAME: NvAPI_GPU_GetScanoutConfiguration\n//\n//!   DESCRIPTION: This API queries the desktop and scanout portion of the specified display.\n//!\n//! SUPPORTED OS:  Windows 7 and higher\n//!\n//!\n//! \\param [in]     displayId          combined physical display and GPU identifier of the display to query the configuration.\n//! \\param [in,out] desktopRect        desktop area of the display in desktop coordinates.\n//! \\param [in,out] scanoutRect        scanout area of the display relative to desktopRect.\n//!\n//! \\retval ::NVAPI_INVALID_ARGUMENT Invalid input parameters.\n//! \\retval ::NVAPI_API_NOT_INITIALIZED NvAPI not initialized.\n//! \\retval ::NVAPI_NOT_SUPPORTED Interface not supported by the driver used, or only supported on selected GPUs.\n//! \\retval ::NVAPI_OK Feature enabled.\n//! \\retval ::NVAPI_ERROR Miscellaneous error occurred.\n//!\n//! \\ingroup gpu\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_GPU_GetScanoutConfiguration(NvU32 displayId, NvSBox* desktopRect, NvSBox* scanoutRect);\n\n\n\n//! \\ingroup gpu\n//! Used in NvAPI_GPU_GetScanoutConfigurationEx().\ntypedef struct _NV_SCANOUT_INFORMATION\n{\n    NvU32      version;                 //!< Structure version, needs to be initialized with NV_SCANOUT_INFORMATION_VER.\n\n    NvSBox     sourceDesktopRect;       //!< Operating system display device rect in desktop coordinates displayId is scanning out from.\n    NvSBox     sourceViewportRect;      //!< Area inside the sourceDesktopRect which is scanned out to the display.\n    NvSBox     targetViewportRect;      //!< Area inside the rect described by targetDisplayWidth/Height sourceViewportRect is scanned out to.\n    NvU32      targetDisplayWidth;      //!< Horizontal size of the active resolution scanned out to the display.\n    NvU32      targetDisplayHeight;     //!< Vertical size of the active resolution scanned out to the display.\n    NvU32      cloneImportance;         //!< If targets are cloned views of the sourceDesktopRect the cloned targets have an importance assigned (0:primary,1 secondary,...).\n    NV_ROTATE  sourceToTargetRotation;  //!< Rotation performed between the sourceViewportRect and the targetViewportRect.\n} NV_SCANOUT_INFORMATION;\n\n#define NV_SCANOUT_INFORMATION_VER  MAKE_NVAPI_VERSION(NV_SCANOUT_INFORMATION,1)\n\n///////////////////////////////////////////////////////////////////////////////\n// FUNCTION NAME: NvAPI_GPU_GetScanoutConfigurationEx\n//\n//!   DESCRIPTION: This API queries the desktop and scanout portion of the specified display.\n//!\n//! SUPPORTED OS:  Windows 7 and higher\n//!\n//! \\since Release: 331\n//!\n//! \\param [in]     displayId            combined physical display and GPU identifier of the display to query the configuration.\n//! \\param [in,out] pScanoutInformation  desktop area to displayId mapping information.\n//!\n//! \\return This API can return any of the error codes enumerated in #NvAPI_Status. \n//!\n//! \\ingroup gpu\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_GPU_GetScanoutConfigurationEx(__in NvU32 displayId, __inout NV_SCANOUT_INFORMATION *pScanoutInformation);\n\n//! Used in NvAPI_GPU_GetPerfDecreaseInfo.\n//! Bit masks for knowing the exact reason for performance decrease\ntypedef enum _NVAPI_GPU_PERF_DECREASE\n{\n    NV_GPU_PERF_DECREASE_NONE                        = 0,          //!< No Slowdown detected\n    NV_GPU_PERF_DECREASE_REASON_THERMAL_PROTECTION   = 0x00000001, //!< Thermal slowdown/shutdown/POR thermal protection\n    NV_GPU_PERF_DECREASE_REASON_POWER_CONTROL        = 0x00000002, //!< Power capping / pstate cap \n    NV_GPU_PERF_DECREASE_REASON_AC_BATT              = 0x00000004, //!< AC->BATT event\n    NV_GPU_PERF_DECREASE_REASON_API_TRIGGERED        = 0x00000008, //!< API triggered slowdown\n    NV_GPU_PERF_DECREASE_REASON_INSUFFICIENT_POWER   = 0x00000010, //!< Power connector missing\n    NV_GPU_PERF_DECREASE_REASON_UNKNOWN              = 0x80000000, //!< Unknown reason\n} NVAPI_GPU_PERF_DECREASE;\n\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_GPU_GetPerfDecreaseInfo\n//\n//! DESCRIPTION:   This function retrieves - in NvU32 variable - reasons for the current performance decrease.\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//! \\param [in]      hPhysicalGPU    (IN)    - GPU for which performance decrease is to be evaluated.\n//! \\param [out]  pPerfDecrInfo    (OUT)    - Pointer to a NvU32 variable containing performance decrease info\n//!\n//! \\return      This API can return any of the error codes enumerated in #NvAPI_Status. \n//!\n//! \\ingroup gpu\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_GPU_GetPerfDecreaseInfo(__in NvPhysicalGpuHandle hPhysicalGpu, __inout NvU32 *pPerfDecrInfo);\n\n//! \\ingroup gpu\ntypedef enum _NV_GPU_ILLUMINATION_ATTRIB\n{\n    NV_GPU_IA_LOGO_BRIGHTNESS  = 0,\n    NV_GPU_IA_SLI_BRIGHTNESS   = 1,\n} NV_GPU_ILLUMINATION_ATTRIB;\n\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_GPU_QueryIlluminationSupport\n//\n//! \\fn NvAPI_GPU_QueryIlluminationSupport(__inout  NV_GPU_QUERY_ILLUMINATION_SUPPORT_PARM *pIlluminationSupportInfo)\n//! DESCRIPTION:   This function reports if the specified illumination attribute is supported.\n//!\n//! \\note Only a single GPU can manage an given attribute on a given HW element,\n//!       regardless of how many are attatched. I.E. only one GPU will be used to control\n//!       the brightness of the LED on an SLI bridge, regardless of how many are physicaly attached.\n//!       You should enumerate thru the GPUs with this call to determine which GPU is managing the attribute.\n//!\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n//! \\since Version: 300.05\n//!\n//! \\param [in]  hPhysicalGpu        Physical GPU handle\n//! \\param       Attribute           An enumeration value specifying the Illumination attribute to be querried\n//! \\param [out] pSupported          A boolean indicating if the attribute is supported.\n//! \n//! \\return See \\ref nvapistatus for the list of possible return values.\n//\n//////////////////////////////////////////////////////////////////////////////\n\n//! \\ingroup gpu                 \ntypedef struct _NV_GPU_QUERY_ILLUMINATION_SUPPORT_PARM_V1 {\n\n    // IN\n    NvU32   version;\t\t\t\t\t\t//!< Version of this structure\n    NvPhysicalGpuHandle hPhysicalGpu;\t\t//!< The handle of the GPU that you are checking for the specified attribute.\n                                            //!< note that this is the GPU that is managing the attribute.\n                                            //!< Only a single GPU can manage an given attribute on a given HW element,\n                                            //!< regardless of how many are attatched.\n                                            //!< I.E. only one GPU will be used to control the brightness of the LED on an SLI bridge,\n                                            //!< regardless of how many are physicaly attached.\n                                            //!< You enumerate thru the GPUs with this call to determine which GPU is managing the attribute.\n    NV_GPU_ILLUMINATION_ATTRIB Attribute;   //!< An enumeration value specifying the Illumination attribute to be querried.\n                                            //!<     refer to enum \\ref NV_GPU_ILLUMINATION_ATTRIB.\n    \n    // OUT\n    NvU32    bSupported;                    //!< A boolean indicating if the attribute is supported.\n                                    \n} NV_GPU_QUERY_ILLUMINATION_SUPPORT_PARM_V1;\n\n//! \\ingroup gpu \ntypedef NV_GPU_QUERY_ILLUMINATION_SUPPORT_PARM_V1      NV_GPU_QUERY_ILLUMINATION_SUPPORT_PARM;\n//! \\ingroup gpu \n#define NV_GPU_QUERY_ILLUMINATION_SUPPORT_PARM_VER_1   MAKE_NVAPI_VERSION(NV_GPU_QUERY_ILLUMINATION_SUPPORT_PARM_V1,1)\n//! \\ingroup gpu \n#define NV_GPU_QUERY_ILLUMINATION_SUPPORT_PARM_VER     NV_GPU_QUERY_ILLUMINATION_SUPPORT_PARM_VER_1\n\n//! \\ingroup gpu \nNVAPI_INTERFACE NvAPI_GPU_QueryIlluminationSupport(__inout NV_GPU_QUERY_ILLUMINATION_SUPPORT_PARM *pIlluminationSupportInfo);\n\n\n\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_GPU_GetIllumination\n//\n//! \\fn NvAPI_GPU_GetIllumination(NV_GPU_GET_ILLUMINATION_PARM *pIlluminationInfo)\n//! DESCRIPTION:   This function reports value of the specified illumination attribute.\n//!\n//! \\note Only a single GPU can manage an given attribute on a given HW element,\n//!       regardless of how many are attatched. I.E. only one GPU will be used to control\n//!       the brightness of the LED on an SLI bridge, regardless of how many are physicaly attached.\n//!       You should enumerate thru the GPUs with the \\ref NvAPI_GPU_QueryIlluminationSupport call to\n//!       determine which GPU is managing the attribute.\n//!\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n//! \\since Version: 300.05\n//!\n//! \\param [in]  hPhysicalGpu        Physical GPU handle\n//! \\param       Attribute           An enumeration value specifying the Illumination attribute to be querried\n//! \\param [out] Value               A DWORD containing the current value for the specified attribute.\n//!                                  This is specified as a percentage of the full range of the attribute\n//!                                  (0-100; 0 = off, 100 = full brightness)\n//! \n//! \\return See \\ref nvapistatus for the list of possible return values. Return values of special interest are:\n//!             NVAPI_INVALID_ARGUMENT The specified attibute is not known to the driver.\n//!             NVAPI_NOT_SUPPORTED:   The specified attribute is not supported on the specified GPU\n//\n//////////////////////////////////////////////////////////////////////////////\n\n//! \\ingroup gpu                 \ntypedef struct _NV_GPU_GET_ILLUMINATION_PARM_V1 {\n\n    // IN\n    NvU32   version;\t\t\t\t\t\t//!< Version of this structure\n    NvPhysicalGpuHandle hPhysicalGpu;\t\t//!< The handle of the GPU that you are checking for the specified attribute.\n                                            //!< Note that this is the GPU that is managing the attribute.\n                                            //!< Only a single GPU can manage an given attribute on a given HW element,\n                                            //!< regardless of how many are attatched.\n                                            //!< I.E. only one GPU will be used to control the brightness of the LED on an SLI bridge,\n                                            //!< regardless of how many are physicaly attached.\n                                            //!< You enumerate thru the GPUs with this call to determine which GPU is managing the attribute.\n    NV_GPU_ILLUMINATION_ATTRIB Attribute;   //!< An enumeration value specifying the Illumination attribute to be querried.\n                                            //!< refer to enum \\ref NV_GPU_ILLUMINATION_ATTRIB.\n    \n    // OUT\n    NvU32    Value;                         //!< A DWORD that will contain the current value of the specified attribute.\n                                            //! This is specified as a percentage of the full range of the attribute\n                                            //! (0-100; 0 = off, 100 = full brightness)\n                                    \n} NV_GPU_GET_ILLUMINATION_PARM_V1;\n\n//! \\ingroup gpu \ntypedef NV_GPU_GET_ILLUMINATION_PARM_V1      NV_GPU_GET_ILLUMINATION_PARM;\n//! \\ingroup gpu \n#define NV_GPU_GET_ILLUMINATION_PARM_VER_1   MAKE_NVAPI_VERSION(NV_GPU_GET_ILLUMINATION_PARM_V1,1)\n//! \\ingroup gpu \n#define NV_GPU_GET_ILLUMINATION_PARM_VER     NV_GPU_GET_ILLUMINATION_PARM_VER_1\n\n//! \\ingroup gpu \nNVAPI_INTERFACE NvAPI_GPU_GetIllumination(NV_GPU_GET_ILLUMINATION_PARM *pIlluminationInfo);\n\n\n\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_GPU_SetIllumination\n//\n//! \\fn NvAPI_GPU_SetIllumination(NV_GPU_SET_ILLUMINATION_PARM *pIlluminationInfo)\n//! DESCRIPTION:   This function sets the value of the specified illumination attribute.\n//!\n//! \\note Only a single GPU can manage an given attribute on a given HW element,\n//!       regardless of how many are attatched. I.E. only one GPU will be used to control\n//!       the brightness of the LED on an SLI bridge, regardless of how many are physicaly attached.\n//!       You should enumerate thru the GPUs with the \\ref NvAPI_GPU_QueryIlluminationSupport call to\n//!       determine which GPU is managing the attribute.\n//!\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n//! \\since Version: 300.05\n//!\n//! \\param [in]  hPhysicalGpu        Physical GPU handle\n//! \\param       Attribute           An enumeration value specifying the Illumination attribute to be set\n//! \\param       Value               The new value for the specified attribute.\n//!                                  This should be specified as a percentage of the full range of the attribute\n//!                                  (0-100; 0 = off, 100 = full brightness)\n//!                                  If a value is specified outside this range, NVAPI_INVALID_ARGUMENT will be returned.\n//! \n//! \\return See \\ref nvapistatus for the list of possible return values. Return values of special interest are:\n//!             NVAPI_INVALID_ARGUMENT\tThe specified attibute is not known to the driver, or the specified value is out of range.\n//!             NVAPI_NOT_SUPPORTED     The specified attribute is not supported on the specified GPU.\n//\n///////////////////////////////////////////////////////////////////////////////\n\n//! \\ingroup gpu                \ntypedef struct _NV_GPU_SET_ILLUMINATION_PARM_V1 {\n\n    // IN\n    NvU32   version;\t\t\t\t\t\t//!< Version of this structure\n    NvPhysicalGpuHandle hPhysicalGpu;\t\t//!< The handle of the GPU that you are checking for the specified attribute.\n                                            //!< Note that this is the GPU that is managing the attribute.\n                                            //!< Only a single GPU can manage an given attribute on a given HW element,\n                                            //!< regardless of how many are attatched.\n                                            //!< I.E. only one GPU will be used to control the brightness of the LED on an SLI bridge,\n                                            //!< regardless of how many are physicaly attached.\n                                            //!< You enumerate thru the GPUs with this call to determine which GPU is managing the attribute.\n    NV_GPU_ILLUMINATION_ATTRIB Attribute;   //!< An enumeration value specifying the Illumination attribute to be querried.\n                                            //!< refer to enum \\ref NV_GPU_ILLUMINATION_ATTRIB.\n    NvU32    Value;                         //!< A DWORD containing the new value for the specified attribute.\n                                            //!< This should be specified as a percentage of the full range of the attribute\n                                            //!< (0-100; 0 = off, 100 = full brightness)\n                                            //!< If a value is specified outside this range, NVAPI_INVALID_ARGUMENT will be returned.\n    \n    // OUT\n                                    \n} NV_GPU_SET_ILLUMINATION_PARM_V1;\n\n//! \\ingroup gpu \ntypedef NV_GPU_SET_ILLUMINATION_PARM_V1      NV_GPU_SET_ILLUMINATION_PARM;\n//! \\ingroup gpu \n#define NV_GPU_SET_ILLUMINATION_PARM_VER_1   MAKE_NVAPI_VERSION(NV_GPU_SET_ILLUMINATION_PARM_V1,1)\n//! \\ingroup gpu \n#define NV_GPU_SET_ILLUMINATION_PARM_VER     NV_GPU_SET_ILLUMINATION_PARM_VER_1\n\n//! \\ingroup gpu \nNVAPI_INTERFACE NvAPI_GPU_SetIllumination(NV_GPU_SET_ILLUMINATION_PARM *pIlluminationInfo);\n\n\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_EnumNvidiaDisplayHandle\n//\n//! This function returns the handle of the NVIDIA display specified by the enum \n//!                index (thisEnum). The client should keep enumerating until it\n//!                returns NVAPI_END_ENUMERATION.\n//!\n//!                Note: Display handles can get invalidated on a modeset, so the calling applications need to\n//!                renum the handles after every modeset.\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\since Release: 80\n//!\n//! \\param [in]  thisEnum      The index of the NVIDIA display.   \n//! \\param [out] pNvDispHandle Pointer to the NVIDIA display handle.\n//!\n//! \\retval NVAPI_INVALID_ARGUMENT        Either the handle pointer is NULL or enum index too big\n//! \\retval NVAPI_OK                      Return a valid NvDisplayHandle based on the enum index\n//! \\retval NVAPI_NVIDIA_DEVICE_NOT_FOUND No NVIDIA device found in the system\n//! \\retval NVAPI_END_ENUMERATION         No more display device to enumerate\n//! \\ingroup disphandle\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_EnumNvidiaDisplayHandle(NvU32 thisEnum, NvDisplayHandle *pNvDispHandle);\n\n\n\n\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_EnumNvidiaUnAttachedDisplayHandle\n//\n//! This function returns the handle of the NVIDIA unattached display specified by the enum \n//!                index (thisEnum). The client should keep enumerating until it\n//!                returns error.\n//!                Note: Display handles can get invalidated on a modeset, so the calling applications need to\n//!                renum the handles after every modeset.\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\since Release: 80\n//!\n//! \\param [in]  thisEnum                  The index of the NVIDIA display.\n//! \\param [out] pNvUnAttachedDispHandle   Pointer to the NVIDIA display handle of the unattached display.\n//!\n//! \\retval NVAPI_INVALID_ARGUMENT         Either the handle pointer is NULL or enum index too big\n//! \\retval NVAPI_OK                       Return a valid NvDisplayHandle based on the enum index\n//! \\retval NVAPI_NVIDIA_DEVICE_NOT_FOUND  No NVIDIA device found in the system\n//! \\retval NVAPI_END_ENUMERATION          No more display device to enumerate.\n//! \\ingroup disphandle\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_EnumNvidiaUnAttachedDisplayHandle(NvU32 thisEnum, NvUnAttachedDisplayHandle *pNvUnAttachedDispHandle);\n\n\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_CreateDisplayFromUnAttachedDisplay\n//\n//! This function converts the unattached display handle to an active attached display handle.\n//!\n//! At least one GPU must be present in the system and running an NVIDIA display driver.\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\since Release: 80\n//!\n//! \\retval NVAPI_INVALID_ARGUMENT         hNvUnAttachedDisp is not valid or pNvDisplay is NULL.\n//! \\retval NVAPI_OK                       One or more handles were returned\n//! \\retval NVAPI_NVIDIA_DEVICE_NOT_FOUND  No NVIDIA GPU driving a display was found\n//! \\ingroup dispcontrol\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_CreateDisplayFromUnAttachedDisplay(NvUnAttachedDisplayHandle hNvUnAttachedDisp, NvDisplayHandle *pNvDisplay);\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_GetAssociatedNVidiaDisplayHandle\n//\n//!  This function returns the handle of the NVIDIA display that is associated\n//!  with the given display \"name\" (such as \"\\\\.\\DISPLAY1\").\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\since Release: 80\n//!\n//! \\retval NVAPI_INVALID_ARGUMENT         Either argument is NULL\n//! \\retval NVAPI_OK                      *pNvDispHandle is now valid\n//! \\retval NVAPI_NVIDIA_DEVICE_NOT_FOUND  No NVIDIA device maps to that display name\n//! \\ingroup disphandle\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_GetAssociatedNvidiaDisplayHandle(const char *szDisplayName, NvDisplayHandle *pNvDispHandle);\n\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_DISP_GetAssociatedUnAttachedNvidiaDisplayHandle\n//\n//!   DESCRIPTION: This function returns the handle of an unattached NVIDIA display that is \n//!                associated with the given display name (such as \"\\\\DISPLAY1\"). \n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\since Release: 185\n//!\n//! \\retval ::NVAPI_INVALID_ARGUMENT          Either argument is NULL.\n//! \\retval ::NVAPI_OK                       *pNvUnAttachedDispHandle is now valid.\n//! \\retval ::NVAPI_NVIDIA_DEVICE_NOT_FOUND   No NVIDIA device maps to that display name.\n//!\n//! \\ingroup disphandle\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_DISP_GetAssociatedUnAttachedNvidiaDisplayHandle(const char *szDisplayName, NvUnAttachedDisplayHandle *pNvUnAttachedDispHandle);\n\n\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_GetAssociatedNVidiaDisplayName\n//\n//!  For a given NVIDIA display handle, this function returns a string (such as \"\\\\.\\DISPLAY1\") to identify the display.\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\since Release: 80\n//!\n//! \\retval NVAPI_INVALID_ARGUMENT          Either argument is NULL\n//! \\retval NVAPI_OK                       *pNvDispHandle is now valid\n//! \\retval NVAPI_NVIDIA_DEVICE_NOT_FOUND   No NVIDIA device maps to that display name\n//! \\ingroup dispcontrol\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_GetAssociatedNvidiaDisplayName(NvDisplayHandle NvDispHandle, NvAPI_ShortString szDisplayName);\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_GetUnAttachedAssociatedDisplayName\n//\n//!  This function returns the display name given, for example, \"\\\\DISPLAY1\", using the unattached NVIDIA display handle\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\since Release: 95\n//!\n//! \\retval NVAPI_INVALID_ARGUMENT          Either argument is NULL\n//! \\retval NVAPI_OK                       *pNvDispHandle is now valid\n//! \\retval NVAPI_NVIDIA_DEVICE_NOT_FOUND   No NVIDIA device maps to that display name\n//! \\ingroup dispcontrol\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_GetUnAttachedAssociatedDisplayName(NvUnAttachedDisplayHandle hNvUnAttachedDisp, NvAPI_ShortString szDisplayName);\n\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_EnableHWCursor\n//\n//!  This function enables hardware cursor support\n//!\n//! SUPPORTED OS:  Windows XP\n//!\n//!  \n//!\n//! \\since Release: 80\n//!\n//! \\return NVAPI_ERROR or NVAPI_OK\n//! \\ingroup dispcontrol\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_EnableHWCursor(NvDisplayHandle hNvDisplay);\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_DisableHWCursor\n//\n//! This function disables hardware cursor support\n//!\n//! SUPPORTED OS:  Windows XP\n//!\n//!\n//! \\since Release: 80\n//!\n//! \\return  NVAPI_ERROR or NVAPI_OK\n//! \\ingroup dispcontrol\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_DisableHWCursor(NvDisplayHandle hNvDisplay);\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_GetVBlankCounter\n//\n//!  This function gets the V-blank counter\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\since Release: 80\n//!\n//! \\return NVAPI_ERROR or NVAPI_OK\n//! \\ingroup dispcontrol\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_GetVBlankCounter(NvDisplayHandle hNvDisplay, NvU32 *pCounter);\n\n///////////////////////////////////////////////////////////////////////////////\n// FUNCTION NAME:  NvAPI_SetRefreshRateOverride\n//\n//!  This function overrides the refresh rate on the given display/outputsMask.\n//!  The new refresh rate can be applied right away in this API call or deferred to be applied with the\n//!  next OS modeset. The override is good for only one modeset (regardless whether it's deferred or immediate).\n//!               \n//!\n//! SUPPORTED OS:  Windows XP\n//!\n//!\n//! \\since Release: 80\n//!\n//!  \\param [in] hNvDisplay    The NVIDIA display handle. It can be NVAPI_DEFAULT_HANDLE or a handle\n//!                           enumerated from NvAPI_EnumNVidiaDisplayHandle().\n//!  \\param [in] outputsMask  A set of bits that identify all target outputs which are associated with the NVIDIA \n//!                           display handle to apply the refresh rate override. When SLI is enabled, the\n//!                           outputsMask only applies to the GPU that is driving the display output.\n//!  \\param [in] refreshRate  The override value. \"0.0\" means cancel the override.\n//!  \\param [in] bSetDeferred \n//!              - \"0\": Apply the refresh rate override immediately in this API call.\\p\n//!              - \"1\": Apply refresh rate at the next OS modeset.\n//!\n//!  \\retval  NVAPI_INVALID_ARGUMENT hNvDisplay or outputsMask is invalid\n//!  \\retval  NVAPI_OK               The refresh rate override is correct set\n//!  \\retval  NVAPI_ERROR            The operation failed\n//!  \\ingroup dispcontrol\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_SetRefreshRateOverride(NvDisplayHandle hNvDisplay, NvU32 outputsMask, float refreshRate, NvU32 bSetDeferred);\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_GetAssociatedDisplayOutputId\n//\n//! This function gets the active outputId associated with the display handle.\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\since Release: 90\n//!\n//! \\param [in]  hNvDisplay  NVIDIA Display selection. It can be NVAPI_DEFAULT_HANDLE or a handle enumerated from NvAPI_EnumNVidiaDisplayHandle().\n//! \\param [out] outputId    The active display output ID associated with the selected display handle hNvDisplay.\n//!                          The outputid will have only one bit set. In the case of Clone or Span mode, this will indicate the\n//!                          display outputId of the primary display that the GPU is driving. See \\ref handles.\n//!\n//! \\retval  NVAPI_OK                      Call successful.\n//! \\retval  NVAPI_NVIDIA_DEVICE_NOT_FOUND No NVIDIA GPU driving a display was found.\n//! \\retval  NVAPI_EXPECTED_DISPLAY_HANDLE hNvDisplay is not a valid display handle.\n//! \\ingroup dispcontrol\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_GetAssociatedDisplayOutputId(NvDisplayHandle hNvDisplay, NvU32 *pOutputId);\n\n\n//! \\ingroup dispcontrol\n//! Used in NvAPI_GetDisplayPortInfo().\ntypedef struct _NV_DISPLAY_PORT_INFO_V1\n{\n    NvU32               version;                                  //!< Structure version\n    NvU32               dpcd_ver;                                 //!< DPCD version of the monitor\n    NV_DP_LINK_RATE     maxLinkRate;                              //!< Maximum supported link rate\n    NV_DP_LANE_COUNT    maxLaneCount;                             //!< Maximum supported lane count\n    NV_DP_LINK_RATE     curLinkRate;                              //!< Current link rate\n    NV_DP_LANE_COUNT    curLaneCount;                             //!< Current lane count\n    NV_DP_COLOR_FORMAT  colorFormat;                              //!< Current color format\n    NV_DP_DYNAMIC_RANGE dynamicRange;                             //!< Dynamic range\n    NV_DP_COLORIMETRY   colorimetry;                              //!< Ignored in RGB space\n    NV_DP_BPC           bpc;                                      //!< Current bit-per-component\n    NvU32               isDp                                : 1;  //!< If the monitor is driven by a DisplayPort \n    NvU32               isInternalDp                        : 1;  //!< If the monitor is driven by an NV Dp transmitter\n    NvU32               isColorCtrlSupported                : 1;  //!< If the color format change is supported\n    NvU32               is6BPCSupported                     : 1;  //!< If 6 bpc is supported\n    NvU32               is8BPCSupported                     : 1;  //!< If 8 bpc is supported    \n    NvU32               is10BPCSupported                    : 1;  //!< If 10 bpc is supported\n    NvU32               is12BPCSupported                    : 1;  //!< If 12 bpc is supported        \n    NvU32               is16BPCSupported                    : 1;  //!< If 16 bpc is supported\n    NvU32               isYCrCb422Supported                 : 1;  //!< If YCrCb422 is supported                                                  \n    NvU32               isYCrCb444Supported                 : 1;  //!< If YCrCb444 is supported\n    NvU32               isRgb444SupportedOnCurrentMode      : 1;  //!< If Rgb444 is supported on the current mode\n    NvU32               isYCbCr444SupportedOnCurrentMode    : 1;  //!< If YCbCr444 is supported on the current mode\n    NvU32               isYCbCr422SupportedOnCurrentMode    : 1;  //!< If YCbCr422 is support on the current mode\n    NvU32               is6BPCSupportedOnCurrentMode        : 1;  // if 6 bpc is supported On Current Mode\n    NvU32               is8BPCSupportedOnCurrentMode        : 1;  // if 8 bpc is supported On Current Mode\n    NvU32               is10BPCSupportedOnCurrentMode       : 1;  // if 10 bpc is supported On Current Mode\n    NvU32               is12BPCSupportedOnCurrentMode       : 1;  // if 12 bpc is supported On Current Mode\n    NvU32               is16BPCSupportedOnCurrentMode       : 1;  // if 16 bpc is supported On Current Mode\n    NvU32               isMonxvYCC601Capable                : 1;  // if xvYCC 601 extended colorimetry is supported\n    NvU32               isMonxvYCC709Capable                : 1;  // if xvYCC 709 extended colorimetry is supported\n    NvU32               isMonsYCC601Capable                 : 1;  // if sYCC601 extended colorimetry is supported\n    NvU32               isMonAdobeYCC601Capable             : 1;  // if AdobeYCC601 extended colorimetry is supported\n    NvU32               isMonAdobeRGBCapable                : 1;  // if AdobeRGB extended colorimetry is supported\n    NvU32               isMonBT2020RGBCapable               : 1;  // if BT2020 RGB extended colorimetry is supported\n    NvU32               isMonBT2020YCCCapable               : 1;  // if BT2020 Y'CbCr extended colorimetry is supported\n    NvU32               isMonBT2020cYCCCapable              : 1;  // if BT2020 cYCbCr (constant luminance) extended colorimetry is supported\n    \n    NvU32               reserved                            : 6;  //!< reserved  \n } NV_DISPLAY_PORT_INFO_V1; \n\n typedef NV_DISPLAY_PORT_INFO_V1 NV_DISPLAY_PORT_INFO;\n\n//! Macro for constructing the version field of NV_DISPLAY_PORT_INFO.\n#define NV_DISPLAY_PORT_INFO_VER1  MAKE_NVAPI_VERSION(NV_DISPLAY_PORT_INFO,1)\n#define NV_DISPLAY_PORT_INFO_VER2  MAKE_NVAPI_VERSION(NV_DISPLAY_PORT_INFO,2)\n#define NV_DISPLAY_PORT_INFO_VER   NV_DISPLAY_PORT_INFO_VER2\n\n///////////////////////////////////////////////////////////////////////////////\n// FUNCTION NAME:   NvAPI_GetDisplayPortInfo\n//\n//! \\fn NvAPI_GetDisplayPortInfo(__in_opt NvDisplayHandle hNvDisplay, __in NvU32 outputId, __inout NV_DISPLAY_PORT_INFO *pInfo)\n//! DESCRIPTION:     This function returns the current DisplayPort-related information on the specified device (monitor).\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\since Release: 165\n//!\n//! \\param [in]     hvDisplay     NVIDIA Display selection. It can be NVAPI_DEFAULT_HANDLE or a handle enumerated from NvAPI_EnumNVidiaDisplayHandle().\n//!                               This parameter is ignored when the outputId is a NvAPI displayId.\n//! \\param [in]     outputId      This can either be the connection bit mask or the NvAPI displayId. When the legacy connection bit mask is passed, \n//!                               it should have exactly 1 bit set to indicate a single display. If it's \"0\" then the default outputId from \n//!                               NvAPI_GetAssociatedDisplayOutputId() will be used. See \\ref handles.\n//! \\param [out]    pInfo         The DisplayPort information\n//!\n//! \\retval         NVAPI_OK                Completed request\n//! \\retval         NVAPI_ERROR             Miscellaneous error occurred\n//! \\retval         NVAPI_INVALID_ARGUMENT  Invalid input parameter.\n//\n///////////////////////////////////////////////////////////////////////////////\n//! \\ingroup        dispcontrol\nNVAPI_INTERFACE NvAPI_GetDisplayPortInfo(__in_opt NvDisplayHandle hNvDisplay, __in NvU32 outputId, __inout NV_DISPLAY_PORT_INFO *pInfo);\n\n///////////////////////////////////////////////////////////////////////////////\n// FUNCTION NAME:   NvAPI_SetDisplayPort\n//\n//! \\fn NvAPI_SetDisplayPort(NvDisplayHandle hNvDisplay, NvU32 outputId, NV_DISPLAY_PORT_CONFIG *pCfg)\n//! DESCRIPTION:     This function sets up DisplayPort-related configurations.\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\since Release:   165\n//!\n//! \\param [in]       hNvDisplay  NVIDIA display handle. It can be NVAPI_DEFAULT_HANDLE or a handle enumerated from\n//!                               NvAPI_EnumNVidiaDisplayHandle().\n//! \\param [in]       outputId    This display output ID, when it's \"0\" it means the default outputId generated from the return of\n//!                               NvAPI_GetAssociatedDisplayOutputId(). See \\ref handles.\n//! \\param [in]       pCfg        The display port config structure. If pCfg is NULL, it means to use the driver's default value to setup.\n//!\n//! \\retval           NVAPI_OK                Completed request\n//! \\retval           NVAPI_ERROR             Miscellaneous error occurred\n//! \\retval           NVAPI_INVALID_ARGUMENT  Invalid input parameter\n///////////////////////////////////////////////////////////////////////////////\n\n\n//! \\ingroup dispcontrol\n//! DisplayPort configuration settings - used in NvAPI_SetDisplayPort().\ntypedef struct\n{\n    NvU32               version;                     //!< Structure version - 2 is the latest\n    NV_DP_LINK_RATE     linkRate;                    //!< Link rate\n    NV_DP_LANE_COUNT    laneCount;                   //!< Lane count\n    NV_DP_COLOR_FORMAT  colorFormat;                 //!< Color format to set\n    NV_DP_DYNAMIC_RANGE dynamicRange;                //!< Dynamic range\n    NV_DP_COLORIMETRY   colorimetry;                 //!< Ignored in RGB space\n    NV_DP_BPC           bpc;                         //!< Bit-per-component\n    NvU32               isHPD               : 1;     //!< If the control panel is making this call due to HPD\n    NvU32               isSetDeferred       : 1;     //!< Requires an OS modeset to finalize the setup if set\n    NvU32               isChromaLpfOff      : 1;     //!< Force the chroma low_pass_filter to be off\n    NvU32               isDitherOff         : 1;     //!< Force to turn off dither\n    NvU32               testLinkTrain       : 1;     //!< If testing mode, skip validation\n    NvU32               testColorChange     : 1;     //!< If testing mode, skip validation\n\n} NV_DISPLAY_PORT_CONFIG;\n\n//! \\addtogroup dispcontrol\n//! @{\n//! Macro for constructing the version field of NV_DISPLAY_PORT_CONFIG\n#define NV_DISPLAY_PORT_CONFIG_VER   MAKE_NVAPI_VERSION(NV_DISPLAY_PORT_CONFIG,2)\n//! Macro for constructing the version field of NV_DISPLAY_PORT_CONFIG\n#define NV_DISPLAY_PORT_CONFIG_VER_1 MAKE_NVAPI_VERSION(NV_DISPLAY_PORT_CONFIG,1)\n//! Macro for constructing the version field of NV_DISPLAY_PORT_CONFIG\n#define NV_DISPLAY_PORT_CONFIG_VER_2 MAKE_NVAPI_VERSION(NV_DISPLAY_PORT_CONFIG,2)\n//! @}\n\n\n//! \\ingroup          dispcontrol\nNVAPI_INTERFACE NvAPI_SetDisplayPort(NvDisplayHandle hNvDisplay, NvU32 outputId, NV_DISPLAY_PORT_CONFIG *pCfg);\n\n\n\n\n//! \\ingroup dispcontrol\n//! Used in NvAPI_GetHDMISupportInfo().\ntypedef struct _NV_HDMI_SUPPORT_INFO_V1\n{\n    NvU32      version;                     //!< Structure version\n\n    NvU32      isGpuHDMICapable       : 1;  //!< If the GPU can handle HDMI\n    NvU32      isMonUnderscanCapable  : 1;  //!< If the monitor supports underscan\n    NvU32      isMonBasicAudioCapable : 1;  //!< If the monitor supports basic audio\n    NvU32      isMonYCbCr444Capable   : 1;  //!< If YCbCr 4:4:4 is supported\n    NvU32      isMonYCbCr422Capable   : 1;  //!< If YCbCr 4:2:2 is supported\n    NvU32      isMonxvYCC601Capable   : 1;  //!< If xvYCC 601 is supported\n    NvU32      isMonxvYCC709Capable   : 1;  //!< If xvYCC 709 is supported\n    NvU32      isMonHDMI              : 1;  //!< If the monitor is HDMI (with IEEE's HDMI registry ID)\n    NvU32      reserved               : 24; //!< Reserved. \n\n    NvU32      EDID861ExtRev;               //!< Revision number of the EDID 861 extension\n } NV_HDMI_SUPPORT_INFO_V1; \n\ntypedef struct _NV_HDMI_SUPPORT_INFO_V2\n{\n    NvU32      version;                      //!< Structure version\n\n    NvU32      isGpuHDMICapable        : 1;  //!< If the GPU can handle HDMI\n    NvU32      isMonUnderscanCapable   : 1;  //!< If the monitor supports underscan\n    NvU32      isMonBasicAudioCapable  : 1;  //!< If the monitor supports basic audio\n    NvU32      isMonYCbCr444Capable    : 1;  //!< If YCbCr 4:4:4 is supported\n    NvU32      isMonYCbCr422Capable    : 1;  //!< If YCbCr 4:2:2 is supported\n    NvU32      isMonxvYCC601Capable    : 1;  //!< If xvYCC extended colorimetry 601 is supported\n    NvU32      isMonxvYCC709Capable    : 1;  //!< If xvYCC extended colorimetry 709 is supported\n    NvU32      isMonHDMI               : 1;  //!< If the monitor is HDMI (with IEEE's HDMI registry ID)\n    NvU32      isMonsYCC601Capable     : 1;  //!< if sYCC601 extended colorimetry is supported\n    NvU32      isMonAdobeYCC601Capable : 1;  //!< if AdobeYCC601 extended colorimetry is supported\n    NvU32      isMonAdobeRGBCapable    : 1;  //!< if AdobeRGB extended colorimetry is supported\n    NvU32      reserved                : 21; //!< Reserved. \n\n    NvU32      EDID861ExtRev;                //!< Revision number of the EDID 861 extension\n } NV_HDMI_SUPPORT_INFO_V2; \n\n#define NV_HDMI_SUPPORT_INFO_VER1  MAKE_NVAPI_VERSION(NV_HDMI_SUPPORT_INFO_V1, 1)\n#define NV_HDMI_SUPPORT_INFO_VER2  MAKE_NVAPI_VERSION(NV_HDMI_SUPPORT_INFO_V2, 2)\n\n\n\n#ifndef NV_HDMI_SUPPORT_INFO_VER\n\ntypedef NV_HDMI_SUPPORT_INFO_V2    NV_HDMI_SUPPORT_INFO;\n#define NV_HDMI_SUPPORT_INFO_VER   NV_HDMI_SUPPORT_INFO_VER2\n\n#endif\n\n\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n///////////////////////////////////////////////////////////////////////////////\n// FUNCTION NAME:   NvAPI_GetHDMISupportInfo\n//\n//! \\fn NvAPI_GetHDMISupportInfo(__in_opt NvDisplayHandle hNvDisplay, __in NvU32 outputId, __inout NV_HDMI_SUPPORT_INFO *pInfo)\n//!   This API returns the current infoframe data on the specified device(monitor).\n//!\n//! \\since Release: 95\n//!\n//! \\param [in]  hvDisplay  NVIDIA Display selection. It can be NVAPI_DEFAULT_HANDLE or a handle enumerated from NvAPI_EnumNVidiaDisplayHandle().\n//!                         This parameter is ignored when the outputId is a NvAPI displayId.\n//! \\param [in]  outputId   This can either be the connection bit mask or the NvAPI displayId. When the legacy connection bit mask is passed, \n//!                         it should have exactly 1 bit set to indicate a single display. If it's \"0\" then the default outputId from \n//!                         NvAPI_GetAssociatedDisplayOutputId() will be used. See \\ref handles.\n//! \\param [out] pInfo      The monitor and GPU's HDMI support info\n//!\n//! \\retval  NVAPI_OK                Completed request\n//! \\retval  NVAPI_ERROR             Miscellaneous error occurred\n//! \\retval  NVAPI_INVALID_ARGUMENT  Invalid input parameter.\n///////////////////////////////////////////////////////////////////////////////\n\n\n//! \\ingroup dispcontrol\nNVAPI_INTERFACE NvAPI_GetHDMISupportInfo(__in_opt NvDisplayHandle hNvDisplay, __in NvU32 outputId, __inout NV_HDMI_SUPPORT_INFO *pInfo);\n\n\n//! \\ingroup dispcontrol\n\ntypedef enum\n{\n    NV_INFOFRAME_CMD_GET_DEFAULT = 0,     //!< Returns the fields in the infoframe with values set by the manufacturer - NVIDIA/OEM.\n    NV_INFOFRAME_CMD_RESET,               //!< Sets the fields in the infoframe to auto, and infoframe to the default infoframe for use in a set.    \n    NV_INFOFRAME_CMD_GET,                 //!< Get the current infoframe state.\n    NV_INFOFRAME_CMD_SET,                 //!< Set the current infoframe state (flushed to the monitor), the values are one time and do not persist.\n    NV_INFOFRAME_CMD_GET_OVERRIDE,        //!< Get the override infoframe state, non-override fields will be set to value = AUTO, overridden fields will have the current override values.\n    NV_INFOFRAME_CMD_SET_OVERRIDE,        //!< Set the override infoframe state, non-override fields will be set to value = AUTO, other values indicate override; persist across modeset/reboot\n    NV_INFOFRAME_CMD_GET_PROPERTY,        //!< get properties associated with infoframe (each of the infoframe type will have properties)\n    NV_INFOFRAME_CMD_SET_PROPERTY,        //!< set properties associated with infoframe\n} NV_INFOFRAME_CMD;\n\n\ntypedef enum\n{\n    NV_INFOFRAME_PROPERTY_MODE_AUTO           = 0, //!< Driver determines whether to send infoframes.\n    NV_INFOFRAME_PROPERTY_MODE_ENABLE,             //!< Driver always sends infoframe.\n    NV_INFOFRAME_PROPERTY_MODE_DISABLE,            //!< Driver never sends infoframe.\n    NV_INFOFRAME_PROPERTY_MODE_ALLOW_OVERRIDE,     //!< Driver only sends infoframe when client requests it via infoframe escape call.\n} NV_INFOFRAME_PROPERTY_MODE;\n\n\n//! Returns whether the current monitor is in blacklist or force this monitor to be in blacklist.\ntypedef enum\n{\n    NV_INFOFRAME_PROPERTY_BLACKLIST_FALSE = 0,\n    NV_INFOFRAME_PROPERTY_BLACKLIST_TRUE,\n} NV_INFOFRAME_PROPERTY_BLACKLIST;\n\ntypedef struct\n{\n    NvU32 mode      :  4;\n    NvU32 blackList :  2;\n    NvU32 reserved  : 10;\n    NvU32 version   :  8;\n    NvU32 length    :  8;\n} NV_INFOFRAME_PROPERTY;\n\n//! Byte1 related\ntypedef enum\n{\n    NV_INFOFRAME_FIELD_VALUE_AVI_SCANINFO_NODATA    = 0,\n    NV_INFOFRAME_FIELD_VALUE_AVI_SCANINFO_OVERSCAN,\n    NV_INFOFRAME_FIELD_VALUE_AVI_SCANINFO_UNDERSCAN,\n    NV_INFOFRAME_FIELD_VALUE_AVI_SCANINFO_FUTURE,\n    NV_INFOFRAME_FIELD_VALUE_AVI_SCANINFO_AUTO      = 7\n} NV_INFOFRAME_FIELD_VALUE_AVI_SCANINFO;\n\n\ntypedef enum\n{\n    NV_INFOFRAME_FIELD_VALUE_AVI_BARDATA_NOT_PRESENT         = 0,\n    NV_INFOFRAME_FIELD_VALUE_AVI_BARDATA_VERTICAL_PRESENT,\n    NV_INFOFRAME_FIELD_VALUE_AVI_BARDATA_HORIZONTAL_PRESENT,\n    NV_INFOFRAME_FIELD_VALUE_AVI_BARDATA_BOTH_PRESENT,\n    NV_INFOFRAME_FIELD_VALUE_AVI_BARDATA_AUTO                = 7\n} NV_INFOFRAME_FIELD_VALUE_AVI_BARDATA;\n\ntypedef enum\n{\n    NV_INFOFRAME_FIELD_VALUE_AVI_AFI_ABSENT   = 0,\n    NV_INFOFRAME_FIELD_VALUE_AVI_AFI_PRESENT,\n    NV_INFOFRAME_FIELD_VALUE_AVI_AFI_AUTO     = 3\n} NV_INFOFRAME_FIELD_VALUE_AVI_ACTIVEFORMATINFO;\n\n\ntypedef enum\n{\n    NV_INFOFRAME_FIELD_VALUE_AVI_COLORFORMAT_RGB      = 0,\n    NV_INFOFRAME_FIELD_VALUE_AVI_COLORFORMAT_YCbCr422,\n    NV_INFOFRAME_FIELD_VALUE_AVI_COLORFORMAT_YCbCr444,\n    NV_INFOFRAME_FIELD_VALUE_AVI_COLORFORMAT_FUTURE,\n    NV_INFOFRAME_FIELD_VALUE_AVI_COLORFORMAT_AUTO     = 7\n} NV_INFOFRAME_FIELD_VALUE_AVI_COLORFORMAT;\n\ntypedef enum\n{\n    NV_INFOFRAME_FIELD_VALUE_AVI_F17_FALSE = 0,\n    NV_INFOFRAME_FIELD_VALUE_AVI_F17_TRUE,\n    NV_INFOFRAME_FIELD_VALUE_AVI_F17_AUTO = 3\n} NV_INFOFRAME_FIELD_VALUE_AVI_F17;\n\n//! Byte2 related\ntypedef enum\n{\n    NV_INFOFRAME_FIELD_VALUE_AVI_ASPECTRATIOACTIVEPORTION_NO_AFD           = 0,\n    NV_INFOFRAME_FIELD_VALUE_AVI_ASPECTRATIOACTIVEPORTION_RESERVE01,\n    NV_INFOFRAME_FIELD_VALUE_AVI_ASPECTRATIOACTIVEPORTION_RESERVE02,\n    NV_INFOFRAME_FIELD_VALUE_AVI_ASPECTRATIOACTIVEPORTION_RESERVE03,\n    NV_INFOFRAME_FIELD_VALUE_AVI_ASPECTRATIOACTIVEPORTION_LETTERBOX_GT16x9,\n    NV_INFOFRAME_FIELD_VALUE_AVI_ASPECTRATIOACTIVEPORTION_RESERVE05,\n    NV_INFOFRAME_FIELD_VALUE_AVI_ASPECTRATIOACTIVEPORTION_RESERVE06,\n    NV_INFOFRAME_FIELD_VALUE_AVI_ASPECTRATIOACTIVEPORTION_RESERVE07,\n    NV_INFOFRAME_FIELD_VALUE_AVI_ASPECTRATIOACTIVEPORTION_EQUAL_CODEDFRAME = 8,\n    NV_INFOFRAME_FIELD_VALUE_AVI_ASPECTRATIOACTIVEPORTION_CENTER_4x3,\n    NV_INFOFRAME_FIELD_VALUE_AVI_ASPECTRATIOACTIVEPORTION_CENTER_16x9,\n    NV_INFOFRAME_FIELD_VALUE_AVI_ASPECTRATIOACTIVEPORTION_CENTER_14x9,\n    NV_INFOFRAME_FIELD_VALUE_AVI_ASPECTRATIOACTIVEPORTION_RESERVE12,\n    NV_INFOFRAME_FIELD_VALUE_AVI_ASPECTRATIOACTIVEPORTION_4x3_ON_14x9,\n    NV_INFOFRAME_FIELD_VALUE_AVI_ASPECTRATIOACTIVEPORTION_16x9_ON_14x9,\n    NV_INFOFRAME_FIELD_VALUE_AVI_ASPECTRATIOACTIVEPORTION_16x9_ON_4x3,\n    NV_INFOFRAME_FIELD_VALUE_AVI_ASPECTRATIOACTIVEPORTION_AUTO             = 31,\n} NV_INFOFRAME_FIELD_VALUE_AVI_ASPECTRATIOACTIVEPORTION;\n\n\ntypedef enum\n{\n    NV_INFOFRAME_FIELD_VALUE_AVI_ASPECTRATIOCODEDFRAME_NO_DATA = 0,\n    NV_INFOFRAME_FIELD_VALUE_AVI_ASPECTRATIOCODEDFRAME_4x3,\n    NV_INFOFRAME_FIELD_VALUE_AVI_ASPECTRATIOCODEDFRAME_16x9,\n    NV_INFOFRAME_FIELD_VALUE_AVI_ASPECTRATIOCODEDFRAME_FUTURE,\n    NV_INFOFRAME_FIELD_VALUE_AVI_ASPECTRATIOCODEDFRAME_AUTO    = 7\n} NV_INFOFRAME_FIELD_VALUE_AVI_ASPECTRATIOCODEDFRAME;\n\ntypedef enum\n{\n    NV_INFOFRAME_FIELD_VALUE_AVI_COLORIMETRY_NO_DATA                   = 0,\n    NV_INFOFRAME_FIELD_VALUE_AVI_COLORIMETRY_SMPTE_170M,\n    NV_INFOFRAME_FIELD_VALUE_AVI_COLORIMETRY_ITUR_BT709,\n    NV_INFOFRAME_FIELD_VALUE_AVI_COLORIMETRY_USE_EXTENDED_COLORIMETRY,\n    NV_INFOFRAME_FIELD_VALUE_AVI_COLORIMETRY_AUTO                      = 7\n} NV_INFOFRAME_FIELD_VALUE_AVI_COLORIMETRY;\n\n//! Byte 3 related\ntypedef enum\n{\n    NV_INFOFRAME_FIELD_VALUE_AVI_NONUNIFORMPICTURESCALING_NO_DATA    = 0,\n    NV_INFOFRAME_FIELD_VALUE_AVI_NONUNIFORMPICTURESCALING_HORIZONTAL,\n    NV_INFOFRAME_FIELD_VALUE_AVI_NONUNIFORMPICTURESCALING_VERTICAL,\n    NV_INFOFRAME_FIELD_VALUE_AVI_NONUNIFORMPICTURESCALING_BOTH,\n    NV_INFOFRAME_FIELD_VALUE_AVI_NONUNIFORMPICTURESCALING_AUTO       = 7\n} NV_INFOFRAME_FIELD_VALUE_AVI_NONUNIFORMPICTURESCALING;\n\ntypedef enum\n{\n    NV_INFOFRAME_FIELD_VALUE_AVI_RGBQUANTIZATION_DEFAULT       = 0,\n    NV_INFOFRAME_FIELD_VALUE_AVI_RGBQUANTIZATION_LIMITED_RANGE,\n    NV_INFOFRAME_FIELD_VALUE_AVI_RGBQUANTIZATION_FULL_RANGE,\n    NV_INFOFRAME_FIELD_VALUE_AVI_RGBQUANTIZATION_RESERVED,\n    NV_INFOFRAME_FIELD_VALUE_AVI_RGBQUANTIZATION_AUTO          = 7\n} NV_INFOFRAME_FIELD_VALUE_AVI_RGBQUANTIZATION;\n\ntypedef enum\n{\n    NV_INFOFRAME_FIELD_VALUE_AVI_EXTENDEDCOLORIMETRY_XVYCC601     = 0,\n    NV_INFOFRAME_FIELD_VALUE_AVI_EXTENDEDCOLORIMETRY_XVYCC709,\n    NV_INFOFRAME_FIELD_VALUE_AVI_EXTENDEDCOLORIMETRY_SYCC601,\n    NV_INFOFRAME_FIELD_VALUE_AVI_EXTENDEDCOLORIMETRY_ADOBEYCC601,\n    NV_INFOFRAME_FIELD_VALUE_AVI_EXTENDEDCOLORIMETRY_ADOBERGB,\n    NV_INFOFRAME_FIELD_VALUE_AVI_EXTENDEDCOLORIMETRY_RESERVED05,\n    NV_INFOFRAME_FIELD_VALUE_AVI_EXTENDEDCOLORIMETRY_RESERVED06,\n    NV_INFOFRAME_FIELD_VALUE_AVI_EXTENDEDCOLORIMETRY_RESERVED07,\n    NV_INFOFRAME_FIELD_VALUE_AVI_EXTENDEDCOLORIMETRY_AUTO         = 15\n} NV_INFOFRAME_FIELD_VALUE_AVI_EXTENDEDCOLORIMETRY;\n\ntypedef enum\n{\n    NV_INFOFRAME_FIELD_VALUE_AVI_ITC_VIDEO_CONTENT = 0,\n    NV_INFOFRAME_FIELD_VALUE_AVI_ITC_ITCONTENT,\n    NV_INFOFRAME_FIELD_VALUE_AVI_ITC_AUTO          = 3\n} NV_INFOFRAME_FIELD_VALUE_AVI_ITC;\n\n//! Byte 4 related\ntypedef enum\n{\n    NV_INFOFRAME_FIELD_VALUE_AVI_PIXELREPETITION_NONE = 0,\n    NV_INFOFRAME_FIELD_VALUE_AVI_PIXELREPETITION_X02,\n    NV_INFOFRAME_FIELD_VALUE_AVI_PIXELREPETITION_X03,\n    NV_INFOFRAME_FIELD_VALUE_AVI_PIXELREPETITION_X04,\n    NV_INFOFRAME_FIELD_VALUE_AVI_PIXELREPETITION_X05,\n    NV_INFOFRAME_FIELD_VALUE_AVI_PIXELREPETITION_X06,\n    NV_INFOFRAME_FIELD_VALUE_AVI_PIXELREPETITION_X07,\n    NV_INFOFRAME_FIELD_VALUE_AVI_PIXELREPETITION_X08,\n    NV_INFOFRAME_FIELD_VALUE_AVI_PIXELREPETITION_X09,\n    NV_INFOFRAME_FIELD_VALUE_AVI_PIXELREPETITION_X10,\n    NV_INFOFRAME_FIELD_VALUE_AVI_PIXELREPETITION_RESERVED10,\n    NV_INFOFRAME_FIELD_VALUE_AVI_PIXELREPETITION_RESERVED11,\n    NV_INFOFRAME_FIELD_VALUE_AVI_PIXELREPETITION_RESERVED12,\n    NV_INFOFRAME_FIELD_VALUE_AVI_PIXELREPETITION_RESERVED13,\n    NV_INFOFRAME_FIELD_VALUE_AVI_PIXELREPETITION_RESERVED14,\n    NV_INFOFRAME_FIELD_VALUE_AVI_PIXELREPETITION_RESERVED15,\n    NV_INFOFRAME_FIELD_VALUE_AVI_PIXELREPETITION_AUTO         = 31\n} NV_INFOFRAME_FIELD_VALUE_AVI_PIXELREPETITION;\n\n\ntypedef enum\n{\n    NV_INFOFRAME_FIELD_VALUE_AVI_CONTENTTYPE_GRAPHICS = 0,\n    NV_INFOFRAME_FIELD_VALUE_AVI_CONTENTTYPE_PHOTO,\n    NV_INFOFRAME_FIELD_VALUE_AVI_CONTENTTYPE_CINEMA,\n    NV_INFOFRAME_FIELD_VALUE_AVI_CONTENTTYPE_GAME,\n    NV_INFOFRAME_FIELD_VALUE_AVI_CONTENTTYPE_AUTO     = 7\n} NV_INFOFRAME_FIELD_VALUE_AVI_CONTENTTYPE;\n\ntypedef enum\n{\n    NV_INFOFRAME_FIELD_VALUE_AVI_YCCQUANTIZATION_LIMITED_RANGE = 0,\n    NV_INFOFRAME_FIELD_VALUE_AVI_YCCQUANTIZATION_FULL_RANGE,\n    NV_INFOFRAME_FIELD_VALUE_AVI_YCCQUANTIZATION_RESERVED02,\n    NV_INFOFRAME_FIELD_VALUE_AVI_YCCQUANTIZATION_RESERVED03,\n    NV_INFOFRAME_FIELD_VALUE_AVI_YCCQUANTIZATION_AUTO          = 7\n} NV_INFOFRAME_FIELD_VALUE_AVI_YCCQUANTIZATION;\n\n//! Adding an Auto bit to each field\ntypedef struct\n{\n    NvU32 vic                     : 8;\n    NvU32 pixelRepeat             : 5;\n    NvU32 colorSpace              : 3;\n    NvU32 colorimetry             : 3;\n    NvU32 extendedColorimetry     : 4;\n    NvU32 rgbQuantizationRange    : 3;\n    NvU32 yccQuantizationRange    : 3;\n    NvU32 itContent               : 2;\n    NvU32 contentTypes            : 3;\n    NvU32 scanInfo                : 3;\n    NvU32 activeFormatInfoPresent : 2;\n    NvU32 activeFormatAspectRatio : 5;\n    NvU32 picAspectRatio          : 3;\n    NvU32 nonuniformScaling       : 3;\n    NvU32 barInfo                 : 3;    \n    NvU32 top_bar                 : 17;\n    NvU32 bottom_bar              : 17;\n    NvU32 left_bar                : 17;\n    NvU32 right_bar               : 17;\n    NvU32 Future17                : 2;\n    NvU32 Future47                : 2;\n} NV_INFOFRAME_VIDEO;\n\n//! Byte 1 related\ntypedef enum\n{\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CHANNELCOUNT_IN_HEADER = 0,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CHANNELCOUNT_2,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CHANNELCOUNT_3,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CHANNELCOUNT_4,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CHANNELCOUNT_5,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CHANNELCOUNT_6,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CHANNELCOUNT_7,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CHANNELCOUNT_8,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CHANNELCOUNT_AUTO      = 15\n} NV_INFOFRAME_FIELD_VALUE_AUDIO_CHANNELCOUNT;\n\ntypedef enum\n{\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CODINGTYPE_IN_HEADER                  = 0,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CODINGTYPE_PCM,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CODINGTYPE_AC3,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CODINGTYPE_MPEG1,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CODINGTYPE_MP3,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CODINGTYPE_MPEG2,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CODINGTYPE_AACLC,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CODINGTYPE_DTS,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CODINGTYPE_ATRAC,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CODINGTYPE_DSD,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CODINGTYPE_EAC3,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CODINGTYPE_DTSHD,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CODINGTYPE_MLP,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CODINGTYPE_DST,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CODINGTYPE_WMAPRO,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CODINGTYPE_USE_CODING_EXTENSION_TYPE,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CODINGTYPE_AUTO                      = 31\n} NV_INFOFRAME_FIELD_VALUE_AUDIO_CODINGTYPE;\n\n//! Byte 2 related\ntypedef enum\n{\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_SAMPLESIZE_IN_HEADER = 0,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_SAMPLESIZE_16BITS,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_SAMPLESIZE_20BITS,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_SAMPLESIZE_24BITS,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_SAMPLESIZE_AUTO      = 7\n} NV_INFOFRAME_FIELD_VALUE_AUDIO_SAMPLESIZE;\n\ntypedef enum\n{\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_SAMPLEFREQUENCY_IN_HEADER = 0,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_SAMPLEFREQUENCY_32000HZ,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_SAMPLEFREQUENCY_44100HZ,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_SAMPLEFREQUENCY_48000HZ,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_SAMPLEFREQUENCY_88200KHZ,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_SAMPLEFREQUENCY_96000KHZ,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_SAMPLEFREQUENCY_176400KHZ,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_SAMPLEFREQUENCY_192000KHZ,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_SAMPLEFREQUENCY_AUTO      = 15\n} NV_INFOFRAME_FIELD_VALUE_AUDIO_SAMPLEFREQUENCY;\n\n\n\n//! Byte 3 related\ntypedef enum\n{\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CODINGEXTENSIONTYPE_USE_CODING_TYPE = 0,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CODINGEXTENSIONTYPE_HEAAC,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CODINGEXTENSIONTYPE_HEAACV2,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CODINGEXTENSIONTYPE_MPEGSURROUND,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CODINGEXTENSIONTYPE_RESERVE04,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CODINGEXTENSIONTYPE_RESERVE05,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CODINGEXTENSIONTYPE_RESERVE06,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CODINGEXTENSIONTYPE_RESERVE07,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CODINGEXTENSIONTYPE_RESERVE08,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CODINGEXTENSIONTYPE_RESERVE09,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CODINGEXTENSIONTYPE_RESERVE10,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CODINGEXTENSIONTYPE_RESERVE11,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CODINGEXTENSIONTYPE_RESERVE12,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CODINGEXTENSIONTYPE_RESERVE13,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CODINGEXTENSIONTYPE_RESERVE14,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CODINGEXTENSIONTYPE_RESERVE15,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CODINGEXTENSIONTYPE_RESERVE16,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CODINGEXTENSIONTYPE_RESERVE17,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CODINGEXTENSIONTYPE_RESERVE18,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CODINGEXTENSIONTYPE_RESERVE19,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CODINGEXTENSIONTYPE_RESERVE20,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CODINGEXTENSIONTYPE_RESERVE21,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CODINGEXTENSIONTYPE_RESERVE22,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CODINGEXTENSIONTYPE_RESERVE23,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CODINGEXTENSIONTYPE_RESERVE24,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CODINGEXTENSIONTYPE_RESERVE25,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CODINGEXTENSIONTYPE_RESERVE26,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CODINGEXTENSIONTYPE_RESERVE27,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CODINGEXTENSIONTYPE_RESERVE28,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CODINGEXTENSIONTYPE_RESERVE29,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CODINGEXTENSIONTYPE_RESERVE30,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CODINGEXTENSIONTYPE_RESERVE31,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CODINGEXTENSIONTYPE_AUTO           = 63\n} NV_INFOFRAME_FIELD_VALUE_AUDIO_CODINGEXTENSIONTYPE;\n\n\n//! Byte 4 related\ntypedef enum\n{\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CHANNELALLOCATION_X_X_X_X_X_X_FR_FL           =0,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CHANNELALLOCATION_X_X_X_X_X_LFE_FR_FL,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CHANNELALLOCATION_X_X_X_X_FC_X_FR_FL,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CHANNELALLOCATION_X_X_X_X_FC_LFE_FR_FL,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CHANNELALLOCATION_X_X_X_RC_X_X_FR_FL,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CHANNELALLOCATION_X_X_X_RC_X_LFE_FR_FL,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CHANNELALLOCATION_X_X_X_RC_FC_X_FR_FL,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CHANNELALLOCATION_X_X_X_RC_FC_LFE_FR_FL,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CHANNELALLOCATION_X_X_RR_RL_X_X_FR_FL,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CHANNELALLOCATION_X_X_RR_RL_X_LFE_FR_FL,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CHANNELALLOCATION_X_X_RR_RL_FC_X_FR_FL,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CHANNELALLOCATION_X_X_RR_RL_FC_LFE_FR_FL,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CHANNELALLOCATION_X_RC_RR_RL_X_X_FR_FL,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CHANNELALLOCATION_X_RC_RR_RL_X_LFE_FR_FL,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CHANNELALLOCATION_X_RC_RR_RL_FC_X_FR_FL,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CHANNELALLOCATION_X_RC_RR_RL_FC_LFE_FR_FL,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CHANNELALLOCATION_RRC_RLC_RR_RL_X_X_FR_FL,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CHANNELALLOCATION_RRC_RLC_RR_RL_X_LFE_FR_FL,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CHANNELALLOCATION_RRC_RLC_RR_RL_FC_X_FR_FL,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CHANNELALLOCATION_RRC_RLC_RR_RL_FC_LFE_FR_FL,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CHANNELALLOCATION_FRC_FLC_X_X_X_X_FR_FL,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CHANNELALLOCATION_FRC_FLC_X_X_X_LFE_FR_FL,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CHANNELALLOCATION_FRC_FLC_X_X_FC_X_FR_FL,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CHANNELALLOCATION_FRC_FLC_X_X_FC_LFE_FR_FL,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CHANNELALLOCATION_FRC_FLC_X_RC_X_X_FR_FL,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CHANNELALLOCATION_FRC_FLC_X_RC_X_LFE_FR_FL,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CHANNELALLOCATION_FRC_FLC_X_RC_FC_X_FR_FL,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CHANNELALLOCATION_FRC_FLC_X_RC_FC_LFE_FR_FL,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CHANNELALLOCATION_FRC_FLC_RR_RL_X_X_FR_FL,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CHANNELALLOCATION_FRC_FLC_RR_RL_X_LFE_FR_FL,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CHANNELALLOCATION_FRC_FLC_RR_RL_FC_X_FR_FL,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CHANNELALLOCATION_FRC_FLC_RR_RL_FC_LFE_FR_FL,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CHANNELALLOCATION_X_FCH_RR_RL_FC_X_FR_FL,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CHANNELALLOCATION_X_FCH_RR_RL_FC_LFE_FR_FL,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CHANNELALLOCATION_TC_X_RR_RL_FC_X_FR_FL,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CHANNELALLOCATION_TC_X_RR_RL_FC_LFE_FR_FL,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CHANNELALLOCATION_FRH_FLH_RR_RL_X_X_FR_FL,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CHANNELALLOCATION_FRH_FLH_RR_RL_X_LFE_FR_FL,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CHANNELALLOCATION_FRW_FLW_RR_RL_X_X_FR_FL,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CHANNELALLOCATION_FRW_FLW_RR_RL_X_LFE_FR_FL,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CHANNELALLOCATION_TC_RC_RR_RL_FC_X_FR_FL,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CHANNELALLOCATION_TC_RC_RR_RL_FC_LFE_FR_FL,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CHANNELALLOCATION_FCH_RC_RR_RL_FC_X_FR_FL,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CHANNELALLOCATION_FCH_RC_RR_RL_FC_LFE_FR_FL,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CHANNELALLOCATION_TC_FCH_RR_RL_FC_X_FR_FL,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CHANNELALLOCATION_TC_FCH_RR_RL_FC_LFE_FR_FL,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CHANNELALLOCATION_FRH_FLH_RR_RL_FC_X_FR_FL,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CHANNELALLOCATION_FRH_FLH_RR_RL_FC_LFE_FR_FL,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CHANNELALLOCATION_FRW_FLW_RR_RL_FC_X_FR_FL,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CHANNELALLOCATION_FRW_FLW_RR_RL_FC_LFE_FR_FL  = 0X31,\n    // all other values should default to auto\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_CHANNELALLOCATION_AUTO                        = 0x1FF\n} NV_INFOFRAME_FIELD_VALUE_AUDIO_CHANNELALLOCATION;\n\n//! Byte 5 related\ntypedef enum\n{\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_LFEPLAYBACKLEVEL_NO_DATA    = 0,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_LFEPLAYBACKLEVEL_0DB,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_LFEPLAYBACKLEVEL_PLUS10DB,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_LFEPLAYBACKLEVEL_RESERVED03,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_LFEPLAYBACKLEVEL_AUTO       = 7\n} NV_INFOFRAME_FIELD_VALUE_AUDIO_LFEPLAYBACKLEVEL;\n\ntypedef enum\n{\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_LEVELSHIFTVALUES_0DB  = 0,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_LEVELSHIFTVALUES_1DB,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_LEVELSHIFTVALUES_2DB,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_LEVELSHIFTVALUES_3DB,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_LEVELSHIFTVALUES_4DB,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_LEVELSHIFTVALUES_5DB,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_LEVELSHIFTVALUES_6DB,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_LEVELSHIFTVALUES_7DB,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_LEVELSHIFTVALUES_8DB,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_LEVELSHIFTVALUES_9DB,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_LEVELSHIFTVALUES_10DB,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_LEVELSHIFTVALUES_11DB,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_LEVELSHIFTVALUES_12DB,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_LEVELSHIFTVALUES_13DB,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_LEVELSHIFTVALUES_14DB,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_LEVELSHIFTVALUES_15DB,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_LEVELSHIFTVALUES_AUTO = 31\n} NV_INFOFRAME_FIELD_VALUE_AUDIO_LEVELSHIFTVALUES;\n\n\ntypedef enum\n{\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_DOWNMIX_PERMITTED  = 0,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_DOWNMIX_PROHIBITED,\n    NV_INFOFRAME_FIELD_VALUE_AUDIO_DOWNMIX_AUTO       = 3\n} NV_INFOFRAME_FIELD_VALUE_AUDIO_DOWNMIX;\n\ntypedef struct\n{\n    NvU32 codingType          : 5;\n    NvU32 codingExtensionType : 6;\n    NvU32 sampleSize          : 3;\n    NvU32 sampleRate          : 4;\n    NvU32 channelCount        : 4;\n    NvU32 speakerPlacement    : 9;\n    NvU32 downmixInhibit      : 2;\n    NvU32 lfePlaybackLevel    : 3;\n    NvU32 levelShift          : 5; \n    NvU32 Future12            : 2;\n    NvU32 Future2x            : 4;\n    NvU32 Future3x            : 4;\n    NvU32 Future52            : 2;\n    NvU32 Future6             : 9;\n    NvU32 Future7             : 9;\n    NvU32 Future8             : 9;\n    NvU32 Future9             : 9;\n    NvU32 Future10            : 9;\n} NV_INFOFRAME_AUDIO;\n\ntypedef struct\n{\n    NvU32 version; //!< version of this structure\n    NvU16 size;    //!< size of this structure\n    NvU8  cmd;     //!< The actions to perform from NV_INFOFRAME_CMD\n    NvU8  type;    //!< type of infoframe\n    \n    union\n    {\n        NV_INFOFRAME_PROPERTY     property;  //!< This is NVIDIA-specific and corresponds to the property cmds and associated infoframe.\n        NV_INFOFRAME_AUDIO        audio;\n        NV_INFOFRAME_VIDEO        video;\n    } infoframe;\n} NV_INFOFRAME_DATA;\n\n//! Macro for constructing the version field of ::NV_INFOFRAME_DATA\n#define NV_INFOFRAME_DATA_VER   MAKE_NVAPI_VERSION(NV_INFOFRAME_DATA,1)\n\n///////////////////////////////////////////////////////////////////////////////\n// FUNCTION NAME:   NvAPI_Disp_InfoFrameControl\n//\n//! DESCRIPTION:     This API controls the InfoFrame values.\n//!\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n//!\n//! \\param [in]     displayId         Monitor Identifier\n//! \\param [in,out] pInfoframeData    Contains data corresponding to InfoFrame\n//!                  \n//! \\return    This API can return any of the error codes enumerated in #NvAPI_Status. If there are return error codes with \n//!            specific meaning for this API, they are listed below.\n//!\n//! \\ingroup dispcontrol\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_Disp_InfoFrameControl(__in NvU32 displayId, __inout NV_INFOFRAME_DATA *pInfoframeData);\n\n\n\n\n\n\n//! \\ingroup dispcontrol\n//! @{\n///////////////////////////////////////////////////////////////////////////////\n// FUNCTION NAME:   NvAPI_Disp_ColorControl\n//\n//! \\fn NvAPI_Disp_ColorControl(NvU32 displayId, NV_COLOR_DATA *pColorData)\n//! DESCRIPTION:    This API controls the Color values.\n//!\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n//!\n//! \\param [in]     displayId         Monitor Identifier\n//! \\param [in,out] pColorData        Contains data corresponding to color information\n//!                  \n//! \\return  RETURN STATUS:\n//! ::NVAPI_OK,  \n//! ::NVAPI_ERROR, \n//! ::NVAPI_INVALID_ARGUMENT\n//\n///////////////////////////////////////////////////////////////////////////////\n\ntypedef enum\n{\n    NV_COLOR_CMD_GET                 = 1,\n    NV_COLOR_CMD_SET,\n    NV_COLOR_CMD_IS_SUPPORTED_COLOR,\n    NV_COLOR_CMD_GET_DEFAULT\n} NV_COLOR_CMD;\n\n//!  See Table 14 of CEA-861E.  Not all of this is supported by the GPU.\ntypedef enum\n{\n    NV_COLOR_FORMAT_RGB             = 0,\n    NV_COLOR_FORMAT_YUV422,\n    NV_COLOR_FORMAT_YUV444,\n    NV_COLOR_FORMAT_YUV420,\n\n    NV_COLOR_FORMAT_DEFAULT         = 0xFE,\n    NV_COLOR_FORMAT_AUTO            = 0xFF\n} NV_COLOR_FORMAT;\n\n\n\ntypedef enum\n{\n    NV_COLOR_COLORIMETRY_RGB             = 0,\n    NV_COLOR_COLORIMETRY_YCC601,\n    NV_COLOR_COLORIMETRY_YCC709,\n    NV_COLOR_COLORIMETRY_XVYCC601,\n    NV_COLOR_COLORIMETRY_XVYCC709,\n    NV_COLOR_COLORIMETRY_SYCC601,\n    NV_COLOR_COLORIMETRY_ADOBEYCC601,\n    NV_COLOR_COLORIMETRY_ADOBERGB,\n    NV_COLOR_COLORIMETRY_BT2020RGB,\n    NV_COLOR_COLORIMETRY_BT2020YCC,\n    NV_COLOR_COLORIMETRY_BT2020cYCC,\n\n    NV_COLOR_COLORIMETRY_DEFAULT         = 0xFE,\n    NV_COLOR_COLORIMETRY_AUTO            = 0xFF\n} NV_COLOR_COLORIMETRY;\n\ntypedef enum _NV_DYNAMIC_RANGE\n{\n    NV_DYNAMIC_RANGE_VESA     = 0x0,\n    NV_DYNAMIC_RANGE_CEA      = 0x1,\n\n    NV_DYNAMIC_RANGE_AUTO     = 0xFF\n} NV_DYNAMIC_RANGE;\n\ntypedef enum _NV_BPC\n{\n    NV_BPC_DEFAULT         = 0,\n    NV_BPC_6               = 1,\n    NV_BPC_8               = 2,\n    NV_BPC_10              = 3,\n    NV_BPC_12              = 4,\n    NV_BPC_16              = 5,\n} NV_BPC;\n\ntypedef struct _NV_COLOR_DATA_V1\n{\n    NvU32 version; //!< Version of this structure\n    NvU16 size;    //!< Size of this structure\n    NvU8  cmd;\n    struct\n    {\n        NvU8  colorFormat;    //!< One of NV_COLOR_FORMAT enum values.\n        NvU8  colorimetry;    //!< One of NV_COLOR_COLORIMETRY enum values.\n    } data;\n} NV_COLOR_DATA_V1;\n\ntypedef struct _NV_COLOR_DATA_V2\n{\n    NvU32 version; //!< Version of this structure\n    NvU16 size;    //!< Size of this structure\n    NvU8  cmd;\n    struct\n    {\n        NvU8  colorFormat;    //!< One of NV_COLOR_FORMAT enum values.\n        NvU8  colorimetry;    //!< One of NV_COLOR_COLORIMETRY enum values.\n        NvU8  dynamicRange;   //!< One of NV_DYNAMIC_RANGE enum values.\n    } data;\n} NV_COLOR_DATA_V2;\n\ntypedef struct _NV_COLOR_DATA_V3\n{\n    NvU32 version; //!< Version of this structure\n    NvU16 size;    //!< Size of this structure\n    NvU8  cmd;\n    struct\n    {\n        NvU8     colorFormat;    //!< One of NV_COLOR_FORMAT enum values.\n        NvU8     colorimetry;    //!< One of NV_COLOR_COLORIMETRY enum values.\n        NvU8     dynamicRange;   //!< One of NV_DYNAMIC_RANGE enum values.\n        NV_BPC   bpc;            //!< One of NV_BPC enum values.\n    } data;\n} NV_COLOR_DATA_V3;\n\ntypedef NV_COLOR_DATA_V3    NV_COLOR_DATA;\n\n#define NV_COLOR_DATA_VER1  MAKE_NVAPI_VERSION(NV_COLOR_DATA_V1, 1)\n#define NV_COLOR_DATA_VER2  MAKE_NVAPI_VERSION(NV_COLOR_DATA_V2, 2)\n#define NV_COLOR_DATA_VER3  MAKE_NVAPI_VERSION(NV_COLOR_DATA_V3, 3)\n#define NV_COLOR_DATA_VER   NV_COLOR_DATA_VER3\n\nNVAPI_INTERFACE NvAPI_Disp_ColorControl(NvU32 displayId, NV_COLOR_DATA *pColorData);\n\n//! @}\n\n//! \\ingroup dispcontrol\n//! @{\n///////////////////////////////////////////////////////////////////////////////\n// FUNCTION NAME:   NvAPI_Disp_GetHdrCapabilities\n//\n//! \\fn NvAPI_Disp_GetHdrCapabilities(NvU32 displayId, NV_HDR_CAPABILITIES  *pHdrCapabilities)\n//! DESCRIPTION:    This API gets High Dynamic Range (HDR) capabilities of the display.\n//!\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n//!\n//! \\param [in]     displayId           Monitor Identifier\n//! \\param [in,out] pHdrCapabilities    display's HDR capabilities\n//!                  \n//! \\return    This API can return any of the error codes enumerated in #NvAPI_Status. If there are return error codes with \n//!            specific meaning for this API, they are listed below.\n//\n///////////////////////////////////////////////////////////////////////////////\n\ntypedef enum\n{\n    NV_STATIC_METADATA_TYPE_1 = 0                   //!< Tells the type of structure used to define the Static Metadata Descriptor block.\n}NV_STATIC_METADATA_DESCRIPTOR_ID;\n\ntypedef struct _NV_HDR_CAPABILITIES \n{\n    NvU32 version;                                                  //!< Version of this structure\n \n    NvU32 isST2084EotfSupported                 :1;                 //!< HDMI2.0a UHDA HDR with ST2084 EOTF (CEA861.3). Boolean: 0 = not supported, 1 = supported;\n    NvU32 isTraditionalHdrGammaSupported        :1;                 //!< HDMI2.0a traditional HDR gamma (CEA861.3). Boolean: 0 = not supported, 1 = supported;\n    NvU32 isEdrSupported                        :1;                 //!< Extended Dynamic Range on SDR displays. Boolean: 0 = not supported, 1 = supported;\n    NvU32 driverExpandDefaultHdrParameters      :1;                 //!< If set, driver will expand default (=zero) HDR capabilities parameters contained in display's EDID. \n                                                                    //!< Boolean: 0 = report actual HDR parameters, 1 = expand default HDR parameters;\n    NvU32 isTraditionalSdrGammaSupported        :1;                 //!< HDMI2.0a traditional SDR gamma (CEA861.3). Boolean: 0 = not supported, 1 = supported;\n    NvU32 reserved                              :27;\n \n    NV_STATIC_METADATA_DESCRIPTOR_ID static_metadata_descriptor_id; //!< Static Metadata Descriptor Id (0 for static metadata type 1)\n\n    struct                                                          //!< Static Metadata Descriptor Type 1, CEA-861.3, SMPTE ST2086\n    {\n        NvU16    displayPrimary_x0;                                 //!< x coordinate of color primary 0 (e.g. Red) of the display ([0x0000-0xC350] = [0.0 - 1.0])\n        NvU16    displayPrimary_y0;                                 //!< y coordinate of color primary 0 (e.g. Red) of the display ([0x0000-0xC350] = [0.0 - 1.0])\n\n        NvU16    displayPrimary_x1;                                 //!< x coordinate of color primary 1 (e.g. Green) of the display ([0x0000-0xC350] = [0.0 - 1.0])\n        NvU16    displayPrimary_y1;                                 //!< y coordinate of color primary 1 (e.g. Green) of the display ([0x0000-0xC350] = [0.0 - 1.0])\n\n        NvU16    displayPrimary_x2;                                 //!< x coordinate of color primary 2 (e.g. Blue) of the display ([0x0000-0xC350] = [0.0 - 1.0])\n        NvU16    displayPrimary_y2;                                 //!< y coordinate of color primary 2 (e.g. Blue) of the display ([0x0000-0xC350] = [0.0 - 1.0])\n\n        NvU16    displayWhitePoint_x;                               //!< x coordinate of white point of the display ([0x0000-0xC350] = [0.0 - 1.0])\n        NvU16    displayWhitePoint_y;                               //!< y coordinate of white point of the display ([0x0000-0xC350] = [0.0 - 1.0])\n \n        NvU16    desired_content_max_luminance;                     //!< Maximum display luminance = desired max luminance of HDR content ([0x0001-0xFFFF] = [1.0 - 65535.0] cd/m^2)\n        NvU16    desired_content_min_luminance;                     //!< Minimum display luminance = desired min luminance of HDR content ([0x0001-0xFFFF] = [1.0 - 6.55350] cd/m^2)\n        NvU16    desired_content_max_frame_average_luminance;       //!< Desired maximum Frame-Average Light Level (MaxFALL) of HDR content ([0x0001-0xFFFF] = [1.0 - 65535.0] cd/m^2)\n    }display_data;\n} NV_HDR_CAPABILITIES;\n \n#define NV_HDR_CAPABILITIES_VER1  MAKE_NVAPI_VERSION(NV_HDR_CAPABILITIES, 1)\n#define NV_HDR_CAPABILITIES_VER   NV_HDR_CAPABILITIES_VER1\n \nNVAPI_INTERFACE NvAPI_Disp_GetHdrCapabilities(__in NvU32 displayId, __inout NV_HDR_CAPABILITIES *pHdrCapabilities);\n\n//! @}\n\n//! \\ingroup dispcontrol\n//! @{\n ///////////////////////////////////////////////////////////////////////////////\n// FUNCTION NAME:   NvAPI_Disp_HdrColorControl\n//\n//! \\fn NvAPI_Disp_HdrColorControl(NvU32 displayId, NV_HDR_COLOR_DATA *pHdrColorData)\n//! DESCRIPTION:    This API configures High Dynamic Range (HDR) and Extended Dynamic Range (EDR) output.\n//!\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n//!\n//! \\param [in]     displayId         Monitor Identifier\n//! \\param [in,out] pHdrColorData     HDR configuration data\n//!                  \n//! \\return    This API can return any of the error codes enumerated in #NvAPI_Status. If there are return error codes with \n//!            specific meaning for this API, they are listed below.\n//\n///////////////////////////////////////////////////////////////////////////////\n\ntypedef enum\n{\n    NV_HDR_CMD_GET = 0,                             //!< Get current HDR output configuration\n    NV_HDR_CMD_SET = 1                              //!< Set HDR output configuration\n} NV_HDR_CMD;\n\ntypedef enum\n{\n    NV_HDR_MODE_OFF    = 0,                         //!< HDR off - Turn Off any of HDR/SDR mode\n    NV_HDR_MODE_UHDA   = 2,                         //!< UHDA HDR (a.k.a HDR10) output: RGB/YCC 10/12bpc ST2084(PQ) EOTF (0..10000 nits luminance range), Rec2020 color primaries, ST2086 static HDR metadata.\n    NV_HDR_MODE_UHDBD  = 2,                         //!< UHD BD HDR == UHDA HDR. UHD BD HDR baseline mandatory output: YCbCr4:2:0 10bpc ST2084(PQ) EOTF, Rec2020 color primaries, ST2086 static HDR metadata.\n    NV_HDR_MODE_EDR    = 3,                         //!< EDR (Extended Dynamic Range) output - HDR content is tonemaped and gamut mapped to SDR display capabilties. SDR display is set to max luminance (~300 nits).\n    NV_HDR_MODE_SDR    = 4,                         //!< SDR (Standard Dynamic Range) output - SDR display is expected to max luminance (~100 nits).\n} NV_HDR_MODE;\n\ntypedef struct _NV_HDR_COLOR_DATA\n{\n    NvU32                             version;                                 //!< Version of this structure\n    NV_HDR_CMD                        cmd;                                     //!< Command get/set\n    NV_HDR_MODE                       hdrMode;                                 //!< HDR mode\n    NV_STATIC_METADATA_DESCRIPTOR_ID  static_metadata_descriptor_id;           //!< Static Metadata Descriptor Id (0 for static metadata type 1)\n\n    struct                                                                    //!< Static Metadata Descriptor Type 1, CEA-861.3, SMPTE ST2086\n    {\n        NvU16    displayPrimary_x0;                                           //!< x coordinate of color primary 0 (e.g. Red) of mastering display ([0x0000-0xC350] = [0.0 - 1.0])\n        NvU16    displayPrimary_y0;                                           //!< y coordinate of color primary 0 (e.g. Red) of mastering display ([0x0000-0xC350] = [0.0 - 1.0])\n\n        NvU16    displayPrimary_x1;                                           //!< x coordinate of color primary 1 (e.g. Green) of mastering display ([0x0000-0xC350] = [0.0 - 1.0])\n        NvU16    displayPrimary_y1;                                           //!< y coordinate of color primary 1 (e.g. Green) of mastering display ([0x0000-0xC350] = [0.0 - 1.0])\n\n        NvU16    displayPrimary_x2;                                           //!< x coordinate of color primary 2 (e.g. Blue) of mastering display ([0x0000-0xC350] = [0.0 - 1.0])\n        NvU16    displayPrimary_y2;                                           //!< y coordinate of color primary 2 (e.g. Blue) of mastering display ([0x0000-0xC350] = [0.0 - 1.0])\n\n        NvU16    displayWhitePoint_x;                                         //!< x coordinate of white point of mastering display ([0x0000-0xC350] = [0.0 - 1.0])\n        NvU16    displayWhitePoint_y;                                         //!< y coordinate of white point of mastering display ([0x0000-0xC350] = [0.0 - 1.0])\n\n        NvU16    max_display_mastering_luminance;                             //!< Maximum display mastering luminance ([0x0001-0xFFFF] = [1.0 - 65535.0] cd/m^2)\n        NvU16    min_display_mastering_luminance;                             //!< Minimum display mastering luminance ([0x0001-0xFFFF] = [1.0 - 6.55350] cd/m^2)\n\n        NvU16    max_content_light_level;                                     //!< Maximum Content Light level (MaxCLL) ([0x0001-0xFFFF] = [1.0 - 65535.0] cd/m^2)\n        NvU16    max_frame_average_light_level;                               //!< Maximum Frame-Average Light Level (MaxFALL) ([0x0001-0xFFFF] = [1.0 - 65535.0] cd/m^2)\n    } mastering_display_data;\n} NV_HDR_COLOR_DATA;\n\n#define NV_HDR_COLOR_DATA_VER1  MAKE_NVAPI_VERSION(NV_HDR_COLOR_DATA, 1)\n#define NV_HDR_COLOR_DATA_VER   NV_HDR_COLOR_DATA_VER1\n\nNVAPI_INTERFACE NvAPI_Disp_HdrColorControl(__in NvU32 displayId, __inout NV_HDR_COLOR_DATA *pHdrColorData);\n\n//! @}\n\n\n//! \\ingroup dispcontrol\n//! Used in NvAPI_DISP_GetTiming().\ntypedef struct\n{\n    NvU32                   isInterlaced   : 4;  //!< To retrieve interlaced/progressive timing\n    NvU32                   reserved0      : 12;\n    union\n    {\n        NvU32               tvFormat       : 8;  //!< The actual analog HD/SDTV format. Used when the timing type is \n                                                 //!  NV_TIMING_OVERRIDE_ANALOG_TV and width==height==rr==0.\n        NvU32               ceaId          : 8;  //!< The EIA/CEA 861B/D predefined short timing descriptor ID. \n                                                 //!  Used when the timing type is NV_TIMING_OVERRIDE_EIA861\n                                                 //!  and width==height==rr==0.\n        NvU32               nvPsfId        : 8;  //!< The NV predefined PsF format Id. \n                                                 //!  Used when the timing type is NV_TIMING_OVERRIDE_NV_PREDEFINED.\n    };\n    NvU32                   scaling        : 8;  //!< Define preferred scaling\n}NV_TIMING_FLAG;\n\n//! \\ingroup dispcontrol\n//! Used in NvAPI_DISP_GetTiming().\ntypedef struct _NV_TIMING_INPUT\n{\n    NvU32 version;                      //!< (IN)     structure version\n    \n    NvU32 width;\t\t\t\t\t\t//!< Visible horizontal size\n    NvU32 height;\t\t\t\t\t\t//!< Visible vertical size \n    float rr;\t\t\t\t\t\t\t//!< Timing refresh rate\n        \n    NV_TIMING_FLAG flag;\t\t\t\t//!< Flag containing additional info for timing calculation.\n    \n    NV_TIMING_OVERRIDE type;\t\t\t//!< Timing type(formula) to use for calculating the timing\n}NV_TIMING_INPUT;\n\n#define NV_TIMING_INPUT_VER   MAKE_NVAPI_VERSION(NV_TIMING_INPUT,1)\n\n///////////////////////////////////////////////////////////////////////////////\n// FUNCTION NAME:   NvAPI_DISP_GetTiming\n//\n//! DESCRIPTION:  This function calculates the timing from the visible width/height/refresh-rate and timing type info.\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\since Release: 313  \n//!\n//!\n//! \\param [in]   displayId\t\tDisplay ID of the display.\n//! \\param [in]   timingInput   Inputs used for calculating the timing.\n//! \\param [out]  pTiming       Pointer to the NV_TIMING structure. \n//!\n//! \\return        This API can return any of the error codes enumerated in #NvAPI_Status. If there are return error codes with \n//!                specific meaning for this API, they are listed below.\n//!\n//! \\ingroup dispcontrol\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_DISP_GetTiming( __in NvU32 displayId,__in NV_TIMING_INPUT *timingInput, __out NV_TIMING *pTiming); \n\n\n\n///////////////////////////////////////////////////////////////////////////////\n// FUNCTION NAME:   NvAPI_DISP_GetMonitorCapabilities\n//\n//! \\fn NvAPI_DISP_GetMonitorCapabilities(NvU32 displayId, NV_MONITOR_CAPABILITIES *pMonitorCapabilities)\n//! DESCRIPTION:     This API returns the Monitor capabilities \n//!\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n//!\n//! \\param [in]      displayId                Monitor Identifier\n//! \\param [out]     pMonitorCapabilities     The monitor support info\n//!\n//! \\return ::NVAPI_OK, \n//!         ::NVAPI_ERROR, \n//!         ::NVAPI_INVALID_ARGUMENT\n//\n///////////////////////////////////////////////////////////////////////////////\n\n//! \\ingroup dispcontrol\n//! @{\n\n\n//! HDMI-related and extended CAPs\ntypedef enum\n{\n    // hdmi related caps\n    NV_MONITOR_CAPS_TYPE_HDMI_VSDB = 0x1000,\n    NV_MONITOR_CAPS_TYPE_HDMI_VCDB = 0x1001,\n} NV_MONITOR_CAPS_TYPE;\n\n\n\ntypedef struct _NV_MONITOR_CAPS_VCDB\n{\n    NvU8    quantizationRangeYcc         : 1;\n    NvU8    quantizationRangeRgb         : 1;\n    NvU8    scanInfoPreferredVideoFormat : 2;\n    NvU8    scanInfoITVideoFormats       : 2;\n    NvU8    scanInfoCEVideoFormats       : 2;\n} NV_MONITOR_CAPS_VCDB;\n\n\n//! See NvAPI_DISP_GetMonitorCapabilities().\ntypedef struct _NV_MONITOR_CAPS_VSDB\n{\n    // byte 1\n    NvU8    sourcePhysicalAddressB         : 4; //!< Byte 1\n    NvU8    sourcePhysicalAddressA         : 4; //!< Byte 1\n    // byte 2\n    NvU8    sourcePhysicalAddressD         : 4; //!< Byte 2\n    NvU8    sourcePhysicalAddressC         : 4; //!< Byte 2\n    // byte 3\n    NvU8    supportDualDviOperation        : 1; //!< Byte 3\n    NvU8    reserved6                      : 2; //!< Byte 3\n    NvU8    supportDeepColorYCbCr444       : 1; //!< Byte 3\n    NvU8    supportDeepColor30bits         : 1; //!< Byte 3\n    NvU8    supportDeepColor36bits         : 1; //!< Byte 3\n    NvU8    supportDeepColor48bits         : 1; //!< Byte 3\n    NvU8    supportAI                      : 1; //!< Byte 3 \n    // byte 4\n    NvU8    maxTmdsClock;  //!< Bye 4\n    // byte 5\n    NvU8    cnc0SupportGraphicsTextContent : 1; //!< Byte 5\n    NvU8    cnc1SupportPhotoContent        : 1; //!< Byte 5\n    NvU8    cnc2SupportCinemaContent       : 1; //!< Byte 5\n    NvU8    cnc3SupportGameContent         : 1; //!< Byte 5\n    NvU8    reserved8                      : 1; //!< Byte 5\n    NvU8    hasVicEntries                  : 1; //!< Byte 5\n    NvU8    hasInterlacedLatencyField      : 1; //!< Byte 5\n    NvU8    hasLatencyField                : 1; //!< Byte 5    \n    // byte 6\n    NvU8    videoLatency; //!< Byte 6\n    // byte 7\n    NvU8    audioLatency; //!< Byte 7\n    // byte 8\n    NvU8    interlacedVideoLatency; //!< Byte 8\n    // byte 9\n    NvU8    interlacedAudioLatency; //!< Byte 9\n    // byte 10\n    NvU8    reserved13                     : 7; //!< Byte 10\n    NvU8    has3dEntries                   : 1; //!< Byte 10   \n    // byte 11\n    NvU8    hdmi3dLength                   : 5; //!< Byte 11\n    NvU8    hdmiVicLength                  : 3; //!< Byte 11\n    // Remaining bytes\n    NvU8    hdmi_vic[7];  //!< Keeping maximum length for 3 bits\n    NvU8    hdmi_3d[31];  //!< Keeping maximum length for 5 bits \n} NV_MONITOR_CAPS_VSDB;\n\n\n//! See NvAPI_DISP_GetMonitorCapabilities().\ntypedef struct _NV_MONITOR_CAPABILITIES_V1\n{\n    NvU32    version;\n    NvU16    size;\n    NvU32    infoType;\n    NvU32    connectorType;        //!< Out: VGA, TV, DVI, HDMI, DP\n    NvU8     bIsValidInfo : 1;     //!< Boolean : Returns invalid if requested info is not present such as VCDB not present\n    union {\n        NV_MONITOR_CAPS_VSDB  vsdb;\n        NV_MONITOR_CAPS_VCDB  vcdb;\n    } data;\n} NV_MONITOR_CAPABILITIES_V1;\n\ntypedef NV_MONITOR_CAPABILITIES_V1 NV_MONITOR_CAPABILITIES;\n\n//! Macro for constructing the version field of ::NV_MONITOR_CAPABILITIES_V1\n#define NV_MONITOR_CAPABILITIES_VER1   MAKE_NVAPI_VERSION(NV_MONITOR_CAPABILITIES_V1,1)\n#define NV_MONITOR_CAPABILITIES_VER    NV_MONITOR_CAPABILITIES_VER1\n\n//! @}\n\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n//! \\ingroup dispcontrol\nNVAPI_INTERFACE NvAPI_DISP_GetMonitorCapabilities(__in NvU32 displayId, __inout NV_MONITOR_CAPABILITIES *pMonitorCapabilities);\n\n//! \\ingroup dispcontrol\ntypedef struct _NV_MONITOR_COLOR_DATA\n{\n    NvU32                   version;            \n// We are only supporting DP monitors for now. We need to extend this to HDMI panels as well\n    NV_DP_COLOR_FORMAT      colorFormat;        //!< One of the supported color formats\n    NV_DP_BPC               backendBitDepths;   //!< One of the supported bit depths\n} NV_MONITOR_COLOR_CAPS_V1;\n\ntypedef NV_MONITOR_COLOR_CAPS_V1 NV_MONITOR_COLOR_CAPS;\n\n//! \\ingroup dispcontrol\n#define NV_MONITOR_COLOR_CAPS_VER1   MAKE_NVAPI_VERSION(NV_MONITOR_COLOR_CAPS_V1,1)\n#define NV_MONITOR_COLOR_CAPS_VER    NV_MONITOR_COLOR_CAPS_VER1\n\n///////////////////////////////////////////////////////////////////////////////\n// FUNCTION NAME:   NvAPI_DISP_GetMonitorColorCapabilities\n//\n//! DESCRIPTION:    This API returns all the color formats and bit depth values supported by a given DP monitor. \n//!\n//! USAGE:         Sequence of calls which caller should make to get the information.\n//!                1. First call NvAPI_DISP_GetMonitorColorCapabilities() with pMonitorColorCapabilities as NULL to get the count.\n//!                2. Allocate memory for color caps(NV_MONITOR_COLOR_CAPS) array.\n//!                3. Call NvAPI_DISP_GetMonitorColorCapabilities() again with the pointer to the memory allocated to get all the \n//!                   color capabilities.\n//!                   \n//!                Note : \n//!                1. pColorCapsCount should never be NULL, else the API will fail with NVAPI_INVALID_ARGUMENT.\n//!                2. *pColorCapsCount returned from the API will always be the actual count in any/every call.\n//!                3. Memory size to be allocated should be (*pColorCapsCount * sizeof(NV_MONITOR_COLOR_CAPS)).\n//!                4. If the memory allocated is less than what is required to return all the timings, this API will return the\n//!                   amount of information which can fit in user provided buffer and API will return NVAPI_INSUFFICIENT_BUFFER.\n//!                5. If the caller specifies a greater value for *pColorCapsCount in second call to NvAPI_DISP_GetMonitorColorCapabilities()\n//!                   than what was returned from first call, the API will return only the actual number of elements in the color\n//!                   capabilities array and the extra buffer will remain unused.\n//!\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n//!\n//! \\param [in]      displayId                  Monitor Identifier\n//! \\param [in, out] pMonitorColorCapabilities  The monitor color capabilities information\n//! \\param [in, out] pColorCapsCount            - During input, the number of elements allocated for the pMonitorColorCapabilities pointer\n//!                                             - During output, the actual number of color data elements the monitor supports\n//!\n//! \\return    This API can return any of the error codes enumerated in #NvAPI_Status. If there are return error codes with \n//!            specific meaning for this API, they are listed below.\n//!\n//! \\retval         NVAPI_INSUFFICIENT_BUFFER   The input buffer size is not sufficient to hold the total contents. In this case\n//!                                             *pColorCapsCount will hold the required amount of elements.\n//! \\retval         NVAPI_INVALID_DISPLAY_ID    The input monitor is either not connected or is not a DP panel.\n//!\n//! \\ingroup dispcontrol\n//!\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_DISP_GetMonitorColorCapabilities(__in NvU32 displayId, __inout_ecount_part_opt(*pColorCapsCount, *pColorCapsCount) NV_MONITOR_COLOR_CAPS *pMonitorColorCapabilities, __inout NvU32 *pColorCapsCount);\n\n//! \\ingroup dispcontrol\n//! Used in NvAPI_DISP_EnumCustomDisplay() and NvAPI_DISP_TryCustomDisplay().\ntypedef struct\n{\n    NvU32                   version;\n    \n    // the source mode information\n    NvU32                   width;             //!< Source surface(source mode) width\n    NvU32                   height;            //!< Source surface(source mode) height\n    NvU32                   depth;             //!< Source surface color depth.\"0\" means all 8/16/32bpp\n    NV_FORMAT               colorFormat;       //!< Color format (optional)\n  \n    NV_VIEWPORTF            srcPartition;      //!< For multimon support, should be set to (0,0,1.0,1.0) for now.\n  \n    float                   xRatio;            //!< Horizontal scaling ratio\n    float                   yRatio;            //!< Vertical scaling ratio\n                                                             \n    NV_TIMING               timing;            //!< Timing used to program TMDS/DAC/LVDS/HDMI/TVEncoder, etc.\n    NvU32                   hwModeSetOnly : 1; //!< If set, it means a hardware modeset without OS update\n    \n}NV_CUSTOM_DISPLAY; \n\n//! \\ingroup dispcontrol\n//! Used in NV_CUSTOM_DISPLAY.\n#define NV_CUSTOM_DISPLAY_VER  MAKE_NVAPI_VERSION(NV_CUSTOM_DISPLAY,1)\n\n///////////////////////////////////////////////////////////////////////////////\n// FUNCTION NAME:   NvAPI_DISP_EnumCustomDisplay\n//\n//! DESCRIPTION:   This API enumerates the custom timing specified by the enum index. \n//!\t\t\t\t   The client should keep enumerating until it returns NVAPI_END_ENUMERATION.\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\since Release: 313 \n//!\n//! \\param [in]     displayId   Dispaly ID of the display.\n//! \\param [in]     index       Enum index\n//! \\param [inout]  pCustDisp   Pointer to the NV_CUSTOM_DISPLAY structure \n//!\n//! \\return        This API can return any of the error codes enumerated in #NvAPI_Status. If there are return error codes with \n//!                specific meaning for this API, they are listed below.\n//! \\retval        NVAPI_INVALID_DISPLAY_ID:   Custom Timing is not supported on the Display, whose display id is passed\n//!\n//! \\ingroup dispcontrol\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_DISP_EnumCustomDisplay( __in NvU32 displayId, __in NvU32 index, __inout NV_CUSTOM_DISPLAY *pCustDisp);\n\n///////////////////////////////////////////////////////////////////////////////\n// FUNCTION NAME:   NvAPI_DISP_TryCustomDisplay\n//\n//! DESCRIPTION:    This API is used to set up a custom display without saving the configuration on multiple displays.\n//!\n//! \\note\n//!  All the members of srcPartition, present in NV_CUSTOM_DISPLAY structure, should have their range in (0.0,1.0).\n//!  In clone mode the timings can applied to both the target monitors but only one target at a time. \\n\n//!  For the secondary target the applied timings works under the following conditions:\n//!  - If the secondary monitor EDID supports the selected timing, OR\n//!  - If the selected custom timings can be scaled by the secondary monitor for the selected source resolution on the primary, OR\n//!  - If the selected custom timings matches the existing source resolution on the primary.\n//!  Setting up a custom display on non-active but connected monitors is supported only for Win7 and above.\n//!\n//! SUPPORTED OS:  Windows XP,  Windows 7 and higher\n//!\n//!\n//! \\since Release: 313   \n//!\n//!                               \n//! \\param [in]    pDisplayIds    Array of the target display Dispaly IDs - See \\ref handles.\n//! \\param [in]    count          Total number of the incoming Display IDs and corresponding NV_CUSTOM_DISPLAY structure. This is for the multi-head support.\n//! \\param [in]    pCustDisp      Pointer to the NV_CUSTOM_DISPLAY structure array.\n//!\n//! \\return        This API can return any of the error codes enumerated in #NvAPI_Status. If there are return error codes with \n//!                specific meaning for this API, they are listed below.\n//! \\retval        NVAPI_INVALID_DISPLAY_ID:   Custom Timing is not supported on the Display, whose display id is passed\n//! \n//! \\ingroup dispcontrol\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_DISP_TryCustomDisplay( __in_ecount(count) NvU32 *pDisplayIds, __in NvU32 count, __in_ecount(count) NV_CUSTOM_DISPLAY *pCustDisp);\n\n///////////////////////////////////////////////////////////////////////////////\n// FUNCTION NAME:   NvAPI_DISP_DeleteCustomDisplay\n//\n//! DESCRIPTION:    This function deletes the custom display configuration, specified from the registry for  all the displays whose display IDs are passed.\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\since Release: 313 \n//!\n//!\n//! \\param [in]     pDisplayIds    Array of Dispaly IDs on which custom display configuration is to be saved.\n//! \\param [in]     count          Total number of the incoming Dispaly IDs. This is for the multi-head support.\n//!\t\\param [in]     pCustDisp\t   Pointer to the NV_CUSTOM_DISPLAY structure\n//!\n//! \\return        This API can return any of the error codes enumerated in #NvAPI_Status. If there are return error codes with \n//!                specific meaning for this API, they are listed below.\n//! \\retval        NVAPI_INVALID_DISPLAY_ID:   Custom Timing is not supported on the Display, whose display id is passed\n//!\n//! \\ingroup dispcontrol \n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_DISP_DeleteCustomDisplay( __in_ecount(count) NvU32 *pDisplayIds, __in NvU32 count, __in NV_CUSTOM_DISPLAY *pCustDisp);\n\n///////////////////////////////////////////////////////////////////////////////\n// FUNCTION NAME:   NvAPI_DISP_SaveCustomDisplay\n//\n//! DESCRIPTION:    This function saves the current hardware display configuration on the specified Display IDs as a custom display configuration.\n//!                 This function should be called right after NvAPI_DISP_TryCustomDisplay() to save the custom display from the current\n//!                 hardware context. This function will not do anything if the custom display configuration is not tested on the hardware.\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\since Release: 313 \n//!\n//!\n//! \\param [in]     pDisplayIds         Array of Dispaly IDs on which custom display configuration is to be saved.\n//! \\param [in]     count               Total number of the incoming Dispaly IDs. This is for the multi-head support.\n//! \\param [in]     isThisOutputIdOnly  If set, the saved custom display will only be applied on the monitor with the same outputId (see \\ref handles).\n//! \\param [in]     isThisMonitorIdOnly If set, the saved custom display will only be applied on the monitor with the same EDID ID or \n//!                                     the same TV connector in case of analog TV.\n//!\n//! \\return        This API can return any of the error codes enumerated in #NvAPI_Status. If there are return error codes with \n//!                specific meaning for this API, they are listed below.\n//! \\retval \t   NVAPI_INVALID_DISPLAY_ID:   Custom Timing is not supported on the Display, whose display id is passed\n//!\n//! \\ingroup dispcontrol\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_DISP_SaveCustomDisplay( __in_ecount(count) NvU32 *pDisplayIds, __in NvU32 count, __in NvU32 isThisOutputIdOnly, __in NvU32 isThisMonitorIdOnly);\n\n///////////////////////////////////////////////////////////////////////////////\n// FUNCTION NAME:   NvAPI_DISP_RevertCustomDisplayTrial\n//\n//! DESCRIPTION:    This API is used to restore the display configuration, that was changed by calling NvAPI_DISP_TryCustomDisplay(). This function\n//!                 must be called only after a custom display configuration is tested on the hardware, using NvAPI_DISP_TryCustomDisplay(),  \n//!                 otherwise no action is taken. On Vista, NvAPI_DISP_RevertCustomDisplayTrial should be called with an active display that  \n//!                 was affected during the NvAPI_DISP_TryCustomDisplay() call, per GPU. \n//!\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n//!\n//! \\since Release: 313  \n//!\n//!\n//! \\param [in]    pDisplayIds   Pointer to display Id, of an active display. \n//! \\param [in]    count         Total number of incoming Display IDs. For future use only. Currently it is expected to be passed as 1.\n//!\n//! \\return        This API can return any of the error codes enumerated in #NvAPI_Status. If there are return error codes with \n//!                specific meaning for this API, they are listed below.\n//!\n//! \\ingroup dispcontrol\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_DISP_RevertCustomDisplayTrial( __in_ecount(count) NvU32* pDisplayIds, __in NvU32 count);\n\n///////////////////////////////////////////////////////////////////////////////\n// FUNCTION NAME:   NvAPI_GetView\n//\n//! This API lets caller retrieve the target display arrangement for selected source display handle.\n//! \\note Display PATH with this API is limited to single GPU. DUALVIEW across GPUs will be returned as STANDARD VIEW. \n//!       Use NvAPI_SYS_GetDisplayTopologies() to query views across GPUs.\n//!\n//! \\deprecated  Do not use this function - it is deprecated in release 290. Instead, use NvAPI_DISP_GetDisplayConfig.\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n//!\n//! \\since Release: 85\n//!\n//!  \\param [in]     hNvDisplay             NVIDIA Display selection. It can be #NVAPI_DEFAULT_HANDLE or a handle enumerated from \n//!                                         NvAPI_EnumNVidiaDisplayHandle().\n//!  \\param [out]    pTargets               User allocated storage to retrieve an array of  NV_VIEW_TARGET_INFO. Can be NULL to retrieve \n//!                                         the targetCount.\n//!  \\param [in,out] targetMaskCount        Count of target device mask specified in pTargetMask.\n//!  \\param [out]    targetView             Target view selected from NV_TARGET_VIEW_MODE.\n//!\n//!  \\retval         NVAPI_OK               Completed request\n//!  \\retval         NVAPI_ERROR            Miscellaneous error occurred\n//!  \\retval         NVAPI_INVALID_ARGUMENT Invalid input parameter.\n//! \\ingroup dispcontrol\n///////////////////////////////////////////////////////////////////////////////\n__nvapi_deprecated_function(\"Do not use this function - it is deprecated in release 290. Instead, use NvAPI_DISP_GetDisplayConfig.\")\nNVAPI_INTERFACE NvAPI_GetView(NvDisplayHandle hNvDisplay, NV_VIEW_TARGET_INFO *pTargets, NvU32 *pTargetMaskCount, NV_TARGET_VIEW_MODE *pTargetView);\n\n\n\n\n\n\n\n///////////////////////////////////////////////////////////////////////////////\n// FUNCTION NAME:   NvAPI_GetViewEx\n//\n//! DESCRIPTION:    This API lets caller retrieve the target display arrangement for selected source display handle.\n//!                 \\note Display PATH with this API is limited to single GPU. DUALVIEW across GPUs will be returned as STANDARD VIEW. \n//!                       Use NvAPI_SYS_GetDisplayTopologies() to query views across GPUs.\n//!\n//! \\deprecated  Do not use this function - it is deprecated in release 290. Instead, use NvAPI_DISP_GetDisplayConfig.\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n//!\n//! \\since Release: 165\n//!\n//! \\param [in]     hNvDisplay       NVIDIA Display selection. #NVAPI_DEFAULT_HANDLE is not allowed, it has to be a handle enumerated with\n//!                                  NvAPI_EnumNVidiaDisplayHandle().\n//! \\param [in,out] pPathInfo        Count field should be set to NVAPI_MAX_DISPLAY_PATH. Can be NULL to retrieve just the pathCount.\n//! \\param [in,out] pPathCount       Number of elements in array pPathInfo->path.\n//! \\param [out]    pTargetViewMode  Display view selected from NV_TARGET_VIEW_MODE.\n//!\n//! \\retval         NVAPI_OK                      Completed request\n//! \\retval         NVAPI_API_NOT_INTIALIZED      NVAPI not initialized\n//! \\retval         NVAPI_ERROR                   Miscellaneous error occurred\n//! \\retval         NVAPI_INVALID_ARGUMENT        Invalid input parameter.\n//! \\retval         NVAPI_EXPECTED_DISPLAY_HANDLE hNvDisplay is not a valid display handle.\n//! \n//! \\ingroup dispcontrol   \n///////////////////////////////////////////////////////////////////////////////\n__nvapi_deprecated_function(\"Do not use this function - it is deprecated in release 290. Instead, use NvAPI_DISP_GetDisplayConfig.\")\nNVAPI_INTERFACE NvAPI_GetViewEx(NvDisplayHandle hNvDisplay, NV_DISPLAY_PATH_INFO *pPathInfo, NvU32 *pPathCount, NV_TARGET_VIEW_MODE *pTargetViewMode);\n\n///////////////////////////////////////////////////////////////////////////////\n// FUNCTION NAME:   NvAPI_GetSupportedViews\n//\n//!  This API lets caller enumerate all the supported NVIDIA display views - nView and Dualview modes.\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\since Release: 85\n//!\n//!  \\param [in]     hNvDisplay             NVIDIA Display selection. It can be #NVAPI_DEFAULT_HANDLE or a handle enumerated from\n//!                                         NvAPI_EnumNVidiaDisplayHandle().\n//!  \\param [out]    pTargetViews           Array of supported views. Can be NULL to retrieve the pViewCount first.\n//!  \\param [in,out] pViewCount             Count of supported views.\n//!\n//!  \\retval         NVAPI_OK               Completed request\n//!  \\retval         NVAPI_ERROR            Miscellaneous error occurred\n//!  \\retval         NVAPI_INVALID_ARGUMENT Invalid input parameter.\n//! \\ingroup dispcontrol\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_GetSupportedViews(NvDisplayHandle hNvDisplay, NV_TARGET_VIEW_MODE *pTargetViews, NvU32 *pViewCount);\n\n\n//! SUPPORTED OS:  Windows XP and higher\n//!\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME:   NvAPI_DISP_GetDisplayIdByDisplayName\n//\n//! DESCRIPTION:     This API retrieves the Display Id of a given display by\n//!                  display name. The display must be active to retrieve the\n//!                  displayId. In the case of clone mode or Surround gaming,\n//!                  the primary or top-left display will be returned.\n//!\n//! \\param [in]     displayName  Name of display (Eg: \"\\\\DISPLAY1\" to\n//!                              retrieve the displayId for.\n//! \\param [out]    displayId    Display ID of the requested display.\n//!\n//! retval ::NVAPI_OK:                          Capabilties have been returned.\n//! retval ::NVAPI_INVALID_ARGUMENT:            One or more args passed in are invalid.\n//! retval ::NVAPI_API_NOT_INTIALIZED:          The NvAPI API needs to be initialized first\n//! retval ::NVAPI_NO_IMPLEMENTATION:           This entrypoint not available\n//! retval ::NVAPI_ERROR:                       Miscellaneous error occurred\n//!\n//! \\ingroup dispcontrol\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_DISP_GetDisplayIdByDisplayName(const char *displayName, NvU32* displayId);\n\n\n\n\n///////////////////////////////////////////////////////////////////////////////\n// FUNCTION NAME:   NvAPI_DISP_GetDisplayConfig\n//\n//! DESCRIPTION:     This API lets caller retrieve the current global display\n//!                  configuration.\n//!       USAGE:     The caller might have to call this three times to fetch all the required configuration details as follows:\n//!                  First  Pass: Caller should Call NvAPI_DISP_GetDisplayConfig() with pathInfo set to NULL to fetch pathInfoCount.\n//!                  Second Pass: Allocate memory for pathInfo with respect to the number of pathInfoCount(from First Pass) to fetch \n//!                               targetInfoCount. If sourceModeInfo is needed allocate memory or it can be initialized to NULL.\n//!             Third  Pass(Optional, only required if target information is required): Allocate memory for targetInfo with respect \n//!                               to number of targetInfoCount(from Second Pass).               \n//! SUPPORTED OS:  Windows Vista and higher\n//!\n//!\n//! \\param [in,out]  pathInfoCount    Number of elements in pathInfo array, returns number of valid topologies, this cannot be null.\n//! \\param [in,out]  pathInfo         Array of path information\n//!\n//! \\return    This API can return any of the error codes enumerated in #NvAPI_Status. If there are return error codes with \n//!            specific meaning for this API, they are listed below.\n//!\n//! \\retval    NVAPI_INVALID_ARGUMENT  -   Invalid input parameter. Following can be the reason for this return value:\n//!                                        -# pathInfoCount is NULL.\n//!                                        -# *pathInfoCount is 0 and pathInfo is not NULL.\n//!                                        -# *pathInfoCount is not 0 and pathInfo is NULL.\n//! \\retval    NVAPI_DEVICE_BUSY       -   ModeSet has not yet completed. Please wait and call it again.\n//!                                       \n//! \\ingroup dispcontrol\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_DISP_GetDisplayConfig(__inout NvU32 *pathInfoCount, __out_ecount_full_opt(*pathInfoCount) NV_DISPLAYCONFIG_PATH_INFO *pathInfo);\n\n\n\n\n///////////////////////////////////////////////////////////////////////////////\n// FUNCTION NAME:   NvAPI_DISP_SetDisplayConfig\n//\n//\n//! DESCRIPTION:     This API lets caller apply a global display configuration\n//!                  across multiple GPUs.\n//!\n//!                  If all sourceIds are zero, then NvAPI will pick up sourceId's based on the following criteria :\n//!                  - If user provides sourceModeInfo then we are trying to assign 0th sourceId always to GDIPrimary. \n//!                     This is needed since active windows always moves along with 0th sourceId.\n//!                  - For rest of the paths, we are incrementally assigning the sourceId per adapter basis.\n//!                  - If user doesn't provide sourceModeInfo then NVAPI just picks up some default sourceId's in incremental order.\n//!                  Note : NVAPI will not intelligently choose the sourceIDs for any configs that does not need a modeset.\n//!\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n//!\n//! \\param [in]      pathInfoCount   Number of supplied elements in pathInfo\n//! \\param [in]      pathInfo        Array of path information\n//! \\param [in]      flags           Flags for applying settings\n//! \n//! \\retval ::NVAPI_OK - completed request\n//! \\retval ::NVAPI_API_NOT_INTIALIZED - NVAPI not initialized\n//! \\retval ::NVAPI_ERROR - miscellaneous error occurred\n//! \\retval ::NVAPI_INVALID_ARGUMENT - Invalid input parameter.\n//!\n//! \\ingroup dispcontrol\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_DISP_SetDisplayConfig(__in NvU32 pathInfoCount, __in_ecount(pathInfoCount) NV_DISPLAYCONFIG_PATH_INFO* pathInfo, __in NvU32 flags);\n\n\n\n\n\n////////////////////////////////////////////////////////////////////////////////////////\n//\n// MOSAIC allows a multi display target output scanout on a single source. \n//\n// SAMPLE of MOSAIC 1x4 topo with 8 pixel horizontal overlap\n//\n//+-------------------------++-------------------------++-------------------------++-------------------------+\n//|                         ||                         ||                         ||                         |\n//|                         ||                         ||                         ||                         |\n//|                         ||                         ||                         ||                         |\n//|        DVI1             ||           DVI2          ||         DVI3            ||          DVI4           |\n//|                         ||                         ||                         ||                         |\n//|                         ||                         ||                         ||                         |\n//|                         ||                         ||                         ||                         |\n//|                         ||                         ||                         ||                         |\n//+-------------------------++-------------------------++-------------------------++-------------------------+\n\n\n//! \\addtogroup mosaicapi\n//! @{\n\n#define NVAPI_MAX_MOSAIC_DISPLAY_ROWS       8\n#define NVAPI_MAX_MOSAIC_DISPLAY_COLUMNS    8\n//\n// These bits are used to describe the validity of a topo.\n//\n#define NV_MOSAIC_TOPO_VALIDITY_VALID               0x00000000  //!< The topology is valid\n#define NV_MOSAIC_TOPO_VALIDITY_MISSING_GPU         0x00000001  //!< Not enough SLI GPUs were found to fill the entire\n                                                                //! topology. hPhysicalGPU will be 0 for these.\n#define NV_MOSAIC_TOPO_VALIDITY_MISSING_DISPLAY     0x00000002  //!< Not enough displays were found to fill the entire\n                                                                //! topology. displayOutputId will be 0 for these.\n#define NV_MOSAIC_TOPO_VALIDITY_MIXED_DISPLAY_TYPES 0x00000004  //!< The topoogy is only possible with displays of the same\n                                                                //! NV_GPU_OUTPUT_TYPE. Check displayOutputIds to make\n                                                                //! sure they are all CRTs, or all DFPs.\n\n\n//\n//! This structure defines the topology details.\ntypedef struct \n{\n    NvU32                version;              //!< Version of this structure\n    NvLogicalGpuHandle   hLogicalGPU;          //!< Logical GPU for this topology \n    NvU32                validityMask;         //!< 0 means topology is valid with the current hardware.\n                                               //! If not 0, inspect bits against NV_MOSAIC_TOPO_VALIDITY_*.\n    NvU32                rowCount;             //!< Number of displays in a row\n    NvU32                colCount;             //!< Number of displays in a column\n\n    struct \n    {\n        NvPhysicalGpuHandle hPhysicalGPU;      //!< Physical GPU to be used in the topology (0 if GPU missing)\n        NvU32               displayOutputId;   //!< Connected display target (0 if no display connected)\n        NvS32               overlapX;          //!< Pixels of overlap on left of target: (+overlap, -gap)\n        NvS32               overlapY;          //!< Pixels of overlap on top of target: (+overlap, -gap)\n\n    } gpuLayout[NVAPI_MAX_MOSAIC_DISPLAY_ROWS][NVAPI_MAX_MOSAIC_DISPLAY_COLUMNS];\n\n} NV_MOSAIC_TOPO_DETAILS;\n\n//! Macro for constructing te vesion field of NV_MOSAIC_TOPO_DETAILS\n#define NVAPI_MOSAIC_TOPO_DETAILS_VER         MAKE_NVAPI_VERSION(NV_MOSAIC_TOPO_DETAILS,1)\n\n\n//\n//! These values refer to the different types of Mosaic topologies that are possible.  When\n//! getting the supported Mosaic topologies, you can specify one of these types to narrow down\n//! the returned list to only those that match the given type.\ntypedef enum\n{\n    NV_MOSAIC_TOPO_TYPE_ALL,                          //!< All mosaic topologies\n    NV_MOSAIC_TOPO_TYPE_BASIC,                        //!< Basic Mosaic topologies\n    NV_MOSAIC_TOPO_TYPE_PASSIVE_STEREO,               //!< Passive Stereo topologies\n    NV_MOSAIC_TOPO_TYPE_SCALED_CLONE,                 //!< Not supported at this time\n    NV_MOSAIC_TOPO_TYPE_PASSIVE_STEREO_SCALED_CLONE,  //!< Not supported at this time\n    NV_MOSAIC_TOPO_TYPE_MAX,                          //!< Always leave this at end of the enum\n} NV_MOSAIC_TOPO_TYPE;\n\n\n//\n//! This is a complete list of supported Mosaic topologies.\n//!\n//! Using a \"Basic\" topology combines multiple monitors to create a single desktop.\n//!\n//! Using a \"Passive\" topology combines multiples monitors to create a passive stereo desktop.\n//! In passive stereo, two identical topologies combine - one topology is used for the right eye and the other identical //! topology (targeting different displays) is used for the left eye.  \\n  \n//! NOTE: common\\inc\\nvEscDef.h shadows a couple PASSIVE_STEREO enums.  If this\n//!       enum list changes and effects the value of NV_MOSAIC_TOPO_BEGIN_PASSIVE_STEREO\n//!       please update the corresponding value in nvEscDef.h\ntypedef enum\n{\n    NV_MOSAIC_TOPO_NONE,\n\n    // 'BASIC' topos start here\n    //\n    // The result of using one of these Mosaic topos is that multiple monitors\n    // will combine to create a single desktop.\n    //\n    NV_MOSAIC_TOPO_BEGIN_BASIC,\n    NV_MOSAIC_TOPO_1x2_BASIC = NV_MOSAIC_TOPO_BEGIN_BASIC,\n    NV_MOSAIC_TOPO_2x1_BASIC,\n    NV_MOSAIC_TOPO_1x3_BASIC,\n    NV_MOSAIC_TOPO_3x1_BASIC,\n    NV_MOSAIC_TOPO_1x4_BASIC,\n    NV_MOSAIC_TOPO_4x1_BASIC,\n    NV_MOSAIC_TOPO_2x2_BASIC,\n    NV_MOSAIC_TOPO_2x3_BASIC,\n    NV_MOSAIC_TOPO_2x4_BASIC,\n    NV_MOSAIC_TOPO_3x2_BASIC,\n    NV_MOSAIC_TOPO_4x2_BASIC,\n    NV_MOSAIC_TOPO_1x5_BASIC,\n    NV_MOSAIC_TOPO_1x6_BASIC,\n    NV_MOSAIC_TOPO_7x1_BASIC,\n\n    // Add padding for 10 more entries. 6 will be enough room to specify every\n    // possible topology with 8 or fewer displays, so this gives us a little\n    // extra should we need it.\n    NV_MOSAIC_TOPO_END_BASIC = NV_MOSAIC_TOPO_7x1_BASIC + 9,\n\n    // 'PASSIVE_STEREO' topos start here\n    //\n    // The result of using one of these Mosaic topos is that multiple monitors\n    // will combine to create a single PASSIVE STEREO desktop.  What this means is\n    // that there will be two topos that combine to create the overall desktop.\n    // One topo will be used for the left eye, and the other topo (of the\n    // same rows x cols), will be used for the right eye.  The difference between\n    // the two topos is that different GPUs and displays will be used.\n    //\n    NV_MOSAIC_TOPO_BEGIN_PASSIVE_STEREO,    // value shadowed in nvEscDef.h\n    NV_MOSAIC_TOPO_1x2_PASSIVE_STEREO = NV_MOSAIC_TOPO_BEGIN_PASSIVE_STEREO,\n    NV_MOSAIC_TOPO_2x1_PASSIVE_STEREO,\n    NV_MOSAIC_TOPO_1x3_PASSIVE_STEREO,\n    NV_MOSAIC_TOPO_3x1_PASSIVE_STEREO,\n    NV_MOSAIC_TOPO_1x4_PASSIVE_STEREO,\n    NV_MOSAIC_TOPO_4x1_PASSIVE_STEREO,\n    NV_MOSAIC_TOPO_2x2_PASSIVE_STEREO,\n    NV_MOSAIC_TOPO_END_PASSIVE_STEREO = NV_MOSAIC_TOPO_2x2_PASSIVE_STEREO + 4,\n\n\n    //\n    // Total number of topos.  Always leave this at the end of the enumeration.\n    //\n    NV_MOSAIC_TOPO_MAX  //! Total number of topologies.\n\n} NV_MOSAIC_TOPO;\n\n\n//\n//! This is a \"topology brief\" structure.  It tells you what you need to know about\n//! a topology at a high level. A list of these is returned when you query for the\n//! supported Mosaic information.\n//!\n//! If you need more detailed information about the topology, call\n//! NvAPI_Mosaic_GetTopoGroup() with the topology value from this structure.\ntypedef struct \n{\n    NvU32                        version;            //!< Version of this structure\n    NV_MOSAIC_TOPO               topo;               //!< The topology\n    NvU32                        enabled;            //!< 1 if topo is enabled, else 0\n    NvU32                        isPossible;         //!< 1 if topo *can* be enabled, else 0\n\n} NV_MOSAIC_TOPO_BRIEF;\n\n//! Macro for constructing the version field of NV_MOSAIC_TOPO_BRIEF\n#define NVAPI_MOSAIC_TOPO_BRIEF_VER         MAKE_NVAPI_VERSION(NV_MOSAIC_TOPO_BRIEF,1)\n\n\n//\n//! Basic per-display settings that are used in setting/getting the Mosaic mode\ntypedef struct _NV_MOSAIC_DISPLAY_SETTING_V1\n{\n    NvU32                        version;            //!< Version of this structure\n    NvU32                        width;              //!< Per-display width\n    NvU32                        height;             //!< Per-display height\n    NvU32                        bpp;                //!< Bits per pixel\n    NvU32                        freq;               //!< Display frequency\n} NV_MOSAIC_DISPLAY_SETTING_V1;\n\ntypedef struct NV_MOSAIC_DISPLAY_SETTING_V2\n{\n    NvU32                        version;            //!< Version of this structure\n    NvU32                        width;              //!< Per-display width\n    NvU32                        height;             //!< Per-display height\n    NvU32                        bpp;                //!< Bits per pixel\n    NvU32                        freq;               //!< Display frequency\n    NvU32                        rrx1k;              //!< Display frequency in x1k\n} NV_MOSAIC_DISPLAY_SETTING_V2;\n\ntypedef NV_MOSAIC_DISPLAY_SETTING_V2 NV_MOSAIC_DISPLAY_SETTING;\n\n//! Macro for constructing the version field of NV_MOSAIC_DISPLAY_SETTING\n#define NVAPI_MOSAIC_DISPLAY_SETTING_VER1         MAKE_NVAPI_VERSION(NV_MOSAIC_DISPLAY_SETTING_V1,1)\n#define NVAPI_MOSAIC_DISPLAY_SETTING_VER2         MAKE_NVAPI_VERSION(NV_MOSAIC_DISPLAY_SETTING_V2,2)\n#define NVAPI_MOSAIC_DISPLAY_SETTING_VER          NVAPI_MOSAIC_DISPLAY_SETTING_VER2\n\n\n//\n// Set a reasonable max number of display settings to support\n// so arrays are bound.\n//\n#define NV_MOSAIC_DISPLAY_SETTINGS_MAX 40  //!< Set a reasonable maximum number of display settings to support\n                                           //! so arrays are bound.\n\n\n//\n//! This structure is used to contain a list of supported Mosaic topologies\n//! along with the display settings that can be used.\ntypedef struct _NV_MOSAIC_SUPPORTED_TOPO_INFO_V1\n{\n    NvU32                          version;                                         //!< Version of this structure\n    NvU32                          topoBriefsCount;                                 //!< Number of topologies in below array\n    NV_MOSAIC_TOPO_BRIEF           topoBriefs[NV_MOSAIC_TOPO_MAX];                  //!< List of supported topologies with only brief details\n    NvU32                          displaySettingsCount;                            //!< Number of display settings in below array\n    NV_MOSAIC_DISPLAY_SETTING_V1   displaySettings[NV_MOSAIC_DISPLAY_SETTINGS_MAX]; //!< List of per display settings possible\n\n} NV_MOSAIC_SUPPORTED_TOPO_INFO_V1;\n\ntypedef struct _NV_MOSAIC_SUPPORTED_TOPO_INFO_V2\n{\n    NvU32                          version;                                         //!< Version of this structure\n    NvU32                          topoBriefsCount;                                 //!< Number of topologies in below array\n    NV_MOSAIC_TOPO_BRIEF           topoBriefs[NV_MOSAIC_TOPO_MAX];                  //!< List of supported topologies with only brief details\n    NvU32                          displaySettingsCount;                            //!< Number of display settings in below array\n    NV_MOSAIC_DISPLAY_SETTING_V2   displaySettings[NV_MOSAIC_DISPLAY_SETTINGS_MAX]; //!< List of per display settings possible\n\n} NV_MOSAIC_SUPPORTED_TOPO_INFO_V2;\n\ntypedef NV_MOSAIC_SUPPORTED_TOPO_INFO_V2 NV_MOSAIC_SUPPORTED_TOPO_INFO;\n\n//! Macro forconstructing  the version field of NV_MOSAIC_SUPPORTED_TOPO_INFO\n#define NVAPI_MOSAIC_SUPPORTED_TOPO_INFO_VER1         MAKE_NVAPI_VERSION(NV_MOSAIC_SUPPORTED_TOPO_INFO_V1,1)\n#define NVAPI_MOSAIC_SUPPORTED_TOPO_INFO_VER2         MAKE_NVAPI_VERSION(NV_MOSAIC_SUPPORTED_TOPO_INFO_V2,2)\n#define NVAPI_MOSAIC_SUPPORTED_TOPO_INFO_VER          NVAPI_MOSAIC_SUPPORTED_TOPO_INFO_VER2\n\n\n//\n// Indices to use to access the topos array within the mosaic topology\n#define NV_MOSAIC_TOPO_IDX_DEFAULT       0\n\n#define NV_MOSAIC_TOPO_IDX_LEFT_EYE      0\n#define NV_MOSAIC_TOPO_IDX_RIGHT_EYE     1\n#define NV_MOSAIC_TOPO_NUM_EYES          2\n\n\n//\n//! This defines the maximum number of topos that can be in a topo group.\n//! At this time, it is set to 2 because our largest topo group (passive\n//! stereo) only needs 2 topos (left eye and right eye).\n//!\n//! If a new topo group with more than 2 topos is added above, then this\n//! number will also have to be incremented.\n#define NV_MOSAIC_MAX_TOPO_PER_TOPO_GROUP 2 \n\n\n//\n//! This structure defines a group of topologies that work together to create one\n//! overall layout.  All of the supported topologies are represented with this\n//! structure.\n//!\n//! For example, a 'Passive Stereo' topology would be represented with this\n//! structure, and would have separate topology details for the left and right eyes.\n//! The count would be 2.  A 'Basic' topology is also represented by this structure,\n//! with a count of 1.\n//!\n//! The structure is primarily used internally, but is exposed to applications in a\n//! read-only fashion because there are some details in it that might be useful\n//! (like the number of rows/cols, or connected display information).  A user can\n//! get the filled-in structure by calling NvAPI_Mosaic_GetTopoGroup().\n//!\n//! You can then look at the detailed values within the structure.  There are no\n//! entrypoints which take this structure as input (effectively making it read-only).\ntypedef struct \n{\n    NvU32                      version;              //!< Version of this structure\n    NV_MOSAIC_TOPO_BRIEF       brief;                //!< The brief details of this topo\n    NvU32                      count;                //!< Number of topos in array below\n    NV_MOSAIC_TOPO_DETAILS     topos[NV_MOSAIC_MAX_TOPO_PER_TOPO_GROUP];\n\n} NV_MOSAIC_TOPO_GROUP;\n\n//! Macro for constructing the version field of NV_MOSAIC_TOPO_GROUP\n#define NVAPI_MOSAIC_TOPO_GROUP_VER         MAKE_NVAPI_VERSION(NV_MOSAIC_TOPO_GROUP,1)\n\n//! @}\n\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME:   NvAPI_Mosaic_GetSupportedTopoInfo\n//\n//! DESCRIPTION:     This API returns information on the topologies and display resolutions\n//!                  supported by Mosaic mode.\n//!\n//!                  NOTE: Not all topologies returned can be set immediately.\n//!                        See 'OUT' Notes below.\n//!\n//!                  Once you get the list of supported topologies, you can call\n//!                  NvAPI_Mosaic_GetTopoGroup() with one of the Mosaic topologies if you need\n//!                  more information about it.\n//!\n//!     <b>'IN' Notes:</b>  pSupportedTopoInfo->version must be set before calling this function.\n//!                  If the specified version is not supported by this implementation,\n//!                  an error will be returned (NVAPI_INCOMPATIBLE_STRUCT_VERSION).\n//!\n//!     <b>'OUT' Notes:</b> Some of the topologies returned might not be valid for one reason or\n//!                  another.  It could be due to mismatched or missing displays.  It\n//!                  could also be because the required number of GPUs is not found.\n//!                  At a high level, you can see if the topology is valid and can be enabled\n//!                  by looking at the pSupportedTopoInfo->topoBriefs[xxx].isPossible flag.\n//!                  If this is true, the topology can be enabled. If it\n//!                  is false, you can find out why it cannot be enabled by getting the\n//!                  details of the topology via NvAPI_Mosaic_GetTopoGroup().  From there,\n//!                  look at the validityMask of the individual topologies.  The bits can\n//!                  be tested against the NV_MOSAIC_TOPO_VALIDITY_* bits.\n//!\n//!                  It is possible for this function to return NVAPI_OK with no topologies\n//!                  listed in the return structure.  If this is the case, it means that\n//!                  the current hardware DOES support Mosaic, but with the given configuration\n//!                  no valid topologies were found.  This most likely means that SLI was not\n//!                  enabled for the hardware. Once enabled, you should see valid topologies\n//!                  returned from this function.\n//!    \n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\since Release: 185\n//!\n//!\n//! \\param [in,out]  pSupportedTopoInfo  Information about what topologies and display resolutions\n//!                                      are supported for Mosaic.\n//! \\param [in]      type                The type of topologies the caller is interested in\n//!                                      getting. See NV_MOSAIC_TOPO_TYPE for possible values.\n//!\n//! \\retval ::NVAPI_OK                          No errors in returning supported topologies.\n//! \\retval ::NVAPI_NOT_SUPPORTED               Mosaic is not supported with the existing hardware.\n//! \\retval ::NVAPI_INVALID_ARGUMENT            One or more arguments passed in are invalid.\n//! \\retval ::NVAPI_API_NOT_INTIALIZED          The NvAPI API needs to be initialized first.\n//! \\retval ::NVAPI_NO_IMPLEMENTATION           This entrypoint not available.\n//! \\retval ::NVAPI_INCOMPATIBLE_STRUCT_VERSION The version of the structure passed in is not\n//                                              compatible with this entry point.\n//! \\retval ::NVAPI_ERROR:                      Miscellaneous error occurred.\n//!\n//! \\ingroup mosaicapi\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_Mosaic_GetSupportedTopoInfo(NV_MOSAIC_SUPPORTED_TOPO_INFO *pSupportedTopoInfo, NV_MOSAIC_TOPO_TYPE type);\n\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME:   NvAPI_Mosaic_GetTopoGroup\n//\n//! DESCRIPTION:     This API returns a structure filled with the details\n//!                  of the specified Mosaic topology.\n//!\n//!                  If the pTopoBrief passed in matches the current topology,\n//!                  then information in the brief and group structures\n//!                  will reflect what is current. Thus the brief would have\n//!                  the current 'enable' status, and the group would have the\n//!                  current overlap values. If there is no match, then the\n//!                  returned brief has an 'enable' status of FALSE (since it\n//!                  is obviously not enabled), and the overlap values will be 0.\n//!\n//!     <b>'IN' Notes:</b>  pTopoGroup->version must be set before calling this function.\n//!                  If the specified version is not supported by this implementation,\n//!                  an error will be returned (NVAPI_INCOMPATIBLE_STRUCT_VERSION).\n//!\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\since Release: 185\n//!\n//! \\param [in]     pTopoBrief        The topology for getting the details\n//!                                   This must be one of the topology briefs\n//!                                   returned from NvAPI_Mosaic_GetSupportedTopoInfo().\n//! \\param [in,out] pTopoGroup        The topology details matching the brief\n//!\n//! \\retval ::NVAPI_OK                          Details were retrieved successfully.\n//! \\retval ::NVAPI_NOT_SUPPORTED               Mosaic is not supported with the existing hardware.\n//! \\retval ::NVAPI_INVALID_ARGUMENT            One or more argumentss passed in are invalid.\n//! \\retval ::NVAPI_API_NOT_INTIALIZED          The NvAPI API needs to be initialized first.\n//! \\retval ::NVAPI_NO_IMPLEMENTATION           This entrypoint not available.\n//! \\retval ::NVAPI_INCOMPATIBLE_STRUCT_VERSION The version of the structure passed in is not\n//                                              compatible with this entry point.\n//! \\retval ::NVAPI_ERROR:                      Miscellaneous error occurred.\n//!\n//! \\ingroup mosaicapi\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_Mosaic_GetTopoGroup(NV_MOSAIC_TOPO_BRIEF *pTopoBrief, NV_MOSAIC_TOPO_GROUP *pTopoGroup);\n\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME:   NvAPI_Mosaic_GetOverlapLimits\n//\n//! DESCRIPTION:     This API returns the X and Y overlap limits required if\n//!                  the given Mosaic topology and display settings are to be used.\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\since Release: 185\n//!\n//! \\param [in]   pTopoBrief          The topology for getting limits\n//!                                   This must be one of the topo briefs\n//!                                   returned from NvAPI_Mosaic_GetSupportedTopoInfo().\n//! \\param [in]   pDisplaySetting     The display settings for getting the limits.\n//!                                   This must be one of the settings\n//!                                   returned from NvAPI_Mosaic_GetSupportedTopoInfo().\n//! \\param [out]  pMinOverlapX        X overlap minimum\n//! \\param [out]  pMaxOverlapX        X overlap maximum\n//! \\param [out]  pMinOverlapY        Y overlap minimum\n//! \\param [out]  pMaxOverlapY        Y overlap maximum\n//!\n//! \\retval ::NVAPI_OK                          Details were retrieved successfully.\n//! \\retval ::NVAPI_NOT_SUPPORTED               Mosaic is not supported with the existing hardware.\n//! \\retval ::NVAPI_INVALID_ARGUMENT            One or more argumentss passed in are invalid.\n//! \\retval ::NVAPI_API_NOT_INTIALIZED          The NvAPI API needs to be initialized first.\n//! \\retval ::NVAPI_NO_IMPLEMENTATION           This entrypoint not available.\n//! \\retval ::NVAPI_INCOMPATIBLE_STRUCT_VERSION The version of the structure passed in is not\n//!                                             compatible with this entry point.\n//! \\retval ::NVAPI_ERROR                       Miscellaneous error occurred.\n//!\n//! \\ingroup mosaicapi\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_Mosaic_GetOverlapLimits(NV_MOSAIC_TOPO_BRIEF *pTopoBrief, NV_MOSAIC_DISPLAY_SETTING *pDisplaySetting, NvS32 *pMinOverlapX, NvS32 *pMaxOverlapX, NvS32 *pMinOverlapY, NvS32 *pMaxOverlapY);\n\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME:   NvAPI_Mosaic_SetCurrentTopo\n//\n//! DESCRIPTION:     This API sets the Mosaic topology and performs a mode switch \n//!                  using the given display settings.\n//!\n//!                  If NVAPI_OK is returned, the current Mosaic topology was set\n//!                  correctly.  Any other status returned means the\n//!                  topology was not set, and remains what it was before this\n//!                  function was called.\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\since Release: 185\n//!\n//! \\param [in]     pTopoBrief        The topology to set. This must be one of the topologies returned from\n//!                                   NvAPI_Mosaic_GetSupportedTopoInfo(), and it must have an isPossible value of 1.\n//! \\param [in]     pDisplaySetting   The per display settings to be used in the Mosaic mode. This must be one of the\n//!                                   settings returned from NvAPI_Mosaic_GetSupportedTopoInfo().\n//! \\param [in]     overlapX          The pixel overlap to use between horizontal displays (use positive a number for\n//!                                   overlap, or a negative number to create a gap.) If the overlap is out of bounds\n//!                                   for what is possible given the topo and display setting, the overlap will be clamped.\n//! \\param [in]     overlapY          The pixel overlap to use between vertical displays (use positive a number for\n//!                                   overlap, or a negative number to create a gap.) If the overlap is out of bounds for\n//!                                   what is possible given the topo and display setting, the overlap will be clamped.\n//! \\param [in]     enable            If 1, the topology being set will also be enabled, meaning that the mode set will\n//!                                   occur.  \\n\n//!                                   If 0, you don't want to be in Mosaic mode right now, but want to set the current\n//!                                   Mosaic topology so you can enable it later with NvAPI_Mosaic_EnableCurrentTopo().\n//!\n//! \\retval  ::NVAPI_OK                          The Mosaic topology was set.\n//! \\retval  ::NVAPI_NOT_SUPPORTED               Mosaic is not supported with the existing hardware.\n//! \\retval  ::NVAPI_INVALID_ARGUMENT            One or more argumentss passed in are invalid.\n//! \\retval  ::NVAPI_TOPO_NOT_POSSIBLE           The topology passed in is not currently possible.\n//! \\retval  ::NVAPI_API_NOT_INTIALIZED          The NvAPI API needs to be initialized first.\n//! \\retval  ::NVAPI_NO_IMPLEMENTATION           This entrypoint not available.\n//! \\retval  ::NVAPI_INCOMPATIBLE_STRUCT_VERSION The version of the structure passed in is not\n//!                                              compatible with this entrypoint.\n//! \\retval  ::NVAPI_MODE_CHANGE_FAILED          There was an error changing the display mode.\n//! \\retval  ::NVAPI_ERROR                       Miscellaneous error occurred.\n//!\n//! \\ingroup mosaicapi\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_Mosaic_SetCurrentTopo(NV_MOSAIC_TOPO_BRIEF *pTopoBrief, NV_MOSAIC_DISPLAY_SETTING *pDisplaySetting, NvS32 overlapX, NvS32 overlapY, NvU32 enable);\n\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME:   NvAPI_Mosaic_GetCurrentTopo\n//\n//! DESCRIPTION:     This API returns information for the current Mosaic topology.\n//!                  This includes topology, display settings, and overlap values.\n//!\n//!                  You can call NvAPI_Mosaic_GetTopoGroup() with the topology\n//!                  if you require more information.\n//!\n//!                  If there isn't a current topology, then pTopoBrief->topo will\n//!                  be NV_MOSAIC_TOPO_NONE.\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\since Release: 185\n//!\n//! \\param [out]     pTopoBrief       The current Mosaic topology\n//! \\param [out]     pDisplaySetting  The current per-display settings\n//! \\param [out]     pOverlapX        The pixel overlap between horizontal displays\n//! \\param [out]     pOverlapY        The pixel overlap between vertical displays\n//!\n//! \\retval ::NVAPI_OK                          Success getting current info.\n//! \\retval ::NVAPI_NOT_SUPPORTED               Mosaic is not supported with the existing hardware.\n//! \\retval ::NVAPI_INVALID_ARGUMENT            One or more argumentss passed in are invalid.\n//! \\retval ::NVAPI_API_NOT_INTIALIZED          The NvAPI API needs to be initialized first.\n//! \\retval ::NVAPI_NO_IMPLEMENTATION           This entry point not available.\n//! \\retval ::NVAPI_ERROR                       Miscellaneous error occurred.\n//!\n//! \\ingroup mosaicapi\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_Mosaic_GetCurrentTopo(NV_MOSAIC_TOPO_BRIEF *pTopoBrief, NV_MOSAIC_DISPLAY_SETTING *pDisplaySetting, NvS32 *pOverlapX, NvS32 *pOverlapY);\n\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME:   NvAPI_Mosaic_EnableCurrentTopo\n//\n//! DESCRIPTION:     This API enables or disables the current Mosaic topology\n//!                  based on the setting of the incoming 'enable' parameter.\n//!\n//!                  An \"enable\" setting enables the current (previously set) Mosaic topology.\n//!                  Note that when the current Mosaic topology is retrieved, it must have an isPossible value of 1 or\n//!                  an error will occur.\n//!\n//!                  A \"disable\" setting disables the current Mosaic topology.\n//!                  The topology information will persist, even across reboots.\n//!                  To re-enable the Mosaic topology, call this function\n//!                  again with the enable parameter set to 1.\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\since Release: 185\n//!\n//! \\param [in]   enable               1 to enable the current Mosaic topo, 0 to disable it.\n//!\n//! \\retval ::NVAPI_OK                 The Mosaic topo was enabled/disabled.\n//! \\retval ::NVAPI_NOT_SUPPORTED      Mosaic is not supported with the existing hardware.\n//! \\retval ::NVAPI_INVALID_ARGUMENT   One or more arguments passed in are invalid.\n//! \\retval ::NVAPI_TOPO_NOT_POSSIBLE  The current topology is not currently possible.\n//! \\retval ::NVAPI_MODE_CHANGE_FAILED There was an error changing the display mode.\n//! \\retval ::NVAPI_ERROR:             Miscellaneous error occurred.\n//!\n//! \\ingroup mosaicapi\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_Mosaic_EnableCurrentTopo(NvU32 enable);\n\n//! \\ingroup mosaicapi\n//! @{\ntypedef struct _NV_MOSAIC_GRID_TOPO_DISPLAY_V1\n{\n    NvU32                       displayId;              //!< DisplayID of the display\n    NvS32                       overlapX;               //!< (+overlap, -gap)\n    NvS32                       overlapY;               //!< (+overlap, -gap)\n    NV_ROTATE                   rotation;               //!< Rotation of display\n    NvU32                       cloneGroup;             //!< Reserved, must be 0\n} NV_MOSAIC_GRID_TOPO_DISPLAY_V1;\n\ntypedef enum _NV_PIXEL_SHIFT_TYPE\n{\n    NV_PIXEL_SHIFT_TYPE_NO_PIXEL_SHIFT            = 0,          //!< No pixel shift will be applied to this display.\n    NV_PIXEL_SHIFT_TYPE_2x2_TOP_LEFT_PIXELS       = 1,          //!< This display will be used to scanout top left pixels in 2x2 PixelShift configuration\n    NV_PIXEL_SHIFT_TYPE_2x2_BOTTOM_RIGHT_PIXELS   = 2,          //!< This display will be used to scanout bottom right pixels in 2x2 PixelShift configuration\n} NV_PIXEL_SHIFT_TYPE;\n\ntypedef struct _NV_MOSAIC_GRID_TOPO_DISPLAY_V2\n{\n    NvU32                               version;                //!< Version of this structure\n\n    NvU32                               displayId;              //!< DisplayID of the display\n    NvS32                               overlapX;               //!< (+overlap, -gap)\n    NvS32                               overlapY;               //!< (+overlap, -gap)\n    NV_ROTATE                           rotation;               //!< Rotation of display\n    NvU32                               cloneGroup;             //!< Reserved, must be 0\n    NV_PIXEL_SHIFT_TYPE                 pixelShiftType;         //!< Type of the pixel shift enabled display\n} NV_MOSAIC_GRID_TOPO_DISPLAY_V2;\n\n#ifndef NV_MOSAIC_GRID_TOPO_DISPLAY_VER\n\ntypedef NV_MOSAIC_GRID_TOPO_DISPLAY_V1           NV_MOSAIC_GRID_TOPO_DISPLAY;\n\n#endif\n\ntypedef struct _NV_MOSAIC_GRID_TOPO_V1\n{\n    NvU32                          version;                            //!< Version of this structure\n    NvU32                          rows;                               //!< Number of rows\n    NvU32                          columns;                            //!< Number of columns\n    NvU32                          displayCount;                       //!< Number of display details\n    NvU32                          applyWithBezelCorrect : 1;          //!< When enabling and doing the modeset, do we switch to the bezel-corrected resolution\n    NvU32                          immersiveGaming : 1;                //!< Enable as immersive gaming instead of Mosaic SLI (for Quadro-boards only)\n    NvU32                          baseMosaic : 1;                     //!< Enable as Base Mosaic (Panoramic) instead of Mosaic SLI (for NVS and Quadro-boards only)\n    NvU32                          driverReloadAllowed : 1;            //!< If necessary, reloading the driver is permitted (for Vista and above only). Will not be persisted. Value undefined on get.\n    NvU32                          acceleratePrimaryDisplay : 1;       //!< Enable SLI acceleration on the primary display while in single-wide mode (For Immersive Gaming only). Will not be persisted. Value undefined on get.\n    NvU32                          reserved : 27;                      //!< Reserved, must be 0\n    NV_MOSAIC_GRID_TOPO_DISPLAY_V1 displays[NV_MOSAIC_MAX_DISPLAYS];   //!< Displays are done as [(row * columns) + column]\n    NV_MOSAIC_DISPLAY_SETTING_V1   displaySettings;                    //!< Display settings\n} NV_MOSAIC_GRID_TOPO_V1;\n\ntypedef struct _NV_MOSAIC_GRID_TOPO_V2\n{\n    NvU32                          version;                            //!< Version of this structure\n    NvU32                          rows;                               //!< Number of rows\n    NvU32                          columns;                            //!< Number of columns\n    NvU32                          displayCount;                       //!< Number of display details\n    NvU32                          applyWithBezelCorrect : 1;          //!< When enabling and doing the modeset, do we switch to the bezel-corrected resolution\n    NvU32                          immersiveGaming : 1;                //!< Enable as immersive gaming instead of Mosaic SLI (for Quadro-boards only)\n    NvU32                          baseMosaic : 1;                     //!< Enable as Base Mosaic (Panoramic) instead of Mosaic SLI (for NVS and Quadro-boards only)\n    NvU32                          driverReloadAllowed : 1;            //!< If necessary, reloading the driver is permitted (for Vista and above only). Will not be persisted. Value undefined on get.\n    NvU32                          acceleratePrimaryDisplay : 1;       //!< Enable SLI acceleration on the primary display while in single-wide mode (For Immersive Gaming only). Will not be persisted. Value undefined on get.\n    NvU32                          pixelShift : 1;                     //!< Enable Pixel shift\n    NvU32                          reserved : 26;                      //!< Reserved, must be 0\n    NV_MOSAIC_GRID_TOPO_DISPLAY_V2 displays[NV_MOSAIC_MAX_DISPLAYS];   //!< Displays are done as [(row * columns) + column]\n    NV_MOSAIC_DISPLAY_SETTING_V1   displaySettings;                    //!< Display settings\n} NV_MOSAIC_GRID_TOPO_V2;\n\n//! Macro for constructing the version field of ::NV_MOSAIC_GRID_TOPO\n#define NV_MOSAIC_GRID_TOPO_VER1         MAKE_NVAPI_VERSION(NV_MOSAIC_GRID_TOPO_V1,1)\n#define NV_MOSAIC_GRID_TOPO_VER2         MAKE_NVAPI_VERSION(NV_MOSAIC_GRID_TOPO_V2,2)\n#ifndef NV_MOSAIC_GRID_TOPO_VER\n\ntypedef NV_MOSAIC_GRID_TOPO_V2           NV_MOSAIC_GRID_TOPO;\n\n//! Macro for constructing the version field of ::NV_MOSAIC_GRID_TOPO\n#define NV_MOSAIC_GRID_TOPO_VER          NV_MOSAIC_GRID_TOPO_VER2\n\n#endif\n\n//! @}\n\n//! since Release R290\n\n#define NV_MOSAIC_DISPLAYCAPS_PROBLEM_DISPLAY_ON_INVALID_GPU        NV_BIT(0)\n#define NV_MOSAIC_DISPLAYCAPS_PROBLEM_DISPLAY_ON_WRONG_CONNECTOR    NV_BIT(1)\n#define NV_MOSAIC_DISPLAYCAPS_PROBLEM_NO_COMMON_TIMINGS             NV_BIT(2)\n#define NV_MOSAIC_DISPLAYCAPS_PROBLEM_NO_EDID_AVAILABLE             NV_BIT(3)\n#define NV_MOSAIC_DISPLAYCAPS_PROBLEM_MISMATCHED_OUTPUT_TYPE        NV_BIT(4)\n#define NV_MOSAIC_DISPLAYCAPS_PROBLEM_NO_DISPLAY_CONNECTED          NV_BIT(5)\n#define NV_MOSAIC_DISPLAYCAPS_PROBLEM_NO_GPU_TOPOLOGY               NV_BIT(6)\n#define NV_MOSAIC_DISPLAYCAPS_PROBLEM_NOT_SUPPORTED                 NV_BIT(7)\n#define NV_MOSAIC_DISPLAYCAPS_PROBLEM_NO_SLI_BRIDGE                 NV_BIT(8)\n#define NV_MOSAIC_DISPLAYCAPS_PROBLEM_ECC_ENABLED                   NV_BIT(9)\n#define NV_MOSAIC_DISPLAYCAPS_PROBLEM_GPU_TOPOLOGY_NOT_SUPPORTED    NV_BIT(10)\n\n\n\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME:   NvAPI_Mosaic_SetDisplayGrids\n//\n//! DESCRIPTION:     Sets a new display topology, replacing any existing topologies\n//!                  that use the same displays.\n//!\n//!                  This function will look for an SLI configuration that will\n//!                  allow the display topology to work.\n//!\n//!                  To revert to a single display, specify that display as a 1x1\n//!                  grid.\n//!\n//! SUPPORTED OS:  Windows 7 and higher\n//!\n//!\n//! \\param [in]      pGridTopologies    The topology details to set.\n//! \\param [in]      gridCount          The number of elements in the pGridTopologies array.\n//! \\param [in]      setTopoFlags       Zero or more of the NVAPI_MOSAIC_SETDISPLAYTOPO_FLAG_*\n//!                                     flags.\n//!\n//!\n//! \\retval ::NVAPI_OK                          Capabilities have been returned.\n//! \\retval ::NVAPI_INVALID_ARGUMENT            One or more args passed in are invalid.\n//! \\retval ::NVAPI_API_NOT_INTIALIZED          The NvAPI API needs to be initialized first\n//! \\retval ::NVAPI_NO_IMPLEMENTATION           This entrypoint not available\n//! \\retval ::NVAPI_NO_ACTIVE_SLI_TOPOLOGY      No matching GPU topologies could be found.\n//! \\retval ::NVAPI_TOPO_NOT_POSSIBLE           One or more of the display grids are not valid.\n//! \\retval ::NVAPI_ERROR                       Miscellaneous error occurred\n//! \\ingroup mosaicapi \n///////////////////////////////////////////////////////////////////////////////\n\n\n//! Do not change the current GPU topology. If the NO_DRIVER_RELOAD bit is not\n//! specified, then it may still require a driver reload.\n#define NV_MOSAIC_SETDISPLAYTOPO_FLAG_CURRENT_GPU_TOPOLOGY NV_BIT(0)\n\n//! Do not allow a driver reload. That is, stick with the same master GPU as well as the\n//! same SLI configuration.\n#define NV_MOSAIC_SETDISPLAYTOPO_FLAG_NO_DRIVER_RELOAD     NV_BIT(1)\n\n//! When choosing a GPU topology, choose the topology with the best performance.\n//! Without this flag, it will choose the topology that uses the smallest number\n//! of GPU's.\n#define NV_MOSAIC_SETDISPLAYTOPO_FLAG_MAXIMIZE_PERFORMANCE NV_BIT(2)\n\n//! Do not return an error if no configuration will work with all of the grids.\n#define NV_MOSAIC_SETDISPLAYTOPO_FLAG_ALLOW_INVALID        NV_BIT(3)\n\nNVAPI_INTERFACE NvAPI_Mosaic_SetDisplayGrids(__in_ecount(gridCount) NV_MOSAIC_GRID_TOPO *pGridTopologies, __in NvU32 gridCount, __in NvU32 setTopoFlags);\n\n\n//! \\ingroup mosaicapi\n//! Indicates that a display's position in the grid is sub-optimal.\n#define NV_MOSAIC_DISPLAYTOPO_WARNING_DISPLAY_POSITION            NV_BIT(0)\n\n//! \\ingroup mosaicapi\n//! Indicates that SetDisplaySettings would need to perform a driver reload.\n#define NV_MOSAIC_DISPLAYTOPO_WARNING_DRIVER_RELOAD_REQUIRED      NV_BIT(1)\n\n//! \\ingroup mosaicapi\ntypedef struct\n{\n    NvU32 version;\n    NvU32 errorFlags;            //!< (OUT) Any of the NV_MOSAIC_DISPLAYTOPO_ERROR_* flags.\n    NvU32 warningFlags;          //!< (OUT) Any of the NV_MOSAIC_DISPLAYTOPO_WARNING_* flags.\n\n    NvU32 displayCount;          //!< (OUT) The number of valid entries in the displays array.\n    struct\n    {\n        NvU32 displayId;             //!< (OUT) The DisplayID of this display.\n        NvU32 errorFlags;            //!< (OUT) Any of the NV_MOSAIC_DISPLAYCAPS_PROBLEM_* flags.\n        NvU32 warningFlags;          //!< (OUT) Any of the NV_MOSAIC_DISPLAYTOPO_WARNING_* flags.\n\n        NvU32  supportsRotation : 1; //!< (OUT) This display can be rotated\n        NvU32  reserved : 31;        //!< (OUT) reserved\n    } displays[NVAPI_MAX_DISPLAYS];\n} NV_MOSAIC_DISPLAY_TOPO_STATUS;\n\n//! \\ingroup mosaicapi\n#define NV_MOSAIC_DISPLAY_TOPO_STATUS_VER         MAKE_NVAPI_VERSION(NV_MOSAIC_DISPLAY_TOPO_STATUS,1)\n\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME:   NvAPI_Mosaic_ValidateDisplayGrids\n//\n//! DESCRIPTION:     Determines if a list of grid topologies is valid. It will choose an SLI\n//!                  configuration in the same way that NvAPI_Mosaic_SetDisplayGrids() does.\n//!\n//!                  On return, each element in the pTopoStatus array will contain any errors or\n//!                  warnings about each grid topology. If any error flags are set, then the topology\n//!                  is not valid. If any warning flags are set, then the topology is valid, but\n//!                  sub-optimal.\n//!\n//!                  If the ALLOW_INVALID flag is set, then it will continue to validate the grids\n//!                  even if no SLI configuration will allow all of the grids. In this case, a grid\n//!                  grid with no matching GPU topology will have the error\n//!                  flags NO_GPU_TOPOLOGY or NOT_SUPPORTED set.\n//!\n//!                  If the ALLOW_INVALID flag is not set and no matching SLI configuration is\n//!                  found, then it will skip the rest of the validation and return\n//!                  NVAPI_NO_ACTIVE_SLI_TOPOLOGY.\n//!\n//! SUPPORTED OS:  Windows 7 and higher\n//!\n//!\n//! \\param [in]      setTopoFlags       Zero or more of the NVAPI_MOSAIC_SETDISPLAYTOPO_FLAG_*\n//!                                     flags.\n//! \\param [in]      pGridTopologies    The array of grid topologies to verify.\n//! \\param [in,out]  pTopoStatus        The array of problems and warnings with each grid topology.\n//! \\param [in]      gridCount          The number of elements in the pGridTopologies and\n//!                                     pTopoStatus arrays.\n//!\n//!\n//! \\retval ::NVAPI_OK:                          Capabilities have been returned.\n//! \\retval ::NVAPI_INVALID_ARGUMENT:            One or more args passed in are invalid.\n//! \\retval ::NVAPI_API_NOT_INTIALIZED:          The NvAPI API needs to be initialized first\n//! \\retval ::NVAPI_NO_IMPLEMENTATION:           This entrypoint not available\n//! \\retval ::NVAPI_NO_ACTIVE_SLI_TOPOLOGY:      No matching GPU topologies could be found.\n//! \\retval ::NVAPI_ERROR:                       Miscellaneous error occurred\n//!\n//! \\ingroup mosaicapi \n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_Mosaic_ValidateDisplayGrids(__in NvU32 setTopoFlags,\n        __in_ecount(gridCount) NV_MOSAIC_GRID_TOPO *pGridTopologies,\n        __inout_ecount_full(gridCount) NV_MOSAIC_DISPLAY_TOPO_STATUS *pTopoStatus,\n        __in NvU32 gridCount);\n\n\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME:   NvAPI_Mosaic_EnumDisplayModes\n//\n//! DESCRIPTION:     Determines the set of available display modes for a given grid topology.\n//!\n//! SUPPORTED OS:  Windows 7 and higher\n//!\n//!\n//! \\param [in]      pGridTopology         The grid topology to use.\n//! \\param [in,out]  pDisplaySettings      A pointer to an array of display settings to populate,\n//!                                        or NULL to find out the total number of available modes.\n//! \\param [in,out]  pDisplayCount         If pDisplaySettings is not NULL, then pDisplayCount\n//!                                        should point to the number of elements in the\n//!                                        pDisplaySettings array. On return, it will contain the\n//!                                        number of modes that were actually returned. If\n//!                                        pDisplaySettings is NULL, then pDisplayCount will receive\n//!                                        the total number of modes that are available.\n//!\n//!\n//! \\retval ::NVAPI_OK                          Capabilities have been returned.\n//! \\retval ::NVAPI_INVALID_ARGUMENT            One or more args passed in are invalid.\n//! \\retval ::NVAPI_API_NOT_INTIALIZED          The NvAPI API needs to be initialized first\n//! \\retval ::NVAPI_NO_IMPLEMENTATION           This entrypoint not available\n//! \\retval ::NVAPI_ERROR                       Miscellaneous error occurred\n//!\n//! \\ingroup mosaciapi\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_Mosaic_EnumDisplayModes(__in NV_MOSAIC_GRID_TOPO *pGridTopology,\n        __inout_ecount_part_opt(*pDisplayCount, *pDisplayCount) NV_MOSAIC_DISPLAY_SETTING *pDisplaySettings,\n        __inout NvU32 *pDisplayCount);\n\n\n//! SUPPORTED OS:  Windows 7 and higher\n//!\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME:   NvAPI_Mosaic_EnumDisplayGrids\n//\n//! DESCRIPTION:     Enumerates the current active grid topologies. This includes Mosaic, IG, and\n//!                  Panoramic topologies, as well as single displays.\n//!\n//!                  If pGridTopologies is NULL, then pGridCount will be set to the number of active\n//!                  grid topologies.\n//!\n//!                  If pGridTopologies is not NULL, then pGridCount contains the maximum number of\n//!                  grid topologies to return. On return, pGridCount will be set to the number of\n//!                  grid topologies that were returned.\n//!\n//! \\param [out]     pGridTopologies   The list of active grid topologies.\n//! \\param [in,out]  pGridCount        A pointer to the number of grid topologies returned.\n//!\n//! \\retval ::NVAPI_OK                          Capabilties have been returned.\n//! \\retval ::NVAPI_END_ENUMERATION             There are no more topologies to return.\n//! \\retval ::NVAPI_INVALID_ARGUMENT            One or more args passed in are invalid.\n//! \\retval ::NVAPI_API_NOT_INTIALIZED          The NvAPI API needs to be initialized first\n//! \\retval ::NVAPI_NO_IMPLEMENTATION           This entrypoint not available\n//! \\retval ::NVAPI_ERROR                       Miscellaneous error occurred\n//!\n//! \\ingroup mosaicapi\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_Mosaic_EnumDisplayGrids(__inout_ecount_part_opt(*pGridCount, *pGridCount) NV_MOSAIC_GRID_TOPO *pGridTopologies,\n        __inout NvU32 *pGridCount);\n\n\n////////////////////////////////////////////////////////////////////////////////////////\n//\n// ###########################################################################\n// DELME_RUSS - DELME_RUSS - DELME_RUSS - DELME_RUSS - DELME_RUSS - DELME_RUSS\n//\n//   Below is the Phase 1 Mosaic stuff, the Phase 2 stuff above is what will remain\n//   once Phase 2 is complete.  For a small amount of time, the two will co-exist.  As\n//   soon as apps (nvapichk, NvAPITestMosaic, and CPL) are updated to use the Phase 2\n//   entrypoints, the code below will be deleted.\n//\n// DELME_RUSS - DELME_RUSS - DELME_RUSS - DELME_RUSS - DELME_RUSS - DELME_RUSS\n// ###########################################################################\n//\n// Supported topos 1x4, 4x1 and 2x2 to start with.\n// \n// Selected scan out targets can be one per GPU or more than one on the same GPU.\n//\n// SAMPLE of MOSAIC 1x4 SCAN OUT TOPO with 8 pixel horizontal overlap\n//\n//+-------------------------++-------------------------++-------------------------++-------------------------+\n//|                         ||                         ||                         ||                         |\n//|                         ||                         ||                         ||                         |\n//|                         ||                         ||                         ||                         |\n//|        DVI1             ||           DVI2          ||         DVI3            ||          DVI4           |\n//|                         ||                         ||                         ||                         |\n//|                         ||                         ||                         ||                         |\n//|                         ||                         ||                         ||                         |\n//|                         ||                         ||                         ||                         |\n//+-------------------------++-------------------------++-------------------------++-------------------------+\n\n\n//! \\addtogroup mosaicapi\n//! @{\n\n//! Used in NV_MOSAIC_TOPOLOGY.\n#define NVAPI_MAX_MOSAIC_DISPLAY_ROWS       8\n\n//! Used in NV_MOSAIC_TOPOLOGY.\n#define NVAPI_MAX_MOSAIC_DISPLAY_COLUMNS    8 \n\n//! Used in NV_MOSAIC_TOPOLOGY.\n#define NVAPI_MAX_MOSAIC_TOPOS              16\n\n//! Used in NvAPI_GetCurrentMosaicTopology() and NvAPI_SetCurrentMosaicTopology().\ntypedef struct \n{\n    NvU32 version;                             //!< Version number of the mosaic topology\n    NvU32 rowCount;                            //!< Horizontal display count\n    NvU32 colCount;                            //!< Vertical display count\n\n    struct \n    {\n        NvPhysicalGpuHandle hPhysicalGPU;      //!< Physical GPU to be used in the topology\n        NvU32               displayOutputId;   //!< Connected display target\n        NvS32               overlapX;          //!< Pixels of overlap on the left of target: (+overlap, -gap)\n        NvS32               overlapY;          //!< Pixels of overlap on the top of target: (+overlap, -gap)\n\n    } gpuLayout[NVAPI_MAX_MOSAIC_DISPLAY_ROWS][NVAPI_MAX_MOSAIC_DISPLAY_COLUMNS];\n\n} NV_MOSAIC_TOPOLOGY;\n\n//! Used in NV_MOSAIC_TOPOLOGY.\n#define NVAPI_MOSAIC_TOPOLOGY_VER         MAKE_NVAPI_VERSION(NV_MOSAIC_TOPOLOGY,1)\n\n//! Used in NvAPI_GetSupportedMosaicTopologies().\ntypedef struct \n{\n    NvU32                   version;                                    \n    NvU32                   totalCount;                     //!< Count of valid topologies\n    NV_MOSAIC_TOPOLOGY      topos[NVAPI_MAX_MOSAIC_TOPOS];  //!< Maximum number of topologies\n\n} NV_MOSAIC_SUPPORTED_TOPOLOGIES;\n\n//! Used in NV_MOSAIC_SUPPORTED_TOPOLOGIES. \n#define NVAPI_MOSAIC_SUPPORTED_TOPOLOGIES_VER         MAKE_NVAPI_VERSION(NV_MOSAIC_SUPPORTED_TOPOLOGIES,1)\n\n//!@}\n\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME:   NvAPI_GetSupportedMosaicTopologies\n//\n//! DESCRIPTION:     This API returns all valid Mosaic topologies.\n//!\n//! SUPPORTED OS:  Windows XP\n//!\n//!\n//! \\since Release: 177\n//!\n//! \\param [out] pMosaicTopos                   An array of valid Mosaic topologies.\n//!\n//! \\retval      NVAPI_OK                       Call succeeded; 1 or more topologies were returned\n//! \\retval      NVAPI_INVALID_ARGUMENT         One or more arguments are invalid\n//! \\retval      NVAPI_MIXED_TARGET_TYPES       Mosaic topology is only possible with all targets of the same NV_GPU_OUTPUT_TYPE.\n//! \\retval      NVAPI_NVIDIA_DEVICE_NOT_FOUND  No NVIDIA GPU driving a display was found\n//! \\retval      NVAPI_NOT_SUPPORTED            Mosaic is not supported with GPUs on this system.\n//! \\retval      NVAPI_NO_ACTIVE_SLI_TOPOLOGY   SLI is not enabled, yet needs to be, in order for this function to succeed.\n//!\n//! \\ingroup     mosaicapi\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_GetSupportedMosaicTopologies(NV_MOSAIC_SUPPORTED_TOPOLOGIES *pMosaicTopos);\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME:   NvAPI_GetCurrentMosaicTopology\n//\n//! DESCRIPTION:     This API gets the current Mosaic topology.\n//!\n//! SUPPORTED OS:  Windows XP\n//!\n//!\n//! \\since Release: 177\n//!\n//! \\param [out] pMosaicTopo                    The current Mosaic topology\n//! \\param [out] pEnabled                       TRUE if returned topology is currently enabled, else FALSE\n//!\n//! \\retval      NVAPI_OK                       Call succeeded\n//! \\retval      NVAPI_INVALID_ARGUMENT         One or more arguments are invalid\n//! \\retval      NVAPI_NVIDIA_DEVICE_NOT_FOUND  No NVIDIA GPU driving a display was found\n//! \\retval      NVAPI_NOT_SUPPORTED            Mosaic is not supported with GPUs on this system.\n//! \\retval      NVAPI_NO_ACTIVE_SLI_TOPOLOGY   SLI is not enabled, yet needs to be, in order for this function to succeed.\n//!\n//! \\ingroup     mosaicapi\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_GetCurrentMosaicTopology(NV_MOSAIC_TOPOLOGY *pMosaicTopo, NvU32 *pEnabled);\n\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME:   NvAPI_SetCurrentMosaicTopology\n//\n//! DESCRIPTION:     This API sets the Mosaic topology, and enables it so that the\n//!                  Mosaic display settings are enumerated upon request.\n//!\n//! SUPPORTED OS:  Windows XP\n//!\n//!\n//! \\since Release: 177\n//!\n//! \\param [in]  pMosaicTopo                    A valid Mosaic topology\n//!\n//! \\retval      NVAPI_OK                       Call succeeded\n//! \\retval      NVAPI_INVALID_ARGUMENT         One or more arguments are invalid\n//! \\retval      NVAPI_NVIDIA_DEVICE_NOT_FOUND  No NVIDIA GPU driving a display was found\n//! \\retval      NVAPI_NOT_SUPPORTED            Mosaic is not supported with GPUs on this system.\n//! \\retval      NVAPI_NO_ACTIVE_SLI_TOPOLOGY   SLI is not enabled, yet needs to be, in order for this function to succeed.\n//!\n//! \\ingroup     mosaicapi\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_SetCurrentMosaicTopology(NV_MOSAIC_TOPOLOGY *pMosaicTopo);\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME:   NvAPI_EnableCurrentMosaicTopology\n//\n//! DESCRIPTION:    This API enables or disables the current Mosaic topology. \n//!                 When enabling, the last Mosaic topology will be set.\n//!\n//!                  - If enabled, enumeration of display settings will include valid Mosaic resolutions.  \n//!                  - If disabled, enumeration of display settings will not include Mosaic resolutions.\n//!\n//! SUPPORTED OS:  Windows XP\n//!\n//!\n//! \\since Release: 177\n//!\n//! \\param [in]  enable                         TRUE to enable the Mosaic Topology, FALSE to disable it.\n//!\n//! \\retval      NVAPI_OK                       Call succeeded\n//! \\retval      NVAPI_INVALID_ARGUMENT         One or more arguments are invalid\n//! \\retval      NVAPI_NVIDIA_DEVICE_NOT_FOUND  No NVIDIA GPU driving a display was found\n//! \\retval      NVAPI_NOT_SUPPORTED            Mosaic is not supported with GPUs on this system.\n//! \\retval      NVAPI_NO_ACTIVE_SLI_TOPOLOGY   SLI is not enabled, yet needs to be, in order for this function to succeed.\n//!\n//! \\ingroup     mosaicapi\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_EnableCurrentMosaicTopology(NvU32 enable);\n\n\n#define NVAPI_MAX_GSYNC_DEVICES                       4\n\n\n// Sync Display APIs\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_GSync_EnumSyncDevices\n//\n//!   DESCRIPTION: This API returns an array of Sync device handles. A Sync device handle represents a\n//!                single Sync device on the system.\n//!\n//! SUPPORTED OS:  Windows 7 and higher\n//!\n//!\n//! \\since Release: 313\n//!\n//! \\param [out] nvGSyncHandles-  The caller provides an array of handles, which must contain at least\n//!                               NVAPI_MAX_GSYNC_DEVICES elements. The API will zero out the entire array and then fill in one\n//!                               or more handles. If an error occurs, the array is invalid.\n//! \\param [out] *gsyncCount-     The caller provides the storage space. NvAPI_GSync_EnumSyncDevices\n//!                               sets *gsyncCount to indicate how many of the elements in the nvGSyncHandles[] array are valid.\n//!                               If an error occurs, *gsyncCount will be set to zero.\n//!\n//! \\return  This API can return any of the error codes enumerated in #NvAPI_Status. \n//!          If there are return error codes with specific meaning for this API, they are listed below.\n//! \\retval ::NVAPI_INVALID_ARGUMENT         nvGSyncHandles or gsyncCount is NULL.\n//! \\retval ::NVAPI_NVIDIA_DEVICE_NOT_FOUND  The queried Graphics system does not have any Sync Device.\n//!\n//! \\ingroup gsyncapi\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_GSync_EnumSyncDevices(__out NvGSyncDeviceHandle nvGSyncHandles[NVAPI_MAX_GSYNC_DEVICES], __out NvU32 *gsyncCount);\n\n\n\n// GSync boardId values\n#define NVAPI_GSYNC_BOARD_ID_P358 856\t\t//!< GSync board ID 0x358, see NV_GSYNC_CAPABILITIES\n#define NVAPI_GSYNC_BOARD_ID_P2060 8288\t\t//!< GSync board ID 0x2060, see NV_GSYNC_CAPABILITIES \n\n\n//! Used in NvAPI_GSync_QueryCapabilities().\ntypedef struct _NV_GSYNC_CAPABILITIES_V1\n{\n    NvU32   version;\t\t\t\t\t\t//!< Version of the structure\n    NvU32   boardId;\t\t\t\t\t\t//!< Board ID\n    NvU32   revision;\t\t\t\t\t\t//!< FPGA Revision\n    NvU32   capFlags;\t\t\t\t\t\t//!< Capabilities of the Sync board. Reserved for future use\n} NV_GSYNC_CAPABILITIES_V1;\n\ntypedef NV_GSYNC_CAPABILITIES_V1 NV_GSYNC_CAPABILITIES;\n\n\n//! \\ingroup gsyncapi\n//! Macro for constructing the version field of NV_GSYNC_CAPABILITIES.\n#define NV_GSYNC_CAPABILITIES_VER1  MAKE_NVAPI_VERSION(NV_GSYNC_CAPABILITIES_V1,1)\n#define NV_GSYNC_CAPABILITIES_VER NV_GSYNC_CAPABILITIES_VER1\n\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_GSync_QueryCapabilities\n//\n//!   DESCRIPTION: This API returns the capabilities of the Sync device.\n//!\n//!\n//! SUPPORTED OS:  Windows 7 and higher\n//!\n//!\n//! \\since Release: 313\n//!\n//! \\param [in]    hNvGSyncDevice-        The handle for a Sync device for which the capabilities will be queried.\n//! \\param [inout] *pNvGSyncCapabilities- The caller provides the storage space. NvAPI_GSync_QueryCapabilities() sets\n//!                                       *pNvGSyncCapabilities to the version and capabilities details of the Sync device\n//!                                       If an error occurs, *pNvGSyncCapabilities will be set to NULL.\n//!\n//! \\return  This API can return any of the error codes enumerated in #NvAPI_Status. \n//!          If there are return error codes with specific meaning for this API, they are listed below.\n//! \\retval ::NVAPI_INVALID_ARGUMENT         hNvGSyncDevice is NULL.\n//! \\retval ::NVAPI_NVIDIA_DEVICE_NOT_FOUND  The queried Graphics system does not have any Sync Device.\n//!\n//! \\ingroup gsyncapi\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_GSync_QueryCapabilities(__in NvGSyncDeviceHandle hNvGSyncDevice, __inout NV_GSYNC_CAPABILITIES *pNvGSyncCapabilities);\n\n\n\n//! Connector values for a GPU. Used in NV_GSYNC_GPU.\ntypedef enum _NVAPI_GSYNC_GPU_TOPOLOGY_CONNECTOR\n{\n    NVAPI_GSYNC_GPU_TOPOLOGY_CONNECTOR_NONE         = 0,\n    NVAPI_GSYNC_GPU_TOPOLOGY_CONNECTOR_PRIMARY      = 1,\n    NVAPI_GSYNC_GPU_TOPOLOGY_CONNECTOR_SECONDARY    = 2,\n    NVAPI_GSYNC_GPU_TOPOLOGY_CONNECTOR_TERTIARY     = 3,\n    NVAPI_GSYNC_GPU_TOPOLOGY_CONNECTOR_QUARTERNARY  = 4,\n} NVAPI_GSYNC_GPU_TOPOLOGY_CONNECTOR;\n\n//! Display sync states. Used in NV_GSYNC_DISPLAY.\ntypedef enum _NVAPI_GSYNC_DISPLAY_SYNC_STATE\n{\n    NVAPI_GSYNC_DISPLAY_SYNC_STATE_UNSYNCED         = 0,\n    NVAPI_GSYNC_DISPLAY_SYNC_STATE_SLAVE            = 1,\n    NVAPI_GSYNC_DISPLAY_SYNC_STATE_MASTER           = 2,\n} NVAPI_GSYNC_DISPLAY_SYNC_STATE;\n\ntypedef struct _NV_GSYNC_GPU\n{\n    NvU32                               version;            //!< Version of the structure\n    NvPhysicalGpuHandle                 hPhysicalGpu;       //!< GPU handle\n    NVAPI_GSYNC_GPU_TOPOLOGY_CONNECTOR  connector;          //!< Indicates which connector on the device the GPU is connected to.\n    NvPhysicalGpuHandle                 hProxyPhysicalGpu;  //!< GPU through which hPhysicalGpu is connected to the Sync device (if not directly connected)\n                                                            //!<  - this is NULL otherwise\n    NvU32                               isSynced : 1;       //!< Whether this GPU is sync'd or not.\n    NvU32                               reserved : 31;      //!< Should be set to ZERO\n} NV_GSYNC_GPU;\n\ntypedef struct _NV_GSYNC_DISPLAY\n{\n    NvU32                               version;            //!< Version of the structure\n    NvU32                               displayId;          //!< display identifier for displays.The GPU to which it is connected, can be retireved from NvAPI_SYS_GetPhysicalGpuFromDisplayId\n    NvU32                               isMasterable : 1;   //!< Can this display be the master? (Read only)\n    NvU32                               reserved : 31;      //!< Should be set to ZERO\n    NVAPI_GSYNC_DISPLAY_SYNC_STATE      syncState;          //!< Is this display slave/master\n                                                            //!< (Retrieved with topology or set by caller for enable/disable sync)\n} NV_GSYNC_DISPLAY;\n\n#define NV_GSYNC_DISPLAY_VER  MAKE_NVAPI_VERSION(NV_GSYNC_DISPLAY,1)\n#define NV_GSYNC_GPU_VER      MAKE_NVAPI_VERSION(NV_GSYNC_GPU,1)\n\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_GSync_GetTopology\n//\n//!   DESCRIPTION: This API returns the topology for the specified Sync device.\n//!\n//!\n//! SUPPORTED OS:  Windows 7 and higher\n//!\n//!\n//! \\since Release: 313\n//!\n//! \\param [in]       hNvGSyncDevice-     The caller provides the handle for a Sync device for which the topology will be queried.\n//! \\param [in, out]  gsyncGpuCount-      It returns number of GPUs connected to Sync device\n//! \\param [in, out]  gsyncGPUs-          It returns info about GPUs connected to Sync device\n//! \\param [in, out]  gsyncDisplayCount-  It returns number of active displays that belongs to Sync device\n//! \\param [in, out]  gsyncDisplays-      It returns info about all active displays that belongs to Sync device\n//!\n//! HOW TO USE: 1) make a call to get the number of GPUs connected OR displays synced through Sync device\n//!                by passing the gsyncGPUs OR gsyncDisplays as NULL respectively. Both gsyncGpuCount and gsyncDisplayCount can be retrieved in same call by passing\n//!                both gsyncGPUs and gsyncDisplays as NULL\n//!                On call success:\n//!             2) Allocate memory based on gsyncGpuCount(for gsyncGPUs) and/or gsyncDisplayCount(for gsyncDisplays) then make a call to populate gsyncGPUs and/or gsyncDisplays respectively.\n//!\n//! \\return  This API can return any of the error codes enumerated in #NvAPI_Status. \n//!          If there are return error codes with specific meaning for this API, they are listed below.\n//! \\retval ::NVAPI_INVALID_ARGUMENT               hNvGSyncDevice is NULL.\n//! \\retval ::NVAPI_NVIDIA_DEVICE_NOT_FOUND        The queried Graphics system does not have any Sync Device.\n//! \\retval ::NVAPI_INSUFFICIENT_BUFFER            When the actual number of GPUs/displays in the topology exceed the number of elements allocated for SyncGPUs/SyncDisplays respectively.\n//!\n//! \\ingroup gsyncapi\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_GSync_GetTopology(__in NvGSyncDeviceHandle hNvGSyncDevice, __inout_opt NvU32 *gsyncGpuCount,  __inout_ecount_part_opt(*gsyncGpuCount, *gsyncGpuCount) NV_GSYNC_GPU *gsyncGPUs,\n                                        __inout_opt NvU32 *gsyncDisplayCount, __inout_ecount_part_opt(*gsyncDisplayCount, *gsyncDisplayCount) NV_GSYNC_DISPLAY *gsyncDisplays);\n\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_GSync_SetSyncStateSettings\n//\n//!   DESCRIPTION: Sets a new sync state for the displays in system.\n//!\n//!\n//! SUPPORTED OS:  Windows 7 and higher\n//!\n//!\n//! \\since Release: 313\n//!\n//! \\param [in]  gsyncDisplayCount-\t\t\tThe number of displays in gsyncDisplays.\n//! \\param [in]  pGsyncDisplays-\t\t\tThe caller provides the structure containing all displays that need to be synchronized in the system. \n//!\t\t\t\t\t\t\t\t\t\t\tThe displays that are not part of pGsyncDisplays, will be un-synchronized.\n//! \\param [in]  flags-\t\t\t\t\t\tReserved for future use.\n//!\n//!\n//! \\return  This API can return any of the error codes enumerated in #NvAPI_Status. \n//!          If there are return error codes with specific meaning for this API, they are listed below.\n//!\n//! \\retval ::NVAPI_INVALID_ARGUMENT\t\t\tIf the display topology or count not valid.\n//! \\retval ::NVAPI_NVIDIA_DEVICE_NOT_FOUND\t\tThe queried Graphics system does not have any Sync Device.\n//! \\retval ::NVAPI_INVALID_SYNC_TOPOLOGY       1.If any mosaic grid is partial.\n//!                                             2.If timing(HVisible/VVisible/refreshRate) applied of any display is different. \n//!                                             3.If There is a across GPU mosaic grid in system and that is not a part of pGsyncDisplays.\n//!\n//! \\ingroup gsyncapi\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_GSync_SetSyncStateSettings(__in NvU32 gsyncDisplayCount, __in_ecount(gsyncDisplayCount) NV_GSYNC_DISPLAY *pGsyncDisplays, __in NvU32 flags);\n\n\n//! \\ingroup gsyncapi\n\n//! Source signal edge to be used for output pulse. See NV_GSYNC_CONTROL_PARAMS.\ntypedef enum _NVAPI_GSYNC_POLARITY\n{\n    NVAPI_GSYNC_POLARITY_RISING_EDGE     = 0,\n    NVAPI_GSYNC_POLARITY_FALLING_EDGE    = 1,\n    NVAPI_GSYNC_POLARITY_BOTH_EDGES      = 2,\n} NVAPI_GSYNC_POLARITY;\n\n//! Used in NV_GSYNC_CONTROL_PARAMS.\ntypedef enum _NVAPI_GSYNC_VIDEO_MODE\n{\n    NVAPI_GSYNC_VIDEO_MODE_NONE          = 0,\n    NVAPI_GSYNC_VIDEO_MODE_TTL           = 1,\n    NVAPI_GSYNC_VIDEO_MODE_NTSCPALSECAM  = 2,\n    NVAPI_GSYNC_VIDEO_MODE_HDTV          = 3,\n    NVAPI_GSYNC_VIDEO_MODE_COMPOSITE     = 4,\n} NVAPI_GSYNC_VIDEO_MODE;\n\n//! Used in NV_GSYNC_CONTROL_PARAMS.  \ntypedef enum _NVAPI_GSYNC_SYNC_SOURCE\n{\n    NVAPI_GSYNC_SYNC_SOURCE_VSYNC        = 0,\n    NVAPI_GSYNC_SYNC_SOURCE_HOUSESYNC    = 1,\n} NVAPI_GSYNC_SYNC_SOURCE;\n\n//! Used in NV_GSYNC_CONTROL_PARAMS. \ntypedef struct _NV_GSYNC_DELAY\n{\n    NvU32        version;          //!< Version of the structure\n    NvU32        numLines;         //!< delay to be induced in number of horizontal lines.\n    NvU32        numPixels;        //!< delay to be induced in number of pixels.\n    NvU32        maxLines;         //!< maximum number of lines supported at current display mode to induce delay. Updated by NvAPI_GSync_GetControlParameters(). Read only.\n\tNvU32        minPixels;        //!< minimum number of pixels required at current display mode to induce delay. Updated by NvAPI_GSync_GetControlParameters(). Read only.\n} NV_GSYNC_DELAY;\n\n#define NV_GSYNC_DELAY_VER  MAKE_NVAPI_VERSION(NV_GSYNC_DELAY,1)\n\n//! Used in NvAPI_GSync_GetControlParameters() and NvAPI_GSync_SetControlParameters().\ntypedef struct _NV_GSYNC_CONTROL_PARAMS\n{\n    NvU32                       version;            //!< Version of the structure\n    NVAPI_GSYNC_POLARITY        polarity;           //!< Leading edge / Falling edge / both\n    NVAPI_GSYNC_VIDEO_MODE      vmode;              //!< None, TTL, NTSCPALSECAM, HDTV\n    NvU32                       interval;           //!< Number of pulses to wait between framelock signal generation\n    NVAPI_GSYNC_SYNC_SOURCE     source;             //!< VSync/House sync\n    NvU32                       interlaceMode:1;    //!< interlace mode for a Sync device\n    NvU32                       reserved:31;        //!< should be set zero\n\tNV_GSYNC_DELAY              syncSkew;           //!< The time delay between the frame sync signal and the GPUs signal. \n    NV_GSYNC_DELAY              startupDelay;       //!< Sync start delay for master. \n} NV_GSYNC_CONTROL_PARAMS;\n\n#define NV_GSYNC_CONTROL_PARAMS_VER  MAKE_NVAPI_VERSION(NV_GSYNC_CONTROL_PARAMS,1)\n\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_GSync_GetControlParameters\n//\n//!   DESCRIPTION: This API queries for sync control parameters as defined in NV_GSYNC_CONTROL_PARAMS.\n//!\n//! SUPPORTED OS:  Windows 7 and higher\n//!\n//!\n//! \\since Release: 313\n//!\n//! \\param [in]    hNvGSyncDevice-   The caller provides the handle of the Sync device for which to get parameters\n//! \\param [inout] *pGsyncControls-  The caller provides the storage space. NvAPI_GSync_GetControlParameters() populates *pGsyncControls with values.\n//!\n//! \\return  This API can return any of the error codes enumerated in #NvAPI_Status. \n//!          If there are return error codes with specific meaning for this API, they are listed below.\n//! \\retval ::NVAPI_INVALID_ARGUMENT          hNvGSyncDevice is NULL.\n//! \\retval ::NVAPI_NVIDIA_DEVICE_NOT_FOUND   The queried Graphics system does not have any Sync Device.\n//!\n//! \\ingroup gsyncapi\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_GSync_GetControlParameters(__in NvGSyncDeviceHandle hNvGSyncDevice, __inout NV_GSYNC_CONTROL_PARAMS *pGsyncControls);\n\n\n\n//////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_GSync_SetControlParameters\n//\n//!   DESCRIPTION: This API sets control parameters as defined in NV_SYNC_CONTROL_PARAMS.\n//!\n//! SUPPORTED OS:  Windows 7 and higher\n//!\n//!\n//! \\since Release: 313\n//!\n//! \\param [in]  hNvGSyncDevice-   The caller provides the handle of the Sync device for which to get parameters\n//! \\param [inout]  *pGsyncControls-  The caller provides NV_GSYNC_CONTROL_PARAMS. skew and startDelay will be updated to the applied values.\n//!\n//! \\return  This API can return any of the error codes enumerated in #NvAPI_Status. \n//!          If there are return error codes with specific meaning for this API, they are listed below.\n//! \\retval ::NVAPI_INVALID_ARGUMENT          hNvGSyncDevice is NULL.\n//! \\retval ::NVAPI_NVIDIA_DEVICE_NOT_FOUND   The queried Graphics system does not have any Sync Device.\n//! \\retval ::NVAPI_SYNC_MASTER_NOT_FOUND     Control Parameters can only be set if there is a Sync Master enabled on the Gsync card.\n//!\n//! \\ingroup gsyncapi\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_GSync_SetControlParameters(__in NvGSyncDeviceHandle hNvGSyncDevice, __inout NV_GSYNC_CONTROL_PARAMS *pGsyncControls);\n\n\n\n\n//! Used in NvAPI_GSync_AdjustSyncDelay()\ntypedef enum _NVAPI_GSYNC_DELAY_TYPE\n{\n\tNVAPI_GSYNC_DELAY_TYPE_UNKNOWN\t\t\t= 0,\n    NVAPI_GSYNC_DELAY_TYPE_SYNC_SKEW     \t= 1,\n    NVAPI_GSYNC_DELAY_TYPE_STARTUP     \t\t= 2\n} NVAPI_GSYNC_DELAY_TYPE;\n\n//////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_GSync_AdjustSyncDelay\n//\n//!   DESCRIPTION: This API adjusts the skew and startDelay to the closest possible values. Use this API before calling NvAPI_GSync_SetControlParameters for skew or startDelay.\n//!\n//! SUPPORTED OS:  Windows 7 and higher\n//!\n//!\n//! \\since Release: 319\n//!\n//! \\param [in]  hNvGSyncDevice-   \tThe caller provides the handle of the Sync device for which to get parameters\n//! \\param [in]  delayType-   \t\tSpecifies whether the delay is syncSkew or startupDelay. \n//! \\param [inout]  *pGsyncDelay-  \tThe caller provides NV_GSYNC_DELAY. skew and startDelay will be adjusted and updated to the closest values.\n//! \\param [out]  *syncSteps-  \t\tThis parameter is optional. It returns the sync delay in unit steps. If 0, it means either the NV_GSYNC_DELAY::numPixels is less than NV_GSYNC_DELAY::minPixels or NV_GSYNC_DELAY::numOfLines exceeds the NV_GSYNC_DELAY::maxLines.\n//!\n//! \\return  This API can return any of the error codes enumerated in #NvAPI_Status. \n//!          If there are return error codes with specific meaning for this API, they are listed below.\n//!\n//! \\ingroup gsyncapi\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_GSync_AdjustSyncDelay(__in NvGSyncDeviceHandle hNvGSyncDevice, __in NVAPI_GSYNC_DELAY_TYPE delayType, __inout NV_GSYNC_DELAY *pGsyncDelay, __out_opt NvU32* syncSteps);\n\n\n\n//! Used in NvAPI_GSync_GetSyncStatus().\ntypedef struct _NV_GSYNC_STATUS\n{\n    NvU32 version;                          //!< Version of the structure\n    NvU32 bIsSynced;                        //!< Is timing in sync?\n    NvU32 bIsStereoSynced;                  //!< Does the phase of the timing signal from the GPU = the phase of the master sync signal?\n    NvU32 bIsSyncSignalAvailable;           //!< Is the sync signal available?\n} NV_GSYNC_STATUS;\n\n//! Macro for constructing the version field for NV_GSYNC_STATUS.\n#define NV_GSYNC_STATUS_VER  MAKE_NVAPI_VERSION(NV_GSYNC_STATUS,1)\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_GSync_GetSyncStatus\n//\n//!   DESCRIPTION: This API queries the sync status of a GPU - timing, stereosync and sync signal availability.\n//!\n//! SUPPORTED OS:  Windows 7 and higher\n//!\n//!\n//! \\since Release: 313\n//!\n//! \\param [in]  hNvGSyncDevice-     Handle of the Sync device\n//! \\param [in]  hPhysicalGpu-       GPU to be queried for sync status.\n//! \\param [out] *status-            The caller provides the storage space. NvAPI_GSync_GetSyncStatus() populates *status with\n//!                                  values - timing, stereosync and signal availability. On error, *status is set to NULL.\n//!\n//! \\return  This API can return any of the error codes enumerated in #NvAPI_Status. \n//!          If there are return error codes with specific meaning for this API, they are listed below.\n//! \\retval ::NVAPI_INVALID_ARGUMENT          hNvGSyncDevice is NULL / SyncTarget is NULL.\n//! \\retval ::NVAPI_NVIDIA_DEVICE_NOT_FOUND   The queried Graphics system does not have any G-Sync Device.\n//!\n//! \\ingroup gsyncapi\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_GSync_GetSyncStatus(__in NvGSyncDeviceHandle hNvGSyncDevice, __in NvPhysicalGpuHandle hPhysicalGpu, __inout NV_GSYNC_STATUS *status);\n\n\n//! \\ingroup gsyncapi\n\n#define NVAPI_MAX_RJ45_PER_GSYNC    2\n\n//! Used in NV_GSYNC_STATUS_PARAMS.\ntypedef enum _NVAPI_GSYNC_RJ45_IO\n{\n    NVAPI_GSYNC_RJ45_OUTPUT     = 0,\n    NVAPI_GSYNC_RJ45_INPUT      = 1,\n    NVAPI_GSYNC_RJ45_UNUSED     = 2 //!< This field is used to notify that the framelock is not actually present.\n\n} NVAPI_GSYNC_RJ45_IO;\n\n//! \\ingroup gsyncapi\n//! Used in NvAPI_GSync_GetStatusParameters().\ntypedef struct _NV_GSYNC_STATUS_PARAMS\n{\n    NvU32                       version;\n    NvU32                       refreshRate;                                //!< The refresh rate\n    NVAPI_GSYNC_RJ45_IO         RJ45_IO[NVAPI_MAX_RJ45_PER_GSYNC];          //!< Configured as input / output\n    NvU32                       RJ45_Ethernet[NVAPI_MAX_RJ45_PER_GSYNC];    //!< Connected to ethernet hub? [ERRONEOUSLY CONNECTED!]\n    NvU32                       houseSyncIncoming;                          //!< Incoming house sync frequency in Hz\n    NvU32                       bHouseSync;                                 //!< Is house sync connected?\n} NV_GSYNC_STATUS_PARAMS;\n\n\n//! \\ingroup gsyncapi\n//! Macro for constructing the version field of NV_GSYNC_STATUS_PARAMS \n#define NV_GSYNC_STATUS_PARAMS_VER  MAKE_NVAPI_VERSION(NV_GSYNC_STATUS_PARAMS,1)\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_GSync_GetStatusParameters\n//\n//!   DESCRIPTION: This API queries for sync status parameters as defined in NV_GSYNC_STATUS_PARAMS.\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\since Release: 313\n//!\n//! \\param [in]  hNvGSyncDevice   The caller provides the handle of the GSync device for which to get parameters\n//! \\param [out] *pStatusParams   The caller provides the storage space. NvAPI_GSync_GetStatusParameters populates *pStatusParams with\n//!                               values.\n//! \n//! \\return  This API can return any of the error codes enumerated in #NvAPI_Status. \n//!          If there are return error codes with specific meaning for this API, they are listed below.\n//! \\retval ::NVAPI_INVALID_ARGUMENT            hNvGSyncDevice is NULL / pStatusParams is NULL.\n//! \\retval ::NVAPI_NVIDIA_DEVICE_NOT_FOUND     The queried Graphics system does not have any GSync Device.\n//!\n//! \\ingroup gsyncapi\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_GSync_GetStatusParameters(NvGSyncDeviceHandle hNvGSyncDevice, NV_GSYNC_STATUS_PARAMS *pStatusParams);\n\n//! @}\n\n\n\n\n\n\n\n\n#if defined(_D3D9_H_)\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME:   NvAPI_D3D9_RegisterResource\n//\n//! DESCRIPTION:    This API binds a resource (surface/texture) so that it can be retrieved\n//!                 internally by NVAPI.\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//! \\param [in]     pResource      surface/texture\n//!\n//! \\return ::NVAPI_OK, ::NVAPI_ERROR \n//!\n//! \\ingroup dx\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_D3D9_RegisterResource(IDirect3DResource9* pResource);\n#endif //defined(_D3D9_H_)\n\n#if defined(_D3D9_H_)\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME:   NvAPI_D3D9_UnregisterResource\n//\n//! DESCRIPTION:     This API unbinds a resource (surface/texture) after use.\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//! \n//! \\param [in]     pResource    surface/texture\n//!\n//! \\return ::NVAPI_OK, ::NVAPI_ERROR \n//!\n//! \\ingroup dx\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_D3D9_UnregisterResource(IDirect3DResource9* pResource);\n\n#endif //defined(_D3D9_H_)\n\n\n\n\n#if defined(_D3D9_H_)\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_D3D9_AliasSurfaceAsTexture\n//\n//! \\fn NvAPI_D3D9_AliasSurfaceAsTexture(IDirect3DDevice9* pDev,\n//!                                              IDirect3DSurface9* pSurface,\n//!                                              IDirect3DTexture9 **ppTexture,\n//!                                              DWORD dwFlag);\n//!   DESCRIPTION: Create a texture that is an alias of a surface registered with NvAPI.  The\n//!                new texture can be bound with IDirect3DDevice9::SetTexture().  Note that the texture must\n//!                be unbound before drawing to the surface again.\n//!                Unless the USE_SUPER flag is passed, MSAA surfaces will be resolved before\n//!                being used as a texture.  MSAA depth buffers are resolved with a point filter,\n//!                and non-depth MSAA surfaces are resolved with a linear filter.\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\param [in]    pDev         The D3D device that owns the objects\n//! \\param [in]    pSurface     Pointer to a surface that has been registered with NvAPI \n//!                             to which a texture alias is to be provided\n//! \\param [out]   ppTexture    Fill with the texture created\n//! \\param [in]    dwFlag       NVAPI_ALIAS_SURFACE_FLAG to describe how to handle the texture\n//!\n//! \\retval ::NVAPI_OK                  completed request\n//! \\retval ::NVAPI_INVALID_POINTER     A null pointer was passed as an argument\n//! \\retval ::NVAPI_INVALID_ARGUMENT    One of the arguments was invalid, probably dwFlag.\n//! \\retval ::NVAPI_UNREGISTERED_RESOURCE pSurface has not been registered with NvAPI\n//! \\retval ::NVAPI_ERROR               error occurred\n//\n///////////////////////////////////////////////////////////////////////////////\n\n\n//! \\ingroup dx\n//! See NvAPI_D3D9_AliasSurfaceAsTexture().\ntypedef enum {\n    NVAPI_ALIAS_SURFACE_FLAG_NONE                     = 0x00000000,\n    NVAPI_ALIAS_SURFACE_FLAG_USE_SUPER                = 0x00000001,  //!< Use the surface's msaa buffer directly as a texture, rather than resolving. (This is much slower, but potentially has higher quality.)\n    NVAPI_ALIAS_SURFACE_FLAG_MASK                     = 0x00000001\n} NVAPI_ALIAS_SURFACE_FLAG;\n\n\n//! \\ingroup dx\nNVAPI_INTERFACE NvAPI_D3D9_AliasSurfaceAsTexture(IDirect3DDevice9* pDev,\n                                                 IDirect3DSurface9* pSurface,\n                                                 IDirect3DTexture9 **ppTexture,\n                                                 DWORD dwFlag);\n#endif //defined(_D3D9_H_)\n\n#if defined(_D3D9_H_)\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME:   NvAPI_D3D9_StretchRectEx\n//\n//! DESCRIPTION:     This API copies the contents of the source resource to the destination\n//!                  resource.  This function can convert\n//!                  between a wider range of surfaces than\n//!                  IDirect3DDevice9::StretchRect.  For example, it can copy\n//!                  from a depth/stencil surface to a texture.\n//!\n//!                  The source and destination resources *must* be registered\n//!                  with NvAPI before being used with NvAPI_D3D9_StretchRectEx().\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\param [in]     pDevice             The D3D device that owns the objects.\n//! \\param [in]     pSourceResource     Pointer to the source resource.\n//! \\param [in]     pSrcRect            Defines the rectangle on the source to copy from.  If NULL, copy from the entire resource.\n//! \\param [in]     pDestResource       Pointer to the destination resource.\n//! \\param [in]     pDstRect            Defines the rectangle on the destination to copy to.  If NULL, copy to the entire resource.\n//! \\param [in]     Filter              Choose a filtering method: D3DTEXF_NONE, D3DTEXF_POINT, D3DTEXF_LINEAR.\n//!\n//! \\retval ::NVAPI_OK                       completed request\n//! \\retval ::NVAPI_INVALID_POINTER          An invalid pointer was passed as an argument (probably NULL)\n//! \\retval ::NVAPI_INVALID_ARGUMENT         One of the arguments was invalid\n//! \\retval ::NVAPI_UNREGISTERED_RESOURCE    a resource was passed in without being registered\n//! \\retval ::NVAPI_ERROR                    error occurred\n//!\n//! \\ingroup dx\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_D3D9_StretchRectEx(IDirect3DDevice9 * pDevice,\n                                         IDirect3DResource9 * pSourceResource,\n                                         CONST RECT * pSourceRect,\n                                         IDirect3DResource9 * pDestResource,\n                                         CONST RECT * pDestRect,\n                                         D3DTEXTUREFILTERTYPE Filter);\n\n#endif //defined(_D3D9_H_)\n\n#if defined(_D3D9_H_)\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME:   NvAPI_D3D9_ClearRT\n//\n//! DESCRIPTION:     This API Clears the currently bound render target(s) with the \n//!                  given color\n//!\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\param [in]     pDevice             The D3D device that owns the objects.\n//! \\param [in]     dwNumRects          The no of rectangles to clear. If 0, clear the entire surface (clipped to viewport)\n//! \\param [in]     pRects              Defines the rectangles to clear.  Should be NULL if dwNumRects == 0\n//! \\param [in]     r                   red component of the clear color\n//! \\param [in]     g                   green component of the clear color\n//! \\param [in]     b                   blue component of the clear color\n//! \\param [in]     a                   alpha component of the clear color\n//!\n//! \\return This API can return any of the error codes enumerated in #NvAPI_Status. \n//!\n//! \\ingroup dx\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_D3D9_ClearRT(IDirect3DDevice9 * pDevice,\n                                   NvU32 dwNumRects,\n                                   CONST RECT * pRects,\n                                   float r, float g, float b, float a);\n#endif //if defined(_D3D9_H_)\n\n\n\n\n\n\n\n\n\n\n#if defined(_D3D9_H_) && defined(__cplusplus)\n//! SUPPORTED OS:  Windows XP and higher\n//!\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_D3D9_GetSurfaceHandle\n//\n//!  This function gets the handle of a given surface. This handle uniquely \n//!  identifies the surface through all NvAPI entries.\n//!\n//!\n//! \\since Release: 313\n//!\n//! \\param [in]     pSurface  Surface to be identified\n//! \\param [out]    pHandle    Will be filled by the return handle\n//!\n//! \\return An int which could be an NvAPI status or DX HRESULT code\n//! \\ingroup dx\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_D3D9_GetSurfaceHandle(IDirect3DSurface9 *pSurface, \n                                        NVDX_ObjectHandle *pHandle);\n\n#endif //defined(_D3D9_H_) && defined(__cplusplus)\n\n#if defined(_D3D9_H_) && defined(__cplusplus)\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n//! \\addtogroup dxvidcontrol\n//! @{\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION_NAME: NvAPI_D3D9_VideoSetStereoInfo\n//\n//! \\fn NvAPI_D3D9_VideoSetStereoInfo(IDirect3DDevice9 *pDev,\n//!                                            NV_DX_VIDEO_STEREO_INFO *pStereoInfo);\n//! \\code\n//!   DESCRIPTION: This api specifies the stereo format of a surface, so that the\n//!                surface could be used for stereo video processing or compositing. \n//!                In particular, this api could be used to link the left and right \n//!                views of a decoded picture.\n//!\n//! \\since Release: 313\n//!\n//!         INPUT: pDev        - The device on which the stereo surface will be used\n//!                pStereoInfo - The stereo format of the surface\n//!\n//! RETURN STATUS: an int which could be an NvAPI status or DX HRESULT code\n//! \\endcode\n///////////////////////////////////////////////////////////////////////////////\n\n#ifndef NV_STEREO_VIDEO_FORMAT_DEFINE\n#define NV_STEREO_VIDEO_FORMAT_DEFINE\n\n\ntypedef enum _NV_STEREO_VIDEO_FORMAT\n{\n    NV_STEREO_VIDEO_FORMAT_NOT_STEREO         = 0,\n\n    NV_STEREO_VIDEO_FORMAT_SIDE_BY_SIDE_LR    = 1,\n    NV_STEREO_VIDEO_FORMAT_SIDE_BY_SIDE_RL    = 2,\n    NV_STEREO_VIDEO_FORMAT_TOP_BOTTOM_LR      = 3,\n    NV_STEREO_VIDEO_FORMAT_TOP_BOTTOM_RL      = 4,\n    NV_STEREO_VIDEO_FORMAT_ROW_INTERLEAVE_LR  = 5,\n    NV_STEREO_VIDEO_FORMAT_ROW_INTERLEAVE_RL  = 6,\n    NV_STEREO_VIDEO_FORMAT_TWO_FRAMES_LR      = 7,\n    NV_STEREO_VIDEO_FORMAT_MONO_PLUS_OFFSET   = 8,\n\n    NV_STEREO_VIDEO_FORMAT_LAST               = 9,\n} NV_STEREO_VIDEO_FORMAT;\n\n#endif // NV_STEREO_VIDEO_FORMAT_DEFINE\n\n\ntypedef struct _NV_DX_VIDEO_STEREO_INFO {\n    NvU32                     dwVersion;         //!< Must be NV_DX_VIDEO_STEREO_INFO_VER\n    NVDX_ObjectHandle         hSurface;          //!< The surface whose stereo format is to be set\n    NVDX_ObjectHandle         hLinkedSurface;    //!< The linked surface (must be valid when eFormat==NV_STEREO_VIDEO_FORMAT_TWO_FRAMES_LR)\n    NV_STEREO_VIDEO_FORMAT    eFormat;           //!< Stereo format of the surface\n    NvS32                     sViewOffset;       //!< Signed offset of each view (positive offset indicating left view is shifted left)\n    BOOL                      bStereoEnable;     //!< Whether stereo rendering should be enabled (if FALSE, only left view will be used)\n} NV_DX_VIDEO_STEREO_INFO;\n\n//! Macro for constructing the version field of ::NV_DX_VIDEO_STEREO_INFO\n#define NV_DX_VIDEO_STEREO_INFO_VER  MAKE_NVAPI_VERSION(NV_DX_VIDEO_STEREO_INFO,1)\n\nNVAPI_INTERFACE NvAPI_D3D9_VideoSetStereoInfo(IDirect3DDevice9 *pDev,\n                                              NV_DX_VIDEO_STEREO_INFO *pStereoInfo);\n\n//! @}\n#endif //defined(_D3D9_H_) && defined(__cplusplus)\n\n\n\n\n\n\n#if defined (__cplusplus) && (defined(__d3d11_h__) || defined(__d3d11_1_h__))\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_D3D11_IsNvShaderExtnOpCodeSupported\n//\n//!   DESCRIPTION: This function checks if a nv HLSL shader extension opcode is \n//!                supported on current hardware. List of opcodes is in nvShaderExtnEnums.h\n//!                To use Nvidia HLSL extensions the application must include nvHLSLExtns.h \n//!                in the hlsl shader code. See nvHLSLExtns.h for more details on supported opcodes.\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n//!\n//! \\param [in]        pDev         The device on which to query for support,\n//!                                 should be a ID3D11Device+ device\n//! \\param [in]        opCode       the opcode to check\n//! \\param [out]       pSupported   true if supported, false otherwise\n//!\n//! RETURN STATUS:     This API can return any of the error codes enumerated in #NvAPI_Status. \n//!                    If there are return error codes with specific meaning for this API, they are listed below.\n//! \\retval ::         NVAPI_OK if the call succeeded\n//!\n//! \\ingroup dx\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_D3D11_IsNvShaderExtnOpCodeSupported(__in  IUnknown *pDev,\n                                                          __in  NvU32 opCode,\n\t\t\t\t\t\t\t\t\t\t\t\t\t      __out bool *pSupported);\n\n#endif //defined (__cplusplus) && (defined(__d3d11_h__) || defined(__d3d11_1_h__))\n\n#if defined (__cplusplus) && (defined(__d3d11_h__) || defined(__d3d11_1_h__))\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_D3D11_SetNvShaderExtnSlot\n//\n//!   DESCRIPTION: This function sets the fake UAV slot that is used by Nvidia HLSL\n//!                shader extensions. All createShader calls made to the driver after\n//!                setting this slot would treat writes/reads to this UAV in a \n//!                different way. Applications are expected to bind null UAV to this slot.\n//!                The same slot is used for all shader stages.\n//!                To disable shader extensions the app may set this uav slot\n//!                to some value that is bigger than the max allowed slot index\n//!                e.g, 128 or 0xFFFFFFFF.\n//!                To use Nvidia HLSL extensions the application must include nvHLSLExtns.h \n//!                in the hlsl shader code. See nvHLSLExtns.h for more details.\n//!\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n//!\n//! \\param [in]        pDev         The device for which to set the extension slot\n//!                                 should be a ID3D11Device+ device\n//! \\param [in]        uavSlot      the uav slot to use\n//!\n//! RETURN STATUS:     This API can return any of the error codes enumerated in #NvAPI_Status. \n//!                    If there are return error codes with specific meaning for this API, they are listed below.\n//! \\retval ::         NVAPI_OK    : success, the uavSlot was set sucessfully\n//!\n//! \\ingroup dx\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_D3D11_SetNvShaderExtnSlot(__in IUnknown *pDev,\n                                                __in NvU32 uavSlot);\n\n#endif //defined (__cplusplus) && (defined(__d3d11_h__) || defined(__d3d11_1_h__))\n\n\n#if defined (__cplusplus) && (defined(__d3d11_h__) || defined(__d3d11_1_h__))\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_D3D11_BeginUAVOverlapEx\n//\n//!   DESCRIPTION: Causes the driver to skip synchronization that is normally needed when accessing UAVs.\n//!                Applications must use this with caution otherwise this might cause data hazards when\n//!                multiple draw calls/compute shader launches are accessing same memory locations\n//!\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n//!\n//! \\param [in]        *pDeviceOrContext     pointer to D3D11 device, or D3D11 device context\n//! \\param [in]        insertWFIFlags        bit fields to indicate which WFI would be inserted (gfx / compute / both).\n//!\n//! RETURN STATUS:     This API can return any of the error codes enumerated in #NvAPI_Status. \n//!                    If there are return error codes with specific meaning for this API, they are listed below.\n//!\n//! \\ingroup dx\n///////////////////////////////////////////////////////////////////////////////\ntypedef enum _NVAPI_D3D11_INSERTWFI_FLAG\n{\n    NVAPI_D3D_BEGIN_UAV_OVERLAP_NO_WFI      = 0x00000000,   //!< no WFI\n    NVAPI_D3D_BEGIN_UAV_OVERLAP_GFX_WFI     = 0x00000001,   //!< (bit 0) force graphics WFI\n    NVAPI_D3D_BEGIN_UAV_OVERLAP_COMP_WFI    = 0x00000002,   //!< (bit 1) force compute WFI\n} NVAPI_D3D11_INSERTWFI_FLAG;\n\nNVAPI_INTERFACE NvAPI_D3D11_BeginUAVOverlapEx(__in  IUnknown *pDeviceOrContext, __in NvU32 insertWFIFlags);\n\n#endif //defined (__cplusplus) && (defined(__d3d11_h__) || defined(__d3d11_1_h__))\n\n#if defined (__cplusplus) && (defined(__d3d11_h__) || defined(__d3d11_1_h__))\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_D3D11_BeginUAVOverlap\n//\n//!   DESCRIPTION: Causes the driver to skip synchronization that is normally needed when accessing UAVs.\n//!                Applications must use this with caution otherwise this might cause data hazards when\n//!                multiple draw calls/compute shader launches are accessing same memory locations\n//!\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n//!\n//! \\param [in]        *pDeviceOrContext     pointer to D3D11 device, or D3D11 device context\n//!\n//! RETURN STATUS:     This API can return any of the error codes enumerated in #NvAPI_Status. \n//!                    If there are return error codes with specific meaning for this API, they are listed below.\n//!\n//! \\ingroup dx\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_D3D11_BeginUAVOverlap(__in  IUnknown *pDeviceOrContext);\n\n#endif //defined (__cplusplus) && (defined(__d3d11_h__) || defined(__d3d11_1_h__))\n\n#if defined (__cplusplus) && (defined(__d3d11_h__) || defined(__d3d11_1_h__))\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_D3D11_EndUAVOverlap\n//\n//!   DESCRIPTION: Re-enables driver synchronization between calls that access same UAVs\n//!                See NvAPI_D3D_BeginUAVOverlap for more details.\n//!\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n//!\n//! \\param [in]        *pDeviceOrContext     pointer to D3D11 device, or D3D11 device context\n//!\n//! RETURN STATUS:     This API can return any of the error codes enumerated in #NvAPI_Status. \n//!                    If there are return error codes with specific meaning for this API, they are listed below.\n//!\n//! \\ingroup dx\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_D3D11_EndUAVOverlap(__in  IUnknown *pDeviceOrContext);\n\n#endif //defined (__cplusplus) && (defined(__d3d11_h__) || defined(__d3d11_1_h__))\n\n#if defined(_D3D9_H_) || defined(__d3d10_h__) || defined(__d3d10_1_h__) || defined(__d3d11_h__)\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_D3D_SetFPSIndicatorState\n//\n//!   DESCRIPTION: Display an overlay that tracks the number of times the app presents per second, or,   \n//!      the number of frames-per-second (FPS)\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\param [in] bool    Whether or not to enable the fps indicator.\n//!                \n//! \\return ::NVAPI_OK, \n//!         ::NVAPI_ERROR\n//!\n//! \\ingroup dx \n/////////////////////////////////////////////////////////////////////////////// \nNVAPI_INTERFACE NvAPI_D3D_SetFPSIndicatorState(IUnknown *pDev, NvU8 doEnable);\n\n#endif //if defined(_D3D9_H_) || defined(__d3d10_h__) || defined(__d3d10_1_h__) || defined(__d3d11_h__)\n\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n#if defined (__cplusplus) && (defined(__d3d11_h__) || defined(__d3d11_1_h__) || defined(__d3d12_h__))\n\nenum NVAPI_QUAD_FILLMODE\n{\n    NVAPI_QUAD_FILLMODE_DISABLED = 0,\n    NVAPI_QUAD_FILLMODE_BBOX = 1,\n    NVAPI_QUAD_FILLMODE_FULL_VIEWPORT = 2,\n};\n\n#endif //defined(__cplusplus) && (defined(__d3d11_h__) || defined(__d3d11_1_h__) || defined(__d3d12_h__))\n\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n#if defined (__cplusplus) && (defined(__d3d11_h__) || defined(__d3d11_1_h__))\n\ntypedef struct NvAPI_D3D11_RASTERIZER_DESC_EX\n{\n    // D3D11_RASTERIZER_DESC member variables\n    D3D11_FILL_MODE FillMode;\n    D3D11_CULL_MODE CullMode;\n    BOOL FrontCounterClockwise;\n    INT DepthBias;\n    FLOAT DepthBiasClamp;\n    FLOAT SlopeScaledDepthBias;\n    BOOL DepthClipEnable;\n    BOOL ScissorEnable;\n    BOOL MultisampleEnable;\n    BOOL AntialiasedLineEnable;\n\n    // NvAPI_D3D11_RASTERIZER_DESC_EX specific member variables\n    NvU32 ForcedSampleCount;                 //<! Added DX 11.1, part of _DESC1 version of this struct.\n    bool ProgrammableSamplePositionsEnable;  //<! enable Programmable Samples feature\n    bool InterleavedSamplingEnable;          //<! when jitter is enabled, an app need to fill the whole arrays below, otherwise only as much entries as samples\n    NvU8 SampleCount;                        //<! number of samples. In TIR N->1 it needs to match N, in non-TIR it needs to match RT sample count. Ignored if ForcePerSampleInterlock is set\n    NvU8 SamplePositionsX[16];               //<! x positions in API sample order\n    NvU8 SamplePositionsY[16];               //<! y positions in API sample order\n    bool ConservativeRasterEnable;           //<! rasterize all pixels a primitive touches in any way instead of just those with the centroid covered. \n    NVAPI_QUAD_FILLMODE QuadFillMode;        //<! Fill a triangle outside its bounds as a screen-aligned quad, matching the tri's bounding-box or filling the full viewport.\n    bool PostZCoverageEnable;                //<! Enable pixel-shader input SV_COVERAGE to account for z-test in early-z mode.\n    bool CoverageToColorEnable;              //<! Enable output of coverage to a color render-target.\n    NvU8 CoverageToColorRTIndex;             //<! Index of RT for coverage-to-color.\n    NvU32 reserved[16];                      //<! reserved for expansion, set to zero.\n} NvAPI_D3D11_RASTERIZER_DESC_EX;\n \n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_D3D11_CreateRasterizerState\n//\n//! \\code\n//!   DESCRIPTION: This function is an extension of ID3D11Device::CreateRasterizerState with additional raster states\n//!\n//!         \\param [in]        pDevice             current d3d device\n//!         \\param [in]        pRasterizerDesc     Rasterizer state description of type NVAPI_D3D11_RASTERIZER_DESC_EX\n//!         \\param [out]       ppRasterizerState   ID3D11RasterizerState \n//!\n//!\n//! \\return ::NVAPI_OK     if the call succeeds.\n//! \\endcode\n//! \\ingroup dx\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_D3D11_CreateRasterizerState(__in ID3D11Device *pDevice,\n                                                  __in const NvAPI_D3D11_RASTERIZER_DESC_EX *pRasterizerDesc,\n                                                  __out ID3D11RasterizerState **ppRasterizerState);\n\n#endif //defined(__cplusplus) && defined(__d3d11_h__)\n\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n\n#if defined (__cplusplus) && (defined(__d3d11_h__) || defined(__d3d11_1_h__))\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_D3D_ConfigureAnsel\n//\n//! \\code\n//!   DESCRIPTION: This function configure the setting of AnselShim, including hotkey.\n//!\n//!         \\param [in]        pDevice             current d3d device (should be either ID3D11Device or ID3D10Device)\n//!         \\param [in]        pAnselConfig        configuration of Ansel to be set, including hotkey setting\n//!\n//!\n//! \\return ::NVAPI_OK     if the call succeeds.\n//! \\endcode\n//! \\ingroup dx\n///////////////////////////////////////////////////////////////////////////////\n\ntypedef enum _NVAPI_ANSEL_FEATURE\n{\n    NVAPI_ANSEL_FEATURE_UNKNOWN         = 0,\n    NVAPI_ANSEL_FEATURE_BLACK_AND_WHITE = 1,\n    NVAPI_ANSEL_FEATURE_HUDLESS         = 2\n} NVAPI_ANSEL_FEATURE;\n\ntypedef enum _NVAPI_ANSEL_FEATURE_STATE\n{\n    NVAPI_ANSEL_FEATURE_STATE_UNKNOWN   = 0,\n    NVAPI_ANSEL_FEATURE_STATE_ENABLE    = 1,    //!< Toggle feature on\n    NVAPI_ANSEL_FEATURE_STATE_DISABLE   = 2     //!< Toggle feature off\n} NVAPI_ANSEL_FEATURE_STATE;\n\ntypedef enum _NVAPI_ANSEL_HOTKEY_MODIFIER\n{\n    NVAPI_ANSEL_HOTKEY_MODIFIER_UNKNOWN = 0,\n    NVAPI_ANSEL_HOTKEY_MODIFIER_CTRL    = 1,    //!< Use control in the hotkey combination\n    NVAPI_ANSEL_HOTKEY_MODIFIER_SHIFT   = 2,    //!< Use shift in the hotkey combination\n    NVAPI_ANSEL_HOTKEY_MODIFIER_ALT     = 3     //!< Use alternate in the hotkey combination\n} NVAPI_ANSEL_HOTKEY_MODIFIER;\n\ntypedef struct NVAPI_ANSEL_FEATURE_CONFIGURATION_STRUCT {\n    NVAPI_ANSEL_FEATURE featureId;              //!< Id of the feature\n    NVAPI_ANSEL_FEATURE_STATE featureState;     //!< Whether the feature is enabled or not\n    UINT hotkey;                                //!< An optional virtual key associated with this feature\n} NVAPI_ANSEL_FEATURE_CONFIGURATION_STRUCT;\n\ntypedef struct NVAPI_ANSEL_CONFIGURATION_STRUCT_V1 {\n    NvU32 version;                                                //!< Structure version\n    NVAPI_ANSEL_HOTKEY_MODIFIER hotkeyModifier;                   //!< Modifier key to use in hotkey combination\n    UINT keyEnable;                                               //!< VKEY to enable/disable Ansel\n    UINT numAnselFeatures;                                        //!< Number of features in pAnselFeatures\n    NVAPI_ANSEL_FEATURE_CONFIGURATION_STRUCT * pAnselFeatures; //!< Array of features configurations\n} NVAPI_ANSEL_CONFIGURATION_STRUCT_V1;\n\ntypedef NVAPI_ANSEL_CONFIGURATION_STRUCT_V1 NVAPI_ANSEL_CONFIGURATION_STRUCT;\n\n#define NVAPI_ANSEL_CONFIGURATION_STRUCT_VER1  MAKE_NVAPI_VERSION(NVAPI_ANSEL_CONFIGURATION_STRUCT_V1,1)\n#define NVAPI_ANSEL_CONFIGURATION_STRUCT_VER NVAPI_ANSEL_CONFIGURATION_STRUCT_VER1\n\nNVAPI_INTERFACE NvAPI_D3D_ConfigureAnsel(__in IUnknown *pDevice,\n                                         __in NVAPI_ANSEL_CONFIGURATION_STRUCT *pNLSConfig);\n\n#endif //defined (__cplusplus) && (defined(__d3d11_h__) || defined(__d3d11_1_h__))\n\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n\n#if defined (__cplusplus) && (defined(__d3d11_h__) || defined(__d3d11_1_h__))\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_D3D11_AliasMSAATexture2DAsNonMSAA\n//\n//! \\code\n//!   DESCRIPTION: This function allows creating (aliasing) a non-MSAA Texture2D object using the same memory as the given multi-sampled\n//!                texture (pInputTex). The surface created would be bloated in width and height but it will have SampleCount = 1\n//!                For 2X MSAA: OutTex.Width = InputTex.Width * 2, outTex.Height = InputTex.Height\n//!                For 4X MSAA: OutTex.Width = InputTex.Width * 2, outTex.Height = InputTex.Height * 2\n//!                For 8X MSAA: OutTex.Width = InputTex.Width * 4, outTex.Height = InputTex.Height * 2\n//!                Only textures SampleQuality = 0 can be aliased as Non MSAA\n//!                The app should ensure that original texture is released only after the aliased copy is released.\n//!\n//!         \\param [in]        pDevice             current d3d device\n//!         \\param [in]        pInputTex           The MultiSampled Texture2D resource that is being aliased\n//!         \\param [out]       ppOutTex            The aliased non AA copy MultiSampled Texture2D resource\n//!\n//!\n//! \\return :: NVAPI_OK                   if the call succeeds.\n//! \\endcode\n//! \\ingroup dx\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_D3D11_AliasMSAATexture2DAsNonMSAA(__in ID3D11Device *pDevice,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t__in ID3D11Texture2D *pInputTex,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t__out ID3D11Texture2D **ppOutTex);\n\n#endif //defined(__cplusplus) && defined(__d3d11_h__)\n\n#if defined (__cplusplus) && (defined(__d3d11_h__) || defined(__d3d12_h__)) && (!defined(CINTERFACE))\ntypedef UINT NvAPI_D3D11_SWIZZLE_MODE;\n\ntypedef enum _NV_SWIZZLE_MODE\n{\n    NV_SWIZZLE_POS_X = 0,\n    NV_SWIZZLE_NEG_X = 1,\n    NV_SWIZZLE_POS_Y = 2,\n    NV_SWIZZLE_NEG_Y = 3,\n    NV_SWIZZLE_POS_Z = 4,\n    NV_SWIZZLE_NEG_Z = 5,\n    NV_SWIZZLE_POS_W = 6,\n    NV_SWIZZLE_NEG_W = 7\n}NV_SWIZZLE_MODE;\n\ntypedef enum _NV_SWIZZLE_OFFSET\n{\n    NV_SWIZZLE_OFFSET_X = 0,\n    NV_SWIZZLE_OFFSET_Y = 4,\n    NV_SWIZZLE_OFFSET_Z = 8,\n    NV_SWIZZLE_OFFSET_W = 12\n}NV_SWIZZLE_OFFSET;\n\n#endif //defined (__cplusplus) && (defined(__d3d11_h__) || defined(__d3d12_h__)) && (!defined(CINTERFACE))\n\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n\n#if defined (__cplusplus) && defined(__d3d11_h__) && (!defined(CINTERFACE) ) \n\ntypedef enum NV_CUSTOM_SEMANTIC_TYPE\n{\n    NV_NONE_SEMANTIC           = 0,\n    NV_X_RIGHT_SEMANTIC        = 1,\n    NV_VIEWPORT_MASK_SEMANTIC  = 2,\n\n    NV_CUSTOM_SEMANTIC_MAX     = 8,\n} NV_CUSTOM_SEMANTIC_TYPE;\n\ntypedef struct _NV_CUSTOM_SEMANTIC\n{\n    UINT                        version;                                // NV_CUSTOM_SEMANTIC_VERSION\n\n    NV_CUSTOM_SEMANTIC_TYPE     NVCustomSemanticType;                   // type of custom semantic (NV_CUSTOM_SEMANTIC_TYPE)\n    NvAPI_LongString            NVCustomSemanticNameString;             // name of custom semantic e.g. \"NV_X_RIGHT\", \"NV_VIEWPORT_MASK\"\n    BOOL                        RegisterSpecified;                      // (optional) set to TRUE to explicitly provide register number and mask as below\n    NvU32                       RegisterNum;                            // (optional) output register which has the custom semantic.\n    NvU32                       RegisterMask;                           // (optional) output register component mask which has the custom semantic (X:1, Y:2, Z:4)\n    NvU32                       Reserved;                               // reserved\n} NV_CUSTOM_SEMANTIC;\n\n#define NV_CUSTOM_SEMANTIC_VERSION      MAKE_NVAPI_VERSION(NV_CUSTOM_SEMANTIC, 1)\n\ntypedef struct NvAPI_D3D11_CREATE_GEOMETRY_SHADER_EX_V5\n{\n    UINT version;\n\n    BOOL UseViewportMask;\n    BOOL OffsetRtIndexByVpIndex;\n    BOOL ForceFastGS;\n    BOOL DontUseViewportOrder;\n    BOOL UseAttributeSkipMask;\n    BOOL UseCoordinateSwizzle;\n    NvAPI_D3D11_SWIZZLE_MODE *pCoordinateSwizzling;\n\n    NvU32 NumCustomSemantics;                           // Number of custom semantics elements (upto NV_CUSTOM_SEMANTIC_MAX) provided in array pointer pCustomSemantics\n    NV_CUSTOM_SEMANTIC *pCustomSemantics;               // pointer to array of NV_CUSTOM_SEMANTIC\n    BOOL ConvertToFastGS;                               // reserved\n    BOOL UseSpecificShaderExt;                          // TRUE if creating minimal specific shaders with nvapi shader extensions\n} NvAPI_D3D11_CREATE_GEOMETRY_SHADER_EX_V5;\n\ntypedef NvAPI_D3D11_CREATE_GEOMETRY_SHADER_EX_V5        NvAPI_D3D11_CREATE_GEOMETRY_SHADER_EX;\n#define NVAPI_D3D11_CREATEGEOMETRYSHADEREX_2_VER_5      MAKE_NVAPI_VERSION(NvAPI_D3D11_CREATE_GEOMETRY_SHADER_EX_V5, 5)\n#define NVAPI_D3D11_CREATEGEOMETRYSHADEREX_2_VERSION    NVAPI_D3D11_CREATEGEOMETRYSHADEREX_2_VER_5\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_D3D11_CreateGeometryShaderEx\n//\n//! \\fn NvAPI_D3D11_CreateGeometryShaderEx\n//!                                                \n//!   DESCRIPTION: This function allows us to extend the creation of geometry shaders with extra bits\n//!                of functionality.\n//!                \n//!                The first parameters are identical to ID3D11Device::CreateGeometryShader() \n//!                so please refer to its documentation for their usage.\n//!                \n//!                The new parameter is UseViewportMask which is to tell the driver to create a shader\n//!                that outputs a viewport mask instead when a viewport index is indicated.\n//!                Outputting a viewport mask allows a single primitive to land on many different viewports\n//!                as specified by the bits set in the mask, rather than to rely on a single number that tells it\n//!                which unique viewport it would be drawn on.\n//!                This can be used for example in conjunction with the setting of coordinates swizzling (see XXX_NVAPI function)\n//!                to generates multiple adjacent views of the same primitive in a more efficient fashion \n//!                (outputting the primitive only once).\n//!                ! Warning these functions are NOT free-threaded create compatible. \n//!                So Don't call them from a different thread than the one calling immediate device setstate functions\n//!                And make sure no other thread is calling into another (even unrelated) free threaded function !\n//!                \n//! \\since Release: \n//!                \n//!   \\param [in]  pDevice               The device pointer\n//!   \\param [in]  pShaderBytecode       A pointer to the compiled shader.\n//!   \\param [in]  BytecodeLength        Size of the compiled geometry shader.\n//!   \\param [in]  pClassLinkage         A pointer to a class linkage interface. Can be NULL.\n//!   \\param [in]  UseViewportMask       Set to FALSE for custom semantic shaders. Tell the driver to create a shader that outputs the viewport mask in lieu of the viewport index. See above description.\n//!   \\param [in]  OffsetRtIndexByVpIndex Set to FALSE for custom semantic shaders. The Rendertarget index is offset by the viewport index\n//!   \\param [in]  ForceFastGS           If TRUE, GS must be written with maxvertexcount(1) and must pass-through input vertex 0 to the output without modification\n//!   \\param [in]  DontUseViewportOrder  Default FALSE for Primitives batched per viewport to improve performance. Set TRUE for API order (slow).\n//!   \\param [in]  UseAttributeSkipMask  reserved\n//!   \\param [in]  UseCoordinateSwizzle  reserved\n//!   \\param [in]  pCoordinateSwizzling  reserved\n//!   \\param [in]  NumCustomSemantics    Number of custom semantics elements (upto NV_CUSTOM_SEMANTIC_MAX) provided in array pointer pCustomSemantics\n//!   \\param [in]  pCustomSemantics      pointer to array of NV_CUSTOM_SEMANTIC\n//!   \\param [in]  ConvertToFastGS       reserved\n//!   \\param [in]  UseSpecificShaderExt  TRUE if creating minimal specific shaders with nvapi shader extensions\n//!   \\param [out] ppGeometryShader      Address of a pointer to a ID3D11GeometryShader interface. \n//!\n//! \\return  This API can return any of the error codes enumerated in\n//!          #NvAPI_Status.  If there are return error codes with specific\n//!          meaning for this API, they are listed below.\n//\n///////////////////////////////////////////////////////////////////////////////\n\nNVAPI_INTERFACE NvAPI_D3D11_CreateGeometryShaderEx_2(__in ID3D11Device *pDevice, __in const void *pShaderBytecode, \n                                                     __in SIZE_T BytecodeLength, __in_opt ID3D11ClassLinkage *pClassLinkage, \n                                                     __in const NvAPI_D3D11_CREATE_GEOMETRY_SHADER_EX *pCreateGeometryShaderExArgs,\n                                                    __out ID3D11GeometryShader **ppGeometryShader);\n\n#endif //defined(__cplusplus) && defined(__d3d11_h__) && (!defined(CINTERFACE))\n\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n\n#if defined (__cplusplus) && defined(__d3d11_h__) && (!defined(CINTERFACE) ) \n\ntypedef struct NvAPI_D3D11_CREATE_VERTEX_SHADER_EX_V1\n{\n    UINT version;\n\n    NvU32 NumCustomSemantics;                           // Number of custom semantics elements (upto NV_CUSTOM_SEMANTIC_MAX) provided in array pointer pCustomSemantics\n    NV_CUSTOM_SEMANTIC *pCustomSemantics;               // pointer to array of NV_CUSTOM_SEMANTIC\n} NvAPI_D3D11_CREATE_VERTEX_SHADER_EX_V1;\n\ntypedef struct NvAPI_D3D11_CREATE_VERTEX_SHADER_EX_V2\n{\n    UINT version;\n\n    NvU32 NumCustomSemantics;                           // Number of custom semantics elements (upto NV_CUSTOM_SEMANTIC_MAX) provided in array pointer pCustomSemantics\n    NV_CUSTOM_SEMANTIC *pCustomSemantics;               // pointer to array of NV_CUSTOM_SEMANTIC\n    BOOL UseWithFastGS;                                 // reserved\n} NvAPI_D3D11_CREATE_VERTEX_SHADER_EX_V2;\n\ntypedef struct NvAPI_D3D11_CREATE_VERTEX_SHADER_EX_V3\n{\n    UINT version;\n\n    NvU32 NumCustomSemantics;                           // Number of custom semantics elements (upto NV_CUSTOM_SEMANTIC_MAX) provided in array pointer pCustomSemantics\n    NV_CUSTOM_SEMANTIC *pCustomSemantics;               // pointer to array of NV_CUSTOM_SEMANTIC\n    BOOL UseWithFastGS;                                 // reserved\n    BOOL UseSpecificShaderExt;                          // TRUE if creating minimal specific shaders with nvapi shader extensions\n} NvAPI_D3D11_CREATE_VERTEX_SHADER_EX_V3;\n\ntypedef NvAPI_D3D11_CREATE_VERTEX_SHADER_EX_V3          NvAPI_D3D11_CREATE_VERTEX_SHADER_EX;\n#define NVAPI_D3D11_CREATEVERTEXSHADEREX_VER_1          MAKE_NVAPI_VERSION(NvAPI_D3D11_CREATE_VERTEX_SHADER_EX_V1, 1)\n#define NVAPI_D3D11_CREATEVERTEXSHADEREX_VER_2          MAKE_NVAPI_VERSION(NvAPI_D3D11_CREATE_VERTEX_SHADER_EX_V2, 2)\n#define NVAPI_D3D11_CREATEVERTEXSHADEREX_VER_3          MAKE_NVAPI_VERSION(NvAPI_D3D11_CREATE_VERTEX_SHADER_EX_V2, 3)\n#define NVAPI_D3D11_CREATEVERTEXSHADEREX_VERSION        NVAPI_D3D11_CREATEVERTEXSHADEREX_VER_3\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_D3D11_CreateVertexShaderEx\n//\n//! \\fn NvAPI_D3D11_CreateVertexShaderEx\n//!                                                \n//!   DESCRIPTION: This function allows us to extend the creation of vertex shaders with extra bits\n//!                of functionality.\n//!                \n//!                The first parameters are identical to ID3D11Device::CreateVertexShader() \n//!                so please refer to its documentation for their usage.\n//!                \n//!                The new parameter are custom semantics which allow setting of custom semantic variables\n//!                in the shader\n//!                ! Warning these functions are NOT free-threaded create compatible. \n//!                So Don't call them from a different thread than the one calling immediate device setstate functions\n//!                And make sure no other thread is calling into another (even unrelated) free threaded function !\n//!                \n//! \\since Release: \n//!                \n//!   \\param [in]  pDevice               The device pointer\n//!   \\param [in]  pShaderBytecode       A pointer to the compiled shader.\n//!   \\param [in]  BytecodeLength        Size of the compiled vertex shader.\n//!   \\param [in]  pClassLinkage         A pointer to a class linkage interface. Can be NULL.\n//!   \\param [in]  NumCustomSemantics    Number of custom semantics elements (upto NV_CUSTOM_SEMANTIC_MAX) provided in array pointer pCustomSemantics\n//!   \\param [in]  pCustomSemantics      pointer to array of NV_CUSTOM_SEMANTIC\n//!   \\param [in]  UseWithFastGS         reserved\n//!   \\param [in]  UseSpecificShaderExt  TRUE if creating minimal specific shaders with nvapi shader extensions\n//!   \\param [out] ppVertexShader        Address of a pointer to a ID3D11VertexShader interface. \n//!\n//! \\return  This API can return any of the error codes enumerated in\n//!          #NvAPI_Status.  If there are return error codes with specific\n//!          meaning for this API, they are listed below.\n//\n///////////////////////////////////////////////////////////////////////////////\n\nNVAPI_INTERFACE NvAPI_D3D11_CreateVertexShaderEx(__in ID3D11Device *pDevice, __in const void *pShaderBytecode, \n                                                 __in SIZE_T BytecodeLength, __in_opt ID3D11ClassLinkage *pClassLinkage, \n                                                 __in const NvAPI_D3D11_CREATE_VERTEX_SHADER_EX *pCreateVertexShaderExArgs,\n                                                 __out ID3D11VertexShader **ppVertexShader);\n\n#endif //defined(__cplusplus) && defined(__d3d11_h__) && (!defined(CINTERFACE))\n\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n\n#if defined (__cplusplus) && defined(__d3d11_h__) && (!defined(CINTERFACE) ) \n\ntypedef struct NvAPI_D3D11_CREATE_HULL_SHADER_EX_V1\n{\n    UINT version;\n\n    NvU32 NumCustomSemantics;                           // Number of custom semantics elements (upto NV_CUSTOM_SEMANTIC_MAX) provided in array pointer pCustomSemantics\n    NV_CUSTOM_SEMANTIC *pCustomSemantics;               // pointer to array of NV_CUSTOM_SEMANTIC\n    BOOL UseWithFastGS;                                 // reserved\n} NvAPI_D3D11_CREATE_HULL_SHADER_EX_V1;\n\ntypedef struct NvAPI_D3D11_CREATE_HULL_SHADER_EX_V2\n{\n    UINT version;\n\n    NvU32 NumCustomSemantics;                           // Number of custom semantics elements (upto NV_CUSTOM_SEMANTIC_MAX) provided in array pointer pCustomSemantics\n    NV_CUSTOM_SEMANTIC *pCustomSemantics;               // pointer to array of NV_CUSTOM_SEMANTIC\n    BOOL UseWithFastGS;                                 // reserved\n    BOOL UseSpecificShaderExt;                          // TRUE if creating minimal specific shaders with nvapi shader extensions\n} NvAPI_D3D11_CREATE_HULL_SHADER_EX_V2;\n\ntypedef NvAPI_D3D11_CREATE_HULL_SHADER_EX_V2          NvAPI_D3D11_CREATE_HULL_SHADER_EX;\n#define NVAPI_D3D11_CREATEHULLSHADEREX_VER_1          MAKE_NVAPI_VERSION(NvAPI_D3D11_CREATE_HULL_SHADER_EX_V1, 1)\n#define NVAPI_D3D11_CREATEHULLSHADEREX_VER_2          MAKE_NVAPI_VERSION(NvAPI_D3D11_CREATE_HULL_SHADER_EX_V1, 2)\n#define NVAPI_D3D11_CREATEHULLSHADEREX_VERSION        NVAPI_D3D11_CREATEHULLSHADEREX_VER_2\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_D3D11_CreateHullShaderEx\n//\n//! \\fn NvAPI_D3D11_CreateHullShaderEx\n//!                                                \n//!   DESCRIPTION: This function allows us to extend the creation of hull shaders with extra bits\n//!                of functionality.\n//!                \n//!                The first parameters are identical to ID3D11Device::CreateHullShader() \n//!                so please refer to its documentation for their usage.\n//!                \n//!                The new parameter are custom semantics which allow setting of custom semantic variables\n//!                in the shader\n//!                ! Warning these functions are NOT free-threaded create compatible. \n//!                So Don't call them from a different thread than the one calling immediate device setstate functions\n//!                And make sure no other thread is calling into another (even unrelated) free threaded function !\n//!                \n//! \\since Release: \n//!                \n//!   \\param [in]  pDevice               The device pointer\n//!   \\param [in]  pShaderBytecode       A pointer to the compiled shader.\n//!   \\param [in]  BytecodeLength        Size of the compiled hull shader.\n//!   \\param [in]  pClassLinkage         A pointer to a class linkage interface. Can be NULL.\n//!   \\param [in]  NumCustomSemantics    Number of custom semantics elements (upto NV_CUSTOM_SEMANTIC_MAX) provided in array pointer pCustomSemantics\n//!   \\param [in]  pCustomSemantics      pointer to array of NV_CUSTOM_SEMANTIC\n//!   \\param [in]  UseWithFastGS         reserved\n//!   \\param [in]  UseSpecificShaderExt  TRUE if creating minimal specific shaders with nvapi shader extensions\n//!   \\param [out] ppHullShader          Address of a pointer to a ID3D11HullShader interface. \n//!\n//! \\return  This API can return any of the error codes enumerated in\n//!          #NvAPI_Status.  If there are return error codes with specific\n//!          meaning for this API, they are listed below.\n//\n///////////////////////////////////////////////////////////////////////////////\n\nNVAPI_INTERFACE NvAPI_D3D11_CreateHullShaderEx(__in ID3D11Device *pDevice, __in const void *pShaderBytecode, \n                                               __in SIZE_T BytecodeLength, __in_opt ID3D11ClassLinkage *pClassLinkage, \n                                               __in const NvAPI_D3D11_CREATE_HULL_SHADER_EX *pCreateHullShaderExArgs,\n                                               __out ID3D11HullShader **ppHullShader);\n\n#endif //defined(__cplusplus) && defined(__d3d11_h__) && (!defined(CINTERFACE))\n\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n\n#if defined (__cplusplus) && defined(__d3d11_h__) && (!defined(CINTERFACE) ) \n\ntypedef struct NvAPI_D3D11_CREATE_DOMAIN_SHADER_EX_V1\n{\n    UINT version;\n\n    NvU32 NumCustomSemantics;                           // Number of custom semantics elements (upto NV_CUSTOM_SEMANTIC_MAX) provided in array pointer pCustomSemantics\n    NV_CUSTOM_SEMANTIC *pCustomSemantics;               // pointer to array of NV_CUSTOM_SEMANTIC\n} NvAPI_D3D11_CREATE_DOMAIN_SHADER_EX_V1;\n\ntypedef struct NvAPI_D3D11_CREATE_DOMAIN_SHADER_EX_V2\n{\n    UINT version;\n\n    NvU32 NumCustomSemantics;                           // Number of custom semantics elements (upto NV_CUSTOM_SEMANTIC_MAX) provided in array pointer pCustomSemantics\n    NV_CUSTOM_SEMANTIC *pCustomSemantics;               // pointer to array of NV_CUSTOM_SEMANTIC\n    BOOL UseWithFastGS;                                 // reserved\n} NvAPI_D3D11_CREATE_DOMAIN_SHADER_EX_V2;\n\ntypedef struct NvAPI_D3D11_CREATE_DOMAIN_SHADER_EX_V3\n{\n    UINT version;\n\n    NvU32 NumCustomSemantics;                           // Number of custom semantics elements (upto NV_CUSTOM_SEMANTIC_MAX) provided in array pointer pCustomSemantics\n    NV_CUSTOM_SEMANTIC *pCustomSemantics;               // pointer to array of NV_CUSTOM_SEMANTIC\n    BOOL UseWithFastGS;                                 // reserved\n    BOOL UseSpecificShaderExt;                          // TRUE if creating minimal specific shaders with nvapi shader extensions\n} NvAPI_D3D11_CREATE_DOMAIN_SHADER_EX_V3;\n\ntypedef NvAPI_D3D11_CREATE_DOMAIN_SHADER_EX_V3          NvAPI_D3D11_CREATE_DOMAIN_SHADER_EX;\n#define NVAPI_D3D11_CREATEDOMAINSHADEREX_VER_1          MAKE_NVAPI_VERSION(NvAPI_D3D11_CREATE_DOMAIN_SHADER_EX_V1, 1)\n#define NVAPI_D3D11_CREATEDOMAINSHADEREX_VER_2          MAKE_NVAPI_VERSION(NvAPI_D3D11_CREATE_DOMAIN_SHADER_EX_V2, 2)\n#define NVAPI_D3D11_CREATEDOMAINSHADEREX_VER_3          MAKE_NVAPI_VERSION(NvAPI_D3D11_CREATE_DOMAIN_SHADER_EX_V3, 3)\n#define NVAPI_D3D11_CREATEDOMAINSHADEREX_VERSION        NVAPI_D3D11_CREATEDOMAINSHADEREX_VER_3\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_D3D11_CreateDomainShaderEx\n//\n//! \\fn NvAPI_D3D11_CreateDomainShaderEx\n//!                                                \n//!   DESCRIPTION: This function allows us to extend the creation of domain shaders with extra bits\n//!                of functionality.\n//!                \n//!                The first parameters are identical to ID3D11Device::CreateDomainShader() \n//!                so please refer to its documentation for their usage.\n//!                \n//!                The new parameter are custom semantics which allow setting of custom semantic variables\n//!                in the shader\n//!                ! Warning these functions are NOT free-threaded create compatible. \n//!                So Don't call them from a different thread than the one calling immediate device setstate functions\n//!                And make sure no other thread is calling into another (even unrelated) free threaded function !\n//!                \n//! \\since Release: \n//!                \n//!   \\param [in]  pDevice               The device pointer\n//!   \\param [in]  pShaderBytecode       A pointer to the compiled shader.\n//!   \\param [in]  BytecodeLength        Size of the compiled domain shader.\n//!   \\param [in]  pClassLinkage         A pointer to a class linkage interface. Can be NULL.\n//!   \\param [in]  NumCustomSemantics    Number of custom semantics elements (upto NV_CUSTOM_SEMANTIC_MAX) provided in array pointer pCustomSemantics\n//!   \\param [in]  pCustomSemantics      pointer to array of NV_CUSTOM_SEMANTIC\n//!   \\param [in]  UseWithFastGS         reserved\n//!   \\param [in]  UseSpecificShaderExt  TRUE if creating minimal specific shaders with nvapi shader extensions\n//!   \\param [out] ppDomainShader        Address of a pointer to a ID3D11DomainShader interface. \n//!\n//! \\return  This API can return any of the error codes enumerated in\n//!          #NvAPI_Status.  If there are return error codes with specific\n//!          meaning for this API, they are listed below.\n//\n///////////////////////////////////////////////////////////////////////////////\n\nNVAPI_INTERFACE NvAPI_D3D11_CreateDomainShaderEx(__in ID3D11Device *pDevice, __in const void *pShaderBytecode, \n                                                 __in SIZE_T BytecodeLength, __in_opt ID3D11ClassLinkage *pClassLinkage, \n                                                 __in const NvAPI_D3D11_CREATE_DOMAIN_SHADER_EX *pCreateDomainShaderExArgs,\n                                                 __out ID3D11DomainShader **ppDomainShader);\n\n#endif //defined(__cplusplus) && defined(__d3d11_h__) && (!defined(CINTERFACE))\n\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n\n#if defined (__cplusplus) && defined(__d3d11_h__) && (!defined(CINTERFACE) ) \n\ntypedef enum _NV_FASTGS_FLAGS\n{\n    NV_FASTGS_USE_VIEWPORT_MASK             = 0x01,   // Causes SV_ViewportArrayIndex value to be interpreted as a bitmask of viewports to broadcast to.\n    NV_FASTGS_OFFSET_RT_INDEX_BY_VP_INDEX   = 0x02,   // Causes SV_RenderTargetArrayIndex value to be offset by the viewport index when broadcasting.\n    NV_FASTGS_STRICT_API_ORDER              = 0x04,   // Causes broadcast primitives to be rendered strictly in API order (slow).\n                                                      // By default, primitives may be batched per viewport to improve performance.\n} NV_FASTGS_FLAGS;\n\nstruct NvAPI_D3D11_CREATE_FASTGS_EXPLICIT_DESC_V1\n{\n    NvU32 version;                                   // ALWAYS == NVAPI_D3D11_CREATEFASTGSEXPLICIT_VER\n    NvU32 flags;                                     // A combination of flags from NV_FASTGS_FLAGS\n    NvAPI_D3D11_SWIZZLE_MODE *pCoordinateSwizzling;  // [optional] Array of 16 coordinate swizzle modes, one per viewport. NULL if not used.\n                                                     // The output x, y, z, and w coordinates of all vertices can be set to any of the coordinates or their \n                                                     // negated versions i.e. {x, y, z, w, -x, -y, -z, -w}. Coordinates are swizzled before any viewport \n                                                     // operation occurs i.e. before frustum clipping, scaling, and viewport clipping. And after \n                                                     // last of vertex/tesselation/geometry shader stage, stream-out and viewport broadcast expansion (see NV_FASTGS_USE_VIEWPORT_MASK)\n                                                     // pCoordinateSwizzling[i] sets the swizzle-mode of each component for viewport i.\n                                                     // See NV_SWIZZLE_MODE for values of allowed swizzle modes.\n                                                     // See NV_SWIZZLE_OFFSET for bit offset from where NV_SWIZZLE_MODE to be set for each component.\n                                                     // For example : \n                                                     // 1. To set swizzle for viewport 0 such that -  w and z are unchanged and values of x and y are swapped : \n                                                     // pCoordinateSwizzling[0] = (NV_SWIZZLE_POS_W << NV_SWIZZLE_OFFSET_W) | \n                                                     //                           (NV_SWIZZLE_POS_Z << NV_SWIZZLE_OFFSET_Z) | \n                                                     //                           (NV_SWIZZLE_POS_X << NV_SWIZZLE_OFFSET_Y) | \n                                                     //                           (NV_SWIZZLE_POS_Y << NV_SWIZZLE_OFFSET_X);\n                                                     // 2. To set swizzle for viewport 0 such that -  w, z and y are unchanged and value of x is negated :\n                                                     // pCoordinateSwizzling[0] = (NV_SWIZZLE_POS_W << NV_SWIZZLE_OFFSET_W) | \n                                                     //                           (NV_SWIZZLE_POS_Z << NV_SWIZZLE_OFFSET_Z) | \n                                                     //                           (NV_SWIZZLE_POS_Y << NV_SWIZZLE_OFFSET_Y) | \n                                                     //                           (NV_SWIZZLE_NEG_X << NV_SWIZZLE_OFFSET_X);\n                                                     // Need to set some valid combination of swizzle-modes for all viewports, irrespective of whether that viewport is set.\n                                                     // Invalid swizzle-mode for any viewport (even if that viewport is not set) may result in removal of device.\n};\n\n#define NVAPI_D3D11_CREATEFASTGSEXPLICIT_VER1 MAKE_NVAPI_VERSION(NvAPI_D3D11_CREATE_FASTGS_EXPLICIT_DESC_V1, 1)\n#define NVAPI_D3D11_CREATEFASTGSEXPLICIT_VER  NVAPI_D3D11_CREATEFASTGSEXPLICIT_VER1\n\ntypedef NvAPI_D3D11_CREATE_FASTGS_EXPLICIT_DESC_V1 NvAPI_D3D11_CREATE_FASTGS_EXPLICIT_DESC;\n\n////////////////////////////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_D3D11_CreateFastGeometryShaderExplicit\n//\n//! \\fn NvAPI_D3D11_CreateFastGeometryShaderExplicit\n//!\n//!   DESCRIPTION: This function will create a fast geometry shader written using an \"explicit\"\n//!                coding style, rather than converting a standard GS. For the explicit coding\n//!                style, the GS must be written with maxvertexcount(1), and must pass-through\n//!                input vertex 0 to the output without modification.\n//!\n//!                Additional per-primitive outputs may also be computed and written to the single\n//!                output vertex. If these outputs are read by the pixel shader, they must be\n//!                declared with the \"nointerpolation\" attribute in the PS input signature;\n//!                otherwise, visual corruption may occur. Also, unlike D3D API, there is no guarantee \n//!                that pixel shader will get the default value of an attribute if that attribute is not written \n//!                by the earlier shader stage in the pipeline.\n//!\n//!                The first four parameters are identical to ID3D11Device::CreateGeometryShader(),\n//!                so please refer to its documentation for their usage.\n//!\n//! \\since Release:\n//!\n//!   \\param [in]  pDevice               The device pointer\n//!   \\param [in]  pShaderBytecode       A pointer to the compiled shader.\n//!   \\param [in]  BytecodeLength        Size of the compiled geometry shader.\n//!   \\param [in]  pClassLinkage         A pointer to a class linkage interface. Can be NULL.\n//!   \\param [in]  pCreateFastGSArgs     A pointer to a NvAPI_D3D11_CREATE_FASTGS_EXPLICIT struct.\n//!   \\param [out] ppGeometryShader      Address of a pointer to a ID3D11GeometryShader interface.\n//!\n//! \\return  This API can return any of the error codes enumerated in\n//!          #NvAPI_Status.  If there are return error codes with specific\n//!          meaning for this API, they are listed below.\n//\n////////////////////////////////////////////////////////////////////////////////////////////////////\n\nNVAPI_INTERFACE NvAPI_D3D11_CreateFastGeometryShaderExplicit(__in ID3D11Device *pDevice, __in const void *pShaderBytecode,\n                                                             __in SIZE_T BytecodeLength, __in_opt ID3D11ClassLinkage *pClassLinkage,\n                                                             __in const NvAPI_D3D11_CREATE_FASTGS_EXPLICIT_DESC *pCreateFastGSArgs,\n                                                             __out ID3D11GeometryShader **ppGeometryShader);\n\n#endif //defined(__cplusplus) && defined(__d3d11_h__) && (!defined(CINTERFACE))\n\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n\n#if defined (__cplusplus) && defined(__d3d11_h__) && (!defined(CINTERFACE) ) \n////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_D3D11_CreateFastGeometryShader\n//\n//! \\fn NvAPI_D3D11_CreateFastGeometryShader\n//!                                                \n//!   DESCRIPTION: This function will convert a regular geometry shader into a fast GS variant if possible.\n//!                It will not do any validation regarding the compatibility of the resulting fast GS with any \n//!                Pixel shader. The validation has to be done by the application manually.\n//!                \n//!                The parameters are identical to ID3D11Device::CreateGeometryShader() \n//!                so please refer to its documentation for their usage.\n//!                \n//!                If the shader is too complex or is not in adequate form to be converted to fast GS\n//!                this function will simply fail. You should then call ID3D11Device::CreateGeometryShader() \n//!                to create the regular geometry shader.\n//!                \n//! \\since Release: \n//!                \n//!   \\param [in]  pDevice               The device pointer\n//!   \\param [in]  pShaderBytecode       A pointer to the compiled shader.\n//!   \\param [in]  BytecodeLength        Size of the compiled geometry shader.\n//!   \\param [in]  pClassLinkage         A pointer to a class linkage interface. Can be NULL.\n//!   \\param [out] ppGeometryShader      Address of a pointer to a ID3D11GeometryShader interface. \n//!\n//! \\return  This API can return any of the error codes enumerated in\n//!          #NvAPI_Status.  If there are return error codes with specific\n//!          meaning for this API, they are listed below.\n//\n///////////////////////////////////////////////////////////////////////////////\n\nNVAPI_INTERFACE NvAPI_D3D11_CreateFastGeometryShader(__in ID3D11Device *pDevice, __in const void *pShaderBytecode, \n                                                     __in SIZE_T BytecodeLength, __in_opt ID3D11ClassLinkage *pClassLinkage,\n                                                     __out ID3D11GeometryShader **ppGeometryShader);\n\n#endif //defined(__cplusplus) && defined(__d3d11_h__) && (!defined(CINTERFACE))\n\n\n#if defined (__cplusplus) && defined(__d3d12_h__)\n\n//! Enum for CreatePSO extensions.\n//! \\ingroup dx\ntypedef enum _NV_PSO_EXTENSION\n{\n    NV_PSO_RASTER_EXTENSION = 0,\n    NV_PSO_REQUEST_FASTGS_EXTENSION = 1,\n    NV_PSO_ENABLE_DEPTH_BOUND_TEST_EXTENSION = 3,\n    NV_PSO_EXPLICIT_FASTGS_EXTENSION = 4,\n    NV_PSO_SET_SHADER_EXTNENSION_SLOT_AND_SPACE = 5,\n}NV_PSO_EXTENSION;\n\nstruct NVAPI_D3D12_PSO_EXTENSION_DESC_V1 \n{\n    NvU32            baseVersion;         //<! Always use NV_PSO_EXTENSION_DESC_VER\n    NV_PSO_EXTENSION psoExtension;\n};\n\n#define NV_PSO_EXTENSION_DESC_VER_1   MAKE_NVAPI_VERSION(NVAPI_D3D12_PSO_EXTENSION_DESC_V1, 1)\n#define NV_PSO_EXTENSION_DESC_VER     NV_PSO_EXTENSION_DESC_VER_1\n\ntypedef NVAPI_D3D12_PSO_EXTENSION_DESC_V1   NVAPI_D3D12_PSO_EXTENSION_DESC;\n\n\nstruct NVAPI_D3D12_PSO_RASTERIZER_STATE_DESC_V1 : public NVAPI_D3D12_PSO_EXTENSION_DESC\n{\n    NvU32 version;                           //<! Always use NV_RASTERIZER_PSO_EXTENSION_DESC_VER\n    // These are additional parameters on the top of D3D12_RASTERIZER_DESC\n    bool ProgrammableSamplePositionsEnable;  //<! enable Programmable Samples feature\n    bool InterleavedSamplingEnable;          //<! when jitter is enabled, an app need to fill the whole arrays below, otherwise only as much entries as samples\n    NvU8 SampleCount;                        //<! number of samples. In TIR N->1 it needs to match N, in non-TIR it needs to match RT sample count. Ignored if ForcePerSampleInterlock is set\n    NvU8 SamplePositionsX[16];               //<! x positions in API sample order\n    NvU8 SamplePositionsY[16];               //<! y positions in API sample order\n    NVAPI_QUAD_FILLMODE QuadFillMode;        //<! Fill a triangle outside its bounds as a screen-aligned quad, matching the tri's bounding-box or filling the full viewport.\n    bool PostZCoverageEnable;                //<! Enable pixel-shader input SV_COVERAGE to account for z-test in early-z mode.\n    bool CoverageToColorEnable;              //<! Enable output of coverage to a color render-target.\n    NvU8 CoverageToColorRTIndex;             //<! Index of RT for coverage-to-color.\n    NvU32 reserved[16];                      //<! reserved for expansion, set to zero.\n};\n\n#define NV_RASTERIZER_PSO_EXTENSION_DESC_VER_1   MAKE_NVAPI_VERSION(NVAPI_D3D12_PSO_RASTERIZER_STATE_DESC_V1, 1)\n#define NV_RASTERIZER_PSO_EXTENSION_DESC_VER     NV_RASTERIZER_PSO_EXTENSION_DESC_VER_1\n\ntypedef NVAPI_D3D12_PSO_RASTERIZER_STATE_DESC_V1   NVAPI_D3D12_PSO_RASTERIZER_STATE_DESC;\n\nstruct NVAPI_D3D12_PSO_CREATE_FASTGS_EXPLICIT_DESC_V1 : public NVAPI_D3D12_PSO_EXTENSION_DESC\n{\n    NvU32 version;                                   // ALWAYS == NV_FASTGS_EXPLICIT_PSO_EXTENSION_VER\n    NvU32 flags;                                     // A combination of flags from NV_FASTGS_FLAGS\n    NvAPI_D3D11_SWIZZLE_MODE *pCoordinateSwizzling;  // [optional] Array of 16 coordinate swizzle modes, one per viewport. NULL if not used.\n                                                     // The output x, y, z, and w coordinates of all vertices can be set to any of the coordinates or their \n                                                     // negated versions i.e. {x, y, z, w, -x, -y, -z, -w}. Coordinates are swizzled before any viewport \n                                                     // operation occurs i.e. before frustum clipping, scaling, and viewport clipping. And after \n                                                     // last of vertex/tesselation/geometry shader stage, stream-out and viewport broadcast expansion (see NV_FASTGS_USE_VIEWPORT_MASK)\n                                                     // pCoordinateSwizzling[i] sets the swizzle-mode of each component for viewport i.\n                                                     // See NV_SWIZZLE_MODE for values of allowed swizzle modes.\n                                                     // See NV_SWIZZLE_OFFSET for bit offset from where NV_SWIZZLE_MODE to be set for each component.\n                                                     // For example : \n                                                     // 1. To set swizzle for viewport 0 such that -  w and z are unchanged and values of x and y are swapped : \n                                                     // pCoordinateSwizzling[0] = (NV_SWIZZLE_POS_W << NV_SWIZZLE_OFFSET_W) | \n                                                     //                           (NV_SWIZZLE_POS_Z << NV_SWIZZLE_OFFSET_Z) | \n                                                     //                           (NV_SWIZZLE_POS_X << NV_SWIZZLE_OFFSET_Y) | \n                                                     //                           (NV_SWIZZLE_POS_Y << NV_SWIZZLE_OFFSET_X);\n                                                     // 2. To set swizzle for viewport 0 such that -  w, z and y are unchanged and value of x is negated :\n                                                     // pCoordinateSwizzling[0] = (NV_SWIZZLE_POS_W << NV_SWIZZLE_OFFSET_W) | \n                                                     //                           (NV_SWIZZLE_POS_Z << NV_SWIZZLE_OFFSET_Z) | \n                                                     //                           (NV_SWIZZLE_POS_Y << NV_SWIZZLE_OFFSET_Y) | \n                                                     //                           (NV_SWIZZLE_NEG_X << NV_SWIZZLE_OFFSET_X);\n                                                     // Need to set some valid combination of swizzle-modes for all viewports, irrespective of whether that viewport is set.\n                                                     // Invalid swizzle-mode for any viewport (even if that viewport is not set) may result in removal of device.\n};\n\n#define NV_FASTGS_EXPLICIT_PSO_EXTENSION_VER_1 MAKE_NVAPI_VERSION(NVAPI_D3D12_PSO_CREATE_FASTGS_EXPLICIT_DESC_V1, 1)\n#define NV_FASTGS_EXPLICIT_PSO_EXTENSION_VER   NV_FASTGS_EXPLICIT_PSO_EXTENSION_VER_1\n\ntypedef NVAPI_D3D12_PSO_CREATE_FASTGS_EXPLICIT_DESC_V1   NVAPI_D3D12_PSO_CREATE_FASTGS_EXPLICIT_DESC;\n\n\nstruct NVAPI_D3D12_PSO_REQUEST_FAST_GEOMETRY_SHADER_DESC_V1 : public NVAPI_D3D12_PSO_EXTENSION_DESC\n{\n    NvU32 version; //<! Always use NV_FAST_GEOMETRY_SHADER_PSO_EXTENSION_VER\n};\n\n#define NV_FAST_GEOMETRY_SHADER_PSO_EXTENSION_VER_1   MAKE_NVAPI_VERSION(NVAPI_D3D12_PSO_REQUEST_FAST_GEOMETRY_SHADER_DESC_V1, 1)\n#define NV_FAST_GEOMETRY_SHADER_PSO_EXTENSION_VER     NV_FAST_GEOMETRY_SHADER_PSO_EXTENSION_VER_1\n\ntypedef NVAPI_D3D12_PSO_REQUEST_FAST_GEOMETRY_SHADER_DESC_V1   NVAPI_D3D12_PSO_REQUEST_FAST_GEOMETRY_SHADER_DESC;\n\n\nstruct NVAPI_D3D12_PSO_ENABLE_DEPTH_BOUND_TEST_DESC_V1 : public NVAPI_D3D12_PSO_EXTENSION_DESC\n{\n    NvU32 version; //<! Always use NV_ENABLE_DEPTH_BOUND_TEST_PSO_EXTENSION_DESC_VER\n    bool EnableDBT;\n};\n\n#define NV_ENABLE_DEPTH_BOUND_TEST_PSO_EXTENSION_DESC_VER_1   MAKE_NVAPI_VERSION(NVAPI_D3D12_PSO_ENABLE_DEPTH_BOUND_TEST_DESC_V1, 1)\n#define NV_ENABLE_DEPTH_BOUND_TEST_PSO_EXTENSION_DESC_VER     NV_ENABLE_DEPTH_BOUND_TEST_PSO_EXTENSION_DESC_VER_1\n\ntypedef NVAPI_D3D12_PSO_ENABLE_DEPTH_BOUND_TEST_DESC_V1       NVAPI_D3D12_PSO_ENABLE_DEPTH_BOUND_TEST_DESC;\n\n\nstruct NVAPI_D3D12_PSO_SET_SHADER_EXTENSION_SLOT_DESC_V1 : public NVAPI_D3D12_PSO_EXTENSION_DESC\n{\n    NvU32 version; //<! Always use NV_SET_SHADER_EXTENSION_SLOT_DESC_VER\n    NvU32 uavSlot;\n    NvU32 registerSpace;\n};\n\n#define NV_SET_SHADER_EXTENSION_SLOT_DESC_VER_1               MAKE_NVAPI_VERSION(NVAPI_D3D12_PSO_SET_SHADER_EXTENSION_SLOT_DESC_V1, 1)\n#define NV_SET_SHADER_EXTENSION_SLOT_DESC_VER                 NV_SET_SHADER_EXTENSION_SLOT_DESC_VER_1\n\ntypedef NVAPI_D3D12_PSO_SET_SHADER_EXTENSION_SLOT_DESC_V1     NVAPI_D3D12_PSO_SET_SHADER_EXTENSION_SLOT_DESC;\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_D3D12_CreateGraphicsPipelineState\n//\n//! \\code\n//!   DESCRIPTION: This function will create PSO with provided extensions\n//!\n//!         \\param [in]        pDevice              Current d3d device\n//!         \\param [in]        pPSODesc             PSO description of type D3D12_GRAPHICS_PIPELINE_STATE_DESC\n//!         \\param [in]        numExtensions        Number of extensions\n//!         \\param [in]        ppExtensions         Array of PSO extensions (see NV_PSO_EXTENSION  for possible extensions)\n//!         \\param [out]       ppPSO                Output PSO object of type ID3D12PipelineState \n//!\n//! SUPPORTED OS:  Windows 10\n//!\n//! \\return ::NVAPI_OK     if the call succeeds.\n//! \\endcode\n//! \\ingroup dx\n///////////////////////////////////////////////////////////////////////////////\n\nNVAPI_INTERFACE NvAPI_D3D12_CreateGraphicsPipelineState(__in ID3D12Device *pDevice,\n                                                        __in const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pPSODesc,\n                                                          NvU32 numExtensions,\n                                                        __in const NVAPI_D3D12_PSO_EXTENSION_DESC** ppExtensions,\n                                                        __out ID3D12PipelineState **ppPSO);\n\n#endif //defined(__cplusplus) && defined(__d3d12_h__)\n\n\n#if defined (__cplusplus) && defined(__d3d12_h__)\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_D3D12_CreateComputePipelineState\n//\n//! \\code\n//!   DESCRIPTION: This function will create PSO with provided extensions\n//!\n//!         \\param [in]        pDevice              Current d3d device\n//!         \\param [in]        pPSODesc             PSO description of type D3D12_COMPUTE_PIPELINE_STATE_DESC\n//!         \\param [in]        numExtensions        Number of extensions\n//!         \\param [in]        ppExtensions         Array of PSO extensions (see NV_PSO_EXTENSION  for possible extensions)\n//!         \\param [out]       ppPSO                Output PSO object of type ID3D12PipelineState \n//!\n//! \\since Release: 364\n//!\n//! SUPPORTED OS:  Windows 10\n//!\n//! \\return ::NVAPI_OK     if the call succeeds.\n//! \\endcode\n//! \\ingroup dx\n///////////////////////////////////////////////////////////////////////////////\n\nNVAPI_INTERFACE NvAPI_D3D12_CreateComputePipelineState(__in ID3D12Device *pDevice,\n                                                       __in const D3D12_COMPUTE_PIPELINE_STATE_DESC *pPSODesc,\n                                                         NvU32 numExtensions,\n                                                       __in const NVAPI_D3D12_PSO_EXTENSION_DESC** ppExtensions,\n                                                       __out ID3D12PipelineState **ppPSO);\n\n#endif //defined(__cplusplus) && defined(__d3d12_h__)\n\n\n#if defined (__cplusplus) && defined(__d3d12_h__)\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_D3D12_SetDepthBoundsTestValues\n//\n//! \\code\n//!   DESCRIPTION: This function will set the minDepth and maxDepth values for depth bounds test\n//!                To enable/ disable depth bounds test use PSO extension NV_PSO_ENABLE_DEPTH_BOUND_TEST_EXTENSION\n//!                in the nvapi NvAPI_D3D12_CreateGraphicsPipelineState\n//!\n//!         \\param [in]        pCommandList         Command List to set depth bounds test\n//!         \\param [in]        minDepth             min value for depth bound test\n//!         \\param [in]        maxDepth             max value for depth bound test\n//!\n//! The valid values for minDepth and maxDepth are such that 0 <= minDepth <= maxDepth <= 1\n//!\n//! SUPPORTED OS:  Windows 10\n//!\n//! \\return ::NVAPI_OK     if the call succeeds.\n//! \\endcode\n//! \\ingroup dx\n///////////////////////////////////////////////////////////////////////////////\n\nNVAPI_INTERFACE NvAPI_D3D12_SetDepthBoundsTestValues(__in ID3D12GraphicsCommandList *pCommandList,\n                                                     __in const float minDepth,\n                                                     __in const float maxDepth);\n\n#endif //defined(__cplusplus) && defined(__d3d12_h__)\n\n\n#if defined (__cplusplus) && defined(__d3d12_h__)\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_D3D12_IsNvShaderExtnOpCodeSupported\n//\n//!   DESCRIPTION: This function checks if a nv HLSL shader extension opcode is \n//!                supported on current hardware. List of opcodes is in nvShaderExtnEnums.h\n//!                To use Nvidia HLSL extensions the application must include nvHLSLExtns.h \n//!                in the hlsl shader code. See nvHLSLExtns.h for more details on supported opcodes.\n//!\n//! \\since Release: 364\n//!\n//! SUPPORTED OS:  Windows 10\n//!\n//!\n//! \\param [in]        pDev         The device on which to query for support\n//! \\param [in]        opCode       the opcode to check\n//! \\param [out]       pSupported   true if supported, false otherwise\n//!\n//! RETURN STATUS:     This API can return any of the error codes enumerated in #NvAPI_Status. \n//! \\retval ::         NVAPI_OK if the call succeeded\n//!\n//! \\ingroup dx\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_D3D12_IsNvShaderExtnOpCodeSupported(__in  ID3D12Device *pDevice,\n                                                          __in  NvU32 opCode,\n                                                          __out bool *pSupported);\n\n#endif //defined (__cplusplus) && defined(__d3d12_h__)\n\n\n#if defined(_D3D9_H_) || defined(__d3d10_h__) || defined(__d3d11_h__)\n\n///////////////////////////////////////////////////////////////////////////////\n//!\n//! FUNCTION NAME: NvAPI_D3D_IsGSyncCapable\n//!   DESCRIPTION: This API gets G-Sync capability for the given device context.\n//!                This is only reliable after the first present call has completed.\n//! \\param [in]    pDeviceOrContext    The D3D9, D3D10, D3D11 device, or D3D11 device context\n//! \\param [in]    NVDX_ObjectHandle   The handle of primary surface\n//! \\param [out]   pIsGsyncCapable     if G-Sync can be enabled, *pIsGsyncCapable is true.\n//!\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n//!\n//! RETURN STATUS: This API can return any of the error codes enumerated in #NvAPI_Status. \n//!                If there are return error codes with specific meaning for this API, they are listed below.\n//!\n//! \\ingroup dx\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_D3D_IsGSyncCapable(__in IUnknown *pDeviceOrContext, __in NVDX_ObjectHandle primarySurface, __out BOOL *pIsGsyncCapable);\n#endif //if defined(_D3D9_H_) || defined(__d3d10_h__) || defined(__d3d11_h__)\n\n\n\n#if defined(_D3D9_H_) || defined(__d3d10_h__) || defined(__d3d11_h__)\n\n///////////////////////////////////////////////////////////////////////////////\n//!\n//! FUNCTION NAME: NvAPI_D3D_IsGSyncActive\n//!   DESCRIPTION: This API get the G-Sync state for the given device context.\n//!                This is only reliable after the first present call has completed.\n//!                As it is a bit time consuming, It should not be called per frame. \n//! \\param [in]    pDeviceOrContext    The D3D9, D3D10, D3D11 device, or D3D11 device context\n//! \\param [in]    NVDX_ObjectHandle   The handle of primary surface\n//! \\param [out]   pIsGsyncActive      if G-Sync is active, *pisGsyncActive is true.\n//!\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n//!\n//! RETURN STATUS: This API can return any of the error codes enumerated in #NvAPI_Status. \n//!                If there are return error codes with specific meaning for this API, they are listed below.\n//!\n//! \\ingroup dx\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_D3D_IsGSyncActive(__in IUnknown *pDeviceOrContext, __in NVDX_ObjectHandle primarySurface, __out BOOL *pIsGsyncActive);\n#endif //if defined(_D3D9_H_) || defined(__d3d10_h__) || defined(__d3d11_h__)\n\n\n\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n#if defined (__cplusplus) && ( defined(__d3d10_h__) || defined(__d3d10_1_h__) ||defined(__d3d11_h__) ) \n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_D3D1x_DisableShaderDiskCache\n//\n//! DESCRIPTION: Disables driver managed caching of shader compilations to disk\n//!\n//! \\param [in]    pDevice               Device to disabled the shader disk cache on\n//!\n//!\n//! \\retval ::NVAPI_OK                   Shader disk cache was disabled\n//! \\retval ::NVAPI_ERROR                The operation failed.\n//! \\retval ::NVAPI_INVALID_ARGUMENT     Argument passed in is invalid.\n//! \\ingroup dx\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_D3D1x_DisableShaderDiskCache(IUnknown *pDevice);\n\n#endif //defined(__cplusplus) && ( defined(__d3d10_h__) || defined(__d3d10_1_h__) ||defined(__d3d11_h__) )\n\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n#if defined (__cplusplus) && defined(__d3d11_h__) \n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_D3D11_MultiGPU_GetCaps\n//\n//! DESCRIPTION: Request to get multi GPU extension caps.\n//!\n//! \\param [out]    pMultiGPUCaps        Pointer to a structure returning multi GPU caps\n//! \\retval ::NVAPI_OK                   Call succeeded.\n//! \\retval ::NVAPI_ERROR                Call failed.\n//! \\ingroup dx\n///////////////////////////////////////////////////////////////////////////////\n//! \\ingroup dx\ntypedef struct \n{\n    NvU32 multiGPUVersion;\n    NvU32 reserved;\n    NvU32 nTotalGPUs;\n    NvU32 nSLIGPUs;\n    NvU32 videoBridgePresent;\n} NV_MULTIGPU_CAPS, *PNV_MULTIGPU_CAPS;\n\n//! \\ingroup dx\nNVAPI_INTERFACE NvAPI_D3D11_MultiGPU_GetCaps(__out PNV_MULTIGPU_CAPS pMultiGPUCaps);\n\n#endif //defined(__cplusplus) && defined(__d3d11_h__)\n\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n#if defined (__cplusplus) && defined(__d3d11_h__) \n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_D3D11_MultiGPU_Init\n//\n//! DESCRIPTION: Request to enable/disable multi GPU extension. Also if enabled automatically disables auto stereo.\n//!\n//! \\param [in]    bEnable               if true enables the extension for all subsequently created devices. Otherwise disables it\n//! \\retval ::NVAPI_OK                   Call succeeded.\n//! \\retval ::NVAPI_ERROR                Call failed.\n//! \\ingroup dx\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_D3D11_MultiGPU_Init(__in bool bEnable);\n\n#endif //defined(__cplusplus) && defined(__d3d11_h__)\n\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n#if defined (__cplusplus) && defined(__d3d11_h__) \n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_D3D11_CreateMultiGPUDevice\n//! \\code\n//!   DESCRIPTION: This function returns ID3D11MultiGPUDevice used for multi GPU VR support\n//!\n//!         \\param [in]        pDevice                  current d3d device\n//!         \\param [in]        version                  version of requested ID3D11MultiGPUDevice. \n//!         \\param [out]       currentVersion           pointer to returned current version of ID3D11MultiGPUDevice. \n//!         \\param [out]       ppD3D11MultiGPUDevice    pointer to returned ID3D11MultiGPUDevice. \n//!         \\param [in]        maxGpus                  max number of gpus this ID3D11MultiGPUDevice is allowed to use\n//!\n//!\n//! \\return ::NVAPI_OK                          if the call succeeds.\n//!           NVAPI_INVALID_ARGUMENT            if NvAPI_D3D11_MultiGPU_Init() was not enabled prior to the creation of the D3D11 device, \n//!                                             or if maxGpus is greater than the number of GPUs in the SLI group.\n//!           NVAPI_NO_ACTIVE_SLI_TOPOLOGY      on single-GPU systems, or \n//!                                             if SLI has not been enabled in the NVIDIA control panel.\n//!           NVAPI_INVALID_CALL                if there is already an ID3D11MultiGPUDevice created for the specified ID3D11Device.\n//!           NVAPI_INCOMPATIBLE_STRUCT_VERSION if requested interface version is greater than the one that is supported by installed.\n//!                                             driver. In this case currentVersion will contain version supported by installed driver. \n//! \\endcode\n///////////////////////////////////////////////////////////////////////////////\n\n\n//! \\ingroup dx\n\n#define NVAPI_COPY_ASYNCHRONOUSLY\t\t\t\t\t 1\n#define NVAPI_CPU_RESOURCE\t\t\t\t\t0xffffffff \n\nDECLARE_INTERFACE(ID3D11MultiGPUDevice_V1)\n{\n//////////////////////////////   VER1 methods //////////////////////////////////////////\n    STDMETHOD_(void,Destroy)(THIS) PURE;\n    STDMETHOD_(UINT,SetGPUMask)(THIS_ __in UINT GPUMask) PURE;\n    STDMETHOD_(NvAPI_Status,CopySubresourceRegion)(THIS_ __in ID3D11DeviceContext *pContext, __in ID3D11Resource *pDstResource, __in UINT DstSubresource, \n                                                   __in UINT DstGPUIndex, __in UINT DstX, __in UINT DstY, __in UINT DstZ, \n                                                   __in ID3D11Resource *pSrcResource, __in UINT SrcSubresource, __in UINT SrcGPUIndex, \n                                                   __in const D3D11_BOX *pSrcBox, __in UINT ExtendedFlags = 0) PURE;\n#if defined(__d3d11_1_h__)\n    STDMETHOD_(NvAPI_Status,CopySubresourceRegion1)(THIS_ __in ID3D11DeviceContext1 *pContext1, __in ID3D11Resource *pDstResource, __in UINT DstSubresource, \n                                                   __in UINT DstGPUIndex, __in UINT DstX, __in UINT DstY, __in UINT DstZ, \n                                                   __in ID3D11Resource *pSrcResource, __in UINT SrcSubresource, __in UINT SrcGPUIndex, \n                                                   __in const D3D11_BOX *pSrcBox, __in UINT CopyFlags, __in UINT ExtendedFlags = 0 ) PURE;\n#else\n    STDMETHOD_(NvAPI_Status,CopySubresourceRegion1)(THIS_ __in void *pContext1, __in ID3D11Resource *pDstResource, __in UINT DstSubresource, \n                                                   __in UINT DstGPUIndex, __in UINT DstX, __in UINT DstY, __in UINT DstZ, \n                                                   __in ID3D11Resource *pSrcResource, __in UINT SrcSubresource, __in UINT SrcGPUIndex, \n                                                   __in const D3D11_BOX *pSrcBox, __in UINT CopyFlags, __in UINT ExtendedFlags = 0 ) PURE;\n#endif\n    STDMETHOD_(NvAPI_Status,UpdateSubresource)(THIS_ __in ID3D11DeviceContext *pContext,__in ID3D11Resource *pDstResource, __in UINT DstSubresource, __in UINT DstGPUIndex, \n                                               __in const D3D11_BOX *pDstBox, __in const void *pSrcData, __in UINT SrcRowPitch, __in UINT SrcDepthPitch) PURE;\n    STDMETHOD_(NvAPI_Status,VSSetConstantBuffers)(THIS_ __in ID3D11DeviceContext *pContext, __in UINT GPUMask, __in UINT StartSlot, \n                                                 __in UINT NumBuffers, __in ID3D11Buffer *const *ppConstantBuffers,\n                                                 __in UINT *const pFirstConstant = NULL, __in UINT *const pNumConstants = NULL) PURE;\n    STDMETHOD_(NvAPI_Status,PSSetConstantBuffers)(THIS_ __in ID3D11DeviceContext *pContext, __in UINT GPUMask, __in UINT StartSlot, \n                                                 __in UINT NumBuffers, __in ID3D11Buffer *const *ppConstantBuffers,\n                                                 __in UINT *const pFirstConstant = NULL, __in UINT *const pNumConstants = NULL) PURE;\n    STDMETHOD_(NvAPI_Status,GSSetConstantBuffers)(THIS_ __in ID3D11DeviceContext *pContext, __in UINT GPUMask, __in UINT StartSlot, \n                                                 __in UINT NumBuffers, __in ID3D11Buffer *const *ppConstantBuffers,\n                                                 __in UINT *const pFirstConstant = NULL, __in UINT *const pNumConstants = NULL) PURE;\n    STDMETHOD_(NvAPI_Status,DSSetConstantBuffers)(THIS_ __in ID3D11DeviceContext *pContext, __in UINT GPUMask, __in UINT StartSlot, \n                                                 __in UINT NumBuffers, __in ID3D11Buffer *const *ppConstantBuffers,\n                                                 __in UINT *const pFirstConstant = NULL, __in UINT *const pNumConstants = NULL) PURE;\n    STDMETHOD_(NvAPI_Status,HSSetConstantBuffers)(THIS_ __in ID3D11DeviceContext *pContext, __in UINT GPUMask, __in UINT StartSlot, \n                                                 __in UINT NumBuffers, __in ID3D11Buffer *const *ppConstantBuffers,\n                                                 __in UINT *const pFirstConstant = NULL, __in UINT *const pNumConstants = NULL) PURE;\n    STDMETHOD_(NvAPI_Status,CSSetConstantBuffers)(THIS_ __in ID3D11DeviceContext *pContext, __in UINT GPUMask, __in UINT StartSlot, \n                                                 __in UINT NumBuffers, __in ID3D11Buffer *const *ppConstantBuffers,\n                                                 __in UINT *const pFirstConstant = NULL, __in UINT *const pNumConstants = NULL) PURE;\n    STDMETHOD_(NvAPI_Status,SetViewports)(THIS_ __in ID3D11DeviceContext *pContext, __in UINT GPUMask, __in UINT NumViewports, \n                                          __in const D3D11_VIEWPORT *pViewports) PURE;\n    STDMETHOD_(NvAPI_Status,SetScissorRects)(THIS_ __in ID3D11DeviceContext *pContext, __in UINT GPUMask, __in UINT NumRects, \n                                            __in const D3D11_RECT *pRects) PURE;\n    STDMETHOD_(HRESULT,GetData)(THIS_ __in ID3D11DeviceContext *pContext, __in ID3D11Asynchronous *pAsync, __in UINT GPUIndex, \n                                    __out void *pData, __in UINT DataSize, __in UINT GetDataFlags) PURE;\n#if defined(__d3d11_2_h__)\n    STDMETHOD_(NvAPI_Status,UpdateTiles)(THIS_ __in ID3D11DeviceContext2 *pContext2, __in ID3D11Resource *pDestTiledResource, \n                                        __in UINT GPUMask, __in const D3D11_TILED_RESOURCE_COORDINATE *pDestTileRegionStartCoordinate, \n                                        __in const D3D11_TILE_REGION_SIZE *pDestTileRegionSize, __in const void *pSourceTileData, \n                                        __in UINT Flags) PURE;\n#else\n    STDMETHOD_(NvAPI_Status,UpdateTiles)(THIS_ __in void *pContext2, __in ID3D11Resource *pDestTiledResource, \n                                        __in UINT GPUMask, __in const void *pDestTileRegionStartCoordinate, \n                                        __in const void *pDestTileRegionSize, __in const void *pSourceTileData, \n                                        __in UINT Flags) PURE;\n#endif\n\n    STDMETHOD_(NvAPI_Status,CreateFences)(THIS_ __in UINT count, __out void **ppFences) PURE;\n    STDMETHOD_(NvAPI_Status,SetFence)(THIS_ __in UINT GPUIndex, __in void *hFence, __in UINT64 value) PURE;\n    STDMETHOD_(NvAPI_Status,WaitForFence)(THIS_ __in UINT GPUIMask, __in void *hFence, __in UINT64 value) PURE;\n    STDMETHOD_(NvAPI_Status,FreeFences)(THIS_ __in UINT count, __in void **ppFences) PURE;\n    STDMETHOD_(NvAPI_Status,PresentCompositingConfig )(THIS_ __in IUnknown *pSwapChain, __in UINT GPUMask, \n                                         __in const D3D11_RECT *pRects, __in UINT flags) PURE;\n//////////////////////////////   end of VER1 methods   //////////////////////////////////////////\n\n//////////////////////////////   Methods added in VER2 //////////////////////////////////////////\n\tSTDMETHOD_(NvAPI_Status,SetContextGPUMask)(THIS_ __in ID3D11DeviceContext *pContext, __in UINT GPUMask) PURE;\n\tSTDMETHOD_(NvAPI_Status,GetVideoBridgeStatus)(THIS_ __in IUnknown *pSwapChain, __in UINT* pVideoBridgeStatus) PURE;\n//////////////////////////////   end of VER2 methods   //////////////////////////////////////////\n};\n\n//! Synchronization macros based on fences.\n#define FENCE_SYNCHRONIZATION_START(pMultiGPUDevice, hFence, Value, srcGpu, dstGpu) \\\n    pMultiGPUDevice->SetFence(dstGpu, hFence, Value); \\\n    pMultiGPUDevice->WaitForFence(1 << (srcGpu), hFence, Value); \\\n    Value++;\n\n#define FENCE_SYNCHRONIZATION_END(pMultiGPUDevice, hFence, Value, srcGpu, dstGpu) \\\n    pMultiGPUDevice->SetFence(srcGpu, hFence, Value); \\\n    pMultiGPUDevice->WaitForFence(1 << (dstGpu), hFence, Value); \\\n    Value++;\n    \n//! PresentCompositingConfig method flags.\n#define NVAPI_PRESENT_COMPOSITING_CONFIG_FLAG_USE_VIDEO_BRIDGE          0x01\n#define NVAPI_PRESENT_COMPOSITING_CONFIG_FLAG_CLEAR_OUTBANDS            0x02\n#define NVAPI_PRESENT_COMPOSITING_CONFIG_FLAG_GET_VIDEO_BRIDGE_STATUS   0x80000000\n\n#define NVAPI_VIDEO_BRIDGE_STATUS_AVAILABLE       0\n#define NVAPI_VIDEO_BRIDGE_STATUS_NOT_AVAILABLE   1\n#define NVAPI_VIDEO_BRIDGE_STATUS_FAILED_ACCESS   2\n#define NVAPI_VIDEO_BRIDGE_STATUS_UNKNOWN         3\n\n#define NVAPI_ALL_GPUS\t\t\t\t0\ntypedef ID3D11MultiGPUDevice_V1     ID3D11MultiGPUDevice;\n\n#define ID3D11MultiGPUDevice_VER1   MAKE_NVAPI_VERSION(ID3D11MultiGPUDevice_V1, 1)\n#define ID3D11MultiGPUDevice_VER2   MAKE_NVAPI_VERSION(ID3D11MultiGPUDevice_V1, 2)\n#define ID3D11MultiGPUDevice_VER    ID3D11MultiGPUDevice_VER2\n\n#define ALL_GPUS 0\n\n//! \\ingroup dx\nNVAPI_INTERFACE NvAPI_D3D11_CreateMultiGPUDevice(__in ID3D11Device *pDevice, __in ULONG version, __out ULONG *currentVersion, __out ID3D11MultiGPUDevice **ppD3D11MultiGPUDevice, __in UINT maxGpus=ALL_GPUS);\n\n#endif //defined(__cplusplus) && defined(__d3d11_h__)\n\n//! SUPPORTED OS:  Windows 7 and higher\n//!\n//! Used to query the support of Single Pass Stereo HW feature\n//! \\ingroup dx \ntypedef struct _NV_QUERY_SINGLE_PASS_STEREO_SUPPORT_PARAMS\n{\n    NvU32 version;                                                          // parameter struct version\n    NvU32 bSinglePassStereoSupported;                                       // Single Pass Stereo supported\n} NV_QUERY_SINGLE_PASS_STEREO_SUPPORT_PARAMS_V1;\n\ntypedef NV_QUERY_SINGLE_PASS_STEREO_SUPPORT_PARAMS_V1                 NV_QUERY_SINGLE_PASS_STEREO_SUPPORT_PARAMS;\n#define NV_QUERY_SINGLE_PASS_STEREO_SUPPORT_PARAMS_VER1               MAKE_NVAPI_VERSION(NV_QUERY_SINGLE_PASS_STEREO_SUPPORT_PARAMS_V1, 1)\n#define NV_QUERY_SINGLE_PASS_STEREO_SUPPORT_PARAMS_VER                NV_QUERY_SINGLE_PASS_STEREO_SUPPORT_PARAMS_VER1\n\n#if defined(__cplusplus) && (defined(_D3D9_H_) || defined(__d3d10_h__) || defined(__d3d10_1_h__) || defined(__d3d11_h__))\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_D3D_QuerySinglePassStereoSupport\n//\n//!   DESCRIPTION: Queries the support of Single Pass Stereo feature on current setup and returns appropriate boolean value.\n//!\n//! SUPPORTED OS:  Windows 7 and higher\n//!\n//!\n//! \\param [in]     pDevice                                 The ID3D11Device to use.\n//! \\param [inout]  pSinglePassStereoSupportedParams        Stores value of whether Single Pass Stereo is supported on current setup or not.\n//!\n//! \\retval  NVAPI_OK                           Call succeeded.\n//! \\retval  NVAPI_ERROR                        Call failed.\n//! \\retval  NVAPI_INVALID_ARGUMENT             One or more arguments are invalid.\n//!\n//! \\ingroup dx \n/////////////////////////////////////////////////////////////////////////////// \nNVAPI_INTERFACE NvAPI_D3D_QuerySinglePassStereoSupport(__in IUnknown *pDevice,\n                                                __inout NV_QUERY_SINGLE_PASS_STEREO_SUPPORT_PARAMS *pQuerySinglePassStereoSupportedParams);\n\n#endif //defined(__cplusplus) && (defined(_D3D9_H_) || defined(__d3d10_h__) || defined(__d3d10_1_h__) || defined(__d3d11_h__))\n\n#if defined(__cplusplus) && defined(_D3D9_H_) || defined(__d3d10_h__) || defined(__d3d10_1_h__) || defined(__d3d11_h__)\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_D3D_SetSinglePassStereoMode\n//\n//!   DESCRIPTION: Set the Single Pass Stereo state\n//!\n//! SUPPORTED OS:  Windows 7 and higher\n//!\n//!\n//! \\param [in]  pDevOrContext                  The ID3D11Device or ID3D11DeviceContext to use.\n//! \\param [in]  numViews                       Number of views to render.\n//! \\param [in]  renderTargetIndexOffset        Offset between render targets of the different views.\n//! \\param [in]  independentViewportMaskEnable  Is the independent viewport mask enabled.\n//!                \n//! \\retval  NVAPI_OK                           Call succeeded.\n//! \\retval  NVAPI_ERROR                        Call failed.\n//! \\retval  NVAPI_INVALID_ARGUMENT             One or more arguments are invalid.\n//!\n//! \\ingroup dx \n/////////////////////////////////////////////////////////////////////////////// \nNVAPI_INTERFACE NvAPI_D3D_SetSinglePassStereoMode(__in IUnknown *pDevOrContext, __in NvU32 numViews, __in NvU32 renderTargetIndexOffset, __in NvU8 independentViewportMaskEnable);\n\n#endif //defined(__cplusplus) && defined(_D3D9_H_) || defined(__d3d10_h__) || defined(__d3d10_1_h__) || defined(__d3d11_h__)\n\n//! SUPPORTED OS:  Windows 7 and higher\n//!\n//! Used to query the support of Lens Matched Shading HW feature\n//! \\ingroup dx \ntypedef struct _NV_QUERY_MODIFIED_W_SUPPORT_PARAMS\n{\n    NvU32 version;                                                 // parameter struct version\n    NvU32 bModifiedWSupported;                                     // Modified W supported\n} NV_QUERY_MODIFIED_W_SUPPORT_PARAMS_V1;\n\ntypedef NV_QUERY_MODIFIED_W_SUPPORT_PARAMS_V1               NV_QUERY_MODIFIED_W_SUPPORT_PARAMS;\n#define NV_QUERY_MODIFIED_W_SUPPORT_PARAMS_VER1             MAKE_NVAPI_VERSION(NV_QUERY_MODIFIED_W_SUPPORT_PARAMS_V1, 1)\n#define NV_QUERY_MODIFIED_W_SUPPORT_PARAMS_VER              NV_QUERY_MODIFIED_W_SUPPORT_PARAMS_VER1\n\n#if defined(__cplusplus) && (defined(_D3D9_H_) || defined(__d3d10_h__) || defined(__d3d10_1_h__) || defined(__d3d11_h__))\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_D3D_QueryModifiedWSupport\n//\n//!   DESCRIPTION: Queries the support of Modified W feature on current setup and returns appropriate boolean value.\n//!\n//! SUPPORTED OS:  Windows 7 and higher\n//!\n//!\n//! \\param [in]     pDevice                             The ID3D11Device to use.\n//! \\param [inout]  pQueryModifiedWSupportedParams      Stores value of whether Modified W is supported on current setup or not.\n//!\n//! \\retval  NVAPI_OK                           Call succeeded.\n//! \\retval  NVAPI_ERROR                        Call failed.\n//! \\retval  NVAPI_INVALID_ARGUMENT             One or more arguments are invalid.\n//!\n//! \\ingroup dx \n/////////////////////////////////////////////////////////////////////////////// \nNVAPI_INTERFACE NvAPI_D3D_QueryModifiedWSupport(__in IUnknown *pDev,\n                                            __inout NV_QUERY_MODIFIED_W_SUPPORT_PARAMS *pQueryModifiedWSupportedParams);\n#endif //defined(__cplusplus) && (defined(_D3D9_H_) || defined(__d3d10_h__) || defined(__d3d10_1_h__) || defined(__d3d11_h__))\n\n//! SUPPORTED OS:  Windows 7 and higher\n//!\n#define NV_MODIFIED_W_MAX_VIEWPORTS    16\n\ntypedef struct _NV_MODIFIED_W_COEFFICIENTS\n{\n    float fA;                               // A coefficient in w' = w + Ax + By\n    float fB;                               // B coefficient in w' = w + Ax + By\n    float fAReserved;                       // reserved\n    float fBReserved;                       // reserved\n\n    float fReserved[2];                     // reserved\n} NV_MODIFIED_W_COEFFICIENTS;\n\ntypedef struct _NV_MODIFIED_W_PARAMS\n{\n    NvU32 version;                                                                 // parameter struct version\n    NvU32 numEntries;                                                              // number of valid NV_MODIFIED_W_COEFFICIENTS structs in array\n    NV_MODIFIED_W_COEFFICIENTS modifiedWCoefficients[NV_MODIFIED_W_MAX_VIEWPORTS]; // coefficients\n\n    NvU32 id;                                                     // reserved\n    NvU32 reserved[NV_MODIFIED_W_MAX_VIEWPORTS];                  // reserved\n} NV_MODIFIED_W_PARAMS_V1;\n\ntypedef NV_MODIFIED_W_PARAMS_V1      NV_MODIFIED_W_PARAMS;\n#define NV_MODIFIED_W_PARAMS_VER1    MAKE_NVAPI_VERSION(NV_MODIFIED_W_PARAMS_V1, 1)\n#define NV_MODIFIED_W_PARAMS_VER     NV_MODIFIED_W_PARAMS_VER1\n\n#if defined(__cplusplus) && (defined(_D3D9_H_) || defined(__d3d10_h__) || defined(__d3d10_1_h__) || defined(__d3d11_h__))\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_D3D_SetModifiedWMode\n//\n//!   DESCRIPTION: Set the Modified W state and A,B coefficients for HW support\n//!\n//! SUPPORTED OS:  Windows 7 and higher\n//!\n//!\n//! \\param [in]  pDevOrContext                  The ID3D11Device or ID3D11DeviceContext to use.\n//! \\param [in]  psModifiedWParams              Modified W parameters.\n//!\n//! \\retval  NVAPI_OK                           Call succeeded.\n//! \\retval  NVAPI_ERROR                        Call failed.\n//! \\retval  NVAPI_INVALID_ARGUMENT             One or more arguments are invalid.\n//!\n//! \\ingroup dx \n/////////////////////////////////////////////////////////////////////////////// \nNVAPI_INTERFACE NvAPI_D3D_SetModifiedWMode(__in IUnknown *pDevOrContext, __in NV_MODIFIED_W_PARAMS *psModifiedWParams);\n\n#endif //defined(__cplusplus) && (defined(_D3D9_H_) || defined(__d3d10_h__) || defined(__d3d10_1_h__) || defined(__d3d11_h__))\n\n#if defined (__cplusplus) && (defined(__d3d10_h__) || defined(__d3d10_1_h__) || defined(__d3d11_h__))\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_D3D_RegisterDevice\n//\n//!   DESCRIPTION: Tells NvAPI about a D3D device. This must be called prior to using any DX1x\n//!                deferred-context calls.\n//!\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n//!\n//! \\param [in]  pDev                           The ID3D10Device or ID3D11Device to use.\n//!                \n//! RETURN STATUS:     This API can return any of the error codes enumerated in #NvAPI_Status. \n//!                    If there are return error codes with specific meaning for this API, they are listed below.\n//!\n//! \\ingroup dx \n/////////////////////////////////////////////////////////////////////////////// \nNVAPI_INTERFACE NvAPI_D3D_RegisterDevice(__in IUnknown *pDev);\n\n#endif //if defined(__cplusplus) && (defined(__d3d10_h__) || defined(__d3d10_1_h__) || defined(__d3d11_h__))\n\n\n\n#if defined (__cplusplus) && (defined(__d3d11_h__) || defined(__d3d11_1_h__))\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_D3D11_MultiDrawInstancedIndirect\n//\n//!   DESCRIPTION: Extension of DrawInstancedIndirect that takes a draw count in. The effect of this function is to loop over \n//!                that draw count and perform the DrawInstancedIndirect operation each time, incrementing the buffer offset\n//!                by the supplied stride each time.\n//!\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n//!\n//! \\param [in]        *pDevContext11                  Pointer to D3D11 device context (IC or DC)\n//! \\param [in]         drawCount                      Do DrawInstancedIndirect operation this many times\n//! \\param [in]        *pBuffer                        ID3D11Buffer that contains the command parameters\n//! \\param [in]         alignedByteOffsetForArgs       Start in pBuffer of the command parameters\n//! \\param [in]         alignedByteStrideForArgs       Stride of the command parameters - must be >= 4 * sizeof(NvU32)\n//!\n//! RETURN STATUS:     This API can return any of the error codes enumerated in #NvAPI_Status. \n//!                    If there are return error codes with specific meaning for this API, they are listed below.\n//!\n//! \\retval  NVAPI_D3D_DEVICE_NOT_REGISTERED     When MultiDraw is called on a deferred context, and the device has not yet\n//!                                              been registered (NvAPI_D3D_RegisterDevice), this error is returned.\n//! \\ingroup dx\n///////////////////////////////////////////////////////////////////////////////\n\nNVAPI_INTERFACE NvAPI_D3D11_MultiDrawInstancedIndirect(__in ID3D11DeviceContext *pDevContext11,\n                                                       __in NvU32                drawCount,\n                                                       __in ID3D11Buffer        *pBuffer,\n                                                       __in NvU32                alignedByteOffsetForArgs,\n                                                       __in NvU32                alignedByteStrideForArgs);\n\n#endif //defined (__cplusplus) && (defined(__d3d11_h__) || defined(__d3d11_1_h__))\n\n\n#if defined (__cplusplus) && (defined(__d3d11_h__) || defined(__d3d11_1_h__))\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_D3D11_MultiDrawIndexedInstancedIndirect\n//\n//!   DESCRIPTION: Extension of DrawIndexedInstancedIndirect that takes a draw count in. The effect of this function is to loop over \n//!                that draw count and perform the DrawIndexedInstancedIndirect operation each time, incrementing the buffer offset\n//!                by the supplied stride each time.\n//!\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n//!\n//! \\param [in]        *pDevContext11                  Pointer to D3D11 device context (IC or DC)\n//! \\param [in]         drawCount                      Do DrawIndexedInstancedIndirect operation this many times\n//! \\param [in]        *pBuffer                        ID3D11Buffer that contains the command parameters\n//! \\param [in]         alignedByteOffsetForArgs       Start in pBuffer of the command parameters\n//! \\param [in]         alignedByteStrideForArgs       Stride of the command parameters - must be >= 5 * sizeof(NvU32)\n//!\n//! RETURN STATUS:     This API can return any of the error codes enumerated in #NvAPI_Status. \n//!                    If there are return error codes with specific meaning for this API, they are listed below.\n//!\n//! \\retval  NVAPI_D3D_DEVICE_NOT_REGISTERED     When MultiDraw is called on a deferred context, and the device has not yet\n//!                                              been registered (NvAPI_D3D_RegisterDevice), this error is returned.\n//! \\ingroup dx\n///////////////////////////////////////////////////////////////////////////////\n\nNVAPI_INTERFACE NvAPI_D3D11_MultiDrawIndexedInstancedIndirect(__in ID3D11DeviceContext *pDevContext11,\n                                                              __in NvU32                drawCount,\n                                                              __in ID3D11Buffer        *pBuffer,\n                                                              __in NvU32                alignedByteOffsetForArgs,\n                                                              __in NvU32                alignedByteStrideForArgs);\n\n#endif //defined (__cplusplus) && (defined(__d3d11_h__) || defined(__d3d11_1_h__))\n\n//! SUPPORTED OS:  Windows 7 and higher\n//!\n#if defined (__cplusplus) && ( defined(_D3D9_H_) || defined(__d3d10_h__) || defined(__d3d10_1_h__) ||defined(__d3d11_h__) )\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME:   NvAPI_D3D_ImplicitSLIControl\n//\n//! This function enables/disables the SLI rendering mode. It has to be called prior to D3D device creation. Once this function is called with DISABLE_IMPLICIT_SLI\n//! parameter all subsequently created devices will be forced to run in a single gpu mode until the same function is called with ENABLE_IMPLICIT_SLI parameter. The enable \n//! call will force all subsequently created devices to run in default implicit SLI mode being determined by an application profile or a global control panel SLI setting.\n//! This NvAPI call is supported in all DX10+ versions of the driver. It is supported on all Windows versions.\n//!\n//! \\retval    NVAPI_OK                             Completed request\n//! \\retval    NVAPI_ERROR                          Error occurred\n//! \\ingroup dx\n///////////////////////////////////////////////////////////////////////////////\n\n//! \\ingroup dx\ntypedef enum _IMPLICIT_SLI_CONTROL\n{\n    DISABLE_IMPLICIT_SLI    = 0,\n    ENABLE_IMPLICIT_SLI     = 1,\n} IMPLICIT_SLI_CONTROL;\n\n//! \\ingroup dx\nNVAPI_INTERFACE NvAPI_D3D_ImplicitSLIControl(__in IMPLICIT_SLI_CONTROL implicitSLIControl);\n\n#endif //defined (__cplusplus) && ( defined(_D3D9_H_) || defined(__d3d10_h__) || defined(__d3d10_1_h__) ||defined(__d3d11_h__) )\n\n\n\n//! \\ingroup vidio\n//! Unique identifier for VIO owner (process identifier or NVVIOOWNERID_NONE)\ntypedef NvU32   NVVIOOWNERID;                               \n\n\n//! \\addtogroup vidio\n//! @{\n\n\n#define NVVIOOWNERID_NONE                   0      //!< Unregistered ownerId        \n\n\n//! Owner type for device\ntypedef enum _NVVIOOWNERTYPE                               \n{\n    NVVIOOWNERTYPE_NONE                             ,       //!<  No owner for the device\n    NVVIOOWNERTYPE_APPLICATION                      ,       //!<  Application owns the device\n    NVVIOOWNERTYPE_DESKTOP                          ,       //!<  Desktop transparent mode owns the device (not applicable for video input)\n}NVVIOOWNERTYPE;\n\n// Access rights for NvAPI_VIO_Open()\n\n//! Read access             (not applicable for video output)\n#define NVVIO_O_READ                        0x00000000      \n\n//! Write exclusive access  (not applicable for video input)\n#define NVVIO_O_WRITE_EXCLUSIVE             0x00010001      \n\n//! \n#define NVVIO_VALID_ACCESSRIGHTS            (NVVIO_O_READ              | \\\n                                             NVVIO_O_WRITE_EXCLUSIVE   )\n\n              \n//! VIO_DATA.ulOwnerID high-bit is set only if device has been initialized by VIOAPI\n//! examined at NvAPI_GetCapabilities|NvAPI_VIO_Open to determine if settings need to be applied from registry or POR state read\n#define NVVIO_OWNERID_INITIALIZED  0x80000000\n\n//! VIO_DATA.ulOwnerID next-bit is set only if device is currently in exclusive write access mode from NvAPI_VIO_Open()\n#define NVVIO_OWNERID_EXCLUSIVE    0x40000000\n                                              \n//! VIO_DATA.ulOwnerID lower bits are:\n//!  NVGVOOWNERTYPE_xxx enumerations indicating use context\n#define NVVIO_OWNERID_TYPEMASK     0x0FFFFFFF //!< mask for NVVIOOWNERTYPE_xxx\n\n\n//! @}\n              \n//---------------------------------------------------------------------\n// Enumerations\n//---------------------------------------------------------------------\n\n\n//! \\addtogroup vidio\n//! @{\n\n//! Video signal format and resolution\ntypedef enum _NVVIOSIGNALFORMAT\n{\n    NVVIOSIGNALFORMAT_NONE,                //!< Invalid signal format \n    NVVIOSIGNALFORMAT_487I_59_94_SMPTE259_NTSC,     //!< 01  487i    59.94Hz  (SMPTE259) NTSC\n    NVVIOSIGNALFORMAT_576I_50_00_SMPTE259_PAL,      //!< 02  576i    50.00Hz  (SMPTE259) PAL\n    NVVIOSIGNALFORMAT_1035I_60_00_SMPTE260,         //!< 03  1035i   60.00Hz  (SMPTE260)\n    NVVIOSIGNALFORMAT_1035I_59_94_SMPTE260,         //!< 04  1035i   59.94Hz  (SMPTE260)\n    NVVIOSIGNALFORMAT_1080I_50_00_SMPTE295,         //!< 05  1080i   50.00Hz  (SMPTE295)\n    NVVIOSIGNALFORMAT_1080I_60_00_SMPTE274,         //!< 06  1080i   60.00Hz  (SMPTE274)\n    NVVIOSIGNALFORMAT_1080I_59_94_SMPTE274,         //!< 07  1080i   59.94Hz  (SMPTE274)\n    NVVIOSIGNALFORMAT_1080I_50_00_SMPTE274,         //!< 08  1080i   50.00Hz  (SMPTE274)\n    NVVIOSIGNALFORMAT_1080P_30_00_SMPTE274,         //!< 09  1080p   30.00Hz  (SMPTE274)\n    NVVIOSIGNALFORMAT_1080P_29_97_SMPTE274,         //!< 10  1080p   29.97Hz  (SMPTE274)\n    NVVIOSIGNALFORMAT_1080P_25_00_SMPTE274,         //!< 11  1080p   25.00Hz  (SMPTE274)\n    NVVIOSIGNALFORMAT_1080P_24_00_SMPTE274,         //!< 12  1080p   24.00Hz  (SMPTE274)\n    NVVIOSIGNALFORMAT_1080P_23_976_SMPTE274,        //!< 13  1080p   23.976Hz (SMPTE274)\n    NVVIOSIGNALFORMAT_720P_60_00_SMPTE296,          //!< 14  720p    60.00Hz  (SMPTE296)\n    NVVIOSIGNALFORMAT_720P_59_94_SMPTE296,          //!< 15  720p    59.94Hz  (SMPTE296)\n    NVVIOSIGNALFORMAT_720P_50_00_SMPTE296,          //!< 16  720p    50.00Hz  (SMPTE296)\n    NVVIOSIGNALFORMAT_1080I_48_00_SMPTE274,         //!< 17  1080I   48.00Hz  (SMPTE274)\n    NVVIOSIGNALFORMAT_1080I_47_96_SMPTE274,         //!< 18  1080I   47.96Hz  (SMPTE274)\n    NVVIOSIGNALFORMAT_720P_30_00_SMPTE296,          //!< 19  720p    30.00Hz  (SMPTE296)\n    NVVIOSIGNALFORMAT_720P_29_97_SMPTE296,          //!< 20  720p    29.97Hz  (SMPTE296)\n    NVVIOSIGNALFORMAT_720P_25_00_SMPTE296,          //!< 21  720p    25.00Hz  (SMPTE296)\n    NVVIOSIGNALFORMAT_720P_24_00_SMPTE296,          //!< 22  720p    24.00Hz  (SMPTE296)\n    NVVIOSIGNALFORMAT_720P_23_98_SMPTE296,          //!< 23  720p    23.98Hz  (SMPTE296)\n    NVVIOSIGNALFORMAT_2048P_30_00_SMPTE372,         //!< 24  2048p   30.00Hz  (SMPTE372)\n    NVVIOSIGNALFORMAT_2048P_29_97_SMPTE372,         //!< 25  2048p   29.97Hz  (SMPTE372)\n    NVVIOSIGNALFORMAT_2048I_60_00_SMPTE372,         //!< 26  2048i   60.00Hz  (SMPTE372)\n    NVVIOSIGNALFORMAT_2048I_59_94_SMPTE372,         //!< 27  2048i   59.94Hz  (SMPTE372)\n    NVVIOSIGNALFORMAT_2048P_25_00_SMPTE372,         //!< 28  2048p   25.00Hz  (SMPTE372)\n    NVVIOSIGNALFORMAT_2048I_50_00_SMPTE372,         //!< 29  2048i   50.00Hz  (SMPTE372)\n    NVVIOSIGNALFORMAT_2048P_24_00_SMPTE372,         //!< 30  2048p   24.00Hz  (SMPTE372)\n    NVVIOSIGNALFORMAT_2048P_23_98_SMPTE372,         //!< 31  2048p   23.98Hz  (SMPTE372)\n    NVVIOSIGNALFORMAT_2048I_48_00_SMPTE372,         //!< 32  2048i   48.00Hz  (SMPTE372)\n    NVVIOSIGNALFORMAT_2048I_47_96_SMPTE372,         //!< 33  2048i   47.96Hz  (SMPTE372)\n    \n    NVVIOSIGNALFORMAT_1080PSF_25_00_SMPTE274,       //!< 34  1080PsF 25.00Hz  (SMPTE274)\n    NVVIOSIGNALFORMAT_1080PSF_29_97_SMPTE274,       //!< 35  1080PsF 29.97Hz  (SMPTE274)\n    NVVIOSIGNALFORMAT_1080PSF_30_00_SMPTE274,       //!< 36  1080PsF 30.00Hz  (SMPTE274)\n    NVVIOSIGNALFORMAT_1080PSF_24_00_SMPTE274,       //!< 37  1080PsF 24.00Hz  (SMPTE274)\n    NVVIOSIGNALFORMAT_1080PSF_23_98_SMPTE274,       //!< 38  1080PsF 23.98Hz  (SMPTE274)\n\n    NVVIOSIGNALFORMAT_1080P_50_00_SMPTE274_3G_LEVEL_A, //!< 39  1080P   50.00Hz  (SMPTE274) 3G Level A\n    NVVIOSIGNALFORMAT_1080P_59_94_SMPTE274_3G_LEVEL_A, //!< 40  1080P   59.94Hz  (SMPTE274) 3G Level A\n    NVVIOSIGNALFORMAT_1080P_60_00_SMPTE274_3G_LEVEL_A, //!< 41  1080P   60.00Hz  (SMPTE274) 3G Level A\n    \n    NVVIOSIGNALFORMAT_1080P_60_00_SMPTE274_3G_LEVEL_B, //!< 42  1080p   60.00Hz  (SMPTE274) 3G Level B\n    NVVIOSIGNALFORMAT_1080I_60_00_SMPTE274_3G_LEVEL_B, //!< 43  1080i   60.00Hz  (SMPTE274) 3G Level B\n    NVVIOSIGNALFORMAT_2048I_60_00_SMPTE372_3G_LEVEL_B, //!< 44  2048i   60.00Hz  (SMPTE372) 3G Level B\n    NVVIOSIGNALFORMAT_1080P_50_00_SMPTE274_3G_LEVEL_B, //!< 45  1080p   50.00Hz  (SMPTE274) 3G Level B\n    NVVIOSIGNALFORMAT_1080I_50_00_SMPTE274_3G_LEVEL_B, //!< 46  1080i   50.00Hz  (SMPTE274) 3G Level B\n    NVVIOSIGNALFORMAT_2048I_50_00_SMPTE372_3G_LEVEL_B, //!< 47  2048i   50.00Hz  (SMPTE372) 3G Level B\n    NVVIOSIGNALFORMAT_1080P_30_00_SMPTE274_3G_LEVEL_B, //!< 48  1080p   30.00Hz  (SMPTE274) 3G Level B\n    NVVIOSIGNALFORMAT_2048P_30_00_SMPTE372_3G_LEVEL_B, //!< 49  2048p   30.00Hz  (SMPTE372) 3G Level B\n    NVVIOSIGNALFORMAT_1080P_25_00_SMPTE274_3G_LEVEL_B, //!< 50  1080p   25.00Hz  (SMPTE274) 3G Level B\n    NVVIOSIGNALFORMAT_2048P_25_00_SMPTE372_3G_LEVEL_B, //!< 51  2048p   25.00Hz  (SMPTE372) 3G Level B\n    NVVIOSIGNALFORMAT_1080P_24_00_SMPTE274_3G_LEVEL_B, //!< 52  1080p   24.00Hz  (SMPTE274) 3G Level B\n    NVVIOSIGNALFORMAT_2048P_24_00_SMPTE372_3G_LEVEL_B, //!< 53  2048p   24.00Hz  (SMPTE372) 3G Level B\n    NVVIOSIGNALFORMAT_1080I_48_00_SMPTE274_3G_LEVEL_B, //!< 54  1080i   48.00Hz  (SMPTE274) 3G Level B\n    NVVIOSIGNALFORMAT_2048I_48_00_SMPTE372_3G_LEVEL_B, //!< 55  2048i   48.00Hz  (SMPTE372) 3G Level B\n    NVVIOSIGNALFORMAT_1080P_59_94_SMPTE274_3G_LEVEL_B, //!< 56  1080p   59.94Hz  (SMPTE274) 3G Level B\n    NVVIOSIGNALFORMAT_1080I_59_94_SMPTE274_3G_LEVEL_B, //!< 57  1080i   59.94Hz  (SMPTE274) 3G Level B\n    NVVIOSIGNALFORMAT_2048I_59_94_SMPTE372_3G_LEVEL_B, //!< 58  2048i   59.94Hz  (SMPTE372) 3G Level B\n    NVVIOSIGNALFORMAT_1080P_29_97_SMPTE274_3G_LEVEL_B, //!< 59  1080p   29.97Hz  (SMPTE274) 3G Level B\n    NVVIOSIGNALFORMAT_2048P_29_97_SMPTE372_3G_LEVEL_B, //!< 60  2048p   29.97Hz  (SMPTE372) 3G Level B\n    NVVIOSIGNALFORMAT_1080P_23_98_SMPTE274_3G_LEVEL_B, //!< 61  1080p   29.98Hz  (SMPTE274) 3G Level B\n    NVVIOSIGNALFORMAT_2048P_23_98_SMPTE372_3G_LEVEL_B, //!< 62  2048p   29.98Hz  (SMPTE372) 3G Level B\n    NVVIOSIGNALFORMAT_1080I_47_96_SMPTE274_3G_LEVEL_B, //!< 63  1080i   47.96Hz  (SMPTE274) 3G Level B\n    NVVIOSIGNALFORMAT_2048I_47_96_SMPTE372_3G_LEVEL_B, //!< 64  2048i   47.96Hz  (SMPTE372) 3G Level B\n    \n    NVVIOSIGNALFORMAT_END                              //!< 65  To indicate end of signal format list\n\n}NVVIOSIGNALFORMAT;\n\n//! SMPTE standards format\ntypedef enum _NVVIOVIDEOSTANDARD\n{\n    NVVIOVIDEOSTANDARD_SMPTE259                        ,       //!< SMPTE259\n    NVVIOVIDEOSTANDARD_SMPTE260                        ,       //!< SMPTE260\n    NVVIOVIDEOSTANDARD_SMPTE274                        ,       //!< SMPTE274\n    NVVIOVIDEOSTANDARD_SMPTE295                        ,       //!< SMPTE295\n    NVVIOVIDEOSTANDARD_SMPTE296                        ,       //!< SMPTE296\n    NVVIOVIDEOSTANDARD_SMPTE372                        ,       //!< SMPTE372\n}NVVIOVIDEOSTANDARD;\n\n//! HD or SD video type\ntypedef enum _NVVIOVIDEOTYPE\n{\n    NVVIOVIDEOTYPE_SD                                  ,       //!< Standard-definition (SD)\n    NVVIOVIDEOTYPE_HD                                  ,       //!< High-definition     (HD)\n}NVVIOVIDEOTYPE;\n\n//! Interlace mode\ntypedef enum _NVVIOINTERLACEMODE \n{\n    NVVIOINTERLACEMODE_PROGRESSIVE                     ,       //!< Progressive               (p)\n    NVVIOINTERLACEMODE_INTERLACE                       ,       //!< Interlace                 (i)\n    NVVIOINTERLACEMODE_PSF                             ,       //!< Progressive Segment Frame (psf)\n}NVVIOINTERLACEMODE;\n\n//! Video data format\ntypedef enum _NVVIODATAFORMAT\n{\n    NVVIODATAFORMAT_UNKNOWN   = -1                     ,       //!< Invalid DataFormat\n    NVVIODATAFORMAT_R8G8B8_TO_YCRCB444                 ,       //!< R8:G8:B8                => YCrCb  (4:4:4)\n    NVVIODATAFORMAT_R8G8B8A8_TO_YCRCBA4444             ,       //!< R8:G8:B8:A8             => YCrCbA (4:4:4:4)\n    NVVIODATAFORMAT_R8G8B8Z10_TO_YCRCBZ4444            ,       //!< R8:G8:B8:Z10            => YCrCbZ (4:4:4:4)\n    NVVIODATAFORMAT_R8G8B8_TO_YCRCB422                 ,       //!< R8:G8:B8                => YCrCb  (4:2:2)\n    NVVIODATAFORMAT_R8G8B8A8_TO_YCRCBA4224             ,       //!< R8:G8:B8:A8             => YCrCbA (4:2:2:4)\n    NVVIODATAFORMAT_R8G8B8Z10_TO_YCRCBZ4224            ,       //!< R8:G8:B8:Z10            => YCrCbZ (4:2:2:4)\n    NVVIODATAFORMAT_X8X8X8_444_PASSTHRU                ,       //!< R8:G8:B8                => RGB    (4:4:4)\n    NVVIODATAFORMAT_X8X8X8A8_4444_PASSTHRU             ,       //!< R8:G8:B8:A8             => RGBA   (4:4:4:4)\n    NVVIODATAFORMAT_X8X8X8Z10_4444_PASSTHRU            ,       //!< R8:G8:B8:Z10            => RGBZ   (4:4:4:4)\n    NVVIODATAFORMAT_X10X10X10_444_PASSTHRU             ,       //!< Y10:CR10:CB10           => YCrCb  (4:4:4)\n    NVVIODATAFORMAT_X10X8X8_444_PASSTHRU               ,       //!< Y10:CR8:CB8             => YCrCb  (4:4:4)\n    NVVIODATAFORMAT_X10X8X8A10_4444_PASSTHRU           ,       //!< Y10:CR8:CB8:A10         => YCrCbA (4:4:4:4)\n    NVVIODATAFORMAT_X10X8X8Z10_4444_PASSTHRU           ,       //!< Y10:CR8:CB8:Z10         => YCrCbZ (4:4:4:4)\n    NVVIODATAFORMAT_DUAL_R8G8B8_TO_DUAL_YCRCB422       ,       //!< R8:G8:B8 + R8:G8:B8     => YCrCb  (4:2:2 + 4:2:2)\n    NVVIODATAFORMAT_DUAL_X8X8X8_TO_DUAL_422_PASSTHRU   ,       //!< Y8:CR8:CB8 + Y8:CR8:CB8 => YCrCb  (4:2:2 + 4:2:2)\n    NVVIODATAFORMAT_R10G10B10_TO_YCRCB422              ,       //!< R10:G10:B10             => YCrCb  (4:2:2)\n    NVVIODATAFORMAT_R10G10B10_TO_YCRCB444              ,       //!< R10:G10:B10             => YCrCb  (4:4:4)\n    NVVIODATAFORMAT_X12X12X12_444_PASSTHRU             ,       //!< X12:X12:X12             => XXX    (4:4:4)\n    NVVIODATAFORMAT_X12X12X12_422_PASSTHRU             ,       //!< X12:X12:X12             => XXX    (4:2:2)\n    NVVIODATAFORMAT_Y10CR10CB10_TO_YCRCB422            ,       //!< Y10:CR10:CB10           => YCrCb  (4:2:2)\n    NVVIODATAFORMAT_Y8CR8CB8_TO_YCRCB422               ,       //!< Y8:CR8:CB8              => YCrCb  (4:2:2)\n    NVVIODATAFORMAT_Y10CR8CB8A10_TO_YCRCBA4224         ,       //!< Y10:CR8:CB8:A10         => YCrCbA (4:2:2:4)\n    NVVIODATAFORMAT_R10G10B10_TO_RGB444                ,       //!< R10:G10:B10             => RGB    (4:4:4)\n    NVVIODATAFORMAT_R12G12B12_TO_YCRCB444              ,       //!< R12:G12:B12             => YCrCb  (4:4:4)\n    NVVIODATAFORMAT_R12G12B12_TO_YCRCB422              ,       //!< R12:G12:B12             => YCrCb  (4:2:2)\n}NVVIODATAFORMAT;\n\n//! Video output area\ntypedef enum _NVVIOOUTPUTAREA\n{\n    NVVIOOUTPUTAREA_FULLSIZE                           ,       //!< Output to entire video resolution (full size)\n    NVVIOOUTPUTAREA_SAFEACTION                         ,       //!< Output to centered 90% of video resolution (safe action)\n    NVVIOOUTPUTAREA_SAFETITLE                          ,       //!< Output to centered 80% of video resolution (safe title)\n}NVVIOOUTPUTAREA;\n\n//! Synchronization source\ntypedef enum _NVVIOSYNCSOURCE\n{\n    NVVIOSYNCSOURCE_SDISYNC                            ,       //!< SDI Sync  (Digital input)\n    NVVIOSYNCSOURCE_COMPSYNC                           ,       //!< COMP Sync (Composite input)\n}NVVIOSYNCSOURCE;\n\n//! Composite synchronization type\ntypedef enum _NVVIOCOMPSYNCTYPE\n{\n    NVVIOCOMPSYNCTYPE_AUTO                             ,       //!< Auto-detect\n    NVVIOCOMPSYNCTYPE_BILEVEL                          ,       //!< Bi-level signal\n    NVVIOCOMPSYNCTYPE_TRILEVEL                         ,       //!< Tri-level signal\n}NVVIOCOMPSYNCTYPE;\n\n//! Video input output status\ntypedef enum _NVVIOINPUTOUTPUTSTATUS\n{\n    NVINPUTOUTPUTSTATUS_OFF                            ,       //!< Not in use\n    NVINPUTOUTPUTSTATUS_ERROR                          ,       //!< Error detected\n    NVINPUTOUTPUTSTATUS_SDI_SD                         ,       //!< SDI (standard-definition)\n    NVINPUTOUTPUTSTATUS_SDI_HD                         ,       //!< SDI (high-definition)\n}NVVIOINPUTOUTPUTSTATUS;\n\n//! Synchronization input status\ntypedef enum _NVVIOSYNCSTATUS\n{\n    NVVIOSYNCSTATUS_OFF                                ,       //!< Sync not detected\n    NVVIOSYNCSTATUS_ERROR                              ,       //!< Error detected\n    NVVIOSYNCSTATUS_SYNCLOSS                           ,       //!< Genlock in use, format mismatch with output\n    NVVIOSYNCSTATUS_COMPOSITE                          ,       //!< Composite sync\n    NVVIOSYNCSTATUS_SDI_SD                             ,       //!< SDI sync (standard-definition)\n    NVVIOSYNCSTATUS_SDI_HD                             ,       //!< SDI sync (high-definition)\n}NVVIOSYNCSTATUS;\n\n//! Video Capture Status\ntypedef enum _NVVIOCAPTURESTATUS\n{\n    NVVIOSTATUS_STOPPED                                ,       //!< Sync not detected\n    NVVIOSTATUS_RUNNING                                ,       //!< Error detected\n    NVVIOSTATUS_ERROR                                  ,       //!< Genlock in use, format mismatch with output\n}NVVIOCAPTURESTATUS;\n\n//! Video Capture Status\ntypedef enum _NVVIOSTATUSTYPE\n{\n    NVVIOSTATUSTYPE_IN                                 ,       //!< Input Status\n    NVVIOSTATUSTYPE_OUT                                ,       //!< Output Status\n}NVVIOSTATUSTYPE;\n\n\n//! Assumption, maximum 4 SDI input and 4 SDI output cards supported on a system\n#define NVAPI_MAX_VIO_DEVICES                 8   \n\n//! 4 physical jacks supported on each SDI input card.\n#define NVAPI_MAX_VIO_JACKS                   4   \n\n\n//! Each physical jack an on SDI input card can have\n//! two \"channels\" in the case of \"3G\" VideoFormats, as specified\n//! by SMPTE 425; for non-3G VideoFormats, only the first channel within\n//! a physical jack is valid.\n#define NVAPI_MAX_VIO_CHANNELS_PER_JACK       2   \n\n//! 4 Streams, 1 per physical jack\n#define NVAPI_MAX_VIO_STREAMS                 4   \n\n#define NVAPI_MIN_VIO_STREAMS                 1   \n\n//! SDI input supports a max of 2 links per stream\n#define NVAPI_MAX_VIO_LINKS_PER_STREAM        2   \n\n\n#define NVAPI_MAX_FRAMELOCK_MAPPING_MODES     20\n\n//! Min number of capture images \n#define NVAPI_GVI_MIN_RAW_CAPTURE_IMAGES      1   \n\n//! Max number of capture images        \n#define NVAPI_GVI_MAX_RAW_CAPTURE_IMAGES      32  \n\n//! Default number of capture images\n#define NVAPI_GVI_DEFAULT_RAW_CAPTURE_IMAGES  5   \n\n\n\n// Data Signal notification events. These need a event handler in RM.\n// Register/Unregister and PopEvent NVAPI's are already available.\n\n//! Device configuration\ntypedef enum _NVVIOCONFIGTYPE\n{\n    NVVIOCONFIGTYPE_IN                                 ,       //!< Input Status\n    NVVIOCONFIGTYPE_OUT                                ,       //!< Output Status\n}NVVIOCONFIGTYPE;\n\ntypedef enum _NVVIOCOLORSPACE\n{\n    NVVIOCOLORSPACE_UNKNOWN,\n    NVVIOCOLORSPACE_YCBCR,\n    NVVIOCOLORSPACE_YCBCRA,\n    NVVIOCOLORSPACE_YCBCRD,\n    NVVIOCOLORSPACE_GBR,\n    NVVIOCOLORSPACE_GBRA,\n    NVVIOCOLORSPACE_GBRD,\n} NVVIOCOLORSPACE;\n\n//! Component sampling\ntypedef enum _NVVIOCOMPONENTSAMPLING\n{\n    NVVIOCOMPONENTSAMPLING_UNKNOWN,\n    NVVIOCOMPONENTSAMPLING_4444,\n    NVVIOCOMPONENTSAMPLING_4224,\n    NVVIOCOMPONENTSAMPLING_444,\n    NVVIOCOMPONENTSAMPLING_422\n} NVVIOCOMPONENTSAMPLING;\n\ntypedef enum _NVVIOBITSPERCOMPONENT\n{\n    NVVIOBITSPERCOMPONENT_UNKNOWN,\n    NVVIOBITSPERCOMPONENT_8,\n    NVVIOBITSPERCOMPONENT_10,\n    NVVIOBITSPERCOMPONENT_12,\n} NVVIOBITSPERCOMPONENT;\n\ntypedef enum _NVVIOLINKID \n{\n    NVVIOLINKID_UNKNOWN,\n    NVVIOLINKID_A,\n    NVVIOLINKID_B,\n    NVVIOLINKID_C,\n    NVVIOLINKID_D\n} NVVIOLINKID;\n\n\ntypedef enum _NVVIOANCPARITYCOMPUTATION\n{\n    NVVIOANCPARITYCOMPUTATION_AUTO,\n    NVVIOANCPARITYCOMPUTATION_ON,\n    NVVIOANCPARITYCOMPUTATION_OFF\n} NVVIOANCPARITYCOMPUTATION;\n\n\n\n//! @}\n\n\n//---------------------------------------------------------------------\n// Structures\n//---------------------------------------------------------------------\n\n//! \\addtogroup vidio\n//! @{\n\n\n//! Supports Serial Digital Interface (SDI) output\n#define NVVIOCAPS_VIDOUT_SDI                0x00000001      \n\n//! Supports Internal timing source\n#define NVVIOCAPS_SYNC_INTERNAL             0x00000100      \n\n//! Supports Genlock timing source\n#define NVVIOCAPS_SYNC_GENLOCK              0x00000200      \n\n//! Supports Serial Digital Interface (SDI) synchronization input\n#define NVVIOCAPS_SYNCSRC_SDI               0x00001000      \n\n//! Supports Composite synchronization input\n#define NVVIOCAPS_SYNCSRC_COMP              0x00002000      \n\n//! Supports Desktop transparent mode\n#define NVVIOCAPS_OUTPUTMODE_DESKTOP        0x00010000      \n\n//! Supports OpenGL application mode\n#define NVVIOCAPS_OUTPUTMODE_OPENGL         0x00020000      \n\n//! Supports Serial Digital Interface (SDI) input\n#define NVVIOCAPS_VIDIN_SDI                 0x00100000  \n\n//! Supports Packed ANC\n#define NVVIOCAPS_PACKED_ANC_SUPPORTED      0x00200000     \n\n//! Supports ANC audio blanking\n#define NVVIOCAPS_AUDIO_BLANKING_SUPPORTED  0x00400000  \n\n//! SDI-class interface: SDI output with two genlock inputs\n#define NVVIOCLASS_SDI                      0x00000001      \n\n//! Device capabilities\ntypedef struct _NVVIOCAPS\n{\n    NvU32             version;                              //!< Structure version\n    NvAPI_String      adapterName;                          //!< Graphics adapter name\n    NvU32             adapterClass;                         //!< Graphics adapter classes (NVVIOCLASS_SDI mask)\n    NvU32             adapterCaps;                          //!< Graphics adapter capabilities (NVVIOCAPS_* mask)\n    NvU32             dipSwitch;                            //!< On-board DIP switch settings bits\n    NvU32             dipSwitchReserved;                    //!< On-board DIP switch settings reserved bits\n    NvU32             boardID;                              //!< Board ID\n    //! Driver version\n    struct                                                  //\n    {                                                      \n        NvU32          majorVersion;                        //!< Major version. For GVI, majorVersion contains MajorVersion(HIWORD) And MinorVersion(LOWORD)\n        NvU32          minorVersion;                        //!< Minor version. For GVI, minorVersion contains Revison(HIWORD) And Build(LOWORD)\n    } driver;                                               //\n    //! Firmware version \n    struct                                                  \n    {                                                       \n        NvU32          majorVersion;                        //!< Major version. In version 2, for both GVI and GVO, majorVersion contains MajorVersion(HIWORD) And MinorVersion(LOWORD)\n        NvU32          minorVersion;                        //!< Minor version. In version 2, for both GVI and GVO, minorVersion contains Revison(HIWORD) And Build(LOWORD)\n    } firmWare;                                             //\n    NVVIOOWNERID      ownerId;                              //!< Unique identifier for owner of video output (NVVIOOWNERID_INVALID if free running)\n    NVVIOOWNERTYPE    ownerType;                            //!< Owner type (OpenGL application or Desktop mode)\n} NVVIOCAPS;\n\n//! Macro for constructing the version field of NVVIOCAPS\n#define NVVIOCAPS_VER1  MAKE_NVAPI_VERSION(NVVIOCAPS,1)\n#define NVVIOCAPS_VER2  MAKE_NVAPI_VERSION(NVVIOCAPS,2)\n#define NVVIOCAPS_VER   NVVIOCAPS_VER2\n\n//! Input channel status\ntypedef struct _NVVIOCHANNELSTATUS\n{\n    NvU32                  smpte352;                         //!< 4-byte SMPTE 352 video payload identifier\n    NVVIOSIGNALFORMAT      signalFormat;                     //!< Signal format\n    NVVIOBITSPERCOMPONENT  bitsPerComponent;                 //!< Bits per component\n    NVVIOCOMPONENTSAMPLING samplingFormat;                   //!< Sampling format\n    NVVIOCOLORSPACE        colorSpace;                       //!< Color space\n    NVVIOLINKID            linkID;                           //!< Link ID\n} NVVIOCHANNELSTATUS;\n\n//! Input device status\ntypedef struct _NVVIOINPUTSTATUS\n{\n    NVVIOCHANNELSTATUS     vidIn[NVAPI_MAX_VIO_JACKS][NVAPI_MAX_VIO_CHANNELS_PER_JACK];     //!< Video input status per channel within a jack\n    NVVIOCAPTURESTATUS     captureStatus;                  //!< status of video capture\n} NVVIOINPUTSTATUS;\n\n//! Output device status\ntypedef struct _NVVIOOUTPUTSTATUS\n{\n    NVVIOINPUTOUTPUTSTATUS    vid1Out;                        //!< Video 1 output status\n    NVVIOINPUTOUTPUTSTATUS    vid2Out;                        //!< Video 2 output status\n    NVVIOSYNCSTATUS        sdiSyncIn;                      //!< SDI sync input status\n    NVVIOSYNCSTATUS        compSyncIn;                     //!< Composite sync input status\n    NvU32            syncEnable;                     //!< Sync enable (TRUE if using syncSource)\n    NVVIOSYNCSOURCE        syncSource;                     //!< Sync source\n    NVVIOSIGNALFORMAT        syncFormat;                     //!< Sync format\n    NvU32            frameLockEnable;                //!< Framelock enable flag\n    NvU32            outputVideoLocked;              //!< Output locked status\n    NvU32            dataIntegrityCheckErrorCount;   //!< Data integrity check error count\n    NvU32            dataIntegrityCheckEnabled;      //!< Data integrity check status enabled \n    NvU32            dataIntegrityCheckFailed;       //!< Data integrity check status failed \n    NvU32                       uSyncSourceLocked;              //!< genlocked to framelocked to ref signal\n    NvU32                       uPowerOn;                       //!< TRUE: indicates there is sufficient power\n} NVVIOOUTPUTSTATUS;\n\n//! Video device status.\ntypedef struct _NVVIOSTATUS\n{\n    NvU32                 version;                        //!< Structure version\n    NVVIOSTATUSTYPE       nvvioStatusType;                //!< Input or Output status\n    union                                                   \n    {\n        NVVIOINPUTSTATUS  inStatus;                       //!<  Input device status\n        NVVIOOUTPUTSTATUS outStatus;                      //!<  Output device status\n    }vioStatus;      \n} NVVIOSTATUS;\n\n//! Macro for constructingthe version field of NVVIOSTATUS\n#define NVVIOSTATUS_VER   MAKE_NVAPI_VERSION(NVVIOSTATUS,1)\n\n//! Output region\ntypedef struct _NVVIOOUTPUTREGION\n{\n    NvU32              x;                                    //!< Horizontal origin in pixels\n    NvU32              y;                                    //!< Vertical origin in pixels\n    NvU32              width;                                //!< Width of region in pixels\n    NvU32              height;                               //!< Height of region in pixels\n} NVVIOOUTPUTREGION;\n\n//! Gamma ramp (8-bit index)\ntypedef struct _NVVIOGAMMARAMP8\n{\n    NvU16              uRed[256];                            //!< Red channel gamma ramp (8-bit index, 16-bit values)\n    NvU16              uGreen[256];                          //!< Green channel gamma ramp (8-bit index, 16-bit values)\n    NvU16              uBlue[256];                           //!< Blue channel gamma ramp (8-bit index, 16-bit values)\n} NVVIOGAMMARAMP8;\n\n//! Gamma ramp (10-bit index)\ntypedef struct _NVVIOGAMMARAMP10\n{\n    NvU16              uRed[1024];                           //!< Red channel gamma ramp (10-bit index, 16-bit values)\n    NvU16              uGreen[1024];                         //!< Green channel gamma ramp (10-bit index, 16-bit values)\n    NvU16              uBlue[1024];                          //!< Blue channel gamma ramp (10-bit index, 16-bit values)\n} NVVIOGAMMARAMP10;\n\n\n//! Sync delay\ntypedef struct _NVVIOSYNCDELAY\n{\n    NvU32              version;                              //!< Structure version\n    NvU32              horizontalDelay;                      //!< Horizontal delay in pixels\n    NvU32              verticalDelay;                        //!< Vertical delay in lines\n} NVVIOSYNCDELAY;\n\n//! Macro for constructing the version field of NVVIOSYNCDELAY\n#define NVVIOSYNCDELAY_VER   MAKE_NVAPI_VERSION(NVVIOSYNCDELAY,1)\n\n\n//! Video mode information\ntypedef struct _NVVIOVIDEOMODE\n{\n    NvU32                horizontalPixels;                   //!< Horizontal resolution (in pixels)\n    NvU32                verticalLines;                      //!< Vertical resolution for frame (in lines)\n    float                fFrameRate;                         //!< Frame rate\n    NVVIOINTERLACEMODE   interlaceMode;                      //!< Interlace mode \n    NVVIOVIDEOSTANDARD   videoStandard;                      //!< SMPTE standards format\n    NVVIOVIDEOTYPE       videoType;                          //!< HD or SD signal classification\n} NVVIOVIDEOMODE;\n\n//! Signal format details\ntypedef struct _NVVIOSIGNALFORMATDETAIL\n{   \n    NVVIOSIGNALFORMAT    signalFormat;                       //!< Signal format enumerated value\n    NVVIOVIDEOMODE       videoMode;                          //!< Video mode for signal format\n}NVVIOSIGNALFORMATDETAIL;\n\n\n//! R8:G8:B8\n#define NVVIOBUFFERFORMAT_R8G8B8                  0x00000001\n \n//! R8:G8:B8:Z24  \n#define NVVIOBUFFERFORMAT_R8G8B8Z24               0x00000002\n   \n//! R8:G8:B8:A8\n#define NVVIOBUFFERFORMAT_R8G8B8A8                0x00000004   \n\n//! R8:G8:B8:A8:Z24       \n#define NVVIOBUFFERFORMAT_R8G8B8A8Z24             0x00000008   \n\n//! R16FP:G16FP:B16FP\n#define NVVIOBUFFERFORMAT_R16FPG16FPB16FP         0x00000010   \n\n//! R16FP:G16FP:B16FP:Z24\n#define NVVIOBUFFERFORMAT_R16FPG16FPB16FPZ24      0x00000020   \n\n//! R16FP:G16FP:B16FP:A16FP\n#define NVVIOBUFFERFORMAT_R16FPG16FPB16FPA16FP    0x00000040   \n\n//! R16FP:G16FP:B16FP:A16FP:Z24\n#define NVVIOBUFFERFORMAT_R16FPG16FPB16FPA16FPZ24 0x00000080   \n\n\n\n//! Data format details\ntypedef struct _NVVIODATAFORMATDETAIL\n{\n    NVVIODATAFORMAT   dataFormat;                              //!< Data format enumerated value\n    NvU32             vioCaps;                                 //!< Data format capabilities (NVVIOCAPS_* mask)\n}NVVIODATAFORMATDETAIL;\n\n//! Colorspace conversion\ntypedef struct _NVVIOCOLORCONVERSION\n{\n    NvU32       version;                                    //!<  Structure version\n    float       colorMatrix[3][3];                          //!<  Output[n] =\n    float       colorOffset[3];                             //!<  Input[0] * colorMatrix[n][0] +\n    float       colorScale[3];                              //!<  Input[1] * colorMatrix[n][1] +\n                                                            //!<  Input[2] * colorMatrix[n][2] +\n                                                            //!<  OutputRange * colorOffset[n]\n                                                            //!<  where OutputRange is the standard magnitude of\n                                                            //!<  Output[n][n] and colorMatrix and colorOffset \n                                                            //!<  values are within the range -1.0 to +1.0\n    NvU32      compositeSafe;                               //!<  compositeSafe constrains luminance range when using composite output\n} NVVIOCOLORCONVERSION;\n\n//! macro for constructing the version field of _NVVIOCOLORCONVERSION.\n#define NVVIOCOLORCONVERSION_VER   MAKE_NVAPI_VERSION(NVVIOCOLORCONVERSION,1)\n\n//! Gamma correction\ntypedef struct _NVVIOGAMMACORRECTION\n{\n    NvU32            version;                               //!< Structure version\n    NvU32            vioGammaCorrectionType;                //!< Gamma correction type (8-bit or 10-bit)\n    //! Gamma correction:\n    union                                                   \n    {                                                       \n        NVVIOGAMMARAMP8  gammaRamp8;                        //!< Gamma ramp (8-bit index, 16-bit values)\n        NVVIOGAMMARAMP10 gammaRamp10;                       //!< Gamma ramp (10-bit index, 16-bit values)\n    }gammaRamp;                                      \n    float            fGammaValueR;            //!< Red Gamma value within gamma ranges. 0.5 - 6.0\n    float            fGammaValueG;            //!< Green Gamma value within gamma ranges. 0.5 - 6.0\n    float            fGammaValueB;            //!< Blue Gamma value within gamma ranges. 0.5 - 6.0\n} NVVIOGAMMACORRECTION;\n\n//! Macro for constructing thevesion field of _NVVIOGAMMACORRECTION\n#define NVVIOGAMMACORRECTION_VER   MAKE_NVAPI_VERSION(NVVIOGAMMACORRECTION,1)\n\n//! Maximum number of ranges per channel\n#define MAX_NUM_COMPOSITE_RANGE      2                      \n\n\ntypedef struct _NVVIOCOMPOSITERANGE\n{\n    NvU32   uRange;\n    NvU32   uEnabled;\n    NvU32   uMin;\n    NvU32   uMax;\n} NVVIOCOMPOSITERANGE;\n\n\n\n// Device configuration (fields masks indicating NVVIOCONFIG fields to use for NvAPI_VIO_GetConfig/NvAPI_VIO_SetConfig() )\n//\n#define NVVIOCONFIG_SIGNALFORMAT            0x00000001      //!< fields: signalFormat\n#define NVVIOCONFIG_DATAFORMAT              0x00000002      //!< fields: dataFormat\n#define NVVIOCONFIG_OUTPUTREGION            0x00000004      //!< fields: outputRegion\n#define NVVIOCONFIG_OUTPUTAREA              0x00000008      //!< fields: outputArea\n#define NVVIOCONFIG_COLORCONVERSION         0x00000010      //!< fields: colorConversion\n#define NVVIOCONFIG_GAMMACORRECTION         0x00000020      //!< fields: gammaCorrection\n#define NVVIOCONFIG_SYNCSOURCEENABLE        0x00000040      //!< fields: syncSource and syncEnable\n#define NVVIOCONFIG_SYNCDELAY               0x00000080      //!< fields: syncDelay\n#define NVVIOCONFIG_COMPOSITESYNCTYPE       0x00000100      //!< fields: compositeSyncType\n#define NVVIOCONFIG_FRAMELOCKENABLE         0x00000200      //!< fields: EnableFramelock\n#define NVVIOCONFIG_422FILTER               0x00000400      //!< fields: bEnable422Filter\n#define NVVIOCONFIG_COMPOSITETERMINATE      0x00000800      //!< fields: bCompositeTerminate (Not supported on Quadro FX 4000 SDI)         \n#define NVVIOCONFIG_DATAINTEGRITYCHECK      0x00001000      //!< fields: bEnableDataIntegrityCheck (Not supported on Quadro FX 4000 SDI)\n#define NVVIOCONFIG_CSCOVERRIDE             0x00002000      //!< fields: colorConversion override\n#define NVVIOCONFIG_FLIPQUEUELENGTH         0x00004000      //!< fields: flipqueuelength control\n#define NVVIOCONFIG_ANCTIMECODEGENERATION   0x00008000      //!< fields: bEnableANCTimeCodeGeneration\n#define NVVIOCONFIG_COMPOSITE               0x00010000      //!< fields: bEnableComposite\n#define NVVIOCONFIG_ALPHAKEYCOMPOSITE       0x00020000      //!< fields: bEnableAlphaKeyComposite\n#define NVVIOCONFIG_COMPOSITE_Y             0x00040000      //!< fields: compRange\n#define NVVIOCONFIG_COMPOSITE_CR            0x00080000      //!< fields: compRange\n#define NVVIOCONFIG_COMPOSITE_CB            0x00100000      //!< fields: compRange\n#define NVVIOCONFIG_FULL_COLOR_RANGE        0x00200000      //!< fields: bEnableFullColorRange\n#define NVVIOCONFIG_RGB_DATA                0x00400000      //!< fields: bEnableRGBData\n#define NVVIOCONFIG_RESERVED_SDIOUTPUTENABLE         0x00800000      //!< fields: bEnableSDIOutput\n#define NVVIOCONFIG_STREAMS                 0x01000000      //!< fields: streams\n#define NVVIOCONFIG_ANC_PARITY_COMPUTATION  0x02000000      //!< fields: ancParityComputation\n#define NVVIOCONFIG_ANC_AUDIO_REPEAT\t\t0x04000000      //!< fields: enableAudioBlanking\n \n\n// Don't forget to update NVVIOCONFIG_VALIDFIELDS in nvapi.spec when NVVIOCONFIG_ALLFIELDS changes.\n#define NVVIOCONFIG_ALLFIELDS   ( NVVIOCONFIG_SIGNALFORMAT          | \\\n                                  NVVIOCONFIG_DATAFORMAT            | \\\n                                  NVVIOCONFIG_OUTPUTREGION          | \\\n                                  NVVIOCONFIG_OUTPUTAREA            | \\\n                                  NVVIOCONFIG_COLORCONVERSION       | \\\n                                  NVVIOCONFIG_GAMMACORRECTION       | \\\n                                  NVVIOCONFIG_SYNCSOURCEENABLE      | \\\n                                  NVVIOCONFIG_SYNCDELAY             | \\\n                                  NVVIOCONFIG_COMPOSITESYNCTYPE     | \\\n                                  NVVIOCONFIG_FRAMELOCKENABLE       | \\\n                                  NVVIOCONFIG_422FILTER             | \\\n                                  NVVIOCONFIG_COMPOSITETERMINATE    | \\\n                                  NVVIOCONFIG_DATAINTEGRITYCHECK    | \\\n                                  NVVIOCONFIG_CSCOVERRIDE           | \\\n                                  NVVIOCONFIG_FLIPQUEUELENGTH       | \\\n                                  NVVIOCONFIG_ANCTIMECODEGENERATION | \\\n                                  NVVIOCONFIG_COMPOSITE             | \\\n                                  NVVIOCONFIG_ALPHAKEYCOMPOSITE     | \\\n                                  NVVIOCONFIG_COMPOSITE_Y           | \\\n                                  NVVIOCONFIG_COMPOSITE_CR          | \\\n                                  NVVIOCONFIG_COMPOSITE_CB          | \\\n                                  NVVIOCONFIG_FULL_COLOR_RANGE      | \\\n                                  NVVIOCONFIG_RGB_DATA              | \\\n                                  NVVIOCONFIG_RESERVED_SDIOUTPUTENABLE | \\\n                                  NVVIOCONFIG_STREAMS               | \\\n                                  NVVIOCONFIG_ANC_PARITY_COMPUTATION | \\\n\t\t\t\t\t\t\t\t  NVVIOCONFIG_ANC_AUDIO_REPEAT )\n\n#define NVVIOCONFIG_VALIDFIELDS  ( NVVIOCONFIG_SIGNALFORMAT          | \\\n                                   NVVIOCONFIG_DATAFORMAT            | \\\n                                   NVVIOCONFIG_OUTPUTREGION          | \\\n                                   NVVIOCONFIG_OUTPUTAREA            | \\\n                                   NVVIOCONFIG_COLORCONVERSION       | \\\n                                   NVVIOCONFIG_GAMMACORRECTION       | \\\n                                   NVVIOCONFIG_SYNCSOURCEENABLE      | \\\n                                   NVVIOCONFIG_SYNCDELAY             | \\\n                                   NVVIOCONFIG_COMPOSITESYNCTYPE     | \\\n                                   NVVIOCONFIG_FRAMELOCKENABLE       | \\\n                                   NVVIOCONFIG_RESERVED_SDIOUTPUTENABLE | \\\n                                   NVVIOCONFIG_422FILTER             | \\\n                                   NVVIOCONFIG_COMPOSITETERMINATE    | \\\n                                   NVVIOCONFIG_DATAINTEGRITYCHECK    | \\\n                                   NVVIOCONFIG_CSCOVERRIDE           | \\\n                                   NVVIOCONFIG_FLIPQUEUELENGTH       | \\\n                                   NVVIOCONFIG_ANCTIMECODEGENERATION | \\\n                                   NVVIOCONFIG_COMPOSITE             | \\\n                                   NVVIOCONFIG_ALPHAKEYCOMPOSITE     | \\\n                                   NVVIOCONFIG_COMPOSITE_Y           | \\\n                                   NVVIOCONFIG_COMPOSITE_CR          | \\\n                                   NVVIOCONFIG_COMPOSITE_CB          | \\\n                                   NVVIOCONFIG_FULL_COLOR_RANGE      | \\\n                                   NVVIOCONFIG_RGB_DATA              | \\\n                                   NVVIOCONFIG_RESERVED_SDIOUTPUTENABLE | \\\n                                   NVVIOCONFIG_STREAMS               | \\\n                                   NVVIOCONFIG_ANC_PARITY_COMPUTATION | \\\n\t\t\t\t\t\t\t\t   NVVIOCONFIG_ANC_AUDIO_REPEAT)\n\n#define NVVIOCONFIG_DRIVERFIELDS ( NVVIOCONFIG_OUTPUTREGION          | \\\n                                   NVVIOCONFIG_OUTPUTAREA            | \\\n                                   NVVIOCONFIG_COLORCONVERSION       | \\\n                                   NVVIOCONFIG_FLIPQUEUELENGTH)\n\n#define NVVIOCONFIG_GAMMAFIELDS  ( NVVIOCONFIG_GAMMACORRECTION       )\n\n#define NVVIOCONFIG_RMCTRLFIELDS ( NVVIOCONFIG_SIGNALFORMAT          | \\\n                                   NVVIOCONFIG_DATAFORMAT            | \\\n                                   NVVIOCONFIG_SYNCSOURCEENABLE      | \\\n                                   NVVIOCONFIG_COMPOSITESYNCTYPE     | \\\n                                   NVVIOCONFIG_FRAMELOCKENABLE       | \\\n                                   NVVIOCONFIG_422FILTER             | \\\n                                   NVVIOCONFIG_COMPOSITETERMINATE    | \\\n                                   NVVIOCONFIG_DATAINTEGRITYCHECK    | \\\n                                   NVVIOCONFIG_COMPOSITE             | \\\n                                   NVVIOCONFIG_ALPHAKEYCOMPOSITE     | \\\n                                   NVVIOCONFIG_COMPOSITE_Y           | \\\n                                   NVVIOCONFIG_COMPOSITE_CR          | \\\n                                   NVVIOCONFIG_COMPOSITE_CB)\n\n#define NVVIOCONFIG_RMSKEWFIELDS ( NVVIOCONFIG_SYNCDELAY             )\n\n#define NVVIOCONFIG_ALLOWSDIRUNNING_FIELDS ( NVVIOCONFIG_DATAINTEGRITYCHECK     | \\\n                                             NVVIOCONFIG_SYNCDELAY              | \\\n                                             NVVIOCONFIG_CSCOVERRIDE            | \\\n                                             NVVIOCONFIG_ANCTIMECODEGENERATION  | \\\n                                             NVVIOCONFIG_COMPOSITE              | \\\n                                             NVVIOCONFIG_ALPHAKEYCOMPOSITE      | \\\n                                             NVVIOCONFIG_COMPOSITE_Y            | \\\n                                             NVVIOCONFIG_COMPOSITE_CR           | \\\n                                             NVVIOCONFIG_COMPOSITE_CB           | \\\n                                             NVVIOCONFIG_ANC_PARITY_COMPUTATION)\n\n                                             \n #define NVVIOCONFIG_RMMODESET_FIELDS ( NVVIOCONFIG_SIGNALFORMAT         | \\\n                                        NVVIOCONFIG_DATAFORMAT           | \\\n                                        NVVIOCONFIG_SYNCSOURCEENABLE     | \\\n                                        NVVIOCONFIG_FRAMELOCKENABLE      | \\\n                                        NVVIOCONFIG_COMPOSITESYNCTYPE\t | \\\n\t\t\t\t\t\t\t\t\t\tNVVIOCONFIG_ANC_AUDIO_REPEAT)                                            \n                                             \n\n//! Output device configuration \n// No members can be deleted from below structure. Only add new members at the \n// end of the structure.\ntypedef struct _NVVIOOUTPUTCONFIG_V1\n{\n    NVVIOSIGNALFORMAT    signalFormat;                         //!< Signal format for video output\n    NVVIODATAFORMAT      dataFormat;                           //!< Data format for video output\n    NVVIOOUTPUTREGION    outputRegion;                         //!< Region for video output (Desktop mode)\n    NVVIOOUTPUTAREA      outputArea;                           //!< Usable resolution for video output (safe area)\n    NVVIOCOLORCONVERSION colorConversion;                      //!< Color conversion.\n    NVVIOGAMMACORRECTION gammaCorrection;\n    NvU32                syncEnable;                           //!< Sync enable (TRUE to use syncSource)\n    NVVIOSYNCSOURCE      syncSource;                           //!< Sync source\n    NVVIOSYNCDELAY       syncDelay;                            //!< Sync delay\n    NVVIOCOMPSYNCTYPE    compositeSyncType;                    //!< Composite sync type\n    NvU32                frameLockEnable;                      //!< Flag indicating whether framelock was on/off\n    NvU32                psfSignalFormat;                      //!< Indicates whether contained format is PSF Signal format\n    NvU32                enable422Filter;                      //!< Enables/Disables 4:2:2 filter\n    NvU32                compositeTerminate;                   //!< Composite termination\n    NvU32                enableDataIntegrityCheck;             //!< Enable data integrity check: true - enable, false - disable\n    NvU32                cscOverride;                          //!< Use provided CSC color matrix to overwrite \n    NvU32                flipQueueLength;                      //!< Number of buffers used for the internal flipqueue\n    NvU32                enableANCTimeCodeGeneration;          //!< Enable SDI ANC time code generation\n    NvU32                enableComposite;                      //!< Enable composite\n    NvU32                enableAlphaKeyComposite;              //!< Enable Alpha key composite\n    NVVIOCOMPOSITERANGE  compRange;                            //!< Composite ranges\n    NvU8                 reservedData[256];                    //!< Inicates last stored SDI output state TRUE-ON / FALSE-OFF\n    NvU32                enableFullColorRange;                 //!< Flag indicating Full Color Range\n    NvU32                enableRGBData;                        //!< Indicates data is in RGB format\n} NVVIOOUTPUTCONFIG_V1;\n\ntypedef struct _NVVIOOUTPUTCONFIG_V2\n{\n    NVVIOSIGNALFORMAT    signalFormat;                         //!< Signal format for video output\n    NVVIODATAFORMAT      dataFormat;                           //!< Data format for video output\n    NVVIOOUTPUTREGION    outputRegion;                         //!< Region for video output (Desktop mode)\n    NVVIOOUTPUTAREA      outputArea;                           //!< Usable resolution for video output (safe area)\n    NVVIOCOLORCONVERSION colorConversion;                      //!< Color conversion.\n    NVVIOGAMMACORRECTION gammaCorrection;\n    NvU32                syncEnable;                           //!< Sync enable (TRUE to use syncSource)\n    NVVIOSYNCSOURCE      syncSource;                           //!< Sync source\n    NVVIOSYNCDELAY       syncDelay;                            //!< Sync delay\n    NVVIOCOMPSYNCTYPE    compositeSyncType;                    //!< Composite sync type\n    NvU32                frameLockEnable;                      //!< Flag indicating whether framelock was on/off\n    NvU32                psfSignalFormat;                      //!< Indicates whether contained format is PSF Signal format\n    NvU32                enable422Filter;                      //!< Enables/Disables 4:2:2 filter\n    NvU32                compositeTerminate;                   //!< Composite termination\n    NvU32                enableDataIntegrityCheck;             //!< Enable data integrity check: true - enable, false - disable\n    NvU32                cscOverride;                          //!< Use provided CSC color matrix to overwrite\n    NvU32                flipQueueLength;                      //!< Number of buffers used for the internal flip queue\n    NvU32                enableANCTimeCodeGeneration;          //!< Enable SDI ANC time code generation\n    NvU32                enableComposite;                      //!< Enable composite\n    NvU32                enableAlphaKeyComposite;              //!< Enable Alpha key composite\n    NVVIOCOMPOSITERANGE  compRange;                            //!< Composite ranges\n    NvU8                 reservedData[256];                    //!< Indicates last stored SDI output state TRUE-ON / FALSE-OFF\n    NvU32                enableFullColorRange;                 //!< Flag indicating Full Color Range\n    NvU32                enableRGBData;                        //!< Indicates data is in RGB format\n    NVVIOANCPARITYCOMPUTATION ancParityComputation;            //!< Enable HW ANC parity bit computation (auto/on/off)\n} NVVIOOUTPUTCONFIG_V2;\n\ntypedef struct _NVVIOOUTPUTCONFIG_V3\n{\n    NVVIOSIGNALFORMAT    signalFormat;                         //!< Signal format for video output\n    NVVIODATAFORMAT      dataFormat;                           //!< Data format for video output\n    NVVIOOUTPUTREGION    outputRegion;                         //!< Region for video output (Desktop mode)\n    NVVIOOUTPUTAREA      outputArea;                           //!< Usable resolution for video output (safe area)\n    NVVIOCOLORCONVERSION colorConversion;                      //!< Color conversion.\n    NVVIOGAMMACORRECTION gammaCorrection;\n    NvU32                syncEnable;                           //!< Sync enable (TRUE to use syncSource)\n    NVVIOSYNCSOURCE      syncSource;                           //!< Sync source\n    NVVIOSYNCDELAY       syncDelay;                            //!< Sync delay\n    NVVIOCOMPSYNCTYPE    compositeSyncType;                    //!< Composite sync type\n    NvU32                frameLockEnable;                      //!< Flag indicating whether framelock was on/off\n    NvU32                psfSignalFormat;                      //!< Indicates whether contained format is PSF Signal format\n    NvU32                enable422Filter;                      //!< Enables/Disables 4:2:2 filter\n    NvU32                compositeTerminate;                   //!< Composite termination\n    NvU32                enableDataIntegrityCheck;             //!< Enable data integrity check: true - enable, false - disable\n    NvU32                cscOverride;                          //!< Use provided CSC color matrix to overwrite\n    NvU32                flipQueueLength;                      //!< Number of buffers used for the internal flip queue\n    NvU32                enableANCTimeCodeGeneration;          //!< Enable SDI ANC time code generation\n    NvU32                enableComposite;                      //!< Enable composite\n    NvU32                enableAlphaKeyComposite;              //!< Enable Alpha key composite\n    NVVIOCOMPOSITERANGE  compRange;                            //!< Composite ranges\n    NvU8                 reservedData[256];                    //!< Indicates last stored SDI output state TRUE-ON / FALSE-OFF\n    NvU32                enableFullColorRange;                 //!< Flag indicating Full Color Range\n    NvU32                enableRGBData;                        //!< Indicates data is in RGB format\n    NVVIOANCPARITYCOMPUTATION ancParityComputation;            //!< Enable HW ANC parity bit computation (auto/on/off)\n\tNvU32\t\t\t\t enableAudioBlanking;\t\t\t\t   //!< Enable HANC audio blanking on repeat frames\n} NVVIOOUTPUTCONFIG_V3;\n\n//! Stream configuration\ntypedef struct _NVVIOSTREAM\n{\n    NvU32                   bitsPerComponent;                     //!< Bits per component\n    NVVIOCOMPONENTSAMPLING  sampling;                             //!< Sampling   \n    NvU32                   expansionEnable;                      //!< Enable/disable 4:2:2->4:4:4 expansion\n    NvU32                   numLinks;                             //!< Number of active links\n    struct\n    {\n        NvU32               jack;                                 //!< This stream's link[i] will use the specified (0-based) channel within the\n        NvU32               channel;                              //!< specified (0-based) jack\n    } links[NVAPI_MAX_VIO_LINKS_PER_STREAM];\n} NVVIOSTREAM;\n\n//! Input device configuration\ntypedef struct _NVVIOINPUTCONFIG\n{\n    NvU32                numRawCaptureImages;                  //!< numRawCaptureImages is the number of frames to keep in the capture queue. \n                                                               //!< must be between NVAPI_GVI_MIN_RAW_CAPTURE_IMAGES and NVAPI_GVI_MAX_RAW_CAPTURE_IMAGES, \n    NVVIOSIGNALFORMAT    signalFormat;                         //!< Signal format.\n                                                               //!< Please note that both numRawCaptureImages and signalFormat should be set together.\n    NvU32                numStreams;                           //!< Number of active streams.\n    NVVIOSTREAM          streams[NVAPI_MAX_VIO_STREAMS];       //!< Stream configurations\n    NvU32                bTestMode;                            //!< This attribute controls the GVI test mode.\n                                                               //!< Possible values 0/1. When testmode enabled, the\n                                                               //!< GVI device will generate fake data as quickly as possible.\n} NVVIOINPUTCONFIG;\n\ntypedef struct _NVVIOCONFIG_V1\n{\n    NvU32                version;                              //!< Structure version\n    NvU32                fields;                               //!< Caller sets to NVVIOCONFIG_* mask for fields to use\n    NVVIOCONFIGTYPE      nvvioConfigType;                      //!< Input or Output configuration\n    union                                                   \n    {\n        NVVIOINPUTCONFIG  inConfig;                            //!<  Input device configuration\n        NVVIOOUTPUTCONFIG_V1 outConfig;                           //!<  Output device configuration\n    }vioConfig; \n} NVVIOCONFIG_V1;\n\n\ntypedef struct _NVVIOCONFIG_V2\n{\n    NvU32                version;                              //!< Structure version\n    NvU32                fields;                               //!< Caller sets to NVVIOCONFIG_* mask for fields to use\n    NVVIOCONFIGTYPE      nvvioConfigType;                      //!< Input or Output configuration\n    union\n    {\n        NVVIOINPUTCONFIG     inConfig;                         //!< Input device configuration\n        NVVIOOUTPUTCONFIG_V2 outConfig;                        //!< Output device configuration\n    }vioConfig;\n} NVVIOCONFIG_V2;\n\ntypedef struct _NVVIOCONFIG_V3\n{\n    NvU32                version;                              //!< Structure version\n    NvU32                fields;                               //!< Caller sets to NVVIOCONFIG_* mask for fields to use\n    NVVIOCONFIGTYPE      nvvioConfigType;                      //!< Input or Output configuration\n    union\n    {\n        NVVIOINPUTCONFIG     inConfig;                         //!< Input device configuration\n        NVVIOOUTPUTCONFIG_V3 outConfig;                        //!< Output device configuration\n    }vioConfig;\n} NVVIOCONFIG_V3;\ntypedef NVVIOOUTPUTCONFIG_V3 NVVIOOUTPUTCONFIG;\ntypedef NVVIOCONFIG_V3 NVVIOCONFIG;\n\n#define NVVIOCONFIG_VER1  MAKE_NVAPI_VERSION(NVVIOCONFIG_V1,1)\n#define NVVIOCONFIG_VER2  MAKE_NVAPI_VERSION(NVVIOCONFIG_V2,2)\n#define NVVIOCONFIG_VER3  MAKE_NVAPI_VERSION(NVVIOCONFIG_V3,3)\n#define NVVIOCONFIG_VER   NVVIOCONFIG_VER3\n\n\ntypedef struct\n{\n    NvPhysicalGpuHandle                    hPhysicalGpu;                    //!< Handle to Physical GPU (This could be NULL for GVI device if its not binded)\n    NvVioHandle                         hVioHandle;                     //!<handle to SDI Input/Output device\n    NvU32                               vioId;                          //!<device Id of SDI Input/Output device\n    NvU32                               outputId;            //!<deviceMask of the SDI display connected to GVO device. \n                                                                        //!<outputId will be 0 for GVI device.\n} NVVIOTOPOLOGYTARGET;                                                    \n\ntypedef struct _NV_VIO_TOPOLOGY\n{\n    NvU32                       version;\n    NvU32                       vioTotalDeviceCount;                    //!<How many video I/O targets are valid\n    NVVIOTOPOLOGYTARGET         vioTarget[NVAPI_MAX_VIO_DEVICES];       //!<Array of video I/O targets\n}NV_VIO_TOPOLOGY, NVVIOTOPOLOGY;\n\n\n//! Macro for constructing the version field of NV_VIO_TOPOLOGY\n#define NV_VIO_TOPOLOGY_VER  MAKE_NVAPI_VERSION(NV_VIO_TOPOLOGY,1)\n\n//! Macro for constructing the version field of NVVIOTOPOLOGY\n#define NVVIOTOPOLOGY_VER    MAKE_NVAPI_VERSION(NVVIOTOPOLOGY,1)\n\n\n\n//! @} \n\n\n\n//! \\addtogroup vidio\n//! @{\n///////////////////////////////////////////////////////////////////////////////\n//!   \n//!   Function:    NvAPI_VIO_GetCapabilities\n//!  \n//!   Description: This API determine the graphics adapter video I/O capabilities.\n//!  \n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\since Release: 190\n//!  \n//! \\param [in]  NvVioHandle   The caller provides the SDI device handle as input.\n//! \\param [out] pAdapterCaps  Pointer to receive capabilities\n//!  \n//! \\retval ::NVAPI_OK                           Success\n//! \\retval ::NVAPI_API_NOT_INTIALIZED           NVAPI Not Initialized\n//! \\retval ::NVAPI_INVALID_ARGUMENT             Arguments passed to API are not valid\n//! \\retval ::NVAPI_INCOMPATIBLE_STRUCT_VERSION  NVVIOCAPS struct version used by the app is not compatible\n//! \\retval ::NVAPI_NOT_SUPPORTED                Video I/O not supported\n//! \\retval ::NVAPI_ERROR                        NVAPI Random errors\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_VIO_GetCapabilities(NvVioHandle     hVioHandle,\n                                          NVVIOCAPS       *pAdapterCaps);\n\n\n////////////////////////////////////////////////////////////////////////////////\n//!   Function:    NvAPI_VIO_Open\n//!  \n//!   Description: This API opens the graphics adapter for video I/O operations\n//!                using the OpenGL application interface.  Read operations\n//!                are permitted in this mode by multiple clients, but Write \n//!                operations are application exclusive.\n//!  \n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\since Release: 190\n//!  \n//! \\param [in]  NvVioHandle      The caller provides the SDI output device handle as input.\n//! \\param [in]  vioClass         Class interface (NVVIOCLASS_* value)\n//! \\param [in]  ownerType        Specify NVVIOOWNERTYPE_APPLICATION or NVVIOOWNERTYPE_DESKTOP.\n//!  \n//! \\retval ::NVAPI_OK                           Success\n//! \\retval ::NVAPI_API_NOT_INTIALIZED           NVAPI Not Initialized\n//! \\retval ::NVAPI_INVALID_ARGUMENT             Arguments passed to API are not valid\n//! \\retval ::NVAPI_NOT_SUPPORTED                Video I/O not supported\n//! \\retval ::NVAPI_ERROR                        NVAPI Random errors\n//! \\retval ::NVAPI_DEVICE_BUSY                  Access denied for requested access\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_VIO_Open(NvVioHandle       hVioHandle,\n                               NvU32             vioClass,\n                               NVVIOOWNERTYPE    ownerType);\n\n///////////////////////////////////////////////////////////////////////////////\n//!   Function:    NvAPI_VIO_Close\n//!  \n//!   Description: This API closes the graphics adapter for graphics-to-video operations\n//!                using the OpenGL application interface.  Closing an \n//!                OpenGL handle releases the device.\n//!  \n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\since Release: 190\n//!  \n//! \\param [in]  NvVioHandle   The caller provides the SDI output device handle as input.\n//! \\param [in]  bRelease      boolean value to either keep or release ownership\n//!  \n//! \\retval ::NVAPI_OK                           Success\n//! \\retval ::NVAPI_API_NOT_INTIALIZED           NVAPI Not Initialized\n//! \\retval ::NVAPI_INVALID_ARGUMENT             Arguments passed to API are not valid\n//! \\retval ::NVAPI_NOT_SUPPORTED                Video I/O not supported\n//! \\retval ::NVAPI_ERROR                        NVAPI Random errors\n//! \\retval ::NVAPI_DEVICE_BUSY                  Access denied for requested access\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_VIO_Close(NvVioHandle       hVioHandle,\n                                NvU32             bRelease);\n///////////////////////////////////////////////////////////////////////////////\n//!   Function:    NvAPI_VIO_Status\n//!  \n//!   Description: This API gets the Video I/O LED status.\n//!  \n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\since Release: 190\n//!  \n//! \\param [in]  NvVioHandle   The caller provides the SDI device handle as input.\n//! \\param [out] pStatus       Return pointer to NVVIOSTATUS\n//!  \n//! \\retval ::NVAPI_OK                           Success\n//! \\retval ::NVAPI_API_NOT_INTIALIZED           NVAPI Not Initialized\n//! \\retval ::NVAPI_INVALID_ARGUMENT             Arguments passed to API are not valid\n//! \\retval ::NVAPI_INCOMPATIBLE_STRUCT_VERSION  Invalid structure version\n//! \\retval ::NVAPI_NOT_SUPPORTED                Video I/O not supported\n//! \\retval ::NVAPI_ERROR                        NVAPI Random errors\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_VIO_Status(NvVioHandle     hVioHandle, \n                                 NVVIOSTATUS     *pStatus);\n\n////////////////////////////////////////////////////////////////////////////////\n//!   Function:    NvAPI_VIO_SyncFormatDetect\n//!  \n//!   Description: This API detects the Video I/O incoming sync video format.\n//!  \n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\since Release: 190\n//!  \n//! \\param [in]  NvVioHandle  The caller provides the SDI device handle as input.\n//! \\param [out] pWait        Pointer to receive how many milliseconds will lapse \n//!                           before VIOStatus returns the detected syncFormat.\n//!  \n//! \\retval ::NVAPI_OK                          Success\n//! \\retval ::NVAPI_API_NOT_INTIALIZED          NVAPI Not Initialized\n//! \\retval ::NVAPI_INVALID_ARGUMENT            Arguments passed to API are not valid\n//! \\retval ::NVAPI_NOT_SUPPORTED               Video I/O not supported\n//! \\retval ::NVAPI_ERROR                       NVAPI Random errors\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_VIO_SyncFormatDetect(NvVioHandle hVioHandle,\n                                           NvU32       *pWait);\n///////////////////////////////////////////////////////////////////////////////\n//!   Function:    NvAPI_VIO_GetConfig\n//!  \n//!   Description: This API gets the graphics-to-video configuration.\n//!  \n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\since Release: 190\n//!  \n//! \\param [in]  NvVioHandle   The caller provides the SDI device handle as input.\n//! \\param [out] pConfig       Pointer to the graphics-to-video configuration\n//!  \n//! \\retval ::NVAPI_OK                           Success\n//! \\retval ::NVAPI_API_NOT_INTIALIZED           NVAPI Not Initialized\n//! \\retval ::NVAPI_INVALID_ARGUMENT             Arguments passed to API are not valid\n//! \\retval ::NVAPI_INCOMPATIBLE_STRUCT_VERSION  Invalid structure version\n//! \\retval ::NVAPI_NOT_SUPPORTED                Video I/O not supported\n//! \\retval ::NVAPI_ERROR                        NVAPI Random errors\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_VIO_GetConfig(NvVioHandle        hVioHandle,\n                                    NVVIOCONFIG        *pConfig); \n\n///////////////////////////////////////////////////////////////////////////////\n//!   Function:    NvAPI_VIO_SetConfig\n//!  \n//!   Description: This API sets the graphics-to-video configuration.\n//!  \n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\since Release: 190\n//!  \n//! \\param [in]  NvVioHandle      The caller provides the SDI device handle as input.\n//! \\param [in]  pConfig          Pointer to Graphics-to-Video configuration\n//!  \n//! \\retval ::NVAPI_OK                           Success\n//! \\retval ::NVAPI_API_NOT_INTIALIZED           NVAPI Not Initialized\n//! \\retval ::NVAPI_INVALID_ARGUMENT             Arguments passed to API are not valid\n//! \\retval ::NVAPI_INCOMPATIBLE_STRUCT_VERSION  Stucture version invalid\n//! \\retval ::NVAPI_NOT_SUPPORTED                Video I/O not supported\n//! \\retval ::NVAPI_ERROR                        NVAPI Random errors\n//! \\retval ::NVAPI_DEVICE_BUSY                  Access denied for requested access\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_VIO_SetConfig(NvVioHandle            hVioHandle,\n                                    const NVVIOCONFIG      *pConfig);\n\n///////////////////////////////////////////////////////////////////////////////\n//!   Function:    NvAPI_VIO_SetCSC\n//!  \n//!   Description: This API sets the colorspace conversion parameters.\n//!  \n//! \\deprecated  Do not use this function - it is deprecated in release 290. Instead, use NvAPI_VIO_SetConfig.\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\since Release: 190\n//!\n//! \\param [in]  NvVioHandle      The caller provides the SDI device handle as input.\n//! \\param [in]  pCSC             Pointer to CSC parameters\n//!  \n//! \\retval ::NVAPI_OK                           Success\n//! \\retval ::NVAPI_API_NOT_INTIALIZED           NVAPI Not Initialized\n//! \\retval ::NVAPI_INVALID_ARGUMENT             Arguments passed to API are not valid\n//! \\retval ::NVAPI_INCOMPATIBLE_STRUCT_VERSION  Stucture version invalid\n//! \\retval ::NVAPI_NOT_SUPPORTED                Video I/O not supported\n//! \\retval ::NVAPI_ERROR                        NVAPI Random errors\n//! \\retval ::NVAPI_DEVICE_BUSY                  Access denied for requested access\n////////////////////////////////////////////////////////////////////////////////----\n__nvapi_deprecated_function(\"Do not use this function - it is deprecated in release 290. Instead, use NvAPI_VIO_SetConfig.\")\nNVAPI_INTERFACE NvAPI_VIO_SetCSC(NvVioHandle           hVioHandle,\n                                 NVVIOCOLORCONVERSION  *pCSC);\n////////////////////////////////////////////////////////////////////////////////\n//!   Function:    NvAPI_VIO_GetCSC\n//! \n//!   Description: This API gets the colorspace conversion parameters.\n//!\n//! \\deprecated  Do not use this function - it is deprecated in release 290. Instead, use NvAPI_VIO_GetConfig.\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\since Release: 190\n//!\n//! \\param [in]  NvVioHandle      The caller provides the SDI device handle as input.\n//! \\param [out] pCSC             Pointer to CSC parameters\n//! \n//! \\retval ::NVAPI_OK                           Success\n//! \\retval ::NVAPI_API_NOT_INTIALIZED           NVAPI Not Initialized\n//! \\retval ::NVAPI_INVALID_ARGUMENT             Arguments passed to API are not valid\n//! \\retval ::NVAPI_INCOMPATIBLE_STRUCT_VERSION  Stucture version invalid\n//! \\retval ::NVAPI_NOT_SUPPORTED                Video I/O not supported\n//! \\retval ::NVAPI_ERROR                        NVAPI Random errors\n////////////////////////////////////////////////////////////////////////////////\n__nvapi_deprecated_function(\"Do not use this function - it is deprecated in release 290. Instead, use NvAPI_VIO_GetConfig.\")\nNVAPI_INTERFACE NvAPI_VIO_GetCSC(NvVioHandle           hVioHandle,\n                                 NVVIOCOLORCONVERSION  *pCSC);\n///////////////////////////////////////////////////////////////////////////////\n//!   Function:    NvAPI_VIO_SetGamma\n//! \n//!   Description: This API sets the gamma conversion parameters.\n//! \n//! \\deprecated  Do not use this function - it is deprecated in release 290. Instead, use NvAPI_VIO_SetConfig.\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\since Release: 190\n//!\n//! \\param [in]  NvVioHandle       The caller provides the SDI device handle as input.\n//! \\param [in]  pGamma            Pointer to gamma parameters\n//! \n//! \\retval ::NVAPI_OK                           Success\n//! \\retval ::NVAPI_API_NOT_INTIALIZED           NVAPI Not Initialized\n//! \\retval ::NVAPI_INVALID_ARGUMENT             Arguments passed to API are not valid\n//! \\retval ::NVAPI_INCOMPATIBLE_STRUCT_VERSION  Stucture version invalid\n//! \\retval ::NVAPI_NOT_SUPPORTED                Video I/O not supported\n//! \\retval ::NVAPI_ERROR                        NVAPI Random errors\n//! \\retval ::NVAPI_DEVICE_BUSY                  Access denied for requested access\n///////////////////////////////////////////////////////////////////////////////\n__nvapi_deprecated_function(\"Do not use this function - it is deprecated in release 290. Instead, use NvAPI_VIO_SetConfig.\")\nNVAPI_INTERFACE NvAPI_VIO_SetGamma(NvVioHandle           hVioHandle,\n                                   NVVIOGAMMACORRECTION  *pGamma);\n\n///////////////////////////////////////////////////////////////////////////////\n//!   Function:    NvAPI_VIO_GetGamma\n//! \n//!   Description: This API gets the gamma conversion parameters.\n//! \n//! \\deprecated  Do not use this function - it is deprecated in release 290. Instead, use NvAPI_VIO_GetConfig.\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\since Release: 190\n//!\n//! \\param [in]  NvVioHandle      The caller provides the SDI device handle as input.\n//! \\param [out] pGamma           Pointer to gamma parameters\n//! \n//! \\retval ::NVAPI_OK                           Success\n//! \\retval ::NVAPI_API_NOT_INTIALIZED           NVAPI Not Initialized\n//! \\retval ::NVAPI_INVALID_ARGUMENT             Arguments passed to API are not valid\n//! \\retval ::NVAPI_INCOMPATIBLE_STRUCT_VERSION  Stucture version invalid\n//! \\retval ::NVAPI_NOT_SUPPORTED                Video I/O not supported\n//! \\retval ::NVAPI_ERROR                        NVAPI Random errors\n///////////////////////////////////////////////////////////////////////////////\n__nvapi_deprecated_function(\"Do not use this function - it is deprecated in release 290. Instead, use NvAPI_VIO_GetConfig.\")\nNVAPI_INTERFACE NvAPI_VIO_GetGamma(NvVioHandle           hVioHandle,\n                                   NVVIOGAMMACORRECTION* pGamma);\n////////////////////////////////////////////////////////////////////////////////\n//!   Function:    NvAPI_VIO_SetSyncDelay\n//! \n//!   Description: This API sets the sync delay parameters.\n//! \n//! \\deprecated  Do not use this function - it is deprecated in release 290. Instead, use NvAPI_VIO_SetConfig.\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\since Release: 190\n//! \n//! \\param [in]  NvVioHandle   The caller provides the SDI device handle as input.\n//! \\param [in]  pSyncDelay    Pointer to sync delay parameters\n//!  \n//! \\retval ::NVAPI_OK                           Success\n//! \\retval ::NVAPI_API_NOT_INTIALIZED           NVAPI Not Initialized\n//! \\retval ::NVAPI_INVALID_ARGUMENT             Arguments passed to API are not valid\n//! \\retval ::NVAPI_INCOMPATIBLE_STRUCT_VERSION  Stucture version invalid\n//! \\retval ::NVAPI_ERROR                        NVAPI Random errors\n//! \\retval ::NVAPI_DEVICE_BUSY                  Access denied for requested access\n///////////////////////////////////////////////////////////////////////////////\n__nvapi_deprecated_function(\"Do not use this function - it is deprecated in release 290. Instead, use NvAPI_VIO_SetConfig.\")\nNVAPI_INTERFACE NvAPI_VIO_SetSyncDelay(NvVioHandle            hVioHandle,\n                                       const NVVIOSYNCDELAY   *pSyncDelay);\n\n////////////////////////////////////////////////////////////////////////////////\n//!   Function:    NvAPI_VIO_GetSyncDelay\n//! \n//!   Description: This API gets the sync delay parameters.\n//! \n//! \\deprecated  Do not use this function - it is deprecated in release 290. Instead, use NvAPI_VIO_GetConfig.\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\since Release: 190\n//! \n//! \\param [in]  NvVioHandle      The caller provides the SDI device handle as input.\n//! \\param [out] pSyncDelay       Pointer to sync delay parameters\n//! \n//! \\retval ::NVAPI_OK                           Success\n//! \\retval ::NVAPI_API_NOT_INTIALIZED           NVAPI Not Initialized\n//! \\retval ::NVAPI_INVALID_ARGUMENT             Arguments passed to API are not valid\n//! \\retval ::NVAPI_INCOMPATIBLE_STRUCT_VERSION  Stucture version invalid\n//! \\retval ::NVAPI_ERROR                        NVAPI Random errors\n///////////////////////////////////////////////////////////////////////////////\n__nvapi_deprecated_function(\"Do not use this function - it is deprecated in release 290. Instead, use NvAPI_VIO_GetConfig.\")\nNVAPI_INTERFACE NvAPI_VIO_GetSyncDelay(NvVioHandle      hVioHandle,\n                                       NVVIOSYNCDELAY   *pSyncDelay);\n\ntypedef enum _NVVIOPCILINKRATE\n{\n    NVVIOPCILINKRATE_UNKNOWN          = 0,\n    NVVIOPCILINKRATE_GEN1             = 1,                    //<! 2.5 Gbps.\n    NVVIOPCILINKRATE_GEN2             = 2,                    //<! 5 Gbps.\n    NVVIOPCILINKRATE_GEN3             = 3,                    //<! 8 Gbps.\n}NVVIOPCILINKRATE;\n\ntypedef enum _NVVIOPCILINKWIDTH\n{\n    NVVIOPCILINKWIDTH_UNKNOWN         = 0,\n    NVVIOPCILINKWIDTH_x1              = 1,\n    NVVIOPCILINKWIDTH_x2              = 2,\n    NVVIOPCILINKWIDTH_x4              = 4,\n    NVVIOPCILINKWIDTH_x8              = 8,\n    NVVIOPCILINKWIDTH_x16            = 16,\n}NVVIOPCILINKWIDTH;\n\ntypedef struct _NVVIOPCIINFO\n{\n    NvU32                     version;                            //!< Structure version\n    \n    NvU32                   pciDeviceId;                        //!< specifies the internal PCI device identifier for the GVI.\n    NvU32                   pciSubSystemId;                        //!< specifies the internal PCI subsystem identifier for the GVI.\n    NvU32                   pciRevisionId;                        //!< specifies the internal PCI device-specific revision identifier for the GVI.\n    NvU32                   pciDomain;                            //!< specifies the PCI domain of the GVI device.\n    NvU32                   pciBus;                                //!< specifies the PCI bus number of the GVI device.\n    NvU32                   pciSlot;                            //!< specifies the PCI slot number of the GVI device.\n    NVVIOPCILINKWIDTH       pciLinkWidth;                        //!< specifies the the negotiated PCIE link width.\n    NVVIOPCILINKRATE           pciLinkRate;                        //!< specifies the the negotiated PCIE link rate.\n} NVVIOPCIINFO_V1;\n\ntypedef NVVIOPCIINFO_V1                                         NVVIOPCIINFO;\n#define NVVIOPCIINFO_VER1                                          MAKE_NVAPI_VERSION(NVVIOPCIINFO_V1,1)\n#define NVVIOPCIINFO_VER                                        NVVIOPCIINFO_VER1\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_VIO_GetPCIInfo()\n//\n// DESCRIPTION:   This API gets PCI information of the attached SDI(input) capture card.\n//\n// PARAMETERS:      hVioHandle    (IN)    - Handle to SDI capture card.\n//                  pVioPCIInfo    (OUT)    - PCI information of the attached SDI capture card.\n//\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//\n// RETURN STATUS: This API can return any of the error codes enumerated in #NvAPI_Status. If there are return error codes with \n//                specific meaning for this API, they are listed below.\n//\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_VIO_GetPCIInfo(__in NvVioHandle hVioHandle, \n                                            __inout NVVIOPCIINFO* pVioPCIInfo);\n\n////////////////////////////////////////////////////////////////////////////////\n//!   Function:    NvAPI_VIO_IsRunning\n//! \n//!   Description: This API determines if Video I/O is running.\n//! \n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\since Release: 190\n//! \n//! \\param [in]  NvVioHandle[IN]          The caller provides the SDI device handle as input.\n//! \n//! \\retval ::NVAPI_DRIVER_RUNNING        Video I/O running\n//! \\retval ::NVAPI_DRIVER_NOTRUNNING     Video I/O not running\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_VIO_IsRunning(NvVioHandle   hVioHandle);\n\n///////////////////////////////////////////////////////////////////////////////\n//!   Function:    NvAPI_VIO_Start\n//! \n//!   Description: This API starts Video I/O.\n//!              This API should be called for NVVIOOWNERTYPE_DESKTOP only and will not work for OGL applications.\n//! \n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\since Release: 190\n//!\n//! \\param [in]  NvVioHandle[IN]     The caller provides the SDI device handle as input.\n//! \n//! \\retval ::NVAPI_OK                           Success\n//! \\retval ::NVAPI_API_NOT_INTIALIZED           NVAPI Not Initialized\n//! \\retval ::NVAPI_INVALID_ARGUMENT             Arguments passed to API are not valid\n//! \\retval ::NVAPI_NOT_SUPPORTED                Video I/O not supported\n//! \\retval ::NVAPI_ERROR                        NVAPI Random errors\n//! \\retval ::NVAPI_DEVICE_BUSY                  Access denied for requested access\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_VIO_Start(NvVioHandle     hVioHandle);\n\n///////////////////////////////////////////////////////////////////////////////\n//!   Function:    NvAPI_VIO_Stop\n//! \n//!   Description: This API stops Video I/O.\n//!              This API should be called for NVVIOOWNERTYPE_DESKTOP only and will not work for OGL applications.\n//! \n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\since Release: 190\n//! \n//! \\param [in]  NvVioHandle[IN]     The caller provides the SDI device handle as input.\n//! \n//! \\retval ::NVAPI_OK                           Success\n//! \\retval ::NVAPI_API_NOT_INTIALIZED           NVAPI Not Initialized\n//! \\retval ::NVAPI_INVALID_ARGUMENT             Arguments passed to API are not valid\n//! \\retval ::NVAPI_NOT_SUPPORTED                Video I/O not supported\n//! \\retval ::NVAPI_ERROR                        NVAPI Random errors\n//! \\retval ::NVAPI_DEVICE_BUSY                  Access denied for requested access\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_VIO_Stop(NvVioHandle     hVioHandle);\n\n\n///////////////////////////////////////////////////////////////////////////////\n//!   Function:    NvAPI_VIO_IsFrameLockModeCompatible\n//! \n//!   Description: This API checks whether modes are compatible in frame lock mode.\n//! \n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\since Release: 190\n//! \n//! \\param [in]   NvVioHandle          The caller provides the SDI device handle as input.\n//! \\param [in]   srcEnumIndex         Source Enumeration index\n//! \\param [in]   destEnumIndex        Destination Enumeration index\n//! \\param [out]  pbCompatible         Pointer to receive compatibility\n//! \n//! \\retval ::NVAPI_OK                           Success\n//! \\retval ::NVAPI_API_NOT_INTIALIZED           NVAPI Not Initialized\n//! \\retval ::NVAPI_INVALID_ARGUMENT             Arguments passed to API are not valid\n//! \\retval ::NVAPI_NOT_SUPPORTED                Video I/O not supported\n//! \\retval ::NVAPI_ERROR                        NVAPI Random errors\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_VIO_IsFrameLockModeCompatible(NvVioHandle              hVioHandle,\n                                                    NvU32                    srcEnumIndex,\n                                                    NvU32                    destEnumIndex,\n                                                    NvU32*                   pbCompatible);\n\n\n///////////////////////////////////////////////////////////////////////////////\n//!   Function:    NvAPI_VIO_EnumDevices\n//! \n//!   Description: This API enumerate all VIO devices connected to the system.\n//! \n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\since Release: 190\n//!\n//! \\param [out]  NvVioHandle                  User passes the pointer of NvVioHandle[] array to get handles to\n//!                                            all the connected video I/O devices.\n//! \\param [out]  vioDeviceCount               User gets total number of VIO devices connected to the system.\n//! \n//! \\retval ::NVAPI_OK                         Success\n//! \\retval ::NVAPI_API_NOT_INTIALIZED         NVAPI Not Initialized\n//! \\retval ::NVAPI_INVALID_ARGUMENT           Arguments passed to API are not valid\n//! \\retval ::NVAPI_ERROR                      NVAPI Random errors\n//! \\retval ::NVAPI_NVIDIA_DEVICE_NOT_FOUND    No SDI Device found\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_VIO_EnumDevices(NvVioHandle       hVioHandle[NVAPI_MAX_VIO_DEVICES],\n                                      NvU32             *vioDeviceCount);\n                                                                                          \n\n///////////////////////////////////////////////////////////////////////////////\n//!   Function:    NvAPI_VIO_QueryTopology\n//! \n//!   Description: This API queries the valid SDI topologies.\n//! \n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\since Release: 190\n//!\n//! \\param [out] pNvVIOTopology     User passes the pointer to NVVIOTOPOLOGY to fetch all valid SDI topologies.\n//! \n//! \\retval ::NVAPI_OK                           Success\n//! \\retval ::NVAPI_API_NOT_INTIALIZED           NVAPI Not Initialized\n//! \\retval ::NVAPI_INVALID_ARGUMENT             Arguments passed to API are not valid\n//! \\retval ::NVAPI_INCOMPATIBLE_STRUCT_VERSION  Invalid structure version\n//! \\retval ::NVAPI_ERROR                        NVAPI Random errors\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_VIO_QueryTopology(NV_VIO_TOPOLOGY   *pNvVIOTopology);\n\n\n///////////////////////////////////////////////////////////////////////////////\n//!   Function:    NvAPI_VIO_EnumSignalFormats\n//! \n//!   Description: This API enumerates signal formats supported by Video I/O.\n//! \n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\since Release: 190\n//!\n//! \\param [in]   NvVioHandle          The caller provides the SDI device handle as input.\n//! \\param [in]   enumIndex            Enumeration index\n//! \\param [out]  pSignalFormatDetail  Pointer to receive detail or NULL\n//! \n//! \\retval ::NVAPI_OK                  Success\n//! \\retval ::NVAPI_API_NOT_INTIALIZED  NVAPI not initialized\n//! \\retval ::NVAPI_INVALID_ARGUMENT    Invalid argument passed\n//! \\retval ::NVAPI_END_ENUMERATION     No more signal formats to enumerate\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_VIO_EnumSignalFormats(NvVioHandle              hVioHandle,\n                                            NvU32                    enumIndex,\n                                            NVVIOSIGNALFORMATDETAIL  *pSignalFormatDetail);\n\n///////////////////////////////////////////////////////////////////////////////\n//!   Function:    NvAPI_VIO_EnumDataFormats\n//! \n//!   Description: This API enumerates data formats supported by Video I/O.\n//! \n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\since Release: 190\n//! \n//! \\param [in]  NvVioHandle         The caller provides the SDI device handle as input.\n//! \\param [in]  enumIndex           Enumeration index\n//! \\param [out] pDataFormatDetail   Pointer to receive detail or NULL\n//! \n//! \\retval ::NVAPI_OK                Success\n//! \\retval ::NVAPI_END_ENUMERATION   No more data formats to enumerate\n//! \\retval ::NVAPI_NOT_SUPPORTED     Unsupported NVVIODATAFORMAT_ enumeration\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_VIO_EnumDataFormats(NvVioHandle            hVioHandle,\n                                          NvU32                  enumIndex,\n                                          NVVIODATAFORMATDETAIL  *pDataFormatDetail);\n                                                                                      \n\n//! @}\n\n\n\n\n///////////////////////////////////////////////////////////////////////////////////\n//  CAMERA TEST API\n//  These APIs allows test apps to perform low level camera tests\n\n//! \\addtogroup vidio\n//! @{\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_Stereo_CreateConfigurationProfileRegistryKey\n//\n//! \\fn NvAPI_Stereo_CreateConfigurationProfileRegistryKey(NV_STEREO_REGISTRY_PROFILE_TYPE registryProfileType)\n//!\n//! DESCRIPTION:   Creates new configuration registry key for current application.\n//!\n//!                If there is no configuration profile prior to the function call,\n//!                this API tries to create a new configuration profile registry key\n//!                for a given application and fill it with the default values.\n//!                If an application already has a configuration profile registry key, the API does nothing.\n//!                The name of the key is automatically set to the name of the executable that calls this function.\n//!                Because of this, the executable should have a distinct and unique name.\n//!                If the application is using only one version of DirectX, then the default profile type will be appropriate.\n//!                If the application is using more than one version of DirectX from the same executable,\n//!                it should use the appropriate profile type for each configuration profile.\n//!\n//! HOW TO USE:    When there is a need for an application to have default stereo parameter values,\n//!                use this function to create a key to store the values.\n//!\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n//!\n//! \\since Release: 180\n//!\n//! \\param [in]    registryProfileType  Type of profile the application wants to create. It should be one of the symbolic constants defined in\n//!                                     ::NV_STEREO_REGISTRY_PROFILE_TYPE. Any other value will cause function to do nothing and return\n//!                                     ::NV_STEREO_REGISTRY_PROFILE_TYPE_NOT_SUPPORTED.\n//!\n//! \\retval ::NVAPI_OK                                           Key exists in the registry.\n//! \\retval ::NVAPI_STEREO_REGISTRY_PROFILE_TYPE_NOT_SUPPORTED   This profile type is not supported.\n//! \\retval ::NVAPI_STEREO_REGISTRY_ACCESS_FAILED                Access to registry failed.\n//! \\retval ::NVAPI_API_NOT_INTIALIZED           \n//! \\retval ::NVAPI_STEREO_NOT_INITIALIZED                       Stereo part of NVAPI not initialized.\n//! \\retval ::NVAPI_ERROR \n//!\n///////////////////////////////////////////////////////////////////////////////\n\n\n//! \\ingroup stereoapi\n//! Used in NvAPI_Stereo_CreateConfigurationProfileRegistryKey() \ntypedef enum _NV_StereoRegistryProfileType\n{\n    NVAPI_STEREO_DEFAULT_REGISTRY_PROFILE, //!< Default registry configuration profile.\n    NVAPI_STEREO_DX9_REGISTRY_PROFILE,     //!< Separate registry configuration profile for a DirectX 9 executable.\n    NVAPI_STEREO_DX10_REGISTRY_PROFILE     //!< Separate registry configuration profile for a DirectX 10 executable.\n} NV_STEREO_REGISTRY_PROFILE_TYPE;\n\n\n//! \\ingroup stereoapi\nNVAPI_INTERFACE NvAPI_Stereo_CreateConfigurationProfileRegistryKey(NV_STEREO_REGISTRY_PROFILE_TYPE registryProfileType);\n\n\n\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_Stereo_DeleteConfigurationProfileRegistryKey\n//\n//! DESCRIPTION:   Removes configuration registry key for current application.\n//!\n//!                If an application already has a configuration profile prior to this function call,\n//!                the function attempts to remove the application's configuration profile registry key from the registry.\n//!                If there is no configuration profile registry key prior to the function call,\n//!                the function does nothing and does not report an error.\n//!\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n//!\n//! \\since Release: 180\n//!\n//! \\param [in]   registryProfileType   Type of profile that the application wants to delete. This should be one of the symbolic \n//!                                     constants defined in ::NV_STEREO_REGISTRY_PROFILE_TYPE. Any other value will cause the function \n//!                                     to do nothing and return ::NV_STEREO_REGISTRY_PROFILE_TYPE_NOT_SUPPORTED.\n//!\n//! \\retval ::NVAPI_OK                                           Key does not exist in the registry any more.\n//! \\retval ::NVAPI_STEREO_REGISTRY_PROFILE_TYPE_NOT_SUPPORTED   This profile type is not supported.\n//! \\retval ::NVAPI_STEREO_REGISTRY_ACCESS_FAILED                Access to registry failed.\n//! \\retval ::NVAPI_API_NOT_INTIALIZED                           NVAPI is not initialized.\n//! \\retval ::NVAPI_STEREO_NOT_INITIALIZED                       Stereo part of NVAPI is not initialized.\n//! \\retval ::NVAPI_ERROR \n//!\n//! \\ingroup stereoapi\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_Stereo_DeleteConfigurationProfileRegistryKey(NV_STEREO_REGISTRY_PROFILE_TYPE registryProfileType);\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_Stereo_SetConfigurationProfileValue\n//\n//! \\fn NvAPI_Stereo_SetConfigurationProfileValue(NV_STEREO_REGISTRY_PROFILE_TYPE registryProfileType, NV_STEREO_REGISTRY_ID valueRegistryID, void *pValue)\n//!\n//! DESCRIPTION:   This API sets the given parameter value under the application's registry key.\n//!\n//!                If the value does not exist under the application's registry key,\n//!                the value will be created under the key.\n//!\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n//!\n//! \\since Release: 180\n//!\n//! \\param [in]     registryProfileType  The type of profile the application wants to access. It should be one of the \n//!                                      symbolic constants defined in ::NV_STEREO_REGISTRY_PROFILE_TYPE. Any other value \n//!                                      will cause function to do nothing and return ::NV_STEREO_REGISTRY_PROFILE_TYPE_NOT_SUPPORTED.\n//! \\param [in]     valueRegistryID      ID of the value that is being set. It should be one of the symbolic constants defined in\n//!                                      ::NV_STEREO_REGISTRY_PROFILE_TYPE. Any other value will cause function to do nothing\n//!                                      and return ::NVAPI_STEREO_REGISTRY_VALUE_NOT_SUPPORTED.\n//! \\param [in]     pValue               Address of the value that is being set. It should be either address of a DWORD or of a float,\n//!                                      dependent on the type of the stereo parameter whose value is being set. The API will then cast that\n//!                                      address to DWORD* and write whatever is in those 4 bytes as a DWORD to the registry.\n//!\n//! \\retval ::NVAPI_OK                                           Value is written to registry.\n//! \\retval ::NVAPI_STEREO_REGISTRY_PROFILE_TYPE_NOT_SUPPORTED   This profile type is not supported.\n//! \\retval ::NVAPI_STEREO_REGISTRY_VALUE_NOT_SUPPORTED          This value is not supported.\n//! \\retval ::NVAPI_STEREO_REGISTRY_ACCESS_FAILED                Access to registry failed.\n//! \\retval ::NVAPI_API_NOT_INTIALIZED                           NVAPI is not initialized.\n//! \\retval ::NVAPI_STEREO_NOT_INITIALIZED                       Stereo part of NVAPI is not initialized.\n//! \\retval ::NVAPI_ERROR                                        Something is wrong (generic error).\n//\n///////////////////////////////////////////////////////////////////////////////\n\n\n//! \\ingroup stereoapi\n//! Used in NvAPI_Stereo_SetConfigurationProfileValue()\ntypedef enum _NV_StereoRegistryID\n{\n    NVAPI_CONVERGENCE_ID,         //!< Symbolic constant for convergence registry ID.\n    NVAPI_FRUSTUM_ADJUST_MODE_ID, //!< Symbolic constant for frustum adjust mode registry ID.\n} NV_STEREO_REGISTRY_ID;\n\n\n//! \\ingroup stereoapi\nNVAPI_INTERFACE NvAPI_Stereo_SetConfigurationProfileValue(NV_STEREO_REGISTRY_PROFILE_TYPE registryProfileType, NV_STEREO_REGISTRY_ID valueRegistryID, void *pValue);\n\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_Stereo_DeleteConfigurationProfileValue\n//\n//! DESCRIPTION:   This API removes the given value from the application's configuration profile registry key.\n//!                If there is no such value, the function does nothing and does not report an error.\n//!\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n//!\n//! \\since Release: 180\n//!\n//! \\param [in]     registryProfileType   The type of profile the application wants to access. It should be one of the \n//!                                       symbolic constants defined in ::NV_STEREO_REGISTRY_PROFILE_TYPE. Any other value will \n//!                                       cause function to do nothing and return ::NV_STEREO_REGISTRY_PROFILE_TYPE_NOT_SUPPORTED.\n//! \\param [in]     valueRegistryID       ID of the value that is being deleted. It should be one of the symbolic constants defined in\n//!                                       ::NV_STEREO_REGISTRY_PROFILE_TYPE. Any other value will cause function to do nothing and return\n//!                                       ::NVAPI_STEREO_REGISTRY_VALUE_NOT_SUPPORTED.\n//!\n//! \\retval ::NVAPI_OK                                           Value does not exist in registry any more.\n//! \\retval ::NVAPI_STEREO_REGISTRY_PROFILE_TYPE_NOT_SUPPORTED   This profile type is not supported.\n//! \\retval ::NVAPI_STEREO_REGISTRY_VALUE_NOT_SUPPORTED          This value is not supported.\n//! \\retval ::NVAPI_STEREO_REGISTRY_ACCESS_FAILED                Access to registry failed.\n//! \\retval ::NVAPI_API_NOT_INTIALIZED \n//! \\retval ::NVAPI_STEREO_NOT_INITIALIZED                       Stereo part of NVAPI not initialized.\n//! \\retval ::NVAPI_ERROR \n//!\n//! \\ingroup stereoapi\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_Stereo_DeleteConfigurationProfileValue(NV_STEREO_REGISTRY_PROFILE_TYPE registryProfileType, NV_STEREO_REGISTRY_ID valueRegistryID);\n\n\n\n\n\n\n//! \\addtogroup stereoapi\n//! @{\n\ntypedef struct _NVAPI_STEREO_CAPS\n{\n    NvU32 version;\n    NvU32 supportsWindowedModeOff        : 1;\n    NvU32 supportsWindowedModeAutomatic  : 1;\n    NvU32 supportsWindowedModePersistent : 1;\n    NvU32 reserved                       : 29;  // must be 0\n    NvU32 reserved2[3];                         // must be 0\n} NVAPI_STEREO_CAPS_V1;\n\n#define NVAPI_STEREO_CAPS_VER1  MAKE_NVAPI_VERSION(NVAPI_STEREO_CAPS,1)\n#define NVAPI_STEREO_CAPS_VER   NVAPI_STEREO_CAPS_VER1\n\ntypedef NVAPI_STEREO_CAPS_V1    NVAPI_STEREO_CAPS;\n\n//! @}\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_Stereo_GetStereoSupport\n//\n//! DESCRIPTION:  This API checks what kind of stereo support is currently supported on a particular display.\n//!               If the the display is prohibited from showing stereo (e.g. secondary in a multi-mon setup), we will \n//!               return 0 for all stereo modes (full screen exclusive, automatic windowed, persistent windowed).\n//!               Otherwise, we will check which stereo mode is supported. On 120Hz display, this will be what\n//!               the user chooses in control panel. On HDMI 1.4 display, persistent windowed mode is always assumed to be\n//!               supported. Note that this function does not check if the CURRENT RESOLUTION/REFRESH RATE can support\n//!               stereo. For HDMI 1.4, it is the app's responsibility to change the resolution/refresh rate to one that is\n//!               3D compatible. For 120Hz, the driver will ALWAYS force 120Hz anyway.\n//!\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n//!\n//! \\since Release: 304\n//!\n//! \\param [in]     hMonitor handle to monitor that app is going to run on\n//! \\param [out]    pCaps    Address where the result of the inquiry will be placed.\n//!                          *pCaps is defined in NVAPI_STEREO_CAPS.\n//! \\return       This API can return any of the following error codes enumerated in #NvAPI_Status\n//! \\retval ::NVAPI_OK\n//!\n//! \\ingroup stereoapi\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_Stereo_GetStereoSupport(__in NvMonitorHandle hMonitor, __out NVAPI_STEREO_CAPS *pCaps);\n\n\n\n\n\n\n\n\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_Stereo_DecreaseSeparation\n//\n//! DESCRIPTION:   This API decreases separation for the given device interface (just like the Ctrl+F3 hotkey). \n//!\n//! WHEN TO USE:   After the stereo handle for device interface is created via successfull call to the appropriate NvAPI_Stereo_CreateHandleFrom() function.\n//!\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n//!\n//! \\since Release: 180\n//!\n//! \\param [in]   stereoHandle  Stereo handle that corresponds to the device interface.\n//!\n//! \\retval ::NVAPI_OK - Decrease of separation percentage was successfull.\n//! \\retval ::NVAPI_STEREO_INVALID_DEVICE_INTERFACE - Device interface is not valid. Create again, then attach again.\n//! \\retval ::NVAPI_API_NOT_INTIALIZED - NVAPI not initialized.\n//! \\retval ::NVAPI_STEREO_NOT_INITIALIZED - Stereo part of NVAPI not initialized.\n//! \\retval ::NVAPI_ERROR - Something is wrong (generic error).\n//!\n//! \\ingroup stereoapi\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_Stereo_DecreaseSeparation(StereoHandle stereoHandle);\n\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_Stereo_IncreaseSeparation\n//\n//! DESCRIPTION:   This API increases separation for the given device interface (just like the Ctrl+F4 hotkey).\n//!\n//! WHEN TO USE:   After the stereo handle for the device interface is created via successfull call to the appropriate NvAPI_Stereo_CreateHandleFrom() function.\n//!\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n//!\n//! \\since Release: 180\n//!\n//! \\param [in]    stereoHandle  Stereo handle that corresponds to the device interface.\n//!\n//! \\retval ::NVAPI_OK                               Increase of separation percentage was successfull.\n//! \\retval ::NVAPI_STEREO_INVALID_DEVICE_INTERFACE  Device interface is not valid. Create again, then attach again.\n//! \\retval ::NVAPI_API_NOT_INTIALIZED               NVAPI not initialized.\n//! \\retval ::NVAPI_STEREO_NOT_INITIALIZED           Stereo part of NVAPI not initialized.\n//! \\retval ::NVAPI_ERROR                            Something is wrong (generic error).\n//!\n//! \\ingroup stereoapi\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_Stereo_IncreaseSeparation(StereoHandle stereoHandle);\n\n\n\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_Stereo_DecreaseConvergence\n//\n//! DESCRIPTION:   This API decreases convergence for the given device interface (just like the Ctrl+F5 hotkey). \n//!\n//! WHEN TO USE:   After the stereo handle for the device interface is created via successfull call to the appropriate NvAPI_Stereo_CreateHandleFrom() function.\n//!\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n//!\n//! \\since Release: 180\n//!\n//! \\param [in]     stereoHandle  Stereo handle that corresponds to the device interface.\n//!\n//! \\retval ::NVAPI_OK - Decrease of convergence was successfull.\n//! \\retval ::NVAPI_STEREO_INVALID_DEVICE_INTERFACE - Device interface is not valid. Create again, then attach again.\n//! \\retval ::NVAPI_API_NOT_INTIALIZED - NVAPI not initialized.\n//! \\retval ::NVAPI_STEREO_NOT_INITIALIZED - Stereo part of NVAPI not initialized.\n//! \\retval ::NVAPI_ERROR - Something is wrong (generic error).\n//!\n//! \\ingroup stereoapi\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_Stereo_DecreaseConvergence(StereoHandle stereoHandle);\n\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_Stereo_IncreaseConvergence\n//\n//! DESCRIPTION:   This API increases convergence for given the device interface (just like the Ctrl+F5 hotkey). \n//!\n//! WHEN TO USE:   After the stereo handle for the device interface is created via successfull call to the appropriate NvAPI_Stereo_CreateHandleFrom() function.\n//!\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n//!\n//! \\since Release: 180\n//!\n//! \\param [in]    stereoHandle  Stereo handle that corresponds to the device interface.\n//!\n//! \\retval ::NVAPI_OK                               Increase of convergence was successfull.\n//! \\retval ::NVAPI_STEREO_INVALID_DEVICE_INTERFACE  Device interface is not valid. Create again, then attach again.\n//! \\retval ::NVAPI_API_NOT_INTIALIZED \n//! \\retval ::NVAPI_STEREO_NOT_INITIALIZED           Stereo part of NVAPI not initialized.\n//! \\retval ::NVAPI_ERROR \n//!\n//! \\ingroup stereoapi\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_Stereo_IncreaseConvergence(StereoHandle stereoHandle);\n\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_Stereo_GetFrustumAdjustMode\n//\n//! \\fn NvAPI_Stereo_GetFrustumAdjustMode(StereoHandle stereoHandle, NV_FRUSTUM_ADJUST_MODE *pFrustumAdjustMode)\n//! DESCRIPTION:   This API gets the current frustum adjust mode value. \n//!\n//! WHEN TO USE:   After the stereo handle for the device interface is created via successfull call to the appropriate NvAPI_Stereo_CreateHandleFrom() function.\n//!\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n//!\n//! \\since Release: 180\n//!\n//! \\param [in]     stereoHandle         Stereo handle that corresponds to the device interface.\n//! \\param [out]    pFrustumAdjustMode   Address of the NV_FRUSTUM_ADJUST_MODE type variable to store current frustum value in.\n//!\n//! \\retval ::NVAPI_OK - Retrieval of frustum adjust mode was successfull.\n//! \\retval ::NVAPI_STEREO_INVALID_DEVICE_INTERFACE - Device interface is not valid. Create again, then attach again.\n//! \\retval ::NVAPI_API_NOT_INTIALIZED - NVAPI not initialized.\n//! \\retval ::NVAPI_STEREO_NOT_INITIALIZED - Stereo part of NVAPI not initialized.\n//! \\retval ::NVAPI_ERROR - Something is wrong (generic error).\n//!\n///////////////////////////////////////////////////////////////////////////////\n\n//! \\ingroup stereoapi\n//! Used in NvAPI_Stereo_GetFrustumAdjustMode().\ntypedef enum _NV_FrustumAdjustMode\n{\n    NVAPI_NO_FRUSTUM_ADJUST,    //!< Do not adjust frustum.\n    NVAPI_FRUSTUM_STRETCH,      //!< Stretch images in X.\n    NVAPI_FRUSTUM_CLEAR_EDGES   //!< Clear corresponding edges for each eye.\n} NV_FRUSTUM_ADJUST_MODE;\n\n//! \\ingroup stereoapi\nNVAPI_INTERFACE NvAPI_Stereo_GetFrustumAdjustMode(StereoHandle stereoHandle, NV_FRUSTUM_ADJUST_MODE *pFrustumAdjustMode);\n\n\n\n\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_Stereo_SetFrustumAdjustMode\n//\n//! DESCRIPTION:   This API sets the current frustum adjust mode value. \n//!\n//! WHEN TO USE:   After the stereo handle for the device interface is created via successfull call to the appropriate NvAPI_Stereo_CreateHandleFrom() function.\n//!\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n//!\n//! \\since Release: 180\n//!\n//! \\param [in]     stereoHandle                Stereo handle that corresponds to the device interface.\n//! \\param [in]     newFrustumAdjustModeValue   New value for frustum adjust mode. It should be one of the symbolic constants defined in\n//!                                             ::NV_FRUSTUM_ADJUST_MODE. Any other value will cause function to do nothing and return\n//!                                             ::NVAPI_STEREO_FRUSTUM_ADJUST_MODE_NOT_SUPPORTED.\n//!\n//! \\retval ::NVAPI_OK                                         Retrieval of frustum adjust mode was successfull.\n//! \\retval ::NVAPI_STEREO_INVALID_DEVICE_INTERFACE            Device interface is not valid. Create again, then attach again.\n//! \\retval ::NVAPI_API_NOT_INTIALIZED \n//! \\retval ::NVAPI_STEREO_NOT_INITIALIZED                     Stereo part of NVAPI not initialized.\n//! \\retval ::NVAPI_STEREO_FRUSTUM_ADJUST_MODE_NOT_SUPPORTED   Given frustum adjust mode is not supported.\n//! \\retval ::NVAPI_ERROR \n//!\n//! \\ingroup stereoapi\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_Stereo_SetFrustumAdjustMode(StereoHandle stereoHandle, NV_FRUSTUM_ADJUST_MODE newFrustumAdjustModeValue);\n\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_Stereo_CaptureJpegImage\n//\n//! DESCRIPTION:   This API captures the current stereo image in JPEG stereo format with the given quality.\n//!                Only the last capture call per flip will be effective. \n//!\n//! WHEN TO USE:   After the stereo handle for the device interface is created via successfull call to the appropriate NvAPI_Stereo_CreateHandleFrom() function.\n//!\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n//!\n//! \\since Release: 180\n//!\n//! \\param [in]     stereoHandle  Stereo handle that corresponds to the device interface.\n//! \\param [in]     quality        Quality of the JPEG image to be captured. Integer value betweeen 0 and 100.\n//! \n//! \\retval ::NVAPI_OK                              Image captured.\n//! \\retval ::NVAPI_STEREO_INVALID_DEVICE_INTERFACE Device interface is not valid. Create again, then attach again.\n//! \\retval ::NVAPI_API_NOT_INTIALIZED \n//! \\retval ::NVAPI_STEREO_NOT_INITIALIZED \n//! \\retval ::NVAPI_STEREO_PARAMETER_OUT_OF_RANGE   Given quality is out of [0..100] range.\n//! \\retval ::NVAPI_ERROR \n//!\n//! \\ingroup stereoapi\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_Stereo_CaptureJpegImage(StereoHandle stereoHandle, NvU32 quality);\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_Stereo_InitActivation\n//\n//! DESCRIPTION:   This API allows an application to enable stereo viewing, without the need of a GUID/Key pair\n//!\t\t\t\t   This API cannot be used to enable stereo viewing on 3DTV.\n//!\n//! HOW TO USE:    Call this function immediately after device creation, then follow with a reset. \\n \n//!                Very generically:\n//!                Create Device->Create Stereo Handle->InitActivation->Reset Device\n//!\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n//! \\since Release: 302\n//!\n//! \\param [in]   stereoHandle            Stereo handle corresponding to the device interface.\n//! \\param [in]   bDelayed\t\t\t\t  Use delayed activation\n//!\n//! \\return This API can return any of the error codes enumerated in #NvAPI_Status. \n//!         If there are return error codes with specific meaning for this API, \n//!         they are listed below.\n//! \\retval ::NVAPI_STEREO_NOT_INITIALIZED - Stereo part of NVAPI not initialized.\n//!\n//! \\ingroup stereoapi\n///////////////////////////////////////////////////////////////////////////////\n\n//! \\addtogroup stereoapi\n//! @{\n\n//! InitActivation Flags\ntypedef enum _NVAPI_STEREO_INIT_ACTIVATION_FLAGS\n{\n\tNVAPI_STEREO_INIT_ACTIVATION_IMMEDIATE = 0X00,\n    NVAPI_STEREO_INIT_ACTIVATION_DELAYED = 0x01,\n} NVAPI_STEREO_INIT_ACTIVATION_FLAGS;\n\nNVAPI_INTERFACE NvAPI_Stereo_InitActivation(__in StereoHandle hStereoHandle, __in NVAPI_STEREO_INIT_ACTIVATION_FLAGS flags);\n\n//! @}\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_Stereo_Trigger_Activation\n//\n//! DESCRIPTION:   This API allows an application to trigger creation of a stereo desktop, \n//!\t\t\t\t   in case the creation was stopped on application launch. \n//!\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n//! \\since Release: 302\n//!\n//! \\param [in]   stereoHandle   Stereo handle that corresponds to the device interface.\n//!\n//! \\return This API can return any of the error codes enumerated in #NvAPI_Status. \n//!         If there are return error codes with specific meaning for this API, \n//!         they are listed below.\n//! \\retval ::NVAPI_STEREO_INIT_ACTIVATION_NOT_DONE - Stereo InitActivation not called.\n//! \\retval ::NVAPI_STEREO_NOT_INITIALIZED - Stereo part of NVAPI not initialized.\n//!\n//! \\ingroup stereoapi\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_Stereo_Trigger_Activation(__in StereoHandle hStereoHandle);\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_Stereo_CapturePngImage\n//\n//! DESCRIPTION:   This API captures the current stereo image in PNG stereo format.\n//!                Only the last capture call per flip will be effective. \n//!\n//! WHEN TO USE:   After the stereo handle for the device interface is created via successfull call to the appropriate NvAPI_Stereo_CreateHandleFrom() function.\n//!\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n//!\n//! \\since Release: 180\n//!\n//! \\param [in]     stereoHandle  Stereo handle corresponding to the device interface.\n//!\n//! \\retval ::NVAPI_OK                               Image captured.\n//! \\retval ::NVAPI_STEREO_INVALID_DEVICE_INTERFACE  Device interface is not valid. Create again, then attach again.\n//! \\retval ::NVAPI_API_NOT_INTIALIZED \n//! \\retval ::NVAPI_STEREO_NOT_INITIALIZED           Stereo part of NVAPI not initialized.\n//! \\retval ::NVAPI_ERROR \n//!\n//! \\ingroup stereoapi\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_Stereo_CapturePngImage(StereoHandle stereoHandle);\n\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_Stereo_ReverseStereoBlitControl\n//\n//! DESCRIPTION:   This API turns on/off reverse stereo blit.\n//!\n//! HOW TO USE:    Use after the stereo handle for the device interface is created via successfull call to the appropriate \n//!                NvAPI_Stereo_CreateHandleFrom() function.\n//!                After reversed stereo blit control is turned on, blits from the stereo surface will\n//!                produce the right-eye image in the left side of the destination surface and the left-eye\n//!                image in the right side of the destination surface.\n//!\n//!                In DirectX 9, the destination surface must be created as the render target, and StretchRect must be used.\n//!                Conditions:\n//!                - DstWidth == 2*SrcWidth\n//!                - DstHeight == SrcHeight\n//!                - Src surface is the stereo surface.\n//!                - SrcRect must be {0,0,SrcWidth,SrcHeight}\n//!                - DstRect must be {0,0,DstWidth,DstHeight}\n//!\n//!                In DirectX 10, ResourceCopyRegion must be used. \n//!                Conditions:\n//!                - DstWidth == 2*SrcWidth\n//!                - DstHeight == SrcHeight\n//!                - dstX == 0,\n//!                - dstY == 0,\n//!                - dstZ == 0,\n//!                - SrcBox: left=top=front==0; right==SrcWidth; bottom==SrcHeight; back==1;\n//!\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n//!\n//! \\since Release: 185\n//!\n//! \\param [in]    stereoHandle  Stereo handle corresponding to the device interface.\n//! \\param [in]    TurnOn         != 0 : Turns on \\n \n//!                               == 0 : Turns off \n//!\n//!\n//! \\retval ::NVAPI_OK                                Retrieval of frustum adjust mode was successfull.\n//! \\retval ::NVAPI_STEREO_INVALID_DEVICE_INTERFACE   Device interface is not valid. Create again, then attach again.\n//! \\retval ::NVAPI_API_NOT_INTIALIZED \n//! \\retval ::NVAPI_STEREO_NOT_INITIALIZED            Stereo part of NVAPI not initialized.\n//! \\retval ::NVAPI_ERROR \n//!\n//! \\ingroup stereoapi\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_Stereo_ReverseStereoBlitControl(StereoHandle hStereoHandle, NvU8 TurnOn);\n\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_Stereo_SetNotificationMessage\n//\n//! DESCRIPTION:   This API is a Setup notification message that the stereo driver uses to notify the application\n//!                when the user changes the stereo driver state. \n//!\n//!                When the user changes the stereo state (Activated or Deactivated, separation or conversion)\n//!                the stereo driver posts a defined message with the following parameters:\n//!\n//!                lParam  is the current conversion. (Actual conversion is *(float*)&lParam )\n//!          \n//!                wParam == MAKEWPARAM(l, h) where\n//!                - l == 0 if stereo is deactivated\n//!                - l == 1 if stereo is deactivated\n//!                - h is the current separation. (Actual separation is float(h*100.f/0xFFFF)  \n//!                \n//!                Call this API with NULL hWnd to prohibit notification.\n//!\n//! WHEN TO USE:   Use after the stereo handle for device interface is created via successful call to appropriate\n//!                NvAPI_Stereo_CreateHandleFrom() function.\n//!                \n//!\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n//!\n//! \\since Release: 180\n//!\n//!\n//! \\param [in]     stereoHandle  Stereo handle corresponding to the device interface.\n//! \\param [in]     hWnd          Window HWND that will be notified when the user changes the stereo driver state.\n//!                               Actual HWND must be cast to an NvU64.\n//! \\param [in]     messageID     MessageID of the message that will be posted to hWnd\n//!\n//! \\retval ::NVAPI_OK                                Notification set.\n//! \\retval ::NVAPI_STEREO_INVALID_DEVICE_INTERFACE   Device interface is not valid. Create again, then attach again.\n//! \\retval ::NVAPI_API_NOT_INTIALIZED \n//! \\retval ::NVAPI_STEREO_NOT_INITIALIZED            Stereo part of NVAPI not initialized.\n//! \\retval ::NVAPI_ERROR \n//!\n//! \\ingroup stereoapi\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_Stereo_SetNotificationMessage(StereoHandle hStereoHandle, NvU64 hWnd,NvU64 messageID);\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//! \\ingroup stereoapi\n#define NVAPI_STEREO_QUADBUFFERED_API_VERSION   0x2\n\n//! \\ingroup stereoapi\n typedef enum _NV_StereoSwapChainMode\n {\n   NVAPI_STEREO_SWAPCHAIN_DEFAULT = 0,\n   NVAPI_STEREO_SWAPCHAIN_STEREO = 1,\n   NVAPI_STEREO_SWAPCHAIN_MONO = 2,\n } NV_STEREO_SWAPCHAIN_MODE;\n\n#if defined(__d3d10_h__) || defined(__d3d10_1_h__) || defined(__d3d11_h__)\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_D3D1x_CreateSwapChain\n//\n//! DESCRIPTION: This API allows the user to create a mono or a stereo swap chain.\n//!\n//!          NOTE: NvAPI_D3D1x_CreateSwapChain is a wrapper of the method IDXGIFactory::CreateSwapChain which\n//!                additionally notifies the D3D driver of the mode in which stereo mode the swap chain is to be\n//!                created.\n//!\n//! \\since Release: 285\n//!\n//! SUPPORTED OS:  Windows 7 and higher\n//!\n//!\n//! \\param [in]     hStereoHandle      Stereo handle that corresponds to the device interface.\n//!                                   A pointer to the device that will write 2D images to the swap chain.\n//! \\param [in]     pDesc             A pointer to the swap-chain description (DXGI_SWAP_CHAIN_DESC). This parameter cannot be NULL.\n//! \\param [out]    ppSwapChain       A pointer to the swap chain created.\n//! \\param [in]     mode              The stereo mode fot the swap chain.\n//!                                   NVAPI_STEREO_SWAPCHAIN_DEFAULT \n//!                                   NVAPI_STEREO_SWAPCHAIN_STEREO \n//!                                   NVAPI_STEREO_SWAPCHAIN_MONO \n//!\n//! \\retval ::NVAPI_OK                 The swap chain was created successfully.\n//! \\retval ::NVAPI_ERROR              The operation failed.\n//!\n//! \\ingroup stereoapi\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_D3D1x_CreateSwapChain(StereoHandle hStereoHandle,\n                                            DXGI_SWAP_CHAIN_DESC* pDesc,\n                                            IDXGISwapChain** ppSwapChain,\n                                            NV_STEREO_SWAPCHAIN_MODE mode);\n\n#endif //if defined(__d3d10_h__) || defined(__d3d10_1_h__) || defined(__d3d11_h__)\n\n\n#if defined(_D3D9_H_) //NvAPI_D3D9_CreateSwapChain\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_D3D9_CreateSwapChain\n//\n//! DESCRIPTION: This API allows the user to create a mono or a stereo swap chain.\n//!\n//!          NOTE: NvAPI_D3D9_CreateSwapChain is a wrapper of the method IDirect3DDevice9::CreateAdditionalSwapChain which\n//!                additionally notifies the D3D driver if the swap chain creation mode must be stereo or mono.\n//!\n//!\n//! \\since Release: 285\n//!\n//! SUPPORTED OS:  Windows 7 and higher\n//!\n//!\n//! \\param [in]      hStereoHandle            Stereo handle that corresponds to the device interface.\n//! \\param [in, out] pPresentationParameters  A pointer to the swap-chain description (DXGI). This parameter cannot be NULL.\n//! \\param [out]     ppSwapChain              A pointer to the swap chain created.\n//! \\param [in]      mode                     The stereo mode for the swap chain.\n//!                                           NVAPI_STEREO_SWAPCHAIN_DEFAULT \n//!                                           NVAPI_STEREO_SWAPCHAIN_STEREO \n//!                                           NVAPI_STEREO_SWAPCHAIN_MONO \n//!\n//! \\retval ::NVAPI_OK                        The swap chain creation was successful \n//! \\retval ::NVAPI_ERROR                     The operation failed.\n//!\n//!\\ingroup stereoapi\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_D3D9_CreateSwapChain(StereoHandle hStereoHandle,\n                                           D3DPRESENT_PARAMETERS *pPresentationParameters,\n                                           IDirect3DSwapChain9 **ppSwapChain,\n                                           NV_STEREO_SWAPCHAIN_MODE mode);\n#endif //if defined(_D3D9_H_) //NvAPI_D3D9_CreateSwapChain\n\n\n\n\n\n//! \\addtogroup drsapi\n//! @{\n\n\n// GPU Profile APIs\n\nNV_DECLARE_HANDLE(NvDRSSessionHandle);\nNV_DECLARE_HANDLE(NvDRSProfileHandle);\n\n#define NVAPI_DRS_GLOBAL_PROFILE                             ((NvDRSProfileHandle) -1)\n\n#define NVAPI_SETTING_MAX_VALUES                             100\n\ntypedef enum _NVDRS_SETTING_TYPE\n{\n     NVDRS_DWORD_TYPE,\n     NVDRS_BINARY_TYPE,\n     NVDRS_STRING_TYPE,\n     NVDRS_WSTRING_TYPE\n} NVDRS_SETTING_TYPE;\n\ntypedef enum _NVDRS_SETTING_LOCATION\n{\n     NVDRS_CURRENT_PROFILE_LOCATION,\n     NVDRS_GLOBAL_PROFILE_LOCATION,\n     NVDRS_BASE_PROFILE_LOCATION,\n     NVDRS_DEFAULT_PROFILE_LOCATION\n} NVDRS_SETTING_LOCATION;\n\n\ntypedef struct _NVDRS_GPU_SUPPORT\n{\n    NvU32 geforce    :  1;\n    NvU32 quadro     :  1;\n    NvU32 nvs        :  1;\n    NvU32 reserved4  :  1;\n    NvU32 reserved5  :  1;\n    NvU32 reserved6  :  1;\n    NvU32 reserved7  :  1;\n    NvU32 reserved8  :  1;\n    NvU32 reserved9  :  1;\n    NvU32 reserved10 :  1;\n    NvU32 reserved11 :  1;\n    NvU32 reserved12 :  1;\n    NvU32 reserved13 :  1;\n    NvU32 reserved14 :  1;\n    NvU32 reserved15 :  1;\n    NvU32 reserved16 :  1;\n    NvU32 reserved17 :  1;\n    NvU32 reserved18 :  1;\n    NvU32 reserved19 :  1;\n    NvU32 reserved20 :  1;\n    NvU32 reserved21 :  1;\n    NvU32 reserved22 :  1;\n    NvU32 reserved23 :  1;\n    NvU32 reserved24 :  1;\n    NvU32 reserved25 :  1;\n    NvU32 reserved26 :  1;\n    NvU32 reserved27 :  1;\n    NvU32 reserved28 :  1;\n    NvU32 reserved29 :  1;\n    NvU32 reserved30 :  1;\n    NvU32 reserved31 :  1;\n    NvU32 reserved32 :  1;\n} NVDRS_GPU_SUPPORT;\n\n//! Enum to decide on the datatype of setting value.\ntypedef struct _NVDRS_BINARY_SETTING \n{\n     NvU32                valueLength;               //!< valueLength should always be in number of bytes.\n     NvU8                 valueData[NVAPI_BINARY_DATA_MAX];\n} NVDRS_BINARY_SETTING;\n\ntypedef struct _NVDRS_SETTING_VALUES\n{\n     NvU32                      version;                //!< Structure Version\n     NvU32                      numSettingValues;       //!< Total number of values available in a setting.\n     NVDRS_SETTING_TYPE         settingType;            //!< Type of setting value.  \n     union                                              //!< Setting can hold either DWORD or Binary value or string. Not mixed types.\n     {\n         NvU32                      u32DefaultValue;    //!< Accessing default DWORD value of this setting.\n         NVDRS_BINARY_SETTING       binaryDefaultValue; //!< Accessing default Binary value of this setting.\n                                                        //!< Must be allocated by caller with valueLength specifying buffer size, or only valueLength will be filled in.\n         NvAPI_UnicodeString        wszDefaultValue;    //!< Accessing default unicode string value of this setting.\n     };\n     union                                                //!< Setting values can be of either DWORD, Binary values or String type,\n     {                                                    //!< NOT mixed types.\n         NvU32                      u32Value;           //!< All possible DWORD values for a setting\n         NVDRS_BINARY_SETTING       binaryValue;        //!< All possible Binary values for a setting\n         NvAPI_UnicodeString        wszValue;           //!< Accessing current unicode string value of this setting.\n     }settingValues[NVAPI_SETTING_MAX_VALUES];\n} NVDRS_SETTING_VALUES;\n\n//! Macro for constructing the version field of ::_NVDRS_SETTING_VALUES\n#define NVDRS_SETTING_VALUES_VER    MAKE_NVAPI_VERSION(NVDRS_SETTING_VALUES,1)\n     \ntypedef struct _NVDRS_SETTING_V1\n{\n     NvU32                      version;                //!< Structure Version\n     NvAPI_UnicodeString        settingName;            //!< String name of setting\n     NvU32                      settingId;              //!< 32 bit setting Id\n     NVDRS_SETTING_TYPE         settingType;            //!< Type of setting value.  \n     NVDRS_SETTING_LOCATION     settingLocation;        //!< Describes where the value in CurrentValue comes from. \n     NvU32                      isCurrentPredefined;    //!< It is different than 0 if the currentValue is a predefined Value, \n                                                        //!< 0 if the currentValue is a user value. \n     NvU32                      isPredefinedValid;      //!< It is different than 0 if the PredefinedValue union contains a valid value. \n     union                                              //!< Setting can hold either DWORD or Binary value or string. Not mixed types.\n     {\n         NvU32                      u32PredefinedValue;    //!< Accessing default DWORD value of this setting.\n         NVDRS_BINARY_SETTING       binaryPredefinedValue; //!< Accessing default Binary value of this setting.\n                                                           //!< Must be allocated by caller with valueLength specifying buffer size, \n                                                           //!< or only valueLength will be filled in.\n         NvAPI_UnicodeString        wszPredefinedValue;    //!< Accessing default unicode string value of this setting.\n     };\n     union                                              //!< Setting can hold either DWORD or Binary value or string. Not mixed types.\n     {\n         NvU32                      u32CurrentValue;    //!< Accessing current DWORD value of this setting.\n         NVDRS_BINARY_SETTING       binaryCurrentValue; //!< Accessing current Binary value of this setting.\n                                                        //!< Must be allocated by caller with valueLength specifying buffer size, \n                                                        //!< or only valueLength will be filled in.\n         NvAPI_UnicodeString        wszCurrentValue;    //!< Accessing current unicode string value of this setting.\n     };                                                 \n} NVDRS_SETTING_V1;\n\n//! Macro for constructing the version field of ::_NVDRS_SETTING\n#define NVDRS_SETTING_VER1        MAKE_NVAPI_VERSION(NVDRS_SETTING_V1, 1)\n\ntypedef NVDRS_SETTING_V1          NVDRS_SETTING;\n#define NVDRS_SETTING_VER         NVDRS_SETTING_VER1\n\ntypedef struct _NVDRS_APPLICATION_V1\n{\n     NvU32                      version;            //!< Structure Version\n     NvU32                      isPredefined;       //!< Is the application userdefined/predefined\n     NvAPI_UnicodeString        appName;            //!< String name of the Application\n     NvAPI_UnicodeString        userFriendlyName;   //!< UserFriendly name of the Application\n     NvAPI_UnicodeString        launcher;           //!< Indicates the name (if any) of the launcher that starts the application  \n} NVDRS_APPLICATION_V1;\n\ntypedef struct _NVDRS_APPLICATION_V2\n{\n     NvU32                      version;            //!< Structure Version\n     NvU32                      isPredefined;       //!< Is the application userdefined/predefined\n     NvAPI_UnicodeString        appName;            //!< String name of the Application\n     NvAPI_UnicodeString        userFriendlyName;   //!< UserFriendly name of the Application\n     NvAPI_UnicodeString        launcher;           //!< Indicates the name (if any) of the launcher that starts the Application\n     NvAPI_UnicodeString        fileInFolder;       //!< Select this application only if this file is found.\n                                                    //!< When specifying multiple files, separate them using the ':' character.\n} NVDRS_APPLICATION_V2;\n\ntypedef struct _NVDRS_APPLICATION_V3\n{\n     NvU32                      version;            //!< Structure Version\n     NvU32                      isPredefined;       //!< Is the application userdefined/predefined\n     NvAPI_UnicodeString        appName;            //!< String name of the Application\n     NvAPI_UnicodeString        userFriendlyName;   //!< UserFriendly name of the Application\n     NvAPI_UnicodeString        launcher;           //!< Indicates the name (if any) of the launcher that starts the Application\n     NvAPI_UnicodeString        fileInFolder;       //!< Select this application only if this file is found.\n                                                    //!< When specifying multiple files, separate them using the ':' character.\n     NvU32                      isMetro:1;          //!< Windows 8 style app\n     NvU32                      isCommandLine:1;    //!< Command line parsing for the application name\n     NvU32                      reserved:30;        //!< Reserved. Should be 0.\n} NVDRS_APPLICATION_V3;\n\ntypedef struct _NVDRS_APPLICATION_V4\n{\n     NvU32                      version;            //!< Structure Version\n     NvU32                      isPredefined;       //!< Is the application userdefined/predefined\n     NvAPI_UnicodeString        appName;            //!< String name of the Application\n     NvAPI_UnicodeString        userFriendlyName;   //!< UserFriendly name of the Application\n     NvAPI_UnicodeString        launcher;           //!< Indicates the name (if any) of the launcher that starts the Application\n     NvAPI_UnicodeString        fileInFolder;       //!< Select this application only if this file is found.\n                                                    //!< When specifying multiple files, separate them using the ':' character.\n     NvU32                      isMetro:1;          //!< Windows 8 style app\n     NvU32                      isCommandLine:1;    //!< Command line parsing for the application name\n     NvU32                      reserved:30;        //!< Reserved. Should be 0.\n     NvAPI_UnicodeString        commandLine;        //!< If isCommandLine is set to 0 this must be an empty. If isCommandLine is set to 1 \n                                                    //!< this contains application's command line as if it was returned by GetCommandLineW.\n} NVDRS_APPLICATION_V4;\n\n#define NVDRS_APPLICATION_VER_V1        MAKE_NVAPI_VERSION(NVDRS_APPLICATION_V1,1)\n#define NVDRS_APPLICATION_VER_V2        MAKE_NVAPI_VERSION(NVDRS_APPLICATION_V2,2)\n#define NVDRS_APPLICATION_VER_V3        MAKE_NVAPI_VERSION(NVDRS_APPLICATION_V3,3)\n#define NVDRS_APPLICATION_VER_V4        MAKE_NVAPI_VERSION(NVDRS_APPLICATION_V4,4)\n\ntypedef NVDRS_APPLICATION_V4 NVDRS_APPLICATION;\n#define NVDRS_APPLICATION_VER NVDRS_APPLICATION_VER_V4\n\ntypedef struct _NVDRS_PROFILE_V1\n{\n     NvU32                      version;            //!< Structure Version\n     NvAPI_UnicodeString        profileName;        //!< String name of the Profile\n     NVDRS_GPU_SUPPORT          gpuSupport;         //!< This read-only flag indicates the profile support on either\n                                                    //!< Quadro, or Geforce, or both.\n     NvU32                      isPredefined;       //!< Is the Profile user-defined, or predefined\n     NvU32                      numOfApps;          //!< Total number of applications that belong to this profile. Read-only\n     NvU32                      numOfSettings;      //!< Total number of settings applied for this Profile. Read-only\n} NVDRS_PROFILE_V1;\n\ntypedef NVDRS_PROFILE_V1         NVDRS_PROFILE;\n\n//! Macro for constructing the version field of ::NVDRS_PROFILE\n#define NVDRS_PROFILE_VER1       MAKE_NVAPI_VERSION(NVDRS_PROFILE_V1,1)\n#define NVDRS_PROFILE_VER        NVDRS_PROFILE_VER1\n\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_DRS_CreateSession\n//\n//!   DESCRIPTION: This API allocates memory and initializes the session.\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\param [out]  *phSession Return pointer to the session handle.\n//!                \n//! \\retval ::NVAPI_OK SUCCESS\n//! \\retval ::NVAPI_ERROR: For miscellaneous errors.\n//\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_DRS_CreateSession(NvDRSSessionHandle *phSession);\n\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_DRS_DestroySession\n//\n//!   DESCRIPTION: This API frees the allocation: cleanup of NvDrsSession.\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\param [in] hSession Input to the session handle.\n//!                \n//! \\retval ::NVAPI_OK SUCCESS\n//! \\retval ::NVAPI_ERROR For miscellaneous errors.\n//\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_DRS_DestroySession(NvDRSSessionHandle hSession);\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_DRS_LoadSettings\n//\n//!   DESCRIPTION: This API loads and parses the settings data.\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\param [in] hSession  Input to the session handle.\n//!                \n//! \\retval ::NVAPI_OK     SUCCESS\n//! \\retval ::NVAPI_ERROR  For miscellaneous errors.\n//\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_DRS_LoadSettings(NvDRSSessionHandle hSession);\n\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_DRS_SaveSettings\n//\n//!   DESCRIPTION: This API saves the settings data to the system.\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\param [in] hSession  Input to the session handle.\n//!                \n//! \\retval ::NVAPI_OK    SUCCESS\n//! \\retval ::NVAPI_ERROR For miscellaneous errors.\n//\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_DRS_SaveSettings(NvDRSSessionHandle hSession);\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_DRS_LoadSettingsFromFile\n//\n//!   DESCRIPTION: This API loads settings from the given file path.\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\param [in]  hSession Input to the session handle\n//! \\param [in]  fileName Binary File Name/Path\n//!                \n//! \\retval ::NVAPI_OK     SUCCESS\n//! \\retval ::NVAPI_ERROR  For miscellaneous errors.\n//\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_DRS_LoadSettingsFromFile(NvDRSSessionHandle hSession, NvAPI_UnicodeString fileName);\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_DRS_SaveSettingsToFile\n//\n//!   DESCRIPTION: This API saves settings to the given file path.\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\param [in]  hSession  Input to the session handle.\n//! \\param [in]  fileName  Binary File Name/Path\n//!                \n//! \\retval ::NVAPI_OK     SUCCESS\n//! \\retval ::NVAPI_ERROR  For miscellaneous errors.\n//\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_DRS_SaveSettingsToFile(NvDRSSessionHandle hSession, NvAPI_UnicodeString fileName);\n\n//! @}\n\n\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_DRS_CreateProfile\n//\n//!   DESCRIPTION: This API creates an empty profile.\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\param [in]  hSession        Input to the session handle.\n//! \\param [in]  *pProfileInfo   Input pointer to NVDRS_PROFILE.\n//! \\param [in]  *phProfile      Returns pointer to profile handle.\n//!                \n//! \\retval ::NVAPI_OK     SUCCESS\n//! \\retval ::NVAPI_ERROR  For miscellaneous errors.\n//!\n//! \\ingroup drsapi\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_DRS_CreateProfile(NvDRSSessionHandle hSession, NVDRS_PROFILE *pProfileInfo, NvDRSProfileHandle *phProfile);\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_DRS_DeleteProfile\n//\n//!   DESCRIPTION: This API deletes a profile or sets it back to a predefined value.\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\param [in] hSession  Input to the session handle.\n//! \\param [in] hProfile  Input profile handle.\n//!                \n//! \\retval ::NVAPI_OK     SUCCESS if the profile is found\n//! \\retval ::NVAPI_ERROR  For miscellaneous errors.\n//!\n//! \\ingroup drsapi\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_DRS_DeleteProfile(NvDRSSessionHandle hSession, NvDRSProfileHandle hProfile);\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_DRS_SetCurrentGlobalProfile\n//\n//!   DESCRIPTION: This API sets the current global profile in the driver.\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\param [in] hSession                Input to the session handle.\n//! \\param [in] wszGlobalProfileName    Input current Global profile name.\n//!               \n//! \\retval ::NVAPI_OK     SUCCESS\n//! \\retval ::NVAPI_ERROR  For miscellaneous errors.\n//!\n//! \\ingroup drsapi\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_DRS_SetCurrentGlobalProfile(NvDRSSessionHandle hSession, NvAPI_UnicodeString wszGlobalProfileName);\n\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_DRS_GetCurrentGlobalProfile\n//\n//!   DESCRIPTION: This API returns the handle to the current global profile.\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\param [in]   hSession     Input to the session handle.\n//! \\param [out]  *phProfile   Returns current Global profile handle.\n//!                \n//! \\retval ::NVAPI_OK     SUCCESS\n//! \\retval ::NVAPI_ERROR  For miscellaneous errors.\n//!\n//! \\ingroup drsapi\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_DRS_GetCurrentGlobalProfile(NvDRSSessionHandle hSession, NvDRSProfileHandle *phProfile);\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_DRS_GetProfileInfo\n//\n//!   DESCRIPTION: This API gets information about the given profile. User needs to specify the name of the Profile.\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\param [in]  hSession       Input to the session handle.\n//! \\param [in]  hProfile       Input profile handle.\n//! \\param [out] *pProfileInfo  Return the profile info.\n//!                \n//! \\retval ::NVAPI_OK     SUCCESS\n//! \\retval ::NVAPI_ERROR  For miscellaneous errors.\n//!\n//! \\ingroup drsapi\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_DRS_GetProfileInfo(NvDRSSessionHandle hSession, NvDRSProfileHandle hProfile, NVDRS_PROFILE *pProfileInfo);\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_DRS_SetProfileInfo\n//\n//!   DESCRIPTION: Specifies flags for a given profile. Currently only the NVDRS_GPU_SUPPORT is\n//!                used to update the profile. Neither the name, number of settings or applications\n//!                or other profile information can be changed with this function. \n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\param [in]  hSession       Input to the session handle.\n//! \\param [in]  hProfile       Input profile handle.\n//! \\param [in]  *pProfileInfo  Input the new profile info.\n//!                \n//! \\retval ::NVAPI_OK     SUCCESS\n//! \\retval ::NVAPI_ERROR  For miscellaneous errors.\n//!\n//! \\ingroup drsapi\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_DRS_SetProfileInfo(NvDRSSessionHandle hSession, NvDRSProfileHandle hProfile, NVDRS_PROFILE *pProfileInfo);\n\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_DRS_FindProfileByName\n//\n//!   DESCRIPTION: This API finds a profile in the current session.\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\param [in]   hSession      Input to the session handle.\n//! \\param [in]   profileName   Input profileName.\n//! \\param [out]  phProfile     Input profile handle.\n//!                \n//! \\retval ::NVAPI_OK                SUCCESS if the profile is found\n//! \\retval ::NVAPI_PROFILE_NOT_FOUND if profile is not found\n//! \\retval ::NVAPI_ERROR             For miscellaneous errors.\n//!\n//! \\ingroup drsapi\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_DRS_FindProfileByName(NvDRSSessionHandle hSession, NvAPI_UnicodeString profileName, NvDRSProfileHandle* phProfile);\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_DRS_EnumProfiles\n//\n//!   DESCRIPTION: This API enumerates through all the profiles in the session.\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\param [in]   hSession        Input to the session handle.\n//! \\param [in]   index           Input the index for enumeration.\n//! \\param [out]  *phProfile      Returns profile handle.\n//!                \n//!   RETURN STATUS: NVAPI_OK: SUCCESS if the profile is found\n//!                  NVAPI_ERROR: For miscellaneous errors.\n//!                  NVAPI_END_ENUMERATION: index exceeds the total number of available Profiles in DB.\n//!\n//! \\ingroup drsapi\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_DRS_EnumProfiles(NvDRSSessionHandle hSession, NvU32 index, NvDRSProfileHandle *phProfile);\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_DRS_GetNumProfiles\n//\n//!   DESCRIPTION: This API obtains the number of profiles in the current session object.\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\param [in]  hSession       Input to the session handle.\n//! \\param out]  *numProfiles   Returns count of profiles in the current hSession.\n//!                \n//! \\retval ::NVAPI_OK                  SUCCESS\n//! \\retval ::NVAPI_API_NOT_INTIALIZED  Failed to initialize.\n//! \\retval ::NVAPI_INVALID_ARGUMENT    Invalid Arguments.\n//!\n//! \\ingroup drsapi\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_DRS_GetNumProfiles(NvDRSSessionHandle hSession, NvU32 *numProfiles);\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_DRS_CreateApplication\n//\n//!   DESCRIPTION: This API adds an executable name to a profile.\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\param [in]  hSession       Input to the session handle.\n//! \\param [in]  hProfile       Input profile handle.\n//! \\param [in]  *pApplication  Input NVDRS_APPLICATION struct with the executable name to be added.\n//!                \n//! \\retval ::NVAPI_OK     SUCCESS\n//! \\retval ::NVAPI_ERROR  For miscellaneous errors.\n//!\n//! \\ingroup drsapi\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_DRS_CreateApplication(NvDRSSessionHandle hSession, NvDRSProfileHandle  hProfile, NVDRS_APPLICATION *pApplication);\n \n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_DRS_DeleteApplicationEx\n//\n//!   DESCRIPTION: This API removes an executable from a profile.\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\param [in]   hSession  - Input to the session handle.\n//! \\param [in]   hProfile  - Input profile handle.\n//! \\param [in]   *pApp     - Input all the information about the application to be removed.\n//!\n//! \\retval ::NVAPI_OK  SUCCESS\n//! \\retval ::NVAPI_ERROR For miscellaneous errors.\n//! \\retval ::NVAPI_EXECUTABLE_PATH_IS_AMBIGUOUS If the path provided could refer to two different executables,\n//!                                              this error will be returned.\n//!\n//! \\ingroup drsapi\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_DRS_DeleteApplicationEx(NvDRSSessionHandle hSession, NvDRSProfileHandle hProfile, NVDRS_APPLICATION *pApp);\n\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_DRS_DeleteApplication\n//\n//!   DESCRIPTION: This API removes an executable name from a profile.\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\param [in]  hSessionPARAMETERS   Input to the session handle.\n//! \\param [in]  hProfile             Input profile handle.\n//! \\param [in]  appName              Input the executable name to be removed.\n//!                \n//! \\retval ::NVAPI_OK     SUCCESS\n//! \\retval ::NVAPI_ERROR  For miscellaneous errors.\n//! \\retval ::NVAPI_EXECUTABLE_PATH_IS_AMBIGUOUS If the path provided could refer to two different executables,\n//!                                              this error will be returned\n//!\n//! \\ingroup drsapi\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_DRS_DeleteApplication(NvDRSSessionHandle hSession, NvDRSProfileHandle hProfile, NvAPI_UnicodeString appName);\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_DRS_GetApplicationInfo\n//\n//!   DESCRIPTION: This API gets information about the given application.  The input application name\n//!                must match exactly what the Profile has stored for the application. \n//!                This function is better used to retrieve application information from a previous\n//!                enumeration.\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\param [in]   hSession       Input to the session handle.\n//! \\param [in]   hProfile       Input profile handle.\n//! \\param [in]   appName        Input application name.\n//! \\param [out]  *pApplication  Returns NVDRS_APPLICATION struct with all the attributes.\n//!                \n//! \\return  This API can return any of the error codes enumerated in #NvAPI_Status. \n//!          If there are return error codes with specific meaning for this API, \n//!          they are listed below.\n//! \\retval ::NVAPI_EXECUTABLE_PATH_IS_AMBIGUOUS   The application name could not \n//                                                single out only one executable.\n//! \\retval ::NVAPI_EXECUTABLE_NOT_FOUND           No application with that name is found on the profile.\n//!\n//! \\ingroup drsapi\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_DRS_GetApplicationInfo(NvDRSSessionHandle hSession, NvDRSProfileHandle hProfile, NvAPI_UnicodeString appName, NVDRS_APPLICATION *pApplication);\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_DRS_EnumApplications\n//\n//!   DESCRIPTION: This API enumerates all the applications in a given profile from the starting index to the maximum length.\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\param [in]      hSession         Input to the session handle.\n//! \\param [in]      hProfile         Input profile handle.\n//! \\param [in]      startIndex       Indicates starting index for enumeration.\n//! \\param [in,out]  *appCount        Input maximum length of the passed in arrays. Returns the actual length.\n//! \\param [out]     *pApplication    Returns NVDRS_APPLICATION struct with all the attributes.\n//!                \n//! \\retval ::NVAPI_OK               SUCCESS\n//! \\retval ::NVAPI_ERROR            For miscellaneous errors.\n//! \\retval ::NVAPI_END_ENUMERATION  startIndex exceeds the total appCount.\n//!\n//! \\ingroup drsapi\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_DRS_EnumApplications(NvDRSSessionHandle hSession, NvDRSProfileHandle hProfile, NvU32 startIndex, NvU32 *appCount, NVDRS_APPLICATION *pApplication);\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_DRS_FindApplicationByName\n//\n//!   DESCRIPTION: This API searches the application and the associated profile for the given application name.\n//!                If a fully qualified path is provided, this function will always return the profile\n//!                the driver will apply upon running the application (on the path provided).\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\param [in]      hSession       Input to the hSession handle\n//! \\param [in]      appName        Input appName. For best results, provide a fully qualified path of the type\n//!                                 c:/Folder1/Folder2/App.exe\n//! \\param [out]     *phProfile     Returns profile handle.\n//! \\param [in,out]  *pApplication  Returns NVDRS_APPLICATION struct pointer.\n//!                \n//! \\return  This API can return any of the error codes enumerated in #NvAPI_Status. \n//!                  If there are return error codes with specific meaning for this API, \n//!                  they are listed below:\n//! \\retval ::NVAPI_APPLICATION_NOT_FOUND          If App not found\n//! \\retval ::NVAPI_EXECUTABLE_PATH_IS_AMBIGUOUS   If the input appName was not fully qualified, this error might return in the case of multiple matches\n//!\n//! \\ingroup drsapi\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_DRS_FindApplicationByName(__in NvDRSSessionHandle hSession, __in NvAPI_UnicodeString appName, __out NvDRSProfileHandle *phProfile, __inout NVDRS_APPLICATION *pApplication);\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_DRS_SetSetting\n//\n//!   DESCRIPTION: This API adds/modifies a setting to a profile.\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\param [in]  hSession     Input to the session handle.\n//! \\param [in]  hProfile     Input profile handle.\n//! \\param [in]   *pSetting   Input NVDRS_SETTING struct pointer.\n//!                \n//! \\retval ::NVAPI_OK     SUCCESS\n//! \\retval ::NVAPI_ERROR  For miscellaneous errors.\n//!\n//! \\ingroup drsapi\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_DRS_SetSetting(NvDRSSessionHandle hSession, NvDRSProfileHandle hProfile, NVDRS_SETTING *pSetting);\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_DRS_GetSetting\n//\n//!   DESCRIPTION: This API gets information about the given setting.\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\param [in]   hSession   Input to the session handle.\n//! \\param [in]   hProfile   Input profile handle.\n//! \\param [in]   settingId  Input settingId.\n//! \\param [out]  *pSetting  Returns all the setting info\n//!                \n//! \\retval ::NVAPI_OK     SUCCESS\n//! \\retval ::NVAPI_ERROR  For miscellaneous errors.\n//!\n//! \\ingroup drsapi\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_DRS_GetSetting(NvDRSSessionHandle hSession, NvDRSProfileHandle hProfile, NvU32 settingId, NVDRS_SETTING *pSetting);\n\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_DRS_EnumSettings\n//\n//!   DESCRIPTION: This API enumerates all the settings of a given profile from startIndex to the maximum length.\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\param [in]      hSession        Input to the session handle.\n//! \\param [in]      hProfile        Input profile handle.\n//! \\param [in]      startIndex      Indicates starting index for enumeration.\n//! \\param [in,out]  *settingsCount  Input max length of the passed in arrays, Returns the actual length.\n//! \\param [out]     *pSetting       Returns all the settings info.\n//!                \n//! \\retval ::NVAPI_OK              SUCCESS\n//! \\retval ::NVAPI_ERROR           For miscellaneous errors.\n//! \\retval ::NVAPI_END_ENUMERATION startIndex exceeds the total appCount.\n//!\n//! \\ingroup drsapi\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_DRS_EnumSettings(NvDRSSessionHandle hSession, NvDRSProfileHandle hProfile, NvU32 startIndex, NvU32 *settingsCount, NVDRS_SETTING *pSetting);\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_DRS_EnumAvailableSettingIds\n//\n//!   DESCRIPTION: This API enumerates all the Ids of all the settings recognized by NVAPI.\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\param [out]    pSettingIds     User-provided array of length *pMaxCount that NVAPI will fill with IDs.\n//! \\param [in,out] pMaxCount       Input max length of the passed in array, Returns the actual length.\n//!                \n//! \\retval ::NVAPI_OK     SUCCESS\n//! \\retval ::NVAPI_ERROR  For miscellaneous errors.\n//!                  NVAPI_END_ENUMERATION: the provided pMaxCount is not enough to hold all settingIds.\n//!\n//! \\ingroup drsapi\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_DRS_EnumAvailableSettingIds(NvU32 *pSettingIds, NvU32 *pMaxCount);\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_DRS_EnumAvailableSettingValues\n//\n//!   DESCRIPTION: This API enumerates all available setting values for a given setting.\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\param [in]      settingId          Input settingId.\n//! \\param [in,out]  maxNumCount        Input max length of the passed in arrays, Returns the actual length.\n//! \\param [out]     *pSettingValues    Returns all available setting values and its count.\n//!                \n//! \\retval ::NVAPI_OK     SUCCESS\n//! \\retval ::NVAPI_ERROR  For miscellaneous errors.\n//!\n//! \\ingroup drsapi\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_DRS_EnumAvailableSettingValues(NvU32 settingId, NvU32 *pMaxNumValues, NVDRS_SETTING_VALUES *pSettingValues);\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_DRS_GetSettingIdFromName\n//\n//!   DESCRIPTION: This API gets the binary ID of a setting given the setting name.\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\param [in]   settingName  Input Unicode settingName.\n//! \\param [out]  *pSettingId  Returns corresponding settingId.\n//!                \n//! \\retval ::NVAPI_OK                 SUCCESS if the profile is found\n//! \\retval ::NVAPI_PROFILE_NOT_FOUND  if profile is not found\n//! \\retval ::NVAPI_SETTING_NOT_FOUND  if setting is not found\n//! \\retval ::NVAPI_ERROR              For miscellaneous errors.\n//!\n//! \\ingroup drsapi\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_DRS_GetSettingIdFromName(NvAPI_UnicodeString settingName, NvU32 *pSettingId);\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_DRS_GetSettingNameFromId\n//\n//!   DESCRIPTION: This API gets the setting name given the binary ID.\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\param [in]  settingId        Input settingId.\n//! \\param [in]  *pSettingName    Returns corresponding Unicode settingName.\n//!                \n//! \\retval ::NVAPI_OK                 SUCCESS if the profile is found\n//! \\retval ::NVAPI_PROFILE_NOT_FOUND  if profile is not found\n//! \\retval ::NVAPI_SETTING_NOT_FOUND  if setting is not found\n//! \\retval ::NVAPI_ERROR              For miscellaneous errors.\n//!\n//! \\ingroup drsapi\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_DRS_GetSettingNameFromId(NvU32 settingId, NvAPI_UnicodeString *pSettingName);\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_DRS_DeleteProfileSetting\n//\n//!   DESCRIPTION: This API deletes a setting or sets it back to predefined value.\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\param [in]  hSession            Input to the session handle.\n//! \\param [in]  hProfile            Input profile handle.\n//! \\param [in]  settingId           Input settingId to be deleted.\n//!                \n//! \\retval ::NVAPI_OK     SUCCESS if the profile is found\n//! \\retval ::NVAPI_ERROR  For miscellaneous errors.\n//!\n//! \\ingroup drsapi\n/////////////////////////////////////////////////////////////////////////////// \nNVAPI_INTERFACE NvAPI_DRS_DeleteProfileSetting(NvDRSSessionHandle hSession, NvDRSProfileHandle hProfile, NvU32 settingId);\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_DRS_RestoreAllDefaults\n//\n//!   DESCRIPTION: This API restores the whole system to predefined(default) values.\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\param [in]  hSession  Input to the session handle.\n//!                \n//! \\retval ::NVAPI_OK     SUCCESS if the profile is found\n//! \\retval ::NVAPI_ERROR  For miscellaneous errors.\n//!\n//! \\ingroup drsapi\n/////////////////////////////////////////////////////////////////////////////// \nNVAPI_INTERFACE NvAPI_DRS_RestoreAllDefaults(NvDRSSessionHandle hSession);\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_DRS_RestoreProfileDefault\n//\n//!   DESCRIPTION: This API restores the given profile to predefined(default) values.\n//!                Any and all user specified modifications will be removed. \n//!                If the whole profile was set by the user, the profile will be removed.\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\param [in]  hSession  Input to the session handle.\n//! \\param [in]  hProfile  Input profile handle.\n//!                \n//! \\retval ::NVAPI_OK              SUCCESS if the profile is found\n//! \\retval ::NVAPI_ERROR           For miscellaneous errors.\n//! \\retval ::NVAPI_PROFILE_REMOVED SUCCESS, and the hProfile is no longer valid.\n//! \\retval ::NVAPI_ERROR           For miscellaneous errors.\n//!\n//! \\ingroup drsapi\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_DRS_RestoreProfileDefault(NvDRSSessionHandle hSession, NvDRSProfileHandle hProfile);\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_DRS_RestoreProfileDefaultSetting\n//\n//!   DESCRIPTION: This API restores the given profile setting to predefined(default) values.\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\param [in]  hSession  Input to the session handle.\n//! \\param [in]  hProfile  Input profile handle.\n//! \\param [in]  settingId Input settingId.\n//!                \n//! \\retval ::NVAPI_OK     SUCCESS if the profile is found\n//! \\retval ::NVAPI_ERROR  For miscellaneous errors.\n//!\n//! \\ingroup drsapi\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_DRS_RestoreProfileDefaultSetting(NvDRSSessionHandle hSession, NvDRSProfileHandle hProfile, NvU32 settingId);\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_DRS_GetBaseProfile\n//\n//!   DESCRIPTION: Returns the handle to the current global profile.\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\param [in]  hSession    Input to the session handle.\n//! \\param [in]  *phProfile   Returns Base profile handle.\n//!                \n//! \\retval ::NVAPI_OK     SUCCESS if the profile is found\n//! \\retval ::NVAPI_ERROR  For miscellaneous errors.\n//!\n//! \\ingroup drsapi\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_DRS_GetBaseProfile(NvDRSSessionHandle hSession, NvDRSProfileHandle *phProfile);\n\n\n\n\n//! \\addtogroup sysgeneral\n//! @{\n\ntypedef struct\n{\n    NvU32               version;            //!< structure version\n    NvU32               vendorId;           //!< Chipset vendor identification\n    NvU32               deviceId;           //!< Chipset device identification\n    NvAPI_ShortString   szVendorName;       //!< Chipset vendor Name\n    NvAPI_ShortString   szChipsetName;      //!< Chipset device Name\n    NvU32               flags;              //!< Chipset info flags - obsolete\n    NvU32               subSysVendorId;     //!< Chipset subsystem vendor identification\n    NvU32               subSysDeviceId;     //!< Chipset subsystem device identification \n    NvAPI_ShortString   szSubSysVendorName; //!< subsystem vendor Name\n    NvU32               HBvendorId;         //!< Host bridge vendor identification\n    NvU32               HBdeviceId;         //!< Host bridge device identification\n    NvU32               HBsubSysVendorId;   //!< Host bridge subsystem vendor identification\n    NvU32               HBsubSysDeviceId;   //!< Host bridge subsystem device identification\n\n} NV_CHIPSET_INFO_v4;\n\ntypedef struct\n{\n    NvU32               version;            //!< structure version\n    NvU32               vendorId;           //!< vendor ID\n    NvU32               deviceId;           //!< device ID\n    NvAPI_ShortString   szVendorName;       //!< vendor Name\n    NvAPI_ShortString   szChipsetName;      //!< device Name\n    NvU32               flags;              //!< Chipset info flags - obsolete\n    NvU32               subSysVendorId;     //!< subsystem vendor ID\n    NvU32               subSysDeviceId;     //!< subsystem device ID\n    NvAPI_ShortString   szSubSysVendorName; //!< subsystem vendor Name\n} NV_CHIPSET_INFO_v3;\n\ntypedef enum\n{\n    NV_CHIPSET_INFO_HYBRID          = 0x00000001,\n} NV_CHIPSET_INFO_FLAGS;\n\ntypedef struct\n{\n    NvU32               version;        //!< structure version\n    NvU32               vendorId;       //!< vendor ID\n    NvU32               deviceId;       //!< device ID\n    NvAPI_ShortString   szVendorName;   //!< vendor Name\n    NvAPI_ShortString   szChipsetName;  //!< device Name\n    NvU32               flags;          //!< Chipset info flags\n} NV_CHIPSET_INFO_v2;\n\ntypedef struct\n{\n    NvU32               version;        //structure version\n    NvU32               vendorId;       //vendor ID\n    NvU32               deviceId;       //device ID\n    NvAPI_ShortString   szVendorName;   //vendor Name\n    NvAPI_ShortString   szChipsetName;  //device Name\n} NV_CHIPSET_INFO_v1;\n\n#define NV_CHIPSET_INFO_VER_1  MAKE_NVAPI_VERSION(NV_CHIPSET_INFO_v1,1)\n#define NV_CHIPSET_INFO_VER_2   MAKE_NVAPI_VERSION(NV_CHIPSET_INFO_v2,2)\n#define NV_CHIPSET_INFO_VER_3   MAKE_NVAPI_VERSION(NV_CHIPSET_INFO_v3,3)\n#define NV_CHIPSET_INFO_VER_4   MAKE_NVAPI_VERSION(NV_CHIPSET_INFO_v4,4)\n\n#define NV_CHIPSET_INFO         NV_CHIPSET_INFO_v4\n#define NV_CHIPSET_INFO_VER     NV_CHIPSET_INFO_VER_4\n\n//! @}\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_SYS_GetChipSetInfo\n//\n//!  This function returns information about the system's chipset.\n//!\n//! SUPPORTED OS:  Windows XP and higher,  Mac OS X\n//!\n//!\n//! \\since Release: 95\n//!\n//! \\retval  NVAPI_INVALID_ARGUMENT              pChipSetInfo is NULL.\n//! \\retval  NVAPI_OK                           *pChipSetInfo is now set.\n//! \\retval  NVAPI_INCOMPATIBLE_STRUCT_VERSION   NV_CHIPSET_INFO version not compatible with driver.\n//! \\ingroup sysgeneral\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_SYS_GetChipSetInfo(NV_CHIPSET_INFO *pChipSetInfo);\n\n\n//! \\ingroup sysgeneral\n//! Lid and dock information - used in NvAPI_GetLidDockInfo()\ntypedef struct \n{\n    NvU32 version;    //! Structure version, constructed from the macro #NV_LID_DOCK_PARAMS_VER\n    NvU32 currentLidState;\n    NvU32 currentDockState;\n    NvU32 currentLidPolicy;\n    NvU32 currentDockPolicy;\n    NvU32 forcedLidMechanismPresent;\n    NvU32 forcedDockMechanismPresent;\n}NV_LID_DOCK_PARAMS;\n\n\n//! ingroup sysgeneral\n#define NV_LID_DOCK_PARAMS_VER  MAKE_NVAPI_VERSION(NV_LID_DOCK_PARAMS,1)\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_GetLidDockInfo\n//\n//! DESCRIPTION: This function returns the current lid and dock information.\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\since Release: 177\n//!\n//! \\retval ::NVAPI_OK  \n//! \\retval ::NVAPI_ERROR\n//! \\retval ::NVAPI_NOT_SUPPORTED\n//! \\retval ::NVAPI_HANDLE_INVALIDATED\n//! \\retval ::NVAPI_API_NOT_INTIALIZED \n//!\n//! \\ingroup sysgeneral\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_SYS_GetLidAndDockInfo(NV_LID_DOCK_PARAMS *pLidAndDock);\n\n\n\n\n///////////////////////////////////////////////////////////////////////////////\n// FUNCTION NAME:   NvAPI_SYS_GetDisplayIdFromGpuAndOutputId\n//\n//! DESCRIPTION:     This API converts a Physical GPU handle and output ID to a\n//!                  display ID.\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\param [in]     hPhysicalGpu   Handle to the physical GPU\n//! \\param [in]     outputId       Connected display output ID on the \n//!                                target GPU - must only have one bit set\n//! \\param [out]    displayId      Pointer to an NvU32 which contains\n//!                                 the display ID\n//!\n//! \\retval  ::NVAPI_OK - completed request\n//! \\retval  ::NVAPI_API_NOT_INTIALIZED - NVAPI not initialized\n//! \\retval  ::NVAPI_ERROR - miscellaneous error occurred\n//! \\retval  ::NVAPI_INVALID_ARGUMENT - Invalid input parameter.\n//!\n//! \\ingroup sysgeneral\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_SYS_GetDisplayIdFromGpuAndOutputId(NvPhysicalGpuHandle hPhysicalGpu, NvU32 outputId, NvU32* displayId);\n\n\n///////////////////////////////////////////////////////////////////////////////\n// FUNCTION NAME:   NvAPI_SYS_GetGpuAndOutputIdFromDisplayId\n//\n//! DESCRIPTION:     This API converts a display ID to a Physical GPU handle and output ID.\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\param [in]     displayId       Display ID of display to retrieve \n//!                                 GPU and outputId for\n//! \\param [out]    hPhysicalGpu    Handle to the physical GPU\n//! \\param [out]    outputId )      Connected display output ID on the \n//!                                 target GPU will only have one bit set.\n//!\n//! \\retval ::NVAPI_OK \n//! \\retval ::NVAPI_API_NOT_INTIALIZED \n//! \\retval ::NVAPI_ID_OUT_OF_RANGE    The DisplayId corresponds to a \n//!                                    display which is not within the\n//!                                    normal outputId range.\n//! \\retval ::NVAPI_ERROR   \n//! \\retval ::NVAPI_INVALID_ARGUMENT \n//!\n//! \\ingroup sysgeneral\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_SYS_GetGpuAndOutputIdFromDisplayId(NvU32 displayId, NvPhysicalGpuHandle *hPhysicalGpu, NvU32 *outputId);\n\n\n///////////////////////////////////////////////////////////////////////////////\n// FUNCTION NAME:   NvAPI_SYS_GetPhysicalGpuFromDisplayId\n//\n//! \\code\n//! DESCRIPTION:     This API retrieves the Physical GPU handle of the connected display\n//!\n//! \\since Release: 313\n//!\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n//!\n//! PARAMETERS:      displayId(IN)     - Display ID of display to retrieve \n//!                                      GPU handle\n//!                  hPhysicalGpu(OUT) - Handle to the physical GPU\n//!\n//! RETURN STATUS:\n//!                  NVAPI_OK - completed request\n//!                  NVAPI_API_NOT_INTIALIZED - NVAPI not initialized\n//!                  NVAPI_ERROR - miscellaneous error occurred\n//!                  NVAPI_INVALID_ARGUMENT - Invalid input parameter.\n//! \\endcode\n//! \\ingroup sysgeneral\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_SYS_GetPhysicalGpuFromDisplayId(NvU32 displayId, NvPhysicalGpuHandle *hPhysicalGpu);\n\n\n\n\n#ifdef __cplusplus\n}; //extern \"C\" {\n\n#endif\n\n#pragma pack(pop)\n\n#endif // _NVAPI_H\n\n#include\"nvapi_lite_salend.h\"\n"
  },
  {
    "path": "external/nvapi/include/nvapi_lite_common.h",
    "content": " /************************************************************************************************************************************\\\n|*                                                                                                                                    *|\n|*     Copyright  2012 NVIDIA Corporation.  All rights reserved.                                                                     *|\n|*                                                                                                                                    *|\n|*  NOTICE TO USER:                                                                                                                   *|\n|*                                                                                                                                    *|\n|*  This software is subject to NVIDIA ownership rights under U.S. and international Copyright laws.                                  *|\n|*                                                                                                                                    *|\n|*  This software and the information contained herein are PROPRIETARY and CONFIDENTIAL to NVIDIA                                     *|\n|*  and are being provided solely under the terms and conditions of an NVIDIA software license agreement.                             *|\n|*  Otherwise, you have no rights to use or access this software in any manner.                                                       *|\n|*                                                                                                                                    *|\n|*  If not covered by the applicable NVIDIA software license agreement:                                                               *|\n|*  NVIDIA MAKES NO REPRESENTATION ABOUT THE SUITABILITY OF THIS SOFTWARE FOR ANY PURPOSE.                                            *|\n|*  IT IS PROVIDED \"AS IS\" WITHOUT EXPRESS OR IMPLIED WARRANTY OF ANY KIND.                                                           *|\n|*  NVIDIA DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,                                                                     *|\n|*  INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE.                       *|\n|*  IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES,                               *|\n|*  OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,  WHETHER IN AN ACTION OF CONTRACT,                         *|\n|*  NEGLIGENCE OR OTHER TORTIOUS ACTION,  ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOURCE CODE.            *|\n|*                                                                                                                                    *|\n|*  U.S. Government End Users.                                                                                                        *|\n|*  This software is a \"commercial item\" as that term is defined at 48 C.F.R. 2.101 (OCT 1995),                                       *|\n|*  consisting  of \"commercial computer  software\"  and \"commercial computer software documentation\"                                  *|\n|*  as such terms are  used in 48 C.F.R. 12.212 (SEPT 1995) and is provided to the U.S. Government only as a commercial end item.     *|\n|*  Consistent with 48 C.F.R.12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (JUNE 1995),                                          *|\n|*  all U.S. Government End Users acquire the software with only those rights set forth herein.                                       *|\n|*                                                                                                                                    *|\n|*  Any use of this software in individual and commercial software must include,                                                      *|\n|*  in the user documentation and internal comments to the code,                                                                      *|\n|*  the above Disclaimer (as applicable) and U.S. Government End Users Notice.                                                        *|\n|*                                                                                                                                    *|\n \\************************************************************************************************************************************/\n#pragma once\n#include\"nvapi_lite_salstart.h\"\n#pragma pack(push,8)\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n#if (defined(WIN32) || defined(_WIN32)) && defined(_MSC_VER) && (_MSC_VER > 1399) && !defined(NVAPI_INTERNAL) && !defined(NVAPI_DEPRECATED_OLD)\n#ifndef __nvapi_deprecated_function\n#define __nvapi_deprecated_function(message) __declspec(deprecated(message))\n#endif\n#ifndef __nvapi_deprecated_datatype\n#define __nvapi_deprecated_datatype(FirstRelease) __declspec(deprecated(\"Do not use this data type - it is deprecated in release \" #FirstRelease \".\"))\n#endif\n#else\n#ifndef __nvapi_deprecated_function\n#define __nvapi_deprecated_function(message)\n#endif\n#ifndef __nvapi_deprecated_datatype\n#define __nvapi_deprecated_datatype(FirstRelease)\n#endif\n#endif\n\n\n/* 64-bit types for compilers that support them, plus some obsolete variants */\n#if defined(__GNUC__) || defined(__arm) || defined(__IAR_SYSTEMS_ICC__) || defined(__ghs__) || defined(_WIN64)\ntypedef unsigned long long NvU64; /* 0 to 18446744073709551615  */\ntypedef long long          NvS64; /* -9223372036854775808 to 9223372036854775807  */\n#else\ntypedef unsigned __int64   NvU64; /* 0 to 18446744073709551615  */\ntypedef __int64            NvS64; /* -9223372036854775808 to 9223372036854775807  */\n#endif\n\n// mac os 32-bit still needs this\n#if (defined(macintosh) || defined(__APPLE__)) && !defined(__LP64__)\ntypedef signed long        NvS32; /* -2147483648 to 2147483647  */   \n#else\ntypedef signed int         NvS32; /* -2147483648 to 2147483647 */  \n#endif\n\n#ifndef __unix\n// mac os 32-bit still needs this\n#if ( (defined(macintosh) && defined(__LP64__) && (__NVAPI_RESERVED0__)) || \\\n      (!defined(macintosh) && defined(__NVAPI_RESERVED0__)) ) \ntypedef unsigned int       NvU32; /* 0 to 4294967295                         */\n#else\ntypedef unsigned long      NvU32; /* 0 to 4294967295                         */\n#endif\n#else\ntypedef unsigned int       NvU32; /* 0 to 4294967295                         */\n#endif\n\ntypedef unsigned long    temp_NvU32; /* 0 to 4294967295                         */\ntypedef signed   short   NvS16;\ntypedef unsigned short   NvU16;\ntypedef unsigned char    NvU8;\ntypedef signed   char    NvS8;\n\n/* Boolean type */\ntypedef NvU8 NvBool;\n#define NV_TRUE           ((NvBool)(0 == 0))\n#define NV_FALSE          ((NvBool)(0 != 0))\n\n\ntypedef struct _NV_RECT\n{\n    NvU32    left;\n    NvU32    top;\n    NvU32    right;\n    NvU32    bottom;\n} NV_RECT;\n\n\n\n#define NV_DECLARE_HANDLE(name) struct name##__ { int unused; }; typedef struct name##__ *name\n\n//! \\addtogroup nvapihandles\n//! NVAPI Handles - These handles are retrieved from various calls and passed in to others in NvAPI\n//!                 These are meant to be opaque types.  Do not assume they correspond to indices, HDCs,\n//!                 display indexes or anything else.\n//!\n//!                 Most handles remain valid until a display re-configuration (display mode set) or GPU\n//!                 reconfiguration (going into or out of SLI modes) occurs.  If NVAPI_HANDLE_INVALIDATED\n//!                 is received by an app, it should discard all handles, and re-enumerate them.\n//! @{  \nNV_DECLARE_HANDLE(NvDisplayHandle);                //!< Display Device driven by NVIDIA GPU(s) (an attached display)\nNV_DECLARE_HANDLE(NvMonitorHandle);                //!< Monitor handle\nNV_DECLARE_HANDLE(NvUnAttachedDisplayHandle);      //!< Unattached Display Device driven by NVIDIA GPU(s)\nNV_DECLARE_HANDLE(NvLogicalGpuHandle);             //!< One or more physical GPUs acting in concert (SLI)\nNV_DECLARE_HANDLE(NvPhysicalGpuHandle);            //!< A single physical GPU\nNV_DECLARE_HANDLE(NvEventHandle);                  //!< A handle to an event registration instance\nNV_DECLARE_HANDLE(NvVisualComputingDeviceHandle);  //!< A handle to a Visual Computing Device\nNV_DECLARE_HANDLE(NvHICHandle);                    //!< A handle to a Host Interface Card\nNV_DECLARE_HANDLE(NvGSyncDeviceHandle);            //!< A handle to a Sync device\nNV_DECLARE_HANDLE(NvVioHandle);                    //!< A handle to an SDI device\nNV_DECLARE_HANDLE(NvTransitionHandle);             //!< A handle to address a single transition request\nNV_DECLARE_HANDLE(NvAudioHandle);                  //!< NVIDIA HD Audio Device\nNV_DECLARE_HANDLE(Nv3DVPContextHandle);            //!< A handle for a 3D Vision Pro (3DVP) context\nNV_DECLARE_HANDLE(Nv3DVPTransceiverHandle);        //!< A handle for a 3DVP RF transceiver\nNV_DECLARE_HANDLE(Nv3DVPGlassesHandle);            //!< A handle for a pair of 3DVP RF shutter glasses\n\ntypedef void* StereoHandle;                        //!< A stereo handle, that corresponds to the device interface\n\nNV_DECLARE_HANDLE(NvSourceHandle);                 //!< Unique source handle on the system\nNV_DECLARE_HANDLE(NvTargetHandle);                 //!< Unique target handle on the system\nNV_DECLARE_HANDLE(NVDX_SwapChainHandle);           //!< DirectX SwapChain objects\nstatic const NVDX_SwapChainHandle NVDX_SWAPCHAIN_NONE = 0;\n//! @}\n\n//! \\ingroup nvapihandles\n//! @{\n#define NVAPI_DEFAULT_HANDLE        0\n#define NV_BIT(x)    (1 << (x)) \n//! @}\n\n\n\n//! \\addtogroup nvapitypes\n//! @{\n#define NVAPI_GENERIC_STRING_MAX    4096\n#define NVAPI_LONG_STRING_MAX       256\n#define NVAPI_SHORT_STRING_MAX      64\n\n\ntypedef struct \n{\n    NvS32   sX;\n    NvS32   sY;\n    NvS32   sWidth;\n    NvS32   sHeight;\n} NvSBox;\n\n#ifndef NvGUID_Defined\n#define NvGUID_Defined\n\ntypedef struct\n{\n    NvU32 data1;\n    NvU16 data2;\n    NvU16 data3;\n    NvU8  data4[8];\n} NvGUID, NvLUID;\n\n#endif //#ifndef NvGUID_Defined\n\n\n#define NVAPI_MAX_PHYSICAL_GPUS             64\n#define NVAPI_MAX_PHYSICAL_BRIDGES          100\n#define NVAPI_PHYSICAL_GPUS                 32\n#define NVAPI_MAX_LOGICAL_GPUS              64\n#define NVAPI_MAX_AVAILABLE_GPU_TOPOLOGIES  256\n#define NVAPI_MAX_AVAILABLE_SLI_GROUPS      256\n#define NVAPI_MAX_GPU_TOPOLOGIES            NVAPI_MAX_PHYSICAL_GPUS\n#define NVAPI_MAX_GPU_PER_TOPOLOGY          8\n#define NVAPI_MAX_DISPLAY_HEADS             2\n#define NVAPI_ADVANCED_DISPLAY_HEADS        4\n#define NVAPI_MAX_DISPLAYS                  NVAPI_PHYSICAL_GPUS * NVAPI_ADVANCED_DISPLAY_HEADS\n#define NVAPI_MAX_ACPI_IDS                  16\n#define NVAPI_MAX_VIEW_MODES                8\n#define NV_MAX_HEADS                        4   //!< Maximum heads, each with NVAPI_DESKTOP_RES resolution\n#define NVAPI_MAX_HEADS_PER_GPU             32\n\n#define NV_MAX_HEADS        4   //!< Maximum number of heads, each with #NVAPI_DESKTOP_RES resolution\n#define NV_MAX_VID_STREAMS  4   //!< Maximum number of input video streams, each with a #NVAPI_VIDEO_SRC_INFO\n#define NV_MAX_VID_PROFILES 4   //!< Maximum number of output video profiles supported\n\n#define NVAPI_SYSTEM_MAX_DISPLAYS           NVAPI_MAX_PHYSICAL_GPUS * NV_MAX_HEADS\n\n#define NVAPI_SYSTEM_MAX_HWBCS              128\n#define NVAPI_SYSTEM_HWBC_INVALID_ID        0xffffffff\n#define NVAPI_MAX_AUDIO_DEVICES             16\n\n\ntypedef char NvAPI_String[NVAPI_GENERIC_STRING_MAX];\ntypedef char NvAPI_LongString[NVAPI_LONG_STRING_MAX];\ntypedef char NvAPI_ShortString[NVAPI_SHORT_STRING_MAX];\n//! @}\n\n\n// =========================================================================================\n//!  NvAPI Version Definition \\n\n//!  Maintain per structure specific version define using the MAKE_NVAPI_VERSION macro. \\n\n//!  Usage: #define NV_GENLOCK_STATUS_VER  MAKE_NVAPI_VERSION(NV_GENLOCK_STATUS, 1)\n//!  \\ingroup nvapitypes\n// =========================================================================================\n#define MAKE_NVAPI_VERSION(typeName,ver) (NvU32)(sizeof(typeName) | ((ver)<<16))\n\n//!  \\ingroup nvapitypes\n#define GET_NVAPI_VERSION(ver) (NvU32)((ver)>>16)\n\n//!  \\ingroup nvapitypes\n#define GET_NVAPI_SIZE(ver) (NvU32)((ver) & 0xffff)\n\n\n// ====================================================\n//! NvAPI Status Values\n//!   All NvAPI functions return one of these codes.\n//!   \\ingroup nvapistatus \n// ====================================================\n\n\ntypedef enum _NvAPI_Status\n{\n    NVAPI_OK                                    =  0,      //!< Success. Request is completed.\n    NVAPI_ERROR                                 = -1,      //!< Generic error\n    NVAPI_LIBRARY_NOT_FOUND                     = -2,      //!< NVAPI support library cannot be loaded.\n    NVAPI_NO_IMPLEMENTATION                     = -3,      //!< not implemented in current driver installation\n    NVAPI_API_NOT_INITIALIZED                   = -4,      //!< NvAPI_Initialize has not been called (successfully)\n    NVAPI_INVALID_ARGUMENT                      = -5,      //!< The argument/parameter value is not valid or NULL.\n    NVAPI_NVIDIA_DEVICE_NOT_FOUND               = -6,      //!< No NVIDIA display driver, or NVIDIA GPU driving a display, was found.\n    NVAPI_END_ENUMERATION                       = -7,      //!< No more items to enumerate\n    NVAPI_INVALID_HANDLE                        = -8,      //!< Invalid handle\n    NVAPI_INCOMPATIBLE_STRUCT_VERSION           = -9,      //!< An argument's structure version is not supported\n    NVAPI_HANDLE_INVALIDATED                    = -10,     //!< The handle is no longer valid (likely due to GPU or display re-configuration)\n    NVAPI_OPENGL_CONTEXT_NOT_CURRENT            = -11,     //!< No NVIDIA OpenGL context is current (but needs to be)\n    NVAPI_INVALID_POINTER                       = -14,     //!< An invalid pointer, usually NULL, was passed as a parameter\n    NVAPI_NO_GL_EXPERT                          = -12,     //!< OpenGL Expert is not supported by the current drivers\n    NVAPI_INSTRUMENTATION_DISABLED              = -13,     //!< OpenGL Expert is supported, but driver instrumentation is currently disabled\n    NVAPI_NO_GL_NSIGHT                          = -15,     //!< OpenGL does not support Nsight\n\n    NVAPI_EXPECTED_LOGICAL_GPU_HANDLE           = -100,    //!< Expected a logical GPU handle for one or more parameters\n    NVAPI_EXPECTED_PHYSICAL_GPU_HANDLE          = -101,    //!< Expected a physical GPU handle for one or more parameters\n    NVAPI_EXPECTED_DISPLAY_HANDLE               = -102,    //!< Expected an NV display handle for one or more parameters\n    NVAPI_INVALID_COMBINATION                   = -103,    //!< The combination of parameters is not valid. \n    NVAPI_NOT_SUPPORTED                         = -104,    //!< Requested feature is not supported in the selected GPU\n    NVAPI_PORTID_NOT_FOUND                      = -105,    //!< No port ID was found for the I2C transaction\n    NVAPI_EXPECTED_UNATTACHED_DISPLAY_HANDLE    = -106,    //!< Expected an unattached display handle as one of the input parameters.\n    NVAPI_INVALID_PERF_LEVEL                    = -107,    //!< Invalid perf level \n    NVAPI_DEVICE_BUSY                           = -108,    //!< Device is busy; request not fulfilled\n    NVAPI_NV_PERSIST_FILE_NOT_FOUND             = -109,    //!< NV persist file is not found\n    NVAPI_PERSIST_DATA_NOT_FOUND                = -110,    //!< NV persist data is not found\n    NVAPI_EXPECTED_TV_DISPLAY                   = -111,    //!< Expected a TV output display\n    NVAPI_EXPECTED_TV_DISPLAY_ON_DCONNECTOR     = -112,    //!< Expected a TV output on the D Connector - HDTV_EIAJ4120.\n    NVAPI_NO_ACTIVE_SLI_TOPOLOGY                = -113,    //!< SLI is not active on this device.\n    NVAPI_SLI_RENDERING_MODE_NOTALLOWED         = -114,    //!< Setup of SLI rendering mode is not possible right now.\n    NVAPI_EXPECTED_DIGITAL_FLAT_PANEL           = -115,    //!< Expected a digital flat panel.\n    NVAPI_ARGUMENT_EXCEED_MAX_SIZE              = -116,    //!< Argument exceeds the expected size.\n    NVAPI_DEVICE_SWITCHING_NOT_ALLOWED          = -117,    //!< Inhibit is ON due to one of the flags in NV_GPU_DISPLAY_CHANGE_INHIBIT or SLI active.\n    NVAPI_TESTING_CLOCKS_NOT_SUPPORTED          = -118,    //!< Testing of clocks is not supported.\n    NVAPI_UNKNOWN_UNDERSCAN_CONFIG              = -119,    //!< The specified underscan config is from an unknown source (e.g. INF)\n    NVAPI_TIMEOUT_RECONFIGURING_GPU_TOPO        = -120,    //!< Timeout while reconfiguring GPUs\n    NVAPI_DATA_NOT_FOUND                        = -121,    //!< Requested data was not found\n    NVAPI_EXPECTED_ANALOG_DISPLAY               = -122,    //!< Expected an analog display\n    NVAPI_NO_VIDLINK                            = -123,    //!< No SLI video bridge is present\n    NVAPI_REQUIRES_REBOOT                       = -124,    //!< NVAPI requires a reboot for the settings to take effect\n    NVAPI_INVALID_HYBRID_MODE                   = -125,    //!< The function is not supported with the current Hybrid mode.\n    NVAPI_MIXED_TARGET_TYPES                    = -126,    //!< The target types are not all the same\n    NVAPI_SYSWOW64_NOT_SUPPORTED                = -127,    //!< The function is not supported from 32-bit on a 64-bit system.\n    NVAPI_IMPLICIT_SET_GPU_TOPOLOGY_CHANGE_NOT_ALLOWED = -128,    //!< There is no implicit GPU topology active. Use NVAPI_SetHybridMode to change topology.\n    NVAPI_REQUEST_USER_TO_CLOSE_NON_MIGRATABLE_APPS = -129,      //!< Prompt the user to close all non-migratable applications.    \n    NVAPI_OUT_OF_MEMORY                         = -130,    //!< Could not allocate sufficient memory to complete the call.\n    NVAPI_WAS_STILL_DRAWING                     = -131,    //!< The previous operation that is transferring information to or from this surface is incomplete.\n    NVAPI_FILE_NOT_FOUND                        = -132,    //!< The file was not found.\n    NVAPI_TOO_MANY_UNIQUE_STATE_OBJECTS         = -133,    //!< There are too many unique instances of a particular type of state object.\n    NVAPI_INVALID_CALL                          = -134,    //!< The method call is invalid. For example, a method's parameter may not be a valid pointer.\n    NVAPI_D3D10_1_LIBRARY_NOT_FOUND             = -135,    //!< d3d10_1.dll cannot be loaded.\n    NVAPI_FUNCTION_NOT_FOUND                    = -136,    //!< Couldn't find the function in the loaded DLL.\n    NVAPI_INVALID_USER_PRIVILEGE                = -137,    //!< Current User is not Admin.\n    NVAPI_EXPECTED_NON_PRIMARY_DISPLAY_HANDLE   = -138,    //!< The handle corresponds to GDIPrimary.\n    NVAPI_EXPECTED_COMPUTE_GPU_HANDLE           = -139,    //!< Setting Physx GPU requires that the GPU is compute-capable.\n    NVAPI_STEREO_NOT_INITIALIZED                = -140,    //!< The Stereo part of NVAPI failed to initialize completely. Check if the stereo driver is installed.\n    NVAPI_STEREO_REGISTRY_ACCESS_FAILED         = -141,    //!< Access to stereo-related registry keys or values has failed.\n    NVAPI_STEREO_REGISTRY_PROFILE_TYPE_NOT_SUPPORTED = -142, //!< The given registry profile type is not supported.\n    NVAPI_STEREO_REGISTRY_VALUE_NOT_SUPPORTED   = -143,    //!< The given registry value is not supported.\n    NVAPI_STEREO_NOT_ENABLED                    = -144,    //!< Stereo is not enabled and the function needed it to execute completely.\n    NVAPI_STEREO_NOT_TURNED_ON                  = -145,    //!< Stereo is not turned on and the function needed it to execute completely.\n    NVAPI_STEREO_INVALID_DEVICE_INTERFACE       = -146,    //!< Invalid device interface.\n    NVAPI_STEREO_PARAMETER_OUT_OF_RANGE         = -147,    //!< Separation percentage or JPEG image capture quality is out of [0-100] range.\n    NVAPI_STEREO_FRUSTUM_ADJUST_MODE_NOT_SUPPORTED = -148, //!< The given frustum adjust mode is not supported.\n    NVAPI_TOPO_NOT_POSSIBLE                     = -149,    //!< The mosaic topology is not possible given the current state of the hardware.\n    NVAPI_MODE_CHANGE_FAILED                    = -150,    //!< An attempt to do a display resolution mode change has failed.        \n    NVAPI_D3D11_LIBRARY_NOT_FOUND               = -151,    //!< d3d11.dll/d3d11_beta.dll cannot be loaded.\n    NVAPI_INVALID_ADDRESS                       = -152,    //!< Address is outside of valid range.\n    NVAPI_STRING_TOO_SMALL                      = -153,    //!< The pre-allocated string is too small to hold the result.\n    NVAPI_MATCHING_DEVICE_NOT_FOUND             = -154,    //!< The input does not match any of the available devices.\n    NVAPI_DRIVER_RUNNING                        = -155,    //!< Driver is running.\n    NVAPI_DRIVER_NOTRUNNING                     = -156,    //!< Driver is not running.\n    NVAPI_ERROR_DRIVER_RELOAD_REQUIRED          = -157,    //!< A driver reload is required to apply these settings.\n    NVAPI_SET_NOT_ALLOWED                       = -158,    //!< Intended setting is not allowed.\n    NVAPI_ADVANCED_DISPLAY_TOPOLOGY_REQUIRED    = -159,    //!< Information can't be returned due to \"advanced display topology\".\n    NVAPI_SETTING_NOT_FOUND                     = -160,    //!< Setting is not found.\n    NVAPI_SETTING_SIZE_TOO_LARGE                = -161,    //!< Setting size is too large.\n    NVAPI_TOO_MANY_SETTINGS_IN_PROFILE          = -162,    //!< There are too many settings for a profile. \n    NVAPI_PROFILE_NOT_FOUND                     = -163,    //!< Profile is not found.\n    NVAPI_PROFILE_NAME_IN_USE                   = -164,    //!< Profile name is duplicated.\n    NVAPI_PROFILE_NAME_EMPTY                    = -165,    //!< Profile name is empty.\n    NVAPI_EXECUTABLE_NOT_FOUND                  = -166,    //!< Application not found in the Profile.\n    NVAPI_EXECUTABLE_ALREADY_IN_USE             = -167,    //!< Application already exists in the other profile.\n    NVAPI_DATATYPE_MISMATCH                     = -168,    //!< Data Type mismatch \n    NVAPI_PROFILE_REMOVED                       = -169,    //!< The profile passed as parameter has been removed and is no longer valid.\n    NVAPI_UNREGISTERED_RESOURCE                 = -170,    //!< An unregistered resource was passed as a parameter. \n    NVAPI_ID_OUT_OF_RANGE                       = -171,    //!< The DisplayId corresponds to a display which is not within the normal outputId range.\n    NVAPI_DISPLAYCONFIG_VALIDATION_FAILED       = -172,    //!< Display topology is not valid so the driver cannot do a mode set on this configuration.\n    NVAPI_DPMST_CHANGED                         = -173,    //!< Display Port Multi-Stream topology has been changed.\n    NVAPI_INSUFFICIENT_BUFFER                   = -174,    //!< Input buffer is insufficient to hold the contents.    \n    NVAPI_ACCESS_DENIED                         = -175,    //!< No access to the caller.\n    NVAPI_MOSAIC_NOT_ACTIVE                     = -176,    //!< The requested action cannot be performed without Mosaic being enabled.\n    NVAPI_SHARE_RESOURCE_RELOCATED              = -177,    //!< The surface is relocated away from video memory.\n    NVAPI_REQUEST_USER_TO_DISABLE_DWM           = -178,    //!< The user should disable DWM before calling NvAPI.\n    NVAPI_D3D_DEVICE_LOST                       = -179,    //!< D3D device status is D3DERR_DEVICELOST or D3DERR_DEVICENOTRESET - the user has to reset the device.\n    NVAPI_INVALID_CONFIGURATION                 = -180,    //!< The requested action cannot be performed in the current state.\n    NVAPI_STEREO_HANDSHAKE_NOT_DONE             = -181,    //!< Call failed as stereo handshake not completed.\n    NVAPI_EXECUTABLE_PATH_IS_AMBIGUOUS          = -182,    //!< The path provided was too short to determine the correct NVDRS_APPLICATION\n    NVAPI_DEFAULT_STEREO_PROFILE_IS_NOT_DEFINED = -183,    //!< Default stereo profile is not currently defined\n    NVAPI_DEFAULT_STEREO_PROFILE_DOES_NOT_EXIST = -184,    //!< Default stereo profile does not exist\n    NVAPI_CLUSTER_ALREADY_EXISTS                = -185,    //!< A cluster is already defined with the given configuration.\n    NVAPI_DPMST_DISPLAY_ID_EXPECTED             = -186,    //!< The input display id is not that of a multi stream enabled connector or a display device in a multi stream topology \n    NVAPI_INVALID_DISPLAY_ID                    = -187,    //!< The input display id is not valid or the monitor associated to it does not support the current operation\n    NVAPI_STREAM_IS_OUT_OF_SYNC                 = -188,    //!< While playing secure audio stream, stream goes out of sync\n    NVAPI_INCOMPATIBLE_AUDIO_DRIVER             = -189,    //!< Older audio driver version than required\n    NVAPI_VALUE_ALREADY_SET                     = -190,    //!< Value already set, setting again not allowed.\n    NVAPI_TIMEOUT                               = -191,    //!< Requested operation timed out \n    NVAPI_GPU_WORKSTATION_FEATURE_INCOMPLETE    = -192,    //!< The requested workstation feature set has incomplete driver internal allocation resources\n    NVAPI_STEREO_INIT_ACTIVATION_NOT_DONE       = -193,    //!< Call failed because InitActivation was not called.\n    NVAPI_SYNC_NOT_ACTIVE                       = -194,    //!< The requested action cannot be performed without Sync being enabled.    \n    NVAPI_SYNC_MASTER_NOT_FOUND                 = -195,    //!< The requested action cannot be performed without Sync Master being enabled.\n    NVAPI_INVALID_SYNC_TOPOLOGY                 = -196,    //!< Invalid displays passed in the NV_GSYNC_DISPLAY pointer.\n    NVAPI_ECID_SIGN_ALGO_UNSUPPORTED            = -197,    //!< The specified signing algorithm is not supported. Either an incorrect value was entered or the current installed driver/hardware does not support the input value.\n    NVAPI_ECID_KEY_VERIFICATION_FAILED          = -198,    //!< The encrypted public key verification has failed.\n    NVAPI_FIRMWARE_OUT_OF_DATE                  = -199,    //!< The device's firmware is out of date.\n    NVAPI_FIRMWARE_REVISION_NOT_SUPPORTED       = -200,    //!< The device's firmware is not supported.\n    NVAPI_LICENSE_CALLER_AUTHENTICATION_FAILED  = -201,    //!< The caller is not authorized to modify the License.\t\t\n    NVAPI_D3D_DEVICE_NOT_REGISTERED             = -202,    //!< The user tried to use a deferred context without registering the device first \t \n    NVAPI_RESOURCE_NOT_ACQUIRED                 = -203,    //!< Head or SourceId was not reserved for the VR Display before doing the Modeset.\n    NVAPI_TIMING_NOT_SUPPORTED                  = -204,    //!< Provided timing is not supported.\n    NVAPI_HDCP_ENCRYPTION_FAILED                = -205,    //!< HDCP Encryption Failed for the device. Would be applicable when the device is HDCP Capable.\n    NVAPI_PCLK_LIMITATION_FAILED                = -206,    //!< Provided mode is over sink device pclk limitation.\n    NVAPI_NO_CONNECTOR_FOUND                    = -207,    //!< No connector on GPU found. \n    NVAPI_HDCP_DISABLED                         = -208,    //!< When a non-HDCP capable HMD is connected, we would inform user by this code.\n    NVAPI_API_IN_USE                            = -209,    //!< Atleast an API is still being called\n} NvAPI_Status;\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_SYS_GetDriverAndBranchVersion\n//\n//!   DESCRIPTION: This API returns display driver version and driver-branch string.\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//! \n//! \\param [out]  pDriverVersion         Contains the driver version after successful return.\n//! \\param [out]  szBuildBranchString    Contains the driver-branch string after successful return.\n//!\n//! \\retval ::NVAPI_INVALID_ARGUMENT: either pDriverVersion is NULL or enum index too big\n//! \\retval ::NVAPI_OK - completed request\n//! \\retval ::NVAPI_API_NOT_INTIALIZED - NVAPI not initialized\n//! \\retval ::NVAPI_ERROR - miscellaneous error occurred\n//! \n//! \\ingroup driverapi\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_SYS_GetDriverAndBranchVersion(NvU32* pDriverVersion, NvAPI_ShortString szBuildBranchString);\n//! \\ingroup driverapi\n//! Used in NvAPI_GPU_GetMemoryInfo().\ntypedef struct \n{\n    NvU32   version;                        //!< Version info\n    NvU32   dedicatedVideoMemory;           //!< Size(in kb) of the physical framebuffer.\n    NvU32   availableDedicatedVideoMemory;  //!< Size(in kb) of the available physical framebuffer for allocating video memory surfaces.\n    NvU32   systemVideoMemory;              //!< Size(in kb) of system memory the driver allocates at load time.\n    NvU32   sharedSystemMemory;             //!< Size(in kb) of shared system memory that driver is allowed to commit for surfaces across all allocations.\n\n} NV_DISPLAY_DRIVER_MEMORY_INFO_V1;\n\n\n//! \\ingroup driverapi\n//! Used in NvAPI_GPU_GetMemoryInfo().\ntypedef struct\n{\n    NvU32   version;                           //!< Version info\n    NvU32   dedicatedVideoMemory;              //!< Size(in kb) of the physical framebuffer.\n    NvU32   availableDedicatedVideoMemory;     //!< Size(in kb) of the available physical framebuffer for allocating video memory surfaces.\n    NvU32   systemVideoMemory;                 //!< Size(in kb) of system memory the driver allocates at load time.\n    NvU32   sharedSystemMemory;                //!< Size(in kb) of shared system memory that driver is allowed to commit for surfaces across all allocations.\n    NvU32   curAvailableDedicatedVideoMemory;  //!< Size(in kb) of the current available physical framebuffer for allocating video memory surfaces.\n\n} NV_DISPLAY_DRIVER_MEMORY_INFO_V2;\n\n//! \\ingroup driverapi\n//! Used in NvAPI_GPU_GetMemoryInfo().\ntypedef struct\n{\n    NvU32   version;                           //!< Version info\n    NvU32   dedicatedVideoMemory;              //!< Size(in kb) of the physical framebuffer.\n    NvU32   availableDedicatedVideoMemory;     //!< Size(in kb) of the available physical framebuffer for allocating video memory surfaces.\n    NvU32   systemVideoMemory;                 //!< Size(in kb) of system memory the driver allocates at load time.\n    NvU32   sharedSystemMemory;                //!< Size(in kb) of shared system memory that driver is allowed to commit for surfaces across all allocations.\n    NvU32   curAvailableDedicatedVideoMemory;  //!< Size(in kb) of the current available physical framebuffer for allocating video memory surfaces.\n\tNvU32   dedicatedVideoMemoryEvictionsSize; //!< Size(in kb) of the total size of memory released as a result of the evictions.\n\tNvU32   dedicatedVideoMemoryEvictionCount; //!< Indicates the number of eviction events that caused an allocation to be removed from dedicated video memory to free GPU\n\t                                           //!< video memory to make room for other allocations.\n} NV_DISPLAY_DRIVER_MEMORY_INFO_V3;\n\n//! \\ingroup driverapi\ntypedef NV_DISPLAY_DRIVER_MEMORY_INFO_V3 NV_DISPLAY_DRIVER_MEMORY_INFO;\n\n//! \\ingroup driverapi\n//! Macro for constructing the version field of NV_DISPLAY_DRIVER_MEMORY_INFO_V1\n#define NV_DISPLAY_DRIVER_MEMORY_INFO_VER_1  MAKE_NVAPI_VERSION(NV_DISPLAY_DRIVER_MEMORY_INFO_V1,1)\n\n//! \\ingroup driverapi\n//! Macro for constructing the version field of NV_DISPLAY_DRIVER_MEMORY_INFO_V2\n#define NV_DISPLAY_DRIVER_MEMORY_INFO_VER_2  MAKE_NVAPI_VERSION(NV_DISPLAY_DRIVER_MEMORY_INFO_V2,2)\n\n//! \\ingroup driverapi\n//! Macro for constructing the version field of NV_DISPLAY_DRIVER_MEMORY_INFO_V3\n#define NV_DISPLAY_DRIVER_MEMORY_INFO_VER_3  MAKE_NVAPI_VERSION(NV_DISPLAY_DRIVER_MEMORY_INFO_V3,3)\n\n//! \\ingroup driverapi\n#define NV_DISPLAY_DRIVER_MEMORY_INFO_VER    NV_DISPLAY_DRIVER_MEMORY_INFO_VER_3\n\n\n\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_GPU_GetMemoryInfo\n//\n//!   DESCRIPTION: This function retrieves the available driver memory footprint for the specified GPU. \n//!                If the GPU is in TCC Mode, only dedicatedVideoMemory will be returned in pMemoryInfo (NV_DISPLAY_DRIVER_MEMORY_INFO).\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! TCC_SUPPORTED\n//!\n//! \\since Release: 177\n//!\n//!  \\param [in]   hPhysicalGpu  Handle of the physical GPU for which the memory information is to be extracted.\n//!  \\param [out]  pMemoryInfo   The memory footprint available in the driver. See NV_DISPLAY_DRIVER_MEMORY_INFO.\n//!\n//!  \\retval       NVAPI_INVALID_ARGUMENT             pMemoryInfo is NULL.\n//!  \\retval       NVAPI_OK                           Call successful.\n//!  \\retval       NVAPI_NVIDIA_DEVICE_NOT_FOUND      No NVIDIA GPU driving a display was found.\n//!  \\retval       NVAPI_INCOMPATIBLE_STRUCT_VERSION  NV_DISPLAY_DRIVER_MEMORY_INFO structure version mismatch.\n//!\n//!  \\ingroup  driverapi\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_GPU_GetMemoryInfo(NvPhysicalGpuHandle hPhysicalGpu, NV_DISPLAY_DRIVER_MEMORY_INFO *pMemoryInfo);\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_EnumPhysicalGPUs\n//\n//! This function returns an array of physical GPU handles.\n//! Each handle represents a physical GPU present in the system.\n//! That GPU may be part of an SLI configuration, or may not be visible to the OS directly.\n//!\n//! At least one GPU must be present in the system and running an NVIDIA display driver.\n//!\n//! The array nvGPUHandle will be filled with physical GPU handle values. The returned\n//! gpuCount determines how many entries in the array are valid.\n//!\n//! \\note In drivers older than 105.00, all physical GPU handles get invalidated on a\n//!       modeset. So the calling applications need to renum the handles after every modeset.\\n\n//!       With drivers 105.00 and up, all physical GPU handles are constant.\n//!       Physical GPU handles are constant as long as the GPUs are not physically moved and \n//!       the SBIOS VGA order is unchanged.\n//!\n//!       For GPU handles in TCC MODE please use NvAPI_EnumTCCPhysicalGPUs()\n//!\n//! SUPPORTED OS:  Windows XP and higher,  Mac OS X\n//!\n//!\n//! \\par Introduced in\n//! \\since Release: 80\n//!\n//! \\retval NVAPI_INVALID_ARGUMENT         nvGPUHandle or pGpuCount is NULL\n//! \\retval NVAPI_OK                       One or more handles were returned\n//! \\retval NVAPI_NVIDIA_DEVICE_NOT_FOUND  No NVIDIA GPU driving a display was found\n//! \\ingroup gpu\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_EnumPhysicalGPUs(NvPhysicalGpuHandle nvGPUHandle[NVAPI_MAX_PHYSICAL_GPUS], NvU32 *pGpuCount);\n#if defined(_D3D9_H_) || defined(__d3d10_h__) || defined(__d3d11_h__)\n\nNV_DECLARE_HANDLE(NVDX_ObjectHandle);  // DX Objects\nstatic const NVDX_ObjectHandle NVDX_OBJECT_NONE = 0;\n\n#endif //if defined(_D3D9_H_) || defined(__d3d10_h__) || defined(__d3d11_h__)\n#if defined(_D3D9_H_) || defined(__d3d10_h__) || defined(__d3d11_h__)\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_D3D_GetObjectHandleForResource\n//\n//!   DESCRIPTION: This API gets a handle to a resource.\n//!\n//! \\param [in]  pDev       The ID3D11Device, ID3D10Device or IDirect3DDevice9 to use\n//! \\param [in]  pResource  The ID3D10Resource, ID3D10Resource or IDirect3DResource9 from which\n//!                         we want the NvAPI handle\n//! \\param [out]  pHandle   A handle to the resource\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\since Release: 185\n//!\n//! \\return ::NVAPI_OK if the handle was populated.\n//!\n//! \\ingroup dx\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_D3D_GetObjectHandleForResource(\n    IUnknown *pDevice,\n    IUnknown *pResource,\n    NVDX_ObjectHandle *pHandle);\n\n\n#endif //if defined(_D3D9_H_) || defined(__d3d10_h__) || defined(__d3d11_h__)\n\n#include\"nvapi_lite_salend.h\"\n#ifdef __cplusplus\n}\n#endif\n#pragma pack(pop)\n"
  },
  {
    "path": "external/nvapi/include/nvapi_lite_d3dext.h",
    "content": " /************************************************************************************************************************************\\\n|*                                                                                                                                    *|\n|*     Copyright  2012 NVIDIA Corporation.  All rights reserved.                                                                     *|\n|*                                                                                                                                    *|\n|*  NOTICE TO USER:                                                                                                                   *|\n|*                                                                                                                                    *|\n|*  This software is subject to NVIDIA ownership rights under U.S. and international Copyright laws.                                  *|\n|*                                                                                                                                    *|\n|*  This software and the information contained herein are PROPRIETARY and CONFIDENTIAL to NVIDIA                                     *|\n|*  and are being provided solely under the terms and conditions of an NVIDIA software license agreement.                             *|\n|*  Otherwise, you have no rights to use or access this software in any manner.                                                       *|\n|*                                                                                                                                    *|\n|*  If not covered by the applicable NVIDIA software license agreement:                                                               *|\n|*  NVIDIA MAKES NO REPRESENTATION ABOUT THE SUITABILITY OF THIS SOFTWARE FOR ANY PURPOSE.                                            *|\n|*  IT IS PROVIDED \"AS IS\" WITHOUT EXPRESS OR IMPLIED WARRANTY OF ANY KIND.                                                           *|\n|*  NVIDIA DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,                                                                     *|\n|*  INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE.                       *|\n|*  IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES,                               *|\n|*  OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,  WHETHER IN AN ACTION OF CONTRACT,                         *|\n|*  NEGLIGENCE OR OTHER TORTIOUS ACTION,  ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOURCE CODE.            *|\n|*                                                                                                                                    *|\n|*  U.S. Government End Users.                                                                                                        *|\n|*  This software is a \"commercial item\" as that term is defined at 48 C.F.R. 2.101 (OCT 1995),                                       *|\n|*  consisting  of \"commercial computer  software\"  and \"commercial computer software documentation\"                                  *|\n|*  as such terms are  used in 48 C.F.R. 12.212 (SEPT 1995) and is provided to the U.S. Government only as a commercial end item.     *|\n|*  Consistent with 48 C.F.R.12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (JUNE 1995),                                          *|\n|*  all U.S. Government End Users acquire the software with only those rights set forth herein.                                       *|\n|*                                                                                                                                    *|\n|*  Any use of this software in individual and commercial software must include,                                                      *|\n|*  in the user documentation and internal comments to the code,                                                                      *|\n|*  the above Disclaimer (as applicable) and U.S. Government End Users Notice.                                                        *|\n|*                                                                                                                                    *|\n \\************************************************************************************************************************************/\n#pragma once\n#include\"nvapi_lite_salstart.h\"\n#include\"nvapi_lite_common.h\"\n#pragma pack(push,8)\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n#if defined(__cplusplus) && (defined(__d3d10_h__) || defined(__d3d10_1_h__) || defined(__d3d11_h__))\n//! \\ingroup dx\n//! D3D_FEATURE_LEVEL supported - used in NvAPI_D3D11_CreateDevice() and NvAPI_D3D11_CreateDeviceAndSwapChain()\ntypedef enum\n{\n    NVAPI_DEVICE_FEATURE_LEVEL_NULL       = -1,\n    NVAPI_DEVICE_FEATURE_LEVEL_10_0       = 0,\n    NVAPI_DEVICE_FEATURE_LEVEL_10_0_PLUS  = 1,\n    NVAPI_DEVICE_FEATURE_LEVEL_10_1       = 2,\n    NVAPI_DEVICE_FEATURE_LEVEL_11_0       = 3,\n} NVAPI_DEVICE_FEATURE_LEVEL;\n\n#endif  //defined(__cplusplus) && (defined(__d3d10_h__) || defined(__d3d10_1_h__) || defined(__d3d11_h__))\n#if defined(__cplusplus) && defined(__d3d11_h__)\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_D3D11_CreateDevice\n//\n//!   DESCRIPTION: This function tries to create a DirectX 11 device. If the call fails (if we are running\n//!                on pre-DirectX 11 hardware), depending on the type of hardware it will try to create a DirectX 10.1 OR DirectX 10.0+\n//!                OR DirectX 10.0 device. The function call is the same as D3D11CreateDevice(), but with an extra \n//!                argument (D3D_FEATURE_LEVEL supported by the device) that the function fills in. This argument\n//!                can contain -1 (NVAPI_DEVICE_FEATURE_LEVEL_NULL), if the requested featureLevel is less than DirecX 10.0.\n//!\n//!            NOTE: When NvAPI_D3D11_CreateDevice is called with 10+ feature level we have an issue on few set of\n//!                  tesla hardware (G80/G84/G86/G92/G94/G96) which does not support all feature level 10+ functionality\n//!                  e.g. calling driver with mismatch between RenderTarget and Depth Buffer. App developers should\n//!                  take into consideration such limitation when using NVAPI on such tesla hardwares.\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n//!\n//! \\since Release: 185\n//!\n//! \\param [in]   pAdapter\n//! \\param [in]   DriverType\n//! \\param [in]   Software\n//! \\param [in]   Flags\n//! \\param [in]   *pFeatureLevels\n//! \\param [in]   FeatureLevels\n//! \\param [in]   SDKVersion\n//! \\param [in]   **ppDevice\n//! \\param [in]   *pFeatureLevel\n//! \\param [in]   **ppImmediateContext\n//! \\param [in]   *pSupportedLevel  D3D_FEATURE_LEVEL supported\n//!\n//! \\return NVAPI_OK if the createDevice call succeeded.\n//!\n//! \\ingroup dx\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_D3D11_CreateDevice(IDXGIAdapter* pAdapter,\n                                         D3D_DRIVER_TYPE DriverType,\n                                         HMODULE Software,\n                                         UINT Flags,\n                                         CONST D3D_FEATURE_LEVEL *pFeatureLevels,\n                                         UINT FeatureLevels,\n                                         UINT SDKVersion,\n                                         ID3D11Device **ppDevice,\n                                         D3D_FEATURE_LEVEL *pFeatureLevel,\n                                         ID3D11DeviceContext **ppImmediateContext,\n                                         NVAPI_DEVICE_FEATURE_LEVEL *pSupportedLevel);\n\n\n#endif //defined(__cplusplus) && defined(__d3d11_h__)\n#if defined(__cplusplus) && defined(__d3d11_h__)\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_D3D11_CreateDeviceAndSwapChain\n//\n//!   DESCRIPTION: This function tries to create a DirectX 11 device and swap chain. If the call fails (if we are \n//!                running on pre=DirectX 11 hardware), depending on the type of hardware it will try to create a DirectX 10.1 OR \n//!                DirectX 10.0+ OR DirectX 10.0 device. The function call is the same as D3D11CreateDeviceAndSwapChain,  \n//!                but with an extra argument (D3D_FEATURE_LEVEL supported by the device) that the function fills\n//!                in. This argument can contain -1 (NVAPI_DEVICE_FEATURE_LEVEL_NULL), if the requested featureLevel\n//!                is less than DirectX 10.0.\n//!\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n//!\n//! \\since Release: 185\n//!\n//! \\param [in]     pAdapter\n//! \\param [in]     DriverType\n//! \\param [in]     Software\n//! \\param [in]     Flags\n//! \\param [in]     *pFeatureLevels\n//! \\param [in]     FeatureLevels\n//! \\param [in]     SDKVersion\n//! \\param [in]     *pSwapChainDesc\n//! \\param [in]     **ppSwapChain\n//! \\param [in]     **ppDevice\n//! \\param [in]     *pFeatureLevel\n//! \\param [in]     **ppImmediateContext\n//! \\param [in]     *pSupportedLevel  D3D_FEATURE_LEVEL supported\n//!\n//!return  NVAPI_OK if the createDevice with swap chain call succeeded.\n//!\n//! \\ingroup dx\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_D3D11_CreateDeviceAndSwapChain(IDXGIAdapter* pAdapter,\n                                         D3D_DRIVER_TYPE DriverType,\n                                         HMODULE Software,\n                                         UINT Flags,\n                                         CONST D3D_FEATURE_LEVEL *pFeatureLevels,\n                                         UINT FeatureLevels,\n                                         UINT SDKVersion,\n                                         CONST DXGI_SWAP_CHAIN_DESC *pSwapChainDesc,\n                                         IDXGISwapChain **ppSwapChain,\n                                         ID3D11Device **ppDevice,\n                                         D3D_FEATURE_LEVEL *pFeatureLevel,\n                                         ID3D11DeviceContext **ppImmediateContext,\n                                         NVAPI_DEVICE_FEATURE_LEVEL *pSupportedLevel);\n\n\n\n#endif //defined(__cplusplus) && defined(__d3d11_h__)\n#if defined(__cplusplus) && defined(__d3d11_h__)\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_D3D11_SetDepthBoundsTest\n//\n//!   DESCRIPTION: This function enables/disables the depth bounds test\n//!\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n//!\n//! \\param [in]        pDeviceOrContext   The device or device context to set depth bounds test\n//! \\param [in]        bEnable            Enable(non-zero)/disable(zero) the depth bounds test\n//! \\param [in]        fMinDepth          The minimum depth for depth bounds test\n//! \\param [in]        fMaxDepth          The maximum depth for depth bounds test\n//!                                       The valid values for fMinDepth and fMaxDepth\n//!                                       are such that 0 <= fMinDepth <= fMaxDepth <= 1\n//!\n//! \\return  ::NVAPI_OK if the depth bounds test was correcly enabled or disabled\n//!\n//! \\ingroup dx\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_D3D11_SetDepthBoundsTest(IUnknown* pDeviceOrContext,\n                                               NvU32 bEnable,\n                                               float fMinDepth,\n                                               float fMaxDepth);\n\n#endif //defined(__cplusplus) && defined(__d3d11_h__)\n\n#include\"nvapi_lite_salend.h\"\n#ifdef __cplusplus\n}\n#endif\n#pragma pack(pop)\n"
  },
  {
    "path": "external/nvapi/include/nvapi_lite_salend.h",
    "content": " /************************************************************************************************************************************\\\n|*                                                                                                                                    *|\n|*     Copyright  2012 NVIDIA Corporation.  All rights reserved.                                                                     *|\n|*                                                                                                                                    *|\n|*  NOTICE TO USER:                                                                                                                   *|\n|*                                                                                                                                    *|\n|*  This software is subject to NVIDIA ownership rights under U.S. and international Copyright laws.                                  *|\n|*                                                                                                                                    *|\n|*  This software and the information contained herein are PROPRIETARY and CONFIDENTIAL to NVIDIA                                     *|\n|*  and are being provided solely under the terms and conditions of an NVIDIA software license agreement.                             *|\n|*  Otherwise, you have no rights to use or access this software in any manner.                                                       *|\n|*                                                                                                                                    *|\n|*  If not covered by the applicable NVIDIA software license agreement:                                                               *|\n|*  NVIDIA MAKES NO REPRESENTATION ABOUT THE SUITABILITY OF THIS SOFTWARE FOR ANY PURPOSE.                                            *|\n|*  IT IS PROVIDED \"AS IS\" WITHOUT EXPRESS OR IMPLIED WARRANTY OF ANY KIND.                                                           *|\n|*  NVIDIA DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,                                                                     *|\n|*  INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE.                       *|\n|*  IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES,                               *|\n|*  OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,  WHETHER IN AN ACTION OF CONTRACT,                         *|\n|*  NEGLIGENCE OR OTHER TORTIOUS ACTION,  ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOURCE CODE.            *|\n|*                                                                                                                                    *|\n|*  U.S. Government End Users.                                                                                                        *|\n|*  This software is a \"commercial item\" as that term is defined at 48 C.F.R. 2.101 (OCT 1995),                                       *|\n|*  consisting  of \"commercial computer  software\"  and \"commercial computer software documentation\"                                  *|\n|*  as such terms are  used in 48 C.F.R. 12.212 (SEPT 1995) and is provided to the U.S. Government only as a commercial end item.     *|\n|*  Consistent with 48 C.F.R.12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (JUNE 1995),                                          *|\n|*  all U.S. Government End Users acquire the software with only those rights set forth herein.                                       *|\n|*                                                                                                                                    *|\n|*  Any use of this software in individual and commercial software must include,                                                      *|\n|*  in the user documentation and internal comments to the code,                                                                      *|\n|*  the above Disclaimer (as applicable) and U.S. Government End Users Notice.                                                        *|\n|*                                                                                                                                    *|\n \\************************************************************************************************************************************/\n#ifndef __NVAPI_EMPTY_SAL\n#ifdef __nvapi_undef__ecount\n    #undef __ecount\n    #undef __nvapi_undef__ecount\n#endif\n#ifdef __nvapi_undef__bcount\n    #undef __bcount\n    #undef __nvapi_undef__bcount\n#endif\n#ifdef __nvapi_undef__in\n    #undef __in\n    #undef __nvapi_undef__in\n#endif\n#ifdef __nvapi_undef__in_ecount\n    #undef __in_ecount\n    #undef __nvapi_undef__in_ecount\n#endif\n#ifdef __nvapi_undef__in_bcount\n    #undef __in_bcount\n    #undef __nvapi_undef__in_bcount\n#endif\n#ifdef __nvapi_undef__in_z\n    #undef __in_z\n    #undef __nvapi_undef__in_z\n#endif\n#ifdef __nvapi_undef__in_ecount_z\n    #undef __in_ecount_z\n    #undef __nvapi_undef__in_ecount_z\n#endif\n#ifdef __nvapi_undef__in_bcount_z\n    #undef __in_bcount_z\n    #undef __nvapi_undef__in_bcount_z\n#endif\n#ifdef __nvapi_undef__in_nz\n    #undef __in_nz\n    #undef __nvapi_undef__in_nz\n#endif\n#ifdef __nvapi_undef__in_ecount_nz\n    #undef __in_ecount_nz\n    #undef __nvapi_undef__in_ecount_nz\n#endif\n#ifdef __nvapi_undef__in_bcount_nz\n    #undef __in_bcount_nz\n    #undef __nvapi_undef__in_bcount_nz\n#endif\n#ifdef __nvapi_undef__out\n    #undef __out\n    #undef __nvapi_undef__out\n#endif\n#ifdef __nvapi_undef__out_ecount\n    #undef __out_ecount\n    #undef __nvapi_undef__out_ecount\n#endif\n#ifdef __nvapi_undef__out_bcount\n    #undef __out_bcount\n    #undef __nvapi_undef__out_bcount\n#endif\n#ifdef __nvapi_undef__out_ecount_part\n    #undef __out_ecount_part\n    #undef __nvapi_undef__out_ecount_part\n#endif\n#ifdef __nvapi_undef__out_bcount_part\n    #undef __out_bcount_part\n    #undef __nvapi_undef__out_bcount_part\n#endif\n#ifdef __nvapi_undef__out_ecount_full\n    #undef __out_ecount_full\n    #undef __nvapi_undef__out_ecount_full\n#endif\n#ifdef __nvapi_undef__out_bcount_full\n    #undef __out_bcount_full\n    #undef __nvapi_undef__out_bcount_full\n#endif\n#ifdef __nvapi_undef__out_z\n    #undef __out_z\n    #undef __nvapi_undef__out_z\n#endif\n#ifdef __nvapi_undef__out_z_opt\n    #undef __out_z_opt\n    #undef __nvapi_undef__out_z_opt\n#endif\n#ifdef __nvapi_undef__out_ecount_z\n    #undef __out_ecount_z\n    #undef __nvapi_undef__out_ecount_z\n#endif\n#ifdef __nvapi_undef__out_bcount_z\n    #undef __out_bcount_z\n    #undef __nvapi_undef__out_bcount_z\n#endif\n#ifdef __nvapi_undef__out_ecount_part_z\n    #undef __out_ecount_part_z\n    #undef __nvapi_undef__out_ecount_part_z\n#endif\n#ifdef __nvapi_undef__out_bcount_part_z\n    #undef __out_bcount_part_z\n    #undef __nvapi_undef__out_bcount_part_z\n#endif\n#ifdef __nvapi_undef__out_ecount_full_z\n    #undef __out_ecount_full_z\n    #undef __nvapi_undef__out_ecount_full_z\n#endif\n#ifdef __nvapi_undef__out_bcount_full_z\n    #undef __out_bcount_full_z\n    #undef __nvapi_undef__out_bcount_full_z\n#endif\n#ifdef __nvapi_undef__out_nz\n    #undef __out_nz\n    #undef __nvapi_undef__out_nz\n#endif\n#ifdef __nvapi_undef__out_nz_opt\n    #undef __out_nz_opt\n    #undef __nvapi_undef__out_nz_opt\n#endif\n#ifdef __nvapi_undef__out_ecount_nz\n    #undef __out_ecount_nz\n    #undef __nvapi_undef__out_ecount_nz\n#endif\n#ifdef __nvapi_undef__out_bcount_nz\n    #undef __out_bcount_nz\n    #undef __nvapi_undef__out_bcount_nz\n#endif\n#ifdef __nvapi_undef__inout\n    #undef __inout\n    #undef __nvapi_undef__inout\n#endif\n#ifdef __nvapi_undef__inout_ecount\n    #undef __inout_ecount\n    #undef __nvapi_undef__inout_ecount\n#endif\n#ifdef __nvapi_undef__inout_bcount\n    #undef __inout_bcount\n    #undef __nvapi_undef__inout_bcount\n#endif\n#ifdef __nvapi_undef__inout_ecount_part\n    #undef __inout_ecount_part\n    #undef __nvapi_undef__inout_ecount_part\n#endif\n#ifdef __nvapi_undef__inout_bcount_part\n    #undef __inout_bcount_part\n    #undef __nvapi_undef__inout_bcount_part\n#endif\n#ifdef __nvapi_undef__inout_ecount_full\n    #undef __inout_ecount_full\n    #undef __nvapi_undef__inout_ecount_full\n#endif\n#ifdef __nvapi_undef__inout_bcount_full\n    #undef __inout_bcount_full\n    #undef __nvapi_undef__inout_bcount_full\n#endif\n#ifdef __nvapi_undef__inout_z\n    #undef __inout_z\n    #undef __nvapi_undef__inout_z\n#endif\n#ifdef __nvapi_undef__inout_ecount_z\n    #undef __inout_ecount_z\n    #undef __nvapi_undef__inout_ecount_z\n#endif\n#ifdef __nvapi_undef__inout_bcount_z\n    #undef __inout_bcount_z\n    #undef __nvapi_undef__inout_bcount_z\n#endif\n#ifdef __nvapi_undef__inout_nz\n    #undef __inout_nz\n    #undef __nvapi_undef__inout_nz\n#endif\n#ifdef __nvapi_undef__inout_ecount_nz\n    #undef __inout_ecount_nz\n    #undef __nvapi_undef__inout_ecount_nz\n#endif\n#ifdef __nvapi_undef__inout_bcount_nz\n    #undef __inout_bcount_nz\n    #undef __nvapi_undef__inout_bcount_nz\n#endif\n#ifdef __nvapi_undef__ecount_opt\n    #undef __ecount_opt\n    #undef __nvapi_undef__ecount_opt\n#endif\n#ifdef __nvapi_undef__bcount_opt\n    #undef __bcount_opt\n    #undef __nvapi_undef__bcount_opt\n#endif\n#ifdef __nvapi_undef__in_opt\n    #undef __in_opt\n    #undef __nvapi_undef__in_opt\n#endif\n#ifdef __nvapi_undef__in_ecount_opt\n    #undef __in_ecount_opt\n    #undef __nvapi_undef__in_ecount_opt\n#endif\n#ifdef __nvapi_undef__in_bcount_opt\n    #undef __in_bcount_opt\n    #undef __nvapi_undef__in_bcount_opt\n#endif\n#ifdef __nvapi_undef__in_z_opt\n    #undef __in_z_opt\n    #undef __nvapi_undef__in_z_opt\n#endif\n#ifdef __nvapi_undef__in_ecount_z_opt\n    #undef __in_ecount_z_opt\n    #undef __nvapi_undef__in_ecount_z_opt\n#endif\n#ifdef __nvapi_undef__in_bcount_z_opt\n    #undef __in_bcount_z_opt\n    #undef __nvapi_undef__in_bcount_z_opt\n#endif\n#ifdef __nvapi_undef__in_nz_opt\n    #undef __in_nz_opt\n    #undef __nvapi_undef__in_nz_opt\n#endif\n#ifdef __nvapi_undef__in_ecount_nz_opt\n    #undef __in_ecount_nz_opt\n    #undef __nvapi_undef__in_ecount_nz_opt\n#endif\n#ifdef __nvapi_undef__in_bcount_nz_opt\n    #undef __in_bcount_nz_opt\n    #undef __nvapi_undef__in_bcount_nz_opt\n#endif\n#ifdef __nvapi_undef__out_opt\n    #undef __out_opt\n    #undef __nvapi_undef__out_opt\n#endif\n#ifdef __nvapi_undef__out_ecount_opt\n    #undef __out_ecount_opt\n    #undef __nvapi_undef__out_ecount_opt\n#endif\n#ifdef __nvapi_undef__out_bcount_opt\n    #undef __out_bcount_opt\n    #undef __nvapi_undef__out_bcount_opt\n#endif\n#ifdef __nvapi_undef__out_ecount_part_opt\n    #undef __out_ecount_part_opt\n    #undef __nvapi_undef__out_ecount_part_opt\n#endif\n#ifdef __nvapi_undef__out_bcount_part_opt\n    #undef __out_bcount_part_opt\n    #undef __nvapi_undef__out_bcount_part_opt\n#endif\n#ifdef __nvapi_undef__out_ecount_full_opt\n    #undef __out_ecount_full_opt\n    #undef __nvapi_undef__out_ecount_full_opt\n#endif\n#ifdef __nvapi_undef__out_bcount_full_opt\n    #undef __out_bcount_full_opt\n    #undef __nvapi_undef__out_bcount_full_opt\n#endif\n#ifdef __nvapi_undef__out_ecount_z_opt\n    #undef __out_ecount_z_opt\n    #undef __nvapi_undef__out_ecount_z_opt\n#endif\n#ifdef __nvapi_undef__out_bcount_z_opt\n    #undef __out_bcount_z_opt\n    #undef __nvapi_undef__out_bcount_z_opt\n#endif\n#ifdef __nvapi_undef__out_ecount_part_z_opt\n    #undef __out_ecount_part_z_opt\n    #undef __nvapi_undef__out_ecount_part_z_opt\n#endif\n#ifdef __nvapi_undef__out_bcount_part_z_opt\n    #undef __out_bcount_part_z_opt\n    #undef __nvapi_undef__out_bcount_part_z_opt\n#endif\n#ifdef __nvapi_undef__out_ecount_full_z_opt\n    #undef __out_ecount_full_z_opt\n    #undef __nvapi_undef__out_ecount_full_z_opt\n#endif\n#ifdef __nvapi_undef__out_bcount_full_z_opt\n    #undef __out_bcount_full_z_opt\n    #undef __nvapi_undef__out_bcount_full_z_opt\n#endif\n#ifdef __nvapi_undef__out_ecount_nz_opt\n    #undef __out_ecount_nz_opt\n    #undef __nvapi_undef__out_ecount_nz_opt\n#endif\n#ifdef __nvapi_undef__out_bcount_nz_opt\n    #undef __out_bcount_nz_opt\n    #undef __nvapi_undef__out_bcount_nz_opt\n#endif\n#ifdef __nvapi_undef__inout_opt\n    #undef __inout_opt\n    #undef __nvapi_undef__inout_opt\n#endif\n#ifdef __nvapi_undef__inout_ecount_opt\n    #undef __inout_ecount_opt\n    #undef __nvapi_undef__inout_ecount_opt\n#endif\n#ifdef __nvapi_undef__inout_bcount_opt\n    #undef __inout_bcount_opt\n    #undef __nvapi_undef__inout_bcount_opt\n#endif\n#ifdef __nvapi_undef__inout_ecount_part_opt\n    #undef __inout_ecount_part_opt\n    #undef __nvapi_undef__inout_ecount_part_opt\n#endif\n#ifdef __nvapi_undef__inout_bcount_part_opt\n    #undef __inout_bcount_part_opt\n    #undef __nvapi_undef__inout_bcount_part_opt\n#endif\n#ifdef __nvapi_undef__inout_ecount_full_opt\n    #undef __inout_ecount_full_opt\n    #undef __nvapi_undef__inout_ecount_full_opt\n#endif\n#ifdef __nvapi_undef__inout_bcount_full_opt\n    #undef __inout_bcount_full_opt\n    #undef __nvapi_undef__inout_bcount_full_opt\n#endif\n#ifdef __nvapi_undef__inout_z_opt\n    #undef __inout_z_opt\n    #undef __nvapi_undef__inout_z_opt\n#endif\n#ifdef __nvapi_undef__inout_ecount_z_opt\n    #undef __inout_ecount_z_opt\n    #undef __nvapi_undef__inout_ecount_z_opt\n#endif\n#ifdef __nvapi_undef__inout_ecount_z_opt\n    #undef __inout_ecount_z_opt\n    #undef __nvapi_undef__inout_ecount_z_opt\n#endif\n#ifdef __nvapi_undef__inout_bcount_z_opt\n    #undef __inout_bcount_z_opt\n    #undef __nvapi_undef__inout_bcount_z_opt\n#endif\n#ifdef __nvapi_undef__inout_nz_opt\n    #undef __inout_nz_opt\n    #undef __nvapi_undef__inout_nz_opt\n#endif\n#ifdef __nvapi_undef__inout_ecount_nz_opt\n    #undef __inout_ecount_nz_opt\n    #undef __nvapi_undef__inout_ecount_nz_opt\n#endif\n#ifdef __nvapi_undef__inout_bcount_nz_opt\n    #undef __inout_bcount_nz_opt\n    #undef __nvapi_undef__inout_bcount_nz_opt\n#endif\n#ifdef __nvapi_undef__deref_ecount\n    #undef __deref_ecount\n    #undef __nvapi_undef__deref_ecount\n#endif\n#ifdef __nvapi_undef__deref_bcount\n    #undef __deref_bcount\n    #undef __nvapi_undef__deref_bcount\n#endif\n#ifdef __nvapi_undef__deref_out\n    #undef __deref_out\n    #undef __nvapi_undef__deref_out\n#endif\n#ifdef __nvapi_undef__deref_out_ecount\n    #undef __deref_out_ecount\n    #undef __nvapi_undef__deref_out_ecount\n#endif\n#ifdef __nvapi_undef__deref_out_bcount\n    #undef __deref_out_bcount\n    #undef __nvapi_undef__deref_out_bcount\n#endif\n#ifdef __nvapi_undef__deref_out_ecount_part\n    #undef __deref_out_ecount_part\n    #undef __nvapi_undef__deref_out_ecount_part\n#endif\n#ifdef __nvapi_undef__deref_out_bcount_part\n    #undef __deref_out_bcount_part\n    #undef __nvapi_undef__deref_out_bcount_part\n#endif\n#ifdef __nvapi_undef__deref_out_ecount_full\n    #undef __deref_out_ecount_full\n    #undef __nvapi_undef__deref_out_ecount_full\n#endif\n#ifdef __nvapi_undef__deref_out_bcount_full\n    #undef __deref_out_bcount_full\n    #undef __nvapi_undef__deref_out_bcount_full\n#endif\n#ifdef __nvapi_undef__deref_out_z\n    #undef __deref_out_z\n    #undef __nvapi_undef__deref_out_z\n#endif\n#ifdef __nvapi_undef__deref_out_ecount_z\n    #undef __deref_out_ecount_z\n    #undef __nvapi_undef__deref_out_ecount_z\n#endif\n#ifdef __nvapi_undef__deref_out_bcount_z\n    #undef __deref_out_bcount_z\n    #undef __nvapi_undef__deref_out_bcount_z\n#endif\n#ifdef __nvapi_undef__deref_out_nz\n    #undef __deref_out_nz\n    #undef __nvapi_undef__deref_out_nz\n#endif\n#ifdef __nvapi_undef__deref_out_ecount_nz\n    #undef __deref_out_ecount_nz\n    #undef __nvapi_undef__deref_out_ecount_nz\n#endif\n#ifdef __nvapi_undef__deref_out_bcount_nz\n    #undef __deref_out_bcount_nz\n    #undef __nvapi_undef__deref_out_bcount_nz\n#endif\n#ifdef __nvapi_undef__deref_inout\n    #undef __deref_inout\n    #undef __nvapi_undef__deref_inout\n#endif\n#ifdef __nvapi_undef__deref_inout_z\n    #undef __deref_inout_z\n    #undef __nvapi_undef__deref_inout_z\n#endif\n#ifdef __nvapi_undef__deref_inout_ecount\n    #undef __deref_inout_ecount\n    #undef __nvapi_undef__deref_inout_ecount\n#endif\n#ifdef __nvapi_undef__deref_inout_bcount\n    #undef __deref_inout_bcount\n    #undef __nvapi_undef__deref_inout_bcount\n#endif\n#ifdef __nvapi_undef__deref_inout_ecount_part\n    #undef __deref_inout_ecount_part\n    #undef __nvapi_undef__deref_inout_ecount_part\n#endif\n#ifdef __nvapi_undef__deref_inout_bcount_part\n    #undef __deref_inout_bcount_part\n    #undef __nvapi_undef__deref_inout_bcount_part\n#endif\n#ifdef __nvapi_undef__deref_inout_ecount_full\n    #undef __deref_inout_ecount_full\n    #undef __nvapi_undef__deref_inout_ecount_full\n#endif\n#ifdef __nvapi_undef__deref_inout_bcount_full\n    #undef __deref_inout_bcount_full\n    #undef __nvapi_undef__deref_inout_bcount_full\n#endif\n#ifdef __nvapi_undef__deref_inout_z\n    #undef __deref_inout_z\n    #undef __nvapi_undef__deref_inout_z\n#endif\n#ifdef __nvapi_undef__deref_inout_ecount_z\n    #undef __deref_inout_ecount_z\n    #undef __nvapi_undef__deref_inout_ecount_z\n#endif\n#ifdef __nvapi_undef__deref_inout_bcount_z\n    #undef __deref_inout_bcount_z\n    #undef __nvapi_undef__deref_inout_bcount_z\n#endif\n#ifdef __nvapi_undef__deref_inout_nz\n    #undef __deref_inout_nz\n    #undef __nvapi_undef__deref_inout_nz\n#endif\n#ifdef __nvapi_undef__deref_inout_ecount_nz\n    #undef __deref_inout_ecount_nz\n    #undef __nvapi_undef__deref_inout_ecount_nz\n#endif\n#ifdef __nvapi_undef__deref_inout_bcount_nz\n    #undef __deref_inout_bcount_nz\n    #undef __nvapi_undef__deref_inout_bcount_nz\n#endif\n#ifdef __nvapi_undef__deref_ecount_opt\n    #undef __deref_ecount_opt\n    #undef __nvapi_undef__deref_ecount_opt\n#endif\n#ifdef __nvapi_undef__deref_bcount_opt\n    #undef __deref_bcount_opt\n    #undef __nvapi_undef__deref_bcount_opt\n#endif\n#ifdef __nvapi_undef__deref_out_opt\n    #undef __deref_out_opt\n    #undef __nvapi_undef__deref_out_opt\n#endif\n#ifdef __nvapi_undef__deref_out_ecount_opt\n    #undef __deref_out_ecount_opt\n    #undef __nvapi_undef__deref_out_ecount_opt\n#endif\n#ifdef __nvapi_undef__deref_out_bcount_opt\n    #undef __deref_out_bcount_opt\n    #undef __nvapi_undef__deref_out_bcount_opt\n#endif\n#ifdef __nvapi_undef__deref_out_ecount_part_opt\n    #undef __deref_out_ecount_part_opt\n    #undef __nvapi_undef__deref_out_ecount_part_opt\n#endif\n#ifdef __nvapi_undef__deref_out_bcount_part_opt\n    #undef __deref_out_bcount_part_opt\n    #undef __nvapi_undef__deref_out_bcount_part_opt\n#endif\n#ifdef __nvapi_undef__deref_out_ecount_full_opt\n    #undef __deref_out_ecount_full_opt\n    #undef __nvapi_undef__deref_out_ecount_full_opt\n#endif\n#ifdef __nvapi_undef__deref_out_bcount_full_opt\n    #undef __deref_out_bcount_full_opt\n    #undef __nvapi_undef__deref_out_bcount_full_opt\n#endif\n#ifdef __nvapi_undef__deref_out_z_opt\n    #undef __deref_out_z_opt\n    #undef __nvapi_undef__deref_out_z_opt\n#endif\n#ifdef __nvapi_undef__deref_out_ecount_z_opt\n    #undef __deref_out_ecount_z_opt\n    #undef __nvapi_undef__deref_out_ecount_z_opt\n#endif\n#ifdef __nvapi_undef__deref_out_bcount_z_opt\n    #undef __deref_out_bcount_z_opt\n    #undef __nvapi_undef__deref_out_bcount_z_opt\n#endif\n#ifdef __nvapi_undef__deref_out_nz_opt\n    #undef __deref_out_nz_opt\n    #undef __nvapi_undef__deref_out_nz_opt\n#endif\n#ifdef __nvapi_undef__deref_out_ecount_nz_opt\n    #undef __deref_out_ecount_nz_opt\n    #undef __nvapi_undef__deref_out_ecount_nz_opt\n#endif\n#ifdef __nvapi_undef__deref_out_bcount_nz_opt\n    #undef __deref_out_bcount_nz_opt\n    #undef __nvapi_undef__deref_out_bcount_nz_opt\n#endif\n#ifdef __nvapi_undef__deref_inout_opt\n    #undef __deref_inout_opt\n    #undef __nvapi_undef__deref_inout_opt\n#endif\n#ifdef __nvapi_undef__deref_inout_ecount_opt\n    #undef __deref_inout_ecount_opt\n    #undef __nvapi_undef__deref_inout_ecount_opt\n#endif\n#ifdef __nvapi_undef__deref_inout_bcount_opt\n    #undef __deref_inout_bcount_opt\n    #undef __nvapi_undef__deref_inout_bcount_opt\n#endif\n#ifdef __nvapi_undef__deref_inout_ecount_part_opt\n    #undef __deref_inout_ecount_part_opt\n    #undef __nvapi_undef__deref_inout_ecount_part_opt\n#endif\n#ifdef __nvapi_undef__deref_inout_bcount_part_opt\n    #undef __deref_inout_bcount_part_opt\n    #undef __nvapi_undef__deref_inout_bcount_part_opt\n#endif\n#ifdef __nvapi_undef__deref_inout_ecount_full_opt\n    #undef __deref_inout_ecount_full_opt\n    #undef __nvapi_undef__deref_inout_ecount_full_opt\n#endif\n#ifdef __nvapi_undef__deref_inout_bcount_full_opt\n    #undef __deref_inout_bcount_full_opt\n    #undef __nvapi_undef__deref_inout_bcount_full_opt\n#endif\n#ifdef __nvapi_undef__deref_inout_z_opt\n    #undef __deref_inout_z_opt\n    #undef __nvapi_undef__deref_inout_z_opt\n#endif\n#ifdef __nvapi_undef__deref_inout_ecount_z_opt\n    #undef __deref_inout_ecount_z_opt\n    #undef __nvapi_undef__deref_inout_ecount_z_opt\n#endif\n#ifdef __nvapi_undef__deref_inout_bcount_z_opt\n    #undef __deref_inout_bcount_z_opt\n    #undef __nvapi_undef__deref_inout_bcount_z_opt\n#endif\n#ifdef __nvapi_undef__deref_inout_nz_opt\n    #undef __deref_inout_nz_opt\n    #undef __nvapi_undef__deref_inout_nz_opt\n#endif\n#ifdef __nvapi_undef__deref_inout_ecount_nz_opt\n    #undef __deref_inout_ecount_nz_opt\n    #undef __nvapi_undef__deref_inout_ecount_nz_opt\n#endif\n#ifdef __nvapi_undef__deref_inout_bcount_nz_opt\n    #undef __deref_inout_bcount_nz_opt\n    #undef __nvapi_undef__deref_inout_bcount_nz_opt\n#endif\n#ifdef __nvapi_undef__deref_opt_ecount\n    #undef __deref_opt_ecount\n    #undef __nvapi_undef__deref_opt_ecount\n#endif\n#ifdef __nvapi_undef__deref_opt_bcount\n    #undef __deref_opt_bcount\n    #undef __nvapi_undef__deref_opt_bcount\n#endif\n#ifdef __nvapi_undef__deref_opt_out\n    #undef __deref_opt_out\n    #undef __nvapi_undef__deref_opt_out\n#endif\n#ifdef __nvapi_undef__deref_opt_out_z\n    #undef __deref_opt_out_z\n    #undef __nvapi_undef__deref_opt_out_z\n#endif\n#ifdef __nvapi_undef__deref_opt_out_ecount\n    #undef __deref_opt_out_ecount\n    #undef __nvapi_undef__deref_opt_out_ecount\n#endif\n#ifdef __nvapi_undef__deref_opt_out_bcount\n    #undef __deref_opt_out_bcount\n    #undef __nvapi_undef__deref_opt_out_bcount\n#endif\n#ifdef __nvapi_undef__deref_opt_out_ecount_part\n    #undef __deref_opt_out_ecount_part\n    #undef __nvapi_undef__deref_opt_out_ecount_part\n#endif\n#ifdef __nvapi_undef__deref_opt_out_bcount_part\n    #undef __deref_opt_out_bcount_part\n    #undef __nvapi_undef__deref_opt_out_bcount_part\n#endif\n#ifdef __nvapi_undef__deref_opt_out_ecount_full\n    #undef __deref_opt_out_ecount_full\n    #undef __nvapi_undef__deref_opt_out_ecount_full\n#endif\n#ifdef __nvapi_undef__deref_opt_out_bcount_full\n    #undef __deref_opt_out_bcount_full\n    #undef __nvapi_undef__deref_opt_out_bcount_full\n#endif\n#ifdef __nvapi_undef__deref_opt_inout\n    #undef __deref_opt_inout\n    #undef __nvapi_undef__deref_opt_inout\n#endif\n#ifdef __nvapi_undef__deref_opt_inout_ecount\n    #undef __deref_opt_inout_ecount\n    #undef __nvapi_undef__deref_opt_inout_ecount\n#endif\n#ifdef __nvapi_undef__deref_opt_inout_bcount\n    #undef __deref_opt_inout_bcount\n    #undef __nvapi_undef__deref_opt_inout_bcount\n#endif\n#ifdef __nvapi_undef__deref_opt_inout_ecount_part\n    #undef __deref_opt_inout_ecount_part\n    #undef __nvapi_undef__deref_opt_inout_ecount_part\n#endif\n#ifdef __nvapi_undef__deref_opt_inout_bcount_part\n    #undef __deref_opt_inout_bcount_part\n    #undef __nvapi_undef__deref_opt_inout_bcount_part\n#endif\n#ifdef __nvapi_undef__deref_opt_inout_ecount_full\n    #undef __deref_opt_inout_ecount_full\n    #undef __nvapi_undef__deref_opt_inout_ecount_full\n#endif\n#ifdef __nvapi_undef__deref_opt_inout_bcount_full\n    #undef __deref_opt_inout_bcount_full\n    #undef __nvapi_undef__deref_opt_inout_bcount_full\n#endif\n#ifdef __nvapi_undef__deref_opt_inout_z\n    #undef __deref_opt_inout_z\n    #undef __nvapi_undef__deref_opt_inout_z\n#endif\n#ifdef __nvapi_undef__deref_opt_inout_ecount_z\n    #undef __deref_opt_inout_ecount_z\n    #undef __nvapi_undef__deref_opt_inout_ecount_z\n#endif\n#ifdef __nvapi_undef__deref_opt_inout_bcount_z\n    #undef __deref_opt_inout_bcount_z\n    #undef __nvapi_undef__deref_opt_inout_bcount_z\n#endif\n#ifdef __nvapi_undef__deref_opt_inout_nz\n    #undef __deref_opt_inout_nz\n    #undef __nvapi_undef__deref_opt_inout_nz\n#endif\n#ifdef __nvapi_undef__deref_opt_inout_ecount_nz\n    #undef __deref_opt_inout_ecount_nz\n    #undef __nvapi_undef__deref_opt_inout_ecount_nz\n#endif\n#ifdef __nvapi_undef__deref_opt_inout_bcount_nz\n    #undef __deref_opt_inout_bcount_nz\n    #undef __nvapi_undef__deref_opt_inout_bcount_nz\n#endif\n#ifdef __nvapi_undef__deref_opt_ecount_opt\n    #undef __deref_opt_ecount_opt\n    #undef __nvapi_undef__deref_opt_ecount_opt\n#endif\n#ifdef __nvapi_undef__deref_opt_bcount_opt\n    #undef __deref_opt_bcount_opt\n    #undef __nvapi_undef__deref_opt_bcount_opt\n#endif\n#ifdef __nvapi_undef__deref_opt_out_opt\n    #undef __deref_opt_out_opt\n    #undef __nvapi_undef__deref_opt_out_opt\n#endif\n#ifdef __nvapi_undef__deref_opt_out_ecount_opt\n    #undef __deref_opt_out_ecount_opt\n    #undef __nvapi_undef__deref_opt_out_ecount_opt\n#endif\n#ifdef __nvapi_undef__deref_opt_out_bcount_opt\n    #undef __deref_opt_out_bcount_opt\n    #undef __nvapi_undef__deref_opt_out_bcount_opt\n#endif\n#ifdef __nvapi_undef__deref_opt_out_ecount_part_opt\n    #undef __deref_opt_out_ecount_part_opt\n    #undef __nvapi_undef__deref_opt_out_ecount_part_opt\n#endif\n#ifdef __nvapi_undef__deref_opt_out_bcount_part_opt\n    #undef __deref_opt_out_bcount_part_opt\n    #undef __nvapi_undef__deref_opt_out_bcount_part_opt\n#endif\n#ifdef __nvapi_undef__deref_opt_out_ecount_full_opt\n    #undef __deref_opt_out_ecount_full_opt\n    #undef __nvapi_undef__deref_opt_out_ecount_full_opt\n#endif\n#ifdef __nvapi_undef__deref_opt_out_bcount_full_opt\n    #undef __deref_opt_out_bcount_full_opt\n    #undef __nvapi_undef__deref_opt_out_bcount_full_opt\n#endif\n#ifdef __nvapi_undef__deref_opt_out_z_opt\n    #undef __deref_opt_out_z_opt\n    #undef __nvapi_undef__deref_opt_out_z_opt\n#endif\n#ifdef __nvapi_undef__deref_opt_out_ecount_z_opt\n    #undef __deref_opt_out_ecount_z_opt\n    #undef __nvapi_undef__deref_opt_out_ecount_z_opt\n#endif\n#ifdef __nvapi_undef__deref_opt_out_bcount_z_opt\n    #undef __deref_opt_out_bcount_z_opt\n    #undef __nvapi_undef__deref_opt_out_bcount_z_opt\n#endif\n#ifdef __nvapi_undef__deref_opt_out_nz_opt\n    #undef __deref_opt_out_nz_opt\n    #undef __nvapi_undef__deref_opt_out_nz_opt\n#endif\n#ifdef __nvapi_undef__deref_opt_out_ecount_nz_opt\n    #undef __deref_opt_out_ecount_nz_opt\n    #undef __nvapi_undef__deref_opt_out_ecount_nz_opt\n#endif\n#ifdef __nvapi_undef__deref_opt_out_bcount_nz_opt\n    #undef __deref_opt_out_bcount_nz_opt\n    #undef __nvapi_undef__deref_opt_out_bcount_nz_opt\n#endif\n#ifdef __nvapi_undef__deref_opt_inout_opt\n    #undef __deref_opt_inout_opt\n    #undef __nvapi_undef__deref_opt_inout_opt\n#endif\n#ifdef __nvapi_undef__deref_opt_inout_ecount_opt\n    #undef __deref_opt_inout_ecount_opt\n    #undef __nvapi_undef__deref_opt_inout_ecount_opt\n#endif\n#ifdef __nvapi_undef__deref_opt_inout_bcount_opt\n    #undef __deref_opt_inout_bcount_opt\n    #undef __nvapi_undef__deref_opt_inout_bcount_opt\n#endif\n#ifdef __nvapi_undef__deref_opt_inout_ecount_part_opt\n    #undef __deref_opt_inout_ecount_part_opt\n    #undef __nvapi_undef__deref_opt_inout_ecount_part_opt\n#endif\n#ifdef __nvapi_undef__deref_opt_inout_bcount_part_opt\n    #undef __deref_opt_inout_bcount_part_opt\n    #undef __nvapi_undef__deref_opt_inout_bcount_part_opt\n#endif\n#ifdef __nvapi_undef__deref_opt_inout_ecount_full_opt\n    #undef __deref_opt_inout_ecount_full_opt\n    #undef __nvapi_undef__deref_opt_inout_ecount_full_opt\n#endif\n#ifdef __nvapi_undef__deref_opt_inout_bcount_full_opt\n    #undef __deref_opt_inout_bcount_full_opt\n    #undef __nvapi_undef__deref_opt_inout_bcount_full_opt\n#endif\n#ifdef __nvapi_undef__deref_opt_inout_z_opt\n    #undef __deref_opt_inout_z_opt\n    #undef __nvapi_undef__deref_opt_inout_z_opt\n#endif\n#ifdef __nvapi_undef__deref_opt_inout_ecount_z_opt\n    #undef __deref_opt_inout_ecount_z_opt\n    #undef __nvapi_undef__deref_opt_inout_ecount_z_opt\n#endif\n#ifdef __nvapi_undef__deref_opt_inout_bcount_z_opt\n    #undef __deref_opt_inout_bcount_z_opt\n    #undef __nvapi_undef__deref_opt_inout_bcount_z_opt\n#endif\n#ifdef __nvapi_undef__deref_opt_inout_nz_opt\n    #undef __deref_opt_inout_nz_opt\n    #undef __nvapi_undef__deref_opt_inout_nz_opt\n#endif\n#ifdef __nvapi_undef__deref_opt_inout_ecount_nz_opt\n    #undef __deref_opt_inout_ecount_nz_opt\n    #undef __nvapi_undef__deref_opt_inout_ecount_nz_opt\n#endif\n#ifdef __nvapi_undef__deref_opt_inout_bcount_nz_opt\n    #undef __deref_opt_inout_bcount_nz_opt\n    #undef __nvapi_undef__deref_opt_inout_bcount_nz_opt\n#endif\n#ifdef __nvapi_success\n    #undef __success\n    #undef __nvapi_success\n#endif\n#ifdef __nvapi__Ret_notnull_\n    #undef __nvapi__Ret_notnull_\n    #undef _Ret_notnull_\n#endif\n#ifdef __nvapi__Post_writable_byte_size_\n    #undef __nvapi__Post_writable_byte_size_\n    #undef _Post_writable_byte_size_\n#endif\n#ifdef __nvapi_Outptr_ \n    #undef __nvapi_Outptr_ \n    #undef _Outptr_ \n#endif\n\n#endif // __NVAPI_EMPTY_SAL\n"
  },
  {
    "path": "external/nvapi/include/nvapi_lite_salstart.h",
    "content": " /************************************************************************************************************************************\\\n|*                                                                                                                                    *|\n|*     Copyright  2012 NVIDIA Corporation.  All rights reserved.                                                                     *|\n|*                                                                                                                                    *|\n|*  NOTICE TO USER:                                                                                                                   *|\n|*                                                                                                                                    *|\n|*  This software is subject to NVIDIA ownership rights under U.S. and international Copyright laws.                                  *|\n|*                                                                                                                                    *|\n|*  This software and the information contained herein are PROPRIETARY and CONFIDENTIAL to NVIDIA                                     *|\n|*  and are being provided solely under the terms and conditions of an NVIDIA software license agreement.                             *|\n|*  Otherwise, you have no rights to use or access this software in any manner.                                                       *|\n|*                                                                                                                                    *|\n|*  If not covered by the applicable NVIDIA software license agreement:                                                               *|\n|*  NVIDIA MAKES NO REPRESENTATION ABOUT THE SUITABILITY OF THIS SOFTWARE FOR ANY PURPOSE.                                            *|\n|*  IT IS PROVIDED \"AS IS\" WITHOUT EXPRESS OR IMPLIED WARRANTY OF ANY KIND.                                                           *|\n|*  NVIDIA DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,                                                                     *|\n|*  INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE.                       *|\n|*  IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES,                               *|\n|*  OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,  WHETHER IN AN ACTION OF CONTRACT,                         *|\n|*  NEGLIGENCE OR OTHER TORTIOUS ACTION,  ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOURCE CODE.            *|\n|*                                                                                                                                    *|\n|*  U.S. Government End Users.                                                                                                        *|\n|*  This software is a \"commercial item\" as that term is defined at 48 C.F.R. 2.101 (OCT 1995),                                       *|\n|*  consisting  of \"commercial computer  software\"  and \"commercial computer software documentation\"                                  *|\n|*  as such terms are  used in 48 C.F.R. 12.212 (SEPT 1995) and is provided to the U.S. Government only as a commercial end item.     *|\n|*  Consistent with 48 C.F.R.12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (JUNE 1995),                                          *|\n|*  all U.S. Government End Users acquire the software with only those rights set forth herein.                                       *|\n|*                                                                                                                                    *|\n|*  Any use of this software in individual and commercial software must include,                                                      *|\n|*  in the user documentation and internal comments to the code,                                                                      *|\n|*  the above Disclaimer (as applicable) and U.S. Government End Users Notice.                                                        *|\n|*                                                                                                                                    *|\n \\************************************************************************************************************************************/\n\n// ====================================================\n// SAL related support\n// ====================================================\n\n#ifndef __ecount\n    #define __nvapi_undef__ecount\n    #define __ecount(size)\n#endif\n#ifndef __bcount\n    #define __nvapi_undef__bcount\n    #define __bcount(size)\n#endif\n#ifndef __in\n    #define __nvapi_undef__in\n    #define __in\n#endif\n#ifndef __in_ecount\n    #define __nvapi_undef__in_ecount\n    #define __in_ecount(size)\n#endif\n#ifndef __in_bcount\n    #define __nvapi_undef__in_bcount\n    #define __in_bcount(size)\n#endif\n#ifndef __in_z\n    #define __nvapi_undef__in_z\n    #define __in_z\n#endif\n#ifndef __in_ecount_z\n    #define __nvapi_undef__in_ecount_z\n    #define __in_ecount_z(size)\n#endif\n#ifndef __in_bcount_z\n    #define __nvapi_undef__in_bcount_z\n    #define __in_bcount_z(size)\n#endif\n#ifndef __in_nz\n    #define __nvapi_undef__in_nz\n    #define __in_nz\n#endif\n#ifndef __in_ecount_nz\n    #define __nvapi_undef__in_ecount_nz\n    #define __in_ecount_nz(size)\n#endif\n#ifndef __in_bcount_nz\n    #define __nvapi_undef__in_bcount_nz\n    #define __in_bcount_nz(size)\n#endif\n#ifndef __out\n    #define __nvapi_undef__out\n    #define __out\n#endif\n#ifndef __out_ecount\n    #define __nvapi_undef__out_ecount\n    #define __out_ecount(size)\n#endif\n#ifndef __out_bcount\n    #define __nvapi_undef__out_bcount\n    #define __out_bcount(size)\n#endif\n#ifndef __out_ecount_part\n    #define __nvapi_undef__out_ecount_part\n    #define __out_ecount_part(size,length)\n#endif\n#ifndef __out_bcount_part\n    #define __nvapi_undef__out_bcount_part\n    #define __out_bcount_part(size,length)\n#endif\n#ifndef __out_ecount_full\n    #define __nvapi_undef__out_ecount_full\n    #define __out_ecount_full(size)\n#endif\n#ifndef __out_bcount_full\n    #define __nvapi_undef__out_bcount_full\n    #define __out_bcount_full(size)\n#endif\n#ifndef __out_z\n    #define __nvapi_undef__out_z\n    #define __out_z\n#endif\n#ifndef __out_z_opt\n    #define __nvapi_undef__out_z_opt\n    #define __out_z_opt\n#endif\n#ifndef __out_ecount_z\n    #define __nvapi_undef__out_ecount_z\n    #define __out_ecount_z(size)\n#endif\n#ifndef __out_bcount_z\n    #define __nvapi_undef__out_bcount_z\n    #define __out_bcount_z(size)\n#endif\n#ifndef __out_ecount_part_z\n    #define __nvapi_undef__out_ecount_part_z\n    #define __out_ecount_part_z(size,length)\n#endif\n#ifndef __out_bcount_part_z\n    #define __nvapi_undef__out_bcount_part_z\n    #define __out_bcount_part_z(size,length)\n#endif\n#ifndef __out_ecount_full_z\n    #define __nvapi_undef__out_ecount_full_z\n    #define __out_ecount_full_z(size)\n#endif\n#ifndef __out_bcount_full_z\n    #define __nvapi_undef__out_bcount_full_z\n    #define __out_bcount_full_z(size)\n#endif\n#ifndef __out_nz\n    #define __nvapi_undef__out_nz\n    #define __out_nz\n#endif\n#ifndef __out_nz_opt\n    #define __nvapi_undef__out_nz_opt\n    #define __out_nz_opt\n#endif\n#ifndef __out_ecount_nz\n    #define __nvapi_undef__out_ecount_nz\n    #define __out_ecount_nz(size)\n#endif\n#ifndef __out_bcount_nz\n    #define __nvapi_undef__out_bcount_nz\n    #define __out_bcount_nz(size)\n#endif\n#ifndef __inout\n    #define __nvapi_undef__inout\n    #define __inout\n#endif\n#ifndef __inout_ecount\n    #define __nvapi_undef__inout_ecount\n    #define __inout_ecount(size)\n#endif\n#ifndef __inout_bcount\n    #define __nvapi_undef__inout_bcount\n    #define __inout_bcount(size)\n#endif\n#ifndef __inout_ecount_part\n    #define __nvapi_undef__inout_ecount_part\n    #define __inout_ecount_part(size,length)\n#endif\n#ifndef __inout_bcount_part\n    #define __nvapi_undef__inout_bcount_part\n    #define __inout_bcount_part(size,length)\n#endif\n#ifndef __inout_ecount_full\n    #define __nvapi_undef__inout_ecount_full\n    #define __inout_ecount_full(size)\n#endif\n#ifndef __inout_bcount_full\n    #define __nvapi_undef__inout_bcount_full\n    #define __inout_bcount_full(size)\n#endif\n#ifndef __inout_z\n    #define __nvapi_undef__inout_z\n    #define __inout_z\n#endif\n#ifndef __inout_ecount_z\n    #define __nvapi_undef__inout_ecount_z\n    #define __inout_ecount_z(size)\n#endif\n#ifndef __inout_bcount_z\n    #define __nvapi_undef__inout_bcount_z\n    #define __inout_bcount_z(size)\n#endif\n#ifndef __inout_nz\n    #define __nvapi_undef__inout_nz\n    #define __inout_nz\n#endif\n#ifndef __inout_ecount_nz\n    #define __nvapi_undef__inout_ecount_nz\n    #define __inout_ecount_nz(size)\n#endif\n#ifndef __inout_bcount_nz\n    #define __nvapi_undef__inout_bcount_nz\n    #define __inout_bcount_nz(size)\n#endif\n#ifndef __ecount_opt\n    #define __nvapi_undef__ecount_opt\n    #define __ecount_opt(size)\n#endif\n#ifndef __bcount_opt\n    #define __nvapi_undef__bcount_opt\n    #define __bcount_opt(size)\n#endif\n#ifndef __in_opt\n    #define __nvapi_undef__in_opt\n    #define __in_opt\n#endif\n#ifndef __in_ecount_opt\n    #define __nvapi_undef__in_ecount_opt\n    #define __in_ecount_opt(size)\n#endif\n#ifndef __in_bcount_opt\n    #define __nvapi_undef__in_bcount_opt\n    #define __in_bcount_opt(size)\n#endif\n#ifndef __in_z_opt\n    #define __nvapi_undef__in_z_opt\n    #define __in_z_opt\n#endif\n#ifndef __in_ecount_z_opt\n    #define __nvapi_undef__in_ecount_z_opt\n    #define __in_ecount_z_opt(size)\n#endif\n#ifndef __in_bcount_z_opt\n    #define __nvapi_undef__in_bcount_z_opt\n    #define __in_bcount_z_opt(size)\n#endif\n#ifndef __in_nz_opt\n    #define __nvapi_undef__in_nz_opt\n    #define __in_nz_opt\n#endif\n#ifndef __in_ecount_nz_opt\n    #define __nvapi_undef__in_ecount_nz_opt\n    #define __in_ecount_nz_opt(size)\n#endif\n#ifndef __in_bcount_nz_opt\n    #define __nvapi_undef__in_bcount_nz_opt\n    #define __in_bcount_nz_opt(size)\n#endif\n#ifndef __out_opt\n    #define __nvapi_undef__out_opt\n    #define __out_opt\n#endif\n#ifndef __out_ecount_opt\n    #define __nvapi_undef__out_ecount_opt\n    #define __out_ecount_opt(size)\n#endif\n#ifndef __out_bcount_opt\n    #define __nvapi_undef__out_bcount_opt\n    #define __out_bcount_opt(size)\n#endif\n#ifndef __out_ecount_part_opt\n    #define __nvapi_undef__out_ecount_part_opt\n    #define __out_ecount_part_opt(size,length)\n#endif\n#ifndef __out_bcount_part_opt\n    #define __nvapi_undef__out_bcount_part_opt\n    #define __out_bcount_part_opt(size,length)\n#endif\n#ifndef __out_ecount_full_opt\n    #define __nvapi_undef__out_ecount_full_opt\n    #define __out_ecount_full_opt(size)\n#endif\n#ifndef __out_bcount_full_opt\n    #define __nvapi_undef__out_bcount_full_opt\n    #define __out_bcount_full_opt(size)\n#endif\n#ifndef __out_ecount_z_opt\n    #define __nvapi_undef__out_ecount_z_opt\n    #define __out_ecount_z_opt(size)\n#endif\n#ifndef __out_bcount_z_opt\n    #define __nvapi_undef__out_bcount_z_opt\n    #define __out_bcount_z_opt(size)\n#endif\n#ifndef __out_ecount_part_z_opt\n    #define __nvapi_undef__out_ecount_part_z_opt\n    #define __out_ecount_part_z_opt(size,length)\n#endif\n#ifndef __out_bcount_part_z_opt\n    #define __nvapi_undef__out_bcount_part_z_opt\n    #define __out_bcount_part_z_opt(size,length)\n#endif\n#ifndef __out_ecount_full_z_opt\n    #define __nvapi_undef__out_ecount_full_z_opt\n    #define __out_ecount_full_z_opt(size)\n#endif\n#ifndef __out_bcount_full_z_opt\n    #define __nvapi_undef__out_bcount_full_z_opt\n    #define __out_bcount_full_z_opt(size)\n#endif\n#ifndef __out_ecount_nz_opt\n    #define __nvapi_undef__out_ecount_nz_opt\n    #define __out_ecount_nz_opt(size)\n#endif\n#ifndef __out_bcount_nz_opt\n    #define __nvapi_undef__out_bcount_nz_opt\n    #define __out_bcount_nz_opt(size)\n#endif\n#ifndef __inout_opt\n    #define __nvapi_undef__inout_opt\n    #define __inout_opt\n#endif\n#ifndef __inout_ecount_opt\n    #define __nvapi_undef__inout_ecount_opt\n    #define __inout_ecount_opt(size)\n#endif\n#ifndef __inout_bcount_opt\n    #define __nvapi_undef__inout_bcount_opt\n    #define __inout_bcount_opt(size)\n#endif\n#ifndef __inout_ecount_part_opt\n    #define __nvapi_undef__inout_ecount_part_opt\n    #define __inout_ecount_part_opt(size,length)\n#endif\n#ifndef __inout_bcount_part_opt\n    #define __nvapi_undef__inout_bcount_part_opt\n    #define __inout_bcount_part_opt(size,length)\n#endif\n#ifndef __inout_ecount_full_opt\n    #define __nvapi_undef__inout_ecount_full_opt\n    #define __inout_ecount_full_opt(size)\n#endif\n#ifndef __inout_bcount_full_opt\n    #define __nvapi_undef__inout_bcount_full_opt\n    #define __inout_bcount_full_opt(size)\n#endif\n#ifndef __inout_z_opt\n    #define __nvapi_undef__inout_z_opt\n    #define __inout_z_opt\n#endif\n#ifndef __inout_ecount_z_opt\n    #define __nvapi_undef__inout_ecount_z_opt\n    #define __inout_ecount_z_opt(size)\n#endif\n#ifndef __inout_ecount_z_opt\n    #define __nvapi_undef__inout_ecount_z_opt\n    #define __inout_ecount_z_opt(size)\n#endif\n#ifndef __inout_bcount_z_opt\n    #define __nvapi_undef__inout_bcount_z_opt\n    #define __inout_bcount_z_opt(size)\n#endif\n#ifndef __inout_nz_opt\n    #define __nvapi_undef__inout_nz_opt\n    #define __inout_nz_opt\n#endif\n#ifndef __inout_ecount_nz_opt\n    #define __nvapi_undef__inout_ecount_nz_opt\n    #define __inout_ecount_nz_opt(size)\n#endif\n#ifndef __inout_bcount_nz_opt\n    #define __nvapi_undef__inout_bcount_nz_opt\n    #define __inout_bcount_nz_opt(size)\n#endif\n#ifndef __deref_ecount\n    #define __nvapi_undef__deref_ecount\n    #define __deref_ecount(size)\n#endif\n#ifndef __deref_bcount\n    #define __nvapi_undef__deref_bcount\n    #define __deref_bcount(size)\n#endif\n#ifndef __deref_out\n    #define __nvapi_undef__deref_out\n    #define __deref_out\n#endif\n#ifndef __deref_out_ecount\n    #define __nvapi_undef__deref_out_ecount\n    #define __deref_out_ecount(size)\n#endif\n#ifndef __deref_out_bcount\n    #define __nvapi_undef__deref_out_bcount\n    #define __deref_out_bcount(size)\n#endif\n#ifndef __deref_out_ecount_part\n    #define __nvapi_undef__deref_out_ecount_part\n    #define __deref_out_ecount_part(size,length)\n#endif\n#ifndef __deref_out_bcount_part\n    #define __nvapi_undef__deref_out_bcount_part\n    #define __deref_out_bcount_part(size,length)\n#endif\n#ifndef __deref_out_ecount_full\n    #define __nvapi_undef__deref_out_ecount_full\n    #define __deref_out_ecount_full(size)\n#endif\n#ifndef __deref_out_bcount_full\n    #define __nvapi_undef__deref_out_bcount_full\n    #define __deref_out_bcount_full(size)\n#endif\n#ifndef __deref_out_z\n    #define __nvapi_undef__deref_out_z\n    #define __deref_out_z\n#endif\n#ifndef __deref_out_ecount_z\n    #define __nvapi_undef__deref_out_ecount_z\n    #define __deref_out_ecount_z(size)\n#endif\n#ifndef __deref_out_bcount_z\n    #define __nvapi_undef__deref_out_bcount_z\n    #define __deref_out_bcount_z(size)\n#endif\n#ifndef __deref_out_nz\n    #define __nvapi_undef__deref_out_nz\n    #define __deref_out_nz\n#endif\n#ifndef __deref_out_ecount_nz\n    #define __nvapi_undef__deref_out_ecount_nz\n    #define __deref_out_ecount_nz(size)\n#endif\n#ifndef __deref_out_bcount_nz\n    #define __nvapi_undef__deref_out_bcount_nz\n    #define __deref_out_bcount_nz(size)\n#endif\n#ifndef __deref_inout\n    #define __nvapi_undef__deref_inout\n    #define __deref_inout\n#endif\n#ifndef __deref_inout_z\n    #define __nvapi_undef__deref_inout_z\n    #define __deref_inout_z\n#endif\n#ifndef __deref_inout_ecount\n    #define __nvapi_undef__deref_inout_ecount\n    #define __deref_inout_ecount(size)\n#endif\n#ifndef __deref_inout_bcount\n    #define __nvapi_undef__deref_inout_bcount\n    #define __deref_inout_bcount(size)\n#endif\n#ifndef __deref_inout_ecount_part\n    #define __nvapi_undef__deref_inout_ecount_part\n    #define __deref_inout_ecount_part(size,length)\n#endif\n#ifndef __deref_inout_bcount_part\n    #define __nvapi_undef__deref_inout_bcount_part\n    #define __deref_inout_bcount_part(size,length)\n#endif\n#ifndef __deref_inout_ecount_full\n    #define __nvapi_undef__deref_inout_ecount_full\n    #define __deref_inout_ecount_full(size)\n#endif\n#ifndef __deref_inout_bcount_full\n    #define __nvapi_undef__deref_inout_bcount_full\n    #define __deref_inout_bcount_full(size)\n#endif\n#ifndef __deref_inout_z\n    #define __nvapi_undef__deref_inout_z\n    #define __deref_inout_z\n#endif\n#ifndef __deref_inout_ecount_z\n    #define __nvapi_undef__deref_inout_ecount_z\n    #define __deref_inout_ecount_z(size)\n#endif\n#ifndef __deref_inout_bcount_z\n    #define __nvapi_undef__deref_inout_bcount_z\n    #define __deref_inout_bcount_z(size)\n#endif\n#ifndef __deref_inout_nz\n    #define __nvapi_undef__deref_inout_nz\n    #define __deref_inout_nz\n#endif\n#ifndef __deref_inout_ecount_nz\n    #define __nvapi_undef__deref_inout_ecount_nz\n    #define __deref_inout_ecount_nz(size)\n#endif\n#ifndef __deref_inout_bcount_nz\n    #define __nvapi_undef__deref_inout_bcount_nz\n    #define __deref_inout_bcount_nz(size)\n#endif\n#ifndef __deref_ecount_opt\n    #define __nvapi_undef__deref_ecount_opt\n    #define __deref_ecount_opt(size)\n#endif\n#ifndef __deref_bcount_opt\n    #define __nvapi_undef__deref_bcount_opt\n    #define __deref_bcount_opt(size)\n#endif\n#ifndef __deref_out_opt\n    #define __nvapi_undef__deref_out_opt\n    #define __deref_out_opt\n#endif\n#ifndef __deref_out_ecount_opt\n    #define __nvapi_undef__deref_out_ecount_opt\n    #define __deref_out_ecount_opt(size)\n#endif\n#ifndef __deref_out_bcount_opt\n    #define __nvapi_undef__deref_out_bcount_opt\n    #define __deref_out_bcount_opt(size)\n#endif\n#ifndef __deref_out_ecount_part_opt\n    #define __nvapi_undef__deref_out_ecount_part_opt\n    #define __deref_out_ecount_part_opt(size,length)\n#endif\n#ifndef __deref_out_bcount_part_opt\n    #define __nvapi_undef__deref_out_bcount_part_opt\n    #define __deref_out_bcount_part_opt(size,length)\n#endif\n#ifndef __deref_out_ecount_full_opt\n    #define __nvapi_undef__deref_out_ecount_full_opt\n    #define __deref_out_ecount_full_opt(size)\n#endif\n#ifndef __deref_out_bcount_full_opt\n    #define __nvapi_undef__deref_out_bcount_full_opt\n    #define __deref_out_bcount_full_opt(size)\n#endif\n#ifndef __deref_out_z_opt\n    #define __nvapi_undef__deref_out_z_opt\n    #define __deref_out_z_opt\n#endif\n#ifndef __deref_out_ecount_z_opt\n    #define __nvapi_undef__deref_out_ecount_z_opt\n    #define __deref_out_ecount_z_opt(size)\n#endif\n#ifndef __deref_out_bcount_z_opt\n    #define __nvapi_undef__deref_out_bcount_z_opt\n    #define __deref_out_bcount_z_opt(size)\n#endif\n#ifndef __deref_out_nz_opt\n    #define __nvapi_undef__deref_out_nz_opt\n    #define __deref_out_nz_opt\n#endif\n#ifndef __deref_out_ecount_nz_opt\n    #define __nvapi_undef__deref_out_ecount_nz_opt\n    #define __deref_out_ecount_nz_opt(size)\n#endif\n#ifndef __deref_out_bcount_nz_opt\n    #define __nvapi_undef__deref_out_bcount_nz_opt\n    #define __deref_out_bcount_nz_opt(size)\n#endif\n#ifndef __deref_inout_opt\n    #define __nvapi_undef__deref_inout_opt\n    #define __deref_inout_opt\n#endif\n#ifndef __deref_inout_ecount_opt\n    #define __nvapi_undef__deref_inout_ecount_opt\n    #define __deref_inout_ecount_opt(size)\n#endif\n#ifndef __deref_inout_bcount_opt\n    #define __nvapi_undef__deref_inout_bcount_opt\n    #define __deref_inout_bcount_opt(size)\n#endif\n#ifndef __deref_inout_ecount_part_opt\n    #define __nvapi_undef__deref_inout_ecount_part_opt\n    #define __deref_inout_ecount_part_opt(size,length)\n#endif\n#ifndef __deref_inout_bcount_part_opt\n    #define __nvapi_undef__deref_inout_bcount_part_opt\n    #define __deref_inout_bcount_part_opt(size,length)\n#endif\n#ifndef __deref_inout_ecount_full_opt\n    #define __nvapi_undef__deref_inout_ecount_full_opt\n    #define __deref_inout_ecount_full_opt(size)\n#endif\n#ifndef __deref_inout_bcount_full_opt\n    #define __nvapi_undef__deref_inout_bcount_full_opt\n    #define __deref_inout_bcount_full_opt(size)\n#endif\n#ifndef __deref_inout_z_opt\n    #define __nvapi_undef__deref_inout_z_opt\n    #define __deref_inout_z_opt\n#endif\n#ifndef __deref_inout_ecount_z_opt\n    #define __nvapi_undef__deref_inout_ecount_z_opt\n    #define __deref_inout_ecount_z_opt(size)\n#endif\n#ifndef __deref_inout_bcount_z_opt\n    #define __nvapi_undef__deref_inout_bcount_z_opt\n    #define __deref_inout_bcount_z_opt(size)\n#endif\n#ifndef __deref_inout_nz_opt\n    #define __nvapi_undef__deref_inout_nz_opt\n    #define __deref_inout_nz_opt\n#endif\n#ifndef __deref_inout_ecount_nz_opt\n    #define __nvapi_undef__deref_inout_ecount_nz_opt\n    #define __deref_inout_ecount_nz_opt(size)\n#endif\n#ifndef __deref_inout_bcount_nz_opt\n    #define __nvapi_undef__deref_inout_bcount_nz_opt\n    #define __deref_inout_bcount_nz_opt(size)\n#endif\n#ifndef __deref_opt_ecount\n    #define __nvapi_undef__deref_opt_ecount\n    #define __deref_opt_ecount(size)\n#endif\n#ifndef __deref_opt_bcount\n    #define __nvapi_undef__deref_opt_bcount\n    #define __deref_opt_bcount(size)\n#endif\n#ifndef __deref_opt_out\n    #define __nvapi_undef__deref_opt_out\n    #define __deref_opt_out\n#endif\n#ifndef __deref_opt_out_z\n    #define __nvapi_undef__deref_opt_out_z\n    #define __deref_opt_out_z\n#endif\n#ifndef __deref_opt_out_ecount\n    #define __nvapi_undef__deref_opt_out_ecount\n    #define __deref_opt_out_ecount(size)\n#endif\n#ifndef __deref_opt_out_bcount\n    #define __nvapi_undef__deref_opt_out_bcount\n    #define __deref_opt_out_bcount(size)\n#endif\n#ifndef __deref_opt_out_ecount_part\n    #define __nvapi_undef__deref_opt_out_ecount_part\n    #define __deref_opt_out_ecount_part(size,length)\n#endif\n#ifndef __deref_opt_out_bcount_part\n    #define __nvapi_undef__deref_opt_out_bcount_part\n    #define __deref_opt_out_bcount_part(size,length)\n#endif\n#ifndef __deref_opt_out_ecount_full\n    #define __nvapi_undef__deref_opt_out_ecount_full\n    #define __deref_opt_out_ecount_full(size)\n#endif\n#ifndef __deref_opt_out_bcount_full\n    #define __nvapi_undef__deref_opt_out_bcount_full\n    #define __deref_opt_out_bcount_full(size)\n#endif\n#ifndef __deref_opt_inout\n    #define __nvapi_undef__deref_opt_inout\n    #define __deref_opt_inout\n#endif\n#ifndef __deref_opt_inout_ecount\n    #define __nvapi_undef__deref_opt_inout_ecount\n    #define __deref_opt_inout_ecount(size)\n#endif\n#ifndef __deref_opt_inout_bcount\n    #define __nvapi_undef__deref_opt_inout_bcount\n    #define __deref_opt_inout_bcount(size)\n#endif\n#ifndef __deref_opt_inout_ecount_part\n    #define __nvapi_undef__deref_opt_inout_ecount_part\n    #define __deref_opt_inout_ecount_part(size,length)\n#endif\n#ifndef __deref_opt_inout_bcount_part\n    #define __nvapi_undef__deref_opt_inout_bcount_part\n    #define __deref_opt_inout_bcount_part(size,length)\n#endif\n#ifndef __deref_opt_inout_ecount_full\n    #define __nvapi_undef__deref_opt_inout_ecount_full\n    #define __deref_opt_inout_ecount_full(size)\n#endif\n#ifndef __deref_opt_inout_bcount_full\n    #define __nvapi_undef__deref_opt_inout_bcount_full\n    #define __deref_opt_inout_bcount_full(size)\n#endif\n#ifndef __deref_opt_inout_z\n    #define __nvapi_undef__deref_opt_inout_z\n    #define __deref_opt_inout_z\n#endif\n#ifndef __deref_opt_inout_ecount_z\n    #define __nvapi_undef__deref_opt_inout_ecount_z\n    #define __deref_opt_inout_ecount_z(size)\n#endif\n#ifndef __deref_opt_inout_bcount_z\n    #define __nvapi_undef__deref_opt_inout_bcount_z\n    #define __deref_opt_inout_bcount_z(size)\n#endif\n#ifndef __deref_opt_inout_nz\n    #define __nvapi_undef__deref_opt_inout_nz\n    #define __deref_opt_inout_nz\n#endif\n#ifndef __deref_opt_inout_ecount_nz\n    #define __nvapi_undef__deref_opt_inout_ecount_nz\n    #define __deref_opt_inout_ecount_nz(size)\n#endif\n#ifndef __deref_opt_inout_bcount_nz\n    #define __nvapi_undef__deref_opt_inout_bcount_nz\n    #define __deref_opt_inout_bcount_nz(size)\n#endif\n#ifndef __deref_opt_ecount_opt\n    #define __nvapi_undef__deref_opt_ecount_opt\n    #define __deref_opt_ecount_opt(size)\n#endif\n#ifndef __deref_opt_bcount_opt\n    #define __nvapi_undef__deref_opt_bcount_opt\n    #define __deref_opt_bcount_opt(size)\n#endif\n#ifndef __deref_opt_out_opt\n    #define __nvapi_undef__deref_opt_out_opt\n    #define __deref_opt_out_opt\n#endif\n#ifndef __deref_opt_out_ecount_opt\n    #define __nvapi_undef__deref_opt_out_ecount_opt\n    #define __deref_opt_out_ecount_opt(size)\n#endif\n#ifndef __deref_opt_out_bcount_opt\n    #define __nvapi_undef__deref_opt_out_bcount_opt\n    #define __deref_opt_out_bcount_opt(size)\n#endif\n#ifndef __deref_opt_out_ecount_part_opt\n    #define __nvapi_undef__deref_opt_out_ecount_part_opt\n    #define __deref_opt_out_ecount_part_opt(size,length)\n#endif\n#ifndef __deref_opt_out_bcount_part_opt\n    #define __nvapi_undef__deref_opt_out_bcount_part_opt\n    #define __deref_opt_out_bcount_part_opt(size,length)\n#endif\n#ifndef __deref_opt_out_ecount_full_opt\n    #define __nvapi_undef__deref_opt_out_ecount_full_opt\n    #define __deref_opt_out_ecount_full_opt(size)\n#endif\n#ifndef __deref_opt_out_bcount_full_opt\n    #define __nvapi_undef__deref_opt_out_bcount_full_opt\n    #define __deref_opt_out_bcount_full_opt(size)\n#endif\n#ifndef __deref_opt_out_z_opt\n    #define __nvapi_undef__deref_opt_out_z_opt\n    #define __deref_opt_out_z_opt\n#endif\n#ifndef __deref_opt_out_ecount_z_opt\n    #define __nvapi_undef__deref_opt_out_ecount_z_opt\n    #define __deref_opt_out_ecount_z_opt(size)\n#endif\n#ifndef __deref_opt_out_bcount_z_opt\n    #define __nvapi_undef__deref_opt_out_bcount_z_opt\n    #define __deref_opt_out_bcount_z_opt(size)\n#endif\n#ifndef __deref_opt_out_nz_opt\n    #define __nvapi_undef__deref_opt_out_nz_opt\n    #define __deref_opt_out_nz_opt\n#endif\n#ifndef __deref_opt_out_ecount_nz_opt\n    #define __nvapi_undef__deref_opt_out_ecount_nz_opt\n    #define __deref_opt_out_ecount_nz_opt(size)\n#endif\n#ifndef __deref_opt_out_bcount_nz_opt\n    #define __nvapi_undef__deref_opt_out_bcount_nz_opt\n    #define __deref_opt_out_bcount_nz_opt(size)\n#endif\n#ifndef __deref_opt_inout_opt\n    #define __nvapi_undef__deref_opt_inout_opt\n    #define __deref_opt_inout_opt\n#endif\n#ifndef __deref_opt_inout_ecount_opt\n    #define __nvapi_undef__deref_opt_inout_ecount_opt\n    #define __deref_opt_inout_ecount_opt(size)\n#endif\n#ifndef __deref_opt_inout_bcount_opt\n    #define __nvapi_undef__deref_opt_inout_bcount_opt\n    #define __deref_opt_inout_bcount_opt(size)\n#endif\n#ifndef __deref_opt_inout_ecount_part_opt\n    #define __nvapi_undef__deref_opt_inout_ecount_part_opt\n    #define __deref_opt_inout_ecount_part_opt(size,length)\n#endif\n#ifndef __deref_opt_inout_bcount_part_opt\n    #define __nvapi_undef__deref_opt_inout_bcount_part_opt\n    #define __deref_opt_inout_bcount_part_opt(size,length)\n#endif\n#ifndef __deref_opt_inout_ecount_full_opt\n    #define __nvapi_undef__deref_opt_inout_ecount_full_opt\n    #define __deref_opt_inout_ecount_full_opt(size)\n#endif\n#ifndef __deref_opt_inout_bcount_full_opt\n    #define __nvapi_undef__deref_opt_inout_bcount_full_opt\n    #define __deref_opt_inout_bcount_full_opt(size)\n#endif\n#ifndef __deref_opt_inout_z_opt\n    #define __nvapi_undef__deref_opt_inout_z_opt\n    #define __deref_opt_inout_z_opt\n#endif\n#ifndef __deref_opt_inout_ecount_z_opt\n    #define __nvapi_undef__deref_opt_inout_ecount_z_opt\n    #define __deref_opt_inout_ecount_z_opt(size)\n#endif\n#ifndef __deref_opt_inout_bcount_z_opt\n    #define __nvapi_undef__deref_opt_inout_bcount_z_opt\n    #define __deref_opt_inout_bcount_z_opt(size)\n#endif\n#ifndef __deref_opt_inout_nz_opt\n    #define __nvapi_undef__deref_opt_inout_nz_opt\n    #define __deref_opt_inout_nz_opt\n#endif\n#ifndef __deref_opt_inout_ecount_nz_opt\n    #define __nvapi_undef__deref_opt_inout_ecount_nz_opt\n    #define __deref_opt_inout_ecount_nz_opt(size)\n#endif\n#ifndef __deref_opt_inout_bcount_nz_opt\n    #define __nvapi_undef__deref_opt_inout_bcount_nz_opt\n    #define __deref_opt_inout_bcount_nz_opt(size)\n#endif\n#ifndef __success\n    #define __nvapi_success\n    #define __success(epxr)\n#endif\n#ifndef _Ret_notnull_\n    #define __nvapi__Ret_notnull_\n    #define _Ret_notnull_\n#endif\n#ifndef _Post_writable_byte_size_\n    #define __nvapi__Post_writable_byte_size_\n    #define _Post_writable_byte_size_(n)\n#endif\n#ifndef _Outptr_ \n    #define __nvapi_Outptr_ \n    #define _Outptr_ \n#endif\n\n\n#define NVAPI_INTERFACE extern __success(return == NVAPI_OK) NvAPI_Status __cdecl\n"
  },
  {
    "path": "external/nvapi/include/nvapi_lite_sli.h",
    "content": " /************************************************************************************************************************************\\\n|*                                                                                                                                    *|\n|*     Copyright  2012 NVIDIA Corporation.  All rights reserved.                                                                     *|\n|*                                                                                                                                    *|\n|*  NOTICE TO USER:                                                                                                                   *|\n|*                                                                                                                                    *|\n|*  This software is subject to NVIDIA ownership rights under U.S. and international Copyright laws.                                  *|\n|*                                                                                                                                    *|\n|*  This software and the information contained herein are PROPRIETARY and CONFIDENTIAL to NVIDIA                                     *|\n|*  and are being provided solely under the terms and conditions of an NVIDIA software license agreement.                             *|\n|*  Otherwise, you have no rights to use or access this software in any manner.                                                       *|\n|*                                                                                                                                    *|\n|*  If not covered by the applicable NVIDIA software license agreement:                                                               *|\n|*  NVIDIA MAKES NO REPRESENTATION ABOUT THE SUITABILITY OF THIS SOFTWARE FOR ANY PURPOSE.                                            *|\n|*  IT IS PROVIDED \"AS IS\" WITHOUT EXPRESS OR IMPLIED WARRANTY OF ANY KIND.                                                           *|\n|*  NVIDIA DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,                                                                     *|\n|*  INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE.                       *|\n|*  IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES,                               *|\n|*  OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,  WHETHER IN AN ACTION OF CONTRACT,                         *|\n|*  NEGLIGENCE OR OTHER TORTIOUS ACTION,  ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOURCE CODE.            *|\n|*                                                                                                                                    *|\n|*  U.S. Government End Users.                                                                                                        *|\n|*  This software is a \"commercial item\" as that term is defined at 48 C.F.R. 2.101 (OCT 1995),                                       *|\n|*  consisting  of \"commercial computer  software\"  and \"commercial computer software documentation\"                                  *|\n|*  as such terms are  used in 48 C.F.R. 12.212 (SEPT 1995) and is provided to the U.S. Government only as a commercial end item.     *|\n|*  Consistent with 48 C.F.R.12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (JUNE 1995),                                          *|\n|*  all U.S. Government End Users acquire the software with only those rights set forth herein.                                       *|\n|*                                                                                                                                    *|\n|*  Any use of this software in individual and commercial software must include,                                                      *|\n|*  in the user documentation and internal comments to the code,                                                                      *|\n|*  the above Disclaimer (as applicable) and U.S. Government End Users Notice.                                                        *|\n|*                                                                                                                                    *|\n \\************************************************************************************************************************************/\n\n#pragma once\n#include\"nvapi_lite_salstart.h\"\n#include\"nvapi_lite_common.h\"\n#pragma pack(push,8)\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n//-----------------------------------------------------------------------------\n// DirectX APIs\n//-----------------------------------------------------------------------------\n\n\n//! \\ingroup dx\n//! Used in NvAPI_D3D10_GetCurrentSLIState(), and NvAPI_D3D_GetCurrentSLIState().\ntypedef struct\n{\n    NvU32 version;                    //!< Structure version\n    NvU32 maxNumAFRGroups;            //!< [OUT] The maximum possible value of numAFRGroups\n    NvU32 numAFRGroups;               //!< [OUT] The number of AFR groups enabled in the system\n    NvU32 currentAFRIndex;            //!< [OUT] The AFR group index for the frame currently being rendered\n    NvU32 nextFrameAFRIndex;          //!< [OUT] What the AFR group index will be for the next frame (i.e. after calling Present)\n    NvU32 previousFrameAFRIndex;      //!< [OUT] The AFR group index that was used for the previous frame (~0 if more than one frame has not been rendered yet)\n    NvU32 bIsCurAFRGroupNew;          //!< [OUT] Boolean: Is this frame the first time running on the current AFR group\n\n} NV_GET_CURRENT_SLI_STATE_V1;\n\ntypedef struct\n{\n    NvU32 version;                    //!< Structure version\n    NvU32 maxNumAFRGroups;            //!< [OUT] The maximum possible value of numAFRGroups\n    NvU32 numAFRGroups;               //!< [OUT] The number of AFR groups enabled in the system\n    NvU32 currentAFRIndex;            //!< [OUT] The AFR group index for the frame currently being rendered\n    NvU32 nextFrameAFRIndex;          //!< [OUT] What the AFR group index will be for the next frame (i.e. after calling Present)\n    NvU32 previousFrameAFRIndex;      //!< [OUT] The AFR group index that was used for the previous frame (~0 if more than one frame has not been rendered yet)\n    NvU32 bIsCurAFRGroupNew;          //!< [OUT] Boolean: Is this frame the first time running on the current AFR group\n    NvU32 numVRSLIGpus;               //!< [OUT] The number of GPUs used in VR-SLI. If it is 0 VR-SLI is not active\n\n} NV_GET_CURRENT_SLI_STATE_V2;\n\n//! \\ingroup dx\n#define NV_GET_CURRENT_SLI_STATE_VER1  MAKE_NVAPI_VERSION(NV_GET_CURRENT_SLI_STATE_V1,1)\n#define NV_GET_CURRENT_SLI_STATE_VER2  MAKE_NVAPI_VERSION(NV_GET_CURRENT_SLI_STATE_V2,1)\n#define NV_GET_CURRENT_SLI_STATE_VER NV_GET_CURRENT_SLI_STATE_VER2\n#define NV_GET_CURRENT_SLI_STATE     NV_GET_CURRENT_SLI_STATE_V2\n#if defined(_D3D9_H_) || defined(__d3d10_h__) || defined(__d3d11_h__)\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME:   NvAPI_D3D_GetCurrentSLIState\n//\n//! DESCRIPTION:     This function returns the current SLI state for the specified device.  The structure\n//!                  contains the number of AFR groups, the current AFR group index,\n//!                  and what the AFR group index will be for the next frame. \\p\n//!                  pDevice can be either a IDirect3DDevice9 or ID3D10Device pointer.\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\since Release: 173\n//!\n//! \\retval         NVAPI_OK     Completed request\n//! \\retval         NVAPI_ERROR  Error occurred\n//!\n//! \\ingroup  dx\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_D3D_GetCurrentSLIState(IUnknown *pDevice, NV_GET_CURRENT_SLI_STATE *pSliState);\n#endif //if defined(_D3D9_H_) || defined(__d3d10_h__) || defined(__d3d11_h__)\n#if defined(_D3D9_H_) || defined(__d3d10_h__) || defined(__d3d11_h__)\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_D3D_SetResourceHint\n//\n//! \\fn NvAPI_D3D_SetResourceHint(IUnknown *pDev, NVDX_ObjectHandle obj,\n//!                                          NVAPI_D3D_SETRESOURCEHINT_CATEGORY dwHintCategory, \n//!                                          NvU32 dwHintName, \n//!                                          NvU32 *pdwHintValue)\n//!\n//!   DESCRIPTION: This is a general purpose function for passing down various resource\n//!                related hints to the driver. Hints are divided into categories\n//!                and types within each category.\n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\since Release: 185\n//!\n//! \\param [in] pDev            The ID3D10Device or IDirect3DDevice9 that is a using the resource\n//! \\param [in] obj             Previously obtained HV resource handle\n//! \\param [in] dwHintCategory  Category of the hints\n//! \\param [in] dwHintName      A hint within this category\n//! \\param [in] *pdwHintValue   Pointer to location containing hint value\n//!\n//! \\return an int which could be an NvAPI status or DX HRESULT code\n//!\n//! \\retval ::NVAPI_OK               \n//! \\retval ::NVAPI_INVALID_ARGUMENT  \n//! \\retval ::NVAPI_INVALID_CALL     It is illegal to change a hint dynamically when the resource is already bound.\n//\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n\n//! \\ingroup dx\n//! Valid categories for NvAPI_D3D_SetResourceHint()\ntypedef enum _NVAPI_D3D_SETRESOURCEHINT_CATEGORY\n{\n    NVAPI_D3D_SRH_CATEGORY_SLI = 1\n} NVAPI_D3D_SETRESOURCEHINT_CATEGORY;\n\n\n//\n//  NVAPI_D3D_SRH_SLI_APP_CONTROLLED_INTERFRAME_CONTENT_SYNC:\n//  NVAPI_D3D_SRH_SLI_ASK_FOR_BROADCAST_USING: \n\n\n//! \\ingroup dx\n//!  Types of SLI hints; \\n\n//!  NVAPI_D3D_SRH_SLI_APP_CONTROLLED_INTERFRAME_CONTENT_SYNC: Valid values : 0 or 1 \\n\n//!  Default value: 0 \\n\n//!  Explanation: If the value is 1, the driver will not track any rendering operations that would mark this resource as dirty, \n//!  avoiding any form of synchronization across frames rendered in parallel in multiple GPUs in AFR mode.\n//! \n//!  NVAPI_D3D_SRH_SLI_ASK_FOR_BROADCAST_USAGE: Valid values : 0 or 1 \\n\n//!  Default value: 0 \\n\n//!  Explanation: If the value is 1, the driver will try to perform operations which involved target resource in broadcast, \n//!  where its possible. Hint is static and must be set before resource starts using. \ntypedef enum _NVAPI_D3D_SETRESOURCEHINT_SLI\n{\n    NVAPI_D3D_SRH_SLI_APP_CONTROLLED_INTERFRAME_CONTENT_SYNC = 1,\n    NVAPI_D3D_SRH_SLI_ASK_FOR_BROADCAST_USAGE = 2\n}  NVAPI_D3D_SETRESOURCEHINT_SLI;\n\n//! \\ingroup dx\nNVAPI_INTERFACE NvAPI_D3D_SetResourceHint(IUnknown *pDev, NVDX_ObjectHandle obj,\n                                          NVAPI_D3D_SETRESOURCEHINT_CATEGORY dwHintCategory, \n                                          NvU32 dwHintName, \n                                          NvU32 *pdwHintValue);\n#endif //defined(_D3D9_H_) || defined(__d3d10_h__) || defined(__d3d11_h__)\n\n#if defined(_D3D9_H_) || defined(__d3d10_h__) || defined(__d3d11_h__)\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_D3D_BeginResourceRendering\n//\n//! \\fn NvAPI_D3D_BeginResourceRendering(IUnknown *pDev, NVDX_ObjectHandle obj, NvU32 Flags)\n//!   DESCRIPTION: This function tells the driver that the resource will begin to receive updates. It must be used in combination with NvAPI_D3D_EndResourceRendering(). \n//!                The primary use of this function is allow the driver to initiate early inter-frame synchronization of resources while running in AFR SLI mode. \n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\since Release: 185\n//!\n//! \\param [in]  pDev         The ID3D10Device or IDirect3DDevice9 that is a using the resource\n//! \\param [in]  obj          Previously obtained HV resource handle\n//! \\param [in]  Flags        The flags for functionality applied to resource while being used.\n//!\n//! \\retval ::NVAPI_OK                Function succeeded, if used properly and driver can initiate proper sync'ing of the resources.\n//! \\retval ::NVAPI_INVALID_ARGUMENT  Bad argument(s) or invalid flag values\n//! \\retval ::NVAPI_INVALID_CALL      Mismatched begin/end calls\n//\n///////////////////////////////////////////////////////////////////////////////\n\n//! \\ingroup dx\n//! Used in NvAPI_D3D_BeginResourceRendering().\ntypedef enum  _NVAPI_D3D_RESOURCERENDERING_FLAG\n{\n    NVAPI_D3D_RR_FLAG_DEFAULTS                 = 0x00000000,  //!< All bits set to 0 are defaults.\n    NVAPI_D3D_RR_FLAG_FORCE_DISCARD_CONTENT    = 0x00000001,  //!< (bit 0) The flag forces to discard previous content of the resource regardless of the NvApiHints_Sli_Disable_InterframeSync hint\n    NVAPI_D3D_RR_FLAG_FORCE_KEEP_CONTENT       = 0x00000002,   //!< (bit 1) The flag forces to respect previous content of the resource regardless of the NvApiHints_Sli_Disable_InterframeSync hint\n    NVAPI_D3D_RR_FLAG_MULTI_FRAME              = 0x00000004   //!< (bit 2) The flag hints the driver that content will be used for many frames. If not specified then the driver assumes that content is used only on the next frame\n} NVAPI_D3D_RESOURCERENDERING_FLAG;\n\n//! \\ingroup dx\nNVAPI_INTERFACE NvAPI_D3D_BeginResourceRendering(IUnknown *pDev, NVDX_ObjectHandle obj, NvU32 Flags);\n\n#endif //defined(_D3D9_H_) || defined(__d3d10_h__) || defined(__d3d11_h__)\n\n#if defined(_D3D9_H_) || defined(__d3d10_h__) || defined(__d3d11_h__)\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_D3D_EndResourceRendering\n//\n//!   DESCRIPTION: This function tells the driver that the resource is done receiving updates. It must be used in combination with\n//!                NvAPI_D3D_BeginResourceRendering(). \n//!                The primary use of this function is allow the driver to initiate early inter-frame syncs of resources while running in AFR SLI mode. \n//!\n//! SUPPORTED OS:  Windows XP and higher\n//!\n//!\n//! \\since Release: 185\n//!\n//! \\param [in]  pDev         The ID3D10Device or IDirect3DDevice9 thatis a using the resource\n//! \\param [in]  obj          Previously obtained HV resource handle\n//! \\param [in]  Flags        Reserved, must be zero\n//\n//! \\retval ::NVAPI_OK                Function succeeded, if used properly and driver can initiate proper sync'ing of the resources.\n//! \\retval ::NVAPI_INVALID_ARGUMENT  Bad argument(s) or invalid flag values\n//! \\retval ::NVAPI_INVALID_CALL      Mismatched begin/end calls\n//!\n//! \\ingroup dx\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_D3D_EndResourceRendering(IUnknown *pDev, NVDX_ObjectHandle obj, NvU32 Flags);\n#endif //if defined(_D3D9_H_) || defined(__d3d10_h__) || defined(__d3d11_h__)\n\n#include\"nvapi_lite_salend.h\"\n#ifdef __cplusplus\n}\n#endif\n#pragma pack(pop)\n"
  },
  {
    "path": "external/nvapi/include/nvapi_lite_stereo.h",
    "content": " /************************************************************************************************************************************\\\n|*                                                                                                                                    *|\n|*     Copyright  2012 NVIDIA Corporation.  All rights reserved.                                                                     *|\n|*                                                                                                                                    *|\n|*  NOTICE TO USER:                                                                                                                   *|\n|*                                                                                                                                    *|\n|*  This software is subject to NVIDIA ownership rights under U.S. and international Copyright laws.                                  *|\n|*                                                                                                                                    *|\n|*  This software and the information contained herein are PROPRIETARY and CONFIDENTIAL to NVIDIA                                     *|\n|*  and are being provided solely under the terms and conditions of an NVIDIA software license agreement.                             *|\n|*  Otherwise, you have no rights to use or access this software in any manner.                                                       *|\n|*                                                                                                                                    *|\n|*  If not covered by the applicable NVIDIA software license agreement:                                                               *|\n|*  NVIDIA MAKES NO REPRESENTATION ABOUT THE SUITABILITY OF THIS SOFTWARE FOR ANY PURPOSE.                                            *|\n|*  IT IS PROVIDED \"AS IS\" WITHOUT EXPRESS OR IMPLIED WARRANTY OF ANY KIND.                                                           *|\n|*  NVIDIA DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,                                                                     *|\n|*  INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE.                       *|\n|*  IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES,                               *|\n|*  OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,  WHETHER IN AN ACTION OF CONTRACT,                         *|\n|*  NEGLIGENCE OR OTHER TORTIOUS ACTION,  ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOURCE CODE.            *|\n|*                                                                                                                                    *|\n|*  U.S. Government End Users.                                                                                                        *|\n|*  This software is a \"commercial item\" as that term is defined at 48 C.F.R. 2.101 (OCT 1995),                                       *|\n|*  consisting  of \"commercial computer  software\"  and \"commercial computer software documentation\"                                  *|\n|*  as such terms are  used in 48 C.F.R. 12.212 (SEPT 1995) and is provided to the U.S. Government only as a commercial end item.     *|\n|*  Consistent with 48 C.F.R.12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (JUNE 1995),                                          *|\n|*  all U.S. Government End Users acquire the software with only those rights set forth herein.                                       *|\n|*                                                                                                                                    *|\n|*  Any use of this software in individual and commercial software must include,                                                      *|\n|*  in the user documentation and internal comments to the code,                                                                      *|\n|*  the above Disclaimer (as applicable) and U.S. Government End Users Notice.                                                        *|\n|*                                                                                                                                    *|\n \\************************************************************************************************************************************/\n\n#pragma once\n#include\"nvapi_lite_salstart.h\"\n#include\"nvapi_lite_common.h\"\n#pragma pack(push,8)\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_Stereo_Enable\n//\n//! DESCRIPTION:   This APU enables stereo mode in the registry.\n//!                Calls to this function affect the entire system.\n//!                If stereo is not enabled, then calls to functions that require that stereo is enabled have no effect,\n//!                and will return the appropriate error code.\n//!\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n//!\n//! \\since Release: 180\n//!\n//! \\retval ::NVAPI_OK                      Stereo is now enabled.\n//! \\retval ::NVAPI_API_NOT_INTIALIZED \n//! \\retval ::NVAPI_STEREO_NOT_INITIALIZED  Stereo part of NVAPI not initialized.\n//! \\retval ::NVAPI_ERROR \n//!\n//! \\ingroup stereoapi\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_Stereo_Enable(void);\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_Stereo_Disable\n//\n//! DESCRIPTION:   This API disables stereo mode in the registry.\n//!                Calls to this function affect the entire system.\n//!                If stereo is not enabled, then calls to functions that require that stereo is enabled have no effect,\n//!                and will return the appropriate error code.\n//!\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n//!\n//! \\since Release: 180\n//!\n//! \\retval ::NVAPI_OK                     Stereo is now disabled.\n//! \\retval ::NVAPI_API_NOT_INTIALIZED  \n//! \\retval ::NVAPI_STEREO_NOT_INITIALIZED Stereo part of NVAPI not initialized.\n//! \\retval ::NVAPI_ERROR \n//!\n//! \\ingroup stereoapi \n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_Stereo_Disable(void);\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_Stereo_IsEnabled\n//\n//! DESCRIPTION:   This API checks if stereo mode is enabled in the registry.\n//!\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n//!\n//! \\since Release: 180\n//!\n//! \\param [out]     pIsStereoEnabled   Address where the result of the inquiry will be placed.\n//!\n//! \\retval ::NVAPI_OK                       Check was sucessfully completed and result reflects current state of stereo availability.\n//! \\retval ::NVAPI_API_NOT_INTIALIZED \n//! \\retval ::NVAPI_STEREO_NOT_INITIALIZED   Stereo part of NVAPI not initialized.\n//! \\retval ::NVAPI_ERROR \n//!\n//! \\ingroup stereoapi\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_Stereo_IsEnabled(NvU8 *pIsStereoEnabled);\n#if defined(_D3D9_H_) || defined(__d3d10_h__) || defined(__d3d11_h__)\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_Stereo_CreateHandleFromIUnknown\n//\n//! DESCRIPTION:   This API creates a stereo handle that is used in subsequent calls related to a given device interface.\n//!                This must be called before any other NvAPI_Stereo_ function for that handle.\n//!                Multiple devices can be used at one time using multiple calls to this function (one per each device). \n//!\n//! HOW TO USE:    After the Direct3D device is created, create the stereo handle.\n//!                On call success:\n//!                -# Use all other NvAPI_Stereo_ functions that have stereo handle as first parameter.\n//!                -# After the device interface that corresponds to the the stereo handle is destroyed,\n//!                the application should call NvAPI_DestroyStereoHandle() for that stereo handle. \n//!\n//! WHEN TO USE:   After the stereo handle for the device interface is created via successfull call to the appropriate NvAPI_Stereo_CreateHandleFrom() function.\n//!\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n//!\n//! \\since Release: 180\n//!\n//! \\param [in]     pDevice        Pointer to IUnknown interface that is IDirect3DDevice9* in DX9, ID3D10Device*.\n//! \\param [out]    pStereoHandle  Pointer to the newly created stereo handle.\n//!\n//! \\retval ::NVAPI_OK                       Stereo handle is created for given device interface.\n//! \\retval ::NVAPI_INVALID_ARGUMENT         Provided device interface is invalid.\n//! \\retval ::NVAPI_API_NOT_INTIALIZED  \n//! \\retval ::NVAPI_STEREO_NOT_INITIALIZED   Stereo part of NVAPI not initialized.\n//! \\retval ::NVAPI_ERROR \n//!\n//! \\ingroup stereoapi\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_Stereo_CreateHandleFromIUnknown(IUnknown *pDevice, StereoHandle *pStereoHandle);\n\n#endif // defined(_D3D9_H_) || defined(__d3d10_h__)\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_Stereo_DestroyHandle\n//\n//! DESCRIPTION:   This API destroys the stereo handle created with one of the NvAPI_Stereo_CreateHandleFrom() functions.\n//!                This should be called after the device corresponding to the handle has been destroyed.\n//!\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n//!\n//! \\since Release: 180\n//!\n//! \\param [in]     stereoHandle  Stereo handle that is to be destroyed.\n//!\n//! \\retval ::NVAPI_OK                      Stereo handle is destroyed.\n//! \\retval ::NVAPI_API_NOT_INTIALIZED      \n//! \\retval ::NVAPI_STEREO_NOT_INITIALIZED  Stereo part of NVAPI not initialized.\n//! \\retval ::NVAPI_ERROR                   \n//!\n//! \\ingroup stereoapi\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_Stereo_DestroyHandle(StereoHandle stereoHandle);\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_Stereo_Activate\n//\n//! DESCRIPTION:   This API activates stereo for the device interface corresponding to the given stereo handle.\n//!                Activating stereo is possible only if stereo was enabled previously in the registry.\n//!                If stereo is not activated, then calls to functions that require that stereo is activated have no effect,\n//!                and will return the appropriate error code. \n//!\n//! WHEN TO USE:   After the stereo handle for the device interface is created via successfull call to the appropriate NvAPI_Stereo_CreateHandleFrom() function.\n//!\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n//!\n//! \\since Release: 180\n//!\n//! \\param [in]    stereoHandle  Stereo handle corresponding to the device interface.\n//!\n//! \\retval ::NVAPI_OK                                Stereo is turned on.\n//! \\retval ::NVAPI_STEREO_INVALID_DEVICE_INTERFACE   Device interface is not valid. Create again, then attach again.\n//! \\retval ::NVAPI_API_NOT_INTIALIZED \n//! \\retval ::NVAPI_STEREO_NOT_INITIALIZED            Stereo part of NVAPI not initialized.\n//! \\retval ::NVAPI_ERROR \n//!\n//! \\ingroup stereoapi\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_Stereo_Activate(StereoHandle stereoHandle);\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_Stereo_Deactivate\n//\n//! DESCRIPTION:   This API deactivates stereo for the given device interface.\n//!                If stereo is not activated, then calls to functions that require that stereo is activated have no effect,\n//!                and will return the appropriate error code. \n//!\n//! WHEN TO USE:   After the stereo handle for the device interface is created via successfull call to the appropriate NvAPI_Stereo_CreateHandleFrom() function.\n//!\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n//!\n//! \\since Release: 180\n//!\n//! \\param [in]     stereoHandle  Stereo handle that corresponds to the device interface.\n//!\n//! \\retval ::NVAPI_OK                               Stereo is turned off.\n//! \\retval ::NVAPI_STEREO_INVALID_DEVICE_INTERFACE  Device interface is not valid. Create again, then attach again.\n//! \\retval ::NVAPI_API_NOT_INTIALIZED \n//! \\retval ::NVAPI_STEREO_NOT_INITIALIZED           Stereo part of NVAPI not initialized.\n//! \\retval ::NVAPI_ERROR \n//!\n//! \\ingroup stereoapi\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_Stereo_Deactivate(StereoHandle stereoHandle);\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_Stereo_IsActivated\n//\n//! DESCRIPTION:   This API checks if stereo is activated for the given device interface. \n//!\n//! WHEN TO USE:   After the stereo handle for the device interface is created via successfull call to the appropriate NvAPI_Stereo_CreateHandleFrom() function.\n//!\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n//!\n//! \\since Release: 180\n//!\n//! \\param [in]    stereoHandle  Stereo handle that corresponds to the device interface.\n//! \\param [in]    pIsStereoOn   Address where result of the inquiry will be placed.\n//! \n//! \\retval ::NVAPI_OK - Check was sucessfully completed and result reflects current state of stereo (on/off).\n//! \\retval ::NVAPI_STEREO_INVALID_DEVICE_INTERFACE - Device interface is not valid. Create again, then attach again.\n//! \\retval ::NVAPI_API_NOT_INTIALIZED - NVAPI not initialized.\n//! \\retval ::NVAPI_STEREO_NOT_INITIALIZED - Stereo part of NVAPI not initialized.\n//! \\retval ::NVAPI_ERROR - Something is wrong (generic error).\n//!\n//! \\ingroup stereoapi\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_Stereo_IsActivated(StereoHandle stereoHandle, NvU8 *pIsStereoOn);\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_Stereo_GetSeparation\n//\n//! DESCRIPTION:   This API gets current separation value (in percents). \n//!\n//! WHEN TO USE:   After the stereo handle for the device interface is created via successfull call to the appropriate NvAPI_Stereo_CreateHandleFrom() function.\n//!\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n//!\n//! \\since Release: 180\n//!\n//! \\param [in]     stereoHandle           Stereo handle that corresponds to the device interface.\n//! \\param [out]    pSeparationPercentage  Address of @c float type variable to store current separation percentage in.\n//!\n//! \\retval ::NVAPI_OK                                Retrieval of separation percentage was successfull.\n//! \\retval ::NVAPI_STEREO_INVALID_DEVICE_INTERFACE   Device interface is not valid. Create again, then attach again.\n//! \\retval ::NVAPI_API_NOT_INTIALIZED  \n//! \\retval ::NVAPI_STEREO_NOT_INITIALIZED            Stereo part of NVAPI not initialized.\n//! \\retval ::NVAPI_ERROR  \n//!\n//! \\ingroup stereoapi\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_Stereo_GetSeparation(StereoHandle stereoHandle, float *pSeparationPercentage);\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_Stereo_SetSeparation\n//\n//! DESCRIPTION:   This API sets separation to given percentage. \n//!\n//! WHEN TO USE:   After the stereo handle for the device interface is created via successfull call to appropriate NvAPI_Stereo_CreateHandleFrom() function.\n//!\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n//!\n//! \\since Release: 180\n//!\n//! \\param [in]     stereoHandle             Stereo handle that corresponds to the device interface.\n//! \\param [in]     newSeparationPercentage  New value for separation percentage.\n//!\n//! \\retval ::NVAPI_OK                               Setting of separation percentage was successfull.\n//! \\retval ::NVAPI_STEREO_INVALID_DEVICE_INTERFACE  Device interface is not valid. Create again, then attach again.\n//! \\retval ::NVAPI_API_NOT_INTIALIZED               NVAPI not initialized.\n//! \\retval ::NVAPI_STEREO_NOT_INITIALIZED           Stereo part of NVAPI not initialized.\n//! \\retval ::NVAPI_STEREO_PARAMETER_OUT_OF_RANGE    Given separation percentage is out of [0..100] range.\n//! \\retval ::NVAPI_ERROR \n//!\n//! \\ingroup stereoapi\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_Stereo_SetSeparation(StereoHandle stereoHandle, float newSeparationPercentage);\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_Stereo_GetConvergence\n//\n//! DESCRIPTION:   This API gets the current convergence value.\n//!\n//! WHEN TO USE:   After the stereo handle for the device interface is created via successfull call to the appropriate NvAPI_Stereo_CreateHandleFrom() function.\n//!\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n//!\n//! \\since Release: 180\n//!\n//! \\param [in]     stereoHandle   Stereo handle that corresponds to the device interface.\n//! \\param [out]    pConvergence   Address of @c float type variable to store current convergence value in.\n//!\n//! \\retval ::NVAPI_OK                               Retrieval of convergence value was successfull.\n//! \\retval ::NVAPI_STEREO_INVALID_DEVICE_INTERFACE  Device interface is not valid. Create again, then attach again.\n//! \\retval ::NVAPI_API_NOT_INTIALIZED  \n//! \\retval ::NVAPI_STEREO_NOT_INITIALIZED           Stereo part of NVAPI not initialized.\n//! \\retval ::NVAPI_ERROR \n//!\n//! \\ingroup stereoapi\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_Stereo_GetConvergence(StereoHandle stereoHandle, float *pConvergence);\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_Stereo_SetConvergence\n//\n//! DESCRIPTION:   This API sets convergence to the given value.\n//!\n//! WHEN TO USE:   After the stereo handle for the device interface is created via successfull call to the appropriate NvAPI_Stereo_CreateHandleFrom() function.\n//!\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n//!\n//! \\since Release: 180\n//!\n//! \\param [in]     stereoHandle              Stereo handle that corresponds to the device interface.\n//! \\param [in]     newConvergence            New value for convergence.\n//! \n//! \\retval ::NVAPI_OK                                Setting of convergence value was successfull.\n//! \\retval ::NVAPI_STEREO_INVALID_DEVICE_INTERFACE   Device interface is not valid. Create again, then attach again.\n//! \\retval ::NVAPI_API_NOT_INTIALIZED  \n//! \\retval ::NVAPI_STEREO_NOT_INITIALIZED            Stereo part of NVAPI not initialized.\n//! \\retval ::NVAPI_ERROR \n//!\n//! \\ingroup stereoapi\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_Stereo_SetConvergence(StereoHandle stereoHandle, float newConvergence);\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_Stereo_SetActiveEye\n//\n//! \\fn NvAPI_Stereo_SetActiveEye(StereoHandle hStereoHandle, NV_STEREO_ACTIVE_EYE StereoEye);\n//! DESCRIPTION:   This API sets the back buffer to left or right in Direct stereo mode.\n//!                  \n//! HOW TO USE:    After the stereo handle for device interface is created via successfull call to appropriate \n//!                NvAPI_Stereo_CreateHandleFrom function.\n//!\n//! \\since Release: 285\n//!\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n//!\n//! \\param [in]   stereoHandle  Stereo handle that corresponds to the device interface.\n//! \\param [in]   StereoEye     Defines active eye in Direct stereo mode\n//!\n//! \\retval ::NVAPI_OK - Active eye is set.\n//! \\retval ::NVAPI_STEREO_INVALID_DEVICE_INTERFACE - Device interface is not valid. Create again, then attach again.\n//! \\retval ::NVAPI_API_NOT_INTIALIZED - NVAPI not initialized.\n//! \\retval ::NVAPI_STEREO_NOT_INITIALIZED - Stereo part of NVAPI not initialized.\n//! \\retval ::NVAPI_INVALID_ARGUMENT - StereoEye parameter has not allowed value.\n//! \\retval ::NVAPI_SET_NOT_ALLOWED  - Current stereo mode is not Direct\n//! \\retval ::NVAPI_ERROR - Something is wrong (generic error).\n//\n///////////////////////////////////////////////////////////////////////////////\n\n//! \\ingroup stereoapi\ntypedef enum _NV_StereoActiveEye\n{\n    NVAPI_STEREO_EYE_RIGHT = 1,\n    NVAPI_STEREO_EYE_LEFT = 2,\n    NVAPI_STEREO_EYE_MONO = 3,\n} NV_STEREO_ACTIVE_EYE;\n\n//! \\ingroup stereoapi\nNVAPI_INTERFACE NvAPI_Stereo_SetActiveEye(StereoHandle hStereoHandle, NV_STEREO_ACTIVE_EYE StereoEye);\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_Stereo_SetDriverMode\n//\n//! \\fn NvAPI_Stereo_SetDriverMode( NV_STEREO_DRIVER_MODE mode );\n//! DESCRIPTION:   This API sets the 3D stereo driver mode: Direct or Automatic\n//!                  \n//! HOW TO USE:    This API must be called before the device is created.\n//!                Applies to DirectX 9 and higher.\n//!\n//! \\since Release: 285\n//!\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n//!      \n//! \\param [in]    mode       Defines the 3D stereo driver mode: Direct or Automatic\n//!\n//! \\retval ::NVAPI_OK                      Active eye is set.\n//! \\retval ::NVAPI_API_NOT_INTIALIZED      NVAPI not initialized.\n//! \\retval ::NVAPI_STEREO_NOT_INITIALIZED  Stereo part of NVAPI not initialized.\n//! \\retval ::NVAPI_INVALID_ARGUMENT        mode parameter has not allowed value.\n//! \\retval ::NVAPI_ERROR                   Something is wrong (generic error).\n//\n///////////////////////////////////////////////////////////////////////////////\n\n//! \\ingroup stereoapi\ntypedef enum _NV_StereoDriverMode\n{\n    NVAPI_STEREO_DRIVER_MODE_AUTOMATIC = 0,\n    NVAPI_STEREO_DRIVER_MODE_DIRECT    = 2,\n} NV_STEREO_DRIVER_MODE;\n\n//! \\ingroup stereoapi\nNVAPI_INTERFACE NvAPI_Stereo_SetDriverMode( NV_STEREO_DRIVER_MODE mode );\n\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_Stereo_GetEyeSeparation\n//\n//! DESCRIPTION:   This API returns eye separation as a ratio of <between eye distance>/<physical screen width>.\n//! \n//! HOW TO USE:    After the stereo handle for device interface is created via successfull call to appropriate API. Applies only to DirectX 9 and up.\n//!\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n//!\n//! \\param [in]   stereoHandle  Stereo handle that corresponds to the device interface.\n//! \\param [out]  pSeparation   Eye separation.\n//!\n//! \\retval ::NVAPI_OK                               Active eye is set.\n//! \\retval ::NVAPI_STEREO_INVALID_DEVICE_INTERFACE  Device interface is not valid. Create again, then attach again.\n//! \\retval ::NVAPI_API_NOT_INTIALIZED               NVAPI not initialized.\n//! \\retval ::NVAPI_STEREO_NOT_INITIALIZED           Stereo part of NVAPI not initialized.\n//! \\retval ::NVAPI_ERROR  (generic error).\n//!\n//! \\ingroup stereoapi\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_Stereo_GetEyeSeparation(StereoHandle hStereoHandle,  float *pSeparation );\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_Stereo_IsWindowedModeSupported\n//\n//! DESCRIPTION:   This API returns availability of windowed mode stereo\n//!\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n//!\n//! \\param [out] bSupported(OUT)    != 0  - supported,  \\n\n//!                                 == 0  - is not supported \n//!\n//!\n//! \\retval ::NVAPI_OK                      Retrieval of frustum adjust mode was successfull.\n//! \\retval ::NVAPI_API_NOT_INTIALIZED      NVAPI not initialized.\n//! \\retval ::NVAPI_STEREO_NOT_INITIALIZED  Stereo part of NVAPI not initialized.\n//! \\retval ::NVAPI_ERROR                   Something is wrong (generic error).\n//!\n//! \\ingroup stereoapi\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_Stereo_IsWindowedModeSupported(NvU8* bSupported);\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_Stereo_SetSurfaceCreationMode\n//\n//! \\function NvAPI_Stereo_SetSurfaceCreationMode(StereoHandle hStereoHandle, NVAPI_STEREO_SURFACECREATEMODE creationMode)\n//! \\param [in]   hStereoHandle   Stereo handle that corresponds to the device interface.\n//! \\param [in]   creationMode    New surface creation mode for this device interface.\n//!\n//! \\since Release: 285\n//!\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n//!\n//! DESCRIPTION: This API sets surface creation mode for this device interface.\n//!\n//! WHEN TO USE: After the stereo handle for device interface is created via successful call to appropriate NvAPI_Stereo_CreateHandleFrom function.\n//!\n//! \\return      This API can return any of the error codes enumerated in #NvAPI_Status. \n//!              There are no return error codes with specific meaning for this API.\n//!\n///////////////////////////////////////////////////////////////////////////////\n\n//! \\ingroup stereoapi\ntypedef enum _NVAPI_STEREO_SURFACECREATEMODE \n{\n    NVAPI_STEREO_SURFACECREATEMODE_AUTO,        //!< Use driver registry profile settings for surface creation mode. \n    NVAPI_STEREO_SURFACECREATEMODE_FORCESTEREO, //!< Always create stereo surfaces. \n    NVAPI_STEREO_SURFACECREATEMODE_FORCEMONO    //!< Always create mono surfaces. \n} NVAPI_STEREO_SURFACECREATEMODE; \n\n//! \\ingroup stereoapi\nNVAPI_INTERFACE NvAPI_Stereo_SetSurfaceCreationMode(__in StereoHandle hStereoHandle, __in NVAPI_STEREO_SURFACECREATEMODE creationMode);\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_Stereo_GetSurfaceCreationMode\n//\n//! \\function NvAPI_Stereo_GetSurfaceCreationMode(StereoHandle hStereoHandle, NVAPI_STEREO_SURFACECREATEMODE* pCreationMode)\n//! \\param [in]   hStereoHandle   Stereo handle that corresponds to the device interface.\n//! \\param [out]   pCreationMode   The current creation mode for this device interface.\n//!\n//! \\since Release: 295\n//!\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n//!\n//! DESCRIPTION: This API gets surface creation mode for this device interface.\n//!\n//! WHEN TO USE: After the stereo handle for device interface is created via successful call to appropriate NvAPI_Stereo_CreateHandleFrom function.\n//!\n//! \\return      This API can return any of the error codes enumerated in #NvAPI_Status. \n//!              There are no return error codes with specific meaning for this API.\n//!\n///////////////////////////////////////////////////////////////////////////////\n\n//! \\ingroup stereoapi\nNVAPI_INTERFACE NvAPI_Stereo_GetSurfaceCreationMode(__in StereoHandle hStereoHandle, __in NVAPI_STEREO_SURFACECREATEMODE* pCreationMode);\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_Stereo_Debug_WasLastDrawStereoized\n//\n//! \\param [in]  hStereoHandle    Stereo handle that corresponds to the device interface.\n//! \\param [out] pWasStereoized   Address where result of the inquiry will be placed.\n//!\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n//!\n//! DESCRIPTION: This API checks if the last draw call was stereoized. It is a very expensive to call and should be used for debugging purpose *only*.\n//!\n//! WHEN TO USE: After the stereo handle for device interface is created via successful call to appropriate NvAPI_Stereo_CreateHandleFrom function.\n//!\n//! \\return      This API can return any of the error codes enumerated in #NvAPI_Status. \n//!              There are no return error codes with specific meaning for this API.\n//!\n//! \\ingroup stereoapi\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_Stereo_Debug_WasLastDrawStereoized(__in StereoHandle hStereoHandle, __out NvU8 *pWasStereoized);\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_Stereo_SetDefaultProfile\n//\n//!\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n//!\n//! DESCRIPTION: This API defines the stereo profile used by the driver in case the application has no associated profile.\n//!\n//! WHEN TO USE: To take effect, this API must be called before D3D device is created. Calling once a device has been created will not affect the current device.\n//!\n//! \\param [in]  szProfileName        Default profile name. \n//!                                 \n//! \\return      This API can return any of the error codes enumerated in #NvAPI_Status. \n//!              Error codes specific to this API are described below.\n//!              \n//! \\retval      NVAPI_SUCCESS                               - Default stereo profile name has been copied into szProfileName.\n//! \\retval      NVAPI_INVALID_ARGUMENT                      - szProfileName == NULL.\n//! \\retval      NVAPI_DEFAULT_STEREO_PROFILE_DOES_NOT_EXIST - Default stereo profile does not exist\n//!\n//! \\ingroup stereoapi\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_Stereo_SetDefaultProfile(__in const char* szProfileName);\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME: NvAPI_Stereo_GetDefaultProfile\n//\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n//!\n//! DESCRIPTION: This API retrieves the current default stereo profile.\n//!              \n//!              After call cbSizeOut contain 0 if default profile is not set required buffer size cbSizeOut.\n//!              To get needed buffer size this function can be called with szProfileName==0 and cbSizeIn == 0. \n//!\n//! WHEN TO USE: This API can be called at any time.\n//!              \n//!\n//! \\param [in]   cbSizeIn             Size of buffer allocated for default stereo profile name.                  \n//! \\param [out]  szProfileName        Default stereo profile name. \n//! \\param [out]  pcbSizeOut           Required buffer size.\n//!                     # ==0 - there is no default stereo profile name currently set\n//!                     # !=0 - size of buffer required for currently set default stereo profile name including trailing '0'.\n//!\n//!\n//! \\return      This API can return any of the error codes enumerated in #NvAPI_Status. \n//!              Error codes specific to this API are described below.\n//! \n//! \\retval      NVAPI_SUCCESS                                - Default stereo profile name has been copied into szProfileName.\n//! \\retval      NVAPI_DEFAULT_STEREO_PROFILE_IS_NOT_DEFINED  - There is no default stereo profile set at this time.\n//! \\retval      NVAPI_INVALID_ARGUMENT                       - pcbSizeOut == 0 or cbSizeIn >= *pcbSizeOut && szProfileName == 0\n//! \\retval      NVAPI_INSUFFICIENT_BUFFER                    - cbSizeIn < *pcbSizeOut\n//!  \n//! \\ingroup stereoapi\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_Stereo_GetDefaultProfile( __in NvU32 cbSizeIn, __out_bcount_part_opt(cbSizeIn, *pcbSizeOut) char* szProfileName,  __out NvU32 *pcbSizeOut);\n\n#include\"nvapi_lite_salend.h\"\n#ifdef __cplusplus\n}\n#endif\n#pragma pack(pop)\n"
  },
  {
    "path": "external/nvapi/include/nvapi_lite_surround.h",
    "content": " /************************************************************************************************************************************\\\n|*                                                                                                                                    *|\n|*     Copyright  2012 NVIDIA Corporation.  All rights reserved.                                                                     *|\n|*                                                                                                                                    *|\n|*  NOTICE TO USER:                                                                                                                   *|\n|*                                                                                                                                    *|\n|*  This software is subject to NVIDIA ownership rights under U.S. and international Copyright laws.                                  *|\n|*                                                                                                                                    *|\n|*  This software and the information contained herein are PROPRIETARY and CONFIDENTIAL to NVIDIA                                     *|\n|*  and are being provided solely under the terms and conditions of an NVIDIA software license agreement.                             *|\n|*  Otherwise, you have no rights to use or access this software in any manner.                                                       *|\n|*                                                                                                                                    *|\n|*  If not covered by the applicable NVIDIA software license agreement:                                                               *|\n|*  NVIDIA MAKES NO REPRESENTATION ABOUT THE SUITABILITY OF THIS SOFTWARE FOR ANY PURPOSE.                                            *|\n|*  IT IS PROVIDED \"AS IS\" WITHOUT EXPRESS OR IMPLIED WARRANTY OF ANY KIND.                                                           *|\n|*  NVIDIA DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,                                                                     *|\n|*  INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE.                       *|\n|*  IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES,                               *|\n|*  OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,  WHETHER IN AN ACTION OF CONTRACT,                         *|\n|*  NEGLIGENCE OR OTHER TORTIOUS ACTION,  ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOURCE CODE.            *|\n|*                                                                                                                                    *|\n|*  U.S. Government End Users.                                                                                                        *|\n|*  This software is a \"commercial item\" as that term is defined at 48 C.F.R. 2.101 (OCT 1995),                                       *|\n|*  consisting  of \"commercial computer  software\"  and \"commercial computer software documentation\"                                  *|\n|*  as such terms are  used in 48 C.F.R. 12.212 (SEPT 1995) and is provided to the U.S. Government only as a commercial end item.     *|\n|*  Consistent with 48 C.F.R.12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (JUNE 1995),                                          *|\n|*  all U.S. Government End Users acquire the software with only those rights set forth herein.                                       *|\n|*                                                                                                                                    *|\n|*  Any use of this software in individual and commercial software must include,                                                      *|\n|*  in the user documentation and internal comments to the code,                                                                      *|\n|*  the above Disclaimer (as applicable) and U.S. Government End Users Notice.                                                        *|\n|*                                                                                                                                    *|\n \\************************************************************************************************************************************/\n\n#pragma once\n#include\"nvapi_lite_salstart.h\"\n#include\"nvapi_lite_common.h\"\n#pragma pack(push,8)\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n//! SUPPORTED OS:  Windows XP and higher\n//!\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME:   NvAPI_DISP_GetGDIPrimaryDisplayId\n//\n//! DESCRIPTION:     This API returns the Display ID of the GDI Primary.\n//!\n//! \\param [out]     displayId   Display ID of the GDI Primary display.\n//!\n//! \\retval ::NVAPI_OK:                          Capabilties have been returned.\n//! \\retval ::NVAPI_NVIDIA_DEVICE_NOT_FOUND:     GDI Primary not on an NVIDIA GPU.\n//! \\retval ::NVAPI_INVALID_ARGUMENT:            One or more args passed in are invalid.\n//! \\retval ::NVAPI_API_NOT_INTIALIZED:          The NvAPI API needs to be initialized first\n//! \\retval ::NVAPI_NO_IMPLEMENTATION:           This entrypoint not available\n//! \\retval ::NVAPI_ERROR:                       Miscellaneous error occurred\n//!\n//! \\ingroup dispcontrol\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_DISP_GetGDIPrimaryDisplayId(NvU32* displayId);\n#define NV_MOSAIC_MAX_DISPLAYS      (64)\n//! SUPPORTED OS:  Windows Vista and higher\n//!\n///////////////////////////////////////////////////////////////////////////////\n//\n// FUNCTION NAME:   NvAPI_Mosaic_GetDisplayViewportsByResolution\n//\n//! DESCRIPTION:     This API returns the viewports that would be applied on\n//!                  the requested display.\n//!\n//! \\param [in]      displayId       Display ID of a single display in the active\n//!                                  mosaic topology to query.\n//! \\param [in]      srcWidth        Width of full display topology. If both\n//!                                  width and height are 0, the current\n//!                                  resolution is used.\n//! \\param [in]      srcHeight       Height of full display topology. If both\n//!                                  width and height are 0, the current\n//!                                  resolution is used.\n//! \\param [out]     viewports       Array of NV_RECT viewports which represent\n//!                                  the displays as identified in\n//!                                  NvAPI_Mosaic_EnumGridTopologies. If the\n//!                                  requested resolution is a single-wide\n//!                                  resolution, only viewports[0] will\n//!                                  contain the viewport details, regardless\n//!                                  of which display is driving the display.\n//! \\param [out]     bezelCorrected  Returns 1 if the requested resolution is\n//!                                  bezel corrected. May be NULL.\n//!\n//! \\retval ::NVAPI_OK                          Capabilties have been returned.\n//! \\retval ::NVAPI_INVALID_ARGUMENT            One or more args passed in are invalid.\n//! \\retval ::NVAPI_API_NOT_INTIALIZED          The NvAPI API needs to be initialized first\n//! \\retval ::NVAPI_MOSAIC_NOT_ACTIVE           The display does not belong to an active Mosaic Topology\n//! \\retval ::NVAPI_NO_IMPLEMENTATION           This entrypoint not available\n//! \\retval ::NVAPI_ERROR                       Miscellaneous error occurred\n//!\n//! \\ingroup mosaicapi\n///////////////////////////////////////////////////////////////////////////////\nNVAPI_INTERFACE NvAPI_Mosaic_GetDisplayViewportsByResolution(NvU32 displayId, NvU32 srcWidth, NvU32 srcHeight, NV_RECT viewports[NV_MOSAIC_MAX_DISPLAYS], NvU8* bezelCorrected);\n\n#include\"nvapi_lite_salend.h\"\n#ifdef __cplusplus\n}\n#endif\n#pragma pack(pop)\n"
  },
  {
    "path": "external/regal_shared/Android.mk",
    "content": "LOCAL_PATH := $(call my-dir)\n# Regal prebuilt shared library\ninclude $(CLEAR_VARS)\nLOCAL_MODULE := regal_shared\n\nLOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include\nLOCAL_SRC_FILES := $(LOCAL_PATH)/lib/armeabi-v7a/libRegal.so\n\ninclude $(PREBUILT_SHARED_LIBRARY)\n"
  },
  {
    "path": "external/regal_shared/include/GL/Regal.h",
    "content": "/* NOTE: Do not edit this file, it is generated by a script:\n   Export.py --api gl 4.2 --api wgl 4.0 --api glx 4.0 --api cgl 1.4 --api egl 1.0 --outdir .\n*/\n\n/*\n  Copyright (c) 2011-2013 NVIDIA Corporation\n  Copyright (c) 2011-2013 Cass Everitt\n  Copyright (c) 2012-2013 Scott Nations\n  Copyright (c) 2012 Mathias Schott\n  Copyright (c) 2012-2013 Nigel Stewart\n  Copyright (c) 2012-2013 Google Inc.\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification,\n  are permitted provided that the following conditions are met:\n\n    Redistributions of source code must retain the above copyright notice, this\n    list of conditions and the following disclaimer.\n\n    Redistributions in binary form must reproduce the above copyright notice,\n    this list of conditions and the following disclaimer in the documentation\n    and/or other materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.\n  IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,\n  INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,\n  BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF\n  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE\n  OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED\n  OF THE POSSIBILITY OF SUCH DAMAGE.\n*/\n\n/*\n  Intended formatting conventions:\n  $ astyle --style=allman --indent=spaces=2 --indent-switches\n*/\n\n#ifndef __REGAL_DECLARATIONS_H\n#define __REGAL_DECLARATIONS_H\n\n#if defined(_WIN32)\n# if defined(PPAPI)\n#  ifndef REGAL_SYS_PPAPI\n#   define REGAL_SYS_PPAPI 1\n#  endif\n# else\n#  ifndef REGAL_SYS_WGL\n#   define REGAL_SYS_WGL 1\n#  endif\n# endif\n# ifndef REGAL_SYS_WIN32\n#  define REGAL_SYS_WIN32 1\n# endif\n#elif defined(__APPLE__)\n# include <TargetConditionals.h>\n# if defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE\n#  ifndef REGAL_SYS_IOS\n#   define REGAL_SYS_IOS 1\n#  endif\n# else\n#  ifndef REGAL_SYS_OSX\n#   define REGAL_SYS_OSX 1\n#  endif\n# endif\n#elif defined(__native_client__)\n# ifndef REGAL_SYS_PPAPI\n#  define REGAL_SYS_PPAPI 1\n# endif\n#elif defined(__ANDROID__)\n# ifndef REGAL_SYS_ANDROID\n#  define REGAL_SYS_ANDROID 1\n# endif\n# ifndef REGAL_SYS_EGL\n#  define REGAL_SYS_EGL 1\n# endif\n#elif defined(EMSCRIPTEN)\n# ifndef REGAL_SYS_EMSCRIPTEN\n#  define REGAL_SYS_EMSCRIPTEN 1\n# endif\n# ifndef REGAL_SYS_EGL\n#  define REGAL_SYS_EGL 1\n# endif\n# ifndef REGAL_SYS_ES2\n#  define REGAL_SYS_ES2 1\n# endif\n# ifndef REGAL_SYS_EMSCRIPTEN_STATIC\n#  define REGAL_SYS_EMSCRIPTEN_STATIC 0\n# endif\n# if REGAL_SYS_EMSCRIPTEN_STATIC\n#  define REGAL_DRIVER 1\n#  define REGAL_NAMESPACE 1\n#  define REGAL_STATIC_ES2 1\n#  define REGAL_STATIC_EGL 1\n# endif\n#elif !defined(REGAL_SYS_PPAPI) || !REGAL_SYS_PPAPI\n# ifndef REGAL_SYS_X11\n#  define REGAL_SYS_X11 1\n# endif\n# ifndef REGAL_SYS_GLX\n#  define REGAL_SYS_GLX REGAL_SYS_X11\n# endif\n#endif\n\n#ifndef REGAL_SYS_WGL\n# define REGAL_SYS_WGL 0\n#endif\n\n#ifndef REGAL_SYS_IOS\n# define REGAL_SYS_IOS 0\n#endif\n\n#ifndef REGAL_SYS_OSX\n# define REGAL_SYS_OSX 0\n#endif\n\n#ifndef REGAL_SYS_PPAPI\n# define REGAL_SYS_PPAPI 0\n#endif\n\n#ifndef REGAL_SYS_ANDROID\n# define REGAL_SYS_ANDROID 0\n#endif\n\n#ifndef REGAL_SYS_EGL\n# define REGAL_SYS_EGL 0\n#endif\n\n#ifndef REGAL_SYS_GLX\n# define REGAL_SYS_GLX 0\n#endif\n\n#ifndef REGAL_SYS_X11\n# define REGAL_SYS_X11 0\n#endif\n\n#ifndef REGAL_SYS_WIN32\n# define REGAL_SYS_WIN32 0\n#endif\n\n#ifndef REGAL_SYS_EMSCRIPTEN\n#define REGAL_SYS_EMSCRIPTEN 0\n#endif\n\n#ifndef REGAL_SYS_ES1\n#define REGAL_SYS_ES1 0\n#endif\n\n#ifndef REGAL_SYS_ES2\n#define REGAL_SYS_ES2 (REGAL_SYS_PPAPI || REGAL_SYS_IOS || REGAL_SYS_ANDROID || REGAL_SYS_EMSCRIPTEN || REGAL_SYS_EGL)\n#endif\n\n#ifndef REGAL_SYS_GL\n#define REGAL_SYS_GL (REGAL_SYS_WGL || (!REGAL_SYS_PPAPI && !REGAL_SYS_IOS && !REGAL_SYS_ANDROID && !REGAL_SYS_EMSCRIPTEN))\n#endif\n\n#if REGAL_SYS_WGL\n# define REGAL_CALL __stdcall\n#else\n# define REGAL_CALL\n#endif\n\n#ifndef GLAPIENTRY\n#define GLAPIENTRY REGAL_CALL\n#endif\n\n#ifdef _WIN32\n#  if REGAL_DECL_EXPORT\n#    define REGAL_DECL\n#  else\n#    define REGAL_DECL __declspec(dllimport)\n#  endif\n#elif defined(__GNUC__) && __GNUC__>=4\n#  if REGAL_DECL_EXPORT\n#    define REGAL_DECL __attribute__ ((visibility(\"default\")))\n#  else\n#    define REGAL_DECL\n#  endif\n#elif defined(__SUNPRO_C) || defined(__SUNPRO_CC)\n#  if REGAL_DECL_EXPORT\n#    define REGAL_DECL __global\n#  else\n#    define REGAL_DECL\n#  endif\n#else\n#  define REGAL_DECL\n#endif\n\n/* Plugins need the GL API as externs with plugin_ prefix */\n\n#ifdef REGAL_PLUGIN_MODE\n#undef  REGAL_DECL\n#define REGAL_DECL extern\n#endif\n\n#endif /* __REGAL_DECLARATIONS_H */\n\n#ifndef __REGAL_H__\n#define __REGAL_H__\n\n/* Skip OpenGL API if another header was included first. */\n\n#if !defined(__gl_h_) && !defined(__GL_H__) && !defined(__X_GL_H) && !defined(__gl2_h_) && !defined(__glext_h_) && !defined(__GLEXT_H_) && !defined(__gl_ATI_h_) && !defined(_OPENGL_H)\n\n#define __gl_h_\n#define __gl2_h_\n#define __GL_H__\n#define __X_GL_H\n#define __glext_h_\n#define __GLEXT_H_\n#define __gl_ATI_h_\n#define _OPENGL_H\n\n#if REGAL_SYS_GLX\n#include <X11/Xdefs.h>\n#include <X11/Xutil.h>\ntypedef XID GLXDrawable;\n#endif\n\n#if REGAL_SYS_EGL && REGAL_SYS_X11\n#include <X11/Xlib.h>\n#include <X11/Xutil.h>\n#endif\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n#include <stddef.h>\n#if defined(_WIN32)\n  typedef __int64 int64_t;\n  typedef unsigned __int64 uint64_t;\n  #if defined(REGAL_SYS_WGL_DECLARE_WGL) && !defined(_WINDEF_)\n    struct HDC__ {int unused;};\n    typedef struct HDC__* HDC;\n    struct HGLRC__ {int unused;};\n    typedef struct HGLRC__* HGLRC;\n  #endif\n#else\n  #include <inttypes.h>\n#endif\n\ntypedef unsigned int GLenum;\ntypedef unsigned char GLboolean;\ntypedef unsigned int GLbitfield;\ntypedef signed char GLbyte;\ntypedef short GLshort;\ntypedef int GLint;\ntypedef int GLsizei;\ntypedef unsigned char GLubyte;\ntypedef unsigned short GLushort;\ntypedef unsigned int GLuint;\ntypedef float GLfloat;\ntypedef float GLclampf;\ntypedef double GLdouble;\ntypedef double GLclampd;\ntypedef void GLvoid;\ntypedef ptrdiff_t GLintptr;\ntypedef ptrdiff_t GLsizeiptr;\ntypedef char GLchar;\ntypedef int64_t GLint64;\ntypedef uint64_t GLuint64;\ntypedef struct __GLsync * GLsync;\ntypedef struct _cl_context * cl_context;\ntypedef struct _cl_event * cl_event;\ntypedef ptrdiff_t GLintptrARB;\ntypedef ptrdiff_t GLsizeiptrARB;\ntypedef char GLcharARB;\n#if REGAL_SYS_IOS\ntypedef unsigned long GLhandleARB;\n#elif REGAL_SYS_OSX\ntypedef unsigned long GLhandleARB;\n#else\ntypedef unsigned int GLhandleARB;\n#endif\ntypedef unsigned short GLhalfARB;\ntypedef unsigned short GLhalfNV;\ntypedef int64_t GLint64EXT;\ntypedef uint64_t GLuint64EXT;\ntypedef GLintptr GLvdpauSurfaceNV;\ntypedef int GLfixed;\ntypedef int GLclampx;\n\n#if REGAL_SYS_WGL\n#ifdef  REGAL_SYS_WGL_DECLARE_WGL\n#ifndef _WINDEF_\ntypedef void VOID;\ntypedef void * PVOID;\ntypedef PVOID HANDLE;\ntypedef const char * LPCSTR;\ntypedef signed int INT32;\ntypedef signed __int64 INT64;\ntypedef void * LPVOID;\ntypedef int BOOL;\ntypedef unsigned long DWORD;\ntypedef float FLOAT;\ntypedef int INT;\ntypedef unsigned int UINT;\ntypedef unsigned short USHORT;\ntypedef void * PROC;\ntypedef DWORD COLORREF;\ntypedef long LONG;\ntypedef unsigned long * ULONG_PTR;\n#endif\n#ifndef _WINGDI_\ntypedef struct _GLYPHMETRICSFLOAT GLYPHMETRICSFLOAT;\ntypedef GLYPHMETRICSFLOAT * LPGLYPHMETRICSFLOAT;\ntypedef struct tagLAYERPLANEDESCRIPTOR LAYERPLANEDESCRIPTOR;\ntypedef LAYERPLANEDESCRIPTOR * LPLAYERPLANEDESCRIPTOR;\ntypedef struct tagPIXELFORMATDESCRIPTOR PIXELFORMATDESCRIPTOR;\ntypedef PIXELFORMATDESCRIPTOR * LPPIXELFORMATDESCRIPTOR;\ntypedef struct _POINTFLOAT POINTFLOAT;\ntypedef struct _WGLSWAP WGLSWAP;\n#endif\n#endif // REGAL_SYS_WGL_DECLARE_WGL\ntypedef struct HPBUFFERARB__ * HPBUFFERARB;\ntypedef struct HPBUFFEREXT__ * HPBUFFEREXT;\ntypedef struct HGPUNV__ * HGPUNV;\ntypedef struct HPVIDEODEV__ * HPVIDEODEV;\ntypedef struct HVIDEOINPUTDEVICENV__ * HVIDEOINPUTDEVICENV;\ntypedef struct HVIDEOOUTPUTDEVICENV__ * HVIDEOOUTPUTDEVICENV;\ntypedef struct GPU_DEVICE * PGPU_DEVICE;\n#endif // REGAL_SYS_WGL\n\n#if REGAL_SYS_GLX\ntypedef XID GLXVideoCaptureDeviceNV;\ntypedef unsigned long XID;\ntypedef XID Pixmap;\ntypedef XID Font;\ntypedef struct _XDisplay Display;\ntypedef XID GLXDrawble;\ntypedef XID GLXPixmap;\ntypedef struct __GLXcontextRec * GLXContext;\ntypedef unsigned int GLXVideoDeviceNV;\ntypedef XID GLXWindow;\ntypedef XID GLXPbuffer;\ntypedef XID GLXFBConfigID;\ntypedef struct __GLXFBConfigRec * GLXFBConfig;\ntypedef XID GLXContextID;\ntypedef XID GLXFBConfigIDSGIX;\ntypedef struct __GLXFBConfigRec * GLXFBConfigSGIX;\ntypedef XID GLXPbufferSGIX;\n#endif // REGAL_SYS_GLX\n\n#if REGAL_SYS_OSX\ntypedef struct _CGLContextObject * CGLContextObj;\ntypedef struct _CGLPixelFormatObject * CGLPixelFormatObj;\ntypedef struct _CGLRendererInfoObject * CGLRendererInfoObj;\ntypedef struct _CGLPBufferObject * CGLPBufferObj;\ntypedef void * CGLShareGroupObj;\ntypedef struct __IOSurface * IOSurfaceRef;\ntypedef void * CGSConnectionID;\ntypedef int CGSWindowID;\ntypedef int CGSSurfaceID;\n#endif // REGAL_SYS_OSX\n\n#if REGAL_SYS_EGL\n#if REGAL_SYS_ANDROID\ntypedef struct ANativeWindow * EGLNativeWindowType;\n#elif REGAL_SYS_WIN32\ntypedef HWND EGLNativeWindowType;\n#elif REGAL_SYS_X11\ntypedef Window EGLNativeWindowType;\n#else\ntypedef void * EGLNativeWindowType;\n#endif\n#if REGAL_SYS_ANDROID\ntypedef struct egl_native_pixmap_t * EGLNativePixmapType;\n#elif REGAL_SYS_WIN32\ntypedef HBITMAP EGLNativePixmapType;\n#elif REGAL_SYS_X11\ntypedef Pixmap EGLNativePixmapType;\n#else\ntypedef void * EGLNativePixmapType;\n#endif\n#if REGAL_SYS_ANDROID\ntypedef void * EGLNativeDisplayType;\n#elif REGAL_SYS_WIN32\ntypedef HDC EGLNativeDisplayType;\n#elif REGAL_SYS_X11\ntypedef Display * EGLNativeDisplayType;\n#else\ntypedef int EGLNativeDisplayType;\n#endif\ntypedef EGLNativeDisplayType NativeDisplayType;\ntypedef EGLNativePixmapType  NativePixmapType;\ntypedef EGLNativeWindowType  NativeWindowType;\ntypedef int EGLint;\ntypedef unsigned int EGLBoolean;\ntypedef unsigned int EGLenum;\ntypedef void * EGLConfig;\ntypedef void * EGLContext;\ntypedef void * EGLDisplay;\ntypedef void * EGLSurface;\ntypedef void * EGLClientBuffer;\ntypedef void  (*__eglMustCastToProperFunctionPointerType)(void);\ntypedef void * EGLSyncKHR;\ntypedef uint64_t EGLTimeKHR;\ntypedef void * EGLImageKHR;\ntypedef void * EGLStreamKHR;\ntypedef uint64_t EGLuint64KHR;\ntypedef int EGLNativeFileDescriptorKHR;\ntypedef void * EGLSyncNV;\ntypedef uint64_t EGLTimeNV;\ntypedef uint64_t EGLuint64NV;\n#endif // REGAL_SYS_EGL\n\n/* TODO: make this automatic? */\n\ntypedef void (REGAL_CALL *GLDEBUGPROCAMD)(GLuint id, GLenum category, GLenum severity, GLsizei length, const GLchar *message, GLvoid *userParam);\ntypedef void (REGAL_CALL *GLDEBUGPROCARB)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *message, GLvoid *userParam);\ntypedef void (REGAL_CALL *GLDEBUGPROC)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *message, GLvoid *userParam);\n\ntypedef void (*GLLOGPROCREGAL)(GLenum stream, GLsizei length, const GLchar *message, GLvoid *context);\n\n#if REGAL_SYS_GLX\ntypedef void (*__GLXextFuncPtr)(void);\n#endif\n\n#if REGAL_SYS_OSX\n\ntypedef enum _CGLPixelFormatAttribute {\n  kCGLPFAAllRenderers = 1,\n  kCGLPFATripleBuffer = 3,\n  kCGLPFADoubleBuffer = 5,\n  kCGLPFAStereo = 6,\n  kCGLPFAAuxBuffers = 7,\n  kCGLPFAColorSize = 8,\n  kCGLPFAAlphaSize = 11,\n  kCGLPFADepthSize = 12,\n  kCGLPFAStencilSize = 13,\n  kCGLPFAAccumSize = 14,\n  kCGLPFAMinimumPolicy = 51,\n  kCGLPFAMaximumPolicy = 52,\n  kCGLPFAOffScreen = 53,\n  kCGLPFAFullScreen = 54,\n  kCGLPFASampleBuffers = 55,\n  kCGLPFASamples = 56,\n  kCGLPFAAuxDepthStencil = 57,\n  kCGLPFAColorFloat = 58,\n  kCGLPFAMultisample = 59,\n  kCGLPFASupersample = 60,\n  kCGLPFASampleAlpha = 61,\n  kCGLPFARendererID = 70,\n  kCGLPFASingleRenderer = 71,\n  kCGLPFANoRecovery = 72,\n  kCGLPFAAccelerated = 73,\n  kCGLPFAClosestPolicy = 74,\n  kCGLPFARobust = 75,\n  kCGLPFABackingStore = 76,\n  kCGLPFAMPSafe = 78,\n  kCGLPFAWindow = 80,\n  kCGLPFAMultiScreen = 81,\n  kCGLPFACompliant = 83,\n  kCGLPFADisplayMask = 84,\n  kCGLPFAPBuffer = 90,\n  kCGLPFARemotePBuffer = 91,\n  kCGLPFAAllowOfflineRenderers = 96,\n  kCGLPFAAcceleratedCompute = 97,\n  kCGLPFAOpenGLProfile = 99,\n  kCGLPFAVirtualScreenCount = 128,\n} CGLPixelFormatAttribute;\n\ntypedef enum _CGLRendererProperty {\n  kCGLRPOffScreen = 53,\n  kCGLRPFullScreen = 54,\n  kCGLRPRendererID = 70,\n  kCGLRPAccelerated = 73,\n  kCGLRPRobust = 75,\n  kCGLRPBackingStore = 76,\n  kCGLRPMPSafe = 78,\n  kCGLRPWindow = 80,\n  kCGLRPMultiScreen = 81,\n  kCGLRPCompliant = 83,\n  kCGLRPDisplayMask = 84,\n  kCGLRPBufferModes = 100,\n  kCGLRPColorModes = 103,\n  kCGLRPAccumModes = 104,\n  kCGLRPDepthModes = 105,\n  kCGLRPStencilModes = 106,\n  kCGLRPMaxAuxBuffers = 107,\n  kCGLRPMaxSampleBuffers = 108,\n  kCGLRPMaxSamples = 109,\n  kCGLRPSampleModes = 110,\n  kCGLRPSampleAlpha = 111,\n  kCGLRPVideoMemory = 120,\n  kCGLRPTextureMemory = 121,\n  kCGLRPGPUVertProcCapable = 122,\n  kCGLRPGPUFragProcCapable = 123,\n  kCGLRPRendererCount = 128,\n  kCGLRPOnline = 129,\n  kCGLRPAcceleratedCompute = 130,\n  kCGLRPVideoMemoryMegabytes = 131,\n  kCGLRPTextureMemoryMegabytes = 132,\n} CGLRendererProperty;\n\ntypedef enum _CGLContextEnable {\n  kCGLCESwapRectangle = 201,\n  kCGLCESwapLimit = 203,\n  kCGLCERasterization = 221,\n  kCGLCEStateValidation = 301,\n  kCGLCESurfaceBackingSize = 305,\n  kCGLCEDisplayListOptimization = 307,\n  kCGLCEMPEngine = 313,\n  kCGLCECrashOnRemovedFunctions = 316,\n} CGLContextEnable;\n\ntypedef enum _CGLContextParameter {\n  kCGLCPSwapRectangle = 200,\n  kCGLCPSwapInterval = 222,\n  kCGLCPDispatchTableSize = 224,\n  kCGLCPClientStorage = 226,\n  kCGLCPSurfaceTexture = 228,\n  kCGLCPSurfaceOrder = 235,\n  kCGLCPSurfaceOpacity = 236,\n  kCGLCPSurfaceBackingSize = 304,\n  kCGLCPSurfaceSurfaceVolatile = 306,\n  kCGLCPReclaimResources = 308,\n  kCGLCPCurrentRendererID = 309,\n  kCGLCPGPUVertexProcessing = 310,\n  kCGLCPGPUFragmentProcessing = 311,\n  kCGLCPHasDrawable = 314,\n  kCGLCPMPSwapsInFlight = 315,\n} CGLContextParameter;\n\ntypedef enum _CGLGlobalOption {\n  kCGLGOFormatCacheSize = 501,\n  kCGLGOClearFormatCache = 502,\n  kCGLGORetainRenderers = 503,\n  kCGLGOResetLibrary = 504,\n  kCGLGOUseErrorHandler = 505,\n  kCGLGOUseBuildCache = 506,\n} CGLGlobalOption;\n\ntypedef enum _CGLOpenGLProfile {\n  kCGLOGLPVersion_Legacy = 4096,\n  kCGLOGLPVersion_3_2_Core = 12800,\n} CGLOpenGLProfile;\n\ntypedef enum _CGLError {\n  kCGLNoError = 0,\n  kCGLBadAttribute = 10000,\n  kCGLBadProperty = 10001,\n  kCGLBadPixelFormat = 10002,\n  kCGLBadRendererInfo = 10003,\n  kCGLBadContext = 10004,\n  kCGLBadDrawable = 10005,\n  kCGLBadDisplay  = 10006,\n  kCGLBadState = 10007,\n  kCGLBadValue = 10008,\n  kCGLBadMatch = 10009,\n  kCGLBadEnumeration = 10010,\n  kCGLBadOffScreen = 10011,\n  kCGLBadFullScreen = 10012,\n  kCGLBadWindow = 10013,\n  kCGLBadAddress = 10014,\n  kCGLBadCodeModule = 10015,\n  kCGLBadAlloc = 10016,\n  kCGLBadConnection = 10017,\n} CGLError;\n\n#endif // REGAL_SYS_OSX\n\n/**\n ** GL_3DFX_multisample\n **/\n\n#if (defined(GL_3DFX_MULTISAMPLE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_3DFX_MULTISAMPLE)) && !defined(REGAL_NO_ENUM_GL_3DFX_MULTISAMPLE)\n#define REGAL_NO_ENUM_GL_3DFX_MULTISAMPLE\n#endif\n\n#if (defined(GL_3DFX_MULTISAMPLE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_3DFX_MULTISAMPLE)) && !defined(REGAL_NO_TYPEDEF_GL_3DFX_MULTISAMPLE)\n#define REGAL_NO_TYPEDEF_GL_3DFX_MULTISAMPLE\n#endif\n\n#if (defined(GL_3DFX_MULTISAMPLE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_3DFX_MULTISAMPLE)) && !defined(REGAL_NO_NAMESPACE_GL_3DFX_MULTISAMPLE)\n#define REGAL_NO_NAMESPACE_GL_3DFX_MULTISAMPLE\n#endif\n\n#if (defined(GL_3DFX_MULTISAMPLE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_3DFX_MULTISAMPLE)) && !defined(REGAL_NO_PLUGIN_GL_3DFX_MULTISAMPLE)\n#define REGAL_NO_PLUGIN_GL_3DFX_MULTISAMPLE\n#endif\n\n#if (defined(GL_3DFX_MULTISAMPLE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_3DFX_MULTISAMPLE)) && !defined(REGAL_NO_DECLARATION_GL_3DFX_MULTISAMPLE)\n#define REGAL_NO_DECLARATION_GL_3DFX_MULTISAMPLE\n#endif\n\n#ifndef GL_3DFX_multisample\n#define GL_3DFX_multisample 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_3DFX_MULTISAMPLE\n#define GL_MULTISAMPLE_BIT_3DFX 0x20000000     /* 536870912 */\n#define GL_MULTISAMPLE_3DFX     0x86b2         /* 34482 */\n#define GL_SAMPLE_BUFFERS_3DFX  0x86b3         /* 34483 */\n#define GL_SAMPLES_3DFX         0x86b4         /* 34484 */\n#endif\n\n/**\n ** GL_3DFX_tbuffer\n **/\n\n#if (defined(GL_3DFX_TBUFFER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_3DFX_TBUFFER)) && !defined(REGAL_NO_ENUM_GL_3DFX_TBUFFER)\n#define REGAL_NO_ENUM_GL_3DFX_TBUFFER\n#endif\n\n#if (defined(GL_3DFX_TBUFFER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_3DFX_TBUFFER)) && !defined(REGAL_NO_TYPEDEF_GL_3DFX_TBUFFER)\n#define REGAL_NO_TYPEDEF_GL_3DFX_TBUFFER\n#endif\n\n#if (defined(GL_3DFX_TBUFFER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_3DFX_TBUFFER)) && !defined(REGAL_NO_NAMESPACE_GL_3DFX_TBUFFER)\n#define REGAL_NO_NAMESPACE_GL_3DFX_TBUFFER\n#endif\n\n#if (defined(GL_3DFX_TBUFFER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_3DFX_TBUFFER)) && !defined(REGAL_NO_PLUGIN_GL_3DFX_TBUFFER)\n#define REGAL_NO_PLUGIN_GL_3DFX_TBUFFER\n#endif\n\n#if (defined(GL_3DFX_TBUFFER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_3DFX_TBUFFER)) && !defined(REGAL_NO_DECLARATION_GL_3DFX_TBUFFER)\n#define REGAL_NO_DECLARATION_GL_3DFX_TBUFFER\n#endif\n\n#ifndef GL_3DFX_tbuffer\n#define GL_3DFX_tbuffer 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_3DFX_TBUFFER\ntypedef void (REGAL_CALL *PFNGLTBUFFERMASK3DFXPROC)(GLuint mask);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_3DFX_TBUFFER\n#define glTbufferMask3DFX                   rglTbufferMask3DFX\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_3DFX_TBUFFER\nREGAL_DECL void REGAL_CALL glTbufferMask3DFX(GLuint mask);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_3DFX_TBUFFER\nREGAL_DECL void REGAL_CALL plugin_glTbufferMask3DFX(GLuint mask);\n#endif\n\n/**\n ** GL_3DFX_texture_compression_FXT1\n **/\n\n#if (defined(GL_3DFX_TEXTURE_COMPRESSION_FXT1) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_3DFX_TEXTURE_COMPRESSION_FXT1)) && !defined(REGAL_NO_ENUM_GL_3DFX_TEXTURE_COMPRESSION_FXT1)\n#define REGAL_NO_ENUM_GL_3DFX_TEXTURE_COMPRESSION_FXT1\n#endif\n\n#if (defined(GL_3DFX_TEXTURE_COMPRESSION_FXT1) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_3DFX_TEXTURE_COMPRESSION_FXT1)) && !defined(REGAL_NO_TYPEDEF_GL_3DFX_TEXTURE_COMPRESSION_FXT1)\n#define REGAL_NO_TYPEDEF_GL_3DFX_TEXTURE_COMPRESSION_FXT1\n#endif\n\n#if (defined(GL_3DFX_TEXTURE_COMPRESSION_FXT1) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_3DFX_TEXTURE_COMPRESSION_FXT1)) && !defined(REGAL_NO_NAMESPACE_GL_3DFX_TEXTURE_COMPRESSION_FXT1)\n#define REGAL_NO_NAMESPACE_GL_3DFX_TEXTURE_COMPRESSION_FXT1\n#endif\n\n#if (defined(GL_3DFX_TEXTURE_COMPRESSION_FXT1) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_3DFX_TEXTURE_COMPRESSION_FXT1)) && !defined(REGAL_NO_PLUGIN_GL_3DFX_TEXTURE_COMPRESSION_FXT1)\n#define REGAL_NO_PLUGIN_GL_3DFX_TEXTURE_COMPRESSION_FXT1\n#endif\n\n#if (defined(GL_3DFX_TEXTURE_COMPRESSION_FXT1) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_3DFX_TEXTURE_COMPRESSION_FXT1)) && !defined(REGAL_NO_DECLARATION_GL_3DFX_TEXTURE_COMPRESSION_FXT1)\n#define REGAL_NO_DECLARATION_GL_3DFX_TEXTURE_COMPRESSION_FXT1\n#endif\n\n#ifndef GL_3DFX_texture_compression_FXT1\n#define GL_3DFX_texture_compression_FXT1 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_3DFX_TEXTURE_COMPRESSION_FXT1\n#define GL_COMPRESSED_RGB_FXT1_3DFX  0x86b0     /* 34480 */\n#define GL_COMPRESSED_RGBA_FXT1_3DFX 0x86b1     /* 34481 */\n#endif\n\n/**\n ** GL_AMD_blend_minmax_factor\n **/\n\n#if (defined(GL_AMD_BLEND_MINMAX_FACTOR) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_AMD_BLEND_MINMAX_FACTOR)) && !defined(REGAL_NO_ENUM_GL_AMD_BLEND_MINMAX_FACTOR)\n#define REGAL_NO_ENUM_GL_AMD_BLEND_MINMAX_FACTOR\n#endif\n\n#if (defined(GL_AMD_BLEND_MINMAX_FACTOR) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_AMD_BLEND_MINMAX_FACTOR)) && !defined(REGAL_NO_TYPEDEF_GL_AMD_BLEND_MINMAX_FACTOR)\n#define REGAL_NO_TYPEDEF_GL_AMD_BLEND_MINMAX_FACTOR\n#endif\n\n#if (defined(GL_AMD_BLEND_MINMAX_FACTOR) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_AMD_BLEND_MINMAX_FACTOR)) && !defined(REGAL_NO_NAMESPACE_GL_AMD_BLEND_MINMAX_FACTOR)\n#define REGAL_NO_NAMESPACE_GL_AMD_BLEND_MINMAX_FACTOR\n#endif\n\n#if (defined(GL_AMD_BLEND_MINMAX_FACTOR) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_AMD_BLEND_MINMAX_FACTOR)) && !defined(REGAL_NO_PLUGIN_GL_AMD_BLEND_MINMAX_FACTOR)\n#define REGAL_NO_PLUGIN_GL_AMD_BLEND_MINMAX_FACTOR\n#endif\n\n#if (defined(GL_AMD_BLEND_MINMAX_FACTOR) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_AMD_BLEND_MINMAX_FACTOR)) && !defined(REGAL_NO_DECLARATION_GL_AMD_BLEND_MINMAX_FACTOR)\n#define REGAL_NO_DECLARATION_GL_AMD_BLEND_MINMAX_FACTOR\n#endif\n\n#ifndef GL_AMD_blend_minmax_factor\n#define GL_AMD_blend_minmax_factor 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_AMD_BLEND_MINMAX_FACTOR\n#define GL_FACTOR_MIN_AMD 0x901c     /* 36892 */\n#define GL_FACTOR_MAX_AMD 0x901d     /* 36893 */\n#endif\n\n/**\n ** GL_AMD_compressed_3DC_texture\n **/\n\n#if (defined(GL_AMD_COMPRESSED_3DC_TEXTURE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_AMD_COMPRESSED_3DC_TEXTURE)) && !defined(REGAL_NO_ENUM_GL_AMD_COMPRESSED_3DC_TEXTURE)\n#define REGAL_NO_ENUM_GL_AMD_COMPRESSED_3DC_TEXTURE\n#endif\n\n#if (defined(GL_AMD_COMPRESSED_3DC_TEXTURE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_AMD_COMPRESSED_3DC_TEXTURE)) && !defined(REGAL_NO_TYPEDEF_GL_AMD_COMPRESSED_3DC_TEXTURE)\n#define REGAL_NO_TYPEDEF_GL_AMD_COMPRESSED_3DC_TEXTURE\n#endif\n\n#if (defined(GL_AMD_COMPRESSED_3DC_TEXTURE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_AMD_COMPRESSED_3DC_TEXTURE)) && !defined(REGAL_NO_NAMESPACE_GL_AMD_COMPRESSED_3DC_TEXTURE)\n#define REGAL_NO_NAMESPACE_GL_AMD_COMPRESSED_3DC_TEXTURE\n#endif\n\n#if (defined(GL_AMD_COMPRESSED_3DC_TEXTURE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_AMD_COMPRESSED_3DC_TEXTURE)) && !defined(REGAL_NO_PLUGIN_GL_AMD_COMPRESSED_3DC_TEXTURE)\n#define REGAL_NO_PLUGIN_GL_AMD_COMPRESSED_3DC_TEXTURE\n#endif\n\n#if (defined(GL_AMD_COMPRESSED_3DC_TEXTURE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_AMD_COMPRESSED_3DC_TEXTURE)) && !defined(REGAL_NO_DECLARATION_GL_AMD_COMPRESSED_3DC_TEXTURE)\n#define REGAL_NO_DECLARATION_GL_AMD_COMPRESSED_3DC_TEXTURE\n#endif\n\n#ifndef GL_AMD_compressed_3DC_texture\n#define GL_AMD_compressed_3DC_texture 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_AMD_COMPRESSED_3DC_TEXTURE\n#define GL_3DC_X_AMD  0x87f9     /* 34809 */\n#define GL_3DC_XY_AMD 0x87fa     /* 34810 */\n#endif\n\n/**\n ** GL_AMD_compressed_ATC_texture\n **/\n\n#if (defined(GL_AMD_COMPRESSED_ATC_TEXTURE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_AMD_COMPRESSED_ATC_TEXTURE)) && !defined(REGAL_NO_ENUM_GL_AMD_COMPRESSED_ATC_TEXTURE)\n#define REGAL_NO_ENUM_GL_AMD_COMPRESSED_ATC_TEXTURE\n#endif\n\n#if (defined(GL_AMD_COMPRESSED_ATC_TEXTURE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_AMD_COMPRESSED_ATC_TEXTURE)) && !defined(REGAL_NO_TYPEDEF_GL_AMD_COMPRESSED_ATC_TEXTURE)\n#define REGAL_NO_TYPEDEF_GL_AMD_COMPRESSED_ATC_TEXTURE\n#endif\n\n#if (defined(GL_AMD_COMPRESSED_ATC_TEXTURE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_AMD_COMPRESSED_ATC_TEXTURE)) && !defined(REGAL_NO_NAMESPACE_GL_AMD_COMPRESSED_ATC_TEXTURE)\n#define REGAL_NO_NAMESPACE_GL_AMD_COMPRESSED_ATC_TEXTURE\n#endif\n\n#if (defined(GL_AMD_COMPRESSED_ATC_TEXTURE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_AMD_COMPRESSED_ATC_TEXTURE)) && !defined(REGAL_NO_PLUGIN_GL_AMD_COMPRESSED_ATC_TEXTURE)\n#define REGAL_NO_PLUGIN_GL_AMD_COMPRESSED_ATC_TEXTURE\n#endif\n\n#if (defined(GL_AMD_COMPRESSED_ATC_TEXTURE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_AMD_COMPRESSED_ATC_TEXTURE)) && !defined(REGAL_NO_DECLARATION_GL_AMD_COMPRESSED_ATC_TEXTURE)\n#define REGAL_NO_DECLARATION_GL_AMD_COMPRESSED_ATC_TEXTURE\n#endif\n\n#ifndef GL_AMD_compressed_ATC_texture\n#define GL_AMD_compressed_ATC_texture 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_AMD_COMPRESSED_ATC_TEXTURE\n#define GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD 0x87ee     /* 34798 */\n#define GL_ATC_RGB_AMD                     0x8c92     /* 35986 */\n#define GL_ATC_RGBA_EXPLICIT_ALPHA_AMD     0x8c93     /* 35987 */\n#endif\n\n/**\n ** GL_AMD_debug_output\n **/\n\n#if (defined(GL_AMD_DEBUG_OUTPUT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_AMD_DEBUG_OUTPUT)) && !defined(REGAL_NO_ENUM_GL_AMD_DEBUG_OUTPUT)\n#define REGAL_NO_ENUM_GL_AMD_DEBUG_OUTPUT\n#endif\n\n#if (defined(GL_AMD_DEBUG_OUTPUT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_AMD_DEBUG_OUTPUT)) && !defined(REGAL_NO_TYPEDEF_GL_AMD_DEBUG_OUTPUT)\n#define REGAL_NO_TYPEDEF_GL_AMD_DEBUG_OUTPUT\n#endif\n\n#if (defined(GL_AMD_DEBUG_OUTPUT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_AMD_DEBUG_OUTPUT)) && !defined(REGAL_NO_NAMESPACE_GL_AMD_DEBUG_OUTPUT)\n#define REGAL_NO_NAMESPACE_GL_AMD_DEBUG_OUTPUT\n#endif\n\n#if (defined(GL_AMD_DEBUG_OUTPUT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_AMD_DEBUG_OUTPUT)) && !defined(REGAL_NO_PLUGIN_GL_AMD_DEBUG_OUTPUT)\n#define REGAL_NO_PLUGIN_GL_AMD_DEBUG_OUTPUT\n#endif\n\n#if (defined(GL_AMD_DEBUG_OUTPUT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_AMD_DEBUG_OUTPUT)) && !defined(REGAL_NO_DECLARATION_GL_AMD_DEBUG_OUTPUT)\n#define REGAL_NO_DECLARATION_GL_AMD_DEBUG_OUTPUT\n#endif\n\n#ifndef GL_AMD_debug_output\n#define GL_AMD_debug_output 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_AMD_DEBUG_OUTPUT\n#define GL_MAX_DEBUG_MESSAGE_LENGTH_AMD          0x9143     /* 37187 */\n#define GL_MAX_DEBUG_LOGGED_MESSAGES_AMD         0x9144     /* 37188 */\n#define GL_DEBUG_LOGGED_MESSAGES_AMD             0x9145     /* 37189 */\n#define GL_DEBUG_SEVERITY_HIGH_AMD               0x9146     /* 37190 */\n#define GL_DEBUG_SEVERITY_MEDIUM_AMD             0x9147     /* 37191 */\n#define GL_DEBUG_SEVERITY_LOW_AMD                0x9148     /* 37192 */\n#define GL_DEBUG_CATEGORY_API_ERROR_AMD          0x9149     /* 37193 */\n#define GL_DEBUG_CATEGORY_WINDOW_SYSTEM_AMD      0x914a     /* 37194 */\n#define GL_DEBUG_CATEGORY_DEPRECATION_AMD        0x914b     /* 37195 */\n#define GL_DEBUG_CATEGORY_UNDEFINED_BEHAVIOR_AMD 0x914c     /* 37196 */\n#define GL_DEBUG_CATEGORY_PERFORMANCE_AMD        0x914d     /* 37197 */\n#define GL_DEBUG_CATEGORY_SHADER_COMPILER_AMD    0x914e     /* 37198 */\n#define GL_DEBUG_CATEGORY_APPLICATION_AMD        0x914f     /* 37199 */\n#define GL_DEBUG_CATEGORY_OTHER_AMD              0x9150     /* 37200 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_AMD_DEBUG_OUTPUT\ntypedef GLuint (REGAL_CALL *PFNGLGETDEBUGMESSAGELOGAMDPROC)(GLuint count, GLsizei bufsize, GLenum *categories, GLuint *severities, GLuint *ids, GLsizei *lengths, GLchar *message);\ntypedef void (REGAL_CALL *PFNGLDEBUGMESSAGECALLBACKAMDPROC)(GLDEBUGPROCAMD callback, GLvoid *userParam);\ntypedef void (REGAL_CALL *PFNGLDEBUGMESSAGEENABLEAMDPROC)(GLenum category, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);\ntypedef void (REGAL_CALL *PFNGLDEBUGMESSAGEINSERTAMDPROC)(GLenum category, GLenum severity, GLuint id, GLsizei length, const GLchar *buf);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_AMD_DEBUG_OUTPUT\n#define glDebugMessageCallbackAMD           rglDebugMessageCallbackAMD\n#define glDebugMessageEnableAMD             rglDebugMessageEnableAMD\n#define glDebugMessageInsertAMD             rglDebugMessageInsertAMD\n#define glGetDebugMessageLogAMD             rglGetDebugMessageLogAMD\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_AMD_DEBUG_OUTPUT\nREGAL_DECL GLuint REGAL_CALL glGetDebugMessageLogAMD(GLuint count, GLsizei bufsize, GLenum *categories, GLuint *severities, GLuint *ids, GLsizei *lengths, GLchar *message);\nREGAL_DECL void REGAL_CALL glDebugMessageCallbackAMD(GLDEBUGPROCAMD callback, GLvoid *userParam);\nREGAL_DECL void REGAL_CALL glDebugMessageEnableAMD(GLenum category, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);\nREGAL_DECL void REGAL_CALL glDebugMessageInsertAMD(GLenum category, GLenum severity, GLuint id, GLsizei length, const GLchar *buf);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_AMD_DEBUG_OUTPUT\nREGAL_DECL GLuint REGAL_CALL plugin_glGetDebugMessageLogAMD(GLuint count, GLsizei bufsize, GLenum *categories, GLuint *severities, GLuint *ids, GLsizei *lengths, GLchar *message);\nREGAL_DECL void REGAL_CALL plugin_glDebugMessageCallbackAMD(GLDEBUGPROCAMD callback, GLvoid *userParam);\nREGAL_DECL void REGAL_CALL plugin_glDebugMessageEnableAMD(GLenum category, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);\nREGAL_DECL void REGAL_CALL plugin_glDebugMessageInsertAMD(GLenum category, GLenum severity, GLuint id, GLsizei length, const GLchar *buf);\n#endif\n\n/**\n ** GL_AMD_depth_clamp_separate\n **/\n\n#if (defined(GL_AMD_DEPTH_CLAMP_SEPARATE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_AMD_DEPTH_CLAMP_SEPARATE)) && !defined(REGAL_NO_ENUM_GL_AMD_DEPTH_CLAMP_SEPARATE)\n#define REGAL_NO_ENUM_GL_AMD_DEPTH_CLAMP_SEPARATE\n#endif\n\n#if (defined(GL_AMD_DEPTH_CLAMP_SEPARATE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_AMD_DEPTH_CLAMP_SEPARATE)) && !defined(REGAL_NO_TYPEDEF_GL_AMD_DEPTH_CLAMP_SEPARATE)\n#define REGAL_NO_TYPEDEF_GL_AMD_DEPTH_CLAMP_SEPARATE\n#endif\n\n#if (defined(GL_AMD_DEPTH_CLAMP_SEPARATE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_AMD_DEPTH_CLAMP_SEPARATE)) && !defined(REGAL_NO_NAMESPACE_GL_AMD_DEPTH_CLAMP_SEPARATE)\n#define REGAL_NO_NAMESPACE_GL_AMD_DEPTH_CLAMP_SEPARATE\n#endif\n\n#if (defined(GL_AMD_DEPTH_CLAMP_SEPARATE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_AMD_DEPTH_CLAMP_SEPARATE)) && !defined(REGAL_NO_PLUGIN_GL_AMD_DEPTH_CLAMP_SEPARATE)\n#define REGAL_NO_PLUGIN_GL_AMD_DEPTH_CLAMP_SEPARATE\n#endif\n\n#if (defined(GL_AMD_DEPTH_CLAMP_SEPARATE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_AMD_DEPTH_CLAMP_SEPARATE)) && !defined(REGAL_NO_DECLARATION_GL_AMD_DEPTH_CLAMP_SEPARATE)\n#define REGAL_NO_DECLARATION_GL_AMD_DEPTH_CLAMP_SEPARATE\n#endif\n\n#ifndef GL_AMD_depth_clamp_separate\n#define GL_AMD_depth_clamp_separate 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_AMD_DEPTH_CLAMP_SEPARATE\n#define GL_DEPTH_CLAMP_NEAR_AMD 0x901e     /* 36894 */\n#define GL_DEPTH_CLAMP_FAR_AMD  0x901f     /* 36895 */\n#endif\n\n/**\n ** GL_AMD_draw_buffers_blend\n **/\n\n#if (defined(GL_AMD_DRAW_BUFFERS_BLEND) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_AMD_DRAW_BUFFERS_BLEND)) && !defined(REGAL_NO_ENUM_GL_AMD_DRAW_BUFFERS_BLEND)\n#define REGAL_NO_ENUM_GL_AMD_DRAW_BUFFERS_BLEND\n#endif\n\n#if (defined(GL_AMD_DRAW_BUFFERS_BLEND) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_AMD_DRAW_BUFFERS_BLEND)) && !defined(REGAL_NO_TYPEDEF_GL_AMD_DRAW_BUFFERS_BLEND)\n#define REGAL_NO_TYPEDEF_GL_AMD_DRAW_BUFFERS_BLEND\n#endif\n\n#if (defined(GL_AMD_DRAW_BUFFERS_BLEND) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_AMD_DRAW_BUFFERS_BLEND)) && !defined(REGAL_NO_NAMESPACE_GL_AMD_DRAW_BUFFERS_BLEND)\n#define REGAL_NO_NAMESPACE_GL_AMD_DRAW_BUFFERS_BLEND\n#endif\n\n#if (defined(GL_AMD_DRAW_BUFFERS_BLEND) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_AMD_DRAW_BUFFERS_BLEND)) && !defined(REGAL_NO_PLUGIN_GL_AMD_DRAW_BUFFERS_BLEND)\n#define REGAL_NO_PLUGIN_GL_AMD_DRAW_BUFFERS_BLEND\n#endif\n\n#if (defined(GL_AMD_DRAW_BUFFERS_BLEND) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_AMD_DRAW_BUFFERS_BLEND)) && !defined(REGAL_NO_DECLARATION_GL_AMD_DRAW_BUFFERS_BLEND)\n#define REGAL_NO_DECLARATION_GL_AMD_DRAW_BUFFERS_BLEND\n#endif\n\n#ifndef GL_AMD_draw_buffers_blend\n#define GL_AMD_draw_buffers_blend 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_AMD_DRAW_BUFFERS_BLEND\ntypedef void (REGAL_CALL *PFNGLBLENDEQUATIONINDEXEDAMDPROC)(GLuint buf, GLenum mode);\ntypedef void (REGAL_CALL *PFNGLBLENDEQUATIONSEPARATEINDEXEDAMDPROC)(GLuint buf, GLenum modeRGB, GLenum modeAlpha);\ntypedef void (REGAL_CALL *PFNGLBLENDFUNCINDEXEDAMDPROC)(GLuint buf, GLenum src, GLenum dst);\ntypedef void (REGAL_CALL *PFNGLBLENDFUNCSEPARATEINDEXEDAMDPROC)(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_AMD_DRAW_BUFFERS_BLEND\n#define glBlendEquationIndexedAMD           rglBlendEquationIndexedAMD\n#define glBlendEquationSeparateIndexedAMD   rglBlendEquationSeparateIndexedAMD\n#define glBlendFuncIndexedAMD               rglBlendFuncIndexedAMD\n#define glBlendFuncSeparateIndexedAMD       rglBlendFuncSeparateIndexedAMD\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_AMD_DRAW_BUFFERS_BLEND\nREGAL_DECL void REGAL_CALL glBlendEquationIndexedAMD(GLuint buf, GLenum mode);\nREGAL_DECL void REGAL_CALL glBlendEquationSeparateIndexedAMD(GLuint buf, GLenum modeRGB, GLenum modeAlpha);\nREGAL_DECL void REGAL_CALL glBlendFuncIndexedAMD(GLuint buf, GLenum src, GLenum dst);\nREGAL_DECL void REGAL_CALL glBlendFuncSeparateIndexedAMD(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_AMD_DRAW_BUFFERS_BLEND\nREGAL_DECL void REGAL_CALL plugin_glBlendEquationIndexedAMD(GLuint buf, GLenum mode);\nREGAL_DECL void REGAL_CALL plugin_glBlendEquationSeparateIndexedAMD(GLuint buf, GLenum modeRGB, GLenum modeAlpha);\nREGAL_DECL void REGAL_CALL plugin_glBlendFuncIndexedAMD(GLuint buf, GLenum src, GLenum dst);\nREGAL_DECL void REGAL_CALL plugin_glBlendFuncSeparateIndexedAMD(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);\n#endif\n\n/**\n ** GL_AMD_interleaved_elements\n **/\n\n#if (defined(GL_AMD_INTERLEAVED_ELEMENTS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_AMD_INTERLEAVED_ELEMENTS)) && !defined(REGAL_NO_ENUM_GL_AMD_INTERLEAVED_ELEMENTS)\n#define REGAL_NO_ENUM_GL_AMD_INTERLEAVED_ELEMENTS\n#endif\n\n#if (defined(GL_AMD_INTERLEAVED_ELEMENTS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_AMD_INTERLEAVED_ELEMENTS)) && !defined(REGAL_NO_TYPEDEF_GL_AMD_INTERLEAVED_ELEMENTS)\n#define REGAL_NO_TYPEDEF_GL_AMD_INTERLEAVED_ELEMENTS\n#endif\n\n#if (defined(GL_AMD_INTERLEAVED_ELEMENTS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_AMD_INTERLEAVED_ELEMENTS)) && !defined(REGAL_NO_NAMESPACE_GL_AMD_INTERLEAVED_ELEMENTS)\n#define REGAL_NO_NAMESPACE_GL_AMD_INTERLEAVED_ELEMENTS\n#endif\n\n#if (defined(GL_AMD_INTERLEAVED_ELEMENTS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_AMD_INTERLEAVED_ELEMENTS)) && !defined(REGAL_NO_PLUGIN_GL_AMD_INTERLEAVED_ELEMENTS)\n#define REGAL_NO_PLUGIN_GL_AMD_INTERLEAVED_ELEMENTS\n#endif\n\n#if (defined(GL_AMD_INTERLEAVED_ELEMENTS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_AMD_INTERLEAVED_ELEMENTS)) && !defined(REGAL_NO_DECLARATION_GL_AMD_INTERLEAVED_ELEMENTS)\n#define REGAL_NO_DECLARATION_GL_AMD_INTERLEAVED_ELEMENTS\n#endif\n\n#ifndef GL_AMD_interleaved_elements\n#define GL_AMD_interleaved_elements 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_AMD_INTERLEAVED_ELEMENTS\n#define GL_VERTEX_ELEMENT_SWIZZLE_AMD 0x91a4     /* 37284 */\n#define GL_VERTEX_ID_SWIZZLE_AMD      0x91a5     /* 37285 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_AMD_INTERLEAVED_ELEMENTS\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBPARAMETERIAMDPROC)(GLuint index, GLenum pname, GLint param);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_AMD_INTERLEAVED_ELEMENTS\n#define glVertexAttribParameteriAMD         rglVertexAttribParameteriAMD\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_AMD_INTERLEAVED_ELEMENTS\nREGAL_DECL void REGAL_CALL glVertexAttribParameteriAMD(GLuint index, GLenum pname, GLint param);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_AMD_INTERLEAVED_ELEMENTS\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribParameteriAMD(GLuint index, GLenum pname, GLint param);\n#endif\n\n/**\n ** GL_AMD_multi_draw_indirect\n **/\n\n#if (defined(GL_AMD_MULTI_DRAW_INDIRECT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_AMD_MULTI_DRAW_INDIRECT)) && !defined(REGAL_NO_ENUM_GL_AMD_MULTI_DRAW_INDIRECT)\n#define REGAL_NO_ENUM_GL_AMD_MULTI_DRAW_INDIRECT\n#endif\n\n#if (defined(GL_AMD_MULTI_DRAW_INDIRECT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_AMD_MULTI_DRAW_INDIRECT)) && !defined(REGAL_NO_TYPEDEF_GL_AMD_MULTI_DRAW_INDIRECT)\n#define REGAL_NO_TYPEDEF_GL_AMD_MULTI_DRAW_INDIRECT\n#endif\n\n#if (defined(GL_AMD_MULTI_DRAW_INDIRECT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_AMD_MULTI_DRAW_INDIRECT)) && !defined(REGAL_NO_NAMESPACE_GL_AMD_MULTI_DRAW_INDIRECT)\n#define REGAL_NO_NAMESPACE_GL_AMD_MULTI_DRAW_INDIRECT\n#endif\n\n#if (defined(GL_AMD_MULTI_DRAW_INDIRECT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_AMD_MULTI_DRAW_INDIRECT)) && !defined(REGAL_NO_PLUGIN_GL_AMD_MULTI_DRAW_INDIRECT)\n#define REGAL_NO_PLUGIN_GL_AMD_MULTI_DRAW_INDIRECT\n#endif\n\n#if (defined(GL_AMD_MULTI_DRAW_INDIRECT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_AMD_MULTI_DRAW_INDIRECT)) && !defined(REGAL_NO_DECLARATION_GL_AMD_MULTI_DRAW_INDIRECT)\n#define REGAL_NO_DECLARATION_GL_AMD_MULTI_DRAW_INDIRECT\n#endif\n\n#ifndef GL_AMD_multi_draw_indirect\n#define GL_AMD_multi_draw_indirect 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_AMD_MULTI_DRAW_INDIRECT\ntypedef void (REGAL_CALL *PFNGLMULTIDRAWARRAYSINDIRECTAMDPROC)(GLenum mode, const GLvoid *indirect, GLsizei primcount, GLsizei stride);\ntypedef void (REGAL_CALL *PFNGLMULTIDRAWELEMENTSINDIRECTAMDPROC)(GLenum mode, GLenum type, const GLvoid *indirect, GLsizei primcount, GLsizei stride);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_AMD_MULTI_DRAW_INDIRECT\n#define glMultiDrawArraysIndirectAMD        rglMultiDrawArraysIndirectAMD\n#define glMultiDrawElementsIndirectAMD      rglMultiDrawElementsIndirectAMD\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_AMD_MULTI_DRAW_INDIRECT\nREGAL_DECL void REGAL_CALL glMultiDrawArraysIndirectAMD(GLenum mode, const GLvoid *indirect, GLsizei primcount, GLsizei stride);\nREGAL_DECL void REGAL_CALL glMultiDrawElementsIndirectAMD(GLenum mode, GLenum type, const GLvoid *indirect, GLsizei primcount, GLsizei stride);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_AMD_MULTI_DRAW_INDIRECT\nREGAL_DECL void REGAL_CALL plugin_glMultiDrawArraysIndirectAMD(GLenum mode, const GLvoid *indirect, GLsizei primcount, GLsizei stride);\nREGAL_DECL void REGAL_CALL plugin_glMultiDrawElementsIndirectAMD(GLenum mode, GLenum type, const GLvoid *indirect, GLsizei primcount, GLsizei stride);\n#endif\n\n/**\n ** GL_AMD_name_gen_delete\n **/\n\n#if (defined(GL_AMD_NAME_GEN_DELETE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_AMD_NAME_GEN_DELETE)) && !defined(REGAL_NO_ENUM_GL_AMD_NAME_GEN_DELETE)\n#define REGAL_NO_ENUM_GL_AMD_NAME_GEN_DELETE\n#endif\n\n#if (defined(GL_AMD_NAME_GEN_DELETE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_AMD_NAME_GEN_DELETE)) && !defined(REGAL_NO_TYPEDEF_GL_AMD_NAME_GEN_DELETE)\n#define REGAL_NO_TYPEDEF_GL_AMD_NAME_GEN_DELETE\n#endif\n\n#if (defined(GL_AMD_NAME_GEN_DELETE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_AMD_NAME_GEN_DELETE)) && !defined(REGAL_NO_NAMESPACE_GL_AMD_NAME_GEN_DELETE)\n#define REGAL_NO_NAMESPACE_GL_AMD_NAME_GEN_DELETE\n#endif\n\n#if (defined(GL_AMD_NAME_GEN_DELETE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_AMD_NAME_GEN_DELETE)) && !defined(REGAL_NO_PLUGIN_GL_AMD_NAME_GEN_DELETE)\n#define REGAL_NO_PLUGIN_GL_AMD_NAME_GEN_DELETE\n#endif\n\n#if (defined(GL_AMD_NAME_GEN_DELETE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_AMD_NAME_GEN_DELETE)) && !defined(REGAL_NO_DECLARATION_GL_AMD_NAME_GEN_DELETE)\n#define REGAL_NO_DECLARATION_GL_AMD_NAME_GEN_DELETE\n#endif\n\n#ifndef GL_AMD_name_gen_delete\n#define GL_AMD_name_gen_delete 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_AMD_NAME_GEN_DELETE\n#define GL_DATA_BUFFER_AMD         0x9151     /* 37201 */\n#define GL_PERFORMANCE_MONITOR_AMD 0x9152     /* 37202 */\n#define GL_QUERY_OBJECT_AMD        0x9153     /* 37203 */\n#define GL_VERTEX_ARRAY_OBJECT_AMD 0x9154     /* 37204 */\n#define GL_SAMPLER_OBJECT_AMD      0x9155     /* 37205 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_AMD_NAME_GEN_DELETE\ntypedef GLboolean (REGAL_CALL *PFNGLISNAMEAMDPROC)(GLenum identifier, GLuint name);\ntypedef void (REGAL_CALL *PFNGLDELETENAMESAMDPROC)(GLenum identifier, GLuint num, const GLuint *names);\ntypedef void (REGAL_CALL *PFNGLGENNAMESAMDPROC)(GLenum identifier, GLuint num, GLuint *names);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_AMD_NAME_GEN_DELETE\n#define glDeleteNamesAMD                    rglDeleteNamesAMD\n#define glGenNamesAMD                       rglGenNamesAMD\n#define glIsNameAMD                         rglIsNameAMD\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_AMD_NAME_GEN_DELETE\nREGAL_DECL GLboolean REGAL_CALL glIsNameAMD(GLenum identifier, GLuint name);\nREGAL_DECL void REGAL_CALL glDeleteNamesAMD(GLenum identifier, GLuint num, const GLuint *names);\nREGAL_DECL void REGAL_CALL glGenNamesAMD(GLenum identifier, GLuint num, GLuint *names);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_AMD_NAME_GEN_DELETE\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsNameAMD(GLenum identifier, GLuint name);\nREGAL_DECL void REGAL_CALL plugin_glDeleteNamesAMD(GLenum identifier, GLuint num, const GLuint *names);\nREGAL_DECL void REGAL_CALL plugin_glGenNamesAMD(GLenum identifier, GLuint num, GLuint *names);\n#endif\n\n/**\n ** GL_AMD_performance_monitor\n **/\n\n#if (defined(GL_AMD_PERFORMANCE_MONITOR) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_AMD_PERFORMANCE_MONITOR)) && !defined(REGAL_NO_ENUM_GL_AMD_PERFORMANCE_MONITOR)\n#define REGAL_NO_ENUM_GL_AMD_PERFORMANCE_MONITOR\n#endif\n\n#if (defined(GL_AMD_PERFORMANCE_MONITOR) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_AMD_PERFORMANCE_MONITOR)) && !defined(REGAL_NO_TYPEDEF_GL_AMD_PERFORMANCE_MONITOR)\n#define REGAL_NO_TYPEDEF_GL_AMD_PERFORMANCE_MONITOR\n#endif\n\n#if (defined(GL_AMD_PERFORMANCE_MONITOR) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_AMD_PERFORMANCE_MONITOR)) && !defined(REGAL_NO_NAMESPACE_GL_AMD_PERFORMANCE_MONITOR)\n#define REGAL_NO_NAMESPACE_GL_AMD_PERFORMANCE_MONITOR\n#endif\n\n#if (defined(GL_AMD_PERFORMANCE_MONITOR) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_AMD_PERFORMANCE_MONITOR)) && !defined(REGAL_NO_PLUGIN_GL_AMD_PERFORMANCE_MONITOR)\n#define REGAL_NO_PLUGIN_GL_AMD_PERFORMANCE_MONITOR\n#endif\n\n#if (defined(GL_AMD_PERFORMANCE_MONITOR) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_AMD_PERFORMANCE_MONITOR)) && !defined(REGAL_NO_DECLARATION_GL_AMD_PERFORMANCE_MONITOR)\n#define REGAL_NO_DECLARATION_GL_AMD_PERFORMANCE_MONITOR\n#endif\n\n#ifndef GL_AMD_performance_monitor\n#define GL_AMD_performance_monitor 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_AMD_PERFORMANCE_MONITOR\n#define GL_COUNTER_TYPE_AMD             0x8bc0     /* 35776 */\n#define GL_COUNTER_RANGE_AMD            0x8bc1     /* 35777 */\n#define GL_UNSIGNED_INT64_AMD           0x8bc2     /* 35778 */\n#define GL_PERCENTAGE_AMD               0x8bc3     /* 35779 */\n#define GL_PERFMON_RESULT_AVAILABLE_AMD 0x8bc4     /* 35780 */\n#define GL_PERFMON_RESULT_SIZE_AMD      0x8bc5     /* 35781 */\n#define GL_PERFMON_RESULT_AMD           0x8bc6     /* 35782 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_AMD_PERFORMANCE_MONITOR\ntypedef void (REGAL_CALL *PFNGLBEGINPERFMONITORAMDPROC)(GLuint monitor);\ntypedef void (REGAL_CALL *PFNGLDELETEPERFMONITORSAMDPROC)(GLsizei n, GLuint *monitors);\ntypedef void (REGAL_CALL *PFNGLENDPERFMONITORAMDPROC)(GLuint monitor);\ntypedef void (REGAL_CALL *PFNGLGENPERFMONITORSAMDPROC)(GLsizei n, GLuint *monitors);\ntypedef void (REGAL_CALL *PFNGLGETPERFMONITORCOUNTERDATAAMDPROC)(GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);\ntypedef void (REGAL_CALL *PFNGLGETPERFMONITORCOUNTERINFOAMDPROC)(GLuint group, GLuint counter, GLenum pname, GLvoid *data);\ntypedef void (REGAL_CALL *PFNGLGETPERFMONITORCOUNTERSAMDPROC)(GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei countersSize, GLuint *counters);\ntypedef void (REGAL_CALL *PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC)(GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);\ntypedef void (REGAL_CALL *PFNGLGETPERFMONITORGROUPSAMDPROC)(GLint *numGroups, GLsizei groupsSize, GLuint *groups);\ntypedef void (REGAL_CALL *PFNGLGETPERFMONITORGROUPSTRINGAMDPROC)(GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);\ntypedef void (REGAL_CALL *PFNGLSELECTPERFMONITORCOUNTERSAMDPROC)(GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *counterList);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_AMD_PERFORMANCE_MONITOR\n#define glBeginPerfMonitorAMD               rglBeginPerfMonitorAMD\n#define glDeletePerfMonitorsAMD             rglDeletePerfMonitorsAMD\n#define glEndPerfMonitorAMD                 rglEndPerfMonitorAMD\n#define glGenPerfMonitorsAMD                rglGenPerfMonitorsAMD\n#define glGetPerfMonitorCounterDataAMD      rglGetPerfMonitorCounterDataAMD\n#define glGetPerfMonitorCounterInfoAMD      rglGetPerfMonitorCounterInfoAMD\n#define glGetPerfMonitorCounterStringAMD    rglGetPerfMonitorCounterStringAMD\n#define glGetPerfMonitorCountersAMD         rglGetPerfMonitorCountersAMD\n#define glGetPerfMonitorGroupStringAMD      rglGetPerfMonitorGroupStringAMD\n#define glGetPerfMonitorGroupsAMD           rglGetPerfMonitorGroupsAMD\n#define glSelectPerfMonitorCountersAMD      rglSelectPerfMonitorCountersAMD\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_AMD_PERFORMANCE_MONITOR\nREGAL_DECL void REGAL_CALL glBeginPerfMonitorAMD(GLuint monitor);\nREGAL_DECL void REGAL_CALL glDeletePerfMonitorsAMD(GLsizei n, GLuint *monitors);\nREGAL_DECL void REGAL_CALL glEndPerfMonitorAMD(GLuint monitor);\nREGAL_DECL void REGAL_CALL glGenPerfMonitorsAMD(GLsizei n, GLuint *monitors);\nREGAL_DECL void REGAL_CALL glGetPerfMonitorCounterDataAMD(GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);\nREGAL_DECL void REGAL_CALL glGetPerfMonitorCounterInfoAMD(GLuint group, GLuint counter, GLenum pname, GLvoid *data);\nREGAL_DECL void REGAL_CALL glGetPerfMonitorCounterStringAMD(GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);\nREGAL_DECL void REGAL_CALL glGetPerfMonitorCountersAMD(GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei countersSize, GLuint *counters);\nREGAL_DECL void REGAL_CALL glGetPerfMonitorGroupStringAMD(GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);\nREGAL_DECL void REGAL_CALL glGetPerfMonitorGroupsAMD(GLint *numGroups, GLsizei groupsSize, GLuint *groups);\nREGAL_DECL void REGAL_CALL glSelectPerfMonitorCountersAMD(GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *counterList);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_AMD_PERFORMANCE_MONITOR\nREGAL_DECL void REGAL_CALL plugin_glBeginPerfMonitorAMD(GLuint monitor);\nREGAL_DECL void REGAL_CALL plugin_glDeletePerfMonitorsAMD(GLsizei n, GLuint *monitors);\nREGAL_DECL void REGAL_CALL plugin_glEndPerfMonitorAMD(GLuint monitor);\nREGAL_DECL void REGAL_CALL plugin_glGenPerfMonitorsAMD(GLsizei n, GLuint *monitors);\nREGAL_DECL void REGAL_CALL plugin_glGetPerfMonitorCounterDataAMD(GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);\nREGAL_DECL void REGAL_CALL plugin_glGetPerfMonitorCounterInfoAMD(GLuint group, GLuint counter, GLenum pname, GLvoid *data);\nREGAL_DECL void REGAL_CALL plugin_glGetPerfMonitorCounterStringAMD(GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);\nREGAL_DECL void REGAL_CALL plugin_glGetPerfMonitorCountersAMD(GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei countersSize, GLuint *counters);\nREGAL_DECL void REGAL_CALL plugin_glGetPerfMonitorGroupStringAMD(GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);\nREGAL_DECL void REGAL_CALL plugin_glGetPerfMonitorGroupsAMD(GLint *numGroups, GLsizei groupsSize, GLuint *groups);\nREGAL_DECL void REGAL_CALL plugin_glSelectPerfMonitorCountersAMD(GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *counterList);\n#endif\n\n/**\n ** GL_AMD_pinned_memory\n **/\n\n#if (defined(GL_AMD_PINNED_MEMORY) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_AMD_PINNED_MEMORY)) && !defined(REGAL_NO_ENUM_GL_AMD_PINNED_MEMORY)\n#define REGAL_NO_ENUM_GL_AMD_PINNED_MEMORY\n#endif\n\n#if (defined(GL_AMD_PINNED_MEMORY) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_AMD_PINNED_MEMORY)) && !defined(REGAL_NO_TYPEDEF_GL_AMD_PINNED_MEMORY)\n#define REGAL_NO_TYPEDEF_GL_AMD_PINNED_MEMORY\n#endif\n\n#if (defined(GL_AMD_PINNED_MEMORY) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_AMD_PINNED_MEMORY)) && !defined(REGAL_NO_NAMESPACE_GL_AMD_PINNED_MEMORY)\n#define REGAL_NO_NAMESPACE_GL_AMD_PINNED_MEMORY\n#endif\n\n#if (defined(GL_AMD_PINNED_MEMORY) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_AMD_PINNED_MEMORY)) && !defined(REGAL_NO_PLUGIN_GL_AMD_PINNED_MEMORY)\n#define REGAL_NO_PLUGIN_GL_AMD_PINNED_MEMORY\n#endif\n\n#if (defined(GL_AMD_PINNED_MEMORY) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_AMD_PINNED_MEMORY)) && !defined(REGAL_NO_DECLARATION_GL_AMD_PINNED_MEMORY)\n#define REGAL_NO_DECLARATION_GL_AMD_PINNED_MEMORY\n#endif\n\n#ifndef GL_AMD_pinned_memory\n#define GL_AMD_pinned_memory 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_AMD_PINNED_MEMORY\n#define GL_EXTERNAL_VIRTUAL_MEMORY_BUFFER_AMD 0x9160 /* 37216 */\n#endif\n\n/**\n ** GL_AMD_program_binary_Z400\n **/\n\n#if (defined(GL_AMD_PROGRAM_BINARY_Z400) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_AMD_PROGRAM_BINARY_Z400)) && !defined(REGAL_NO_ENUM_GL_AMD_PROGRAM_BINARY_Z400)\n#define REGAL_NO_ENUM_GL_AMD_PROGRAM_BINARY_Z400\n#endif\n\n#if (defined(GL_AMD_PROGRAM_BINARY_Z400) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_AMD_PROGRAM_BINARY_Z400)) && !defined(REGAL_NO_TYPEDEF_GL_AMD_PROGRAM_BINARY_Z400)\n#define REGAL_NO_TYPEDEF_GL_AMD_PROGRAM_BINARY_Z400\n#endif\n\n#if (defined(GL_AMD_PROGRAM_BINARY_Z400) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_AMD_PROGRAM_BINARY_Z400)) && !defined(REGAL_NO_NAMESPACE_GL_AMD_PROGRAM_BINARY_Z400)\n#define REGAL_NO_NAMESPACE_GL_AMD_PROGRAM_BINARY_Z400\n#endif\n\n#if (defined(GL_AMD_PROGRAM_BINARY_Z400) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_AMD_PROGRAM_BINARY_Z400)) && !defined(REGAL_NO_PLUGIN_GL_AMD_PROGRAM_BINARY_Z400)\n#define REGAL_NO_PLUGIN_GL_AMD_PROGRAM_BINARY_Z400\n#endif\n\n#if (defined(GL_AMD_PROGRAM_BINARY_Z400) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_AMD_PROGRAM_BINARY_Z400)) && !defined(REGAL_NO_DECLARATION_GL_AMD_PROGRAM_BINARY_Z400)\n#define REGAL_NO_DECLARATION_GL_AMD_PROGRAM_BINARY_Z400\n#endif\n\n#ifndef GL_AMD_program_binary_Z400\n#define GL_AMD_program_binary_Z400 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_AMD_PROGRAM_BINARY_Z400\n#define GL_Z400_BINARY_AMD 0x8740 /* 34624 */\n#endif\n\n/**\n ** GL_AMD_query_buffer_object\n **/\n\n#if (defined(GL_AMD_QUERY_BUFFER_OBJECT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_AMD_QUERY_BUFFER_OBJECT)) && !defined(REGAL_NO_ENUM_GL_AMD_QUERY_BUFFER_OBJECT)\n#define REGAL_NO_ENUM_GL_AMD_QUERY_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_AMD_QUERY_BUFFER_OBJECT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_AMD_QUERY_BUFFER_OBJECT)) && !defined(REGAL_NO_TYPEDEF_GL_AMD_QUERY_BUFFER_OBJECT)\n#define REGAL_NO_TYPEDEF_GL_AMD_QUERY_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_AMD_QUERY_BUFFER_OBJECT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_AMD_QUERY_BUFFER_OBJECT)) && !defined(REGAL_NO_NAMESPACE_GL_AMD_QUERY_BUFFER_OBJECT)\n#define REGAL_NO_NAMESPACE_GL_AMD_QUERY_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_AMD_QUERY_BUFFER_OBJECT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_AMD_QUERY_BUFFER_OBJECT)) && !defined(REGAL_NO_PLUGIN_GL_AMD_QUERY_BUFFER_OBJECT)\n#define REGAL_NO_PLUGIN_GL_AMD_QUERY_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_AMD_QUERY_BUFFER_OBJECT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_AMD_QUERY_BUFFER_OBJECT)) && !defined(REGAL_NO_DECLARATION_GL_AMD_QUERY_BUFFER_OBJECT)\n#define REGAL_NO_DECLARATION_GL_AMD_QUERY_BUFFER_OBJECT\n#endif\n\n#ifndef GL_AMD_query_buffer_object\n#define GL_AMD_query_buffer_object 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_AMD_QUERY_BUFFER_OBJECT\n#define GL_QUERY_BUFFER_AMD         0x9192     /* 37266 */\n#define GL_QUERY_BUFFER_BINDING_AMD 0x9193     /* 37267 */\n#define GL_QUERY_RESULT_NO_WAIT_AMD 0x9194     /* 37268 */\n#endif\n\n/**\n ** GL_AMD_sample_positions\n **/\n\n#if (defined(GL_AMD_SAMPLE_POSITIONS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_AMD_SAMPLE_POSITIONS)) && !defined(REGAL_NO_ENUM_GL_AMD_SAMPLE_POSITIONS)\n#define REGAL_NO_ENUM_GL_AMD_SAMPLE_POSITIONS\n#endif\n\n#if (defined(GL_AMD_SAMPLE_POSITIONS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_AMD_SAMPLE_POSITIONS)) && !defined(REGAL_NO_TYPEDEF_GL_AMD_SAMPLE_POSITIONS)\n#define REGAL_NO_TYPEDEF_GL_AMD_SAMPLE_POSITIONS\n#endif\n\n#if (defined(GL_AMD_SAMPLE_POSITIONS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_AMD_SAMPLE_POSITIONS)) && !defined(REGAL_NO_NAMESPACE_GL_AMD_SAMPLE_POSITIONS)\n#define REGAL_NO_NAMESPACE_GL_AMD_SAMPLE_POSITIONS\n#endif\n\n#if (defined(GL_AMD_SAMPLE_POSITIONS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_AMD_SAMPLE_POSITIONS)) && !defined(REGAL_NO_PLUGIN_GL_AMD_SAMPLE_POSITIONS)\n#define REGAL_NO_PLUGIN_GL_AMD_SAMPLE_POSITIONS\n#endif\n\n#if (defined(GL_AMD_SAMPLE_POSITIONS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_AMD_SAMPLE_POSITIONS)) && !defined(REGAL_NO_DECLARATION_GL_AMD_SAMPLE_POSITIONS)\n#define REGAL_NO_DECLARATION_GL_AMD_SAMPLE_POSITIONS\n#endif\n\n#ifndef GL_AMD_sample_positions\n#define GL_AMD_sample_positions 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_AMD_SAMPLE_POSITIONS\n#define GL_SUBSAMPLE_DISTANCE_AMD 0x883f /* 34879 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_AMD_SAMPLE_POSITIONS\ntypedef void (REGAL_CALL *PFNGLSETMULTISAMPLEFVAMDPROC)(GLenum pname, GLuint index, const GLfloat *val);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_AMD_SAMPLE_POSITIONS\n#define glSetMultisamplefvAMD               rglSetMultisamplefvAMD\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_AMD_SAMPLE_POSITIONS\nREGAL_DECL void REGAL_CALL glSetMultisamplefvAMD(GLenum pname, GLuint index, const GLfloat *val);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_AMD_SAMPLE_POSITIONS\nREGAL_DECL void REGAL_CALL plugin_glSetMultisamplefvAMD(GLenum pname, GLuint index, const GLfloat *val);\n#endif\n\n/**\n ** GL_AMD_seamless_cubemap_per_texture\n **/\n\n#if (defined(GL_AMD_SEAMLESS_CUBEMAP_PER_TEXTURE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_AMD_SEAMLESS_CUBEMAP_PER_TEXTURE)) && !defined(REGAL_NO_ENUM_GL_AMD_SEAMLESS_CUBEMAP_PER_TEXTURE)\n#define REGAL_NO_ENUM_GL_AMD_SEAMLESS_CUBEMAP_PER_TEXTURE\n#endif\n\n#if (defined(GL_AMD_SEAMLESS_CUBEMAP_PER_TEXTURE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_AMD_SEAMLESS_CUBEMAP_PER_TEXTURE)) && !defined(REGAL_NO_TYPEDEF_GL_AMD_SEAMLESS_CUBEMAP_PER_TEXTURE)\n#define REGAL_NO_TYPEDEF_GL_AMD_SEAMLESS_CUBEMAP_PER_TEXTURE\n#endif\n\n#if (defined(GL_AMD_SEAMLESS_CUBEMAP_PER_TEXTURE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_AMD_SEAMLESS_CUBEMAP_PER_TEXTURE)) && !defined(REGAL_NO_NAMESPACE_GL_AMD_SEAMLESS_CUBEMAP_PER_TEXTURE)\n#define REGAL_NO_NAMESPACE_GL_AMD_SEAMLESS_CUBEMAP_PER_TEXTURE\n#endif\n\n#if (defined(GL_AMD_SEAMLESS_CUBEMAP_PER_TEXTURE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_AMD_SEAMLESS_CUBEMAP_PER_TEXTURE)) && !defined(REGAL_NO_PLUGIN_GL_AMD_SEAMLESS_CUBEMAP_PER_TEXTURE)\n#define REGAL_NO_PLUGIN_GL_AMD_SEAMLESS_CUBEMAP_PER_TEXTURE\n#endif\n\n#if (defined(GL_AMD_SEAMLESS_CUBEMAP_PER_TEXTURE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_AMD_SEAMLESS_CUBEMAP_PER_TEXTURE)) && !defined(REGAL_NO_DECLARATION_GL_AMD_SEAMLESS_CUBEMAP_PER_TEXTURE)\n#define REGAL_NO_DECLARATION_GL_AMD_SEAMLESS_CUBEMAP_PER_TEXTURE\n#endif\n\n#ifndef GL_AMD_seamless_cubemap_per_texture\n#define GL_AMD_seamless_cubemap_per_texture 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_AMD_SEAMLESS_CUBEMAP_PER_TEXTURE\n#define GL_TEXTURE_CUBE_MAP_SEAMLESS_ARB 0x884f /* 34895 */\n#endif\n\n/**\n ** GL_AMD_sparse_texture\n **/\n\n#if (defined(GL_AMD_SPARSE_TEXTURE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_AMD_SPARSE_TEXTURE)) && !defined(REGAL_NO_ENUM_GL_AMD_SPARSE_TEXTURE)\n#define REGAL_NO_ENUM_GL_AMD_SPARSE_TEXTURE\n#endif\n\n#if (defined(GL_AMD_SPARSE_TEXTURE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_AMD_SPARSE_TEXTURE)) && !defined(REGAL_NO_TYPEDEF_GL_AMD_SPARSE_TEXTURE)\n#define REGAL_NO_TYPEDEF_GL_AMD_SPARSE_TEXTURE\n#endif\n\n#if (defined(GL_AMD_SPARSE_TEXTURE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_AMD_SPARSE_TEXTURE)) && !defined(REGAL_NO_NAMESPACE_GL_AMD_SPARSE_TEXTURE)\n#define REGAL_NO_NAMESPACE_GL_AMD_SPARSE_TEXTURE\n#endif\n\n#if (defined(GL_AMD_SPARSE_TEXTURE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_AMD_SPARSE_TEXTURE)) && !defined(REGAL_NO_PLUGIN_GL_AMD_SPARSE_TEXTURE)\n#define REGAL_NO_PLUGIN_GL_AMD_SPARSE_TEXTURE\n#endif\n\n#if (defined(GL_AMD_SPARSE_TEXTURE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_AMD_SPARSE_TEXTURE)) && !defined(REGAL_NO_DECLARATION_GL_AMD_SPARSE_TEXTURE)\n#define REGAL_NO_DECLARATION_GL_AMD_SPARSE_TEXTURE\n#endif\n\n#ifndef GL_AMD_sparse_texture\n#define GL_AMD_sparse_texture 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_AMD_SPARSE_TEXTURE\n#define GL_TEXTURE_STORAGE_SPARSE_BIT_AMD  0x1\n#define GL_VIRTUAL_PAGE_SIZE_X_AMD         0x9195     /* 37269 */\n#define GL_VIRTUAL_PAGE_SIZE_Y_AMD         0x9196     /* 37270 */\n#define GL_VIRTUAL_PAGE_SIZE_Z_AMD         0x9197     /* 37271 */\n#define GL_MAX_SPARSE_TEXTURE_SIZE_AMD     0x9198     /* 37272 */\n#define GL_MAX_SPARSE_3D_TEXTURE_SIZE_AMD  0x9199     /* 37273 */\n#define GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS 0x919a     /* 37274 */\n#define GL_MIN_SPARSE_LEVEL_AMD            0x919b     /* 37275 */\n#define GL_MIN_LOD_WARNING_AMD             0x919c     /* 37276 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_AMD_SPARSE_TEXTURE\ntypedef void (REGAL_CALL *PFNGLTEXSTORAGESPARSEAMDPROC)(GLenum target, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLsizei layers, GLbitfield flags);\ntypedef void (REGAL_CALL *PFNGLTEXTURESTORAGESPARSEAMDPROC)(GLuint texture, GLenum target, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLsizei layers, GLbitfield flags);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_AMD_SPARSE_TEXTURE\n#define glTexStorageSparseAMD               rglTexStorageSparseAMD\n#define glTextureStorageSparseAMD           rglTextureStorageSparseAMD\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_AMD_SPARSE_TEXTURE\nREGAL_DECL void REGAL_CALL glTexStorageSparseAMD(GLenum target, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLsizei layers, GLbitfield flags);\nREGAL_DECL void REGAL_CALL glTextureStorageSparseAMD(GLuint texture, GLenum target, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLsizei layers, GLbitfield flags);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_AMD_SPARSE_TEXTURE\nREGAL_DECL void REGAL_CALL plugin_glTexStorageSparseAMD(GLenum target, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLsizei layers, GLbitfield flags);\nREGAL_DECL void REGAL_CALL plugin_glTextureStorageSparseAMD(GLuint texture, GLenum target, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLsizei layers, GLbitfield flags);\n#endif\n\n/**\n ** GL_AMD_stencil_operation_extended\n **/\n\n#if (defined(GL_AMD_STENCIL_OPERATION_EXTENDED) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_AMD_STENCIL_OPERATION_EXTENDED)) && !defined(REGAL_NO_ENUM_GL_AMD_STENCIL_OPERATION_EXTENDED)\n#define REGAL_NO_ENUM_GL_AMD_STENCIL_OPERATION_EXTENDED\n#endif\n\n#if (defined(GL_AMD_STENCIL_OPERATION_EXTENDED) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_AMD_STENCIL_OPERATION_EXTENDED)) && !defined(REGAL_NO_TYPEDEF_GL_AMD_STENCIL_OPERATION_EXTENDED)\n#define REGAL_NO_TYPEDEF_GL_AMD_STENCIL_OPERATION_EXTENDED\n#endif\n\n#if (defined(GL_AMD_STENCIL_OPERATION_EXTENDED) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_AMD_STENCIL_OPERATION_EXTENDED)) && !defined(REGAL_NO_NAMESPACE_GL_AMD_STENCIL_OPERATION_EXTENDED)\n#define REGAL_NO_NAMESPACE_GL_AMD_STENCIL_OPERATION_EXTENDED\n#endif\n\n#if (defined(GL_AMD_STENCIL_OPERATION_EXTENDED) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_AMD_STENCIL_OPERATION_EXTENDED)) && !defined(REGAL_NO_PLUGIN_GL_AMD_STENCIL_OPERATION_EXTENDED)\n#define REGAL_NO_PLUGIN_GL_AMD_STENCIL_OPERATION_EXTENDED\n#endif\n\n#if (defined(GL_AMD_STENCIL_OPERATION_EXTENDED) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_AMD_STENCIL_OPERATION_EXTENDED)) && !defined(REGAL_NO_DECLARATION_GL_AMD_STENCIL_OPERATION_EXTENDED)\n#define REGAL_NO_DECLARATION_GL_AMD_STENCIL_OPERATION_EXTENDED\n#endif\n\n#ifndef GL_AMD_stencil_operation_extended\n#define GL_AMD_stencil_operation_extended 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_AMD_STENCIL_OPERATION_EXTENDED\n#define GL_SET_AMD                   0x874a     /* 34634 */\n#define GL_REPLACE_VALUE_AMD         0x874b     /* 34635 */\n#define GL_STENCIL_OP_VALUE_AMD      0x874c     /* 34636 */\n#define GL_STENCIL_BACK_OP_VALUE_AMD 0x874d     /* 34637 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_AMD_STENCIL_OPERATION_EXTENDED\ntypedef void (REGAL_CALL *PFNGLSTENCILOPVALUEAMDPROC)(GLenum face, GLuint value);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_AMD_STENCIL_OPERATION_EXTENDED\n#define glStencilOpValueAMD                 rglStencilOpValueAMD\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_AMD_STENCIL_OPERATION_EXTENDED\nREGAL_DECL void REGAL_CALL glStencilOpValueAMD(GLenum face, GLuint value);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_AMD_STENCIL_OPERATION_EXTENDED\nREGAL_DECL void REGAL_CALL plugin_glStencilOpValueAMD(GLenum face, GLuint value);\n#endif\n\n/**\n ** GL_AMD_vertex_shader_tessellator\n **/\n\n#if (defined(GL_AMD_VERTEX_SHADER_TESSELLATOR) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_AMD_VERTEX_SHADER_TESSELLATOR)) && !defined(REGAL_NO_ENUM_GL_AMD_VERTEX_SHADER_TESSELLATOR)\n#define REGAL_NO_ENUM_GL_AMD_VERTEX_SHADER_TESSELLATOR\n#endif\n\n#if (defined(GL_AMD_VERTEX_SHADER_TESSELLATOR) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_AMD_VERTEX_SHADER_TESSELLATOR)) && !defined(REGAL_NO_TYPEDEF_GL_AMD_VERTEX_SHADER_TESSELLATOR)\n#define REGAL_NO_TYPEDEF_GL_AMD_VERTEX_SHADER_TESSELLATOR\n#endif\n\n#if (defined(GL_AMD_VERTEX_SHADER_TESSELLATOR) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_AMD_VERTEX_SHADER_TESSELLATOR)) && !defined(REGAL_NO_NAMESPACE_GL_AMD_VERTEX_SHADER_TESSELLATOR)\n#define REGAL_NO_NAMESPACE_GL_AMD_VERTEX_SHADER_TESSELLATOR\n#endif\n\n#if (defined(GL_AMD_VERTEX_SHADER_TESSELLATOR) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_AMD_VERTEX_SHADER_TESSELLATOR)) && !defined(REGAL_NO_PLUGIN_GL_AMD_VERTEX_SHADER_TESSELLATOR)\n#define REGAL_NO_PLUGIN_GL_AMD_VERTEX_SHADER_TESSELLATOR\n#endif\n\n#if (defined(GL_AMD_VERTEX_SHADER_TESSELLATOR) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_AMD_VERTEX_SHADER_TESSELLATOR)) && !defined(REGAL_NO_DECLARATION_GL_AMD_VERTEX_SHADER_TESSELLATOR)\n#define REGAL_NO_DECLARATION_GL_AMD_VERTEX_SHADER_TESSELLATOR\n#endif\n\n#ifndef GL_AMD_vertex_shader_tessellator\n#define GL_AMD_vertex_shader_tessellator 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_AMD_VERTEX_SHADER_TESSELLATOR\n#define GL_SAMPLER_BUFFER_AMD              0x9001     /* 36865 */\n#define GL_INT_SAMPLER_BUFFER_AMD          0x9002     /* 36866 */\n#define GL_UNSIGNED_INT_SAMPLER_BUFFER_AMD 0x9003     /* 36867 */\n#define GL_TESSELLATION_MODE_AMD           0x9004     /* 36868 */\n#define GL_TESSELLATION_FACTOR_AMD         0x9005     /* 36869 */\n#define GL_DISCRETE_AMD                    0x9006     /* 36870 */\n#define GL_CONTINUOUS_AMD                  0x9007     /* 36871 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_AMD_VERTEX_SHADER_TESSELLATOR\ntypedef void (REGAL_CALL *PFNGLTESSELLATIONFACTORAMDPROC)(GLfloat factor);\ntypedef void (REGAL_CALL *PFNGLTESSELLATIONMODEAMDPROC)(GLenum mode);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_AMD_VERTEX_SHADER_TESSELLATOR\n#define glTessellationFactorAMD             rglTessellationFactorAMD\n#define glTessellationModeAMD               rglTessellationModeAMD\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_AMD_VERTEX_SHADER_TESSELLATOR\nREGAL_DECL void REGAL_CALL glTessellationFactorAMD(GLfloat factor);\nREGAL_DECL void REGAL_CALL glTessellationModeAMD(GLenum mode);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_AMD_VERTEX_SHADER_TESSELLATOR\nREGAL_DECL void REGAL_CALL plugin_glTessellationFactorAMD(GLfloat factor);\nREGAL_DECL void REGAL_CALL plugin_glTessellationModeAMD(GLenum mode);\n#endif\n\n/**\n ** GL_ANGLE_framebuffer_blit\n **/\n\n#if (defined(GL_ANGLE_FRAMEBUFFER_BLIT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ANGLE_FRAMEBUFFER_BLIT)) && !defined(REGAL_NO_ENUM_GL_ANGLE_FRAMEBUFFER_BLIT)\n#define REGAL_NO_ENUM_GL_ANGLE_FRAMEBUFFER_BLIT\n#endif\n\n#if (defined(GL_ANGLE_FRAMEBUFFER_BLIT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ANGLE_FRAMEBUFFER_BLIT)) && !defined(REGAL_NO_TYPEDEF_GL_ANGLE_FRAMEBUFFER_BLIT)\n#define REGAL_NO_TYPEDEF_GL_ANGLE_FRAMEBUFFER_BLIT\n#endif\n\n#if (defined(GL_ANGLE_FRAMEBUFFER_BLIT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ANGLE_FRAMEBUFFER_BLIT)) && !defined(REGAL_NO_NAMESPACE_GL_ANGLE_FRAMEBUFFER_BLIT)\n#define REGAL_NO_NAMESPACE_GL_ANGLE_FRAMEBUFFER_BLIT\n#endif\n\n#if (defined(GL_ANGLE_FRAMEBUFFER_BLIT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ANGLE_FRAMEBUFFER_BLIT)) && !defined(REGAL_NO_PLUGIN_GL_ANGLE_FRAMEBUFFER_BLIT)\n#define REGAL_NO_PLUGIN_GL_ANGLE_FRAMEBUFFER_BLIT\n#endif\n\n#if (defined(GL_ANGLE_FRAMEBUFFER_BLIT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ANGLE_FRAMEBUFFER_BLIT)) && !defined(REGAL_NO_DECLARATION_GL_ANGLE_FRAMEBUFFER_BLIT)\n#define REGAL_NO_DECLARATION_GL_ANGLE_FRAMEBUFFER_BLIT\n#endif\n\n#ifndef GL_ANGLE_framebuffer_blit\n#define GL_ANGLE_framebuffer_blit 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ANGLE_FRAMEBUFFER_BLIT\n#define GL_DRAW_FRAMEBUFFER_BINDING_ANGLE 0x8ca6     /* 36006 */\n#define GL_READ_FRAMEBUFFER_ANGLE         0x8ca8     /* 36008 */\n#define GL_DRAW_FRAMEBUFFER_ANGLE         0x8ca9     /* 36009 */\n#define GL_READ_FRAMEBUFFER_BINDING_ANGLE 0x8caa     /* 36010 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ANGLE_FRAMEBUFFER_BLIT\ntypedef void (REGAL_CALL *PFNGLBLITFRAMEBUFFERANGLEPROC)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ANGLE_FRAMEBUFFER_BLIT\n#define glBlitFramebufferANGLE              rglBlitFramebufferANGLE\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ANGLE_FRAMEBUFFER_BLIT\nREGAL_DECL void REGAL_CALL glBlitFramebufferANGLE(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ANGLE_FRAMEBUFFER_BLIT\nREGAL_DECL void REGAL_CALL plugin_glBlitFramebufferANGLE(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);\n#endif\n\n/**\n ** GL_ANGLE_framebuffer_multisample\n **/\n\n#if (defined(GL_ANGLE_FRAMEBUFFER_MULTISAMPLE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ANGLE_FRAMEBUFFER_MULTISAMPLE)) && !defined(REGAL_NO_ENUM_GL_ANGLE_FRAMEBUFFER_MULTISAMPLE)\n#define REGAL_NO_ENUM_GL_ANGLE_FRAMEBUFFER_MULTISAMPLE\n#endif\n\n#if (defined(GL_ANGLE_FRAMEBUFFER_MULTISAMPLE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ANGLE_FRAMEBUFFER_MULTISAMPLE)) && !defined(REGAL_NO_TYPEDEF_GL_ANGLE_FRAMEBUFFER_MULTISAMPLE)\n#define REGAL_NO_TYPEDEF_GL_ANGLE_FRAMEBUFFER_MULTISAMPLE\n#endif\n\n#if (defined(GL_ANGLE_FRAMEBUFFER_MULTISAMPLE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ANGLE_FRAMEBUFFER_MULTISAMPLE)) && !defined(REGAL_NO_NAMESPACE_GL_ANGLE_FRAMEBUFFER_MULTISAMPLE)\n#define REGAL_NO_NAMESPACE_GL_ANGLE_FRAMEBUFFER_MULTISAMPLE\n#endif\n\n#if (defined(GL_ANGLE_FRAMEBUFFER_MULTISAMPLE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ANGLE_FRAMEBUFFER_MULTISAMPLE)) && !defined(REGAL_NO_PLUGIN_GL_ANGLE_FRAMEBUFFER_MULTISAMPLE)\n#define REGAL_NO_PLUGIN_GL_ANGLE_FRAMEBUFFER_MULTISAMPLE\n#endif\n\n#if (defined(GL_ANGLE_FRAMEBUFFER_MULTISAMPLE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ANGLE_FRAMEBUFFER_MULTISAMPLE)) && !defined(REGAL_NO_DECLARATION_GL_ANGLE_FRAMEBUFFER_MULTISAMPLE)\n#define REGAL_NO_DECLARATION_GL_ANGLE_FRAMEBUFFER_MULTISAMPLE\n#endif\n\n#ifndef GL_ANGLE_framebuffer_multisample\n#define GL_ANGLE_framebuffer_multisample 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ANGLE_FRAMEBUFFER_MULTISAMPLE\n#define GL_RENDERBUFFER_SAMPLES_ANGLE               0x8cab     /* 36011 */\n#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_ANGLE 0x8d56     /* 36182 */\n#define GL_MAX_SAMPLES_ANGLE                        0x8d57     /* 36183 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ANGLE_FRAMEBUFFER_MULTISAMPLE\ntypedef void (REGAL_CALL *PFNGLRENDERBUFFERSTORAGEMULTISAMPLEANGLEPROC)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ANGLE_FRAMEBUFFER_MULTISAMPLE\n#define glRenderbufferStorageMultisampleANGLE rglRenderbufferStorageMultisampleANGLE\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ANGLE_FRAMEBUFFER_MULTISAMPLE\nREGAL_DECL void REGAL_CALL glRenderbufferStorageMultisampleANGLE(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ANGLE_FRAMEBUFFER_MULTISAMPLE\nREGAL_DECL void REGAL_CALL plugin_glRenderbufferStorageMultisampleANGLE(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);\n#endif\n\n/**\n ** GL_ANGLE_instanced_arrays\n **/\n\n#if (defined(GL_ANGLE_INSTANCED_ARRAYS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ANGLE_INSTANCED_ARRAYS)) && !defined(REGAL_NO_ENUM_GL_ANGLE_INSTANCED_ARRAYS)\n#define REGAL_NO_ENUM_GL_ANGLE_INSTANCED_ARRAYS\n#endif\n\n#if (defined(GL_ANGLE_INSTANCED_ARRAYS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ANGLE_INSTANCED_ARRAYS)) && !defined(REGAL_NO_TYPEDEF_GL_ANGLE_INSTANCED_ARRAYS)\n#define REGAL_NO_TYPEDEF_GL_ANGLE_INSTANCED_ARRAYS\n#endif\n\n#if (defined(GL_ANGLE_INSTANCED_ARRAYS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ANGLE_INSTANCED_ARRAYS)) && !defined(REGAL_NO_NAMESPACE_GL_ANGLE_INSTANCED_ARRAYS)\n#define REGAL_NO_NAMESPACE_GL_ANGLE_INSTANCED_ARRAYS\n#endif\n\n#if (defined(GL_ANGLE_INSTANCED_ARRAYS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ANGLE_INSTANCED_ARRAYS)) && !defined(REGAL_NO_PLUGIN_GL_ANGLE_INSTANCED_ARRAYS)\n#define REGAL_NO_PLUGIN_GL_ANGLE_INSTANCED_ARRAYS\n#endif\n\n#if (defined(GL_ANGLE_INSTANCED_ARRAYS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ANGLE_INSTANCED_ARRAYS)) && !defined(REGAL_NO_DECLARATION_GL_ANGLE_INSTANCED_ARRAYS)\n#define REGAL_NO_DECLARATION_GL_ANGLE_INSTANCED_ARRAYS\n#endif\n\n#ifndef GL_ANGLE_instanced_arrays\n#define GL_ANGLE_instanced_arrays 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ANGLE_INSTANCED_ARRAYS\n#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE 0x88fe /* 35070 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ANGLE_INSTANCED_ARRAYS\ntypedef void (REGAL_CALL *PFNGLDRAWARRAYSINSTANCEDANGLEPROC)(GLenum mode, GLint first, GLsizei count, GLsizei primcount);\ntypedef void (REGAL_CALL *PFNGLDRAWELEMENTSINSTANCEDANGLEPROC)(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBDIVISORANGLEPROC)(GLuint index, GLuint divisor);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ANGLE_INSTANCED_ARRAYS\n#define glDrawArraysInstancedANGLE          rglDrawArraysInstancedANGLE\n#define glDrawElementsInstancedANGLE        rglDrawElementsInstancedANGLE\n#define glVertexAttribDivisorANGLE          rglVertexAttribDivisorANGLE\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ANGLE_INSTANCED_ARRAYS\nREGAL_DECL void REGAL_CALL glDrawArraysInstancedANGLE(GLenum mode, GLint first, GLsizei count, GLsizei primcount);\nREGAL_DECL void REGAL_CALL glDrawElementsInstancedANGLE(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount);\nREGAL_DECL void REGAL_CALL glVertexAttribDivisorANGLE(GLuint index, GLuint divisor);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ANGLE_INSTANCED_ARRAYS\nREGAL_DECL void REGAL_CALL plugin_glDrawArraysInstancedANGLE(GLenum mode, GLint first, GLsizei count, GLsizei primcount);\nREGAL_DECL void REGAL_CALL plugin_glDrawElementsInstancedANGLE(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribDivisorANGLE(GLuint index, GLuint divisor);\n#endif\n\n/**\n ** GL_ANGLE_pack_reverse_row_order\n **/\n\n#if (defined(GL_ANGLE_PACK_REVERSE_ROW_ORDER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ANGLE_PACK_REVERSE_ROW_ORDER)) && !defined(REGAL_NO_ENUM_GL_ANGLE_PACK_REVERSE_ROW_ORDER)\n#define REGAL_NO_ENUM_GL_ANGLE_PACK_REVERSE_ROW_ORDER\n#endif\n\n#if (defined(GL_ANGLE_PACK_REVERSE_ROW_ORDER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ANGLE_PACK_REVERSE_ROW_ORDER)) && !defined(REGAL_NO_TYPEDEF_GL_ANGLE_PACK_REVERSE_ROW_ORDER)\n#define REGAL_NO_TYPEDEF_GL_ANGLE_PACK_REVERSE_ROW_ORDER\n#endif\n\n#if (defined(GL_ANGLE_PACK_REVERSE_ROW_ORDER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ANGLE_PACK_REVERSE_ROW_ORDER)) && !defined(REGAL_NO_NAMESPACE_GL_ANGLE_PACK_REVERSE_ROW_ORDER)\n#define REGAL_NO_NAMESPACE_GL_ANGLE_PACK_REVERSE_ROW_ORDER\n#endif\n\n#if (defined(GL_ANGLE_PACK_REVERSE_ROW_ORDER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ANGLE_PACK_REVERSE_ROW_ORDER)) && !defined(REGAL_NO_PLUGIN_GL_ANGLE_PACK_REVERSE_ROW_ORDER)\n#define REGAL_NO_PLUGIN_GL_ANGLE_PACK_REVERSE_ROW_ORDER\n#endif\n\n#if (defined(GL_ANGLE_PACK_REVERSE_ROW_ORDER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ANGLE_PACK_REVERSE_ROW_ORDER)) && !defined(REGAL_NO_DECLARATION_GL_ANGLE_PACK_REVERSE_ROW_ORDER)\n#define REGAL_NO_DECLARATION_GL_ANGLE_PACK_REVERSE_ROW_ORDER\n#endif\n\n#ifndef GL_ANGLE_pack_reverse_row_order\n#define GL_ANGLE_pack_reverse_row_order 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ANGLE_PACK_REVERSE_ROW_ORDER\n#define GL_PACK_REVERSE_ROW_ORDER_ANGLE 0x93a4 /* 37796 */\n#endif\n\n/**\n ** GL_ANGLE_program_binary\n **/\n\n#if (defined(GL_ANGLE_PROGRAM_BINARY) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ANGLE_PROGRAM_BINARY)) && !defined(REGAL_NO_ENUM_GL_ANGLE_PROGRAM_BINARY)\n#define REGAL_NO_ENUM_GL_ANGLE_PROGRAM_BINARY\n#endif\n\n#if (defined(GL_ANGLE_PROGRAM_BINARY) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ANGLE_PROGRAM_BINARY)) && !defined(REGAL_NO_TYPEDEF_GL_ANGLE_PROGRAM_BINARY)\n#define REGAL_NO_TYPEDEF_GL_ANGLE_PROGRAM_BINARY\n#endif\n\n#if (defined(GL_ANGLE_PROGRAM_BINARY) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ANGLE_PROGRAM_BINARY)) && !defined(REGAL_NO_NAMESPACE_GL_ANGLE_PROGRAM_BINARY)\n#define REGAL_NO_NAMESPACE_GL_ANGLE_PROGRAM_BINARY\n#endif\n\n#if (defined(GL_ANGLE_PROGRAM_BINARY) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ANGLE_PROGRAM_BINARY)) && !defined(REGAL_NO_PLUGIN_GL_ANGLE_PROGRAM_BINARY)\n#define REGAL_NO_PLUGIN_GL_ANGLE_PROGRAM_BINARY\n#endif\n\n#if (defined(GL_ANGLE_PROGRAM_BINARY) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ANGLE_PROGRAM_BINARY)) && !defined(REGAL_NO_DECLARATION_GL_ANGLE_PROGRAM_BINARY)\n#define REGAL_NO_DECLARATION_GL_ANGLE_PROGRAM_BINARY\n#endif\n\n#ifndef GL_ANGLE_program_binary\n#define GL_ANGLE_program_binary 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ANGLE_PROGRAM_BINARY\n#define GL_PROGRAM_BINARY_ANGLE 0x93a6 /* 37798 */\n#endif\n\n/**\n ** GL_ANGLE_texture_compression_dxt1\n **/\n\n#if (defined(GL_ANGLE_TEXTURE_COMPRESSION_DXT1) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ANGLE_TEXTURE_COMPRESSION_DXT1)) && !defined(REGAL_NO_ENUM_GL_ANGLE_TEXTURE_COMPRESSION_DXT1)\n#define REGAL_NO_ENUM_GL_ANGLE_TEXTURE_COMPRESSION_DXT1\n#endif\n\n#if (defined(GL_ANGLE_TEXTURE_COMPRESSION_DXT1) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ANGLE_TEXTURE_COMPRESSION_DXT1)) && !defined(REGAL_NO_TYPEDEF_GL_ANGLE_TEXTURE_COMPRESSION_DXT1)\n#define REGAL_NO_TYPEDEF_GL_ANGLE_TEXTURE_COMPRESSION_DXT1\n#endif\n\n#if (defined(GL_ANGLE_TEXTURE_COMPRESSION_DXT1) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ANGLE_TEXTURE_COMPRESSION_DXT1)) && !defined(REGAL_NO_NAMESPACE_GL_ANGLE_TEXTURE_COMPRESSION_DXT1)\n#define REGAL_NO_NAMESPACE_GL_ANGLE_TEXTURE_COMPRESSION_DXT1\n#endif\n\n#if (defined(GL_ANGLE_TEXTURE_COMPRESSION_DXT1) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ANGLE_TEXTURE_COMPRESSION_DXT1)) && !defined(REGAL_NO_PLUGIN_GL_ANGLE_TEXTURE_COMPRESSION_DXT1)\n#define REGAL_NO_PLUGIN_GL_ANGLE_TEXTURE_COMPRESSION_DXT1\n#endif\n\n#if (defined(GL_ANGLE_TEXTURE_COMPRESSION_DXT1) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ANGLE_TEXTURE_COMPRESSION_DXT1)) && !defined(REGAL_NO_DECLARATION_GL_ANGLE_TEXTURE_COMPRESSION_DXT1)\n#define REGAL_NO_DECLARATION_GL_ANGLE_TEXTURE_COMPRESSION_DXT1\n#endif\n\n#ifndef GL_ANGLE_texture_compression_dxt1\n#define GL_ANGLE_texture_compression_dxt1 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ANGLE_TEXTURE_COMPRESSION_DXT1\n#define GL_COMPRESSED_RGB_S3TC_DXT1_ANGLE  0x83f0     /* 33776 */\n#define GL_COMPRESSED_RGBA_S3TC_DXT1_ANGLE 0x83f1     /* 33777 */\n#endif\n\n/**\n ** GL_ANGLE_texture_compression_dxt3\n **/\n\n#if (defined(GL_ANGLE_TEXTURE_COMPRESSION_DXT3) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ANGLE_TEXTURE_COMPRESSION_DXT3)) && !defined(REGAL_NO_ENUM_GL_ANGLE_TEXTURE_COMPRESSION_DXT3)\n#define REGAL_NO_ENUM_GL_ANGLE_TEXTURE_COMPRESSION_DXT3\n#endif\n\n#if (defined(GL_ANGLE_TEXTURE_COMPRESSION_DXT3) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ANGLE_TEXTURE_COMPRESSION_DXT3)) && !defined(REGAL_NO_TYPEDEF_GL_ANGLE_TEXTURE_COMPRESSION_DXT3)\n#define REGAL_NO_TYPEDEF_GL_ANGLE_TEXTURE_COMPRESSION_DXT3\n#endif\n\n#if (defined(GL_ANGLE_TEXTURE_COMPRESSION_DXT3) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ANGLE_TEXTURE_COMPRESSION_DXT3)) && !defined(REGAL_NO_NAMESPACE_GL_ANGLE_TEXTURE_COMPRESSION_DXT3)\n#define REGAL_NO_NAMESPACE_GL_ANGLE_TEXTURE_COMPRESSION_DXT3\n#endif\n\n#if (defined(GL_ANGLE_TEXTURE_COMPRESSION_DXT3) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ANGLE_TEXTURE_COMPRESSION_DXT3)) && !defined(REGAL_NO_PLUGIN_GL_ANGLE_TEXTURE_COMPRESSION_DXT3)\n#define REGAL_NO_PLUGIN_GL_ANGLE_TEXTURE_COMPRESSION_DXT3\n#endif\n\n#if (defined(GL_ANGLE_TEXTURE_COMPRESSION_DXT3) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ANGLE_TEXTURE_COMPRESSION_DXT3)) && !defined(REGAL_NO_DECLARATION_GL_ANGLE_TEXTURE_COMPRESSION_DXT3)\n#define REGAL_NO_DECLARATION_GL_ANGLE_TEXTURE_COMPRESSION_DXT3\n#endif\n\n#ifndef GL_ANGLE_texture_compression_dxt3\n#define GL_ANGLE_texture_compression_dxt3 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ANGLE_TEXTURE_COMPRESSION_DXT3\n#define GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE 0x83f2 /* 33778 */\n#endif\n\n/**\n ** GL_ANGLE_texture_compression_dxt5\n **/\n\n#if (defined(GL_ANGLE_TEXTURE_COMPRESSION_DXT5) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ANGLE_TEXTURE_COMPRESSION_DXT5)) && !defined(REGAL_NO_ENUM_GL_ANGLE_TEXTURE_COMPRESSION_DXT5)\n#define REGAL_NO_ENUM_GL_ANGLE_TEXTURE_COMPRESSION_DXT5\n#endif\n\n#if (defined(GL_ANGLE_TEXTURE_COMPRESSION_DXT5) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ANGLE_TEXTURE_COMPRESSION_DXT5)) && !defined(REGAL_NO_TYPEDEF_GL_ANGLE_TEXTURE_COMPRESSION_DXT5)\n#define REGAL_NO_TYPEDEF_GL_ANGLE_TEXTURE_COMPRESSION_DXT5\n#endif\n\n#if (defined(GL_ANGLE_TEXTURE_COMPRESSION_DXT5) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ANGLE_TEXTURE_COMPRESSION_DXT5)) && !defined(REGAL_NO_NAMESPACE_GL_ANGLE_TEXTURE_COMPRESSION_DXT5)\n#define REGAL_NO_NAMESPACE_GL_ANGLE_TEXTURE_COMPRESSION_DXT5\n#endif\n\n#if (defined(GL_ANGLE_TEXTURE_COMPRESSION_DXT5) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ANGLE_TEXTURE_COMPRESSION_DXT5)) && !defined(REGAL_NO_PLUGIN_GL_ANGLE_TEXTURE_COMPRESSION_DXT5)\n#define REGAL_NO_PLUGIN_GL_ANGLE_TEXTURE_COMPRESSION_DXT5\n#endif\n\n#if (defined(GL_ANGLE_TEXTURE_COMPRESSION_DXT5) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ANGLE_TEXTURE_COMPRESSION_DXT5)) && !defined(REGAL_NO_DECLARATION_GL_ANGLE_TEXTURE_COMPRESSION_DXT5)\n#define REGAL_NO_DECLARATION_GL_ANGLE_TEXTURE_COMPRESSION_DXT5\n#endif\n\n#ifndef GL_ANGLE_texture_compression_dxt5\n#define GL_ANGLE_texture_compression_dxt5 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ANGLE_TEXTURE_COMPRESSION_DXT5\n#define GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE 0x83f3 /* 33779 */\n#endif\n\n/**\n ** GL_ANGLE_texture_usage\n **/\n\n#if (defined(GL_ANGLE_TEXTURE_USAGE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ANGLE_TEXTURE_USAGE)) && !defined(REGAL_NO_ENUM_GL_ANGLE_TEXTURE_USAGE)\n#define REGAL_NO_ENUM_GL_ANGLE_TEXTURE_USAGE\n#endif\n\n#if (defined(GL_ANGLE_TEXTURE_USAGE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ANGLE_TEXTURE_USAGE)) && !defined(REGAL_NO_TYPEDEF_GL_ANGLE_TEXTURE_USAGE)\n#define REGAL_NO_TYPEDEF_GL_ANGLE_TEXTURE_USAGE\n#endif\n\n#if (defined(GL_ANGLE_TEXTURE_USAGE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ANGLE_TEXTURE_USAGE)) && !defined(REGAL_NO_NAMESPACE_GL_ANGLE_TEXTURE_USAGE)\n#define REGAL_NO_NAMESPACE_GL_ANGLE_TEXTURE_USAGE\n#endif\n\n#if (defined(GL_ANGLE_TEXTURE_USAGE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ANGLE_TEXTURE_USAGE)) && !defined(REGAL_NO_PLUGIN_GL_ANGLE_TEXTURE_USAGE)\n#define REGAL_NO_PLUGIN_GL_ANGLE_TEXTURE_USAGE\n#endif\n\n#if (defined(GL_ANGLE_TEXTURE_USAGE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ANGLE_TEXTURE_USAGE)) && !defined(REGAL_NO_DECLARATION_GL_ANGLE_TEXTURE_USAGE)\n#define REGAL_NO_DECLARATION_GL_ANGLE_TEXTURE_USAGE\n#endif\n\n#ifndef GL_ANGLE_texture_usage\n#define GL_ANGLE_texture_usage 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ANGLE_TEXTURE_USAGE\n#define GL_TEXTURE_USAGE_ANGLE          0x93a2     /* 37794 */\n#define GL_FRAMEBUFFER_ATTACHMENT_ANGLE 0x93a3     /* 37795 */\n#endif\n\n/**\n ** GL_ANGLE_timer_query\n **/\n\n#if (defined(GL_ANGLE_TIMER_QUERY) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ANGLE_TIMER_QUERY)) && !defined(REGAL_NO_ENUM_GL_ANGLE_TIMER_QUERY)\n#define REGAL_NO_ENUM_GL_ANGLE_TIMER_QUERY\n#endif\n\n#if (defined(GL_ANGLE_TIMER_QUERY) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ANGLE_TIMER_QUERY)) && !defined(REGAL_NO_TYPEDEF_GL_ANGLE_TIMER_QUERY)\n#define REGAL_NO_TYPEDEF_GL_ANGLE_TIMER_QUERY\n#endif\n\n#if (defined(GL_ANGLE_TIMER_QUERY) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ANGLE_TIMER_QUERY)) && !defined(REGAL_NO_NAMESPACE_GL_ANGLE_TIMER_QUERY)\n#define REGAL_NO_NAMESPACE_GL_ANGLE_TIMER_QUERY\n#endif\n\n#if (defined(GL_ANGLE_TIMER_QUERY) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ANGLE_TIMER_QUERY)) && !defined(REGAL_NO_PLUGIN_GL_ANGLE_TIMER_QUERY)\n#define REGAL_NO_PLUGIN_GL_ANGLE_TIMER_QUERY\n#endif\n\n#if (defined(GL_ANGLE_TIMER_QUERY) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ANGLE_TIMER_QUERY)) && !defined(REGAL_NO_DECLARATION_GL_ANGLE_TIMER_QUERY)\n#define REGAL_NO_DECLARATION_GL_ANGLE_TIMER_QUERY\n#endif\n\n#ifndef GL_ANGLE_timer_query\n#define GL_ANGLE_timer_query 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ANGLE_TIMER_QUERY\n#define GL_QUERY_COUNTER_BITS_ANGLE     0x8864     /* 34916 */\n#define GL_CURRENT_QUERY_ANGLE          0x8865     /* 34917 */\n#define GL_QUERY_RESULT_ANGLE           0x8866     /* 34918 */\n#define GL_QUERY_RESULT_AVAILABLE_ANGLE 0x8867     /* 34919 */\n#define GL_TIME_ELAPSED_ANGLE           0x88bf     /* 35007 */\n#define GL_TIMESTAMP_ANGLE              0x8e28     /* 36392 */\n#endif\n\n/**\n ** GL_ANGLE_translated_shader_source\n **/\n\n#if (defined(GL_ANGLE_TRANSLATED_SHADER_SOURCE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ANGLE_TRANSLATED_SHADER_SOURCE)) && !defined(REGAL_NO_ENUM_GL_ANGLE_TRANSLATED_SHADER_SOURCE)\n#define REGAL_NO_ENUM_GL_ANGLE_TRANSLATED_SHADER_SOURCE\n#endif\n\n#if (defined(GL_ANGLE_TRANSLATED_SHADER_SOURCE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ANGLE_TRANSLATED_SHADER_SOURCE)) && !defined(REGAL_NO_TYPEDEF_GL_ANGLE_TRANSLATED_SHADER_SOURCE)\n#define REGAL_NO_TYPEDEF_GL_ANGLE_TRANSLATED_SHADER_SOURCE\n#endif\n\n#if (defined(GL_ANGLE_TRANSLATED_SHADER_SOURCE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ANGLE_TRANSLATED_SHADER_SOURCE)) && !defined(REGAL_NO_NAMESPACE_GL_ANGLE_TRANSLATED_SHADER_SOURCE)\n#define REGAL_NO_NAMESPACE_GL_ANGLE_TRANSLATED_SHADER_SOURCE\n#endif\n\n#if (defined(GL_ANGLE_TRANSLATED_SHADER_SOURCE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ANGLE_TRANSLATED_SHADER_SOURCE)) && !defined(REGAL_NO_PLUGIN_GL_ANGLE_TRANSLATED_SHADER_SOURCE)\n#define REGAL_NO_PLUGIN_GL_ANGLE_TRANSLATED_SHADER_SOURCE\n#endif\n\n#if (defined(GL_ANGLE_TRANSLATED_SHADER_SOURCE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ANGLE_TRANSLATED_SHADER_SOURCE)) && !defined(REGAL_NO_DECLARATION_GL_ANGLE_TRANSLATED_SHADER_SOURCE)\n#define REGAL_NO_DECLARATION_GL_ANGLE_TRANSLATED_SHADER_SOURCE\n#endif\n\n#ifndef GL_ANGLE_translated_shader_source\n#define GL_ANGLE_translated_shader_source 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ANGLE_TRANSLATED_SHADER_SOURCE\n#define GL_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE 0x93a0 /* 37792 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ANGLE_TRANSLATED_SHADER_SOURCE\ntypedef void (REGAL_CALL *PFNGLGETTRANSLATEDSHADERSOURCEANGLEPROC)(GLuint shader, GLsizei bufsize, GLsizei *length, GLchar *source);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ANGLE_TRANSLATED_SHADER_SOURCE\n#define glGetTranslatedShaderSourceANGLE    rglGetTranslatedShaderSourceANGLE\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ANGLE_TRANSLATED_SHADER_SOURCE\nREGAL_DECL void REGAL_CALL glGetTranslatedShaderSourceANGLE(GLuint shader, GLsizei bufsize, GLsizei *length, GLchar *source);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ANGLE_TRANSLATED_SHADER_SOURCE\nREGAL_DECL void REGAL_CALL plugin_glGetTranslatedShaderSourceANGLE(GLuint shader, GLsizei bufsize, GLsizei *length, GLchar *source);\n#endif\n\n/**\n ** GL_APPLE_aux_depth_stencil\n **/\n\n#if (defined(GL_APPLE_AUX_DEPTH_STENCIL) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_APPLE_AUX_DEPTH_STENCIL)) && !defined(REGAL_NO_ENUM_GL_APPLE_AUX_DEPTH_STENCIL)\n#define REGAL_NO_ENUM_GL_APPLE_AUX_DEPTH_STENCIL\n#endif\n\n#if (defined(GL_APPLE_AUX_DEPTH_STENCIL) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_APPLE_AUX_DEPTH_STENCIL)) && !defined(REGAL_NO_TYPEDEF_GL_APPLE_AUX_DEPTH_STENCIL)\n#define REGAL_NO_TYPEDEF_GL_APPLE_AUX_DEPTH_STENCIL\n#endif\n\n#if (defined(GL_APPLE_AUX_DEPTH_STENCIL) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_APPLE_AUX_DEPTH_STENCIL)) && !defined(REGAL_NO_NAMESPACE_GL_APPLE_AUX_DEPTH_STENCIL)\n#define REGAL_NO_NAMESPACE_GL_APPLE_AUX_DEPTH_STENCIL\n#endif\n\n#if (defined(GL_APPLE_AUX_DEPTH_STENCIL) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_APPLE_AUX_DEPTH_STENCIL)) && !defined(REGAL_NO_PLUGIN_GL_APPLE_AUX_DEPTH_STENCIL)\n#define REGAL_NO_PLUGIN_GL_APPLE_AUX_DEPTH_STENCIL\n#endif\n\n#if (defined(GL_APPLE_AUX_DEPTH_STENCIL) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_APPLE_AUX_DEPTH_STENCIL)) && !defined(REGAL_NO_DECLARATION_GL_APPLE_AUX_DEPTH_STENCIL)\n#define REGAL_NO_DECLARATION_GL_APPLE_AUX_DEPTH_STENCIL\n#endif\n\n#ifndef GL_APPLE_aux_depth_stencil\n#define GL_APPLE_aux_depth_stencil 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_APPLE_AUX_DEPTH_STENCIL\n#define GL_AUX_DEPTH_STENCIL_APPLE 0x8a14 /* 35348 */\n#endif\n\n/**\n ** GL_APPLE_client_storage\n **/\n\n#if (defined(GL_APPLE_CLIENT_STORAGE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_APPLE_CLIENT_STORAGE)) && !defined(REGAL_NO_ENUM_GL_APPLE_CLIENT_STORAGE)\n#define REGAL_NO_ENUM_GL_APPLE_CLIENT_STORAGE\n#endif\n\n#if (defined(GL_APPLE_CLIENT_STORAGE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_APPLE_CLIENT_STORAGE)) && !defined(REGAL_NO_TYPEDEF_GL_APPLE_CLIENT_STORAGE)\n#define REGAL_NO_TYPEDEF_GL_APPLE_CLIENT_STORAGE\n#endif\n\n#if (defined(GL_APPLE_CLIENT_STORAGE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_APPLE_CLIENT_STORAGE)) && !defined(REGAL_NO_NAMESPACE_GL_APPLE_CLIENT_STORAGE)\n#define REGAL_NO_NAMESPACE_GL_APPLE_CLIENT_STORAGE\n#endif\n\n#if (defined(GL_APPLE_CLIENT_STORAGE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_APPLE_CLIENT_STORAGE)) && !defined(REGAL_NO_PLUGIN_GL_APPLE_CLIENT_STORAGE)\n#define REGAL_NO_PLUGIN_GL_APPLE_CLIENT_STORAGE\n#endif\n\n#if (defined(GL_APPLE_CLIENT_STORAGE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_APPLE_CLIENT_STORAGE)) && !defined(REGAL_NO_DECLARATION_GL_APPLE_CLIENT_STORAGE)\n#define REGAL_NO_DECLARATION_GL_APPLE_CLIENT_STORAGE\n#endif\n\n#ifndef GL_APPLE_client_storage\n#define GL_APPLE_client_storage 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_APPLE_CLIENT_STORAGE\n#define GL_UNPACK_CLIENT_STORAGE_APPLE 0x85b2 /* 34226 */\n#endif\n\n/**\n ** GL_APPLE_copy_texture_levels\n **/\n\n#if (defined(GL_APPLE_COPY_TEXTURE_LEVELS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_APPLE_COPY_TEXTURE_LEVELS)) && !defined(REGAL_NO_ENUM_GL_APPLE_COPY_TEXTURE_LEVELS)\n#define REGAL_NO_ENUM_GL_APPLE_COPY_TEXTURE_LEVELS\n#endif\n\n#if (defined(GL_APPLE_COPY_TEXTURE_LEVELS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_APPLE_COPY_TEXTURE_LEVELS)) && !defined(REGAL_NO_TYPEDEF_GL_APPLE_COPY_TEXTURE_LEVELS)\n#define REGAL_NO_TYPEDEF_GL_APPLE_COPY_TEXTURE_LEVELS\n#endif\n\n#if (defined(GL_APPLE_COPY_TEXTURE_LEVELS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_APPLE_COPY_TEXTURE_LEVELS)) && !defined(REGAL_NO_NAMESPACE_GL_APPLE_COPY_TEXTURE_LEVELS)\n#define REGAL_NO_NAMESPACE_GL_APPLE_COPY_TEXTURE_LEVELS\n#endif\n\n#if (defined(GL_APPLE_COPY_TEXTURE_LEVELS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_APPLE_COPY_TEXTURE_LEVELS)) && !defined(REGAL_NO_PLUGIN_GL_APPLE_COPY_TEXTURE_LEVELS)\n#define REGAL_NO_PLUGIN_GL_APPLE_COPY_TEXTURE_LEVELS\n#endif\n\n#if (defined(GL_APPLE_COPY_TEXTURE_LEVELS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_APPLE_COPY_TEXTURE_LEVELS)) && !defined(REGAL_NO_DECLARATION_GL_APPLE_COPY_TEXTURE_LEVELS)\n#define REGAL_NO_DECLARATION_GL_APPLE_COPY_TEXTURE_LEVELS\n#endif\n\n#ifndef GL_APPLE_copy_texture_levels\n#define GL_APPLE_copy_texture_levels 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_APPLE_COPY_TEXTURE_LEVELS\ntypedef void (REGAL_CALL *PFNGLCOPYTEXTURELEVELSAPPLEPROC)(GLuint destinationTexture, GLuint sourceTexture, GLint sourceBaseLevel, GLsizei sourceLevelCount);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_APPLE_COPY_TEXTURE_LEVELS\n#define glCopyTextureLevelsAPPLE            rglCopyTextureLevelsAPPLE\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_APPLE_COPY_TEXTURE_LEVELS\nREGAL_DECL void REGAL_CALL glCopyTextureLevelsAPPLE(GLuint destinationTexture, GLuint sourceTexture, GLint sourceBaseLevel, GLsizei sourceLevelCount);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_APPLE_COPY_TEXTURE_LEVELS\nREGAL_DECL void REGAL_CALL plugin_glCopyTextureLevelsAPPLE(GLuint destinationTexture, GLuint sourceTexture, GLint sourceBaseLevel, GLsizei sourceLevelCount);\n#endif\n\n/**\n ** GL_APPLE_element_array\n **/\n\n#if (defined(GL_APPLE_ELEMENT_ARRAY) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_APPLE_ELEMENT_ARRAY)) && !defined(REGAL_NO_ENUM_GL_APPLE_ELEMENT_ARRAY)\n#define REGAL_NO_ENUM_GL_APPLE_ELEMENT_ARRAY\n#endif\n\n#if (defined(GL_APPLE_ELEMENT_ARRAY) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_APPLE_ELEMENT_ARRAY)) && !defined(REGAL_NO_TYPEDEF_GL_APPLE_ELEMENT_ARRAY)\n#define REGAL_NO_TYPEDEF_GL_APPLE_ELEMENT_ARRAY\n#endif\n\n#if (defined(GL_APPLE_ELEMENT_ARRAY) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_APPLE_ELEMENT_ARRAY)) && !defined(REGAL_NO_NAMESPACE_GL_APPLE_ELEMENT_ARRAY)\n#define REGAL_NO_NAMESPACE_GL_APPLE_ELEMENT_ARRAY\n#endif\n\n#if (defined(GL_APPLE_ELEMENT_ARRAY) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_APPLE_ELEMENT_ARRAY)) && !defined(REGAL_NO_PLUGIN_GL_APPLE_ELEMENT_ARRAY)\n#define REGAL_NO_PLUGIN_GL_APPLE_ELEMENT_ARRAY\n#endif\n\n#if (defined(GL_APPLE_ELEMENT_ARRAY) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_APPLE_ELEMENT_ARRAY)) && !defined(REGAL_NO_DECLARATION_GL_APPLE_ELEMENT_ARRAY)\n#define REGAL_NO_DECLARATION_GL_APPLE_ELEMENT_ARRAY\n#endif\n\n#ifndef GL_APPLE_element_array\n#define GL_APPLE_element_array 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_APPLE_ELEMENT_ARRAY\n#define GL_ELEMENT_ARRAY_APPLE         0x8a0c     /* 35340 */\n#define GL_ELEMENT_ARRAY_TYPE_APPLE    0x8a0d     /* 35341 */\n#define GL_ELEMENT_ARRAY_POINTER_APPLE 0x8a0e     /* 35342 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_APPLE_ELEMENT_ARRAY\ntypedef void (REGAL_CALL *PFNGLDRAWELEMENTARRAYAPPLEPROC)(GLenum mode, GLint first, GLsizei count);\ntypedef void (REGAL_CALL *PFNGLDRAWRANGEELEMENTARRAYAPPLEPROC)(GLenum mode, GLuint start, GLuint end, GLint first, GLsizei count);\ntypedef void (REGAL_CALL *PFNGLELEMENTPOINTERAPPLEPROC)(GLenum type, const GLvoid *pointer);\ntypedef void (REGAL_CALL *PFNGLMULTIDRAWELEMENTARRAYAPPLEPROC)(GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);\ntypedef void (REGAL_CALL *PFNGLMULTIDRAWRANGEELEMENTARRAYAPPLEPROC)(GLenum mode, GLuint start, GLuint end, const GLint *first, const GLsizei *count, GLsizei primcount);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_APPLE_ELEMENT_ARRAY\n#define glDrawElementArrayAPPLE             rglDrawElementArrayAPPLE\n#define glDrawRangeElementArrayAPPLE        rglDrawRangeElementArrayAPPLE\n#define glElementPointerAPPLE               rglElementPointerAPPLE\n#define glMultiDrawElementArrayAPPLE        rglMultiDrawElementArrayAPPLE\n#define glMultiDrawRangeElementArrayAPPLE   rglMultiDrawRangeElementArrayAPPLE\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_APPLE_ELEMENT_ARRAY\nREGAL_DECL void REGAL_CALL glDrawElementArrayAPPLE(GLenum mode, GLint first, GLsizei count);\nREGAL_DECL void REGAL_CALL glDrawRangeElementArrayAPPLE(GLenum mode, GLuint start, GLuint end, GLint first, GLsizei count);\nREGAL_DECL void REGAL_CALL glElementPointerAPPLE(GLenum type, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL glMultiDrawElementArrayAPPLE(GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);\nREGAL_DECL void REGAL_CALL glMultiDrawRangeElementArrayAPPLE(GLenum mode, GLuint start, GLuint end, const GLint *first, const GLsizei *count, GLsizei primcount);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_APPLE_ELEMENT_ARRAY\nREGAL_DECL void REGAL_CALL plugin_glDrawElementArrayAPPLE(GLenum mode, GLint first, GLsizei count);\nREGAL_DECL void REGAL_CALL plugin_glDrawRangeElementArrayAPPLE(GLenum mode, GLuint start, GLuint end, GLint first, GLsizei count);\nREGAL_DECL void REGAL_CALL plugin_glElementPointerAPPLE(GLenum type, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL plugin_glMultiDrawElementArrayAPPLE(GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);\nREGAL_DECL void REGAL_CALL plugin_glMultiDrawRangeElementArrayAPPLE(GLenum mode, GLuint start, GLuint end, const GLint *first, const GLsizei *count, GLsizei primcount);\n#endif\n\n/**\n ** GL_APPLE_fence\n **/\n\n#if (defined(GL_APPLE_FENCE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_APPLE_FENCE)) && !defined(REGAL_NO_ENUM_GL_APPLE_FENCE)\n#define REGAL_NO_ENUM_GL_APPLE_FENCE\n#endif\n\n#if (defined(GL_APPLE_FENCE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_APPLE_FENCE)) && !defined(REGAL_NO_TYPEDEF_GL_APPLE_FENCE)\n#define REGAL_NO_TYPEDEF_GL_APPLE_FENCE\n#endif\n\n#if (defined(GL_APPLE_FENCE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_APPLE_FENCE)) && !defined(REGAL_NO_NAMESPACE_GL_APPLE_FENCE)\n#define REGAL_NO_NAMESPACE_GL_APPLE_FENCE\n#endif\n\n#if (defined(GL_APPLE_FENCE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_APPLE_FENCE)) && !defined(REGAL_NO_PLUGIN_GL_APPLE_FENCE)\n#define REGAL_NO_PLUGIN_GL_APPLE_FENCE\n#endif\n\n#if (defined(GL_APPLE_FENCE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_APPLE_FENCE)) && !defined(REGAL_NO_DECLARATION_GL_APPLE_FENCE)\n#define REGAL_NO_DECLARATION_GL_APPLE_FENCE\n#endif\n\n#ifndef GL_APPLE_fence\n#define GL_APPLE_fence 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_APPLE_FENCE\n#define GL_DRAW_PIXELS_APPLE 0x8a0a     /* 35338 */\n#define GL_FENCE_APPLE       0x8a0b     /* 35339 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_APPLE_FENCE\ntypedef GLboolean (REGAL_CALL *PFNGLISFENCEAPPLEPROC)(GLuint fence);\ntypedef GLboolean (REGAL_CALL *PFNGLTESTFENCEAPPLEPROC)(GLuint fence);\ntypedef GLboolean (REGAL_CALL *PFNGLTESTOBJECTAPPLEPROC)(GLenum object, GLuint name);\ntypedef void (REGAL_CALL *PFNGLDELETEFENCESAPPLEPROC)(GLsizei n, const GLuint *fences);\ntypedef void (REGAL_CALL *PFNGLFINISHFENCEAPPLEPROC)(GLuint fence);\ntypedef void (REGAL_CALL *PFNGLFINISHOBJECTAPPLEPROC)(GLenum object, GLint name);\ntypedef void (REGAL_CALL *PFNGLGENFENCESAPPLEPROC)(GLsizei n, GLuint *fences);\ntypedef void (REGAL_CALL *PFNGLSETFENCEAPPLEPROC)(GLuint fence);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_APPLE_FENCE\n#define glDeleteFencesAPPLE                 rglDeleteFencesAPPLE\n#define glFinishFenceAPPLE                  rglFinishFenceAPPLE\n#define glFinishObjectAPPLE                 rglFinishObjectAPPLE\n#define glGenFencesAPPLE                    rglGenFencesAPPLE\n#define glIsFenceAPPLE                      rglIsFenceAPPLE\n#define glSetFenceAPPLE                     rglSetFenceAPPLE\n#define glTestFenceAPPLE                    rglTestFenceAPPLE\n#define glTestObjectAPPLE                   rglTestObjectAPPLE\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_APPLE_FENCE\nREGAL_DECL GLboolean REGAL_CALL glIsFenceAPPLE(GLuint fence);\nREGAL_DECL GLboolean REGAL_CALL glTestFenceAPPLE(GLuint fence);\nREGAL_DECL GLboolean REGAL_CALL glTestObjectAPPLE(GLenum object, GLuint name);\nREGAL_DECL void REGAL_CALL glDeleteFencesAPPLE(GLsizei n, const GLuint *fences);\nREGAL_DECL void REGAL_CALL glFinishFenceAPPLE(GLuint fence);\nREGAL_DECL void REGAL_CALL glFinishObjectAPPLE(GLenum object, GLint name);\nREGAL_DECL void REGAL_CALL glGenFencesAPPLE(GLsizei n, GLuint *fences);\nREGAL_DECL void REGAL_CALL glSetFenceAPPLE(GLuint fence);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_APPLE_FENCE\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsFenceAPPLE(GLuint fence);\nREGAL_DECL GLboolean REGAL_CALL plugin_glTestFenceAPPLE(GLuint fence);\nREGAL_DECL GLboolean REGAL_CALL plugin_glTestObjectAPPLE(GLenum object, GLuint name);\nREGAL_DECL void REGAL_CALL plugin_glDeleteFencesAPPLE(GLsizei n, const GLuint *fences);\nREGAL_DECL void REGAL_CALL plugin_glFinishFenceAPPLE(GLuint fence);\nREGAL_DECL void REGAL_CALL plugin_glFinishObjectAPPLE(GLenum object, GLint name);\nREGAL_DECL void REGAL_CALL plugin_glGenFencesAPPLE(GLsizei n, GLuint *fences);\nREGAL_DECL void REGAL_CALL plugin_glSetFenceAPPLE(GLuint fence);\n#endif\n\n/**\n ** GL_APPLE_float_pixels\n **/\n\n#if (defined(GL_APPLE_FLOAT_PIXELS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_APPLE_FLOAT_PIXELS)) && !defined(REGAL_NO_ENUM_GL_APPLE_FLOAT_PIXELS)\n#define REGAL_NO_ENUM_GL_APPLE_FLOAT_PIXELS\n#endif\n\n#if (defined(GL_APPLE_FLOAT_PIXELS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_APPLE_FLOAT_PIXELS)) && !defined(REGAL_NO_TYPEDEF_GL_APPLE_FLOAT_PIXELS)\n#define REGAL_NO_TYPEDEF_GL_APPLE_FLOAT_PIXELS\n#endif\n\n#if (defined(GL_APPLE_FLOAT_PIXELS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_APPLE_FLOAT_PIXELS)) && !defined(REGAL_NO_NAMESPACE_GL_APPLE_FLOAT_PIXELS)\n#define REGAL_NO_NAMESPACE_GL_APPLE_FLOAT_PIXELS\n#endif\n\n#if (defined(GL_APPLE_FLOAT_PIXELS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_APPLE_FLOAT_PIXELS)) && !defined(REGAL_NO_PLUGIN_GL_APPLE_FLOAT_PIXELS)\n#define REGAL_NO_PLUGIN_GL_APPLE_FLOAT_PIXELS\n#endif\n\n#if (defined(GL_APPLE_FLOAT_PIXELS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_APPLE_FLOAT_PIXELS)) && !defined(REGAL_NO_DECLARATION_GL_APPLE_FLOAT_PIXELS)\n#define REGAL_NO_DECLARATION_GL_APPLE_FLOAT_PIXELS\n#endif\n\n#ifndef GL_APPLE_float_pixels\n#define GL_APPLE_float_pixels 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_APPLE_FLOAT_PIXELS\n#define GL_HALF_APPLE                    0x140b     /* 5131 */\n#define GL_RGBA_FLOAT32_APPLE            0x8814     /* 34836 */\n#define GL_RGB_FLOAT32_APPLE             0x8815     /* 34837 */\n#define GL_ALPHA_FLOAT32_APPLE           0x8816     /* 34838 */\n#define GL_INTENSITY_FLOAT32_APPLE       0x8817     /* 34839 */\n#define GL_LUMINANCE_FLOAT32_APPLE       0x8818     /* 34840 */\n#define GL_LUMINANCE_ALPHA_FLOAT32_APPLE 0x8819     /* 34841 */\n#define GL_RGBA_FLOAT16_APPLE            0x881a     /* 34842 */\n#define GL_RGB_FLOAT16_APPLE             0x881b     /* 34843 */\n#define GL_ALPHA_FLOAT16_APPLE           0x881c     /* 34844 */\n#define GL_INTENSITY_FLOAT16_APPLE       0x881d     /* 34845 */\n#define GL_LUMINANCE_FLOAT16_APPLE       0x881e     /* 34846 */\n#define GL_LUMINANCE_ALPHA_FLOAT16_APPLE 0x881f     /* 34847 */\n#define GL_COLOR_FLOAT_APPLE             0x8a0f     /* 35343 */\n#endif\n\n/**\n ** GL_APPLE_flush_buffer_range\n **/\n\n#if (defined(GL_APPLE_FLUSH_BUFFER_RANGE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_APPLE_FLUSH_BUFFER_RANGE)) && !defined(REGAL_NO_ENUM_GL_APPLE_FLUSH_BUFFER_RANGE)\n#define REGAL_NO_ENUM_GL_APPLE_FLUSH_BUFFER_RANGE\n#endif\n\n#if (defined(GL_APPLE_FLUSH_BUFFER_RANGE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_APPLE_FLUSH_BUFFER_RANGE)) && !defined(REGAL_NO_TYPEDEF_GL_APPLE_FLUSH_BUFFER_RANGE)\n#define REGAL_NO_TYPEDEF_GL_APPLE_FLUSH_BUFFER_RANGE\n#endif\n\n#if (defined(GL_APPLE_FLUSH_BUFFER_RANGE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_APPLE_FLUSH_BUFFER_RANGE)) && !defined(REGAL_NO_NAMESPACE_GL_APPLE_FLUSH_BUFFER_RANGE)\n#define REGAL_NO_NAMESPACE_GL_APPLE_FLUSH_BUFFER_RANGE\n#endif\n\n#if (defined(GL_APPLE_FLUSH_BUFFER_RANGE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_APPLE_FLUSH_BUFFER_RANGE)) && !defined(REGAL_NO_PLUGIN_GL_APPLE_FLUSH_BUFFER_RANGE)\n#define REGAL_NO_PLUGIN_GL_APPLE_FLUSH_BUFFER_RANGE\n#endif\n\n#if (defined(GL_APPLE_FLUSH_BUFFER_RANGE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_APPLE_FLUSH_BUFFER_RANGE)) && !defined(REGAL_NO_DECLARATION_GL_APPLE_FLUSH_BUFFER_RANGE)\n#define REGAL_NO_DECLARATION_GL_APPLE_FLUSH_BUFFER_RANGE\n#endif\n\n#ifndef GL_APPLE_flush_buffer_range\n#define GL_APPLE_flush_buffer_range 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_APPLE_FLUSH_BUFFER_RANGE\n#define GL_BUFFER_SERIALIZED_MODIFY_APPLE 0x8a12     /* 35346 */\n#define GL_BUFFER_FLUSHING_UNMAP_APPLE    0x8a13     /* 35347 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_APPLE_FLUSH_BUFFER_RANGE\ntypedef void (REGAL_CALL *PFNGLBUFFERPARAMETERIAPPLEPROC)(GLenum target, GLenum pname, GLint param);\ntypedef void (REGAL_CALL *PFNGLFLUSHMAPPEDBUFFERRANGEAPPLEPROC)(GLenum target, GLintptr offset, GLsizeiptr size);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_APPLE_FLUSH_BUFFER_RANGE\n#define glBufferParameteriAPPLE             rglBufferParameteriAPPLE\n#define glFlushMappedBufferRangeAPPLE       rglFlushMappedBufferRangeAPPLE\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_APPLE_FLUSH_BUFFER_RANGE\nREGAL_DECL void REGAL_CALL glBufferParameteriAPPLE(GLenum target, GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL glFlushMappedBufferRangeAPPLE(GLenum target, GLintptr offset, GLsizeiptr size);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_APPLE_FLUSH_BUFFER_RANGE\nREGAL_DECL void REGAL_CALL plugin_glBufferParameteriAPPLE(GLenum target, GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL plugin_glFlushMappedBufferRangeAPPLE(GLenum target, GLintptr offset, GLsizeiptr size);\n#endif\n\n/**\n ** GL_APPLE_flush_render\n **/\n\n#if (defined(GL_APPLE_FLUSH_RENDER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_APPLE_FLUSH_RENDER)) && !defined(REGAL_NO_ENUM_GL_APPLE_FLUSH_RENDER)\n#define REGAL_NO_ENUM_GL_APPLE_FLUSH_RENDER\n#endif\n\n#if (defined(GL_APPLE_FLUSH_RENDER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_APPLE_FLUSH_RENDER)) && !defined(REGAL_NO_TYPEDEF_GL_APPLE_FLUSH_RENDER)\n#define REGAL_NO_TYPEDEF_GL_APPLE_FLUSH_RENDER\n#endif\n\n#if (defined(GL_APPLE_FLUSH_RENDER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_APPLE_FLUSH_RENDER)) && !defined(REGAL_NO_NAMESPACE_GL_APPLE_FLUSH_RENDER)\n#define REGAL_NO_NAMESPACE_GL_APPLE_FLUSH_RENDER\n#endif\n\n#if (defined(GL_APPLE_FLUSH_RENDER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_APPLE_FLUSH_RENDER)) && !defined(REGAL_NO_PLUGIN_GL_APPLE_FLUSH_RENDER)\n#define REGAL_NO_PLUGIN_GL_APPLE_FLUSH_RENDER\n#endif\n\n#if (defined(GL_APPLE_FLUSH_RENDER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_APPLE_FLUSH_RENDER)) && !defined(REGAL_NO_DECLARATION_GL_APPLE_FLUSH_RENDER)\n#define REGAL_NO_DECLARATION_GL_APPLE_FLUSH_RENDER\n#endif\n\n#ifndef GL_APPLE_flush_render\n#define GL_APPLE_flush_render 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_APPLE_FLUSH_RENDER\ntypedef void (REGAL_CALL *PFNGLFINISHRENDERAPPLEPROC)(void);\ntypedef void (REGAL_CALL *PFNGLFLUSHRENDERAPPLEPROC)(void);\ntypedef void (REGAL_CALL *PFNGLSWAPAPPLEPROC)(void);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_APPLE_FLUSH_RENDER\n#define glFinishRenderAPPLE                 rglFinishRenderAPPLE\n#define glFlushRenderAPPLE                  rglFlushRenderAPPLE\n#define glSwapAPPLE                         rglSwapAPPLE\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_APPLE_FLUSH_RENDER\nREGAL_DECL void REGAL_CALL glFinishRenderAPPLE(void);\nREGAL_DECL void REGAL_CALL glFlushRenderAPPLE(void);\nREGAL_DECL void REGAL_CALL glSwapAPPLE(void);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_APPLE_FLUSH_RENDER\nREGAL_DECL void REGAL_CALL plugin_glFinishRenderAPPLE(void);\nREGAL_DECL void REGAL_CALL plugin_glFlushRenderAPPLE(void);\nREGAL_DECL void REGAL_CALL plugin_glSwapAPPLE(void);\n#endif\n\n/**\n ** GL_APPLE_framebuffer_multisample\n **/\n\n#if (defined(GL_APPLE_FRAMEBUFFER_MULTISAMPLE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_APPLE_FRAMEBUFFER_MULTISAMPLE)) && !defined(REGAL_NO_ENUM_GL_APPLE_FRAMEBUFFER_MULTISAMPLE)\n#define REGAL_NO_ENUM_GL_APPLE_FRAMEBUFFER_MULTISAMPLE\n#endif\n\n#if (defined(GL_APPLE_FRAMEBUFFER_MULTISAMPLE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_APPLE_FRAMEBUFFER_MULTISAMPLE)) && !defined(REGAL_NO_TYPEDEF_GL_APPLE_FRAMEBUFFER_MULTISAMPLE)\n#define REGAL_NO_TYPEDEF_GL_APPLE_FRAMEBUFFER_MULTISAMPLE\n#endif\n\n#if (defined(GL_APPLE_FRAMEBUFFER_MULTISAMPLE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_APPLE_FRAMEBUFFER_MULTISAMPLE)) && !defined(REGAL_NO_NAMESPACE_GL_APPLE_FRAMEBUFFER_MULTISAMPLE)\n#define REGAL_NO_NAMESPACE_GL_APPLE_FRAMEBUFFER_MULTISAMPLE\n#endif\n\n#if (defined(GL_APPLE_FRAMEBUFFER_MULTISAMPLE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_APPLE_FRAMEBUFFER_MULTISAMPLE)) && !defined(REGAL_NO_PLUGIN_GL_APPLE_FRAMEBUFFER_MULTISAMPLE)\n#define REGAL_NO_PLUGIN_GL_APPLE_FRAMEBUFFER_MULTISAMPLE\n#endif\n\n#if (defined(GL_APPLE_FRAMEBUFFER_MULTISAMPLE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_APPLE_FRAMEBUFFER_MULTISAMPLE)) && !defined(REGAL_NO_DECLARATION_GL_APPLE_FRAMEBUFFER_MULTISAMPLE)\n#define REGAL_NO_DECLARATION_GL_APPLE_FRAMEBUFFER_MULTISAMPLE\n#endif\n\n#ifndef GL_APPLE_framebuffer_multisample\n#define GL_APPLE_framebuffer_multisample 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_APPLE_FRAMEBUFFER_MULTISAMPLE\n#define GL_DRAW_FRAMEBUFFER_BINDING_APPLE           0x8ca6     /* 36006 */\n#define GL_READ_FRAMEBUFFER_APPLE                   0x8ca8     /* 36008 */\n#define GL_DRAW_FRAMEBUFFER_APPLE                   0x8ca9     /* 36009 */\n#define GL_READ_FRAMEBUFFER_BINDING_APPLE           0x8caa     /* 36010 */\n#define GL_RENDERBUFFER_SAMPLES_APPLE               0x8cab     /* 36011 */\n#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_APPLE 0x8d56     /* 36182 */\n#define GL_MAX_SAMPLES_APPLE                        0x8d57     /* 36183 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_APPLE_FRAMEBUFFER_MULTISAMPLE\ntypedef void (REGAL_CALL *PFNGLRENDERBUFFERSTORAGEMULTISAMPLEAPPLEPROC)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);\ntypedef void (REGAL_CALL *PFNGLRESOLVEMULTISAMPLEFRAMEBUFFERAPPLEPROC)(void);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_APPLE_FRAMEBUFFER_MULTISAMPLE\n#define glRenderbufferStorageMultisampleAPPLE rglRenderbufferStorageMultisampleAPPLE\n#define glResolveMultisampleFramebufferAPPLE rglResolveMultisampleFramebufferAPPLE\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_APPLE_FRAMEBUFFER_MULTISAMPLE\nREGAL_DECL void REGAL_CALL glRenderbufferStorageMultisampleAPPLE(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);\nREGAL_DECL void REGAL_CALL glResolveMultisampleFramebufferAPPLE(void);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_APPLE_FRAMEBUFFER_MULTISAMPLE\nREGAL_DECL void REGAL_CALL plugin_glRenderbufferStorageMultisampleAPPLE(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);\nREGAL_DECL void REGAL_CALL plugin_glResolveMultisampleFramebufferAPPLE(void);\n#endif\n\n/**\n ** GL_APPLE_object_purgeable\n **/\n\n#if (defined(GL_APPLE_OBJECT_PURGEABLE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_APPLE_OBJECT_PURGEABLE)) && !defined(REGAL_NO_ENUM_GL_APPLE_OBJECT_PURGEABLE)\n#define REGAL_NO_ENUM_GL_APPLE_OBJECT_PURGEABLE\n#endif\n\n#if (defined(GL_APPLE_OBJECT_PURGEABLE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_APPLE_OBJECT_PURGEABLE)) && !defined(REGAL_NO_TYPEDEF_GL_APPLE_OBJECT_PURGEABLE)\n#define REGAL_NO_TYPEDEF_GL_APPLE_OBJECT_PURGEABLE\n#endif\n\n#if (defined(GL_APPLE_OBJECT_PURGEABLE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_APPLE_OBJECT_PURGEABLE)) && !defined(REGAL_NO_NAMESPACE_GL_APPLE_OBJECT_PURGEABLE)\n#define REGAL_NO_NAMESPACE_GL_APPLE_OBJECT_PURGEABLE\n#endif\n\n#if (defined(GL_APPLE_OBJECT_PURGEABLE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_APPLE_OBJECT_PURGEABLE)) && !defined(REGAL_NO_PLUGIN_GL_APPLE_OBJECT_PURGEABLE)\n#define REGAL_NO_PLUGIN_GL_APPLE_OBJECT_PURGEABLE\n#endif\n\n#if (defined(GL_APPLE_OBJECT_PURGEABLE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_APPLE_OBJECT_PURGEABLE)) && !defined(REGAL_NO_DECLARATION_GL_APPLE_OBJECT_PURGEABLE)\n#define REGAL_NO_DECLARATION_GL_APPLE_OBJECT_PURGEABLE\n#endif\n\n#ifndef GL_APPLE_object_purgeable\n#define GL_APPLE_object_purgeable 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_APPLE_OBJECT_PURGEABLE\n#define GL_BUFFER_OBJECT_APPLE 0x85b3     /* 34227 */\n#define GL_RELEASED_APPLE      0x8a19     /* 35353 */\n#define GL_VOLATILE_APPLE      0x8a1a     /* 35354 */\n#define GL_RETAINED_APPLE      0x8a1b     /* 35355 */\n#define GL_UNDEFINED_APPLE     0x8a1c     /* 35356 */\n#define GL_PURGEABLE_APPLE     0x8a1d     /* 35357 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_APPLE_OBJECT_PURGEABLE\ntypedef GLenum (REGAL_CALL *PFNGLOBJECTPURGEABLEAPPLEPROC)(GLenum objectType, GLuint name, GLenum option);\ntypedef GLenum (REGAL_CALL *PFNGLOBJECTUNPURGEABLEAPPLEPROC)(GLenum objectType, GLuint name, GLenum option);\ntypedef void (REGAL_CALL *PFNGLGETOBJECTPARAMETERIVAPPLEPROC)(GLenum objectType, GLuint name, GLenum pname, GLint *params);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_APPLE_OBJECT_PURGEABLE\n#define glGetObjectParameterivAPPLE         rglGetObjectParameterivAPPLE\n#define glObjectPurgeableAPPLE              rglObjectPurgeableAPPLE\n#define glObjectUnpurgeableAPPLE            rglObjectUnpurgeableAPPLE\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_APPLE_OBJECT_PURGEABLE\nREGAL_DECL GLenum REGAL_CALL glObjectPurgeableAPPLE(GLenum objectType, GLuint name, GLenum option);\nREGAL_DECL GLenum REGAL_CALL glObjectUnpurgeableAPPLE(GLenum objectType, GLuint name, GLenum option);\nREGAL_DECL void REGAL_CALL glGetObjectParameterivAPPLE(GLenum objectType, GLuint name, GLenum pname, GLint *params);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_APPLE_OBJECT_PURGEABLE\nREGAL_DECL GLenum REGAL_CALL plugin_glObjectPurgeableAPPLE(GLenum objectType, GLuint name, GLenum option);\nREGAL_DECL GLenum REGAL_CALL plugin_glObjectUnpurgeableAPPLE(GLenum objectType, GLuint name, GLenum option);\nREGAL_DECL void REGAL_CALL plugin_glGetObjectParameterivAPPLE(GLenum objectType, GLuint name, GLenum pname, GLint *params);\n#endif\n\n/**\n ** GL_APPLE_pixel_buffer\n **/\n\n#if (defined(GL_APPLE_PIXEL_BUFFER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_APPLE_PIXEL_BUFFER)) && !defined(REGAL_NO_ENUM_GL_APPLE_PIXEL_BUFFER)\n#define REGAL_NO_ENUM_GL_APPLE_PIXEL_BUFFER\n#endif\n\n#if (defined(GL_APPLE_PIXEL_BUFFER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_APPLE_PIXEL_BUFFER)) && !defined(REGAL_NO_TYPEDEF_GL_APPLE_PIXEL_BUFFER)\n#define REGAL_NO_TYPEDEF_GL_APPLE_PIXEL_BUFFER\n#endif\n\n#if (defined(GL_APPLE_PIXEL_BUFFER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_APPLE_PIXEL_BUFFER)) && !defined(REGAL_NO_NAMESPACE_GL_APPLE_PIXEL_BUFFER)\n#define REGAL_NO_NAMESPACE_GL_APPLE_PIXEL_BUFFER\n#endif\n\n#if (defined(GL_APPLE_PIXEL_BUFFER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_APPLE_PIXEL_BUFFER)) && !defined(REGAL_NO_PLUGIN_GL_APPLE_PIXEL_BUFFER)\n#define REGAL_NO_PLUGIN_GL_APPLE_PIXEL_BUFFER\n#endif\n\n#if (defined(GL_APPLE_PIXEL_BUFFER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_APPLE_PIXEL_BUFFER)) && !defined(REGAL_NO_DECLARATION_GL_APPLE_PIXEL_BUFFER)\n#define REGAL_NO_DECLARATION_GL_APPLE_PIXEL_BUFFER\n#endif\n\n#ifndef GL_APPLE_pixel_buffer\n#define GL_APPLE_pixel_buffer 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_APPLE_PIXEL_BUFFER\n#define GL_MIN_PBUFFER_VIEWPORT_DIMS_APPLE 0x8a10 /* 35344 */\n#endif\n\n/**\n ** GL_APPLE_rgb_422\n **/\n\n#if (defined(GL_APPLE_RGB_422) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_APPLE_RGB_422)) && !defined(REGAL_NO_ENUM_GL_APPLE_RGB_422)\n#define REGAL_NO_ENUM_GL_APPLE_RGB_422\n#endif\n\n#if (defined(GL_APPLE_RGB_422) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_APPLE_RGB_422)) && !defined(REGAL_NO_TYPEDEF_GL_APPLE_RGB_422)\n#define REGAL_NO_TYPEDEF_GL_APPLE_RGB_422\n#endif\n\n#if (defined(GL_APPLE_RGB_422) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_APPLE_RGB_422)) && !defined(REGAL_NO_NAMESPACE_GL_APPLE_RGB_422)\n#define REGAL_NO_NAMESPACE_GL_APPLE_RGB_422\n#endif\n\n#if (defined(GL_APPLE_RGB_422) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_APPLE_RGB_422)) && !defined(REGAL_NO_PLUGIN_GL_APPLE_RGB_422)\n#define REGAL_NO_PLUGIN_GL_APPLE_RGB_422\n#endif\n\n#if (defined(GL_APPLE_RGB_422) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_APPLE_RGB_422)) && !defined(REGAL_NO_DECLARATION_GL_APPLE_RGB_422)\n#define REGAL_NO_DECLARATION_GL_APPLE_RGB_422\n#endif\n\n#ifndef GL_APPLE_rgb_422\n#define GL_APPLE_rgb_422 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_APPLE_RGB_422\n#define GL_RGB_422_APPLE 0x8a1f /* 35359 */\n#endif\n\n/**\n ** GL_APPLE_row_bytes\n **/\n\n#if (defined(GL_APPLE_ROW_BYTES) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_APPLE_ROW_BYTES)) && !defined(REGAL_NO_ENUM_GL_APPLE_ROW_BYTES)\n#define REGAL_NO_ENUM_GL_APPLE_ROW_BYTES\n#endif\n\n#if (defined(GL_APPLE_ROW_BYTES) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_APPLE_ROW_BYTES)) && !defined(REGAL_NO_TYPEDEF_GL_APPLE_ROW_BYTES)\n#define REGAL_NO_TYPEDEF_GL_APPLE_ROW_BYTES\n#endif\n\n#if (defined(GL_APPLE_ROW_BYTES) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_APPLE_ROW_BYTES)) && !defined(REGAL_NO_NAMESPACE_GL_APPLE_ROW_BYTES)\n#define REGAL_NO_NAMESPACE_GL_APPLE_ROW_BYTES\n#endif\n\n#if (defined(GL_APPLE_ROW_BYTES) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_APPLE_ROW_BYTES)) && !defined(REGAL_NO_PLUGIN_GL_APPLE_ROW_BYTES)\n#define REGAL_NO_PLUGIN_GL_APPLE_ROW_BYTES\n#endif\n\n#if (defined(GL_APPLE_ROW_BYTES) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_APPLE_ROW_BYTES)) && !defined(REGAL_NO_DECLARATION_GL_APPLE_ROW_BYTES)\n#define REGAL_NO_DECLARATION_GL_APPLE_ROW_BYTES\n#endif\n\n#ifndef GL_APPLE_row_bytes\n#define GL_APPLE_row_bytes 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_APPLE_ROW_BYTES\n#define GL_PACK_ROW_BYTES_APPLE   0x8a15     /* 35349 */\n#define GL_UNPACK_ROW_BYTES_APPLE 0x8a16     /* 35350 */\n#endif\n\n/**\n ** GL_APPLE_specular_vector\n **/\n\n#if (defined(GL_APPLE_SPECULAR_VECTOR) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_APPLE_SPECULAR_VECTOR)) && !defined(REGAL_NO_ENUM_GL_APPLE_SPECULAR_VECTOR)\n#define REGAL_NO_ENUM_GL_APPLE_SPECULAR_VECTOR\n#endif\n\n#if (defined(GL_APPLE_SPECULAR_VECTOR) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_APPLE_SPECULAR_VECTOR)) && !defined(REGAL_NO_TYPEDEF_GL_APPLE_SPECULAR_VECTOR)\n#define REGAL_NO_TYPEDEF_GL_APPLE_SPECULAR_VECTOR\n#endif\n\n#if (defined(GL_APPLE_SPECULAR_VECTOR) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_APPLE_SPECULAR_VECTOR)) && !defined(REGAL_NO_NAMESPACE_GL_APPLE_SPECULAR_VECTOR)\n#define REGAL_NO_NAMESPACE_GL_APPLE_SPECULAR_VECTOR\n#endif\n\n#if (defined(GL_APPLE_SPECULAR_VECTOR) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_APPLE_SPECULAR_VECTOR)) && !defined(REGAL_NO_PLUGIN_GL_APPLE_SPECULAR_VECTOR)\n#define REGAL_NO_PLUGIN_GL_APPLE_SPECULAR_VECTOR\n#endif\n\n#if (defined(GL_APPLE_SPECULAR_VECTOR) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_APPLE_SPECULAR_VECTOR)) && !defined(REGAL_NO_DECLARATION_GL_APPLE_SPECULAR_VECTOR)\n#define REGAL_NO_DECLARATION_GL_APPLE_SPECULAR_VECTOR\n#endif\n\n#ifndef GL_APPLE_specular_vector\n#define GL_APPLE_specular_vector 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_APPLE_SPECULAR_VECTOR\n#define GL_LIGHT_MODEL_SPECULAR_VECTOR_APPLE 0x85b0 /* 34224 */\n#endif\n\n/**\n ** GL_APPLE_sync\n **/\n\n#if (defined(GL_APPLE_SYNC) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_APPLE_SYNC)) && !defined(REGAL_NO_ENUM_GL_APPLE_SYNC)\n#define REGAL_NO_ENUM_GL_APPLE_SYNC\n#endif\n\n#if (defined(GL_APPLE_SYNC) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_APPLE_SYNC)) && !defined(REGAL_NO_TYPEDEF_GL_APPLE_SYNC)\n#define REGAL_NO_TYPEDEF_GL_APPLE_SYNC\n#endif\n\n#if (defined(GL_APPLE_SYNC) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_APPLE_SYNC)) && !defined(REGAL_NO_NAMESPACE_GL_APPLE_SYNC)\n#define REGAL_NO_NAMESPACE_GL_APPLE_SYNC\n#endif\n\n#if (defined(GL_APPLE_SYNC) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_APPLE_SYNC)) && !defined(REGAL_NO_PLUGIN_GL_APPLE_SYNC)\n#define REGAL_NO_PLUGIN_GL_APPLE_SYNC\n#endif\n\n#if (defined(GL_APPLE_SYNC) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_APPLE_SYNC)) && !defined(REGAL_NO_DECLARATION_GL_APPLE_SYNC)\n#define REGAL_NO_DECLARATION_GL_APPLE_SYNC\n#endif\n\n#ifndef GL_APPLE_sync\n#define GL_APPLE_sync 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_APPLE_SYNC\n#define GL_SYNC_FLUSH_COMMANDS_BIT_APPLE    0x1\n#define GL_SYNC_OBJECT_APPLE                0x8a53                 /* 35411 */\n#define GL_MAX_SERVER_WAIT_TIMEOUT_APPLE    0x9111                 /* 37137 */\n#define GL_OBJECT_TYPE_APPLE                0x9112                 /* 37138 */\n#define GL_SYNC_CONDITION_APPLE             0x9113                 /* 37139 */\n#define GL_SYNC_STATUS_APPLE                0x9114                 /* 37140 */\n#define GL_SYNC_FLAGS_APPLE                 0x9115                 /* 37141 */\n#define GL_SYNC_FENCE_APPLE                 0x9116                 /* 37142 */\n#define GL_SYNC_GPU_COMMANDS_COMPLETE_APPLE 0x9117                 /* 37143 */\n#define GL_UNSIGNALED_APPLE                 0x9118                 /* 37144 */\n#define GL_SIGNALED_APPLE                   0x9119                 /* 37145 */\n#define GL_ALREADY_SIGNALED_APPLE           0x911a                 /* 37146 */\n#define GL_TIMEOUT_EXPIRED_APPLE            0x911b                 /* 37147 */\n#define GL_CONDITION_SATISFIED_APPLE        0x911c                 /* 37148 */\n#define GL_WAIT_FAILED_APPLE                0x911d                 /* 37149 */\n#define GL_TIMEOUT_IGNORED_APPLE            0xffffffffffffffff     /* 18446744073709551615 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_APPLE_SYNC\ntypedef GLboolean (REGAL_CALL *PFNGLISSYNCAPPLEPROC)(GLsync sync);\ntypedef GLenum (REGAL_CALL *PFNGLCLIENTWAITSYNCAPPLEPROC)(GLsync sync, GLbitfield flags, GLuint64 timeout);\ntypedef GLsync (REGAL_CALL *PFNGLFENCESYNCAPPLEPROC)(GLenum condition, GLbitfield flags);\ntypedef void (REGAL_CALL *PFNGLDELETESYNCAPPLEPROC)(GLsync sync);\ntypedef void (REGAL_CALL *PFNGLGETINTEGER64VAPPLEPROC)(GLenum pname, GLint64 *params);\ntypedef void (REGAL_CALL *PFNGLGETSYNCIVAPPLEPROC)(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);\ntypedef void (REGAL_CALL *PFNGLWAITSYNCAPPLEPROC)(GLsync sync, GLbitfield flags, GLuint64 timeout);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_APPLE_SYNC\n#define glClientWaitSyncAPPLE               rglClientWaitSyncAPPLE\n#define glDeleteSyncAPPLE                   rglDeleteSyncAPPLE\n#define glFenceSyncAPPLE                    rglFenceSyncAPPLE\n#define glGetInteger64vAPPLE                rglGetInteger64vAPPLE\n#define glGetSyncivAPPLE                    rglGetSyncivAPPLE\n#define glIsSyncAPPLE                       rglIsSyncAPPLE\n#define glWaitSyncAPPLE                     rglWaitSyncAPPLE\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_APPLE_SYNC\nREGAL_DECL GLboolean REGAL_CALL glIsSyncAPPLE(GLsync sync);\nREGAL_DECL GLenum REGAL_CALL glClientWaitSyncAPPLE(GLsync sync, GLbitfield flags, GLuint64 timeout);\nREGAL_DECL GLsync REGAL_CALL glFenceSyncAPPLE(GLenum condition, GLbitfield flags);\nREGAL_DECL void REGAL_CALL glDeleteSyncAPPLE(GLsync sync);\nREGAL_DECL void REGAL_CALL glGetInteger64vAPPLE(GLenum pname, GLint64 *params);\nREGAL_DECL void REGAL_CALL glGetSyncivAPPLE(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);\nREGAL_DECL void REGAL_CALL glWaitSyncAPPLE(GLsync sync, GLbitfield flags, GLuint64 timeout);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_APPLE_SYNC\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsSyncAPPLE(GLsync sync);\nREGAL_DECL GLenum REGAL_CALL plugin_glClientWaitSyncAPPLE(GLsync sync, GLbitfield flags, GLuint64 timeout);\nREGAL_DECL GLsync REGAL_CALL plugin_glFenceSyncAPPLE(GLenum condition, GLbitfield flags);\nREGAL_DECL void REGAL_CALL plugin_glDeleteSyncAPPLE(GLsync sync);\nREGAL_DECL void REGAL_CALL plugin_glGetInteger64vAPPLE(GLenum pname, GLint64 *params);\nREGAL_DECL void REGAL_CALL plugin_glGetSyncivAPPLE(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);\nREGAL_DECL void REGAL_CALL plugin_glWaitSyncAPPLE(GLsync sync, GLbitfield flags, GLuint64 timeout);\n#endif\n\n/**\n ** GL_APPLE_texture_max_level\n **/\n\n#if (defined(GL_APPLE_TEXTURE_MAX_LEVEL) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_APPLE_TEXTURE_MAX_LEVEL)) && !defined(REGAL_NO_ENUM_GL_APPLE_TEXTURE_MAX_LEVEL)\n#define REGAL_NO_ENUM_GL_APPLE_TEXTURE_MAX_LEVEL\n#endif\n\n#if (defined(GL_APPLE_TEXTURE_MAX_LEVEL) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_APPLE_TEXTURE_MAX_LEVEL)) && !defined(REGAL_NO_TYPEDEF_GL_APPLE_TEXTURE_MAX_LEVEL)\n#define REGAL_NO_TYPEDEF_GL_APPLE_TEXTURE_MAX_LEVEL\n#endif\n\n#if (defined(GL_APPLE_TEXTURE_MAX_LEVEL) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_APPLE_TEXTURE_MAX_LEVEL)) && !defined(REGAL_NO_NAMESPACE_GL_APPLE_TEXTURE_MAX_LEVEL)\n#define REGAL_NO_NAMESPACE_GL_APPLE_TEXTURE_MAX_LEVEL\n#endif\n\n#if (defined(GL_APPLE_TEXTURE_MAX_LEVEL) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_APPLE_TEXTURE_MAX_LEVEL)) && !defined(REGAL_NO_PLUGIN_GL_APPLE_TEXTURE_MAX_LEVEL)\n#define REGAL_NO_PLUGIN_GL_APPLE_TEXTURE_MAX_LEVEL\n#endif\n\n#if (defined(GL_APPLE_TEXTURE_MAX_LEVEL) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_APPLE_TEXTURE_MAX_LEVEL)) && !defined(REGAL_NO_DECLARATION_GL_APPLE_TEXTURE_MAX_LEVEL)\n#define REGAL_NO_DECLARATION_GL_APPLE_TEXTURE_MAX_LEVEL\n#endif\n\n#ifndef GL_APPLE_texture_max_level\n#define GL_APPLE_texture_max_level 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_APPLE_TEXTURE_MAX_LEVEL\n#define GL_TEXTURE_MAX_LEVEL_APPLE 0x813d /* 33085 */\n#endif\n\n/**\n ** GL_APPLE_texture_range\n **/\n\n#if (defined(GL_APPLE_TEXTURE_RANGE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_APPLE_TEXTURE_RANGE)) && !defined(REGAL_NO_ENUM_GL_APPLE_TEXTURE_RANGE)\n#define REGAL_NO_ENUM_GL_APPLE_TEXTURE_RANGE\n#endif\n\n#if (defined(GL_APPLE_TEXTURE_RANGE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_APPLE_TEXTURE_RANGE)) && !defined(REGAL_NO_TYPEDEF_GL_APPLE_TEXTURE_RANGE)\n#define REGAL_NO_TYPEDEF_GL_APPLE_TEXTURE_RANGE\n#endif\n\n#if (defined(GL_APPLE_TEXTURE_RANGE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_APPLE_TEXTURE_RANGE)) && !defined(REGAL_NO_NAMESPACE_GL_APPLE_TEXTURE_RANGE)\n#define REGAL_NO_NAMESPACE_GL_APPLE_TEXTURE_RANGE\n#endif\n\n#if (defined(GL_APPLE_TEXTURE_RANGE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_APPLE_TEXTURE_RANGE)) && !defined(REGAL_NO_PLUGIN_GL_APPLE_TEXTURE_RANGE)\n#define REGAL_NO_PLUGIN_GL_APPLE_TEXTURE_RANGE\n#endif\n\n#if (defined(GL_APPLE_TEXTURE_RANGE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_APPLE_TEXTURE_RANGE)) && !defined(REGAL_NO_DECLARATION_GL_APPLE_TEXTURE_RANGE)\n#define REGAL_NO_DECLARATION_GL_APPLE_TEXTURE_RANGE\n#endif\n\n#ifndef GL_APPLE_texture_range\n#define GL_APPLE_texture_range 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_APPLE_TEXTURE_RANGE\n#define GL_TEXTURE_RANGE_LENGTH_APPLE  0x85b7     /* 34231 */\n#define GL_TEXTURE_RANGE_POINTER_APPLE 0x85b8     /* 34232 */\n#define GL_TEXTURE_STORAGE_HINT_APPLE  0x85bc     /* 34236 */\n#define GL_STORAGE_PRIVATE_APPLE       0x85bd     /* 34237 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_APPLE_TEXTURE_RANGE\ntypedef void (REGAL_CALL *PFNGLGETTEXPARAMETERPOINTERVAPPLEPROC)(GLenum target, GLenum pname, GLvoid **params);\ntypedef void (REGAL_CALL *PFNGLTEXTURERANGEAPPLEPROC)(GLenum target, GLsizei length, const GLvoid *pointer);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_APPLE_TEXTURE_RANGE\n#define glGetTexParameterPointervAPPLE      rglGetTexParameterPointervAPPLE\n#define glTextureRangeAPPLE                 rglTextureRangeAPPLE\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_APPLE_TEXTURE_RANGE\nREGAL_DECL void REGAL_CALL glGetTexParameterPointervAPPLE(GLenum target, GLenum pname, GLvoid **params);\nREGAL_DECL void REGAL_CALL glTextureRangeAPPLE(GLenum target, GLsizei length, const GLvoid *pointer);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_APPLE_TEXTURE_RANGE\nREGAL_DECL void REGAL_CALL plugin_glGetTexParameterPointervAPPLE(GLenum target, GLenum pname, GLvoid **params);\nREGAL_DECL void REGAL_CALL plugin_glTextureRangeAPPLE(GLenum target, GLsizei length, const GLvoid *pointer);\n#endif\n\n/**\n ** GL_APPLE_transform_hint\n **/\n\n#if (defined(GL_APPLE_TRANSFORM_HINT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_APPLE_TRANSFORM_HINT)) && !defined(REGAL_NO_ENUM_GL_APPLE_TRANSFORM_HINT)\n#define REGAL_NO_ENUM_GL_APPLE_TRANSFORM_HINT\n#endif\n\n#if (defined(GL_APPLE_TRANSFORM_HINT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_APPLE_TRANSFORM_HINT)) && !defined(REGAL_NO_TYPEDEF_GL_APPLE_TRANSFORM_HINT)\n#define REGAL_NO_TYPEDEF_GL_APPLE_TRANSFORM_HINT\n#endif\n\n#if (defined(GL_APPLE_TRANSFORM_HINT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_APPLE_TRANSFORM_HINT)) && !defined(REGAL_NO_NAMESPACE_GL_APPLE_TRANSFORM_HINT)\n#define REGAL_NO_NAMESPACE_GL_APPLE_TRANSFORM_HINT\n#endif\n\n#if (defined(GL_APPLE_TRANSFORM_HINT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_APPLE_TRANSFORM_HINT)) && !defined(REGAL_NO_PLUGIN_GL_APPLE_TRANSFORM_HINT)\n#define REGAL_NO_PLUGIN_GL_APPLE_TRANSFORM_HINT\n#endif\n\n#if (defined(GL_APPLE_TRANSFORM_HINT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_APPLE_TRANSFORM_HINT)) && !defined(REGAL_NO_DECLARATION_GL_APPLE_TRANSFORM_HINT)\n#define REGAL_NO_DECLARATION_GL_APPLE_TRANSFORM_HINT\n#endif\n\n#ifndef GL_APPLE_transform_hint\n#define GL_APPLE_transform_hint 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_APPLE_TRANSFORM_HINT\n#define GL_TRANSFORM_HINT_APPLE 0x85b1 /* 34225 */\n#endif\n\n/**\n ** GL_APPLE_vertex_array_object\n **/\n\n#if (defined(GL_APPLE_VERTEX_ARRAY_OBJECT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_APPLE_VERTEX_ARRAY_OBJECT)) && !defined(REGAL_NO_ENUM_GL_APPLE_VERTEX_ARRAY_OBJECT)\n#define REGAL_NO_ENUM_GL_APPLE_VERTEX_ARRAY_OBJECT\n#endif\n\n#if (defined(GL_APPLE_VERTEX_ARRAY_OBJECT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_APPLE_VERTEX_ARRAY_OBJECT)) && !defined(REGAL_NO_TYPEDEF_GL_APPLE_VERTEX_ARRAY_OBJECT)\n#define REGAL_NO_TYPEDEF_GL_APPLE_VERTEX_ARRAY_OBJECT\n#endif\n\n#if (defined(GL_APPLE_VERTEX_ARRAY_OBJECT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_APPLE_VERTEX_ARRAY_OBJECT)) && !defined(REGAL_NO_NAMESPACE_GL_APPLE_VERTEX_ARRAY_OBJECT)\n#define REGAL_NO_NAMESPACE_GL_APPLE_VERTEX_ARRAY_OBJECT\n#endif\n\n#if (defined(GL_APPLE_VERTEX_ARRAY_OBJECT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_APPLE_VERTEX_ARRAY_OBJECT)) && !defined(REGAL_NO_PLUGIN_GL_APPLE_VERTEX_ARRAY_OBJECT)\n#define REGAL_NO_PLUGIN_GL_APPLE_VERTEX_ARRAY_OBJECT\n#endif\n\n#if (defined(GL_APPLE_VERTEX_ARRAY_OBJECT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_APPLE_VERTEX_ARRAY_OBJECT)) && !defined(REGAL_NO_DECLARATION_GL_APPLE_VERTEX_ARRAY_OBJECT)\n#define REGAL_NO_DECLARATION_GL_APPLE_VERTEX_ARRAY_OBJECT\n#endif\n\n#ifndef GL_APPLE_vertex_array_object\n#define GL_APPLE_vertex_array_object 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_APPLE_VERTEX_ARRAY_OBJECT\n#define GL_VERTEX_ARRAY_BINDING_APPLE 0x85b5 /* 34229 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_APPLE_VERTEX_ARRAY_OBJECT\ntypedef GLboolean (REGAL_CALL *PFNGLISVERTEXARRAYAPPLEPROC)(GLuint array);\ntypedef void (REGAL_CALL *PFNGLBINDVERTEXARRAYAPPLEPROC)(GLuint array);\ntypedef void (REGAL_CALL *PFNGLDELETEVERTEXARRAYSAPPLEPROC)(GLsizei n, const GLuint *arrays);\ntypedef void (REGAL_CALL *PFNGLGENVERTEXARRAYSAPPLEPROC)(GLsizei n, GLuint *arrays);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_APPLE_VERTEX_ARRAY_OBJECT\n#define glBindVertexArrayAPPLE              rglBindVertexArrayAPPLE\n#define glDeleteVertexArraysAPPLE           rglDeleteVertexArraysAPPLE\n#define glGenVertexArraysAPPLE              rglGenVertexArraysAPPLE\n#define glIsVertexArrayAPPLE                rglIsVertexArrayAPPLE\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_APPLE_VERTEX_ARRAY_OBJECT\nREGAL_DECL GLboolean REGAL_CALL glIsVertexArrayAPPLE(GLuint array);\nREGAL_DECL void REGAL_CALL glBindVertexArrayAPPLE(GLuint array);\nREGAL_DECL void REGAL_CALL glDeleteVertexArraysAPPLE(GLsizei n, const GLuint *arrays);\nREGAL_DECL void REGAL_CALL glGenVertexArraysAPPLE(GLsizei n, GLuint *arrays);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_APPLE_VERTEX_ARRAY_OBJECT\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsVertexArrayAPPLE(GLuint array);\nREGAL_DECL void REGAL_CALL plugin_glBindVertexArrayAPPLE(GLuint array);\nREGAL_DECL void REGAL_CALL plugin_glDeleteVertexArraysAPPLE(GLsizei n, const GLuint *arrays);\nREGAL_DECL void REGAL_CALL plugin_glGenVertexArraysAPPLE(GLsizei n, GLuint *arrays);\n#endif\n\n/**\n ** GL_APPLE_vertex_array_range\n **/\n\n#if (defined(GL_APPLE_VERTEX_ARRAY_RANGE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_APPLE_VERTEX_ARRAY_RANGE)) && !defined(REGAL_NO_ENUM_GL_APPLE_VERTEX_ARRAY_RANGE)\n#define REGAL_NO_ENUM_GL_APPLE_VERTEX_ARRAY_RANGE\n#endif\n\n#if (defined(GL_APPLE_VERTEX_ARRAY_RANGE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_APPLE_VERTEX_ARRAY_RANGE)) && !defined(REGAL_NO_TYPEDEF_GL_APPLE_VERTEX_ARRAY_RANGE)\n#define REGAL_NO_TYPEDEF_GL_APPLE_VERTEX_ARRAY_RANGE\n#endif\n\n#if (defined(GL_APPLE_VERTEX_ARRAY_RANGE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_APPLE_VERTEX_ARRAY_RANGE)) && !defined(REGAL_NO_NAMESPACE_GL_APPLE_VERTEX_ARRAY_RANGE)\n#define REGAL_NO_NAMESPACE_GL_APPLE_VERTEX_ARRAY_RANGE\n#endif\n\n#if (defined(GL_APPLE_VERTEX_ARRAY_RANGE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_APPLE_VERTEX_ARRAY_RANGE)) && !defined(REGAL_NO_PLUGIN_GL_APPLE_VERTEX_ARRAY_RANGE)\n#define REGAL_NO_PLUGIN_GL_APPLE_VERTEX_ARRAY_RANGE\n#endif\n\n#if (defined(GL_APPLE_VERTEX_ARRAY_RANGE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_APPLE_VERTEX_ARRAY_RANGE)) && !defined(REGAL_NO_DECLARATION_GL_APPLE_VERTEX_ARRAY_RANGE)\n#define REGAL_NO_DECLARATION_GL_APPLE_VERTEX_ARRAY_RANGE\n#endif\n\n#ifndef GL_APPLE_vertex_array_range\n#define GL_APPLE_vertex_array_range 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_APPLE_VERTEX_ARRAY_RANGE\n#define GL_VERTEX_ARRAY_RANGE_APPLE             0x851d     /* 34077 */\n#define GL_VERTEX_ARRAY_RANGE_LENGTH_APPLE      0x851e     /* 34078 */\n#define GL_VERTEX_ARRAY_STORAGE_HINT_APPLE      0x851f     /* 34079 */\n#define GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_APPLE 0x8520     /* 34080 */\n#define GL_VERTEX_ARRAY_RANGE_POINTER_APPLE     0x8521     /* 34081 */\n#define GL_STORAGE_CLIENT_APPLE                 0x85b4     /* 34228 */\n#define GL_STORAGE_CACHED_APPLE                 0x85be     /* 34238 */\n#define GL_STORAGE_SHARED_APPLE                 0x85bf     /* 34239 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_APPLE_VERTEX_ARRAY_RANGE\ntypedef void (REGAL_CALL *PFNGLFLUSHVERTEXARRAYRANGEAPPLEPROC)(GLsizei length, GLvoid *pointer);\ntypedef void (REGAL_CALL *PFNGLVERTEXARRAYPARAMETERIAPPLEPROC)(GLenum pname, GLint param);\ntypedef void (REGAL_CALL *PFNGLVERTEXARRAYRANGEAPPLEPROC)(GLsizei length, GLvoid *pointer);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_APPLE_VERTEX_ARRAY_RANGE\n#define glFlushVertexArrayRangeAPPLE        rglFlushVertexArrayRangeAPPLE\n#define glVertexArrayParameteriAPPLE        rglVertexArrayParameteriAPPLE\n#define glVertexArrayRangeAPPLE             rglVertexArrayRangeAPPLE\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_APPLE_VERTEX_ARRAY_RANGE\nREGAL_DECL void REGAL_CALL glFlushVertexArrayRangeAPPLE(GLsizei length, GLvoid *pointer);\nREGAL_DECL void REGAL_CALL glVertexArrayParameteriAPPLE(GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL glVertexArrayRangeAPPLE(GLsizei length, GLvoid *pointer);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_APPLE_VERTEX_ARRAY_RANGE\nREGAL_DECL void REGAL_CALL plugin_glFlushVertexArrayRangeAPPLE(GLsizei length, GLvoid *pointer);\nREGAL_DECL void REGAL_CALL plugin_glVertexArrayParameteriAPPLE(GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL plugin_glVertexArrayRangeAPPLE(GLsizei length, GLvoid *pointer);\n#endif\n\n/**\n ** GL_APPLE_vertex_program_evaluators\n **/\n\n#if (defined(GL_APPLE_VERTEX_PROGRAM_EVALUATORS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_APPLE_VERTEX_PROGRAM_EVALUATORS)) && !defined(REGAL_NO_ENUM_GL_APPLE_VERTEX_PROGRAM_EVALUATORS)\n#define REGAL_NO_ENUM_GL_APPLE_VERTEX_PROGRAM_EVALUATORS\n#endif\n\n#if (defined(GL_APPLE_VERTEX_PROGRAM_EVALUATORS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_APPLE_VERTEX_PROGRAM_EVALUATORS)) && !defined(REGAL_NO_TYPEDEF_GL_APPLE_VERTEX_PROGRAM_EVALUATORS)\n#define REGAL_NO_TYPEDEF_GL_APPLE_VERTEX_PROGRAM_EVALUATORS\n#endif\n\n#if (defined(GL_APPLE_VERTEX_PROGRAM_EVALUATORS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_APPLE_VERTEX_PROGRAM_EVALUATORS)) && !defined(REGAL_NO_NAMESPACE_GL_APPLE_VERTEX_PROGRAM_EVALUATORS)\n#define REGAL_NO_NAMESPACE_GL_APPLE_VERTEX_PROGRAM_EVALUATORS\n#endif\n\n#if (defined(GL_APPLE_VERTEX_PROGRAM_EVALUATORS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_APPLE_VERTEX_PROGRAM_EVALUATORS)) && !defined(REGAL_NO_PLUGIN_GL_APPLE_VERTEX_PROGRAM_EVALUATORS)\n#define REGAL_NO_PLUGIN_GL_APPLE_VERTEX_PROGRAM_EVALUATORS\n#endif\n\n#if (defined(GL_APPLE_VERTEX_PROGRAM_EVALUATORS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_APPLE_VERTEX_PROGRAM_EVALUATORS)) && !defined(REGAL_NO_DECLARATION_GL_APPLE_VERTEX_PROGRAM_EVALUATORS)\n#define REGAL_NO_DECLARATION_GL_APPLE_VERTEX_PROGRAM_EVALUATORS\n#endif\n\n#ifndef GL_APPLE_vertex_program_evaluators\n#define GL_APPLE_vertex_program_evaluators 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_APPLE_VERTEX_PROGRAM_EVALUATORS\n#define GL_VERTEX_ATTRIB_MAP1_APPLE        0x8a00     /* 35328 */\n#define GL_VERTEX_ATTRIB_MAP2_APPLE        0x8a01     /* 35329 */\n#define GL_VERTEX_ATTRIB_MAP1_SIZE_APPLE   0x8a02     /* 35330 */\n#define GL_VERTEX_ATTRIB_MAP1_COEFF_APPLE  0x8a03     /* 35331 */\n#define GL_VERTEX_ATTRIB_MAP1_ORDER_APPLE  0x8a04     /* 35332 */\n#define GL_VERTEX_ATTRIB_MAP1_DOMAIN_APPLE 0x8a05     /* 35333 */\n#define GL_VERTEX_ATTRIB_MAP2_SIZE_APPLE   0x8a06     /* 35334 */\n#define GL_VERTEX_ATTRIB_MAP2_COEFF_APPLE  0x8a07     /* 35335 */\n#define GL_VERTEX_ATTRIB_MAP2_ORDER_APPLE  0x8a08     /* 35336 */\n#define GL_VERTEX_ATTRIB_MAP2_DOMAIN_APPLE 0x8a09     /* 35337 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_APPLE_VERTEX_PROGRAM_EVALUATORS\ntypedef GLboolean (REGAL_CALL *PFNGLISVERTEXATTRIBENABLEDAPPLEPROC)(GLuint index, GLenum pname);\ntypedef void (REGAL_CALL *PFNGLDISABLEVERTEXATTRIBAPPLEPROC)(GLuint index, GLenum pname);\ntypedef void (REGAL_CALL *PFNGLENABLEVERTEXATTRIBAPPLEPROC)(GLuint index, GLenum pname);\ntypedef void (REGAL_CALL *PFNGLMAPVERTEXATTRIB1DAPPLEPROC)(GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points);\ntypedef void (REGAL_CALL *PFNGLMAPVERTEXATTRIB1FAPPLEPROC)(GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points);\ntypedef void (REGAL_CALL *PFNGLMAPVERTEXATTRIB2DAPPLEPROC)(GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points);\ntypedef void (REGAL_CALL *PFNGLMAPVERTEXATTRIB2FAPPLEPROC)(GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_APPLE_VERTEX_PROGRAM_EVALUATORS\n#define glDisableVertexAttribAPPLE          rglDisableVertexAttribAPPLE\n#define glEnableVertexAttribAPPLE           rglEnableVertexAttribAPPLE\n#define glIsVertexAttribEnabledAPPLE        rglIsVertexAttribEnabledAPPLE\n#define glMapVertexAttrib1dAPPLE            rglMapVertexAttrib1dAPPLE\n#define glMapVertexAttrib1fAPPLE            rglMapVertexAttrib1fAPPLE\n#define glMapVertexAttrib2dAPPLE            rglMapVertexAttrib2dAPPLE\n#define glMapVertexAttrib2fAPPLE            rglMapVertexAttrib2fAPPLE\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_APPLE_VERTEX_PROGRAM_EVALUATORS\nREGAL_DECL GLboolean REGAL_CALL glIsVertexAttribEnabledAPPLE(GLuint index, GLenum pname);\nREGAL_DECL void REGAL_CALL glDisableVertexAttribAPPLE(GLuint index, GLenum pname);\nREGAL_DECL void REGAL_CALL glEnableVertexAttribAPPLE(GLuint index, GLenum pname);\nREGAL_DECL void REGAL_CALL glMapVertexAttrib1dAPPLE(GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points);\nREGAL_DECL void REGAL_CALL glMapVertexAttrib1fAPPLE(GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points);\nREGAL_DECL void REGAL_CALL glMapVertexAttrib2dAPPLE(GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points);\nREGAL_DECL void REGAL_CALL glMapVertexAttrib2fAPPLE(GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_APPLE_VERTEX_PROGRAM_EVALUATORS\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsVertexAttribEnabledAPPLE(GLuint index, GLenum pname);\nREGAL_DECL void REGAL_CALL plugin_glDisableVertexAttribAPPLE(GLuint index, GLenum pname);\nREGAL_DECL void REGAL_CALL plugin_glEnableVertexAttribAPPLE(GLuint index, GLenum pname);\nREGAL_DECL void REGAL_CALL plugin_glMapVertexAttrib1dAPPLE(GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points);\nREGAL_DECL void REGAL_CALL plugin_glMapVertexAttrib1fAPPLE(GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points);\nREGAL_DECL void REGAL_CALL plugin_glMapVertexAttrib2dAPPLE(GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points);\nREGAL_DECL void REGAL_CALL plugin_glMapVertexAttrib2fAPPLE(GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points);\n#endif\n\n/**\n ** GL_APPLE_ycbcr_422\n **/\n\n#if (defined(GL_APPLE_YCBCR_422) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_APPLE_YCBCR_422)) && !defined(REGAL_NO_ENUM_GL_APPLE_YCBCR_422)\n#define REGAL_NO_ENUM_GL_APPLE_YCBCR_422\n#endif\n\n#if (defined(GL_APPLE_YCBCR_422) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_APPLE_YCBCR_422)) && !defined(REGAL_NO_TYPEDEF_GL_APPLE_YCBCR_422)\n#define REGAL_NO_TYPEDEF_GL_APPLE_YCBCR_422\n#endif\n\n#if (defined(GL_APPLE_YCBCR_422) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_APPLE_YCBCR_422)) && !defined(REGAL_NO_NAMESPACE_GL_APPLE_YCBCR_422)\n#define REGAL_NO_NAMESPACE_GL_APPLE_YCBCR_422\n#endif\n\n#if (defined(GL_APPLE_YCBCR_422) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_APPLE_YCBCR_422)) && !defined(REGAL_NO_PLUGIN_GL_APPLE_YCBCR_422)\n#define REGAL_NO_PLUGIN_GL_APPLE_YCBCR_422\n#endif\n\n#if (defined(GL_APPLE_YCBCR_422) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_APPLE_YCBCR_422)) && !defined(REGAL_NO_DECLARATION_GL_APPLE_YCBCR_422)\n#define REGAL_NO_DECLARATION_GL_APPLE_YCBCR_422\n#endif\n\n#ifndef GL_APPLE_ycbcr_422\n#define GL_APPLE_ycbcr_422 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_APPLE_YCBCR_422\n#define GL_YCBCR_422_APPLE              0x85b9     /* 34233 */\n#define GL_UNSIGNED_SHORT_8_8_APPLE     0x85ba     /* 34234 */\n#define GL_UNSIGNED_SHORT_8_8_REV_APPLE 0x85bb     /* 34235 */\n#endif\n\n/**\n ** GL_ARB_ES2_compatibility\n **/\n\n#if (defined(GL_ARB_ES2_COMPATIBILITY) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_ES2_COMPATIBILITY)) && !defined(REGAL_NO_ENUM_GL_ARB_ES2_COMPATIBILITY)\n#define REGAL_NO_ENUM_GL_ARB_ES2_COMPATIBILITY\n#endif\n\n#if (defined(GL_ARB_ES2_COMPATIBILITY) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_ES2_COMPATIBILITY)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_ES2_COMPATIBILITY)\n#define REGAL_NO_TYPEDEF_GL_ARB_ES2_COMPATIBILITY\n#endif\n\n#if (defined(GL_ARB_ES2_COMPATIBILITY) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_ES2_COMPATIBILITY)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_ES2_COMPATIBILITY)\n#define REGAL_NO_NAMESPACE_GL_ARB_ES2_COMPATIBILITY\n#endif\n\n#if (defined(GL_ARB_ES2_COMPATIBILITY) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_ES2_COMPATIBILITY)) && !defined(REGAL_NO_PLUGIN_GL_ARB_ES2_COMPATIBILITY)\n#define REGAL_NO_PLUGIN_GL_ARB_ES2_COMPATIBILITY\n#endif\n\n#if (defined(GL_ARB_ES2_COMPATIBILITY) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_ES2_COMPATIBILITY)) && !defined(REGAL_NO_DECLARATION_GL_ARB_ES2_COMPATIBILITY)\n#define REGAL_NO_DECLARATION_GL_ARB_ES2_COMPATIBILITY\n#endif\n\n#ifndef GL_ARB_ES2_compatibility\n#define GL_ARB_ES2_compatibility 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_ES2_COMPATIBILITY\n#define GL_FIXED                            0x140c     /* 5132 */\n#define GL_IMPLEMENTATION_COLOR_READ_TYPE   0x8b9a     /* 35738 */\n#define GL_IMPLEMENTATION_COLOR_READ_FORMAT 0x8b9b     /* 35739 */\n#define GL_RGB565                           0x8d62     /* 36194 */\n#define GL_LOW_FLOAT                        0x8df0     /* 36336 */\n#define GL_MEDIUM_FLOAT                     0x8df1     /* 36337 */\n#define GL_HIGH_FLOAT                       0x8df2     /* 36338 */\n#define GL_LOW_INT                          0x8df3     /* 36339 */\n#define GL_MEDIUM_INT                       0x8df4     /* 36340 */\n#define GL_HIGH_INT                         0x8df5     /* 36341 */\n#define GL_SHADER_BINARY_FORMATS            0x8df8     /* 36344 */\n#define GL_NUM_SHADER_BINARY_FORMATS        0x8df9     /* 36345 */\n#define GL_SHADER_COMPILER                  0x8dfa     /* 36346 */\n#define GL_MAX_VERTEX_UNIFORM_VECTORS       0x8dfb     /* 36347 */\n#define GL_MAX_VARYING_VECTORS              0x8dfc     /* 36348 */\n#define GL_MAX_FRAGMENT_UNIFORM_VECTORS     0x8dfd     /* 36349 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_ES2_COMPATIBILITY\ntypedef void (REGAL_CALL *PFNGLCLEARDEPTHFPROC)(GLclampf d);\ntypedef void (REGAL_CALL *PFNGLDEPTHRANGEFPROC)(GLclampf n, GLclampf f);\ntypedef void (REGAL_CALL *PFNGLGETSHADERPRECISIONFORMATPROC)(GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision);\ntypedef void (REGAL_CALL *PFNGLRELEASESHADERCOMPILERPROC)(void);\ntypedef void (REGAL_CALL *PFNGLSHADERBINARYPROC)(GLsizei count, const GLuint *shaders, GLenum binaryformat, const GLvoid *binary, GLsizei length);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_ES2_COMPATIBILITY\n#define glClearDepthf                       rglClearDepthf\n#define glDepthRangef                       rglDepthRangef\n#define glGetShaderPrecisionFormat          rglGetShaderPrecisionFormat\n#define glReleaseShaderCompiler             rglReleaseShaderCompiler\n#define glShaderBinary                      rglShaderBinary\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_ES2_COMPATIBILITY\nREGAL_DECL void REGAL_CALL glClearDepthf(GLclampf d);\nREGAL_DECL void REGAL_CALL glDepthRangef(GLclampf n, GLclampf f);\nREGAL_DECL void REGAL_CALL glGetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision);\nREGAL_DECL void REGAL_CALL glReleaseShaderCompiler(void);\nREGAL_DECL void REGAL_CALL glShaderBinary(GLsizei count, const GLuint *shaders, GLenum binaryformat, const GLvoid *binary, GLsizei length);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_ES2_COMPATIBILITY\nREGAL_DECL void REGAL_CALL plugin_glClearDepthf(GLclampf d);\nREGAL_DECL void REGAL_CALL plugin_glDepthRangef(GLclampf n, GLclampf f);\nREGAL_DECL void REGAL_CALL plugin_glGetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision);\nREGAL_DECL void REGAL_CALL plugin_glReleaseShaderCompiler(void);\nREGAL_DECL void REGAL_CALL plugin_glShaderBinary(GLsizei count, const GLuint *shaders, GLenum binaryformat, const GLvoid *binary, GLsizei length);\n#endif\n\n/**\n ** GL_ARB_ES3_compatibility\n **/\n\n#if (defined(GL_ARB_ES3_COMPATIBILITY) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_ES3_COMPATIBILITY)) && !defined(REGAL_NO_ENUM_GL_ARB_ES3_COMPATIBILITY)\n#define REGAL_NO_ENUM_GL_ARB_ES3_COMPATIBILITY\n#endif\n\n#if (defined(GL_ARB_ES3_COMPATIBILITY) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_ES3_COMPATIBILITY)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_ES3_COMPATIBILITY)\n#define REGAL_NO_TYPEDEF_GL_ARB_ES3_COMPATIBILITY\n#endif\n\n#if (defined(GL_ARB_ES3_COMPATIBILITY) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_ES3_COMPATIBILITY)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_ES3_COMPATIBILITY)\n#define REGAL_NO_NAMESPACE_GL_ARB_ES3_COMPATIBILITY\n#endif\n\n#if (defined(GL_ARB_ES3_COMPATIBILITY) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_ES3_COMPATIBILITY)) && !defined(REGAL_NO_PLUGIN_GL_ARB_ES3_COMPATIBILITY)\n#define REGAL_NO_PLUGIN_GL_ARB_ES3_COMPATIBILITY\n#endif\n\n#if (defined(GL_ARB_ES3_COMPATIBILITY) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_ES3_COMPATIBILITY)) && !defined(REGAL_NO_DECLARATION_GL_ARB_ES3_COMPATIBILITY)\n#define REGAL_NO_DECLARATION_GL_ARB_ES3_COMPATIBILITY\n#endif\n\n#ifndef GL_ARB_ES3_compatibility\n#define GL_ARB_ES3_compatibility 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_ES3_COMPATIBILITY\n#define GL_PRIMITIVE_RESTART_FIXED_INDEX             0x8d69     /* 36201 */\n#define GL_ANY_SAMPLES_PASSED_CONSERVATIVE           0x8d6a     /* 36202 */\n#define GL_MAX_ELEMENT_INDEX                         0x8d6b     /* 36203 */\n#define GL_COMPRESSED_R11_EAC                        0x9270     /* 37488 */\n#define GL_COMPRESSED_SIGNED_R11_EAC                 0x9271     /* 37489 */\n#define GL_COMPRESSED_RG11_EAC                       0x9272     /* 37490 */\n#define GL_COMPRESSED_SIGNED_RG11_EAC                0x9273     /* 37491 */\n#define GL_COMPRESSED_RGB8_ETC2                      0x9274     /* 37492 */\n#define GL_COMPRESSED_SRGB8_ETC2                     0x9275     /* 37493 */\n#define GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2  0x9276     /* 37494 */\n#define GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 0x9277     /* 37495 */\n#define GL_COMPRESSED_RGBA8_ETC2_EAC                 0x9278     /* 37496 */\n#define GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC          0x9279     /* 37497 */\n#endif\n\n/**\n ** GL_ARB_base_instance\n **/\n\n#if (defined(GL_ARB_BASE_INSTANCE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_BASE_INSTANCE)) && !defined(REGAL_NO_ENUM_GL_ARB_BASE_INSTANCE)\n#define REGAL_NO_ENUM_GL_ARB_BASE_INSTANCE\n#endif\n\n#if (defined(GL_ARB_BASE_INSTANCE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_BASE_INSTANCE)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_BASE_INSTANCE)\n#define REGAL_NO_TYPEDEF_GL_ARB_BASE_INSTANCE\n#endif\n\n#if (defined(GL_ARB_BASE_INSTANCE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_BASE_INSTANCE)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_BASE_INSTANCE)\n#define REGAL_NO_NAMESPACE_GL_ARB_BASE_INSTANCE\n#endif\n\n#if (defined(GL_ARB_BASE_INSTANCE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_BASE_INSTANCE)) && !defined(REGAL_NO_PLUGIN_GL_ARB_BASE_INSTANCE)\n#define REGAL_NO_PLUGIN_GL_ARB_BASE_INSTANCE\n#endif\n\n#if (defined(GL_ARB_BASE_INSTANCE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_BASE_INSTANCE)) && !defined(REGAL_NO_DECLARATION_GL_ARB_BASE_INSTANCE)\n#define REGAL_NO_DECLARATION_GL_ARB_BASE_INSTANCE\n#endif\n\n#ifndef GL_ARB_base_instance\n#define GL_ARB_base_instance 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_BASE_INSTANCE\ntypedef void (REGAL_CALL *PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC)(GLenum mode, GLint first, GLsizei count, GLsizei primcount, GLuint baseinstance);\ntypedef void (REGAL_CALL *PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC)(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount, GLuint baseinstance);\ntypedef void (REGAL_CALL *PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC)(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount, GLint basevertex, GLuint baseinstance);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_BASE_INSTANCE\n#define glDrawArraysInstancedBaseInstance   rglDrawArraysInstancedBaseInstance\n#define glDrawElementsInstancedBaseInstance rglDrawElementsInstancedBaseInstance\n#define glDrawElementsInstancedBaseVertexBaseInstance rglDrawElementsInstancedBaseVertexBaseInstance\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_BASE_INSTANCE\nREGAL_DECL void REGAL_CALL glDrawArraysInstancedBaseInstance(GLenum mode, GLint first, GLsizei count, GLsizei primcount, GLuint baseinstance);\nREGAL_DECL void REGAL_CALL glDrawElementsInstancedBaseInstance(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount, GLuint baseinstance);\nREGAL_DECL void REGAL_CALL glDrawElementsInstancedBaseVertexBaseInstance(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount, GLint basevertex, GLuint baseinstance);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_BASE_INSTANCE\nREGAL_DECL void REGAL_CALL plugin_glDrawArraysInstancedBaseInstance(GLenum mode, GLint first, GLsizei count, GLsizei primcount, GLuint baseinstance);\nREGAL_DECL void REGAL_CALL plugin_glDrawElementsInstancedBaseInstance(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount, GLuint baseinstance);\nREGAL_DECL void REGAL_CALL plugin_glDrawElementsInstancedBaseVertexBaseInstance(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount, GLint basevertex, GLuint baseinstance);\n#endif\n\n/**\n ** GL_ARB_bindless_texture\n **/\n\n#if (defined(GL_ARB_BINDLESS_TEXTURE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_BINDLESS_TEXTURE)) && !defined(REGAL_NO_ENUM_GL_ARB_BINDLESS_TEXTURE)\n#define REGAL_NO_ENUM_GL_ARB_BINDLESS_TEXTURE\n#endif\n\n#if (defined(GL_ARB_BINDLESS_TEXTURE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_BINDLESS_TEXTURE)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_BINDLESS_TEXTURE)\n#define REGAL_NO_TYPEDEF_GL_ARB_BINDLESS_TEXTURE\n#endif\n\n#if (defined(GL_ARB_BINDLESS_TEXTURE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_BINDLESS_TEXTURE)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_BINDLESS_TEXTURE)\n#define REGAL_NO_NAMESPACE_GL_ARB_BINDLESS_TEXTURE\n#endif\n\n#if (defined(GL_ARB_BINDLESS_TEXTURE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_BINDLESS_TEXTURE)) && !defined(REGAL_NO_PLUGIN_GL_ARB_BINDLESS_TEXTURE)\n#define REGAL_NO_PLUGIN_GL_ARB_BINDLESS_TEXTURE\n#endif\n\n#if (defined(GL_ARB_BINDLESS_TEXTURE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_BINDLESS_TEXTURE)) && !defined(REGAL_NO_DECLARATION_GL_ARB_BINDLESS_TEXTURE)\n#define REGAL_NO_DECLARATION_GL_ARB_BINDLESS_TEXTURE\n#endif\n\n#ifndef GL_ARB_bindless_texture\n#define GL_ARB_bindless_texture 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_BINDLESS_TEXTURE\n#define GL_UNSIGNED_INT64_ARB 0x140f /* 5135 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_BINDLESS_TEXTURE\ntypedef GLboolean (REGAL_CALL *PFNGLISIMAGEHANDLERESIDENTARBPROC)(GLuint64 handle);\ntypedef GLboolean (REGAL_CALL *PFNGLISTEXTUREHANDLERESIDENTARBPROC)(GLuint64 handle);\ntypedef GLuint64 (REGAL_CALL *PFNGLGETIMAGEHANDLEARBPROC)(GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum format);\ntypedef GLuint64 (REGAL_CALL *PFNGLGETTEXTUREHANDLEARBPROC)(GLuint texture);\ntypedef GLuint64 (REGAL_CALL *PFNGLGETTEXTURESAMPLERHANDLEARBPROC)(GLuint texture, GLuint sampler);\ntypedef void (REGAL_CALL *PFNGLGETVERTEXATTRIBLUI64VARBPROC)(GLuint index, GLenum pname, GLuint64EXT *params);\ntypedef void (REGAL_CALL *PFNGLMAKEIMAGEHANDLENONRESIDENTARBPROC)(GLuint64 handle);\ntypedef void (REGAL_CALL *PFNGLMAKEIMAGEHANDLERESIDENTARBPROC)(GLuint64 handle, GLenum access);\ntypedef void (REGAL_CALL *PFNGLMAKETEXTUREHANDLENONRESIDENTARBPROC)(GLuint64 handle);\ntypedef void (REGAL_CALL *PFNGLMAKETEXTUREHANDLERESIDENTARBPROC)(GLuint64 handle);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMHANDLEUI64ARBPROC)(GLuint program, GLint location, GLuint64 value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMHANDLEUI64VARBPROC)(GLuint program, GLint location, GLsizei count, const GLuint64 *values);\ntypedef void (REGAL_CALL *PFNGLUNIFORMHANDLEUI64ARBPROC)(GLint location, GLuint64 value);\ntypedef void (REGAL_CALL *PFNGLUNIFORMHANDLEUI64VARBPROC)(GLint location, GLsizei count, const GLuint64 *value);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBL1UI64ARBPROC)(GLuint index, GLuint64EXT x);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBL1UI64VARBPROC)(GLuint index, const GLuint64EXT *v);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_BINDLESS_TEXTURE\n#define glGetImageHandleARB                 rglGetImageHandleARB\n#define glGetTextureHandleARB               rglGetTextureHandleARB\n#define glGetTextureSamplerHandleARB        rglGetTextureSamplerHandleARB\n#define glGetVertexAttribLui64vARB          rglGetVertexAttribLui64vARB\n#define glIsImageHandleResidentARB          rglIsImageHandleResidentARB\n#define glIsTextureHandleResidentARB        rglIsTextureHandleResidentARB\n#define glMakeImageHandleNonResidentARB     rglMakeImageHandleNonResidentARB\n#define glMakeImageHandleResidentARB        rglMakeImageHandleResidentARB\n#define glMakeTextureHandleNonResidentARB   rglMakeTextureHandleNonResidentARB\n#define glMakeTextureHandleResidentARB      rglMakeTextureHandleResidentARB\n#define glProgramUniformHandleui64ARB       rglProgramUniformHandleui64ARB\n#define glProgramUniformHandleui64vARB      rglProgramUniformHandleui64vARB\n#define glUniformHandleui64ARB              rglUniformHandleui64ARB\n#define glUniformHandleui64vARB             rglUniformHandleui64vARB\n#define glVertexAttribL1ui64ARB             rglVertexAttribL1ui64ARB\n#define glVertexAttribL1ui64vARB            rglVertexAttribL1ui64vARB\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_BINDLESS_TEXTURE\nREGAL_DECL GLboolean REGAL_CALL glIsImageHandleResidentARB(GLuint64 handle);\nREGAL_DECL GLboolean REGAL_CALL glIsTextureHandleResidentARB(GLuint64 handle);\nREGAL_DECL GLuint64 REGAL_CALL glGetImageHandleARB(GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum format);\nREGAL_DECL GLuint64 REGAL_CALL glGetTextureHandleARB(GLuint texture);\nREGAL_DECL GLuint64 REGAL_CALL glGetTextureSamplerHandleARB(GLuint texture, GLuint sampler);\nREGAL_DECL void REGAL_CALL glGetVertexAttribLui64vARB(GLuint index, GLenum pname, GLuint64EXT *params);\nREGAL_DECL void REGAL_CALL glMakeImageHandleNonResidentARB(GLuint64 handle);\nREGAL_DECL void REGAL_CALL glMakeImageHandleResidentARB(GLuint64 handle, GLenum access);\nREGAL_DECL void REGAL_CALL glMakeTextureHandleNonResidentARB(GLuint64 handle);\nREGAL_DECL void REGAL_CALL glMakeTextureHandleResidentARB(GLuint64 handle);\nREGAL_DECL void REGAL_CALL glProgramUniformHandleui64ARB(GLuint program, GLint location, GLuint64 value);\nREGAL_DECL void REGAL_CALL glProgramUniformHandleui64vARB(GLuint program, GLint location, GLsizei count, const GLuint64 *values);\nREGAL_DECL void REGAL_CALL glUniformHandleui64ARB(GLint location, GLuint64 value);\nREGAL_DECL void REGAL_CALL glUniformHandleui64vARB(GLint location, GLsizei count, const GLuint64 *value);\nREGAL_DECL void REGAL_CALL glVertexAttribL1ui64ARB(GLuint index, GLuint64EXT x);\nREGAL_DECL void REGAL_CALL glVertexAttribL1ui64vARB(GLuint index, const GLuint64EXT *v);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_BINDLESS_TEXTURE\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsImageHandleResidentARB(GLuint64 handle);\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsTextureHandleResidentARB(GLuint64 handle);\nREGAL_DECL GLuint64 REGAL_CALL plugin_glGetImageHandleARB(GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum format);\nREGAL_DECL GLuint64 REGAL_CALL plugin_glGetTextureHandleARB(GLuint texture);\nREGAL_DECL GLuint64 REGAL_CALL plugin_glGetTextureSamplerHandleARB(GLuint texture, GLuint sampler);\nREGAL_DECL void REGAL_CALL plugin_glGetVertexAttribLui64vARB(GLuint index, GLenum pname, GLuint64EXT *params);\nREGAL_DECL void REGAL_CALL plugin_glMakeImageHandleNonResidentARB(GLuint64 handle);\nREGAL_DECL void REGAL_CALL plugin_glMakeImageHandleResidentARB(GLuint64 handle, GLenum access);\nREGAL_DECL void REGAL_CALL plugin_glMakeTextureHandleNonResidentARB(GLuint64 handle);\nREGAL_DECL void REGAL_CALL plugin_glMakeTextureHandleResidentARB(GLuint64 handle);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformHandleui64ARB(GLuint program, GLint location, GLuint64 value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformHandleui64vARB(GLuint program, GLint location, GLsizei count, const GLuint64 *values);\nREGAL_DECL void REGAL_CALL plugin_glUniformHandleui64ARB(GLint location, GLuint64 value);\nREGAL_DECL void REGAL_CALL plugin_glUniformHandleui64vARB(GLint location, GLsizei count, const GLuint64 *value);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribL1ui64ARB(GLuint index, GLuint64EXT x);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribL1ui64vARB(GLuint index, const GLuint64EXT *v);\n#endif\n\n/**\n ** GL_ARB_blend_func_extended\n **/\n\n#if (defined(GL_ARB_BLEND_FUNC_EXTENDED) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_BLEND_FUNC_EXTENDED)) && !defined(REGAL_NO_ENUM_GL_ARB_BLEND_FUNC_EXTENDED)\n#define REGAL_NO_ENUM_GL_ARB_BLEND_FUNC_EXTENDED\n#endif\n\n#if (defined(GL_ARB_BLEND_FUNC_EXTENDED) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_BLEND_FUNC_EXTENDED)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_BLEND_FUNC_EXTENDED)\n#define REGAL_NO_TYPEDEF_GL_ARB_BLEND_FUNC_EXTENDED\n#endif\n\n#if (defined(GL_ARB_BLEND_FUNC_EXTENDED) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_BLEND_FUNC_EXTENDED)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_BLEND_FUNC_EXTENDED)\n#define REGAL_NO_NAMESPACE_GL_ARB_BLEND_FUNC_EXTENDED\n#endif\n\n#if (defined(GL_ARB_BLEND_FUNC_EXTENDED) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_BLEND_FUNC_EXTENDED)) && !defined(REGAL_NO_PLUGIN_GL_ARB_BLEND_FUNC_EXTENDED)\n#define REGAL_NO_PLUGIN_GL_ARB_BLEND_FUNC_EXTENDED\n#endif\n\n#if (defined(GL_ARB_BLEND_FUNC_EXTENDED) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_BLEND_FUNC_EXTENDED)) && !defined(REGAL_NO_DECLARATION_GL_ARB_BLEND_FUNC_EXTENDED)\n#define REGAL_NO_DECLARATION_GL_ARB_BLEND_FUNC_EXTENDED\n#endif\n\n#ifndef GL_ARB_blend_func_extended\n#define GL_ARB_blend_func_extended 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_BLEND_FUNC_EXTENDED\n#define GL_SRC1_COLOR                   0x88f9     /* 35065 */\n#define GL_ONE_MINUS_SRC1_COLOR         0x88fa     /* 35066 */\n#define GL_ONE_MINUS_SRC1_ALPHA         0x88fb     /* 35067 */\n#define GL_MAX_DUAL_SOURCE_DRAW_BUFFERS 0x88fc     /* 35068 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_BLEND_FUNC_EXTENDED\ntypedef GLint (REGAL_CALL *PFNGLGETFRAGDATAINDEXPROC)(GLuint program, const GLchar *name);\ntypedef void (REGAL_CALL *PFNGLBINDFRAGDATALOCATIONINDEXEDPROC)(GLuint program, GLuint colorNumber, GLuint index, const GLchar *name);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_BLEND_FUNC_EXTENDED\n#define glBindFragDataLocationIndexed       rglBindFragDataLocationIndexed\n#define glGetFragDataIndex                  rglGetFragDataIndex\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_BLEND_FUNC_EXTENDED\nREGAL_DECL GLint REGAL_CALL glGetFragDataIndex(GLuint program, const GLchar *name);\nREGAL_DECL void REGAL_CALL glBindFragDataLocationIndexed(GLuint program, GLuint colorNumber, GLuint index, const GLchar *name);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_BLEND_FUNC_EXTENDED\nREGAL_DECL GLint REGAL_CALL plugin_glGetFragDataIndex(GLuint program, const GLchar *name);\nREGAL_DECL void REGAL_CALL plugin_glBindFragDataLocationIndexed(GLuint program, GLuint colorNumber, GLuint index, const GLchar *name);\n#endif\n\n/**\n ** GL_ARB_buffer_storage\n **/\n\n#if (defined(GL_ARB_BUFFER_STORAGE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_BUFFER_STORAGE)) && !defined(REGAL_NO_ENUM_GL_ARB_BUFFER_STORAGE)\n#define REGAL_NO_ENUM_GL_ARB_BUFFER_STORAGE\n#endif\n\n#if (defined(GL_ARB_BUFFER_STORAGE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_BUFFER_STORAGE)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_BUFFER_STORAGE)\n#define REGAL_NO_TYPEDEF_GL_ARB_BUFFER_STORAGE\n#endif\n\n#if (defined(GL_ARB_BUFFER_STORAGE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_BUFFER_STORAGE)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_BUFFER_STORAGE)\n#define REGAL_NO_NAMESPACE_GL_ARB_BUFFER_STORAGE\n#endif\n\n#if (defined(GL_ARB_BUFFER_STORAGE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_BUFFER_STORAGE)) && !defined(REGAL_NO_PLUGIN_GL_ARB_BUFFER_STORAGE)\n#define REGAL_NO_PLUGIN_GL_ARB_BUFFER_STORAGE\n#endif\n\n#if (defined(GL_ARB_BUFFER_STORAGE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_BUFFER_STORAGE)) && !defined(REGAL_NO_DECLARATION_GL_ARB_BUFFER_STORAGE)\n#define REGAL_NO_DECLARATION_GL_ARB_BUFFER_STORAGE\n#endif\n\n#ifndef GL_ARB_buffer_storage\n#define GL_ARB_buffer_storage 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_BUFFER_STORAGE\n#define GL_DYNAMIC_STORAGE_BIT              0x100      /* 256 */\n#define GL_CLIENT_STORAGE_BIT               0x200      /* 512 */\n#define GL_MAP_PERSISTENT_BIT               0x40       /* 64 */\n#define GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT 0x4000     /* 16384 */\n#define GL_MAP_COHERENT_BIT                 0x80       /* 128 */\n#define GL_BUFFER_IMMUTABLE_STORAGE         0x821f     /* 33311 */\n#define GL_BUFFER_STORAGE_FLAGS             0x8220     /* 33312 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_BUFFER_STORAGE\ntypedef void (REGAL_CALL *PFNGLBUFFERSTORAGEPROC)(GLenum target, GLsizeiptr size, const GLvoid *data, GLbitfield flags);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_BUFFER_STORAGE\n#define glBufferStorage                     rglBufferStorage\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_BUFFER_STORAGE\nREGAL_DECL void REGAL_CALL glBufferStorage(GLenum target, GLsizeiptr size, const GLvoid *data, GLbitfield flags);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_BUFFER_STORAGE\nREGAL_DECL void REGAL_CALL plugin_glBufferStorage(GLenum target, GLsizeiptr size, const GLvoid *data, GLbitfield flags);\n#endif\n\n/**\n ** GL_ARB_cl_event\n **/\n\n#if (defined(GL_ARB_CL_EVENT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_CL_EVENT)) && !defined(REGAL_NO_ENUM_GL_ARB_CL_EVENT)\n#define REGAL_NO_ENUM_GL_ARB_CL_EVENT\n#endif\n\n#if (defined(GL_ARB_CL_EVENT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_CL_EVENT)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_CL_EVENT)\n#define REGAL_NO_TYPEDEF_GL_ARB_CL_EVENT\n#endif\n\n#if (defined(GL_ARB_CL_EVENT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_CL_EVENT)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_CL_EVENT)\n#define REGAL_NO_NAMESPACE_GL_ARB_CL_EVENT\n#endif\n\n#if (defined(GL_ARB_CL_EVENT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_CL_EVENT)) && !defined(REGAL_NO_PLUGIN_GL_ARB_CL_EVENT)\n#define REGAL_NO_PLUGIN_GL_ARB_CL_EVENT\n#endif\n\n#if (defined(GL_ARB_CL_EVENT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_CL_EVENT)) && !defined(REGAL_NO_DECLARATION_GL_ARB_CL_EVENT)\n#define REGAL_NO_DECLARATION_GL_ARB_CL_EVENT\n#endif\n\n#ifndef GL_ARB_cl_event\n#define GL_ARB_cl_event 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_CL_EVENT\n#define GL_SYNC_CL_EVENT_ARB          0x8240     /* 33344 */\n#define GL_SYNC_CL_EVENT_COMPLETE_ARB 0x8241     /* 33345 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_CL_EVENT\ntypedef GLsync (REGAL_CALL *PFNGLCREATESYNCFROMCLEVENTARBPROC)(cl_context context, cl_event event, GLbitfield flags);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_CL_EVENT\n#define glCreateSyncFromCLeventARB          rglCreateSyncFromCLeventARB\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_CL_EVENT\nREGAL_DECL GLsync REGAL_CALL glCreateSyncFromCLeventARB(cl_context context, cl_event event, GLbitfield flags);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_CL_EVENT\nREGAL_DECL GLsync REGAL_CALL plugin_glCreateSyncFromCLeventARB(cl_context context, cl_event event, GLbitfield flags);\n#endif\n\n/**\n ** GL_ARB_clear_buffer_object\n **/\n\n#if (defined(GL_ARB_CLEAR_BUFFER_OBJECT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_CLEAR_BUFFER_OBJECT)) && !defined(REGAL_NO_ENUM_GL_ARB_CLEAR_BUFFER_OBJECT)\n#define REGAL_NO_ENUM_GL_ARB_CLEAR_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_ARB_CLEAR_BUFFER_OBJECT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_CLEAR_BUFFER_OBJECT)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_CLEAR_BUFFER_OBJECT)\n#define REGAL_NO_TYPEDEF_GL_ARB_CLEAR_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_ARB_CLEAR_BUFFER_OBJECT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_CLEAR_BUFFER_OBJECT)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_CLEAR_BUFFER_OBJECT)\n#define REGAL_NO_NAMESPACE_GL_ARB_CLEAR_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_ARB_CLEAR_BUFFER_OBJECT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_CLEAR_BUFFER_OBJECT)) && !defined(REGAL_NO_PLUGIN_GL_ARB_CLEAR_BUFFER_OBJECT)\n#define REGAL_NO_PLUGIN_GL_ARB_CLEAR_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_ARB_CLEAR_BUFFER_OBJECT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_CLEAR_BUFFER_OBJECT)) && !defined(REGAL_NO_DECLARATION_GL_ARB_CLEAR_BUFFER_OBJECT)\n#define REGAL_NO_DECLARATION_GL_ARB_CLEAR_BUFFER_OBJECT\n#endif\n\n#ifndef GL_ARB_clear_buffer_object\n#define GL_ARB_clear_buffer_object 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_CLEAR_BUFFER_OBJECT\ntypedef void (REGAL_CALL *PFNGLCLEARBUFFERDATAPROC)(GLenum target, GLenum internalformat, GLenum format, GLenum type, const GLvoid *data);\ntypedef void (REGAL_CALL *PFNGLCLEARBUFFERSUBDATAPROC)(GLenum target, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const GLvoid *data);\ntypedef void (REGAL_CALL *PFNGLCLEARNAMEDBUFFERDATAEXTPROC)(GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const GLvoid *data);\ntypedef void (REGAL_CALL *PFNGLCLEARNAMEDBUFFERSUBDATAEXTPROC)(GLuint buffer, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const GLvoid *data);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_CLEAR_BUFFER_OBJECT\n#define glClearBufferData                   rglClearBufferData\n#define glClearBufferSubData                rglClearBufferSubData\n#define glClearNamedBufferDataEXT           rglClearNamedBufferDataEXT\n#define glClearNamedBufferSubDataEXT        rglClearNamedBufferSubDataEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_CLEAR_BUFFER_OBJECT\nREGAL_DECL void REGAL_CALL glClearBufferData(GLenum target, GLenum internalformat, GLenum format, GLenum type, const GLvoid *data);\nREGAL_DECL void REGAL_CALL glClearBufferSubData(GLenum target, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const GLvoid *data);\nREGAL_DECL void REGAL_CALL glClearNamedBufferDataEXT(GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const GLvoid *data);\nREGAL_DECL void REGAL_CALL glClearNamedBufferSubDataEXT(GLuint buffer, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const GLvoid *data);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_CLEAR_BUFFER_OBJECT\nREGAL_DECL void REGAL_CALL plugin_glClearBufferData(GLenum target, GLenum internalformat, GLenum format, GLenum type, const GLvoid *data);\nREGAL_DECL void REGAL_CALL plugin_glClearBufferSubData(GLenum target, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const GLvoid *data);\nREGAL_DECL void REGAL_CALL plugin_glClearNamedBufferDataEXT(GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const GLvoid *data);\nREGAL_DECL void REGAL_CALL plugin_glClearNamedBufferSubDataEXT(GLuint buffer, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const GLvoid *data);\n#endif\n\n/**\n ** GL_ARB_clear_texture\n **/\n\n#if (defined(GL_ARB_CLEAR_TEXTURE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_CLEAR_TEXTURE)) && !defined(REGAL_NO_ENUM_GL_ARB_CLEAR_TEXTURE)\n#define REGAL_NO_ENUM_GL_ARB_CLEAR_TEXTURE\n#endif\n\n#if (defined(GL_ARB_CLEAR_TEXTURE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_CLEAR_TEXTURE)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_CLEAR_TEXTURE)\n#define REGAL_NO_TYPEDEF_GL_ARB_CLEAR_TEXTURE\n#endif\n\n#if (defined(GL_ARB_CLEAR_TEXTURE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_CLEAR_TEXTURE)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_CLEAR_TEXTURE)\n#define REGAL_NO_NAMESPACE_GL_ARB_CLEAR_TEXTURE\n#endif\n\n#if (defined(GL_ARB_CLEAR_TEXTURE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_CLEAR_TEXTURE)) && !defined(REGAL_NO_PLUGIN_GL_ARB_CLEAR_TEXTURE)\n#define REGAL_NO_PLUGIN_GL_ARB_CLEAR_TEXTURE\n#endif\n\n#if (defined(GL_ARB_CLEAR_TEXTURE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_CLEAR_TEXTURE)) && !defined(REGAL_NO_DECLARATION_GL_ARB_CLEAR_TEXTURE)\n#define REGAL_NO_DECLARATION_GL_ARB_CLEAR_TEXTURE\n#endif\n\n#ifndef GL_ARB_clear_texture\n#define GL_ARB_clear_texture 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_CLEAR_TEXTURE\n#define GL_CLEAR_TEXTURE 0x9365 /* 37733 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_CLEAR_TEXTURE\ntypedef void (REGAL_CALL *PFNGLCLEARTEXIMAGEPROC)(GLuint texture, GLint level, GLenum format, GLenum type, const GLvoid *data);\ntypedef void (REGAL_CALL *PFNGLCLEARTEXSUBIMAGEPROC)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *data);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_CLEAR_TEXTURE\n#define glClearTexImage                     rglClearTexImage\n#define glClearTexSubImage                  rglClearTexSubImage\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_CLEAR_TEXTURE\nREGAL_DECL void REGAL_CALL glClearTexImage(GLuint texture, GLint level, GLenum format, GLenum type, const GLvoid *data);\nREGAL_DECL void REGAL_CALL glClearTexSubImage(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *data);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_CLEAR_TEXTURE\nREGAL_DECL void REGAL_CALL plugin_glClearTexImage(GLuint texture, GLint level, GLenum format, GLenum type, const GLvoid *data);\nREGAL_DECL void REGAL_CALL plugin_glClearTexSubImage(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *data);\n#endif\n\n/**\n ** GL_ARB_color_buffer_float\n **/\n\n#if (defined(GL_ARB_COLOR_BUFFER_FLOAT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_COLOR_BUFFER_FLOAT)) && !defined(REGAL_NO_ENUM_GL_ARB_COLOR_BUFFER_FLOAT)\n#define REGAL_NO_ENUM_GL_ARB_COLOR_BUFFER_FLOAT\n#endif\n\n#if (defined(GL_ARB_COLOR_BUFFER_FLOAT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_COLOR_BUFFER_FLOAT)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_COLOR_BUFFER_FLOAT)\n#define REGAL_NO_TYPEDEF_GL_ARB_COLOR_BUFFER_FLOAT\n#endif\n\n#if (defined(GL_ARB_COLOR_BUFFER_FLOAT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_COLOR_BUFFER_FLOAT)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_COLOR_BUFFER_FLOAT)\n#define REGAL_NO_NAMESPACE_GL_ARB_COLOR_BUFFER_FLOAT\n#endif\n\n#if (defined(GL_ARB_COLOR_BUFFER_FLOAT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_COLOR_BUFFER_FLOAT)) && !defined(REGAL_NO_PLUGIN_GL_ARB_COLOR_BUFFER_FLOAT)\n#define REGAL_NO_PLUGIN_GL_ARB_COLOR_BUFFER_FLOAT\n#endif\n\n#if (defined(GL_ARB_COLOR_BUFFER_FLOAT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_COLOR_BUFFER_FLOAT)) && !defined(REGAL_NO_DECLARATION_GL_ARB_COLOR_BUFFER_FLOAT)\n#define REGAL_NO_DECLARATION_GL_ARB_COLOR_BUFFER_FLOAT\n#endif\n\n#ifndef GL_ARB_color_buffer_float\n#define GL_ARB_color_buffer_float 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_COLOR_BUFFER_FLOAT\n#define GL_RGBA_FLOAT_MODE_ARB      0x8820     /* 34848 */\n#define GL_CLAMP_VERTEX_COLOR_ARB   0x891a     /* 35098 */\n#define GL_CLAMP_FRAGMENT_COLOR_ARB 0x891b     /* 35099 */\n#define GL_CLAMP_READ_COLOR_ARB     0x891c     /* 35100 */\n#define GL_FIXED_ONLY_ARB           0x891d     /* 35101 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_COLOR_BUFFER_FLOAT\ntypedef void (REGAL_CALL *PFNGLCLAMPCOLORARBPROC)(GLenum target, GLenum clamp);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_COLOR_BUFFER_FLOAT\n#define glClampColorARB                     rglClampColorARB\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_COLOR_BUFFER_FLOAT\nREGAL_DECL void REGAL_CALL glClampColorARB(GLenum target, GLenum clamp);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_COLOR_BUFFER_FLOAT\nREGAL_DECL void REGAL_CALL plugin_glClampColorARB(GLenum target, GLenum clamp);\n#endif\n\n/**\n ** GL_ARB_compressed_texture_pixel_storage\n **/\n\n#if (defined(GL_ARB_COMPRESSED_TEXTURE_PIXEL_STORAGE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_COMPRESSED_TEXTURE_PIXEL_STORAGE)) && !defined(REGAL_NO_ENUM_GL_ARB_COMPRESSED_TEXTURE_PIXEL_STORAGE)\n#define REGAL_NO_ENUM_GL_ARB_COMPRESSED_TEXTURE_PIXEL_STORAGE\n#endif\n\n#if (defined(GL_ARB_COMPRESSED_TEXTURE_PIXEL_STORAGE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_COMPRESSED_TEXTURE_PIXEL_STORAGE)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_COMPRESSED_TEXTURE_PIXEL_STORAGE)\n#define REGAL_NO_TYPEDEF_GL_ARB_COMPRESSED_TEXTURE_PIXEL_STORAGE\n#endif\n\n#if (defined(GL_ARB_COMPRESSED_TEXTURE_PIXEL_STORAGE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_COMPRESSED_TEXTURE_PIXEL_STORAGE)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_COMPRESSED_TEXTURE_PIXEL_STORAGE)\n#define REGAL_NO_NAMESPACE_GL_ARB_COMPRESSED_TEXTURE_PIXEL_STORAGE\n#endif\n\n#if (defined(GL_ARB_COMPRESSED_TEXTURE_PIXEL_STORAGE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_COMPRESSED_TEXTURE_PIXEL_STORAGE)) && !defined(REGAL_NO_PLUGIN_GL_ARB_COMPRESSED_TEXTURE_PIXEL_STORAGE)\n#define REGAL_NO_PLUGIN_GL_ARB_COMPRESSED_TEXTURE_PIXEL_STORAGE\n#endif\n\n#if (defined(GL_ARB_COMPRESSED_TEXTURE_PIXEL_STORAGE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_COMPRESSED_TEXTURE_PIXEL_STORAGE)) && !defined(REGAL_NO_DECLARATION_GL_ARB_COMPRESSED_TEXTURE_PIXEL_STORAGE)\n#define REGAL_NO_DECLARATION_GL_ARB_COMPRESSED_TEXTURE_PIXEL_STORAGE\n#endif\n\n#ifndef GL_ARB_compressed_texture_pixel_storage\n#define GL_ARB_compressed_texture_pixel_storage 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_COMPRESSED_TEXTURE_PIXEL_STORAGE\n#define GL_UNPACK_COMPRESSED_BLOCK_WIDTH  0x9127     /* 37159 */\n#define GL_UNPACK_COMPRESSED_BLOCK_HEIGHT 0x9128     /* 37160 */\n#define GL_UNPACK_COMPRESSED_BLOCK_DEPTH  0x9129     /* 37161 */\n#define GL_UNPACK_COMPRESSED_BLOCK_SIZE   0x912a     /* 37162 */\n#define GL_PACK_COMPRESSED_BLOCK_WIDTH    0x912b     /* 37163 */\n#define GL_PACK_COMPRESSED_BLOCK_HEIGHT   0x912c     /* 37164 */\n#define GL_PACK_COMPRESSED_BLOCK_DEPTH    0x912d     /* 37165 */\n#define GL_PACK_COMPRESSED_BLOCK_SIZE     0x912e     /* 37166 */\n#endif\n\n/**\n ** GL_ARB_compute_shader\n **/\n\n#if (defined(GL_ARB_COMPUTE_SHADER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_COMPUTE_SHADER)) && !defined(REGAL_NO_ENUM_GL_ARB_COMPUTE_SHADER)\n#define REGAL_NO_ENUM_GL_ARB_COMPUTE_SHADER\n#endif\n\n#if (defined(GL_ARB_COMPUTE_SHADER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_COMPUTE_SHADER)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_COMPUTE_SHADER)\n#define REGAL_NO_TYPEDEF_GL_ARB_COMPUTE_SHADER\n#endif\n\n#if (defined(GL_ARB_COMPUTE_SHADER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_COMPUTE_SHADER)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_COMPUTE_SHADER)\n#define REGAL_NO_NAMESPACE_GL_ARB_COMPUTE_SHADER\n#endif\n\n#if (defined(GL_ARB_COMPUTE_SHADER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_COMPUTE_SHADER)) && !defined(REGAL_NO_PLUGIN_GL_ARB_COMPUTE_SHADER)\n#define REGAL_NO_PLUGIN_GL_ARB_COMPUTE_SHADER\n#endif\n\n#if (defined(GL_ARB_COMPUTE_SHADER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_COMPUTE_SHADER)) && !defined(REGAL_NO_DECLARATION_GL_ARB_COMPUTE_SHADER)\n#define REGAL_NO_DECLARATION_GL_ARB_COMPUTE_SHADER\n#endif\n\n#ifndef GL_ARB_compute_shader\n#define GL_ARB_compute_shader 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_COMPUTE_SHADER\n#define GL_COMPUTE_SHADER_BIT                                 0x20       /* 32 */\n#define GL_MAX_COMPUTE_SHARED_MEMORY_SIZE                     0x8262     /* 33378 */\n#define GL_MAX_COMPUTE_UNIFORM_COMPONENTS                     0x8263     /* 33379 */\n#define GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS                 0x8264     /* 33380 */\n#define GL_MAX_COMPUTE_ATOMIC_COUNTERS                        0x8265     /* 33381 */\n#define GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS            0x8266     /* 33382 */\n#define GL_COMPUTE_WORK_GROUP_SIZE                            0x8267     /* 33383 */\n#define GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS                 0x90eb     /* 37099 */\n#define GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER         0x90ec     /* 37100 */\n#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER 0x90ed     /* 37101 */\n#define GL_DISPATCH_INDIRECT_BUFFER                           0x90ee     /* 37102 */\n#define GL_DISPATCH_INDIRECT_BUFFER_BINDING                   0x90ef     /* 37103 */\n#define GL_COMPUTE_SHADER                                     0x91b9     /* 37305 */\n#define GL_MAX_COMPUTE_UNIFORM_BLOCKS                         0x91bb     /* 37307 */\n#define GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS                    0x91bc     /* 37308 */\n#define GL_MAX_COMPUTE_IMAGE_UNIFORMS                         0x91bd     /* 37309 */\n#define GL_MAX_COMPUTE_WORK_GROUP_COUNT                       0x91be     /* 37310 */\n#define GL_MAX_COMPUTE_WORK_GROUP_SIZE                        0x91bf     /* 37311 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_COMPUTE_SHADER\ntypedef void (REGAL_CALL *PFNGLDISPATCHCOMPUTEINDIRECTPROC)(GLintptr indirect);\ntypedef void (REGAL_CALL *PFNGLDISPATCHCOMPUTEPROC)(GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_COMPUTE_SHADER\n#define glDispatchCompute                   rglDispatchCompute\n#define glDispatchComputeIndirect           rglDispatchComputeIndirect\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_COMPUTE_SHADER\nREGAL_DECL void REGAL_CALL glDispatchCompute(GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z);\nREGAL_DECL void REGAL_CALL glDispatchComputeIndirect(GLintptr indirect);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_COMPUTE_SHADER\nREGAL_DECL void REGAL_CALL plugin_glDispatchCompute(GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z);\nREGAL_DECL void REGAL_CALL plugin_glDispatchComputeIndirect(GLintptr indirect);\n#endif\n\n/**\n ** GL_ARB_compute_variable_group_size\n **/\n\n#if (defined(GL_ARB_COMPUTE_VARIABLE_GROUP_SIZE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_COMPUTE_VARIABLE_GROUP_SIZE)) && !defined(REGAL_NO_ENUM_GL_ARB_COMPUTE_VARIABLE_GROUP_SIZE)\n#define REGAL_NO_ENUM_GL_ARB_COMPUTE_VARIABLE_GROUP_SIZE\n#endif\n\n#if (defined(GL_ARB_COMPUTE_VARIABLE_GROUP_SIZE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_COMPUTE_VARIABLE_GROUP_SIZE)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_COMPUTE_VARIABLE_GROUP_SIZE)\n#define REGAL_NO_TYPEDEF_GL_ARB_COMPUTE_VARIABLE_GROUP_SIZE\n#endif\n\n#if (defined(GL_ARB_COMPUTE_VARIABLE_GROUP_SIZE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_COMPUTE_VARIABLE_GROUP_SIZE)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_COMPUTE_VARIABLE_GROUP_SIZE)\n#define REGAL_NO_NAMESPACE_GL_ARB_COMPUTE_VARIABLE_GROUP_SIZE\n#endif\n\n#if (defined(GL_ARB_COMPUTE_VARIABLE_GROUP_SIZE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_COMPUTE_VARIABLE_GROUP_SIZE)) && !defined(REGAL_NO_PLUGIN_GL_ARB_COMPUTE_VARIABLE_GROUP_SIZE)\n#define REGAL_NO_PLUGIN_GL_ARB_COMPUTE_VARIABLE_GROUP_SIZE\n#endif\n\n#if (defined(GL_ARB_COMPUTE_VARIABLE_GROUP_SIZE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_COMPUTE_VARIABLE_GROUP_SIZE)) && !defined(REGAL_NO_DECLARATION_GL_ARB_COMPUTE_VARIABLE_GROUP_SIZE)\n#define REGAL_NO_DECLARATION_GL_ARB_COMPUTE_VARIABLE_GROUP_SIZE\n#endif\n\n#ifndef GL_ARB_compute_variable_group_size\n#define GL_ARB_compute_variable_group_size 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_COMPUTE_VARIABLE_GROUP_SIZE\n#define GL_MAX_COMPUTE_FIXED_GROUP_INVOCATIONS_ARB    0x90eb     /* 37099 */\n#define GL_MAX_COMPUTE_FIXED_GROUP_SIZE_ARB           0x91bf     /* 37311 */\n#define GL_MAX_COMPUTE_VARIABLE_GROUP_INVOCATIONS_ARB 0x9344     /* 37700 */\n#define GL_MAX_COMPUTE_VARIABLE_GROUP_SIZE_ARB        0x9345     /* 37701 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_COMPUTE_VARIABLE_GROUP_SIZE\ntypedef void (REGAL_CALL *PFNGLDISPATCHCOMPUTEGROUPSIZEARBPROC)(GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z, GLuint group_size_x, GLuint group_size_y, GLuint group_size_z);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_COMPUTE_VARIABLE_GROUP_SIZE\n#define glDispatchComputeGroupSizeARB       rglDispatchComputeGroupSizeARB\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_COMPUTE_VARIABLE_GROUP_SIZE\nREGAL_DECL void REGAL_CALL glDispatchComputeGroupSizeARB(GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z, GLuint group_size_x, GLuint group_size_y, GLuint group_size_z);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_COMPUTE_VARIABLE_GROUP_SIZE\nREGAL_DECL void REGAL_CALL plugin_glDispatchComputeGroupSizeARB(GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z, GLuint group_size_x, GLuint group_size_y, GLuint group_size_z);\n#endif\n\n/**\n ** GL_ARB_copy_buffer\n **/\n\n#if (defined(GL_ARB_COPY_BUFFER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_COPY_BUFFER)) && !defined(REGAL_NO_ENUM_GL_ARB_COPY_BUFFER)\n#define REGAL_NO_ENUM_GL_ARB_COPY_BUFFER\n#endif\n\n#if (defined(GL_ARB_COPY_BUFFER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_COPY_BUFFER)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_COPY_BUFFER)\n#define REGAL_NO_TYPEDEF_GL_ARB_COPY_BUFFER\n#endif\n\n#if (defined(GL_ARB_COPY_BUFFER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_COPY_BUFFER)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_COPY_BUFFER)\n#define REGAL_NO_NAMESPACE_GL_ARB_COPY_BUFFER\n#endif\n\n#if (defined(GL_ARB_COPY_BUFFER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_COPY_BUFFER)) && !defined(REGAL_NO_PLUGIN_GL_ARB_COPY_BUFFER)\n#define REGAL_NO_PLUGIN_GL_ARB_COPY_BUFFER\n#endif\n\n#if (defined(GL_ARB_COPY_BUFFER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_COPY_BUFFER)) && !defined(REGAL_NO_DECLARATION_GL_ARB_COPY_BUFFER)\n#define REGAL_NO_DECLARATION_GL_ARB_COPY_BUFFER\n#endif\n\n#ifndef GL_ARB_copy_buffer\n#define GL_ARB_copy_buffer 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_COPY_BUFFER\n#define GL_COPY_READ_BUFFER  0x8f36     /* 36662 */\n#define GL_COPY_WRITE_BUFFER 0x8f37     /* 36663 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_COPY_BUFFER\ntypedef void (REGAL_CALL *PFNGLCOPYBUFFERSUBDATAPROC)(GLenum readtarget, GLenum writetarget, GLintptr readoffset, GLintptr writeoffset, GLsizeiptr size);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_COPY_BUFFER\n#define glCopyBufferSubData                 rglCopyBufferSubData\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_COPY_BUFFER\nREGAL_DECL void REGAL_CALL glCopyBufferSubData(GLenum readtarget, GLenum writetarget, GLintptr readoffset, GLintptr writeoffset, GLsizeiptr size);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_COPY_BUFFER\nREGAL_DECL void REGAL_CALL plugin_glCopyBufferSubData(GLenum readtarget, GLenum writetarget, GLintptr readoffset, GLintptr writeoffset, GLsizeiptr size);\n#endif\n\n/**\n ** GL_ARB_copy_image\n **/\n\n#if (defined(GL_ARB_COPY_IMAGE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_COPY_IMAGE)) && !defined(REGAL_NO_ENUM_GL_ARB_COPY_IMAGE)\n#define REGAL_NO_ENUM_GL_ARB_COPY_IMAGE\n#endif\n\n#if (defined(GL_ARB_COPY_IMAGE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_COPY_IMAGE)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_COPY_IMAGE)\n#define REGAL_NO_TYPEDEF_GL_ARB_COPY_IMAGE\n#endif\n\n#if (defined(GL_ARB_COPY_IMAGE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_COPY_IMAGE)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_COPY_IMAGE)\n#define REGAL_NO_NAMESPACE_GL_ARB_COPY_IMAGE\n#endif\n\n#if (defined(GL_ARB_COPY_IMAGE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_COPY_IMAGE)) && !defined(REGAL_NO_PLUGIN_GL_ARB_COPY_IMAGE)\n#define REGAL_NO_PLUGIN_GL_ARB_COPY_IMAGE\n#endif\n\n#if (defined(GL_ARB_COPY_IMAGE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_COPY_IMAGE)) && !defined(REGAL_NO_DECLARATION_GL_ARB_COPY_IMAGE)\n#define REGAL_NO_DECLARATION_GL_ARB_COPY_IMAGE\n#endif\n\n#ifndef GL_ARB_copy_image\n#define GL_ARB_copy_image 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_COPY_IMAGE\ntypedef void (REGAL_CALL *PFNGLCOPYIMAGESUBDATAPROC)(GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_COPY_IMAGE\n#define glCopyImageSubData                  rglCopyImageSubData\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_COPY_IMAGE\nREGAL_DECL void REGAL_CALL glCopyImageSubData(GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_COPY_IMAGE\nREGAL_DECL void REGAL_CALL plugin_glCopyImageSubData(GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth);\n#endif\n\n/**\n ** GL_ARB_debug_output\n **/\n\n#if (defined(GL_ARB_DEBUG_OUTPUT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_DEBUG_OUTPUT)) && !defined(REGAL_NO_ENUM_GL_ARB_DEBUG_OUTPUT)\n#define REGAL_NO_ENUM_GL_ARB_DEBUG_OUTPUT\n#endif\n\n#if (defined(GL_ARB_DEBUG_OUTPUT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_DEBUG_OUTPUT)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_DEBUG_OUTPUT)\n#define REGAL_NO_TYPEDEF_GL_ARB_DEBUG_OUTPUT\n#endif\n\n#if (defined(GL_ARB_DEBUG_OUTPUT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_DEBUG_OUTPUT)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_DEBUG_OUTPUT)\n#define REGAL_NO_NAMESPACE_GL_ARB_DEBUG_OUTPUT\n#endif\n\n#if (defined(GL_ARB_DEBUG_OUTPUT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_DEBUG_OUTPUT)) && !defined(REGAL_NO_PLUGIN_GL_ARB_DEBUG_OUTPUT)\n#define REGAL_NO_PLUGIN_GL_ARB_DEBUG_OUTPUT\n#endif\n\n#if (defined(GL_ARB_DEBUG_OUTPUT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_DEBUG_OUTPUT)) && !defined(REGAL_NO_DECLARATION_GL_ARB_DEBUG_OUTPUT)\n#define REGAL_NO_DECLARATION_GL_ARB_DEBUG_OUTPUT\n#endif\n\n#ifndef GL_ARB_debug_output\n#define GL_ARB_debug_output 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_DEBUG_OUTPUT\n#define GL_DEBUG_OUTPUT_SYNCHRONOUS_ARB         0x8242     /* 33346 */\n#define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_ARB 0x8243     /* 33347 */\n#define GL_DEBUG_CALLBACK_FUNCTION_ARB          0x8244     /* 33348 */\n#define GL_DEBUG_CALLBACK_USER_PARAM_ARB        0x8245     /* 33349 */\n#define GL_DEBUG_SOURCE_API_ARB                 0x8246     /* 33350 */\n#define GL_DEBUG_SOURCE_WINDOW_SYSTEM_ARB       0x8247     /* 33351 */\n#define GL_DEBUG_SOURCE_SHADER_COMPILER_ARB     0x8248     /* 33352 */\n#define GL_DEBUG_SOURCE_THIRD_PARTY_ARB         0x8249     /* 33353 */\n#define GL_DEBUG_SOURCE_APPLICATION_ARB         0x824a     /* 33354 */\n#define GL_DEBUG_SOURCE_OTHER_ARB               0x824b     /* 33355 */\n#define GL_DEBUG_TYPE_ERROR_ARB                 0x824c     /* 33356 */\n#define GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_ARB   0x824d     /* 33357 */\n#define GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_ARB    0x824e     /* 33358 */\n#define GL_DEBUG_TYPE_PORTABILITY_ARB           0x824f     /* 33359 */\n#define GL_DEBUG_TYPE_PERFORMANCE_ARB           0x8250     /* 33360 */\n#define GL_DEBUG_TYPE_OTHER_ARB                 0x8251     /* 33361 */\n#define GL_MAX_DEBUG_MESSAGE_LENGTH_ARB         0x9143     /* 37187 */\n#define GL_MAX_DEBUG_LOGGED_MESSAGES_ARB        0x9144     /* 37188 */\n#define GL_DEBUG_LOGGED_MESSAGES_ARB            0x9145     /* 37189 */\n#define GL_DEBUG_SEVERITY_HIGH_ARB              0x9146     /* 37190 */\n#define GL_DEBUG_SEVERITY_MEDIUM_ARB            0x9147     /* 37191 */\n#define GL_DEBUG_SEVERITY_LOW_ARB               0x9148     /* 37192 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_DEBUG_OUTPUT\ntypedef GLuint (REGAL_CALL *PFNGLGETDEBUGMESSAGELOGARBPROC)(GLuint count, GLsizei bufsize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);\ntypedef void (REGAL_CALL *PFNGLDEBUGMESSAGECALLBACKARBPROC)(GLDEBUGPROCARB callback, const GLvoid *userParam);\ntypedef void (REGAL_CALL *PFNGLDEBUGMESSAGECONTROLARBPROC)(GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);\ntypedef void (REGAL_CALL *PFNGLDEBUGMESSAGEINSERTARBPROC)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_DEBUG_OUTPUT\n#define glDebugMessageCallbackARB           rglDebugMessageCallbackARB\n#define glDebugMessageControlARB            rglDebugMessageControlARB\n#define glDebugMessageInsertARB             rglDebugMessageInsertARB\n#define glGetDebugMessageLogARB             rglGetDebugMessageLogARB\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_DEBUG_OUTPUT\nREGAL_DECL GLuint REGAL_CALL glGetDebugMessageLogARB(GLuint count, GLsizei bufsize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);\nREGAL_DECL void REGAL_CALL glDebugMessageCallbackARB(GLDEBUGPROCARB callback, const GLvoid *userParam);\nREGAL_DECL void REGAL_CALL glDebugMessageControlARB(GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);\nREGAL_DECL void REGAL_CALL glDebugMessageInsertARB(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_DEBUG_OUTPUT\nREGAL_DECL GLuint REGAL_CALL plugin_glGetDebugMessageLogARB(GLuint count, GLsizei bufsize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);\nREGAL_DECL void REGAL_CALL plugin_glDebugMessageCallbackARB(GLDEBUGPROCARB callback, const GLvoid *userParam);\nREGAL_DECL void REGAL_CALL plugin_glDebugMessageControlARB(GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);\nREGAL_DECL void REGAL_CALL plugin_glDebugMessageInsertARB(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);\n#endif\n\n/**\n ** GL_ARB_depth_buffer_float\n **/\n\n#if (defined(GL_ARB_DEPTH_BUFFER_FLOAT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_DEPTH_BUFFER_FLOAT)) && !defined(REGAL_NO_ENUM_GL_ARB_DEPTH_BUFFER_FLOAT)\n#define REGAL_NO_ENUM_GL_ARB_DEPTH_BUFFER_FLOAT\n#endif\n\n#if (defined(GL_ARB_DEPTH_BUFFER_FLOAT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_DEPTH_BUFFER_FLOAT)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_DEPTH_BUFFER_FLOAT)\n#define REGAL_NO_TYPEDEF_GL_ARB_DEPTH_BUFFER_FLOAT\n#endif\n\n#if (defined(GL_ARB_DEPTH_BUFFER_FLOAT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_DEPTH_BUFFER_FLOAT)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_DEPTH_BUFFER_FLOAT)\n#define REGAL_NO_NAMESPACE_GL_ARB_DEPTH_BUFFER_FLOAT\n#endif\n\n#if (defined(GL_ARB_DEPTH_BUFFER_FLOAT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_DEPTH_BUFFER_FLOAT)) && !defined(REGAL_NO_PLUGIN_GL_ARB_DEPTH_BUFFER_FLOAT)\n#define REGAL_NO_PLUGIN_GL_ARB_DEPTH_BUFFER_FLOAT\n#endif\n\n#if (defined(GL_ARB_DEPTH_BUFFER_FLOAT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_DEPTH_BUFFER_FLOAT)) && !defined(REGAL_NO_DECLARATION_GL_ARB_DEPTH_BUFFER_FLOAT)\n#define REGAL_NO_DECLARATION_GL_ARB_DEPTH_BUFFER_FLOAT\n#endif\n\n#ifndef GL_ARB_depth_buffer_float\n#define GL_ARB_depth_buffer_float 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_DEPTH_BUFFER_FLOAT\n#define GL_DEPTH_COMPONENT32F             0x8cac     /* 36012 */\n#define GL_DEPTH32F_STENCIL8              0x8cad     /* 36013 */\n#define GL_FLOAT_32_UNSIGNED_INT_24_8_REV 0x8dad     /* 36269 */\n#endif\n\n/**\n ** GL_ARB_depth_clamp\n **/\n\n#if (defined(GL_ARB_DEPTH_CLAMP) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_DEPTH_CLAMP)) && !defined(REGAL_NO_ENUM_GL_ARB_DEPTH_CLAMP)\n#define REGAL_NO_ENUM_GL_ARB_DEPTH_CLAMP\n#endif\n\n#if (defined(GL_ARB_DEPTH_CLAMP) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_DEPTH_CLAMP)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_DEPTH_CLAMP)\n#define REGAL_NO_TYPEDEF_GL_ARB_DEPTH_CLAMP\n#endif\n\n#if (defined(GL_ARB_DEPTH_CLAMP) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_DEPTH_CLAMP)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_DEPTH_CLAMP)\n#define REGAL_NO_NAMESPACE_GL_ARB_DEPTH_CLAMP\n#endif\n\n#if (defined(GL_ARB_DEPTH_CLAMP) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_DEPTH_CLAMP)) && !defined(REGAL_NO_PLUGIN_GL_ARB_DEPTH_CLAMP)\n#define REGAL_NO_PLUGIN_GL_ARB_DEPTH_CLAMP\n#endif\n\n#if (defined(GL_ARB_DEPTH_CLAMP) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_DEPTH_CLAMP)) && !defined(REGAL_NO_DECLARATION_GL_ARB_DEPTH_CLAMP)\n#define REGAL_NO_DECLARATION_GL_ARB_DEPTH_CLAMP\n#endif\n\n#ifndef GL_ARB_depth_clamp\n#define GL_ARB_depth_clamp 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_DEPTH_CLAMP\n#define GL_DEPTH_CLAMP 0x864f /* 34383 */\n#endif\n\n/**\n ** GL_ARB_depth_texture\n **/\n\n#if (defined(GL_ARB_DEPTH_TEXTURE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_DEPTH_TEXTURE)) && !defined(REGAL_NO_ENUM_GL_ARB_DEPTH_TEXTURE)\n#define REGAL_NO_ENUM_GL_ARB_DEPTH_TEXTURE\n#endif\n\n#if (defined(GL_ARB_DEPTH_TEXTURE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_DEPTH_TEXTURE)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_DEPTH_TEXTURE)\n#define REGAL_NO_TYPEDEF_GL_ARB_DEPTH_TEXTURE\n#endif\n\n#if (defined(GL_ARB_DEPTH_TEXTURE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_DEPTH_TEXTURE)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_DEPTH_TEXTURE)\n#define REGAL_NO_NAMESPACE_GL_ARB_DEPTH_TEXTURE\n#endif\n\n#if (defined(GL_ARB_DEPTH_TEXTURE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_DEPTH_TEXTURE)) && !defined(REGAL_NO_PLUGIN_GL_ARB_DEPTH_TEXTURE)\n#define REGAL_NO_PLUGIN_GL_ARB_DEPTH_TEXTURE\n#endif\n\n#if (defined(GL_ARB_DEPTH_TEXTURE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_DEPTH_TEXTURE)) && !defined(REGAL_NO_DECLARATION_GL_ARB_DEPTH_TEXTURE)\n#define REGAL_NO_DECLARATION_GL_ARB_DEPTH_TEXTURE\n#endif\n\n#ifndef GL_ARB_depth_texture\n#define GL_ARB_depth_texture 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_DEPTH_TEXTURE\n#define GL_DEPTH_COMPONENT16_ARB  0x81a5     /* 33189 */\n#define GL_DEPTH_COMPONENT24_ARB  0x81a6     /* 33190 */\n#define GL_DEPTH_COMPONENT32_ARB  0x81a7     /* 33191 */\n#define GL_TEXTURE_DEPTH_SIZE_ARB 0x884a     /* 34890 */\n#define GL_DEPTH_TEXTURE_MODE_ARB 0x884b     /* 34891 */\n#endif\n\n/**\n ** GL_ARB_draw_buffers\n **/\n\n#if (defined(GL_ARB_DRAW_BUFFERS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_DRAW_BUFFERS)) && !defined(REGAL_NO_ENUM_GL_ARB_DRAW_BUFFERS)\n#define REGAL_NO_ENUM_GL_ARB_DRAW_BUFFERS\n#endif\n\n#if (defined(GL_ARB_DRAW_BUFFERS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_DRAW_BUFFERS)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_DRAW_BUFFERS)\n#define REGAL_NO_TYPEDEF_GL_ARB_DRAW_BUFFERS\n#endif\n\n#if (defined(GL_ARB_DRAW_BUFFERS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_DRAW_BUFFERS)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_DRAW_BUFFERS)\n#define REGAL_NO_NAMESPACE_GL_ARB_DRAW_BUFFERS\n#endif\n\n#if (defined(GL_ARB_DRAW_BUFFERS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_DRAW_BUFFERS)) && !defined(REGAL_NO_PLUGIN_GL_ARB_DRAW_BUFFERS)\n#define REGAL_NO_PLUGIN_GL_ARB_DRAW_BUFFERS\n#endif\n\n#if (defined(GL_ARB_DRAW_BUFFERS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_DRAW_BUFFERS)) && !defined(REGAL_NO_DECLARATION_GL_ARB_DRAW_BUFFERS)\n#define REGAL_NO_DECLARATION_GL_ARB_DRAW_BUFFERS\n#endif\n\n#ifndef GL_ARB_draw_buffers\n#define GL_ARB_draw_buffers 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_DRAW_BUFFERS\n#define GL_MAX_DRAW_BUFFERS_ARB 0x8824     /* 34852 */\n#define GL_DRAW_BUFFER0_ARB     0x8825     /* 34853 */\n#define GL_DRAW_BUFFER1_ARB     0x8826     /* 34854 */\n#define GL_DRAW_BUFFER2_ARB     0x8827     /* 34855 */\n#define GL_DRAW_BUFFER3_ARB     0x8828     /* 34856 */\n#define GL_DRAW_BUFFER4_ARB     0x8829     /* 34857 */\n#define GL_DRAW_BUFFER5_ARB     0x882a     /* 34858 */\n#define GL_DRAW_BUFFER6_ARB     0x882b     /* 34859 */\n#define GL_DRAW_BUFFER7_ARB     0x882c     /* 34860 */\n#define GL_DRAW_BUFFER8_ARB     0x882d     /* 34861 */\n#define GL_DRAW_BUFFER9_ARB     0x882e     /* 34862 */\n#define GL_DRAW_BUFFER10_ARB    0x882f     /* 34863 */\n#define GL_DRAW_BUFFER11_ARB    0x8830     /* 34864 */\n#define GL_DRAW_BUFFER12_ARB    0x8831     /* 34865 */\n#define GL_DRAW_BUFFER13_ARB    0x8832     /* 34866 */\n#define GL_DRAW_BUFFER14_ARB    0x8833     /* 34867 */\n#define GL_DRAW_BUFFER15_ARB    0x8834     /* 34868 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_DRAW_BUFFERS\ntypedef void (REGAL_CALL *PFNGLDRAWBUFFERSARBPROC)(GLsizei n, const GLenum *bufs);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_DRAW_BUFFERS\n#define glDrawBuffersARB                    rglDrawBuffersARB\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_DRAW_BUFFERS\nREGAL_DECL void REGAL_CALL glDrawBuffersARB(GLsizei n, const GLenum *bufs);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_DRAW_BUFFERS\nREGAL_DECL void REGAL_CALL plugin_glDrawBuffersARB(GLsizei n, const GLenum *bufs);\n#endif\n\n/**\n ** GL_ARB_draw_buffers_blend\n **/\n\n#if (defined(GL_ARB_DRAW_BUFFERS_BLEND) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_DRAW_BUFFERS_BLEND)) && !defined(REGAL_NO_ENUM_GL_ARB_DRAW_BUFFERS_BLEND)\n#define REGAL_NO_ENUM_GL_ARB_DRAW_BUFFERS_BLEND\n#endif\n\n#if (defined(GL_ARB_DRAW_BUFFERS_BLEND) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_DRAW_BUFFERS_BLEND)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_DRAW_BUFFERS_BLEND)\n#define REGAL_NO_TYPEDEF_GL_ARB_DRAW_BUFFERS_BLEND\n#endif\n\n#if (defined(GL_ARB_DRAW_BUFFERS_BLEND) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_DRAW_BUFFERS_BLEND)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_DRAW_BUFFERS_BLEND)\n#define REGAL_NO_NAMESPACE_GL_ARB_DRAW_BUFFERS_BLEND\n#endif\n\n#if (defined(GL_ARB_DRAW_BUFFERS_BLEND) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_DRAW_BUFFERS_BLEND)) && !defined(REGAL_NO_PLUGIN_GL_ARB_DRAW_BUFFERS_BLEND)\n#define REGAL_NO_PLUGIN_GL_ARB_DRAW_BUFFERS_BLEND\n#endif\n\n#if (defined(GL_ARB_DRAW_BUFFERS_BLEND) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_DRAW_BUFFERS_BLEND)) && !defined(REGAL_NO_DECLARATION_GL_ARB_DRAW_BUFFERS_BLEND)\n#define REGAL_NO_DECLARATION_GL_ARB_DRAW_BUFFERS_BLEND\n#endif\n\n#ifndef GL_ARB_draw_buffers_blend\n#define GL_ARB_draw_buffers_blend 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_DRAW_BUFFERS_BLEND\ntypedef void (REGAL_CALL *PFNGLBLENDEQUATIONIARBPROC)(GLuint buf, GLenum mode);\ntypedef void (REGAL_CALL *PFNGLBLENDEQUATIONSEPARATEIARBPROC)(GLuint buf, GLenum modeRGB, GLenum modeAlpha);\ntypedef void (REGAL_CALL *PFNGLBLENDFUNCIARBPROC)(GLuint buf, GLenum src, GLenum dst);\ntypedef void (REGAL_CALL *PFNGLBLENDFUNCSEPARATEIARBPROC)(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_DRAW_BUFFERS_BLEND\n#define glBlendEquationSeparateiARB         rglBlendEquationSeparateiARB\n#define glBlendEquationiARB                 rglBlendEquationiARB\n#define glBlendFuncSeparateiARB             rglBlendFuncSeparateiARB\n#define glBlendFunciARB                     rglBlendFunciARB\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_DRAW_BUFFERS_BLEND\nREGAL_DECL void REGAL_CALL glBlendEquationSeparateiARB(GLuint buf, GLenum modeRGB, GLenum modeAlpha);\nREGAL_DECL void REGAL_CALL glBlendEquationiARB(GLuint buf, GLenum mode);\nREGAL_DECL void REGAL_CALL glBlendFuncSeparateiARB(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);\nREGAL_DECL void REGAL_CALL glBlendFunciARB(GLuint buf, GLenum src, GLenum dst);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_DRAW_BUFFERS_BLEND\nREGAL_DECL void REGAL_CALL plugin_glBlendEquationSeparateiARB(GLuint buf, GLenum modeRGB, GLenum modeAlpha);\nREGAL_DECL void REGAL_CALL plugin_glBlendEquationiARB(GLuint buf, GLenum mode);\nREGAL_DECL void REGAL_CALL plugin_glBlendFuncSeparateiARB(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);\nREGAL_DECL void REGAL_CALL plugin_glBlendFunciARB(GLuint buf, GLenum src, GLenum dst);\n#endif\n\n/**\n ** GL_ARB_draw_elements_base_vertex\n **/\n\n#if (defined(GL_ARB_DRAW_ELEMENTS_BASE_VERTEX) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_DRAW_ELEMENTS_BASE_VERTEX)) && !defined(REGAL_NO_ENUM_GL_ARB_DRAW_ELEMENTS_BASE_VERTEX)\n#define REGAL_NO_ENUM_GL_ARB_DRAW_ELEMENTS_BASE_VERTEX\n#endif\n\n#if (defined(GL_ARB_DRAW_ELEMENTS_BASE_VERTEX) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_DRAW_ELEMENTS_BASE_VERTEX)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_DRAW_ELEMENTS_BASE_VERTEX)\n#define REGAL_NO_TYPEDEF_GL_ARB_DRAW_ELEMENTS_BASE_VERTEX\n#endif\n\n#if (defined(GL_ARB_DRAW_ELEMENTS_BASE_VERTEX) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_DRAW_ELEMENTS_BASE_VERTEX)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_DRAW_ELEMENTS_BASE_VERTEX)\n#define REGAL_NO_NAMESPACE_GL_ARB_DRAW_ELEMENTS_BASE_VERTEX\n#endif\n\n#if (defined(GL_ARB_DRAW_ELEMENTS_BASE_VERTEX) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_DRAW_ELEMENTS_BASE_VERTEX)) && !defined(REGAL_NO_PLUGIN_GL_ARB_DRAW_ELEMENTS_BASE_VERTEX)\n#define REGAL_NO_PLUGIN_GL_ARB_DRAW_ELEMENTS_BASE_VERTEX\n#endif\n\n#if (defined(GL_ARB_DRAW_ELEMENTS_BASE_VERTEX) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_DRAW_ELEMENTS_BASE_VERTEX)) && !defined(REGAL_NO_DECLARATION_GL_ARB_DRAW_ELEMENTS_BASE_VERTEX)\n#define REGAL_NO_DECLARATION_GL_ARB_DRAW_ELEMENTS_BASE_VERTEX\n#endif\n\n#ifndef GL_ARB_draw_elements_base_vertex\n#define GL_ARB_draw_elements_base_vertex 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_DRAW_ELEMENTS_BASE_VERTEX\ntypedef void (REGAL_CALL *PFNGLDRAWELEMENTSBASEVERTEXPROC)(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex);\ntypedef void (REGAL_CALL *PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC)(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount, GLint basevertex);\ntypedef void (REGAL_CALL *PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex);\ntypedef void (REGAL_CALL *PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC)(GLenum mode, const GLsizei *count, GLenum type, const GLvoid * const *indices, GLsizei primcount, const GLint *basevertex);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_DRAW_ELEMENTS_BASE_VERTEX\n#define glDrawElementsBaseVertex            rglDrawElementsBaseVertex\n#define glDrawElementsInstancedBaseVertex   rglDrawElementsInstancedBaseVertex\n#define glDrawRangeElementsBaseVertex       rglDrawRangeElementsBaseVertex\n#define glMultiDrawElementsBaseVertex       rglMultiDrawElementsBaseVertex\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_DRAW_ELEMENTS_BASE_VERTEX\nREGAL_DECL void REGAL_CALL glDrawElementsBaseVertex(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex);\nREGAL_DECL void REGAL_CALL glDrawElementsInstancedBaseVertex(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount, GLint basevertex);\nREGAL_DECL void REGAL_CALL glDrawRangeElementsBaseVertex(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex);\nREGAL_DECL void REGAL_CALL glMultiDrawElementsBaseVertex(GLenum mode, const GLsizei *count, GLenum type, const GLvoid * const *indices, GLsizei primcount, const GLint *basevertex);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_DRAW_ELEMENTS_BASE_VERTEX\nREGAL_DECL void REGAL_CALL plugin_glDrawElementsBaseVertex(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex);\nREGAL_DECL void REGAL_CALL plugin_glDrawElementsInstancedBaseVertex(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount, GLint basevertex);\nREGAL_DECL void REGAL_CALL plugin_glDrawRangeElementsBaseVertex(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex);\nREGAL_DECL void REGAL_CALL plugin_glMultiDrawElementsBaseVertex(GLenum mode, const GLsizei *count, GLenum type, const GLvoid * const *indices, GLsizei primcount, const GLint *basevertex);\n#endif\n\n/**\n ** GL_ARB_draw_indirect\n **/\n\n#if (defined(GL_ARB_DRAW_INDIRECT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_DRAW_INDIRECT)) && !defined(REGAL_NO_ENUM_GL_ARB_DRAW_INDIRECT)\n#define REGAL_NO_ENUM_GL_ARB_DRAW_INDIRECT\n#endif\n\n#if (defined(GL_ARB_DRAW_INDIRECT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_DRAW_INDIRECT)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_DRAW_INDIRECT)\n#define REGAL_NO_TYPEDEF_GL_ARB_DRAW_INDIRECT\n#endif\n\n#if (defined(GL_ARB_DRAW_INDIRECT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_DRAW_INDIRECT)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_DRAW_INDIRECT)\n#define REGAL_NO_NAMESPACE_GL_ARB_DRAW_INDIRECT\n#endif\n\n#if (defined(GL_ARB_DRAW_INDIRECT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_DRAW_INDIRECT)) && !defined(REGAL_NO_PLUGIN_GL_ARB_DRAW_INDIRECT)\n#define REGAL_NO_PLUGIN_GL_ARB_DRAW_INDIRECT\n#endif\n\n#if (defined(GL_ARB_DRAW_INDIRECT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_DRAW_INDIRECT)) && !defined(REGAL_NO_DECLARATION_GL_ARB_DRAW_INDIRECT)\n#define REGAL_NO_DECLARATION_GL_ARB_DRAW_INDIRECT\n#endif\n\n#ifndef GL_ARB_draw_indirect\n#define GL_ARB_draw_indirect 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_DRAW_INDIRECT\n#define GL_DRAW_INDIRECT_BUFFER         0x8f3f     /* 36671 */\n#define GL_DRAW_INDIRECT_BUFFER_BINDING 0x8f43     /* 36675 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_DRAW_INDIRECT\ntypedef void (REGAL_CALL *PFNGLDRAWARRAYSINDIRECTPROC)(GLenum mode, const GLvoid *indirect);\ntypedef void (REGAL_CALL *PFNGLDRAWELEMENTSINDIRECTPROC)(GLenum mode, GLenum type, const GLvoid *indirect);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_DRAW_INDIRECT\n#define glDrawArraysIndirect                rglDrawArraysIndirect\n#define glDrawElementsIndirect              rglDrawElementsIndirect\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_DRAW_INDIRECT\nREGAL_DECL void REGAL_CALL glDrawArraysIndirect(GLenum mode, const GLvoid *indirect);\nREGAL_DECL void REGAL_CALL glDrawElementsIndirect(GLenum mode, GLenum type, const GLvoid *indirect);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_DRAW_INDIRECT\nREGAL_DECL void REGAL_CALL plugin_glDrawArraysIndirect(GLenum mode, const GLvoid *indirect);\nREGAL_DECL void REGAL_CALL plugin_glDrawElementsIndirect(GLenum mode, GLenum type, const GLvoid *indirect);\n#endif\n\n/**\n ** GL_ARB_draw_instanced\n **/\n\n#if (defined(GL_ARB_DRAW_INSTANCED) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_DRAW_INSTANCED)) && !defined(REGAL_NO_ENUM_GL_ARB_DRAW_INSTANCED)\n#define REGAL_NO_ENUM_GL_ARB_DRAW_INSTANCED\n#endif\n\n#if (defined(GL_ARB_DRAW_INSTANCED) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_DRAW_INSTANCED)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_DRAW_INSTANCED)\n#define REGAL_NO_TYPEDEF_GL_ARB_DRAW_INSTANCED\n#endif\n\n#if (defined(GL_ARB_DRAW_INSTANCED) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_DRAW_INSTANCED)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_DRAW_INSTANCED)\n#define REGAL_NO_NAMESPACE_GL_ARB_DRAW_INSTANCED\n#endif\n\n#if (defined(GL_ARB_DRAW_INSTANCED) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_DRAW_INSTANCED)) && !defined(REGAL_NO_PLUGIN_GL_ARB_DRAW_INSTANCED)\n#define REGAL_NO_PLUGIN_GL_ARB_DRAW_INSTANCED\n#endif\n\n#if (defined(GL_ARB_DRAW_INSTANCED) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_DRAW_INSTANCED)) && !defined(REGAL_NO_DECLARATION_GL_ARB_DRAW_INSTANCED)\n#define REGAL_NO_DECLARATION_GL_ARB_DRAW_INSTANCED\n#endif\n\n#ifndef GL_ARB_draw_instanced\n#define GL_ARB_draw_instanced 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_DRAW_INSTANCED\ntypedef void (REGAL_CALL *PFNGLDRAWARRAYSINSTANCEDARBPROC)(GLenum mode, GLint start, GLsizei count, GLsizei primcount);\ntypedef void (REGAL_CALL *PFNGLDRAWELEMENTSINSTANCEDARBPROC)(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_DRAW_INSTANCED\n#define glDrawArraysInstancedARB            rglDrawArraysInstancedARB\n#define glDrawElementsInstancedARB          rglDrawElementsInstancedARB\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_DRAW_INSTANCED\nREGAL_DECL void REGAL_CALL glDrawArraysInstancedARB(GLenum mode, GLint start, GLsizei count, GLsizei primcount);\nREGAL_DECL void REGAL_CALL glDrawElementsInstancedARB(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_DRAW_INSTANCED\nREGAL_DECL void REGAL_CALL plugin_glDrawArraysInstancedARB(GLenum mode, GLint start, GLsizei count, GLsizei primcount);\nREGAL_DECL void REGAL_CALL plugin_glDrawElementsInstancedARB(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount);\n#endif\n\n/**\n ** GL_ARB_enhanced_layouts\n **/\n\n#if (defined(GL_ARB_ENHANCED_LAYOUTS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_ENHANCED_LAYOUTS)) && !defined(REGAL_NO_ENUM_GL_ARB_ENHANCED_LAYOUTS)\n#define REGAL_NO_ENUM_GL_ARB_ENHANCED_LAYOUTS\n#endif\n\n#if (defined(GL_ARB_ENHANCED_LAYOUTS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_ENHANCED_LAYOUTS)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_ENHANCED_LAYOUTS)\n#define REGAL_NO_TYPEDEF_GL_ARB_ENHANCED_LAYOUTS\n#endif\n\n#if (defined(GL_ARB_ENHANCED_LAYOUTS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_ENHANCED_LAYOUTS)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_ENHANCED_LAYOUTS)\n#define REGAL_NO_NAMESPACE_GL_ARB_ENHANCED_LAYOUTS\n#endif\n\n#if (defined(GL_ARB_ENHANCED_LAYOUTS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_ENHANCED_LAYOUTS)) && !defined(REGAL_NO_PLUGIN_GL_ARB_ENHANCED_LAYOUTS)\n#define REGAL_NO_PLUGIN_GL_ARB_ENHANCED_LAYOUTS\n#endif\n\n#if (defined(GL_ARB_ENHANCED_LAYOUTS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_ENHANCED_LAYOUTS)) && !defined(REGAL_NO_DECLARATION_GL_ARB_ENHANCED_LAYOUTS)\n#define REGAL_NO_DECLARATION_GL_ARB_ENHANCED_LAYOUTS\n#endif\n\n#ifndef GL_ARB_enhanced_layouts\n#define GL_ARB_enhanced_layouts 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_ENHANCED_LAYOUTS\n#define GL_LOCATION_COMPONENT               0x934a     /* 37706 */\n#define GL_TRANSFORM_FEEDBACK_BUFFER_INDEX  0x934b     /* 37707 */\n#define GL_TRANSFORM_FEEDBACK_BUFFER_STRIDE 0x934c     /* 37708 */\n#endif\n\n/**\n ** GL_ARB_explicit_uniform_location\n **/\n\n#if (defined(GL_ARB_EXPLICIT_UNIFORM_LOCATION) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_EXPLICIT_UNIFORM_LOCATION)) && !defined(REGAL_NO_ENUM_GL_ARB_EXPLICIT_UNIFORM_LOCATION)\n#define REGAL_NO_ENUM_GL_ARB_EXPLICIT_UNIFORM_LOCATION\n#endif\n\n#if (defined(GL_ARB_EXPLICIT_UNIFORM_LOCATION) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_EXPLICIT_UNIFORM_LOCATION)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_EXPLICIT_UNIFORM_LOCATION)\n#define REGAL_NO_TYPEDEF_GL_ARB_EXPLICIT_UNIFORM_LOCATION\n#endif\n\n#if (defined(GL_ARB_EXPLICIT_UNIFORM_LOCATION) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_EXPLICIT_UNIFORM_LOCATION)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_EXPLICIT_UNIFORM_LOCATION)\n#define REGAL_NO_NAMESPACE_GL_ARB_EXPLICIT_UNIFORM_LOCATION\n#endif\n\n#if (defined(GL_ARB_EXPLICIT_UNIFORM_LOCATION) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_EXPLICIT_UNIFORM_LOCATION)) && !defined(REGAL_NO_PLUGIN_GL_ARB_EXPLICIT_UNIFORM_LOCATION)\n#define REGAL_NO_PLUGIN_GL_ARB_EXPLICIT_UNIFORM_LOCATION\n#endif\n\n#if (defined(GL_ARB_EXPLICIT_UNIFORM_LOCATION) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_EXPLICIT_UNIFORM_LOCATION)) && !defined(REGAL_NO_DECLARATION_GL_ARB_EXPLICIT_UNIFORM_LOCATION)\n#define REGAL_NO_DECLARATION_GL_ARB_EXPLICIT_UNIFORM_LOCATION\n#endif\n\n#ifndef GL_ARB_explicit_uniform_location\n#define GL_ARB_explicit_uniform_location 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_EXPLICIT_UNIFORM_LOCATION\n#define GL_MAX_UNIFORM_LOCATIONS 0x826e /* 33390 */\n#endif\n\n/**\n ** GL_ARB_fragment_program\n **/\n\n#if (defined(GL_ARB_FRAGMENT_PROGRAM) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_FRAGMENT_PROGRAM)) && !defined(REGAL_NO_ENUM_GL_ARB_FRAGMENT_PROGRAM)\n#define REGAL_NO_ENUM_GL_ARB_FRAGMENT_PROGRAM\n#endif\n\n#if (defined(GL_ARB_FRAGMENT_PROGRAM) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_FRAGMENT_PROGRAM)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_FRAGMENT_PROGRAM)\n#define REGAL_NO_TYPEDEF_GL_ARB_FRAGMENT_PROGRAM\n#endif\n\n#if (defined(GL_ARB_FRAGMENT_PROGRAM) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_FRAGMENT_PROGRAM)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_FRAGMENT_PROGRAM)\n#define REGAL_NO_NAMESPACE_GL_ARB_FRAGMENT_PROGRAM\n#endif\n\n#if (defined(GL_ARB_FRAGMENT_PROGRAM) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_FRAGMENT_PROGRAM)) && !defined(REGAL_NO_PLUGIN_GL_ARB_FRAGMENT_PROGRAM)\n#define REGAL_NO_PLUGIN_GL_ARB_FRAGMENT_PROGRAM\n#endif\n\n#if (defined(GL_ARB_FRAGMENT_PROGRAM) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_FRAGMENT_PROGRAM)) && !defined(REGAL_NO_DECLARATION_GL_ARB_FRAGMENT_PROGRAM)\n#define REGAL_NO_DECLARATION_GL_ARB_FRAGMENT_PROGRAM\n#endif\n\n#ifndef GL_ARB_fragment_program\n#define GL_ARB_fragment_program 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_FRAGMENT_PROGRAM\n#define GL_FRAGMENT_PROGRAM_ARB                    0x8804     /* 34820 */\n#define GL_PROGRAM_ALU_INSTRUCTIONS_ARB            0x8805     /* 34821 */\n#define GL_PROGRAM_TEX_INSTRUCTIONS_ARB            0x8806     /* 34822 */\n#define GL_PROGRAM_TEX_INDIRECTIONS_ARB            0x8807     /* 34823 */\n#define GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB     0x8808     /* 34824 */\n#define GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB     0x8809     /* 34825 */\n#define GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB     0x880a     /* 34826 */\n#define GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB        0x880b     /* 34827 */\n#define GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB        0x880c     /* 34828 */\n#define GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB        0x880d     /* 34829 */\n#define GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB 0x880e     /* 34830 */\n#define GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB 0x880f     /* 34831 */\n#define GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB 0x8810     /* 34832 */\n#define GL_MAX_TEXTURE_COORDS_ARB                  0x8871     /* 34929 */\n#define GL_MAX_TEXTURE_IMAGE_UNITS_ARB             0x8872     /* 34930 */\n#endif\n\n/**\n ** GL_ARB_fragment_shader\n **/\n\n#if (defined(GL_ARB_FRAGMENT_SHADER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_FRAGMENT_SHADER)) && !defined(REGAL_NO_ENUM_GL_ARB_FRAGMENT_SHADER)\n#define REGAL_NO_ENUM_GL_ARB_FRAGMENT_SHADER\n#endif\n\n#if (defined(GL_ARB_FRAGMENT_SHADER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_FRAGMENT_SHADER)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_FRAGMENT_SHADER)\n#define REGAL_NO_TYPEDEF_GL_ARB_FRAGMENT_SHADER\n#endif\n\n#if (defined(GL_ARB_FRAGMENT_SHADER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_FRAGMENT_SHADER)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_FRAGMENT_SHADER)\n#define REGAL_NO_NAMESPACE_GL_ARB_FRAGMENT_SHADER\n#endif\n\n#if (defined(GL_ARB_FRAGMENT_SHADER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_FRAGMENT_SHADER)) && !defined(REGAL_NO_PLUGIN_GL_ARB_FRAGMENT_SHADER)\n#define REGAL_NO_PLUGIN_GL_ARB_FRAGMENT_SHADER\n#endif\n\n#if (defined(GL_ARB_FRAGMENT_SHADER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_FRAGMENT_SHADER)) && !defined(REGAL_NO_DECLARATION_GL_ARB_FRAGMENT_SHADER)\n#define REGAL_NO_DECLARATION_GL_ARB_FRAGMENT_SHADER\n#endif\n\n#ifndef GL_ARB_fragment_shader\n#define GL_ARB_fragment_shader 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_FRAGMENT_SHADER\n#define GL_FRAGMENT_SHADER_ARB                 0x8b30     /* 35632 */\n#define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB 0x8b49     /* 35657 */\n#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB 0x8b8b     /* 35723 */\n#endif\n\n/**\n ** GL_ARB_framebuffer_no_attachments\n **/\n\n#if (defined(GL_ARB_FRAMEBUFFER_NO_ATTACHMENTS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_FRAMEBUFFER_NO_ATTACHMENTS)) && !defined(REGAL_NO_ENUM_GL_ARB_FRAMEBUFFER_NO_ATTACHMENTS)\n#define REGAL_NO_ENUM_GL_ARB_FRAMEBUFFER_NO_ATTACHMENTS\n#endif\n\n#if (defined(GL_ARB_FRAMEBUFFER_NO_ATTACHMENTS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_FRAMEBUFFER_NO_ATTACHMENTS)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_FRAMEBUFFER_NO_ATTACHMENTS)\n#define REGAL_NO_TYPEDEF_GL_ARB_FRAMEBUFFER_NO_ATTACHMENTS\n#endif\n\n#if (defined(GL_ARB_FRAMEBUFFER_NO_ATTACHMENTS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_FRAMEBUFFER_NO_ATTACHMENTS)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_FRAMEBUFFER_NO_ATTACHMENTS)\n#define REGAL_NO_NAMESPACE_GL_ARB_FRAMEBUFFER_NO_ATTACHMENTS\n#endif\n\n#if (defined(GL_ARB_FRAMEBUFFER_NO_ATTACHMENTS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_FRAMEBUFFER_NO_ATTACHMENTS)) && !defined(REGAL_NO_PLUGIN_GL_ARB_FRAMEBUFFER_NO_ATTACHMENTS)\n#define REGAL_NO_PLUGIN_GL_ARB_FRAMEBUFFER_NO_ATTACHMENTS\n#endif\n\n#if (defined(GL_ARB_FRAMEBUFFER_NO_ATTACHMENTS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_FRAMEBUFFER_NO_ATTACHMENTS)) && !defined(REGAL_NO_DECLARATION_GL_ARB_FRAMEBUFFER_NO_ATTACHMENTS)\n#define REGAL_NO_DECLARATION_GL_ARB_FRAMEBUFFER_NO_ATTACHMENTS\n#endif\n\n#ifndef GL_ARB_framebuffer_no_attachments\n#define GL_ARB_framebuffer_no_attachments 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_FRAMEBUFFER_NO_ATTACHMENTS\n#define GL_FRAMEBUFFER_DEFAULT_WIDTH                  0x9310     /* 37648 */\n#define GL_FRAMEBUFFER_DEFAULT_HEIGHT                 0x9311     /* 37649 */\n#define GL_FRAMEBUFFER_DEFAULT_LAYERS                 0x9312     /* 37650 */\n#define GL_FRAMEBUFFER_DEFAULT_SAMPLES                0x9313     /* 37651 */\n#define GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS 0x9314     /* 37652 */\n#define GL_MAX_FRAMEBUFFER_WIDTH                      0x9315     /* 37653 */\n#define GL_MAX_FRAMEBUFFER_HEIGHT                     0x9316     /* 37654 */\n#define GL_MAX_FRAMEBUFFER_LAYERS                     0x9317     /* 37655 */\n#define GL_MAX_FRAMEBUFFER_SAMPLES                    0x9318     /* 37656 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_FRAMEBUFFER_NO_ATTACHMENTS\ntypedef void (REGAL_CALL *PFNGLFRAMEBUFFERPARAMETERIPROC)(GLenum target, GLenum pname, GLint param);\ntypedef void (REGAL_CALL *PFNGLGETFRAMEBUFFERPARAMETERIVPROC)(GLenum target, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVEXTPROC)(GLuint framebuffer, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLNAMEDFRAMEBUFFERPARAMETERIEXTPROC)(GLuint framebuffer, GLenum pname, GLint param);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_FRAMEBUFFER_NO_ATTACHMENTS\n#define glFramebufferParameteri             rglFramebufferParameteri\n#define glGetFramebufferParameteriv         rglGetFramebufferParameteriv\n#define glGetNamedFramebufferParameterivEXT rglGetNamedFramebufferParameterivEXT\n#define glNamedFramebufferParameteriEXT     rglNamedFramebufferParameteriEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_FRAMEBUFFER_NO_ATTACHMENTS\nREGAL_DECL void REGAL_CALL glFramebufferParameteri(GLenum target, GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL glGetFramebufferParameteriv(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetNamedFramebufferParameterivEXT(GLuint framebuffer, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glNamedFramebufferParameteriEXT(GLuint framebuffer, GLenum pname, GLint param);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_FRAMEBUFFER_NO_ATTACHMENTS\nREGAL_DECL void REGAL_CALL plugin_glFramebufferParameteri(GLenum target, GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL plugin_glGetFramebufferParameteriv(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetNamedFramebufferParameterivEXT(GLuint framebuffer, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glNamedFramebufferParameteriEXT(GLuint framebuffer, GLenum pname, GLint param);\n#endif\n\n/**\n ** GL_ARB_framebuffer_object\n **/\n\n#if (defined(GL_ARB_FRAMEBUFFER_OBJECT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_FRAMEBUFFER_OBJECT)) && !defined(REGAL_NO_ENUM_GL_ARB_FRAMEBUFFER_OBJECT)\n#define REGAL_NO_ENUM_GL_ARB_FRAMEBUFFER_OBJECT\n#endif\n\n#if (defined(GL_ARB_FRAMEBUFFER_OBJECT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_FRAMEBUFFER_OBJECT)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_FRAMEBUFFER_OBJECT)\n#define REGAL_NO_TYPEDEF_GL_ARB_FRAMEBUFFER_OBJECT\n#endif\n\n#if (defined(GL_ARB_FRAMEBUFFER_OBJECT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_FRAMEBUFFER_OBJECT)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_FRAMEBUFFER_OBJECT)\n#define REGAL_NO_NAMESPACE_GL_ARB_FRAMEBUFFER_OBJECT\n#endif\n\n#if (defined(GL_ARB_FRAMEBUFFER_OBJECT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_FRAMEBUFFER_OBJECT)) && !defined(REGAL_NO_PLUGIN_GL_ARB_FRAMEBUFFER_OBJECT)\n#define REGAL_NO_PLUGIN_GL_ARB_FRAMEBUFFER_OBJECT\n#endif\n\n#if (defined(GL_ARB_FRAMEBUFFER_OBJECT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_FRAMEBUFFER_OBJECT)) && !defined(REGAL_NO_DECLARATION_GL_ARB_FRAMEBUFFER_OBJECT)\n#define REGAL_NO_DECLARATION_GL_ARB_FRAMEBUFFER_OBJECT\n#endif\n\n#ifndef GL_ARB_framebuffer_object\n#define GL_ARB_framebuffer_object 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_FRAMEBUFFER_OBJECT\n#define GL_INVALID_FRAMEBUFFER_OPERATION                0x506      /* 1286 */\n#define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING        0x8210     /* 33296 */\n#define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE        0x8211     /* 33297 */\n#define GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE              0x8212     /* 33298 */\n#define GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE            0x8213     /* 33299 */\n#define GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE             0x8214     /* 33300 */\n#define GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE            0x8215     /* 33301 */\n#define GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE            0x8216     /* 33302 */\n#define GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE          0x8217     /* 33303 */\n#define GL_FRAMEBUFFER_DEFAULT                          0x8218     /* 33304 */\n#define GL_FRAMEBUFFER_UNDEFINED                        0x8219     /* 33305 */\n#define GL_DEPTH_STENCIL_ATTACHMENT                     0x821a     /* 33306 */\n#define GL_INDEX                                        0x8222     /* 33314 */\n#define GL_MAX_RENDERBUFFER_SIZE                        0x84e8     /* 34024 */\n#define GL_DEPTH_STENCIL                                0x84f9     /* 34041 */\n#define GL_UNSIGNED_INT_24_8                            0x84fa     /* 34042 */\n#define GL_DEPTH24_STENCIL8                             0x88f0     /* 35056 */\n#define GL_TEXTURE_STENCIL_SIZE                         0x88f1     /* 35057 */\n#define GL_UNSIGNED_NORMALIZED                          0x8c17     /* 35863 */\n#define GL_DRAW_FRAMEBUFFER_BINDING                     0x8ca6     /* 36006 */\n#define GL_FRAMEBUFFER_BINDING                          0x8ca6     /* 36006 */\n#define GL_RENDERBUFFER_BINDING                         0x8ca7     /* 36007 */\n#define GL_READ_FRAMEBUFFER                             0x8ca8     /* 36008 */\n#define GL_DRAW_FRAMEBUFFER                             0x8ca9     /* 36009 */\n#define GL_READ_FRAMEBUFFER_BINDING                     0x8caa     /* 36010 */\n#define GL_RENDERBUFFER_SAMPLES                         0x8cab     /* 36011 */\n#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE           0x8cd0     /* 36048 */\n#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME           0x8cd1     /* 36049 */\n#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL         0x8cd2     /* 36050 */\n#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE 0x8cd3     /* 36051 */\n#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER         0x8cd4     /* 36052 */\n#define GL_FRAMEBUFFER_COMPLETE                         0x8cd5     /* 36053 */\n#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT            0x8cd6     /* 36054 */\n#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT    0x8cd7     /* 36055 */\n#define GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER           0x8cdb     /* 36059 */\n#define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER           0x8cdc     /* 36060 */\n#define GL_FRAMEBUFFER_UNSUPPORTED                      0x8cdd     /* 36061 */\n#define GL_MAX_COLOR_ATTACHMENTS                        0x8cdf     /* 36063 */\n#define GL_COLOR_ATTACHMENT0                            0x8ce0     /* 36064 */\n#define GL_COLOR_ATTACHMENT1                            0x8ce1     /* 36065 */\n#define GL_COLOR_ATTACHMENT2                            0x8ce2     /* 36066 */\n#define GL_COLOR_ATTACHMENT3                            0x8ce3     /* 36067 */\n#define GL_COLOR_ATTACHMENT4                            0x8ce4     /* 36068 */\n#define GL_COLOR_ATTACHMENT5                            0x8ce5     /* 36069 */\n#define GL_COLOR_ATTACHMENT6                            0x8ce6     /* 36070 */\n#define GL_COLOR_ATTACHMENT7                            0x8ce7     /* 36071 */\n#define GL_COLOR_ATTACHMENT8                            0x8ce8     /* 36072 */\n#define GL_COLOR_ATTACHMENT9                            0x8ce9     /* 36073 */\n#define GL_COLOR_ATTACHMENT10                           0x8cea     /* 36074 */\n#define GL_COLOR_ATTACHMENT11                           0x8ceb     /* 36075 */\n#define GL_COLOR_ATTACHMENT12                           0x8cec     /* 36076 */\n#define GL_COLOR_ATTACHMENT13                           0x8ced     /* 36077 */\n#define GL_COLOR_ATTACHMENT14                           0x8cee     /* 36078 */\n#define GL_COLOR_ATTACHMENT15                           0x8cef     /* 36079 */\n#define GL_DEPTH_ATTACHMENT                             0x8d00     /* 36096 */\n#define GL_STENCIL_ATTACHMENT                           0x8d20     /* 36128 */\n#define GL_FRAMEBUFFER                                  0x8d40     /* 36160 */\n#define GL_RENDERBUFFER                                 0x8d41     /* 36161 */\n#define GL_RENDERBUFFER_WIDTH                           0x8d42     /* 36162 */\n#define GL_RENDERBUFFER_HEIGHT                          0x8d43     /* 36163 */\n#define GL_RENDERBUFFER_INTERNAL_FORMAT                 0x8d44     /* 36164 */\n#define GL_STENCIL_INDEX1                               0x8d46     /* 36166 */\n#define GL_STENCIL_INDEX4                               0x8d47     /* 36167 */\n#define GL_STENCIL_INDEX8                               0x8d48     /* 36168 */\n#define GL_STENCIL_INDEX16                              0x8d49     /* 36169 */\n#define GL_RENDERBUFFER_RED_SIZE                        0x8d50     /* 36176 */\n#define GL_RENDERBUFFER_GREEN_SIZE                      0x8d51     /* 36177 */\n#define GL_RENDERBUFFER_BLUE_SIZE                       0x8d52     /* 36178 */\n#define GL_RENDERBUFFER_ALPHA_SIZE                      0x8d53     /* 36179 */\n#define GL_RENDERBUFFER_DEPTH_SIZE                      0x8d54     /* 36180 */\n#define GL_RENDERBUFFER_STENCIL_SIZE                    0x8d55     /* 36181 */\n#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE           0x8d56     /* 36182 */\n#define GL_MAX_SAMPLES                                  0x8d57     /* 36183 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_FRAMEBUFFER_OBJECT\ntypedef GLboolean (REGAL_CALL *PFNGLISFRAMEBUFFERPROC)(GLuint framebuffer);\ntypedef GLboolean (REGAL_CALL *PFNGLISRENDERBUFFERPROC)(GLuint renderbuffer);\ntypedef GLenum (REGAL_CALL *PFNGLCHECKFRAMEBUFFERSTATUSPROC)(GLenum target);\ntypedef void (REGAL_CALL *PFNGLBINDFRAMEBUFFERPROC)(GLenum target, GLuint framebuffer);\ntypedef void (REGAL_CALL *PFNGLBINDRENDERBUFFERPROC)(GLenum target, GLuint renderbuffer);\ntypedef void (REGAL_CALL *PFNGLBLITFRAMEBUFFERPROC)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);\ntypedef void (REGAL_CALL *PFNGLDELETEFRAMEBUFFERSPROC)(GLsizei n, const GLuint *framebuffers);\ntypedef void (REGAL_CALL *PFNGLDELETERENDERBUFFERSPROC)(GLsizei n, const GLuint *renderbuffers);\ntypedef void (REGAL_CALL *PFNGLFRAMEBUFFERRENDERBUFFERPROC)(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);\ntypedef void (REGAL_CALL *PFNGLFRAMEBUFFERTEXTURE1DPROC)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);\ntypedef void (REGAL_CALL *PFNGLFRAMEBUFFERTEXTURE2DPROC)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);\ntypedef void (REGAL_CALL *PFNGLFRAMEBUFFERTEXTURE3DPROC)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint layer);\ntypedef void (REGAL_CALL *PFNGLFRAMEBUFFERTEXTURELAYERPROC)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);\ntypedef void (REGAL_CALL *PFNGLGENERATEMIPMAPPROC)(GLenum target);\ntypedef void (REGAL_CALL *PFNGLGENFRAMEBUFFERSPROC)(GLsizei n, GLuint *framebuffers);\ntypedef void (REGAL_CALL *PFNGLGENRENDERBUFFERSPROC)(GLsizei n, GLuint *renderbuffers);\ntypedef void (REGAL_CALL *PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC)(GLenum target, GLenum attachment, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETRENDERBUFFERPARAMETERIVPROC)(GLenum target, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);\ntypedef void (REGAL_CALL *PFNGLRENDERBUFFERSTORAGEPROC)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_FRAMEBUFFER_OBJECT\n#define glBindFramebuffer                   rglBindFramebuffer\n#define glBindRenderbuffer                  rglBindRenderbuffer\n#define glBlitFramebuffer                   rglBlitFramebuffer\n#define glCheckFramebufferStatus            rglCheckFramebufferStatus\n#define glDeleteFramebuffers                rglDeleteFramebuffers\n#define glDeleteRenderbuffers               rglDeleteRenderbuffers\n#define glFramebufferRenderbuffer           rglFramebufferRenderbuffer\n#define glFramebufferTexture1D              rglFramebufferTexture1D\n#define glFramebufferTexture2D              rglFramebufferTexture2D\n#define glFramebufferTexture3D              rglFramebufferTexture3D\n#define glFramebufferTextureLayer           rglFramebufferTextureLayer\n#define glGenFramebuffers                   rglGenFramebuffers\n#define glGenRenderbuffers                  rglGenRenderbuffers\n#define glGenerateMipmap                    rglGenerateMipmap\n#define glGetFramebufferAttachmentParameteriv rglGetFramebufferAttachmentParameteriv\n#define glGetRenderbufferParameteriv        rglGetRenderbufferParameteriv\n#define glIsFramebuffer                     rglIsFramebuffer\n#define glIsRenderbuffer                    rglIsRenderbuffer\n#define glRenderbufferStorage               rglRenderbufferStorage\n#define glRenderbufferStorageMultisample    rglRenderbufferStorageMultisample\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_FRAMEBUFFER_OBJECT\nREGAL_DECL GLboolean REGAL_CALL glIsFramebuffer(GLuint framebuffer);\nREGAL_DECL GLboolean REGAL_CALL glIsRenderbuffer(GLuint renderbuffer);\nREGAL_DECL GLenum REGAL_CALL glCheckFramebufferStatus(GLenum target);\nREGAL_DECL void REGAL_CALL glBindFramebuffer(GLenum target, GLuint framebuffer);\nREGAL_DECL void REGAL_CALL glBindRenderbuffer(GLenum target, GLuint renderbuffer);\nREGAL_DECL void REGAL_CALL glBlitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);\nREGAL_DECL void REGAL_CALL glDeleteFramebuffers(GLsizei n, const GLuint *framebuffers);\nREGAL_DECL void REGAL_CALL glDeleteRenderbuffers(GLsizei n, const GLuint *renderbuffers);\nREGAL_DECL void REGAL_CALL glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);\nREGAL_DECL void REGAL_CALL glFramebufferTexture1D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);\nREGAL_DECL void REGAL_CALL glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);\nREGAL_DECL void REGAL_CALL glFramebufferTexture3D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint layer);\nREGAL_DECL void REGAL_CALL glFramebufferTextureLayer(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);\nREGAL_DECL void REGAL_CALL glGenFramebuffers(GLsizei n, GLuint *framebuffers);\nREGAL_DECL void REGAL_CALL glGenRenderbuffers(GLsizei n, GLuint *renderbuffers);\nREGAL_DECL void REGAL_CALL glGenerateMipmap(GLenum target);\nREGAL_DECL void REGAL_CALL glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height);\nREGAL_DECL void REGAL_CALL glRenderbufferStorageMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_FRAMEBUFFER_OBJECT\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsFramebuffer(GLuint framebuffer);\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsRenderbuffer(GLuint renderbuffer);\nREGAL_DECL GLenum REGAL_CALL plugin_glCheckFramebufferStatus(GLenum target);\nREGAL_DECL void REGAL_CALL plugin_glBindFramebuffer(GLenum target, GLuint framebuffer);\nREGAL_DECL void REGAL_CALL plugin_glBindRenderbuffer(GLenum target, GLuint renderbuffer);\nREGAL_DECL void REGAL_CALL plugin_glBlitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);\nREGAL_DECL void REGAL_CALL plugin_glDeleteFramebuffers(GLsizei n, const GLuint *framebuffers);\nREGAL_DECL void REGAL_CALL plugin_glDeleteRenderbuffers(GLsizei n, const GLuint *renderbuffers);\nREGAL_DECL void REGAL_CALL plugin_glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);\nREGAL_DECL void REGAL_CALL plugin_glFramebufferTexture1D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);\nREGAL_DECL void REGAL_CALL plugin_glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);\nREGAL_DECL void REGAL_CALL plugin_glFramebufferTexture3D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint layer);\nREGAL_DECL void REGAL_CALL plugin_glFramebufferTextureLayer(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);\nREGAL_DECL void REGAL_CALL plugin_glGenFramebuffers(GLsizei n, GLuint *framebuffers);\nREGAL_DECL void REGAL_CALL plugin_glGenRenderbuffers(GLsizei n, GLuint *renderbuffers);\nREGAL_DECL void REGAL_CALL plugin_glGenerateMipmap(GLenum target);\nREGAL_DECL void REGAL_CALL plugin_glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height);\nREGAL_DECL void REGAL_CALL plugin_glRenderbufferStorageMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);\n#endif\n\n/**\n ** GL_ARB_framebuffer_sRGB\n **/\n\n#if (defined(GL_ARB_FRAMEBUFFER_SRGB) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_FRAMEBUFFER_SRGB)) && !defined(REGAL_NO_ENUM_GL_ARB_FRAMEBUFFER_SRGB)\n#define REGAL_NO_ENUM_GL_ARB_FRAMEBUFFER_SRGB\n#endif\n\n#if (defined(GL_ARB_FRAMEBUFFER_SRGB) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_FRAMEBUFFER_SRGB)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_FRAMEBUFFER_SRGB)\n#define REGAL_NO_TYPEDEF_GL_ARB_FRAMEBUFFER_SRGB\n#endif\n\n#if (defined(GL_ARB_FRAMEBUFFER_SRGB) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_FRAMEBUFFER_SRGB)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_FRAMEBUFFER_SRGB)\n#define REGAL_NO_NAMESPACE_GL_ARB_FRAMEBUFFER_SRGB\n#endif\n\n#if (defined(GL_ARB_FRAMEBUFFER_SRGB) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_FRAMEBUFFER_SRGB)) && !defined(REGAL_NO_PLUGIN_GL_ARB_FRAMEBUFFER_SRGB)\n#define REGAL_NO_PLUGIN_GL_ARB_FRAMEBUFFER_SRGB\n#endif\n\n#if (defined(GL_ARB_FRAMEBUFFER_SRGB) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_FRAMEBUFFER_SRGB)) && !defined(REGAL_NO_DECLARATION_GL_ARB_FRAMEBUFFER_SRGB)\n#define REGAL_NO_DECLARATION_GL_ARB_FRAMEBUFFER_SRGB\n#endif\n\n#ifndef GL_ARB_framebuffer_sRGB\n#define GL_ARB_framebuffer_sRGB 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_FRAMEBUFFER_SRGB\n#define GL_FRAMEBUFFER_SRGB 0x8db9 /* 36281 */\n#endif\n\n/**\n ** GL_ARB_geometry_shader4\n **/\n\n#if (defined(GL_ARB_GEOMETRY_SHADER4) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_GEOMETRY_SHADER4)) && !defined(REGAL_NO_ENUM_GL_ARB_GEOMETRY_SHADER4)\n#define REGAL_NO_ENUM_GL_ARB_GEOMETRY_SHADER4\n#endif\n\n#if (defined(GL_ARB_GEOMETRY_SHADER4) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_GEOMETRY_SHADER4)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_GEOMETRY_SHADER4)\n#define REGAL_NO_TYPEDEF_GL_ARB_GEOMETRY_SHADER4\n#endif\n\n#if (defined(GL_ARB_GEOMETRY_SHADER4) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_GEOMETRY_SHADER4)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_GEOMETRY_SHADER4)\n#define REGAL_NO_NAMESPACE_GL_ARB_GEOMETRY_SHADER4\n#endif\n\n#if (defined(GL_ARB_GEOMETRY_SHADER4) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_GEOMETRY_SHADER4)) && !defined(REGAL_NO_PLUGIN_GL_ARB_GEOMETRY_SHADER4)\n#define REGAL_NO_PLUGIN_GL_ARB_GEOMETRY_SHADER4\n#endif\n\n#if (defined(GL_ARB_GEOMETRY_SHADER4) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_GEOMETRY_SHADER4)) && !defined(REGAL_NO_DECLARATION_GL_ARB_GEOMETRY_SHADER4)\n#define REGAL_NO_DECLARATION_GL_ARB_GEOMETRY_SHADER4\n#endif\n\n#ifndef GL_ARB_geometry_shader4\n#define GL_ARB_geometry_shader4 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_GEOMETRY_SHADER4\n#define GL_PROGRAM_POINT_SIZE_ARB                   0x8642     /* 34370 */\n#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB     0x8c29     /* 35881 */\n#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB       0x8da7     /* 36263 */\n#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB 0x8da8     /* 36264 */\n#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB   0x8da9     /* 36265 */\n#define GL_GEOMETRY_SHADER_ARB                      0x8dd9     /* 36313 */\n#define GL_GEOMETRY_VERTICES_OUT_ARB                0x8dda     /* 36314 */\n#define GL_GEOMETRY_INPUT_TYPE_ARB                  0x8ddb     /* 36315 */\n#define GL_GEOMETRY_OUTPUT_TYPE_ARB                 0x8ddc     /* 36316 */\n#define GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB      0x8ddd     /* 36317 */\n#define GL_MAX_VERTEX_VARYING_COMPONENTS_ARB        0x8dde     /* 36318 */\n#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB      0x8ddf     /* 36319 */\n#define GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB         0x8de0     /* 36320 */\n#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB 0x8de1     /* 36321 */\n#define GL_LINES_ADJACENCY_ARB                      0xa        /* 10 */\n#define GL_LINE_STRIP_ADJACENCY_ARB                 0xb        /* 11 */\n#define GL_TRIANGLES_ADJACENCY_ARB                  0xc        /* 12 */\n#define GL_TRIANGLE_STRIP_ADJACENCY_ARB             0xd        /* 13 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_GEOMETRY_SHADER4\ntypedef void (REGAL_CALL *PFNGLFRAMEBUFFERTEXTUREARBPROC)(GLenum target, GLenum attachment, GLuint texture, GLint level);\ntypedef void (REGAL_CALL *PFNGLFRAMEBUFFERTEXTUREFACEARBPROC)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face);\ntypedef void (REGAL_CALL *PFNGLFRAMEBUFFERTEXTURELAYERARBPROC)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);\ntypedef void (REGAL_CALL *PFNGLPROGRAMPARAMETERIARBPROC)(GLuint program, GLenum pname, GLint value);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_GEOMETRY_SHADER4\n#define glFramebufferTextureARB             rglFramebufferTextureARB\n#define glFramebufferTextureFaceARB         rglFramebufferTextureFaceARB\n#define glFramebufferTextureLayerARB        rglFramebufferTextureLayerARB\n#define glProgramParameteriARB              rglProgramParameteriARB\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_GEOMETRY_SHADER4\nREGAL_DECL void REGAL_CALL glFramebufferTextureARB(GLenum target, GLenum attachment, GLuint texture, GLint level);\nREGAL_DECL void REGAL_CALL glFramebufferTextureFaceARB(GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face);\nREGAL_DECL void REGAL_CALL glFramebufferTextureLayerARB(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);\nREGAL_DECL void REGAL_CALL glProgramParameteriARB(GLuint program, GLenum pname, GLint value);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_GEOMETRY_SHADER4\nREGAL_DECL void REGAL_CALL plugin_glFramebufferTextureARB(GLenum target, GLenum attachment, GLuint texture, GLint level);\nREGAL_DECL void REGAL_CALL plugin_glFramebufferTextureFaceARB(GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face);\nREGAL_DECL void REGAL_CALL plugin_glFramebufferTextureLayerARB(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);\nREGAL_DECL void REGAL_CALL plugin_glProgramParameteriARB(GLuint program, GLenum pname, GLint value);\n#endif\n\n/**\n ** GL_ARB_get_program_binary\n **/\n\n#if (defined(GL_ARB_GET_PROGRAM_BINARY) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_GET_PROGRAM_BINARY)) && !defined(REGAL_NO_ENUM_GL_ARB_GET_PROGRAM_BINARY)\n#define REGAL_NO_ENUM_GL_ARB_GET_PROGRAM_BINARY\n#endif\n\n#if (defined(GL_ARB_GET_PROGRAM_BINARY) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_GET_PROGRAM_BINARY)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_GET_PROGRAM_BINARY)\n#define REGAL_NO_TYPEDEF_GL_ARB_GET_PROGRAM_BINARY\n#endif\n\n#if (defined(GL_ARB_GET_PROGRAM_BINARY) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_GET_PROGRAM_BINARY)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_GET_PROGRAM_BINARY)\n#define REGAL_NO_NAMESPACE_GL_ARB_GET_PROGRAM_BINARY\n#endif\n\n#if (defined(GL_ARB_GET_PROGRAM_BINARY) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_GET_PROGRAM_BINARY)) && !defined(REGAL_NO_PLUGIN_GL_ARB_GET_PROGRAM_BINARY)\n#define REGAL_NO_PLUGIN_GL_ARB_GET_PROGRAM_BINARY\n#endif\n\n#if (defined(GL_ARB_GET_PROGRAM_BINARY) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_GET_PROGRAM_BINARY)) && !defined(REGAL_NO_DECLARATION_GL_ARB_GET_PROGRAM_BINARY)\n#define REGAL_NO_DECLARATION_GL_ARB_GET_PROGRAM_BINARY\n#endif\n\n#ifndef GL_ARB_get_program_binary\n#define GL_ARB_get_program_binary 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_GET_PROGRAM_BINARY\n#define GL_PROGRAM_BINARY_RETRIEVABLE_HINT 0x8257     /* 33367 */\n#define GL_PROGRAM_BINARY_LENGTH           0x8741     /* 34625 */\n#define GL_NUM_PROGRAM_BINARY_FORMATS      0x87fe     /* 34814 */\n#define GL_PROGRAM_BINARY_FORMATS          0x87ff     /* 34815 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_GET_PROGRAM_BINARY\ntypedef void (REGAL_CALL *PFNGLGETPROGRAMBINARYPROC)(GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary);\ntypedef void (REGAL_CALL *PFNGLPROGRAMBINARYPROC)(GLuint program, GLenum binaryFormat, const GLvoid *binary, GLsizei length);\ntypedef void (REGAL_CALL *PFNGLPROGRAMPARAMETERIPROC)(GLuint program, GLenum pname, GLint value);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_GET_PROGRAM_BINARY\n#define glGetProgramBinary                  rglGetProgramBinary\n#define glProgramBinary                     rglProgramBinary\n#define glProgramParameteri                 rglProgramParameteri\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_GET_PROGRAM_BINARY\nREGAL_DECL void REGAL_CALL glGetProgramBinary(GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary);\nREGAL_DECL void REGAL_CALL glProgramBinary(GLuint program, GLenum binaryFormat, const GLvoid *binary, GLsizei length);\nREGAL_DECL void REGAL_CALL glProgramParameteri(GLuint program, GLenum pname, GLint value);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_GET_PROGRAM_BINARY\nREGAL_DECL void REGAL_CALL plugin_glGetProgramBinary(GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary);\nREGAL_DECL void REGAL_CALL plugin_glProgramBinary(GLuint program, GLenum binaryFormat, const GLvoid *binary, GLsizei length);\nREGAL_DECL void REGAL_CALL plugin_glProgramParameteri(GLuint program, GLenum pname, GLint value);\n#endif\n\n/**\n ** GL_ARB_gpu_shader5\n **/\n\n#if (defined(GL_ARB_GPU_SHADER5) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_GPU_SHADER5)) && !defined(REGAL_NO_ENUM_GL_ARB_GPU_SHADER5)\n#define REGAL_NO_ENUM_GL_ARB_GPU_SHADER5\n#endif\n\n#if (defined(GL_ARB_GPU_SHADER5) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_GPU_SHADER5)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_GPU_SHADER5)\n#define REGAL_NO_TYPEDEF_GL_ARB_GPU_SHADER5\n#endif\n\n#if (defined(GL_ARB_GPU_SHADER5) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_GPU_SHADER5)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_GPU_SHADER5)\n#define REGAL_NO_NAMESPACE_GL_ARB_GPU_SHADER5\n#endif\n\n#if (defined(GL_ARB_GPU_SHADER5) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_GPU_SHADER5)) && !defined(REGAL_NO_PLUGIN_GL_ARB_GPU_SHADER5)\n#define REGAL_NO_PLUGIN_GL_ARB_GPU_SHADER5\n#endif\n\n#if (defined(GL_ARB_GPU_SHADER5) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_GPU_SHADER5)) && !defined(REGAL_NO_DECLARATION_GL_ARB_GPU_SHADER5)\n#define REGAL_NO_DECLARATION_GL_ARB_GPU_SHADER5\n#endif\n\n#ifndef GL_ARB_gpu_shader5\n#define GL_ARB_gpu_shader5 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_GPU_SHADER5\n#define GL_GEOMETRY_SHADER_INVOCATIONS        0x887f     /* 34943 */\n#define GL_MAX_GEOMETRY_SHADER_INVOCATIONS    0x8e5a     /* 36442 */\n#define GL_MIN_FRAGMENT_INTERPOLATION_OFFSET  0x8e5b     /* 36443 */\n#define GL_MAX_FRAGMENT_INTERPOLATION_OFFSET  0x8e5c     /* 36444 */\n#define GL_FRAGMENT_INTERPOLATION_OFFSET_BITS 0x8e5d     /* 36445 */\n#define GL_MAX_VERTEX_STREAMS                 0x8e71     /* 36465 */\n#endif\n\n/**\n ** GL_ARB_gpu_shader_fp64\n **/\n\n#if (defined(GL_ARB_GPU_SHADER_FP64) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_GPU_SHADER_FP64)) && !defined(REGAL_NO_ENUM_GL_ARB_GPU_SHADER_FP64)\n#define REGAL_NO_ENUM_GL_ARB_GPU_SHADER_FP64\n#endif\n\n#if (defined(GL_ARB_GPU_SHADER_FP64) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_GPU_SHADER_FP64)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_GPU_SHADER_FP64)\n#define REGAL_NO_TYPEDEF_GL_ARB_GPU_SHADER_FP64\n#endif\n\n#if (defined(GL_ARB_GPU_SHADER_FP64) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_GPU_SHADER_FP64)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_GPU_SHADER_FP64)\n#define REGAL_NO_NAMESPACE_GL_ARB_GPU_SHADER_FP64\n#endif\n\n#if (defined(GL_ARB_GPU_SHADER_FP64) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_GPU_SHADER_FP64)) && !defined(REGAL_NO_PLUGIN_GL_ARB_GPU_SHADER_FP64)\n#define REGAL_NO_PLUGIN_GL_ARB_GPU_SHADER_FP64\n#endif\n\n#if (defined(GL_ARB_GPU_SHADER_FP64) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_GPU_SHADER_FP64)) && !defined(REGAL_NO_DECLARATION_GL_ARB_GPU_SHADER_FP64)\n#define REGAL_NO_DECLARATION_GL_ARB_GPU_SHADER_FP64\n#endif\n\n#ifndef GL_ARB_gpu_shader_fp64\n#define GL_ARB_gpu_shader_fp64 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_GPU_SHADER_FP64\n#define GL_DOUBLE_MAT2   0x8f46     /* 36678 */\n#define GL_DOUBLE_MAT3   0x8f47     /* 36679 */\n#define GL_DOUBLE_MAT4   0x8f48     /* 36680 */\n#define GL_DOUBLE_MAT2x3 0x8f49     /* 36681 */\n#define GL_DOUBLE_MAT2x4 0x8f4a     /* 36682 */\n#define GL_DOUBLE_MAT3x2 0x8f4b     /* 36683 */\n#define GL_DOUBLE_MAT3x4 0x8f4c     /* 36684 */\n#define GL_DOUBLE_MAT4x2 0x8f4d     /* 36685 */\n#define GL_DOUBLE_MAT4x3 0x8f4e     /* 36686 */\n#define GL_DOUBLE_VEC2   0x8ffc     /* 36860 */\n#define GL_DOUBLE_VEC3   0x8ffd     /* 36861 */\n#define GL_DOUBLE_VEC4   0x8ffe     /* 36862 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_GPU_SHADER_FP64\ntypedef void (REGAL_CALL *PFNGLGETUNIFORMDVPROC)(GLuint program, GLint location, GLdouble *params);\ntypedef void (REGAL_CALL *PFNGLUNIFORM1DPROC)(GLint location, GLdouble x);\ntypedef void (REGAL_CALL *PFNGLUNIFORM1DVPROC)(GLint location, GLsizei count, const GLdouble *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORM2DPROC)(GLint location, GLdouble x, GLdouble y);\ntypedef void (REGAL_CALL *PFNGLUNIFORM2DVPROC)(GLint location, GLsizei count, const GLdouble *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORM3DPROC)(GLint location, GLdouble x, GLdouble y, GLdouble z);\ntypedef void (REGAL_CALL *PFNGLUNIFORM3DVPROC)(GLint location, GLsizei count, const GLdouble *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORM4DPROC)(GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\ntypedef void (REGAL_CALL *PFNGLUNIFORM4DVPROC)(GLint location, GLsizei count, const GLdouble *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORMMATRIX2DVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORMMATRIX2X3DVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORMMATRIX2X4DVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORMMATRIX3DVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORMMATRIX3X2DVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORMMATRIX3X4DVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORMMATRIX4DVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORMMATRIX4X2DVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORMMATRIX4X3DVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_GPU_SHADER_FP64\n#define glGetUniformdv                      rglGetUniformdv\n#define glUniform1d                         rglUniform1d\n#define glUniform1dv                        rglUniform1dv\n#define glUniform2d                         rglUniform2d\n#define glUniform2dv                        rglUniform2dv\n#define glUniform3d                         rglUniform3d\n#define glUniform3dv                        rglUniform3dv\n#define glUniform4d                         rglUniform4d\n#define glUniform4dv                        rglUniform4dv\n#define glUniformMatrix2dv                  rglUniformMatrix2dv\n#define glUniformMatrix2x3dv                rglUniformMatrix2x3dv\n#define glUniformMatrix2x4dv                rglUniformMatrix2x4dv\n#define glUniformMatrix3dv                  rglUniformMatrix3dv\n#define glUniformMatrix3x2dv                rglUniformMatrix3x2dv\n#define glUniformMatrix3x4dv                rglUniformMatrix3x4dv\n#define glUniformMatrix4dv                  rglUniformMatrix4dv\n#define glUniformMatrix4x2dv                rglUniformMatrix4x2dv\n#define glUniformMatrix4x3dv                rglUniformMatrix4x3dv\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_GPU_SHADER_FP64\nREGAL_DECL void REGAL_CALL glGetUniformdv(GLuint program, GLint location, GLdouble *params);\nREGAL_DECL void REGAL_CALL glUniform1d(GLint location, GLdouble x);\nREGAL_DECL void REGAL_CALL glUniform1dv(GLint location, GLsizei count, const GLdouble *value);\nREGAL_DECL void REGAL_CALL glUniform2d(GLint location, GLdouble x, GLdouble y);\nREGAL_DECL void REGAL_CALL glUniform2dv(GLint location, GLsizei count, const GLdouble *value);\nREGAL_DECL void REGAL_CALL glUniform3d(GLint location, GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL glUniform3dv(GLint location, GLsizei count, const GLdouble *value);\nREGAL_DECL void REGAL_CALL glUniform4d(GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nREGAL_DECL void REGAL_CALL glUniform4dv(GLint location, GLsizei count, const GLdouble *value);\nREGAL_DECL void REGAL_CALL glUniformMatrix2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL glUniformMatrix2x3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL glUniformMatrix2x4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL glUniformMatrix3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL glUniformMatrix3x2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL glUniformMatrix3x4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL glUniformMatrix4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL glUniformMatrix4x2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL glUniformMatrix4x3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_GPU_SHADER_FP64\nREGAL_DECL void REGAL_CALL plugin_glGetUniformdv(GLuint program, GLint location, GLdouble *params);\nREGAL_DECL void REGAL_CALL plugin_glUniform1d(GLint location, GLdouble x);\nREGAL_DECL void REGAL_CALL plugin_glUniform1dv(GLint location, GLsizei count, const GLdouble *value);\nREGAL_DECL void REGAL_CALL plugin_glUniform2d(GLint location, GLdouble x, GLdouble y);\nREGAL_DECL void REGAL_CALL plugin_glUniform2dv(GLint location, GLsizei count, const GLdouble *value);\nREGAL_DECL void REGAL_CALL plugin_glUniform3d(GLint location, GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL plugin_glUniform3dv(GLint location, GLsizei count, const GLdouble *value);\nREGAL_DECL void REGAL_CALL plugin_glUniform4d(GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nREGAL_DECL void REGAL_CALL plugin_glUniform4dv(GLint location, GLsizei count, const GLdouble *value);\nREGAL_DECL void REGAL_CALL plugin_glUniformMatrix2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL plugin_glUniformMatrix2x3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL plugin_glUniformMatrix2x4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL plugin_glUniformMatrix3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL plugin_glUniformMatrix3x2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL plugin_glUniformMatrix3x4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL plugin_glUniformMatrix4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL plugin_glUniformMatrix4x2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL plugin_glUniformMatrix4x3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\n#endif\n\n/**\n ** GL_ARB_half_float_pixel\n **/\n\n#if (defined(GL_ARB_HALF_FLOAT_PIXEL) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_HALF_FLOAT_PIXEL)) && !defined(REGAL_NO_ENUM_GL_ARB_HALF_FLOAT_PIXEL)\n#define REGAL_NO_ENUM_GL_ARB_HALF_FLOAT_PIXEL\n#endif\n\n#if (defined(GL_ARB_HALF_FLOAT_PIXEL) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_HALF_FLOAT_PIXEL)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_HALF_FLOAT_PIXEL)\n#define REGAL_NO_TYPEDEF_GL_ARB_HALF_FLOAT_PIXEL\n#endif\n\n#if (defined(GL_ARB_HALF_FLOAT_PIXEL) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_HALF_FLOAT_PIXEL)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_HALF_FLOAT_PIXEL)\n#define REGAL_NO_NAMESPACE_GL_ARB_HALF_FLOAT_PIXEL\n#endif\n\n#if (defined(GL_ARB_HALF_FLOAT_PIXEL) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_HALF_FLOAT_PIXEL)) && !defined(REGAL_NO_PLUGIN_GL_ARB_HALF_FLOAT_PIXEL)\n#define REGAL_NO_PLUGIN_GL_ARB_HALF_FLOAT_PIXEL\n#endif\n\n#if (defined(GL_ARB_HALF_FLOAT_PIXEL) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_HALF_FLOAT_PIXEL)) && !defined(REGAL_NO_DECLARATION_GL_ARB_HALF_FLOAT_PIXEL)\n#define REGAL_NO_DECLARATION_GL_ARB_HALF_FLOAT_PIXEL\n#endif\n\n#ifndef GL_ARB_half_float_pixel\n#define GL_ARB_half_float_pixel 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_HALF_FLOAT_PIXEL\n#define GL_HALF_FLOAT_ARB 0x140b /* 5131 */\n#endif\n\n/**\n ** GL_ARB_half_float_vertex\n **/\n\n#if (defined(GL_ARB_HALF_FLOAT_VERTEX) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_HALF_FLOAT_VERTEX)) && !defined(REGAL_NO_ENUM_GL_ARB_HALF_FLOAT_VERTEX)\n#define REGAL_NO_ENUM_GL_ARB_HALF_FLOAT_VERTEX\n#endif\n\n#if (defined(GL_ARB_HALF_FLOAT_VERTEX) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_HALF_FLOAT_VERTEX)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_HALF_FLOAT_VERTEX)\n#define REGAL_NO_TYPEDEF_GL_ARB_HALF_FLOAT_VERTEX\n#endif\n\n#if (defined(GL_ARB_HALF_FLOAT_VERTEX) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_HALF_FLOAT_VERTEX)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_HALF_FLOAT_VERTEX)\n#define REGAL_NO_NAMESPACE_GL_ARB_HALF_FLOAT_VERTEX\n#endif\n\n#if (defined(GL_ARB_HALF_FLOAT_VERTEX) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_HALF_FLOAT_VERTEX)) && !defined(REGAL_NO_PLUGIN_GL_ARB_HALF_FLOAT_VERTEX)\n#define REGAL_NO_PLUGIN_GL_ARB_HALF_FLOAT_VERTEX\n#endif\n\n#if (defined(GL_ARB_HALF_FLOAT_VERTEX) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_HALF_FLOAT_VERTEX)) && !defined(REGAL_NO_DECLARATION_GL_ARB_HALF_FLOAT_VERTEX)\n#define REGAL_NO_DECLARATION_GL_ARB_HALF_FLOAT_VERTEX\n#endif\n\n#ifndef GL_ARB_half_float_vertex\n#define GL_ARB_half_float_vertex 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_HALF_FLOAT_VERTEX\n#define GL_HALF_FLOAT 0x140b /* 5131 */\n#endif\n\n/**\n ** GL_ARB_imaging\n **/\n\n#if (defined(GL_ARB_IMAGING) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_IMAGING)) && !defined(REGAL_NO_ENUM_GL_ARB_IMAGING)\n#define REGAL_NO_ENUM_GL_ARB_IMAGING\n#endif\n\n#if (defined(GL_ARB_IMAGING) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_IMAGING)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_IMAGING)\n#define REGAL_NO_TYPEDEF_GL_ARB_IMAGING\n#endif\n\n#if (defined(GL_ARB_IMAGING) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_IMAGING)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_IMAGING)\n#define REGAL_NO_NAMESPACE_GL_ARB_IMAGING\n#endif\n\n#if (defined(GL_ARB_IMAGING) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_IMAGING)) && !defined(REGAL_NO_PLUGIN_GL_ARB_IMAGING)\n#define REGAL_NO_PLUGIN_GL_ARB_IMAGING\n#endif\n\n#if (defined(GL_ARB_IMAGING) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_IMAGING)) && !defined(REGAL_NO_DECLARATION_GL_ARB_IMAGING)\n#define REGAL_NO_DECLARATION_GL_ARB_IMAGING\n#endif\n\n#ifndef GL_ARB_imaging\n#define GL_ARB_imaging 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_IMAGING\n#define GL_CONSTANT_COLOR                      0x8001     /* 32769 */\n#define GL_ONE_MINUS_CONSTANT_COLOR            0x8002     /* 32770 */\n#define GL_CONSTANT_ALPHA                      0x8003     /* 32771 */\n#define GL_ONE_MINUS_CONSTANT_ALPHA            0x8004     /* 32772 */\n#define GL_BLEND_COLOR                         0x8005     /* 32773 */\n#define GL_FUNC_ADD                            0x8006     /* 32774 */\n#define GL_MIN                                 0x8007     /* 32775 */\n#define GL_MAX                                 0x8008     /* 32776 */\n#define GL_BLEND_EQUATION                      0x8009     /* 32777 */\n#define GL_FUNC_SUBTRACT                       0x800a     /* 32778 */\n#define GL_FUNC_REVERSE_SUBTRACT               0x800b     /* 32779 */\n#define GL_CONVOLUTION_1D                      0x8010     /* 32784 */\n#define GL_CONVOLUTION_2D                      0x8011     /* 32785 */\n#define GL_SEPARABLE_2D                        0x8012     /* 32786 */\n#define GL_CONVOLUTION_BORDER_MODE             0x8013     /* 32787 */\n#define GL_CONVOLUTION_FILTER_SCALE            0x8014     /* 32788 */\n#define GL_CONVOLUTION_FILTER_BIAS             0x8015     /* 32789 */\n#define GL_REDUCE                              0x8016     /* 32790 */\n#define GL_CONVOLUTION_FORMAT                  0x8017     /* 32791 */\n#define GL_CONVOLUTION_WIDTH                   0x8018     /* 32792 */\n#define GL_CONVOLUTION_HEIGHT                  0x8019     /* 32793 */\n#define GL_MAX_CONVOLUTION_WIDTH               0x801a     /* 32794 */\n#define GL_MAX_CONVOLUTION_HEIGHT              0x801b     /* 32795 */\n#define GL_POST_CONVOLUTION_RED_SCALE          0x801c     /* 32796 */\n#define GL_POST_CONVOLUTION_GREEN_SCALE        0x801d     /* 32797 */\n#define GL_POST_CONVOLUTION_BLUE_SCALE         0x801e     /* 32798 */\n#define GL_POST_CONVOLUTION_ALPHA_SCALE        0x801f     /* 32799 */\n#define GL_POST_CONVOLUTION_RED_BIAS           0x8020     /* 32800 */\n#define GL_POST_CONVOLUTION_GREEN_BIAS         0x8021     /* 32801 */\n#define GL_POST_CONVOLUTION_BLUE_BIAS          0x8022     /* 32802 */\n#define GL_POST_CONVOLUTION_ALPHA_BIAS         0x8023     /* 32803 */\n#define GL_HISTOGRAM                           0x8024     /* 32804 */\n#define GL_PROXY_HISTOGRAM                     0x8025     /* 32805 */\n#define GL_HISTOGRAM_WIDTH                     0x8026     /* 32806 */\n#define GL_HISTOGRAM_FORMAT                    0x8027     /* 32807 */\n#define GL_HISTOGRAM_RED_SIZE                  0x8028     /* 32808 */\n#define GL_HISTOGRAM_GREEN_SIZE                0x8029     /* 32809 */\n#define GL_HISTOGRAM_BLUE_SIZE                 0x802a     /* 32810 */\n#define GL_HISTOGRAM_ALPHA_SIZE                0x802b     /* 32811 */\n#define GL_HISTOGRAM_LUMINANCE_SIZE            0x802c     /* 32812 */\n#define GL_HISTOGRAM_SINK                      0x802d     /* 32813 */\n#define GL_MINMAX                              0x802e     /* 32814 */\n#define GL_MINMAX_FORMAT                       0x802f     /* 32815 */\n#define GL_MINMAX_SINK                         0x8030     /* 32816 */\n#define GL_TABLE_TOO_LARGE                     0x8031     /* 32817 */\n#define GL_COLOR_MATRIX                        0x80b1     /* 32945 */\n#define GL_COLOR_MATRIX_STACK_DEPTH            0x80b2     /* 32946 */\n#define GL_MAX_COLOR_MATRIX_STACK_DEPTH        0x80b3     /* 32947 */\n#define GL_POST_COLOR_MATRIX_RED_SCALE         0x80b4     /* 32948 */\n#define GL_POST_COLOR_MATRIX_GREEN_SCALE       0x80b5     /* 32949 */\n#define GL_POST_COLOR_MATRIX_BLUE_SCALE        0x80b6     /* 32950 */\n#define GL_POST_COLOR_MATRIX_ALPHA_SCALE       0x80b7     /* 32951 */\n#define GL_POST_COLOR_MATRIX_RED_BIAS          0x80b8     /* 32952 */\n#define GL_POST_COLOR_MATRIX_GREEN_BIAS        0x80b9     /* 32953 */\n#define GL_POST_COLOR_MATRIX_BLUE_BIAS         0x80ba     /* 32954 */\n#define GL_POST_COLOR_MATRIX_ALPHA_BIAS        0x80bb     /* 32955 */\n#define GL_COLOR_TABLE                         0x80d0     /* 32976 */\n#define GL_POST_CONVOLUTION_COLOR_TABLE        0x80d1     /* 32977 */\n#define GL_POST_COLOR_MATRIX_COLOR_TABLE       0x80d2     /* 32978 */\n#define GL_PROXY_COLOR_TABLE                   0x80d3     /* 32979 */\n#define GL_PROXY_POST_CONVOLUTION_COLOR_TABLE  0x80d4     /* 32980 */\n#define GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE 0x80d5     /* 32981 */\n#define GL_COLOR_TABLE_SCALE                   0x80d6     /* 32982 */\n#define GL_COLOR_TABLE_BIAS                    0x80d7     /* 32983 */\n#define GL_COLOR_TABLE_FORMAT                  0x80d8     /* 32984 */\n#define GL_COLOR_TABLE_WIDTH                   0x80d9     /* 32985 */\n#define GL_COLOR_TABLE_RED_SIZE                0x80da     /* 32986 */\n#define GL_COLOR_TABLE_GREEN_SIZE              0x80db     /* 32987 */\n#define GL_COLOR_TABLE_BLUE_SIZE               0x80dc     /* 32988 */\n#define GL_COLOR_TABLE_ALPHA_SIZE              0x80dd     /* 32989 */\n#define GL_COLOR_TABLE_LUMINANCE_SIZE          0x80de     /* 32990 */\n#define GL_COLOR_TABLE_INTENSITY_SIZE          0x80df     /* 32991 */\n#define GL_IGNORE_BORDER                       0x8150     /* 33104 */\n#define GL_CONSTANT_BORDER                     0x8151     /* 33105 */\n#define GL_WRAP_BORDER                         0x8152     /* 33106 */\n#define GL_REPLICATE_BORDER                    0x8153     /* 33107 */\n#define GL_CONVOLUTION_BORDER_COLOR            0x8154     /* 33108 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_IMAGING\ntypedef void (REGAL_CALL *PFNGLCOLORSUBTABLEPROC)(GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *data);\ntypedef void (REGAL_CALL *PFNGLCOLORTABLEPARAMETERFVPROC)(GLenum target, GLenum pname, const GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLCOLORTABLEPARAMETERIVPROC)(GLenum target, GLenum pname, const GLint *params);\ntypedef void (REGAL_CALL *PFNGLCOLORTABLEPROC)(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table);\ntypedef void (REGAL_CALL *PFNGLCONVOLUTIONFILTER1DPROC)(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image);\ntypedef void (REGAL_CALL *PFNGLCONVOLUTIONFILTER2DPROC)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image);\ntypedef void (REGAL_CALL *PFNGLCONVOLUTIONPARAMETERFPROC)(GLenum target, GLenum pname, GLfloat params);\ntypedef void (REGAL_CALL *PFNGLCONVOLUTIONPARAMETERFVPROC)(GLenum target, GLenum pname, const GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLCONVOLUTIONPARAMETERIPROC)(GLenum target, GLenum pname, GLint params);\ntypedef void (REGAL_CALL *PFNGLCONVOLUTIONPARAMETERIVPROC)(GLenum target, GLenum pname, const GLint *params);\ntypedef void (REGAL_CALL *PFNGLCOPYCOLORSUBTABLEPROC)(GLenum target, GLsizei start, GLint x, GLint y, GLsizei width);\ntypedef void (REGAL_CALL *PFNGLCOPYCOLORTABLEPROC)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);\ntypedef void (REGAL_CALL *PFNGLCOPYCONVOLUTIONFILTER1DPROC)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);\ntypedef void (REGAL_CALL *PFNGLCOPYCONVOLUTIONFILTER2DPROC)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height);\ntypedef void (REGAL_CALL *PFNGLGETCOLORTABLEPARAMETERFVPROC)(GLenum target, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETCOLORTABLEPARAMETERIVPROC)(GLenum target, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETCOLORTABLEPROC)(GLenum target, GLenum format, GLenum type, GLvoid *table);\ntypedef void (REGAL_CALL *PFNGLGETCONVOLUTIONFILTERPROC)(GLenum target, GLenum format, GLenum type, GLvoid *image);\ntypedef void (REGAL_CALL *PFNGLGETCONVOLUTIONPARAMETERFVPROC)(GLenum target, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETCONVOLUTIONPARAMETERIVPROC)(GLenum target, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETHISTOGRAMPARAMETERFVPROC)(GLenum target, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETHISTOGRAMPARAMETERIVPROC)(GLenum target, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETHISTOGRAMPROC)(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);\ntypedef void (REGAL_CALL *PFNGLGETMINMAXPARAMETERFVPROC)(GLenum target, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETMINMAXPARAMETERIVPROC)(GLenum target, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETMINMAXPROC)(GLenum target, GLboolean reset, GLenum format, GLenum types, GLvoid *values);\ntypedef void (REGAL_CALL *PFNGLGETSEPARABLEFILTERPROC)(GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span);\ntypedef void (REGAL_CALL *PFNGLHISTOGRAMPROC)(GLenum target, GLsizei width, GLenum internalformat, GLboolean sink);\ntypedef void (REGAL_CALL *PFNGLMINMAXPROC)(GLenum target, GLenum internalformat, GLboolean sink);\ntypedef void (REGAL_CALL *PFNGLRESETHISTOGRAMPROC)(GLenum target);\ntypedef void (REGAL_CALL *PFNGLRESETMINMAXPROC)(GLenum target);\ntypedef void (REGAL_CALL *PFNGLSEPARABLEFILTER2DPROC)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_IMAGING\n#define glColorSubTable                     rglColorSubTable\n#define glColorTable                        rglColorTable\n#define glColorTableParameterfv             rglColorTableParameterfv\n#define glColorTableParameteriv             rglColorTableParameteriv\n#define glConvolutionFilter1D               rglConvolutionFilter1D\n#define glConvolutionFilter2D               rglConvolutionFilter2D\n#define glConvolutionParameterf             rglConvolutionParameterf\n#define glConvolutionParameterfv            rglConvolutionParameterfv\n#define glConvolutionParameteri             rglConvolutionParameteri\n#define glConvolutionParameteriv            rglConvolutionParameteriv\n#define glCopyColorSubTable                 rglCopyColorSubTable\n#define glCopyColorTable                    rglCopyColorTable\n#define glCopyConvolutionFilter1D           rglCopyConvolutionFilter1D\n#define glCopyConvolutionFilter2D           rglCopyConvolutionFilter2D\n#define glGetColorTable                     rglGetColorTable\n#define glGetColorTableParameterfv          rglGetColorTableParameterfv\n#define glGetColorTableParameteriv          rglGetColorTableParameteriv\n#define glGetConvolutionFilter              rglGetConvolutionFilter\n#define glGetConvolutionParameterfv         rglGetConvolutionParameterfv\n#define glGetConvolutionParameteriv         rglGetConvolutionParameteriv\n#define glGetHistogram                      rglGetHistogram\n#define glGetHistogramParameterfv           rglGetHistogramParameterfv\n#define glGetHistogramParameteriv           rglGetHistogramParameteriv\n#define glGetMinmax                         rglGetMinmax\n#define glGetMinmaxParameterfv              rglGetMinmaxParameterfv\n#define glGetMinmaxParameteriv              rglGetMinmaxParameteriv\n#define glGetSeparableFilter                rglGetSeparableFilter\n#define glHistogram                         rglHistogram\n#define glMinmax                            rglMinmax\n#define glResetHistogram                    rglResetHistogram\n#define glResetMinmax                       rglResetMinmax\n#define glSeparableFilter2D                 rglSeparableFilter2D\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_IMAGING\nREGAL_DECL void REGAL_CALL glColorSubTable(GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *data);\nREGAL_DECL void REGAL_CALL glColorTable(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table);\nREGAL_DECL void REGAL_CALL glColorTableParameterfv(GLenum target, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL glColorTableParameteriv(GLenum target, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL glConvolutionFilter1D(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image);\nREGAL_DECL void REGAL_CALL glConvolutionFilter2D(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image);\nREGAL_DECL void REGAL_CALL glConvolutionParameterf(GLenum target, GLenum pname, GLfloat params);\nREGAL_DECL void REGAL_CALL glConvolutionParameterfv(GLenum target, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL glConvolutionParameteri(GLenum target, GLenum pname, GLint params);\nREGAL_DECL void REGAL_CALL glConvolutionParameteriv(GLenum target, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL glCopyColorSubTable(GLenum target, GLsizei start, GLint x, GLint y, GLsizei width);\nREGAL_DECL void REGAL_CALL glCopyColorTable(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);\nREGAL_DECL void REGAL_CALL glCopyConvolutionFilter1D(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);\nREGAL_DECL void REGAL_CALL glCopyConvolutionFilter2D(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height);\nREGAL_DECL void REGAL_CALL glGetColorTable(GLenum target, GLenum format, GLenum type, GLvoid *table);\nREGAL_DECL void REGAL_CALL glGetColorTableParameterfv(GLenum target, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetColorTableParameteriv(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetConvolutionFilter(GLenum target, GLenum format, GLenum type, GLvoid *image);\nREGAL_DECL void REGAL_CALL glGetConvolutionParameterfv(GLenum target, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetConvolutionParameteriv(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetHistogram(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);\nREGAL_DECL void REGAL_CALL glGetHistogramParameterfv(GLenum target, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetHistogramParameteriv(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetMinmax(GLenum target, GLboolean reset, GLenum format, GLenum types, GLvoid *values);\nREGAL_DECL void REGAL_CALL glGetMinmaxParameterfv(GLenum target, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetMinmaxParameteriv(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetSeparableFilter(GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span);\nREGAL_DECL void REGAL_CALL glHistogram(GLenum target, GLsizei width, GLenum internalformat, GLboolean sink);\nREGAL_DECL void REGAL_CALL glMinmax(GLenum target, GLenum internalformat, GLboolean sink);\nREGAL_DECL void REGAL_CALL glResetHistogram(GLenum target);\nREGAL_DECL void REGAL_CALL glResetMinmax(GLenum target);\nREGAL_DECL void REGAL_CALL glSeparableFilter2D(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_IMAGING\nREGAL_DECL void REGAL_CALL plugin_glColorSubTable(GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *data);\nREGAL_DECL void REGAL_CALL plugin_glColorTable(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table);\nREGAL_DECL void REGAL_CALL plugin_glColorTableParameterfv(GLenum target, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glColorTableParameteriv(GLenum target, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glConvolutionFilter1D(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image);\nREGAL_DECL void REGAL_CALL plugin_glConvolutionFilter2D(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image);\nREGAL_DECL void REGAL_CALL plugin_glConvolutionParameterf(GLenum target, GLenum pname, GLfloat params);\nREGAL_DECL void REGAL_CALL plugin_glConvolutionParameterfv(GLenum target, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glConvolutionParameteri(GLenum target, GLenum pname, GLint params);\nREGAL_DECL void REGAL_CALL plugin_glConvolutionParameteriv(GLenum target, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glCopyColorSubTable(GLenum target, GLsizei start, GLint x, GLint y, GLsizei width);\nREGAL_DECL void REGAL_CALL plugin_glCopyColorTable(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);\nREGAL_DECL void REGAL_CALL plugin_glCopyConvolutionFilter1D(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);\nREGAL_DECL void REGAL_CALL plugin_glCopyConvolutionFilter2D(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height);\nREGAL_DECL void REGAL_CALL plugin_glGetColorTable(GLenum target, GLenum format, GLenum type, GLvoid *table);\nREGAL_DECL void REGAL_CALL plugin_glGetColorTableParameterfv(GLenum target, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetColorTableParameteriv(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetConvolutionFilter(GLenum target, GLenum format, GLenum type, GLvoid *image);\nREGAL_DECL void REGAL_CALL plugin_glGetConvolutionParameterfv(GLenum target, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetConvolutionParameteriv(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetHistogram(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);\nREGAL_DECL void REGAL_CALL plugin_glGetHistogramParameterfv(GLenum target, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetHistogramParameteriv(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetMinmax(GLenum target, GLboolean reset, GLenum format, GLenum types, GLvoid *values);\nREGAL_DECL void REGAL_CALL plugin_glGetMinmaxParameterfv(GLenum target, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetMinmaxParameteriv(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetSeparableFilter(GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span);\nREGAL_DECL void REGAL_CALL plugin_glHistogram(GLenum target, GLsizei width, GLenum internalformat, GLboolean sink);\nREGAL_DECL void REGAL_CALL plugin_glMinmax(GLenum target, GLenum internalformat, GLboolean sink);\nREGAL_DECL void REGAL_CALL plugin_glResetHistogram(GLenum target);\nREGAL_DECL void REGAL_CALL plugin_glResetMinmax(GLenum target);\nREGAL_DECL void REGAL_CALL plugin_glSeparableFilter2D(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column);\n#endif\n\n/**\n ** GL_ARB_indirect_parameters\n **/\n\n#if (defined(GL_ARB_INDIRECT_PARAMETERS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_INDIRECT_PARAMETERS)) && !defined(REGAL_NO_ENUM_GL_ARB_INDIRECT_PARAMETERS)\n#define REGAL_NO_ENUM_GL_ARB_INDIRECT_PARAMETERS\n#endif\n\n#if (defined(GL_ARB_INDIRECT_PARAMETERS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_INDIRECT_PARAMETERS)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_INDIRECT_PARAMETERS)\n#define REGAL_NO_TYPEDEF_GL_ARB_INDIRECT_PARAMETERS\n#endif\n\n#if (defined(GL_ARB_INDIRECT_PARAMETERS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_INDIRECT_PARAMETERS)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_INDIRECT_PARAMETERS)\n#define REGAL_NO_NAMESPACE_GL_ARB_INDIRECT_PARAMETERS\n#endif\n\n#if (defined(GL_ARB_INDIRECT_PARAMETERS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_INDIRECT_PARAMETERS)) && !defined(REGAL_NO_PLUGIN_GL_ARB_INDIRECT_PARAMETERS)\n#define REGAL_NO_PLUGIN_GL_ARB_INDIRECT_PARAMETERS\n#endif\n\n#if (defined(GL_ARB_INDIRECT_PARAMETERS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_INDIRECT_PARAMETERS)) && !defined(REGAL_NO_DECLARATION_GL_ARB_INDIRECT_PARAMETERS)\n#define REGAL_NO_DECLARATION_GL_ARB_INDIRECT_PARAMETERS\n#endif\n\n#ifndef GL_ARB_indirect_parameters\n#define GL_ARB_indirect_parameters 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_INDIRECT_PARAMETERS\n#define GL_PARAMETER_BUFFER_ARB         0x80ee     /* 33006 */\n#define GL_PARAMETER_BUFFER_BINDING_ARB 0x80ef     /* 33007 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_INDIRECT_PARAMETERS\ntypedef void (REGAL_CALL *PFNGLMULTIDRAWARRAYSINDIRECTCOUNTARBPROC)(GLenum mode, const GLvoid *indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride);\ntypedef void (REGAL_CALL *PFNGLMULTIDRAWELEMENTSINDIRECTCOUNTARBPROC)(GLenum mode, GLenum type, const GLvoid *indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_INDIRECT_PARAMETERS\n#define glMultiDrawArraysIndirectCountARB   rglMultiDrawArraysIndirectCountARB\n#define glMultiDrawElementsIndirectCountARB rglMultiDrawElementsIndirectCountARB\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_INDIRECT_PARAMETERS\nREGAL_DECL void REGAL_CALL glMultiDrawArraysIndirectCountARB(GLenum mode, const GLvoid *indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride);\nREGAL_DECL void REGAL_CALL glMultiDrawElementsIndirectCountARB(GLenum mode, GLenum type, const GLvoid *indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_INDIRECT_PARAMETERS\nREGAL_DECL void REGAL_CALL plugin_glMultiDrawArraysIndirectCountARB(GLenum mode, const GLvoid *indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride);\nREGAL_DECL void REGAL_CALL plugin_glMultiDrawElementsIndirectCountARB(GLenum mode, GLenum type, const GLvoid *indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride);\n#endif\n\n/**\n ** GL_ARB_instanced_arrays\n **/\n\n#if (defined(GL_ARB_INSTANCED_ARRAYS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_INSTANCED_ARRAYS)) && !defined(REGAL_NO_ENUM_GL_ARB_INSTANCED_ARRAYS)\n#define REGAL_NO_ENUM_GL_ARB_INSTANCED_ARRAYS\n#endif\n\n#if (defined(GL_ARB_INSTANCED_ARRAYS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_INSTANCED_ARRAYS)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_INSTANCED_ARRAYS)\n#define REGAL_NO_TYPEDEF_GL_ARB_INSTANCED_ARRAYS\n#endif\n\n#if (defined(GL_ARB_INSTANCED_ARRAYS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_INSTANCED_ARRAYS)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_INSTANCED_ARRAYS)\n#define REGAL_NO_NAMESPACE_GL_ARB_INSTANCED_ARRAYS\n#endif\n\n#if (defined(GL_ARB_INSTANCED_ARRAYS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_INSTANCED_ARRAYS)) && !defined(REGAL_NO_PLUGIN_GL_ARB_INSTANCED_ARRAYS)\n#define REGAL_NO_PLUGIN_GL_ARB_INSTANCED_ARRAYS\n#endif\n\n#if (defined(GL_ARB_INSTANCED_ARRAYS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_INSTANCED_ARRAYS)) && !defined(REGAL_NO_DECLARATION_GL_ARB_INSTANCED_ARRAYS)\n#define REGAL_NO_DECLARATION_GL_ARB_INSTANCED_ARRAYS\n#endif\n\n#ifndef GL_ARB_instanced_arrays\n#define GL_ARB_instanced_arrays 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_INSTANCED_ARRAYS\n#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB 0x88fe /* 35070 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_INSTANCED_ARRAYS\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBDIVISORARBPROC)(GLuint index, GLuint divisor);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_INSTANCED_ARRAYS\n#define glVertexAttribDivisorARB            rglVertexAttribDivisorARB\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_INSTANCED_ARRAYS\nREGAL_DECL void REGAL_CALL glVertexAttribDivisorARB(GLuint index, GLuint divisor);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_INSTANCED_ARRAYS\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribDivisorARB(GLuint index, GLuint divisor);\n#endif\n\n/**\n ** GL_ARB_internalformat_query\n **/\n\n#if (defined(GL_ARB_INTERNALFORMAT_QUERY) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_INTERNALFORMAT_QUERY)) && !defined(REGAL_NO_ENUM_GL_ARB_INTERNALFORMAT_QUERY)\n#define REGAL_NO_ENUM_GL_ARB_INTERNALFORMAT_QUERY\n#endif\n\n#if (defined(GL_ARB_INTERNALFORMAT_QUERY) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_INTERNALFORMAT_QUERY)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_INTERNALFORMAT_QUERY)\n#define REGAL_NO_TYPEDEF_GL_ARB_INTERNALFORMAT_QUERY\n#endif\n\n#if (defined(GL_ARB_INTERNALFORMAT_QUERY) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_INTERNALFORMAT_QUERY)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_INTERNALFORMAT_QUERY)\n#define REGAL_NO_NAMESPACE_GL_ARB_INTERNALFORMAT_QUERY\n#endif\n\n#if (defined(GL_ARB_INTERNALFORMAT_QUERY) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_INTERNALFORMAT_QUERY)) && !defined(REGAL_NO_PLUGIN_GL_ARB_INTERNALFORMAT_QUERY)\n#define REGAL_NO_PLUGIN_GL_ARB_INTERNALFORMAT_QUERY\n#endif\n\n#if (defined(GL_ARB_INTERNALFORMAT_QUERY) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_INTERNALFORMAT_QUERY)) && !defined(REGAL_NO_DECLARATION_GL_ARB_INTERNALFORMAT_QUERY)\n#define REGAL_NO_DECLARATION_GL_ARB_INTERNALFORMAT_QUERY\n#endif\n\n#ifndef GL_ARB_internalformat_query\n#define GL_ARB_internalformat_query 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_INTERNALFORMAT_QUERY\n#define GL_NUM_SAMPLE_COUNTS 0x9380 /* 37760 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_INTERNALFORMAT_QUERY\ntypedef void (REGAL_CALL *PFNGLGETINTERNALFORMATIVPROC)(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint *params);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_INTERNALFORMAT_QUERY\n#define glGetInternalformativ               rglGetInternalformativ\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_INTERNALFORMAT_QUERY\nREGAL_DECL void REGAL_CALL glGetInternalformativ(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint *params);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_INTERNALFORMAT_QUERY\nREGAL_DECL void REGAL_CALL plugin_glGetInternalformativ(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint *params);\n#endif\n\n/**\n ** GL_ARB_internalformat_query2\n **/\n\n#if (defined(GL_ARB_INTERNALFORMAT_QUERY2) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_INTERNALFORMAT_QUERY2)) && !defined(REGAL_NO_ENUM_GL_ARB_INTERNALFORMAT_QUERY2)\n#define REGAL_NO_ENUM_GL_ARB_INTERNALFORMAT_QUERY2\n#endif\n\n#if (defined(GL_ARB_INTERNALFORMAT_QUERY2) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_INTERNALFORMAT_QUERY2)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_INTERNALFORMAT_QUERY2)\n#define REGAL_NO_TYPEDEF_GL_ARB_INTERNALFORMAT_QUERY2\n#endif\n\n#if (defined(GL_ARB_INTERNALFORMAT_QUERY2) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_INTERNALFORMAT_QUERY2)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_INTERNALFORMAT_QUERY2)\n#define REGAL_NO_NAMESPACE_GL_ARB_INTERNALFORMAT_QUERY2\n#endif\n\n#if (defined(GL_ARB_INTERNALFORMAT_QUERY2) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_INTERNALFORMAT_QUERY2)) && !defined(REGAL_NO_PLUGIN_GL_ARB_INTERNALFORMAT_QUERY2)\n#define REGAL_NO_PLUGIN_GL_ARB_INTERNALFORMAT_QUERY2\n#endif\n\n#if (defined(GL_ARB_INTERNALFORMAT_QUERY2) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_INTERNALFORMAT_QUERY2)) && !defined(REGAL_NO_DECLARATION_GL_ARB_INTERNALFORMAT_QUERY2)\n#define REGAL_NO_DECLARATION_GL_ARB_INTERNALFORMAT_QUERY2\n#endif\n\n#ifndef GL_ARB_internalformat_query2\n#define GL_ARB_internalformat_query2 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_INTERNALFORMAT_QUERY2\n#define GL_INTERNALFORMAT_SUPPORTED               0x826f     /* 33391 */\n#define GL_INTERNALFORMAT_PREFERRED               0x8270     /* 33392 */\n#define GL_INTERNALFORMAT_RED_SIZE                0x8271     /* 33393 */\n#define GL_INTERNALFORMAT_GREEN_SIZE              0x8272     /* 33394 */\n#define GL_INTERNALFORMAT_BLUE_SIZE               0x8273     /* 33395 */\n#define GL_INTERNALFORMAT_ALPHA_SIZE              0x8274     /* 33396 */\n#define GL_INTERNALFORMAT_DEPTH_SIZE              0x8275     /* 33397 */\n#define GL_INTERNALFORMAT_STENCIL_SIZE            0x8276     /* 33398 */\n#define GL_INTERNALFORMAT_SHARED_SIZE             0x8277     /* 33399 */\n#define GL_INTERNALFORMAT_RED_TYPE                0x8278     /* 33400 */\n#define GL_INTERNALFORMAT_GREEN_TYPE              0x8279     /* 33401 */\n#define GL_INTERNALFORMAT_BLUE_TYPE               0x827a     /* 33402 */\n#define GL_INTERNALFORMAT_ALPHA_TYPE              0x827b     /* 33403 */\n#define GL_INTERNALFORMAT_DEPTH_TYPE              0x827c     /* 33404 */\n#define GL_INTERNALFORMAT_STENCIL_TYPE            0x827d     /* 33405 */\n#define GL_MAX_WIDTH                              0x827e     /* 33406 */\n#define GL_MAX_HEIGHT                             0x827f     /* 33407 */\n#define GL_MAX_DEPTH                              0x8280     /* 33408 */\n#define GL_MAX_LAYERS                             0x8281     /* 33409 */\n#define GL_MAX_COMBINED_DIMENSIONS                0x8282     /* 33410 */\n#define GL_COLOR_COMPONENTS                       0x8283     /* 33411 */\n#define GL_DEPTH_COMPONENTS                       0x8284     /* 33412 */\n#define GL_STENCIL_COMPONENTS                     0x8285     /* 33413 */\n#define GL_COLOR_RENDERABLE                       0x8286     /* 33414 */\n#define GL_DEPTH_RENDERABLE                       0x8287     /* 33415 */\n#define GL_STENCIL_RENDERABLE                     0x8288     /* 33416 */\n#define GL_FRAMEBUFFER_RENDERABLE                 0x8289     /* 33417 */\n#define GL_FRAMEBUFFER_RENDERABLE_LAYERED         0x828a     /* 33418 */\n#define GL_FRAMEBUFFER_BLEND                      0x828b     /* 33419 */\n#define GL_READ_PIXELS                            0x828c     /* 33420 */\n#define GL_READ_PIXELS_FORMAT                     0x828d     /* 33421 */\n#define GL_READ_PIXELS_TYPE                       0x828e     /* 33422 */\n#define GL_TEXTURE_IMAGE_FORMAT                   0x828f     /* 33423 */\n#define GL_TEXTURE_IMAGE_TYPE                     0x8290     /* 33424 */\n#define GL_GET_TEXTURE_IMAGE_FORMAT               0x8291     /* 33425 */\n#define GL_GET_TEXTURE_IMAGE_TYPE                 0x8292     /* 33426 */\n#define GL_MIPMAP                                 0x8293     /* 33427 */\n#define GL_MANUAL_GENERATE_MIPMAP                 0x8294     /* 33428 */\n#define GL_AUTO_GENERATE_MIPMAP                   0x8295     /* 33429 */\n#define GL_COLOR_ENCODING                         0x8296     /* 33430 */\n#define GL_SRGB_READ                              0x8297     /* 33431 */\n#define GL_SRGB_WRITE                             0x8298     /* 33432 */\n#define GL_SRGB_DECODE_ARB                        0x8299     /* 33433 */\n#define GL_FILTER                                 0x829a     /* 33434 */\n#define GL_VERTEX_TEXTURE                         0x829b     /* 33435 */\n#define GL_TESS_CONTROL_TEXTURE                   0x829c     /* 33436 */\n#define GL_TESS_EVALUATION_TEXTURE                0x829d     /* 33437 */\n#define GL_GEOMETRY_TEXTURE                       0x829e     /* 33438 */\n#define GL_FRAGMENT_TEXTURE                       0x829f     /* 33439 */\n#define GL_COMPUTE_TEXTURE                        0x82a0     /* 33440 */\n#define GL_TEXTURE_SHADOW                         0x82a1     /* 33441 */\n#define GL_TEXTURE_GATHER                         0x82a2     /* 33442 */\n#define GL_TEXTURE_GATHER_SHADOW                  0x82a3     /* 33443 */\n#define GL_SHADER_IMAGE_LOAD                      0x82a4     /* 33444 */\n#define GL_SHADER_IMAGE_STORE                     0x82a5     /* 33445 */\n#define GL_SHADER_IMAGE_ATOMIC                    0x82a6     /* 33446 */\n#define GL_IMAGE_TEXEL_SIZE                       0x82a7     /* 33447 */\n#define GL_IMAGE_COMPATIBILITY_CLASS              0x82a8     /* 33448 */\n#define GL_IMAGE_PIXEL_FORMAT                     0x82a9     /* 33449 */\n#define GL_IMAGE_PIXEL_TYPE                       0x82aa     /* 33450 */\n#define GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST    0x82ac     /* 33452 */\n#define GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST  0x82ad     /* 33453 */\n#define GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE   0x82ae     /* 33454 */\n#define GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE 0x82af     /* 33455 */\n#define GL_TEXTURE_COMPRESSED_BLOCK_WIDTH         0x82b1     /* 33457 */\n#define GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT        0x82b2     /* 33458 */\n#define GL_TEXTURE_COMPRESSED_BLOCK_SIZE          0x82b3     /* 33459 */\n#define GL_CLEAR_BUFFER                           0x82b4     /* 33460 */\n#define GL_TEXTURE_VIEW                           0x82b5     /* 33461 */\n#define GL_VIEW_COMPATIBILITY_CLASS               0x82b6     /* 33462 */\n#define GL_FULL_SUPPORT                           0x82b7     /* 33463 */\n#define GL_CAVEAT_SUPPORT                         0x82b8     /* 33464 */\n#define GL_IMAGE_CLASS_4_X_32                     0x82b9     /* 33465 */\n#define GL_IMAGE_CLASS_2_X_32                     0x82ba     /* 33466 */\n#define GL_IMAGE_CLASS_1_X_32                     0x82bb     /* 33467 */\n#define GL_IMAGE_CLASS_4_X_16                     0x82bc     /* 33468 */\n#define GL_IMAGE_CLASS_2_X_16                     0x82bd     /* 33469 */\n#define GL_IMAGE_CLASS_1_X_16                     0x82be     /* 33470 */\n#define GL_IMAGE_CLASS_4_X_8                      0x82bf     /* 33471 */\n#define GL_IMAGE_CLASS_2_X_8                      0x82c0     /* 33472 */\n#define GL_IMAGE_CLASS_1_X_8                      0x82c1     /* 33473 */\n#define GL_IMAGE_CLASS_11_11_10                   0x82c2     /* 33474 */\n#define GL_IMAGE_CLASS_10_10_10_2                 0x82c3     /* 33475 */\n#define GL_VIEW_CLASS_128_BITS                    0x82c4     /* 33476 */\n#define GL_VIEW_CLASS_96_BITS                     0x82c5     /* 33477 */\n#define GL_VIEW_CLASS_64_BITS                     0x82c6     /* 33478 */\n#define GL_VIEW_CLASS_48_BITS                     0x82c7     /* 33479 */\n#define GL_VIEW_CLASS_32_BITS                     0x82c8     /* 33480 */\n#define GL_VIEW_CLASS_24_BITS                     0x82c9     /* 33481 */\n#define GL_VIEW_CLASS_16_BITS                     0x82ca     /* 33482 */\n#define GL_VIEW_CLASS_8_BITS                      0x82cb     /* 33483 */\n#define GL_VIEW_CLASS_S3TC_DXT1_RGB               0x82cc     /* 33484 */\n#define GL_VIEW_CLASS_S3TC_DXT1_RGBA              0x82cd     /* 33485 */\n#define GL_VIEW_CLASS_S3TC_DXT3_RGBA              0x82ce     /* 33486 */\n#define GL_VIEW_CLASS_S3TC_DXT5_RGBA              0x82cf     /* 33487 */\n#define GL_VIEW_CLASS_RGTC1_RED                   0x82d0     /* 33488 */\n#define GL_VIEW_CLASS_RGTC2_RG                    0x82d1     /* 33489 */\n#define GL_VIEW_CLASS_BPTC_UNORM                  0x82d2     /* 33490 */\n#define GL_VIEW_CLASS_BPTC_FLOAT                  0x82d3     /* 33491 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_INTERNALFORMAT_QUERY2\ntypedef void (REGAL_CALL *PFNGLGETINTERNALFORMATI64VPROC)(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint64 *params);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_INTERNALFORMAT_QUERY2\n#define glGetInternalformati64v             rglGetInternalformati64v\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_INTERNALFORMAT_QUERY2\nREGAL_DECL void REGAL_CALL glGetInternalformati64v(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint64 *params);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_INTERNALFORMAT_QUERY2\nREGAL_DECL void REGAL_CALL plugin_glGetInternalformati64v(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint64 *params);\n#endif\n\n/**\n ** GL_ARB_invalidate_subdata\n **/\n\n#if (defined(GL_ARB_INVALIDATE_SUBDATA) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_INVALIDATE_SUBDATA)) && !defined(REGAL_NO_ENUM_GL_ARB_INVALIDATE_SUBDATA)\n#define REGAL_NO_ENUM_GL_ARB_INVALIDATE_SUBDATA\n#endif\n\n#if (defined(GL_ARB_INVALIDATE_SUBDATA) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_INVALIDATE_SUBDATA)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_INVALIDATE_SUBDATA)\n#define REGAL_NO_TYPEDEF_GL_ARB_INVALIDATE_SUBDATA\n#endif\n\n#if (defined(GL_ARB_INVALIDATE_SUBDATA) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_INVALIDATE_SUBDATA)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_INVALIDATE_SUBDATA)\n#define REGAL_NO_NAMESPACE_GL_ARB_INVALIDATE_SUBDATA\n#endif\n\n#if (defined(GL_ARB_INVALIDATE_SUBDATA) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_INVALIDATE_SUBDATA)) && !defined(REGAL_NO_PLUGIN_GL_ARB_INVALIDATE_SUBDATA)\n#define REGAL_NO_PLUGIN_GL_ARB_INVALIDATE_SUBDATA\n#endif\n\n#if (defined(GL_ARB_INVALIDATE_SUBDATA) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_INVALIDATE_SUBDATA)) && !defined(REGAL_NO_DECLARATION_GL_ARB_INVALIDATE_SUBDATA)\n#define REGAL_NO_DECLARATION_GL_ARB_INVALIDATE_SUBDATA\n#endif\n\n#ifndef GL_ARB_invalidate_subdata\n#define GL_ARB_invalidate_subdata 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_INVALIDATE_SUBDATA\ntypedef void (REGAL_CALL *PFNGLINVALIDATEBUFFERDATAPROC)(GLuint buffer);\ntypedef void (REGAL_CALL *PFNGLINVALIDATEBUFFERSUBDATAPROC)(GLuint buffer, GLintptr offset, GLsizeiptr length);\ntypedef void (REGAL_CALL *PFNGLINVALIDATEFRAMEBUFFERPROC)(GLenum target, GLsizei numAttachments, const GLenum *attachments);\ntypedef void (REGAL_CALL *PFNGLINVALIDATESUBFRAMEBUFFERPROC)(GLenum target, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height);\ntypedef void (REGAL_CALL *PFNGLINVALIDATETEXIMAGEPROC)(GLuint texture, GLint level);\ntypedef void (REGAL_CALL *PFNGLINVALIDATETEXSUBIMAGEPROC)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_INVALIDATE_SUBDATA\n#define glInvalidateBufferData              rglInvalidateBufferData\n#define glInvalidateBufferSubData           rglInvalidateBufferSubData\n#define glInvalidateFramebuffer             rglInvalidateFramebuffer\n#define glInvalidateSubFramebuffer          rglInvalidateSubFramebuffer\n#define glInvalidateTexImage                rglInvalidateTexImage\n#define glInvalidateTexSubImage             rglInvalidateTexSubImage\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_INVALIDATE_SUBDATA\nREGAL_DECL void REGAL_CALL glInvalidateBufferData(GLuint buffer);\nREGAL_DECL void REGAL_CALL glInvalidateBufferSubData(GLuint buffer, GLintptr offset, GLsizeiptr length);\nREGAL_DECL void REGAL_CALL glInvalidateFramebuffer(GLenum target, GLsizei numAttachments, const GLenum *attachments);\nREGAL_DECL void REGAL_CALL glInvalidateSubFramebuffer(GLenum target, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height);\nREGAL_DECL void REGAL_CALL glInvalidateTexImage(GLuint texture, GLint level);\nREGAL_DECL void REGAL_CALL glInvalidateTexSubImage(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_INVALIDATE_SUBDATA\nREGAL_DECL void REGAL_CALL plugin_glInvalidateBufferData(GLuint buffer);\nREGAL_DECL void REGAL_CALL plugin_glInvalidateBufferSubData(GLuint buffer, GLintptr offset, GLsizeiptr length);\nREGAL_DECL void REGAL_CALL plugin_glInvalidateFramebuffer(GLenum target, GLsizei numAttachments, const GLenum *attachments);\nREGAL_DECL void REGAL_CALL plugin_glInvalidateSubFramebuffer(GLenum target, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height);\nREGAL_DECL void REGAL_CALL plugin_glInvalidateTexImage(GLuint texture, GLint level);\nREGAL_DECL void REGAL_CALL plugin_glInvalidateTexSubImage(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth);\n#endif\n\n/**\n ** GL_ARB_map_buffer_alignment\n **/\n\n#if (defined(GL_ARB_MAP_BUFFER_ALIGNMENT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_MAP_BUFFER_ALIGNMENT)) && !defined(REGAL_NO_ENUM_GL_ARB_MAP_BUFFER_ALIGNMENT)\n#define REGAL_NO_ENUM_GL_ARB_MAP_BUFFER_ALIGNMENT\n#endif\n\n#if (defined(GL_ARB_MAP_BUFFER_ALIGNMENT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_MAP_BUFFER_ALIGNMENT)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_MAP_BUFFER_ALIGNMENT)\n#define REGAL_NO_TYPEDEF_GL_ARB_MAP_BUFFER_ALIGNMENT\n#endif\n\n#if (defined(GL_ARB_MAP_BUFFER_ALIGNMENT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_MAP_BUFFER_ALIGNMENT)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_MAP_BUFFER_ALIGNMENT)\n#define REGAL_NO_NAMESPACE_GL_ARB_MAP_BUFFER_ALIGNMENT\n#endif\n\n#if (defined(GL_ARB_MAP_BUFFER_ALIGNMENT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_MAP_BUFFER_ALIGNMENT)) && !defined(REGAL_NO_PLUGIN_GL_ARB_MAP_BUFFER_ALIGNMENT)\n#define REGAL_NO_PLUGIN_GL_ARB_MAP_BUFFER_ALIGNMENT\n#endif\n\n#if (defined(GL_ARB_MAP_BUFFER_ALIGNMENT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_MAP_BUFFER_ALIGNMENT)) && !defined(REGAL_NO_DECLARATION_GL_ARB_MAP_BUFFER_ALIGNMENT)\n#define REGAL_NO_DECLARATION_GL_ARB_MAP_BUFFER_ALIGNMENT\n#endif\n\n#ifndef GL_ARB_map_buffer_alignment\n#define GL_ARB_map_buffer_alignment 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_MAP_BUFFER_ALIGNMENT\n#define GL_MIN_MAP_BUFFER_ALIGNMENT 0x90bc /* 37052 */\n#endif\n\n/**\n ** GL_ARB_map_buffer_range\n **/\n\n#if (defined(GL_ARB_MAP_BUFFER_RANGE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_MAP_BUFFER_RANGE)) && !defined(REGAL_NO_ENUM_GL_ARB_MAP_BUFFER_RANGE)\n#define REGAL_NO_ENUM_GL_ARB_MAP_BUFFER_RANGE\n#endif\n\n#if (defined(GL_ARB_MAP_BUFFER_RANGE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_MAP_BUFFER_RANGE)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_MAP_BUFFER_RANGE)\n#define REGAL_NO_TYPEDEF_GL_ARB_MAP_BUFFER_RANGE\n#endif\n\n#if (defined(GL_ARB_MAP_BUFFER_RANGE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_MAP_BUFFER_RANGE)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_MAP_BUFFER_RANGE)\n#define REGAL_NO_NAMESPACE_GL_ARB_MAP_BUFFER_RANGE\n#endif\n\n#if (defined(GL_ARB_MAP_BUFFER_RANGE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_MAP_BUFFER_RANGE)) && !defined(REGAL_NO_PLUGIN_GL_ARB_MAP_BUFFER_RANGE)\n#define REGAL_NO_PLUGIN_GL_ARB_MAP_BUFFER_RANGE\n#endif\n\n#if (defined(GL_ARB_MAP_BUFFER_RANGE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_MAP_BUFFER_RANGE)) && !defined(REGAL_NO_DECLARATION_GL_ARB_MAP_BUFFER_RANGE)\n#define REGAL_NO_DECLARATION_GL_ARB_MAP_BUFFER_RANGE\n#endif\n\n#ifndef GL_ARB_map_buffer_range\n#define GL_ARB_map_buffer_range 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_MAP_BUFFER_RANGE\n#define GL_MAP_READ_BIT              0x1\n#define GL_MAP_FLUSH_EXPLICIT_BIT    0x10     /* 16 */\n#define GL_MAP_WRITE_BIT             0x2\n#define GL_MAP_UNSYNCHRONIZED_BIT    0x20     /* 32 */\n#define GL_MAP_INVALIDATE_RANGE_BIT  0x4\n#define GL_MAP_INVALIDATE_BUFFER_BIT 0x8\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_MAP_BUFFER_RANGE\ntypedef GLvoid *(REGAL_CALL *PFNGLMAPBUFFERRANGEPROC)(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);\ntypedef void (REGAL_CALL *PFNGLFLUSHMAPPEDBUFFERRANGEPROC)(GLenum target, GLintptr offset, GLsizeiptr length);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_MAP_BUFFER_RANGE\n#define glFlushMappedBufferRange            rglFlushMappedBufferRange\n#define glMapBufferRange                    rglMapBufferRange\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_MAP_BUFFER_RANGE\nREGAL_DECL GLvoid *REGAL_CALL glMapBufferRange(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);\nREGAL_DECL void REGAL_CALL glFlushMappedBufferRange(GLenum target, GLintptr offset, GLsizeiptr length);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_MAP_BUFFER_RANGE\nREGAL_DECL GLvoid *REGAL_CALL plugin_glMapBufferRange(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);\nREGAL_DECL void REGAL_CALL plugin_glFlushMappedBufferRange(GLenum target, GLintptr offset, GLsizeiptr length);\n#endif\n\n/**\n ** GL_ARB_matrix_palette\n **/\n\n#if (defined(GL_ARB_MATRIX_PALETTE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_MATRIX_PALETTE)) && !defined(REGAL_NO_ENUM_GL_ARB_MATRIX_PALETTE)\n#define REGAL_NO_ENUM_GL_ARB_MATRIX_PALETTE\n#endif\n\n#if (defined(GL_ARB_MATRIX_PALETTE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_MATRIX_PALETTE)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_MATRIX_PALETTE)\n#define REGAL_NO_TYPEDEF_GL_ARB_MATRIX_PALETTE\n#endif\n\n#if (defined(GL_ARB_MATRIX_PALETTE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_MATRIX_PALETTE)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_MATRIX_PALETTE)\n#define REGAL_NO_NAMESPACE_GL_ARB_MATRIX_PALETTE\n#endif\n\n#if (defined(GL_ARB_MATRIX_PALETTE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_MATRIX_PALETTE)) && !defined(REGAL_NO_PLUGIN_GL_ARB_MATRIX_PALETTE)\n#define REGAL_NO_PLUGIN_GL_ARB_MATRIX_PALETTE\n#endif\n\n#if (defined(GL_ARB_MATRIX_PALETTE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_MATRIX_PALETTE)) && !defined(REGAL_NO_DECLARATION_GL_ARB_MATRIX_PALETTE)\n#define REGAL_NO_DECLARATION_GL_ARB_MATRIX_PALETTE\n#endif\n\n#ifndef GL_ARB_matrix_palette\n#define GL_ARB_matrix_palette 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_MATRIX_PALETTE\n#define GL_MATRIX_PALETTE_ARB                 0x8840     /* 34880 */\n#define GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB 0x8841     /* 34881 */\n#define GL_MAX_PALETTE_MATRICES_ARB           0x8842     /* 34882 */\n#define GL_CURRENT_PALETTE_MATRIX_ARB         0x8843     /* 34883 */\n#define GL_MATRIX_INDEX_ARRAY_ARB             0x8844     /* 34884 */\n#define GL_CURRENT_MATRIX_INDEX_ARB           0x8845     /* 34885 */\n#define GL_MATRIX_INDEX_ARRAY_SIZE_ARB        0x8846     /* 34886 */\n#define GL_MATRIX_INDEX_ARRAY_TYPE_ARB        0x8847     /* 34887 */\n#define GL_MATRIX_INDEX_ARRAY_STRIDE_ARB      0x8848     /* 34888 */\n#define GL_MATRIX_INDEX_ARRAY_POINTER_ARB     0x8849     /* 34889 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_MATRIX_PALETTE\ntypedef void (REGAL_CALL *PFNGLCURRENTPALETTEMATRIXARBPROC)(GLint index);\ntypedef void (REGAL_CALL *PFNGLMATRIXINDEXPOINTERARBPROC)(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);\ntypedef void (REGAL_CALL *PFNGLMATRIXINDEXUBVARBPROC)(GLint size, const GLubyte *indices);\ntypedef void (REGAL_CALL *PFNGLMATRIXINDEXUIVARBPROC)(GLint size, const GLuint *indices);\ntypedef void (REGAL_CALL *PFNGLMATRIXINDEXUSVARBPROC)(GLint size, const GLushort *indices);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_MATRIX_PALETTE\n#define glCurrentPaletteMatrixARB           rglCurrentPaletteMatrixARB\n#define glMatrixIndexPointerARB             rglMatrixIndexPointerARB\n#define glMatrixIndexubvARB                 rglMatrixIndexubvARB\n#define glMatrixIndexuivARB                 rglMatrixIndexuivARB\n#define glMatrixIndexusvARB                 rglMatrixIndexusvARB\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_MATRIX_PALETTE\nREGAL_DECL void REGAL_CALL glCurrentPaletteMatrixARB(GLint index);\nREGAL_DECL void REGAL_CALL glMatrixIndexPointerARB(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL glMatrixIndexubvARB(GLint size, const GLubyte *indices);\nREGAL_DECL void REGAL_CALL glMatrixIndexuivARB(GLint size, const GLuint *indices);\nREGAL_DECL void REGAL_CALL glMatrixIndexusvARB(GLint size, const GLushort *indices);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_MATRIX_PALETTE\nREGAL_DECL void REGAL_CALL plugin_glCurrentPaletteMatrixARB(GLint index);\nREGAL_DECL void REGAL_CALL plugin_glMatrixIndexPointerARB(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL plugin_glMatrixIndexubvARB(GLint size, const GLubyte *indices);\nREGAL_DECL void REGAL_CALL plugin_glMatrixIndexuivARB(GLint size, const GLuint *indices);\nREGAL_DECL void REGAL_CALL plugin_glMatrixIndexusvARB(GLint size, const GLushort *indices);\n#endif\n\n/**\n ** GL_ARB_multi_bind\n **/\n\n#if (defined(GL_ARB_MULTI_BIND) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_MULTI_BIND)) && !defined(REGAL_NO_ENUM_GL_ARB_MULTI_BIND)\n#define REGAL_NO_ENUM_GL_ARB_MULTI_BIND\n#endif\n\n#if (defined(GL_ARB_MULTI_BIND) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_MULTI_BIND)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_MULTI_BIND)\n#define REGAL_NO_TYPEDEF_GL_ARB_MULTI_BIND\n#endif\n\n#if (defined(GL_ARB_MULTI_BIND) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_MULTI_BIND)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_MULTI_BIND)\n#define REGAL_NO_NAMESPACE_GL_ARB_MULTI_BIND\n#endif\n\n#if (defined(GL_ARB_MULTI_BIND) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_MULTI_BIND)) && !defined(REGAL_NO_PLUGIN_GL_ARB_MULTI_BIND)\n#define REGAL_NO_PLUGIN_GL_ARB_MULTI_BIND\n#endif\n\n#if (defined(GL_ARB_MULTI_BIND) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_MULTI_BIND)) && !defined(REGAL_NO_DECLARATION_GL_ARB_MULTI_BIND)\n#define REGAL_NO_DECLARATION_GL_ARB_MULTI_BIND\n#endif\n\n#ifndef GL_ARB_multi_bind\n#define GL_ARB_multi_bind 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_MULTI_BIND\ntypedef void (REGAL_CALL *PFNGLBINDBUFFERSBASEPROC)(GLenum target, GLuint first, GLsizei count, const GLuint *buffers);\ntypedef void (REGAL_CALL *PFNGLBINDBUFFERSRANGEPROC)(GLenum target, GLuint first, GLsizei count, const GLuint *buffers, const GLintptr *offsets, const GLsizeiptr *sizes);\ntypedef void (REGAL_CALL *PFNGLBINDIMAGETEXTURESPROC)(GLuint first, GLsizei count, const GLuint *textures);\ntypedef void (REGAL_CALL *PFNGLBINDSAMPLERSPROC)(GLuint first, GLsizei count, const GLuint *samplers);\ntypedef void (REGAL_CALL *PFNGLBINDTEXTURESPROC)(GLuint first, GLsizei count, const GLuint *textures);\ntypedef void (REGAL_CALL *PFNGLBINDVERTEXBUFFERSPROC)(GLuint first, GLsizei count, const GLuint *buffers, const GLintptr *offsets, const GLsizei *strides);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_MULTI_BIND\n#define glBindBuffersBase                   rglBindBuffersBase\n#define glBindBuffersRange                  rglBindBuffersRange\n#define glBindImageTextures                 rglBindImageTextures\n#define glBindSamplers                      rglBindSamplers\n#define glBindTextures                      rglBindTextures\n#define glBindVertexBuffers                 rglBindVertexBuffers\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_MULTI_BIND\nREGAL_DECL void REGAL_CALL glBindBuffersBase(GLenum target, GLuint first, GLsizei count, const GLuint *buffers);\nREGAL_DECL void REGAL_CALL glBindBuffersRange(GLenum target, GLuint first, GLsizei count, const GLuint *buffers, const GLintptr *offsets, const GLsizeiptr *sizes);\nREGAL_DECL void REGAL_CALL glBindImageTextures(GLuint first, GLsizei count, const GLuint *textures);\nREGAL_DECL void REGAL_CALL glBindSamplers(GLuint first, GLsizei count, const GLuint *samplers);\nREGAL_DECL void REGAL_CALL glBindTextures(GLuint first, GLsizei count, const GLuint *textures);\nREGAL_DECL void REGAL_CALL glBindVertexBuffers(GLuint first, GLsizei count, const GLuint *buffers, const GLintptr *offsets, const GLsizei *strides);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_MULTI_BIND\nREGAL_DECL void REGAL_CALL plugin_glBindBuffersBase(GLenum target, GLuint first, GLsizei count, const GLuint *buffers);\nREGAL_DECL void REGAL_CALL plugin_glBindBuffersRange(GLenum target, GLuint first, GLsizei count, const GLuint *buffers, const GLintptr *offsets, const GLsizeiptr *sizes);\nREGAL_DECL void REGAL_CALL plugin_glBindImageTextures(GLuint first, GLsizei count, const GLuint *textures);\nREGAL_DECL void REGAL_CALL plugin_glBindSamplers(GLuint first, GLsizei count, const GLuint *samplers);\nREGAL_DECL void REGAL_CALL plugin_glBindTextures(GLuint first, GLsizei count, const GLuint *textures);\nREGAL_DECL void REGAL_CALL plugin_glBindVertexBuffers(GLuint first, GLsizei count, const GLuint *buffers, const GLintptr *offsets, const GLsizei *strides);\n#endif\n\n/**\n ** GL_ARB_multi_draw_indirect\n **/\n\n#if (defined(GL_ARB_MULTI_DRAW_INDIRECT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_MULTI_DRAW_INDIRECT)) && !defined(REGAL_NO_ENUM_GL_ARB_MULTI_DRAW_INDIRECT)\n#define REGAL_NO_ENUM_GL_ARB_MULTI_DRAW_INDIRECT\n#endif\n\n#if (defined(GL_ARB_MULTI_DRAW_INDIRECT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_MULTI_DRAW_INDIRECT)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_MULTI_DRAW_INDIRECT)\n#define REGAL_NO_TYPEDEF_GL_ARB_MULTI_DRAW_INDIRECT\n#endif\n\n#if (defined(GL_ARB_MULTI_DRAW_INDIRECT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_MULTI_DRAW_INDIRECT)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_MULTI_DRAW_INDIRECT)\n#define REGAL_NO_NAMESPACE_GL_ARB_MULTI_DRAW_INDIRECT\n#endif\n\n#if (defined(GL_ARB_MULTI_DRAW_INDIRECT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_MULTI_DRAW_INDIRECT)) && !defined(REGAL_NO_PLUGIN_GL_ARB_MULTI_DRAW_INDIRECT)\n#define REGAL_NO_PLUGIN_GL_ARB_MULTI_DRAW_INDIRECT\n#endif\n\n#if (defined(GL_ARB_MULTI_DRAW_INDIRECT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_MULTI_DRAW_INDIRECT)) && !defined(REGAL_NO_DECLARATION_GL_ARB_MULTI_DRAW_INDIRECT)\n#define REGAL_NO_DECLARATION_GL_ARB_MULTI_DRAW_INDIRECT\n#endif\n\n#ifndef GL_ARB_multi_draw_indirect\n#define GL_ARB_multi_draw_indirect 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_MULTI_DRAW_INDIRECT\ntypedef void (REGAL_CALL *PFNGLMULTIDRAWARRAYSINDIRECTPROC)(GLenum mode, const GLvoid *indirect, GLsizei primcount, GLsizei stride);\ntypedef void (REGAL_CALL *PFNGLMULTIDRAWELEMENTSINDIRECTPROC)(GLenum mode, GLenum type, const GLvoid *indirect, GLsizei primcount, GLsizei stride);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_MULTI_DRAW_INDIRECT\n#define glMultiDrawArraysIndirect           rglMultiDrawArraysIndirect\n#define glMultiDrawElementsIndirect         rglMultiDrawElementsIndirect\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_MULTI_DRAW_INDIRECT\nREGAL_DECL void REGAL_CALL glMultiDrawArraysIndirect(GLenum mode, const GLvoid *indirect, GLsizei primcount, GLsizei stride);\nREGAL_DECL void REGAL_CALL glMultiDrawElementsIndirect(GLenum mode, GLenum type, const GLvoid *indirect, GLsizei primcount, GLsizei stride);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_MULTI_DRAW_INDIRECT\nREGAL_DECL void REGAL_CALL plugin_glMultiDrawArraysIndirect(GLenum mode, const GLvoid *indirect, GLsizei primcount, GLsizei stride);\nREGAL_DECL void REGAL_CALL plugin_glMultiDrawElementsIndirect(GLenum mode, GLenum type, const GLvoid *indirect, GLsizei primcount, GLsizei stride);\n#endif\n\n/**\n ** GL_ARB_multisample\n **/\n\n#if (defined(GL_ARB_MULTISAMPLE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_MULTISAMPLE)) && !defined(REGAL_NO_ENUM_GL_ARB_MULTISAMPLE)\n#define REGAL_NO_ENUM_GL_ARB_MULTISAMPLE\n#endif\n\n#if (defined(GL_ARB_MULTISAMPLE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_MULTISAMPLE)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_MULTISAMPLE)\n#define REGAL_NO_TYPEDEF_GL_ARB_MULTISAMPLE\n#endif\n\n#if (defined(GL_ARB_MULTISAMPLE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_MULTISAMPLE)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_MULTISAMPLE)\n#define REGAL_NO_NAMESPACE_GL_ARB_MULTISAMPLE\n#endif\n\n#if (defined(GL_ARB_MULTISAMPLE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_MULTISAMPLE)) && !defined(REGAL_NO_PLUGIN_GL_ARB_MULTISAMPLE)\n#define REGAL_NO_PLUGIN_GL_ARB_MULTISAMPLE\n#endif\n\n#if (defined(GL_ARB_MULTISAMPLE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_MULTISAMPLE)) && !defined(REGAL_NO_DECLARATION_GL_ARB_MULTISAMPLE)\n#define REGAL_NO_DECLARATION_GL_ARB_MULTISAMPLE\n#endif\n\n#ifndef GL_ARB_multisample\n#define GL_ARB_multisample 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_MULTISAMPLE\n#define GL_MULTISAMPLE_BIT_ARB          0x20000000     /* 536870912 */\n#define GL_MULTISAMPLE_ARB              0x809d         /* 32925 */\n#define GL_SAMPLE_ALPHA_TO_COVERAGE_ARB 0x809e         /* 32926 */\n#define GL_SAMPLE_ALPHA_TO_ONE_ARB      0x809f         /* 32927 */\n#define GL_SAMPLE_COVERAGE_ARB          0x80a0         /* 32928 */\n#define GL_SAMPLE_BUFFERS_ARB           0x80a8         /* 32936 */\n#define GL_SAMPLES_ARB                  0x80a9         /* 32937 */\n#define GL_SAMPLE_COVERAGE_VALUE_ARB    0x80aa         /* 32938 */\n#define GL_SAMPLE_COVERAGE_INVERT_ARB   0x80ab         /* 32939 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_MULTISAMPLE\ntypedef void (REGAL_CALL *PFNGLSAMPLECOVERAGEARBPROC)(GLclampf value, GLboolean invert);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_MULTISAMPLE\n#define glSampleCoverageARB                 rglSampleCoverageARB\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_MULTISAMPLE\nREGAL_DECL void REGAL_CALL glSampleCoverageARB(GLclampf value, GLboolean invert);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_MULTISAMPLE\nREGAL_DECL void REGAL_CALL plugin_glSampleCoverageARB(GLclampf value, GLboolean invert);\n#endif\n\n/**\n ** GL_ARB_multitexture\n **/\n\n#if (defined(GL_ARB_MULTITEXTURE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_MULTITEXTURE)) && !defined(REGAL_NO_ENUM_GL_ARB_MULTITEXTURE)\n#define REGAL_NO_ENUM_GL_ARB_MULTITEXTURE\n#endif\n\n#if (defined(GL_ARB_MULTITEXTURE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_MULTITEXTURE)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_MULTITEXTURE)\n#define REGAL_NO_TYPEDEF_GL_ARB_MULTITEXTURE\n#endif\n\n#if (defined(GL_ARB_MULTITEXTURE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_MULTITEXTURE)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_MULTITEXTURE)\n#define REGAL_NO_NAMESPACE_GL_ARB_MULTITEXTURE\n#endif\n\n#if (defined(GL_ARB_MULTITEXTURE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_MULTITEXTURE)) && !defined(REGAL_NO_PLUGIN_GL_ARB_MULTITEXTURE)\n#define REGAL_NO_PLUGIN_GL_ARB_MULTITEXTURE\n#endif\n\n#if (defined(GL_ARB_MULTITEXTURE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_MULTITEXTURE)) && !defined(REGAL_NO_DECLARATION_GL_ARB_MULTITEXTURE)\n#define REGAL_NO_DECLARATION_GL_ARB_MULTITEXTURE\n#endif\n\n#ifndef GL_ARB_multitexture\n#define GL_ARB_multitexture 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_MULTITEXTURE\n#define GL_TEXTURE0_ARB              0x84c0     /* 33984 */\n#define GL_TEXTURE1_ARB              0x84c1     /* 33985 */\n#define GL_TEXTURE2_ARB              0x84c2     /* 33986 */\n#define GL_TEXTURE3_ARB              0x84c3     /* 33987 */\n#define GL_TEXTURE4_ARB              0x84c4     /* 33988 */\n#define GL_TEXTURE5_ARB              0x84c5     /* 33989 */\n#define GL_TEXTURE6_ARB              0x84c6     /* 33990 */\n#define GL_TEXTURE7_ARB              0x84c7     /* 33991 */\n#define GL_TEXTURE8_ARB              0x84c8     /* 33992 */\n#define GL_TEXTURE9_ARB              0x84c9     /* 33993 */\n#define GL_TEXTURE10_ARB             0x84ca     /* 33994 */\n#define GL_TEXTURE11_ARB             0x84cb     /* 33995 */\n#define GL_TEXTURE12_ARB             0x84cc     /* 33996 */\n#define GL_TEXTURE13_ARB             0x84cd     /* 33997 */\n#define GL_TEXTURE14_ARB             0x84ce     /* 33998 */\n#define GL_TEXTURE15_ARB             0x84cf     /* 33999 */\n#define GL_TEXTURE16_ARB             0x84d0     /* 34000 */\n#define GL_TEXTURE17_ARB             0x84d1     /* 34001 */\n#define GL_TEXTURE18_ARB             0x84d2     /* 34002 */\n#define GL_TEXTURE19_ARB             0x84d3     /* 34003 */\n#define GL_TEXTURE20_ARB             0x84d4     /* 34004 */\n#define GL_TEXTURE21_ARB             0x84d5     /* 34005 */\n#define GL_TEXTURE22_ARB             0x84d6     /* 34006 */\n#define GL_TEXTURE23_ARB             0x84d7     /* 34007 */\n#define GL_TEXTURE24_ARB             0x84d8     /* 34008 */\n#define GL_TEXTURE25_ARB             0x84d9     /* 34009 */\n#define GL_TEXTURE26_ARB             0x84da     /* 34010 */\n#define GL_TEXTURE27_ARB             0x84db     /* 34011 */\n#define GL_TEXTURE28_ARB             0x84dc     /* 34012 */\n#define GL_TEXTURE29_ARB             0x84dd     /* 34013 */\n#define GL_TEXTURE30_ARB             0x84de     /* 34014 */\n#define GL_TEXTURE31_ARB             0x84df     /* 34015 */\n#define GL_ACTIVE_TEXTURE_ARB        0x84e0     /* 34016 */\n#define GL_CLIENT_ACTIVE_TEXTURE_ARB 0x84e1     /* 34017 */\n#define GL_MAX_TEXTURE_UNITS_ARB     0x84e2     /* 34018 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_MULTITEXTURE\ntypedef void (REGAL_CALL *PFNGLACTIVETEXTUREARBPROC)(GLenum texture);\ntypedef void (REGAL_CALL *PFNGLCLIENTACTIVETEXTUREARBPROC)(GLenum texture);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD1DARBPROC)(GLenum target, GLdouble s);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD1DVARBPROC)(GLenum target, const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD1FARBPROC)(GLenum target, GLfloat s);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD1FVARBPROC)(GLenum target, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD1IARBPROC)(GLenum target, GLint s);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD1IVARBPROC)(GLenum target, const GLint *v);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD1SARBPROC)(GLenum target, GLshort s);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD1SVARBPROC)(GLenum target, const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD2DARBPROC)(GLenum target, GLdouble s, GLdouble t);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD2DVARBPROC)(GLenum target, const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD2FARBPROC)(GLenum target, GLfloat s, GLfloat t);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD2FVARBPROC)(GLenum target, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD2IARBPROC)(GLenum target, GLint s, GLint t);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD2IVARBPROC)(GLenum target, const GLint *v);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD2SARBPROC)(GLenum target, GLshort s, GLshort t);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD2SVARBPROC)(GLenum target, const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD3DARBPROC)(GLenum target, GLdouble s, GLdouble t, GLdouble r);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD3DVARBPROC)(GLenum target, const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD3FARBPROC)(GLenum target, GLfloat s, GLfloat t, GLfloat r);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD3FVARBPROC)(GLenum target, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD3IARBPROC)(GLenum target, GLint s, GLint t, GLint r);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD3IVARBPROC)(GLenum target, const GLint *v);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD3SARBPROC)(GLenum target, GLshort s, GLshort t, GLshort r);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD3SVARBPROC)(GLenum target, const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD4DARBPROC)(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD4DVARBPROC)(GLenum target, const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD4FARBPROC)(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD4FVARBPROC)(GLenum target, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD4IARBPROC)(GLenum target, GLint s, GLint t, GLint r, GLint q);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD4IVARBPROC)(GLenum target, const GLint *v);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD4SARBPROC)(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD4SVARBPROC)(GLenum target, const GLshort *v);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_MULTITEXTURE\n#define glActiveTextureARB                  rglActiveTextureARB\n#define glClientActiveTextureARB            rglClientActiveTextureARB\n#define glMultiTexCoord1dARB                rglMultiTexCoord1dARB\n#define glMultiTexCoord1dvARB               rglMultiTexCoord1dvARB\n#define glMultiTexCoord1fARB                rglMultiTexCoord1fARB\n#define glMultiTexCoord1fvARB               rglMultiTexCoord1fvARB\n#define glMultiTexCoord1iARB                rglMultiTexCoord1iARB\n#define glMultiTexCoord1ivARB               rglMultiTexCoord1ivARB\n#define glMultiTexCoord1sARB                rglMultiTexCoord1sARB\n#define glMultiTexCoord1svARB               rglMultiTexCoord1svARB\n#define glMultiTexCoord2dARB                rglMultiTexCoord2dARB\n#define glMultiTexCoord2dvARB               rglMultiTexCoord2dvARB\n#define glMultiTexCoord2fARB                rglMultiTexCoord2fARB\n#define glMultiTexCoord2fvARB               rglMultiTexCoord2fvARB\n#define glMultiTexCoord2iARB                rglMultiTexCoord2iARB\n#define glMultiTexCoord2ivARB               rglMultiTexCoord2ivARB\n#define glMultiTexCoord2sARB                rglMultiTexCoord2sARB\n#define glMultiTexCoord2svARB               rglMultiTexCoord2svARB\n#define glMultiTexCoord3dARB                rglMultiTexCoord3dARB\n#define glMultiTexCoord3dvARB               rglMultiTexCoord3dvARB\n#define glMultiTexCoord3fARB                rglMultiTexCoord3fARB\n#define glMultiTexCoord3fvARB               rglMultiTexCoord3fvARB\n#define glMultiTexCoord3iARB                rglMultiTexCoord3iARB\n#define glMultiTexCoord3ivARB               rglMultiTexCoord3ivARB\n#define glMultiTexCoord3sARB                rglMultiTexCoord3sARB\n#define glMultiTexCoord3svARB               rglMultiTexCoord3svARB\n#define glMultiTexCoord4dARB                rglMultiTexCoord4dARB\n#define glMultiTexCoord4dvARB               rglMultiTexCoord4dvARB\n#define glMultiTexCoord4fARB                rglMultiTexCoord4fARB\n#define glMultiTexCoord4fvARB               rglMultiTexCoord4fvARB\n#define glMultiTexCoord4iARB                rglMultiTexCoord4iARB\n#define glMultiTexCoord4ivARB               rglMultiTexCoord4ivARB\n#define glMultiTexCoord4sARB                rglMultiTexCoord4sARB\n#define glMultiTexCoord4svARB               rglMultiTexCoord4svARB\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_MULTITEXTURE\nREGAL_DECL void REGAL_CALL glActiveTextureARB(GLenum texture);\nREGAL_DECL void REGAL_CALL glClientActiveTextureARB(GLenum texture);\nREGAL_DECL void REGAL_CALL glMultiTexCoord1dARB(GLenum target, GLdouble s);\nREGAL_DECL void REGAL_CALL glMultiTexCoord1dvARB(GLenum target, const GLdouble *v);\nREGAL_DECL void REGAL_CALL glMultiTexCoord1fARB(GLenum target, GLfloat s);\nREGAL_DECL void REGAL_CALL glMultiTexCoord1fvARB(GLenum target, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glMultiTexCoord1iARB(GLenum target, GLint s);\nREGAL_DECL void REGAL_CALL glMultiTexCoord1ivARB(GLenum target, const GLint *v);\nREGAL_DECL void REGAL_CALL glMultiTexCoord1sARB(GLenum target, GLshort s);\nREGAL_DECL void REGAL_CALL glMultiTexCoord1svARB(GLenum target, const GLshort *v);\nREGAL_DECL void REGAL_CALL glMultiTexCoord2dARB(GLenum target, GLdouble s, GLdouble t);\nREGAL_DECL void REGAL_CALL glMultiTexCoord2dvARB(GLenum target, const GLdouble *v);\nREGAL_DECL void REGAL_CALL glMultiTexCoord2fARB(GLenum target, GLfloat s, GLfloat t);\nREGAL_DECL void REGAL_CALL glMultiTexCoord2fvARB(GLenum target, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glMultiTexCoord2iARB(GLenum target, GLint s, GLint t);\nREGAL_DECL void REGAL_CALL glMultiTexCoord2ivARB(GLenum target, const GLint *v);\nREGAL_DECL void REGAL_CALL glMultiTexCoord2sARB(GLenum target, GLshort s, GLshort t);\nREGAL_DECL void REGAL_CALL glMultiTexCoord2svARB(GLenum target, const GLshort *v);\nREGAL_DECL void REGAL_CALL glMultiTexCoord3dARB(GLenum target, GLdouble s, GLdouble t, GLdouble r);\nREGAL_DECL void REGAL_CALL glMultiTexCoord3dvARB(GLenum target, const GLdouble *v);\nREGAL_DECL void REGAL_CALL glMultiTexCoord3fARB(GLenum target, GLfloat s, GLfloat t, GLfloat r);\nREGAL_DECL void REGAL_CALL glMultiTexCoord3fvARB(GLenum target, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glMultiTexCoord3iARB(GLenum target, GLint s, GLint t, GLint r);\nREGAL_DECL void REGAL_CALL glMultiTexCoord3ivARB(GLenum target, const GLint *v);\nREGAL_DECL void REGAL_CALL glMultiTexCoord3sARB(GLenum target, GLshort s, GLshort t, GLshort r);\nREGAL_DECL void REGAL_CALL glMultiTexCoord3svARB(GLenum target, const GLshort *v);\nREGAL_DECL void REGAL_CALL glMultiTexCoord4dARB(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);\nREGAL_DECL void REGAL_CALL glMultiTexCoord4dvARB(GLenum target, const GLdouble *v);\nREGAL_DECL void REGAL_CALL glMultiTexCoord4fARB(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);\nREGAL_DECL void REGAL_CALL glMultiTexCoord4fvARB(GLenum target, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glMultiTexCoord4iARB(GLenum target, GLint s, GLint t, GLint r, GLint q);\nREGAL_DECL void REGAL_CALL glMultiTexCoord4ivARB(GLenum target, const GLint *v);\nREGAL_DECL void REGAL_CALL glMultiTexCoord4sARB(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);\nREGAL_DECL void REGAL_CALL glMultiTexCoord4svARB(GLenum target, const GLshort *v);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_MULTITEXTURE\nREGAL_DECL void REGAL_CALL plugin_glActiveTextureARB(GLenum texture);\nREGAL_DECL void REGAL_CALL plugin_glClientActiveTextureARB(GLenum texture);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord1dARB(GLenum target, GLdouble s);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord1dvARB(GLenum target, const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord1fARB(GLenum target, GLfloat s);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord1fvARB(GLenum target, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord1iARB(GLenum target, GLint s);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord1ivARB(GLenum target, const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord1sARB(GLenum target, GLshort s);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord1svARB(GLenum target, const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord2dARB(GLenum target, GLdouble s, GLdouble t);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord2dvARB(GLenum target, const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord2fARB(GLenum target, GLfloat s, GLfloat t);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord2fvARB(GLenum target, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord2iARB(GLenum target, GLint s, GLint t);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord2ivARB(GLenum target, const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord2sARB(GLenum target, GLshort s, GLshort t);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord2svARB(GLenum target, const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord3dARB(GLenum target, GLdouble s, GLdouble t, GLdouble r);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord3dvARB(GLenum target, const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord3fARB(GLenum target, GLfloat s, GLfloat t, GLfloat r);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord3fvARB(GLenum target, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord3iARB(GLenum target, GLint s, GLint t, GLint r);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord3ivARB(GLenum target, const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord3sARB(GLenum target, GLshort s, GLshort t, GLshort r);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord3svARB(GLenum target, const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord4dARB(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord4dvARB(GLenum target, const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord4fARB(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord4fvARB(GLenum target, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord4iARB(GLenum target, GLint s, GLint t, GLint r, GLint q);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord4ivARB(GLenum target, const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord4sARB(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord4svARB(GLenum target, const GLshort *v);\n#endif\n\n/**\n ** GL_ARB_occlusion_query\n **/\n\n#if (defined(GL_ARB_OCCLUSION_QUERY) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_OCCLUSION_QUERY)) && !defined(REGAL_NO_ENUM_GL_ARB_OCCLUSION_QUERY)\n#define REGAL_NO_ENUM_GL_ARB_OCCLUSION_QUERY\n#endif\n\n#if (defined(GL_ARB_OCCLUSION_QUERY) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_OCCLUSION_QUERY)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_OCCLUSION_QUERY)\n#define REGAL_NO_TYPEDEF_GL_ARB_OCCLUSION_QUERY\n#endif\n\n#if (defined(GL_ARB_OCCLUSION_QUERY) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_OCCLUSION_QUERY)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_OCCLUSION_QUERY)\n#define REGAL_NO_NAMESPACE_GL_ARB_OCCLUSION_QUERY\n#endif\n\n#if (defined(GL_ARB_OCCLUSION_QUERY) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_OCCLUSION_QUERY)) && !defined(REGAL_NO_PLUGIN_GL_ARB_OCCLUSION_QUERY)\n#define REGAL_NO_PLUGIN_GL_ARB_OCCLUSION_QUERY\n#endif\n\n#if (defined(GL_ARB_OCCLUSION_QUERY) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_OCCLUSION_QUERY)) && !defined(REGAL_NO_DECLARATION_GL_ARB_OCCLUSION_QUERY)\n#define REGAL_NO_DECLARATION_GL_ARB_OCCLUSION_QUERY\n#endif\n\n#ifndef GL_ARB_occlusion_query\n#define GL_ARB_occlusion_query 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_OCCLUSION_QUERY\n#define GL_QUERY_COUNTER_BITS_ARB     0x8864     /* 34916 */\n#define GL_CURRENT_QUERY_ARB          0x8865     /* 34917 */\n#define GL_QUERY_RESULT_ARB           0x8866     /* 34918 */\n#define GL_QUERY_RESULT_AVAILABLE_ARB 0x8867     /* 34919 */\n#define GL_SAMPLES_PASSED_ARB         0x8914     /* 35092 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_OCCLUSION_QUERY\ntypedef GLboolean (REGAL_CALL *PFNGLISQUERYARBPROC)(GLuint id);\ntypedef void (REGAL_CALL *PFNGLBEGINQUERYARBPROC)(GLenum target, GLuint id);\ntypedef void (REGAL_CALL *PFNGLDELETEQUERIESARBPROC)(GLsizei n, const GLuint *ids);\ntypedef void (REGAL_CALL *PFNGLENDQUERYARBPROC)(GLenum target);\ntypedef void (REGAL_CALL *PFNGLGENQUERIESARBPROC)(GLsizei n, GLuint *ids);\ntypedef void (REGAL_CALL *PFNGLGETQUERYIVARBPROC)(GLenum target, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETQUERYOBJECTIVARBPROC)(GLuint id, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETQUERYOBJECTUIVARBPROC)(GLuint id, GLenum pname, GLuint *params);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_OCCLUSION_QUERY\n#define glBeginQueryARB                     rglBeginQueryARB\n#define glDeleteQueriesARB                  rglDeleteQueriesARB\n#define glEndQueryARB                       rglEndQueryARB\n#define glGenQueriesARB                     rglGenQueriesARB\n#define glGetQueryObjectivARB               rglGetQueryObjectivARB\n#define glGetQueryObjectuivARB              rglGetQueryObjectuivARB\n#define glGetQueryivARB                     rglGetQueryivARB\n#define glIsQueryARB                        rglIsQueryARB\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_OCCLUSION_QUERY\nREGAL_DECL GLboolean REGAL_CALL glIsQueryARB(GLuint id);\nREGAL_DECL void REGAL_CALL glBeginQueryARB(GLenum target, GLuint id);\nREGAL_DECL void REGAL_CALL glDeleteQueriesARB(GLsizei n, const GLuint *ids);\nREGAL_DECL void REGAL_CALL glEndQueryARB(GLenum target);\nREGAL_DECL void REGAL_CALL glGenQueriesARB(GLsizei n, GLuint *ids);\nREGAL_DECL void REGAL_CALL glGetQueryObjectivARB(GLuint id, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetQueryObjectuivARB(GLuint id, GLenum pname, GLuint *params);\nREGAL_DECL void REGAL_CALL glGetQueryivARB(GLenum target, GLenum pname, GLint *params);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_OCCLUSION_QUERY\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsQueryARB(GLuint id);\nREGAL_DECL void REGAL_CALL plugin_glBeginQueryARB(GLenum target, GLuint id);\nREGAL_DECL void REGAL_CALL plugin_glDeleteQueriesARB(GLsizei n, const GLuint *ids);\nREGAL_DECL void REGAL_CALL plugin_glEndQueryARB(GLenum target);\nREGAL_DECL void REGAL_CALL plugin_glGenQueriesARB(GLsizei n, GLuint *ids);\nREGAL_DECL void REGAL_CALL plugin_glGetQueryObjectivARB(GLuint id, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetQueryObjectuivARB(GLuint id, GLenum pname, GLuint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetQueryivARB(GLenum target, GLenum pname, GLint *params);\n#endif\n\n/**\n ** GL_ARB_occlusion_query2\n **/\n\n#if (defined(GL_ARB_OCCLUSION_QUERY2) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_OCCLUSION_QUERY2)) && !defined(REGAL_NO_ENUM_GL_ARB_OCCLUSION_QUERY2)\n#define REGAL_NO_ENUM_GL_ARB_OCCLUSION_QUERY2\n#endif\n\n#if (defined(GL_ARB_OCCLUSION_QUERY2) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_OCCLUSION_QUERY2)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_OCCLUSION_QUERY2)\n#define REGAL_NO_TYPEDEF_GL_ARB_OCCLUSION_QUERY2\n#endif\n\n#if (defined(GL_ARB_OCCLUSION_QUERY2) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_OCCLUSION_QUERY2)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_OCCLUSION_QUERY2)\n#define REGAL_NO_NAMESPACE_GL_ARB_OCCLUSION_QUERY2\n#endif\n\n#if (defined(GL_ARB_OCCLUSION_QUERY2) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_OCCLUSION_QUERY2)) && !defined(REGAL_NO_PLUGIN_GL_ARB_OCCLUSION_QUERY2)\n#define REGAL_NO_PLUGIN_GL_ARB_OCCLUSION_QUERY2\n#endif\n\n#if (defined(GL_ARB_OCCLUSION_QUERY2) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_OCCLUSION_QUERY2)) && !defined(REGAL_NO_DECLARATION_GL_ARB_OCCLUSION_QUERY2)\n#define REGAL_NO_DECLARATION_GL_ARB_OCCLUSION_QUERY2\n#endif\n\n#ifndef GL_ARB_occlusion_query2\n#define GL_ARB_occlusion_query2 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_OCCLUSION_QUERY2\n#define GL_ANY_SAMPLES_PASSED 0x8c2f /* 35887 */\n#endif\n\n/**\n ** GL_ARB_pixel_buffer_object\n **/\n\n#if (defined(GL_ARB_PIXEL_BUFFER_OBJECT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_PIXEL_BUFFER_OBJECT)) && !defined(REGAL_NO_ENUM_GL_ARB_PIXEL_BUFFER_OBJECT)\n#define REGAL_NO_ENUM_GL_ARB_PIXEL_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_ARB_PIXEL_BUFFER_OBJECT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_PIXEL_BUFFER_OBJECT)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_PIXEL_BUFFER_OBJECT)\n#define REGAL_NO_TYPEDEF_GL_ARB_PIXEL_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_ARB_PIXEL_BUFFER_OBJECT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_PIXEL_BUFFER_OBJECT)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_PIXEL_BUFFER_OBJECT)\n#define REGAL_NO_NAMESPACE_GL_ARB_PIXEL_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_ARB_PIXEL_BUFFER_OBJECT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_PIXEL_BUFFER_OBJECT)) && !defined(REGAL_NO_PLUGIN_GL_ARB_PIXEL_BUFFER_OBJECT)\n#define REGAL_NO_PLUGIN_GL_ARB_PIXEL_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_ARB_PIXEL_BUFFER_OBJECT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_PIXEL_BUFFER_OBJECT)) && !defined(REGAL_NO_DECLARATION_GL_ARB_PIXEL_BUFFER_OBJECT)\n#define REGAL_NO_DECLARATION_GL_ARB_PIXEL_BUFFER_OBJECT\n#endif\n\n#ifndef GL_ARB_pixel_buffer_object\n#define GL_ARB_pixel_buffer_object 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_PIXEL_BUFFER_OBJECT\n#define GL_PIXEL_PACK_BUFFER_ARB           0x88eb     /* 35051 */\n#define GL_PIXEL_UNPACK_BUFFER_ARB         0x88ec     /* 35052 */\n#define GL_PIXEL_PACK_BUFFER_BINDING_ARB   0x88ed     /* 35053 */\n#define GL_PIXEL_UNPACK_BUFFER_BINDING_ARB 0x88ef     /* 35055 */\n#endif\n\n/**\n ** GL_ARB_point_parameters\n **/\n\n#if (defined(GL_ARB_POINT_PARAMETERS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_POINT_PARAMETERS)) && !defined(REGAL_NO_ENUM_GL_ARB_POINT_PARAMETERS)\n#define REGAL_NO_ENUM_GL_ARB_POINT_PARAMETERS\n#endif\n\n#if (defined(GL_ARB_POINT_PARAMETERS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_POINT_PARAMETERS)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_POINT_PARAMETERS)\n#define REGAL_NO_TYPEDEF_GL_ARB_POINT_PARAMETERS\n#endif\n\n#if (defined(GL_ARB_POINT_PARAMETERS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_POINT_PARAMETERS)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_POINT_PARAMETERS)\n#define REGAL_NO_NAMESPACE_GL_ARB_POINT_PARAMETERS\n#endif\n\n#if (defined(GL_ARB_POINT_PARAMETERS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_POINT_PARAMETERS)) && !defined(REGAL_NO_PLUGIN_GL_ARB_POINT_PARAMETERS)\n#define REGAL_NO_PLUGIN_GL_ARB_POINT_PARAMETERS\n#endif\n\n#if (defined(GL_ARB_POINT_PARAMETERS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_POINT_PARAMETERS)) && !defined(REGAL_NO_DECLARATION_GL_ARB_POINT_PARAMETERS)\n#define REGAL_NO_DECLARATION_GL_ARB_POINT_PARAMETERS\n#endif\n\n#ifndef GL_ARB_point_parameters\n#define GL_ARB_point_parameters 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_POINT_PARAMETERS\n#define GL_POINT_SIZE_MIN_ARB             0x8126     /* 33062 */\n#define GL_POINT_SIZE_MAX_ARB             0x8127     /* 33063 */\n#define GL_POINT_FADE_THRESHOLD_SIZE_ARB  0x8128     /* 33064 */\n#define GL_POINT_DISTANCE_ATTENUATION_ARB 0x8129     /* 33065 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_POINT_PARAMETERS\ntypedef void (REGAL_CALL *PFNGLPOINTPARAMETERFARBPROC)(GLenum pname, GLfloat param);\ntypedef void (REGAL_CALL *PFNGLPOINTPARAMETERFVARBPROC)(GLenum pname, const GLfloat *params);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_POINT_PARAMETERS\n#define glPointParameterfARB                rglPointParameterfARB\n#define glPointParameterfvARB               rglPointParameterfvARB\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_POINT_PARAMETERS\nREGAL_DECL void REGAL_CALL glPointParameterfARB(GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL glPointParameterfvARB(GLenum pname, const GLfloat *params);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_POINT_PARAMETERS\nREGAL_DECL void REGAL_CALL plugin_glPointParameterfARB(GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL plugin_glPointParameterfvARB(GLenum pname, const GLfloat *params);\n#endif\n\n/**\n ** GL_ARB_point_sprite\n **/\n\n#if (defined(GL_ARB_POINT_SPRITE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_POINT_SPRITE)) && !defined(REGAL_NO_ENUM_GL_ARB_POINT_SPRITE)\n#define REGAL_NO_ENUM_GL_ARB_POINT_SPRITE\n#endif\n\n#if (defined(GL_ARB_POINT_SPRITE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_POINT_SPRITE)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_POINT_SPRITE)\n#define REGAL_NO_TYPEDEF_GL_ARB_POINT_SPRITE\n#endif\n\n#if (defined(GL_ARB_POINT_SPRITE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_POINT_SPRITE)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_POINT_SPRITE)\n#define REGAL_NO_NAMESPACE_GL_ARB_POINT_SPRITE\n#endif\n\n#if (defined(GL_ARB_POINT_SPRITE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_POINT_SPRITE)) && !defined(REGAL_NO_PLUGIN_GL_ARB_POINT_SPRITE)\n#define REGAL_NO_PLUGIN_GL_ARB_POINT_SPRITE\n#endif\n\n#if (defined(GL_ARB_POINT_SPRITE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_POINT_SPRITE)) && !defined(REGAL_NO_DECLARATION_GL_ARB_POINT_SPRITE)\n#define REGAL_NO_DECLARATION_GL_ARB_POINT_SPRITE\n#endif\n\n#ifndef GL_ARB_point_sprite\n#define GL_ARB_point_sprite 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_POINT_SPRITE\n#define GL_POINT_SPRITE_ARB  0x8861     /* 34913 */\n#define GL_COORD_REPLACE_ARB 0x8862     /* 34914 */\n#endif\n\n/**\n ** GL_ARB_program_interface_query\n **/\n\n#if (defined(GL_ARB_PROGRAM_INTERFACE_QUERY) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_PROGRAM_INTERFACE_QUERY)) && !defined(REGAL_NO_ENUM_GL_ARB_PROGRAM_INTERFACE_QUERY)\n#define REGAL_NO_ENUM_GL_ARB_PROGRAM_INTERFACE_QUERY\n#endif\n\n#if (defined(GL_ARB_PROGRAM_INTERFACE_QUERY) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_PROGRAM_INTERFACE_QUERY)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_PROGRAM_INTERFACE_QUERY)\n#define REGAL_NO_TYPEDEF_GL_ARB_PROGRAM_INTERFACE_QUERY\n#endif\n\n#if (defined(GL_ARB_PROGRAM_INTERFACE_QUERY) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_PROGRAM_INTERFACE_QUERY)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_PROGRAM_INTERFACE_QUERY)\n#define REGAL_NO_NAMESPACE_GL_ARB_PROGRAM_INTERFACE_QUERY\n#endif\n\n#if (defined(GL_ARB_PROGRAM_INTERFACE_QUERY) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_PROGRAM_INTERFACE_QUERY)) && !defined(REGAL_NO_PLUGIN_GL_ARB_PROGRAM_INTERFACE_QUERY)\n#define REGAL_NO_PLUGIN_GL_ARB_PROGRAM_INTERFACE_QUERY\n#endif\n\n#if (defined(GL_ARB_PROGRAM_INTERFACE_QUERY) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_PROGRAM_INTERFACE_QUERY)) && !defined(REGAL_NO_DECLARATION_GL_ARB_PROGRAM_INTERFACE_QUERY)\n#define REGAL_NO_DECLARATION_GL_ARB_PROGRAM_INTERFACE_QUERY\n#endif\n\n#ifndef GL_ARB_program_interface_query\n#define GL_ARB_program_interface_query 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_PROGRAM_INTERFACE_QUERY\n#define GL_UNIFORM                              0x92e1     /* 37601 */\n#define GL_UNIFORM_BLOCK                        0x92e2     /* 37602 */\n#define GL_PROGRAM_INPUT                        0x92e3     /* 37603 */\n#define GL_PROGRAM_OUTPUT                       0x92e4     /* 37604 */\n#define GL_BUFFER_VARIABLE                      0x92e5     /* 37605 */\n#define GL_SHADER_STORAGE_BLOCK                 0x92e6     /* 37606 */\n#define GL_IS_PER_PATCH                         0x92e7     /* 37607 */\n#define GL_VERTEX_SUBROUTINE                    0x92e8     /* 37608 */\n#define GL_TESS_CONTROL_SUBROUTINE              0x92e9     /* 37609 */\n#define GL_TESS_EVALUATION_SUBROUTINE           0x92ea     /* 37610 */\n#define GL_GEOMETRY_SUBROUTINE                  0x92eb     /* 37611 */\n#define GL_FRAGMENT_SUBROUTINE                  0x92ec     /* 37612 */\n#define GL_COMPUTE_SUBROUTINE                   0x92ed     /* 37613 */\n#define GL_VERTEX_SUBROUTINE_UNIFORM            0x92ee     /* 37614 */\n#define GL_TESS_CONTROL_SUBROUTINE_UNIFORM      0x92ef     /* 37615 */\n#define GL_TESS_EVALUATION_SUBROUTINE_UNIFORM   0x92f0     /* 37616 */\n#define GL_GEOMETRY_SUBROUTINE_UNIFORM          0x92f1     /* 37617 */\n#define GL_FRAGMENT_SUBROUTINE_UNIFORM          0x92f2     /* 37618 */\n#define GL_COMPUTE_SUBROUTINE_UNIFORM           0x92f3     /* 37619 */\n#define GL_TRANSFORM_FEEDBACK_VARYING           0x92f4     /* 37620 */\n#define GL_ACTIVE_RESOURCES                     0x92f5     /* 37621 */\n#define GL_MAX_NAME_LENGTH                      0x92f6     /* 37622 */\n#define GL_MAX_NUM_ACTIVE_VARIABLES             0x92f7     /* 37623 */\n#define GL_MAX_NUM_COMPATIBLE_SUBROUTINES       0x92f8     /* 37624 */\n#define GL_NAME_LENGTH                          0x92f9     /* 37625 */\n#define GL_TYPE                                 0x92fa     /* 37626 */\n#define GL_ARRAY_SIZE                           0x92fb     /* 37627 */\n#define GL_OFFSET                               0x92fc     /* 37628 */\n#define GL_BLOCK_INDEX                          0x92fd     /* 37629 */\n#define GL_ARRAY_STRIDE                         0x92fe     /* 37630 */\n#define GL_MATRIX_STRIDE                        0x92ff     /* 37631 */\n#define GL_IS_ROW_MAJOR                         0x9300     /* 37632 */\n#define GL_ATOMIC_COUNTER_BUFFER_INDEX          0x9301     /* 37633 */\n#define GL_BUFFER_BINDING                       0x9302     /* 37634 */\n#define GL_BUFFER_DATA_SIZE                     0x9303     /* 37635 */\n#define GL_NUM_ACTIVE_VARIABLES                 0x9304     /* 37636 */\n#define GL_ACTIVE_VARIABLES                     0x9305     /* 37637 */\n#define GL_REFERENCED_BY_VERTEX_SHADER          0x9306     /* 37638 */\n#define GL_REFERENCED_BY_TESS_CONTROL_SHADER    0x9307     /* 37639 */\n#define GL_REFERENCED_BY_TESS_EVALUATION_SHADER 0x9308     /* 37640 */\n#define GL_REFERENCED_BY_GEOMETRY_SHADER        0x9309     /* 37641 */\n#define GL_REFERENCED_BY_FRAGMENT_SHADER        0x930a     /* 37642 */\n#define GL_REFERENCED_BY_COMPUTE_SHADER         0x930b     /* 37643 */\n#define GL_TOP_LEVEL_ARRAY_SIZE                 0x930c     /* 37644 */\n#define GL_TOP_LEVEL_ARRAY_STRIDE               0x930d     /* 37645 */\n#define GL_LOCATION                             0x930e     /* 37646 */\n#define GL_LOCATION_INDEX                       0x930f     /* 37647 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_PROGRAM_INTERFACE_QUERY\ntypedef GLint (REGAL_CALL *PFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC)(GLuint program, GLenum programInterface, const GLchar *name);\ntypedef GLint (REGAL_CALL *PFNGLGETPROGRAMRESOURCELOCATIONPROC)(GLuint program, GLenum programInterface, const GLchar *name);\ntypedef GLuint (REGAL_CALL *PFNGLGETPROGRAMRESOURCEINDEXPROC)(GLuint program, GLenum programInterface, const GLchar *name);\ntypedef void (REGAL_CALL *PFNGLGETPROGRAMINTERFACEIVPROC)(GLuint program, GLenum programInterface, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETPROGRAMRESOURCEIVPROC)(GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum *props, GLsizei bufSize, GLsizei *length, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETPROGRAMRESOURCENAMEPROC)(GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_PROGRAM_INTERFACE_QUERY\n#define glGetProgramInterfaceiv             rglGetProgramInterfaceiv\n#define glGetProgramResourceIndex           rglGetProgramResourceIndex\n#define glGetProgramResourceLocation        rglGetProgramResourceLocation\n#define glGetProgramResourceLocationIndex   rglGetProgramResourceLocationIndex\n#define glGetProgramResourceName            rglGetProgramResourceName\n#define glGetProgramResourceiv              rglGetProgramResourceiv\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_PROGRAM_INTERFACE_QUERY\nREGAL_DECL GLint REGAL_CALL glGetProgramResourceLocation(GLuint program, GLenum programInterface, const GLchar *name);\nREGAL_DECL GLint REGAL_CALL glGetProgramResourceLocationIndex(GLuint program, GLenum programInterface, const GLchar *name);\nREGAL_DECL GLuint REGAL_CALL glGetProgramResourceIndex(GLuint program, GLenum programInterface, const GLchar *name);\nREGAL_DECL void REGAL_CALL glGetProgramInterfaceiv(GLuint program, GLenum programInterface, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetProgramResourceName(GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name);\nREGAL_DECL void REGAL_CALL glGetProgramResourceiv(GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum *props, GLsizei bufSize, GLsizei *length, GLint *params);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_PROGRAM_INTERFACE_QUERY\nREGAL_DECL GLint REGAL_CALL plugin_glGetProgramResourceLocation(GLuint program, GLenum programInterface, const GLchar *name);\nREGAL_DECL GLint REGAL_CALL plugin_glGetProgramResourceLocationIndex(GLuint program, GLenum programInterface, const GLchar *name);\nREGAL_DECL GLuint REGAL_CALL plugin_glGetProgramResourceIndex(GLuint program, GLenum programInterface, const GLchar *name);\nREGAL_DECL void REGAL_CALL plugin_glGetProgramInterfaceiv(GLuint program, GLenum programInterface, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetProgramResourceName(GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name);\nREGAL_DECL void REGAL_CALL plugin_glGetProgramResourceiv(GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum *props, GLsizei bufSize, GLsizei *length, GLint *params);\n#endif\n\n/**\n ** GL_ARB_provoking_vertex\n **/\n\n#if (defined(GL_ARB_PROVOKING_VERTEX) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_PROVOKING_VERTEX)) && !defined(REGAL_NO_ENUM_GL_ARB_PROVOKING_VERTEX)\n#define REGAL_NO_ENUM_GL_ARB_PROVOKING_VERTEX\n#endif\n\n#if (defined(GL_ARB_PROVOKING_VERTEX) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_PROVOKING_VERTEX)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_PROVOKING_VERTEX)\n#define REGAL_NO_TYPEDEF_GL_ARB_PROVOKING_VERTEX\n#endif\n\n#if (defined(GL_ARB_PROVOKING_VERTEX) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_PROVOKING_VERTEX)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_PROVOKING_VERTEX)\n#define REGAL_NO_NAMESPACE_GL_ARB_PROVOKING_VERTEX\n#endif\n\n#if (defined(GL_ARB_PROVOKING_VERTEX) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_PROVOKING_VERTEX)) && !defined(REGAL_NO_PLUGIN_GL_ARB_PROVOKING_VERTEX)\n#define REGAL_NO_PLUGIN_GL_ARB_PROVOKING_VERTEX\n#endif\n\n#if (defined(GL_ARB_PROVOKING_VERTEX) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_PROVOKING_VERTEX)) && !defined(REGAL_NO_DECLARATION_GL_ARB_PROVOKING_VERTEX)\n#define REGAL_NO_DECLARATION_GL_ARB_PROVOKING_VERTEX\n#endif\n\n#ifndef GL_ARB_provoking_vertex\n#define GL_ARB_provoking_vertex 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_PROVOKING_VERTEX\n#define GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION 0x8e4c     /* 36428 */\n#define GL_FIRST_VERTEX_CONVENTION                  0x8e4d     /* 36429 */\n#define GL_LAST_VERTEX_CONVENTION                   0x8e4e     /* 36430 */\n#define GL_PROVOKING_VERTEX                         0x8e4f     /* 36431 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_PROVOKING_VERTEX\ntypedef void (REGAL_CALL *PFNGLPROVOKINGVERTEXPROC)(GLenum mode);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_PROVOKING_VERTEX\n#define glProvokingVertex                   rglProvokingVertex\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_PROVOKING_VERTEX\nREGAL_DECL void REGAL_CALL glProvokingVertex(GLenum mode);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_PROVOKING_VERTEX\nREGAL_DECL void REGAL_CALL plugin_glProvokingVertex(GLenum mode);\n#endif\n\n/**\n ** GL_ARB_query_buffer_object\n **/\n\n#if (defined(GL_ARB_QUERY_BUFFER_OBJECT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_QUERY_BUFFER_OBJECT)) && !defined(REGAL_NO_ENUM_GL_ARB_QUERY_BUFFER_OBJECT)\n#define REGAL_NO_ENUM_GL_ARB_QUERY_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_ARB_QUERY_BUFFER_OBJECT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_QUERY_BUFFER_OBJECT)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_QUERY_BUFFER_OBJECT)\n#define REGAL_NO_TYPEDEF_GL_ARB_QUERY_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_ARB_QUERY_BUFFER_OBJECT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_QUERY_BUFFER_OBJECT)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_QUERY_BUFFER_OBJECT)\n#define REGAL_NO_NAMESPACE_GL_ARB_QUERY_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_ARB_QUERY_BUFFER_OBJECT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_QUERY_BUFFER_OBJECT)) && !defined(REGAL_NO_PLUGIN_GL_ARB_QUERY_BUFFER_OBJECT)\n#define REGAL_NO_PLUGIN_GL_ARB_QUERY_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_ARB_QUERY_BUFFER_OBJECT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_QUERY_BUFFER_OBJECT)) && !defined(REGAL_NO_DECLARATION_GL_ARB_QUERY_BUFFER_OBJECT)\n#define REGAL_NO_DECLARATION_GL_ARB_QUERY_BUFFER_OBJECT\n#endif\n\n#ifndef GL_ARB_query_buffer_object\n#define GL_ARB_query_buffer_object 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_QUERY_BUFFER_OBJECT\n#define GL_QUERY_BUFFER_BARRIER_BIT 0x8000     /* 32768 */\n#define GL_QUERY_BUFFER             0x9192     /* 37266 */\n#define GL_QUERY_BUFFER_BINDING     0x9193     /* 37267 */\n#define GL_QUERY_RESULT_NO_WAIT     0x9194     /* 37268 */\n#endif\n\n/**\n ** GL_ARB_robustness\n **/\n\n#if (defined(GL_ARB_ROBUSTNESS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_ROBUSTNESS)) && !defined(REGAL_NO_ENUM_GL_ARB_ROBUSTNESS)\n#define REGAL_NO_ENUM_GL_ARB_ROBUSTNESS\n#endif\n\n#if (defined(GL_ARB_ROBUSTNESS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_ROBUSTNESS)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_ROBUSTNESS)\n#define REGAL_NO_TYPEDEF_GL_ARB_ROBUSTNESS\n#endif\n\n#if (defined(GL_ARB_ROBUSTNESS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_ROBUSTNESS)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_ROBUSTNESS)\n#define REGAL_NO_NAMESPACE_GL_ARB_ROBUSTNESS\n#endif\n\n#if (defined(GL_ARB_ROBUSTNESS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_ROBUSTNESS)) && !defined(REGAL_NO_PLUGIN_GL_ARB_ROBUSTNESS)\n#define REGAL_NO_PLUGIN_GL_ARB_ROBUSTNESS\n#endif\n\n#if (defined(GL_ARB_ROBUSTNESS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_ROBUSTNESS)) && !defined(REGAL_NO_DECLARATION_GL_ARB_ROBUSTNESS)\n#define REGAL_NO_DECLARATION_GL_ARB_ROBUSTNESS\n#endif\n\n#ifndef GL_ARB_robustness\n#define GL_ARB_robustness 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_ROBUSTNESS\n#define GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB 0x4\n#define GL_LOSE_CONTEXT_ON_RESET_ARB          0x8252     /* 33362 */\n#define GL_GUILTY_CONTEXT_RESET_ARB           0x8253     /* 33363 */\n#define GL_INNOCENT_CONTEXT_RESET_ARB         0x8254     /* 33364 */\n#define GL_UNKNOWN_CONTEXT_RESET_ARB          0x8255     /* 33365 */\n#define GL_RESET_NOTIFICATION_STRATEGY_ARB    0x8256     /* 33366 */\n#define GL_NO_RESET_NOTIFICATION_ARB          0x8261     /* 33377 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_ROBUSTNESS\ntypedef GLenum (REGAL_CALL *PFNGLGETGRAPHICSRESETSTATUSARBPROC)(void);\ntypedef void (REGAL_CALL *PFNGLGETNCOLORTABLEARBPROC)(GLenum target, GLenum format, GLenum type, GLsizei bufSize, GLvoid *table);\ntypedef void (REGAL_CALL *PFNGLGETNCOMPRESSEDTEXIMAGEARBPROC)(GLenum target, GLint lod, GLsizei bufSize, GLvoid *img);\ntypedef void (REGAL_CALL *PFNGLGETNCONVOLUTIONFILTERARBPROC)(GLenum target, GLenum format, GLenum type, GLsizei bufSize, GLvoid *image);\ntypedef void (REGAL_CALL *PFNGLGETNHISTOGRAMARBPROC)(GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, GLvoid *values);\ntypedef void (REGAL_CALL *PFNGLGETNMAPDVARBPROC)(GLenum target, GLenum query, GLsizei bufSize, GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLGETNMAPFVARBPROC)(GLenum target, GLenum query, GLsizei bufSize, GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLGETNMAPIVARBPROC)(GLenum target, GLenum query, GLsizei bufSize, GLint *v);\ntypedef void (REGAL_CALL *PFNGLGETNMINMAXARBPROC)(GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, GLvoid *values);\ntypedef void (REGAL_CALL *PFNGLGETNPIXELMAPFVARBPROC)(GLenum map, GLsizei bufSize, GLfloat *values);\ntypedef void (REGAL_CALL *PFNGLGETNPIXELMAPUIVARBPROC)(GLenum map, GLsizei bufSize, GLuint *values);\ntypedef void (REGAL_CALL *PFNGLGETNPIXELMAPUSVARBPROC)(GLenum map, GLsizei bufSize, GLushort *values);\ntypedef void (REGAL_CALL *PFNGLGETNPOLYGONSTIPPLEARBPROC)(GLsizei bufSize, GLubyte *pattern);\ntypedef void (REGAL_CALL *PFNGLGETNSEPARABLEFILTERARBPROC)(GLenum target, GLenum format, GLenum type, GLsizei rowBufSize, GLvoid *row, GLsizei columnBufSize, GLvoid *column, GLvoid *span);\ntypedef void (REGAL_CALL *PFNGLGETNTEXIMAGEARBPROC)(GLenum target, GLint level, GLenum format, GLenum type, GLsizei bufSize, GLvoid *img);\ntypedef void (REGAL_CALL *PFNGLGETNUNIFORMDVARBPROC)(GLuint program, GLint location, GLsizei bufSize, GLdouble *params);\ntypedef void (REGAL_CALL *PFNGLGETNUNIFORMFVARBPROC)(GLuint program, GLint location, GLsizei bufSize, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETNUNIFORMIVARBPROC)(GLuint program, GLint location, GLsizei bufSize, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETNUNIFORMUIVARBPROC)(GLuint program, GLint location, GLsizei bufSize, GLuint *params);\ntypedef void (REGAL_CALL *PFNGLREADNPIXELSARBPROC)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLvoid *data);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_ROBUSTNESS\n#define glGetGraphicsResetStatusARB         rglGetGraphicsResetStatusARB\n#define glGetnColorTableARB                 rglGetnColorTableARB\n#define glGetnCompressedTexImageARB         rglGetnCompressedTexImageARB\n#define glGetnConvolutionFilterARB          rglGetnConvolutionFilterARB\n#define glGetnHistogramARB                  rglGetnHistogramARB\n#define glGetnMapdvARB                      rglGetnMapdvARB\n#define glGetnMapfvARB                      rglGetnMapfvARB\n#define glGetnMapivARB                      rglGetnMapivARB\n#define glGetnMinmaxARB                     rglGetnMinmaxARB\n#define glGetnPixelMapfvARB                 rglGetnPixelMapfvARB\n#define glGetnPixelMapuivARB                rglGetnPixelMapuivARB\n#define glGetnPixelMapusvARB                rglGetnPixelMapusvARB\n#define glGetnPolygonStippleARB             rglGetnPolygonStippleARB\n#define glGetnSeparableFilterARB            rglGetnSeparableFilterARB\n#define glGetnTexImageARB                   rglGetnTexImageARB\n#define glGetnUniformdvARB                  rglGetnUniformdvARB\n#define glGetnUniformfvARB                  rglGetnUniformfvARB\n#define glGetnUniformivARB                  rglGetnUniformivARB\n#define glGetnUniformuivARB                 rglGetnUniformuivARB\n#define glReadnPixelsARB                    rglReadnPixelsARB\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_ROBUSTNESS\nREGAL_DECL GLenum REGAL_CALL glGetGraphicsResetStatusARB(void);\nREGAL_DECL void REGAL_CALL glGetnColorTableARB(GLenum target, GLenum format, GLenum type, GLsizei bufSize, GLvoid *table);\nREGAL_DECL void REGAL_CALL glGetnCompressedTexImageARB(GLenum target, GLint lod, GLsizei bufSize, GLvoid *img);\nREGAL_DECL void REGAL_CALL glGetnConvolutionFilterARB(GLenum target, GLenum format, GLenum type, GLsizei bufSize, GLvoid *image);\nREGAL_DECL void REGAL_CALL glGetnHistogramARB(GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, GLvoid *values);\nREGAL_DECL void REGAL_CALL glGetnMapdvARB(GLenum target, GLenum query, GLsizei bufSize, GLdouble *v);\nREGAL_DECL void REGAL_CALL glGetnMapfvARB(GLenum target, GLenum query, GLsizei bufSize, GLfloat *v);\nREGAL_DECL void REGAL_CALL glGetnMapivARB(GLenum target, GLenum query, GLsizei bufSize, GLint *v);\nREGAL_DECL void REGAL_CALL glGetnMinmaxARB(GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, GLvoid *values);\nREGAL_DECL void REGAL_CALL glGetnPixelMapfvARB(GLenum map, GLsizei bufSize, GLfloat *values);\nREGAL_DECL void REGAL_CALL glGetnPixelMapuivARB(GLenum map, GLsizei bufSize, GLuint *values);\nREGAL_DECL void REGAL_CALL glGetnPixelMapusvARB(GLenum map, GLsizei bufSize, GLushort *values);\nREGAL_DECL void REGAL_CALL glGetnPolygonStippleARB(GLsizei bufSize, GLubyte *pattern);\nREGAL_DECL void REGAL_CALL glGetnSeparableFilterARB(GLenum target, GLenum format, GLenum type, GLsizei rowBufSize, GLvoid *row, GLsizei columnBufSize, GLvoid *column, GLvoid *span);\nREGAL_DECL void REGAL_CALL glGetnTexImageARB(GLenum target, GLint level, GLenum format, GLenum type, GLsizei bufSize, GLvoid *img);\nREGAL_DECL void REGAL_CALL glGetnUniformdvARB(GLuint program, GLint location, GLsizei bufSize, GLdouble *params);\nREGAL_DECL void REGAL_CALL glGetnUniformfvARB(GLuint program, GLint location, GLsizei bufSize, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetnUniformivARB(GLuint program, GLint location, GLsizei bufSize, GLint *params);\nREGAL_DECL void REGAL_CALL glGetnUniformuivARB(GLuint program, GLint location, GLsizei bufSize, GLuint *params);\nREGAL_DECL void REGAL_CALL glReadnPixelsARB(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLvoid *data);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_ROBUSTNESS\nREGAL_DECL GLenum REGAL_CALL plugin_glGetGraphicsResetStatusARB(void);\nREGAL_DECL void REGAL_CALL plugin_glGetnColorTableARB(GLenum target, GLenum format, GLenum type, GLsizei bufSize, GLvoid *table);\nREGAL_DECL void REGAL_CALL plugin_glGetnCompressedTexImageARB(GLenum target, GLint lod, GLsizei bufSize, GLvoid *img);\nREGAL_DECL void REGAL_CALL plugin_glGetnConvolutionFilterARB(GLenum target, GLenum format, GLenum type, GLsizei bufSize, GLvoid *image);\nREGAL_DECL void REGAL_CALL plugin_glGetnHistogramARB(GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, GLvoid *values);\nREGAL_DECL void REGAL_CALL plugin_glGetnMapdvARB(GLenum target, GLenum query, GLsizei bufSize, GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glGetnMapfvARB(GLenum target, GLenum query, GLsizei bufSize, GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glGetnMapivARB(GLenum target, GLenum query, GLsizei bufSize, GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glGetnMinmaxARB(GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, GLvoid *values);\nREGAL_DECL void REGAL_CALL plugin_glGetnPixelMapfvARB(GLenum map, GLsizei bufSize, GLfloat *values);\nREGAL_DECL void REGAL_CALL plugin_glGetnPixelMapuivARB(GLenum map, GLsizei bufSize, GLuint *values);\nREGAL_DECL void REGAL_CALL plugin_glGetnPixelMapusvARB(GLenum map, GLsizei bufSize, GLushort *values);\nREGAL_DECL void REGAL_CALL plugin_glGetnPolygonStippleARB(GLsizei bufSize, GLubyte *pattern);\nREGAL_DECL void REGAL_CALL plugin_glGetnSeparableFilterARB(GLenum target, GLenum format, GLenum type, GLsizei rowBufSize, GLvoid *row, GLsizei columnBufSize, GLvoid *column, GLvoid *span);\nREGAL_DECL void REGAL_CALL plugin_glGetnTexImageARB(GLenum target, GLint level, GLenum format, GLenum type, GLsizei bufSize, GLvoid *img);\nREGAL_DECL void REGAL_CALL plugin_glGetnUniformdvARB(GLuint program, GLint location, GLsizei bufSize, GLdouble *params);\nREGAL_DECL void REGAL_CALL plugin_glGetnUniformfvARB(GLuint program, GLint location, GLsizei bufSize, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetnUniformivARB(GLuint program, GLint location, GLsizei bufSize, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetnUniformuivARB(GLuint program, GLint location, GLsizei bufSize, GLuint *params);\nREGAL_DECL void REGAL_CALL plugin_glReadnPixelsARB(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLvoid *data);\n#endif\n\n/**\n ** GL_ARB_sample_shading\n **/\n\n#if (defined(GL_ARB_SAMPLE_SHADING) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_SAMPLE_SHADING)) && !defined(REGAL_NO_ENUM_GL_ARB_SAMPLE_SHADING)\n#define REGAL_NO_ENUM_GL_ARB_SAMPLE_SHADING\n#endif\n\n#if (defined(GL_ARB_SAMPLE_SHADING) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_SAMPLE_SHADING)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_SAMPLE_SHADING)\n#define REGAL_NO_TYPEDEF_GL_ARB_SAMPLE_SHADING\n#endif\n\n#if (defined(GL_ARB_SAMPLE_SHADING) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_SAMPLE_SHADING)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_SAMPLE_SHADING)\n#define REGAL_NO_NAMESPACE_GL_ARB_SAMPLE_SHADING\n#endif\n\n#if (defined(GL_ARB_SAMPLE_SHADING) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_SAMPLE_SHADING)) && !defined(REGAL_NO_PLUGIN_GL_ARB_SAMPLE_SHADING)\n#define REGAL_NO_PLUGIN_GL_ARB_SAMPLE_SHADING\n#endif\n\n#if (defined(GL_ARB_SAMPLE_SHADING) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_SAMPLE_SHADING)) && !defined(REGAL_NO_DECLARATION_GL_ARB_SAMPLE_SHADING)\n#define REGAL_NO_DECLARATION_GL_ARB_SAMPLE_SHADING\n#endif\n\n#ifndef GL_ARB_sample_shading\n#define GL_ARB_sample_shading 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_SAMPLE_SHADING\n#define GL_SAMPLE_SHADING_ARB           0x8c36     /* 35894 */\n#define GL_MIN_SAMPLE_SHADING_VALUE_ARB 0x8c37     /* 35895 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_SAMPLE_SHADING\ntypedef void (REGAL_CALL *PFNGLMINSAMPLESHADINGARBPROC)(GLclampf value);\ntypedef void (REGAL_CALL *PFNGLMINSAMPLESHADINGPROC)(GLclampf value);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_SAMPLE_SHADING\n#define glMinSampleShading                  rglMinSampleShading\n#define glMinSampleShadingARB               rglMinSampleShadingARB\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_SAMPLE_SHADING\nREGAL_DECL void REGAL_CALL glMinSampleShading(GLclampf value);\nREGAL_DECL void REGAL_CALL glMinSampleShadingARB(GLclampf value);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_SAMPLE_SHADING\nREGAL_DECL void REGAL_CALL plugin_glMinSampleShading(GLclampf value);\nREGAL_DECL void REGAL_CALL plugin_glMinSampleShadingARB(GLclampf value);\n#endif\n\n/**\n ** GL_ARB_sampler_objects\n **/\n\n#if (defined(GL_ARB_SAMPLER_OBJECTS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_SAMPLER_OBJECTS)) && !defined(REGAL_NO_ENUM_GL_ARB_SAMPLER_OBJECTS)\n#define REGAL_NO_ENUM_GL_ARB_SAMPLER_OBJECTS\n#endif\n\n#if (defined(GL_ARB_SAMPLER_OBJECTS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_SAMPLER_OBJECTS)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_SAMPLER_OBJECTS)\n#define REGAL_NO_TYPEDEF_GL_ARB_SAMPLER_OBJECTS\n#endif\n\n#if (defined(GL_ARB_SAMPLER_OBJECTS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_SAMPLER_OBJECTS)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_SAMPLER_OBJECTS)\n#define REGAL_NO_NAMESPACE_GL_ARB_SAMPLER_OBJECTS\n#endif\n\n#if (defined(GL_ARB_SAMPLER_OBJECTS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_SAMPLER_OBJECTS)) && !defined(REGAL_NO_PLUGIN_GL_ARB_SAMPLER_OBJECTS)\n#define REGAL_NO_PLUGIN_GL_ARB_SAMPLER_OBJECTS\n#endif\n\n#if (defined(GL_ARB_SAMPLER_OBJECTS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_SAMPLER_OBJECTS)) && !defined(REGAL_NO_DECLARATION_GL_ARB_SAMPLER_OBJECTS)\n#define REGAL_NO_DECLARATION_GL_ARB_SAMPLER_OBJECTS\n#endif\n\n#ifndef GL_ARB_sampler_objects\n#define GL_ARB_sampler_objects 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_SAMPLER_OBJECTS\n#define GL_SAMPLER_BINDING 0x8919 /* 35097 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_SAMPLER_OBJECTS\ntypedef GLboolean (REGAL_CALL *PFNGLISSAMPLERPROC)(GLuint sampler);\ntypedef void (REGAL_CALL *PFNGLBINDSAMPLERPROC)(GLuint unit, GLuint sampler);\ntypedef void (REGAL_CALL *PFNGLDELETESAMPLERSPROC)(GLsizei count, const GLuint *samplers);\ntypedef void (REGAL_CALL *PFNGLGENSAMPLERSPROC)(GLsizei count, GLuint *samplers);\ntypedef void (REGAL_CALL *PFNGLGETSAMPLERPARAMETERFVPROC)(GLuint sampler, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETSAMPLERPARAMETERIIVPROC)(GLuint sampler, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETSAMPLERPARAMETERIUIVPROC)(GLuint sampler, GLenum pname, GLuint *params);\ntypedef void (REGAL_CALL *PFNGLGETSAMPLERPARAMETERIVPROC)(GLuint sampler, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLSAMPLERPARAMETERFPROC)(GLuint sampler, GLenum pname, GLfloat param);\ntypedef void (REGAL_CALL *PFNGLSAMPLERPARAMETERFVPROC)(GLuint sampler, GLenum pname, const GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLSAMPLERPARAMETERIIVPROC)(GLuint sampler, GLenum pname, const GLint *params);\ntypedef void (REGAL_CALL *PFNGLSAMPLERPARAMETERIPROC)(GLuint sampler, GLenum pname, GLint param);\ntypedef void (REGAL_CALL *PFNGLSAMPLERPARAMETERIUIVPROC)(GLuint sampler, GLenum pname, const GLuint *params);\ntypedef void (REGAL_CALL *PFNGLSAMPLERPARAMETERIVPROC)(GLuint sampler, GLenum pname, const GLint *params);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_SAMPLER_OBJECTS\n#define glBindSampler                       rglBindSampler\n#define glDeleteSamplers                    rglDeleteSamplers\n#define glGenSamplers                       rglGenSamplers\n#define glGetSamplerParameterIiv            rglGetSamplerParameterIiv\n#define glGetSamplerParameterIuiv           rglGetSamplerParameterIuiv\n#define glGetSamplerParameterfv             rglGetSamplerParameterfv\n#define glGetSamplerParameteriv             rglGetSamplerParameteriv\n#define glIsSampler                         rglIsSampler\n#define glSamplerParameterIiv               rglSamplerParameterIiv\n#define glSamplerParameterIuiv              rglSamplerParameterIuiv\n#define glSamplerParameterf                 rglSamplerParameterf\n#define glSamplerParameterfv                rglSamplerParameterfv\n#define glSamplerParameteri                 rglSamplerParameteri\n#define glSamplerParameteriv                rglSamplerParameteriv\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_SAMPLER_OBJECTS\nREGAL_DECL GLboolean REGAL_CALL glIsSampler(GLuint sampler);\nREGAL_DECL void REGAL_CALL glBindSampler(GLuint unit, GLuint sampler);\nREGAL_DECL void REGAL_CALL glDeleteSamplers(GLsizei count, const GLuint *samplers);\nREGAL_DECL void REGAL_CALL glGenSamplers(GLsizei count, GLuint *samplers);\nREGAL_DECL void REGAL_CALL glGetSamplerParameterIiv(GLuint sampler, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetSamplerParameterIuiv(GLuint sampler, GLenum pname, GLuint *params);\nREGAL_DECL void REGAL_CALL glGetSamplerParameterfv(GLuint sampler, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetSamplerParameteriv(GLuint sampler, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glSamplerParameterIiv(GLuint sampler, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL glSamplerParameterIuiv(GLuint sampler, GLenum pname, const GLuint *params);\nREGAL_DECL void REGAL_CALL glSamplerParameterf(GLuint sampler, GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL glSamplerParameterfv(GLuint sampler, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL glSamplerParameteri(GLuint sampler, GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL glSamplerParameteriv(GLuint sampler, GLenum pname, const GLint *params);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_SAMPLER_OBJECTS\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsSampler(GLuint sampler);\nREGAL_DECL void REGAL_CALL plugin_glBindSampler(GLuint unit, GLuint sampler);\nREGAL_DECL void REGAL_CALL plugin_glDeleteSamplers(GLsizei count, const GLuint *samplers);\nREGAL_DECL void REGAL_CALL plugin_glGenSamplers(GLsizei count, GLuint *samplers);\nREGAL_DECL void REGAL_CALL plugin_glGetSamplerParameterIiv(GLuint sampler, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetSamplerParameterIuiv(GLuint sampler, GLenum pname, GLuint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetSamplerParameterfv(GLuint sampler, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetSamplerParameteriv(GLuint sampler, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glSamplerParameterIiv(GLuint sampler, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glSamplerParameterIuiv(GLuint sampler, GLenum pname, const GLuint *params);\nREGAL_DECL void REGAL_CALL plugin_glSamplerParameterf(GLuint sampler, GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL plugin_glSamplerParameterfv(GLuint sampler, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glSamplerParameteri(GLuint sampler, GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL plugin_glSamplerParameteriv(GLuint sampler, GLenum pname, const GLint *params);\n#endif\n\n/**\n ** GL_ARB_seamless_cube_map\n **/\n\n#if (defined(GL_ARB_SEAMLESS_CUBE_MAP) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_SEAMLESS_CUBE_MAP)) && !defined(REGAL_NO_ENUM_GL_ARB_SEAMLESS_CUBE_MAP)\n#define REGAL_NO_ENUM_GL_ARB_SEAMLESS_CUBE_MAP\n#endif\n\n#if (defined(GL_ARB_SEAMLESS_CUBE_MAP) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_SEAMLESS_CUBE_MAP)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_SEAMLESS_CUBE_MAP)\n#define REGAL_NO_TYPEDEF_GL_ARB_SEAMLESS_CUBE_MAP\n#endif\n\n#if (defined(GL_ARB_SEAMLESS_CUBE_MAP) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_SEAMLESS_CUBE_MAP)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_SEAMLESS_CUBE_MAP)\n#define REGAL_NO_NAMESPACE_GL_ARB_SEAMLESS_CUBE_MAP\n#endif\n\n#if (defined(GL_ARB_SEAMLESS_CUBE_MAP) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_SEAMLESS_CUBE_MAP)) && !defined(REGAL_NO_PLUGIN_GL_ARB_SEAMLESS_CUBE_MAP)\n#define REGAL_NO_PLUGIN_GL_ARB_SEAMLESS_CUBE_MAP\n#endif\n\n#if (defined(GL_ARB_SEAMLESS_CUBE_MAP) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_SEAMLESS_CUBE_MAP)) && !defined(REGAL_NO_DECLARATION_GL_ARB_SEAMLESS_CUBE_MAP)\n#define REGAL_NO_DECLARATION_GL_ARB_SEAMLESS_CUBE_MAP\n#endif\n\n#ifndef GL_ARB_seamless_cube_map\n#define GL_ARB_seamless_cube_map 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_SEAMLESS_CUBE_MAP\n#define GL_TEXTURE_CUBE_MAP_SEAMLESS 0x884f /* 34895 */\n#endif\n\n/**\n ** GL_ARB_separate_shader_objects\n **/\n\n#if (defined(GL_ARB_SEPARATE_SHADER_OBJECTS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_SEPARATE_SHADER_OBJECTS)) && !defined(REGAL_NO_ENUM_GL_ARB_SEPARATE_SHADER_OBJECTS)\n#define REGAL_NO_ENUM_GL_ARB_SEPARATE_SHADER_OBJECTS\n#endif\n\n#if (defined(GL_ARB_SEPARATE_SHADER_OBJECTS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_SEPARATE_SHADER_OBJECTS)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_SEPARATE_SHADER_OBJECTS)\n#define REGAL_NO_TYPEDEF_GL_ARB_SEPARATE_SHADER_OBJECTS\n#endif\n\n#if (defined(GL_ARB_SEPARATE_SHADER_OBJECTS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_SEPARATE_SHADER_OBJECTS)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_SEPARATE_SHADER_OBJECTS)\n#define REGAL_NO_NAMESPACE_GL_ARB_SEPARATE_SHADER_OBJECTS\n#endif\n\n#if (defined(GL_ARB_SEPARATE_SHADER_OBJECTS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_SEPARATE_SHADER_OBJECTS)) && !defined(REGAL_NO_PLUGIN_GL_ARB_SEPARATE_SHADER_OBJECTS)\n#define REGAL_NO_PLUGIN_GL_ARB_SEPARATE_SHADER_OBJECTS\n#endif\n\n#if (defined(GL_ARB_SEPARATE_SHADER_OBJECTS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_SEPARATE_SHADER_OBJECTS)) && !defined(REGAL_NO_DECLARATION_GL_ARB_SEPARATE_SHADER_OBJECTS)\n#define REGAL_NO_DECLARATION_GL_ARB_SEPARATE_SHADER_OBJECTS\n#endif\n\n#ifndef GL_ARB_separate_shader_objects\n#define GL_ARB_separate_shader_objects 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_SEPARATE_SHADER_OBJECTS\n#define GL_VERTEX_SHADER_BIT          0x1\n#define GL_TESS_EVALUATION_SHADER_BIT 0x10           /* 16 */\n#define GL_FRAGMENT_SHADER_BIT        0x2\n#define GL_GEOMETRY_SHADER_BIT        0x4\n#define GL_TESS_CONTROL_SHADER_BIT    0x8\n#define GL_PROGRAM_SEPARABLE          0x8258         /* 33368 */\n#define GL_ACTIVE_PROGRAM             0x8259         /* 33369 */\n#define GL_PROGRAM_PIPELINE_BINDING   0x825a         /* 33370 */\n#define GL_ALL_SHADER_BITS            0xffffffff     /* 4294967295 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_SEPARATE_SHADER_OBJECTS\ntypedef GLboolean (REGAL_CALL *PFNGLISPROGRAMPIPELINEPROC)(GLuint pipeline);\ntypedef GLuint (REGAL_CALL *PFNGLCREATESHADERPROGRAMVPROC)(GLenum type, GLsizei count, const GLchar * const *strings);\ntypedef void (REGAL_CALL *PFNGLACTIVESHADERPROGRAMPROC)(GLuint pipeline, GLuint program);\ntypedef void (REGAL_CALL *PFNGLBINDPROGRAMPIPELINEPROC)(GLuint pipeline);\ntypedef void (REGAL_CALL *PFNGLDELETEPROGRAMPIPELINESPROC)(GLsizei n, const GLuint *pipelines);\ntypedef void (REGAL_CALL *PFNGLGENPROGRAMPIPELINESPROC)(GLsizei n, GLuint *pipelines);\ntypedef void (REGAL_CALL *PFNGLGETPROGRAMPIPELINEINFOLOGPROC)(GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);\ntypedef void (REGAL_CALL *PFNGLGETPROGRAMPIPELINEIVPROC)(GLuint pipeline, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM1DPROC)(GLuint program, GLint location, GLdouble x);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM1DVPROC)(GLuint program, GLint location, GLsizei count, const GLdouble *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM1FPROC)(GLuint program, GLint location, GLfloat x);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM1FVPROC)(GLuint program, GLint location, GLsizei count, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM1IPROC)(GLuint program, GLint location, GLint x);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM1IVPROC)(GLuint program, GLint location, GLsizei count, const GLint *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM1UIPROC)(GLuint program, GLint location, GLuint v0);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM1UIVPROC)(GLuint program, GLint location, GLsizei count, const GLuint *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM2DPROC)(GLuint program, GLint location, GLdouble x, GLdouble y);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM2DVPROC)(GLuint program, GLint location, GLsizei count, const GLdouble *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM2FPROC)(GLuint program, GLint location, GLfloat x, GLfloat y);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM2FVPROC)(GLuint program, GLint location, GLsizei count, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM2IPROC)(GLuint program, GLint location, GLint x, GLint y);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM2IVPROC)(GLuint program, GLint location, GLsizei count, const GLint *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM2UIPROC)(GLuint program, GLint location, GLuint x, GLuint y);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM2UIVPROC)(GLuint program, GLint location, GLsizei count, const GLuint *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM3DPROC)(GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM3DVPROC)(GLuint program, GLint location, GLsizei count, const GLdouble *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM3FPROC)(GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM3FVPROC)(GLuint program, GLint location, GLsizei count, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM3IPROC)(GLuint program, GLint location, GLint x, GLint y, GLint z);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM3IVPROC)(GLuint program, GLint location, GLsizei count, const GLint *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM3UIPROC)(GLuint program, GLint location, GLuint x, GLuint y, GLuint z);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM3UIVPROC)(GLuint program, GLint location, GLsizei count, const GLuint *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM4DPROC)(GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM4DVPROC)(GLuint program, GLint location, GLsizei count, const GLdouble *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM4FPROC)(GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM4FVPROC)(GLuint program, GLint location, GLsizei count, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM4IPROC)(GLuint program, GLint location, GLint x, GLint y, GLint z, GLint w);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM4IVPROC)(GLuint program, GLint location, GLsizei count, const GLint *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM4UIPROC)(GLuint program, GLint location, GLuint x, GLuint y, GLuint z, GLuint w);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM4UIVPROC)(GLuint program, GLint location, GLsizei count, const GLuint *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMMATRIX2DVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMMATRIX2FVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMMATRIX3DVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMMATRIX3FVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMMATRIX4DVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMMATRIX4FVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLUSEPROGRAMSTAGESPROC)(GLuint pipeline, GLbitfield stages, GLuint program);\ntypedef void (REGAL_CALL *PFNGLVALIDATEPROGRAMPIPELINEPROC)(GLuint pipeline);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_SEPARATE_SHADER_OBJECTS\n#define glActiveShaderProgram               rglActiveShaderProgram\n#define glBindProgramPipeline               rglBindProgramPipeline\n#define glCreateShaderProgramv              rglCreateShaderProgramv\n#define glDeleteProgramPipelines            rglDeleteProgramPipelines\n#define glGenProgramPipelines               rglGenProgramPipelines\n#define glGetProgramPipelineInfoLog         rglGetProgramPipelineInfoLog\n#define glGetProgramPipelineiv              rglGetProgramPipelineiv\n#define glIsProgramPipeline                 rglIsProgramPipeline\n#define glProgramUniform1d                  rglProgramUniform1d\n#define glProgramUniform1dv                 rglProgramUniform1dv\n#define glProgramUniform1f                  rglProgramUniform1f\n#define glProgramUniform1fv                 rglProgramUniform1fv\n#define glProgramUniform1i                  rglProgramUniform1i\n#define glProgramUniform1iv                 rglProgramUniform1iv\n#define glProgramUniform1ui                 rglProgramUniform1ui\n#define glProgramUniform1uiv                rglProgramUniform1uiv\n#define glProgramUniform2d                  rglProgramUniform2d\n#define glProgramUniform2dv                 rglProgramUniform2dv\n#define glProgramUniform2f                  rglProgramUniform2f\n#define glProgramUniform2fv                 rglProgramUniform2fv\n#define glProgramUniform2i                  rglProgramUniform2i\n#define glProgramUniform2iv                 rglProgramUniform2iv\n#define glProgramUniform2ui                 rglProgramUniform2ui\n#define glProgramUniform2uiv                rglProgramUniform2uiv\n#define glProgramUniform3d                  rglProgramUniform3d\n#define glProgramUniform3dv                 rglProgramUniform3dv\n#define glProgramUniform3f                  rglProgramUniform3f\n#define glProgramUniform3fv                 rglProgramUniform3fv\n#define glProgramUniform3i                  rglProgramUniform3i\n#define glProgramUniform3iv                 rglProgramUniform3iv\n#define glProgramUniform3ui                 rglProgramUniform3ui\n#define glProgramUniform3uiv                rglProgramUniform3uiv\n#define glProgramUniform4d                  rglProgramUniform4d\n#define glProgramUniform4dv                 rglProgramUniform4dv\n#define glProgramUniform4f                  rglProgramUniform4f\n#define glProgramUniform4fv                 rglProgramUniform4fv\n#define glProgramUniform4i                  rglProgramUniform4i\n#define glProgramUniform4iv                 rglProgramUniform4iv\n#define glProgramUniform4ui                 rglProgramUniform4ui\n#define glProgramUniform4uiv                rglProgramUniform4uiv\n#define glProgramUniformMatrix2dv           rglProgramUniformMatrix2dv\n#define glProgramUniformMatrix2fv           rglProgramUniformMatrix2fv\n#define glProgramUniformMatrix2x3dv         rglProgramUniformMatrix2x3dv\n#define glProgramUniformMatrix2x3fv         rglProgramUniformMatrix2x3fv\n#define glProgramUniformMatrix2x4dv         rglProgramUniformMatrix2x4dv\n#define glProgramUniformMatrix2x4fv         rglProgramUniformMatrix2x4fv\n#define glProgramUniformMatrix3dv           rglProgramUniformMatrix3dv\n#define glProgramUniformMatrix3fv           rglProgramUniformMatrix3fv\n#define glProgramUniformMatrix3x2dv         rglProgramUniformMatrix3x2dv\n#define glProgramUniformMatrix3x2fv         rglProgramUniformMatrix3x2fv\n#define glProgramUniformMatrix3x4dv         rglProgramUniformMatrix3x4dv\n#define glProgramUniformMatrix3x4fv         rglProgramUniformMatrix3x4fv\n#define glProgramUniformMatrix4dv           rglProgramUniformMatrix4dv\n#define glProgramUniformMatrix4fv           rglProgramUniformMatrix4fv\n#define glProgramUniformMatrix4x2dv         rglProgramUniformMatrix4x2dv\n#define glProgramUniformMatrix4x2fv         rglProgramUniformMatrix4x2fv\n#define glProgramUniformMatrix4x3dv         rglProgramUniformMatrix4x3dv\n#define glProgramUniformMatrix4x3fv         rglProgramUniformMatrix4x3fv\n#define glUseProgramStages                  rglUseProgramStages\n#define glValidateProgramPipeline           rglValidateProgramPipeline\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_SEPARATE_SHADER_OBJECTS\nREGAL_DECL GLboolean REGAL_CALL glIsProgramPipeline(GLuint pipeline);\nREGAL_DECL GLuint REGAL_CALL glCreateShaderProgramv(GLenum type, GLsizei count, const GLchar * const *strings);\nREGAL_DECL void REGAL_CALL glActiveShaderProgram(GLuint pipeline, GLuint program);\nREGAL_DECL void REGAL_CALL glBindProgramPipeline(GLuint pipeline);\nREGAL_DECL void REGAL_CALL glDeleteProgramPipelines(GLsizei n, const GLuint *pipelines);\nREGAL_DECL void REGAL_CALL glGenProgramPipelines(GLsizei n, GLuint *pipelines);\nREGAL_DECL void REGAL_CALL glGetProgramPipelineInfoLog(GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);\nREGAL_DECL void REGAL_CALL glGetProgramPipelineiv(GLuint pipeline, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glProgramUniform1d(GLuint program, GLint location, GLdouble x);\nREGAL_DECL void REGAL_CALL glProgramUniform1dv(GLuint program, GLint location, GLsizei count, const GLdouble *value);\nREGAL_DECL void REGAL_CALL glProgramUniform1f(GLuint program, GLint location, GLfloat x);\nREGAL_DECL void REGAL_CALL glProgramUniform1fv(GLuint program, GLint location, GLsizei count, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glProgramUniform1i(GLuint program, GLint location, GLint x);\nREGAL_DECL void REGAL_CALL glProgramUniform1iv(GLuint program, GLint location, GLsizei count, const GLint *value);\nREGAL_DECL void REGAL_CALL glProgramUniform1ui(GLuint program, GLint location, GLuint v0);\nREGAL_DECL void REGAL_CALL glProgramUniform1uiv(GLuint program, GLint location, GLsizei count, const GLuint *value);\nREGAL_DECL void REGAL_CALL glProgramUniform2d(GLuint program, GLint location, GLdouble x, GLdouble y);\nREGAL_DECL void REGAL_CALL glProgramUniform2dv(GLuint program, GLint location, GLsizei count, const GLdouble *value);\nREGAL_DECL void REGAL_CALL glProgramUniform2f(GLuint program, GLint location, GLfloat x, GLfloat y);\nREGAL_DECL void REGAL_CALL glProgramUniform2fv(GLuint program, GLint location, GLsizei count, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glProgramUniform2i(GLuint program, GLint location, GLint x, GLint y);\nREGAL_DECL void REGAL_CALL glProgramUniform2iv(GLuint program, GLint location, GLsizei count, const GLint *value);\nREGAL_DECL void REGAL_CALL glProgramUniform2ui(GLuint program, GLint location, GLuint x, GLuint y);\nREGAL_DECL void REGAL_CALL glProgramUniform2uiv(GLuint program, GLint location, GLsizei count, const GLuint *value);\nREGAL_DECL void REGAL_CALL glProgramUniform3d(GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL glProgramUniform3dv(GLuint program, GLint location, GLsizei count, const GLdouble *value);\nREGAL_DECL void REGAL_CALL glProgramUniform3f(GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL glProgramUniform3fv(GLuint program, GLint location, GLsizei count, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glProgramUniform3i(GLuint program, GLint location, GLint x, GLint y, GLint z);\nREGAL_DECL void REGAL_CALL glProgramUniform3iv(GLuint program, GLint location, GLsizei count, const GLint *value);\nREGAL_DECL void REGAL_CALL glProgramUniform3ui(GLuint program, GLint location, GLuint x, GLuint y, GLuint z);\nREGAL_DECL void REGAL_CALL glProgramUniform3uiv(GLuint program, GLint location, GLsizei count, const GLuint *value);\nREGAL_DECL void REGAL_CALL glProgramUniform4d(GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nREGAL_DECL void REGAL_CALL glProgramUniform4dv(GLuint program, GLint location, GLsizei count, const GLdouble *value);\nREGAL_DECL void REGAL_CALL glProgramUniform4f(GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nREGAL_DECL void REGAL_CALL glProgramUniform4fv(GLuint program, GLint location, GLsizei count, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glProgramUniform4i(GLuint program, GLint location, GLint x, GLint y, GLint z, GLint w);\nREGAL_DECL void REGAL_CALL glProgramUniform4iv(GLuint program, GLint location, GLsizei count, const GLint *value);\nREGAL_DECL void REGAL_CALL glProgramUniform4ui(GLuint program, GLint location, GLuint x, GLuint y, GLuint z, GLuint w);\nREGAL_DECL void REGAL_CALL glProgramUniform4uiv(GLuint program, GLint location, GLsizei count, const GLuint *value);\nREGAL_DECL void REGAL_CALL glProgramUniformMatrix2dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL glProgramUniformMatrix2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glProgramUniformMatrix2x3dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL glProgramUniformMatrix2x3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glProgramUniformMatrix2x4dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL glProgramUniformMatrix2x4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glProgramUniformMatrix3dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL glProgramUniformMatrix3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glProgramUniformMatrix3x2dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL glProgramUniformMatrix3x2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glProgramUniformMatrix3x4dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL glProgramUniformMatrix3x4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glProgramUniformMatrix4dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL glProgramUniformMatrix4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glProgramUniformMatrix4x2dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL glProgramUniformMatrix4x2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glProgramUniformMatrix4x3dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL glProgramUniformMatrix4x3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glUseProgramStages(GLuint pipeline, GLbitfield stages, GLuint program);\nREGAL_DECL void REGAL_CALL glValidateProgramPipeline(GLuint pipeline);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_SEPARATE_SHADER_OBJECTS\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsProgramPipeline(GLuint pipeline);\nREGAL_DECL GLuint REGAL_CALL plugin_glCreateShaderProgramv(GLenum type, GLsizei count, const GLchar * const *strings);\nREGAL_DECL void REGAL_CALL plugin_glActiveShaderProgram(GLuint pipeline, GLuint program);\nREGAL_DECL void REGAL_CALL plugin_glBindProgramPipeline(GLuint pipeline);\nREGAL_DECL void REGAL_CALL plugin_glDeleteProgramPipelines(GLsizei n, const GLuint *pipelines);\nREGAL_DECL void REGAL_CALL plugin_glGenProgramPipelines(GLsizei n, GLuint *pipelines);\nREGAL_DECL void REGAL_CALL plugin_glGetProgramPipelineInfoLog(GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);\nREGAL_DECL void REGAL_CALL plugin_glGetProgramPipelineiv(GLuint pipeline, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform1d(GLuint program, GLint location, GLdouble x);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform1dv(GLuint program, GLint location, GLsizei count, const GLdouble *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform1f(GLuint program, GLint location, GLfloat x);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform1fv(GLuint program, GLint location, GLsizei count, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform1i(GLuint program, GLint location, GLint x);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform1iv(GLuint program, GLint location, GLsizei count, const GLint *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform1ui(GLuint program, GLint location, GLuint v0);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform1uiv(GLuint program, GLint location, GLsizei count, const GLuint *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform2d(GLuint program, GLint location, GLdouble x, GLdouble y);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform2dv(GLuint program, GLint location, GLsizei count, const GLdouble *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform2f(GLuint program, GLint location, GLfloat x, GLfloat y);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform2fv(GLuint program, GLint location, GLsizei count, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform2i(GLuint program, GLint location, GLint x, GLint y);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform2iv(GLuint program, GLint location, GLsizei count, const GLint *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform2ui(GLuint program, GLint location, GLuint x, GLuint y);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform2uiv(GLuint program, GLint location, GLsizei count, const GLuint *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform3d(GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform3dv(GLuint program, GLint location, GLsizei count, const GLdouble *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform3f(GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform3fv(GLuint program, GLint location, GLsizei count, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform3i(GLuint program, GLint location, GLint x, GLint y, GLint z);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform3iv(GLuint program, GLint location, GLsizei count, const GLint *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform3ui(GLuint program, GLint location, GLuint x, GLuint y, GLuint z);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform3uiv(GLuint program, GLint location, GLsizei count, const GLuint *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform4d(GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform4dv(GLuint program, GLint location, GLsizei count, const GLdouble *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform4f(GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform4fv(GLuint program, GLint location, GLsizei count, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform4i(GLuint program, GLint location, GLint x, GLint y, GLint z, GLint w);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform4iv(GLuint program, GLint location, GLsizei count, const GLint *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform4ui(GLuint program, GLint location, GLuint x, GLuint y, GLuint z, GLuint w);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform4uiv(GLuint program, GLint location, GLsizei count, const GLuint *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformMatrix2dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformMatrix2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformMatrix2x3dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformMatrix2x3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformMatrix2x4dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformMatrix2x4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformMatrix3dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformMatrix3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformMatrix3x2dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformMatrix3x2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformMatrix3x4dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformMatrix3x4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformMatrix4dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformMatrix4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformMatrix4x2dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformMatrix4x2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformMatrix4x3dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformMatrix4x3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glUseProgramStages(GLuint pipeline, GLbitfield stages, GLuint program);\nREGAL_DECL void REGAL_CALL plugin_glValidateProgramPipeline(GLuint pipeline);\n#endif\n\n/**\n ** GL_ARB_shader_atomic_counters\n **/\n\n#if (defined(GL_ARB_SHADER_ATOMIC_COUNTERS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_SHADER_ATOMIC_COUNTERS)) && !defined(REGAL_NO_ENUM_GL_ARB_SHADER_ATOMIC_COUNTERS)\n#define REGAL_NO_ENUM_GL_ARB_SHADER_ATOMIC_COUNTERS\n#endif\n\n#if (defined(GL_ARB_SHADER_ATOMIC_COUNTERS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_SHADER_ATOMIC_COUNTERS)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_SHADER_ATOMIC_COUNTERS)\n#define REGAL_NO_TYPEDEF_GL_ARB_SHADER_ATOMIC_COUNTERS\n#endif\n\n#if (defined(GL_ARB_SHADER_ATOMIC_COUNTERS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_SHADER_ATOMIC_COUNTERS)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_SHADER_ATOMIC_COUNTERS)\n#define REGAL_NO_NAMESPACE_GL_ARB_SHADER_ATOMIC_COUNTERS\n#endif\n\n#if (defined(GL_ARB_SHADER_ATOMIC_COUNTERS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_SHADER_ATOMIC_COUNTERS)) && !defined(REGAL_NO_PLUGIN_GL_ARB_SHADER_ATOMIC_COUNTERS)\n#define REGAL_NO_PLUGIN_GL_ARB_SHADER_ATOMIC_COUNTERS\n#endif\n\n#if (defined(GL_ARB_SHADER_ATOMIC_COUNTERS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_SHADER_ATOMIC_COUNTERS)) && !defined(REGAL_NO_DECLARATION_GL_ARB_SHADER_ATOMIC_COUNTERS)\n#define REGAL_NO_DECLARATION_GL_ARB_SHADER_ATOMIC_COUNTERS\n#endif\n\n#ifndef GL_ARB_shader_atomic_counters\n#define GL_ARB_shader_atomic_counters 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_SHADER_ATOMIC_COUNTERS\n#define GL_ATOMIC_COUNTER_BUFFER                                      0x92c0     /* 37568 */\n#define GL_ATOMIC_COUNTER_BUFFER_BINDING                              0x92c1     /* 37569 */\n#define GL_ATOMIC_COUNTER_BUFFER_START                                0x92c2     /* 37570 */\n#define GL_ATOMIC_COUNTER_BUFFER_SIZE                                 0x92c3     /* 37571 */\n#define GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE                            0x92c4     /* 37572 */\n#define GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS               0x92c5     /* 37573 */\n#define GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES        0x92c6     /* 37574 */\n#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER          0x92c7     /* 37575 */\n#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER    0x92c8     /* 37576 */\n#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER 0x92c9     /* 37577 */\n#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER        0x92ca     /* 37578 */\n#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER        0x92cb     /* 37579 */\n#define GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS                          0x92cc     /* 37580 */\n#define GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS                    0x92cd     /* 37581 */\n#define GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS                 0x92ce     /* 37582 */\n#define GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS                        0x92cf     /* 37583 */\n#define GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS                        0x92d0     /* 37584 */\n#define GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS                        0x92d1     /* 37585 */\n#define GL_MAX_VERTEX_ATOMIC_COUNTERS                                 0x92d2     /* 37586 */\n#define GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS                           0x92d3     /* 37587 */\n#define GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS                        0x92d4     /* 37588 */\n#define GL_MAX_GEOMETRY_ATOMIC_COUNTERS                               0x92d5     /* 37589 */\n#define GL_MAX_FRAGMENT_ATOMIC_COUNTERS                               0x92d6     /* 37590 */\n#define GL_MAX_COMBINED_ATOMIC_COUNTERS                               0x92d7     /* 37591 */\n#define GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE                             0x92d8     /* 37592 */\n#define GL_ACTIVE_ATOMIC_COUNTER_BUFFERS                              0x92d9     /* 37593 */\n#define GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX                        0x92da     /* 37594 */\n#define GL_UNSIGNED_INT_ATOMIC_COUNTER                                0x92db     /* 37595 */\n#define GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS                         0x92dc     /* 37596 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_SHADER_ATOMIC_COUNTERS\ntypedef void (REGAL_CALL *PFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC)(GLuint program, GLuint bufferIndex, GLenum pname, GLint *params);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_SHADER_ATOMIC_COUNTERS\n#define glGetActiveAtomicCounterBufferiv    rglGetActiveAtomicCounterBufferiv\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_SHADER_ATOMIC_COUNTERS\nREGAL_DECL void REGAL_CALL glGetActiveAtomicCounterBufferiv(GLuint program, GLuint bufferIndex, GLenum pname, GLint *params);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_SHADER_ATOMIC_COUNTERS\nREGAL_DECL void REGAL_CALL plugin_glGetActiveAtomicCounterBufferiv(GLuint program, GLuint bufferIndex, GLenum pname, GLint *params);\n#endif\n\n/**\n ** GL_ARB_shader_image_load_store\n **/\n\n#if (defined(GL_ARB_SHADER_IMAGE_LOAD_STORE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_SHADER_IMAGE_LOAD_STORE)) && !defined(REGAL_NO_ENUM_GL_ARB_SHADER_IMAGE_LOAD_STORE)\n#define REGAL_NO_ENUM_GL_ARB_SHADER_IMAGE_LOAD_STORE\n#endif\n\n#if (defined(GL_ARB_SHADER_IMAGE_LOAD_STORE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_SHADER_IMAGE_LOAD_STORE)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_SHADER_IMAGE_LOAD_STORE)\n#define REGAL_NO_TYPEDEF_GL_ARB_SHADER_IMAGE_LOAD_STORE\n#endif\n\n#if (defined(GL_ARB_SHADER_IMAGE_LOAD_STORE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_SHADER_IMAGE_LOAD_STORE)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_SHADER_IMAGE_LOAD_STORE)\n#define REGAL_NO_NAMESPACE_GL_ARB_SHADER_IMAGE_LOAD_STORE\n#endif\n\n#if (defined(GL_ARB_SHADER_IMAGE_LOAD_STORE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_SHADER_IMAGE_LOAD_STORE)) && !defined(REGAL_NO_PLUGIN_GL_ARB_SHADER_IMAGE_LOAD_STORE)\n#define REGAL_NO_PLUGIN_GL_ARB_SHADER_IMAGE_LOAD_STORE\n#endif\n\n#if (defined(GL_ARB_SHADER_IMAGE_LOAD_STORE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_SHADER_IMAGE_LOAD_STORE)) && !defined(REGAL_NO_DECLARATION_GL_ARB_SHADER_IMAGE_LOAD_STORE)\n#define REGAL_NO_DECLARATION_GL_ARB_SHADER_IMAGE_LOAD_STORE\n#endif\n\n#ifndef GL_ARB_shader_image_load_store\n#define GL_ARB_shader_image_load_store 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_SHADER_IMAGE_LOAD_STORE\n#define GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT               0x1\n#define GL_TEXTURE_UPDATE_BARRIER_BIT                    0x100          /* 256 */\n#define GL_ATOMIC_COUNTER_BARRIER_BIT                    0x1000         /* 4096 */\n#define GL_ELEMENT_ARRAY_BARRIER_BIT                     0x2\n#define GL_SHADER_IMAGE_ACCESS_BARRIER_BIT               0x20           /* 32 */\n#define GL_BUFFER_UPDATE_BARRIER_BIT                     0x200          /* 512 */\n#define GL_UNIFORM_BARRIER_BIT                           0x4\n#define GL_COMMAND_BARRIER_BIT                           0x40           /* 64 */\n#define GL_FRAMEBUFFER_BARRIER_BIT                       0x400          /* 1024 */\n#define GL_TEXTURE_FETCH_BARRIER_BIT                     0x8\n#define GL_PIXEL_BUFFER_BARRIER_BIT                      0x80           /* 128 */\n#define GL_TRANSFORM_FEEDBACK_BARRIER_BIT                0x800          /* 2048 */\n#define GL_MAX_IMAGE_UNITS                               0x8f38         /* 36664 */\n#define GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS 0x8f39         /* 36665 */\n#define GL_IMAGE_BINDING_NAME                            0x8f3a         /* 36666 */\n#define GL_IMAGE_BINDING_LEVEL                           0x8f3b         /* 36667 */\n#define GL_IMAGE_BINDING_LAYERED                         0x8f3c         /* 36668 */\n#define GL_IMAGE_BINDING_LAYER                           0x8f3d         /* 36669 */\n#define GL_IMAGE_BINDING_ACCESS                          0x8f3e         /* 36670 */\n#define GL_IMAGE_1D                                      0x904c         /* 36940 */\n#define GL_IMAGE_2D                                      0x904d         /* 36941 */\n#define GL_IMAGE_3D                                      0x904e         /* 36942 */\n#define GL_IMAGE_2D_RECT                                 0x904f         /* 36943 */\n#define GL_IMAGE_CUBE                                    0x9050         /* 36944 */\n#define GL_IMAGE_BUFFER                                  0x9051         /* 36945 */\n#define GL_IMAGE_1D_ARRAY                                0x9052         /* 36946 */\n#define GL_IMAGE_2D_ARRAY                                0x9053         /* 36947 */\n#define GL_IMAGE_CUBE_MAP_ARRAY                          0x9054         /* 36948 */\n#define GL_IMAGE_2D_MULTISAMPLE                          0x9055         /* 36949 */\n#define GL_IMAGE_2D_MULTISAMPLE_ARRAY                    0x9056         /* 36950 */\n#define GL_INT_IMAGE_1D                                  0x9057         /* 36951 */\n#define GL_INT_IMAGE_2D                                  0x9058         /* 36952 */\n#define GL_INT_IMAGE_3D                                  0x9059         /* 36953 */\n#define GL_INT_IMAGE_2D_RECT                             0x905a         /* 36954 */\n#define GL_INT_IMAGE_CUBE                                0x905b         /* 36955 */\n#define GL_INT_IMAGE_BUFFER                              0x905c         /* 36956 */\n#define GL_INT_IMAGE_1D_ARRAY                            0x905d         /* 36957 */\n#define GL_INT_IMAGE_2D_ARRAY                            0x905e         /* 36958 */\n#define GL_INT_IMAGE_CUBE_MAP_ARRAY                      0x905f         /* 36959 */\n#define GL_INT_IMAGE_2D_MULTISAMPLE                      0x9060         /* 36960 */\n#define GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY                0x9061         /* 36961 */\n#define GL_UNSIGNED_INT_IMAGE_1D                         0x9062         /* 36962 */\n#define GL_UNSIGNED_INT_IMAGE_2D                         0x9063         /* 36963 */\n#define GL_UNSIGNED_INT_IMAGE_3D                         0x9064         /* 36964 */\n#define GL_UNSIGNED_INT_IMAGE_2D_RECT                    0x9065         /* 36965 */\n#define GL_UNSIGNED_INT_IMAGE_CUBE                       0x9066         /* 36966 */\n#define GL_UNSIGNED_INT_IMAGE_BUFFER                     0x9067         /* 36967 */\n#define GL_UNSIGNED_INT_IMAGE_1D_ARRAY                   0x9068         /* 36968 */\n#define GL_UNSIGNED_INT_IMAGE_2D_ARRAY                   0x9069         /* 36969 */\n#define GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY             0x906a         /* 36970 */\n#define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE             0x906b         /* 36971 */\n#define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY       0x906c         /* 36972 */\n#define GL_MAX_IMAGE_SAMPLES                             0x906d         /* 36973 */\n#define GL_IMAGE_BINDING_FORMAT                          0x906e         /* 36974 */\n#define GL_IMAGE_FORMAT_COMPATIBILITY_TYPE               0x90c7         /* 37063 */\n#define GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE            0x90c8         /* 37064 */\n#define GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS           0x90c9         /* 37065 */\n#define GL_MAX_VERTEX_IMAGE_UNIFORMS                     0x90ca         /* 37066 */\n#define GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS               0x90cb         /* 37067 */\n#define GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS            0x90cc         /* 37068 */\n#define GL_MAX_GEOMETRY_IMAGE_UNIFORMS                   0x90cd         /* 37069 */\n#define GL_MAX_FRAGMENT_IMAGE_UNIFORMS                   0x90ce         /* 37070 */\n#define GL_MAX_COMBINED_IMAGE_UNIFORMS                   0x90cf         /* 37071 */\n#define GL_ALL_BARRIER_BITS                              0xffffffff     /* 4294967295 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_SHADER_IMAGE_LOAD_STORE\ntypedef void (REGAL_CALL *PFNGLBINDIMAGETEXTUREPROC)(GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format);\ntypedef void (REGAL_CALL *PFNGLMEMORYBARRIERPROC)(GLbitfield barriers);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_SHADER_IMAGE_LOAD_STORE\n#define glBindImageTexture                  rglBindImageTexture\n#define glMemoryBarrier                     rglMemoryBarrier\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_SHADER_IMAGE_LOAD_STORE\nREGAL_DECL void REGAL_CALL glBindImageTexture(GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format);\nREGAL_DECL void REGAL_CALL glMemoryBarrier(GLbitfield barriers);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_SHADER_IMAGE_LOAD_STORE\nREGAL_DECL void REGAL_CALL plugin_glBindImageTexture(GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format);\nREGAL_DECL void REGAL_CALL plugin_glMemoryBarrier(GLbitfield barriers);\n#endif\n\n/**\n ** GL_ARB_shader_objects\n **/\n\n#if (defined(GL_ARB_SHADER_OBJECTS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_SHADER_OBJECTS)) && !defined(REGAL_NO_ENUM_GL_ARB_SHADER_OBJECTS)\n#define REGAL_NO_ENUM_GL_ARB_SHADER_OBJECTS\n#endif\n\n#if (defined(GL_ARB_SHADER_OBJECTS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_SHADER_OBJECTS)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_SHADER_OBJECTS)\n#define REGAL_NO_TYPEDEF_GL_ARB_SHADER_OBJECTS\n#endif\n\n#if (defined(GL_ARB_SHADER_OBJECTS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_SHADER_OBJECTS)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_SHADER_OBJECTS)\n#define REGAL_NO_NAMESPACE_GL_ARB_SHADER_OBJECTS\n#endif\n\n#if (defined(GL_ARB_SHADER_OBJECTS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_SHADER_OBJECTS)) && !defined(REGAL_NO_PLUGIN_GL_ARB_SHADER_OBJECTS)\n#define REGAL_NO_PLUGIN_GL_ARB_SHADER_OBJECTS\n#endif\n\n#if (defined(GL_ARB_SHADER_OBJECTS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_SHADER_OBJECTS)) && !defined(REGAL_NO_DECLARATION_GL_ARB_SHADER_OBJECTS)\n#define REGAL_NO_DECLARATION_GL_ARB_SHADER_OBJECTS\n#endif\n\n#ifndef GL_ARB_shader_objects\n#define GL_ARB_shader_objects 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_SHADER_OBJECTS\n#define GL_PROGRAM_OBJECT_ARB                   0x8b40     /* 35648 */\n#define GL_SHADER_OBJECT_ARB                    0x8b48     /* 35656 */\n#define GL_OBJECT_TYPE_ARB                      0x8b4e     /* 35662 */\n#define GL_OBJECT_SUBTYPE_ARB                   0x8b4f     /* 35663 */\n#define GL_FLOAT_VEC2_ARB                       0x8b50     /* 35664 */\n#define GL_FLOAT_VEC3_ARB                       0x8b51     /* 35665 */\n#define GL_FLOAT_VEC4_ARB                       0x8b52     /* 35666 */\n#define GL_INT_VEC2_ARB                         0x8b53     /* 35667 */\n#define GL_INT_VEC3_ARB                         0x8b54     /* 35668 */\n#define GL_INT_VEC4_ARB                         0x8b55     /* 35669 */\n#define GL_BOOL_ARB                             0x8b56     /* 35670 */\n#define GL_BOOL_VEC2_ARB                        0x8b57     /* 35671 */\n#define GL_BOOL_VEC3_ARB                        0x8b58     /* 35672 */\n#define GL_BOOL_VEC4_ARB                        0x8b59     /* 35673 */\n#define GL_FLOAT_MAT2_ARB                       0x8b5a     /* 35674 */\n#define GL_FLOAT_MAT3_ARB                       0x8b5b     /* 35675 */\n#define GL_FLOAT_MAT4_ARB                       0x8b5c     /* 35676 */\n#define GL_SAMPLER_1D_ARB                       0x8b5d     /* 35677 */\n#define GL_SAMPLER_2D_ARB                       0x8b5e     /* 35678 */\n#define GL_SAMPLER_3D_ARB                       0x8b5f     /* 35679 */\n#define GL_SAMPLER_CUBE_ARB                     0x8b60     /* 35680 */\n#define GL_SAMPLER_1D_SHADOW_ARB                0x8b61     /* 35681 */\n#define GL_SAMPLER_2D_SHADOW_ARB                0x8b62     /* 35682 */\n#define GL_SAMPLER_2D_RECT_ARB                  0x8b63     /* 35683 */\n#define GL_SAMPLER_2D_RECT_SHADOW_ARB           0x8b64     /* 35684 */\n#define GL_OBJECT_DELETE_STATUS_ARB             0x8b80     /* 35712 */\n#define GL_OBJECT_COMPILE_STATUS_ARB            0x8b81     /* 35713 */\n#define GL_OBJECT_LINK_STATUS_ARB               0x8b82     /* 35714 */\n#define GL_OBJECT_VALIDATE_STATUS_ARB           0x8b83     /* 35715 */\n#define GL_OBJECT_INFO_LOG_LENGTH_ARB           0x8b84     /* 35716 */\n#define GL_OBJECT_ATTACHED_OBJECTS_ARB          0x8b85     /* 35717 */\n#define GL_OBJECT_ACTIVE_UNIFORMS_ARB           0x8b86     /* 35718 */\n#define GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB 0x8b87     /* 35719 */\n#define GL_OBJECT_SHADER_SOURCE_LENGTH_ARB      0x8b88     /* 35720 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_SHADER_OBJECTS\ntypedef GLhandleARB (REGAL_CALL *PFNGLCREATEPROGRAMOBJECTARBPROC)(void);\ntypedef GLhandleARB (REGAL_CALL *PFNGLCREATESHADEROBJECTARBPROC)(GLenum shaderType);\ntypedef GLhandleARB (REGAL_CALL *PFNGLGETHANDLEARBPROC)(GLenum pname);\ntypedef GLint (REGAL_CALL *PFNGLGETUNIFORMLOCATIONARBPROC)(GLhandleARB programObj, const GLcharARB *name);\ntypedef void (REGAL_CALL *PFNGLATTACHOBJECTARBPROC)(GLhandleARB containerObj, GLhandleARB obj);\ntypedef void (REGAL_CALL *PFNGLCOMPILESHADERARBPROC)(GLhandleARB shaderObj);\ntypedef void (REGAL_CALL *PFNGLDELETEOBJECTARBPROC)(GLhandleARB obj);\ntypedef void (REGAL_CALL *PFNGLDETACHOBJECTARBPROC)(GLhandleARB containerObj, GLhandleARB attachedObj);\ntypedef void (REGAL_CALL *PFNGLGETACTIVEUNIFORMARBPROC)(GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei *length, GLint *size, GLenum *type, GLcharARB *name);\ntypedef void (REGAL_CALL *PFNGLGETATTACHEDOBJECTSARBPROC)(GLhandleARB containerObj, GLsizei maxCount, GLsizei *count, GLhandleARB *obj);\ntypedef void (REGAL_CALL *PFNGLGETINFOLOGARBPROC)(GLhandleARB obj, GLsizei maxLength, GLsizei *length, GLcharARB *infoLog);\ntypedef void (REGAL_CALL *PFNGLGETOBJECTPARAMETERFVARBPROC)(GLhandleARB obj, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETOBJECTPARAMETERIVARBPROC)(GLhandleARB obj, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETSHADERSOURCEARBPROC)(GLhandleARB obj, GLsizei maxLength, GLsizei *length, GLcharARB *source);\ntypedef void (REGAL_CALL *PFNGLGETUNIFORMFVARBPROC)(GLhandleARB programObj, GLint location, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETUNIFORMIVARBPROC)(GLhandleARB programObj, GLint location, GLint *params);\ntypedef void (REGAL_CALL *PFNGLLINKPROGRAMARBPROC)(GLhandleARB programObj);\ntypedef void (REGAL_CALL *PFNGLSHADERSOURCEARBPROC)(GLhandleARB shaderObj, GLsizei count, const GLcharARB ** const string, const GLint *length);\ntypedef void (REGAL_CALL *PFNGLUNIFORM1FARBPROC)(GLint location, GLfloat v0);\ntypedef void (REGAL_CALL *PFNGLUNIFORM1FVARBPROC)(GLint location, GLsizei count, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORM1IARBPROC)(GLint location, GLint v0);\ntypedef void (REGAL_CALL *PFNGLUNIFORM1IVARBPROC)(GLint location, GLsizei count, const GLint *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORM2FARBPROC)(GLint location, GLfloat v0, GLfloat v1);\ntypedef void (REGAL_CALL *PFNGLUNIFORM2FVARBPROC)(GLint location, GLsizei count, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORM2IARBPROC)(GLint location, GLint v0, GLint v1);\ntypedef void (REGAL_CALL *PFNGLUNIFORM2IVARBPROC)(GLint location, GLsizei count, const GLint *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORM3FARBPROC)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2);\ntypedef void (REGAL_CALL *PFNGLUNIFORM3FVARBPROC)(GLint location, GLsizei count, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORM3IARBPROC)(GLint location, GLint v0, GLint v1, GLint v2);\ntypedef void (REGAL_CALL *PFNGLUNIFORM3IVARBPROC)(GLint location, GLsizei count, const GLint *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORM4FARBPROC)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);\ntypedef void (REGAL_CALL *PFNGLUNIFORM4FVARBPROC)(GLint location, GLsizei count, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORM4IARBPROC)(GLint location, GLint v0, GLint v1, GLint v2, GLint v3);\ntypedef void (REGAL_CALL *PFNGLUNIFORM4IVARBPROC)(GLint location, GLsizei count, const GLint *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORMMATRIX2FVARBPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORMMATRIX3FVARBPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORMMATRIX4FVARBPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLUSEPROGRAMOBJECTARBPROC)(GLhandleARB programObj);\ntypedef void (REGAL_CALL *PFNGLVALIDATEPROGRAMARBPROC)(GLhandleARB programObj);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_SHADER_OBJECTS\n#define glAttachObjectARB                   rglAttachObjectARB\n#define glCompileShaderARB                  rglCompileShaderARB\n#define glCreateProgramObjectARB            rglCreateProgramObjectARB\n#define glCreateShaderObjectARB             rglCreateShaderObjectARB\n#define glDeleteObjectARB                   rglDeleteObjectARB\n#define glDetachObjectARB                   rglDetachObjectARB\n#define glGetActiveUniformARB               rglGetActiveUniformARB\n#define glGetAttachedObjectsARB             rglGetAttachedObjectsARB\n#define glGetHandleARB                      rglGetHandleARB\n#define glGetInfoLogARB                     rglGetInfoLogARB\n#define glGetObjectParameterfvARB           rglGetObjectParameterfvARB\n#define glGetObjectParameterivARB           rglGetObjectParameterivARB\n#define glGetShaderSourceARB                rglGetShaderSourceARB\n#define glGetUniformLocationARB             rglGetUniformLocationARB\n#define glGetUniformfvARB                   rglGetUniformfvARB\n#define glGetUniformivARB                   rglGetUniformivARB\n#define glLinkProgramARB                    rglLinkProgramARB\n#define glShaderSourceARB                   rglShaderSourceARB\n#define glUniform1fARB                      rglUniform1fARB\n#define glUniform1fvARB                     rglUniform1fvARB\n#define glUniform1iARB                      rglUniform1iARB\n#define glUniform1ivARB                     rglUniform1ivARB\n#define glUniform2fARB                      rglUniform2fARB\n#define glUniform2fvARB                     rglUniform2fvARB\n#define glUniform2iARB                      rglUniform2iARB\n#define glUniform2ivARB                     rglUniform2ivARB\n#define glUniform3fARB                      rglUniform3fARB\n#define glUniform3fvARB                     rglUniform3fvARB\n#define glUniform3iARB                      rglUniform3iARB\n#define glUniform3ivARB                     rglUniform3ivARB\n#define glUniform4fARB                      rglUniform4fARB\n#define glUniform4fvARB                     rglUniform4fvARB\n#define glUniform4iARB                      rglUniform4iARB\n#define glUniform4ivARB                     rglUniform4ivARB\n#define glUniformMatrix2fvARB               rglUniformMatrix2fvARB\n#define glUniformMatrix3fvARB               rglUniformMatrix3fvARB\n#define glUniformMatrix4fvARB               rglUniformMatrix4fvARB\n#define glUseProgramObjectARB               rglUseProgramObjectARB\n#define glValidateProgramARB                rglValidateProgramARB\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_SHADER_OBJECTS\nREGAL_DECL GLhandleARB REGAL_CALL glCreateProgramObjectARB(void);\nREGAL_DECL GLhandleARB REGAL_CALL glCreateShaderObjectARB(GLenum shaderType);\nREGAL_DECL GLhandleARB REGAL_CALL glGetHandleARB(GLenum pname);\nREGAL_DECL GLint REGAL_CALL glGetUniformLocationARB(GLhandleARB programObj, const GLcharARB *name);\nREGAL_DECL void REGAL_CALL glAttachObjectARB(GLhandleARB containerObj, GLhandleARB obj);\nREGAL_DECL void REGAL_CALL glCompileShaderARB(GLhandleARB shaderObj);\nREGAL_DECL void REGAL_CALL glDeleteObjectARB(GLhandleARB obj);\nREGAL_DECL void REGAL_CALL glDetachObjectARB(GLhandleARB containerObj, GLhandleARB attachedObj);\nREGAL_DECL void REGAL_CALL glGetActiveUniformARB(GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei *length, GLint *size, GLenum *type, GLcharARB *name);\nREGAL_DECL void REGAL_CALL glGetAttachedObjectsARB(GLhandleARB containerObj, GLsizei maxCount, GLsizei *count, GLhandleARB *obj);\nREGAL_DECL void REGAL_CALL glGetInfoLogARB(GLhandleARB obj, GLsizei maxLength, GLsizei *length, GLcharARB *infoLog);\nREGAL_DECL void REGAL_CALL glGetObjectParameterfvARB(GLhandleARB obj, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetObjectParameterivARB(GLhandleARB obj, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetShaderSourceARB(GLhandleARB obj, GLsizei maxLength, GLsizei *length, GLcharARB *source);\nREGAL_DECL void REGAL_CALL glGetUniformfvARB(GLhandleARB programObj, GLint location, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetUniformivARB(GLhandleARB programObj, GLint location, GLint *params);\nREGAL_DECL void REGAL_CALL glLinkProgramARB(GLhandleARB programObj);\nREGAL_DECL void REGAL_CALL glShaderSourceARB(GLhandleARB shaderObj, GLsizei count, const GLcharARB ** const string, const GLint *length);\nREGAL_DECL void REGAL_CALL glUniform1fARB(GLint location, GLfloat v0);\nREGAL_DECL void REGAL_CALL glUniform1fvARB(GLint location, GLsizei count, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glUniform1iARB(GLint location, GLint v0);\nREGAL_DECL void REGAL_CALL glUniform1ivARB(GLint location, GLsizei count, const GLint *value);\nREGAL_DECL void REGAL_CALL glUniform2fARB(GLint location, GLfloat v0, GLfloat v1);\nREGAL_DECL void REGAL_CALL glUniform2fvARB(GLint location, GLsizei count, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glUniform2iARB(GLint location, GLint v0, GLint v1);\nREGAL_DECL void REGAL_CALL glUniform2ivARB(GLint location, GLsizei count, const GLint *value);\nREGAL_DECL void REGAL_CALL glUniform3fARB(GLint location, GLfloat v0, GLfloat v1, GLfloat v2);\nREGAL_DECL void REGAL_CALL glUniform3fvARB(GLint location, GLsizei count, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glUniform3iARB(GLint location, GLint v0, GLint v1, GLint v2);\nREGAL_DECL void REGAL_CALL glUniform3ivARB(GLint location, GLsizei count, const GLint *value);\nREGAL_DECL void REGAL_CALL glUniform4fARB(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);\nREGAL_DECL void REGAL_CALL glUniform4fvARB(GLint location, GLsizei count, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glUniform4iARB(GLint location, GLint v0, GLint v1, GLint v2, GLint v3);\nREGAL_DECL void REGAL_CALL glUniform4ivARB(GLint location, GLsizei count, const GLint *value);\nREGAL_DECL void REGAL_CALL glUniformMatrix2fvARB(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glUniformMatrix3fvARB(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glUniformMatrix4fvARB(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glUseProgramObjectARB(GLhandleARB programObj);\nREGAL_DECL void REGAL_CALL glValidateProgramARB(GLhandleARB programObj);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_SHADER_OBJECTS\nREGAL_DECL GLhandleARB REGAL_CALL plugin_glCreateProgramObjectARB(void);\nREGAL_DECL GLhandleARB REGAL_CALL plugin_glCreateShaderObjectARB(GLenum shaderType);\nREGAL_DECL GLhandleARB REGAL_CALL plugin_glGetHandleARB(GLenum pname);\nREGAL_DECL GLint REGAL_CALL plugin_glGetUniformLocationARB(GLhandleARB programObj, const GLcharARB *name);\nREGAL_DECL void REGAL_CALL plugin_glAttachObjectARB(GLhandleARB containerObj, GLhandleARB obj);\nREGAL_DECL void REGAL_CALL plugin_glCompileShaderARB(GLhandleARB shaderObj);\nREGAL_DECL void REGAL_CALL plugin_glDeleteObjectARB(GLhandleARB obj);\nREGAL_DECL void REGAL_CALL plugin_glDetachObjectARB(GLhandleARB containerObj, GLhandleARB attachedObj);\nREGAL_DECL void REGAL_CALL plugin_glGetActiveUniformARB(GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei *length, GLint *size, GLenum *type, GLcharARB *name);\nREGAL_DECL void REGAL_CALL plugin_glGetAttachedObjectsARB(GLhandleARB containerObj, GLsizei maxCount, GLsizei *count, GLhandleARB *obj);\nREGAL_DECL void REGAL_CALL plugin_glGetInfoLogARB(GLhandleARB obj, GLsizei maxLength, GLsizei *length, GLcharARB *infoLog);\nREGAL_DECL void REGAL_CALL plugin_glGetObjectParameterfvARB(GLhandleARB obj, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetObjectParameterivARB(GLhandleARB obj, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetShaderSourceARB(GLhandleARB obj, GLsizei maxLength, GLsizei *length, GLcharARB *source);\nREGAL_DECL void REGAL_CALL plugin_glGetUniformfvARB(GLhandleARB programObj, GLint location, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetUniformivARB(GLhandleARB programObj, GLint location, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glLinkProgramARB(GLhandleARB programObj);\nREGAL_DECL void REGAL_CALL plugin_glShaderSourceARB(GLhandleARB shaderObj, GLsizei count, const GLcharARB ** const string, const GLint *length);\nREGAL_DECL void REGAL_CALL plugin_glUniform1fARB(GLint location, GLfloat v0);\nREGAL_DECL void REGAL_CALL plugin_glUniform1fvARB(GLint location, GLsizei count, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glUniform1iARB(GLint location, GLint v0);\nREGAL_DECL void REGAL_CALL plugin_glUniform1ivARB(GLint location, GLsizei count, const GLint *value);\nREGAL_DECL void REGAL_CALL plugin_glUniform2fARB(GLint location, GLfloat v0, GLfloat v1);\nREGAL_DECL void REGAL_CALL plugin_glUniform2fvARB(GLint location, GLsizei count, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glUniform2iARB(GLint location, GLint v0, GLint v1);\nREGAL_DECL void REGAL_CALL plugin_glUniform2ivARB(GLint location, GLsizei count, const GLint *value);\nREGAL_DECL void REGAL_CALL plugin_glUniform3fARB(GLint location, GLfloat v0, GLfloat v1, GLfloat v2);\nREGAL_DECL void REGAL_CALL plugin_glUniform3fvARB(GLint location, GLsizei count, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glUniform3iARB(GLint location, GLint v0, GLint v1, GLint v2);\nREGAL_DECL void REGAL_CALL plugin_glUniform3ivARB(GLint location, GLsizei count, const GLint *value);\nREGAL_DECL void REGAL_CALL plugin_glUniform4fARB(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);\nREGAL_DECL void REGAL_CALL plugin_glUniform4fvARB(GLint location, GLsizei count, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glUniform4iARB(GLint location, GLint v0, GLint v1, GLint v2, GLint v3);\nREGAL_DECL void REGAL_CALL plugin_glUniform4ivARB(GLint location, GLsizei count, const GLint *value);\nREGAL_DECL void REGAL_CALL plugin_glUniformMatrix2fvARB(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glUniformMatrix3fvARB(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glUniformMatrix4fvARB(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glUseProgramObjectARB(GLhandleARB programObj);\nREGAL_DECL void REGAL_CALL plugin_glValidateProgramARB(GLhandleARB programObj);\n#endif\n\n/**\n ** GL_ARB_shader_storage_buffer_object\n **/\n\n#if (defined(GL_ARB_SHADER_STORAGE_BUFFER_OBJECT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_SHADER_STORAGE_BUFFER_OBJECT)) && !defined(REGAL_NO_ENUM_GL_ARB_SHADER_STORAGE_BUFFER_OBJECT)\n#define REGAL_NO_ENUM_GL_ARB_SHADER_STORAGE_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_ARB_SHADER_STORAGE_BUFFER_OBJECT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_SHADER_STORAGE_BUFFER_OBJECT)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_SHADER_STORAGE_BUFFER_OBJECT)\n#define REGAL_NO_TYPEDEF_GL_ARB_SHADER_STORAGE_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_ARB_SHADER_STORAGE_BUFFER_OBJECT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_SHADER_STORAGE_BUFFER_OBJECT)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_SHADER_STORAGE_BUFFER_OBJECT)\n#define REGAL_NO_NAMESPACE_GL_ARB_SHADER_STORAGE_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_ARB_SHADER_STORAGE_BUFFER_OBJECT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_SHADER_STORAGE_BUFFER_OBJECT)) && !defined(REGAL_NO_PLUGIN_GL_ARB_SHADER_STORAGE_BUFFER_OBJECT)\n#define REGAL_NO_PLUGIN_GL_ARB_SHADER_STORAGE_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_ARB_SHADER_STORAGE_BUFFER_OBJECT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_SHADER_STORAGE_BUFFER_OBJECT)) && !defined(REGAL_NO_DECLARATION_GL_ARB_SHADER_STORAGE_BUFFER_OBJECT)\n#define REGAL_NO_DECLARATION_GL_ARB_SHADER_STORAGE_BUFFER_OBJECT\n#endif\n\n#ifndef GL_ARB_shader_storage_buffer_object\n#define GL_ARB_shader_storage_buffer_object 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_SHADER_STORAGE_BUFFER_OBJECT\n#define GL_SHADER_STORAGE_BARRIER_BIT                0x2000     /* 8192 */\n#define GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES      0x8f39     /* 36665 */\n#define GL_SHADER_STORAGE_BUFFER                     0x90d2     /* 37074 */\n#define GL_SHADER_STORAGE_BUFFER_BINDING             0x90d3     /* 37075 */\n#define GL_SHADER_STORAGE_BUFFER_START               0x90d4     /* 37076 */\n#define GL_SHADER_STORAGE_BUFFER_SIZE                0x90d5     /* 37077 */\n#define GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS          0x90d6     /* 37078 */\n#define GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS        0x90d7     /* 37079 */\n#define GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS    0x90d8     /* 37080 */\n#define GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS 0x90d9     /* 37081 */\n#define GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS        0x90da     /* 37082 */\n#define GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS         0x90db     /* 37083 */\n#define GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS        0x90dc     /* 37084 */\n#define GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS        0x90dd     /* 37085 */\n#define GL_MAX_SHADER_STORAGE_BLOCK_SIZE             0x90de     /* 37086 */\n#define GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT    0x90df     /* 37087 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_SHADER_STORAGE_BUFFER_OBJECT\ntypedef void (REGAL_CALL *PFNGLSHADERSTORAGEBLOCKBINDINGPROC)(GLuint program, GLuint storageBlockIndex, GLuint storageBlockBinding);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_SHADER_STORAGE_BUFFER_OBJECT\n#define glShaderStorageBlockBinding         rglShaderStorageBlockBinding\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_SHADER_STORAGE_BUFFER_OBJECT\nREGAL_DECL void REGAL_CALL glShaderStorageBlockBinding(GLuint program, GLuint storageBlockIndex, GLuint storageBlockBinding);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_SHADER_STORAGE_BUFFER_OBJECT\nREGAL_DECL void REGAL_CALL plugin_glShaderStorageBlockBinding(GLuint program, GLuint storageBlockIndex, GLuint storageBlockBinding);\n#endif\n\n/**\n ** GL_ARB_shader_subroutine\n **/\n\n#if (defined(GL_ARB_SHADER_SUBROUTINE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_SHADER_SUBROUTINE)) && !defined(REGAL_NO_ENUM_GL_ARB_SHADER_SUBROUTINE)\n#define REGAL_NO_ENUM_GL_ARB_SHADER_SUBROUTINE\n#endif\n\n#if (defined(GL_ARB_SHADER_SUBROUTINE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_SHADER_SUBROUTINE)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_SHADER_SUBROUTINE)\n#define REGAL_NO_TYPEDEF_GL_ARB_SHADER_SUBROUTINE\n#endif\n\n#if (defined(GL_ARB_SHADER_SUBROUTINE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_SHADER_SUBROUTINE)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_SHADER_SUBROUTINE)\n#define REGAL_NO_NAMESPACE_GL_ARB_SHADER_SUBROUTINE\n#endif\n\n#if (defined(GL_ARB_SHADER_SUBROUTINE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_SHADER_SUBROUTINE)) && !defined(REGAL_NO_PLUGIN_GL_ARB_SHADER_SUBROUTINE)\n#define REGAL_NO_PLUGIN_GL_ARB_SHADER_SUBROUTINE\n#endif\n\n#if (defined(GL_ARB_SHADER_SUBROUTINE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_SHADER_SUBROUTINE)) && !defined(REGAL_NO_DECLARATION_GL_ARB_SHADER_SUBROUTINE)\n#define REGAL_NO_DECLARATION_GL_ARB_SHADER_SUBROUTINE\n#endif\n\n#ifndef GL_ARB_shader_subroutine\n#define GL_ARB_shader_subroutine 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_SHADER_SUBROUTINE\n#define GL_ACTIVE_SUBROUTINES                   0x8de5     /* 36325 */\n#define GL_ACTIVE_SUBROUTINE_UNIFORMS           0x8de6     /* 36326 */\n#define GL_MAX_SUBROUTINES                      0x8de7     /* 36327 */\n#define GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS     0x8de8     /* 36328 */\n#define GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS  0x8e47     /* 36423 */\n#define GL_ACTIVE_SUBROUTINE_MAX_LENGTH         0x8e48     /* 36424 */\n#define GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH 0x8e49     /* 36425 */\n#define GL_NUM_COMPATIBLE_SUBROUTINES           0x8e4a     /* 36426 */\n#define GL_COMPATIBLE_SUBROUTINES               0x8e4b     /* 36427 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_SHADER_SUBROUTINE\ntypedef GLint (REGAL_CALL *PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC)(GLuint program, GLenum shaderType, const GLchar *name);\ntypedef GLuint (REGAL_CALL *PFNGLGETSUBROUTINEINDEXPROC)(GLuint program, GLenum shaderType, const GLchar *name);\ntypedef void (REGAL_CALL *PFNGLGETACTIVESUBROUTINENAMEPROC)(GLuint program, GLenum shaderType, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name);\ntypedef void (REGAL_CALL *PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC)(GLuint program, GLenum shaderType, GLuint index, GLenum pname, GLint *values);\ntypedef void (REGAL_CALL *PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC)(GLuint program, GLenum shaderType, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name);\ntypedef void (REGAL_CALL *PFNGLGETPROGRAMSTAGEIVPROC)(GLuint program, GLenum shaderType, GLenum pname, GLint *values);\ntypedef void (REGAL_CALL *PFNGLGETPROGRAMSUBROUTINEPARAMETERUIVNVPROC)(GLenum target, GLuint index, GLuint *params);\ntypedef void (REGAL_CALL *PFNGLGETUNIFORMSUBROUTINEUIVPROC)(GLenum shaderType, GLint location, GLuint *params);\ntypedef void (REGAL_CALL *PFNGLPROGRAMSUBROUTINEPARAMETERSUIVNVPROC)(GLenum target, GLsizei count, const GLuint *params);\ntypedef void (REGAL_CALL *PFNGLUNIFORMSUBROUTINESUIVPROC)(GLenum shaderType, GLsizei count, const GLuint *indices);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_SHADER_SUBROUTINE\n#define glGetActiveSubroutineName           rglGetActiveSubroutineName\n#define glGetActiveSubroutineUniformName    rglGetActiveSubroutineUniformName\n#define glGetActiveSubroutineUniformiv      rglGetActiveSubroutineUniformiv\n#define glGetProgramStageiv                 rglGetProgramStageiv\n#define glGetProgramSubroutineParameteruivNV rglGetProgramSubroutineParameteruivNV\n#define glGetSubroutineIndex                rglGetSubroutineIndex\n#define glGetSubroutineUniformLocation      rglGetSubroutineUniformLocation\n#define glGetUniformSubroutineuiv           rglGetUniformSubroutineuiv\n#define glProgramSubroutineParametersuivNV  rglProgramSubroutineParametersuivNV\n#define glUniformSubroutinesuiv             rglUniformSubroutinesuiv\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_SHADER_SUBROUTINE\nREGAL_DECL GLint REGAL_CALL glGetSubroutineUniformLocation(GLuint program, GLenum shaderType, const GLchar *name);\nREGAL_DECL GLuint REGAL_CALL glGetSubroutineIndex(GLuint program, GLenum shaderType, const GLchar *name);\nREGAL_DECL void REGAL_CALL glGetActiveSubroutineName(GLuint program, GLenum shaderType, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name);\nREGAL_DECL void REGAL_CALL glGetActiveSubroutineUniformName(GLuint program, GLenum shaderType, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name);\nREGAL_DECL void REGAL_CALL glGetActiveSubroutineUniformiv(GLuint program, GLenum shaderType, GLuint index, GLenum pname, GLint *values);\nREGAL_DECL void REGAL_CALL glGetProgramStageiv(GLuint program, GLenum shaderType, GLenum pname, GLint *values);\nREGAL_DECL void REGAL_CALL glGetProgramSubroutineParameteruivNV(GLenum target, GLuint index, GLuint *params);\nREGAL_DECL void REGAL_CALL glGetUniformSubroutineuiv(GLenum shaderType, GLint location, GLuint *params);\nREGAL_DECL void REGAL_CALL glProgramSubroutineParametersuivNV(GLenum target, GLsizei count, const GLuint *params);\nREGAL_DECL void REGAL_CALL glUniformSubroutinesuiv(GLenum shaderType, GLsizei count, const GLuint *indices);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_SHADER_SUBROUTINE\nREGAL_DECL GLint REGAL_CALL plugin_glGetSubroutineUniformLocation(GLuint program, GLenum shaderType, const GLchar *name);\nREGAL_DECL GLuint REGAL_CALL plugin_glGetSubroutineIndex(GLuint program, GLenum shaderType, const GLchar *name);\nREGAL_DECL void REGAL_CALL plugin_glGetActiveSubroutineName(GLuint program, GLenum shaderType, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name);\nREGAL_DECL void REGAL_CALL plugin_glGetActiveSubroutineUniformName(GLuint program, GLenum shaderType, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name);\nREGAL_DECL void REGAL_CALL plugin_glGetActiveSubroutineUniformiv(GLuint program, GLenum shaderType, GLuint index, GLenum pname, GLint *values);\nREGAL_DECL void REGAL_CALL plugin_glGetProgramStageiv(GLuint program, GLenum shaderType, GLenum pname, GLint *values);\nREGAL_DECL void REGAL_CALL plugin_glGetProgramSubroutineParameteruivNV(GLenum target, GLuint index, GLuint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetUniformSubroutineuiv(GLenum shaderType, GLint location, GLuint *params);\nREGAL_DECL void REGAL_CALL plugin_glProgramSubroutineParametersuivNV(GLenum target, GLsizei count, const GLuint *params);\nREGAL_DECL void REGAL_CALL plugin_glUniformSubroutinesuiv(GLenum shaderType, GLsizei count, const GLuint *indices);\n#endif\n\n/**\n ** GL_ARB_shading_language_100\n **/\n\n#if (defined(GL_ARB_SHADING_LANGUAGE_100) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_SHADING_LANGUAGE_100)) && !defined(REGAL_NO_ENUM_GL_ARB_SHADING_LANGUAGE_100)\n#define REGAL_NO_ENUM_GL_ARB_SHADING_LANGUAGE_100\n#endif\n\n#if (defined(GL_ARB_SHADING_LANGUAGE_100) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_SHADING_LANGUAGE_100)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_SHADING_LANGUAGE_100)\n#define REGAL_NO_TYPEDEF_GL_ARB_SHADING_LANGUAGE_100\n#endif\n\n#if (defined(GL_ARB_SHADING_LANGUAGE_100) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_SHADING_LANGUAGE_100)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_SHADING_LANGUAGE_100)\n#define REGAL_NO_NAMESPACE_GL_ARB_SHADING_LANGUAGE_100\n#endif\n\n#if (defined(GL_ARB_SHADING_LANGUAGE_100) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_SHADING_LANGUAGE_100)) && !defined(REGAL_NO_PLUGIN_GL_ARB_SHADING_LANGUAGE_100)\n#define REGAL_NO_PLUGIN_GL_ARB_SHADING_LANGUAGE_100\n#endif\n\n#if (defined(GL_ARB_SHADING_LANGUAGE_100) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_SHADING_LANGUAGE_100)) && !defined(REGAL_NO_DECLARATION_GL_ARB_SHADING_LANGUAGE_100)\n#define REGAL_NO_DECLARATION_GL_ARB_SHADING_LANGUAGE_100\n#endif\n\n#ifndef GL_ARB_shading_language_100\n#define GL_ARB_shading_language_100 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_SHADING_LANGUAGE_100\n#define GL_SHADING_LANGUAGE_VERSION_ARB 0x8b8c /* 35724 */\n#endif\n\n/**\n ** GL_ARB_shading_language_include\n **/\n\n#if (defined(GL_ARB_SHADING_LANGUAGE_INCLUDE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_SHADING_LANGUAGE_INCLUDE)) && !defined(REGAL_NO_ENUM_GL_ARB_SHADING_LANGUAGE_INCLUDE)\n#define REGAL_NO_ENUM_GL_ARB_SHADING_LANGUAGE_INCLUDE\n#endif\n\n#if (defined(GL_ARB_SHADING_LANGUAGE_INCLUDE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_SHADING_LANGUAGE_INCLUDE)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_SHADING_LANGUAGE_INCLUDE)\n#define REGAL_NO_TYPEDEF_GL_ARB_SHADING_LANGUAGE_INCLUDE\n#endif\n\n#if (defined(GL_ARB_SHADING_LANGUAGE_INCLUDE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_SHADING_LANGUAGE_INCLUDE)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_SHADING_LANGUAGE_INCLUDE)\n#define REGAL_NO_NAMESPACE_GL_ARB_SHADING_LANGUAGE_INCLUDE\n#endif\n\n#if (defined(GL_ARB_SHADING_LANGUAGE_INCLUDE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_SHADING_LANGUAGE_INCLUDE)) && !defined(REGAL_NO_PLUGIN_GL_ARB_SHADING_LANGUAGE_INCLUDE)\n#define REGAL_NO_PLUGIN_GL_ARB_SHADING_LANGUAGE_INCLUDE\n#endif\n\n#if (defined(GL_ARB_SHADING_LANGUAGE_INCLUDE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_SHADING_LANGUAGE_INCLUDE)) && !defined(REGAL_NO_DECLARATION_GL_ARB_SHADING_LANGUAGE_INCLUDE)\n#define REGAL_NO_DECLARATION_GL_ARB_SHADING_LANGUAGE_INCLUDE\n#endif\n\n#ifndef GL_ARB_shading_language_include\n#define GL_ARB_shading_language_include 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_SHADING_LANGUAGE_INCLUDE\n#define GL_SHADER_INCLUDE_ARB      0x8dae     /* 36270 */\n#define GL_NAMED_STRING_LENGTH_ARB 0x8de9     /* 36329 */\n#define GL_NAMED_STRING_TYPE_ARB   0x8dea     /* 36330 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_SHADING_LANGUAGE_INCLUDE\ntypedef GLboolean (REGAL_CALL *PFNGLISNAMEDSTRINGARBPROC)(GLint namelen, const GLchar *name);\ntypedef void (REGAL_CALL *PFNGLCOMPILESHADERINCLUDEARBPROC)(GLuint shader, GLsizei count, const GLchar **path, const GLint *length);\ntypedef void (REGAL_CALL *PFNGLDELETENAMEDSTRINGARBPROC)(GLint namelen, const GLchar *name);\ntypedef void (REGAL_CALL *PFNGLGETNAMEDSTRINGARBPROC)(GLint namelen, const GLchar *name, GLsizei bufSize, GLint *stringlen, GLchar *string);\ntypedef void (REGAL_CALL *PFNGLGETNAMEDSTRINGIVARBPROC)(GLint namelen, const GLchar *name, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLNAMEDSTRINGARBPROC)(GLenum type, GLint namelen, const GLchar *name, GLint stringlen, const GLchar *string);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_SHADING_LANGUAGE_INCLUDE\n#define glCompileShaderIncludeARB           rglCompileShaderIncludeARB\n#define glDeleteNamedStringARB              rglDeleteNamedStringARB\n#define glGetNamedStringARB                 rglGetNamedStringARB\n#define glGetNamedStringivARB               rglGetNamedStringivARB\n#define glIsNamedStringARB                  rglIsNamedStringARB\n#define glNamedStringARB                    rglNamedStringARB\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_SHADING_LANGUAGE_INCLUDE\nREGAL_DECL GLboolean REGAL_CALL glIsNamedStringARB(GLint namelen, const GLchar *name);\nREGAL_DECL void REGAL_CALL glCompileShaderIncludeARB(GLuint shader, GLsizei count, const GLchar **path, const GLint *length);\nREGAL_DECL void REGAL_CALL glDeleteNamedStringARB(GLint namelen, const GLchar *name);\nREGAL_DECL void REGAL_CALL glGetNamedStringARB(GLint namelen, const GLchar *name, GLsizei bufSize, GLint *stringlen, GLchar *string);\nREGAL_DECL void REGAL_CALL glGetNamedStringivARB(GLint namelen, const GLchar *name, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glNamedStringARB(GLenum type, GLint namelen, const GLchar *name, GLint stringlen, const GLchar *string);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_SHADING_LANGUAGE_INCLUDE\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsNamedStringARB(GLint namelen, const GLchar *name);\nREGAL_DECL void REGAL_CALL plugin_glCompileShaderIncludeARB(GLuint shader, GLsizei count, const GLchar **path, const GLint *length);\nREGAL_DECL void REGAL_CALL plugin_glDeleteNamedStringARB(GLint namelen, const GLchar *name);\nREGAL_DECL void REGAL_CALL plugin_glGetNamedStringARB(GLint namelen, const GLchar *name, GLsizei bufSize, GLint *stringlen, GLchar *string);\nREGAL_DECL void REGAL_CALL plugin_glGetNamedStringivARB(GLint namelen, const GLchar *name, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glNamedStringARB(GLenum type, GLint namelen, const GLchar *name, GLint stringlen, const GLchar *string);\n#endif\n\n/**\n ** GL_ARB_shadow\n **/\n\n#if (defined(GL_ARB_SHADOW) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_SHADOW)) && !defined(REGAL_NO_ENUM_GL_ARB_SHADOW)\n#define REGAL_NO_ENUM_GL_ARB_SHADOW\n#endif\n\n#if (defined(GL_ARB_SHADOW) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_SHADOW)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_SHADOW)\n#define REGAL_NO_TYPEDEF_GL_ARB_SHADOW\n#endif\n\n#if (defined(GL_ARB_SHADOW) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_SHADOW)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_SHADOW)\n#define REGAL_NO_NAMESPACE_GL_ARB_SHADOW\n#endif\n\n#if (defined(GL_ARB_SHADOW) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_SHADOW)) && !defined(REGAL_NO_PLUGIN_GL_ARB_SHADOW)\n#define REGAL_NO_PLUGIN_GL_ARB_SHADOW\n#endif\n\n#if (defined(GL_ARB_SHADOW) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_SHADOW)) && !defined(REGAL_NO_DECLARATION_GL_ARB_SHADOW)\n#define REGAL_NO_DECLARATION_GL_ARB_SHADOW\n#endif\n\n#ifndef GL_ARB_shadow\n#define GL_ARB_shadow 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_SHADOW\n#define GL_TEXTURE_COMPARE_MODE_ARB 0x884c     /* 34892 */\n#define GL_TEXTURE_COMPARE_FUNC_ARB 0x884d     /* 34893 */\n#define GL_COMPARE_R_TO_TEXTURE_ARB 0x884e     /* 34894 */\n#endif\n\n/**\n ** GL_ARB_shadow_ambient\n **/\n\n#if (defined(GL_ARB_SHADOW_AMBIENT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_SHADOW_AMBIENT)) && !defined(REGAL_NO_ENUM_GL_ARB_SHADOW_AMBIENT)\n#define REGAL_NO_ENUM_GL_ARB_SHADOW_AMBIENT\n#endif\n\n#if (defined(GL_ARB_SHADOW_AMBIENT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_SHADOW_AMBIENT)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_SHADOW_AMBIENT)\n#define REGAL_NO_TYPEDEF_GL_ARB_SHADOW_AMBIENT\n#endif\n\n#if (defined(GL_ARB_SHADOW_AMBIENT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_SHADOW_AMBIENT)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_SHADOW_AMBIENT)\n#define REGAL_NO_NAMESPACE_GL_ARB_SHADOW_AMBIENT\n#endif\n\n#if (defined(GL_ARB_SHADOW_AMBIENT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_SHADOW_AMBIENT)) && !defined(REGAL_NO_PLUGIN_GL_ARB_SHADOW_AMBIENT)\n#define REGAL_NO_PLUGIN_GL_ARB_SHADOW_AMBIENT\n#endif\n\n#if (defined(GL_ARB_SHADOW_AMBIENT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_SHADOW_AMBIENT)) && !defined(REGAL_NO_DECLARATION_GL_ARB_SHADOW_AMBIENT)\n#define REGAL_NO_DECLARATION_GL_ARB_SHADOW_AMBIENT\n#endif\n\n#ifndef GL_ARB_shadow_ambient\n#define GL_ARB_shadow_ambient 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_SHADOW_AMBIENT\n#define GL_TEXTURE_COMPARE_FAIL_VALUE_ARB 0x80bf /* 32959 */\n#endif\n\n/**\n ** GL_ARB_sparse_texture\n **/\n\n#if (defined(GL_ARB_SPARSE_TEXTURE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_SPARSE_TEXTURE)) && !defined(REGAL_NO_ENUM_GL_ARB_SPARSE_TEXTURE)\n#define REGAL_NO_ENUM_GL_ARB_SPARSE_TEXTURE\n#endif\n\n#if (defined(GL_ARB_SPARSE_TEXTURE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_SPARSE_TEXTURE)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_SPARSE_TEXTURE)\n#define REGAL_NO_TYPEDEF_GL_ARB_SPARSE_TEXTURE\n#endif\n\n#if (defined(GL_ARB_SPARSE_TEXTURE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_SPARSE_TEXTURE)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_SPARSE_TEXTURE)\n#define REGAL_NO_NAMESPACE_GL_ARB_SPARSE_TEXTURE\n#endif\n\n#if (defined(GL_ARB_SPARSE_TEXTURE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_SPARSE_TEXTURE)) && !defined(REGAL_NO_PLUGIN_GL_ARB_SPARSE_TEXTURE)\n#define REGAL_NO_PLUGIN_GL_ARB_SPARSE_TEXTURE\n#endif\n\n#if (defined(GL_ARB_SPARSE_TEXTURE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_SPARSE_TEXTURE)) && !defined(REGAL_NO_DECLARATION_GL_ARB_SPARSE_TEXTURE)\n#define REGAL_NO_DECLARATION_GL_ARB_SPARSE_TEXTURE\n#endif\n\n#ifndef GL_ARB_sparse_texture\n#define GL_ARB_sparse_texture 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_SPARSE_TEXTURE\n#define GL_VIRTUAL_PAGE_SIZE_X_ARB                    0x9195     /* 37269 */\n#define GL_VIRTUAL_PAGE_SIZE_Y_ARB                    0x9196     /* 37270 */\n#define GL_VIRTUAL_PAGE_SIZE_Z_ARB                    0x9197     /* 37271 */\n#define GL_MAX_SPARSE_TEXTURE_SIZE_ARB                0x9198     /* 37272 */\n#define GL_MAX_SPARSE_3D_TEXTURE_SIZE_ARB             0x9199     /* 37273 */\n#define GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS_ARB        0x919a     /* 37274 */\n#define GL_TEXTURE_SPARSE_ARB                         0x91a6     /* 37286 */\n#define GL_VIRTUAL_PAGE_SIZE_INDEX_ARB                0x91a7     /* 37287 */\n#define GL_NUM_VIRTUAL_PAGE_SIZES_ARB                 0x91a8     /* 37288 */\n#define GL_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_ARB 0x91a9     /* 37289 */\n#define GL_NUM_SPARSE_LEVELS_ARB                      0x91aa     /* 37290 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_SPARSE_TEXTURE\ntypedef void (REGAL_CALL *PFNGLTEXPAGECOMMITMENTARBPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean commit);\ntypedef void (REGAL_CALL *PFNGLTEXTUREPAGECOMMITMENTEXTPROC)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean commit);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_SPARSE_TEXTURE\n#define glTexPageCommitmentARB              rglTexPageCommitmentARB\n#define glTexturePageCommitmentEXT          rglTexturePageCommitmentEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_SPARSE_TEXTURE\nREGAL_DECL void REGAL_CALL glTexPageCommitmentARB(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean commit);\nREGAL_DECL void REGAL_CALL glTexturePageCommitmentEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean commit);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_SPARSE_TEXTURE\nREGAL_DECL void REGAL_CALL plugin_glTexPageCommitmentARB(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean commit);\nREGAL_DECL void REGAL_CALL plugin_glTexturePageCommitmentEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean commit);\n#endif\n\n/**\n ** GL_ARB_stencil_texturing\n **/\n\n#if (defined(GL_ARB_STENCIL_TEXTURING) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_STENCIL_TEXTURING)) && !defined(REGAL_NO_ENUM_GL_ARB_STENCIL_TEXTURING)\n#define REGAL_NO_ENUM_GL_ARB_STENCIL_TEXTURING\n#endif\n\n#if (defined(GL_ARB_STENCIL_TEXTURING) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_STENCIL_TEXTURING)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_STENCIL_TEXTURING)\n#define REGAL_NO_TYPEDEF_GL_ARB_STENCIL_TEXTURING\n#endif\n\n#if (defined(GL_ARB_STENCIL_TEXTURING) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_STENCIL_TEXTURING)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_STENCIL_TEXTURING)\n#define REGAL_NO_NAMESPACE_GL_ARB_STENCIL_TEXTURING\n#endif\n\n#if (defined(GL_ARB_STENCIL_TEXTURING) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_STENCIL_TEXTURING)) && !defined(REGAL_NO_PLUGIN_GL_ARB_STENCIL_TEXTURING)\n#define REGAL_NO_PLUGIN_GL_ARB_STENCIL_TEXTURING\n#endif\n\n#if (defined(GL_ARB_STENCIL_TEXTURING) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_STENCIL_TEXTURING)) && !defined(REGAL_NO_DECLARATION_GL_ARB_STENCIL_TEXTURING)\n#define REGAL_NO_DECLARATION_GL_ARB_STENCIL_TEXTURING\n#endif\n\n#ifndef GL_ARB_stencil_texturing\n#define GL_ARB_stencil_texturing 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_STENCIL_TEXTURING\n#define GL_DEPTH_STENCIL_TEXTURE_MODE 0x90ea /* 37098 */\n#endif\n\n/**\n ** GL_ARB_sync\n **/\n\n#if (defined(GL_ARB_SYNC) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_SYNC)) && !defined(REGAL_NO_ENUM_GL_ARB_SYNC)\n#define REGAL_NO_ENUM_GL_ARB_SYNC\n#endif\n\n#if (defined(GL_ARB_SYNC) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_SYNC)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_SYNC)\n#define REGAL_NO_TYPEDEF_GL_ARB_SYNC\n#endif\n\n#if (defined(GL_ARB_SYNC) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_SYNC)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_SYNC)\n#define REGAL_NO_NAMESPACE_GL_ARB_SYNC\n#endif\n\n#if (defined(GL_ARB_SYNC) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_SYNC)) && !defined(REGAL_NO_PLUGIN_GL_ARB_SYNC)\n#define REGAL_NO_PLUGIN_GL_ARB_SYNC\n#endif\n\n#if (defined(GL_ARB_SYNC) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_SYNC)) && !defined(REGAL_NO_DECLARATION_GL_ARB_SYNC)\n#define REGAL_NO_DECLARATION_GL_ARB_SYNC\n#endif\n\n#ifndef GL_ARB_sync\n#define GL_ARB_sync 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_SYNC\n#define GL_SYNC_FLUSH_COMMANDS_BIT    0x1\n#define GL_MAX_SERVER_WAIT_TIMEOUT    0x9111                 /* 37137 */\n#define GL_OBJECT_TYPE                0x9112                 /* 37138 */\n#define GL_SYNC_CONDITION             0x9113                 /* 37139 */\n#define GL_SYNC_STATUS                0x9114                 /* 37140 */\n#define GL_SYNC_FLAGS                 0x9115                 /* 37141 */\n#define GL_SYNC_FENCE                 0x9116                 /* 37142 */\n#define GL_SYNC_GPU_COMMANDS_COMPLETE 0x9117                 /* 37143 */\n#define GL_UNSIGNALED                 0x9118                 /* 37144 */\n#define GL_SIGNALED                   0x9119                 /* 37145 */\n#define GL_ALREADY_SIGNALED           0x911a                 /* 37146 */\n#define GL_TIMEOUT_EXPIRED            0x911b                 /* 37147 */\n#define GL_CONDITION_SATISFIED        0x911c                 /* 37148 */\n#define GL_WAIT_FAILED                0x911d                 /* 37149 */\n#define GL_TIMEOUT_IGNORED            0xffffffffffffffff     /* 18446744073709551615 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_SYNC\ntypedef GLboolean (REGAL_CALL *PFNGLISSYNCPROC)(GLsync sync);\ntypedef GLenum (REGAL_CALL *PFNGLCLIENTWAITSYNCPROC)(GLsync sync, GLbitfield flags, GLuint64 timeout);\ntypedef GLsync (REGAL_CALL *PFNGLFENCESYNCPROC)(GLenum condition, GLbitfield flags);\ntypedef void (REGAL_CALL *PFNGLDELETESYNCPROC)(GLsync sync);\ntypedef void (REGAL_CALL *PFNGLGETINTEGER64VPROC)(GLenum pname, GLint64 *params);\ntypedef void (REGAL_CALL *PFNGLGETSYNCIVPROC)(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);\ntypedef void (REGAL_CALL *PFNGLWAITSYNCPROC)(GLsync sync, GLbitfield flags, GLuint64 timeout);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_SYNC\n#define glClientWaitSync                    rglClientWaitSync\n#define glDeleteSync                        rglDeleteSync\n#define glFenceSync                         rglFenceSync\n#define glGetInteger64v                     rglGetInteger64v\n#define glGetSynciv                         rglGetSynciv\n#define glIsSync                            rglIsSync\n#define glWaitSync                          rglWaitSync\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_SYNC\nREGAL_DECL GLboolean REGAL_CALL glIsSync(GLsync sync);\nREGAL_DECL GLenum REGAL_CALL glClientWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout);\nREGAL_DECL GLsync REGAL_CALL glFenceSync(GLenum condition, GLbitfield flags);\nREGAL_DECL void REGAL_CALL glDeleteSync(GLsync sync);\nREGAL_DECL void REGAL_CALL glGetInteger64v(GLenum pname, GLint64 *params);\nREGAL_DECL void REGAL_CALL glGetSynciv(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);\nREGAL_DECL void REGAL_CALL glWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_SYNC\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsSync(GLsync sync);\nREGAL_DECL GLenum REGAL_CALL plugin_glClientWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout);\nREGAL_DECL GLsync REGAL_CALL plugin_glFenceSync(GLenum condition, GLbitfield flags);\nREGAL_DECL void REGAL_CALL plugin_glDeleteSync(GLsync sync);\nREGAL_DECL void REGAL_CALL plugin_glGetInteger64v(GLenum pname, GLint64 *params);\nREGAL_DECL void REGAL_CALL plugin_glGetSynciv(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);\nREGAL_DECL void REGAL_CALL plugin_glWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout);\n#endif\n\n/**\n ** GL_ARB_tessellation_shader\n **/\n\n#if (defined(GL_ARB_TESSELLATION_SHADER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_TESSELLATION_SHADER)) && !defined(REGAL_NO_ENUM_GL_ARB_TESSELLATION_SHADER)\n#define REGAL_NO_ENUM_GL_ARB_TESSELLATION_SHADER\n#endif\n\n#if (defined(GL_ARB_TESSELLATION_SHADER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_TESSELLATION_SHADER)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_TESSELLATION_SHADER)\n#define REGAL_NO_TYPEDEF_GL_ARB_TESSELLATION_SHADER\n#endif\n\n#if (defined(GL_ARB_TESSELLATION_SHADER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_TESSELLATION_SHADER)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_TESSELLATION_SHADER)\n#define REGAL_NO_NAMESPACE_GL_ARB_TESSELLATION_SHADER\n#endif\n\n#if (defined(GL_ARB_TESSELLATION_SHADER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_TESSELLATION_SHADER)) && !defined(REGAL_NO_PLUGIN_GL_ARB_TESSELLATION_SHADER)\n#define REGAL_NO_PLUGIN_GL_ARB_TESSELLATION_SHADER\n#endif\n\n#if (defined(GL_ARB_TESSELLATION_SHADER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_TESSELLATION_SHADER)) && !defined(REGAL_NO_DECLARATION_GL_ARB_TESSELLATION_SHADER)\n#define REGAL_NO_DECLARATION_GL_ARB_TESSELLATION_SHADER\n#endif\n\n#ifndef GL_ARB_tessellation_shader\n#define GL_ARB_tessellation_shader 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_TESSELLATION_SHADER\n#define GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER    0x84f0     /* 34032 */\n#define GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER 0x84f1     /* 34033 */\n#define GL_MAX_TESS_CONTROL_INPUT_COMPONENTS                  0x886c     /* 34924 */\n#define GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS               0x886d     /* 34925 */\n#define GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS       0x8e1e     /* 36382 */\n#define GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS    0x8e1f     /* 36383 */\n#define GL_PATCH_VERTICES                                     0x8e72     /* 36466 */\n#define GL_PATCH_DEFAULT_INNER_LEVEL                          0x8e73     /* 36467 */\n#define GL_PATCH_DEFAULT_OUTER_LEVEL                          0x8e74     /* 36468 */\n#define GL_TESS_CONTROL_OUTPUT_VERTICES                       0x8e75     /* 36469 */\n#define GL_TESS_GEN_MODE                                      0x8e76     /* 36470 */\n#define GL_TESS_GEN_SPACING                                   0x8e77     /* 36471 */\n#define GL_TESS_GEN_VERTEX_ORDER                              0x8e78     /* 36472 */\n#define GL_TESS_GEN_POINT_MODE                                0x8e79     /* 36473 */\n#define GL_ISOLINES                                           0x8e7a     /* 36474 */\n#define GL_FRACTIONAL_ODD                                     0x8e7b     /* 36475 */\n#define GL_FRACTIONAL_EVEN                                    0x8e7c     /* 36476 */\n#define GL_MAX_PATCH_VERTICES                                 0x8e7d     /* 36477 */\n#define GL_MAX_TESS_GEN_LEVEL                                 0x8e7e     /* 36478 */\n#define GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS                0x8e7f     /* 36479 */\n#define GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS             0x8e80     /* 36480 */\n#define GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS               0x8e81     /* 36481 */\n#define GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS            0x8e82     /* 36482 */\n#define GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS                 0x8e83     /* 36483 */\n#define GL_MAX_TESS_PATCH_COMPONENTS                          0x8e84     /* 36484 */\n#define GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS           0x8e85     /* 36485 */\n#define GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS              0x8e86     /* 36486 */\n#define GL_TESS_EVALUATION_SHADER                             0x8e87     /* 36487 */\n#define GL_TESS_CONTROL_SHADER                                0x8e88     /* 36488 */\n#define GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS                    0x8e89     /* 36489 */\n#define GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS                 0x8e8a     /* 36490 */\n#define GL_PATCHES                                            0xe        /* 14 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_TESSELLATION_SHADER\ntypedef void (REGAL_CALL *PFNGLPATCHPARAMETERFVPROC)(GLenum pname, const GLfloat *values);\ntypedef void (REGAL_CALL *PFNGLPATCHPARAMETERIPROC)(GLenum pname, GLint value);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_TESSELLATION_SHADER\n#define glPatchParameterfv                  rglPatchParameterfv\n#define glPatchParameteri                   rglPatchParameteri\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_TESSELLATION_SHADER\nREGAL_DECL void REGAL_CALL glPatchParameterfv(GLenum pname, const GLfloat *values);\nREGAL_DECL void REGAL_CALL glPatchParameteri(GLenum pname, GLint value);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_TESSELLATION_SHADER\nREGAL_DECL void REGAL_CALL plugin_glPatchParameterfv(GLenum pname, const GLfloat *values);\nREGAL_DECL void REGAL_CALL plugin_glPatchParameteri(GLenum pname, GLint value);\n#endif\n\n/**\n ** GL_ARB_texture_border_clamp\n **/\n\n#if (defined(GL_ARB_TEXTURE_BORDER_CLAMP) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_TEXTURE_BORDER_CLAMP)) && !defined(REGAL_NO_ENUM_GL_ARB_TEXTURE_BORDER_CLAMP)\n#define REGAL_NO_ENUM_GL_ARB_TEXTURE_BORDER_CLAMP\n#endif\n\n#if (defined(GL_ARB_TEXTURE_BORDER_CLAMP) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_TEXTURE_BORDER_CLAMP)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_BORDER_CLAMP)\n#define REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_BORDER_CLAMP\n#endif\n\n#if (defined(GL_ARB_TEXTURE_BORDER_CLAMP) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_TEXTURE_BORDER_CLAMP)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_BORDER_CLAMP)\n#define REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_BORDER_CLAMP\n#endif\n\n#if (defined(GL_ARB_TEXTURE_BORDER_CLAMP) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_TEXTURE_BORDER_CLAMP)) && !defined(REGAL_NO_PLUGIN_GL_ARB_TEXTURE_BORDER_CLAMP)\n#define REGAL_NO_PLUGIN_GL_ARB_TEXTURE_BORDER_CLAMP\n#endif\n\n#if (defined(GL_ARB_TEXTURE_BORDER_CLAMP) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_TEXTURE_BORDER_CLAMP)) && !defined(REGAL_NO_DECLARATION_GL_ARB_TEXTURE_BORDER_CLAMP)\n#define REGAL_NO_DECLARATION_GL_ARB_TEXTURE_BORDER_CLAMP\n#endif\n\n#ifndef GL_ARB_texture_border_clamp\n#define GL_ARB_texture_border_clamp 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_TEXTURE_BORDER_CLAMP\n#define GL_CLAMP_TO_BORDER_ARB 0x812d /* 33069 */\n#endif\n\n/**\n ** GL_ARB_texture_buffer_object\n **/\n\n#if (defined(GL_ARB_TEXTURE_BUFFER_OBJECT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_TEXTURE_BUFFER_OBJECT)) && !defined(REGAL_NO_ENUM_GL_ARB_TEXTURE_BUFFER_OBJECT)\n#define REGAL_NO_ENUM_GL_ARB_TEXTURE_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_ARB_TEXTURE_BUFFER_OBJECT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_TEXTURE_BUFFER_OBJECT)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_BUFFER_OBJECT)\n#define REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_ARB_TEXTURE_BUFFER_OBJECT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_TEXTURE_BUFFER_OBJECT)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_BUFFER_OBJECT)\n#define REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_ARB_TEXTURE_BUFFER_OBJECT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_TEXTURE_BUFFER_OBJECT)) && !defined(REGAL_NO_PLUGIN_GL_ARB_TEXTURE_BUFFER_OBJECT)\n#define REGAL_NO_PLUGIN_GL_ARB_TEXTURE_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_ARB_TEXTURE_BUFFER_OBJECT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_TEXTURE_BUFFER_OBJECT)) && !defined(REGAL_NO_DECLARATION_GL_ARB_TEXTURE_BUFFER_OBJECT)\n#define REGAL_NO_DECLARATION_GL_ARB_TEXTURE_BUFFER_OBJECT\n#endif\n\n#ifndef GL_ARB_texture_buffer_object\n#define GL_ARB_texture_buffer_object 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_TEXTURE_BUFFER_OBJECT\n#define GL_TEXTURE_BUFFER_ARB                    0x8c2a     /* 35882 */\n#define GL_MAX_TEXTURE_BUFFER_SIZE_ARB           0x8c2b     /* 35883 */\n#define GL_TEXTURE_BINDING_BUFFER_ARB            0x8c2c     /* 35884 */\n#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING_ARB 0x8c2d     /* 35885 */\n#define GL_TEXTURE_BUFFER_FORMAT_ARB             0x8c2e     /* 35886 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_BUFFER_OBJECT\ntypedef void (REGAL_CALL *PFNGLTEXBUFFERARBPROC)(GLenum target, GLenum internalformat, GLuint buffer);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_BUFFER_OBJECT\n#define glTexBufferARB                      rglTexBufferARB\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_TEXTURE_BUFFER_OBJECT\nREGAL_DECL void REGAL_CALL glTexBufferARB(GLenum target, GLenum internalformat, GLuint buffer);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_TEXTURE_BUFFER_OBJECT\nREGAL_DECL void REGAL_CALL plugin_glTexBufferARB(GLenum target, GLenum internalformat, GLuint buffer);\n#endif\n\n/**\n ** GL_ARB_texture_buffer_range\n **/\n\n#if (defined(GL_ARB_TEXTURE_BUFFER_RANGE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_TEXTURE_BUFFER_RANGE)) && !defined(REGAL_NO_ENUM_GL_ARB_TEXTURE_BUFFER_RANGE)\n#define REGAL_NO_ENUM_GL_ARB_TEXTURE_BUFFER_RANGE\n#endif\n\n#if (defined(GL_ARB_TEXTURE_BUFFER_RANGE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_TEXTURE_BUFFER_RANGE)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_BUFFER_RANGE)\n#define REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_BUFFER_RANGE\n#endif\n\n#if (defined(GL_ARB_TEXTURE_BUFFER_RANGE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_TEXTURE_BUFFER_RANGE)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_BUFFER_RANGE)\n#define REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_BUFFER_RANGE\n#endif\n\n#if (defined(GL_ARB_TEXTURE_BUFFER_RANGE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_TEXTURE_BUFFER_RANGE)) && !defined(REGAL_NO_PLUGIN_GL_ARB_TEXTURE_BUFFER_RANGE)\n#define REGAL_NO_PLUGIN_GL_ARB_TEXTURE_BUFFER_RANGE\n#endif\n\n#if (defined(GL_ARB_TEXTURE_BUFFER_RANGE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_TEXTURE_BUFFER_RANGE)) && !defined(REGAL_NO_DECLARATION_GL_ARB_TEXTURE_BUFFER_RANGE)\n#define REGAL_NO_DECLARATION_GL_ARB_TEXTURE_BUFFER_RANGE\n#endif\n\n#ifndef GL_ARB_texture_buffer_range\n#define GL_ARB_texture_buffer_range 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_TEXTURE_BUFFER_RANGE\n#define GL_TEXTURE_BUFFER_OFFSET           0x919d     /* 37277 */\n#define GL_TEXTURE_BUFFER_SIZE             0x919e     /* 37278 */\n#define GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT 0x919f     /* 37279 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_BUFFER_RANGE\ntypedef void (REGAL_CALL *PFNGLTEXBUFFERRANGEPROC)(GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size);\ntypedef void (REGAL_CALL *PFNGLTEXTUREBUFFERRANGEEXTPROC)(GLuint texture, GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_BUFFER_RANGE\n#define glTexBufferRange                    rglTexBufferRange\n#define glTextureBufferRangeEXT             rglTextureBufferRangeEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_TEXTURE_BUFFER_RANGE\nREGAL_DECL void REGAL_CALL glTexBufferRange(GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size);\nREGAL_DECL void REGAL_CALL glTextureBufferRangeEXT(GLuint texture, GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_TEXTURE_BUFFER_RANGE\nREGAL_DECL void REGAL_CALL plugin_glTexBufferRange(GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size);\nREGAL_DECL void REGAL_CALL plugin_glTextureBufferRangeEXT(GLuint texture, GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size);\n#endif\n\n/**\n ** GL_ARB_texture_compression\n **/\n\n#if (defined(GL_ARB_TEXTURE_COMPRESSION) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_TEXTURE_COMPRESSION)) && !defined(REGAL_NO_ENUM_GL_ARB_TEXTURE_COMPRESSION)\n#define REGAL_NO_ENUM_GL_ARB_TEXTURE_COMPRESSION\n#endif\n\n#if (defined(GL_ARB_TEXTURE_COMPRESSION) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_TEXTURE_COMPRESSION)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_COMPRESSION)\n#define REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_COMPRESSION\n#endif\n\n#if (defined(GL_ARB_TEXTURE_COMPRESSION) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_TEXTURE_COMPRESSION)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_COMPRESSION)\n#define REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_COMPRESSION\n#endif\n\n#if (defined(GL_ARB_TEXTURE_COMPRESSION) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_TEXTURE_COMPRESSION)) && !defined(REGAL_NO_PLUGIN_GL_ARB_TEXTURE_COMPRESSION)\n#define REGAL_NO_PLUGIN_GL_ARB_TEXTURE_COMPRESSION\n#endif\n\n#if (defined(GL_ARB_TEXTURE_COMPRESSION) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_TEXTURE_COMPRESSION)) && !defined(REGAL_NO_DECLARATION_GL_ARB_TEXTURE_COMPRESSION)\n#define REGAL_NO_DECLARATION_GL_ARB_TEXTURE_COMPRESSION\n#endif\n\n#ifndef GL_ARB_texture_compression\n#define GL_ARB_texture_compression 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_TEXTURE_COMPRESSION\n#define GL_COMPRESSED_ALPHA_ARB               0x84e9     /* 34025 */\n#define GL_COMPRESSED_LUMINANCE_ARB           0x84ea     /* 34026 */\n#define GL_COMPRESSED_LUMINANCE_ALPHA_ARB     0x84eb     /* 34027 */\n#define GL_COMPRESSED_INTENSITY_ARB           0x84ec     /* 34028 */\n#define GL_COMPRESSED_RGB_ARB                 0x84ed     /* 34029 */\n#define GL_COMPRESSED_RGBA_ARB                0x84ee     /* 34030 */\n#define GL_TEXTURE_COMPRESSION_HINT_ARB       0x84ef     /* 34031 */\n#define GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB  0x86a0     /* 34464 */\n#define GL_TEXTURE_COMPRESSED_ARB             0x86a1     /* 34465 */\n#define GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB 0x86a2     /* 34466 */\n#define GL_COMPRESSED_TEXTURE_FORMATS_ARB     0x86a3     /* 34467 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_COMPRESSION\ntypedef void (REGAL_CALL *PFNGLCOMPRESSEDTEXIMAGE1DARBPROC)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data);\ntypedef void (REGAL_CALL *PFNGLCOMPRESSEDTEXIMAGE2DARBPROC)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data);\ntypedef void (REGAL_CALL *PFNGLCOMPRESSEDTEXIMAGE3DARBPROC)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data);\ntypedef void (REGAL_CALL *PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data);\ntypedef void (REGAL_CALL *PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data);\ntypedef void (REGAL_CALL *PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data);\ntypedef void (REGAL_CALL *PFNGLGETCOMPRESSEDTEXIMAGEARBPROC)(GLenum target, GLint lod, GLvoid *img);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_COMPRESSION\n#define glCompressedTexImage1DARB           rglCompressedTexImage1DARB\n#define glCompressedTexImage2DARB           rglCompressedTexImage2DARB\n#define glCompressedTexImage3DARB           rglCompressedTexImage3DARB\n#define glCompressedTexSubImage1DARB        rglCompressedTexSubImage1DARB\n#define glCompressedTexSubImage2DARB        rglCompressedTexSubImage2DARB\n#define glCompressedTexSubImage3DARB        rglCompressedTexSubImage3DARB\n#define glGetCompressedTexImageARB          rglGetCompressedTexImageARB\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_TEXTURE_COMPRESSION\nREGAL_DECL void REGAL_CALL glCompressedTexImage1DARB(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data);\nREGAL_DECL void REGAL_CALL glCompressedTexImage2DARB(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data);\nREGAL_DECL void REGAL_CALL glCompressedTexImage3DARB(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data);\nREGAL_DECL void REGAL_CALL glCompressedTexSubImage1DARB(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data);\nREGAL_DECL void REGAL_CALL glCompressedTexSubImage2DARB(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data);\nREGAL_DECL void REGAL_CALL glCompressedTexSubImage3DARB(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data);\nREGAL_DECL void REGAL_CALL glGetCompressedTexImageARB(GLenum target, GLint lod, GLvoid *img);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_TEXTURE_COMPRESSION\nREGAL_DECL void REGAL_CALL plugin_glCompressedTexImage1DARB(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data);\nREGAL_DECL void REGAL_CALL plugin_glCompressedTexImage2DARB(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data);\nREGAL_DECL void REGAL_CALL plugin_glCompressedTexImage3DARB(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data);\nREGAL_DECL void REGAL_CALL plugin_glCompressedTexSubImage1DARB(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data);\nREGAL_DECL void REGAL_CALL plugin_glCompressedTexSubImage2DARB(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data);\nREGAL_DECL void REGAL_CALL plugin_glCompressedTexSubImage3DARB(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data);\nREGAL_DECL void REGAL_CALL plugin_glGetCompressedTexImageARB(GLenum target, GLint lod, GLvoid *img);\n#endif\n\n/**\n ** GL_ARB_texture_compression_bptc\n **/\n\n#if (defined(GL_ARB_TEXTURE_COMPRESSION_BPTC) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_TEXTURE_COMPRESSION_BPTC)) && !defined(REGAL_NO_ENUM_GL_ARB_TEXTURE_COMPRESSION_BPTC)\n#define REGAL_NO_ENUM_GL_ARB_TEXTURE_COMPRESSION_BPTC\n#endif\n\n#if (defined(GL_ARB_TEXTURE_COMPRESSION_BPTC) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_TEXTURE_COMPRESSION_BPTC)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_COMPRESSION_BPTC)\n#define REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_COMPRESSION_BPTC\n#endif\n\n#if (defined(GL_ARB_TEXTURE_COMPRESSION_BPTC) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_TEXTURE_COMPRESSION_BPTC)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_COMPRESSION_BPTC)\n#define REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_COMPRESSION_BPTC\n#endif\n\n#if (defined(GL_ARB_TEXTURE_COMPRESSION_BPTC) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_TEXTURE_COMPRESSION_BPTC)) && !defined(REGAL_NO_PLUGIN_GL_ARB_TEXTURE_COMPRESSION_BPTC)\n#define REGAL_NO_PLUGIN_GL_ARB_TEXTURE_COMPRESSION_BPTC\n#endif\n\n#if (defined(GL_ARB_TEXTURE_COMPRESSION_BPTC) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_TEXTURE_COMPRESSION_BPTC)) && !defined(REGAL_NO_DECLARATION_GL_ARB_TEXTURE_COMPRESSION_BPTC)\n#define REGAL_NO_DECLARATION_GL_ARB_TEXTURE_COMPRESSION_BPTC\n#endif\n\n#ifndef GL_ARB_texture_compression_bptc\n#define GL_ARB_texture_compression_bptc 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_TEXTURE_COMPRESSION_BPTC\n#define GL_COMPRESSED_RGBA_BPTC_UNORM_ARB         0x8e8c     /* 36492 */\n#define GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB   0x8e8d     /* 36493 */\n#define GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB   0x8e8e     /* 36494 */\n#define GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB 0x8e8f     /* 36495 */\n#endif\n\n/**\n ** GL_ARB_texture_compression_rgtc\n **/\n\n#if (defined(GL_ARB_TEXTURE_COMPRESSION_RGTC) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_TEXTURE_COMPRESSION_RGTC)) && !defined(REGAL_NO_ENUM_GL_ARB_TEXTURE_COMPRESSION_RGTC)\n#define REGAL_NO_ENUM_GL_ARB_TEXTURE_COMPRESSION_RGTC\n#endif\n\n#if (defined(GL_ARB_TEXTURE_COMPRESSION_RGTC) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_TEXTURE_COMPRESSION_RGTC)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_COMPRESSION_RGTC)\n#define REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_COMPRESSION_RGTC\n#endif\n\n#if (defined(GL_ARB_TEXTURE_COMPRESSION_RGTC) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_TEXTURE_COMPRESSION_RGTC)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_COMPRESSION_RGTC)\n#define REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_COMPRESSION_RGTC\n#endif\n\n#if (defined(GL_ARB_TEXTURE_COMPRESSION_RGTC) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_TEXTURE_COMPRESSION_RGTC)) && !defined(REGAL_NO_PLUGIN_GL_ARB_TEXTURE_COMPRESSION_RGTC)\n#define REGAL_NO_PLUGIN_GL_ARB_TEXTURE_COMPRESSION_RGTC\n#endif\n\n#if (defined(GL_ARB_TEXTURE_COMPRESSION_RGTC) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_TEXTURE_COMPRESSION_RGTC)) && !defined(REGAL_NO_DECLARATION_GL_ARB_TEXTURE_COMPRESSION_RGTC)\n#define REGAL_NO_DECLARATION_GL_ARB_TEXTURE_COMPRESSION_RGTC\n#endif\n\n#ifndef GL_ARB_texture_compression_rgtc\n#define GL_ARB_texture_compression_rgtc 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_TEXTURE_COMPRESSION_RGTC\n#define GL_COMPRESSED_RED_RGTC1        0x8dbb     /* 36283 */\n#define GL_COMPRESSED_SIGNED_RED_RGTC1 0x8dbc     /* 36284 */\n#define GL_COMPRESSED_RG_RGTC2         0x8dbd     /* 36285 */\n#define GL_COMPRESSED_SIGNED_RG_RGTC2  0x8dbe     /* 36286 */\n#endif\n\n/**\n ** GL_ARB_texture_cube_map\n **/\n\n#if (defined(GL_ARB_TEXTURE_CUBE_MAP) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_TEXTURE_CUBE_MAP)) && !defined(REGAL_NO_ENUM_GL_ARB_TEXTURE_CUBE_MAP)\n#define REGAL_NO_ENUM_GL_ARB_TEXTURE_CUBE_MAP\n#endif\n\n#if (defined(GL_ARB_TEXTURE_CUBE_MAP) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_TEXTURE_CUBE_MAP)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_CUBE_MAP)\n#define REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_CUBE_MAP\n#endif\n\n#if (defined(GL_ARB_TEXTURE_CUBE_MAP) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_TEXTURE_CUBE_MAP)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_CUBE_MAP)\n#define REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_CUBE_MAP\n#endif\n\n#if (defined(GL_ARB_TEXTURE_CUBE_MAP) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_TEXTURE_CUBE_MAP)) && !defined(REGAL_NO_PLUGIN_GL_ARB_TEXTURE_CUBE_MAP)\n#define REGAL_NO_PLUGIN_GL_ARB_TEXTURE_CUBE_MAP\n#endif\n\n#if (defined(GL_ARB_TEXTURE_CUBE_MAP) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_TEXTURE_CUBE_MAP)) && !defined(REGAL_NO_DECLARATION_GL_ARB_TEXTURE_CUBE_MAP)\n#define REGAL_NO_DECLARATION_GL_ARB_TEXTURE_CUBE_MAP\n#endif\n\n#ifndef GL_ARB_texture_cube_map\n#define GL_ARB_texture_cube_map 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_TEXTURE_CUBE_MAP\n#define GL_NORMAL_MAP_ARB                  0x8511     /* 34065 */\n#define GL_REFLECTION_MAP_ARB              0x8512     /* 34066 */\n#define GL_TEXTURE_CUBE_MAP_ARB            0x8513     /* 34067 */\n#define GL_TEXTURE_BINDING_CUBE_MAP_ARB    0x8514     /* 34068 */\n#define GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB 0x8515     /* 34069 */\n#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB 0x8516     /* 34070 */\n#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB 0x8517     /* 34071 */\n#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB 0x8518     /* 34072 */\n#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB 0x8519     /* 34073 */\n#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB 0x851a     /* 34074 */\n#define GL_PROXY_TEXTURE_CUBE_MAP_ARB      0x851b     /* 34075 */\n#define GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB   0x851c     /* 34076 */\n#endif\n\n/**\n ** GL_ARB_texture_cube_map_array\n **/\n\n#if (defined(GL_ARB_TEXTURE_CUBE_MAP_ARRAY) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_TEXTURE_CUBE_MAP_ARRAY)) && !defined(REGAL_NO_ENUM_GL_ARB_TEXTURE_CUBE_MAP_ARRAY)\n#define REGAL_NO_ENUM_GL_ARB_TEXTURE_CUBE_MAP_ARRAY\n#endif\n\n#if (defined(GL_ARB_TEXTURE_CUBE_MAP_ARRAY) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_TEXTURE_CUBE_MAP_ARRAY)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_CUBE_MAP_ARRAY)\n#define REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_CUBE_MAP_ARRAY\n#endif\n\n#if (defined(GL_ARB_TEXTURE_CUBE_MAP_ARRAY) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_TEXTURE_CUBE_MAP_ARRAY)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_CUBE_MAP_ARRAY)\n#define REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_CUBE_MAP_ARRAY\n#endif\n\n#if (defined(GL_ARB_TEXTURE_CUBE_MAP_ARRAY) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_TEXTURE_CUBE_MAP_ARRAY)) && !defined(REGAL_NO_PLUGIN_GL_ARB_TEXTURE_CUBE_MAP_ARRAY)\n#define REGAL_NO_PLUGIN_GL_ARB_TEXTURE_CUBE_MAP_ARRAY\n#endif\n\n#if (defined(GL_ARB_TEXTURE_CUBE_MAP_ARRAY) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_TEXTURE_CUBE_MAP_ARRAY)) && !defined(REGAL_NO_DECLARATION_GL_ARB_TEXTURE_CUBE_MAP_ARRAY)\n#define REGAL_NO_DECLARATION_GL_ARB_TEXTURE_CUBE_MAP_ARRAY\n#endif\n\n#ifndef GL_ARB_texture_cube_map_array\n#define GL_ARB_texture_cube_map_array 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_TEXTURE_CUBE_MAP_ARRAY\n#define GL_TEXTURE_CUBE_MAP_ARRAY_ARB              0x9009     /* 36873 */\n#define GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_ARB      0x900a     /* 36874 */\n#define GL_PROXY_TEXTURE_CUBE_MAP_ARRAY_ARB        0x900b     /* 36875 */\n#define GL_SAMPLER_CUBE_MAP_ARRAY_ARB              0x900c     /* 36876 */\n#define GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_ARB       0x900d     /* 36877 */\n#define GL_INT_SAMPLER_CUBE_MAP_ARRAY_ARB          0x900e     /* 36878 */\n#define GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_ARB 0x900f     /* 36879 */\n#endif\n\n/**\n ** GL_ARB_texture_env_combine\n **/\n\n#if (defined(GL_ARB_TEXTURE_ENV_COMBINE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_TEXTURE_ENV_COMBINE)) && !defined(REGAL_NO_ENUM_GL_ARB_TEXTURE_ENV_COMBINE)\n#define REGAL_NO_ENUM_GL_ARB_TEXTURE_ENV_COMBINE\n#endif\n\n#if (defined(GL_ARB_TEXTURE_ENV_COMBINE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_TEXTURE_ENV_COMBINE)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_ENV_COMBINE)\n#define REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_ENV_COMBINE\n#endif\n\n#if (defined(GL_ARB_TEXTURE_ENV_COMBINE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_TEXTURE_ENV_COMBINE)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_ENV_COMBINE)\n#define REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_ENV_COMBINE\n#endif\n\n#if (defined(GL_ARB_TEXTURE_ENV_COMBINE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_TEXTURE_ENV_COMBINE)) && !defined(REGAL_NO_PLUGIN_GL_ARB_TEXTURE_ENV_COMBINE)\n#define REGAL_NO_PLUGIN_GL_ARB_TEXTURE_ENV_COMBINE\n#endif\n\n#if (defined(GL_ARB_TEXTURE_ENV_COMBINE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_TEXTURE_ENV_COMBINE)) && !defined(REGAL_NO_DECLARATION_GL_ARB_TEXTURE_ENV_COMBINE)\n#define REGAL_NO_DECLARATION_GL_ARB_TEXTURE_ENV_COMBINE\n#endif\n\n#ifndef GL_ARB_texture_env_combine\n#define GL_ARB_texture_env_combine 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_TEXTURE_ENV_COMBINE\n#define GL_SUBTRACT_ARB       0x84e7     /* 34023 */\n#define GL_COMBINE_ARB        0x8570     /* 34160 */\n#define GL_COMBINE_RGB_ARB    0x8571     /* 34161 */\n#define GL_COMBINE_ALPHA_ARB  0x8572     /* 34162 */\n#define GL_RGB_SCALE_ARB      0x8573     /* 34163 */\n#define GL_ADD_SIGNED_ARB     0x8574     /* 34164 */\n#define GL_INTERPOLATE_ARB    0x8575     /* 34165 */\n#define GL_CONSTANT_ARB       0x8576     /* 34166 */\n#define GL_PRIMARY_COLOR_ARB  0x8577     /* 34167 */\n#define GL_PREVIOUS_ARB       0x8578     /* 34168 */\n#define GL_SOURCE0_RGB_ARB    0x8580     /* 34176 */\n#define GL_SOURCE1_RGB_ARB    0x8581     /* 34177 */\n#define GL_SOURCE2_RGB_ARB    0x8582     /* 34178 */\n#define GL_SOURCE0_ALPHA_ARB  0x8588     /* 34184 */\n#define GL_SOURCE1_ALPHA_ARB  0x8589     /* 34185 */\n#define GL_SOURCE2_ALPHA_ARB  0x858a     /* 34186 */\n#define GL_OPERAND0_RGB_ARB   0x8590     /* 34192 */\n#define GL_OPERAND1_RGB_ARB   0x8591     /* 34193 */\n#define GL_OPERAND2_RGB_ARB   0x8592     /* 34194 */\n#define GL_OPERAND0_ALPHA_ARB 0x8598     /* 34200 */\n#define GL_OPERAND1_ALPHA_ARB 0x8599     /* 34201 */\n#define GL_OPERAND2_ALPHA_ARB 0x859a     /* 34202 */\n#endif\n\n/**\n ** GL_ARB_texture_env_dot3\n **/\n\n#if (defined(GL_ARB_TEXTURE_ENV_DOT3) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_TEXTURE_ENV_DOT3)) && !defined(REGAL_NO_ENUM_GL_ARB_TEXTURE_ENV_DOT3)\n#define REGAL_NO_ENUM_GL_ARB_TEXTURE_ENV_DOT3\n#endif\n\n#if (defined(GL_ARB_TEXTURE_ENV_DOT3) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_TEXTURE_ENV_DOT3)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_ENV_DOT3)\n#define REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_ENV_DOT3\n#endif\n\n#if (defined(GL_ARB_TEXTURE_ENV_DOT3) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_TEXTURE_ENV_DOT3)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_ENV_DOT3)\n#define REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_ENV_DOT3\n#endif\n\n#if (defined(GL_ARB_TEXTURE_ENV_DOT3) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_TEXTURE_ENV_DOT3)) && !defined(REGAL_NO_PLUGIN_GL_ARB_TEXTURE_ENV_DOT3)\n#define REGAL_NO_PLUGIN_GL_ARB_TEXTURE_ENV_DOT3\n#endif\n\n#if (defined(GL_ARB_TEXTURE_ENV_DOT3) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_TEXTURE_ENV_DOT3)) && !defined(REGAL_NO_DECLARATION_GL_ARB_TEXTURE_ENV_DOT3)\n#define REGAL_NO_DECLARATION_GL_ARB_TEXTURE_ENV_DOT3\n#endif\n\n#ifndef GL_ARB_texture_env_dot3\n#define GL_ARB_texture_env_dot3 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_TEXTURE_ENV_DOT3\n#define GL_DOT3_RGB_ARB  0x86ae     /* 34478 */\n#define GL_DOT3_RGBA_ARB 0x86af     /* 34479 */\n#endif\n\n/**\n ** GL_ARB_texture_float\n **/\n\n#if (defined(GL_ARB_TEXTURE_FLOAT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_TEXTURE_FLOAT)) && !defined(REGAL_NO_ENUM_GL_ARB_TEXTURE_FLOAT)\n#define REGAL_NO_ENUM_GL_ARB_TEXTURE_FLOAT\n#endif\n\n#if (defined(GL_ARB_TEXTURE_FLOAT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_TEXTURE_FLOAT)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_FLOAT)\n#define REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_FLOAT\n#endif\n\n#if (defined(GL_ARB_TEXTURE_FLOAT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_TEXTURE_FLOAT)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_FLOAT)\n#define REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_FLOAT\n#endif\n\n#if (defined(GL_ARB_TEXTURE_FLOAT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_TEXTURE_FLOAT)) && !defined(REGAL_NO_PLUGIN_GL_ARB_TEXTURE_FLOAT)\n#define REGAL_NO_PLUGIN_GL_ARB_TEXTURE_FLOAT\n#endif\n\n#if (defined(GL_ARB_TEXTURE_FLOAT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_TEXTURE_FLOAT)) && !defined(REGAL_NO_DECLARATION_GL_ARB_TEXTURE_FLOAT)\n#define REGAL_NO_DECLARATION_GL_ARB_TEXTURE_FLOAT\n#endif\n\n#ifndef GL_ARB_texture_float\n#define GL_ARB_texture_float 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_TEXTURE_FLOAT\n#define GL_RGBA32F_ARB                0x8814     /* 34836 */\n#define GL_RGB32F_ARB                 0x8815     /* 34837 */\n#define GL_ALPHA32F_ARB               0x8816     /* 34838 */\n#define GL_INTENSITY32F_ARB           0x8817     /* 34839 */\n#define GL_LUMINANCE32F_ARB           0x8818     /* 34840 */\n#define GL_LUMINANCE_ALPHA32F_ARB     0x8819     /* 34841 */\n#define GL_RGBA16F_ARB                0x881a     /* 34842 */\n#define GL_RGB16F_ARB                 0x881b     /* 34843 */\n#define GL_ALPHA16F_ARB               0x881c     /* 34844 */\n#define GL_INTENSITY16F_ARB           0x881d     /* 34845 */\n#define GL_LUMINANCE16F_ARB           0x881e     /* 34846 */\n#define GL_LUMINANCE_ALPHA16F_ARB     0x881f     /* 34847 */\n#define GL_TEXTURE_RED_TYPE_ARB       0x8c10     /* 35856 */\n#define GL_TEXTURE_GREEN_TYPE_ARB     0x8c11     /* 35857 */\n#define GL_TEXTURE_BLUE_TYPE_ARB      0x8c12     /* 35858 */\n#define GL_TEXTURE_ALPHA_TYPE_ARB     0x8c13     /* 35859 */\n#define GL_TEXTURE_LUMINANCE_TYPE_ARB 0x8c14     /* 35860 */\n#define GL_TEXTURE_INTENSITY_TYPE_ARB 0x8c15     /* 35861 */\n#define GL_TEXTURE_DEPTH_TYPE_ARB     0x8c16     /* 35862 */\n#define GL_UNSIGNED_NORMALIZED_ARB    0x8c17     /* 35863 */\n#endif\n\n/**\n ** GL_ARB_texture_gather\n **/\n\n#if (defined(GL_ARB_TEXTURE_GATHER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_TEXTURE_GATHER)) && !defined(REGAL_NO_ENUM_GL_ARB_TEXTURE_GATHER)\n#define REGAL_NO_ENUM_GL_ARB_TEXTURE_GATHER\n#endif\n\n#if (defined(GL_ARB_TEXTURE_GATHER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_TEXTURE_GATHER)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_GATHER)\n#define REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_GATHER\n#endif\n\n#if (defined(GL_ARB_TEXTURE_GATHER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_TEXTURE_GATHER)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_GATHER)\n#define REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_GATHER\n#endif\n\n#if (defined(GL_ARB_TEXTURE_GATHER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_TEXTURE_GATHER)) && !defined(REGAL_NO_PLUGIN_GL_ARB_TEXTURE_GATHER)\n#define REGAL_NO_PLUGIN_GL_ARB_TEXTURE_GATHER\n#endif\n\n#if (defined(GL_ARB_TEXTURE_GATHER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_TEXTURE_GATHER)) && !defined(REGAL_NO_DECLARATION_GL_ARB_TEXTURE_GATHER)\n#define REGAL_NO_DECLARATION_GL_ARB_TEXTURE_GATHER\n#endif\n\n#ifndef GL_ARB_texture_gather\n#define GL_ARB_texture_gather 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_TEXTURE_GATHER\n#define GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_ARB     0x8e5e     /* 36446 */\n#define GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_ARB     0x8e5f     /* 36447 */\n#define GL_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS_ARB 0x8f9f     /* 36767 */\n#endif\n\n/**\n ** GL_ARB_texture_mirror_clamp_to_edge\n **/\n\n#if (defined(GL_ARB_TEXTURE_MIRROR_CLAMP_TO_EDGE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_TEXTURE_MIRROR_CLAMP_TO_EDGE)) && !defined(REGAL_NO_ENUM_GL_ARB_TEXTURE_MIRROR_CLAMP_TO_EDGE)\n#define REGAL_NO_ENUM_GL_ARB_TEXTURE_MIRROR_CLAMP_TO_EDGE\n#endif\n\n#if (defined(GL_ARB_TEXTURE_MIRROR_CLAMP_TO_EDGE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_TEXTURE_MIRROR_CLAMP_TO_EDGE)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_MIRROR_CLAMP_TO_EDGE)\n#define REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_MIRROR_CLAMP_TO_EDGE\n#endif\n\n#if (defined(GL_ARB_TEXTURE_MIRROR_CLAMP_TO_EDGE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_TEXTURE_MIRROR_CLAMP_TO_EDGE)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_MIRROR_CLAMP_TO_EDGE)\n#define REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_MIRROR_CLAMP_TO_EDGE\n#endif\n\n#if (defined(GL_ARB_TEXTURE_MIRROR_CLAMP_TO_EDGE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_TEXTURE_MIRROR_CLAMP_TO_EDGE)) && !defined(REGAL_NO_PLUGIN_GL_ARB_TEXTURE_MIRROR_CLAMP_TO_EDGE)\n#define REGAL_NO_PLUGIN_GL_ARB_TEXTURE_MIRROR_CLAMP_TO_EDGE\n#endif\n\n#if (defined(GL_ARB_TEXTURE_MIRROR_CLAMP_TO_EDGE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_TEXTURE_MIRROR_CLAMP_TO_EDGE)) && !defined(REGAL_NO_DECLARATION_GL_ARB_TEXTURE_MIRROR_CLAMP_TO_EDGE)\n#define REGAL_NO_DECLARATION_GL_ARB_TEXTURE_MIRROR_CLAMP_TO_EDGE\n#endif\n\n#ifndef GL_ARB_texture_mirror_clamp_to_edge\n#define GL_ARB_texture_mirror_clamp_to_edge 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_TEXTURE_MIRROR_CLAMP_TO_EDGE\n#define GL_MIRROR_CLAMP_TO_EDGE 0x8743 /* 34627 */\n#endif\n\n/**\n ** GL_ARB_texture_mirrored_repeat\n **/\n\n#if (defined(GL_ARB_TEXTURE_MIRRORED_REPEAT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_TEXTURE_MIRRORED_REPEAT)) && !defined(REGAL_NO_ENUM_GL_ARB_TEXTURE_MIRRORED_REPEAT)\n#define REGAL_NO_ENUM_GL_ARB_TEXTURE_MIRRORED_REPEAT\n#endif\n\n#if (defined(GL_ARB_TEXTURE_MIRRORED_REPEAT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_TEXTURE_MIRRORED_REPEAT)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_MIRRORED_REPEAT)\n#define REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_MIRRORED_REPEAT\n#endif\n\n#if (defined(GL_ARB_TEXTURE_MIRRORED_REPEAT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_TEXTURE_MIRRORED_REPEAT)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_MIRRORED_REPEAT)\n#define REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_MIRRORED_REPEAT\n#endif\n\n#if (defined(GL_ARB_TEXTURE_MIRRORED_REPEAT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_TEXTURE_MIRRORED_REPEAT)) && !defined(REGAL_NO_PLUGIN_GL_ARB_TEXTURE_MIRRORED_REPEAT)\n#define REGAL_NO_PLUGIN_GL_ARB_TEXTURE_MIRRORED_REPEAT\n#endif\n\n#if (defined(GL_ARB_TEXTURE_MIRRORED_REPEAT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_TEXTURE_MIRRORED_REPEAT)) && !defined(REGAL_NO_DECLARATION_GL_ARB_TEXTURE_MIRRORED_REPEAT)\n#define REGAL_NO_DECLARATION_GL_ARB_TEXTURE_MIRRORED_REPEAT\n#endif\n\n#ifndef GL_ARB_texture_mirrored_repeat\n#define GL_ARB_texture_mirrored_repeat 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_TEXTURE_MIRRORED_REPEAT\n#define GL_MIRRORED_REPEAT_ARB 0x8370 /* 33648 */\n#endif\n\n/**\n ** GL_ARB_texture_multisample\n **/\n\n#if (defined(GL_ARB_TEXTURE_MULTISAMPLE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_TEXTURE_MULTISAMPLE)) && !defined(REGAL_NO_ENUM_GL_ARB_TEXTURE_MULTISAMPLE)\n#define REGAL_NO_ENUM_GL_ARB_TEXTURE_MULTISAMPLE\n#endif\n\n#if (defined(GL_ARB_TEXTURE_MULTISAMPLE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_TEXTURE_MULTISAMPLE)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_MULTISAMPLE)\n#define REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_MULTISAMPLE\n#endif\n\n#if (defined(GL_ARB_TEXTURE_MULTISAMPLE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_TEXTURE_MULTISAMPLE)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_MULTISAMPLE)\n#define REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_MULTISAMPLE\n#endif\n\n#if (defined(GL_ARB_TEXTURE_MULTISAMPLE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_TEXTURE_MULTISAMPLE)) && !defined(REGAL_NO_PLUGIN_GL_ARB_TEXTURE_MULTISAMPLE)\n#define REGAL_NO_PLUGIN_GL_ARB_TEXTURE_MULTISAMPLE\n#endif\n\n#if (defined(GL_ARB_TEXTURE_MULTISAMPLE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_TEXTURE_MULTISAMPLE)) && !defined(REGAL_NO_DECLARATION_GL_ARB_TEXTURE_MULTISAMPLE)\n#define REGAL_NO_DECLARATION_GL_ARB_TEXTURE_MULTISAMPLE\n#endif\n\n#ifndef GL_ARB_texture_multisample\n#define GL_ARB_texture_multisample 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_TEXTURE_MULTISAMPLE\n#define GL_SAMPLE_POSITION                           0x8e50     /* 36432 */\n#define GL_SAMPLE_MASK                               0x8e51     /* 36433 */\n#define GL_SAMPLE_MASK_VALUE                         0x8e52     /* 36434 */\n#define GL_MAX_SAMPLE_MASK_WORDS                     0x8e59     /* 36441 */\n#define GL_TEXTURE_2D_MULTISAMPLE                    0x9100     /* 37120 */\n#define GL_PROXY_TEXTURE_2D_MULTISAMPLE              0x9101     /* 37121 */\n#define GL_TEXTURE_2D_MULTISAMPLE_ARRAY              0x9102     /* 37122 */\n#define GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY        0x9103     /* 37123 */\n#define GL_TEXTURE_BINDING_2D_MULTISAMPLE            0x9104     /* 37124 */\n#define GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY      0x9105     /* 37125 */\n#define GL_TEXTURE_SAMPLES                           0x9106     /* 37126 */\n#define GL_TEXTURE_FIXED_SAMPLE_LOCATIONS            0x9107     /* 37127 */\n#define GL_SAMPLER_2D_MULTISAMPLE                    0x9108     /* 37128 */\n#define GL_INT_SAMPLER_2D_MULTISAMPLE                0x9109     /* 37129 */\n#define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE       0x910a     /* 37130 */\n#define GL_SAMPLER_2D_MULTISAMPLE_ARRAY              0x910b     /* 37131 */\n#define GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY          0x910c     /* 37132 */\n#define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910d     /* 37133 */\n#define GL_MAX_COLOR_TEXTURE_SAMPLES                 0x910e     /* 37134 */\n#define GL_MAX_DEPTH_TEXTURE_SAMPLES                 0x910f     /* 37135 */\n#define GL_MAX_INTEGER_SAMPLES                       0x9110     /* 37136 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_MULTISAMPLE\ntypedef void (REGAL_CALL *PFNGLGETMULTISAMPLEFVPROC)(GLenum pname, GLuint index, GLfloat *val);\ntypedef void (REGAL_CALL *PFNGLSAMPLEMASKIPROC)(GLuint index, GLbitfield mask);\ntypedef void (REGAL_CALL *PFNGLTEXIMAGE2DMULTISAMPLEPROC)(GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);\ntypedef void (REGAL_CALL *PFNGLTEXIMAGE3DMULTISAMPLEPROC)(GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_MULTISAMPLE\n#define glGetMultisamplefv                  rglGetMultisamplefv\n#define glSampleMaski                       rglSampleMaski\n#define glTexImage2DMultisample             rglTexImage2DMultisample\n#define glTexImage3DMultisample             rglTexImage3DMultisample\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_TEXTURE_MULTISAMPLE\nREGAL_DECL void REGAL_CALL glGetMultisamplefv(GLenum pname, GLuint index, GLfloat *val);\nREGAL_DECL void REGAL_CALL glSampleMaski(GLuint index, GLbitfield mask);\nREGAL_DECL void REGAL_CALL glTexImage2DMultisample(GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);\nREGAL_DECL void REGAL_CALL glTexImage3DMultisample(GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_TEXTURE_MULTISAMPLE\nREGAL_DECL void REGAL_CALL plugin_glGetMultisamplefv(GLenum pname, GLuint index, GLfloat *val);\nREGAL_DECL void REGAL_CALL plugin_glSampleMaski(GLuint index, GLbitfield mask);\nREGAL_DECL void REGAL_CALL plugin_glTexImage2DMultisample(GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);\nREGAL_DECL void REGAL_CALL plugin_glTexImage3DMultisample(GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);\n#endif\n\n/**\n ** GL_ARB_texture_rectangle\n **/\n\n#if (defined(GL_ARB_TEXTURE_RECTANGLE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_TEXTURE_RECTANGLE)) && !defined(REGAL_NO_ENUM_GL_ARB_TEXTURE_RECTANGLE)\n#define REGAL_NO_ENUM_GL_ARB_TEXTURE_RECTANGLE\n#endif\n\n#if (defined(GL_ARB_TEXTURE_RECTANGLE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_TEXTURE_RECTANGLE)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_RECTANGLE)\n#define REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_RECTANGLE\n#endif\n\n#if (defined(GL_ARB_TEXTURE_RECTANGLE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_TEXTURE_RECTANGLE)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_RECTANGLE)\n#define REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_RECTANGLE\n#endif\n\n#if (defined(GL_ARB_TEXTURE_RECTANGLE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_TEXTURE_RECTANGLE)) && !defined(REGAL_NO_PLUGIN_GL_ARB_TEXTURE_RECTANGLE)\n#define REGAL_NO_PLUGIN_GL_ARB_TEXTURE_RECTANGLE\n#endif\n\n#if (defined(GL_ARB_TEXTURE_RECTANGLE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_TEXTURE_RECTANGLE)) && !defined(REGAL_NO_DECLARATION_GL_ARB_TEXTURE_RECTANGLE)\n#define REGAL_NO_DECLARATION_GL_ARB_TEXTURE_RECTANGLE\n#endif\n\n#ifndef GL_ARB_texture_rectangle\n#define GL_ARB_texture_rectangle 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_TEXTURE_RECTANGLE\n#define GL_TEXTURE_RECTANGLE_ARB          0x84f5     /* 34037 */\n#define GL_TEXTURE_BINDING_RECTANGLE_ARB  0x84f6     /* 34038 */\n#define GL_PROXY_TEXTURE_RECTANGLE_ARB    0x84f7     /* 34039 */\n#define GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB 0x84f8     /* 34040 */\n#endif\n\n/**\n ** GL_ARB_texture_rg\n **/\n\n#if (defined(GL_ARB_TEXTURE_RG) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_TEXTURE_RG)) && !defined(REGAL_NO_ENUM_GL_ARB_TEXTURE_RG)\n#define REGAL_NO_ENUM_GL_ARB_TEXTURE_RG\n#endif\n\n#if (defined(GL_ARB_TEXTURE_RG) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_TEXTURE_RG)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_RG)\n#define REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_RG\n#endif\n\n#if (defined(GL_ARB_TEXTURE_RG) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_TEXTURE_RG)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_RG)\n#define REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_RG\n#endif\n\n#if (defined(GL_ARB_TEXTURE_RG) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_TEXTURE_RG)) && !defined(REGAL_NO_PLUGIN_GL_ARB_TEXTURE_RG)\n#define REGAL_NO_PLUGIN_GL_ARB_TEXTURE_RG\n#endif\n\n#if (defined(GL_ARB_TEXTURE_RG) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_TEXTURE_RG)) && !defined(REGAL_NO_DECLARATION_GL_ARB_TEXTURE_RG)\n#define REGAL_NO_DECLARATION_GL_ARB_TEXTURE_RG\n#endif\n\n#ifndef GL_ARB_texture_rg\n#define GL_ARB_texture_rg 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_TEXTURE_RG\n#define GL_COMPRESSED_RED 0x8225     /* 33317 */\n#define GL_COMPRESSED_RG  0x8226     /* 33318 */\n#define GL_RG             0x8227     /* 33319 */\n#define GL_RG_INTEGER     0x8228     /* 33320 */\n#define GL_R8             0x8229     /* 33321 */\n#define GL_R16            0x822a     /* 33322 */\n#define GL_RG8            0x822b     /* 33323 */\n#define GL_RG16           0x822c     /* 33324 */\n#define GL_R16F           0x822d     /* 33325 */\n#define GL_R32F           0x822e     /* 33326 */\n#define GL_RG16F          0x822f     /* 33327 */\n#define GL_RG32F          0x8230     /* 33328 */\n#define GL_R8I            0x8231     /* 33329 */\n#define GL_R8UI           0x8232     /* 33330 */\n#define GL_R16I           0x8233     /* 33331 */\n#define GL_R16UI          0x8234     /* 33332 */\n#define GL_R32I           0x8235     /* 33333 */\n#define GL_R32UI          0x8236     /* 33334 */\n#define GL_RG8I           0x8237     /* 33335 */\n#define GL_RG8UI          0x8238     /* 33336 */\n#define GL_RG16I          0x8239     /* 33337 */\n#define GL_RG16UI         0x823a     /* 33338 */\n#define GL_RG32I          0x823b     /* 33339 */\n#define GL_RG32UI         0x823c     /* 33340 */\n#endif\n\n/**\n ** GL_ARB_texture_rgb10_a2ui\n **/\n\n#if (defined(GL_ARB_TEXTURE_RGB10_A2UI) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_TEXTURE_RGB10_A2UI)) && !defined(REGAL_NO_ENUM_GL_ARB_TEXTURE_RGB10_A2UI)\n#define REGAL_NO_ENUM_GL_ARB_TEXTURE_RGB10_A2UI\n#endif\n\n#if (defined(GL_ARB_TEXTURE_RGB10_A2UI) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_TEXTURE_RGB10_A2UI)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_RGB10_A2UI)\n#define REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_RGB10_A2UI\n#endif\n\n#if (defined(GL_ARB_TEXTURE_RGB10_A2UI) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_TEXTURE_RGB10_A2UI)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_RGB10_A2UI)\n#define REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_RGB10_A2UI\n#endif\n\n#if (defined(GL_ARB_TEXTURE_RGB10_A2UI) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_TEXTURE_RGB10_A2UI)) && !defined(REGAL_NO_PLUGIN_GL_ARB_TEXTURE_RGB10_A2UI)\n#define REGAL_NO_PLUGIN_GL_ARB_TEXTURE_RGB10_A2UI\n#endif\n\n#if (defined(GL_ARB_TEXTURE_RGB10_A2UI) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_TEXTURE_RGB10_A2UI)) && !defined(REGAL_NO_DECLARATION_GL_ARB_TEXTURE_RGB10_A2UI)\n#define REGAL_NO_DECLARATION_GL_ARB_TEXTURE_RGB10_A2UI\n#endif\n\n#ifndef GL_ARB_texture_rgb10_a2ui\n#define GL_ARB_texture_rgb10_a2ui 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_TEXTURE_RGB10_A2UI\n#define GL_RGB10_A2UI 0x906f /* 36975 */\n#endif\n\n/**\n ** GL_ARB_texture_storage\n **/\n\n#if (defined(GL_ARB_TEXTURE_STORAGE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_TEXTURE_STORAGE)) && !defined(REGAL_NO_ENUM_GL_ARB_TEXTURE_STORAGE)\n#define REGAL_NO_ENUM_GL_ARB_TEXTURE_STORAGE\n#endif\n\n#if (defined(GL_ARB_TEXTURE_STORAGE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_TEXTURE_STORAGE)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_STORAGE)\n#define REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_STORAGE\n#endif\n\n#if (defined(GL_ARB_TEXTURE_STORAGE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_TEXTURE_STORAGE)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_STORAGE)\n#define REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_STORAGE\n#endif\n\n#if (defined(GL_ARB_TEXTURE_STORAGE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_TEXTURE_STORAGE)) && !defined(REGAL_NO_PLUGIN_GL_ARB_TEXTURE_STORAGE)\n#define REGAL_NO_PLUGIN_GL_ARB_TEXTURE_STORAGE\n#endif\n\n#if (defined(GL_ARB_TEXTURE_STORAGE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_TEXTURE_STORAGE)) && !defined(REGAL_NO_DECLARATION_GL_ARB_TEXTURE_STORAGE)\n#define REGAL_NO_DECLARATION_GL_ARB_TEXTURE_STORAGE\n#endif\n\n#ifndef GL_ARB_texture_storage\n#define GL_ARB_texture_storage 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_TEXTURE_STORAGE\n#define GL_TEXTURE_IMMUTABLE_FORMAT 0x912f /* 37167 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_STORAGE\ntypedef void (REGAL_CALL *PFNGLTEXSTORAGE1DPROC)(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);\ntypedef void (REGAL_CALL *PFNGLTEXSTORAGE2DPROC)(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);\ntypedef void (REGAL_CALL *PFNGLTEXSTORAGE3DPROC)(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);\ntypedef void (REGAL_CALL *PFNGLTEXTURESTORAGE1DEXTPROC)(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);\ntypedef void (REGAL_CALL *PFNGLTEXTURESTORAGE2DEXTPROC)(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);\ntypedef void (REGAL_CALL *PFNGLTEXTURESTORAGE3DEXTPROC)(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_STORAGE\n#define glTexStorage1D                      rglTexStorage1D\n#define glTexStorage2D                      rglTexStorage2D\n#define glTexStorage3D                      rglTexStorage3D\n#define glTextureStorage1DEXT               rglTextureStorage1DEXT\n#define glTextureStorage2DEXT               rglTextureStorage2DEXT\n#define glTextureStorage3DEXT               rglTextureStorage3DEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_TEXTURE_STORAGE\nREGAL_DECL void REGAL_CALL glTexStorage1D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);\nREGAL_DECL void REGAL_CALL glTexStorage2D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);\nREGAL_DECL void REGAL_CALL glTexStorage3D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);\nREGAL_DECL void REGAL_CALL glTextureStorage1DEXT(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);\nREGAL_DECL void REGAL_CALL glTextureStorage2DEXT(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);\nREGAL_DECL void REGAL_CALL glTextureStorage3DEXT(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_TEXTURE_STORAGE\nREGAL_DECL void REGAL_CALL plugin_glTexStorage1D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);\nREGAL_DECL void REGAL_CALL plugin_glTexStorage2D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);\nREGAL_DECL void REGAL_CALL plugin_glTexStorage3D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);\nREGAL_DECL void REGAL_CALL plugin_glTextureStorage1DEXT(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);\nREGAL_DECL void REGAL_CALL plugin_glTextureStorage2DEXT(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);\nREGAL_DECL void REGAL_CALL plugin_glTextureStorage3DEXT(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);\n#endif\n\n/**\n ** GL_ARB_texture_storage_multisample\n **/\n\n#if (defined(GL_ARB_TEXTURE_STORAGE_MULTISAMPLE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_TEXTURE_STORAGE_MULTISAMPLE)) && !defined(REGAL_NO_ENUM_GL_ARB_TEXTURE_STORAGE_MULTISAMPLE)\n#define REGAL_NO_ENUM_GL_ARB_TEXTURE_STORAGE_MULTISAMPLE\n#endif\n\n#if (defined(GL_ARB_TEXTURE_STORAGE_MULTISAMPLE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_TEXTURE_STORAGE_MULTISAMPLE)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_STORAGE_MULTISAMPLE)\n#define REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_STORAGE_MULTISAMPLE\n#endif\n\n#if (defined(GL_ARB_TEXTURE_STORAGE_MULTISAMPLE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_TEXTURE_STORAGE_MULTISAMPLE)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_STORAGE_MULTISAMPLE)\n#define REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_STORAGE_MULTISAMPLE\n#endif\n\n#if (defined(GL_ARB_TEXTURE_STORAGE_MULTISAMPLE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_TEXTURE_STORAGE_MULTISAMPLE)) && !defined(REGAL_NO_PLUGIN_GL_ARB_TEXTURE_STORAGE_MULTISAMPLE)\n#define REGAL_NO_PLUGIN_GL_ARB_TEXTURE_STORAGE_MULTISAMPLE\n#endif\n\n#if (defined(GL_ARB_TEXTURE_STORAGE_MULTISAMPLE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_TEXTURE_STORAGE_MULTISAMPLE)) && !defined(REGAL_NO_DECLARATION_GL_ARB_TEXTURE_STORAGE_MULTISAMPLE)\n#define REGAL_NO_DECLARATION_GL_ARB_TEXTURE_STORAGE_MULTISAMPLE\n#endif\n\n#ifndef GL_ARB_texture_storage_multisample\n#define GL_ARB_texture_storage_multisample 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_STORAGE_MULTISAMPLE\ntypedef void (REGAL_CALL *PFNGLTEXSTORAGE2DMULTISAMPLEPROC)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);\ntypedef void (REGAL_CALL *PFNGLTEXSTORAGE3DMULTISAMPLEPROC)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);\ntypedef void (REGAL_CALL *PFNGLTEXTURESTORAGE2DMULTISAMPLEEXTPROC)(GLuint texture, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);\ntypedef void (REGAL_CALL *PFNGLTEXTURESTORAGE3DMULTISAMPLEEXTPROC)(GLuint texture, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_STORAGE_MULTISAMPLE\n#define glTexStorage2DMultisample           rglTexStorage2DMultisample\n#define glTexStorage3DMultisample           rglTexStorage3DMultisample\n#define glTextureStorage2DMultisampleEXT    rglTextureStorage2DMultisampleEXT\n#define glTextureStorage3DMultisampleEXT    rglTextureStorage3DMultisampleEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_TEXTURE_STORAGE_MULTISAMPLE\nREGAL_DECL void REGAL_CALL glTexStorage2DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);\nREGAL_DECL void REGAL_CALL glTexStorage3DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);\nREGAL_DECL void REGAL_CALL glTextureStorage2DMultisampleEXT(GLuint texture, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);\nREGAL_DECL void REGAL_CALL glTextureStorage3DMultisampleEXT(GLuint texture, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_TEXTURE_STORAGE_MULTISAMPLE\nREGAL_DECL void REGAL_CALL plugin_glTexStorage2DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);\nREGAL_DECL void REGAL_CALL plugin_glTexStorage3DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);\nREGAL_DECL void REGAL_CALL plugin_glTextureStorage2DMultisampleEXT(GLuint texture, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);\nREGAL_DECL void REGAL_CALL plugin_glTextureStorage3DMultisampleEXT(GLuint texture, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);\n#endif\n\n/**\n ** GL_ARB_texture_swizzle\n **/\n\n#if (defined(GL_ARB_TEXTURE_SWIZZLE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_TEXTURE_SWIZZLE)) && !defined(REGAL_NO_ENUM_GL_ARB_TEXTURE_SWIZZLE)\n#define REGAL_NO_ENUM_GL_ARB_TEXTURE_SWIZZLE\n#endif\n\n#if (defined(GL_ARB_TEXTURE_SWIZZLE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_TEXTURE_SWIZZLE)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_SWIZZLE)\n#define REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_SWIZZLE\n#endif\n\n#if (defined(GL_ARB_TEXTURE_SWIZZLE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_TEXTURE_SWIZZLE)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_SWIZZLE)\n#define REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_SWIZZLE\n#endif\n\n#if (defined(GL_ARB_TEXTURE_SWIZZLE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_TEXTURE_SWIZZLE)) && !defined(REGAL_NO_PLUGIN_GL_ARB_TEXTURE_SWIZZLE)\n#define REGAL_NO_PLUGIN_GL_ARB_TEXTURE_SWIZZLE\n#endif\n\n#if (defined(GL_ARB_TEXTURE_SWIZZLE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_TEXTURE_SWIZZLE)) && !defined(REGAL_NO_DECLARATION_GL_ARB_TEXTURE_SWIZZLE)\n#define REGAL_NO_DECLARATION_GL_ARB_TEXTURE_SWIZZLE\n#endif\n\n#ifndef GL_ARB_texture_swizzle\n#define GL_ARB_texture_swizzle 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_TEXTURE_SWIZZLE\n#define GL_TEXTURE_SWIZZLE_R    0x8e42     /* 36418 */\n#define GL_TEXTURE_SWIZZLE_G    0x8e43     /* 36419 */\n#define GL_TEXTURE_SWIZZLE_B    0x8e44     /* 36420 */\n#define GL_TEXTURE_SWIZZLE_A    0x8e45     /* 36421 */\n#define GL_TEXTURE_SWIZZLE_RGBA 0x8e46     /* 36422 */\n#endif\n\n/**\n ** GL_ARB_texture_view\n **/\n\n#if (defined(GL_ARB_TEXTURE_VIEW) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_TEXTURE_VIEW)) && !defined(REGAL_NO_ENUM_GL_ARB_TEXTURE_VIEW)\n#define REGAL_NO_ENUM_GL_ARB_TEXTURE_VIEW\n#endif\n\n#if (defined(GL_ARB_TEXTURE_VIEW) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_TEXTURE_VIEW)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_VIEW)\n#define REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_VIEW\n#endif\n\n#if (defined(GL_ARB_TEXTURE_VIEW) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_TEXTURE_VIEW)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_VIEW)\n#define REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_VIEW\n#endif\n\n#if (defined(GL_ARB_TEXTURE_VIEW) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_TEXTURE_VIEW)) && !defined(REGAL_NO_PLUGIN_GL_ARB_TEXTURE_VIEW)\n#define REGAL_NO_PLUGIN_GL_ARB_TEXTURE_VIEW\n#endif\n\n#if (defined(GL_ARB_TEXTURE_VIEW) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_TEXTURE_VIEW)) && !defined(REGAL_NO_DECLARATION_GL_ARB_TEXTURE_VIEW)\n#define REGAL_NO_DECLARATION_GL_ARB_TEXTURE_VIEW\n#endif\n\n#ifndef GL_ARB_texture_view\n#define GL_ARB_texture_view 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_TEXTURE_VIEW\n#define GL_TEXTURE_VIEW_MIN_LEVEL   0x82db     /* 33499 */\n#define GL_TEXTURE_VIEW_NUM_LEVELS  0x82dc     /* 33500 */\n#define GL_TEXTURE_VIEW_MIN_LAYER   0x82dd     /* 33501 */\n#define GL_TEXTURE_VIEW_NUM_LAYERS  0x82de     /* 33502 */\n#define GL_TEXTURE_IMMUTABLE_LEVELS 0x82df     /* 33503 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_VIEW\ntypedef void (REGAL_CALL *PFNGLTEXTUREVIEWPROC)(GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_VIEW\n#define glTextureView                       rglTextureView\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_TEXTURE_VIEW\nREGAL_DECL void REGAL_CALL glTextureView(GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_TEXTURE_VIEW\nREGAL_DECL void REGAL_CALL plugin_glTextureView(GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers);\n#endif\n\n/**\n ** GL_ARB_timer_query\n **/\n\n#if (defined(GL_ARB_TIMER_QUERY) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_TIMER_QUERY)) && !defined(REGAL_NO_ENUM_GL_ARB_TIMER_QUERY)\n#define REGAL_NO_ENUM_GL_ARB_TIMER_QUERY\n#endif\n\n#if (defined(GL_ARB_TIMER_QUERY) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_TIMER_QUERY)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_TIMER_QUERY)\n#define REGAL_NO_TYPEDEF_GL_ARB_TIMER_QUERY\n#endif\n\n#if (defined(GL_ARB_TIMER_QUERY) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_TIMER_QUERY)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_TIMER_QUERY)\n#define REGAL_NO_NAMESPACE_GL_ARB_TIMER_QUERY\n#endif\n\n#if (defined(GL_ARB_TIMER_QUERY) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_TIMER_QUERY)) && !defined(REGAL_NO_PLUGIN_GL_ARB_TIMER_QUERY)\n#define REGAL_NO_PLUGIN_GL_ARB_TIMER_QUERY\n#endif\n\n#if (defined(GL_ARB_TIMER_QUERY) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_TIMER_QUERY)) && !defined(REGAL_NO_DECLARATION_GL_ARB_TIMER_QUERY)\n#define REGAL_NO_DECLARATION_GL_ARB_TIMER_QUERY\n#endif\n\n#ifndef GL_ARB_timer_query\n#define GL_ARB_timer_query 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_TIMER_QUERY\n#define GL_TIME_ELAPSED 0x88bf     /* 35007 */\n#define GL_TIMESTAMP    0x8e28     /* 36392 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_TIMER_QUERY\ntypedef void (REGAL_CALL *PFNGLGETQUERYOBJECTI64VPROC)(GLuint id, GLenum pname, GLint64 *params);\ntypedef void (REGAL_CALL *PFNGLGETQUERYOBJECTUI64VPROC)(GLuint id, GLenum pname, GLuint64 *params);\ntypedef void (REGAL_CALL *PFNGLQUERYCOUNTERPROC)(GLuint id, GLenum target);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_TIMER_QUERY\n#define glGetQueryObjecti64v                rglGetQueryObjecti64v\n#define glGetQueryObjectui64v               rglGetQueryObjectui64v\n#define glQueryCounter                      rglQueryCounter\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_TIMER_QUERY\nREGAL_DECL void REGAL_CALL glGetQueryObjecti64v(GLuint id, GLenum pname, GLint64 *params);\nREGAL_DECL void REGAL_CALL glGetQueryObjectui64v(GLuint id, GLenum pname, GLuint64 *params);\nREGAL_DECL void REGAL_CALL glQueryCounter(GLuint id, GLenum target);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_TIMER_QUERY\nREGAL_DECL void REGAL_CALL plugin_glGetQueryObjecti64v(GLuint id, GLenum pname, GLint64 *params);\nREGAL_DECL void REGAL_CALL plugin_glGetQueryObjectui64v(GLuint id, GLenum pname, GLuint64 *params);\nREGAL_DECL void REGAL_CALL plugin_glQueryCounter(GLuint id, GLenum target);\n#endif\n\n/**\n ** GL_ARB_transform_feedback2\n **/\n\n#if (defined(GL_ARB_TRANSFORM_FEEDBACK2) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_TRANSFORM_FEEDBACK2)) && !defined(REGAL_NO_ENUM_GL_ARB_TRANSFORM_FEEDBACK2)\n#define REGAL_NO_ENUM_GL_ARB_TRANSFORM_FEEDBACK2\n#endif\n\n#if (defined(GL_ARB_TRANSFORM_FEEDBACK2) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_TRANSFORM_FEEDBACK2)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_TRANSFORM_FEEDBACK2)\n#define REGAL_NO_TYPEDEF_GL_ARB_TRANSFORM_FEEDBACK2\n#endif\n\n#if (defined(GL_ARB_TRANSFORM_FEEDBACK2) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_TRANSFORM_FEEDBACK2)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_TRANSFORM_FEEDBACK2)\n#define REGAL_NO_NAMESPACE_GL_ARB_TRANSFORM_FEEDBACK2\n#endif\n\n#if (defined(GL_ARB_TRANSFORM_FEEDBACK2) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_TRANSFORM_FEEDBACK2)) && !defined(REGAL_NO_PLUGIN_GL_ARB_TRANSFORM_FEEDBACK2)\n#define REGAL_NO_PLUGIN_GL_ARB_TRANSFORM_FEEDBACK2\n#endif\n\n#if (defined(GL_ARB_TRANSFORM_FEEDBACK2) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_TRANSFORM_FEEDBACK2)) && !defined(REGAL_NO_DECLARATION_GL_ARB_TRANSFORM_FEEDBACK2)\n#define REGAL_NO_DECLARATION_GL_ARB_TRANSFORM_FEEDBACK2\n#endif\n\n#ifndef GL_ARB_transform_feedback2\n#define GL_ARB_transform_feedback2 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_TRANSFORM_FEEDBACK2\n#define GL_TRANSFORM_FEEDBACK               0x8e22     /* 36386 */\n#define GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED 0x8e23     /* 36387 */\n#define GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE 0x8e24     /* 36388 */\n#define GL_TRANSFORM_FEEDBACK_BINDING       0x8e25     /* 36389 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_TRANSFORM_FEEDBACK2\ntypedef GLboolean (REGAL_CALL *PFNGLISTRANSFORMFEEDBACKPROC)(GLuint id);\ntypedef void (REGAL_CALL *PFNGLBINDTRANSFORMFEEDBACKPROC)(GLenum target, GLuint id);\ntypedef void (REGAL_CALL *PFNGLDELETETRANSFORMFEEDBACKSPROC)(GLsizei n, const GLuint *ids);\ntypedef void (REGAL_CALL *PFNGLDRAWTRANSFORMFEEDBACKPROC)(GLenum mode, GLuint name);\ntypedef void (REGAL_CALL *PFNGLGENTRANSFORMFEEDBACKSPROC)(GLsizei n, GLuint *ids);\ntypedef void (REGAL_CALL *PFNGLPAUSETRANSFORMFEEDBACKPROC)(void);\ntypedef void (REGAL_CALL *PFNGLRESUMETRANSFORMFEEDBACKPROC)(void);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_TRANSFORM_FEEDBACK2\n#define glBindTransformFeedback             rglBindTransformFeedback\n#define glDeleteTransformFeedbacks          rglDeleteTransformFeedbacks\n#define glDrawTransformFeedback             rglDrawTransformFeedback\n#define glGenTransformFeedbacks             rglGenTransformFeedbacks\n#define glIsTransformFeedback               rglIsTransformFeedback\n#define glPauseTransformFeedback            rglPauseTransformFeedback\n#define glResumeTransformFeedback           rglResumeTransformFeedback\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_TRANSFORM_FEEDBACK2\nREGAL_DECL GLboolean REGAL_CALL glIsTransformFeedback(GLuint id);\nREGAL_DECL void REGAL_CALL glBindTransformFeedback(GLenum target, GLuint id);\nREGAL_DECL void REGAL_CALL glDeleteTransformFeedbacks(GLsizei n, const GLuint *ids);\nREGAL_DECL void REGAL_CALL glDrawTransformFeedback(GLenum mode, GLuint name);\nREGAL_DECL void REGAL_CALL glGenTransformFeedbacks(GLsizei n, GLuint *ids);\nREGAL_DECL void REGAL_CALL glPauseTransformFeedback(void);\nREGAL_DECL void REGAL_CALL glResumeTransformFeedback(void);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_TRANSFORM_FEEDBACK2\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsTransformFeedback(GLuint id);\nREGAL_DECL void REGAL_CALL plugin_glBindTransformFeedback(GLenum target, GLuint id);\nREGAL_DECL void REGAL_CALL plugin_glDeleteTransformFeedbacks(GLsizei n, const GLuint *ids);\nREGAL_DECL void REGAL_CALL plugin_glDrawTransformFeedback(GLenum mode, GLuint name);\nREGAL_DECL void REGAL_CALL plugin_glGenTransformFeedbacks(GLsizei n, GLuint *ids);\nREGAL_DECL void REGAL_CALL plugin_glPauseTransformFeedback(void);\nREGAL_DECL void REGAL_CALL plugin_glResumeTransformFeedback(void);\n#endif\n\n/**\n ** GL_ARB_transform_feedback3\n **/\n\n#if (defined(GL_ARB_TRANSFORM_FEEDBACK3) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_TRANSFORM_FEEDBACK3)) && !defined(REGAL_NO_ENUM_GL_ARB_TRANSFORM_FEEDBACK3)\n#define REGAL_NO_ENUM_GL_ARB_TRANSFORM_FEEDBACK3\n#endif\n\n#if (defined(GL_ARB_TRANSFORM_FEEDBACK3) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_TRANSFORM_FEEDBACK3)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_TRANSFORM_FEEDBACK3)\n#define REGAL_NO_TYPEDEF_GL_ARB_TRANSFORM_FEEDBACK3\n#endif\n\n#if (defined(GL_ARB_TRANSFORM_FEEDBACK3) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_TRANSFORM_FEEDBACK3)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_TRANSFORM_FEEDBACK3)\n#define REGAL_NO_NAMESPACE_GL_ARB_TRANSFORM_FEEDBACK3\n#endif\n\n#if (defined(GL_ARB_TRANSFORM_FEEDBACK3) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_TRANSFORM_FEEDBACK3)) && !defined(REGAL_NO_PLUGIN_GL_ARB_TRANSFORM_FEEDBACK3)\n#define REGAL_NO_PLUGIN_GL_ARB_TRANSFORM_FEEDBACK3\n#endif\n\n#if (defined(GL_ARB_TRANSFORM_FEEDBACK3) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_TRANSFORM_FEEDBACK3)) && !defined(REGAL_NO_DECLARATION_GL_ARB_TRANSFORM_FEEDBACK3)\n#define REGAL_NO_DECLARATION_GL_ARB_TRANSFORM_FEEDBACK3\n#endif\n\n#ifndef GL_ARB_transform_feedback3\n#define GL_ARB_transform_feedback3 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_TRANSFORM_FEEDBACK3\n#define GL_MAX_TRANSFORM_FEEDBACK_BUFFERS 0x8e70 /* 36464 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_TRANSFORM_FEEDBACK3\ntypedef void (REGAL_CALL *PFNGLBEGINQUERYINDEXEDPROC)(GLenum target, GLuint index, GLuint id);\ntypedef void (REGAL_CALL *PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC)(GLenum mode, GLuint id, GLuint stream);\ntypedef void (REGAL_CALL *PFNGLENDQUERYINDEXEDPROC)(GLenum target, GLuint index);\ntypedef void (REGAL_CALL *PFNGLGETQUERYINDEXEDIVPROC)(GLenum target, GLuint index, GLenum pname, GLint *params);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_TRANSFORM_FEEDBACK3\n#define glBeginQueryIndexed                 rglBeginQueryIndexed\n#define glDrawTransformFeedbackStream       rglDrawTransformFeedbackStream\n#define glEndQueryIndexed                   rglEndQueryIndexed\n#define glGetQueryIndexediv                 rglGetQueryIndexediv\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_TRANSFORM_FEEDBACK3\nREGAL_DECL void REGAL_CALL glBeginQueryIndexed(GLenum target, GLuint index, GLuint id);\nREGAL_DECL void REGAL_CALL glDrawTransformFeedbackStream(GLenum mode, GLuint id, GLuint stream);\nREGAL_DECL void REGAL_CALL glEndQueryIndexed(GLenum target, GLuint index);\nREGAL_DECL void REGAL_CALL glGetQueryIndexediv(GLenum target, GLuint index, GLenum pname, GLint *params);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_TRANSFORM_FEEDBACK3\nREGAL_DECL void REGAL_CALL plugin_glBeginQueryIndexed(GLenum target, GLuint index, GLuint id);\nREGAL_DECL void REGAL_CALL plugin_glDrawTransformFeedbackStream(GLenum mode, GLuint id, GLuint stream);\nREGAL_DECL void REGAL_CALL plugin_glEndQueryIndexed(GLenum target, GLuint index);\nREGAL_DECL void REGAL_CALL plugin_glGetQueryIndexediv(GLenum target, GLuint index, GLenum pname, GLint *params);\n#endif\n\n/**\n ** GL_ARB_transform_feedback_instanced\n **/\n\n#if (defined(GL_ARB_TRANSFORM_FEEDBACK_INSTANCED) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_TRANSFORM_FEEDBACK_INSTANCED)) && !defined(REGAL_NO_ENUM_GL_ARB_TRANSFORM_FEEDBACK_INSTANCED)\n#define REGAL_NO_ENUM_GL_ARB_TRANSFORM_FEEDBACK_INSTANCED\n#endif\n\n#if (defined(GL_ARB_TRANSFORM_FEEDBACK_INSTANCED) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_TRANSFORM_FEEDBACK_INSTANCED)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_TRANSFORM_FEEDBACK_INSTANCED)\n#define REGAL_NO_TYPEDEF_GL_ARB_TRANSFORM_FEEDBACK_INSTANCED\n#endif\n\n#if (defined(GL_ARB_TRANSFORM_FEEDBACK_INSTANCED) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_TRANSFORM_FEEDBACK_INSTANCED)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_TRANSFORM_FEEDBACK_INSTANCED)\n#define REGAL_NO_NAMESPACE_GL_ARB_TRANSFORM_FEEDBACK_INSTANCED\n#endif\n\n#if (defined(GL_ARB_TRANSFORM_FEEDBACK_INSTANCED) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_TRANSFORM_FEEDBACK_INSTANCED)) && !defined(REGAL_NO_PLUGIN_GL_ARB_TRANSFORM_FEEDBACK_INSTANCED)\n#define REGAL_NO_PLUGIN_GL_ARB_TRANSFORM_FEEDBACK_INSTANCED\n#endif\n\n#if (defined(GL_ARB_TRANSFORM_FEEDBACK_INSTANCED) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_TRANSFORM_FEEDBACK_INSTANCED)) && !defined(REGAL_NO_DECLARATION_GL_ARB_TRANSFORM_FEEDBACK_INSTANCED)\n#define REGAL_NO_DECLARATION_GL_ARB_TRANSFORM_FEEDBACK_INSTANCED\n#endif\n\n#ifndef GL_ARB_transform_feedback_instanced\n#define GL_ARB_transform_feedback_instanced 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_TRANSFORM_FEEDBACK_INSTANCED\ntypedef void (REGAL_CALL *PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC)(GLenum mode, GLuint id, GLsizei primcount);\ntypedef void (REGAL_CALL *PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC)(GLenum mode, GLuint id, GLuint stream, GLsizei primcount);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_TRANSFORM_FEEDBACK_INSTANCED\n#define glDrawTransformFeedbackInstanced    rglDrawTransformFeedbackInstanced\n#define glDrawTransformFeedbackStreamInstanced rglDrawTransformFeedbackStreamInstanced\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_TRANSFORM_FEEDBACK_INSTANCED\nREGAL_DECL void REGAL_CALL glDrawTransformFeedbackInstanced(GLenum mode, GLuint id, GLsizei primcount);\nREGAL_DECL void REGAL_CALL glDrawTransformFeedbackStreamInstanced(GLenum mode, GLuint id, GLuint stream, GLsizei primcount);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_TRANSFORM_FEEDBACK_INSTANCED\nREGAL_DECL void REGAL_CALL plugin_glDrawTransformFeedbackInstanced(GLenum mode, GLuint id, GLsizei primcount);\nREGAL_DECL void REGAL_CALL plugin_glDrawTransformFeedbackStreamInstanced(GLenum mode, GLuint id, GLuint stream, GLsizei primcount);\n#endif\n\n/**\n ** GL_ARB_transpose_matrix\n **/\n\n#if (defined(GL_ARB_TRANSPOSE_MATRIX) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_TRANSPOSE_MATRIX)) && !defined(REGAL_NO_ENUM_GL_ARB_TRANSPOSE_MATRIX)\n#define REGAL_NO_ENUM_GL_ARB_TRANSPOSE_MATRIX\n#endif\n\n#if (defined(GL_ARB_TRANSPOSE_MATRIX) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_TRANSPOSE_MATRIX)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_TRANSPOSE_MATRIX)\n#define REGAL_NO_TYPEDEF_GL_ARB_TRANSPOSE_MATRIX\n#endif\n\n#if (defined(GL_ARB_TRANSPOSE_MATRIX) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_TRANSPOSE_MATRIX)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_TRANSPOSE_MATRIX)\n#define REGAL_NO_NAMESPACE_GL_ARB_TRANSPOSE_MATRIX\n#endif\n\n#if (defined(GL_ARB_TRANSPOSE_MATRIX) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_TRANSPOSE_MATRIX)) && !defined(REGAL_NO_PLUGIN_GL_ARB_TRANSPOSE_MATRIX)\n#define REGAL_NO_PLUGIN_GL_ARB_TRANSPOSE_MATRIX\n#endif\n\n#if (defined(GL_ARB_TRANSPOSE_MATRIX) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_TRANSPOSE_MATRIX)) && !defined(REGAL_NO_DECLARATION_GL_ARB_TRANSPOSE_MATRIX)\n#define REGAL_NO_DECLARATION_GL_ARB_TRANSPOSE_MATRIX\n#endif\n\n#ifndef GL_ARB_transpose_matrix\n#define GL_ARB_transpose_matrix 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_TRANSPOSE_MATRIX\n#define GL_TRANSPOSE_MODELVIEW_MATRIX_ARB  0x84e3     /* 34019 */\n#define GL_TRANSPOSE_PROJECTION_MATRIX_ARB 0x84e4     /* 34020 */\n#define GL_TRANSPOSE_TEXTURE_MATRIX_ARB    0x84e5     /* 34021 */\n#define GL_TRANSPOSE_COLOR_MATRIX_ARB      0x84e6     /* 34022 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_TRANSPOSE_MATRIX\ntypedef void (REGAL_CALL *PFNGLLOADTRANSPOSEMATRIXDARBPROC)(const GLdouble *m);\ntypedef void (REGAL_CALL *PFNGLLOADTRANSPOSEMATRIXFARBPROC)(const GLfloat *m);\ntypedef void (REGAL_CALL *PFNGLMULTTRANSPOSEMATRIXDARBPROC)(const GLdouble *m);\ntypedef void (REGAL_CALL *PFNGLMULTTRANSPOSEMATRIXFARBPROC)(const GLfloat *m);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_TRANSPOSE_MATRIX\n#define glLoadTransposeMatrixdARB           rglLoadTransposeMatrixdARB\n#define glLoadTransposeMatrixfARB           rglLoadTransposeMatrixfARB\n#define glMultTransposeMatrixdARB           rglMultTransposeMatrixdARB\n#define glMultTransposeMatrixfARB           rglMultTransposeMatrixfARB\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_TRANSPOSE_MATRIX\nREGAL_DECL void REGAL_CALL glLoadTransposeMatrixdARB(const GLdouble *m);\nREGAL_DECL void REGAL_CALL glLoadTransposeMatrixfARB(const GLfloat *m);\nREGAL_DECL void REGAL_CALL glMultTransposeMatrixdARB(const GLdouble *m);\nREGAL_DECL void REGAL_CALL glMultTransposeMatrixfARB(const GLfloat *m);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_TRANSPOSE_MATRIX\nREGAL_DECL void REGAL_CALL plugin_glLoadTransposeMatrixdARB(const GLdouble *m);\nREGAL_DECL void REGAL_CALL plugin_glLoadTransposeMatrixfARB(const GLfloat *m);\nREGAL_DECL void REGAL_CALL plugin_glMultTransposeMatrixdARB(const GLdouble *m);\nREGAL_DECL void REGAL_CALL plugin_glMultTransposeMatrixfARB(const GLfloat *m);\n#endif\n\n/**\n ** GL_ARB_uniform_buffer_object\n **/\n\n#if (defined(GL_ARB_UNIFORM_BUFFER_OBJECT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_UNIFORM_BUFFER_OBJECT)) && !defined(REGAL_NO_ENUM_GL_ARB_UNIFORM_BUFFER_OBJECT)\n#define REGAL_NO_ENUM_GL_ARB_UNIFORM_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_ARB_UNIFORM_BUFFER_OBJECT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_UNIFORM_BUFFER_OBJECT)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_UNIFORM_BUFFER_OBJECT)\n#define REGAL_NO_TYPEDEF_GL_ARB_UNIFORM_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_ARB_UNIFORM_BUFFER_OBJECT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_UNIFORM_BUFFER_OBJECT)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_UNIFORM_BUFFER_OBJECT)\n#define REGAL_NO_NAMESPACE_GL_ARB_UNIFORM_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_ARB_UNIFORM_BUFFER_OBJECT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_UNIFORM_BUFFER_OBJECT)) && !defined(REGAL_NO_PLUGIN_GL_ARB_UNIFORM_BUFFER_OBJECT)\n#define REGAL_NO_PLUGIN_GL_ARB_UNIFORM_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_ARB_UNIFORM_BUFFER_OBJECT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_UNIFORM_BUFFER_OBJECT)) && !defined(REGAL_NO_DECLARATION_GL_ARB_UNIFORM_BUFFER_OBJECT)\n#define REGAL_NO_DECLARATION_GL_ARB_UNIFORM_BUFFER_OBJECT\n#endif\n\n#ifndef GL_ARB_uniform_buffer_object\n#define GL_ARB_uniform_buffer_object 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_UNIFORM_BUFFER_OBJECT\n#define GL_UNIFORM_BUFFER                              0x8a11         /* 35345 */\n#define GL_UNIFORM_BUFFER_BINDING                      0x8a28         /* 35368 */\n#define GL_UNIFORM_BUFFER_START                        0x8a29         /* 35369 */\n#define GL_UNIFORM_BUFFER_SIZE                         0x8a2a         /* 35370 */\n#define GL_MAX_VERTEX_UNIFORM_BLOCKS                   0x8a2b         /* 35371 */\n#define GL_MAX_GEOMETRY_UNIFORM_BLOCKS                 0x8a2c         /* 35372 */\n#define GL_MAX_FRAGMENT_UNIFORM_BLOCKS                 0x8a2d         /* 35373 */\n#define GL_MAX_COMBINED_UNIFORM_BLOCKS                 0x8a2e         /* 35374 */\n#define GL_MAX_UNIFORM_BUFFER_BINDINGS                 0x8a2f         /* 35375 */\n#define GL_MAX_UNIFORM_BLOCK_SIZE                      0x8a30         /* 35376 */\n#define GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS      0x8a31         /* 35377 */\n#define GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS    0x8a32         /* 35378 */\n#define GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS    0x8a33         /* 35379 */\n#define GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT             0x8a34         /* 35380 */\n#define GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH        0x8a35         /* 35381 */\n#define GL_ACTIVE_UNIFORM_BLOCKS                       0x8a36         /* 35382 */\n#define GL_UNIFORM_TYPE                                0x8a37         /* 35383 */\n#define GL_UNIFORM_SIZE                                0x8a38         /* 35384 */\n#define GL_UNIFORM_NAME_LENGTH                         0x8a39         /* 35385 */\n#define GL_UNIFORM_BLOCK_INDEX                         0x8a3a         /* 35386 */\n#define GL_UNIFORM_OFFSET                              0x8a3b         /* 35387 */\n#define GL_UNIFORM_ARRAY_STRIDE                        0x8a3c         /* 35388 */\n#define GL_UNIFORM_MATRIX_STRIDE                       0x8a3d         /* 35389 */\n#define GL_UNIFORM_IS_ROW_MAJOR                        0x8a3e         /* 35390 */\n#define GL_UNIFORM_BLOCK_BINDING                       0x8a3f         /* 35391 */\n#define GL_UNIFORM_BLOCK_DATA_SIZE                     0x8a40         /* 35392 */\n#define GL_UNIFORM_BLOCK_NAME_LENGTH                   0x8a41         /* 35393 */\n#define GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS               0x8a42         /* 35394 */\n#define GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES        0x8a43         /* 35395 */\n#define GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER   0x8a44         /* 35396 */\n#define GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER 0x8a45         /* 35397 */\n#define GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER 0x8a46         /* 35398 */\n#define GL_INVALID_INDEX                               0xffffffff     /* 4294967295 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_UNIFORM_BUFFER_OBJECT\ntypedef GLuint (REGAL_CALL *PFNGLGETUNIFORMBLOCKINDEXPROC)(GLuint program, const GLchar *uniformBlockName);\ntypedef void (REGAL_CALL *PFNGLBINDBUFFERBASEPROC)(GLenum target, GLuint index, GLuint buffer);\ntypedef void (REGAL_CALL *PFNGLBINDBUFFERRANGEPROC)(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);\ntypedef void (REGAL_CALL *PFNGLGETACTIVEUNIFORMBLOCKIVPROC)(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC)(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName);\ntypedef void (REGAL_CALL *PFNGLGETACTIVEUNIFORMNAMEPROC)(GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformName);\ntypedef void (REGAL_CALL *PFNGLGETACTIVEUNIFORMSIVPROC)(GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETINTEGERI_VPROC)(GLenum target, GLuint index, GLint *data);\ntypedef void (REGAL_CALL *PFNGLGETUNIFORMINDICESPROC)(GLuint program, GLsizei uniformCount, const GLchar * const *uniformNames, GLuint *uniformIndices);\ntypedef void (REGAL_CALL *PFNGLUNIFORMBLOCKBINDINGPROC)(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_UNIFORM_BUFFER_OBJECT\n#define glBindBufferBase                    rglBindBufferBase\n#define glBindBufferRange                   rglBindBufferRange\n#define glGetActiveUniformBlockName         rglGetActiveUniformBlockName\n#define glGetActiveUniformBlockiv           rglGetActiveUniformBlockiv\n#define glGetActiveUniformName              rglGetActiveUniformName\n#define glGetActiveUniformsiv               rglGetActiveUniformsiv\n#define glGetIntegeri_v                     rglGetIntegeri_v\n#define glGetUniformBlockIndex              rglGetUniformBlockIndex\n#define glGetUniformIndices                 rglGetUniformIndices\n#define glUniformBlockBinding               rglUniformBlockBinding\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_UNIFORM_BUFFER_OBJECT\nREGAL_DECL GLuint REGAL_CALL glGetUniformBlockIndex(GLuint program, const GLchar *uniformBlockName);\nREGAL_DECL void REGAL_CALL glBindBufferBase(GLenum target, GLuint index, GLuint buffer);\nREGAL_DECL void REGAL_CALL glBindBufferRange(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);\nREGAL_DECL void REGAL_CALL glGetActiveUniformBlockName(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName);\nREGAL_DECL void REGAL_CALL glGetActiveUniformBlockiv(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetActiveUniformName(GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformName);\nREGAL_DECL void REGAL_CALL glGetActiveUniformsiv(GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetIntegeri_v(GLenum target, GLuint index, GLint *data);\nREGAL_DECL void REGAL_CALL glGetUniformIndices(GLuint program, GLsizei uniformCount, const GLchar * const *uniformNames, GLuint *uniformIndices);\nREGAL_DECL void REGAL_CALL glUniformBlockBinding(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_UNIFORM_BUFFER_OBJECT\nREGAL_DECL GLuint REGAL_CALL plugin_glGetUniformBlockIndex(GLuint program, const GLchar *uniformBlockName);\nREGAL_DECL void REGAL_CALL plugin_glBindBufferBase(GLenum target, GLuint index, GLuint buffer);\nREGAL_DECL void REGAL_CALL plugin_glBindBufferRange(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);\nREGAL_DECL void REGAL_CALL plugin_glGetActiveUniformBlockName(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName);\nREGAL_DECL void REGAL_CALL plugin_glGetActiveUniformBlockiv(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetActiveUniformName(GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformName);\nREGAL_DECL void REGAL_CALL plugin_glGetActiveUniformsiv(GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetIntegeri_v(GLenum target, GLuint index, GLint *data);\nREGAL_DECL void REGAL_CALL plugin_glGetUniformIndices(GLuint program, GLsizei uniformCount, const GLchar * const *uniformNames, GLuint *uniformIndices);\nREGAL_DECL void REGAL_CALL plugin_glUniformBlockBinding(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding);\n#endif\n\n/**\n ** GL_ARB_vertex_array_object\n **/\n\n#if (defined(GL_ARB_VERTEX_ARRAY_OBJECT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_VERTEX_ARRAY_OBJECT)) && !defined(REGAL_NO_ENUM_GL_ARB_VERTEX_ARRAY_OBJECT)\n#define REGAL_NO_ENUM_GL_ARB_VERTEX_ARRAY_OBJECT\n#endif\n\n#if (defined(GL_ARB_VERTEX_ARRAY_OBJECT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_VERTEX_ARRAY_OBJECT)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_VERTEX_ARRAY_OBJECT)\n#define REGAL_NO_TYPEDEF_GL_ARB_VERTEX_ARRAY_OBJECT\n#endif\n\n#if (defined(GL_ARB_VERTEX_ARRAY_OBJECT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_VERTEX_ARRAY_OBJECT)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_VERTEX_ARRAY_OBJECT)\n#define REGAL_NO_NAMESPACE_GL_ARB_VERTEX_ARRAY_OBJECT\n#endif\n\n#if (defined(GL_ARB_VERTEX_ARRAY_OBJECT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_VERTEX_ARRAY_OBJECT)) && !defined(REGAL_NO_PLUGIN_GL_ARB_VERTEX_ARRAY_OBJECT)\n#define REGAL_NO_PLUGIN_GL_ARB_VERTEX_ARRAY_OBJECT\n#endif\n\n#if (defined(GL_ARB_VERTEX_ARRAY_OBJECT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_VERTEX_ARRAY_OBJECT)) && !defined(REGAL_NO_DECLARATION_GL_ARB_VERTEX_ARRAY_OBJECT)\n#define REGAL_NO_DECLARATION_GL_ARB_VERTEX_ARRAY_OBJECT\n#endif\n\n#ifndef GL_ARB_vertex_array_object\n#define GL_ARB_vertex_array_object 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_VERTEX_ARRAY_OBJECT\n#define GL_VERTEX_ARRAY_BINDING 0x85b5 /* 34229 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_VERTEX_ARRAY_OBJECT\ntypedef GLboolean (REGAL_CALL *PFNGLISVERTEXARRAYPROC)(GLuint array);\ntypedef void (REGAL_CALL *PFNGLBINDVERTEXARRAYPROC)(GLuint array);\ntypedef void (REGAL_CALL *PFNGLDELETEVERTEXARRAYSPROC)(GLsizei n, const GLuint *arrays);\ntypedef void (REGAL_CALL *PFNGLGENVERTEXARRAYSPROC)(GLsizei n, GLuint *arrays);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_VERTEX_ARRAY_OBJECT\n#define glBindVertexArray                   rglBindVertexArray\n#define glDeleteVertexArrays                rglDeleteVertexArrays\n#define glGenVertexArrays                   rglGenVertexArrays\n#define glIsVertexArray                     rglIsVertexArray\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_VERTEX_ARRAY_OBJECT\nREGAL_DECL GLboolean REGAL_CALL glIsVertexArray(GLuint array);\nREGAL_DECL void REGAL_CALL glBindVertexArray(GLuint array);\nREGAL_DECL void REGAL_CALL glDeleteVertexArrays(GLsizei n, const GLuint *arrays);\nREGAL_DECL void REGAL_CALL glGenVertexArrays(GLsizei n, GLuint *arrays);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_VERTEX_ARRAY_OBJECT\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsVertexArray(GLuint array);\nREGAL_DECL void REGAL_CALL plugin_glBindVertexArray(GLuint array);\nREGAL_DECL void REGAL_CALL plugin_glDeleteVertexArrays(GLsizei n, const GLuint *arrays);\nREGAL_DECL void REGAL_CALL plugin_glGenVertexArrays(GLsizei n, GLuint *arrays);\n#endif\n\n/**\n ** GL_ARB_vertex_attrib_64bit\n **/\n\n#if (defined(GL_ARB_VERTEX_ATTRIB_64BIT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_VERTEX_ATTRIB_64BIT)) && !defined(REGAL_NO_ENUM_GL_ARB_VERTEX_ATTRIB_64BIT)\n#define REGAL_NO_ENUM_GL_ARB_VERTEX_ATTRIB_64BIT\n#endif\n\n#if (defined(GL_ARB_VERTEX_ATTRIB_64BIT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_VERTEX_ATTRIB_64BIT)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_VERTEX_ATTRIB_64BIT)\n#define REGAL_NO_TYPEDEF_GL_ARB_VERTEX_ATTRIB_64BIT\n#endif\n\n#if (defined(GL_ARB_VERTEX_ATTRIB_64BIT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_VERTEX_ATTRIB_64BIT)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_VERTEX_ATTRIB_64BIT)\n#define REGAL_NO_NAMESPACE_GL_ARB_VERTEX_ATTRIB_64BIT\n#endif\n\n#if (defined(GL_ARB_VERTEX_ATTRIB_64BIT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_VERTEX_ATTRIB_64BIT)) && !defined(REGAL_NO_PLUGIN_GL_ARB_VERTEX_ATTRIB_64BIT)\n#define REGAL_NO_PLUGIN_GL_ARB_VERTEX_ATTRIB_64BIT\n#endif\n\n#if (defined(GL_ARB_VERTEX_ATTRIB_64BIT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_VERTEX_ATTRIB_64BIT)) && !defined(REGAL_NO_DECLARATION_GL_ARB_VERTEX_ATTRIB_64BIT)\n#define REGAL_NO_DECLARATION_GL_ARB_VERTEX_ATTRIB_64BIT\n#endif\n\n#ifndef GL_ARB_vertex_attrib_64bit\n#define GL_ARB_vertex_attrib_64bit 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_VERTEX_ATTRIB_64BIT\ntypedef void (REGAL_CALL *PFNGLGETVERTEXATTRIBLDVPROC)(GLuint index, GLenum pname, GLdouble *params);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBL1DPROC)(GLuint index, GLdouble x);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBL1DVPROC)(GLuint index, const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBL2DPROC)(GLuint index, GLdouble x, GLdouble y);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBL2DVPROC)(GLuint index, const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBL3DPROC)(GLuint index, GLdouble x, GLdouble y, GLdouble z);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBL3DVPROC)(GLuint index, const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBL4DPROC)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBL4DVPROC)(GLuint index, const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBLPOINTERPROC)(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_VERTEX_ATTRIB_64BIT\n#define glGetVertexAttribLdv                rglGetVertexAttribLdv\n#define glVertexAttribL1d                   rglVertexAttribL1d\n#define glVertexAttribL1dv                  rglVertexAttribL1dv\n#define glVertexAttribL2d                   rglVertexAttribL2d\n#define glVertexAttribL2dv                  rglVertexAttribL2dv\n#define glVertexAttribL3d                   rglVertexAttribL3d\n#define glVertexAttribL3dv                  rglVertexAttribL3dv\n#define glVertexAttribL4d                   rglVertexAttribL4d\n#define glVertexAttribL4dv                  rglVertexAttribL4dv\n#define glVertexAttribLPointer              rglVertexAttribLPointer\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_VERTEX_ATTRIB_64BIT\nREGAL_DECL void REGAL_CALL glGetVertexAttribLdv(GLuint index, GLenum pname, GLdouble *params);\nREGAL_DECL void REGAL_CALL glVertexAttribL1d(GLuint index, GLdouble x);\nREGAL_DECL void REGAL_CALL glVertexAttribL1dv(GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL glVertexAttribL2d(GLuint index, GLdouble x, GLdouble y);\nREGAL_DECL void REGAL_CALL glVertexAttribL2dv(GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL glVertexAttribL3d(GLuint index, GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL glVertexAttribL3dv(GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL glVertexAttribL4d(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nREGAL_DECL void REGAL_CALL glVertexAttribL4dv(GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL glVertexAttribLPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_VERTEX_ATTRIB_64BIT\nREGAL_DECL void REGAL_CALL plugin_glGetVertexAttribLdv(GLuint index, GLenum pname, GLdouble *params);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribL1d(GLuint index, GLdouble x);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribL1dv(GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribL2d(GLuint index, GLdouble x, GLdouble y);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribL2dv(GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribL3d(GLuint index, GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribL3dv(GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribL4d(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribL4dv(GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribLPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);\n#endif\n\n/**\n ** GL_ARB_vertex_attrib_binding\n **/\n\n#if (defined(GL_ARB_VERTEX_ATTRIB_BINDING) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_VERTEX_ATTRIB_BINDING)) && !defined(REGAL_NO_ENUM_GL_ARB_VERTEX_ATTRIB_BINDING)\n#define REGAL_NO_ENUM_GL_ARB_VERTEX_ATTRIB_BINDING\n#endif\n\n#if (defined(GL_ARB_VERTEX_ATTRIB_BINDING) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_VERTEX_ATTRIB_BINDING)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_VERTEX_ATTRIB_BINDING)\n#define REGAL_NO_TYPEDEF_GL_ARB_VERTEX_ATTRIB_BINDING\n#endif\n\n#if (defined(GL_ARB_VERTEX_ATTRIB_BINDING) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_VERTEX_ATTRIB_BINDING)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_VERTEX_ATTRIB_BINDING)\n#define REGAL_NO_NAMESPACE_GL_ARB_VERTEX_ATTRIB_BINDING\n#endif\n\n#if (defined(GL_ARB_VERTEX_ATTRIB_BINDING) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_VERTEX_ATTRIB_BINDING)) && !defined(REGAL_NO_PLUGIN_GL_ARB_VERTEX_ATTRIB_BINDING)\n#define REGAL_NO_PLUGIN_GL_ARB_VERTEX_ATTRIB_BINDING\n#endif\n\n#if (defined(GL_ARB_VERTEX_ATTRIB_BINDING) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_VERTEX_ATTRIB_BINDING)) && !defined(REGAL_NO_DECLARATION_GL_ARB_VERTEX_ATTRIB_BINDING)\n#define REGAL_NO_DECLARATION_GL_ARB_VERTEX_ATTRIB_BINDING\n#endif\n\n#ifndef GL_ARB_vertex_attrib_binding\n#define GL_ARB_vertex_attrib_binding 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_VERTEX_ATTRIB_BINDING\n#define GL_VERTEX_ATTRIB_BINDING             0x82d4     /* 33492 */\n#define GL_VERTEX_ATTRIB_RELATIVE_OFFSET     0x82d5     /* 33493 */\n#define GL_VERTEX_BINDING_DIVISOR            0x82d6     /* 33494 */\n#define GL_VERTEX_BINDING_OFFSET             0x82d7     /* 33495 */\n#define GL_VERTEX_BINDING_STRIDE             0x82d8     /* 33496 */\n#define GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET 0x82d9     /* 33497 */\n#define GL_MAX_VERTEX_ATTRIB_BINDINGS        0x82da     /* 33498 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_VERTEX_ATTRIB_BINDING\ntypedef void (REGAL_CALL *PFNGLBINDVERTEXBUFFERPROC)(GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBBINDINGPROC)(GLuint attribindex, GLuint bindingindex);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBFORMATPROC)(GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBIFORMATPROC)(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBLFORMATPROC)(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);\ntypedef void (REGAL_CALL *PFNGLVERTEXBINDINGDIVISORPROC)(GLuint bindingindex, GLuint divisor);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_VERTEX_ATTRIB_BINDING\n#define glBindVertexBuffer                  rglBindVertexBuffer\n#define glVertexAttribBinding               rglVertexAttribBinding\n#define glVertexAttribFormat                rglVertexAttribFormat\n#define glVertexAttribIFormat               rglVertexAttribIFormat\n#define glVertexAttribLFormat               rglVertexAttribLFormat\n#define glVertexBindingDivisor              rglVertexBindingDivisor\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_VERTEX_ATTRIB_BINDING\nREGAL_DECL void REGAL_CALL glBindVertexBuffer(GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride);\nREGAL_DECL void REGAL_CALL glVertexAttribBinding(GLuint attribindex, GLuint bindingindex);\nREGAL_DECL void REGAL_CALL glVertexAttribFormat(GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset);\nREGAL_DECL void REGAL_CALL glVertexAttribIFormat(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);\nREGAL_DECL void REGAL_CALL glVertexAttribLFormat(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);\nREGAL_DECL void REGAL_CALL glVertexBindingDivisor(GLuint bindingindex, GLuint divisor);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_VERTEX_ATTRIB_BINDING\nREGAL_DECL void REGAL_CALL plugin_glBindVertexBuffer(GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribBinding(GLuint attribindex, GLuint bindingindex);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribFormat(GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribIFormat(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribLFormat(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);\nREGAL_DECL void REGAL_CALL plugin_glVertexBindingDivisor(GLuint bindingindex, GLuint divisor);\n#endif\n\n/**\n ** GL_ARB_vertex_blend\n **/\n\n#if (defined(GL_ARB_VERTEX_BLEND) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_VERTEX_BLEND)) && !defined(REGAL_NO_ENUM_GL_ARB_VERTEX_BLEND)\n#define REGAL_NO_ENUM_GL_ARB_VERTEX_BLEND\n#endif\n\n#if (defined(GL_ARB_VERTEX_BLEND) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_VERTEX_BLEND)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_VERTEX_BLEND)\n#define REGAL_NO_TYPEDEF_GL_ARB_VERTEX_BLEND\n#endif\n\n#if (defined(GL_ARB_VERTEX_BLEND) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_VERTEX_BLEND)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_VERTEX_BLEND)\n#define REGAL_NO_NAMESPACE_GL_ARB_VERTEX_BLEND\n#endif\n\n#if (defined(GL_ARB_VERTEX_BLEND) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_VERTEX_BLEND)) && !defined(REGAL_NO_PLUGIN_GL_ARB_VERTEX_BLEND)\n#define REGAL_NO_PLUGIN_GL_ARB_VERTEX_BLEND\n#endif\n\n#if (defined(GL_ARB_VERTEX_BLEND) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_VERTEX_BLEND)) && !defined(REGAL_NO_DECLARATION_GL_ARB_VERTEX_BLEND)\n#define REGAL_NO_DECLARATION_GL_ARB_VERTEX_BLEND\n#endif\n\n#ifndef GL_ARB_vertex_blend\n#define GL_ARB_vertex_blend 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_VERTEX_BLEND\n#define GL_MODELVIEW0_ARB           0x1700     /* 5888 */\n#define GL_MODELVIEW1_ARB           0x850a     /* 34058 */\n#define GL_MAX_VERTEX_UNITS_ARB     0x86a4     /* 34468 */\n#define GL_ACTIVE_VERTEX_UNITS_ARB  0x86a5     /* 34469 */\n#define GL_WEIGHT_SUM_UNITY_ARB     0x86a6     /* 34470 */\n#define GL_VERTEX_BLEND_ARB         0x86a7     /* 34471 */\n#define GL_CURRENT_WEIGHT_ARB       0x86a8     /* 34472 */\n#define GL_WEIGHT_ARRAY_TYPE_ARB    0x86a9     /* 34473 */\n#define GL_WEIGHT_ARRAY_STRIDE_ARB  0x86aa     /* 34474 */\n#define GL_WEIGHT_ARRAY_SIZE_ARB    0x86ab     /* 34475 */\n#define GL_WEIGHT_ARRAY_POINTER_ARB 0x86ac     /* 34476 */\n#define GL_WEIGHT_ARRAY_ARB         0x86ad     /* 34477 */\n#define GL_MODELVIEW2_ARB           0x8722     /* 34594 */\n#define GL_MODELVIEW3_ARB           0x8723     /* 34595 */\n#define GL_MODELVIEW4_ARB           0x8724     /* 34596 */\n#define GL_MODELVIEW5_ARB           0x8725     /* 34597 */\n#define GL_MODELVIEW6_ARB           0x8726     /* 34598 */\n#define GL_MODELVIEW7_ARB           0x8727     /* 34599 */\n#define GL_MODELVIEW8_ARB           0x8728     /* 34600 */\n#define GL_MODELVIEW9_ARB           0x8729     /* 34601 */\n#define GL_MODELVIEW10_ARB          0x872a     /* 34602 */\n#define GL_MODELVIEW11_ARB          0x872b     /* 34603 */\n#define GL_MODELVIEW12_ARB          0x872c     /* 34604 */\n#define GL_MODELVIEW13_ARB          0x872d     /* 34605 */\n#define GL_MODELVIEW14_ARB          0x872e     /* 34606 */\n#define GL_MODELVIEW15_ARB          0x872f     /* 34607 */\n#define GL_MODELVIEW16_ARB          0x8730     /* 34608 */\n#define GL_MODELVIEW17_ARB          0x8731     /* 34609 */\n#define GL_MODELVIEW18_ARB          0x8732     /* 34610 */\n#define GL_MODELVIEW19_ARB          0x8733     /* 34611 */\n#define GL_MODELVIEW20_ARB          0x8734     /* 34612 */\n#define GL_MODELVIEW21_ARB          0x8735     /* 34613 */\n#define GL_MODELVIEW22_ARB          0x8736     /* 34614 */\n#define GL_MODELVIEW23_ARB          0x8737     /* 34615 */\n#define GL_MODELVIEW24_ARB          0x8738     /* 34616 */\n#define GL_MODELVIEW25_ARB          0x8739     /* 34617 */\n#define GL_MODELVIEW26_ARB          0x873a     /* 34618 */\n#define GL_MODELVIEW27_ARB          0x873b     /* 34619 */\n#define GL_MODELVIEW28_ARB          0x873c     /* 34620 */\n#define GL_MODELVIEW29_ARB          0x873d     /* 34621 */\n#define GL_MODELVIEW30_ARB          0x873e     /* 34622 */\n#define GL_MODELVIEW31_ARB          0x873f     /* 34623 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_VERTEX_BLEND\ntypedef void (REGAL_CALL *PFNGLVERTEXBLENDARBPROC)(GLint count);\ntypedef void (REGAL_CALL *PFNGLWEIGHTBVARBPROC)(GLint size, const GLbyte *weights);\ntypedef void (REGAL_CALL *PFNGLWEIGHTDVARBPROC)(GLint size, const GLdouble *weights);\ntypedef void (REGAL_CALL *PFNGLWEIGHTFVARBPROC)(GLint size, const GLfloat *weights);\ntypedef void (REGAL_CALL *PFNGLWEIGHTIVARBPROC)(GLint size, const GLint *weights);\ntypedef void (REGAL_CALL *PFNGLWEIGHTPOINTERARBPROC)(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);\ntypedef void (REGAL_CALL *PFNGLWEIGHTSVARBPROC)(GLint size, const GLshort *weights);\ntypedef void (REGAL_CALL *PFNGLWEIGHTUBVARBPROC)(GLint size, const GLubyte *weights);\ntypedef void (REGAL_CALL *PFNGLWEIGHTUIVARBPROC)(GLint size, const GLuint *weights);\ntypedef void (REGAL_CALL *PFNGLWEIGHTUSVARBPROC)(GLint size, const GLushort *weights);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_VERTEX_BLEND\n#define glVertexBlendARB                    rglVertexBlendARB\n#define glWeightPointerARB                  rglWeightPointerARB\n#define glWeightbvARB                       rglWeightbvARB\n#define glWeightdvARB                       rglWeightdvARB\n#define glWeightfvARB                       rglWeightfvARB\n#define glWeightivARB                       rglWeightivARB\n#define glWeightsvARB                       rglWeightsvARB\n#define glWeightubvARB                      rglWeightubvARB\n#define glWeightuivARB                      rglWeightuivARB\n#define glWeightusvARB                      rglWeightusvARB\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_VERTEX_BLEND\nREGAL_DECL void REGAL_CALL glVertexBlendARB(GLint count);\nREGAL_DECL void REGAL_CALL glWeightPointerARB(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL glWeightbvARB(GLint size, const GLbyte *weights);\nREGAL_DECL void REGAL_CALL glWeightdvARB(GLint size, const GLdouble *weights);\nREGAL_DECL void REGAL_CALL glWeightfvARB(GLint size, const GLfloat *weights);\nREGAL_DECL void REGAL_CALL glWeightivARB(GLint size, const GLint *weights);\nREGAL_DECL void REGAL_CALL glWeightsvARB(GLint size, const GLshort *weights);\nREGAL_DECL void REGAL_CALL glWeightubvARB(GLint size, const GLubyte *weights);\nREGAL_DECL void REGAL_CALL glWeightuivARB(GLint size, const GLuint *weights);\nREGAL_DECL void REGAL_CALL glWeightusvARB(GLint size, const GLushort *weights);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_VERTEX_BLEND\nREGAL_DECL void REGAL_CALL plugin_glVertexBlendARB(GLint count);\nREGAL_DECL void REGAL_CALL plugin_glWeightPointerARB(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL plugin_glWeightbvARB(GLint size, const GLbyte *weights);\nREGAL_DECL void REGAL_CALL plugin_glWeightdvARB(GLint size, const GLdouble *weights);\nREGAL_DECL void REGAL_CALL plugin_glWeightfvARB(GLint size, const GLfloat *weights);\nREGAL_DECL void REGAL_CALL plugin_glWeightivARB(GLint size, const GLint *weights);\nREGAL_DECL void REGAL_CALL plugin_glWeightsvARB(GLint size, const GLshort *weights);\nREGAL_DECL void REGAL_CALL plugin_glWeightubvARB(GLint size, const GLubyte *weights);\nREGAL_DECL void REGAL_CALL plugin_glWeightuivARB(GLint size, const GLuint *weights);\nREGAL_DECL void REGAL_CALL plugin_glWeightusvARB(GLint size, const GLushort *weights);\n#endif\n\n/**\n ** GL_ARB_vertex_buffer_object\n **/\n\n#if (defined(GL_ARB_VERTEX_BUFFER_OBJECT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_VERTEX_BUFFER_OBJECT)) && !defined(REGAL_NO_ENUM_GL_ARB_VERTEX_BUFFER_OBJECT)\n#define REGAL_NO_ENUM_GL_ARB_VERTEX_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_ARB_VERTEX_BUFFER_OBJECT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_VERTEX_BUFFER_OBJECT)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_VERTEX_BUFFER_OBJECT)\n#define REGAL_NO_TYPEDEF_GL_ARB_VERTEX_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_ARB_VERTEX_BUFFER_OBJECT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_VERTEX_BUFFER_OBJECT)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_VERTEX_BUFFER_OBJECT)\n#define REGAL_NO_NAMESPACE_GL_ARB_VERTEX_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_ARB_VERTEX_BUFFER_OBJECT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_VERTEX_BUFFER_OBJECT)) && !defined(REGAL_NO_PLUGIN_GL_ARB_VERTEX_BUFFER_OBJECT)\n#define REGAL_NO_PLUGIN_GL_ARB_VERTEX_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_ARB_VERTEX_BUFFER_OBJECT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_VERTEX_BUFFER_OBJECT)) && !defined(REGAL_NO_DECLARATION_GL_ARB_VERTEX_BUFFER_OBJECT)\n#define REGAL_NO_DECLARATION_GL_ARB_VERTEX_BUFFER_OBJECT\n#endif\n\n#ifndef GL_ARB_vertex_buffer_object\n#define GL_ARB_vertex_buffer_object 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_VERTEX_BUFFER_OBJECT\n#define GL_BUFFER_SIZE_ARB                          0x8764     /* 34660 */\n#define GL_BUFFER_USAGE_ARB                         0x8765     /* 34661 */\n#define GL_ARRAY_BUFFER_ARB                         0x8892     /* 34962 */\n#define GL_ELEMENT_ARRAY_BUFFER_ARB                 0x8893     /* 34963 */\n#define GL_ARRAY_BUFFER_BINDING_ARB                 0x8894     /* 34964 */\n#define GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB         0x8895     /* 34965 */\n#define GL_VERTEX_ARRAY_BUFFER_BINDING_ARB          0x8896     /* 34966 */\n#define GL_NORMAL_ARRAY_BUFFER_BINDING_ARB          0x8897     /* 34967 */\n#define GL_COLOR_ARRAY_BUFFER_BINDING_ARB           0x8898     /* 34968 */\n#define GL_INDEX_ARRAY_BUFFER_BINDING_ARB           0x8899     /* 34969 */\n#define GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB   0x889a     /* 34970 */\n#define GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB       0x889b     /* 34971 */\n#define GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB 0x889c     /* 34972 */\n#define GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB  0x889d     /* 34973 */\n#define GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB          0x889e     /* 34974 */\n#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB   0x889f     /* 34975 */\n#define GL_READ_ONLY_ARB                            0x88b8     /* 35000 */\n#define GL_WRITE_ONLY_ARB                           0x88b9     /* 35001 */\n#define GL_READ_WRITE_ARB                           0x88ba     /* 35002 */\n#define GL_BUFFER_ACCESS_ARB                        0x88bb     /* 35003 */\n#define GL_BUFFER_MAPPED_ARB                        0x88bc     /* 35004 */\n#define GL_BUFFER_MAP_POINTER_ARB                   0x88bd     /* 35005 */\n#define GL_STREAM_DRAW_ARB                          0x88e0     /* 35040 */\n#define GL_STREAM_READ_ARB                          0x88e1     /* 35041 */\n#define GL_STREAM_COPY_ARB                          0x88e2     /* 35042 */\n#define GL_STATIC_DRAW_ARB                          0x88e4     /* 35044 */\n#define GL_STATIC_READ_ARB                          0x88e5     /* 35045 */\n#define GL_STATIC_COPY_ARB                          0x88e6     /* 35046 */\n#define GL_DYNAMIC_DRAW_ARB                         0x88e8     /* 35048 */\n#define GL_DYNAMIC_READ_ARB                         0x88e9     /* 35049 */\n#define GL_DYNAMIC_COPY_ARB                         0x88ea     /* 35050 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_VERTEX_BUFFER_OBJECT\ntypedef GLboolean (REGAL_CALL *PFNGLISBUFFERARBPROC)(GLuint buffer);\ntypedef GLboolean (REGAL_CALL *PFNGLUNMAPBUFFERARBPROC)(GLenum target);\ntypedef GLvoid *(REGAL_CALL *PFNGLMAPBUFFERARBPROC)(GLenum target, GLenum access);\ntypedef void (REGAL_CALL *PFNGLBINDBUFFERARBPROC)(GLenum target, GLuint buffer);\ntypedef void (REGAL_CALL *PFNGLBUFFERDATAARBPROC)(GLenum target, GLsizeiptrARB size, const GLvoid *data, GLenum usage);\ntypedef void (REGAL_CALL *PFNGLBUFFERSUBDATAARBPROC)(GLenum target, GLintptrARB offset, GLsizeiptrARB size, const GLvoid *data);\ntypedef void (REGAL_CALL *PFNGLDELETEBUFFERSARBPROC)(GLsizei n, const GLuint *buffers);\ntypedef void (REGAL_CALL *PFNGLGENBUFFERSARBPROC)(GLsizei n, GLuint *buffers);\ntypedef void (REGAL_CALL *PFNGLGETBUFFERPARAMETERIVARBPROC)(GLenum target, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETBUFFERPOINTERVARBPROC)(GLenum target, GLenum pname, GLvoid **params);\ntypedef void (REGAL_CALL *PFNGLGETBUFFERSUBDATAARBPROC)(GLenum target, GLintptrARB offset, GLsizeiptrARB size, GLvoid *data);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_VERTEX_BUFFER_OBJECT\n#define glBindBufferARB                     rglBindBufferARB\n#define glBufferDataARB                     rglBufferDataARB\n#define glBufferSubDataARB                  rglBufferSubDataARB\n#define glDeleteBuffersARB                  rglDeleteBuffersARB\n#define glGenBuffersARB                     rglGenBuffersARB\n#define glGetBufferParameterivARB           rglGetBufferParameterivARB\n#define glGetBufferPointervARB              rglGetBufferPointervARB\n#define glGetBufferSubDataARB               rglGetBufferSubDataARB\n#define glIsBufferARB                       rglIsBufferARB\n#define glMapBufferARB                      rglMapBufferARB\n#define glUnmapBufferARB                    rglUnmapBufferARB\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_VERTEX_BUFFER_OBJECT\nREGAL_DECL GLboolean REGAL_CALL glIsBufferARB(GLuint buffer);\nREGAL_DECL GLboolean REGAL_CALL glUnmapBufferARB(GLenum target);\nREGAL_DECL GLvoid *REGAL_CALL glMapBufferARB(GLenum target, GLenum access);\nREGAL_DECL void REGAL_CALL glBindBufferARB(GLenum target, GLuint buffer);\nREGAL_DECL void REGAL_CALL glBufferDataARB(GLenum target, GLsizeiptrARB size, const GLvoid *data, GLenum usage);\nREGAL_DECL void REGAL_CALL glBufferSubDataARB(GLenum target, GLintptrARB offset, GLsizeiptrARB size, const GLvoid *data);\nREGAL_DECL void REGAL_CALL glDeleteBuffersARB(GLsizei n, const GLuint *buffers);\nREGAL_DECL void REGAL_CALL glGenBuffersARB(GLsizei n, GLuint *buffers);\nREGAL_DECL void REGAL_CALL glGetBufferParameterivARB(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetBufferPointervARB(GLenum target, GLenum pname, GLvoid **params);\nREGAL_DECL void REGAL_CALL glGetBufferSubDataARB(GLenum target, GLintptrARB offset, GLsizeiptrARB size, GLvoid *data);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_VERTEX_BUFFER_OBJECT\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsBufferARB(GLuint buffer);\nREGAL_DECL GLboolean REGAL_CALL plugin_glUnmapBufferARB(GLenum target);\nREGAL_DECL GLvoid *REGAL_CALL plugin_glMapBufferARB(GLenum target, GLenum access);\nREGAL_DECL void REGAL_CALL plugin_glBindBufferARB(GLenum target, GLuint buffer);\nREGAL_DECL void REGAL_CALL plugin_glBufferDataARB(GLenum target, GLsizeiptrARB size, const GLvoid *data, GLenum usage);\nREGAL_DECL void REGAL_CALL plugin_glBufferSubDataARB(GLenum target, GLintptrARB offset, GLsizeiptrARB size, const GLvoid *data);\nREGAL_DECL void REGAL_CALL plugin_glDeleteBuffersARB(GLsizei n, const GLuint *buffers);\nREGAL_DECL void REGAL_CALL plugin_glGenBuffersARB(GLsizei n, GLuint *buffers);\nREGAL_DECL void REGAL_CALL plugin_glGetBufferParameterivARB(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetBufferPointervARB(GLenum target, GLenum pname, GLvoid **params);\nREGAL_DECL void REGAL_CALL plugin_glGetBufferSubDataARB(GLenum target, GLintptrARB offset, GLsizeiptrARB size, GLvoid *data);\n#endif\n\n/**\n ** GL_ARB_vertex_program\n **/\n\n#if (defined(GL_ARB_VERTEX_PROGRAM) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_VERTEX_PROGRAM)) && !defined(REGAL_NO_ENUM_GL_ARB_VERTEX_PROGRAM)\n#define REGAL_NO_ENUM_GL_ARB_VERTEX_PROGRAM\n#endif\n\n#if (defined(GL_ARB_VERTEX_PROGRAM) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_VERTEX_PROGRAM)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_VERTEX_PROGRAM)\n#define REGAL_NO_TYPEDEF_GL_ARB_VERTEX_PROGRAM\n#endif\n\n#if (defined(GL_ARB_VERTEX_PROGRAM) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_VERTEX_PROGRAM)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_VERTEX_PROGRAM)\n#define REGAL_NO_NAMESPACE_GL_ARB_VERTEX_PROGRAM\n#endif\n\n#if (defined(GL_ARB_VERTEX_PROGRAM) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_VERTEX_PROGRAM)) && !defined(REGAL_NO_PLUGIN_GL_ARB_VERTEX_PROGRAM)\n#define REGAL_NO_PLUGIN_GL_ARB_VERTEX_PROGRAM\n#endif\n\n#if (defined(GL_ARB_VERTEX_PROGRAM) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_VERTEX_PROGRAM)) && !defined(REGAL_NO_DECLARATION_GL_ARB_VERTEX_PROGRAM)\n#define REGAL_NO_DECLARATION_GL_ARB_VERTEX_PROGRAM\n#endif\n\n#ifndef GL_ARB_vertex_program\n#define GL_ARB_vertex_program 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_VERTEX_PROGRAM\n#define GL_COLOR_SUM_ARB                            0x8458     /* 33880 */\n#define GL_VERTEX_PROGRAM_ARB                       0x8620     /* 34336 */\n#define GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB          0x8622     /* 34338 */\n#define GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB             0x8623     /* 34339 */\n#define GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB           0x8624     /* 34340 */\n#define GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB             0x8625     /* 34341 */\n#define GL_CURRENT_VERTEX_ATTRIB_ARB                0x8626     /* 34342 */\n#define GL_PROGRAM_LENGTH_ARB                       0x8627     /* 34343 */\n#define GL_PROGRAM_STRING_ARB                       0x8628     /* 34344 */\n#define GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB       0x862e     /* 34350 */\n#define GL_MAX_PROGRAM_MATRICES_ARB                 0x862f     /* 34351 */\n#define GL_CURRENT_MATRIX_STACK_DEPTH_ARB           0x8640     /* 34368 */\n#define GL_CURRENT_MATRIX_ARB                       0x8641     /* 34369 */\n#define GL_VERTEX_PROGRAM_POINT_SIZE_ARB            0x8642     /* 34370 */\n#define GL_VERTEX_PROGRAM_TWO_SIDE_ARB              0x8643     /* 34371 */\n#define GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB          0x8645     /* 34373 */\n#define GL_PROGRAM_ERROR_POSITION_ARB               0x864b     /* 34379 */\n#define GL_PROGRAM_BINDING_ARB                      0x8677     /* 34423 */\n#define GL_MAX_VERTEX_ATTRIBS_ARB                   0x8869     /* 34921 */\n#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB       0x886a     /* 34922 */\n#define GL_PROGRAM_ERROR_STRING_ARB                 0x8874     /* 34932 */\n#define GL_PROGRAM_FORMAT_ASCII_ARB                 0x8875     /* 34933 */\n#define GL_PROGRAM_FORMAT_ARB                       0x8876     /* 34934 */\n#define GL_PROGRAM_INSTRUCTIONS_ARB                 0x88a0     /* 34976 */\n#define GL_MAX_PROGRAM_INSTRUCTIONS_ARB             0x88a1     /* 34977 */\n#define GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB          0x88a2     /* 34978 */\n#define GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB      0x88a3     /* 34979 */\n#define GL_PROGRAM_TEMPORARIES_ARB                  0x88a4     /* 34980 */\n#define GL_MAX_PROGRAM_TEMPORARIES_ARB              0x88a5     /* 34981 */\n#define GL_PROGRAM_NATIVE_TEMPORARIES_ARB           0x88a6     /* 34982 */\n#define GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB       0x88a7     /* 34983 */\n#define GL_PROGRAM_PARAMETERS_ARB                   0x88a8     /* 34984 */\n#define GL_MAX_PROGRAM_PARAMETERS_ARB               0x88a9     /* 34985 */\n#define GL_PROGRAM_NATIVE_PARAMETERS_ARB            0x88aa     /* 34986 */\n#define GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB        0x88ab     /* 34987 */\n#define GL_PROGRAM_ATTRIBS_ARB                      0x88ac     /* 34988 */\n#define GL_MAX_PROGRAM_ATTRIBS_ARB                  0x88ad     /* 34989 */\n#define GL_PROGRAM_NATIVE_ATTRIBS_ARB               0x88ae     /* 34990 */\n#define GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB           0x88af     /* 34991 */\n#define GL_PROGRAM_ADDRESS_REGISTERS_ARB            0x88b0     /* 34992 */\n#define GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB        0x88b1     /* 34993 */\n#define GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB     0x88b2     /* 34994 */\n#define GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB 0x88b3     /* 34995 */\n#define GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB         0x88b4     /* 34996 */\n#define GL_MAX_PROGRAM_ENV_PARAMETERS_ARB           0x88b5     /* 34997 */\n#define GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB          0x88b6     /* 34998 */\n#define GL_TRANSPOSE_CURRENT_MATRIX_ARB             0x88b7     /* 34999 */\n#define GL_MATRIX0_ARB                              0x88c0     /* 35008 */\n#define GL_MATRIX1_ARB                              0x88c1     /* 35009 */\n#define GL_MATRIX2_ARB                              0x88c2     /* 35010 */\n#define GL_MATRIX3_ARB                              0x88c3     /* 35011 */\n#define GL_MATRIX4_ARB                              0x88c4     /* 35012 */\n#define GL_MATRIX5_ARB                              0x88c5     /* 35013 */\n#define GL_MATRIX6_ARB                              0x88c6     /* 35014 */\n#define GL_MATRIX7_ARB                              0x88c7     /* 35015 */\n#define GL_MATRIX8_ARB                              0x88c8     /* 35016 */\n#define GL_MATRIX9_ARB                              0x88c9     /* 35017 */\n#define GL_MATRIX10_ARB                             0x88ca     /* 35018 */\n#define GL_MATRIX11_ARB                             0x88cb     /* 35019 */\n#define GL_MATRIX12_ARB                             0x88cc     /* 35020 */\n#define GL_MATRIX13_ARB                             0x88cd     /* 35021 */\n#define GL_MATRIX14_ARB                             0x88ce     /* 35022 */\n#define GL_MATRIX15_ARB                             0x88cf     /* 35023 */\n#define GL_MATRIX16_ARB                             0x88d0     /* 35024 */\n#define GL_MATRIX17_ARB                             0x88d1     /* 35025 */\n#define GL_MATRIX18_ARB                             0x88d2     /* 35026 */\n#define GL_MATRIX19_ARB                             0x88d3     /* 35027 */\n#define GL_MATRIX20_ARB                             0x88d4     /* 35028 */\n#define GL_MATRIX21_ARB                             0x88d5     /* 35029 */\n#define GL_MATRIX22_ARB                             0x88d6     /* 35030 */\n#define GL_MATRIX23_ARB                             0x88d7     /* 35031 */\n#define GL_MATRIX24_ARB                             0x88d8     /* 35032 */\n#define GL_MATRIX25_ARB                             0x88d9     /* 35033 */\n#define GL_MATRIX26_ARB                             0x88da     /* 35034 */\n#define GL_MATRIX27_ARB                             0x88db     /* 35035 */\n#define GL_MATRIX28_ARB                             0x88dc     /* 35036 */\n#define GL_MATRIX29_ARB                             0x88dd     /* 35037 */\n#define GL_MATRIX30_ARB                             0x88de     /* 35038 */\n#define GL_MATRIX31_ARB                             0x88df     /* 35039 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_VERTEX_PROGRAM\ntypedef GLboolean (REGAL_CALL *PFNGLISPROGRAMARBPROC)(GLuint program);\ntypedef void (REGAL_CALL *PFNGLBINDPROGRAMARBPROC)(GLenum target, GLuint program);\ntypedef void (REGAL_CALL *PFNGLDELETEPROGRAMSARBPROC)(GLsizei n, const GLuint *programs);\ntypedef void (REGAL_CALL *PFNGLDISABLEVERTEXATTRIBARRAYARBPROC)(GLuint index);\ntypedef void (REGAL_CALL *PFNGLENABLEVERTEXATTRIBARRAYARBPROC)(GLuint index);\ntypedef void (REGAL_CALL *PFNGLGENPROGRAMSARBPROC)(GLsizei n, GLuint *programs);\ntypedef void (REGAL_CALL *PFNGLGETPROGRAMENVPARAMETERDVARBPROC)(GLenum target, GLuint index, GLdouble *params);\ntypedef void (REGAL_CALL *PFNGLGETPROGRAMENVPARAMETERFVARBPROC)(GLenum target, GLuint index, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETPROGRAMIVARBPROC)(GLenum target, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC)(GLenum target, GLuint index, GLdouble *params);\ntypedef void (REGAL_CALL *PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC)(GLenum target, GLuint index, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETPROGRAMSTRINGARBPROC)(GLenum target, GLenum pname, GLvoid *string);\ntypedef void (REGAL_CALL *PFNGLGETVERTEXATTRIBDVARBPROC)(GLuint index, GLenum pname, GLdouble *params);\ntypedef void (REGAL_CALL *PFNGLGETVERTEXATTRIBFVARBPROC)(GLuint index, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETVERTEXATTRIBIVARBPROC)(GLuint index, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETVERTEXATTRIBPOINTERVARBPROC)(GLuint index, GLenum pname, GLvoid **pointer);\ntypedef void (REGAL_CALL *PFNGLPROGRAMENVPARAMETER4DARBPROC)(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\ntypedef void (REGAL_CALL *PFNGLPROGRAMENVPARAMETER4DVARBPROC)(GLenum target, GLuint index, const GLdouble *params);\ntypedef void (REGAL_CALL *PFNGLPROGRAMENVPARAMETER4FARBPROC)(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\ntypedef void (REGAL_CALL *PFNGLPROGRAMENVPARAMETER4FVARBPROC)(GLenum target, GLuint index, const GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLPROGRAMLOCALPARAMETER4DARBPROC)(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\ntypedef void (REGAL_CALL *PFNGLPROGRAMLOCALPARAMETER4DVARBPROC)(GLenum target, GLuint index, const GLdouble *params);\ntypedef void (REGAL_CALL *PFNGLPROGRAMLOCALPARAMETER4FARBPROC)(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\ntypedef void (REGAL_CALL *PFNGLPROGRAMLOCALPARAMETER4FVARBPROC)(GLenum target, GLuint index, const GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLPROGRAMSTRINGARBPROC)(GLenum target, GLenum format, GLsizei len, const GLvoid *string);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB1DARBPROC)(GLuint index, GLdouble x);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB1DVARBPROC)(GLuint index, const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB1FARBPROC)(GLuint index, GLfloat x);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB1FVARBPROC)(GLuint index, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB1SARBPROC)(GLuint index, GLshort x);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB1SVARBPROC)(GLuint index, const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB2DARBPROC)(GLuint index, GLdouble x, GLdouble y);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB2DVARBPROC)(GLuint index, const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB2FARBPROC)(GLuint index, GLfloat x, GLfloat y);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB2FVARBPROC)(GLuint index, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB2SARBPROC)(GLuint index, GLshort x, GLshort y);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB2SVARBPROC)(GLuint index, const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB3DARBPROC)(GLuint index, GLdouble x, GLdouble y, GLdouble z);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB3DVARBPROC)(GLuint index, const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB3FARBPROC)(GLuint index, GLfloat x, GLfloat y, GLfloat z);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB3FVARBPROC)(GLuint index, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB3SARBPROC)(GLuint index, GLshort x, GLshort y, GLshort z);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB3SVARBPROC)(GLuint index, const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4BVARBPROC)(GLuint index, const GLbyte *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4DARBPROC)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4DVARBPROC)(GLuint index, const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4FARBPROC)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4FVARBPROC)(GLuint index, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4IVARBPROC)(GLuint index, const GLint *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4NBVARBPROC)(GLuint index, const GLbyte *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4NIVARBPROC)(GLuint index, const GLint *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4NSVARBPROC)(GLuint index, const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4NUBARBPROC)(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4NUBVARBPROC)(GLuint index, const GLubyte *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4NUIVARBPROC)(GLuint index, const GLuint *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4NUSVARBPROC)(GLuint index, const GLushort *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4SARBPROC)(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4SVARBPROC)(GLuint index, const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4UBVARBPROC)(GLuint index, const GLubyte *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4UIVARBPROC)(GLuint index, const GLuint *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4USVARBPROC)(GLuint index, const GLushort *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBPOINTERARBPROC)(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_VERTEX_PROGRAM\n#define glBindProgramARB                    rglBindProgramARB\n#define glDeleteProgramsARB                 rglDeleteProgramsARB\n#define glDisableVertexAttribArrayARB       rglDisableVertexAttribArrayARB\n#define glEnableVertexAttribArrayARB        rglEnableVertexAttribArrayARB\n#define glGenProgramsARB                    rglGenProgramsARB\n#define glGetProgramEnvParameterdvARB       rglGetProgramEnvParameterdvARB\n#define glGetProgramEnvParameterfvARB       rglGetProgramEnvParameterfvARB\n#define glGetProgramLocalParameterdvARB     rglGetProgramLocalParameterdvARB\n#define glGetProgramLocalParameterfvARB     rglGetProgramLocalParameterfvARB\n#define glGetProgramStringARB               rglGetProgramStringARB\n#define glGetProgramivARB                   rglGetProgramivARB\n#define glGetVertexAttribPointervARB        rglGetVertexAttribPointervARB\n#define glGetVertexAttribdvARB              rglGetVertexAttribdvARB\n#define glGetVertexAttribfvARB              rglGetVertexAttribfvARB\n#define glGetVertexAttribivARB              rglGetVertexAttribivARB\n#define glIsProgramARB                      rglIsProgramARB\n#define glProgramEnvParameter4dARB          rglProgramEnvParameter4dARB\n#define glProgramEnvParameter4dvARB         rglProgramEnvParameter4dvARB\n#define glProgramEnvParameter4fARB          rglProgramEnvParameter4fARB\n#define glProgramEnvParameter4fvARB         rglProgramEnvParameter4fvARB\n#define glProgramLocalParameter4dARB        rglProgramLocalParameter4dARB\n#define glProgramLocalParameter4dvARB       rglProgramLocalParameter4dvARB\n#define glProgramLocalParameter4fARB        rglProgramLocalParameter4fARB\n#define glProgramLocalParameter4fvARB       rglProgramLocalParameter4fvARB\n#define glProgramStringARB                  rglProgramStringARB\n#define glVertexAttrib1dARB                 rglVertexAttrib1dARB\n#define glVertexAttrib1dvARB                rglVertexAttrib1dvARB\n#define glVertexAttrib1fARB                 rglVertexAttrib1fARB\n#define glVertexAttrib1fvARB                rglVertexAttrib1fvARB\n#define glVertexAttrib1sARB                 rglVertexAttrib1sARB\n#define glVertexAttrib1svARB                rglVertexAttrib1svARB\n#define glVertexAttrib2dARB                 rglVertexAttrib2dARB\n#define glVertexAttrib2dvARB                rglVertexAttrib2dvARB\n#define glVertexAttrib2fARB                 rglVertexAttrib2fARB\n#define glVertexAttrib2fvARB                rglVertexAttrib2fvARB\n#define glVertexAttrib2sARB                 rglVertexAttrib2sARB\n#define glVertexAttrib2svARB                rglVertexAttrib2svARB\n#define glVertexAttrib3dARB                 rglVertexAttrib3dARB\n#define glVertexAttrib3dvARB                rglVertexAttrib3dvARB\n#define glVertexAttrib3fARB                 rglVertexAttrib3fARB\n#define glVertexAttrib3fvARB                rglVertexAttrib3fvARB\n#define glVertexAttrib3sARB                 rglVertexAttrib3sARB\n#define glVertexAttrib3svARB                rglVertexAttrib3svARB\n#define glVertexAttrib4NbvARB               rglVertexAttrib4NbvARB\n#define glVertexAttrib4NivARB               rglVertexAttrib4NivARB\n#define glVertexAttrib4NsvARB               rglVertexAttrib4NsvARB\n#define glVertexAttrib4NubARB               rglVertexAttrib4NubARB\n#define glVertexAttrib4NubvARB              rglVertexAttrib4NubvARB\n#define glVertexAttrib4NuivARB              rglVertexAttrib4NuivARB\n#define glVertexAttrib4NusvARB              rglVertexAttrib4NusvARB\n#define glVertexAttrib4bvARB                rglVertexAttrib4bvARB\n#define glVertexAttrib4dARB                 rglVertexAttrib4dARB\n#define glVertexAttrib4dvARB                rglVertexAttrib4dvARB\n#define glVertexAttrib4fARB                 rglVertexAttrib4fARB\n#define glVertexAttrib4fvARB                rglVertexAttrib4fvARB\n#define glVertexAttrib4ivARB                rglVertexAttrib4ivARB\n#define glVertexAttrib4sARB                 rglVertexAttrib4sARB\n#define glVertexAttrib4svARB                rglVertexAttrib4svARB\n#define glVertexAttrib4ubvARB               rglVertexAttrib4ubvARB\n#define glVertexAttrib4uivARB               rglVertexAttrib4uivARB\n#define glVertexAttrib4usvARB               rglVertexAttrib4usvARB\n#define glVertexAttribPointerARB            rglVertexAttribPointerARB\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_VERTEX_PROGRAM\nREGAL_DECL GLboolean REGAL_CALL glIsProgramARB(GLuint program);\nREGAL_DECL void REGAL_CALL glBindProgramARB(GLenum target, GLuint program);\nREGAL_DECL void REGAL_CALL glDeleteProgramsARB(GLsizei n, const GLuint *programs);\nREGAL_DECL void REGAL_CALL glDisableVertexAttribArrayARB(GLuint index);\nREGAL_DECL void REGAL_CALL glEnableVertexAttribArrayARB(GLuint index);\nREGAL_DECL void REGAL_CALL glGenProgramsARB(GLsizei n, GLuint *programs);\nREGAL_DECL void REGAL_CALL glGetProgramEnvParameterdvARB(GLenum target, GLuint index, GLdouble *params);\nREGAL_DECL void REGAL_CALL glGetProgramEnvParameterfvARB(GLenum target, GLuint index, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetProgramLocalParameterdvARB(GLenum target, GLuint index, GLdouble *params);\nREGAL_DECL void REGAL_CALL glGetProgramLocalParameterfvARB(GLenum target, GLuint index, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetProgramStringARB(GLenum target, GLenum pname, GLvoid *string);\nREGAL_DECL void REGAL_CALL glGetProgramivARB(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetVertexAttribPointervARB(GLuint index, GLenum pname, GLvoid **pointer);\nREGAL_DECL void REGAL_CALL glGetVertexAttribdvARB(GLuint index, GLenum pname, GLdouble *params);\nREGAL_DECL void REGAL_CALL glGetVertexAttribfvARB(GLuint index, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetVertexAttribivARB(GLuint index, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glProgramEnvParameter4dARB(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nREGAL_DECL void REGAL_CALL glProgramEnvParameter4dvARB(GLenum target, GLuint index, const GLdouble *params);\nREGAL_DECL void REGAL_CALL glProgramEnvParameter4fARB(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nREGAL_DECL void REGAL_CALL glProgramEnvParameter4fvARB(GLenum target, GLuint index, const GLfloat *params);\nREGAL_DECL void REGAL_CALL glProgramLocalParameter4dARB(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nREGAL_DECL void REGAL_CALL glProgramLocalParameter4dvARB(GLenum target, GLuint index, const GLdouble *params);\nREGAL_DECL void REGAL_CALL glProgramLocalParameter4fARB(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nREGAL_DECL void REGAL_CALL glProgramLocalParameter4fvARB(GLenum target, GLuint index, const GLfloat *params);\nREGAL_DECL void REGAL_CALL glProgramStringARB(GLenum target, GLenum format, GLsizei len, const GLvoid *string);\nREGAL_DECL void REGAL_CALL glVertexAttrib1dARB(GLuint index, GLdouble x);\nREGAL_DECL void REGAL_CALL glVertexAttrib1dvARB(GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib1fARB(GLuint index, GLfloat x);\nREGAL_DECL void REGAL_CALL glVertexAttrib1fvARB(GLuint index, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib1sARB(GLuint index, GLshort x);\nREGAL_DECL void REGAL_CALL glVertexAttrib1svARB(GLuint index, const GLshort *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib2dARB(GLuint index, GLdouble x, GLdouble y);\nREGAL_DECL void REGAL_CALL glVertexAttrib2dvARB(GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib2fARB(GLuint index, GLfloat x, GLfloat y);\nREGAL_DECL void REGAL_CALL glVertexAttrib2fvARB(GLuint index, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib2sARB(GLuint index, GLshort x, GLshort y);\nREGAL_DECL void REGAL_CALL glVertexAttrib2svARB(GLuint index, const GLshort *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib3dARB(GLuint index, GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL glVertexAttrib3dvARB(GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib3fARB(GLuint index, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL glVertexAttrib3fvARB(GLuint index, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib3sARB(GLuint index, GLshort x, GLshort y, GLshort z);\nREGAL_DECL void REGAL_CALL glVertexAttrib3svARB(GLuint index, const GLshort *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib4NbvARB(GLuint index, const GLbyte *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib4NivARB(GLuint index, const GLint *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib4NsvARB(GLuint index, const GLshort *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib4NubARB(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);\nREGAL_DECL void REGAL_CALL glVertexAttrib4NubvARB(GLuint index, const GLubyte *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib4NuivARB(GLuint index, const GLuint *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib4NusvARB(GLuint index, const GLushort *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib4bvARB(GLuint index, const GLbyte *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib4dARB(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nREGAL_DECL void REGAL_CALL glVertexAttrib4dvARB(GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib4fARB(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nREGAL_DECL void REGAL_CALL glVertexAttrib4fvARB(GLuint index, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib4ivARB(GLuint index, const GLint *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib4sARB(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);\nREGAL_DECL void REGAL_CALL glVertexAttrib4svARB(GLuint index, const GLshort *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib4ubvARB(GLuint index, const GLubyte *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib4uivARB(GLuint index, const GLuint *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib4usvARB(GLuint index, const GLushort *v);\nREGAL_DECL void REGAL_CALL glVertexAttribPointerARB(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_VERTEX_PROGRAM\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsProgramARB(GLuint program);\nREGAL_DECL void REGAL_CALL plugin_glBindProgramARB(GLenum target, GLuint program);\nREGAL_DECL void REGAL_CALL plugin_glDeleteProgramsARB(GLsizei n, const GLuint *programs);\nREGAL_DECL void REGAL_CALL plugin_glDisableVertexAttribArrayARB(GLuint index);\nREGAL_DECL void REGAL_CALL plugin_glEnableVertexAttribArrayARB(GLuint index);\nREGAL_DECL void REGAL_CALL plugin_glGenProgramsARB(GLsizei n, GLuint *programs);\nREGAL_DECL void REGAL_CALL plugin_glGetProgramEnvParameterdvARB(GLenum target, GLuint index, GLdouble *params);\nREGAL_DECL void REGAL_CALL plugin_glGetProgramEnvParameterfvARB(GLenum target, GLuint index, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetProgramLocalParameterdvARB(GLenum target, GLuint index, GLdouble *params);\nREGAL_DECL void REGAL_CALL plugin_glGetProgramLocalParameterfvARB(GLenum target, GLuint index, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetProgramStringARB(GLenum target, GLenum pname, GLvoid *string);\nREGAL_DECL void REGAL_CALL plugin_glGetProgramivARB(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetVertexAttribPointervARB(GLuint index, GLenum pname, GLvoid **pointer);\nREGAL_DECL void REGAL_CALL plugin_glGetVertexAttribdvARB(GLuint index, GLenum pname, GLdouble *params);\nREGAL_DECL void REGAL_CALL plugin_glGetVertexAttribfvARB(GLuint index, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetVertexAttribivARB(GLuint index, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glProgramEnvParameter4dARB(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nREGAL_DECL void REGAL_CALL plugin_glProgramEnvParameter4dvARB(GLenum target, GLuint index, const GLdouble *params);\nREGAL_DECL void REGAL_CALL plugin_glProgramEnvParameter4fARB(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nREGAL_DECL void REGAL_CALL plugin_glProgramEnvParameter4fvARB(GLenum target, GLuint index, const GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glProgramLocalParameter4dARB(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nREGAL_DECL void REGAL_CALL plugin_glProgramLocalParameter4dvARB(GLenum target, GLuint index, const GLdouble *params);\nREGAL_DECL void REGAL_CALL plugin_glProgramLocalParameter4fARB(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nREGAL_DECL void REGAL_CALL plugin_glProgramLocalParameter4fvARB(GLenum target, GLuint index, const GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glProgramStringARB(GLenum target, GLenum format, GLsizei len, const GLvoid *string);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib1dARB(GLuint index, GLdouble x);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib1dvARB(GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib1fARB(GLuint index, GLfloat x);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib1fvARB(GLuint index, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib1sARB(GLuint index, GLshort x);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib1svARB(GLuint index, const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib2dARB(GLuint index, GLdouble x, GLdouble y);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib2dvARB(GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib2fARB(GLuint index, GLfloat x, GLfloat y);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib2fvARB(GLuint index, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib2sARB(GLuint index, GLshort x, GLshort y);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib2svARB(GLuint index, const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib3dARB(GLuint index, GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib3dvARB(GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib3fARB(GLuint index, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib3fvARB(GLuint index, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib3sARB(GLuint index, GLshort x, GLshort y, GLshort z);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib3svARB(GLuint index, const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4NbvARB(GLuint index, const GLbyte *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4NivARB(GLuint index, const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4NsvARB(GLuint index, const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4NubARB(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4NubvARB(GLuint index, const GLubyte *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4NuivARB(GLuint index, const GLuint *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4NusvARB(GLuint index, const GLushort *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4bvARB(GLuint index, const GLbyte *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4dARB(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4dvARB(GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4fARB(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4fvARB(GLuint index, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4ivARB(GLuint index, const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4sARB(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4svARB(GLuint index, const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4ubvARB(GLuint index, const GLubyte *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4uivARB(GLuint index, const GLuint *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4usvARB(GLuint index, const GLushort *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribPointerARB(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer);\n#endif\n\n/**\n ** GL_ARB_vertex_shader\n **/\n\n#if (defined(GL_ARB_VERTEX_SHADER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_VERTEX_SHADER)) && !defined(REGAL_NO_ENUM_GL_ARB_VERTEX_SHADER)\n#define REGAL_NO_ENUM_GL_ARB_VERTEX_SHADER\n#endif\n\n#if (defined(GL_ARB_VERTEX_SHADER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_VERTEX_SHADER)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_VERTEX_SHADER)\n#define REGAL_NO_TYPEDEF_GL_ARB_VERTEX_SHADER\n#endif\n\n#if (defined(GL_ARB_VERTEX_SHADER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_VERTEX_SHADER)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_VERTEX_SHADER)\n#define REGAL_NO_NAMESPACE_GL_ARB_VERTEX_SHADER\n#endif\n\n#if (defined(GL_ARB_VERTEX_SHADER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_VERTEX_SHADER)) && !defined(REGAL_NO_PLUGIN_GL_ARB_VERTEX_SHADER)\n#define REGAL_NO_PLUGIN_GL_ARB_VERTEX_SHADER\n#endif\n\n#if (defined(GL_ARB_VERTEX_SHADER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_VERTEX_SHADER)) && !defined(REGAL_NO_DECLARATION_GL_ARB_VERTEX_SHADER)\n#define REGAL_NO_DECLARATION_GL_ARB_VERTEX_SHADER\n#endif\n\n#ifndef GL_ARB_vertex_shader\n#define GL_ARB_vertex_shader 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_VERTEX_SHADER\n#define GL_VERTEX_SHADER_ARB                      0x8b31     /* 35633 */\n#define GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB      0x8b4a     /* 35658 */\n#define GL_MAX_VARYING_FLOATS_ARB                 0x8b4b     /* 35659 */\n#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB     0x8b4c     /* 35660 */\n#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB   0x8b4d     /* 35661 */\n#define GL_OBJECT_ACTIVE_ATTRIBUTES_ARB           0x8b89     /* 35721 */\n#define GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB 0x8b8a     /* 35722 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_VERTEX_SHADER\ntypedef GLint (REGAL_CALL *PFNGLGETATTRIBLOCATIONARBPROC)(GLhandleARB programObj, const GLcharARB *name);\ntypedef void (REGAL_CALL *PFNGLBINDATTRIBLOCATIONARBPROC)(GLhandleARB programObj, GLuint index, const GLcharARB *name);\ntypedef void (REGAL_CALL *PFNGLGETACTIVEATTRIBARBPROC)(GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei *length, GLint *size, GLenum *type, GLcharARB *name);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_VERTEX_SHADER\n#define glBindAttribLocationARB             rglBindAttribLocationARB\n#define glGetActiveAttribARB                rglGetActiveAttribARB\n#define glGetAttribLocationARB              rglGetAttribLocationARB\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_VERTEX_SHADER\nREGAL_DECL GLint REGAL_CALL glGetAttribLocationARB(GLhandleARB programObj, const GLcharARB *name);\nREGAL_DECL void REGAL_CALL glBindAttribLocationARB(GLhandleARB programObj, GLuint index, const GLcharARB *name);\nREGAL_DECL void REGAL_CALL glGetActiveAttribARB(GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei *length, GLint *size, GLenum *type, GLcharARB *name);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_VERTEX_SHADER\nREGAL_DECL GLint REGAL_CALL plugin_glGetAttribLocationARB(GLhandleARB programObj, const GLcharARB *name);\nREGAL_DECL void REGAL_CALL plugin_glBindAttribLocationARB(GLhandleARB programObj, GLuint index, const GLcharARB *name);\nREGAL_DECL void REGAL_CALL plugin_glGetActiveAttribARB(GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei *length, GLint *size, GLenum *type, GLcharARB *name);\n#endif\n\n/**\n ** GL_ARB_vertex_type_2_10_10_10_rev\n **/\n\n#if (defined(GL_ARB_VERTEX_TYPE_2_10_10_10_REV) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_VERTEX_TYPE_2_10_10_10_REV)) && !defined(REGAL_NO_ENUM_GL_ARB_VERTEX_TYPE_2_10_10_10_REV)\n#define REGAL_NO_ENUM_GL_ARB_VERTEX_TYPE_2_10_10_10_REV\n#endif\n\n#if (defined(GL_ARB_VERTEX_TYPE_2_10_10_10_REV) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_VERTEX_TYPE_2_10_10_10_REV)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_VERTEX_TYPE_2_10_10_10_REV)\n#define REGAL_NO_TYPEDEF_GL_ARB_VERTEX_TYPE_2_10_10_10_REV\n#endif\n\n#if (defined(GL_ARB_VERTEX_TYPE_2_10_10_10_REV) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_VERTEX_TYPE_2_10_10_10_REV)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_VERTEX_TYPE_2_10_10_10_REV)\n#define REGAL_NO_NAMESPACE_GL_ARB_VERTEX_TYPE_2_10_10_10_REV\n#endif\n\n#if (defined(GL_ARB_VERTEX_TYPE_2_10_10_10_REV) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_VERTEX_TYPE_2_10_10_10_REV)) && !defined(REGAL_NO_PLUGIN_GL_ARB_VERTEX_TYPE_2_10_10_10_REV)\n#define REGAL_NO_PLUGIN_GL_ARB_VERTEX_TYPE_2_10_10_10_REV\n#endif\n\n#if (defined(GL_ARB_VERTEX_TYPE_2_10_10_10_REV) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_VERTEX_TYPE_2_10_10_10_REV)) && !defined(REGAL_NO_DECLARATION_GL_ARB_VERTEX_TYPE_2_10_10_10_REV)\n#define REGAL_NO_DECLARATION_GL_ARB_VERTEX_TYPE_2_10_10_10_REV\n#endif\n\n#ifndef GL_ARB_vertex_type_2_10_10_10_rev\n#define GL_ARB_vertex_type_2_10_10_10_rev 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_VERTEX_TYPE_2_10_10_10_REV\n#define GL_INT_2_10_10_10_REV 0x8d9f /* 36255 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_VERTEX_TYPE_2_10_10_10_REV\ntypedef void (REGAL_CALL *PFNGLCOLORP3UIPROC)(GLenum type, GLuint color);\ntypedef void (REGAL_CALL *PFNGLCOLORP3UIVPROC)(GLenum type, const GLuint *color);\ntypedef void (REGAL_CALL *PFNGLCOLORP4UIPROC)(GLenum type, GLuint color);\ntypedef void (REGAL_CALL *PFNGLCOLORP4UIVPROC)(GLenum type, const GLuint *color);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORDP1UIPROC)(GLenum texture, GLenum type, GLuint coords);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORDP1UIVPROC)(GLenum texture, GLenum type, const GLuint *coords);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORDP2UIPROC)(GLenum texture, GLenum type, GLuint coords);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORDP2UIVPROC)(GLenum texture, GLenum type, const GLuint *coords);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORDP3UIPROC)(GLenum texture, GLenum type, GLuint coords);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORDP3UIVPROC)(GLenum texture, GLenum type, const GLuint *coords);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORDP4UIPROC)(GLenum texture, GLenum type, GLuint coords);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORDP4UIVPROC)(GLenum texture, GLenum type, const GLuint *coords);\ntypedef void (REGAL_CALL *PFNGLNORMALP3UIPROC)(GLenum type, GLuint coords);\ntypedef void (REGAL_CALL *PFNGLNORMALP3UIVPROC)(GLenum type, const GLuint *coords);\ntypedef void (REGAL_CALL *PFNGLSECONDARYCOLORP3UIPROC)(GLenum type, GLuint color);\ntypedef void (REGAL_CALL *PFNGLSECONDARYCOLORP3UIVPROC)(GLenum type, const GLuint *color);\ntypedef void (REGAL_CALL *PFNGLTEXCOORDP1UIPROC)(GLenum type, GLuint coords);\ntypedef void (REGAL_CALL *PFNGLTEXCOORDP1UIVPROC)(GLenum type, const GLuint *coords);\ntypedef void (REGAL_CALL *PFNGLTEXCOORDP2UIPROC)(GLenum type, GLuint coords);\ntypedef void (REGAL_CALL *PFNGLTEXCOORDP2UIVPROC)(GLenum type, const GLuint *coords);\ntypedef void (REGAL_CALL *PFNGLTEXCOORDP3UIPROC)(GLenum type, GLuint coords);\ntypedef void (REGAL_CALL *PFNGLTEXCOORDP3UIVPROC)(GLenum type, const GLuint *coords);\ntypedef void (REGAL_CALL *PFNGLTEXCOORDP4UIPROC)(GLenum type, GLuint coords);\ntypedef void (REGAL_CALL *PFNGLTEXCOORDP4UIVPROC)(GLenum type, const GLuint *coords);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBP1UIPROC)(GLuint index, GLenum type, GLboolean normalized, GLuint value);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBP1UIVPROC)(GLuint index, GLenum type, GLboolean normalized, const GLuint *value);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBP2UIPROC)(GLuint index, GLenum type, GLboolean normalized, GLuint value);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBP2UIVPROC)(GLuint index, GLenum type, GLboolean normalized, const GLuint *value);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBP3UIPROC)(GLuint index, GLenum type, GLboolean normalized, GLuint value);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBP3UIVPROC)(GLuint index, GLenum type, GLboolean normalized, const GLuint *value);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBP4UIPROC)(GLuint index, GLenum type, GLboolean normalized, GLuint value);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBP4UIVPROC)(GLuint index, GLenum type, GLboolean normalized, const GLuint *value);\ntypedef void (REGAL_CALL *PFNGLVERTEXP2UIPROC)(GLenum type, GLuint coords);\ntypedef void (REGAL_CALL *PFNGLVERTEXP2UIVPROC)(GLenum type, const GLuint *coords);\ntypedef void (REGAL_CALL *PFNGLVERTEXP3UIPROC)(GLenum type, GLuint coords);\ntypedef void (REGAL_CALL *PFNGLVERTEXP3UIVPROC)(GLenum type, const GLuint *coords);\ntypedef void (REGAL_CALL *PFNGLVERTEXP4UIPROC)(GLenum type, GLuint coords);\ntypedef void (REGAL_CALL *PFNGLVERTEXP4UIVPROC)(GLenum type, const GLuint *coords);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_VERTEX_TYPE_2_10_10_10_REV\n#define glColorP3ui                         rglColorP3ui\n#define glColorP3uiv                        rglColorP3uiv\n#define glColorP4ui                         rglColorP4ui\n#define glColorP4uiv                        rglColorP4uiv\n#define glMultiTexCoordP1ui                 rglMultiTexCoordP1ui\n#define glMultiTexCoordP1uiv                rglMultiTexCoordP1uiv\n#define glMultiTexCoordP2ui                 rglMultiTexCoordP2ui\n#define glMultiTexCoordP2uiv                rglMultiTexCoordP2uiv\n#define glMultiTexCoordP3ui                 rglMultiTexCoordP3ui\n#define glMultiTexCoordP3uiv                rglMultiTexCoordP3uiv\n#define glMultiTexCoordP4ui                 rglMultiTexCoordP4ui\n#define glMultiTexCoordP4uiv                rglMultiTexCoordP4uiv\n#define glNormalP3ui                        rglNormalP3ui\n#define glNormalP3uiv                       rglNormalP3uiv\n#define glSecondaryColorP3ui                rglSecondaryColorP3ui\n#define glSecondaryColorP3uiv               rglSecondaryColorP3uiv\n#define glTexCoordP1ui                      rglTexCoordP1ui\n#define glTexCoordP1uiv                     rglTexCoordP1uiv\n#define glTexCoordP2ui                      rglTexCoordP2ui\n#define glTexCoordP2uiv                     rglTexCoordP2uiv\n#define glTexCoordP3ui                      rglTexCoordP3ui\n#define glTexCoordP3uiv                     rglTexCoordP3uiv\n#define glTexCoordP4ui                      rglTexCoordP4ui\n#define glTexCoordP4uiv                     rglTexCoordP4uiv\n#define glVertexAttribP1ui                  rglVertexAttribP1ui\n#define glVertexAttribP1uiv                 rglVertexAttribP1uiv\n#define glVertexAttribP2ui                  rglVertexAttribP2ui\n#define glVertexAttribP2uiv                 rglVertexAttribP2uiv\n#define glVertexAttribP3ui                  rglVertexAttribP3ui\n#define glVertexAttribP3uiv                 rglVertexAttribP3uiv\n#define glVertexAttribP4ui                  rglVertexAttribP4ui\n#define glVertexAttribP4uiv                 rglVertexAttribP4uiv\n#define glVertexP2ui                        rglVertexP2ui\n#define glVertexP2uiv                       rglVertexP2uiv\n#define glVertexP3ui                        rglVertexP3ui\n#define glVertexP3uiv                       rglVertexP3uiv\n#define glVertexP4ui                        rglVertexP4ui\n#define glVertexP4uiv                       rglVertexP4uiv\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_VERTEX_TYPE_2_10_10_10_REV\nREGAL_DECL void REGAL_CALL glColorP3ui(GLenum type, GLuint color);\nREGAL_DECL void REGAL_CALL glColorP3uiv(GLenum type, const GLuint *color);\nREGAL_DECL void REGAL_CALL glColorP4ui(GLenum type, GLuint color);\nREGAL_DECL void REGAL_CALL glColorP4uiv(GLenum type, const GLuint *color);\nREGAL_DECL void REGAL_CALL glMultiTexCoordP1ui(GLenum texture, GLenum type, GLuint coords);\nREGAL_DECL void REGAL_CALL glMultiTexCoordP1uiv(GLenum texture, GLenum type, const GLuint *coords);\nREGAL_DECL void REGAL_CALL glMultiTexCoordP2ui(GLenum texture, GLenum type, GLuint coords);\nREGAL_DECL void REGAL_CALL glMultiTexCoordP2uiv(GLenum texture, GLenum type, const GLuint *coords);\nREGAL_DECL void REGAL_CALL glMultiTexCoordP3ui(GLenum texture, GLenum type, GLuint coords);\nREGAL_DECL void REGAL_CALL glMultiTexCoordP3uiv(GLenum texture, GLenum type, const GLuint *coords);\nREGAL_DECL void REGAL_CALL glMultiTexCoordP4ui(GLenum texture, GLenum type, GLuint coords);\nREGAL_DECL void REGAL_CALL glMultiTexCoordP4uiv(GLenum texture, GLenum type, const GLuint *coords);\nREGAL_DECL void REGAL_CALL glNormalP3ui(GLenum type, GLuint coords);\nREGAL_DECL void REGAL_CALL glNormalP3uiv(GLenum type, const GLuint *coords);\nREGAL_DECL void REGAL_CALL glSecondaryColorP3ui(GLenum type, GLuint color);\nREGAL_DECL void REGAL_CALL glSecondaryColorP3uiv(GLenum type, const GLuint *color);\nREGAL_DECL void REGAL_CALL glTexCoordP1ui(GLenum type, GLuint coords);\nREGAL_DECL void REGAL_CALL glTexCoordP1uiv(GLenum type, const GLuint *coords);\nREGAL_DECL void REGAL_CALL glTexCoordP2ui(GLenum type, GLuint coords);\nREGAL_DECL void REGAL_CALL glTexCoordP2uiv(GLenum type, const GLuint *coords);\nREGAL_DECL void REGAL_CALL glTexCoordP3ui(GLenum type, GLuint coords);\nREGAL_DECL void REGAL_CALL glTexCoordP3uiv(GLenum type, const GLuint *coords);\nREGAL_DECL void REGAL_CALL glTexCoordP4ui(GLenum type, GLuint coords);\nREGAL_DECL void REGAL_CALL glTexCoordP4uiv(GLenum type, const GLuint *coords);\nREGAL_DECL void REGAL_CALL glVertexAttribP1ui(GLuint index, GLenum type, GLboolean normalized, GLuint value);\nREGAL_DECL void REGAL_CALL glVertexAttribP1uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value);\nREGAL_DECL void REGAL_CALL glVertexAttribP2ui(GLuint index, GLenum type, GLboolean normalized, GLuint value);\nREGAL_DECL void REGAL_CALL glVertexAttribP2uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value);\nREGAL_DECL void REGAL_CALL glVertexAttribP3ui(GLuint index, GLenum type, GLboolean normalized, GLuint value);\nREGAL_DECL void REGAL_CALL glVertexAttribP3uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value);\nREGAL_DECL void REGAL_CALL glVertexAttribP4ui(GLuint index, GLenum type, GLboolean normalized, GLuint value);\nREGAL_DECL void REGAL_CALL glVertexAttribP4uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value);\nREGAL_DECL void REGAL_CALL glVertexP2ui(GLenum type, GLuint coords);\nREGAL_DECL void REGAL_CALL glVertexP2uiv(GLenum type, const GLuint *coords);\nREGAL_DECL void REGAL_CALL glVertexP3ui(GLenum type, GLuint coords);\nREGAL_DECL void REGAL_CALL glVertexP3uiv(GLenum type, const GLuint *coords);\nREGAL_DECL void REGAL_CALL glVertexP4ui(GLenum type, GLuint coords);\nREGAL_DECL void REGAL_CALL glVertexP4uiv(GLenum type, const GLuint *coords);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_VERTEX_TYPE_2_10_10_10_REV\nREGAL_DECL void REGAL_CALL plugin_glColorP3ui(GLenum type, GLuint color);\nREGAL_DECL void REGAL_CALL plugin_glColorP3uiv(GLenum type, const GLuint *color);\nREGAL_DECL void REGAL_CALL plugin_glColorP4ui(GLenum type, GLuint color);\nREGAL_DECL void REGAL_CALL plugin_glColorP4uiv(GLenum type, const GLuint *color);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoordP1ui(GLenum texture, GLenum type, GLuint coords);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoordP1uiv(GLenum texture, GLenum type, const GLuint *coords);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoordP2ui(GLenum texture, GLenum type, GLuint coords);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoordP2uiv(GLenum texture, GLenum type, const GLuint *coords);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoordP3ui(GLenum texture, GLenum type, GLuint coords);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoordP3uiv(GLenum texture, GLenum type, const GLuint *coords);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoordP4ui(GLenum texture, GLenum type, GLuint coords);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoordP4uiv(GLenum texture, GLenum type, const GLuint *coords);\nREGAL_DECL void REGAL_CALL plugin_glNormalP3ui(GLenum type, GLuint coords);\nREGAL_DECL void REGAL_CALL plugin_glNormalP3uiv(GLenum type, const GLuint *coords);\nREGAL_DECL void REGAL_CALL plugin_glSecondaryColorP3ui(GLenum type, GLuint color);\nREGAL_DECL void REGAL_CALL plugin_glSecondaryColorP3uiv(GLenum type, const GLuint *color);\nREGAL_DECL void REGAL_CALL plugin_glTexCoordP1ui(GLenum type, GLuint coords);\nREGAL_DECL void REGAL_CALL plugin_glTexCoordP1uiv(GLenum type, const GLuint *coords);\nREGAL_DECL void REGAL_CALL plugin_glTexCoordP2ui(GLenum type, GLuint coords);\nREGAL_DECL void REGAL_CALL plugin_glTexCoordP2uiv(GLenum type, const GLuint *coords);\nREGAL_DECL void REGAL_CALL plugin_glTexCoordP3ui(GLenum type, GLuint coords);\nREGAL_DECL void REGAL_CALL plugin_glTexCoordP3uiv(GLenum type, const GLuint *coords);\nREGAL_DECL void REGAL_CALL plugin_glTexCoordP4ui(GLenum type, GLuint coords);\nREGAL_DECL void REGAL_CALL plugin_glTexCoordP4uiv(GLenum type, const GLuint *coords);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribP1ui(GLuint index, GLenum type, GLboolean normalized, GLuint value);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribP1uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribP2ui(GLuint index, GLenum type, GLboolean normalized, GLuint value);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribP2uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribP3ui(GLuint index, GLenum type, GLboolean normalized, GLuint value);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribP3uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribP4ui(GLuint index, GLenum type, GLboolean normalized, GLuint value);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribP4uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value);\nREGAL_DECL void REGAL_CALL plugin_glVertexP2ui(GLenum type, GLuint coords);\nREGAL_DECL void REGAL_CALL plugin_glVertexP2uiv(GLenum type, const GLuint *coords);\nREGAL_DECL void REGAL_CALL plugin_glVertexP3ui(GLenum type, GLuint coords);\nREGAL_DECL void REGAL_CALL plugin_glVertexP3uiv(GLenum type, const GLuint *coords);\nREGAL_DECL void REGAL_CALL plugin_glVertexP4ui(GLenum type, GLuint coords);\nREGAL_DECL void REGAL_CALL plugin_glVertexP4uiv(GLenum type, const GLuint *coords);\n#endif\n\n/**\n ** GL_ARB_viewport_array\n **/\n\n#if (defined(GL_ARB_VIEWPORT_ARRAY) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_VIEWPORT_ARRAY)) && !defined(REGAL_NO_ENUM_GL_ARB_VIEWPORT_ARRAY)\n#define REGAL_NO_ENUM_GL_ARB_VIEWPORT_ARRAY\n#endif\n\n#if (defined(GL_ARB_VIEWPORT_ARRAY) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_VIEWPORT_ARRAY)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_VIEWPORT_ARRAY)\n#define REGAL_NO_TYPEDEF_GL_ARB_VIEWPORT_ARRAY\n#endif\n\n#if (defined(GL_ARB_VIEWPORT_ARRAY) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_VIEWPORT_ARRAY)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_VIEWPORT_ARRAY)\n#define REGAL_NO_NAMESPACE_GL_ARB_VIEWPORT_ARRAY\n#endif\n\n#if (defined(GL_ARB_VIEWPORT_ARRAY) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_VIEWPORT_ARRAY)) && !defined(REGAL_NO_PLUGIN_GL_ARB_VIEWPORT_ARRAY)\n#define REGAL_NO_PLUGIN_GL_ARB_VIEWPORT_ARRAY\n#endif\n\n#if (defined(GL_ARB_VIEWPORT_ARRAY) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_VIEWPORT_ARRAY)) && !defined(REGAL_NO_DECLARATION_GL_ARB_VIEWPORT_ARRAY)\n#define REGAL_NO_DECLARATION_GL_ARB_VIEWPORT_ARRAY\n#endif\n\n#ifndef GL_ARB_viewport_array\n#define GL_ARB_viewport_array 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_VIEWPORT_ARRAY\n#define GL_MAX_VIEWPORTS                   0x825b     /* 33371 */\n#define GL_VIEWPORT_SUBPIXEL_BITS          0x825c     /* 33372 */\n#define GL_VIEWPORT_BOUNDS_RANGE           0x825d     /* 33373 */\n#define GL_LAYER_PROVOKING_VERTEX          0x825e     /* 33374 */\n#define GL_VIEWPORT_INDEX_PROVOKING_VERTEX 0x825f     /* 33375 */\n#define GL_UNDEFINED_VERTEX                0x8260     /* 33376 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_VIEWPORT_ARRAY\ntypedef void (REGAL_CALL *PFNGLDEPTHRANGEARRAYVPROC)(GLuint first, GLsizei count, const GLclampd *v);\ntypedef void (REGAL_CALL *PFNGLDEPTHRANGEINDEXEDPROC)(GLuint index, GLclampd n, GLclampd f);\ntypedef void (REGAL_CALL *PFNGLGETDOUBLEI_VPROC)(GLenum target, GLuint index, GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLGETFLOATI_VPROC)(GLenum target, GLuint index, GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLSCISSORARRAYVPROC)(GLuint first, GLsizei count, const GLint *v);\ntypedef void (REGAL_CALL *PFNGLSCISSORINDEXEDPROC)(GLuint index, GLint left, GLint bottom, GLint width, GLint height);\ntypedef void (REGAL_CALL *PFNGLSCISSORINDEXEDVPROC)(GLuint index, const GLint *v);\ntypedef void (REGAL_CALL *PFNGLVIEWPORTARRAYVPROC)(GLuint first, GLsizei count, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLVIEWPORTINDEXEDFPROC)(GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h);\ntypedef void (REGAL_CALL *PFNGLVIEWPORTINDEXEDFVPROC)(GLuint index, const GLfloat *v);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_VIEWPORT_ARRAY\n#define glDepthRangeArrayv                  rglDepthRangeArrayv\n#define glDepthRangeIndexed                 rglDepthRangeIndexed\n#define glGetDoublei_v                      rglGetDoublei_v\n#define glGetFloati_v                       rglGetFloati_v\n#define glScissorArrayv                     rglScissorArrayv\n#define glScissorIndexed                    rglScissorIndexed\n#define glScissorIndexedv                   rglScissorIndexedv\n#define glViewportArrayv                    rglViewportArrayv\n#define glViewportIndexedf                  rglViewportIndexedf\n#define glViewportIndexedfv                 rglViewportIndexedfv\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_VIEWPORT_ARRAY\nREGAL_DECL void REGAL_CALL glDepthRangeArrayv(GLuint first, GLsizei count, const GLclampd *v);\nREGAL_DECL void REGAL_CALL glDepthRangeIndexed(GLuint index, GLclampd n, GLclampd f);\nREGAL_DECL void REGAL_CALL glGetDoublei_v(GLenum target, GLuint index, GLdouble *v);\nREGAL_DECL void REGAL_CALL glGetFloati_v(GLenum target, GLuint index, GLfloat *v);\nREGAL_DECL void REGAL_CALL glScissorArrayv(GLuint first, GLsizei count, const GLint *v);\nREGAL_DECL void REGAL_CALL glScissorIndexed(GLuint index, GLint left, GLint bottom, GLint width, GLint height);\nREGAL_DECL void REGAL_CALL glScissorIndexedv(GLuint index, const GLint *v);\nREGAL_DECL void REGAL_CALL glViewportArrayv(GLuint first, GLsizei count, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glViewportIndexedf(GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h);\nREGAL_DECL void REGAL_CALL glViewportIndexedfv(GLuint index, const GLfloat *v);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_VIEWPORT_ARRAY\nREGAL_DECL void REGAL_CALL plugin_glDepthRangeArrayv(GLuint first, GLsizei count, const GLclampd *v);\nREGAL_DECL void REGAL_CALL plugin_glDepthRangeIndexed(GLuint index, GLclampd n, GLclampd f);\nREGAL_DECL void REGAL_CALL plugin_glGetDoublei_v(GLenum target, GLuint index, GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glGetFloati_v(GLenum target, GLuint index, GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glScissorArrayv(GLuint first, GLsizei count, const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glScissorIndexed(GLuint index, GLint left, GLint bottom, GLint width, GLint height);\nREGAL_DECL void REGAL_CALL plugin_glScissorIndexedv(GLuint index, const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glViewportArrayv(GLuint first, GLsizei count, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glViewportIndexedf(GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h);\nREGAL_DECL void REGAL_CALL plugin_glViewportIndexedfv(GLuint index, const GLfloat *v);\n#endif\n\n/**\n ** GL_ARB_window_pos\n **/\n\n#if (defined(GL_ARB_WINDOW_POS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_WINDOW_POS)) && !defined(REGAL_NO_ENUM_GL_ARB_WINDOW_POS)\n#define REGAL_NO_ENUM_GL_ARB_WINDOW_POS\n#endif\n\n#if (defined(GL_ARB_WINDOW_POS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_WINDOW_POS)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_WINDOW_POS)\n#define REGAL_NO_TYPEDEF_GL_ARB_WINDOW_POS\n#endif\n\n#if (defined(GL_ARB_WINDOW_POS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_WINDOW_POS)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_WINDOW_POS)\n#define REGAL_NO_NAMESPACE_GL_ARB_WINDOW_POS\n#endif\n\n#if (defined(GL_ARB_WINDOW_POS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_WINDOW_POS)) && !defined(REGAL_NO_PLUGIN_GL_ARB_WINDOW_POS)\n#define REGAL_NO_PLUGIN_GL_ARB_WINDOW_POS\n#endif\n\n#if (defined(GL_ARB_WINDOW_POS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_WINDOW_POS)) && !defined(REGAL_NO_DECLARATION_GL_ARB_WINDOW_POS)\n#define REGAL_NO_DECLARATION_GL_ARB_WINDOW_POS\n#endif\n\n#ifndef GL_ARB_window_pos\n#define GL_ARB_window_pos 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_WINDOW_POS\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS2DARBPROC)(GLdouble x, GLdouble y);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS2DVARBPROC)(const GLdouble *p);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS2FARBPROC)(GLfloat x, GLfloat y);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS2FVARBPROC)(const GLfloat *p);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS2IARBPROC)(GLint x, GLint y);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS2IVARBPROC)(const GLint *p);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS2SARBPROC)(GLshort x, GLshort y);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS2SVARBPROC)(const GLshort *p);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS3DARBPROC)(GLdouble x, GLdouble y, GLdouble z);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS3DVARBPROC)(const GLdouble *p);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS3FARBPROC)(GLfloat x, GLfloat y, GLfloat z);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS3FVARBPROC)(const GLfloat *p);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS3IARBPROC)(GLint x, GLint y, GLint z);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS3IVARBPROC)(const GLint *p);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS3SARBPROC)(GLshort x, GLshort y, GLshort z);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS3SVARBPROC)(const GLshort *p);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_WINDOW_POS\n#define glWindowPos2dARB                    rglWindowPos2dARB\n#define glWindowPos2dvARB                   rglWindowPos2dvARB\n#define glWindowPos2fARB                    rglWindowPos2fARB\n#define glWindowPos2fvARB                   rglWindowPos2fvARB\n#define glWindowPos2iARB                    rglWindowPos2iARB\n#define glWindowPos2ivARB                   rglWindowPos2ivARB\n#define glWindowPos2sARB                    rglWindowPos2sARB\n#define glWindowPos2svARB                   rglWindowPos2svARB\n#define glWindowPos3dARB                    rglWindowPos3dARB\n#define glWindowPos3dvARB                   rglWindowPos3dvARB\n#define glWindowPos3fARB                    rglWindowPos3fARB\n#define glWindowPos3fvARB                   rglWindowPos3fvARB\n#define glWindowPos3iARB                    rglWindowPos3iARB\n#define glWindowPos3ivARB                   rglWindowPos3ivARB\n#define glWindowPos3sARB                    rglWindowPos3sARB\n#define glWindowPos3svARB                   rglWindowPos3svARB\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_WINDOW_POS\nREGAL_DECL void REGAL_CALL glWindowPos2dARB(GLdouble x, GLdouble y);\nREGAL_DECL void REGAL_CALL glWindowPos2dvARB(const GLdouble *p);\nREGAL_DECL void REGAL_CALL glWindowPos2fARB(GLfloat x, GLfloat y);\nREGAL_DECL void REGAL_CALL glWindowPos2fvARB(const GLfloat *p);\nREGAL_DECL void REGAL_CALL glWindowPos2iARB(GLint x, GLint y);\nREGAL_DECL void REGAL_CALL glWindowPos2ivARB(const GLint *p);\nREGAL_DECL void REGAL_CALL glWindowPos2sARB(GLshort x, GLshort y);\nREGAL_DECL void REGAL_CALL glWindowPos2svARB(const GLshort *p);\nREGAL_DECL void REGAL_CALL glWindowPos3dARB(GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL glWindowPos3dvARB(const GLdouble *p);\nREGAL_DECL void REGAL_CALL glWindowPos3fARB(GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL glWindowPos3fvARB(const GLfloat *p);\nREGAL_DECL void REGAL_CALL glWindowPos3iARB(GLint x, GLint y, GLint z);\nREGAL_DECL void REGAL_CALL glWindowPos3ivARB(const GLint *p);\nREGAL_DECL void REGAL_CALL glWindowPos3sARB(GLshort x, GLshort y, GLshort z);\nREGAL_DECL void REGAL_CALL glWindowPos3svARB(const GLshort *p);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_WINDOW_POS\nREGAL_DECL void REGAL_CALL plugin_glWindowPos2dARB(GLdouble x, GLdouble y);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos2dvARB(const GLdouble *p);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos2fARB(GLfloat x, GLfloat y);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos2fvARB(const GLfloat *p);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos2iARB(GLint x, GLint y);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos2ivARB(const GLint *p);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos2sARB(GLshort x, GLshort y);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos2svARB(const GLshort *p);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos3dARB(GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos3dvARB(const GLdouble *p);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos3fARB(GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos3fvARB(const GLfloat *p);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos3iARB(GLint x, GLint y, GLint z);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos3ivARB(const GLint *p);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos3sARB(GLshort x, GLshort y, GLshort z);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos3svARB(const GLshort *p);\n#endif\n\n/**\n ** GL_ARM_mali_program_binary\n **/\n\n#if (defined(GL_ARM_MALI_PROGRAM_BINARY) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARM_MALI_PROGRAM_BINARY)) && !defined(REGAL_NO_ENUM_GL_ARM_MALI_PROGRAM_BINARY)\n#define REGAL_NO_ENUM_GL_ARM_MALI_PROGRAM_BINARY\n#endif\n\n#if (defined(GL_ARM_MALI_PROGRAM_BINARY) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARM_MALI_PROGRAM_BINARY)) && !defined(REGAL_NO_TYPEDEF_GL_ARM_MALI_PROGRAM_BINARY)\n#define REGAL_NO_TYPEDEF_GL_ARM_MALI_PROGRAM_BINARY\n#endif\n\n#if (defined(GL_ARM_MALI_PROGRAM_BINARY) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARM_MALI_PROGRAM_BINARY)) && !defined(REGAL_NO_NAMESPACE_GL_ARM_MALI_PROGRAM_BINARY)\n#define REGAL_NO_NAMESPACE_GL_ARM_MALI_PROGRAM_BINARY\n#endif\n\n#if (defined(GL_ARM_MALI_PROGRAM_BINARY) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARM_MALI_PROGRAM_BINARY)) && !defined(REGAL_NO_PLUGIN_GL_ARM_MALI_PROGRAM_BINARY)\n#define REGAL_NO_PLUGIN_GL_ARM_MALI_PROGRAM_BINARY\n#endif\n\n#if (defined(GL_ARM_MALI_PROGRAM_BINARY) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARM_MALI_PROGRAM_BINARY)) && !defined(REGAL_NO_DECLARATION_GL_ARM_MALI_PROGRAM_BINARY)\n#define REGAL_NO_DECLARATION_GL_ARM_MALI_PROGRAM_BINARY\n#endif\n\n#ifndef GL_ARM_mali_program_binary\n#define GL_ARM_mali_program_binary 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARM_MALI_PROGRAM_BINARY\n#define GL_MALI_PROGRAM_BINARY_ARM 0x8f61 /* 36705 */\n#endif\n\n/**\n ** GL_ARM_mali_shader_binary\n **/\n\n#if (defined(GL_ARM_MALI_SHADER_BINARY) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARM_MALI_SHADER_BINARY)) && !defined(REGAL_NO_ENUM_GL_ARM_MALI_SHADER_BINARY)\n#define REGAL_NO_ENUM_GL_ARM_MALI_SHADER_BINARY\n#endif\n\n#if (defined(GL_ARM_MALI_SHADER_BINARY) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARM_MALI_SHADER_BINARY)) && !defined(REGAL_NO_TYPEDEF_GL_ARM_MALI_SHADER_BINARY)\n#define REGAL_NO_TYPEDEF_GL_ARM_MALI_SHADER_BINARY\n#endif\n\n#if (defined(GL_ARM_MALI_SHADER_BINARY) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARM_MALI_SHADER_BINARY)) && !defined(REGAL_NO_NAMESPACE_GL_ARM_MALI_SHADER_BINARY)\n#define REGAL_NO_NAMESPACE_GL_ARM_MALI_SHADER_BINARY\n#endif\n\n#if (defined(GL_ARM_MALI_SHADER_BINARY) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARM_MALI_SHADER_BINARY)) && !defined(REGAL_NO_PLUGIN_GL_ARM_MALI_SHADER_BINARY)\n#define REGAL_NO_PLUGIN_GL_ARM_MALI_SHADER_BINARY\n#endif\n\n#if (defined(GL_ARM_MALI_SHADER_BINARY) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARM_MALI_SHADER_BINARY)) && !defined(REGAL_NO_DECLARATION_GL_ARM_MALI_SHADER_BINARY)\n#define REGAL_NO_DECLARATION_GL_ARM_MALI_SHADER_BINARY\n#endif\n\n#ifndef GL_ARM_mali_shader_binary\n#define GL_ARM_mali_shader_binary 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARM_MALI_SHADER_BINARY\n#define GL_MALI_SHADER_BINARY_ARM 0x8f60 /* 36704 */\n#endif\n\n/**\n ** GL_ATI_draw_buffers\n **/\n\n#if (defined(GL_ATI_DRAW_BUFFERS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ATI_DRAW_BUFFERS)) && !defined(REGAL_NO_ENUM_GL_ATI_DRAW_BUFFERS)\n#define REGAL_NO_ENUM_GL_ATI_DRAW_BUFFERS\n#endif\n\n#if (defined(GL_ATI_DRAW_BUFFERS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ATI_DRAW_BUFFERS)) && !defined(REGAL_NO_TYPEDEF_GL_ATI_DRAW_BUFFERS)\n#define REGAL_NO_TYPEDEF_GL_ATI_DRAW_BUFFERS\n#endif\n\n#if (defined(GL_ATI_DRAW_BUFFERS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ATI_DRAW_BUFFERS)) && !defined(REGAL_NO_NAMESPACE_GL_ATI_DRAW_BUFFERS)\n#define REGAL_NO_NAMESPACE_GL_ATI_DRAW_BUFFERS\n#endif\n\n#if (defined(GL_ATI_DRAW_BUFFERS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ATI_DRAW_BUFFERS)) && !defined(REGAL_NO_PLUGIN_GL_ATI_DRAW_BUFFERS)\n#define REGAL_NO_PLUGIN_GL_ATI_DRAW_BUFFERS\n#endif\n\n#if (defined(GL_ATI_DRAW_BUFFERS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ATI_DRAW_BUFFERS)) && !defined(REGAL_NO_DECLARATION_GL_ATI_DRAW_BUFFERS)\n#define REGAL_NO_DECLARATION_GL_ATI_DRAW_BUFFERS\n#endif\n\n#ifndef GL_ATI_draw_buffers\n#define GL_ATI_draw_buffers 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ATI_DRAW_BUFFERS\n#define GL_MAX_DRAW_BUFFERS_ATI 0x8824     /* 34852 */\n#define GL_DRAW_BUFFER0_ATI     0x8825     /* 34853 */\n#define GL_DRAW_BUFFER1_ATI     0x8826     /* 34854 */\n#define GL_DRAW_BUFFER2_ATI     0x8827     /* 34855 */\n#define GL_DRAW_BUFFER3_ATI     0x8828     /* 34856 */\n#define GL_DRAW_BUFFER4_ATI     0x8829     /* 34857 */\n#define GL_DRAW_BUFFER5_ATI     0x882a     /* 34858 */\n#define GL_DRAW_BUFFER6_ATI     0x882b     /* 34859 */\n#define GL_DRAW_BUFFER7_ATI     0x882c     /* 34860 */\n#define GL_DRAW_BUFFER8_ATI     0x882d     /* 34861 */\n#define GL_DRAW_BUFFER9_ATI     0x882e     /* 34862 */\n#define GL_DRAW_BUFFER10_ATI    0x882f     /* 34863 */\n#define GL_DRAW_BUFFER11_ATI    0x8830     /* 34864 */\n#define GL_DRAW_BUFFER12_ATI    0x8831     /* 34865 */\n#define GL_DRAW_BUFFER13_ATI    0x8832     /* 34866 */\n#define GL_DRAW_BUFFER14_ATI    0x8833     /* 34867 */\n#define GL_DRAW_BUFFER15_ATI    0x8834     /* 34868 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ATI_DRAW_BUFFERS\ntypedef void (REGAL_CALL *PFNGLDRAWBUFFERSATIPROC)(GLsizei n, const GLenum *bufs);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ATI_DRAW_BUFFERS\n#define glDrawBuffersATI                    rglDrawBuffersATI\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ATI_DRAW_BUFFERS\nREGAL_DECL void REGAL_CALL glDrawBuffersATI(GLsizei n, const GLenum *bufs);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ATI_DRAW_BUFFERS\nREGAL_DECL void REGAL_CALL plugin_glDrawBuffersATI(GLsizei n, const GLenum *bufs);\n#endif\n\n/**\n ** GL_ATI_element_array\n **/\n\n#if (defined(GL_ATI_ELEMENT_ARRAY) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ATI_ELEMENT_ARRAY)) && !defined(REGAL_NO_ENUM_GL_ATI_ELEMENT_ARRAY)\n#define REGAL_NO_ENUM_GL_ATI_ELEMENT_ARRAY\n#endif\n\n#if (defined(GL_ATI_ELEMENT_ARRAY) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ATI_ELEMENT_ARRAY)) && !defined(REGAL_NO_TYPEDEF_GL_ATI_ELEMENT_ARRAY)\n#define REGAL_NO_TYPEDEF_GL_ATI_ELEMENT_ARRAY\n#endif\n\n#if (defined(GL_ATI_ELEMENT_ARRAY) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ATI_ELEMENT_ARRAY)) && !defined(REGAL_NO_NAMESPACE_GL_ATI_ELEMENT_ARRAY)\n#define REGAL_NO_NAMESPACE_GL_ATI_ELEMENT_ARRAY\n#endif\n\n#if (defined(GL_ATI_ELEMENT_ARRAY) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ATI_ELEMENT_ARRAY)) && !defined(REGAL_NO_PLUGIN_GL_ATI_ELEMENT_ARRAY)\n#define REGAL_NO_PLUGIN_GL_ATI_ELEMENT_ARRAY\n#endif\n\n#if (defined(GL_ATI_ELEMENT_ARRAY) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ATI_ELEMENT_ARRAY)) && !defined(REGAL_NO_DECLARATION_GL_ATI_ELEMENT_ARRAY)\n#define REGAL_NO_DECLARATION_GL_ATI_ELEMENT_ARRAY\n#endif\n\n#ifndef GL_ATI_element_array\n#define GL_ATI_element_array 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ATI_ELEMENT_ARRAY\n#define GL_ELEMENT_ARRAY_ATI         0x8768     /* 34664 */\n#define GL_ELEMENT_ARRAY_TYPE_ATI    0x8769     /* 34665 */\n#define GL_ELEMENT_ARRAY_POINTER_ATI 0x876a     /* 34666 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ATI_ELEMENT_ARRAY\ntypedef void (REGAL_CALL *PFNGLDRAWELEMENTARRAYATIPROC)(GLenum mode, GLsizei count);\ntypedef void (REGAL_CALL *PFNGLDRAWRANGEELEMENTARRAYATIPROC)(GLenum mode, GLuint start, GLuint end, GLsizei count);\ntypedef void (REGAL_CALL *PFNGLELEMENTPOINTERATIPROC)(GLenum type, const GLvoid *pointer);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ATI_ELEMENT_ARRAY\n#define glDrawElementArrayATI               rglDrawElementArrayATI\n#define glDrawRangeElementArrayATI          rglDrawRangeElementArrayATI\n#define glElementPointerATI                 rglElementPointerATI\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ATI_ELEMENT_ARRAY\nREGAL_DECL void REGAL_CALL glDrawElementArrayATI(GLenum mode, GLsizei count);\nREGAL_DECL void REGAL_CALL glDrawRangeElementArrayATI(GLenum mode, GLuint start, GLuint end, GLsizei count);\nREGAL_DECL void REGAL_CALL glElementPointerATI(GLenum type, const GLvoid *pointer);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ATI_ELEMENT_ARRAY\nREGAL_DECL void REGAL_CALL plugin_glDrawElementArrayATI(GLenum mode, GLsizei count);\nREGAL_DECL void REGAL_CALL plugin_glDrawRangeElementArrayATI(GLenum mode, GLuint start, GLuint end, GLsizei count);\nREGAL_DECL void REGAL_CALL plugin_glElementPointerATI(GLenum type, const GLvoid *pointer);\n#endif\n\n/**\n ** GL_ATI_envmap_bumpmap\n **/\n\n#if (defined(GL_ATI_ENVMAP_BUMPMAP) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ATI_ENVMAP_BUMPMAP)) && !defined(REGAL_NO_ENUM_GL_ATI_ENVMAP_BUMPMAP)\n#define REGAL_NO_ENUM_GL_ATI_ENVMAP_BUMPMAP\n#endif\n\n#if (defined(GL_ATI_ENVMAP_BUMPMAP) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ATI_ENVMAP_BUMPMAP)) && !defined(REGAL_NO_TYPEDEF_GL_ATI_ENVMAP_BUMPMAP)\n#define REGAL_NO_TYPEDEF_GL_ATI_ENVMAP_BUMPMAP\n#endif\n\n#if (defined(GL_ATI_ENVMAP_BUMPMAP) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ATI_ENVMAP_BUMPMAP)) && !defined(REGAL_NO_NAMESPACE_GL_ATI_ENVMAP_BUMPMAP)\n#define REGAL_NO_NAMESPACE_GL_ATI_ENVMAP_BUMPMAP\n#endif\n\n#if (defined(GL_ATI_ENVMAP_BUMPMAP) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ATI_ENVMAP_BUMPMAP)) && !defined(REGAL_NO_PLUGIN_GL_ATI_ENVMAP_BUMPMAP)\n#define REGAL_NO_PLUGIN_GL_ATI_ENVMAP_BUMPMAP\n#endif\n\n#if (defined(GL_ATI_ENVMAP_BUMPMAP) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ATI_ENVMAP_BUMPMAP)) && !defined(REGAL_NO_DECLARATION_GL_ATI_ENVMAP_BUMPMAP)\n#define REGAL_NO_DECLARATION_GL_ATI_ENVMAP_BUMPMAP\n#endif\n\n#ifndef GL_ATI_envmap_bumpmap\n#define GL_ATI_envmap_bumpmap 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ATI_ENVMAP_BUMPMAP\n#define GL_BUMP_ROT_MATRIX_ATI      0x8775     /* 34677 */\n#define GL_BUMP_ROT_MATRIX_SIZE_ATI 0x8776     /* 34678 */\n#define GL_BUMP_NUM_TEX_UNITS_ATI   0x8777     /* 34679 */\n#define GL_BUMP_TEX_UNITS_ATI       0x8778     /* 34680 */\n#define GL_DUDV_ATI                 0x8779     /* 34681 */\n#define GL_DU8DV8_ATI               0x877a     /* 34682 */\n#define GL_BUMP_ENVMAP_ATI          0x877b     /* 34683 */\n#define GL_BUMP_TARGET_ATI          0x877c     /* 34684 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ATI_ENVMAP_BUMPMAP\ntypedef void (REGAL_CALL *PFNGLGETTEXBUMPPARAMETERFVATIPROC)(GLenum pname, GLfloat *param);\ntypedef void (REGAL_CALL *PFNGLGETTEXBUMPPARAMETERIVATIPROC)(GLenum pname, GLint *param);\ntypedef void (REGAL_CALL *PFNGLTEXBUMPPARAMETERFVATIPROC)(GLenum pname, const GLfloat *param);\ntypedef void (REGAL_CALL *PFNGLTEXBUMPPARAMETERIVATIPROC)(GLenum pname, const GLint *param);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ATI_ENVMAP_BUMPMAP\n#define glGetTexBumpParameterfvATI          rglGetTexBumpParameterfvATI\n#define glGetTexBumpParameterivATI          rglGetTexBumpParameterivATI\n#define glTexBumpParameterfvATI             rglTexBumpParameterfvATI\n#define glTexBumpParameterivATI             rglTexBumpParameterivATI\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ATI_ENVMAP_BUMPMAP\nREGAL_DECL void REGAL_CALL glGetTexBumpParameterfvATI(GLenum pname, GLfloat *param);\nREGAL_DECL void REGAL_CALL glGetTexBumpParameterivATI(GLenum pname, GLint *param);\nREGAL_DECL void REGAL_CALL glTexBumpParameterfvATI(GLenum pname, const GLfloat *param);\nREGAL_DECL void REGAL_CALL glTexBumpParameterivATI(GLenum pname, const GLint *param);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ATI_ENVMAP_BUMPMAP\nREGAL_DECL void REGAL_CALL plugin_glGetTexBumpParameterfvATI(GLenum pname, GLfloat *param);\nREGAL_DECL void REGAL_CALL plugin_glGetTexBumpParameterivATI(GLenum pname, GLint *param);\nREGAL_DECL void REGAL_CALL plugin_glTexBumpParameterfvATI(GLenum pname, const GLfloat *param);\nREGAL_DECL void REGAL_CALL plugin_glTexBumpParameterivATI(GLenum pname, const GLint *param);\n#endif\n\n/**\n ** GL_ATI_fragment_shader\n **/\n\n#if (defined(GL_ATI_FRAGMENT_SHADER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ATI_FRAGMENT_SHADER)) && !defined(REGAL_NO_ENUM_GL_ATI_FRAGMENT_SHADER)\n#define REGAL_NO_ENUM_GL_ATI_FRAGMENT_SHADER\n#endif\n\n#if (defined(GL_ATI_FRAGMENT_SHADER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ATI_FRAGMENT_SHADER)) && !defined(REGAL_NO_TYPEDEF_GL_ATI_FRAGMENT_SHADER)\n#define REGAL_NO_TYPEDEF_GL_ATI_FRAGMENT_SHADER\n#endif\n\n#if (defined(GL_ATI_FRAGMENT_SHADER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ATI_FRAGMENT_SHADER)) && !defined(REGAL_NO_NAMESPACE_GL_ATI_FRAGMENT_SHADER)\n#define REGAL_NO_NAMESPACE_GL_ATI_FRAGMENT_SHADER\n#endif\n\n#if (defined(GL_ATI_FRAGMENT_SHADER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ATI_FRAGMENT_SHADER)) && !defined(REGAL_NO_PLUGIN_GL_ATI_FRAGMENT_SHADER)\n#define REGAL_NO_PLUGIN_GL_ATI_FRAGMENT_SHADER\n#endif\n\n#if (defined(GL_ATI_FRAGMENT_SHADER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ATI_FRAGMENT_SHADER)) && !defined(REGAL_NO_DECLARATION_GL_ATI_FRAGMENT_SHADER)\n#define REGAL_NO_DECLARATION_GL_ATI_FRAGMENT_SHADER\n#endif\n\n#ifndef GL_ATI_fragment_shader\n#define GL_ATI_fragment_shader 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ATI_FRAGMENT_SHADER\n#define GL_2X_BIT_ATI                            0x1\n#define GL_RED_BIT_ATI                           0x1\n#define GL_QUARTER_BIT_ATI                       0x10       /* 16 */\n#define GL_4X_BIT_ATI                            0x2\n#define GL_COMP_BIT_ATI                          0x2\n#define GL_GREEN_BIT_ATI                         0x2\n#define GL_EIGHTH_BIT_ATI                        0x20       /* 32 */\n#define GL_8X_BIT_ATI                            0x4\n#define GL_BLUE_BIT_ATI                          0x4\n#define GL_NEGATE_BIT_ATI                        0x4\n#define GL_SATURATE_BIT_ATI                      0x40       /* 64 */\n#define GL_BIAS_BIT_ATI                          0x8\n#define GL_HALF_BIT_ATI                          0x8\n#define GL_FRAGMENT_SHADER_ATI                   0x8920     /* 35104 */\n#define GL_REG_0_ATI                             0x8921     /* 35105 */\n#define GL_REG_1_ATI                             0x8922     /* 35106 */\n#define GL_REG_2_ATI                             0x8923     /* 35107 */\n#define GL_REG_3_ATI                             0x8924     /* 35108 */\n#define GL_REG_4_ATI                             0x8925     /* 35109 */\n#define GL_REG_5_ATI                             0x8926     /* 35110 */\n#define GL_CON_0_ATI                             0x8941     /* 35137 */\n#define GL_CON_1_ATI                             0x8942     /* 35138 */\n#define GL_CON_2_ATI                             0x8943     /* 35139 */\n#define GL_CON_3_ATI                             0x8944     /* 35140 */\n#define GL_CON_4_ATI                             0x8945     /* 35141 */\n#define GL_CON_5_ATI                             0x8946     /* 35142 */\n#define GL_CON_6_ATI                             0x8947     /* 35143 */\n#define GL_CON_7_ATI                             0x8948     /* 35144 */\n#define GL_MOV_ATI                               0x8961     /* 35169 */\n#define GL_ADD_ATI                               0x8963     /* 35171 */\n#define GL_MUL_ATI                               0x8964     /* 35172 */\n#define GL_SUB_ATI                               0x8965     /* 35173 */\n#define GL_DOT3_ATI                              0x8966     /* 35174 */\n#define GL_DOT4_ATI                              0x8967     /* 35175 */\n#define GL_MAD_ATI                               0x8968     /* 35176 */\n#define GL_LERP_ATI                              0x8969     /* 35177 */\n#define GL_CND_ATI                               0x896a     /* 35178 */\n#define GL_CND0_ATI                              0x896b     /* 35179 */\n#define GL_DOT2_ADD_ATI                          0x896c     /* 35180 */\n#define GL_SECONDARY_INTERPOLATOR_ATI            0x896d     /* 35181 */\n#define GL_NUM_FRAGMENT_REGISTERS_ATI            0x896e     /* 35182 */\n#define GL_NUM_FRAGMENT_CONSTANTS_ATI            0x896f     /* 35183 */\n#define GL_NUM_PASSES_ATI                        0x8970     /* 35184 */\n#define GL_NUM_INSTRUCTIONS_PER_PASS_ATI         0x8971     /* 35185 */\n#define GL_NUM_INSTRUCTIONS_TOTAL_ATI            0x8972     /* 35186 */\n#define GL_NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI 0x8973     /* 35187 */\n#define GL_NUM_LOOPBACK_COMPONENTS_ATI           0x8974     /* 35188 */\n#define GL_COLOR_ALPHA_PAIRING_ATI               0x8975     /* 35189 */\n#define GL_SWIZZLE_STR_ATI                       0x8976     /* 35190 */\n#define GL_SWIZZLE_STQ_ATI                       0x8977     /* 35191 */\n#define GL_SWIZZLE_STR_DR_ATI                    0x8978     /* 35192 */\n#define GL_SWIZZLE_STQ_DQ_ATI                    0x8979     /* 35193 */\n#define GL_SWIZZLE_STRQ_ATI                      0x897a     /* 35194 */\n#define GL_SWIZZLE_STRQ_DQ_ATI                   0x897b     /* 35195 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ATI_FRAGMENT_SHADER\ntypedef GLuint (REGAL_CALL *PFNGLGENFRAGMENTSHADERSATIPROC)(GLuint range);\ntypedef void (REGAL_CALL *PFNGLALPHAFRAGMENTOP1ATIPROC)(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod);\ntypedef void (REGAL_CALL *PFNGLALPHAFRAGMENTOP2ATIPROC)(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod);\ntypedef void (REGAL_CALL *PFNGLALPHAFRAGMENTOP3ATIPROC)(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod);\ntypedef void (REGAL_CALL *PFNGLBEGINFRAGMENTSHADERATIPROC)(void);\ntypedef void (REGAL_CALL *PFNGLBINDFRAGMENTSHADERATIPROC)(GLuint id);\ntypedef void (REGAL_CALL *PFNGLCOLORFRAGMENTOP1ATIPROC)(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod);\ntypedef void (REGAL_CALL *PFNGLCOLORFRAGMENTOP2ATIPROC)(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod);\ntypedef void (REGAL_CALL *PFNGLCOLORFRAGMENTOP3ATIPROC)(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod);\ntypedef void (REGAL_CALL *PFNGLDELETEFRAGMENTSHADERATIPROC)(GLuint id);\ntypedef void (REGAL_CALL *PFNGLENDFRAGMENTSHADERATIPROC)(void);\ntypedef void (REGAL_CALL *PFNGLPASSTEXCOORDATIPROC)(GLuint dst, GLuint coord, GLenum swizzle);\ntypedef void (REGAL_CALL *PFNGLSAMPLEMAPATIPROC)(GLuint dst, GLuint interp, GLenum swizzle);\ntypedef void (REGAL_CALL *PFNGLSETFRAGMENTSHADERCONSTANTATIPROC)(GLuint dst, const GLfloat *value);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ATI_FRAGMENT_SHADER\n#define glAlphaFragmentOp1ATI               rglAlphaFragmentOp1ATI\n#define glAlphaFragmentOp2ATI               rglAlphaFragmentOp2ATI\n#define glAlphaFragmentOp3ATI               rglAlphaFragmentOp3ATI\n#define glBeginFragmentShaderATI            rglBeginFragmentShaderATI\n#define glBindFragmentShaderATI             rglBindFragmentShaderATI\n#define glColorFragmentOp1ATI               rglColorFragmentOp1ATI\n#define glColorFragmentOp2ATI               rglColorFragmentOp2ATI\n#define glColorFragmentOp3ATI               rglColorFragmentOp3ATI\n#define glDeleteFragmentShaderATI           rglDeleteFragmentShaderATI\n#define glEndFragmentShaderATI              rglEndFragmentShaderATI\n#define glGenFragmentShadersATI             rglGenFragmentShadersATI\n#define glPassTexCoordATI                   rglPassTexCoordATI\n#define glSampleMapATI                      rglSampleMapATI\n#define glSetFragmentShaderConstantATI      rglSetFragmentShaderConstantATI\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ATI_FRAGMENT_SHADER\nREGAL_DECL GLuint REGAL_CALL glGenFragmentShadersATI(GLuint range);\nREGAL_DECL void REGAL_CALL glAlphaFragmentOp1ATI(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod);\nREGAL_DECL void REGAL_CALL glAlphaFragmentOp2ATI(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod);\nREGAL_DECL void REGAL_CALL glAlphaFragmentOp3ATI(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod);\nREGAL_DECL void REGAL_CALL glBeginFragmentShaderATI(void);\nREGAL_DECL void REGAL_CALL glBindFragmentShaderATI(GLuint id);\nREGAL_DECL void REGAL_CALL glColorFragmentOp1ATI(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod);\nREGAL_DECL void REGAL_CALL glColorFragmentOp2ATI(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod);\nREGAL_DECL void REGAL_CALL glColorFragmentOp3ATI(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod);\nREGAL_DECL void REGAL_CALL glDeleteFragmentShaderATI(GLuint id);\nREGAL_DECL void REGAL_CALL glEndFragmentShaderATI(void);\nREGAL_DECL void REGAL_CALL glPassTexCoordATI(GLuint dst, GLuint coord, GLenum swizzle);\nREGAL_DECL void REGAL_CALL glSampleMapATI(GLuint dst, GLuint interp, GLenum swizzle);\nREGAL_DECL void REGAL_CALL glSetFragmentShaderConstantATI(GLuint dst, const GLfloat *value);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ATI_FRAGMENT_SHADER\nREGAL_DECL GLuint REGAL_CALL plugin_glGenFragmentShadersATI(GLuint range);\nREGAL_DECL void REGAL_CALL plugin_glAlphaFragmentOp1ATI(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod);\nREGAL_DECL void REGAL_CALL plugin_glAlphaFragmentOp2ATI(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod);\nREGAL_DECL void REGAL_CALL plugin_glAlphaFragmentOp3ATI(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod);\nREGAL_DECL void REGAL_CALL plugin_glBeginFragmentShaderATI(void);\nREGAL_DECL void REGAL_CALL plugin_glBindFragmentShaderATI(GLuint id);\nREGAL_DECL void REGAL_CALL plugin_glColorFragmentOp1ATI(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod);\nREGAL_DECL void REGAL_CALL plugin_glColorFragmentOp2ATI(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod);\nREGAL_DECL void REGAL_CALL plugin_glColorFragmentOp3ATI(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod);\nREGAL_DECL void REGAL_CALL plugin_glDeleteFragmentShaderATI(GLuint id);\nREGAL_DECL void REGAL_CALL plugin_glEndFragmentShaderATI(void);\nREGAL_DECL void REGAL_CALL plugin_glPassTexCoordATI(GLuint dst, GLuint coord, GLenum swizzle);\nREGAL_DECL void REGAL_CALL plugin_glSampleMapATI(GLuint dst, GLuint interp, GLenum swizzle);\nREGAL_DECL void REGAL_CALL plugin_glSetFragmentShaderConstantATI(GLuint dst, const GLfloat *value);\n#endif\n\n/**\n ** GL_ATI_map_object_buffer\n **/\n\n#if (defined(GL_ATI_MAP_OBJECT_BUFFER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ATI_MAP_OBJECT_BUFFER)) && !defined(REGAL_NO_ENUM_GL_ATI_MAP_OBJECT_BUFFER)\n#define REGAL_NO_ENUM_GL_ATI_MAP_OBJECT_BUFFER\n#endif\n\n#if (defined(GL_ATI_MAP_OBJECT_BUFFER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ATI_MAP_OBJECT_BUFFER)) && !defined(REGAL_NO_TYPEDEF_GL_ATI_MAP_OBJECT_BUFFER)\n#define REGAL_NO_TYPEDEF_GL_ATI_MAP_OBJECT_BUFFER\n#endif\n\n#if (defined(GL_ATI_MAP_OBJECT_BUFFER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ATI_MAP_OBJECT_BUFFER)) && !defined(REGAL_NO_NAMESPACE_GL_ATI_MAP_OBJECT_BUFFER)\n#define REGAL_NO_NAMESPACE_GL_ATI_MAP_OBJECT_BUFFER\n#endif\n\n#if (defined(GL_ATI_MAP_OBJECT_BUFFER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ATI_MAP_OBJECT_BUFFER)) && !defined(REGAL_NO_PLUGIN_GL_ATI_MAP_OBJECT_BUFFER)\n#define REGAL_NO_PLUGIN_GL_ATI_MAP_OBJECT_BUFFER\n#endif\n\n#if (defined(GL_ATI_MAP_OBJECT_BUFFER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ATI_MAP_OBJECT_BUFFER)) && !defined(REGAL_NO_DECLARATION_GL_ATI_MAP_OBJECT_BUFFER)\n#define REGAL_NO_DECLARATION_GL_ATI_MAP_OBJECT_BUFFER\n#endif\n\n#ifndef GL_ATI_map_object_buffer\n#define GL_ATI_map_object_buffer 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ATI_MAP_OBJECT_BUFFER\ntypedef GLvoid *(REGAL_CALL *PFNGLMAPOBJECTBUFFERATIPROC)(GLuint buffer);\ntypedef void (REGAL_CALL *PFNGLUNMAPOBJECTBUFFERATIPROC)(GLuint buffer);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ATI_MAP_OBJECT_BUFFER\n#define glMapObjectBufferATI                rglMapObjectBufferATI\n#define glUnmapObjectBufferATI              rglUnmapObjectBufferATI\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ATI_MAP_OBJECT_BUFFER\nREGAL_DECL GLvoid *REGAL_CALL glMapObjectBufferATI(GLuint buffer);\nREGAL_DECL void REGAL_CALL glUnmapObjectBufferATI(GLuint buffer);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ATI_MAP_OBJECT_BUFFER\nREGAL_DECL GLvoid *REGAL_CALL plugin_glMapObjectBufferATI(GLuint buffer);\nREGAL_DECL void REGAL_CALL plugin_glUnmapObjectBufferATI(GLuint buffer);\n#endif\n\n/**\n ** GL_ATI_meminfo\n **/\n\n#if (defined(GL_ATI_MEMINFO) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ATI_MEMINFO)) && !defined(REGAL_NO_ENUM_GL_ATI_MEMINFO)\n#define REGAL_NO_ENUM_GL_ATI_MEMINFO\n#endif\n\n#if (defined(GL_ATI_MEMINFO) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ATI_MEMINFO)) && !defined(REGAL_NO_TYPEDEF_GL_ATI_MEMINFO)\n#define REGAL_NO_TYPEDEF_GL_ATI_MEMINFO\n#endif\n\n#if (defined(GL_ATI_MEMINFO) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ATI_MEMINFO)) && !defined(REGAL_NO_NAMESPACE_GL_ATI_MEMINFO)\n#define REGAL_NO_NAMESPACE_GL_ATI_MEMINFO\n#endif\n\n#if (defined(GL_ATI_MEMINFO) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ATI_MEMINFO)) && !defined(REGAL_NO_PLUGIN_GL_ATI_MEMINFO)\n#define REGAL_NO_PLUGIN_GL_ATI_MEMINFO\n#endif\n\n#if (defined(GL_ATI_MEMINFO) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ATI_MEMINFO)) && !defined(REGAL_NO_DECLARATION_GL_ATI_MEMINFO)\n#define REGAL_NO_DECLARATION_GL_ATI_MEMINFO\n#endif\n\n#ifndef GL_ATI_meminfo\n#define GL_ATI_meminfo 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ATI_MEMINFO\n#define GL_VBO_FREE_MEMORY_ATI          0x87fb     /* 34811 */\n#define GL_TEXTURE_FREE_MEMORY_ATI      0x87fc     /* 34812 */\n#define GL_RENDERBUFFER_FREE_MEMORY_ATI 0x87fd     /* 34813 */\n#endif\n\n/**\n ** GL_ATI_pn_triangles\n **/\n\n#if (defined(GL_ATI_PN_TRIANGLES) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ATI_PN_TRIANGLES)) && !defined(REGAL_NO_ENUM_GL_ATI_PN_TRIANGLES)\n#define REGAL_NO_ENUM_GL_ATI_PN_TRIANGLES\n#endif\n\n#if (defined(GL_ATI_PN_TRIANGLES) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ATI_PN_TRIANGLES)) && !defined(REGAL_NO_TYPEDEF_GL_ATI_PN_TRIANGLES)\n#define REGAL_NO_TYPEDEF_GL_ATI_PN_TRIANGLES\n#endif\n\n#if (defined(GL_ATI_PN_TRIANGLES) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ATI_PN_TRIANGLES)) && !defined(REGAL_NO_NAMESPACE_GL_ATI_PN_TRIANGLES)\n#define REGAL_NO_NAMESPACE_GL_ATI_PN_TRIANGLES\n#endif\n\n#if (defined(GL_ATI_PN_TRIANGLES) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ATI_PN_TRIANGLES)) && !defined(REGAL_NO_PLUGIN_GL_ATI_PN_TRIANGLES)\n#define REGAL_NO_PLUGIN_GL_ATI_PN_TRIANGLES\n#endif\n\n#if (defined(GL_ATI_PN_TRIANGLES) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ATI_PN_TRIANGLES)) && !defined(REGAL_NO_DECLARATION_GL_ATI_PN_TRIANGLES)\n#define REGAL_NO_DECLARATION_GL_ATI_PN_TRIANGLES\n#endif\n\n#ifndef GL_ATI_pn_triangles\n#define GL_ATI_pn_triangles 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ATI_PN_TRIANGLES\n#define GL_PN_TRIANGLES_ATI                       0x87f0     /* 34800 */\n#define GL_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI 0x87f1     /* 34801 */\n#define GL_PN_TRIANGLES_POINT_MODE_ATI            0x87f2     /* 34802 */\n#define GL_PN_TRIANGLES_NORMAL_MODE_ATI           0x87f3     /* 34803 */\n#define GL_PN_TRIANGLES_TESSELATION_LEVEL_ATI     0x87f4     /* 34804 */\n#define GL_PN_TRIANGLES_POINT_MODE_LINEAR_ATI     0x87f5     /* 34805 */\n#define GL_PN_TRIANGLES_POINT_MODE_CUBIC_ATI      0x87f6     /* 34806 */\n#define GL_PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI    0x87f7     /* 34807 */\n#define GL_PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI 0x87f8     /* 34808 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ATI_PN_TRIANGLES\ntypedef void (REGAL_CALL *PFNGLPNTRIANGLESFATIPROC)(GLenum pname, GLfloat param);\ntypedef void (REGAL_CALL *PFNGLPNTRIANGLESIATIPROC)(GLenum pname, GLint param);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ATI_PN_TRIANGLES\n#define glPNTrianglesfATI                   rglPNTrianglesfATI\n#define glPNTrianglesiATI                   rglPNTrianglesiATI\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ATI_PN_TRIANGLES\nREGAL_DECL void REGAL_CALL glPNTrianglesfATI(GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL glPNTrianglesiATI(GLenum pname, GLint param);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ATI_PN_TRIANGLES\nREGAL_DECL void REGAL_CALL plugin_glPNTrianglesfATI(GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL plugin_glPNTrianglesiATI(GLenum pname, GLint param);\n#endif\n\n/**\n ** GL_ATI_separate_stencil\n **/\n\n#if (defined(GL_ATI_SEPARATE_STENCIL) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ATI_SEPARATE_STENCIL)) && !defined(REGAL_NO_ENUM_GL_ATI_SEPARATE_STENCIL)\n#define REGAL_NO_ENUM_GL_ATI_SEPARATE_STENCIL\n#endif\n\n#if (defined(GL_ATI_SEPARATE_STENCIL) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ATI_SEPARATE_STENCIL)) && !defined(REGAL_NO_TYPEDEF_GL_ATI_SEPARATE_STENCIL)\n#define REGAL_NO_TYPEDEF_GL_ATI_SEPARATE_STENCIL\n#endif\n\n#if (defined(GL_ATI_SEPARATE_STENCIL) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ATI_SEPARATE_STENCIL)) && !defined(REGAL_NO_NAMESPACE_GL_ATI_SEPARATE_STENCIL)\n#define REGAL_NO_NAMESPACE_GL_ATI_SEPARATE_STENCIL\n#endif\n\n#if (defined(GL_ATI_SEPARATE_STENCIL) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ATI_SEPARATE_STENCIL)) && !defined(REGAL_NO_PLUGIN_GL_ATI_SEPARATE_STENCIL)\n#define REGAL_NO_PLUGIN_GL_ATI_SEPARATE_STENCIL\n#endif\n\n#if (defined(GL_ATI_SEPARATE_STENCIL) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ATI_SEPARATE_STENCIL)) && !defined(REGAL_NO_DECLARATION_GL_ATI_SEPARATE_STENCIL)\n#define REGAL_NO_DECLARATION_GL_ATI_SEPARATE_STENCIL\n#endif\n\n#ifndef GL_ATI_separate_stencil\n#define GL_ATI_separate_stencil 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ATI_SEPARATE_STENCIL\n#define GL_STENCIL_BACK_FUNC_ATI            0x8800     /* 34816 */\n#define GL_STENCIL_BACK_FAIL_ATI            0x8801     /* 34817 */\n#define GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI 0x8802     /* 34818 */\n#define GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI 0x8803     /* 34819 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ATI_SEPARATE_STENCIL\ntypedef void (REGAL_CALL *PFNGLSTENCILFUNCSEPARATEATIPROC)(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask);\ntypedef void (REGAL_CALL *PFNGLSTENCILOPSEPARATEATIPROC)(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ATI_SEPARATE_STENCIL\n#define glStencilFuncSeparateATI            rglStencilFuncSeparateATI\n#define glStencilOpSeparateATI              rglStencilOpSeparateATI\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ATI_SEPARATE_STENCIL\nREGAL_DECL void REGAL_CALL glStencilFuncSeparateATI(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask);\nREGAL_DECL void REGAL_CALL glStencilOpSeparateATI(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ATI_SEPARATE_STENCIL\nREGAL_DECL void REGAL_CALL plugin_glStencilFuncSeparateATI(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask);\nREGAL_DECL void REGAL_CALL plugin_glStencilOpSeparateATI(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);\n#endif\n\n/**\n ** GL_ATI_text_fragment_shader\n **/\n\n#if (defined(GL_ATI_TEXT_FRAGMENT_SHADER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ATI_TEXT_FRAGMENT_SHADER)) && !defined(REGAL_NO_ENUM_GL_ATI_TEXT_FRAGMENT_SHADER)\n#define REGAL_NO_ENUM_GL_ATI_TEXT_FRAGMENT_SHADER\n#endif\n\n#if (defined(GL_ATI_TEXT_FRAGMENT_SHADER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ATI_TEXT_FRAGMENT_SHADER)) && !defined(REGAL_NO_TYPEDEF_GL_ATI_TEXT_FRAGMENT_SHADER)\n#define REGAL_NO_TYPEDEF_GL_ATI_TEXT_FRAGMENT_SHADER\n#endif\n\n#if (defined(GL_ATI_TEXT_FRAGMENT_SHADER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ATI_TEXT_FRAGMENT_SHADER)) && !defined(REGAL_NO_NAMESPACE_GL_ATI_TEXT_FRAGMENT_SHADER)\n#define REGAL_NO_NAMESPACE_GL_ATI_TEXT_FRAGMENT_SHADER\n#endif\n\n#if (defined(GL_ATI_TEXT_FRAGMENT_SHADER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ATI_TEXT_FRAGMENT_SHADER)) && !defined(REGAL_NO_PLUGIN_GL_ATI_TEXT_FRAGMENT_SHADER)\n#define REGAL_NO_PLUGIN_GL_ATI_TEXT_FRAGMENT_SHADER\n#endif\n\n#if (defined(GL_ATI_TEXT_FRAGMENT_SHADER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ATI_TEXT_FRAGMENT_SHADER)) && !defined(REGAL_NO_DECLARATION_GL_ATI_TEXT_FRAGMENT_SHADER)\n#define REGAL_NO_DECLARATION_GL_ATI_TEXT_FRAGMENT_SHADER\n#endif\n\n#ifndef GL_ATI_text_fragment_shader\n#define GL_ATI_text_fragment_shader 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ATI_TEXT_FRAGMENT_SHADER\n#define GL_TEXT_FRAGMENT_SHADER_ATI 0x8200 /* 33280 */\n#endif\n\n/**\n ** GL_ATI_texture_compression_3dc\n **/\n\n#if (defined(GL_ATI_TEXTURE_COMPRESSION_3DC) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ATI_TEXTURE_COMPRESSION_3DC)) && !defined(REGAL_NO_ENUM_GL_ATI_TEXTURE_COMPRESSION_3DC)\n#define REGAL_NO_ENUM_GL_ATI_TEXTURE_COMPRESSION_3DC\n#endif\n\n#if (defined(GL_ATI_TEXTURE_COMPRESSION_3DC) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ATI_TEXTURE_COMPRESSION_3DC)) && !defined(REGAL_NO_TYPEDEF_GL_ATI_TEXTURE_COMPRESSION_3DC)\n#define REGAL_NO_TYPEDEF_GL_ATI_TEXTURE_COMPRESSION_3DC\n#endif\n\n#if (defined(GL_ATI_TEXTURE_COMPRESSION_3DC) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ATI_TEXTURE_COMPRESSION_3DC)) && !defined(REGAL_NO_NAMESPACE_GL_ATI_TEXTURE_COMPRESSION_3DC)\n#define REGAL_NO_NAMESPACE_GL_ATI_TEXTURE_COMPRESSION_3DC\n#endif\n\n#if (defined(GL_ATI_TEXTURE_COMPRESSION_3DC) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ATI_TEXTURE_COMPRESSION_3DC)) && !defined(REGAL_NO_PLUGIN_GL_ATI_TEXTURE_COMPRESSION_3DC)\n#define REGAL_NO_PLUGIN_GL_ATI_TEXTURE_COMPRESSION_3DC\n#endif\n\n#if (defined(GL_ATI_TEXTURE_COMPRESSION_3DC) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ATI_TEXTURE_COMPRESSION_3DC)) && !defined(REGAL_NO_DECLARATION_GL_ATI_TEXTURE_COMPRESSION_3DC)\n#define REGAL_NO_DECLARATION_GL_ATI_TEXTURE_COMPRESSION_3DC\n#endif\n\n#ifndef GL_ATI_texture_compression_3dc\n#define GL_ATI_texture_compression_3dc 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ATI_TEXTURE_COMPRESSION_3DC\n#define GL_COMPRESSED_LUMINANCE_ALPHA_3DC_ATI 0x8837 /* 34871 */\n#endif\n\n/**\n ** GL_ATI_texture_env_combine3\n **/\n\n#if (defined(GL_ATI_TEXTURE_ENV_COMBINE3) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ATI_TEXTURE_ENV_COMBINE3)) && !defined(REGAL_NO_ENUM_GL_ATI_TEXTURE_ENV_COMBINE3)\n#define REGAL_NO_ENUM_GL_ATI_TEXTURE_ENV_COMBINE3\n#endif\n\n#if (defined(GL_ATI_TEXTURE_ENV_COMBINE3) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ATI_TEXTURE_ENV_COMBINE3)) && !defined(REGAL_NO_TYPEDEF_GL_ATI_TEXTURE_ENV_COMBINE3)\n#define REGAL_NO_TYPEDEF_GL_ATI_TEXTURE_ENV_COMBINE3\n#endif\n\n#if (defined(GL_ATI_TEXTURE_ENV_COMBINE3) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ATI_TEXTURE_ENV_COMBINE3)) && !defined(REGAL_NO_NAMESPACE_GL_ATI_TEXTURE_ENV_COMBINE3)\n#define REGAL_NO_NAMESPACE_GL_ATI_TEXTURE_ENV_COMBINE3\n#endif\n\n#if (defined(GL_ATI_TEXTURE_ENV_COMBINE3) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ATI_TEXTURE_ENV_COMBINE3)) && !defined(REGAL_NO_PLUGIN_GL_ATI_TEXTURE_ENV_COMBINE3)\n#define REGAL_NO_PLUGIN_GL_ATI_TEXTURE_ENV_COMBINE3\n#endif\n\n#if (defined(GL_ATI_TEXTURE_ENV_COMBINE3) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ATI_TEXTURE_ENV_COMBINE3)) && !defined(REGAL_NO_DECLARATION_GL_ATI_TEXTURE_ENV_COMBINE3)\n#define REGAL_NO_DECLARATION_GL_ATI_TEXTURE_ENV_COMBINE3\n#endif\n\n#ifndef GL_ATI_texture_env_combine3\n#define GL_ATI_texture_env_combine3 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ATI_TEXTURE_ENV_COMBINE3\n#define GL_MODULATE_ADD_ATI        0x8744     /* 34628 */\n#define GL_MODULATE_SIGNED_ADD_ATI 0x8745     /* 34629 */\n#define GL_MODULATE_SUBTRACT_ATI   0x8746     /* 34630 */\n#endif\n\n/**\n ** GL_ATI_texture_float\n **/\n\n#if (defined(GL_ATI_TEXTURE_FLOAT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ATI_TEXTURE_FLOAT)) && !defined(REGAL_NO_ENUM_GL_ATI_TEXTURE_FLOAT)\n#define REGAL_NO_ENUM_GL_ATI_TEXTURE_FLOAT\n#endif\n\n#if (defined(GL_ATI_TEXTURE_FLOAT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ATI_TEXTURE_FLOAT)) && !defined(REGAL_NO_TYPEDEF_GL_ATI_TEXTURE_FLOAT)\n#define REGAL_NO_TYPEDEF_GL_ATI_TEXTURE_FLOAT\n#endif\n\n#if (defined(GL_ATI_TEXTURE_FLOAT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ATI_TEXTURE_FLOAT)) && !defined(REGAL_NO_NAMESPACE_GL_ATI_TEXTURE_FLOAT)\n#define REGAL_NO_NAMESPACE_GL_ATI_TEXTURE_FLOAT\n#endif\n\n#if (defined(GL_ATI_TEXTURE_FLOAT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ATI_TEXTURE_FLOAT)) && !defined(REGAL_NO_PLUGIN_GL_ATI_TEXTURE_FLOAT)\n#define REGAL_NO_PLUGIN_GL_ATI_TEXTURE_FLOAT\n#endif\n\n#if (defined(GL_ATI_TEXTURE_FLOAT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ATI_TEXTURE_FLOAT)) && !defined(REGAL_NO_DECLARATION_GL_ATI_TEXTURE_FLOAT)\n#define REGAL_NO_DECLARATION_GL_ATI_TEXTURE_FLOAT\n#endif\n\n#ifndef GL_ATI_texture_float\n#define GL_ATI_texture_float 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ATI_TEXTURE_FLOAT\n#define GL_RGBA_FLOAT32_ATI            0x8814     /* 34836 */\n#define GL_RGB_FLOAT32_ATI             0x8815     /* 34837 */\n#define GL_ALPHA_FLOAT32_ATI           0x8816     /* 34838 */\n#define GL_INTENSITY_FLOAT32_ATI       0x8817     /* 34839 */\n#define GL_LUMINANCE_FLOAT32_ATI       0x8818     /* 34840 */\n#define GL_LUMINANCE_ALPHA_FLOAT32_ATI 0x8819     /* 34841 */\n#define GL_RGBA_FLOAT16_ATI            0x881a     /* 34842 */\n#define GL_RGB_FLOAT16_ATI             0x881b     /* 34843 */\n#define GL_ALPHA_FLOAT16_ATI           0x881c     /* 34844 */\n#define GL_INTENSITY_FLOAT16_ATI       0x881d     /* 34845 */\n#define GL_LUMINANCE_FLOAT16_ATI       0x881e     /* 34846 */\n#define GL_LUMINANCE_ALPHA_FLOAT16_ATI 0x881f     /* 34847 */\n#endif\n\n/**\n ** GL_ATI_texture_mirror_once\n **/\n\n#if (defined(GL_ATI_TEXTURE_MIRROR_ONCE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ATI_TEXTURE_MIRROR_ONCE)) && !defined(REGAL_NO_ENUM_GL_ATI_TEXTURE_MIRROR_ONCE)\n#define REGAL_NO_ENUM_GL_ATI_TEXTURE_MIRROR_ONCE\n#endif\n\n#if (defined(GL_ATI_TEXTURE_MIRROR_ONCE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ATI_TEXTURE_MIRROR_ONCE)) && !defined(REGAL_NO_TYPEDEF_GL_ATI_TEXTURE_MIRROR_ONCE)\n#define REGAL_NO_TYPEDEF_GL_ATI_TEXTURE_MIRROR_ONCE\n#endif\n\n#if (defined(GL_ATI_TEXTURE_MIRROR_ONCE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ATI_TEXTURE_MIRROR_ONCE)) && !defined(REGAL_NO_NAMESPACE_GL_ATI_TEXTURE_MIRROR_ONCE)\n#define REGAL_NO_NAMESPACE_GL_ATI_TEXTURE_MIRROR_ONCE\n#endif\n\n#if (defined(GL_ATI_TEXTURE_MIRROR_ONCE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ATI_TEXTURE_MIRROR_ONCE)) && !defined(REGAL_NO_PLUGIN_GL_ATI_TEXTURE_MIRROR_ONCE)\n#define REGAL_NO_PLUGIN_GL_ATI_TEXTURE_MIRROR_ONCE\n#endif\n\n#if (defined(GL_ATI_TEXTURE_MIRROR_ONCE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ATI_TEXTURE_MIRROR_ONCE)) && !defined(REGAL_NO_DECLARATION_GL_ATI_TEXTURE_MIRROR_ONCE)\n#define REGAL_NO_DECLARATION_GL_ATI_TEXTURE_MIRROR_ONCE\n#endif\n\n#ifndef GL_ATI_texture_mirror_once\n#define GL_ATI_texture_mirror_once 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ATI_TEXTURE_MIRROR_ONCE\n#define GL_MIRROR_CLAMP_ATI         0x8742     /* 34626 */\n#define GL_MIRROR_CLAMP_TO_EDGE_ATI 0x8743     /* 34627 */\n#endif\n\n/**\n ** GL_ATI_vertex_array_object\n **/\n\n#if (defined(GL_ATI_VERTEX_ARRAY_OBJECT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ATI_VERTEX_ARRAY_OBJECT)) && !defined(REGAL_NO_ENUM_GL_ATI_VERTEX_ARRAY_OBJECT)\n#define REGAL_NO_ENUM_GL_ATI_VERTEX_ARRAY_OBJECT\n#endif\n\n#if (defined(GL_ATI_VERTEX_ARRAY_OBJECT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ATI_VERTEX_ARRAY_OBJECT)) && !defined(REGAL_NO_TYPEDEF_GL_ATI_VERTEX_ARRAY_OBJECT)\n#define REGAL_NO_TYPEDEF_GL_ATI_VERTEX_ARRAY_OBJECT\n#endif\n\n#if (defined(GL_ATI_VERTEX_ARRAY_OBJECT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ATI_VERTEX_ARRAY_OBJECT)) && !defined(REGAL_NO_NAMESPACE_GL_ATI_VERTEX_ARRAY_OBJECT)\n#define REGAL_NO_NAMESPACE_GL_ATI_VERTEX_ARRAY_OBJECT\n#endif\n\n#if (defined(GL_ATI_VERTEX_ARRAY_OBJECT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ATI_VERTEX_ARRAY_OBJECT)) && !defined(REGAL_NO_PLUGIN_GL_ATI_VERTEX_ARRAY_OBJECT)\n#define REGAL_NO_PLUGIN_GL_ATI_VERTEX_ARRAY_OBJECT\n#endif\n\n#if (defined(GL_ATI_VERTEX_ARRAY_OBJECT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ATI_VERTEX_ARRAY_OBJECT)) && !defined(REGAL_NO_DECLARATION_GL_ATI_VERTEX_ARRAY_OBJECT)\n#define REGAL_NO_DECLARATION_GL_ATI_VERTEX_ARRAY_OBJECT\n#endif\n\n#ifndef GL_ATI_vertex_array_object\n#define GL_ATI_vertex_array_object 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ATI_VERTEX_ARRAY_OBJECT\n#define GL_STATIC_ATI              0x8760     /* 34656 */\n#define GL_DYNAMIC_ATI             0x8761     /* 34657 */\n#define GL_PRESERVE_ATI            0x8762     /* 34658 */\n#define GL_DISCARD_ATI             0x8763     /* 34659 */\n#define GL_OBJECT_BUFFER_SIZE_ATI  0x8764     /* 34660 */\n#define GL_OBJECT_BUFFER_USAGE_ATI 0x8765     /* 34661 */\n#define GL_ARRAY_OBJECT_BUFFER_ATI 0x8766     /* 34662 */\n#define GL_ARRAY_OBJECT_OFFSET_ATI 0x8767     /* 34663 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ATI_VERTEX_ARRAY_OBJECT\ntypedef GLboolean (REGAL_CALL *PFNGLISOBJECTBUFFERATIPROC)(GLuint buffer);\ntypedef GLuint (REGAL_CALL *PFNGLNEWOBJECTBUFFERATIPROC)(GLsizei size, const GLvoid *pointer, GLenum usage);\ntypedef void (REGAL_CALL *PFNGLARRAYOBJECTATIPROC)(GLenum array, GLint size, GLenum type, GLsizei stride, GLuint buffer, GLuint offset);\ntypedef void (REGAL_CALL *PFNGLFREEOBJECTBUFFERATIPROC)(GLuint buffer);\ntypedef void (REGAL_CALL *PFNGLGETARRAYOBJECTFVATIPROC)(GLenum array, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETARRAYOBJECTIVATIPROC)(GLenum array, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETOBJECTBUFFERFVATIPROC)(GLuint buffer, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETOBJECTBUFFERIVATIPROC)(GLuint buffer, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETVARIANTARRAYOBJECTFVATIPROC)(GLuint id, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETVARIANTARRAYOBJECTIVATIPROC)(GLuint id, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLUPDATEOBJECTBUFFERATIPROC)(GLuint buffer, GLuint offset, GLsizei size, const GLvoid *pointer, GLenum preserve);\ntypedef void (REGAL_CALL *PFNGLVARIANTARRAYOBJECTATIPROC)(GLuint id, GLenum type, GLsizei stride, GLuint buffer, GLuint offset);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ATI_VERTEX_ARRAY_OBJECT\n#define glArrayObjectATI                    rglArrayObjectATI\n#define glFreeObjectBufferATI               rglFreeObjectBufferATI\n#define glGetArrayObjectfvATI               rglGetArrayObjectfvATI\n#define glGetArrayObjectivATI               rglGetArrayObjectivATI\n#define glGetObjectBufferfvATI              rglGetObjectBufferfvATI\n#define glGetObjectBufferivATI              rglGetObjectBufferivATI\n#define glGetVariantArrayObjectfvATI        rglGetVariantArrayObjectfvATI\n#define glGetVariantArrayObjectivATI        rglGetVariantArrayObjectivATI\n#define glIsObjectBufferATI                 rglIsObjectBufferATI\n#define glNewObjectBufferATI                rglNewObjectBufferATI\n#define glUpdateObjectBufferATI             rglUpdateObjectBufferATI\n#define glVariantArrayObjectATI             rglVariantArrayObjectATI\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ATI_VERTEX_ARRAY_OBJECT\nREGAL_DECL GLboolean REGAL_CALL glIsObjectBufferATI(GLuint buffer);\nREGAL_DECL GLuint REGAL_CALL glNewObjectBufferATI(GLsizei size, const GLvoid *pointer, GLenum usage);\nREGAL_DECL void REGAL_CALL glArrayObjectATI(GLenum array, GLint size, GLenum type, GLsizei stride, GLuint buffer, GLuint offset);\nREGAL_DECL void REGAL_CALL glFreeObjectBufferATI(GLuint buffer);\nREGAL_DECL void REGAL_CALL glGetArrayObjectfvATI(GLenum array, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetArrayObjectivATI(GLenum array, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetObjectBufferfvATI(GLuint buffer, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetObjectBufferivATI(GLuint buffer, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetVariantArrayObjectfvATI(GLuint id, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetVariantArrayObjectivATI(GLuint id, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glUpdateObjectBufferATI(GLuint buffer, GLuint offset, GLsizei size, const GLvoid *pointer, GLenum preserve);\nREGAL_DECL void REGAL_CALL glVariantArrayObjectATI(GLuint id, GLenum type, GLsizei stride, GLuint buffer, GLuint offset);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ATI_VERTEX_ARRAY_OBJECT\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsObjectBufferATI(GLuint buffer);\nREGAL_DECL GLuint REGAL_CALL plugin_glNewObjectBufferATI(GLsizei size, const GLvoid *pointer, GLenum usage);\nREGAL_DECL void REGAL_CALL plugin_glArrayObjectATI(GLenum array, GLint size, GLenum type, GLsizei stride, GLuint buffer, GLuint offset);\nREGAL_DECL void REGAL_CALL plugin_glFreeObjectBufferATI(GLuint buffer);\nREGAL_DECL void REGAL_CALL plugin_glGetArrayObjectfvATI(GLenum array, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetArrayObjectivATI(GLenum array, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetObjectBufferfvATI(GLuint buffer, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetObjectBufferivATI(GLuint buffer, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetVariantArrayObjectfvATI(GLuint id, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetVariantArrayObjectivATI(GLuint id, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glUpdateObjectBufferATI(GLuint buffer, GLuint offset, GLsizei size, const GLvoid *pointer, GLenum preserve);\nREGAL_DECL void REGAL_CALL plugin_glVariantArrayObjectATI(GLuint id, GLenum type, GLsizei stride, GLuint buffer, GLuint offset);\n#endif\n\n/**\n ** GL_ATI_vertex_attrib_array_object\n **/\n\n#if (defined(GL_ATI_VERTEX_ATTRIB_ARRAY_OBJECT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ATI_VERTEX_ATTRIB_ARRAY_OBJECT)) && !defined(REGAL_NO_ENUM_GL_ATI_VERTEX_ATTRIB_ARRAY_OBJECT)\n#define REGAL_NO_ENUM_GL_ATI_VERTEX_ATTRIB_ARRAY_OBJECT\n#endif\n\n#if (defined(GL_ATI_VERTEX_ATTRIB_ARRAY_OBJECT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ATI_VERTEX_ATTRIB_ARRAY_OBJECT)) && !defined(REGAL_NO_TYPEDEF_GL_ATI_VERTEX_ATTRIB_ARRAY_OBJECT)\n#define REGAL_NO_TYPEDEF_GL_ATI_VERTEX_ATTRIB_ARRAY_OBJECT\n#endif\n\n#if (defined(GL_ATI_VERTEX_ATTRIB_ARRAY_OBJECT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ATI_VERTEX_ATTRIB_ARRAY_OBJECT)) && !defined(REGAL_NO_NAMESPACE_GL_ATI_VERTEX_ATTRIB_ARRAY_OBJECT)\n#define REGAL_NO_NAMESPACE_GL_ATI_VERTEX_ATTRIB_ARRAY_OBJECT\n#endif\n\n#if (defined(GL_ATI_VERTEX_ATTRIB_ARRAY_OBJECT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ATI_VERTEX_ATTRIB_ARRAY_OBJECT)) && !defined(REGAL_NO_PLUGIN_GL_ATI_VERTEX_ATTRIB_ARRAY_OBJECT)\n#define REGAL_NO_PLUGIN_GL_ATI_VERTEX_ATTRIB_ARRAY_OBJECT\n#endif\n\n#if (defined(GL_ATI_VERTEX_ATTRIB_ARRAY_OBJECT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ATI_VERTEX_ATTRIB_ARRAY_OBJECT)) && !defined(REGAL_NO_DECLARATION_GL_ATI_VERTEX_ATTRIB_ARRAY_OBJECT)\n#define REGAL_NO_DECLARATION_GL_ATI_VERTEX_ATTRIB_ARRAY_OBJECT\n#endif\n\n#ifndef GL_ATI_vertex_attrib_array_object\n#define GL_ATI_vertex_attrib_array_object 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ATI_VERTEX_ATTRIB_ARRAY_OBJECT\ntypedef void (REGAL_CALL *PFNGLGETVERTEXATTRIBARRAYOBJECTFVATIPROC)(GLuint index, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETVERTEXATTRIBARRAYOBJECTIVATIPROC)(GLuint index, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBARRAYOBJECTATIPROC)(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, GLuint buffer, GLuint offset);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ATI_VERTEX_ATTRIB_ARRAY_OBJECT\n#define glGetVertexAttribArrayObjectfvATI   rglGetVertexAttribArrayObjectfvATI\n#define glGetVertexAttribArrayObjectivATI   rglGetVertexAttribArrayObjectivATI\n#define glVertexAttribArrayObjectATI        rglVertexAttribArrayObjectATI\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ATI_VERTEX_ATTRIB_ARRAY_OBJECT\nREGAL_DECL void REGAL_CALL glGetVertexAttribArrayObjectfvATI(GLuint index, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetVertexAttribArrayObjectivATI(GLuint index, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glVertexAttribArrayObjectATI(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, GLuint buffer, GLuint offset);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ATI_VERTEX_ATTRIB_ARRAY_OBJECT\nREGAL_DECL void REGAL_CALL plugin_glGetVertexAttribArrayObjectfvATI(GLuint index, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetVertexAttribArrayObjectivATI(GLuint index, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribArrayObjectATI(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, GLuint buffer, GLuint offset);\n#endif\n\n/**\n ** GL_ATI_vertex_streams\n **/\n\n#if (defined(GL_ATI_VERTEX_STREAMS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ATI_VERTEX_STREAMS)) && !defined(REGAL_NO_ENUM_GL_ATI_VERTEX_STREAMS)\n#define REGAL_NO_ENUM_GL_ATI_VERTEX_STREAMS\n#endif\n\n#if (defined(GL_ATI_VERTEX_STREAMS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ATI_VERTEX_STREAMS)) && !defined(REGAL_NO_TYPEDEF_GL_ATI_VERTEX_STREAMS)\n#define REGAL_NO_TYPEDEF_GL_ATI_VERTEX_STREAMS\n#endif\n\n#if (defined(GL_ATI_VERTEX_STREAMS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ATI_VERTEX_STREAMS)) && !defined(REGAL_NO_NAMESPACE_GL_ATI_VERTEX_STREAMS)\n#define REGAL_NO_NAMESPACE_GL_ATI_VERTEX_STREAMS\n#endif\n\n#if (defined(GL_ATI_VERTEX_STREAMS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ATI_VERTEX_STREAMS)) && !defined(REGAL_NO_PLUGIN_GL_ATI_VERTEX_STREAMS)\n#define REGAL_NO_PLUGIN_GL_ATI_VERTEX_STREAMS\n#endif\n\n#if (defined(GL_ATI_VERTEX_STREAMS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ATI_VERTEX_STREAMS)) && !defined(REGAL_NO_DECLARATION_GL_ATI_VERTEX_STREAMS)\n#define REGAL_NO_DECLARATION_GL_ATI_VERTEX_STREAMS\n#endif\n\n#ifndef GL_ATI_vertex_streams\n#define GL_ATI_vertex_streams 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ATI_VERTEX_STREAMS\n#define GL_MAX_VERTEX_STREAMS_ATI 0x876b     /* 34667 */\n#define GL_VERTEX_SOURCE_ATI      0x876c     /* 34668 */\n#define GL_VERTEX_STREAM0_ATI     0x876d     /* 34669 */\n#define GL_VERTEX_STREAM1_ATI     0x876e     /* 34670 */\n#define GL_VERTEX_STREAM2_ATI     0x876f     /* 34671 */\n#define GL_VERTEX_STREAM3_ATI     0x8770     /* 34672 */\n#define GL_VERTEX_STREAM4_ATI     0x8771     /* 34673 */\n#define GL_VERTEX_STREAM5_ATI     0x8772     /* 34674 */\n#define GL_VERTEX_STREAM6_ATI     0x8773     /* 34675 */\n#define GL_VERTEX_STREAM7_ATI     0x8774     /* 34676 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ATI_VERTEX_STREAMS\ntypedef void (REGAL_CALL *PFNGLCLIENTACTIVEVERTEXSTREAMATIPROC)(GLenum stream);\ntypedef void (REGAL_CALL *PFNGLNORMALSTREAM3BATIPROC)(GLenum stream, GLbyte x, GLbyte y, GLbyte z);\ntypedef void (REGAL_CALL *PFNGLNORMALSTREAM3BVATIPROC)(GLenum stream, const GLbyte *coords);\ntypedef void (REGAL_CALL *PFNGLNORMALSTREAM3DATIPROC)(GLenum stream, GLdouble x, GLdouble y, GLdouble z);\ntypedef void (REGAL_CALL *PFNGLNORMALSTREAM3DVATIPROC)(GLenum stream, const GLdouble *coords);\ntypedef void (REGAL_CALL *PFNGLNORMALSTREAM3FATIPROC)(GLenum stream, GLfloat x, GLfloat y, GLfloat z);\ntypedef void (REGAL_CALL *PFNGLNORMALSTREAM3FVATIPROC)(GLenum stream, const GLfloat *coords);\ntypedef void (REGAL_CALL *PFNGLNORMALSTREAM3IATIPROC)(GLenum stream, GLint x, GLint y, GLint z);\ntypedef void (REGAL_CALL *PFNGLNORMALSTREAM3IVATIPROC)(GLenum stream, const GLint *coords);\ntypedef void (REGAL_CALL *PFNGLNORMALSTREAM3SATIPROC)(GLenum stream, GLshort x, GLshort y, GLshort z);\ntypedef void (REGAL_CALL *PFNGLNORMALSTREAM3SVATIPROC)(GLenum stream, const GLshort *coords);\ntypedef void (REGAL_CALL *PFNGLVERTEXBLENDENVFATIPROC)(GLenum pname, GLfloat param);\ntypedef void (REGAL_CALL *PFNGLVERTEXBLENDENVIATIPROC)(GLenum pname, GLint param);\ntypedef void (REGAL_CALL *PFNGLVERTEXSTREAM1DATIPROC)(GLenum stream, GLdouble x);\ntypedef void (REGAL_CALL *PFNGLVERTEXSTREAM1DVATIPROC)(GLenum stream, const GLdouble *coords);\ntypedef void (REGAL_CALL *PFNGLVERTEXSTREAM1FATIPROC)(GLenum stream, GLfloat x);\ntypedef void (REGAL_CALL *PFNGLVERTEXSTREAM1FVATIPROC)(GLenum stream, const GLfloat *coords);\ntypedef void (REGAL_CALL *PFNGLVERTEXSTREAM1IATIPROC)(GLenum stream, GLint x);\ntypedef void (REGAL_CALL *PFNGLVERTEXSTREAM1IVATIPROC)(GLenum stream, const GLint *coords);\ntypedef void (REGAL_CALL *PFNGLVERTEXSTREAM1SATIPROC)(GLenum stream, GLshort x);\ntypedef void (REGAL_CALL *PFNGLVERTEXSTREAM1SVATIPROC)(GLenum stream, const GLshort *coords);\ntypedef void (REGAL_CALL *PFNGLVERTEXSTREAM2DATIPROC)(GLenum stream, GLdouble x, GLdouble y);\ntypedef void (REGAL_CALL *PFNGLVERTEXSTREAM2DVATIPROC)(GLenum stream, const GLdouble *coords);\ntypedef void (REGAL_CALL *PFNGLVERTEXSTREAM2FATIPROC)(GLenum stream, GLfloat x, GLfloat y);\ntypedef void (REGAL_CALL *PFNGLVERTEXSTREAM2FVATIPROC)(GLenum stream, const GLfloat *coords);\ntypedef void (REGAL_CALL *PFNGLVERTEXSTREAM2IATIPROC)(GLenum stream, GLint x, GLint y);\ntypedef void (REGAL_CALL *PFNGLVERTEXSTREAM2IVATIPROC)(GLenum stream, const GLint *coords);\ntypedef void (REGAL_CALL *PFNGLVERTEXSTREAM2SATIPROC)(GLenum stream, GLshort x, GLshort y);\ntypedef void (REGAL_CALL *PFNGLVERTEXSTREAM2SVATIPROC)(GLenum stream, const GLshort *coords);\ntypedef void (REGAL_CALL *PFNGLVERTEXSTREAM3DATIPROC)(GLenum stream, GLdouble x, GLdouble y, GLdouble z);\ntypedef void (REGAL_CALL *PFNGLVERTEXSTREAM3DVATIPROC)(GLenum stream, const GLdouble *coords);\ntypedef void (REGAL_CALL *PFNGLVERTEXSTREAM3FATIPROC)(GLenum stream, GLfloat x, GLfloat y, GLfloat z);\ntypedef void (REGAL_CALL *PFNGLVERTEXSTREAM3FVATIPROC)(GLenum stream, const GLfloat *coords);\ntypedef void (REGAL_CALL *PFNGLVERTEXSTREAM3IATIPROC)(GLenum stream, GLint x, GLint y, GLint z);\ntypedef void (REGAL_CALL *PFNGLVERTEXSTREAM3IVATIPROC)(GLenum stream, const GLint *coords);\ntypedef void (REGAL_CALL *PFNGLVERTEXSTREAM3SATIPROC)(GLenum stream, GLshort x, GLshort y, GLshort z);\ntypedef void (REGAL_CALL *PFNGLVERTEXSTREAM3SVATIPROC)(GLenum stream, const GLshort *coords);\ntypedef void (REGAL_CALL *PFNGLVERTEXSTREAM4DATIPROC)(GLenum stream, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\ntypedef void (REGAL_CALL *PFNGLVERTEXSTREAM4DVATIPROC)(GLenum stream, const GLdouble *coords);\ntypedef void (REGAL_CALL *PFNGLVERTEXSTREAM4FATIPROC)(GLenum stream, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\ntypedef void (REGAL_CALL *PFNGLVERTEXSTREAM4FVATIPROC)(GLenum stream, const GLfloat *coords);\ntypedef void (REGAL_CALL *PFNGLVERTEXSTREAM4IATIPROC)(GLenum stream, GLint x, GLint y, GLint z, GLint w);\ntypedef void (REGAL_CALL *PFNGLVERTEXSTREAM4IVATIPROC)(GLenum stream, const GLint *coords);\ntypedef void (REGAL_CALL *PFNGLVERTEXSTREAM4SATIPROC)(GLenum stream, GLshort x, GLshort y, GLshort z, GLshort w);\ntypedef void (REGAL_CALL *PFNGLVERTEXSTREAM4SVATIPROC)(GLenum stream, const GLshort *coords);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ATI_VERTEX_STREAMS\n#define glClientActiveVertexStreamATI       rglClientActiveVertexStreamATI\n#define glNormalStream3bATI                 rglNormalStream3bATI\n#define glNormalStream3bvATI                rglNormalStream3bvATI\n#define glNormalStream3dATI                 rglNormalStream3dATI\n#define glNormalStream3dvATI                rglNormalStream3dvATI\n#define glNormalStream3fATI                 rglNormalStream3fATI\n#define glNormalStream3fvATI                rglNormalStream3fvATI\n#define glNormalStream3iATI                 rglNormalStream3iATI\n#define glNormalStream3ivATI                rglNormalStream3ivATI\n#define glNormalStream3sATI                 rglNormalStream3sATI\n#define glNormalStream3svATI                rglNormalStream3svATI\n#define glVertexBlendEnvfATI                rglVertexBlendEnvfATI\n#define glVertexBlendEnviATI                rglVertexBlendEnviATI\n#define glVertexStream1dATI                 rglVertexStream1dATI\n#define glVertexStream1dvATI                rglVertexStream1dvATI\n#define glVertexStream1fATI                 rglVertexStream1fATI\n#define glVertexStream1fvATI                rglVertexStream1fvATI\n#define glVertexStream1iATI                 rglVertexStream1iATI\n#define glVertexStream1ivATI                rglVertexStream1ivATI\n#define glVertexStream1sATI                 rglVertexStream1sATI\n#define glVertexStream1svATI                rglVertexStream1svATI\n#define glVertexStream2dATI                 rglVertexStream2dATI\n#define glVertexStream2dvATI                rglVertexStream2dvATI\n#define glVertexStream2fATI                 rglVertexStream2fATI\n#define glVertexStream2fvATI                rglVertexStream2fvATI\n#define glVertexStream2iATI                 rglVertexStream2iATI\n#define glVertexStream2ivATI                rglVertexStream2ivATI\n#define glVertexStream2sATI                 rglVertexStream2sATI\n#define glVertexStream2svATI                rglVertexStream2svATI\n#define glVertexStream3dATI                 rglVertexStream3dATI\n#define glVertexStream3dvATI                rglVertexStream3dvATI\n#define glVertexStream3fATI                 rglVertexStream3fATI\n#define glVertexStream3fvATI                rglVertexStream3fvATI\n#define glVertexStream3iATI                 rglVertexStream3iATI\n#define glVertexStream3ivATI                rglVertexStream3ivATI\n#define glVertexStream3sATI                 rglVertexStream3sATI\n#define glVertexStream3svATI                rglVertexStream3svATI\n#define glVertexStream4dATI                 rglVertexStream4dATI\n#define glVertexStream4dvATI                rglVertexStream4dvATI\n#define glVertexStream4fATI                 rglVertexStream4fATI\n#define glVertexStream4fvATI                rglVertexStream4fvATI\n#define glVertexStream4iATI                 rglVertexStream4iATI\n#define glVertexStream4ivATI                rglVertexStream4ivATI\n#define glVertexStream4sATI                 rglVertexStream4sATI\n#define glVertexStream4svATI                rglVertexStream4svATI\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ATI_VERTEX_STREAMS\nREGAL_DECL void REGAL_CALL glClientActiveVertexStreamATI(GLenum stream);\nREGAL_DECL void REGAL_CALL glNormalStream3bATI(GLenum stream, GLbyte x, GLbyte y, GLbyte z);\nREGAL_DECL void REGAL_CALL glNormalStream3bvATI(GLenum stream, const GLbyte *coords);\nREGAL_DECL void REGAL_CALL glNormalStream3dATI(GLenum stream, GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL glNormalStream3dvATI(GLenum stream, const GLdouble *coords);\nREGAL_DECL void REGAL_CALL glNormalStream3fATI(GLenum stream, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL glNormalStream3fvATI(GLenum stream, const GLfloat *coords);\nREGAL_DECL void REGAL_CALL glNormalStream3iATI(GLenum stream, GLint x, GLint y, GLint z);\nREGAL_DECL void REGAL_CALL glNormalStream3ivATI(GLenum stream, const GLint *coords);\nREGAL_DECL void REGAL_CALL glNormalStream3sATI(GLenum stream, GLshort x, GLshort y, GLshort z);\nREGAL_DECL void REGAL_CALL glNormalStream3svATI(GLenum stream, const GLshort *coords);\nREGAL_DECL void REGAL_CALL glVertexBlendEnvfATI(GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL glVertexBlendEnviATI(GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL glVertexStream1dATI(GLenum stream, GLdouble x);\nREGAL_DECL void REGAL_CALL glVertexStream1dvATI(GLenum stream, const GLdouble *coords);\nREGAL_DECL void REGAL_CALL glVertexStream1fATI(GLenum stream, GLfloat x);\nREGAL_DECL void REGAL_CALL glVertexStream1fvATI(GLenum stream, const GLfloat *coords);\nREGAL_DECL void REGAL_CALL glVertexStream1iATI(GLenum stream, GLint x);\nREGAL_DECL void REGAL_CALL glVertexStream1ivATI(GLenum stream, const GLint *coords);\nREGAL_DECL void REGAL_CALL glVertexStream1sATI(GLenum stream, GLshort x);\nREGAL_DECL void REGAL_CALL glVertexStream1svATI(GLenum stream, const GLshort *coords);\nREGAL_DECL void REGAL_CALL glVertexStream2dATI(GLenum stream, GLdouble x, GLdouble y);\nREGAL_DECL void REGAL_CALL glVertexStream2dvATI(GLenum stream, const GLdouble *coords);\nREGAL_DECL void REGAL_CALL glVertexStream2fATI(GLenum stream, GLfloat x, GLfloat y);\nREGAL_DECL void REGAL_CALL glVertexStream2fvATI(GLenum stream, const GLfloat *coords);\nREGAL_DECL void REGAL_CALL glVertexStream2iATI(GLenum stream, GLint x, GLint y);\nREGAL_DECL void REGAL_CALL glVertexStream2ivATI(GLenum stream, const GLint *coords);\nREGAL_DECL void REGAL_CALL glVertexStream2sATI(GLenum stream, GLshort x, GLshort y);\nREGAL_DECL void REGAL_CALL glVertexStream2svATI(GLenum stream, const GLshort *coords);\nREGAL_DECL void REGAL_CALL glVertexStream3dATI(GLenum stream, GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL glVertexStream3dvATI(GLenum stream, const GLdouble *coords);\nREGAL_DECL void REGAL_CALL glVertexStream3fATI(GLenum stream, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL glVertexStream3fvATI(GLenum stream, const GLfloat *coords);\nREGAL_DECL void REGAL_CALL glVertexStream3iATI(GLenum stream, GLint x, GLint y, GLint z);\nREGAL_DECL void REGAL_CALL glVertexStream3ivATI(GLenum stream, const GLint *coords);\nREGAL_DECL void REGAL_CALL glVertexStream3sATI(GLenum stream, GLshort x, GLshort y, GLshort z);\nREGAL_DECL void REGAL_CALL glVertexStream3svATI(GLenum stream, const GLshort *coords);\nREGAL_DECL void REGAL_CALL glVertexStream4dATI(GLenum stream, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nREGAL_DECL void REGAL_CALL glVertexStream4dvATI(GLenum stream, const GLdouble *coords);\nREGAL_DECL void REGAL_CALL glVertexStream4fATI(GLenum stream, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nREGAL_DECL void REGAL_CALL glVertexStream4fvATI(GLenum stream, const GLfloat *coords);\nREGAL_DECL void REGAL_CALL glVertexStream4iATI(GLenum stream, GLint x, GLint y, GLint z, GLint w);\nREGAL_DECL void REGAL_CALL glVertexStream4ivATI(GLenum stream, const GLint *coords);\nREGAL_DECL void REGAL_CALL glVertexStream4sATI(GLenum stream, GLshort x, GLshort y, GLshort z, GLshort w);\nREGAL_DECL void REGAL_CALL glVertexStream4svATI(GLenum stream, const GLshort *coords);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ATI_VERTEX_STREAMS\nREGAL_DECL void REGAL_CALL plugin_glClientActiveVertexStreamATI(GLenum stream);\nREGAL_DECL void REGAL_CALL plugin_glNormalStream3bATI(GLenum stream, GLbyte x, GLbyte y, GLbyte z);\nREGAL_DECL void REGAL_CALL plugin_glNormalStream3bvATI(GLenum stream, const GLbyte *coords);\nREGAL_DECL void REGAL_CALL plugin_glNormalStream3dATI(GLenum stream, GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL plugin_glNormalStream3dvATI(GLenum stream, const GLdouble *coords);\nREGAL_DECL void REGAL_CALL plugin_glNormalStream3fATI(GLenum stream, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL plugin_glNormalStream3fvATI(GLenum stream, const GLfloat *coords);\nREGAL_DECL void REGAL_CALL plugin_glNormalStream3iATI(GLenum stream, GLint x, GLint y, GLint z);\nREGAL_DECL void REGAL_CALL plugin_glNormalStream3ivATI(GLenum stream, const GLint *coords);\nREGAL_DECL void REGAL_CALL plugin_glNormalStream3sATI(GLenum stream, GLshort x, GLshort y, GLshort z);\nREGAL_DECL void REGAL_CALL plugin_glNormalStream3svATI(GLenum stream, const GLshort *coords);\nREGAL_DECL void REGAL_CALL plugin_glVertexBlendEnvfATI(GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL plugin_glVertexBlendEnviATI(GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL plugin_glVertexStream1dATI(GLenum stream, GLdouble x);\nREGAL_DECL void REGAL_CALL plugin_glVertexStream1dvATI(GLenum stream, const GLdouble *coords);\nREGAL_DECL void REGAL_CALL plugin_glVertexStream1fATI(GLenum stream, GLfloat x);\nREGAL_DECL void REGAL_CALL plugin_glVertexStream1fvATI(GLenum stream, const GLfloat *coords);\nREGAL_DECL void REGAL_CALL plugin_glVertexStream1iATI(GLenum stream, GLint x);\nREGAL_DECL void REGAL_CALL plugin_glVertexStream1ivATI(GLenum stream, const GLint *coords);\nREGAL_DECL void REGAL_CALL plugin_glVertexStream1sATI(GLenum stream, GLshort x);\nREGAL_DECL void REGAL_CALL plugin_glVertexStream1svATI(GLenum stream, const GLshort *coords);\nREGAL_DECL void REGAL_CALL plugin_glVertexStream2dATI(GLenum stream, GLdouble x, GLdouble y);\nREGAL_DECL void REGAL_CALL plugin_glVertexStream2dvATI(GLenum stream, const GLdouble *coords);\nREGAL_DECL void REGAL_CALL plugin_glVertexStream2fATI(GLenum stream, GLfloat x, GLfloat y);\nREGAL_DECL void REGAL_CALL plugin_glVertexStream2fvATI(GLenum stream, const GLfloat *coords);\nREGAL_DECL void REGAL_CALL plugin_glVertexStream2iATI(GLenum stream, GLint x, GLint y);\nREGAL_DECL void REGAL_CALL plugin_glVertexStream2ivATI(GLenum stream, const GLint *coords);\nREGAL_DECL void REGAL_CALL plugin_glVertexStream2sATI(GLenum stream, GLshort x, GLshort y);\nREGAL_DECL void REGAL_CALL plugin_glVertexStream2svATI(GLenum stream, const GLshort *coords);\nREGAL_DECL void REGAL_CALL plugin_glVertexStream3dATI(GLenum stream, GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL plugin_glVertexStream3dvATI(GLenum stream, const GLdouble *coords);\nREGAL_DECL void REGAL_CALL plugin_glVertexStream3fATI(GLenum stream, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL plugin_glVertexStream3fvATI(GLenum stream, const GLfloat *coords);\nREGAL_DECL void REGAL_CALL plugin_glVertexStream3iATI(GLenum stream, GLint x, GLint y, GLint z);\nREGAL_DECL void REGAL_CALL plugin_glVertexStream3ivATI(GLenum stream, const GLint *coords);\nREGAL_DECL void REGAL_CALL plugin_glVertexStream3sATI(GLenum stream, GLshort x, GLshort y, GLshort z);\nREGAL_DECL void REGAL_CALL plugin_glVertexStream3svATI(GLenum stream, const GLshort *coords);\nREGAL_DECL void REGAL_CALL plugin_glVertexStream4dATI(GLenum stream, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nREGAL_DECL void REGAL_CALL plugin_glVertexStream4dvATI(GLenum stream, const GLdouble *coords);\nREGAL_DECL void REGAL_CALL plugin_glVertexStream4fATI(GLenum stream, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nREGAL_DECL void REGAL_CALL plugin_glVertexStream4fvATI(GLenum stream, const GLfloat *coords);\nREGAL_DECL void REGAL_CALL plugin_glVertexStream4iATI(GLenum stream, GLint x, GLint y, GLint z, GLint w);\nREGAL_DECL void REGAL_CALL plugin_glVertexStream4ivATI(GLenum stream, const GLint *coords);\nREGAL_DECL void REGAL_CALL plugin_glVertexStream4sATI(GLenum stream, GLshort x, GLshort y, GLshort z, GLshort w);\nREGAL_DECL void REGAL_CALL plugin_glVertexStream4svATI(GLenum stream, const GLshort *coords);\n#endif\n\n/**\n ** GL_DMP_shader_binary\n **/\n\n#if (defined(GL_DMP_SHADER_BINARY) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_DMP_SHADER_BINARY)) && !defined(REGAL_NO_ENUM_GL_DMP_SHADER_BINARY)\n#define REGAL_NO_ENUM_GL_DMP_SHADER_BINARY\n#endif\n\n#if (defined(GL_DMP_SHADER_BINARY) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_DMP_SHADER_BINARY)) && !defined(REGAL_NO_TYPEDEF_GL_DMP_SHADER_BINARY)\n#define REGAL_NO_TYPEDEF_GL_DMP_SHADER_BINARY\n#endif\n\n#if (defined(GL_DMP_SHADER_BINARY) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_DMP_SHADER_BINARY)) && !defined(REGAL_NO_NAMESPACE_GL_DMP_SHADER_BINARY)\n#define REGAL_NO_NAMESPACE_GL_DMP_SHADER_BINARY\n#endif\n\n#if (defined(GL_DMP_SHADER_BINARY) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_DMP_SHADER_BINARY)) && !defined(REGAL_NO_PLUGIN_GL_DMP_SHADER_BINARY)\n#define REGAL_NO_PLUGIN_GL_DMP_SHADER_BINARY\n#endif\n\n#if (defined(GL_DMP_SHADER_BINARY) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_DMP_SHADER_BINARY)) && !defined(REGAL_NO_DECLARATION_GL_DMP_SHADER_BINARY)\n#define REGAL_NO_DECLARATION_GL_DMP_SHADER_BINARY\n#endif\n\n#ifndef GL_DMP_shader_binary\n#define GL_DMP_shader_binary 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_DMP_SHADER_BINARY\n#define GL_SHADER_BINARY_DMP 0x9250 /* 37456 */\n#endif\n\n/**\n ** GL_EXT_422_pixels\n **/\n\n#if (defined(GL_EXT_422_PIXELS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_422_PIXELS)) && !defined(REGAL_NO_ENUM_GL_EXT_422_PIXELS)\n#define REGAL_NO_ENUM_GL_EXT_422_PIXELS\n#endif\n\n#if (defined(GL_EXT_422_PIXELS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_422_PIXELS)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_422_PIXELS)\n#define REGAL_NO_TYPEDEF_GL_EXT_422_PIXELS\n#endif\n\n#if (defined(GL_EXT_422_PIXELS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_422_PIXELS)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_422_PIXELS)\n#define REGAL_NO_NAMESPACE_GL_EXT_422_PIXELS\n#endif\n\n#if (defined(GL_EXT_422_PIXELS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_422_PIXELS)) && !defined(REGAL_NO_PLUGIN_GL_EXT_422_PIXELS)\n#define REGAL_NO_PLUGIN_GL_EXT_422_PIXELS\n#endif\n\n#if (defined(GL_EXT_422_PIXELS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_422_PIXELS)) && !defined(REGAL_NO_DECLARATION_GL_EXT_422_PIXELS)\n#define REGAL_NO_DECLARATION_GL_EXT_422_PIXELS\n#endif\n\n#ifndef GL_EXT_422_pixels\n#define GL_EXT_422_pixels 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_422_PIXELS\n#define GL_422_EXT             0x80cc     /* 32972 */\n#define GL_422_REV_EXT         0x80cd     /* 32973 */\n#define GL_422_AVERAGE_EXT     0x80ce     /* 32974 */\n#define GL_422_REV_AVERAGE_EXT 0x80cf     /* 32975 */\n#endif\n\n/**\n ** GL_EXT_Cg_shader\n **/\n\n#if (defined(GL_EXT_CG_SHADER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_CG_SHADER)) && !defined(REGAL_NO_ENUM_GL_EXT_CG_SHADER)\n#define REGAL_NO_ENUM_GL_EXT_CG_SHADER\n#endif\n\n#if (defined(GL_EXT_CG_SHADER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_CG_SHADER)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_CG_SHADER)\n#define REGAL_NO_TYPEDEF_GL_EXT_CG_SHADER\n#endif\n\n#if (defined(GL_EXT_CG_SHADER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_CG_SHADER)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_CG_SHADER)\n#define REGAL_NO_NAMESPACE_GL_EXT_CG_SHADER\n#endif\n\n#if (defined(GL_EXT_CG_SHADER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_CG_SHADER)) && !defined(REGAL_NO_PLUGIN_GL_EXT_CG_SHADER)\n#define REGAL_NO_PLUGIN_GL_EXT_CG_SHADER\n#endif\n\n#if (defined(GL_EXT_CG_SHADER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_CG_SHADER)) && !defined(REGAL_NO_DECLARATION_GL_EXT_CG_SHADER)\n#define REGAL_NO_DECLARATION_GL_EXT_CG_SHADER\n#endif\n\n#ifndef GL_EXT_Cg_shader\n#define GL_EXT_Cg_shader 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_CG_SHADER\n#define GL_CG_VERTEX_SHADER_EXT   0x890e     /* 35086 */\n#define GL_CG_FRAGMENT_SHADER_EXT 0x890f     /* 35087 */\n#endif\n\n/**\n ** GL_EXT_abgr\n **/\n\n#if (defined(GL_EXT_ABGR) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_ABGR)) && !defined(REGAL_NO_ENUM_GL_EXT_ABGR)\n#define REGAL_NO_ENUM_GL_EXT_ABGR\n#endif\n\n#if (defined(GL_EXT_ABGR) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_ABGR)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_ABGR)\n#define REGAL_NO_TYPEDEF_GL_EXT_ABGR\n#endif\n\n#if (defined(GL_EXT_ABGR) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_ABGR)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_ABGR)\n#define REGAL_NO_NAMESPACE_GL_EXT_ABGR\n#endif\n\n#if (defined(GL_EXT_ABGR) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_ABGR)) && !defined(REGAL_NO_PLUGIN_GL_EXT_ABGR)\n#define REGAL_NO_PLUGIN_GL_EXT_ABGR\n#endif\n\n#if (defined(GL_EXT_ABGR) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_ABGR)) && !defined(REGAL_NO_DECLARATION_GL_EXT_ABGR)\n#define REGAL_NO_DECLARATION_GL_EXT_ABGR\n#endif\n\n#ifndef GL_EXT_abgr\n#define GL_EXT_abgr 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_ABGR\n#define GL_ABGR_EXT 0x8000 /* 32768 */\n#endif\n\n/**\n ** GL_EXT_bgra\n **/\n\n#if (defined(GL_EXT_BGRA) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_BGRA)) && !defined(REGAL_NO_ENUM_GL_EXT_BGRA)\n#define REGAL_NO_ENUM_GL_EXT_BGRA\n#endif\n\n#if (defined(GL_EXT_BGRA) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_BGRA)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_BGRA)\n#define REGAL_NO_TYPEDEF_GL_EXT_BGRA\n#endif\n\n#if (defined(GL_EXT_BGRA) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_BGRA)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_BGRA)\n#define REGAL_NO_NAMESPACE_GL_EXT_BGRA\n#endif\n\n#if (defined(GL_EXT_BGRA) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_BGRA)) && !defined(REGAL_NO_PLUGIN_GL_EXT_BGRA)\n#define REGAL_NO_PLUGIN_GL_EXT_BGRA\n#endif\n\n#if (defined(GL_EXT_BGRA) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_BGRA)) && !defined(REGAL_NO_DECLARATION_GL_EXT_BGRA)\n#define REGAL_NO_DECLARATION_GL_EXT_BGRA\n#endif\n\n#ifndef GL_EXT_bgra\n#define GL_EXT_bgra 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_BGRA\n#define GL_BGR_EXT  0x80e0     /* 32992 */\n#define GL_BGRA_EXT 0x80e1     /* 32993 */\n#endif\n\n/**\n ** GL_EXT_bindable_uniform\n **/\n\n#if (defined(GL_EXT_BINDABLE_UNIFORM) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_BINDABLE_UNIFORM)) && !defined(REGAL_NO_ENUM_GL_EXT_BINDABLE_UNIFORM)\n#define REGAL_NO_ENUM_GL_EXT_BINDABLE_UNIFORM\n#endif\n\n#if (defined(GL_EXT_BINDABLE_UNIFORM) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_BINDABLE_UNIFORM)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_BINDABLE_UNIFORM)\n#define REGAL_NO_TYPEDEF_GL_EXT_BINDABLE_UNIFORM\n#endif\n\n#if (defined(GL_EXT_BINDABLE_UNIFORM) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_BINDABLE_UNIFORM)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_BINDABLE_UNIFORM)\n#define REGAL_NO_NAMESPACE_GL_EXT_BINDABLE_UNIFORM\n#endif\n\n#if (defined(GL_EXT_BINDABLE_UNIFORM) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_BINDABLE_UNIFORM)) && !defined(REGAL_NO_PLUGIN_GL_EXT_BINDABLE_UNIFORM)\n#define REGAL_NO_PLUGIN_GL_EXT_BINDABLE_UNIFORM\n#endif\n\n#if (defined(GL_EXT_BINDABLE_UNIFORM) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_BINDABLE_UNIFORM)) && !defined(REGAL_NO_DECLARATION_GL_EXT_BINDABLE_UNIFORM)\n#define REGAL_NO_DECLARATION_GL_EXT_BINDABLE_UNIFORM\n#endif\n\n#ifndef GL_EXT_bindable_uniform\n#define GL_EXT_bindable_uniform 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_BINDABLE_UNIFORM\n#define GL_MAX_VERTEX_BINDABLE_UNIFORMS_EXT   0x8de2     /* 36322 */\n#define GL_MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT 0x8de3     /* 36323 */\n#define GL_MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT 0x8de4     /* 36324 */\n#define GL_MAX_BINDABLE_UNIFORM_SIZE_EXT      0x8ded     /* 36333 */\n#define GL_UNIFORM_BUFFER_EXT                 0x8dee     /* 36334 */\n#define GL_UNIFORM_BUFFER_BINDING_EXT         0x8def     /* 36335 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_BINDABLE_UNIFORM\ntypedef GLint (REGAL_CALL *PFNGLGETUNIFORMBUFFERSIZEEXTPROC)(GLuint program, GLint location);\ntypedef GLintptr (REGAL_CALL *PFNGLGETUNIFORMOFFSETEXTPROC)(GLuint program, GLint location);\ntypedef void (REGAL_CALL *PFNGLUNIFORMBUFFEREXTPROC)(GLuint program, GLint location, GLuint buffer);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_BINDABLE_UNIFORM\n#define glGetUniformBufferSizeEXT           rglGetUniformBufferSizeEXT\n#define glGetUniformOffsetEXT               rglGetUniformOffsetEXT\n#define glUniformBufferEXT                  rglUniformBufferEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_BINDABLE_UNIFORM\nREGAL_DECL GLint REGAL_CALL glGetUniformBufferSizeEXT(GLuint program, GLint location);\nREGAL_DECL GLintptr REGAL_CALL glGetUniformOffsetEXT(GLuint program, GLint location);\nREGAL_DECL void REGAL_CALL glUniformBufferEXT(GLuint program, GLint location, GLuint buffer);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_BINDABLE_UNIFORM\nREGAL_DECL GLint REGAL_CALL plugin_glGetUniformBufferSizeEXT(GLuint program, GLint location);\nREGAL_DECL GLintptr REGAL_CALL plugin_glGetUniformOffsetEXT(GLuint program, GLint location);\nREGAL_DECL void REGAL_CALL plugin_glUniformBufferEXT(GLuint program, GLint location, GLuint buffer);\n#endif\n\n/**\n ** GL_EXT_blend_color\n **/\n\n#if (defined(GL_EXT_BLEND_COLOR) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_BLEND_COLOR)) && !defined(REGAL_NO_ENUM_GL_EXT_BLEND_COLOR)\n#define REGAL_NO_ENUM_GL_EXT_BLEND_COLOR\n#endif\n\n#if (defined(GL_EXT_BLEND_COLOR) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_BLEND_COLOR)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_BLEND_COLOR)\n#define REGAL_NO_TYPEDEF_GL_EXT_BLEND_COLOR\n#endif\n\n#if (defined(GL_EXT_BLEND_COLOR) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_BLEND_COLOR)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_BLEND_COLOR)\n#define REGAL_NO_NAMESPACE_GL_EXT_BLEND_COLOR\n#endif\n\n#if (defined(GL_EXT_BLEND_COLOR) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_BLEND_COLOR)) && !defined(REGAL_NO_PLUGIN_GL_EXT_BLEND_COLOR)\n#define REGAL_NO_PLUGIN_GL_EXT_BLEND_COLOR\n#endif\n\n#if (defined(GL_EXT_BLEND_COLOR) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_BLEND_COLOR)) && !defined(REGAL_NO_DECLARATION_GL_EXT_BLEND_COLOR)\n#define REGAL_NO_DECLARATION_GL_EXT_BLEND_COLOR\n#endif\n\n#ifndef GL_EXT_blend_color\n#define GL_EXT_blend_color 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_BLEND_COLOR\n#define GL_CONSTANT_COLOR_EXT           0x8001     /* 32769 */\n#define GL_ONE_MINUS_CONSTANT_COLOR_EXT 0x8002     /* 32770 */\n#define GL_CONSTANT_ALPHA_EXT           0x8003     /* 32771 */\n#define GL_ONE_MINUS_CONSTANT_ALPHA_EXT 0x8004     /* 32772 */\n#define GL_BLEND_COLOR_EXT              0x8005     /* 32773 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_BLEND_COLOR\ntypedef void (REGAL_CALL *PFNGLBLENDCOLOREXTPROC)(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_BLEND_COLOR\n#define glBlendColorEXT                     rglBlendColorEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_BLEND_COLOR\nREGAL_DECL void REGAL_CALL glBlendColorEXT(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_BLEND_COLOR\nREGAL_DECL void REGAL_CALL plugin_glBlendColorEXT(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);\n#endif\n\n/**\n ** GL_EXT_blend_equation_separate\n **/\n\n#if (defined(GL_EXT_BLEND_EQUATION_SEPARATE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_BLEND_EQUATION_SEPARATE)) && !defined(REGAL_NO_ENUM_GL_EXT_BLEND_EQUATION_SEPARATE)\n#define REGAL_NO_ENUM_GL_EXT_BLEND_EQUATION_SEPARATE\n#endif\n\n#if (defined(GL_EXT_BLEND_EQUATION_SEPARATE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_BLEND_EQUATION_SEPARATE)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_BLEND_EQUATION_SEPARATE)\n#define REGAL_NO_TYPEDEF_GL_EXT_BLEND_EQUATION_SEPARATE\n#endif\n\n#if (defined(GL_EXT_BLEND_EQUATION_SEPARATE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_BLEND_EQUATION_SEPARATE)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_BLEND_EQUATION_SEPARATE)\n#define REGAL_NO_NAMESPACE_GL_EXT_BLEND_EQUATION_SEPARATE\n#endif\n\n#if (defined(GL_EXT_BLEND_EQUATION_SEPARATE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_BLEND_EQUATION_SEPARATE)) && !defined(REGAL_NO_PLUGIN_GL_EXT_BLEND_EQUATION_SEPARATE)\n#define REGAL_NO_PLUGIN_GL_EXT_BLEND_EQUATION_SEPARATE\n#endif\n\n#if (defined(GL_EXT_BLEND_EQUATION_SEPARATE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_BLEND_EQUATION_SEPARATE)) && !defined(REGAL_NO_DECLARATION_GL_EXT_BLEND_EQUATION_SEPARATE)\n#define REGAL_NO_DECLARATION_GL_EXT_BLEND_EQUATION_SEPARATE\n#endif\n\n#ifndef GL_EXT_blend_equation_separate\n#define GL_EXT_blend_equation_separate 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_BLEND_EQUATION_SEPARATE\n#define GL_BLEND_EQUATION_RGB_EXT   0x8009     /* 32777 */\n#define GL_BLEND_EQUATION_ALPHA_EXT 0x883d     /* 34877 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_BLEND_EQUATION_SEPARATE\ntypedef void (REGAL_CALL *PFNGLBLENDEQUATIONSEPARATEEXTPROC)(GLenum modeRGB, GLenum modeAlpha);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_BLEND_EQUATION_SEPARATE\n#define glBlendEquationSeparateEXT          rglBlendEquationSeparateEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_BLEND_EQUATION_SEPARATE\nREGAL_DECL void REGAL_CALL glBlendEquationSeparateEXT(GLenum modeRGB, GLenum modeAlpha);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_BLEND_EQUATION_SEPARATE\nREGAL_DECL void REGAL_CALL plugin_glBlendEquationSeparateEXT(GLenum modeRGB, GLenum modeAlpha);\n#endif\n\n/**\n ** GL_EXT_blend_func_separate\n **/\n\n#if (defined(GL_EXT_BLEND_FUNC_SEPARATE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_BLEND_FUNC_SEPARATE)) && !defined(REGAL_NO_ENUM_GL_EXT_BLEND_FUNC_SEPARATE)\n#define REGAL_NO_ENUM_GL_EXT_BLEND_FUNC_SEPARATE\n#endif\n\n#if (defined(GL_EXT_BLEND_FUNC_SEPARATE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_BLEND_FUNC_SEPARATE)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_BLEND_FUNC_SEPARATE)\n#define REGAL_NO_TYPEDEF_GL_EXT_BLEND_FUNC_SEPARATE\n#endif\n\n#if (defined(GL_EXT_BLEND_FUNC_SEPARATE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_BLEND_FUNC_SEPARATE)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_BLEND_FUNC_SEPARATE)\n#define REGAL_NO_NAMESPACE_GL_EXT_BLEND_FUNC_SEPARATE\n#endif\n\n#if (defined(GL_EXT_BLEND_FUNC_SEPARATE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_BLEND_FUNC_SEPARATE)) && !defined(REGAL_NO_PLUGIN_GL_EXT_BLEND_FUNC_SEPARATE)\n#define REGAL_NO_PLUGIN_GL_EXT_BLEND_FUNC_SEPARATE\n#endif\n\n#if (defined(GL_EXT_BLEND_FUNC_SEPARATE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_BLEND_FUNC_SEPARATE)) && !defined(REGAL_NO_DECLARATION_GL_EXT_BLEND_FUNC_SEPARATE)\n#define REGAL_NO_DECLARATION_GL_EXT_BLEND_FUNC_SEPARATE\n#endif\n\n#ifndef GL_EXT_blend_func_separate\n#define GL_EXT_blend_func_separate 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_BLEND_FUNC_SEPARATE\n#define GL_BLEND_DST_RGB_EXT   0x80c8     /* 32968 */\n#define GL_BLEND_SRC_RGB_EXT   0x80c9     /* 32969 */\n#define GL_BLEND_DST_ALPHA_EXT 0x80ca     /* 32970 */\n#define GL_BLEND_SRC_ALPHA_EXT 0x80cb     /* 32971 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_BLEND_FUNC_SEPARATE\ntypedef void (REGAL_CALL *PFNGLBLENDFUNCSEPARATEEXTPROC)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_BLEND_FUNC_SEPARATE\n#define glBlendFuncSeparateEXT              rglBlendFuncSeparateEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_BLEND_FUNC_SEPARATE\nREGAL_DECL void REGAL_CALL glBlendFuncSeparateEXT(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_BLEND_FUNC_SEPARATE\nREGAL_DECL void REGAL_CALL plugin_glBlendFuncSeparateEXT(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);\n#endif\n\n/**\n ** GL_EXT_blend_minmax\n **/\n\n#if (defined(GL_EXT_BLEND_MINMAX) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_BLEND_MINMAX)) && !defined(REGAL_NO_ENUM_GL_EXT_BLEND_MINMAX)\n#define REGAL_NO_ENUM_GL_EXT_BLEND_MINMAX\n#endif\n\n#if (defined(GL_EXT_BLEND_MINMAX) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_BLEND_MINMAX)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_BLEND_MINMAX)\n#define REGAL_NO_TYPEDEF_GL_EXT_BLEND_MINMAX\n#endif\n\n#if (defined(GL_EXT_BLEND_MINMAX) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_BLEND_MINMAX)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_BLEND_MINMAX)\n#define REGAL_NO_NAMESPACE_GL_EXT_BLEND_MINMAX\n#endif\n\n#if (defined(GL_EXT_BLEND_MINMAX) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_BLEND_MINMAX)) && !defined(REGAL_NO_PLUGIN_GL_EXT_BLEND_MINMAX)\n#define REGAL_NO_PLUGIN_GL_EXT_BLEND_MINMAX\n#endif\n\n#if (defined(GL_EXT_BLEND_MINMAX) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_BLEND_MINMAX)) && !defined(REGAL_NO_DECLARATION_GL_EXT_BLEND_MINMAX)\n#define REGAL_NO_DECLARATION_GL_EXT_BLEND_MINMAX\n#endif\n\n#ifndef GL_EXT_blend_minmax\n#define GL_EXT_blend_minmax 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_BLEND_MINMAX\n#define GL_FUNC_ADD_EXT       0x8006     /* 32774 */\n#define GL_MIN_EXT            0x8007     /* 32775 */\n#define GL_MAX_EXT            0x8008     /* 32776 */\n#define GL_BLEND_EQUATION_EXT 0x8009     /* 32777 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_BLEND_MINMAX\ntypedef void (REGAL_CALL *PFNGLBLENDEQUATIONEXTPROC)(GLenum mode);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_BLEND_MINMAX\n#define glBlendEquationEXT                  rglBlendEquationEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_BLEND_MINMAX\nREGAL_DECL void REGAL_CALL glBlendEquationEXT(GLenum mode);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_BLEND_MINMAX\nREGAL_DECL void REGAL_CALL plugin_glBlendEquationEXT(GLenum mode);\n#endif\n\n/**\n ** GL_EXT_blend_subtract\n **/\n\n#if (defined(GL_EXT_BLEND_SUBTRACT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_BLEND_SUBTRACT)) && !defined(REGAL_NO_ENUM_GL_EXT_BLEND_SUBTRACT)\n#define REGAL_NO_ENUM_GL_EXT_BLEND_SUBTRACT\n#endif\n\n#if (defined(GL_EXT_BLEND_SUBTRACT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_BLEND_SUBTRACT)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_BLEND_SUBTRACT)\n#define REGAL_NO_TYPEDEF_GL_EXT_BLEND_SUBTRACT\n#endif\n\n#if (defined(GL_EXT_BLEND_SUBTRACT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_BLEND_SUBTRACT)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_BLEND_SUBTRACT)\n#define REGAL_NO_NAMESPACE_GL_EXT_BLEND_SUBTRACT\n#endif\n\n#if (defined(GL_EXT_BLEND_SUBTRACT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_BLEND_SUBTRACT)) && !defined(REGAL_NO_PLUGIN_GL_EXT_BLEND_SUBTRACT)\n#define REGAL_NO_PLUGIN_GL_EXT_BLEND_SUBTRACT\n#endif\n\n#if (defined(GL_EXT_BLEND_SUBTRACT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_BLEND_SUBTRACT)) && !defined(REGAL_NO_DECLARATION_GL_EXT_BLEND_SUBTRACT)\n#define REGAL_NO_DECLARATION_GL_EXT_BLEND_SUBTRACT\n#endif\n\n#ifndef GL_EXT_blend_subtract\n#define GL_EXT_blend_subtract 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_BLEND_SUBTRACT\n#define GL_FUNC_SUBTRACT_EXT         0x800a     /* 32778 */\n#define GL_FUNC_REVERSE_SUBTRACT_EXT 0x800b     /* 32779 */\n#endif\n\n/**\n ** GL_EXT_clip_volume_hint\n **/\n\n#if (defined(GL_EXT_CLIP_VOLUME_HINT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_CLIP_VOLUME_HINT)) && !defined(REGAL_NO_ENUM_GL_EXT_CLIP_VOLUME_HINT)\n#define REGAL_NO_ENUM_GL_EXT_CLIP_VOLUME_HINT\n#endif\n\n#if (defined(GL_EXT_CLIP_VOLUME_HINT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_CLIP_VOLUME_HINT)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_CLIP_VOLUME_HINT)\n#define REGAL_NO_TYPEDEF_GL_EXT_CLIP_VOLUME_HINT\n#endif\n\n#if (defined(GL_EXT_CLIP_VOLUME_HINT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_CLIP_VOLUME_HINT)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_CLIP_VOLUME_HINT)\n#define REGAL_NO_NAMESPACE_GL_EXT_CLIP_VOLUME_HINT\n#endif\n\n#if (defined(GL_EXT_CLIP_VOLUME_HINT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_CLIP_VOLUME_HINT)) && !defined(REGAL_NO_PLUGIN_GL_EXT_CLIP_VOLUME_HINT)\n#define REGAL_NO_PLUGIN_GL_EXT_CLIP_VOLUME_HINT\n#endif\n\n#if (defined(GL_EXT_CLIP_VOLUME_HINT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_CLIP_VOLUME_HINT)) && !defined(REGAL_NO_DECLARATION_GL_EXT_CLIP_VOLUME_HINT)\n#define REGAL_NO_DECLARATION_GL_EXT_CLIP_VOLUME_HINT\n#endif\n\n#ifndef GL_EXT_clip_volume_hint\n#define GL_EXT_clip_volume_hint 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_CLIP_VOLUME_HINT\n#define GL_CLIP_VOLUME_CLIPPING_HINT_EXT 0x80f0 /* 33008 */\n#endif\n\n/**\n ** GL_EXT_cmyka\n **/\n\n#if (defined(GL_EXT_CMYKA) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_CMYKA)) && !defined(REGAL_NO_ENUM_GL_EXT_CMYKA)\n#define REGAL_NO_ENUM_GL_EXT_CMYKA\n#endif\n\n#if (defined(GL_EXT_CMYKA) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_CMYKA)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_CMYKA)\n#define REGAL_NO_TYPEDEF_GL_EXT_CMYKA\n#endif\n\n#if (defined(GL_EXT_CMYKA) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_CMYKA)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_CMYKA)\n#define REGAL_NO_NAMESPACE_GL_EXT_CMYKA\n#endif\n\n#if (defined(GL_EXT_CMYKA) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_CMYKA)) && !defined(REGAL_NO_PLUGIN_GL_EXT_CMYKA)\n#define REGAL_NO_PLUGIN_GL_EXT_CMYKA\n#endif\n\n#if (defined(GL_EXT_CMYKA) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_CMYKA)) && !defined(REGAL_NO_DECLARATION_GL_EXT_CMYKA)\n#define REGAL_NO_DECLARATION_GL_EXT_CMYKA\n#endif\n\n#ifndef GL_EXT_cmyka\n#define GL_EXT_cmyka 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_CMYKA\n#define GL_CMYK_EXT             0x800c     /* 32780 */\n#define GL_CMYKA_EXT            0x800d     /* 32781 */\n#define GL_PACK_CMYK_HINT_EXT   0x800e     /* 32782 */\n#define GL_UNPACK_CMYK_HINT_EXT 0x800f     /* 32783 */\n#endif\n\n/**\n ** GL_EXT_color_buffer_half_float\n **/\n\n#if (defined(GL_EXT_COLOR_BUFFER_HALF_FLOAT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_COLOR_BUFFER_HALF_FLOAT)) && !defined(REGAL_NO_ENUM_GL_EXT_COLOR_BUFFER_HALF_FLOAT)\n#define REGAL_NO_ENUM_GL_EXT_COLOR_BUFFER_HALF_FLOAT\n#endif\n\n#if (defined(GL_EXT_COLOR_BUFFER_HALF_FLOAT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_COLOR_BUFFER_HALF_FLOAT)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_COLOR_BUFFER_HALF_FLOAT)\n#define REGAL_NO_TYPEDEF_GL_EXT_COLOR_BUFFER_HALF_FLOAT\n#endif\n\n#if (defined(GL_EXT_COLOR_BUFFER_HALF_FLOAT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_COLOR_BUFFER_HALF_FLOAT)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_COLOR_BUFFER_HALF_FLOAT)\n#define REGAL_NO_NAMESPACE_GL_EXT_COLOR_BUFFER_HALF_FLOAT\n#endif\n\n#if (defined(GL_EXT_COLOR_BUFFER_HALF_FLOAT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_COLOR_BUFFER_HALF_FLOAT)) && !defined(REGAL_NO_PLUGIN_GL_EXT_COLOR_BUFFER_HALF_FLOAT)\n#define REGAL_NO_PLUGIN_GL_EXT_COLOR_BUFFER_HALF_FLOAT\n#endif\n\n#if (defined(GL_EXT_COLOR_BUFFER_HALF_FLOAT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_COLOR_BUFFER_HALF_FLOAT)) && !defined(REGAL_NO_DECLARATION_GL_EXT_COLOR_BUFFER_HALF_FLOAT)\n#define REGAL_NO_DECLARATION_GL_EXT_COLOR_BUFFER_HALF_FLOAT\n#endif\n\n#ifndef GL_EXT_color_buffer_half_float\n#define GL_EXT_color_buffer_half_float 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_COLOR_BUFFER_HALF_FLOAT\n#define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT 0x8211     /* 33297 */\n#define GL_UNSIGNED_NORMALIZED_EXT                   0x8c17     /* 35863 */\n#endif\n\n/**\n ** GL_EXT_color_subtable\n **/\n\n#if (defined(GL_EXT_COLOR_SUBTABLE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_COLOR_SUBTABLE)) && !defined(REGAL_NO_ENUM_GL_EXT_COLOR_SUBTABLE)\n#define REGAL_NO_ENUM_GL_EXT_COLOR_SUBTABLE\n#endif\n\n#if (defined(GL_EXT_COLOR_SUBTABLE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_COLOR_SUBTABLE)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_COLOR_SUBTABLE)\n#define REGAL_NO_TYPEDEF_GL_EXT_COLOR_SUBTABLE\n#endif\n\n#if (defined(GL_EXT_COLOR_SUBTABLE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_COLOR_SUBTABLE)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_COLOR_SUBTABLE)\n#define REGAL_NO_NAMESPACE_GL_EXT_COLOR_SUBTABLE\n#endif\n\n#if (defined(GL_EXT_COLOR_SUBTABLE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_COLOR_SUBTABLE)) && !defined(REGAL_NO_PLUGIN_GL_EXT_COLOR_SUBTABLE)\n#define REGAL_NO_PLUGIN_GL_EXT_COLOR_SUBTABLE\n#endif\n\n#if (defined(GL_EXT_COLOR_SUBTABLE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_COLOR_SUBTABLE)) && !defined(REGAL_NO_DECLARATION_GL_EXT_COLOR_SUBTABLE)\n#define REGAL_NO_DECLARATION_GL_EXT_COLOR_SUBTABLE\n#endif\n\n#ifndef GL_EXT_color_subtable\n#define GL_EXT_color_subtable 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_COLOR_SUBTABLE\ntypedef void (REGAL_CALL *PFNGLCOLORSUBTABLEEXTPROC)(GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *table);\ntypedef void (REGAL_CALL *PFNGLCOPYCOLORSUBTABLEEXTPROC)(GLenum target, GLsizei start, GLint x, GLint y, GLsizei width);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_COLOR_SUBTABLE\n#define glColorSubTableEXT                  rglColorSubTableEXT\n#define glCopyColorSubTableEXT              rglCopyColorSubTableEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_COLOR_SUBTABLE\nREGAL_DECL void REGAL_CALL glColorSubTableEXT(GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *table);\nREGAL_DECL void REGAL_CALL glCopyColorSubTableEXT(GLenum target, GLsizei start, GLint x, GLint y, GLsizei width);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_COLOR_SUBTABLE\nREGAL_DECL void REGAL_CALL plugin_glColorSubTableEXT(GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *table);\nREGAL_DECL void REGAL_CALL plugin_glCopyColorSubTableEXT(GLenum target, GLsizei start, GLint x, GLint y, GLsizei width);\n#endif\n\n/**\n ** GL_EXT_compiled_vertex_array\n **/\n\n#if (defined(GL_EXT_COMPILED_VERTEX_ARRAY) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_COMPILED_VERTEX_ARRAY)) && !defined(REGAL_NO_ENUM_GL_EXT_COMPILED_VERTEX_ARRAY)\n#define REGAL_NO_ENUM_GL_EXT_COMPILED_VERTEX_ARRAY\n#endif\n\n#if (defined(GL_EXT_COMPILED_VERTEX_ARRAY) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_COMPILED_VERTEX_ARRAY)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_COMPILED_VERTEX_ARRAY)\n#define REGAL_NO_TYPEDEF_GL_EXT_COMPILED_VERTEX_ARRAY\n#endif\n\n#if (defined(GL_EXT_COMPILED_VERTEX_ARRAY) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_COMPILED_VERTEX_ARRAY)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_COMPILED_VERTEX_ARRAY)\n#define REGAL_NO_NAMESPACE_GL_EXT_COMPILED_VERTEX_ARRAY\n#endif\n\n#if (defined(GL_EXT_COMPILED_VERTEX_ARRAY) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_COMPILED_VERTEX_ARRAY)) && !defined(REGAL_NO_PLUGIN_GL_EXT_COMPILED_VERTEX_ARRAY)\n#define REGAL_NO_PLUGIN_GL_EXT_COMPILED_VERTEX_ARRAY\n#endif\n\n#if (defined(GL_EXT_COMPILED_VERTEX_ARRAY) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_COMPILED_VERTEX_ARRAY)) && !defined(REGAL_NO_DECLARATION_GL_EXT_COMPILED_VERTEX_ARRAY)\n#define REGAL_NO_DECLARATION_GL_EXT_COMPILED_VERTEX_ARRAY\n#endif\n\n#ifndef GL_EXT_compiled_vertex_array\n#define GL_EXT_compiled_vertex_array 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_COMPILED_VERTEX_ARRAY\n#define GL_ARRAY_ELEMENT_LOCK_FIRST_EXT 0x81a8     /* 33192 */\n#define GL_ARRAY_ELEMENT_LOCK_COUNT_EXT 0x81a9     /* 33193 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_COMPILED_VERTEX_ARRAY\ntypedef void (REGAL_CALL *PFNGLLOCKARRAYSEXTPROC)(GLint first, GLsizei count);\ntypedef void (REGAL_CALL *PFNGLUNLOCKARRAYSEXTPROC)(void);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_COMPILED_VERTEX_ARRAY\n#define glLockArraysEXT                     rglLockArraysEXT\n#define glUnlockArraysEXT                   rglUnlockArraysEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_COMPILED_VERTEX_ARRAY\nREGAL_DECL void REGAL_CALL glLockArraysEXT(GLint first, GLsizei count);\nREGAL_DECL void REGAL_CALL glUnlockArraysEXT(void);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_COMPILED_VERTEX_ARRAY\nREGAL_DECL void REGAL_CALL plugin_glLockArraysEXT(GLint first, GLsizei count);\nREGAL_DECL void REGAL_CALL plugin_glUnlockArraysEXT(void);\n#endif\n\n/**\n ** GL_EXT_convolution\n **/\n\n#if (defined(GL_EXT_CONVOLUTION) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_CONVOLUTION)) && !defined(REGAL_NO_ENUM_GL_EXT_CONVOLUTION)\n#define REGAL_NO_ENUM_GL_EXT_CONVOLUTION\n#endif\n\n#if (defined(GL_EXT_CONVOLUTION) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_CONVOLUTION)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_CONVOLUTION)\n#define REGAL_NO_TYPEDEF_GL_EXT_CONVOLUTION\n#endif\n\n#if (defined(GL_EXT_CONVOLUTION) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_CONVOLUTION)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_CONVOLUTION)\n#define REGAL_NO_NAMESPACE_GL_EXT_CONVOLUTION\n#endif\n\n#if (defined(GL_EXT_CONVOLUTION) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_CONVOLUTION)) && !defined(REGAL_NO_PLUGIN_GL_EXT_CONVOLUTION)\n#define REGAL_NO_PLUGIN_GL_EXT_CONVOLUTION\n#endif\n\n#if (defined(GL_EXT_CONVOLUTION) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_CONVOLUTION)) && !defined(REGAL_NO_DECLARATION_GL_EXT_CONVOLUTION)\n#define REGAL_NO_DECLARATION_GL_EXT_CONVOLUTION\n#endif\n\n#ifndef GL_EXT_convolution\n#define GL_EXT_convolution 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_CONVOLUTION\n#define GL_CONVOLUTION_1D_EXT               0x8010     /* 32784 */\n#define GL_CONVOLUTION_2D_EXT               0x8011     /* 32785 */\n#define GL_SEPARABLE_2D_EXT                 0x8012     /* 32786 */\n#define GL_CONVOLUTION_BORDER_MODE_EXT      0x8013     /* 32787 */\n#define GL_CONVOLUTION_FILTER_SCALE_EXT     0x8014     /* 32788 */\n#define GL_CONVOLUTION_FILTER_BIAS_EXT      0x8015     /* 32789 */\n#define GL_REDUCE_EXT                       0x8016     /* 32790 */\n#define GL_CONVOLUTION_FORMAT_EXT           0x8017     /* 32791 */\n#define GL_CONVOLUTION_WIDTH_EXT            0x8018     /* 32792 */\n#define GL_CONVOLUTION_HEIGHT_EXT           0x8019     /* 32793 */\n#define GL_MAX_CONVOLUTION_WIDTH_EXT        0x801a     /* 32794 */\n#define GL_MAX_CONVOLUTION_HEIGHT_EXT       0x801b     /* 32795 */\n#define GL_POST_CONVOLUTION_RED_SCALE_EXT   0x801c     /* 32796 */\n#define GL_POST_CONVOLUTION_GREEN_SCALE_EXT 0x801d     /* 32797 */\n#define GL_POST_CONVOLUTION_BLUE_SCALE_EXT  0x801e     /* 32798 */\n#define GL_POST_CONVOLUTION_ALPHA_SCALE_EXT 0x801f     /* 32799 */\n#define GL_POST_CONVOLUTION_RED_BIAS_EXT    0x8020     /* 32800 */\n#define GL_POST_CONVOLUTION_GREEN_BIAS_EXT  0x8021     /* 32801 */\n#define GL_POST_CONVOLUTION_BLUE_BIAS_EXT   0x8022     /* 32802 */\n#define GL_POST_CONVOLUTION_ALPHA_BIAS_EXT  0x8023     /* 32803 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_CONVOLUTION\ntypedef void (REGAL_CALL *PFNGLCONVOLUTIONFILTER1DEXTPROC)(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image);\ntypedef void (REGAL_CALL *PFNGLCONVOLUTIONFILTER2DEXTPROC)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image);\ntypedef void (REGAL_CALL *PFNGLCONVOLUTIONPARAMETERFEXTPROC)(GLenum target, GLenum pname, GLfloat param);\ntypedef void (REGAL_CALL *PFNGLCONVOLUTIONPARAMETERFVEXTPROC)(GLenum target, GLenum pname, const GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLCONVOLUTIONPARAMETERIEXTPROC)(GLenum target, GLenum pname, GLint param);\ntypedef void (REGAL_CALL *PFNGLCONVOLUTIONPARAMETERIVEXTPROC)(GLenum target, GLenum pname, const GLint *params);\ntypedef void (REGAL_CALL *PFNGLCOPYCONVOLUTIONFILTER1DEXTPROC)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);\ntypedef void (REGAL_CALL *PFNGLCOPYCONVOLUTIONFILTER2DEXTPROC)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height);\ntypedef void (REGAL_CALL *PFNGLGETCONVOLUTIONFILTEREXTPROC)(GLenum target, GLenum format, GLenum type, GLvoid *image);\ntypedef void (REGAL_CALL *PFNGLGETCONVOLUTIONPARAMETERFVEXTPROC)(GLenum target, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETCONVOLUTIONPARAMETERIVEXTPROC)(GLenum target, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETSEPARABLEFILTEREXTPROC)(GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span);\ntypedef void (REGAL_CALL *PFNGLSEPARABLEFILTER2DEXTPROC)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_CONVOLUTION\n#define glConvolutionFilter1DEXT            rglConvolutionFilter1DEXT\n#define glConvolutionFilter2DEXT            rglConvolutionFilter2DEXT\n#define glConvolutionParameterfEXT          rglConvolutionParameterfEXT\n#define glConvolutionParameterfvEXT         rglConvolutionParameterfvEXT\n#define glConvolutionParameteriEXT          rglConvolutionParameteriEXT\n#define glConvolutionParameterivEXT         rglConvolutionParameterivEXT\n#define glCopyConvolutionFilter1DEXT        rglCopyConvolutionFilter1DEXT\n#define glCopyConvolutionFilter2DEXT        rglCopyConvolutionFilter2DEXT\n#define glGetConvolutionFilterEXT           rglGetConvolutionFilterEXT\n#define glGetConvolutionParameterfvEXT      rglGetConvolutionParameterfvEXT\n#define glGetConvolutionParameterivEXT      rglGetConvolutionParameterivEXT\n#define glGetSeparableFilterEXT             rglGetSeparableFilterEXT\n#define glSeparableFilter2DEXT              rglSeparableFilter2DEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_CONVOLUTION\nREGAL_DECL void REGAL_CALL glConvolutionFilter1DEXT(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image);\nREGAL_DECL void REGAL_CALL glConvolutionFilter2DEXT(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image);\nREGAL_DECL void REGAL_CALL glConvolutionParameterfEXT(GLenum target, GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL glConvolutionParameterfvEXT(GLenum target, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL glConvolutionParameteriEXT(GLenum target, GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL glConvolutionParameterivEXT(GLenum target, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL glCopyConvolutionFilter1DEXT(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);\nREGAL_DECL void REGAL_CALL glCopyConvolutionFilter2DEXT(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height);\nREGAL_DECL void REGAL_CALL glGetConvolutionFilterEXT(GLenum target, GLenum format, GLenum type, GLvoid *image);\nREGAL_DECL void REGAL_CALL glGetConvolutionParameterfvEXT(GLenum target, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetConvolutionParameterivEXT(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetSeparableFilterEXT(GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span);\nREGAL_DECL void REGAL_CALL glSeparableFilter2DEXT(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_CONVOLUTION\nREGAL_DECL void REGAL_CALL plugin_glConvolutionFilter1DEXT(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image);\nREGAL_DECL void REGAL_CALL plugin_glConvolutionFilter2DEXT(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image);\nREGAL_DECL void REGAL_CALL plugin_glConvolutionParameterfEXT(GLenum target, GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL plugin_glConvolutionParameterfvEXT(GLenum target, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glConvolutionParameteriEXT(GLenum target, GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL plugin_glConvolutionParameterivEXT(GLenum target, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glCopyConvolutionFilter1DEXT(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);\nREGAL_DECL void REGAL_CALL plugin_glCopyConvolutionFilter2DEXT(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height);\nREGAL_DECL void REGAL_CALL plugin_glGetConvolutionFilterEXT(GLenum target, GLenum format, GLenum type, GLvoid *image);\nREGAL_DECL void REGAL_CALL plugin_glGetConvolutionParameterfvEXT(GLenum target, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetConvolutionParameterivEXT(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetSeparableFilterEXT(GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span);\nREGAL_DECL void REGAL_CALL plugin_glSeparableFilter2DEXT(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column);\n#endif\n\n/**\n ** GL_EXT_coordinate_frame\n **/\n\n#if (defined(GL_EXT_COORDINATE_FRAME) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_COORDINATE_FRAME)) && !defined(REGAL_NO_ENUM_GL_EXT_COORDINATE_FRAME)\n#define REGAL_NO_ENUM_GL_EXT_COORDINATE_FRAME\n#endif\n\n#if (defined(GL_EXT_COORDINATE_FRAME) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_COORDINATE_FRAME)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_COORDINATE_FRAME)\n#define REGAL_NO_TYPEDEF_GL_EXT_COORDINATE_FRAME\n#endif\n\n#if (defined(GL_EXT_COORDINATE_FRAME) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_COORDINATE_FRAME)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_COORDINATE_FRAME)\n#define REGAL_NO_NAMESPACE_GL_EXT_COORDINATE_FRAME\n#endif\n\n#if (defined(GL_EXT_COORDINATE_FRAME) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_COORDINATE_FRAME)) && !defined(REGAL_NO_PLUGIN_GL_EXT_COORDINATE_FRAME)\n#define REGAL_NO_PLUGIN_GL_EXT_COORDINATE_FRAME\n#endif\n\n#if (defined(GL_EXT_COORDINATE_FRAME) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_COORDINATE_FRAME)) && !defined(REGAL_NO_DECLARATION_GL_EXT_COORDINATE_FRAME)\n#define REGAL_NO_DECLARATION_GL_EXT_COORDINATE_FRAME\n#endif\n\n#ifndef GL_EXT_coordinate_frame\n#define GL_EXT_coordinate_frame 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_COORDINATE_FRAME\n#define GL_TANGENT_ARRAY_EXT          0x8439     /* 33849 */\n#define GL_BINORMAL_ARRAY_EXT         0x843a     /* 33850 */\n#define GL_CURRENT_TANGENT_EXT        0x843b     /* 33851 */\n#define GL_CURRENT_BINORMAL_EXT       0x843c     /* 33852 */\n#define GL_TANGENT_ARRAY_TYPE_EXT     0x843e     /* 33854 */\n#define GL_TANGENT_ARRAY_STRIDE_EXT   0x843f     /* 33855 */\n#define GL_BINORMAL_ARRAY_TYPE_EXT    0x8440     /* 33856 */\n#define GL_BINORMAL_ARRAY_STRIDE_EXT  0x8441     /* 33857 */\n#define GL_TANGENT_ARRAY_POINTER_EXT  0x8442     /* 33858 */\n#define GL_BINORMAL_ARRAY_POINTER_EXT 0x8443     /* 33859 */\n#define GL_MAP1_TANGENT_EXT           0x8444     /* 33860 */\n#define GL_MAP2_TANGENT_EXT           0x8445     /* 33861 */\n#define GL_MAP1_BINORMAL_EXT          0x8446     /* 33862 */\n#define GL_MAP2_BINORMAL_EXT          0x8447     /* 33863 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_COORDINATE_FRAME\ntypedef void (REGAL_CALL *PFNGLBINORMAL3BEXTPROC)(GLbyte bx, GLbyte by, GLbyte bz);\ntypedef void (REGAL_CALL *PFNGLBINORMAL3BVEXTPROC)(const GLbyte *v);\ntypedef void (REGAL_CALL *PFNGLBINORMAL3DEXTPROC)(GLdouble bx, GLdouble by, GLdouble bz);\ntypedef void (REGAL_CALL *PFNGLBINORMAL3DVEXTPROC)(const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLBINORMAL3FEXTPROC)(GLfloat bx, GLfloat by, GLfloat bz);\ntypedef void (REGAL_CALL *PFNGLBINORMAL3FVEXTPROC)(const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLBINORMAL3IEXTPROC)(GLint bx, GLint by, GLint bz);\ntypedef void (REGAL_CALL *PFNGLBINORMAL3IVEXTPROC)(const GLint *v);\ntypedef void (REGAL_CALL *PFNGLBINORMAL3SEXTPROC)(GLshort bx, GLshort by, GLshort bz);\ntypedef void (REGAL_CALL *PFNGLBINORMAL3SVEXTPROC)(const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLBINORMALPOINTEREXTPROC)(GLenum type, GLsizei stride, const GLvoid *pointer);\ntypedef void (REGAL_CALL *PFNGLTANGENT3BEXTPROC)(GLbyte tx, GLbyte ty, GLbyte tz);\ntypedef void (REGAL_CALL *PFNGLTANGENT3BVEXTPROC)(const GLbyte *v);\ntypedef void (REGAL_CALL *PFNGLTANGENT3DEXTPROC)(GLdouble tx, GLdouble ty, GLdouble tz);\ntypedef void (REGAL_CALL *PFNGLTANGENT3DVEXTPROC)(const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLTANGENT3FEXTPROC)(GLfloat tx, GLfloat ty, GLfloat tz);\ntypedef void (REGAL_CALL *PFNGLTANGENT3FVEXTPROC)(const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLTANGENT3IEXTPROC)(GLint tx, GLint ty, GLint tz);\ntypedef void (REGAL_CALL *PFNGLTANGENT3IVEXTPROC)(const GLint *v);\ntypedef void (REGAL_CALL *PFNGLTANGENT3SEXTPROC)(GLshort tx, GLshort ty, GLshort tz);\ntypedef void (REGAL_CALL *PFNGLTANGENT3SVEXTPROC)(const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLTANGENTPOINTEREXTPROC)(GLenum type, GLsizei stride, const GLvoid *pointer);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_COORDINATE_FRAME\n#define glBinormal3bEXT                     rglBinormal3bEXT\n#define glBinormal3bvEXT                    rglBinormal3bvEXT\n#define glBinormal3dEXT                     rglBinormal3dEXT\n#define glBinormal3dvEXT                    rglBinormal3dvEXT\n#define glBinormal3fEXT                     rglBinormal3fEXT\n#define glBinormal3fvEXT                    rglBinormal3fvEXT\n#define glBinormal3iEXT                     rglBinormal3iEXT\n#define glBinormal3ivEXT                    rglBinormal3ivEXT\n#define glBinormal3sEXT                     rglBinormal3sEXT\n#define glBinormal3svEXT                    rglBinormal3svEXT\n#define glBinormalPointerEXT                rglBinormalPointerEXT\n#define glTangent3bEXT                      rglTangent3bEXT\n#define glTangent3bvEXT                     rglTangent3bvEXT\n#define glTangent3dEXT                      rglTangent3dEXT\n#define glTangent3dvEXT                     rglTangent3dvEXT\n#define glTangent3fEXT                      rglTangent3fEXT\n#define glTangent3fvEXT                     rglTangent3fvEXT\n#define glTangent3iEXT                      rglTangent3iEXT\n#define glTangent3ivEXT                     rglTangent3ivEXT\n#define glTangent3sEXT                      rglTangent3sEXT\n#define glTangent3svEXT                     rglTangent3svEXT\n#define glTangentPointerEXT                 rglTangentPointerEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_COORDINATE_FRAME\nREGAL_DECL void REGAL_CALL glBinormal3bEXT(GLbyte bx, GLbyte by, GLbyte bz);\nREGAL_DECL void REGAL_CALL glBinormal3bvEXT(const GLbyte *v);\nREGAL_DECL void REGAL_CALL glBinormal3dEXT(GLdouble bx, GLdouble by, GLdouble bz);\nREGAL_DECL void REGAL_CALL glBinormal3dvEXT(const GLdouble *v);\nREGAL_DECL void REGAL_CALL glBinormal3fEXT(GLfloat bx, GLfloat by, GLfloat bz);\nREGAL_DECL void REGAL_CALL glBinormal3fvEXT(const GLfloat *v);\nREGAL_DECL void REGAL_CALL glBinormal3iEXT(GLint bx, GLint by, GLint bz);\nREGAL_DECL void REGAL_CALL glBinormal3ivEXT(const GLint *v);\nREGAL_DECL void REGAL_CALL glBinormal3sEXT(GLshort bx, GLshort by, GLshort bz);\nREGAL_DECL void REGAL_CALL glBinormal3svEXT(const GLshort *v);\nREGAL_DECL void REGAL_CALL glBinormalPointerEXT(GLenum type, GLsizei stride, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL glTangent3bEXT(GLbyte tx, GLbyte ty, GLbyte tz);\nREGAL_DECL void REGAL_CALL glTangent3bvEXT(const GLbyte *v);\nREGAL_DECL void REGAL_CALL glTangent3dEXT(GLdouble tx, GLdouble ty, GLdouble tz);\nREGAL_DECL void REGAL_CALL glTangent3dvEXT(const GLdouble *v);\nREGAL_DECL void REGAL_CALL glTangent3fEXT(GLfloat tx, GLfloat ty, GLfloat tz);\nREGAL_DECL void REGAL_CALL glTangent3fvEXT(const GLfloat *v);\nREGAL_DECL void REGAL_CALL glTangent3iEXT(GLint tx, GLint ty, GLint tz);\nREGAL_DECL void REGAL_CALL glTangent3ivEXT(const GLint *v);\nREGAL_DECL void REGAL_CALL glTangent3sEXT(GLshort tx, GLshort ty, GLshort tz);\nREGAL_DECL void REGAL_CALL glTangent3svEXT(const GLshort *v);\nREGAL_DECL void REGAL_CALL glTangentPointerEXT(GLenum type, GLsizei stride, const GLvoid *pointer);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_COORDINATE_FRAME\nREGAL_DECL void REGAL_CALL plugin_glBinormal3bEXT(GLbyte bx, GLbyte by, GLbyte bz);\nREGAL_DECL void REGAL_CALL plugin_glBinormal3bvEXT(const GLbyte *v);\nREGAL_DECL void REGAL_CALL plugin_glBinormal3dEXT(GLdouble bx, GLdouble by, GLdouble bz);\nREGAL_DECL void REGAL_CALL plugin_glBinormal3dvEXT(const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glBinormal3fEXT(GLfloat bx, GLfloat by, GLfloat bz);\nREGAL_DECL void REGAL_CALL plugin_glBinormal3fvEXT(const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glBinormal3iEXT(GLint bx, GLint by, GLint bz);\nREGAL_DECL void REGAL_CALL plugin_glBinormal3ivEXT(const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glBinormal3sEXT(GLshort bx, GLshort by, GLshort bz);\nREGAL_DECL void REGAL_CALL plugin_glBinormal3svEXT(const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glBinormalPointerEXT(GLenum type, GLsizei stride, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL plugin_glTangent3bEXT(GLbyte tx, GLbyte ty, GLbyte tz);\nREGAL_DECL void REGAL_CALL plugin_glTangent3bvEXT(const GLbyte *v);\nREGAL_DECL void REGAL_CALL plugin_glTangent3dEXT(GLdouble tx, GLdouble ty, GLdouble tz);\nREGAL_DECL void REGAL_CALL plugin_glTangent3dvEXT(const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glTangent3fEXT(GLfloat tx, GLfloat ty, GLfloat tz);\nREGAL_DECL void REGAL_CALL plugin_glTangent3fvEXT(const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glTangent3iEXT(GLint tx, GLint ty, GLint tz);\nREGAL_DECL void REGAL_CALL plugin_glTangent3ivEXT(const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glTangent3sEXT(GLshort tx, GLshort ty, GLshort tz);\nREGAL_DECL void REGAL_CALL plugin_glTangent3svEXT(const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glTangentPointerEXT(GLenum type, GLsizei stride, const GLvoid *pointer);\n#endif\n\n/**\n ** GL_EXT_copy_texture\n **/\n\n#if (defined(GL_EXT_COPY_TEXTURE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_COPY_TEXTURE)) && !defined(REGAL_NO_ENUM_GL_EXT_COPY_TEXTURE)\n#define REGAL_NO_ENUM_GL_EXT_COPY_TEXTURE\n#endif\n\n#if (defined(GL_EXT_COPY_TEXTURE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_COPY_TEXTURE)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_COPY_TEXTURE)\n#define REGAL_NO_TYPEDEF_GL_EXT_COPY_TEXTURE\n#endif\n\n#if (defined(GL_EXT_COPY_TEXTURE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_COPY_TEXTURE)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_COPY_TEXTURE)\n#define REGAL_NO_NAMESPACE_GL_EXT_COPY_TEXTURE\n#endif\n\n#if (defined(GL_EXT_COPY_TEXTURE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_COPY_TEXTURE)) && !defined(REGAL_NO_PLUGIN_GL_EXT_COPY_TEXTURE)\n#define REGAL_NO_PLUGIN_GL_EXT_COPY_TEXTURE\n#endif\n\n#if (defined(GL_EXT_COPY_TEXTURE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_COPY_TEXTURE)) && !defined(REGAL_NO_DECLARATION_GL_EXT_COPY_TEXTURE)\n#define REGAL_NO_DECLARATION_GL_EXT_COPY_TEXTURE\n#endif\n\n#ifndef GL_EXT_copy_texture\n#define GL_EXT_copy_texture 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_COPY_TEXTURE\ntypedef void (REGAL_CALL *PFNGLCOPYTEXIMAGE1DEXTPROC)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);\ntypedef void (REGAL_CALL *PFNGLCOPYTEXIMAGE2DEXTPROC)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);\ntypedef void (REGAL_CALL *PFNGLCOPYTEXSUBIMAGE1DEXTPROC)(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);\ntypedef void (REGAL_CALL *PFNGLCOPYTEXSUBIMAGE2DEXTPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);\ntypedef void (REGAL_CALL *PFNGLCOPYTEXSUBIMAGE3DEXTPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_COPY_TEXTURE\n#define glCopyTexImage1DEXT                 rglCopyTexImage1DEXT\n#define glCopyTexImage2DEXT                 rglCopyTexImage2DEXT\n#define glCopyTexSubImage1DEXT              rglCopyTexSubImage1DEXT\n#define glCopyTexSubImage2DEXT              rglCopyTexSubImage2DEXT\n#define glCopyTexSubImage3DEXT              rglCopyTexSubImage3DEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_COPY_TEXTURE\nREGAL_DECL void REGAL_CALL glCopyTexImage1DEXT(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);\nREGAL_DECL void REGAL_CALL glCopyTexImage2DEXT(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);\nREGAL_DECL void REGAL_CALL glCopyTexSubImage1DEXT(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);\nREGAL_DECL void REGAL_CALL glCopyTexSubImage2DEXT(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);\nREGAL_DECL void REGAL_CALL glCopyTexSubImage3DEXT(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_COPY_TEXTURE\nREGAL_DECL void REGAL_CALL plugin_glCopyTexImage1DEXT(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);\nREGAL_DECL void REGAL_CALL plugin_glCopyTexImage2DEXT(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);\nREGAL_DECL void REGAL_CALL plugin_glCopyTexSubImage1DEXT(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);\nREGAL_DECL void REGAL_CALL plugin_glCopyTexSubImage2DEXT(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);\nREGAL_DECL void REGAL_CALL plugin_glCopyTexSubImage3DEXT(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);\n#endif\n\n/**\n ** GL_EXT_cull_vertex\n **/\n\n#if (defined(GL_EXT_CULL_VERTEX) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_CULL_VERTEX)) && !defined(REGAL_NO_ENUM_GL_EXT_CULL_VERTEX)\n#define REGAL_NO_ENUM_GL_EXT_CULL_VERTEX\n#endif\n\n#if (defined(GL_EXT_CULL_VERTEX) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_CULL_VERTEX)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_CULL_VERTEX)\n#define REGAL_NO_TYPEDEF_GL_EXT_CULL_VERTEX\n#endif\n\n#if (defined(GL_EXT_CULL_VERTEX) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_CULL_VERTEX)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_CULL_VERTEX)\n#define REGAL_NO_NAMESPACE_GL_EXT_CULL_VERTEX\n#endif\n\n#if (defined(GL_EXT_CULL_VERTEX) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_CULL_VERTEX)) && !defined(REGAL_NO_PLUGIN_GL_EXT_CULL_VERTEX)\n#define REGAL_NO_PLUGIN_GL_EXT_CULL_VERTEX\n#endif\n\n#if (defined(GL_EXT_CULL_VERTEX) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_CULL_VERTEX)) && !defined(REGAL_NO_DECLARATION_GL_EXT_CULL_VERTEX)\n#define REGAL_NO_DECLARATION_GL_EXT_CULL_VERTEX\n#endif\n\n#ifndef GL_EXT_cull_vertex\n#define GL_EXT_cull_vertex 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_CULL_VERTEX\n#define GL_CULL_VERTEX_EXT                 0x81aa     /* 33194 */\n#define GL_CULL_VERTEX_EYE_POSITION_EXT    0x81ab     /* 33195 */\n#define GL_CULL_VERTEX_OBJECT_POSITION_EXT 0x81ac     /* 33196 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_CULL_VERTEX\ntypedef void (REGAL_CALL *PFNGLCULLPARAMETERDVEXTPROC)(GLenum pname, GLdouble *params);\ntypedef void (REGAL_CALL *PFNGLCULLPARAMETERFVEXTPROC)(GLenum pname, GLfloat *params);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_CULL_VERTEX\n#define glCullParameterdvEXT                rglCullParameterdvEXT\n#define glCullParameterfvEXT                rglCullParameterfvEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_CULL_VERTEX\nREGAL_DECL void REGAL_CALL glCullParameterdvEXT(GLenum pname, GLdouble *params);\nREGAL_DECL void REGAL_CALL glCullParameterfvEXT(GLenum pname, GLfloat *params);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_CULL_VERTEX\nREGAL_DECL void REGAL_CALL plugin_glCullParameterdvEXT(GLenum pname, GLdouble *params);\nREGAL_DECL void REGAL_CALL plugin_glCullParameterfvEXT(GLenum pname, GLfloat *params);\n#endif\n\n/**\n ** GL_EXT_debug_label\n **/\n\n#if (defined(GL_EXT_DEBUG_LABEL) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_DEBUG_LABEL)) && !defined(REGAL_NO_ENUM_GL_EXT_DEBUG_LABEL)\n#define REGAL_NO_ENUM_GL_EXT_DEBUG_LABEL\n#endif\n\n#if (defined(GL_EXT_DEBUG_LABEL) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_DEBUG_LABEL)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_DEBUG_LABEL)\n#define REGAL_NO_TYPEDEF_GL_EXT_DEBUG_LABEL\n#endif\n\n#if (defined(GL_EXT_DEBUG_LABEL) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_DEBUG_LABEL)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_DEBUG_LABEL)\n#define REGAL_NO_NAMESPACE_GL_EXT_DEBUG_LABEL\n#endif\n\n#if (defined(GL_EXT_DEBUG_LABEL) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_DEBUG_LABEL)) && !defined(REGAL_NO_PLUGIN_GL_EXT_DEBUG_LABEL)\n#define REGAL_NO_PLUGIN_GL_EXT_DEBUG_LABEL\n#endif\n\n#if (defined(GL_EXT_DEBUG_LABEL) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_DEBUG_LABEL)) && !defined(REGAL_NO_DECLARATION_GL_EXT_DEBUG_LABEL)\n#define REGAL_NO_DECLARATION_GL_EXT_DEBUG_LABEL\n#endif\n\n#ifndef GL_EXT_debug_label\n#define GL_EXT_debug_label 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_DEBUG_LABEL\n#define GL_PROGRAM_PIPELINE_OBJECT_EXT 0x8a4f     /* 35407 */\n#define GL_PROGRAM_OBJECT_EXT          0x8b40     /* 35648 */\n#define GL_SHADER_OBJECT_EXT           0x8b48     /* 35656 */\n#define GL_BUFFER_OBJECT_EXT           0x9151     /* 37201 */\n#define GL_QUERY_OBJECT_EXT            0x9153     /* 37203 */\n#define GL_VERTEX_ARRAY_OBJECT_EXT     0x9154     /* 37204 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_DEBUG_LABEL\ntypedef void (REGAL_CALL *PFNGLGETOBJECTLABELEXTPROC)(GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label);\ntypedef void (REGAL_CALL *PFNGLLABELOBJECTEXTPROC)(GLenum type, GLuint object, GLsizei length, const GLchar *label);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_DEBUG_LABEL\n#define glGetObjectLabelEXT                 rglGetObjectLabelEXT\n#define glLabelObjectEXT                    rglLabelObjectEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_DEBUG_LABEL\nREGAL_DECL void REGAL_CALL glGetObjectLabelEXT(GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label);\nREGAL_DECL void REGAL_CALL glLabelObjectEXT(GLenum type, GLuint object, GLsizei length, const GLchar *label);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_DEBUG_LABEL\nREGAL_DECL void REGAL_CALL plugin_glGetObjectLabelEXT(GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label);\nREGAL_DECL void REGAL_CALL plugin_glLabelObjectEXT(GLenum type, GLuint object, GLsizei length, const GLchar *label);\n#endif\n\n/**\n ** GL_EXT_debug_marker\n **/\n\n#if (defined(GL_EXT_DEBUG_MARKER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_DEBUG_MARKER)) && !defined(REGAL_NO_ENUM_GL_EXT_DEBUG_MARKER)\n#define REGAL_NO_ENUM_GL_EXT_DEBUG_MARKER\n#endif\n\n#if (defined(GL_EXT_DEBUG_MARKER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_DEBUG_MARKER)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_DEBUG_MARKER)\n#define REGAL_NO_TYPEDEF_GL_EXT_DEBUG_MARKER\n#endif\n\n#if (defined(GL_EXT_DEBUG_MARKER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_DEBUG_MARKER)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_DEBUG_MARKER)\n#define REGAL_NO_NAMESPACE_GL_EXT_DEBUG_MARKER\n#endif\n\n#if (defined(GL_EXT_DEBUG_MARKER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_DEBUG_MARKER)) && !defined(REGAL_NO_PLUGIN_GL_EXT_DEBUG_MARKER)\n#define REGAL_NO_PLUGIN_GL_EXT_DEBUG_MARKER\n#endif\n\n#if (defined(GL_EXT_DEBUG_MARKER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_DEBUG_MARKER)) && !defined(REGAL_NO_DECLARATION_GL_EXT_DEBUG_MARKER)\n#define REGAL_NO_DECLARATION_GL_EXT_DEBUG_MARKER\n#endif\n\n#ifndef GL_EXT_debug_marker\n#define GL_EXT_debug_marker 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_DEBUG_MARKER\ntypedef void (REGAL_CALL *PFNGLINSERTEVENTMARKEREXTPROC)(GLsizei length, const GLchar *marker);\ntypedef void (REGAL_CALL *PFNGLPOPGROUPMARKEREXTPROC)(void);\ntypedef void (REGAL_CALL *PFNGLPUSHGROUPMARKEREXTPROC)(GLsizei length, const GLchar *marker);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_DEBUG_MARKER\n#define glInsertEventMarkerEXT              rglInsertEventMarkerEXT\n#define glPopGroupMarkerEXT                 rglPopGroupMarkerEXT\n#define glPushGroupMarkerEXT                rglPushGroupMarkerEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_DEBUG_MARKER\nREGAL_DECL void REGAL_CALL glInsertEventMarkerEXT(GLsizei length, const GLchar *marker);\nREGAL_DECL void REGAL_CALL glPopGroupMarkerEXT(void);\nREGAL_DECL void REGAL_CALL glPushGroupMarkerEXT(GLsizei length, const GLchar *marker);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_DEBUG_MARKER\nREGAL_DECL void REGAL_CALL plugin_glInsertEventMarkerEXT(GLsizei length, const GLchar *marker);\nREGAL_DECL void REGAL_CALL plugin_glPopGroupMarkerEXT(void);\nREGAL_DECL void REGAL_CALL plugin_glPushGroupMarkerEXT(GLsizei length, const GLchar *marker);\n#endif\n\n/**\n ** GL_EXT_depth_bounds_test\n **/\n\n#if (defined(GL_EXT_DEPTH_BOUNDS_TEST) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_DEPTH_BOUNDS_TEST)) && !defined(REGAL_NO_ENUM_GL_EXT_DEPTH_BOUNDS_TEST)\n#define REGAL_NO_ENUM_GL_EXT_DEPTH_BOUNDS_TEST\n#endif\n\n#if (defined(GL_EXT_DEPTH_BOUNDS_TEST) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_DEPTH_BOUNDS_TEST)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_DEPTH_BOUNDS_TEST)\n#define REGAL_NO_TYPEDEF_GL_EXT_DEPTH_BOUNDS_TEST\n#endif\n\n#if (defined(GL_EXT_DEPTH_BOUNDS_TEST) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_DEPTH_BOUNDS_TEST)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_DEPTH_BOUNDS_TEST)\n#define REGAL_NO_NAMESPACE_GL_EXT_DEPTH_BOUNDS_TEST\n#endif\n\n#if (defined(GL_EXT_DEPTH_BOUNDS_TEST) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_DEPTH_BOUNDS_TEST)) && !defined(REGAL_NO_PLUGIN_GL_EXT_DEPTH_BOUNDS_TEST)\n#define REGAL_NO_PLUGIN_GL_EXT_DEPTH_BOUNDS_TEST\n#endif\n\n#if (defined(GL_EXT_DEPTH_BOUNDS_TEST) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_DEPTH_BOUNDS_TEST)) && !defined(REGAL_NO_DECLARATION_GL_EXT_DEPTH_BOUNDS_TEST)\n#define REGAL_NO_DECLARATION_GL_EXT_DEPTH_BOUNDS_TEST\n#endif\n\n#ifndef GL_EXT_depth_bounds_test\n#define GL_EXT_depth_bounds_test 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_DEPTH_BOUNDS_TEST\n#define GL_DEPTH_BOUNDS_TEST_EXT 0x8890     /* 34960 */\n#define GL_DEPTH_BOUNDS_EXT      0x8891     /* 34961 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_DEPTH_BOUNDS_TEST\ntypedef void (REGAL_CALL *PFNGLDEPTHBOUNDSEXTPROC)(GLclampd zmin, GLclampd zmax);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_DEPTH_BOUNDS_TEST\n#define glDepthBoundsEXT                    rglDepthBoundsEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_DEPTH_BOUNDS_TEST\nREGAL_DECL void REGAL_CALL glDepthBoundsEXT(GLclampd zmin, GLclampd zmax);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_DEPTH_BOUNDS_TEST\nREGAL_DECL void REGAL_CALL plugin_glDepthBoundsEXT(GLclampd zmin, GLclampd zmax);\n#endif\n\n/**\n ** GL_EXT_direct_state_access\n **/\n\n#if (defined(GL_EXT_DIRECT_STATE_ACCESS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_DIRECT_STATE_ACCESS)) && !defined(REGAL_NO_ENUM_GL_EXT_DIRECT_STATE_ACCESS)\n#define REGAL_NO_ENUM_GL_EXT_DIRECT_STATE_ACCESS\n#endif\n\n#if (defined(GL_EXT_DIRECT_STATE_ACCESS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_DIRECT_STATE_ACCESS)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_DIRECT_STATE_ACCESS)\n#define REGAL_NO_TYPEDEF_GL_EXT_DIRECT_STATE_ACCESS\n#endif\n\n#if (defined(GL_EXT_DIRECT_STATE_ACCESS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_DIRECT_STATE_ACCESS)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_DIRECT_STATE_ACCESS)\n#define REGAL_NO_NAMESPACE_GL_EXT_DIRECT_STATE_ACCESS\n#endif\n\n#if (defined(GL_EXT_DIRECT_STATE_ACCESS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_DIRECT_STATE_ACCESS)) && !defined(REGAL_NO_PLUGIN_GL_EXT_DIRECT_STATE_ACCESS)\n#define REGAL_NO_PLUGIN_GL_EXT_DIRECT_STATE_ACCESS\n#endif\n\n#if (defined(GL_EXT_DIRECT_STATE_ACCESS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_DIRECT_STATE_ACCESS)) && !defined(REGAL_NO_DECLARATION_GL_EXT_DIRECT_STATE_ACCESS)\n#define REGAL_NO_DECLARATION_GL_EXT_DIRECT_STATE_ACCESS\n#endif\n\n#ifndef GL_EXT_direct_state_access\n#define GL_EXT_direct_state_access 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_DIRECT_STATE_ACCESS\n#define GL_PROGRAM_MATRIX_EXT             0x8e2d     /* 36397 */\n#define GL_TRANSPOSE_PROGRAM_MATRIX_EXT   0x8e2e     /* 36398 */\n#define GL_PROGRAM_MATRIX_STACK_DEPTH_EXT 0x8e2f     /* 36399 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_DIRECT_STATE_ACCESS\ntypedef GLboolean (REGAL_CALL *PFNGLUNMAPNAMEDBUFFEREXTPROC)(GLuint buffer);\ntypedef GLenum (REGAL_CALL *PFNGLCHECKNAMEDFRAMEBUFFERSTATUSEXTPROC)(GLuint framebuffer, GLenum target);\ntypedef GLvoid *(REGAL_CALL *PFNGLMAPNAMEDBUFFEREXTPROC)(GLuint buffer, GLenum access);\ntypedef GLvoid *(REGAL_CALL *PFNGLMAPNAMEDBUFFERRANGEEXTPROC)(GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access);\ntypedef void (REGAL_CALL *PFNGLBINDMULTITEXTUREEXTPROC)(GLenum texunit, GLenum target, GLuint texture);\ntypedef void (REGAL_CALL *PFNGLCLIENTATTRIBDEFAULTEXTPROC)(GLbitfield mask);\ntypedef void (REGAL_CALL *PFNGLCOMPRESSEDMULTITEXIMAGE1DEXTPROC)(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data);\ntypedef void (REGAL_CALL *PFNGLCOMPRESSEDMULTITEXIMAGE2DEXTPROC)(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *bits);\ntypedef void (REGAL_CALL *PFNGLCOMPRESSEDMULTITEXIMAGE3DEXTPROC)(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *bits);\ntypedef void (REGAL_CALL *PFNGLCOMPRESSEDMULTITEXSUBIMAGE1DEXTPROC)(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data);\ntypedef void (REGAL_CALL *PFNGLCOMPRESSEDMULTITEXSUBIMAGE2DEXTPROC)(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data);\ntypedef void (REGAL_CALL *PFNGLCOMPRESSEDMULTITEXSUBIMAGE3DEXTPROC)(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data);\ntypedef void (REGAL_CALL *PFNGLCOMPRESSEDTEXTUREIMAGE1DEXTPROC)(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *bits);\ntypedef void (REGAL_CALL *PFNGLCOMPRESSEDTEXTUREIMAGE2DEXTPROC)(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *bits);\ntypedef void (REGAL_CALL *PFNGLCOMPRESSEDTEXTUREIMAGE3DEXTPROC)(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *bits);\ntypedef void (REGAL_CALL *PFNGLCOMPRESSEDTEXTURESUBIMAGE1DEXTPROC)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *bits);\ntypedef void (REGAL_CALL *PFNGLCOMPRESSEDTEXTURESUBIMAGE2DEXTPROC)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *bits);\ntypedef void (REGAL_CALL *PFNGLCOMPRESSEDTEXTURESUBIMAGE3DEXTPROC)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *bits);\ntypedef void (REGAL_CALL *PFNGLCOPYMULTITEXIMAGE1DEXTPROC)(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);\ntypedef void (REGAL_CALL *PFNGLCOPYMULTITEXIMAGE2DEXTPROC)(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);\ntypedef void (REGAL_CALL *PFNGLCOPYMULTITEXSUBIMAGE1DEXTPROC)(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);\ntypedef void (REGAL_CALL *PFNGLCOPYMULTITEXSUBIMAGE2DEXTPROC)(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);\ntypedef void (REGAL_CALL *PFNGLCOPYMULTITEXSUBIMAGE3DEXTPROC)(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);\ntypedef void (REGAL_CALL *PFNGLCOPYTEXTUREIMAGE1DEXTPROC)(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);\ntypedef void (REGAL_CALL *PFNGLCOPYTEXTUREIMAGE2DEXTPROC)(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);\ntypedef void (REGAL_CALL *PFNGLCOPYTEXTURESUBIMAGE1DEXTPROC)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);\ntypedef void (REGAL_CALL *PFNGLCOPYTEXTURESUBIMAGE2DEXTPROC)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);\ntypedef void (REGAL_CALL *PFNGLCOPYTEXTURESUBIMAGE3DEXTPROC)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);\ntypedef void (REGAL_CALL *PFNGLDISABLECLIENTSTATEIEXTPROC)(GLenum array, GLuint index);\ntypedef void (REGAL_CALL *PFNGLDISABLECLIENTSTATEINDEXEDEXTPROC)(GLenum array, GLuint index);\ntypedef void (REGAL_CALL *PFNGLDISABLEVERTEXARRAYATTRIBEXTPROC)(GLuint vaobj, GLenum array);\ntypedef void (REGAL_CALL *PFNGLDISABLEVERTEXARRAYEXTPROC)(GLuint vaobj, GLenum array);\ntypedef void (REGAL_CALL *PFNGLENABLECLIENTSTATEIEXTPROC)(GLenum array, GLuint index);\ntypedef void (REGAL_CALL *PFNGLENABLECLIENTSTATEINDEXEDEXTPROC)(GLenum array, GLuint index);\ntypedef void (REGAL_CALL *PFNGLENABLEVERTEXARRAYATTRIBEXTPROC)(GLuint vaobj, GLenum array);\ntypedef void (REGAL_CALL *PFNGLENABLEVERTEXARRAYEXTPROC)(GLuint vaobj, GLenum array);\ntypedef void (REGAL_CALL *PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEEXTPROC)(GLuint buffer, GLintptr offset, GLsizeiptr length);\ntypedef void (REGAL_CALL *PFNGLFRAMEBUFFERDRAWBUFFEREXTPROC)(GLuint framebuffer, GLenum mode);\ntypedef void (REGAL_CALL *PFNGLFRAMEBUFFERDRAWBUFFERSEXTPROC)(GLuint framebuffer, GLsizei n, const GLenum *bufs);\ntypedef void (REGAL_CALL *PFNGLFRAMEBUFFERREADBUFFEREXTPROC)(GLuint framebuffer, GLenum mode);\ntypedef void (REGAL_CALL *PFNGLGENERATEMULTITEXMIPMAPEXTPROC)(GLenum texunit, GLenum target);\ntypedef void (REGAL_CALL *PFNGLGENERATETEXTUREMIPMAPEXTPROC)(GLuint texture, GLenum target);\ntypedef void (REGAL_CALL *PFNGLGETCOMPRESSEDMULTITEXIMAGEEXTPROC)(GLenum texunit, GLenum target, GLint lod, GLvoid *img);\ntypedef void (REGAL_CALL *PFNGLGETCOMPRESSEDTEXTUREIMAGEEXTPROC)(GLuint texture, GLenum target, GLint lod, GLvoid *img);\ntypedef void (REGAL_CALL *PFNGLGETDOUBLEINDEXEDVEXTPROC)(GLenum target, GLuint index, GLdouble *data);\ntypedef void (REGAL_CALL *PFNGLGETDOUBLEI_VEXTPROC)(GLenum target, GLuint index, GLdouble *data);\ntypedef void (REGAL_CALL *PFNGLGETFLOATINDEXEDVEXTPROC)(GLenum target, GLuint index, GLfloat *data);\ntypedef void (REGAL_CALL *PFNGLGETFLOATI_VEXTPROC)(GLenum target, GLuint index, GLfloat *data);\ntypedef void (REGAL_CALL *PFNGLGETFRAMEBUFFERPARAMETERIVEXTPROC)(GLuint framebuffer, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETMULTITEXENVFVEXTPROC)(GLenum texunit, GLenum target, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETMULTITEXENVIVEXTPROC)(GLenum texunit, GLenum target, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETMULTITEXGENDVEXTPROC)(GLenum texunit, GLenum coord, GLenum pname, GLdouble *params);\ntypedef void (REGAL_CALL *PFNGLGETMULTITEXGENFVEXTPROC)(GLenum texunit, GLenum coord, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETMULTITEXGENIVEXTPROC)(GLenum texunit, GLenum coord, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETMULTITEXIMAGEEXTPROC)(GLenum texunit, GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels);\ntypedef void (REGAL_CALL *PFNGLGETMULTITEXLEVELPARAMETERFVEXTPROC)(GLenum texunit, GLenum target, GLint level, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETMULTITEXLEVELPARAMETERIVEXTPROC)(GLenum texunit, GLenum target, GLint level, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETMULTITEXPARAMETERFVEXTPROC)(GLenum texunit, GLenum target, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETMULTITEXPARAMETERIIVEXTPROC)(GLenum texunit, GLenum target, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETMULTITEXPARAMETERIUIVEXTPROC)(GLenum texunit, GLenum target, GLenum pname, GLuint *params);\ntypedef void (REGAL_CALL *PFNGLGETMULTITEXPARAMETERIVEXTPROC)(GLenum texunit, GLenum target, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETNAMEDBUFFERPARAMETERIVEXTPROC)(GLuint buffer, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETNAMEDBUFFERPOINTERVEXTPROC)(GLuint buffer, GLenum pname, GLvoid **params);\ntypedef void (REGAL_CALL *PFNGLGETNAMEDBUFFERSUBDATAEXTPROC)(GLuint buffer, GLintptr offset, GLsizeiptr size, GLvoid *data);\ntypedef void (REGAL_CALL *PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC)(GLuint framebuffer, GLenum attachment, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETNAMEDPROGRAMIVEXTPROC)(GLuint program, GLenum target, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETNAMEDPROGRAMLOCALPARAMETERDVEXTPROC)(GLuint program, GLenum target, GLuint index, GLdouble *params);\ntypedef void (REGAL_CALL *PFNGLGETNAMEDPROGRAMLOCALPARAMETERFVEXTPROC)(GLuint program, GLenum target, GLuint index, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETNAMEDPROGRAMLOCALPARAMETERIIVEXTPROC)(GLuint program, GLenum target, GLuint index, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETNAMEDPROGRAMLOCALPARAMETERIUIVEXTPROC)(GLuint program, GLenum target, GLuint index, GLuint *params);\ntypedef void (REGAL_CALL *PFNGLGETNAMEDPROGRAMSTRINGEXTPROC)(GLuint program, GLenum target, GLenum pname, GLvoid *string);\ntypedef void (REGAL_CALL *PFNGLGETNAMEDRENDERBUFFERPARAMETERIVEXTPROC)(GLuint renderbuffer, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETPOINTERINDEXEDVEXTPROC)(GLenum target, GLuint index, GLvoid **data);\ntypedef void (REGAL_CALL *PFNGLGETPOINTERI_VEXTPROC)(GLenum pname, GLuint index, GLvoid **params);\ntypedef void (REGAL_CALL *PFNGLGETTEXTUREIMAGEEXTPROC)(GLuint texture, GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels);\ntypedef void (REGAL_CALL *PFNGLGETTEXTURELEVELPARAMETERFVEXTPROC)(GLuint texture, GLenum target, GLint level, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETTEXTURELEVELPARAMETERIVEXTPROC)(GLuint texture, GLenum target, GLint level, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETTEXTUREPARAMETERFVEXTPROC)(GLuint texture, GLenum target, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETTEXTUREPARAMETERIIVEXTPROC)(GLuint texture, GLenum target, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETTEXTUREPARAMETERIUIVEXTPROC)(GLuint texture, GLenum target, GLenum pname, GLuint *params);\ntypedef void (REGAL_CALL *PFNGLGETTEXTUREPARAMETERIVEXTPROC)(GLuint texture, GLenum target, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETVERTEXARRAYINTEGERI_VEXTPROC)(GLuint vaobj, GLuint index, GLenum pname, GLint *param);\ntypedef void (REGAL_CALL *PFNGLGETVERTEXARRAYINTEGERVEXTPROC)(GLuint vaobj, GLenum pname, GLint *param);\ntypedef void (REGAL_CALL *PFNGLGETVERTEXARRAYPOINTERI_VEXTPROC)(GLuint vaobj, GLuint index, GLenum pname, GLvoid **param);\ntypedef void (REGAL_CALL *PFNGLGETVERTEXARRAYPOINTERVEXTPROC)(GLuint vaobj, GLenum pname, GLvoid **param);\ntypedef void (REGAL_CALL *PFNGLMATRIXFRUSTUMEXTPROC)(GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);\ntypedef void (REGAL_CALL *PFNGLMATRIXLOADDEXTPROC)(GLenum mode, const GLdouble *m);\ntypedef void (REGAL_CALL *PFNGLMATRIXLOADFEXTPROC)(GLenum mode, const GLfloat *m);\ntypedef void (REGAL_CALL *PFNGLMATRIXLOADIDENTITYEXTPROC)(GLenum mode);\ntypedef void (REGAL_CALL *PFNGLMATRIXLOADTRANSPOSEDEXTPROC)(GLenum mode, const GLdouble *m);\ntypedef void (REGAL_CALL *PFNGLMATRIXLOADTRANSPOSEFEXTPROC)(GLenum mode, const GLfloat *m);\ntypedef void (REGAL_CALL *PFNGLMATRIXMULTDEXTPROC)(GLenum mode, const GLdouble *m);\ntypedef void (REGAL_CALL *PFNGLMATRIXMULTFEXTPROC)(GLenum mode, const GLfloat *m);\ntypedef void (REGAL_CALL *PFNGLMATRIXMULTTRANSPOSEDEXTPROC)(GLenum mode, const GLdouble *m);\ntypedef void (REGAL_CALL *PFNGLMATRIXMULTTRANSPOSEFEXTPROC)(GLenum mode, const GLfloat *m);\ntypedef void (REGAL_CALL *PFNGLMATRIXORTHOEXTPROC)(GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);\ntypedef void (REGAL_CALL *PFNGLMATRIXPOPEXTPROC)(GLenum mode);\ntypedef void (REGAL_CALL *PFNGLMATRIXPUSHEXTPROC)(GLenum mode);\ntypedef void (REGAL_CALL *PFNGLMATRIXROTATEDEXTPROC)(GLenum mode, GLdouble angle, GLdouble x, GLdouble y, GLdouble z);\ntypedef void (REGAL_CALL *PFNGLMATRIXROTATEFEXTPROC)(GLenum mode, GLfloat angle, GLfloat x, GLfloat y, GLfloat z);\ntypedef void (REGAL_CALL *PFNGLMATRIXSCALEDEXTPROC)(GLenum mode, GLdouble x, GLdouble y, GLdouble z);\ntypedef void (REGAL_CALL *PFNGLMATRIXSCALEFEXTPROC)(GLenum mode, GLfloat x, GLfloat y, GLfloat z);\ntypedef void (REGAL_CALL *PFNGLMATRIXTRANSLATEDEXTPROC)(GLenum mode, GLdouble x, GLdouble y, GLdouble z);\ntypedef void (REGAL_CALL *PFNGLMATRIXTRANSLATEFEXTPROC)(GLenum mode, GLfloat x, GLfloat y, GLfloat z);\ntypedef void (REGAL_CALL *PFNGLMULTITEXBUFFEREXTPROC)(GLenum texunit, GLenum target, GLenum internalformat, GLuint buffer);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORDPOINTEREXTPROC)(GLenum texunit, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);\ntypedef void (REGAL_CALL *PFNGLMULTITEXENVFEXTPROC)(GLenum texunit, GLenum target, GLenum pname, GLfloat param);\ntypedef void (REGAL_CALL *PFNGLMULTITEXENVFVEXTPROC)(GLenum texunit, GLenum target, GLenum pname, const GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLMULTITEXENVIEXTPROC)(GLenum texunit, GLenum target, GLenum pname, GLint param);\ntypedef void (REGAL_CALL *PFNGLMULTITEXENVIVEXTPROC)(GLenum texunit, GLenum target, GLenum pname, const GLint *params);\ntypedef void (REGAL_CALL *PFNGLMULTITEXGENDEXTPROC)(GLenum texunit, GLenum coord, GLenum pname, GLdouble param);\ntypedef void (REGAL_CALL *PFNGLMULTITEXGENDVEXTPROC)(GLenum texunit, GLenum coord, GLenum pname, const GLdouble *params);\ntypedef void (REGAL_CALL *PFNGLMULTITEXGENFEXTPROC)(GLenum texunit, GLenum coord, GLenum pname, GLfloat param);\ntypedef void (REGAL_CALL *PFNGLMULTITEXGENFVEXTPROC)(GLenum texunit, GLenum coord, GLenum pname, const GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLMULTITEXGENIEXTPROC)(GLenum texunit, GLenum coord, GLenum pname, GLint param);\ntypedef void (REGAL_CALL *PFNGLMULTITEXGENIVEXTPROC)(GLenum texunit, GLenum coord, GLenum pname, const GLint *params);\ntypedef void (REGAL_CALL *PFNGLMULTITEXIMAGE1DEXTPROC)(GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels);\ntypedef void (REGAL_CALL *PFNGLMULTITEXIMAGE2DEXTPROC)(GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels);\ntypedef void (REGAL_CALL *PFNGLMULTITEXIMAGE3DEXTPROC)(GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);\ntypedef void (REGAL_CALL *PFNGLMULTITEXPARAMETERFEXTPROC)(GLenum texunit, GLenum target, GLenum pname, GLfloat param);\ntypedef void (REGAL_CALL *PFNGLMULTITEXPARAMETERFVEXTPROC)(GLenum texunit, GLenum target, GLenum pname, const GLfloat *param);\ntypedef void (REGAL_CALL *PFNGLMULTITEXPARAMETERIEXTPROC)(GLenum texunit, GLenum target, GLenum pname, GLint param);\ntypedef void (REGAL_CALL *PFNGLMULTITEXPARAMETERIIVEXTPROC)(GLenum texunit, GLenum target, GLenum pname, const GLint *params);\ntypedef void (REGAL_CALL *PFNGLMULTITEXPARAMETERIUIVEXTPROC)(GLenum texunit, GLenum target, GLenum pname, const GLuint *params);\ntypedef void (REGAL_CALL *PFNGLMULTITEXPARAMETERIVEXTPROC)(GLenum texunit, GLenum target, GLenum pname, const GLint *param);\ntypedef void (REGAL_CALL *PFNGLMULTITEXRENDERBUFFEREXTPROC)(GLenum texunit, GLenum target, GLuint renderbuffer);\ntypedef void (REGAL_CALL *PFNGLMULTITEXSUBIMAGE1DEXTPROC)(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);\ntypedef void (REGAL_CALL *PFNGLMULTITEXSUBIMAGE2DEXTPROC)(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);\ntypedef void (REGAL_CALL *PFNGLMULTITEXSUBIMAGE3DEXTPROC)(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);\ntypedef void (REGAL_CALL *PFNGLNAMEDBUFFERDATAEXTPROC)(GLuint buffer, GLsizeiptr size, const GLvoid *data, GLenum usage);\ntypedef void (REGAL_CALL *PFNGLNAMEDBUFFERSUBDATAEXTPROC)(GLuint buffer, GLintptr offset, GLsizeiptr size, const GLvoid *data);\ntypedef void (REGAL_CALL *PFNGLNAMEDCOPYBUFFERSUBDATAEXTPROC)(GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);\ntypedef void (REGAL_CALL *PFNGLNAMEDFRAMEBUFFERRENDERBUFFEREXTPROC)(GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);\ntypedef void (REGAL_CALL *PFNGLNAMEDFRAMEBUFFERTEXTURE1DEXTPROC)(GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level);\ntypedef void (REGAL_CALL *PFNGLNAMEDFRAMEBUFFERTEXTURE2DEXTPROC)(GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level);\ntypedef void (REGAL_CALL *PFNGLNAMEDFRAMEBUFFERTEXTURE3DEXTPROC)(GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);\ntypedef void (REGAL_CALL *PFNGLNAMEDFRAMEBUFFERTEXTUREEXTPROC)(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level);\ntypedef void (REGAL_CALL *PFNGLNAMEDFRAMEBUFFERTEXTUREFACEEXTPROC)(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLenum face);\ntypedef void (REGAL_CALL *PFNGLNAMEDFRAMEBUFFERTEXTURELAYEREXTPROC)(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer);\ntypedef void (REGAL_CALL *PFNGLNAMEDPROGRAMLOCALPARAMETER4DEXTPROC)(GLuint program, GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\ntypedef void (REGAL_CALL *PFNGLNAMEDPROGRAMLOCALPARAMETER4DVEXTPROC)(GLuint program, GLenum target, GLuint index, const GLdouble *params);\ntypedef void (REGAL_CALL *PFNGLNAMEDPROGRAMLOCALPARAMETER4FEXTPROC)(GLuint program, GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\ntypedef void (REGAL_CALL *PFNGLNAMEDPROGRAMLOCALPARAMETER4FVEXTPROC)(GLuint program, GLenum target, GLuint index, const GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLNAMEDPROGRAMLOCALPARAMETERI4IEXTPROC)(GLuint program, GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w);\ntypedef void (REGAL_CALL *PFNGLNAMEDPROGRAMLOCALPARAMETERI4IVEXTPROC)(GLuint program, GLenum target, GLuint index, const GLint *params);\ntypedef void (REGAL_CALL *PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIEXTPROC)(GLuint program, GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);\ntypedef void (REGAL_CALL *PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIVEXTPROC)(GLuint program, GLenum target, GLuint index, const GLuint *params);\ntypedef void (REGAL_CALL *PFNGLNAMEDPROGRAMLOCALPARAMETERS4FVEXTPROC)(GLuint program, GLenum target, GLuint index, GLsizei count, const GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLNAMEDPROGRAMLOCALPARAMETERSI4IVEXTPROC)(GLuint program, GLenum target, GLuint index, GLsizei count, const GLint *params);\ntypedef void (REGAL_CALL *PFNGLNAMEDPROGRAMLOCALPARAMETERSI4UIVEXTPROC)(GLuint program, GLenum target, GLuint index, GLsizei count, const GLuint *params);\ntypedef void (REGAL_CALL *PFNGLNAMEDPROGRAMSTRINGEXTPROC)(GLuint program, GLenum target, GLenum format, GLsizei len, const GLvoid *string);\ntypedef void (REGAL_CALL *PFNGLNAMEDRENDERBUFFERSTORAGEEXTPROC)(GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height);\ntypedef void (REGAL_CALL *PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLECOVERAGEEXTPROC)(GLuint renderbuffer, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height);\ntypedef void (REGAL_CALL *PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC)(GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM1DEXTPROC)(GLuint program, GLint location, GLdouble x);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM1DVEXTPROC)(GLuint program, GLint location, GLsizei count, const GLdouble *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM1FEXTPROC)(GLuint program, GLint location, GLfloat v0);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM1FVEXTPROC)(GLuint program, GLint location, GLsizei count, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM1IEXTPROC)(GLuint program, GLint location, GLint v0);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM1IVEXTPROC)(GLuint program, GLint location, GLsizei count, const GLint *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM1UIEXTPROC)(GLuint program, GLint location, GLuint v0);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM1UIVEXTPROC)(GLuint program, GLint location, GLsizei count, const GLuint *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM2DEXTPROC)(GLuint program, GLint location, GLdouble x, GLdouble y);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM2DVEXTPROC)(GLuint program, GLint location, GLsizei count, const GLdouble *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM2FEXTPROC)(GLuint program, GLint location, GLfloat v0, GLfloat v1);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM2FVEXTPROC)(GLuint program, GLint location, GLsizei count, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM2IEXTPROC)(GLuint program, GLint location, GLint v0, GLint v1);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM2IVEXTPROC)(GLuint program, GLint location, GLsizei count, const GLint *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM2UIEXTPROC)(GLuint program, GLint location, GLuint v0, GLuint v1);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM2UIVEXTPROC)(GLuint program, GLint location, GLsizei count, const GLuint *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM3DEXTPROC)(GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM3DVEXTPROC)(GLuint program, GLint location, GLsizei count, const GLdouble *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM3FEXTPROC)(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM3FVEXTPROC)(GLuint program, GLint location, GLsizei count, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM3IEXTPROC)(GLuint program, GLint location, GLint v0, GLint v1, GLint v2);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM3IVEXTPROC)(GLuint program, GLint location, GLsizei count, const GLint *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM3UIEXTPROC)(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM3UIVEXTPROC)(GLuint program, GLint location, GLsizei count, const GLuint *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM4DEXTPROC)(GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM4DVEXTPROC)(GLuint program, GLint location, GLsizei count, const GLdouble *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM4FEXTPROC)(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM4FVEXTPROC)(GLuint program, GLint location, GLsizei count, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM4IEXTPROC)(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM4IVEXTPROC)(GLuint program, GLint location, GLsizei count, const GLint *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM4UIEXTPROC)(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM4UIVEXTPROC)(GLuint program, GLint location, GLsizei count, const GLuint *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMMATRIX2DVEXTPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMMATRIX2X3DVEXTPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMMATRIX2X3FVEXTPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMMATRIX2X4DVEXTPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMMATRIX2X4FVEXTPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMMATRIX3DVEXTPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMMATRIX3X2DVEXTPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMMATRIX3X2FVEXTPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMMATRIX3X4DVEXTPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMMATRIX3X4FVEXTPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMMATRIX4DVEXTPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMMATRIX4X2DVEXTPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMMATRIX4X2FVEXTPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMMATRIX4X3DVEXTPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMMATRIX4X3FVEXTPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLPUSHCLIENTATTRIBDEFAULTEXTPROC)(GLbitfield mask);\ntypedef void (REGAL_CALL *PFNGLTEXTUREBUFFEREXTPROC)(GLuint texture, GLenum target, GLenum internalformat, GLuint buffer);\ntypedef void (REGAL_CALL *PFNGLTEXTUREIMAGE1DEXTPROC)(GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels);\ntypedef void (REGAL_CALL *PFNGLTEXTUREIMAGE2DEXTPROC)(GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels);\ntypedef void (REGAL_CALL *PFNGLTEXTUREIMAGE3DEXTPROC)(GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);\ntypedef void (REGAL_CALL *PFNGLTEXTUREPARAMETERFEXTPROC)(GLuint texture, GLenum target, GLenum pname, GLfloat param);\ntypedef void (REGAL_CALL *PFNGLTEXTUREPARAMETERFVEXTPROC)(GLuint texture, GLenum target, GLenum pname, const GLfloat *param);\ntypedef void (REGAL_CALL *PFNGLTEXTUREPARAMETERIEXTPROC)(GLuint texture, GLenum target, GLenum pname, GLint param);\ntypedef void (REGAL_CALL *PFNGLTEXTUREPARAMETERIIVEXTPROC)(GLuint texture, GLenum target, GLenum pname, const GLint *params);\ntypedef void (REGAL_CALL *PFNGLTEXTUREPARAMETERIUIVEXTPROC)(GLuint texture, GLenum target, GLenum pname, const GLuint *params);\ntypedef void (REGAL_CALL *PFNGLTEXTUREPARAMETERIVEXTPROC)(GLuint texture, GLenum target, GLenum pname, const GLint *param);\ntypedef void (REGAL_CALL *PFNGLTEXTURERENDERBUFFEREXTPROC)(GLuint texture, GLenum target, GLuint renderbuffer);\ntypedef void (REGAL_CALL *PFNGLTEXTURESUBIMAGE1DEXTPROC)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);\ntypedef void (REGAL_CALL *PFNGLTEXTURESUBIMAGE2DEXTPROC)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);\ntypedef void (REGAL_CALL *PFNGLTEXTURESUBIMAGE3DEXTPROC)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);\ntypedef void (REGAL_CALL *PFNGLVERTEXARRAYCOLOROFFSETEXTPROC)(GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, const GLintptr offset);\ntypedef void (REGAL_CALL *PFNGLVERTEXARRAYEDGEFLAGOFFSETEXTPROC)(GLuint vaobj, GLuint buffer, GLsizei stride, const GLintptr offset);\ntypedef void (REGAL_CALL *PFNGLVERTEXARRAYFOGCOORDOFFSETEXTPROC)(GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, const GLintptr offset);\ntypedef void (REGAL_CALL *PFNGLVERTEXARRAYINDEXOFFSETEXTPROC)(GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, const GLintptr offset);\ntypedef void (REGAL_CALL *PFNGLVERTEXARRAYMULTITEXCOORDOFFSETEXTPROC)(GLuint vaobj, GLuint buffer, GLenum texunit, GLint size, GLenum type, GLsizei stride, const GLintptr offset);\ntypedef void (REGAL_CALL *PFNGLVERTEXARRAYNORMALOFFSETEXTPROC)(GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, const GLintptr offset);\ntypedef void (REGAL_CALL *PFNGLVERTEXARRAYSECONDARYCOLOROFFSETEXTPROC)(GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, const GLintptr offset);\ntypedef void (REGAL_CALL *PFNGLVERTEXARRAYTEXCOORDOFFSETEXTPROC)(GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, const GLintptr offset);\ntypedef void (REGAL_CALL *PFNGLVERTEXARRAYVERTEXATTRIBIOFFSETEXTPROC)(GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLsizei stride, const GLintptr offset);\ntypedef void (REGAL_CALL *PFNGLVERTEXARRAYVERTEXATTRIBOFFSETEXTPROC)(GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLintptr offset);\ntypedef void (REGAL_CALL *PFNGLVERTEXARRAYVERTEXOFFSETEXTPROC)(GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, const GLintptr offset);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_DIRECT_STATE_ACCESS\n#define glBindMultiTextureEXT               rglBindMultiTextureEXT\n#define glCheckNamedFramebufferStatusEXT    rglCheckNamedFramebufferStatusEXT\n#define glClientAttribDefaultEXT            rglClientAttribDefaultEXT\n#define glCompressedMultiTexImage1DEXT      rglCompressedMultiTexImage1DEXT\n#define glCompressedMultiTexImage2DEXT      rglCompressedMultiTexImage2DEXT\n#define glCompressedMultiTexImage3DEXT      rglCompressedMultiTexImage3DEXT\n#define glCompressedMultiTexSubImage1DEXT   rglCompressedMultiTexSubImage1DEXT\n#define glCompressedMultiTexSubImage2DEXT   rglCompressedMultiTexSubImage2DEXT\n#define glCompressedMultiTexSubImage3DEXT   rglCompressedMultiTexSubImage3DEXT\n#define glCompressedTextureImage1DEXT       rglCompressedTextureImage1DEXT\n#define glCompressedTextureImage2DEXT       rglCompressedTextureImage2DEXT\n#define glCompressedTextureImage3DEXT       rglCompressedTextureImage3DEXT\n#define glCompressedTextureSubImage1DEXT    rglCompressedTextureSubImage1DEXT\n#define glCompressedTextureSubImage2DEXT    rglCompressedTextureSubImage2DEXT\n#define glCompressedTextureSubImage3DEXT    rglCompressedTextureSubImage3DEXT\n#define glCopyMultiTexImage1DEXT            rglCopyMultiTexImage1DEXT\n#define glCopyMultiTexImage2DEXT            rglCopyMultiTexImage2DEXT\n#define glCopyMultiTexSubImage1DEXT         rglCopyMultiTexSubImage1DEXT\n#define glCopyMultiTexSubImage2DEXT         rglCopyMultiTexSubImage2DEXT\n#define glCopyMultiTexSubImage3DEXT         rglCopyMultiTexSubImage3DEXT\n#define glCopyTextureImage1DEXT             rglCopyTextureImage1DEXT\n#define glCopyTextureImage2DEXT             rglCopyTextureImage2DEXT\n#define glCopyTextureSubImage1DEXT          rglCopyTextureSubImage1DEXT\n#define glCopyTextureSubImage2DEXT          rglCopyTextureSubImage2DEXT\n#define glCopyTextureSubImage3DEXT          rglCopyTextureSubImage3DEXT\n#define glDisableClientStateIndexedEXT      rglDisableClientStateIndexedEXT\n#define glDisableClientStateiEXT            rglDisableClientStateiEXT\n#define glDisableVertexArrayAttribEXT       rglDisableVertexArrayAttribEXT\n#define glDisableVertexArrayEXT             rglDisableVertexArrayEXT\n#define glEnableClientStateIndexedEXT       rglEnableClientStateIndexedEXT\n#define glEnableClientStateiEXT             rglEnableClientStateiEXT\n#define glEnableVertexArrayAttribEXT        rglEnableVertexArrayAttribEXT\n#define glEnableVertexArrayEXT              rglEnableVertexArrayEXT\n#define glFlushMappedNamedBufferRangeEXT    rglFlushMappedNamedBufferRangeEXT\n#define glFramebufferDrawBufferEXT          rglFramebufferDrawBufferEXT\n#define glFramebufferDrawBuffersEXT         rglFramebufferDrawBuffersEXT\n#define glFramebufferReadBufferEXT          rglFramebufferReadBufferEXT\n#define glGenerateMultiTexMipmapEXT         rglGenerateMultiTexMipmapEXT\n#define glGenerateTextureMipmapEXT          rglGenerateTextureMipmapEXT\n#define glGetCompressedMultiTexImageEXT     rglGetCompressedMultiTexImageEXT\n#define glGetCompressedTextureImageEXT      rglGetCompressedTextureImageEXT\n#define glGetDoubleIndexedvEXT              rglGetDoubleIndexedvEXT\n#define glGetDoublei_vEXT                   rglGetDoublei_vEXT\n#define glGetFloatIndexedvEXT               rglGetFloatIndexedvEXT\n#define glGetFloati_vEXT                    rglGetFloati_vEXT\n#define glGetFramebufferParameterivEXT      rglGetFramebufferParameterivEXT\n#define glGetMultiTexEnvfvEXT               rglGetMultiTexEnvfvEXT\n#define glGetMultiTexEnvivEXT               rglGetMultiTexEnvivEXT\n#define glGetMultiTexGendvEXT               rglGetMultiTexGendvEXT\n#define glGetMultiTexGenfvEXT               rglGetMultiTexGenfvEXT\n#define glGetMultiTexGenivEXT               rglGetMultiTexGenivEXT\n#define glGetMultiTexImageEXT               rglGetMultiTexImageEXT\n#define glGetMultiTexLevelParameterfvEXT    rglGetMultiTexLevelParameterfvEXT\n#define glGetMultiTexLevelParameterivEXT    rglGetMultiTexLevelParameterivEXT\n#define glGetMultiTexParameterIivEXT        rglGetMultiTexParameterIivEXT\n#define glGetMultiTexParameterIuivEXT       rglGetMultiTexParameterIuivEXT\n#define glGetMultiTexParameterfvEXT         rglGetMultiTexParameterfvEXT\n#define glGetMultiTexParameterivEXT         rglGetMultiTexParameterivEXT\n#define glGetNamedBufferParameterivEXT      rglGetNamedBufferParameterivEXT\n#define glGetNamedBufferPointervEXT         rglGetNamedBufferPointervEXT\n#define glGetNamedBufferSubDataEXT          rglGetNamedBufferSubDataEXT\n#define glGetNamedFramebufferAttachmentParameterivEXT rglGetNamedFramebufferAttachmentParameterivEXT\n#define glGetNamedProgramLocalParameterIivEXT rglGetNamedProgramLocalParameterIivEXT\n#define glGetNamedProgramLocalParameterIuivEXT rglGetNamedProgramLocalParameterIuivEXT\n#define glGetNamedProgramLocalParameterdvEXT rglGetNamedProgramLocalParameterdvEXT\n#define glGetNamedProgramLocalParameterfvEXT rglGetNamedProgramLocalParameterfvEXT\n#define glGetNamedProgramStringEXT          rglGetNamedProgramStringEXT\n#define glGetNamedProgramivEXT              rglGetNamedProgramivEXT\n#define glGetNamedRenderbufferParameterivEXT rglGetNamedRenderbufferParameterivEXT\n#define glGetPointerIndexedvEXT             rglGetPointerIndexedvEXT\n#define glGetPointeri_vEXT                  rglGetPointeri_vEXT\n#define glGetTextureImageEXT                rglGetTextureImageEXT\n#define glGetTextureLevelParameterfvEXT     rglGetTextureLevelParameterfvEXT\n#define glGetTextureLevelParameterivEXT     rglGetTextureLevelParameterivEXT\n#define glGetTextureParameterIivEXT         rglGetTextureParameterIivEXT\n#define glGetTextureParameterIuivEXT        rglGetTextureParameterIuivEXT\n#define glGetTextureParameterfvEXT          rglGetTextureParameterfvEXT\n#define glGetTextureParameterivEXT          rglGetTextureParameterivEXT\n#define glGetVertexArrayIntegeri_vEXT       rglGetVertexArrayIntegeri_vEXT\n#define glGetVertexArrayIntegervEXT         rglGetVertexArrayIntegervEXT\n#define glGetVertexArrayPointeri_vEXT       rglGetVertexArrayPointeri_vEXT\n#define glGetVertexArrayPointervEXT         rglGetVertexArrayPointervEXT\n#define glMapNamedBufferEXT                 rglMapNamedBufferEXT\n#define glMapNamedBufferRangeEXT            rglMapNamedBufferRangeEXT\n#define glMatrixFrustumEXT                  rglMatrixFrustumEXT\n#define glMatrixLoadIdentityEXT             rglMatrixLoadIdentityEXT\n#define glMatrixLoadTransposedEXT           rglMatrixLoadTransposedEXT\n#define glMatrixLoadTransposefEXT           rglMatrixLoadTransposefEXT\n#define glMatrixLoaddEXT                    rglMatrixLoaddEXT\n#define glMatrixLoadfEXT                    rglMatrixLoadfEXT\n#define glMatrixMultTransposedEXT           rglMatrixMultTransposedEXT\n#define glMatrixMultTransposefEXT           rglMatrixMultTransposefEXT\n#define glMatrixMultdEXT                    rglMatrixMultdEXT\n#define glMatrixMultfEXT                    rglMatrixMultfEXT\n#define glMatrixOrthoEXT                    rglMatrixOrthoEXT\n#define glMatrixPopEXT                      rglMatrixPopEXT\n#define glMatrixPushEXT                     rglMatrixPushEXT\n#define glMatrixRotatedEXT                  rglMatrixRotatedEXT\n#define glMatrixRotatefEXT                  rglMatrixRotatefEXT\n#define glMatrixScaledEXT                   rglMatrixScaledEXT\n#define glMatrixScalefEXT                   rglMatrixScalefEXT\n#define glMatrixTranslatedEXT               rglMatrixTranslatedEXT\n#define glMatrixTranslatefEXT               rglMatrixTranslatefEXT\n#define glMultiTexBufferEXT                 rglMultiTexBufferEXT\n#define glMultiTexCoordPointerEXT           rglMultiTexCoordPointerEXT\n#define glMultiTexEnvfEXT                   rglMultiTexEnvfEXT\n#define glMultiTexEnvfvEXT                  rglMultiTexEnvfvEXT\n#define glMultiTexEnviEXT                   rglMultiTexEnviEXT\n#define glMultiTexEnvivEXT                  rglMultiTexEnvivEXT\n#define glMultiTexGendEXT                   rglMultiTexGendEXT\n#define glMultiTexGendvEXT                  rglMultiTexGendvEXT\n#define glMultiTexGenfEXT                   rglMultiTexGenfEXT\n#define glMultiTexGenfvEXT                  rglMultiTexGenfvEXT\n#define glMultiTexGeniEXT                   rglMultiTexGeniEXT\n#define glMultiTexGenivEXT                  rglMultiTexGenivEXT\n#define glMultiTexImage1DEXT                rglMultiTexImage1DEXT\n#define glMultiTexImage2DEXT                rglMultiTexImage2DEXT\n#define glMultiTexImage3DEXT                rglMultiTexImage3DEXT\n#define glMultiTexParameterIivEXT           rglMultiTexParameterIivEXT\n#define glMultiTexParameterIuivEXT          rglMultiTexParameterIuivEXT\n#define glMultiTexParameterfEXT             rglMultiTexParameterfEXT\n#define glMultiTexParameterfvEXT            rglMultiTexParameterfvEXT\n#define glMultiTexParameteriEXT             rglMultiTexParameteriEXT\n#define glMultiTexParameterivEXT            rglMultiTexParameterivEXT\n#define glMultiTexRenderbufferEXT           rglMultiTexRenderbufferEXT\n#define glMultiTexSubImage1DEXT             rglMultiTexSubImage1DEXT\n#define glMultiTexSubImage2DEXT             rglMultiTexSubImage2DEXT\n#define glMultiTexSubImage3DEXT             rglMultiTexSubImage3DEXT\n#define glNamedBufferDataEXT                rglNamedBufferDataEXT\n#define glNamedBufferSubDataEXT             rglNamedBufferSubDataEXT\n#define glNamedCopyBufferSubDataEXT         rglNamedCopyBufferSubDataEXT\n#define glNamedFramebufferRenderbufferEXT   rglNamedFramebufferRenderbufferEXT\n#define glNamedFramebufferTexture1DEXT      rglNamedFramebufferTexture1DEXT\n#define glNamedFramebufferTexture2DEXT      rglNamedFramebufferTexture2DEXT\n#define glNamedFramebufferTexture3DEXT      rglNamedFramebufferTexture3DEXT\n#define glNamedFramebufferTextureEXT        rglNamedFramebufferTextureEXT\n#define glNamedFramebufferTextureFaceEXT    rglNamedFramebufferTextureFaceEXT\n#define glNamedFramebufferTextureLayerEXT   rglNamedFramebufferTextureLayerEXT\n#define glNamedProgramLocalParameter4dEXT   rglNamedProgramLocalParameter4dEXT\n#define glNamedProgramLocalParameter4dvEXT  rglNamedProgramLocalParameter4dvEXT\n#define glNamedProgramLocalParameter4fEXT   rglNamedProgramLocalParameter4fEXT\n#define glNamedProgramLocalParameter4fvEXT  rglNamedProgramLocalParameter4fvEXT\n#define glNamedProgramLocalParameterI4iEXT  rglNamedProgramLocalParameterI4iEXT\n#define glNamedProgramLocalParameterI4ivEXT rglNamedProgramLocalParameterI4ivEXT\n#define glNamedProgramLocalParameterI4uiEXT rglNamedProgramLocalParameterI4uiEXT\n#define glNamedProgramLocalParameterI4uivEXT rglNamedProgramLocalParameterI4uivEXT\n#define glNamedProgramLocalParameters4fvEXT rglNamedProgramLocalParameters4fvEXT\n#define glNamedProgramLocalParametersI4ivEXT rglNamedProgramLocalParametersI4ivEXT\n#define glNamedProgramLocalParametersI4uivEXT rglNamedProgramLocalParametersI4uivEXT\n#define glNamedProgramStringEXT             rglNamedProgramStringEXT\n#define glNamedRenderbufferStorageEXT       rglNamedRenderbufferStorageEXT\n#define glNamedRenderbufferStorageMultisampleCoverageEXT rglNamedRenderbufferStorageMultisampleCoverageEXT\n#define glNamedRenderbufferStorageMultisampleEXT rglNamedRenderbufferStorageMultisampleEXT\n#define glProgramUniform1dEXT               rglProgramUniform1dEXT\n#define glProgramUniform1dvEXT              rglProgramUniform1dvEXT\n#define glProgramUniform1fEXT               rglProgramUniform1fEXT\n#define glProgramUniform1fvEXT              rglProgramUniform1fvEXT\n#define glProgramUniform1iEXT               rglProgramUniform1iEXT\n#define glProgramUniform1ivEXT              rglProgramUniform1ivEXT\n#define glProgramUniform1uiEXT              rglProgramUniform1uiEXT\n#define glProgramUniform1uivEXT             rglProgramUniform1uivEXT\n#define glProgramUniform2dEXT               rglProgramUniform2dEXT\n#define glProgramUniform2dvEXT              rglProgramUniform2dvEXT\n#define glProgramUniform2fEXT               rglProgramUniform2fEXT\n#define glProgramUniform2fvEXT              rglProgramUniform2fvEXT\n#define glProgramUniform2iEXT               rglProgramUniform2iEXT\n#define glProgramUniform2ivEXT              rglProgramUniform2ivEXT\n#define glProgramUniform2uiEXT              rglProgramUniform2uiEXT\n#define glProgramUniform2uivEXT             rglProgramUniform2uivEXT\n#define glProgramUniform3dEXT               rglProgramUniform3dEXT\n#define glProgramUniform3dvEXT              rglProgramUniform3dvEXT\n#define glProgramUniform3fEXT               rglProgramUniform3fEXT\n#define glProgramUniform3fvEXT              rglProgramUniform3fvEXT\n#define glProgramUniform3iEXT               rglProgramUniform3iEXT\n#define glProgramUniform3ivEXT              rglProgramUniform3ivEXT\n#define glProgramUniform3uiEXT              rglProgramUniform3uiEXT\n#define glProgramUniform3uivEXT             rglProgramUniform3uivEXT\n#define glProgramUniform4dEXT               rglProgramUniform4dEXT\n#define glProgramUniform4dvEXT              rglProgramUniform4dvEXT\n#define glProgramUniform4fEXT               rglProgramUniform4fEXT\n#define glProgramUniform4fvEXT              rglProgramUniform4fvEXT\n#define glProgramUniform4iEXT               rglProgramUniform4iEXT\n#define glProgramUniform4ivEXT              rglProgramUniform4ivEXT\n#define glProgramUniform4uiEXT              rglProgramUniform4uiEXT\n#define glProgramUniform4uivEXT             rglProgramUniform4uivEXT\n#define glProgramUniformMatrix2dvEXT        rglProgramUniformMatrix2dvEXT\n#define glProgramUniformMatrix2fvEXT        rglProgramUniformMatrix2fvEXT\n#define glProgramUniformMatrix2x3dvEXT      rglProgramUniformMatrix2x3dvEXT\n#define glProgramUniformMatrix2x3fvEXT      rglProgramUniformMatrix2x3fvEXT\n#define glProgramUniformMatrix2x4dvEXT      rglProgramUniformMatrix2x4dvEXT\n#define glProgramUniformMatrix2x4fvEXT      rglProgramUniformMatrix2x4fvEXT\n#define glProgramUniformMatrix3dvEXT        rglProgramUniformMatrix3dvEXT\n#define glProgramUniformMatrix3fvEXT        rglProgramUniformMatrix3fvEXT\n#define glProgramUniformMatrix3x2dvEXT      rglProgramUniformMatrix3x2dvEXT\n#define glProgramUniformMatrix3x2fvEXT      rglProgramUniformMatrix3x2fvEXT\n#define glProgramUniformMatrix3x4dvEXT      rglProgramUniformMatrix3x4dvEXT\n#define glProgramUniformMatrix3x4fvEXT      rglProgramUniformMatrix3x4fvEXT\n#define glProgramUniformMatrix4dvEXT        rglProgramUniformMatrix4dvEXT\n#define glProgramUniformMatrix4fvEXT        rglProgramUniformMatrix4fvEXT\n#define glProgramUniformMatrix4x2dvEXT      rglProgramUniformMatrix4x2dvEXT\n#define glProgramUniformMatrix4x2fvEXT      rglProgramUniformMatrix4x2fvEXT\n#define glProgramUniformMatrix4x3dvEXT      rglProgramUniformMatrix4x3dvEXT\n#define glProgramUniformMatrix4x3fvEXT      rglProgramUniformMatrix4x3fvEXT\n#define glPushClientAttribDefaultEXT        rglPushClientAttribDefaultEXT\n#define glTextureBufferEXT                  rglTextureBufferEXT\n#define glTextureImage1DEXT                 rglTextureImage1DEXT\n#define glTextureImage2DEXT                 rglTextureImage2DEXT\n#define glTextureImage3DEXT                 rglTextureImage3DEXT\n#define glTextureParameterIivEXT            rglTextureParameterIivEXT\n#define glTextureParameterIuivEXT           rglTextureParameterIuivEXT\n#define glTextureParameterfEXT              rglTextureParameterfEXT\n#define glTextureParameterfvEXT             rglTextureParameterfvEXT\n#define glTextureParameteriEXT              rglTextureParameteriEXT\n#define glTextureParameterivEXT             rglTextureParameterivEXT\n#define glTextureRenderbufferEXT            rglTextureRenderbufferEXT\n#define glTextureSubImage1DEXT              rglTextureSubImage1DEXT\n#define glTextureSubImage2DEXT              rglTextureSubImage2DEXT\n#define glTextureSubImage3DEXT              rglTextureSubImage3DEXT\n#define glUnmapNamedBufferEXT               rglUnmapNamedBufferEXT\n#define glVertexArrayColorOffsetEXT         rglVertexArrayColorOffsetEXT\n#define glVertexArrayEdgeFlagOffsetEXT      rglVertexArrayEdgeFlagOffsetEXT\n#define glVertexArrayFogCoordOffsetEXT      rglVertexArrayFogCoordOffsetEXT\n#define glVertexArrayIndexOffsetEXT         rglVertexArrayIndexOffsetEXT\n#define glVertexArrayMultiTexCoordOffsetEXT rglVertexArrayMultiTexCoordOffsetEXT\n#define glVertexArrayNormalOffsetEXT        rglVertexArrayNormalOffsetEXT\n#define glVertexArraySecondaryColorOffsetEXT rglVertexArraySecondaryColorOffsetEXT\n#define glVertexArrayTexCoordOffsetEXT      rglVertexArrayTexCoordOffsetEXT\n#define glVertexArrayVertexAttribIOffsetEXT rglVertexArrayVertexAttribIOffsetEXT\n#define glVertexArrayVertexAttribOffsetEXT  rglVertexArrayVertexAttribOffsetEXT\n#define glVertexArrayVertexOffsetEXT        rglVertexArrayVertexOffsetEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_DIRECT_STATE_ACCESS\nREGAL_DECL GLboolean REGAL_CALL glUnmapNamedBufferEXT(GLuint buffer);\nREGAL_DECL GLenum REGAL_CALL glCheckNamedFramebufferStatusEXT(GLuint framebuffer, GLenum target);\nREGAL_DECL GLvoid *REGAL_CALL glMapNamedBufferEXT(GLuint buffer, GLenum access);\nREGAL_DECL GLvoid *REGAL_CALL glMapNamedBufferRangeEXT(GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access);\nREGAL_DECL void REGAL_CALL glBindMultiTextureEXT(GLenum texunit, GLenum target, GLuint texture);\nREGAL_DECL void REGAL_CALL glClientAttribDefaultEXT(GLbitfield mask);\nREGAL_DECL void REGAL_CALL glCompressedMultiTexImage1DEXT(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data);\nREGAL_DECL void REGAL_CALL glCompressedMultiTexImage2DEXT(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *bits);\nREGAL_DECL void REGAL_CALL glCompressedMultiTexImage3DEXT(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *bits);\nREGAL_DECL void REGAL_CALL glCompressedMultiTexSubImage1DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data);\nREGAL_DECL void REGAL_CALL glCompressedMultiTexSubImage2DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data);\nREGAL_DECL void REGAL_CALL glCompressedMultiTexSubImage3DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data);\nREGAL_DECL void REGAL_CALL glCompressedTextureImage1DEXT(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *bits);\nREGAL_DECL void REGAL_CALL glCompressedTextureImage2DEXT(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *bits);\nREGAL_DECL void REGAL_CALL glCompressedTextureImage3DEXT(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *bits);\nREGAL_DECL void REGAL_CALL glCompressedTextureSubImage1DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *bits);\nREGAL_DECL void REGAL_CALL glCompressedTextureSubImage2DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *bits);\nREGAL_DECL void REGAL_CALL glCompressedTextureSubImage3DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *bits);\nREGAL_DECL void REGAL_CALL glCopyMultiTexImage1DEXT(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);\nREGAL_DECL void REGAL_CALL glCopyMultiTexImage2DEXT(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);\nREGAL_DECL void REGAL_CALL glCopyMultiTexSubImage1DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);\nREGAL_DECL void REGAL_CALL glCopyMultiTexSubImage2DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);\nREGAL_DECL void REGAL_CALL glCopyMultiTexSubImage3DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);\nREGAL_DECL void REGAL_CALL glCopyTextureImage1DEXT(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);\nREGAL_DECL void REGAL_CALL glCopyTextureImage2DEXT(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);\nREGAL_DECL void REGAL_CALL glCopyTextureSubImage1DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);\nREGAL_DECL void REGAL_CALL glCopyTextureSubImage2DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);\nREGAL_DECL void REGAL_CALL glCopyTextureSubImage3DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);\nREGAL_DECL void REGAL_CALL glDisableClientStateIndexedEXT(GLenum array, GLuint index);\nREGAL_DECL void REGAL_CALL glDisableClientStateiEXT(GLenum array, GLuint index);\nREGAL_DECL void REGAL_CALL glDisableVertexArrayAttribEXT(GLuint vaobj, GLenum array);\nREGAL_DECL void REGAL_CALL glDisableVertexArrayEXT(GLuint vaobj, GLenum array);\nREGAL_DECL void REGAL_CALL glEnableClientStateIndexedEXT(GLenum array, GLuint index);\nREGAL_DECL void REGAL_CALL glEnableClientStateiEXT(GLenum array, GLuint index);\nREGAL_DECL void REGAL_CALL glEnableVertexArrayAttribEXT(GLuint vaobj, GLenum array);\nREGAL_DECL void REGAL_CALL glEnableVertexArrayEXT(GLuint vaobj, GLenum array);\nREGAL_DECL void REGAL_CALL glFlushMappedNamedBufferRangeEXT(GLuint buffer, GLintptr offset, GLsizeiptr length);\nREGAL_DECL void REGAL_CALL glFramebufferDrawBufferEXT(GLuint framebuffer, GLenum mode);\nREGAL_DECL void REGAL_CALL glFramebufferDrawBuffersEXT(GLuint framebuffer, GLsizei n, const GLenum *bufs);\nREGAL_DECL void REGAL_CALL glFramebufferReadBufferEXT(GLuint framebuffer, GLenum mode);\nREGAL_DECL void REGAL_CALL glGenerateMultiTexMipmapEXT(GLenum texunit, GLenum target);\nREGAL_DECL void REGAL_CALL glGenerateTextureMipmapEXT(GLuint texture, GLenum target);\nREGAL_DECL void REGAL_CALL glGetCompressedMultiTexImageEXT(GLenum texunit, GLenum target, GLint lod, GLvoid *img);\nREGAL_DECL void REGAL_CALL glGetCompressedTextureImageEXT(GLuint texture, GLenum target, GLint lod, GLvoid *img);\nREGAL_DECL void REGAL_CALL glGetDoubleIndexedvEXT(GLenum target, GLuint index, GLdouble *data);\nREGAL_DECL void REGAL_CALL glGetDoublei_vEXT(GLenum target, GLuint index, GLdouble *data);\nREGAL_DECL void REGAL_CALL glGetFloatIndexedvEXT(GLenum target, GLuint index, GLfloat *data);\nREGAL_DECL void REGAL_CALL glGetFloati_vEXT(GLenum target, GLuint index, GLfloat *data);\nREGAL_DECL void REGAL_CALL glGetFramebufferParameterivEXT(GLuint framebuffer, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetMultiTexEnvfvEXT(GLenum texunit, GLenum target, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetMultiTexEnvivEXT(GLenum texunit, GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetMultiTexGendvEXT(GLenum texunit, GLenum coord, GLenum pname, GLdouble *params);\nREGAL_DECL void REGAL_CALL glGetMultiTexGenfvEXT(GLenum texunit, GLenum coord, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetMultiTexGenivEXT(GLenum texunit, GLenum coord, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetMultiTexImageEXT(GLenum texunit, GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels);\nREGAL_DECL void REGAL_CALL glGetMultiTexLevelParameterfvEXT(GLenum texunit, GLenum target, GLint level, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetMultiTexLevelParameterivEXT(GLenum texunit, GLenum target, GLint level, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetMultiTexParameterIivEXT(GLenum texunit, GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetMultiTexParameterIuivEXT(GLenum texunit, GLenum target, GLenum pname, GLuint *params);\nREGAL_DECL void REGAL_CALL glGetMultiTexParameterfvEXT(GLenum texunit, GLenum target, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetMultiTexParameterivEXT(GLenum texunit, GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetNamedBufferParameterivEXT(GLuint buffer, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetNamedBufferPointervEXT(GLuint buffer, GLenum pname, GLvoid **params);\nREGAL_DECL void REGAL_CALL glGetNamedBufferSubDataEXT(GLuint buffer, GLintptr offset, GLsizeiptr size, GLvoid *data);\nREGAL_DECL void REGAL_CALL glGetNamedFramebufferAttachmentParameterivEXT(GLuint framebuffer, GLenum attachment, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetNamedProgramLocalParameterIivEXT(GLuint program, GLenum target, GLuint index, GLint *params);\nREGAL_DECL void REGAL_CALL glGetNamedProgramLocalParameterIuivEXT(GLuint program, GLenum target, GLuint index, GLuint *params);\nREGAL_DECL void REGAL_CALL glGetNamedProgramLocalParameterdvEXT(GLuint program, GLenum target, GLuint index, GLdouble *params);\nREGAL_DECL void REGAL_CALL glGetNamedProgramLocalParameterfvEXT(GLuint program, GLenum target, GLuint index, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetNamedProgramStringEXT(GLuint program, GLenum target, GLenum pname, GLvoid *string);\nREGAL_DECL void REGAL_CALL glGetNamedProgramivEXT(GLuint program, GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetNamedRenderbufferParameterivEXT(GLuint renderbuffer, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetPointerIndexedvEXT(GLenum target, GLuint index, GLvoid **data);\nREGAL_DECL void REGAL_CALL glGetPointeri_vEXT(GLenum pname, GLuint index, GLvoid **params);\nREGAL_DECL void REGAL_CALL glGetTextureImageEXT(GLuint texture, GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels);\nREGAL_DECL void REGAL_CALL glGetTextureLevelParameterfvEXT(GLuint texture, GLenum target, GLint level, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetTextureLevelParameterivEXT(GLuint texture, GLenum target, GLint level, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetTextureParameterIivEXT(GLuint texture, GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetTextureParameterIuivEXT(GLuint texture, GLenum target, GLenum pname, GLuint *params);\nREGAL_DECL void REGAL_CALL glGetTextureParameterfvEXT(GLuint texture, GLenum target, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetTextureParameterivEXT(GLuint texture, GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetVertexArrayIntegeri_vEXT(GLuint vaobj, GLuint index, GLenum pname, GLint *param);\nREGAL_DECL void REGAL_CALL glGetVertexArrayIntegervEXT(GLuint vaobj, GLenum pname, GLint *param);\nREGAL_DECL void REGAL_CALL glGetVertexArrayPointeri_vEXT(GLuint vaobj, GLuint index, GLenum pname, GLvoid **param);\nREGAL_DECL void REGAL_CALL glGetVertexArrayPointervEXT(GLuint vaobj, GLenum pname, GLvoid **param);\nREGAL_DECL void REGAL_CALL glMatrixFrustumEXT(GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);\nREGAL_DECL void REGAL_CALL glMatrixLoadIdentityEXT(GLenum mode);\nREGAL_DECL void REGAL_CALL glMatrixLoadTransposedEXT(GLenum mode, const GLdouble *m);\nREGAL_DECL void REGAL_CALL glMatrixLoadTransposefEXT(GLenum mode, const GLfloat *m);\nREGAL_DECL void REGAL_CALL glMatrixLoaddEXT(GLenum mode, const GLdouble *m);\nREGAL_DECL void REGAL_CALL glMatrixLoadfEXT(GLenum mode, const GLfloat *m);\nREGAL_DECL void REGAL_CALL glMatrixMultTransposedEXT(GLenum mode, const GLdouble *m);\nREGAL_DECL void REGAL_CALL glMatrixMultTransposefEXT(GLenum mode, const GLfloat *m);\nREGAL_DECL void REGAL_CALL glMatrixMultdEXT(GLenum mode, const GLdouble *m);\nREGAL_DECL void REGAL_CALL glMatrixMultfEXT(GLenum mode, const GLfloat *m);\nREGAL_DECL void REGAL_CALL glMatrixOrthoEXT(GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);\nREGAL_DECL void REGAL_CALL glMatrixPopEXT(GLenum mode);\nREGAL_DECL void REGAL_CALL glMatrixPushEXT(GLenum mode);\nREGAL_DECL void REGAL_CALL glMatrixRotatedEXT(GLenum mode, GLdouble angle, GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL glMatrixRotatefEXT(GLenum mode, GLfloat angle, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL glMatrixScaledEXT(GLenum mode, GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL glMatrixScalefEXT(GLenum mode, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL glMatrixTranslatedEXT(GLenum mode, GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL glMatrixTranslatefEXT(GLenum mode, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL glMultiTexBufferEXT(GLenum texunit, GLenum target, GLenum internalformat, GLuint buffer);\nREGAL_DECL void REGAL_CALL glMultiTexCoordPointerEXT(GLenum texunit, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL glMultiTexEnvfEXT(GLenum texunit, GLenum target, GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL glMultiTexEnvfvEXT(GLenum texunit, GLenum target, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL glMultiTexEnviEXT(GLenum texunit, GLenum target, GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL glMultiTexEnvivEXT(GLenum texunit, GLenum target, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL glMultiTexGendEXT(GLenum texunit, GLenum coord, GLenum pname, GLdouble param);\nREGAL_DECL void REGAL_CALL glMultiTexGendvEXT(GLenum texunit, GLenum coord, GLenum pname, const GLdouble *params);\nREGAL_DECL void REGAL_CALL glMultiTexGenfEXT(GLenum texunit, GLenum coord, GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL glMultiTexGenfvEXT(GLenum texunit, GLenum coord, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL glMultiTexGeniEXT(GLenum texunit, GLenum coord, GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL glMultiTexGenivEXT(GLenum texunit, GLenum coord, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL glMultiTexImage1DEXT(GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL glMultiTexImage2DEXT(GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL glMultiTexImage3DEXT(GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL glMultiTexParameterIivEXT(GLenum texunit, GLenum target, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL glMultiTexParameterIuivEXT(GLenum texunit, GLenum target, GLenum pname, const GLuint *params);\nREGAL_DECL void REGAL_CALL glMultiTexParameterfEXT(GLenum texunit, GLenum target, GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL glMultiTexParameterfvEXT(GLenum texunit, GLenum target, GLenum pname, const GLfloat *param);\nREGAL_DECL void REGAL_CALL glMultiTexParameteriEXT(GLenum texunit, GLenum target, GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL glMultiTexParameterivEXT(GLenum texunit, GLenum target, GLenum pname, const GLint *param);\nREGAL_DECL void REGAL_CALL glMultiTexRenderbufferEXT(GLenum texunit, GLenum target, GLuint renderbuffer);\nREGAL_DECL void REGAL_CALL glMultiTexSubImage1DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL glMultiTexSubImage2DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL glMultiTexSubImage3DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL glNamedBufferDataEXT(GLuint buffer, GLsizeiptr size, const GLvoid *data, GLenum usage);\nREGAL_DECL void REGAL_CALL glNamedBufferSubDataEXT(GLuint buffer, GLintptr offset, GLsizeiptr size, const GLvoid *data);\nREGAL_DECL void REGAL_CALL glNamedCopyBufferSubDataEXT(GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);\nREGAL_DECL void REGAL_CALL glNamedFramebufferRenderbufferEXT(GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);\nREGAL_DECL void REGAL_CALL glNamedFramebufferTexture1DEXT(GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level);\nREGAL_DECL void REGAL_CALL glNamedFramebufferTexture2DEXT(GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level);\nREGAL_DECL void REGAL_CALL glNamedFramebufferTexture3DEXT(GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);\nREGAL_DECL void REGAL_CALL glNamedFramebufferTextureEXT(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level);\nREGAL_DECL void REGAL_CALL glNamedFramebufferTextureFaceEXT(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLenum face);\nREGAL_DECL void REGAL_CALL glNamedFramebufferTextureLayerEXT(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer);\nREGAL_DECL void REGAL_CALL glNamedProgramLocalParameter4dEXT(GLuint program, GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nREGAL_DECL void REGAL_CALL glNamedProgramLocalParameter4dvEXT(GLuint program, GLenum target, GLuint index, const GLdouble *params);\nREGAL_DECL void REGAL_CALL glNamedProgramLocalParameter4fEXT(GLuint program, GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nREGAL_DECL void REGAL_CALL glNamedProgramLocalParameter4fvEXT(GLuint program, GLenum target, GLuint index, const GLfloat *params);\nREGAL_DECL void REGAL_CALL glNamedProgramLocalParameterI4iEXT(GLuint program, GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w);\nREGAL_DECL void REGAL_CALL glNamedProgramLocalParameterI4ivEXT(GLuint program, GLenum target, GLuint index, const GLint *params);\nREGAL_DECL void REGAL_CALL glNamedProgramLocalParameterI4uiEXT(GLuint program, GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);\nREGAL_DECL void REGAL_CALL glNamedProgramLocalParameterI4uivEXT(GLuint program, GLenum target, GLuint index, const GLuint *params);\nREGAL_DECL void REGAL_CALL glNamedProgramLocalParameters4fvEXT(GLuint program, GLenum target, GLuint index, GLsizei count, const GLfloat *params);\nREGAL_DECL void REGAL_CALL glNamedProgramLocalParametersI4ivEXT(GLuint program, GLenum target, GLuint index, GLsizei count, const GLint *params);\nREGAL_DECL void REGAL_CALL glNamedProgramLocalParametersI4uivEXT(GLuint program, GLenum target, GLuint index, GLsizei count, const GLuint *params);\nREGAL_DECL void REGAL_CALL glNamedProgramStringEXT(GLuint program, GLenum target, GLenum format, GLsizei len, const GLvoid *string);\nREGAL_DECL void REGAL_CALL glNamedRenderbufferStorageEXT(GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height);\nREGAL_DECL void REGAL_CALL glNamedRenderbufferStorageMultisampleCoverageEXT(GLuint renderbuffer, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height);\nREGAL_DECL void REGAL_CALL glNamedRenderbufferStorageMultisampleEXT(GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);\nREGAL_DECL void REGAL_CALL glProgramUniform1dEXT(GLuint program, GLint location, GLdouble x);\nREGAL_DECL void REGAL_CALL glProgramUniform1dvEXT(GLuint program, GLint location, GLsizei count, const GLdouble *value);\nREGAL_DECL void REGAL_CALL glProgramUniform1fEXT(GLuint program, GLint location, GLfloat v0);\nREGAL_DECL void REGAL_CALL glProgramUniform1fvEXT(GLuint program, GLint location, GLsizei count, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glProgramUniform1iEXT(GLuint program, GLint location, GLint v0);\nREGAL_DECL void REGAL_CALL glProgramUniform1ivEXT(GLuint program, GLint location, GLsizei count, const GLint *value);\nREGAL_DECL void REGAL_CALL glProgramUniform1uiEXT(GLuint program, GLint location, GLuint v0);\nREGAL_DECL void REGAL_CALL glProgramUniform1uivEXT(GLuint program, GLint location, GLsizei count, const GLuint *value);\nREGAL_DECL void REGAL_CALL glProgramUniform2dEXT(GLuint program, GLint location, GLdouble x, GLdouble y);\nREGAL_DECL void REGAL_CALL glProgramUniform2dvEXT(GLuint program, GLint location, GLsizei count, const GLdouble *value);\nREGAL_DECL void REGAL_CALL glProgramUniform2fEXT(GLuint program, GLint location, GLfloat v0, GLfloat v1);\nREGAL_DECL void REGAL_CALL glProgramUniform2fvEXT(GLuint program, GLint location, GLsizei count, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glProgramUniform2iEXT(GLuint program, GLint location, GLint v0, GLint v1);\nREGAL_DECL void REGAL_CALL glProgramUniform2ivEXT(GLuint program, GLint location, GLsizei count, const GLint *value);\nREGAL_DECL void REGAL_CALL glProgramUniform2uiEXT(GLuint program, GLint location, GLuint v0, GLuint v1);\nREGAL_DECL void REGAL_CALL glProgramUniform2uivEXT(GLuint program, GLint location, GLsizei count, const GLuint *value);\nREGAL_DECL void REGAL_CALL glProgramUniform3dEXT(GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL glProgramUniform3dvEXT(GLuint program, GLint location, GLsizei count, const GLdouble *value);\nREGAL_DECL void REGAL_CALL glProgramUniform3fEXT(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2);\nREGAL_DECL void REGAL_CALL glProgramUniform3fvEXT(GLuint program, GLint location, GLsizei count, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glProgramUniform3iEXT(GLuint program, GLint location, GLint v0, GLint v1, GLint v2);\nREGAL_DECL void REGAL_CALL glProgramUniform3ivEXT(GLuint program, GLint location, GLsizei count, const GLint *value);\nREGAL_DECL void REGAL_CALL glProgramUniform3uiEXT(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2);\nREGAL_DECL void REGAL_CALL glProgramUniform3uivEXT(GLuint program, GLint location, GLsizei count, const GLuint *value);\nREGAL_DECL void REGAL_CALL glProgramUniform4dEXT(GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nREGAL_DECL void REGAL_CALL glProgramUniform4dvEXT(GLuint program, GLint location, GLsizei count, const GLdouble *value);\nREGAL_DECL void REGAL_CALL glProgramUniform4fEXT(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);\nREGAL_DECL void REGAL_CALL glProgramUniform4fvEXT(GLuint program, GLint location, GLsizei count, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glProgramUniform4iEXT(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);\nREGAL_DECL void REGAL_CALL glProgramUniform4ivEXT(GLuint program, GLint location, GLsizei count, const GLint *value);\nREGAL_DECL void REGAL_CALL glProgramUniform4uiEXT(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);\nREGAL_DECL void REGAL_CALL glProgramUniform4uivEXT(GLuint program, GLint location, GLsizei count, const GLuint *value);\nREGAL_DECL void REGAL_CALL glProgramUniformMatrix2dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL glProgramUniformMatrix2fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glProgramUniformMatrix2x3dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL glProgramUniformMatrix2x3fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glProgramUniformMatrix2x4dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL glProgramUniformMatrix2x4fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glProgramUniformMatrix3dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL glProgramUniformMatrix3fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glProgramUniformMatrix3x2dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL glProgramUniformMatrix3x2fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glProgramUniformMatrix3x4dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL glProgramUniformMatrix3x4fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glProgramUniformMatrix4dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL glProgramUniformMatrix4fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glProgramUniformMatrix4x2dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL glProgramUniformMatrix4x2fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glProgramUniformMatrix4x3dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL glProgramUniformMatrix4x3fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glPushClientAttribDefaultEXT(GLbitfield mask);\nREGAL_DECL void REGAL_CALL glTextureBufferEXT(GLuint texture, GLenum target, GLenum internalformat, GLuint buffer);\nREGAL_DECL void REGAL_CALL glTextureImage1DEXT(GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL glTextureImage2DEXT(GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL glTextureImage3DEXT(GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL glTextureParameterIivEXT(GLuint texture, GLenum target, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL glTextureParameterIuivEXT(GLuint texture, GLenum target, GLenum pname, const GLuint *params);\nREGAL_DECL void REGAL_CALL glTextureParameterfEXT(GLuint texture, GLenum target, GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL glTextureParameterfvEXT(GLuint texture, GLenum target, GLenum pname, const GLfloat *param);\nREGAL_DECL void REGAL_CALL glTextureParameteriEXT(GLuint texture, GLenum target, GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL glTextureParameterivEXT(GLuint texture, GLenum target, GLenum pname, const GLint *param);\nREGAL_DECL void REGAL_CALL glTextureRenderbufferEXT(GLuint texture, GLenum target, GLuint renderbuffer);\nREGAL_DECL void REGAL_CALL glTextureSubImage1DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL glTextureSubImage2DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL glTextureSubImage3DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL glVertexArrayColorOffsetEXT(GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, const GLintptr offset);\nREGAL_DECL void REGAL_CALL glVertexArrayEdgeFlagOffsetEXT(GLuint vaobj, GLuint buffer, GLsizei stride, const GLintptr offset);\nREGAL_DECL void REGAL_CALL glVertexArrayFogCoordOffsetEXT(GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, const GLintptr offset);\nREGAL_DECL void REGAL_CALL glVertexArrayIndexOffsetEXT(GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, const GLintptr offset);\nREGAL_DECL void REGAL_CALL glVertexArrayMultiTexCoordOffsetEXT(GLuint vaobj, GLuint buffer, GLenum texunit, GLint size, GLenum type, GLsizei stride, const GLintptr offset);\nREGAL_DECL void REGAL_CALL glVertexArrayNormalOffsetEXT(GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, const GLintptr offset);\nREGAL_DECL void REGAL_CALL glVertexArraySecondaryColorOffsetEXT(GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, const GLintptr offset);\nREGAL_DECL void REGAL_CALL glVertexArrayTexCoordOffsetEXT(GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, const GLintptr offset);\nREGAL_DECL void REGAL_CALL glVertexArrayVertexAttribIOffsetEXT(GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLsizei stride, const GLintptr offset);\nREGAL_DECL void REGAL_CALL glVertexArrayVertexAttribOffsetEXT(GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLintptr offset);\nREGAL_DECL void REGAL_CALL glVertexArrayVertexOffsetEXT(GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, const GLintptr offset);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_DIRECT_STATE_ACCESS\nREGAL_DECL GLboolean REGAL_CALL plugin_glUnmapNamedBufferEXT(GLuint buffer);\nREGAL_DECL GLenum REGAL_CALL plugin_glCheckNamedFramebufferStatusEXT(GLuint framebuffer, GLenum target);\nREGAL_DECL GLvoid *REGAL_CALL plugin_glMapNamedBufferEXT(GLuint buffer, GLenum access);\nREGAL_DECL GLvoid *REGAL_CALL plugin_glMapNamedBufferRangeEXT(GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access);\nREGAL_DECL void REGAL_CALL plugin_glBindMultiTextureEXT(GLenum texunit, GLenum target, GLuint texture);\nREGAL_DECL void REGAL_CALL plugin_glClientAttribDefaultEXT(GLbitfield mask);\nREGAL_DECL void REGAL_CALL plugin_glCompressedMultiTexImage1DEXT(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data);\nREGAL_DECL void REGAL_CALL plugin_glCompressedMultiTexImage2DEXT(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *bits);\nREGAL_DECL void REGAL_CALL plugin_glCompressedMultiTexImage3DEXT(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *bits);\nREGAL_DECL void REGAL_CALL plugin_glCompressedMultiTexSubImage1DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data);\nREGAL_DECL void REGAL_CALL plugin_glCompressedMultiTexSubImage2DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data);\nREGAL_DECL void REGAL_CALL plugin_glCompressedMultiTexSubImage3DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data);\nREGAL_DECL void REGAL_CALL plugin_glCompressedTextureImage1DEXT(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *bits);\nREGAL_DECL void REGAL_CALL plugin_glCompressedTextureImage2DEXT(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *bits);\nREGAL_DECL void REGAL_CALL plugin_glCompressedTextureImage3DEXT(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *bits);\nREGAL_DECL void REGAL_CALL plugin_glCompressedTextureSubImage1DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *bits);\nREGAL_DECL void REGAL_CALL plugin_glCompressedTextureSubImage2DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *bits);\nREGAL_DECL void REGAL_CALL plugin_glCompressedTextureSubImage3DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *bits);\nREGAL_DECL void REGAL_CALL plugin_glCopyMultiTexImage1DEXT(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);\nREGAL_DECL void REGAL_CALL plugin_glCopyMultiTexImage2DEXT(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);\nREGAL_DECL void REGAL_CALL plugin_glCopyMultiTexSubImage1DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);\nREGAL_DECL void REGAL_CALL plugin_glCopyMultiTexSubImage2DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);\nREGAL_DECL void REGAL_CALL plugin_glCopyMultiTexSubImage3DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);\nREGAL_DECL void REGAL_CALL plugin_glCopyTextureImage1DEXT(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);\nREGAL_DECL void REGAL_CALL plugin_glCopyTextureImage2DEXT(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);\nREGAL_DECL void REGAL_CALL plugin_glCopyTextureSubImage1DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);\nREGAL_DECL void REGAL_CALL plugin_glCopyTextureSubImage2DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);\nREGAL_DECL void REGAL_CALL plugin_glCopyTextureSubImage3DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);\nREGAL_DECL void REGAL_CALL plugin_glDisableClientStateIndexedEXT(GLenum array, GLuint index);\nREGAL_DECL void REGAL_CALL plugin_glDisableClientStateiEXT(GLenum array, GLuint index);\nREGAL_DECL void REGAL_CALL plugin_glDisableVertexArrayAttribEXT(GLuint vaobj, GLenum array);\nREGAL_DECL void REGAL_CALL plugin_glDisableVertexArrayEXT(GLuint vaobj, GLenum array);\nREGAL_DECL void REGAL_CALL plugin_glEnableClientStateIndexedEXT(GLenum array, GLuint index);\nREGAL_DECL void REGAL_CALL plugin_glEnableClientStateiEXT(GLenum array, GLuint index);\nREGAL_DECL void REGAL_CALL plugin_glEnableVertexArrayAttribEXT(GLuint vaobj, GLenum array);\nREGAL_DECL void REGAL_CALL plugin_glEnableVertexArrayEXT(GLuint vaobj, GLenum array);\nREGAL_DECL void REGAL_CALL plugin_glFlushMappedNamedBufferRangeEXT(GLuint buffer, GLintptr offset, GLsizeiptr length);\nREGAL_DECL void REGAL_CALL plugin_glFramebufferDrawBufferEXT(GLuint framebuffer, GLenum mode);\nREGAL_DECL void REGAL_CALL plugin_glFramebufferDrawBuffersEXT(GLuint framebuffer, GLsizei n, const GLenum *bufs);\nREGAL_DECL void REGAL_CALL plugin_glFramebufferReadBufferEXT(GLuint framebuffer, GLenum mode);\nREGAL_DECL void REGAL_CALL plugin_glGenerateMultiTexMipmapEXT(GLenum texunit, GLenum target);\nREGAL_DECL void REGAL_CALL plugin_glGenerateTextureMipmapEXT(GLuint texture, GLenum target);\nREGAL_DECL void REGAL_CALL plugin_glGetCompressedMultiTexImageEXT(GLenum texunit, GLenum target, GLint lod, GLvoid *img);\nREGAL_DECL void REGAL_CALL plugin_glGetCompressedTextureImageEXT(GLuint texture, GLenum target, GLint lod, GLvoid *img);\nREGAL_DECL void REGAL_CALL plugin_glGetDoubleIndexedvEXT(GLenum target, GLuint index, GLdouble *data);\nREGAL_DECL void REGAL_CALL plugin_glGetDoublei_vEXT(GLenum target, GLuint index, GLdouble *data);\nREGAL_DECL void REGAL_CALL plugin_glGetFloatIndexedvEXT(GLenum target, GLuint index, GLfloat *data);\nREGAL_DECL void REGAL_CALL plugin_glGetFloati_vEXT(GLenum target, GLuint index, GLfloat *data);\nREGAL_DECL void REGAL_CALL plugin_glGetFramebufferParameterivEXT(GLuint framebuffer, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetMultiTexEnvfvEXT(GLenum texunit, GLenum target, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetMultiTexEnvivEXT(GLenum texunit, GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetMultiTexGendvEXT(GLenum texunit, GLenum coord, GLenum pname, GLdouble *params);\nREGAL_DECL void REGAL_CALL plugin_glGetMultiTexGenfvEXT(GLenum texunit, GLenum coord, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetMultiTexGenivEXT(GLenum texunit, GLenum coord, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetMultiTexImageEXT(GLenum texunit, GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels);\nREGAL_DECL void REGAL_CALL plugin_glGetMultiTexLevelParameterfvEXT(GLenum texunit, GLenum target, GLint level, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetMultiTexLevelParameterivEXT(GLenum texunit, GLenum target, GLint level, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetMultiTexParameterIivEXT(GLenum texunit, GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetMultiTexParameterIuivEXT(GLenum texunit, GLenum target, GLenum pname, GLuint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetMultiTexParameterfvEXT(GLenum texunit, GLenum target, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetMultiTexParameterivEXT(GLenum texunit, GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetNamedBufferParameterivEXT(GLuint buffer, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetNamedBufferPointervEXT(GLuint buffer, GLenum pname, GLvoid **params);\nREGAL_DECL void REGAL_CALL plugin_glGetNamedBufferSubDataEXT(GLuint buffer, GLintptr offset, GLsizeiptr size, GLvoid *data);\nREGAL_DECL void REGAL_CALL plugin_glGetNamedFramebufferAttachmentParameterivEXT(GLuint framebuffer, GLenum attachment, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetNamedProgramLocalParameterIivEXT(GLuint program, GLenum target, GLuint index, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetNamedProgramLocalParameterIuivEXT(GLuint program, GLenum target, GLuint index, GLuint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetNamedProgramLocalParameterdvEXT(GLuint program, GLenum target, GLuint index, GLdouble *params);\nREGAL_DECL void REGAL_CALL plugin_glGetNamedProgramLocalParameterfvEXT(GLuint program, GLenum target, GLuint index, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetNamedProgramStringEXT(GLuint program, GLenum target, GLenum pname, GLvoid *string);\nREGAL_DECL void REGAL_CALL plugin_glGetNamedProgramivEXT(GLuint program, GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetNamedRenderbufferParameterivEXT(GLuint renderbuffer, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetPointerIndexedvEXT(GLenum target, GLuint index, GLvoid **data);\nREGAL_DECL void REGAL_CALL plugin_glGetPointeri_vEXT(GLenum pname, GLuint index, GLvoid **params);\nREGAL_DECL void REGAL_CALL plugin_glGetTextureImageEXT(GLuint texture, GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels);\nREGAL_DECL void REGAL_CALL plugin_glGetTextureLevelParameterfvEXT(GLuint texture, GLenum target, GLint level, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetTextureLevelParameterivEXT(GLuint texture, GLenum target, GLint level, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetTextureParameterIivEXT(GLuint texture, GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetTextureParameterIuivEXT(GLuint texture, GLenum target, GLenum pname, GLuint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetTextureParameterfvEXT(GLuint texture, GLenum target, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetTextureParameterivEXT(GLuint texture, GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetVertexArrayIntegeri_vEXT(GLuint vaobj, GLuint index, GLenum pname, GLint *param);\nREGAL_DECL void REGAL_CALL plugin_glGetVertexArrayIntegervEXT(GLuint vaobj, GLenum pname, GLint *param);\nREGAL_DECL void REGAL_CALL plugin_glGetVertexArrayPointeri_vEXT(GLuint vaobj, GLuint index, GLenum pname, GLvoid **param);\nREGAL_DECL void REGAL_CALL plugin_glGetVertexArrayPointervEXT(GLuint vaobj, GLenum pname, GLvoid **param);\nREGAL_DECL void REGAL_CALL plugin_glMatrixFrustumEXT(GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);\nREGAL_DECL void REGAL_CALL plugin_glMatrixLoadIdentityEXT(GLenum mode);\nREGAL_DECL void REGAL_CALL plugin_glMatrixLoadTransposedEXT(GLenum mode, const GLdouble *m);\nREGAL_DECL void REGAL_CALL plugin_glMatrixLoadTransposefEXT(GLenum mode, const GLfloat *m);\nREGAL_DECL void REGAL_CALL plugin_glMatrixLoaddEXT(GLenum mode, const GLdouble *m);\nREGAL_DECL void REGAL_CALL plugin_glMatrixLoadfEXT(GLenum mode, const GLfloat *m);\nREGAL_DECL void REGAL_CALL plugin_glMatrixMultTransposedEXT(GLenum mode, const GLdouble *m);\nREGAL_DECL void REGAL_CALL plugin_glMatrixMultTransposefEXT(GLenum mode, const GLfloat *m);\nREGAL_DECL void REGAL_CALL plugin_glMatrixMultdEXT(GLenum mode, const GLdouble *m);\nREGAL_DECL void REGAL_CALL plugin_glMatrixMultfEXT(GLenum mode, const GLfloat *m);\nREGAL_DECL void REGAL_CALL plugin_glMatrixOrthoEXT(GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);\nREGAL_DECL void REGAL_CALL plugin_glMatrixPopEXT(GLenum mode);\nREGAL_DECL void REGAL_CALL plugin_glMatrixPushEXT(GLenum mode);\nREGAL_DECL void REGAL_CALL plugin_glMatrixRotatedEXT(GLenum mode, GLdouble angle, GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL plugin_glMatrixRotatefEXT(GLenum mode, GLfloat angle, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL plugin_glMatrixScaledEXT(GLenum mode, GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL plugin_glMatrixScalefEXT(GLenum mode, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL plugin_glMatrixTranslatedEXT(GLenum mode, GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL plugin_glMatrixTranslatefEXT(GLenum mode, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexBufferEXT(GLenum texunit, GLenum target, GLenum internalformat, GLuint buffer);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoordPointerEXT(GLenum texunit, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexEnvfEXT(GLenum texunit, GLenum target, GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexEnvfvEXT(GLenum texunit, GLenum target, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexEnviEXT(GLenum texunit, GLenum target, GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexEnvivEXT(GLenum texunit, GLenum target, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexGendEXT(GLenum texunit, GLenum coord, GLenum pname, GLdouble param);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexGendvEXT(GLenum texunit, GLenum coord, GLenum pname, const GLdouble *params);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexGenfEXT(GLenum texunit, GLenum coord, GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexGenfvEXT(GLenum texunit, GLenum coord, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexGeniEXT(GLenum texunit, GLenum coord, GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexGenivEXT(GLenum texunit, GLenum coord, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexImage1DEXT(GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexImage2DEXT(GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexImage3DEXT(GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexParameterIivEXT(GLenum texunit, GLenum target, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexParameterIuivEXT(GLenum texunit, GLenum target, GLenum pname, const GLuint *params);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexParameterfEXT(GLenum texunit, GLenum target, GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexParameterfvEXT(GLenum texunit, GLenum target, GLenum pname, const GLfloat *param);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexParameteriEXT(GLenum texunit, GLenum target, GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexParameterivEXT(GLenum texunit, GLenum target, GLenum pname, const GLint *param);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexRenderbufferEXT(GLenum texunit, GLenum target, GLuint renderbuffer);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexSubImage1DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexSubImage2DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexSubImage3DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL plugin_glNamedBufferDataEXT(GLuint buffer, GLsizeiptr size, const GLvoid *data, GLenum usage);\nREGAL_DECL void REGAL_CALL plugin_glNamedBufferSubDataEXT(GLuint buffer, GLintptr offset, GLsizeiptr size, const GLvoid *data);\nREGAL_DECL void REGAL_CALL plugin_glNamedCopyBufferSubDataEXT(GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);\nREGAL_DECL void REGAL_CALL plugin_glNamedFramebufferRenderbufferEXT(GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);\nREGAL_DECL void REGAL_CALL plugin_glNamedFramebufferTexture1DEXT(GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level);\nREGAL_DECL void REGAL_CALL plugin_glNamedFramebufferTexture2DEXT(GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level);\nREGAL_DECL void REGAL_CALL plugin_glNamedFramebufferTexture3DEXT(GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);\nREGAL_DECL void REGAL_CALL plugin_glNamedFramebufferTextureEXT(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level);\nREGAL_DECL void REGAL_CALL plugin_glNamedFramebufferTextureFaceEXT(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLenum face);\nREGAL_DECL void REGAL_CALL plugin_glNamedFramebufferTextureLayerEXT(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer);\nREGAL_DECL void REGAL_CALL plugin_glNamedProgramLocalParameter4dEXT(GLuint program, GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nREGAL_DECL void REGAL_CALL plugin_glNamedProgramLocalParameter4dvEXT(GLuint program, GLenum target, GLuint index, const GLdouble *params);\nREGAL_DECL void REGAL_CALL plugin_glNamedProgramLocalParameter4fEXT(GLuint program, GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nREGAL_DECL void REGAL_CALL plugin_glNamedProgramLocalParameter4fvEXT(GLuint program, GLenum target, GLuint index, const GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glNamedProgramLocalParameterI4iEXT(GLuint program, GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w);\nREGAL_DECL void REGAL_CALL plugin_glNamedProgramLocalParameterI4ivEXT(GLuint program, GLenum target, GLuint index, const GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glNamedProgramLocalParameterI4uiEXT(GLuint program, GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);\nREGAL_DECL void REGAL_CALL plugin_glNamedProgramLocalParameterI4uivEXT(GLuint program, GLenum target, GLuint index, const GLuint *params);\nREGAL_DECL void REGAL_CALL plugin_glNamedProgramLocalParameters4fvEXT(GLuint program, GLenum target, GLuint index, GLsizei count, const GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glNamedProgramLocalParametersI4ivEXT(GLuint program, GLenum target, GLuint index, GLsizei count, const GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glNamedProgramLocalParametersI4uivEXT(GLuint program, GLenum target, GLuint index, GLsizei count, const GLuint *params);\nREGAL_DECL void REGAL_CALL plugin_glNamedProgramStringEXT(GLuint program, GLenum target, GLenum format, GLsizei len, const GLvoid *string);\nREGAL_DECL void REGAL_CALL plugin_glNamedRenderbufferStorageEXT(GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height);\nREGAL_DECL void REGAL_CALL plugin_glNamedRenderbufferStorageMultisampleCoverageEXT(GLuint renderbuffer, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height);\nREGAL_DECL void REGAL_CALL plugin_glNamedRenderbufferStorageMultisampleEXT(GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform1dEXT(GLuint program, GLint location, GLdouble x);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform1dvEXT(GLuint program, GLint location, GLsizei count, const GLdouble *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform1fEXT(GLuint program, GLint location, GLfloat v0);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform1fvEXT(GLuint program, GLint location, GLsizei count, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform1iEXT(GLuint program, GLint location, GLint v0);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform1ivEXT(GLuint program, GLint location, GLsizei count, const GLint *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform1uiEXT(GLuint program, GLint location, GLuint v0);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform1uivEXT(GLuint program, GLint location, GLsizei count, const GLuint *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform2dEXT(GLuint program, GLint location, GLdouble x, GLdouble y);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform2dvEXT(GLuint program, GLint location, GLsizei count, const GLdouble *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform2fEXT(GLuint program, GLint location, GLfloat v0, GLfloat v1);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform2fvEXT(GLuint program, GLint location, GLsizei count, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform2iEXT(GLuint program, GLint location, GLint v0, GLint v1);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform2ivEXT(GLuint program, GLint location, GLsizei count, const GLint *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform2uiEXT(GLuint program, GLint location, GLuint v0, GLuint v1);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform2uivEXT(GLuint program, GLint location, GLsizei count, const GLuint *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform3dEXT(GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform3dvEXT(GLuint program, GLint location, GLsizei count, const GLdouble *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform3fEXT(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform3fvEXT(GLuint program, GLint location, GLsizei count, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform3iEXT(GLuint program, GLint location, GLint v0, GLint v1, GLint v2);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform3ivEXT(GLuint program, GLint location, GLsizei count, const GLint *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform3uiEXT(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform3uivEXT(GLuint program, GLint location, GLsizei count, const GLuint *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform4dEXT(GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform4dvEXT(GLuint program, GLint location, GLsizei count, const GLdouble *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform4fEXT(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform4fvEXT(GLuint program, GLint location, GLsizei count, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform4iEXT(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform4ivEXT(GLuint program, GLint location, GLsizei count, const GLint *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform4uiEXT(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform4uivEXT(GLuint program, GLint location, GLsizei count, const GLuint *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformMatrix2dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformMatrix2fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformMatrix2x3dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformMatrix2x3fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformMatrix2x4dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformMatrix2x4fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformMatrix3dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformMatrix3fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformMatrix3x2dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformMatrix3x2fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformMatrix3x4dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformMatrix3x4fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformMatrix4dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformMatrix4fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformMatrix4x2dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformMatrix4x2fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformMatrix4x3dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformMatrix4x3fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glPushClientAttribDefaultEXT(GLbitfield mask);\nREGAL_DECL void REGAL_CALL plugin_glTextureBufferEXT(GLuint texture, GLenum target, GLenum internalformat, GLuint buffer);\nREGAL_DECL void REGAL_CALL plugin_glTextureImage1DEXT(GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL plugin_glTextureImage2DEXT(GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL plugin_glTextureImage3DEXT(GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL plugin_glTextureParameterIivEXT(GLuint texture, GLenum target, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glTextureParameterIuivEXT(GLuint texture, GLenum target, GLenum pname, const GLuint *params);\nREGAL_DECL void REGAL_CALL plugin_glTextureParameterfEXT(GLuint texture, GLenum target, GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL plugin_glTextureParameterfvEXT(GLuint texture, GLenum target, GLenum pname, const GLfloat *param);\nREGAL_DECL void REGAL_CALL plugin_glTextureParameteriEXT(GLuint texture, GLenum target, GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL plugin_glTextureParameterivEXT(GLuint texture, GLenum target, GLenum pname, const GLint *param);\nREGAL_DECL void REGAL_CALL plugin_glTextureRenderbufferEXT(GLuint texture, GLenum target, GLuint renderbuffer);\nREGAL_DECL void REGAL_CALL plugin_glTextureSubImage1DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL plugin_glTextureSubImage2DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL plugin_glTextureSubImage3DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL plugin_glVertexArrayColorOffsetEXT(GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, const GLintptr offset);\nREGAL_DECL void REGAL_CALL plugin_glVertexArrayEdgeFlagOffsetEXT(GLuint vaobj, GLuint buffer, GLsizei stride, const GLintptr offset);\nREGAL_DECL void REGAL_CALL plugin_glVertexArrayFogCoordOffsetEXT(GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, const GLintptr offset);\nREGAL_DECL void REGAL_CALL plugin_glVertexArrayIndexOffsetEXT(GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, const GLintptr offset);\nREGAL_DECL void REGAL_CALL plugin_glVertexArrayMultiTexCoordOffsetEXT(GLuint vaobj, GLuint buffer, GLenum texunit, GLint size, GLenum type, GLsizei stride, const GLintptr offset);\nREGAL_DECL void REGAL_CALL plugin_glVertexArrayNormalOffsetEXT(GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, const GLintptr offset);\nREGAL_DECL void REGAL_CALL plugin_glVertexArraySecondaryColorOffsetEXT(GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, const GLintptr offset);\nREGAL_DECL void REGAL_CALL plugin_glVertexArrayTexCoordOffsetEXT(GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, const GLintptr offset);\nREGAL_DECL void REGAL_CALL plugin_glVertexArrayVertexAttribIOffsetEXT(GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLsizei stride, const GLintptr offset);\nREGAL_DECL void REGAL_CALL plugin_glVertexArrayVertexAttribOffsetEXT(GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLintptr offset);\nREGAL_DECL void REGAL_CALL plugin_glVertexArrayVertexOffsetEXT(GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, const GLintptr offset);\n#endif\n\n/**\n ** GL_EXT_discard_framebuffer\n **/\n\n#if (defined(GL_EXT_DISCARD_FRAMEBUFFER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_DISCARD_FRAMEBUFFER)) && !defined(REGAL_NO_ENUM_GL_EXT_DISCARD_FRAMEBUFFER)\n#define REGAL_NO_ENUM_GL_EXT_DISCARD_FRAMEBUFFER\n#endif\n\n#if (defined(GL_EXT_DISCARD_FRAMEBUFFER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_DISCARD_FRAMEBUFFER)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_DISCARD_FRAMEBUFFER)\n#define REGAL_NO_TYPEDEF_GL_EXT_DISCARD_FRAMEBUFFER\n#endif\n\n#if (defined(GL_EXT_DISCARD_FRAMEBUFFER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_DISCARD_FRAMEBUFFER)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_DISCARD_FRAMEBUFFER)\n#define REGAL_NO_NAMESPACE_GL_EXT_DISCARD_FRAMEBUFFER\n#endif\n\n#if (defined(GL_EXT_DISCARD_FRAMEBUFFER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_DISCARD_FRAMEBUFFER)) && !defined(REGAL_NO_PLUGIN_GL_EXT_DISCARD_FRAMEBUFFER)\n#define REGAL_NO_PLUGIN_GL_EXT_DISCARD_FRAMEBUFFER\n#endif\n\n#if (defined(GL_EXT_DISCARD_FRAMEBUFFER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_DISCARD_FRAMEBUFFER)) && !defined(REGAL_NO_DECLARATION_GL_EXT_DISCARD_FRAMEBUFFER)\n#define REGAL_NO_DECLARATION_GL_EXT_DISCARD_FRAMEBUFFER\n#endif\n\n#ifndef GL_EXT_discard_framebuffer\n#define GL_EXT_discard_framebuffer 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_DISCARD_FRAMEBUFFER\n#define GL_COLOR_EXT   0x1800     /* 6144 */\n#define GL_DEPTH_EXT   0x1801     /* 6145 */\n#define GL_STENCIL_EXT 0x1802     /* 6146 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_DISCARD_FRAMEBUFFER\ntypedef void (REGAL_CALL *PFNGLDISCARDFRAMEBUFFEREXTPROC)(GLenum target, GLsizei numAttachments, const GLenum *attachments);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_DISCARD_FRAMEBUFFER\n#define glDiscardFramebufferEXT             rglDiscardFramebufferEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_DISCARD_FRAMEBUFFER\nREGAL_DECL void REGAL_CALL glDiscardFramebufferEXT(GLenum target, GLsizei numAttachments, const GLenum *attachments);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_DISCARD_FRAMEBUFFER\nREGAL_DECL void REGAL_CALL plugin_glDiscardFramebufferEXT(GLenum target, GLsizei numAttachments, const GLenum *attachments);\n#endif\n\n/**\n ** GL_EXT_disjoint_timer_query\n **/\n\n#if (defined(GL_EXT_DISJOINT_TIMER_QUERY) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_DISJOINT_TIMER_QUERY)) && !defined(REGAL_NO_ENUM_GL_EXT_DISJOINT_TIMER_QUERY)\n#define REGAL_NO_ENUM_GL_EXT_DISJOINT_TIMER_QUERY\n#endif\n\n#if (defined(GL_EXT_DISJOINT_TIMER_QUERY) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_DISJOINT_TIMER_QUERY)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_DISJOINT_TIMER_QUERY)\n#define REGAL_NO_TYPEDEF_GL_EXT_DISJOINT_TIMER_QUERY\n#endif\n\n#if (defined(GL_EXT_DISJOINT_TIMER_QUERY) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_DISJOINT_TIMER_QUERY)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_DISJOINT_TIMER_QUERY)\n#define REGAL_NO_NAMESPACE_GL_EXT_DISJOINT_TIMER_QUERY\n#endif\n\n#if (defined(GL_EXT_DISJOINT_TIMER_QUERY) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_DISJOINT_TIMER_QUERY)) && !defined(REGAL_NO_PLUGIN_GL_EXT_DISJOINT_TIMER_QUERY)\n#define REGAL_NO_PLUGIN_GL_EXT_DISJOINT_TIMER_QUERY\n#endif\n\n#if (defined(GL_EXT_DISJOINT_TIMER_QUERY) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_DISJOINT_TIMER_QUERY)) && !defined(REGAL_NO_DECLARATION_GL_EXT_DISJOINT_TIMER_QUERY)\n#define REGAL_NO_DECLARATION_GL_EXT_DISJOINT_TIMER_QUERY\n#endif\n\n#ifndef GL_EXT_disjoint_timer_query\n#define GL_EXT_disjoint_timer_query 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_DISJOINT_TIMER_QUERY\n#define GL_QUERY_COUNTER_BITS_EXT 0x8864     /* 34916 */\n#define GL_TIMESTAMP_EXT          0x8e28     /* 36392 */\n#define GL_GPU_DISJOINT_EXT       0x8fbb     /* 36795 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_DISJOINT_TIMER_QUERY\ntypedef void (REGAL_CALL *PFNGLGETQUERYOBJECTIVEXTPROC)(GLuint id, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLQUERYCOUNTEREXTPROC)(GLuint id, GLenum target);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_DISJOINT_TIMER_QUERY\n#define glGetQueryObjectivEXT               rglGetQueryObjectivEXT\n#define glQueryCounterEXT                   rglQueryCounterEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_DISJOINT_TIMER_QUERY\nREGAL_DECL void REGAL_CALL glGetQueryObjectivEXT(GLuint id, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glQueryCounterEXT(GLuint id, GLenum target);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_DISJOINT_TIMER_QUERY\nREGAL_DECL void REGAL_CALL plugin_glGetQueryObjectivEXT(GLuint id, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glQueryCounterEXT(GLuint id, GLenum target);\n#endif\n\n/**\n ** GL_EXT_draw_buffers2\n **/\n\n#if (defined(GL_EXT_DRAW_BUFFERS2) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_DRAW_BUFFERS2)) && !defined(REGAL_NO_ENUM_GL_EXT_DRAW_BUFFERS2)\n#define REGAL_NO_ENUM_GL_EXT_DRAW_BUFFERS2\n#endif\n\n#if (defined(GL_EXT_DRAW_BUFFERS2) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_DRAW_BUFFERS2)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_DRAW_BUFFERS2)\n#define REGAL_NO_TYPEDEF_GL_EXT_DRAW_BUFFERS2\n#endif\n\n#if (defined(GL_EXT_DRAW_BUFFERS2) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_DRAW_BUFFERS2)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_DRAW_BUFFERS2)\n#define REGAL_NO_NAMESPACE_GL_EXT_DRAW_BUFFERS2\n#endif\n\n#if (defined(GL_EXT_DRAW_BUFFERS2) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_DRAW_BUFFERS2)) && !defined(REGAL_NO_PLUGIN_GL_EXT_DRAW_BUFFERS2)\n#define REGAL_NO_PLUGIN_GL_EXT_DRAW_BUFFERS2\n#endif\n\n#if (defined(GL_EXT_DRAW_BUFFERS2) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_DRAW_BUFFERS2)) && !defined(REGAL_NO_DECLARATION_GL_EXT_DRAW_BUFFERS2)\n#define REGAL_NO_DECLARATION_GL_EXT_DRAW_BUFFERS2\n#endif\n\n#ifndef GL_EXT_draw_buffers2\n#define GL_EXT_draw_buffers2 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_DRAW_BUFFERS2\ntypedef GLboolean (REGAL_CALL *PFNGLISENABLEDINDEXEDEXTPROC)(GLenum target, GLuint index);\ntypedef void (REGAL_CALL *PFNGLCOLORMASKINDEXEDEXTPROC)(GLuint buf, GLboolean r, GLboolean g, GLboolean b, GLboolean a);\ntypedef void (REGAL_CALL *PFNGLDISABLEINDEXEDEXTPROC)(GLenum target, GLuint index);\ntypedef void (REGAL_CALL *PFNGLENABLEINDEXEDEXTPROC)(GLenum target, GLuint index);\ntypedef void (REGAL_CALL *PFNGLGETBOOLEANINDEXEDVEXTPROC)(GLenum value, GLuint index, GLboolean *data);\ntypedef void (REGAL_CALL *PFNGLGETINTEGERINDEXEDVEXTPROC)(GLenum value, GLuint index, GLint *data);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_DRAW_BUFFERS2\n#define glColorMaskIndexedEXT               rglColorMaskIndexedEXT\n#define glDisableIndexedEXT                 rglDisableIndexedEXT\n#define glEnableIndexedEXT                  rglEnableIndexedEXT\n#define glGetBooleanIndexedvEXT             rglGetBooleanIndexedvEXT\n#define glGetIntegerIndexedvEXT             rglGetIntegerIndexedvEXT\n#define glIsEnabledIndexedEXT               rglIsEnabledIndexedEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_DRAW_BUFFERS2\nREGAL_DECL GLboolean REGAL_CALL glIsEnabledIndexedEXT(GLenum target, GLuint index);\nREGAL_DECL void REGAL_CALL glColorMaskIndexedEXT(GLuint buf, GLboolean r, GLboolean g, GLboolean b, GLboolean a);\nREGAL_DECL void REGAL_CALL glDisableIndexedEXT(GLenum target, GLuint index);\nREGAL_DECL void REGAL_CALL glEnableIndexedEXT(GLenum target, GLuint index);\nREGAL_DECL void REGAL_CALL glGetBooleanIndexedvEXT(GLenum value, GLuint index, GLboolean *data);\nREGAL_DECL void REGAL_CALL glGetIntegerIndexedvEXT(GLenum value, GLuint index, GLint *data);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_DRAW_BUFFERS2\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsEnabledIndexedEXT(GLenum target, GLuint index);\nREGAL_DECL void REGAL_CALL plugin_glColorMaskIndexedEXT(GLuint buf, GLboolean r, GLboolean g, GLboolean b, GLboolean a);\nREGAL_DECL void REGAL_CALL plugin_glDisableIndexedEXT(GLenum target, GLuint index);\nREGAL_DECL void REGAL_CALL plugin_glEnableIndexedEXT(GLenum target, GLuint index);\nREGAL_DECL void REGAL_CALL plugin_glGetBooleanIndexedvEXT(GLenum value, GLuint index, GLboolean *data);\nREGAL_DECL void REGAL_CALL plugin_glGetIntegerIndexedvEXT(GLenum value, GLuint index, GLint *data);\n#endif\n\n/**\n ** GL_EXT_draw_instanced\n **/\n\n#if (defined(GL_EXT_DRAW_INSTANCED) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_DRAW_INSTANCED)) && !defined(REGAL_NO_ENUM_GL_EXT_DRAW_INSTANCED)\n#define REGAL_NO_ENUM_GL_EXT_DRAW_INSTANCED\n#endif\n\n#if (defined(GL_EXT_DRAW_INSTANCED) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_DRAW_INSTANCED)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_DRAW_INSTANCED)\n#define REGAL_NO_TYPEDEF_GL_EXT_DRAW_INSTANCED\n#endif\n\n#if (defined(GL_EXT_DRAW_INSTANCED) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_DRAW_INSTANCED)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_DRAW_INSTANCED)\n#define REGAL_NO_NAMESPACE_GL_EXT_DRAW_INSTANCED\n#endif\n\n#if (defined(GL_EXT_DRAW_INSTANCED) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_DRAW_INSTANCED)) && !defined(REGAL_NO_PLUGIN_GL_EXT_DRAW_INSTANCED)\n#define REGAL_NO_PLUGIN_GL_EXT_DRAW_INSTANCED\n#endif\n\n#if (defined(GL_EXT_DRAW_INSTANCED) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_DRAW_INSTANCED)) && !defined(REGAL_NO_DECLARATION_GL_EXT_DRAW_INSTANCED)\n#define REGAL_NO_DECLARATION_GL_EXT_DRAW_INSTANCED\n#endif\n\n#ifndef GL_EXT_draw_instanced\n#define GL_EXT_draw_instanced 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_DRAW_INSTANCED\ntypedef void (REGAL_CALL *PFNGLDRAWARRAYSINSTANCEDEXTPROC)(GLenum mode, GLint start, GLsizei count, GLsizei primcount);\ntypedef void (REGAL_CALL *PFNGLDRAWELEMENTSINSTANCEDEXTPROC)(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_DRAW_INSTANCED\n#define glDrawArraysInstancedEXT            rglDrawArraysInstancedEXT\n#define glDrawElementsInstancedEXT          rglDrawElementsInstancedEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_DRAW_INSTANCED\nREGAL_DECL void REGAL_CALL glDrawArraysInstancedEXT(GLenum mode, GLint start, GLsizei count, GLsizei primcount);\nREGAL_DECL void REGAL_CALL glDrawElementsInstancedEXT(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_DRAW_INSTANCED\nREGAL_DECL void REGAL_CALL plugin_glDrawArraysInstancedEXT(GLenum mode, GLint start, GLsizei count, GLsizei primcount);\nREGAL_DECL void REGAL_CALL plugin_glDrawElementsInstancedEXT(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount);\n#endif\n\n/**\n ** GL_EXT_draw_range_elements\n **/\n\n#if (defined(GL_EXT_DRAW_RANGE_ELEMENTS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_DRAW_RANGE_ELEMENTS)) && !defined(REGAL_NO_ENUM_GL_EXT_DRAW_RANGE_ELEMENTS)\n#define REGAL_NO_ENUM_GL_EXT_DRAW_RANGE_ELEMENTS\n#endif\n\n#if (defined(GL_EXT_DRAW_RANGE_ELEMENTS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_DRAW_RANGE_ELEMENTS)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_DRAW_RANGE_ELEMENTS)\n#define REGAL_NO_TYPEDEF_GL_EXT_DRAW_RANGE_ELEMENTS\n#endif\n\n#if (defined(GL_EXT_DRAW_RANGE_ELEMENTS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_DRAW_RANGE_ELEMENTS)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_DRAW_RANGE_ELEMENTS)\n#define REGAL_NO_NAMESPACE_GL_EXT_DRAW_RANGE_ELEMENTS\n#endif\n\n#if (defined(GL_EXT_DRAW_RANGE_ELEMENTS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_DRAW_RANGE_ELEMENTS)) && !defined(REGAL_NO_PLUGIN_GL_EXT_DRAW_RANGE_ELEMENTS)\n#define REGAL_NO_PLUGIN_GL_EXT_DRAW_RANGE_ELEMENTS\n#endif\n\n#if (defined(GL_EXT_DRAW_RANGE_ELEMENTS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_DRAW_RANGE_ELEMENTS)) && !defined(REGAL_NO_DECLARATION_GL_EXT_DRAW_RANGE_ELEMENTS)\n#define REGAL_NO_DECLARATION_GL_EXT_DRAW_RANGE_ELEMENTS\n#endif\n\n#ifndef GL_EXT_draw_range_elements\n#define GL_EXT_draw_range_elements 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_DRAW_RANGE_ELEMENTS\n#define GL_MAX_ELEMENTS_VERTICES_EXT 0x80e8     /* 33000 */\n#define GL_MAX_ELEMENTS_INDICES_EXT  0x80e9     /* 33001 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_DRAW_RANGE_ELEMENTS\ntypedef void (REGAL_CALL *PFNGLDRAWRANGEELEMENTSEXTPROC)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_DRAW_RANGE_ELEMENTS\n#define glDrawRangeElementsEXT              rglDrawRangeElementsEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_DRAW_RANGE_ELEMENTS\nREGAL_DECL void REGAL_CALL glDrawRangeElementsEXT(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_DRAW_RANGE_ELEMENTS\nREGAL_DECL void REGAL_CALL plugin_glDrawRangeElementsEXT(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices);\n#endif\n\n/**\n ** GL_EXT_fog_coord\n **/\n\n#if (defined(GL_EXT_FOG_COORD) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_FOG_COORD)) && !defined(REGAL_NO_ENUM_GL_EXT_FOG_COORD)\n#define REGAL_NO_ENUM_GL_EXT_FOG_COORD\n#endif\n\n#if (defined(GL_EXT_FOG_COORD) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_FOG_COORD)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_FOG_COORD)\n#define REGAL_NO_TYPEDEF_GL_EXT_FOG_COORD\n#endif\n\n#if (defined(GL_EXT_FOG_COORD) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_FOG_COORD)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_FOG_COORD)\n#define REGAL_NO_NAMESPACE_GL_EXT_FOG_COORD\n#endif\n\n#if (defined(GL_EXT_FOG_COORD) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_FOG_COORD)) && !defined(REGAL_NO_PLUGIN_GL_EXT_FOG_COORD)\n#define REGAL_NO_PLUGIN_GL_EXT_FOG_COORD\n#endif\n\n#if (defined(GL_EXT_FOG_COORD) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_FOG_COORD)) && !defined(REGAL_NO_DECLARATION_GL_EXT_FOG_COORD)\n#define REGAL_NO_DECLARATION_GL_EXT_FOG_COORD\n#endif\n\n#ifndef GL_EXT_fog_coord\n#define GL_EXT_fog_coord 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_FOG_COORD\n#define GL_FOG_COORDINATE_SOURCE_EXT        0x8450     /* 33872 */\n#define GL_FOG_COORDINATE_EXT               0x8451     /* 33873 */\n#define GL_FRAGMENT_DEPTH_EXT               0x8452     /* 33874 */\n#define GL_CURRENT_FOG_COORDINATE_EXT       0x8453     /* 33875 */\n#define GL_FOG_COORDINATE_ARRAY_TYPE_EXT    0x8454     /* 33876 */\n#define GL_FOG_COORDINATE_ARRAY_STRIDE_EXT  0x8455     /* 33877 */\n#define GL_FOG_COORDINATE_ARRAY_POINTER_EXT 0x8456     /* 33878 */\n#define GL_FOG_COORDINATE_ARRAY_EXT         0x8457     /* 33879 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_FOG_COORD\ntypedef void (REGAL_CALL *PFNGLFOGCOORDDEXTPROC)(GLdouble coord);\ntypedef void (REGAL_CALL *PFNGLFOGCOORDDVEXTPROC)(const GLdouble *coord);\ntypedef void (REGAL_CALL *PFNGLFOGCOORDFEXTPROC)(GLfloat coord);\ntypedef void (REGAL_CALL *PFNGLFOGCOORDFVEXTPROC)(const GLfloat *coord);\ntypedef void (REGAL_CALL *PFNGLFOGCOORDPOINTEREXTPROC)(GLenum type, GLsizei stride, const GLvoid *pointer);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_FOG_COORD\n#define glFogCoordPointerEXT                rglFogCoordPointerEXT\n#define glFogCoorddEXT                      rglFogCoorddEXT\n#define glFogCoorddvEXT                     rglFogCoorddvEXT\n#define glFogCoordfEXT                      rglFogCoordfEXT\n#define glFogCoordfvEXT                     rglFogCoordfvEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_FOG_COORD\nREGAL_DECL void REGAL_CALL glFogCoordPointerEXT(GLenum type, GLsizei stride, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL glFogCoorddEXT(GLdouble coord);\nREGAL_DECL void REGAL_CALL glFogCoorddvEXT(const GLdouble *coord);\nREGAL_DECL void REGAL_CALL glFogCoordfEXT(GLfloat coord);\nREGAL_DECL void REGAL_CALL glFogCoordfvEXT(const GLfloat *coord);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_FOG_COORD\nREGAL_DECL void REGAL_CALL plugin_glFogCoordPointerEXT(GLenum type, GLsizei stride, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL plugin_glFogCoorddEXT(GLdouble coord);\nREGAL_DECL void REGAL_CALL plugin_glFogCoorddvEXT(const GLdouble *coord);\nREGAL_DECL void REGAL_CALL plugin_glFogCoordfEXT(GLfloat coord);\nREGAL_DECL void REGAL_CALL plugin_glFogCoordfvEXT(const GLfloat *coord);\n#endif\n\n/**\n ** GL_EXT_fragment_lighting\n **/\n\n#if (defined(GL_EXT_FRAGMENT_LIGHTING) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_FRAGMENT_LIGHTING)) && !defined(REGAL_NO_ENUM_GL_EXT_FRAGMENT_LIGHTING)\n#define REGAL_NO_ENUM_GL_EXT_FRAGMENT_LIGHTING\n#endif\n\n#if (defined(GL_EXT_FRAGMENT_LIGHTING) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_FRAGMENT_LIGHTING)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_FRAGMENT_LIGHTING)\n#define REGAL_NO_TYPEDEF_GL_EXT_FRAGMENT_LIGHTING\n#endif\n\n#if (defined(GL_EXT_FRAGMENT_LIGHTING) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_FRAGMENT_LIGHTING)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_FRAGMENT_LIGHTING)\n#define REGAL_NO_NAMESPACE_GL_EXT_FRAGMENT_LIGHTING\n#endif\n\n#if (defined(GL_EXT_FRAGMENT_LIGHTING) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_FRAGMENT_LIGHTING)) && !defined(REGAL_NO_PLUGIN_GL_EXT_FRAGMENT_LIGHTING)\n#define REGAL_NO_PLUGIN_GL_EXT_FRAGMENT_LIGHTING\n#endif\n\n#if (defined(GL_EXT_FRAGMENT_LIGHTING) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_FRAGMENT_LIGHTING)) && !defined(REGAL_NO_DECLARATION_GL_EXT_FRAGMENT_LIGHTING)\n#define REGAL_NO_DECLARATION_GL_EXT_FRAGMENT_LIGHTING\n#endif\n\n#ifndef GL_EXT_fragment_lighting\n#define GL_EXT_fragment_lighting 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_FRAGMENT_LIGHTING\n#define GL_FRAGMENT_LIGHTING_EXT                         0x8400     /* 33792 */\n#define GL_FRAGMENT_COLOR_MATERIAL_EXT                   0x8401     /* 33793 */\n#define GL_FRAGMENT_COLOR_MATERIAL_FACE_EXT              0x8402     /* 33794 */\n#define GL_FRAGMENT_COLOR_MATERIAL_PARAMETER_EXT         0x8403     /* 33795 */\n#define GL_MAX_FRAGMENT_LIGHTS_EXT                       0x8404     /* 33796 */\n#define GL_MAX_ACTIVE_LIGHTS_EXT                         0x8405     /* 33797 */\n#define GL_CURRENT_RASTER_NORMAL_EXT                     0x8406     /* 33798 */\n#define GL_LIGHT_ENV_MODE_EXT                            0x8407     /* 33799 */\n#define GL_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_EXT         0x8408     /* 33800 */\n#define GL_FRAGMENT_LIGHT_MODEL_TWO_SIDE_EXT             0x8409     /* 33801 */\n#define GL_FRAGMENT_LIGHT_MODEL_AMBIENT_EXT              0x840a     /* 33802 */\n#define GL_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_EXT 0x840b     /* 33803 */\n#define GL_FRAGMENT_LIGHT0_EXT                           0x840c     /* 33804 */\n#define GL_FRAGMENT_LIGHT1_EXT                           0x840d     /* 33805 */\n#define GL_FRAGMENT_LIGHT2_EXT                           0x840e     /* 33806 */\n#define GL_FRAGMENT_LIGHT3_EXT                           0x840f     /* 33807 */\n#define GL_FRAGMENT_LIGHT4_EXT                           0x8410     /* 33808 */\n#define GL_FRAGMENT_LIGHT5_EXT                           0x8411     /* 33809 */\n#define GL_FRAGMENT_LIGHT6_EXT                           0x8412     /* 33810 */\n#define GL_FRAGMENT_LIGHT7_EXT                           0x8413     /* 33811 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_FRAGMENT_LIGHTING\ntypedef void (REGAL_CALL *PFNGLFRAGMENTCOLORMATERIALEXTPROC)(GLenum face, GLenum mode);\ntypedef void (REGAL_CALL *PFNGLFRAGMENTLIGHTFEXTPROC)(GLenum light, GLenum pname, GLfloat param);\ntypedef void (REGAL_CALL *PFNGLFRAGMENTLIGHTFVEXTPROC)(GLenum light, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLFRAGMENTLIGHTIEXTPROC)(GLenum light, GLenum pname, GLint param);\ntypedef void (REGAL_CALL *PFNGLFRAGMENTLIGHTIVEXTPROC)(GLenum light, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLFRAGMENTLIGHTMODELFEXTPROC)(GLenum pname, GLfloat param);\ntypedef void (REGAL_CALL *PFNGLFRAGMENTLIGHTMODELFVEXTPROC)(GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLFRAGMENTLIGHTMODELIEXTPROC)(GLenum pname, GLint param);\ntypedef void (REGAL_CALL *PFNGLFRAGMENTLIGHTMODELIVEXTPROC)(GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLFRAGMENTMATERIALFEXTPROC)(GLenum face, GLenum pname, const GLfloat param);\ntypedef void (REGAL_CALL *PFNGLFRAGMENTMATERIALFVEXTPROC)(GLenum face, GLenum pname, const GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLFRAGMENTMATERIALIEXTPROC)(GLenum face, GLenum pname, const GLint param);\ntypedef void (REGAL_CALL *PFNGLFRAGMENTMATERIALIVEXTPROC)(GLenum face, GLenum pname, const GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETFRAGMENTLIGHTFVEXTPROC)(GLenum light, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETFRAGMENTLIGHTIVEXTPROC)(GLenum light, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETFRAGMENTMATERIALFVEXTPROC)(GLenum face, GLenum pname, const GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETFRAGMENTMATERIALIVEXTPROC)(GLenum face, GLenum pname, const GLint *params);\ntypedef void (REGAL_CALL *PFNGLLIGHTENVIEXTPROC)(GLenum pname, GLint param);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_FRAGMENT_LIGHTING\n#define glFragmentColorMaterialEXT          rglFragmentColorMaterialEXT\n#define glFragmentLightModelfEXT            rglFragmentLightModelfEXT\n#define glFragmentLightModelfvEXT           rglFragmentLightModelfvEXT\n#define glFragmentLightModeliEXT            rglFragmentLightModeliEXT\n#define glFragmentLightModelivEXT           rglFragmentLightModelivEXT\n#define glFragmentLightfEXT                 rglFragmentLightfEXT\n#define glFragmentLightfvEXT                rglFragmentLightfvEXT\n#define glFragmentLightiEXT                 rglFragmentLightiEXT\n#define glFragmentLightivEXT                rglFragmentLightivEXT\n#define glFragmentMaterialfEXT              rglFragmentMaterialfEXT\n#define glFragmentMaterialfvEXT             rglFragmentMaterialfvEXT\n#define glFragmentMaterialiEXT              rglFragmentMaterialiEXT\n#define glFragmentMaterialivEXT             rglFragmentMaterialivEXT\n#define glGetFragmentLightfvEXT             rglGetFragmentLightfvEXT\n#define glGetFragmentLightivEXT             rglGetFragmentLightivEXT\n#define glGetFragmentMaterialfvEXT          rglGetFragmentMaterialfvEXT\n#define glGetFragmentMaterialivEXT          rglGetFragmentMaterialivEXT\n#define glLightEnviEXT                      rglLightEnviEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_FRAGMENT_LIGHTING\nREGAL_DECL void REGAL_CALL glFragmentColorMaterialEXT(GLenum face, GLenum mode);\nREGAL_DECL void REGAL_CALL glFragmentLightModelfEXT(GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL glFragmentLightModelfvEXT(GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glFragmentLightModeliEXT(GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL glFragmentLightModelivEXT(GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glFragmentLightfEXT(GLenum light, GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL glFragmentLightfvEXT(GLenum light, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glFragmentLightiEXT(GLenum light, GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL glFragmentLightivEXT(GLenum light, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glFragmentMaterialfEXT(GLenum face, GLenum pname, const GLfloat param);\nREGAL_DECL void REGAL_CALL glFragmentMaterialfvEXT(GLenum face, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL glFragmentMaterialiEXT(GLenum face, GLenum pname, const GLint param);\nREGAL_DECL void REGAL_CALL glFragmentMaterialivEXT(GLenum face, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL glGetFragmentLightfvEXT(GLenum light, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetFragmentLightivEXT(GLenum light, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetFragmentMaterialfvEXT(GLenum face, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetFragmentMaterialivEXT(GLenum face, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL glLightEnviEXT(GLenum pname, GLint param);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_FRAGMENT_LIGHTING\nREGAL_DECL void REGAL_CALL plugin_glFragmentColorMaterialEXT(GLenum face, GLenum mode);\nREGAL_DECL void REGAL_CALL plugin_glFragmentLightModelfEXT(GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL plugin_glFragmentLightModelfvEXT(GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glFragmentLightModeliEXT(GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL plugin_glFragmentLightModelivEXT(GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glFragmentLightfEXT(GLenum light, GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL plugin_glFragmentLightfvEXT(GLenum light, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glFragmentLightiEXT(GLenum light, GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL plugin_glFragmentLightivEXT(GLenum light, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glFragmentMaterialfEXT(GLenum face, GLenum pname, const GLfloat param);\nREGAL_DECL void REGAL_CALL plugin_glFragmentMaterialfvEXT(GLenum face, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glFragmentMaterialiEXT(GLenum face, GLenum pname, const GLint param);\nREGAL_DECL void REGAL_CALL plugin_glFragmentMaterialivEXT(GLenum face, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetFragmentLightfvEXT(GLenum light, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetFragmentLightivEXT(GLenum light, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetFragmentMaterialfvEXT(GLenum face, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetFragmentMaterialivEXT(GLenum face, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glLightEnviEXT(GLenum pname, GLint param);\n#endif\n\n/**\n ** GL_EXT_framebuffer_blit\n **/\n\n#if (defined(GL_EXT_FRAMEBUFFER_BLIT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_FRAMEBUFFER_BLIT)) && !defined(REGAL_NO_ENUM_GL_EXT_FRAMEBUFFER_BLIT)\n#define REGAL_NO_ENUM_GL_EXT_FRAMEBUFFER_BLIT\n#endif\n\n#if (defined(GL_EXT_FRAMEBUFFER_BLIT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_FRAMEBUFFER_BLIT)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_FRAMEBUFFER_BLIT)\n#define REGAL_NO_TYPEDEF_GL_EXT_FRAMEBUFFER_BLIT\n#endif\n\n#if (defined(GL_EXT_FRAMEBUFFER_BLIT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_FRAMEBUFFER_BLIT)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_FRAMEBUFFER_BLIT)\n#define REGAL_NO_NAMESPACE_GL_EXT_FRAMEBUFFER_BLIT\n#endif\n\n#if (defined(GL_EXT_FRAMEBUFFER_BLIT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_FRAMEBUFFER_BLIT)) && !defined(REGAL_NO_PLUGIN_GL_EXT_FRAMEBUFFER_BLIT)\n#define REGAL_NO_PLUGIN_GL_EXT_FRAMEBUFFER_BLIT\n#endif\n\n#if (defined(GL_EXT_FRAMEBUFFER_BLIT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_FRAMEBUFFER_BLIT)) && !defined(REGAL_NO_DECLARATION_GL_EXT_FRAMEBUFFER_BLIT)\n#define REGAL_NO_DECLARATION_GL_EXT_FRAMEBUFFER_BLIT\n#endif\n\n#ifndef GL_EXT_framebuffer_blit\n#define GL_EXT_framebuffer_blit 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_FRAMEBUFFER_BLIT\n#define GL_DRAW_FRAMEBUFFER_BINDING_EXT 0x8ca6     /* 36006 */\n#define GL_READ_FRAMEBUFFER_EXT         0x8ca8     /* 36008 */\n#define GL_DRAW_FRAMEBUFFER_EXT         0x8ca9     /* 36009 */\n#define GL_READ_FRAMEBUFFER_BINDING_EXT 0x8caa     /* 36010 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_FRAMEBUFFER_BLIT\ntypedef void (REGAL_CALL *PFNGLBLITFRAMEBUFFEREXTPROC)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_FRAMEBUFFER_BLIT\n#define glBlitFramebufferEXT                rglBlitFramebufferEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_FRAMEBUFFER_BLIT\nREGAL_DECL void REGAL_CALL glBlitFramebufferEXT(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_FRAMEBUFFER_BLIT\nREGAL_DECL void REGAL_CALL plugin_glBlitFramebufferEXT(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);\n#endif\n\n/**\n ** GL_EXT_framebuffer_multisample\n **/\n\n#if (defined(GL_EXT_FRAMEBUFFER_MULTISAMPLE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_FRAMEBUFFER_MULTISAMPLE)) && !defined(REGAL_NO_ENUM_GL_EXT_FRAMEBUFFER_MULTISAMPLE)\n#define REGAL_NO_ENUM_GL_EXT_FRAMEBUFFER_MULTISAMPLE\n#endif\n\n#if (defined(GL_EXT_FRAMEBUFFER_MULTISAMPLE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_FRAMEBUFFER_MULTISAMPLE)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_FRAMEBUFFER_MULTISAMPLE)\n#define REGAL_NO_TYPEDEF_GL_EXT_FRAMEBUFFER_MULTISAMPLE\n#endif\n\n#if (defined(GL_EXT_FRAMEBUFFER_MULTISAMPLE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_FRAMEBUFFER_MULTISAMPLE)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_FRAMEBUFFER_MULTISAMPLE)\n#define REGAL_NO_NAMESPACE_GL_EXT_FRAMEBUFFER_MULTISAMPLE\n#endif\n\n#if (defined(GL_EXT_FRAMEBUFFER_MULTISAMPLE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_FRAMEBUFFER_MULTISAMPLE)) && !defined(REGAL_NO_PLUGIN_GL_EXT_FRAMEBUFFER_MULTISAMPLE)\n#define REGAL_NO_PLUGIN_GL_EXT_FRAMEBUFFER_MULTISAMPLE\n#endif\n\n#if (defined(GL_EXT_FRAMEBUFFER_MULTISAMPLE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_FRAMEBUFFER_MULTISAMPLE)) && !defined(REGAL_NO_DECLARATION_GL_EXT_FRAMEBUFFER_MULTISAMPLE)\n#define REGAL_NO_DECLARATION_GL_EXT_FRAMEBUFFER_MULTISAMPLE\n#endif\n\n#ifndef GL_EXT_framebuffer_multisample\n#define GL_EXT_framebuffer_multisample 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_FRAMEBUFFER_MULTISAMPLE\n#define GL_RENDERBUFFER_SAMPLES_EXT               0x8cab     /* 36011 */\n#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT 0x8d56     /* 36182 */\n#define GL_MAX_SAMPLES_EXT                        0x8d57     /* 36183 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_FRAMEBUFFER_MULTISAMPLE\ntypedef void (REGAL_CALL *PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_FRAMEBUFFER_MULTISAMPLE\n#define glRenderbufferStorageMultisampleEXT rglRenderbufferStorageMultisampleEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_FRAMEBUFFER_MULTISAMPLE\nREGAL_DECL void REGAL_CALL glRenderbufferStorageMultisampleEXT(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_FRAMEBUFFER_MULTISAMPLE\nREGAL_DECL void REGAL_CALL plugin_glRenderbufferStorageMultisampleEXT(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);\n#endif\n\n/**\n ** GL_EXT_framebuffer_multisample_blit_scaled\n **/\n\n#if (defined(GL_EXT_FRAMEBUFFER_MULTISAMPLE_BLIT_SCALED) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_FRAMEBUFFER_MULTISAMPLE_BLIT_SCALED)) && !defined(REGAL_NO_ENUM_GL_EXT_FRAMEBUFFER_MULTISAMPLE_BLIT_SCALED)\n#define REGAL_NO_ENUM_GL_EXT_FRAMEBUFFER_MULTISAMPLE_BLIT_SCALED\n#endif\n\n#if (defined(GL_EXT_FRAMEBUFFER_MULTISAMPLE_BLIT_SCALED) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_FRAMEBUFFER_MULTISAMPLE_BLIT_SCALED)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_FRAMEBUFFER_MULTISAMPLE_BLIT_SCALED)\n#define REGAL_NO_TYPEDEF_GL_EXT_FRAMEBUFFER_MULTISAMPLE_BLIT_SCALED\n#endif\n\n#if (defined(GL_EXT_FRAMEBUFFER_MULTISAMPLE_BLIT_SCALED) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_FRAMEBUFFER_MULTISAMPLE_BLIT_SCALED)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_FRAMEBUFFER_MULTISAMPLE_BLIT_SCALED)\n#define REGAL_NO_NAMESPACE_GL_EXT_FRAMEBUFFER_MULTISAMPLE_BLIT_SCALED\n#endif\n\n#if (defined(GL_EXT_FRAMEBUFFER_MULTISAMPLE_BLIT_SCALED) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_FRAMEBUFFER_MULTISAMPLE_BLIT_SCALED)) && !defined(REGAL_NO_PLUGIN_GL_EXT_FRAMEBUFFER_MULTISAMPLE_BLIT_SCALED)\n#define REGAL_NO_PLUGIN_GL_EXT_FRAMEBUFFER_MULTISAMPLE_BLIT_SCALED\n#endif\n\n#if (defined(GL_EXT_FRAMEBUFFER_MULTISAMPLE_BLIT_SCALED) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_FRAMEBUFFER_MULTISAMPLE_BLIT_SCALED)) && !defined(REGAL_NO_DECLARATION_GL_EXT_FRAMEBUFFER_MULTISAMPLE_BLIT_SCALED)\n#define REGAL_NO_DECLARATION_GL_EXT_FRAMEBUFFER_MULTISAMPLE_BLIT_SCALED\n#endif\n\n#ifndef GL_EXT_framebuffer_multisample_blit_scaled\n#define GL_EXT_framebuffer_multisample_blit_scaled 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_FRAMEBUFFER_MULTISAMPLE_BLIT_SCALED\n#define GL_SCALED_RESOLVE_FASTEST_EXT 0x90ba     /* 37050 */\n#define GL_SCALED_RESOLVE_NICEST_EXT  0x90bb     /* 37051 */\n#endif\n\n/**\n ** GL_EXT_framebuffer_object\n **/\n\n#if (defined(GL_EXT_FRAMEBUFFER_OBJECT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_FRAMEBUFFER_OBJECT)) && !defined(REGAL_NO_ENUM_GL_EXT_FRAMEBUFFER_OBJECT)\n#define REGAL_NO_ENUM_GL_EXT_FRAMEBUFFER_OBJECT\n#endif\n\n#if (defined(GL_EXT_FRAMEBUFFER_OBJECT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_FRAMEBUFFER_OBJECT)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_FRAMEBUFFER_OBJECT)\n#define REGAL_NO_TYPEDEF_GL_EXT_FRAMEBUFFER_OBJECT\n#endif\n\n#if (defined(GL_EXT_FRAMEBUFFER_OBJECT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_FRAMEBUFFER_OBJECT)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_FRAMEBUFFER_OBJECT)\n#define REGAL_NO_NAMESPACE_GL_EXT_FRAMEBUFFER_OBJECT\n#endif\n\n#if (defined(GL_EXT_FRAMEBUFFER_OBJECT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_FRAMEBUFFER_OBJECT)) && !defined(REGAL_NO_PLUGIN_GL_EXT_FRAMEBUFFER_OBJECT)\n#define REGAL_NO_PLUGIN_GL_EXT_FRAMEBUFFER_OBJECT\n#endif\n\n#if (defined(GL_EXT_FRAMEBUFFER_OBJECT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_FRAMEBUFFER_OBJECT)) && !defined(REGAL_NO_DECLARATION_GL_EXT_FRAMEBUFFER_OBJECT)\n#define REGAL_NO_DECLARATION_GL_EXT_FRAMEBUFFER_OBJECT\n#endif\n\n#ifndef GL_EXT_framebuffer_object\n#define GL_EXT_framebuffer_object 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_FRAMEBUFFER_OBJECT\n#define GL_INVALID_FRAMEBUFFER_OPERATION_EXT                0x506      /* 1286 */\n#define GL_MAX_RENDERBUFFER_SIZE_EXT                        0x84e8     /* 34024 */\n#define GL_FRAMEBUFFER_BINDING_EXT                          0x8ca6     /* 36006 */\n#define GL_RENDERBUFFER_BINDING_EXT                         0x8ca7     /* 36007 */\n#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT           0x8cd0     /* 36048 */\n#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT           0x8cd1     /* 36049 */\n#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT         0x8cd2     /* 36050 */\n#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT 0x8cd3     /* 36051 */\n#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT    0x8cd4     /* 36052 */\n#define GL_FRAMEBUFFER_COMPLETE_EXT                         0x8cd5     /* 36053 */\n#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT            0x8cd6     /* 36054 */\n#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT    0x8cd7     /* 36055 */\n#define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT            0x8cd9     /* 36057 */\n#define GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT               0x8cda     /* 36058 */\n#define GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT           0x8cdb     /* 36059 */\n#define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT           0x8cdc     /* 36060 */\n#define GL_FRAMEBUFFER_UNSUPPORTED_EXT                      0x8cdd     /* 36061 */\n#define GL_MAX_COLOR_ATTACHMENTS_EXT                        0x8cdf     /* 36063 */\n#define GL_COLOR_ATTACHMENT0_EXT                            0x8ce0     /* 36064 */\n#define GL_COLOR_ATTACHMENT1_EXT                            0x8ce1     /* 36065 */\n#define GL_COLOR_ATTACHMENT2_EXT                            0x8ce2     /* 36066 */\n#define GL_COLOR_ATTACHMENT3_EXT                            0x8ce3     /* 36067 */\n#define GL_COLOR_ATTACHMENT4_EXT                            0x8ce4     /* 36068 */\n#define GL_COLOR_ATTACHMENT5_EXT                            0x8ce5     /* 36069 */\n#define GL_COLOR_ATTACHMENT6_EXT                            0x8ce6     /* 36070 */\n#define GL_COLOR_ATTACHMENT7_EXT                            0x8ce7     /* 36071 */\n#define GL_COLOR_ATTACHMENT8_EXT                            0x8ce8     /* 36072 */\n#define GL_COLOR_ATTACHMENT9_EXT                            0x8ce9     /* 36073 */\n#define GL_COLOR_ATTACHMENT10_EXT                           0x8cea     /* 36074 */\n#define GL_COLOR_ATTACHMENT11_EXT                           0x8ceb     /* 36075 */\n#define GL_COLOR_ATTACHMENT12_EXT                           0x8cec     /* 36076 */\n#define GL_COLOR_ATTACHMENT13_EXT                           0x8ced     /* 36077 */\n#define GL_COLOR_ATTACHMENT14_EXT                           0x8cee     /* 36078 */\n#define GL_COLOR_ATTACHMENT15_EXT                           0x8cef     /* 36079 */\n#define GL_DEPTH_ATTACHMENT_EXT                             0x8d00     /* 36096 */\n#define GL_STENCIL_ATTACHMENT_EXT                           0x8d20     /* 36128 */\n#define GL_FRAMEBUFFER_EXT                                  0x8d40     /* 36160 */\n#define GL_RENDERBUFFER_EXT                                 0x8d41     /* 36161 */\n#define GL_RENDERBUFFER_WIDTH_EXT                           0x8d42     /* 36162 */\n#define GL_RENDERBUFFER_HEIGHT_EXT                          0x8d43     /* 36163 */\n#define GL_RENDERBUFFER_INTERNAL_FORMAT_EXT                 0x8d44     /* 36164 */\n#define GL_STENCIL_INDEX1_EXT                               0x8d46     /* 36166 */\n#define GL_STENCIL_INDEX4_EXT                               0x8d47     /* 36167 */\n#define GL_STENCIL_INDEX8_EXT                               0x8d48     /* 36168 */\n#define GL_STENCIL_INDEX16_EXT                              0x8d49     /* 36169 */\n#define GL_RENDERBUFFER_RED_SIZE_EXT                        0x8d50     /* 36176 */\n#define GL_RENDERBUFFER_GREEN_SIZE_EXT                      0x8d51     /* 36177 */\n#define GL_RENDERBUFFER_BLUE_SIZE_EXT                       0x8d52     /* 36178 */\n#define GL_RENDERBUFFER_ALPHA_SIZE_EXT                      0x8d53     /* 36179 */\n#define GL_RENDERBUFFER_DEPTH_SIZE_EXT                      0x8d54     /* 36180 */\n#define GL_RENDERBUFFER_STENCIL_SIZE_EXT                    0x8d55     /* 36181 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_FRAMEBUFFER_OBJECT\ntypedef GLboolean (REGAL_CALL *PFNGLISFRAMEBUFFEREXTPROC)(GLuint framebuffer);\ntypedef GLboolean (REGAL_CALL *PFNGLISRENDERBUFFEREXTPROC)(GLuint renderbuffer);\ntypedef GLenum (REGAL_CALL *PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC)(GLenum target);\ntypedef void (REGAL_CALL *PFNGLBINDFRAMEBUFFEREXTPROC)(GLenum target, GLuint framebuffer);\ntypedef void (REGAL_CALL *PFNGLBINDRENDERBUFFEREXTPROC)(GLenum target, GLuint renderbuffer);\ntypedef void (REGAL_CALL *PFNGLDELETEFRAMEBUFFERSEXTPROC)(GLsizei n, const GLuint *framebuffers);\ntypedef void (REGAL_CALL *PFNGLDELETERENDERBUFFERSEXTPROC)(GLsizei n, const GLuint *renderbuffers);\ntypedef void (REGAL_CALL *PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC)(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);\ntypedef void (REGAL_CALL *PFNGLFRAMEBUFFERTEXTURE1DEXTPROC)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);\ntypedef void (REGAL_CALL *PFNGLFRAMEBUFFERTEXTURE2DEXTPROC)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);\ntypedef void (REGAL_CALL *PFNGLFRAMEBUFFERTEXTURE3DEXTPROC)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);\ntypedef void (REGAL_CALL *PFNGLGENERATEMIPMAPEXTPROC)(GLenum target);\ntypedef void (REGAL_CALL *PFNGLGENFRAMEBUFFERSEXTPROC)(GLsizei n, GLuint *framebuffers);\ntypedef void (REGAL_CALL *PFNGLGENRENDERBUFFERSEXTPROC)(GLsizei n, GLuint *renderbuffers);\ntypedef void (REGAL_CALL *PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC)(GLenum target, GLenum attachment, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC)(GLenum target, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLRENDERBUFFERSTORAGEEXTPROC)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_FRAMEBUFFER_OBJECT\n#define glBindFramebufferEXT                rglBindFramebufferEXT\n#define glBindRenderbufferEXT               rglBindRenderbufferEXT\n#define glCheckFramebufferStatusEXT         rglCheckFramebufferStatusEXT\n#define glDeleteFramebuffersEXT             rglDeleteFramebuffersEXT\n#define glDeleteRenderbuffersEXT            rglDeleteRenderbuffersEXT\n#define glFramebufferRenderbufferEXT        rglFramebufferRenderbufferEXT\n#define glFramebufferTexture1DEXT           rglFramebufferTexture1DEXT\n#define glFramebufferTexture2DEXT           rglFramebufferTexture2DEXT\n#define glFramebufferTexture3DEXT           rglFramebufferTexture3DEXT\n#define glGenFramebuffersEXT                rglGenFramebuffersEXT\n#define glGenRenderbuffersEXT               rglGenRenderbuffersEXT\n#define glGenerateMipmapEXT                 rglGenerateMipmapEXT\n#define glGetFramebufferAttachmentParameterivEXT rglGetFramebufferAttachmentParameterivEXT\n#define glGetRenderbufferParameterivEXT     rglGetRenderbufferParameterivEXT\n#define glIsFramebufferEXT                  rglIsFramebufferEXT\n#define glIsRenderbufferEXT                 rglIsRenderbufferEXT\n#define glRenderbufferStorageEXT            rglRenderbufferStorageEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_FRAMEBUFFER_OBJECT\nREGAL_DECL GLboolean REGAL_CALL glIsFramebufferEXT(GLuint framebuffer);\nREGAL_DECL GLboolean REGAL_CALL glIsRenderbufferEXT(GLuint renderbuffer);\nREGAL_DECL GLenum REGAL_CALL glCheckFramebufferStatusEXT(GLenum target);\nREGAL_DECL void REGAL_CALL glBindFramebufferEXT(GLenum target, GLuint framebuffer);\nREGAL_DECL void REGAL_CALL glBindRenderbufferEXT(GLenum target, GLuint renderbuffer);\nREGAL_DECL void REGAL_CALL glDeleteFramebuffersEXT(GLsizei n, const GLuint *framebuffers);\nREGAL_DECL void REGAL_CALL glDeleteRenderbuffersEXT(GLsizei n, const GLuint *renderbuffers);\nREGAL_DECL void REGAL_CALL glFramebufferRenderbufferEXT(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);\nREGAL_DECL void REGAL_CALL glFramebufferTexture1DEXT(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);\nREGAL_DECL void REGAL_CALL glFramebufferTexture2DEXT(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);\nREGAL_DECL void REGAL_CALL glFramebufferTexture3DEXT(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);\nREGAL_DECL void REGAL_CALL glGenFramebuffersEXT(GLsizei n, GLuint *framebuffers);\nREGAL_DECL void REGAL_CALL glGenRenderbuffersEXT(GLsizei n, GLuint *renderbuffers);\nREGAL_DECL void REGAL_CALL glGenerateMipmapEXT(GLenum target);\nREGAL_DECL void REGAL_CALL glGetFramebufferAttachmentParameterivEXT(GLenum target, GLenum attachment, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetRenderbufferParameterivEXT(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glRenderbufferStorageEXT(GLenum target, GLenum internalformat, GLsizei width, GLsizei height);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_FRAMEBUFFER_OBJECT\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsFramebufferEXT(GLuint framebuffer);\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsRenderbufferEXT(GLuint renderbuffer);\nREGAL_DECL GLenum REGAL_CALL plugin_glCheckFramebufferStatusEXT(GLenum target);\nREGAL_DECL void REGAL_CALL plugin_glBindFramebufferEXT(GLenum target, GLuint framebuffer);\nREGAL_DECL void REGAL_CALL plugin_glBindRenderbufferEXT(GLenum target, GLuint renderbuffer);\nREGAL_DECL void REGAL_CALL plugin_glDeleteFramebuffersEXT(GLsizei n, const GLuint *framebuffers);\nREGAL_DECL void REGAL_CALL plugin_glDeleteRenderbuffersEXT(GLsizei n, const GLuint *renderbuffers);\nREGAL_DECL void REGAL_CALL plugin_glFramebufferRenderbufferEXT(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);\nREGAL_DECL void REGAL_CALL plugin_glFramebufferTexture1DEXT(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);\nREGAL_DECL void REGAL_CALL plugin_glFramebufferTexture2DEXT(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);\nREGAL_DECL void REGAL_CALL plugin_glFramebufferTexture3DEXT(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);\nREGAL_DECL void REGAL_CALL plugin_glGenFramebuffersEXT(GLsizei n, GLuint *framebuffers);\nREGAL_DECL void REGAL_CALL plugin_glGenRenderbuffersEXT(GLsizei n, GLuint *renderbuffers);\nREGAL_DECL void REGAL_CALL plugin_glGenerateMipmapEXT(GLenum target);\nREGAL_DECL void REGAL_CALL plugin_glGetFramebufferAttachmentParameterivEXT(GLenum target, GLenum attachment, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetRenderbufferParameterivEXT(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glRenderbufferStorageEXT(GLenum target, GLenum internalformat, GLsizei width, GLsizei height);\n#endif\n\n/**\n ** GL_EXT_framebuffer_sRGB\n **/\n\n#if (defined(GL_EXT_FRAMEBUFFER_SRGB) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_FRAMEBUFFER_SRGB)) && !defined(REGAL_NO_ENUM_GL_EXT_FRAMEBUFFER_SRGB)\n#define REGAL_NO_ENUM_GL_EXT_FRAMEBUFFER_SRGB\n#endif\n\n#if (defined(GL_EXT_FRAMEBUFFER_SRGB) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_FRAMEBUFFER_SRGB)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_FRAMEBUFFER_SRGB)\n#define REGAL_NO_TYPEDEF_GL_EXT_FRAMEBUFFER_SRGB\n#endif\n\n#if (defined(GL_EXT_FRAMEBUFFER_SRGB) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_FRAMEBUFFER_SRGB)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_FRAMEBUFFER_SRGB)\n#define REGAL_NO_NAMESPACE_GL_EXT_FRAMEBUFFER_SRGB\n#endif\n\n#if (defined(GL_EXT_FRAMEBUFFER_SRGB) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_FRAMEBUFFER_SRGB)) && !defined(REGAL_NO_PLUGIN_GL_EXT_FRAMEBUFFER_SRGB)\n#define REGAL_NO_PLUGIN_GL_EXT_FRAMEBUFFER_SRGB\n#endif\n\n#if (defined(GL_EXT_FRAMEBUFFER_SRGB) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_FRAMEBUFFER_SRGB)) && !defined(REGAL_NO_DECLARATION_GL_EXT_FRAMEBUFFER_SRGB)\n#define REGAL_NO_DECLARATION_GL_EXT_FRAMEBUFFER_SRGB\n#endif\n\n#ifndef GL_EXT_framebuffer_sRGB\n#define GL_EXT_framebuffer_sRGB 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_FRAMEBUFFER_SRGB\n#define GL_FRAMEBUFFER_SRGB_EXT         0x8db9     /* 36281 */\n#define GL_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x8dba     /* 36282 */\n#endif\n\n/**\n ** GL_EXT_geometry_shader4\n **/\n\n#if (defined(GL_EXT_GEOMETRY_SHADER4) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_GEOMETRY_SHADER4)) && !defined(REGAL_NO_ENUM_GL_EXT_GEOMETRY_SHADER4)\n#define REGAL_NO_ENUM_GL_EXT_GEOMETRY_SHADER4\n#endif\n\n#if (defined(GL_EXT_GEOMETRY_SHADER4) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_GEOMETRY_SHADER4)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_GEOMETRY_SHADER4)\n#define REGAL_NO_TYPEDEF_GL_EXT_GEOMETRY_SHADER4\n#endif\n\n#if (defined(GL_EXT_GEOMETRY_SHADER4) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_GEOMETRY_SHADER4)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_GEOMETRY_SHADER4)\n#define REGAL_NO_NAMESPACE_GL_EXT_GEOMETRY_SHADER4\n#endif\n\n#if (defined(GL_EXT_GEOMETRY_SHADER4) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_GEOMETRY_SHADER4)) && !defined(REGAL_NO_PLUGIN_GL_EXT_GEOMETRY_SHADER4)\n#define REGAL_NO_PLUGIN_GL_EXT_GEOMETRY_SHADER4\n#endif\n\n#if (defined(GL_EXT_GEOMETRY_SHADER4) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_GEOMETRY_SHADER4)) && !defined(REGAL_NO_DECLARATION_GL_EXT_GEOMETRY_SHADER4)\n#define REGAL_NO_DECLARATION_GL_EXT_GEOMETRY_SHADER4\n#endif\n\n#ifndef GL_EXT_geometry_shader4\n#define GL_EXT_geometry_shader4 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_GEOMETRY_SHADER4\n#define GL_PROGRAM_POINT_SIZE_EXT                   0x8642     /* 34370 */\n#define GL_MAX_VARYING_COMPONENTS_EXT               0x8b4b     /* 35659 */\n#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT     0x8c29     /* 35881 */\n#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT 0x8cd4     /* 36052 */\n#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT       0x8da7     /* 36263 */\n#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT 0x8da8     /* 36264 */\n#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT   0x8da9     /* 36265 */\n#define GL_GEOMETRY_SHADER_EXT                      0x8dd9     /* 36313 */\n#define GL_GEOMETRY_VERTICES_OUT_EXT                0x8dda     /* 36314 */\n#define GL_GEOMETRY_INPUT_TYPE_EXT                  0x8ddb     /* 36315 */\n#define GL_GEOMETRY_OUTPUT_TYPE_EXT                 0x8ddc     /* 36316 */\n#define GL_MAX_GEOMETRY_VARYING_COMPONENTS_EXT      0x8ddd     /* 36317 */\n#define GL_MAX_VERTEX_VARYING_COMPONENTS_EXT        0x8dde     /* 36318 */\n#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT      0x8ddf     /* 36319 */\n#define GL_MAX_GEOMETRY_OUTPUT_VERTICES_EXT         0x8de0     /* 36320 */\n#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT 0x8de1     /* 36321 */\n#define GL_LINES_ADJACENCY_EXT                      0xa        /* 10 */\n#define GL_LINE_STRIP_ADJACENCY_EXT                 0xb        /* 11 */\n#define GL_TRIANGLES_ADJACENCY_EXT                  0xc        /* 12 */\n#define GL_TRIANGLE_STRIP_ADJACENCY_EXT             0xd        /* 13 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_GEOMETRY_SHADER4\ntypedef void (REGAL_CALL *PFNGLFRAMEBUFFERTEXTUREEXTPROC)(GLenum target, GLenum attachment, GLuint texture, GLint level);\ntypedef void (REGAL_CALL *PFNGLFRAMEBUFFERTEXTUREFACEEXTPROC)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face);\ntypedef void (REGAL_CALL *PFNGLPROGRAMPARAMETERIEXTPROC)(GLuint program, GLenum pname, GLint value);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_GEOMETRY_SHADER4\n#define glFramebufferTextureEXT             rglFramebufferTextureEXT\n#define glFramebufferTextureFaceEXT         rglFramebufferTextureFaceEXT\n#define glProgramParameteriEXT              rglProgramParameteriEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_GEOMETRY_SHADER4\nREGAL_DECL void REGAL_CALL glFramebufferTextureEXT(GLenum target, GLenum attachment, GLuint texture, GLint level);\nREGAL_DECL void REGAL_CALL glFramebufferTextureFaceEXT(GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face);\nREGAL_DECL void REGAL_CALL glProgramParameteriEXT(GLuint program, GLenum pname, GLint value);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_GEOMETRY_SHADER4\nREGAL_DECL void REGAL_CALL plugin_glFramebufferTextureEXT(GLenum target, GLenum attachment, GLuint texture, GLint level);\nREGAL_DECL void REGAL_CALL plugin_glFramebufferTextureFaceEXT(GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face);\nREGAL_DECL void REGAL_CALL plugin_glProgramParameteriEXT(GLuint program, GLenum pname, GLint value);\n#endif\n\n/**\n ** GL_EXT_gpu_program_parameters\n **/\n\n#if (defined(GL_EXT_GPU_PROGRAM_PARAMETERS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_GPU_PROGRAM_PARAMETERS)) && !defined(REGAL_NO_ENUM_GL_EXT_GPU_PROGRAM_PARAMETERS)\n#define REGAL_NO_ENUM_GL_EXT_GPU_PROGRAM_PARAMETERS\n#endif\n\n#if (defined(GL_EXT_GPU_PROGRAM_PARAMETERS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_GPU_PROGRAM_PARAMETERS)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_GPU_PROGRAM_PARAMETERS)\n#define REGAL_NO_TYPEDEF_GL_EXT_GPU_PROGRAM_PARAMETERS\n#endif\n\n#if (defined(GL_EXT_GPU_PROGRAM_PARAMETERS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_GPU_PROGRAM_PARAMETERS)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_GPU_PROGRAM_PARAMETERS)\n#define REGAL_NO_NAMESPACE_GL_EXT_GPU_PROGRAM_PARAMETERS\n#endif\n\n#if (defined(GL_EXT_GPU_PROGRAM_PARAMETERS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_GPU_PROGRAM_PARAMETERS)) && !defined(REGAL_NO_PLUGIN_GL_EXT_GPU_PROGRAM_PARAMETERS)\n#define REGAL_NO_PLUGIN_GL_EXT_GPU_PROGRAM_PARAMETERS\n#endif\n\n#if (defined(GL_EXT_GPU_PROGRAM_PARAMETERS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_GPU_PROGRAM_PARAMETERS)) && !defined(REGAL_NO_DECLARATION_GL_EXT_GPU_PROGRAM_PARAMETERS)\n#define REGAL_NO_DECLARATION_GL_EXT_GPU_PROGRAM_PARAMETERS\n#endif\n\n#ifndef GL_EXT_gpu_program_parameters\n#define GL_EXT_gpu_program_parameters 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_GPU_PROGRAM_PARAMETERS\ntypedef void (REGAL_CALL *PFNGLPROGRAMENVPARAMETERS4FVEXTPROC)(GLenum target, GLuint index, GLsizei count, const GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLPROGRAMLOCALPARAMETERS4FVEXTPROC)(GLenum target, GLuint index, GLsizei count, const GLfloat *params);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_GPU_PROGRAM_PARAMETERS\n#define glProgramEnvParameters4fvEXT        rglProgramEnvParameters4fvEXT\n#define glProgramLocalParameters4fvEXT      rglProgramLocalParameters4fvEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_GPU_PROGRAM_PARAMETERS\nREGAL_DECL void REGAL_CALL glProgramEnvParameters4fvEXT(GLenum target, GLuint index, GLsizei count, const GLfloat *params);\nREGAL_DECL void REGAL_CALL glProgramLocalParameters4fvEXT(GLenum target, GLuint index, GLsizei count, const GLfloat *params);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_GPU_PROGRAM_PARAMETERS\nREGAL_DECL void REGAL_CALL plugin_glProgramEnvParameters4fvEXT(GLenum target, GLuint index, GLsizei count, const GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glProgramLocalParameters4fvEXT(GLenum target, GLuint index, GLsizei count, const GLfloat *params);\n#endif\n\n/**\n ** GL_EXT_gpu_shader4\n **/\n\n#if (defined(GL_EXT_GPU_SHADER4) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_GPU_SHADER4)) && !defined(REGAL_NO_ENUM_GL_EXT_GPU_SHADER4)\n#define REGAL_NO_ENUM_GL_EXT_GPU_SHADER4\n#endif\n\n#if (defined(GL_EXT_GPU_SHADER4) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_GPU_SHADER4)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_GPU_SHADER4)\n#define REGAL_NO_TYPEDEF_GL_EXT_GPU_SHADER4\n#endif\n\n#if (defined(GL_EXT_GPU_SHADER4) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_GPU_SHADER4)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_GPU_SHADER4)\n#define REGAL_NO_NAMESPACE_GL_EXT_GPU_SHADER4\n#endif\n\n#if (defined(GL_EXT_GPU_SHADER4) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_GPU_SHADER4)) && !defined(REGAL_NO_PLUGIN_GL_EXT_GPU_SHADER4)\n#define REGAL_NO_PLUGIN_GL_EXT_GPU_SHADER4\n#endif\n\n#if (defined(GL_EXT_GPU_SHADER4) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_GPU_SHADER4)) && !defined(REGAL_NO_DECLARATION_GL_EXT_GPU_SHADER4)\n#define REGAL_NO_DECLARATION_GL_EXT_GPU_SHADER4\n#endif\n\n#ifndef GL_EXT_gpu_shader4\n#define GL_EXT_gpu_shader4 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_GPU_SHADER4\n#define GL_VERTEX_ATTRIB_ARRAY_INTEGER_EXT   0x88fd     /* 35069 */\n#define GL_SAMPLER_1D_ARRAY_EXT              0x8dc0     /* 36288 */\n#define GL_SAMPLER_2D_ARRAY_EXT              0x8dc1     /* 36289 */\n#define GL_SAMPLER_BUFFER_EXT                0x8dc2     /* 36290 */\n#define GL_SAMPLER_1D_ARRAY_SHADOW_EXT       0x8dc3     /* 36291 */\n#define GL_SAMPLER_2D_ARRAY_SHADOW_EXT       0x8dc4     /* 36292 */\n#define GL_SAMPLER_CUBE_SHADOW_EXT           0x8dc5     /* 36293 */\n#define GL_UNSIGNED_INT_VEC2_EXT             0x8dc6     /* 36294 */\n#define GL_UNSIGNED_INT_VEC3_EXT             0x8dc7     /* 36295 */\n#define GL_UNSIGNED_INT_VEC4_EXT             0x8dc8     /* 36296 */\n#define GL_INT_SAMPLER_1D_EXT                0x8dc9     /* 36297 */\n#define GL_INT_SAMPLER_2D_EXT                0x8dca     /* 36298 */\n#define GL_INT_SAMPLER_3D_EXT                0x8dcb     /* 36299 */\n#define GL_INT_SAMPLER_CUBE_EXT              0x8dcc     /* 36300 */\n#define GL_INT_SAMPLER_2D_RECT_EXT           0x8dcd     /* 36301 */\n#define GL_INT_SAMPLER_1D_ARRAY_EXT          0x8dce     /* 36302 */\n#define GL_INT_SAMPLER_2D_ARRAY_EXT          0x8dcf     /* 36303 */\n#define GL_INT_SAMPLER_BUFFER_EXT            0x8dd0     /* 36304 */\n#define GL_UNSIGNED_INT_SAMPLER_1D_EXT       0x8dd1     /* 36305 */\n#define GL_UNSIGNED_INT_SAMPLER_2D_EXT       0x8dd2     /* 36306 */\n#define GL_UNSIGNED_INT_SAMPLER_3D_EXT       0x8dd3     /* 36307 */\n#define GL_UNSIGNED_INT_SAMPLER_CUBE_EXT     0x8dd4     /* 36308 */\n#define GL_UNSIGNED_INT_SAMPLER_2D_RECT_EXT  0x8dd5     /* 36309 */\n#define GL_UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT 0x8dd6     /* 36310 */\n#define GL_UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT 0x8dd7     /* 36311 */\n#define GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT   0x8dd8     /* 36312 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_GPU_SHADER4\ntypedef GLint (REGAL_CALL *PFNGLGETFRAGDATALOCATIONEXTPROC)(GLuint program, const GLchar *name);\ntypedef void (REGAL_CALL *PFNGLBINDFRAGDATALOCATIONEXTPROC)(GLuint program, GLuint color, const GLchar *name);\ntypedef void (REGAL_CALL *PFNGLGETUNIFORMUIVEXTPROC)(GLuint program, GLint location, GLuint *params);\ntypedef void (REGAL_CALL *PFNGLGETVERTEXATTRIBIIVEXTPROC)(GLuint index, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETVERTEXATTRIBIUIVEXTPROC)(GLuint index, GLenum pname, GLuint *params);\ntypedef void (REGAL_CALL *PFNGLUNIFORM1UIEXTPROC)(GLint location, GLuint v0);\ntypedef void (REGAL_CALL *PFNGLUNIFORM1UIVEXTPROC)(GLint location, GLsizei count, const GLuint *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORM2UIEXTPROC)(GLint location, GLuint v0, GLuint v1);\ntypedef void (REGAL_CALL *PFNGLUNIFORM2UIVEXTPROC)(GLint location, GLsizei count, const GLuint *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORM3UIEXTPROC)(GLint location, GLuint v0, GLuint v1, GLuint v2);\ntypedef void (REGAL_CALL *PFNGLUNIFORM3UIVEXTPROC)(GLint location, GLsizei count, const GLuint *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORM4UIEXTPROC)(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);\ntypedef void (REGAL_CALL *PFNGLUNIFORM4UIVEXTPROC)(GLint location, GLsizei count, const GLuint *value);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBI1IEXTPROC)(GLuint index, GLint x);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBI1IVEXTPROC)(GLuint index, const GLint *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBI1UIEXTPROC)(GLuint index, GLuint x);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBI1UIVEXTPROC)(GLuint index, const GLuint *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBI2IEXTPROC)(GLuint index, GLint x, GLint y);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBI2IVEXTPROC)(GLuint index, const GLint *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBI2UIEXTPROC)(GLuint index, GLuint x, GLuint y);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBI2UIVEXTPROC)(GLuint index, const GLuint *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBI3IEXTPROC)(GLuint index, GLint x, GLint y, GLint z);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBI3IVEXTPROC)(GLuint index, const GLint *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBI3UIEXTPROC)(GLuint index, GLuint x, GLuint y, GLuint z);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBI3UIVEXTPROC)(GLuint index, const GLuint *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBI4BVEXTPROC)(GLuint index, const GLbyte *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBI4IEXTPROC)(GLuint index, GLint x, GLint y, GLint z, GLint w);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBI4IVEXTPROC)(GLuint index, const GLint *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBI4SVEXTPROC)(GLuint index, const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBI4UBVEXTPROC)(GLuint index, const GLubyte *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBI4UIEXTPROC)(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBI4UIVEXTPROC)(GLuint index, const GLuint *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBI4USVEXTPROC)(GLuint index, const GLushort *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBIPOINTEREXTPROC)(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_GPU_SHADER4\n#define glBindFragDataLocationEXT           rglBindFragDataLocationEXT\n#define glGetFragDataLocationEXT            rglGetFragDataLocationEXT\n#define glGetUniformuivEXT                  rglGetUniformuivEXT\n#define glGetVertexAttribIivEXT             rglGetVertexAttribIivEXT\n#define glGetVertexAttribIuivEXT            rglGetVertexAttribIuivEXT\n#define glUniform1uiEXT                     rglUniform1uiEXT\n#define glUniform1uivEXT                    rglUniform1uivEXT\n#define glUniform2uiEXT                     rglUniform2uiEXT\n#define glUniform2uivEXT                    rglUniform2uivEXT\n#define glUniform3uiEXT                     rglUniform3uiEXT\n#define glUniform3uivEXT                    rglUniform3uivEXT\n#define glUniform4uiEXT                     rglUniform4uiEXT\n#define glUniform4uivEXT                    rglUniform4uivEXT\n#define glVertexAttribI1iEXT                rglVertexAttribI1iEXT\n#define glVertexAttribI1ivEXT               rglVertexAttribI1ivEXT\n#define glVertexAttribI1uiEXT               rglVertexAttribI1uiEXT\n#define glVertexAttribI1uivEXT              rglVertexAttribI1uivEXT\n#define glVertexAttribI2iEXT                rglVertexAttribI2iEXT\n#define glVertexAttribI2ivEXT               rglVertexAttribI2ivEXT\n#define glVertexAttribI2uiEXT               rglVertexAttribI2uiEXT\n#define glVertexAttribI2uivEXT              rglVertexAttribI2uivEXT\n#define glVertexAttribI3iEXT                rglVertexAttribI3iEXT\n#define glVertexAttribI3ivEXT               rglVertexAttribI3ivEXT\n#define glVertexAttribI3uiEXT               rglVertexAttribI3uiEXT\n#define glVertexAttribI3uivEXT              rglVertexAttribI3uivEXT\n#define glVertexAttribI4bvEXT               rglVertexAttribI4bvEXT\n#define glVertexAttribI4iEXT                rglVertexAttribI4iEXT\n#define glVertexAttribI4ivEXT               rglVertexAttribI4ivEXT\n#define glVertexAttribI4svEXT               rglVertexAttribI4svEXT\n#define glVertexAttribI4ubvEXT              rglVertexAttribI4ubvEXT\n#define glVertexAttribI4uiEXT               rglVertexAttribI4uiEXT\n#define glVertexAttribI4uivEXT              rglVertexAttribI4uivEXT\n#define glVertexAttribI4usvEXT              rglVertexAttribI4usvEXT\n#define glVertexAttribIPointerEXT           rglVertexAttribIPointerEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_GPU_SHADER4\nREGAL_DECL GLint REGAL_CALL glGetFragDataLocationEXT(GLuint program, const GLchar *name);\nREGAL_DECL void REGAL_CALL glBindFragDataLocationEXT(GLuint program, GLuint color, const GLchar *name);\nREGAL_DECL void REGAL_CALL glGetUniformuivEXT(GLuint program, GLint location, GLuint *params);\nREGAL_DECL void REGAL_CALL glGetVertexAttribIivEXT(GLuint index, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetVertexAttribIuivEXT(GLuint index, GLenum pname, GLuint *params);\nREGAL_DECL void REGAL_CALL glUniform1uiEXT(GLint location, GLuint v0);\nREGAL_DECL void REGAL_CALL glUniform1uivEXT(GLint location, GLsizei count, const GLuint *value);\nREGAL_DECL void REGAL_CALL glUniform2uiEXT(GLint location, GLuint v0, GLuint v1);\nREGAL_DECL void REGAL_CALL glUniform2uivEXT(GLint location, GLsizei count, const GLuint *value);\nREGAL_DECL void REGAL_CALL glUniform3uiEXT(GLint location, GLuint v0, GLuint v1, GLuint v2);\nREGAL_DECL void REGAL_CALL glUniform3uivEXT(GLint location, GLsizei count, const GLuint *value);\nREGAL_DECL void REGAL_CALL glUniform4uiEXT(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);\nREGAL_DECL void REGAL_CALL glUniform4uivEXT(GLint location, GLsizei count, const GLuint *value);\nREGAL_DECL void REGAL_CALL glVertexAttribI1iEXT(GLuint index, GLint x);\nREGAL_DECL void REGAL_CALL glVertexAttribI1ivEXT(GLuint index, const GLint *v);\nREGAL_DECL void REGAL_CALL glVertexAttribI1uiEXT(GLuint index, GLuint x);\nREGAL_DECL void REGAL_CALL glVertexAttribI1uivEXT(GLuint index, const GLuint *v);\nREGAL_DECL void REGAL_CALL glVertexAttribI2iEXT(GLuint index, GLint x, GLint y);\nREGAL_DECL void REGAL_CALL glVertexAttribI2ivEXT(GLuint index, const GLint *v);\nREGAL_DECL void REGAL_CALL glVertexAttribI2uiEXT(GLuint index, GLuint x, GLuint y);\nREGAL_DECL void REGAL_CALL glVertexAttribI2uivEXT(GLuint index, const GLuint *v);\nREGAL_DECL void REGAL_CALL glVertexAttribI3iEXT(GLuint index, GLint x, GLint y, GLint z);\nREGAL_DECL void REGAL_CALL glVertexAttribI3ivEXT(GLuint index, const GLint *v);\nREGAL_DECL void REGAL_CALL glVertexAttribI3uiEXT(GLuint index, GLuint x, GLuint y, GLuint z);\nREGAL_DECL void REGAL_CALL glVertexAttribI3uivEXT(GLuint index, const GLuint *v);\nREGAL_DECL void REGAL_CALL glVertexAttribI4bvEXT(GLuint index, const GLbyte *v);\nREGAL_DECL void REGAL_CALL glVertexAttribI4iEXT(GLuint index, GLint x, GLint y, GLint z, GLint w);\nREGAL_DECL void REGAL_CALL glVertexAttribI4ivEXT(GLuint index, const GLint *v);\nREGAL_DECL void REGAL_CALL glVertexAttribI4svEXT(GLuint index, const GLshort *v);\nREGAL_DECL void REGAL_CALL glVertexAttribI4ubvEXT(GLuint index, const GLubyte *v);\nREGAL_DECL void REGAL_CALL glVertexAttribI4uiEXT(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);\nREGAL_DECL void REGAL_CALL glVertexAttribI4uivEXT(GLuint index, const GLuint *v);\nREGAL_DECL void REGAL_CALL glVertexAttribI4usvEXT(GLuint index, const GLushort *v);\nREGAL_DECL void REGAL_CALL glVertexAttribIPointerEXT(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_GPU_SHADER4\nREGAL_DECL GLint REGAL_CALL plugin_glGetFragDataLocationEXT(GLuint program, const GLchar *name);\nREGAL_DECL void REGAL_CALL plugin_glBindFragDataLocationEXT(GLuint program, GLuint color, const GLchar *name);\nREGAL_DECL void REGAL_CALL plugin_glGetUniformuivEXT(GLuint program, GLint location, GLuint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetVertexAttribIivEXT(GLuint index, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetVertexAttribIuivEXT(GLuint index, GLenum pname, GLuint *params);\nREGAL_DECL void REGAL_CALL plugin_glUniform1uiEXT(GLint location, GLuint v0);\nREGAL_DECL void REGAL_CALL plugin_glUniform1uivEXT(GLint location, GLsizei count, const GLuint *value);\nREGAL_DECL void REGAL_CALL plugin_glUniform2uiEXT(GLint location, GLuint v0, GLuint v1);\nREGAL_DECL void REGAL_CALL plugin_glUniform2uivEXT(GLint location, GLsizei count, const GLuint *value);\nREGAL_DECL void REGAL_CALL plugin_glUniform3uiEXT(GLint location, GLuint v0, GLuint v1, GLuint v2);\nREGAL_DECL void REGAL_CALL plugin_glUniform3uivEXT(GLint location, GLsizei count, const GLuint *value);\nREGAL_DECL void REGAL_CALL plugin_glUniform4uiEXT(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);\nREGAL_DECL void REGAL_CALL plugin_glUniform4uivEXT(GLint location, GLsizei count, const GLuint *value);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribI1iEXT(GLuint index, GLint x);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribI1ivEXT(GLuint index, const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribI1uiEXT(GLuint index, GLuint x);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribI1uivEXT(GLuint index, const GLuint *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribI2iEXT(GLuint index, GLint x, GLint y);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribI2ivEXT(GLuint index, const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribI2uiEXT(GLuint index, GLuint x, GLuint y);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribI2uivEXT(GLuint index, const GLuint *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribI3iEXT(GLuint index, GLint x, GLint y, GLint z);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribI3ivEXT(GLuint index, const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribI3uiEXT(GLuint index, GLuint x, GLuint y, GLuint z);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribI3uivEXT(GLuint index, const GLuint *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribI4bvEXT(GLuint index, const GLbyte *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribI4iEXT(GLuint index, GLint x, GLint y, GLint z, GLint w);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribI4ivEXT(GLuint index, const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribI4svEXT(GLuint index, const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribI4ubvEXT(GLuint index, const GLubyte *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribI4uiEXT(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribI4uivEXT(GLuint index, const GLuint *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribI4usvEXT(GLuint index, const GLushort *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribIPointerEXT(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);\n#endif\n\n/**\n ** GL_EXT_histogram\n **/\n\n#if (defined(GL_EXT_HISTOGRAM) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_HISTOGRAM)) && !defined(REGAL_NO_ENUM_GL_EXT_HISTOGRAM)\n#define REGAL_NO_ENUM_GL_EXT_HISTOGRAM\n#endif\n\n#if (defined(GL_EXT_HISTOGRAM) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_HISTOGRAM)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_HISTOGRAM)\n#define REGAL_NO_TYPEDEF_GL_EXT_HISTOGRAM\n#endif\n\n#if (defined(GL_EXT_HISTOGRAM) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_HISTOGRAM)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_HISTOGRAM)\n#define REGAL_NO_NAMESPACE_GL_EXT_HISTOGRAM\n#endif\n\n#if (defined(GL_EXT_HISTOGRAM) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_HISTOGRAM)) && !defined(REGAL_NO_PLUGIN_GL_EXT_HISTOGRAM)\n#define REGAL_NO_PLUGIN_GL_EXT_HISTOGRAM\n#endif\n\n#if (defined(GL_EXT_HISTOGRAM) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_HISTOGRAM)) && !defined(REGAL_NO_DECLARATION_GL_EXT_HISTOGRAM)\n#define REGAL_NO_DECLARATION_GL_EXT_HISTOGRAM\n#endif\n\n#ifndef GL_EXT_histogram\n#define GL_EXT_histogram 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_HISTOGRAM\n#define GL_HISTOGRAM_EXT                0x8024     /* 32804 */\n#define GL_PROXY_HISTOGRAM_EXT          0x8025     /* 32805 */\n#define GL_HISTOGRAM_WIDTH_EXT          0x8026     /* 32806 */\n#define GL_HISTOGRAM_FORMAT_EXT         0x8027     /* 32807 */\n#define GL_HISTOGRAM_RED_SIZE_EXT       0x8028     /* 32808 */\n#define GL_HISTOGRAM_GREEN_SIZE_EXT     0x8029     /* 32809 */\n#define GL_HISTOGRAM_BLUE_SIZE_EXT      0x802a     /* 32810 */\n#define GL_HISTOGRAM_ALPHA_SIZE_EXT     0x802b     /* 32811 */\n#define GL_HISTOGRAM_LUMINANCE_SIZE_EXT 0x802c     /* 32812 */\n#define GL_HISTOGRAM_SINK_EXT           0x802d     /* 32813 */\n#define GL_MINMAX_EXT                   0x802e     /* 32814 */\n#define GL_MINMAX_FORMAT_EXT            0x802f     /* 32815 */\n#define GL_MINMAX_SINK_EXT              0x8030     /* 32816 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_HISTOGRAM\ntypedef void (REGAL_CALL *PFNGLGETHISTOGRAMEXTPROC)(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);\ntypedef void (REGAL_CALL *PFNGLGETHISTOGRAMPARAMETERFVEXTPROC)(GLenum target, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETHISTOGRAMPARAMETERIVEXTPROC)(GLenum target, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETMINMAXEXTPROC)(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);\ntypedef void (REGAL_CALL *PFNGLGETMINMAXPARAMETERFVEXTPROC)(GLenum target, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETMINMAXPARAMETERIVEXTPROC)(GLenum target, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLHISTOGRAMEXTPROC)(GLenum target, GLsizei width, GLenum internalformat, GLboolean sink);\ntypedef void (REGAL_CALL *PFNGLMINMAXEXTPROC)(GLenum target, GLenum internalformat, GLboolean sink);\ntypedef void (REGAL_CALL *PFNGLRESETHISTOGRAMEXTPROC)(GLenum target);\ntypedef void (REGAL_CALL *PFNGLRESETMINMAXEXTPROC)(GLenum target);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_HISTOGRAM\n#define glGetHistogramEXT                   rglGetHistogramEXT\n#define glGetHistogramParameterfvEXT        rglGetHistogramParameterfvEXT\n#define glGetHistogramParameterivEXT        rglGetHistogramParameterivEXT\n#define glGetMinmaxEXT                      rglGetMinmaxEXT\n#define glGetMinmaxParameterfvEXT           rglGetMinmaxParameterfvEXT\n#define glGetMinmaxParameterivEXT           rglGetMinmaxParameterivEXT\n#define glHistogramEXT                      rglHistogramEXT\n#define glMinmaxEXT                         rglMinmaxEXT\n#define glResetHistogramEXT                 rglResetHistogramEXT\n#define glResetMinmaxEXT                    rglResetMinmaxEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_HISTOGRAM\nREGAL_DECL void REGAL_CALL glGetHistogramEXT(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);\nREGAL_DECL void REGAL_CALL glGetHistogramParameterfvEXT(GLenum target, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetHistogramParameterivEXT(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetMinmaxEXT(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);\nREGAL_DECL void REGAL_CALL glGetMinmaxParameterfvEXT(GLenum target, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetMinmaxParameterivEXT(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glHistogramEXT(GLenum target, GLsizei width, GLenum internalformat, GLboolean sink);\nREGAL_DECL void REGAL_CALL glMinmaxEXT(GLenum target, GLenum internalformat, GLboolean sink);\nREGAL_DECL void REGAL_CALL glResetHistogramEXT(GLenum target);\nREGAL_DECL void REGAL_CALL glResetMinmaxEXT(GLenum target);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_HISTOGRAM\nREGAL_DECL void REGAL_CALL plugin_glGetHistogramEXT(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);\nREGAL_DECL void REGAL_CALL plugin_glGetHistogramParameterfvEXT(GLenum target, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetHistogramParameterivEXT(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetMinmaxEXT(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);\nREGAL_DECL void REGAL_CALL plugin_glGetMinmaxParameterfvEXT(GLenum target, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetMinmaxParameterivEXT(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glHistogramEXT(GLenum target, GLsizei width, GLenum internalformat, GLboolean sink);\nREGAL_DECL void REGAL_CALL plugin_glMinmaxEXT(GLenum target, GLenum internalformat, GLboolean sink);\nREGAL_DECL void REGAL_CALL plugin_glResetHistogramEXT(GLenum target);\nREGAL_DECL void REGAL_CALL plugin_glResetMinmaxEXT(GLenum target);\n#endif\n\n/**\n ** GL_EXT_index_func\n **/\n\n#if (defined(GL_EXT_INDEX_FUNC) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_INDEX_FUNC)) && !defined(REGAL_NO_ENUM_GL_EXT_INDEX_FUNC)\n#define REGAL_NO_ENUM_GL_EXT_INDEX_FUNC\n#endif\n\n#if (defined(GL_EXT_INDEX_FUNC) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_INDEX_FUNC)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_INDEX_FUNC)\n#define REGAL_NO_TYPEDEF_GL_EXT_INDEX_FUNC\n#endif\n\n#if (defined(GL_EXT_INDEX_FUNC) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_INDEX_FUNC)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_INDEX_FUNC)\n#define REGAL_NO_NAMESPACE_GL_EXT_INDEX_FUNC\n#endif\n\n#if (defined(GL_EXT_INDEX_FUNC) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_INDEX_FUNC)) && !defined(REGAL_NO_PLUGIN_GL_EXT_INDEX_FUNC)\n#define REGAL_NO_PLUGIN_GL_EXT_INDEX_FUNC\n#endif\n\n#if (defined(GL_EXT_INDEX_FUNC) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_INDEX_FUNC)) && !defined(REGAL_NO_DECLARATION_GL_EXT_INDEX_FUNC)\n#define REGAL_NO_DECLARATION_GL_EXT_INDEX_FUNC\n#endif\n\n#ifndef GL_EXT_index_func\n#define GL_EXT_index_func 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_INDEX_FUNC\ntypedef void (REGAL_CALL *PFNGLINDEXFUNCEXTPROC)(GLenum func, GLfloat ref);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_INDEX_FUNC\n#define glIndexFuncEXT                      rglIndexFuncEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_INDEX_FUNC\nREGAL_DECL void REGAL_CALL glIndexFuncEXT(GLenum func, GLfloat ref);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_INDEX_FUNC\nREGAL_DECL void REGAL_CALL plugin_glIndexFuncEXT(GLenum func, GLfloat ref);\n#endif\n\n/**\n ** GL_EXT_index_material\n **/\n\n#if (defined(GL_EXT_INDEX_MATERIAL) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_INDEX_MATERIAL)) && !defined(REGAL_NO_ENUM_GL_EXT_INDEX_MATERIAL)\n#define REGAL_NO_ENUM_GL_EXT_INDEX_MATERIAL\n#endif\n\n#if (defined(GL_EXT_INDEX_MATERIAL) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_INDEX_MATERIAL)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_INDEX_MATERIAL)\n#define REGAL_NO_TYPEDEF_GL_EXT_INDEX_MATERIAL\n#endif\n\n#if (defined(GL_EXT_INDEX_MATERIAL) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_INDEX_MATERIAL)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_INDEX_MATERIAL)\n#define REGAL_NO_NAMESPACE_GL_EXT_INDEX_MATERIAL\n#endif\n\n#if (defined(GL_EXT_INDEX_MATERIAL) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_INDEX_MATERIAL)) && !defined(REGAL_NO_PLUGIN_GL_EXT_INDEX_MATERIAL)\n#define REGAL_NO_PLUGIN_GL_EXT_INDEX_MATERIAL\n#endif\n\n#if (defined(GL_EXT_INDEX_MATERIAL) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_INDEX_MATERIAL)) && !defined(REGAL_NO_DECLARATION_GL_EXT_INDEX_MATERIAL)\n#define REGAL_NO_DECLARATION_GL_EXT_INDEX_MATERIAL\n#endif\n\n#ifndef GL_EXT_index_material\n#define GL_EXT_index_material 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_INDEX_MATERIAL\ntypedef void (REGAL_CALL *PFNGLINDEXMATERIALEXTPROC)(GLenum face, GLenum mode);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_INDEX_MATERIAL\n#define glIndexMaterialEXT                  rglIndexMaterialEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_INDEX_MATERIAL\nREGAL_DECL void REGAL_CALL glIndexMaterialEXT(GLenum face, GLenum mode);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_INDEX_MATERIAL\nREGAL_DECL void REGAL_CALL plugin_glIndexMaterialEXT(GLenum face, GLenum mode);\n#endif\n\n/**\n ** GL_EXT_light_texture\n **/\n\n#if (defined(GL_EXT_LIGHT_TEXTURE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_LIGHT_TEXTURE)) && !defined(REGAL_NO_ENUM_GL_EXT_LIGHT_TEXTURE)\n#define REGAL_NO_ENUM_GL_EXT_LIGHT_TEXTURE\n#endif\n\n#if (defined(GL_EXT_LIGHT_TEXTURE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_LIGHT_TEXTURE)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_LIGHT_TEXTURE)\n#define REGAL_NO_TYPEDEF_GL_EXT_LIGHT_TEXTURE\n#endif\n\n#if (defined(GL_EXT_LIGHT_TEXTURE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_LIGHT_TEXTURE)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_LIGHT_TEXTURE)\n#define REGAL_NO_NAMESPACE_GL_EXT_LIGHT_TEXTURE\n#endif\n\n#if (defined(GL_EXT_LIGHT_TEXTURE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_LIGHT_TEXTURE)) && !defined(REGAL_NO_PLUGIN_GL_EXT_LIGHT_TEXTURE)\n#define REGAL_NO_PLUGIN_GL_EXT_LIGHT_TEXTURE\n#endif\n\n#if (defined(GL_EXT_LIGHT_TEXTURE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_LIGHT_TEXTURE)) && !defined(REGAL_NO_DECLARATION_GL_EXT_LIGHT_TEXTURE)\n#define REGAL_NO_DECLARATION_GL_EXT_LIGHT_TEXTURE\n#endif\n\n#ifndef GL_EXT_light_texture\n#define GL_EXT_light_texture 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_LIGHT_TEXTURE\n#define GL_FRAGMENT_MATERIAL_EXT          0x8349     /* 33609 */\n#define GL_FRAGMENT_NORMAL_EXT            0x834a     /* 33610 */\n#define GL_FRAGMENT_COLOR_EXT             0x834c     /* 33612 */\n#define GL_ATTENUATION_EXT                0x834d     /* 33613 */\n#define GL_SHADOW_ATTENUATION_EXT         0x834e     /* 33614 */\n#define GL_TEXTURE_APPLICATION_MODE_EXT   0x834f     /* 33615 */\n#define GL_TEXTURE_LIGHT_EXT              0x8350     /* 33616 */\n#define GL_TEXTURE_MATERIAL_FACE_EXT      0x8351     /* 33617 */\n#define GL_TEXTURE_MATERIAL_PARAMETER_EXT 0x8352     /* 33618 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_LIGHT_TEXTURE\ntypedef void (REGAL_CALL *PFNGLAPPLYTEXTUREEXTPROC)(GLenum mode);\ntypedef void (REGAL_CALL *PFNGLTEXTURELIGHTEXTPROC)(GLenum pname);\ntypedef void (REGAL_CALL *PFNGLTEXTUREMATERIALEXTPROC)(GLenum face, GLenum mode);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_LIGHT_TEXTURE\n#define glApplyTextureEXT                   rglApplyTextureEXT\n#define glTextureLightEXT                   rglTextureLightEXT\n#define glTextureMaterialEXT                rglTextureMaterialEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_LIGHT_TEXTURE\nREGAL_DECL void REGAL_CALL glApplyTextureEXT(GLenum mode);\nREGAL_DECL void REGAL_CALL glTextureLightEXT(GLenum pname);\nREGAL_DECL void REGAL_CALL glTextureMaterialEXT(GLenum face, GLenum mode);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_LIGHT_TEXTURE\nREGAL_DECL void REGAL_CALL plugin_glApplyTextureEXT(GLenum mode);\nREGAL_DECL void REGAL_CALL plugin_glTextureLightEXT(GLenum pname);\nREGAL_DECL void REGAL_CALL plugin_glTextureMaterialEXT(GLenum face, GLenum mode);\n#endif\n\n/**\n ** GL_EXT_map_buffer_range\n **/\n\n#if (defined(GL_EXT_MAP_BUFFER_RANGE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_MAP_BUFFER_RANGE)) && !defined(REGAL_NO_ENUM_GL_EXT_MAP_BUFFER_RANGE)\n#define REGAL_NO_ENUM_GL_EXT_MAP_BUFFER_RANGE\n#endif\n\n#if (defined(GL_EXT_MAP_BUFFER_RANGE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_MAP_BUFFER_RANGE)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_MAP_BUFFER_RANGE)\n#define REGAL_NO_TYPEDEF_GL_EXT_MAP_BUFFER_RANGE\n#endif\n\n#if (defined(GL_EXT_MAP_BUFFER_RANGE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_MAP_BUFFER_RANGE)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_MAP_BUFFER_RANGE)\n#define REGAL_NO_NAMESPACE_GL_EXT_MAP_BUFFER_RANGE\n#endif\n\n#if (defined(GL_EXT_MAP_BUFFER_RANGE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_MAP_BUFFER_RANGE)) && !defined(REGAL_NO_PLUGIN_GL_EXT_MAP_BUFFER_RANGE)\n#define REGAL_NO_PLUGIN_GL_EXT_MAP_BUFFER_RANGE\n#endif\n\n#if (defined(GL_EXT_MAP_BUFFER_RANGE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_MAP_BUFFER_RANGE)) && !defined(REGAL_NO_DECLARATION_GL_EXT_MAP_BUFFER_RANGE)\n#define REGAL_NO_DECLARATION_GL_EXT_MAP_BUFFER_RANGE\n#endif\n\n#ifndef GL_EXT_map_buffer_range\n#define GL_EXT_map_buffer_range 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_MAP_BUFFER_RANGE\n#define GL_MAP_READ_BIT_EXT              0x1\n#define GL_MAP_FLUSH_EXPLICIT_BIT_EXT    0x10     /* 16 */\n#define GL_MAP_WRITE_BIT_EXT             0x2\n#define GL_MAP_UNSYNCHRONIZED_BIT_EXT    0x20     /* 32 */\n#define GL_MAP_INVALIDATE_RANGE_BIT_EXT  0x4\n#define GL_MAP_INVALIDATE_BUFFER_BIT_EXT 0x8\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_MAP_BUFFER_RANGE\ntypedef GLvoid *(REGAL_CALL *PFNGLMAPBUFFERRANGEEXTPROC)(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);\ntypedef void (REGAL_CALL *PFNGLFLUSHMAPPEDBUFFERRANGEEXTPROC)(GLenum target, GLintptr offset, GLsizeiptr length);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_MAP_BUFFER_RANGE\n#define glFlushMappedBufferRangeEXT         rglFlushMappedBufferRangeEXT\n#define glMapBufferRangeEXT                 rglMapBufferRangeEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_MAP_BUFFER_RANGE\nREGAL_DECL GLvoid *REGAL_CALL glMapBufferRangeEXT(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);\nREGAL_DECL void REGAL_CALL glFlushMappedBufferRangeEXT(GLenum target, GLintptr offset, GLsizeiptr length);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_MAP_BUFFER_RANGE\nREGAL_DECL GLvoid *REGAL_CALL plugin_glMapBufferRangeEXT(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);\nREGAL_DECL void REGAL_CALL plugin_glFlushMappedBufferRangeEXT(GLenum target, GLintptr offset, GLsizeiptr length);\n#endif\n\n/**\n ** GL_EXT_multi_draw_arrays\n **/\n\n#if (defined(GL_EXT_MULTI_DRAW_ARRAYS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_MULTI_DRAW_ARRAYS)) && !defined(REGAL_NO_ENUM_GL_EXT_MULTI_DRAW_ARRAYS)\n#define REGAL_NO_ENUM_GL_EXT_MULTI_DRAW_ARRAYS\n#endif\n\n#if (defined(GL_EXT_MULTI_DRAW_ARRAYS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_MULTI_DRAW_ARRAYS)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_MULTI_DRAW_ARRAYS)\n#define REGAL_NO_TYPEDEF_GL_EXT_MULTI_DRAW_ARRAYS\n#endif\n\n#if (defined(GL_EXT_MULTI_DRAW_ARRAYS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_MULTI_DRAW_ARRAYS)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_MULTI_DRAW_ARRAYS)\n#define REGAL_NO_NAMESPACE_GL_EXT_MULTI_DRAW_ARRAYS\n#endif\n\n#if (defined(GL_EXT_MULTI_DRAW_ARRAYS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_MULTI_DRAW_ARRAYS)) && !defined(REGAL_NO_PLUGIN_GL_EXT_MULTI_DRAW_ARRAYS)\n#define REGAL_NO_PLUGIN_GL_EXT_MULTI_DRAW_ARRAYS\n#endif\n\n#if (defined(GL_EXT_MULTI_DRAW_ARRAYS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_MULTI_DRAW_ARRAYS)) && !defined(REGAL_NO_DECLARATION_GL_EXT_MULTI_DRAW_ARRAYS)\n#define REGAL_NO_DECLARATION_GL_EXT_MULTI_DRAW_ARRAYS\n#endif\n\n#ifndef GL_EXT_multi_draw_arrays\n#define GL_EXT_multi_draw_arrays 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_MULTI_DRAW_ARRAYS\ntypedef void (REGAL_CALL *PFNGLMULTIDRAWARRAYSEXTPROC)(GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);\ntypedef void (REGAL_CALL *PFNGLMULTIDRAWELEMENTSEXTPROC)(GLenum mode, const GLsizei *count, GLenum type, const GLvoid **indices, GLsizei primcount);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_MULTI_DRAW_ARRAYS\n#define glMultiDrawArraysEXT                rglMultiDrawArraysEXT\n#define glMultiDrawElementsEXT              rglMultiDrawElementsEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_MULTI_DRAW_ARRAYS\nREGAL_DECL void REGAL_CALL glMultiDrawArraysEXT(GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);\nREGAL_DECL void REGAL_CALL glMultiDrawElementsEXT(GLenum mode, const GLsizei *count, GLenum type, const GLvoid **indices, GLsizei primcount);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_MULTI_DRAW_ARRAYS\nREGAL_DECL void REGAL_CALL plugin_glMultiDrawArraysEXT(GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);\nREGAL_DECL void REGAL_CALL plugin_glMultiDrawElementsEXT(GLenum mode, const GLsizei *count, GLenum type, const GLvoid **indices, GLsizei primcount);\n#endif\n\n/**\n ** GL_EXT_multisample\n **/\n\n#if (defined(GL_EXT_MULTISAMPLE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_MULTISAMPLE)) && !defined(REGAL_NO_ENUM_GL_EXT_MULTISAMPLE)\n#define REGAL_NO_ENUM_GL_EXT_MULTISAMPLE\n#endif\n\n#if (defined(GL_EXT_MULTISAMPLE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_MULTISAMPLE)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_MULTISAMPLE)\n#define REGAL_NO_TYPEDEF_GL_EXT_MULTISAMPLE\n#endif\n\n#if (defined(GL_EXT_MULTISAMPLE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_MULTISAMPLE)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_MULTISAMPLE)\n#define REGAL_NO_NAMESPACE_GL_EXT_MULTISAMPLE\n#endif\n\n#if (defined(GL_EXT_MULTISAMPLE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_MULTISAMPLE)) && !defined(REGAL_NO_PLUGIN_GL_EXT_MULTISAMPLE)\n#define REGAL_NO_PLUGIN_GL_EXT_MULTISAMPLE\n#endif\n\n#if (defined(GL_EXT_MULTISAMPLE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_MULTISAMPLE)) && !defined(REGAL_NO_DECLARATION_GL_EXT_MULTISAMPLE)\n#define REGAL_NO_DECLARATION_GL_EXT_MULTISAMPLE\n#endif\n\n#ifndef GL_EXT_multisample\n#define GL_EXT_multisample 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_MULTISAMPLE\n#define GL_MULTISAMPLE_BIT_EXT      0x20000000     /* 536870912 */\n#define GL_MULTISAMPLE_EXT          0x809d         /* 32925 */\n#define GL_SAMPLE_ALPHA_TO_MASK_EXT 0x809e         /* 32926 */\n#define GL_SAMPLE_ALPHA_TO_ONE_EXT  0x809f         /* 32927 */\n#define GL_SAMPLE_MASK_EXT          0x80a0         /* 32928 */\n#define GL_1PASS_EXT                0x80a1         /* 32929 */\n#define GL_2PASS_0_EXT              0x80a2         /* 32930 */\n#define GL_2PASS_1_EXT              0x80a3         /* 32931 */\n#define GL_4PASS_0_EXT              0x80a4         /* 32932 */\n#define GL_4PASS_1_EXT              0x80a5         /* 32933 */\n#define GL_4PASS_2_EXT              0x80a6         /* 32934 */\n#define GL_4PASS_3_EXT              0x80a7         /* 32935 */\n#define GL_SAMPLE_BUFFERS_EXT       0x80a8         /* 32936 */\n#define GL_SAMPLES_EXT              0x80a9         /* 32937 */\n#define GL_SAMPLE_MASK_VALUE_EXT    0x80aa         /* 32938 */\n#define GL_SAMPLE_MASK_INVERT_EXT   0x80ab         /* 32939 */\n#define GL_SAMPLE_PATTERN_EXT       0x80ac         /* 32940 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_MULTISAMPLE\ntypedef void (REGAL_CALL *PFNGLSAMPLEMASKEXTPROC)(GLclampf value, GLboolean invert);\ntypedef void (REGAL_CALL *PFNGLSAMPLEPATTERNEXTPROC)(GLenum pattern);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_MULTISAMPLE\n#define glSampleMaskEXT                     rglSampleMaskEXT\n#define glSamplePatternEXT                  rglSamplePatternEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_MULTISAMPLE\nREGAL_DECL void REGAL_CALL glSampleMaskEXT(GLclampf value, GLboolean invert);\nREGAL_DECL void REGAL_CALL glSamplePatternEXT(GLenum pattern);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_MULTISAMPLE\nREGAL_DECL void REGAL_CALL plugin_glSampleMaskEXT(GLclampf value, GLboolean invert);\nREGAL_DECL void REGAL_CALL plugin_glSamplePatternEXT(GLenum pattern);\n#endif\n\n/**\n ** GL_EXT_multisampled_render_to_texture\n **/\n\n#if (defined(GL_EXT_MULTISAMPLED_RENDER_TO_TEXTURE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_MULTISAMPLED_RENDER_TO_TEXTURE)) && !defined(REGAL_NO_ENUM_GL_EXT_MULTISAMPLED_RENDER_TO_TEXTURE)\n#define REGAL_NO_ENUM_GL_EXT_MULTISAMPLED_RENDER_TO_TEXTURE\n#endif\n\n#if (defined(GL_EXT_MULTISAMPLED_RENDER_TO_TEXTURE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_MULTISAMPLED_RENDER_TO_TEXTURE)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_MULTISAMPLED_RENDER_TO_TEXTURE)\n#define REGAL_NO_TYPEDEF_GL_EXT_MULTISAMPLED_RENDER_TO_TEXTURE\n#endif\n\n#if (defined(GL_EXT_MULTISAMPLED_RENDER_TO_TEXTURE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_MULTISAMPLED_RENDER_TO_TEXTURE)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_MULTISAMPLED_RENDER_TO_TEXTURE)\n#define REGAL_NO_NAMESPACE_GL_EXT_MULTISAMPLED_RENDER_TO_TEXTURE\n#endif\n\n#if (defined(GL_EXT_MULTISAMPLED_RENDER_TO_TEXTURE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_MULTISAMPLED_RENDER_TO_TEXTURE)) && !defined(REGAL_NO_PLUGIN_GL_EXT_MULTISAMPLED_RENDER_TO_TEXTURE)\n#define REGAL_NO_PLUGIN_GL_EXT_MULTISAMPLED_RENDER_TO_TEXTURE\n#endif\n\n#if (defined(GL_EXT_MULTISAMPLED_RENDER_TO_TEXTURE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_MULTISAMPLED_RENDER_TO_TEXTURE)) && !defined(REGAL_NO_DECLARATION_GL_EXT_MULTISAMPLED_RENDER_TO_TEXTURE)\n#define REGAL_NO_DECLARATION_GL_EXT_MULTISAMPLED_RENDER_TO_TEXTURE\n#endif\n\n#ifndef GL_EXT_multisampled_render_to_texture\n#define GL_EXT_multisampled_render_to_texture 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_MULTISAMPLED_RENDER_TO_TEXTURE\n#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SAMPLES_EXT 0x8d6c /* 36204 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_MULTISAMPLED_RENDER_TO_TEXTURE\ntypedef void (REGAL_CALL *PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEEXTPROC)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_MULTISAMPLED_RENDER_TO_TEXTURE\n#define glFramebufferTexture2DMultisampleEXT rglFramebufferTexture2DMultisampleEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_MULTISAMPLED_RENDER_TO_TEXTURE\nREGAL_DECL void REGAL_CALL glFramebufferTexture2DMultisampleEXT(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_MULTISAMPLED_RENDER_TO_TEXTURE\nREGAL_DECL void REGAL_CALL plugin_glFramebufferTexture2DMultisampleEXT(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);\n#endif\n\n/**\n ** GL_EXT_multiview_draw_buffers\n **/\n\n#if (defined(GL_EXT_MULTIVIEW_DRAW_BUFFERS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_MULTIVIEW_DRAW_BUFFERS)) && !defined(REGAL_NO_ENUM_GL_EXT_MULTIVIEW_DRAW_BUFFERS)\n#define REGAL_NO_ENUM_GL_EXT_MULTIVIEW_DRAW_BUFFERS\n#endif\n\n#if (defined(GL_EXT_MULTIVIEW_DRAW_BUFFERS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_MULTIVIEW_DRAW_BUFFERS)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_MULTIVIEW_DRAW_BUFFERS)\n#define REGAL_NO_TYPEDEF_GL_EXT_MULTIVIEW_DRAW_BUFFERS\n#endif\n\n#if (defined(GL_EXT_MULTIVIEW_DRAW_BUFFERS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_MULTIVIEW_DRAW_BUFFERS)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_MULTIVIEW_DRAW_BUFFERS)\n#define REGAL_NO_NAMESPACE_GL_EXT_MULTIVIEW_DRAW_BUFFERS\n#endif\n\n#if (defined(GL_EXT_MULTIVIEW_DRAW_BUFFERS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_MULTIVIEW_DRAW_BUFFERS)) && !defined(REGAL_NO_PLUGIN_GL_EXT_MULTIVIEW_DRAW_BUFFERS)\n#define REGAL_NO_PLUGIN_GL_EXT_MULTIVIEW_DRAW_BUFFERS\n#endif\n\n#if (defined(GL_EXT_MULTIVIEW_DRAW_BUFFERS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_MULTIVIEW_DRAW_BUFFERS)) && !defined(REGAL_NO_DECLARATION_GL_EXT_MULTIVIEW_DRAW_BUFFERS)\n#define REGAL_NO_DECLARATION_GL_EXT_MULTIVIEW_DRAW_BUFFERS\n#endif\n\n#ifndef GL_EXT_multiview_draw_buffers\n#define GL_EXT_multiview_draw_buffers 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_MULTIVIEW_DRAW_BUFFERS\n#define GL_COLOR_ATTACHMENT_EXT      0x90f0     /* 37104 */\n#define GL_MULTIVIEW_EXT             0x90f1     /* 37105 */\n#define GL_MAX_MULTIVIEW_BUFFERS_EXT 0x90f2     /* 37106 */\n#define GL_DRAW_BUFFER_EXT           0xc01      /* 3073 */\n#define GL_READ_BUFFER_EXT           0xc02      /* 3074 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_MULTIVIEW_DRAW_BUFFERS\ntypedef void (REGAL_CALL *PFNGLDRAWBUFFERSINDEXEDEXTPROC)(GLint n, const GLenum *location, const GLint *indices);\ntypedef void (REGAL_CALL *PFNGLGETINTEGERI_VEXTPROC)(GLenum target, GLuint index, GLint *data);\ntypedef void (REGAL_CALL *PFNGLREADBUFFERINDEXEDEXTPROC)(GLenum src, GLint index);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_MULTIVIEW_DRAW_BUFFERS\n#define glDrawBuffersIndexedEXT             rglDrawBuffersIndexedEXT\n#define glGetIntegeri_vEXT                  rglGetIntegeri_vEXT\n#define glReadBufferIndexedEXT              rglReadBufferIndexedEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_MULTIVIEW_DRAW_BUFFERS\nREGAL_DECL void REGAL_CALL glDrawBuffersIndexedEXT(GLint n, const GLenum *location, const GLint *indices);\nREGAL_DECL void REGAL_CALL glGetIntegeri_vEXT(GLenum target, GLuint index, GLint *data);\nREGAL_DECL void REGAL_CALL glReadBufferIndexedEXT(GLenum src, GLint index);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_MULTIVIEW_DRAW_BUFFERS\nREGAL_DECL void REGAL_CALL plugin_glDrawBuffersIndexedEXT(GLint n, const GLenum *location, const GLint *indices);\nREGAL_DECL void REGAL_CALL plugin_glGetIntegeri_vEXT(GLenum target, GLuint index, GLint *data);\nREGAL_DECL void REGAL_CALL plugin_glReadBufferIndexedEXT(GLenum src, GLint index);\n#endif\n\n/**\n ** GL_EXT_occlusion_query_boolean\n **/\n\n#if (defined(GL_EXT_OCCLUSION_QUERY_BOOLEAN) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_OCCLUSION_QUERY_BOOLEAN)) && !defined(REGAL_NO_ENUM_GL_EXT_OCCLUSION_QUERY_BOOLEAN)\n#define REGAL_NO_ENUM_GL_EXT_OCCLUSION_QUERY_BOOLEAN\n#endif\n\n#if (defined(GL_EXT_OCCLUSION_QUERY_BOOLEAN) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_OCCLUSION_QUERY_BOOLEAN)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_OCCLUSION_QUERY_BOOLEAN)\n#define REGAL_NO_TYPEDEF_GL_EXT_OCCLUSION_QUERY_BOOLEAN\n#endif\n\n#if (defined(GL_EXT_OCCLUSION_QUERY_BOOLEAN) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_OCCLUSION_QUERY_BOOLEAN)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_OCCLUSION_QUERY_BOOLEAN)\n#define REGAL_NO_NAMESPACE_GL_EXT_OCCLUSION_QUERY_BOOLEAN\n#endif\n\n#if (defined(GL_EXT_OCCLUSION_QUERY_BOOLEAN) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_OCCLUSION_QUERY_BOOLEAN)) && !defined(REGAL_NO_PLUGIN_GL_EXT_OCCLUSION_QUERY_BOOLEAN)\n#define REGAL_NO_PLUGIN_GL_EXT_OCCLUSION_QUERY_BOOLEAN\n#endif\n\n#if (defined(GL_EXT_OCCLUSION_QUERY_BOOLEAN) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_OCCLUSION_QUERY_BOOLEAN)) && !defined(REGAL_NO_DECLARATION_GL_EXT_OCCLUSION_QUERY_BOOLEAN)\n#define REGAL_NO_DECLARATION_GL_EXT_OCCLUSION_QUERY_BOOLEAN\n#endif\n\n#ifndef GL_EXT_occlusion_query_boolean\n#define GL_EXT_occlusion_query_boolean 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_OCCLUSION_QUERY_BOOLEAN\n#define GL_CURRENT_QUERY_EXT                   0x8865     /* 34917 */\n#define GL_QUERY_RESULT_EXT                    0x8866     /* 34918 */\n#define GL_QUERY_RESULT_AVAILABLE_EXT          0x8867     /* 34919 */\n#define GL_ANY_SAMPLES_PASSED_EXT              0x8c2f     /* 35887 */\n#define GL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT 0x8d6a     /* 36202 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_OCCLUSION_QUERY_BOOLEAN\ntypedef GLboolean (REGAL_CALL *PFNGLISQUERYEXTPROC)(GLuint id);\ntypedef void (REGAL_CALL *PFNGLBEGINQUERYEXTPROC)(GLenum target, GLuint id);\ntypedef void (REGAL_CALL *PFNGLDELETEQUERIESEXTPROC)(GLsizei n, const GLuint *ids);\ntypedef void (REGAL_CALL *PFNGLENDQUERYEXTPROC)(GLenum target);\ntypedef void (REGAL_CALL *PFNGLGENQUERIESEXTPROC)(GLsizei n, GLuint *ids);\ntypedef void (REGAL_CALL *PFNGLGETQUERYIVEXTPROC)(GLenum target, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETQUERYOBJECTUIVEXTPROC)(GLuint id, GLenum pname, GLuint *params);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_OCCLUSION_QUERY_BOOLEAN\n#define glBeginQueryEXT                     rglBeginQueryEXT\n#define glDeleteQueriesEXT                  rglDeleteQueriesEXT\n#define glEndQueryEXT                       rglEndQueryEXT\n#define glGenQueriesEXT                     rglGenQueriesEXT\n#define glGetQueryObjectuivEXT              rglGetQueryObjectuivEXT\n#define glGetQueryivEXT                     rglGetQueryivEXT\n#define glIsQueryEXT                        rglIsQueryEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_OCCLUSION_QUERY_BOOLEAN\nREGAL_DECL GLboolean REGAL_CALL glIsQueryEXT(GLuint id);\nREGAL_DECL void REGAL_CALL glBeginQueryEXT(GLenum target, GLuint id);\nREGAL_DECL void REGAL_CALL glDeleteQueriesEXT(GLsizei n, const GLuint *ids);\nREGAL_DECL void REGAL_CALL glEndQueryEXT(GLenum target);\nREGAL_DECL void REGAL_CALL glGenQueriesEXT(GLsizei n, GLuint *ids);\nREGAL_DECL void REGAL_CALL glGetQueryObjectuivEXT(GLuint id, GLenum pname, GLuint *params);\nREGAL_DECL void REGAL_CALL glGetQueryivEXT(GLenum target, GLenum pname, GLint *params);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_OCCLUSION_QUERY_BOOLEAN\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsQueryEXT(GLuint id);\nREGAL_DECL void REGAL_CALL plugin_glBeginQueryEXT(GLenum target, GLuint id);\nREGAL_DECL void REGAL_CALL plugin_glDeleteQueriesEXT(GLsizei n, const GLuint *ids);\nREGAL_DECL void REGAL_CALL plugin_glEndQueryEXT(GLenum target);\nREGAL_DECL void REGAL_CALL plugin_glGenQueriesEXT(GLsizei n, GLuint *ids);\nREGAL_DECL void REGAL_CALL plugin_glGetQueryObjectuivEXT(GLuint id, GLenum pname, GLuint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetQueryivEXT(GLenum target, GLenum pname, GLint *params);\n#endif\n\n/**\n ** GL_EXT_packed_depth_stencil\n **/\n\n#if (defined(GL_EXT_PACKED_DEPTH_STENCIL) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_PACKED_DEPTH_STENCIL)) && !defined(REGAL_NO_ENUM_GL_EXT_PACKED_DEPTH_STENCIL)\n#define REGAL_NO_ENUM_GL_EXT_PACKED_DEPTH_STENCIL\n#endif\n\n#if (defined(GL_EXT_PACKED_DEPTH_STENCIL) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_PACKED_DEPTH_STENCIL)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_PACKED_DEPTH_STENCIL)\n#define REGAL_NO_TYPEDEF_GL_EXT_PACKED_DEPTH_STENCIL\n#endif\n\n#if (defined(GL_EXT_PACKED_DEPTH_STENCIL) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_PACKED_DEPTH_STENCIL)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_PACKED_DEPTH_STENCIL)\n#define REGAL_NO_NAMESPACE_GL_EXT_PACKED_DEPTH_STENCIL\n#endif\n\n#if (defined(GL_EXT_PACKED_DEPTH_STENCIL) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_PACKED_DEPTH_STENCIL)) && !defined(REGAL_NO_PLUGIN_GL_EXT_PACKED_DEPTH_STENCIL)\n#define REGAL_NO_PLUGIN_GL_EXT_PACKED_DEPTH_STENCIL\n#endif\n\n#if (defined(GL_EXT_PACKED_DEPTH_STENCIL) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_PACKED_DEPTH_STENCIL)) && !defined(REGAL_NO_DECLARATION_GL_EXT_PACKED_DEPTH_STENCIL)\n#define REGAL_NO_DECLARATION_GL_EXT_PACKED_DEPTH_STENCIL\n#endif\n\n#ifndef GL_EXT_packed_depth_stencil\n#define GL_EXT_packed_depth_stencil 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_PACKED_DEPTH_STENCIL\n#define GL_DEPTH_STENCIL_EXT        0x84f9     /* 34041 */\n#define GL_UNSIGNED_INT_24_8_EXT    0x84fa     /* 34042 */\n#define GL_DEPTH24_STENCIL8_EXT     0x88f0     /* 35056 */\n#define GL_TEXTURE_STENCIL_SIZE_EXT 0x88f1     /* 35057 */\n#endif\n\n/**\n ** GL_EXT_packed_float\n **/\n\n#if (defined(GL_EXT_PACKED_FLOAT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_PACKED_FLOAT)) && !defined(REGAL_NO_ENUM_GL_EXT_PACKED_FLOAT)\n#define REGAL_NO_ENUM_GL_EXT_PACKED_FLOAT\n#endif\n\n#if (defined(GL_EXT_PACKED_FLOAT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_PACKED_FLOAT)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_PACKED_FLOAT)\n#define REGAL_NO_TYPEDEF_GL_EXT_PACKED_FLOAT\n#endif\n\n#if (defined(GL_EXT_PACKED_FLOAT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_PACKED_FLOAT)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_PACKED_FLOAT)\n#define REGAL_NO_NAMESPACE_GL_EXT_PACKED_FLOAT\n#endif\n\n#if (defined(GL_EXT_PACKED_FLOAT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_PACKED_FLOAT)) && !defined(REGAL_NO_PLUGIN_GL_EXT_PACKED_FLOAT)\n#define REGAL_NO_PLUGIN_GL_EXT_PACKED_FLOAT\n#endif\n\n#if (defined(GL_EXT_PACKED_FLOAT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_PACKED_FLOAT)) && !defined(REGAL_NO_DECLARATION_GL_EXT_PACKED_FLOAT)\n#define REGAL_NO_DECLARATION_GL_EXT_PACKED_FLOAT\n#endif\n\n#ifndef GL_EXT_packed_float\n#define GL_EXT_packed_float 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_PACKED_FLOAT\n#define GL_R11F_G11F_B10F_EXT               0x8c3a     /* 35898 */\n#define GL_UNSIGNED_INT_10F_11F_11F_REV_EXT 0x8c3b     /* 35899 */\n#define GL_RGBA_SIGNED_COMPONENTS_EXT       0x8c3c     /* 35900 */\n#endif\n\n/**\n ** GL_EXT_packed_pixels\n **/\n\n#if (defined(GL_EXT_PACKED_PIXELS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_PACKED_PIXELS)) && !defined(REGAL_NO_ENUM_GL_EXT_PACKED_PIXELS)\n#define REGAL_NO_ENUM_GL_EXT_PACKED_PIXELS\n#endif\n\n#if (defined(GL_EXT_PACKED_PIXELS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_PACKED_PIXELS)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_PACKED_PIXELS)\n#define REGAL_NO_TYPEDEF_GL_EXT_PACKED_PIXELS\n#endif\n\n#if (defined(GL_EXT_PACKED_PIXELS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_PACKED_PIXELS)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_PACKED_PIXELS)\n#define REGAL_NO_NAMESPACE_GL_EXT_PACKED_PIXELS\n#endif\n\n#if (defined(GL_EXT_PACKED_PIXELS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_PACKED_PIXELS)) && !defined(REGAL_NO_PLUGIN_GL_EXT_PACKED_PIXELS)\n#define REGAL_NO_PLUGIN_GL_EXT_PACKED_PIXELS\n#endif\n\n#if (defined(GL_EXT_PACKED_PIXELS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_PACKED_PIXELS)) && !defined(REGAL_NO_DECLARATION_GL_EXT_PACKED_PIXELS)\n#define REGAL_NO_DECLARATION_GL_EXT_PACKED_PIXELS\n#endif\n\n#ifndef GL_EXT_packed_pixels\n#define GL_EXT_packed_pixels 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_PACKED_PIXELS\n#define GL_UNSIGNED_BYTE_3_3_2_EXT     0x8032     /* 32818 */\n#define GL_UNSIGNED_SHORT_4_4_4_4_EXT  0x8033     /* 32819 */\n#define GL_UNSIGNED_SHORT_5_5_5_1_EXT  0x8034     /* 32820 */\n#define GL_UNSIGNED_INT_8_8_8_8_EXT    0x8035     /* 32821 */\n#define GL_UNSIGNED_INT_10_10_10_2_EXT 0x8036     /* 32822 */\n#endif\n\n/**\n ** GL_EXT_paletted_texture\n **/\n\n#if (defined(GL_EXT_PALETTED_TEXTURE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_PALETTED_TEXTURE)) && !defined(REGAL_NO_ENUM_GL_EXT_PALETTED_TEXTURE)\n#define REGAL_NO_ENUM_GL_EXT_PALETTED_TEXTURE\n#endif\n\n#if (defined(GL_EXT_PALETTED_TEXTURE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_PALETTED_TEXTURE)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_PALETTED_TEXTURE)\n#define REGAL_NO_TYPEDEF_GL_EXT_PALETTED_TEXTURE\n#endif\n\n#if (defined(GL_EXT_PALETTED_TEXTURE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_PALETTED_TEXTURE)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_PALETTED_TEXTURE)\n#define REGAL_NO_NAMESPACE_GL_EXT_PALETTED_TEXTURE\n#endif\n\n#if (defined(GL_EXT_PALETTED_TEXTURE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_PALETTED_TEXTURE)) && !defined(REGAL_NO_PLUGIN_GL_EXT_PALETTED_TEXTURE)\n#define REGAL_NO_PLUGIN_GL_EXT_PALETTED_TEXTURE\n#endif\n\n#if (defined(GL_EXT_PALETTED_TEXTURE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_PALETTED_TEXTURE)) && !defined(REGAL_NO_DECLARATION_GL_EXT_PALETTED_TEXTURE)\n#define REGAL_NO_DECLARATION_GL_EXT_PALETTED_TEXTURE\n#endif\n\n#ifndef GL_EXT_paletted_texture\n#define GL_EXT_paletted_texture 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_PALETTED_TEXTURE\n#define GL_COLOR_TABLE_FORMAT_EXT         0x80d8     /* 32984 */\n#define GL_COLOR_TABLE_WIDTH_EXT          0x80d9     /* 32985 */\n#define GL_COLOR_TABLE_RED_SIZE_EXT       0x80da     /* 32986 */\n#define GL_COLOR_TABLE_GREEN_SIZE_EXT     0x80db     /* 32987 */\n#define GL_COLOR_TABLE_BLUE_SIZE_EXT      0x80dc     /* 32988 */\n#define GL_COLOR_TABLE_ALPHA_SIZE_EXT     0x80dd     /* 32989 */\n#define GL_COLOR_TABLE_LUMINANCE_SIZE_EXT 0x80de     /* 32990 */\n#define GL_COLOR_TABLE_INTENSITY_SIZE_EXT 0x80df     /* 32991 */\n#define GL_COLOR_INDEX1_EXT               0x80e2     /* 32994 */\n#define GL_COLOR_INDEX2_EXT               0x80e3     /* 32995 */\n#define GL_COLOR_INDEX4_EXT               0x80e4     /* 32996 */\n#define GL_COLOR_INDEX8_EXT               0x80e5     /* 32997 */\n#define GL_COLOR_INDEX12_EXT              0x80e6     /* 32998 */\n#define GL_COLOR_INDEX16_EXT              0x80e7     /* 32999 */\n#define GL_TEXTURE_INDEX_SIZE_EXT         0x80ed     /* 33005 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_PALETTED_TEXTURE\ntypedef void (REGAL_CALL *PFNGLCOLORTABLEEXTPROC)(GLenum target, GLenum internalFormat, GLsizei width, GLenum format, GLenum type, const GLvoid *table);\ntypedef void (REGAL_CALL *PFNGLGETCOLORTABLEEXTPROC)(GLenum target, GLenum format, GLenum type, GLvoid *data);\ntypedef void (REGAL_CALL *PFNGLGETCOLORTABLEPARAMETERFVEXTPROC)(GLenum target, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETCOLORTABLEPARAMETERIVEXTPROC)(GLenum target, GLenum pname, GLint *params);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_PALETTED_TEXTURE\n#define glColorTableEXT                     rglColorTableEXT\n#define glGetColorTableEXT                  rglGetColorTableEXT\n#define glGetColorTableParameterfvEXT       rglGetColorTableParameterfvEXT\n#define glGetColorTableParameterivEXT       rglGetColorTableParameterivEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_PALETTED_TEXTURE\nREGAL_DECL void REGAL_CALL glColorTableEXT(GLenum target, GLenum internalFormat, GLsizei width, GLenum format, GLenum type, const GLvoid *table);\nREGAL_DECL void REGAL_CALL glGetColorTableEXT(GLenum target, GLenum format, GLenum type, GLvoid *data);\nREGAL_DECL void REGAL_CALL glGetColorTableParameterfvEXT(GLenum target, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetColorTableParameterivEXT(GLenum target, GLenum pname, GLint *params);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_PALETTED_TEXTURE\nREGAL_DECL void REGAL_CALL plugin_glColorTableEXT(GLenum target, GLenum internalFormat, GLsizei width, GLenum format, GLenum type, const GLvoid *table);\nREGAL_DECL void REGAL_CALL plugin_glGetColorTableEXT(GLenum target, GLenum format, GLenum type, GLvoid *data);\nREGAL_DECL void REGAL_CALL plugin_glGetColorTableParameterfvEXT(GLenum target, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetColorTableParameterivEXT(GLenum target, GLenum pname, GLint *params);\n#endif\n\n/**\n ** GL_EXT_pixel_buffer_object\n **/\n\n#if (defined(GL_EXT_PIXEL_BUFFER_OBJECT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_PIXEL_BUFFER_OBJECT)) && !defined(REGAL_NO_ENUM_GL_EXT_PIXEL_BUFFER_OBJECT)\n#define REGAL_NO_ENUM_GL_EXT_PIXEL_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_EXT_PIXEL_BUFFER_OBJECT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_PIXEL_BUFFER_OBJECT)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_PIXEL_BUFFER_OBJECT)\n#define REGAL_NO_TYPEDEF_GL_EXT_PIXEL_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_EXT_PIXEL_BUFFER_OBJECT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_PIXEL_BUFFER_OBJECT)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_PIXEL_BUFFER_OBJECT)\n#define REGAL_NO_NAMESPACE_GL_EXT_PIXEL_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_EXT_PIXEL_BUFFER_OBJECT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_PIXEL_BUFFER_OBJECT)) && !defined(REGAL_NO_PLUGIN_GL_EXT_PIXEL_BUFFER_OBJECT)\n#define REGAL_NO_PLUGIN_GL_EXT_PIXEL_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_EXT_PIXEL_BUFFER_OBJECT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_PIXEL_BUFFER_OBJECT)) && !defined(REGAL_NO_DECLARATION_GL_EXT_PIXEL_BUFFER_OBJECT)\n#define REGAL_NO_DECLARATION_GL_EXT_PIXEL_BUFFER_OBJECT\n#endif\n\n#ifndef GL_EXT_pixel_buffer_object\n#define GL_EXT_pixel_buffer_object 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_PIXEL_BUFFER_OBJECT\n#define GL_PIXEL_PACK_BUFFER_EXT           0x88eb     /* 35051 */\n#define GL_PIXEL_UNPACK_BUFFER_EXT         0x88ec     /* 35052 */\n#define GL_PIXEL_PACK_BUFFER_BINDING_EXT   0x88ed     /* 35053 */\n#define GL_PIXEL_UNPACK_BUFFER_BINDING_EXT 0x88ef     /* 35055 */\n#endif\n\n/**\n ** GL_EXT_pixel_transform\n **/\n\n#if (defined(GL_EXT_PIXEL_TRANSFORM) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_PIXEL_TRANSFORM)) && !defined(REGAL_NO_ENUM_GL_EXT_PIXEL_TRANSFORM)\n#define REGAL_NO_ENUM_GL_EXT_PIXEL_TRANSFORM\n#endif\n\n#if (defined(GL_EXT_PIXEL_TRANSFORM) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_PIXEL_TRANSFORM)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_PIXEL_TRANSFORM)\n#define REGAL_NO_TYPEDEF_GL_EXT_PIXEL_TRANSFORM\n#endif\n\n#if (defined(GL_EXT_PIXEL_TRANSFORM) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_PIXEL_TRANSFORM)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_PIXEL_TRANSFORM)\n#define REGAL_NO_NAMESPACE_GL_EXT_PIXEL_TRANSFORM\n#endif\n\n#if (defined(GL_EXT_PIXEL_TRANSFORM) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_PIXEL_TRANSFORM)) && !defined(REGAL_NO_PLUGIN_GL_EXT_PIXEL_TRANSFORM)\n#define REGAL_NO_PLUGIN_GL_EXT_PIXEL_TRANSFORM\n#endif\n\n#if (defined(GL_EXT_PIXEL_TRANSFORM) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_PIXEL_TRANSFORM)) && !defined(REGAL_NO_DECLARATION_GL_EXT_PIXEL_TRANSFORM)\n#define REGAL_NO_DECLARATION_GL_EXT_PIXEL_TRANSFORM\n#endif\n\n#ifndef GL_EXT_pixel_transform\n#define GL_EXT_pixel_transform 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_PIXEL_TRANSFORM\n#define GL_PIXEL_TRANSFORM_2D_EXT                 0x8330     /* 33584 */\n#define GL_PIXEL_MAG_FILTER_EXT                   0x8331     /* 33585 */\n#define GL_PIXEL_MIN_FILTER_EXT                   0x8332     /* 33586 */\n#define GL_PIXEL_CUBIC_WEIGHT_EXT                 0x8333     /* 33587 */\n#define GL_CUBIC_EXT                              0x8334     /* 33588 */\n#define GL_AVERAGE_EXT                            0x8335     /* 33589 */\n#define GL_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT     0x8336     /* 33590 */\n#define GL_MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT 0x8337     /* 33591 */\n#define GL_PIXEL_TRANSFORM_2D_MATRIX_EXT          0x8338     /* 33592 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_PIXEL_TRANSFORM\ntypedef void (REGAL_CALL *PFNGLGETPIXELTRANSFORMPARAMETERFVEXTPROC)(GLenum target, GLenum pname, const GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETPIXELTRANSFORMPARAMETERIVEXTPROC)(GLenum target, GLenum pname, const GLint *params);\ntypedef void (REGAL_CALL *PFNGLPIXELTRANSFORMPARAMETERFEXTPROC)(GLenum target, GLenum pname, const GLfloat param);\ntypedef void (REGAL_CALL *PFNGLPIXELTRANSFORMPARAMETERFVEXTPROC)(GLenum target, GLenum pname, const GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLPIXELTRANSFORMPARAMETERIEXTPROC)(GLenum target, GLenum pname, const GLint param);\ntypedef void (REGAL_CALL *PFNGLPIXELTRANSFORMPARAMETERIVEXTPROC)(GLenum target, GLenum pname, const GLint *params);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_PIXEL_TRANSFORM\n#define glGetPixelTransformParameterfvEXT   rglGetPixelTransformParameterfvEXT\n#define glGetPixelTransformParameterivEXT   rglGetPixelTransformParameterivEXT\n#define glPixelTransformParameterfEXT       rglPixelTransformParameterfEXT\n#define glPixelTransformParameterfvEXT      rglPixelTransformParameterfvEXT\n#define glPixelTransformParameteriEXT       rglPixelTransformParameteriEXT\n#define glPixelTransformParameterivEXT      rglPixelTransformParameterivEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_PIXEL_TRANSFORM\nREGAL_DECL void REGAL_CALL glGetPixelTransformParameterfvEXT(GLenum target, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetPixelTransformParameterivEXT(GLenum target, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL glPixelTransformParameterfEXT(GLenum target, GLenum pname, const GLfloat param);\nREGAL_DECL void REGAL_CALL glPixelTransformParameterfvEXT(GLenum target, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL glPixelTransformParameteriEXT(GLenum target, GLenum pname, const GLint param);\nREGAL_DECL void REGAL_CALL glPixelTransformParameterivEXT(GLenum target, GLenum pname, const GLint *params);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_PIXEL_TRANSFORM\nREGAL_DECL void REGAL_CALL plugin_glGetPixelTransformParameterfvEXT(GLenum target, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetPixelTransformParameterivEXT(GLenum target, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glPixelTransformParameterfEXT(GLenum target, GLenum pname, const GLfloat param);\nREGAL_DECL void REGAL_CALL plugin_glPixelTransformParameterfvEXT(GLenum target, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glPixelTransformParameteriEXT(GLenum target, GLenum pname, const GLint param);\nREGAL_DECL void REGAL_CALL plugin_glPixelTransformParameterivEXT(GLenum target, GLenum pname, const GLint *params);\n#endif\n\n/**\n ** GL_EXT_point_parameters\n **/\n\n#if (defined(GL_EXT_POINT_PARAMETERS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_POINT_PARAMETERS)) && !defined(REGAL_NO_ENUM_GL_EXT_POINT_PARAMETERS)\n#define REGAL_NO_ENUM_GL_EXT_POINT_PARAMETERS\n#endif\n\n#if (defined(GL_EXT_POINT_PARAMETERS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_POINT_PARAMETERS)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_POINT_PARAMETERS)\n#define REGAL_NO_TYPEDEF_GL_EXT_POINT_PARAMETERS\n#endif\n\n#if (defined(GL_EXT_POINT_PARAMETERS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_POINT_PARAMETERS)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_POINT_PARAMETERS)\n#define REGAL_NO_NAMESPACE_GL_EXT_POINT_PARAMETERS\n#endif\n\n#if (defined(GL_EXT_POINT_PARAMETERS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_POINT_PARAMETERS)) && !defined(REGAL_NO_PLUGIN_GL_EXT_POINT_PARAMETERS)\n#define REGAL_NO_PLUGIN_GL_EXT_POINT_PARAMETERS\n#endif\n\n#if (defined(GL_EXT_POINT_PARAMETERS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_POINT_PARAMETERS)) && !defined(REGAL_NO_DECLARATION_GL_EXT_POINT_PARAMETERS)\n#define REGAL_NO_DECLARATION_GL_EXT_POINT_PARAMETERS\n#endif\n\n#ifndef GL_EXT_point_parameters\n#define GL_EXT_point_parameters 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_POINT_PARAMETERS\n#define GL_POINT_SIZE_MIN_EXT            0x8126     /* 33062 */\n#define GL_POINT_SIZE_MAX_EXT            0x8127     /* 33063 */\n#define GL_POINT_FADE_THRESHOLD_SIZE_EXT 0x8128     /* 33064 */\n#define GL_DISTANCE_ATTENUATION_EXT      0x8129     /* 33065 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_POINT_PARAMETERS\ntypedef void (REGAL_CALL *PFNGLPOINTPARAMETERFEXTPROC)(GLenum pname, GLfloat param);\ntypedef void (REGAL_CALL *PFNGLPOINTPARAMETERFVEXTPROC)(GLenum pname, const GLfloat *params);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_POINT_PARAMETERS\n#define glPointParameterfEXT                rglPointParameterfEXT\n#define glPointParameterfvEXT               rglPointParameterfvEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_POINT_PARAMETERS\nREGAL_DECL void REGAL_CALL glPointParameterfEXT(GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL glPointParameterfvEXT(GLenum pname, const GLfloat *params);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_POINT_PARAMETERS\nREGAL_DECL void REGAL_CALL plugin_glPointParameterfEXT(GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL plugin_glPointParameterfvEXT(GLenum pname, const GLfloat *params);\n#endif\n\n/**\n ** GL_EXT_polygon_offset\n **/\n\n#if (defined(GL_EXT_POLYGON_OFFSET) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_POLYGON_OFFSET)) && !defined(REGAL_NO_ENUM_GL_EXT_POLYGON_OFFSET)\n#define REGAL_NO_ENUM_GL_EXT_POLYGON_OFFSET\n#endif\n\n#if (defined(GL_EXT_POLYGON_OFFSET) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_POLYGON_OFFSET)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_POLYGON_OFFSET)\n#define REGAL_NO_TYPEDEF_GL_EXT_POLYGON_OFFSET\n#endif\n\n#if (defined(GL_EXT_POLYGON_OFFSET) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_POLYGON_OFFSET)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_POLYGON_OFFSET)\n#define REGAL_NO_NAMESPACE_GL_EXT_POLYGON_OFFSET\n#endif\n\n#if (defined(GL_EXT_POLYGON_OFFSET) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_POLYGON_OFFSET)) && !defined(REGAL_NO_PLUGIN_GL_EXT_POLYGON_OFFSET)\n#define REGAL_NO_PLUGIN_GL_EXT_POLYGON_OFFSET\n#endif\n\n#if (defined(GL_EXT_POLYGON_OFFSET) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_POLYGON_OFFSET)) && !defined(REGAL_NO_DECLARATION_GL_EXT_POLYGON_OFFSET)\n#define REGAL_NO_DECLARATION_GL_EXT_POLYGON_OFFSET\n#endif\n\n#ifndef GL_EXT_polygon_offset\n#define GL_EXT_polygon_offset 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_POLYGON_OFFSET\n#define GL_POLYGON_OFFSET_EXT        0x8037     /* 32823 */\n#define GL_POLYGON_OFFSET_FACTOR_EXT 0x8038     /* 32824 */\n#define GL_POLYGON_OFFSET_BIAS_EXT   0x8039     /* 32825 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_POLYGON_OFFSET\ntypedef void (REGAL_CALL *PFNGLPOLYGONOFFSETEXTPROC)(GLfloat factor, GLfloat bias);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_POLYGON_OFFSET\n#define glPolygonOffsetEXT                  rglPolygonOffsetEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_POLYGON_OFFSET\nREGAL_DECL void REGAL_CALL glPolygonOffsetEXT(GLfloat factor, GLfloat bias);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_POLYGON_OFFSET\nREGAL_DECL void REGAL_CALL plugin_glPolygonOffsetEXT(GLfloat factor, GLfloat bias);\n#endif\n\n/**\n ** GL_EXT_provoking_vertex\n **/\n\n#if (defined(GL_EXT_PROVOKING_VERTEX) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_PROVOKING_VERTEX)) && !defined(REGAL_NO_ENUM_GL_EXT_PROVOKING_VERTEX)\n#define REGAL_NO_ENUM_GL_EXT_PROVOKING_VERTEX\n#endif\n\n#if (defined(GL_EXT_PROVOKING_VERTEX) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_PROVOKING_VERTEX)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_PROVOKING_VERTEX)\n#define REGAL_NO_TYPEDEF_GL_EXT_PROVOKING_VERTEX\n#endif\n\n#if (defined(GL_EXT_PROVOKING_VERTEX) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_PROVOKING_VERTEX)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_PROVOKING_VERTEX)\n#define REGAL_NO_NAMESPACE_GL_EXT_PROVOKING_VERTEX\n#endif\n\n#if (defined(GL_EXT_PROVOKING_VERTEX) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_PROVOKING_VERTEX)) && !defined(REGAL_NO_PLUGIN_GL_EXT_PROVOKING_VERTEX)\n#define REGAL_NO_PLUGIN_GL_EXT_PROVOKING_VERTEX\n#endif\n\n#if (defined(GL_EXT_PROVOKING_VERTEX) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_PROVOKING_VERTEX)) && !defined(REGAL_NO_DECLARATION_GL_EXT_PROVOKING_VERTEX)\n#define REGAL_NO_DECLARATION_GL_EXT_PROVOKING_VERTEX\n#endif\n\n#ifndef GL_EXT_provoking_vertex\n#define GL_EXT_provoking_vertex 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_PROVOKING_VERTEX\n#define GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT 0x8e4c     /* 36428 */\n#define GL_FIRST_VERTEX_CONVENTION_EXT                  0x8e4d     /* 36429 */\n#define GL_LAST_VERTEX_CONVENTION_EXT                   0x8e4e     /* 36430 */\n#define GL_PROVOKING_VERTEX_EXT                         0x8e4f     /* 36431 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_PROVOKING_VERTEX\ntypedef void (REGAL_CALL *PFNGLPROVOKINGVERTEXEXTPROC)(GLenum mode);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_PROVOKING_VERTEX\n#define glProvokingVertexEXT                rglProvokingVertexEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_PROVOKING_VERTEX\nREGAL_DECL void REGAL_CALL glProvokingVertexEXT(GLenum mode);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_PROVOKING_VERTEX\nREGAL_DECL void REGAL_CALL plugin_glProvokingVertexEXT(GLenum mode);\n#endif\n\n/**\n ** GL_EXT_read_format_bgra\n **/\n\n#if (defined(GL_EXT_READ_FORMAT_BGRA) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_READ_FORMAT_BGRA)) && !defined(REGAL_NO_ENUM_GL_EXT_READ_FORMAT_BGRA)\n#define REGAL_NO_ENUM_GL_EXT_READ_FORMAT_BGRA\n#endif\n\n#if (defined(GL_EXT_READ_FORMAT_BGRA) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_READ_FORMAT_BGRA)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_READ_FORMAT_BGRA)\n#define REGAL_NO_TYPEDEF_GL_EXT_READ_FORMAT_BGRA\n#endif\n\n#if (defined(GL_EXT_READ_FORMAT_BGRA) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_READ_FORMAT_BGRA)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_READ_FORMAT_BGRA)\n#define REGAL_NO_NAMESPACE_GL_EXT_READ_FORMAT_BGRA\n#endif\n\n#if (defined(GL_EXT_READ_FORMAT_BGRA) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_READ_FORMAT_BGRA)) && !defined(REGAL_NO_PLUGIN_GL_EXT_READ_FORMAT_BGRA)\n#define REGAL_NO_PLUGIN_GL_EXT_READ_FORMAT_BGRA\n#endif\n\n#if (defined(GL_EXT_READ_FORMAT_BGRA) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_READ_FORMAT_BGRA)) && !defined(REGAL_NO_DECLARATION_GL_EXT_READ_FORMAT_BGRA)\n#define REGAL_NO_DECLARATION_GL_EXT_READ_FORMAT_BGRA\n#endif\n\n#ifndef GL_EXT_read_format_bgra\n#define GL_EXT_read_format_bgra 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_READ_FORMAT_BGRA\n#define GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT 0x8365     /* 33637 */\n#define GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT 0x8366     /* 33638 */\n#endif\n\n/**\n ** GL_EXT_rescale_normal\n **/\n\n#if (defined(GL_EXT_RESCALE_NORMAL) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_RESCALE_NORMAL)) && !defined(REGAL_NO_ENUM_GL_EXT_RESCALE_NORMAL)\n#define REGAL_NO_ENUM_GL_EXT_RESCALE_NORMAL\n#endif\n\n#if (defined(GL_EXT_RESCALE_NORMAL) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_RESCALE_NORMAL)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_RESCALE_NORMAL)\n#define REGAL_NO_TYPEDEF_GL_EXT_RESCALE_NORMAL\n#endif\n\n#if (defined(GL_EXT_RESCALE_NORMAL) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_RESCALE_NORMAL)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_RESCALE_NORMAL)\n#define REGAL_NO_NAMESPACE_GL_EXT_RESCALE_NORMAL\n#endif\n\n#if (defined(GL_EXT_RESCALE_NORMAL) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_RESCALE_NORMAL)) && !defined(REGAL_NO_PLUGIN_GL_EXT_RESCALE_NORMAL)\n#define REGAL_NO_PLUGIN_GL_EXT_RESCALE_NORMAL\n#endif\n\n#if (defined(GL_EXT_RESCALE_NORMAL) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_RESCALE_NORMAL)) && !defined(REGAL_NO_DECLARATION_GL_EXT_RESCALE_NORMAL)\n#define REGAL_NO_DECLARATION_GL_EXT_RESCALE_NORMAL\n#endif\n\n#ifndef GL_EXT_rescale_normal\n#define GL_EXT_rescale_normal 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_RESCALE_NORMAL\n#define GL_RESCALE_NORMAL_EXT 0x803a /* 32826 */\n#endif\n\n/**\n ** GL_EXT_robustness\n **/\n\n#if (defined(GL_EXT_ROBUSTNESS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_ROBUSTNESS)) && !defined(REGAL_NO_ENUM_GL_EXT_ROBUSTNESS)\n#define REGAL_NO_ENUM_GL_EXT_ROBUSTNESS\n#endif\n\n#if (defined(GL_EXT_ROBUSTNESS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_ROBUSTNESS)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_ROBUSTNESS)\n#define REGAL_NO_TYPEDEF_GL_EXT_ROBUSTNESS\n#endif\n\n#if (defined(GL_EXT_ROBUSTNESS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_ROBUSTNESS)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_ROBUSTNESS)\n#define REGAL_NO_NAMESPACE_GL_EXT_ROBUSTNESS\n#endif\n\n#if (defined(GL_EXT_ROBUSTNESS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_ROBUSTNESS)) && !defined(REGAL_NO_PLUGIN_GL_EXT_ROBUSTNESS)\n#define REGAL_NO_PLUGIN_GL_EXT_ROBUSTNESS\n#endif\n\n#if (defined(GL_EXT_ROBUSTNESS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_ROBUSTNESS)) && !defined(REGAL_NO_DECLARATION_GL_EXT_ROBUSTNESS)\n#define REGAL_NO_DECLARATION_GL_EXT_ROBUSTNESS\n#endif\n\n#ifndef GL_EXT_robustness\n#define GL_EXT_robustness 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_ROBUSTNESS\n#define GL_LOSE_CONTEXT_ON_RESET_EXT       0x8252     /* 33362 */\n#define GL_GUILTY_CONTEXT_RESET_EXT        0x8253     /* 33363 */\n#define GL_INNOCENT_CONTEXT_RESET_EXT      0x8254     /* 33364 */\n#define GL_UNKNOWN_CONTEXT_RESET_EXT       0x8255     /* 33365 */\n#define GL_RESET_NOTIFICATION_STRATEGY_EXT 0x8256     /* 33366 */\n#define GL_NO_RESET_NOTIFICATION_EXT       0x8261     /* 33377 */\n#define GL_CONTEXT_ROBUST_ACCESS_EXT       0x90f3     /* 37107 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_ROBUSTNESS\ntypedef void (REGAL_CALL *PFNGLGETNUNIFORMFVEXTPROC)(GLuint program, GLint location, GLsizei bufSize, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETNUNIFORMIVEXTPROC)(GLuint program, GLint location, GLsizei bufSize, GLint *params);\ntypedef void (REGAL_CALL *PFNGLREADNPIXELSEXTPROC)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLvoid *data);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_ROBUSTNESS\n#define glGetnUniformfvEXT                  rglGetnUniformfvEXT\n#define glGetnUniformivEXT                  rglGetnUniformivEXT\n#define glReadnPixelsEXT                    rglReadnPixelsEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_ROBUSTNESS\nREGAL_DECL void REGAL_CALL glGetnUniformfvEXT(GLuint program, GLint location, GLsizei bufSize, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetnUniformivEXT(GLuint program, GLint location, GLsizei bufSize, GLint *params);\nREGAL_DECL void REGAL_CALL glReadnPixelsEXT(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLvoid *data);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_ROBUSTNESS\nREGAL_DECL void REGAL_CALL plugin_glGetnUniformfvEXT(GLuint program, GLint location, GLsizei bufSize, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetnUniformivEXT(GLuint program, GLint location, GLsizei bufSize, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glReadnPixelsEXT(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLvoid *data);\n#endif\n\n/**\n ** GL_EXT_sRGB\n **/\n\n#if (defined(GL_EXT_SRGB) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_SRGB)) && !defined(REGAL_NO_ENUM_GL_EXT_SRGB)\n#define REGAL_NO_ENUM_GL_EXT_SRGB\n#endif\n\n#if (defined(GL_EXT_SRGB) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_SRGB)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_SRGB)\n#define REGAL_NO_TYPEDEF_GL_EXT_SRGB\n#endif\n\n#if (defined(GL_EXT_SRGB) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_SRGB)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_SRGB)\n#define REGAL_NO_NAMESPACE_GL_EXT_SRGB\n#endif\n\n#if (defined(GL_EXT_SRGB) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_SRGB)) && !defined(REGAL_NO_PLUGIN_GL_EXT_SRGB)\n#define REGAL_NO_PLUGIN_GL_EXT_SRGB\n#endif\n\n#if (defined(GL_EXT_SRGB) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_SRGB)) && !defined(REGAL_NO_DECLARATION_GL_EXT_SRGB)\n#define REGAL_NO_DECLARATION_GL_EXT_SRGB\n#endif\n\n#ifndef GL_EXT_sRGB\n#define GL_EXT_sRGB 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_SRGB\n#define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT 0x8210 /* 33296 */\n#endif\n\n/**\n ** GL_EXT_scene_marker\n **/\n\n#if (defined(GL_EXT_SCENE_MARKER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_SCENE_MARKER)) && !defined(REGAL_NO_ENUM_GL_EXT_SCENE_MARKER)\n#define REGAL_NO_ENUM_GL_EXT_SCENE_MARKER\n#endif\n\n#if (defined(GL_EXT_SCENE_MARKER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_SCENE_MARKER)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_SCENE_MARKER)\n#define REGAL_NO_TYPEDEF_GL_EXT_SCENE_MARKER\n#endif\n\n#if (defined(GL_EXT_SCENE_MARKER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_SCENE_MARKER)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_SCENE_MARKER)\n#define REGAL_NO_NAMESPACE_GL_EXT_SCENE_MARKER\n#endif\n\n#if (defined(GL_EXT_SCENE_MARKER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_SCENE_MARKER)) && !defined(REGAL_NO_PLUGIN_GL_EXT_SCENE_MARKER)\n#define REGAL_NO_PLUGIN_GL_EXT_SCENE_MARKER\n#endif\n\n#if (defined(GL_EXT_SCENE_MARKER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_SCENE_MARKER)) && !defined(REGAL_NO_DECLARATION_GL_EXT_SCENE_MARKER)\n#define REGAL_NO_DECLARATION_GL_EXT_SCENE_MARKER\n#endif\n\n#ifndef GL_EXT_scene_marker\n#define GL_EXT_scene_marker 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_SCENE_MARKER\ntypedef void (REGAL_CALL *PFNGLBEGINSCENEEXTPROC)(void);\ntypedef void (REGAL_CALL *PFNGLENDSCENEEXTPROC)(void);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_SCENE_MARKER\n#define glBeginSceneEXT                     rglBeginSceneEXT\n#define glEndSceneEXT                       rglEndSceneEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_SCENE_MARKER\nREGAL_DECL void REGAL_CALL glBeginSceneEXT(void);\nREGAL_DECL void REGAL_CALL glEndSceneEXT(void);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_SCENE_MARKER\nREGAL_DECL void REGAL_CALL plugin_glBeginSceneEXT(void);\nREGAL_DECL void REGAL_CALL plugin_glEndSceneEXT(void);\n#endif\n\n/**\n ** GL_EXT_secondary_color\n **/\n\n#if (defined(GL_EXT_SECONDARY_COLOR) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_SECONDARY_COLOR)) && !defined(REGAL_NO_ENUM_GL_EXT_SECONDARY_COLOR)\n#define REGAL_NO_ENUM_GL_EXT_SECONDARY_COLOR\n#endif\n\n#if (defined(GL_EXT_SECONDARY_COLOR) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_SECONDARY_COLOR)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_SECONDARY_COLOR)\n#define REGAL_NO_TYPEDEF_GL_EXT_SECONDARY_COLOR\n#endif\n\n#if (defined(GL_EXT_SECONDARY_COLOR) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_SECONDARY_COLOR)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_SECONDARY_COLOR)\n#define REGAL_NO_NAMESPACE_GL_EXT_SECONDARY_COLOR\n#endif\n\n#if (defined(GL_EXT_SECONDARY_COLOR) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_SECONDARY_COLOR)) && !defined(REGAL_NO_PLUGIN_GL_EXT_SECONDARY_COLOR)\n#define REGAL_NO_PLUGIN_GL_EXT_SECONDARY_COLOR\n#endif\n\n#if (defined(GL_EXT_SECONDARY_COLOR) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_SECONDARY_COLOR)) && !defined(REGAL_NO_DECLARATION_GL_EXT_SECONDARY_COLOR)\n#define REGAL_NO_DECLARATION_GL_EXT_SECONDARY_COLOR\n#endif\n\n#ifndef GL_EXT_secondary_color\n#define GL_EXT_secondary_color 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_SECONDARY_COLOR\n#define GL_COLOR_SUM_EXT                     0x8458     /* 33880 */\n#define GL_CURRENT_SECONDARY_COLOR_EXT       0x8459     /* 33881 */\n#define GL_SECONDARY_COLOR_ARRAY_SIZE_EXT    0x845a     /* 33882 */\n#define GL_SECONDARY_COLOR_ARRAY_TYPE_EXT    0x845b     /* 33883 */\n#define GL_SECONDARY_COLOR_ARRAY_STRIDE_EXT  0x845c     /* 33884 */\n#define GL_SECONDARY_COLOR_ARRAY_POINTER_EXT 0x845d     /* 33885 */\n#define GL_SECONDARY_COLOR_ARRAY_EXT         0x845e     /* 33886 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_SECONDARY_COLOR\ntypedef void (REGAL_CALL *PFNGLSECONDARYCOLOR3BEXTPROC)(GLbyte red, GLbyte green, GLbyte blue);\ntypedef void (REGAL_CALL *PFNGLSECONDARYCOLOR3BVEXTPROC)(const GLbyte *v);\ntypedef void (REGAL_CALL *PFNGLSECONDARYCOLOR3DEXTPROC)(GLdouble red, GLdouble green, GLdouble blue);\ntypedef void (REGAL_CALL *PFNGLSECONDARYCOLOR3DVEXTPROC)(const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLSECONDARYCOLOR3FEXTPROC)(GLfloat red, GLfloat green, GLfloat blue);\ntypedef void (REGAL_CALL *PFNGLSECONDARYCOLOR3FVEXTPROC)(const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLSECONDARYCOLOR3IEXTPROC)(GLint red, GLint green, GLint blue);\ntypedef void (REGAL_CALL *PFNGLSECONDARYCOLOR3IVEXTPROC)(const GLint *v);\ntypedef void (REGAL_CALL *PFNGLSECONDARYCOLOR3SEXTPROC)(GLshort red, GLshort green, GLshort blue);\ntypedef void (REGAL_CALL *PFNGLSECONDARYCOLOR3SVEXTPROC)(const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLSECONDARYCOLOR3UBEXTPROC)(GLubyte red, GLubyte green, GLubyte blue);\ntypedef void (REGAL_CALL *PFNGLSECONDARYCOLOR3UBVEXTPROC)(const GLubyte *v);\ntypedef void (REGAL_CALL *PFNGLSECONDARYCOLOR3UIEXTPROC)(GLuint red, GLuint green, GLuint blue);\ntypedef void (REGAL_CALL *PFNGLSECONDARYCOLOR3UIVEXTPROC)(const GLuint *v);\ntypedef void (REGAL_CALL *PFNGLSECONDARYCOLOR3USEXTPROC)(GLushort red, GLushort green, GLushort blue);\ntypedef void (REGAL_CALL *PFNGLSECONDARYCOLOR3USVEXTPROC)(const GLushort *v);\ntypedef void (REGAL_CALL *PFNGLSECONDARYCOLORPOINTEREXTPROC)(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_SECONDARY_COLOR\n#define glSecondaryColor3bEXT               rglSecondaryColor3bEXT\n#define glSecondaryColor3bvEXT              rglSecondaryColor3bvEXT\n#define glSecondaryColor3dEXT               rglSecondaryColor3dEXT\n#define glSecondaryColor3dvEXT              rglSecondaryColor3dvEXT\n#define glSecondaryColor3fEXT               rglSecondaryColor3fEXT\n#define glSecondaryColor3fvEXT              rglSecondaryColor3fvEXT\n#define glSecondaryColor3iEXT               rglSecondaryColor3iEXT\n#define glSecondaryColor3ivEXT              rglSecondaryColor3ivEXT\n#define glSecondaryColor3sEXT               rglSecondaryColor3sEXT\n#define glSecondaryColor3svEXT              rglSecondaryColor3svEXT\n#define glSecondaryColor3ubEXT              rglSecondaryColor3ubEXT\n#define glSecondaryColor3ubvEXT             rglSecondaryColor3ubvEXT\n#define glSecondaryColor3uiEXT              rglSecondaryColor3uiEXT\n#define glSecondaryColor3uivEXT             rglSecondaryColor3uivEXT\n#define glSecondaryColor3usEXT              rglSecondaryColor3usEXT\n#define glSecondaryColor3usvEXT             rglSecondaryColor3usvEXT\n#define glSecondaryColorPointerEXT          rglSecondaryColorPointerEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_SECONDARY_COLOR\nREGAL_DECL void REGAL_CALL glSecondaryColor3bEXT(GLbyte red, GLbyte green, GLbyte blue);\nREGAL_DECL void REGAL_CALL glSecondaryColor3bvEXT(const GLbyte *v);\nREGAL_DECL void REGAL_CALL glSecondaryColor3dEXT(GLdouble red, GLdouble green, GLdouble blue);\nREGAL_DECL void REGAL_CALL glSecondaryColor3dvEXT(const GLdouble *v);\nREGAL_DECL void REGAL_CALL glSecondaryColor3fEXT(GLfloat red, GLfloat green, GLfloat blue);\nREGAL_DECL void REGAL_CALL glSecondaryColor3fvEXT(const GLfloat *v);\nREGAL_DECL void REGAL_CALL glSecondaryColor3iEXT(GLint red, GLint green, GLint blue);\nREGAL_DECL void REGAL_CALL glSecondaryColor3ivEXT(const GLint *v);\nREGAL_DECL void REGAL_CALL glSecondaryColor3sEXT(GLshort red, GLshort green, GLshort blue);\nREGAL_DECL void REGAL_CALL glSecondaryColor3svEXT(const GLshort *v);\nREGAL_DECL void REGAL_CALL glSecondaryColor3ubEXT(GLubyte red, GLubyte green, GLubyte blue);\nREGAL_DECL void REGAL_CALL glSecondaryColor3ubvEXT(const GLubyte *v);\nREGAL_DECL void REGAL_CALL glSecondaryColor3uiEXT(GLuint red, GLuint green, GLuint blue);\nREGAL_DECL void REGAL_CALL glSecondaryColor3uivEXT(const GLuint *v);\nREGAL_DECL void REGAL_CALL glSecondaryColor3usEXT(GLushort red, GLushort green, GLushort blue);\nREGAL_DECL void REGAL_CALL glSecondaryColor3usvEXT(const GLushort *v);\nREGAL_DECL void REGAL_CALL glSecondaryColorPointerEXT(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_SECONDARY_COLOR\nREGAL_DECL void REGAL_CALL plugin_glSecondaryColor3bEXT(GLbyte red, GLbyte green, GLbyte blue);\nREGAL_DECL void REGAL_CALL plugin_glSecondaryColor3bvEXT(const GLbyte *v);\nREGAL_DECL void REGAL_CALL plugin_glSecondaryColor3dEXT(GLdouble red, GLdouble green, GLdouble blue);\nREGAL_DECL void REGAL_CALL plugin_glSecondaryColor3dvEXT(const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glSecondaryColor3fEXT(GLfloat red, GLfloat green, GLfloat blue);\nREGAL_DECL void REGAL_CALL plugin_glSecondaryColor3fvEXT(const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glSecondaryColor3iEXT(GLint red, GLint green, GLint blue);\nREGAL_DECL void REGAL_CALL plugin_glSecondaryColor3ivEXT(const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glSecondaryColor3sEXT(GLshort red, GLshort green, GLshort blue);\nREGAL_DECL void REGAL_CALL plugin_glSecondaryColor3svEXT(const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glSecondaryColor3ubEXT(GLubyte red, GLubyte green, GLubyte blue);\nREGAL_DECL void REGAL_CALL plugin_glSecondaryColor3ubvEXT(const GLubyte *v);\nREGAL_DECL void REGAL_CALL plugin_glSecondaryColor3uiEXT(GLuint red, GLuint green, GLuint blue);\nREGAL_DECL void REGAL_CALL plugin_glSecondaryColor3uivEXT(const GLuint *v);\nREGAL_DECL void REGAL_CALL plugin_glSecondaryColor3usEXT(GLushort red, GLushort green, GLushort blue);\nREGAL_DECL void REGAL_CALL plugin_glSecondaryColor3usvEXT(const GLushort *v);\nREGAL_DECL void REGAL_CALL plugin_glSecondaryColorPointerEXT(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);\n#endif\n\n/**\n ** GL_EXT_separate_shader_objects\n **/\n\n#if (defined(GL_EXT_SEPARATE_SHADER_OBJECTS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_SEPARATE_SHADER_OBJECTS)) && !defined(REGAL_NO_ENUM_GL_EXT_SEPARATE_SHADER_OBJECTS)\n#define REGAL_NO_ENUM_GL_EXT_SEPARATE_SHADER_OBJECTS\n#endif\n\n#if (defined(GL_EXT_SEPARATE_SHADER_OBJECTS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_SEPARATE_SHADER_OBJECTS)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_SEPARATE_SHADER_OBJECTS)\n#define REGAL_NO_TYPEDEF_GL_EXT_SEPARATE_SHADER_OBJECTS\n#endif\n\n#if (defined(GL_EXT_SEPARATE_SHADER_OBJECTS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_SEPARATE_SHADER_OBJECTS)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_SEPARATE_SHADER_OBJECTS)\n#define REGAL_NO_NAMESPACE_GL_EXT_SEPARATE_SHADER_OBJECTS\n#endif\n\n#if (defined(GL_EXT_SEPARATE_SHADER_OBJECTS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_SEPARATE_SHADER_OBJECTS)) && !defined(REGAL_NO_PLUGIN_GL_EXT_SEPARATE_SHADER_OBJECTS)\n#define REGAL_NO_PLUGIN_GL_EXT_SEPARATE_SHADER_OBJECTS\n#endif\n\n#if (defined(GL_EXT_SEPARATE_SHADER_OBJECTS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_SEPARATE_SHADER_OBJECTS)) && !defined(REGAL_NO_DECLARATION_GL_EXT_SEPARATE_SHADER_OBJECTS)\n#define REGAL_NO_DECLARATION_GL_EXT_SEPARATE_SHADER_OBJECTS\n#endif\n\n#ifndef GL_EXT_separate_shader_objects\n#define GL_EXT_separate_shader_objects 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_SEPARATE_SHADER_OBJECTS\n#define GL_ACTIVE_PROGRAM_EXT 0x8b8d /* 35725 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_SEPARATE_SHADER_OBJECTS\ntypedef GLuint (REGAL_CALL *PFNGLCREATESHADERPROGRAMEXTPROC)(GLenum type, const GLchar *string);\ntypedef void (REGAL_CALL *PFNGLACTIVEPROGRAMEXTPROC)(GLuint program);\ntypedef void (REGAL_CALL *PFNGLUSESHADERPROGRAMEXTPROC)(GLenum type, GLuint program);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_SEPARATE_SHADER_OBJECTS\n#define glActiveProgramEXT                  rglActiveProgramEXT\n#define glCreateShaderProgramEXT            rglCreateShaderProgramEXT\n#define glUseShaderProgramEXT               rglUseShaderProgramEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_SEPARATE_SHADER_OBJECTS\nREGAL_DECL GLuint REGAL_CALL glCreateShaderProgramEXT(GLenum type, const GLchar *string);\nREGAL_DECL void REGAL_CALL glActiveProgramEXT(GLuint program);\nREGAL_DECL void REGAL_CALL glUseShaderProgramEXT(GLenum type, GLuint program);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_SEPARATE_SHADER_OBJECTS\nREGAL_DECL GLuint REGAL_CALL plugin_glCreateShaderProgramEXT(GLenum type, const GLchar *string);\nREGAL_DECL void REGAL_CALL plugin_glActiveProgramEXT(GLuint program);\nREGAL_DECL void REGAL_CALL plugin_glUseShaderProgramEXT(GLenum type, GLuint program);\n#endif\n\n/**\n ** GL_EXT_separate_specular_color\n **/\n\n#if (defined(GL_EXT_SEPARATE_SPECULAR_COLOR) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_SEPARATE_SPECULAR_COLOR)) && !defined(REGAL_NO_ENUM_GL_EXT_SEPARATE_SPECULAR_COLOR)\n#define REGAL_NO_ENUM_GL_EXT_SEPARATE_SPECULAR_COLOR\n#endif\n\n#if (defined(GL_EXT_SEPARATE_SPECULAR_COLOR) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_SEPARATE_SPECULAR_COLOR)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_SEPARATE_SPECULAR_COLOR)\n#define REGAL_NO_TYPEDEF_GL_EXT_SEPARATE_SPECULAR_COLOR\n#endif\n\n#if (defined(GL_EXT_SEPARATE_SPECULAR_COLOR) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_SEPARATE_SPECULAR_COLOR)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_SEPARATE_SPECULAR_COLOR)\n#define REGAL_NO_NAMESPACE_GL_EXT_SEPARATE_SPECULAR_COLOR\n#endif\n\n#if (defined(GL_EXT_SEPARATE_SPECULAR_COLOR) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_SEPARATE_SPECULAR_COLOR)) && !defined(REGAL_NO_PLUGIN_GL_EXT_SEPARATE_SPECULAR_COLOR)\n#define REGAL_NO_PLUGIN_GL_EXT_SEPARATE_SPECULAR_COLOR\n#endif\n\n#if (defined(GL_EXT_SEPARATE_SPECULAR_COLOR) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_SEPARATE_SPECULAR_COLOR)) && !defined(REGAL_NO_DECLARATION_GL_EXT_SEPARATE_SPECULAR_COLOR)\n#define REGAL_NO_DECLARATION_GL_EXT_SEPARATE_SPECULAR_COLOR\n#endif\n\n#ifndef GL_EXT_separate_specular_color\n#define GL_EXT_separate_specular_color 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_SEPARATE_SPECULAR_COLOR\n#define GL_LIGHT_MODEL_COLOR_CONTROL_EXT 0x81f8     /* 33272 */\n#define GL_SINGLE_COLOR_EXT              0x81f9     /* 33273 */\n#define GL_SEPARATE_SPECULAR_COLOR_EXT   0x81fa     /* 33274 */\n#endif\n\n/**\n ** GL_EXT_shader_framebuffer_fetch\n **/\n\n#if (defined(GL_EXT_SHADER_FRAMEBUFFER_FETCH) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_SHADER_FRAMEBUFFER_FETCH)) && !defined(REGAL_NO_ENUM_GL_EXT_SHADER_FRAMEBUFFER_FETCH)\n#define REGAL_NO_ENUM_GL_EXT_SHADER_FRAMEBUFFER_FETCH\n#endif\n\n#if (defined(GL_EXT_SHADER_FRAMEBUFFER_FETCH) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_SHADER_FRAMEBUFFER_FETCH)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_SHADER_FRAMEBUFFER_FETCH)\n#define REGAL_NO_TYPEDEF_GL_EXT_SHADER_FRAMEBUFFER_FETCH\n#endif\n\n#if (defined(GL_EXT_SHADER_FRAMEBUFFER_FETCH) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_SHADER_FRAMEBUFFER_FETCH)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_SHADER_FRAMEBUFFER_FETCH)\n#define REGAL_NO_NAMESPACE_GL_EXT_SHADER_FRAMEBUFFER_FETCH\n#endif\n\n#if (defined(GL_EXT_SHADER_FRAMEBUFFER_FETCH) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_SHADER_FRAMEBUFFER_FETCH)) && !defined(REGAL_NO_PLUGIN_GL_EXT_SHADER_FRAMEBUFFER_FETCH)\n#define REGAL_NO_PLUGIN_GL_EXT_SHADER_FRAMEBUFFER_FETCH\n#endif\n\n#if (defined(GL_EXT_SHADER_FRAMEBUFFER_FETCH) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_SHADER_FRAMEBUFFER_FETCH)) && !defined(REGAL_NO_DECLARATION_GL_EXT_SHADER_FRAMEBUFFER_FETCH)\n#define REGAL_NO_DECLARATION_GL_EXT_SHADER_FRAMEBUFFER_FETCH\n#endif\n\n#ifndef GL_EXT_shader_framebuffer_fetch\n#define GL_EXT_shader_framebuffer_fetch 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_SHADER_FRAMEBUFFER_FETCH\n#define GL_FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT 0x8a52 /* 35410 */\n#endif\n\n/**\n ** GL_EXT_shader_image_load_store\n **/\n\n#if (defined(GL_EXT_SHADER_IMAGE_LOAD_STORE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_SHADER_IMAGE_LOAD_STORE)) && !defined(REGAL_NO_ENUM_GL_EXT_SHADER_IMAGE_LOAD_STORE)\n#define REGAL_NO_ENUM_GL_EXT_SHADER_IMAGE_LOAD_STORE\n#endif\n\n#if (defined(GL_EXT_SHADER_IMAGE_LOAD_STORE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_SHADER_IMAGE_LOAD_STORE)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_SHADER_IMAGE_LOAD_STORE)\n#define REGAL_NO_TYPEDEF_GL_EXT_SHADER_IMAGE_LOAD_STORE\n#endif\n\n#if (defined(GL_EXT_SHADER_IMAGE_LOAD_STORE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_SHADER_IMAGE_LOAD_STORE)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_SHADER_IMAGE_LOAD_STORE)\n#define REGAL_NO_NAMESPACE_GL_EXT_SHADER_IMAGE_LOAD_STORE\n#endif\n\n#if (defined(GL_EXT_SHADER_IMAGE_LOAD_STORE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_SHADER_IMAGE_LOAD_STORE)) && !defined(REGAL_NO_PLUGIN_GL_EXT_SHADER_IMAGE_LOAD_STORE)\n#define REGAL_NO_PLUGIN_GL_EXT_SHADER_IMAGE_LOAD_STORE\n#endif\n\n#if (defined(GL_EXT_SHADER_IMAGE_LOAD_STORE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_SHADER_IMAGE_LOAD_STORE)) && !defined(REGAL_NO_DECLARATION_GL_EXT_SHADER_IMAGE_LOAD_STORE)\n#define REGAL_NO_DECLARATION_GL_EXT_SHADER_IMAGE_LOAD_STORE\n#endif\n\n#ifndef GL_EXT_shader_image_load_store\n#define GL_EXT_shader_image_load_store 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_SHADER_IMAGE_LOAD_STORE\n#define GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT_EXT               0x1\n#define GL_TEXTURE_UPDATE_BARRIER_BIT_EXT                    0x100          /* 256 */\n#define GL_ATOMIC_COUNTER_BARRIER_BIT_EXT                    0x1000         /* 4096 */\n#define GL_ELEMENT_ARRAY_BARRIER_BIT_EXT                     0x2\n#define GL_SHADER_IMAGE_ACCESS_BARRIER_BIT_EXT               0x20           /* 32 */\n#define GL_BUFFER_UPDATE_BARRIER_BIT_EXT                     0x200          /* 512 */\n#define GL_UNIFORM_BARRIER_BIT_EXT                           0x4\n#define GL_COMMAND_BARRIER_BIT_EXT                           0x40           /* 64 */\n#define GL_FRAMEBUFFER_BARRIER_BIT_EXT                       0x400          /* 1024 */\n#define GL_TEXTURE_FETCH_BARRIER_BIT_EXT                     0x8\n#define GL_PIXEL_BUFFER_BARRIER_BIT_EXT                      0x80           /* 128 */\n#define GL_TRANSFORM_FEEDBACK_BARRIER_BIT_EXT                0x800          /* 2048 */\n#define GL_MAX_IMAGE_UNITS_EXT                               0x8f38         /* 36664 */\n#define GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS_EXT 0x8f39         /* 36665 */\n#define GL_IMAGE_BINDING_NAME_EXT                            0x8f3a         /* 36666 */\n#define GL_IMAGE_BINDING_LEVEL_EXT                           0x8f3b         /* 36667 */\n#define GL_IMAGE_BINDING_LAYERED_EXT                         0x8f3c         /* 36668 */\n#define GL_IMAGE_BINDING_LAYER_EXT                           0x8f3d         /* 36669 */\n#define GL_IMAGE_BINDING_ACCESS_EXT                          0x8f3e         /* 36670 */\n#define GL_IMAGE_1D_EXT                                      0x904c         /* 36940 */\n#define GL_IMAGE_2D_EXT                                      0x904d         /* 36941 */\n#define GL_IMAGE_3D_EXT                                      0x904e         /* 36942 */\n#define GL_IMAGE_2D_RECT_EXT                                 0x904f         /* 36943 */\n#define GL_IMAGE_CUBE_EXT                                    0x9050         /* 36944 */\n#define GL_IMAGE_BUFFER_EXT                                  0x9051         /* 36945 */\n#define GL_IMAGE_1D_ARRAY_EXT                                0x9052         /* 36946 */\n#define GL_IMAGE_2D_ARRAY_EXT                                0x9053         /* 36947 */\n#define GL_IMAGE_CUBE_MAP_ARRAY_EXT                          0x9054         /* 36948 */\n#define GL_IMAGE_2D_MULTISAMPLE_EXT                          0x9055         /* 36949 */\n#define GL_IMAGE_2D_MULTISAMPLE_ARRAY_EXT                    0x9056         /* 36950 */\n#define GL_INT_IMAGE_1D_EXT                                  0x9057         /* 36951 */\n#define GL_INT_IMAGE_2D_EXT                                  0x9058         /* 36952 */\n#define GL_INT_IMAGE_3D_EXT                                  0x9059         /* 36953 */\n#define GL_INT_IMAGE_2D_RECT_EXT                             0x905a         /* 36954 */\n#define GL_INT_IMAGE_CUBE_EXT                                0x905b         /* 36955 */\n#define GL_INT_IMAGE_BUFFER_EXT                              0x905c         /* 36956 */\n#define GL_INT_IMAGE_1D_ARRAY_EXT                            0x905d         /* 36957 */\n#define GL_INT_IMAGE_2D_ARRAY_EXT                            0x905e         /* 36958 */\n#define GL_INT_IMAGE_CUBE_MAP_ARRAY_EXT                      0x905f         /* 36959 */\n#define GL_INT_IMAGE_2D_MULTISAMPLE_EXT                      0x9060         /* 36960 */\n#define GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT                0x9061         /* 36961 */\n#define GL_UNSIGNED_INT_IMAGE_1D_EXT                         0x9062         /* 36962 */\n#define GL_UNSIGNED_INT_IMAGE_2D_EXT                         0x9063         /* 36963 */\n#define GL_UNSIGNED_INT_IMAGE_3D_EXT                         0x9064         /* 36964 */\n#define GL_UNSIGNED_INT_IMAGE_2D_RECT_EXT                    0x9065         /* 36965 */\n#define GL_UNSIGNED_INT_IMAGE_CUBE_EXT                       0x9066         /* 36966 */\n#define GL_UNSIGNED_INT_IMAGE_BUFFER_EXT                     0x9067         /* 36967 */\n#define GL_UNSIGNED_INT_IMAGE_1D_ARRAY_EXT                   0x9068         /* 36968 */\n#define GL_UNSIGNED_INT_IMAGE_2D_ARRAY_EXT                   0x9069         /* 36969 */\n#define GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT             0x906a         /* 36970 */\n#define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_EXT             0x906b         /* 36971 */\n#define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT       0x906c         /* 36972 */\n#define GL_MAX_IMAGE_SAMPLES_EXT                             0x906d         /* 36973 */\n#define GL_IMAGE_BINDING_FORMAT_EXT                          0x906e         /* 36974 */\n#define GL_ALL_BARRIER_BITS_EXT                              0xffffffff     /* 4294967295 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_SHADER_IMAGE_LOAD_STORE\ntypedef void (REGAL_CALL *PFNGLBINDIMAGETEXTUREEXTPROC)(GLuint index, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLint format);\ntypedef void (REGAL_CALL *PFNGLMEMORYBARRIEREXTPROC)(GLbitfield barriers);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_SHADER_IMAGE_LOAD_STORE\n#define glBindImageTextureEXT               rglBindImageTextureEXT\n#define glMemoryBarrierEXT                  rglMemoryBarrierEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_SHADER_IMAGE_LOAD_STORE\nREGAL_DECL void REGAL_CALL glBindImageTextureEXT(GLuint index, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLint format);\nREGAL_DECL void REGAL_CALL glMemoryBarrierEXT(GLbitfield barriers);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_SHADER_IMAGE_LOAD_STORE\nREGAL_DECL void REGAL_CALL plugin_glBindImageTextureEXT(GLuint index, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLint format);\nREGAL_DECL void REGAL_CALL plugin_glMemoryBarrierEXT(GLbitfield barriers);\n#endif\n\n/**\n ** GL_EXT_shadow_samplers\n **/\n\n#if (defined(GL_EXT_SHADOW_SAMPLERS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_SHADOW_SAMPLERS)) && !defined(REGAL_NO_ENUM_GL_EXT_SHADOW_SAMPLERS)\n#define REGAL_NO_ENUM_GL_EXT_SHADOW_SAMPLERS\n#endif\n\n#if (defined(GL_EXT_SHADOW_SAMPLERS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_SHADOW_SAMPLERS)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_SHADOW_SAMPLERS)\n#define REGAL_NO_TYPEDEF_GL_EXT_SHADOW_SAMPLERS\n#endif\n\n#if (defined(GL_EXT_SHADOW_SAMPLERS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_SHADOW_SAMPLERS)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_SHADOW_SAMPLERS)\n#define REGAL_NO_NAMESPACE_GL_EXT_SHADOW_SAMPLERS\n#endif\n\n#if (defined(GL_EXT_SHADOW_SAMPLERS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_SHADOW_SAMPLERS)) && !defined(REGAL_NO_PLUGIN_GL_EXT_SHADOW_SAMPLERS)\n#define REGAL_NO_PLUGIN_GL_EXT_SHADOW_SAMPLERS\n#endif\n\n#if (defined(GL_EXT_SHADOW_SAMPLERS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_SHADOW_SAMPLERS)) && !defined(REGAL_NO_DECLARATION_GL_EXT_SHADOW_SAMPLERS)\n#define REGAL_NO_DECLARATION_GL_EXT_SHADOW_SAMPLERS\n#endif\n\n#ifndef GL_EXT_shadow_samplers\n#define GL_EXT_shadow_samplers 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_SHADOW_SAMPLERS\n#define GL_TEXTURE_COMPARE_MODE_EXT   0x884c     /* 34892 */\n#define GL_TEXTURE_COMPARE_FUNC_EXT   0x884d     /* 34893 */\n#define GL_COMPARE_REF_TO_TEXTURE_EXT 0x884e     /* 34894 */\n#define GL_SAMPLER_2D_SHADOW_EXT      0x8b62     /* 35682 */\n#endif\n\n/**\n ** GL_EXT_shared_texture_palette\n **/\n\n#if (defined(GL_EXT_SHARED_TEXTURE_PALETTE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_SHARED_TEXTURE_PALETTE)) && !defined(REGAL_NO_ENUM_GL_EXT_SHARED_TEXTURE_PALETTE)\n#define REGAL_NO_ENUM_GL_EXT_SHARED_TEXTURE_PALETTE\n#endif\n\n#if (defined(GL_EXT_SHARED_TEXTURE_PALETTE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_SHARED_TEXTURE_PALETTE)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_SHARED_TEXTURE_PALETTE)\n#define REGAL_NO_TYPEDEF_GL_EXT_SHARED_TEXTURE_PALETTE\n#endif\n\n#if (defined(GL_EXT_SHARED_TEXTURE_PALETTE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_SHARED_TEXTURE_PALETTE)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_SHARED_TEXTURE_PALETTE)\n#define REGAL_NO_NAMESPACE_GL_EXT_SHARED_TEXTURE_PALETTE\n#endif\n\n#if (defined(GL_EXT_SHARED_TEXTURE_PALETTE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_SHARED_TEXTURE_PALETTE)) && !defined(REGAL_NO_PLUGIN_GL_EXT_SHARED_TEXTURE_PALETTE)\n#define REGAL_NO_PLUGIN_GL_EXT_SHARED_TEXTURE_PALETTE\n#endif\n\n#if (defined(GL_EXT_SHARED_TEXTURE_PALETTE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_SHARED_TEXTURE_PALETTE)) && !defined(REGAL_NO_DECLARATION_GL_EXT_SHARED_TEXTURE_PALETTE)\n#define REGAL_NO_DECLARATION_GL_EXT_SHARED_TEXTURE_PALETTE\n#endif\n\n#ifndef GL_EXT_shared_texture_palette\n#define GL_EXT_shared_texture_palette 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_SHARED_TEXTURE_PALETTE\n#define GL_SHARED_TEXTURE_PALETTE_EXT 0x81fb /* 33275 */\n#endif\n\n/**\n ** GL_EXT_stencil_clear_tag\n **/\n\n#if (defined(GL_EXT_STENCIL_CLEAR_TAG) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_STENCIL_CLEAR_TAG)) && !defined(REGAL_NO_ENUM_GL_EXT_STENCIL_CLEAR_TAG)\n#define REGAL_NO_ENUM_GL_EXT_STENCIL_CLEAR_TAG\n#endif\n\n#if (defined(GL_EXT_STENCIL_CLEAR_TAG) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_STENCIL_CLEAR_TAG)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_STENCIL_CLEAR_TAG)\n#define REGAL_NO_TYPEDEF_GL_EXT_STENCIL_CLEAR_TAG\n#endif\n\n#if (defined(GL_EXT_STENCIL_CLEAR_TAG) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_STENCIL_CLEAR_TAG)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_STENCIL_CLEAR_TAG)\n#define REGAL_NO_NAMESPACE_GL_EXT_STENCIL_CLEAR_TAG\n#endif\n\n#if (defined(GL_EXT_STENCIL_CLEAR_TAG) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_STENCIL_CLEAR_TAG)) && !defined(REGAL_NO_PLUGIN_GL_EXT_STENCIL_CLEAR_TAG)\n#define REGAL_NO_PLUGIN_GL_EXT_STENCIL_CLEAR_TAG\n#endif\n\n#if (defined(GL_EXT_STENCIL_CLEAR_TAG) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_STENCIL_CLEAR_TAG)) && !defined(REGAL_NO_DECLARATION_GL_EXT_STENCIL_CLEAR_TAG)\n#define REGAL_NO_DECLARATION_GL_EXT_STENCIL_CLEAR_TAG\n#endif\n\n#ifndef GL_EXT_stencil_clear_tag\n#define GL_EXT_stencil_clear_tag 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_STENCIL_CLEAR_TAG\n#define GL_STENCIL_TAG_BITS_EXT        0x88f2     /* 35058 */\n#define GL_STENCIL_CLEAR_TAG_VALUE_EXT 0x88f3     /* 35059 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_STENCIL_CLEAR_TAG\ntypedef void (REGAL_CALL *PFNGLSTENCILCLEARTAGEXTPROC)(GLsizei stencilTagBits, GLuint stencilClearTag);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_STENCIL_CLEAR_TAG\n#define glStencilClearTagEXT                rglStencilClearTagEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_STENCIL_CLEAR_TAG\nREGAL_DECL void REGAL_CALL glStencilClearTagEXT(GLsizei stencilTagBits, GLuint stencilClearTag);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_STENCIL_CLEAR_TAG\nREGAL_DECL void REGAL_CALL plugin_glStencilClearTagEXT(GLsizei stencilTagBits, GLuint stencilClearTag);\n#endif\n\n/**\n ** GL_EXT_stencil_two_side\n **/\n\n#if (defined(GL_EXT_STENCIL_TWO_SIDE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_STENCIL_TWO_SIDE)) && !defined(REGAL_NO_ENUM_GL_EXT_STENCIL_TWO_SIDE)\n#define REGAL_NO_ENUM_GL_EXT_STENCIL_TWO_SIDE\n#endif\n\n#if (defined(GL_EXT_STENCIL_TWO_SIDE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_STENCIL_TWO_SIDE)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_STENCIL_TWO_SIDE)\n#define REGAL_NO_TYPEDEF_GL_EXT_STENCIL_TWO_SIDE\n#endif\n\n#if (defined(GL_EXT_STENCIL_TWO_SIDE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_STENCIL_TWO_SIDE)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_STENCIL_TWO_SIDE)\n#define REGAL_NO_NAMESPACE_GL_EXT_STENCIL_TWO_SIDE\n#endif\n\n#if (defined(GL_EXT_STENCIL_TWO_SIDE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_STENCIL_TWO_SIDE)) && !defined(REGAL_NO_PLUGIN_GL_EXT_STENCIL_TWO_SIDE)\n#define REGAL_NO_PLUGIN_GL_EXT_STENCIL_TWO_SIDE\n#endif\n\n#if (defined(GL_EXT_STENCIL_TWO_SIDE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_STENCIL_TWO_SIDE)) && !defined(REGAL_NO_DECLARATION_GL_EXT_STENCIL_TWO_SIDE)\n#define REGAL_NO_DECLARATION_GL_EXT_STENCIL_TWO_SIDE\n#endif\n\n#ifndef GL_EXT_stencil_two_side\n#define GL_EXT_stencil_two_side 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_STENCIL_TWO_SIDE\n#define GL_STENCIL_TEST_TWO_SIDE_EXT 0x8910     /* 35088 */\n#define GL_ACTIVE_STENCIL_FACE_EXT   0x8911     /* 35089 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_STENCIL_TWO_SIDE\ntypedef void (REGAL_CALL *PFNGLACTIVESTENCILFACEEXTPROC)(GLenum face);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_STENCIL_TWO_SIDE\n#define glActiveStencilFaceEXT              rglActiveStencilFaceEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_STENCIL_TWO_SIDE\nREGAL_DECL void REGAL_CALL glActiveStencilFaceEXT(GLenum face);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_STENCIL_TWO_SIDE\nREGAL_DECL void REGAL_CALL plugin_glActiveStencilFaceEXT(GLenum face);\n#endif\n\n/**\n ** GL_EXT_stencil_wrap\n **/\n\n#if (defined(GL_EXT_STENCIL_WRAP) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_STENCIL_WRAP)) && !defined(REGAL_NO_ENUM_GL_EXT_STENCIL_WRAP)\n#define REGAL_NO_ENUM_GL_EXT_STENCIL_WRAP\n#endif\n\n#if (defined(GL_EXT_STENCIL_WRAP) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_STENCIL_WRAP)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_STENCIL_WRAP)\n#define REGAL_NO_TYPEDEF_GL_EXT_STENCIL_WRAP\n#endif\n\n#if (defined(GL_EXT_STENCIL_WRAP) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_STENCIL_WRAP)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_STENCIL_WRAP)\n#define REGAL_NO_NAMESPACE_GL_EXT_STENCIL_WRAP\n#endif\n\n#if (defined(GL_EXT_STENCIL_WRAP) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_STENCIL_WRAP)) && !defined(REGAL_NO_PLUGIN_GL_EXT_STENCIL_WRAP)\n#define REGAL_NO_PLUGIN_GL_EXT_STENCIL_WRAP\n#endif\n\n#if (defined(GL_EXT_STENCIL_WRAP) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_STENCIL_WRAP)) && !defined(REGAL_NO_DECLARATION_GL_EXT_STENCIL_WRAP)\n#define REGAL_NO_DECLARATION_GL_EXT_STENCIL_WRAP\n#endif\n\n#ifndef GL_EXT_stencil_wrap\n#define GL_EXT_stencil_wrap 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_STENCIL_WRAP\n#define GL_INCR_WRAP_EXT 0x8507     /* 34055 */\n#define GL_DECR_WRAP_EXT 0x8508     /* 34056 */\n#endif\n\n/**\n ** GL_EXT_subtexture\n **/\n\n#if (defined(GL_EXT_SUBTEXTURE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_SUBTEXTURE)) && !defined(REGAL_NO_ENUM_GL_EXT_SUBTEXTURE)\n#define REGAL_NO_ENUM_GL_EXT_SUBTEXTURE\n#endif\n\n#if (defined(GL_EXT_SUBTEXTURE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_SUBTEXTURE)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_SUBTEXTURE)\n#define REGAL_NO_TYPEDEF_GL_EXT_SUBTEXTURE\n#endif\n\n#if (defined(GL_EXT_SUBTEXTURE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_SUBTEXTURE)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_SUBTEXTURE)\n#define REGAL_NO_NAMESPACE_GL_EXT_SUBTEXTURE\n#endif\n\n#if (defined(GL_EXT_SUBTEXTURE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_SUBTEXTURE)) && !defined(REGAL_NO_PLUGIN_GL_EXT_SUBTEXTURE)\n#define REGAL_NO_PLUGIN_GL_EXT_SUBTEXTURE\n#endif\n\n#if (defined(GL_EXT_SUBTEXTURE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_SUBTEXTURE)) && !defined(REGAL_NO_DECLARATION_GL_EXT_SUBTEXTURE)\n#define REGAL_NO_DECLARATION_GL_EXT_SUBTEXTURE\n#endif\n\n#ifndef GL_EXT_subtexture\n#define GL_EXT_subtexture 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_SUBTEXTURE\ntypedef void (REGAL_CALL *PFNGLTEXSUBIMAGE1DEXTPROC)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);\ntypedef void (REGAL_CALL *PFNGLTEXSUBIMAGE2DEXTPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);\ntypedef void (REGAL_CALL *PFNGLTEXSUBIMAGE3DEXTPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_SUBTEXTURE\n#define glTexSubImage1DEXT                  rglTexSubImage1DEXT\n#define glTexSubImage2DEXT                  rglTexSubImage2DEXT\n#define glTexSubImage3DEXT                  rglTexSubImage3DEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_SUBTEXTURE\nREGAL_DECL void REGAL_CALL glTexSubImage1DEXT(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL glTexSubImage2DEXT(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL glTexSubImage3DEXT(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_SUBTEXTURE\nREGAL_DECL void REGAL_CALL plugin_glTexSubImage1DEXT(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL plugin_glTexSubImage2DEXT(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL plugin_glTexSubImage3DEXT(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);\n#endif\n\n/**\n ** GL_EXT_texture\n **/\n\n#if (defined(GL_EXT_TEXTURE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_TEXTURE)) && !defined(REGAL_NO_ENUM_GL_EXT_TEXTURE)\n#define REGAL_NO_ENUM_GL_EXT_TEXTURE\n#endif\n\n#if (defined(GL_EXT_TEXTURE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_TEXTURE)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_TEXTURE)\n#define REGAL_NO_TYPEDEF_GL_EXT_TEXTURE\n#endif\n\n#if (defined(GL_EXT_TEXTURE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_TEXTURE)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_TEXTURE)\n#define REGAL_NO_NAMESPACE_GL_EXT_TEXTURE\n#endif\n\n#if (defined(GL_EXT_TEXTURE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_TEXTURE)) && !defined(REGAL_NO_PLUGIN_GL_EXT_TEXTURE)\n#define REGAL_NO_PLUGIN_GL_EXT_TEXTURE\n#endif\n\n#if (defined(GL_EXT_TEXTURE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_TEXTURE)) && !defined(REGAL_NO_DECLARATION_GL_EXT_TEXTURE)\n#define REGAL_NO_DECLARATION_GL_EXT_TEXTURE\n#endif\n\n#ifndef GL_EXT_texture\n#define GL_EXT_texture 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_TEXTURE\n#define GL_ALPHA4_EXT                 0x803b     /* 32827 */\n#define GL_ALPHA8_EXT                 0x803c     /* 32828 */\n#define GL_ALPHA12_EXT                0x803d     /* 32829 */\n#define GL_ALPHA16_EXT                0x803e     /* 32830 */\n#define GL_LUMINANCE4_EXT             0x803f     /* 32831 */\n#define GL_LUMINANCE8_EXT             0x8040     /* 32832 */\n#define GL_LUMINANCE12_EXT            0x8041     /* 32833 */\n#define GL_LUMINANCE16_EXT            0x8042     /* 32834 */\n#define GL_LUMINANCE4_ALPHA4_EXT      0x8043     /* 32835 */\n#define GL_LUMINANCE6_ALPHA2_EXT      0x8044     /* 32836 */\n#define GL_LUMINANCE8_ALPHA8_EXT      0x8045     /* 32837 */\n#define GL_LUMINANCE12_ALPHA4_EXT     0x8046     /* 32838 */\n#define GL_LUMINANCE12_ALPHA12_EXT    0x8047     /* 32839 */\n#define GL_LUMINANCE16_ALPHA16_EXT    0x8048     /* 32840 */\n#define GL_INTENSITY_EXT              0x8049     /* 32841 */\n#define GL_INTENSITY4_EXT             0x804a     /* 32842 */\n#define GL_INTENSITY8_EXT             0x804b     /* 32843 */\n#define GL_INTENSITY12_EXT            0x804c     /* 32844 */\n#define GL_INTENSITY16_EXT            0x804d     /* 32845 */\n#define GL_RGB2_EXT                   0x804e     /* 32846 */\n#define GL_RGB4_EXT                   0x804f     /* 32847 */\n#define GL_RGB5_EXT                   0x8050     /* 32848 */\n#define GL_RGB8_EXT                   0x8051     /* 32849 */\n#define GL_RGB10_EXT                  0x8052     /* 32850 */\n#define GL_RGB12_EXT                  0x8053     /* 32851 */\n#define GL_RGB16_EXT                  0x8054     /* 32852 */\n#define GL_RGBA2_EXT                  0x8055     /* 32853 */\n#define GL_RGBA4_EXT                  0x8056     /* 32854 */\n#define GL_RGB5_A1_EXT                0x8057     /* 32855 */\n#define GL_RGBA8_EXT                  0x8058     /* 32856 */\n#define GL_RGB10_A2_EXT               0x8059     /* 32857 */\n#define GL_RGBA12_EXT                 0x805a     /* 32858 */\n#define GL_RGBA16_EXT                 0x805b     /* 32859 */\n#define GL_TEXTURE_RED_SIZE_EXT       0x805c     /* 32860 */\n#define GL_TEXTURE_GREEN_SIZE_EXT     0x805d     /* 32861 */\n#define GL_TEXTURE_BLUE_SIZE_EXT      0x805e     /* 32862 */\n#define GL_TEXTURE_ALPHA_SIZE_EXT     0x805f     /* 32863 */\n#define GL_TEXTURE_LUMINANCE_SIZE_EXT 0x8060     /* 32864 */\n#define GL_TEXTURE_INTENSITY_SIZE_EXT 0x8061     /* 32865 */\n#define GL_REPLACE_EXT                0x8062     /* 32866 */\n#define GL_PROXY_TEXTURE_1D_EXT       0x8063     /* 32867 */\n#define GL_PROXY_TEXTURE_2D_EXT       0x8064     /* 32868 */\n#endif\n\n/**\n ** GL_EXT_texture3D\n **/\n\n#if (defined(GL_EXT_TEXTURE3D) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_TEXTURE3D)) && !defined(REGAL_NO_ENUM_GL_EXT_TEXTURE3D)\n#define REGAL_NO_ENUM_GL_EXT_TEXTURE3D\n#endif\n\n#if (defined(GL_EXT_TEXTURE3D) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_TEXTURE3D)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_TEXTURE3D)\n#define REGAL_NO_TYPEDEF_GL_EXT_TEXTURE3D\n#endif\n\n#if (defined(GL_EXT_TEXTURE3D) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_TEXTURE3D)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_TEXTURE3D)\n#define REGAL_NO_NAMESPACE_GL_EXT_TEXTURE3D\n#endif\n\n#if (defined(GL_EXT_TEXTURE3D) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_TEXTURE3D)) && !defined(REGAL_NO_PLUGIN_GL_EXT_TEXTURE3D)\n#define REGAL_NO_PLUGIN_GL_EXT_TEXTURE3D\n#endif\n\n#if (defined(GL_EXT_TEXTURE3D) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_TEXTURE3D)) && !defined(REGAL_NO_DECLARATION_GL_EXT_TEXTURE3D)\n#define REGAL_NO_DECLARATION_GL_EXT_TEXTURE3D\n#endif\n\n#ifndef GL_EXT_texture3D\n#define GL_EXT_texture3D 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_TEXTURE3D\n#define GL_PACK_SKIP_IMAGES_EXT    0x806b     /* 32875 */\n#define GL_PACK_IMAGE_HEIGHT_EXT   0x806c     /* 32876 */\n#define GL_UNPACK_SKIP_IMAGES_EXT  0x806d     /* 32877 */\n#define GL_UNPACK_IMAGE_HEIGHT_EXT 0x806e     /* 32878 */\n#define GL_TEXTURE_3D_EXT          0x806f     /* 32879 */\n#define GL_PROXY_TEXTURE_3D_EXT    0x8070     /* 32880 */\n#define GL_TEXTURE_DEPTH_EXT       0x8071     /* 32881 */\n#define GL_TEXTURE_WRAP_R_EXT      0x8072     /* 32882 */\n#define GL_MAX_3D_TEXTURE_SIZE_EXT 0x8073     /* 32883 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_TEXTURE3D\ntypedef void (REGAL_CALL *PFNGLTEXIMAGE3DEXTPROC)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_TEXTURE3D\n#define glTexImage3DEXT                     rglTexImage3DEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_TEXTURE3D\nREGAL_DECL void REGAL_CALL glTexImage3DEXT(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_TEXTURE3D\nREGAL_DECL void REGAL_CALL plugin_glTexImage3DEXT(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);\n#endif\n\n/**\n ** GL_EXT_texture_array\n **/\n\n#if (defined(GL_EXT_TEXTURE_ARRAY) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_TEXTURE_ARRAY)) && !defined(REGAL_NO_ENUM_GL_EXT_TEXTURE_ARRAY)\n#define REGAL_NO_ENUM_GL_EXT_TEXTURE_ARRAY\n#endif\n\n#if (defined(GL_EXT_TEXTURE_ARRAY) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_TEXTURE_ARRAY)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_ARRAY)\n#define REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_ARRAY\n#endif\n\n#if (defined(GL_EXT_TEXTURE_ARRAY) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_TEXTURE_ARRAY)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_ARRAY)\n#define REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_ARRAY\n#endif\n\n#if (defined(GL_EXT_TEXTURE_ARRAY) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_TEXTURE_ARRAY)) && !defined(REGAL_NO_PLUGIN_GL_EXT_TEXTURE_ARRAY)\n#define REGAL_NO_PLUGIN_GL_EXT_TEXTURE_ARRAY\n#endif\n\n#if (defined(GL_EXT_TEXTURE_ARRAY) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_TEXTURE_ARRAY)) && !defined(REGAL_NO_DECLARATION_GL_EXT_TEXTURE_ARRAY)\n#define REGAL_NO_DECLARATION_GL_EXT_TEXTURE_ARRAY\n#endif\n\n#ifndef GL_EXT_texture_array\n#define GL_EXT_texture_array 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_TEXTURE_ARRAY\n#define GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT 0x884e     /* 34894 */\n#define GL_MAX_ARRAY_TEXTURE_LAYERS_EXT     0x88ff     /* 35071 */\n#define GL_TEXTURE_1D_ARRAY_EXT             0x8c18     /* 35864 */\n#define GL_PROXY_TEXTURE_1D_ARRAY_EXT       0x8c19     /* 35865 */\n#define GL_TEXTURE_2D_ARRAY_EXT             0x8c1a     /* 35866 */\n#define GL_PROXY_TEXTURE_2D_ARRAY_EXT       0x8c1b     /* 35867 */\n#define GL_TEXTURE_BINDING_1D_ARRAY_EXT     0x8c1c     /* 35868 */\n#define GL_TEXTURE_BINDING_2D_ARRAY_EXT     0x8c1d     /* 35869 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_ARRAY\ntypedef void (REGAL_CALL *PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_ARRAY\n#define glFramebufferTextureLayerEXT        rglFramebufferTextureLayerEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_TEXTURE_ARRAY\nREGAL_DECL void REGAL_CALL glFramebufferTextureLayerEXT(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_TEXTURE_ARRAY\nREGAL_DECL void REGAL_CALL plugin_glFramebufferTextureLayerEXT(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);\n#endif\n\n/**\n ** GL_EXT_texture_buffer_object\n **/\n\n#if (defined(GL_EXT_TEXTURE_BUFFER_OBJECT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_TEXTURE_BUFFER_OBJECT)) && !defined(REGAL_NO_ENUM_GL_EXT_TEXTURE_BUFFER_OBJECT)\n#define REGAL_NO_ENUM_GL_EXT_TEXTURE_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_EXT_TEXTURE_BUFFER_OBJECT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_TEXTURE_BUFFER_OBJECT)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_BUFFER_OBJECT)\n#define REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_EXT_TEXTURE_BUFFER_OBJECT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_TEXTURE_BUFFER_OBJECT)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_BUFFER_OBJECT)\n#define REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_EXT_TEXTURE_BUFFER_OBJECT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_TEXTURE_BUFFER_OBJECT)) && !defined(REGAL_NO_PLUGIN_GL_EXT_TEXTURE_BUFFER_OBJECT)\n#define REGAL_NO_PLUGIN_GL_EXT_TEXTURE_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_EXT_TEXTURE_BUFFER_OBJECT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_TEXTURE_BUFFER_OBJECT)) && !defined(REGAL_NO_DECLARATION_GL_EXT_TEXTURE_BUFFER_OBJECT)\n#define REGAL_NO_DECLARATION_GL_EXT_TEXTURE_BUFFER_OBJECT\n#endif\n\n#ifndef GL_EXT_texture_buffer_object\n#define GL_EXT_texture_buffer_object 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_TEXTURE_BUFFER_OBJECT\n#define GL_TEXTURE_BUFFER_EXT                    0x8c2a     /* 35882 */\n#define GL_MAX_TEXTURE_BUFFER_SIZE_EXT           0x8c2b     /* 35883 */\n#define GL_TEXTURE_BINDING_BUFFER_EXT            0x8c2c     /* 35884 */\n#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING_EXT 0x8c2d     /* 35885 */\n#define GL_TEXTURE_BUFFER_FORMAT_EXT             0x8c2e     /* 35886 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_BUFFER_OBJECT\ntypedef void (REGAL_CALL *PFNGLTEXBUFFEREXTPROC)(GLenum target, GLenum internalformat, GLuint buffer);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_BUFFER_OBJECT\n#define glTexBufferEXT                      rglTexBufferEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_TEXTURE_BUFFER_OBJECT\nREGAL_DECL void REGAL_CALL glTexBufferEXT(GLenum target, GLenum internalformat, GLuint buffer);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_TEXTURE_BUFFER_OBJECT\nREGAL_DECL void REGAL_CALL plugin_glTexBufferEXT(GLenum target, GLenum internalformat, GLuint buffer);\n#endif\n\n/**\n ** GL_EXT_texture_compression_latc\n **/\n\n#if (defined(GL_EXT_TEXTURE_COMPRESSION_LATC) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_TEXTURE_COMPRESSION_LATC)) && !defined(REGAL_NO_ENUM_GL_EXT_TEXTURE_COMPRESSION_LATC)\n#define REGAL_NO_ENUM_GL_EXT_TEXTURE_COMPRESSION_LATC\n#endif\n\n#if (defined(GL_EXT_TEXTURE_COMPRESSION_LATC) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_TEXTURE_COMPRESSION_LATC)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_COMPRESSION_LATC)\n#define REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_COMPRESSION_LATC\n#endif\n\n#if (defined(GL_EXT_TEXTURE_COMPRESSION_LATC) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_TEXTURE_COMPRESSION_LATC)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_COMPRESSION_LATC)\n#define REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_COMPRESSION_LATC\n#endif\n\n#if (defined(GL_EXT_TEXTURE_COMPRESSION_LATC) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_TEXTURE_COMPRESSION_LATC)) && !defined(REGAL_NO_PLUGIN_GL_EXT_TEXTURE_COMPRESSION_LATC)\n#define REGAL_NO_PLUGIN_GL_EXT_TEXTURE_COMPRESSION_LATC\n#endif\n\n#if (defined(GL_EXT_TEXTURE_COMPRESSION_LATC) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_TEXTURE_COMPRESSION_LATC)) && !defined(REGAL_NO_DECLARATION_GL_EXT_TEXTURE_COMPRESSION_LATC)\n#define REGAL_NO_DECLARATION_GL_EXT_TEXTURE_COMPRESSION_LATC\n#endif\n\n#ifndef GL_EXT_texture_compression_latc\n#define GL_EXT_texture_compression_latc 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_TEXTURE_COMPRESSION_LATC\n#define GL_COMPRESSED_LUMINANCE_LATC1_EXT              0x8c70     /* 35952 */\n#define GL_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT       0x8c71     /* 35953 */\n#define GL_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT        0x8c72     /* 35954 */\n#define GL_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT 0x8c73     /* 35955 */\n#endif\n\n/**\n ** GL_EXT_texture_compression_rgtc\n **/\n\n#if (defined(GL_EXT_TEXTURE_COMPRESSION_RGTC) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_TEXTURE_COMPRESSION_RGTC)) && !defined(REGAL_NO_ENUM_GL_EXT_TEXTURE_COMPRESSION_RGTC)\n#define REGAL_NO_ENUM_GL_EXT_TEXTURE_COMPRESSION_RGTC\n#endif\n\n#if (defined(GL_EXT_TEXTURE_COMPRESSION_RGTC) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_TEXTURE_COMPRESSION_RGTC)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_COMPRESSION_RGTC)\n#define REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_COMPRESSION_RGTC\n#endif\n\n#if (defined(GL_EXT_TEXTURE_COMPRESSION_RGTC) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_TEXTURE_COMPRESSION_RGTC)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_COMPRESSION_RGTC)\n#define REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_COMPRESSION_RGTC\n#endif\n\n#if (defined(GL_EXT_TEXTURE_COMPRESSION_RGTC) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_TEXTURE_COMPRESSION_RGTC)) && !defined(REGAL_NO_PLUGIN_GL_EXT_TEXTURE_COMPRESSION_RGTC)\n#define REGAL_NO_PLUGIN_GL_EXT_TEXTURE_COMPRESSION_RGTC\n#endif\n\n#if (defined(GL_EXT_TEXTURE_COMPRESSION_RGTC) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_TEXTURE_COMPRESSION_RGTC)) && !defined(REGAL_NO_DECLARATION_GL_EXT_TEXTURE_COMPRESSION_RGTC)\n#define REGAL_NO_DECLARATION_GL_EXT_TEXTURE_COMPRESSION_RGTC\n#endif\n\n#ifndef GL_EXT_texture_compression_rgtc\n#define GL_EXT_texture_compression_rgtc 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_TEXTURE_COMPRESSION_RGTC\n#define GL_COMPRESSED_RED_RGTC1_EXT              0x8dbb     /* 36283 */\n#define GL_COMPRESSED_SIGNED_RED_RGTC1_EXT       0x8dbc     /* 36284 */\n#define GL_COMPRESSED_RED_GREEN_RGTC2_EXT        0x8dbd     /* 36285 */\n#define GL_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT 0x8dbe     /* 36286 */\n#endif\n\n/**\n ** GL_EXT_texture_compression_s3tc\n **/\n\n#if (defined(GL_EXT_TEXTURE_COMPRESSION_S3TC) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_TEXTURE_COMPRESSION_S3TC)) && !defined(REGAL_NO_ENUM_GL_EXT_TEXTURE_COMPRESSION_S3TC)\n#define REGAL_NO_ENUM_GL_EXT_TEXTURE_COMPRESSION_S3TC\n#endif\n\n#if (defined(GL_EXT_TEXTURE_COMPRESSION_S3TC) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_TEXTURE_COMPRESSION_S3TC)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_COMPRESSION_S3TC)\n#define REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_COMPRESSION_S3TC\n#endif\n\n#if (defined(GL_EXT_TEXTURE_COMPRESSION_S3TC) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_TEXTURE_COMPRESSION_S3TC)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_COMPRESSION_S3TC)\n#define REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_COMPRESSION_S3TC\n#endif\n\n#if (defined(GL_EXT_TEXTURE_COMPRESSION_S3TC) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_TEXTURE_COMPRESSION_S3TC)) && !defined(REGAL_NO_PLUGIN_GL_EXT_TEXTURE_COMPRESSION_S3TC)\n#define REGAL_NO_PLUGIN_GL_EXT_TEXTURE_COMPRESSION_S3TC\n#endif\n\n#if (defined(GL_EXT_TEXTURE_COMPRESSION_S3TC) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_TEXTURE_COMPRESSION_S3TC)) && !defined(REGAL_NO_DECLARATION_GL_EXT_TEXTURE_COMPRESSION_S3TC)\n#define REGAL_NO_DECLARATION_GL_EXT_TEXTURE_COMPRESSION_S3TC\n#endif\n\n#ifndef GL_EXT_texture_compression_s3tc\n#define GL_EXT_texture_compression_s3tc 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_TEXTURE_COMPRESSION_S3TC\n#define GL_COMPRESSED_RGB_S3TC_DXT1_EXT  0x83f0     /* 33776 */\n#define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT 0x83f1     /* 33777 */\n#define GL_COMPRESSED_RGBA_S3TC_DXT3_EXT 0x83f2     /* 33778 */\n#define GL_COMPRESSED_RGBA_S3TC_DXT5_EXT 0x83f3     /* 33779 */\n#endif\n\n/**\n ** GL_EXT_texture_cube_map\n **/\n\n#if (defined(GL_EXT_TEXTURE_CUBE_MAP) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_TEXTURE_CUBE_MAP)) && !defined(REGAL_NO_ENUM_GL_EXT_TEXTURE_CUBE_MAP)\n#define REGAL_NO_ENUM_GL_EXT_TEXTURE_CUBE_MAP\n#endif\n\n#if (defined(GL_EXT_TEXTURE_CUBE_MAP) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_TEXTURE_CUBE_MAP)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_CUBE_MAP)\n#define REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_CUBE_MAP\n#endif\n\n#if (defined(GL_EXT_TEXTURE_CUBE_MAP) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_TEXTURE_CUBE_MAP)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_CUBE_MAP)\n#define REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_CUBE_MAP\n#endif\n\n#if (defined(GL_EXT_TEXTURE_CUBE_MAP) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_TEXTURE_CUBE_MAP)) && !defined(REGAL_NO_PLUGIN_GL_EXT_TEXTURE_CUBE_MAP)\n#define REGAL_NO_PLUGIN_GL_EXT_TEXTURE_CUBE_MAP\n#endif\n\n#if (defined(GL_EXT_TEXTURE_CUBE_MAP) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_TEXTURE_CUBE_MAP)) && !defined(REGAL_NO_DECLARATION_GL_EXT_TEXTURE_CUBE_MAP)\n#define REGAL_NO_DECLARATION_GL_EXT_TEXTURE_CUBE_MAP\n#endif\n\n#ifndef GL_EXT_texture_cube_map\n#define GL_EXT_texture_cube_map 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_TEXTURE_CUBE_MAP\n#define GL_NORMAL_MAP_EXT                  0x8511     /* 34065 */\n#define GL_REFLECTION_MAP_EXT              0x8512     /* 34066 */\n#define GL_TEXTURE_CUBE_MAP_EXT            0x8513     /* 34067 */\n#define GL_TEXTURE_BINDING_CUBE_MAP_EXT    0x8514     /* 34068 */\n#define GL_TEXTURE_CUBE_MAP_POSITIVE_X_EXT 0x8515     /* 34069 */\n#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_EXT 0x8516     /* 34070 */\n#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_EXT 0x8517     /* 34071 */\n#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT 0x8518     /* 34072 */\n#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_EXT 0x8519     /* 34073 */\n#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT 0x851a     /* 34074 */\n#define GL_PROXY_TEXTURE_CUBE_MAP_EXT      0x851b     /* 34075 */\n#define GL_MAX_CUBE_MAP_TEXTURE_SIZE_EXT   0x851c     /* 34076 */\n#endif\n\n/**\n ** GL_EXT_texture_edge_clamp\n **/\n\n#if (defined(GL_EXT_TEXTURE_EDGE_CLAMP) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_TEXTURE_EDGE_CLAMP)) && !defined(REGAL_NO_ENUM_GL_EXT_TEXTURE_EDGE_CLAMP)\n#define REGAL_NO_ENUM_GL_EXT_TEXTURE_EDGE_CLAMP\n#endif\n\n#if (defined(GL_EXT_TEXTURE_EDGE_CLAMP) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_TEXTURE_EDGE_CLAMP)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_EDGE_CLAMP)\n#define REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_EDGE_CLAMP\n#endif\n\n#if (defined(GL_EXT_TEXTURE_EDGE_CLAMP) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_TEXTURE_EDGE_CLAMP)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_EDGE_CLAMP)\n#define REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_EDGE_CLAMP\n#endif\n\n#if (defined(GL_EXT_TEXTURE_EDGE_CLAMP) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_TEXTURE_EDGE_CLAMP)) && !defined(REGAL_NO_PLUGIN_GL_EXT_TEXTURE_EDGE_CLAMP)\n#define REGAL_NO_PLUGIN_GL_EXT_TEXTURE_EDGE_CLAMP\n#endif\n\n#if (defined(GL_EXT_TEXTURE_EDGE_CLAMP) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_TEXTURE_EDGE_CLAMP)) && !defined(REGAL_NO_DECLARATION_GL_EXT_TEXTURE_EDGE_CLAMP)\n#define REGAL_NO_DECLARATION_GL_EXT_TEXTURE_EDGE_CLAMP\n#endif\n\n#ifndef GL_EXT_texture_edge_clamp\n#define GL_EXT_texture_edge_clamp 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_TEXTURE_EDGE_CLAMP\n#define GL_CLAMP_TO_EDGE_EXT 0x812f /* 33071 */\n#endif\n\n/**\n ** GL_EXT_texture_env_combine\n **/\n\n#if (defined(GL_EXT_TEXTURE_ENV_COMBINE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_TEXTURE_ENV_COMBINE)) && !defined(REGAL_NO_ENUM_GL_EXT_TEXTURE_ENV_COMBINE)\n#define REGAL_NO_ENUM_GL_EXT_TEXTURE_ENV_COMBINE\n#endif\n\n#if (defined(GL_EXT_TEXTURE_ENV_COMBINE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_TEXTURE_ENV_COMBINE)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_ENV_COMBINE)\n#define REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_ENV_COMBINE\n#endif\n\n#if (defined(GL_EXT_TEXTURE_ENV_COMBINE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_TEXTURE_ENV_COMBINE)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_ENV_COMBINE)\n#define REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_ENV_COMBINE\n#endif\n\n#if (defined(GL_EXT_TEXTURE_ENV_COMBINE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_TEXTURE_ENV_COMBINE)) && !defined(REGAL_NO_PLUGIN_GL_EXT_TEXTURE_ENV_COMBINE)\n#define REGAL_NO_PLUGIN_GL_EXT_TEXTURE_ENV_COMBINE\n#endif\n\n#if (defined(GL_EXT_TEXTURE_ENV_COMBINE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_TEXTURE_ENV_COMBINE)) && !defined(REGAL_NO_DECLARATION_GL_EXT_TEXTURE_ENV_COMBINE)\n#define REGAL_NO_DECLARATION_GL_EXT_TEXTURE_ENV_COMBINE\n#endif\n\n#ifndef GL_EXT_texture_env_combine\n#define GL_EXT_texture_env_combine 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_TEXTURE_ENV_COMBINE\n#define GL_COMBINE_EXT        0x8570     /* 34160 */\n#define GL_COMBINE_RGB_EXT    0x8571     /* 34161 */\n#define GL_COMBINE_ALPHA_EXT  0x8572     /* 34162 */\n#define GL_RGB_SCALE_EXT      0x8573     /* 34163 */\n#define GL_ADD_SIGNED_EXT     0x8574     /* 34164 */\n#define GL_INTERPOLATE_EXT    0x8575     /* 34165 */\n#define GL_CONSTANT_EXT       0x8576     /* 34166 */\n#define GL_PRIMARY_COLOR_EXT  0x8577     /* 34167 */\n#define GL_PREVIOUS_EXT       0x8578     /* 34168 */\n#define GL_SOURCE0_RGB_EXT    0x8580     /* 34176 */\n#define GL_SOURCE1_RGB_EXT    0x8581     /* 34177 */\n#define GL_SOURCE2_RGB_EXT    0x8582     /* 34178 */\n#define GL_SOURCE0_ALPHA_EXT  0x8588     /* 34184 */\n#define GL_SOURCE1_ALPHA_EXT  0x8589     /* 34185 */\n#define GL_SOURCE2_ALPHA_EXT  0x858a     /* 34186 */\n#define GL_OPERAND0_RGB_EXT   0x8590     /* 34192 */\n#define GL_OPERAND1_RGB_EXT   0x8591     /* 34193 */\n#define GL_OPERAND2_RGB_EXT   0x8592     /* 34194 */\n#define GL_OPERAND0_ALPHA_EXT 0x8598     /* 34200 */\n#define GL_OPERAND1_ALPHA_EXT 0x8599     /* 34201 */\n#define GL_OPERAND2_ALPHA_EXT 0x859a     /* 34202 */\n#endif\n\n/**\n ** GL_EXT_texture_env_dot3\n **/\n\n#if (defined(GL_EXT_TEXTURE_ENV_DOT3) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_TEXTURE_ENV_DOT3)) && !defined(REGAL_NO_ENUM_GL_EXT_TEXTURE_ENV_DOT3)\n#define REGAL_NO_ENUM_GL_EXT_TEXTURE_ENV_DOT3\n#endif\n\n#if (defined(GL_EXT_TEXTURE_ENV_DOT3) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_TEXTURE_ENV_DOT3)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_ENV_DOT3)\n#define REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_ENV_DOT3\n#endif\n\n#if (defined(GL_EXT_TEXTURE_ENV_DOT3) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_TEXTURE_ENV_DOT3)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_ENV_DOT3)\n#define REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_ENV_DOT3\n#endif\n\n#if (defined(GL_EXT_TEXTURE_ENV_DOT3) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_TEXTURE_ENV_DOT3)) && !defined(REGAL_NO_PLUGIN_GL_EXT_TEXTURE_ENV_DOT3)\n#define REGAL_NO_PLUGIN_GL_EXT_TEXTURE_ENV_DOT3\n#endif\n\n#if (defined(GL_EXT_TEXTURE_ENV_DOT3) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_TEXTURE_ENV_DOT3)) && !defined(REGAL_NO_DECLARATION_GL_EXT_TEXTURE_ENV_DOT3)\n#define REGAL_NO_DECLARATION_GL_EXT_TEXTURE_ENV_DOT3\n#endif\n\n#ifndef GL_EXT_texture_env_dot3\n#define GL_EXT_texture_env_dot3 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_TEXTURE_ENV_DOT3\n#define GL_DOT3_RGB_EXT  0x8740     /* 34624 */\n#define GL_DOT3_RGBA_EXT 0x8741     /* 34625 */\n#endif\n\n/**\n ** GL_EXT_texture_filter_anisotropic\n **/\n\n#if (defined(GL_EXT_TEXTURE_FILTER_ANISOTROPIC) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_TEXTURE_FILTER_ANISOTROPIC)) && !defined(REGAL_NO_ENUM_GL_EXT_TEXTURE_FILTER_ANISOTROPIC)\n#define REGAL_NO_ENUM_GL_EXT_TEXTURE_FILTER_ANISOTROPIC\n#endif\n\n#if (defined(GL_EXT_TEXTURE_FILTER_ANISOTROPIC) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_TEXTURE_FILTER_ANISOTROPIC)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_FILTER_ANISOTROPIC)\n#define REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_FILTER_ANISOTROPIC\n#endif\n\n#if (defined(GL_EXT_TEXTURE_FILTER_ANISOTROPIC) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_TEXTURE_FILTER_ANISOTROPIC)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_FILTER_ANISOTROPIC)\n#define REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_FILTER_ANISOTROPIC\n#endif\n\n#if (defined(GL_EXT_TEXTURE_FILTER_ANISOTROPIC) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_TEXTURE_FILTER_ANISOTROPIC)) && !defined(REGAL_NO_PLUGIN_GL_EXT_TEXTURE_FILTER_ANISOTROPIC)\n#define REGAL_NO_PLUGIN_GL_EXT_TEXTURE_FILTER_ANISOTROPIC\n#endif\n\n#if (defined(GL_EXT_TEXTURE_FILTER_ANISOTROPIC) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_TEXTURE_FILTER_ANISOTROPIC)) && !defined(REGAL_NO_DECLARATION_GL_EXT_TEXTURE_FILTER_ANISOTROPIC)\n#define REGAL_NO_DECLARATION_GL_EXT_TEXTURE_FILTER_ANISOTROPIC\n#endif\n\n#ifndef GL_EXT_texture_filter_anisotropic\n#define GL_EXT_texture_filter_anisotropic 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_TEXTURE_FILTER_ANISOTROPIC\n#define GL_TEXTURE_MAX_ANISOTROPY_EXT     0x84fe     /* 34046 */\n#define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84ff     /* 34047 */\n#endif\n\n/**\n ** GL_EXT_texture_integer\n **/\n\n#if (defined(GL_EXT_TEXTURE_INTEGER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_TEXTURE_INTEGER)) && !defined(REGAL_NO_ENUM_GL_EXT_TEXTURE_INTEGER)\n#define REGAL_NO_ENUM_GL_EXT_TEXTURE_INTEGER\n#endif\n\n#if (defined(GL_EXT_TEXTURE_INTEGER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_TEXTURE_INTEGER)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_INTEGER)\n#define REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_INTEGER\n#endif\n\n#if (defined(GL_EXT_TEXTURE_INTEGER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_TEXTURE_INTEGER)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_INTEGER)\n#define REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_INTEGER\n#endif\n\n#if (defined(GL_EXT_TEXTURE_INTEGER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_TEXTURE_INTEGER)) && !defined(REGAL_NO_PLUGIN_GL_EXT_TEXTURE_INTEGER)\n#define REGAL_NO_PLUGIN_GL_EXT_TEXTURE_INTEGER\n#endif\n\n#if (defined(GL_EXT_TEXTURE_INTEGER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_TEXTURE_INTEGER)) && !defined(REGAL_NO_DECLARATION_GL_EXT_TEXTURE_INTEGER)\n#define REGAL_NO_DECLARATION_GL_EXT_TEXTURE_INTEGER\n#endif\n\n#ifndef GL_EXT_texture_integer\n#define GL_EXT_texture_integer 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_TEXTURE_INTEGER\n#define GL_RGBA32UI_EXT                0x8d70     /* 36208 */\n#define GL_RGB32UI_EXT                 0x8d71     /* 36209 */\n#define GL_ALPHA32UI_EXT               0x8d72     /* 36210 */\n#define GL_INTENSITY32UI_EXT           0x8d73     /* 36211 */\n#define GL_LUMINANCE32UI_EXT           0x8d74     /* 36212 */\n#define GL_LUMINANCE_ALPHA32UI_EXT     0x8d75     /* 36213 */\n#define GL_RGBA16UI_EXT                0x8d76     /* 36214 */\n#define GL_RGB16UI_EXT                 0x8d77     /* 36215 */\n#define GL_ALPHA16UI_EXT               0x8d78     /* 36216 */\n#define GL_INTENSITY16UI_EXT           0x8d79     /* 36217 */\n#define GL_LUMINANCE16UI_EXT           0x8d7a     /* 36218 */\n#define GL_LUMINANCE_ALPHA16UI_EXT     0x8d7b     /* 36219 */\n#define GL_RGBA8UI_EXT                 0x8d7c     /* 36220 */\n#define GL_RGB8UI_EXT                  0x8d7d     /* 36221 */\n#define GL_ALPHA8UI_EXT                0x8d7e     /* 36222 */\n#define GL_INTENSITY8UI_EXT            0x8d7f     /* 36223 */\n#define GL_LUMINANCE8UI_EXT            0x8d80     /* 36224 */\n#define GL_LUMINANCE_ALPHA8UI_EXT      0x8d81     /* 36225 */\n#define GL_RGBA32I_EXT                 0x8d82     /* 36226 */\n#define GL_RGB32I_EXT                  0x8d83     /* 36227 */\n#define GL_ALPHA32I_EXT                0x8d84     /* 36228 */\n#define GL_INTENSITY32I_EXT            0x8d85     /* 36229 */\n#define GL_LUMINANCE32I_EXT            0x8d86     /* 36230 */\n#define GL_LUMINANCE_ALPHA32I_EXT      0x8d87     /* 36231 */\n#define GL_RGBA16I_EXT                 0x8d88     /* 36232 */\n#define GL_RGB16I_EXT                  0x8d89     /* 36233 */\n#define GL_ALPHA16I_EXT                0x8d8a     /* 36234 */\n#define GL_INTENSITY16I_EXT            0x8d8b     /* 36235 */\n#define GL_LUMINANCE16I_EXT            0x8d8c     /* 36236 */\n#define GL_LUMINANCE_ALPHA16I_EXT      0x8d8d     /* 36237 */\n#define GL_RGBA8I_EXT                  0x8d8e     /* 36238 */\n#define GL_RGB8I_EXT                   0x8d8f     /* 36239 */\n#define GL_ALPHA8I_EXT                 0x8d90     /* 36240 */\n#define GL_INTENSITY8I_EXT             0x8d91     /* 36241 */\n#define GL_LUMINANCE8I_EXT             0x8d92     /* 36242 */\n#define GL_LUMINANCE_ALPHA8I_EXT       0x8d93     /* 36243 */\n#define GL_RED_INTEGER_EXT             0x8d94     /* 36244 */\n#define GL_GREEN_INTEGER_EXT           0x8d95     /* 36245 */\n#define GL_BLUE_INTEGER_EXT            0x8d96     /* 36246 */\n#define GL_ALPHA_INTEGER_EXT           0x8d97     /* 36247 */\n#define GL_RGB_INTEGER_EXT             0x8d98     /* 36248 */\n#define GL_RGBA_INTEGER_EXT            0x8d99     /* 36249 */\n#define GL_BGR_INTEGER_EXT             0x8d9a     /* 36250 */\n#define GL_BGRA_INTEGER_EXT            0x8d9b     /* 36251 */\n#define GL_LUMINANCE_INTEGER_EXT       0x8d9c     /* 36252 */\n#define GL_LUMINANCE_ALPHA_INTEGER_EXT 0x8d9d     /* 36253 */\n#define GL_RGBA_INTEGER_MODE_EXT       0x8d9e     /* 36254 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_INTEGER\ntypedef void (REGAL_CALL *PFNGLCLEARCOLORIIEXTPROC)(GLint red, GLint green, GLint blue, GLint alpha);\ntypedef void (REGAL_CALL *PFNGLCLEARCOLORIUIEXTPROC)(GLuint red, GLuint green, GLuint blue, GLuint alpha);\ntypedef void (REGAL_CALL *PFNGLGETTEXPARAMETERIIVEXTPROC)(GLenum target, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETTEXPARAMETERIUIVEXTPROC)(GLenum target, GLenum pname, GLuint *params);\ntypedef void (REGAL_CALL *PFNGLTEXPARAMETERIIVEXTPROC)(GLenum target, GLenum pname, const GLint *params);\ntypedef void (REGAL_CALL *PFNGLTEXPARAMETERIUIVEXTPROC)(GLenum target, GLenum pname, const GLuint *params);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_INTEGER\n#define glClearColorIiEXT                   rglClearColorIiEXT\n#define glClearColorIuiEXT                  rglClearColorIuiEXT\n#define glGetTexParameterIivEXT             rglGetTexParameterIivEXT\n#define glGetTexParameterIuivEXT            rglGetTexParameterIuivEXT\n#define glTexParameterIivEXT                rglTexParameterIivEXT\n#define glTexParameterIuivEXT               rglTexParameterIuivEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_TEXTURE_INTEGER\nREGAL_DECL void REGAL_CALL glClearColorIiEXT(GLint red, GLint green, GLint blue, GLint alpha);\nREGAL_DECL void REGAL_CALL glClearColorIuiEXT(GLuint red, GLuint green, GLuint blue, GLuint alpha);\nREGAL_DECL void REGAL_CALL glGetTexParameterIivEXT(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetTexParameterIuivEXT(GLenum target, GLenum pname, GLuint *params);\nREGAL_DECL void REGAL_CALL glTexParameterIivEXT(GLenum target, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL glTexParameterIuivEXT(GLenum target, GLenum pname, const GLuint *params);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_TEXTURE_INTEGER\nREGAL_DECL void REGAL_CALL plugin_glClearColorIiEXT(GLint red, GLint green, GLint blue, GLint alpha);\nREGAL_DECL void REGAL_CALL plugin_glClearColorIuiEXT(GLuint red, GLuint green, GLuint blue, GLuint alpha);\nREGAL_DECL void REGAL_CALL plugin_glGetTexParameterIivEXT(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetTexParameterIuivEXT(GLenum target, GLenum pname, GLuint *params);\nREGAL_DECL void REGAL_CALL plugin_glTexParameterIivEXT(GLenum target, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glTexParameterIuivEXT(GLenum target, GLenum pname, const GLuint *params);\n#endif\n\n/**\n ** GL_EXT_texture_lod_bias\n **/\n\n#if (defined(GL_EXT_TEXTURE_LOD_BIAS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_TEXTURE_LOD_BIAS)) && !defined(REGAL_NO_ENUM_GL_EXT_TEXTURE_LOD_BIAS)\n#define REGAL_NO_ENUM_GL_EXT_TEXTURE_LOD_BIAS\n#endif\n\n#if (defined(GL_EXT_TEXTURE_LOD_BIAS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_TEXTURE_LOD_BIAS)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_LOD_BIAS)\n#define REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_LOD_BIAS\n#endif\n\n#if (defined(GL_EXT_TEXTURE_LOD_BIAS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_TEXTURE_LOD_BIAS)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_LOD_BIAS)\n#define REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_LOD_BIAS\n#endif\n\n#if (defined(GL_EXT_TEXTURE_LOD_BIAS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_TEXTURE_LOD_BIAS)) && !defined(REGAL_NO_PLUGIN_GL_EXT_TEXTURE_LOD_BIAS)\n#define REGAL_NO_PLUGIN_GL_EXT_TEXTURE_LOD_BIAS\n#endif\n\n#if (defined(GL_EXT_TEXTURE_LOD_BIAS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_TEXTURE_LOD_BIAS)) && !defined(REGAL_NO_DECLARATION_GL_EXT_TEXTURE_LOD_BIAS)\n#define REGAL_NO_DECLARATION_GL_EXT_TEXTURE_LOD_BIAS\n#endif\n\n#ifndef GL_EXT_texture_lod_bias\n#define GL_EXT_texture_lod_bias 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_TEXTURE_LOD_BIAS\n#define GL_MAX_TEXTURE_LOD_BIAS_EXT   0x84fd     /* 34045 */\n#define GL_TEXTURE_FILTER_CONTROL_EXT 0x8500     /* 34048 */\n#define GL_TEXTURE_LOD_BIAS_EXT       0x8501     /* 34049 */\n#endif\n\n/**\n ** GL_EXT_texture_mirror_clamp\n **/\n\n#if (defined(GL_EXT_TEXTURE_MIRROR_CLAMP) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_TEXTURE_MIRROR_CLAMP)) && !defined(REGAL_NO_ENUM_GL_EXT_TEXTURE_MIRROR_CLAMP)\n#define REGAL_NO_ENUM_GL_EXT_TEXTURE_MIRROR_CLAMP\n#endif\n\n#if (defined(GL_EXT_TEXTURE_MIRROR_CLAMP) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_TEXTURE_MIRROR_CLAMP)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_MIRROR_CLAMP)\n#define REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_MIRROR_CLAMP\n#endif\n\n#if (defined(GL_EXT_TEXTURE_MIRROR_CLAMP) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_TEXTURE_MIRROR_CLAMP)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_MIRROR_CLAMP)\n#define REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_MIRROR_CLAMP\n#endif\n\n#if (defined(GL_EXT_TEXTURE_MIRROR_CLAMP) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_TEXTURE_MIRROR_CLAMP)) && !defined(REGAL_NO_PLUGIN_GL_EXT_TEXTURE_MIRROR_CLAMP)\n#define REGAL_NO_PLUGIN_GL_EXT_TEXTURE_MIRROR_CLAMP\n#endif\n\n#if (defined(GL_EXT_TEXTURE_MIRROR_CLAMP) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_TEXTURE_MIRROR_CLAMP)) && !defined(REGAL_NO_DECLARATION_GL_EXT_TEXTURE_MIRROR_CLAMP)\n#define REGAL_NO_DECLARATION_GL_EXT_TEXTURE_MIRROR_CLAMP\n#endif\n\n#ifndef GL_EXT_texture_mirror_clamp\n#define GL_EXT_texture_mirror_clamp 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_TEXTURE_MIRROR_CLAMP\n#define GL_MIRROR_CLAMP_EXT           0x8742     /* 34626 */\n#define GL_MIRROR_CLAMP_TO_EDGE_EXT   0x8743     /* 34627 */\n#define GL_MIRROR_CLAMP_TO_BORDER_EXT 0x8912     /* 35090 */\n#endif\n\n/**\n ** GL_EXT_texture_object\n **/\n\n#if (defined(GL_EXT_TEXTURE_OBJECT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_TEXTURE_OBJECT)) && !defined(REGAL_NO_ENUM_GL_EXT_TEXTURE_OBJECT)\n#define REGAL_NO_ENUM_GL_EXT_TEXTURE_OBJECT\n#endif\n\n#if (defined(GL_EXT_TEXTURE_OBJECT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_TEXTURE_OBJECT)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_OBJECT)\n#define REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_OBJECT\n#endif\n\n#if (defined(GL_EXT_TEXTURE_OBJECT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_TEXTURE_OBJECT)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_OBJECT)\n#define REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_OBJECT\n#endif\n\n#if (defined(GL_EXT_TEXTURE_OBJECT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_TEXTURE_OBJECT)) && !defined(REGAL_NO_PLUGIN_GL_EXT_TEXTURE_OBJECT)\n#define REGAL_NO_PLUGIN_GL_EXT_TEXTURE_OBJECT\n#endif\n\n#if (defined(GL_EXT_TEXTURE_OBJECT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_TEXTURE_OBJECT)) && !defined(REGAL_NO_DECLARATION_GL_EXT_TEXTURE_OBJECT)\n#define REGAL_NO_DECLARATION_GL_EXT_TEXTURE_OBJECT\n#endif\n\n#ifndef GL_EXT_texture_object\n#define GL_EXT_texture_object 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_TEXTURE_OBJECT\n#define GL_TEXTURE_PRIORITY_EXT   0x8066     /* 32870 */\n#define GL_TEXTURE_RESIDENT_EXT   0x8067     /* 32871 */\n#define GL_TEXTURE_1D_BINDING_EXT 0x8068     /* 32872 */\n#define GL_TEXTURE_2D_BINDING_EXT 0x8069     /* 32873 */\n#define GL_TEXTURE_3D_BINDING_EXT 0x806a     /* 32874 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_OBJECT\ntypedef GLboolean (REGAL_CALL *PFNGLARETEXTURESRESIDENTEXTPROC)(GLsizei n, const GLuint *textures, GLboolean *residences);\ntypedef GLboolean (REGAL_CALL *PFNGLISTEXTUREEXTPROC)(GLuint texture);\ntypedef void (REGAL_CALL *PFNGLBINDTEXTUREEXTPROC)(GLenum target, GLuint texture);\ntypedef void (REGAL_CALL *PFNGLDELETETEXTURESEXTPROC)(GLsizei n, const GLuint *textures);\ntypedef void (REGAL_CALL *PFNGLGENTEXTURESEXTPROC)(GLsizei n, GLuint *textures);\ntypedef void (REGAL_CALL *PFNGLPRIORITIZETEXTURESEXTPROC)(GLsizei n, const GLuint *textures, const GLclampf *priorities);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_OBJECT\n#define glAreTexturesResidentEXT            rglAreTexturesResidentEXT\n#define glBindTextureEXT                    rglBindTextureEXT\n#define glDeleteTexturesEXT                 rglDeleteTexturesEXT\n#define glGenTexturesEXT                    rglGenTexturesEXT\n#define glIsTextureEXT                      rglIsTextureEXT\n#define glPrioritizeTexturesEXT             rglPrioritizeTexturesEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_TEXTURE_OBJECT\nREGAL_DECL GLboolean REGAL_CALL glAreTexturesResidentEXT(GLsizei n, const GLuint *textures, GLboolean *residences);\nREGAL_DECL GLboolean REGAL_CALL glIsTextureEXT(GLuint texture);\nREGAL_DECL void REGAL_CALL glBindTextureEXT(GLenum target, GLuint texture);\nREGAL_DECL void REGAL_CALL glDeleteTexturesEXT(GLsizei n, const GLuint *textures);\nREGAL_DECL void REGAL_CALL glGenTexturesEXT(GLsizei n, GLuint *textures);\nREGAL_DECL void REGAL_CALL glPrioritizeTexturesEXT(GLsizei n, const GLuint *textures, const GLclampf *priorities);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_TEXTURE_OBJECT\nREGAL_DECL GLboolean REGAL_CALL plugin_glAreTexturesResidentEXT(GLsizei n, const GLuint *textures, GLboolean *residences);\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsTextureEXT(GLuint texture);\nREGAL_DECL void REGAL_CALL plugin_glBindTextureEXT(GLenum target, GLuint texture);\nREGAL_DECL void REGAL_CALL plugin_glDeleteTexturesEXT(GLsizei n, const GLuint *textures);\nREGAL_DECL void REGAL_CALL plugin_glGenTexturesEXT(GLsizei n, GLuint *textures);\nREGAL_DECL void REGAL_CALL plugin_glPrioritizeTexturesEXT(GLsizei n, const GLuint *textures, const GLclampf *priorities);\n#endif\n\n/**\n ** GL_EXT_texture_perturb_normal\n **/\n\n#if (defined(GL_EXT_TEXTURE_PERTURB_NORMAL) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_TEXTURE_PERTURB_NORMAL)) && !defined(REGAL_NO_ENUM_GL_EXT_TEXTURE_PERTURB_NORMAL)\n#define REGAL_NO_ENUM_GL_EXT_TEXTURE_PERTURB_NORMAL\n#endif\n\n#if (defined(GL_EXT_TEXTURE_PERTURB_NORMAL) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_TEXTURE_PERTURB_NORMAL)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_PERTURB_NORMAL)\n#define REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_PERTURB_NORMAL\n#endif\n\n#if (defined(GL_EXT_TEXTURE_PERTURB_NORMAL) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_TEXTURE_PERTURB_NORMAL)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_PERTURB_NORMAL)\n#define REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_PERTURB_NORMAL\n#endif\n\n#if (defined(GL_EXT_TEXTURE_PERTURB_NORMAL) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_TEXTURE_PERTURB_NORMAL)) && !defined(REGAL_NO_PLUGIN_GL_EXT_TEXTURE_PERTURB_NORMAL)\n#define REGAL_NO_PLUGIN_GL_EXT_TEXTURE_PERTURB_NORMAL\n#endif\n\n#if (defined(GL_EXT_TEXTURE_PERTURB_NORMAL) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_TEXTURE_PERTURB_NORMAL)) && !defined(REGAL_NO_DECLARATION_GL_EXT_TEXTURE_PERTURB_NORMAL)\n#define REGAL_NO_DECLARATION_GL_EXT_TEXTURE_PERTURB_NORMAL\n#endif\n\n#ifndef GL_EXT_texture_perturb_normal\n#define GL_EXT_texture_perturb_normal 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_TEXTURE_PERTURB_NORMAL\n#define GL_PERTURB_EXT        0x85ae     /* 34222 */\n#define GL_TEXTURE_NORMAL_EXT 0x85af     /* 34223 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_PERTURB_NORMAL\ntypedef void (REGAL_CALL *PFNGLTEXTURENORMALEXTPROC)(GLenum mode);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_PERTURB_NORMAL\n#define glTextureNormalEXT                  rglTextureNormalEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_TEXTURE_PERTURB_NORMAL\nREGAL_DECL void REGAL_CALL glTextureNormalEXT(GLenum mode);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_TEXTURE_PERTURB_NORMAL\nREGAL_DECL void REGAL_CALL plugin_glTextureNormalEXT(GLenum mode);\n#endif\n\n/**\n ** GL_EXT_texture_rectangle\n **/\n\n#if (defined(GL_EXT_TEXTURE_RECTANGLE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_TEXTURE_RECTANGLE)) && !defined(REGAL_NO_ENUM_GL_EXT_TEXTURE_RECTANGLE)\n#define REGAL_NO_ENUM_GL_EXT_TEXTURE_RECTANGLE\n#endif\n\n#if (defined(GL_EXT_TEXTURE_RECTANGLE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_TEXTURE_RECTANGLE)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_RECTANGLE)\n#define REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_RECTANGLE\n#endif\n\n#if (defined(GL_EXT_TEXTURE_RECTANGLE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_TEXTURE_RECTANGLE)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_RECTANGLE)\n#define REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_RECTANGLE\n#endif\n\n#if (defined(GL_EXT_TEXTURE_RECTANGLE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_TEXTURE_RECTANGLE)) && !defined(REGAL_NO_PLUGIN_GL_EXT_TEXTURE_RECTANGLE)\n#define REGAL_NO_PLUGIN_GL_EXT_TEXTURE_RECTANGLE\n#endif\n\n#if (defined(GL_EXT_TEXTURE_RECTANGLE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_TEXTURE_RECTANGLE)) && !defined(REGAL_NO_DECLARATION_GL_EXT_TEXTURE_RECTANGLE)\n#define REGAL_NO_DECLARATION_GL_EXT_TEXTURE_RECTANGLE\n#endif\n\n#ifndef GL_EXT_texture_rectangle\n#define GL_EXT_texture_rectangle 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_TEXTURE_RECTANGLE\n#define GL_TEXTURE_RECTANGLE_EXT          0x84f5     /* 34037 */\n#define GL_TEXTURE_BINDING_RECTANGLE_EXT  0x84f6     /* 34038 */\n#define GL_PROXY_TEXTURE_RECTANGLE_EXT    0x84f7     /* 34039 */\n#define GL_MAX_RECTANGLE_TEXTURE_SIZE_EXT 0x84f8     /* 34040 */\n#endif\n\n/**\n ** GL_EXT_texture_rg\n **/\n\n#if (defined(GL_EXT_TEXTURE_RG) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_TEXTURE_RG)) && !defined(REGAL_NO_ENUM_GL_EXT_TEXTURE_RG)\n#define REGAL_NO_ENUM_GL_EXT_TEXTURE_RG\n#endif\n\n#if (defined(GL_EXT_TEXTURE_RG) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_TEXTURE_RG)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_RG)\n#define REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_RG\n#endif\n\n#if (defined(GL_EXT_TEXTURE_RG) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_TEXTURE_RG)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_RG)\n#define REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_RG\n#endif\n\n#if (defined(GL_EXT_TEXTURE_RG) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_TEXTURE_RG)) && !defined(REGAL_NO_PLUGIN_GL_EXT_TEXTURE_RG)\n#define REGAL_NO_PLUGIN_GL_EXT_TEXTURE_RG\n#endif\n\n#if (defined(GL_EXT_TEXTURE_RG) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_TEXTURE_RG)) && !defined(REGAL_NO_DECLARATION_GL_EXT_TEXTURE_RG)\n#define REGAL_NO_DECLARATION_GL_EXT_TEXTURE_RG\n#endif\n\n#ifndef GL_EXT_texture_rg\n#define GL_EXT_texture_rg 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_TEXTURE_RG\n#define GL_RED_EXT 0x1903     /* 6403 */\n#define GL_RG_EXT  0x8227     /* 33319 */\n#endif\n\n/**\n ** GL_EXT_texture_sRGB\n **/\n\n#if (defined(GL_EXT_TEXTURE_SRGB) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_TEXTURE_SRGB)) && !defined(REGAL_NO_ENUM_GL_EXT_TEXTURE_SRGB)\n#define REGAL_NO_ENUM_GL_EXT_TEXTURE_SRGB\n#endif\n\n#if (defined(GL_EXT_TEXTURE_SRGB) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_TEXTURE_SRGB)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_SRGB)\n#define REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_SRGB\n#endif\n\n#if (defined(GL_EXT_TEXTURE_SRGB) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_TEXTURE_SRGB)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_SRGB)\n#define REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_SRGB\n#endif\n\n#if (defined(GL_EXT_TEXTURE_SRGB) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_TEXTURE_SRGB)) && !defined(REGAL_NO_PLUGIN_GL_EXT_TEXTURE_SRGB)\n#define REGAL_NO_PLUGIN_GL_EXT_TEXTURE_SRGB\n#endif\n\n#if (defined(GL_EXT_TEXTURE_SRGB) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_TEXTURE_SRGB)) && !defined(REGAL_NO_DECLARATION_GL_EXT_TEXTURE_SRGB)\n#define REGAL_NO_DECLARATION_GL_EXT_TEXTURE_SRGB\n#endif\n\n#ifndef GL_EXT_texture_sRGB\n#define GL_EXT_texture_sRGB 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_TEXTURE_SRGB\n#define GL_SRGB_EXT                            0x8c40     /* 35904 */\n#define GL_SRGB8_EXT                           0x8c41     /* 35905 */\n#define GL_SRGB_ALPHA_EXT                      0x8c42     /* 35906 */\n#define GL_SRGB8_ALPHA8_EXT                    0x8c43     /* 35907 */\n#define GL_SLUMINANCE_ALPHA_EXT                0x8c44     /* 35908 */\n#define GL_SLUMINANCE8_ALPHA8_EXT              0x8c45     /* 35909 */\n#define GL_SLUMINANCE_EXT                      0x8c46     /* 35910 */\n#define GL_SLUMINANCE8_EXT                     0x8c47     /* 35911 */\n#define GL_COMPRESSED_SRGB_EXT                 0x8c48     /* 35912 */\n#define GL_COMPRESSED_SRGB_ALPHA_EXT           0x8c49     /* 35913 */\n#define GL_COMPRESSED_SLUMINANCE_EXT           0x8c4a     /* 35914 */\n#define GL_COMPRESSED_SLUMINANCE_ALPHA_EXT     0x8c4b     /* 35915 */\n#define GL_COMPRESSED_SRGB_S3TC_DXT1_EXT       0x8c4c     /* 35916 */\n#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT 0x8c4d     /* 35917 */\n#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT 0x8c4e     /* 35918 */\n#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT 0x8c4f     /* 35919 */\n#endif\n\n/**\n ** GL_EXT_texture_sRGB_decode\n **/\n\n#if (defined(GL_EXT_TEXTURE_SRGB_DECODE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_TEXTURE_SRGB_DECODE)) && !defined(REGAL_NO_ENUM_GL_EXT_TEXTURE_SRGB_DECODE)\n#define REGAL_NO_ENUM_GL_EXT_TEXTURE_SRGB_DECODE\n#endif\n\n#if (defined(GL_EXT_TEXTURE_SRGB_DECODE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_TEXTURE_SRGB_DECODE)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_SRGB_DECODE)\n#define REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_SRGB_DECODE\n#endif\n\n#if (defined(GL_EXT_TEXTURE_SRGB_DECODE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_TEXTURE_SRGB_DECODE)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_SRGB_DECODE)\n#define REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_SRGB_DECODE\n#endif\n\n#if (defined(GL_EXT_TEXTURE_SRGB_DECODE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_TEXTURE_SRGB_DECODE)) && !defined(REGAL_NO_PLUGIN_GL_EXT_TEXTURE_SRGB_DECODE)\n#define REGAL_NO_PLUGIN_GL_EXT_TEXTURE_SRGB_DECODE\n#endif\n\n#if (defined(GL_EXT_TEXTURE_SRGB_DECODE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_TEXTURE_SRGB_DECODE)) && !defined(REGAL_NO_DECLARATION_GL_EXT_TEXTURE_SRGB_DECODE)\n#define REGAL_NO_DECLARATION_GL_EXT_TEXTURE_SRGB_DECODE\n#endif\n\n#ifndef GL_EXT_texture_sRGB_decode\n#define GL_EXT_texture_sRGB_decode 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_TEXTURE_SRGB_DECODE\n#define GL_TEXTURE_SRGB_DECODE_EXT 0x8a48     /* 35400 */\n#define GL_DECODE_EXT              0x8a49     /* 35401 */\n#define GL_SKIP_DECODE_EXT         0x8a4a     /* 35402 */\n#endif\n\n/**\n ** GL_EXT_texture_shared_exponent\n **/\n\n#if (defined(GL_EXT_TEXTURE_SHARED_EXPONENT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_TEXTURE_SHARED_EXPONENT)) && !defined(REGAL_NO_ENUM_GL_EXT_TEXTURE_SHARED_EXPONENT)\n#define REGAL_NO_ENUM_GL_EXT_TEXTURE_SHARED_EXPONENT\n#endif\n\n#if (defined(GL_EXT_TEXTURE_SHARED_EXPONENT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_TEXTURE_SHARED_EXPONENT)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_SHARED_EXPONENT)\n#define REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_SHARED_EXPONENT\n#endif\n\n#if (defined(GL_EXT_TEXTURE_SHARED_EXPONENT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_TEXTURE_SHARED_EXPONENT)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_SHARED_EXPONENT)\n#define REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_SHARED_EXPONENT\n#endif\n\n#if (defined(GL_EXT_TEXTURE_SHARED_EXPONENT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_TEXTURE_SHARED_EXPONENT)) && !defined(REGAL_NO_PLUGIN_GL_EXT_TEXTURE_SHARED_EXPONENT)\n#define REGAL_NO_PLUGIN_GL_EXT_TEXTURE_SHARED_EXPONENT\n#endif\n\n#if (defined(GL_EXT_TEXTURE_SHARED_EXPONENT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_TEXTURE_SHARED_EXPONENT)) && !defined(REGAL_NO_DECLARATION_GL_EXT_TEXTURE_SHARED_EXPONENT)\n#define REGAL_NO_DECLARATION_GL_EXT_TEXTURE_SHARED_EXPONENT\n#endif\n\n#ifndef GL_EXT_texture_shared_exponent\n#define GL_EXT_texture_shared_exponent 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_TEXTURE_SHARED_EXPONENT\n#define GL_RGB9_E5_EXT                  0x8c3d     /* 35901 */\n#define GL_UNSIGNED_INT_5_9_9_9_REV_EXT 0x8c3e     /* 35902 */\n#define GL_TEXTURE_SHARED_SIZE_EXT      0x8c3f     /* 35903 */\n#endif\n\n/**\n ** GL_EXT_texture_snorm\n **/\n\n#if (defined(GL_EXT_TEXTURE_SNORM) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_TEXTURE_SNORM)) && !defined(REGAL_NO_ENUM_GL_EXT_TEXTURE_SNORM)\n#define REGAL_NO_ENUM_GL_EXT_TEXTURE_SNORM\n#endif\n\n#if (defined(GL_EXT_TEXTURE_SNORM) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_TEXTURE_SNORM)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_SNORM)\n#define REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_SNORM\n#endif\n\n#if (defined(GL_EXT_TEXTURE_SNORM) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_TEXTURE_SNORM)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_SNORM)\n#define REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_SNORM\n#endif\n\n#if (defined(GL_EXT_TEXTURE_SNORM) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_TEXTURE_SNORM)) && !defined(REGAL_NO_PLUGIN_GL_EXT_TEXTURE_SNORM)\n#define REGAL_NO_PLUGIN_GL_EXT_TEXTURE_SNORM\n#endif\n\n#if (defined(GL_EXT_TEXTURE_SNORM) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_TEXTURE_SNORM)) && !defined(REGAL_NO_DECLARATION_GL_EXT_TEXTURE_SNORM)\n#define REGAL_NO_DECLARATION_GL_EXT_TEXTURE_SNORM\n#endif\n\n#ifndef GL_EXT_texture_snorm\n#define GL_EXT_texture_snorm 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_TEXTURE_SNORM\n#define GL_RED_SNORM                 0x8f90     /* 36752 */\n#define GL_RG_SNORM                  0x8f91     /* 36753 */\n#define GL_RGB_SNORM                 0x8f92     /* 36754 */\n#define GL_RGBA_SNORM                0x8f93     /* 36755 */\n#define GL_R8_SNORM                  0x8f94     /* 36756 */\n#define GL_RG8_SNORM                 0x8f95     /* 36757 */\n#define GL_RGB8_SNORM                0x8f96     /* 36758 */\n#define GL_RGBA8_SNORM               0x8f97     /* 36759 */\n#define GL_R16_SNORM                 0x8f98     /* 36760 */\n#define GL_RG16_SNORM                0x8f99     /* 36761 */\n#define GL_RGB16_SNORM               0x8f9a     /* 36762 */\n#define GL_RGBA16_SNORM              0x8f9b     /* 36763 */\n#define GL_SIGNED_NORMALIZED         0x8f9c     /* 36764 */\n#define GL_ALPHA_SNORM               0x9010     /* 36880 */\n#define GL_LUMINANCE_SNORM           0x9011     /* 36881 */\n#define GL_LUMINANCE_ALPHA_SNORM     0x9012     /* 36882 */\n#define GL_INTENSITY_SNORM           0x9013     /* 36883 */\n#define GL_ALPHA8_SNORM              0x9014     /* 36884 */\n#define GL_LUMINANCE8_SNORM          0x9015     /* 36885 */\n#define GL_LUMINANCE8_ALPHA8_SNORM   0x9016     /* 36886 */\n#define GL_INTENSITY8_SNORM          0x9017     /* 36887 */\n#define GL_ALPHA16_SNORM             0x9018     /* 36888 */\n#define GL_LUMINANCE16_SNORM         0x9019     /* 36889 */\n#define GL_LUMINANCE16_ALPHA16_SNORM 0x901a     /* 36890 */\n#define GL_INTENSITY16_SNORM         0x901b     /* 36891 */\n#endif\n\n/**\n ** GL_EXT_texture_storage\n **/\n\n#if (defined(GL_EXT_TEXTURE_STORAGE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_TEXTURE_STORAGE)) && !defined(REGAL_NO_ENUM_GL_EXT_TEXTURE_STORAGE)\n#define REGAL_NO_ENUM_GL_EXT_TEXTURE_STORAGE\n#endif\n\n#if (defined(GL_EXT_TEXTURE_STORAGE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_TEXTURE_STORAGE)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_STORAGE)\n#define REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_STORAGE\n#endif\n\n#if (defined(GL_EXT_TEXTURE_STORAGE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_TEXTURE_STORAGE)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_STORAGE)\n#define REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_STORAGE\n#endif\n\n#if (defined(GL_EXT_TEXTURE_STORAGE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_TEXTURE_STORAGE)) && !defined(REGAL_NO_PLUGIN_GL_EXT_TEXTURE_STORAGE)\n#define REGAL_NO_PLUGIN_GL_EXT_TEXTURE_STORAGE\n#endif\n\n#if (defined(GL_EXT_TEXTURE_STORAGE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_TEXTURE_STORAGE)) && !defined(REGAL_NO_DECLARATION_GL_EXT_TEXTURE_STORAGE)\n#define REGAL_NO_DECLARATION_GL_EXT_TEXTURE_STORAGE\n#endif\n\n#ifndef GL_EXT_texture_storage\n#define GL_EXT_texture_storage 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_TEXTURE_STORAGE\n#define GL_R8_EXT                       0x8229     /* 33321 */\n#define GL_RG8_EXT                      0x822b     /* 33323 */\n#define GL_R16F_EXT                     0x822d     /* 33325 */\n#define GL_R32F_EXT                     0x822e     /* 33326 */\n#define GL_RG16F_EXT                    0x822f     /* 33327 */\n#define GL_RG32F_EXT                    0x8230     /* 33328 */\n#define GL_RGBA32F_EXT                  0x8814     /* 34836 */\n#define GL_RGB32F_EXT                   0x8815     /* 34837 */\n#define GL_ALPHA32F_EXT                 0x8816     /* 34838 */\n#define GL_LUMINANCE32F_EXT             0x8818     /* 34840 */\n#define GL_LUMINANCE_ALPHA32F_EXT       0x8819     /* 34841 */\n#define GL_RGBA16F_EXT                  0x881a     /* 34842 */\n#define GL_RGB16F_EXT                   0x881b     /* 34843 */\n#define GL_ALPHA16F_EXT                 0x881c     /* 34844 */\n#define GL_LUMINANCE16F_EXT             0x881e     /* 34846 */\n#define GL_LUMINANCE_ALPHA16F_EXT       0x881f     /* 34847 */\n#define GL_TEXTURE_IMMUTABLE_FORMAT_EXT 0x912f     /* 37167 */\n#define GL_BGRA8_EXT                    0x93a1     /* 37793 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_STORAGE\ntypedef void (REGAL_CALL *PFNGLTEXSTORAGE1DEXTPROC)(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);\ntypedef void (REGAL_CALL *PFNGLTEXSTORAGE2DEXTPROC)(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);\ntypedef void (REGAL_CALL *PFNGLTEXSTORAGE3DEXTPROC)(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_STORAGE\n#define glTexStorage1DEXT                   rglTexStorage1DEXT\n#define glTexStorage2DEXT                   rglTexStorage2DEXT\n#define glTexStorage3DEXT                   rglTexStorage3DEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_TEXTURE_STORAGE\nREGAL_DECL void REGAL_CALL glTexStorage1DEXT(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);\nREGAL_DECL void REGAL_CALL glTexStorage2DEXT(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);\nREGAL_DECL void REGAL_CALL glTexStorage3DEXT(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_TEXTURE_STORAGE\nREGAL_DECL void REGAL_CALL plugin_glTexStorage1DEXT(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);\nREGAL_DECL void REGAL_CALL plugin_glTexStorage2DEXT(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);\nREGAL_DECL void REGAL_CALL plugin_glTexStorage3DEXT(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);\n#endif\n\n/**\n ** GL_EXT_texture_swizzle\n **/\n\n#if (defined(GL_EXT_TEXTURE_SWIZZLE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_TEXTURE_SWIZZLE)) && !defined(REGAL_NO_ENUM_GL_EXT_TEXTURE_SWIZZLE)\n#define REGAL_NO_ENUM_GL_EXT_TEXTURE_SWIZZLE\n#endif\n\n#if (defined(GL_EXT_TEXTURE_SWIZZLE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_TEXTURE_SWIZZLE)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_SWIZZLE)\n#define REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_SWIZZLE\n#endif\n\n#if (defined(GL_EXT_TEXTURE_SWIZZLE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_TEXTURE_SWIZZLE)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_SWIZZLE)\n#define REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_SWIZZLE\n#endif\n\n#if (defined(GL_EXT_TEXTURE_SWIZZLE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_TEXTURE_SWIZZLE)) && !defined(REGAL_NO_PLUGIN_GL_EXT_TEXTURE_SWIZZLE)\n#define REGAL_NO_PLUGIN_GL_EXT_TEXTURE_SWIZZLE\n#endif\n\n#if (defined(GL_EXT_TEXTURE_SWIZZLE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_TEXTURE_SWIZZLE)) && !defined(REGAL_NO_DECLARATION_GL_EXT_TEXTURE_SWIZZLE)\n#define REGAL_NO_DECLARATION_GL_EXT_TEXTURE_SWIZZLE\n#endif\n\n#ifndef GL_EXT_texture_swizzle\n#define GL_EXT_texture_swizzle 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_TEXTURE_SWIZZLE\n#define GL_TEXTURE_SWIZZLE_R_EXT    0x8e42     /* 36418 */\n#define GL_TEXTURE_SWIZZLE_G_EXT    0x8e43     /* 36419 */\n#define GL_TEXTURE_SWIZZLE_B_EXT    0x8e44     /* 36420 */\n#define GL_TEXTURE_SWIZZLE_A_EXT    0x8e45     /* 36421 */\n#define GL_TEXTURE_SWIZZLE_RGBA_EXT 0x8e46     /* 36422 */\n#endif\n\n/**\n ** GL_EXT_texture_type_2_10_10_10_REV\n **/\n\n#if (defined(GL_EXT_TEXTURE_TYPE_2_10_10_10_REV) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_TEXTURE_TYPE_2_10_10_10_REV)) && !defined(REGAL_NO_ENUM_GL_EXT_TEXTURE_TYPE_2_10_10_10_REV)\n#define REGAL_NO_ENUM_GL_EXT_TEXTURE_TYPE_2_10_10_10_REV\n#endif\n\n#if (defined(GL_EXT_TEXTURE_TYPE_2_10_10_10_REV) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_TEXTURE_TYPE_2_10_10_10_REV)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_TYPE_2_10_10_10_REV)\n#define REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_TYPE_2_10_10_10_REV\n#endif\n\n#if (defined(GL_EXT_TEXTURE_TYPE_2_10_10_10_REV) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_TEXTURE_TYPE_2_10_10_10_REV)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_TYPE_2_10_10_10_REV)\n#define REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_TYPE_2_10_10_10_REV\n#endif\n\n#if (defined(GL_EXT_TEXTURE_TYPE_2_10_10_10_REV) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_TEXTURE_TYPE_2_10_10_10_REV)) && !defined(REGAL_NO_PLUGIN_GL_EXT_TEXTURE_TYPE_2_10_10_10_REV)\n#define REGAL_NO_PLUGIN_GL_EXT_TEXTURE_TYPE_2_10_10_10_REV\n#endif\n\n#if (defined(GL_EXT_TEXTURE_TYPE_2_10_10_10_REV) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_TEXTURE_TYPE_2_10_10_10_REV)) && !defined(REGAL_NO_DECLARATION_GL_EXT_TEXTURE_TYPE_2_10_10_10_REV)\n#define REGAL_NO_DECLARATION_GL_EXT_TEXTURE_TYPE_2_10_10_10_REV\n#endif\n\n#ifndef GL_EXT_texture_type_2_10_10_10_REV\n#define GL_EXT_texture_type_2_10_10_10_REV 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_TEXTURE_TYPE_2_10_10_10_REV\n#define GL_UNSIGNED_INT_2_10_10_10_REV_EXT 0x8368 /* 33640 */\n#endif\n\n/**\n ** GL_EXT_timer_query\n **/\n\n#if (defined(GL_EXT_TIMER_QUERY) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_TIMER_QUERY)) && !defined(REGAL_NO_ENUM_GL_EXT_TIMER_QUERY)\n#define REGAL_NO_ENUM_GL_EXT_TIMER_QUERY\n#endif\n\n#if (defined(GL_EXT_TIMER_QUERY) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_TIMER_QUERY)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_TIMER_QUERY)\n#define REGAL_NO_TYPEDEF_GL_EXT_TIMER_QUERY\n#endif\n\n#if (defined(GL_EXT_TIMER_QUERY) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_TIMER_QUERY)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_TIMER_QUERY)\n#define REGAL_NO_NAMESPACE_GL_EXT_TIMER_QUERY\n#endif\n\n#if (defined(GL_EXT_TIMER_QUERY) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_TIMER_QUERY)) && !defined(REGAL_NO_PLUGIN_GL_EXT_TIMER_QUERY)\n#define REGAL_NO_PLUGIN_GL_EXT_TIMER_QUERY\n#endif\n\n#if (defined(GL_EXT_TIMER_QUERY) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_TIMER_QUERY)) && !defined(REGAL_NO_DECLARATION_GL_EXT_TIMER_QUERY)\n#define REGAL_NO_DECLARATION_GL_EXT_TIMER_QUERY\n#endif\n\n#ifndef GL_EXT_timer_query\n#define GL_EXT_timer_query 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_TIMER_QUERY\n#define GL_TIME_ELAPSED_EXT 0x88bf /* 35007 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_TIMER_QUERY\ntypedef void (REGAL_CALL *PFNGLGETQUERYOBJECTI64VEXTPROC)(GLuint id, GLenum pname, GLint64EXT *params);\ntypedef void (REGAL_CALL *PFNGLGETQUERYOBJECTUI64VEXTPROC)(GLuint id, GLenum pname, GLuint64EXT *params);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_TIMER_QUERY\n#define glGetQueryObjecti64vEXT             rglGetQueryObjecti64vEXT\n#define glGetQueryObjectui64vEXT            rglGetQueryObjectui64vEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_TIMER_QUERY\nREGAL_DECL void REGAL_CALL glGetQueryObjecti64vEXT(GLuint id, GLenum pname, GLint64EXT *params);\nREGAL_DECL void REGAL_CALL glGetQueryObjectui64vEXT(GLuint id, GLenum pname, GLuint64EXT *params);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_TIMER_QUERY\nREGAL_DECL void REGAL_CALL plugin_glGetQueryObjecti64vEXT(GLuint id, GLenum pname, GLint64EXT *params);\nREGAL_DECL void REGAL_CALL plugin_glGetQueryObjectui64vEXT(GLuint id, GLenum pname, GLuint64EXT *params);\n#endif\n\n/**\n ** GL_EXT_transform_feedback\n **/\n\n#if (defined(GL_EXT_TRANSFORM_FEEDBACK) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_TRANSFORM_FEEDBACK)) && !defined(REGAL_NO_ENUM_GL_EXT_TRANSFORM_FEEDBACK)\n#define REGAL_NO_ENUM_GL_EXT_TRANSFORM_FEEDBACK\n#endif\n\n#if (defined(GL_EXT_TRANSFORM_FEEDBACK) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_TRANSFORM_FEEDBACK)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_TRANSFORM_FEEDBACK)\n#define REGAL_NO_TYPEDEF_GL_EXT_TRANSFORM_FEEDBACK\n#endif\n\n#if (defined(GL_EXT_TRANSFORM_FEEDBACK) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_TRANSFORM_FEEDBACK)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_TRANSFORM_FEEDBACK)\n#define REGAL_NO_NAMESPACE_GL_EXT_TRANSFORM_FEEDBACK\n#endif\n\n#if (defined(GL_EXT_TRANSFORM_FEEDBACK) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_TRANSFORM_FEEDBACK)) && !defined(REGAL_NO_PLUGIN_GL_EXT_TRANSFORM_FEEDBACK)\n#define REGAL_NO_PLUGIN_GL_EXT_TRANSFORM_FEEDBACK\n#endif\n\n#if (defined(GL_EXT_TRANSFORM_FEEDBACK) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_TRANSFORM_FEEDBACK)) && !defined(REGAL_NO_DECLARATION_GL_EXT_TRANSFORM_FEEDBACK)\n#define REGAL_NO_DECLARATION_GL_EXT_TRANSFORM_FEEDBACK\n#endif\n\n#ifndef GL_EXT_transform_feedback\n#define GL_EXT_transform_feedback 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_TRANSFORM_FEEDBACK\n#define GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT         0x8c76     /* 35958 */\n#define GL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT                0x8c7f     /* 35967 */\n#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT    0x8c80     /* 35968 */\n#define GL_TRANSFORM_FEEDBACK_VARYINGS_EXT                   0x8c83     /* 35971 */\n#define GL_TRANSFORM_FEEDBACK_BUFFER_START_EXT               0x8c84     /* 35972 */\n#define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT                0x8c85     /* 35973 */\n#define GL_PRIMITIVES_GENERATED_EXT                          0x8c87     /* 35975 */\n#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT         0x8c88     /* 35976 */\n#define GL_RASTERIZER_DISCARD_EXT                            0x8c89     /* 35977 */\n#define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT 0x8c8a     /* 35978 */\n#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT       0x8c8b     /* 35979 */\n#define GL_INTERLEAVED_ATTRIBS_EXT                           0x8c8c     /* 35980 */\n#define GL_SEPARATE_ATTRIBS_EXT                              0x8c8d     /* 35981 */\n#define GL_TRANSFORM_FEEDBACK_BUFFER_EXT                     0x8c8e     /* 35982 */\n#define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT             0x8c8f     /* 35983 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_TRANSFORM_FEEDBACK\ntypedef void (REGAL_CALL *PFNGLBEGINTRANSFORMFEEDBACKEXTPROC)(GLenum primitiveMode);\ntypedef void (REGAL_CALL *PFNGLBINDBUFFERBASEEXTPROC)(GLenum target, GLuint index, GLuint buffer);\ntypedef void (REGAL_CALL *PFNGLBINDBUFFEROFFSETEXTPROC)(GLenum target, GLuint index, GLuint buffer, GLintptr offset);\ntypedef void (REGAL_CALL *PFNGLBINDBUFFERRANGEEXTPROC)(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);\ntypedef void (REGAL_CALL *PFNGLENDTRANSFORMFEEDBACKEXTPROC)(void);\ntypedef void (REGAL_CALL *PFNGLGETTRANSFORMFEEDBACKVARYINGEXTPROC)(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);\ntypedef void (REGAL_CALL *PFNGLTRANSFORMFEEDBACKVARYINGSEXTPROC)(GLuint program, GLsizei count, const GLchar ** const varyings, GLenum bufferMode);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_TRANSFORM_FEEDBACK\n#define glBeginTransformFeedbackEXT         rglBeginTransformFeedbackEXT\n#define glBindBufferBaseEXT                 rglBindBufferBaseEXT\n#define glBindBufferOffsetEXT               rglBindBufferOffsetEXT\n#define glBindBufferRangeEXT                rglBindBufferRangeEXT\n#define glEndTransformFeedbackEXT           rglEndTransformFeedbackEXT\n#define glGetTransformFeedbackVaryingEXT    rglGetTransformFeedbackVaryingEXT\n#define glTransformFeedbackVaryingsEXT      rglTransformFeedbackVaryingsEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_TRANSFORM_FEEDBACK\nREGAL_DECL void REGAL_CALL glBeginTransformFeedbackEXT(GLenum primitiveMode);\nREGAL_DECL void REGAL_CALL glBindBufferBaseEXT(GLenum target, GLuint index, GLuint buffer);\nREGAL_DECL void REGAL_CALL glBindBufferOffsetEXT(GLenum target, GLuint index, GLuint buffer, GLintptr offset);\nREGAL_DECL void REGAL_CALL glBindBufferRangeEXT(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);\nREGAL_DECL void REGAL_CALL glEndTransformFeedbackEXT(void);\nREGAL_DECL void REGAL_CALL glGetTransformFeedbackVaryingEXT(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);\nREGAL_DECL void REGAL_CALL glTransformFeedbackVaryingsEXT(GLuint program, GLsizei count, const GLchar ** const varyings, GLenum bufferMode);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_TRANSFORM_FEEDBACK\nREGAL_DECL void REGAL_CALL plugin_glBeginTransformFeedbackEXT(GLenum primitiveMode);\nREGAL_DECL void REGAL_CALL plugin_glBindBufferBaseEXT(GLenum target, GLuint index, GLuint buffer);\nREGAL_DECL void REGAL_CALL plugin_glBindBufferOffsetEXT(GLenum target, GLuint index, GLuint buffer, GLintptr offset);\nREGAL_DECL void REGAL_CALL plugin_glBindBufferRangeEXT(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);\nREGAL_DECL void REGAL_CALL plugin_glEndTransformFeedbackEXT(void);\nREGAL_DECL void REGAL_CALL plugin_glGetTransformFeedbackVaryingEXT(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);\nREGAL_DECL void REGAL_CALL plugin_glTransformFeedbackVaryingsEXT(GLuint program, GLsizei count, const GLchar ** const varyings, GLenum bufferMode);\n#endif\n\n/**\n ** GL_EXT_unpack_subimage\n **/\n\n#if (defined(GL_EXT_UNPACK_SUBIMAGE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_UNPACK_SUBIMAGE)) && !defined(REGAL_NO_ENUM_GL_EXT_UNPACK_SUBIMAGE)\n#define REGAL_NO_ENUM_GL_EXT_UNPACK_SUBIMAGE\n#endif\n\n#if (defined(GL_EXT_UNPACK_SUBIMAGE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_UNPACK_SUBIMAGE)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_UNPACK_SUBIMAGE)\n#define REGAL_NO_TYPEDEF_GL_EXT_UNPACK_SUBIMAGE\n#endif\n\n#if (defined(GL_EXT_UNPACK_SUBIMAGE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_UNPACK_SUBIMAGE)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_UNPACK_SUBIMAGE)\n#define REGAL_NO_NAMESPACE_GL_EXT_UNPACK_SUBIMAGE\n#endif\n\n#if (defined(GL_EXT_UNPACK_SUBIMAGE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_UNPACK_SUBIMAGE)) && !defined(REGAL_NO_PLUGIN_GL_EXT_UNPACK_SUBIMAGE)\n#define REGAL_NO_PLUGIN_GL_EXT_UNPACK_SUBIMAGE\n#endif\n\n#if (defined(GL_EXT_UNPACK_SUBIMAGE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_UNPACK_SUBIMAGE)) && !defined(REGAL_NO_DECLARATION_GL_EXT_UNPACK_SUBIMAGE)\n#define REGAL_NO_DECLARATION_GL_EXT_UNPACK_SUBIMAGE\n#endif\n\n#ifndef GL_EXT_unpack_subimage\n#define GL_EXT_unpack_subimage 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_UNPACK_SUBIMAGE\n#define GL_UNPACK_ROW_LENGTH_EXT  0xcf2     /* 3314 */\n#define GL_UNPACK_SKIP_ROWS_EXT   0xcf3     /* 3315 */\n#define GL_UNPACK_SKIP_PIXELS_EXT 0xcf4     /* 3316 */\n#endif\n\n/**\n ** GL_EXT_vertex_array\n **/\n\n#if (defined(GL_EXT_VERTEX_ARRAY) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_VERTEX_ARRAY)) && !defined(REGAL_NO_ENUM_GL_EXT_VERTEX_ARRAY)\n#define REGAL_NO_ENUM_GL_EXT_VERTEX_ARRAY\n#endif\n\n#if (defined(GL_EXT_VERTEX_ARRAY) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_VERTEX_ARRAY)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_VERTEX_ARRAY)\n#define REGAL_NO_TYPEDEF_GL_EXT_VERTEX_ARRAY\n#endif\n\n#if (defined(GL_EXT_VERTEX_ARRAY) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_VERTEX_ARRAY)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_VERTEX_ARRAY)\n#define REGAL_NO_NAMESPACE_GL_EXT_VERTEX_ARRAY\n#endif\n\n#if (defined(GL_EXT_VERTEX_ARRAY) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_VERTEX_ARRAY)) && !defined(REGAL_NO_PLUGIN_GL_EXT_VERTEX_ARRAY)\n#define REGAL_NO_PLUGIN_GL_EXT_VERTEX_ARRAY\n#endif\n\n#if (defined(GL_EXT_VERTEX_ARRAY) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_VERTEX_ARRAY)) && !defined(REGAL_NO_DECLARATION_GL_EXT_VERTEX_ARRAY)\n#define REGAL_NO_DECLARATION_GL_EXT_VERTEX_ARRAY\n#endif\n\n#ifndef GL_EXT_vertex_array\n#define GL_EXT_vertex_array 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_VERTEX_ARRAY\n#define GL_DOUBLE_EXT                      0x140a     /* 5130 */\n#define GL_VERTEX_ARRAY_EXT                0x8074     /* 32884 */\n#define GL_NORMAL_ARRAY_EXT                0x8075     /* 32885 */\n#define GL_COLOR_ARRAY_EXT                 0x8076     /* 32886 */\n#define GL_INDEX_ARRAY_EXT                 0x8077     /* 32887 */\n#define GL_TEXTURE_COORD_ARRAY_EXT         0x8078     /* 32888 */\n#define GL_EDGE_FLAG_ARRAY_EXT             0x8079     /* 32889 */\n#define GL_VERTEX_ARRAY_SIZE_EXT           0x807a     /* 32890 */\n#define GL_VERTEX_ARRAY_TYPE_EXT           0x807b     /* 32891 */\n#define GL_VERTEX_ARRAY_STRIDE_EXT         0x807c     /* 32892 */\n#define GL_VERTEX_ARRAY_COUNT_EXT          0x807d     /* 32893 */\n#define GL_NORMAL_ARRAY_TYPE_EXT           0x807e     /* 32894 */\n#define GL_NORMAL_ARRAY_STRIDE_EXT         0x807f     /* 32895 */\n#define GL_NORMAL_ARRAY_COUNT_EXT          0x8080     /* 32896 */\n#define GL_COLOR_ARRAY_SIZE_EXT            0x8081     /* 32897 */\n#define GL_COLOR_ARRAY_TYPE_EXT            0x8082     /* 32898 */\n#define GL_COLOR_ARRAY_STRIDE_EXT          0x8083     /* 32899 */\n#define GL_COLOR_ARRAY_COUNT_EXT           0x8084     /* 32900 */\n#define GL_INDEX_ARRAY_TYPE_EXT            0x8085     /* 32901 */\n#define GL_INDEX_ARRAY_STRIDE_EXT          0x8086     /* 32902 */\n#define GL_INDEX_ARRAY_COUNT_EXT           0x8087     /* 32903 */\n#define GL_TEXTURE_COORD_ARRAY_SIZE_EXT    0x8088     /* 32904 */\n#define GL_TEXTURE_COORD_ARRAY_TYPE_EXT    0x8089     /* 32905 */\n#define GL_TEXTURE_COORD_ARRAY_STRIDE_EXT  0x808a     /* 32906 */\n#define GL_TEXTURE_COORD_ARRAY_COUNT_EXT   0x808b     /* 32907 */\n#define GL_EDGE_FLAG_ARRAY_STRIDE_EXT      0x808c     /* 32908 */\n#define GL_EDGE_FLAG_ARRAY_COUNT_EXT       0x808d     /* 32909 */\n#define GL_VERTEX_ARRAY_POINTER_EXT        0x808e     /* 32910 */\n#define GL_NORMAL_ARRAY_POINTER_EXT        0x808f     /* 32911 */\n#define GL_COLOR_ARRAY_POINTER_EXT         0x8090     /* 32912 */\n#define GL_INDEX_ARRAY_POINTER_EXT         0x8091     /* 32913 */\n#define GL_TEXTURE_COORD_ARRAY_POINTER_EXT 0x8092     /* 32914 */\n#define GL_EDGE_FLAG_ARRAY_POINTER_EXT     0x8093     /* 32915 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_VERTEX_ARRAY\ntypedef void (REGAL_CALL *PFNGLARRAYELEMENTEXTPROC)(GLint i);\ntypedef void (REGAL_CALL *PFNGLCOLORPOINTEREXTPROC)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);\ntypedef void (REGAL_CALL *PFNGLDRAWARRAYSEXTPROC)(GLenum mode, GLint first, GLsizei count);\ntypedef void (REGAL_CALL *PFNGLEDGEFLAGPOINTEREXTPROC)(GLsizei stride, GLsizei count, const GLboolean *pointer);\ntypedef void (REGAL_CALL *PFNGLGETPOINTERVEXTPROC)(GLenum pname, GLvoid **params);\ntypedef void (REGAL_CALL *PFNGLINDEXPOINTEREXTPROC)(GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);\ntypedef void (REGAL_CALL *PFNGLNORMALPOINTEREXTPROC)(GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);\ntypedef void (REGAL_CALL *PFNGLTEXCOORDPOINTEREXTPROC)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);\ntypedef void (REGAL_CALL *PFNGLVERTEXPOINTEREXTPROC)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_VERTEX_ARRAY\n#define glArrayElementEXT                   rglArrayElementEXT\n#define glColorPointerEXT                   rglColorPointerEXT\n#define glDrawArraysEXT                     rglDrawArraysEXT\n#define glEdgeFlagPointerEXT                rglEdgeFlagPointerEXT\n#define glGetPointervEXT                    rglGetPointervEXT\n#define glIndexPointerEXT                   rglIndexPointerEXT\n#define glNormalPointerEXT                  rglNormalPointerEXT\n#define glTexCoordPointerEXT                rglTexCoordPointerEXT\n#define glVertexPointerEXT                  rglVertexPointerEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_VERTEX_ARRAY\nREGAL_DECL void REGAL_CALL glArrayElementEXT(GLint i);\nREGAL_DECL void REGAL_CALL glColorPointerEXT(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL glDrawArraysEXT(GLenum mode, GLint first, GLsizei count);\nREGAL_DECL void REGAL_CALL glEdgeFlagPointerEXT(GLsizei stride, GLsizei count, const GLboolean *pointer);\nREGAL_DECL void REGAL_CALL glGetPointervEXT(GLenum pname, GLvoid **params);\nREGAL_DECL void REGAL_CALL glIndexPointerEXT(GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL glNormalPointerEXT(GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL glTexCoordPointerEXT(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL glVertexPointerEXT(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_VERTEX_ARRAY\nREGAL_DECL void REGAL_CALL plugin_glArrayElementEXT(GLint i);\nREGAL_DECL void REGAL_CALL plugin_glColorPointerEXT(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL plugin_glDrawArraysEXT(GLenum mode, GLint first, GLsizei count);\nREGAL_DECL void REGAL_CALL plugin_glEdgeFlagPointerEXT(GLsizei stride, GLsizei count, const GLboolean *pointer);\nREGAL_DECL void REGAL_CALL plugin_glGetPointervEXT(GLenum pname, GLvoid **params);\nREGAL_DECL void REGAL_CALL plugin_glIndexPointerEXT(GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL plugin_glNormalPointerEXT(GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL plugin_glTexCoordPointerEXT(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL plugin_glVertexPointerEXT(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);\n#endif\n\n/**\n ** GL_EXT_vertex_attrib_64bit\n **/\n\n#if (defined(GL_EXT_VERTEX_ATTRIB_64BIT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_VERTEX_ATTRIB_64BIT)) && !defined(REGAL_NO_ENUM_GL_EXT_VERTEX_ATTRIB_64BIT)\n#define REGAL_NO_ENUM_GL_EXT_VERTEX_ATTRIB_64BIT\n#endif\n\n#if (defined(GL_EXT_VERTEX_ATTRIB_64BIT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_VERTEX_ATTRIB_64BIT)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_VERTEX_ATTRIB_64BIT)\n#define REGAL_NO_TYPEDEF_GL_EXT_VERTEX_ATTRIB_64BIT\n#endif\n\n#if (defined(GL_EXT_VERTEX_ATTRIB_64BIT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_VERTEX_ATTRIB_64BIT)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_VERTEX_ATTRIB_64BIT)\n#define REGAL_NO_NAMESPACE_GL_EXT_VERTEX_ATTRIB_64BIT\n#endif\n\n#if (defined(GL_EXT_VERTEX_ATTRIB_64BIT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_VERTEX_ATTRIB_64BIT)) && !defined(REGAL_NO_PLUGIN_GL_EXT_VERTEX_ATTRIB_64BIT)\n#define REGAL_NO_PLUGIN_GL_EXT_VERTEX_ATTRIB_64BIT\n#endif\n\n#if (defined(GL_EXT_VERTEX_ATTRIB_64BIT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_VERTEX_ATTRIB_64BIT)) && !defined(REGAL_NO_DECLARATION_GL_EXT_VERTEX_ATTRIB_64BIT)\n#define REGAL_NO_DECLARATION_GL_EXT_VERTEX_ATTRIB_64BIT\n#endif\n\n#ifndef GL_EXT_vertex_attrib_64bit\n#define GL_EXT_vertex_attrib_64bit 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_VERTEX_ATTRIB_64BIT\n#define GL_DOUBLE_MAT2_EXT   0x8f46     /* 36678 */\n#define GL_DOUBLE_MAT3_EXT   0x8f47     /* 36679 */\n#define GL_DOUBLE_MAT4_EXT   0x8f48     /* 36680 */\n#define GL_DOUBLE_MAT2x3_EXT 0x8f49     /* 36681 */\n#define GL_DOUBLE_MAT2x4_EXT 0x8f4a     /* 36682 */\n#define GL_DOUBLE_MAT3x2_EXT 0x8f4b     /* 36683 */\n#define GL_DOUBLE_MAT3x4_EXT 0x8f4c     /* 36684 */\n#define GL_DOUBLE_MAT4x2_EXT 0x8f4d     /* 36685 */\n#define GL_DOUBLE_MAT4x3_EXT 0x8f4e     /* 36686 */\n#define GL_DOUBLE_VEC2_EXT   0x8ffc     /* 36860 */\n#define GL_DOUBLE_VEC3_EXT   0x8ffd     /* 36861 */\n#define GL_DOUBLE_VEC4_EXT   0x8ffe     /* 36862 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_VERTEX_ATTRIB_64BIT\ntypedef void (REGAL_CALL *PFNGLGETVERTEXATTRIBLDVEXTPROC)(GLuint index, GLenum pname, GLdouble *params);\ntypedef void (REGAL_CALL *PFNGLVERTEXARRAYVERTEXATTRIBLOFFSETEXTPROC)(GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLsizei stride, GLintptr offset);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBL1DEXTPROC)(GLuint index, GLdouble x);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBL1DVEXTPROC)(GLuint index, const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBL2DEXTPROC)(GLuint index, GLdouble x, GLdouble y);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBL2DVEXTPROC)(GLuint index, const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBL3DEXTPROC)(GLuint index, GLdouble x, GLdouble y, GLdouble z);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBL3DVEXTPROC)(GLuint index, const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBL4DEXTPROC)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBL4DVEXTPROC)(GLuint index, const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBLPOINTEREXTPROC)(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_VERTEX_ATTRIB_64BIT\n#define glGetVertexAttribLdvEXT             rglGetVertexAttribLdvEXT\n#define glVertexArrayVertexAttribLOffsetEXT rglVertexArrayVertexAttribLOffsetEXT\n#define glVertexAttribL1dEXT                rglVertexAttribL1dEXT\n#define glVertexAttribL1dvEXT               rglVertexAttribL1dvEXT\n#define glVertexAttribL2dEXT                rglVertexAttribL2dEXT\n#define glVertexAttribL2dvEXT               rglVertexAttribL2dvEXT\n#define glVertexAttribL3dEXT                rglVertexAttribL3dEXT\n#define glVertexAttribL3dvEXT               rglVertexAttribL3dvEXT\n#define glVertexAttribL4dEXT                rglVertexAttribL4dEXT\n#define glVertexAttribL4dvEXT               rglVertexAttribL4dvEXT\n#define glVertexAttribLPointerEXT           rglVertexAttribLPointerEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_VERTEX_ATTRIB_64BIT\nREGAL_DECL void REGAL_CALL glGetVertexAttribLdvEXT(GLuint index, GLenum pname, GLdouble *params);\nREGAL_DECL void REGAL_CALL glVertexArrayVertexAttribLOffsetEXT(GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLsizei stride, GLintptr offset);\nREGAL_DECL void REGAL_CALL glVertexAttribL1dEXT(GLuint index, GLdouble x);\nREGAL_DECL void REGAL_CALL glVertexAttribL1dvEXT(GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL glVertexAttribL2dEXT(GLuint index, GLdouble x, GLdouble y);\nREGAL_DECL void REGAL_CALL glVertexAttribL2dvEXT(GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL glVertexAttribL3dEXT(GLuint index, GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL glVertexAttribL3dvEXT(GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL glVertexAttribL4dEXT(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nREGAL_DECL void REGAL_CALL glVertexAttribL4dvEXT(GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL glVertexAttribLPointerEXT(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_VERTEX_ATTRIB_64BIT\nREGAL_DECL void REGAL_CALL plugin_glGetVertexAttribLdvEXT(GLuint index, GLenum pname, GLdouble *params);\nREGAL_DECL void REGAL_CALL plugin_glVertexArrayVertexAttribLOffsetEXT(GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLsizei stride, GLintptr offset);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribL1dEXT(GLuint index, GLdouble x);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribL1dvEXT(GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribL2dEXT(GLuint index, GLdouble x, GLdouble y);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribL2dvEXT(GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribL3dEXT(GLuint index, GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribL3dvEXT(GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribL4dEXT(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribL4dvEXT(GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribLPointerEXT(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);\n#endif\n\n/**\n ** GL_EXT_vertex_shader\n **/\n\n#if (defined(GL_EXT_VERTEX_SHADER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_VERTEX_SHADER)) && !defined(REGAL_NO_ENUM_GL_EXT_VERTEX_SHADER)\n#define REGAL_NO_ENUM_GL_EXT_VERTEX_SHADER\n#endif\n\n#if (defined(GL_EXT_VERTEX_SHADER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_VERTEX_SHADER)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_VERTEX_SHADER)\n#define REGAL_NO_TYPEDEF_GL_EXT_VERTEX_SHADER\n#endif\n\n#if (defined(GL_EXT_VERTEX_SHADER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_VERTEX_SHADER)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_VERTEX_SHADER)\n#define REGAL_NO_NAMESPACE_GL_EXT_VERTEX_SHADER\n#endif\n\n#if (defined(GL_EXT_VERTEX_SHADER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_VERTEX_SHADER)) && !defined(REGAL_NO_PLUGIN_GL_EXT_VERTEX_SHADER)\n#define REGAL_NO_PLUGIN_GL_EXT_VERTEX_SHADER\n#endif\n\n#if (defined(GL_EXT_VERTEX_SHADER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_VERTEX_SHADER)) && !defined(REGAL_NO_DECLARATION_GL_EXT_VERTEX_SHADER)\n#define REGAL_NO_DECLARATION_GL_EXT_VERTEX_SHADER\n#endif\n\n#ifndef GL_EXT_vertex_shader\n#define GL_EXT_vertex_shader 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_VERTEX_SHADER\n#define GL_VERTEX_SHADER_EXT                               0x8780     /* 34688 */\n#define GL_VERTEX_SHADER_BINDING_EXT                       0x8781     /* 34689 */\n#define GL_OP_INDEX_EXT                                    0x8782     /* 34690 */\n#define GL_OP_NEGATE_EXT                                   0x8783     /* 34691 */\n#define GL_OP_DOT3_EXT                                     0x8784     /* 34692 */\n#define GL_OP_DOT4_EXT                                     0x8785     /* 34693 */\n#define GL_OP_MUL_EXT                                      0x8786     /* 34694 */\n#define GL_OP_ADD_EXT                                      0x8787     /* 34695 */\n#define GL_OP_MADD_EXT                                     0x8788     /* 34696 */\n#define GL_OP_FRAC_EXT                                     0x8789     /* 34697 */\n#define GL_OP_MAX_EXT                                      0x878a     /* 34698 */\n#define GL_OP_MIN_EXT                                      0x878b     /* 34699 */\n#define GL_OP_SET_GE_EXT                                   0x878c     /* 34700 */\n#define GL_OP_SET_LT_EXT                                   0x878d     /* 34701 */\n#define GL_OP_CLAMP_EXT                                    0x878e     /* 34702 */\n#define GL_OP_FLOOR_EXT                                    0x878f     /* 34703 */\n#define GL_OP_ROUND_EXT                                    0x8790     /* 34704 */\n#define GL_OP_EXP_BASE_2_EXT                               0x8791     /* 34705 */\n#define GL_OP_LOG_BASE_2_EXT                               0x8792     /* 34706 */\n#define GL_OP_POWER_EXT                                    0x8793     /* 34707 */\n#define GL_OP_RECIP_EXT                                    0x8794     /* 34708 */\n#define GL_OP_RECIP_SQRT_EXT                               0x8795     /* 34709 */\n#define GL_OP_SUB_EXT                                      0x8796     /* 34710 */\n#define GL_OP_CROSS_PRODUCT_EXT                            0x8797     /* 34711 */\n#define GL_OP_MULTIPLY_MATRIX_EXT                          0x8798     /* 34712 */\n#define GL_OP_MOV_EXT                                      0x8799     /* 34713 */\n#define GL_OUTPUT_VERTEX_EXT                               0x879a     /* 34714 */\n#define GL_OUTPUT_COLOR0_EXT                               0x879b     /* 34715 */\n#define GL_OUTPUT_COLOR1_EXT                               0x879c     /* 34716 */\n#define GL_OUTPUT_TEXTURE_COORD0_EXT                       0x879d     /* 34717 */\n#define GL_OUTPUT_TEXTURE_COORD1_EXT                       0x879e     /* 34718 */\n#define GL_OUTPUT_TEXTURE_COORD2_EXT                       0x879f     /* 34719 */\n#define GL_OUTPUT_TEXTURE_COORD3_EXT                       0x87a0     /* 34720 */\n#define GL_OUTPUT_TEXTURE_COORD4_EXT                       0x87a1     /* 34721 */\n#define GL_OUTPUT_TEXTURE_COORD5_EXT                       0x87a2     /* 34722 */\n#define GL_OUTPUT_TEXTURE_COORD6_EXT                       0x87a3     /* 34723 */\n#define GL_OUTPUT_TEXTURE_COORD7_EXT                       0x87a4     /* 34724 */\n#define GL_OUTPUT_TEXTURE_COORD8_EXT                       0x87a5     /* 34725 */\n#define GL_OUTPUT_TEXTURE_COORD9_EXT                       0x87a6     /* 34726 */\n#define GL_OUTPUT_TEXTURE_COORD10_EXT                      0x87a7     /* 34727 */\n#define GL_OUTPUT_TEXTURE_COORD11_EXT                      0x87a8     /* 34728 */\n#define GL_OUTPUT_TEXTURE_COORD12_EXT                      0x87a9     /* 34729 */\n#define GL_OUTPUT_TEXTURE_COORD13_EXT                      0x87aa     /* 34730 */\n#define GL_OUTPUT_TEXTURE_COORD14_EXT                      0x87ab     /* 34731 */\n#define GL_OUTPUT_TEXTURE_COORD15_EXT                      0x87ac     /* 34732 */\n#define GL_OUTPUT_TEXTURE_COORD16_EXT                      0x87ad     /* 34733 */\n#define GL_OUTPUT_TEXTURE_COORD17_EXT                      0x87ae     /* 34734 */\n#define GL_OUTPUT_TEXTURE_COORD18_EXT                      0x87af     /* 34735 */\n#define GL_OUTPUT_TEXTURE_COORD19_EXT                      0x87b0     /* 34736 */\n#define GL_OUTPUT_TEXTURE_COORD20_EXT                      0x87b1     /* 34737 */\n#define GL_OUTPUT_TEXTURE_COORD21_EXT                      0x87b2     /* 34738 */\n#define GL_OUTPUT_TEXTURE_COORD22_EXT                      0x87b3     /* 34739 */\n#define GL_OUTPUT_TEXTURE_COORD23_EXT                      0x87b4     /* 34740 */\n#define GL_OUTPUT_TEXTURE_COORD24_EXT                      0x87b5     /* 34741 */\n#define GL_OUTPUT_TEXTURE_COORD25_EXT                      0x87b6     /* 34742 */\n#define GL_OUTPUT_TEXTURE_COORD26_EXT                      0x87b7     /* 34743 */\n#define GL_OUTPUT_TEXTURE_COORD27_EXT                      0x87b8     /* 34744 */\n#define GL_OUTPUT_TEXTURE_COORD28_EXT                      0x87b9     /* 34745 */\n#define GL_OUTPUT_TEXTURE_COORD29_EXT                      0x87ba     /* 34746 */\n#define GL_OUTPUT_TEXTURE_COORD30_EXT                      0x87bb     /* 34747 */\n#define GL_OUTPUT_TEXTURE_COORD31_EXT                      0x87bc     /* 34748 */\n#define GL_OUTPUT_FOG_EXT                                  0x87bd     /* 34749 */\n#define GL_SCALAR_EXT                                      0x87be     /* 34750 */\n#define GL_VECTOR_EXT                                      0x87bf     /* 34751 */\n#define GL_MATRIX_EXT                                      0x87c0     /* 34752 */\n#define GL_VARIANT_EXT                                     0x87c1     /* 34753 */\n#define GL_INVARIANT_EXT                                   0x87c2     /* 34754 */\n#define GL_LOCAL_CONSTANT_EXT                              0x87c3     /* 34755 */\n#define GL_LOCAL_EXT                                       0x87c4     /* 34756 */\n#define GL_MAX_VERTEX_SHADER_INSTRUCTIONS_EXT              0x87c5     /* 34757 */\n#define GL_MAX_VERTEX_SHADER_VARIANTS_EXT                  0x87c6     /* 34758 */\n#define GL_MAX_VERTEX_SHADER_INVARIANTS_EXT                0x87c7     /* 34759 */\n#define GL_MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT           0x87c8     /* 34760 */\n#define GL_MAX_VERTEX_SHADER_LOCALS_EXT                    0x87c9     /* 34761 */\n#define GL_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT    0x87ca     /* 34762 */\n#define GL_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT        0x87cb     /* 34763 */\n#define GL_MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT      0x87cc     /* 34764 */\n#define GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT 0x87cd     /* 34765 */\n#define GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT          0x87ce     /* 34766 */\n#define GL_VERTEX_SHADER_INSTRUCTIONS_EXT                  0x87cf     /* 34767 */\n#define GL_VERTEX_SHADER_VARIANTS_EXT                      0x87d0     /* 34768 */\n#define GL_VERTEX_SHADER_INVARIANTS_EXT                    0x87d1     /* 34769 */\n#define GL_VERTEX_SHADER_LOCAL_CONSTANTS_EXT               0x87d2     /* 34770 */\n#define GL_VERTEX_SHADER_LOCALS_EXT                        0x87d3     /* 34771 */\n#define GL_VERTEX_SHADER_OPTIMIZED_EXT                     0x87d4     /* 34772 */\n#define GL_X_EXT                                           0x87d5     /* 34773 */\n#define GL_Y_EXT                                           0x87d6     /* 34774 */\n#define GL_Z_EXT                                           0x87d7     /* 34775 */\n#define GL_W_EXT                                           0x87d8     /* 34776 */\n#define GL_NEGATIVE_X_EXT                                  0x87d9     /* 34777 */\n#define GL_NEGATIVE_Y_EXT                                  0x87da     /* 34778 */\n#define GL_NEGATIVE_Z_EXT                                  0x87db     /* 34779 */\n#define GL_NEGATIVE_W_EXT                                  0x87dc     /* 34780 */\n#define GL_ZERO_EXT                                        0x87dd     /* 34781 */\n#define GL_ONE_EXT                                         0x87de     /* 34782 */\n#define GL_NEGATIVE_ONE_EXT                                0x87df     /* 34783 */\n#define GL_NORMALIZED_RANGE_EXT                            0x87e0     /* 34784 */\n#define GL_FULL_RANGE_EXT                                  0x87e1     /* 34785 */\n#define GL_CURRENT_VERTEX_EXT                              0x87e2     /* 34786 */\n#define GL_MVP_MATRIX_EXT                                  0x87e3     /* 34787 */\n#define GL_VARIANT_VALUE_EXT                               0x87e4     /* 34788 */\n#define GL_VARIANT_DATATYPE_EXT                            0x87e5     /* 34789 */\n#define GL_VARIANT_ARRAY_STRIDE_EXT                        0x87e6     /* 34790 */\n#define GL_VARIANT_ARRAY_TYPE_EXT                          0x87e7     /* 34791 */\n#define GL_VARIANT_ARRAY_EXT                               0x87e8     /* 34792 */\n#define GL_VARIANT_ARRAY_POINTER_EXT                       0x87e9     /* 34793 */\n#define GL_INVARIANT_VALUE_EXT                             0x87ea     /* 34794 */\n#define GL_INVARIANT_DATATYPE_EXT                          0x87eb     /* 34795 */\n#define GL_LOCAL_CONSTANT_VALUE_EXT                        0x87ec     /* 34796 */\n#define GL_LOCAL_CONSTANT_DATATYPE_EXT                     0x87ed     /* 34797 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_VERTEX_SHADER\ntypedef GLboolean (REGAL_CALL *PFNGLISVARIANTENABLEDEXTPROC)(GLuint id, GLenum cap);\ntypedef GLuint (REGAL_CALL *PFNGLBINDLIGHTPARAMETEREXTPROC)(GLenum light, GLenum value);\ntypedef GLuint (REGAL_CALL *PFNGLBINDMATERIALPARAMETEREXTPROC)(GLenum face, GLenum value);\ntypedef GLuint (REGAL_CALL *PFNGLBINDPARAMETEREXTPROC)(GLenum value);\ntypedef GLuint (REGAL_CALL *PFNGLBINDTEXGENPARAMETEREXTPROC)(GLenum unit, GLenum coord, GLenum value);\ntypedef GLuint (REGAL_CALL *PFNGLBINDTEXTUREUNITPARAMETEREXTPROC)(GLenum unit, GLenum value);\ntypedef GLuint (REGAL_CALL *PFNGLGENSYMBOLSEXTPROC)(GLenum datatype, GLenum storagetype, GLenum range, GLuint components);\ntypedef GLuint (REGAL_CALL *PFNGLGENVERTEXSHADERSEXTPROC)(GLuint range);\ntypedef void (REGAL_CALL *PFNGLBEGINVERTEXSHADEREXTPROC)(void);\ntypedef void (REGAL_CALL *PFNGLBINDVERTEXSHADEREXTPROC)(GLuint id);\ntypedef void (REGAL_CALL *PFNGLDELETEVERTEXSHADEREXTPROC)(GLuint id);\ntypedef void (REGAL_CALL *PFNGLDISABLEVARIANTCLIENTSTATEEXTPROC)(GLuint id);\ntypedef void (REGAL_CALL *PFNGLENABLEVARIANTCLIENTSTATEEXTPROC)(GLuint id);\ntypedef void (REGAL_CALL *PFNGLENDVERTEXSHADEREXTPROC)(void);\ntypedef void (REGAL_CALL *PFNGLEXTRACTCOMPONENTEXTPROC)(GLuint res, GLuint src, GLuint num);\ntypedef void (REGAL_CALL *PFNGLGETINVARIANTBOOLEANVEXTPROC)(GLuint id, GLenum value, GLboolean *data);\ntypedef void (REGAL_CALL *PFNGLGETINVARIANTFLOATVEXTPROC)(GLuint id, GLenum value, GLfloat *data);\ntypedef void (REGAL_CALL *PFNGLGETINVARIANTINTEGERVEXTPROC)(GLuint id, GLenum value, GLint *data);\ntypedef void (REGAL_CALL *PFNGLGETLOCALCONSTANTBOOLEANVEXTPROC)(GLuint id, GLenum value, GLboolean *data);\ntypedef void (REGAL_CALL *PFNGLGETLOCALCONSTANTFLOATVEXTPROC)(GLuint id, GLenum value, GLfloat *data);\ntypedef void (REGAL_CALL *PFNGLGETLOCALCONSTANTINTEGERVEXTPROC)(GLuint id, GLenum value, GLint *data);\ntypedef void (REGAL_CALL *PFNGLGETVARIANTBOOLEANVEXTPROC)(GLuint id, GLenum value, GLboolean *data);\ntypedef void (REGAL_CALL *PFNGLGETVARIANTFLOATVEXTPROC)(GLuint id, GLenum value, GLfloat *data);\ntypedef void (REGAL_CALL *PFNGLGETVARIANTINTEGERVEXTPROC)(GLuint id, GLenum value, GLint *data);\ntypedef void (REGAL_CALL *PFNGLGETVARIANTPOINTERVEXTPROC)(GLuint id, GLenum value, GLvoid **data);\ntypedef void (REGAL_CALL *PFNGLINSERTCOMPONENTEXTPROC)(GLuint res, GLuint src, GLuint num);\ntypedef void (REGAL_CALL *PFNGLSETINVARIANTEXTPROC)(GLuint id, GLenum type, const GLvoid *addr);\ntypedef void (REGAL_CALL *PFNGLSETLOCALCONSTANTEXTPROC)(GLuint id, GLenum type, const GLvoid *addr);\ntypedef void (REGAL_CALL *PFNGLSHADEROP1EXTPROC)(GLenum op, GLuint res, GLuint arg1);\ntypedef void (REGAL_CALL *PFNGLSHADEROP2EXTPROC)(GLenum op, GLuint res, GLuint arg1, GLuint arg2);\ntypedef void (REGAL_CALL *PFNGLSHADEROP3EXTPROC)(GLenum op, GLuint res, GLuint arg1, GLuint arg2, GLuint arg3);\ntypedef void (REGAL_CALL *PFNGLSWIZZLEEXTPROC)(GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW);\ntypedef void (REGAL_CALL *PFNGLVARIANTBVEXTPROC)(GLuint id, const GLbyte *addr);\ntypedef void (REGAL_CALL *PFNGLVARIANTDVEXTPROC)(GLuint id, const GLdouble *addr);\ntypedef void (REGAL_CALL *PFNGLVARIANTFVEXTPROC)(GLuint id, const GLfloat *addr);\ntypedef void (REGAL_CALL *PFNGLVARIANTIVEXTPROC)(GLuint id, const GLint *addr);\ntypedef void (REGAL_CALL *PFNGLVARIANTPOINTEREXTPROC)(GLuint id, GLenum type, GLuint stride, const GLvoid *addr);\ntypedef void (REGAL_CALL *PFNGLVARIANTSVEXTPROC)(GLuint id, const GLshort *addr);\ntypedef void (REGAL_CALL *PFNGLVARIANTUBVEXTPROC)(GLuint id, const GLubyte *addr);\ntypedef void (REGAL_CALL *PFNGLVARIANTUIVEXTPROC)(GLuint id, const GLuint *addr);\ntypedef void (REGAL_CALL *PFNGLVARIANTUSVEXTPROC)(GLuint id, const GLushort *addr);\ntypedef void (REGAL_CALL *PFNGLWRITEMASKEXTPROC)(GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_VERTEX_SHADER\n#define glBeginVertexShaderEXT              rglBeginVertexShaderEXT\n#define glBindLightParameterEXT             rglBindLightParameterEXT\n#define glBindMaterialParameterEXT          rglBindMaterialParameterEXT\n#define glBindParameterEXT                  rglBindParameterEXT\n#define glBindTexGenParameterEXT            rglBindTexGenParameterEXT\n#define glBindTextureUnitParameterEXT       rglBindTextureUnitParameterEXT\n#define glBindVertexShaderEXT               rglBindVertexShaderEXT\n#define glDeleteVertexShaderEXT             rglDeleteVertexShaderEXT\n#define glDisableVariantClientStateEXT      rglDisableVariantClientStateEXT\n#define glEnableVariantClientStateEXT       rglEnableVariantClientStateEXT\n#define glEndVertexShaderEXT                rglEndVertexShaderEXT\n#define glExtractComponentEXT               rglExtractComponentEXT\n#define glGenSymbolsEXT                     rglGenSymbolsEXT\n#define glGenVertexShadersEXT               rglGenVertexShadersEXT\n#define glGetInvariantBooleanvEXT           rglGetInvariantBooleanvEXT\n#define glGetInvariantFloatvEXT             rglGetInvariantFloatvEXT\n#define glGetInvariantIntegervEXT           rglGetInvariantIntegervEXT\n#define glGetLocalConstantBooleanvEXT       rglGetLocalConstantBooleanvEXT\n#define glGetLocalConstantFloatvEXT         rglGetLocalConstantFloatvEXT\n#define glGetLocalConstantIntegervEXT       rglGetLocalConstantIntegervEXT\n#define glGetVariantBooleanvEXT             rglGetVariantBooleanvEXT\n#define glGetVariantFloatvEXT               rglGetVariantFloatvEXT\n#define glGetVariantIntegervEXT             rglGetVariantIntegervEXT\n#define glGetVariantPointervEXT             rglGetVariantPointervEXT\n#define glInsertComponentEXT                rglInsertComponentEXT\n#define glIsVariantEnabledEXT               rglIsVariantEnabledEXT\n#define glSetInvariantEXT                   rglSetInvariantEXT\n#define glSetLocalConstantEXT               rglSetLocalConstantEXT\n#define glShaderOp1EXT                      rglShaderOp1EXT\n#define glShaderOp2EXT                      rglShaderOp2EXT\n#define glShaderOp3EXT                      rglShaderOp3EXT\n#define glSwizzleEXT                        rglSwizzleEXT\n#define glVariantPointerEXT                 rglVariantPointerEXT\n#define glVariantbvEXT                      rglVariantbvEXT\n#define glVariantdvEXT                      rglVariantdvEXT\n#define glVariantfvEXT                      rglVariantfvEXT\n#define glVariantivEXT                      rglVariantivEXT\n#define glVariantsvEXT                      rglVariantsvEXT\n#define glVariantubvEXT                     rglVariantubvEXT\n#define glVariantuivEXT                     rglVariantuivEXT\n#define glVariantusvEXT                     rglVariantusvEXT\n#define glWriteMaskEXT                      rglWriteMaskEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_VERTEX_SHADER\nREGAL_DECL GLboolean REGAL_CALL glIsVariantEnabledEXT(GLuint id, GLenum cap);\nREGAL_DECL GLuint REGAL_CALL glBindLightParameterEXT(GLenum light, GLenum value);\nREGAL_DECL GLuint REGAL_CALL glBindMaterialParameterEXT(GLenum face, GLenum value);\nREGAL_DECL GLuint REGAL_CALL glBindParameterEXT(GLenum value);\nREGAL_DECL GLuint REGAL_CALL glBindTexGenParameterEXT(GLenum unit, GLenum coord, GLenum value);\nREGAL_DECL GLuint REGAL_CALL glBindTextureUnitParameterEXT(GLenum unit, GLenum value);\nREGAL_DECL GLuint REGAL_CALL glGenSymbolsEXT(GLenum datatype, GLenum storagetype, GLenum range, GLuint components);\nREGAL_DECL GLuint REGAL_CALL glGenVertexShadersEXT(GLuint range);\nREGAL_DECL void REGAL_CALL glBeginVertexShaderEXT(void);\nREGAL_DECL void REGAL_CALL glBindVertexShaderEXT(GLuint id);\nREGAL_DECL void REGAL_CALL glDeleteVertexShaderEXT(GLuint id);\nREGAL_DECL void REGAL_CALL glDisableVariantClientStateEXT(GLuint id);\nREGAL_DECL void REGAL_CALL glEnableVariantClientStateEXT(GLuint id);\nREGAL_DECL void REGAL_CALL glEndVertexShaderEXT(void);\nREGAL_DECL void REGAL_CALL glExtractComponentEXT(GLuint res, GLuint src, GLuint num);\nREGAL_DECL void REGAL_CALL glGetInvariantBooleanvEXT(GLuint id, GLenum value, GLboolean *data);\nREGAL_DECL void REGAL_CALL glGetInvariantFloatvEXT(GLuint id, GLenum value, GLfloat *data);\nREGAL_DECL void REGAL_CALL glGetInvariantIntegervEXT(GLuint id, GLenum value, GLint *data);\nREGAL_DECL void REGAL_CALL glGetLocalConstantBooleanvEXT(GLuint id, GLenum value, GLboolean *data);\nREGAL_DECL void REGAL_CALL glGetLocalConstantFloatvEXT(GLuint id, GLenum value, GLfloat *data);\nREGAL_DECL void REGAL_CALL glGetLocalConstantIntegervEXT(GLuint id, GLenum value, GLint *data);\nREGAL_DECL void REGAL_CALL glGetVariantBooleanvEXT(GLuint id, GLenum value, GLboolean *data);\nREGAL_DECL void REGAL_CALL glGetVariantFloatvEXT(GLuint id, GLenum value, GLfloat *data);\nREGAL_DECL void REGAL_CALL glGetVariantIntegervEXT(GLuint id, GLenum value, GLint *data);\nREGAL_DECL void REGAL_CALL glGetVariantPointervEXT(GLuint id, GLenum value, GLvoid **data);\nREGAL_DECL void REGAL_CALL glInsertComponentEXT(GLuint res, GLuint src, GLuint num);\nREGAL_DECL void REGAL_CALL glSetInvariantEXT(GLuint id, GLenum type, const GLvoid *addr);\nREGAL_DECL void REGAL_CALL glSetLocalConstantEXT(GLuint id, GLenum type, const GLvoid *addr);\nREGAL_DECL void REGAL_CALL glShaderOp1EXT(GLenum op, GLuint res, GLuint arg1);\nREGAL_DECL void REGAL_CALL glShaderOp2EXT(GLenum op, GLuint res, GLuint arg1, GLuint arg2);\nREGAL_DECL void REGAL_CALL glShaderOp3EXT(GLenum op, GLuint res, GLuint arg1, GLuint arg2, GLuint arg3);\nREGAL_DECL void REGAL_CALL glSwizzleEXT(GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW);\nREGAL_DECL void REGAL_CALL glVariantPointerEXT(GLuint id, GLenum type, GLuint stride, const GLvoid *addr);\nREGAL_DECL void REGAL_CALL glVariantbvEXT(GLuint id, const GLbyte *addr);\nREGAL_DECL void REGAL_CALL glVariantdvEXT(GLuint id, const GLdouble *addr);\nREGAL_DECL void REGAL_CALL glVariantfvEXT(GLuint id, const GLfloat *addr);\nREGAL_DECL void REGAL_CALL glVariantivEXT(GLuint id, const GLint *addr);\nREGAL_DECL void REGAL_CALL glVariantsvEXT(GLuint id, const GLshort *addr);\nREGAL_DECL void REGAL_CALL glVariantubvEXT(GLuint id, const GLubyte *addr);\nREGAL_DECL void REGAL_CALL glVariantuivEXT(GLuint id, const GLuint *addr);\nREGAL_DECL void REGAL_CALL glVariantusvEXT(GLuint id, const GLushort *addr);\nREGAL_DECL void REGAL_CALL glWriteMaskEXT(GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_VERTEX_SHADER\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsVariantEnabledEXT(GLuint id, GLenum cap);\nREGAL_DECL GLuint REGAL_CALL plugin_glBindLightParameterEXT(GLenum light, GLenum value);\nREGAL_DECL GLuint REGAL_CALL plugin_glBindMaterialParameterEXT(GLenum face, GLenum value);\nREGAL_DECL GLuint REGAL_CALL plugin_glBindParameterEXT(GLenum value);\nREGAL_DECL GLuint REGAL_CALL plugin_glBindTexGenParameterEXT(GLenum unit, GLenum coord, GLenum value);\nREGAL_DECL GLuint REGAL_CALL plugin_glBindTextureUnitParameterEXT(GLenum unit, GLenum value);\nREGAL_DECL GLuint REGAL_CALL plugin_glGenSymbolsEXT(GLenum datatype, GLenum storagetype, GLenum range, GLuint components);\nREGAL_DECL GLuint REGAL_CALL plugin_glGenVertexShadersEXT(GLuint range);\nREGAL_DECL void REGAL_CALL plugin_glBeginVertexShaderEXT(void);\nREGAL_DECL void REGAL_CALL plugin_glBindVertexShaderEXT(GLuint id);\nREGAL_DECL void REGAL_CALL plugin_glDeleteVertexShaderEXT(GLuint id);\nREGAL_DECL void REGAL_CALL plugin_glDisableVariantClientStateEXT(GLuint id);\nREGAL_DECL void REGAL_CALL plugin_glEnableVariantClientStateEXT(GLuint id);\nREGAL_DECL void REGAL_CALL plugin_glEndVertexShaderEXT(void);\nREGAL_DECL void REGAL_CALL plugin_glExtractComponentEXT(GLuint res, GLuint src, GLuint num);\nREGAL_DECL void REGAL_CALL plugin_glGetInvariantBooleanvEXT(GLuint id, GLenum value, GLboolean *data);\nREGAL_DECL void REGAL_CALL plugin_glGetInvariantFloatvEXT(GLuint id, GLenum value, GLfloat *data);\nREGAL_DECL void REGAL_CALL plugin_glGetInvariantIntegervEXT(GLuint id, GLenum value, GLint *data);\nREGAL_DECL void REGAL_CALL plugin_glGetLocalConstantBooleanvEXT(GLuint id, GLenum value, GLboolean *data);\nREGAL_DECL void REGAL_CALL plugin_glGetLocalConstantFloatvEXT(GLuint id, GLenum value, GLfloat *data);\nREGAL_DECL void REGAL_CALL plugin_glGetLocalConstantIntegervEXT(GLuint id, GLenum value, GLint *data);\nREGAL_DECL void REGAL_CALL plugin_glGetVariantBooleanvEXT(GLuint id, GLenum value, GLboolean *data);\nREGAL_DECL void REGAL_CALL plugin_glGetVariantFloatvEXT(GLuint id, GLenum value, GLfloat *data);\nREGAL_DECL void REGAL_CALL plugin_glGetVariantIntegervEXT(GLuint id, GLenum value, GLint *data);\nREGAL_DECL void REGAL_CALL plugin_glGetVariantPointervEXT(GLuint id, GLenum value, GLvoid **data);\nREGAL_DECL void REGAL_CALL plugin_glInsertComponentEXT(GLuint res, GLuint src, GLuint num);\nREGAL_DECL void REGAL_CALL plugin_glSetInvariantEXT(GLuint id, GLenum type, const GLvoid *addr);\nREGAL_DECL void REGAL_CALL plugin_glSetLocalConstantEXT(GLuint id, GLenum type, const GLvoid *addr);\nREGAL_DECL void REGAL_CALL plugin_glShaderOp1EXT(GLenum op, GLuint res, GLuint arg1);\nREGAL_DECL void REGAL_CALL plugin_glShaderOp2EXT(GLenum op, GLuint res, GLuint arg1, GLuint arg2);\nREGAL_DECL void REGAL_CALL plugin_glShaderOp3EXT(GLenum op, GLuint res, GLuint arg1, GLuint arg2, GLuint arg3);\nREGAL_DECL void REGAL_CALL plugin_glSwizzleEXT(GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW);\nREGAL_DECL void REGAL_CALL plugin_glVariantPointerEXT(GLuint id, GLenum type, GLuint stride, const GLvoid *addr);\nREGAL_DECL void REGAL_CALL plugin_glVariantbvEXT(GLuint id, const GLbyte *addr);\nREGAL_DECL void REGAL_CALL plugin_glVariantdvEXT(GLuint id, const GLdouble *addr);\nREGAL_DECL void REGAL_CALL plugin_glVariantfvEXT(GLuint id, const GLfloat *addr);\nREGAL_DECL void REGAL_CALL plugin_glVariantivEXT(GLuint id, const GLint *addr);\nREGAL_DECL void REGAL_CALL plugin_glVariantsvEXT(GLuint id, const GLshort *addr);\nREGAL_DECL void REGAL_CALL plugin_glVariantubvEXT(GLuint id, const GLubyte *addr);\nREGAL_DECL void REGAL_CALL plugin_glVariantuivEXT(GLuint id, const GLuint *addr);\nREGAL_DECL void REGAL_CALL plugin_glVariantusvEXT(GLuint id, const GLushort *addr);\nREGAL_DECL void REGAL_CALL plugin_glWriteMaskEXT(GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW);\n#endif\n\n/**\n ** GL_EXT_vertex_weighting\n **/\n\n#if (defined(GL_EXT_VERTEX_WEIGHTING) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_VERTEX_WEIGHTING)) && !defined(REGAL_NO_ENUM_GL_EXT_VERTEX_WEIGHTING)\n#define REGAL_NO_ENUM_GL_EXT_VERTEX_WEIGHTING\n#endif\n\n#if (defined(GL_EXT_VERTEX_WEIGHTING) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_VERTEX_WEIGHTING)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_VERTEX_WEIGHTING)\n#define REGAL_NO_TYPEDEF_GL_EXT_VERTEX_WEIGHTING\n#endif\n\n#if (defined(GL_EXT_VERTEX_WEIGHTING) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_VERTEX_WEIGHTING)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_VERTEX_WEIGHTING)\n#define REGAL_NO_NAMESPACE_GL_EXT_VERTEX_WEIGHTING\n#endif\n\n#if (defined(GL_EXT_VERTEX_WEIGHTING) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_VERTEX_WEIGHTING)) && !defined(REGAL_NO_PLUGIN_GL_EXT_VERTEX_WEIGHTING)\n#define REGAL_NO_PLUGIN_GL_EXT_VERTEX_WEIGHTING\n#endif\n\n#if (defined(GL_EXT_VERTEX_WEIGHTING) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_VERTEX_WEIGHTING)) && !defined(REGAL_NO_DECLARATION_GL_EXT_VERTEX_WEIGHTING)\n#define REGAL_NO_DECLARATION_GL_EXT_VERTEX_WEIGHTING\n#endif\n\n#ifndef GL_EXT_vertex_weighting\n#define GL_EXT_vertex_weighting 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_VERTEX_WEIGHTING\n#define GL_MODELVIEW0_EXT                  0x1700     /* 5888 */\n#define GL_MODELVIEW1_STACK_DEPTH_EXT      0x8502     /* 34050 */\n#define GL_MODELVIEW1_MATRIX_EXT           0x8506     /* 34054 */\n#define GL_VERTEX_WEIGHTING_EXT            0x8509     /* 34057 */\n#define GL_MODELVIEW1_EXT                  0x850a     /* 34058 */\n#define GL_CURRENT_VERTEX_WEIGHT_EXT       0x850b     /* 34059 */\n#define GL_VERTEX_WEIGHT_ARRAY_EXT         0x850c     /* 34060 */\n#define GL_VERTEX_WEIGHT_ARRAY_SIZE_EXT    0x850d     /* 34061 */\n#define GL_VERTEX_WEIGHT_ARRAY_TYPE_EXT    0x850e     /* 34062 */\n#define GL_VERTEX_WEIGHT_ARRAY_STRIDE_EXT  0x850f     /* 34063 */\n#define GL_VERTEX_WEIGHT_ARRAY_POINTER_EXT 0x8510     /* 34064 */\n#define GL_MODELVIEW0_STACK_DEPTH_EXT      0xba3      /* 2979 */\n#define GL_MODELVIEW0_MATRIX_EXT           0xba6      /* 2982 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_VERTEX_WEIGHTING\ntypedef void (REGAL_CALL *PFNGLVERTEXWEIGHTFEXTPROC)(GLfloat weight);\ntypedef void (REGAL_CALL *PFNGLVERTEXWEIGHTFVEXTPROC)(const GLfloat *weight);\ntypedef void (REGAL_CALL *PFNGLVERTEXWEIGHTPOINTEREXTPROC)(GLsizei size, GLenum type, GLsizei stride, const GLvoid *pointer);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_VERTEX_WEIGHTING\n#define glVertexWeightPointerEXT            rglVertexWeightPointerEXT\n#define glVertexWeightfEXT                  rglVertexWeightfEXT\n#define glVertexWeightfvEXT                 rglVertexWeightfvEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_VERTEX_WEIGHTING\nREGAL_DECL void REGAL_CALL glVertexWeightPointerEXT(GLsizei size, GLenum type, GLsizei stride, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL glVertexWeightfEXT(GLfloat weight);\nREGAL_DECL void REGAL_CALL glVertexWeightfvEXT(const GLfloat *weight);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_VERTEX_WEIGHTING\nREGAL_DECL void REGAL_CALL plugin_glVertexWeightPointerEXT(GLsizei size, GLenum type, GLsizei stride, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL plugin_glVertexWeightfEXT(GLfloat weight);\nREGAL_DECL void REGAL_CALL plugin_glVertexWeightfvEXT(const GLfloat *weight);\n#endif\n\n/**\n ** GL_EXT_x11_sync_object\n **/\n\n#if (defined(GL_EXT_X11_SYNC_OBJECT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_X11_SYNC_OBJECT)) && !defined(REGAL_NO_ENUM_GL_EXT_X11_SYNC_OBJECT)\n#define REGAL_NO_ENUM_GL_EXT_X11_SYNC_OBJECT\n#endif\n\n#if (defined(GL_EXT_X11_SYNC_OBJECT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_X11_SYNC_OBJECT)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_X11_SYNC_OBJECT)\n#define REGAL_NO_TYPEDEF_GL_EXT_X11_SYNC_OBJECT\n#endif\n\n#if (defined(GL_EXT_X11_SYNC_OBJECT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_X11_SYNC_OBJECT)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_X11_SYNC_OBJECT)\n#define REGAL_NO_NAMESPACE_GL_EXT_X11_SYNC_OBJECT\n#endif\n\n#if (defined(GL_EXT_X11_SYNC_OBJECT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_X11_SYNC_OBJECT)) && !defined(REGAL_NO_PLUGIN_GL_EXT_X11_SYNC_OBJECT)\n#define REGAL_NO_PLUGIN_GL_EXT_X11_SYNC_OBJECT\n#endif\n\n#if (defined(GL_EXT_X11_SYNC_OBJECT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_X11_SYNC_OBJECT)) && !defined(REGAL_NO_DECLARATION_GL_EXT_X11_SYNC_OBJECT)\n#define REGAL_NO_DECLARATION_GL_EXT_X11_SYNC_OBJECT\n#endif\n\n#ifndef GL_EXT_x11_sync_object\n#define GL_EXT_x11_sync_object 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_X11_SYNC_OBJECT\n#define GL_SYNC_X11_FENCE_EXT 0x90e1 /* 37089 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_X11_SYNC_OBJECT\ntypedef GLsync (REGAL_CALL *PFNGLIMPORTSYNCEXTPROC)(GLenum external_sync_type, GLintptr external_sync, GLbitfield flags);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_X11_SYNC_OBJECT\n#define glImportSyncEXT                     rglImportSyncEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_X11_SYNC_OBJECT\nREGAL_DECL GLsync REGAL_CALL glImportSyncEXT(GLenum external_sync_type, GLintptr external_sync, GLbitfield flags);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_X11_SYNC_OBJECT\nREGAL_DECL GLsync REGAL_CALL plugin_glImportSyncEXT(GLenum external_sync_type, GLintptr external_sync, GLbitfield flags);\n#endif\n\n/**\n ** GL_FJ_shader_binary_GCCSO\n **/\n\n#if (defined(GL_FJ_SHADER_BINARY_GCCSO) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_FJ_SHADER_BINARY_GCCSO)) && !defined(REGAL_NO_ENUM_GL_FJ_SHADER_BINARY_GCCSO)\n#define REGAL_NO_ENUM_GL_FJ_SHADER_BINARY_GCCSO\n#endif\n\n#if (defined(GL_FJ_SHADER_BINARY_GCCSO) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_FJ_SHADER_BINARY_GCCSO)) && !defined(REGAL_NO_TYPEDEF_GL_FJ_SHADER_BINARY_GCCSO)\n#define REGAL_NO_TYPEDEF_GL_FJ_SHADER_BINARY_GCCSO\n#endif\n\n#if (defined(GL_FJ_SHADER_BINARY_GCCSO) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_FJ_SHADER_BINARY_GCCSO)) && !defined(REGAL_NO_NAMESPACE_GL_FJ_SHADER_BINARY_GCCSO)\n#define REGAL_NO_NAMESPACE_GL_FJ_SHADER_BINARY_GCCSO\n#endif\n\n#if (defined(GL_FJ_SHADER_BINARY_GCCSO) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_FJ_SHADER_BINARY_GCCSO)) && !defined(REGAL_NO_PLUGIN_GL_FJ_SHADER_BINARY_GCCSO)\n#define REGAL_NO_PLUGIN_GL_FJ_SHADER_BINARY_GCCSO\n#endif\n\n#if (defined(GL_FJ_SHADER_BINARY_GCCSO) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_FJ_SHADER_BINARY_GCCSO)) && !defined(REGAL_NO_DECLARATION_GL_FJ_SHADER_BINARY_GCCSO)\n#define REGAL_NO_DECLARATION_GL_FJ_SHADER_BINARY_GCCSO\n#endif\n\n#ifndef GL_FJ_shader_binary_GCCSO\n#define GL_FJ_shader_binary_GCCSO 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_FJ_SHADER_BINARY_GCCSO\n#define GL_GCCSO_SHADER_BINARY_FJ 0x9260 /* 37472 */\n#endif\n\n/**\n ** GL_GREMEDY_frame_terminator\n **/\n\n#if (defined(GL_GREMEDY_FRAME_TERMINATOR) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_GREMEDY_FRAME_TERMINATOR)) && !defined(REGAL_NO_ENUM_GL_GREMEDY_FRAME_TERMINATOR)\n#define REGAL_NO_ENUM_GL_GREMEDY_FRAME_TERMINATOR\n#endif\n\n#if (defined(GL_GREMEDY_FRAME_TERMINATOR) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_GREMEDY_FRAME_TERMINATOR)) && !defined(REGAL_NO_TYPEDEF_GL_GREMEDY_FRAME_TERMINATOR)\n#define REGAL_NO_TYPEDEF_GL_GREMEDY_FRAME_TERMINATOR\n#endif\n\n#if (defined(GL_GREMEDY_FRAME_TERMINATOR) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_GREMEDY_FRAME_TERMINATOR)) && !defined(REGAL_NO_NAMESPACE_GL_GREMEDY_FRAME_TERMINATOR)\n#define REGAL_NO_NAMESPACE_GL_GREMEDY_FRAME_TERMINATOR\n#endif\n\n#if (defined(GL_GREMEDY_FRAME_TERMINATOR) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_GREMEDY_FRAME_TERMINATOR)) && !defined(REGAL_NO_PLUGIN_GL_GREMEDY_FRAME_TERMINATOR)\n#define REGAL_NO_PLUGIN_GL_GREMEDY_FRAME_TERMINATOR\n#endif\n\n#if (defined(GL_GREMEDY_FRAME_TERMINATOR) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_GREMEDY_FRAME_TERMINATOR)) && !defined(REGAL_NO_DECLARATION_GL_GREMEDY_FRAME_TERMINATOR)\n#define REGAL_NO_DECLARATION_GL_GREMEDY_FRAME_TERMINATOR\n#endif\n\n#ifndef GL_GREMEDY_frame_terminator\n#define GL_GREMEDY_frame_terminator 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_GREMEDY_FRAME_TERMINATOR\ntypedef void (REGAL_CALL *PFNGLFRAMETERMINATORGREMEDYPROC)(void);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_GREMEDY_FRAME_TERMINATOR\n#define glFrameTerminatorGREMEDY            rglFrameTerminatorGREMEDY\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_GREMEDY_FRAME_TERMINATOR\nREGAL_DECL void REGAL_CALL glFrameTerminatorGREMEDY(void);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_GREMEDY_FRAME_TERMINATOR\nREGAL_DECL void REGAL_CALL plugin_glFrameTerminatorGREMEDY(void);\n#endif\n\n/**\n ** GL_GREMEDY_string_marker\n **/\n\n#if (defined(GL_GREMEDY_STRING_MARKER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_GREMEDY_STRING_MARKER)) && !defined(REGAL_NO_ENUM_GL_GREMEDY_STRING_MARKER)\n#define REGAL_NO_ENUM_GL_GREMEDY_STRING_MARKER\n#endif\n\n#if (defined(GL_GREMEDY_STRING_MARKER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_GREMEDY_STRING_MARKER)) && !defined(REGAL_NO_TYPEDEF_GL_GREMEDY_STRING_MARKER)\n#define REGAL_NO_TYPEDEF_GL_GREMEDY_STRING_MARKER\n#endif\n\n#if (defined(GL_GREMEDY_STRING_MARKER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_GREMEDY_STRING_MARKER)) && !defined(REGAL_NO_NAMESPACE_GL_GREMEDY_STRING_MARKER)\n#define REGAL_NO_NAMESPACE_GL_GREMEDY_STRING_MARKER\n#endif\n\n#if (defined(GL_GREMEDY_STRING_MARKER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_GREMEDY_STRING_MARKER)) && !defined(REGAL_NO_PLUGIN_GL_GREMEDY_STRING_MARKER)\n#define REGAL_NO_PLUGIN_GL_GREMEDY_STRING_MARKER\n#endif\n\n#if (defined(GL_GREMEDY_STRING_MARKER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_GREMEDY_STRING_MARKER)) && !defined(REGAL_NO_DECLARATION_GL_GREMEDY_STRING_MARKER)\n#define REGAL_NO_DECLARATION_GL_GREMEDY_STRING_MARKER\n#endif\n\n#ifndef GL_GREMEDY_string_marker\n#define GL_GREMEDY_string_marker 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_GREMEDY_STRING_MARKER\ntypedef void (REGAL_CALL *PFNGLSTRINGMARKERGREMEDYPROC)(GLsizei len, const GLvoid *string);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_GREMEDY_STRING_MARKER\n#define glStringMarkerGREMEDY               rglStringMarkerGREMEDY\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_GREMEDY_STRING_MARKER\nREGAL_DECL void REGAL_CALL glStringMarkerGREMEDY(GLsizei len, const GLvoid *string);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_GREMEDY_STRING_MARKER\nREGAL_DECL void REGAL_CALL plugin_glStringMarkerGREMEDY(GLsizei len, const GLvoid *string);\n#endif\n\n/**\n ** GL_HP_image_transform\n **/\n\n#if (defined(GL_HP_IMAGE_TRANSFORM) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_HP_IMAGE_TRANSFORM)) && !defined(REGAL_NO_ENUM_GL_HP_IMAGE_TRANSFORM)\n#define REGAL_NO_ENUM_GL_HP_IMAGE_TRANSFORM\n#endif\n\n#if (defined(GL_HP_IMAGE_TRANSFORM) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_HP_IMAGE_TRANSFORM)) && !defined(REGAL_NO_TYPEDEF_GL_HP_IMAGE_TRANSFORM)\n#define REGAL_NO_TYPEDEF_GL_HP_IMAGE_TRANSFORM\n#endif\n\n#if (defined(GL_HP_IMAGE_TRANSFORM) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_HP_IMAGE_TRANSFORM)) && !defined(REGAL_NO_NAMESPACE_GL_HP_IMAGE_TRANSFORM)\n#define REGAL_NO_NAMESPACE_GL_HP_IMAGE_TRANSFORM\n#endif\n\n#if (defined(GL_HP_IMAGE_TRANSFORM) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_HP_IMAGE_TRANSFORM)) && !defined(REGAL_NO_PLUGIN_GL_HP_IMAGE_TRANSFORM)\n#define REGAL_NO_PLUGIN_GL_HP_IMAGE_TRANSFORM\n#endif\n\n#if (defined(GL_HP_IMAGE_TRANSFORM) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_HP_IMAGE_TRANSFORM)) && !defined(REGAL_NO_DECLARATION_GL_HP_IMAGE_TRANSFORM)\n#define REGAL_NO_DECLARATION_GL_HP_IMAGE_TRANSFORM\n#endif\n\n#ifndef GL_HP_image_transform\n#define GL_HP_image_transform 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_HP_IMAGE_TRANSFORM\n#define GL_IMAGE_SCALE_X_HP                          0x8155     /* 33109 */\n#define GL_IMAGE_SCALE_Y_HP                          0x8156     /* 33110 */\n#define GL_IMAGE_TRANSLATE_X_HP                      0x8157     /* 33111 */\n#define GL_IMAGE_TRANSLATE_Y_HP                      0x8158     /* 33112 */\n#define GL_IMAGE_ROTATE_ANGLE_HP                     0x8159     /* 33113 */\n#define GL_IMAGE_ROTATE_ORIGIN_X_HP                  0x815a     /* 33114 */\n#define GL_IMAGE_ROTATE_ORIGIN_Y_HP                  0x815b     /* 33115 */\n#define GL_IMAGE_MAG_FILTER_HP                       0x815c     /* 33116 */\n#define GL_IMAGE_MIN_FILTER_HP                       0x815d     /* 33117 */\n#define GL_IMAGE_CUBIC_WEIGHT_HP                     0x815e     /* 33118 */\n#define GL_CUBIC_HP                                  0x815f     /* 33119 */\n#define GL_AVERAGE_HP                                0x8160     /* 33120 */\n#define GL_IMAGE_TRANSFORM_2D_HP                     0x8161     /* 33121 */\n#define GL_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP       0x8162     /* 33122 */\n#define GL_PROXY_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP 0x8163     /* 33123 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_HP_IMAGE_TRANSFORM\ntypedef void (REGAL_CALL *PFNGLGETIMAGETRANSFORMPARAMETERFVHPPROC)(GLenum target, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETIMAGETRANSFORMPARAMETERIVHPPROC)(GLenum target, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLIMAGETRANSFORMPARAMETERFHPPROC)(GLenum target, GLenum pname, GLfloat param);\ntypedef void (REGAL_CALL *PFNGLIMAGETRANSFORMPARAMETERFVHPPROC)(GLenum target, GLenum pname, const GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLIMAGETRANSFORMPARAMETERIHPPROC)(GLenum target, GLenum pname, GLint param);\ntypedef void (REGAL_CALL *PFNGLIMAGETRANSFORMPARAMETERIVHPPROC)(GLenum target, GLenum pname, const GLint *params);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_HP_IMAGE_TRANSFORM\n#define glGetImageTransformParameterfvHP    rglGetImageTransformParameterfvHP\n#define glGetImageTransformParameterivHP    rglGetImageTransformParameterivHP\n#define glImageTransformParameterfHP        rglImageTransformParameterfHP\n#define glImageTransformParameterfvHP       rglImageTransformParameterfvHP\n#define glImageTransformParameteriHP        rglImageTransformParameteriHP\n#define glImageTransformParameterivHP       rglImageTransformParameterivHP\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_HP_IMAGE_TRANSFORM\nREGAL_DECL void REGAL_CALL glGetImageTransformParameterfvHP(GLenum target, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetImageTransformParameterivHP(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glImageTransformParameterfHP(GLenum target, GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL glImageTransformParameterfvHP(GLenum target, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL glImageTransformParameteriHP(GLenum target, GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL glImageTransformParameterivHP(GLenum target, GLenum pname, const GLint *params);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_HP_IMAGE_TRANSFORM\nREGAL_DECL void REGAL_CALL plugin_glGetImageTransformParameterfvHP(GLenum target, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetImageTransformParameterivHP(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glImageTransformParameterfHP(GLenum target, GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL plugin_glImageTransformParameterfvHP(GLenum target, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glImageTransformParameteriHP(GLenum target, GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL plugin_glImageTransformParameterivHP(GLenum target, GLenum pname, const GLint *params);\n#endif\n\n/**\n ** GL_HP_occlusion_test\n **/\n\n#if (defined(GL_HP_OCCLUSION_TEST) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_HP_OCCLUSION_TEST)) && !defined(REGAL_NO_ENUM_GL_HP_OCCLUSION_TEST)\n#define REGAL_NO_ENUM_GL_HP_OCCLUSION_TEST\n#endif\n\n#if (defined(GL_HP_OCCLUSION_TEST) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_HP_OCCLUSION_TEST)) && !defined(REGAL_NO_TYPEDEF_GL_HP_OCCLUSION_TEST)\n#define REGAL_NO_TYPEDEF_GL_HP_OCCLUSION_TEST\n#endif\n\n#if (defined(GL_HP_OCCLUSION_TEST) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_HP_OCCLUSION_TEST)) && !defined(REGAL_NO_NAMESPACE_GL_HP_OCCLUSION_TEST)\n#define REGAL_NO_NAMESPACE_GL_HP_OCCLUSION_TEST\n#endif\n\n#if (defined(GL_HP_OCCLUSION_TEST) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_HP_OCCLUSION_TEST)) && !defined(REGAL_NO_PLUGIN_GL_HP_OCCLUSION_TEST)\n#define REGAL_NO_PLUGIN_GL_HP_OCCLUSION_TEST\n#endif\n\n#if (defined(GL_HP_OCCLUSION_TEST) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_HP_OCCLUSION_TEST)) && !defined(REGAL_NO_DECLARATION_GL_HP_OCCLUSION_TEST)\n#define REGAL_NO_DECLARATION_GL_HP_OCCLUSION_TEST\n#endif\n\n#ifndef GL_HP_occlusion_test\n#define GL_HP_occlusion_test 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_HP_OCCLUSION_TEST\n#define GL_OCCLUSION_TEST_HP        0x8165     /* 33125 */\n#define GL_OCCLUSION_TEST_RESULT_HP 0x8166     /* 33126 */\n#endif\n\n/**\n ** GL_IBM_cull_vertex\n **/\n\n#if (defined(GL_IBM_CULL_VERTEX) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_IBM_CULL_VERTEX)) && !defined(REGAL_NO_ENUM_GL_IBM_CULL_VERTEX)\n#define REGAL_NO_ENUM_GL_IBM_CULL_VERTEX\n#endif\n\n#if (defined(GL_IBM_CULL_VERTEX) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_IBM_CULL_VERTEX)) && !defined(REGAL_NO_TYPEDEF_GL_IBM_CULL_VERTEX)\n#define REGAL_NO_TYPEDEF_GL_IBM_CULL_VERTEX\n#endif\n\n#if (defined(GL_IBM_CULL_VERTEX) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_IBM_CULL_VERTEX)) && !defined(REGAL_NO_NAMESPACE_GL_IBM_CULL_VERTEX)\n#define REGAL_NO_NAMESPACE_GL_IBM_CULL_VERTEX\n#endif\n\n#if (defined(GL_IBM_CULL_VERTEX) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_IBM_CULL_VERTEX)) && !defined(REGAL_NO_PLUGIN_GL_IBM_CULL_VERTEX)\n#define REGAL_NO_PLUGIN_GL_IBM_CULL_VERTEX\n#endif\n\n#if (defined(GL_IBM_CULL_VERTEX) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_IBM_CULL_VERTEX)) && !defined(REGAL_NO_DECLARATION_GL_IBM_CULL_VERTEX)\n#define REGAL_NO_DECLARATION_GL_IBM_CULL_VERTEX\n#endif\n\n#ifndef GL_IBM_cull_vertex\n#define GL_IBM_cull_vertex 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_IBM_CULL_VERTEX\n#define GL_CULL_VERTEX_IBM 0x1928a /* 103050 */\n#endif\n\n/**\n ** GL_IBM_multimode_draw_arrays\n **/\n\n#if (defined(GL_IBM_MULTIMODE_DRAW_ARRAYS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_IBM_MULTIMODE_DRAW_ARRAYS)) && !defined(REGAL_NO_ENUM_GL_IBM_MULTIMODE_DRAW_ARRAYS)\n#define REGAL_NO_ENUM_GL_IBM_MULTIMODE_DRAW_ARRAYS\n#endif\n\n#if (defined(GL_IBM_MULTIMODE_DRAW_ARRAYS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_IBM_MULTIMODE_DRAW_ARRAYS)) && !defined(REGAL_NO_TYPEDEF_GL_IBM_MULTIMODE_DRAW_ARRAYS)\n#define REGAL_NO_TYPEDEF_GL_IBM_MULTIMODE_DRAW_ARRAYS\n#endif\n\n#if (defined(GL_IBM_MULTIMODE_DRAW_ARRAYS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_IBM_MULTIMODE_DRAW_ARRAYS)) && !defined(REGAL_NO_NAMESPACE_GL_IBM_MULTIMODE_DRAW_ARRAYS)\n#define REGAL_NO_NAMESPACE_GL_IBM_MULTIMODE_DRAW_ARRAYS\n#endif\n\n#if (defined(GL_IBM_MULTIMODE_DRAW_ARRAYS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_IBM_MULTIMODE_DRAW_ARRAYS)) && !defined(REGAL_NO_PLUGIN_GL_IBM_MULTIMODE_DRAW_ARRAYS)\n#define REGAL_NO_PLUGIN_GL_IBM_MULTIMODE_DRAW_ARRAYS\n#endif\n\n#if (defined(GL_IBM_MULTIMODE_DRAW_ARRAYS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_IBM_MULTIMODE_DRAW_ARRAYS)) && !defined(REGAL_NO_DECLARATION_GL_IBM_MULTIMODE_DRAW_ARRAYS)\n#define REGAL_NO_DECLARATION_GL_IBM_MULTIMODE_DRAW_ARRAYS\n#endif\n\n#ifndef GL_IBM_multimode_draw_arrays\n#define GL_IBM_multimode_draw_arrays 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_IBM_MULTIMODE_DRAW_ARRAYS\ntypedef void (REGAL_CALL *PFNGLMULTIMODEDRAWARRAYSIBMPROC)(const GLenum *mode, const GLint *first, const GLsizei *count, GLsizei primcount, GLint modestride);\ntypedef void (REGAL_CALL *PFNGLMULTIMODEDRAWELEMENTSIBMPROC)(const GLenum *mode, const GLsizei *count, GLenum type, const GLvoid * const *indices, GLsizei primcount, GLint modestride);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_IBM_MULTIMODE_DRAW_ARRAYS\n#define glMultiModeDrawArraysIBM            rglMultiModeDrawArraysIBM\n#define glMultiModeDrawElementsIBM          rglMultiModeDrawElementsIBM\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_IBM_MULTIMODE_DRAW_ARRAYS\nREGAL_DECL void REGAL_CALL glMultiModeDrawArraysIBM(const GLenum *mode, const GLint *first, const GLsizei *count, GLsizei primcount, GLint modestride);\nREGAL_DECL void REGAL_CALL glMultiModeDrawElementsIBM(const GLenum *mode, const GLsizei *count, GLenum type, const GLvoid * const *indices, GLsizei primcount, GLint modestride);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_IBM_MULTIMODE_DRAW_ARRAYS\nREGAL_DECL void REGAL_CALL plugin_glMultiModeDrawArraysIBM(const GLenum *mode, const GLint *first, const GLsizei *count, GLsizei primcount, GLint modestride);\nREGAL_DECL void REGAL_CALL plugin_glMultiModeDrawElementsIBM(const GLenum *mode, const GLsizei *count, GLenum type, const GLvoid * const *indices, GLsizei primcount, GLint modestride);\n#endif\n\n/**\n ** GL_IBM_rasterpos_clip\n **/\n\n#if (defined(GL_IBM_RASTERPOS_CLIP) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_IBM_RASTERPOS_CLIP)) && !defined(REGAL_NO_ENUM_GL_IBM_RASTERPOS_CLIP)\n#define REGAL_NO_ENUM_GL_IBM_RASTERPOS_CLIP\n#endif\n\n#if (defined(GL_IBM_RASTERPOS_CLIP) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_IBM_RASTERPOS_CLIP)) && !defined(REGAL_NO_TYPEDEF_GL_IBM_RASTERPOS_CLIP)\n#define REGAL_NO_TYPEDEF_GL_IBM_RASTERPOS_CLIP\n#endif\n\n#if (defined(GL_IBM_RASTERPOS_CLIP) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_IBM_RASTERPOS_CLIP)) && !defined(REGAL_NO_NAMESPACE_GL_IBM_RASTERPOS_CLIP)\n#define REGAL_NO_NAMESPACE_GL_IBM_RASTERPOS_CLIP\n#endif\n\n#if (defined(GL_IBM_RASTERPOS_CLIP) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_IBM_RASTERPOS_CLIP)) && !defined(REGAL_NO_PLUGIN_GL_IBM_RASTERPOS_CLIP)\n#define REGAL_NO_PLUGIN_GL_IBM_RASTERPOS_CLIP\n#endif\n\n#if (defined(GL_IBM_RASTERPOS_CLIP) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_IBM_RASTERPOS_CLIP)) && !defined(REGAL_NO_DECLARATION_GL_IBM_RASTERPOS_CLIP)\n#define REGAL_NO_DECLARATION_GL_IBM_RASTERPOS_CLIP\n#endif\n\n#ifndef GL_IBM_rasterpos_clip\n#define GL_IBM_rasterpos_clip 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_IBM_RASTERPOS_CLIP\n#define GL_RASTER_POSITION_UNCLIPPED_IBM 0x19262 /* 103010 */\n#endif\n\n/**\n ** GL_IBM_static_data\n **/\n\n#if (defined(GL_IBM_STATIC_DATA) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_IBM_STATIC_DATA)) && !defined(REGAL_NO_ENUM_GL_IBM_STATIC_DATA)\n#define REGAL_NO_ENUM_GL_IBM_STATIC_DATA\n#endif\n\n#if (defined(GL_IBM_STATIC_DATA) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_IBM_STATIC_DATA)) && !defined(REGAL_NO_TYPEDEF_GL_IBM_STATIC_DATA)\n#define REGAL_NO_TYPEDEF_GL_IBM_STATIC_DATA\n#endif\n\n#if (defined(GL_IBM_STATIC_DATA) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_IBM_STATIC_DATA)) && !defined(REGAL_NO_NAMESPACE_GL_IBM_STATIC_DATA)\n#define REGAL_NO_NAMESPACE_GL_IBM_STATIC_DATA\n#endif\n\n#if (defined(GL_IBM_STATIC_DATA) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_IBM_STATIC_DATA)) && !defined(REGAL_NO_PLUGIN_GL_IBM_STATIC_DATA)\n#define REGAL_NO_PLUGIN_GL_IBM_STATIC_DATA\n#endif\n\n#if (defined(GL_IBM_STATIC_DATA) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_IBM_STATIC_DATA)) && !defined(REGAL_NO_DECLARATION_GL_IBM_STATIC_DATA)\n#define REGAL_NO_DECLARATION_GL_IBM_STATIC_DATA\n#endif\n\n#ifndef GL_IBM_static_data\n#define GL_IBM_static_data 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_IBM_STATIC_DATA\n#define GL_ALL_STATIC_DATA_IBM     0x19294     /* 103060 */\n#define GL_STATIC_VERTEX_ARRAY_IBM 0x19295     /* 103061 */\n#endif\n\n/**\n ** GL_IBM_texture_mirrored_repeat\n **/\n\n#if (defined(GL_IBM_TEXTURE_MIRRORED_REPEAT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_IBM_TEXTURE_MIRRORED_REPEAT)) && !defined(REGAL_NO_ENUM_GL_IBM_TEXTURE_MIRRORED_REPEAT)\n#define REGAL_NO_ENUM_GL_IBM_TEXTURE_MIRRORED_REPEAT\n#endif\n\n#if (defined(GL_IBM_TEXTURE_MIRRORED_REPEAT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_IBM_TEXTURE_MIRRORED_REPEAT)) && !defined(REGAL_NO_TYPEDEF_GL_IBM_TEXTURE_MIRRORED_REPEAT)\n#define REGAL_NO_TYPEDEF_GL_IBM_TEXTURE_MIRRORED_REPEAT\n#endif\n\n#if (defined(GL_IBM_TEXTURE_MIRRORED_REPEAT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_IBM_TEXTURE_MIRRORED_REPEAT)) && !defined(REGAL_NO_NAMESPACE_GL_IBM_TEXTURE_MIRRORED_REPEAT)\n#define REGAL_NO_NAMESPACE_GL_IBM_TEXTURE_MIRRORED_REPEAT\n#endif\n\n#if (defined(GL_IBM_TEXTURE_MIRRORED_REPEAT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_IBM_TEXTURE_MIRRORED_REPEAT)) && !defined(REGAL_NO_PLUGIN_GL_IBM_TEXTURE_MIRRORED_REPEAT)\n#define REGAL_NO_PLUGIN_GL_IBM_TEXTURE_MIRRORED_REPEAT\n#endif\n\n#if (defined(GL_IBM_TEXTURE_MIRRORED_REPEAT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_IBM_TEXTURE_MIRRORED_REPEAT)) && !defined(REGAL_NO_DECLARATION_GL_IBM_TEXTURE_MIRRORED_REPEAT)\n#define REGAL_NO_DECLARATION_GL_IBM_TEXTURE_MIRRORED_REPEAT\n#endif\n\n#ifndef GL_IBM_texture_mirrored_repeat\n#define GL_IBM_texture_mirrored_repeat 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_IBM_TEXTURE_MIRRORED_REPEAT\n#define GL_MIRRORED_REPEAT_IBM 0x8370 /* 33648 */\n#endif\n\n/**\n ** GL_IBM_vertex_array_lists\n **/\n\n#if (defined(GL_IBM_VERTEX_ARRAY_LISTS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_IBM_VERTEX_ARRAY_LISTS)) && !defined(REGAL_NO_ENUM_GL_IBM_VERTEX_ARRAY_LISTS)\n#define REGAL_NO_ENUM_GL_IBM_VERTEX_ARRAY_LISTS\n#endif\n\n#if (defined(GL_IBM_VERTEX_ARRAY_LISTS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_IBM_VERTEX_ARRAY_LISTS)) && !defined(REGAL_NO_TYPEDEF_GL_IBM_VERTEX_ARRAY_LISTS)\n#define REGAL_NO_TYPEDEF_GL_IBM_VERTEX_ARRAY_LISTS\n#endif\n\n#if (defined(GL_IBM_VERTEX_ARRAY_LISTS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_IBM_VERTEX_ARRAY_LISTS)) && !defined(REGAL_NO_NAMESPACE_GL_IBM_VERTEX_ARRAY_LISTS)\n#define REGAL_NO_NAMESPACE_GL_IBM_VERTEX_ARRAY_LISTS\n#endif\n\n#if (defined(GL_IBM_VERTEX_ARRAY_LISTS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_IBM_VERTEX_ARRAY_LISTS)) && !defined(REGAL_NO_PLUGIN_GL_IBM_VERTEX_ARRAY_LISTS)\n#define REGAL_NO_PLUGIN_GL_IBM_VERTEX_ARRAY_LISTS\n#endif\n\n#if (defined(GL_IBM_VERTEX_ARRAY_LISTS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_IBM_VERTEX_ARRAY_LISTS)) && !defined(REGAL_NO_DECLARATION_GL_IBM_VERTEX_ARRAY_LISTS)\n#define REGAL_NO_DECLARATION_GL_IBM_VERTEX_ARRAY_LISTS\n#endif\n\n#ifndef GL_IBM_vertex_array_lists\n#define GL_IBM_vertex_array_lists 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_IBM_VERTEX_ARRAY_LISTS\n#define GL_VERTEX_ARRAY_LIST_IBM                 0x1929e     /* 103070 */\n#define GL_NORMAL_ARRAY_LIST_IBM                 0x1929f     /* 103071 */\n#define GL_COLOR_ARRAY_LIST_IBM                  0x192a0     /* 103072 */\n#define GL_INDEX_ARRAY_LIST_IBM                  0x192a1     /* 103073 */\n#define GL_TEXTURE_COORD_ARRAY_LIST_IBM          0x192a2     /* 103074 */\n#define GL_EDGE_FLAG_ARRAY_LIST_IBM              0x192a3     /* 103075 */\n#define GL_FOG_COORDINATE_ARRAY_LIST_IBM         0x192a4     /* 103076 */\n#define GL_SECONDARY_COLOR_ARRAY_LIST_IBM        0x192a5     /* 103077 */\n#define GL_VERTEX_ARRAY_LIST_STRIDE_IBM          0x192a8     /* 103080 */\n#define GL_NORMAL_ARRAY_LIST_STRIDE_IBM          0x192a9     /* 103081 */\n#define GL_COLOR_ARRAY_LIST_STRIDE_IBM           0x192aa     /* 103082 */\n#define GL_INDEX_ARRAY_LIST_STRIDE_IBM           0x192ab     /* 103083 */\n#define GL_TEXTURE_COORD_ARRAY_LIST_STRIDE_IBM   0x192ac     /* 103084 */\n#define GL_EDGE_FLAG_ARRAY_LIST_STRIDE_IBM       0x192ad     /* 103085 */\n#define GL_FOG_COORDINATE_ARRAY_LIST_STRIDE_IBM  0x192ae     /* 103086 */\n#define GL_SECONDARY_COLOR_ARRAY_LIST_STRIDE_IBM 0x192af     /* 103087 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_IBM_VERTEX_ARRAY_LISTS\ntypedef void (REGAL_CALL *PFNGLCOLORPOINTERLISTIBMPROC)(GLint size, GLenum type, GLint stride, const GLvoid **pointer, GLint ptrstride);\ntypedef void (REGAL_CALL *PFNGLEDGEFLAGPOINTERLISTIBMPROC)(GLint stride, const GLboolean **pointer, GLint ptrstride);\ntypedef void (REGAL_CALL *PFNGLFOGCOORDPOINTERLISTIBMPROC)(GLenum type, GLint stride, const GLvoid **pointer, GLint ptrstride);\ntypedef void (REGAL_CALL *PFNGLINDEXPOINTERLISTIBMPROC)(GLenum type, GLint stride, const GLvoid **pointer, GLint ptrstride);\ntypedef void (REGAL_CALL *PFNGLNORMALPOINTERLISTIBMPROC)(GLenum type, GLint stride, const GLvoid **pointer, GLint ptrstride);\ntypedef void (REGAL_CALL *PFNGLSECONDARYCOLORPOINTERLISTIBMPROC)(GLint size, GLenum type, GLint stride, const GLvoid **pointer, GLint ptrstride);\ntypedef void (REGAL_CALL *PFNGLTEXCOORDPOINTERLISTIBMPROC)(GLint size, GLenum type, GLint stride, const GLvoid **pointer, GLint ptrstride);\ntypedef void (REGAL_CALL *PFNGLVERTEXPOINTERLISTIBMPROC)(GLint size, GLenum type, GLint stride, const GLvoid **pointer, GLint ptrstride);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_IBM_VERTEX_ARRAY_LISTS\n#define glColorPointerListIBM               rglColorPointerListIBM\n#define glEdgeFlagPointerListIBM            rglEdgeFlagPointerListIBM\n#define glFogCoordPointerListIBM            rglFogCoordPointerListIBM\n#define glIndexPointerListIBM               rglIndexPointerListIBM\n#define glNormalPointerListIBM              rglNormalPointerListIBM\n#define glSecondaryColorPointerListIBM      rglSecondaryColorPointerListIBM\n#define glTexCoordPointerListIBM            rglTexCoordPointerListIBM\n#define glVertexPointerListIBM              rglVertexPointerListIBM\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_IBM_VERTEX_ARRAY_LISTS\nREGAL_DECL void REGAL_CALL glColorPointerListIBM(GLint size, GLenum type, GLint stride, const GLvoid **pointer, GLint ptrstride);\nREGAL_DECL void REGAL_CALL glEdgeFlagPointerListIBM(GLint stride, const GLboolean **pointer, GLint ptrstride);\nREGAL_DECL void REGAL_CALL glFogCoordPointerListIBM(GLenum type, GLint stride, const GLvoid **pointer, GLint ptrstride);\nREGAL_DECL void REGAL_CALL glIndexPointerListIBM(GLenum type, GLint stride, const GLvoid **pointer, GLint ptrstride);\nREGAL_DECL void REGAL_CALL glNormalPointerListIBM(GLenum type, GLint stride, const GLvoid **pointer, GLint ptrstride);\nREGAL_DECL void REGAL_CALL glSecondaryColorPointerListIBM(GLint size, GLenum type, GLint stride, const GLvoid **pointer, GLint ptrstride);\nREGAL_DECL void REGAL_CALL glTexCoordPointerListIBM(GLint size, GLenum type, GLint stride, const GLvoid **pointer, GLint ptrstride);\nREGAL_DECL void REGAL_CALL glVertexPointerListIBM(GLint size, GLenum type, GLint stride, const GLvoid **pointer, GLint ptrstride);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_IBM_VERTEX_ARRAY_LISTS\nREGAL_DECL void REGAL_CALL plugin_glColorPointerListIBM(GLint size, GLenum type, GLint stride, const GLvoid **pointer, GLint ptrstride);\nREGAL_DECL void REGAL_CALL plugin_glEdgeFlagPointerListIBM(GLint stride, const GLboolean **pointer, GLint ptrstride);\nREGAL_DECL void REGAL_CALL plugin_glFogCoordPointerListIBM(GLenum type, GLint stride, const GLvoid **pointer, GLint ptrstride);\nREGAL_DECL void REGAL_CALL plugin_glIndexPointerListIBM(GLenum type, GLint stride, const GLvoid **pointer, GLint ptrstride);\nREGAL_DECL void REGAL_CALL plugin_glNormalPointerListIBM(GLenum type, GLint stride, const GLvoid **pointer, GLint ptrstride);\nREGAL_DECL void REGAL_CALL plugin_glSecondaryColorPointerListIBM(GLint size, GLenum type, GLint stride, const GLvoid **pointer, GLint ptrstride);\nREGAL_DECL void REGAL_CALL plugin_glTexCoordPointerListIBM(GLint size, GLenum type, GLint stride, const GLvoid **pointer, GLint ptrstride);\nREGAL_DECL void REGAL_CALL plugin_glVertexPointerListIBM(GLint size, GLenum type, GLint stride, const GLvoid **pointer, GLint ptrstride);\n#endif\n\n/**\n ** GL_IMG_multisampled_render_to_texture\n **/\n\n#if (defined(GL_IMG_MULTISAMPLED_RENDER_TO_TEXTURE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_IMG_MULTISAMPLED_RENDER_TO_TEXTURE)) && !defined(REGAL_NO_ENUM_GL_IMG_MULTISAMPLED_RENDER_TO_TEXTURE)\n#define REGAL_NO_ENUM_GL_IMG_MULTISAMPLED_RENDER_TO_TEXTURE\n#endif\n\n#if (defined(GL_IMG_MULTISAMPLED_RENDER_TO_TEXTURE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_IMG_MULTISAMPLED_RENDER_TO_TEXTURE)) && !defined(REGAL_NO_TYPEDEF_GL_IMG_MULTISAMPLED_RENDER_TO_TEXTURE)\n#define REGAL_NO_TYPEDEF_GL_IMG_MULTISAMPLED_RENDER_TO_TEXTURE\n#endif\n\n#if (defined(GL_IMG_MULTISAMPLED_RENDER_TO_TEXTURE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_IMG_MULTISAMPLED_RENDER_TO_TEXTURE)) && !defined(REGAL_NO_NAMESPACE_GL_IMG_MULTISAMPLED_RENDER_TO_TEXTURE)\n#define REGAL_NO_NAMESPACE_GL_IMG_MULTISAMPLED_RENDER_TO_TEXTURE\n#endif\n\n#if (defined(GL_IMG_MULTISAMPLED_RENDER_TO_TEXTURE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_IMG_MULTISAMPLED_RENDER_TO_TEXTURE)) && !defined(REGAL_NO_PLUGIN_GL_IMG_MULTISAMPLED_RENDER_TO_TEXTURE)\n#define REGAL_NO_PLUGIN_GL_IMG_MULTISAMPLED_RENDER_TO_TEXTURE\n#endif\n\n#if (defined(GL_IMG_MULTISAMPLED_RENDER_TO_TEXTURE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_IMG_MULTISAMPLED_RENDER_TO_TEXTURE)) && !defined(REGAL_NO_DECLARATION_GL_IMG_MULTISAMPLED_RENDER_TO_TEXTURE)\n#define REGAL_NO_DECLARATION_GL_IMG_MULTISAMPLED_RENDER_TO_TEXTURE\n#endif\n\n#ifndef GL_IMG_multisampled_render_to_texture\n#define GL_IMG_multisampled_render_to_texture 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_IMG_MULTISAMPLED_RENDER_TO_TEXTURE\n#define GL_RENDERBUFFER_SAMPLES_IMG               0x9133     /* 37171 */\n#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG 0x9134     /* 37172 */\n#define GL_MAX_SAMPLES_IMG                        0x9135     /* 37173 */\n#define GL_TEXTURE_SAMPLES_IMG                    0x9136     /* 37174 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_IMG_MULTISAMPLED_RENDER_TO_TEXTURE\ntypedef void (REGAL_CALL *PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEIMGPROC)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);\ntypedef void (REGAL_CALL *PFNGLRENDERBUFFERSTORAGEMULTISAMPLEIMGPROC)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_IMG_MULTISAMPLED_RENDER_TO_TEXTURE\n#define glFramebufferTexture2DMultisampleIMG rglFramebufferTexture2DMultisampleIMG\n#define glRenderbufferStorageMultisampleIMG rglRenderbufferStorageMultisampleIMG\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_IMG_MULTISAMPLED_RENDER_TO_TEXTURE\nREGAL_DECL void REGAL_CALL glFramebufferTexture2DMultisampleIMG(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);\nREGAL_DECL void REGAL_CALL glRenderbufferStorageMultisampleIMG(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_IMG_MULTISAMPLED_RENDER_TO_TEXTURE\nREGAL_DECL void REGAL_CALL plugin_glFramebufferTexture2DMultisampleIMG(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);\nREGAL_DECL void REGAL_CALL plugin_glRenderbufferStorageMultisampleIMG(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);\n#endif\n\n/**\n ** GL_IMG_program_binary\n **/\n\n#if (defined(GL_IMG_PROGRAM_BINARY) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_IMG_PROGRAM_BINARY)) && !defined(REGAL_NO_ENUM_GL_IMG_PROGRAM_BINARY)\n#define REGAL_NO_ENUM_GL_IMG_PROGRAM_BINARY\n#endif\n\n#if (defined(GL_IMG_PROGRAM_BINARY) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_IMG_PROGRAM_BINARY)) && !defined(REGAL_NO_TYPEDEF_GL_IMG_PROGRAM_BINARY)\n#define REGAL_NO_TYPEDEF_GL_IMG_PROGRAM_BINARY\n#endif\n\n#if (defined(GL_IMG_PROGRAM_BINARY) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_IMG_PROGRAM_BINARY)) && !defined(REGAL_NO_NAMESPACE_GL_IMG_PROGRAM_BINARY)\n#define REGAL_NO_NAMESPACE_GL_IMG_PROGRAM_BINARY\n#endif\n\n#if (defined(GL_IMG_PROGRAM_BINARY) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_IMG_PROGRAM_BINARY)) && !defined(REGAL_NO_PLUGIN_GL_IMG_PROGRAM_BINARY)\n#define REGAL_NO_PLUGIN_GL_IMG_PROGRAM_BINARY\n#endif\n\n#if (defined(GL_IMG_PROGRAM_BINARY) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_IMG_PROGRAM_BINARY)) && !defined(REGAL_NO_DECLARATION_GL_IMG_PROGRAM_BINARY)\n#define REGAL_NO_DECLARATION_GL_IMG_PROGRAM_BINARY\n#endif\n\n#ifndef GL_IMG_program_binary\n#define GL_IMG_program_binary 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_IMG_PROGRAM_BINARY\n#define GL_SGX_PROGRAM_BINARY_IMG 0x9130 /* 37168 */\n#endif\n\n/**\n ** GL_IMG_read_format\n **/\n\n#if (defined(GL_IMG_READ_FORMAT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_IMG_READ_FORMAT)) && !defined(REGAL_NO_ENUM_GL_IMG_READ_FORMAT)\n#define REGAL_NO_ENUM_GL_IMG_READ_FORMAT\n#endif\n\n#if (defined(GL_IMG_READ_FORMAT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_IMG_READ_FORMAT)) && !defined(REGAL_NO_TYPEDEF_GL_IMG_READ_FORMAT)\n#define REGAL_NO_TYPEDEF_GL_IMG_READ_FORMAT\n#endif\n\n#if (defined(GL_IMG_READ_FORMAT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_IMG_READ_FORMAT)) && !defined(REGAL_NO_NAMESPACE_GL_IMG_READ_FORMAT)\n#define REGAL_NO_NAMESPACE_GL_IMG_READ_FORMAT\n#endif\n\n#if (defined(GL_IMG_READ_FORMAT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_IMG_READ_FORMAT)) && !defined(REGAL_NO_PLUGIN_GL_IMG_READ_FORMAT)\n#define REGAL_NO_PLUGIN_GL_IMG_READ_FORMAT\n#endif\n\n#if (defined(GL_IMG_READ_FORMAT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_IMG_READ_FORMAT)) && !defined(REGAL_NO_DECLARATION_GL_IMG_READ_FORMAT)\n#define REGAL_NO_DECLARATION_GL_IMG_READ_FORMAT\n#endif\n\n#ifndef GL_IMG_read_format\n#define GL_IMG_read_format 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_IMG_READ_FORMAT\n#define GL_BGRA_IMG                       0x80e1     /* 32993 */\n#define GL_UNSIGNED_SHORT_4_4_4_4_REV_IMG 0x8365     /* 33637 */\n#endif\n\n/**\n ** GL_IMG_shader_binary\n **/\n\n#if (defined(GL_IMG_SHADER_BINARY) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_IMG_SHADER_BINARY)) && !defined(REGAL_NO_ENUM_GL_IMG_SHADER_BINARY)\n#define REGAL_NO_ENUM_GL_IMG_SHADER_BINARY\n#endif\n\n#if (defined(GL_IMG_SHADER_BINARY) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_IMG_SHADER_BINARY)) && !defined(REGAL_NO_TYPEDEF_GL_IMG_SHADER_BINARY)\n#define REGAL_NO_TYPEDEF_GL_IMG_SHADER_BINARY\n#endif\n\n#if (defined(GL_IMG_SHADER_BINARY) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_IMG_SHADER_BINARY)) && !defined(REGAL_NO_NAMESPACE_GL_IMG_SHADER_BINARY)\n#define REGAL_NO_NAMESPACE_GL_IMG_SHADER_BINARY\n#endif\n\n#if (defined(GL_IMG_SHADER_BINARY) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_IMG_SHADER_BINARY)) && !defined(REGAL_NO_PLUGIN_GL_IMG_SHADER_BINARY)\n#define REGAL_NO_PLUGIN_GL_IMG_SHADER_BINARY\n#endif\n\n#if (defined(GL_IMG_SHADER_BINARY) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_IMG_SHADER_BINARY)) && !defined(REGAL_NO_DECLARATION_GL_IMG_SHADER_BINARY)\n#define REGAL_NO_DECLARATION_GL_IMG_SHADER_BINARY\n#endif\n\n#ifndef GL_IMG_shader_binary\n#define GL_IMG_shader_binary 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_IMG_SHADER_BINARY\n#define GL_SGX_BINARY_IMG 0x8c0a /* 35850 */\n#endif\n\n/**\n ** GL_IMG_texture_compression_pvrtc\n **/\n\n#if (defined(GL_IMG_TEXTURE_COMPRESSION_PVRTC) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_IMG_TEXTURE_COMPRESSION_PVRTC)) && !defined(REGAL_NO_ENUM_GL_IMG_TEXTURE_COMPRESSION_PVRTC)\n#define REGAL_NO_ENUM_GL_IMG_TEXTURE_COMPRESSION_PVRTC\n#endif\n\n#if (defined(GL_IMG_TEXTURE_COMPRESSION_PVRTC) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_IMG_TEXTURE_COMPRESSION_PVRTC)) && !defined(REGAL_NO_TYPEDEF_GL_IMG_TEXTURE_COMPRESSION_PVRTC)\n#define REGAL_NO_TYPEDEF_GL_IMG_TEXTURE_COMPRESSION_PVRTC\n#endif\n\n#if (defined(GL_IMG_TEXTURE_COMPRESSION_PVRTC) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_IMG_TEXTURE_COMPRESSION_PVRTC)) && !defined(REGAL_NO_NAMESPACE_GL_IMG_TEXTURE_COMPRESSION_PVRTC)\n#define REGAL_NO_NAMESPACE_GL_IMG_TEXTURE_COMPRESSION_PVRTC\n#endif\n\n#if (defined(GL_IMG_TEXTURE_COMPRESSION_PVRTC) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_IMG_TEXTURE_COMPRESSION_PVRTC)) && !defined(REGAL_NO_PLUGIN_GL_IMG_TEXTURE_COMPRESSION_PVRTC)\n#define REGAL_NO_PLUGIN_GL_IMG_TEXTURE_COMPRESSION_PVRTC\n#endif\n\n#if (defined(GL_IMG_TEXTURE_COMPRESSION_PVRTC) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_IMG_TEXTURE_COMPRESSION_PVRTC)) && !defined(REGAL_NO_DECLARATION_GL_IMG_TEXTURE_COMPRESSION_PVRTC)\n#define REGAL_NO_DECLARATION_GL_IMG_TEXTURE_COMPRESSION_PVRTC\n#endif\n\n#ifndef GL_IMG_texture_compression_pvrtc\n#define GL_IMG_texture_compression_pvrtc 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_IMG_TEXTURE_COMPRESSION_PVRTC\n#define GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG  0x8c00     /* 35840 */\n#define GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG  0x8c01     /* 35841 */\n#define GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG 0x8c02     /* 35842 */\n#define GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG 0x8c03     /* 35843 */\n#endif\n\n/**\n ** GL_IMG_texture_compression_pvrtc2\n **/\n\n#if (defined(GL_IMG_TEXTURE_COMPRESSION_PVRTC2) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_IMG_TEXTURE_COMPRESSION_PVRTC2)) && !defined(REGAL_NO_ENUM_GL_IMG_TEXTURE_COMPRESSION_PVRTC2)\n#define REGAL_NO_ENUM_GL_IMG_TEXTURE_COMPRESSION_PVRTC2\n#endif\n\n#if (defined(GL_IMG_TEXTURE_COMPRESSION_PVRTC2) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_IMG_TEXTURE_COMPRESSION_PVRTC2)) && !defined(REGAL_NO_TYPEDEF_GL_IMG_TEXTURE_COMPRESSION_PVRTC2)\n#define REGAL_NO_TYPEDEF_GL_IMG_TEXTURE_COMPRESSION_PVRTC2\n#endif\n\n#if (defined(GL_IMG_TEXTURE_COMPRESSION_PVRTC2) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_IMG_TEXTURE_COMPRESSION_PVRTC2)) && !defined(REGAL_NO_NAMESPACE_GL_IMG_TEXTURE_COMPRESSION_PVRTC2)\n#define REGAL_NO_NAMESPACE_GL_IMG_TEXTURE_COMPRESSION_PVRTC2\n#endif\n\n#if (defined(GL_IMG_TEXTURE_COMPRESSION_PVRTC2) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_IMG_TEXTURE_COMPRESSION_PVRTC2)) && !defined(REGAL_NO_PLUGIN_GL_IMG_TEXTURE_COMPRESSION_PVRTC2)\n#define REGAL_NO_PLUGIN_GL_IMG_TEXTURE_COMPRESSION_PVRTC2\n#endif\n\n#if (defined(GL_IMG_TEXTURE_COMPRESSION_PVRTC2) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_IMG_TEXTURE_COMPRESSION_PVRTC2)) && !defined(REGAL_NO_DECLARATION_GL_IMG_TEXTURE_COMPRESSION_PVRTC2)\n#define REGAL_NO_DECLARATION_GL_IMG_TEXTURE_COMPRESSION_PVRTC2\n#endif\n\n#ifndef GL_IMG_texture_compression_pvrtc2\n#define GL_IMG_texture_compression_pvrtc2 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_IMG_TEXTURE_COMPRESSION_PVRTC2\n#define GL_COMPRESSED_RGBA_PVRTC_2BPPV2_IMG 0x9137     /* 37175 */\n#define GL_COMPRESSED_RGBA_PVRTC_4BPPV2_IMG 0x9138     /* 37176 */\n#endif\n\n/**\n ** GL_IMG_texture_env_enhanced_fixed_function\n **/\n\n#if (defined(GL_IMG_TEXTURE_ENV_ENHANCED_FIXED_FUNCTION) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_IMG_TEXTURE_ENV_ENHANCED_FIXED_FUNCTION)) && !defined(REGAL_NO_ENUM_GL_IMG_TEXTURE_ENV_ENHANCED_FIXED_FUNCTION)\n#define REGAL_NO_ENUM_GL_IMG_TEXTURE_ENV_ENHANCED_FIXED_FUNCTION\n#endif\n\n#if (defined(GL_IMG_TEXTURE_ENV_ENHANCED_FIXED_FUNCTION) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_IMG_TEXTURE_ENV_ENHANCED_FIXED_FUNCTION)) && !defined(REGAL_NO_TYPEDEF_GL_IMG_TEXTURE_ENV_ENHANCED_FIXED_FUNCTION)\n#define REGAL_NO_TYPEDEF_GL_IMG_TEXTURE_ENV_ENHANCED_FIXED_FUNCTION\n#endif\n\n#if (defined(GL_IMG_TEXTURE_ENV_ENHANCED_FIXED_FUNCTION) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_IMG_TEXTURE_ENV_ENHANCED_FIXED_FUNCTION)) && !defined(REGAL_NO_NAMESPACE_GL_IMG_TEXTURE_ENV_ENHANCED_FIXED_FUNCTION)\n#define REGAL_NO_NAMESPACE_GL_IMG_TEXTURE_ENV_ENHANCED_FIXED_FUNCTION\n#endif\n\n#if (defined(GL_IMG_TEXTURE_ENV_ENHANCED_FIXED_FUNCTION) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_IMG_TEXTURE_ENV_ENHANCED_FIXED_FUNCTION)) && !defined(REGAL_NO_PLUGIN_GL_IMG_TEXTURE_ENV_ENHANCED_FIXED_FUNCTION)\n#define REGAL_NO_PLUGIN_GL_IMG_TEXTURE_ENV_ENHANCED_FIXED_FUNCTION\n#endif\n\n#if (defined(GL_IMG_TEXTURE_ENV_ENHANCED_FIXED_FUNCTION) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_IMG_TEXTURE_ENV_ENHANCED_FIXED_FUNCTION)) && !defined(REGAL_NO_DECLARATION_GL_IMG_TEXTURE_ENV_ENHANCED_FIXED_FUNCTION)\n#define REGAL_NO_DECLARATION_GL_IMG_TEXTURE_ENV_ENHANCED_FIXED_FUNCTION\n#endif\n\n#ifndef GL_IMG_texture_env_enhanced_fixed_function\n#define GL_IMG_texture_env_enhanced_fixed_function 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_IMG_TEXTURE_ENV_ENHANCED_FIXED_FUNCTION\n#define GL_DOT3_RGBA_IMG               0x86af     /* 34479 */\n#define GL_MODULATE_COLOR_IMG          0x8c04     /* 35844 */\n#define GL_RECIP_ADD_SIGNED_ALPHA_IMG  0x8c05     /* 35845 */\n#define GL_TEXTURE_ALPHA_MODULATE_IMG  0x8c06     /* 35846 */\n#define GL_FACTOR_ALPHA_MODULATE_IMG   0x8c07     /* 35847 */\n#define GL_FRAGMENT_ALPHA_MODULATE_IMG 0x8c08     /* 35848 */\n#define GL_ADD_BLEND_IMG               0x8c09     /* 35849 */\n#endif\n\n/**\n ** GL_IMG_user_clip_plane\n **/\n\n#if (defined(GL_IMG_USER_CLIP_PLANE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_IMG_USER_CLIP_PLANE)) && !defined(REGAL_NO_ENUM_GL_IMG_USER_CLIP_PLANE)\n#define REGAL_NO_ENUM_GL_IMG_USER_CLIP_PLANE\n#endif\n\n#if (defined(GL_IMG_USER_CLIP_PLANE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_IMG_USER_CLIP_PLANE)) && !defined(REGAL_NO_TYPEDEF_GL_IMG_USER_CLIP_PLANE)\n#define REGAL_NO_TYPEDEF_GL_IMG_USER_CLIP_PLANE\n#endif\n\n#if (defined(GL_IMG_USER_CLIP_PLANE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_IMG_USER_CLIP_PLANE)) && !defined(REGAL_NO_NAMESPACE_GL_IMG_USER_CLIP_PLANE)\n#define REGAL_NO_NAMESPACE_GL_IMG_USER_CLIP_PLANE\n#endif\n\n#if (defined(GL_IMG_USER_CLIP_PLANE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_IMG_USER_CLIP_PLANE)) && !defined(REGAL_NO_PLUGIN_GL_IMG_USER_CLIP_PLANE)\n#define REGAL_NO_PLUGIN_GL_IMG_USER_CLIP_PLANE\n#endif\n\n#if (defined(GL_IMG_USER_CLIP_PLANE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_IMG_USER_CLIP_PLANE)) && !defined(REGAL_NO_DECLARATION_GL_IMG_USER_CLIP_PLANE)\n#define REGAL_NO_DECLARATION_GL_IMG_USER_CLIP_PLANE\n#endif\n\n#ifndef GL_IMG_user_clip_plane\n#define GL_IMG_user_clip_plane 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_IMG_USER_CLIP_PLANE\n#define GL_CLIP_PLANE0_IMG     0x3000     /* 12288 */\n#define GL_CLIP_PLANE1_IMG     0x3001     /* 12289 */\n#define GL_CLIP_PLANE2_IMG     0x3002     /* 12290 */\n#define GL_CLIP_PLANE3_IMG     0x3003     /* 12291 */\n#define GL_CLIP_PLANE4_IMG     0x3004     /* 12292 */\n#define GL_CLIP_PLANE5_IMG     0x3005     /* 12293 */\n#define GL_MAX_CLIP_PLANES_IMG 0xd32      /* 3378 */\n#endif\n\n/**\n ** GL_INGR_blend_func_separate\n **/\n\n#if (defined(GL_INGR_BLEND_FUNC_SEPARATE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_INGR_BLEND_FUNC_SEPARATE)) && !defined(REGAL_NO_ENUM_GL_INGR_BLEND_FUNC_SEPARATE)\n#define REGAL_NO_ENUM_GL_INGR_BLEND_FUNC_SEPARATE\n#endif\n\n#if (defined(GL_INGR_BLEND_FUNC_SEPARATE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_INGR_BLEND_FUNC_SEPARATE)) && !defined(REGAL_NO_TYPEDEF_GL_INGR_BLEND_FUNC_SEPARATE)\n#define REGAL_NO_TYPEDEF_GL_INGR_BLEND_FUNC_SEPARATE\n#endif\n\n#if (defined(GL_INGR_BLEND_FUNC_SEPARATE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_INGR_BLEND_FUNC_SEPARATE)) && !defined(REGAL_NO_NAMESPACE_GL_INGR_BLEND_FUNC_SEPARATE)\n#define REGAL_NO_NAMESPACE_GL_INGR_BLEND_FUNC_SEPARATE\n#endif\n\n#if (defined(GL_INGR_BLEND_FUNC_SEPARATE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_INGR_BLEND_FUNC_SEPARATE)) && !defined(REGAL_NO_PLUGIN_GL_INGR_BLEND_FUNC_SEPARATE)\n#define REGAL_NO_PLUGIN_GL_INGR_BLEND_FUNC_SEPARATE\n#endif\n\n#if (defined(GL_INGR_BLEND_FUNC_SEPARATE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_INGR_BLEND_FUNC_SEPARATE)) && !defined(REGAL_NO_DECLARATION_GL_INGR_BLEND_FUNC_SEPARATE)\n#define REGAL_NO_DECLARATION_GL_INGR_BLEND_FUNC_SEPARATE\n#endif\n\n#ifndef GL_INGR_blend_func_separate\n#define GL_INGR_blend_func_separate 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_INGR_BLEND_FUNC_SEPARATE\ntypedef void (REGAL_CALL *PFNGLBLENDFUNCSEPARATEINGRPROC)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_INGR_BLEND_FUNC_SEPARATE\n#define glBlendFuncSeparateINGR             rglBlendFuncSeparateINGR\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_INGR_BLEND_FUNC_SEPARATE\nREGAL_DECL void REGAL_CALL glBlendFuncSeparateINGR(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_INGR_BLEND_FUNC_SEPARATE\nREGAL_DECL void REGAL_CALL plugin_glBlendFuncSeparateINGR(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);\n#endif\n\n/**\n ** GL_INGR_color_clamp\n **/\n\n#if (defined(GL_INGR_COLOR_CLAMP) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_INGR_COLOR_CLAMP)) && !defined(REGAL_NO_ENUM_GL_INGR_COLOR_CLAMP)\n#define REGAL_NO_ENUM_GL_INGR_COLOR_CLAMP\n#endif\n\n#if (defined(GL_INGR_COLOR_CLAMP) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_INGR_COLOR_CLAMP)) && !defined(REGAL_NO_TYPEDEF_GL_INGR_COLOR_CLAMP)\n#define REGAL_NO_TYPEDEF_GL_INGR_COLOR_CLAMP\n#endif\n\n#if (defined(GL_INGR_COLOR_CLAMP) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_INGR_COLOR_CLAMP)) && !defined(REGAL_NO_NAMESPACE_GL_INGR_COLOR_CLAMP)\n#define REGAL_NO_NAMESPACE_GL_INGR_COLOR_CLAMP\n#endif\n\n#if (defined(GL_INGR_COLOR_CLAMP) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_INGR_COLOR_CLAMP)) && !defined(REGAL_NO_PLUGIN_GL_INGR_COLOR_CLAMP)\n#define REGAL_NO_PLUGIN_GL_INGR_COLOR_CLAMP\n#endif\n\n#if (defined(GL_INGR_COLOR_CLAMP) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_INGR_COLOR_CLAMP)) && !defined(REGAL_NO_DECLARATION_GL_INGR_COLOR_CLAMP)\n#define REGAL_NO_DECLARATION_GL_INGR_COLOR_CLAMP\n#endif\n\n#ifndef GL_INGR_color_clamp\n#define GL_INGR_color_clamp 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_INGR_COLOR_CLAMP\n#define GL_RED_MIN_CLAMP_INGR   0x8560     /* 34144 */\n#define GL_GREEN_MIN_CLAMP_INGR 0x8561     /* 34145 */\n#define GL_BLUE_MIN_CLAMP_INGR  0x8562     /* 34146 */\n#define GL_ALPHA_MIN_CLAMP_INGR 0x8563     /* 34147 */\n#define GL_RED_MAX_CLAMP_INGR   0x8564     /* 34148 */\n#define GL_GREEN_MAX_CLAMP_INGR 0x8565     /* 34149 */\n#define GL_BLUE_MAX_CLAMP_INGR  0x8566     /* 34150 */\n#define GL_ALPHA_MAX_CLAMP_INGR 0x8567     /* 34151 */\n#endif\n\n/**\n ** GL_INGR_interlace_read\n **/\n\n#if (defined(GL_INGR_INTERLACE_READ) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_INGR_INTERLACE_READ)) && !defined(REGAL_NO_ENUM_GL_INGR_INTERLACE_READ)\n#define REGAL_NO_ENUM_GL_INGR_INTERLACE_READ\n#endif\n\n#if (defined(GL_INGR_INTERLACE_READ) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_INGR_INTERLACE_READ)) && !defined(REGAL_NO_TYPEDEF_GL_INGR_INTERLACE_READ)\n#define REGAL_NO_TYPEDEF_GL_INGR_INTERLACE_READ\n#endif\n\n#if (defined(GL_INGR_INTERLACE_READ) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_INGR_INTERLACE_READ)) && !defined(REGAL_NO_NAMESPACE_GL_INGR_INTERLACE_READ)\n#define REGAL_NO_NAMESPACE_GL_INGR_INTERLACE_READ\n#endif\n\n#if (defined(GL_INGR_INTERLACE_READ) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_INGR_INTERLACE_READ)) && !defined(REGAL_NO_PLUGIN_GL_INGR_INTERLACE_READ)\n#define REGAL_NO_PLUGIN_GL_INGR_INTERLACE_READ\n#endif\n\n#if (defined(GL_INGR_INTERLACE_READ) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_INGR_INTERLACE_READ)) && !defined(REGAL_NO_DECLARATION_GL_INGR_INTERLACE_READ)\n#define REGAL_NO_DECLARATION_GL_INGR_INTERLACE_READ\n#endif\n\n#ifndef GL_INGR_interlace_read\n#define GL_INGR_interlace_read 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_INGR_INTERLACE_READ\n#define GL_INTERLACE_READ_INGR 0x8568 /* 34152 */\n#endif\n\n/**\n ** GL_INTEL_map_texture\n **/\n\n#if (defined(GL_INTEL_MAP_TEXTURE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_INTEL_MAP_TEXTURE)) && !defined(REGAL_NO_ENUM_GL_INTEL_MAP_TEXTURE)\n#define REGAL_NO_ENUM_GL_INTEL_MAP_TEXTURE\n#endif\n\n#if (defined(GL_INTEL_MAP_TEXTURE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_INTEL_MAP_TEXTURE)) && !defined(REGAL_NO_TYPEDEF_GL_INTEL_MAP_TEXTURE)\n#define REGAL_NO_TYPEDEF_GL_INTEL_MAP_TEXTURE\n#endif\n\n#if (defined(GL_INTEL_MAP_TEXTURE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_INTEL_MAP_TEXTURE)) && !defined(REGAL_NO_NAMESPACE_GL_INTEL_MAP_TEXTURE)\n#define REGAL_NO_NAMESPACE_GL_INTEL_MAP_TEXTURE\n#endif\n\n#if (defined(GL_INTEL_MAP_TEXTURE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_INTEL_MAP_TEXTURE)) && !defined(REGAL_NO_PLUGIN_GL_INTEL_MAP_TEXTURE)\n#define REGAL_NO_PLUGIN_GL_INTEL_MAP_TEXTURE\n#endif\n\n#if (defined(GL_INTEL_MAP_TEXTURE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_INTEL_MAP_TEXTURE)) && !defined(REGAL_NO_DECLARATION_GL_INTEL_MAP_TEXTURE)\n#define REGAL_NO_DECLARATION_GL_INTEL_MAP_TEXTURE\n#endif\n\n#ifndef GL_INTEL_map_texture\n#define GL_INTEL_map_texture 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_INTEL_MAP_TEXTURE\n#define GL_LAYOUT_DEFAULT_INTEL           0x0\n#define GL_LAYOUT_LINEAR_INTEL            0x1\n#define GL_LAYOUT_LINEAR_CPU_CACHED_INTEL 0x2\n#define GL_TEXTURE_MEMORY_LAYOUT_INTEL    0x83ff     /* 33791 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_INTEL_MAP_TEXTURE\ntypedef GLvoid *(REGAL_CALL *PFNGLMAPTEXTURE2DINTELPROC)(GLuint texture, GLint level, GLbitfield access, GLint *stride, GLenum *layout);\ntypedef void (REGAL_CALL *PFNGLSYNCTEXTUREINTELPROC)(GLuint texture);\ntypedef void (REGAL_CALL *PFNGLUNMAPTEXTURE2DINTELPROC)(GLuint texture, GLint level);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_INTEL_MAP_TEXTURE\n#define glMapTexture2DINTEL                 rglMapTexture2DINTEL\n#define glSyncTextureINTEL                  rglSyncTextureINTEL\n#define glUnmapTexture2DINTEL               rglUnmapTexture2DINTEL\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_INTEL_MAP_TEXTURE\nREGAL_DECL GLvoid *REGAL_CALL glMapTexture2DINTEL(GLuint texture, GLint level, GLbitfield access, GLint *stride, GLenum *layout);\nREGAL_DECL void REGAL_CALL glSyncTextureINTEL(GLuint texture);\nREGAL_DECL void REGAL_CALL glUnmapTexture2DINTEL(GLuint texture, GLint level);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_INTEL_MAP_TEXTURE\nREGAL_DECL GLvoid *REGAL_CALL plugin_glMapTexture2DINTEL(GLuint texture, GLint level, GLbitfield access, GLint *stride, GLenum *layout);\nREGAL_DECL void REGAL_CALL plugin_glSyncTextureINTEL(GLuint texture);\nREGAL_DECL void REGAL_CALL plugin_glUnmapTexture2DINTEL(GLuint texture, GLint level);\n#endif\n\n/**\n ** GL_INTEL_parallel_arrays\n **/\n\n#if (defined(GL_INTEL_PARALLEL_ARRAYS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_INTEL_PARALLEL_ARRAYS)) && !defined(REGAL_NO_ENUM_GL_INTEL_PARALLEL_ARRAYS)\n#define REGAL_NO_ENUM_GL_INTEL_PARALLEL_ARRAYS\n#endif\n\n#if (defined(GL_INTEL_PARALLEL_ARRAYS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_INTEL_PARALLEL_ARRAYS)) && !defined(REGAL_NO_TYPEDEF_GL_INTEL_PARALLEL_ARRAYS)\n#define REGAL_NO_TYPEDEF_GL_INTEL_PARALLEL_ARRAYS\n#endif\n\n#if (defined(GL_INTEL_PARALLEL_ARRAYS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_INTEL_PARALLEL_ARRAYS)) && !defined(REGAL_NO_NAMESPACE_GL_INTEL_PARALLEL_ARRAYS)\n#define REGAL_NO_NAMESPACE_GL_INTEL_PARALLEL_ARRAYS\n#endif\n\n#if (defined(GL_INTEL_PARALLEL_ARRAYS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_INTEL_PARALLEL_ARRAYS)) && !defined(REGAL_NO_PLUGIN_GL_INTEL_PARALLEL_ARRAYS)\n#define REGAL_NO_PLUGIN_GL_INTEL_PARALLEL_ARRAYS\n#endif\n\n#if (defined(GL_INTEL_PARALLEL_ARRAYS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_INTEL_PARALLEL_ARRAYS)) && !defined(REGAL_NO_DECLARATION_GL_INTEL_PARALLEL_ARRAYS)\n#define REGAL_NO_DECLARATION_GL_INTEL_PARALLEL_ARRAYS\n#endif\n\n#ifndef GL_INTEL_parallel_arrays\n#define GL_INTEL_parallel_arrays 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_INTEL_PARALLEL_ARRAYS\n#define GL_PARALLEL_ARRAYS_INTEL                       0x83f4     /* 33780 */\n#define GL_VERTEX_ARRAY_PARALLEL_POINTERS_INTEL        0x83f5     /* 33781 */\n#define GL_NORMAL_ARRAY_PARALLEL_POINTERS_INTEL        0x83f6     /* 33782 */\n#define GL_COLOR_ARRAY_PARALLEL_POINTERS_INTEL         0x83f7     /* 33783 */\n#define GL_TEXTURE_COORD_ARRAY_PARALLEL_POINTERS_INTEL 0x83f8     /* 33784 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_INTEL_PARALLEL_ARRAYS\ntypedef void (REGAL_CALL *PFNGLCOLORPOINTERVINTELPROC)(GLint size, GLenum type, const GLvoid **pointer);\ntypedef void (REGAL_CALL *PFNGLNORMALPOINTERVINTELPROC)(GLenum type, const GLvoid **pointer);\ntypedef void (REGAL_CALL *PFNGLTEXCOORDPOINTERVINTELPROC)(GLint size, GLenum type, const GLvoid **pointer);\ntypedef void (REGAL_CALL *PFNGLVERTEXPOINTERVINTELPROC)(GLint size, GLenum type, const GLvoid **pointer);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_INTEL_PARALLEL_ARRAYS\n#define glColorPointervINTEL                rglColorPointervINTEL\n#define glNormalPointervINTEL               rglNormalPointervINTEL\n#define glTexCoordPointervINTEL             rglTexCoordPointervINTEL\n#define glVertexPointervINTEL               rglVertexPointervINTEL\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_INTEL_PARALLEL_ARRAYS\nREGAL_DECL void REGAL_CALL glColorPointervINTEL(GLint size, GLenum type, const GLvoid **pointer);\nREGAL_DECL void REGAL_CALL glNormalPointervINTEL(GLenum type, const GLvoid **pointer);\nREGAL_DECL void REGAL_CALL glTexCoordPointervINTEL(GLint size, GLenum type, const GLvoid **pointer);\nREGAL_DECL void REGAL_CALL glVertexPointervINTEL(GLint size, GLenum type, const GLvoid **pointer);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_INTEL_PARALLEL_ARRAYS\nREGAL_DECL void REGAL_CALL plugin_glColorPointervINTEL(GLint size, GLenum type, const GLvoid **pointer);\nREGAL_DECL void REGAL_CALL plugin_glNormalPointervINTEL(GLenum type, const GLvoid **pointer);\nREGAL_DECL void REGAL_CALL plugin_glTexCoordPointervINTEL(GLint size, GLenum type, const GLvoid **pointer);\nREGAL_DECL void REGAL_CALL plugin_glVertexPointervINTEL(GLint size, GLenum type, const GLvoid **pointer);\n#endif\n\n/**\n ** GL_INTEL_texture_scissor\n **/\n\n#if (defined(GL_INTEL_TEXTURE_SCISSOR) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_INTEL_TEXTURE_SCISSOR)) && !defined(REGAL_NO_ENUM_GL_INTEL_TEXTURE_SCISSOR)\n#define REGAL_NO_ENUM_GL_INTEL_TEXTURE_SCISSOR\n#endif\n\n#if (defined(GL_INTEL_TEXTURE_SCISSOR) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_INTEL_TEXTURE_SCISSOR)) && !defined(REGAL_NO_TYPEDEF_GL_INTEL_TEXTURE_SCISSOR)\n#define REGAL_NO_TYPEDEF_GL_INTEL_TEXTURE_SCISSOR\n#endif\n\n#if (defined(GL_INTEL_TEXTURE_SCISSOR) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_INTEL_TEXTURE_SCISSOR)) && !defined(REGAL_NO_NAMESPACE_GL_INTEL_TEXTURE_SCISSOR)\n#define REGAL_NO_NAMESPACE_GL_INTEL_TEXTURE_SCISSOR\n#endif\n\n#if (defined(GL_INTEL_TEXTURE_SCISSOR) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_INTEL_TEXTURE_SCISSOR)) && !defined(REGAL_NO_PLUGIN_GL_INTEL_TEXTURE_SCISSOR)\n#define REGAL_NO_PLUGIN_GL_INTEL_TEXTURE_SCISSOR\n#endif\n\n#if (defined(GL_INTEL_TEXTURE_SCISSOR) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_INTEL_TEXTURE_SCISSOR)) && !defined(REGAL_NO_DECLARATION_GL_INTEL_TEXTURE_SCISSOR)\n#define REGAL_NO_DECLARATION_GL_INTEL_TEXTURE_SCISSOR\n#endif\n\n#ifndef GL_INTEL_texture_scissor\n#define GL_INTEL_texture_scissor 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_INTEL_TEXTURE_SCISSOR\ntypedef void (REGAL_CALL *PFNGLTEXSCISSORFUNCINTELPROC)(GLenum target, GLenum lfunc, GLenum hfunc);\ntypedef void (REGAL_CALL *PFNGLTEXSCISSORINTELPROC)(GLenum target, GLclampf tlow, GLclampf thigh);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_INTEL_TEXTURE_SCISSOR\n#define glTexScissorFuncINTEL               rglTexScissorFuncINTEL\n#define glTexScissorINTEL                   rglTexScissorINTEL\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_INTEL_TEXTURE_SCISSOR\nREGAL_DECL void REGAL_CALL glTexScissorFuncINTEL(GLenum target, GLenum lfunc, GLenum hfunc);\nREGAL_DECL void REGAL_CALL glTexScissorINTEL(GLenum target, GLclampf tlow, GLclampf thigh);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_INTEL_TEXTURE_SCISSOR\nREGAL_DECL void REGAL_CALL plugin_glTexScissorFuncINTEL(GLenum target, GLenum lfunc, GLenum hfunc);\nREGAL_DECL void REGAL_CALL plugin_glTexScissorINTEL(GLenum target, GLclampf tlow, GLclampf thigh);\n#endif\n\n/**\n ** GL_KHR_debug\n **/\n\n#if (defined(GL_KHR_DEBUG) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_KHR_DEBUG)) && !defined(REGAL_NO_ENUM_GL_KHR_DEBUG)\n#define REGAL_NO_ENUM_GL_KHR_DEBUG\n#endif\n\n#if (defined(GL_KHR_DEBUG) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_KHR_DEBUG)) && !defined(REGAL_NO_TYPEDEF_GL_KHR_DEBUG)\n#define REGAL_NO_TYPEDEF_GL_KHR_DEBUG\n#endif\n\n#if (defined(GL_KHR_DEBUG) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_KHR_DEBUG)) && !defined(REGAL_NO_NAMESPACE_GL_KHR_DEBUG)\n#define REGAL_NO_NAMESPACE_GL_KHR_DEBUG\n#endif\n\n#if (defined(GL_KHR_DEBUG) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_KHR_DEBUG)) && !defined(REGAL_NO_PLUGIN_GL_KHR_DEBUG)\n#define REGAL_NO_PLUGIN_GL_KHR_DEBUG\n#endif\n\n#if (defined(GL_KHR_DEBUG) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_KHR_DEBUG)) && !defined(REGAL_NO_DECLARATION_GL_KHR_DEBUG)\n#define REGAL_NO_DECLARATION_GL_KHR_DEBUG\n#endif\n\n#ifndef GL_KHR_debug\n#define GL_KHR_debug 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_KHR_DEBUG\n#define GL_CONTEXT_FLAG_DEBUG_BIT           0x2\n#define GL_DEBUG_OUTPUT_SYNCHRONOUS         0x8242     /* 33346 */\n#define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH 0x8243     /* 33347 */\n#define GL_DEBUG_CALLBACK_FUNCTION          0x8244     /* 33348 */\n#define GL_DEBUG_CALLBACK_USER_PARAM        0x8245     /* 33349 */\n#define GL_DEBUG_SOURCE_API                 0x8246     /* 33350 */\n#define GL_DEBUG_SOURCE_WINDOW_SYSTEM       0x8247     /* 33351 */\n#define GL_DEBUG_SOURCE_SHADER_COMPILER     0x8248     /* 33352 */\n#define GL_DEBUG_SOURCE_THIRD_PARTY         0x8249     /* 33353 */\n#define GL_DEBUG_SOURCE_APPLICATION         0x824a     /* 33354 */\n#define GL_DEBUG_SOURCE_OTHER               0x824b     /* 33355 */\n#define GL_DEBUG_TYPE_ERROR                 0x824c     /* 33356 */\n#define GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR   0x824d     /* 33357 */\n#define GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR    0x824e     /* 33358 */\n#define GL_DEBUG_TYPE_PORTABILITY           0x824f     /* 33359 */\n#define GL_DEBUG_TYPE_PERFORMANCE           0x8250     /* 33360 */\n#define GL_DEBUG_TYPE_OTHER                 0x8251     /* 33361 */\n#define GL_DEBUG_TYPE_MARKER                0x8268     /* 33384 */\n#define GL_DEBUG_TYPE_PUSH_GROUP            0x8269     /* 33385 */\n#define GL_DEBUG_TYPE_POP_GROUP             0x826a     /* 33386 */\n#define GL_DEBUG_SEVERITY_NOTIFICATION      0x826b     /* 33387 */\n#define GL_MAX_DEBUG_GROUP_STACK_DEPTH      0x826c     /* 33388 */\n#define GL_DEBUG_GROUP_STACK_DEPTH          0x826d     /* 33389 */\n#define GL_BUFFER                           0x82e0     /* 33504 */\n#define GL_SHADER                           0x82e1     /* 33505 */\n#define GL_PROGRAM                          0x82e2     /* 33506 */\n#define GL_QUERY                            0x82e3     /* 33507 */\n#define GL_PROGRAM_PIPELINE                 0x82e4     /* 33508 */\n#define GL_SAMPLER                          0x82e6     /* 33510 */\n#define GL_DISPLAY_LIST                     0x82e7     /* 33511 */\n#define GL_MAX_LABEL_LENGTH                 0x82e8     /* 33512 */\n#define GL_MAX_DEBUG_MESSAGE_LENGTH         0x9143     /* 37187 */\n#define GL_MAX_DEBUG_LOGGED_MESSAGES        0x9144     /* 37188 */\n#define GL_DEBUG_LOGGED_MESSAGES            0x9145     /* 37189 */\n#define GL_DEBUG_SEVERITY_HIGH              0x9146     /* 37190 */\n#define GL_DEBUG_SEVERITY_MEDIUM            0x9147     /* 37191 */\n#define GL_DEBUG_SEVERITY_LOW               0x9148     /* 37192 */\n#define GL_DEBUG_OUTPUT                     0x92e0     /* 37600 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_KHR_DEBUG\ntypedef GLuint (REGAL_CALL *PFNGLGETDEBUGMESSAGELOGPROC)(GLuint count, GLsizei bufsize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);\ntypedef void (REGAL_CALL *PFNGLDEBUGMESSAGECALLBACKPROC)(GLDEBUGPROC callback, const GLvoid *userParam);\ntypedef void (REGAL_CALL *PFNGLDEBUGMESSAGECONTROLPROC)(GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);\ntypedef void (REGAL_CALL *PFNGLDEBUGMESSAGEINSERTPROC)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);\ntypedef void (REGAL_CALL *PFNGLGETOBJECTLABELPROC)(GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label);\ntypedef void (REGAL_CALL *PFNGLGETOBJECTPTRLABELPROC)(const GLvoid *ptr, GLsizei bufSize, GLsizei *length, GLchar *label);\ntypedef void (REGAL_CALL *PFNGLOBJECTLABELPROC)(GLenum identifier, GLuint name, GLsizei length, const GLchar *label);\ntypedef void (REGAL_CALL *PFNGLOBJECTPTRLABELPROC)(const GLvoid *ptr, GLsizei length, const GLchar *label);\ntypedef void (REGAL_CALL *PFNGLPOPDEBUGGROUPPROC)(void);\ntypedef void (REGAL_CALL *PFNGLPUSHDEBUGGROUPPROC)(GLenum source, GLuint id, GLsizei length, const GLchar *message);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_KHR_DEBUG\n#define glDebugMessageCallback              rglDebugMessageCallback\n#define glDebugMessageControl               rglDebugMessageControl\n#define glDebugMessageInsert                rglDebugMessageInsert\n#define glGetDebugMessageLog                rglGetDebugMessageLog\n#define glGetObjectLabel                    rglGetObjectLabel\n#define glGetObjectPtrLabel                 rglGetObjectPtrLabel\n#define glObjectLabel                       rglObjectLabel\n#define glObjectPtrLabel                    rglObjectPtrLabel\n#define glPopDebugGroup                     rglPopDebugGroup\n#define glPushDebugGroup                    rglPushDebugGroup\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_KHR_DEBUG\nREGAL_DECL GLuint REGAL_CALL glGetDebugMessageLog(GLuint count, GLsizei bufsize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);\nREGAL_DECL void REGAL_CALL glDebugMessageCallback(GLDEBUGPROC callback, const GLvoid *userParam);\nREGAL_DECL void REGAL_CALL glDebugMessageControl(GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);\nREGAL_DECL void REGAL_CALL glDebugMessageInsert(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);\nREGAL_DECL void REGAL_CALL glGetObjectLabel(GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label);\nREGAL_DECL void REGAL_CALL glGetObjectPtrLabel(const GLvoid *ptr, GLsizei bufSize, GLsizei *length, GLchar *label);\nREGAL_DECL void REGAL_CALL glObjectLabel(GLenum identifier, GLuint name, GLsizei length, const GLchar *label);\nREGAL_DECL void REGAL_CALL glObjectPtrLabel(const GLvoid *ptr, GLsizei length, const GLchar *label);\nREGAL_DECL void REGAL_CALL glPopDebugGroup(void);\nREGAL_DECL void REGAL_CALL glPushDebugGroup(GLenum source, GLuint id, GLsizei length, const GLchar *message);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_KHR_DEBUG\nREGAL_DECL GLuint REGAL_CALL plugin_glGetDebugMessageLog(GLuint count, GLsizei bufsize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);\nREGAL_DECL void REGAL_CALL plugin_glDebugMessageCallback(GLDEBUGPROC callback, const GLvoid *userParam);\nREGAL_DECL void REGAL_CALL plugin_glDebugMessageControl(GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);\nREGAL_DECL void REGAL_CALL plugin_glDebugMessageInsert(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);\nREGAL_DECL void REGAL_CALL plugin_glGetObjectLabel(GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label);\nREGAL_DECL void REGAL_CALL plugin_glGetObjectPtrLabel(const GLvoid *ptr, GLsizei bufSize, GLsizei *length, GLchar *label);\nREGAL_DECL void REGAL_CALL plugin_glObjectLabel(GLenum identifier, GLuint name, GLsizei length, const GLchar *label);\nREGAL_DECL void REGAL_CALL plugin_glObjectPtrLabel(const GLvoid *ptr, GLsizei length, const GLchar *label);\nREGAL_DECL void REGAL_CALL plugin_glPopDebugGroup(void);\nREGAL_DECL void REGAL_CALL plugin_glPushDebugGroup(GLenum source, GLuint id, GLsizei length, const GLchar *message);\n#endif\n\n/**\n ** GL_KHR_texture_compression_astc_ldr\n **/\n\n#if (defined(GL_KHR_TEXTURE_COMPRESSION_ASTC_LDR) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_KHR_TEXTURE_COMPRESSION_ASTC_LDR)) && !defined(REGAL_NO_ENUM_GL_KHR_TEXTURE_COMPRESSION_ASTC_LDR)\n#define REGAL_NO_ENUM_GL_KHR_TEXTURE_COMPRESSION_ASTC_LDR\n#endif\n\n#if (defined(GL_KHR_TEXTURE_COMPRESSION_ASTC_LDR) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_KHR_TEXTURE_COMPRESSION_ASTC_LDR)) && !defined(REGAL_NO_TYPEDEF_GL_KHR_TEXTURE_COMPRESSION_ASTC_LDR)\n#define REGAL_NO_TYPEDEF_GL_KHR_TEXTURE_COMPRESSION_ASTC_LDR\n#endif\n\n#if (defined(GL_KHR_TEXTURE_COMPRESSION_ASTC_LDR) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_KHR_TEXTURE_COMPRESSION_ASTC_LDR)) && !defined(REGAL_NO_NAMESPACE_GL_KHR_TEXTURE_COMPRESSION_ASTC_LDR)\n#define REGAL_NO_NAMESPACE_GL_KHR_TEXTURE_COMPRESSION_ASTC_LDR\n#endif\n\n#if (defined(GL_KHR_TEXTURE_COMPRESSION_ASTC_LDR) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_KHR_TEXTURE_COMPRESSION_ASTC_LDR)) && !defined(REGAL_NO_PLUGIN_GL_KHR_TEXTURE_COMPRESSION_ASTC_LDR)\n#define REGAL_NO_PLUGIN_GL_KHR_TEXTURE_COMPRESSION_ASTC_LDR\n#endif\n\n#if (defined(GL_KHR_TEXTURE_COMPRESSION_ASTC_LDR) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_KHR_TEXTURE_COMPRESSION_ASTC_LDR)) && !defined(REGAL_NO_DECLARATION_GL_KHR_TEXTURE_COMPRESSION_ASTC_LDR)\n#define REGAL_NO_DECLARATION_GL_KHR_TEXTURE_COMPRESSION_ASTC_LDR\n#endif\n\n#ifndef GL_KHR_texture_compression_astc_ldr\n#define GL_KHR_texture_compression_astc_ldr 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_KHR_TEXTURE_COMPRESSION_ASTC_LDR\n#define GL_COMPRESSED_RGBA_ASTC_4x4_KHR           0x93b0     /* 37808 */\n#define GL_COMPRESSED_RGBA_ASTC_5x4_KHR           0x93b1     /* 37809 */\n#define GL_COMPRESSED_RGBA_ASTC_5x5_KHR           0x93b2     /* 37810 */\n#define GL_COMPRESSED_RGBA_ASTC_6x5_KHR           0x93b3     /* 37811 */\n#define GL_COMPRESSED_RGBA_ASTC_6x6_KHR           0x93b4     /* 37812 */\n#define GL_COMPRESSED_RGBA_ASTC_8x5_KHR           0x93b5     /* 37813 */\n#define GL_COMPRESSED_RGBA_ASTC_8x6_KHR           0x93b6     /* 37814 */\n#define GL_COMPRESSED_RGBA_ASTC_8x8_KHR           0x93b7     /* 37815 */\n#define GL_COMPRESSED_RGBA_ASTC_10x5_KHR          0x93b8     /* 37816 */\n#define GL_COMPRESSED_RGBA_ASTC_10x6_KHR          0x93b9     /* 37817 */\n#define GL_COMPRESSED_RGBA_ASTC_10x8_KHR          0x93ba     /* 37818 */\n#define GL_COMPRESSED_RGBA_ASTC_10x10_KHR         0x93bb     /* 37819 */\n#define GL_COMPRESSED_RGBA_ASTC_12x10_KHR         0x93bc     /* 37820 */\n#define GL_COMPRESSED_RGBA_ASTC_12x12_KHR         0x93bd     /* 37821 */\n#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR   0x93d0     /* 37840 */\n#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR   0x93d1     /* 37841 */\n#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR   0x93d2     /* 37842 */\n#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR   0x93d3     /* 37843 */\n#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR   0x93d4     /* 37844 */\n#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR   0x93d5     /* 37845 */\n#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR   0x93d6     /* 37846 */\n#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR   0x93d7     /* 37847 */\n#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR  0x93d8     /* 37848 */\n#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR  0x93d9     /* 37849 */\n#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR  0x93da     /* 37850 */\n#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR 0x93db     /* 37851 */\n#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR 0x93dc     /* 37852 */\n#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR 0x93dd     /* 37853 */\n#endif\n\n/**\n ** GL_KTX_buffer_region\n **/\n\n#if (defined(GL_KTX_BUFFER_REGION) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_KTX_BUFFER_REGION)) && !defined(REGAL_NO_ENUM_GL_KTX_BUFFER_REGION)\n#define REGAL_NO_ENUM_GL_KTX_BUFFER_REGION\n#endif\n\n#if (defined(GL_KTX_BUFFER_REGION) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_KTX_BUFFER_REGION)) && !defined(REGAL_NO_TYPEDEF_GL_KTX_BUFFER_REGION)\n#define REGAL_NO_TYPEDEF_GL_KTX_BUFFER_REGION\n#endif\n\n#if (defined(GL_KTX_BUFFER_REGION) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_KTX_BUFFER_REGION)) && !defined(REGAL_NO_NAMESPACE_GL_KTX_BUFFER_REGION)\n#define REGAL_NO_NAMESPACE_GL_KTX_BUFFER_REGION\n#endif\n\n#if (defined(GL_KTX_BUFFER_REGION) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_KTX_BUFFER_REGION)) && !defined(REGAL_NO_PLUGIN_GL_KTX_BUFFER_REGION)\n#define REGAL_NO_PLUGIN_GL_KTX_BUFFER_REGION\n#endif\n\n#if (defined(GL_KTX_BUFFER_REGION) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_KTX_BUFFER_REGION)) && !defined(REGAL_NO_DECLARATION_GL_KTX_BUFFER_REGION)\n#define REGAL_NO_DECLARATION_GL_KTX_BUFFER_REGION\n#endif\n\n#ifndef GL_KTX_buffer_region\n#define GL_KTX_buffer_region 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_KTX_BUFFER_REGION\n#define GL_KTX_FRONT_REGION   0x0\n#define GL_KTX_BACK_REGION    0x1\n#define GL_KTX_Z_REGION       0x2\n#define GL_KTX_STENCIL_REGION 0x3\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_KTX_BUFFER_REGION\ntypedef GLuint (REGAL_CALL *PFNGLBUFFERREGIONENABLEDPROC)(void);\ntypedef GLuint (REGAL_CALL *PFNGLNEWBUFFERREGIONPROC)(GLenum region);\ntypedef void (REGAL_CALL *PFNGLDELETEBUFFERREGIONPROC)(GLenum region);\ntypedef void (REGAL_CALL *PFNGLDRAWBUFFERREGIONPROC)(GLuint region, GLint x, GLint y, GLsizei width, GLsizei height, GLint xDest, GLint yDest);\ntypedef void (REGAL_CALL *PFNGLREADBUFFERREGIONPROC)(GLuint region, GLint x, GLint y, GLsizei width, GLsizei height);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_KTX_BUFFER_REGION\n#define glBufferRegionEnabled               rglBufferRegionEnabled\n#define glDeleteBufferRegion                rglDeleteBufferRegion\n#define glDrawBufferRegion                  rglDrawBufferRegion\n#define glNewBufferRegion                   rglNewBufferRegion\n#define glReadBufferRegion                  rglReadBufferRegion\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_KTX_BUFFER_REGION\nREGAL_DECL GLuint REGAL_CALL glBufferRegionEnabled(void);\nREGAL_DECL GLuint REGAL_CALL glNewBufferRegion(GLenum region);\nREGAL_DECL void REGAL_CALL glDeleteBufferRegion(GLenum region);\nREGAL_DECL void REGAL_CALL glDrawBufferRegion(GLuint region, GLint x, GLint y, GLsizei width, GLsizei height, GLint xDest, GLint yDest);\nREGAL_DECL void REGAL_CALL glReadBufferRegion(GLuint region, GLint x, GLint y, GLsizei width, GLsizei height);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_KTX_BUFFER_REGION\nREGAL_DECL GLuint REGAL_CALL plugin_glBufferRegionEnabled(void);\nREGAL_DECL GLuint REGAL_CALL plugin_glNewBufferRegion(GLenum region);\nREGAL_DECL void REGAL_CALL plugin_glDeleteBufferRegion(GLenum region);\nREGAL_DECL void REGAL_CALL plugin_glDrawBufferRegion(GLuint region, GLint x, GLint y, GLsizei width, GLsizei height, GLint xDest, GLint yDest);\nREGAL_DECL void REGAL_CALL plugin_glReadBufferRegion(GLuint region, GLint x, GLint y, GLsizei width, GLsizei height);\n#endif\n\n/**\n ** GL_MESAX_texture_stack\n **/\n\n#if (defined(GL_MESAX_TEXTURE_STACK) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_MESAX_TEXTURE_STACK)) && !defined(REGAL_NO_ENUM_GL_MESAX_TEXTURE_STACK)\n#define REGAL_NO_ENUM_GL_MESAX_TEXTURE_STACK\n#endif\n\n#if (defined(GL_MESAX_TEXTURE_STACK) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_MESAX_TEXTURE_STACK)) && !defined(REGAL_NO_TYPEDEF_GL_MESAX_TEXTURE_STACK)\n#define REGAL_NO_TYPEDEF_GL_MESAX_TEXTURE_STACK\n#endif\n\n#if (defined(GL_MESAX_TEXTURE_STACK) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_MESAX_TEXTURE_STACK)) && !defined(REGAL_NO_NAMESPACE_GL_MESAX_TEXTURE_STACK)\n#define REGAL_NO_NAMESPACE_GL_MESAX_TEXTURE_STACK\n#endif\n\n#if (defined(GL_MESAX_TEXTURE_STACK) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_MESAX_TEXTURE_STACK)) && !defined(REGAL_NO_PLUGIN_GL_MESAX_TEXTURE_STACK)\n#define REGAL_NO_PLUGIN_GL_MESAX_TEXTURE_STACK\n#endif\n\n#if (defined(GL_MESAX_TEXTURE_STACK) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_MESAX_TEXTURE_STACK)) && !defined(REGAL_NO_DECLARATION_GL_MESAX_TEXTURE_STACK)\n#define REGAL_NO_DECLARATION_GL_MESAX_TEXTURE_STACK\n#endif\n\n#ifndef GL_MESAX_texture_stack\n#define GL_MESAX_texture_stack 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_MESAX_TEXTURE_STACK\n#define GL_TEXTURE_1D_STACK_MESAX         0x8759     /* 34649 */\n#define GL_TEXTURE_2D_STACK_MESAX         0x875a     /* 34650 */\n#define GL_PROXY_TEXTURE_1D_STACK_MESAX   0x875b     /* 34651 */\n#define GL_PROXY_TEXTURE_2D_STACK_MESAX   0x875c     /* 34652 */\n#define GL_TEXTURE_1D_STACK_BINDING_MESAX 0x875d     /* 34653 */\n#define GL_TEXTURE_2D_STACK_BINDING_MESAX 0x875e     /* 34654 */\n#endif\n\n/**\n ** GL_MESA_pack_invert\n **/\n\n#if (defined(GL_MESA_PACK_INVERT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_MESA_PACK_INVERT)) && !defined(REGAL_NO_ENUM_GL_MESA_PACK_INVERT)\n#define REGAL_NO_ENUM_GL_MESA_PACK_INVERT\n#endif\n\n#if (defined(GL_MESA_PACK_INVERT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_MESA_PACK_INVERT)) && !defined(REGAL_NO_TYPEDEF_GL_MESA_PACK_INVERT)\n#define REGAL_NO_TYPEDEF_GL_MESA_PACK_INVERT\n#endif\n\n#if (defined(GL_MESA_PACK_INVERT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_MESA_PACK_INVERT)) && !defined(REGAL_NO_NAMESPACE_GL_MESA_PACK_INVERT)\n#define REGAL_NO_NAMESPACE_GL_MESA_PACK_INVERT\n#endif\n\n#if (defined(GL_MESA_PACK_INVERT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_MESA_PACK_INVERT)) && !defined(REGAL_NO_PLUGIN_GL_MESA_PACK_INVERT)\n#define REGAL_NO_PLUGIN_GL_MESA_PACK_INVERT\n#endif\n\n#if (defined(GL_MESA_PACK_INVERT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_MESA_PACK_INVERT)) && !defined(REGAL_NO_DECLARATION_GL_MESA_PACK_INVERT)\n#define REGAL_NO_DECLARATION_GL_MESA_PACK_INVERT\n#endif\n\n#ifndef GL_MESA_pack_invert\n#define GL_MESA_pack_invert 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_MESA_PACK_INVERT\n#define GL_PACK_INVERT_MESA 0x8758 /* 34648 */\n#endif\n\n/**\n ** GL_MESA_resize_buffers\n **/\n\n#if (defined(GL_MESA_RESIZE_BUFFERS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_MESA_RESIZE_BUFFERS)) && !defined(REGAL_NO_ENUM_GL_MESA_RESIZE_BUFFERS)\n#define REGAL_NO_ENUM_GL_MESA_RESIZE_BUFFERS\n#endif\n\n#if (defined(GL_MESA_RESIZE_BUFFERS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_MESA_RESIZE_BUFFERS)) && !defined(REGAL_NO_TYPEDEF_GL_MESA_RESIZE_BUFFERS)\n#define REGAL_NO_TYPEDEF_GL_MESA_RESIZE_BUFFERS\n#endif\n\n#if (defined(GL_MESA_RESIZE_BUFFERS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_MESA_RESIZE_BUFFERS)) && !defined(REGAL_NO_NAMESPACE_GL_MESA_RESIZE_BUFFERS)\n#define REGAL_NO_NAMESPACE_GL_MESA_RESIZE_BUFFERS\n#endif\n\n#if (defined(GL_MESA_RESIZE_BUFFERS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_MESA_RESIZE_BUFFERS)) && !defined(REGAL_NO_PLUGIN_GL_MESA_RESIZE_BUFFERS)\n#define REGAL_NO_PLUGIN_GL_MESA_RESIZE_BUFFERS\n#endif\n\n#if (defined(GL_MESA_RESIZE_BUFFERS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_MESA_RESIZE_BUFFERS)) && !defined(REGAL_NO_DECLARATION_GL_MESA_RESIZE_BUFFERS)\n#define REGAL_NO_DECLARATION_GL_MESA_RESIZE_BUFFERS\n#endif\n\n#ifndef GL_MESA_resize_buffers\n#define GL_MESA_resize_buffers 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_MESA_RESIZE_BUFFERS\ntypedef void (REGAL_CALL *PFNGLRESIZEBUFFERSMESAPROC)(void);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_MESA_RESIZE_BUFFERS\n#define glResizeBuffersMESA                 rglResizeBuffersMESA\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_MESA_RESIZE_BUFFERS\nREGAL_DECL void REGAL_CALL glResizeBuffersMESA(void);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_MESA_RESIZE_BUFFERS\nREGAL_DECL void REGAL_CALL plugin_glResizeBuffersMESA(void);\n#endif\n\n/**\n ** GL_MESA_window_pos\n **/\n\n#if (defined(GL_MESA_WINDOW_POS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_MESA_WINDOW_POS)) && !defined(REGAL_NO_ENUM_GL_MESA_WINDOW_POS)\n#define REGAL_NO_ENUM_GL_MESA_WINDOW_POS\n#endif\n\n#if (defined(GL_MESA_WINDOW_POS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_MESA_WINDOW_POS)) && !defined(REGAL_NO_TYPEDEF_GL_MESA_WINDOW_POS)\n#define REGAL_NO_TYPEDEF_GL_MESA_WINDOW_POS\n#endif\n\n#if (defined(GL_MESA_WINDOW_POS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_MESA_WINDOW_POS)) && !defined(REGAL_NO_NAMESPACE_GL_MESA_WINDOW_POS)\n#define REGAL_NO_NAMESPACE_GL_MESA_WINDOW_POS\n#endif\n\n#if (defined(GL_MESA_WINDOW_POS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_MESA_WINDOW_POS)) && !defined(REGAL_NO_PLUGIN_GL_MESA_WINDOW_POS)\n#define REGAL_NO_PLUGIN_GL_MESA_WINDOW_POS\n#endif\n\n#if (defined(GL_MESA_WINDOW_POS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_MESA_WINDOW_POS)) && !defined(REGAL_NO_DECLARATION_GL_MESA_WINDOW_POS)\n#define REGAL_NO_DECLARATION_GL_MESA_WINDOW_POS\n#endif\n\n#ifndef GL_MESA_window_pos\n#define GL_MESA_window_pos 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_MESA_WINDOW_POS\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS2DMESAPROC)(GLdouble x, GLdouble y);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS2DVMESAPROC)(const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS2FMESAPROC)(GLfloat x, GLfloat y);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS2FVMESAPROC)(const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS2IMESAPROC)(GLint x, GLint y);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS2IVMESAPROC)(const GLint *v);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS2SMESAPROC)(GLshort x, GLshort y);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS2SVMESAPROC)(const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS3DMESAPROC)(GLdouble x, GLdouble y, GLdouble z);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS3DVMESAPROC)(const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS3FMESAPROC)(GLfloat x, GLfloat y, GLfloat z);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS3FVMESAPROC)(const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS3IMESAPROC)(GLint x, GLint y, GLint z);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS3IVMESAPROC)(const GLint *v);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS3SMESAPROC)(GLshort x, GLshort y, GLshort z);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS3SVMESAPROC)(const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS4DMESAPROC)(GLdouble x, GLdouble y, GLdouble z, GLdouble w);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS4DVMESAPROC)(const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS4FMESAPROC)(GLfloat x, GLfloat y, GLfloat z, GLfloat w);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS4FVMESAPROC)(const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS4IMESAPROC)(GLint x, GLint y, GLint z, GLint w);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS4IVMESAPROC)(const GLint *v);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS4SMESAPROC)(GLshort x, GLshort y, GLshort z, GLshort w);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS4SVMESAPROC)(const GLshort *v);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_MESA_WINDOW_POS\n#define glWindowPos2dMESA                   rglWindowPos2dMESA\n#define glWindowPos2dvMESA                  rglWindowPos2dvMESA\n#define glWindowPos2fMESA                   rglWindowPos2fMESA\n#define glWindowPos2fvMESA                  rglWindowPos2fvMESA\n#define glWindowPos2iMESA                   rglWindowPos2iMESA\n#define glWindowPos2ivMESA                  rglWindowPos2ivMESA\n#define glWindowPos2sMESA                   rglWindowPos2sMESA\n#define glWindowPos2svMESA                  rglWindowPos2svMESA\n#define glWindowPos3dMESA                   rglWindowPos3dMESA\n#define glWindowPos3dvMESA                  rglWindowPos3dvMESA\n#define glWindowPos3fMESA                   rglWindowPos3fMESA\n#define glWindowPos3fvMESA                  rglWindowPos3fvMESA\n#define glWindowPos3iMESA                   rglWindowPos3iMESA\n#define glWindowPos3ivMESA                  rglWindowPos3ivMESA\n#define glWindowPos3sMESA                   rglWindowPos3sMESA\n#define glWindowPos3svMESA                  rglWindowPos3svMESA\n#define glWindowPos4dMESA                   rglWindowPos4dMESA\n#define glWindowPos4dvMESA                  rglWindowPos4dvMESA\n#define glWindowPos4fMESA                   rglWindowPos4fMESA\n#define glWindowPos4fvMESA                  rglWindowPos4fvMESA\n#define glWindowPos4iMESA                   rglWindowPos4iMESA\n#define glWindowPos4ivMESA                  rglWindowPos4ivMESA\n#define glWindowPos4sMESA                   rglWindowPos4sMESA\n#define glWindowPos4svMESA                  rglWindowPos4svMESA\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_MESA_WINDOW_POS\nREGAL_DECL void REGAL_CALL glWindowPos2dMESA(GLdouble x, GLdouble y);\nREGAL_DECL void REGAL_CALL glWindowPos2dvMESA(const GLdouble *v);\nREGAL_DECL void REGAL_CALL glWindowPos2fMESA(GLfloat x, GLfloat y);\nREGAL_DECL void REGAL_CALL glWindowPos2fvMESA(const GLfloat *v);\nREGAL_DECL void REGAL_CALL glWindowPos2iMESA(GLint x, GLint y);\nREGAL_DECL void REGAL_CALL glWindowPos2ivMESA(const GLint *v);\nREGAL_DECL void REGAL_CALL glWindowPos2sMESA(GLshort x, GLshort y);\nREGAL_DECL void REGAL_CALL glWindowPos2svMESA(const GLshort *v);\nREGAL_DECL void REGAL_CALL glWindowPos3dMESA(GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL glWindowPos3dvMESA(const GLdouble *v);\nREGAL_DECL void REGAL_CALL glWindowPos3fMESA(GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL glWindowPos3fvMESA(const GLfloat *v);\nREGAL_DECL void REGAL_CALL glWindowPos3iMESA(GLint x, GLint y, GLint z);\nREGAL_DECL void REGAL_CALL glWindowPos3ivMESA(const GLint *v);\nREGAL_DECL void REGAL_CALL glWindowPos3sMESA(GLshort x, GLshort y, GLshort z);\nREGAL_DECL void REGAL_CALL glWindowPos3svMESA(const GLshort *v);\nREGAL_DECL void REGAL_CALL glWindowPos4dMESA(GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nREGAL_DECL void REGAL_CALL glWindowPos4dvMESA(const GLdouble *v);\nREGAL_DECL void REGAL_CALL glWindowPos4fMESA(GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nREGAL_DECL void REGAL_CALL glWindowPos4fvMESA(const GLfloat *v);\nREGAL_DECL void REGAL_CALL glWindowPos4iMESA(GLint x, GLint y, GLint z, GLint w);\nREGAL_DECL void REGAL_CALL glWindowPos4ivMESA(const GLint *v);\nREGAL_DECL void REGAL_CALL glWindowPos4sMESA(GLshort x, GLshort y, GLshort z, GLshort w);\nREGAL_DECL void REGAL_CALL glWindowPos4svMESA(const GLshort *v);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_MESA_WINDOW_POS\nREGAL_DECL void REGAL_CALL plugin_glWindowPos2dMESA(GLdouble x, GLdouble y);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos2dvMESA(const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos2fMESA(GLfloat x, GLfloat y);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos2fvMESA(const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos2iMESA(GLint x, GLint y);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos2ivMESA(const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos2sMESA(GLshort x, GLshort y);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos2svMESA(const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos3dMESA(GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos3dvMESA(const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos3fMESA(GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos3fvMESA(const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos3iMESA(GLint x, GLint y, GLint z);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos3ivMESA(const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos3sMESA(GLshort x, GLshort y, GLshort z);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos3svMESA(const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos4dMESA(GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos4dvMESA(const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos4fMESA(GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos4fvMESA(const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos4iMESA(GLint x, GLint y, GLint z, GLint w);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos4ivMESA(const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos4sMESA(GLshort x, GLshort y, GLshort z, GLshort w);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos4svMESA(const GLshort *v);\n#endif\n\n/**\n ** GL_MESA_ycbcr_texture\n **/\n\n#if (defined(GL_MESA_YCBCR_TEXTURE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_MESA_YCBCR_TEXTURE)) && !defined(REGAL_NO_ENUM_GL_MESA_YCBCR_TEXTURE)\n#define REGAL_NO_ENUM_GL_MESA_YCBCR_TEXTURE\n#endif\n\n#if (defined(GL_MESA_YCBCR_TEXTURE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_MESA_YCBCR_TEXTURE)) && !defined(REGAL_NO_TYPEDEF_GL_MESA_YCBCR_TEXTURE)\n#define REGAL_NO_TYPEDEF_GL_MESA_YCBCR_TEXTURE\n#endif\n\n#if (defined(GL_MESA_YCBCR_TEXTURE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_MESA_YCBCR_TEXTURE)) && !defined(REGAL_NO_NAMESPACE_GL_MESA_YCBCR_TEXTURE)\n#define REGAL_NO_NAMESPACE_GL_MESA_YCBCR_TEXTURE\n#endif\n\n#if (defined(GL_MESA_YCBCR_TEXTURE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_MESA_YCBCR_TEXTURE)) && !defined(REGAL_NO_PLUGIN_GL_MESA_YCBCR_TEXTURE)\n#define REGAL_NO_PLUGIN_GL_MESA_YCBCR_TEXTURE\n#endif\n\n#if (defined(GL_MESA_YCBCR_TEXTURE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_MESA_YCBCR_TEXTURE)) && !defined(REGAL_NO_DECLARATION_GL_MESA_YCBCR_TEXTURE)\n#define REGAL_NO_DECLARATION_GL_MESA_YCBCR_TEXTURE\n#endif\n\n#ifndef GL_MESA_ycbcr_texture\n#define GL_MESA_ycbcr_texture 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_MESA_YCBCR_TEXTURE\n#define GL_UNSIGNED_SHORT_8_8_MESA     0x85ba     /* 34234 */\n#define GL_UNSIGNED_SHORT_8_8_REV_MESA 0x85bb     /* 34235 */\n#define GL_YCBCR_MESA                  0x8757     /* 34647 */\n#endif\n\n/**\n ** GL_NVX_conditional_render\n **/\n\n#if (defined(GL_NVX_CONDITIONAL_RENDER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NVX_CONDITIONAL_RENDER)) && !defined(REGAL_NO_ENUM_GL_NVX_CONDITIONAL_RENDER)\n#define REGAL_NO_ENUM_GL_NVX_CONDITIONAL_RENDER\n#endif\n\n#if (defined(GL_NVX_CONDITIONAL_RENDER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NVX_CONDITIONAL_RENDER)) && !defined(REGAL_NO_TYPEDEF_GL_NVX_CONDITIONAL_RENDER)\n#define REGAL_NO_TYPEDEF_GL_NVX_CONDITIONAL_RENDER\n#endif\n\n#if (defined(GL_NVX_CONDITIONAL_RENDER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NVX_CONDITIONAL_RENDER)) && !defined(REGAL_NO_NAMESPACE_GL_NVX_CONDITIONAL_RENDER)\n#define REGAL_NO_NAMESPACE_GL_NVX_CONDITIONAL_RENDER\n#endif\n\n#if (defined(GL_NVX_CONDITIONAL_RENDER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NVX_CONDITIONAL_RENDER)) && !defined(REGAL_NO_PLUGIN_GL_NVX_CONDITIONAL_RENDER)\n#define REGAL_NO_PLUGIN_GL_NVX_CONDITIONAL_RENDER\n#endif\n\n#if (defined(GL_NVX_CONDITIONAL_RENDER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NVX_CONDITIONAL_RENDER)) && !defined(REGAL_NO_DECLARATION_GL_NVX_CONDITIONAL_RENDER)\n#define REGAL_NO_DECLARATION_GL_NVX_CONDITIONAL_RENDER\n#endif\n\n#ifndef GL_NVX_conditional_render\n#define GL_NVX_conditional_render 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_NVX_CONDITIONAL_RENDER\ntypedef void (REGAL_CALL *PFNGLBEGINCONDITIONALRENDERNVXPROC)(GLuint id);\ntypedef void (REGAL_CALL *PFNGLENDCONDITIONALRENDERNVXPROC)(void);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_NVX_CONDITIONAL_RENDER\n#define glBeginConditionalRenderNVX         rglBeginConditionalRenderNVX\n#define glEndConditionalRenderNVX           rglEndConditionalRenderNVX\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_NVX_CONDITIONAL_RENDER\nREGAL_DECL void REGAL_CALL glBeginConditionalRenderNVX(GLuint id);\nREGAL_DECL void REGAL_CALL glEndConditionalRenderNVX(void);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_NVX_CONDITIONAL_RENDER\nREGAL_DECL void REGAL_CALL plugin_glBeginConditionalRenderNVX(GLuint id);\nREGAL_DECL void REGAL_CALL plugin_glEndConditionalRenderNVX(void);\n#endif\n\n/**\n ** GL_NVX_gpu_memory_info\n **/\n\n#if (defined(GL_NVX_GPU_MEMORY_INFO) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NVX_GPU_MEMORY_INFO)) && !defined(REGAL_NO_ENUM_GL_NVX_GPU_MEMORY_INFO)\n#define REGAL_NO_ENUM_GL_NVX_GPU_MEMORY_INFO\n#endif\n\n#if (defined(GL_NVX_GPU_MEMORY_INFO) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NVX_GPU_MEMORY_INFO)) && !defined(REGAL_NO_TYPEDEF_GL_NVX_GPU_MEMORY_INFO)\n#define REGAL_NO_TYPEDEF_GL_NVX_GPU_MEMORY_INFO\n#endif\n\n#if (defined(GL_NVX_GPU_MEMORY_INFO) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NVX_GPU_MEMORY_INFO)) && !defined(REGAL_NO_NAMESPACE_GL_NVX_GPU_MEMORY_INFO)\n#define REGAL_NO_NAMESPACE_GL_NVX_GPU_MEMORY_INFO\n#endif\n\n#if (defined(GL_NVX_GPU_MEMORY_INFO) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NVX_GPU_MEMORY_INFO)) && !defined(REGAL_NO_PLUGIN_GL_NVX_GPU_MEMORY_INFO)\n#define REGAL_NO_PLUGIN_GL_NVX_GPU_MEMORY_INFO\n#endif\n\n#if (defined(GL_NVX_GPU_MEMORY_INFO) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NVX_GPU_MEMORY_INFO)) && !defined(REGAL_NO_DECLARATION_GL_NVX_GPU_MEMORY_INFO)\n#define REGAL_NO_DECLARATION_GL_NVX_GPU_MEMORY_INFO\n#endif\n\n#ifndef GL_NVX_gpu_memory_info\n#define GL_NVX_gpu_memory_info 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NVX_GPU_MEMORY_INFO\n#define GL_GPU_MEMORY_INFO_DEDICATED_VIDMEM_NVX         0x9047     /* 36935 */\n#define GL_GPU_MEMORY_INFO_TOTAL_AVAILABLE_MEMORY_NVX   0x9048     /* 36936 */\n#define GL_GPU_MEMORY_INFO_CURRENT_AVAILABLE_VIDMEM_NVX 0x9049     /* 36937 */\n#define GL_GPU_MEMORY_INFO_EVICTION_COUNT_NVX           0x904a     /* 36938 */\n#define GL_GPU_MEMORY_INFO_EVICTED_MEMORY_NVX           0x904b     /* 36939 */\n#endif\n\n/**\n ** GL_NV_3dvision_settings\n **/\n\n#if (defined(GL_NV_3DVISION_SETTINGS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_3DVISION_SETTINGS)) && !defined(REGAL_NO_ENUM_GL_NV_3DVISION_SETTINGS)\n#define REGAL_NO_ENUM_GL_NV_3DVISION_SETTINGS\n#endif\n\n#if (defined(GL_NV_3DVISION_SETTINGS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_3DVISION_SETTINGS)) && !defined(REGAL_NO_TYPEDEF_GL_NV_3DVISION_SETTINGS)\n#define REGAL_NO_TYPEDEF_GL_NV_3DVISION_SETTINGS\n#endif\n\n#if (defined(GL_NV_3DVISION_SETTINGS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_3DVISION_SETTINGS)) && !defined(REGAL_NO_NAMESPACE_GL_NV_3DVISION_SETTINGS)\n#define REGAL_NO_NAMESPACE_GL_NV_3DVISION_SETTINGS\n#endif\n\n#if (defined(GL_NV_3DVISION_SETTINGS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_3DVISION_SETTINGS)) && !defined(REGAL_NO_PLUGIN_GL_NV_3DVISION_SETTINGS)\n#define REGAL_NO_PLUGIN_GL_NV_3DVISION_SETTINGS\n#endif\n\n#if (defined(GL_NV_3DVISION_SETTINGS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_3DVISION_SETTINGS)) && !defined(REGAL_NO_DECLARATION_GL_NV_3DVISION_SETTINGS)\n#define REGAL_NO_DECLARATION_GL_NV_3DVISION_SETTINGS\n#endif\n\n#ifndef GL_NV_3dvision_settings\n#define GL_NV_3dvision_settings 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_3DVISION_SETTINGS\n#define GL_3DVISION_STEREO_NV               0x90f4     /* 37108 */\n#define GL_STEREO_SEPARATION_NV             0x90f5     /* 37109 */\n#define GL_STEREO_CONVERGENCE_NV            0x90f6     /* 37110 */\n#define GL_STEREO_CUTOFF_NV                 0x90f7     /* 37111 */\n#define GL_STEREO_PROJECTION_NV             0x90f8     /* 37112 */\n#define GL_STEREO_PROJECTION_PERSPECTIVE_NV 0x90f9     /* 37113 */\n#define GL_STEREO_PROJECTION_ORTHO_NV       0x90fa     /* 37114 */\n#endif\n\n/**\n ** GL_NV_bgr\n **/\n\n#if (defined(GL_NV_BGR) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_BGR)) && !defined(REGAL_NO_ENUM_GL_NV_BGR)\n#define REGAL_NO_ENUM_GL_NV_BGR\n#endif\n\n#if (defined(GL_NV_BGR) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_BGR)) && !defined(REGAL_NO_TYPEDEF_GL_NV_BGR)\n#define REGAL_NO_TYPEDEF_GL_NV_BGR\n#endif\n\n#if (defined(GL_NV_BGR) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_BGR)) && !defined(REGAL_NO_NAMESPACE_GL_NV_BGR)\n#define REGAL_NO_NAMESPACE_GL_NV_BGR\n#endif\n\n#if (defined(GL_NV_BGR) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_BGR)) && !defined(REGAL_NO_PLUGIN_GL_NV_BGR)\n#define REGAL_NO_PLUGIN_GL_NV_BGR\n#endif\n\n#if (defined(GL_NV_BGR) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_BGR)) && !defined(REGAL_NO_DECLARATION_GL_NV_BGR)\n#define REGAL_NO_DECLARATION_GL_NV_BGR\n#endif\n\n#ifndef GL_NV_bgr\n#define GL_NV_bgr 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_BGR\n#define GL_BGR_NV 0x80e0 /* 32992 */\n#endif\n\n/**\n ** GL_NV_bindless_texture\n **/\n\n#if (defined(GL_NV_BINDLESS_TEXTURE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_BINDLESS_TEXTURE)) && !defined(REGAL_NO_ENUM_GL_NV_BINDLESS_TEXTURE)\n#define REGAL_NO_ENUM_GL_NV_BINDLESS_TEXTURE\n#endif\n\n#if (defined(GL_NV_BINDLESS_TEXTURE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_BINDLESS_TEXTURE)) && !defined(REGAL_NO_TYPEDEF_GL_NV_BINDLESS_TEXTURE)\n#define REGAL_NO_TYPEDEF_GL_NV_BINDLESS_TEXTURE\n#endif\n\n#if (defined(GL_NV_BINDLESS_TEXTURE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_BINDLESS_TEXTURE)) && !defined(REGAL_NO_NAMESPACE_GL_NV_BINDLESS_TEXTURE)\n#define REGAL_NO_NAMESPACE_GL_NV_BINDLESS_TEXTURE\n#endif\n\n#if (defined(GL_NV_BINDLESS_TEXTURE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_BINDLESS_TEXTURE)) && !defined(REGAL_NO_PLUGIN_GL_NV_BINDLESS_TEXTURE)\n#define REGAL_NO_PLUGIN_GL_NV_BINDLESS_TEXTURE\n#endif\n\n#if (defined(GL_NV_BINDLESS_TEXTURE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_BINDLESS_TEXTURE)) && !defined(REGAL_NO_DECLARATION_GL_NV_BINDLESS_TEXTURE)\n#define REGAL_NO_DECLARATION_GL_NV_BINDLESS_TEXTURE\n#endif\n\n#ifndef GL_NV_bindless_texture\n#define GL_NV_bindless_texture 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_NV_BINDLESS_TEXTURE\ntypedef GLboolean (REGAL_CALL *PFNGLISIMAGEHANDLERESIDENTNVPROC)(GLuint64 handle);\ntypedef GLboolean (REGAL_CALL *PFNGLISTEXTUREHANDLERESIDENTNVPROC)(GLuint64 handle);\ntypedef GLuint64 (REGAL_CALL *PFNGLGETIMAGEHANDLENVPROC)(GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum format);\ntypedef GLuint64 (REGAL_CALL *PFNGLGETTEXTUREHANDLENVPROC)(GLuint texture);\ntypedef GLuint64 (REGAL_CALL *PFNGLGETTEXTURESAMPLERHANDLENVPROC)(GLuint texture, GLuint sampler);\ntypedef void (REGAL_CALL *PFNGLMAKEIMAGEHANDLENONRESIDENTNVPROC)(GLuint64 handle);\ntypedef void (REGAL_CALL *PFNGLMAKEIMAGEHANDLERESIDENTNVPROC)(GLuint64 handle, GLenum access);\ntypedef void (REGAL_CALL *PFNGLMAKETEXTUREHANDLENONRESIDENTNVPROC)(GLuint64 handle);\ntypedef void (REGAL_CALL *PFNGLMAKETEXTUREHANDLERESIDENTNVPROC)(GLuint64 handle);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMHANDLEUI64NVPROC)(GLuint program, GLint location, GLuint64 value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMHANDLEUI64VNVPROC)(GLuint program, GLint location, GLsizei count, const GLuint64 *values);\ntypedef void (REGAL_CALL *PFNGLUNIFORMHANDLEUI64NVPROC)(GLint location, GLuint64 value);\ntypedef void (REGAL_CALL *PFNGLUNIFORMHANDLEUI64VNVPROC)(GLint location, GLsizei count, const GLuint64 *value);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_NV_BINDLESS_TEXTURE\n#define glGetImageHandleNV                  rglGetImageHandleNV\n#define glGetTextureHandleNV                rglGetTextureHandleNV\n#define glGetTextureSamplerHandleNV         rglGetTextureSamplerHandleNV\n#define glIsImageHandleResidentNV           rglIsImageHandleResidentNV\n#define glIsTextureHandleResidentNV         rglIsTextureHandleResidentNV\n#define glMakeImageHandleNonResidentNV      rglMakeImageHandleNonResidentNV\n#define glMakeImageHandleResidentNV         rglMakeImageHandleResidentNV\n#define glMakeTextureHandleNonResidentNV    rglMakeTextureHandleNonResidentNV\n#define glMakeTextureHandleResidentNV       rglMakeTextureHandleResidentNV\n#define glProgramUniformHandleui64NV        rglProgramUniformHandleui64NV\n#define glProgramUniformHandleui64vNV       rglProgramUniformHandleui64vNV\n#define glUniformHandleui64NV               rglUniformHandleui64NV\n#define glUniformHandleui64vNV              rglUniformHandleui64vNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_NV_BINDLESS_TEXTURE\nREGAL_DECL GLboolean REGAL_CALL glIsImageHandleResidentNV(GLuint64 handle);\nREGAL_DECL GLboolean REGAL_CALL glIsTextureHandleResidentNV(GLuint64 handle);\nREGAL_DECL GLuint64 REGAL_CALL glGetImageHandleNV(GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum format);\nREGAL_DECL GLuint64 REGAL_CALL glGetTextureHandleNV(GLuint texture);\nREGAL_DECL GLuint64 REGAL_CALL glGetTextureSamplerHandleNV(GLuint texture, GLuint sampler);\nREGAL_DECL void REGAL_CALL glMakeImageHandleNonResidentNV(GLuint64 handle);\nREGAL_DECL void REGAL_CALL glMakeImageHandleResidentNV(GLuint64 handle, GLenum access);\nREGAL_DECL void REGAL_CALL glMakeTextureHandleNonResidentNV(GLuint64 handle);\nREGAL_DECL void REGAL_CALL glMakeTextureHandleResidentNV(GLuint64 handle);\nREGAL_DECL void REGAL_CALL glProgramUniformHandleui64NV(GLuint program, GLint location, GLuint64 value);\nREGAL_DECL void REGAL_CALL glProgramUniformHandleui64vNV(GLuint program, GLint location, GLsizei count, const GLuint64 *values);\nREGAL_DECL void REGAL_CALL glUniformHandleui64NV(GLint location, GLuint64 value);\nREGAL_DECL void REGAL_CALL glUniformHandleui64vNV(GLint location, GLsizei count, const GLuint64 *value);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_NV_BINDLESS_TEXTURE\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsImageHandleResidentNV(GLuint64 handle);\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsTextureHandleResidentNV(GLuint64 handle);\nREGAL_DECL GLuint64 REGAL_CALL plugin_glGetImageHandleNV(GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum format);\nREGAL_DECL GLuint64 REGAL_CALL plugin_glGetTextureHandleNV(GLuint texture);\nREGAL_DECL GLuint64 REGAL_CALL plugin_glGetTextureSamplerHandleNV(GLuint texture, GLuint sampler);\nREGAL_DECL void REGAL_CALL plugin_glMakeImageHandleNonResidentNV(GLuint64 handle);\nREGAL_DECL void REGAL_CALL plugin_glMakeImageHandleResidentNV(GLuint64 handle, GLenum access);\nREGAL_DECL void REGAL_CALL plugin_glMakeTextureHandleNonResidentNV(GLuint64 handle);\nREGAL_DECL void REGAL_CALL plugin_glMakeTextureHandleResidentNV(GLuint64 handle);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformHandleui64NV(GLuint program, GLint location, GLuint64 value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformHandleui64vNV(GLuint program, GLint location, GLsizei count, const GLuint64 *values);\nREGAL_DECL void REGAL_CALL plugin_glUniformHandleui64NV(GLint location, GLuint64 value);\nREGAL_DECL void REGAL_CALL plugin_glUniformHandleui64vNV(GLint location, GLsizei count, const GLuint64 *value);\n#endif\n\n/**\n ** GL_NV_compute_program5\n **/\n\n#if (defined(GL_NV_COMPUTE_PROGRAM5) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_COMPUTE_PROGRAM5)) && !defined(REGAL_NO_ENUM_GL_NV_COMPUTE_PROGRAM5)\n#define REGAL_NO_ENUM_GL_NV_COMPUTE_PROGRAM5\n#endif\n\n#if (defined(GL_NV_COMPUTE_PROGRAM5) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_COMPUTE_PROGRAM5)) && !defined(REGAL_NO_TYPEDEF_GL_NV_COMPUTE_PROGRAM5)\n#define REGAL_NO_TYPEDEF_GL_NV_COMPUTE_PROGRAM5\n#endif\n\n#if (defined(GL_NV_COMPUTE_PROGRAM5) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_COMPUTE_PROGRAM5)) && !defined(REGAL_NO_NAMESPACE_GL_NV_COMPUTE_PROGRAM5)\n#define REGAL_NO_NAMESPACE_GL_NV_COMPUTE_PROGRAM5\n#endif\n\n#if (defined(GL_NV_COMPUTE_PROGRAM5) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_COMPUTE_PROGRAM5)) && !defined(REGAL_NO_PLUGIN_GL_NV_COMPUTE_PROGRAM5)\n#define REGAL_NO_PLUGIN_GL_NV_COMPUTE_PROGRAM5\n#endif\n\n#if (defined(GL_NV_COMPUTE_PROGRAM5) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_COMPUTE_PROGRAM5)) && !defined(REGAL_NO_DECLARATION_GL_NV_COMPUTE_PROGRAM5)\n#define REGAL_NO_DECLARATION_GL_NV_COMPUTE_PROGRAM5\n#endif\n\n#ifndef GL_NV_compute_program5\n#define GL_NV_compute_program5 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_COMPUTE_PROGRAM5\n#define GL_COMPUTE_PROGRAM_NV                  0x90fb     /* 37115 */\n#define GL_COMPUTE_PROGRAM_PARAMETER_BUFFER_NV 0x90fc     /* 37116 */\n#endif\n\n/**\n ** GL_NV_conditional_render\n **/\n\n#if (defined(GL_NV_CONDITIONAL_RENDER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_CONDITIONAL_RENDER)) && !defined(REGAL_NO_ENUM_GL_NV_CONDITIONAL_RENDER)\n#define REGAL_NO_ENUM_GL_NV_CONDITIONAL_RENDER\n#endif\n\n#if (defined(GL_NV_CONDITIONAL_RENDER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_CONDITIONAL_RENDER)) && !defined(REGAL_NO_TYPEDEF_GL_NV_CONDITIONAL_RENDER)\n#define REGAL_NO_TYPEDEF_GL_NV_CONDITIONAL_RENDER\n#endif\n\n#if (defined(GL_NV_CONDITIONAL_RENDER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_CONDITIONAL_RENDER)) && !defined(REGAL_NO_NAMESPACE_GL_NV_CONDITIONAL_RENDER)\n#define REGAL_NO_NAMESPACE_GL_NV_CONDITIONAL_RENDER\n#endif\n\n#if (defined(GL_NV_CONDITIONAL_RENDER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_CONDITIONAL_RENDER)) && !defined(REGAL_NO_PLUGIN_GL_NV_CONDITIONAL_RENDER)\n#define REGAL_NO_PLUGIN_GL_NV_CONDITIONAL_RENDER\n#endif\n\n#if (defined(GL_NV_CONDITIONAL_RENDER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_CONDITIONAL_RENDER)) && !defined(REGAL_NO_DECLARATION_GL_NV_CONDITIONAL_RENDER)\n#define REGAL_NO_DECLARATION_GL_NV_CONDITIONAL_RENDER\n#endif\n\n#ifndef GL_NV_conditional_render\n#define GL_NV_conditional_render 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_CONDITIONAL_RENDER\n#define GL_QUERY_WAIT_NV              0x8e13     /* 36371 */\n#define GL_QUERY_NO_WAIT_NV           0x8e14     /* 36372 */\n#define GL_QUERY_BY_REGION_WAIT_NV    0x8e15     /* 36373 */\n#define GL_QUERY_BY_REGION_NO_WAIT_NV 0x8e16     /* 36374 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_NV_CONDITIONAL_RENDER\ntypedef void (REGAL_CALL *PFNGLBEGINCONDITIONALRENDERNVPROC)(GLuint id, GLenum mode);\ntypedef void (REGAL_CALL *PFNGLENDCONDITIONALRENDERNVPROC)(void);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_NV_CONDITIONAL_RENDER\n#define glBeginConditionalRenderNV          rglBeginConditionalRenderNV\n#define glEndConditionalRenderNV            rglEndConditionalRenderNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_NV_CONDITIONAL_RENDER\nREGAL_DECL void REGAL_CALL glBeginConditionalRenderNV(GLuint id, GLenum mode);\nREGAL_DECL void REGAL_CALL glEndConditionalRenderNV(void);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_NV_CONDITIONAL_RENDER\nREGAL_DECL void REGAL_CALL plugin_glBeginConditionalRenderNV(GLuint id, GLenum mode);\nREGAL_DECL void REGAL_CALL plugin_glEndConditionalRenderNV(void);\n#endif\n\n/**\n ** GL_NV_copy_depth_to_color\n **/\n\n#if (defined(GL_NV_COPY_DEPTH_TO_COLOR) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_COPY_DEPTH_TO_COLOR)) && !defined(REGAL_NO_ENUM_GL_NV_COPY_DEPTH_TO_COLOR)\n#define REGAL_NO_ENUM_GL_NV_COPY_DEPTH_TO_COLOR\n#endif\n\n#if (defined(GL_NV_COPY_DEPTH_TO_COLOR) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_COPY_DEPTH_TO_COLOR)) && !defined(REGAL_NO_TYPEDEF_GL_NV_COPY_DEPTH_TO_COLOR)\n#define REGAL_NO_TYPEDEF_GL_NV_COPY_DEPTH_TO_COLOR\n#endif\n\n#if (defined(GL_NV_COPY_DEPTH_TO_COLOR) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_COPY_DEPTH_TO_COLOR)) && !defined(REGAL_NO_NAMESPACE_GL_NV_COPY_DEPTH_TO_COLOR)\n#define REGAL_NO_NAMESPACE_GL_NV_COPY_DEPTH_TO_COLOR\n#endif\n\n#if (defined(GL_NV_COPY_DEPTH_TO_COLOR) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_COPY_DEPTH_TO_COLOR)) && !defined(REGAL_NO_PLUGIN_GL_NV_COPY_DEPTH_TO_COLOR)\n#define REGAL_NO_PLUGIN_GL_NV_COPY_DEPTH_TO_COLOR\n#endif\n\n#if (defined(GL_NV_COPY_DEPTH_TO_COLOR) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_COPY_DEPTH_TO_COLOR)) && !defined(REGAL_NO_DECLARATION_GL_NV_COPY_DEPTH_TO_COLOR)\n#define REGAL_NO_DECLARATION_GL_NV_COPY_DEPTH_TO_COLOR\n#endif\n\n#ifndef GL_NV_copy_depth_to_color\n#define GL_NV_copy_depth_to_color 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_COPY_DEPTH_TO_COLOR\n#define GL_DEPTH_STENCIL_TO_RGBA_NV 0x886e     /* 34926 */\n#define GL_DEPTH_STENCIL_TO_BGRA_NV 0x886f     /* 34927 */\n#endif\n\n/**\n ** GL_NV_copy_image\n **/\n\n#if (defined(GL_NV_COPY_IMAGE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_COPY_IMAGE)) && !defined(REGAL_NO_ENUM_GL_NV_COPY_IMAGE)\n#define REGAL_NO_ENUM_GL_NV_COPY_IMAGE\n#endif\n\n#if (defined(GL_NV_COPY_IMAGE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_COPY_IMAGE)) && !defined(REGAL_NO_TYPEDEF_GL_NV_COPY_IMAGE)\n#define REGAL_NO_TYPEDEF_GL_NV_COPY_IMAGE\n#endif\n\n#if (defined(GL_NV_COPY_IMAGE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_COPY_IMAGE)) && !defined(REGAL_NO_NAMESPACE_GL_NV_COPY_IMAGE)\n#define REGAL_NO_NAMESPACE_GL_NV_COPY_IMAGE\n#endif\n\n#if (defined(GL_NV_COPY_IMAGE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_COPY_IMAGE)) && !defined(REGAL_NO_PLUGIN_GL_NV_COPY_IMAGE)\n#define REGAL_NO_PLUGIN_GL_NV_COPY_IMAGE\n#endif\n\n#if (defined(GL_NV_COPY_IMAGE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_COPY_IMAGE)) && !defined(REGAL_NO_DECLARATION_GL_NV_COPY_IMAGE)\n#define REGAL_NO_DECLARATION_GL_NV_COPY_IMAGE\n#endif\n\n#ifndef GL_NV_copy_image\n#define GL_NV_copy_image 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_NV_COPY_IMAGE\ntypedef void (REGAL_CALL *PFNGLCOPYIMAGESUBDATANVPROC)(GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_NV_COPY_IMAGE\n#define glCopyImageSubDataNV                rglCopyImageSubDataNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_NV_COPY_IMAGE\nREGAL_DECL void REGAL_CALL glCopyImageSubDataNV(GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_NV_COPY_IMAGE\nREGAL_DECL void REGAL_CALL plugin_glCopyImageSubDataNV(GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth);\n#endif\n\n/**\n ** GL_NV_coverage_sample\n **/\n\n#if (defined(GL_NV_COVERAGE_SAMPLE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_COVERAGE_SAMPLE)) && !defined(REGAL_NO_ENUM_GL_NV_COVERAGE_SAMPLE)\n#define REGAL_NO_ENUM_GL_NV_COVERAGE_SAMPLE\n#endif\n\n#if (defined(GL_NV_COVERAGE_SAMPLE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_COVERAGE_SAMPLE)) && !defined(REGAL_NO_TYPEDEF_GL_NV_COVERAGE_SAMPLE)\n#define REGAL_NO_TYPEDEF_GL_NV_COVERAGE_SAMPLE\n#endif\n\n#if (defined(GL_NV_COVERAGE_SAMPLE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_COVERAGE_SAMPLE)) && !defined(REGAL_NO_NAMESPACE_GL_NV_COVERAGE_SAMPLE)\n#define REGAL_NO_NAMESPACE_GL_NV_COVERAGE_SAMPLE\n#endif\n\n#if (defined(GL_NV_COVERAGE_SAMPLE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_COVERAGE_SAMPLE)) && !defined(REGAL_NO_PLUGIN_GL_NV_COVERAGE_SAMPLE)\n#define REGAL_NO_PLUGIN_GL_NV_COVERAGE_SAMPLE\n#endif\n\n#if (defined(GL_NV_COVERAGE_SAMPLE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_COVERAGE_SAMPLE)) && !defined(REGAL_NO_DECLARATION_GL_NV_COVERAGE_SAMPLE)\n#define REGAL_NO_DECLARATION_GL_NV_COVERAGE_SAMPLE\n#endif\n\n#ifndef GL_NV_coverage_sample\n#define GL_NV_coverage_sample 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_COVERAGE_SAMPLE\n#define GL_EGL_COVERAGE_BUFFERS_NV    0x30e0     /* 12512 */\n#define GL_EGL_COVERAGE_SAMPLES_NV    0x30e1     /* 12513 */\n#define GL_COVERAGE_BUFFER_BIT_NV     0x8000     /* 32768 */\n#define GL_COVERAGE_COMPONENT_NV      0x8ed0     /* 36560 */\n#define GL_COVERAGE_COMPONENT4_NV     0x8ed1     /* 36561 */\n#define GL_COVERAGE_ATTACHMENT_NV     0x8ed2     /* 36562 */\n#define GL_COVERAGE_BUFFERS_NV        0x8ed3     /* 36563 */\n#define GL_COVERAGE_ALL_FRAGMENTS_NV  0x8ed5     /* 36565 */\n#define GL_COVERAGE_EDGE_FRAGMENTS_NV 0x8ed6     /* 36566 */\n#define GL_COVERAGE_AUTOMATIC_NV      0x8ed7     /* 36567 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_NV_COVERAGE_SAMPLE\ntypedef void (REGAL_CALL *PFNGLCOVERAGEMASKNVPROC)(GLboolean mask);\ntypedef void (REGAL_CALL *PFNGLCOVERAGEOPERATIONNVPROC)(GLenum operation);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_NV_COVERAGE_SAMPLE\n#define glCoverageMaskNV                    rglCoverageMaskNV\n#define glCoverageOperationNV               rglCoverageOperationNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_NV_COVERAGE_SAMPLE\nREGAL_DECL void REGAL_CALL glCoverageMaskNV(GLboolean mask);\nREGAL_DECL void REGAL_CALL glCoverageOperationNV(GLenum operation);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_NV_COVERAGE_SAMPLE\nREGAL_DECL void REGAL_CALL plugin_glCoverageMaskNV(GLboolean mask);\nREGAL_DECL void REGAL_CALL plugin_glCoverageOperationNV(GLenum operation);\n#endif\n\n/**\n ** GL_NV_deep_texture3D\n **/\n\n#if (defined(GL_NV_DEEP_TEXTURE3D) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_DEEP_TEXTURE3D)) && !defined(REGAL_NO_ENUM_GL_NV_DEEP_TEXTURE3D)\n#define REGAL_NO_ENUM_GL_NV_DEEP_TEXTURE3D\n#endif\n\n#if (defined(GL_NV_DEEP_TEXTURE3D) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_DEEP_TEXTURE3D)) && !defined(REGAL_NO_TYPEDEF_GL_NV_DEEP_TEXTURE3D)\n#define REGAL_NO_TYPEDEF_GL_NV_DEEP_TEXTURE3D\n#endif\n\n#if (defined(GL_NV_DEEP_TEXTURE3D) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_DEEP_TEXTURE3D)) && !defined(REGAL_NO_NAMESPACE_GL_NV_DEEP_TEXTURE3D)\n#define REGAL_NO_NAMESPACE_GL_NV_DEEP_TEXTURE3D\n#endif\n\n#if (defined(GL_NV_DEEP_TEXTURE3D) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_DEEP_TEXTURE3D)) && !defined(REGAL_NO_PLUGIN_GL_NV_DEEP_TEXTURE3D)\n#define REGAL_NO_PLUGIN_GL_NV_DEEP_TEXTURE3D\n#endif\n\n#if (defined(GL_NV_DEEP_TEXTURE3D) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_DEEP_TEXTURE3D)) && !defined(REGAL_NO_DECLARATION_GL_NV_DEEP_TEXTURE3D)\n#define REGAL_NO_DECLARATION_GL_NV_DEEP_TEXTURE3D\n#endif\n\n#ifndef GL_NV_deep_texture3D\n#define GL_NV_deep_texture3D 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_DEEP_TEXTURE3D\n#define GL_MAX_DEEP_3D_TEXTURE_WIDTH_HEIGHT_NV 0x90d0     /* 37072 */\n#define GL_MAX_DEEP_3D_TEXTURE_DEPTH_NV        0x90d1     /* 37073 */\n#endif\n\n/**\n ** GL_NV_depth_buffer_float\n **/\n\n#if (defined(GL_NV_DEPTH_BUFFER_FLOAT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_DEPTH_BUFFER_FLOAT)) && !defined(REGAL_NO_ENUM_GL_NV_DEPTH_BUFFER_FLOAT)\n#define REGAL_NO_ENUM_GL_NV_DEPTH_BUFFER_FLOAT\n#endif\n\n#if (defined(GL_NV_DEPTH_BUFFER_FLOAT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_DEPTH_BUFFER_FLOAT)) && !defined(REGAL_NO_TYPEDEF_GL_NV_DEPTH_BUFFER_FLOAT)\n#define REGAL_NO_TYPEDEF_GL_NV_DEPTH_BUFFER_FLOAT\n#endif\n\n#if (defined(GL_NV_DEPTH_BUFFER_FLOAT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_DEPTH_BUFFER_FLOAT)) && !defined(REGAL_NO_NAMESPACE_GL_NV_DEPTH_BUFFER_FLOAT)\n#define REGAL_NO_NAMESPACE_GL_NV_DEPTH_BUFFER_FLOAT\n#endif\n\n#if (defined(GL_NV_DEPTH_BUFFER_FLOAT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_DEPTH_BUFFER_FLOAT)) && !defined(REGAL_NO_PLUGIN_GL_NV_DEPTH_BUFFER_FLOAT)\n#define REGAL_NO_PLUGIN_GL_NV_DEPTH_BUFFER_FLOAT\n#endif\n\n#if (defined(GL_NV_DEPTH_BUFFER_FLOAT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_DEPTH_BUFFER_FLOAT)) && !defined(REGAL_NO_DECLARATION_GL_NV_DEPTH_BUFFER_FLOAT)\n#define REGAL_NO_DECLARATION_GL_NV_DEPTH_BUFFER_FLOAT\n#endif\n\n#ifndef GL_NV_depth_buffer_float\n#define GL_NV_depth_buffer_float 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_DEPTH_BUFFER_FLOAT\n#define GL_DEPTH_COMPONENT32F_NV             0x8dab     /* 36267 */\n#define GL_DEPTH32F_STENCIL8_NV              0x8dac     /* 36268 */\n#define GL_FLOAT_32_UNSIGNED_INT_24_8_REV_NV 0x8dad     /* 36269 */\n#define GL_DEPTH_BUFFER_FLOAT_MODE_NV        0x8daf     /* 36271 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_NV_DEPTH_BUFFER_FLOAT\ntypedef void (REGAL_CALL *PFNGLCLEARDEPTHDNVPROC)(GLdouble depth);\ntypedef void (REGAL_CALL *PFNGLDEPTHBOUNDSDNVPROC)(GLdouble zmin, GLdouble zmax);\ntypedef void (REGAL_CALL *PFNGLDEPTHRANGEDNVPROC)(GLdouble zNear, GLdouble zFar);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_NV_DEPTH_BUFFER_FLOAT\n#define glClearDepthdNV                     rglClearDepthdNV\n#define glDepthBoundsdNV                    rglDepthBoundsdNV\n#define glDepthRangedNV                     rglDepthRangedNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_NV_DEPTH_BUFFER_FLOAT\nREGAL_DECL void REGAL_CALL glClearDepthdNV(GLdouble depth);\nREGAL_DECL void REGAL_CALL glDepthBoundsdNV(GLdouble zmin, GLdouble zmax);\nREGAL_DECL void REGAL_CALL glDepthRangedNV(GLdouble zNear, GLdouble zFar);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_NV_DEPTH_BUFFER_FLOAT\nREGAL_DECL void REGAL_CALL plugin_glClearDepthdNV(GLdouble depth);\nREGAL_DECL void REGAL_CALL plugin_glDepthBoundsdNV(GLdouble zmin, GLdouble zmax);\nREGAL_DECL void REGAL_CALL plugin_glDepthRangedNV(GLdouble zNear, GLdouble zFar);\n#endif\n\n/**\n ** GL_NV_depth_clamp\n **/\n\n#if (defined(GL_NV_DEPTH_CLAMP) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_DEPTH_CLAMP)) && !defined(REGAL_NO_ENUM_GL_NV_DEPTH_CLAMP)\n#define REGAL_NO_ENUM_GL_NV_DEPTH_CLAMP\n#endif\n\n#if (defined(GL_NV_DEPTH_CLAMP) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_DEPTH_CLAMP)) && !defined(REGAL_NO_TYPEDEF_GL_NV_DEPTH_CLAMP)\n#define REGAL_NO_TYPEDEF_GL_NV_DEPTH_CLAMP\n#endif\n\n#if (defined(GL_NV_DEPTH_CLAMP) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_DEPTH_CLAMP)) && !defined(REGAL_NO_NAMESPACE_GL_NV_DEPTH_CLAMP)\n#define REGAL_NO_NAMESPACE_GL_NV_DEPTH_CLAMP\n#endif\n\n#if (defined(GL_NV_DEPTH_CLAMP) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_DEPTH_CLAMP)) && !defined(REGAL_NO_PLUGIN_GL_NV_DEPTH_CLAMP)\n#define REGAL_NO_PLUGIN_GL_NV_DEPTH_CLAMP\n#endif\n\n#if (defined(GL_NV_DEPTH_CLAMP) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_DEPTH_CLAMP)) && !defined(REGAL_NO_DECLARATION_GL_NV_DEPTH_CLAMP)\n#define REGAL_NO_DECLARATION_GL_NV_DEPTH_CLAMP\n#endif\n\n#ifndef GL_NV_depth_clamp\n#define GL_NV_depth_clamp 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_DEPTH_CLAMP\n#define GL_DEPTH_CLAMP_NV 0x864f /* 34383 */\n#endif\n\n/**\n ** GL_NV_depth_nonlinear\n **/\n\n#if (defined(GL_NV_DEPTH_NONLINEAR) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_DEPTH_NONLINEAR)) && !defined(REGAL_NO_ENUM_GL_NV_DEPTH_NONLINEAR)\n#define REGAL_NO_ENUM_GL_NV_DEPTH_NONLINEAR\n#endif\n\n#if (defined(GL_NV_DEPTH_NONLINEAR) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_DEPTH_NONLINEAR)) && !defined(REGAL_NO_TYPEDEF_GL_NV_DEPTH_NONLINEAR)\n#define REGAL_NO_TYPEDEF_GL_NV_DEPTH_NONLINEAR\n#endif\n\n#if (defined(GL_NV_DEPTH_NONLINEAR) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_DEPTH_NONLINEAR)) && !defined(REGAL_NO_NAMESPACE_GL_NV_DEPTH_NONLINEAR)\n#define REGAL_NO_NAMESPACE_GL_NV_DEPTH_NONLINEAR\n#endif\n\n#if (defined(GL_NV_DEPTH_NONLINEAR) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_DEPTH_NONLINEAR)) && !defined(REGAL_NO_PLUGIN_GL_NV_DEPTH_NONLINEAR)\n#define REGAL_NO_PLUGIN_GL_NV_DEPTH_NONLINEAR\n#endif\n\n#if (defined(GL_NV_DEPTH_NONLINEAR) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_DEPTH_NONLINEAR)) && !defined(REGAL_NO_DECLARATION_GL_NV_DEPTH_NONLINEAR)\n#define REGAL_NO_DECLARATION_GL_NV_DEPTH_NONLINEAR\n#endif\n\n#ifndef GL_NV_depth_nonlinear\n#define GL_NV_depth_nonlinear 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_DEPTH_NONLINEAR\n#define GL_EGL_DEPTH_ENCODING_NONE_NV      0x0\n#define GL_EGL_DEPTH_ENCODING_NV           0x30e2     /* 12514 */\n#define GL_EGL_DEPTH_ENCODING_NONLINEAR_NV 0x30e3     /* 12515 */\n#define GL_DEPTH_COMPONENT16_NONLINEAR_NV  0x8e2c     /* 36396 */\n#endif\n\n/**\n ** GL_NV_depth_range_unclamped\n **/\n\n#if (defined(GL_NV_DEPTH_RANGE_UNCLAMPED) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_DEPTH_RANGE_UNCLAMPED)) && !defined(REGAL_NO_ENUM_GL_NV_DEPTH_RANGE_UNCLAMPED)\n#define REGAL_NO_ENUM_GL_NV_DEPTH_RANGE_UNCLAMPED\n#endif\n\n#if (defined(GL_NV_DEPTH_RANGE_UNCLAMPED) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_DEPTH_RANGE_UNCLAMPED)) && !defined(REGAL_NO_TYPEDEF_GL_NV_DEPTH_RANGE_UNCLAMPED)\n#define REGAL_NO_TYPEDEF_GL_NV_DEPTH_RANGE_UNCLAMPED\n#endif\n\n#if (defined(GL_NV_DEPTH_RANGE_UNCLAMPED) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_DEPTH_RANGE_UNCLAMPED)) && !defined(REGAL_NO_NAMESPACE_GL_NV_DEPTH_RANGE_UNCLAMPED)\n#define REGAL_NO_NAMESPACE_GL_NV_DEPTH_RANGE_UNCLAMPED\n#endif\n\n#if (defined(GL_NV_DEPTH_RANGE_UNCLAMPED) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_DEPTH_RANGE_UNCLAMPED)) && !defined(REGAL_NO_PLUGIN_GL_NV_DEPTH_RANGE_UNCLAMPED)\n#define REGAL_NO_PLUGIN_GL_NV_DEPTH_RANGE_UNCLAMPED\n#endif\n\n#if (defined(GL_NV_DEPTH_RANGE_UNCLAMPED) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_DEPTH_RANGE_UNCLAMPED)) && !defined(REGAL_NO_DECLARATION_GL_NV_DEPTH_RANGE_UNCLAMPED)\n#define REGAL_NO_DECLARATION_GL_NV_DEPTH_RANGE_UNCLAMPED\n#endif\n\n#ifndef GL_NV_depth_range_unclamped\n#define GL_NV_depth_range_unclamped 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_DEPTH_RANGE_UNCLAMPED\n#define GL_SAMPLE_COUNT_BITS_NV          0x8864     /* 34916 */\n#define GL_CURRENT_SAMPLE_COUNT_QUERY_NV 0x8865     /* 34917 */\n#define GL_QUERY_RESULT_NV               0x8866     /* 34918 */\n#define GL_QUERY_RESULT_AVAILABLE_NV     0x8867     /* 34919 */\n#define GL_SAMPLE_COUNT_NV               0x8914     /* 35092 */\n#endif\n\n/**\n ** GL_NV_draw_buffers\n **/\n\n#if (defined(GL_NV_DRAW_BUFFERS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_DRAW_BUFFERS)) && !defined(REGAL_NO_ENUM_GL_NV_DRAW_BUFFERS)\n#define REGAL_NO_ENUM_GL_NV_DRAW_BUFFERS\n#endif\n\n#if (defined(GL_NV_DRAW_BUFFERS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_DRAW_BUFFERS)) && !defined(REGAL_NO_TYPEDEF_GL_NV_DRAW_BUFFERS)\n#define REGAL_NO_TYPEDEF_GL_NV_DRAW_BUFFERS\n#endif\n\n#if (defined(GL_NV_DRAW_BUFFERS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_DRAW_BUFFERS)) && !defined(REGAL_NO_NAMESPACE_GL_NV_DRAW_BUFFERS)\n#define REGAL_NO_NAMESPACE_GL_NV_DRAW_BUFFERS\n#endif\n\n#if (defined(GL_NV_DRAW_BUFFERS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_DRAW_BUFFERS)) && !defined(REGAL_NO_PLUGIN_GL_NV_DRAW_BUFFERS)\n#define REGAL_NO_PLUGIN_GL_NV_DRAW_BUFFERS\n#endif\n\n#if (defined(GL_NV_DRAW_BUFFERS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_DRAW_BUFFERS)) && !defined(REGAL_NO_DECLARATION_GL_NV_DRAW_BUFFERS)\n#define REGAL_NO_DECLARATION_GL_NV_DRAW_BUFFERS\n#endif\n\n#ifndef GL_NV_draw_buffers\n#define GL_NV_draw_buffers 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_DRAW_BUFFERS\n#define GL_MAX_DRAW_BUFFERS_NV 0x8824     /* 34852 */\n#define GL_DRAW_BUFFER0_NV     0x8825     /* 34853 */\n#define GL_DRAW_BUFFER1_NV     0x8826     /* 34854 */\n#define GL_DRAW_BUFFER2_NV     0x8827     /* 34855 */\n#define GL_DRAW_BUFFER3_NV     0x8828     /* 34856 */\n#define GL_DRAW_BUFFER4_NV     0x8829     /* 34857 */\n#define GL_DRAW_BUFFER5_NV     0x882a     /* 34858 */\n#define GL_DRAW_BUFFER6_NV     0x882b     /* 34859 */\n#define GL_DRAW_BUFFER7_NV     0x882c     /* 34860 */\n#define GL_DRAW_BUFFER8_NV     0x882d     /* 34861 */\n#define GL_DRAW_BUFFER9_NV     0x882e     /* 34862 */\n#define GL_DRAW_BUFFER10_NV    0x882f     /* 34863 */\n#define GL_DRAW_BUFFER11_NV    0x8830     /* 34864 */\n#define GL_DRAW_BUFFER12_NV    0x8831     /* 34865 */\n#define GL_DRAW_BUFFER13_NV    0x8832     /* 34866 */\n#define GL_DRAW_BUFFER14_NV    0x8833     /* 34867 */\n#define GL_DRAW_BUFFER15_NV    0x8834     /* 34868 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_NV_DRAW_BUFFERS\ntypedef void (REGAL_CALL *PFNGLDRAWBUFFERSNVPROC)(GLsizei n, const GLenum *bufs);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_NV_DRAW_BUFFERS\n#define glDrawBuffersNV                     rglDrawBuffersNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_NV_DRAW_BUFFERS\nREGAL_DECL void REGAL_CALL glDrawBuffersNV(GLsizei n, const GLenum *bufs);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_NV_DRAW_BUFFERS\nREGAL_DECL void REGAL_CALL plugin_glDrawBuffersNV(GLsizei n, const GLenum *bufs);\n#endif\n\n/**\n ** GL_NV_draw_texture\n **/\n\n#if (defined(GL_NV_DRAW_TEXTURE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_DRAW_TEXTURE)) && !defined(REGAL_NO_ENUM_GL_NV_DRAW_TEXTURE)\n#define REGAL_NO_ENUM_GL_NV_DRAW_TEXTURE\n#endif\n\n#if (defined(GL_NV_DRAW_TEXTURE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_DRAW_TEXTURE)) && !defined(REGAL_NO_TYPEDEF_GL_NV_DRAW_TEXTURE)\n#define REGAL_NO_TYPEDEF_GL_NV_DRAW_TEXTURE\n#endif\n\n#if (defined(GL_NV_DRAW_TEXTURE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_DRAW_TEXTURE)) && !defined(REGAL_NO_NAMESPACE_GL_NV_DRAW_TEXTURE)\n#define REGAL_NO_NAMESPACE_GL_NV_DRAW_TEXTURE\n#endif\n\n#if (defined(GL_NV_DRAW_TEXTURE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_DRAW_TEXTURE)) && !defined(REGAL_NO_PLUGIN_GL_NV_DRAW_TEXTURE)\n#define REGAL_NO_PLUGIN_GL_NV_DRAW_TEXTURE\n#endif\n\n#if (defined(GL_NV_DRAW_TEXTURE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_DRAW_TEXTURE)) && !defined(REGAL_NO_DECLARATION_GL_NV_DRAW_TEXTURE)\n#define REGAL_NO_DECLARATION_GL_NV_DRAW_TEXTURE\n#endif\n\n#ifndef GL_NV_draw_texture\n#define GL_NV_draw_texture 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_NV_DRAW_TEXTURE\ntypedef void (REGAL_CALL *PFNGLDRAWTEXTURENVPROC)(GLuint texture, GLuint sampler, GLfloat x0, GLfloat y0, GLfloat x1, GLfloat y1, GLfloat z, GLfloat s0, GLfloat t0, GLfloat s1, GLfloat t1);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_NV_DRAW_TEXTURE\n#define glDrawTextureNV                     rglDrawTextureNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_NV_DRAW_TEXTURE\nREGAL_DECL void REGAL_CALL glDrawTextureNV(GLuint texture, GLuint sampler, GLfloat x0, GLfloat y0, GLfloat x1, GLfloat y1, GLfloat z, GLfloat s0, GLfloat t0, GLfloat s1, GLfloat t1);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_NV_DRAW_TEXTURE\nREGAL_DECL void REGAL_CALL plugin_glDrawTextureNV(GLuint texture, GLuint sampler, GLfloat x0, GLfloat y0, GLfloat x1, GLfloat y1, GLfloat z, GLfloat s0, GLfloat t0, GLfloat s1, GLfloat t1);\n#endif\n\n/**\n ** GL_NV_evaluators\n **/\n\n#if (defined(GL_NV_EVALUATORS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_EVALUATORS)) && !defined(REGAL_NO_ENUM_GL_NV_EVALUATORS)\n#define REGAL_NO_ENUM_GL_NV_EVALUATORS\n#endif\n\n#if (defined(GL_NV_EVALUATORS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_EVALUATORS)) && !defined(REGAL_NO_TYPEDEF_GL_NV_EVALUATORS)\n#define REGAL_NO_TYPEDEF_GL_NV_EVALUATORS\n#endif\n\n#if (defined(GL_NV_EVALUATORS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_EVALUATORS)) && !defined(REGAL_NO_NAMESPACE_GL_NV_EVALUATORS)\n#define REGAL_NO_NAMESPACE_GL_NV_EVALUATORS\n#endif\n\n#if (defined(GL_NV_EVALUATORS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_EVALUATORS)) && !defined(REGAL_NO_PLUGIN_GL_NV_EVALUATORS)\n#define REGAL_NO_PLUGIN_GL_NV_EVALUATORS\n#endif\n\n#if (defined(GL_NV_EVALUATORS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_EVALUATORS)) && !defined(REGAL_NO_DECLARATION_GL_NV_EVALUATORS)\n#define REGAL_NO_DECLARATION_GL_NV_EVALUATORS\n#endif\n\n#ifndef GL_NV_evaluators\n#define GL_NV_evaluators 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_EVALUATORS\n#define GL_EVAL_2D_NV                      0x86c0     /* 34496 */\n#define GL_EVAL_TRIANGULAR_2D_NV           0x86c1     /* 34497 */\n#define GL_MAP_TESSELLATION_NV             0x86c2     /* 34498 */\n#define GL_MAP_ATTRIB_U_ORDER_NV           0x86c3     /* 34499 */\n#define GL_MAP_ATTRIB_V_ORDER_NV           0x86c4     /* 34500 */\n#define GL_EVAL_FRACTIONAL_TESSELLATION_NV 0x86c5     /* 34501 */\n#define GL_EVAL_VERTEX_ATTRIB0_NV          0x86c6     /* 34502 */\n#define GL_EVAL_VERTEX_ATTRIB1_NV          0x86c7     /* 34503 */\n#define GL_EVAL_VERTEX_ATTRIB2_NV          0x86c8     /* 34504 */\n#define GL_EVAL_VERTEX_ATTRIB3_NV          0x86c9     /* 34505 */\n#define GL_EVAL_VERTEX_ATTRIB4_NV          0x86ca     /* 34506 */\n#define GL_EVAL_VERTEX_ATTRIB5_NV          0x86cb     /* 34507 */\n#define GL_EVAL_VERTEX_ATTRIB6_NV          0x86cc     /* 34508 */\n#define GL_EVAL_VERTEX_ATTRIB7_NV          0x86cd     /* 34509 */\n#define GL_EVAL_VERTEX_ATTRIB8_NV          0x86ce     /* 34510 */\n#define GL_EVAL_VERTEX_ATTRIB9_NV          0x86cf     /* 34511 */\n#define GL_EVAL_VERTEX_ATTRIB10_NV         0x86d0     /* 34512 */\n#define GL_EVAL_VERTEX_ATTRIB11_NV         0x86d1     /* 34513 */\n#define GL_EVAL_VERTEX_ATTRIB12_NV         0x86d2     /* 34514 */\n#define GL_EVAL_VERTEX_ATTRIB13_NV         0x86d3     /* 34515 */\n#define GL_EVAL_VERTEX_ATTRIB14_NV         0x86d4     /* 34516 */\n#define GL_EVAL_VERTEX_ATTRIB15_NV         0x86d5     /* 34517 */\n#define GL_MAX_MAP_TESSELLATION_NV         0x86d6     /* 34518 */\n#define GL_MAX_RATIONAL_EVAL_ORDER_NV      0x86d7     /* 34519 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_NV_EVALUATORS\ntypedef void (REGAL_CALL *PFNGLEVALMAPSNVPROC)(GLenum target, GLenum mode);\ntypedef void (REGAL_CALL *PFNGLGETMAPATTRIBPARAMETERFVNVPROC)(GLenum target, GLuint index, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETMAPATTRIBPARAMETERIVNVPROC)(GLenum target, GLuint index, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETMAPCONTROLPOINTSNVPROC)(GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLboolean packed, GLvoid *points);\ntypedef void (REGAL_CALL *PFNGLGETMAPPARAMETERFVNVPROC)(GLenum target, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETMAPPARAMETERIVNVPROC)(GLenum target, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLMAPCONTROLPOINTSNVPROC)(GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLint uorder, GLint vorder, GLboolean packed, const GLvoid *points);\ntypedef void (REGAL_CALL *PFNGLMAPPARAMETERFVNVPROC)(GLenum target, GLenum pname, const GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLMAPPARAMETERIVNVPROC)(GLenum target, GLenum pname, const GLint *params);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_NV_EVALUATORS\n#define glEvalMapsNV                        rglEvalMapsNV\n#define glGetMapAttribParameterfvNV         rglGetMapAttribParameterfvNV\n#define glGetMapAttribParameterivNV         rglGetMapAttribParameterivNV\n#define glGetMapControlPointsNV             rglGetMapControlPointsNV\n#define glGetMapParameterfvNV               rglGetMapParameterfvNV\n#define glGetMapParameterivNV               rglGetMapParameterivNV\n#define glMapControlPointsNV                rglMapControlPointsNV\n#define glMapParameterfvNV                  rglMapParameterfvNV\n#define glMapParameterivNV                  rglMapParameterivNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_NV_EVALUATORS\nREGAL_DECL void REGAL_CALL glEvalMapsNV(GLenum target, GLenum mode);\nREGAL_DECL void REGAL_CALL glGetMapAttribParameterfvNV(GLenum target, GLuint index, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetMapAttribParameterivNV(GLenum target, GLuint index, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetMapControlPointsNV(GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLboolean packed, GLvoid *points);\nREGAL_DECL void REGAL_CALL glGetMapParameterfvNV(GLenum target, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetMapParameterivNV(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glMapControlPointsNV(GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLint uorder, GLint vorder, GLboolean packed, const GLvoid *points);\nREGAL_DECL void REGAL_CALL glMapParameterfvNV(GLenum target, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL glMapParameterivNV(GLenum target, GLenum pname, const GLint *params);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_NV_EVALUATORS\nREGAL_DECL void REGAL_CALL plugin_glEvalMapsNV(GLenum target, GLenum mode);\nREGAL_DECL void REGAL_CALL plugin_glGetMapAttribParameterfvNV(GLenum target, GLuint index, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetMapAttribParameterivNV(GLenum target, GLuint index, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetMapControlPointsNV(GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLboolean packed, GLvoid *points);\nREGAL_DECL void REGAL_CALL plugin_glGetMapParameterfvNV(GLenum target, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetMapParameterivNV(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glMapControlPointsNV(GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLint uorder, GLint vorder, GLboolean packed, const GLvoid *points);\nREGAL_DECL void REGAL_CALL plugin_glMapParameterfvNV(GLenum target, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glMapParameterivNV(GLenum target, GLenum pname, const GLint *params);\n#endif\n\n/**\n ** GL_NV_explicit_multisample\n **/\n\n#if (defined(GL_NV_EXPLICIT_MULTISAMPLE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_EXPLICIT_MULTISAMPLE)) && !defined(REGAL_NO_ENUM_GL_NV_EXPLICIT_MULTISAMPLE)\n#define REGAL_NO_ENUM_GL_NV_EXPLICIT_MULTISAMPLE\n#endif\n\n#if (defined(GL_NV_EXPLICIT_MULTISAMPLE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_EXPLICIT_MULTISAMPLE)) && !defined(REGAL_NO_TYPEDEF_GL_NV_EXPLICIT_MULTISAMPLE)\n#define REGAL_NO_TYPEDEF_GL_NV_EXPLICIT_MULTISAMPLE\n#endif\n\n#if (defined(GL_NV_EXPLICIT_MULTISAMPLE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_EXPLICIT_MULTISAMPLE)) && !defined(REGAL_NO_NAMESPACE_GL_NV_EXPLICIT_MULTISAMPLE)\n#define REGAL_NO_NAMESPACE_GL_NV_EXPLICIT_MULTISAMPLE\n#endif\n\n#if (defined(GL_NV_EXPLICIT_MULTISAMPLE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_EXPLICIT_MULTISAMPLE)) && !defined(REGAL_NO_PLUGIN_GL_NV_EXPLICIT_MULTISAMPLE)\n#define REGAL_NO_PLUGIN_GL_NV_EXPLICIT_MULTISAMPLE\n#endif\n\n#if (defined(GL_NV_EXPLICIT_MULTISAMPLE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_EXPLICIT_MULTISAMPLE)) && !defined(REGAL_NO_DECLARATION_GL_NV_EXPLICIT_MULTISAMPLE)\n#define REGAL_NO_DECLARATION_GL_NV_EXPLICIT_MULTISAMPLE\n#endif\n\n#ifndef GL_NV_explicit_multisample\n#define GL_NV_explicit_multisample 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_EXPLICIT_MULTISAMPLE\n#define GL_SAMPLE_POSITION_NV                         0x8e50     /* 36432 */\n#define GL_SAMPLE_MASK_NV                             0x8e51     /* 36433 */\n#define GL_SAMPLE_MASK_VALUE_NV                       0x8e52     /* 36434 */\n#define GL_TEXTURE_BINDING_RENDERBUFFER_NV            0x8e53     /* 36435 */\n#define GL_TEXTURE_RENDERBUFFER_DATA_STORE_BINDING_NV 0x8e54     /* 36436 */\n#define GL_TEXTURE_RENDERBUFFER_NV                    0x8e55     /* 36437 */\n#define GL_SAMPLER_RENDERBUFFER_NV                    0x8e56     /* 36438 */\n#define GL_INT_SAMPLER_RENDERBUFFER_NV                0x8e57     /* 36439 */\n#define GL_UNSIGNED_INT_SAMPLER_RENDERBUFFER_NV       0x8e58     /* 36440 */\n#define GL_MAX_SAMPLE_MASK_WORDS_NV                   0x8e59     /* 36441 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_NV_EXPLICIT_MULTISAMPLE\ntypedef void (REGAL_CALL *PFNGLGETMULTISAMPLEFVNVPROC)(GLenum pname, GLuint index, GLfloat *val);\ntypedef void (REGAL_CALL *PFNGLSAMPLEMASKINDEXEDNVPROC)(GLuint index, GLbitfield mask);\ntypedef void (REGAL_CALL *PFNGLTEXRENDERBUFFERNVPROC)(GLenum target, GLuint renderbuffer);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_NV_EXPLICIT_MULTISAMPLE\n#define glGetMultisamplefvNV                rglGetMultisamplefvNV\n#define glSampleMaskIndexedNV               rglSampleMaskIndexedNV\n#define glTexRenderbufferNV                 rglTexRenderbufferNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_NV_EXPLICIT_MULTISAMPLE\nREGAL_DECL void REGAL_CALL glGetMultisamplefvNV(GLenum pname, GLuint index, GLfloat *val);\nREGAL_DECL void REGAL_CALL glSampleMaskIndexedNV(GLuint index, GLbitfield mask);\nREGAL_DECL void REGAL_CALL glTexRenderbufferNV(GLenum target, GLuint renderbuffer);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_NV_EXPLICIT_MULTISAMPLE\nREGAL_DECL void REGAL_CALL plugin_glGetMultisamplefvNV(GLenum pname, GLuint index, GLfloat *val);\nREGAL_DECL void REGAL_CALL plugin_glSampleMaskIndexedNV(GLuint index, GLbitfield mask);\nREGAL_DECL void REGAL_CALL plugin_glTexRenderbufferNV(GLenum target, GLuint renderbuffer);\n#endif\n\n/**\n ** GL_NV_fbo_color_attachments\n **/\n\n#if (defined(GL_NV_FBO_COLOR_ATTACHMENTS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_FBO_COLOR_ATTACHMENTS)) && !defined(REGAL_NO_ENUM_GL_NV_FBO_COLOR_ATTACHMENTS)\n#define REGAL_NO_ENUM_GL_NV_FBO_COLOR_ATTACHMENTS\n#endif\n\n#if (defined(GL_NV_FBO_COLOR_ATTACHMENTS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_FBO_COLOR_ATTACHMENTS)) && !defined(REGAL_NO_TYPEDEF_GL_NV_FBO_COLOR_ATTACHMENTS)\n#define REGAL_NO_TYPEDEF_GL_NV_FBO_COLOR_ATTACHMENTS\n#endif\n\n#if (defined(GL_NV_FBO_COLOR_ATTACHMENTS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_FBO_COLOR_ATTACHMENTS)) && !defined(REGAL_NO_NAMESPACE_GL_NV_FBO_COLOR_ATTACHMENTS)\n#define REGAL_NO_NAMESPACE_GL_NV_FBO_COLOR_ATTACHMENTS\n#endif\n\n#if (defined(GL_NV_FBO_COLOR_ATTACHMENTS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_FBO_COLOR_ATTACHMENTS)) && !defined(REGAL_NO_PLUGIN_GL_NV_FBO_COLOR_ATTACHMENTS)\n#define REGAL_NO_PLUGIN_GL_NV_FBO_COLOR_ATTACHMENTS\n#endif\n\n#if (defined(GL_NV_FBO_COLOR_ATTACHMENTS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_FBO_COLOR_ATTACHMENTS)) && !defined(REGAL_NO_DECLARATION_GL_NV_FBO_COLOR_ATTACHMENTS)\n#define REGAL_NO_DECLARATION_GL_NV_FBO_COLOR_ATTACHMENTS\n#endif\n\n#ifndef GL_NV_fbo_color_attachments\n#define GL_NV_fbo_color_attachments 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_FBO_COLOR_ATTACHMENTS\n#define GL_MAX_COLOR_ATTACHMENTS_NV 0x8cdf     /* 36063 */\n#define GL_COLOR_ATTACHMENT0_NV     0x8ce0     /* 36064 */\n#define GL_COLOR_ATTACHMENT1_NV     0x8ce1     /* 36065 */\n#define GL_COLOR_ATTACHMENT2_NV     0x8ce2     /* 36066 */\n#define GL_COLOR_ATTACHMENT3_NV     0x8ce3     /* 36067 */\n#define GL_COLOR_ATTACHMENT4_NV     0x8ce4     /* 36068 */\n#define GL_COLOR_ATTACHMENT5_NV     0x8ce5     /* 36069 */\n#define GL_COLOR_ATTACHMENT6_NV     0x8ce6     /* 36070 */\n#define GL_COLOR_ATTACHMENT7_NV     0x8ce7     /* 36071 */\n#define GL_COLOR_ATTACHMENT8_NV     0x8ce8     /* 36072 */\n#define GL_COLOR_ATTACHMENT9_NV     0x8ce9     /* 36073 */\n#define GL_COLOR_ATTACHMENT10_NV    0x8cea     /* 36074 */\n#define GL_COLOR_ATTACHMENT11_NV    0x8ceb     /* 36075 */\n#define GL_COLOR_ATTACHMENT12_NV    0x8cec     /* 36076 */\n#define GL_COLOR_ATTACHMENT13_NV    0x8ced     /* 36077 */\n#define GL_COLOR_ATTACHMENT14_NV    0x8cee     /* 36078 */\n#define GL_COLOR_ATTACHMENT15_NV    0x8cef     /* 36079 */\n#endif\n\n/**\n ** GL_NV_fence\n **/\n\n#if (defined(GL_NV_FENCE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_FENCE)) && !defined(REGAL_NO_ENUM_GL_NV_FENCE)\n#define REGAL_NO_ENUM_GL_NV_FENCE\n#endif\n\n#if (defined(GL_NV_FENCE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_FENCE)) && !defined(REGAL_NO_TYPEDEF_GL_NV_FENCE)\n#define REGAL_NO_TYPEDEF_GL_NV_FENCE\n#endif\n\n#if (defined(GL_NV_FENCE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_FENCE)) && !defined(REGAL_NO_NAMESPACE_GL_NV_FENCE)\n#define REGAL_NO_NAMESPACE_GL_NV_FENCE\n#endif\n\n#if (defined(GL_NV_FENCE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_FENCE)) && !defined(REGAL_NO_PLUGIN_GL_NV_FENCE)\n#define REGAL_NO_PLUGIN_GL_NV_FENCE\n#endif\n\n#if (defined(GL_NV_FENCE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_FENCE)) && !defined(REGAL_NO_DECLARATION_GL_NV_FENCE)\n#define REGAL_NO_DECLARATION_GL_NV_FENCE\n#endif\n\n#ifndef GL_NV_fence\n#define GL_NV_fence 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_FENCE\n#define GL_ALL_COMPLETED_NV   0x84f2     /* 34034 */\n#define GL_FENCE_STATUS_NV    0x84f3     /* 34035 */\n#define GL_FENCE_CONDITION_NV 0x84f4     /* 34036 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_NV_FENCE\ntypedef GLboolean (REGAL_CALL *PFNGLISFENCENVPROC)(GLuint fence);\ntypedef GLboolean (REGAL_CALL *PFNGLTESTFENCENVPROC)(GLuint fence);\ntypedef void (REGAL_CALL *PFNGLDELETEFENCESNVPROC)(GLsizei n, const GLuint *fences);\ntypedef void (REGAL_CALL *PFNGLFINISHFENCENVPROC)(GLuint fence);\ntypedef void (REGAL_CALL *PFNGLGENFENCESNVPROC)(GLsizei n, GLuint *fences);\ntypedef void (REGAL_CALL *PFNGLGETFENCEIVNVPROC)(GLuint fence, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLSETFENCENVPROC)(GLuint fence, GLenum condition);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_NV_FENCE\n#define glDeleteFencesNV                    rglDeleteFencesNV\n#define glFinishFenceNV                     rglFinishFenceNV\n#define glGenFencesNV                       rglGenFencesNV\n#define glGetFenceivNV                      rglGetFenceivNV\n#define glIsFenceNV                         rglIsFenceNV\n#define glSetFenceNV                        rglSetFenceNV\n#define glTestFenceNV                       rglTestFenceNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_NV_FENCE\nREGAL_DECL GLboolean REGAL_CALL glIsFenceNV(GLuint fence);\nREGAL_DECL GLboolean REGAL_CALL glTestFenceNV(GLuint fence);\nREGAL_DECL void REGAL_CALL glDeleteFencesNV(GLsizei n, const GLuint *fences);\nREGAL_DECL void REGAL_CALL glFinishFenceNV(GLuint fence);\nREGAL_DECL void REGAL_CALL glGenFencesNV(GLsizei n, GLuint *fences);\nREGAL_DECL void REGAL_CALL glGetFenceivNV(GLuint fence, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glSetFenceNV(GLuint fence, GLenum condition);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_NV_FENCE\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsFenceNV(GLuint fence);\nREGAL_DECL GLboolean REGAL_CALL plugin_glTestFenceNV(GLuint fence);\nREGAL_DECL void REGAL_CALL plugin_glDeleteFencesNV(GLsizei n, const GLuint *fences);\nREGAL_DECL void REGAL_CALL plugin_glFinishFenceNV(GLuint fence);\nREGAL_DECL void REGAL_CALL plugin_glGenFencesNV(GLsizei n, GLuint *fences);\nREGAL_DECL void REGAL_CALL plugin_glGetFenceivNV(GLuint fence, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glSetFenceNV(GLuint fence, GLenum condition);\n#endif\n\n/**\n ** GL_NV_float_buffer\n **/\n\n#if (defined(GL_NV_FLOAT_BUFFER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_FLOAT_BUFFER)) && !defined(REGAL_NO_ENUM_GL_NV_FLOAT_BUFFER)\n#define REGAL_NO_ENUM_GL_NV_FLOAT_BUFFER\n#endif\n\n#if (defined(GL_NV_FLOAT_BUFFER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_FLOAT_BUFFER)) && !defined(REGAL_NO_TYPEDEF_GL_NV_FLOAT_BUFFER)\n#define REGAL_NO_TYPEDEF_GL_NV_FLOAT_BUFFER\n#endif\n\n#if (defined(GL_NV_FLOAT_BUFFER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_FLOAT_BUFFER)) && !defined(REGAL_NO_NAMESPACE_GL_NV_FLOAT_BUFFER)\n#define REGAL_NO_NAMESPACE_GL_NV_FLOAT_BUFFER\n#endif\n\n#if (defined(GL_NV_FLOAT_BUFFER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_FLOAT_BUFFER)) && !defined(REGAL_NO_PLUGIN_GL_NV_FLOAT_BUFFER)\n#define REGAL_NO_PLUGIN_GL_NV_FLOAT_BUFFER\n#endif\n\n#if (defined(GL_NV_FLOAT_BUFFER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_FLOAT_BUFFER)) && !defined(REGAL_NO_DECLARATION_GL_NV_FLOAT_BUFFER)\n#define REGAL_NO_DECLARATION_GL_NV_FLOAT_BUFFER\n#endif\n\n#ifndef GL_NV_float_buffer\n#define GL_NV_float_buffer 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_FLOAT_BUFFER\n#define GL_FLOAT_R_NV                  0x8880     /* 34944 */\n#define GL_FLOAT_RG_NV                 0x8881     /* 34945 */\n#define GL_FLOAT_RGB_NV                0x8882     /* 34946 */\n#define GL_FLOAT_RGBA_NV               0x8883     /* 34947 */\n#define GL_FLOAT_R16_NV                0x8884     /* 34948 */\n#define GL_FLOAT_R32_NV                0x8885     /* 34949 */\n#define GL_FLOAT_RG16_NV               0x8886     /* 34950 */\n#define GL_FLOAT_RG32_NV               0x8887     /* 34951 */\n#define GL_FLOAT_RGB16_NV              0x8888     /* 34952 */\n#define GL_FLOAT_RGB32_NV              0x8889     /* 34953 */\n#define GL_FLOAT_RGBA16_NV             0x888a     /* 34954 */\n#define GL_FLOAT_RGBA32_NV             0x888b     /* 34955 */\n#define GL_TEXTURE_FLOAT_COMPONENTS_NV 0x888c     /* 34956 */\n#define GL_FLOAT_CLEAR_COLOR_VALUE_NV  0x888d     /* 34957 */\n#define GL_FLOAT_RGBA_MODE_NV          0x888e     /* 34958 */\n#endif\n\n/**\n ** GL_NV_fog_distance\n **/\n\n#if (defined(GL_NV_FOG_DISTANCE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_FOG_DISTANCE)) && !defined(REGAL_NO_ENUM_GL_NV_FOG_DISTANCE)\n#define REGAL_NO_ENUM_GL_NV_FOG_DISTANCE\n#endif\n\n#if (defined(GL_NV_FOG_DISTANCE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_FOG_DISTANCE)) && !defined(REGAL_NO_TYPEDEF_GL_NV_FOG_DISTANCE)\n#define REGAL_NO_TYPEDEF_GL_NV_FOG_DISTANCE\n#endif\n\n#if (defined(GL_NV_FOG_DISTANCE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_FOG_DISTANCE)) && !defined(REGAL_NO_NAMESPACE_GL_NV_FOG_DISTANCE)\n#define REGAL_NO_NAMESPACE_GL_NV_FOG_DISTANCE\n#endif\n\n#if (defined(GL_NV_FOG_DISTANCE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_FOG_DISTANCE)) && !defined(REGAL_NO_PLUGIN_GL_NV_FOG_DISTANCE)\n#define REGAL_NO_PLUGIN_GL_NV_FOG_DISTANCE\n#endif\n\n#if (defined(GL_NV_FOG_DISTANCE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_FOG_DISTANCE)) && !defined(REGAL_NO_DECLARATION_GL_NV_FOG_DISTANCE)\n#define REGAL_NO_DECLARATION_GL_NV_FOG_DISTANCE\n#endif\n\n#ifndef GL_NV_fog_distance\n#define GL_NV_fog_distance 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_FOG_DISTANCE\n#define GL_FOG_DISTANCE_MODE_NV  0x855a     /* 34138 */\n#define GL_EYE_RADIAL_NV         0x855b     /* 34139 */\n#define GL_EYE_PLANE_ABSOLUTE_NV 0x855c     /* 34140 */\n#endif\n\n/**\n ** GL_NV_fragment_program\n **/\n\n#if (defined(GL_NV_FRAGMENT_PROGRAM) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_FRAGMENT_PROGRAM)) && !defined(REGAL_NO_ENUM_GL_NV_FRAGMENT_PROGRAM)\n#define REGAL_NO_ENUM_GL_NV_FRAGMENT_PROGRAM\n#endif\n\n#if (defined(GL_NV_FRAGMENT_PROGRAM) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_FRAGMENT_PROGRAM)) && !defined(REGAL_NO_TYPEDEF_GL_NV_FRAGMENT_PROGRAM)\n#define REGAL_NO_TYPEDEF_GL_NV_FRAGMENT_PROGRAM\n#endif\n\n#if (defined(GL_NV_FRAGMENT_PROGRAM) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_FRAGMENT_PROGRAM)) && !defined(REGAL_NO_NAMESPACE_GL_NV_FRAGMENT_PROGRAM)\n#define REGAL_NO_NAMESPACE_GL_NV_FRAGMENT_PROGRAM\n#endif\n\n#if (defined(GL_NV_FRAGMENT_PROGRAM) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_FRAGMENT_PROGRAM)) && !defined(REGAL_NO_PLUGIN_GL_NV_FRAGMENT_PROGRAM)\n#define REGAL_NO_PLUGIN_GL_NV_FRAGMENT_PROGRAM\n#endif\n\n#if (defined(GL_NV_FRAGMENT_PROGRAM) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_FRAGMENT_PROGRAM)) && !defined(REGAL_NO_DECLARATION_GL_NV_FRAGMENT_PROGRAM)\n#define REGAL_NO_DECLARATION_GL_NV_FRAGMENT_PROGRAM\n#endif\n\n#ifndef GL_NV_fragment_program\n#define GL_NV_fragment_program 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_FRAGMENT_PROGRAM\n#define GL_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV 0x8868     /* 34920 */\n#define GL_FRAGMENT_PROGRAM_NV                      0x8870     /* 34928 */\n#define GL_MAX_TEXTURE_COORDS_NV                    0x8871     /* 34929 */\n#define GL_MAX_TEXTURE_IMAGE_UNITS_NV               0x8872     /* 34930 */\n#define GL_FRAGMENT_PROGRAM_BINDING_NV              0x8873     /* 34931 */\n#define GL_PROGRAM_ERROR_STRING_NV                  0x8874     /* 34932 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_NV_FRAGMENT_PROGRAM\ntypedef void (REGAL_CALL *PFNGLGETPROGRAMNAMEDPARAMETERDVNVPROC)(GLuint id, GLsizei len, const GLubyte *name, GLdouble *params);\ntypedef void (REGAL_CALL *PFNGLGETPROGRAMNAMEDPARAMETERFVNVPROC)(GLuint id, GLsizei len, const GLubyte *name, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLPROGRAMNAMEDPARAMETER4DNVPROC)(GLuint id, GLsizei len, const GLubyte *name, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\ntypedef void (REGAL_CALL *PFNGLPROGRAMNAMEDPARAMETER4DVNVPROC)(GLuint id, GLsizei len, const GLubyte *name, const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLPROGRAMNAMEDPARAMETER4FNVPROC)(GLuint id, GLsizei len, const GLubyte *name, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\ntypedef void (REGAL_CALL *PFNGLPROGRAMNAMEDPARAMETER4FVNVPROC)(GLuint id, GLsizei len, const GLubyte *name, const GLfloat *v);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_NV_FRAGMENT_PROGRAM\n#define glGetProgramNamedParameterdvNV      rglGetProgramNamedParameterdvNV\n#define glGetProgramNamedParameterfvNV      rglGetProgramNamedParameterfvNV\n#define glProgramNamedParameter4dNV         rglProgramNamedParameter4dNV\n#define glProgramNamedParameter4dvNV        rglProgramNamedParameter4dvNV\n#define glProgramNamedParameter4fNV         rglProgramNamedParameter4fNV\n#define glProgramNamedParameter4fvNV        rglProgramNamedParameter4fvNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_NV_FRAGMENT_PROGRAM\nREGAL_DECL void REGAL_CALL glGetProgramNamedParameterdvNV(GLuint id, GLsizei len, const GLubyte *name, GLdouble *params);\nREGAL_DECL void REGAL_CALL glGetProgramNamedParameterfvNV(GLuint id, GLsizei len, const GLubyte *name, GLfloat *params);\nREGAL_DECL void REGAL_CALL glProgramNamedParameter4dNV(GLuint id, GLsizei len, const GLubyte *name, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nREGAL_DECL void REGAL_CALL glProgramNamedParameter4dvNV(GLuint id, GLsizei len, const GLubyte *name, const GLdouble *v);\nREGAL_DECL void REGAL_CALL glProgramNamedParameter4fNV(GLuint id, GLsizei len, const GLubyte *name, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nREGAL_DECL void REGAL_CALL glProgramNamedParameter4fvNV(GLuint id, GLsizei len, const GLubyte *name, const GLfloat *v);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_NV_FRAGMENT_PROGRAM\nREGAL_DECL void REGAL_CALL plugin_glGetProgramNamedParameterdvNV(GLuint id, GLsizei len, const GLubyte *name, GLdouble *params);\nREGAL_DECL void REGAL_CALL plugin_glGetProgramNamedParameterfvNV(GLuint id, GLsizei len, const GLubyte *name, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glProgramNamedParameter4dNV(GLuint id, GLsizei len, const GLubyte *name, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nREGAL_DECL void REGAL_CALL plugin_glProgramNamedParameter4dvNV(GLuint id, GLsizei len, const GLubyte *name, const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glProgramNamedParameter4fNV(GLuint id, GLsizei len, const GLubyte *name, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nREGAL_DECL void REGAL_CALL plugin_glProgramNamedParameter4fvNV(GLuint id, GLsizei len, const GLubyte *name, const GLfloat *v);\n#endif\n\n/**\n ** GL_NV_fragment_program2\n **/\n\n#if (defined(GL_NV_FRAGMENT_PROGRAM2) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_FRAGMENT_PROGRAM2)) && !defined(REGAL_NO_ENUM_GL_NV_FRAGMENT_PROGRAM2)\n#define REGAL_NO_ENUM_GL_NV_FRAGMENT_PROGRAM2\n#endif\n\n#if (defined(GL_NV_FRAGMENT_PROGRAM2) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_FRAGMENT_PROGRAM2)) && !defined(REGAL_NO_TYPEDEF_GL_NV_FRAGMENT_PROGRAM2)\n#define REGAL_NO_TYPEDEF_GL_NV_FRAGMENT_PROGRAM2\n#endif\n\n#if (defined(GL_NV_FRAGMENT_PROGRAM2) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_FRAGMENT_PROGRAM2)) && !defined(REGAL_NO_NAMESPACE_GL_NV_FRAGMENT_PROGRAM2)\n#define REGAL_NO_NAMESPACE_GL_NV_FRAGMENT_PROGRAM2\n#endif\n\n#if (defined(GL_NV_FRAGMENT_PROGRAM2) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_FRAGMENT_PROGRAM2)) && !defined(REGAL_NO_PLUGIN_GL_NV_FRAGMENT_PROGRAM2)\n#define REGAL_NO_PLUGIN_GL_NV_FRAGMENT_PROGRAM2\n#endif\n\n#if (defined(GL_NV_FRAGMENT_PROGRAM2) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_FRAGMENT_PROGRAM2)) && !defined(REGAL_NO_DECLARATION_GL_NV_FRAGMENT_PROGRAM2)\n#define REGAL_NO_DECLARATION_GL_NV_FRAGMENT_PROGRAM2\n#endif\n\n#ifndef GL_NV_fragment_program2\n#define GL_NV_fragment_program2 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_FRAGMENT_PROGRAM2\n#define GL_MAX_PROGRAM_IF_DEPTH_NV   0x88f6     /* 35062 */\n#define GL_MAX_PROGRAM_LOOP_DEPTH_NV 0x88f7     /* 35063 */\n#define GL_MAX_PROGRAM_LOOP_COUNT_NV 0x88f8     /* 35064 */\n#endif\n\n/**\n ** GL_NV_framebuffer_blit\n **/\n\n#if (defined(GL_NV_FRAMEBUFFER_BLIT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_FRAMEBUFFER_BLIT)) && !defined(REGAL_NO_ENUM_GL_NV_FRAMEBUFFER_BLIT)\n#define REGAL_NO_ENUM_GL_NV_FRAMEBUFFER_BLIT\n#endif\n\n#if (defined(GL_NV_FRAMEBUFFER_BLIT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_FRAMEBUFFER_BLIT)) && !defined(REGAL_NO_TYPEDEF_GL_NV_FRAMEBUFFER_BLIT)\n#define REGAL_NO_TYPEDEF_GL_NV_FRAMEBUFFER_BLIT\n#endif\n\n#if (defined(GL_NV_FRAMEBUFFER_BLIT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_FRAMEBUFFER_BLIT)) && !defined(REGAL_NO_NAMESPACE_GL_NV_FRAMEBUFFER_BLIT)\n#define REGAL_NO_NAMESPACE_GL_NV_FRAMEBUFFER_BLIT\n#endif\n\n#if (defined(GL_NV_FRAMEBUFFER_BLIT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_FRAMEBUFFER_BLIT)) && !defined(REGAL_NO_PLUGIN_GL_NV_FRAMEBUFFER_BLIT)\n#define REGAL_NO_PLUGIN_GL_NV_FRAMEBUFFER_BLIT\n#endif\n\n#if (defined(GL_NV_FRAMEBUFFER_BLIT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_FRAMEBUFFER_BLIT)) && !defined(REGAL_NO_DECLARATION_GL_NV_FRAMEBUFFER_BLIT)\n#define REGAL_NO_DECLARATION_GL_NV_FRAMEBUFFER_BLIT\n#endif\n\n#ifndef GL_NV_framebuffer_blit\n#define GL_NV_framebuffer_blit 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_FRAMEBUFFER_BLIT\n#define GL_DRAW_FRAMEBUFFER_BINDING_NV 0x8ca6     /* 36006 */\n#define GL_READ_FRAMEBUFFER_NV         0x8ca8     /* 36008 */\n#define GL_DRAW_FRAMEBUFFER_NV         0x8ca9     /* 36009 */\n#define GL_READ_FRAMEBUFFER_BINDING_NV 0x8caa     /* 36010 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_NV_FRAMEBUFFER_BLIT\ntypedef void (REGAL_CALL *PFNGLBLITFRAMEBUFFERNVPROC)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_NV_FRAMEBUFFER_BLIT\n#define glBlitFramebufferNV                 rglBlitFramebufferNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_NV_FRAMEBUFFER_BLIT\nREGAL_DECL void REGAL_CALL glBlitFramebufferNV(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_NV_FRAMEBUFFER_BLIT\nREGAL_DECL void REGAL_CALL plugin_glBlitFramebufferNV(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);\n#endif\n\n/**\n ** GL_NV_framebuffer_multisample\n **/\n\n#if (defined(GL_NV_FRAMEBUFFER_MULTISAMPLE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_FRAMEBUFFER_MULTISAMPLE)) && !defined(REGAL_NO_ENUM_GL_NV_FRAMEBUFFER_MULTISAMPLE)\n#define REGAL_NO_ENUM_GL_NV_FRAMEBUFFER_MULTISAMPLE\n#endif\n\n#if (defined(GL_NV_FRAMEBUFFER_MULTISAMPLE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_FRAMEBUFFER_MULTISAMPLE)) && !defined(REGAL_NO_TYPEDEF_GL_NV_FRAMEBUFFER_MULTISAMPLE)\n#define REGAL_NO_TYPEDEF_GL_NV_FRAMEBUFFER_MULTISAMPLE\n#endif\n\n#if (defined(GL_NV_FRAMEBUFFER_MULTISAMPLE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_FRAMEBUFFER_MULTISAMPLE)) && !defined(REGAL_NO_NAMESPACE_GL_NV_FRAMEBUFFER_MULTISAMPLE)\n#define REGAL_NO_NAMESPACE_GL_NV_FRAMEBUFFER_MULTISAMPLE\n#endif\n\n#if (defined(GL_NV_FRAMEBUFFER_MULTISAMPLE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_FRAMEBUFFER_MULTISAMPLE)) && !defined(REGAL_NO_PLUGIN_GL_NV_FRAMEBUFFER_MULTISAMPLE)\n#define REGAL_NO_PLUGIN_GL_NV_FRAMEBUFFER_MULTISAMPLE\n#endif\n\n#if (defined(GL_NV_FRAMEBUFFER_MULTISAMPLE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_FRAMEBUFFER_MULTISAMPLE)) && !defined(REGAL_NO_DECLARATION_GL_NV_FRAMEBUFFER_MULTISAMPLE)\n#define REGAL_NO_DECLARATION_GL_NV_FRAMEBUFFER_MULTISAMPLE\n#endif\n\n#ifndef GL_NV_framebuffer_multisample\n#define GL_NV_framebuffer_multisample 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_FRAMEBUFFER_MULTISAMPLE\n#define GL_RENDERBUFFER_SAMPLES_NV               0x8cab     /* 36011 */\n#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_NV 0x8d56     /* 36182 */\n#define GL_MAX_SAMPLES_NV                        0x8d57     /* 36183 */\n#endif\n\n/**\n ** GL_NV_framebuffer_multisample_coverage\n **/\n\n#if (defined(GL_NV_FRAMEBUFFER_MULTISAMPLE_COVERAGE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_FRAMEBUFFER_MULTISAMPLE_COVERAGE)) && !defined(REGAL_NO_ENUM_GL_NV_FRAMEBUFFER_MULTISAMPLE_COVERAGE)\n#define REGAL_NO_ENUM_GL_NV_FRAMEBUFFER_MULTISAMPLE_COVERAGE\n#endif\n\n#if (defined(GL_NV_FRAMEBUFFER_MULTISAMPLE_COVERAGE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_FRAMEBUFFER_MULTISAMPLE_COVERAGE)) && !defined(REGAL_NO_TYPEDEF_GL_NV_FRAMEBUFFER_MULTISAMPLE_COVERAGE)\n#define REGAL_NO_TYPEDEF_GL_NV_FRAMEBUFFER_MULTISAMPLE_COVERAGE\n#endif\n\n#if (defined(GL_NV_FRAMEBUFFER_MULTISAMPLE_COVERAGE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_FRAMEBUFFER_MULTISAMPLE_COVERAGE)) && !defined(REGAL_NO_NAMESPACE_GL_NV_FRAMEBUFFER_MULTISAMPLE_COVERAGE)\n#define REGAL_NO_NAMESPACE_GL_NV_FRAMEBUFFER_MULTISAMPLE_COVERAGE\n#endif\n\n#if (defined(GL_NV_FRAMEBUFFER_MULTISAMPLE_COVERAGE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_FRAMEBUFFER_MULTISAMPLE_COVERAGE)) && !defined(REGAL_NO_PLUGIN_GL_NV_FRAMEBUFFER_MULTISAMPLE_COVERAGE)\n#define REGAL_NO_PLUGIN_GL_NV_FRAMEBUFFER_MULTISAMPLE_COVERAGE\n#endif\n\n#if (defined(GL_NV_FRAMEBUFFER_MULTISAMPLE_COVERAGE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_FRAMEBUFFER_MULTISAMPLE_COVERAGE)) && !defined(REGAL_NO_DECLARATION_GL_NV_FRAMEBUFFER_MULTISAMPLE_COVERAGE)\n#define REGAL_NO_DECLARATION_GL_NV_FRAMEBUFFER_MULTISAMPLE_COVERAGE\n#endif\n\n#ifndef GL_NV_framebuffer_multisample_coverage\n#define GL_NV_framebuffer_multisample_coverage 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_FRAMEBUFFER_MULTISAMPLE_COVERAGE\n#define GL_RENDERBUFFER_COVERAGE_SAMPLES_NV  0x8cab     /* 36011 */\n#define GL_RENDERBUFFER_COLOR_SAMPLES_NV     0x8e10     /* 36368 */\n#define GL_MAX_MULTISAMPLE_COVERAGE_MODES_NV 0x8e11     /* 36369 */\n#define GL_MULTISAMPLE_COVERAGE_MODES_NV     0x8e12     /* 36370 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_NV_FRAMEBUFFER_MULTISAMPLE_COVERAGE\ntypedef void (REGAL_CALL *PFNGLRENDERBUFFERSTORAGEMULTISAMPLECOVERAGENVPROC)(GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_NV_FRAMEBUFFER_MULTISAMPLE_COVERAGE\n#define glRenderbufferStorageMultisampleCoverageNV rglRenderbufferStorageMultisampleCoverageNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_NV_FRAMEBUFFER_MULTISAMPLE_COVERAGE\nREGAL_DECL void REGAL_CALL glRenderbufferStorageMultisampleCoverageNV(GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_NV_FRAMEBUFFER_MULTISAMPLE_COVERAGE\nREGAL_DECL void REGAL_CALL plugin_glRenderbufferStorageMultisampleCoverageNV(GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height);\n#endif\n\n/**\n ** GL_NV_geometry_program4\n **/\n\n#if (defined(GL_NV_GEOMETRY_PROGRAM4) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_GEOMETRY_PROGRAM4)) && !defined(REGAL_NO_ENUM_GL_NV_GEOMETRY_PROGRAM4)\n#define REGAL_NO_ENUM_GL_NV_GEOMETRY_PROGRAM4\n#endif\n\n#if (defined(GL_NV_GEOMETRY_PROGRAM4) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_GEOMETRY_PROGRAM4)) && !defined(REGAL_NO_TYPEDEF_GL_NV_GEOMETRY_PROGRAM4)\n#define REGAL_NO_TYPEDEF_GL_NV_GEOMETRY_PROGRAM4\n#endif\n\n#if (defined(GL_NV_GEOMETRY_PROGRAM4) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_GEOMETRY_PROGRAM4)) && !defined(REGAL_NO_NAMESPACE_GL_NV_GEOMETRY_PROGRAM4)\n#define REGAL_NO_NAMESPACE_GL_NV_GEOMETRY_PROGRAM4\n#endif\n\n#if (defined(GL_NV_GEOMETRY_PROGRAM4) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_GEOMETRY_PROGRAM4)) && !defined(REGAL_NO_PLUGIN_GL_NV_GEOMETRY_PROGRAM4)\n#define REGAL_NO_PLUGIN_GL_NV_GEOMETRY_PROGRAM4\n#endif\n\n#if (defined(GL_NV_GEOMETRY_PROGRAM4) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_GEOMETRY_PROGRAM4)) && !defined(REGAL_NO_DECLARATION_GL_NV_GEOMETRY_PROGRAM4)\n#define REGAL_NO_DECLARATION_GL_NV_GEOMETRY_PROGRAM4\n#endif\n\n#ifndef GL_NV_geometry_program4\n#define GL_NV_geometry_program4 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_GEOMETRY_PROGRAM4\n#define GL_GEOMETRY_PROGRAM_NV                    0x8c26     /* 35878 */\n#define GL_MAX_PROGRAM_OUTPUT_VERTICES_NV         0x8c27     /* 35879 */\n#define GL_MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS_NV 0x8c28     /* 35880 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_NV_GEOMETRY_PROGRAM4\ntypedef void (REGAL_CALL *PFNGLPROGRAMVERTEXLIMITNVPROC)(GLenum target, GLint limit);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_NV_GEOMETRY_PROGRAM4\n#define glProgramVertexLimitNV              rglProgramVertexLimitNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_NV_GEOMETRY_PROGRAM4\nREGAL_DECL void REGAL_CALL glProgramVertexLimitNV(GLenum target, GLint limit);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_NV_GEOMETRY_PROGRAM4\nREGAL_DECL void REGAL_CALL plugin_glProgramVertexLimitNV(GLenum target, GLint limit);\n#endif\n\n/**\n ** GL_NV_gpu_program4\n **/\n\n#if (defined(GL_NV_GPU_PROGRAM4) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_GPU_PROGRAM4)) && !defined(REGAL_NO_ENUM_GL_NV_GPU_PROGRAM4)\n#define REGAL_NO_ENUM_GL_NV_GPU_PROGRAM4\n#endif\n\n#if (defined(GL_NV_GPU_PROGRAM4) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_GPU_PROGRAM4)) && !defined(REGAL_NO_TYPEDEF_GL_NV_GPU_PROGRAM4)\n#define REGAL_NO_TYPEDEF_GL_NV_GPU_PROGRAM4\n#endif\n\n#if (defined(GL_NV_GPU_PROGRAM4) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_GPU_PROGRAM4)) && !defined(REGAL_NO_NAMESPACE_GL_NV_GPU_PROGRAM4)\n#define REGAL_NO_NAMESPACE_GL_NV_GPU_PROGRAM4\n#endif\n\n#if (defined(GL_NV_GPU_PROGRAM4) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_GPU_PROGRAM4)) && !defined(REGAL_NO_PLUGIN_GL_NV_GPU_PROGRAM4)\n#define REGAL_NO_PLUGIN_GL_NV_GPU_PROGRAM4\n#endif\n\n#if (defined(GL_NV_GPU_PROGRAM4) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_GPU_PROGRAM4)) && !defined(REGAL_NO_DECLARATION_GL_NV_GPU_PROGRAM4)\n#define REGAL_NO_DECLARATION_GL_NV_GPU_PROGRAM4\n#endif\n\n#ifndef GL_NV_gpu_program4\n#define GL_NV_gpu_program4 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_GPU_PROGRAM4\n#define GL_MIN_PROGRAM_TEXEL_OFFSET_NV      0x8904     /* 35076 */\n#define GL_MAX_PROGRAM_TEXEL_OFFSET_NV      0x8905     /* 35077 */\n#define GL_PROGRAM_ATTRIB_COMPONENTS_NV     0x8906     /* 35078 */\n#define GL_PROGRAM_RESULT_COMPONENTS_NV     0x8907     /* 35079 */\n#define GL_MAX_PROGRAM_ATTRIB_COMPONENTS_NV 0x8908     /* 35080 */\n#define GL_MAX_PROGRAM_RESULT_COMPONENTS_NV 0x8909     /* 35081 */\n#define GL_MAX_PROGRAM_GENERIC_ATTRIBS_NV   0x8da5     /* 36261 */\n#define GL_MAX_PROGRAM_GENERIC_RESULTS_NV   0x8da6     /* 36262 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_NV_GPU_PROGRAM4\ntypedef void (REGAL_CALL *PFNGLGETPROGRAMENVPARAMETERIIVNVPROC)(GLenum target, GLuint index, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETPROGRAMENVPARAMETERIUIVNVPROC)(GLenum target, GLuint index, GLuint *params);\ntypedef void (REGAL_CALL *PFNGLGETPROGRAMLOCALPARAMETERIIVNVPROC)(GLenum target, GLuint index, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETPROGRAMLOCALPARAMETERIUIVNVPROC)(GLenum target, GLuint index, GLuint *params);\ntypedef void (REGAL_CALL *PFNGLPROGRAMENVPARAMETERI4INVPROC)(GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w);\ntypedef void (REGAL_CALL *PFNGLPROGRAMENVPARAMETERI4IVNVPROC)(GLenum target, GLuint index, const GLint *params);\ntypedef void (REGAL_CALL *PFNGLPROGRAMENVPARAMETERI4UINVPROC)(GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);\ntypedef void (REGAL_CALL *PFNGLPROGRAMENVPARAMETERI4UIVNVPROC)(GLenum target, GLuint index, const GLuint *params);\ntypedef void (REGAL_CALL *PFNGLPROGRAMENVPARAMETERSI4IVNVPROC)(GLenum target, GLuint index, GLsizei count, const GLint *params);\ntypedef void (REGAL_CALL *PFNGLPROGRAMENVPARAMETERSI4UIVNVPROC)(GLenum target, GLuint index, GLsizei count, const GLuint *params);\ntypedef void (REGAL_CALL *PFNGLPROGRAMLOCALPARAMETERI4INVPROC)(GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w);\ntypedef void (REGAL_CALL *PFNGLPROGRAMLOCALPARAMETERI4IVNVPROC)(GLenum target, GLuint index, const GLint *params);\ntypedef void (REGAL_CALL *PFNGLPROGRAMLOCALPARAMETERI4UINVPROC)(GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);\ntypedef void (REGAL_CALL *PFNGLPROGRAMLOCALPARAMETERI4UIVNVPROC)(GLenum target, GLuint index, const GLuint *params);\ntypedef void (REGAL_CALL *PFNGLPROGRAMLOCALPARAMETERSI4IVNVPROC)(GLenum target, GLuint index, GLsizei count, const GLint *params);\ntypedef void (REGAL_CALL *PFNGLPROGRAMLOCALPARAMETERSI4UIVNVPROC)(GLenum target, GLuint index, GLsizei count, const GLuint *params);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_NV_GPU_PROGRAM4\n#define glGetProgramEnvParameterIivNV       rglGetProgramEnvParameterIivNV\n#define glGetProgramEnvParameterIuivNV      rglGetProgramEnvParameterIuivNV\n#define glGetProgramLocalParameterIivNV     rglGetProgramLocalParameterIivNV\n#define glGetProgramLocalParameterIuivNV    rglGetProgramLocalParameterIuivNV\n#define glProgramEnvParameterI4iNV          rglProgramEnvParameterI4iNV\n#define glProgramEnvParameterI4ivNV         rglProgramEnvParameterI4ivNV\n#define glProgramEnvParameterI4uiNV         rglProgramEnvParameterI4uiNV\n#define glProgramEnvParameterI4uivNV        rglProgramEnvParameterI4uivNV\n#define glProgramEnvParametersI4ivNV        rglProgramEnvParametersI4ivNV\n#define glProgramEnvParametersI4uivNV       rglProgramEnvParametersI4uivNV\n#define glProgramLocalParameterI4iNV        rglProgramLocalParameterI4iNV\n#define glProgramLocalParameterI4ivNV       rglProgramLocalParameterI4ivNV\n#define glProgramLocalParameterI4uiNV       rglProgramLocalParameterI4uiNV\n#define glProgramLocalParameterI4uivNV      rglProgramLocalParameterI4uivNV\n#define glProgramLocalParametersI4ivNV      rglProgramLocalParametersI4ivNV\n#define glProgramLocalParametersI4uivNV     rglProgramLocalParametersI4uivNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_NV_GPU_PROGRAM4\nREGAL_DECL void REGAL_CALL glGetProgramEnvParameterIivNV(GLenum target, GLuint index, GLint *params);\nREGAL_DECL void REGAL_CALL glGetProgramEnvParameterIuivNV(GLenum target, GLuint index, GLuint *params);\nREGAL_DECL void REGAL_CALL glGetProgramLocalParameterIivNV(GLenum target, GLuint index, GLint *params);\nREGAL_DECL void REGAL_CALL glGetProgramLocalParameterIuivNV(GLenum target, GLuint index, GLuint *params);\nREGAL_DECL void REGAL_CALL glProgramEnvParameterI4iNV(GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w);\nREGAL_DECL void REGAL_CALL glProgramEnvParameterI4ivNV(GLenum target, GLuint index, const GLint *params);\nREGAL_DECL void REGAL_CALL glProgramEnvParameterI4uiNV(GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);\nREGAL_DECL void REGAL_CALL glProgramEnvParameterI4uivNV(GLenum target, GLuint index, const GLuint *params);\nREGAL_DECL void REGAL_CALL glProgramEnvParametersI4ivNV(GLenum target, GLuint index, GLsizei count, const GLint *params);\nREGAL_DECL void REGAL_CALL glProgramEnvParametersI4uivNV(GLenum target, GLuint index, GLsizei count, const GLuint *params);\nREGAL_DECL void REGAL_CALL glProgramLocalParameterI4iNV(GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w);\nREGAL_DECL void REGAL_CALL glProgramLocalParameterI4ivNV(GLenum target, GLuint index, const GLint *params);\nREGAL_DECL void REGAL_CALL glProgramLocalParameterI4uiNV(GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);\nREGAL_DECL void REGAL_CALL glProgramLocalParameterI4uivNV(GLenum target, GLuint index, const GLuint *params);\nREGAL_DECL void REGAL_CALL glProgramLocalParametersI4ivNV(GLenum target, GLuint index, GLsizei count, const GLint *params);\nREGAL_DECL void REGAL_CALL glProgramLocalParametersI4uivNV(GLenum target, GLuint index, GLsizei count, const GLuint *params);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_NV_GPU_PROGRAM4\nREGAL_DECL void REGAL_CALL plugin_glGetProgramEnvParameterIivNV(GLenum target, GLuint index, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetProgramEnvParameterIuivNV(GLenum target, GLuint index, GLuint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetProgramLocalParameterIivNV(GLenum target, GLuint index, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetProgramLocalParameterIuivNV(GLenum target, GLuint index, GLuint *params);\nREGAL_DECL void REGAL_CALL plugin_glProgramEnvParameterI4iNV(GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w);\nREGAL_DECL void REGAL_CALL plugin_glProgramEnvParameterI4ivNV(GLenum target, GLuint index, const GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glProgramEnvParameterI4uiNV(GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);\nREGAL_DECL void REGAL_CALL plugin_glProgramEnvParameterI4uivNV(GLenum target, GLuint index, const GLuint *params);\nREGAL_DECL void REGAL_CALL plugin_glProgramEnvParametersI4ivNV(GLenum target, GLuint index, GLsizei count, const GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glProgramEnvParametersI4uivNV(GLenum target, GLuint index, GLsizei count, const GLuint *params);\nREGAL_DECL void REGAL_CALL plugin_glProgramLocalParameterI4iNV(GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w);\nREGAL_DECL void REGAL_CALL plugin_glProgramLocalParameterI4ivNV(GLenum target, GLuint index, const GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glProgramLocalParameterI4uiNV(GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);\nREGAL_DECL void REGAL_CALL plugin_glProgramLocalParameterI4uivNV(GLenum target, GLuint index, const GLuint *params);\nREGAL_DECL void REGAL_CALL plugin_glProgramLocalParametersI4ivNV(GLenum target, GLuint index, GLsizei count, const GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glProgramLocalParametersI4uivNV(GLenum target, GLuint index, GLsizei count, const GLuint *params);\n#endif\n\n/**\n ** GL_NV_gpu_program5\n **/\n\n#if (defined(GL_NV_GPU_PROGRAM5) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_GPU_PROGRAM5)) && !defined(REGAL_NO_ENUM_GL_NV_GPU_PROGRAM5)\n#define REGAL_NO_ENUM_GL_NV_GPU_PROGRAM5\n#endif\n\n#if (defined(GL_NV_GPU_PROGRAM5) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_GPU_PROGRAM5)) && !defined(REGAL_NO_TYPEDEF_GL_NV_GPU_PROGRAM5)\n#define REGAL_NO_TYPEDEF_GL_NV_GPU_PROGRAM5\n#endif\n\n#if (defined(GL_NV_GPU_PROGRAM5) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_GPU_PROGRAM5)) && !defined(REGAL_NO_NAMESPACE_GL_NV_GPU_PROGRAM5)\n#define REGAL_NO_NAMESPACE_GL_NV_GPU_PROGRAM5\n#endif\n\n#if (defined(GL_NV_GPU_PROGRAM5) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_GPU_PROGRAM5)) && !defined(REGAL_NO_PLUGIN_GL_NV_GPU_PROGRAM5)\n#define REGAL_NO_PLUGIN_GL_NV_GPU_PROGRAM5\n#endif\n\n#if (defined(GL_NV_GPU_PROGRAM5) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_GPU_PROGRAM5)) && !defined(REGAL_NO_DECLARATION_GL_NV_GPU_PROGRAM5)\n#define REGAL_NO_DECLARATION_GL_NV_GPU_PROGRAM5\n#endif\n\n#ifndef GL_NV_gpu_program5\n#define GL_NV_gpu_program5 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_GPU_PROGRAM5\n#define GL_MAX_GEOMETRY_PROGRAM_INVOCATIONS_NV           0x8e5a     /* 36442 */\n#define GL_MIN_FRAGMENT_INTERPOLATION_OFFSET_NV          0x8e5b     /* 36443 */\n#define GL_MAX_FRAGMENT_INTERPOLATION_OFFSET_NV          0x8e5c     /* 36444 */\n#define GL_FRAGMENT_PROGRAM_INTERPOLATION_OFFSET_BITS_NV 0x8e5d     /* 36445 */\n#endif\n\n/**\n ** GL_NV_gpu_shader5\n **/\n\n#if (defined(GL_NV_GPU_SHADER5) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_GPU_SHADER5)) && !defined(REGAL_NO_ENUM_GL_NV_GPU_SHADER5)\n#define REGAL_NO_ENUM_GL_NV_GPU_SHADER5\n#endif\n\n#if (defined(GL_NV_GPU_SHADER5) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_GPU_SHADER5)) && !defined(REGAL_NO_TYPEDEF_GL_NV_GPU_SHADER5)\n#define REGAL_NO_TYPEDEF_GL_NV_GPU_SHADER5\n#endif\n\n#if (defined(GL_NV_GPU_SHADER5) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_GPU_SHADER5)) && !defined(REGAL_NO_NAMESPACE_GL_NV_GPU_SHADER5)\n#define REGAL_NO_NAMESPACE_GL_NV_GPU_SHADER5\n#endif\n\n#if (defined(GL_NV_GPU_SHADER5) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_GPU_SHADER5)) && !defined(REGAL_NO_PLUGIN_GL_NV_GPU_SHADER5)\n#define REGAL_NO_PLUGIN_GL_NV_GPU_SHADER5\n#endif\n\n#if (defined(GL_NV_GPU_SHADER5) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_GPU_SHADER5)) && !defined(REGAL_NO_DECLARATION_GL_NV_GPU_SHADER5)\n#define REGAL_NO_DECLARATION_GL_NV_GPU_SHADER5\n#endif\n\n#ifndef GL_NV_gpu_shader5\n#define GL_NV_gpu_shader5 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_GPU_SHADER5\n#define GL_INT8_NV                0x8fe0     /* 36832 */\n#define GL_INT8_VEC2_NV           0x8fe1     /* 36833 */\n#define GL_INT8_VEC3_NV           0x8fe2     /* 36834 */\n#define GL_INT8_VEC4_NV           0x8fe3     /* 36835 */\n#define GL_INT16_NV               0x8fe4     /* 36836 */\n#define GL_INT16_VEC2_NV          0x8fe5     /* 36837 */\n#define GL_INT16_VEC3_NV          0x8fe6     /* 36838 */\n#define GL_INT16_VEC4_NV          0x8fe7     /* 36839 */\n#define GL_INT64_VEC2_NV          0x8fe9     /* 36841 */\n#define GL_INT64_VEC3_NV          0x8fea     /* 36842 */\n#define GL_INT64_VEC4_NV          0x8feb     /* 36843 */\n#define GL_UNSIGNED_INT8_NV       0x8fec     /* 36844 */\n#define GL_UNSIGNED_INT8_VEC2_NV  0x8fed     /* 36845 */\n#define GL_UNSIGNED_INT8_VEC3_NV  0x8fee     /* 36846 */\n#define GL_UNSIGNED_INT8_VEC4_NV  0x8fef     /* 36847 */\n#define GL_UNSIGNED_INT16_NV      0x8ff0     /* 36848 */\n#define GL_UNSIGNED_INT16_VEC2_NV 0x8ff1     /* 36849 */\n#define GL_UNSIGNED_INT16_VEC3_NV 0x8ff2     /* 36850 */\n#define GL_UNSIGNED_INT16_VEC4_NV 0x8ff3     /* 36851 */\n#define GL_UNSIGNED_INT64_VEC2_NV 0x8ff5     /* 36853 */\n#define GL_UNSIGNED_INT64_VEC3_NV 0x8ff6     /* 36854 */\n#define GL_UNSIGNED_INT64_VEC4_NV 0x8ff7     /* 36855 */\n#define GL_FLOAT16_NV             0x8ff8     /* 36856 */\n#define GL_FLOAT16_VEC2_NV        0x8ff9     /* 36857 */\n#define GL_FLOAT16_VEC3_NV        0x8ffa     /* 36858 */\n#define GL_FLOAT16_VEC4_NV        0x8ffb     /* 36859 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_NV_GPU_SHADER5\ntypedef void (REGAL_CALL *PFNGLGETUNIFORMI64VNVPROC)(GLuint program, GLint location, GLint64EXT *params);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM1I64NVPROC)(GLuint program, GLint location, GLint64EXT x);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM1I64VNVPROC)(GLuint program, GLint location, GLsizei count, const GLint64EXT *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM1UI64NVPROC)(GLuint program, GLint location, GLuint64EXT x);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM1UI64VNVPROC)(GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM2I64NVPROC)(GLuint program, GLint location, GLint64EXT x, GLint64EXT y);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM2I64VNVPROC)(GLuint program, GLint location, GLsizei count, const GLint64EXT *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM2UI64NVPROC)(GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM2UI64VNVPROC)(GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM3I64NVPROC)(GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM3I64VNVPROC)(GLuint program, GLint location, GLsizei count, const GLint64EXT *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM3UI64NVPROC)(GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM3UI64VNVPROC)(GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM4I64NVPROC)(GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM4I64VNVPROC)(GLuint program, GLint location, GLsizei count, const GLint64EXT *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM4UI64NVPROC)(GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM4UI64VNVPROC)(GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORM1I64NVPROC)(GLint location, GLint64EXT x);\ntypedef void (REGAL_CALL *PFNGLUNIFORM1I64VNVPROC)(GLint location, GLsizei count, const GLint64EXT *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORM1UI64NVPROC)(GLint location, GLuint64EXT x);\ntypedef void (REGAL_CALL *PFNGLUNIFORM1UI64VNVPROC)(GLint location, GLsizei count, const GLuint64EXT *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORM2I64NVPROC)(GLint location, GLint64EXT x, GLint64EXT y);\ntypedef void (REGAL_CALL *PFNGLUNIFORM2I64VNVPROC)(GLint location, GLsizei count, const GLint64EXT *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORM2UI64NVPROC)(GLint location, GLuint64EXT x, GLuint64EXT y);\ntypedef void (REGAL_CALL *PFNGLUNIFORM2UI64VNVPROC)(GLint location, GLsizei count, const GLuint64EXT *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORM3I64NVPROC)(GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z);\ntypedef void (REGAL_CALL *PFNGLUNIFORM3I64VNVPROC)(GLint location, GLsizei count, const GLint64EXT *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORM3UI64NVPROC)(GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z);\ntypedef void (REGAL_CALL *PFNGLUNIFORM3UI64VNVPROC)(GLint location, GLsizei count, const GLuint64EXT *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORM4I64NVPROC)(GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w);\ntypedef void (REGAL_CALL *PFNGLUNIFORM4I64VNVPROC)(GLint location, GLsizei count, const GLint64EXT *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORM4UI64NVPROC)(GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w);\ntypedef void (REGAL_CALL *PFNGLUNIFORM4UI64VNVPROC)(GLint location, GLsizei count, const GLuint64EXT *value);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_NV_GPU_SHADER5\n#define glGetUniformi64vNV                  rglGetUniformi64vNV\n#define glProgramUniform1i64NV              rglProgramUniform1i64NV\n#define glProgramUniform1i64vNV             rglProgramUniform1i64vNV\n#define glProgramUniform1ui64NV             rglProgramUniform1ui64NV\n#define glProgramUniform1ui64vNV            rglProgramUniform1ui64vNV\n#define glProgramUniform2i64NV              rglProgramUniform2i64NV\n#define glProgramUniform2i64vNV             rglProgramUniform2i64vNV\n#define glProgramUniform2ui64NV             rglProgramUniform2ui64NV\n#define glProgramUniform2ui64vNV            rglProgramUniform2ui64vNV\n#define glProgramUniform3i64NV              rglProgramUniform3i64NV\n#define glProgramUniform3i64vNV             rglProgramUniform3i64vNV\n#define glProgramUniform3ui64NV             rglProgramUniform3ui64NV\n#define glProgramUniform3ui64vNV            rglProgramUniform3ui64vNV\n#define glProgramUniform4i64NV              rglProgramUniform4i64NV\n#define glProgramUniform4i64vNV             rglProgramUniform4i64vNV\n#define glProgramUniform4ui64NV             rglProgramUniform4ui64NV\n#define glProgramUniform4ui64vNV            rglProgramUniform4ui64vNV\n#define glUniform1i64NV                     rglUniform1i64NV\n#define glUniform1i64vNV                    rglUniform1i64vNV\n#define glUniform1ui64NV                    rglUniform1ui64NV\n#define glUniform1ui64vNV                   rglUniform1ui64vNV\n#define glUniform2i64NV                     rglUniform2i64NV\n#define glUniform2i64vNV                    rglUniform2i64vNV\n#define glUniform2ui64NV                    rglUniform2ui64NV\n#define glUniform2ui64vNV                   rglUniform2ui64vNV\n#define glUniform3i64NV                     rglUniform3i64NV\n#define glUniform3i64vNV                    rglUniform3i64vNV\n#define glUniform3ui64NV                    rglUniform3ui64NV\n#define glUniform3ui64vNV                   rglUniform3ui64vNV\n#define glUniform4i64NV                     rglUniform4i64NV\n#define glUniform4i64vNV                    rglUniform4i64vNV\n#define glUniform4ui64NV                    rglUniform4ui64NV\n#define glUniform4ui64vNV                   rglUniform4ui64vNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_NV_GPU_SHADER5\nREGAL_DECL void REGAL_CALL glGetUniformi64vNV(GLuint program, GLint location, GLint64EXT *params);\nREGAL_DECL void REGAL_CALL glProgramUniform1i64NV(GLuint program, GLint location, GLint64EXT x);\nREGAL_DECL void REGAL_CALL glProgramUniform1i64vNV(GLuint program, GLint location, GLsizei count, const GLint64EXT *value);\nREGAL_DECL void REGAL_CALL glProgramUniform1ui64NV(GLuint program, GLint location, GLuint64EXT x);\nREGAL_DECL void REGAL_CALL glProgramUniform1ui64vNV(GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);\nREGAL_DECL void REGAL_CALL glProgramUniform2i64NV(GLuint program, GLint location, GLint64EXT x, GLint64EXT y);\nREGAL_DECL void REGAL_CALL glProgramUniform2i64vNV(GLuint program, GLint location, GLsizei count, const GLint64EXT *value);\nREGAL_DECL void REGAL_CALL glProgramUniform2ui64NV(GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y);\nREGAL_DECL void REGAL_CALL glProgramUniform2ui64vNV(GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);\nREGAL_DECL void REGAL_CALL glProgramUniform3i64NV(GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z);\nREGAL_DECL void REGAL_CALL glProgramUniform3i64vNV(GLuint program, GLint location, GLsizei count, const GLint64EXT *value);\nREGAL_DECL void REGAL_CALL glProgramUniform3ui64NV(GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z);\nREGAL_DECL void REGAL_CALL glProgramUniform3ui64vNV(GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);\nREGAL_DECL void REGAL_CALL glProgramUniform4i64NV(GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w);\nREGAL_DECL void REGAL_CALL glProgramUniform4i64vNV(GLuint program, GLint location, GLsizei count, const GLint64EXT *value);\nREGAL_DECL void REGAL_CALL glProgramUniform4ui64NV(GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w);\nREGAL_DECL void REGAL_CALL glProgramUniform4ui64vNV(GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);\nREGAL_DECL void REGAL_CALL glUniform1i64NV(GLint location, GLint64EXT x);\nREGAL_DECL void REGAL_CALL glUniform1i64vNV(GLint location, GLsizei count, const GLint64EXT *value);\nREGAL_DECL void REGAL_CALL glUniform1ui64NV(GLint location, GLuint64EXT x);\nREGAL_DECL void REGAL_CALL glUniform1ui64vNV(GLint location, GLsizei count, const GLuint64EXT *value);\nREGAL_DECL void REGAL_CALL glUniform2i64NV(GLint location, GLint64EXT x, GLint64EXT y);\nREGAL_DECL void REGAL_CALL glUniform2i64vNV(GLint location, GLsizei count, const GLint64EXT *value);\nREGAL_DECL void REGAL_CALL glUniform2ui64NV(GLint location, GLuint64EXT x, GLuint64EXT y);\nREGAL_DECL void REGAL_CALL glUniform2ui64vNV(GLint location, GLsizei count, const GLuint64EXT *value);\nREGAL_DECL void REGAL_CALL glUniform3i64NV(GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z);\nREGAL_DECL void REGAL_CALL glUniform3i64vNV(GLint location, GLsizei count, const GLint64EXT *value);\nREGAL_DECL void REGAL_CALL glUniform3ui64NV(GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z);\nREGAL_DECL void REGAL_CALL glUniform3ui64vNV(GLint location, GLsizei count, const GLuint64EXT *value);\nREGAL_DECL void REGAL_CALL glUniform4i64NV(GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w);\nREGAL_DECL void REGAL_CALL glUniform4i64vNV(GLint location, GLsizei count, const GLint64EXT *value);\nREGAL_DECL void REGAL_CALL glUniform4ui64NV(GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w);\nREGAL_DECL void REGAL_CALL glUniform4ui64vNV(GLint location, GLsizei count, const GLuint64EXT *value);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_NV_GPU_SHADER5\nREGAL_DECL void REGAL_CALL plugin_glGetUniformi64vNV(GLuint program, GLint location, GLint64EXT *params);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform1i64NV(GLuint program, GLint location, GLint64EXT x);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform1i64vNV(GLuint program, GLint location, GLsizei count, const GLint64EXT *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform1ui64NV(GLuint program, GLint location, GLuint64EXT x);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform1ui64vNV(GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform2i64NV(GLuint program, GLint location, GLint64EXT x, GLint64EXT y);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform2i64vNV(GLuint program, GLint location, GLsizei count, const GLint64EXT *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform2ui64NV(GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform2ui64vNV(GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform3i64NV(GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform3i64vNV(GLuint program, GLint location, GLsizei count, const GLint64EXT *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform3ui64NV(GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform3ui64vNV(GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform4i64NV(GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform4i64vNV(GLuint program, GLint location, GLsizei count, const GLint64EXT *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform4ui64NV(GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform4ui64vNV(GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);\nREGAL_DECL void REGAL_CALL plugin_glUniform1i64NV(GLint location, GLint64EXT x);\nREGAL_DECL void REGAL_CALL plugin_glUniform1i64vNV(GLint location, GLsizei count, const GLint64EXT *value);\nREGAL_DECL void REGAL_CALL plugin_glUniform1ui64NV(GLint location, GLuint64EXT x);\nREGAL_DECL void REGAL_CALL plugin_glUniform1ui64vNV(GLint location, GLsizei count, const GLuint64EXT *value);\nREGAL_DECL void REGAL_CALL plugin_glUniform2i64NV(GLint location, GLint64EXT x, GLint64EXT y);\nREGAL_DECL void REGAL_CALL plugin_glUniform2i64vNV(GLint location, GLsizei count, const GLint64EXT *value);\nREGAL_DECL void REGAL_CALL plugin_glUniform2ui64NV(GLint location, GLuint64EXT x, GLuint64EXT y);\nREGAL_DECL void REGAL_CALL plugin_glUniform2ui64vNV(GLint location, GLsizei count, const GLuint64EXT *value);\nREGAL_DECL void REGAL_CALL plugin_glUniform3i64NV(GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z);\nREGAL_DECL void REGAL_CALL plugin_glUniform3i64vNV(GLint location, GLsizei count, const GLint64EXT *value);\nREGAL_DECL void REGAL_CALL plugin_glUniform3ui64NV(GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z);\nREGAL_DECL void REGAL_CALL plugin_glUniform3ui64vNV(GLint location, GLsizei count, const GLuint64EXT *value);\nREGAL_DECL void REGAL_CALL plugin_glUniform4i64NV(GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w);\nREGAL_DECL void REGAL_CALL plugin_glUniform4i64vNV(GLint location, GLsizei count, const GLint64EXT *value);\nREGAL_DECL void REGAL_CALL plugin_glUniform4ui64NV(GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w);\nREGAL_DECL void REGAL_CALL plugin_glUniform4ui64vNV(GLint location, GLsizei count, const GLuint64EXT *value);\n#endif\n\n/**\n ** GL_NV_half_float\n **/\n\n#if (defined(GL_NV_HALF_FLOAT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_HALF_FLOAT)) && !defined(REGAL_NO_ENUM_GL_NV_HALF_FLOAT)\n#define REGAL_NO_ENUM_GL_NV_HALF_FLOAT\n#endif\n\n#if (defined(GL_NV_HALF_FLOAT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_HALF_FLOAT)) && !defined(REGAL_NO_TYPEDEF_GL_NV_HALF_FLOAT)\n#define REGAL_NO_TYPEDEF_GL_NV_HALF_FLOAT\n#endif\n\n#if (defined(GL_NV_HALF_FLOAT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_HALF_FLOAT)) && !defined(REGAL_NO_NAMESPACE_GL_NV_HALF_FLOAT)\n#define REGAL_NO_NAMESPACE_GL_NV_HALF_FLOAT\n#endif\n\n#if (defined(GL_NV_HALF_FLOAT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_HALF_FLOAT)) && !defined(REGAL_NO_PLUGIN_GL_NV_HALF_FLOAT)\n#define REGAL_NO_PLUGIN_GL_NV_HALF_FLOAT\n#endif\n\n#if (defined(GL_NV_HALF_FLOAT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_HALF_FLOAT)) && !defined(REGAL_NO_DECLARATION_GL_NV_HALF_FLOAT)\n#define REGAL_NO_DECLARATION_GL_NV_HALF_FLOAT\n#endif\n\n#ifndef GL_NV_half_float\n#define GL_NV_half_float 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_HALF_FLOAT\n#define GL_HALF_FLOAT_NV 0x140b /* 5131 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_NV_HALF_FLOAT\ntypedef void (REGAL_CALL *PFNGLCOLOR3HNVPROC)(GLhalfNV red, GLhalfNV green, GLhalfNV blue);\ntypedef void (REGAL_CALL *PFNGLCOLOR3HVNVPROC)(const GLhalfNV *v);\ntypedef void (REGAL_CALL *PFNGLCOLOR4HNVPROC)(GLhalfNV red, GLhalfNV green, GLhalfNV blue, GLhalfNV alpha);\ntypedef void (REGAL_CALL *PFNGLCOLOR4HVNVPROC)(const GLhalfNV *v);\ntypedef void (REGAL_CALL *PFNGLFOGCOORDHNVPROC)(GLhalfNV coord);\ntypedef void (REGAL_CALL *PFNGLFOGCOORDHVNVPROC)(const GLhalfNV *coord);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD1HNVPROC)(GLenum target, GLhalfNV s);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD1HVNVPROC)(GLenum target, const GLhalfNV *v);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD2HNVPROC)(GLenum target, GLhalfNV s, GLhalfNV t);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD2HVNVPROC)(GLenum target, const GLhalfNV *v);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD3HNVPROC)(GLenum target, GLhalfNV s, GLhalfNV t, GLhalfNV r);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD3HVNVPROC)(GLenum target, const GLhalfNV *v);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD4HNVPROC)(GLenum target, GLhalfNV s, GLhalfNV t, GLhalfNV r, GLhalfNV q);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD4HVNVPROC)(GLenum target, const GLhalfNV *v);\ntypedef void (REGAL_CALL *PFNGLNORMAL3HNVPROC)(GLhalfNV nx, GLhalfNV ny, GLhalfNV nz);\ntypedef void (REGAL_CALL *PFNGLNORMAL3HVNVPROC)(const GLhalfNV *v);\ntypedef void (REGAL_CALL *PFNGLSECONDARYCOLOR3HNVPROC)(GLhalfNV red, GLhalfNV green, GLhalfNV blue);\ntypedef void (REGAL_CALL *PFNGLSECONDARYCOLOR3HVNVPROC)(const GLhalfNV *v);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD1HNVPROC)(GLhalfNV s);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD1HVNVPROC)(const GLhalfNV *v);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD2HNVPROC)(GLhalfNV s, GLhalfNV t);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD2HVNVPROC)(const GLhalfNV *v);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD3HNVPROC)(GLhalfNV s, GLhalfNV t, GLhalfNV r);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD3HVNVPROC)(const GLhalfNV *v);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD4HNVPROC)(GLhalfNV s, GLhalfNV t, GLhalfNV r, GLhalfNV q);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD4HVNVPROC)(const GLhalfNV *v);\ntypedef void (REGAL_CALL *PFNGLVERTEX2HNVPROC)(GLhalfNV x, GLhalfNV y);\ntypedef void (REGAL_CALL *PFNGLVERTEX2HVNVPROC)(const GLhalfNV *v);\ntypedef void (REGAL_CALL *PFNGLVERTEX3HNVPROC)(GLhalfNV x, GLhalfNV y, GLhalfNV z);\ntypedef void (REGAL_CALL *PFNGLVERTEX3HVNVPROC)(const GLhalfNV *v);\ntypedef void (REGAL_CALL *PFNGLVERTEX4HNVPROC)(GLhalfNV x, GLhalfNV y, GLhalfNV z, GLhalfNV w);\ntypedef void (REGAL_CALL *PFNGLVERTEX4HVNVPROC)(const GLhalfNV *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB1HNVPROC)(GLuint index, GLhalfNV x);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB1HVNVPROC)(GLuint index, const GLhalfNV *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB2HNVPROC)(GLuint index, GLhalfNV x, GLhalfNV y);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB2HVNVPROC)(GLuint index, const GLhalfNV *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB3HNVPROC)(GLuint index, GLhalfNV x, GLhalfNV y, GLhalfNV z);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB3HVNVPROC)(GLuint index, const GLhalfNV *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4HNVPROC)(GLuint index, GLhalfNV x, GLhalfNV y, GLhalfNV z, GLhalfNV w);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4HVNVPROC)(GLuint index, const GLhalfNV *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBS1HVNVPROC)(GLuint index, GLsizei count, const GLhalfNV *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBS2HVNVPROC)(GLuint index, GLsizei count, const GLhalfNV *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBS3HVNVPROC)(GLuint index, GLsizei count, const GLhalfNV *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBS4HVNVPROC)(GLuint index, GLsizei count, const GLhalfNV *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXWEIGHTHNVPROC)(GLhalfNV weight);\ntypedef void (REGAL_CALL *PFNGLVERTEXWEIGHTHVNVPROC)(const GLhalfNV *weight);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_NV_HALF_FLOAT\n#define glColor3hNV                         rglColor3hNV\n#define glColor3hvNV                        rglColor3hvNV\n#define glColor4hNV                         rglColor4hNV\n#define glColor4hvNV                        rglColor4hvNV\n#define glFogCoordhNV                       rglFogCoordhNV\n#define glFogCoordhvNV                      rglFogCoordhvNV\n#define glMultiTexCoord1hNV                 rglMultiTexCoord1hNV\n#define glMultiTexCoord1hvNV                rglMultiTexCoord1hvNV\n#define glMultiTexCoord2hNV                 rglMultiTexCoord2hNV\n#define glMultiTexCoord2hvNV                rglMultiTexCoord2hvNV\n#define glMultiTexCoord3hNV                 rglMultiTexCoord3hNV\n#define glMultiTexCoord3hvNV                rglMultiTexCoord3hvNV\n#define glMultiTexCoord4hNV                 rglMultiTexCoord4hNV\n#define glMultiTexCoord4hvNV                rglMultiTexCoord4hvNV\n#define glNormal3hNV                        rglNormal3hNV\n#define glNormal3hvNV                       rglNormal3hvNV\n#define glSecondaryColor3hNV                rglSecondaryColor3hNV\n#define glSecondaryColor3hvNV               rglSecondaryColor3hvNV\n#define glTexCoord1hNV                      rglTexCoord1hNV\n#define glTexCoord1hvNV                     rglTexCoord1hvNV\n#define glTexCoord2hNV                      rglTexCoord2hNV\n#define glTexCoord2hvNV                     rglTexCoord2hvNV\n#define glTexCoord3hNV                      rglTexCoord3hNV\n#define glTexCoord3hvNV                     rglTexCoord3hvNV\n#define glTexCoord4hNV                      rglTexCoord4hNV\n#define glTexCoord4hvNV                     rglTexCoord4hvNV\n#define glVertex2hNV                        rglVertex2hNV\n#define glVertex2hvNV                       rglVertex2hvNV\n#define glVertex3hNV                        rglVertex3hNV\n#define glVertex3hvNV                       rglVertex3hvNV\n#define glVertex4hNV                        rglVertex4hNV\n#define glVertex4hvNV                       rglVertex4hvNV\n#define glVertexAttrib1hNV                  rglVertexAttrib1hNV\n#define glVertexAttrib1hvNV                 rglVertexAttrib1hvNV\n#define glVertexAttrib2hNV                  rglVertexAttrib2hNV\n#define glVertexAttrib2hvNV                 rglVertexAttrib2hvNV\n#define glVertexAttrib3hNV                  rglVertexAttrib3hNV\n#define glVertexAttrib3hvNV                 rglVertexAttrib3hvNV\n#define glVertexAttrib4hNV                  rglVertexAttrib4hNV\n#define glVertexAttrib4hvNV                 rglVertexAttrib4hvNV\n#define glVertexAttribs1hvNV                rglVertexAttribs1hvNV\n#define glVertexAttribs2hvNV                rglVertexAttribs2hvNV\n#define glVertexAttribs3hvNV                rglVertexAttribs3hvNV\n#define glVertexAttribs4hvNV                rglVertexAttribs4hvNV\n#define glVertexWeighthNV                   rglVertexWeighthNV\n#define glVertexWeighthvNV                  rglVertexWeighthvNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_NV_HALF_FLOAT\nREGAL_DECL void REGAL_CALL glColor3hNV(GLhalfNV red, GLhalfNV green, GLhalfNV blue);\nREGAL_DECL void REGAL_CALL glColor3hvNV(const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL glColor4hNV(GLhalfNV red, GLhalfNV green, GLhalfNV blue, GLhalfNV alpha);\nREGAL_DECL void REGAL_CALL glColor4hvNV(const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL glFogCoordhNV(GLhalfNV coord);\nREGAL_DECL void REGAL_CALL glFogCoordhvNV(const GLhalfNV *coord);\nREGAL_DECL void REGAL_CALL glMultiTexCoord1hNV(GLenum target, GLhalfNV s);\nREGAL_DECL void REGAL_CALL glMultiTexCoord1hvNV(GLenum target, const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL glMultiTexCoord2hNV(GLenum target, GLhalfNV s, GLhalfNV t);\nREGAL_DECL void REGAL_CALL glMultiTexCoord2hvNV(GLenum target, const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL glMultiTexCoord3hNV(GLenum target, GLhalfNV s, GLhalfNV t, GLhalfNV r);\nREGAL_DECL void REGAL_CALL glMultiTexCoord3hvNV(GLenum target, const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL glMultiTexCoord4hNV(GLenum target, GLhalfNV s, GLhalfNV t, GLhalfNV r, GLhalfNV q);\nREGAL_DECL void REGAL_CALL glMultiTexCoord4hvNV(GLenum target, const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL glNormal3hNV(GLhalfNV nx, GLhalfNV ny, GLhalfNV nz);\nREGAL_DECL void REGAL_CALL glNormal3hvNV(const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL glSecondaryColor3hNV(GLhalfNV red, GLhalfNV green, GLhalfNV blue);\nREGAL_DECL void REGAL_CALL glSecondaryColor3hvNV(const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL glTexCoord1hNV(GLhalfNV s);\nREGAL_DECL void REGAL_CALL glTexCoord1hvNV(const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL glTexCoord2hNV(GLhalfNV s, GLhalfNV t);\nREGAL_DECL void REGAL_CALL glTexCoord2hvNV(const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL glTexCoord3hNV(GLhalfNV s, GLhalfNV t, GLhalfNV r);\nREGAL_DECL void REGAL_CALL glTexCoord3hvNV(const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL glTexCoord4hNV(GLhalfNV s, GLhalfNV t, GLhalfNV r, GLhalfNV q);\nREGAL_DECL void REGAL_CALL glTexCoord4hvNV(const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL glVertex2hNV(GLhalfNV x, GLhalfNV y);\nREGAL_DECL void REGAL_CALL glVertex2hvNV(const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL glVertex3hNV(GLhalfNV x, GLhalfNV y, GLhalfNV z);\nREGAL_DECL void REGAL_CALL glVertex3hvNV(const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL glVertex4hNV(GLhalfNV x, GLhalfNV y, GLhalfNV z, GLhalfNV w);\nREGAL_DECL void REGAL_CALL glVertex4hvNV(const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib1hNV(GLuint index, GLhalfNV x);\nREGAL_DECL void REGAL_CALL glVertexAttrib1hvNV(GLuint index, const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib2hNV(GLuint index, GLhalfNV x, GLhalfNV y);\nREGAL_DECL void REGAL_CALL glVertexAttrib2hvNV(GLuint index, const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib3hNV(GLuint index, GLhalfNV x, GLhalfNV y, GLhalfNV z);\nREGAL_DECL void REGAL_CALL glVertexAttrib3hvNV(GLuint index, const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib4hNV(GLuint index, GLhalfNV x, GLhalfNV y, GLhalfNV z, GLhalfNV w);\nREGAL_DECL void REGAL_CALL glVertexAttrib4hvNV(GLuint index, const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL glVertexAttribs1hvNV(GLuint index, GLsizei count, const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL glVertexAttribs2hvNV(GLuint index, GLsizei count, const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL glVertexAttribs3hvNV(GLuint index, GLsizei count, const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL glVertexAttribs4hvNV(GLuint index, GLsizei count, const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL glVertexWeighthNV(GLhalfNV weight);\nREGAL_DECL void REGAL_CALL glVertexWeighthvNV(const GLhalfNV *weight);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_NV_HALF_FLOAT\nREGAL_DECL void REGAL_CALL plugin_glColor3hNV(GLhalfNV red, GLhalfNV green, GLhalfNV blue);\nREGAL_DECL void REGAL_CALL plugin_glColor3hvNV(const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL plugin_glColor4hNV(GLhalfNV red, GLhalfNV green, GLhalfNV blue, GLhalfNV alpha);\nREGAL_DECL void REGAL_CALL plugin_glColor4hvNV(const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL plugin_glFogCoordhNV(GLhalfNV coord);\nREGAL_DECL void REGAL_CALL plugin_glFogCoordhvNV(const GLhalfNV *coord);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord1hNV(GLenum target, GLhalfNV s);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord1hvNV(GLenum target, const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord2hNV(GLenum target, GLhalfNV s, GLhalfNV t);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord2hvNV(GLenum target, const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord3hNV(GLenum target, GLhalfNV s, GLhalfNV t, GLhalfNV r);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord3hvNV(GLenum target, const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord4hNV(GLenum target, GLhalfNV s, GLhalfNV t, GLhalfNV r, GLhalfNV q);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord4hvNV(GLenum target, const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL plugin_glNormal3hNV(GLhalfNV nx, GLhalfNV ny, GLhalfNV nz);\nREGAL_DECL void REGAL_CALL plugin_glNormal3hvNV(const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL plugin_glSecondaryColor3hNV(GLhalfNV red, GLhalfNV green, GLhalfNV blue);\nREGAL_DECL void REGAL_CALL plugin_glSecondaryColor3hvNV(const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord1hNV(GLhalfNV s);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord1hvNV(const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord2hNV(GLhalfNV s, GLhalfNV t);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord2hvNV(const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord3hNV(GLhalfNV s, GLhalfNV t, GLhalfNV r);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord3hvNV(const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord4hNV(GLhalfNV s, GLhalfNV t, GLhalfNV r, GLhalfNV q);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord4hvNV(const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL plugin_glVertex2hNV(GLhalfNV x, GLhalfNV y);\nREGAL_DECL void REGAL_CALL plugin_glVertex2hvNV(const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL plugin_glVertex3hNV(GLhalfNV x, GLhalfNV y, GLhalfNV z);\nREGAL_DECL void REGAL_CALL plugin_glVertex3hvNV(const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL plugin_glVertex4hNV(GLhalfNV x, GLhalfNV y, GLhalfNV z, GLhalfNV w);\nREGAL_DECL void REGAL_CALL plugin_glVertex4hvNV(const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib1hNV(GLuint index, GLhalfNV x);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib1hvNV(GLuint index, const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib2hNV(GLuint index, GLhalfNV x, GLhalfNV y);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib2hvNV(GLuint index, const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib3hNV(GLuint index, GLhalfNV x, GLhalfNV y, GLhalfNV z);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib3hvNV(GLuint index, const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4hNV(GLuint index, GLhalfNV x, GLhalfNV y, GLhalfNV z, GLhalfNV w);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4hvNV(GLuint index, const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribs1hvNV(GLuint index, GLsizei count, const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribs2hvNV(GLuint index, GLsizei count, const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribs3hvNV(GLuint index, GLsizei count, const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribs4hvNV(GLuint index, GLsizei count, const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexWeighthNV(GLhalfNV weight);\nREGAL_DECL void REGAL_CALL plugin_glVertexWeighthvNV(const GLhalfNV *weight);\n#endif\n\n/**\n ** GL_NV_instanced_arrays\n **/\n\n#if (defined(GL_NV_INSTANCED_ARRAYS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_INSTANCED_ARRAYS)) && !defined(REGAL_NO_ENUM_GL_NV_INSTANCED_ARRAYS)\n#define REGAL_NO_ENUM_GL_NV_INSTANCED_ARRAYS\n#endif\n\n#if (defined(GL_NV_INSTANCED_ARRAYS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_INSTANCED_ARRAYS)) && !defined(REGAL_NO_TYPEDEF_GL_NV_INSTANCED_ARRAYS)\n#define REGAL_NO_TYPEDEF_GL_NV_INSTANCED_ARRAYS\n#endif\n\n#if (defined(GL_NV_INSTANCED_ARRAYS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_INSTANCED_ARRAYS)) && !defined(REGAL_NO_NAMESPACE_GL_NV_INSTANCED_ARRAYS)\n#define REGAL_NO_NAMESPACE_GL_NV_INSTANCED_ARRAYS\n#endif\n\n#if (defined(GL_NV_INSTANCED_ARRAYS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_INSTANCED_ARRAYS)) && !defined(REGAL_NO_PLUGIN_GL_NV_INSTANCED_ARRAYS)\n#define REGAL_NO_PLUGIN_GL_NV_INSTANCED_ARRAYS\n#endif\n\n#if (defined(GL_NV_INSTANCED_ARRAYS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_INSTANCED_ARRAYS)) && !defined(REGAL_NO_DECLARATION_GL_NV_INSTANCED_ARRAYS)\n#define REGAL_NO_DECLARATION_GL_NV_INSTANCED_ARRAYS\n#endif\n\n#ifndef GL_NV_instanced_arrays\n#define GL_NV_instanced_arrays 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_INSTANCED_ARRAYS\n#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_NV 0x88fe /* 35070 */\n#endif\n\n/**\n ** GL_NV_light_max_exponent\n **/\n\n#if (defined(GL_NV_LIGHT_MAX_EXPONENT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_LIGHT_MAX_EXPONENT)) && !defined(REGAL_NO_ENUM_GL_NV_LIGHT_MAX_EXPONENT)\n#define REGAL_NO_ENUM_GL_NV_LIGHT_MAX_EXPONENT\n#endif\n\n#if (defined(GL_NV_LIGHT_MAX_EXPONENT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_LIGHT_MAX_EXPONENT)) && !defined(REGAL_NO_TYPEDEF_GL_NV_LIGHT_MAX_EXPONENT)\n#define REGAL_NO_TYPEDEF_GL_NV_LIGHT_MAX_EXPONENT\n#endif\n\n#if (defined(GL_NV_LIGHT_MAX_EXPONENT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_LIGHT_MAX_EXPONENT)) && !defined(REGAL_NO_NAMESPACE_GL_NV_LIGHT_MAX_EXPONENT)\n#define REGAL_NO_NAMESPACE_GL_NV_LIGHT_MAX_EXPONENT\n#endif\n\n#if (defined(GL_NV_LIGHT_MAX_EXPONENT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_LIGHT_MAX_EXPONENT)) && !defined(REGAL_NO_PLUGIN_GL_NV_LIGHT_MAX_EXPONENT)\n#define REGAL_NO_PLUGIN_GL_NV_LIGHT_MAX_EXPONENT\n#endif\n\n#if (defined(GL_NV_LIGHT_MAX_EXPONENT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_LIGHT_MAX_EXPONENT)) && !defined(REGAL_NO_DECLARATION_GL_NV_LIGHT_MAX_EXPONENT)\n#define REGAL_NO_DECLARATION_GL_NV_LIGHT_MAX_EXPONENT\n#endif\n\n#ifndef GL_NV_light_max_exponent\n#define GL_NV_light_max_exponent 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_LIGHT_MAX_EXPONENT\n#define GL_MAX_SHININESS_NV     0x8504     /* 34052 */\n#define GL_MAX_SPOT_EXPONENT_NV 0x8505     /* 34053 */\n#endif\n\n/**\n ** GL_NV_multisample_coverage\n **/\n\n#if (defined(GL_NV_MULTISAMPLE_COVERAGE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_MULTISAMPLE_COVERAGE)) && !defined(REGAL_NO_ENUM_GL_NV_MULTISAMPLE_COVERAGE)\n#define REGAL_NO_ENUM_GL_NV_MULTISAMPLE_COVERAGE\n#endif\n\n#if (defined(GL_NV_MULTISAMPLE_COVERAGE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_MULTISAMPLE_COVERAGE)) && !defined(REGAL_NO_TYPEDEF_GL_NV_MULTISAMPLE_COVERAGE)\n#define REGAL_NO_TYPEDEF_GL_NV_MULTISAMPLE_COVERAGE\n#endif\n\n#if (defined(GL_NV_MULTISAMPLE_COVERAGE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_MULTISAMPLE_COVERAGE)) && !defined(REGAL_NO_NAMESPACE_GL_NV_MULTISAMPLE_COVERAGE)\n#define REGAL_NO_NAMESPACE_GL_NV_MULTISAMPLE_COVERAGE\n#endif\n\n#if (defined(GL_NV_MULTISAMPLE_COVERAGE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_MULTISAMPLE_COVERAGE)) && !defined(REGAL_NO_PLUGIN_GL_NV_MULTISAMPLE_COVERAGE)\n#define REGAL_NO_PLUGIN_GL_NV_MULTISAMPLE_COVERAGE\n#endif\n\n#if (defined(GL_NV_MULTISAMPLE_COVERAGE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_MULTISAMPLE_COVERAGE)) && !defined(REGAL_NO_DECLARATION_GL_NV_MULTISAMPLE_COVERAGE)\n#define REGAL_NO_DECLARATION_GL_NV_MULTISAMPLE_COVERAGE\n#endif\n\n#ifndef GL_NV_multisample_coverage\n#define GL_NV_multisample_coverage 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_MULTISAMPLE_COVERAGE\n#define GL_COVERAGE_SAMPLES_NV 0x80a9     /* 32937 */\n#define GL_COLOR_SAMPLES_NV    0x8e20     /* 36384 */\n#endif\n\n/**\n ** GL_NV_multisample_filter_hint\n **/\n\n#if (defined(GL_NV_MULTISAMPLE_FILTER_HINT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_MULTISAMPLE_FILTER_HINT)) && !defined(REGAL_NO_ENUM_GL_NV_MULTISAMPLE_FILTER_HINT)\n#define REGAL_NO_ENUM_GL_NV_MULTISAMPLE_FILTER_HINT\n#endif\n\n#if (defined(GL_NV_MULTISAMPLE_FILTER_HINT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_MULTISAMPLE_FILTER_HINT)) && !defined(REGAL_NO_TYPEDEF_GL_NV_MULTISAMPLE_FILTER_HINT)\n#define REGAL_NO_TYPEDEF_GL_NV_MULTISAMPLE_FILTER_HINT\n#endif\n\n#if (defined(GL_NV_MULTISAMPLE_FILTER_HINT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_MULTISAMPLE_FILTER_HINT)) && !defined(REGAL_NO_NAMESPACE_GL_NV_MULTISAMPLE_FILTER_HINT)\n#define REGAL_NO_NAMESPACE_GL_NV_MULTISAMPLE_FILTER_HINT\n#endif\n\n#if (defined(GL_NV_MULTISAMPLE_FILTER_HINT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_MULTISAMPLE_FILTER_HINT)) && !defined(REGAL_NO_PLUGIN_GL_NV_MULTISAMPLE_FILTER_HINT)\n#define REGAL_NO_PLUGIN_GL_NV_MULTISAMPLE_FILTER_HINT\n#endif\n\n#if (defined(GL_NV_MULTISAMPLE_FILTER_HINT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_MULTISAMPLE_FILTER_HINT)) && !defined(REGAL_NO_DECLARATION_GL_NV_MULTISAMPLE_FILTER_HINT)\n#define REGAL_NO_DECLARATION_GL_NV_MULTISAMPLE_FILTER_HINT\n#endif\n\n#ifndef GL_NV_multisample_filter_hint\n#define GL_NV_multisample_filter_hint 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_MULTISAMPLE_FILTER_HINT\n#define GL_MULTISAMPLE_FILTER_HINT_NV 0x8534 /* 34100 */\n#endif\n\n/**\n ** GL_NV_occlusion_query\n **/\n\n#if (defined(GL_NV_OCCLUSION_QUERY) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_OCCLUSION_QUERY)) && !defined(REGAL_NO_ENUM_GL_NV_OCCLUSION_QUERY)\n#define REGAL_NO_ENUM_GL_NV_OCCLUSION_QUERY\n#endif\n\n#if (defined(GL_NV_OCCLUSION_QUERY) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_OCCLUSION_QUERY)) && !defined(REGAL_NO_TYPEDEF_GL_NV_OCCLUSION_QUERY)\n#define REGAL_NO_TYPEDEF_GL_NV_OCCLUSION_QUERY\n#endif\n\n#if (defined(GL_NV_OCCLUSION_QUERY) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_OCCLUSION_QUERY)) && !defined(REGAL_NO_NAMESPACE_GL_NV_OCCLUSION_QUERY)\n#define REGAL_NO_NAMESPACE_GL_NV_OCCLUSION_QUERY\n#endif\n\n#if (defined(GL_NV_OCCLUSION_QUERY) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_OCCLUSION_QUERY)) && !defined(REGAL_NO_PLUGIN_GL_NV_OCCLUSION_QUERY)\n#define REGAL_NO_PLUGIN_GL_NV_OCCLUSION_QUERY\n#endif\n\n#if (defined(GL_NV_OCCLUSION_QUERY) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_OCCLUSION_QUERY)) && !defined(REGAL_NO_DECLARATION_GL_NV_OCCLUSION_QUERY)\n#define REGAL_NO_DECLARATION_GL_NV_OCCLUSION_QUERY\n#endif\n\n#ifndef GL_NV_occlusion_query\n#define GL_NV_occlusion_query 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_OCCLUSION_QUERY\n#define GL_PIXEL_COUNTER_BITS_NV         0x8864     /* 34916 */\n#define GL_CURRENT_OCCLUSION_QUERY_ID_NV 0x8865     /* 34917 */\n#define GL_PIXEL_COUNT_NV                0x8866     /* 34918 */\n#define GL_PIXEL_COUNT_AVAILABLE_NV      0x8867     /* 34919 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_NV_OCCLUSION_QUERY\ntypedef GLboolean (REGAL_CALL *PFNGLISOCCLUSIONQUERYNVPROC)(GLuint id);\ntypedef void (REGAL_CALL *PFNGLBEGINOCCLUSIONQUERYNVPROC)(GLuint id);\ntypedef void (REGAL_CALL *PFNGLDELETEOCCLUSIONQUERIESNVPROC)(GLsizei n, const GLuint *ids);\ntypedef void (REGAL_CALL *PFNGLENDOCCLUSIONQUERYNVPROC)(void);\ntypedef void (REGAL_CALL *PFNGLGENOCCLUSIONQUERIESNVPROC)(GLsizei n, GLuint *ids);\ntypedef void (REGAL_CALL *PFNGLGETOCCLUSIONQUERYIVNVPROC)(GLuint id, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETOCCLUSIONQUERYUIVNVPROC)(GLuint id, GLenum pname, GLuint *params);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_NV_OCCLUSION_QUERY\n#define glBeginOcclusionQueryNV             rglBeginOcclusionQueryNV\n#define glDeleteOcclusionQueriesNV          rglDeleteOcclusionQueriesNV\n#define glEndOcclusionQueryNV               rglEndOcclusionQueryNV\n#define glGenOcclusionQueriesNV             rglGenOcclusionQueriesNV\n#define glGetOcclusionQueryivNV             rglGetOcclusionQueryivNV\n#define glGetOcclusionQueryuivNV            rglGetOcclusionQueryuivNV\n#define glIsOcclusionQueryNV                rglIsOcclusionQueryNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_NV_OCCLUSION_QUERY\nREGAL_DECL GLboolean REGAL_CALL glIsOcclusionQueryNV(GLuint id);\nREGAL_DECL void REGAL_CALL glBeginOcclusionQueryNV(GLuint id);\nREGAL_DECL void REGAL_CALL glDeleteOcclusionQueriesNV(GLsizei n, const GLuint *ids);\nREGAL_DECL void REGAL_CALL glEndOcclusionQueryNV(void);\nREGAL_DECL void REGAL_CALL glGenOcclusionQueriesNV(GLsizei n, GLuint *ids);\nREGAL_DECL void REGAL_CALL glGetOcclusionQueryivNV(GLuint id, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetOcclusionQueryuivNV(GLuint id, GLenum pname, GLuint *params);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_NV_OCCLUSION_QUERY\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsOcclusionQueryNV(GLuint id);\nREGAL_DECL void REGAL_CALL plugin_glBeginOcclusionQueryNV(GLuint id);\nREGAL_DECL void REGAL_CALL plugin_glDeleteOcclusionQueriesNV(GLsizei n, const GLuint *ids);\nREGAL_DECL void REGAL_CALL plugin_glEndOcclusionQueryNV(void);\nREGAL_DECL void REGAL_CALL plugin_glGenOcclusionQueriesNV(GLsizei n, GLuint *ids);\nREGAL_DECL void REGAL_CALL plugin_glGetOcclusionQueryivNV(GLuint id, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetOcclusionQueryuivNV(GLuint id, GLenum pname, GLuint *params);\n#endif\n\n/**\n ** GL_NV_pack_subimage\n **/\n\n#if (defined(GL_NV_PACK_SUBIMAGE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_PACK_SUBIMAGE)) && !defined(REGAL_NO_ENUM_GL_NV_PACK_SUBIMAGE)\n#define REGAL_NO_ENUM_GL_NV_PACK_SUBIMAGE\n#endif\n\n#if (defined(GL_NV_PACK_SUBIMAGE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_PACK_SUBIMAGE)) && !defined(REGAL_NO_TYPEDEF_GL_NV_PACK_SUBIMAGE)\n#define REGAL_NO_TYPEDEF_GL_NV_PACK_SUBIMAGE\n#endif\n\n#if (defined(GL_NV_PACK_SUBIMAGE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_PACK_SUBIMAGE)) && !defined(REGAL_NO_NAMESPACE_GL_NV_PACK_SUBIMAGE)\n#define REGAL_NO_NAMESPACE_GL_NV_PACK_SUBIMAGE\n#endif\n\n#if (defined(GL_NV_PACK_SUBIMAGE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_PACK_SUBIMAGE)) && !defined(REGAL_NO_PLUGIN_GL_NV_PACK_SUBIMAGE)\n#define REGAL_NO_PLUGIN_GL_NV_PACK_SUBIMAGE\n#endif\n\n#if (defined(GL_NV_PACK_SUBIMAGE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_PACK_SUBIMAGE)) && !defined(REGAL_NO_DECLARATION_GL_NV_PACK_SUBIMAGE)\n#define REGAL_NO_DECLARATION_GL_NV_PACK_SUBIMAGE\n#endif\n\n#ifndef GL_NV_pack_subimage\n#define GL_NV_pack_subimage 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_PACK_SUBIMAGE\n#define GL_PACK_ROW_LENGTH_NV  0xd02     /* 3330 */\n#define GL_PACK_SKIP_ROWS_NV   0xd03     /* 3331 */\n#define GL_PACK_SKIP_PIXELS_NV 0xd04     /* 3332 */\n#endif\n\n/**\n ** GL_NV_packed_depth_stencil\n **/\n\n#if (defined(GL_NV_PACKED_DEPTH_STENCIL) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_PACKED_DEPTH_STENCIL)) && !defined(REGAL_NO_ENUM_GL_NV_PACKED_DEPTH_STENCIL)\n#define REGAL_NO_ENUM_GL_NV_PACKED_DEPTH_STENCIL\n#endif\n\n#if (defined(GL_NV_PACKED_DEPTH_STENCIL) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_PACKED_DEPTH_STENCIL)) && !defined(REGAL_NO_TYPEDEF_GL_NV_PACKED_DEPTH_STENCIL)\n#define REGAL_NO_TYPEDEF_GL_NV_PACKED_DEPTH_STENCIL\n#endif\n\n#if (defined(GL_NV_PACKED_DEPTH_STENCIL) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_PACKED_DEPTH_STENCIL)) && !defined(REGAL_NO_NAMESPACE_GL_NV_PACKED_DEPTH_STENCIL)\n#define REGAL_NO_NAMESPACE_GL_NV_PACKED_DEPTH_STENCIL\n#endif\n\n#if (defined(GL_NV_PACKED_DEPTH_STENCIL) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_PACKED_DEPTH_STENCIL)) && !defined(REGAL_NO_PLUGIN_GL_NV_PACKED_DEPTH_STENCIL)\n#define REGAL_NO_PLUGIN_GL_NV_PACKED_DEPTH_STENCIL\n#endif\n\n#if (defined(GL_NV_PACKED_DEPTH_STENCIL) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_PACKED_DEPTH_STENCIL)) && !defined(REGAL_NO_DECLARATION_GL_NV_PACKED_DEPTH_STENCIL)\n#define REGAL_NO_DECLARATION_GL_NV_PACKED_DEPTH_STENCIL\n#endif\n\n#ifndef GL_NV_packed_depth_stencil\n#define GL_NV_packed_depth_stencil 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_PACKED_DEPTH_STENCIL\n#define GL_DEPTH_STENCIL_NV     0x84f9     /* 34041 */\n#define GL_UNSIGNED_INT_24_8_NV 0x84fa     /* 34042 */\n#endif\n\n/**\n ** GL_NV_packed_float_linear\n **/\n\n#if (defined(GL_NV_PACKED_FLOAT_LINEAR) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_PACKED_FLOAT_LINEAR)) && !defined(REGAL_NO_ENUM_GL_NV_PACKED_FLOAT_LINEAR)\n#define REGAL_NO_ENUM_GL_NV_PACKED_FLOAT_LINEAR\n#endif\n\n#if (defined(GL_NV_PACKED_FLOAT_LINEAR) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_PACKED_FLOAT_LINEAR)) && !defined(REGAL_NO_TYPEDEF_GL_NV_PACKED_FLOAT_LINEAR)\n#define REGAL_NO_TYPEDEF_GL_NV_PACKED_FLOAT_LINEAR\n#endif\n\n#if (defined(GL_NV_PACKED_FLOAT_LINEAR) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_PACKED_FLOAT_LINEAR)) && !defined(REGAL_NO_NAMESPACE_GL_NV_PACKED_FLOAT_LINEAR)\n#define REGAL_NO_NAMESPACE_GL_NV_PACKED_FLOAT_LINEAR\n#endif\n\n#if (defined(GL_NV_PACKED_FLOAT_LINEAR) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_PACKED_FLOAT_LINEAR)) && !defined(REGAL_NO_PLUGIN_GL_NV_PACKED_FLOAT_LINEAR)\n#define REGAL_NO_PLUGIN_GL_NV_PACKED_FLOAT_LINEAR\n#endif\n\n#if (defined(GL_NV_PACKED_FLOAT_LINEAR) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_PACKED_FLOAT_LINEAR)) && !defined(REGAL_NO_DECLARATION_GL_NV_PACKED_FLOAT_LINEAR)\n#define REGAL_NO_DECLARATION_GL_NV_PACKED_FLOAT_LINEAR\n#endif\n\n#ifndef GL_NV_packed_float_linear\n#define GL_NV_packed_float_linear 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_PACKED_FLOAT_LINEAR\n#define GL_R11F_G11F_B10F_NV               0x8c3a     /* 35898 */\n#define GL_UNSIGNED_INT_10F_11F_11F_REV_NV 0x8c3b     /* 35899 */\n#endif\n\n/**\n ** GL_NV_parameter_buffer_object\n **/\n\n#if (defined(GL_NV_PARAMETER_BUFFER_OBJECT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_PARAMETER_BUFFER_OBJECT)) && !defined(REGAL_NO_ENUM_GL_NV_PARAMETER_BUFFER_OBJECT)\n#define REGAL_NO_ENUM_GL_NV_PARAMETER_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_NV_PARAMETER_BUFFER_OBJECT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_PARAMETER_BUFFER_OBJECT)) && !defined(REGAL_NO_TYPEDEF_GL_NV_PARAMETER_BUFFER_OBJECT)\n#define REGAL_NO_TYPEDEF_GL_NV_PARAMETER_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_NV_PARAMETER_BUFFER_OBJECT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_PARAMETER_BUFFER_OBJECT)) && !defined(REGAL_NO_NAMESPACE_GL_NV_PARAMETER_BUFFER_OBJECT)\n#define REGAL_NO_NAMESPACE_GL_NV_PARAMETER_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_NV_PARAMETER_BUFFER_OBJECT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_PARAMETER_BUFFER_OBJECT)) && !defined(REGAL_NO_PLUGIN_GL_NV_PARAMETER_BUFFER_OBJECT)\n#define REGAL_NO_PLUGIN_GL_NV_PARAMETER_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_NV_PARAMETER_BUFFER_OBJECT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_PARAMETER_BUFFER_OBJECT)) && !defined(REGAL_NO_DECLARATION_GL_NV_PARAMETER_BUFFER_OBJECT)\n#define REGAL_NO_DECLARATION_GL_NV_PARAMETER_BUFFER_OBJECT\n#endif\n\n#ifndef GL_NV_parameter_buffer_object\n#define GL_NV_parameter_buffer_object 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_PARAMETER_BUFFER_OBJECT\n#define GL_MAX_PROGRAM_PARAMETER_BUFFER_BINDINGS_NV 0x8da0     /* 36256 */\n#define GL_MAX_PROGRAM_PARAMETER_BUFFER_SIZE_NV     0x8da1     /* 36257 */\n#define GL_VERTEX_PROGRAM_PARAMETER_BUFFER_NV       0x8da2     /* 36258 */\n#define GL_GEOMETRY_PROGRAM_PARAMETER_BUFFER_NV     0x8da3     /* 36259 */\n#define GL_FRAGMENT_PROGRAM_PARAMETER_BUFFER_NV     0x8da4     /* 36260 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_NV_PARAMETER_BUFFER_OBJECT\ntypedef void (REGAL_CALL *PFNGLPROGRAMBUFFERPARAMETERSFVNVPROC)(GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLPROGRAMBUFFERPARAMETERSIIVNVPROC)(GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLint *params);\ntypedef void (REGAL_CALL *PFNGLPROGRAMBUFFERPARAMETERSIUIVNVPROC)(GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLuint *params);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_NV_PARAMETER_BUFFER_OBJECT\n#define glProgramBufferParametersIivNV      rglProgramBufferParametersIivNV\n#define glProgramBufferParametersIuivNV     rglProgramBufferParametersIuivNV\n#define glProgramBufferParametersfvNV       rglProgramBufferParametersfvNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_NV_PARAMETER_BUFFER_OBJECT\nREGAL_DECL void REGAL_CALL glProgramBufferParametersIivNV(GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLint *params);\nREGAL_DECL void REGAL_CALL glProgramBufferParametersIuivNV(GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLuint *params);\nREGAL_DECL void REGAL_CALL glProgramBufferParametersfvNV(GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLfloat *params);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_NV_PARAMETER_BUFFER_OBJECT\nREGAL_DECL void REGAL_CALL plugin_glProgramBufferParametersIivNV(GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glProgramBufferParametersIuivNV(GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLuint *params);\nREGAL_DECL void REGAL_CALL plugin_glProgramBufferParametersfvNV(GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLfloat *params);\n#endif\n\n/**\n ** GL_NV_path_rendering\n **/\n\n#if (defined(GL_NV_PATH_RENDERING) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_PATH_RENDERING)) && !defined(REGAL_NO_ENUM_GL_NV_PATH_RENDERING)\n#define REGAL_NO_ENUM_GL_NV_PATH_RENDERING\n#endif\n\n#if (defined(GL_NV_PATH_RENDERING) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_PATH_RENDERING)) && !defined(REGAL_NO_TYPEDEF_GL_NV_PATH_RENDERING)\n#define REGAL_NO_TYPEDEF_GL_NV_PATH_RENDERING\n#endif\n\n#if (defined(GL_NV_PATH_RENDERING) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_PATH_RENDERING)) && !defined(REGAL_NO_NAMESPACE_GL_NV_PATH_RENDERING)\n#define REGAL_NO_NAMESPACE_GL_NV_PATH_RENDERING\n#endif\n\n#if (defined(GL_NV_PATH_RENDERING) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_PATH_RENDERING)) && !defined(REGAL_NO_PLUGIN_GL_NV_PATH_RENDERING)\n#define REGAL_NO_PLUGIN_GL_NV_PATH_RENDERING\n#endif\n\n#if (defined(GL_NV_PATH_RENDERING) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_PATH_RENDERING)) && !defined(REGAL_NO_DECLARATION_GL_NV_PATH_RENDERING)\n#define REGAL_NO_DECLARATION_GL_NV_PATH_RENDERING\n#endif\n\n#ifndef GL_NV_path_rendering\n#define GL_NV_path_rendering 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_PATH_RENDERING\n#define GL_CLOSE_PATH_NV                           0x0\n#define GL_BOLD_BIT_NV                             0x1\n#define GL_GLYPH_WIDTH_BIT_NV                      0x1\n#define GL_GLYPH_HORIZONTAL_BEARING_ADVANCE_BIT_NV 0x10           /* 16 */\n#define GL_SMOOTH_CUBIC_CURVE_TO_NV                0x10           /* 16 */\n#define GL_GLYPH_HAS_KERNING_BIT_NV                0x100          /* 256 */\n#define GL_FONT_X_MIN_BOUNDS_BIT_NV                0x10000        /* 65536 */\n#define GL_FONT_UNITS_PER_EM_BIT_NV                0x100000       /* 1048576 */\n#define GL_FONT_MAX_ADVANCE_WIDTH_BIT_NV           0x1000000      /* 16777216 */\n#define GL_FONT_HAS_KERNING_BIT_NV                 0x10000000     /* 268435456 */\n#define GL_RELATIVE_SMOOTH_CUBIC_CURVE_TO_NV       0x11           /* 17 */\n#define GL_SMALL_CCW_ARC_TO_NV                     0x12           /* 18 */\n#define GL_RELATIVE_SMALL_CCW_ARC_TO_NV            0x13           /* 19 */\n#define GL_SMALL_CW_ARC_TO_NV                      0x14           /* 20 */\n#define GL_RELATIVE_SMALL_CW_ARC_TO_NV             0x15           /* 21 */\n#define GL_LARGE_CCW_ARC_TO_NV                     0x16           /* 22 */\n#define GL_RELATIVE_LARGE_CCW_ARC_TO_NV            0x17           /* 23 */\n#define GL_LARGE_CW_ARC_TO_NV                      0x18           /* 24 */\n#define GL_RELATIVE_LARGE_CW_ARC_TO_NV             0x19           /* 25 */\n#define GL_GLYPH_HEIGHT_BIT_NV                     0x2\n#define GL_ITALIC_BIT_NV                           0x2\n#define GL_MOVE_TO_NV                              0x2\n#define GL_GLYPH_VERTICAL_BEARING_X_BIT_NV         0x20           /* 32 */\n#define GL_FONT_Y_MIN_BOUNDS_BIT_NV                0x20000        /* 131072 */\n#define GL_FONT_ASCENDER_BIT_NV                    0x200000       /* 2097152 */\n#define GL_FONT_MAX_ADVANCE_HEIGHT_BIT_NV          0x2000000      /* 33554432 */\n#define GL_RELATIVE_MOVE_TO_NV                     0x3\n#define GL_GLYPH_HORIZONTAL_BEARING_X_BIT_NV       0x4\n#define GL_LINE_TO_NV                              0x4\n#define GL_GLYPH_VERTICAL_BEARING_Y_BIT_NV         0x40           /* 64 */\n#define GL_FONT_X_MAX_BOUNDS_BIT_NV                0x40000        /* 262144 */\n#define GL_FONT_DESCENDER_BIT_NV                   0x400000       /* 4194304 */\n#define GL_FONT_UNDERLINE_POSITION_BIT_NV          0x4000000      /* 67108864 */\n#define GL_RELATIVE_LINE_TO_NV                     0x5\n#define GL_HORIZONTAL_LINE_TO_NV                   0x6\n#define GL_RELATIVE_HORIZONTAL_LINE_TO_NV          0x7\n#define GL_GLYPH_HORIZONTAL_BEARING_Y_BIT_NV       0x8\n#define GL_VERTICAL_LINE_TO_NV                     0x8\n#define GL_GLYPH_VERTICAL_BEARING_ADVANCE_BIT_NV   0x80           /* 128 */\n#define GL_FONT_Y_MAX_BOUNDS_BIT_NV                0x80000        /* 524288 */\n#define GL_FONT_HEIGHT_BIT_NV                      0x800000       /* 8388608 */\n#define GL_FONT_UNDERLINE_THICKNESS_BIT_NV         0x8000000      /* 134217728 */\n#define GL_RELATIVE_VERTICAL_LINE_TO_NV            0x9\n#define GL_PATH_FORMAT_SVG_NV                      0x9070         /* 36976 */\n#define GL_PATH_FORMAT_PS_NV                       0x9071         /* 36977 */\n#define GL_STANDARD_FONT_NAME_NV                   0x9072         /* 36978 */\n#define GL_SYSTEM_FONT_NAME_NV                     0x9073         /* 36979 */\n#define GL_FILE_NAME_NV                            0x9074         /* 36980 */\n#define GL_PATH_STROKE_WIDTH_NV                    0x9075         /* 36981 */\n#define GL_PATH_END_CAPS_NV                        0x9076         /* 36982 */\n#define GL_PATH_INITIAL_END_CAP_NV                 0x9077         /* 36983 */\n#define GL_PATH_TERMINAL_END_CAP_NV                0x9078         /* 36984 */\n#define GL_PATH_JOIN_STYLE_NV                      0x9079         /* 36985 */\n#define GL_PATH_MITER_LIMIT_NV                     0x907a         /* 36986 */\n#define GL_PATH_DASH_CAPS_NV                       0x907b         /* 36987 */\n#define GL_PATH_INITIAL_DASH_CAP_NV                0x907c         /* 36988 */\n#define GL_PATH_TERMINAL_DASH_CAP_NV               0x907d         /* 36989 */\n#define GL_PATH_DASH_OFFSET_NV                     0x907e         /* 36990 */\n#define GL_PATH_CLIENT_LENGTH_NV                   0x907f         /* 36991 */\n#define GL_PATH_FILL_MODE_NV                       0x9080         /* 36992 */\n#define GL_PATH_FILL_MASK_NV                       0x9081         /* 36993 */\n#define GL_PATH_FILL_COVER_MODE_NV                 0x9082         /* 36994 */\n#define GL_PATH_STROKE_COVER_MODE_NV               0x9083         /* 36995 */\n#define GL_PATH_STROKE_MASK_NV                     0x9084         /* 36996 */\n#define GL_COUNT_UP_NV                             0x9088         /* 37000 */\n#define GL_COUNT_DOWN_NV                           0x9089         /* 37001 */\n#define GL_PATH_OBJECT_BOUNDING_BOX_NV             0x908a         /* 37002 */\n#define GL_CONVEX_HULL_NV                          0x908b         /* 37003 */\n#define GL_BOUNDING_BOX_NV                         0x908d         /* 37005 */\n#define GL_TRANSLATE_X_NV                          0x908e         /* 37006 */\n#define GL_TRANSLATE_Y_NV                          0x908f         /* 37007 */\n#define GL_TRANSLATE_2D_NV                         0x9090         /* 37008 */\n#define GL_TRANSLATE_3D_NV                         0x9091         /* 37009 */\n#define GL_AFFINE_2D_NV                            0x9092         /* 37010 */\n#define GL_AFFINE_3D_NV                            0x9094         /* 37012 */\n#define GL_TRANSPOSE_AFFINE_2D_NV                  0x9096         /* 37014 */\n#define GL_TRANSPOSE_AFFINE_3D_NV                  0x9098         /* 37016 */\n#define GL_UTF8_NV                                 0x909a         /* 37018 */\n#define GL_UTF16_NV                                0x909b         /* 37019 */\n#define GL_BOUNDING_BOX_OF_BOUNDING_BOXES_NV       0x909c         /* 37020 */\n#define GL_PATH_COMMAND_COUNT_NV                   0x909d         /* 37021 */\n#define GL_PATH_COORD_COUNT_NV                     0x909e         /* 37022 */\n#define GL_PATH_DASH_ARRAY_COUNT_NV                0x909f         /* 37023 */\n#define GL_PATH_COMPUTED_LENGTH_NV                 0x90a0         /* 37024 */\n#define GL_PATH_FILL_BOUNDING_BOX_NV               0x90a1         /* 37025 */\n#define GL_PATH_STROKE_BOUNDING_BOX_NV             0x90a2         /* 37026 */\n#define GL_SQUARE_NV                               0x90a3         /* 37027 */\n#define GL_ROUND_NV                                0x90a4         /* 37028 */\n#define GL_TRIANGULAR_NV                           0x90a5         /* 37029 */\n#define GL_BEVEL_NV                                0x90a6         /* 37030 */\n#define GL_MITER_REVERT_NV                         0x90a7         /* 37031 */\n#define GL_MITER_TRUNCATE_NV                       0x90a8         /* 37032 */\n#define GL_SKIP_MISSING_GLYPH_NV                   0x90a9         /* 37033 */\n#define GL_USE_MISSING_GLYPH_NV                    0x90aa         /* 37034 */\n#define GL_PATH_ERROR_POSITION_NV                  0x90ab         /* 37035 */\n#define GL_PATH_FOG_GEN_MODE_NV                    0x90ac         /* 37036 */\n#define GL_ACCUM_ADJACENT_PAIRS_NV                 0x90ad         /* 37037 */\n#define GL_ADJACENT_PAIRS_NV                       0x90ae         /* 37038 */\n#define GL_FIRST_TO_REST_NV                        0x90af         /* 37039 */\n#define GL_PATH_GEN_MODE_NV                        0x90b0         /* 37040 */\n#define GL_PATH_GEN_COEFF_NV                       0x90b1         /* 37041 */\n#define GL_PATH_GEN_COLOR_FORMAT_NV                0x90b2         /* 37042 */\n#define GL_PATH_GEN_COMPONENTS_NV                  0x90b3         /* 37043 */\n#define GL_PATH_DASH_OFFSET_RESET_NV               0x90b4         /* 37044 */\n#define GL_MOVE_TO_RESETS_NV                       0x90b5         /* 37045 */\n#define GL_MOVE_TO_CONTINUES_NV                    0x90b6         /* 37046 */\n#define GL_PATH_STENCIL_FUNC_NV                    0x90b7         /* 37047 */\n#define GL_PATH_STENCIL_REF_NV                     0x90b8         /* 37048 */\n#define GL_PATH_STENCIL_VALUE_MASK_NV              0x90b9         /* 37049 */\n#define GL_PATH_STENCIL_DEPTH_OFFSET_FACTOR_NV     0x90bd         /* 37053 */\n#define GL_PATH_STENCIL_DEPTH_OFFSET_UNITS_NV      0x90be         /* 37054 */\n#define GL_PATH_COVER_DEPTH_FUNC_NV                0x90bf         /* 37055 */\n#define GL_QUADRATIC_CURVE_TO_NV                   0xa            /* 10 */\n#define GL_RELATIVE_QUADRATIC_CURVE_TO_NV          0xb            /* 11 */\n#define GL_CUBIC_CURVE_TO_NV                       0xc            /* 12 */\n#define GL_RELATIVE_CUBIC_CURVE_TO_NV              0xd            /* 13 */\n#define GL_SMOOTH_QUADRATIC_CURVE_TO_NV            0xe            /* 14 */\n#define GL_RELATIVE_SMOOTH_QUADRATIC_CURVE_TO_NV   0xf            /* 15 */\n#define GL_RESTART_PATH_NV                         0xf0           /* 240 */\n#define GL_DUP_FIRST_CUBIC_CURVE_TO_NV             0xf2           /* 242 */\n#define GL_DUP_LAST_CUBIC_CURVE_TO_NV              0xf4           /* 244 */\n#define GL_RECT_NV                                 0xf6           /* 246 */\n#define GL_CIRCULAR_CCW_ARC_TO_NV                  0xf8           /* 248 */\n#define GL_CIRCULAR_CW_ARC_TO_NV                   0xfa           /* 250 */\n#define GL_CIRCULAR_TANGENT_ARC_TO_NV              0xfc           /* 252 */\n#define GL_ARC_TO_NV                               0xfe           /* 254 */\n#define GL_RELATIVE_ARC_TO_NV                      0xff           /* 255 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_NV_PATH_RENDERING\ntypedef GLboolean (REGAL_CALL *PFNGLISPATHNVPROC)(GLuint path);\ntypedef GLboolean (REGAL_CALL *PFNGLISPOINTINFILLPATHNVPROC)(GLuint path, GLuint mask, GLfloat x, GLfloat y);\ntypedef GLboolean (REGAL_CALL *PFNGLISPOINTINSTROKEPATHNVPROC)(GLuint path, GLfloat x, GLfloat y);\ntypedef GLboolean (REGAL_CALL *PFNGLPOINTALONGPATHNVPROC)(GLuint path, GLsizei startSegment, GLsizei numSegments, GLfloat distance, GLfloat *x, GLfloat *y, GLfloat *tangentX, GLfloat *tangentY);\ntypedef GLfloat (REGAL_CALL *PFNGLGETPATHLENGTHNVPROC)(GLuint path, GLsizei startSegment, GLsizei numSegments);\ntypedef GLuint (REGAL_CALL *PFNGLGENPATHSNVPROC)(GLsizei range);\ntypedef void (REGAL_CALL *PFNGLCOPYPATHNVPROC)(GLuint resultPath, GLuint srcPath);\ntypedef void (REGAL_CALL *PFNGLCOVERFILLPATHINSTANCEDNVPROC)(GLsizei numPaths, GLenum pathNameType, const GLvoid *paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat *transformValues);\ntypedef void (REGAL_CALL *PFNGLCOVERFILLPATHNVPROC)(GLuint path, GLenum coverMode);\ntypedef void (REGAL_CALL *PFNGLCOVERSTROKEPATHINSTANCEDNVPROC)(GLsizei numPaths, GLenum pathNameType, const GLvoid *paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat *transformValues);\ntypedef void (REGAL_CALL *PFNGLCOVERSTROKEPATHNVPROC)(GLuint name, GLenum coverMode);\ntypedef void (REGAL_CALL *PFNGLDELETEPATHSNVPROC)(GLuint path, GLsizei range);\ntypedef void (REGAL_CALL *PFNGLGETPATHCOLORGENFVNVPROC)(GLenum color, GLenum pname, GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLGETPATHCOLORGENIVNVPROC)(GLenum color, GLenum pname, GLint *value);\ntypedef void (REGAL_CALL *PFNGLGETPATHCOMMANDSNVPROC)(GLuint name, GLubyte *commands);\ntypedef void (REGAL_CALL *PFNGLGETPATHCOORDSNVPROC)(GLuint name, GLfloat *coords);\ntypedef void (REGAL_CALL *PFNGLGETPATHDASHARRAYNVPROC)(GLuint name, GLfloat *dashArray);\ntypedef void (REGAL_CALL *PFNGLGETPATHMETRICRANGENVPROC)(GLbitfield metricQueryMask, GLuint fistPathName, GLsizei numPaths, GLsizei stride, GLfloat *metrics);\ntypedef void (REGAL_CALL *PFNGLGETPATHMETRICSNVPROC)(GLbitfield metricQueryMask, GLsizei numPaths, GLenum pathNameType, const GLvoid *paths, GLuint pathBase, GLsizei stride, GLfloat *metrics);\ntypedef void (REGAL_CALL *PFNGLGETPATHPARAMETERFVNVPROC)(GLuint name, GLenum param, GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLGETPATHPARAMETERIVNVPROC)(GLuint name, GLenum param, GLint *value);\ntypedef void (REGAL_CALL *PFNGLGETPATHSPACINGNVPROC)(GLenum pathListMode, GLsizei numPaths, GLenum pathNameType, const GLvoid *paths, GLuint pathBase, GLfloat advanceScale, GLfloat kerningScale, GLenum transformType, GLfloat *returnedSpacing);\ntypedef void (REGAL_CALL *PFNGLGETPATHTEXGENFVNVPROC)(GLenum texCoordSet, GLenum pname, GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLGETPATHTEXGENIVNVPROC)(GLenum texCoordSet, GLenum pname, GLint *value);\ntypedef void (REGAL_CALL *PFNGLINTERPOLATEPATHSNVPROC)(GLuint resultPath, GLuint pathA, GLuint pathB, GLfloat weight);\ntypedef void (REGAL_CALL *PFNGLPATHCOLORGENNVPROC)(GLenum color, GLenum genMode, GLenum colorFormat, const GLfloat *coeffs);\ntypedef void (REGAL_CALL *PFNGLPATHCOMMANDSNVPROC)(GLuint path, GLsizei numCommands, const GLubyte *commands, GLsizei numCoords, GLenum coordType, const GLvoid *coords);\ntypedef void (REGAL_CALL *PFNGLPATHCOORDSNVPROC)(GLuint path, GLsizei numCoords, GLenum coordType, const GLvoid *coords);\ntypedef void (REGAL_CALL *PFNGLPATHCOVERDEPTHFUNCNVPROC)(GLenum zfunc);\ntypedef void (REGAL_CALL *PFNGLPATHDASHARRAYNVPROC)(GLuint path, GLsizei dashCount, const GLfloat *dashArray);\ntypedef void (REGAL_CALL *PFNGLPATHFOGGENNVPROC)(GLenum genMode);\ntypedef void (REGAL_CALL *PFNGLPATHGLYPHRANGENVPROC)(GLuint firstPathName, GLenum fontTarget, const GLvoid *fontName, GLbitfield fontStyle, GLuint firstGlyph, GLsizei numGlyphs, GLenum handleMissingGlyphs, GLuint pathParameterTemplate, GLfloat emScale);\ntypedef void (REGAL_CALL *PFNGLPATHGLYPHSNVPROC)(GLuint firstPathName, GLenum fontTarget, const GLvoid *fontName, GLbitfield fontStyle, GLsizei numGlyphs, GLenum type, const GLvoid *charcodes, GLenum handleMissingGlyphs, GLuint pathParameterTemplate, GLfloat emScale);\ntypedef void (REGAL_CALL *PFNGLPATHPARAMETERFNVPROC)(GLuint path, GLenum pname, GLfloat value);\ntypedef void (REGAL_CALL *PFNGLPATHPARAMETERFVNVPROC)(GLuint path, GLenum pname, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLPATHPARAMETERINVPROC)(GLuint path, GLenum pname, GLint value);\ntypedef void (REGAL_CALL *PFNGLPATHPARAMETERIVNVPROC)(GLuint path, GLenum pname, const GLint *value);\ntypedef void (REGAL_CALL *PFNGLPATHSTENCILDEPTHOFFSETNVPROC)(GLfloat factor, GLfloat units);\ntypedef void (REGAL_CALL *PFNGLPATHSTENCILFUNCNVPROC)(GLenum func, GLint ref, GLuint mask);\ntypedef void (REGAL_CALL *PFNGLPATHSTRINGNVPROC)(GLuint path, GLenum format, GLsizei length, const GLvoid *pathString);\ntypedef void (REGAL_CALL *PFNGLPATHSUBCOMMANDSNVPROC)(GLuint path, GLsizei commandStart, GLsizei commandsToDelete, GLsizei numCommands, const GLubyte *commands, GLsizei numCoords, GLenum coordType, const GLvoid *coords);\ntypedef void (REGAL_CALL *PFNGLPATHSUBCOORDSNVPROC)(GLuint path, GLsizei coordStart, GLsizei numCoords, GLenum coordType, const GLvoid *coords);\ntypedef void (REGAL_CALL *PFNGLPATHTEXGENNVPROC)(GLenum texCoordSet, GLenum genMode, GLint components, const GLfloat *coeffs);\ntypedef void (REGAL_CALL *PFNGLSTENCILFILLPATHINSTANCEDNVPROC)(GLsizei numPaths, GLenum pathNameType, const GLvoid *paths, GLuint pathBase, GLenum fillMode, GLuint mask, GLenum transformType, const GLfloat *transformValues);\ntypedef void (REGAL_CALL *PFNGLSTENCILFILLPATHNVPROC)(GLuint path, GLenum fillMode, GLuint mask);\ntypedef void (REGAL_CALL *PFNGLSTENCILSTROKEPATHINSTANCEDNVPROC)(GLsizei numPaths, GLenum pathNameType, const GLvoid *paths, GLuint pathBase, GLint reference, GLuint mask, GLenum transformType, const GLfloat *transformValues);\ntypedef void (REGAL_CALL *PFNGLSTENCILSTROKEPATHNVPROC)(GLuint path, GLint reference, GLuint mask);\ntypedef void (REGAL_CALL *PFNGLTRANSFORMPATHNVPROC)(GLuint resultPath, GLuint srcPath, GLenum transformType, const GLfloat *transformValues);\ntypedef void (REGAL_CALL *PFNGLWEIGHTPATHSNVPROC)(GLuint resultPath, GLsizei numPaths, const GLuint *paths, const GLfloat *weights);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_NV_PATH_RENDERING\n#define glCopyPathNV                        rglCopyPathNV\n#define glCoverFillPathInstancedNV          rglCoverFillPathInstancedNV\n#define glCoverFillPathNV                   rglCoverFillPathNV\n#define glCoverStrokePathInstancedNV        rglCoverStrokePathInstancedNV\n#define glCoverStrokePathNV                 rglCoverStrokePathNV\n#define glDeletePathsNV                     rglDeletePathsNV\n#define glGenPathsNV                        rglGenPathsNV\n#define glGetPathColorGenfvNV               rglGetPathColorGenfvNV\n#define glGetPathColorGenivNV               rglGetPathColorGenivNV\n#define glGetPathCommandsNV                 rglGetPathCommandsNV\n#define glGetPathCoordsNV                   rglGetPathCoordsNV\n#define glGetPathDashArrayNV                rglGetPathDashArrayNV\n#define glGetPathLengthNV                   rglGetPathLengthNV\n#define glGetPathMetricRangeNV              rglGetPathMetricRangeNV\n#define glGetPathMetricsNV                  rglGetPathMetricsNV\n#define glGetPathParameterfvNV              rglGetPathParameterfvNV\n#define glGetPathParameterivNV              rglGetPathParameterivNV\n#define glGetPathSpacingNV                  rglGetPathSpacingNV\n#define glGetPathTexGenfvNV                 rglGetPathTexGenfvNV\n#define glGetPathTexGenivNV                 rglGetPathTexGenivNV\n#define glInterpolatePathsNV                rglInterpolatePathsNV\n#define glIsPathNV                          rglIsPathNV\n#define glIsPointInFillPathNV               rglIsPointInFillPathNV\n#define glIsPointInStrokePathNV             rglIsPointInStrokePathNV\n#define glPathColorGenNV                    rglPathColorGenNV\n#define glPathCommandsNV                    rglPathCommandsNV\n#define glPathCoordsNV                      rglPathCoordsNV\n#define glPathCoverDepthFuncNV              rglPathCoverDepthFuncNV\n#define glPathDashArrayNV                   rglPathDashArrayNV\n#define glPathFogGenNV                      rglPathFogGenNV\n#define glPathGlyphRangeNV                  rglPathGlyphRangeNV\n#define glPathGlyphsNV                      rglPathGlyphsNV\n#define glPathParameterfNV                  rglPathParameterfNV\n#define glPathParameterfvNV                 rglPathParameterfvNV\n#define glPathParameteriNV                  rglPathParameteriNV\n#define glPathParameterivNV                 rglPathParameterivNV\n#define glPathStencilDepthOffsetNV          rglPathStencilDepthOffsetNV\n#define glPathStencilFuncNV                 rglPathStencilFuncNV\n#define glPathStringNV                      rglPathStringNV\n#define glPathSubCommandsNV                 rglPathSubCommandsNV\n#define glPathSubCoordsNV                   rglPathSubCoordsNV\n#define glPathTexGenNV                      rglPathTexGenNV\n#define glPointAlongPathNV                  rglPointAlongPathNV\n#define glStencilFillPathInstancedNV        rglStencilFillPathInstancedNV\n#define glStencilFillPathNV                 rglStencilFillPathNV\n#define glStencilStrokePathInstancedNV      rglStencilStrokePathInstancedNV\n#define glStencilStrokePathNV               rglStencilStrokePathNV\n#define glTransformPathNV                   rglTransformPathNV\n#define glWeightPathsNV                     rglWeightPathsNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_NV_PATH_RENDERING\nREGAL_DECL GLboolean REGAL_CALL glIsPathNV(GLuint path);\nREGAL_DECL GLboolean REGAL_CALL glIsPointInFillPathNV(GLuint path, GLuint mask, GLfloat x, GLfloat y);\nREGAL_DECL GLboolean REGAL_CALL glIsPointInStrokePathNV(GLuint path, GLfloat x, GLfloat y);\nREGAL_DECL GLboolean REGAL_CALL glPointAlongPathNV(GLuint path, GLsizei startSegment, GLsizei numSegments, GLfloat distance, GLfloat *x, GLfloat *y, GLfloat *tangentX, GLfloat *tangentY);\nREGAL_DECL GLfloat REGAL_CALL glGetPathLengthNV(GLuint path, GLsizei startSegment, GLsizei numSegments);\nREGAL_DECL GLuint REGAL_CALL glGenPathsNV(GLsizei range);\nREGAL_DECL void REGAL_CALL glCopyPathNV(GLuint resultPath, GLuint srcPath);\nREGAL_DECL void REGAL_CALL glCoverFillPathInstancedNV(GLsizei numPaths, GLenum pathNameType, const GLvoid *paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat *transformValues);\nREGAL_DECL void REGAL_CALL glCoverFillPathNV(GLuint path, GLenum coverMode);\nREGAL_DECL void REGAL_CALL glCoverStrokePathInstancedNV(GLsizei numPaths, GLenum pathNameType, const GLvoid *paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat *transformValues);\nREGAL_DECL void REGAL_CALL glCoverStrokePathNV(GLuint name, GLenum coverMode);\nREGAL_DECL void REGAL_CALL glDeletePathsNV(GLuint path, GLsizei range);\nREGAL_DECL void REGAL_CALL glGetPathColorGenfvNV(GLenum color, GLenum pname, GLfloat *value);\nREGAL_DECL void REGAL_CALL glGetPathColorGenivNV(GLenum color, GLenum pname, GLint *value);\nREGAL_DECL void REGAL_CALL glGetPathCommandsNV(GLuint name, GLubyte *commands);\nREGAL_DECL void REGAL_CALL glGetPathCoordsNV(GLuint name, GLfloat *coords);\nREGAL_DECL void REGAL_CALL glGetPathDashArrayNV(GLuint name, GLfloat *dashArray);\nREGAL_DECL void REGAL_CALL glGetPathMetricRangeNV(GLbitfield metricQueryMask, GLuint fistPathName, GLsizei numPaths, GLsizei stride, GLfloat *metrics);\nREGAL_DECL void REGAL_CALL glGetPathMetricsNV(GLbitfield metricQueryMask, GLsizei numPaths, GLenum pathNameType, const GLvoid *paths, GLuint pathBase, GLsizei stride, GLfloat *metrics);\nREGAL_DECL void REGAL_CALL glGetPathParameterfvNV(GLuint name, GLenum param, GLfloat *value);\nREGAL_DECL void REGAL_CALL glGetPathParameterivNV(GLuint name, GLenum param, GLint *value);\nREGAL_DECL void REGAL_CALL glGetPathSpacingNV(GLenum pathListMode, GLsizei numPaths, GLenum pathNameType, const GLvoid *paths, GLuint pathBase, GLfloat advanceScale, GLfloat kerningScale, GLenum transformType, GLfloat *returnedSpacing);\nREGAL_DECL void REGAL_CALL glGetPathTexGenfvNV(GLenum texCoordSet, GLenum pname, GLfloat *value);\nREGAL_DECL void REGAL_CALL glGetPathTexGenivNV(GLenum texCoordSet, GLenum pname, GLint *value);\nREGAL_DECL void REGAL_CALL glInterpolatePathsNV(GLuint resultPath, GLuint pathA, GLuint pathB, GLfloat weight);\nREGAL_DECL void REGAL_CALL glPathColorGenNV(GLenum color, GLenum genMode, GLenum colorFormat, const GLfloat *coeffs);\nREGAL_DECL void REGAL_CALL glPathCommandsNV(GLuint path, GLsizei numCommands, const GLubyte *commands, GLsizei numCoords, GLenum coordType, const GLvoid *coords);\nREGAL_DECL void REGAL_CALL glPathCoordsNV(GLuint path, GLsizei numCoords, GLenum coordType, const GLvoid *coords);\nREGAL_DECL void REGAL_CALL glPathCoverDepthFuncNV(GLenum zfunc);\nREGAL_DECL void REGAL_CALL glPathDashArrayNV(GLuint path, GLsizei dashCount, const GLfloat *dashArray);\nREGAL_DECL void REGAL_CALL glPathFogGenNV(GLenum genMode);\nREGAL_DECL void REGAL_CALL glPathGlyphRangeNV(GLuint firstPathName, GLenum fontTarget, const GLvoid *fontName, GLbitfield fontStyle, GLuint firstGlyph, GLsizei numGlyphs, GLenum handleMissingGlyphs, GLuint pathParameterTemplate, GLfloat emScale);\nREGAL_DECL void REGAL_CALL glPathGlyphsNV(GLuint firstPathName, GLenum fontTarget, const GLvoid *fontName, GLbitfield fontStyle, GLsizei numGlyphs, GLenum type, const GLvoid *charcodes, GLenum handleMissingGlyphs, GLuint pathParameterTemplate, GLfloat emScale);\nREGAL_DECL void REGAL_CALL glPathParameterfNV(GLuint path, GLenum pname, GLfloat value);\nREGAL_DECL void REGAL_CALL glPathParameterfvNV(GLuint path, GLenum pname, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glPathParameteriNV(GLuint path, GLenum pname, GLint value);\nREGAL_DECL void REGAL_CALL glPathParameterivNV(GLuint path, GLenum pname, const GLint *value);\nREGAL_DECL void REGAL_CALL glPathStencilDepthOffsetNV(GLfloat factor, GLfloat units);\nREGAL_DECL void REGAL_CALL glPathStencilFuncNV(GLenum func, GLint ref, GLuint mask);\nREGAL_DECL void REGAL_CALL glPathStringNV(GLuint path, GLenum format, GLsizei length, const GLvoid *pathString);\nREGAL_DECL void REGAL_CALL glPathSubCommandsNV(GLuint path, GLsizei commandStart, GLsizei commandsToDelete, GLsizei numCommands, const GLubyte *commands, GLsizei numCoords, GLenum coordType, const GLvoid *coords);\nREGAL_DECL void REGAL_CALL glPathSubCoordsNV(GLuint path, GLsizei coordStart, GLsizei numCoords, GLenum coordType, const GLvoid *coords);\nREGAL_DECL void REGAL_CALL glPathTexGenNV(GLenum texCoordSet, GLenum genMode, GLint components, const GLfloat *coeffs);\nREGAL_DECL void REGAL_CALL glStencilFillPathInstancedNV(GLsizei numPaths, GLenum pathNameType, const GLvoid *paths, GLuint pathBase, GLenum fillMode, GLuint mask, GLenum transformType, const GLfloat *transformValues);\nREGAL_DECL void REGAL_CALL glStencilFillPathNV(GLuint path, GLenum fillMode, GLuint mask);\nREGAL_DECL void REGAL_CALL glStencilStrokePathInstancedNV(GLsizei numPaths, GLenum pathNameType, const GLvoid *paths, GLuint pathBase, GLint reference, GLuint mask, GLenum transformType, const GLfloat *transformValues);\nREGAL_DECL void REGAL_CALL glStencilStrokePathNV(GLuint path, GLint reference, GLuint mask);\nREGAL_DECL void REGAL_CALL glTransformPathNV(GLuint resultPath, GLuint srcPath, GLenum transformType, const GLfloat *transformValues);\nREGAL_DECL void REGAL_CALL glWeightPathsNV(GLuint resultPath, GLsizei numPaths, const GLuint *paths, const GLfloat *weights);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_NV_PATH_RENDERING\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsPathNV(GLuint path);\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsPointInFillPathNV(GLuint path, GLuint mask, GLfloat x, GLfloat y);\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsPointInStrokePathNV(GLuint path, GLfloat x, GLfloat y);\nREGAL_DECL GLboolean REGAL_CALL plugin_glPointAlongPathNV(GLuint path, GLsizei startSegment, GLsizei numSegments, GLfloat distance, GLfloat *x, GLfloat *y, GLfloat *tangentX, GLfloat *tangentY);\nREGAL_DECL GLfloat REGAL_CALL plugin_glGetPathLengthNV(GLuint path, GLsizei startSegment, GLsizei numSegments);\nREGAL_DECL GLuint REGAL_CALL plugin_glGenPathsNV(GLsizei range);\nREGAL_DECL void REGAL_CALL plugin_glCopyPathNV(GLuint resultPath, GLuint srcPath);\nREGAL_DECL void REGAL_CALL plugin_glCoverFillPathInstancedNV(GLsizei numPaths, GLenum pathNameType, const GLvoid *paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat *transformValues);\nREGAL_DECL void REGAL_CALL plugin_glCoverFillPathNV(GLuint path, GLenum coverMode);\nREGAL_DECL void REGAL_CALL plugin_glCoverStrokePathInstancedNV(GLsizei numPaths, GLenum pathNameType, const GLvoid *paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat *transformValues);\nREGAL_DECL void REGAL_CALL plugin_glCoverStrokePathNV(GLuint name, GLenum coverMode);\nREGAL_DECL void REGAL_CALL plugin_glDeletePathsNV(GLuint path, GLsizei range);\nREGAL_DECL void REGAL_CALL plugin_glGetPathColorGenfvNV(GLenum color, GLenum pname, GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glGetPathColorGenivNV(GLenum color, GLenum pname, GLint *value);\nREGAL_DECL void REGAL_CALL plugin_glGetPathCommandsNV(GLuint name, GLubyte *commands);\nREGAL_DECL void REGAL_CALL plugin_glGetPathCoordsNV(GLuint name, GLfloat *coords);\nREGAL_DECL void REGAL_CALL plugin_glGetPathDashArrayNV(GLuint name, GLfloat *dashArray);\nREGAL_DECL void REGAL_CALL plugin_glGetPathMetricRangeNV(GLbitfield metricQueryMask, GLuint fistPathName, GLsizei numPaths, GLsizei stride, GLfloat *metrics);\nREGAL_DECL void REGAL_CALL plugin_glGetPathMetricsNV(GLbitfield metricQueryMask, GLsizei numPaths, GLenum pathNameType, const GLvoid *paths, GLuint pathBase, GLsizei stride, GLfloat *metrics);\nREGAL_DECL void REGAL_CALL plugin_glGetPathParameterfvNV(GLuint name, GLenum param, GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glGetPathParameterivNV(GLuint name, GLenum param, GLint *value);\nREGAL_DECL void REGAL_CALL plugin_glGetPathSpacingNV(GLenum pathListMode, GLsizei numPaths, GLenum pathNameType, const GLvoid *paths, GLuint pathBase, GLfloat advanceScale, GLfloat kerningScale, GLenum transformType, GLfloat *returnedSpacing);\nREGAL_DECL void REGAL_CALL plugin_glGetPathTexGenfvNV(GLenum texCoordSet, GLenum pname, GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glGetPathTexGenivNV(GLenum texCoordSet, GLenum pname, GLint *value);\nREGAL_DECL void REGAL_CALL plugin_glInterpolatePathsNV(GLuint resultPath, GLuint pathA, GLuint pathB, GLfloat weight);\nREGAL_DECL void REGAL_CALL plugin_glPathColorGenNV(GLenum color, GLenum genMode, GLenum colorFormat, const GLfloat *coeffs);\nREGAL_DECL void REGAL_CALL plugin_glPathCommandsNV(GLuint path, GLsizei numCommands, const GLubyte *commands, GLsizei numCoords, GLenum coordType, const GLvoid *coords);\nREGAL_DECL void REGAL_CALL plugin_glPathCoordsNV(GLuint path, GLsizei numCoords, GLenum coordType, const GLvoid *coords);\nREGAL_DECL void REGAL_CALL plugin_glPathCoverDepthFuncNV(GLenum zfunc);\nREGAL_DECL void REGAL_CALL plugin_glPathDashArrayNV(GLuint path, GLsizei dashCount, const GLfloat *dashArray);\nREGAL_DECL void REGAL_CALL plugin_glPathFogGenNV(GLenum genMode);\nREGAL_DECL void REGAL_CALL plugin_glPathGlyphRangeNV(GLuint firstPathName, GLenum fontTarget, const GLvoid *fontName, GLbitfield fontStyle, GLuint firstGlyph, GLsizei numGlyphs, GLenum handleMissingGlyphs, GLuint pathParameterTemplate, GLfloat emScale);\nREGAL_DECL void REGAL_CALL plugin_glPathGlyphsNV(GLuint firstPathName, GLenum fontTarget, const GLvoid *fontName, GLbitfield fontStyle, GLsizei numGlyphs, GLenum type, const GLvoid *charcodes, GLenum handleMissingGlyphs, GLuint pathParameterTemplate, GLfloat emScale);\nREGAL_DECL void REGAL_CALL plugin_glPathParameterfNV(GLuint path, GLenum pname, GLfloat value);\nREGAL_DECL void REGAL_CALL plugin_glPathParameterfvNV(GLuint path, GLenum pname, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glPathParameteriNV(GLuint path, GLenum pname, GLint value);\nREGAL_DECL void REGAL_CALL plugin_glPathParameterivNV(GLuint path, GLenum pname, const GLint *value);\nREGAL_DECL void REGAL_CALL plugin_glPathStencilDepthOffsetNV(GLfloat factor, GLfloat units);\nREGAL_DECL void REGAL_CALL plugin_glPathStencilFuncNV(GLenum func, GLint ref, GLuint mask);\nREGAL_DECL void REGAL_CALL plugin_glPathStringNV(GLuint path, GLenum format, GLsizei length, const GLvoid *pathString);\nREGAL_DECL void REGAL_CALL plugin_glPathSubCommandsNV(GLuint path, GLsizei commandStart, GLsizei commandsToDelete, GLsizei numCommands, const GLubyte *commands, GLsizei numCoords, GLenum coordType, const GLvoid *coords);\nREGAL_DECL void REGAL_CALL plugin_glPathSubCoordsNV(GLuint path, GLsizei coordStart, GLsizei numCoords, GLenum coordType, const GLvoid *coords);\nREGAL_DECL void REGAL_CALL plugin_glPathTexGenNV(GLenum texCoordSet, GLenum genMode, GLint components, const GLfloat *coeffs);\nREGAL_DECL void REGAL_CALL plugin_glStencilFillPathInstancedNV(GLsizei numPaths, GLenum pathNameType, const GLvoid *paths, GLuint pathBase, GLenum fillMode, GLuint mask, GLenum transformType, const GLfloat *transformValues);\nREGAL_DECL void REGAL_CALL plugin_glStencilFillPathNV(GLuint path, GLenum fillMode, GLuint mask);\nREGAL_DECL void REGAL_CALL plugin_glStencilStrokePathInstancedNV(GLsizei numPaths, GLenum pathNameType, const GLvoid *paths, GLuint pathBase, GLint reference, GLuint mask, GLenum transformType, const GLfloat *transformValues);\nREGAL_DECL void REGAL_CALL plugin_glStencilStrokePathNV(GLuint path, GLint reference, GLuint mask);\nREGAL_DECL void REGAL_CALL plugin_glTransformPathNV(GLuint resultPath, GLuint srcPath, GLenum transformType, const GLfloat *transformValues);\nREGAL_DECL void REGAL_CALL plugin_glWeightPathsNV(GLuint resultPath, GLsizei numPaths, const GLuint *paths, const GLfloat *weights);\n#endif\n\n/**\n ** GL_NV_pixel_buffer_object\n **/\n\n#if (defined(GL_NV_PIXEL_BUFFER_OBJECT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_PIXEL_BUFFER_OBJECT)) && !defined(REGAL_NO_ENUM_GL_NV_PIXEL_BUFFER_OBJECT)\n#define REGAL_NO_ENUM_GL_NV_PIXEL_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_NV_PIXEL_BUFFER_OBJECT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_PIXEL_BUFFER_OBJECT)) && !defined(REGAL_NO_TYPEDEF_GL_NV_PIXEL_BUFFER_OBJECT)\n#define REGAL_NO_TYPEDEF_GL_NV_PIXEL_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_NV_PIXEL_BUFFER_OBJECT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_PIXEL_BUFFER_OBJECT)) && !defined(REGAL_NO_NAMESPACE_GL_NV_PIXEL_BUFFER_OBJECT)\n#define REGAL_NO_NAMESPACE_GL_NV_PIXEL_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_NV_PIXEL_BUFFER_OBJECT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_PIXEL_BUFFER_OBJECT)) && !defined(REGAL_NO_PLUGIN_GL_NV_PIXEL_BUFFER_OBJECT)\n#define REGAL_NO_PLUGIN_GL_NV_PIXEL_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_NV_PIXEL_BUFFER_OBJECT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_PIXEL_BUFFER_OBJECT)) && !defined(REGAL_NO_DECLARATION_GL_NV_PIXEL_BUFFER_OBJECT)\n#define REGAL_NO_DECLARATION_GL_NV_PIXEL_BUFFER_OBJECT\n#endif\n\n#ifndef GL_NV_pixel_buffer_object\n#define GL_NV_pixel_buffer_object 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_PIXEL_BUFFER_OBJECT\n#define GL_PIXEL_PACK_BUFFER_NV           0x88eb     /* 35051 */\n#define GL_PIXEL_UNPACK_BUFFER_NV         0x88ec     /* 35052 */\n#define GL_PIXEL_PACK_BUFFER_BINDING_NV   0x88ed     /* 35053 */\n#define GL_PIXEL_UNPACK_BUFFER_BINDING_NV 0x88ef     /* 35055 */\n#endif\n\n/**\n ** GL_NV_pixel_data_range\n **/\n\n#if (defined(GL_NV_PIXEL_DATA_RANGE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_PIXEL_DATA_RANGE)) && !defined(REGAL_NO_ENUM_GL_NV_PIXEL_DATA_RANGE)\n#define REGAL_NO_ENUM_GL_NV_PIXEL_DATA_RANGE\n#endif\n\n#if (defined(GL_NV_PIXEL_DATA_RANGE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_PIXEL_DATA_RANGE)) && !defined(REGAL_NO_TYPEDEF_GL_NV_PIXEL_DATA_RANGE)\n#define REGAL_NO_TYPEDEF_GL_NV_PIXEL_DATA_RANGE\n#endif\n\n#if (defined(GL_NV_PIXEL_DATA_RANGE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_PIXEL_DATA_RANGE)) && !defined(REGAL_NO_NAMESPACE_GL_NV_PIXEL_DATA_RANGE)\n#define REGAL_NO_NAMESPACE_GL_NV_PIXEL_DATA_RANGE\n#endif\n\n#if (defined(GL_NV_PIXEL_DATA_RANGE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_PIXEL_DATA_RANGE)) && !defined(REGAL_NO_PLUGIN_GL_NV_PIXEL_DATA_RANGE)\n#define REGAL_NO_PLUGIN_GL_NV_PIXEL_DATA_RANGE\n#endif\n\n#if (defined(GL_NV_PIXEL_DATA_RANGE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_PIXEL_DATA_RANGE)) && !defined(REGAL_NO_DECLARATION_GL_NV_PIXEL_DATA_RANGE)\n#define REGAL_NO_DECLARATION_GL_NV_PIXEL_DATA_RANGE\n#endif\n\n#ifndef GL_NV_pixel_data_range\n#define GL_NV_pixel_data_range 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_PIXEL_DATA_RANGE\n#define GL_WRITE_PIXEL_DATA_RANGE_NV         0x8878     /* 34936 */\n#define GL_READ_PIXEL_DATA_RANGE_NV          0x8879     /* 34937 */\n#define GL_WRITE_PIXEL_DATA_RANGE_LENGTH_NV  0x887a     /* 34938 */\n#define GL_READ_PIXEL_DATA_RANGE_LENGTH_NV   0x887b     /* 34939 */\n#define GL_WRITE_PIXEL_DATA_RANGE_POINTER_NV 0x887c     /* 34940 */\n#define GL_READ_PIXEL_DATA_RANGE_POINTER_NV  0x887d     /* 34941 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_NV_PIXEL_DATA_RANGE\ntypedef void (REGAL_CALL *PFNGLFLUSHPIXELDATARANGENVPROC)(GLenum target);\ntypedef void (REGAL_CALL *PFNGLPIXELDATARANGENVPROC)(GLenum target, GLsizei size, const GLvoid *pointer);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_NV_PIXEL_DATA_RANGE\n#define glFlushPixelDataRangeNV             rglFlushPixelDataRangeNV\n#define glPixelDataRangeNV                  rglPixelDataRangeNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_NV_PIXEL_DATA_RANGE\nREGAL_DECL void REGAL_CALL glFlushPixelDataRangeNV(GLenum target);\nREGAL_DECL void REGAL_CALL glPixelDataRangeNV(GLenum target, GLsizei size, const GLvoid *pointer);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_NV_PIXEL_DATA_RANGE\nREGAL_DECL void REGAL_CALL plugin_glFlushPixelDataRangeNV(GLenum target);\nREGAL_DECL void REGAL_CALL plugin_glPixelDataRangeNV(GLenum target, GLsizei size, const GLvoid *pointer);\n#endif\n\n/**\n ** GL_NV_platform_binary\n **/\n\n#if (defined(GL_NV_PLATFORM_BINARY) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_PLATFORM_BINARY)) && !defined(REGAL_NO_ENUM_GL_NV_PLATFORM_BINARY)\n#define REGAL_NO_ENUM_GL_NV_PLATFORM_BINARY\n#endif\n\n#if (defined(GL_NV_PLATFORM_BINARY) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_PLATFORM_BINARY)) && !defined(REGAL_NO_TYPEDEF_GL_NV_PLATFORM_BINARY)\n#define REGAL_NO_TYPEDEF_GL_NV_PLATFORM_BINARY\n#endif\n\n#if (defined(GL_NV_PLATFORM_BINARY) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_PLATFORM_BINARY)) && !defined(REGAL_NO_NAMESPACE_GL_NV_PLATFORM_BINARY)\n#define REGAL_NO_NAMESPACE_GL_NV_PLATFORM_BINARY\n#endif\n\n#if (defined(GL_NV_PLATFORM_BINARY) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_PLATFORM_BINARY)) && !defined(REGAL_NO_PLUGIN_GL_NV_PLATFORM_BINARY)\n#define REGAL_NO_PLUGIN_GL_NV_PLATFORM_BINARY\n#endif\n\n#if (defined(GL_NV_PLATFORM_BINARY) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_PLATFORM_BINARY)) && !defined(REGAL_NO_DECLARATION_GL_NV_PLATFORM_BINARY)\n#define REGAL_NO_DECLARATION_GL_NV_PLATFORM_BINARY\n#endif\n\n#ifndef GL_NV_platform_binary\n#define GL_NV_platform_binary 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_PLATFORM_BINARY\n#define GL_NVIDIA_PLATFORM_BINARY_NV 0x890b /* 35083 */\n#endif\n\n/**\n ** GL_NV_point_sprite\n **/\n\n#if (defined(GL_NV_POINT_SPRITE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_POINT_SPRITE)) && !defined(REGAL_NO_ENUM_GL_NV_POINT_SPRITE)\n#define REGAL_NO_ENUM_GL_NV_POINT_SPRITE\n#endif\n\n#if (defined(GL_NV_POINT_SPRITE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_POINT_SPRITE)) && !defined(REGAL_NO_TYPEDEF_GL_NV_POINT_SPRITE)\n#define REGAL_NO_TYPEDEF_GL_NV_POINT_SPRITE\n#endif\n\n#if (defined(GL_NV_POINT_SPRITE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_POINT_SPRITE)) && !defined(REGAL_NO_NAMESPACE_GL_NV_POINT_SPRITE)\n#define REGAL_NO_NAMESPACE_GL_NV_POINT_SPRITE\n#endif\n\n#if (defined(GL_NV_POINT_SPRITE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_POINT_SPRITE)) && !defined(REGAL_NO_PLUGIN_GL_NV_POINT_SPRITE)\n#define REGAL_NO_PLUGIN_GL_NV_POINT_SPRITE\n#endif\n\n#if (defined(GL_NV_POINT_SPRITE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_POINT_SPRITE)) && !defined(REGAL_NO_DECLARATION_GL_NV_POINT_SPRITE)\n#define REGAL_NO_DECLARATION_GL_NV_POINT_SPRITE\n#endif\n\n#ifndef GL_NV_point_sprite\n#define GL_NV_point_sprite 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_POINT_SPRITE\n#define GL_POINT_SPRITE_NV        0x8861     /* 34913 */\n#define GL_COORD_REPLACE_NV       0x8862     /* 34914 */\n#define GL_POINT_SPRITE_R_MODE_NV 0x8863     /* 34915 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_NV_POINT_SPRITE\ntypedef void (REGAL_CALL *PFNGLPOINTPARAMETERINVPROC)(GLenum pname, GLint param);\ntypedef void (REGAL_CALL *PFNGLPOINTPARAMETERIVNVPROC)(GLenum pname, const GLint *params);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_NV_POINT_SPRITE\n#define glPointParameteriNV                 rglPointParameteriNV\n#define glPointParameterivNV                rglPointParameterivNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_NV_POINT_SPRITE\nREGAL_DECL void REGAL_CALL glPointParameteriNV(GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL glPointParameterivNV(GLenum pname, const GLint *params);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_NV_POINT_SPRITE\nREGAL_DECL void REGAL_CALL plugin_glPointParameteriNV(GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL plugin_glPointParameterivNV(GLenum pname, const GLint *params);\n#endif\n\n/**\n ** GL_NV_present_video\n **/\n\n#if (defined(GL_NV_PRESENT_VIDEO) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_PRESENT_VIDEO)) && !defined(REGAL_NO_ENUM_GL_NV_PRESENT_VIDEO)\n#define REGAL_NO_ENUM_GL_NV_PRESENT_VIDEO\n#endif\n\n#if (defined(GL_NV_PRESENT_VIDEO) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_PRESENT_VIDEO)) && !defined(REGAL_NO_TYPEDEF_GL_NV_PRESENT_VIDEO)\n#define REGAL_NO_TYPEDEF_GL_NV_PRESENT_VIDEO\n#endif\n\n#if (defined(GL_NV_PRESENT_VIDEO) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_PRESENT_VIDEO)) && !defined(REGAL_NO_NAMESPACE_GL_NV_PRESENT_VIDEO)\n#define REGAL_NO_NAMESPACE_GL_NV_PRESENT_VIDEO\n#endif\n\n#if (defined(GL_NV_PRESENT_VIDEO) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_PRESENT_VIDEO)) && !defined(REGAL_NO_PLUGIN_GL_NV_PRESENT_VIDEO)\n#define REGAL_NO_PLUGIN_GL_NV_PRESENT_VIDEO\n#endif\n\n#if (defined(GL_NV_PRESENT_VIDEO) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_PRESENT_VIDEO)) && !defined(REGAL_NO_DECLARATION_GL_NV_PRESENT_VIDEO)\n#define REGAL_NO_DECLARATION_GL_NV_PRESENT_VIDEO\n#endif\n\n#ifndef GL_NV_present_video\n#define GL_NV_present_video 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_PRESENT_VIDEO\n#define GL_FRAME_NV            0x8e26     /* 36390 */\n#define GL_FIELDS_NV           0x8e27     /* 36391 */\n#define GL_CURRENT_TIME_NV     0x8e28     /* 36392 */\n#define GL_NUM_FILL_STREAMS_NV 0x8e29     /* 36393 */\n#define GL_PRESENT_TIME_NV     0x8e2a     /* 36394 */\n#define GL_PRESENT_DURATION_NV 0x8e2b     /* 36395 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_NV_PRESENT_VIDEO\ntypedef void (REGAL_CALL *PFNGLGETVIDEOI64VNVPROC)(GLuint video_slot, GLenum pname, GLint64EXT *params);\ntypedef void (REGAL_CALL *PFNGLGETVIDEOIVNVPROC)(GLuint video_slot, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETVIDEOUI64VNVPROC)(GLuint video_slot, GLenum pname, GLuint64EXT *params);\ntypedef void (REGAL_CALL *PFNGLGETVIDEOUIVNVPROC)(GLuint video_slot, GLenum pname, GLuint *params);\ntypedef void (REGAL_CALL *PFNGLPRESENTFRAMEDUALFILLNVPROC)(GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLenum target1, GLuint fill1, GLenum target2, GLuint fill2, GLenum target3, GLuint fill3);\ntypedef void (REGAL_CALL *PFNGLPRESENTFRAMEKEYEDNVPROC)(GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLuint key0, GLenum target1, GLuint fill1, GLuint key1);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_NV_PRESENT_VIDEO\n#define glGetVideoi64vNV                    rglGetVideoi64vNV\n#define glGetVideoivNV                      rglGetVideoivNV\n#define glGetVideoui64vNV                   rglGetVideoui64vNV\n#define glGetVideouivNV                     rglGetVideouivNV\n#define glPresentFrameDualFillNV            rglPresentFrameDualFillNV\n#define glPresentFrameKeyedNV               rglPresentFrameKeyedNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_NV_PRESENT_VIDEO\nREGAL_DECL void REGAL_CALL glGetVideoi64vNV(GLuint video_slot, GLenum pname, GLint64EXT *params);\nREGAL_DECL void REGAL_CALL glGetVideoivNV(GLuint video_slot, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetVideoui64vNV(GLuint video_slot, GLenum pname, GLuint64EXT *params);\nREGAL_DECL void REGAL_CALL glGetVideouivNV(GLuint video_slot, GLenum pname, GLuint *params);\nREGAL_DECL void REGAL_CALL glPresentFrameDualFillNV(GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLenum target1, GLuint fill1, GLenum target2, GLuint fill2, GLenum target3, GLuint fill3);\nREGAL_DECL void REGAL_CALL glPresentFrameKeyedNV(GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLuint key0, GLenum target1, GLuint fill1, GLuint key1);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_NV_PRESENT_VIDEO\nREGAL_DECL void REGAL_CALL plugin_glGetVideoi64vNV(GLuint video_slot, GLenum pname, GLint64EXT *params);\nREGAL_DECL void REGAL_CALL plugin_glGetVideoivNV(GLuint video_slot, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetVideoui64vNV(GLuint video_slot, GLenum pname, GLuint64EXT *params);\nREGAL_DECL void REGAL_CALL plugin_glGetVideouivNV(GLuint video_slot, GLenum pname, GLuint *params);\nREGAL_DECL void REGAL_CALL plugin_glPresentFrameDualFillNV(GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLenum target1, GLuint fill1, GLenum target2, GLuint fill2, GLenum target3, GLuint fill3);\nREGAL_DECL void REGAL_CALL plugin_glPresentFrameKeyedNV(GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLuint key0, GLenum target1, GLuint fill1, GLuint key1);\n#endif\n\n/**\n ** GL_NV_primitive_restart\n **/\n\n#if (defined(GL_NV_PRIMITIVE_RESTART) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_PRIMITIVE_RESTART)) && !defined(REGAL_NO_ENUM_GL_NV_PRIMITIVE_RESTART)\n#define REGAL_NO_ENUM_GL_NV_PRIMITIVE_RESTART\n#endif\n\n#if (defined(GL_NV_PRIMITIVE_RESTART) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_PRIMITIVE_RESTART)) && !defined(REGAL_NO_TYPEDEF_GL_NV_PRIMITIVE_RESTART)\n#define REGAL_NO_TYPEDEF_GL_NV_PRIMITIVE_RESTART\n#endif\n\n#if (defined(GL_NV_PRIMITIVE_RESTART) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_PRIMITIVE_RESTART)) && !defined(REGAL_NO_NAMESPACE_GL_NV_PRIMITIVE_RESTART)\n#define REGAL_NO_NAMESPACE_GL_NV_PRIMITIVE_RESTART\n#endif\n\n#if (defined(GL_NV_PRIMITIVE_RESTART) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_PRIMITIVE_RESTART)) && !defined(REGAL_NO_PLUGIN_GL_NV_PRIMITIVE_RESTART)\n#define REGAL_NO_PLUGIN_GL_NV_PRIMITIVE_RESTART\n#endif\n\n#if (defined(GL_NV_PRIMITIVE_RESTART) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_PRIMITIVE_RESTART)) && !defined(REGAL_NO_DECLARATION_GL_NV_PRIMITIVE_RESTART)\n#define REGAL_NO_DECLARATION_GL_NV_PRIMITIVE_RESTART\n#endif\n\n#ifndef GL_NV_primitive_restart\n#define GL_NV_primitive_restart 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_PRIMITIVE_RESTART\n#define GL_PRIMITIVE_RESTART_NV       0x8558     /* 34136 */\n#define GL_PRIMITIVE_RESTART_INDEX_NV 0x8559     /* 34137 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_NV_PRIMITIVE_RESTART\ntypedef void (REGAL_CALL *PFNGLPRIMITIVERESTARTINDEXNVPROC)(GLuint index);\ntypedef void (REGAL_CALL *PFNGLPRIMITIVERESTARTNVPROC)(void);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_NV_PRIMITIVE_RESTART\n#define glPrimitiveRestartIndexNV           rglPrimitiveRestartIndexNV\n#define glPrimitiveRestartNV                rglPrimitiveRestartNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_NV_PRIMITIVE_RESTART\nREGAL_DECL void REGAL_CALL glPrimitiveRestartIndexNV(GLuint index);\nREGAL_DECL void REGAL_CALL glPrimitiveRestartNV(void);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_NV_PRIMITIVE_RESTART\nREGAL_DECL void REGAL_CALL plugin_glPrimitiveRestartIndexNV(GLuint index);\nREGAL_DECL void REGAL_CALL plugin_glPrimitiveRestartNV(void);\n#endif\n\n/**\n ** GL_NV_read_buffer\n **/\n\n#if (defined(GL_NV_READ_BUFFER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_READ_BUFFER)) && !defined(REGAL_NO_ENUM_GL_NV_READ_BUFFER)\n#define REGAL_NO_ENUM_GL_NV_READ_BUFFER\n#endif\n\n#if (defined(GL_NV_READ_BUFFER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_READ_BUFFER)) && !defined(REGAL_NO_TYPEDEF_GL_NV_READ_BUFFER)\n#define REGAL_NO_TYPEDEF_GL_NV_READ_BUFFER\n#endif\n\n#if (defined(GL_NV_READ_BUFFER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_READ_BUFFER)) && !defined(REGAL_NO_NAMESPACE_GL_NV_READ_BUFFER)\n#define REGAL_NO_NAMESPACE_GL_NV_READ_BUFFER\n#endif\n\n#if (defined(GL_NV_READ_BUFFER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_READ_BUFFER)) && !defined(REGAL_NO_PLUGIN_GL_NV_READ_BUFFER)\n#define REGAL_NO_PLUGIN_GL_NV_READ_BUFFER\n#endif\n\n#if (defined(GL_NV_READ_BUFFER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_READ_BUFFER)) && !defined(REGAL_NO_DECLARATION_GL_NV_READ_BUFFER)\n#define REGAL_NO_DECLARATION_GL_NV_READ_BUFFER\n#endif\n\n#ifndef GL_NV_read_buffer\n#define GL_NV_read_buffer 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_NV_READ_BUFFER\ntypedef void (REGAL_CALL *PFNGLREADBUFFERNVPROC)(GLenum mode);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_NV_READ_BUFFER\n#define glReadBufferNV                      rglReadBufferNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_NV_READ_BUFFER\nREGAL_DECL void REGAL_CALL glReadBufferNV(GLenum mode);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_NV_READ_BUFFER\nREGAL_DECL void REGAL_CALL plugin_glReadBufferNV(GLenum mode);\n#endif\n\n/**\n ** GL_NV_read_buffer_front\n **/\n\n#if (defined(GL_NV_READ_BUFFER_FRONT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_READ_BUFFER_FRONT)) && !defined(REGAL_NO_ENUM_GL_NV_READ_BUFFER_FRONT)\n#define REGAL_NO_ENUM_GL_NV_READ_BUFFER_FRONT\n#endif\n\n#if (defined(GL_NV_READ_BUFFER_FRONT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_READ_BUFFER_FRONT)) && !defined(REGAL_NO_TYPEDEF_GL_NV_READ_BUFFER_FRONT)\n#define REGAL_NO_TYPEDEF_GL_NV_READ_BUFFER_FRONT\n#endif\n\n#if (defined(GL_NV_READ_BUFFER_FRONT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_READ_BUFFER_FRONT)) && !defined(REGAL_NO_NAMESPACE_GL_NV_READ_BUFFER_FRONT)\n#define REGAL_NO_NAMESPACE_GL_NV_READ_BUFFER_FRONT\n#endif\n\n#if (defined(GL_NV_READ_BUFFER_FRONT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_READ_BUFFER_FRONT)) && !defined(REGAL_NO_PLUGIN_GL_NV_READ_BUFFER_FRONT)\n#define REGAL_NO_PLUGIN_GL_NV_READ_BUFFER_FRONT\n#endif\n\n#if (defined(GL_NV_READ_BUFFER_FRONT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_READ_BUFFER_FRONT)) && !defined(REGAL_NO_DECLARATION_GL_NV_READ_BUFFER_FRONT)\n#define REGAL_NO_DECLARATION_GL_NV_READ_BUFFER_FRONT\n#endif\n\n#ifndef GL_NV_read_buffer_front\n#define GL_NV_read_buffer_front 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_READ_BUFFER_FRONT\n#define GL_READ_BUFFER_NV 0xc02 /* 3074 */\n#endif\n\n/**\n ** GL_NV_register_combiners\n **/\n\n#if (defined(GL_NV_REGISTER_COMBINERS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_REGISTER_COMBINERS)) && !defined(REGAL_NO_ENUM_GL_NV_REGISTER_COMBINERS)\n#define REGAL_NO_ENUM_GL_NV_REGISTER_COMBINERS\n#endif\n\n#if (defined(GL_NV_REGISTER_COMBINERS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_REGISTER_COMBINERS)) && !defined(REGAL_NO_TYPEDEF_GL_NV_REGISTER_COMBINERS)\n#define REGAL_NO_TYPEDEF_GL_NV_REGISTER_COMBINERS\n#endif\n\n#if (defined(GL_NV_REGISTER_COMBINERS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_REGISTER_COMBINERS)) && !defined(REGAL_NO_NAMESPACE_GL_NV_REGISTER_COMBINERS)\n#define REGAL_NO_NAMESPACE_GL_NV_REGISTER_COMBINERS\n#endif\n\n#if (defined(GL_NV_REGISTER_COMBINERS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_REGISTER_COMBINERS)) && !defined(REGAL_NO_PLUGIN_GL_NV_REGISTER_COMBINERS)\n#define REGAL_NO_PLUGIN_GL_NV_REGISTER_COMBINERS\n#endif\n\n#if (defined(GL_NV_REGISTER_COMBINERS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_REGISTER_COMBINERS)) && !defined(REGAL_NO_DECLARATION_GL_NV_REGISTER_COMBINERS)\n#define REGAL_NO_DECLARATION_GL_NV_REGISTER_COMBINERS\n#endif\n\n#ifndef GL_NV_register_combiners\n#define GL_NV_register_combiners 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_REGISTER_COMBINERS\n#define GL_REGISTER_COMBINERS_NV          0x8522     /* 34082 */\n#define GL_VARIABLE_A_NV                  0x8523     /* 34083 */\n#define GL_VARIABLE_B_NV                  0x8524     /* 34084 */\n#define GL_VARIABLE_C_NV                  0x8525     /* 34085 */\n#define GL_VARIABLE_D_NV                  0x8526     /* 34086 */\n#define GL_VARIABLE_E_NV                  0x8527     /* 34087 */\n#define GL_VARIABLE_F_NV                  0x8528     /* 34088 */\n#define GL_VARIABLE_G_NV                  0x8529     /* 34089 */\n#define GL_CONSTANT_COLOR0_NV             0x852a     /* 34090 */\n#define GL_CONSTANT_COLOR1_NV             0x852b     /* 34091 */\n#define GL_PRIMARY_COLOR_NV               0x852c     /* 34092 */\n#define GL_SECONDARY_COLOR_NV             0x852d     /* 34093 */\n#define GL_SPARE0_NV                      0x852e     /* 34094 */\n#define GL_SPARE1_NV                      0x852f     /* 34095 */\n#define GL_DISCARD_NV                     0x8530     /* 34096 */\n#define GL_E_TIMES_F_NV                   0x8531     /* 34097 */\n#define GL_SPARE0_PLUS_SECONDARY_COLOR_NV 0x8532     /* 34098 */\n#define GL_UNSIGNED_IDENTITY_NV           0x8536     /* 34102 */\n#define GL_UNSIGNED_INVERT_NV             0x8537     /* 34103 */\n#define GL_EXPAND_NORMAL_NV               0x8538     /* 34104 */\n#define GL_EXPAND_NEGATE_NV               0x8539     /* 34105 */\n#define GL_HALF_BIAS_NORMAL_NV            0x853a     /* 34106 */\n#define GL_HALF_BIAS_NEGATE_NV            0x853b     /* 34107 */\n#define GL_SIGNED_IDENTITY_NV             0x853c     /* 34108 */\n#define GL_SIGNED_NEGATE_NV               0x853d     /* 34109 */\n#define GL_SCALE_BY_TWO_NV                0x853e     /* 34110 */\n#define GL_SCALE_BY_FOUR_NV               0x853f     /* 34111 */\n#define GL_SCALE_BY_ONE_HALF_NV           0x8540     /* 34112 */\n#define GL_BIAS_BY_NEGATIVE_ONE_HALF_NV   0x8541     /* 34113 */\n#define GL_COMBINER_INPUT_NV              0x8542     /* 34114 */\n#define GL_COMBINER_MAPPING_NV            0x8543     /* 34115 */\n#define GL_COMBINER_COMPONENT_USAGE_NV    0x8544     /* 34116 */\n#define GL_COMBINER_AB_DOT_PRODUCT_NV     0x8545     /* 34117 */\n#define GL_COMBINER_CD_DOT_PRODUCT_NV     0x8546     /* 34118 */\n#define GL_COMBINER_MUX_SUM_NV            0x8547     /* 34119 */\n#define GL_COMBINER_SCALE_NV              0x8548     /* 34120 */\n#define GL_COMBINER_BIAS_NV               0x8549     /* 34121 */\n#define GL_COMBINER_AB_OUTPUT_NV          0x854a     /* 34122 */\n#define GL_COMBINER_CD_OUTPUT_NV          0x854b     /* 34123 */\n#define GL_COMBINER_SUM_OUTPUT_NV         0x854c     /* 34124 */\n#define GL_MAX_GENERAL_COMBINERS_NV       0x854d     /* 34125 */\n#define GL_NUM_GENERAL_COMBINERS_NV       0x854e     /* 34126 */\n#define GL_COLOR_SUM_CLAMP_NV             0x854f     /* 34127 */\n#define GL_COMBINER0_NV                   0x8550     /* 34128 */\n#define GL_COMBINER1_NV                   0x8551     /* 34129 */\n#define GL_COMBINER2_NV                   0x8552     /* 34130 */\n#define GL_COMBINER3_NV                   0x8553     /* 34131 */\n#define GL_COMBINER4_NV                   0x8554     /* 34132 */\n#define GL_COMBINER5_NV                   0x8555     /* 34133 */\n#define GL_COMBINER6_NV                   0x8556     /* 34134 */\n#define GL_COMBINER7_NV                   0x8557     /* 34135 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_NV_REGISTER_COMBINERS\ntypedef void (REGAL_CALL *PFNGLCOMBINERINPUTNVPROC)(GLenum stage, GLenum portion, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage);\ntypedef void (REGAL_CALL *PFNGLCOMBINEROUTPUTNVPROC)(GLenum stage, GLenum portion, GLenum abOutput, GLenum cdOutput, GLenum sumOutput, GLenum scale, GLenum bias, GLboolean abDotProduct, GLboolean cdDotProduct, GLboolean muxSum);\ntypedef void (REGAL_CALL *PFNGLCOMBINERPARAMETERFNVPROC)(GLenum pname, GLfloat param);\ntypedef void (REGAL_CALL *PFNGLCOMBINERPARAMETERFVNVPROC)(GLenum pname, const GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLCOMBINERPARAMETERINVPROC)(GLenum pname, GLint param);\ntypedef void (REGAL_CALL *PFNGLCOMBINERPARAMETERIVNVPROC)(GLenum pname, const GLint *params);\ntypedef void (REGAL_CALL *PFNGLFINALCOMBINERINPUTNVPROC)(GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage);\ntypedef void (REGAL_CALL *PFNGLGETCOMBINERINPUTPARAMETERFVNVPROC)(GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETCOMBINERINPUTPARAMETERIVNVPROC)(GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETCOMBINEROUTPUTPARAMETERFVNVPROC)(GLenum stage, GLenum portion, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETCOMBINEROUTPUTPARAMETERIVNVPROC)(GLenum stage, GLenum portion, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETFINALCOMBINERINPUTPARAMETERFVNVPROC)(GLenum variable, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETFINALCOMBINERINPUTPARAMETERIVNVPROC)(GLenum variable, GLenum pname, GLint *params);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_NV_REGISTER_COMBINERS\n#define glCombinerInputNV                   rglCombinerInputNV\n#define glCombinerOutputNV                  rglCombinerOutputNV\n#define glCombinerParameterfNV              rglCombinerParameterfNV\n#define glCombinerParameterfvNV             rglCombinerParameterfvNV\n#define glCombinerParameteriNV              rglCombinerParameteriNV\n#define glCombinerParameterivNV             rglCombinerParameterivNV\n#define glFinalCombinerInputNV              rglFinalCombinerInputNV\n#define glGetCombinerInputParameterfvNV     rglGetCombinerInputParameterfvNV\n#define glGetCombinerInputParameterivNV     rglGetCombinerInputParameterivNV\n#define glGetCombinerOutputParameterfvNV    rglGetCombinerOutputParameterfvNV\n#define glGetCombinerOutputParameterivNV    rglGetCombinerOutputParameterivNV\n#define glGetFinalCombinerInputParameterfvNV rglGetFinalCombinerInputParameterfvNV\n#define glGetFinalCombinerInputParameterivNV rglGetFinalCombinerInputParameterivNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_NV_REGISTER_COMBINERS\nREGAL_DECL void REGAL_CALL glCombinerInputNV(GLenum stage, GLenum portion, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage);\nREGAL_DECL void REGAL_CALL glCombinerOutputNV(GLenum stage, GLenum portion, GLenum abOutput, GLenum cdOutput, GLenum sumOutput, GLenum scale, GLenum bias, GLboolean abDotProduct, GLboolean cdDotProduct, GLboolean muxSum);\nREGAL_DECL void REGAL_CALL glCombinerParameterfNV(GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL glCombinerParameterfvNV(GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL glCombinerParameteriNV(GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL glCombinerParameterivNV(GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL glFinalCombinerInputNV(GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage);\nREGAL_DECL void REGAL_CALL glGetCombinerInputParameterfvNV(GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetCombinerInputParameterivNV(GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetCombinerOutputParameterfvNV(GLenum stage, GLenum portion, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetCombinerOutputParameterivNV(GLenum stage, GLenum portion, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetFinalCombinerInputParameterfvNV(GLenum variable, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetFinalCombinerInputParameterivNV(GLenum variable, GLenum pname, GLint *params);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_NV_REGISTER_COMBINERS\nREGAL_DECL void REGAL_CALL plugin_glCombinerInputNV(GLenum stage, GLenum portion, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage);\nREGAL_DECL void REGAL_CALL plugin_glCombinerOutputNV(GLenum stage, GLenum portion, GLenum abOutput, GLenum cdOutput, GLenum sumOutput, GLenum scale, GLenum bias, GLboolean abDotProduct, GLboolean cdDotProduct, GLboolean muxSum);\nREGAL_DECL void REGAL_CALL plugin_glCombinerParameterfNV(GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL plugin_glCombinerParameterfvNV(GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glCombinerParameteriNV(GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL plugin_glCombinerParameterivNV(GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glFinalCombinerInputNV(GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage);\nREGAL_DECL void REGAL_CALL plugin_glGetCombinerInputParameterfvNV(GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetCombinerInputParameterivNV(GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetCombinerOutputParameterfvNV(GLenum stage, GLenum portion, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetCombinerOutputParameterivNV(GLenum stage, GLenum portion, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetFinalCombinerInputParameterfvNV(GLenum variable, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetFinalCombinerInputParameterivNV(GLenum variable, GLenum pname, GLint *params);\n#endif\n\n/**\n ** GL_NV_register_combiners2\n **/\n\n#if (defined(GL_NV_REGISTER_COMBINERS2) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_REGISTER_COMBINERS2)) && !defined(REGAL_NO_ENUM_GL_NV_REGISTER_COMBINERS2)\n#define REGAL_NO_ENUM_GL_NV_REGISTER_COMBINERS2\n#endif\n\n#if (defined(GL_NV_REGISTER_COMBINERS2) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_REGISTER_COMBINERS2)) && !defined(REGAL_NO_TYPEDEF_GL_NV_REGISTER_COMBINERS2)\n#define REGAL_NO_TYPEDEF_GL_NV_REGISTER_COMBINERS2\n#endif\n\n#if (defined(GL_NV_REGISTER_COMBINERS2) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_REGISTER_COMBINERS2)) && !defined(REGAL_NO_NAMESPACE_GL_NV_REGISTER_COMBINERS2)\n#define REGAL_NO_NAMESPACE_GL_NV_REGISTER_COMBINERS2\n#endif\n\n#if (defined(GL_NV_REGISTER_COMBINERS2) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_REGISTER_COMBINERS2)) && !defined(REGAL_NO_PLUGIN_GL_NV_REGISTER_COMBINERS2)\n#define REGAL_NO_PLUGIN_GL_NV_REGISTER_COMBINERS2\n#endif\n\n#if (defined(GL_NV_REGISTER_COMBINERS2) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_REGISTER_COMBINERS2)) && !defined(REGAL_NO_DECLARATION_GL_NV_REGISTER_COMBINERS2)\n#define REGAL_NO_DECLARATION_GL_NV_REGISTER_COMBINERS2\n#endif\n\n#ifndef GL_NV_register_combiners2\n#define GL_NV_register_combiners2 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_REGISTER_COMBINERS2\n#define GL_PER_STAGE_CONSTANTS_NV 0x8535 /* 34101 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_NV_REGISTER_COMBINERS2\ntypedef void (REGAL_CALL *PFNGLCOMBINERSTAGEPARAMETERFVNVPROC)(GLenum stage, GLenum pname, const GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETCOMBINERSTAGEPARAMETERFVNVPROC)(GLenum stage, GLenum pname, GLfloat *params);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_NV_REGISTER_COMBINERS2\n#define glCombinerStageParameterfvNV        rglCombinerStageParameterfvNV\n#define glGetCombinerStageParameterfvNV     rglGetCombinerStageParameterfvNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_NV_REGISTER_COMBINERS2\nREGAL_DECL void REGAL_CALL glCombinerStageParameterfvNV(GLenum stage, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetCombinerStageParameterfvNV(GLenum stage, GLenum pname, GLfloat *params);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_NV_REGISTER_COMBINERS2\nREGAL_DECL void REGAL_CALL plugin_glCombinerStageParameterfvNV(GLenum stage, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetCombinerStageParameterfvNV(GLenum stage, GLenum pname, GLfloat *params);\n#endif\n\n/**\n ** GL_NV_sRGB_formats\n **/\n\n#if (defined(GL_NV_SRGB_FORMATS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_SRGB_FORMATS)) && !defined(REGAL_NO_ENUM_GL_NV_SRGB_FORMATS)\n#define REGAL_NO_ENUM_GL_NV_SRGB_FORMATS\n#endif\n\n#if (defined(GL_NV_SRGB_FORMATS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_SRGB_FORMATS)) && !defined(REGAL_NO_TYPEDEF_GL_NV_SRGB_FORMATS)\n#define REGAL_NO_TYPEDEF_GL_NV_SRGB_FORMATS\n#endif\n\n#if (defined(GL_NV_SRGB_FORMATS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_SRGB_FORMATS)) && !defined(REGAL_NO_NAMESPACE_GL_NV_SRGB_FORMATS)\n#define REGAL_NO_NAMESPACE_GL_NV_SRGB_FORMATS\n#endif\n\n#if (defined(GL_NV_SRGB_FORMATS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_SRGB_FORMATS)) && !defined(REGAL_NO_PLUGIN_GL_NV_SRGB_FORMATS)\n#define REGAL_NO_PLUGIN_GL_NV_SRGB_FORMATS\n#endif\n\n#if (defined(GL_NV_SRGB_FORMATS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_SRGB_FORMATS)) && !defined(REGAL_NO_DECLARATION_GL_NV_SRGB_FORMATS)\n#define REGAL_NO_DECLARATION_GL_NV_SRGB_FORMATS\n#endif\n\n#ifndef GL_NV_sRGB_formats\n#define GL_NV_sRGB_formats 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_SRGB_FORMATS\n#define GL_ETC1_SRGB8_NV                      0x88ee     /* 35054 */\n#define GL_SRGB8_NV                           0x8c41     /* 35905 */\n#define GL_SLUMINANCE_ALPHA_NV                0x8c44     /* 35908 */\n#define GL_SLUMINANCE8_ALPHA8_NV              0x8c45     /* 35909 */\n#define GL_SLUMINANCE_NV                      0x8c46     /* 35910 */\n#define GL_SLUMINANCE8_NV                     0x8c47     /* 35911 */\n#define GL_COMPRESSED_SRGB_S3TC_DXT1_NV       0x8c4c     /* 35916 */\n#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_NV 0x8c4d     /* 35917 */\n#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_NV 0x8c4e     /* 35918 */\n#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_NV 0x8c4f     /* 35919 */\n#endif\n\n/**\n ** GL_NV_shader_buffer_load\n **/\n\n#if (defined(GL_NV_SHADER_BUFFER_LOAD) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_SHADER_BUFFER_LOAD)) && !defined(REGAL_NO_ENUM_GL_NV_SHADER_BUFFER_LOAD)\n#define REGAL_NO_ENUM_GL_NV_SHADER_BUFFER_LOAD\n#endif\n\n#if (defined(GL_NV_SHADER_BUFFER_LOAD) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_SHADER_BUFFER_LOAD)) && !defined(REGAL_NO_TYPEDEF_GL_NV_SHADER_BUFFER_LOAD)\n#define REGAL_NO_TYPEDEF_GL_NV_SHADER_BUFFER_LOAD\n#endif\n\n#if (defined(GL_NV_SHADER_BUFFER_LOAD) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_SHADER_BUFFER_LOAD)) && !defined(REGAL_NO_NAMESPACE_GL_NV_SHADER_BUFFER_LOAD)\n#define REGAL_NO_NAMESPACE_GL_NV_SHADER_BUFFER_LOAD\n#endif\n\n#if (defined(GL_NV_SHADER_BUFFER_LOAD) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_SHADER_BUFFER_LOAD)) && !defined(REGAL_NO_PLUGIN_GL_NV_SHADER_BUFFER_LOAD)\n#define REGAL_NO_PLUGIN_GL_NV_SHADER_BUFFER_LOAD\n#endif\n\n#if (defined(GL_NV_SHADER_BUFFER_LOAD) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_SHADER_BUFFER_LOAD)) && !defined(REGAL_NO_DECLARATION_GL_NV_SHADER_BUFFER_LOAD)\n#define REGAL_NO_DECLARATION_GL_NV_SHADER_BUFFER_LOAD\n#endif\n\n#ifndef GL_NV_shader_buffer_load\n#define GL_NV_shader_buffer_load 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_SHADER_BUFFER_LOAD\n#define GL_BUFFER_GPU_ADDRESS_NV        0x8f1d     /* 36637 */\n#define GL_GPU_ADDRESS_NV               0x8f34     /* 36660 */\n#define GL_MAX_SHADER_BUFFER_ADDRESS_NV 0x8f35     /* 36661 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_NV_SHADER_BUFFER_LOAD\ntypedef GLboolean (REGAL_CALL *PFNGLISBUFFERRESIDENTNVPROC)(GLenum target);\ntypedef GLboolean (REGAL_CALL *PFNGLISNAMEDBUFFERRESIDENTNVPROC)(GLuint buffer);\ntypedef void (REGAL_CALL *PFNGLGETBUFFERPARAMETERUI64VNVPROC)(GLenum target, GLenum pname, GLuint64EXT *params);\ntypedef void (REGAL_CALL *PFNGLGETINTEGERUI64VNVPROC)(GLenum target, GLuint64EXT *data);\ntypedef void (REGAL_CALL *PFNGLGETNAMEDBUFFERPARAMETERUI64VNVPROC)(GLuint buffer, GLenum pname, GLuint64EXT *params);\ntypedef void (REGAL_CALL *PFNGLGETUNIFORMUI64VNVPROC)(GLuint program, GLint location, GLuint64EXT *params);\ntypedef void (REGAL_CALL *PFNGLMAKEBUFFERNONRESIDENTNVPROC)(GLenum target);\ntypedef void (REGAL_CALL *PFNGLMAKEBUFFERRESIDENTNVPROC)(GLenum target, GLenum access);\ntypedef void (REGAL_CALL *PFNGLMAKENAMEDBUFFERNONRESIDENTNVPROC)(GLuint buffer);\ntypedef void (REGAL_CALL *PFNGLMAKENAMEDBUFFERRESIDENTNVPROC)(GLuint buffer, GLenum access);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMUI64NVPROC)(GLuint program, GLint location, GLuint64EXT v0);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMUI64VNVPROC)(GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORMUI64NVPROC)(GLint location, GLuint64EXT v0);\ntypedef void (REGAL_CALL *PFNGLUNIFORMUI64VNVPROC)(GLint location, GLsizei count, const GLuint64EXT *value);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_NV_SHADER_BUFFER_LOAD\n#define glGetBufferParameterui64vNV         rglGetBufferParameterui64vNV\n#define glGetIntegerui64vNV                 rglGetIntegerui64vNV\n#define glGetNamedBufferParameterui64vNV    rglGetNamedBufferParameterui64vNV\n#define glGetUniformui64vNV                 rglGetUniformui64vNV\n#define glIsBufferResidentNV                rglIsBufferResidentNV\n#define glIsNamedBufferResidentNV           rglIsNamedBufferResidentNV\n#define glMakeBufferNonResidentNV           rglMakeBufferNonResidentNV\n#define glMakeBufferResidentNV              rglMakeBufferResidentNV\n#define glMakeNamedBufferNonResidentNV      rglMakeNamedBufferNonResidentNV\n#define glMakeNamedBufferResidentNV         rglMakeNamedBufferResidentNV\n#define glProgramUniformui64NV              rglProgramUniformui64NV\n#define glProgramUniformui64vNV             rglProgramUniformui64vNV\n#define glUniformui64NV                     rglUniformui64NV\n#define glUniformui64vNV                    rglUniformui64vNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_NV_SHADER_BUFFER_LOAD\nREGAL_DECL GLboolean REGAL_CALL glIsBufferResidentNV(GLenum target);\nREGAL_DECL GLboolean REGAL_CALL glIsNamedBufferResidentNV(GLuint buffer);\nREGAL_DECL void REGAL_CALL glGetBufferParameterui64vNV(GLenum target, GLenum pname, GLuint64EXT *params);\nREGAL_DECL void REGAL_CALL glGetIntegerui64vNV(GLenum target, GLuint64EXT *data);\nREGAL_DECL void REGAL_CALL glGetNamedBufferParameterui64vNV(GLuint buffer, GLenum pname, GLuint64EXT *params);\nREGAL_DECL void REGAL_CALL glGetUniformui64vNV(GLuint program, GLint location, GLuint64EXT *params);\nREGAL_DECL void REGAL_CALL glMakeBufferNonResidentNV(GLenum target);\nREGAL_DECL void REGAL_CALL glMakeBufferResidentNV(GLenum target, GLenum access);\nREGAL_DECL void REGAL_CALL glMakeNamedBufferNonResidentNV(GLuint buffer);\nREGAL_DECL void REGAL_CALL glMakeNamedBufferResidentNV(GLuint buffer, GLenum access);\nREGAL_DECL void REGAL_CALL glProgramUniformui64NV(GLuint program, GLint location, GLuint64EXT v0);\nREGAL_DECL void REGAL_CALL glProgramUniformui64vNV(GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);\nREGAL_DECL void REGAL_CALL glUniformui64NV(GLint location, GLuint64EXT v0);\nREGAL_DECL void REGAL_CALL glUniformui64vNV(GLint location, GLsizei count, const GLuint64EXT *value);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_NV_SHADER_BUFFER_LOAD\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsBufferResidentNV(GLenum target);\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsNamedBufferResidentNV(GLuint buffer);\nREGAL_DECL void REGAL_CALL plugin_glGetBufferParameterui64vNV(GLenum target, GLenum pname, GLuint64EXT *params);\nREGAL_DECL void REGAL_CALL plugin_glGetIntegerui64vNV(GLenum target, GLuint64EXT *data);\nREGAL_DECL void REGAL_CALL plugin_glGetNamedBufferParameterui64vNV(GLuint buffer, GLenum pname, GLuint64EXT *params);\nREGAL_DECL void REGAL_CALL plugin_glGetUniformui64vNV(GLuint program, GLint location, GLuint64EXT *params);\nREGAL_DECL void REGAL_CALL plugin_glMakeBufferNonResidentNV(GLenum target);\nREGAL_DECL void REGAL_CALL plugin_glMakeBufferResidentNV(GLenum target, GLenum access);\nREGAL_DECL void REGAL_CALL plugin_glMakeNamedBufferNonResidentNV(GLuint buffer);\nREGAL_DECL void REGAL_CALL plugin_glMakeNamedBufferResidentNV(GLuint buffer, GLenum access);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformui64NV(GLuint program, GLint location, GLuint64EXT v0);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformui64vNV(GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);\nREGAL_DECL void REGAL_CALL plugin_glUniformui64NV(GLint location, GLuint64EXT v0);\nREGAL_DECL void REGAL_CALL plugin_glUniformui64vNV(GLint location, GLsizei count, const GLuint64EXT *value);\n#endif\n\n/**\n ** GL_NV_shadow_samplers_array\n **/\n\n#if (defined(GL_NV_SHADOW_SAMPLERS_ARRAY) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_SHADOW_SAMPLERS_ARRAY)) && !defined(REGAL_NO_ENUM_GL_NV_SHADOW_SAMPLERS_ARRAY)\n#define REGAL_NO_ENUM_GL_NV_SHADOW_SAMPLERS_ARRAY\n#endif\n\n#if (defined(GL_NV_SHADOW_SAMPLERS_ARRAY) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_SHADOW_SAMPLERS_ARRAY)) && !defined(REGAL_NO_TYPEDEF_GL_NV_SHADOW_SAMPLERS_ARRAY)\n#define REGAL_NO_TYPEDEF_GL_NV_SHADOW_SAMPLERS_ARRAY\n#endif\n\n#if (defined(GL_NV_SHADOW_SAMPLERS_ARRAY) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_SHADOW_SAMPLERS_ARRAY)) && !defined(REGAL_NO_NAMESPACE_GL_NV_SHADOW_SAMPLERS_ARRAY)\n#define REGAL_NO_NAMESPACE_GL_NV_SHADOW_SAMPLERS_ARRAY\n#endif\n\n#if (defined(GL_NV_SHADOW_SAMPLERS_ARRAY) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_SHADOW_SAMPLERS_ARRAY)) && !defined(REGAL_NO_PLUGIN_GL_NV_SHADOW_SAMPLERS_ARRAY)\n#define REGAL_NO_PLUGIN_GL_NV_SHADOW_SAMPLERS_ARRAY\n#endif\n\n#if (defined(GL_NV_SHADOW_SAMPLERS_ARRAY) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_SHADOW_SAMPLERS_ARRAY)) && !defined(REGAL_NO_DECLARATION_GL_NV_SHADOW_SAMPLERS_ARRAY)\n#define REGAL_NO_DECLARATION_GL_NV_SHADOW_SAMPLERS_ARRAY\n#endif\n\n#ifndef GL_NV_shadow_samplers_array\n#define GL_NV_shadow_samplers_array 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_SHADOW_SAMPLERS_ARRAY\n#define GL_SAMPLER_2D_ARRAY_SHADOW_NV 0x8dc4 /* 36292 */\n#endif\n\n/**\n ** GL_NV_shadow_samplers_cube\n **/\n\n#if (defined(GL_NV_SHADOW_SAMPLERS_CUBE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_SHADOW_SAMPLERS_CUBE)) && !defined(REGAL_NO_ENUM_GL_NV_SHADOW_SAMPLERS_CUBE)\n#define REGAL_NO_ENUM_GL_NV_SHADOW_SAMPLERS_CUBE\n#endif\n\n#if (defined(GL_NV_SHADOW_SAMPLERS_CUBE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_SHADOW_SAMPLERS_CUBE)) && !defined(REGAL_NO_TYPEDEF_GL_NV_SHADOW_SAMPLERS_CUBE)\n#define REGAL_NO_TYPEDEF_GL_NV_SHADOW_SAMPLERS_CUBE\n#endif\n\n#if (defined(GL_NV_SHADOW_SAMPLERS_CUBE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_SHADOW_SAMPLERS_CUBE)) && !defined(REGAL_NO_NAMESPACE_GL_NV_SHADOW_SAMPLERS_CUBE)\n#define REGAL_NO_NAMESPACE_GL_NV_SHADOW_SAMPLERS_CUBE\n#endif\n\n#if (defined(GL_NV_SHADOW_SAMPLERS_CUBE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_SHADOW_SAMPLERS_CUBE)) && !defined(REGAL_NO_PLUGIN_GL_NV_SHADOW_SAMPLERS_CUBE)\n#define REGAL_NO_PLUGIN_GL_NV_SHADOW_SAMPLERS_CUBE\n#endif\n\n#if (defined(GL_NV_SHADOW_SAMPLERS_CUBE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_SHADOW_SAMPLERS_CUBE)) && !defined(REGAL_NO_DECLARATION_GL_NV_SHADOW_SAMPLERS_CUBE)\n#define REGAL_NO_DECLARATION_GL_NV_SHADOW_SAMPLERS_CUBE\n#endif\n\n#ifndef GL_NV_shadow_samplers_cube\n#define GL_NV_shadow_samplers_cube 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_SHADOW_SAMPLERS_CUBE\n#define GL_SAMPLER_CUBE_SHADOW_NV 0x8dc5 /* 36293 */\n#endif\n\n/**\n ** GL_NV_tessellation_program5\n **/\n\n#if (defined(GL_NV_TESSELLATION_PROGRAM5) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_TESSELLATION_PROGRAM5)) && !defined(REGAL_NO_ENUM_GL_NV_TESSELLATION_PROGRAM5)\n#define REGAL_NO_ENUM_GL_NV_TESSELLATION_PROGRAM5\n#endif\n\n#if (defined(GL_NV_TESSELLATION_PROGRAM5) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_TESSELLATION_PROGRAM5)) && !defined(REGAL_NO_TYPEDEF_GL_NV_TESSELLATION_PROGRAM5)\n#define REGAL_NO_TYPEDEF_GL_NV_TESSELLATION_PROGRAM5\n#endif\n\n#if (defined(GL_NV_TESSELLATION_PROGRAM5) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_TESSELLATION_PROGRAM5)) && !defined(REGAL_NO_NAMESPACE_GL_NV_TESSELLATION_PROGRAM5)\n#define REGAL_NO_NAMESPACE_GL_NV_TESSELLATION_PROGRAM5\n#endif\n\n#if (defined(GL_NV_TESSELLATION_PROGRAM5) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_TESSELLATION_PROGRAM5)) && !defined(REGAL_NO_PLUGIN_GL_NV_TESSELLATION_PROGRAM5)\n#define REGAL_NO_PLUGIN_GL_NV_TESSELLATION_PROGRAM5\n#endif\n\n#if (defined(GL_NV_TESSELLATION_PROGRAM5) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_TESSELLATION_PROGRAM5)) && !defined(REGAL_NO_DECLARATION_GL_NV_TESSELLATION_PROGRAM5)\n#define REGAL_NO_DECLARATION_GL_NV_TESSELLATION_PROGRAM5\n#endif\n\n#ifndef GL_NV_tessellation_program5\n#define GL_NV_tessellation_program5 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_TESSELLATION_PROGRAM5\n#define GL_MAX_PROGRAM_PATCH_ATTRIBS_NV                0x86d8     /* 34520 */\n#define GL_TESS_CONTROL_PROGRAM_NV                     0x891e     /* 35102 */\n#define GL_TESS_EVALUATION_PROGRAM_NV                  0x891f     /* 35103 */\n#define GL_TESS_CONTROL_PROGRAM_PARAMETER_BUFFER_NV    0x8c74     /* 35956 */\n#define GL_TESS_EVALUATION_PROGRAM_PARAMETER_BUFFER_NV 0x8c75     /* 35957 */\n#endif\n\n/**\n ** GL_NV_texgen_emboss\n **/\n\n#if (defined(GL_NV_TEXGEN_EMBOSS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_TEXGEN_EMBOSS)) && !defined(REGAL_NO_ENUM_GL_NV_TEXGEN_EMBOSS)\n#define REGAL_NO_ENUM_GL_NV_TEXGEN_EMBOSS\n#endif\n\n#if (defined(GL_NV_TEXGEN_EMBOSS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_TEXGEN_EMBOSS)) && !defined(REGAL_NO_TYPEDEF_GL_NV_TEXGEN_EMBOSS)\n#define REGAL_NO_TYPEDEF_GL_NV_TEXGEN_EMBOSS\n#endif\n\n#if (defined(GL_NV_TEXGEN_EMBOSS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_TEXGEN_EMBOSS)) && !defined(REGAL_NO_NAMESPACE_GL_NV_TEXGEN_EMBOSS)\n#define REGAL_NO_NAMESPACE_GL_NV_TEXGEN_EMBOSS\n#endif\n\n#if (defined(GL_NV_TEXGEN_EMBOSS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_TEXGEN_EMBOSS)) && !defined(REGAL_NO_PLUGIN_GL_NV_TEXGEN_EMBOSS)\n#define REGAL_NO_PLUGIN_GL_NV_TEXGEN_EMBOSS\n#endif\n\n#if (defined(GL_NV_TEXGEN_EMBOSS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_TEXGEN_EMBOSS)) && !defined(REGAL_NO_DECLARATION_GL_NV_TEXGEN_EMBOSS)\n#define REGAL_NO_DECLARATION_GL_NV_TEXGEN_EMBOSS\n#endif\n\n#ifndef GL_NV_texgen_emboss\n#define GL_NV_texgen_emboss 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_TEXGEN_EMBOSS\n#define GL_EMBOSS_LIGHT_NV    0x855d     /* 34141 */\n#define GL_EMBOSS_CONSTANT_NV 0x855e     /* 34142 */\n#define GL_EMBOSS_MAP_NV      0x855f     /* 34143 */\n#endif\n\n/**\n ** GL_NV_texgen_reflection\n **/\n\n#if (defined(GL_NV_TEXGEN_REFLECTION) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_TEXGEN_REFLECTION)) && !defined(REGAL_NO_ENUM_GL_NV_TEXGEN_REFLECTION)\n#define REGAL_NO_ENUM_GL_NV_TEXGEN_REFLECTION\n#endif\n\n#if (defined(GL_NV_TEXGEN_REFLECTION) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_TEXGEN_REFLECTION)) && !defined(REGAL_NO_TYPEDEF_GL_NV_TEXGEN_REFLECTION)\n#define REGAL_NO_TYPEDEF_GL_NV_TEXGEN_REFLECTION\n#endif\n\n#if (defined(GL_NV_TEXGEN_REFLECTION) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_TEXGEN_REFLECTION)) && !defined(REGAL_NO_NAMESPACE_GL_NV_TEXGEN_REFLECTION)\n#define REGAL_NO_NAMESPACE_GL_NV_TEXGEN_REFLECTION\n#endif\n\n#if (defined(GL_NV_TEXGEN_REFLECTION) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_TEXGEN_REFLECTION)) && !defined(REGAL_NO_PLUGIN_GL_NV_TEXGEN_REFLECTION)\n#define REGAL_NO_PLUGIN_GL_NV_TEXGEN_REFLECTION\n#endif\n\n#if (defined(GL_NV_TEXGEN_REFLECTION) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_TEXGEN_REFLECTION)) && !defined(REGAL_NO_DECLARATION_GL_NV_TEXGEN_REFLECTION)\n#define REGAL_NO_DECLARATION_GL_NV_TEXGEN_REFLECTION\n#endif\n\n#ifndef GL_NV_texgen_reflection\n#define GL_NV_texgen_reflection 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_TEXGEN_REFLECTION\n#define GL_NORMAL_MAP_NV     0x8511     /* 34065 */\n#define GL_REFLECTION_MAP_NV 0x8512     /* 34066 */\n#endif\n\n/**\n ** GL_NV_texture_array\n **/\n\n#if (defined(GL_NV_TEXTURE_ARRAY) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_TEXTURE_ARRAY)) && !defined(REGAL_NO_ENUM_GL_NV_TEXTURE_ARRAY)\n#define REGAL_NO_ENUM_GL_NV_TEXTURE_ARRAY\n#endif\n\n#if (defined(GL_NV_TEXTURE_ARRAY) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_TEXTURE_ARRAY)) && !defined(REGAL_NO_TYPEDEF_GL_NV_TEXTURE_ARRAY)\n#define REGAL_NO_TYPEDEF_GL_NV_TEXTURE_ARRAY\n#endif\n\n#if (defined(GL_NV_TEXTURE_ARRAY) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_TEXTURE_ARRAY)) && !defined(REGAL_NO_NAMESPACE_GL_NV_TEXTURE_ARRAY)\n#define REGAL_NO_NAMESPACE_GL_NV_TEXTURE_ARRAY\n#endif\n\n#if (defined(GL_NV_TEXTURE_ARRAY) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_TEXTURE_ARRAY)) && !defined(REGAL_NO_PLUGIN_GL_NV_TEXTURE_ARRAY)\n#define REGAL_NO_PLUGIN_GL_NV_TEXTURE_ARRAY\n#endif\n\n#if (defined(GL_NV_TEXTURE_ARRAY) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_TEXTURE_ARRAY)) && !defined(REGAL_NO_DECLARATION_GL_NV_TEXTURE_ARRAY)\n#define REGAL_NO_DECLARATION_GL_NV_TEXTURE_ARRAY\n#endif\n\n#ifndef GL_NV_texture_array\n#define GL_NV_texture_array 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_TEXTURE_ARRAY\n#define GL_UNPACK_SKIP_IMAGES_NV                   0x806d     /* 32877 */\n#define GL_UNPACK_IMAGE_HEIGHT_NV                  0x806e     /* 32878 */\n#define GL_MAX_ARRAY_TEXTURE_LAYERS_NV             0x88ff     /* 35071 */\n#define GL_TEXTURE_2D_ARRAY_NV                     0x8c1a     /* 35866 */\n#define GL_TEXTURE_BINDING_2D_ARRAY_NV             0x8c1d     /* 35869 */\n#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_NV 0x8cd4     /* 36052 */\n#define GL_SAMPLER_2D_ARRAY_NV                     0x8dc1     /* 36289 */\n#endif\n\n/**\n ** GL_NV_texture_barrier\n **/\n\n#if (defined(GL_NV_TEXTURE_BARRIER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_TEXTURE_BARRIER)) && !defined(REGAL_NO_ENUM_GL_NV_TEXTURE_BARRIER)\n#define REGAL_NO_ENUM_GL_NV_TEXTURE_BARRIER\n#endif\n\n#if (defined(GL_NV_TEXTURE_BARRIER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_TEXTURE_BARRIER)) && !defined(REGAL_NO_TYPEDEF_GL_NV_TEXTURE_BARRIER)\n#define REGAL_NO_TYPEDEF_GL_NV_TEXTURE_BARRIER\n#endif\n\n#if (defined(GL_NV_TEXTURE_BARRIER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_TEXTURE_BARRIER)) && !defined(REGAL_NO_NAMESPACE_GL_NV_TEXTURE_BARRIER)\n#define REGAL_NO_NAMESPACE_GL_NV_TEXTURE_BARRIER\n#endif\n\n#if (defined(GL_NV_TEXTURE_BARRIER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_TEXTURE_BARRIER)) && !defined(REGAL_NO_PLUGIN_GL_NV_TEXTURE_BARRIER)\n#define REGAL_NO_PLUGIN_GL_NV_TEXTURE_BARRIER\n#endif\n\n#if (defined(GL_NV_TEXTURE_BARRIER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_TEXTURE_BARRIER)) && !defined(REGAL_NO_DECLARATION_GL_NV_TEXTURE_BARRIER)\n#define REGAL_NO_DECLARATION_GL_NV_TEXTURE_BARRIER\n#endif\n\n#ifndef GL_NV_texture_barrier\n#define GL_NV_texture_barrier 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_NV_TEXTURE_BARRIER\ntypedef void (REGAL_CALL *PFNGLTEXTUREBARRIERNVPROC)(void);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_NV_TEXTURE_BARRIER\n#define glTextureBarrierNV                  rglTextureBarrierNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_NV_TEXTURE_BARRIER\nREGAL_DECL void REGAL_CALL glTextureBarrierNV(void);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_NV_TEXTURE_BARRIER\nREGAL_DECL void REGAL_CALL plugin_glTextureBarrierNV(void);\n#endif\n\n/**\n ** GL_NV_texture_border_clamp\n **/\n\n#if (defined(GL_NV_TEXTURE_BORDER_CLAMP) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_TEXTURE_BORDER_CLAMP)) && !defined(REGAL_NO_ENUM_GL_NV_TEXTURE_BORDER_CLAMP)\n#define REGAL_NO_ENUM_GL_NV_TEXTURE_BORDER_CLAMP\n#endif\n\n#if (defined(GL_NV_TEXTURE_BORDER_CLAMP) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_TEXTURE_BORDER_CLAMP)) && !defined(REGAL_NO_TYPEDEF_GL_NV_TEXTURE_BORDER_CLAMP)\n#define REGAL_NO_TYPEDEF_GL_NV_TEXTURE_BORDER_CLAMP\n#endif\n\n#if (defined(GL_NV_TEXTURE_BORDER_CLAMP) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_TEXTURE_BORDER_CLAMP)) && !defined(REGAL_NO_NAMESPACE_GL_NV_TEXTURE_BORDER_CLAMP)\n#define REGAL_NO_NAMESPACE_GL_NV_TEXTURE_BORDER_CLAMP\n#endif\n\n#if (defined(GL_NV_TEXTURE_BORDER_CLAMP) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_TEXTURE_BORDER_CLAMP)) && !defined(REGAL_NO_PLUGIN_GL_NV_TEXTURE_BORDER_CLAMP)\n#define REGAL_NO_PLUGIN_GL_NV_TEXTURE_BORDER_CLAMP\n#endif\n\n#if (defined(GL_NV_TEXTURE_BORDER_CLAMP) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_TEXTURE_BORDER_CLAMP)) && !defined(REGAL_NO_DECLARATION_GL_NV_TEXTURE_BORDER_CLAMP)\n#define REGAL_NO_DECLARATION_GL_NV_TEXTURE_BORDER_CLAMP\n#endif\n\n#ifndef GL_NV_texture_border_clamp\n#define GL_NV_texture_border_clamp 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_TEXTURE_BORDER_CLAMP\n#define GL_TEXTURE_BORDER_COLOR_NV 0x1004     /* 4100 */\n#define GL_CLAMP_TO_BORDER_NV      0x812d     /* 33069 */\n#endif\n\n/**\n ** GL_NV_texture_compression_latc\n **/\n\n#if (defined(GL_NV_TEXTURE_COMPRESSION_LATC) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_TEXTURE_COMPRESSION_LATC)) && !defined(REGAL_NO_ENUM_GL_NV_TEXTURE_COMPRESSION_LATC)\n#define REGAL_NO_ENUM_GL_NV_TEXTURE_COMPRESSION_LATC\n#endif\n\n#if (defined(GL_NV_TEXTURE_COMPRESSION_LATC) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_TEXTURE_COMPRESSION_LATC)) && !defined(REGAL_NO_TYPEDEF_GL_NV_TEXTURE_COMPRESSION_LATC)\n#define REGAL_NO_TYPEDEF_GL_NV_TEXTURE_COMPRESSION_LATC\n#endif\n\n#if (defined(GL_NV_TEXTURE_COMPRESSION_LATC) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_TEXTURE_COMPRESSION_LATC)) && !defined(REGAL_NO_NAMESPACE_GL_NV_TEXTURE_COMPRESSION_LATC)\n#define REGAL_NO_NAMESPACE_GL_NV_TEXTURE_COMPRESSION_LATC\n#endif\n\n#if (defined(GL_NV_TEXTURE_COMPRESSION_LATC) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_TEXTURE_COMPRESSION_LATC)) && !defined(REGAL_NO_PLUGIN_GL_NV_TEXTURE_COMPRESSION_LATC)\n#define REGAL_NO_PLUGIN_GL_NV_TEXTURE_COMPRESSION_LATC\n#endif\n\n#if (defined(GL_NV_TEXTURE_COMPRESSION_LATC) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_TEXTURE_COMPRESSION_LATC)) && !defined(REGAL_NO_DECLARATION_GL_NV_TEXTURE_COMPRESSION_LATC)\n#define REGAL_NO_DECLARATION_GL_NV_TEXTURE_COMPRESSION_LATC\n#endif\n\n#ifndef GL_NV_texture_compression_latc\n#define GL_NV_texture_compression_latc 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_TEXTURE_COMPRESSION_LATC\n#define GL_COMPRESSED_LUMINANCE_LATC1_NV              0x8c70     /* 35952 */\n#define GL_COMPRESSED_SIGNED_LUMINANCE_LATC1_NV       0x8c71     /* 35953 */\n#define GL_COMPRESSED_LUMINANCE_ALPHA_LATC2_NV        0x8c72     /* 35954 */\n#define GL_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_NV 0x8c73     /* 35955 */\n#endif\n\n/**\n ** GL_NV_texture_compression_s3tc\n **/\n\n#if (defined(GL_NV_TEXTURE_COMPRESSION_S3TC) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_TEXTURE_COMPRESSION_S3TC)) && !defined(REGAL_NO_ENUM_GL_NV_TEXTURE_COMPRESSION_S3TC)\n#define REGAL_NO_ENUM_GL_NV_TEXTURE_COMPRESSION_S3TC\n#endif\n\n#if (defined(GL_NV_TEXTURE_COMPRESSION_S3TC) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_TEXTURE_COMPRESSION_S3TC)) && !defined(REGAL_NO_TYPEDEF_GL_NV_TEXTURE_COMPRESSION_S3TC)\n#define REGAL_NO_TYPEDEF_GL_NV_TEXTURE_COMPRESSION_S3TC\n#endif\n\n#if (defined(GL_NV_TEXTURE_COMPRESSION_S3TC) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_TEXTURE_COMPRESSION_S3TC)) && !defined(REGAL_NO_NAMESPACE_GL_NV_TEXTURE_COMPRESSION_S3TC)\n#define REGAL_NO_NAMESPACE_GL_NV_TEXTURE_COMPRESSION_S3TC\n#endif\n\n#if (defined(GL_NV_TEXTURE_COMPRESSION_S3TC) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_TEXTURE_COMPRESSION_S3TC)) && !defined(REGAL_NO_PLUGIN_GL_NV_TEXTURE_COMPRESSION_S3TC)\n#define REGAL_NO_PLUGIN_GL_NV_TEXTURE_COMPRESSION_S3TC\n#endif\n\n#if (defined(GL_NV_TEXTURE_COMPRESSION_S3TC) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_TEXTURE_COMPRESSION_S3TC)) && !defined(REGAL_NO_DECLARATION_GL_NV_TEXTURE_COMPRESSION_S3TC)\n#define REGAL_NO_DECLARATION_GL_NV_TEXTURE_COMPRESSION_S3TC\n#endif\n\n#ifndef GL_NV_texture_compression_s3tc\n#define GL_NV_texture_compression_s3tc 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_TEXTURE_COMPRESSION_S3TC\n#define GL_COMPRESSED_RGB_S3TC_DXT1_NV  0x83f0     /* 33776 */\n#define GL_COMPRESSED_RGBA_S3TC_DXT1_NV 0x83f1     /* 33777 */\n#define GL_COMPRESSED_RGBA_S3TC_DXT3_NV 0x83f2     /* 33778 */\n#define GL_COMPRESSED_RGBA_S3TC_DXT5_NV 0x83f3     /* 33779 */\n#endif\n\n/**\n ** GL_NV_texture_env_combine4\n **/\n\n#if (defined(GL_NV_TEXTURE_ENV_COMBINE4) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_TEXTURE_ENV_COMBINE4)) && !defined(REGAL_NO_ENUM_GL_NV_TEXTURE_ENV_COMBINE4)\n#define REGAL_NO_ENUM_GL_NV_TEXTURE_ENV_COMBINE4\n#endif\n\n#if (defined(GL_NV_TEXTURE_ENV_COMBINE4) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_TEXTURE_ENV_COMBINE4)) && !defined(REGAL_NO_TYPEDEF_GL_NV_TEXTURE_ENV_COMBINE4)\n#define REGAL_NO_TYPEDEF_GL_NV_TEXTURE_ENV_COMBINE4\n#endif\n\n#if (defined(GL_NV_TEXTURE_ENV_COMBINE4) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_TEXTURE_ENV_COMBINE4)) && !defined(REGAL_NO_NAMESPACE_GL_NV_TEXTURE_ENV_COMBINE4)\n#define REGAL_NO_NAMESPACE_GL_NV_TEXTURE_ENV_COMBINE4\n#endif\n\n#if (defined(GL_NV_TEXTURE_ENV_COMBINE4) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_TEXTURE_ENV_COMBINE4)) && !defined(REGAL_NO_PLUGIN_GL_NV_TEXTURE_ENV_COMBINE4)\n#define REGAL_NO_PLUGIN_GL_NV_TEXTURE_ENV_COMBINE4\n#endif\n\n#if (defined(GL_NV_TEXTURE_ENV_COMBINE4) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_TEXTURE_ENV_COMBINE4)) && !defined(REGAL_NO_DECLARATION_GL_NV_TEXTURE_ENV_COMBINE4)\n#define REGAL_NO_DECLARATION_GL_NV_TEXTURE_ENV_COMBINE4\n#endif\n\n#ifndef GL_NV_texture_env_combine4\n#define GL_NV_texture_env_combine4 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_TEXTURE_ENV_COMBINE4\n#define GL_COMBINE4_NV       0x8503     /* 34051 */\n#define GL_SOURCE3_RGB_NV    0x8583     /* 34179 */\n#define GL_SOURCE3_ALPHA_NV  0x858b     /* 34187 */\n#define GL_OPERAND3_RGB_NV   0x8593     /* 34195 */\n#define GL_OPERAND3_ALPHA_NV 0x859b     /* 34203 */\n#endif\n\n/**\n ** GL_NV_texture_expand_normal\n **/\n\n#if (defined(GL_NV_TEXTURE_EXPAND_NORMAL) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_TEXTURE_EXPAND_NORMAL)) && !defined(REGAL_NO_ENUM_GL_NV_TEXTURE_EXPAND_NORMAL)\n#define REGAL_NO_ENUM_GL_NV_TEXTURE_EXPAND_NORMAL\n#endif\n\n#if (defined(GL_NV_TEXTURE_EXPAND_NORMAL) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_TEXTURE_EXPAND_NORMAL)) && !defined(REGAL_NO_TYPEDEF_GL_NV_TEXTURE_EXPAND_NORMAL)\n#define REGAL_NO_TYPEDEF_GL_NV_TEXTURE_EXPAND_NORMAL\n#endif\n\n#if (defined(GL_NV_TEXTURE_EXPAND_NORMAL) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_TEXTURE_EXPAND_NORMAL)) && !defined(REGAL_NO_NAMESPACE_GL_NV_TEXTURE_EXPAND_NORMAL)\n#define REGAL_NO_NAMESPACE_GL_NV_TEXTURE_EXPAND_NORMAL\n#endif\n\n#if (defined(GL_NV_TEXTURE_EXPAND_NORMAL) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_TEXTURE_EXPAND_NORMAL)) && !defined(REGAL_NO_PLUGIN_GL_NV_TEXTURE_EXPAND_NORMAL)\n#define REGAL_NO_PLUGIN_GL_NV_TEXTURE_EXPAND_NORMAL\n#endif\n\n#if (defined(GL_NV_TEXTURE_EXPAND_NORMAL) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_TEXTURE_EXPAND_NORMAL)) && !defined(REGAL_NO_DECLARATION_GL_NV_TEXTURE_EXPAND_NORMAL)\n#define REGAL_NO_DECLARATION_GL_NV_TEXTURE_EXPAND_NORMAL\n#endif\n\n#ifndef GL_NV_texture_expand_normal\n#define GL_NV_texture_expand_normal 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_TEXTURE_EXPAND_NORMAL\n#define GL_TEXTURE_UNSIGNED_REMAP_MODE_NV 0x888f /* 34959 */\n#endif\n\n/**\n ** GL_NV_texture_multisample\n **/\n\n#if (defined(GL_NV_TEXTURE_MULTISAMPLE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_TEXTURE_MULTISAMPLE)) && !defined(REGAL_NO_ENUM_GL_NV_TEXTURE_MULTISAMPLE)\n#define REGAL_NO_ENUM_GL_NV_TEXTURE_MULTISAMPLE\n#endif\n\n#if (defined(GL_NV_TEXTURE_MULTISAMPLE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_TEXTURE_MULTISAMPLE)) && !defined(REGAL_NO_TYPEDEF_GL_NV_TEXTURE_MULTISAMPLE)\n#define REGAL_NO_TYPEDEF_GL_NV_TEXTURE_MULTISAMPLE\n#endif\n\n#if (defined(GL_NV_TEXTURE_MULTISAMPLE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_TEXTURE_MULTISAMPLE)) && !defined(REGAL_NO_NAMESPACE_GL_NV_TEXTURE_MULTISAMPLE)\n#define REGAL_NO_NAMESPACE_GL_NV_TEXTURE_MULTISAMPLE\n#endif\n\n#if (defined(GL_NV_TEXTURE_MULTISAMPLE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_TEXTURE_MULTISAMPLE)) && !defined(REGAL_NO_PLUGIN_GL_NV_TEXTURE_MULTISAMPLE)\n#define REGAL_NO_PLUGIN_GL_NV_TEXTURE_MULTISAMPLE\n#endif\n\n#if (defined(GL_NV_TEXTURE_MULTISAMPLE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_TEXTURE_MULTISAMPLE)) && !defined(REGAL_NO_DECLARATION_GL_NV_TEXTURE_MULTISAMPLE)\n#define REGAL_NO_DECLARATION_GL_NV_TEXTURE_MULTISAMPLE\n#endif\n\n#ifndef GL_NV_texture_multisample\n#define GL_NV_texture_multisample 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_TEXTURE_MULTISAMPLE\n#define GL_TEXTURE_COVERAGE_SAMPLES_NV 0x9045     /* 36933 */\n#define GL_TEXTURE_COLOR_SAMPLES_NV    0x9046     /* 36934 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_NV_TEXTURE_MULTISAMPLE\ntypedef void (REGAL_CALL *PFNGLTEXIMAGE2DMULTISAMPLECOVERAGENVPROC)(GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations);\ntypedef void (REGAL_CALL *PFNGLTEXIMAGE3DMULTISAMPLECOVERAGENVPROC)(GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations);\ntypedef void (REGAL_CALL *PFNGLTEXTUREIMAGE2DMULTISAMPLECOVERAGENVPROC)(GLuint texture, GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations);\ntypedef void (REGAL_CALL *PFNGLTEXTUREIMAGE2DMULTISAMPLENVPROC)(GLuint texture, GLenum target, GLsizei samples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations);\ntypedef void (REGAL_CALL *PFNGLTEXTUREIMAGE3DMULTISAMPLECOVERAGENVPROC)(GLuint texture, GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations);\ntypedef void (REGAL_CALL *PFNGLTEXTUREIMAGE3DMULTISAMPLENVPROC)(GLuint texture, GLenum target, GLsizei samples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_NV_TEXTURE_MULTISAMPLE\n#define glTexImage2DMultisampleCoverageNV   rglTexImage2DMultisampleCoverageNV\n#define glTexImage3DMultisampleCoverageNV   rglTexImage3DMultisampleCoverageNV\n#define glTextureImage2DMultisampleCoverageNV rglTextureImage2DMultisampleCoverageNV\n#define glTextureImage2DMultisampleNV       rglTextureImage2DMultisampleNV\n#define glTextureImage3DMultisampleCoverageNV rglTextureImage3DMultisampleCoverageNV\n#define glTextureImage3DMultisampleNV       rglTextureImage3DMultisampleNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_NV_TEXTURE_MULTISAMPLE\nREGAL_DECL void REGAL_CALL glTexImage2DMultisampleCoverageNV(GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations);\nREGAL_DECL void REGAL_CALL glTexImage3DMultisampleCoverageNV(GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations);\nREGAL_DECL void REGAL_CALL glTextureImage2DMultisampleCoverageNV(GLuint texture, GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations);\nREGAL_DECL void REGAL_CALL glTextureImage2DMultisampleNV(GLuint texture, GLenum target, GLsizei samples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations);\nREGAL_DECL void REGAL_CALL glTextureImage3DMultisampleCoverageNV(GLuint texture, GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations);\nREGAL_DECL void REGAL_CALL glTextureImage3DMultisampleNV(GLuint texture, GLenum target, GLsizei samples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_NV_TEXTURE_MULTISAMPLE\nREGAL_DECL void REGAL_CALL plugin_glTexImage2DMultisampleCoverageNV(GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations);\nREGAL_DECL void REGAL_CALL plugin_glTexImage3DMultisampleCoverageNV(GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations);\nREGAL_DECL void REGAL_CALL plugin_glTextureImage2DMultisampleCoverageNV(GLuint texture, GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations);\nREGAL_DECL void REGAL_CALL plugin_glTextureImage2DMultisampleNV(GLuint texture, GLenum target, GLsizei samples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations);\nREGAL_DECL void REGAL_CALL plugin_glTextureImage3DMultisampleCoverageNV(GLuint texture, GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations);\nREGAL_DECL void REGAL_CALL plugin_glTextureImage3DMultisampleNV(GLuint texture, GLenum target, GLsizei samples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations);\n#endif\n\n/**\n ** GL_NV_texture_rectangle\n **/\n\n#if (defined(GL_NV_TEXTURE_RECTANGLE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_TEXTURE_RECTANGLE)) && !defined(REGAL_NO_ENUM_GL_NV_TEXTURE_RECTANGLE)\n#define REGAL_NO_ENUM_GL_NV_TEXTURE_RECTANGLE\n#endif\n\n#if (defined(GL_NV_TEXTURE_RECTANGLE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_TEXTURE_RECTANGLE)) && !defined(REGAL_NO_TYPEDEF_GL_NV_TEXTURE_RECTANGLE)\n#define REGAL_NO_TYPEDEF_GL_NV_TEXTURE_RECTANGLE\n#endif\n\n#if (defined(GL_NV_TEXTURE_RECTANGLE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_TEXTURE_RECTANGLE)) && !defined(REGAL_NO_NAMESPACE_GL_NV_TEXTURE_RECTANGLE)\n#define REGAL_NO_NAMESPACE_GL_NV_TEXTURE_RECTANGLE\n#endif\n\n#if (defined(GL_NV_TEXTURE_RECTANGLE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_TEXTURE_RECTANGLE)) && !defined(REGAL_NO_PLUGIN_GL_NV_TEXTURE_RECTANGLE)\n#define REGAL_NO_PLUGIN_GL_NV_TEXTURE_RECTANGLE\n#endif\n\n#if (defined(GL_NV_TEXTURE_RECTANGLE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_TEXTURE_RECTANGLE)) && !defined(REGAL_NO_DECLARATION_GL_NV_TEXTURE_RECTANGLE)\n#define REGAL_NO_DECLARATION_GL_NV_TEXTURE_RECTANGLE\n#endif\n\n#ifndef GL_NV_texture_rectangle\n#define GL_NV_texture_rectangle 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_TEXTURE_RECTANGLE\n#define GL_TEXTURE_RECTANGLE_NV          0x84f5     /* 34037 */\n#define GL_TEXTURE_BINDING_RECTANGLE_NV  0x84f6     /* 34038 */\n#define GL_PROXY_TEXTURE_RECTANGLE_NV    0x84f7     /* 34039 */\n#define GL_MAX_RECTANGLE_TEXTURE_SIZE_NV 0x84f8     /* 34040 */\n#endif\n\n/**\n ** GL_NV_texture_shader\n **/\n\n#if (defined(GL_NV_TEXTURE_SHADER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_TEXTURE_SHADER)) && !defined(REGAL_NO_ENUM_GL_NV_TEXTURE_SHADER)\n#define REGAL_NO_ENUM_GL_NV_TEXTURE_SHADER\n#endif\n\n#if (defined(GL_NV_TEXTURE_SHADER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_TEXTURE_SHADER)) && !defined(REGAL_NO_TYPEDEF_GL_NV_TEXTURE_SHADER)\n#define REGAL_NO_TYPEDEF_GL_NV_TEXTURE_SHADER\n#endif\n\n#if (defined(GL_NV_TEXTURE_SHADER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_TEXTURE_SHADER)) && !defined(REGAL_NO_NAMESPACE_GL_NV_TEXTURE_SHADER)\n#define REGAL_NO_NAMESPACE_GL_NV_TEXTURE_SHADER\n#endif\n\n#if (defined(GL_NV_TEXTURE_SHADER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_TEXTURE_SHADER)) && !defined(REGAL_NO_PLUGIN_GL_NV_TEXTURE_SHADER)\n#define REGAL_NO_PLUGIN_GL_NV_TEXTURE_SHADER\n#endif\n\n#if (defined(GL_NV_TEXTURE_SHADER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_TEXTURE_SHADER)) && !defined(REGAL_NO_DECLARATION_GL_NV_TEXTURE_SHADER)\n#define REGAL_NO_DECLARATION_GL_NV_TEXTURE_SHADER\n#endif\n\n#ifndef GL_NV_texture_shader\n#define GL_NV_texture_shader 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_TEXTURE_SHADER\n#define GL_OFFSET_TEXTURE_RECTANGLE_NV               0x864c     /* 34380 */\n#define GL_OFFSET_TEXTURE_RECTANGLE_SCALE_NV         0x864d     /* 34381 */\n#define GL_DOT_PRODUCT_TEXTURE_RECTANGLE_NV          0x864e     /* 34382 */\n#define GL_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV      0x86d9     /* 34521 */\n#define GL_SHADER_CONSISTENT_NV                      0x86dd     /* 34525 */\n#define GL_TEXTURE_SHADER_NV                         0x86de     /* 34526 */\n#define GL_SHADER_OPERATION_NV                       0x86df     /* 34527 */\n#define GL_CULL_MODES_NV                             0x86e0     /* 34528 */\n#define GL_OFFSET_TEXTURE_2D_MATRIX_NV               0x86e1     /* 34529 */\n#define GL_OFFSET_TEXTURE_MATRIX_NV                  0x86e1     /* 34529 */\n#define GL_OFFSET_TEXTURE_2D_SCALE_NV                0x86e2     /* 34530 */\n#define GL_OFFSET_TEXTURE_SCALE_NV                   0x86e2     /* 34530 */\n#define GL_OFFSET_TEXTURE_2D_BIAS_NV                 0x86e3     /* 34531 */\n#define GL_OFFSET_TEXTURE_BIAS_NV                    0x86e3     /* 34531 */\n#define GL_PREVIOUS_TEXTURE_INPUT_NV                 0x86e4     /* 34532 */\n#define GL_CONST_EYE_NV                              0x86e5     /* 34533 */\n#define GL_PASS_THROUGH_NV                           0x86e6     /* 34534 */\n#define GL_CULL_FRAGMENT_NV                          0x86e7     /* 34535 */\n#define GL_OFFSET_TEXTURE_2D_NV                      0x86e8     /* 34536 */\n#define GL_DEPENDENT_AR_TEXTURE_2D_NV                0x86e9     /* 34537 */\n#define GL_DEPENDENT_GB_TEXTURE_2D_NV                0x86ea     /* 34538 */\n#define GL_DOT_PRODUCT_NV                            0x86ec     /* 34540 */\n#define GL_DOT_PRODUCT_DEPTH_REPLACE_NV              0x86ed     /* 34541 */\n#define GL_DOT_PRODUCT_TEXTURE_2D_NV                 0x86ee     /* 34542 */\n#define GL_DOT_PRODUCT_TEXTURE_CUBE_MAP_NV           0x86f0     /* 34544 */\n#define GL_DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV           0x86f1     /* 34545 */\n#define GL_DOT_PRODUCT_REFLECT_CUBE_MAP_NV           0x86f2     /* 34546 */\n#define GL_DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV 0x86f3     /* 34547 */\n#define GL_HI_SCALE_NV                               0x870e     /* 34574 */\n#define GL_LO_SCALE_NV                               0x870f     /* 34575 */\n#define GL_DS_SCALE_NV                               0x8710     /* 34576 */\n#define GL_DT_SCALE_NV                               0x8711     /* 34577 */\n#define GL_MAGNITUDE_SCALE_NV                        0x8712     /* 34578 */\n#define GL_VIBRANCE_SCALE_NV                         0x8713     /* 34579 */\n#define GL_HI_BIAS_NV                                0x8714     /* 34580 */\n#define GL_LO_BIAS_NV                                0x8715     /* 34581 */\n#define GL_DS_BIAS_NV                                0x8716     /* 34582 */\n#define GL_DT_BIAS_NV                                0x8717     /* 34583 */\n#define GL_MAGNITUDE_BIAS_NV                         0x8718     /* 34584 */\n#define GL_VIBRANCE_BIAS_NV                          0x8719     /* 34585 */\n#define GL_TEXTURE_BORDER_VALUES_NV                  0x871a     /* 34586 */\n#define GL_TEXTURE_HI_SIZE_NV                        0x871b     /* 34587 */\n#define GL_TEXTURE_LO_SIZE_NV                        0x871c     /* 34588 */\n#define GL_TEXTURE_DS_SIZE_NV                        0x871d     /* 34589 */\n#define GL_TEXTURE_DT_SIZE_NV                        0x871e     /* 34590 */\n#define GL_TEXTURE_MAG_SIZE_NV                       0x871f     /* 34591 */\n#endif\n\n/**\n ** GL_NV_texture_shader2\n **/\n\n#if (defined(GL_NV_TEXTURE_SHADER2) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_TEXTURE_SHADER2)) && !defined(REGAL_NO_ENUM_GL_NV_TEXTURE_SHADER2)\n#define REGAL_NO_ENUM_GL_NV_TEXTURE_SHADER2\n#endif\n\n#if (defined(GL_NV_TEXTURE_SHADER2) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_TEXTURE_SHADER2)) && !defined(REGAL_NO_TYPEDEF_GL_NV_TEXTURE_SHADER2)\n#define REGAL_NO_TYPEDEF_GL_NV_TEXTURE_SHADER2\n#endif\n\n#if (defined(GL_NV_TEXTURE_SHADER2) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_TEXTURE_SHADER2)) && !defined(REGAL_NO_NAMESPACE_GL_NV_TEXTURE_SHADER2)\n#define REGAL_NO_NAMESPACE_GL_NV_TEXTURE_SHADER2\n#endif\n\n#if (defined(GL_NV_TEXTURE_SHADER2) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_TEXTURE_SHADER2)) && !defined(REGAL_NO_PLUGIN_GL_NV_TEXTURE_SHADER2)\n#define REGAL_NO_PLUGIN_GL_NV_TEXTURE_SHADER2\n#endif\n\n#if (defined(GL_NV_TEXTURE_SHADER2) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_TEXTURE_SHADER2)) && !defined(REGAL_NO_DECLARATION_GL_NV_TEXTURE_SHADER2)\n#define REGAL_NO_DECLARATION_GL_NV_TEXTURE_SHADER2\n#endif\n\n#ifndef GL_NV_texture_shader2\n#define GL_NV_texture_shader2 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_TEXTURE_SHADER2\n#define GL_UNSIGNED_INT_S8_S8_8_8_NV      0x86da     /* 34522 */\n#define GL_UNSIGNED_INT_8_8_S8_S8_REV_NV  0x86db     /* 34523 */\n#define GL_DSDT_MAG_INTENSITY_NV          0x86dc     /* 34524 */\n#define GL_DOT_PRODUCT_TEXTURE_3D_NV      0x86ef     /* 34543 */\n#define GL_HILO_NV                        0x86f4     /* 34548 */\n#define GL_DSDT_NV                        0x86f5     /* 34549 */\n#define GL_DSDT_MAG_NV                    0x86f6     /* 34550 */\n#define GL_DSDT_MAG_VIB_NV                0x86f7     /* 34551 */\n#define GL_HILO16_NV                      0x86f8     /* 34552 */\n#define GL_SIGNED_HILO_NV                 0x86f9     /* 34553 */\n#define GL_SIGNED_HILO16_NV               0x86fa     /* 34554 */\n#define GL_SIGNED_RGBA_NV                 0x86fb     /* 34555 */\n#define GL_SIGNED_RGBA8_NV                0x86fc     /* 34556 */\n#define GL_SIGNED_RGB_NV                  0x86fe     /* 34558 */\n#define GL_SIGNED_RGB8_NV                 0x86ff     /* 34559 */\n#define GL_SIGNED_LUMINANCE_NV            0x8701     /* 34561 */\n#define GL_SIGNED_LUMINANCE8_NV           0x8702     /* 34562 */\n#define GL_SIGNED_LUMINANCE_ALPHA_NV      0x8703     /* 34563 */\n#define GL_SIGNED_LUMINANCE8_ALPHA8_NV    0x8704     /* 34564 */\n#define GL_SIGNED_ALPHA_NV                0x8705     /* 34565 */\n#define GL_SIGNED_ALPHA8_NV               0x8706     /* 34566 */\n#define GL_SIGNED_INTENSITY_NV            0x8707     /* 34567 */\n#define GL_SIGNED_INTENSITY8_NV           0x8708     /* 34568 */\n#define GL_DSDT8_NV                       0x8709     /* 34569 */\n#define GL_DSDT8_MAG8_NV                  0x870a     /* 34570 */\n#define GL_DSDT8_MAG8_INTENSITY8_NV       0x870b     /* 34571 */\n#define GL_SIGNED_RGB_UNSIGNED_ALPHA_NV   0x870c     /* 34572 */\n#define GL_SIGNED_RGB8_UNSIGNED_ALPHA8_NV 0x870d     /* 34573 */\n#endif\n\n/**\n ** GL_NV_texture_shader3\n **/\n\n#if (defined(GL_NV_TEXTURE_SHADER3) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_TEXTURE_SHADER3)) && !defined(REGAL_NO_ENUM_GL_NV_TEXTURE_SHADER3)\n#define REGAL_NO_ENUM_GL_NV_TEXTURE_SHADER3\n#endif\n\n#if (defined(GL_NV_TEXTURE_SHADER3) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_TEXTURE_SHADER3)) && !defined(REGAL_NO_TYPEDEF_GL_NV_TEXTURE_SHADER3)\n#define REGAL_NO_TYPEDEF_GL_NV_TEXTURE_SHADER3\n#endif\n\n#if (defined(GL_NV_TEXTURE_SHADER3) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_TEXTURE_SHADER3)) && !defined(REGAL_NO_NAMESPACE_GL_NV_TEXTURE_SHADER3)\n#define REGAL_NO_NAMESPACE_GL_NV_TEXTURE_SHADER3\n#endif\n\n#if (defined(GL_NV_TEXTURE_SHADER3) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_TEXTURE_SHADER3)) && !defined(REGAL_NO_PLUGIN_GL_NV_TEXTURE_SHADER3)\n#define REGAL_NO_PLUGIN_GL_NV_TEXTURE_SHADER3\n#endif\n\n#if (defined(GL_NV_TEXTURE_SHADER3) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_TEXTURE_SHADER3)) && !defined(REGAL_NO_DECLARATION_GL_NV_TEXTURE_SHADER3)\n#define REGAL_NO_DECLARATION_GL_NV_TEXTURE_SHADER3\n#endif\n\n#ifndef GL_NV_texture_shader3\n#define GL_NV_texture_shader3 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_TEXTURE_SHADER3\n#define GL_OFFSET_PROJECTIVE_TEXTURE_2D_NV              0x8850     /* 34896 */\n#define GL_OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV        0x8851     /* 34897 */\n#define GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV       0x8852     /* 34898 */\n#define GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV 0x8853     /* 34899 */\n#define GL_OFFSET_HILO_TEXTURE_2D_NV                    0x8854     /* 34900 */\n#define GL_OFFSET_HILO_TEXTURE_RECTANGLE_NV             0x8855     /* 34901 */\n#define GL_OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV         0x8856     /* 34902 */\n#define GL_OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV  0x8857     /* 34903 */\n#define GL_DEPENDENT_HILO_TEXTURE_2D_NV                 0x8858     /* 34904 */\n#define GL_DEPENDENT_RGB_TEXTURE_3D_NV                  0x8859     /* 34905 */\n#define GL_DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV            0x885a     /* 34906 */\n#define GL_DOT_PRODUCT_PASS_THROUGH_NV                  0x885b     /* 34907 */\n#define GL_DOT_PRODUCT_TEXTURE_1D_NV                    0x885c     /* 34908 */\n#define GL_DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV          0x885d     /* 34909 */\n#define GL_HILO8_NV                                     0x885e     /* 34910 */\n#define GL_SIGNED_HILO8_NV                              0x885f     /* 34911 */\n#define GL_FORCE_BLUE_TO_ONE_NV                         0x8860     /* 34912 */\n#endif\n\n/**\n ** GL_NV_transform_feedback\n **/\n\n#if (defined(GL_NV_TRANSFORM_FEEDBACK) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_TRANSFORM_FEEDBACK)) && !defined(REGAL_NO_ENUM_GL_NV_TRANSFORM_FEEDBACK)\n#define REGAL_NO_ENUM_GL_NV_TRANSFORM_FEEDBACK\n#endif\n\n#if (defined(GL_NV_TRANSFORM_FEEDBACK) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_TRANSFORM_FEEDBACK)) && !defined(REGAL_NO_TYPEDEF_GL_NV_TRANSFORM_FEEDBACK)\n#define REGAL_NO_TYPEDEF_GL_NV_TRANSFORM_FEEDBACK\n#endif\n\n#if (defined(GL_NV_TRANSFORM_FEEDBACK) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_TRANSFORM_FEEDBACK)) && !defined(REGAL_NO_NAMESPACE_GL_NV_TRANSFORM_FEEDBACK)\n#define REGAL_NO_NAMESPACE_GL_NV_TRANSFORM_FEEDBACK\n#endif\n\n#if (defined(GL_NV_TRANSFORM_FEEDBACK) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_TRANSFORM_FEEDBACK)) && !defined(REGAL_NO_PLUGIN_GL_NV_TRANSFORM_FEEDBACK)\n#define REGAL_NO_PLUGIN_GL_NV_TRANSFORM_FEEDBACK\n#endif\n\n#if (defined(GL_NV_TRANSFORM_FEEDBACK) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_TRANSFORM_FEEDBACK)) && !defined(REGAL_NO_DECLARATION_GL_NV_TRANSFORM_FEEDBACK)\n#define REGAL_NO_DECLARATION_GL_NV_TRANSFORM_FEEDBACK\n#endif\n\n#ifndef GL_NV_transform_feedback\n#define GL_NV_transform_feedback 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_TRANSFORM_FEEDBACK\n#define GL_BACK_PRIMARY_COLOR_NV                            0x8c77     /* 35959 */\n#define GL_BACK_SECONDARY_COLOR_NV                          0x8c78     /* 35960 */\n#define GL_TEXTURE_COORD_NV                                 0x8c79     /* 35961 */\n#define GL_CLIP_DISTANCE_NV                                 0x8c7a     /* 35962 */\n#define GL_VERTEX_ID_NV                                     0x8c7b     /* 35963 */\n#define GL_PRIMITIVE_ID_NV                                  0x8c7c     /* 35964 */\n#define GL_GENERIC_ATTRIB_NV                                0x8c7d     /* 35965 */\n#define GL_TRANSFORM_FEEDBACK_ATTRIBS_NV                    0x8c7e     /* 35966 */\n#define GL_TRANSFORM_FEEDBACK_BUFFER_MODE_NV                0x8c7f     /* 35967 */\n#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_NV    0x8c80     /* 35968 */\n#define GL_ACTIVE_VARYINGS_NV                               0x8c81     /* 35969 */\n#define GL_ACTIVE_VARYING_MAX_LENGTH_NV                     0x8c82     /* 35970 */\n#define GL_TRANSFORM_FEEDBACK_VARYINGS_NV                   0x8c83     /* 35971 */\n#define GL_TRANSFORM_FEEDBACK_BUFFER_START_NV               0x8c84     /* 35972 */\n#define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_NV                0x8c85     /* 35973 */\n#define GL_TRANSFORM_FEEDBACK_RECORD_NV                     0x8c86     /* 35974 */\n#define GL_PRIMITIVES_GENERATED_NV                          0x8c87     /* 35975 */\n#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_NV         0x8c88     /* 35976 */\n#define GL_RASTERIZER_DISCARD_NV                            0x8c89     /* 35977 */\n#define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_NV 0x8c8a     /* 35978 */\n#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_NV       0x8c8b     /* 35979 */\n#define GL_INTERLEAVED_ATTRIBS_NV                           0x8c8c     /* 35980 */\n#define GL_SEPARATE_ATTRIBS_NV                              0x8c8d     /* 35981 */\n#define GL_TRANSFORM_FEEDBACK_BUFFER_NV                     0x8c8e     /* 35982 */\n#define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_NV             0x8c8f     /* 35983 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_NV_TRANSFORM_FEEDBACK\ntypedef GLint (REGAL_CALL *PFNGLGETVARYINGLOCATIONNVPROC)(GLuint program, const GLchar *name);\ntypedef void (REGAL_CALL *PFNGLACTIVEVARYINGNVPROC)(GLuint program, const GLchar *name);\ntypedef void (REGAL_CALL *PFNGLBEGINTRANSFORMFEEDBACKNVPROC)(GLenum primitiveMode);\ntypedef void (REGAL_CALL *PFNGLBINDBUFFERBASENVPROC)(GLenum target, GLuint index, GLuint buffer);\ntypedef void (REGAL_CALL *PFNGLBINDBUFFEROFFSETNVPROC)(GLenum target, GLuint index, GLuint buffer, GLintptr offset);\ntypedef void (REGAL_CALL *PFNGLBINDBUFFERRANGENVPROC)(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);\ntypedef void (REGAL_CALL *PFNGLENDTRANSFORMFEEDBACKNVPROC)(void);\ntypedef void (REGAL_CALL *PFNGLGETACTIVEVARYINGNVPROC)(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);\ntypedef void (REGAL_CALL *PFNGLGETTRANSFORMFEEDBACKVARYINGNVPROC)(GLuint program, GLuint index, GLint *location);\ntypedef void (REGAL_CALL *PFNGLTRANSFORMFEEDBACKATTRIBSNVPROC)(GLuint count, const GLint *attribs, GLenum bufferMode);\ntypedef void (REGAL_CALL *PFNGLTRANSFORMFEEDBACKVARYINGSNVPROC)(GLuint program, GLsizei count, const GLint *locations, GLenum bufferMode);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_NV_TRANSFORM_FEEDBACK\n#define glActiveVaryingNV                   rglActiveVaryingNV\n#define glBeginTransformFeedbackNV          rglBeginTransformFeedbackNV\n#define glBindBufferBaseNV                  rglBindBufferBaseNV\n#define glBindBufferOffsetNV                rglBindBufferOffsetNV\n#define glBindBufferRangeNV                 rglBindBufferRangeNV\n#define glEndTransformFeedbackNV            rglEndTransformFeedbackNV\n#define glGetActiveVaryingNV                rglGetActiveVaryingNV\n#define glGetTransformFeedbackVaryingNV     rglGetTransformFeedbackVaryingNV\n#define glGetVaryingLocationNV              rglGetVaryingLocationNV\n#define glTransformFeedbackAttribsNV        rglTransformFeedbackAttribsNV\n#define glTransformFeedbackVaryingsNV       rglTransformFeedbackVaryingsNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_NV_TRANSFORM_FEEDBACK\nREGAL_DECL GLint REGAL_CALL glGetVaryingLocationNV(GLuint program, const GLchar *name);\nREGAL_DECL void REGAL_CALL glActiveVaryingNV(GLuint program, const GLchar *name);\nREGAL_DECL void REGAL_CALL glBeginTransformFeedbackNV(GLenum primitiveMode);\nREGAL_DECL void REGAL_CALL glBindBufferBaseNV(GLenum target, GLuint index, GLuint buffer);\nREGAL_DECL void REGAL_CALL glBindBufferOffsetNV(GLenum target, GLuint index, GLuint buffer, GLintptr offset);\nREGAL_DECL void REGAL_CALL glBindBufferRangeNV(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);\nREGAL_DECL void REGAL_CALL glEndTransformFeedbackNV(void);\nREGAL_DECL void REGAL_CALL glGetActiveVaryingNV(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);\nREGAL_DECL void REGAL_CALL glGetTransformFeedbackVaryingNV(GLuint program, GLuint index, GLint *location);\nREGAL_DECL void REGAL_CALL glTransformFeedbackAttribsNV(GLuint count, const GLint *attribs, GLenum bufferMode);\nREGAL_DECL void REGAL_CALL glTransformFeedbackVaryingsNV(GLuint program, GLsizei count, const GLint *locations, GLenum bufferMode);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_NV_TRANSFORM_FEEDBACK\nREGAL_DECL GLint REGAL_CALL plugin_glGetVaryingLocationNV(GLuint program, const GLchar *name);\nREGAL_DECL void REGAL_CALL plugin_glActiveVaryingNV(GLuint program, const GLchar *name);\nREGAL_DECL void REGAL_CALL plugin_glBeginTransformFeedbackNV(GLenum primitiveMode);\nREGAL_DECL void REGAL_CALL plugin_glBindBufferBaseNV(GLenum target, GLuint index, GLuint buffer);\nREGAL_DECL void REGAL_CALL plugin_glBindBufferOffsetNV(GLenum target, GLuint index, GLuint buffer, GLintptr offset);\nREGAL_DECL void REGAL_CALL plugin_glBindBufferRangeNV(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);\nREGAL_DECL void REGAL_CALL plugin_glEndTransformFeedbackNV(void);\nREGAL_DECL void REGAL_CALL plugin_glGetActiveVaryingNV(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);\nREGAL_DECL void REGAL_CALL plugin_glGetTransformFeedbackVaryingNV(GLuint program, GLuint index, GLint *location);\nREGAL_DECL void REGAL_CALL plugin_glTransformFeedbackAttribsNV(GLuint count, const GLint *attribs, GLenum bufferMode);\nREGAL_DECL void REGAL_CALL plugin_glTransformFeedbackVaryingsNV(GLuint program, GLsizei count, const GLint *locations, GLenum bufferMode);\n#endif\n\n/**\n ** GL_NV_transform_feedback2\n **/\n\n#if (defined(GL_NV_TRANSFORM_FEEDBACK2) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_TRANSFORM_FEEDBACK2)) && !defined(REGAL_NO_ENUM_GL_NV_TRANSFORM_FEEDBACK2)\n#define REGAL_NO_ENUM_GL_NV_TRANSFORM_FEEDBACK2\n#endif\n\n#if (defined(GL_NV_TRANSFORM_FEEDBACK2) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_TRANSFORM_FEEDBACK2)) && !defined(REGAL_NO_TYPEDEF_GL_NV_TRANSFORM_FEEDBACK2)\n#define REGAL_NO_TYPEDEF_GL_NV_TRANSFORM_FEEDBACK2\n#endif\n\n#if (defined(GL_NV_TRANSFORM_FEEDBACK2) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_TRANSFORM_FEEDBACK2)) && !defined(REGAL_NO_NAMESPACE_GL_NV_TRANSFORM_FEEDBACK2)\n#define REGAL_NO_NAMESPACE_GL_NV_TRANSFORM_FEEDBACK2\n#endif\n\n#if (defined(GL_NV_TRANSFORM_FEEDBACK2) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_TRANSFORM_FEEDBACK2)) && !defined(REGAL_NO_PLUGIN_GL_NV_TRANSFORM_FEEDBACK2)\n#define REGAL_NO_PLUGIN_GL_NV_TRANSFORM_FEEDBACK2\n#endif\n\n#if (defined(GL_NV_TRANSFORM_FEEDBACK2) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_TRANSFORM_FEEDBACK2)) && !defined(REGAL_NO_DECLARATION_GL_NV_TRANSFORM_FEEDBACK2)\n#define REGAL_NO_DECLARATION_GL_NV_TRANSFORM_FEEDBACK2\n#endif\n\n#ifndef GL_NV_transform_feedback2\n#define GL_NV_transform_feedback2 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_TRANSFORM_FEEDBACK2\n#define GL_TRANSFORM_FEEDBACK_NV               0x8e22     /* 36386 */\n#define GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED_NV 0x8e23     /* 36387 */\n#define GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE_NV 0x8e24     /* 36388 */\n#define GL_TRANSFORM_FEEDBACK_BINDING_NV       0x8e25     /* 36389 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_NV_TRANSFORM_FEEDBACK2\ntypedef GLboolean (REGAL_CALL *PFNGLISTRANSFORMFEEDBACKNVPROC)(GLuint id);\ntypedef void (REGAL_CALL *PFNGLBINDTRANSFORMFEEDBACKNVPROC)(GLenum target, GLuint id);\ntypedef void (REGAL_CALL *PFNGLDELETETRANSFORMFEEDBACKSNVPROC)(GLsizei n, const GLuint *ids);\ntypedef void (REGAL_CALL *PFNGLDRAWTRANSFORMFEEDBACKNVPROC)(GLenum mode, GLuint name);\ntypedef void (REGAL_CALL *PFNGLGENTRANSFORMFEEDBACKSNVPROC)(GLsizei n, GLuint *ids);\ntypedef void (REGAL_CALL *PFNGLPAUSETRANSFORMFEEDBACKNVPROC)(void);\ntypedef void (REGAL_CALL *PFNGLRESUMETRANSFORMFEEDBACKNVPROC)(void);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_NV_TRANSFORM_FEEDBACK2\n#define glBindTransformFeedbackNV           rglBindTransformFeedbackNV\n#define glDeleteTransformFeedbacksNV        rglDeleteTransformFeedbacksNV\n#define glDrawTransformFeedbackNV           rglDrawTransformFeedbackNV\n#define glGenTransformFeedbacksNV           rglGenTransformFeedbacksNV\n#define glIsTransformFeedbackNV             rglIsTransformFeedbackNV\n#define glPauseTransformFeedbackNV          rglPauseTransformFeedbackNV\n#define glResumeTransformFeedbackNV         rglResumeTransformFeedbackNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_NV_TRANSFORM_FEEDBACK2\nREGAL_DECL GLboolean REGAL_CALL glIsTransformFeedbackNV(GLuint id);\nREGAL_DECL void REGAL_CALL glBindTransformFeedbackNV(GLenum target, GLuint id);\nREGAL_DECL void REGAL_CALL glDeleteTransformFeedbacksNV(GLsizei n, const GLuint *ids);\nREGAL_DECL void REGAL_CALL glDrawTransformFeedbackNV(GLenum mode, GLuint name);\nREGAL_DECL void REGAL_CALL glGenTransformFeedbacksNV(GLsizei n, GLuint *ids);\nREGAL_DECL void REGAL_CALL glPauseTransformFeedbackNV(void);\nREGAL_DECL void REGAL_CALL glResumeTransformFeedbackNV(void);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_NV_TRANSFORM_FEEDBACK2\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsTransformFeedbackNV(GLuint id);\nREGAL_DECL void REGAL_CALL plugin_glBindTransformFeedbackNV(GLenum target, GLuint id);\nREGAL_DECL void REGAL_CALL plugin_glDeleteTransformFeedbacksNV(GLsizei n, const GLuint *ids);\nREGAL_DECL void REGAL_CALL plugin_glDrawTransformFeedbackNV(GLenum mode, GLuint name);\nREGAL_DECL void REGAL_CALL plugin_glGenTransformFeedbacksNV(GLsizei n, GLuint *ids);\nREGAL_DECL void REGAL_CALL plugin_glPauseTransformFeedbackNV(void);\nREGAL_DECL void REGAL_CALL plugin_glResumeTransformFeedbackNV(void);\n#endif\n\n/**\n ** GL_NV_vdpau_interop\n **/\n\n#if (defined(GL_NV_VDPAU_INTEROP) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_VDPAU_INTEROP)) && !defined(REGAL_NO_ENUM_GL_NV_VDPAU_INTEROP)\n#define REGAL_NO_ENUM_GL_NV_VDPAU_INTEROP\n#endif\n\n#if (defined(GL_NV_VDPAU_INTEROP) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_VDPAU_INTEROP)) && !defined(REGAL_NO_TYPEDEF_GL_NV_VDPAU_INTEROP)\n#define REGAL_NO_TYPEDEF_GL_NV_VDPAU_INTEROP\n#endif\n\n#if (defined(GL_NV_VDPAU_INTEROP) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_VDPAU_INTEROP)) && !defined(REGAL_NO_NAMESPACE_GL_NV_VDPAU_INTEROP)\n#define REGAL_NO_NAMESPACE_GL_NV_VDPAU_INTEROP\n#endif\n\n#if (defined(GL_NV_VDPAU_INTEROP) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_VDPAU_INTEROP)) && !defined(REGAL_NO_PLUGIN_GL_NV_VDPAU_INTEROP)\n#define REGAL_NO_PLUGIN_GL_NV_VDPAU_INTEROP\n#endif\n\n#if (defined(GL_NV_VDPAU_INTEROP) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_VDPAU_INTEROP)) && !defined(REGAL_NO_DECLARATION_GL_NV_VDPAU_INTEROP)\n#define REGAL_NO_DECLARATION_GL_NV_VDPAU_INTEROP\n#endif\n\n#ifndef GL_NV_vdpau_interop\n#define GL_NV_vdpau_interop 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_VDPAU_INTEROP\n#define GL_SURFACE_STATE_NV      0x86eb     /* 34539 */\n#define GL_SURFACE_REGISTERED_NV 0x86fd     /* 34557 */\n#define GL_SURFACE_MAPPED_NV     0x8700     /* 34560 */\n#define GL_WRITE_DISCARD_NV      0x88be     /* 35006 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_NV_VDPAU_INTEROP\ntypedef GLboolean (REGAL_CALL *PFNGLVDPAUISSURFACENVPROC)(GLvdpauSurfaceNV surface);\ntypedef GLvdpauSurfaceNV (REGAL_CALL *PFNGLVDPAUREGISTEROUTPUTSURFACENVPROC)(const GLvoid *vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint *textureNames);\ntypedef GLvdpauSurfaceNV (REGAL_CALL *PFNGLVDPAUREGISTERVIDEOSURFACENVPROC)(const GLvoid *vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint *textureNames);\ntypedef void (REGAL_CALL *PFNGLVDPAUFININVPROC)(void);\ntypedef void (REGAL_CALL *PFNGLVDPAUGETSURFACEIVNVPROC)(GLvdpauSurfaceNV surface, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);\ntypedef void (REGAL_CALL *PFNGLVDPAUINITNVPROC)(const GLvoid *vdpDevice, const GLvoid *getProcAddress);\ntypedef void (REGAL_CALL *PFNGLVDPAUMAPSURFACESNVPROC)(GLsizei numSurfaces, const GLvdpauSurfaceNV *surfaces);\ntypedef void (REGAL_CALL *PFNGLVDPAUSURFACEACCESSNVPROC)(GLvdpauSurfaceNV surface, GLenum access);\ntypedef void (REGAL_CALL *PFNGLVDPAUUNMAPSURFACESNVPROC)(GLsizei numSurfaces, const GLvdpauSurfaceNV *surfaces);\ntypedef void (REGAL_CALL *PFNGLVDPAUUNREGISTERSURFACENVPROC)(GLvdpauSurfaceNV surface);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_NV_VDPAU_INTEROP\n#define glVDPAUFiniNV                       rglVDPAUFiniNV\n#define glVDPAUGetSurfaceivNV               rglVDPAUGetSurfaceivNV\n#define glVDPAUInitNV                       rglVDPAUInitNV\n#define glVDPAUIsSurfaceNV                  rglVDPAUIsSurfaceNV\n#define glVDPAUMapSurfacesNV                rglVDPAUMapSurfacesNV\n#define glVDPAURegisterOutputSurfaceNV      rglVDPAURegisterOutputSurfaceNV\n#define glVDPAURegisterVideoSurfaceNV       rglVDPAURegisterVideoSurfaceNV\n#define glVDPAUSurfaceAccessNV              rglVDPAUSurfaceAccessNV\n#define glVDPAUUnmapSurfacesNV              rglVDPAUUnmapSurfacesNV\n#define glVDPAUUnregisterSurfaceNV          rglVDPAUUnregisterSurfaceNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_NV_VDPAU_INTEROP\nREGAL_DECL GLboolean REGAL_CALL glVDPAUIsSurfaceNV(GLvdpauSurfaceNV surface);\nREGAL_DECL GLvdpauSurfaceNV REGAL_CALL glVDPAURegisterOutputSurfaceNV(const GLvoid *vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint *textureNames);\nREGAL_DECL GLvdpauSurfaceNV REGAL_CALL glVDPAURegisterVideoSurfaceNV(const GLvoid *vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint *textureNames);\nREGAL_DECL void REGAL_CALL glVDPAUFiniNV(void);\nREGAL_DECL void REGAL_CALL glVDPAUGetSurfaceivNV(GLvdpauSurfaceNV surface, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);\nREGAL_DECL void REGAL_CALL glVDPAUInitNV(const GLvoid *vdpDevice, const GLvoid *getProcAddress);\nREGAL_DECL void REGAL_CALL glVDPAUMapSurfacesNV(GLsizei numSurfaces, const GLvdpauSurfaceNV *surfaces);\nREGAL_DECL void REGAL_CALL glVDPAUSurfaceAccessNV(GLvdpauSurfaceNV surface, GLenum access);\nREGAL_DECL void REGAL_CALL glVDPAUUnmapSurfacesNV(GLsizei numSurfaces, const GLvdpauSurfaceNV *surfaces);\nREGAL_DECL void REGAL_CALL glVDPAUUnregisterSurfaceNV(GLvdpauSurfaceNV surface);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_NV_VDPAU_INTEROP\nREGAL_DECL GLboolean REGAL_CALL plugin_glVDPAUIsSurfaceNV(GLvdpauSurfaceNV surface);\nREGAL_DECL GLvdpauSurfaceNV REGAL_CALL plugin_glVDPAURegisterOutputSurfaceNV(const GLvoid *vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint *textureNames);\nREGAL_DECL GLvdpauSurfaceNV REGAL_CALL plugin_glVDPAURegisterVideoSurfaceNV(const GLvoid *vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint *textureNames);\nREGAL_DECL void REGAL_CALL plugin_glVDPAUFiniNV(void);\nREGAL_DECL void REGAL_CALL plugin_glVDPAUGetSurfaceivNV(GLvdpauSurfaceNV surface, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);\nREGAL_DECL void REGAL_CALL plugin_glVDPAUInitNV(const GLvoid *vdpDevice, const GLvoid *getProcAddress);\nREGAL_DECL void REGAL_CALL plugin_glVDPAUMapSurfacesNV(GLsizei numSurfaces, const GLvdpauSurfaceNV *surfaces);\nREGAL_DECL void REGAL_CALL plugin_glVDPAUSurfaceAccessNV(GLvdpauSurfaceNV surface, GLenum access);\nREGAL_DECL void REGAL_CALL plugin_glVDPAUUnmapSurfacesNV(GLsizei numSurfaces, const GLvdpauSurfaceNV *surfaces);\nREGAL_DECL void REGAL_CALL plugin_glVDPAUUnregisterSurfaceNV(GLvdpauSurfaceNV surface);\n#endif\n\n/**\n ** GL_NV_vertex_array_range\n **/\n\n#if (defined(GL_NV_VERTEX_ARRAY_RANGE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_VERTEX_ARRAY_RANGE)) && !defined(REGAL_NO_ENUM_GL_NV_VERTEX_ARRAY_RANGE)\n#define REGAL_NO_ENUM_GL_NV_VERTEX_ARRAY_RANGE\n#endif\n\n#if (defined(GL_NV_VERTEX_ARRAY_RANGE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_VERTEX_ARRAY_RANGE)) && !defined(REGAL_NO_TYPEDEF_GL_NV_VERTEX_ARRAY_RANGE)\n#define REGAL_NO_TYPEDEF_GL_NV_VERTEX_ARRAY_RANGE\n#endif\n\n#if (defined(GL_NV_VERTEX_ARRAY_RANGE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_VERTEX_ARRAY_RANGE)) && !defined(REGAL_NO_NAMESPACE_GL_NV_VERTEX_ARRAY_RANGE)\n#define REGAL_NO_NAMESPACE_GL_NV_VERTEX_ARRAY_RANGE\n#endif\n\n#if (defined(GL_NV_VERTEX_ARRAY_RANGE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_VERTEX_ARRAY_RANGE)) && !defined(REGAL_NO_PLUGIN_GL_NV_VERTEX_ARRAY_RANGE)\n#define REGAL_NO_PLUGIN_GL_NV_VERTEX_ARRAY_RANGE\n#endif\n\n#if (defined(GL_NV_VERTEX_ARRAY_RANGE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_VERTEX_ARRAY_RANGE)) && !defined(REGAL_NO_DECLARATION_GL_NV_VERTEX_ARRAY_RANGE)\n#define REGAL_NO_DECLARATION_GL_NV_VERTEX_ARRAY_RANGE\n#endif\n\n#ifndef GL_NV_vertex_array_range\n#define GL_NV_vertex_array_range 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_VERTEX_ARRAY_RANGE\n#define GL_VERTEX_ARRAY_RANGE_NV             0x851d     /* 34077 */\n#define GL_VERTEX_ARRAY_RANGE_LENGTH_NV      0x851e     /* 34078 */\n#define GL_VERTEX_ARRAY_RANGE_VALID_NV       0x851f     /* 34079 */\n#define GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV 0x8520     /* 34080 */\n#define GL_VERTEX_ARRAY_RANGE_POINTER_NV     0x8521     /* 34081 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_NV_VERTEX_ARRAY_RANGE\ntypedef void (REGAL_CALL *PFNGLFLUSHVERTEXARRAYRANGENVPROC)(void);\ntypedef void (REGAL_CALL *PFNGLVERTEXARRAYRANGENVPROC)(GLsizei size, const GLvoid *pointer);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_NV_VERTEX_ARRAY_RANGE\n#define glFlushVertexArrayRangeNV           rglFlushVertexArrayRangeNV\n#define glVertexArrayRangeNV                rglVertexArrayRangeNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_NV_VERTEX_ARRAY_RANGE\nREGAL_DECL void REGAL_CALL glFlushVertexArrayRangeNV(void);\nREGAL_DECL void REGAL_CALL glVertexArrayRangeNV(GLsizei size, const GLvoid *pointer);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_NV_VERTEX_ARRAY_RANGE\nREGAL_DECL void REGAL_CALL plugin_glFlushVertexArrayRangeNV(void);\nREGAL_DECL void REGAL_CALL plugin_glVertexArrayRangeNV(GLsizei size, const GLvoid *pointer);\n#endif\n\n/**\n ** GL_NV_vertex_array_range2\n **/\n\n#if (defined(GL_NV_VERTEX_ARRAY_RANGE2) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_VERTEX_ARRAY_RANGE2)) && !defined(REGAL_NO_ENUM_GL_NV_VERTEX_ARRAY_RANGE2)\n#define REGAL_NO_ENUM_GL_NV_VERTEX_ARRAY_RANGE2\n#endif\n\n#if (defined(GL_NV_VERTEX_ARRAY_RANGE2) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_VERTEX_ARRAY_RANGE2)) && !defined(REGAL_NO_TYPEDEF_GL_NV_VERTEX_ARRAY_RANGE2)\n#define REGAL_NO_TYPEDEF_GL_NV_VERTEX_ARRAY_RANGE2\n#endif\n\n#if (defined(GL_NV_VERTEX_ARRAY_RANGE2) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_VERTEX_ARRAY_RANGE2)) && !defined(REGAL_NO_NAMESPACE_GL_NV_VERTEX_ARRAY_RANGE2)\n#define REGAL_NO_NAMESPACE_GL_NV_VERTEX_ARRAY_RANGE2\n#endif\n\n#if (defined(GL_NV_VERTEX_ARRAY_RANGE2) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_VERTEX_ARRAY_RANGE2)) && !defined(REGAL_NO_PLUGIN_GL_NV_VERTEX_ARRAY_RANGE2)\n#define REGAL_NO_PLUGIN_GL_NV_VERTEX_ARRAY_RANGE2\n#endif\n\n#if (defined(GL_NV_VERTEX_ARRAY_RANGE2) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_VERTEX_ARRAY_RANGE2)) && !defined(REGAL_NO_DECLARATION_GL_NV_VERTEX_ARRAY_RANGE2)\n#define REGAL_NO_DECLARATION_GL_NV_VERTEX_ARRAY_RANGE2\n#endif\n\n#ifndef GL_NV_vertex_array_range2\n#define GL_NV_vertex_array_range2 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_VERTEX_ARRAY_RANGE2\n#define GL_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV 0x8533 /* 34099 */\n#endif\n\n/**\n ** GL_NV_vertex_attrib_integer_64bit\n **/\n\n#if (defined(GL_NV_VERTEX_ATTRIB_INTEGER_64BIT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_VERTEX_ATTRIB_INTEGER_64BIT)) && !defined(REGAL_NO_ENUM_GL_NV_VERTEX_ATTRIB_INTEGER_64BIT)\n#define REGAL_NO_ENUM_GL_NV_VERTEX_ATTRIB_INTEGER_64BIT\n#endif\n\n#if (defined(GL_NV_VERTEX_ATTRIB_INTEGER_64BIT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_VERTEX_ATTRIB_INTEGER_64BIT)) && !defined(REGAL_NO_TYPEDEF_GL_NV_VERTEX_ATTRIB_INTEGER_64BIT)\n#define REGAL_NO_TYPEDEF_GL_NV_VERTEX_ATTRIB_INTEGER_64BIT\n#endif\n\n#if (defined(GL_NV_VERTEX_ATTRIB_INTEGER_64BIT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_VERTEX_ATTRIB_INTEGER_64BIT)) && !defined(REGAL_NO_NAMESPACE_GL_NV_VERTEX_ATTRIB_INTEGER_64BIT)\n#define REGAL_NO_NAMESPACE_GL_NV_VERTEX_ATTRIB_INTEGER_64BIT\n#endif\n\n#if (defined(GL_NV_VERTEX_ATTRIB_INTEGER_64BIT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_VERTEX_ATTRIB_INTEGER_64BIT)) && !defined(REGAL_NO_PLUGIN_GL_NV_VERTEX_ATTRIB_INTEGER_64BIT)\n#define REGAL_NO_PLUGIN_GL_NV_VERTEX_ATTRIB_INTEGER_64BIT\n#endif\n\n#if (defined(GL_NV_VERTEX_ATTRIB_INTEGER_64BIT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_VERTEX_ATTRIB_INTEGER_64BIT)) && !defined(REGAL_NO_DECLARATION_GL_NV_VERTEX_ATTRIB_INTEGER_64BIT)\n#define REGAL_NO_DECLARATION_GL_NV_VERTEX_ATTRIB_INTEGER_64BIT\n#endif\n\n#ifndef GL_NV_vertex_attrib_integer_64bit\n#define GL_NV_vertex_attrib_integer_64bit 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_VERTEX_ATTRIB_INTEGER_64BIT\n#define GL_INT64_NV          0x140e     /* 5134 */\n#define GL_UNSIGNED_INT64_NV 0x140f     /* 5135 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_NV_VERTEX_ATTRIB_INTEGER_64BIT\ntypedef void (REGAL_CALL *PFNGLGETVERTEXATTRIBLI64VNVPROC)(GLuint index, GLenum pname, GLint64EXT *params);\ntypedef void (REGAL_CALL *PFNGLGETVERTEXATTRIBLUI64VNVPROC)(GLuint index, GLenum pname, GLuint64EXT *params);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBL1I64NVPROC)(GLuint index, GLint64EXT x);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBL1I64VNVPROC)(GLuint index, const GLint64EXT *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBL1UI64NVPROC)(GLuint index, GLuint64EXT x);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBL1UI64VNVPROC)(GLuint index, const GLuint64EXT *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBL2I64NVPROC)(GLuint index, GLint64EXT x, GLint64EXT y);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBL2I64VNVPROC)(GLuint index, const GLint64EXT *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBL2UI64NVPROC)(GLuint index, GLuint64EXT x, GLuint64EXT y);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBL2UI64VNVPROC)(GLuint index, const GLuint64EXT *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBL3I64NVPROC)(GLuint index, GLint64EXT x, GLint64EXT y, GLint64EXT z);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBL3I64VNVPROC)(GLuint index, const GLint64EXT *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBL3UI64NVPROC)(GLuint index, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBL3UI64VNVPROC)(GLuint index, const GLuint64EXT *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBL4I64NVPROC)(GLuint index, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBL4I64VNVPROC)(GLuint index, const GLint64EXT *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBL4UI64NVPROC)(GLuint index, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBL4UI64VNVPROC)(GLuint index, const GLuint64EXT *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBLFORMATNVPROC)(GLuint index, GLint size, GLenum type, GLsizei stride);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_NV_VERTEX_ATTRIB_INTEGER_64BIT\n#define glGetVertexAttribLi64vNV            rglGetVertexAttribLi64vNV\n#define glGetVertexAttribLui64vNV           rglGetVertexAttribLui64vNV\n#define glVertexAttribL1i64NV               rglVertexAttribL1i64NV\n#define glVertexAttribL1i64vNV              rglVertexAttribL1i64vNV\n#define glVertexAttribL1ui64NV              rglVertexAttribL1ui64NV\n#define glVertexAttribL1ui64vNV             rglVertexAttribL1ui64vNV\n#define glVertexAttribL2i64NV               rglVertexAttribL2i64NV\n#define glVertexAttribL2i64vNV              rglVertexAttribL2i64vNV\n#define glVertexAttribL2ui64NV              rglVertexAttribL2ui64NV\n#define glVertexAttribL2ui64vNV             rglVertexAttribL2ui64vNV\n#define glVertexAttribL3i64NV               rglVertexAttribL3i64NV\n#define glVertexAttribL3i64vNV              rglVertexAttribL3i64vNV\n#define glVertexAttribL3ui64NV              rglVertexAttribL3ui64NV\n#define glVertexAttribL3ui64vNV             rglVertexAttribL3ui64vNV\n#define glVertexAttribL4i64NV               rglVertexAttribL4i64NV\n#define glVertexAttribL4i64vNV              rglVertexAttribL4i64vNV\n#define glVertexAttribL4ui64NV              rglVertexAttribL4ui64NV\n#define glVertexAttribL4ui64vNV             rglVertexAttribL4ui64vNV\n#define glVertexAttribLFormatNV             rglVertexAttribLFormatNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_NV_VERTEX_ATTRIB_INTEGER_64BIT\nREGAL_DECL void REGAL_CALL glGetVertexAttribLi64vNV(GLuint index, GLenum pname, GLint64EXT *params);\nREGAL_DECL void REGAL_CALL glGetVertexAttribLui64vNV(GLuint index, GLenum pname, GLuint64EXT *params);\nREGAL_DECL void REGAL_CALL glVertexAttribL1i64NV(GLuint index, GLint64EXT x);\nREGAL_DECL void REGAL_CALL glVertexAttribL1i64vNV(GLuint index, const GLint64EXT *v);\nREGAL_DECL void REGAL_CALL glVertexAttribL1ui64NV(GLuint index, GLuint64EXT x);\nREGAL_DECL void REGAL_CALL glVertexAttribL1ui64vNV(GLuint index, const GLuint64EXT *v);\nREGAL_DECL void REGAL_CALL glVertexAttribL2i64NV(GLuint index, GLint64EXT x, GLint64EXT y);\nREGAL_DECL void REGAL_CALL glVertexAttribL2i64vNV(GLuint index, const GLint64EXT *v);\nREGAL_DECL void REGAL_CALL glVertexAttribL2ui64NV(GLuint index, GLuint64EXT x, GLuint64EXT y);\nREGAL_DECL void REGAL_CALL glVertexAttribL2ui64vNV(GLuint index, const GLuint64EXT *v);\nREGAL_DECL void REGAL_CALL glVertexAttribL3i64NV(GLuint index, GLint64EXT x, GLint64EXT y, GLint64EXT z);\nREGAL_DECL void REGAL_CALL glVertexAttribL3i64vNV(GLuint index, const GLint64EXT *v);\nREGAL_DECL void REGAL_CALL glVertexAttribL3ui64NV(GLuint index, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z);\nREGAL_DECL void REGAL_CALL glVertexAttribL3ui64vNV(GLuint index, const GLuint64EXT *v);\nREGAL_DECL void REGAL_CALL glVertexAttribL4i64NV(GLuint index, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w);\nREGAL_DECL void REGAL_CALL glVertexAttribL4i64vNV(GLuint index, const GLint64EXT *v);\nREGAL_DECL void REGAL_CALL glVertexAttribL4ui64NV(GLuint index, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w);\nREGAL_DECL void REGAL_CALL glVertexAttribL4ui64vNV(GLuint index, const GLuint64EXT *v);\nREGAL_DECL void REGAL_CALL glVertexAttribLFormatNV(GLuint index, GLint size, GLenum type, GLsizei stride);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_NV_VERTEX_ATTRIB_INTEGER_64BIT\nREGAL_DECL void REGAL_CALL plugin_glGetVertexAttribLi64vNV(GLuint index, GLenum pname, GLint64EXT *params);\nREGAL_DECL void REGAL_CALL plugin_glGetVertexAttribLui64vNV(GLuint index, GLenum pname, GLuint64EXT *params);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribL1i64NV(GLuint index, GLint64EXT x);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribL1i64vNV(GLuint index, const GLint64EXT *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribL1ui64NV(GLuint index, GLuint64EXT x);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribL1ui64vNV(GLuint index, const GLuint64EXT *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribL2i64NV(GLuint index, GLint64EXT x, GLint64EXT y);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribL2i64vNV(GLuint index, const GLint64EXT *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribL2ui64NV(GLuint index, GLuint64EXT x, GLuint64EXT y);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribL2ui64vNV(GLuint index, const GLuint64EXT *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribL3i64NV(GLuint index, GLint64EXT x, GLint64EXT y, GLint64EXT z);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribL3i64vNV(GLuint index, const GLint64EXT *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribL3ui64NV(GLuint index, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribL3ui64vNV(GLuint index, const GLuint64EXT *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribL4i64NV(GLuint index, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribL4i64vNV(GLuint index, const GLint64EXT *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribL4ui64NV(GLuint index, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribL4ui64vNV(GLuint index, const GLuint64EXT *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribLFormatNV(GLuint index, GLint size, GLenum type, GLsizei stride);\n#endif\n\n/**\n ** GL_NV_vertex_buffer_unified_memory\n **/\n\n#if (defined(GL_NV_VERTEX_BUFFER_UNIFIED_MEMORY) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_VERTEX_BUFFER_UNIFIED_MEMORY)) && !defined(REGAL_NO_ENUM_GL_NV_VERTEX_BUFFER_UNIFIED_MEMORY)\n#define REGAL_NO_ENUM_GL_NV_VERTEX_BUFFER_UNIFIED_MEMORY\n#endif\n\n#if (defined(GL_NV_VERTEX_BUFFER_UNIFIED_MEMORY) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_VERTEX_BUFFER_UNIFIED_MEMORY)) && !defined(REGAL_NO_TYPEDEF_GL_NV_VERTEX_BUFFER_UNIFIED_MEMORY)\n#define REGAL_NO_TYPEDEF_GL_NV_VERTEX_BUFFER_UNIFIED_MEMORY\n#endif\n\n#if (defined(GL_NV_VERTEX_BUFFER_UNIFIED_MEMORY) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_VERTEX_BUFFER_UNIFIED_MEMORY)) && !defined(REGAL_NO_NAMESPACE_GL_NV_VERTEX_BUFFER_UNIFIED_MEMORY)\n#define REGAL_NO_NAMESPACE_GL_NV_VERTEX_BUFFER_UNIFIED_MEMORY\n#endif\n\n#if (defined(GL_NV_VERTEX_BUFFER_UNIFIED_MEMORY) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_VERTEX_BUFFER_UNIFIED_MEMORY)) && !defined(REGAL_NO_PLUGIN_GL_NV_VERTEX_BUFFER_UNIFIED_MEMORY)\n#define REGAL_NO_PLUGIN_GL_NV_VERTEX_BUFFER_UNIFIED_MEMORY\n#endif\n\n#if (defined(GL_NV_VERTEX_BUFFER_UNIFIED_MEMORY) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_VERTEX_BUFFER_UNIFIED_MEMORY)) && !defined(REGAL_NO_DECLARATION_GL_NV_VERTEX_BUFFER_UNIFIED_MEMORY)\n#define REGAL_NO_DECLARATION_GL_NV_VERTEX_BUFFER_UNIFIED_MEMORY\n#endif\n\n#ifndef GL_NV_vertex_buffer_unified_memory\n#define GL_NV_vertex_buffer_unified_memory 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_VERTEX_BUFFER_UNIFIED_MEMORY\n#define GL_VERTEX_ATTRIB_ARRAY_UNIFIED_NV   0x8f1e     /* 36638 */\n#define GL_ELEMENT_ARRAY_UNIFIED_NV         0x8f1f     /* 36639 */\n#define GL_VERTEX_ATTRIB_ARRAY_ADDRESS_NV   0x8f20     /* 36640 */\n#define GL_VERTEX_ARRAY_ADDRESS_NV          0x8f21     /* 36641 */\n#define GL_NORMAL_ARRAY_ADDRESS_NV          0x8f22     /* 36642 */\n#define GL_COLOR_ARRAY_ADDRESS_NV           0x8f23     /* 36643 */\n#define GL_INDEX_ARRAY_ADDRESS_NV           0x8f24     /* 36644 */\n#define GL_TEXTURE_COORD_ARRAY_ADDRESS_NV   0x8f25     /* 36645 */\n#define GL_EDGE_FLAG_ARRAY_ADDRESS_NV       0x8f26     /* 36646 */\n#define GL_SECONDARY_COLOR_ARRAY_ADDRESS_NV 0x8f27     /* 36647 */\n#define GL_FOG_COORD_ARRAY_ADDRESS_NV       0x8f28     /* 36648 */\n#define GL_ELEMENT_ARRAY_ADDRESS_NV         0x8f29     /* 36649 */\n#define GL_VERTEX_ATTRIB_ARRAY_LENGTH_NV    0x8f2a     /* 36650 */\n#define GL_VERTEX_ARRAY_LENGTH_NV           0x8f2b     /* 36651 */\n#define GL_NORMAL_ARRAY_LENGTH_NV           0x8f2c     /* 36652 */\n#define GL_COLOR_ARRAY_LENGTH_NV            0x8f2d     /* 36653 */\n#define GL_INDEX_ARRAY_LENGTH_NV            0x8f2e     /* 36654 */\n#define GL_TEXTURE_COORD_ARRAY_LENGTH_NV    0x8f2f     /* 36655 */\n#define GL_EDGE_FLAG_ARRAY_LENGTH_NV        0x8f30     /* 36656 */\n#define GL_SECONDARY_COLOR_ARRAY_LENGTH_NV  0x8f31     /* 36657 */\n#define GL_FOG_COORD_ARRAY_LENGTH_NV        0x8f32     /* 36658 */\n#define GL_ELEMENT_ARRAY_LENGTH_NV          0x8f33     /* 36659 */\n#define GL_DRAW_INDIRECT_UNIFIED_NV         0x8f40     /* 36672 */\n#define GL_DRAW_INDIRECT_ADDRESS_NV         0x8f41     /* 36673 */\n#define GL_DRAW_INDIRECT_LENGTH_NV          0x8f42     /* 36674 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_NV_VERTEX_BUFFER_UNIFIED_MEMORY\ntypedef void (REGAL_CALL *PFNGLBUFFERADDRESSRANGENVPROC)(GLenum pname, GLuint index, GLuint64EXT address, GLsizeiptr length);\ntypedef void (REGAL_CALL *PFNGLCOLORFORMATNVPROC)(GLint size, GLenum type, GLsizei stride);\ntypedef void (REGAL_CALL *PFNGLEDGEFLAGFORMATNVPROC)(GLsizei stride);\ntypedef void (REGAL_CALL *PFNGLFOGCOORDFORMATNVPROC)(GLenum type, GLsizei stride);\ntypedef void (REGAL_CALL *PFNGLGETINTEGERUI64I_VNVPROC)(GLenum target, GLuint index, GLuint64EXT *data);\ntypedef void (REGAL_CALL *PFNGLINDEXFORMATNVPROC)(GLenum type, GLsizei stride);\ntypedef void (REGAL_CALL *PFNGLNORMALFORMATNVPROC)(GLenum type, GLsizei stride);\ntypedef void (REGAL_CALL *PFNGLSECONDARYCOLORFORMATNVPROC)(GLint size, GLenum type, GLsizei stride);\ntypedef void (REGAL_CALL *PFNGLTEXCOORDFORMATNVPROC)(GLint size, GLenum type, GLsizei stride);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBFORMATNVPROC)(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBIFORMATNVPROC)(GLuint index, GLint size, GLenum type, GLsizei stride);\ntypedef void (REGAL_CALL *PFNGLVERTEXFORMATNVPROC)(GLint size, GLenum type, GLsizei stride);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_NV_VERTEX_BUFFER_UNIFIED_MEMORY\n#define glBufferAddressRangeNV              rglBufferAddressRangeNV\n#define glColorFormatNV                     rglColorFormatNV\n#define glEdgeFlagFormatNV                  rglEdgeFlagFormatNV\n#define glFogCoordFormatNV                  rglFogCoordFormatNV\n#define glGetIntegerui64i_vNV               rglGetIntegerui64i_vNV\n#define glIndexFormatNV                     rglIndexFormatNV\n#define glNormalFormatNV                    rglNormalFormatNV\n#define glSecondaryColorFormatNV            rglSecondaryColorFormatNV\n#define glTexCoordFormatNV                  rglTexCoordFormatNV\n#define glVertexAttribFormatNV              rglVertexAttribFormatNV\n#define glVertexAttribIFormatNV             rglVertexAttribIFormatNV\n#define glVertexFormatNV                    rglVertexFormatNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_NV_VERTEX_BUFFER_UNIFIED_MEMORY\nREGAL_DECL void REGAL_CALL glBufferAddressRangeNV(GLenum pname, GLuint index, GLuint64EXT address, GLsizeiptr length);\nREGAL_DECL void REGAL_CALL glColorFormatNV(GLint size, GLenum type, GLsizei stride);\nREGAL_DECL void REGAL_CALL glEdgeFlagFormatNV(GLsizei stride);\nREGAL_DECL void REGAL_CALL glFogCoordFormatNV(GLenum type, GLsizei stride);\nREGAL_DECL void REGAL_CALL glGetIntegerui64i_vNV(GLenum target, GLuint index, GLuint64EXT *data);\nREGAL_DECL void REGAL_CALL glIndexFormatNV(GLenum type, GLsizei stride);\nREGAL_DECL void REGAL_CALL glNormalFormatNV(GLenum type, GLsizei stride);\nREGAL_DECL void REGAL_CALL glSecondaryColorFormatNV(GLint size, GLenum type, GLsizei stride);\nREGAL_DECL void REGAL_CALL glTexCoordFormatNV(GLint size, GLenum type, GLsizei stride);\nREGAL_DECL void REGAL_CALL glVertexAttribFormatNV(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride);\nREGAL_DECL void REGAL_CALL glVertexAttribIFormatNV(GLuint index, GLint size, GLenum type, GLsizei stride);\nREGAL_DECL void REGAL_CALL glVertexFormatNV(GLint size, GLenum type, GLsizei stride);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_NV_VERTEX_BUFFER_UNIFIED_MEMORY\nREGAL_DECL void REGAL_CALL plugin_glBufferAddressRangeNV(GLenum pname, GLuint index, GLuint64EXT address, GLsizeiptr length);\nREGAL_DECL void REGAL_CALL plugin_glColorFormatNV(GLint size, GLenum type, GLsizei stride);\nREGAL_DECL void REGAL_CALL plugin_glEdgeFlagFormatNV(GLsizei stride);\nREGAL_DECL void REGAL_CALL plugin_glFogCoordFormatNV(GLenum type, GLsizei stride);\nREGAL_DECL void REGAL_CALL plugin_glGetIntegerui64i_vNV(GLenum target, GLuint index, GLuint64EXT *data);\nREGAL_DECL void REGAL_CALL plugin_glIndexFormatNV(GLenum type, GLsizei stride);\nREGAL_DECL void REGAL_CALL plugin_glNormalFormatNV(GLenum type, GLsizei stride);\nREGAL_DECL void REGAL_CALL plugin_glSecondaryColorFormatNV(GLint size, GLenum type, GLsizei stride);\nREGAL_DECL void REGAL_CALL plugin_glTexCoordFormatNV(GLint size, GLenum type, GLsizei stride);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribFormatNV(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribIFormatNV(GLuint index, GLint size, GLenum type, GLsizei stride);\nREGAL_DECL void REGAL_CALL plugin_glVertexFormatNV(GLint size, GLenum type, GLsizei stride);\n#endif\n\n/**\n ** GL_NV_vertex_program\n **/\n\n#if (defined(GL_NV_VERTEX_PROGRAM) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_VERTEX_PROGRAM)) && !defined(REGAL_NO_ENUM_GL_NV_VERTEX_PROGRAM)\n#define REGAL_NO_ENUM_GL_NV_VERTEX_PROGRAM\n#endif\n\n#if (defined(GL_NV_VERTEX_PROGRAM) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_VERTEX_PROGRAM)) && !defined(REGAL_NO_TYPEDEF_GL_NV_VERTEX_PROGRAM)\n#define REGAL_NO_TYPEDEF_GL_NV_VERTEX_PROGRAM\n#endif\n\n#if (defined(GL_NV_VERTEX_PROGRAM) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_VERTEX_PROGRAM)) && !defined(REGAL_NO_NAMESPACE_GL_NV_VERTEX_PROGRAM)\n#define REGAL_NO_NAMESPACE_GL_NV_VERTEX_PROGRAM\n#endif\n\n#if (defined(GL_NV_VERTEX_PROGRAM) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_VERTEX_PROGRAM)) && !defined(REGAL_NO_PLUGIN_GL_NV_VERTEX_PROGRAM)\n#define REGAL_NO_PLUGIN_GL_NV_VERTEX_PROGRAM\n#endif\n\n#if (defined(GL_NV_VERTEX_PROGRAM) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_VERTEX_PROGRAM)) && !defined(REGAL_NO_DECLARATION_GL_NV_VERTEX_PROGRAM)\n#define REGAL_NO_DECLARATION_GL_NV_VERTEX_PROGRAM\n#endif\n\n#ifndef GL_NV_vertex_program\n#define GL_NV_vertex_program 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_VERTEX_PROGRAM\n#define GL_VERTEX_PROGRAM_NV               0x8620     /* 34336 */\n#define GL_VERTEX_STATE_PROGRAM_NV         0x8621     /* 34337 */\n#define GL_ATTRIB_ARRAY_SIZE_NV            0x8623     /* 34339 */\n#define GL_ATTRIB_ARRAY_STRIDE_NV          0x8624     /* 34340 */\n#define GL_ATTRIB_ARRAY_TYPE_NV            0x8625     /* 34341 */\n#define GL_CURRENT_ATTRIB_NV               0x8626     /* 34342 */\n#define GL_PROGRAM_LENGTH_NV               0x8627     /* 34343 */\n#define GL_PROGRAM_STRING_NV               0x8628     /* 34344 */\n#define GL_MODELVIEW_PROJECTION_NV         0x8629     /* 34345 */\n#define GL_IDENTITY_NV                     0x862a     /* 34346 */\n#define GL_INVERSE_NV                      0x862b     /* 34347 */\n#define GL_TRANSPOSE_NV                    0x862c     /* 34348 */\n#define GL_INVERSE_TRANSPOSE_NV            0x862d     /* 34349 */\n#define GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV 0x862e     /* 34350 */\n#define GL_MAX_TRACK_MATRICES_NV           0x862f     /* 34351 */\n#define GL_MATRIX0_NV                      0x8630     /* 34352 */\n#define GL_MATRIX1_NV                      0x8631     /* 34353 */\n#define GL_MATRIX2_NV                      0x8632     /* 34354 */\n#define GL_MATRIX3_NV                      0x8633     /* 34355 */\n#define GL_MATRIX4_NV                      0x8634     /* 34356 */\n#define GL_MATRIX5_NV                      0x8635     /* 34357 */\n#define GL_MATRIX6_NV                      0x8636     /* 34358 */\n#define GL_MATRIX7_NV                      0x8637     /* 34359 */\n#define GL_CURRENT_MATRIX_STACK_DEPTH_NV   0x8640     /* 34368 */\n#define GL_CURRENT_MATRIX_NV               0x8641     /* 34369 */\n#define GL_VERTEX_PROGRAM_POINT_SIZE_NV    0x8642     /* 34370 */\n#define GL_VERTEX_PROGRAM_TWO_SIDE_NV      0x8643     /* 34371 */\n#define GL_PROGRAM_PARAMETER_NV            0x8644     /* 34372 */\n#define GL_ATTRIB_ARRAY_POINTER_NV         0x8645     /* 34373 */\n#define GL_PROGRAM_TARGET_NV               0x8646     /* 34374 */\n#define GL_PROGRAM_RESIDENT_NV             0x8647     /* 34375 */\n#define GL_TRACK_MATRIX_NV                 0x8648     /* 34376 */\n#define GL_TRACK_MATRIX_TRANSFORM_NV       0x8649     /* 34377 */\n#define GL_VERTEX_PROGRAM_BINDING_NV       0x864a     /* 34378 */\n#define GL_PROGRAM_ERROR_POSITION_NV       0x864b     /* 34379 */\n#define GL_VERTEX_ATTRIB_ARRAY0_NV         0x8650     /* 34384 */\n#define GL_VERTEX_ATTRIB_ARRAY1_NV         0x8651     /* 34385 */\n#define GL_VERTEX_ATTRIB_ARRAY2_NV         0x8652     /* 34386 */\n#define GL_VERTEX_ATTRIB_ARRAY3_NV         0x8653     /* 34387 */\n#define GL_VERTEX_ATTRIB_ARRAY4_NV         0x8654     /* 34388 */\n#define GL_VERTEX_ATTRIB_ARRAY5_NV         0x8655     /* 34389 */\n#define GL_VERTEX_ATTRIB_ARRAY6_NV         0x8656     /* 34390 */\n#define GL_VERTEX_ATTRIB_ARRAY7_NV         0x8657     /* 34391 */\n#define GL_VERTEX_ATTRIB_ARRAY8_NV         0x8658     /* 34392 */\n#define GL_VERTEX_ATTRIB_ARRAY9_NV         0x8659     /* 34393 */\n#define GL_VERTEX_ATTRIB_ARRAY10_NV        0x865a     /* 34394 */\n#define GL_VERTEX_ATTRIB_ARRAY11_NV        0x865b     /* 34395 */\n#define GL_VERTEX_ATTRIB_ARRAY12_NV        0x865c     /* 34396 */\n#define GL_VERTEX_ATTRIB_ARRAY13_NV        0x865d     /* 34397 */\n#define GL_VERTEX_ATTRIB_ARRAY14_NV        0x865e     /* 34398 */\n#define GL_VERTEX_ATTRIB_ARRAY15_NV        0x865f     /* 34399 */\n#define GL_MAP1_VERTEX_ATTRIB0_4_NV        0x8660     /* 34400 */\n#define GL_MAP1_VERTEX_ATTRIB1_4_NV        0x8661     /* 34401 */\n#define GL_MAP1_VERTEX_ATTRIB2_4_NV        0x8662     /* 34402 */\n#define GL_MAP1_VERTEX_ATTRIB3_4_NV        0x8663     /* 34403 */\n#define GL_MAP1_VERTEX_ATTRIB4_4_NV        0x8664     /* 34404 */\n#define GL_MAP1_VERTEX_ATTRIB5_4_NV        0x8665     /* 34405 */\n#define GL_MAP1_VERTEX_ATTRIB6_4_NV        0x8666     /* 34406 */\n#define GL_MAP1_VERTEX_ATTRIB7_4_NV        0x8667     /* 34407 */\n#define GL_MAP1_VERTEX_ATTRIB8_4_NV        0x8668     /* 34408 */\n#define GL_MAP1_VERTEX_ATTRIB9_4_NV        0x8669     /* 34409 */\n#define GL_MAP1_VERTEX_ATTRIB10_4_NV       0x866a     /* 34410 */\n#define GL_MAP1_VERTEX_ATTRIB11_4_NV       0x866b     /* 34411 */\n#define GL_MAP1_VERTEX_ATTRIB12_4_NV       0x866c     /* 34412 */\n#define GL_MAP1_VERTEX_ATTRIB13_4_NV       0x866d     /* 34413 */\n#define GL_MAP1_VERTEX_ATTRIB14_4_NV       0x866e     /* 34414 */\n#define GL_MAP1_VERTEX_ATTRIB15_4_NV       0x866f     /* 34415 */\n#define GL_MAP2_VERTEX_ATTRIB0_4_NV        0x8670     /* 34416 */\n#define GL_MAP2_VERTEX_ATTRIB1_4_NV        0x8671     /* 34417 */\n#define GL_MAP2_VERTEX_ATTRIB2_4_NV        0x8672     /* 34418 */\n#define GL_MAP2_VERTEX_ATTRIB3_4_NV        0x8673     /* 34419 */\n#define GL_MAP2_VERTEX_ATTRIB4_4_NV        0x8674     /* 34420 */\n#define GL_MAP2_VERTEX_ATTRIB5_4_NV        0x8675     /* 34421 */\n#define GL_MAP2_VERTEX_ATTRIB6_4_NV        0x8676     /* 34422 */\n#define GL_MAP2_VERTEX_ATTRIB7_4_NV        0x8677     /* 34423 */\n#define GL_MAP2_VERTEX_ATTRIB8_4_NV        0x8678     /* 34424 */\n#define GL_MAP2_VERTEX_ATTRIB9_4_NV        0x8679     /* 34425 */\n#define GL_MAP2_VERTEX_ATTRIB10_4_NV       0x867a     /* 34426 */\n#define GL_MAP2_VERTEX_ATTRIB11_4_NV       0x867b     /* 34427 */\n#define GL_MAP2_VERTEX_ATTRIB12_4_NV       0x867c     /* 34428 */\n#define GL_MAP2_VERTEX_ATTRIB13_4_NV       0x867d     /* 34429 */\n#define GL_MAP2_VERTEX_ATTRIB14_4_NV       0x867e     /* 34430 */\n#define GL_MAP2_VERTEX_ATTRIB15_4_NV       0x867f     /* 34431 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_NV_VERTEX_PROGRAM\ntypedef GLboolean (REGAL_CALL *PFNGLAREPROGRAMSRESIDENTNVPROC)(GLsizei n, const GLuint *programs, GLboolean *residences);\ntypedef GLboolean (REGAL_CALL *PFNGLISPROGRAMNVPROC)(GLuint id);\ntypedef void (REGAL_CALL *PFNGLBINDPROGRAMNVPROC)(GLenum target, GLuint id);\ntypedef void (REGAL_CALL *PFNGLDELETEPROGRAMSNVPROC)(GLsizei n, const GLuint *programs);\ntypedef void (REGAL_CALL *PFNGLEXECUTEPROGRAMNVPROC)(GLenum target, GLuint id, const GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGENPROGRAMSNVPROC)(GLsizei n, GLuint *programs);\ntypedef void (REGAL_CALL *PFNGLGETPROGRAMIVNVPROC)(GLuint id, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETPROGRAMPARAMETERDVNVPROC)(GLenum target, GLuint index, GLenum pname, GLdouble *params);\ntypedef void (REGAL_CALL *PFNGLGETPROGRAMPARAMETERFVNVPROC)(GLenum target, GLuint index, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETPROGRAMSTRINGNVPROC)(GLuint id, GLenum pname, GLubyte *program);\ntypedef void (REGAL_CALL *PFNGLGETTRACKMATRIXIVNVPROC)(GLenum target, GLuint address, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETVERTEXATTRIBDVNVPROC)(GLuint index, GLenum pname, GLdouble *params);\ntypedef void (REGAL_CALL *PFNGLGETVERTEXATTRIBFVNVPROC)(GLuint index, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETVERTEXATTRIBIVNVPROC)(GLuint index, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETVERTEXATTRIBPOINTERVNVPROC)(GLuint index, GLenum pname, GLvoid **pointer);\ntypedef void (REGAL_CALL *PFNGLLOADPROGRAMNVPROC)(GLenum target, GLuint id, GLsizei len, const GLubyte *program);\ntypedef void (REGAL_CALL *PFNGLPROGRAMPARAMETER4DNVPROC)(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\ntypedef void (REGAL_CALL *PFNGLPROGRAMPARAMETER4DVNVPROC)(GLenum target, GLuint index, const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLPROGRAMPARAMETER4FNVPROC)(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\ntypedef void (REGAL_CALL *PFNGLPROGRAMPARAMETER4FVNVPROC)(GLenum target, GLuint index, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLPROGRAMPARAMETERS4DVNVPROC)(GLenum target, GLuint index, GLsizei count, const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLPROGRAMPARAMETERS4FVNVPROC)(GLenum target, GLuint index, GLsizei count, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLREQUESTRESIDENTPROGRAMSNVPROC)(GLsizei n, const GLuint *programs);\ntypedef void (REGAL_CALL *PFNGLTRACKMATRIXNVPROC)(GLenum target, GLuint address, GLenum matrix, GLenum transform);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB1DNVPROC)(GLuint index, GLdouble x);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB1DVNVPROC)(GLuint index, const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB1FNVPROC)(GLuint index, GLfloat x);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB1FVNVPROC)(GLuint index, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB1SNVPROC)(GLuint index, GLshort x);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB1SVNVPROC)(GLuint index, const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB2DNVPROC)(GLuint index, GLdouble x, GLdouble y);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB2DVNVPROC)(GLuint index, const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB2FNVPROC)(GLuint index, GLfloat x, GLfloat y);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB2FVNVPROC)(GLuint index, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB2SNVPROC)(GLuint index, GLshort x, GLshort y);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB2SVNVPROC)(GLuint index, const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB3DNVPROC)(GLuint index, GLdouble x, GLdouble y, GLdouble z);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB3DVNVPROC)(GLuint index, const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB3FNVPROC)(GLuint index, GLfloat x, GLfloat y, GLfloat z);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB3FVNVPROC)(GLuint index, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB3SNVPROC)(GLuint index, GLshort x, GLshort y, GLshort z);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB3SVNVPROC)(GLuint index, const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4DNVPROC)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4DVNVPROC)(GLuint index, const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4FNVPROC)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4FVNVPROC)(GLuint index, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4SNVPROC)(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4SVNVPROC)(GLuint index, const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4UBNVPROC)(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4UBVNVPROC)(GLuint index, const GLubyte *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBPOINTERNVPROC)(GLuint index, GLint fsize, GLenum type, GLsizei stride, const GLvoid *pointer);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBS1DVNVPROC)(GLuint index, GLsizei n, const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBS1FVNVPROC)(GLuint index, GLsizei n, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBS1SVNVPROC)(GLuint index, GLsizei n, const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBS2DVNVPROC)(GLuint index, GLsizei n, const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBS2FVNVPROC)(GLuint index, GLsizei n, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBS2SVNVPROC)(GLuint index, GLsizei n, const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBS3DVNVPROC)(GLuint index, GLsizei n, const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBS3FVNVPROC)(GLuint index, GLsizei n, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBS3SVNVPROC)(GLuint index, GLsizei n, const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBS4DVNVPROC)(GLuint index, GLsizei n, const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBS4FVNVPROC)(GLuint index, GLsizei n, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBS4SVNVPROC)(GLuint index, GLsizei n, const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBS4UBVNVPROC)(GLuint index, GLsizei n, const GLubyte *v);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_NV_VERTEX_PROGRAM\n#define glAreProgramsResidentNV             rglAreProgramsResidentNV\n#define glBindProgramNV                     rglBindProgramNV\n#define glDeleteProgramsNV                  rglDeleteProgramsNV\n#define glExecuteProgramNV                  rglExecuteProgramNV\n#define glGenProgramsNV                     rglGenProgramsNV\n#define glGetProgramParameterdvNV           rglGetProgramParameterdvNV\n#define glGetProgramParameterfvNV           rglGetProgramParameterfvNV\n#define glGetProgramStringNV                rglGetProgramStringNV\n#define glGetProgramivNV                    rglGetProgramivNV\n#define glGetTrackMatrixivNV                rglGetTrackMatrixivNV\n#define glGetVertexAttribPointervNV         rglGetVertexAttribPointervNV\n#define glGetVertexAttribdvNV               rglGetVertexAttribdvNV\n#define glGetVertexAttribfvNV               rglGetVertexAttribfvNV\n#define glGetVertexAttribivNV               rglGetVertexAttribivNV\n#define glIsProgramNV                       rglIsProgramNV\n#define glLoadProgramNV                     rglLoadProgramNV\n#define glProgramParameter4dNV              rglProgramParameter4dNV\n#define glProgramParameter4dvNV             rglProgramParameter4dvNV\n#define glProgramParameter4fNV              rglProgramParameter4fNV\n#define glProgramParameter4fvNV             rglProgramParameter4fvNV\n#define glProgramParameters4dvNV            rglProgramParameters4dvNV\n#define glProgramParameters4fvNV            rglProgramParameters4fvNV\n#define glRequestResidentProgramsNV         rglRequestResidentProgramsNV\n#define glTrackMatrixNV                     rglTrackMatrixNV\n#define glVertexAttrib1dNV                  rglVertexAttrib1dNV\n#define glVertexAttrib1dvNV                 rglVertexAttrib1dvNV\n#define glVertexAttrib1fNV                  rglVertexAttrib1fNV\n#define glVertexAttrib1fvNV                 rglVertexAttrib1fvNV\n#define glVertexAttrib1sNV                  rglVertexAttrib1sNV\n#define glVertexAttrib1svNV                 rglVertexAttrib1svNV\n#define glVertexAttrib2dNV                  rglVertexAttrib2dNV\n#define glVertexAttrib2dvNV                 rglVertexAttrib2dvNV\n#define glVertexAttrib2fNV                  rglVertexAttrib2fNV\n#define glVertexAttrib2fvNV                 rglVertexAttrib2fvNV\n#define glVertexAttrib2sNV                  rglVertexAttrib2sNV\n#define glVertexAttrib2svNV                 rglVertexAttrib2svNV\n#define glVertexAttrib3dNV                  rglVertexAttrib3dNV\n#define glVertexAttrib3dvNV                 rglVertexAttrib3dvNV\n#define glVertexAttrib3fNV                  rglVertexAttrib3fNV\n#define glVertexAttrib3fvNV                 rglVertexAttrib3fvNV\n#define glVertexAttrib3sNV                  rglVertexAttrib3sNV\n#define glVertexAttrib3svNV                 rglVertexAttrib3svNV\n#define glVertexAttrib4dNV                  rglVertexAttrib4dNV\n#define glVertexAttrib4dvNV                 rglVertexAttrib4dvNV\n#define glVertexAttrib4fNV                  rglVertexAttrib4fNV\n#define glVertexAttrib4fvNV                 rglVertexAttrib4fvNV\n#define glVertexAttrib4sNV                  rglVertexAttrib4sNV\n#define glVertexAttrib4svNV                 rglVertexAttrib4svNV\n#define glVertexAttrib4ubNV                 rglVertexAttrib4ubNV\n#define glVertexAttrib4ubvNV                rglVertexAttrib4ubvNV\n#define glVertexAttribPointerNV             rglVertexAttribPointerNV\n#define glVertexAttribs1dvNV                rglVertexAttribs1dvNV\n#define glVertexAttribs1fvNV                rglVertexAttribs1fvNV\n#define glVertexAttribs1svNV                rglVertexAttribs1svNV\n#define glVertexAttribs2dvNV                rglVertexAttribs2dvNV\n#define glVertexAttribs2fvNV                rglVertexAttribs2fvNV\n#define glVertexAttribs2svNV                rglVertexAttribs2svNV\n#define glVertexAttribs3dvNV                rglVertexAttribs3dvNV\n#define glVertexAttribs3fvNV                rglVertexAttribs3fvNV\n#define glVertexAttribs3svNV                rglVertexAttribs3svNV\n#define glVertexAttribs4dvNV                rglVertexAttribs4dvNV\n#define glVertexAttribs4fvNV                rglVertexAttribs4fvNV\n#define glVertexAttribs4svNV                rglVertexAttribs4svNV\n#define glVertexAttribs4ubvNV               rglVertexAttribs4ubvNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_NV_VERTEX_PROGRAM\nREGAL_DECL GLboolean REGAL_CALL glAreProgramsResidentNV(GLsizei n, const GLuint *programs, GLboolean *residences);\nREGAL_DECL GLboolean REGAL_CALL glIsProgramNV(GLuint id);\nREGAL_DECL void REGAL_CALL glBindProgramNV(GLenum target, GLuint id);\nREGAL_DECL void REGAL_CALL glDeleteProgramsNV(GLsizei n, const GLuint *programs);\nREGAL_DECL void REGAL_CALL glExecuteProgramNV(GLenum target, GLuint id, const GLfloat *params);\nREGAL_DECL void REGAL_CALL glGenProgramsNV(GLsizei n, GLuint *programs);\nREGAL_DECL void REGAL_CALL glGetProgramParameterdvNV(GLenum target, GLuint index, GLenum pname, GLdouble *params);\nREGAL_DECL void REGAL_CALL glGetProgramParameterfvNV(GLenum target, GLuint index, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetProgramStringNV(GLuint id, GLenum pname, GLubyte *program);\nREGAL_DECL void REGAL_CALL glGetProgramivNV(GLuint id, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetTrackMatrixivNV(GLenum target, GLuint address, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetVertexAttribPointervNV(GLuint index, GLenum pname, GLvoid **pointer);\nREGAL_DECL void REGAL_CALL glGetVertexAttribdvNV(GLuint index, GLenum pname, GLdouble *params);\nREGAL_DECL void REGAL_CALL glGetVertexAttribfvNV(GLuint index, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetVertexAttribivNV(GLuint index, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glLoadProgramNV(GLenum target, GLuint id, GLsizei len, const GLubyte *program);\nREGAL_DECL void REGAL_CALL glProgramParameter4dNV(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nREGAL_DECL void REGAL_CALL glProgramParameter4dvNV(GLenum target, GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL glProgramParameter4fNV(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nREGAL_DECL void REGAL_CALL glProgramParameter4fvNV(GLenum target, GLuint index, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glProgramParameters4dvNV(GLenum target, GLuint index, GLsizei count, const GLdouble *v);\nREGAL_DECL void REGAL_CALL glProgramParameters4fvNV(GLenum target, GLuint index, GLsizei count, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glRequestResidentProgramsNV(GLsizei n, const GLuint *programs);\nREGAL_DECL void REGAL_CALL glTrackMatrixNV(GLenum target, GLuint address, GLenum matrix, GLenum transform);\nREGAL_DECL void REGAL_CALL glVertexAttrib1dNV(GLuint index, GLdouble x);\nREGAL_DECL void REGAL_CALL glVertexAttrib1dvNV(GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib1fNV(GLuint index, GLfloat x);\nREGAL_DECL void REGAL_CALL glVertexAttrib1fvNV(GLuint index, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib1sNV(GLuint index, GLshort x);\nREGAL_DECL void REGAL_CALL glVertexAttrib1svNV(GLuint index, const GLshort *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib2dNV(GLuint index, GLdouble x, GLdouble y);\nREGAL_DECL void REGAL_CALL glVertexAttrib2dvNV(GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib2fNV(GLuint index, GLfloat x, GLfloat y);\nREGAL_DECL void REGAL_CALL glVertexAttrib2fvNV(GLuint index, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib2sNV(GLuint index, GLshort x, GLshort y);\nREGAL_DECL void REGAL_CALL glVertexAttrib2svNV(GLuint index, const GLshort *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib3dNV(GLuint index, GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL glVertexAttrib3dvNV(GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib3fNV(GLuint index, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL glVertexAttrib3fvNV(GLuint index, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib3sNV(GLuint index, GLshort x, GLshort y, GLshort z);\nREGAL_DECL void REGAL_CALL glVertexAttrib3svNV(GLuint index, const GLshort *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib4dNV(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nREGAL_DECL void REGAL_CALL glVertexAttrib4dvNV(GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib4fNV(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nREGAL_DECL void REGAL_CALL glVertexAttrib4fvNV(GLuint index, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib4sNV(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);\nREGAL_DECL void REGAL_CALL glVertexAttrib4svNV(GLuint index, const GLshort *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib4ubNV(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);\nREGAL_DECL void REGAL_CALL glVertexAttrib4ubvNV(GLuint index, const GLubyte *v);\nREGAL_DECL void REGAL_CALL glVertexAttribPointerNV(GLuint index, GLint fsize, GLenum type, GLsizei stride, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL glVertexAttribs1dvNV(GLuint index, GLsizei n, const GLdouble *v);\nREGAL_DECL void REGAL_CALL glVertexAttribs1fvNV(GLuint index, GLsizei n, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glVertexAttribs1svNV(GLuint index, GLsizei n, const GLshort *v);\nREGAL_DECL void REGAL_CALL glVertexAttribs2dvNV(GLuint index, GLsizei n, const GLdouble *v);\nREGAL_DECL void REGAL_CALL glVertexAttribs2fvNV(GLuint index, GLsizei n, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glVertexAttribs2svNV(GLuint index, GLsizei n, const GLshort *v);\nREGAL_DECL void REGAL_CALL glVertexAttribs3dvNV(GLuint index, GLsizei n, const GLdouble *v);\nREGAL_DECL void REGAL_CALL glVertexAttribs3fvNV(GLuint index, GLsizei n, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glVertexAttribs3svNV(GLuint index, GLsizei n, const GLshort *v);\nREGAL_DECL void REGAL_CALL glVertexAttribs4dvNV(GLuint index, GLsizei n, const GLdouble *v);\nREGAL_DECL void REGAL_CALL glVertexAttribs4fvNV(GLuint index, GLsizei n, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glVertexAttribs4svNV(GLuint index, GLsizei n, const GLshort *v);\nREGAL_DECL void REGAL_CALL glVertexAttribs4ubvNV(GLuint index, GLsizei n, const GLubyte *v);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_NV_VERTEX_PROGRAM\nREGAL_DECL GLboolean REGAL_CALL plugin_glAreProgramsResidentNV(GLsizei n, const GLuint *programs, GLboolean *residences);\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsProgramNV(GLuint id);\nREGAL_DECL void REGAL_CALL plugin_glBindProgramNV(GLenum target, GLuint id);\nREGAL_DECL void REGAL_CALL plugin_glDeleteProgramsNV(GLsizei n, const GLuint *programs);\nREGAL_DECL void REGAL_CALL plugin_glExecuteProgramNV(GLenum target, GLuint id, const GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGenProgramsNV(GLsizei n, GLuint *programs);\nREGAL_DECL void REGAL_CALL plugin_glGetProgramParameterdvNV(GLenum target, GLuint index, GLenum pname, GLdouble *params);\nREGAL_DECL void REGAL_CALL plugin_glGetProgramParameterfvNV(GLenum target, GLuint index, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetProgramStringNV(GLuint id, GLenum pname, GLubyte *program);\nREGAL_DECL void REGAL_CALL plugin_glGetProgramivNV(GLuint id, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetTrackMatrixivNV(GLenum target, GLuint address, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetVertexAttribPointervNV(GLuint index, GLenum pname, GLvoid **pointer);\nREGAL_DECL void REGAL_CALL plugin_glGetVertexAttribdvNV(GLuint index, GLenum pname, GLdouble *params);\nREGAL_DECL void REGAL_CALL plugin_glGetVertexAttribfvNV(GLuint index, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetVertexAttribivNV(GLuint index, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glLoadProgramNV(GLenum target, GLuint id, GLsizei len, const GLubyte *program);\nREGAL_DECL void REGAL_CALL plugin_glProgramParameter4dNV(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nREGAL_DECL void REGAL_CALL plugin_glProgramParameter4dvNV(GLenum target, GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glProgramParameter4fNV(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nREGAL_DECL void REGAL_CALL plugin_glProgramParameter4fvNV(GLenum target, GLuint index, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glProgramParameters4dvNV(GLenum target, GLuint index, GLsizei count, const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glProgramParameters4fvNV(GLenum target, GLuint index, GLsizei count, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glRequestResidentProgramsNV(GLsizei n, const GLuint *programs);\nREGAL_DECL void REGAL_CALL plugin_glTrackMatrixNV(GLenum target, GLuint address, GLenum matrix, GLenum transform);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib1dNV(GLuint index, GLdouble x);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib1dvNV(GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib1fNV(GLuint index, GLfloat x);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib1fvNV(GLuint index, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib1sNV(GLuint index, GLshort x);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib1svNV(GLuint index, const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib2dNV(GLuint index, GLdouble x, GLdouble y);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib2dvNV(GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib2fNV(GLuint index, GLfloat x, GLfloat y);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib2fvNV(GLuint index, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib2sNV(GLuint index, GLshort x, GLshort y);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib2svNV(GLuint index, const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib3dNV(GLuint index, GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib3dvNV(GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib3fNV(GLuint index, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib3fvNV(GLuint index, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib3sNV(GLuint index, GLshort x, GLshort y, GLshort z);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib3svNV(GLuint index, const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4dNV(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4dvNV(GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4fNV(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4fvNV(GLuint index, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4sNV(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4svNV(GLuint index, const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4ubNV(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4ubvNV(GLuint index, const GLubyte *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribPointerNV(GLuint index, GLint fsize, GLenum type, GLsizei stride, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribs1dvNV(GLuint index, GLsizei n, const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribs1fvNV(GLuint index, GLsizei n, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribs1svNV(GLuint index, GLsizei n, const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribs2dvNV(GLuint index, GLsizei n, const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribs2fvNV(GLuint index, GLsizei n, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribs2svNV(GLuint index, GLsizei n, const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribs3dvNV(GLuint index, GLsizei n, const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribs3fvNV(GLuint index, GLsizei n, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribs3svNV(GLuint index, GLsizei n, const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribs4dvNV(GLuint index, GLsizei n, const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribs4fvNV(GLuint index, GLsizei n, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribs4svNV(GLuint index, GLsizei n, const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribs4ubvNV(GLuint index, GLsizei n, const GLubyte *v);\n#endif\n\n/**\n ** GL_NV_vertex_program2_option\n **/\n\n#if (defined(GL_NV_VERTEX_PROGRAM2_OPTION) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_VERTEX_PROGRAM2_OPTION)) && !defined(REGAL_NO_ENUM_GL_NV_VERTEX_PROGRAM2_OPTION)\n#define REGAL_NO_ENUM_GL_NV_VERTEX_PROGRAM2_OPTION\n#endif\n\n#if (defined(GL_NV_VERTEX_PROGRAM2_OPTION) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_VERTEX_PROGRAM2_OPTION)) && !defined(REGAL_NO_TYPEDEF_GL_NV_VERTEX_PROGRAM2_OPTION)\n#define REGAL_NO_TYPEDEF_GL_NV_VERTEX_PROGRAM2_OPTION\n#endif\n\n#if (defined(GL_NV_VERTEX_PROGRAM2_OPTION) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_VERTEX_PROGRAM2_OPTION)) && !defined(REGAL_NO_NAMESPACE_GL_NV_VERTEX_PROGRAM2_OPTION)\n#define REGAL_NO_NAMESPACE_GL_NV_VERTEX_PROGRAM2_OPTION\n#endif\n\n#if (defined(GL_NV_VERTEX_PROGRAM2_OPTION) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_VERTEX_PROGRAM2_OPTION)) && !defined(REGAL_NO_PLUGIN_GL_NV_VERTEX_PROGRAM2_OPTION)\n#define REGAL_NO_PLUGIN_GL_NV_VERTEX_PROGRAM2_OPTION\n#endif\n\n#if (defined(GL_NV_VERTEX_PROGRAM2_OPTION) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_VERTEX_PROGRAM2_OPTION)) && !defined(REGAL_NO_DECLARATION_GL_NV_VERTEX_PROGRAM2_OPTION)\n#define REGAL_NO_DECLARATION_GL_NV_VERTEX_PROGRAM2_OPTION\n#endif\n\n#ifndef GL_NV_vertex_program2_option\n#define GL_NV_vertex_program2_option 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_VERTEX_PROGRAM2_OPTION\n#define GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV 0x88f4     /* 35060 */\n#define GL_MAX_PROGRAM_CALL_DEPTH_NV        0x88f5     /* 35061 */\n#endif\n\n/**\n ** GL_NV_vertex_program3\n **/\n\n#if (defined(GL_NV_VERTEX_PROGRAM3) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_VERTEX_PROGRAM3)) && !defined(REGAL_NO_ENUM_GL_NV_VERTEX_PROGRAM3)\n#define REGAL_NO_ENUM_GL_NV_VERTEX_PROGRAM3\n#endif\n\n#if (defined(GL_NV_VERTEX_PROGRAM3) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_VERTEX_PROGRAM3)) && !defined(REGAL_NO_TYPEDEF_GL_NV_VERTEX_PROGRAM3)\n#define REGAL_NO_TYPEDEF_GL_NV_VERTEX_PROGRAM3\n#endif\n\n#if (defined(GL_NV_VERTEX_PROGRAM3) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_VERTEX_PROGRAM3)) && !defined(REGAL_NO_NAMESPACE_GL_NV_VERTEX_PROGRAM3)\n#define REGAL_NO_NAMESPACE_GL_NV_VERTEX_PROGRAM3\n#endif\n\n#if (defined(GL_NV_VERTEX_PROGRAM3) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_VERTEX_PROGRAM3)) && !defined(REGAL_NO_PLUGIN_GL_NV_VERTEX_PROGRAM3)\n#define REGAL_NO_PLUGIN_GL_NV_VERTEX_PROGRAM3\n#endif\n\n#if (defined(GL_NV_VERTEX_PROGRAM3) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_VERTEX_PROGRAM3)) && !defined(REGAL_NO_DECLARATION_GL_NV_VERTEX_PROGRAM3)\n#define REGAL_NO_DECLARATION_GL_NV_VERTEX_PROGRAM3\n#endif\n\n#ifndef GL_NV_vertex_program3\n#define GL_NV_vertex_program3 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_VERTEX_PROGRAM3\n#define MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB 0x8b4c /* 35660 */\n#endif\n\n/**\n ** GL_NV_vertex_program4\n **/\n\n#if (defined(GL_NV_VERTEX_PROGRAM4) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_VERTEX_PROGRAM4)) && !defined(REGAL_NO_ENUM_GL_NV_VERTEX_PROGRAM4)\n#define REGAL_NO_ENUM_GL_NV_VERTEX_PROGRAM4\n#endif\n\n#if (defined(GL_NV_VERTEX_PROGRAM4) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_VERTEX_PROGRAM4)) && !defined(REGAL_NO_TYPEDEF_GL_NV_VERTEX_PROGRAM4)\n#define REGAL_NO_TYPEDEF_GL_NV_VERTEX_PROGRAM4\n#endif\n\n#if (defined(GL_NV_VERTEX_PROGRAM4) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_VERTEX_PROGRAM4)) && !defined(REGAL_NO_NAMESPACE_GL_NV_VERTEX_PROGRAM4)\n#define REGAL_NO_NAMESPACE_GL_NV_VERTEX_PROGRAM4\n#endif\n\n#if (defined(GL_NV_VERTEX_PROGRAM4) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_VERTEX_PROGRAM4)) && !defined(REGAL_NO_PLUGIN_GL_NV_VERTEX_PROGRAM4)\n#define REGAL_NO_PLUGIN_GL_NV_VERTEX_PROGRAM4\n#endif\n\n#if (defined(GL_NV_VERTEX_PROGRAM4) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_VERTEX_PROGRAM4)) && !defined(REGAL_NO_DECLARATION_GL_NV_VERTEX_PROGRAM4)\n#define REGAL_NO_DECLARATION_GL_NV_VERTEX_PROGRAM4\n#endif\n\n#ifndef GL_NV_vertex_program4\n#define GL_NV_vertex_program4 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_VERTEX_PROGRAM4\n#define GL_VERTEX_ATTRIB_ARRAY_INTEGER_NV 0x88fd /* 35069 */\n#endif\n\n/**\n ** GL_NV_video_capture\n **/\n\n#if (defined(GL_NV_VIDEO_CAPTURE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_VIDEO_CAPTURE)) && !defined(REGAL_NO_ENUM_GL_NV_VIDEO_CAPTURE)\n#define REGAL_NO_ENUM_GL_NV_VIDEO_CAPTURE\n#endif\n\n#if (defined(GL_NV_VIDEO_CAPTURE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_VIDEO_CAPTURE)) && !defined(REGAL_NO_TYPEDEF_GL_NV_VIDEO_CAPTURE)\n#define REGAL_NO_TYPEDEF_GL_NV_VIDEO_CAPTURE\n#endif\n\n#if (defined(GL_NV_VIDEO_CAPTURE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_VIDEO_CAPTURE)) && !defined(REGAL_NO_NAMESPACE_GL_NV_VIDEO_CAPTURE)\n#define REGAL_NO_NAMESPACE_GL_NV_VIDEO_CAPTURE\n#endif\n\n#if (defined(GL_NV_VIDEO_CAPTURE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_VIDEO_CAPTURE)) && !defined(REGAL_NO_PLUGIN_GL_NV_VIDEO_CAPTURE)\n#define REGAL_NO_PLUGIN_GL_NV_VIDEO_CAPTURE\n#endif\n\n#if (defined(GL_NV_VIDEO_CAPTURE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_VIDEO_CAPTURE)) && !defined(REGAL_NO_DECLARATION_GL_NV_VIDEO_CAPTURE)\n#define REGAL_NO_DECLARATION_GL_NV_VIDEO_CAPTURE\n#endif\n\n#ifndef GL_NV_video_capture\n#define GL_NV_video_capture 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_VIDEO_CAPTURE\n#define GL_VIDEO_BUFFER_NV                          0x9020     /* 36896 */\n#define GL_VIDEO_BUFFER_BINDING_NV                  0x9021     /* 36897 */\n#define GL_FIELD_UPPER_NV                           0x9022     /* 36898 */\n#define GL_FIELD_LOWER_NV                           0x9023     /* 36899 */\n#define GL_NUM_VIDEO_CAPTURE_STREAMS_NV             0x9024     /* 36900 */\n#define GL_NEXT_VIDEO_CAPTURE_BUFFER_STATUS_NV      0x9025     /* 36901 */\n#define GL_VIDEO_CAPTURE_TO_422_SUPPORTED_NV        0x9026     /* 36902 */\n#define GL_LAST_VIDEO_CAPTURE_STATUS_NV             0x9027     /* 36903 */\n#define GL_VIDEO_BUFFER_PITCH_NV                    0x9028     /* 36904 */\n#define GL_VIDEO_COLOR_CONVERSION_MATRIX_NV         0x9029     /* 36905 */\n#define GL_VIDEO_COLOR_CONVERSION_MAX_NV            0x902a     /* 36906 */\n#define GL_VIDEO_COLOR_CONVERSION_MIN_NV            0x902b     /* 36907 */\n#define GL_VIDEO_COLOR_CONVERSION_OFFSET_NV         0x902c     /* 36908 */\n#define GL_VIDEO_BUFFER_INTERNAL_FORMAT_NV          0x902d     /* 36909 */\n#define GL_PARTIAL_SUCCESS_NV                       0x902e     /* 36910 */\n#define GL_SUCCESS_NV                               0x902f     /* 36911 */\n#define GL_FAILURE_NV                               0x9030     /* 36912 */\n#define GL_YCBYCR8_422_NV                           0x9031     /* 36913 */\n#define GL_YCBAYCR8A_4224_NV                        0x9032     /* 36914 */\n#define GL_Z6Y10Z6CB10Z6Y10Z6CR10_422_NV            0x9033     /* 36915 */\n#define GL_Z6Y10Z6CB10Z6A10Z6Y10Z6CR10Z6A10_4224_NV 0x9034     /* 36916 */\n#define GL_Z4Y12Z4CB12Z4Y12Z4CR12_422_NV            0x9035     /* 36917 */\n#define GL_Z4Y12Z4CB12Z4A12Z4Y12Z4CR12Z4A12_4224_NV 0x9036     /* 36918 */\n#define GL_Z4Y12Z4CB12Z4CR12_444_NV                 0x9037     /* 36919 */\n#define GL_VIDEO_CAPTURE_FRAME_WIDTH_NV             0x9038     /* 36920 */\n#define GL_VIDEO_CAPTURE_FRAME_HEIGHT_NV            0x9039     /* 36921 */\n#define GL_VIDEO_CAPTURE_FIELD_UPPER_HEIGHT_NV      0x903a     /* 36922 */\n#define GL_VIDEO_CAPTURE_FIELD_LOWER_HEIGHT_NV      0x903b     /* 36923 */\n#define GL_VIDEO_CAPTURE_SURFACE_ORIGIN_NV          0x903c     /* 36924 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_NV_VIDEO_CAPTURE\ntypedef GLenum (REGAL_CALL *PFNGLVIDEOCAPTURENVPROC)(GLuint video_capture_slot, GLuint *sequence_num, GLuint64EXT *capture_time);\ntypedef void (REGAL_CALL *PFNGLBEGINVIDEOCAPTURENVPROC)(GLuint video_capture_slot);\ntypedef void (REGAL_CALL *PFNGLBINDVIDEOCAPTURESTREAMBUFFERNVPROC)(GLuint video_capture_slot, GLuint stream, GLenum frame_region, GLintptr offset);\ntypedef void (REGAL_CALL *PFNGLBINDVIDEOCAPTURESTREAMTEXTURENVPROC)(GLuint video_capture_slot, GLuint stream, GLenum frame_region, GLenum target, GLuint texture);\ntypedef void (REGAL_CALL *PFNGLENDVIDEOCAPTURENVPROC)(GLuint video_capture_slot);\ntypedef void (REGAL_CALL *PFNGLGETVIDEOCAPTUREIVNVPROC)(GLuint video_capture_slot, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETVIDEOCAPTURESTREAMDVNVPROC)(GLuint video_capture_slot, GLuint stream, GLenum pname, GLdouble *params);\ntypedef void (REGAL_CALL *PFNGLGETVIDEOCAPTURESTREAMFVNVPROC)(GLuint video_capture_slot, GLuint stream, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETVIDEOCAPTURESTREAMIVNVPROC)(GLuint video_capture_slot, GLuint stream, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLVIDEOCAPTURESTREAMPARAMETERDVNVPROC)(GLuint video_capture_slot, GLuint stream, GLenum pname, const GLdouble *params);\ntypedef void (REGAL_CALL *PFNGLVIDEOCAPTURESTREAMPARAMETERFVNVPROC)(GLuint video_capture_slot, GLuint stream, GLenum pname, const GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLVIDEOCAPTURESTREAMPARAMETERIVNVPROC)(GLuint video_capture_slot, GLuint stream, GLenum pname, const GLint *params);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_NV_VIDEO_CAPTURE\n#define glBeginVideoCaptureNV               rglBeginVideoCaptureNV\n#define glBindVideoCaptureStreamBufferNV    rglBindVideoCaptureStreamBufferNV\n#define glBindVideoCaptureStreamTextureNV   rglBindVideoCaptureStreamTextureNV\n#define glEndVideoCaptureNV                 rglEndVideoCaptureNV\n#define glGetVideoCaptureStreamdvNV         rglGetVideoCaptureStreamdvNV\n#define glGetVideoCaptureStreamfvNV         rglGetVideoCaptureStreamfvNV\n#define glGetVideoCaptureStreamivNV         rglGetVideoCaptureStreamivNV\n#define glGetVideoCaptureivNV               rglGetVideoCaptureivNV\n#define glVideoCaptureNV                    rglVideoCaptureNV\n#define glVideoCaptureStreamParameterdvNV   rglVideoCaptureStreamParameterdvNV\n#define glVideoCaptureStreamParameterfvNV   rglVideoCaptureStreamParameterfvNV\n#define glVideoCaptureStreamParameterivNV   rglVideoCaptureStreamParameterivNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_NV_VIDEO_CAPTURE\nREGAL_DECL GLenum REGAL_CALL glVideoCaptureNV(GLuint video_capture_slot, GLuint *sequence_num, GLuint64EXT *capture_time);\nREGAL_DECL void REGAL_CALL glBeginVideoCaptureNV(GLuint video_capture_slot);\nREGAL_DECL void REGAL_CALL glBindVideoCaptureStreamBufferNV(GLuint video_capture_slot, GLuint stream, GLenum frame_region, GLintptr offset);\nREGAL_DECL void REGAL_CALL glBindVideoCaptureStreamTextureNV(GLuint video_capture_slot, GLuint stream, GLenum frame_region, GLenum target, GLuint texture);\nREGAL_DECL void REGAL_CALL glEndVideoCaptureNV(GLuint video_capture_slot);\nREGAL_DECL void REGAL_CALL glGetVideoCaptureStreamdvNV(GLuint video_capture_slot, GLuint stream, GLenum pname, GLdouble *params);\nREGAL_DECL void REGAL_CALL glGetVideoCaptureStreamfvNV(GLuint video_capture_slot, GLuint stream, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetVideoCaptureStreamivNV(GLuint video_capture_slot, GLuint stream, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetVideoCaptureivNV(GLuint video_capture_slot, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glVideoCaptureStreamParameterdvNV(GLuint video_capture_slot, GLuint stream, GLenum pname, const GLdouble *params);\nREGAL_DECL void REGAL_CALL glVideoCaptureStreamParameterfvNV(GLuint video_capture_slot, GLuint stream, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL glVideoCaptureStreamParameterivNV(GLuint video_capture_slot, GLuint stream, GLenum pname, const GLint *params);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_NV_VIDEO_CAPTURE\nREGAL_DECL GLenum REGAL_CALL plugin_glVideoCaptureNV(GLuint video_capture_slot, GLuint *sequence_num, GLuint64EXT *capture_time);\nREGAL_DECL void REGAL_CALL plugin_glBeginVideoCaptureNV(GLuint video_capture_slot);\nREGAL_DECL void REGAL_CALL plugin_glBindVideoCaptureStreamBufferNV(GLuint video_capture_slot, GLuint stream, GLenum frame_region, GLintptr offset);\nREGAL_DECL void REGAL_CALL plugin_glBindVideoCaptureStreamTextureNV(GLuint video_capture_slot, GLuint stream, GLenum frame_region, GLenum target, GLuint texture);\nREGAL_DECL void REGAL_CALL plugin_glEndVideoCaptureNV(GLuint video_capture_slot);\nREGAL_DECL void REGAL_CALL plugin_glGetVideoCaptureStreamdvNV(GLuint video_capture_slot, GLuint stream, GLenum pname, GLdouble *params);\nREGAL_DECL void REGAL_CALL plugin_glGetVideoCaptureStreamfvNV(GLuint video_capture_slot, GLuint stream, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetVideoCaptureStreamivNV(GLuint video_capture_slot, GLuint stream, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetVideoCaptureivNV(GLuint video_capture_slot, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glVideoCaptureStreamParameterdvNV(GLuint video_capture_slot, GLuint stream, GLenum pname, const GLdouble *params);\nREGAL_DECL void REGAL_CALL plugin_glVideoCaptureStreamParameterfvNV(GLuint video_capture_slot, GLuint stream, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glVideoCaptureStreamParameterivNV(GLuint video_capture_slot, GLuint stream, GLenum pname, const GLint *params);\n#endif\n\n/**\n ** GL_OES_blend_equation_separate\n **/\n\n#if (defined(GL_OES_BLEND_EQUATION_SEPARATE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_OES_BLEND_EQUATION_SEPARATE)) && !defined(REGAL_NO_ENUM_GL_OES_BLEND_EQUATION_SEPARATE)\n#define REGAL_NO_ENUM_GL_OES_BLEND_EQUATION_SEPARATE\n#endif\n\n#if (defined(GL_OES_BLEND_EQUATION_SEPARATE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_OES_BLEND_EQUATION_SEPARATE)) && !defined(REGAL_NO_TYPEDEF_GL_OES_BLEND_EQUATION_SEPARATE)\n#define REGAL_NO_TYPEDEF_GL_OES_BLEND_EQUATION_SEPARATE\n#endif\n\n#if (defined(GL_OES_BLEND_EQUATION_SEPARATE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_OES_BLEND_EQUATION_SEPARATE)) && !defined(REGAL_NO_NAMESPACE_GL_OES_BLEND_EQUATION_SEPARATE)\n#define REGAL_NO_NAMESPACE_GL_OES_BLEND_EQUATION_SEPARATE\n#endif\n\n#if (defined(GL_OES_BLEND_EQUATION_SEPARATE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_OES_BLEND_EQUATION_SEPARATE)) && !defined(REGAL_NO_PLUGIN_GL_OES_BLEND_EQUATION_SEPARATE)\n#define REGAL_NO_PLUGIN_GL_OES_BLEND_EQUATION_SEPARATE\n#endif\n\n#if (defined(GL_OES_BLEND_EQUATION_SEPARATE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_OES_BLEND_EQUATION_SEPARATE)) && !defined(REGAL_NO_DECLARATION_GL_OES_BLEND_EQUATION_SEPARATE)\n#define REGAL_NO_DECLARATION_GL_OES_BLEND_EQUATION_SEPARATE\n#endif\n\n#ifndef GL_OES_blend_equation_separate\n#define GL_OES_blend_equation_separate 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_OES_BLEND_EQUATION_SEPARATE\n#define GL_BLEND_EQUATION_RGB_OES   0x8009     /* 32777 */\n#define GL_BLEND_EQUATION_ALPHA_OES 0x883d     /* 34877 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_OES_BLEND_EQUATION_SEPARATE\ntypedef void (REGAL_CALL *PFNGLBLENDEQUATIONSEPARATEOESPROC)(GLenum modeRGB, GLenum modeAlpha);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_OES_BLEND_EQUATION_SEPARATE\n#define glBlendEquationSeparateOES          rglBlendEquationSeparateOES\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_OES_BLEND_EQUATION_SEPARATE\nREGAL_DECL void REGAL_CALL glBlendEquationSeparateOES(GLenum modeRGB, GLenum modeAlpha);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_OES_BLEND_EQUATION_SEPARATE\nREGAL_DECL void REGAL_CALL plugin_glBlendEquationSeparateOES(GLenum modeRGB, GLenum modeAlpha);\n#endif\n\n/**\n ** GL_OES_blend_func_separate\n **/\n\n#if (defined(GL_OES_BLEND_FUNC_SEPARATE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_OES_BLEND_FUNC_SEPARATE)) && !defined(REGAL_NO_ENUM_GL_OES_BLEND_FUNC_SEPARATE)\n#define REGAL_NO_ENUM_GL_OES_BLEND_FUNC_SEPARATE\n#endif\n\n#if (defined(GL_OES_BLEND_FUNC_SEPARATE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_OES_BLEND_FUNC_SEPARATE)) && !defined(REGAL_NO_TYPEDEF_GL_OES_BLEND_FUNC_SEPARATE)\n#define REGAL_NO_TYPEDEF_GL_OES_BLEND_FUNC_SEPARATE\n#endif\n\n#if (defined(GL_OES_BLEND_FUNC_SEPARATE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_OES_BLEND_FUNC_SEPARATE)) && !defined(REGAL_NO_NAMESPACE_GL_OES_BLEND_FUNC_SEPARATE)\n#define REGAL_NO_NAMESPACE_GL_OES_BLEND_FUNC_SEPARATE\n#endif\n\n#if (defined(GL_OES_BLEND_FUNC_SEPARATE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_OES_BLEND_FUNC_SEPARATE)) && !defined(REGAL_NO_PLUGIN_GL_OES_BLEND_FUNC_SEPARATE)\n#define REGAL_NO_PLUGIN_GL_OES_BLEND_FUNC_SEPARATE\n#endif\n\n#if (defined(GL_OES_BLEND_FUNC_SEPARATE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_OES_BLEND_FUNC_SEPARATE)) && !defined(REGAL_NO_DECLARATION_GL_OES_BLEND_FUNC_SEPARATE)\n#define REGAL_NO_DECLARATION_GL_OES_BLEND_FUNC_SEPARATE\n#endif\n\n#ifndef GL_OES_blend_func_separate\n#define GL_OES_blend_func_separate 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_OES_BLEND_FUNC_SEPARATE\n#define GL_BLEND_DST_RGB_OES   0x80c8     /* 32968 */\n#define GL_BLEND_SRC_RGB_OES   0x80c9     /* 32969 */\n#define GL_BLEND_DST_ALPHA_OES 0x80ca     /* 32970 */\n#define GL_BLEND_SRC_ALPHA_OES 0x80cb     /* 32971 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_OES_BLEND_FUNC_SEPARATE\ntypedef void (REGAL_CALL *PFNGLBLENDFUNCSEPARATEOESPROC)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_OES_BLEND_FUNC_SEPARATE\n#define glBlendFuncSeparateOES              rglBlendFuncSeparateOES\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_OES_BLEND_FUNC_SEPARATE\nREGAL_DECL void REGAL_CALL glBlendFuncSeparateOES(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_OES_BLEND_FUNC_SEPARATE\nREGAL_DECL void REGAL_CALL plugin_glBlendFuncSeparateOES(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);\n#endif\n\n/**\n ** GL_OES_blend_subtract\n **/\n\n#if (defined(GL_OES_BLEND_SUBTRACT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_OES_BLEND_SUBTRACT)) && !defined(REGAL_NO_ENUM_GL_OES_BLEND_SUBTRACT)\n#define REGAL_NO_ENUM_GL_OES_BLEND_SUBTRACT\n#endif\n\n#if (defined(GL_OES_BLEND_SUBTRACT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_OES_BLEND_SUBTRACT)) && !defined(REGAL_NO_TYPEDEF_GL_OES_BLEND_SUBTRACT)\n#define REGAL_NO_TYPEDEF_GL_OES_BLEND_SUBTRACT\n#endif\n\n#if (defined(GL_OES_BLEND_SUBTRACT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_OES_BLEND_SUBTRACT)) && !defined(REGAL_NO_NAMESPACE_GL_OES_BLEND_SUBTRACT)\n#define REGAL_NO_NAMESPACE_GL_OES_BLEND_SUBTRACT\n#endif\n\n#if (defined(GL_OES_BLEND_SUBTRACT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_OES_BLEND_SUBTRACT)) && !defined(REGAL_NO_PLUGIN_GL_OES_BLEND_SUBTRACT)\n#define REGAL_NO_PLUGIN_GL_OES_BLEND_SUBTRACT\n#endif\n\n#if (defined(GL_OES_BLEND_SUBTRACT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_OES_BLEND_SUBTRACT)) && !defined(REGAL_NO_DECLARATION_GL_OES_BLEND_SUBTRACT)\n#define REGAL_NO_DECLARATION_GL_OES_BLEND_SUBTRACT\n#endif\n\n#ifndef GL_OES_blend_subtract\n#define GL_OES_blend_subtract 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_OES_BLEND_SUBTRACT\n#define GL_FUNC_ADD_OES              0x8006     /* 32774 */\n#define GL_BLEND_EQUATION_OES        0x8009     /* 32777 */\n#define GL_FUNC_SUBTRACT_OES         0x800a     /* 32778 */\n#define GL_FUNC_REVERSE_SUBTRACT_OES 0x800b     /* 32779 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_OES_BLEND_SUBTRACT\ntypedef void (REGAL_CALL *PFNGLBLENDEQUATIONOESPROC)(GLenum mode);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_OES_BLEND_SUBTRACT\n#define glBlendEquationOES                  rglBlendEquationOES\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_OES_BLEND_SUBTRACT\nREGAL_DECL void REGAL_CALL glBlendEquationOES(GLenum mode);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_OES_BLEND_SUBTRACT\nREGAL_DECL void REGAL_CALL plugin_glBlendEquationOES(GLenum mode);\n#endif\n\n/**\n ** GL_OES_compressed_ETC1_RGB8_texture\n **/\n\n#if (defined(GL_OES_COMPRESSED_ETC1_RGB8_TEXTURE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_OES_COMPRESSED_ETC1_RGB8_TEXTURE)) && !defined(REGAL_NO_ENUM_GL_OES_COMPRESSED_ETC1_RGB8_TEXTURE)\n#define REGAL_NO_ENUM_GL_OES_COMPRESSED_ETC1_RGB8_TEXTURE\n#endif\n\n#if (defined(GL_OES_COMPRESSED_ETC1_RGB8_TEXTURE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_OES_COMPRESSED_ETC1_RGB8_TEXTURE)) && !defined(REGAL_NO_TYPEDEF_GL_OES_COMPRESSED_ETC1_RGB8_TEXTURE)\n#define REGAL_NO_TYPEDEF_GL_OES_COMPRESSED_ETC1_RGB8_TEXTURE\n#endif\n\n#if (defined(GL_OES_COMPRESSED_ETC1_RGB8_TEXTURE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_OES_COMPRESSED_ETC1_RGB8_TEXTURE)) && !defined(REGAL_NO_NAMESPACE_GL_OES_COMPRESSED_ETC1_RGB8_TEXTURE)\n#define REGAL_NO_NAMESPACE_GL_OES_COMPRESSED_ETC1_RGB8_TEXTURE\n#endif\n\n#if (defined(GL_OES_COMPRESSED_ETC1_RGB8_TEXTURE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_OES_COMPRESSED_ETC1_RGB8_TEXTURE)) && !defined(REGAL_NO_PLUGIN_GL_OES_COMPRESSED_ETC1_RGB8_TEXTURE)\n#define REGAL_NO_PLUGIN_GL_OES_COMPRESSED_ETC1_RGB8_TEXTURE\n#endif\n\n#if (defined(GL_OES_COMPRESSED_ETC1_RGB8_TEXTURE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_OES_COMPRESSED_ETC1_RGB8_TEXTURE)) && !defined(REGAL_NO_DECLARATION_GL_OES_COMPRESSED_ETC1_RGB8_TEXTURE)\n#define REGAL_NO_DECLARATION_GL_OES_COMPRESSED_ETC1_RGB8_TEXTURE\n#endif\n\n#ifndef GL_OES_compressed_ETC1_RGB8_texture\n#define GL_OES_compressed_ETC1_RGB8_texture 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_OES_COMPRESSED_ETC1_RGB8_TEXTURE\n#define GL_ETC1_RGB8_OES 0x8d64 /* 36196 */\n#endif\n\n/**\n ** GL_OES_compressed_paletted_texture\n **/\n\n#if (defined(GL_OES_COMPRESSED_PALETTED_TEXTURE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_OES_COMPRESSED_PALETTED_TEXTURE)) && !defined(REGAL_NO_ENUM_GL_OES_COMPRESSED_PALETTED_TEXTURE)\n#define REGAL_NO_ENUM_GL_OES_COMPRESSED_PALETTED_TEXTURE\n#endif\n\n#if (defined(GL_OES_COMPRESSED_PALETTED_TEXTURE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_OES_COMPRESSED_PALETTED_TEXTURE)) && !defined(REGAL_NO_TYPEDEF_GL_OES_COMPRESSED_PALETTED_TEXTURE)\n#define REGAL_NO_TYPEDEF_GL_OES_COMPRESSED_PALETTED_TEXTURE\n#endif\n\n#if (defined(GL_OES_COMPRESSED_PALETTED_TEXTURE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_OES_COMPRESSED_PALETTED_TEXTURE)) && !defined(REGAL_NO_NAMESPACE_GL_OES_COMPRESSED_PALETTED_TEXTURE)\n#define REGAL_NO_NAMESPACE_GL_OES_COMPRESSED_PALETTED_TEXTURE\n#endif\n\n#if (defined(GL_OES_COMPRESSED_PALETTED_TEXTURE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_OES_COMPRESSED_PALETTED_TEXTURE)) && !defined(REGAL_NO_PLUGIN_GL_OES_COMPRESSED_PALETTED_TEXTURE)\n#define REGAL_NO_PLUGIN_GL_OES_COMPRESSED_PALETTED_TEXTURE\n#endif\n\n#if (defined(GL_OES_COMPRESSED_PALETTED_TEXTURE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_OES_COMPRESSED_PALETTED_TEXTURE)) && !defined(REGAL_NO_DECLARATION_GL_OES_COMPRESSED_PALETTED_TEXTURE)\n#define REGAL_NO_DECLARATION_GL_OES_COMPRESSED_PALETTED_TEXTURE\n#endif\n\n#ifndef GL_OES_compressed_paletted_texture\n#define GL_OES_compressed_paletted_texture 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_OES_COMPRESSED_PALETTED_TEXTURE\n#define GL_PALETTE4_RGB8_OES     0x8b90     /* 35728 */\n#define GL_PALETTE4_RGBA8_OES    0x8b91     /* 35729 */\n#define GL_PALETTE4_R5_G6_B5_OES 0x8b92     /* 35730 */\n#define GL_PALETTE4_RGBA4_OES    0x8b93     /* 35731 */\n#define GL_PALETTE4_RGB5_A1_OES  0x8b94     /* 35732 */\n#define GL_PALETTE8_RGB8_OES     0x8b95     /* 35733 */\n#define GL_PALETTE8_RGBA8_OES    0x8b96     /* 35734 */\n#define GL_PALETTE8_R5_G6_B5_OES 0x8b97     /* 35735 */\n#define GL_PALETTE8_RGBA4_OES    0x8b98     /* 35736 */\n#define GL_PALETTE8_RGB5_A1_OES  0x8b99     /* 35737 */\n#endif\n\n/**\n ** GL_OES_draw_texture\n **/\n\n#if (defined(GL_OES_DRAW_TEXTURE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_OES_DRAW_TEXTURE)) && !defined(REGAL_NO_ENUM_GL_OES_DRAW_TEXTURE)\n#define REGAL_NO_ENUM_GL_OES_DRAW_TEXTURE\n#endif\n\n#if (defined(GL_OES_DRAW_TEXTURE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_OES_DRAW_TEXTURE)) && !defined(REGAL_NO_TYPEDEF_GL_OES_DRAW_TEXTURE)\n#define REGAL_NO_TYPEDEF_GL_OES_DRAW_TEXTURE\n#endif\n\n#if (defined(GL_OES_DRAW_TEXTURE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_OES_DRAW_TEXTURE)) && !defined(REGAL_NO_NAMESPACE_GL_OES_DRAW_TEXTURE)\n#define REGAL_NO_NAMESPACE_GL_OES_DRAW_TEXTURE\n#endif\n\n#if (defined(GL_OES_DRAW_TEXTURE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_OES_DRAW_TEXTURE)) && !defined(REGAL_NO_PLUGIN_GL_OES_DRAW_TEXTURE)\n#define REGAL_NO_PLUGIN_GL_OES_DRAW_TEXTURE\n#endif\n\n#if (defined(GL_OES_DRAW_TEXTURE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_OES_DRAW_TEXTURE)) && !defined(REGAL_NO_DECLARATION_GL_OES_DRAW_TEXTURE)\n#define REGAL_NO_DECLARATION_GL_OES_DRAW_TEXTURE\n#endif\n\n#ifndef GL_OES_draw_texture\n#define GL_OES_draw_texture 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_OES_DRAW_TEXTURE\n#define GL_TEXTURE_CROP_RECT_OES 0x8b9d /* 35741 */\n#endif\n\n/**\n ** GL_OES_framebuffer_object\n **/\n\n#if (defined(GL_OES_FRAMEBUFFER_OBJECT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_OES_FRAMEBUFFER_OBJECT)) && !defined(REGAL_NO_ENUM_GL_OES_FRAMEBUFFER_OBJECT)\n#define REGAL_NO_ENUM_GL_OES_FRAMEBUFFER_OBJECT\n#endif\n\n#if (defined(GL_OES_FRAMEBUFFER_OBJECT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_OES_FRAMEBUFFER_OBJECT)) && !defined(REGAL_NO_TYPEDEF_GL_OES_FRAMEBUFFER_OBJECT)\n#define REGAL_NO_TYPEDEF_GL_OES_FRAMEBUFFER_OBJECT\n#endif\n\n#if (defined(GL_OES_FRAMEBUFFER_OBJECT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_OES_FRAMEBUFFER_OBJECT)) && !defined(REGAL_NO_NAMESPACE_GL_OES_FRAMEBUFFER_OBJECT)\n#define REGAL_NO_NAMESPACE_GL_OES_FRAMEBUFFER_OBJECT\n#endif\n\n#if (defined(GL_OES_FRAMEBUFFER_OBJECT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_OES_FRAMEBUFFER_OBJECT)) && !defined(REGAL_NO_PLUGIN_GL_OES_FRAMEBUFFER_OBJECT)\n#define REGAL_NO_PLUGIN_GL_OES_FRAMEBUFFER_OBJECT\n#endif\n\n#if (defined(GL_OES_FRAMEBUFFER_OBJECT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_OES_FRAMEBUFFER_OBJECT)) && !defined(REGAL_NO_DECLARATION_GL_OES_FRAMEBUFFER_OBJECT)\n#define REGAL_NO_DECLARATION_GL_OES_FRAMEBUFFER_OBJECT\n#endif\n\n#ifndef GL_OES_framebuffer_object\n#define GL_OES_framebuffer_object 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_OES_FRAMEBUFFER_OBJECT\n#define GL_NONE_OES                                         0x0\n#define GL_INVALID_FRAMEBUFFER_OPERATION_OES                0x506      /* 1286 */\n#define GL_MAX_RENDERBUFFER_SIZE_OES                        0x84e8     /* 34024 */\n#define GL_FRAMEBUFFER_BINDING_OES                          0x8ca6     /* 36006 */\n#define GL_RENDERBUFFER_BINDING_OES                         0x8ca7     /* 36007 */\n#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES           0x8cd0     /* 36048 */\n#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES           0x8cd1     /* 36049 */\n#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES         0x8cd2     /* 36050 */\n#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES 0x8cd3     /* 36051 */\n#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES    0x8cd4     /* 36052 */\n#define GL_FRAMEBUFFER_COMPLETE_OES                         0x8cd5     /* 36053 */\n#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES            0x8cd6     /* 36054 */\n#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES    0x8cd7     /* 36055 */\n#define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_OES            0x8cd9     /* 36057 */\n#define GL_FRAMEBUFFER_INCOMPLETE_FORMATS_OES               0x8cda     /* 36058 */\n#define GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_OES           0x8cdb     /* 36059 */\n#define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_OES           0x8cdc     /* 36060 */\n#define GL_FRAMEBUFFER_UNSUPPORTED_OES                      0x8cdd     /* 36061 */\n#define GL_COLOR_ATTACHMENT0_OES                            0x8ce0     /* 36064 */\n#define GL_DEPTH_ATTACHMENT_OES                             0x8d00     /* 36096 */\n#define GL_STENCIL_ATTACHMENT_OES                           0x8d20     /* 36128 */\n#define GL_FRAMEBUFFER_OES                                  0x8d40     /* 36160 */\n#define GL_RENDERBUFFER_OES                                 0x8d41     /* 36161 */\n#define GL_RENDERBUFFER_WIDTH_OES                           0x8d42     /* 36162 */\n#define GL_RENDERBUFFER_HEIGHT_OES                          0x8d43     /* 36163 */\n#define GL_RENDERBUFFER_INTERNAL_FORMAT_OES                 0x8d44     /* 36164 */\n#define GL_RENDERBUFFER_RED_SIZE_OES                        0x8d50     /* 36176 */\n#define GL_RENDERBUFFER_GREEN_SIZE_OES                      0x8d51     /* 36177 */\n#define GL_RENDERBUFFER_BLUE_SIZE_OES                       0x8d52     /* 36178 */\n#define GL_RENDERBUFFER_ALPHA_SIZE_OES                      0x8d53     /* 36179 */\n#define GL_RENDERBUFFER_DEPTH_SIZE_OES                      0x8d54     /* 36180 */\n#define GL_RENDERBUFFER_STENCIL_SIZE_OES                    0x8d55     /* 36181 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_OES_FRAMEBUFFER_OBJECT\ntypedef GLboolean (REGAL_CALL *PFNGLISFRAMEBUFFEROESPROC)(GLuint framebuffer);\ntypedef GLboolean (REGAL_CALL *PFNGLISRENDERBUFFEROESPROC)(GLuint renderbuffer);\ntypedef GLenum (REGAL_CALL *PFNGLCHECKFRAMEBUFFERSTATUSOESPROC)(GLenum target);\ntypedef void (REGAL_CALL *PFNGLBINDFRAMEBUFFEROESPROC)(GLenum target, GLuint framebuffer);\ntypedef void (REGAL_CALL *PFNGLBINDRENDERBUFFEROESPROC)(GLenum target, GLuint renderbuffer);\ntypedef void (REGAL_CALL *PFNGLDELETEFRAMEBUFFERSOESPROC)(GLsizei n, const GLuint *framebuffers);\ntypedef void (REGAL_CALL *PFNGLDELETERENDERBUFFERSOESPROC)(GLsizei n, const GLuint *renderbuffers);\ntypedef void (REGAL_CALL *PFNGLFRAMEBUFFERRENDERBUFFEROESPROC)(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);\ntypedef void (REGAL_CALL *PFNGLFRAMEBUFFERTEXTURE2DOESPROC)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);\ntypedef void (REGAL_CALL *PFNGLGENERATEMIPMAPOESPROC)(GLenum target);\ntypedef void (REGAL_CALL *PFNGLGENFRAMEBUFFERSOESPROC)(GLsizei n, GLuint *framebuffers);\ntypedef void (REGAL_CALL *PFNGLGENRENDERBUFFERSOESPROC)(GLsizei n, GLuint *renderbuffers);\ntypedef void (REGAL_CALL *PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVOESPROC)(GLenum target, GLenum attachment, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETRENDERBUFFERPARAMETERIVOESPROC)(GLenum target, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLRENDERBUFFERSTORAGEOESPROC)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_OES_FRAMEBUFFER_OBJECT\n#define glBindFramebufferOES                rglBindFramebufferOES\n#define glBindRenderbufferOES               rglBindRenderbufferOES\n#define glCheckFramebufferStatusOES         rglCheckFramebufferStatusOES\n#define glDeleteFramebuffersOES             rglDeleteFramebuffersOES\n#define glDeleteRenderbuffersOES            rglDeleteRenderbuffersOES\n#define glFramebufferRenderbufferOES        rglFramebufferRenderbufferOES\n#define glFramebufferTexture2DOES           rglFramebufferTexture2DOES\n#define glGenFramebuffersOES                rglGenFramebuffersOES\n#define glGenRenderbuffersOES               rglGenRenderbuffersOES\n#define glGenerateMipmapOES                 rglGenerateMipmapOES\n#define glGetFramebufferAttachmentParameterivOES rglGetFramebufferAttachmentParameterivOES\n#define glGetRenderbufferParameterivOES     rglGetRenderbufferParameterivOES\n#define glIsFramebufferOES                  rglIsFramebufferOES\n#define glIsRenderbufferOES                 rglIsRenderbufferOES\n#define glRenderbufferStorageOES            rglRenderbufferStorageOES\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_OES_FRAMEBUFFER_OBJECT\nREGAL_DECL GLboolean REGAL_CALL glIsFramebufferOES(GLuint framebuffer);\nREGAL_DECL GLboolean REGAL_CALL glIsRenderbufferOES(GLuint renderbuffer);\nREGAL_DECL GLenum REGAL_CALL glCheckFramebufferStatusOES(GLenum target);\nREGAL_DECL void REGAL_CALL glBindFramebufferOES(GLenum target, GLuint framebuffer);\nREGAL_DECL void REGAL_CALL glBindRenderbufferOES(GLenum target, GLuint renderbuffer);\nREGAL_DECL void REGAL_CALL glDeleteFramebuffersOES(GLsizei n, const GLuint *framebuffers);\nREGAL_DECL void REGAL_CALL glDeleteRenderbuffersOES(GLsizei n, const GLuint *renderbuffers);\nREGAL_DECL void REGAL_CALL glFramebufferRenderbufferOES(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);\nREGAL_DECL void REGAL_CALL glFramebufferTexture2DOES(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);\nREGAL_DECL void REGAL_CALL glGenFramebuffersOES(GLsizei n, GLuint *framebuffers);\nREGAL_DECL void REGAL_CALL glGenRenderbuffersOES(GLsizei n, GLuint *renderbuffers);\nREGAL_DECL void REGAL_CALL glGenerateMipmapOES(GLenum target);\nREGAL_DECL void REGAL_CALL glGetFramebufferAttachmentParameterivOES(GLenum target, GLenum attachment, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetRenderbufferParameterivOES(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glRenderbufferStorageOES(GLenum target, GLenum internalformat, GLsizei width, GLsizei height);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_OES_FRAMEBUFFER_OBJECT\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsFramebufferOES(GLuint framebuffer);\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsRenderbufferOES(GLuint renderbuffer);\nREGAL_DECL GLenum REGAL_CALL plugin_glCheckFramebufferStatusOES(GLenum target);\nREGAL_DECL void REGAL_CALL plugin_glBindFramebufferOES(GLenum target, GLuint framebuffer);\nREGAL_DECL void REGAL_CALL plugin_glBindRenderbufferOES(GLenum target, GLuint renderbuffer);\nREGAL_DECL void REGAL_CALL plugin_glDeleteFramebuffersOES(GLsizei n, const GLuint *framebuffers);\nREGAL_DECL void REGAL_CALL plugin_glDeleteRenderbuffersOES(GLsizei n, const GLuint *renderbuffers);\nREGAL_DECL void REGAL_CALL plugin_glFramebufferRenderbufferOES(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);\nREGAL_DECL void REGAL_CALL plugin_glFramebufferTexture2DOES(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);\nREGAL_DECL void REGAL_CALL plugin_glGenFramebuffersOES(GLsizei n, GLuint *framebuffers);\nREGAL_DECL void REGAL_CALL plugin_glGenRenderbuffersOES(GLsizei n, GLuint *renderbuffers);\nREGAL_DECL void REGAL_CALL plugin_glGenerateMipmapOES(GLenum target);\nREGAL_DECL void REGAL_CALL plugin_glGetFramebufferAttachmentParameterivOES(GLenum target, GLenum attachment, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetRenderbufferParameterivOES(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glRenderbufferStorageOES(GLenum target, GLenum internalformat, GLsizei width, GLsizei height);\n#endif\n\n/**\n ** GL_OES_get_program_binary\n **/\n\n#if (defined(GL_OES_GET_PROGRAM_BINARY) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_OES_GET_PROGRAM_BINARY)) && !defined(REGAL_NO_ENUM_GL_OES_GET_PROGRAM_BINARY)\n#define REGAL_NO_ENUM_GL_OES_GET_PROGRAM_BINARY\n#endif\n\n#if (defined(GL_OES_GET_PROGRAM_BINARY) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_OES_GET_PROGRAM_BINARY)) && !defined(REGAL_NO_TYPEDEF_GL_OES_GET_PROGRAM_BINARY)\n#define REGAL_NO_TYPEDEF_GL_OES_GET_PROGRAM_BINARY\n#endif\n\n#if (defined(GL_OES_GET_PROGRAM_BINARY) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_OES_GET_PROGRAM_BINARY)) && !defined(REGAL_NO_NAMESPACE_GL_OES_GET_PROGRAM_BINARY)\n#define REGAL_NO_NAMESPACE_GL_OES_GET_PROGRAM_BINARY\n#endif\n\n#if (defined(GL_OES_GET_PROGRAM_BINARY) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_OES_GET_PROGRAM_BINARY)) && !defined(REGAL_NO_PLUGIN_GL_OES_GET_PROGRAM_BINARY)\n#define REGAL_NO_PLUGIN_GL_OES_GET_PROGRAM_BINARY\n#endif\n\n#if (defined(GL_OES_GET_PROGRAM_BINARY) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_OES_GET_PROGRAM_BINARY)) && !defined(REGAL_NO_DECLARATION_GL_OES_GET_PROGRAM_BINARY)\n#define REGAL_NO_DECLARATION_GL_OES_GET_PROGRAM_BINARY\n#endif\n\n#ifndef GL_OES_get_program_binary\n#define GL_OES_get_program_binary 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_OES_GET_PROGRAM_BINARY\n#define GL_PROGRAM_BINARY_LENGTH_OES      0x8741     /* 34625 */\n#define GL_NUM_PROGRAM_BINARY_FORMATS_OES 0x87fe     /* 34814 */\n#define GL_PROGRAM_BINARY_FORMATS_OES     0x87ff     /* 34815 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_OES_GET_PROGRAM_BINARY\ntypedef void (REGAL_CALL *PFNGLGETPROGRAMBINARYOESPROC)(GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary);\ntypedef void (REGAL_CALL *PFNGLPROGRAMBINARYOESPROC)(GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_OES_GET_PROGRAM_BINARY\n#define glGetProgramBinaryOES               rglGetProgramBinaryOES\n#define glProgramBinaryOES                  rglProgramBinaryOES\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_OES_GET_PROGRAM_BINARY\nREGAL_DECL void REGAL_CALL glGetProgramBinaryOES(GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary);\nREGAL_DECL void REGAL_CALL glProgramBinaryOES(GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_OES_GET_PROGRAM_BINARY\nREGAL_DECL void REGAL_CALL plugin_glGetProgramBinaryOES(GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary);\nREGAL_DECL void REGAL_CALL plugin_glProgramBinaryOES(GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length);\n#endif\n\n/**\n ** GL_OES_mapbuffer\n **/\n\n#if (defined(GL_OES_MAPBUFFER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_OES_MAPBUFFER)) && !defined(REGAL_NO_ENUM_GL_OES_MAPBUFFER)\n#define REGAL_NO_ENUM_GL_OES_MAPBUFFER\n#endif\n\n#if (defined(GL_OES_MAPBUFFER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_OES_MAPBUFFER)) && !defined(REGAL_NO_TYPEDEF_GL_OES_MAPBUFFER)\n#define REGAL_NO_TYPEDEF_GL_OES_MAPBUFFER\n#endif\n\n#if (defined(GL_OES_MAPBUFFER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_OES_MAPBUFFER)) && !defined(REGAL_NO_NAMESPACE_GL_OES_MAPBUFFER)\n#define REGAL_NO_NAMESPACE_GL_OES_MAPBUFFER\n#endif\n\n#if (defined(GL_OES_MAPBUFFER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_OES_MAPBUFFER)) && !defined(REGAL_NO_PLUGIN_GL_OES_MAPBUFFER)\n#define REGAL_NO_PLUGIN_GL_OES_MAPBUFFER\n#endif\n\n#if (defined(GL_OES_MAPBUFFER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_OES_MAPBUFFER)) && !defined(REGAL_NO_DECLARATION_GL_OES_MAPBUFFER)\n#define REGAL_NO_DECLARATION_GL_OES_MAPBUFFER\n#endif\n\n#ifndef GL_OES_mapbuffer\n#define GL_OES_mapbuffer 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_OES_MAPBUFFER\n#define GL_WRITE_ONLY_OES         0x88b9     /* 35001 */\n#define GL_BUFFER_ACCESS_OES      0x88bb     /* 35003 */\n#define GL_BUFFER_MAPPED_OES      0x88bc     /* 35004 */\n#define GL_BUFFER_MAP_POINTER_OES 0x88bd     /* 35005 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_OES_MAPBUFFER\ntypedef GLboolean (REGAL_CALL *PFNGLUNMAPBUFFEROESPROC)(GLenum target);\ntypedef GLvoid *(REGAL_CALL *PFNGLMAPBUFFEROESPROC)(GLenum target, GLenum access);\ntypedef void (REGAL_CALL *PFNGLGETBUFFERPOINTERVOESPROC)(GLenum target, GLenum pname, GLvoid **params);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_OES_MAPBUFFER\n#define glGetBufferPointervOES              rglGetBufferPointervOES\n#define glMapBufferOES                      rglMapBufferOES\n#define glUnmapBufferOES                    rglUnmapBufferOES\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_OES_MAPBUFFER\nREGAL_DECL GLboolean REGAL_CALL glUnmapBufferOES(GLenum target);\nREGAL_DECL GLvoid *REGAL_CALL glMapBufferOES(GLenum target, GLenum access);\nREGAL_DECL void REGAL_CALL glGetBufferPointervOES(GLenum target, GLenum pname, GLvoid **params);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_OES_MAPBUFFER\nREGAL_DECL GLboolean REGAL_CALL plugin_glUnmapBufferOES(GLenum target);\nREGAL_DECL GLvoid *REGAL_CALL plugin_glMapBufferOES(GLenum target, GLenum access);\nREGAL_DECL void REGAL_CALL plugin_glGetBufferPointervOES(GLenum target, GLenum pname, GLvoid **params);\n#endif\n\n/**\n ** GL_OES_matrix_get\n **/\n\n#if (defined(GL_OES_MATRIX_GET) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_OES_MATRIX_GET)) && !defined(REGAL_NO_ENUM_GL_OES_MATRIX_GET)\n#define REGAL_NO_ENUM_GL_OES_MATRIX_GET\n#endif\n\n#if (defined(GL_OES_MATRIX_GET) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_OES_MATRIX_GET)) && !defined(REGAL_NO_TYPEDEF_GL_OES_MATRIX_GET)\n#define REGAL_NO_TYPEDEF_GL_OES_MATRIX_GET\n#endif\n\n#if (defined(GL_OES_MATRIX_GET) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_OES_MATRIX_GET)) && !defined(REGAL_NO_NAMESPACE_GL_OES_MATRIX_GET)\n#define REGAL_NO_NAMESPACE_GL_OES_MATRIX_GET\n#endif\n\n#if (defined(GL_OES_MATRIX_GET) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_OES_MATRIX_GET)) && !defined(REGAL_NO_PLUGIN_GL_OES_MATRIX_GET)\n#define REGAL_NO_PLUGIN_GL_OES_MATRIX_GET\n#endif\n\n#if (defined(GL_OES_MATRIX_GET) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_OES_MATRIX_GET)) && !defined(REGAL_NO_DECLARATION_GL_OES_MATRIX_GET)\n#define REGAL_NO_DECLARATION_GL_OES_MATRIX_GET\n#endif\n\n#ifndef GL_OES_matrix_get\n#define GL_OES_matrix_get 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_OES_MATRIX_GET\n#define GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES  0x898     /* 2200 */\n#define GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES 0x898     /* 2200 */\n#define GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES    0x898     /* 2200 */\n#endif\n\n/**\n ** GL_OES_matrix_palette\n **/\n\n#if (defined(GL_OES_MATRIX_PALETTE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_OES_MATRIX_PALETTE)) && !defined(REGAL_NO_ENUM_GL_OES_MATRIX_PALETTE)\n#define REGAL_NO_ENUM_GL_OES_MATRIX_PALETTE\n#endif\n\n#if (defined(GL_OES_MATRIX_PALETTE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_OES_MATRIX_PALETTE)) && !defined(REGAL_NO_TYPEDEF_GL_OES_MATRIX_PALETTE)\n#define REGAL_NO_TYPEDEF_GL_OES_MATRIX_PALETTE\n#endif\n\n#if (defined(GL_OES_MATRIX_PALETTE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_OES_MATRIX_PALETTE)) && !defined(REGAL_NO_NAMESPACE_GL_OES_MATRIX_PALETTE)\n#define REGAL_NO_NAMESPACE_GL_OES_MATRIX_PALETTE\n#endif\n\n#if (defined(GL_OES_MATRIX_PALETTE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_OES_MATRIX_PALETTE)) && !defined(REGAL_NO_PLUGIN_GL_OES_MATRIX_PALETTE)\n#define REGAL_NO_PLUGIN_GL_OES_MATRIX_PALETTE\n#endif\n\n#if (defined(GL_OES_MATRIX_PALETTE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_OES_MATRIX_PALETTE)) && !defined(REGAL_NO_DECLARATION_GL_OES_MATRIX_PALETTE)\n#define REGAL_NO_DECLARATION_GL_OES_MATRIX_PALETTE\n#endif\n\n#ifndef GL_OES_matrix_palette\n#define GL_OES_matrix_palette 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_OES_MATRIX_PALETTE\n#define GL_MAX_VERTEX_UNITS_OES                  0x86a4     /* 34468 */\n#define GL_WEIGHT_ARRAY_TYPE_OES                 0x86a9     /* 34473 */\n#define GL_WEIGHT_ARRAY_STRIDE_OES               0x86aa     /* 34474 */\n#define GL_WEIGHT_ARRAY_SIZE_OES                 0x86ab     /* 34475 */\n#define GL_WEIGHT_ARRAY_POINTER_OES              0x86ac     /* 34476 */\n#define GL_WEIGHT_ARRAY_OES                      0x86ad     /* 34477 */\n#define GL_MATRIX_PALETTE_OES                    0x8840     /* 34880 */\n#define GL_MAX_PALETTE_MATRICES_OES              0x8842     /* 34882 */\n#define GL_CURRENT_PALETTE_MATRIX_OES            0x8843     /* 34883 */\n#define GL_MATRIX_INDEX_ARRAY_OES                0x8844     /* 34884 */\n#define GL_MATRIX_INDEX_ARRAY_SIZE_OES           0x8846     /* 34886 */\n#define GL_MATRIX_INDEX_ARRAY_TYPE_OES           0x8847     /* 34887 */\n#define GL_MATRIX_INDEX_ARRAY_STRIDE_OES         0x8848     /* 34888 */\n#define GL_MATRIX_INDEX_ARRAY_POINTER_OES        0x8849     /* 34889 */\n#define GL_WEIGHT_ARRAY_BUFFER_BINDING_OES       0x889e     /* 34974 */\n#define GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES 0x8b9e     /* 35742 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_OES_MATRIX_PALETTE\ntypedef void (REGAL_CALL *PFNGLCURRENTPALETTEMATRIXOESPROC)(GLuint index);\ntypedef void (REGAL_CALL *PFNGLMATRIXINDEXPOINTEROESPROC)(GLint size, GLenum type, GLsizei stride, GLvoid *pointer);\ntypedef void (REGAL_CALL *PFNGLWEIGHTPOINTEROESPROC)(GLint size, GLenum type, GLsizei stride, GLvoid *pointer);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_OES_MATRIX_PALETTE\n#define glCurrentPaletteMatrixOES           rglCurrentPaletteMatrixOES\n#define glMatrixIndexPointerOES             rglMatrixIndexPointerOES\n#define glWeightPointerOES                  rglWeightPointerOES\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_OES_MATRIX_PALETTE\nREGAL_DECL void REGAL_CALL glCurrentPaletteMatrixOES(GLuint index);\nREGAL_DECL void REGAL_CALL glMatrixIndexPointerOES(GLint size, GLenum type, GLsizei stride, GLvoid *pointer);\nREGAL_DECL void REGAL_CALL glWeightPointerOES(GLint size, GLenum type, GLsizei stride, GLvoid *pointer);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_OES_MATRIX_PALETTE\nREGAL_DECL void REGAL_CALL plugin_glCurrentPaletteMatrixOES(GLuint index);\nREGAL_DECL void REGAL_CALL plugin_glMatrixIndexPointerOES(GLint size, GLenum type, GLsizei stride, GLvoid *pointer);\nREGAL_DECL void REGAL_CALL plugin_glWeightPointerOES(GLint size, GLenum type, GLsizei stride, GLvoid *pointer);\n#endif\n\n/**\n ** GL_OES_packed_depth_stencil\n **/\n\n#if (defined(GL_OES_PACKED_DEPTH_STENCIL) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_OES_PACKED_DEPTH_STENCIL)) && !defined(REGAL_NO_ENUM_GL_OES_PACKED_DEPTH_STENCIL)\n#define REGAL_NO_ENUM_GL_OES_PACKED_DEPTH_STENCIL\n#endif\n\n#if (defined(GL_OES_PACKED_DEPTH_STENCIL) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_OES_PACKED_DEPTH_STENCIL)) && !defined(REGAL_NO_TYPEDEF_GL_OES_PACKED_DEPTH_STENCIL)\n#define REGAL_NO_TYPEDEF_GL_OES_PACKED_DEPTH_STENCIL\n#endif\n\n#if (defined(GL_OES_PACKED_DEPTH_STENCIL) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_OES_PACKED_DEPTH_STENCIL)) && !defined(REGAL_NO_NAMESPACE_GL_OES_PACKED_DEPTH_STENCIL)\n#define REGAL_NO_NAMESPACE_GL_OES_PACKED_DEPTH_STENCIL\n#endif\n\n#if (defined(GL_OES_PACKED_DEPTH_STENCIL) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_OES_PACKED_DEPTH_STENCIL)) && !defined(REGAL_NO_PLUGIN_GL_OES_PACKED_DEPTH_STENCIL)\n#define REGAL_NO_PLUGIN_GL_OES_PACKED_DEPTH_STENCIL\n#endif\n\n#if (defined(GL_OES_PACKED_DEPTH_STENCIL) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_OES_PACKED_DEPTH_STENCIL)) && !defined(REGAL_NO_DECLARATION_GL_OES_PACKED_DEPTH_STENCIL)\n#define REGAL_NO_DECLARATION_GL_OES_PACKED_DEPTH_STENCIL\n#endif\n\n#ifndef GL_OES_packed_depth_stencil\n#define GL_OES_packed_depth_stencil 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_OES_PACKED_DEPTH_STENCIL\n#define GL_DEPTH_STENCIL_OES     0x84f9     /* 34041 */\n#define GL_UNSIGNED_INT_24_8_OES 0x84fa     /* 34042 */\n#endif\n\n/**\n ** GL_OES_point_size_array\n **/\n\n#if (defined(GL_OES_POINT_SIZE_ARRAY) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_OES_POINT_SIZE_ARRAY)) && !defined(REGAL_NO_ENUM_GL_OES_POINT_SIZE_ARRAY)\n#define REGAL_NO_ENUM_GL_OES_POINT_SIZE_ARRAY\n#endif\n\n#if (defined(GL_OES_POINT_SIZE_ARRAY) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_OES_POINT_SIZE_ARRAY)) && !defined(REGAL_NO_TYPEDEF_GL_OES_POINT_SIZE_ARRAY)\n#define REGAL_NO_TYPEDEF_GL_OES_POINT_SIZE_ARRAY\n#endif\n\n#if (defined(GL_OES_POINT_SIZE_ARRAY) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_OES_POINT_SIZE_ARRAY)) && !defined(REGAL_NO_NAMESPACE_GL_OES_POINT_SIZE_ARRAY)\n#define REGAL_NO_NAMESPACE_GL_OES_POINT_SIZE_ARRAY\n#endif\n\n#if (defined(GL_OES_POINT_SIZE_ARRAY) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_OES_POINT_SIZE_ARRAY)) && !defined(REGAL_NO_PLUGIN_GL_OES_POINT_SIZE_ARRAY)\n#define REGAL_NO_PLUGIN_GL_OES_POINT_SIZE_ARRAY\n#endif\n\n#if (defined(GL_OES_POINT_SIZE_ARRAY) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_OES_POINT_SIZE_ARRAY)) && !defined(REGAL_NO_DECLARATION_GL_OES_POINT_SIZE_ARRAY)\n#define REGAL_NO_DECLARATION_GL_OES_POINT_SIZE_ARRAY\n#endif\n\n#ifndef GL_OES_point_size_array\n#define GL_OES_point_size_array 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_OES_POINT_SIZE_ARRAY\n#define GL_POINT_SIZE_ARRAY_TYPE_OES           0x898a     /* 35210 */\n#define GL_POINT_SIZE_ARRAY_STRIDE_OES         0x898b     /* 35211 */\n#define GL_POINT_SIZE_ARRAY_POINTER_OES        0x898c     /* 35212 */\n#define GL_POINT_SIZE_ARRAY_OES                0x8b9c     /* 35740 */\n#define GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES 0x8b9f     /* 35743 */\n#endif\n\n/**\n ** GL_OES_point_sprite\n **/\n\n#if (defined(GL_OES_POINT_SPRITE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_OES_POINT_SPRITE)) && !defined(REGAL_NO_ENUM_GL_OES_POINT_SPRITE)\n#define REGAL_NO_ENUM_GL_OES_POINT_SPRITE\n#endif\n\n#if (defined(GL_OES_POINT_SPRITE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_OES_POINT_SPRITE)) && !defined(REGAL_NO_TYPEDEF_GL_OES_POINT_SPRITE)\n#define REGAL_NO_TYPEDEF_GL_OES_POINT_SPRITE\n#endif\n\n#if (defined(GL_OES_POINT_SPRITE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_OES_POINT_SPRITE)) && !defined(REGAL_NO_NAMESPACE_GL_OES_POINT_SPRITE)\n#define REGAL_NO_NAMESPACE_GL_OES_POINT_SPRITE\n#endif\n\n#if (defined(GL_OES_POINT_SPRITE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_OES_POINT_SPRITE)) && !defined(REGAL_NO_PLUGIN_GL_OES_POINT_SPRITE)\n#define REGAL_NO_PLUGIN_GL_OES_POINT_SPRITE\n#endif\n\n#if (defined(GL_OES_POINT_SPRITE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_OES_POINT_SPRITE)) && !defined(REGAL_NO_DECLARATION_GL_OES_POINT_SPRITE)\n#define REGAL_NO_DECLARATION_GL_OES_POINT_SPRITE\n#endif\n\n#ifndef GL_OES_point_sprite\n#define GL_OES_point_sprite 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_OES_POINT_SPRITE\n#define GL_POINT_SPRITE_OES  0x8861     /* 34913 */\n#define GL_COORD_REPLACE_OES 0x8862     /* 34914 */\n#endif\n\n/**\n ** GL_OES_read_format\n **/\n\n#if (defined(GL_OES_READ_FORMAT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_OES_READ_FORMAT)) && !defined(REGAL_NO_ENUM_GL_OES_READ_FORMAT)\n#define REGAL_NO_ENUM_GL_OES_READ_FORMAT\n#endif\n\n#if (defined(GL_OES_READ_FORMAT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_OES_READ_FORMAT)) && !defined(REGAL_NO_TYPEDEF_GL_OES_READ_FORMAT)\n#define REGAL_NO_TYPEDEF_GL_OES_READ_FORMAT\n#endif\n\n#if (defined(GL_OES_READ_FORMAT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_OES_READ_FORMAT)) && !defined(REGAL_NO_NAMESPACE_GL_OES_READ_FORMAT)\n#define REGAL_NO_NAMESPACE_GL_OES_READ_FORMAT\n#endif\n\n#if (defined(GL_OES_READ_FORMAT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_OES_READ_FORMAT)) && !defined(REGAL_NO_PLUGIN_GL_OES_READ_FORMAT)\n#define REGAL_NO_PLUGIN_GL_OES_READ_FORMAT\n#endif\n\n#if (defined(GL_OES_READ_FORMAT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_OES_READ_FORMAT)) && !defined(REGAL_NO_DECLARATION_GL_OES_READ_FORMAT)\n#define REGAL_NO_DECLARATION_GL_OES_READ_FORMAT\n#endif\n\n#ifndef GL_OES_read_format\n#define GL_OES_read_format 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_OES_READ_FORMAT\n#define GL_IMPLEMENTATION_COLOR_READ_TYPE_OES   0x8b9a     /* 35738 */\n#define GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES 0x8b9b     /* 35739 */\n#endif\n\n/**\n ** GL_OES_required_internalformat\n **/\n\n#if (defined(GL_OES_REQUIRED_INTERNALFORMAT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_OES_REQUIRED_INTERNALFORMAT)) && !defined(REGAL_NO_ENUM_GL_OES_REQUIRED_INTERNALFORMAT)\n#define REGAL_NO_ENUM_GL_OES_REQUIRED_INTERNALFORMAT\n#endif\n\n#if (defined(GL_OES_REQUIRED_INTERNALFORMAT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_OES_REQUIRED_INTERNALFORMAT)) && !defined(REGAL_NO_TYPEDEF_GL_OES_REQUIRED_INTERNALFORMAT)\n#define REGAL_NO_TYPEDEF_GL_OES_REQUIRED_INTERNALFORMAT\n#endif\n\n#if (defined(GL_OES_REQUIRED_INTERNALFORMAT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_OES_REQUIRED_INTERNALFORMAT)) && !defined(REGAL_NO_NAMESPACE_GL_OES_REQUIRED_INTERNALFORMAT)\n#define REGAL_NO_NAMESPACE_GL_OES_REQUIRED_INTERNALFORMAT\n#endif\n\n#if (defined(GL_OES_REQUIRED_INTERNALFORMAT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_OES_REQUIRED_INTERNALFORMAT)) && !defined(REGAL_NO_PLUGIN_GL_OES_REQUIRED_INTERNALFORMAT)\n#define REGAL_NO_PLUGIN_GL_OES_REQUIRED_INTERNALFORMAT\n#endif\n\n#if (defined(GL_OES_REQUIRED_INTERNALFORMAT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_OES_REQUIRED_INTERNALFORMAT)) && !defined(REGAL_NO_DECLARATION_GL_OES_REQUIRED_INTERNALFORMAT)\n#define REGAL_NO_DECLARATION_GL_OES_REQUIRED_INTERNALFORMAT\n#endif\n\n#ifndef GL_OES_required_internalformat\n#define GL_OES_required_internalformat 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_OES_REQUIRED_INTERNALFORMAT\n#define GL_ALPHA8_OES            0x803c     /* 32828 */\n#define GL_LUMINANCE8_OES        0x8040     /* 32832 */\n#define GL_LUMINANCE4_ALPHA4_OES 0x8043     /* 32835 */\n#define GL_LUMINANCE8_ALPHA8_OES 0x8045     /* 32837 */\n#define GL_RGBA4_OES             0x8056     /* 32854 */\n#define GL_RGB5_A1_OES           0x8057     /* 32855 */\n#define GL_DEPTH_COMPONENT16_OES 0x81a5     /* 33189 */\n#define GL_DEPTH_COMPONENT24_OES 0x81a6     /* 33190 */\n#define GL_DEPTH_COMPONENT32_OES 0x81a7     /* 33191 */\n#define GL_DEPTH24_STENCIL8_OES  0x88f0     /* 35056 */\n#define GL_RGB565_OES            0x8d62     /* 36194 */\n#endif\n\n/**\n ** GL_OES_rgb8_rgba8\n **/\n\n#if (defined(GL_OES_RGB8_RGBA8) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_OES_RGB8_RGBA8)) && !defined(REGAL_NO_ENUM_GL_OES_RGB8_RGBA8)\n#define REGAL_NO_ENUM_GL_OES_RGB8_RGBA8\n#endif\n\n#if (defined(GL_OES_RGB8_RGBA8) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_OES_RGB8_RGBA8)) && !defined(REGAL_NO_TYPEDEF_GL_OES_RGB8_RGBA8)\n#define REGAL_NO_TYPEDEF_GL_OES_RGB8_RGBA8\n#endif\n\n#if (defined(GL_OES_RGB8_RGBA8) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_OES_RGB8_RGBA8)) && !defined(REGAL_NO_NAMESPACE_GL_OES_RGB8_RGBA8)\n#define REGAL_NO_NAMESPACE_GL_OES_RGB8_RGBA8\n#endif\n\n#if (defined(GL_OES_RGB8_RGBA8) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_OES_RGB8_RGBA8)) && !defined(REGAL_NO_PLUGIN_GL_OES_RGB8_RGBA8)\n#define REGAL_NO_PLUGIN_GL_OES_RGB8_RGBA8\n#endif\n\n#if (defined(GL_OES_RGB8_RGBA8) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_OES_RGB8_RGBA8)) && !defined(REGAL_NO_DECLARATION_GL_OES_RGB8_RGBA8)\n#define REGAL_NO_DECLARATION_GL_OES_RGB8_RGBA8\n#endif\n\n#ifndef GL_OES_rgb8_rgba8\n#define GL_OES_rgb8_rgba8 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_OES_RGB8_RGBA8\n#define GL_RGB8_OES  0x8051     /* 32849 */\n#define GL_RGBA8_OES 0x8058     /* 32856 */\n#endif\n\n/**\n ** GL_OES_single_precision\n **/\n\n#if (defined(GL_OES_SINGLE_PRECISION) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_OES_SINGLE_PRECISION)) && !defined(REGAL_NO_ENUM_GL_OES_SINGLE_PRECISION)\n#define REGAL_NO_ENUM_GL_OES_SINGLE_PRECISION\n#endif\n\n#if (defined(GL_OES_SINGLE_PRECISION) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_OES_SINGLE_PRECISION)) && !defined(REGAL_NO_TYPEDEF_GL_OES_SINGLE_PRECISION)\n#define REGAL_NO_TYPEDEF_GL_OES_SINGLE_PRECISION\n#endif\n\n#if (defined(GL_OES_SINGLE_PRECISION) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_OES_SINGLE_PRECISION)) && !defined(REGAL_NO_NAMESPACE_GL_OES_SINGLE_PRECISION)\n#define REGAL_NO_NAMESPACE_GL_OES_SINGLE_PRECISION\n#endif\n\n#if (defined(GL_OES_SINGLE_PRECISION) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_OES_SINGLE_PRECISION)) && !defined(REGAL_NO_PLUGIN_GL_OES_SINGLE_PRECISION)\n#define REGAL_NO_PLUGIN_GL_OES_SINGLE_PRECISION\n#endif\n\n#if (defined(GL_OES_SINGLE_PRECISION) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_OES_SINGLE_PRECISION)) && !defined(REGAL_NO_DECLARATION_GL_OES_SINGLE_PRECISION)\n#define REGAL_NO_DECLARATION_GL_OES_SINGLE_PRECISION\n#endif\n\n#ifndef GL_OES_single_precision\n#define GL_OES_single_precision 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_OES_SINGLE_PRECISION\ntypedef void (REGAL_CALL *PFNGLCLEARDEPTHFOESPROC)(GLclampd depth);\ntypedef void (REGAL_CALL *PFNGLCLIPPLANEFOESPROC)(GLenum plane, const GLfloat *equation);\ntypedef void (REGAL_CALL *PFNGLDEPTHRANGEFOESPROC)(GLclampf n, GLclampf f);\ntypedef void (REGAL_CALL *PFNGLFRUSTUMFOESPROC)(GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f);\ntypedef void (REGAL_CALL *PFNGLGETCLIPPLANEFOESPROC)(GLenum plane, GLfloat *equation);\ntypedef void (REGAL_CALL *PFNGLORTHOFOESPROC)(GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_OES_SINGLE_PRECISION\n#define glClearDepthfOES                    rglClearDepthfOES\n#define glClipPlanefOES                     rglClipPlanefOES\n#define glDepthRangefOES                    rglDepthRangefOES\n#define glFrustumfOES                       rglFrustumfOES\n#define glGetClipPlanefOES                  rglGetClipPlanefOES\n#define glOrthofOES                         rglOrthofOES\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_OES_SINGLE_PRECISION\nREGAL_DECL void REGAL_CALL glClearDepthfOES(GLclampd depth);\nREGAL_DECL void REGAL_CALL glClipPlanefOES(GLenum plane, const GLfloat *equation);\nREGAL_DECL void REGAL_CALL glDepthRangefOES(GLclampf n, GLclampf f);\nREGAL_DECL void REGAL_CALL glFrustumfOES(GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f);\nREGAL_DECL void REGAL_CALL glGetClipPlanefOES(GLenum plane, GLfloat *equation);\nREGAL_DECL void REGAL_CALL glOrthofOES(GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_OES_SINGLE_PRECISION\nREGAL_DECL void REGAL_CALL plugin_glClearDepthfOES(GLclampd depth);\nREGAL_DECL void REGAL_CALL plugin_glClipPlanefOES(GLenum plane, const GLfloat *equation);\nREGAL_DECL void REGAL_CALL plugin_glDepthRangefOES(GLclampf n, GLclampf f);\nREGAL_DECL void REGAL_CALL plugin_glFrustumfOES(GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f);\nREGAL_DECL void REGAL_CALL plugin_glGetClipPlanefOES(GLenum plane, GLfloat *equation);\nREGAL_DECL void REGAL_CALL plugin_glOrthofOES(GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f);\n#endif\n\n/**\n ** GL_OES_standard_derivatives\n **/\n\n#if (defined(GL_OES_STANDARD_DERIVATIVES) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_OES_STANDARD_DERIVATIVES)) && !defined(REGAL_NO_ENUM_GL_OES_STANDARD_DERIVATIVES)\n#define REGAL_NO_ENUM_GL_OES_STANDARD_DERIVATIVES\n#endif\n\n#if (defined(GL_OES_STANDARD_DERIVATIVES) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_OES_STANDARD_DERIVATIVES)) && !defined(REGAL_NO_TYPEDEF_GL_OES_STANDARD_DERIVATIVES)\n#define REGAL_NO_TYPEDEF_GL_OES_STANDARD_DERIVATIVES\n#endif\n\n#if (defined(GL_OES_STANDARD_DERIVATIVES) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_OES_STANDARD_DERIVATIVES)) && !defined(REGAL_NO_NAMESPACE_GL_OES_STANDARD_DERIVATIVES)\n#define REGAL_NO_NAMESPACE_GL_OES_STANDARD_DERIVATIVES\n#endif\n\n#if (defined(GL_OES_STANDARD_DERIVATIVES) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_OES_STANDARD_DERIVATIVES)) && !defined(REGAL_NO_PLUGIN_GL_OES_STANDARD_DERIVATIVES)\n#define REGAL_NO_PLUGIN_GL_OES_STANDARD_DERIVATIVES\n#endif\n\n#if (defined(GL_OES_STANDARD_DERIVATIVES) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_OES_STANDARD_DERIVATIVES)) && !defined(REGAL_NO_DECLARATION_GL_OES_STANDARD_DERIVATIVES)\n#define REGAL_NO_DECLARATION_GL_OES_STANDARD_DERIVATIVES\n#endif\n\n#ifndef GL_OES_standard_derivatives\n#define GL_OES_standard_derivatives 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_OES_STANDARD_DERIVATIVES\n#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES 0x8b8b /* 35723 */\n#endif\n\n/**\n ** GL_OES_stencil1\n **/\n\n#if (defined(GL_OES_STENCIL1) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_OES_STENCIL1)) && !defined(REGAL_NO_ENUM_GL_OES_STENCIL1)\n#define REGAL_NO_ENUM_GL_OES_STENCIL1\n#endif\n\n#if (defined(GL_OES_STENCIL1) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_OES_STENCIL1)) && !defined(REGAL_NO_TYPEDEF_GL_OES_STENCIL1)\n#define REGAL_NO_TYPEDEF_GL_OES_STENCIL1\n#endif\n\n#if (defined(GL_OES_STENCIL1) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_OES_STENCIL1)) && !defined(REGAL_NO_NAMESPACE_GL_OES_STENCIL1)\n#define REGAL_NO_NAMESPACE_GL_OES_STENCIL1\n#endif\n\n#if (defined(GL_OES_STENCIL1) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_OES_STENCIL1)) && !defined(REGAL_NO_PLUGIN_GL_OES_STENCIL1)\n#define REGAL_NO_PLUGIN_GL_OES_STENCIL1\n#endif\n\n#if (defined(GL_OES_STENCIL1) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_OES_STENCIL1)) && !defined(REGAL_NO_DECLARATION_GL_OES_STENCIL1)\n#define REGAL_NO_DECLARATION_GL_OES_STENCIL1\n#endif\n\n#ifndef GL_OES_stencil1\n#define GL_OES_stencil1 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_OES_STENCIL1\n#define GL_STENCIL_INDEX1_OES 0x8d46 /* 36166 */\n#endif\n\n/**\n ** GL_OES_stencil4\n **/\n\n#if (defined(GL_OES_STENCIL4) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_OES_STENCIL4)) && !defined(REGAL_NO_ENUM_GL_OES_STENCIL4)\n#define REGAL_NO_ENUM_GL_OES_STENCIL4\n#endif\n\n#if (defined(GL_OES_STENCIL4) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_OES_STENCIL4)) && !defined(REGAL_NO_TYPEDEF_GL_OES_STENCIL4)\n#define REGAL_NO_TYPEDEF_GL_OES_STENCIL4\n#endif\n\n#if (defined(GL_OES_STENCIL4) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_OES_STENCIL4)) && !defined(REGAL_NO_NAMESPACE_GL_OES_STENCIL4)\n#define REGAL_NO_NAMESPACE_GL_OES_STENCIL4\n#endif\n\n#if (defined(GL_OES_STENCIL4) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_OES_STENCIL4)) && !defined(REGAL_NO_PLUGIN_GL_OES_STENCIL4)\n#define REGAL_NO_PLUGIN_GL_OES_STENCIL4\n#endif\n\n#if (defined(GL_OES_STENCIL4) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_OES_STENCIL4)) && !defined(REGAL_NO_DECLARATION_GL_OES_STENCIL4)\n#define REGAL_NO_DECLARATION_GL_OES_STENCIL4\n#endif\n\n#ifndef GL_OES_stencil4\n#define GL_OES_stencil4 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_OES_STENCIL4\n#define GL_STENCIL_INDEX4_OES 0x8d47 /* 36167 */\n#endif\n\n/**\n ** GL_OES_stencil8\n **/\n\n#if (defined(GL_OES_STENCIL8) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_OES_STENCIL8)) && !defined(REGAL_NO_ENUM_GL_OES_STENCIL8)\n#define REGAL_NO_ENUM_GL_OES_STENCIL8\n#endif\n\n#if (defined(GL_OES_STENCIL8) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_OES_STENCIL8)) && !defined(REGAL_NO_TYPEDEF_GL_OES_STENCIL8)\n#define REGAL_NO_TYPEDEF_GL_OES_STENCIL8\n#endif\n\n#if (defined(GL_OES_STENCIL8) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_OES_STENCIL8)) && !defined(REGAL_NO_NAMESPACE_GL_OES_STENCIL8)\n#define REGAL_NO_NAMESPACE_GL_OES_STENCIL8\n#endif\n\n#if (defined(GL_OES_STENCIL8) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_OES_STENCIL8)) && !defined(REGAL_NO_PLUGIN_GL_OES_STENCIL8)\n#define REGAL_NO_PLUGIN_GL_OES_STENCIL8\n#endif\n\n#if (defined(GL_OES_STENCIL8) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_OES_STENCIL8)) && !defined(REGAL_NO_DECLARATION_GL_OES_STENCIL8)\n#define REGAL_NO_DECLARATION_GL_OES_STENCIL8\n#endif\n\n#ifndef GL_OES_stencil8\n#define GL_OES_stencil8 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_OES_STENCIL8\n#define GL_STENCIL_INDEX8_OES 0x8d48 /* 36168 */\n#endif\n\n/**\n ** GL_OES_surfaceless_context\n **/\n\n#if (defined(GL_OES_SURFACELESS_CONTEXT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_OES_SURFACELESS_CONTEXT)) && !defined(REGAL_NO_ENUM_GL_OES_SURFACELESS_CONTEXT)\n#define REGAL_NO_ENUM_GL_OES_SURFACELESS_CONTEXT\n#endif\n\n#if (defined(GL_OES_SURFACELESS_CONTEXT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_OES_SURFACELESS_CONTEXT)) && !defined(REGAL_NO_TYPEDEF_GL_OES_SURFACELESS_CONTEXT)\n#define REGAL_NO_TYPEDEF_GL_OES_SURFACELESS_CONTEXT\n#endif\n\n#if (defined(GL_OES_SURFACELESS_CONTEXT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_OES_SURFACELESS_CONTEXT)) && !defined(REGAL_NO_NAMESPACE_GL_OES_SURFACELESS_CONTEXT)\n#define REGAL_NO_NAMESPACE_GL_OES_SURFACELESS_CONTEXT\n#endif\n\n#if (defined(GL_OES_SURFACELESS_CONTEXT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_OES_SURFACELESS_CONTEXT)) && !defined(REGAL_NO_PLUGIN_GL_OES_SURFACELESS_CONTEXT)\n#define REGAL_NO_PLUGIN_GL_OES_SURFACELESS_CONTEXT\n#endif\n\n#if (defined(GL_OES_SURFACELESS_CONTEXT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_OES_SURFACELESS_CONTEXT)) && !defined(REGAL_NO_DECLARATION_GL_OES_SURFACELESS_CONTEXT)\n#define REGAL_NO_DECLARATION_GL_OES_SURFACELESS_CONTEXT\n#endif\n\n#ifndef GL_OES_surfaceless_context\n#define GL_OES_surfaceless_context 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_OES_SURFACELESS_CONTEXT\n#define GL_FRAMEBUFFER_UNDEFINED_OES 0x8219 /* 33305 */\n#endif\n\n/**\n ** GL_OES_texture_3D\n **/\n\n#if (defined(GL_OES_TEXTURE_3D) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_OES_TEXTURE_3D)) && !defined(REGAL_NO_ENUM_GL_OES_TEXTURE_3D)\n#define REGAL_NO_ENUM_GL_OES_TEXTURE_3D\n#endif\n\n#if (defined(GL_OES_TEXTURE_3D) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_OES_TEXTURE_3D)) && !defined(REGAL_NO_TYPEDEF_GL_OES_TEXTURE_3D)\n#define REGAL_NO_TYPEDEF_GL_OES_TEXTURE_3D\n#endif\n\n#if (defined(GL_OES_TEXTURE_3D) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_OES_TEXTURE_3D)) && !defined(REGAL_NO_NAMESPACE_GL_OES_TEXTURE_3D)\n#define REGAL_NO_NAMESPACE_GL_OES_TEXTURE_3D\n#endif\n\n#if (defined(GL_OES_TEXTURE_3D) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_OES_TEXTURE_3D)) && !defined(REGAL_NO_PLUGIN_GL_OES_TEXTURE_3D)\n#define REGAL_NO_PLUGIN_GL_OES_TEXTURE_3D\n#endif\n\n#if (defined(GL_OES_TEXTURE_3D) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_OES_TEXTURE_3D)) && !defined(REGAL_NO_DECLARATION_GL_OES_TEXTURE_3D)\n#define REGAL_NO_DECLARATION_GL_OES_TEXTURE_3D\n#endif\n\n#ifndef GL_OES_texture_3D\n#define GL_OES_texture_3D 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_OES_TEXTURE_3D\n#define GL_TEXTURE_BINDING_3D_OES  0x806a     /* 32874 */\n#define GL_TEXTURE_3D_OES          0x806f     /* 32879 */\n#define GL_TEXTURE_WRAP_R_OES      0x8072     /* 32882 */\n#define GL_MAX_3D_TEXTURE_SIZE_OES 0x8073     /* 32883 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_OES_TEXTURE_3D\ntypedef void (REGAL_CALL *PFNGLCOMPRESSEDTEXIMAGE3DOESPROC)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data);\ntypedef void (REGAL_CALL *PFNGLCOMPRESSEDTEXSUBIMAGE3DOESPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data);\ntypedef void (REGAL_CALL *PFNGLCOPYTEXSUBIMAGE3DOESPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);\ntypedef void (REGAL_CALL *PFNGLFRAMEBUFFERTEXTURE3DOESPROC)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);\ntypedef void (REGAL_CALL *PFNGLTEXIMAGE3DOESPROC)(GLenum target, GLint level, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);\ntypedef void (REGAL_CALL *PFNGLTEXSUBIMAGE3DOESPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_OES_TEXTURE_3D\n#define glCompressedTexImage3DOES           rglCompressedTexImage3DOES\n#define glCompressedTexSubImage3DOES        rglCompressedTexSubImage3DOES\n#define glCopyTexSubImage3DOES              rglCopyTexSubImage3DOES\n#define glFramebufferTexture3DOES           rglFramebufferTexture3DOES\n#define glTexImage3DOES                     rglTexImage3DOES\n#define glTexSubImage3DOES                  rglTexSubImage3DOES\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_OES_TEXTURE_3D\nREGAL_DECL void REGAL_CALL glCompressedTexImage3DOES(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data);\nREGAL_DECL void REGAL_CALL glCompressedTexSubImage3DOES(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data);\nREGAL_DECL void REGAL_CALL glCopyTexSubImage3DOES(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);\nREGAL_DECL void REGAL_CALL glFramebufferTexture3DOES(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);\nREGAL_DECL void REGAL_CALL glTexImage3DOES(GLenum target, GLint level, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL glTexSubImage3DOES(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_OES_TEXTURE_3D\nREGAL_DECL void REGAL_CALL plugin_glCompressedTexImage3DOES(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data);\nREGAL_DECL void REGAL_CALL plugin_glCompressedTexSubImage3DOES(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data);\nREGAL_DECL void REGAL_CALL plugin_glCopyTexSubImage3DOES(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);\nREGAL_DECL void REGAL_CALL plugin_glFramebufferTexture3DOES(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);\nREGAL_DECL void REGAL_CALL plugin_glTexImage3DOES(GLenum target, GLint level, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL plugin_glTexSubImage3DOES(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);\n#endif\n\n/**\n ** GL_OES_texture_cube_map\n **/\n\n#if (defined(GL_OES_TEXTURE_CUBE_MAP) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_OES_TEXTURE_CUBE_MAP)) && !defined(REGAL_NO_ENUM_GL_OES_TEXTURE_CUBE_MAP)\n#define REGAL_NO_ENUM_GL_OES_TEXTURE_CUBE_MAP\n#endif\n\n#if (defined(GL_OES_TEXTURE_CUBE_MAP) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_OES_TEXTURE_CUBE_MAP)) && !defined(REGAL_NO_TYPEDEF_GL_OES_TEXTURE_CUBE_MAP)\n#define REGAL_NO_TYPEDEF_GL_OES_TEXTURE_CUBE_MAP\n#endif\n\n#if (defined(GL_OES_TEXTURE_CUBE_MAP) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_OES_TEXTURE_CUBE_MAP)) && !defined(REGAL_NO_NAMESPACE_GL_OES_TEXTURE_CUBE_MAP)\n#define REGAL_NO_NAMESPACE_GL_OES_TEXTURE_CUBE_MAP\n#endif\n\n#if (defined(GL_OES_TEXTURE_CUBE_MAP) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_OES_TEXTURE_CUBE_MAP)) && !defined(REGAL_NO_PLUGIN_GL_OES_TEXTURE_CUBE_MAP)\n#define REGAL_NO_PLUGIN_GL_OES_TEXTURE_CUBE_MAP\n#endif\n\n#if (defined(GL_OES_TEXTURE_CUBE_MAP) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_OES_TEXTURE_CUBE_MAP)) && !defined(REGAL_NO_DECLARATION_GL_OES_TEXTURE_CUBE_MAP)\n#define REGAL_NO_DECLARATION_GL_OES_TEXTURE_CUBE_MAP\n#endif\n\n#ifndef GL_OES_texture_cube_map\n#define GL_OES_texture_cube_map 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_OES_TEXTURE_CUBE_MAP\n#define GL_TEXTURE_GEN_MODE_OES            0x2500     /* 9472 */\n#define GL_NORMAL_MAP_OES                  0x8511     /* 34065 */\n#define GL_REFLECTION_MAP_OES              0x8512     /* 34066 */\n#define GL_TEXTURE_CUBE_MAP_OES            0x8513     /* 34067 */\n#define GL_TEXTURE_BINDING_CUBE_MAP_OES    0x8514     /* 34068 */\n#define GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES 0x8515     /* 34069 */\n#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES 0x8516     /* 34070 */\n#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES 0x8517     /* 34071 */\n#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES 0x8518     /* 34072 */\n#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES 0x8519     /* 34073 */\n#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES 0x851a     /* 34074 */\n#define GL_MAX_CUBE_MAP_TEXTURE_SIZE_OES   0x851c     /* 34076 */\n#define GL_TEXTURE_GEN_STR_OES             0x8d60     /* 36192 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_OES_TEXTURE_CUBE_MAP\ntypedef void (REGAL_CALL *PFNGLGETTEXGENFVOESPROC)(GLenum coord, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETTEXGENIVOESPROC)(GLenum coord, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETTEXGENXVOESPROC)(GLenum coord, GLenum pname, GLfixed *params);\ntypedef void (REGAL_CALL *PFNGLTEXGENFOESPROC)(GLenum coord, GLenum pname, GLfloat param);\ntypedef void (REGAL_CALL *PFNGLTEXGENFVOESPROC)(GLenum coord, GLenum pname, const GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLTEXGENIOESPROC)(GLenum coord, GLenum pname, GLint param);\ntypedef void (REGAL_CALL *PFNGLTEXGENIVOESPROC)(GLenum coord, GLenum pname, const GLint *params);\ntypedef void (REGAL_CALL *PFNGLTEXGENXOESPROC)(GLenum coord, GLenum pname, GLfixed param);\ntypedef void (REGAL_CALL *PFNGLTEXGENXVOESPROC)(GLenum coord, GLenum pname, const GLfixed *params);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_OES_TEXTURE_CUBE_MAP\n#define glGetTexGenfvOES                    rglGetTexGenfvOES\n#define glGetTexGenivOES                    rglGetTexGenivOES\n#define glGetTexGenxvOES                    rglGetTexGenxvOES\n#define glTexGenfOES                        rglTexGenfOES\n#define glTexGenfvOES                       rglTexGenfvOES\n#define glTexGeniOES                        rglTexGeniOES\n#define glTexGenivOES                       rglTexGenivOES\n#define glTexGenxOES                        rglTexGenxOES\n#define glTexGenxvOES                       rglTexGenxvOES\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_OES_TEXTURE_CUBE_MAP\nREGAL_DECL void REGAL_CALL glGetTexGenfvOES(GLenum coord, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetTexGenivOES(GLenum coord, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetTexGenxvOES(GLenum coord, GLenum pname, GLfixed *params);\nREGAL_DECL void REGAL_CALL glTexGenfOES(GLenum coord, GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL glTexGenfvOES(GLenum coord, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL glTexGeniOES(GLenum coord, GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL glTexGenivOES(GLenum coord, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL glTexGenxOES(GLenum coord, GLenum pname, GLfixed param);\nREGAL_DECL void REGAL_CALL glTexGenxvOES(GLenum coord, GLenum pname, const GLfixed *params);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_OES_TEXTURE_CUBE_MAP\nREGAL_DECL void REGAL_CALL plugin_glGetTexGenfvOES(GLenum coord, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetTexGenivOES(GLenum coord, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetTexGenxvOES(GLenum coord, GLenum pname, GLfixed *params);\nREGAL_DECL void REGAL_CALL plugin_glTexGenfOES(GLenum coord, GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL plugin_glTexGenfvOES(GLenum coord, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glTexGeniOES(GLenum coord, GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL plugin_glTexGenivOES(GLenum coord, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glTexGenxOES(GLenum coord, GLenum pname, GLfixed param);\nREGAL_DECL void REGAL_CALL plugin_glTexGenxvOES(GLenum coord, GLenum pname, const GLfixed *params);\n#endif\n\n/**\n ** GL_OES_vertex_array_object\n **/\n\n#if (defined(GL_OES_VERTEX_ARRAY_OBJECT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_OES_VERTEX_ARRAY_OBJECT)) && !defined(REGAL_NO_ENUM_GL_OES_VERTEX_ARRAY_OBJECT)\n#define REGAL_NO_ENUM_GL_OES_VERTEX_ARRAY_OBJECT\n#endif\n\n#if (defined(GL_OES_VERTEX_ARRAY_OBJECT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_OES_VERTEX_ARRAY_OBJECT)) && !defined(REGAL_NO_TYPEDEF_GL_OES_VERTEX_ARRAY_OBJECT)\n#define REGAL_NO_TYPEDEF_GL_OES_VERTEX_ARRAY_OBJECT\n#endif\n\n#if (defined(GL_OES_VERTEX_ARRAY_OBJECT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_OES_VERTEX_ARRAY_OBJECT)) && !defined(REGAL_NO_NAMESPACE_GL_OES_VERTEX_ARRAY_OBJECT)\n#define REGAL_NO_NAMESPACE_GL_OES_VERTEX_ARRAY_OBJECT\n#endif\n\n#if (defined(GL_OES_VERTEX_ARRAY_OBJECT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_OES_VERTEX_ARRAY_OBJECT)) && !defined(REGAL_NO_PLUGIN_GL_OES_VERTEX_ARRAY_OBJECT)\n#define REGAL_NO_PLUGIN_GL_OES_VERTEX_ARRAY_OBJECT\n#endif\n\n#if (defined(GL_OES_VERTEX_ARRAY_OBJECT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_OES_VERTEX_ARRAY_OBJECT)) && !defined(REGAL_NO_DECLARATION_GL_OES_VERTEX_ARRAY_OBJECT)\n#define REGAL_NO_DECLARATION_GL_OES_VERTEX_ARRAY_OBJECT\n#endif\n\n#ifndef GL_OES_vertex_array_object\n#define GL_OES_vertex_array_object 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_OES_VERTEX_ARRAY_OBJECT\n#define GL_VERTEX_ARRAY_BINDING_OES 0x85b5 /* 34229 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_OES_VERTEX_ARRAY_OBJECT\ntypedef GLboolean (REGAL_CALL *PFNGLISVERTEXARRAYOESPROC)(GLuint array);\ntypedef void (REGAL_CALL *PFNGLBINDVERTEXARRAYOESPROC)(GLuint array);\ntypedef void (REGAL_CALL *PFNGLDELETEVERTEXARRAYSOESPROC)(GLsizei n, const GLuint *arrays);\ntypedef void (REGAL_CALL *PFNGLGENVERTEXARRAYSOESPROC)(GLsizei n, GLuint *arrays);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_OES_VERTEX_ARRAY_OBJECT\n#define glBindVertexArrayOES                rglBindVertexArrayOES\n#define glDeleteVertexArraysOES             rglDeleteVertexArraysOES\n#define glGenVertexArraysOES                rglGenVertexArraysOES\n#define glIsVertexArrayOES                  rglIsVertexArrayOES\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_OES_VERTEX_ARRAY_OBJECT\nREGAL_DECL GLboolean REGAL_CALL glIsVertexArrayOES(GLuint array);\nREGAL_DECL void REGAL_CALL glBindVertexArrayOES(GLuint array);\nREGAL_DECL void REGAL_CALL glDeleteVertexArraysOES(GLsizei n, const GLuint *arrays);\nREGAL_DECL void REGAL_CALL glGenVertexArraysOES(GLsizei n, GLuint *arrays);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_OES_VERTEX_ARRAY_OBJECT\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsVertexArrayOES(GLuint array);\nREGAL_DECL void REGAL_CALL plugin_glBindVertexArrayOES(GLuint array);\nREGAL_DECL void REGAL_CALL plugin_glDeleteVertexArraysOES(GLsizei n, const GLuint *arrays);\nREGAL_DECL void REGAL_CALL plugin_glGenVertexArraysOES(GLsizei n, GLuint *arrays);\n#endif\n\n/**\n ** GL_OES_vertex_half_float\n **/\n\n#if (defined(GL_OES_VERTEX_HALF_FLOAT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_OES_VERTEX_HALF_FLOAT)) && !defined(REGAL_NO_ENUM_GL_OES_VERTEX_HALF_FLOAT)\n#define REGAL_NO_ENUM_GL_OES_VERTEX_HALF_FLOAT\n#endif\n\n#if (defined(GL_OES_VERTEX_HALF_FLOAT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_OES_VERTEX_HALF_FLOAT)) && !defined(REGAL_NO_TYPEDEF_GL_OES_VERTEX_HALF_FLOAT)\n#define REGAL_NO_TYPEDEF_GL_OES_VERTEX_HALF_FLOAT\n#endif\n\n#if (defined(GL_OES_VERTEX_HALF_FLOAT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_OES_VERTEX_HALF_FLOAT)) && !defined(REGAL_NO_NAMESPACE_GL_OES_VERTEX_HALF_FLOAT)\n#define REGAL_NO_NAMESPACE_GL_OES_VERTEX_HALF_FLOAT\n#endif\n\n#if (defined(GL_OES_VERTEX_HALF_FLOAT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_OES_VERTEX_HALF_FLOAT)) && !defined(REGAL_NO_PLUGIN_GL_OES_VERTEX_HALF_FLOAT)\n#define REGAL_NO_PLUGIN_GL_OES_VERTEX_HALF_FLOAT\n#endif\n\n#if (defined(GL_OES_VERTEX_HALF_FLOAT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_OES_VERTEX_HALF_FLOAT)) && !defined(REGAL_NO_DECLARATION_GL_OES_VERTEX_HALF_FLOAT)\n#define REGAL_NO_DECLARATION_GL_OES_VERTEX_HALF_FLOAT\n#endif\n\n#ifndef GL_OES_vertex_half_float\n#define GL_OES_vertex_half_float 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_OES_VERTEX_HALF_FLOAT\n#define GL_HALF_FLOAT_OES 0x8d61 /* 36193 */\n#endif\n\n/**\n ** GL_OES_vertex_type_10_10_10_2\n **/\n\n#if (defined(GL_OES_VERTEX_TYPE_10_10_10_2) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_OES_VERTEX_TYPE_10_10_10_2)) && !defined(REGAL_NO_ENUM_GL_OES_VERTEX_TYPE_10_10_10_2)\n#define REGAL_NO_ENUM_GL_OES_VERTEX_TYPE_10_10_10_2\n#endif\n\n#if (defined(GL_OES_VERTEX_TYPE_10_10_10_2) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_OES_VERTEX_TYPE_10_10_10_2)) && !defined(REGAL_NO_TYPEDEF_GL_OES_VERTEX_TYPE_10_10_10_2)\n#define REGAL_NO_TYPEDEF_GL_OES_VERTEX_TYPE_10_10_10_2\n#endif\n\n#if (defined(GL_OES_VERTEX_TYPE_10_10_10_2) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_OES_VERTEX_TYPE_10_10_10_2)) && !defined(REGAL_NO_NAMESPACE_GL_OES_VERTEX_TYPE_10_10_10_2)\n#define REGAL_NO_NAMESPACE_GL_OES_VERTEX_TYPE_10_10_10_2\n#endif\n\n#if (defined(GL_OES_VERTEX_TYPE_10_10_10_2) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_OES_VERTEX_TYPE_10_10_10_2)) && !defined(REGAL_NO_PLUGIN_GL_OES_VERTEX_TYPE_10_10_10_2)\n#define REGAL_NO_PLUGIN_GL_OES_VERTEX_TYPE_10_10_10_2\n#endif\n\n#if (defined(GL_OES_VERTEX_TYPE_10_10_10_2) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_OES_VERTEX_TYPE_10_10_10_2)) && !defined(REGAL_NO_DECLARATION_GL_OES_VERTEX_TYPE_10_10_10_2)\n#define REGAL_NO_DECLARATION_GL_OES_VERTEX_TYPE_10_10_10_2\n#endif\n\n#ifndef GL_OES_vertex_type_10_10_10_2\n#define GL_OES_vertex_type_10_10_10_2 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_OES_VERTEX_TYPE_10_10_10_2\n#define GL_UNSIGNED_INT_10_10_10_2_OES 0x8df6     /* 36342 */\n#define GL_INT_10_10_10_2_OES          0x8df7     /* 36343 */\n#endif\n\n/**\n ** GL_OML_interlace\n **/\n\n#if (defined(GL_OML_INTERLACE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_OML_INTERLACE)) && !defined(REGAL_NO_ENUM_GL_OML_INTERLACE)\n#define REGAL_NO_ENUM_GL_OML_INTERLACE\n#endif\n\n#if (defined(GL_OML_INTERLACE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_OML_INTERLACE)) && !defined(REGAL_NO_TYPEDEF_GL_OML_INTERLACE)\n#define REGAL_NO_TYPEDEF_GL_OML_INTERLACE\n#endif\n\n#if (defined(GL_OML_INTERLACE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_OML_INTERLACE)) && !defined(REGAL_NO_NAMESPACE_GL_OML_INTERLACE)\n#define REGAL_NO_NAMESPACE_GL_OML_INTERLACE\n#endif\n\n#if (defined(GL_OML_INTERLACE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_OML_INTERLACE)) && !defined(REGAL_NO_PLUGIN_GL_OML_INTERLACE)\n#define REGAL_NO_PLUGIN_GL_OML_INTERLACE\n#endif\n\n#if (defined(GL_OML_INTERLACE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_OML_INTERLACE)) && !defined(REGAL_NO_DECLARATION_GL_OML_INTERLACE)\n#define REGAL_NO_DECLARATION_GL_OML_INTERLACE\n#endif\n\n#ifndef GL_OML_interlace\n#define GL_OML_interlace 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_OML_INTERLACE\n#define GL_INTERLACE_OML      0x8980     /* 35200 */\n#define GL_INTERLACE_READ_OML 0x8981     /* 35201 */\n#endif\n\n/**\n ** GL_OML_resample\n **/\n\n#if (defined(GL_OML_RESAMPLE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_OML_RESAMPLE)) && !defined(REGAL_NO_ENUM_GL_OML_RESAMPLE)\n#define REGAL_NO_ENUM_GL_OML_RESAMPLE\n#endif\n\n#if (defined(GL_OML_RESAMPLE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_OML_RESAMPLE)) && !defined(REGAL_NO_TYPEDEF_GL_OML_RESAMPLE)\n#define REGAL_NO_TYPEDEF_GL_OML_RESAMPLE\n#endif\n\n#if (defined(GL_OML_RESAMPLE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_OML_RESAMPLE)) && !defined(REGAL_NO_NAMESPACE_GL_OML_RESAMPLE)\n#define REGAL_NO_NAMESPACE_GL_OML_RESAMPLE\n#endif\n\n#if (defined(GL_OML_RESAMPLE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_OML_RESAMPLE)) && !defined(REGAL_NO_PLUGIN_GL_OML_RESAMPLE)\n#define REGAL_NO_PLUGIN_GL_OML_RESAMPLE\n#endif\n\n#if (defined(GL_OML_RESAMPLE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_OML_RESAMPLE)) && !defined(REGAL_NO_DECLARATION_GL_OML_RESAMPLE)\n#define REGAL_NO_DECLARATION_GL_OML_RESAMPLE\n#endif\n\n#ifndef GL_OML_resample\n#define GL_OML_resample 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_OML_RESAMPLE\n#define GL_PACK_RESAMPLE_OML      0x8984     /* 35204 */\n#define GL_UNPACK_RESAMPLE_OML    0x8985     /* 35205 */\n#define GL_RESAMPLE_REPLICATE_OML 0x8986     /* 35206 */\n#define GL_RESAMPLE_ZERO_FILL_OML 0x8987     /* 35207 */\n#define GL_RESAMPLE_AVERAGE_OML   0x8988     /* 35208 */\n#define GL_RESAMPLE_DECIMATE_OML  0x8989     /* 35209 */\n#endif\n\n/**\n ** GL_OML_subsample\n **/\n\n#if (defined(GL_OML_SUBSAMPLE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_OML_SUBSAMPLE)) && !defined(REGAL_NO_ENUM_GL_OML_SUBSAMPLE)\n#define REGAL_NO_ENUM_GL_OML_SUBSAMPLE\n#endif\n\n#if (defined(GL_OML_SUBSAMPLE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_OML_SUBSAMPLE)) && !defined(REGAL_NO_TYPEDEF_GL_OML_SUBSAMPLE)\n#define REGAL_NO_TYPEDEF_GL_OML_SUBSAMPLE\n#endif\n\n#if (defined(GL_OML_SUBSAMPLE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_OML_SUBSAMPLE)) && !defined(REGAL_NO_NAMESPACE_GL_OML_SUBSAMPLE)\n#define REGAL_NO_NAMESPACE_GL_OML_SUBSAMPLE\n#endif\n\n#if (defined(GL_OML_SUBSAMPLE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_OML_SUBSAMPLE)) && !defined(REGAL_NO_PLUGIN_GL_OML_SUBSAMPLE)\n#define REGAL_NO_PLUGIN_GL_OML_SUBSAMPLE\n#endif\n\n#if (defined(GL_OML_SUBSAMPLE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_OML_SUBSAMPLE)) && !defined(REGAL_NO_DECLARATION_GL_OML_SUBSAMPLE)\n#define REGAL_NO_DECLARATION_GL_OML_SUBSAMPLE\n#endif\n\n#ifndef GL_OML_subsample\n#define GL_OML_subsample 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_OML_SUBSAMPLE\n#define GL_FORMAT_SUBSAMPLE_24_24_OML   0x8982     /* 35202 */\n#define GL_FORMAT_SUBSAMPLE_244_244_OML 0x8983     /* 35203 */\n#endif\n\n/**\n ** GL_PGI_misc_hints\n **/\n\n#if (defined(GL_PGI_MISC_HINTS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_PGI_MISC_HINTS)) && !defined(REGAL_NO_ENUM_GL_PGI_MISC_HINTS)\n#define REGAL_NO_ENUM_GL_PGI_MISC_HINTS\n#endif\n\n#if (defined(GL_PGI_MISC_HINTS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_PGI_MISC_HINTS)) && !defined(REGAL_NO_TYPEDEF_GL_PGI_MISC_HINTS)\n#define REGAL_NO_TYPEDEF_GL_PGI_MISC_HINTS\n#endif\n\n#if (defined(GL_PGI_MISC_HINTS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_PGI_MISC_HINTS)) && !defined(REGAL_NO_NAMESPACE_GL_PGI_MISC_HINTS)\n#define REGAL_NO_NAMESPACE_GL_PGI_MISC_HINTS\n#endif\n\n#if (defined(GL_PGI_MISC_HINTS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_PGI_MISC_HINTS)) && !defined(REGAL_NO_PLUGIN_GL_PGI_MISC_HINTS)\n#define REGAL_NO_PLUGIN_GL_PGI_MISC_HINTS\n#endif\n\n#if (defined(GL_PGI_MISC_HINTS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_PGI_MISC_HINTS)) && !defined(REGAL_NO_DECLARATION_GL_PGI_MISC_HINTS)\n#define REGAL_NO_DECLARATION_GL_PGI_MISC_HINTS\n#endif\n\n#ifndef GL_PGI_misc_hints\n#define GL_PGI_misc_hints 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_PGI_MISC_HINTS\n#define GL_PREFER_DOUBLEBUFFER_HINT_PGI   0x1a1f8     /* 107000 */\n#define GL_CONSERVE_MEMORY_HINT_PGI       0x1a1fd     /* 107005 */\n#define GL_RECLAIM_MEMORY_HINT_PGI        0x1a1fe     /* 107006 */\n#define GL_NATIVE_GRAPHICS_HANDLE_PGI     0x1a202     /* 107010 */\n#define GL_NATIVE_GRAPHICS_BEGIN_HINT_PGI 0x1a203     /* 107011 */\n#define GL_NATIVE_GRAPHICS_END_HINT_PGI   0x1a204     /* 107012 */\n#define GL_ALWAYS_FAST_HINT_PGI           0x1a20c     /* 107020 */\n#define GL_ALWAYS_SOFT_HINT_PGI           0x1a20d     /* 107021 */\n#define GL_ALLOW_DRAW_OBJ_HINT_PGI        0x1a20e     /* 107022 */\n#define GL_ALLOW_DRAW_WIN_HINT_PGI        0x1a20f     /* 107023 */\n#define GL_ALLOW_DRAW_FRG_HINT_PGI        0x1a210     /* 107024 */\n#define GL_ALLOW_DRAW_MEM_HINT_PGI        0x1a211     /* 107025 */\n#define GL_STRICT_DEPTHFUNC_HINT_PGI      0x1a216     /* 107030 */\n#define GL_STRICT_LIGHTING_HINT_PGI       0x1a217     /* 107031 */\n#define GL_STRICT_SCISSOR_HINT_PGI        0x1a218     /* 107032 */\n#define GL_FULL_STIPPLE_HINT_PGI          0x1a219     /* 107033 */\n#define GL_CLIP_NEAR_HINT_PGI             0x1a220     /* 107040 */\n#define GL_CLIP_FAR_HINT_PGI              0x1a221     /* 107041 */\n#define GL_WIDE_LINE_HINT_PGI             0x1a222     /* 107042 */\n#define GL_BACK_NORMALS_HINT_PGI          0x1a223     /* 107043 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_PGI_MISC_HINTS\ntypedef void (REGAL_CALL *PFNGLHINTPGIPROC)(GLenum target, GLint mode);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_PGI_MISC_HINTS\n#define glHintPGI                           rglHintPGI\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_PGI_MISC_HINTS\nREGAL_DECL void REGAL_CALL glHintPGI(GLenum target, GLint mode);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_PGI_MISC_HINTS\nREGAL_DECL void REGAL_CALL plugin_glHintPGI(GLenum target, GLint mode);\n#endif\n\n/**\n ** GL_PGI_vertex_hints\n **/\n\n#if (defined(GL_PGI_VERTEX_HINTS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_PGI_VERTEX_HINTS)) && !defined(REGAL_NO_ENUM_GL_PGI_VERTEX_HINTS)\n#define REGAL_NO_ENUM_GL_PGI_VERTEX_HINTS\n#endif\n\n#if (defined(GL_PGI_VERTEX_HINTS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_PGI_VERTEX_HINTS)) && !defined(REGAL_NO_TYPEDEF_GL_PGI_VERTEX_HINTS)\n#define REGAL_NO_TYPEDEF_GL_PGI_VERTEX_HINTS\n#endif\n\n#if (defined(GL_PGI_VERTEX_HINTS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_PGI_VERTEX_HINTS)) && !defined(REGAL_NO_NAMESPACE_GL_PGI_VERTEX_HINTS)\n#define REGAL_NO_NAMESPACE_GL_PGI_VERTEX_HINTS\n#endif\n\n#if (defined(GL_PGI_VERTEX_HINTS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_PGI_VERTEX_HINTS)) && !defined(REGAL_NO_PLUGIN_GL_PGI_VERTEX_HINTS)\n#define REGAL_NO_PLUGIN_GL_PGI_VERTEX_HINTS\n#endif\n\n#if (defined(GL_PGI_VERTEX_HINTS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_PGI_VERTEX_HINTS)) && !defined(REGAL_NO_DECLARATION_GL_PGI_VERTEX_HINTS)\n#define REGAL_NO_DECLARATION_GL_PGI_VERTEX_HINTS\n#endif\n\n#ifndef GL_PGI_vertex_hints\n#define GL_PGI_vertex_hints 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_PGI_VERTEX_HINTS\n#define GL_COLOR3_BIT_PGI                  0x10000        /* 65536 */\n#define GL_MAT_AMBIENT_BIT_PGI             0x100000       /* 1048576 */\n#define GL_MAT_COLOR_INDEXES_BIT_PGI       0x1000000      /* 16777216 */\n#define GL_TEXCOORD1_BIT_PGI               0x10000000     /* 268435456 */\n#define GL_VERTEX_DATA_HINT_PGI            0x1a22a        /* 107050 */\n#define GL_VERTEX_CONSISTENT_HINT_PGI      0x1a22b        /* 107051 */\n#define GL_MATERIAL_SIDE_HINT_PGI          0x1a22c        /* 107052 */\n#define GL_MAX_VERTEX_HINT_PGI             0x1a22d        /* 107053 */\n#define GL_COLOR4_BIT_PGI                  0x20000        /* 131072 */\n#define GL_MAT_AMBIENT_AND_DIFFUSE_BIT_PGI 0x200000       /* 2097152 */\n#define GL_MAT_SHININESS_BIT_PGI           0x2000000      /* 33554432 */\n#define GL_TEXCOORD2_BIT_PGI               0x20000000     /* 536870912 */\n#define GL_VERTEX23_BIT_PGI                0x4\n#define GL_EDGEFLAG_BIT_PGI                0x40000        /* 262144 */\n#define GL_MAT_DIFFUSE_BIT_PGI             0x400000       /* 4194304 */\n#define GL_MAT_SPECULAR_BIT_PGI            0x4000000      /* 67108864 */\n#define GL_TEXCOORD3_BIT_PGI               0x40000000     /* 1073741824 */\n#define GL_VERTEX4_BIT_PGI                 0x8\n#define GL_INDEX_BIT_PGI                   0x80000        /* 524288 */\n#define GL_MAT_EMISSION_BIT_PGI            0x800000       /* 8388608 */\n#define GL_NORMAL_BIT_PGI                  0x8000000      /* 134217728 */\n#define GL_TEXCOORD4_BIT_PGI               0x80000000     /* 2147483648 */\n#endif\n\n/**\n ** GL_QCOM_alpha_test\n **/\n\n#if (defined(GL_QCOM_ALPHA_TEST) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_QCOM_ALPHA_TEST)) && !defined(REGAL_NO_ENUM_GL_QCOM_ALPHA_TEST)\n#define REGAL_NO_ENUM_GL_QCOM_ALPHA_TEST\n#endif\n\n#if (defined(GL_QCOM_ALPHA_TEST) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_QCOM_ALPHA_TEST)) && !defined(REGAL_NO_TYPEDEF_GL_QCOM_ALPHA_TEST)\n#define REGAL_NO_TYPEDEF_GL_QCOM_ALPHA_TEST\n#endif\n\n#if (defined(GL_QCOM_ALPHA_TEST) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_QCOM_ALPHA_TEST)) && !defined(REGAL_NO_NAMESPACE_GL_QCOM_ALPHA_TEST)\n#define REGAL_NO_NAMESPACE_GL_QCOM_ALPHA_TEST\n#endif\n\n#if (defined(GL_QCOM_ALPHA_TEST) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_QCOM_ALPHA_TEST)) && !defined(REGAL_NO_PLUGIN_GL_QCOM_ALPHA_TEST)\n#define REGAL_NO_PLUGIN_GL_QCOM_ALPHA_TEST\n#endif\n\n#if (defined(GL_QCOM_ALPHA_TEST) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_QCOM_ALPHA_TEST)) && !defined(REGAL_NO_DECLARATION_GL_QCOM_ALPHA_TEST)\n#define REGAL_NO_DECLARATION_GL_QCOM_ALPHA_TEST\n#endif\n\n#ifndef GL_QCOM_alpha_test\n#define GL_QCOM_alpha_test 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_QCOM_ALPHA_TEST\n#define GL_ALPHA_TEST_QCOM      0xbc0     /* 3008 */\n#define GL_ALPHA_TEST_FUNC_QCOM 0xbc1     /* 3009 */\n#define GL_ALPHA_TEST_REF_QCOM  0xbc2     /* 3010 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_QCOM_ALPHA_TEST\ntypedef void (REGAL_CALL *PFNGLALPHAFUNCQCOMPROC)(GLenum func, GLclampf ref);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_QCOM_ALPHA_TEST\n#define glAlphaFuncQCOM                     rglAlphaFuncQCOM\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_QCOM_ALPHA_TEST\nREGAL_DECL void REGAL_CALL glAlphaFuncQCOM(GLenum func, GLclampf ref);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_QCOM_ALPHA_TEST\nREGAL_DECL void REGAL_CALL plugin_glAlphaFuncQCOM(GLenum func, GLclampf ref);\n#endif\n\n/**\n ** GL_QCOM_binning_control\n **/\n\n#if (defined(GL_QCOM_BINNING_CONTROL) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_QCOM_BINNING_CONTROL)) && !defined(REGAL_NO_ENUM_GL_QCOM_BINNING_CONTROL)\n#define REGAL_NO_ENUM_GL_QCOM_BINNING_CONTROL\n#endif\n\n#if (defined(GL_QCOM_BINNING_CONTROL) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_QCOM_BINNING_CONTROL)) && !defined(REGAL_NO_TYPEDEF_GL_QCOM_BINNING_CONTROL)\n#define REGAL_NO_TYPEDEF_GL_QCOM_BINNING_CONTROL\n#endif\n\n#if (defined(GL_QCOM_BINNING_CONTROL) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_QCOM_BINNING_CONTROL)) && !defined(REGAL_NO_NAMESPACE_GL_QCOM_BINNING_CONTROL)\n#define REGAL_NO_NAMESPACE_GL_QCOM_BINNING_CONTROL\n#endif\n\n#if (defined(GL_QCOM_BINNING_CONTROL) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_QCOM_BINNING_CONTROL)) && !defined(REGAL_NO_PLUGIN_GL_QCOM_BINNING_CONTROL)\n#define REGAL_NO_PLUGIN_GL_QCOM_BINNING_CONTROL\n#endif\n\n#if (defined(GL_QCOM_BINNING_CONTROL) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_QCOM_BINNING_CONTROL)) && !defined(REGAL_NO_DECLARATION_GL_QCOM_BINNING_CONTROL)\n#define REGAL_NO_DECLARATION_GL_QCOM_BINNING_CONTROL\n#endif\n\n#ifndef GL_QCOM_binning_control\n#define GL_QCOM_binning_control 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_QCOM_BINNING_CONTROL\n#define GL_BINNING_CONTROL_HINT_QCOM         0x8fb0     /* 36784 */\n#define GL_CPU_OPTIMIZED_QCOM                0x8fb1     /* 36785 */\n#define GL_GPU_OPTIMIZED_QCOM                0x8fb2     /* 36786 */\n#define GL_RENDER_DIRECT_TO_FRAMEBUFFER_QCOM 0x8fb3     /* 36787 */\n#endif\n\n/**\n ** GL_QCOM_driver_control\n **/\n\n#if (defined(GL_QCOM_DRIVER_CONTROL) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_QCOM_DRIVER_CONTROL)) && !defined(REGAL_NO_ENUM_GL_QCOM_DRIVER_CONTROL)\n#define REGAL_NO_ENUM_GL_QCOM_DRIVER_CONTROL\n#endif\n\n#if (defined(GL_QCOM_DRIVER_CONTROL) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_QCOM_DRIVER_CONTROL)) && !defined(REGAL_NO_TYPEDEF_GL_QCOM_DRIVER_CONTROL)\n#define REGAL_NO_TYPEDEF_GL_QCOM_DRIVER_CONTROL\n#endif\n\n#if (defined(GL_QCOM_DRIVER_CONTROL) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_QCOM_DRIVER_CONTROL)) && !defined(REGAL_NO_NAMESPACE_GL_QCOM_DRIVER_CONTROL)\n#define REGAL_NO_NAMESPACE_GL_QCOM_DRIVER_CONTROL\n#endif\n\n#if (defined(GL_QCOM_DRIVER_CONTROL) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_QCOM_DRIVER_CONTROL)) && !defined(REGAL_NO_PLUGIN_GL_QCOM_DRIVER_CONTROL)\n#define REGAL_NO_PLUGIN_GL_QCOM_DRIVER_CONTROL\n#endif\n\n#if (defined(GL_QCOM_DRIVER_CONTROL) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_QCOM_DRIVER_CONTROL)) && !defined(REGAL_NO_DECLARATION_GL_QCOM_DRIVER_CONTROL)\n#define REGAL_NO_DECLARATION_GL_QCOM_DRIVER_CONTROL\n#endif\n\n#ifndef GL_QCOM_driver_control\n#define GL_QCOM_driver_control 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_QCOM_DRIVER_CONTROL\ntypedef void (REGAL_CALL *PFNGLDISABLEDRIVERCONTROLQCOMPROC)(GLuint driverControl);\ntypedef void (REGAL_CALL *PFNGLENABLEDRIVERCONTROLQCOMPROC)(GLuint driverControl);\ntypedef void (REGAL_CALL *PFNGLGETDRIVERCONTROLSQCOMPROC)(GLint *num, GLsizei size, GLuint *driverControls);\ntypedef void (REGAL_CALL *PFNGLGETDRIVERCONTROLSTRINGQCOMPROC)(GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_QCOM_DRIVER_CONTROL\n#define glDisableDriverControlQCOM          rglDisableDriverControlQCOM\n#define glEnableDriverControlQCOM           rglEnableDriverControlQCOM\n#define glGetDriverControlStringQCOM        rglGetDriverControlStringQCOM\n#define glGetDriverControlsQCOM             rglGetDriverControlsQCOM\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_QCOM_DRIVER_CONTROL\nREGAL_DECL void REGAL_CALL glDisableDriverControlQCOM(GLuint driverControl);\nREGAL_DECL void REGAL_CALL glEnableDriverControlQCOM(GLuint driverControl);\nREGAL_DECL void REGAL_CALL glGetDriverControlStringQCOM(GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);\nREGAL_DECL void REGAL_CALL glGetDriverControlsQCOM(GLint *num, GLsizei size, GLuint *driverControls);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_QCOM_DRIVER_CONTROL\nREGAL_DECL void REGAL_CALL plugin_glDisableDriverControlQCOM(GLuint driverControl);\nREGAL_DECL void REGAL_CALL plugin_glEnableDriverControlQCOM(GLuint driverControl);\nREGAL_DECL void REGAL_CALL plugin_glGetDriverControlStringQCOM(GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);\nREGAL_DECL void REGAL_CALL plugin_glGetDriverControlsQCOM(GLint *num, GLsizei size, GLuint *driverControls);\n#endif\n\n/**\n ** GL_QCOM_extended_get\n **/\n\n#if (defined(GL_QCOM_EXTENDED_GET) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_QCOM_EXTENDED_GET)) && !defined(REGAL_NO_ENUM_GL_QCOM_EXTENDED_GET)\n#define REGAL_NO_ENUM_GL_QCOM_EXTENDED_GET\n#endif\n\n#if (defined(GL_QCOM_EXTENDED_GET) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_QCOM_EXTENDED_GET)) && !defined(REGAL_NO_TYPEDEF_GL_QCOM_EXTENDED_GET)\n#define REGAL_NO_TYPEDEF_GL_QCOM_EXTENDED_GET\n#endif\n\n#if (defined(GL_QCOM_EXTENDED_GET) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_QCOM_EXTENDED_GET)) && !defined(REGAL_NO_NAMESPACE_GL_QCOM_EXTENDED_GET)\n#define REGAL_NO_NAMESPACE_GL_QCOM_EXTENDED_GET\n#endif\n\n#if (defined(GL_QCOM_EXTENDED_GET) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_QCOM_EXTENDED_GET)) && !defined(REGAL_NO_PLUGIN_GL_QCOM_EXTENDED_GET)\n#define REGAL_NO_PLUGIN_GL_QCOM_EXTENDED_GET\n#endif\n\n#if (defined(GL_QCOM_EXTENDED_GET) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_QCOM_EXTENDED_GET)) && !defined(REGAL_NO_DECLARATION_GL_QCOM_EXTENDED_GET)\n#define REGAL_NO_DECLARATION_GL_QCOM_EXTENDED_GET\n#endif\n\n#ifndef GL_QCOM_extended_get\n#define GL_QCOM_extended_get 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_QCOM_EXTENDED_GET\n#define GL_TEXTURE_WIDTH_QCOM           0x8bd2     /* 35794 */\n#define GL_TEXTURE_HEIGHT_QCOM          0x8bd3     /* 35795 */\n#define GL_TEXTURE_DEPTH_QCOM           0x8bd4     /* 35796 */\n#define GL_TEXTURE_INTERNAL_FORMAT_QCOM 0x8bd5     /* 35797 */\n#define GL_TEXTURE_FORMAT_QCOM          0x8bd6     /* 35798 */\n#define GL_TEXTURE_TYPE_QCOM            0x8bd7     /* 35799 */\n#define GL_TEXTURE_IMAGE_VALID_QCOM     0x8bd8     /* 35800 */\n#define GL_TEXTURE_NUM_LEVELS_QCOM      0x8bd9     /* 35801 */\n#define GL_TEXTURE_TARGET_QCOM          0x8bda     /* 35802 */\n#define GL_TEXTURE_OBJECT_VALID_QCOM    0x8bdb     /* 35803 */\n#define GL_STATE_RESTORE                0x8bdc     /* 35804 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_QCOM_EXTENDED_GET\ntypedef void (REGAL_CALL *PFNGLEXTGETBUFFERPOINTERVQCOMPROC)(GLenum target, GLvoid **params);\ntypedef void (REGAL_CALL *PFNGLEXTGETBUFFERSQCOMPROC)(GLuint *buffers, GLint maxBuffers, GLint *numBuffers);\ntypedef void (REGAL_CALL *PFNGLEXTGETFRAMEBUFFERSQCOMPROC)(GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);\ntypedef void (REGAL_CALL *PFNGLEXTGETRENDERBUFFERSQCOMPROC)(GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);\ntypedef void (REGAL_CALL *PFNGLEXTGETTEXLEVELPARAMETERIVQCOMPROC)(GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLEXTGETTEXSUBIMAGEQCOMPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLvoid *texels);\ntypedef void (REGAL_CALL *PFNGLEXTGETTEXTURESQCOMPROC)(GLuint *textures, GLint maxTextures, GLint *numTextures);\ntypedef void (REGAL_CALL *PFNGLEXTTEXOBJECTSTATEOVERRIDEIQCOMPROC)(GLenum target, GLenum pname, GLint param);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_QCOM_EXTENDED_GET\n#define glExtGetBufferPointervQCOM          rglExtGetBufferPointervQCOM\n#define glExtGetBuffersQCOM                 rglExtGetBuffersQCOM\n#define glExtGetFramebuffersQCOM            rglExtGetFramebuffersQCOM\n#define glExtGetRenderbuffersQCOM           rglExtGetRenderbuffersQCOM\n#define glExtGetTexLevelParameterivQCOM     rglExtGetTexLevelParameterivQCOM\n#define glExtGetTexSubImageQCOM             rglExtGetTexSubImageQCOM\n#define glExtGetTexturesQCOM                rglExtGetTexturesQCOM\n#define glExtTexObjectStateOverrideiQCOM    rglExtTexObjectStateOverrideiQCOM\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_QCOM_EXTENDED_GET\nREGAL_DECL void REGAL_CALL glExtGetBufferPointervQCOM(GLenum target, GLvoid **params);\nREGAL_DECL void REGAL_CALL glExtGetBuffersQCOM(GLuint *buffers, GLint maxBuffers, GLint *numBuffers);\nREGAL_DECL void REGAL_CALL glExtGetFramebuffersQCOM(GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);\nREGAL_DECL void REGAL_CALL glExtGetRenderbuffersQCOM(GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);\nREGAL_DECL void REGAL_CALL glExtGetTexLevelParameterivQCOM(GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glExtGetTexSubImageQCOM(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLvoid *texels);\nREGAL_DECL void REGAL_CALL glExtGetTexturesQCOM(GLuint *textures, GLint maxTextures, GLint *numTextures);\nREGAL_DECL void REGAL_CALL glExtTexObjectStateOverrideiQCOM(GLenum target, GLenum pname, GLint param);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_QCOM_EXTENDED_GET\nREGAL_DECL void REGAL_CALL plugin_glExtGetBufferPointervQCOM(GLenum target, GLvoid **params);\nREGAL_DECL void REGAL_CALL plugin_glExtGetBuffersQCOM(GLuint *buffers, GLint maxBuffers, GLint *numBuffers);\nREGAL_DECL void REGAL_CALL plugin_glExtGetFramebuffersQCOM(GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);\nREGAL_DECL void REGAL_CALL plugin_glExtGetRenderbuffersQCOM(GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);\nREGAL_DECL void REGAL_CALL plugin_glExtGetTexLevelParameterivQCOM(GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glExtGetTexSubImageQCOM(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLvoid *texels);\nREGAL_DECL void REGAL_CALL plugin_glExtGetTexturesQCOM(GLuint *textures, GLint maxTextures, GLint *numTextures);\nREGAL_DECL void REGAL_CALL plugin_glExtTexObjectStateOverrideiQCOM(GLenum target, GLenum pname, GLint param);\n#endif\n\n/**\n ** GL_QCOM_extended_get2\n **/\n\n#if (defined(GL_QCOM_EXTENDED_GET2) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_QCOM_EXTENDED_GET2)) && !defined(REGAL_NO_ENUM_GL_QCOM_EXTENDED_GET2)\n#define REGAL_NO_ENUM_GL_QCOM_EXTENDED_GET2\n#endif\n\n#if (defined(GL_QCOM_EXTENDED_GET2) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_QCOM_EXTENDED_GET2)) && !defined(REGAL_NO_TYPEDEF_GL_QCOM_EXTENDED_GET2)\n#define REGAL_NO_TYPEDEF_GL_QCOM_EXTENDED_GET2\n#endif\n\n#if (defined(GL_QCOM_EXTENDED_GET2) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_QCOM_EXTENDED_GET2)) && !defined(REGAL_NO_NAMESPACE_GL_QCOM_EXTENDED_GET2)\n#define REGAL_NO_NAMESPACE_GL_QCOM_EXTENDED_GET2\n#endif\n\n#if (defined(GL_QCOM_EXTENDED_GET2) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_QCOM_EXTENDED_GET2)) && !defined(REGAL_NO_PLUGIN_GL_QCOM_EXTENDED_GET2)\n#define REGAL_NO_PLUGIN_GL_QCOM_EXTENDED_GET2\n#endif\n\n#if (defined(GL_QCOM_EXTENDED_GET2) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_QCOM_EXTENDED_GET2)) && !defined(REGAL_NO_DECLARATION_GL_QCOM_EXTENDED_GET2)\n#define REGAL_NO_DECLARATION_GL_QCOM_EXTENDED_GET2\n#endif\n\n#ifndef GL_QCOM_extended_get2\n#define GL_QCOM_extended_get2 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_QCOM_EXTENDED_GET2\ntypedef GLboolean (REGAL_CALL *PFNGLEXTISPROGRAMBINARYQCOMPROC)(GLuint program);\ntypedef void (REGAL_CALL *PFNGLEXTGETPROGRAMBINARYSOURCEQCOMPROC)(GLuint program, GLenum shadertype, GLchar *source, GLint *length);\ntypedef void (REGAL_CALL *PFNGLEXTGETPROGRAMSQCOMPROC)(GLuint *programs, GLint maxPrograms, GLint *numPrograms);\ntypedef void (REGAL_CALL *PFNGLEXTGETSHADERSQCOMPROC)(GLuint *shaders, GLint maxShaders, GLint *numShaders);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_QCOM_EXTENDED_GET2\n#define glExtGetProgramBinarySourceQCOM     rglExtGetProgramBinarySourceQCOM\n#define glExtGetProgramsQCOM                rglExtGetProgramsQCOM\n#define glExtGetShadersQCOM                 rglExtGetShadersQCOM\n#define glExtIsProgramBinaryQCOM            rglExtIsProgramBinaryQCOM\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_QCOM_EXTENDED_GET2\nREGAL_DECL GLboolean REGAL_CALL glExtIsProgramBinaryQCOM(GLuint program);\nREGAL_DECL void REGAL_CALL glExtGetProgramBinarySourceQCOM(GLuint program, GLenum shadertype, GLchar *source, GLint *length);\nREGAL_DECL void REGAL_CALL glExtGetProgramsQCOM(GLuint *programs, GLint maxPrograms, GLint *numPrograms);\nREGAL_DECL void REGAL_CALL glExtGetShadersQCOM(GLuint *shaders, GLint maxShaders, GLint *numShaders);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_QCOM_EXTENDED_GET2\nREGAL_DECL GLboolean REGAL_CALL plugin_glExtIsProgramBinaryQCOM(GLuint program);\nREGAL_DECL void REGAL_CALL plugin_glExtGetProgramBinarySourceQCOM(GLuint program, GLenum shadertype, GLchar *source, GLint *length);\nREGAL_DECL void REGAL_CALL plugin_glExtGetProgramsQCOM(GLuint *programs, GLint maxPrograms, GLint *numPrograms);\nREGAL_DECL void REGAL_CALL plugin_glExtGetShadersQCOM(GLuint *shaders, GLint maxShaders, GLint *numShaders);\n#endif\n\n/**\n ** GL_QCOM_perfmon_global_mode\n **/\n\n#if (defined(GL_QCOM_PERFMON_GLOBAL_MODE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_QCOM_PERFMON_GLOBAL_MODE)) && !defined(REGAL_NO_ENUM_GL_QCOM_PERFMON_GLOBAL_MODE)\n#define REGAL_NO_ENUM_GL_QCOM_PERFMON_GLOBAL_MODE\n#endif\n\n#if (defined(GL_QCOM_PERFMON_GLOBAL_MODE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_QCOM_PERFMON_GLOBAL_MODE)) && !defined(REGAL_NO_TYPEDEF_GL_QCOM_PERFMON_GLOBAL_MODE)\n#define REGAL_NO_TYPEDEF_GL_QCOM_PERFMON_GLOBAL_MODE\n#endif\n\n#if (defined(GL_QCOM_PERFMON_GLOBAL_MODE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_QCOM_PERFMON_GLOBAL_MODE)) && !defined(REGAL_NO_NAMESPACE_GL_QCOM_PERFMON_GLOBAL_MODE)\n#define REGAL_NO_NAMESPACE_GL_QCOM_PERFMON_GLOBAL_MODE\n#endif\n\n#if (defined(GL_QCOM_PERFMON_GLOBAL_MODE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_QCOM_PERFMON_GLOBAL_MODE)) && !defined(REGAL_NO_PLUGIN_GL_QCOM_PERFMON_GLOBAL_MODE)\n#define REGAL_NO_PLUGIN_GL_QCOM_PERFMON_GLOBAL_MODE\n#endif\n\n#if (defined(GL_QCOM_PERFMON_GLOBAL_MODE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_QCOM_PERFMON_GLOBAL_MODE)) && !defined(REGAL_NO_DECLARATION_GL_QCOM_PERFMON_GLOBAL_MODE)\n#define REGAL_NO_DECLARATION_GL_QCOM_PERFMON_GLOBAL_MODE\n#endif\n\n#ifndef GL_QCOM_perfmon_global_mode\n#define GL_QCOM_perfmon_global_mode 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_QCOM_PERFMON_GLOBAL_MODE\n#define GL_PERFMON_GLOBAL_MODE_QCOM 0x8fa0 /* 36768 */\n#endif\n\n/**\n ** GL_QCOM_tiled_rendering\n **/\n\n#if (defined(GL_QCOM_TILED_RENDERING) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_QCOM_TILED_RENDERING)) && !defined(REGAL_NO_ENUM_GL_QCOM_TILED_RENDERING)\n#define REGAL_NO_ENUM_GL_QCOM_TILED_RENDERING\n#endif\n\n#if (defined(GL_QCOM_TILED_RENDERING) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_QCOM_TILED_RENDERING)) && !defined(REGAL_NO_TYPEDEF_GL_QCOM_TILED_RENDERING)\n#define REGAL_NO_TYPEDEF_GL_QCOM_TILED_RENDERING\n#endif\n\n#if (defined(GL_QCOM_TILED_RENDERING) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_QCOM_TILED_RENDERING)) && !defined(REGAL_NO_NAMESPACE_GL_QCOM_TILED_RENDERING)\n#define REGAL_NO_NAMESPACE_GL_QCOM_TILED_RENDERING\n#endif\n\n#if (defined(GL_QCOM_TILED_RENDERING) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_QCOM_TILED_RENDERING)) && !defined(REGAL_NO_PLUGIN_GL_QCOM_TILED_RENDERING)\n#define REGAL_NO_PLUGIN_GL_QCOM_TILED_RENDERING\n#endif\n\n#if (defined(GL_QCOM_TILED_RENDERING) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_QCOM_TILED_RENDERING)) && !defined(REGAL_NO_DECLARATION_GL_QCOM_TILED_RENDERING)\n#define REGAL_NO_DECLARATION_GL_QCOM_TILED_RENDERING\n#endif\n\n#ifndef GL_QCOM_tiled_rendering\n#define GL_QCOM_tiled_rendering 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_QCOM_TILED_RENDERING\n#define GL_COLOR_BUFFER_BIT0_QCOM       0x1\n#define GL_COLOR_BUFFER_BIT4_QCOM       0x10           /* 16 */\n#define GL_DEPTH_BUFFER_BIT0_QCOM       0x100          /* 256 */\n#define GL_DEPTH_BUFFER_BIT4_QCOM       0x1000         /* 4096 */\n#define GL_STENCIL_BUFFER_BIT0_QCOM     0x10000        /* 65536 */\n#define GL_STENCIL_BUFFER_BIT4_QCOM     0x100000       /* 1048576 */\n#define GL_MULTISAMPLE_BUFFER_BIT0_QCOM 0x1000000      /* 16777216 */\n#define GL_MULTISAMPLE_BUFFER_BIT4_QCOM 0x10000000     /* 268435456 */\n#define GL_COLOR_BUFFER_BIT1_QCOM       0x2\n#define GL_COLOR_BUFFER_BIT5_QCOM       0x20           /* 32 */\n#define GL_DEPTH_BUFFER_BIT1_QCOM       0x200          /* 512 */\n#define GL_DEPTH_BUFFER_BIT5_QCOM       0x2000         /* 8192 */\n#define GL_STENCIL_BUFFER_BIT1_QCOM     0x20000        /* 131072 */\n#define GL_STENCIL_BUFFER_BIT5_QCOM     0x200000       /* 2097152 */\n#define GL_MULTISAMPLE_BUFFER_BIT1_QCOM 0x2000000      /* 33554432 */\n#define GL_MULTISAMPLE_BUFFER_BIT5_QCOM 0x20000000     /* 536870912 */\n#define GL_COLOR_BUFFER_BIT2_QCOM       0x4\n#define GL_COLOR_BUFFER_BIT6_QCOM       0x40           /* 64 */\n#define GL_DEPTH_BUFFER_BIT2_QCOM       0x400          /* 1024 */\n#define GL_DEPTH_BUFFER_BIT6_QCOM       0x4000         /* 16384 */\n#define GL_STENCIL_BUFFER_BIT2_QCOM     0x40000        /* 262144 */\n#define GL_STENCIL_BUFFER_BIT6_QCOM     0x400000       /* 4194304 */\n#define GL_MULTISAMPLE_BUFFER_BIT2_QCOM 0x4000000      /* 67108864 */\n#define GL_MULTISAMPLE_BUFFER_BIT6_QCOM 0x40000000     /* 1073741824 */\n#define GL_COLOR_BUFFER_BIT3_QCOM       0x8\n#define GL_COLOR_BUFFER_BIT7_QCOM       0x80           /* 128 */\n#define GL_DEPTH_BUFFER_BIT3_QCOM       0x800          /* 2048 */\n#define GL_DEPTH_BUFFER_BIT7_QCOM       0x8000         /* 32768 */\n#define GL_STENCIL_BUFFER_BIT3_QCOM     0x80000        /* 524288 */\n#define GL_STENCIL_BUFFER_BIT7_QCOM     0x800000       /* 8388608 */\n#define GL_MULTISAMPLE_BUFFER_BIT3_QCOM 0x8000000      /* 134217728 */\n#define GL_MULTISAMPLE_BUFFER_BIT7_QCOM 0x80000000     /* 2147483648 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_QCOM_TILED_RENDERING\ntypedef void (REGAL_CALL *PFNGLENDTILINGQCOMPROC)(GLbitfield preserveMask);\ntypedef void (REGAL_CALL *PFNGLSTARTTILINGQCOMPROC)(GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_QCOM_TILED_RENDERING\n#define glEndTilingQCOM                     rglEndTilingQCOM\n#define glStartTilingQCOM                   rglStartTilingQCOM\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_QCOM_TILED_RENDERING\nREGAL_DECL void REGAL_CALL glEndTilingQCOM(GLbitfield preserveMask);\nREGAL_DECL void REGAL_CALL glStartTilingQCOM(GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_QCOM_TILED_RENDERING\nREGAL_DECL void REGAL_CALL plugin_glEndTilingQCOM(GLbitfield preserveMask);\nREGAL_DECL void REGAL_CALL plugin_glStartTilingQCOM(GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);\n#endif\n\n/**\n ** GL_QCOM_writeonly_rendering\n **/\n\n#if (defined(GL_QCOM_WRITEONLY_RENDERING) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_QCOM_WRITEONLY_RENDERING)) && !defined(REGAL_NO_ENUM_GL_QCOM_WRITEONLY_RENDERING)\n#define REGAL_NO_ENUM_GL_QCOM_WRITEONLY_RENDERING\n#endif\n\n#if (defined(GL_QCOM_WRITEONLY_RENDERING) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_QCOM_WRITEONLY_RENDERING)) && !defined(REGAL_NO_TYPEDEF_GL_QCOM_WRITEONLY_RENDERING)\n#define REGAL_NO_TYPEDEF_GL_QCOM_WRITEONLY_RENDERING\n#endif\n\n#if (defined(GL_QCOM_WRITEONLY_RENDERING) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_QCOM_WRITEONLY_RENDERING)) && !defined(REGAL_NO_NAMESPACE_GL_QCOM_WRITEONLY_RENDERING)\n#define REGAL_NO_NAMESPACE_GL_QCOM_WRITEONLY_RENDERING\n#endif\n\n#if (defined(GL_QCOM_WRITEONLY_RENDERING) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_QCOM_WRITEONLY_RENDERING)) && !defined(REGAL_NO_PLUGIN_GL_QCOM_WRITEONLY_RENDERING)\n#define REGAL_NO_PLUGIN_GL_QCOM_WRITEONLY_RENDERING\n#endif\n\n#if (defined(GL_QCOM_WRITEONLY_RENDERING) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_QCOM_WRITEONLY_RENDERING)) && !defined(REGAL_NO_DECLARATION_GL_QCOM_WRITEONLY_RENDERING)\n#define REGAL_NO_DECLARATION_GL_QCOM_WRITEONLY_RENDERING\n#endif\n\n#ifndef GL_QCOM_writeonly_rendering\n#define GL_QCOM_writeonly_rendering 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_QCOM_WRITEONLY_RENDERING\n#define GL_WRITEONLY_RENDERING_QCOM 0x8823 /* 34851 */\n#endif\n\n/**\n ** GL_REGAL_ES1_0_compatibility\n **/\n\n#if (defined(GL_REGAL_ES1_0_COMPATIBILITY) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_REGAL_ES1_0_COMPATIBILITY)) && !defined(REGAL_NO_ENUM_GL_REGAL_ES1_0_COMPATIBILITY)\n#define REGAL_NO_ENUM_GL_REGAL_ES1_0_COMPATIBILITY\n#endif\n\n#if (defined(GL_REGAL_ES1_0_COMPATIBILITY) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_REGAL_ES1_0_COMPATIBILITY)) && !defined(REGAL_NO_TYPEDEF_GL_REGAL_ES1_0_COMPATIBILITY)\n#define REGAL_NO_TYPEDEF_GL_REGAL_ES1_0_COMPATIBILITY\n#endif\n\n#if (defined(GL_REGAL_ES1_0_COMPATIBILITY) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_REGAL_ES1_0_COMPATIBILITY)) && !defined(REGAL_NO_NAMESPACE_GL_REGAL_ES1_0_COMPATIBILITY)\n#define REGAL_NO_NAMESPACE_GL_REGAL_ES1_0_COMPATIBILITY\n#endif\n\n#if (defined(GL_REGAL_ES1_0_COMPATIBILITY) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_REGAL_ES1_0_COMPATIBILITY)) && !defined(REGAL_NO_PLUGIN_GL_REGAL_ES1_0_COMPATIBILITY)\n#define REGAL_NO_PLUGIN_GL_REGAL_ES1_0_COMPATIBILITY\n#endif\n\n#if (defined(GL_REGAL_ES1_0_COMPATIBILITY) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_REGAL_ES1_0_COMPATIBILITY)) && !defined(REGAL_NO_DECLARATION_GL_REGAL_ES1_0_COMPATIBILITY)\n#define REGAL_NO_DECLARATION_GL_REGAL_ES1_0_COMPATIBILITY\n#endif\n\n#ifndef GL_REGAL_ES1_0_compatibility\n#define GL_REGAL_ES1_0_compatibility 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_REGAL_ES1_0_COMPATIBILITY\ntypedef void (REGAL_CALL *PFNGLALPHAFUNCXPROC)(GLenum func, GLclampx ref);\ntypedef void (REGAL_CALL *PFNGLCLEARCOLORXPROC)(GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha);\ntypedef void (REGAL_CALL *PFNGLCLEARDEPTHXPROC)(GLclampx depth);\ntypedef void (REGAL_CALL *PFNGLCOLOR4XPROC)(GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha);\ntypedef void (REGAL_CALL *PFNGLDEPTHRANGEXPROC)(GLclampx zNear, GLclampx zFar);\ntypedef void (REGAL_CALL *PFNGLFOGXPROC)(GLenum pname, GLfixed param);\ntypedef void (REGAL_CALL *PFNGLFOGXVPROC)(GLenum pname, const GLfixed *params);\ntypedef void (REGAL_CALL *PFNGLFRUSTUMFPROC)(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar);\ntypedef void (REGAL_CALL *PFNGLFRUSTUMXPROC)(GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar);\ntypedef void (REGAL_CALL *PFNGLLIGHTMODELXPROC)(GLenum pname, GLfixed param);\ntypedef void (REGAL_CALL *PFNGLLIGHTMODELXVPROC)(GLenum pname, const GLfixed *params);\ntypedef void (REGAL_CALL *PFNGLLIGHTXPROC)(GLenum light, GLenum pname, GLfixed param);\ntypedef void (REGAL_CALL *PFNGLLIGHTXVPROC)(GLenum light, GLenum pname, const GLfixed *params);\ntypedef void (REGAL_CALL *PFNGLLINEWIDTHXPROC)(GLfixed width);\ntypedef void (REGAL_CALL *PFNGLLOADMATRIXXPROC)(const GLfixed *m);\ntypedef void (REGAL_CALL *PFNGLMATERIALXPROC)(GLenum face, GLenum pname, GLfixed param);\ntypedef void (REGAL_CALL *PFNGLMATERIALXVPROC)(GLenum face, GLenum pname, const GLfixed *params);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD4XPROC)(GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q);\ntypedef void (REGAL_CALL *PFNGLMULTMATRIXXPROC)(const GLfixed *m);\ntypedef void (REGAL_CALL *PFNGLNORMAL3XPROC)(GLfixed nx, GLfixed ny, GLfixed nz);\ntypedef void (REGAL_CALL *PFNGLORTHOFPROC)(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar);\ntypedef void (REGAL_CALL *PFNGLORTHOXPROC)(GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar);\ntypedef void (REGAL_CALL *PFNGLPOINTSIZEXPROC)(GLfixed size);\ntypedef void (REGAL_CALL *PFNGLPOLYGONOFFSETXPROC)(GLfixed factor, GLfixed units);\ntypedef void (REGAL_CALL *PFNGLROTATEXPROC)(GLfixed angle, GLfixed x, GLfixed y, GLfixed z);\ntypedef void (REGAL_CALL *PFNGLSAMPLECOVERAGEXPROC)(GLclampx value, GLboolean invert);\ntypedef void (REGAL_CALL *PFNGLSCALEXPROC)(GLfixed x, GLfixed y, GLfixed z);\ntypedef void (REGAL_CALL *PFNGLTEXENVXPROC)(GLenum target, GLenum pname, GLfixed param);\ntypedef void (REGAL_CALL *PFNGLTEXENVXVPROC)(GLenum target, GLenum pname, const GLfixed *params);\ntypedef void (REGAL_CALL *PFNGLTEXPARAMETERXPROC)(GLenum target, GLenum pname, GLfixed param);\ntypedef void (REGAL_CALL *PFNGLTRANSLATEXPROC)(GLfixed x, GLfixed y, GLfixed z);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_REGAL_ES1_0_COMPATIBILITY\n#define glAlphaFuncx                        rglAlphaFuncx\n#define glClearColorx                       rglClearColorx\n#define glClearDepthx                       rglClearDepthx\n#define glColor4x                           rglColor4x\n#define glDepthRangex                       rglDepthRangex\n#define glFogx                              rglFogx\n#define glFogxv                             rglFogxv\n#define glFrustumf                          rglFrustumf\n#define glFrustumx                          rglFrustumx\n#define glLightModelx                       rglLightModelx\n#define glLightModelxv                      rglLightModelxv\n#define glLightx                            rglLightx\n#define glLightxv                           rglLightxv\n#define glLineWidthx                        rglLineWidthx\n#define glLoadMatrixx                       rglLoadMatrixx\n#define glMaterialx                         rglMaterialx\n#define glMaterialxv                        rglMaterialxv\n#define glMultMatrixx                       rglMultMatrixx\n#define glMultiTexCoord4x                   rglMultiTexCoord4x\n#define glNormal3x                          rglNormal3x\n#define glOrthof                            rglOrthof\n#define glOrthox                            rglOrthox\n#define glPointSizex                        rglPointSizex\n#define glPolygonOffsetx                    rglPolygonOffsetx\n#define glRotatex                           rglRotatex\n#define glSampleCoveragex                   rglSampleCoveragex\n#define glScalex                            rglScalex\n#define glTexEnvx                           rglTexEnvx\n#define glTexEnvxv                          rglTexEnvxv\n#define glTexParameterx                     rglTexParameterx\n#define glTranslatex                        rglTranslatex\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_REGAL_ES1_0_COMPATIBILITY\nREGAL_DECL void REGAL_CALL glAlphaFuncx(GLenum func, GLclampx ref);\nREGAL_DECL void REGAL_CALL glClearColorx(GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha);\nREGAL_DECL void REGAL_CALL glClearDepthx(GLclampx depth);\nREGAL_DECL void REGAL_CALL glColor4x(GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha);\nREGAL_DECL void REGAL_CALL glDepthRangex(GLclampx zNear, GLclampx zFar);\nREGAL_DECL void REGAL_CALL glFogx(GLenum pname, GLfixed param);\nREGAL_DECL void REGAL_CALL glFogxv(GLenum pname, const GLfixed *params);\nREGAL_DECL void REGAL_CALL glFrustumf(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar);\nREGAL_DECL void REGAL_CALL glFrustumx(GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar);\nREGAL_DECL void REGAL_CALL glLightModelx(GLenum pname, GLfixed param);\nREGAL_DECL void REGAL_CALL glLightModelxv(GLenum pname, const GLfixed *params);\nREGAL_DECL void REGAL_CALL glLightx(GLenum light, GLenum pname, GLfixed param);\nREGAL_DECL void REGAL_CALL glLightxv(GLenum light, GLenum pname, const GLfixed *params);\nREGAL_DECL void REGAL_CALL glLineWidthx(GLfixed width);\nREGAL_DECL void REGAL_CALL glLoadMatrixx(const GLfixed *m);\nREGAL_DECL void REGAL_CALL glMaterialx(GLenum face, GLenum pname, GLfixed param);\nREGAL_DECL void REGAL_CALL glMaterialxv(GLenum face, GLenum pname, const GLfixed *params);\nREGAL_DECL void REGAL_CALL glMultMatrixx(const GLfixed *m);\nREGAL_DECL void REGAL_CALL glMultiTexCoord4x(GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q);\nREGAL_DECL void REGAL_CALL glNormal3x(GLfixed nx, GLfixed ny, GLfixed nz);\nREGAL_DECL void REGAL_CALL glOrthof(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar);\nREGAL_DECL void REGAL_CALL glOrthox(GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar);\nREGAL_DECL void REGAL_CALL glPointSizex(GLfixed size);\nREGAL_DECL void REGAL_CALL glPolygonOffsetx(GLfixed factor, GLfixed units);\nREGAL_DECL void REGAL_CALL glRotatex(GLfixed angle, GLfixed x, GLfixed y, GLfixed z);\nREGAL_DECL void REGAL_CALL glSampleCoveragex(GLclampx value, GLboolean invert);\nREGAL_DECL void REGAL_CALL glScalex(GLfixed x, GLfixed y, GLfixed z);\nREGAL_DECL void REGAL_CALL glTexEnvx(GLenum target, GLenum pname, GLfixed param);\nREGAL_DECL void REGAL_CALL glTexEnvxv(GLenum target, GLenum pname, const GLfixed *params);\nREGAL_DECL void REGAL_CALL glTexParameterx(GLenum target, GLenum pname, GLfixed param);\nREGAL_DECL void REGAL_CALL glTranslatex(GLfixed x, GLfixed y, GLfixed z);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_REGAL_ES1_0_COMPATIBILITY\nREGAL_DECL void REGAL_CALL plugin_glAlphaFuncx(GLenum func, GLclampx ref);\nREGAL_DECL void REGAL_CALL plugin_glClearColorx(GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha);\nREGAL_DECL void REGAL_CALL plugin_glClearDepthx(GLclampx depth);\nREGAL_DECL void REGAL_CALL plugin_glColor4x(GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha);\nREGAL_DECL void REGAL_CALL plugin_glDepthRangex(GLclampx zNear, GLclampx zFar);\nREGAL_DECL void REGAL_CALL plugin_glFogx(GLenum pname, GLfixed param);\nREGAL_DECL void REGAL_CALL plugin_glFogxv(GLenum pname, const GLfixed *params);\nREGAL_DECL void REGAL_CALL plugin_glFrustumf(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar);\nREGAL_DECL void REGAL_CALL plugin_glFrustumx(GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar);\nREGAL_DECL void REGAL_CALL plugin_glLightModelx(GLenum pname, GLfixed param);\nREGAL_DECL void REGAL_CALL plugin_glLightModelxv(GLenum pname, const GLfixed *params);\nREGAL_DECL void REGAL_CALL plugin_glLightx(GLenum light, GLenum pname, GLfixed param);\nREGAL_DECL void REGAL_CALL plugin_glLightxv(GLenum light, GLenum pname, const GLfixed *params);\nREGAL_DECL void REGAL_CALL plugin_glLineWidthx(GLfixed width);\nREGAL_DECL void REGAL_CALL plugin_glLoadMatrixx(const GLfixed *m);\nREGAL_DECL void REGAL_CALL plugin_glMaterialx(GLenum face, GLenum pname, GLfixed param);\nREGAL_DECL void REGAL_CALL plugin_glMaterialxv(GLenum face, GLenum pname, const GLfixed *params);\nREGAL_DECL void REGAL_CALL plugin_glMultMatrixx(const GLfixed *m);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord4x(GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q);\nREGAL_DECL void REGAL_CALL plugin_glNormal3x(GLfixed nx, GLfixed ny, GLfixed nz);\nREGAL_DECL void REGAL_CALL plugin_glOrthof(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar);\nREGAL_DECL void REGAL_CALL plugin_glOrthox(GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar);\nREGAL_DECL void REGAL_CALL plugin_glPointSizex(GLfixed size);\nREGAL_DECL void REGAL_CALL plugin_glPolygonOffsetx(GLfixed factor, GLfixed units);\nREGAL_DECL void REGAL_CALL plugin_glRotatex(GLfixed angle, GLfixed x, GLfixed y, GLfixed z);\nREGAL_DECL void REGAL_CALL plugin_glSampleCoveragex(GLclampx value, GLboolean invert);\nREGAL_DECL void REGAL_CALL plugin_glScalex(GLfixed x, GLfixed y, GLfixed z);\nREGAL_DECL void REGAL_CALL plugin_glTexEnvx(GLenum target, GLenum pname, GLfixed param);\nREGAL_DECL void REGAL_CALL plugin_glTexEnvxv(GLenum target, GLenum pname, const GLfixed *params);\nREGAL_DECL void REGAL_CALL plugin_glTexParameterx(GLenum target, GLenum pname, GLfixed param);\nREGAL_DECL void REGAL_CALL plugin_glTranslatex(GLfixed x, GLfixed y, GLfixed z);\n#endif\n\n/**\n ** GL_REGAL_ES1_1_compatibility\n **/\n\n#if (defined(GL_REGAL_ES1_1_COMPATIBILITY) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_REGAL_ES1_1_COMPATIBILITY)) && !defined(REGAL_NO_ENUM_GL_REGAL_ES1_1_COMPATIBILITY)\n#define REGAL_NO_ENUM_GL_REGAL_ES1_1_COMPATIBILITY\n#endif\n\n#if (defined(GL_REGAL_ES1_1_COMPATIBILITY) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_REGAL_ES1_1_COMPATIBILITY)) && !defined(REGAL_NO_TYPEDEF_GL_REGAL_ES1_1_COMPATIBILITY)\n#define REGAL_NO_TYPEDEF_GL_REGAL_ES1_1_COMPATIBILITY\n#endif\n\n#if (defined(GL_REGAL_ES1_1_COMPATIBILITY) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_REGAL_ES1_1_COMPATIBILITY)) && !defined(REGAL_NO_NAMESPACE_GL_REGAL_ES1_1_COMPATIBILITY)\n#define REGAL_NO_NAMESPACE_GL_REGAL_ES1_1_COMPATIBILITY\n#endif\n\n#if (defined(GL_REGAL_ES1_1_COMPATIBILITY) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_REGAL_ES1_1_COMPATIBILITY)) && !defined(REGAL_NO_PLUGIN_GL_REGAL_ES1_1_COMPATIBILITY)\n#define REGAL_NO_PLUGIN_GL_REGAL_ES1_1_COMPATIBILITY\n#endif\n\n#if (defined(GL_REGAL_ES1_1_COMPATIBILITY) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_REGAL_ES1_1_COMPATIBILITY)) && !defined(REGAL_NO_DECLARATION_GL_REGAL_ES1_1_COMPATIBILITY)\n#define REGAL_NO_DECLARATION_GL_REGAL_ES1_1_COMPATIBILITY\n#endif\n\n#ifndef GL_REGAL_ES1_1_compatibility\n#define GL_REGAL_ES1_1_compatibility 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_REGAL_ES1_1_COMPATIBILITY\ntypedef void (REGAL_CALL *PFNGLCLIPPLANEFPROC)(GLenum plane, const GLfloat *equation);\ntypedef void (REGAL_CALL *PFNGLCLIPPLANEXPROC)(GLenum plane, const GLfixed *equation);\ntypedef void (REGAL_CALL *PFNGLGETCLIPPLANEFPROC)(GLenum pname, GLfloat *eqn);\ntypedef void (REGAL_CALL *PFNGLGETCLIPPLANEXPROC)(GLenum pname, GLfixed *eqn);\ntypedef void (REGAL_CALL *PFNGLGETFIXEDVPROC)(GLenum pname, GLfixed *params);\ntypedef void (REGAL_CALL *PFNGLGETLIGHTXVPROC)(GLenum light, GLenum pname, GLfixed *params);\ntypedef void (REGAL_CALL *PFNGLGETMATERIALXVPROC)(GLenum face, GLenum pname, GLfixed *params);\ntypedef void (REGAL_CALL *PFNGLGETTEXENVXVPROC)(GLenum env, GLenum pname, GLfixed *params);\ntypedef void (REGAL_CALL *PFNGLGETTEXPARAMETERXVPROC)(GLenum target, GLenum pname, GLfixed *params);\ntypedef void (REGAL_CALL *PFNGLPOINTPARAMETERXPROC)(GLenum pname, GLfixed param);\ntypedef void (REGAL_CALL *PFNGLPOINTPARAMETERXVPROC)(GLenum pname, const GLfixed *params);\ntypedef void (REGAL_CALL *PFNGLPOINTSIZEPOINTEROESPROC)(GLenum type, GLsizei stride, const GLvoid *pointer);\ntypedef void (REGAL_CALL *PFNGLTEXPARAMETERXVPROC)(GLenum target, GLenum pname, const GLfixed *params);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_REGAL_ES1_1_COMPATIBILITY\n#define glClipPlanef                        rglClipPlanef\n#define glClipPlanex                        rglClipPlanex\n#define glGetClipPlanef                     rglGetClipPlanef\n#define glGetClipPlanex                     rglGetClipPlanex\n#define glGetFixedv                         rglGetFixedv\n#define glGetLightxv                        rglGetLightxv\n#define glGetMaterialxv                     rglGetMaterialxv\n#define glGetTexEnvxv                       rglGetTexEnvxv\n#define glGetTexParameterxv                 rglGetTexParameterxv\n#define glPointParameterx                   rglPointParameterx\n#define glPointParameterxv                  rglPointParameterxv\n#define glPointSizePointerOES               rglPointSizePointerOES\n#define glTexParameterxv                    rglTexParameterxv\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_REGAL_ES1_1_COMPATIBILITY\nREGAL_DECL void REGAL_CALL glClipPlanef(GLenum plane, const GLfloat *equation);\nREGAL_DECL void REGAL_CALL glClipPlanex(GLenum plane, const GLfixed *equation);\nREGAL_DECL void REGAL_CALL glGetClipPlanef(GLenum pname, GLfloat *eqn);\nREGAL_DECL void REGAL_CALL glGetClipPlanex(GLenum pname, GLfixed *eqn);\nREGAL_DECL void REGAL_CALL glGetFixedv(GLenum pname, GLfixed *params);\nREGAL_DECL void REGAL_CALL glGetLightxv(GLenum light, GLenum pname, GLfixed *params);\nREGAL_DECL void REGAL_CALL glGetMaterialxv(GLenum face, GLenum pname, GLfixed *params);\nREGAL_DECL void REGAL_CALL glGetTexEnvxv(GLenum env, GLenum pname, GLfixed *params);\nREGAL_DECL void REGAL_CALL glGetTexParameterxv(GLenum target, GLenum pname, GLfixed *params);\nREGAL_DECL void REGAL_CALL glPointParameterx(GLenum pname, GLfixed param);\nREGAL_DECL void REGAL_CALL glPointParameterxv(GLenum pname, const GLfixed *params);\nREGAL_DECL void REGAL_CALL glPointSizePointerOES(GLenum type, GLsizei stride, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL glTexParameterxv(GLenum target, GLenum pname, const GLfixed *params);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_REGAL_ES1_1_COMPATIBILITY\nREGAL_DECL void REGAL_CALL plugin_glClipPlanef(GLenum plane, const GLfloat *equation);\nREGAL_DECL void REGAL_CALL plugin_glClipPlanex(GLenum plane, const GLfixed *equation);\nREGAL_DECL void REGAL_CALL plugin_glGetClipPlanef(GLenum pname, GLfloat *eqn);\nREGAL_DECL void REGAL_CALL plugin_glGetClipPlanex(GLenum pname, GLfixed *eqn);\nREGAL_DECL void REGAL_CALL plugin_glGetFixedv(GLenum pname, GLfixed *params);\nREGAL_DECL void REGAL_CALL plugin_glGetLightxv(GLenum light, GLenum pname, GLfixed *params);\nREGAL_DECL void REGAL_CALL plugin_glGetMaterialxv(GLenum face, GLenum pname, GLfixed *params);\nREGAL_DECL void REGAL_CALL plugin_glGetTexEnvxv(GLenum env, GLenum pname, GLfixed *params);\nREGAL_DECL void REGAL_CALL plugin_glGetTexParameterxv(GLenum target, GLenum pname, GLfixed *params);\nREGAL_DECL void REGAL_CALL plugin_glPointParameterx(GLenum pname, GLfixed param);\nREGAL_DECL void REGAL_CALL plugin_glPointParameterxv(GLenum pname, const GLfixed *params);\nREGAL_DECL void REGAL_CALL plugin_glPointSizePointerOES(GLenum type, GLsizei stride, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL plugin_glTexParameterxv(GLenum target, GLenum pname, const GLfixed *params);\n#endif\n\n/**\n ** GL_REGAL_enable\n **/\n\n#if (defined(GL_REGAL_ENABLE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_REGAL_ENABLE)) && !defined(REGAL_NO_ENUM_GL_REGAL_ENABLE)\n#define REGAL_NO_ENUM_GL_REGAL_ENABLE\n#endif\n\n#if (defined(GL_REGAL_ENABLE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_REGAL_ENABLE)) && !defined(REGAL_NO_TYPEDEF_GL_REGAL_ENABLE)\n#define REGAL_NO_TYPEDEF_GL_REGAL_ENABLE\n#endif\n\n#if (defined(GL_REGAL_ENABLE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_REGAL_ENABLE)) && !defined(REGAL_NO_NAMESPACE_GL_REGAL_ENABLE)\n#define REGAL_NO_NAMESPACE_GL_REGAL_ENABLE\n#endif\n\n#if (defined(GL_REGAL_ENABLE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_REGAL_ENABLE)) && !defined(REGAL_NO_PLUGIN_GL_REGAL_ENABLE)\n#define REGAL_NO_PLUGIN_GL_REGAL_ENABLE\n#endif\n\n#if (defined(GL_REGAL_ENABLE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_REGAL_ENABLE)) && !defined(REGAL_NO_DECLARATION_GL_REGAL_ENABLE)\n#define REGAL_NO_DECLARATION_GL_REGAL_ENABLE\n#endif\n\n#ifndef GL_REGAL_enable\n#define GL_REGAL_enable 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_REGAL_ENABLE\n#define GL_ERROR_REGAL      0x9322     /* 37666 */\n#define GL_DEBUG_REGAL      0x9323     /* 37667 */\n#define GL_LOG_REGAL        0x9324     /* 37668 */\n#define GL_EMULATION_REGAL  0x9325     /* 37669 */\n#define GL_DRIVER_REGAL     0x9326     /* 37670 */\n#define GL_MISSING_REGAL    0x9360     /* 37728 */\n#define GL_TRACE_REGAL      0x9361     /* 37729 */\n#define GL_CACHE_REGAL      0x9362     /* 37730 */\n#define GL_CODE_REGAL       0x9363     /* 37731 */\n#define GL_STATISTICS_REGAL 0x9364     /* 37732 */\n#endif\n\n/**\n ** GL_REGAL_error_string\n **/\n\n#if (defined(GL_REGAL_ERROR_STRING) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_REGAL_ERROR_STRING)) && !defined(REGAL_NO_ENUM_GL_REGAL_ERROR_STRING)\n#define REGAL_NO_ENUM_GL_REGAL_ERROR_STRING\n#endif\n\n#if (defined(GL_REGAL_ERROR_STRING) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_REGAL_ERROR_STRING)) && !defined(REGAL_NO_TYPEDEF_GL_REGAL_ERROR_STRING)\n#define REGAL_NO_TYPEDEF_GL_REGAL_ERROR_STRING\n#endif\n\n#if (defined(GL_REGAL_ERROR_STRING) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_REGAL_ERROR_STRING)) && !defined(REGAL_NO_NAMESPACE_GL_REGAL_ERROR_STRING)\n#define REGAL_NO_NAMESPACE_GL_REGAL_ERROR_STRING\n#endif\n\n#if (defined(GL_REGAL_ERROR_STRING) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_REGAL_ERROR_STRING)) && !defined(REGAL_NO_PLUGIN_GL_REGAL_ERROR_STRING)\n#define REGAL_NO_PLUGIN_GL_REGAL_ERROR_STRING\n#endif\n\n#if (defined(GL_REGAL_ERROR_STRING) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_REGAL_ERROR_STRING)) && !defined(REGAL_NO_DECLARATION_GL_REGAL_ERROR_STRING)\n#define REGAL_NO_DECLARATION_GL_REGAL_ERROR_STRING\n#endif\n\n#ifndef GL_REGAL_error_string\n#define GL_REGAL_error_string 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_REGAL_ERROR_STRING\ntypedef const GLchar *(REGAL_CALL *PFNGLERRORSTRINGREGALPROC)(GLenum error);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_REGAL_ERROR_STRING\n#define glErrorStringREGAL                  rglErrorStringREGAL\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_REGAL_ERROR_STRING\nREGAL_DECL const GLchar *REGAL_CALL glErrorStringREGAL(GLenum error);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_REGAL_ERROR_STRING\nREGAL_DECL const GLchar *REGAL_CALL plugin_glErrorStringREGAL(GLenum error);\n#endif\n\n/**\n ** GL_REGAL_extension_query\n **/\n\n#if (defined(GL_REGAL_EXTENSION_QUERY) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_REGAL_EXTENSION_QUERY)) && !defined(REGAL_NO_ENUM_GL_REGAL_EXTENSION_QUERY)\n#define REGAL_NO_ENUM_GL_REGAL_EXTENSION_QUERY\n#endif\n\n#if (defined(GL_REGAL_EXTENSION_QUERY) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_REGAL_EXTENSION_QUERY)) && !defined(REGAL_NO_TYPEDEF_GL_REGAL_EXTENSION_QUERY)\n#define REGAL_NO_TYPEDEF_GL_REGAL_EXTENSION_QUERY\n#endif\n\n#if (defined(GL_REGAL_EXTENSION_QUERY) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_REGAL_EXTENSION_QUERY)) && !defined(REGAL_NO_NAMESPACE_GL_REGAL_EXTENSION_QUERY)\n#define REGAL_NO_NAMESPACE_GL_REGAL_EXTENSION_QUERY\n#endif\n\n#if (defined(GL_REGAL_EXTENSION_QUERY) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_REGAL_EXTENSION_QUERY)) && !defined(REGAL_NO_PLUGIN_GL_REGAL_EXTENSION_QUERY)\n#define REGAL_NO_PLUGIN_GL_REGAL_EXTENSION_QUERY\n#endif\n\n#if (defined(GL_REGAL_EXTENSION_QUERY) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_REGAL_EXTENSION_QUERY)) && !defined(REGAL_NO_DECLARATION_GL_REGAL_EXTENSION_QUERY)\n#define REGAL_NO_DECLARATION_GL_REGAL_EXTENSION_QUERY\n#endif\n\n#ifndef GL_REGAL_extension_query\n#define GL_REGAL_extension_query 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_REGAL_EXTENSION_QUERY\ntypedef GLboolean (REGAL_CALL *PFNGLGETEXTENSIONREGALPROC)(const GLchar *ext);\ntypedef GLboolean (REGAL_CALL *PFNGLISSUPPORTEDREGALPROC)(const GLchar *ext);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_REGAL_EXTENSION_QUERY\n#define glGetExtensionREGAL                 rglGetExtensionREGAL\n#define glIsSupportedREGAL                  rglIsSupportedREGAL\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_REGAL_EXTENSION_QUERY\nREGAL_DECL GLboolean REGAL_CALL glGetExtensionREGAL(const GLchar *ext);\nREGAL_DECL GLboolean REGAL_CALL glIsSupportedREGAL(const GLchar *ext);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_REGAL_EXTENSION_QUERY\nREGAL_DECL GLboolean REGAL_CALL plugin_glGetExtensionREGAL(const GLchar *ext);\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsSupportedREGAL(const GLchar *ext);\n#endif\n\n/**\n ** GL_REGAL_log\n **/\n\n#if (defined(GL_REGAL_LOG) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_REGAL_LOG)) && !defined(REGAL_NO_ENUM_GL_REGAL_LOG)\n#define REGAL_NO_ENUM_GL_REGAL_LOG\n#endif\n\n#if (defined(GL_REGAL_LOG) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_REGAL_LOG)) && !defined(REGAL_NO_TYPEDEF_GL_REGAL_LOG)\n#define REGAL_NO_TYPEDEF_GL_REGAL_LOG\n#endif\n\n#if (defined(GL_REGAL_LOG) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_REGAL_LOG)) && !defined(REGAL_NO_NAMESPACE_GL_REGAL_LOG)\n#define REGAL_NO_NAMESPACE_GL_REGAL_LOG\n#endif\n\n#if (defined(GL_REGAL_LOG) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_REGAL_LOG)) && !defined(REGAL_NO_PLUGIN_GL_REGAL_LOG)\n#define REGAL_NO_PLUGIN_GL_REGAL_LOG\n#endif\n\n#if (defined(GL_REGAL_LOG) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_REGAL_LOG)) && !defined(REGAL_NO_DECLARATION_GL_REGAL_LOG)\n#define REGAL_NO_DECLARATION_GL_REGAL_LOG\n#endif\n\n#ifndef GL_REGAL_log\n#define GL_REGAL_log 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_REGAL_LOG\n#define GL_LOG_ERROR_REGAL    0x9319     /* 37657 */\n#define GL_LOG_WARNING_REGAL  0x931a     /* 37658 */\n#define GL_LOG_INFO_REGAL     0x931b     /* 37659 */\n#define GL_LOG_APP_REGAL      0x931c     /* 37660 */\n#define GL_LOG_DRIVER_REGAL   0x931d     /* 37661 */\n#define GL_LOG_INTERNAL_REGAL 0x931e     /* 37662 */\n#define GL_LOG_DEBUG_REGAL    0x931f     /* 37663 */\n#define GL_LOG_STATUS_REGAL   0x9320     /* 37664 */\n#define GL_LOG_HTTP_REGAL     0x9321     /* 37665 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_REGAL_LOG\ntypedef void (REGAL_CALL *PFNGLLOGMESSAGECALLBACKREGALPROC)(GLLOGPROCREGAL callback);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_REGAL_LOG\n#define glLogMessageCallbackREGAL           rglLogMessageCallbackREGAL\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_REGAL_LOG\nREGAL_DECL void REGAL_CALL glLogMessageCallbackREGAL(GLLOGPROCREGAL callback);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_REGAL_LOG\nREGAL_DECL void REGAL_CALL plugin_glLogMessageCallbackREGAL(GLLOGPROCREGAL callback);\n#endif\n\n/**\n ** GL_REND_screen_coordinates\n **/\n\n#if (defined(GL_REND_SCREEN_COORDINATES) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_REND_SCREEN_COORDINATES)) && !defined(REGAL_NO_ENUM_GL_REND_SCREEN_COORDINATES)\n#define REGAL_NO_ENUM_GL_REND_SCREEN_COORDINATES\n#endif\n\n#if (defined(GL_REND_SCREEN_COORDINATES) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_REND_SCREEN_COORDINATES)) && !defined(REGAL_NO_TYPEDEF_GL_REND_SCREEN_COORDINATES)\n#define REGAL_NO_TYPEDEF_GL_REND_SCREEN_COORDINATES\n#endif\n\n#if (defined(GL_REND_SCREEN_COORDINATES) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_REND_SCREEN_COORDINATES)) && !defined(REGAL_NO_NAMESPACE_GL_REND_SCREEN_COORDINATES)\n#define REGAL_NO_NAMESPACE_GL_REND_SCREEN_COORDINATES\n#endif\n\n#if (defined(GL_REND_SCREEN_COORDINATES) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_REND_SCREEN_COORDINATES)) && !defined(REGAL_NO_PLUGIN_GL_REND_SCREEN_COORDINATES)\n#define REGAL_NO_PLUGIN_GL_REND_SCREEN_COORDINATES\n#endif\n\n#if (defined(GL_REND_SCREEN_COORDINATES) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_REND_SCREEN_COORDINATES)) && !defined(REGAL_NO_DECLARATION_GL_REND_SCREEN_COORDINATES)\n#define REGAL_NO_DECLARATION_GL_REND_SCREEN_COORDINATES\n#endif\n\n#ifndef GL_REND_screen_coordinates\n#define GL_REND_screen_coordinates 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_REND_SCREEN_COORDINATES\n#define GL_SCREEN_COORDINATES_REND 0x8490     /* 33936 */\n#define GL_INVERTED_SCREEN_W_REND  0x8491     /* 33937 */\n#endif\n\n/**\n ** GL_S3_s3tc\n **/\n\n#if (defined(GL_S3_S3TC) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_S3_S3TC)) && !defined(REGAL_NO_ENUM_GL_S3_S3TC)\n#define REGAL_NO_ENUM_GL_S3_S3TC\n#endif\n\n#if (defined(GL_S3_S3TC) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_S3_S3TC)) && !defined(REGAL_NO_TYPEDEF_GL_S3_S3TC)\n#define REGAL_NO_TYPEDEF_GL_S3_S3TC\n#endif\n\n#if (defined(GL_S3_S3TC) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_S3_S3TC)) && !defined(REGAL_NO_NAMESPACE_GL_S3_S3TC)\n#define REGAL_NO_NAMESPACE_GL_S3_S3TC\n#endif\n\n#if (defined(GL_S3_S3TC) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_S3_S3TC)) && !defined(REGAL_NO_PLUGIN_GL_S3_S3TC)\n#define REGAL_NO_PLUGIN_GL_S3_S3TC\n#endif\n\n#if (defined(GL_S3_S3TC) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_S3_S3TC)) && !defined(REGAL_NO_DECLARATION_GL_S3_S3TC)\n#define REGAL_NO_DECLARATION_GL_S3_S3TC\n#endif\n\n#ifndef GL_S3_s3tc\n#define GL_S3_s3tc 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_S3_S3TC\n#define GL_RGB_S3TC        0x83a0     /* 33696 */\n#define GL_RGB4_S3TC       0x83a1     /* 33697 */\n#define GL_RGBA_S3TC       0x83a2     /* 33698 */\n#define GL_RGBA4_S3TC      0x83a3     /* 33699 */\n#define GL_RGBA_DXT5_S3TC  0x83a4     /* 33700 */\n#define GL_RGBA4_DXT5_S3TC 0x83a5     /* 33701 */\n#endif\n\n/**\n ** GL_SGIS_color_range\n **/\n\n#if (defined(GL_SGIS_COLOR_RANGE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIS_COLOR_RANGE)) && !defined(REGAL_NO_ENUM_GL_SGIS_COLOR_RANGE)\n#define REGAL_NO_ENUM_GL_SGIS_COLOR_RANGE\n#endif\n\n#if (defined(GL_SGIS_COLOR_RANGE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIS_COLOR_RANGE)) && !defined(REGAL_NO_TYPEDEF_GL_SGIS_COLOR_RANGE)\n#define REGAL_NO_TYPEDEF_GL_SGIS_COLOR_RANGE\n#endif\n\n#if (defined(GL_SGIS_COLOR_RANGE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIS_COLOR_RANGE)) && !defined(REGAL_NO_NAMESPACE_GL_SGIS_COLOR_RANGE)\n#define REGAL_NO_NAMESPACE_GL_SGIS_COLOR_RANGE\n#endif\n\n#if (defined(GL_SGIS_COLOR_RANGE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIS_COLOR_RANGE)) && !defined(REGAL_NO_PLUGIN_GL_SGIS_COLOR_RANGE)\n#define REGAL_NO_PLUGIN_GL_SGIS_COLOR_RANGE\n#endif\n\n#if (defined(GL_SGIS_COLOR_RANGE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIS_COLOR_RANGE)) && !defined(REGAL_NO_DECLARATION_GL_SGIS_COLOR_RANGE)\n#define REGAL_NO_DECLARATION_GL_SGIS_COLOR_RANGE\n#endif\n\n#ifndef GL_SGIS_color_range\n#define GL_SGIS_color_range 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_SGIS_COLOR_RANGE\n#define GL_EXTENDED_RANGE_SGIS 0x85a5     /* 34213 */\n#define GL_MIN_RED_SGIS        0x85a6     /* 34214 */\n#define GL_MAX_RED_SGIS        0x85a7     /* 34215 */\n#define GL_MIN_GREEN_SGIS      0x85a8     /* 34216 */\n#define GL_MAX_GREEN_SGIS      0x85a9     /* 34217 */\n#define GL_MIN_BLUE_SGIS       0x85aa     /* 34218 */\n#define GL_MAX_BLUE_SGIS       0x85ab     /* 34219 */\n#define GL_MIN_ALPHA_SGIS      0x85ac     /* 34220 */\n#define GL_MAX_ALPHA_SGIS      0x85ad     /* 34221 */\n#endif\n\n/**\n ** GL_SGIS_detail_texture\n **/\n\n#if (defined(GL_SGIS_DETAIL_TEXTURE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIS_DETAIL_TEXTURE)) && !defined(REGAL_NO_ENUM_GL_SGIS_DETAIL_TEXTURE)\n#define REGAL_NO_ENUM_GL_SGIS_DETAIL_TEXTURE\n#endif\n\n#if (defined(GL_SGIS_DETAIL_TEXTURE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIS_DETAIL_TEXTURE)) && !defined(REGAL_NO_TYPEDEF_GL_SGIS_DETAIL_TEXTURE)\n#define REGAL_NO_TYPEDEF_GL_SGIS_DETAIL_TEXTURE\n#endif\n\n#if (defined(GL_SGIS_DETAIL_TEXTURE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIS_DETAIL_TEXTURE)) && !defined(REGAL_NO_NAMESPACE_GL_SGIS_DETAIL_TEXTURE)\n#define REGAL_NO_NAMESPACE_GL_SGIS_DETAIL_TEXTURE\n#endif\n\n#if (defined(GL_SGIS_DETAIL_TEXTURE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIS_DETAIL_TEXTURE)) && !defined(REGAL_NO_PLUGIN_GL_SGIS_DETAIL_TEXTURE)\n#define REGAL_NO_PLUGIN_GL_SGIS_DETAIL_TEXTURE\n#endif\n\n#if (defined(GL_SGIS_DETAIL_TEXTURE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIS_DETAIL_TEXTURE)) && !defined(REGAL_NO_DECLARATION_GL_SGIS_DETAIL_TEXTURE)\n#define REGAL_NO_DECLARATION_GL_SGIS_DETAIL_TEXTURE\n#endif\n\n#ifndef GL_SGIS_detail_texture\n#define GL_SGIS_detail_texture 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_SGIS_DETAIL_TEXTURE\n#define GL_DETAIL_TEXTURE_2D_SGIS          0x8095     /* 32917 */\n#define GL_DETAIL_TEXTURE_2D_BINDING_SGIS  0x8096     /* 32918 */\n#define GL_LINEAR_DETAIL_SGIS              0x8097     /* 32919 */\n#define GL_LINEAR_DETAIL_ALPHA_SGIS        0x8098     /* 32920 */\n#define GL_LINEAR_DETAIL_COLOR_SGIS        0x8099     /* 32921 */\n#define GL_DETAIL_TEXTURE_LEVEL_SGIS       0x809a     /* 32922 */\n#define GL_DETAIL_TEXTURE_MODE_SGIS        0x809b     /* 32923 */\n#define GL_DETAIL_TEXTURE_FUNC_POINTS_SGIS 0x809c     /* 32924 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_SGIS_DETAIL_TEXTURE\ntypedef void (REGAL_CALL *PFNGLDETAILTEXFUNCSGISPROC)(GLenum target, GLsizei n, const GLfloat *points);\ntypedef void (REGAL_CALL *PFNGLGETDETAILTEXFUNCSGISPROC)(GLenum target, GLfloat *points);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_SGIS_DETAIL_TEXTURE\n#define glDetailTexFuncSGIS                 rglDetailTexFuncSGIS\n#define glGetDetailTexFuncSGIS              rglGetDetailTexFuncSGIS\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_SGIS_DETAIL_TEXTURE\nREGAL_DECL void REGAL_CALL glDetailTexFuncSGIS(GLenum target, GLsizei n, const GLfloat *points);\nREGAL_DECL void REGAL_CALL glGetDetailTexFuncSGIS(GLenum target, GLfloat *points);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_SGIS_DETAIL_TEXTURE\nREGAL_DECL void REGAL_CALL plugin_glDetailTexFuncSGIS(GLenum target, GLsizei n, const GLfloat *points);\nREGAL_DECL void REGAL_CALL plugin_glGetDetailTexFuncSGIS(GLenum target, GLfloat *points);\n#endif\n\n/**\n ** GL_SGIS_fog_function\n **/\n\n#if (defined(GL_SGIS_FOG_FUNCTION) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIS_FOG_FUNCTION)) && !defined(REGAL_NO_ENUM_GL_SGIS_FOG_FUNCTION)\n#define REGAL_NO_ENUM_GL_SGIS_FOG_FUNCTION\n#endif\n\n#if (defined(GL_SGIS_FOG_FUNCTION) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIS_FOG_FUNCTION)) && !defined(REGAL_NO_TYPEDEF_GL_SGIS_FOG_FUNCTION)\n#define REGAL_NO_TYPEDEF_GL_SGIS_FOG_FUNCTION\n#endif\n\n#if (defined(GL_SGIS_FOG_FUNCTION) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIS_FOG_FUNCTION)) && !defined(REGAL_NO_NAMESPACE_GL_SGIS_FOG_FUNCTION)\n#define REGAL_NO_NAMESPACE_GL_SGIS_FOG_FUNCTION\n#endif\n\n#if (defined(GL_SGIS_FOG_FUNCTION) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIS_FOG_FUNCTION)) && !defined(REGAL_NO_PLUGIN_GL_SGIS_FOG_FUNCTION)\n#define REGAL_NO_PLUGIN_GL_SGIS_FOG_FUNCTION\n#endif\n\n#if (defined(GL_SGIS_FOG_FUNCTION) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIS_FOG_FUNCTION)) && !defined(REGAL_NO_DECLARATION_GL_SGIS_FOG_FUNCTION)\n#define REGAL_NO_DECLARATION_GL_SGIS_FOG_FUNCTION\n#endif\n\n#ifndef GL_SGIS_fog_function\n#define GL_SGIS_fog_function 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_SGIS_FOG_FUNCTION\ntypedef void (REGAL_CALL *PFNGLFOGFUNCSGISPROC)(GLsizei n, const GLfloat *points);\ntypedef void (REGAL_CALL *PFNGLGETFOGFUNCSGISPROC)(GLfloat *points);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_SGIS_FOG_FUNCTION\n#define glFogFuncSGIS                       rglFogFuncSGIS\n#define glGetFogFuncSGIS                    rglGetFogFuncSGIS\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_SGIS_FOG_FUNCTION\nREGAL_DECL void REGAL_CALL glFogFuncSGIS(GLsizei n, const GLfloat *points);\nREGAL_DECL void REGAL_CALL glGetFogFuncSGIS(GLfloat *points);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_SGIS_FOG_FUNCTION\nREGAL_DECL void REGAL_CALL plugin_glFogFuncSGIS(GLsizei n, const GLfloat *points);\nREGAL_DECL void REGAL_CALL plugin_glGetFogFuncSGIS(GLfloat *points);\n#endif\n\n/**\n ** GL_SGIS_generate_mipmap\n **/\n\n#if (defined(GL_SGIS_GENERATE_MIPMAP) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIS_GENERATE_MIPMAP)) && !defined(REGAL_NO_ENUM_GL_SGIS_GENERATE_MIPMAP)\n#define REGAL_NO_ENUM_GL_SGIS_GENERATE_MIPMAP\n#endif\n\n#if (defined(GL_SGIS_GENERATE_MIPMAP) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIS_GENERATE_MIPMAP)) && !defined(REGAL_NO_TYPEDEF_GL_SGIS_GENERATE_MIPMAP)\n#define REGAL_NO_TYPEDEF_GL_SGIS_GENERATE_MIPMAP\n#endif\n\n#if (defined(GL_SGIS_GENERATE_MIPMAP) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIS_GENERATE_MIPMAP)) && !defined(REGAL_NO_NAMESPACE_GL_SGIS_GENERATE_MIPMAP)\n#define REGAL_NO_NAMESPACE_GL_SGIS_GENERATE_MIPMAP\n#endif\n\n#if (defined(GL_SGIS_GENERATE_MIPMAP) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIS_GENERATE_MIPMAP)) && !defined(REGAL_NO_PLUGIN_GL_SGIS_GENERATE_MIPMAP)\n#define REGAL_NO_PLUGIN_GL_SGIS_GENERATE_MIPMAP\n#endif\n\n#if (defined(GL_SGIS_GENERATE_MIPMAP) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIS_GENERATE_MIPMAP)) && !defined(REGAL_NO_DECLARATION_GL_SGIS_GENERATE_MIPMAP)\n#define REGAL_NO_DECLARATION_GL_SGIS_GENERATE_MIPMAP\n#endif\n\n#ifndef GL_SGIS_generate_mipmap\n#define GL_SGIS_generate_mipmap 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_SGIS_GENERATE_MIPMAP\n#define GL_GENERATE_MIPMAP_SGIS      0x8191     /* 33169 */\n#define GL_GENERATE_MIPMAP_HINT_SGIS 0x8192     /* 33170 */\n#endif\n\n/**\n ** GL_SGIS_multisample\n **/\n\n#if (defined(GL_SGIS_MULTISAMPLE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIS_MULTISAMPLE)) && !defined(REGAL_NO_ENUM_GL_SGIS_MULTISAMPLE)\n#define REGAL_NO_ENUM_GL_SGIS_MULTISAMPLE\n#endif\n\n#if (defined(GL_SGIS_MULTISAMPLE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIS_MULTISAMPLE)) && !defined(REGAL_NO_TYPEDEF_GL_SGIS_MULTISAMPLE)\n#define REGAL_NO_TYPEDEF_GL_SGIS_MULTISAMPLE\n#endif\n\n#if (defined(GL_SGIS_MULTISAMPLE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIS_MULTISAMPLE)) && !defined(REGAL_NO_NAMESPACE_GL_SGIS_MULTISAMPLE)\n#define REGAL_NO_NAMESPACE_GL_SGIS_MULTISAMPLE\n#endif\n\n#if (defined(GL_SGIS_MULTISAMPLE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIS_MULTISAMPLE)) && !defined(REGAL_NO_PLUGIN_GL_SGIS_MULTISAMPLE)\n#define REGAL_NO_PLUGIN_GL_SGIS_MULTISAMPLE\n#endif\n\n#if (defined(GL_SGIS_MULTISAMPLE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIS_MULTISAMPLE)) && !defined(REGAL_NO_DECLARATION_GL_SGIS_MULTISAMPLE)\n#define REGAL_NO_DECLARATION_GL_SGIS_MULTISAMPLE\n#endif\n\n#ifndef GL_SGIS_multisample\n#define GL_SGIS_multisample 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_SGIS_MULTISAMPLE\n#define GL_MULTISAMPLE_SGIS          0x809d     /* 32925 */\n#define GL_SAMPLE_ALPHA_TO_MASK_SGIS 0x809e     /* 32926 */\n#define GL_SAMPLE_ALPHA_TO_ONE_SGIS  0x809f     /* 32927 */\n#define GL_SAMPLE_MASK_SGIS          0x80a0     /* 32928 */\n#define GL_1PASS_SGIS                0x80a1     /* 32929 */\n#define GL_2PASS_0_SGIS              0x80a2     /* 32930 */\n#define GL_2PASS_1_SGIS              0x80a3     /* 32931 */\n#define GL_4PASS_0_SGIS              0x80a4     /* 32932 */\n#define GL_4PASS_1_SGIS              0x80a5     /* 32933 */\n#define GL_4PASS_2_SGIS              0x80a6     /* 32934 */\n#define GL_4PASS_3_SGIS              0x80a7     /* 32935 */\n#define GL_SAMPLE_BUFFERS_SGIS       0x80a8     /* 32936 */\n#define GL_SAMPLES_SGIS              0x80a9     /* 32937 */\n#define GL_SAMPLE_MASK_VALUE_SGIS    0x80aa     /* 32938 */\n#define GL_SAMPLE_MASK_INVERT_SGIS   0x80ab     /* 32939 */\n#define GL_SAMPLE_PATTERN_SGIS       0x80ac     /* 32940 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_SGIS_MULTISAMPLE\ntypedef void (REGAL_CALL *PFNGLSAMPLEMASKSGISPROC)(GLclampf value, GLboolean invert);\ntypedef void (REGAL_CALL *PFNGLSAMPLEPATTERNSGISPROC)(GLenum pattern);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_SGIS_MULTISAMPLE\n#define glSampleMaskSGIS                    rglSampleMaskSGIS\n#define glSamplePatternSGIS                 rglSamplePatternSGIS\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_SGIS_MULTISAMPLE\nREGAL_DECL void REGAL_CALL glSampleMaskSGIS(GLclampf value, GLboolean invert);\nREGAL_DECL void REGAL_CALL glSamplePatternSGIS(GLenum pattern);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_SGIS_MULTISAMPLE\nREGAL_DECL void REGAL_CALL plugin_glSampleMaskSGIS(GLclampf value, GLboolean invert);\nREGAL_DECL void REGAL_CALL plugin_glSamplePatternSGIS(GLenum pattern);\n#endif\n\n/**\n ** GL_SGIS_pixel_texture\n **/\n\n#if (defined(GL_SGIS_PIXEL_TEXTURE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIS_PIXEL_TEXTURE)) && !defined(REGAL_NO_ENUM_GL_SGIS_PIXEL_TEXTURE)\n#define REGAL_NO_ENUM_GL_SGIS_PIXEL_TEXTURE\n#endif\n\n#if (defined(GL_SGIS_PIXEL_TEXTURE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIS_PIXEL_TEXTURE)) && !defined(REGAL_NO_TYPEDEF_GL_SGIS_PIXEL_TEXTURE)\n#define REGAL_NO_TYPEDEF_GL_SGIS_PIXEL_TEXTURE\n#endif\n\n#if (defined(GL_SGIS_PIXEL_TEXTURE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIS_PIXEL_TEXTURE)) && !defined(REGAL_NO_NAMESPACE_GL_SGIS_PIXEL_TEXTURE)\n#define REGAL_NO_NAMESPACE_GL_SGIS_PIXEL_TEXTURE\n#endif\n\n#if (defined(GL_SGIS_PIXEL_TEXTURE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIS_PIXEL_TEXTURE)) && !defined(REGAL_NO_PLUGIN_GL_SGIS_PIXEL_TEXTURE)\n#define REGAL_NO_PLUGIN_GL_SGIS_PIXEL_TEXTURE\n#endif\n\n#if (defined(GL_SGIS_PIXEL_TEXTURE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIS_PIXEL_TEXTURE)) && !defined(REGAL_NO_DECLARATION_GL_SGIS_PIXEL_TEXTURE)\n#define REGAL_NO_DECLARATION_GL_SGIS_PIXEL_TEXTURE\n#endif\n\n#ifndef GL_SGIS_pixel_texture\n#define GL_SGIS_pixel_texture 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_SGIS_PIXEL_TEXTURE\ntypedef void (REGAL_CALL *PFNGLGETPIXELTEXGENPARAMETERFVSGISPROC)(GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETPIXELTEXGENPARAMETERIVSGISPROC)(GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLPIXELTEXGENPARAMETERFSGISPROC)(GLenum pname, GLfloat param);\ntypedef void (REGAL_CALL *PFNGLPIXELTEXGENPARAMETERFVSGISPROC)(GLenum pname, const GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLPIXELTEXGENPARAMETERISGISPROC)(GLenum pname, GLint param);\ntypedef void (REGAL_CALL *PFNGLPIXELTEXGENPARAMETERIVSGISPROC)(GLenum pname, const GLint *params);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_SGIS_PIXEL_TEXTURE\n#define glGetPixelTexGenParameterfvSGIS     rglGetPixelTexGenParameterfvSGIS\n#define glGetPixelTexGenParameterivSGIS     rglGetPixelTexGenParameterivSGIS\n#define glPixelTexGenParameterfSGIS         rglPixelTexGenParameterfSGIS\n#define glPixelTexGenParameterfvSGIS        rglPixelTexGenParameterfvSGIS\n#define glPixelTexGenParameteriSGIS         rglPixelTexGenParameteriSGIS\n#define glPixelTexGenParameterivSGIS        rglPixelTexGenParameterivSGIS\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_SGIS_PIXEL_TEXTURE\nREGAL_DECL void REGAL_CALL glGetPixelTexGenParameterfvSGIS(GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetPixelTexGenParameterivSGIS(GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glPixelTexGenParameterfSGIS(GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL glPixelTexGenParameterfvSGIS(GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL glPixelTexGenParameteriSGIS(GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL glPixelTexGenParameterivSGIS(GLenum pname, const GLint *params);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_SGIS_PIXEL_TEXTURE\nREGAL_DECL void REGAL_CALL plugin_glGetPixelTexGenParameterfvSGIS(GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetPixelTexGenParameterivSGIS(GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glPixelTexGenParameterfSGIS(GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL plugin_glPixelTexGenParameterfvSGIS(GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glPixelTexGenParameteriSGIS(GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL plugin_glPixelTexGenParameterivSGIS(GLenum pname, const GLint *params);\n#endif\n\n/**\n ** GL_SGIS_point_line_texgen\n **/\n\n#if (defined(GL_SGIS_POINT_LINE_TEXGEN) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIS_POINT_LINE_TEXGEN)) && !defined(REGAL_NO_ENUM_GL_SGIS_POINT_LINE_TEXGEN)\n#define REGAL_NO_ENUM_GL_SGIS_POINT_LINE_TEXGEN\n#endif\n\n#if (defined(GL_SGIS_POINT_LINE_TEXGEN) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIS_POINT_LINE_TEXGEN)) && !defined(REGAL_NO_TYPEDEF_GL_SGIS_POINT_LINE_TEXGEN)\n#define REGAL_NO_TYPEDEF_GL_SGIS_POINT_LINE_TEXGEN\n#endif\n\n#if (defined(GL_SGIS_POINT_LINE_TEXGEN) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIS_POINT_LINE_TEXGEN)) && !defined(REGAL_NO_NAMESPACE_GL_SGIS_POINT_LINE_TEXGEN)\n#define REGAL_NO_NAMESPACE_GL_SGIS_POINT_LINE_TEXGEN\n#endif\n\n#if (defined(GL_SGIS_POINT_LINE_TEXGEN) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIS_POINT_LINE_TEXGEN)) && !defined(REGAL_NO_PLUGIN_GL_SGIS_POINT_LINE_TEXGEN)\n#define REGAL_NO_PLUGIN_GL_SGIS_POINT_LINE_TEXGEN\n#endif\n\n#if (defined(GL_SGIS_POINT_LINE_TEXGEN) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIS_POINT_LINE_TEXGEN)) && !defined(REGAL_NO_DECLARATION_GL_SGIS_POINT_LINE_TEXGEN)\n#define REGAL_NO_DECLARATION_GL_SGIS_POINT_LINE_TEXGEN\n#endif\n\n#ifndef GL_SGIS_point_line_texgen\n#define GL_SGIS_point_line_texgen 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_SGIS_POINT_LINE_TEXGEN\n#define GL_EYE_DISTANCE_TO_POINT_SGIS    0x81f0     /* 33264 */\n#define GL_OBJECT_DISTANCE_TO_POINT_SGIS 0x81f1     /* 33265 */\n#define GL_EYE_DISTANCE_TO_LINE_SGIS     0x81f2     /* 33266 */\n#define GL_OBJECT_DISTANCE_TO_LINE_SGIS  0x81f3     /* 33267 */\n#define GL_EYE_POINT_SGIS                0x81f4     /* 33268 */\n#define GL_OBJECT_POINT_SGIS             0x81f5     /* 33269 */\n#define GL_EYE_LINE_SGIS                 0x81f6     /* 33270 */\n#define GL_OBJECT_LINE_SGIS              0x81f7     /* 33271 */\n#endif\n\n/**\n ** GL_SGIS_point_parameters\n **/\n\n#if (defined(GL_SGIS_POINT_PARAMETERS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIS_POINT_PARAMETERS)) && !defined(REGAL_NO_ENUM_GL_SGIS_POINT_PARAMETERS)\n#define REGAL_NO_ENUM_GL_SGIS_POINT_PARAMETERS\n#endif\n\n#if (defined(GL_SGIS_POINT_PARAMETERS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIS_POINT_PARAMETERS)) && !defined(REGAL_NO_TYPEDEF_GL_SGIS_POINT_PARAMETERS)\n#define REGAL_NO_TYPEDEF_GL_SGIS_POINT_PARAMETERS\n#endif\n\n#if (defined(GL_SGIS_POINT_PARAMETERS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIS_POINT_PARAMETERS)) && !defined(REGAL_NO_NAMESPACE_GL_SGIS_POINT_PARAMETERS)\n#define REGAL_NO_NAMESPACE_GL_SGIS_POINT_PARAMETERS\n#endif\n\n#if (defined(GL_SGIS_POINT_PARAMETERS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIS_POINT_PARAMETERS)) && !defined(REGAL_NO_PLUGIN_GL_SGIS_POINT_PARAMETERS)\n#define REGAL_NO_PLUGIN_GL_SGIS_POINT_PARAMETERS\n#endif\n\n#if (defined(GL_SGIS_POINT_PARAMETERS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIS_POINT_PARAMETERS)) && !defined(REGAL_NO_DECLARATION_GL_SGIS_POINT_PARAMETERS)\n#define REGAL_NO_DECLARATION_GL_SGIS_POINT_PARAMETERS\n#endif\n\n#ifndef GL_SGIS_point_parameters\n#define GL_SGIS_point_parameters 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_SGIS_POINT_PARAMETERS\ntypedef void (REGAL_CALL *PFNGLPOINTPARAMETERFSGISPROC)(GLenum pname, GLfloat param);\ntypedef void (REGAL_CALL *PFNGLPOINTPARAMETERFVSGISPROC)(GLenum pname, const GLfloat *params);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_SGIS_POINT_PARAMETERS\n#define glPointParameterfSGIS               rglPointParameterfSGIS\n#define glPointParameterfvSGIS              rglPointParameterfvSGIS\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_SGIS_POINT_PARAMETERS\nREGAL_DECL void REGAL_CALL glPointParameterfSGIS(GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL glPointParameterfvSGIS(GLenum pname, const GLfloat *params);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_SGIS_POINT_PARAMETERS\nREGAL_DECL void REGAL_CALL plugin_glPointParameterfSGIS(GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL plugin_glPointParameterfvSGIS(GLenum pname, const GLfloat *params);\n#endif\n\n/**\n ** GL_SGIS_sharpen_texture\n **/\n\n#if (defined(GL_SGIS_SHARPEN_TEXTURE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIS_SHARPEN_TEXTURE)) && !defined(REGAL_NO_ENUM_GL_SGIS_SHARPEN_TEXTURE)\n#define REGAL_NO_ENUM_GL_SGIS_SHARPEN_TEXTURE\n#endif\n\n#if (defined(GL_SGIS_SHARPEN_TEXTURE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIS_SHARPEN_TEXTURE)) && !defined(REGAL_NO_TYPEDEF_GL_SGIS_SHARPEN_TEXTURE)\n#define REGAL_NO_TYPEDEF_GL_SGIS_SHARPEN_TEXTURE\n#endif\n\n#if (defined(GL_SGIS_SHARPEN_TEXTURE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIS_SHARPEN_TEXTURE)) && !defined(REGAL_NO_NAMESPACE_GL_SGIS_SHARPEN_TEXTURE)\n#define REGAL_NO_NAMESPACE_GL_SGIS_SHARPEN_TEXTURE\n#endif\n\n#if (defined(GL_SGIS_SHARPEN_TEXTURE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIS_SHARPEN_TEXTURE)) && !defined(REGAL_NO_PLUGIN_GL_SGIS_SHARPEN_TEXTURE)\n#define REGAL_NO_PLUGIN_GL_SGIS_SHARPEN_TEXTURE\n#endif\n\n#if (defined(GL_SGIS_SHARPEN_TEXTURE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIS_SHARPEN_TEXTURE)) && !defined(REGAL_NO_DECLARATION_GL_SGIS_SHARPEN_TEXTURE)\n#define REGAL_NO_DECLARATION_GL_SGIS_SHARPEN_TEXTURE\n#endif\n\n#ifndef GL_SGIS_sharpen_texture\n#define GL_SGIS_sharpen_texture 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_SGIS_SHARPEN_TEXTURE\ntypedef void (REGAL_CALL *PFNGLGETSHARPENTEXFUNCSGISPROC)(GLenum target, GLfloat *points);\ntypedef void (REGAL_CALL *PFNGLSHARPENTEXFUNCSGISPROC)(GLenum target, GLsizei n, const GLfloat *points);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_SGIS_SHARPEN_TEXTURE\n#define glGetSharpenTexFuncSGIS             rglGetSharpenTexFuncSGIS\n#define glSharpenTexFuncSGIS                rglSharpenTexFuncSGIS\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_SGIS_SHARPEN_TEXTURE\nREGAL_DECL void REGAL_CALL glGetSharpenTexFuncSGIS(GLenum target, GLfloat *points);\nREGAL_DECL void REGAL_CALL glSharpenTexFuncSGIS(GLenum target, GLsizei n, const GLfloat *points);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_SGIS_SHARPEN_TEXTURE\nREGAL_DECL void REGAL_CALL plugin_glGetSharpenTexFuncSGIS(GLenum target, GLfloat *points);\nREGAL_DECL void REGAL_CALL plugin_glSharpenTexFuncSGIS(GLenum target, GLsizei n, const GLfloat *points);\n#endif\n\n/**\n ** GL_SGIS_texture4D\n **/\n\n#if (defined(GL_SGIS_TEXTURE4D) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIS_TEXTURE4D)) && !defined(REGAL_NO_ENUM_GL_SGIS_TEXTURE4D)\n#define REGAL_NO_ENUM_GL_SGIS_TEXTURE4D\n#endif\n\n#if (defined(GL_SGIS_TEXTURE4D) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIS_TEXTURE4D)) && !defined(REGAL_NO_TYPEDEF_GL_SGIS_TEXTURE4D)\n#define REGAL_NO_TYPEDEF_GL_SGIS_TEXTURE4D\n#endif\n\n#if (defined(GL_SGIS_TEXTURE4D) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIS_TEXTURE4D)) && !defined(REGAL_NO_NAMESPACE_GL_SGIS_TEXTURE4D)\n#define REGAL_NO_NAMESPACE_GL_SGIS_TEXTURE4D\n#endif\n\n#if (defined(GL_SGIS_TEXTURE4D) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIS_TEXTURE4D)) && !defined(REGAL_NO_PLUGIN_GL_SGIS_TEXTURE4D)\n#define REGAL_NO_PLUGIN_GL_SGIS_TEXTURE4D\n#endif\n\n#if (defined(GL_SGIS_TEXTURE4D) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIS_TEXTURE4D)) && !defined(REGAL_NO_DECLARATION_GL_SGIS_TEXTURE4D)\n#define REGAL_NO_DECLARATION_GL_SGIS_TEXTURE4D\n#endif\n\n#ifndef GL_SGIS_texture4D\n#define GL_SGIS_texture4D 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_SGIS_TEXTURE4D\ntypedef void (REGAL_CALL *PFNGLTEXIMAGE4DSGISPROC)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLsizei size4d, GLint border, GLenum format, GLenum type, const GLvoid *pixels);\ntypedef void (REGAL_CALL *PFNGLTEXSUBIMAGE4DSGISPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint woffset, GLsizei width, GLsizei height, GLsizei depth, GLsizei size4d, GLenum format, GLenum type, const GLvoid *pixels);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_SGIS_TEXTURE4D\n#define glTexImage4DSGIS                    rglTexImage4DSGIS\n#define glTexSubImage4DSGIS                 rglTexSubImage4DSGIS\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_SGIS_TEXTURE4D\nREGAL_DECL void REGAL_CALL glTexImage4DSGIS(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLsizei size4d, GLint border, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL glTexSubImage4DSGIS(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint woffset, GLsizei width, GLsizei height, GLsizei depth, GLsizei size4d, GLenum format, GLenum type, const GLvoid *pixels);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_SGIS_TEXTURE4D\nREGAL_DECL void REGAL_CALL plugin_glTexImage4DSGIS(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLsizei size4d, GLint border, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL plugin_glTexSubImage4DSGIS(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint woffset, GLsizei width, GLsizei height, GLsizei depth, GLsizei size4d, GLenum format, GLenum type, const GLvoid *pixels);\n#endif\n\n/**\n ** GL_SGIS_texture_border_clamp\n **/\n\n#if (defined(GL_SGIS_TEXTURE_BORDER_CLAMP) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIS_TEXTURE_BORDER_CLAMP)) && !defined(REGAL_NO_ENUM_GL_SGIS_TEXTURE_BORDER_CLAMP)\n#define REGAL_NO_ENUM_GL_SGIS_TEXTURE_BORDER_CLAMP\n#endif\n\n#if (defined(GL_SGIS_TEXTURE_BORDER_CLAMP) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIS_TEXTURE_BORDER_CLAMP)) && !defined(REGAL_NO_TYPEDEF_GL_SGIS_TEXTURE_BORDER_CLAMP)\n#define REGAL_NO_TYPEDEF_GL_SGIS_TEXTURE_BORDER_CLAMP\n#endif\n\n#if (defined(GL_SGIS_TEXTURE_BORDER_CLAMP) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIS_TEXTURE_BORDER_CLAMP)) && !defined(REGAL_NO_NAMESPACE_GL_SGIS_TEXTURE_BORDER_CLAMP)\n#define REGAL_NO_NAMESPACE_GL_SGIS_TEXTURE_BORDER_CLAMP\n#endif\n\n#if (defined(GL_SGIS_TEXTURE_BORDER_CLAMP) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIS_TEXTURE_BORDER_CLAMP)) && !defined(REGAL_NO_PLUGIN_GL_SGIS_TEXTURE_BORDER_CLAMP)\n#define REGAL_NO_PLUGIN_GL_SGIS_TEXTURE_BORDER_CLAMP\n#endif\n\n#if (defined(GL_SGIS_TEXTURE_BORDER_CLAMP) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIS_TEXTURE_BORDER_CLAMP)) && !defined(REGAL_NO_DECLARATION_GL_SGIS_TEXTURE_BORDER_CLAMP)\n#define REGAL_NO_DECLARATION_GL_SGIS_TEXTURE_BORDER_CLAMP\n#endif\n\n#ifndef GL_SGIS_texture_border_clamp\n#define GL_SGIS_texture_border_clamp 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_SGIS_TEXTURE_BORDER_CLAMP\n#define GL_CLAMP_TO_BORDER_SGIS 0x812d /* 33069 */\n#endif\n\n/**\n ** GL_SGIS_texture_color_mask\n **/\n\n#if (defined(GL_SGIS_TEXTURE_COLOR_MASK) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIS_TEXTURE_COLOR_MASK)) && !defined(REGAL_NO_ENUM_GL_SGIS_TEXTURE_COLOR_MASK)\n#define REGAL_NO_ENUM_GL_SGIS_TEXTURE_COLOR_MASK\n#endif\n\n#if (defined(GL_SGIS_TEXTURE_COLOR_MASK) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIS_TEXTURE_COLOR_MASK)) && !defined(REGAL_NO_TYPEDEF_GL_SGIS_TEXTURE_COLOR_MASK)\n#define REGAL_NO_TYPEDEF_GL_SGIS_TEXTURE_COLOR_MASK\n#endif\n\n#if (defined(GL_SGIS_TEXTURE_COLOR_MASK) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIS_TEXTURE_COLOR_MASK)) && !defined(REGAL_NO_NAMESPACE_GL_SGIS_TEXTURE_COLOR_MASK)\n#define REGAL_NO_NAMESPACE_GL_SGIS_TEXTURE_COLOR_MASK\n#endif\n\n#if (defined(GL_SGIS_TEXTURE_COLOR_MASK) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIS_TEXTURE_COLOR_MASK)) && !defined(REGAL_NO_PLUGIN_GL_SGIS_TEXTURE_COLOR_MASK)\n#define REGAL_NO_PLUGIN_GL_SGIS_TEXTURE_COLOR_MASK\n#endif\n\n#if (defined(GL_SGIS_TEXTURE_COLOR_MASK) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIS_TEXTURE_COLOR_MASK)) && !defined(REGAL_NO_DECLARATION_GL_SGIS_TEXTURE_COLOR_MASK)\n#define REGAL_NO_DECLARATION_GL_SGIS_TEXTURE_COLOR_MASK\n#endif\n\n#ifndef GL_SGIS_texture_color_mask\n#define GL_SGIS_texture_color_mask 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_SGIS_TEXTURE_COLOR_MASK\ntypedef void (REGAL_CALL *PFNGLTEXTURECOLORMASKSGISPROC)(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_SGIS_TEXTURE_COLOR_MASK\n#define glTextureColorMaskSGIS              rglTextureColorMaskSGIS\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_SGIS_TEXTURE_COLOR_MASK\nREGAL_DECL void REGAL_CALL glTextureColorMaskSGIS(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_SGIS_TEXTURE_COLOR_MASK\nREGAL_DECL void REGAL_CALL plugin_glTextureColorMaskSGIS(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);\n#endif\n\n/**\n ** GL_SGIS_texture_edge_clamp\n **/\n\n#if (defined(GL_SGIS_TEXTURE_EDGE_CLAMP) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIS_TEXTURE_EDGE_CLAMP)) && !defined(REGAL_NO_ENUM_GL_SGIS_TEXTURE_EDGE_CLAMP)\n#define REGAL_NO_ENUM_GL_SGIS_TEXTURE_EDGE_CLAMP\n#endif\n\n#if (defined(GL_SGIS_TEXTURE_EDGE_CLAMP) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIS_TEXTURE_EDGE_CLAMP)) && !defined(REGAL_NO_TYPEDEF_GL_SGIS_TEXTURE_EDGE_CLAMP)\n#define REGAL_NO_TYPEDEF_GL_SGIS_TEXTURE_EDGE_CLAMP\n#endif\n\n#if (defined(GL_SGIS_TEXTURE_EDGE_CLAMP) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIS_TEXTURE_EDGE_CLAMP)) && !defined(REGAL_NO_NAMESPACE_GL_SGIS_TEXTURE_EDGE_CLAMP)\n#define REGAL_NO_NAMESPACE_GL_SGIS_TEXTURE_EDGE_CLAMP\n#endif\n\n#if (defined(GL_SGIS_TEXTURE_EDGE_CLAMP) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIS_TEXTURE_EDGE_CLAMP)) && !defined(REGAL_NO_PLUGIN_GL_SGIS_TEXTURE_EDGE_CLAMP)\n#define REGAL_NO_PLUGIN_GL_SGIS_TEXTURE_EDGE_CLAMP\n#endif\n\n#if (defined(GL_SGIS_TEXTURE_EDGE_CLAMP) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIS_TEXTURE_EDGE_CLAMP)) && !defined(REGAL_NO_DECLARATION_GL_SGIS_TEXTURE_EDGE_CLAMP)\n#define REGAL_NO_DECLARATION_GL_SGIS_TEXTURE_EDGE_CLAMP\n#endif\n\n#ifndef GL_SGIS_texture_edge_clamp\n#define GL_SGIS_texture_edge_clamp 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_SGIS_TEXTURE_EDGE_CLAMP\n#define GL_CLAMP_TO_EDGE_SGIS 0x812f /* 33071 */\n#endif\n\n/**\n ** GL_SGIS_texture_filter4\n **/\n\n#if (defined(GL_SGIS_TEXTURE_FILTER4) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIS_TEXTURE_FILTER4)) && !defined(REGAL_NO_ENUM_GL_SGIS_TEXTURE_FILTER4)\n#define REGAL_NO_ENUM_GL_SGIS_TEXTURE_FILTER4\n#endif\n\n#if (defined(GL_SGIS_TEXTURE_FILTER4) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIS_TEXTURE_FILTER4)) && !defined(REGAL_NO_TYPEDEF_GL_SGIS_TEXTURE_FILTER4)\n#define REGAL_NO_TYPEDEF_GL_SGIS_TEXTURE_FILTER4\n#endif\n\n#if (defined(GL_SGIS_TEXTURE_FILTER4) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIS_TEXTURE_FILTER4)) && !defined(REGAL_NO_NAMESPACE_GL_SGIS_TEXTURE_FILTER4)\n#define REGAL_NO_NAMESPACE_GL_SGIS_TEXTURE_FILTER4\n#endif\n\n#if (defined(GL_SGIS_TEXTURE_FILTER4) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIS_TEXTURE_FILTER4)) && !defined(REGAL_NO_PLUGIN_GL_SGIS_TEXTURE_FILTER4)\n#define REGAL_NO_PLUGIN_GL_SGIS_TEXTURE_FILTER4\n#endif\n\n#if (defined(GL_SGIS_TEXTURE_FILTER4) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIS_TEXTURE_FILTER4)) && !defined(REGAL_NO_DECLARATION_GL_SGIS_TEXTURE_FILTER4)\n#define REGAL_NO_DECLARATION_GL_SGIS_TEXTURE_FILTER4\n#endif\n\n#ifndef GL_SGIS_texture_filter4\n#define GL_SGIS_texture_filter4 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_SGIS_TEXTURE_FILTER4\ntypedef void (REGAL_CALL *PFNGLGETTEXFILTERFUNCSGISPROC)(GLenum target, GLenum filter, GLfloat *weights);\ntypedef void (REGAL_CALL *PFNGLTEXFILTERFUNCSGISPROC)(GLenum target, GLenum filter, GLsizei n, const GLfloat *weights);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_SGIS_TEXTURE_FILTER4\n#define glGetTexFilterFuncSGIS              rglGetTexFilterFuncSGIS\n#define glTexFilterFuncSGIS                 rglTexFilterFuncSGIS\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_SGIS_TEXTURE_FILTER4\nREGAL_DECL void REGAL_CALL glGetTexFilterFuncSGIS(GLenum target, GLenum filter, GLfloat *weights);\nREGAL_DECL void REGAL_CALL glTexFilterFuncSGIS(GLenum target, GLenum filter, GLsizei n, const GLfloat *weights);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_SGIS_TEXTURE_FILTER4\nREGAL_DECL void REGAL_CALL plugin_glGetTexFilterFuncSGIS(GLenum target, GLenum filter, GLfloat *weights);\nREGAL_DECL void REGAL_CALL plugin_glTexFilterFuncSGIS(GLenum target, GLenum filter, GLsizei n, const GLfloat *weights);\n#endif\n\n/**\n ** GL_SGIS_texture_lod\n **/\n\n#if (defined(GL_SGIS_TEXTURE_LOD) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIS_TEXTURE_LOD)) && !defined(REGAL_NO_ENUM_GL_SGIS_TEXTURE_LOD)\n#define REGAL_NO_ENUM_GL_SGIS_TEXTURE_LOD\n#endif\n\n#if (defined(GL_SGIS_TEXTURE_LOD) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIS_TEXTURE_LOD)) && !defined(REGAL_NO_TYPEDEF_GL_SGIS_TEXTURE_LOD)\n#define REGAL_NO_TYPEDEF_GL_SGIS_TEXTURE_LOD\n#endif\n\n#if (defined(GL_SGIS_TEXTURE_LOD) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIS_TEXTURE_LOD)) && !defined(REGAL_NO_NAMESPACE_GL_SGIS_TEXTURE_LOD)\n#define REGAL_NO_NAMESPACE_GL_SGIS_TEXTURE_LOD\n#endif\n\n#if (defined(GL_SGIS_TEXTURE_LOD) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIS_TEXTURE_LOD)) && !defined(REGAL_NO_PLUGIN_GL_SGIS_TEXTURE_LOD)\n#define REGAL_NO_PLUGIN_GL_SGIS_TEXTURE_LOD\n#endif\n\n#if (defined(GL_SGIS_TEXTURE_LOD) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIS_TEXTURE_LOD)) && !defined(REGAL_NO_DECLARATION_GL_SGIS_TEXTURE_LOD)\n#define REGAL_NO_DECLARATION_GL_SGIS_TEXTURE_LOD\n#endif\n\n#ifndef GL_SGIS_texture_lod\n#define GL_SGIS_texture_lod 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_SGIS_TEXTURE_LOD\n#define GL_TEXTURE_MIN_LOD_SGIS    0x813a     /* 33082 */\n#define GL_TEXTURE_MAX_LOD_SGIS    0x813b     /* 33083 */\n#define GL_TEXTURE_BASE_LEVEL_SGIS 0x813c     /* 33084 */\n#define GL_TEXTURE_MAX_LEVEL_SGIS  0x813d     /* 33085 */\n#endif\n\n/**\n ** GL_SGIX_async\n **/\n\n#if (defined(GL_SGIX_ASYNC) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIX_ASYNC)) && !defined(REGAL_NO_ENUM_GL_SGIX_ASYNC)\n#define REGAL_NO_ENUM_GL_SGIX_ASYNC\n#endif\n\n#if (defined(GL_SGIX_ASYNC) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIX_ASYNC)) && !defined(REGAL_NO_TYPEDEF_GL_SGIX_ASYNC)\n#define REGAL_NO_TYPEDEF_GL_SGIX_ASYNC\n#endif\n\n#if (defined(GL_SGIX_ASYNC) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIX_ASYNC)) && !defined(REGAL_NO_NAMESPACE_GL_SGIX_ASYNC)\n#define REGAL_NO_NAMESPACE_GL_SGIX_ASYNC\n#endif\n\n#if (defined(GL_SGIX_ASYNC) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIX_ASYNC)) && !defined(REGAL_NO_PLUGIN_GL_SGIX_ASYNC)\n#define REGAL_NO_PLUGIN_GL_SGIX_ASYNC\n#endif\n\n#if (defined(GL_SGIX_ASYNC) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIX_ASYNC)) && !defined(REGAL_NO_DECLARATION_GL_SGIX_ASYNC)\n#define REGAL_NO_DECLARATION_GL_SGIX_ASYNC\n#endif\n\n#ifndef GL_SGIX_async\n#define GL_SGIX_async 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_SGIX_ASYNC\n#define GL_ASYNC_MARKER_SGIX 0x8329 /* 33577 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_SGIX_ASYNC\ntypedef GLboolean (REGAL_CALL *PFNGLISASYNCMARKERSGIXPROC)(GLuint marker);\ntypedef GLint (REGAL_CALL *PFNGLFINISHASYNCSGIXPROC)(GLuint *markerp);\ntypedef GLint (REGAL_CALL *PFNGLPOLLASYNCSGIXPROC)(GLuint *markerp);\ntypedef GLuint (REGAL_CALL *PFNGLGENASYNCMARKERSSGIXPROC)(GLsizei range);\ntypedef void (REGAL_CALL *PFNGLASYNCMARKERSGIXPROC)(GLuint marker);\ntypedef void (REGAL_CALL *PFNGLDELETEASYNCMARKERSSGIXPROC)(GLuint marker, GLsizei range);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_SGIX_ASYNC\n#define glAsyncMarkerSGIX                   rglAsyncMarkerSGIX\n#define glDeleteAsyncMarkersSGIX            rglDeleteAsyncMarkersSGIX\n#define glFinishAsyncSGIX                   rglFinishAsyncSGIX\n#define glGenAsyncMarkersSGIX               rglGenAsyncMarkersSGIX\n#define glIsAsyncMarkerSGIX                 rglIsAsyncMarkerSGIX\n#define glPollAsyncSGIX                     rglPollAsyncSGIX\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_SGIX_ASYNC\nREGAL_DECL GLboolean REGAL_CALL glIsAsyncMarkerSGIX(GLuint marker);\nREGAL_DECL GLint REGAL_CALL glFinishAsyncSGIX(GLuint *markerp);\nREGAL_DECL GLint REGAL_CALL glPollAsyncSGIX(GLuint *markerp);\nREGAL_DECL GLuint REGAL_CALL glGenAsyncMarkersSGIX(GLsizei range);\nREGAL_DECL void REGAL_CALL glAsyncMarkerSGIX(GLuint marker);\nREGAL_DECL void REGAL_CALL glDeleteAsyncMarkersSGIX(GLuint marker, GLsizei range);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_SGIX_ASYNC\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsAsyncMarkerSGIX(GLuint marker);\nREGAL_DECL GLint REGAL_CALL plugin_glFinishAsyncSGIX(GLuint *markerp);\nREGAL_DECL GLint REGAL_CALL plugin_glPollAsyncSGIX(GLuint *markerp);\nREGAL_DECL GLuint REGAL_CALL plugin_glGenAsyncMarkersSGIX(GLsizei range);\nREGAL_DECL void REGAL_CALL plugin_glAsyncMarkerSGIX(GLuint marker);\nREGAL_DECL void REGAL_CALL plugin_glDeleteAsyncMarkersSGIX(GLuint marker, GLsizei range);\n#endif\n\n/**\n ** GL_SGIX_async_histogram\n **/\n\n#if (defined(GL_SGIX_ASYNC_HISTOGRAM) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIX_ASYNC_HISTOGRAM)) && !defined(REGAL_NO_ENUM_GL_SGIX_ASYNC_HISTOGRAM)\n#define REGAL_NO_ENUM_GL_SGIX_ASYNC_HISTOGRAM\n#endif\n\n#if (defined(GL_SGIX_ASYNC_HISTOGRAM) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIX_ASYNC_HISTOGRAM)) && !defined(REGAL_NO_TYPEDEF_GL_SGIX_ASYNC_HISTOGRAM)\n#define REGAL_NO_TYPEDEF_GL_SGIX_ASYNC_HISTOGRAM\n#endif\n\n#if (defined(GL_SGIX_ASYNC_HISTOGRAM) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIX_ASYNC_HISTOGRAM)) && !defined(REGAL_NO_NAMESPACE_GL_SGIX_ASYNC_HISTOGRAM)\n#define REGAL_NO_NAMESPACE_GL_SGIX_ASYNC_HISTOGRAM\n#endif\n\n#if (defined(GL_SGIX_ASYNC_HISTOGRAM) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIX_ASYNC_HISTOGRAM)) && !defined(REGAL_NO_PLUGIN_GL_SGIX_ASYNC_HISTOGRAM)\n#define REGAL_NO_PLUGIN_GL_SGIX_ASYNC_HISTOGRAM\n#endif\n\n#if (defined(GL_SGIX_ASYNC_HISTOGRAM) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIX_ASYNC_HISTOGRAM)) && !defined(REGAL_NO_DECLARATION_GL_SGIX_ASYNC_HISTOGRAM)\n#define REGAL_NO_DECLARATION_GL_SGIX_ASYNC_HISTOGRAM\n#endif\n\n#ifndef GL_SGIX_async_histogram\n#define GL_SGIX_async_histogram 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_SGIX_ASYNC_HISTOGRAM\n#define GL_ASYNC_HISTOGRAM_SGIX     0x832c     /* 33580 */\n#define GL_MAX_ASYNC_HISTOGRAM_SGIX 0x832d     /* 33581 */\n#endif\n\n/**\n ** GL_SGIX_async_pixel\n **/\n\n#if (defined(GL_SGIX_ASYNC_PIXEL) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIX_ASYNC_PIXEL)) && !defined(REGAL_NO_ENUM_GL_SGIX_ASYNC_PIXEL)\n#define REGAL_NO_ENUM_GL_SGIX_ASYNC_PIXEL\n#endif\n\n#if (defined(GL_SGIX_ASYNC_PIXEL) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIX_ASYNC_PIXEL)) && !defined(REGAL_NO_TYPEDEF_GL_SGIX_ASYNC_PIXEL)\n#define REGAL_NO_TYPEDEF_GL_SGIX_ASYNC_PIXEL\n#endif\n\n#if (defined(GL_SGIX_ASYNC_PIXEL) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIX_ASYNC_PIXEL)) && !defined(REGAL_NO_NAMESPACE_GL_SGIX_ASYNC_PIXEL)\n#define REGAL_NO_NAMESPACE_GL_SGIX_ASYNC_PIXEL\n#endif\n\n#if (defined(GL_SGIX_ASYNC_PIXEL) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIX_ASYNC_PIXEL)) && !defined(REGAL_NO_PLUGIN_GL_SGIX_ASYNC_PIXEL)\n#define REGAL_NO_PLUGIN_GL_SGIX_ASYNC_PIXEL\n#endif\n\n#if (defined(GL_SGIX_ASYNC_PIXEL) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIX_ASYNC_PIXEL)) && !defined(REGAL_NO_DECLARATION_GL_SGIX_ASYNC_PIXEL)\n#define REGAL_NO_DECLARATION_GL_SGIX_ASYNC_PIXEL\n#endif\n\n#ifndef GL_SGIX_async_pixel\n#define GL_SGIX_async_pixel 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_SGIX_ASYNC_PIXEL\n#define GL_ASYNC_TEX_IMAGE_SGIX       0x835c     /* 33628 */\n#define GL_ASYNC_DRAW_PIXELS_SGIX     0x835d     /* 33629 */\n#define GL_ASYNC_READ_PIXELS_SGIX     0x835e     /* 33630 */\n#define GL_MAX_ASYNC_TEX_IMAGE_SGIX   0x835f     /* 33631 */\n#define GL_MAX_ASYNC_DRAW_PIXELS_SGIX 0x8360     /* 33632 */\n#define GL_MAX_ASYNC_READ_PIXELS_SGIX 0x8361     /* 33633 */\n#endif\n\n/**\n ** GL_SGIX_blend_alpha_minmax\n **/\n\n#if (defined(GL_SGIX_BLEND_ALPHA_MINMAX) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIX_BLEND_ALPHA_MINMAX)) && !defined(REGAL_NO_ENUM_GL_SGIX_BLEND_ALPHA_MINMAX)\n#define REGAL_NO_ENUM_GL_SGIX_BLEND_ALPHA_MINMAX\n#endif\n\n#if (defined(GL_SGIX_BLEND_ALPHA_MINMAX) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIX_BLEND_ALPHA_MINMAX)) && !defined(REGAL_NO_TYPEDEF_GL_SGIX_BLEND_ALPHA_MINMAX)\n#define REGAL_NO_TYPEDEF_GL_SGIX_BLEND_ALPHA_MINMAX\n#endif\n\n#if (defined(GL_SGIX_BLEND_ALPHA_MINMAX) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIX_BLEND_ALPHA_MINMAX)) && !defined(REGAL_NO_NAMESPACE_GL_SGIX_BLEND_ALPHA_MINMAX)\n#define REGAL_NO_NAMESPACE_GL_SGIX_BLEND_ALPHA_MINMAX\n#endif\n\n#if (defined(GL_SGIX_BLEND_ALPHA_MINMAX) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIX_BLEND_ALPHA_MINMAX)) && !defined(REGAL_NO_PLUGIN_GL_SGIX_BLEND_ALPHA_MINMAX)\n#define REGAL_NO_PLUGIN_GL_SGIX_BLEND_ALPHA_MINMAX\n#endif\n\n#if (defined(GL_SGIX_BLEND_ALPHA_MINMAX) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIX_BLEND_ALPHA_MINMAX)) && !defined(REGAL_NO_DECLARATION_GL_SGIX_BLEND_ALPHA_MINMAX)\n#define REGAL_NO_DECLARATION_GL_SGIX_BLEND_ALPHA_MINMAX\n#endif\n\n#ifndef GL_SGIX_blend_alpha_minmax\n#define GL_SGIX_blend_alpha_minmax 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_SGIX_BLEND_ALPHA_MINMAX\n#define GL_ALPHA_MIN_SGIX 0x8320     /* 33568 */\n#define GL_ALPHA_MAX_SGIX 0x8321     /* 33569 */\n#endif\n\n/**\n ** GL_SGIX_convolution_accuracy\n **/\n\n#if (defined(GL_SGIX_CONVOLUTION_ACCURACY) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIX_CONVOLUTION_ACCURACY)) && !defined(REGAL_NO_ENUM_GL_SGIX_CONVOLUTION_ACCURACY)\n#define REGAL_NO_ENUM_GL_SGIX_CONVOLUTION_ACCURACY\n#endif\n\n#if (defined(GL_SGIX_CONVOLUTION_ACCURACY) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIX_CONVOLUTION_ACCURACY)) && !defined(REGAL_NO_TYPEDEF_GL_SGIX_CONVOLUTION_ACCURACY)\n#define REGAL_NO_TYPEDEF_GL_SGIX_CONVOLUTION_ACCURACY\n#endif\n\n#if (defined(GL_SGIX_CONVOLUTION_ACCURACY) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIX_CONVOLUTION_ACCURACY)) && !defined(REGAL_NO_NAMESPACE_GL_SGIX_CONVOLUTION_ACCURACY)\n#define REGAL_NO_NAMESPACE_GL_SGIX_CONVOLUTION_ACCURACY\n#endif\n\n#if (defined(GL_SGIX_CONVOLUTION_ACCURACY) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIX_CONVOLUTION_ACCURACY)) && !defined(REGAL_NO_PLUGIN_GL_SGIX_CONVOLUTION_ACCURACY)\n#define REGAL_NO_PLUGIN_GL_SGIX_CONVOLUTION_ACCURACY\n#endif\n\n#if (defined(GL_SGIX_CONVOLUTION_ACCURACY) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIX_CONVOLUTION_ACCURACY)) && !defined(REGAL_NO_DECLARATION_GL_SGIX_CONVOLUTION_ACCURACY)\n#define REGAL_NO_DECLARATION_GL_SGIX_CONVOLUTION_ACCURACY\n#endif\n\n#ifndef GL_SGIX_convolution_accuracy\n#define GL_SGIX_convolution_accuracy 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_SGIX_CONVOLUTION_ACCURACY\n#define GL_CONVOLUTION_HINT_SGIX 0x8316 /* 33558 */\n#endif\n\n/**\n ** GL_SGIX_depth_texture\n **/\n\n#if (defined(GL_SGIX_DEPTH_TEXTURE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIX_DEPTH_TEXTURE)) && !defined(REGAL_NO_ENUM_GL_SGIX_DEPTH_TEXTURE)\n#define REGAL_NO_ENUM_GL_SGIX_DEPTH_TEXTURE\n#endif\n\n#if (defined(GL_SGIX_DEPTH_TEXTURE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIX_DEPTH_TEXTURE)) && !defined(REGAL_NO_TYPEDEF_GL_SGIX_DEPTH_TEXTURE)\n#define REGAL_NO_TYPEDEF_GL_SGIX_DEPTH_TEXTURE\n#endif\n\n#if (defined(GL_SGIX_DEPTH_TEXTURE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIX_DEPTH_TEXTURE)) && !defined(REGAL_NO_NAMESPACE_GL_SGIX_DEPTH_TEXTURE)\n#define REGAL_NO_NAMESPACE_GL_SGIX_DEPTH_TEXTURE\n#endif\n\n#if (defined(GL_SGIX_DEPTH_TEXTURE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIX_DEPTH_TEXTURE)) && !defined(REGAL_NO_PLUGIN_GL_SGIX_DEPTH_TEXTURE)\n#define REGAL_NO_PLUGIN_GL_SGIX_DEPTH_TEXTURE\n#endif\n\n#if (defined(GL_SGIX_DEPTH_TEXTURE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIX_DEPTH_TEXTURE)) && !defined(REGAL_NO_DECLARATION_GL_SGIX_DEPTH_TEXTURE)\n#define REGAL_NO_DECLARATION_GL_SGIX_DEPTH_TEXTURE\n#endif\n\n#ifndef GL_SGIX_depth_texture\n#define GL_SGIX_depth_texture 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_SGIX_DEPTH_TEXTURE\n#define GL_DEPTH_COMPONENT16_SGIX 0x81a5     /* 33189 */\n#define GL_DEPTH_COMPONENT24_SGIX 0x81a6     /* 33190 */\n#define GL_DEPTH_COMPONENT32_SGIX 0x81a7     /* 33191 */\n#endif\n\n/**\n ** GL_SGIX_flush_raster\n **/\n\n#if (defined(GL_SGIX_FLUSH_RASTER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIX_FLUSH_RASTER)) && !defined(REGAL_NO_ENUM_GL_SGIX_FLUSH_RASTER)\n#define REGAL_NO_ENUM_GL_SGIX_FLUSH_RASTER\n#endif\n\n#if (defined(GL_SGIX_FLUSH_RASTER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIX_FLUSH_RASTER)) && !defined(REGAL_NO_TYPEDEF_GL_SGIX_FLUSH_RASTER)\n#define REGAL_NO_TYPEDEF_GL_SGIX_FLUSH_RASTER\n#endif\n\n#if (defined(GL_SGIX_FLUSH_RASTER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIX_FLUSH_RASTER)) && !defined(REGAL_NO_NAMESPACE_GL_SGIX_FLUSH_RASTER)\n#define REGAL_NO_NAMESPACE_GL_SGIX_FLUSH_RASTER\n#endif\n\n#if (defined(GL_SGIX_FLUSH_RASTER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIX_FLUSH_RASTER)) && !defined(REGAL_NO_PLUGIN_GL_SGIX_FLUSH_RASTER)\n#define REGAL_NO_PLUGIN_GL_SGIX_FLUSH_RASTER\n#endif\n\n#if (defined(GL_SGIX_FLUSH_RASTER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIX_FLUSH_RASTER)) && !defined(REGAL_NO_DECLARATION_GL_SGIX_FLUSH_RASTER)\n#define REGAL_NO_DECLARATION_GL_SGIX_FLUSH_RASTER\n#endif\n\n#ifndef GL_SGIX_flush_raster\n#define GL_SGIX_flush_raster 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_SGIX_FLUSH_RASTER\ntypedef void (REGAL_CALL *PFNGLFLUSHRASTERSGIXPROC)(void);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_SGIX_FLUSH_RASTER\n#define glFlushRasterSGIX                   rglFlushRasterSGIX\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_SGIX_FLUSH_RASTER\nREGAL_DECL void REGAL_CALL glFlushRasterSGIX(void);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_SGIX_FLUSH_RASTER\nREGAL_DECL void REGAL_CALL plugin_glFlushRasterSGIX(void);\n#endif\n\n/**\n ** GL_SGIX_fog_offset\n **/\n\n#if (defined(GL_SGIX_FOG_OFFSET) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIX_FOG_OFFSET)) && !defined(REGAL_NO_ENUM_GL_SGIX_FOG_OFFSET)\n#define REGAL_NO_ENUM_GL_SGIX_FOG_OFFSET\n#endif\n\n#if (defined(GL_SGIX_FOG_OFFSET) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIX_FOG_OFFSET)) && !defined(REGAL_NO_TYPEDEF_GL_SGIX_FOG_OFFSET)\n#define REGAL_NO_TYPEDEF_GL_SGIX_FOG_OFFSET\n#endif\n\n#if (defined(GL_SGIX_FOG_OFFSET) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIX_FOG_OFFSET)) && !defined(REGAL_NO_NAMESPACE_GL_SGIX_FOG_OFFSET)\n#define REGAL_NO_NAMESPACE_GL_SGIX_FOG_OFFSET\n#endif\n\n#if (defined(GL_SGIX_FOG_OFFSET) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIX_FOG_OFFSET)) && !defined(REGAL_NO_PLUGIN_GL_SGIX_FOG_OFFSET)\n#define REGAL_NO_PLUGIN_GL_SGIX_FOG_OFFSET\n#endif\n\n#if (defined(GL_SGIX_FOG_OFFSET) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIX_FOG_OFFSET)) && !defined(REGAL_NO_DECLARATION_GL_SGIX_FOG_OFFSET)\n#define REGAL_NO_DECLARATION_GL_SGIX_FOG_OFFSET\n#endif\n\n#ifndef GL_SGIX_fog_offset\n#define GL_SGIX_fog_offset 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_SGIX_FOG_OFFSET\n#define GL_FOG_OFFSET_SGIX       0x8198     /* 33176 */\n#define GL_FOG_OFFSET_VALUE_SGIX 0x8199     /* 33177 */\n#endif\n\n/**\n ** GL_SGIX_fog_texture\n **/\n\n#if (defined(GL_SGIX_FOG_TEXTURE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIX_FOG_TEXTURE)) && !defined(REGAL_NO_ENUM_GL_SGIX_FOG_TEXTURE)\n#define REGAL_NO_ENUM_GL_SGIX_FOG_TEXTURE\n#endif\n\n#if (defined(GL_SGIX_FOG_TEXTURE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIX_FOG_TEXTURE)) && !defined(REGAL_NO_TYPEDEF_GL_SGIX_FOG_TEXTURE)\n#define REGAL_NO_TYPEDEF_GL_SGIX_FOG_TEXTURE\n#endif\n\n#if (defined(GL_SGIX_FOG_TEXTURE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIX_FOG_TEXTURE)) && !defined(REGAL_NO_NAMESPACE_GL_SGIX_FOG_TEXTURE)\n#define REGAL_NO_NAMESPACE_GL_SGIX_FOG_TEXTURE\n#endif\n\n#if (defined(GL_SGIX_FOG_TEXTURE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIX_FOG_TEXTURE)) && !defined(REGAL_NO_PLUGIN_GL_SGIX_FOG_TEXTURE)\n#define REGAL_NO_PLUGIN_GL_SGIX_FOG_TEXTURE\n#endif\n\n#if (defined(GL_SGIX_FOG_TEXTURE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIX_FOG_TEXTURE)) && !defined(REGAL_NO_DECLARATION_GL_SGIX_FOG_TEXTURE)\n#define REGAL_NO_DECLARATION_GL_SGIX_FOG_TEXTURE\n#endif\n\n#ifndef GL_SGIX_fog_texture\n#define GL_SGIX_fog_texture 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_SGIX_FOG_TEXTURE\n#define GL_FOG_PATCHY_FACTOR_SGIX 0x0\n#define GL_FRAGMENT_FOG_SGIX      0x0\n#define GL_TEXTURE_FOG_SGIX       0x0\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_SGIX_FOG_TEXTURE\ntypedef void (REGAL_CALL *PFNGLTEXTUREFOGSGIXPROC)(GLenum pname);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_SGIX_FOG_TEXTURE\n#define glTextureFogSGIX                    rglTextureFogSGIX\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_SGIX_FOG_TEXTURE\nREGAL_DECL void REGAL_CALL glTextureFogSGIX(GLenum pname);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_SGIX_FOG_TEXTURE\nREGAL_DECL void REGAL_CALL plugin_glTextureFogSGIX(GLenum pname);\n#endif\n\n/**\n ** GL_SGIX_fragment_lighting\n **/\n\n#if (defined(GL_SGIX_FRAGMENT_LIGHTING) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIX_FRAGMENT_LIGHTING)) && !defined(REGAL_NO_ENUM_GL_SGIX_FRAGMENT_LIGHTING)\n#define REGAL_NO_ENUM_GL_SGIX_FRAGMENT_LIGHTING\n#endif\n\n#if (defined(GL_SGIX_FRAGMENT_LIGHTING) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIX_FRAGMENT_LIGHTING)) && !defined(REGAL_NO_TYPEDEF_GL_SGIX_FRAGMENT_LIGHTING)\n#define REGAL_NO_TYPEDEF_GL_SGIX_FRAGMENT_LIGHTING\n#endif\n\n#if (defined(GL_SGIX_FRAGMENT_LIGHTING) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIX_FRAGMENT_LIGHTING)) && !defined(REGAL_NO_NAMESPACE_GL_SGIX_FRAGMENT_LIGHTING)\n#define REGAL_NO_NAMESPACE_GL_SGIX_FRAGMENT_LIGHTING\n#endif\n\n#if (defined(GL_SGIX_FRAGMENT_LIGHTING) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIX_FRAGMENT_LIGHTING)) && !defined(REGAL_NO_PLUGIN_GL_SGIX_FRAGMENT_LIGHTING)\n#define REGAL_NO_PLUGIN_GL_SGIX_FRAGMENT_LIGHTING\n#endif\n\n#if (defined(GL_SGIX_FRAGMENT_LIGHTING) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIX_FRAGMENT_LIGHTING)) && !defined(REGAL_NO_DECLARATION_GL_SGIX_FRAGMENT_LIGHTING)\n#define REGAL_NO_DECLARATION_GL_SGIX_FRAGMENT_LIGHTING\n#endif\n\n#ifndef GL_SGIX_fragment_lighting\n#define GL_SGIX_fragment_lighting 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_SGIX_FRAGMENT_LIGHTING\ntypedef void (REGAL_CALL *PFNGLFRAGMENTCOLORMATERIALSGIXPROC)(GLenum face, GLenum mode);\ntypedef void (REGAL_CALL *PFNGLFRAGMENTLIGHTFSGIXPROC)(GLenum light, GLenum pname, GLfloat param);\ntypedef void (REGAL_CALL *PFNGLFRAGMENTLIGHTFVSGIXPROC)(GLenum light, GLenum pname, const GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLFRAGMENTLIGHTISGIXPROC)(GLenum light, GLenum pname, GLint param);\ntypedef void (REGAL_CALL *PFNGLFRAGMENTLIGHTIVSGIXPROC)(GLenum light, GLenum pname, const GLint *params);\ntypedef void (REGAL_CALL *PFNGLFRAGMENTLIGHTMODELFSGIXPROC)(GLenum pname, GLfloat param);\ntypedef void (REGAL_CALL *PFNGLFRAGMENTLIGHTMODELFVSGIXPROC)(GLenum pname, const GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLFRAGMENTLIGHTMODELISGIXPROC)(GLenum pname, GLint param);\ntypedef void (REGAL_CALL *PFNGLFRAGMENTLIGHTMODELIVSGIXPROC)(GLenum pname, const GLint *params);\ntypedef void (REGAL_CALL *PFNGLFRAGMENTMATERIALFSGIXPROC)(GLenum face, GLenum pname, GLfloat param);\ntypedef void (REGAL_CALL *PFNGLFRAGMENTMATERIALFVSGIXPROC)(GLenum face, GLenum pname, const GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLFRAGMENTMATERIALISGIXPROC)(GLenum face, GLenum pname, GLint param);\ntypedef void (REGAL_CALL *PFNGLFRAGMENTMATERIALIVSGIXPROC)(GLenum face, GLenum pname, const GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETFRAGMENTLIGHTFVSGIXPROC)(GLenum light, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETFRAGMENTLIGHTIVSGIXPROC)(GLenum light, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETFRAGMENTMATERIALFVSGIXPROC)(GLenum face, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETFRAGMENTMATERIALIVSGIXPROC)(GLenum face, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLLIGHTENVISGIXPROC)(GLenum pname, GLint param);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_SGIX_FRAGMENT_LIGHTING\n#define glFragmentColorMaterialSGIX         rglFragmentColorMaterialSGIX\n#define glFragmentLightModelfSGIX           rglFragmentLightModelfSGIX\n#define glFragmentLightModelfvSGIX          rglFragmentLightModelfvSGIX\n#define glFragmentLightModeliSGIX           rglFragmentLightModeliSGIX\n#define glFragmentLightModelivSGIX          rglFragmentLightModelivSGIX\n#define glFragmentLightfSGIX                rglFragmentLightfSGIX\n#define glFragmentLightfvSGIX               rglFragmentLightfvSGIX\n#define glFragmentLightiSGIX                rglFragmentLightiSGIX\n#define glFragmentLightivSGIX               rglFragmentLightivSGIX\n#define glFragmentMaterialfSGIX             rglFragmentMaterialfSGIX\n#define glFragmentMaterialfvSGIX            rglFragmentMaterialfvSGIX\n#define glFragmentMaterialiSGIX             rglFragmentMaterialiSGIX\n#define glFragmentMaterialivSGIX            rglFragmentMaterialivSGIX\n#define glGetFragmentLightfvSGIX            rglGetFragmentLightfvSGIX\n#define glGetFragmentLightivSGIX            rglGetFragmentLightivSGIX\n#define glGetFragmentMaterialfvSGIX         rglGetFragmentMaterialfvSGIX\n#define glGetFragmentMaterialivSGIX         rglGetFragmentMaterialivSGIX\n#define glLightEnviSGIX                     rglLightEnviSGIX\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_SGIX_FRAGMENT_LIGHTING\nREGAL_DECL void REGAL_CALL glFragmentColorMaterialSGIX(GLenum face, GLenum mode);\nREGAL_DECL void REGAL_CALL glFragmentLightModelfSGIX(GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL glFragmentLightModelfvSGIX(GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL glFragmentLightModeliSGIX(GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL glFragmentLightModelivSGIX(GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL glFragmentLightfSGIX(GLenum light, GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL glFragmentLightfvSGIX(GLenum light, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL glFragmentLightiSGIX(GLenum light, GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL glFragmentLightivSGIX(GLenum light, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL glFragmentMaterialfSGIX(GLenum face, GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL glFragmentMaterialfvSGIX(GLenum face, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL glFragmentMaterialiSGIX(GLenum face, GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL glFragmentMaterialivSGIX(GLenum face, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL glGetFragmentLightfvSGIX(GLenum light, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetFragmentLightivSGIX(GLenum light, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetFragmentMaterialfvSGIX(GLenum face, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetFragmentMaterialivSGIX(GLenum face, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glLightEnviSGIX(GLenum pname, GLint param);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_SGIX_FRAGMENT_LIGHTING\nREGAL_DECL void REGAL_CALL plugin_glFragmentColorMaterialSGIX(GLenum face, GLenum mode);\nREGAL_DECL void REGAL_CALL plugin_glFragmentLightModelfSGIX(GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL plugin_glFragmentLightModelfvSGIX(GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glFragmentLightModeliSGIX(GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL plugin_glFragmentLightModelivSGIX(GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glFragmentLightfSGIX(GLenum light, GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL plugin_glFragmentLightfvSGIX(GLenum light, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glFragmentLightiSGIX(GLenum light, GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL plugin_glFragmentLightivSGIX(GLenum light, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glFragmentMaterialfSGIX(GLenum face, GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL plugin_glFragmentMaterialfvSGIX(GLenum face, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glFragmentMaterialiSGIX(GLenum face, GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL plugin_glFragmentMaterialivSGIX(GLenum face, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetFragmentLightfvSGIX(GLenum light, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetFragmentLightivSGIX(GLenum light, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetFragmentMaterialfvSGIX(GLenum face, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetFragmentMaterialivSGIX(GLenum face, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glLightEnviSGIX(GLenum pname, GLint param);\n#endif\n\n/**\n ** GL_SGIX_fragment_specular_lighting\n **/\n\n#if (defined(GL_SGIX_FRAGMENT_SPECULAR_LIGHTING) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIX_FRAGMENT_SPECULAR_LIGHTING)) && !defined(REGAL_NO_ENUM_GL_SGIX_FRAGMENT_SPECULAR_LIGHTING)\n#define REGAL_NO_ENUM_GL_SGIX_FRAGMENT_SPECULAR_LIGHTING\n#endif\n\n#if (defined(GL_SGIX_FRAGMENT_SPECULAR_LIGHTING) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIX_FRAGMENT_SPECULAR_LIGHTING)) && !defined(REGAL_NO_TYPEDEF_GL_SGIX_FRAGMENT_SPECULAR_LIGHTING)\n#define REGAL_NO_TYPEDEF_GL_SGIX_FRAGMENT_SPECULAR_LIGHTING\n#endif\n\n#if (defined(GL_SGIX_FRAGMENT_SPECULAR_LIGHTING) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIX_FRAGMENT_SPECULAR_LIGHTING)) && !defined(REGAL_NO_NAMESPACE_GL_SGIX_FRAGMENT_SPECULAR_LIGHTING)\n#define REGAL_NO_NAMESPACE_GL_SGIX_FRAGMENT_SPECULAR_LIGHTING\n#endif\n\n#if (defined(GL_SGIX_FRAGMENT_SPECULAR_LIGHTING) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIX_FRAGMENT_SPECULAR_LIGHTING)) && !defined(REGAL_NO_PLUGIN_GL_SGIX_FRAGMENT_SPECULAR_LIGHTING)\n#define REGAL_NO_PLUGIN_GL_SGIX_FRAGMENT_SPECULAR_LIGHTING\n#endif\n\n#if (defined(GL_SGIX_FRAGMENT_SPECULAR_LIGHTING) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIX_FRAGMENT_SPECULAR_LIGHTING)) && !defined(REGAL_NO_DECLARATION_GL_SGIX_FRAGMENT_SPECULAR_LIGHTING)\n#define REGAL_NO_DECLARATION_GL_SGIX_FRAGMENT_SPECULAR_LIGHTING\n#endif\n\n#ifndef GL_SGIX_fragment_specular_lighting\n#define GL_SGIX_fragment_specular_lighting 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_SGIX_FRAGMENT_SPECULAR_LIGHTING\n#define GL_FRAGMENT_LIGHTING_SGIX                         0x8400     /* 33792 */\n#define GL_FRAGMENT_COLOR_MATERIAL_SGIX                   0x8401     /* 33793 */\n#define GL_FRAGMENT_COLOR_MATERIAL_FACE_SGIX              0x8402     /* 33794 */\n#define GL_FRAGMENT_COLOR_MATERIAL_PARAMETER_SGIX         0x8403     /* 33795 */\n#define GL_MAX_FRAGMENT_LIGHTS_SGIX                       0x8404     /* 33796 */\n#define GL_MAX_ACTIVE_LIGHTS_SGIX                         0x8405     /* 33797 */\n#define GL_CURRENT_RASTER_NORMAL_SGIX                     0x8406     /* 33798 */\n#define GL_LIGHT_ENV_MODE_SGIX                            0x8407     /* 33799 */\n#define GL_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX         0x8408     /* 33800 */\n#define GL_FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX             0x8409     /* 33801 */\n#define GL_FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX              0x840a     /* 33802 */\n#define GL_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX 0x840b     /* 33803 */\n#define GL_FRAGMENT_LIGHT0_SGIX                           0x840c     /* 33804 */\n#define GL_FRAGMENT_LIGHT1_SGIX                           0x840d     /* 33805 */\n#define GL_FRAGMENT_LIGHT2_SGIX                           0x840e     /* 33806 */\n#define GL_FRAGMENT_LIGHT3_SGIX                           0x840f     /* 33807 */\n#define GL_FRAGMENT_LIGHT4_SGIX                           0x8410     /* 33808 */\n#define GL_FRAGMENT_LIGHT5_SGIX                           0x8411     /* 33809 */\n#define GL_FRAGMENT_LIGHT6_SGIX                           0x8412     /* 33810 */\n#define GL_FRAGMENT_LIGHT7_SGIX                           0x8413     /* 33811 */\n#endif\n\n/**\n ** GL_SGIX_framezoom\n **/\n\n#if (defined(GL_SGIX_FRAMEZOOM) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIX_FRAMEZOOM)) && !defined(REGAL_NO_ENUM_GL_SGIX_FRAMEZOOM)\n#define REGAL_NO_ENUM_GL_SGIX_FRAMEZOOM\n#endif\n\n#if (defined(GL_SGIX_FRAMEZOOM) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIX_FRAMEZOOM)) && !defined(REGAL_NO_TYPEDEF_GL_SGIX_FRAMEZOOM)\n#define REGAL_NO_TYPEDEF_GL_SGIX_FRAMEZOOM\n#endif\n\n#if (defined(GL_SGIX_FRAMEZOOM) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIX_FRAMEZOOM)) && !defined(REGAL_NO_NAMESPACE_GL_SGIX_FRAMEZOOM)\n#define REGAL_NO_NAMESPACE_GL_SGIX_FRAMEZOOM\n#endif\n\n#if (defined(GL_SGIX_FRAMEZOOM) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIX_FRAMEZOOM)) && !defined(REGAL_NO_PLUGIN_GL_SGIX_FRAMEZOOM)\n#define REGAL_NO_PLUGIN_GL_SGIX_FRAMEZOOM\n#endif\n\n#if (defined(GL_SGIX_FRAMEZOOM) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIX_FRAMEZOOM)) && !defined(REGAL_NO_DECLARATION_GL_SGIX_FRAMEZOOM)\n#define REGAL_NO_DECLARATION_GL_SGIX_FRAMEZOOM\n#endif\n\n#ifndef GL_SGIX_framezoom\n#define GL_SGIX_framezoom 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_SGIX_FRAMEZOOM\ntypedef void (REGAL_CALL *PFNGLFRAMEZOOMSGIXPROC)(GLint factor);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_SGIX_FRAMEZOOM\n#define glFrameZoomSGIX                     rglFrameZoomSGIX\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_SGIX_FRAMEZOOM\nREGAL_DECL void REGAL_CALL glFrameZoomSGIX(GLint factor);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_SGIX_FRAMEZOOM\nREGAL_DECL void REGAL_CALL plugin_glFrameZoomSGIX(GLint factor);\n#endif\n\n/**\n ** GL_SGIX_igloo_interface\n **/\n\n#if (defined(GL_SGIX_IGLOO_INTERFACE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIX_IGLOO_INTERFACE)) && !defined(REGAL_NO_ENUM_GL_SGIX_IGLOO_INTERFACE)\n#define REGAL_NO_ENUM_GL_SGIX_IGLOO_INTERFACE\n#endif\n\n#if (defined(GL_SGIX_IGLOO_INTERFACE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIX_IGLOO_INTERFACE)) && !defined(REGAL_NO_TYPEDEF_GL_SGIX_IGLOO_INTERFACE)\n#define REGAL_NO_TYPEDEF_GL_SGIX_IGLOO_INTERFACE\n#endif\n\n#if (defined(GL_SGIX_IGLOO_INTERFACE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIX_IGLOO_INTERFACE)) && !defined(REGAL_NO_NAMESPACE_GL_SGIX_IGLOO_INTERFACE)\n#define REGAL_NO_NAMESPACE_GL_SGIX_IGLOO_INTERFACE\n#endif\n\n#if (defined(GL_SGIX_IGLOO_INTERFACE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIX_IGLOO_INTERFACE)) && !defined(REGAL_NO_PLUGIN_GL_SGIX_IGLOO_INTERFACE)\n#define REGAL_NO_PLUGIN_GL_SGIX_IGLOO_INTERFACE\n#endif\n\n#if (defined(GL_SGIX_IGLOO_INTERFACE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIX_IGLOO_INTERFACE)) && !defined(REGAL_NO_DECLARATION_GL_SGIX_IGLOO_INTERFACE)\n#define REGAL_NO_DECLARATION_GL_SGIX_IGLOO_INTERFACE\n#endif\n\n#ifndef GL_SGIX_igloo_interface\n#define GL_SGIX_igloo_interface 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_SGIX_IGLOO_INTERFACE\ntypedef void (REGAL_CALL *PFNGLIGLOOINTERFACESGIXPROC)(GLenum pname, const GLvoid *params);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_SGIX_IGLOO_INTERFACE\n#define glIglooInterfaceSGIX                rglIglooInterfaceSGIX\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_SGIX_IGLOO_INTERFACE\nREGAL_DECL void REGAL_CALL glIglooInterfaceSGIX(GLenum pname, const GLvoid *params);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_SGIX_IGLOO_INTERFACE\nREGAL_DECL void REGAL_CALL plugin_glIglooInterfaceSGIX(GLenum pname, const GLvoid *params);\n#endif\n\n/**\n ** GL_SGIX_instruments\n **/\n\n#if (defined(GL_SGIX_INSTRUMENTS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIX_INSTRUMENTS)) && !defined(REGAL_NO_ENUM_GL_SGIX_INSTRUMENTS)\n#define REGAL_NO_ENUM_GL_SGIX_INSTRUMENTS\n#endif\n\n#if (defined(GL_SGIX_INSTRUMENTS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIX_INSTRUMENTS)) && !defined(REGAL_NO_TYPEDEF_GL_SGIX_INSTRUMENTS)\n#define REGAL_NO_TYPEDEF_GL_SGIX_INSTRUMENTS\n#endif\n\n#if (defined(GL_SGIX_INSTRUMENTS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIX_INSTRUMENTS)) && !defined(REGAL_NO_NAMESPACE_GL_SGIX_INSTRUMENTS)\n#define REGAL_NO_NAMESPACE_GL_SGIX_INSTRUMENTS\n#endif\n\n#if (defined(GL_SGIX_INSTRUMENTS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIX_INSTRUMENTS)) && !defined(REGAL_NO_PLUGIN_GL_SGIX_INSTRUMENTS)\n#define REGAL_NO_PLUGIN_GL_SGIX_INSTRUMENTS\n#endif\n\n#if (defined(GL_SGIX_INSTRUMENTS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIX_INSTRUMENTS)) && !defined(REGAL_NO_DECLARATION_GL_SGIX_INSTRUMENTS)\n#define REGAL_NO_DECLARATION_GL_SGIX_INSTRUMENTS\n#endif\n\n#ifndef GL_SGIX_instruments\n#define GL_SGIX_instruments 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_SGIX_INSTRUMENTS\ntypedef GLint (REGAL_CALL *PFNGLGETINSTRUMENTSSGIXPROC)(void);\ntypedef GLint (REGAL_CALL *PFNGLPOLLINSTRUMENTSSGIXPROC)(GLint *marker_p);\ntypedef void (REGAL_CALL *PFNGLINSTRUMENTSBUFFERSGIXPROC)(GLsizei size, GLint *buffer);\ntypedef void (REGAL_CALL *PFNGLREADINSTRUMENTSSGIXPROC)(GLint marker);\ntypedef void (REGAL_CALL *PFNGLSTARTINSTRUMENTSSGIXPROC)(void);\ntypedef void (REGAL_CALL *PFNGLSTOPINSTRUMENTSSGIXPROC)(GLint marker);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_SGIX_INSTRUMENTS\n#define glGetInstrumentsSGIX                rglGetInstrumentsSGIX\n#define glInstrumentsBufferSGIX             rglInstrumentsBufferSGIX\n#define glPollInstrumentsSGIX               rglPollInstrumentsSGIX\n#define glReadInstrumentsSGIX               rglReadInstrumentsSGIX\n#define glStartInstrumentsSGIX              rglStartInstrumentsSGIX\n#define glStopInstrumentsSGIX               rglStopInstrumentsSGIX\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_SGIX_INSTRUMENTS\nREGAL_DECL GLint REGAL_CALL glGetInstrumentsSGIX(void);\nREGAL_DECL GLint REGAL_CALL glPollInstrumentsSGIX(GLint *marker_p);\nREGAL_DECL void REGAL_CALL glInstrumentsBufferSGIX(GLsizei size, GLint *buffer);\nREGAL_DECL void REGAL_CALL glReadInstrumentsSGIX(GLint marker);\nREGAL_DECL void REGAL_CALL glStartInstrumentsSGIX(void);\nREGAL_DECL void REGAL_CALL glStopInstrumentsSGIX(GLint marker);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_SGIX_INSTRUMENTS\nREGAL_DECL GLint REGAL_CALL plugin_glGetInstrumentsSGIX(void);\nREGAL_DECL GLint REGAL_CALL plugin_glPollInstrumentsSGIX(GLint *marker_p);\nREGAL_DECL void REGAL_CALL plugin_glInstrumentsBufferSGIX(GLsizei size, GLint *buffer);\nREGAL_DECL void REGAL_CALL plugin_glReadInstrumentsSGIX(GLint marker);\nREGAL_DECL void REGAL_CALL plugin_glStartInstrumentsSGIX(void);\nREGAL_DECL void REGAL_CALL plugin_glStopInstrumentsSGIX(GLint marker);\n#endif\n\n/**\n ** GL_SGIX_interlace\n **/\n\n#if (defined(GL_SGIX_INTERLACE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIX_INTERLACE)) && !defined(REGAL_NO_ENUM_GL_SGIX_INTERLACE)\n#define REGAL_NO_ENUM_GL_SGIX_INTERLACE\n#endif\n\n#if (defined(GL_SGIX_INTERLACE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIX_INTERLACE)) && !defined(REGAL_NO_TYPEDEF_GL_SGIX_INTERLACE)\n#define REGAL_NO_TYPEDEF_GL_SGIX_INTERLACE\n#endif\n\n#if (defined(GL_SGIX_INTERLACE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIX_INTERLACE)) && !defined(REGAL_NO_NAMESPACE_GL_SGIX_INTERLACE)\n#define REGAL_NO_NAMESPACE_GL_SGIX_INTERLACE\n#endif\n\n#if (defined(GL_SGIX_INTERLACE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIX_INTERLACE)) && !defined(REGAL_NO_PLUGIN_GL_SGIX_INTERLACE)\n#define REGAL_NO_PLUGIN_GL_SGIX_INTERLACE\n#endif\n\n#if (defined(GL_SGIX_INTERLACE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIX_INTERLACE)) && !defined(REGAL_NO_DECLARATION_GL_SGIX_INTERLACE)\n#define REGAL_NO_DECLARATION_GL_SGIX_INTERLACE\n#endif\n\n#ifndef GL_SGIX_interlace\n#define GL_SGIX_interlace 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_SGIX_INTERLACE\n#define GL_INTERLACE_SGIX 0x8094 /* 32916 */\n#endif\n\n/**\n ** GL_SGIX_list_priority\n **/\n\n#if (defined(GL_SGIX_LIST_PRIORITY) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIX_LIST_PRIORITY)) && !defined(REGAL_NO_ENUM_GL_SGIX_LIST_PRIORITY)\n#define REGAL_NO_ENUM_GL_SGIX_LIST_PRIORITY\n#endif\n\n#if (defined(GL_SGIX_LIST_PRIORITY) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIX_LIST_PRIORITY)) && !defined(REGAL_NO_TYPEDEF_GL_SGIX_LIST_PRIORITY)\n#define REGAL_NO_TYPEDEF_GL_SGIX_LIST_PRIORITY\n#endif\n\n#if (defined(GL_SGIX_LIST_PRIORITY) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIX_LIST_PRIORITY)) && !defined(REGAL_NO_NAMESPACE_GL_SGIX_LIST_PRIORITY)\n#define REGAL_NO_NAMESPACE_GL_SGIX_LIST_PRIORITY\n#endif\n\n#if (defined(GL_SGIX_LIST_PRIORITY) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIX_LIST_PRIORITY)) && !defined(REGAL_NO_PLUGIN_GL_SGIX_LIST_PRIORITY)\n#define REGAL_NO_PLUGIN_GL_SGIX_LIST_PRIORITY\n#endif\n\n#if (defined(GL_SGIX_LIST_PRIORITY) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIX_LIST_PRIORITY)) && !defined(REGAL_NO_DECLARATION_GL_SGIX_LIST_PRIORITY)\n#define REGAL_NO_DECLARATION_GL_SGIX_LIST_PRIORITY\n#endif\n\n#ifndef GL_SGIX_list_priority\n#define GL_SGIX_list_priority 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_SGIX_LIST_PRIORITY\ntypedef void (REGAL_CALL *PFNGLGETLISTPARAMETERFVSGIXPROC)(GLuint list, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETLISTPARAMETERIVSGIXPROC)(GLuint list, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLLISTPARAMETERFSGIXPROC)(GLuint list, GLenum pname, GLfloat param);\ntypedef void (REGAL_CALL *PFNGLLISTPARAMETERFVSGIXPROC)(GLuint list, GLenum pname, const GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLLISTPARAMETERISGIXPROC)(GLuint list, GLenum pname, GLint param);\ntypedef void (REGAL_CALL *PFNGLLISTPARAMETERIVSGIXPROC)(GLuint list, GLenum pname, const GLint *params);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_SGIX_LIST_PRIORITY\n#define glGetListParameterfvSGIX            rglGetListParameterfvSGIX\n#define glGetListParameterivSGIX            rglGetListParameterivSGIX\n#define glListParameterfSGIX                rglListParameterfSGIX\n#define glListParameterfvSGIX               rglListParameterfvSGIX\n#define glListParameteriSGIX                rglListParameteriSGIX\n#define glListParameterivSGIX               rglListParameterivSGIX\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_SGIX_LIST_PRIORITY\nREGAL_DECL void REGAL_CALL glGetListParameterfvSGIX(GLuint list, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetListParameterivSGIX(GLuint list, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glListParameterfSGIX(GLuint list, GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL glListParameterfvSGIX(GLuint list, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL glListParameteriSGIX(GLuint list, GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL glListParameterivSGIX(GLuint list, GLenum pname, const GLint *params);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_SGIX_LIST_PRIORITY\nREGAL_DECL void REGAL_CALL plugin_glGetListParameterfvSGIX(GLuint list, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetListParameterivSGIX(GLuint list, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glListParameterfSGIX(GLuint list, GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL plugin_glListParameterfvSGIX(GLuint list, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glListParameteriSGIX(GLuint list, GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL plugin_glListParameterivSGIX(GLuint list, GLenum pname, const GLint *params);\n#endif\n\n/**\n ** GL_SGIX_pixel_texture\n **/\n\n#if (defined(GL_SGIX_PIXEL_TEXTURE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIX_PIXEL_TEXTURE)) && !defined(REGAL_NO_ENUM_GL_SGIX_PIXEL_TEXTURE)\n#define REGAL_NO_ENUM_GL_SGIX_PIXEL_TEXTURE\n#endif\n\n#if (defined(GL_SGIX_PIXEL_TEXTURE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIX_PIXEL_TEXTURE)) && !defined(REGAL_NO_TYPEDEF_GL_SGIX_PIXEL_TEXTURE)\n#define REGAL_NO_TYPEDEF_GL_SGIX_PIXEL_TEXTURE\n#endif\n\n#if (defined(GL_SGIX_PIXEL_TEXTURE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIX_PIXEL_TEXTURE)) && !defined(REGAL_NO_NAMESPACE_GL_SGIX_PIXEL_TEXTURE)\n#define REGAL_NO_NAMESPACE_GL_SGIX_PIXEL_TEXTURE\n#endif\n\n#if (defined(GL_SGIX_PIXEL_TEXTURE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIX_PIXEL_TEXTURE)) && !defined(REGAL_NO_PLUGIN_GL_SGIX_PIXEL_TEXTURE)\n#define REGAL_NO_PLUGIN_GL_SGIX_PIXEL_TEXTURE\n#endif\n\n#if (defined(GL_SGIX_PIXEL_TEXTURE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIX_PIXEL_TEXTURE)) && !defined(REGAL_NO_DECLARATION_GL_SGIX_PIXEL_TEXTURE)\n#define REGAL_NO_DECLARATION_GL_SGIX_PIXEL_TEXTURE\n#endif\n\n#ifndef GL_SGIX_pixel_texture\n#define GL_SGIX_pixel_texture 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_SGIX_PIXEL_TEXTURE\ntypedef void (REGAL_CALL *PFNGLPIXELTEXGENSGIXPROC)(GLenum mode);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_SGIX_PIXEL_TEXTURE\n#define glPixelTexGenSGIX                   rglPixelTexGenSGIX\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_SGIX_PIXEL_TEXTURE\nREGAL_DECL void REGAL_CALL glPixelTexGenSGIX(GLenum mode);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_SGIX_PIXEL_TEXTURE\nREGAL_DECL void REGAL_CALL plugin_glPixelTexGenSGIX(GLenum mode);\n#endif\n\n/**\n ** GL_SGIX_polynomial_ffd\n **/\n\n#if (defined(GL_SGIX_POLYNOMIAL_FFD) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIX_POLYNOMIAL_FFD)) && !defined(REGAL_NO_ENUM_GL_SGIX_POLYNOMIAL_FFD)\n#define REGAL_NO_ENUM_GL_SGIX_POLYNOMIAL_FFD\n#endif\n\n#if (defined(GL_SGIX_POLYNOMIAL_FFD) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIX_POLYNOMIAL_FFD)) && !defined(REGAL_NO_TYPEDEF_GL_SGIX_POLYNOMIAL_FFD)\n#define REGAL_NO_TYPEDEF_GL_SGIX_POLYNOMIAL_FFD\n#endif\n\n#if (defined(GL_SGIX_POLYNOMIAL_FFD) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIX_POLYNOMIAL_FFD)) && !defined(REGAL_NO_NAMESPACE_GL_SGIX_POLYNOMIAL_FFD)\n#define REGAL_NO_NAMESPACE_GL_SGIX_POLYNOMIAL_FFD\n#endif\n\n#if (defined(GL_SGIX_POLYNOMIAL_FFD) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIX_POLYNOMIAL_FFD)) && !defined(REGAL_NO_PLUGIN_GL_SGIX_POLYNOMIAL_FFD)\n#define REGAL_NO_PLUGIN_GL_SGIX_POLYNOMIAL_FFD\n#endif\n\n#if (defined(GL_SGIX_POLYNOMIAL_FFD) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIX_POLYNOMIAL_FFD)) && !defined(REGAL_NO_DECLARATION_GL_SGIX_POLYNOMIAL_FFD)\n#define REGAL_NO_DECLARATION_GL_SGIX_POLYNOMIAL_FFD\n#endif\n\n#ifndef GL_SGIX_polynomial_ffd\n#define GL_SGIX_polynomial_ffd 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_SGIX_POLYNOMIAL_FFD\ntypedef void (REGAL_CALL *PFNGLDEFORMATIONMAP3DSGIXPROC)(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, GLdouble w1, GLdouble w2, GLint wstride, GLint worder, const GLdouble *points);\ntypedef void (REGAL_CALL *PFNGLDEFORMATIONMAP3FSGIXPROC)(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, GLfloat w1, GLfloat w2, GLint wstride, GLint worder, const GLfloat *points);\ntypedef void (REGAL_CALL *PFNGLDEFORMSGIXPROC)(GLbitfield mask);\ntypedef void (REGAL_CALL *PFNGLLOADIDENTITYDEFORMATIONMAPSGIXPROC)(GLbitfield mask);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_SGIX_POLYNOMIAL_FFD\n#define glDeformSGIX                        rglDeformSGIX\n#define glDeformationMap3dSGIX              rglDeformationMap3dSGIX\n#define glDeformationMap3fSGIX              rglDeformationMap3fSGIX\n#define glLoadIdentityDeformationMapSGIX    rglLoadIdentityDeformationMapSGIX\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_SGIX_POLYNOMIAL_FFD\nREGAL_DECL void REGAL_CALL glDeformSGIX(GLbitfield mask);\nREGAL_DECL void REGAL_CALL glDeformationMap3dSGIX(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, GLdouble w1, GLdouble w2, GLint wstride, GLint worder, const GLdouble *points);\nREGAL_DECL void REGAL_CALL glDeformationMap3fSGIX(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, GLfloat w1, GLfloat w2, GLint wstride, GLint worder, const GLfloat *points);\nREGAL_DECL void REGAL_CALL glLoadIdentityDeformationMapSGIX(GLbitfield mask);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_SGIX_POLYNOMIAL_FFD\nREGAL_DECL void REGAL_CALL plugin_glDeformSGIX(GLbitfield mask);\nREGAL_DECL void REGAL_CALL plugin_glDeformationMap3dSGIX(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, GLdouble w1, GLdouble w2, GLint wstride, GLint worder, const GLdouble *points);\nREGAL_DECL void REGAL_CALL plugin_glDeformationMap3fSGIX(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, GLfloat w1, GLfloat w2, GLint wstride, GLint worder, const GLfloat *points);\nREGAL_DECL void REGAL_CALL plugin_glLoadIdentityDeformationMapSGIX(GLbitfield mask);\n#endif\n\n/**\n ** GL_SGIX_reference_plane\n **/\n\n#if (defined(GL_SGIX_REFERENCE_PLANE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIX_REFERENCE_PLANE)) && !defined(REGAL_NO_ENUM_GL_SGIX_REFERENCE_PLANE)\n#define REGAL_NO_ENUM_GL_SGIX_REFERENCE_PLANE\n#endif\n\n#if (defined(GL_SGIX_REFERENCE_PLANE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIX_REFERENCE_PLANE)) && !defined(REGAL_NO_TYPEDEF_GL_SGIX_REFERENCE_PLANE)\n#define REGAL_NO_TYPEDEF_GL_SGIX_REFERENCE_PLANE\n#endif\n\n#if (defined(GL_SGIX_REFERENCE_PLANE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIX_REFERENCE_PLANE)) && !defined(REGAL_NO_NAMESPACE_GL_SGIX_REFERENCE_PLANE)\n#define REGAL_NO_NAMESPACE_GL_SGIX_REFERENCE_PLANE\n#endif\n\n#if (defined(GL_SGIX_REFERENCE_PLANE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIX_REFERENCE_PLANE)) && !defined(REGAL_NO_PLUGIN_GL_SGIX_REFERENCE_PLANE)\n#define REGAL_NO_PLUGIN_GL_SGIX_REFERENCE_PLANE\n#endif\n\n#if (defined(GL_SGIX_REFERENCE_PLANE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIX_REFERENCE_PLANE)) && !defined(REGAL_NO_DECLARATION_GL_SGIX_REFERENCE_PLANE)\n#define REGAL_NO_DECLARATION_GL_SGIX_REFERENCE_PLANE\n#endif\n\n#ifndef GL_SGIX_reference_plane\n#define GL_SGIX_reference_plane 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_SGIX_REFERENCE_PLANE\ntypedef void (REGAL_CALL *PFNGLREFERENCEPLANESGIXPROC)(const GLdouble *equation);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_SGIX_REFERENCE_PLANE\n#define glReferencePlaneSGIX                rglReferencePlaneSGIX\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_SGIX_REFERENCE_PLANE\nREGAL_DECL void REGAL_CALL glReferencePlaneSGIX(const GLdouble *equation);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_SGIX_REFERENCE_PLANE\nREGAL_DECL void REGAL_CALL plugin_glReferencePlaneSGIX(const GLdouble *equation);\n#endif\n\n/**\n ** GL_SGIX_resample\n **/\n\n#if (defined(GL_SGIX_RESAMPLE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIX_RESAMPLE)) && !defined(REGAL_NO_ENUM_GL_SGIX_RESAMPLE)\n#define REGAL_NO_ENUM_GL_SGIX_RESAMPLE\n#endif\n\n#if (defined(GL_SGIX_RESAMPLE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIX_RESAMPLE)) && !defined(REGAL_NO_TYPEDEF_GL_SGIX_RESAMPLE)\n#define REGAL_NO_TYPEDEF_GL_SGIX_RESAMPLE\n#endif\n\n#if (defined(GL_SGIX_RESAMPLE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIX_RESAMPLE)) && !defined(REGAL_NO_NAMESPACE_GL_SGIX_RESAMPLE)\n#define REGAL_NO_NAMESPACE_GL_SGIX_RESAMPLE\n#endif\n\n#if (defined(GL_SGIX_RESAMPLE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIX_RESAMPLE)) && !defined(REGAL_NO_PLUGIN_GL_SGIX_RESAMPLE)\n#define REGAL_NO_PLUGIN_GL_SGIX_RESAMPLE\n#endif\n\n#if (defined(GL_SGIX_RESAMPLE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIX_RESAMPLE)) && !defined(REGAL_NO_DECLARATION_GL_SGIX_RESAMPLE)\n#define REGAL_NO_DECLARATION_GL_SGIX_RESAMPLE\n#endif\n\n#ifndef GL_SGIX_resample\n#define GL_SGIX_resample 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_SGIX_RESAMPLE\n#define GL_PACK_RESAMPLE_SGIX      0x842e     /* 33838 */\n#define GL_UNPACK_RESAMPLE_SGIX    0x842f     /* 33839 */\n#define GL_RESAMPLE_DECIMATE_SGIX  0x8430     /* 33840 */\n#define GL_RESAMPLE_REPLICATE_SGIX 0x8433     /* 33843 */\n#define GL_RESAMPLE_ZERO_FILL_SGIX 0x8434     /* 33844 */\n#endif\n\n/**\n ** GL_SGIX_shadow\n **/\n\n#if (defined(GL_SGIX_SHADOW) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIX_SHADOW)) && !defined(REGAL_NO_ENUM_GL_SGIX_SHADOW)\n#define REGAL_NO_ENUM_GL_SGIX_SHADOW\n#endif\n\n#if (defined(GL_SGIX_SHADOW) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIX_SHADOW)) && !defined(REGAL_NO_TYPEDEF_GL_SGIX_SHADOW)\n#define REGAL_NO_TYPEDEF_GL_SGIX_SHADOW\n#endif\n\n#if (defined(GL_SGIX_SHADOW) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIX_SHADOW)) && !defined(REGAL_NO_NAMESPACE_GL_SGIX_SHADOW)\n#define REGAL_NO_NAMESPACE_GL_SGIX_SHADOW\n#endif\n\n#if (defined(GL_SGIX_SHADOW) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIX_SHADOW)) && !defined(REGAL_NO_PLUGIN_GL_SGIX_SHADOW)\n#define REGAL_NO_PLUGIN_GL_SGIX_SHADOW\n#endif\n\n#if (defined(GL_SGIX_SHADOW) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIX_SHADOW)) && !defined(REGAL_NO_DECLARATION_GL_SGIX_SHADOW)\n#define REGAL_NO_DECLARATION_GL_SGIX_SHADOW\n#endif\n\n#ifndef GL_SGIX_shadow\n#define GL_SGIX_shadow 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_SGIX_SHADOW\n#define GL_TEXTURE_COMPARE_SGIX          0x819a     /* 33178 */\n#define GL_TEXTURE_COMPARE_OPERATOR_SGIX 0x819b     /* 33179 */\n#define GL_TEXTURE_LEQUAL_R_SGIX         0x819c     /* 33180 */\n#define GL_TEXTURE_GEQUAL_R_SGIX         0x819d     /* 33181 */\n#endif\n\n/**\n ** GL_SGIX_shadow_ambient\n **/\n\n#if (defined(GL_SGIX_SHADOW_AMBIENT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIX_SHADOW_AMBIENT)) && !defined(REGAL_NO_ENUM_GL_SGIX_SHADOW_AMBIENT)\n#define REGAL_NO_ENUM_GL_SGIX_SHADOW_AMBIENT\n#endif\n\n#if (defined(GL_SGIX_SHADOW_AMBIENT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIX_SHADOW_AMBIENT)) && !defined(REGAL_NO_TYPEDEF_GL_SGIX_SHADOW_AMBIENT)\n#define REGAL_NO_TYPEDEF_GL_SGIX_SHADOW_AMBIENT\n#endif\n\n#if (defined(GL_SGIX_SHADOW_AMBIENT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIX_SHADOW_AMBIENT)) && !defined(REGAL_NO_NAMESPACE_GL_SGIX_SHADOW_AMBIENT)\n#define REGAL_NO_NAMESPACE_GL_SGIX_SHADOW_AMBIENT\n#endif\n\n#if (defined(GL_SGIX_SHADOW_AMBIENT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIX_SHADOW_AMBIENT)) && !defined(REGAL_NO_PLUGIN_GL_SGIX_SHADOW_AMBIENT)\n#define REGAL_NO_PLUGIN_GL_SGIX_SHADOW_AMBIENT\n#endif\n\n#if (defined(GL_SGIX_SHADOW_AMBIENT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIX_SHADOW_AMBIENT)) && !defined(REGAL_NO_DECLARATION_GL_SGIX_SHADOW_AMBIENT)\n#define REGAL_NO_DECLARATION_GL_SGIX_SHADOW_AMBIENT\n#endif\n\n#ifndef GL_SGIX_shadow_ambient\n#define GL_SGIX_shadow_ambient 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_SGIX_SHADOW_AMBIENT\n#define GL_SHADOW_AMBIENT_SGIX 0x80bf /* 32959 */\n#endif\n\n/**\n ** GL_SGIX_sprite\n **/\n\n#if (defined(GL_SGIX_SPRITE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIX_SPRITE)) && !defined(REGAL_NO_ENUM_GL_SGIX_SPRITE)\n#define REGAL_NO_ENUM_GL_SGIX_SPRITE\n#endif\n\n#if (defined(GL_SGIX_SPRITE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIX_SPRITE)) && !defined(REGAL_NO_TYPEDEF_GL_SGIX_SPRITE)\n#define REGAL_NO_TYPEDEF_GL_SGIX_SPRITE\n#endif\n\n#if (defined(GL_SGIX_SPRITE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIX_SPRITE)) && !defined(REGAL_NO_NAMESPACE_GL_SGIX_SPRITE)\n#define REGAL_NO_NAMESPACE_GL_SGIX_SPRITE\n#endif\n\n#if (defined(GL_SGIX_SPRITE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIX_SPRITE)) && !defined(REGAL_NO_PLUGIN_GL_SGIX_SPRITE)\n#define REGAL_NO_PLUGIN_GL_SGIX_SPRITE\n#endif\n\n#if (defined(GL_SGIX_SPRITE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIX_SPRITE)) && !defined(REGAL_NO_DECLARATION_GL_SGIX_SPRITE)\n#define REGAL_NO_DECLARATION_GL_SGIX_SPRITE\n#endif\n\n#ifndef GL_SGIX_sprite\n#define GL_SGIX_sprite 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_SGIX_SPRITE\ntypedef void (REGAL_CALL *PFNGLSPRITEPARAMETERFSGIXPROC)(GLenum pname, GLfloat param);\ntypedef void (REGAL_CALL *PFNGLSPRITEPARAMETERFVSGIXPROC)(GLenum pname, const GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLSPRITEPARAMETERISGIXPROC)(GLenum pname, GLint param);\ntypedef void (REGAL_CALL *PFNGLSPRITEPARAMETERIVSGIXPROC)(GLenum pname, const GLint *params);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_SGIX_SPRITE\n#define glSpriteParameterfSGIX              rglSpriteParameterfSGIX\n#define glSpriteParameterfvSGIX             rglSpriteParameterfvSGIX\n#define glSpriteParameteriSGIX              rglSpriteParameteriSGIX\n#define glSpriteParameterivSGIX             rglSpriteParameterivSGIX\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_SGIX_SPRITE\nREGAL_DECL void REGAL_CALL glSpriteParameterfSGIX(GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL glSpriteParameterfvSGIX(GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL glSpriteParameteriSGIX(GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL glSpriteParameterivSGIX(GLenum pname, const GLint *params);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_SGIX_SPRITE\nREGAL_DECL void REGAL_CALL plugin_glSpriteParameterfSGIX(GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL plugin_glSpriteParameterfvSGIX(GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glSpriteParameteriSGIX(GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL plugin_glSpriteParameterivSGIX(GLenum pname, const GLint *params);\n#endif\n\n/**\n ** GL_SGIX_tag_sample_buffer\n **/\n\n#if (defined(GL_SGIX_TAG_SAMPLE_BUFFER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIX_TAG_SAMPLE_BUFFER)) && !defined(REGAL_NO_ENUM_GL_SGIX_TAG_SAMPLE_BUFFER)\n#define REGAL_NO_ENUM_GL_SGIX_TAG_SAMPLE_BUFFER\n#endif\n\n#if (defined(GL_SGIX_TAG_SAMPLE_BUFFER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIX_TAG_SAMPLE_BUFFER)) && !defined(REGAL_NO_TYPEDEF_GL_SGIX_TAG_SAMPLE_BUFFER)\n#define REGAL_NO_TYPEDEF_GL_SGIX_TAG_SAMPLE_BUFFER\n#endif\n\n#if (defined(GL_SGIX_TAG_SAMPLE_BUFFER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIX_TAG_SAMPLE_BUFFER)) && !defined(REGAL_NO_NAMESPACE_GL_SGIX_TAG_SAMPLE_BUFFER)\n#define REGAL_NO_NAMESPACE_GL_SGIX_TAG_SAMPLE_BUFFER\n#endif\n\n#if (defined(GL_SGIX_TAG_SAMPLE_BUFFER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIX_TAG_SAMPLE_BUFFER)) && !defined(REGAL_NO_PLUGIN_GL_SGIX_TAG_SAMPLE_BUFFER)\n#define REGAL_NO_PLUGIN_GL_SGIX_TAG_SAMPLE_BUFFER\n#endif\n\n#if (defined(GL_SGIX_TAG_SAMPLE_BUFFER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIX_TAG_SAMPLE_BUFFER)) && !defined(REGAL_NO_DECLARATION_GL_SGIX_TAG_SAMPLE_BUFFER)\n#define REGAL_NO_DECLARATION_GL_SGIX_TAG_SAMPLE_BUFFER\n#endif\n\n#ifndef GL_SGIX_tag_sample_buffer\n#define GL_SGIX_tag_sample_buffer 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_SGIX_TAG_SAMPLE_BUFFER\ntypedef void (REGAL_CALL *PFNGLTAGSAMPLEBUFFERSGIXPROC)(void);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_SGIX_TAG_SAMPLE_BUFFER\n#define glTagSampleBufferSGIX               rglTagSampleBufferSGIX\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_SGIX_TAG_SAMPLE_BUFFER\nREGAL_DECL void REGAL_CALL glTagSampleBufferSGIX(void);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_SGIX_TAG_SAMPLE_BUFFER\nREGAL_DECL void REGAL_CALL plugin_glTagSampleBufferSGIX(void);\n#endif\n\n/**\n ** GL_SGIX_texture_coordinate_clamp\n **/\n\n#if (defined(GL_SGIX_TEXTURE_COORDINATE_CLAMP) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIX_TEXTURE_COORDINATE_CLAMP)) && !defined(REGAL_NO_ENUM_GL_SGIX_TEXTURE_COORDINATE_CLAMP)\n#define REGAL_NO_ENUM_GL_SGIX_TEXTURE_COORDINATE_CLAMP\n#endif\n\n#if (defined(GL_SGIX_TEXTURE_COORDINATE_CLAMP) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIX_TEXTURE_COORDINATE_CLAMP)) && !defined(REGAL_NO_TYPEDEF_GL_SGIX_TEXTURE_COORDINATE_CLAMP)\n#define REGAL_NO_TYPEDEF_GL_SGIX_TEXTURE_COORDINATE_CLAMP\n#endif\n\n#if (defined(GL_SGIX_TEXTURE_COORDINATE_CLAMP) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIX_TEXTURE_COORDINATE_CLAMP)) && !defined(REGAL_NO_NAMESPACE_GL_SGIX_TEXTURE_COORDINATE_CLAMP)\n#define REGAL_NO_NAMESPACE_GL_SGIX_TEXTURE_COORDINATE_CLAMP\n#endif\n\n#if (defined(GL_SGIX_TEXTURE_COORDINATE_CLAMP) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIX_TEXTURE_COORDINATE_CLAMP)) && !defined(REGAL_NO_PLUGIN_GL_SGIX_TEXTURE_COORDINATE_CLAMP)\n#define REGAL_NO_PLUGIN_GL_SGIX_TEXTURE_COORDINATE_CLAMP\n#endif\n\n#if (defined(GL_SGIX_TEXTURE_COORDINATE_CLAMP) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIX_TEXTURE_COORDINATE_CLAMP)) && !defined(REGAL_NO_DECLARATION_GL_SGIX_TEXTURE_COORDINATE_CLAMP)\n#define REGAL_NO_DECLARATION_GL_SGIX_TEXTURE_COORDINATE_CLAMP\n#endif\n\n#ifndef GL_SGIX_texture_coordinate_clamp\n#define GL_SGIX_texture_coordinate_clamp 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_SGIX_TEXTURE_COORDINATE_CLAMP\n#define GL_TEXTURE_MAX_CLAMP_S_SGIX 0x8369     /* 33641 */\n#define GL_TEXTURE_MAX_CLAMP_T_SGIX 0x836a     /* 33642 */\n#define GL_TEXTURE_MAX_CLAMP_R_SGIX 0x836b     /* 33643 */\n#endif\n\n/**\n ** GL_SGIX_texture_multi_buffer\n **/\n\n#if (defined(GL_SGIX_TEXTURE_MULTI_BUFFER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIX_TEXTURE_MULTI_BUFFER)) && !defined(REGAL_NO_ENUM_GL_SGIX_TEXTURE_MULTI_BUFFER)\n#define REGAL_NO_ENUM_GL_SGIX_TEXTURE_MULTI_BUFFER\n#endif\n\n#if (defined(GL_SGIX_TEXTURE_MULTI_BUFFER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIX_TEXTURE_MULTI_BUFFER)) && !defined(REGAL_NO_TYPEDEF_GL_SGIX_TEXTURE_MULTI_BUFFER)\n#define REGAL_NO_TYPEDEF_GL_SGIX_TEXTURE_MULTI_BUFFER\n#endif\n\n#if (defined(GL_SGIX_TEXTURE_MULTI_BUFFER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIX_TEXTURE_MULTI_BUFFER)) && !defined(REGAL_NO_NAMESPACE_GL_SGIX_TEXTURE_MULTI_BUFFER)\n#define REGAL_NO_NAMESPACE_GL_SGIX_TEXTURE_MULTI_BUFFER\n#endif\n\n#if (defined(GL_SGIX_TEXTURE_MULTI_BUFFER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIX_TEXTURE_MULTI_BUFFER)) && !defined(REGAL_NO_PLUGIN_GL_SGIX_TEXTURE_MULTI_BUFFER)\n#define REGAL_NO_PLUGIN_GL_SGIX_TEXTURE_MULTI_BUFFER\n#endif\n\n#if (defined(GL_SGIX_TEXTURE_MULTI_BUFFER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIX_TEXTURE_MULTI_BUFFER)) && !defined(REGAL_NO_DECLARATION_GL_SGIX_TEXTURE_MULTI_BUFFER)\n#define REGAL_NO_DECLARATION_GL_SGIX_TEXTURE_MULTI_BUFFER\n#endif\n\n#ifndef GL_SGIX_texture_multi_buffer\n#define GL_SGIX_texture_multi_buffer 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_SGIX_TEXTURE_MULTI_BUFFER\n#define GL_TEXTURE_MULTI_BUFFER_HINT_SGIX 0x812e /* 33070 */\n#endif\n\n/**\n ** GL_SGIX_texture_range\n **/\n\n#if (defined(GL_SGIX_TEXTURE_RANGE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIX_TEXTURE_RANGE)) && !defined(REGAL_NO_ENUM_GL_SGIX_TEXTURE_RANGE)\n#define REGAL_NO_ENUM_GL_SGIX_TEXTURE_RANGE\n#endif\n\n#if (defined(GL_SGIX_TEXTURE_RANGE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIX_TEXTURE_RANGE)) && !defined(REGAL_NO_TYPEDEF_GL_SGIX_TEXTURE_RANGE)\n#define REGAL_NO_TYPEDEF_GL_SGIX_TEXTURE_RANGE\n#endif\n\n#if (defined(GL_SGIX_TEXTURE_RANGE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIX_TEXTURE_RANGE)) && !defined(REGAL_NO_NAMESPACE_GL_SGIX_TEXTURE_RANGE)\n#define REGAL_NO_NAMESPACE_GL_SGIX_TEXTURE_RANGE\n#endif\n\n#if (defined(GL_SGIX_TEXTURE_RANGE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIX_TEXTURE_RANGE)) && !defined(REGAL_NO_PLUGIN_GL_SGIX_TEXTURE_RANGE)\n#define REGAL_NO_PLUGIN_GL_SGIX_TEXTURE_RANGE\n#endif\n\n#if (defined(GL_SGIX_TEXTURE_RANGE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIX_TEXTURE_RANGE)) && !defined(REGAL_NO_DECLARATION_GL_SGIX_TEXTURE_RANGE)\n#define REGAL_NO_DECLARATION_GL_SGIX_TEXTURE_RANGE\n#endif\n\n#ifndef GL_SGIX_texture_range\n#define GL_SGIX_texture_range 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_SGIX_TEXTURE_RANGE\n#define GL_RGB_SIGNED_SGIX                         0x85e0     /* 34272 */\n#define GL_RGBA_SIGNED_SGIX                        0x85e1     /* 34273 */\n#define GL_ALPHA_SIGNED_SGIX                       0x85e2     /* 34274 */\n#define GL_LUMINANCE_SIGNED_SGIX                   0x85e3     /* 34275 */\n#define GL_INTENSITY_SIGNED_SGIX                   0x85e4     /* 34276 */\n#define GL_LUMINANCE_ALPHA_SIGNED_SGIX             0x85e5     /* 34277 */\n#define GL_RGB16_SIGNED_SGIX                       0x85e6     /* 34278 */\n#define GL_RGBA16_SIGNED_SGIX                      0x85e7     /* 34279 */\n#define GL_ALPHA16_SIGNED_SGIX                     0x85e8     /* 34280 */\n#define GL_LUMINANCE16_SIGNED_SGIX                 0x85e9     /* 34281 */\n#define GL_INTENSITY16_SIGNED_SGIX                 0x85ea     /* 34282 */\n#define GL_LUMINANCE16_ALPHA16_SIGNED_SGIX         0x85eb     /* 34283 */\n#define GL_RGB_EXTENDED_RANGE_SGIX                 0x85ec     /* 34284 */\n#define GL_RGBA_EXTENDED_RANGE_SGIX                0x85ed     /* 34285 */\n#define GL_ALPHA_EXTENDED_RANGE_SGIX               0x85ee     /* 34286 */\n#define GL_LUMINANCE_EXTENDED_RANGE_SGIX           0x85ef     /* 34287 */\n#define GL_INTENSITY_EXTENDED_RANGE_SGIX           0x85f0     /* 34288 */\n#define GL_LUMINANCE_ALPHA_EXTENDED_RANGE_SGIX     0x85f1     /* 34289 */\n#define GL_RGB16_EXTENDED_RANGE_SGIX               0x85f2     /* 34290 */\n#define GL_RGBA16_EXTENDED_RANGE_SGIX              0x85f3     /* 34291 */\n#define GL_ALPHA16_EXTENDED_RANGE_SGIX             0x85f4     /* 34292 */\n#define GL_LUMINANCE16_EXTENDED_RANGE_SGIX         0x85f5     /* 34293 */\n#define GL_INTENSITY16_EXTENDED_RANGE_SGIX         0x85f6     /* 34294 */\n#define GL_LUMINANCE16_ALPHA16_EXTENDED_RANGE_SGIX 0x85f7     /* 34295 */\n#define GL_MIN_LUMINANCE_SGIS                      0x85f8     /* 34296 */\n#define GL_MAX_LUMINANCE_SGIS                      0x85f9     /* 34297 */\n#define GL_MIN_INTENSITY_SGIS                      0x85fa     /* 34298 */\n#define GL_MAX_INTENSITY_SGIS                      0x85fb     /* 34299 */\n#endif\n\n/**\n ** GL_SGIX_texture_scale_bias\n **/\n\n#if (defined(GL_SGIX_TEXTURE_SCALE_BIAS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIX_TEXTURE_SCALE_BIAS)) && !defined(REGAL_NO_ENUM_GL_SGIX_TEXTURE_SCALE_BIAS)\n#define REGAL_NO_ENUM_GL_SGIX_TEXTURE_SCALE_BIAS\n#endif\n\n#if (defined(GL_SGIX_TEXTURE_SCALE_BIAS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIX_TEXTURE_SCALE_BIAS)) && !defined(REGAL_NO_TYPEDEF_GL_SGIX_TEXTURE_SCALE_BIAS)\n#define REGAL_NO_TYPEDEF_GL_SGIX_TEXTURE_SCALE_BIAS\n#endif\n\n#if (defined(GL_SGIX_TEXTURE_SCALE_BIAS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIX_TEXTURE_SCALE_BIAS)) && !defined(REGAL_NO_NAMESPACE_GL_SGIX_TEXTURE_SCALE_BIAS)\n#define REGAL_NO_NAMESPACE_GL_SGIX_TEXTURE_SCALE_BIAS\n#endif\n\n#if (defined(GL_SGIX_TEXTURE_SCALE_BIAS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIX_TEXTURE_SCALE_BIAS)) && !defined(REGAL_NO_PLUGIN_GL_SGIX_TEXTURE_SCALE_BIAS)\n#define REGAL_NO_PLUGIN_GL_SGIX_TEXTURE_SCALE_BIAS\n#endif\n\n#if (defined(GL_SGIX_TEXTURE_SCALE_BIAS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIX_TEXTURE_SCALE_BIAS)) && !defined(REGAL_NO_DECLARATION_GL_SGIX_TEXTURE_SCALE_BIAS)\n#define REGAL_NO_DECLARATION_GL_SGIX_TEXTURE_SCALE_BIAS\n#endif\n\n#ifndef GL_SGIX_texture_scale_bias\n#define GL_SGIX_texture_scale_bias 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_SGIX_TEXTURE_SCALE_BIAS\n#define GL_POST_TEXTURE_FILTER_BIAS_SGIX        0x8179     /* 33145 */\n#define GL_POST_TEXTURE_FILTER_SCALE_SGIX       0x817a     /* 33146 */\n#define GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX  0x817b     /* 33147 */\n#define GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX 0x817c     /* 33148 */\n#endif\n\n/**\n ** GL_SGIX_vertex_preclip_hint\n **/\n\n#if (defined(GL_SGIX_VERTEX_PRECLIP_HINT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIX_VERTEX_PRECLIP_HINT)) && !defined(REGAL_NO_ENUM_GL_SGIX_VERTEX_PRECLIP_HINT)\n#define REGAL_NO_ENUM_GL_SGIX_VERTEX_PRECLIP_HINT\n#endif\n\n#if (defined(GL_SGIX_VERTEX_PRECLIP_HINT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIX_VERTEX_PRECLIP_HINT)) && !defined(REGAL_NO_TYPEDEF_GL_SGIX_VERTEX_PRECLIP_HINT)\n#define REGAL_NO_TYPEDEF_GL_SGIX_VERTEX_PRECLIP_HINT\n#endif\n\n#if (defined(GL_SGIX_VERTEX_PRECLIP_HINT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIX_VERTEX_PRECLIP_HINT)) && !defined(REGAL_NO_NAMESPACE_GL_SGIX_VERTEX_PRECLIP_HINT)\n#define REGAL_NO_NAMESPACE_GL_SGIX_VERTEX_PRECLIP_HINT\n#endif\n\n#if (defined(GL_SGIX_VERTEX_PRECLIP_HINT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIX_VERTEX_PRECLIP_HINT)) && !defined(REGAL_NO_PLUGIN_GL_SGIX_VERTEX_PRECLIP_HINT)\n#define REGAL_NO_PLUGIN_GL_SGIX_VERTEX_PRECLIP_HINT\n#endif\n\n#if (defined(GL_SGIX_VERTEX_PRECLIP_HINT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIX_VERTEX_PRECLIP_HINT)) && !defined(REGAL_NO_DECLARATION_GL_SGIX_VERTEX_PRECLIP_HINT)\n#define REGAL_NO_DECLARATION_GL_SGIX_VERTEX_PRECLIP_HINT\n#endif\n\n#ifndef GL_SGIX_vertex_preclip_hint\n#define GL_SGIX_vertex_preclip_hint 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_SGIX_VERTEX_PRECLIP_HINT\n#define GL_VERTEX_PRECLIP_SGIX      0x83ee     /* 33774 */\n#define GL_VERTEX_PRECLIP_HINT_SGIX 0x83ef     /* 33775 */\n#endif\n\n/**\n ** GL_SGIX_ycrcb\n **/\n\n#if (defined(GL_SGIX_YCRCB) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIX_YCRCB)) && !defined(REGAL_NO_ENUM_GL_SGIX_YCRCB)\n#define REGAL_NO_ENUM_GL_SGIX_YCRCB\n#endif\n\n#if (defined(GL_SGIX_YCRCB) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIX_YCRCB)) && !defined(REGAL_NO_TYPEDEF_GL_SGIX_YCRCB)\n#define REGAL_NO_TYPEDEF_GL_SGIX_YCRCB\n#endif\n\n#if (defined(GL_SGIX_YCRCB) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIX_YCRCB)) && !defined(REGAL_NO_NAMESPACE_GL_SGIX_YCRCB)\n#define REGAL_NO_NAMESPACE_GL_SGIX_YCRCB\n#endif\n\n#if (defined(GL_SGIX_YCRCB) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIX_YCRCB)) && !defined(REGAL_NO_PLUGIN_GL_SGIX_YCRCB)\n#define REGAL_NO_PLUGIN_GL_SGIX_YCRCB\n#endif\n\n#if (defined(GL_SGIX_YCRCB) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIX_YCRCB)) && !defined(REGAL_NO_DECLARATION_GL_SGIX_YCRCB)\n#define REGAL_NO_DECLARATION_GL_SGIX_YCRCB\n#endif\n\n#ifndef GL_SGIX_ycrcb\n#define GL_SGIX_ycrcb 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_SGIX_YCRCB\n#define GL_YCRCB_422_SGIX 0x81bb     /* 33211 */\n#define GL_YCRCB_444_SGIX 0x81bc     /* 33212 */\n#endif\n\n/**\n ** GL_SGI_color_matrix\n **/\n\n#if (defined(GL_SGI_COLOR_MATRIX) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGI_COLOR_MATRIX)) && !defined(REGAL_NO_ENUM_GL_SGI_COLOR_MATRIX)\n#define REGAL_NO_ENUM_GL_SGI_COLOR_MATRIX\n#endif\n\n#if (defined(GL_SGI_COLOR_MATRIX) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGI_COLOR_MATRIX)) && !defined(REGAL_NO_TYPEDEF_GL_SGI_COLOR_MATRIX)\n#define REGAL_NO_TYPEDEF_GL_SGI_COLOR_MATRIX\n#endif\n\n#if (defined(GL_SGI_COLOR_MATRIX) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGI_COLOR_MATRIX)) && !defined(REGAL_NO_NAMESPACE_GL_SGI_COLOR_MATRIX)\n#define REGAL_NO_NAMESPACE_GL_SGI_COLOR_MATRIX\n#endif\n\n#if (defined(GL_SGI_COLOR_MATRIX) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGI_COLOR_MATRIX)) && !defined(REGAL_NO_PLUGIN_GL_SGI_COLOR_MATRIX)\n#define REGAL_NO_PLUGIN_GL_SGI_COLOR_MATRIX\n#endif\n\n#if (defined(GL_SGI_COLOR_MATRIX) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGI_COLOR_MATRIX)) && !defined(REGAL_NO_DECLARATION_GL_SGI_COLOR_MATRIX)\n#define REGAL_NO_DECLARATION_GL_SGI_COLOR_MATRIX\n#endif\n\n#ifndef GL_SGI_color_matrix\n#define GL_SGI_color_matrix 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_SGI_COLOR_MATRIX\n#define GL_COLOR_MATRIX_SGI                  0x80b1     /* 32945 */\n#define GL_COLOR_MATRIX_STACK_DEPTH_SGI      0x80b2     /* 32946 */\n#define GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI  0x80b3     /* 32947 */\n#define GL_POST_COLOR_MATRIX_RED_SCALE_SGI   0x80b4     /* 32948 */\n#define GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI 0x80b5     /* 32949 */\n#define GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI  0x80b6     /* 32950 */\n#define GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI 0x80b7     /* 32951 */\n#define GL_POST_COLOR_MATRIX_RED_BIAS_SGI    0x80b8     /* 32952 */\n#define GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI  0x80b9     /* 32953 */\n#define GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI   0x80ba     /* 32954 */\n#define GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI  0x80bb     /* 32955 */\n#endif\n\n/**\n ** GL_SGI_color_table\n **/\n\n#if (defined(GL_SGI_COLOR_TABLE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGI_COLOR_TABLE)) && !defined(REGAL_NO_ENUM_GL_SGI_COLOR_TABLE)\n#define REGAL_NO_ENUM_GL_SGI_COLOR_TABLE\n#endif\n\n#if (defined(GL_SGI_COLOR_TABLE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGI_COLOR_TABLE)) && !defined(REGAL_NO_TYPEDEF_GL_SGI_COLOR_TABLE)\n#define REGAL_NO_TYPEDEF_GL_SGI_COLOR_TABLE\n#endif\n\n#if (defined(GL_SGI_COLOR_TABLE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGI_COLOR_TABLE)) && !defined(REGAL_NO_NAMESPACE_GL_SGI_COLOR_TABLE)\n#define REGAL_NO_NAMESPACE_GL_SGI_COLOR_TABLE\n#endif\n\n#if (defined(GL_SGI_COLOR_TABLE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGI_COLOR_TABLE)) && !defined(REGAL_NO_PLUGIN_GL_SGI_COLOR_TABLE)\n#define REGAL_NO_PLUGIN_GL_SGI_COLOR_TABLE\n#endif\n\n#if (defined(GL_SGI_COLOR_TABLE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGI_COLOR_TABLE)) && !defined(REGAL_NO_DECLARATION_GL_SGI_COLOR_TABLE)\n#define REGAL_NO_DECLARATION_GL_SGI_COLOR_TABLE\n#endif\n\n#ifndef GL_SGI_color_table\n#define GL_SGI_color_table 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_SGI_COLOR_TABLE\n#define GL_COLOR_TABLE_SGI                         0x80d0     /* 32976 */\n#define GL_POST_CONVOLUTION_COLOR_TABLE_SGI        0x80d1     /* 32977 */\n#define GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI       0x80d2     /* 32978 */\n#define GL_PROXY_COLOR_TABLE_SGI                   0x80d3     /* 32979 */\n#define GL_PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI  0x80d4     /* 32980 */\n#define GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI 0x80d5     /* 32981 */\n#define GL_COLOR_TABLE_SCALE_SGI                   0x80d6     /* 32982 */\n#define GL_COLOR_TABLE_BIAS_SGI                    0x80d7     /* 32983 */\n#define GL_COLOR_TABLE_FORMAT_SGI                  0x80d8     /* 32984 */\n#define GL_COLOR_TABLE_WIDTH_SGI                   0x80d9     /* 32985 */\n#define GL_COLOR_TABLE_RED_SIZE_SGI                0x80da     /* 32986 */\n#define GL_COLOR_TABLE_GREEN_SIZE_SGI              0x80db     /* 32987 */\n#define GL_COLOR_TABLE_BLUE_SIZE_SGI               0x80dc     /* 32988 */\n#define GL_COLOR_TABLE_ALPHA_SIZE_SGI              0x80dd     /* 32989 */\n#define GL_COLOR_TABLE_LUMINANCE_SIZE_SGI          0x80de     /* 32990 */\n#define GL_COLOR_TABLE_INTENSITY_SIZE_SGI          0x80df     /* 32991 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_SGI_COLOR_TABLE\ntypedef void (REGAL_CALL *PFNGLCOLORTABLEPARAMETERFVSGIPROC)(GLenum target, GLenum pname, const GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLCOLORTABLEPARAMETERIVSGIPROC)(GLenum target, GLenum pname, const GLint *params);\ntypedef void (REGAL_CALL *PFNGLCOLORTABLESGIPROC)(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table);\ntypedef void (REGAL_CALL *PFNGLCOPYCOLORTABLESGIPROC)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);\ntypedef void (REGAL_CALL *PFNGLGETCOLORTABLEPARAMETERFVSGIPROC)(GLenum target, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETCOLORTABLEPARAMETERIVSGIPROC)(GLenum target, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETCOLORTABLESGIPROC)(GLenum target, GLenum format, GLenum type, GLvoid *table);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_SGI_COLOR_TABLE\n#define glColorTableParameterfvSGI          rglColorTableParameterfvSGI\n#define glColorTableParameterivSGI          rglColorTableParameterivSGI\n#define glColorTableSGI                     rglColorTableSGI\n#define glCopyColorTableSGI                 rglCopyColorTableSGI\n#define glGetColorTableParameterfvSGI       rglGetColorTableParameterfvSGI\n#define glGetColorTableParameterivSGI       rglGetColorTableParameterivSGI\n#define glGetColorTableSGI                  rglGetColorTableSGI\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_SGI_COLOR_TABLE\nREGAL_DECL void REGAL_CALL glColorTableParameterfvSGI(GLenum target, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL glColorTableParameterivSGI(GLenum target, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL glColorTableSGI(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table);\nREGAL_DECL void REGAL_CALL glCopyColorTableSGI(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);\nREGAL_DECL void REGAL_CALL glGetColorTableParameterfvSGI(GLenum target, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetColorTableParameterivSGI(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetColorTableSGI(GLenum target, GLenum format, GLenum type, GLvoid *table);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_SGI_COLOR_TABLE\nREGAL_DECL void REGAL_CALL plugin_glColorTableParameterfvSGI(GLenum target, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glColorTableParameterivSGI(GLenum target, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glColorTableSGI(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table);\nREGAL_DECL void REGAL_CALL plugin_glCopyColorTableSGI(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);\nREGAL_DECL void REGAL_CALL plugin_glGetColorTableParameterfvSGI(GLenum target, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetColorTableParameterivSGI(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetColorTableSGI(GLenum target, GLenum format, GLenum type, GLvoid *table);\n#endif\n\n/**\n ** GL_SGI_texture_color_table\n **/\n\n#if (defined(GL_SGI_TEXTURE_COLOR_TABLE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGI_TEXTURE_COLOR_TABLE)) && !defined(REGAL_NO_ENUM_GL_SGI_TEXTURE_COLOR_TABLE)\n#define REGAL_NO_ENUM_GL_SGI_TEXTURE_COLOR_TABLE\n#endif\n\n#if (defined(GL_SGI_TEXTURE_COLOR_TABLE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGI_TEXTURE_COLOR_TABLE)) && !defined(REGAL_NO_TYPEDEF_GL_SGI_TEXTURE_COLOR_TABLE)\n#define REGAL_NO_TYPEDEF_GL_SGI_TEXTURE_COLOR_TABLE\n#endif\n\n#if (defined(GL_SGI_TEXTURE_COLOR_TABLE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGI_TEXTURE_COLOR_TABLE)) && !defined(REGAL_NO_NAMESPACE_GL_SGI_TEXTURE_COLOR_TABLE)\n#define REGAL_NO_NAMESPACE_GL_SGI_TEXTURE_COLOR_TABLE\n#endif\n\n#if (defined(GL_SGI_TEXTURE_COLOR_TABLE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGI_TEXTURE_COLOR_TABLE)) && !defined(REGAL_NO_PLUGIN_GL_SGI_TEXTURE_COLOR_TABLE)\n#define REGAL_NO_PLUGIN_GL_SGI_TEXTURE_COLOR_TABLE\n#endif\n\n#if (defined(GL_SGI_TEXTURE_COLOR_TABLE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGI_TEXTURE_COLOR_TABLE)) && !defined(REGAL_NO_DECLARATION_GL_SGI_TEXTURE_COLOR_TABLE)\n#define REGAL_NO_DECLARATION_GL_SGI_TEXTURE_COLOR_TABLE\n#endif\n\n#ifndef GL_SGI_texture_color_table\n#define GL_SGI_texture_color_table 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_SGI_TEXTURE_COLOR_TABLE\n#define GL_TEXTURE_COLOR_TABLE_SGI       0x80bc     /* 32956 */\n#define GL_PROXY_TEXTURE_COLOR_TABLE_SGI 0x80bd     /* 32957 */\n#endif\n\n/**\n ** GL_SUNX_constant_data\n **/\n\n#if (defined(GL_SUNX_CONSTANT_DATA) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SUNX_CONSTANT_DATA)) && !defined(REGAL_NO_ENUM_GL_SUNX_CONSTANT_DATA)\n#define REGAL_NO_ENUM_GL_SUNX_CONSTANT_DATA\n#endif\n\n#if (defined(GL_SUNX_CONSTANT_DATA) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SUNX_CONSTANT_DATA)) && !defined(REGAL_NO_TYPEDEF_GL_SUNX_CONSTANT_DATA)\n#define REGAL_NO_TYPEDEF_GL_SUNX_CONSTANT_DATA\n#endif\n\n#if (defined(GL_SUNX_CONSTANT_DATA) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SUNX_CONSTANT_DATA)) && !defined(REGAL_NO_NAMESPACE_GL_SUNX_CONSTANT_DATA)\n#define REGAL_NO_NAMESPACE_GL_SUNX_CONSTANT_DATA\n#endif\n\n#if (defined(GL_SUNX_CONSTANT_DATA) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SUNX_CONSTANT_DATA)) && !defined(REGAL_NO_PLUGIN_GL_SUNX_CONSTANT_DATA)\n#define REGAL_NO_PLUGIN_GL_SUNX_CONSTANT_DATA\n#endif\n\n#if (defined(GL_SUNX_CONSTANT_DATA) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SUNX_CONSTANT_DATA)) && !defined(REGAL_NO_DECLARATION_GL_SUNX_CONSTANT_DATA)\n#define REGAL_NO_DECLARATION_GL_SUNX_CONSTANT_DATA\n#endif\n\n#ifndef GL_SUNX_constant_data\n#define GL_SUNX_constant_data 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_SUNX_CONSTANT_DATA\n#define GL_UNPACK_CONSTANT_DATA_SUNX  0x81d5     /* 33237 */\n#define GL_TEXTURE_CONSTANT_DATA_SUNX 0x81d6     /* 33238 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_SUNX_CONSTANT_DATA\ntypedef void (REGAL_CALL *PFNGLFINISHTEXTURESUNXPROC)(void);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_SUNX_CONSTANT_DATA\n#define glFinishTextureSUNX                 rglFinishTextureSUNX\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_SUNX_CONSTANT_DATA\nREGAL_DECL void REGAL_CALL glFinishTextureSUNX(void);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_SUNX_CONSTANT_DATA\nREGAL_DECL void REGAL_CALL plugin_glFinishTextureSUNX(void);\n#endif\n\n/**\n ** GL_SUN_convolution_border_modes\n **/\n\n#if (defined(GL_SUN_CONVOLUTION_BORDER_MODES) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SUN_CONVOLUTION_BORDER_MODES)) && !defined(REGAL_NO_ENUM_GL_SUN_CONVOLUTION_BORDER_MODES)\n#define REGAL_NO_ENUM_GL_SUN_CONVOLUTION_BORDER_MODES\n#endif\n\n#if (defined(GL_SUN_CONVOLUTION_BORDER_MODES) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SUN_CONVOLUTION_BORDER_MODES)) && !defined(REGAL_NO_TYPEDEF_GL_SUN_CONVOLUTION_BORDER_MODES)\n#define REGAL_NO_TYPEDEF_GL_SUN_CONVOLUTION_BORDER_MODES\n#endif\n\n#if (defined(GL_SUN_CONVOLUTION_BORDER_MODES) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SUN_CONVOLUTION_BORDER_MODES)) && !defined(REGAL_NO_NAMESPACE_GL_SUN_CONVOLUTION_BORDER_MODES)\n#define REGAL_NO_NAMESPACE_GL_SUN_CONVOLUTION_BORDER_MODES\n#endif\n\n#if (defined(GL_SUN_CONVOLUTION_BORDER_MODES) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SUN_CONVOLUTION_BORDER_MODES)) && !defined(REGAL_NO_PLUGIN_GL_SUN_CONVOLUTION_BORDER_MODES)\n#define REGAL_NO_PLUGIN_GL_SUN_CONVOLUTION_BORDER_MODES\n#endif\n\n#if (defined(GL_SUN_CONVOLUTION_BORDER_MODES) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SUN_CONVOLUTION_BORDER_MODES)) && !defined(REGAL_NO_DECLARATION_GL_SUN_CONVOLUTION_BORDER_MODES)\n#define REGAL_NO_DECLARATION_GL_SUN_CONVOLUTION_BORDER_MODES\n#endif\n\n#ifndef GL_SUN_convolution_border_modes\n#define GL_SUN_convolution_border_modes 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_SUN_CONVOLUTION_BORDER_MODES\n#define GL_WRAP_BORDER_SUN 0x81d4 /* 33236 */\n#endif\n\n/**\n ** GL_SUN_global_alpha\n **/\n\n#if (defined(GL_SUN_GLOBAL_ALPHA) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SUN_GLOBAL_ALPHA)) && !defined(REGAL_NO_ENUM_GL_SUN_GLOBAL_ALPHA)\n#define REGAL_NO_ENUM_GL_SUN_GLOBAL_ALPHA\n#endif\n\n#if (defined(GL_SUN_GLOBAL_ALPHA) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SUN_GLOBAL_ALPHA)) && !defined(REGAL_NO_TYPEDEF_GL_SUN_GLOBAL_ALPHA)\n#define REGAL_NO_TYPEDEF_GL_SUN_GLOBAL_ALPHA\n#endif\n\n#if (defined(GL_SUN_GLOBAL_ALPHA) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SUN_GLOBAL_ALPHA)) && !defined(REGAL_NO_NAMESPACE_GL_SUN_GLOBAL_ALPHA)\n#define REGAL_NO_NAMESPACE_GL_SUN_GLOBAL_ALPHA\n#endif\n\n#if (defined(GL_SUN_GLOBAL_ALPHA) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SUN_GLOBAL_ALPHA)) && !defined(REGAL_NO_PLUGIN_GL_SUN_GLOBAL_ALPHA)\n#define REGAL_NO_PLUGIN_GL_SUN_GLOBAL_ALPHA\n#endif\n\n#if (defined(GL_SUN_GLOBAL_ALPHA) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SUN_GLOBAL_ALPHA)) && !defined(REGAL_NO_DECLARATION_GL_SUN_GLOBAL_ALPHA)\n#define REGAL_NO_DECLARATION_GL_SUN_GLOBAL_ALPHA\n#endif\n\n#ifndef GL_SUN_global_alpha\n#define GL_SUN_global_alpha 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_SUN_GLOBAL_ALPHA\n#define GL_GLOBAL_ALPHA_SUN        0x81d9     /* 33241 */\n#define GL_GLOBAL_ALPHA_FACTOR_SUN 0x81da     /* 33242 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_SUN_GLOBAL_ALPHA\ntypedef void (REGAL_CALL *PFNGLGLOBALALPHAFACTORBSUNPROC)(GLbyte factor);\ntypedef void (REGAL_CALL *PFNGLGLOBALALPHAFACTORDSUNPROC)(GLdouble factor);\ntypedef void (REGAL_CALL *PFNGLGLOBALALPHAFACTORFSUNPROC)(GLfloat factor);\ntypedef void (REGAL_CALL *PFNGLGLOBALALPHAFACTORISUNPROC)(GLint factor);\ntypedef void (REGAL_CALL *PFNGLGLOBALALPHAFACTORSSUNPROC)(GLshort factor);\ntypedef void (REGAL_CALL *PFNGLGLOBALALPHAFACTORUBSUNPROC)(GLubyte factor);\ntypedef void (REGAL_CALL *PFNGLGLOBALALPHAFACTORUISUNPROC)(GLuint factor);\ntypedef void (REGAL_CALL *PFNGLGLOBALALPHAFACTORUSSUNPROC)(GLushort factor);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_SUN_GLOBAL_ALPHA\n#define glGlobalAlphaFactorbSUN             rglGlobalAlphaFactorbSUN\n#define glGlobalAlphaFactordSUN             rglGlobalAlphaFactordSUN\n#define glGlobalAlphaFactorfSUN             rglGlobalAlphaFactorfSUN\n#define glGlobalAlphaFactoriSUN             rglGlobalAlphaFactoriSUN\n#define glGlobalAlphaFactorsSUN             rglGlobalAlphaFactorsSUN\n#define glGlobalAlphaFactorubSUN            rglGlobalAlphaFactorubSUN\n#define glGlobalAlphaFactoruiSUN            rglGlobalAlphaFactoruiSUN\n#define glGlobalAlphaFactorusSUN            rglGlobalAlphaFactorusSUN\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_SUN_GLOBAL_ALPHA\nREGAL_DECL void REGAL_CALL glGlobalAlphaFactorbSUN(GLbyte factor);\nREGAL_DECL void REGAL_CALL glGlobalAlphaFactordSUN(GLdouble factor);\nREGAL_DECL void REGAL_CALL glGlobalAlphaFactorfSUN(GLfloat factor);\nREGAL_DECL void REGAL_CALL glGlobalAlphaFactoriSUN(GLint factor);\nREGAL_DECL void REGAL_CALL glGlobalAlphaFactorsSUN(GLshort factor);\nREGAL_DECL void REGAL_CALL glGlobalAlphaFactorubSUN(GLubyte factor);\nREGAL_DECL void REGAL_CALL glGlobalAlphaFactoruiSUN(GLuint factor);\nREGAL_DECL void REGAL_CALL glGlobalAlphaFactorusSUN(GLushort factor);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_SUN_GLOBAL_ALPHA\nREGAL_DECL void REGAL_CALL plugin_glGlobalAlphaFactorbSUN(GLbyte factor);\nREGAL_DECL void REGAL_CALL plugin_glGlobalAlphaFactordSUN(GLdouble factor);\nREGAL_DECL void REGAL_CALL plugin_glGlobalAlphaFactorfSUN(GLfloat factor);\nREGAL_DECL void REGAL_CALL plugin_glGlobalAlphaFactoriSUN(GLint factor);\nREGAL_DECL void REGAL_CALL plugin_glGlobalAlphaFactorsSUN(GLshort factor);\nREGAL_DECL void REGAL_CALL plugin_glGlobalAlphaFactorubSUN(GLubyte factor);\nREGAL_DECL void REGAL_CALL plugin_glGlobalAlphaFactoruiSUN(GLuint factor);\nREGAL_DECL void REGAL_CALL plugin_glGlobalAlphaFactorusSUN(GLushort factor);\n#endif\n\n/**\n ** GL_SUN_mesh_array\n **/\n\n#if (defined(GL_SUN_MESH_ARRAY) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SUN_MESH_ARRAY)) && !defined(REGAL_NO_ENUM_GL_SUN_MESH_ARRAY)\n#define REGAL_NO_ENUM_GL_SUN_MESH_ARRAY\n#endif\n\n#if (defined(GL_SUN_MESH_ARRAY) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SUN_MESH_ARRAY)) && !defined(REGAL_NO_TYPEDEF_GL_SUN_MESH_ARRAY)\n#define REGAL_NO_TYPEDEF_GL_SUN_MESH_ARRAY\n#endif\n\n#if (defined(GL_SUN_MESH_ARRAY) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SUN_MESH_ARRAY)) && !defined(REGAL_NO_NAMESPACE_GL_SUN_MESH_ARRAY)\n#define REGAL_NO_NAMESPACE_GL_SUN_MESH_ARRAY\n#endif\n\n#if (defined(GL_SUN_MESH_ARRAY) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SUN_MESH_ARRAY)) && !defined(REGAL_NO_PLUGIN_GL_SUN_MESH_ARRAY)\n#define REGAL_NO_PLUGIN_GL_SUN_MESH_ARRAY\n#endif\n\n#if (defined(GL_SUN_MESH_ARRAY) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SUN_MESH_ARRAY)) && !defined(REGAL_NO_DECLARATION_GL_SUN_MESH_ARRAY)\n#define REGAL_NO_DECLARATION_GL_SUN_MESH_ARRAY\n#endif\n\n#ifndef GL_SUN_mesh_array\n#define GL_SUN_mesh_array 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_SUN_MESH_ARRAY\n#define GL_QUAD_MESH_SUN     0x8614     /* 34324 */\n#define GL_TRIANGLE_MESH_SUN 0x8615     /* 34325 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_SUN_MESH_ARRAY\ntypedef void (REGAL_CALL *PFNGLDRAWMESHARRAYSSUNPROC)(GLenum mode, GLint first, GLsizei count, GLsizei width);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_SUN_MESH_ARRAY\n#define glDrawMeshArraysSUN                 rglDrawMeshArraysSUN\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_SUN_MESH_ARRAY\nREGAL_DECL void REGAL_CALL glDrawMeshArraysSUN(GLenum mode, GLint first, GLsizei count, GLsizei width);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_SUN_MESH_ARRAY\nREGAL_DECL void REGAL_CALL plugin_glDrawMeshArraysSUN(GLenum mode, GLint first, GLsizei count, GLsizei width);\n#endif\n\n/**\n ** GL_SUN_read_video_pixels\n **/\n\n#if (defined(GL_SUN_READ_VIDEO_PIXELS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SUN_READ_VIDEO_PIXELS)) && !defined(REGAL_NO_ENUM_GL_SUN_READ_VIDEO_PIXELS)\n#define REGAL_NO_ENUM_GL_SUN_READ_VIDEO_PIXELS\n#endif\n\n#if (defined(GL_SUN_READ_VIDEO_PIXELS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SUN_READ_VIDEO_PIXELS)) && !defined(REGAL_NO_TYPEDEF_GL_SUN_READ_VIDEO_PIXELS)\n#define REGAL_NO_TYPEDEF_GL_SUN_READ_VIDEO_PIXELS\n#endif\n\n#if (defined(GL_SUN_READ_VIDEO_PIXELS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SUN_READ_VIDEO_PIXELS)) && !defined(REGAL_NO_NAMESPACE_GL_SUN_READ_VIDEO_PIXELS)\n#define REGAL_NO_NAMESPACE_GL_SUN_READ_VIDEO_PIXELS\n#endif\n\n#if (defined(GL_SUN_READ_VIDEO_PIXELS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SUN_READ_VIDEO_PIXELS)) && !defined(REGAL_NO_PLUGIN_GL_SUN_READ_VIDEO_PIXELS)\n#define REGAL_NO_PLUGIN_GL_SUN_READ_VIDEO_PIXELS\n#endif\n\n#if (defined(GL_SUN_READ_VIDEO_PIXELS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SUN_READ_VIDEO_PIXELS)) && !defined(REGAL_NO_DECLARATION_GL_SUN_READ_VIDEO_PIXELS)\n#define REGAL_NO_DECLARATION_GL_SUN_READ_VIDEO_PIXELS\n#endif\n\n#ifndef GL_SUN_read_video_pixels\n#define GL_SUN_read_video_pixels 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_SUN_READ_VIDEO_PIXELS\ntypedef void (REGAL_CALL *PFNGLREADVIDEOPIXELSSUNPROC)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_SUN_READ_VIDEO_PIXELS\n#define glReadVideoPixelsSUN                rglReadVideoPixelsSUN\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_SUN_READ_VIDEO_PIXELS\nREGAL_DECL void REGAL_CALL glReadVideoPixelsSUN(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_SUN_READ_VIDEO_PIXELS\nREGAL_DECL void REGAL_CALL plugin_glReadVideoPixelsSUN(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels);\n#endif\n\n/**\n ** GL_SUN_slice_accum\n **/\n\n#if (defined(GL_SUN_SLICE_ACCUM) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SUN_SLICE_ACCUM)) && !defined(REGAL_NO_ENUM_GL_SUN_SLICE_ACCUM)\n#define REGAL_NO_ENUM_GL_SUN_SLICE_ACCUM\n#endif\n\n#if (defined(GL_SUN_SLICE_ACCUM) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SUN_SLICE_ACCUM)) && !defined(REGAL_NO_TYPEDEF_GL_SUN_SLICE_ACCUM)\n#define REGAL_NO_TYPEDEF_GL_SUN_SLICE_ACCUM\n#endif\n\n#if (defined(GL_SUN_SLICE_ACCUM) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SUN_SLICE_ACCUM)) && !defined(REGAL_NO_NAMESPACE_GL_SUN_SLICE_ACCUM)\n#define REGAL_NO_NAMESPACE_GL_SUN_SLICE_ACCUM\n#endif\n\n#if (defined(GL_SUN_SLICE_ACCUM) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SUN_SLICE_ACCUM)) && !defined(REGAL_NO_PLUGIN_GL_SUN_SLICE_ACCUM)\n#define REGAL_NO_PLUGIN_GL_SUN_SLICE_ACCUM\n#endif\n\n#if (defined(GL_SUN_SLICE_ACCUM) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SUN_SLICE_ACCUM)) && !defined(REGAL_NO_DECLARATION_GL_SUN_SLICE_ACCUM)\n#define REGAL_NO_DECLARATION_GL_SUN_SLICE_ACCUM\n#endif\n\n#ifndef GL_SUN_slice_accum\n#define GL_SUN_slice_accum 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_SUN_SLICE_ACCUM\n#define GL_SLICE_ACCUM_SUN 0x85cc /* 34252 */\n#endif\n\n/**\n ** GL_SUN_triangle_list\n **/\n\n#if (defined(GL_SUN_TRIANGLE_LIST) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SUN_TRIANGLE_LIST)) && !defined(REGAL_NO_ENUM_GL_SUN_TRIANGLE_LIST)\n#define REGAL_NO_ENUM_GL_SUN_TRIANGLE_LIST\n#endif\n\n#if (defined(GL_SUN_TRIANGLE_LIST) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SUN_TRIANGLE_LIST)) && !defined(REGAL_NO_TYPEDEF_GL_SUN_TRIANGLE_LIST)\n#define REGAL_NO_TYPEDEF_GL_SUN_TRIANGLE_LIST\n#endif\n\n#if (defined(GL_SUN_TRIANGLE_LIST) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SUN_TRIANGLE_LIST)) && !defined(REGAL_NO_NAMESPACE_GL_SUN_TRIANGLE_LIST)\n#define REGAL_NO_NAMESPACE_GL_SUN_TRIANGLE_LIST\n#endif\n\n#if (defined(GL_SUN_TRIANGLE_LIST) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SUN_TRIANGLE_LIST)) && !defined(REGAL_NO_PLUGIN_GL_SUN_TRIANGLE_LIST)\n#define REGAL_NO_PLUGIN_GL_SUN_TRIANGLE_LIST\n#endif\n\n#if (defined(GL_SUN_TRIANGLE_LIST) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SUN_TRIANGLE_LIST)) && !defined(REGAL_NO_DECLARATION_GL_SUN_TRIANGLE_LIST)\n#define REGAL_NO_DECLARATION_GL_SUN_TRIANGLE_LIST\n#endif\n\n#ifndef GL_SUN_triangle_list\n#define GL_SUN_triangle_list 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_SUN_TRIANGLE_LIST\n#define GL_RESTART_SUN                        0x1\n#define GL_REPLACE_MIDDLE_SUN                 0x2\n#define GL_REPLACE_OLDEST_SUN                 0x3\n#define GL_TRIANGLE_LIST_SUN                  0x81d7     /* 33239 */\n#define GL_REPLACEMENT_CODE_SUN               0x81d8     /* 33240 */\n#define GL_REPLACEMENT_CODE_ARRAY_SUN         0x85c0     /* 34240 */\n#define GL_REPLACEMENT_CODE_ARRAY_TYPE_SUN    0x85c1     /* 34241 */\n#define GL_REPLACEMENT_CODE_ARRAY_STRIDE_SUN  0x85c2     /* 34242 */\n#define GL_REPLACEMENT_CODE_ARRAY_POINTER_SUN 0x85c3     /* 34243 */\n#define GL_R1UI_V3F_SUN                       0x85c4     /* 34244 */\n#define GL_R1UI_C4UB_V3F_SUN                  0x85c5     /* 34245 */\n#define GL_R1UI_C3F_V3F_SUN                   0x85c6     /* 34246 */\n#define GL_R1UI_N3F_V3F_SUN                   0x85c7     /* 34247 */\n#define GL_R1UI_C4F_N3F_V3F_SUN               0x85c8     /* 34248 */\n#define GL_R1UI_T2F_V3F_SUN                   0x85c9     /* 34249 */\n#define GL_R1UI_T2F_N3F_V3F_SUN               0x85ca     /* 34250 */\n#define GL_R1UI_T2F_C4F_N3F_V3F_SUN           0x85cb     /* 34251 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_SUN_TRIANGLE_LIST\ntypedef void (REGAL_CALL *PFNGLREPLACEMENTCODEPOINTERSUNPROC)(GLenum type, GLsizei stride, const GLvoid **pointer);\ntypedef void (REGAL_CALL *PFNGLREPLACEMENTCODEUBSUNPROC)(GLubyte code);\ntypedef void (REGAL_CALL *PFNGLREPLACEMENTCODEUBVSUNPROC)(const GLubyte *code);\ntypedef void (REGAL_CALL *PFNGLREPLACEMENTCODEUISUNPROC)(GLuint code);\ntypedef void (REGAL_CALL *PFNGLREPLACEMENTCODEUIVSUNPROC)(const GLuint *code);\ntypedef void (REGAL_CALL *PFNGLREPLACEMENTCODEUSSUNPROC)(GLushort code);\ntypedef void (REGAL_CALL *PFNGLREPLACEMENTCODEUSVSUNPROC)(const GLushort *code);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_SUN_TRIANGLE_LIST\n#define glReplacementCodePointerSUN         rglReplacementCodePointerSUN\n#define glReplacementCodeubSUN              rglReplacementCodeubSUN\n#define glReplacementCodeubvSUN             rglReplacementCodeubvSUN\n#define glReplacementCodeuiSUN              rglReplacementCodeuiSUN\n#define glReplacementCodeuivSUN             rglReplacementCodeuivSUN\n#define glReplacementCodeusSUN              rglReplacementCodeusSUN\n#define glReplacementCodeusvSUN             rglReplacementCodeusvSUN\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_SUN_TRIANGLE_LIST\nREGAL_DECL void REGAL_CALL glReplacementCodePointerSUN(GLenum type, GLsizei stride, const GLvoid **pointer);\nREGAL_DECL void REGAL_CALL glReplacementCodeubSUN(GLubyte code);\nREGAL_DECL void REGAL_CALL glReplacementCodeubvSUN(const GLubyte *code);\nREGAL_DECL void REGAL_CALL glReplacementCodeuiSUN(GLuint code);\nREGAL_DECL void REGAL_CALL glReplacementCodeuivSUN(const GLuint *code);\nREGAL_DECL void REGAL_CALL glReplacementCodeusSUN(GLushort code);\nREGAL_DECL void REGAL_CALL glReplacementCodeusvSUN(const GLushort *code);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_SUN_TRIANGLE_LIST\nREGAL_DECL void REGAL_CALL plugin_glReplacementCodePointerSUN(GLenum type, GLsizei stride, const GLvoid **pointer);\nREGAL_DECL void REGAL_CALL plugin_glReplacementCodeubSUN(GLubyte code);\nREGAL_DECL void REGAL_CALL plugin_glReplacementCodeubvSUN(const GLubyte *code);\nREGAL_DECL void REGAL_CALL plugin_glReplacementCodeuiSUN(GLuint code);\nREGAL_DECL void REGAL_CALL plugin_glReplacementCodeuivSUN(const GLuint *code);\nREGAL_DECL void REGAL_CALL plugin_glReplacementCodeusSUN(GLushort code);\nREGAL_DECL void REGAL_CALL plugin_glReplacementCodeusvSUN(const GLushort *code);\n#endif\n\n/**\n ** GL_SUN_vertex\n **/\n\n#if (defined(GL_SUN_VERTEX) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SUN_VERTEX)) && !defined(REGAL_NO_ENUM_GL_SUN_VERTEX)\n#define REGAL_NO_ENUM_GL_SUN_VERTEX\n#endif\n\n#if (defined(GL_SUN_VERTEX) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SUN_VERTEX)) && !defined(REGAL_NO_TYPEDEF_GL_SUN_VERTEX)\n#define REGAL_NO_TYPEDEF_GL_SUN_VERTEX\n#endif\n\n#if (defined(GL_SUN_VERTEX) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SUN_VERTEX)) && !defined(REGAL_NO_NAMESPACE_GL_SUN_VERTEX)\n#define REGAL_NO_NAMESPACE_GL_SUN_VERTEX\n#endif\n\n#if (defined(GL_SUN_VERTEX) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SUN_VERTEX)) && !defined(REGAL_NO_PLUGIN_GL_SUN_VERTEX)\n#define REGAL_NO_PLUGIN_GL_SUN_VERTEX\n#endif\n\n#if (defined(GL_SUN_VERTEX) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SUN_VERTEX)) && !defined(REGAL_NO_DECLARATION_GL_SUN_VERTEX)\n#define REGAL_NO_DECLARATION_GL_SUN_VERTEX\n#endif\n\n#ifndef GL_SUN_vertex\n#define GL_SUN_vertex 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_SUN_VERTEX\ntypedef void (REGAL_CALL *PFNGLCOLOR3FVERTEX3FSUNPROC)(GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z);\ntypedef void (REGAL_CALL *PFNGLCOLOR3FVERTEX3FVSUNPROC)(const GLfloat *c, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLCOLOR4FNORMAL3FVERTEX3FSUNPROC)(GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);\ntypedef void (REGAL_CALL *PFNGLCOLOR4FNORMAL3FVERTEX3FVSUNPROC)(const GLfloat *c, const GLfloat *n, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLCOLOR4UBVERTEX2FSUNPROC)(GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y);\ntypedef void (REGAL_CALL *PFNGLCOLOR4UBVERTEX2FVSUNPROC)(const GLubyte *c, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLCOLOR4UBVERTEX3FSUNPROC)(GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z);\ntypedef void (REGAL_CALL *PFNGLCOLOR4UBVERTEX3FVSUNPROC)(const GLubyte *c, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLNORMAL3FVERTEX3FSUNPROC)(GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);\ntypedef void (REGAL_CALL *PFNGLNORMAL3FVERTEX3FVSUNPROC)(const GLfloat *n, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FSUNPROC)(GLuint rc, GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z);\ntypedef void (REGAL_CALL *PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FVSUNPROC)(const GLuint *rc, const GLfloat *c, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FSUNPROC)(GLuint rc, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);\ntypedef void (REGAL_CALL *PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FVSUNPROC)(const GLuint *rc, const GLfloat *c, const GLfloat *n, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FSUNPROC)(GLuint rc, GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z);\ntypedef void (REGAL_CALL *PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FVSUNPROC)(const GLuint *rc, const GLubyte *c, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FSUNPROC)(GLuint rc, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);\ntypedef void (REGAL_CALL *PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FVSUNPROC)(const GLuint *rc, const GLfloat *n, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC)(GLuint rc, GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);\ntypedef void (REGAL_CALL *PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC)(const GLuint *rc, const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FSUNPROC)(GLuint rc, GLfloat s, GLfloat t, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);\ntypedef void (REGAL_CALL *PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FVSUNPROC)(const GLuint *rc, const GLfloat *tc, const GLfloat *n, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FSUNPROC)(GLuint rc, GLfloat s, GLfloat t, GLfloat x, GLfloat y, GLfloat z);\ntypedef void (REGAL_CALL *PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FVSUNPROC)(const GLuint *rc, const GLfloat *tc, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLREPLACEMENTCODEUIVERTEX3FSUNPROC)(GLuint rc, GLfloat x, GLfloat y, GLfloat z);\ntypedef void (REGAL_CALL *PFNGLREPLACEMENTCODEUIVERTEX3FVSUNPROC)(const GLuint *rc, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD2FCOLOR3FVERTEX3FSUNPROC)(GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD2FCOLOR3FVERTEX3FVSUNPROC)(const GLfloat *tc, const GLfloat *c, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC)(GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC)(const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD2FCOLOR4UBVERTEX3FSUNPROC)(GLfloat s, GLfloat t, GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD2FCOLOR4UBVERTEX3FVSUNPROC)(const GLfloat *tc, const GLubyte *c, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD2FNORMAL3FVERTEX3FSUNPROC)(GLfloat s, GLfloat t, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD2FNORMAL3FVERTEX3FVSUNPROC)(const GLfloat *tc, const GLfloat *n, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD2FVERTEX3FSUNPROC)(GLfloat s, GLfloat t, GLfloat x, GLfloat y, GLfloat z);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD2FVERTEX3FVSUNPROC)(const GLfloat *tc, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FSUNPROC)(GLfloat s, GLfloat t, GLfloat p, GLfloat q, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FVSUNPROC)(const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD4FVERTEX4FSUNPROC)(GLfloat s, GLfloat t, GLfloat p, GLfloat q, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD4FVERTEX4FVSUNPROC)(const GLfloat *tc, const GLfloat *v);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_SUN_VERTEX\n#define glColor3fVertex3fSUN                rglColor3fVertex3fSUN\n#define glColor3fVertex3fvSUN               rglColor3fVertex3fvSUN\n#define glColor4fNormal3fVertex3fSUN        rglColor4fNormal3fVertex3fSUN\n#define glColor4fNormal3fVertex3fvSUN       rglColor4fNormal3fVertex3fvSUN\n#define glColor4ubVertex2fSUN               rglColor4ubVertex2fSUN\n#define glColor4ubVertex2fvSUN              rglColor4ubVertex2fvSUN\n#define glColor4ubVertex3fSUN               rglColor4ubVertex3fSUN\n#define glColor4ubVertex3fvSUN              rglColor4ubVertex3fvSUN\n#define glNormal3fVertex3fSUN               rglNormal3fVertex3fSUN\n#define glNormal3fVertex3fvSUN              rglNormal3fVertex3fvSUN\n#define glReplacementCodeuiColor3fVertex3fSUN rglReplacementCodeuiColor3fVertex3fSUN\n#define glReplacementCodeuiColor3fVertex3fvSUN rglReplacementCodeuiColor3fVertex3fvSUN\n#define glReplacementCodeuiColor4fNormal3fVertex3fSUN rglReplacementCodeuiColor4fNormal3fVertex3fSUN\n#define glReplacementCodeuiColor4fNormal3fVertex3fvSUN rglReplacementCodeuiColor4fNormal3fVertex3fvSUN\n#define glReplacementCodeuiColor4ubVertex3fSUN rglReplacementCodeuiColor4ubVertex3fSUN\n#define glReplacementCodeuiColor4ubVertex3fvSUN rglReplacementCodeuiColor4ubVertex3fvSUN\n#define glReplacementCodeuiNormal3fVertex3fSUN rglReplacementCodeuiNormal3fVertex3fSUN\n#define glReplacementCodeuiNormal3fVertex3fvSUN rglReplacementCodeuiNormal3fVertex3fvSUN\n#define glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN rglReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN\n#define glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN rglReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN\n#define glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN rglReplacementCodeuiTexCoord2fNormal3fVertex3fSUN\n#define glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN rglReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN\n#define glReplacementCodeuiTexCoord2fVertex3fSUN rglReplacementCodeuiTexCoord2fVertex3fSUN\n#define glReplacementCodeuiTexCoord2fVertex3fvSUN rglReplacementCodeuiTexCoord2fVertex3fvSUN\n#define glReplacementCodeuiVertex3fSUN      rglReplacementCodeuiVertex3fSUN\n#define glReplacementCodeuiVertex3fvSUN     rglReplacementCodeuiVertex3fvSUN\n#define glTexCoord2fColor3fVertex3fSUN      rglTexCoord2fColor3fVertex3fSUN\n#define glTexCoord2fColor3fVertex3fvSUN     rglTexCoord2fColor3fVertex3fvSUN\n#define glTexCoord2fColor4fNormal3fVertex3fSUN rglTexCoord2fColor4fNormal3fVertex3fSUN\n#define glTexCoord2fColor4fNormal3fVertex3fvSUN rglTexCoord2fColor4fNormal3fVertex3fvSUN\n#define glTexCoord2fColor4ubVertex3fSUN     rglTexCoord2fColor4ubVertex3fSUN\n#define glTexCoord2fColor4ubVertex3fvSUN    rglTexCoord2fColor4ubVertex3fvSUN\n#define glTexCoord2fNormal3fVertex3fSUN     rglTexCoord2fNormal3fVertex3fSUN\n#define glTexCoord2fNormal3fVertex3fvSUN    rglTexCoord2fNormal3fVertex3fvSUN\n#define glTexCoord2fVertex3fSUN             rglTexCoord2fVertex3fSUN\n#define glTexCoord2fVertex3fvSUN            rglTexCoord2fVertex3fvSUN\n#define glTexCoord4fColor4fNormal3fVertex4fSUN rglTexCoord4fColor4fNormal3fVertex4fSUN\n#define glTexCoord4fColor4fNormal3fVertex4fvSUN rglTexCoord4fColor4fNormal3fVertex4fvSUN\n#define glTexCoord4fVertex4fSUN             rglTexCoord4fVertex4fSUN\n#define glTexCoord4fVertex4fvSUN            rglTexCoord4fVertex4fvSUN\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_SUN_VERTEX\nREGAL_DECL void REGAL_CALL glColor3fVertex3fSUN(GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL glColor3fVertex3fvSUN(const GLfloat *c, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glColor4fNormal3fVertex3fSUN(GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL glColor4fNormal3fVertex3fvSUN(const GLfloat *c, const GLfloat *n, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glColor4ubVertex2fSUN(GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y);\nREGAL_DECL void REGAL_CALL glColor4ubVertex2fvSUN(const GLubyte *c, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glColor4ubVertex3fSUN(GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL glColor4ubVertex3fvSUN(const GLubyte *c, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glNormal3fVertex3fSUN(GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL glNormal3fVertex3fvSUN(const GLfloat *n, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glReplacementCodeuiColor3fVertex3fSUN(GLuint rc, GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL glReplacementCodeuiColor3fVertex3fvSUN(const GLuint *rc, const GLfloat *c, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glReplacementCodeuiColor4fNormal3fVertex3fSUN(GLuint rc, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL glReplacementCodeuiColor4fNormal3fVertex3fvSUN(const GLuint *rc, const GLfloat *c, const GLfloat *n, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glReplacementCodeuiColor4ubVertex3fSUN(GLuint rc, GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL glReplacementCodeuiColor4ubVertex3fvSUN(const GLuint *rc, const GLubyte *c, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glReplacementCodeuiNormal3fVertex3fSUN(GLuint rc, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL glReplacementCodeuiNormal3fVertex3fvSUN(const GLuint *rc, const GLfloat *n, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN(GLuint rc, GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(const GLuint *rc, const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN(GLuint rc, GLfloat s, GLfloat t, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(const GLuint *rc, const GLfloat *tc, const GLfloat *n, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glReplacementCodeuiTexCoord2fVertex3fSUN(GLuint rc, GLfloat s, GLfloat t, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL glReplacementCodeuiTexCoord2fVertex3fvSUN(const GLuint *rc, const GLfloat *tc, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glReplacementCodeuiVertex3fSUN(GLuint rc, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL glReplacementCodeuiVertex3fvSUN(const GLuint *rc, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glTexCoord2fColor3fVertex3fSUN(GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL glTexCoord2fColor3fVertex3fvSUN(const GLfloat *tc, const GLfloat *c, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glTexCoord2fColor4fNormal3fVertex3fSUN(GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL glTexCoord2fColor4fNormal3fVertex3fvSUN(const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glTexCoord2fColor4ubVertex3fSUN(GLfloat s, GLfloat t, GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL glTexCoord2fColor4ubVertex3fvSUN(const GLfloat *tc, const GLubyte *c, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glTexCoord2fNormal3fVertex3fSUN(GLfloat s, GLfloat t, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL glTexCoord2fNormal3fVertex3fvSUN(const GLfloat *tc, const GLfloat *n, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glTexCoord2fVertex3fSUN(GLfloat s, GLfloat t, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL glTexCoord2fVertex3fvSUN(const GLfloat *tc, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glTexCoord4fColor4fNormal3fVertex4fSUN(GLfloat s, GLfloat t, GLfloat p, GLfloat q, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nREGAL_DECL void REGAL_CALL glTexCoord4fColor4fNormal3fVertex4fvSUN(const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glTexCoord4fVertex4fSUN(GLfloat s, GLfloat t, GLfloat p, GLfloat q, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nREGAL_DECL void REGAL_CALL glTexCoord4fVertex4fvSUN(const GLfloat *tc, const GLfloat *v);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_SUN_VERTEX\nREGAL_DECL void REGAL_CALL plugin_glColor3fVertex3fSUN(GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL plugin_glColor3fVertex3fvSUN(const GLfloat *c, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glColor4fNormal3fVertex3fSUN(GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL plugin_glColor4fNormal3fVertex3fvSUN(const GLfloat *c, const GLfloat *n, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glColor4ubVertex2fSUN(GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y);\nREGAL_DECL void REGAL_CALL plugin_glColor4ubVertex2fvSUN(const GLubyte *c, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glColor4ubVertex3fSUN(GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL plugin_glColor4ubVertex3fvSUN(const GLubyte *c, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glNormal3fVertex3fSUN(GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL plugin_glNormal3fVertex3fvSUN(const GLfloat *n, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glReplacementCodeuiColor3fVertex3fSUN(GLuint rc, GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL plugin_glReplacementCodeuiColor3fVertex3fvSUN(const GLuint *rc, const GLfloat *c, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glReplacementCodeuiColor4fNormal3fVertex3fSUN(GLuint rc, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL plugin_glReplacementCodeuiColor4fNormal3fVertex3fvSUN(const GLuint *rc, const GLfloat *c, const GLfloat *n, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glReplacementCodeuiColor4ubVertex3fSUN(GLuint rc, GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL plugin_glReplacementCodeuiColor4ubVertex3fvSUN(const GLuint *rc, const GLubyte *c, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glReplacementCodeuiNormal3fVertex3fSUN(GLuint rc, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL plugin_glReplacementCodeuiNormal3fVertex3fvSUN(const GLuint *rc, const GLfloat *n, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN(GLuint rc, GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL plugin_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(const GLuint *rc, const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN(GLuint rc, GLfloat s, GLfloat t, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL plugin_glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(const GLuint *rc, const GLfloat *tc, const GLfloat *n, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glReplacementCodeuiTexCoord2fVertex3fSUN(GLuint rc, GLfloat s, GLfloat t, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL plugin_glReplacementCodeuiTexCoord2fVertex3fvSUN(const GLuint *rc, const GLfloat *tc, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glReplacementCodeuiVertex3fSUN(GLuint rc, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL plugin_glReplacementCodeuiVertex3fvSUN(const GLuint *rc, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord2fColor3fVertex3fSUN(GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord2fColor3fVertex3fvSUN(const GLfloat *tc, const GLfloat *c, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord2fColor4fNormal3fVertex3fSUN(GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord2fColor4fNormal3fVertex3fvSUN(const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord2fColor4ubVertex3fSUN(GLfloat s, GLfloat t, GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord2fColor4ubVertex3fvSUN(const GLfloat *tc, const GLubyte *c, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord2fNormal3fVertex3fSUN(GLfloat s, GLfloat t, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord2fNormal3fVertex3fvSUN(const GLfloat *tc, const GLfloat *n, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord2fVertex3fSUN(GLfloat s, GLfloat t, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord2fVertex3fvSUN(const GLfloat *tc, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord4fColor4fNormal3fVertex4fSUN(GLfloat s, GLfloat t, GLfloat p, GLfloat q, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord4fColor4fNormal3fVertex4fvSUN(const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord4fVertex4fSUN(GLfloat s, GLfloat t, GLfloat p, GLfloat q, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord4fVertex4fvSUN(const GLfloat *tc, const GLfloat *v);\n#endif\n\n/**\n ** GL_VERSION_1_0\n **/\n\n#if (defined(GL_VERSION_1_0) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_VERSION_1_0)) && !defined(REGAL_NO_ENUM_GL_VERSION_1_0)\n#define REGAL_NO_ENUM_GL_VERSION_1_0\n#endif\n\n#if (defined(GL_VERSION_1_0) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_VERSION_1_0)) && !defined(REGAL_NO_TYPEDEF_GL_VERSION_1_0)\n#define REGAL_NO_TYPEDEF_GL_VERSION_1_0\n#endif\n\n#if (defined(GL_VERSION_1_0) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_VERSION_1_0)) && !defined(REGAL_NO_NAMESPACE_GL_VERSION_1_0)\n#define REGAL_NO_NAMESPACE_GL_VERSION_1_0\n#endif\n\n#if (defined(GL_VERSION_1_0) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_VERSION_1_0)) && !defined(REGAL_NO_PLUGIN_GL_VERSION_1_0)\n#define REGAL_NO_PLUGIN_GL_VERSION_1_0\n#endif\n\n#if (defined(GL_VERSION_1_0) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_VERSION_1_0)) && !defined(REGAL_NO_DECLARATION_GL_VERSION_1_0)\n#define REGAL_NO_DECLARATION_GL_VERSION_1_0\n#endif\n\n#ifndef GL_VERSION_1_0\n#define GL_VERSION_1_0 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_VERSION_1_0\ntypedef GLboolean (REGAL_CALL *PFNGLISENABLEDPROC)(GLenum cap);\ntypedef GLboolean (REGAL_CALL *PFNGLISLISTPROC)(GLuint list);\ntypedef GLenum (REGAL_CALL *PFNGLGETERRORPROC)(void);\ntypedef GLint (REGAL_CALL *PFNGLRENDERMODEPROC)(GLenum mode);\ntypedef GLuint (REGAL_CALL *PFNGLGENLISTSPROC)(GLsizei range);\ntypedef const GLubyte *(REGAL_CALL *PFNGLGETSTRINGPROC)(GLenum name);\ntypedef void (REGAL_CALL *PFNGLACCUMPROC)(GLenum op, GLfloat value);\ntypedef void (REGAL_CALL *PFNGLALPHAFUNCPROC)(GLenum func, GLclampf ref);\ntypedef void (REGAL_CALL *PFNGLBEGINPROC)(GLenum mode);\ntypedef void (REGAL_CALL *PFNGLBITMAPPROC)(GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap);\ntypedef void (REGAL_CALL *PFNGLBLENDFUNCPROC)(GLenum sfactor, GLenum dfactor);\ntypedef void (REGAL_CALL *PFNGLCALLLISTPROC)(GLuint list);\ntypedef void (REGAL_CALL *PFNGLCALLLISTSPROC)(GLsizei n, GLenum type, const GLvoid *lists);\ntypedef void (REGAL_CALL *PFNGLCLEARACCUMPROC)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);\ntypedef void (REGAL_CALL *PFNGLCLEARCOLORPROC)(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);\ntypedef void (REGAL_CALL *PFNGLCLEARDEPTHPROC)(GLclampd depth);\ntypedef void (REGAL_CALL *PFNGLCLEARINDEXPROC)(GLfloat c);\ntypedef void (REGAL_CALL *PFNGLCLEARPROC)(GLbitfield mask);\ntypedef void (REGAL_CALL *PFNGLCLEARSTENCILPROC)(GLint s);\ntypedef void (REGAL_CALL *PFNGLCLIPPLANEPROC)(GLenum plane, const GLdouble *equation);\ntypedef void (REGAL_CALL *PFNGLCOLOR3BPROC)(GLbyte red, GLbyte green, GLbyte blue);\ntypedef void (REGAL_CALL *PFNGLCOLOR3BVPROC)(const GLbyte *v);\ntypedef void (REGAL_CALL *PFNGLCOLOR3DPROC)(GLdouble red, GLdouble green, GLdouble blue);\ntypedef void (REGAL_CALL *PFNGLCOLOR3DVPROC)(const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLCOLOR3FPROC)(GLfloat red, GLfloat green, GLfloat blue);\ntypedef void (REGAL_CALL *PFNGLCOLOR3FVPROC)(const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLCOLOR3IPROC)(GLint red, GLint green, GLint blue);\ntypedef void (REGAL_CALL *PFNGLCOLOR3IVPROC)(const GLint *v);\ntypedef void (REGAL_CALL *PFNGLCOLOR3SPROC)(GLshort red, GLshort green, GLshort blue);\ntypedef void (REGAL_CALL *PFNGLCOLOR3SVPROC)(const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLCOLOR3UBPROC)(GLubyte red, GLubyte green, GLubyte blue);\ntypedef void (REGAL_CALL *PFNGLCOLOR3UBVPROC)(const GLubyte *v);\ntypedef void (REGAL_CALL *PFNGLCOLOR3UIPROC)(GLuint red, GLuint green, GLuint blue);\ntypedef void (REGAL_CALL *PFNGLCOLOR3UIVPROC)(const GLuint *v);\ntypedef void (REGAL_CALL *PFNGLCOLOR3USPROC)(GLushort red, GLushort green, GLushort blue);\ntypedef void (REGAL_CALL *PFNGLCOLOR3USVPROC)(const GLushort *v);\ntypedef void (REGAL_CALL *PFNGLCOLOR4BPROC)(GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha);\ntypedef void (REGAL_CALL *PFNGLCOLOR4BVPROC)(const GLbyte *v);\ntypedef void (REGAL_CALL *PFNGLCOLOR4DPROC)(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha);\ntypedef void (REGAL_CALL *PFNGLCOLOR4DVPROC)(const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLCOLOR4FPROC)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);\ntypedef void (REGAL_CALL *PFNGLCOLOR4FVPROC)(const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLCOLOR4IPROC)(GLint red, GLint green, GLint blue, GLint alpha);\ntypedef void (REGAL_CALL *PFNGLCOLOR4IVPROC)(const GLint *v);\ntypedef void (REGAL_CALL *PFNGLCOLOR4SPROC)(GLshort red, GLshort green, GLshort blue, GLshort alpha);\ntypedef void (REGAL_CALL *PFNGLCOLOR4SVPROC)(const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLCOLOR4UBPROC)(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha);\ntypedef void (REGAL_CALL *PFNGLCOLOR4UBVPROC)(const GLubyte *v);\ntypedef void (REGAL_CALL *PFNGLCOLOR4UIPROC)(GLuint red, GLuint green, GLuint blue, GLuint alpha);\ntypedef void (REGAL_CALL *PFNGLCOLOR4UIVPROC)(const GLuint *v);\ntypedef void (REGAL_CALL *PFNGLCOLOR4USPROC)(GLushort red, GLushort green, GLushort blue, GLushort alpha);\ntypedef void (REGAL_CALL *PFNGLCOLOR4USVPROC)(const GLushort *v);\ntypedef void (REGAL_CALL *PFNGLCOLORMASKPROC)(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);\ntypedef void (REGAL_CALL *PFNGLCOLORMATERIALPROC)(GLenum face, GLenum mode);\ntypedef void (REGAL_CALL *PFNGLCOPYPIXELSPROC)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum type);\ntypedef void (REGAL_CALL *PFNGLCULLFACEPROC)(GLenum mode);\ntypedef void (REGAL_CALL *PFNGLDELETELISTSPROC)(GLuint list, GLsizei range);\ntypedef void (REGAL_CALL *PFNGLDEPTHFUNCPROC)(GLenum func);\ntypedef void (REGAL_CALL *PFNGLDEPTHMASKPROC)(GLboolean flag);\ntypedef void (REGAL_CALL *PFNGLDEPTHRANGEPROC)(GLclampd zNear, GLclampd zFar);\ntypedef void (REGAL_CALL *PFNGLDISABLEPROC)(GLenum cap);\ntypedef void (REGAL_CALL *PFNGLDRAWBUFFERPROC)(GLenum mode);\ntypedef void (REGAL_CALL *PFNGLDRAWPIXELSPROC)(GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);\ntypedef void (REGAL_CALL *PFNGLEDGEFLAGPROC)(GLboolean flag);\ntypedef void (REGAL_CALL *PFNGLEDGEFLAGVPROC)(const GLboolean *flag);\ntypedef void (REGAL_CALL *PFNGLENABLEPROC)(GLenum cap);\ntypedef void (REGAL_CALL *PFNGLENDLISTPROC)(void);\ntypedef void (REGAL_CALL *PFNGLENDPROC)(void);\ntypedef void (REGAL_CALL *PFNGLEVALCOORD1DPROC)(GLdouble u);\ntypedef void (REGAL_CALL *PFNGLEVALCOORD1DVPROC)(const GLdouble *u);\ntypedef void (REGAL_CALL *PFNGLEVALCOORD1FPROC)(GLfloat u);\ntypedef void (REGAL_CALL *PFNGLEVALCOORD1FVPROC)(const GLfloat *u);\ntypedef void (REGAL_CALL *PFNGLEVALCOORD2DPROC)(GLdouble u, GLdouble v);\ntypedef void (REGAL_CALL *PFNGLEVALCOORD2DVPROC)(const GLdouble *u);\ntypedef void (REGAL_CALL *PFNGLEVALCOORD2FPROC)(GLfloat u, GLfloat v);\ntypedef void (REGAL_CALL *PFNGLEVALCOORD2FVPROC)(const GLfloat *u);\ntypedef void (REGAL_CALL *PFNGLEVALMESH1PROC)(GLenum mode, GLint i1, GLint i2);\ntypedef void (REGAL_CALL *PFNGLEVALMESH2PROC)(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2);\ntypedef void (REGAL_CALL *PFNGLEVALPOINT1PROC)(GLint i);\ntypedef void (REGAL_CALL *PFNGLEVALPOINT2PROC)(GLint i, GLint j);\ntypedef void (REGAL_CALL *PFNGLFEEDBACKBUFFERPROC)(GLsizei size, GLenum type, GLfloat *buffer);\ntypedef void (REGAL_CALL *PFNGLFINISHPROC)(void);\ntypedef void (REGAL_CALL *PFNGLFLUSHPROC)(void);\ntypedef void (REGAL_CALL *PFNGLFOGFPROC)(GLenum pname, GLfloat param);\ntypedef void (REGAL_CALL *PFNGLFOGFVPROC)(GLenum pname, const GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLFOGIPROC)(GLenum pname, GLint param);\ntypedef void (REGAL_CALL *PFNGLFOGIVPROC)(GLenum pname, const GLint *params);\ntypedef void (REGAL_CALL *PFNGLFRONTFACEPROC)(GLenum mode);\ntypedef void (REGAL_CALL *PFNGLFRUSTUMPROC)(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);\ntypedef void (REGAL_CALL *PFNGLGETBOOLEANVPROC)(GLenum pname, GLboolean *params);\ntypedef void (REGAL_CALL *PFNGLGETCLIPPLANEPROC)(GLenum plane, GLdouble *equation);\ntypedef void (REGAL_CALL *PFNGLGETDOUBLEVPROC)(GLenum pname, GLdouble *params);\ntypedef void (REGAL_CALL *PFNGLGETFLOATVPROC)(GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETINTEGERVPROC)(GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETLIGHTFVPROC)(GLenum light, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETLIGHTIVPROC)(GLenum light, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETMAPDVPROC)(GLenum target, GLenum query, GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLGETMAPFVPROC)(GLenum target, GLenum query, GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLGETMAPIVPROC)(GLenum target, GLenum query, GLint *v);\ntypedef void (REGAL_CALL *PFNGLGETMATERIALFVPROC)(GLenum face, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETMATERIALIVPROC)(GLenum face, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETPIXELMAPFVPROC)(GLenum map, GLfloat *values);\ntypedef void (REGAL_CALL *PFNGLGETPIXELMAPUIVPROC)(GLenum map, GLuint *values);\ntypedef void (REGAL_CALL *PFNGLGETPIXELMAPUSVPROC)(GLenum map, GLushort *values);\ntypedef void (REGAL_CALL *PFNGLGETPOLYGONSTIPPLEPROC)(GLubyte *mask);\ntypedef void (REGAL_CALL *PFNGLGETTEXENVFVPROC)(GLenum target, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETTEXENVIVPROC)(GLenum target, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETTEXGENDVPROC)(GLenum coord, GLenum pname, GLdouble *params);\ntypedef void (REGAL_CALL *PFNGLGETTEXGENFVPROC)(GLenum coord, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETTEXGENIVPROC)(GLenum coord, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETTEXIMAGEPROC)(GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels);\ntypedef void (REGAL_CALL *PFNGLGETTEXLEVELPARAMETERFVPROC)(GLenum target, GLint level, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETTEXLEVELPARAMETERIVPROC)(GLenum target, GLint level, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETTEXPARAMETERFVPROC)(GLenum target, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETTEXPARAMETERIVPROC)(GLenum target, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLHINTPROC)(GLenum target, GLenum mode);\ntypedef void (REGAL_CALL *PFNGLINDEXDPROC)(GLdouble c);\ntypedef void (REGAL_CALL *PFNGLINDEXDVPROC)(const GLdouble *c);\ntypedef void (REGAL_CALL *PFNGLINDEXFPROC)(GLfloat c);\ntypedef void (REGAL_CALL *PFNGLINDEXFVPROC)(const GLfloat *c);\ntypedef void (REGAL_CALL *PFNGLINDEXIPROC)(GLint c);\ntypedef void (REGAL_CALL *PFNGLINDEXIVPROC)(const GLint *c);\ntypedef void (REGAL_CALL *PFNGLINDEXMASKPROC)(GLuint mask);\ntypedef void (REGAL_CALL *PFNGLINDEXSPROC)(GLshort c);\ntypedef void (REGAL_CALL *PFNGLINDEXSVPROC)(const GLshort *c);\ntypedef void (REGAL_CALL *PFNGLINITNAMESPROC)(void);\ntypedef void (REGAL_CALL *PFNGLLIGHTFPROC)(GLenum light, GLenum pname, GLfloat param);\ntypedef void (REGAL_CALL *PFNGLLIGHTFVPROC)(GLenum light, GLenum pname, const GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLLIGHTIPROC)(GLenum light, GLenum pname, GLint param);\ntypedef void (REGAL_CALL *PFNGLLIGHTIVPROC)(GLenum light, GLenum pname, const GLint *params);\ntypedef void (REGAL_CALL *PFNGLLIGHTMODELFPROC)(GLenum pname, GLfloat param);\ntypedef void (REGAL_CALL *PFNGLLIGHTMODELFVPROC)(GLenum pname, const GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLLIGHTMODELIPROC)(GLenum pname, GLint param);\ntypedef void (REGAL_CALL *PFNGLLIGHTMODELIVPROC)(GLenum pname, const GLint *params);\ntypedef void (REGAL_CALL *PFNGLLINESTIPPLEPROC)(GLint factor, GLushort pattern);\ntypedef void (REGAL_CALL *PFNGLLINEWIDTHPROC)(GLfloat width);\ntypedef void (REGAL_CALL *PFNGLLISTBASEPROC)(GLuint base);\ntypedef void (REGAL_CALL *PFNGLLOADIDENTITYPROC)(void);\ntypedef void (REGAL_CALL *PFNGLLOADMATRIXDPROC)(const GLdouble *m);\ntypedef void (REGAL_CALL *PFNGLLOADMATRIXFPROC)(const GLfloat *m);\ntypedef void (REGAL_CALL *PFNGLLOADNAMEPROC)(GLuint name);\ntypedef void (REGAL_CALL *PFNGLLOGICOPPROC)(GLenum opcode);\ntypedef void (REGAL_CALL *PFNGLMAP1DPROC)(GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points);\ntypedef void (REGAL_CALL *PFNGLMAP1FPROC)(GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points);\ntypedef void (REGAL_CALL *PFNGLMAP2DPROC)(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points);\ntypedef void (REGAL_CALL *PFNGLMAP2FPROC)(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points);\ntypedef void (REGAL_CALL *PFNGLMAPGRID1DPROC)(GLint un, GLdouble u1, GLdouble u2);\ntypedef void (REGAL_CALL *PFNGLMAPGRID1FPROC)(GLint un, GLfloat u1, GLfloat u2);\ntypedef void (REGAL_CALL *PFNGLMAPGRID2DPROC)(GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2);\ntypedef void (REGAL_CALL *PFNGLMAPGRID2FPROC)(GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2);\ntypedef void (REGAL_CALL *PFNGLMATERIALFPROC)(GLenum face, GLenum pname, GLfloat param);\ntypedef void (REGAL_CALL *PFNGLMATERIALFVPROC)(GLenum face, GLenum pname, const GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLMATERIALIPROC)(GLenum face, GLenum pname, GLint param);\ntypedef void (REGAL_CALL *PFNGLMATERIALIVPROC)(GLenum face, GLenum pname, const GLint *params);\ntypedef void (REGAL_CALL *PFNGLMATRIXMODEPROC)(GLenum mode);\ntypedef void (REGAL_CALL *PFNGLMULTMATRIXDPROC)(const GLdouble *m);\ntypedef void (REGAL_CALL *PFNGLMULTMATRIXFPROC)(const GLfloat *m);\ntypedef void (REGAL_CALL *PFNGLNEWLISTPROC)(GLuint list, GLenum mode);\ntypedef void (REGAL_CALL *PFNGLNORMAL3BPROC)(GLbyte nx, GLbyte ny, GLbyte nz);\ntypedef void (REGAL_CALL *PFNGLNORMAL3BVPROC)(const GLbyte *v);\ntypedef void (REGAL_CALL *PFNGLNORMAL3DPROC)(GLdouble nx, GLdouble ny, GLdouble nz);\ntypedef void (REGAL_CALL *PFNGLNORMAL3DVPROC)(const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLNORMAL3FPROC)(GLfloat nx, GLfloat ny, GLfloat nz);\ntypedef void (REGAL_CALL *PFNGLNORMAL3FVPROC)(const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLNORMAL3IPROC)(GLint nx, GLint ny, GLint nz);\ntypedef void (REGAL_CALL *PFNGLNORMAL3IVPROC)(const GLint *v);\ntypedef void (REGAL_CALL *PFNGLNORMAL3SPROC)(GLshort nx, GLshort ny, GLshort nz);\ntypedef void (REGAL_CALL *PFNGLNORMAL3SVPROC)(const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLORTHOPROC)(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);\ntypedef void (REGAL_CALL *PFNGLPASSTHROUGHPROC)(GLfloat token);\ntypedef void (REGAL_CALL *PFNGLPIXELMAPFVPROC)(GLenum map, GLsizei mapsize, const GLfloat *values);\ntypedef void (REGAL_CALL *PFNGLPIXELMAPUIVPROC)(GLenum map, GLsizei mapsize, const GLuint *values);\ntypedef void (REGAL_CALL *PFNGLPIXELMAPUSVPROC)(GLenum map, GLsizei mapsize, const GLushort *values);\ntypedef void (REGAL_CALL *PFNGLPIXELSTOREFPROC)(GLenum pname, GLfloat param);\ntypedef void (REGAL_CALL *PFNGLPIXELSTOREIPROC)(GLenum pname, GLint param);\ntypedef void (REGAL_CALL *PFNGLPIXELTRANSFERFPROC)(GLenum pname, GLfloat param);\ntypedef void (REGAL_CALL *PFNGLPIXELTRANSFERIPROC)(GLenum pname, GLint param);\ntypedef void (REGAL_CALL *PFNGLPIXELZOOMPROC)(GLfloat xfactor, GLfloat yfactor);\ntypedef void (REGAL_CALL *PFNGLPOINTSIZEPROC)(GLfloat size);\ntypedef void (REGAL_CALL *PFNGLPOLYGONMODEPROC)(GLenum face, GLenum mode);\ntypedef void (REGAL_CALL *PFNGLPOLYGONSTIPPLEPROC)(const GLubyte *mask);\ntypedef void (REGAL_CALL *PFNGLPOPATTRIBPROC)(void);\ntypedef void (REGAL_CALL *PFNGLPOPMATRIXPROC)(void);\ntypedef void (REGAL_CALL *PFNGLPOPNAMEPROC)(void);\ntypedef void (REGAL_CALL *PFNGLPUSHATTRIBPROC)(GLbitfield mask);\ntypedef void (REGAL_CALL *PFNGLPUSHMATRIXPROC)(void);\ntypedef void (REGAL_CALL *PFNGLPUSHNAMEPROC)(GLuint name);\ntypedef void (REGAL_CALL *PFNGLRASTERPOS2DPROC)(GLdouble x, GLdouble y);\ntypedef void (REGAL_CALL *PFNGLRASTERPOS2DVPROC)(const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLRASTERPOS2FPROC)(GLfloat x, GLfloat y);\ntypedef void (REGAL_CALL *PFNGLRASTERPOS2FVPROC)(const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLRASTERPOS2IPROC)(GLint x, GLint y);\ntypedef void (REGAL_CALL *PFNGLRASTERPOS2IVPROC)(const GLint *v);\ntypedef void (REGAL_CALL *PFNGLRASTERPOS2SPROC)(GLshort x, GLshort y);\ntypedef void (REGAL_CALL *PFNGLRASTERPOS2SVPROC)(const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLRASTERPOS3DPROC)(GLdouble x, GLdouble y, GLdouble z);\ntypedef void (REGAL_CALL *PFNGLRASTERPOS3DVPROC)(const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLRASTERPOS3FPROC)(GLfloat x, GLfloat y, GLfloat z);\ntypedef void (REGAL_CALL *PFNGLRASTERPOS3FVPROC)(const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLRASTERPOS3IPROC)(GLint x, GLint y, GLint z);\ntypedef void (REGAL_CALL *PFNGLRASTERPOS3IVPROC)(const GLint *v);\ntypedef void (REGAL_CALL *PFNGLRASTERPOS3SPROC)(GLshort x, GLshort y, GLshort z);\ntypedef void (REGAL_CALL *PFNGLRASTERPOS3SVPROC)(const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLRASTERPOS4DPROC)(GLdouble x, GLdouble y, GLdouble z, GLdouble w);\ntypedef void (REGAL_CALL *PFNGLRASTERPOS4DVPROC)(const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLRASTERPOS4FPROC)(GLfloat x, GLfloat y, GLfloat z, GLfloat w);\ntypedef void (REGAL_CALL *PFNGLRASTERPOS4FVPROC)(const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLRASTERPOS4IPROC)(GLint x, GLint y, GLint z, GLint w);\ntypedef void (REGAL_CALL *PFNGLRASTERPOS4IVPROC)(const GLint *v);\ntypedef void (REGAL_CALL *PFNGLRASTERPOS4SPROC)(GLshort x, GLshort y, GLshort z, GLshort w);\ntypedef void (REGAL_CALL *PFNGLRASTERPOS4SVPROC)(const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLREADBUFFERPROC)(GLenum mode);\ntypedef void (REGAL_CALL *PFNGLREADPIXELSPROC)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels);\ntypedef void (REGAL_CALL *PFNGLRECTDPROC)(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2);\ntypedef void (REGAL_CALL *PFNGLRECTDVPROC)(const GLdouble *v1, const GLdouble *v2);\ntypedef void (REGAL_CALL *PFNGLRECTFPROC)(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2);\ntypedef void (REGAL_CALL *PFNGLRECTFVPROC)(const GLfloat *v1, const GLfloat *v2);\ntypedef void (REGAL_CALL *PFNGLRECTIPROC)(GLint x1, GLint y1, GLint x2, GLint y2);\ntypedef void (REGAL_CALL *PFNGLRECTIVPROC)(const GLint *v1, const GLint *v2);\ntypedef void (REGAL_CALL *PFNGLRECTSPROC)(GLshort x1, GLshort y1, GLshort x2, GLshort y2);\ntypedef void (REGAL_CALL *PFNGLRECTSVPROC)(const GLshort *v1, const GLshort *v2);\ntypedef void (REGAL_CALL *PFNGLROTATEDPROC)(GLdouble angle, GLdouble x, GLdouble y, GLdouble z);\ntypedef void (REGAL_CALL *PFNGLROTATEFPROC)(GLfloat angle, GLfloat x, GLfloat y, GLfloat z);\ntypedef void (REGAL_CALL *PFNGLSCALEDPROC)(GLdouble x, GLdouble y, GLdouble z);\ntypedef void (REGAL_CALL *PFNGLSCALEFPROC)(GLfloat x, GLfloat y, GLfloat z);\ntypedef void (REGAL_CALL *PFNGLSCISSORPROC)(GLint x, GLint y, GLsizei width, GLsizei height);\ntypedef void (REGAL_CALL *PFNGLSELECTBUFFERPROC)(GLsizei size, GLuint *buffer);\ntypedef void (REGAL_CALL *PFNGLSHADEMODELPROC)(GLenum mode);\ntypedef void (REGAL_CALL *PFNGLSTENCILFUNCPROC)(GLenum func, GLint ref, GLuint mask);\ntypedef void (REGAL_CALL *PFNGLSTENCILMASKPROC)(GLuint mask);\ntypedef void (REGAL_CALL *PFNGLSTENCILOPPROC)(GLenum fail, GLenum zfail, GLenum zpass);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD1DPROC)(GLdouble s);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD1DVPROC)(const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD1FPROC)(GLfloat s);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD1FVPROC)(const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD1IPROC)(GLint s);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD1IVPROC)(const GLint *v);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD1SPROC)(GLshort s);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD1SVPROC)(const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD2DPROC)(GLdouble s, GLdouble t);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD2DVPROC)(const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD2FPROC)(GLfloat s, GLfloat t);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD2FVPROC)(const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD2IPROC)(GLint s, GLint t);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD2IVPROC)(const GLint *v);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD2SPROC)(GLshort s, GLshort t);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD2SVPROC)(const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD3DPROC)(GLdouble s, GLdouble t, GLdouble r);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD3DVPROC)(const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD3FPROC)(GLfloat s, GLfloat t, GLfloat r);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD3FVPROC)(const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD3IPROC)(GLint s, GLint t, GLint r);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD3IVPROC)(const GLint *v);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD3SPROC)(GLshort s, GLshort t, GLshort r);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD3SVPROC)(const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD4DPROC)(GLdouble s, GLdouble t, GLdouble r, GLdouble q);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD4DVPROC)(const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD4FPROC)(GLfloat s, GLfloat t, GLfloat r, GLfloat q);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD4FVPROC)(const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD4IPROC)(GLint s, GLint t, GLint r, GLint q);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD4IVPROC)(const GLint *v);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD4SPROC)(GLshort s, GLshort t, GLshort r, GLshort q);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD4SVPROC)(const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLTEXENVFPROC)(GLenum target, GLenum pname, GLfloat param);\ntypedef void (REGAL_CALL *PFNGLTEXENVFVPROC)(GLenum target, GLenum pname, const GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLTEXENVIPROC)(GLenum target, GLenum pname, GLint param);\ntypedef void (REGAL_CALL *PFNGLTEXENVIVPROC)(GLenum target, GLenum pname, const GLint *params);\ntypedef void (REGAL_CALL *PFNGLTEXGENDPROC)(GLenum coord, GLenum pname, GLdouble param);\ntypedef void (REGAL_CALL *PFNGLTEXGENDVPROC)(GLenum coord, GLenum pname, const GLdouble *params);\ntypedef void (REGAL_CALL *PFNGLTEXGENFPROC)(GLenum coord, GLenum pname, GLfloat param);\ntypedef void (REGAL_CALL *PFNGLTEXGENFVPROC)(GLenum coord, GLenum pname, const GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLTEXGENIPROC)(GLenum coord, GLenum pname, GLint param);\ntypedef void (REGAL_CALL *PFNGLTEXGENIVPROC)(GLenum coord, GLenum pname, const GLint *params);\ntypedef void (REGAL_CALL *PFNGLTEXIMAGE1DPROC)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels);\ntypedef void (REGAL_CALL *PFNGLTEXIMAGE2DPROC)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels);\ntypedef void (REGAL_CALL *PFNGLTEXPARAMETERFPROC)(GLenum target, GLenum pname, GLfloat param);\ntypedef void (REGAL_CALL *PFNGLTEXPARAMETERFVPROC)(GLenum target, GLenum pname, const GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLTEXPARAMETERIPROC)(GLenum target, GLenum pname, GLint param);\ntypedef void (REGAL_CALL *PFNGLTEXPARAMETERIVPROC)(GLenum target, GLenum pname, const GLint *params);\ntypedef void (REGAL_CALL *PFNGLTRANSLATEDPROC)(GLdouble x, GLdouble y, GLdouble z);\ntypedef void (REGAL_CALL *PFNGLTRANSLATEFPROC)(GLfloat x, GLfloat y, GLfloat z);\ntypedef void (REGAL_CALL *PFNGLVERTEX2DPROC)(GLdouble x, GLdouble y);\ntypedef void (REGAL_CALL *PFNGLVERTEX2DVPROC)(const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLVERTEX2FPROC)(GLfloat x, GLfloat y);\ntypedef void (REGAL_CALL *PFNGLVERTEX2FVPROC)(const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLVERTEX2IPROC)(GLint x, GLint y);\ntypedef void (REGAL_CALL *PFNGLVERTEX2IVPROC)(const GLint *v);\ntypedef void (REGAL_CALL *PFNGLVERTEX2SPROC)(GLshort x, GLshort y);\ntypedef void (REGAL_CALL *PFNGLVERTEX2SVPROC)(const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLVERTEX3DPROC)(GLdouble x, GLdouble y, GLdouble z);\ntypedef void (REGAL_CALL *PFNGLVERTEX3DVPROC)(const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLVERTEX3FPROC)(GLfloat x, GLfloat y, GLfloat z);\ntypedef void (REGAL_CALL *PFNGLVERTEX3FVPROC)(const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLVERTEX3IPROC)(GLint x, GLint y, GLint z);\ntypedef void (REGAL_CALL *PFNGLVERTEX3IVPROC)(const GLint *v);\ntypedef void (REGAL_CALL *PFNGLVERTEX3SPROC)(GLshort x, GLshort y, GLshort z);\ntypedef void (REGAL_CALL *PFNGLVERTEX3SVPROC)(const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLVERTEX4DPROC)(GLdouble x, GLdouble y, GLdouble z, GLdouble w);\ntypedef void (REGAL_CALL *PFNGLVERTEX4DVPROC)(const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLVERTEX4FPROC)(GLfloat x, GLfloat y, GLfloat z, GLfloat w);\ntypedef void (REGAL_CALL *PFNGLVERTEX4FVPROC)(const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLVERTEX4IPROC)(GLint x, GLint y, GLint z, GLint w);\ntypedef void (REGAL_CALL *PFNGLVERTEX4IVPROC)(const GLint *v);\ntypedef void (REGAL_CALL *PFNGLVERTEX4SPROC)(GLshort x, GLshort y, GLshort z, GLshort w);\ntypedef void (REGAL_CALL *PFNGLVERTEX4SVPROC)(const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLVIEWPORTPROC)(GLint x, GLint y, GLsizei width, GLsizei height);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_VERSION_1_0\n#define glAccum                             rglAccum\n#define glAlphaFunc                         rglAlphaFunc\n#define glBegin                             rglBegin\n#define glBitmap                            rglBitmap\n#define glBlendFunc                         rglBlendFunc\n#define glCallList                          rglCallList\n#define glCallLists                         rglCallLists\n#define glClear                             rglClear\n#define glClearAccum                        rglClearAccum\n#define glClearColor                        rglClearColor\n#define glClearDepth                        rglClearDepth\n#define glClearIndex                        rglClearIndex\n#define glClearStencil                      rglClearStencil\n#define glClipPlane                         rglClipPlane\n#define glColor3b                           rglColor3b\n#define glColor3bv                          rglColor3bv\n#define glColor3d                           rglColor3d\n#define glColor3dv                          rglColor3dv\n#define glColor3f                           rglColor3f\n#define glColor3fv                          rglColor3fv\n#define glColor3i                           rglColor3i\n#define glColor3iv                          rglColor3iv\n#define glColor3s                           rglColor3s\n#define glColor3sv                          rglColor3sv\n#define glColor3ub                          rglColor3ub\n#define glColor3ubv                         rglColor3ubv\n#define glColor3ui                          rglColor3ui\n#define glColor3uiv                         rglColor3uiv\n#define glColor3us                          rglColor3us\n#define glColor3usv                         rglColor3usv\n#define glColor4b                           rglColor4b\n#define glColor4bv                          rglColor4bv\n#define glColor4d                           rglColor4d\n#define glColor4dv                          rglColor4dv\n#define glColor4f                           rglColor4f\n#define glColor4fv                          rglColor4fv\n#define glColor4i                           rglColor4i\n#define glColor4iv                          rglColor4iv\n#define glColor4s                           rglColor4s\n#define glColor4sv                          rglColor4sv\n#define glColor4ub                          rglColor4ub\n#define glColor4ubv                         rglColor4ubv\n#define glColor4ui                          rglColor4ui\n#define glColor4uiv                         rglColor4uiv\n#define glColor4us                          rglColor4us\n#define glColor4usv                         rglColor4usv\n#define glColorMask                         rglColorMask\n#define glColorMaterial                     rglColorMaterial\n#define glCopyPixels                        rglCopyPixels\n#define glCullFace                          rglCullFace\n#define glDeleteLists                       rglDeleteLists\n#define glDepthFunc                         rglDepthFunc\n#define glDepthMask                         rglDepthMask\n#define glDepthRange                        rglDepthRange\n#define glDisable                           rglDisable\n#define glDrawBuffer                        rglDrawBuffer\n#define glDrawPixels                        rglDrawPixels\n#define glEdgeFlag                          rglEdgeFlag\n#define glEdgeFlagv                         rglEdgeFlagv\n#define glEnable                            rglEnable\n#define glEnd                               rglEnd\n#define glEndList                           rglEndList\n#define glEvalCoord1d                       rglEvalCoord1d\n#define glEvalCoord1dv                      rglEvalCoord1dv\n#define glEvalCoord1f                       rglEvalCoord1f\n#define glEvalCoord1fv                      rglEvalCoord1fv\n#define glEvalCoord2d                       rglEvalCoord2d\n#define glEvalCoord2dv                      rglEvalCoord2dv\n#define glEvalCoord2f                       rglEvalCoord2f\n#define glEvalCoord2fv                      rglEvalCoord2fv\n#define glEvalMesh1                         rglEvalMesh1\n#define glEvalMesh2                         rglEvalMesh2\n#define glEvalPoint1                        rglEvalPoint1\n#define glEvalPoint2                        rglEvalPoint2\n#define glFeedbackBuffer                    rglFeedbackBuffer\n#define glFinish                            rglFinish\n#define glFlush                             rglFlush\n#define glFogf                              rglFogf\n#define glFogfv                             rglFogfv\n#define glFogi                              rglFogi\n#define glFogiv                             rglFogiv\n#define glFrontFace                         rglFrontFace\n#define glFrustum                           rglFrustum\n#define glGenLists                          rglGenLists\n#define glGetBooleanv                       rglGetBooleanv\n#define glGetClipPlane                      rglGetClipPlane\n#define glGetDoublev                        rglGetDoublev\n#define glGetError                          rglGetError\n#define glGetFloatv                         rglGetFloatv\n#define glGetIntegerv                       rglGetIntegerv\n#define glGetLightfv                        rglGetLightfv\n#define glGetLightiv                        rglGetLightiv\n#define glGetMapdv                          rglGetMapdv\n#define glGetMapfv                          rglGetMapfv\n#define glGetMapiv                          rglGetMapiv\n#define glGetMaterialfv                     rglGetMaterialfv\n#define glGetMaterialiv                     rglGetMaterialiv\n#define glGetPixelMapfv                     rglGetPixelMapfv\n#define glGetPixelMapuiv                    rglGetPixelMapuiv\n#define glGetPixelMapusv                    rglGetPixelMapusv\n#define glGetPolygonStipple                 rglGetPolygonStipple\n#define glGetString                         rglGetString\n#define glGetTexEnvfv                       rglGetTexEnvfv\n#define glGetTexEnviv                       rglGetTexEnviv\n#define glGetTexGendv                       rglGetTexGendv\n#define glGetTexGenfv                       rglGetTexGenfv\n#define glGetTexGeniv                       rglGetTexGeniv\n#define glGetTexImage                       rglGetTexImage\n#define glGetTexLevelParameterfv            rglGetTexLevelParameterfv\n#define glGetTexLevelParameteriv            rglGetTexLevelParameteriv\n#define glGetTexParameterfv                 rglGetTexParameterfv\n#define glGetTexParameteriv                 rglGetTexParameteriv\n#define glHint                              rglHint\n#define glIndexMask                         rglIndexMask\n#define glIndexd                            rglIndexd\n#define glIndexdv                           rglIndexdv\n#define glIndexf                            rglIndexf\n#define glIndexfv                           rglIndexfv\n#define glIndexi                            rglIndexi\n#define glIndexiv                           rglIndexiv\n#define glIndexs                            rglIndexs\n#define glIndexsv                           rglIndexsv\n#define glInitNames                         rglInitNames\n#define glIsEnabled                         rglIsEnabled\n#define glIsList                            rglIsList\n#define glLightModelf                       rglLightModelf\n#define glLightModelfv                      rglLightModelfv\n#define glLightModeli                       rglLightModeli\n#define glLightModeliv                      rglLightModeliv\n#define glLightf                            rglLightf\n#define glLightfv                           rglLightfv\n#define glLighti                            rglLighti\n#define glLightiv                           rglLightiv\n#define glLineStipple                       rglLineStipple\n#define glLineWidth                         rglLineWidth\n#define glListBase                          rglListBase\n#define glLoadIdentity                      rglLoadIdentity\n#define glLoadMatrixd                       rglLoadMatrixd\n#define glLoadMatrixf                       rglLoadMatrixf\n#define glLoadName                          rglLoadName\n#define glLogicOp                           rglLogicOp\n#define glMap1d                             rglMap1d\n#define glMap1f                             rglMap1f\n#define glMap2d                             rglMap2d\n#define glMap2f                             rglMap2f\n#define glMapGrid1d                         rglMapGrid1d\n#define glMapGrid1f                         rglMapGrid1f\n#define glMapGrid2d                         rglMapGrid2d\n#define glMapGrid2f                         rglMapGrid2f\n#define glMaterialf                         rglMaterialf\n#define glMaterialfv                        rglMaterialfv\n#define glMateriali                         rglMateriali\n#define glMaterialiv                        rglMaterialiv\n#define glMatrixMode                        rglMatrixMode\n#define glMultMatrixd                       rglMultMatrixd\n#define glMultMatrixf                       rglMultMatrixf\n#define glNewList                           rglNewList\n#define glNormal3b                          rglNormal3b\n#define glNormal3bv                         rglNormal3bv\n#define glNormal3d                          rglNormal3d\n#define glNormal3dv                         rglNormal3dv\n#define glNormal3f                          rglNormal3f\n#define glNormal3fv                         rglNormal3fv\n#define glNormal3i                          rglNormal3i\n#define glNormal3iv                         rglNormal3iv\n#define glNormal3s                          rglNormal3s\n#define glNormal3sv                         rglNormal3sv\n#define glOrtho                             rglOrtho\n#define glPassThrough                       rglPassThrough\n#define glPixelMapfv                        rglPixelMapfv\n#define glPixelMapuiv                       rglPixelMapuiv\n#define glPixelMapusv                       rglPixelMapusv\n#define glPixelStoref                       rglPixelStoref\n#define glPixelStorei                       rglPixelStorei\n#define glPixelTransferf                    rglPixelTransferf\n#define glPixelTransferi                    rglPixelTransferi\n#define glPixelZoom                         rglPixelZoom\n#define glPointSize                         rglPointSize\n#define glPolygonMode                       rglPolygonMode\n#define glPolygonStipple                    rglPolygonStipple\n#define glPopAttrib                         rglPopAttrib\n#define glPopMatrix                         rglPopMatrix\n#define glPopName                           rglPopName\n#define glPushAttrib                        rglPushAttrib\n#define glPushMatrix                        rglPushMatrix\n#define glPushName                          rglPushName\n#define glRasterPos2d                       rglRasterPos2d\n#define glRasterPos2dv                      rglRasterPos2dv\n#define glRasterPos2f                       rglRasterPos2f\n#define glRasterPos2fv                      rglRasterPos2fv\n#define glRasterPos2i                       rglRasterPos2i\n#define glRasterPos2iv                      rglRasterPos2iv\n#define glRasterPos2s                       rglRasterPos2s\n#define glRasterPos2sv                      rglRasterPos2sv\n#define glRasterPos3d                       rglRasterPos3d\n#define glRasterPos3dv                      rglRasterPos3dv\n#define glRasterPos3f                       rglRasterPos3f\n#define glRasterPos3fv                      rglRasterPos3fv\n#define glRasterPos3i                       rglRasterPos3i\n#define glRasterPos3iv                      rglRasterPos3iv\n#define glRasterPos3s                       rglRasterPos3s\n#define glRasterPos3sv                      rglRasterPos3sv\n#define glRasterPos4d                       rglRasterPos4d\n#define glRasterPos4dv                      rglRasterPos4dv\n#define glRasterPos4f                       rglRasterPos4f\n#define glRasterPos4fv                      rglRasterPos4fv\n#define glRasterPos4i                       rglRasterPos4i\n#define glRasterPos4iv                      rglRasterPos4iv\n#define glRasterPos4s                       rglRasterPos4s\n#define glRasterPos4sv                      rglRasterPos4sv\n#define glReadBuffer                        rglReadBuffer\n#define glReadPixels                        rglReadPixels\n#define glRectd                             rglRectd\n#define glRectdv                            rglRectdv\n#define glRectf                             rglRectf\n#define glRectfv                            rglRectfv\n#define glRecti                             rglRecti\n#define glRectiv                            rglRectiv\n#define glRects                             rglRects\n#define glRectsv                            rglRectsv\n#define glRenderMode                        rglRenderMode\n#define glRotated                           rglRotated\n#define glRotatef                           rglRotatef\n#define glScaled                            rglScaled\n#define glScalef                            rglScalef\n#define glScissor                           rglScissor\n#define glSelectBuffer                      rglSelectBuffer\n#define glShadeModel                        rglShadeModel\n#define glStencilFunc                       rglStencilFunc\n#define glStencilMask                       rglStencilMask\n#define glStencilOp                         rglStencilOp\n#define glTexCoord1d                        rglTexCoord1d\n#define glTexCoord1dv                       rglTexCoord1dv\n#define glTexCoord1f                        rglTexCoord1f\n#define glTexCoord1fv                       rglTexCoord1fv\n#define glTexCoord1i                        rglTexCoord1i\n#define glTexCoord1iv                       rglTexCoord1iv\n#define glTexCoord1s                        rglTexCoord1s\n#define glTexCoord1sv                       rglTexCoord1sv\n#define glTexCoord2d                        rglTexCoord2d\n#define glTexCoord2dv                       rglTexCoord2dv\n#define glTexCoord2f                        rglTexCoord2f\n#define glTexCoord2fv                       rglTexCoord2fv\n#define glTexCoord2i                        rglTexCoord2i\n#define glTexCoord2iv                       rglTexCoord2iv\n#define glTexCoord2s                        rglTexCoord2s\n#define glTexCoord2sv                       rglTexCoord2sv\n#define glTexCoord3d                        rglTexCoord3d\n#define glTexCoord3dv                       rglTexCoord3dv\n#define glTexCoord3f                        rglTexCoord3f\n#define glTexCoord3fv                       rglTexCoord3fv\n#define glTexCoord3i                        rglTexCoord3i\n#define glTexCoord3iv                       rglTexCoord3iv\n#define glTexCoord3s                        rglTexCoord3s\n#define glTexCoord3sv                       rglTexCoord3sv\n#define glTexCoord4d                        rglTexCoord4d\n#define glTexCoord4dv                       rglTexCoord4dv\n#define glTexCoord4f                        rglTexCoord4f\n#define glTexCoord4fv                       rglTexCoord4fv\n#define glTexCoord4i                        rglTexCoord4i\n#define glTexCoord4iv                       rglTexCoord4iv\n#define glTexCoord4s                        rglTexCoord4s\n#define glTexCoord4sv                       rglTexCoord4sv\n#define glTexEnvf                           rglTexEnvf\n#define glTexEnvfv                          rglTexEnvfv\n#define glTexEnvi                           rglTexEnvi\n#define glTexEnviv                          rglTexEnviv\n#define glTexGend                           rglTexGend\n#define glTexGendv                          rglTexGendv\n#define glTexGenf                           rglTexGenf\n#define glTexGenfv                          rglTexGenfv\n#define glTexGeni                           rglTexGeni\n#define glTexGeniv                          rglTexGeniv\n#define glTexImage1D                        rglTexImage1D\n#define glTexImage2D                        rglTexImage2D\n#define glTexParameterf                     rglTexParameterf\n#define glTexParameterfv                    rglTexParameterfv\n#define glTexParameteri                     rglTexParameteri\n#define glTexParameteriv                    rglTexParameteriv\n#define glTranslated                        rglTranslated\n#define glTranslatef                        rglTranslatef\n#define glVertex2d                          rglVertex2d\n#define glVertex2dv                         rglVertex2dv\n#define glVertex2f                          rglVertex2f\n#define glVertex2fv                         rglVertex2fv\n#define glVertex2i                          rglVertex2i\n#define glVertex2iv                         rglVertex2iv\n#define glVertex2s                          rglVertex2s\n#define glVertex2sv                         rglVertex2sv\n#define glVertex3d                          rglVertex3d\n#define glVertex3dv                         rglVertex3dv\n#define glVertex3f                          rglVertex3f\n#define glVertex3fv                         rglVertex3fv\n#define glVertex3i                          rglVertex3i\n#define glVertex3iv                         rglVertex3iv\n#define glVertex3s                          rglVertex3s\n#define glVertex3sv                         rglVertex3sv\n#define glVertex4d                          rglVertex4d\n#define glVertex4dv                         rglVertex4dv\n#define glVertex4f                          rglVertex4f\n#define glVertex4fv                         rglVertex4fv\n#define glVertex4i                          rglVertex4i\n#define glVertex4iv                         rglVertex4iv\n#define glVertex4s                          rglVertex4s\n#define glVertex4sv                         rglVertex4sv\n#define glViewport                          rglViewport\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_VERSION_1_0\nREGAL_DECL GLboolean REGAL_CALL glIsEnabled(GLenum cap);\nREGAL_DECL GLboolean REGAL_CALL glIsList(GLuint list);\nREGAL_DECL GLenum REGAL_CALL glGetError(void);\nREGAL_DECL GLint REGAL_CALL glRenderMode(GLenum mode);\nREGAL_DECL GLuint REGAL_CALL glGenLists(GLsizei range);\nREGAL_DECL const GLubyte *REGAL_CALL glGetString(GLenum name);\nREGAL_DECL void REGAL_CALL glAccum(GLenum op, GLfloat value);\nREGAL_DECL void REGAL_CALL glAlphaFunc(GLenum func, GLclampf ref);\nREGAL_DECL void REGAL_CALL glBegin(GLenum mode);\nREGAL_DECL void REGAL_CALL glBitmap(GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap);\nREGAL_DECL void REGAL_CALL glBlendFunc(GLenum sfactor, GLenum dfactor);\nREGAL_DECL void REGAL_CALL glCallList(GLuint list);\nREGAL_DECL void REGAL_CALL glCallLists(GLsizei n, GLenum type, const GLvoid *lists);\nREGAL_DECL void REGAL_CALL glClear(GLbitfield mask);\nREGAL_DECL void REGAL_CALL glClearAccum(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);\nREGAL_DECL void REGAL_CALL glClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);\nREGAL_DECL void REGAL_CALL glClearDepth(GLclampd depth);\nREGAL_DECL void REGAL_CALL glClearIndex(GLfloat c);\nREGAL_DECL void REGAL_CALL glClearStencil(GLint s);\nREGAL_DECL void REGAL_CALL glClipPlane(GLenum plane, const GLdouble *equation);\nREGAL_DECL void REGAL_CALL glColor3b(GLbyte red, GLbyte green, GLbyte blue);\nREGAL_DECL void REGAL_CALL glColor3bv(const GLbyte *v);\nREGAL_DECL void REGAL_CALL glColor3d(GLdouble red, GLdouble green, GLdouble blue);\nREGAL_DECL void REGAL_CALL glColor3dv(const GLdouble *v);\nREGAL_DECL void REGAL_CALL glColor3f(GLfloat red, GLfloat green, GLfloat blue);\nREGAL_DECL void REGAL_CALL glColor3fv(const GLfloat *v);\nREGAL_DECL void REGAL_CALL glColor3i(GLint red, GLint green, GLint blue);\nREGAL_DECL void REGAL_CALL glColor3iv(const GLint *v);\nREGAL_DECL void REGAL_CALL glColor3s(GLshort red, GLshort green, GLshort blue);\nREGAL_DECL void REGAL_CALL glColor3sv(const GLshort *v);\nREGAL_DECL void REGAL_CALL glColor3ub(GLubyte red, GLubyte green, GLubyte blue);\nREGAL_DECL void REGAL_CALL glColor3ubv(const GLubyte *v);\nREGAL_DECL void REGAL_CALL glColor3ui(GLuint red, GLuint green, GLuint blue);\nREGAL_DECL void REGAL_CALL glColor3uiv(const GLuint *v);\nREGAL_DECL void REGAL_CALL glColor3us(GLushort red, GLushort green, GLushort blue);\nREGAL_DECL void REGAL_CALL glColor3usv(const GLushort *v);\nREGAL_DECL void REGAL_CALL glColor4b(GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha);\nREGAL_DECL void REGAL_CALL glColor4bv(const GLbyte *v);\nREGAL_DECL void REGAL_CALL glColor4d(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha);\nREGAL_DECL void REGAL_CALL glColor4dv(const GLdouble *v);\nREGAL_DECL void REGAL_CALL glColor4f(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);\nREGAL_DECL void REGAL_CALL glColor4fv(const GLfloat *v);\nREGAL_DECL void REGAL_CALL glColor4i(GLint red, GLint green, GLint blue, GLint alpha);\nREGAL_DECL void REGAL_CALL glColor4iv(const GLint *v);\nREGAL_DECL void REGAL_CALL glColor4s(GLshort red, GLshort green, GLshort blue, GLshort alpha);\nREGAL_DECL void REGAL_CALL glColor4sv(const GLshort *v);\nREGAL_DECL void REGAL_CALL glColor4ub(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha);\nREGAL_DECL void REGAL_CALL glColor4ubv(const GLubyte *v);\nREGAL_DECL void REGAL_CALL glColor4ui(GLuint red, GLuint green, GLuint blue, GLuint alpha);\nREGAL_DECL void REGAL_CALL glColor4uiv(const GLuint *v);\nREGAL_DECL void REGAL_CALL glColor4us(GLushort red, GLushort green, GLushort blue, GLushort alpha);\nREGAL_DECL void REGAL_CALL glColor4usv(const GLushort *v);\nREGAL_DECL void REGAL_CALL glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);\nREGAL_DECL void REGAL_CALL glColorMaterial(GLenum face, GLenum mode);\nREGAL_DECL void REGAL_CALL glCopyPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum type);\nREGAL_DECL void REGAL_CALL glCullFace(GLenum mode);\nREGAL_DECL void REGAL_CALL glDeleteLists(GLuint list, GLsizei range);\nREGAL_DECL void REGAL_CALL glDepthFunc(GLenum func);\nREGAL_DECL void REGAL_CALL glDepthMask(GLboolean flag);\nREGAL_DECL void REGAL_CALL glDepthRange(GLclampd zNear, GLclampd zFar);\nREGAL_DECL void REGAL_CALL glDisable(GLenum cap);\nREGAL_DECL void REGAL_CALL glDrawBuffer(GLenum mode);\nREGAL_DECL void REGAL_CALL glDrawPixels(GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL glEdgeFlag(GLboolean flag);\nREGAL_DECL void REGAL_CALL glEdgeFlagv(const GLboolean *flag);\nREGAL_DECL void REGAL_CALL glEnable(GLenum cap);\nREGAL_DECL void REGAL_CALL glEnd(void);\nREGAL_DECL void REGAL_CALL glEndList(void);\nREGAL_DECL void REGAL_CALL glEvalCoord1d(GLdouble u);\nREGAL_DECL void REGAL_CALL glEvalCoord1dv(const GLdouble *u);\nREGAL_DECL void REGAL_CALL glEvalCoord1f(GLfloat u);\nREGAL_DECL void REGAL_CALL glEvalCoord1fv(const GLfloat *u);\nREGAL_DECL void REGAL_CALL glEvalCoord2d(GLdouble u, GLdouble v);\nREGAL_DECL void REGAL_CALL glEvalCoord2dv(const GLdouble *u);\nREGAL_DECL void REGAL_CALL glEvalCoord2f(GLfloat u, GLfloat v);\nREGAL_DECL void REGAL_CALL glEvalCoord2fv(const GLfloat *u);\nREGAL_DECL void REGAL_CALL glEvalMesh1(GLenum mode, GLint i1, GLint i2);\nREGAL_DECL void REGAL_CALL glEvalMesh2(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2);\nREGAL_DECL void REGAL_CALL glEvalPoint1(GLint i);\nREGAL_DECL void REGAL_CALL glEvalPoint2(GLint i, GLint j);\nREGAL_DECL void REGAL_CALL glFeedbackBuffer(GLsizei size, GLenum type, GLfloat *buffer);\nREGAL_DECL void REGAL_CALL glFinish(void);\nREGAL_DECL void REGAL_CALL glFlush(void);\nREGAL_DECL void REGAL_CALL glFogf(GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL glFogfv(GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL glFogi(GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL glFogiv(GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL glFrontFace(GLenum mode);\nREGAL_DECL void REGAL_CALL glFrustum(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);\nREGAL_DECL void REGAL_CALL glGetBooleanv(GLenum pname, GLboolean *params);\nREGAL_DECL void REGAL_CALL glGetClipPlane(GLenum plane, GLdouble *equation);\nREGAL_DECL void REGAL_CALL glGetDoublev(GLenum pname, GLdouble *params);\nREGAL_DECL void REGAL_CALL glGetFloatv(GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetIntegerv(GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetLightfv(GLenum light, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetLightiv(GLenum light, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetMapdv(GLenum target, GLenum query, GLdouble *v);\nREGAL_DECL void REGAL_CALL glGetMapfv(GLenum target, GLenum query, GLfloat *v);\nREGAL_DECL void REGAL_CALL glGetMapiv(GLenum target, GLenum query, GLint *v);\nREGAL_DECL void REGAL_CALL glGetMaterialfv(GLenum face, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetMaterialiv(GLenum face, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetPixelMapfv(GLenum map, GLfloat *values);\nREGAL_DECL void REGAL_CALL glGetPixelMapuiv(GLenum map, GLuint *values);\nREGAL_DECL void REGAL_CALL glGetPixelMapusv(GLenum map, GLushort *values);\nREGAL_DECL void REGAL_CALL glGetPolygonStipple(GLubyte *mask);\nREGAL_DECL void REGAL_CALL glGetTexEnvfv(GLenum target, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetTexEnviv(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetTexGendv(GLenum coord, GLenum pname, GLdouble *params);\nREGAL_DECL void REGAL_CALL glGetTexGenfv(GLenum coord, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetTexGeniv(GLenum coord, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetTexImage(GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels);\nREGAL_DECL void REGAL_CALL glGetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetTexParameterfv(GLenum target, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetTexParameteriv(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glHint(GLenum target, GLenum mode);\nREGAL_DECL void REGAL_CALL glIndexMask(GLuint mask);\nREGAL_DECL void REGAL_CALL glIndexd(GLdouble c);\nREGAL_DECL void REGAL_CALL glIndexdv(const GLdouble *c);\nREGAL_DECL void REGAL_CALL glIndexf(GLfloat c);\nREGAL_DECL void REGAL_CALL glIndexfv(const GLfloat *c);\nREGAL_DECL void REGAL_CALL glIndexi(GLint c);\nREGAL_DECL void REGAL_CALL glIndexiv(const GLint *c);\nREGAL_DECL void REGAL_CALL glIndexs(GLshort c);\nREGAL_DECL void REGAL_CALL glIndexsv(const GLshort *c);\nREGAL_DECL void REGAL_CALL glInitNames(void);\nREGAL_DECL void REGAL_CALL glLightModelf(GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL glLightModelfv(GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL glLightModeli(GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL glLightModeliv(GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL glLightf(GLenum light, GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL glLightfv(GLenum light, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL glLighti(GLenum light, GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL glLightiv(GLenum light, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL glLineStipple(GLint factor, GLushort pattern);\nREGAL_DECL void REGAL_CALL glLineWidth(GLfloat width);\nREGAL_DECL void REGAL_CALL glListBase(GLuint base);\nREGAL_DECL void REGAL_CALL glLoadIdentity(void);\nREGAL_DECL void REGAL_CALL glLoadMatrixd(const GLdouble *m);\nREGAL_DECL void REGAL_CALL glLoadMatrixf(const GLfloat *m);\nREGAL_DECL void REGAL_CALL glLoadName(GLuint name);\nREGAL_DECL void REGAL_CALL glLogicOp(GLenum opcode);\nREGAL_DECL void REGAL_CALL glMap1d(GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points);\nREGAL_DECL void REGAL_CALL glMap1f(GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points);\nREGAL_DECL void REGAL_CALL glMap2d(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points);\nREGAL_DECL void REGAL_CALL glMap2f(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points);\nREGAL_DECL void REGAL_CALL glMapGrid1d(GLint un, GLdouble u1, GLdouble u2);\nREGAL_DECL void REGAL_CALL glMapGrid1f(GLint un, GLfloat u1, GLfloat u2);\nREGAL_DECL void REGAL_CALL glMapGrid2d(GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2);\nREGAL_DECL void REGAL_CALL glMapGrid2f(GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2);\nREGAL_DECL void REGAL_CALL glMaterialf(GLenum face, GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL glMaterialfv(GLenum face, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL glMateriali(GLenum face, GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL glMaterialiv(GLenum face, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL glMatrixMode(GLenum mode);\nREGAL_DECL void REGAL_CALL glMultMatrixd(const GLdouble *m);\nREGAL_DECL void REGAL_CALL glMultMatrixf(const GLfloat *m);\nREGAL_DECL void REGAL_CALL glNewList(GLuint list, GLenum mode);\nREGAL_DECL void REGAL_CALL glNormal3b(GLbyte nx, GLbyte ny, GLbyte nz);\nREGAL_DECL void REGAL_CALL glNormal3bv(const GLbyte *v);\nREGAL_DECL void REGAL_CALL glNormal3d(GLdouble nx, GLdouble ny, GLdouble nz);\nREGAL_DECL void REGAL_CALL glNormal3dv(const GLdouble *v);\nREGAL_DECL void REGAL_CALL glNormal3f(GLfloat nx, GLfloat ny, GLfloat nz);\nREGAL_DECL void REGAL_CALL glNormal3fv(const GLfloat *v);\nREGAL_DECL void REGAL_CALL glNormal3i(GLint nx, GLint ny, GLint nz);\nREGAL_DECL void REGAL_CALL glNormal3iv(const GLint *v);\nREGAL_DECL void REGAL_CALL glNormal3s(GLshort nx, GLshort ny, GLshort nz);\nREGAL_DECL void REGAL_CALL glNormal3sv(const GLshort *v);\nREGAL_DECL void REGAL_CALL glOrtho(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);\nREGAL_DECL void REGAL_CALL glPassThrough(GLfloat token);\nREGAL_DECL void REGAL_CALL glPixelMapfv(GLenum map, GLsizei mapsize, const GLfloat *values);\nREGAL_DECL void REGAL_CALL glPixelMapuiv(GLenum map, GLsizei mapsize, const GLuint *values);\nREGAL_DECL void REGAL_CALL glPixelMapusv(GLenum map, GLsizei mapsize, const GLushort *values);\nREGAL_DECL void REGAL_CALL glPixelStoref(GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL glPixelStorei(GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL glPixelTransferf(GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL glPixelTransferi(GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL glPixelZoom(GLfloat xfactor, GLfloat yfactor);\nREGAL_DECL void REGAL_CALL glPointSize(GLfloat size);\nREGAL_DECL void REGAL_CALL glPolygonMode(GLenum face, GLenum mode);\nREGAL_DECL void REGAL_CALL glPolygonStipple(const GLubyte *mask);\nREGAL_DECL void REGAL_CALL glPopAttrib(void);\nREGAL_DECL void REGAL_CALL glPopMatrix(void);\nREGAL_DECL void REGAL_CALL glPopName(void);\nREGAL_DECL void REGAL_CALL glPushAttrib(GLbitfield mask);\nREGAL_DECL void REGAL_CALL glPushMatrix(void);\nREGAL_DECL void REGAL_CALL glPushName(GLuint name);\nREGAL_DECL void REGAL_CALL glRasterPos2d(GLdouble x, GLdouble y);\nREGAL_DECL void REGAL_CALL glRasterPos2dv(const GLdouble *v);\nREGAL_DECL void REGAL_CALL glRasterPos2f(GLfloat x, GLfloat y);\nREGAL_DECL void REGAL_CALL glRasterPos2fv(const GLfloat *v);\nREGAL_DECL void REGAL_CALL glRasterPos2i(GLint x, GLint y);\nREGAL_DECL void REGAL_CALL glRasterPos2iv(const GLint *v);\nREGAL_DECL void REGAL_CALL glRasterPos2s(GLshort x, GLshort y);\nREGAL_DECL void REGAL_CALL glRasterPos2sv(const GLshort *v);\nREGAL_DECL void REGAL_CALL glRasterPos3d(GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL glRasterPos3dv(const GLdouble *v);\nREGAL_DECL void REGAL_CALL glRasterPos3f(GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL glRasterPos3fv(const GLfloat *v);\nREGAL_DECL void REGAL_CALL glRasterPos3i(GLint x, GLint y, GLint z);\nREGAL_DECL void REGAL_CALL glRasterPos3iv(const GLint *v);\nREGAL_DECL void REGAL_CALL glRasterPos3s(GLshort x, GLshort y, GLshort z);\nREGAL_DECL void REGAL_CALL glRasterPos3sv(const GLshort *v);\nREGAL_DECL void REGAL_CALL glRasterPos4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nREGAL_DECL void REGAL_CALL glRasterPos4dv(const GLdouble *v);\nREGAL_DECL void REGAL_CALL glRasterPos4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nREGAL_DECL void REGAL_CALL glRasterPos4fv(const GLfloat *v);\nREGAL_DECL void REGAL_CALL glRasterPos4i(GLint x, GLint y, GLint z, GLint w);\nREGAL_DECL void REGAL_CALL glRasterPos4iv(const GLint *v);\nREGAL_DECL void REGAL_CALL glRasterPos4s(GLshort x, GLshort y, GLshort z, GLshort w);\nREGAL_DECL void REGAL_CALL glRasterPos4sv(const GLshort *v);\nREGAL_DECL void REGAL_CALL glReadBuffer(GLenum mode);\nREGAL_DECL void REGAL_CALL glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels);\nREGAL_DECL void REGAL_CALL glRectd(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2);\nREGAL_DECL void REGAL_CALL glRectdv(const GLdouble *v1, const GLdouble *v2);\nREGAL_DECL void REGAL_CALL glRectf(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2);\nREGAL_DECL void REGAL_CALL glRectfv(const GLfloat *v1, const GLfloat *v2);\nREGAL_DECL void REGAL_CALL glRecti(GLint x1, GLint y1, GLint x2, GLint y2);\nREGAL_DECL void REGAL_CALL glRectiv(const GLint *v1, const GLint *v2);\nREGAL_DECL void REGAL_CALL glRects(GLshort x1, GLshort y1, GLshort x2, GLshort y2);\nREGAL_DECL void REGAL_CALL glRectsv(const GLshort *v1, const GLshort *v2);\nREGAL_DECL void REGAL_CALL glRotated(GLdouble angle, GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL glRotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL glScaled(GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL glScalef(GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL glScissor(GLint x, GLint y, GLsizei width, GLsizei height);\nREGAL_DECL void REGAL_CALL glSelectBuffer(GLsizei size, GLuint *buffer);\nREGAL_DECL void REGAL_CALL glShadeModel(GLenum mode);\nREGAL_DECL void REGAL_CALL glStencilFunc(GLenum func, GLint ref, GLuint mask);\nREGAL_DECL void REGAL_CALL glStencilMask(GLuint mask);\nREGAL_DECL void REGAL_CALL glStencilOp(GLenum fail, GLenum zfail, GLenum zpass);\nREGAL_DECL void REGAL_CALL glTexCoord1d(GLdouble s);\nREGAL_DECL void REGAL_CALL glTexCoord1dv(const GLdouble *v);\nREGAL_DECL void REGAL_CALL glTexCoord1f(GLfloat s);\nREGAL_DECL void REGAL_CALL glTexCoord1fv(const GLfloat *v);\nREGAL_DECL void REGAL_CALL glTexCoord1i(GLint s);\nREGAL_DECL void REGAL_CALL glTexCoord1iv(const GLint *v);\nREGAL_DECL void REGAL_CALL glTexCoord1s(GLshort s);\nREGAL_DECL void REGAL_CALL glTexCoord1sv(const GLshort *v);\nREGAL_DECL void REGAL_CALL glTexCoord2d(GLdouble s, GLdouble t);\nREGAL_DECL void REGAL_CALL glTexCoord2dv(const GLdouble *v);\nREGAL_DECL void REGAL_CALL glTexCoord2f(GLfloat s, GLfloat t);\nREGAL_DECL void REGAL_CALL glTexCoord2fv(const GLfloat *v);\nREGAL_DECL void REGAL_CALL glTexCoord2i(GLint s, GLint t);\nREGAL_DECL void REGAL_CALL glTexCoord2iv(const GLint *v);\nREGAL_DECL void REGAL_CALL glTexCoord2s(GLshort s, GLshort t);\nREGAL_DECL void REGAL_CALL glTexCoord2sv(const GLshort *v);\nREGAL_DECL void REGAL_CALL glTexCoord3d(GLdouble s, GLdouble t, GLdouble r);\nREGAL_DECL void REGAL_CALL glTexCoord3dv(const GLdouble *v);\nREGAL_DECL void REGAL_CALL glTexCoord3f(GLfloat s, GLfloat t, GLfloat r);\nREGAL_DECL void REGAL_CALL glTexCoord3fv(const GLfloat *v);\nREGAL_DECL void REGAL_CALL glTexCoord3i(GLint s, GLint t, GLint r);\nREGAL_DECL void REGAL_CALL glTexCoord3iv(const GLint *v);\nREGAL_DECL void REGAL_CALL glTexCoord3s(GLshort s, GLshort t, GLshort r);\nREGAL_DECL void REGAL_CALL glTexCoord3sv(const GLshort *v);\nREGAL_DECL void REGAL_CALL glTexCoord4d(GLdouble s, GLdouble t, GLdouble r, GLdouble q);\nREGAL_DECL void REGAL_CALL glTexCoord4dv(const GLdouble *v);\nREGAL_DECL void REGAL_CALL glTexCoord4f(GLfloat s, GLfloat t, GLfloat r, GLfloat q);\nREGAL_DECL void REGAL_CALL glTexCoord4fv(const GLfloat *v);\nREGAL_DECL void REGAL_CALL glTexCoord4i(GLint s, GLint t, GLint r, GLint q);\nREGAL_DECL void REGAL_CALL glTexCoord4iv(const GLint *v);\nREGAL_DECL void REGAL_CALL glTexCoord4s(GLshort s, GLshort t, GLshort r, GLshort q);\nREGAL_DECL void REGAL_CALL glTexCoord4sv(const GLshort *v);\nREGAL_DECL void REGAL_CALL glTexEnvf(GLenum target, GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL glTexEnvfv(GLenum target, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL glTexEnvi(GLenum target, GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL glTexEnviv(GLenum target, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL glTexGend(GLenum coord, GLenum pname, GLdouble param);\nREGAL_DECL void REGAL_CALL glTexGendv(GLenum coord, GLenum pname, const GLdouble *params);\nREGAL_DECL void REGAL_CALL glTexGenf(GLenum coord, GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL glTexGenfv(GLenum coord, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL glTexGeni(GLenum coord, GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL glTexGeniv(GLenum coord, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL glTexImage1D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL glTexParameterf(GLenum target, GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL glTexParameterfv(GLenum target, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL glTexParameteri(GLenum target, GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL glTexParameteriv(GLenum target, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL glTranslated(GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL glTranslatef(GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL glVertex2d(GLdouble x, GLdouble y);\nREGAL_DECL void REGAL_CALL glVertex2dv(const GLdouble *v);\nREGAL_DECL void REGAL_CALL glVertex2f(GLfloat x, GLfloat y);\nREGAL_DECL void REGAL_CALL glVertex2fv(const GLfloat *v);\nREGAL_DECL void REGAL_CALL glVertex2i(GLint x, GLint y);\nREGAL_DECL void REGAL_CALL glVertex2iv(const GLint *v);\nREGAL_DECL void REGAL_CALL glVertex2s(GLshort x, GLshort y);\nREGAL_DECL void REGAL_CALL glVertex2sv(const GLshort *v);\nREGAL_DECL void REGAL_CALL glVertex3d(GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL glVertex3dv(const GLdouble *v);\nREGAL_DECL void REGAL_CALL glVertex3f(GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL glVertex3fv(const GLfloat *v);\nREGAL_DECL void REGAL_CALL glVertex3i(GLint x, GLint y, GLint z);\nREGAL_DECL void REGAL_CALL glVertex3iv(const GLint *v);\nREGAL_DECL void REGAL_CALL glVertex3s(GLshort x, GLshort y, GLshort z);\nREGAL_DECL void REGAL_CALL glVertex3sv(const GLshort *v);\nREGAL_DECL void REGAL_CALL glVertex4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nREGAL_DECL void REGAL_CALL glVertex4dv(const GLdouble *v);\nREGAL_DECL void REGAL_CALL glVertex4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nREGAL_DECL void REGAL_CALL glVertex4fv(const GLfloat *v);\nREGAL_DECL void REGAL_CALL glVertex4i(GLint x, GLint y, GLint z, GLint w);\nREGAL_DECL void REGAL_CALL glVertex4iv(const GLint *v);\nREGAL_DECL void REGAL_CALL glVertex4s(GLshort x, GLshort y, GLshort z, GLshort w);\nREGAL_DECL void REGAL_CALL glVertex4sv(const GLshort *v);\nREGAL_DECL void REGAL_CALL glViewport(GLint x, GLint y, GLsizei width, GLsizei height);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_VERSION_1_0\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsEnabled(GLenum cap);\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsList(GLuint list);\nREGAL_DECL GLenum REGAL_CALL plugin_glGetError(void);\nREGAL_DECL GLint REGAL_CALL plugin_glRenderMode(GLenum mode);\nREGAL_DECL GLuint REGAL_CALL plugin_glGenLists(GLsizei range);\nREGAL_DECL const GLubyte *REGAL_CALL plugin_glGetString(GLenum name);\nREGAL_DECL void REGAL_CALL plugin_glAccum(GLenum op, GLfloat value);\nREGAL_DECL void REGAL_CALL plugin_glAlphaFunc(GLenum func, GLclampf ref);\nREGAL_DECL void REGAL_CALL plugin_glBegin(GLenum mode);\nREGAL_DECL void REGAL_CALL plugin_glBitmap(GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap);\nREGAL_DECL void REGAL_CALL plugin_glBlendFunc(GLenum sfactor, GLenum dfactor);\nREGAL_DECL void REGAL_CALL plugin_glCallList(GLuint list);\nREGAL_DECL void REGAL_CALL plugin_glCallLists(GLsizei n, GLenum type, const GLvoid *lists);\nREGAL_DECL void REGAL_CALL plugin_glClear(GLbitfield mask);\nREGAL_DECL void REGAL_CALL plugin_glClearAccum(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);\nREGAL_DECL void REGAL_CALL plugin_glClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);\nREGAL_DECL void REGAL_CALL plugin_glClearDepth(GLclampd depth);\nREGAL_DECL void REGAL_CALL plugin_glClearIndex(GLfloat c);\nREGAL_DECL void REGAL_CALL plugin_glClearStencil(GLint s);\nREGAL_DECL void REGAL_CALL plugin_glClipPlane(GLenum plane, const GLdouble *equation);\nREGAL_DECL void REGAL_CALL plugin_glColor3b(GLbyte red, GLbyte green, GLbyte blue);\nREGAL_DECL void REGAL_CALL plugin_glColor3bv(const GLbyte *v);\nREGAL_DECL void REGAL_CALL plugin_glColor3d(GLdouble red, GLdouble green, GLdouble blue);\nREGAL_DECL void REGAL_CALL plugin_glColor3dv(const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glColor3f(GLfloat red, GLfloat green, GLfloat blue);\nREGAL_DECL void REGAL_CALL plugin_glColor3fv(const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glColor3i(GLint red, GLint green, GLint blue);\nREGAL_DECL void REGAL_CALL plugin_glColor3iv(const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glColor3s(GLshort red, GLshort green, GLshort blue);\nREGAL_DECL void REGAL_CALL plugin_glColor3sv(const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glColor3ub(GLubyte red, GLubyte green, GLubyte blue);\nREGAL_DECL void REGAL_CALL plugin_glColor3ubv(const GLubyte *v);\nREGAL_DECL void REGAL_CALL plugin_glColor3ui(GLuint red, GLuint green, GLuint blue);\nREGAL_DECL void REGAL_CALL plugin_glColor3uiv(const GLuint *v);\nREGAL_DECL void REGAL_CALL plugin_glColor3us(GLushort red, GLushort green, GLushort blue);\nREGAL_DECL void REGAL_CALL plugin_glColor3usv(const GLushort *v);\nREGAL_DECL void REGAL_CALL plugin_glColor4b(GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha);\nREGAL_DECL void REGAL_CALL plugin_glColor4bv(const GLbyte *v);\nREGAL_DECL void REGAL_CALL plugin_glColor4d(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha);\nREGAL_DECL void REGAL_CALL plugin_glColor4dv(const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glColor4f(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);\nREGAL_DECL void REGAL_CALL plugin_glColor4fv(const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glColor4i(GLint red, GLint green, GLint blue, GLint alpha);\nREGAL_DECL void REGAL_CALL plugin_glColor4iv(const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glColor4s(GLshort red, GLshort green, GLshort blue, GLshort alpha);\nREGAL_DECL void REGAL_CALL plugin_glColor4sv(const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glColor4ub(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha);\nREGAL_DECL void REGAL_CALL plugin_glColor4ubv(const GLubyte *v);\nREGAL_DECL void REGAL_CALL plugin_glColor4ui(GLuint red, GLuint green, GLuint blue, GLuint alpha);\nREGAL_DECL void REGAL_CALL plugin_glColor4uiv(const GLuint *v);\nREGAL_DECL void REGAL_CALL plugin_glColor4us(GLushort red, GLushort green, GLushort blue, GLushort alpha);\nREGAL_DECL void REGAL_CALL plugin_glColor4usv(const GLushort *v);\nREGAL_DECL void REGAL_CALL plugin_glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);\nREGAL_DECL void REGAL_CALL plugin_glColorMaterial(GLenum face, GLenum mode);\nREGAL_DECL void REGAL_CALL plugin_glCopyPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum type);\nREGAL_DECL void REGAL_CALL plugin_glCullFace(GLenum mode);\nREGAL_DECL void REGAL_CALL plugin_glDeleteLists(GLuint list, GLsizei range);\nREGAL_DECL void REGAL_CALL plugin_glDepthFunc(GLenum func);\nREGAL_DECL void REGAL_CALL plugin_glDepthMask(GLboolean flag);\nREGAL_DECL void REGAL_CALL plugin_glDepthRange(GLclampd zNear, GLclampd zFar);\nREGAL_DECL void REGAL_CALL plugin_glDisable(GLenum cap);\nREGAL_DECL void REGAL_CALL plugin_glDrawBuffer(GLenum mode);\nREGAL_DECL void REGAL_CALL plugin_glDrawPixels(GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL plugin_glEdgeFlag(GLboolean flag);\nREGAL_DECL void REGAL_CALL plugin_glEdgeFlagv(const GLboolean *flag);\nREGAL_DECL void REGAL_CALL plugin_glEnable(GLenum cap);\nREGAL_DECL void REGAL_CALL plugin_glEnd(void);\nREGAL_DECL void REGAL_CALL plugin_glEndList(void);\nREGAL_DECL void REGAL_CALL plugin_glEvalCoord1d(GLdouble u);\nREGAL_DECL void REGAL_CALL plugin_glEvalCoord1dv(const GLdouble *u);\nREGAL_DECL void REGAL_CALL plugin_glEvalCoord1f(GLfloat u);\nREGAL_DECL void REGAL_CALL plugin_glEvalCoord1fv(const GLfloat *u);\nREGAL_DECL void REGAL_CALL plugin_glEvalCoord2d(GLdouble u, GLdouble v);\nREGAL_DECL void REGAL_CALL plugin_glEvalCoord2dv(const GLdouble *u);\nREGAL_DECL void REGAL_CALL plugin_glEvalCoord2f(GLfloat u, GLfloat v);\nREGAL_DECL void REGAL_CALL plugin_glEvalCoord2fv(const GLfloat *u);\nREGAL_DECL void REGAL_CALL plugin_glEvalMesh1(GLenum mode, GLint i1, GLint i2);\nREGAL_DECL void REGAL_CALL plugin_glEvalMesh2(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2);\nREGAL_DECL void REGAL_CALL plugin_glEvalPoint1(GLint i);\nREGAL_DECL void REGAL_CALL plugin_glEvalPoint2(GLint i, GLint j);\nREGAL_DECL void REGAL_CALL plugin_glFeedbackBuffer(GLsizei size, GLenum type, GLfloat *buffer);\nREGAL_DECL void REGAL_CALL plugin_glFinish(void);\nREGAL_DECL void REGAL_CALL plugin_glFlush(void);\nREGAL_DECL void REGAL_CALL plugin_glFogf(GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL plugin_glFogfv(GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glFogi(GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL plugin_glFogiv(GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glFrontFace(GLenum mode);\nREGAL_DECL void REGAL_CALL plugin_glFrustum(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);\nREGAL_DECL void REGAL_CALL plugin_glGetBooleanv(GLenum pname, GLboolean *params);\nREGAL_DECL void REGAL_CALL plugin_glGetClipPlane(GLenum plane, GLdouble *equation);\nREGAL_DECL void REGAL_CALL plugin_glGetDoublev(GLenum pname, GLdouble *params);\nREGAL_DECL void REGAL_CALL plugin_glGetFloatv(GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetIntegerv(GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetLightfv(GLenum light, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetLightiv(GLenum light, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetMapdv(GLenum target, GLenum query, GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glGetMapfv(GLenum target, GLenum query, GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glGetMapiv(GLenum target, GLenum query, GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glGetMaterialfv(GLenum face, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetMaterialiv(GLenum face, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetPixelMapfv(GLenum map, GLfloat *values);\nREGAL_DECL void REGAL_CALL plugin_glGetPixelMapuiv(GLenum map, GLuint *values);\nREGAL_DECL void REGAL_CALL plugin_glGetPixelMapusv(GLenum map, GLushort *values);\nREGAL_DECL void REGAL_CALL plugin_glGetPolygonStipple(GLubyte *mask);\nREGAL_DECL void REGAL_CALL plugin_glGetTexEnvfv(GLenum target, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetTexEnviv(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetTexGendv(GLenum coord, GLenum pname, GLdouble *params);\nREGAL_DECL void REGAL_CALL plugin_glGetTexGenfv(GLenum coord, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetTexGeniv(GLenum coord, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetTexImage(GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels);\nREGAL_DECL void REGAL_CALL plugin_glGetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetTexParameterfv(GLenum target, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetTexParameteriv(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glHint(GLenum target, GLenum mode);\nREGAL_DECL void REGAL_CALL plugin_glIndexMask(GLuint mask);\nREGAL_DECL void REGAL_CALL plugin_glIndexd(GLdouble c);\nREGAL_DECL void REGAL_CALL plugin_glIndexdv(const GLdouble *c);\nREGAL_DECL void REGAL_CALL plugin_glIndexf(GLfloat c);\nREGAL_DECL void REGAL_CALL plugin_glIndexfv(const GLfloat *c);\nREGAL_DECL void REGAL_CALL plugin_glIndexi(GLint c);\nREGAL_DECL void REGAL_CALL plugin_glIndexiv(const GLint *c);\nREGAL_DECL void REGAL_CALL plugin_glIndexs(GLshort c);\nREGAL_DECL void REGAL_CALL plugin_glIndexsv(const GLshort *c);\nREGAL_DECL void REGAL_CALL plugin_glInitNames(void);\nREGAL_DECL void REGAL_CALL plugin_glLightModelf(GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL plugin_glLightModelfv(GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glLightModeli(GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL plugin_glLightModeliv(GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glLightf(GLenum light, GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL plugin_glLightfv(GLenum light, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glLighti(GLenum light, GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL plugin_glLightiv(GLenum light, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glLineStipple(GLint factor, GLushort pattern);\nREGAL_DECL void REGAL_CALL plugin_glLineWidth(GLfloat width);\nREGAL_DECL void REGAL_CALL plugin_glListBase(GLuint base);\nREGAL_DECL void REGAL_CALL plugin_glLoadIdentity(void);\nREGAL_DECL void REGAL_CALL plugin_glLoadMatrixd(const GLdouble *m);\nREGAL_DECL void REGAL_CALL plugin_glLoadMatrixf(const GLfloat *m);\nREGAL_DECL void REGAL_CALL plugin_glLoadName(GLuint name);\nREGAL_DECL void REGAL_CALL plugin_glLogicOp(GLenum opcode);\nREGAL_DECL void REGAL_CALL plugin_glMap1d(GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points);\nREGAL_DECL void REGAL_CALL plugin_glMap1f(GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points);\nREGAL_DECL void REGAL_CALL plugin_glMap2d(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points);\nREGAL_DECL void REGAL_CALL plugin_glMap2f(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points);\nREGAL_DECL void REGAL_CALL plugin_glMapGrid1d(GLint un, GLdouble u1, GLdouble u2);\nREGAL_DECL void REGAL_CALL plugin_glMapGrid1f(GLint un, GLfloat u1, GLfloat u2);\nREGAL_DECL void REGAL_CALL plugin_glMapGrid2d(GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2);\nREGAL_DECL void REGAL_CALL plugin_glMapGrid2f(GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2);\nREGAL_DECL void REGAL_CALL plugin_glMaterialf(GLenum face, GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL plugin_glMaterialfv(GLenum face, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glMateriali(GLenum face, GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL plugin_glMaterialiv(GLenum face, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glMatrixMode(GLenum mode);\nREGAL_DECL void REGAL_CALL plugin_glMultMatrixd(const GLdouble *m);\nREGAL_DECL void REGAL_CALL plugin_glMultMatrixf(const GLfloat *m);\nREGAL_DECL void REGAL_CALL plugin_glNewList(GLuint list, GLenum mode);\nREGAL_DECL void REGAL_CALL plugin_glNormal3b(GLbyte nx, GLbyte ny, GLbyte nz);\nREGAL_DECL void REGAL_CALL plugin_glNormal3bv(const GLbyte *v);\nREGAL_DECL void REGAL_CALL plugin_glNormal3d(GLdouble nx, GLdouble ny, GLdouble nz);\nREGAL_DECL void REGAL_CALL plugin_glNormal3dv(const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glNormal3f(GLfloat nx, GLfloat ny, GLfloat nz);\nREGAL_DECL void REGAL_CALL plugin_glNormal3fv(const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glNormal3i(GLint nx, GLint ny, GLint nz);\nREGAL_DECL void REGAL_CALL plugin_glNormal3iv(const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glNormal3s(GLshort nx, GLshort ny, GLshort nz);\nREGAL_DECL void REGAL_CALL plugin_glNormal3sv(const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glOrtho(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);\nREGAL_DECL void REGAL_CALL plugin_glPassThrough(GLfloat token);\nREGAL_DECL void REGAL_CALL plugin_glPixelMapfv(GLenum map, GLsizei mapsize, const GLfloat *values);\nREGAL_DECL void REGAL_CALL plugin_glPixelMapuiv(GLenum map, GLsizei mapsize, const GLuint *values);\nREGAL_DECL void REGAL_CALL plugin_glPixelMapusv(GLenum map, GLsizei mapsize, const GLushort *values);\nREGAL_DECL void REGAL_CALL plugin_glPixelStoref(GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL plugin_glPixelStorei(GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL plugin_glPixelTransferf(GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL plugin_glPixelTransferi(GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL plugin_glPixelZoom(GLfloat xfactor, GLfloat yfactor);\nREGAL_DECL void REGAL_CALL plugin_glPointSize(GLfloat size);\nREGAL_DECL void REGAL_CALL plugin_glPolygonMode(GLenum face, GLenum mode);\nREGAL_DECL void REGAL_CALL plugin_glPolygonStipple(const GLubyte *mask);\nREGAL_DECL void REGAL_CALL plugin_glPopAttrib(void);\nREGAL_DECL void REGAL_CALL plugin_glPopMatrix(void);\nREGAL_DECL void REGAL_CALL plugin_glPopName(void);\nREGAL_DECL void REGAL_CALL plugin_glPushAttrib(GLbitfield mask);\nREGAL_DECL void REGAL_CALL plugin_glPushMatrix(void);\nREGAL_DECL void REGAL_CALL plugin_glPushName(GLuint name);\nREGAL_DECL void REGAL_CALL plugin_glRasterPos2d(GLdouble x, GLdouble y);\nREGAL_DECL void REGAL_CALL plugin_glRasterPos2dv(const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glRasterPos2f(GLfloat x, GLfloat y);\nREGAL_DECL void REGAL_CALL plugin_glRasterPos2fv(const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glRasterPos2i(GLint x, GLint y);\nREGAL_DECL void REGAL_CALL plugin_glRasterPos2iv(const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glRasterPos2s(GLshort x, GLshort y);\nREGAL_DECL void REGAL_CALL plugin_glRasterPos2sv(const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glRasterPos3d(GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL plugin_glRasterPos3dv(const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glRasterPos3f(GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL plugin_glRasterPos3fv(const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glRasterPos3i(GLint x, GLint y, GLint z);\nREGAL_DECL void REGAL_CALL plugin_glRasterPos3iv(const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glRasterPos3s(GLshort x, GLshort y, GLshort z);\nREGAL_DECL void REGAL_CALL plugin_glRasterPos3sv(const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glRasterPos4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nREGAL_DECL void REGAL_CALL plugin_glRasterPos4dv(const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glRasterPos4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nREGAL_DECL void REGAL_CALL plugin_glRasterPos4fv(const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glRasterPos4i(GLint x, GLint y, GLint z, GLint w);\nREGAL_DECL void REGAL_CALL plugin_glRasterPos4iv(const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glRasterPos4s(GLshort x, GLshort y, GLshort z, GLshort w);\nREGAL_DECL void REGAL_CALL plugin_glRasterPos4sv(const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glReadBuffer(GLenum mode);\nREGAL_DECL void REGAL_CALL plugin_glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels);\nREGAL_DECL void REGAL_CALL plugin_glRectd(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2);\nREGAL_DECL void REGAL_CALL plugin_glRectdv(const GLdouble *v1, const GLdouble *v2);\nREGAL_DECL void REGAL_CALL plugin_glRectf(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2);\nREGAL_DECL void REGAL_CALL plugin_glRectfv(const GLfloat *v1, const GLfloat *v2);\nREGAL_DECL void REGAL_CALL plugin_glRecti(GLint x1, GLint y1, GLint x2, GLint y2);\nREGAL_DECL void REGAL_CALL plugin_glRectiv(const GLint *v1, const GLint *v2);\nREGAL_DECL void REGAL_CALL plugin_glRects(GLshort x1, GLshort y1, GLshort x2, GLshort y2);\nREGAL_DECL void REGAL_CALL plugin_glRectsv(const GLshort *v1, const GLshort *v2);\nREGAL_DECL void REGAL_CALL plugin_glRotated(GLdouble angle, GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL plugin_glRotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL plugin_glScaled(GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL plugin_glScalef(GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL plugin_glScissor(GLint x, GLint y, GLsizei width, GLsizei height);\nREGAL_DECL void REGAL_CALL plugin_glSelectBuffer(GLsizei size, GLuint *buffer);\nREGAL_DECL void REGAL_CALL plugin_glShadeModel(GLenum mode);\nREGAL_DECL void REGAL_CALL plugin_glStencilFunc(GLenum func, GLint ref, GLuint mask);\nREGAL_DECL void REGAL_CALL plugin_glStencilMask(GLuint mask);\nREGAL_DECL void REGAL_CALL plugin_glStencilOp(GLenum fail, GLenum zfail, GLenum zpass);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord1d(GLdouble s);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord1dv(const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord1f(GLfloat s);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord1fv(const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord1i(GLint s);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord1iv(const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord1s(GLshort s);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord1sv(const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord2d(GLdouble s, GLdouble t);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord2dv(const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord2f(GLfloat s, GLfloat t);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord2fv(const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord2i(GLint s, GLint t);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord2iv(const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord2s(GLshort s, GLshort t);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord2sv(const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord3d(GLdouble s, GLdouble t, GLdouble r);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord3dv(const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord3f(GLfloat s, GLfloat t, GLfloat r);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord3fv(const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord3i(GLint s, GLint t, GLint r);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord3iv(const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord3s(GLshort s, GLshort t, GLshort r);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord3sv(const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord4d(GLdouble s, GLdouble t, GLdouble r, GLdouble q);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord4dv(const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord4f(GLfloat s, GLfloat t, GLfloat r, GLfloat q);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord4fv(const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord4i(GLint s, GLint t, GLint r, GLint q);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord4iv(const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord4s(GLshort s, GLshort t, GLshort r, GLshort q);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord4sv(const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glTexEnvf(GLenum target, GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL plugin_glTexEnvfv(GLenum target, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glTexEnvi(GLenum target, GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL plugin_glTexEnviv(GLenum target, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glTexGend(GLenum coord, GLenum pname, GLdouble param);\nREGAL_DECL void REGAL_CALL plugin_glTexGendv(GLenum coord, GLenum pname, const GLdouble *params);\nREGAL_DECL void REGAL_CALL plugin_glTexGenf(GLenum coord, GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL plugin_glTexGenfv(GLenum coord, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glTexGeni(GLenum coord, GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL plugin_glTexGeniv(GLenum coord, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glTexImage1D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL plugin_glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL plugin_glTexParameterf(GLenum target, GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL plugin_glTexParameterfv(GLenum target, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glTexParameteri(GLenum target, GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL plugin_glTexParameteriv(GLenum target, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glTranslated(GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL plugin_glTranslatef(GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL plugin_glVertex2d(GLdouble x, GLdouble y);\nREGAL_DECL void REGAL_CALL plugin_glVertex2dv(const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glVertex2f(GLfloat x, GLfloat y);\nREGAL_DECL void REGAL_CALL plugin_glVertex2fv(const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glVertex2i(GLint x, GLint y);\nREGAL_DECL void REGAL_CALL plugin_glVertex2iv(const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glVertex2s(GLshort x, GLshort y);\nREGAL_DECL void REGAL_CALL plugin_glVertex2sv(const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glVertex3d(GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL plugin_glVertex3dv(const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glVertex3f(GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL plugin_glVertex3fv(const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glVertex3i(GLint x, GLint y, GLint z);\nREGAL_DECL void REGAL_CALL plugin_glVertex3iv(const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glVertex3s(GLshort x, GLshort y, GLshort z);\nREGAL_DECL void REGAL_CALL plugin_glVertex3sv(const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glVertex4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nREGAL_DECL void REGAL_CALL plugin_glVertex4dv(const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glVertex4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nREGAL_DECL void REGAL_CALL plugin_glVertex4fv(const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glVertex4i(GLint x, GLint y, GLint z, GLint w);\nREGAL_DECL void REGAL_CALL plugin_glVertex4iv(const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glVertex4s(GLshort x, GLshort y, GLshort z, GLshort w);\nREGAL_DECL void REGAL_CALL plugin_glVertex4sv(const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glViewport(GLint x, GLint y, GLsizei width, GLsizei height);\n#endif\n\n/**\n ** GL_VERSION_1_1\n **/\n\n#if (defined(GL_VERSION_1_1) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_VERSION_1_1)) && !defined(REGAL_NO_ENUM_GL_VERSION_1_1)\n#define REGAL_NO_ENUM_GL_VERSION_1_1\n#endif\n\n#if (defined(GL_VERSION_1_1) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_VERSION_1_1)) && !defined(REGAL_NO_TYPEDEF_GL_VERSION_1_1)\n#define REGAL_NO_TYPEDEF_GL_VERSION_1_1\n#endif\n\n#if (defined(GL_VERSION_1_1) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_VERSION_1_1)) && !defined(REGAL_NO_NAMESPACE_GL_VERSION_1_1)\n#define REGAL_NO_NAMESPACE_GL_VERSION_1_1\n#endif\n\n#if (defined(GL_VERSION_1_1) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_VERSION_1_1)) && !defined(REGAL_NO_PLUGIN_GL_VERSION_1_1)\n#define REGAL_NO_PLUGIN_GL_VERSION_1_1\n#endif\n\n#if (defined(GL_VERSION_1_1) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_VERSION_1_1)) && !defined(REGAL_NO_DECLARATION_GL_VERSION_1_1)\n#define REGAL_NO_DECLARATION_GL_VERSION_1_1\n#endif\n\n#ifndef GL_VERSION_1_1\n#define GL_VERSION_1_1 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_VERSION_1_1\n#define GL_FALSE                         0x0\n#define GL_NONE                          0x0\n#define GL_NO_ERROR                      0x0\n#define GL_POINTS                        0x0\n#define GL_ZERO                          0x0\n#define GL_CLIENT_PIXEL_STORE_BIT        0x1\n#define GL_CURRENT_BIT                   0x1\n#define GL_LINES                         0x1\n#define GL_ONE                           0x1\n#define GL_TRUE                          0x1\n#define GL_POLYGON_STIPPLE_BIT           0x10                           /* 16 */\n#define GL_ACCUM                         0x100                          /* 256 */\n#define GL_DEPTH_BUFFER_BIT              0x100                          /* 256 */\n#define GL_TEXTURE_WIDTH                 0x1000                         /* 4096 */\n#define GL_TRANSFORM_BIT                 0x1000                         /* 4096 */\n#define GL_EVAL_BIT                      0x10000                        /* 65536 */\n#define GL_TEXTURE_HEIGHT                0x1001                         /* 4097 */\n#define GL_TEXTURE_INTERNAL_FORMAT       0x1003                         /* 4099 */\n#define GL_TEXTURE_BORDER_COLOR          0x1004                         /* 4100 */\n#define GL_TEXTURE_BORDER                0x1005                         /* 4101 */\n#define GL_LOAD                          0x101                          /* 257 */\n#define GL_RETURN                        0x102                          /* 258 */\n#define GL_MULT                          0x103                          /* 259 */\n#define GL_ADD                           0x104                          /* 260 */\n#define GL_DONT_CARE                     0x1100                         /* 4352 */\n#define GL_FASTEST                       0x1101                         /* 4353 */\n#define GL_NICEST                        0x1102                         /* 4354 */\n#define GL_AMBIENT                       0x1200                         /* 4608 */\n#define GL_DIFFUSE                       0x1201                         /* 4609 */\n#define GL_SPECULAR                      0x1202                         /* 4610 */\n#define GL_POSITION                      0x1203                         /* 4611 */\n#define GL_SPOT_DIRECTION                0x1204                         /* 4612 */\n#define GL_SPOT_EXPONENT                 0x1205                         /* 4613 */\n#define GL_SPOT_CUTOFF                   0x1206                         /* 4614 */\n#define GL_CONSTANT_ATTENUATION          0x1207                         /* 4615 */\n#define GL_LINEAR_ATTENUATION            0x1208                         /* 4616 */\n#define GL_QUADRATIC_ATTENUATION         0x1209                         /* 4617 */\n#define GL_COMPILE                       0x1300                         /* 4864 */\n#define GL_COMPILE_AND_EXECUTE           0x1301                         /* 4865 */\n#define GL_BYTE                          0x1400                         /* 5120 */\n#define GL_UNSIGNED_BYTE                 0x1401                         /* 5121 */\n#define GL_SHORT                         0x1402                         /* 5122 */\n#define GL_UNSIGNED_SHORT                0x1403                         /* 5123 */\n#define GL_INT                           0x1404                         /* 5124 */\n#define GL_UNSIGNED_INT                  0x1405                         /* 5125 */\n#define GL_FLOAT                         0x1406                         /* 5126 */\n#define GL_2_BYTES                       0x1407                         /* 5127 */\n#define GL_3_BYTES                       0x1408                         /* 5128 */\n#define GL_4_BYTES                       0x1409                         /* 5129 */\n#define GL_DOUBLE                        0x140a                         /* 5130 */\n#define GL_CLEAR                         0x1500                         /* 5376 */\n#define GL_AND                           0x1501                         /* 5377 */\n#define GL_AND_REVERSE                   0x1502                         /* 5378 */\n#define GL_COPY                          0x1503                         /* 5379 */\n#define GL_AND_INVERTED                  0x1504                         /* 5380 */\n#define GL_NOOP                          0x1505                         /* 5381 */\n#define GL_XOR                           0x1506                         /* 5382 */\n#define GL_OR                            0x1507                         /* 5383 */\n#define GL_NOR                           0x1508                         /* 5384 */\n#define GL_EQUIV                         0x1509                         /* 5385 */\n#define GL_INVERT                        0x150a                         /* 5386 */\n#define GL_OR_REVERSE                    0x150b                         /* 5387 */\n#define GL_COPY_INVERTED                 0x150c                         /* 5388 */\n#define GL_OR_INVERTED                   0x150d                         /* 5389 */\n#define GL_NAND                          0x150e                         /* 5390 */\n#define GL_SET                           0x150f                         /* 5391 */\n#define GL_EMISSION                      0x1600                         /* 5632 */\n#define GL_SHININESS                     0x1601                         /* 5633 */\n#define GL_AMBIENT_AND_DIFFUSE           0x1602                         /* 5634 */\n#define GL_COLOR_INDEXES                 0x1603                         /* 5635 */\n#define GL_MODELVIEW                     0x1700                         /* 5888 */\n#define GL_PROJECTION                    0x1701                         /* 5889 */\n#define GL_TEXTURE                       0x1702                         /* 5890 */\n#define GL_COLOR                         0x1800                         /* 6144 */\n#define GL_DEPTH                         0x1801                         /* 6145 */\n#define GL_STENCIL                       0x1802                         /* 6146 */\n#define GL_COLOR_INDEX                   0x1900                         /* 6400 */\n#define GL_STENCIL_INDEX                 0x1901                         /* 6401 */\n#define GL_DEPTH_COMPONENT               0x1902                         /* 6402 */\n#define GL_RED                           0x1903                         /* 6403 */\n#define GL_GREEN                         0x1904                         /* 6404 */\n#define GL_BLUE                          0x1905                         /* 6405 */\n#define GL_ALPHA                         0x1906                         /* 6406 */\n#define GL_RGB                           0x1907                         /* 6407 */\n#define GL_RGBA                          0x1908                         /* 6408 */\n#define GL_LUMINANCE                     0x1909                         /* 6409 */\n#define GL_LUMINANCE_ALPHA               0x190a                         /* 6410 */\n#define GL_BITMAP                        0x1a00                         /* 6656 */\n#define GL_POINT                         0x1b00                         /* 6912 */\n#define GL_LINE                          0x1b01                         /* 6913 */\n#define GL_FILL                          0x1b02                         /* 6914 */\n#define GL_RENDER                        0x1c00                         /* 7168 */\n#define GL_FEEDBACK                      0x1c01                         /* 7169 */\n#define GL_SELECT                        0x1c02                         /* 7170 */\n#define GL_FLAT                          0x1d00                         /* 7424 */\n#define GL_SMOOTH                        0x1d01                         /* 7425 */\n#define GL_KEEP                          0x1e00                         /* 7680 */\n#define GL_REPLACE                       0x1e01                         /* 7681 */\n#define GL_INCR                          0x1e02                         /* 7682 */\n#define GL_DECR                          0x1e03                         /* 7683 */\n#define GL_VENDOR                        0x1f00                         /* 7936 */\n#define GL_RENDERER                      0x1f01                         /* 7937 */\n#define GL_VERSION                       0x1f02                         /* 7938 */\n#define GL_EXTENSIONS                    0x1f03                         /* 7939 */\n#define GL_CLIENT_VERTEX_ARRAY_BIT       0x2\n#define GL_LINE_LOOP                     0x2\n#define GL_POINT_BIT                     0x2\n#define GL_PIXEL_MODE_BIT                0x20                           /* 32 */\n#define GL_ACCUM_BUFFER_BIT              0x200                          /* 512 */\n#define GL_NEVER                         0x200                          /* 512 */\n#define GL_ENABLE_BIT                    0x2000                         /* 8192 */\n#define GL_S                             0x2000                         /* 8192 */\n#define GL_LIST_BIT                      0x20000                        /* 131072 */\n#define GL_T                             0x2001                         /* 8193 */\n#define GL_R                             0x2002                         /* 8194 */\n#define GL_Q                             0x2003                         /* 8195 */\n#define GL_LESS                          0x201                          /* 513 */\n#define GL_EQUAL                         0x202                          /* 514 */\n#define GL_LEQUAL                        0x203                          /* 515 */\n#define GL_GREATER                       0x204                          /* 516 */\n#define GL_NOTEQUAL                      0x205                          /* 517 */\n#define GL_GEQUAL                        0x206                          /* 518 */\n#define GL_ALWAYS                        0x207                          /* 519 */\n#define GL_MODULATE                      0x2100                         /* 8448 */\n#define GL_DECAL                         0x2101                         /* 8449 */\n#define GL_TEXTURE_ENV_MODE              0x2200                         /* 8704 */\n#define GL_TEXTURE_ENV_COLOR             0x2201                         /* 8705 */\n#define GL_TEXTURE_ENV                   0x2300                         /* 8960 */\n#define GL_EYE_LINEAR                    0x2400                         /* 9216 */\n#define GL_OBJECT_LINEAR                 0x2401                         /* 9217 */\n#define GL_SPHERE_MAP                    0x2402                         /* 9218 */\n#define GL_TEXTURE_GEN_MODE              0x2500                         /* 9472 */\n#define GL_OBJECT_PLANE                  0x2501                         /* 9473 */\n#define GL_EYE_PLANE                     0x2502                         /* 9474 */\n#define GL_NEAREST                       0x2600                         /* 9728 */\n#define GL_LINEAR                        0x2601                         /* 9729 */\n#define GL_NEAREST_MIPMAP_NEAREST        0x2700                         /* 9984 */\n#define GL_LINEAR_MIPMAP_NEAREST         0x2701                         /* 9985 */\n#define GL_NEAREST_MIPMAP_LINEAR         0x2702                         /* 9986 */\n#define GL_LINEAR_MIPMAP_LINEAR          0x2703                         /* 9987 */\n#define GL_TEXTURE_MAG_FILTER            0x2800                         /* 10240 */\n#define GL_TEXTURE_MIN_FILTER            0x2801                         /* 10241 */\n#define GL_TEXTURE_WRAP_S                0x2802                         /* 10242 */\n#define GL_TEXTURE_WRAP_T                0x2803                         /* 10243 */\n#define GL_CLAMP                         0x2900                         /* 10496 */\n#define GL_REPEAT                        0x2901                         /* 10497 */\n#define GL_POLYGON_OFFSET_UNITS          0x2a00                         /* 10752 */\n#define GL_POLYGON_OFFSET_POINT          0x2a01                         /* 10753 */\n#define GL_POLYGON_OFFSET_LINE           0x2a02                         /* 10754 */\n#define GL_R3_G3_B2                      0x2a10                         /* 10768 */\n#define GL_V2F                           0x2a20                         /* 10784 */\n#define GL_V3F                           0x2a21                         /* 10785 */\n#define GL_C4UB_V2F                      0x2a22                         /* 10786 */\n#define GL_C4UB_V3F                      0x2a23                         /* 10787 */\n#define GL_C3F_V3F                       0x2a24                         /* 10788 */\n#define GL_N3F_V3F                       0x2a25                         /* 10789 */\n#define GL_C4F_N3F_V3F                   0x2a26                         /* 10790 */\n#define GL_T2F_V3F                       0x2a27                         /* 10791 */\n#define GL_T4F_V4F                       0x2a28                         /* 10792 */\n#define GL_T2F_C4UB_V3F                  0x2a29                         /* 10793 */\n#define GL_T2F_C3F_V3F                   0x2a2a                         /* 10794 */\n#define GL_T2F_N3F_V3F                   0x2a2b                         /* 10795 */\n#define GL_T2F_C4F_N3F_V3F               0x2a2c                         /* 10796 */\n#define GL_T4F_C4F_N3F_V4F               0x2a2d                         /* 10797 */\n#define GL_LINE_STRIP                    0x3\n#define GL_SRC_COLOR                     0x300                          /* 768 */\n#define GL_CLIP_PLANE0                   0x3000                         /* 12288 */\n#define GL_CLIP_PLANE1                   0x3001                         /* 12289 */\n#define GL_CLIP_PLANE2                   0x3002                         /* 12290 */\n#define GL_CLIP_PLANE3                   0x3003                         /* 12291 */\n#define GL_CLIP_PLANE4                   0x3004                         /* 12292 */\n#define GL_CLIP_PLANE5                   0x3005                         /* 12293 */\n#define GL_CLIP_PLANE6                   0x3006                         /* 12294 */\n#define GL_CLIP_PLANE7                   0x3007                         /* 12295 */\n#define GL_ONE_MINUS_SRC_COLOR           0x301                          /* 769 */\n#define GL_SRC_ALPHA                     0x302                          /* 770 */\n#define GL_ONE_MINUS_SRC_ALPHA           0x303                          /* 771 */\n#define GL_DST_ALPHA                     0x304                          /* 772 */\n#define GL_ONE_MINUS_DST_ALPHA           0x305                          /* 773 */\n#define GL_DST_COLOR                     0x306                          /* 774 */\n#define GL_ONE_MINUS_DST_COLOR           0x307                          /* 775 */\n#define GL_SRC_ALPHA_SATURATE            0x308                          /* 776 */\n#define GL_LINE_BIT                      0x4\n#define GL_TRIANGLES                     0x4\n#define GL_LIGHTING_BIT                  0x40                           /* 64 */\n#define GL_FRONT_LEFT                    0x400                          /* 1024 */\n#define GL_STENCIL_BUFFER_BIT            0x400                          /* 1024 */\n#define GL_COLOR_BUFFER_BIT              0x4000                         /* 16384 */\n#define GL_LIGHT0                        0x4000                         /* 16384 */\n#define GL_TEXTURE_BIT                   0x40000                        /* 262144 */\n#define GL_LIGHT1                        0x4001                         /* 16385 */\n#define GL_LIGHT2                        0x4002                         /* 16386 */\n#define GL_LIGHT3                        0x4003                         /* 16387 */\n#define GL_LIGHT4                        0x4004                         /* 16388 */\n#define GL_LIGHT5                        0x4005                         /* 16389 */\n#define GL_LIGHT6                        0x4006                         /* 16390 */\n#define GL_LIGHT7                        0x4007                         /* 16391 */\n#define GL_FRONT_RIGHT                   0x401                          /* 1025 */\n#define GL_BACK_LEFT                     0x402                          /* 1026 */\n#define GL_BACK_RIGHT                    0x403                          /* 1027 */\n#define GL_FRONT                         0x404                          /* 1028 */\n#define GL_BACK                          0x405                          /* 1029 */\n#define GL_LEFT                          0x406                          /* 1030 */\n#define GL_RIGHT                         0x407                          /* 1031 */\n#define GL_FRONT_AND_BACK                0x408                          /* 1032 */\n#define GL_AUX0                          0x409                          /* 1033 */\n#define GL_AUX1                          0x40a                          /* 1034 */\n#define GL_AUX2                          0x40b                          /* 1035 */\n#define GL_AUX3                          0x40c                          /* 1036 */\n#define GL_TRIANGLE_STRIP                0x5\n#define GL_INVALID_ENUM                  0x500                          /* 1280 */\n#define GL_INVALID_VALUE                 0x501                          /* 1281 */\n#define GL_INVALID_OPERATION             0x502                          /* 1282 */\n#define GL_STACK_OVERFLOW                0x503                          /* 1283 */\n#define GL_STACK_UNDERFLOW               0x504                          /* 1284 */\n#define GL_OUT_OF_MEMORY                 0x505                          /* 1285 */\n#define GL_TRIANGLE_FAN                  0x6\n#define GL_2D                            0x600                          /* 1536 */\n#define GL_3D                            0x601                          /* 1537 */\n#define GL_3D_COLOR                      0x602                          /* 1538 */\n#define GL_3D_COLOR_TEXTURE              0x603                          /* 1539 */\n#define GL_4D_COLOR_TEXTURE              0x604                          /* 1540 */\n#define GL_QUADS                         0x7\n#define GL_PASS_THROUGH_TOKEN            0x700                          /* 1792 */\n#define GL_POINT_TOKEN                   0x701                          /* 1793 */\n#define GL_LINE_TOKEN                    0x702                          /* 1794 */\n#define GL_POLYGON_TOKEN                 0x703                          /* 1795 */\n#define GL_BITMAP_TOKEN                  0x704                          /* 1796 */\n#define GL_DRAW_PIXEL_TOKEN              0x705                          /* 1797 */\n#define GL_COPY_PIXEL_TOKEN              0x706                          /* 1798 */\n#define GL_LINE_RESET_TOKEN              0x707                          /* 1799 */\n#define GL_POLYGON_BIT                   0x8\n#define GL_QUAD_STRIP                    0x8\n#define GL_FOG_BIT                       0x80                           /* 128 */\n#define GL_EXP                           0x800                          /* 2048 */\n#define GL_VIEWPORT_BIT                  0x800                          /* 2048 */\n#define GL_HINT_BIT                      0x8000                         /* 32768 */\n#define GL_SCISSOR_BIT                   0x80000                        /* 524288 */\n#define GL_EXP2                          0x801                          /* 2049 */\n#define GL_POLYGON_OFFSET_FILL           0x8037                         /* 32823 */\n#define GL_POLYGON_OFFSET_FACTOR         0x8038                         /* 32824 */\n#define GL_ALPHA4                        0x803b                         /* 32827 */\n#define GL_ALPHA8                        0x803c                         /* 32828 */\n#define GL_ALPHA12                       0x803d                         /* 32829 */\n#define GL_ALPHA16                       0x803e                         /* 32830 */\n#define GL_LUMINANCE4                    0x803f                         /* 32831 */\n#define GL_LUMINANCE8                    0x8040                         /* 32832 */\n#define GL_LUMINANCE12                   0x8041                         /* 32833 */\n#define GL_LUMINANCE16                   0x8042                         /* 32834 */\n#define GL_LUMINANCE4_ALPHA4             0x8043                         /* 32835 */\n#define GL_LUMINANCE6_ALPHA2             0x8044                         /* 32836 */\n#define GL_LUMINANCE8_ALPHA8             0x8045                         /* 32837 */\n#define GL_LUMINANCE12_ALPHA4            0x8046                         /* 32838 */\n#define GL_LUMINANCE12_ALPHA12           0x8047                         /* 32839 */\n#define GL_LUMINANCE16_ALPHA16           0x8048                         /* 32840 */\n#define GL_INTENSITY                     0x8049                         /* 32841 */\n#define GL_INTENSITY4                    0x804a                         /* 32842 */\n#define GL_INTENSITY8                    0x804b                         /* 32843 */\n#define GL_INTENSITY12                   0x804c                         /* 32844 */\n#define GL_INTENSITY16                   0x804d                         /* 32845 */\n#define GL_RGB4                          0x804f                         /* 32847 */\n#define GL_RGB5                          0x8050                         /* 32848 */\n#define GL_RGB8                          0x8051                         /* 32849 */\n#define GL_RGB10                         0x8052                         /* 32850 */\n#define GL_RGB12                         0x8053                         /* 32851 */\n#define GL_RGB16                         0x8054                         /* 32852 */\n#define GL_RGBA2                         0x8055                         /* 32853 */\n#define GL_RGBA4                         0x8056                         /* 32854 */\n#define GL_RGB5_A1                       0x8057                         /* 32855 */\n#define GL_RGBA8                         0x8058                         /* 32856 */\n#define GL_RGB10_A2                      0x8059                         /* 32857 */\n#define GL_RGBA12                        0x805a                         /* 32858 */\n#define GL_RGBA16                        0x805b                         /* 32859 */\n#define GL_TEXTURE_RED_SIZE              0x805c                         /* 32860 */\n#define GL_TEXTURE_GREEN_SIZE            0x805d                         /* 32861 */\n#define GL_TEXTURE_BLUE_SIZE             0x805e                         /* 32862 */\n#define GL_TEXTURE_ALPHA_SIZE            0x805f                         /* 32863 */\n#define GL_TEXTURE_LUMINANCE_SIZE        0x8060                         /* 32864 */\n#define GL_TEXTURE_INTENSITY_SIZE        0x8061                         /* 32865 */\n#define GL_PROXY_TEXTURE_1D              0x8063                         /* 32867 */\n#define GL_PROXY_TEXTURE_2D              0x8064                         /* 32868 */\n#define GL_TEXTURE_PRIORITY              0x8066                         /* 32870 */\n#define GL_TEXTURE_RESIDENT              0x8067                         /* 32871 */\n#define GL_TEXTURE_BINDING_1D            0x8068                         /* 32872 */\n#define GL_TEXTURE_BINDING_2D            0x8069                         /* 32873 */\n#define GL_VERTEX_ARRAY                  0x8074                         /* 32884 */\n#define GL_NORMAL_ARRAY                  0x8075                         /* 32885 */\n#define GL_COLOR_ARRAY                   0x8076                         /* 32886 */\n#define GL_INDEX_ARRAY                   0x8077                         /* 32887 */\n#define GL_TEXTURE_COORD_ARRAY           0x8078                         /* 32888 */\n#define GL_EDGE_FLAG_ARRAY               0x8079                         /* 32889 */\n#define GL_VERTEX_ARRAY_SIZE             0x807a                         /* 32890 */\n#define GL_VERTEX_ARRAY_TYPE             0x807b                         /* 32891 */\n#define GL_VERTEX_ARRAY_STRIDE           0x807c                         /* 32892 */\n#define GL_NORMAL_ARRAY_TYPE             0x807e                         /* 32894 */\n#define GL_NORMAL_ARRAY_STRIDE           0x807f                         /* 32895 */\n#define GL_COLOR_ARRAY_SIZE              0x8081                         /* 32897 */\n#define GL_COLOR_ARRAY_TYPE              0x8082                         /* 32898 */\n#define GL_COLOR_ARRAY_STRIDE            0x8083                         /* 32899 */\n#define GL_INDEX_ARRAY_TYPE              0x8085                         /* 32901 */\n#define GL_INDEX_ARRAY_STRIDE            0x8086                         /* 32902 */\n#define GL_TEXTURE_COORD_ARRAY_SIZE      0x8088                         /* 32904 */\n#define GL_TEXTURE_COORD_ARRAY_TYPE      0x8089                         /* 32905 */\n#define GL_TEXTURE_COORD_ARRAY_STRIDE    0x808a                         /* 32906 */\n#define GL_EDGE_FLAG_ARRAY_STRIDE        0x808c                         /* 32908 */\n#define GL_VERTEX_ARRAY_POINTER          0x808e                         /* 32910 */\n#define GL_NORMAL_ARRAY_POINTER          0x808f                         /* 32911 */\n#define GL_COLOR_ARRAY_POINTER           0x8090                         /* 32912 */\n#define GL_INDEX_ARRAY_POINTER           0x8091                         /* 32913 */\n#define GL_TEXTURE_COORD_ARRAY_POINTER   0x8092                         /* 32914 */\n#define GL_EDGE_FLAG_ARRAY_POINTER       0x8093                         /* 32915 */\n#define GL_POLYGON                       0x9\n#define GL_CW                            0x900                          /* 2304 */\n#define GL_CCW                           0x901                          /* 2305 */\n#define GL_COEFF                         0xa00                          /* 2560 */\n#define GL_ORDER                         0xa01                          /* 2561 */\n#define GL_DOMAIN                        0xa02                          /* 2562 */\n#define GL_CURRENT_COLOR                 0xb00                          /* 2816 */\n#define GL_CURRENT_INDEX                 0xb01                          /* 2817 */\n#define GL_CURRENT_NORMAL                0xb02                          /* 2818 */\n#define GL_CURRENT_TEXTURE_COORDS        0xb03                          /* 2819 */\n#define GL_CURRENT_RASTER_COLOR          0xb04                          /* 2820 */\n#define GL_CURRENT_RASTER_INDEX          0xb05                          /* 2821 */\n#define GL_CURRENT_RASTER_TEXTURE_COORDS 0xb06                          /* 2822 */\n#define GL_CURRENT_RASTER_POSITION       0xb07                          /* 2823 */\n#define GL_CURRENT_RASTER_POSITION_VALID 0xb08                          /* 2824 */\n#define GL_CURRENT_RASTER_DISTANCE       0xb09                          /* 2825 */\n#define GL_POINT_SMOOTH                  0xb10                          /* 2832 */\n#define GL_POINT_SIZE                    0xb11                          /* 2833 */\n#define GL_POINT_SIZE_RANGE              0xb12                          /* 2834 */\n#define GL_POINT_SIZE_GRANULARITY        0xb13                          /* 2835 */\n#define GL_LINE_SMOOTH                   0xb20                          /* 2848 */\n#define GL_LINE_WIDTH                    0xb21                          /* 2849 */\n#define GL_LINE_WIDTH_RANGE              0xb22                          /* 2850 */\n#define GL_LINE_WIDTH_GRANULARITY        0xb23                          /* 2851 */\n#define GL_LINE_STIPPLE                  0xb24                          /* 2852 */\n#define GL_LINE_STIPPLE_PATTERN          0xb25                          /* 2853 */\n#define GL_LINE_STIPPLE_REPEAT           0xb26                          /* 2854 */\n#define GL_LIST_MODE                     0xb30                          /* 2864 */\n#define GL_MAX_LIST_NESTING              0xb31                          /* 2865 */\n#define GL_LIST_BASE                     0xb32                          /* 2866 */\n#define GL_LIST_INDEX                    0xb33                          /* 2867 */\n#define GL_POLYGON_MODE                  0xb40                          /* 2880 */\n#define GL_POLYGON_SMOOTH                0xb41                          /* 2881 */\n#define GL_POLYGON_STIPPLE               0xb42                          /* 2882 */\n#define GL_EDGE_FLAG                     0xb43                          /* 2883 */\n#define GL_CULL_FACE                     0xb44                          /* 2884 */\n#define GL_CULL_FACE_MODE                0xb45                          /* 2885 */\n#define GL_FRONT_FACE                    0xb46                          /* 2886 */\n#define GL_LIGHTING                      0xb50                          /* 2896 */\n#define GL_LIGHT_MODEL_LOCAL_VIEWER      0xb51                          /* 2897 */\n#define GL_LIGHT_MODEL_TWO_SIDE          0xb52                          /* 2898 */\n#define GL_LIGHT_MODEL_AMBIENT           0xb53                          /* 2899 */\n#define GL_SHADE_MODEL                   0xb54                          /* 2900 */\n#define GL_COLOR_MATERIAL_FACE           0xb55                          /* 2901 */\n#define GL_COLOR_MATERIAL_PARAMETER      0xb56                          /* 2902 */\n#define GL_COLOR_MATERIAL                0xb57                          /* 2903 */\n#define GL_FOG                           0xb60                          /* 2912 */\n#define GL_FOG_INDEX                     0xb61                          /* 2913 */\n#define GL_FOG_DENSITY                   0xb62                          /* 2914 */\n#define GL_FOG_START                     0xb63                          /* 2915 */\n#define GL_FOG_END                       0xb64                          /* 2916 */\n#define GL_FOG_MODE                      0xb65                          /* 2917 */\n#define GL_FOG_COLOR                     0xb66                          /* 2918 */\n#define GL_DEPTH_RANGE                   0xb70                          /* 2928 */\n#define GL_DEPTH_TEST                    0xb71                          /* 2929 */\n#define GL_DEPTH_WRITEMASK               0xb72                          /* 2930 */\n#define GL_DEPTH_CLEAR_VALUE             0xb73                          /* 2931 */\n#define GL_DEPTH_FUNC                    0xb74                          /* 2932 */\n#define GL_ACCUM_CLEAR_VALUE             0xb80                          /* 2944 */\n#define GL_STENCIL_TEST                  0xb90                          /* 2960 */\n#define GL_STENCIL_CLEAR_VALUE           0xb91                          /* 2961 */\n#define GL_STENCIL_FUNC                  0xb92                          /* 2962 */\n#define GL_STENCIL_VALUE_MASK            0xb93                          /* 2963 */\n#define GL_STENCIL_FAIL                  0xb94                          /* 2964 */\n#define GL_STENCIL_PASS_DEPTH_FAIL       0xb95                          /* 2965 */\n#define GL_STENCIL_PASS_DEPTH_PASS       0xb96                          /* 2966 */\n#define GL_STENCIL_REF                   0xb97                          /* 2967 */\n#define GL_STENCIL_WRITEMASK             0xb98                          /* 2968 */\n#define GL_MATRIX_MODE                   0xba0                          /* 2976 */\n#define GL_NORMALIZE                     0xba1                          /* 2977 */\n#define GL_VIEWPORT                      0xba2                          /* 2978 */\n#define GL_MODELVIEW_STACK_DEPTH         0xba3                          /* 2979 */\n#define GL_PROJECTION_STACK_DEPTH        0xba4                          /* 2980 */\n#define GL_TEXTURE_STACK_DEPTH           0xba5                          /* 2981 */\n#define GL_MODELVIEW_MATRIX              0xba6                          /* 2982 */\n#define GL_PROJECTION_MATRIX             0xba7                          /* 2983 */\n#define GL_TEXTURE_MATRIX                0xba8                          /* 2984 */\n#define GL_ATTRIB_STACK_DEPTH            0xbb0                          /* 2992 */\n#define GL_CLIENT_ATTRIB_STACK_DEPTH     0xbb1                          /* 2993 */\n#define GL_ALPHA_TEST                    0xbc0                          /* 3008 */\n#define GL_ALPHA_TEST_FUNC               0xbc1                          /* 3009 */\n#define GL_ALPHA_TEST_REF                0xbc2                          /* 3010 */\n#define GL_DITHER                        0xbd0                          /* 3024 */\n#define GL_BLEND_DST                     0xbe0                          /* 3040 */\n#define GL_BLEND_SRC                     0xbe1                          /* 3041 */\n#define GL_BLEND                         0xbe2                          /* 3042 */\n#define GL_LOGIC_OP_MODE                 0xbf0                          /* 3056 */\n#define GL_INDEX_LOGIC_OP                0xbf1                          /* 3057 */\n#define GL_COLOR_LOGIC_OP                0xbf2                          /* 3058 */\n#define GL_AUX_BUFFERS                   0xc00                          /* 3072 */\n#define GL_DRAW_BUFFER                   0xc01                          /* 3073 */\n#define GL_READ_BUFFER                   0xc02                          /* 3074 */\n#define GL_SCISSOR_BOX                   0xc10                          /* 3088 */\n#define GL_SCISSOR_TEST                  0xc11                          /* 3089 */\n#define GL_INDEX_CLEAR_VALUE             0xc20                          /* 3104 */\n#define GL_INDEX_WRITEMASK               0xc21                          /* 3105 */\n#define GL_COLOR_CLEAR_VALUE             0xc22                          /* 3106 */\n#define GL_COLOR_WRITEMASK               0xc23                          /* 3107 */\n#define GL_INDEX_MODE                    0xc30                          /* 3120 */\n#define GL_RGBA_MODE                     0xc31                          /* 3121 */\n#define GL_DOUBLEBUFFER                  0xc32                          /* 3122 */\n#define GL_STEREO                        0xc33                          /* 3123 */\n#define GL_RENDER_MODE                   0xc40                          /* 3136 */\n#define GL_PERSPECTIVE_CORRECTION_HINT   0xc50                          /* 3152 */\n#define GL_POINT_SMOOTH_HINT             0xc51                          /* 3153 */\n#define GL_LINE_SMOOTH_HINT              0xc52                          /* 3154 */\n#define GL_POLYGON_SMOOTH_HINT           0xc53                          /* 3155 */\n#define GL_FOG_HINT                      0xc54                          /* 3156 */\n#define GL_TEXTURE_GEN_S                 0xc60                          /* 3168 */\n#define GL_TEXTURE_GEN_T                 0xc61                          /* 3169 */\n#define GL_TEXTURE_GEN_R                 0xc62                          /* 3170 */\n#define GL_TEXTURE_GEN_Q                 0xc63                          /* 3171 */\n#define GL_PIXEL_MAP_I_TO_I              0xc70                          /* 3184 */\n#define GL_PIXEL_MAP_S_TO_S              0xc71                          /* 3185 */\n#define GL_PIXEL_MAP_I_TO_R              0xc72                          /* 3186 */\n#define GL_PIXEL_MAP_I_TO_G              0xc73                          /* 3187 */\n#define GL_PIXEL_MAP_I_TO_B              0xc74                          /* 3188 */\n#define GL_PIXEL_MAP_I_TO_A              0xc75                          /* 3189 */\n#define GL_PIXEL_MAP_R_TO_R              0xc76                          /* 3190 */\n#define GL_PIXEL_MAP_G_TO_G              0xc77                          /* 3191 */\n#define GL_PIXEL_MAP_B_TO_B              0xc78                          /* 3192 */\n#define GL_PIXEL_MAP_A_TO_A              0xc79                          /* 3193 */\n#define GL_PIXEL_MAP_I_TO_I_SIZE         0xcb0                          /* 3248 */\n#define GL_PIXEL_MAP_S_TO_S_SIZE         0xcb1                          /* 3249 */\n#define GL_PIXEL_MAP_I_TO_R_SIZE         0xcb2                          /* 3250 */\n#define GL_PIXEL_MAP_I_TO_G_SIZE         0xcb3                          /* 3251 */\n#define GL_PIXEL_MAP_I_TO_B_SIZE         0xcb4                          /* 3252 */\n#define GL_PIXEL_MAP_I_TO_A_SIZE         0xcb5                          /* 3253 */\n#define GL_PIXEL_MAP_R_TO_R_SIZE         0xcb6                          /* 3254 */\n#define GL_PIXEL_MAP_G_TO_G_SIZE         0xcb7                          /* 3255 */\n#define GL_PIXEL_MAP_B_TO_B_SIZE         0xcb8                          /* 3256 */\n#define GL_PIXEL_MAP_A_TO_A_SIZE         0xcb9                          /* 3257 */\n#define GL_UNPACK_SWAP_BYTES             0xcf0                          /* 3312 */\n#define GL_UNPACK_LSB_FIRST              0xcf1                          /* 3313 */\n#define GL_UNPACK_ROW_LENGTH             0xcf2                          /* 3314 */\n#define GL_UNPACK_SKIP_ROWS              0xcf3                          /* 3315 */\n#define GL_UNPACK_SKIP_PIXELS            0xcf4                          /* 3316 */\n#define GL_UNPACK_ALIGNMENT              0xcf5                          /* 3317 */\n#define GL_PACK_SWAP_BYTES               0xd00                          /* 3328 */\n#define GL_PACK_LSB_FIRST                0xd01                          /* 3329 */\n#define GL_PACK_ROW_LENGTH               0xd02                          /* 3330 */\n#define GL_PACK_SKIP_ROWS                0xd03                          /* 3331 */\n#define GL_PACK_SKIP_PIXELS              0xd04                          /* 3332 */\n#define GL_PACK_ALIGNMENT                0xd05                          /* 3333 */\n#define GL_MAP_COLOR                     0xd10                          /* 3344 */\n#define GL_MAP_STENCIL                   0xd11                          /* 3345 */\n#define GL_INDEX_SHIFT                   0xd12                          /* 3346 */\n#define GL_INDEX_OFFSET                  0xd13                          /* 3347 */\n#define GL_RED_SCALE                     0xd14                          /* 3348 */\n#define GL_RED_BIAS                      0xd15                          /* 3349 */\n#define GL_ZOOM_X                        0xd16                          /* 3350 */\n#define GL_ZOOM_Y                        0xd17                          /* 3351 */\n#define GL_GREEN_SCALE                   0xd18                          /* 3352 */\n#define GL_GREEN_BIAS                    0xd19                          /* 3353 */\n#define GL_BLUE_SCALE                    0xd1a                          /* 3354 */\n#define GL_BLUE_BIAS                     0xd1b                          /* 3355 */\n#define GL_ALPHA_SCALE                   0xd1c                          /* 3356 */\n#define GL_ALPHA_BIAS                    0xd1d                          /* 3357 */\n#define GL_DEPTH_SCALE                   0xd1e                          /* 3358 */\n#define GL_DEPTH_BIAS                    0xd1f                          /* 3359 */\n#define GL_MAX_EVAL_ORDER                0xd30                          /* 3376 */\n#define GL_MAX_LIGHTS                    0xd31                          /* 3377 */\n#define GL_MAX_CLIP_PLANES               0xd32                          /* 3378 */\n#define GL_MAX_TEXTURE_SIZE              0xd33                          /* 3379 */\n#define GL_MAX_PIXEL_MAP_TABLE           0xd34                          /* 3380 */\n#define GL_MAX_ATTRIB_STACK_DEPTH        0xd35                          /* 3381 */\n#define GL_MAX_MODELVIEW_STACK_DEPTH     0xd36                          /* 3382 */\n#define GL_MAX_NAME_STACK_DEPTH          0xd37                          /* 3383 */\n#define GL_MAX_PROJECTION_STACK_DEPTH    0xd38                          /* 3384 */\n#define GL_MAX_TEXTURE_STACK_DEPTH       0xd39                          /* 3385 */\n#define GL_MAX_VIEWPORT_DIMS             0xd3a                          /* 3386 */\n#define GL_MAX_CLIENT_ATTRIB_STACK_DEPTH 0xd3b                          /* 3387 */\n#define GL_SUBPIXEL_BITS                 0xd50                          /* 3408 */\n#define GL_INDEX_BITS                    0xd51                          /* 3409 */\n#define GL_RED_BITS                      0xd52                          /* 3410 */\n#define GL_GREEN_BITS                    0xd53                          /* 3411 */\n#define GL_BLUE_BITS                     0xd54                          /* 3412 */\n#define GL_ALPHA_BITS                    0xd55                          /* 3413 */\n#define GL_DEPTH_BITS                    0xd56                          /* 3414 */\n#define GL_STENCIL_BITS                  0xd57                          /* 3415 */\n#define GL_ACCUM_RED_BITS                0xd58                          /* 3416 */\n#define GL_ACCUM_GREEN_BITS              0xd59                          /* 3417 */\n#define GL_ACCUM_BLUE_BITS               0xd5a                          /* 3418 */\n#define GL_ACCUM_ALPHA_BITS              0xd5b                          /* 3419 */\n#define GL_NAME_STACK_DEPTH              0xd70                          /* 3440 */\n#define GL_AUTO_NORMAL                   0xd80                          /* 3456 */\n#define GL_MAP1_COLOR_4                  0xd90                          /* 3472 */\n#define GL_MAP1_INDEX                    0xd91                          /* 3473 */\n#define GL_MAP1_NORMAL                   0xd92                          /* 3474 */\n#define GL_MAP1_TEXTURE_COORD_1          0xd93                          /* 3475 */\n#define GL_MAP1_TEXTURE_COORD_2          0xd94                          /* 3476 */\n#define GL_MAP1_TEXTURE_COORD_3          0xd95                          /* 3477 */\n#define GL_MAP1_TEXTURE_COORD_4          0xd96                          /* 3478 */\n#define GL_MAP1_VERTEX_3                 0xd97                          /* 3479 */\n#define GL_MAP1_VERTEX_4                 0xd98                          /* 3480 */\n#define GL_MAP2_COLOR_4                  0xdb0                          /* 3504 */\n#define GL_MAP2_INDEX                    0xdb1                          /* 3505 */\n#define GL_MAP2_NORMAL                   0xdb2                          /* 3506 */\n#define GL_MAP2_TEXTURE_COORD_1          0xdb3                          /* 3507 */\n#define GL_MAP2_TEXTURE_COORD_2          0xdb4                          /* 3508 */\n#define GL_MAP2_TEXTURE_COORD_3          0xdb5                          /* 3509 */\n#define GL_MAP2_TEXTURE_COORD_4          0xdb6                          /* 3510 */\n#define GL_MAP2_VERTEX_3                 0xdb7                          /* 3511 */\n#define GL_MAP2_VERTEX_4                 0xdb8                          /* 3512 */\n#define GL_MAP1_GRID_DOMAIN              0xdd0                          /* 3536 */\n#define GL_MAP1_GRID_SEGMENTS            0xdd1                          /* 3537 */\n#define GL_MAP2_GRID_DOMAIN              0xdd2                          /* 3538 */\n#define GL_MAP2_GRID_SEGMENTS            0xdd3                          /* 3539 */\n#define GL_TEXTURE_1D                    0xde0                          /* 3552 */\n#define GL_TEXTURE_2D                    0xde1                          /* 3553 */\n#define GL_FEEDBACK_BUFFER_POINTER       0xdf0                          /* 3568 */\n#define GL_FEEDBACK_BUFFER_SIZE          0xdf1                          /* 3569 */\n#define GL_FEEDBACK_BUFFER_TYPE          0xdf2                          /* 3570 */\n#define GL_SELECTION_BUFFER_POINTER      0xdf3                          /* 3571 */\n#define GL_SELECTION_BUFFER_SIZE         0xdf4                          /* 3572 */\n#define GL_ALL_ATTRIB_BITS               0xfffff                        /* 1048575 */\n#define GL_CLIENT_ALL_ATTRIB_BITS        0xffffffff                     /* 4294967295 */\n#define GL_LOGIC_OP                      GL_INDEX_LOGIC_OP\n#define GL_TEXTURE_COMPONENTS            GL_TEXTURE_INTERNAL_FORMAT\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_VERSION_1_1\ntypedef GLboolean (REGAL_CALL *PFNGLARETEXTURESRESIDENTPROC)(GLsizei n, const GLuint *textures, GLboolean *residences);\ntypedef GLboolean (REGAL_CALL *PFNGLISTEXTUREPROC)(GLuint texture);\ntypedef void (REGAL_CALL *PFNGLARRAYELEMENTPROC)(GLint index);\ntypedef void (REGAL_CALL *PFNGLBINDTEXTUREPROC)(GLenum target, GLuint texture);\ntypedef void (REGAL_CALL *PFNGLCOLORPOINTERPROC)(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);\ntypedef void (REGAL_CALL *PFNGLCOPYTEXIMAGE1DPROC)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);\ntypedef void (REGAL_CALL *PFNGLCOPYTEXIMAGE2DPROC)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);\ntypedef void (REGAL_CALL *PFNGLCOPYTEXSUBIMAGE1DPROC)(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);\ntypedef void (REGAL_CALL *PFNGLCOPYTEXSUBIMAGE2DPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);\ntypedef void (REGAL_CALL *PFNGLDELETETEXTURESPROC)(GLsizei n, const GLuint *textures);\ntypedef void (REGAL_CALL *PFNGLDISABLECLIENTSTATEPROC)(GLenum cap);\ntypedef void (REGAL_CALL *PFNGLDRAWARRAYSPROC)(GLenum mode, GLint first, GLsizei count);\ntypedef void (REGAL_CALL *PFNGLDRAWELEMENTSPROC)(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices);\ntypedef void (REGAL_CALL *PFNGLEDGEFLAGPOINTERPROC)(GLsizei stride, const GLvoid *pointer);\ntypedef void (REGAL_CALL *PFNGLENABLECLIENTSTATEPROC)(GLenum cap);\ntypedef void (REGAL_CALL *PFNGLGENTEXTURESPROC)(GLsizei n, GLuint *textures);\ntypedef void (REGAL_CALL *PFNGLGETPOINTERVPROC)(GLenum pname, GLvoid **params);\ntypedef void (REGAL_CALL *PFNGLINDEXPOINTERPROC)(GLenum type, GLsizei stride, const GLvoid *pointer);\ntypedef void (REGAL_CALL *PFNGLINDEXUBPROC)(GLubyte c);\ntypedef void (REGAL_CALL *PFNGLINDEXUBVPROC)(const GLubyte *c);\ntypedef void (REGAL_CALL *PFNGLINTERLEAVEDARRAYSPROC)(GLenum format, GLsizei stride, const GLvoid *pointer);\ntypedef void (REGAL_CALL *PFNGLNORMALPOINTERPROC)(GLenum type, GLsizei stride, const GLvoid *pointer);\ntypedef void (REGAL_CALL *PFNGLPOLYGONOFFSETPROC)(GLfloat factor, GLfloat units);\ntypedef void (REGAL_CALL *PFNGLPOPCLIENTATTRIBPROC)(void);\ntypedef void (REGAL_CALL *PFNGLPRIORITIZETEXTURESPROC)(GLsizei n, const GLuint *textures, const GLclampf *priorities);\ntypedef void (REGAL_CALL *PFNGLPUSHCLIENTATTRIBPROC)(GLbitfield mask);\ntypedef void (REGAL_CALL *PFNGLTEXCOORDPOINTERPROC)(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);\ntypedef void (REGAL_CALL *PFNGLTEXSUBIMAGE1DPROC)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);\ntypedef void (REGAL_CALL *PFNGLTEXSUBIMAGE2DPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);\ntypedef void (REGAL_CALL *PFNGLVERTEXPOINTERPROC)(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_VERSION_1_1\n#define glAreTexturesResident               rglAreTexturesResident\n#define glArrayElement                      rglArrayElement\n#define glBindTexture                       rglBindTexture\n#define glColorPointer                      rglColorPointer\n#define glCopyTexImage1D                    rglCopyTexImage1D\n#define glCopyTexImage2D                    rglCopyTexImage2D\n#define glCopyTexSubImage1D                 rglCopyTexSubImage1D\n#define glCopyTexSubImage2D                 rglCopyTexSubImage2D\n#define glDeleteTextures                    rglDeleteTextures\n#define glDisableClientState                rglDisableClientState\n#define glDrawArrays                        rglDrawArrays\n#define glDrawElements                      rglDrawElements\n#define glEdgeFlagPointer                   rglEdgeFlagPointer\n#define glEnableClientState                 rglEnableClientState\n#define glGenTextures                       rglGenTextures\n#define glGetPointerv                       rglGetPointerv\n#define glIndexPointer                      rglIndexPointer\n#define glIndexub                           rglIndexub\n#define glIndexubv                          rglIndexubv\n#define glInterleavedArrays                 rglInterleavedArrays\n#define glIsTexture                         rglIsTexture\n#define glNormalPointer                     rglNormalPointer\n#define glPolygonOffset                     rglPolygonOffset\n#define glPopClientAttrib                   rglPopClientAttrib\n#define glPrioritizeTextures                rglPrioritizeTextures\n#define glPushClientAttrib                  rglPushClientAttrib\n#define glTexCoordPointer                   rglTexCoordPointer\n#define glTexSubImage1D                     rglTexSubImage1D\n#define glTexSubImage2D                     rglTexSubImage2D\n#define glVertexPointer                     rglVertexPointer\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_VERSION_1_1\nREGAL_DECL GLboolean REGAL_CALL glAreTexturesResident(GLsizei n, const GLuint *textures, GLboolean *residences);\nREGAL_DECL GLboolean REGAL_CALL glIsTexture(GLuint texture);\nREGAL_DECL void REGAL_CALL glArrayElement(GLint index);\nREGAL_DECL void REGAL_CALL glBindTexture(GLenum target, GLuint texture);\nREGAL_DECL void REGAL_CALL glColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL glCopyTexImage1D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);\nREGAL_DECL void REGAL_CALL glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);\nREGAL_DECL void REGAL_CALL glCopyTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);\nREGAL_DECL void REGAL_CALL glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);\nREGAL_DECL void REGAL_CALL glDeleteTextures(GLsizei n, const GLuint *textures);\nREGAL_DECL void REGAL_CALL glDisableClientState(GLenum cap);\nREGAL_DECL void REGAL_CALL glDrawArrays(GLenum mode, GLint first, GLsizei count);\nREGAL_DECL void REGAL_CALL glDrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices);\nREGAL_DECL void REGAL_CALL glEdgeFlagPointer(GLsizei stride, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL glEnableClientState(GLenum cap);\nREGAL_DECL void REGAL_CALL glGenTextures(GLsizei n, GLuint *textures);\nREGAL_DECL void REGAL_CALL glGetPointerv(GLenum pname, GLvoid **params);\nREGAL_DECL void REGAL_CALL glIndexPointer(GLenum type, GLsizei stride, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL glIndexub(GLubyte c);\nREGAL_DECL void REGAL_CALL glIndexubv(const GLubyte *c);\nREGAL_DECL void REGAL_CALL glInterleavedArrays(GLenum format, GLsizei stride, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL glNormalPointer(GLenum type, GLsizei stride, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL glPolygonOffset(GLfloat factor, GLfloat units);\nREGAL_DECL void REGAL_CALL glPopClientAttrib(void);\nREGAL_DECL void REGAL_CALL glPrioritizeTextures(GLsizei n, const GLuint *textures, const GLclampf *priorities);\nREGAL_DECL void REGAL_CALL glPushClientAttrib(GLbitfield mask);\nREGAL_DECL void REGAL_CALL glTexCoordPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL glTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL glVertexPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_VERSION_1_1\nREGAL_DECL GLboolean REGAL_CALL plugin_glAreTexturesResident(GLsizei n, const GLuint *textures, GLboolean *residences);\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsTexture(GLuint texture);\nREGAL_DECL void REGAL_CALL plugin_glArrayElement(GLint index);\nREGAL_DECL void REGAL_CALL plugin_glBindTexture(GLenum target, GLuint texture);\nREGAL_DECL void REGAL_CALL plugin_glColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL plugin_glCopyTexImage1D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);\nREGAL_DECL void REGAL_CALL plugin_glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);\nREGAL_DECL void REGAL_CALL plugin_glCopyTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);\nREGAL_DECL void REGAL_CALL plugin_glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);\nREGAL_DECL void REGAL_CALL plugin_glDeleteTextures(GLsizei n, const GLuint *textures);\nREGAL_DECL void REGAL_CALL plugin_glDisableClientState(GLenum cap);\nREGAL_DECL void REGAL_CALL plugin_glDrawArrays(GLenum mode, GLint first, GLsizei count);\nREGAL_DECL void REGAL_CALL plugin_glDrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices);\nREGAL_DECL void REGAL_CALL plugin_glEdgeFlagPointer(GLsizei stride, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL plugin_glEnableClientState(GLenum cap);\nREGAL_DECL void REGAL_CALL plugin_glGenTextures(GLsizei n, GLuint *textures);\nREGAL_DECL void REGAL_CALL plugin_glGetPointerv(GLenum pname, GLvoid **params);\nREGAL_DECL void REGAL_CALL plugin_glIndexPointer(GLenum type, GLsizei stride, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL plugin_glIndexub(GLubyte c);\nREGAL_DECL void REGAL_CALL plugin_glIndexubv(const GLubyte *c);\nREGAL_DECL void REGAL_CALL plugin_glInterleavedArrays(GLenum format, GLsizei stride, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL plugin_glNormalPointer(GLenum type, GLsizei stride, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL plugin_glPolygonOffset(GLfloat factor, GLfloat units);\nREGAL_DECL void REGAL_CALL plugin_glPopClientAttrib(void);\nREGAL_DECL void REGAL_CALL plugin_glPrioritizeTextures(GLsizei n, const GLuint *textures, const GLclampf *priorities);\nREGAL_DECL void REGAL_CALL plugin_glPushClientAttrib(GLbitfield mask);\nREGAL_DECL void REGAL_CALL plugin_glTexCoordPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL plugin_glTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL plugin_glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL plugin_glVertexPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);\n#endif\n\n/**\n ** GL_VERSION_1_2\n **/\n\n#if (defined(GL_VERSION_1_2) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_VERSION_1_2)) && !defined(REGAL_NO_ENUM_GL_VERSION_1_2)\n#define REGAL_NO_ENUM_GL_VERSION_1_2\n#endif\n\n#if (defined(GL_VERSION_1_2) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_VERSION_1_2)) && !defined(REGAL_NO_TYPEDEF_GL_VERSION_1_2)\n#define REGAL_NO_TYPEDEF_GL_VERSION_1_2\n#endif\n\n#if (defined(GL_VERSION_1_2) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_VERSION_1_2)) && !defined(REGAL_NO_NAMESPACE_GL_VERSION_1_2)\n#define REGAL_NO_NAMESPACE_GL_VERSION_1_2\n#endif\n\n#if (defined(GL_VERSION_1_2) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_VERSION_1_2)) && !defined(REGAL_NO_PLUGIN_GL_VERSION_1_2)\n#define REGAL_NO_PLUGIN_GL_VERSION_1_2\n#endif\n\n#if (defined(GL_VERSION_1_2) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_VERSION_1_2)) && !defined(REGAL_NO_DECLARATION_GL_VERSION_1_2)\n#define REGAL_NO_DECLARATION_GL_VERSION_1_2\n#endif\n\n#ifndef GL_VERSION_1_2\n#define GL_VERSION_1_2 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_VERSION_1_2\n#define GL_UNSIGNED_BYTE_3_3_2           0x8032     /* 32818 */\n#define GL_UNSIGNED_SHORT_4_4_4_4        0x8033     /* 32819 */\n#define GL_UNSIGNED_SHORT_5_5_5_1        0x8034     /* 32820 */\n#define GL_UNSIGNED_INT_8_8_8_8          0x8035     /* 32821 */\n#define GL_UNSIGNED_INT_10_10_10_2       0x8036     /* 32822 */\n#define GL_RESCALE_NORMAL                0x803a     /* 32826 */\n#define GL_TEXTURE_BINDING_3D            0x806a     /* 32874 */\n#define GL_PACK_SKIP_IMAGES              0x806b     /* 32875 */\n#define GL_PACK_IMAGE_HEIGHT             0x806c     /* 32876 */\n#define GL_UNPACK_SKIP_IMAGES            0x806d     /* 32877 */\n#define GL_UNPACK_IMAGE_HEIGHT           0x806e     /* 32878 */\n#define GL_TEXTURE_3D                    0x806f     /* 32879 */\n#define GL_PROXY_TEXTURE_3D              0x8070     /* 32880 */\n#define GL_TEXTURE_DEPTH                 0x8071     /* 32881 */\n#define GL_TEXTURE_WRAP_R                0x8072     /* 32882 */\n#define GL_MAX_3D_TEXTURE_SIZE           0x8073     /* 32883 */\n#define GL_BGR                           0x80e0     /* 32992 */\n#define GL_BGRA                          0x80e1     /* 32993 */\n#define GL_MAX_ELEMENTS_VERTICES         0x80e8     /* 33000 */\n#define GL_MAX_ELEMENTS_INDICES          0x80e9     /* 33001 */\n#define GL_CLAMP_TO_EDGE                 0x812f     /* 33071 */\n#define GL_TEXTURE_MIN_LOD               0x813a     /* 33082 */\n#define GL_TEXTURE_MAX_LOD               0x813b     /* 33083 */\n#define GL_TEXTURE_BASE_LEVEL            0x813c     /* 33084 */\n#define GL_TEXTURE_MAX_LEVEL             0x813d     /* 33085 */\n#define GL_LIGHT_MODEL_COLOR_CONTROL     0x81f8     /* 33272 */\n#define GL_SINGLE_COLOR                  0x81f9     /* 33273 */\n#define GL_SEPARATE_SPECULAR_COLOR       0x81fa     /* 33274 */\n#define GL_UNSIGNED_BYTE_2_3_3_REV       0x8362     /* 33634 */\n#define GL_UNSIGNED_SHORT_5_6_5          0x8363     /* 33635 */\n#define GL_UNSIGNED_SHORT_5_6_5_REV      0x8364     /* 33636 */\n#define GL_UNSIGNED_SHORT_4_4_4_4_REV    0x8365     /* 33637 */\n#define GL_UNSIGNED_SHORT_1_5_5_5_REV    0x8366     /* 33638 */\n#define GL_UNSIGNED_INT_8_8_8_8_REV      0x8367     /* 33639 */\n#define GL_UNSIGNED_INT_2_10_10_10_REV   0x8368     /* 33640 */\n#define GL_ALIASED_POINT_SIZE_RANGE      0x846d     /* 33901 */\n#define GL_ALIASED_LINE_WIDTH_RANGE      0x846e     /* 33902 */\n#define GL_SMOOTH_POINT_SIZE_RANGE       0xb12      /* 2834 */\n#define GL_SMOOTH_POINT_SIZE_GRANULARITY 0xb13      /* 2835 */\n#define GL_SMOOTH_LINE_WIDTH_RANGE       0xb22      /* 2850 */\n#define GL_SMOOTH_LINE_WIDTH_GRANULARITY 0xb23      /* 2851 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_VERSION_1_2\ntypedef void (REGAL_CALL *PFNGLBLENDCOLORPROC)(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);\ntypedef void (REGAL_CALL *PFNGLBLENDEQUATIONPROC)(GLenum mode);\ntypedef void (REGAL_CALL *PFNGLCOPYTEXSUBIMAGE3DPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);\ntypedef void (REGAL_CALL *PFNGLDRAWRANGEELEMENTSPROC)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices);\ntypedef void (REGAL_CALL *PFNGLTEXIMAGE3DPROC)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);\ntypedef void (REGAL_CALL *PFNGLTEXSUBIMAGE3DPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_VERSION_1_2\n#define glBlendColor                        rglBlendColor\n#define glBlendEquation                     rglBlendEquation\n#define glCopyTexSubImage3D                 rglCopyTexSubImage3D\n#define glDrawRangeElements                 rglDrawRangeElements\n#define glTexImage3D                        rglTexImage3D\n#define glTexSubImage3D                     rglTexSubImage3D\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_VERSION_1_2\nREGAL_DECL void REGAL_CALL glBlendColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);\nREGAL_DECL void REGAL_CALL glBlendEquation(GLenum mode);\nREGAL_DECL void REGAL_CALL glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);\nREGAL_DECL void REGAL_CALL glDrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices);\nREGAL_DECL void REGAL_CALL glTexImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL glTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_VERSION_1_2\nREGAL_DECL void REGAL_CALL plugin_glBlendColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);\nREGAL_DECL void REGAL_CALL plugin_glBlendEquation(GLenum mode);\nREGAL_DECL void REGAL_CALL plugin_glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);\nREGAL_DECL void REGAL_CALL plugin_glDrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices);\nREGAL_DECL void REGAL_CALL plugin_glTexImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL plugin_glTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);\n#endif\n\n/**\n ** GL_VERSION_1_3\n **/\n\n#if (defined(GL_VERSION_1_3) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_VERSION_1_3)) && !defined(REGAL_NO_ENUM_GL_VERSION_1_3)\n#define REGAL_NO_ENUM_GL_VERSION_1_3\n#endif\n\n#if (defined(GL_VERSION_1_3) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_VERSION_1_3)) && !defined(REGAL_NO_TYPEDEF_GL_VERSION_1_3)\n#define REGAL_NO_TYPEDEF_GL_VERSION_1_3\n#endif\n\n#if (defined(GL_VERSION_1_3) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_VERSION_1_3)) && !defined(REGAL_NO_NAMESPACE_GL_VERSION_1_3)\n#define REGAL_NO_NAMESPACE_GL_VERSION_1_3\n#endif\n\n#if (defined(GL_VERSION_1_3) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_VERSION_1_3)) && !defined(REGAL_NO_PLUGIN_GL_VERSION_1_3)\n#define REGAL_NO_PLUGIN_GL_VERSION_1_3\n#endif\n\n#if (defined(GL_VERSION_1_3) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_VERSION_1_3)) && !defined(REGAL_NO_DECLARATION_GL_VERSION_1_3)\n#define REGAL_NO_DECLARATION_GL_VERSION_1_3\n#endif\n\n#ifndef GL_VERSION_1_3\n#define GL_VERSION_1_3 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_VERSION_1_3\n#define GL_MULTISAMPLE_BIT                0x20000000     /* 536870912 */\n#define GL_MULTISAMPLE                    0x809d         /* 32925 */\n#define GL_SAMPLE_ALPHA_TO_COVERAGE       0x809e         /* 32926 */\n#define GL_SAMPLE_ALPHA_TO_ONE            0x809f         /* 32927 */\n#define GL_SAMPLE_COVERAGE                0x80a0         /* 32928 */\n#define GL_SAMPLE_BUFFERS                 0x80a8         /* 32936 */\n#define GL_SAMPLES                        0x80a9         /* 32937 */\n#define GL_SAMPLE_COVERAGE_VALUE          0x80aa         /* 32938 */\n#define GL_SAMPLE_COVERAGE_INVERT         0x80ab         /* 32939 */\n#define GL_CLAMP_TO_BORDER                0x812d         /* 33069 */\n#define GL_TEXTURE0                       0x84c0         /* 33984 */\n#define GL_TEXTURE1                       0x84c1         /* 33985 */\n#define GL_TEXTURE2                       0x84c2         /* 33986 */\n#define GL_TEXTURE3                       0x84c3         /* 33987 */\n#define GL_TEXTURE4                       0x84c4         /* 33988 */\n#define GL_TEXTURE5                       0x84c5         /* 33989 */\n#define GL_TEXTURE6                       0x84c6         /* 33990 */\n#define GL_TEXTURE7                       0x84c7         /* 33991 */\n#define GL_TEXTURE8                       0x84c8         /* 33992 */\n#define GL_TEXTURE9                       0x84c9         /* 33993 */\n#define GL_TEXTURE10                      0x84ca         /* 33994 */\n#define GL_TEXTURE11                      0x84cb         /* 33995 */\n#define GL_TEXTURE12                      0x84cc         /* 33996 */\n#define GL_TEXTURE13                      0x84cd         /* 33997 */\n#define GL_TEXTURE14                      0x84ce         /* 33998 */\n#define GL_TEXTURE15                      0x84cf         /* 33999 */\n#define GL_TEXTURE16                      0x84d0         /* 34000 */\n#define GL_TEXTURE17                      0x84d1         /* 34001 */\n#define GL_TEXTURE18                      0x84d2         /* 34002 */\n#define GL_TEXTURE19                      0x84d3         /* 34003 */\n#define GL_TEXTURE20                      0x84d4         /* 34004 */\n#define GL_TEXTURE21                      0x84d5         /* 34005 */\n#define GL_TEXTURE22                      0x84d6         /* 34006 */\n#define GL_TEXTURE23                      0x84d7         /* 34007 */\n#define GL_TEXTURE24                      0x84d8         /* 34008 */\n#define GL_TEXTURE25                      0x84d9         /* 34009 */\n#define GL_TEXTURE26                      0x84da         /* 34010 */\n#define GL_TEXTURE27                      0x84db         /* 34011 */\n#define GL_TEXTURE28                      0x84dc         /* 34012 */\n#define GL_TEXTURE29                      0x84dd         /* 34013 */\n#define GL_TEXTURE30                      0x84de         /* 34014 */\n#define GL_TEXTURE31                      0x84df         /* 34015 */\n#define GL_ACTIVE_TEXTURE                 0x84e0         /* 34016 */\n#define GL_CLIENT_ACTIVE_TEXTURE          0x84e1         /* 34017 */\n#define GL_MAX_TEXTURE_UNITS              0x84e2         /* 34018 */\n#define GL_TRANSPOSE_MODELVIEW_MATRIX     0x84e3         /* 34019 */\n#define GL_TRANSPOSE_PROJECTION_MATRIX    0x84e4         /* 34020 */\n#define GL_TRANSPOSE_TEXTURE_MATRIX       0x84e5         /* 34021 */\n#define GL_TRANSPOSE_COLOR_MATRIX         0x84e6         /* 34022 */\n#define GL_SUBTRACT                       0x84e7         /* 34023 */\n#define GL_COMPRESSED_ALPHA               0x84e9         /* 34025 */\n#define GL_COMPRESSED_LUMINANCE           0x84ea         /* 34026 */\n#define GL_COMPRESSED_LUMINANCE_ALPHA     0x84eb         /* 34027 */\n#define GL_COMPRESSED_INTENSITY           0x84ec         /* 34028 */\n#define GL_COMPRESSED_RGB                 0x84ed         /* 34029 */\n#define GL_COMPRESSED_RGBA                0x84ee         /* 34030 */\n#define GL_TEXTURE_COMPRESSION_HINT       0x84ef         /* 34031 */\n#define GL_NORMAL_MAP                     0x8511         /* 34065 */\n#define GL_REFLECTION_MAP                 0x8512         /* 34066 */\n#define GL_TEXTURE_CUBE_MAP               0x8513         /* 34067 */\n#define GL_TEXTURE_BINDING_CUBE_MAP       0x8514         /* 34068 */\n#define GL_TEXTURE_CUBE_MAP_POSITIVE_X    0x8515         /* 34069 */\n#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X    0x8516         /* 34070 */\n#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y    0x8517         /* 34071 */\n#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y    0x8518         /* 34072 */\n#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z    0x8519         /* 34073 */\n#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z    0x851a         /* 34074 */\n#define GL_PROXY_TEXTURE_CUBE_MAP         0x851b         /* 34075 */\n#define GL_MAX_CUBE_MAP_TEXTURE_SIZE      0x851c         /* 34076 */\n#define GL_COMBINE                        0x8570         /* 34160 */\n#define GL_COMBINE_RGB                    0x8571         /* 34161 */\n#define GL_COMBINE_ALPHA                  0x8572         /* 34162 */\n#define GL_RGB_SCALE                      0x8573         /* 34163 */\n#define GL_ADD_SIGNED                     0x8574         /* 34164 */\n#define GL_INTERPOLATE                    0x8575         /* 34165 */\n#define GL_CONSTANT                       0x8576         /* 34166 */\n#define GL_PRIMARY_COLOR                  0x8577         /* 34167 */\n#define GL_PREVIOUS                       0x8578         /* 34168 */\n#define GL_SOURCE0_RGB                    0x8580         /* 34176 */\n#define GL_SOURCE1_RGB                    0x8581         /* 34177 */\n#define GL_SOURCE2_RGB                    0x8582         /* 34178 */\n#define GL_SOURCE0_ALPHA                  0x8588         /* 34184 */\n#define GL_SOURCE1_ALPHA                  0x8589         /* 34185 */\n#define GL_SOURCE2_ALPHA                  0x858a         /* 34186 */\n#define GL_OPERAND0_RGB                   0x8590         /* 34192 */\n#define GL_OPERAND1_RGB                   0x8591         /* 34193 */\n#define GL_OPERAND2_RGB                   0x8592         /* 34194 */\n#define GL_OPERAND0_ALPHA                 0x8598         /* 34200 */\n#define GL_OPERAND1_ALPHA                 0x8599         /* 34201 */\n#define GL_OPERAND2_ALPHA                 0x859a         /* 34202 */\n#define GL_TEXTURE_COMPRESSED_IMAGE_SIZE  0x86a0         /* 34464 */\n#define GL_TEXTURE_COMPRESSED             0x86a1         /* 34465 */\n#define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86a2         /* 34466 */\n#define GL_COMPRESSED_TEXTURE_FORMATS     0x86a3         /* 34467 */\n#define GL_DOT3_RGB                       0x86ae         /* 34478 */\n#define GL_DOT3_RGBA                      0x86af         /* 34479 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_VERSION_1_3\ntypedef void (REGAL_CALL *PFNGLACTIVETEXTUREPROC)(GLenum texture);\ntypedef void (REGAL_CALL *PFNGLCLIENTACTIVETEXTUREPROC)(GLenum texture);\ntypedef void (REGAL_CALL *PFNGLCOMPRESSEDTEXIMAGE1DPROC)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data);\ntypedef void (REGAL_CALL *PFNGLCOMPRESSEDTEXIMAGE2DPROC)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data);\ntypedef void (REGAL_CALL *PFNGLCOMPRESSEDTEXIMAGE3DPROC)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data);\ntypedef void (REGAL_CALL *PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data);\ntypedef void (REGAL_CALL *PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data);\ntypedef void (REGAL_CALL *PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data);\ntypedef void (REGAL_CALL *PFNGLGETCOMPRESSEDTEXIMAGEPROC)(GLenum target, GLint lod, GLvoid *img);\ntypedef void (REGAL_CALL *PFNGLLOADTRANSPOSEMATRIXDPROC)(const GLdouble *m);\ntypedef void (REGAL_CALL *PFNGLLOADTRANSPOSEMATRIXFPROC)(const GLfloat *m);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD1DPROC)(GLenum target, GLdouble s);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD1DVPROC)(GLenum target, const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD1FPROC)(GLenum target, GLfloat s);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD1FVPROC)(GLenum target, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD1IPROC)(GLenum target, GLint s);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD1IVPROC)(GLenum target, const GLint *v);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD1SPROC)(GLenum target, GLshort s);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD1SVPROC)(GLenum target, const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD2DPROC)(GLenum target, GLdouble s, GLdouble t);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD2DVPROC)(GLenum target, const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD2FPROC)(GLenum target, GLfloat s, GLfloat t);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD2FVPROC)(GLenum target, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD2IPROC)(GLenum target, GLint s, GLint t);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD2IVPROC)(GLenum target, const GLint *v);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD2SPROC)(GLenum target, GLshort s, GLshort t);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD2SVPROC)(GLenum target, const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD3DPROC)(GLenum target, GLdouble s, GLdouble t, GLdouble r);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD3DVPROC)(GLenum target, const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD3FPROC)(GLenum target, GLfloat s, GLfloat t, GLfloat r);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD3FVPROC)(GLenum target, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD3IPROC)(GLenum target, GLint s, GLint t, GLint r);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD3IVPROC)(GLenum target, const GLint *v);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD3SPROC)(GLenum target, GLshort s, GLshort t, GLshort r);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD3SVPROC)(GLenum target, const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD4DPROC)(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD4DVPROC)(GLenum target, const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD4FPROC)(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD4FVPROC)(GLenum target, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD4IPROC)(GLenum target, GLint s, GLint t, GLint r, GLint q);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD4IVPROC)(GLenum target, const GLint *v);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD4SPROC)(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD4SVPROC)(GLenum target, const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLMULTTRANSPOSEMATRIXDPROC)(const GLdouble *m);\ntypedef void (REGAL_CALL *PFNGLMULTTRANSPOSEMATRIXFPROC)(const GLfloat *m);\ntypedef void (REGAL_CALL *PFNGLSAMPLECOVERAGEPROC)(GLclampf value, GLboolean invert);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_VERSION_1_3\n#define glActiveTexture                     rglActiveTexture\n#define glClientActiveTexture               rglClientActiveTexture\n#define glCompressedTexImage1D              rglCompressedTexImage1D\n#define glCompressedTexImage2D              rglCompressedTexImage2D\n#define glCompressedTexImage3D              rglCompressedTexImage3D\n#define glCompressedTexSubImage1D           rglCompressedTexSubImage1D\n#define glCompressedTexSubImage2D           rglCompressedTexSubImage2D\n#define glCompressedTexSubImage3D           rglCompressedTexSubImage3D\n#define glGetCompressedTexImage             rglGetCompressedTexImage\n#define glLoadTransposeMatrixd              rglLoadTransposeMatrixd\n#define glLoadTransposeMatrixf              rglLoadTransposeMatrixf\n#define glMultTransposeMatrixd              rglMultTransposeMatrixd\n#define glMultTransposeMatrixf              rglMultTransposeMatrixf\n#define glMultiTexCoord1d                   rglMultiTexCoord1d\n#define glMultiTexCoord1dv                  rglMultiTexCoord1dv\n#define glMultiTexCoord1f                   rglMultiTexCoord1f\n#define glMultiTexCoord1fv                  rglMultiTexCoord1fv\n#define glMultiTexCoord1i                   rglMultiTexCoord1i\n#define glMultiTexCoord1iv                  rglMultiTexCoord1iv\n#define glMultiTexCoord1s                   rglMultiTexCoord1s\n#define glMultiTexCoord1sv                  rglMultiTexCoord1sv\n#define glMultiTexCoord2d                   rglMultiTexCoord2d\n#define glMultiTexCoord2dv                  rglMultiTexCoord2dv\n#define glMultiTexCoord2f                   rglMultiTexCoord2f\n#define glMultiTexCoord2fv                  rglMultiTexCoord2fv\n#define glMultiTexCoord2i                   rglMultiTexCoord2i\n#define glMultiTexCoord2iv                  rglMultiTexCoord2iv\n#define glMultiTexCoord2s                   rglMultiTexCoord2s\n#define glMultiTexCoord2sv                  rglMultiTexCoord2sv\n#define glMultiTexCoord3d                   rglMultiTexCoord3d\n#define glMultiTexCoord3dv                  rglMultiTexCoord3dv\n#define glMultiTexCoord3f                   rglMultiTexCoord3f\n#define glMultiTexCoord3fv                  rglMultiTexCoord3fv\n#define glMultiTexCoord3i                   rglMultiTexCoord3i\n#define glMultiTexCoord3iv                  rglMultiTexCoord3iv\n#define glMultiTexCoord3s                   rglMultiTexCoord3s\n#define glMultiTexCoord3sv                  rglMultiTexCoord3sv\n#define glMultiTexCoord4d                   rglMultiTexCoord4d\n#define glMultiTexCoord4dv                  rglMultiTexCoord4dv\n#define glMultiTexCoord4f                   rglMultiTexCoord4f\n#define glMultiTexCoord4fv                  rglMultiTexCoord4fv\n#define glMultiTexCoord4i                   rglMultiTexCoord4i\n#define glMultiTexCoord4iv                  rglMultiTexCoord4iv\n#define glMultiTexCoord4s                   rglMultiTexCoord4s\n#define glMultiTexCoord4sv                  rglMultiTexCoord4sv\n#define glSampleCoverage                    rglSampleCoverage\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_VERSION_1_3\nREGAL_DECL void REGAL_CALL glActiveTexture(GLenum texture);\nREGAL_DECL void REGAL_CALL glClientActiveTexture(GLenum texture);\nREGAL_DECL void REGAL_CALL glCompressedTexImage1D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data);\nREGAL_DECL void REGAL_CALL glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data);\nREGAL_DECL void REGAL_CALL glCompressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data);\nREGAL_DECL void REGAL_CALL glCompressedTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data);\nREGAL_DECL void REGAL_CALL glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data);\nREGAL_DECL void REGAL_CALL glCompressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data);\nREGAL_DECL void REGAL_CALL glGetCompressedTexImage(GLenum target, GLint lod, GLvoid *img);\nREGAL_DECL void REGAL_CALL glLoadTransposeMatrixd(const GLdouble *m);\nREGAL_DECL void REGAL_CALL glLoadTransposeMatrixf(const GLfloat *m);\nREGAL_DECL void REGAL_CALL glMultTransposeMatrixd(const GLdouble *m);\nREGAL_DECL void REGAL_CALL glMultTransposeMatrixf(const GLfloat *m);\nREGAL_DECL void REGAL_CALL glMultiTexCoord1d(GLenum target, GLdouble s);\nREGAL_DECL void REGAL_CALL glMultiTexCoord1dv(GLenum target, const GLdouble *v);\nREGAL_DECL void REGAL_CALL glMultiTexCoord1f(GLenum target, GLfloat s);\nREGAL_DECL void REGAL_CALL glMultiTexCoord1fv(GLenum target, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glMultiTexCoord1i(GLenum target, GLint s);\nREGAL_DECL void REGAL_CALL glMultiTexCoord1iv(GLenum target, const GLint *v);\nREGAL_DECL void REGAL_CALL glMultiTexCoord1s(GLenum target, GLshort s);\nREGAL_DECL void REGAL_CALL glMultiTexCoord1sv(GLenum target, const GLshort *v);\nREGAL_DECL void REGAL_CALL glMultiTexCoord2d(GLenum target, GLdouble s, GLdouble t);\nREGAL_DECL void REGAL_CALL glMultiTexCoord2dv(GLenum target, const GLdouble *v);\nREGAL_DECL void REGAL_CALL glMultiTexCoord2f(GLenum target, GLfloat s, GLfloat t);\nREGAL_DECL void REGAL_CALL glMultiTexCoord2fv(GLenum target, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glMultiTexCoord2i(GLenum target, GLint s, GLint t);\nREGAL_DECL void REGAL_CALL glMultiTexCoord2iv(GLenum target, const GLint *v);\nREGAL_DECL void REGAL_CALL glMultiTexCoord2s(GLenum target, GLshort s, GLshort t);\nREGAL_DECL void REGAL_CALL glMultiTexCoord2sv(GLenum target, const GLshort *v);\nREGAL_DECL void REGAL_CALL glMultiTexCoord3d(GLenum target, GLdouble s, GLdouble t, GLdouble r);\nREGAL_DECL void REGAL_CALL glMultiTexCoord3dv(GLenum target, const GLdouble *v);\nREGAL_DECL void REGAL_CALL glMultiTexCoord3f(GLenum target, GLfloat s, GLfloat t, GLfloat r);\nREGAL_DECL void REGAL_CALL glMultiTexCoord3fv(GLenum target, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glMultiTexCoord3i(GLenum target, GLint s, GLint t, GLint r);\nREGAL_DECL void REGAL_CALL glMultiTexCoord3iv(GLenum target, const GLint *v);\nREGAL_DECL void REGAL_CALL glMultiTexCoord3s(GLenum target, GLshort s, GLshort t, GLshort r);\nREGAL_DECL void REGAL_CALL glMultiTexCoord3sv(GLenum target, const GLshort *v);\nREGAL_DECL void REGAL_CALL glMultiTexCoord4d(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);\nREGAL_DECL void REGAL_CALL glMultiTexCoord4dv(GLenum target, const GLdouble *v);\nREGAL_DECL void REGAL_CALL glMultiTexCoord4f(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);\nREGAL_DECL void REGAL_CALL glMultiTexCoord4fv(GLenum target, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glMultiTexCoord4i(GLenum target, GLint s, GLint t, GLint r, GLint q);\nREGAL_DECL void REGAL_CALL glMultiTexCoord4iv(GLenum target, const GLint *v);\nREGAL_DECL void REGAL_CALL glMultiTexCoord4s(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);\nREGAL_DECL void REGAL_CALL glMultiTexCoord4sv(GLenum target, const GLshort *v);\nREGAL_DECL void REGAL_CALL glSampleCoverage(GLclampf value, GLboolean invert);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_VERSION_1_3\nREGAL_DECL void REGAL_CALL plugin_glActiveTexture(GLenum texture);\nREGAL_DECL void REGAL_CALL plugin_glClientActiveTexture(GLenum texture);\nREGAL_DECL void REGAL_CALL plugin_glCompressedTexImage1D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data);\nREGAL_DECL void REGAL_CALL plugin_glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data);\nREGAL_DECL void REGAL_CALL plugin_glCompressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data);\nREGAL_DECL void REGAL_CALL plugin_glCompressedTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data);\nREGAL_DECL void REGAL_CALL plugin_glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data);\nREGAL_DECL void REGAL_CALL plugin_glCompressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data);\nREGAL_DECL void REGAL_CALL plugin_glGetCompressedTexImage(GLenum target, GLint lod, GLvoid *img);\nREGAL_DECL void REGAL_CALL plugin_glLoadTransposeMatrixd(const GLdouble *m);\nREGAL_DECL void REGAL_CALL plugin_glLoadTransposeMatrixf(const GLfloat *m);\nREGAL_DECL void REGAL_CALL plugin_glMultTransposeMatrixd(const GLdouble *m);\nREGAL_DECL void REGAL_CALL plugin_glMultTransposeMatrixf(const GLfloat *m);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord1d(GLenum target, GLdouble s);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord1dv(GLenum target, const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord1f(GLenum target, GLfloat s);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord1fv(GLenum target, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord1i(GLenum target, GLint s);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord1iv(GLenum target, const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord1s(GLenum target, GLshort s);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord1sv(GLenum target, const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord2d(GLenum target, GLdouble s, GLdouble t);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord2dv(GLenum target, const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord2f(GLenum target, GLfloat s, GLfloat t);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord2fv(GLenum target, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord2i(GLenum target, GLint s, GLint t);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord2iv(GLenum target, const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord2s(GLenum target, GLshort s, GLshort t);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord2sv(GLenum target, const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord3d(GLenum target, GLdouble s, GLdouble t, GLdouble r);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord3dv(GLenum target, const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord3f(GLenum target, GLfloat s, GLfloat t, GLfloat r);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord3fv(GLenum target, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord3i(GLenum target, GLint s, GLint t, GLint r);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord3iv(GLenum target, const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord3s(GLenum target, GLshort s, GLshort t, GLshort r);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord3sv(GLenum target, const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord4d(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord4dv(GLenum target, const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord4f(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord4fv(GLenum target, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord4i(GLenum target, GLint s, GLint t, GLint r, GLint q);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord4iv(GLenum target, const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord4s(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord4sv(GLenum target, const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glSampleCoverage(GLclampf value, GLboolean invert);\n#endif\n\n/**\n ** GL_VERSION_1_4\n **/\n\n#if (defined(GL_VERSION_1_4) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_VERSION_1_4)) && !defined(REGAL_NO_ENUM_GL_VERSION_1_4)\n#define REGAL_NO_ENUM_GL_VERSION_1_4\n#endif\n\n#if (defined(GL_VERSION_1_4) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_VERSION_1_4)) && !defined(REGAL_NO_TYPEDEF_GL_VERSION_1_4)\n#define REGAL_NO_TYPEDEF_GL_VERSION_1_4\n#endif\n\n#if (defined(GL_VERSION_1_4) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_VERSION_1_4)) && !defined(REGAL_NO_NAMESPACE_GL_VERSION_1_4)\n#define REGAL_NO_NAMESPACE_GL_VERSION_1_4\n#endif\n\n#if (defined(GL_VERSION_1_4) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_VERSION_1_4)) && !defined(REGAL_NO_PLUGIN_GL_VERSION_1_4)\n#define REGAL_NO_PLUGIN_GL_VERSION_1_4\n#endif\n\n#if (defined(GL_VERSION_1_4) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_VERSION_1_4)) && !defined(REGAL_NO_DECLARATION_GL_VERSION_1_4)\n#define REGAL_NO_DECLARATION_GL_VERSION_1_4\n#endif\n\n#ifndef GL_VERSION_1_4\n#define GL_VERSION_1_4 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_VERSION_1_4\n#define GL_BLEND_DST_RGB                 0x80c8     /* 32968 */\n#define GL_BLEND_SRC_RGB                 0x80c9     /* 32969 */\n#define GL_BLEND_DST_ALPHA               0x80ca     /* 32970 */\n#define GL_BLEND_SRC_ALPHA               0x80cb     /* 32971 */\n#define GL_POINT_SIZE_MIN                0x8126     /* 33062 */\n#define GL_POINT_SIZE_MAX                0x8127     /* 33063 */\n#define GL_POINT_FADE_THRESHOLD_SIZE     0x8128     /* 33064 */\n#define GL_POINT_DISTANCE_ATTENUATION    0x8129     /* 33065 */\n#define GL_GENERATE_MIPMAP               0x8191     /* 33169 */\n#define GL_GENERATE_MIPMAP_HINT          0x8192     /* 33170 */\n#define GL_DEPTH_COMPONENT16             0x81a5     /* 33189 */\n#define GL_DEPTH_COMPONENT24             0x81a6     /* 33190 */\n#define GL_DEPTH_COMPONENT32             0x81a7     /* 33191 */\n#define GL_MIRRORED_REPEAT               0x8370     /* 33648 */\n#define GL_FOG_COORDINATE_SOURCE         0x8450     /* 33872 */\n#define GL_FOG_COORDINATE                0x8451     /* 33873 */\n#define GL_FRAGMENT_DEPTH                0x8452     /* 33874 */\n#define GL_CURRENT_FOG_COORDINATE        0x8453     /* 33875 */\n#define GL_FOG_COORDINATE_ARRAY_TYPE     0x8454     /* 33876 */\n#define GL_FOG_COORDINATE_ARRAY_STRIDE   0x8455     /* 33877 */\n#define GL_FOG_COORDINATE_ARRAY_POINTER  0x8456     /* 33878 */\n#define GL_FOG_COORDINATE_ARRAY          0x8457     /* 33879 */\n#define GL_COLOR_SUM                     0x8458     /* 33880 */\n#define GL_CURRENT_SECONDARY_COLOR       0x8459     /* 33881 */\n#define GL_SECONDARY_COLOR_ARRAY_SIZE    0x845a     /* 33882 */\n#define GL_SECONDARY_COLOR_ARRAY_TYPE    0x845b     /* 33883 */\n#define GL_SECONDARY_COLOR_ARRAY_STRIDE  0x845c     /* 33884 */\n#define GL_SECONDARY_COLOR_ARRAY_POINTER 0x845d     /* 33885 */\n#define GL_SECONDARY_COLOR_ARRAY         0x845e     /* 33886 */\n#define GL_MAX_TEXTURE_LOD_BIAS          0x84fd     /* 34045 */\n#define GL_TEXTURE_FILTER_CONTROL        0x8500     /* 34048 */\n#define GL_TEXTURE_LOD_BIAS              0x8501     /* 34049 */\n#define GL_INCR_WRAP                     0x8507     /* 34055 */\n#define GL_DECR_WRAP                     0x8508     /* 34056 */\n#define GL_TEXTURE_DEPTH_SIZE            0x884a     /* 34890 */\n#define GL_DEPTH_TEXTURE_MODE            0x884b     /* 34891 */\n#define GL_TEXTURE_COMPARE_MODE          0x884c     /* 34892 */\n#define GL_TEXTURE_COMPARE_FUNC          0x884d     /* 34893 */\n#define GL_COMPARE_R_TO_TEXTURE          0x884e     /* 34894 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_VERSION_1_4\ntypedef void (REGAL_CALL *PFNGLBLENDFUNCSEPARATEPROC)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);\ntypedef void (REGAL_CALL *PFNGLFOGCOORDDPROC)(GLdouble coord);\ntypedef void (REGAL_CALL *PFNGLFOGCOORDDVPROC)(const GLdouble *coord);\ntypedef void (REGAL_CALL *PFNGLFOGCOORDFPROC)(GLfloat coord);\ntypedef void (REGAL_CALL *PFNGLFOGCOORDFVPROC)(const GLfloat *coord);\ntypedef void (REGAL_CALL *PFNGLFOGCOORDPOINTERPROC)(GLenum type, GLsizei stride, const GLvoid *pointer);\ntypedef void (REGAL_CALL *PFNGLMULTIDRAWARRAYSPROC)(GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);\ntypedef void (REGAL_CALL *PFNGLMULTIDRAWELEMENTSPROC)(GLenum mode, const GLsizei *count, GLenum type, const GLvoid * const *indices, GLsizei primcount);\ntypedef void (REGAL_CALL *PFNGLPOINTPARAMETERFPROC)(GLenum pname, GLfloat param);\ntypedef void (REGAL_CALL *PFNGLPOINTPARAMETERFVPROC)(GLenum pname, const GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLPOINTPARAMETERIPROC)(GLenum pname, GLint param);\ntypedef void (REGAL_CALL *PFNGLPOINTPARAMETERIVPROC)(GLenum pname, const GLint *params);\ntypedef void (REGAL_CALL *PFNGLSECONDARYCOLOR3BPROC)(GLbyte red, GLbyte green, GLbyte blue);\ntypedef void (REGAL_CALL *PFNGLSECONDARYCOLOR3BVPROC)(const GLbyte *v);\ntypedef void (REGAL_CALL *PFNGLSECONDARYCOLOR3DPROC)(GLdouble red, GLdouble green, GLdouble blue);\ntypedef void (REGAL_CALL *PFNGLSECONDARYCOLOR3DVPROC)(const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLSECONDARYCOLOR3FPROC)(GLfloat red, GLfloat green, GLfloat blue);\ntypedef void (REGAL_CALL *PFNGLSECONDARYCOLOR3FVPROC)(const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLSECONDARYCOLOR3IPROC)(GLint red, GLint green, GLint blue);\ntypedef void (REGAL_CALL *PFNGLSECONDARYCOLOR3IVPROC)(const GLint *v);\ntypedef void (REGAL_CALL *PFNGLSECONDARYCOLOR3SPROC)(GLshort red, GLshort green, GLshort blue);\ntypedef void (REGAL_CALL *PFNGLSECONDARYCOLOR3SVPROC)(const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLSECONDARYCOLOR3UBPROC)(GLubyte red, GLubyte green, GLubyte blue);\ntypedef void (REGAL_CALL *PFNGLSECONDARYCOLOR3UBVPROC)(const GLubyte *v);\ntypedef void (REGAL_CALL *PFNGLSECONDARYCOLOR3UIPROC)(GLuint red, GLuint green, GLuint blue);\ntypedef void (REGAL_CALL *PFNGLSECONDARYCOLOR3UIVPROC)(const GLuint *v);\ntypedef void (REGAL_CALL *PFNGLSECONDARYCOLOR3USPROC)(GLushort red, GLushort green, GLushort blue);\ntypedef void (REGAL_CALL *PFNGLSECONDARYCOLOR3USVPROC)(const GLushort *v);\ntypedef void (REGAL_CALL *PFNGLSECONDARYCOLORPOINTERPROC)(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS2DPROC)(GLdouble x, GLdouble y);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS2DVPROC)(const GLdouble *p);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS2FPROC)(GLfloat x, GLfloat y);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS2FVPROC)(const GLfloat *p);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS2IPROC)(GLint x, GLint y);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS2IVPROC)(const GLint *p);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS2SPROC)(GLshort x, GLshort y);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS2SVPROC)(const GLshort *p);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS3DPROC)(GLdouble x, GLdouble y, GLdouble z);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS3DVPROC)(const GLdouble *p);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS3FPROC)(GLfloat x, GLfloat y, GLfloat z);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS3FVPROC)(const GLfloat *p);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS3IPROC)(GLint x, GLint y, GLint z);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS3IVPROC)(const GLint *p);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS3SPROC)(GLshort x, GLshort y, GLshort z);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS3SVPROC)(const GLshort *p);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_VERSION_1_4\n#define glBlendFuncSeparate                 rglBlendFuncSeparate\n#define glFogCoordPointer                   rglFogCoordPointer\n#define glFogCoordd                         rglFogCoordd\n#define glFogCoorddv                        rglFogCoorddv\n#define glFogCoordf                         rglFogCoordf\n#define glFogCoordfv                        rglFogCoordfv\n#define glMultiDrawArrays                   rglMultiDrawArrays\n#define glMultiDrawElements                 rglMultiDrawElements\n#define glPointParameterf                   rglPointParameterf\n#define glPointParameterfv                  rglPointParameterfv\n#define glPointParameteri                   rglPointParameteri\n#define glPointParameteriv                  rglPointParameteriv\n#define glSecondaryColor3b                  rglSecondaryColor3b\n#define glSecondaryColor3bv                 rglSecondaryColor3bv\n#define glSecondaryColor3d                  rglSecondaryColor3d\n#define glSecondaryColor3dv                 rglSecondaryColor3dv\n#define glSecondaryColor3f                  rglSecondaryColor3f\n#define glSecondaryColor3fv                 rglSecondaryColor3fv\n#define glSecondaryColor3i                  rglSecondaryColor3i\n#define glSecondaryColor3iv                 rglSecondaryColor3iv\n#define glSecondaryColor3s                  rglSecondaryColor3s\n#define glSecondaryColor3sv                 rglSecondaryColor3sv\n#define glSecondaryColor3ub                 rglSecondaryColor3ub\n#define glSecondaryColor3ubv                rglSecondaryColor3ubv\n#define glSecondaryColor3ui                 rglSecondaryColor3ui\n#define glSecondaryColor3uiv                rglSecondaryColor3uiv\n#define glSecondaryColor3us                 rglSecondaryColor3us\n#define glSecondaryColor3usv                rglSecondaryColor3usv\n#define glSecondaryColorPointer             rglSecondaryColorPointer\n#define glWindowPos2d                       rglWindowPos2d\n#define glWindowPos2dv                      rglWindowPos2dv\n#define glWindowPos2f                       rglWindowPos2f\n#define glWindowPos2fv                      rglWindowPos2fv\n#define glWindowPos2i                       rglWindowPos2i\n#define glWindowPos2iv                      rglWindowPos2iv\n#define glWindowPos2s                       rglWindowPos2s\n#define glWindowPos2sv                      rglWindowPos2sv\n#define glWindowPos3d                       rglWindowPos3d\n#define glWindowPos3dv                      rglWindowPos3dv\n#define glWindowPos3f                       rglWindowPos3f\n#define glWindowPos3fv                      rglWindowPos3fv\n#define glWindowPos3i                       rglWindowPos3i\n#define glWindowPos3iv                      rglWindowPos3iv\n#define glWindowPos3s                       rglWindowPos3s\n#define glWindowPos3sv                      rglWindowPos3sv\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_VERSION_1_4\nREGAL_DECL void REGAL_CALL glBlendFuncSeparate(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);\nREGAL_DECL void REGAL_CALL glFogCoordPointer(GLenum type, GLsizei stride, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL glFogCoordd(GLdouble coord);\nREGAL_DECL void REGAL_CALL glFogCoorddv(const GLdouble *coord);\nREGAL_DECL void REGAL_CALL glFogCoordf(GLfloat coord);\nREGAL_DECL void REGAL_CALL glFogCoordfv(const GLfloat *coord);\nREGAL_DECL void REGAL_CALL glMultiDrawArrays(GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);\nREGAL_DECL void REGAL_CALL glMultiDrawElements(GLenum mode, const GLsizei *count, GLenum type, const GLvoid * const *indices, GLsizei primcount);\nREGAL_DECL void REGAL_CALL glPointParameterf(GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL glPointParameterfv(GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL glPointParameteri(GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL glPointParameteriv(GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL glSecondaryColor3b(GLbyte red, GLbyte green, GLbyte blue);\nREGAL_DECL void REGAL_CALL glSecondaryColor3bv(const GLbyte *v);\nREGAL_DECL void REGAL_CALL glSecondaryColor3d(GLdouble red, GLdouble green, GLdouble blue);\nREGAL_DECL void REGAL_CALL glSecondaryColor3dv(const GLdouble *v);\nREGAL_DECL void REGAL_CALL glSecondaryColor3f(GLfloat red, GLfloat green, GLfloat blue);\nREGAL_DECL void REGAL_CALL glSecondaryColor3fv(const GLfloat *v);\nREGAL_DECL void REGAL_CALL glSecondaryColor3i(GLint red, GLint green, GLint blue);\nREGAL_DECL void REGAL_CALL glSecondaryColor3iv(const GLint *v);\nREGAL_DECL void REGAL_CALL glSecondaryColor3s(GLshort red, GLshort green, GLshort blue);\nREGAL_DECL void REGAL_CALL glSecondaryColor3sv(const GLshort *v);\nREGAL_DECL void REGAL_CALL glSecondaryColor3ub(GLubyte red, GLubyte green, GLubyte blue);\nREGAL_DECL void REGAL_CALL glSecondaryColor3ubv(const GLubyte *v);\nREGAL_DECL void REGAL_CALL glSecondaryColor3ui(GLuint red, GLuint green, GLuint blue);\nREGAL_DECL void REGAL_CALL glSecondaryColor3uiv(const GLuint *v);\nREGAL_DECL void REGAL_CALL glSecondaryColor3us(GLushort red, GLushort green, GLushort blue);\nREGAL_DECL void REGAL_CALL glSecondaryColor3usv(const GLushort *v);\nREGAL_DECL void REGAL_CALL glSecondaryColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL glWindowPos2d(GLdouble x, GLdouble y);\nREGAL_DECL void REGAL_CALL glWindowPos2dv(const GLdouble *p);\nREGAL_DECL void REGAL_CALL glWindowPos2f(GLfloat x, GLfloat y);\nREGAL_DECL void REGAL_CALL glWindowPos2fv(const GLfloat *p);\nREGAL_DECL void REGAL_CALL glWindowPos2i(GLint x, GLint y);\nREGAL_DECL void REGAL_CALL glWindowPos2iv(const GLint *p);\nREGAL_DECL void REGAL_CALL glWindowPos2s(GLshort x, GLshort y);\nREGAL_DECL void REGAL_CALL glWindowPos2sv(const GLshort *p);\nREGAL_DECL void REGAL_CALL glWindowPos3d(GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL glWindowPos3dv(const GLdouble *p);\nREGAL_DECL void REGAL_CALL glWindowPos3f(GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL glWindowPos3fv(const GLfloat *p);\nREGAL_DECL void REGAL_CALL glWindowPos3i(GLint x, GLint y, GLint z);\nREGAL_DECL void REGAL_CALL glWindowPos3iv(const GLint *p);\nREGAL_DECL void REGAL_CALL glWindowPos3s(GLshort x, GLshort y, GLshort z);\nREGAL_DECL void REGAL_CALL glWindowPos3sv(const GLshort *p);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_VERSION_1_4\nREGAL_DECL void REGAL_CALL plugin_glBlendFuncSeparate(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);\nREGAL_DECL void REGAL_CALL plugin_glFogCoordPointer(GLenum type, GLsizei stride, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL plugin_glFogCoordd(GLdouble coord);\nREGAL_DECL void REGAL_CALL plugin_glFogCoorddv(const GLdouble *coord);\nREGAL_DECL void REGAL_CALL plugin_glFogCoordf(GLfloat coord);\nREGAL_DECL void REGAL_CALL plugin_glFogCoordfv(const GLfloat *coord);\nREGAL_DECL void REGAL_CALL plugin_glMultiDrawArrays(GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);\nREGAL_DECL void REGAL_CALL plugin_glMultiDrawElements(GLenum mode, const GLsizei *count, GLenum type, const GLvoid * const *indices, GLsizei primcount);\nREGAL_DECL void REGAL_CALL plugin_glPointParameterf(GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL plugin_glPointParameterfv(GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glPointParameteri(GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL plugin_glPointParameteriv(GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glSecondaryColor3b(GLbyte red, GLbyte green, GLbyte blue);\nREGAL_DECL void REGAL_CALL plugin_glSecondaryColor3bv(const GLbyte *v);\nREGAL_DECL void REGAL_CALL plugin_glSecondaryColor3d(GLdouble red, GLdouble green, GLdouble blue);\nREGAL_DECL void REGAL_CALL plugin_glSecondaryColor3dv(const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glSecondaryColor3f(GLfloat red, GLfloat green, GLfloat blue);\nREGAL_DECL void REGAL_CALL plugin_glSecondaryColor3fv(const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glSecondaryColor3i(GLint red, GLint green, GLint blue);\nREGAL_DECL void REGAL_CALL plugin_glSecondaryColor3iv(const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glSecondaryColor3s(GLshort red, GLshort green, GLshort blue);\nREGAL_DECL void REGAL_CALL plugin_glSecondaryColor3sv(const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glSecondaryColor3ub(GLubyte red, GLubyte green, GLubyte blue);\nREGAL_DECL void REGAL_CALL plugin_glSecondaryColor3ubv(const GLubyte *v);\nREGAL_DECL void REGAL_CALL plugin_glSecondaryColor3ui(GLuint red, GLuint green, GLuint blue);\nREGAL_DECL void REGAL_CALL plugin_glSecondaryColor3uiv(const GLuint *v);\nREGAL_DECL void REGAL_CALL plugin_glSecondaryColor3us(GLushort red, GLushort green, GLushort blue);\nREGAL_DECL void REGAL_CALL plugin_glSecondaryColor3usv(const GLushort *v);\nREGAL_DECL void REGAL_CALL plugin_glSecondaryColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos2d(GLdouble x, GLdouble y);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos2dv(const GLdouble *p);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos2f(GLfloat x, GLfloat y);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos2fv(const GLfloat *p);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos2i(GLint x, GLint y);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos2iv(const GLint *p);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos2s(GLshort x, GLshort y);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos2sv(const GLshort *p);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos3d(GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos3dv(const GLdouble *p);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos3f(GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos3fv(const GLfloat *p);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos3i(GLint x, GLint y, GLint z);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos3iv(const GLint *p);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos3s(GLshort x, GLshort y, GLshort z);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos3sv(const GLshort *p);\n#endif\n\n/**\n ** GL_VERSION_1_5\n **/\n\n#if (defined(GL_VERSION_1_5) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_VERSION_1_5)) && !defined(REGAL_NO_ENUM_GL_VERSION_1_5)\n#define REGAL_NO_ENUM_GL_VERSION_1_5\n#endif\n\n#if (defined(GL_VERSION_1_5) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_VERSION_1_5)) && !defined(REGAL_NO_TYPEDEF_GL_VERSION_1_5)\n#define REGAL_NO_TYPEDEF_GL_VERSION_1_5\n#endif\n\n#if (defined(GL_VERSION_1_5) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_VERSION_1_5)) && !defined(REGAL_NO_NAMESPACE_GL_VERSION_1_5)\n#define REGAL_NO_NAMESPACE_GL_VERSION_1_5\n#endif\n\n#if (defined(GL_VERSION_1_5) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_VERSION_1_5)) && !defined(REGAL_NO_PLUGIN_GL_VERSION_1_5)\n#define REGAL_NO_PLUGIN_GL_VERSION_1_5\n#endif\n\n#if (defined(GL_VERSION_1_5) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_VERSION_1_5)) && !defined(REGAL_NO_DECLARATION_GL_VERSION_1_5)\n#define REGAL_NO_DECLARATION_GL_VERSION_1_5\n#endif\n\n#ifndef GL_VERSION_1_5\n#define GL_VERSION_1_5 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_VERSION_1_5\n#define GL_BUFFER_SIZE                          0x8764                                     /* 34660 */\n#define GL_BUFFER_USAGE                         0x8765                                     /* 34661 */\n#define GL_QUERY_COUNTER_BITS                   0x8864                                     /* 34916 */\n#define GL_CURRENT_QUERY                        0x8865                                     /* 34917 */\n#define GL_QUERY_RESULT                         0x8866                                     /* 34918 */\n#define GL_QUERY_RESULT_AVAILABLE               0x8867                                     /* 34919 */\n#define GL_ARRAY_BUFFER                         0x8892                                     /* 34962 */\n#define GL_ELEMENT_ARRAY_BUFFER                 0x8893                                     /* 34963 */\n#define GL_ARRAY_BUFFER_BINDING                 0x8894                                     /* 34964 */\n#define GL_ELEMENT_ARRAY_BUFFER_BINDING         0x8895                                     /* 34965 */\n#define GL_VERTEX_ARRAY_BUFFER_BINDING          0x8896                                     /* 34966 */\n#define GL_NORMAL_ARRAY_BUFFER_BINDING          0x8897                                     /* 34967 */\n#define GL_COLOR_ARRAY_BUFFER_BINDING           0x8898                                     /* 34968 */\n#define GL_INDEX_ARRAY_BUFFER_BINDING           0x8899                                     /* 34969 */\n#define GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING   0x889a                                     /* 34970 */\n#define GL_EDGE_FLAG_ARRAY_BUFFER_BINDING       0x889b                                     /* 34971 */\n#define GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING 0x889c                                     /* 34972 */\n#define GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING  0x889d                                     /* 34973 */\n#define GL_WEIGHT_ARRAY_BUFFER_BINDING          0x889e                                     /* 34974 */\n#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING   0x889f                                     /* 34975 */\n#define GL_READ_ONLY                            0x88b8                                     /* 35000 */\n#define GL_WRITE_ONLY                           0x88b9                                     /* 35001 */\n#define GL_READ_WRITE                           0x88ba                                     /* 35002 */\n#define GL_BUFFER_ACCESS                        0x88bb                                     /* 35003 */\n#define GL_BUFFER_MAPPED                        0x88bc                                     /* 35004 */\n#define GL_BUFFER_MAP_POINTER                   0x88bd                                     /* 35005 */\n#define GL_STREAM_DRAW                          0x88e0                                     /* 35040 */\n#define GL_STREAM_READ                          0x88e1                                     /* 35041 */\n#define GL_STREAM_COPY                          0x88e2                                     /* 35042 */\n#define GL_STATIC_DRAW                          0x88e4                                     /* 35044 */\n#define GL_STATIC_READ                          0x88e5                                     /* 35045 */\n#define GL_STATIC_COPY                          0x88e6                                     /* 35046 */\n#define GL_DYNAMIC_DRAW                         0x88e8                                     /* 35048 */\n#define GL_DYNAMIC_READ                         0x88e9                                     /* 35049 */\n#define GL_DYNAMIC_COPY                         0x88ea                                     /* 35050 */\n#define GL_SAMPLES_PASSED                       0x8914                                     /* 35092 */\n#define GL_CURRENT_FOG_COORD                    GL_CURRENT_FOG_COORDINATE\n#define GL_FOG_COORD                            GL_FOG_COORDINATE\n#define GL_FOG_COORD_ARRAY                      GL_FOG_COORDINATE_ARRAY\n#define GL_FOG_COORD_ARRAY_BUFFER_BINDING       GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING\n#define GL_FOG_COORD_ARRAY_POINTER              GL_FOG_COORDINATE_ARRAY_POINTER\n#define GL_FOG_COORD_ARRAY_STRIDE               GL_FOG_COORDINATE_ARRAY_STRIDE\n#define GL_FOG_COORD_ARRAY_TYPE                 GL_FOG_COORDINATE_ARRAY_TYPE\n#define GL_FOG_COORD_SRC                        GL_FOG_COORDINATE_SOURCE\n#define GL_SRC0_ALPHA                           GL_SOURCE0_ALPHA\n#define GL_SRC0_RGB                             GL_SOURCE0_RGB\n#define GL_SRC1_ALPHA                           GL_SOURCE1_ALPHA\n#define GL_SRC1_RGB                             GL_SOURCE1_RGB\n#define GL_SRC2_ALPHA                           GL_SOURCE2_ALPHA\n#define GL_SRC2_RGB                             GL_SOURCE2_RGB\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_VERSION_1_5\ntypedef GLboolean (REGAL_CALL *PFNGLISBUFFERPROC)(GLuint buffer);\ntypedef GLboolean (REGAL_CALL *PFNGLISQUERYPROC)(GLuint id);\ntypedef GLboolean (REGAL_CALL *PFNGLUNMAPBUFFERPROC)(GLenum target);\ntypedef GLvoid *(REGAL_CALL *PFNGLMAPBUFFERPROC)(GLenum target, GLenum access);\ntypedef void (REGAL_CALL *PFNGLBEGINQUERYPROC)(GLenum target, GLuint id);\ntypedef void (REGAL_CALL *PFNGLBINDBUFFERPROC)(GLenum target, GLuint buffer);\ntypedef void (REGAL_CALL *PFNGLBUFFERDATAPROC)(GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage);\ntypedef void (REGAL_CALL *PFNGLBUFFERSUBDATAPROC)(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data);\ntypedef void (REGAL_CALL *PFNGLDELETEBUFFERSPROC)(GLsizei n, const GLuint *buffers);\ntypedef void (REGAL_CALL *PFNGLDELETEQUERIESPROC)(GLsizei n, const GLuint *ids);\ntypedef void (REGAL_CALL *PFNGLENDQUERYPROC)(GLenum target);\ntypedef void (REGAL_CALL *PFNGLGENBUFFERSPROC)(GLsizei n, GLuint *buffers);\ntypedef void (REGAL_CALL *PFNGLGENQUERIESPROC)(GLsizei n, GLuint *ids);\ntypedef void (REGAL_CALL *PFNGLGETBUFFERPARAMETERIVPROC)(GLenum target, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETBUFFERPOINTERVPROC)(GLenum target, GLenum pname, GLvoid **params);\ntypedef void (REGAL_CALL *PFNGLGETBUFFERSUBDATAPROC)(GLenum target, GLintptr offset, GLsizeiptr size, GLvoid *data);\ntypedef void (REGAL_CALL *PFNGLGETQUERYIVPROC)(GLenum target, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETQUERYOBJECTIVPROC)(GLuint id, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETQUERYOBJECTUIVPROC)(GLuint id, GLenum pname, GLuint *params);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_VERSION_1_5\n#define glBeginQuery                        rglBeginQuery\n#define glBindBuffer                        rglBindBuffer\n#define glBufferData                        rglBufferData\n#define glBufferSubData                     rglBufferSubData\n#define glDeleteBuffers                     rglDeleteBuffers\n#define glDeleteQueries                     rglDeleteQueries\n#define glEndQuery                          rglEndQuery\n#define glGenBuffers                        rglGenBuffers\n#define glGenQueries                        rglGenQueries\n#define glGetBufferParameteriv              rglGetBufferParameteriv\n#define glGetBufferPointerv                 rglGetBufferPointerv\n#define glGetBufferSubData                  rglGetBufferSubData\n#define glGetQueryObjectiv                  rglGetQueryObjectiv\n#define glGetQueryObjectuiv                 rglGetQueryObjectuiv\n#define glGetQueryiv                        rglGetQueryiv\n#define glIsBuffer                          rglIsBuffer\n#define glIsQuery                           rglIsQuery\n#define glMapBuffer                         rglMapBuffer\n#define glUnmapBuffer                       rglUnmapBuffer\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_VERSION_1_5\nREGAL_DECL GLboolean REGAL_CALL glIsBuffer(GLuint buffer);\nREGAL_DECL GLboolean REGAL_CALL glIsQuery(GLuint id);\nREGAL_DECL GLboolean REGAL_CALL glUnmapBuffer(GLenum target);\nREGAL_DECL GLvoid *REGAL_CALL glMapBuffer(GLenum target, GLenum access);\nREGAL_DECL void REGAL_CALL glBeginQuery(GLenum target, GLuint id);\nREGAL_DECL void REGAL_CALL glBindBuffer(GLenum target, GLuint buffer);\nREGAL_DECL void REGAL_CALL glBufferData(GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage);\nREGAL_DECL void REGAL_CALL glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data);\nREGAL_DECL void REGAL_CALL glDeleteBuffers(GLsizei n, const GLuint *buffers);\nREGAL_DECL void REGAL_CALL glDeleteQueries(GLsizei n, const GLuint *ids);\nREGAL_DECL void REGAL_CALL glEndQuery(GLenum target);\nREGAL_DECL void REGAL_CALL glGenBuffers(GLsizei n, GLuint *buffers);\nREGAL_DECL void REGAL_CALL glGenQueries(GLsizei n, GLuint *ids);\nREGAL_DECL void REGAL_CALL glGetBufferParameteriv(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetBufferPointerv(GLenum target, GLenum pname, GLvoid **params);\nREGAL_DECL void REGAL_CALL glGetBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, GLvoid *data);\nREGAL_DECL void REGAL_CALL glGetQueryObjectiv(GLuint id, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetQueryObjectuiv(GLuint id, GLenum pname, GLuint *params);\nREGAL_DECL void REGAL_CALL glGetQueryiv(GLenum target, GLenum pname, GLint *params);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_VERSION_1_5\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsBuffer(GLuint buffer);\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsQuery(GLuint id);\nREGAL_DECL GLboolean REGAL_CALL plugin_glUnmapBuffer(GLenum target);\nREGAL_DECL GLvoid *REGAL_CALL plugin_glMapBuffer(GLenum target, GLenum access);\nREGAL_DECL void REGAL_CALL plugin_glBeginQuery(GLenum target, GLuint id);\nREGAL_DECL void REGAL_CALL plugin_glBindBuffer(GLenum target, GLuint buffer);\nREGAL_DECL void REGAL_CALL plugin_glBufferData(GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage);\nREGAL_DECL void REGAL_CALL plugin_glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data);\nREGAL_DECL void REGAL_CALL plugin_glDeleteBuffers(GLsizei n, const GLuint *buffers);\nREGAL_DECL void REGAL_CALL plugin_glDeleteQueries(GLsizei n, const GLuint *ids);\nREGAL_DECL void REGAL_CALL plugin_glEndQuery(GLenum target);\nREGAL_DECL void REGAL_CALL plugin_glGenBuffers(GLsizei n, GLuint *buffers);\nREGAL_DECL void REGAL_CALL plugin_glGenQueries(GLsizei n, GLuint *ids);\nREGAL_DECL void REGAL_CALL plugin_glGetBufferParameteriv(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetBufferPointerv(GLenum target, GLenum pname, GLvoid **params);\nREGAL_DECL void REGAL_CALL plugin_glGetBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, GLvoid *data);\nREGAL_DECL void REGAL_CALL plugin_glGetQueryObjectiv(GLuint id, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetQueryObjectuiv(GLuint id, GLenum pname, GLuint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetQueryiv(GLenum target, GLenum pname, GLint *params);\n#endif\n\n/**\n ** GL_VERSION_2_0\n **/\n\n#if (defined(GL_VERSION_2_0) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_VERSION_2_0)) && !defined(REGAL_NO_ENUM_GL_VERSION_2_0)\n#define REGAL_NO_ENUM_GL_VERSION_2_0\n#endif\n\n#if (defined(GL_VERSION_2_0) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_VERSION_2_0)) && !defined(REGAL_NO_TYPEDEF_GL_VERSION_2_0)\n#define REGAL_NO_TYPEDEF_GL_VERSION_2_0\n#endif\n\n#if (defined(GL_VERSION_2_0) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_VERSION_2_0)) && !defined(REGAL_NO_NAMESPACE_GL_VERSION_2_0)\n#define REGAL_NO_NAMESPACE_GL_VERSION_2_0\n#endif\n\n#if (defined(GL_VERSION_2_0) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_VERSION_2_0)) && !defined(REGAL_NO_PLUGIN_GL_VERSION_2_0)\n#define REGAL_NO_PLUGIN_GL_VERSION_2_0\n#endif\n\n#if (defined(GL_VERSION_2_0) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_VERSION_2_0)) && !defined(REGAL_NO_DECLARATION_GL_VERSION_2_0)\n#define REGAL_NO_DECLARATION_GL_VERSION_2_0\n#endif\n\n#ifndef GL_VERSION_2_0\n#define GL_VERSION_2_0 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_VERSION_2_0\n#define GL_VERTEX_ATTRIB_ARRAY_ENABLED      0x8622                /* 34338 */\n#define GL_VERTEX_ATTRIB_ARRAY_SIZE         0x8623                /* 34339 */\n#define GL_VERTEX_ATTRIB_ARRAY_STRIDE       0x8624                /* 34340 */\n#define GL_VERTEX_ATTRIB_ARRAY_TYPE         0x8625                /* 34341 */\n#define GL_CURRENT_VERTEX_ATTRIB            0x8626                /* 34342 */\n#define GL_VERTEX_PROGRAM_POINT_SIZE        0x8642                /* 34370 */\n#define GL_VERTEX_PROGRAM_TWO_SIDE          0x8643                /* 34371 */\n#define GL_VERTEX_ATTRIB_ARRAY_POINTER      0x8645                /* 34373 */\n#define GL_STENCIL_BACK_FUNC                0x8800                /* 34816 */\n#define GL_STENCIL_BACK_FAIL                0x8801                /* 34817 */\n#define GL_STENCIL_BACK_PASS_DEPTH_FAIL     0x8802                /* 34818 */\n#define GL_STENCIL_BACK_PASS_DEPTH_PASS     0x8803                /* 34819 */\n#define GL_MAX_DRAW_BUFFERS                 0x8824                /* 34852 */\n#define GL_DRAW_BUFFER0                     0x8825                /* 34853 */\n#define GL_DRAW_BUFFER1                     0x8826                /* 34854 */\n#define GL_DRAW_BUFFER2                     0x8827                /* 34855 */\n#define GL_DRAW_BUFFER3                     0x8828                /* 34856 */\n#define GL_DRAW_BUFFER4                     0x8829                /* 34857 */\n#define GL_DRAW_BUFFER5                     0x882a                /* 34858 */\n#define GL_DRAW_BUFFER6                     0x882b                /* 34859 */\n#define GL_DRAW_BUFFER7                     0x882c                /* 34860 */\n#define GL_DRAW_BUFFER8                     0x882d                /* 34861 */\n#define GL_DRAW_BUFFER9                     0x882e                /* 34862 */\n#define GL_DRAW_BUFFER10                    0x882f                /* 34863 */\n#define GL_DRAW_BUFFER11                    0x8830                /* 34864 */\n#define GL_DRAW_BUFFER12                    0x8831                /* 34865 */\n#define GL_DRAW_BUFFER13                    0x8832                /* 34866 */\n#define GL_DRAW_BUFFER14                    0x8833                /* 34867 */\n#define GL_DRAW_BUFFER15                    0x8834                /* 34868 */\n#define GL_BLEND_EQUATION_ALPHA             0x883d                /* 34877 */\n#define GL_POINT_SPRITE                     0x8861                /* 34913 */\n#define GL_COORD_REPLACE                    0x8862                /* 34914 */\n#define GL_MAX_VERTEX_ATTRIBS               0x8869                /* 34921 */\n#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED   0x886a                /* 34922 */\n#define GL_MAX_TEXTURE_COORDS               0x8871                /* 34929 */\n#define GL_MAX_TEXTURE_IMAGE_UNITS          0x8872                /* 34930 */\n#define GL_FRAGMENT_SHADER                  0x8b30                /* 35632 */\n#define GL_VERTEX_SHADER                    0x8b31                /* 35633 */\n#define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS  0x8b49                /* 35657 */\n#define GL_MAX_VERTEX_UNIFORM_COMPONENTS    0x8b4a                /* 35658 */\n#define GL_MAX_VARYING_FLOATS               0x8b4b                /* 35659 */\n#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS   0x8b4c                /* 35660 */\n#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS 0x8b4d                /* 35661 */\n#define GL_SHADER_TYPE                      0x8b4f                /* 35663 */\n#define GL_FLOAT_VEC2                       0x8b50                /* 35664 */\n#define GL_FLOAT_VEC3                       0x8b51                /* 35665 */\n#define GL_FLOAT_VEC4                       0x8b52                /* 35666 */\n#define GL_INT_VEC2                         0x8b53                /* 35667 */\n#define GL_INT_VEC3                         0x8b54                /* 35668 */\n#define GL_INT_VEC4                         0x8b55                /* 35669 */\n#define GL_BOOL                             0x8b56                /* 35670 */\n#define GL_BOOL_VEC2                        0x8b57                /* 35671 */\n#define GL_BOOL_VEC3                        0x8b58                /* 35672 */\n#define GL_BOOL_VEC4                        0x8b59                /* 35673 */\n#define GL_FLOAT_MAT2                       0x8b5a                /* 35674 */\n#define GL_FLOAT_MAT3                       0x8b5b                /* 35675 */\n#define GL_FLOAT_MAT4                       0x8b5c                /* 35676 */\n#define GL_SAMPLER_1D                       0x8b5d                /* 35677 */\n#define GL_SAMPLER_2D                       0x8b5e                /* 35678 */\n#define GL_SAMPLER_3D                       0x8b5f                /* 35679 */\n#define GL_SAMPLER_CUBE                     0x8b60                /* 35680 */\n#define GL_SAMPLER_1D_SHADOW                0x8b61                /* 35681 */\n#define GL_SAMPLER_2D_SHADOW                0x8b62                /* 35682 */\n#define GL_DELETE_STATUS                    0x8b80                /* 35712 */\n#define GL_COMPILE_STATUS                   0x8b81                /* 35713 */\n#define GL_LINK_STATUS                      0x8b82                /* 35714 */\n#define GL_VALIDATE_STATUS                  0x8b83                /* 35715 */\n#define GL_INFO_LOG_LENGTH                  0x8b84                /* 35716 */\n#define GL_ATTACHED_SHADERS                 0x8b85                /* 35717 */\n#define GL_ACTIVE_UNIFORMS                  0x8b86                /* 35718 */\n#define GL_ACTIVE_UNIFORM_MAX_LENGTH        0x8b87                /* 35719 */\n#define GL_SHADER_SOURCE_LENGTH             0x8b88                /* 35720 */\n#define GL_ACTIVE_ATTRIBUTES                0x8b89                /* 35721 */\n#define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH      0x8b8a                /* 35722 */\n#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT  0x8b8b                /* 35723 */\n#define GL_SHADING_LANGUAGE_VERSION         0x8b8c                /* 35724 */\n#define GL_CURRENT_PROGRAM                  0x8b8d                /* 35725 */\n#define GL_POINT_SPRITE_COORD_ORIGIN        0x8ca0                /* 36000 */\n#define GL_LOWER_LEFT                       0x8ca1                /* 36001 */\n#define GL_UPPER_LEFT                       0x8ca2                /* 36002 */\n#define GL_STENCIL_BACK_REF                 0x8ca3                /* 36003 */\n#define GL_STENCIL_BACK_VALUE_MASK          0x8ca4                /* 36004 */\n#define GL_STENCIL_BACK_WRITEMASK           0x8ca5                /* 36005 */\n#define GL_BLEND_EQUATION_RGB               GL_BLEND_EQUATION\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_VERSION_2_0\ntypedef GLboolean (REGAL_CALL *PFNGLISPROGRAMPROC)(GLuint program);\ntypedef GLboolean (REGAL_CALL *PFNGLISSHADERPROC)(GLuint shader);\ntypedef GLint (REGAL_CALL *PFNGLGETATTRIBLOCATIONPROC)(GLuint program, const GLchar *name);\ntypedef GLint (REGAL_CALL *PFNGLGETUNIFORMLOCATIONPROC)(GLuint program, const GLchar *name);\ntypedef GLuint (REGAL_CALL *PFNGLCREATEPROGRAMPROC)(void);\ntypedef GLuint (REGAL_CALL *PFNGLCREATESHADERPROC)(GLenum type);\ntypedef void (REGAL_CALL *PFNGLATTACHSHADERPROC)(GLuint program, GLuint shader);\ntypedef void (REGAL_CALL *PFNGLBINDATTRIBLOCATIONPROC)(GLuint program, GLuint index, const GLchar *name);\ntypedef void (REGAL_CALL *PFNGLBLENDEQUATIONSEPARATEPROC)(GLenum modeRGB, GLenum modeAlpha);\ntypedef void (REGAL_CALL *PFNGLCOMPILESHADERPROC)(GLuint shader);\ntypedef void (REGAL_CALL *PFNGLDELETEPROGRAMPROC)(GLuint program);\ntypedef void (REGAL_CALL *PFNGLDELETESHADERPROC)(GLuint shader);\ntypedef void (REGAL_CALL *PFNGLDETACHSHADERPROC)(GLuint program, GLuint shader);\ntypedef void (REGAL_CALL *PFNGLDISABLEVERTEXATTRIBARRAYPROC)(GLuint index);\ntypedef void (REGAL_CALL *PFNGLDRAWBUFFERSPROC)(GLsizei n, const GLenum *bufs);\ntypedef void (REGAL_CALL *PFNGLENABLEVERTEXATTRIBARRAYPROC)(GLuint index);\ntypedef void (REGAL_CALL *PFNGLGETACTIVEATTRIBPROC)(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);\ntypedef void (REGAL_CALL *PFNGLGETACTIVEUNIFORMPROC)(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);\ntypedef void (REGAL_CALL *PFNGLGETATTACHEDSHADERSPROC)(GLuint program, GLsizei maxCount, GLsizei *count, GLuint *shaders);\ntypedef void (REGAL_CALL *PFNGLGETPROGRAMINFOLOGPROC)(GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog);\ntypedef void (REGAL_CALL *PFNGLGETPROGRAMIVPROC)(GLuint program, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETSHADERINFOLOGPROC)(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog);\ntypedef void (REGAL_CALL *PFNGLGETSHADERIVPROC)(GLuint shader, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETSHADERSOURCEPROC)(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source);\ntypedef void (REGAL_CALL *PFNGLGETUNIFORMFVPROC)(GLuint program, GLint location, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETUNIFORMIVPROC)(GLuint program, GLint location, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETVERTEXATTRIBDVPROC)(GLuint index, GLenum pname, GLdouble *params);\ntypedef void (REGAL_CALL *PFNGLGETVERTEXATTRIBFVPROC)(GLuint index, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETVERTEXATTRIBIVPROC)(GLuint index, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETVERTEXATTRIBPOINTERVPROC)(GLuint index, GLenum pname, GLvoid **pointer);\ntypedef void (REGAL_CALL *PFNGLLINKPROGRAMPROC)(GLuint program);\ntypedef void (REGAL_CALL *PFNGLSHADERSOURCEPROC)(GLuint shader, GLsizei count, const GLchar * const *string, const GLint *length);\ntypedef void (REGAL_CALL *PFNGLSTENCILFUNCSEPARATEPROC)(GLenum face, GLenum func, GLint ref, GLuint mask);\ntypedef void (REGAL_CALL *PFNGLSTENCILMASKSEPARATEPROC)(GLenum face, GLuint mask);\ntypedef void (REGAL_CALL *PFNGLSTENCILOPSEPARATEPROC)(GLenum face, GLenum fail, GLenum zfail, GLenum zpass);\ntypedef void (REGAL_CALL *PFNGLUNIFORM1FPROC)(GLint location, GLfloat v0);\ntypedef void (REGAL_CALL *PFNGLUNIFORM1FVPROC)(GLint location, GLsizei count, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORM1IPROC)(GLint location, GLint v0);\ntypedef void (REGAL_CALL *PFNGLUNIFORM1IVPROC)(GLint location, GLsizei count, const GLint *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORM2FPROC)(GLint location, GLfloat v0, GLfloat v1);\ntypedef void (REGAL_CALL *PFNGLUNIFORM2FVPROC)(GLint location, GLsizei count, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORM2IPROC)(GLint location, GLint v0, GLint v1);\ntypedef void (REGAL_CALL *PFNGLUNIFORM2IVPROC)(GLint location, GLsizei count, const GLint *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORM3FPROC)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2);\ntypedef void (REGAL_CALL *PFNGLUNIFORM3FVPROC)(GLint location, GLsizei count, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORM3IPROC)(GLint location, GLint v0, GLint v1, GLint v2);\ntypedef void (REGAL_CALL *PFNGLUNIFORM3IVPROC)(GLint location, GLsizei count, const GLint *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORM4FPROC)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);\ntypedef void (REGAL_CALL *PFNGLUNIFORM4FVPROC)(GLint location, GLsizei count, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORM4IPROC)(GLint location, GLint v0, GLint v1, GLint v2, GLint v3);\ntypedef void (REGAL_CALL *PFNGLUNIFORM4IVPROC)(GLint location, GLsizei count, const GLint *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORMMATRIX2FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORMMATRIX3FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORMMATRIX4FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLUSEPROGRAMPROC)(GLuint program);\ntypedef void (REGAL_CALL *PFNGLVALIDATEPROGRAMPROC)(GLuint program);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB1DPROC)(GLuint index, GLdouble x);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB1DVPROC)(GLuint index, const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB1FPROC)(GLuint index, GLfloat x);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB1FVPROC)(GLuint index, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB1SPROC)(GLuint index, GLshort x);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB1SVPROC)(GLuint index, const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB2DPROC)(GLuint index, GLdouble x, GLdouble y);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB2DVPROC)(GLuint index, const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB2FPROC)(GLuint index, GLfloat x, GLfloat y);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB2FVPROC)(GLuint index, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB2SPROC)(GLuint index, GLshort x, GLshort y);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB2SVPROC)(GLuint index, const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB3DPROC)(GLuint index, GLdouble x, GLdouble y, GLdouble z);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB3DVPROC)(GLuint index, const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB3FPROC)(GLuint index, GLfloat x, GLfloat y, GLfloat z);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB3FVPROC)(GLuint index, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB3SPROC)(GLuint index, GLshort x, GLshort y, GLshort z);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB3SVPROC)(GLuint index, const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4BVPROC)(GLuint index, const GLbyte *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4DPROC)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4DVPROC)(GLuint index, const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4FPROC)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4FVPROC)(GLuint index, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4IVPROC)(GLuint index, const GLint *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4NBVPROC)(GLuint index, const GLbyte *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4NIVPROC)(GLuint index, const GLint *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4NSVPROC)(GLuint index, const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4NUBPROC)(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4NUBVPROC)(GLuint index, const GLubyte *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4NUIVPROC)(GLuint index, const GLuint *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4NUSVPROC)(GLuint index, const GLushort *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4SPROC)(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4SVPROC)(GLuint index, const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4UBVPROC)(GLuint index, const GLubyte *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4UIVPROC)(GLuint index, const GLuint *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4USVPROC)(GLuint index, const GLushort *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBPOINTERPROC)(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_VERSION_2_0\n#define glAttachShader                      rglAttachShader\n#define glBindAttribLocation                rglBindAttribLocation\n#define glBlendEquationSeparate             rglBlendEquationSeparate\n#define glCompileShader                     rglCompileShader\n#define glCreateProgram                     rglCreateProgram\n#define glCreateShader                      rglCreateShader\n#define glDeleteProgram                     rglDeleteProgram\n#define glDeleteShader                      rglDeleteShader\n#define glDetachShader                      rglDetachShader\n#define glDisableVertexAttribArray          rglDisableVertexAttribArray\n#define glDrawBuffers                       rglDrawBuffers\n#define glEnableVertexAttribArray           rglEnableVertexAttribArray\n#define glGetActiveAttrib                   rglGetActiveAttrib\n#define glGetActiveUniform                  rglGetActiveUniform\n#define glGetAttachedShaders                rglGetAttachedShaders\n#define glGetAttribLocation                 rglGetAttribLocation\n#define glGetProgramInfoLog                 rglGetProgramInfoLog\n#define glGetProgramiv                      rglGetProgramiv\n#define glGetShaderInfoLog                  rglGetShaderInfoLog\n#define glGetShaderSource                   rglGetShaderSource\n#define glGetShaderiv                       rglGetShaderiv\n#define glGetUniformLocation                rglGetUniformLocation\n#define glGetUniformfv                      rglGetUniformfv\n#define glGetUniformiv                      rglGetUniformiv\n#define glGetVertexAttribPointerv           rglGetVertexAttribPointerv\n#define glGetVertexAttribdv                 rglGetVertexAttribdv\n#define glGetVertexAttribfv                 rglGetVertexAttribfv\n#define glGetVertexAttribiv                 rglGetVertexAttribiv\n#define glIsProgram                         rglIsProgram\n#define glIsShader                          rglIsShader\n#define glLinkProgram                       rglLinkProgram\n#define glShaderSource                      rglShaderSource\n#define glStencilFuncSeparate               rglStencilFuncSeparate\n#define glStencilMaskSeparate               rglStencilMaskSeparate\n#define glStencilOpSeparate                 rglStencilOpSeparate\n#define glUniform1f                         rglUniform1f\n#define glUniform1fv                        rglUniform1fv\n#define glUniform1i                         rglUniform1i\n#define glUniform1iv                        rglUniform1iv\n#define glUniform2f                         rglUniform2f\n#define glUniform2fv                        rglUniform2fv\n#define glUniform2i                         rglUniform2i\n#define glUniform2iv                        rglUniform2iv\n#define glUniform3f                         rglUniform3f\n#define glUniform3fv                        rglUniform3fv\n#define glUniform3i                         rglUniform3i\n#define glUniform3iv                        rglUniform3iv\n#define glUniform4f                         rglUniform4f\n#define glUniform4fv                        rglUniform4fv\n#define glUniform4i                         rglUniform4i\n#define glUniform4iv                        rglUniform4iv\n#define glUniformMatrix2fv                  rglUniformMatrix2fv\n#define glUniformMatrix3fv                  rglUniformMatrix3fv\n#define glUniformMatrix4fv                  rglUniformMatrix4fv\n#define glUseProgram                        rglUseProgram\n#define glValidateProgram                   rglValidateProgram\n#define glVertexAttrib1d                    rglVertexAttrib1d\n#define glVertexAttrib1dv                   rglVertexAttrib1dv\n#define glVertexAttrib1f                    rglVertexAttrib1f\n#define glVertexAttrib1fv                   rglVertexAttrib1fv\n#define glVertexAttrib1s                    rglVertexAttrib1s\n#define glVertexAttrib1sv                   rglVertexAttrib1sv\n#define glVertexAttrib2d                    rglVertexAttrib2d\n#define glVertexAttrib2dv                   rglVertexAttrib2dv\n#define glVertexAttrib2f                    rglVertexAttrib2f\n#define glVertexAttrib2fv                   rglVertexAttrib2fv\n#define glVertexAttrib2s                    rglVertexAttrib2s\n#define glVertexAttrib2sv                   rglVertexAttrib2sv\n#define glVertexAttrib3d                    rglVertexAttrib3d\n#define glVertexAttrib3dv                   rglVertexAttrib3dv\n#define glVertexAttrib3f                    rglVertexAttrib3f\n#define glVertexAttrib3fv                   rglVertexAttrib3fv\n#define glVertexAttrib3s                    rglVertexAttrib3s\n#define glVertexAttrib3sv                   rglVertexAttrib3sv\n#define glVertexAttrib4Nbv                  rglVertexAttrib4Nbv\n#define glVertexAttrib4Niv                  rglVertexAttrib4Niv\n#define glVertexAttrib4Nsv                  rglVertexAttrib4Nsv\n#define glVertexAttrib4Nub                  rglVertexAttrib4Nub\n#define glVertexAttrib4Nubv                 rglVertexAttrib4Nubv\n#define glVertexAttrib4Nuiv                 rglVertexAttrib4Nuiv\n#define glVertexAttrib4Nusv                 rglVertexAttrib4Nusv\n#define glVertexAttrib4bv                   rglVertexAttrib4bv\n#define glVertexAttrib4d                    rglVertexAttrib4d\n#define glVertexAttrib4dv                   rglVertexAttrib4dv\n#define glVertexAttrib4f                    rglVertexAttrib4f\n#define glVertexAttrib4fv                   rglVertexAttrib4fv\n#define glVertexAttrib4iv                   rglVertexAttrib4iv\n#define glVertexAttrib4s                    rglVertexAttrib4s\n#define glVertexAttrib4sv                   rglVertexAttrib4sv\n#define glVertexAttrib4ubv                  rglVertexAttrib4ubv\n#define glVertexAttrib4uiv                  rglVertexAttrib4uiv\n#define glVertexAttrib4usv                  rglVertexAttrib4usv\n#define glVertexAttribPointer               rglVertexAttribPointer\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_VERSION_2_0\nREGAL_DECL GLboolean REGAL_CALL glIsProgram(GLuint program);\nREGAL_DECL GLboolean REGAL_CALL glIsShader(GLuint shader);\nREGAL_DECL GLint REGAL_CALL glGetAttribLocation(GLuint program, const GLchar *name);\nREGAL_DECL GLint REGAL_CALL glGetUniformLocation(GLuint program, const GLchar *name);\nREGAL_DECL GLuint REGAL_CALL glCreateProgram(void);\nREGAL_DECL GLuint REGAL_CALL glCreateShader(GLenum type);\nREGAL_DECL void REGAL_CALL glAttachShader(GLuint program, GLuint shader);\nREGAL_DECL void REGAL_CALL glBindAttribLocation(GLuint program, GLuint index, const GLchar *name);\nREGAL_DECL void REGAL_CALL glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha);\nREGAL_DECL void REGAL_CALL glCompileShader(GLuint shader);\nREGAL_DECL void REGAL_CALL glDeleteProgram(GLuint program);\nREGAL_DECL void REGAL_CALL glDeleteShader(GLuint shader);\nREGAL_DECL void REGAL_CALL glDetachShader(GLuint program, GLuint shader);\nREGAL_DECL void REGAL_CALL glDisableVertexAttribArray(GLuint index);\nREGAL_DECL void REGAL_CALL glDrawBuffers(GLsizei n, const GLenum *bufs);\nREGAL_DECL void REGAL_CALL glEnableVertexAttribArray(GLuint index);\nREGAL_DECL void REGAL_CALL glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);\nREGAL_DECL void REGAL_CALL glGetActiveUniform(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);\nREGAL_DECL void REGAL_CALL glGetAttachedShaders(GLuint program, GLsizei maxCount, GLsizei *count, GLuint *shaders);\nREGAL_DECL void REGAL_CALL glGetProgramInfoLog(GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog);\nREGAL_DECL void REGAL_CALL glGetProgramiv(GLuint program, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetShaderInfoLog(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog);\nREGAL_DECL void REGAL_CALL glGetShaderSource(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source);\nREGAL_DECL void REGAL_CALL glGetShaderiv(GLuint shader, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetUniformfv(GLuint program, GLint location, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetUniformiv(GLuint program, GLint location, GLint *params);\nREGAL_DECL void REGAL_CALL glGetVertexAttribPointerv(GLuint index, GLenum pname, GLvoid **pointer);\nREGAL_DECL void REGAL_CALL glGetVertexAttribdv(GLuint index, GLenum pname, GLdouble *params);\nREGAL_DECL void REGAL_CALL glGetVertexAttribfv(GLuint index, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetVertexAttribiv(GLuint index, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glLinkProgram(GLuint program);\nREGAL_DECL void REGAL_CALL glShaderSource(GLuint shader, GLsizei count, const GLchar * const *string, const GLint *length);\nREGAL_DECL void REGAL_CALL glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask);\nREGAL_DECL void REGAL_CALL glStencilMaskSeparate(GLenum face, GLuint mask);\nREGAL_DECL void REGAL_CALL glStencilOpSeparate(GLenum face, GLenum fail, GLenum zfail, GLenum zpass);\nREGAL_DECL void REGAL_CALL glUniform1f(GLint location, GLfloat v0);\nREGAL_DECL void REGAL_CALL glUniform1fv(GLint location, GLsizei count, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glUniform1i(GLint location, GLint v0);\nREGAL_DECL void REGAL_CALL glUniform1iv(GLint location, GLsizei count, const GLint *value);\nREGAL_DECL void REGAL_CALL glUniform2f(GLint location, GLfloat v0, GLfloat v1);\nREGAL_DECL void REGAL_CALL glUniform2fv(GLint location, GLsizei count, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glUniform2i(GLint location, GLint v0, GLint v1);\nREGAL_DECL void REGAL_CALL glUniform2iv(GLint location, GLsizei count, const GLint *value);\nREGAL_DECL void REGAL_CALL glUniform3f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2);\nREGAL_DECL void REGAL_CALL glUniform3fv(GLint location, GLsizei count, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glUniform3i(GLint location, GLint v0, GLint v1, GLint v2);\nREGAL_DECL void REGAL_CALL glUniform3iv(GLint location, GLsizei count, const GLint *value);\nREGAL_DECL void REGAL_CALL glUniform4f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);\nREGAL_DECL void REGAL_CALL glUniform4fv(GLint location, GLsizei count, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glUniform4i(GLint location, GLint v0, GLint v1, GLint v2, GLint v3);\nREGAL_DECL void REGAL_CALL glUniform4iv(GLint location, GLsizei count, const GLint *value);\nREGAL_DECL void REGAL_CALL glUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glUniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glUseProgram(GLuint program);\nREGAL_DECL void REGAL_CALL glValidateProgram(GLuint program);\nREGAL_DECL void REGAL_CALL glVertexAttrib1d(GLuint index, GLdouble x);\nREGAL_DECL void REGAL_CALL glVertexAttrib1dv(GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib1f(GLuint index, GLfloat x);\nREGAL_DECL void REGAL_CALL glVertexAttrib1fv(GLuint index, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib1s(GLuint index, GLshort x);\nREGAL_DECL void REGAL_CALL glVertexAttrib1sv(GLuint index, const GLshort *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib2d(GLuint index, GLdouble x, GLdouble y);\nREGAL_DECL void REGAL_CALL glVertexAttrib2dv(GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib2f(GLuint index, GLfloat x, GLfloat y);\nREGAL_DECL void REGAL_CALL glVertexAttrib2fv(GLuint index, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib2s(GLuint index, GLshort x, GLshort y);\nREGAL_DECL void REGAL_CALL glVertexAttrib2sv(GLuint index, const GLshort *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib3d(GLuint index, GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL glVertexAttrib3dv(GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib3f(GLuint index, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL glVertexAttrib3fv(GLuint index, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib3s(GLuint index, GLshort x, GLshort y, GLshort z);\nREGAL_DECL void REGAL_CALL glVertexAttrib3sv(GLuint index, const GLshort *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib4Nbv(GLuint index, const GLbyte *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib4Niv(GLuint index, const GLint *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib4Nsv(GLuint index, const GLshort *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib4Nub(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);\nREGAL_DECL void REGAL_CALL glVertexAttrib4Nubv(GLuint index, const GLubyte *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib4Nuiv(GLuint index, const GLuint *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib4Nusv(GLuint index, const GLushort *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib4bv(GLuint index, const GLbyte *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib4d(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nREGAL_DECL void REGAL_CALL glVertexAttrib4dv(GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib4f(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nREGAL_DECL void REGAL_CALL glVertexAttrib4fv(GLuint index, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib4iv(GLuint index, const GLint *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib4s(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);\nREGAL_DECL void REGAL_CALL glVertexAttrib4sv(GLuint index, const GLshort *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib4ubv(GLuint index, const GLubyte *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib4uiv(GLuint index, const GLuint *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib4usv(GLuint index, const GLushort *v);\nREGAL_DECL void REGAL_CALL glVertexAttribPointer(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_VERSION_2_0\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsProgram(GLuint program);\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsShader(GLuint shader);\nREGAL_DECL GLint REGAL_CALL plugin_glGetAttribLocation(GLuint program, const GLchar *name);\nREGAL_DECL GLint REGAL_CALL plugin_glGetUniformLocation(GLuint program, const GLchar *name);\nREGAL_DECL GLuint REGAL_CALL plugin_glCreateProgram(void);\nREGAL_DECL GLuint REGAL_CALL plugin_glCreateShader(GLenum type);\nREGAL_DECL void REGAL_CALL plugin_glAttachShader(GLuint program, GLuint shader);\nREGAL_DECL void REGAL_CALL plugin_glBindAttribLocation(GLuint program, GLuint index, const GLchar *name);\nREGAL_DECL void REGAL_CALL plugin_glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha);\nREGAL_DECL void REGAL_CALL plugin_glCompileShader(GLuint shader);\nREGAL_DECL void REGAL_CALL plugin_glDeleteProgram(GLuint program);\nREGAL_DECL void REGAL_CALL plugin_glDeleteShader(GLuint shader);\nREGAL_DECL void REGAL_CALL plugin_glDetachShader(GLuint program, GLuint shader);\nREGAL_DECL void REGAL_CALL plugin_glDisableVertexAttribArray(GLuint index);\nREGAL_DECL void REGAL_CALL plugin_glDrawBuffers(GLsizei n, const GLenum *bufs);\nREGAL_DECL void REGAL_CALL plugin_glEnableVertexAttribArray(GLuint index);\nREGAL_DECL void REGAL_CALL plugin_glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);\nREGAL_DECL void REGAL_CALL plugin_glGetActiveUniform(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);\nREGAL_DECL void REGAL_CALL plugin_glGetAttachedShaders(GLuint program, GLsizei maxCount, GLsizei *count, GLuint *shaders);\nREGAL_DECL void REGAL_CALL plugin_glGetProgramInfoLog(GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog);\nREGAL_DECL void REGAL_CALL plugin_glGetProgramiv(GLuint program, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetShaderInfoLog(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog);\nREGAL_DECL void REGAL_CALL plugin_glGetShaderSource(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source);\nREGAL_DECL void REGAL_CALL plugin_glGetShaderiv(GLuint shader, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetUniformfv(GLuint program, GLint location, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetUniformiv(GLuint program, GLint location, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetVertexAttribPointerv(GLuint index, GLenum pname, GLvoid **pointer);\nREGAL_DECL void REGAL_CALL plugin_glGetVertexAttribdv(GLuint index, GLenum pname, GLdouble *params);\nREGAL_DECL void REGAL_CALL plugin_glGetVertexAttribfv(GLuint index, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetVertexAttribiv(GLuint index, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glLinkProgram(GLuint program);\nREGAL_DECL void REGAL_CALL plugin_glShaderSource(GLuint shader, GLsizei count, const GLchar * const *string, const GLint *length);\nREGAL_DECL void REGAL_CALL plugin_glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask);\nREGAL_DECL void REGAL_CALL plugin_glStencilMaskSeparate(GLenum face, GLuint mask);\nREGAL_DECL void REGAL_CALL plugin_glStencilOpSeparate(GLenum face, GLenum fail, GLenum zfail, GLenum zpass);\nREGAL_DECL void REGAL_CALL plugin_glUniform1f(GLint location, GLfloat v0);\nREGAL_DECL void REGAL_CALL plugin_glUniform1fv(GLint location, GLsizei count, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glUniform1i(GLint location, GLint v0);\nREGAL_DECL void REGAL_CALL plugin_glUniform1iv(GLint location, GLsizei count, const GLint *value);\nREGAL_DECL void REGAL_CALL plugin_glUniform2f(GLint location, GLfloat v0, GLfloat v1);\nREGAL_DECL void REGAL_CALL plugin_glUniform2fv(GLint location, GLsizei count, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glUniform2i(GLint location, GLint v0, GLint v1);\nREGAL_DECL void REGAL_CALL plugin_glUniform2iv(GLint location, GLsizei count, const GLint *value);\nREGAL_DECL void REGAL_CALL plugin_glUniform3f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2);\nREGAL_DECL void REGAL_CALL plugin_glUniform3fv(GLint location, GLsizei count, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glUniform3i(GLint location, GLint v0, GLint v1, GLint v2);\nREGAL_DECL void REGAL_CALL plugin_glUniform3iv(GLint location, GLsizei count, const GLint *value);\nREGAL_DECL void REGAL_CALL plugin_glUniform4f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);\nREGAL_DECL void REGAL_CALL plugin_glUniform4fv(GLint location, GLsizei count, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glUniform4i(GLint location, GLint v0, GLint v1, GLint v2, GLint v3);\nREGAL_DECL void REGAL_CALL plugin_glUniform4iv(GLint location, GLsizei count, const GLint *value);\nREGAL_DECL void REGAL_CALL plugin_glUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glUniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glUseProgram(GLuint program);\nREGAL_DECL void REGAL_CALL plugin_glValidateProgram(GLuint program);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib1d(GLuint index, GLdouble x);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib1dv(GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib1f(GLuint index, GLfloat x);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib1fv(GLuint index, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib1s(GLuint index, GLshort x);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib1sv(GLuint index, const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib2d(GLuint index, GLdouble x, GLdouble y);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib2dv(GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib2f(GLuint index, GLfloat x, GLfloat y);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib2fv(GLuint index, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib2s(GLuint index, GLshort x, GLshort y);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib2sv(GLuint index, const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib3d(GLuint index, GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib3dv(GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib3f(GLuint index, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib3fv(GLuint index, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib3s(GLuint index, GLshort x, GLshort y, GLshort z);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib3sv(GLuint index, const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4Nbv(GLuint index, const GLbyte *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4Niv(GLuint index, const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4Nsv(GLuint index, const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4Nub(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4Nubv(GLuint index, const GLubyte *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4Nuiv(GLuint index, const GLuint *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4Nusv(GLuint index, const GLushort *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4bv(GLuint index, const GLbyte *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4d(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4dv(GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4f(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4fv(GLuint index, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4iv(GLuint index, const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4s(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4sv(GLuint index, const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4ubv(GLuint index, const GLubyte *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4uiv(GLuint index, const GLuint *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4usv(GLuint index, const GLushort *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribPointer(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer);\n#endif\n\n/**\n ** GL_VERSION_2_1\n **/\n\n#if (defined(GL_VERSION_2_1) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_VERSION_2_1)) && !defined(REGAL_NO_ENUM_GL_VERSION_2_1)\n#define REGAL_NO_ENUM_GL_VERSION_2_1\n#endif\n\n#if (defined(GL_VERSION_2_1) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_VERSION_2_1)) && !defined(REGAL_NO_TYPEDEF_GL_VERSION_2_1)\n#define REGAL_NO_TYPEDEF_GL_VERSION_2_1\n#endif\n\n#if (defined(GL_VERSION_2_1) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_VERSION_2_1)) && !defined(REGAL_NO_NAMESPACE_GL_VERSION_2_1)\n#define REGAL_NO_NAMESPACE_GL_VERSION_2_1\n#endif\n\n#if (defined(GL_VERSION_2_1) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_VERSION_2_1)) && !defined(REGAL_NO_PLUGIN_GL_VERSION_2_1)\n#define REGAL_NO_PLUGIN_GL_VERSION_2_1\n#endif\n\n#if (defined(GL_VERSION_2_1) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_VERSION_2_1)) && !defined(REGAL_NO_DECLARATION_GL_VERSION_2_1)\n#define REGAL_NO_DECLARATION_GL_VERSION_2_1\n#endif\n\n#ifndef GL_VERSION_2_1\n#define GL_VERSION_2_1 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_VERSION_2_1\n#define GL_CURRENT_RASTER_SECONDARY_COLOR 0x845f     /* 33887 */\n#define GL_PIXEL_PACK_BUFFER              0x88eb     /* 35051 */\n#define GL_PIXEL_UNPACK_BUFFER            0x88ec     /* 35052 */\n#define GL_PIXEL_PACK_BUFFER_BINDING      0x88ed     /* 35053 */\n#define GL_PIXEL_UNPACK_BUFFER_BINDING    0x88ef     /* 35055 */\n#define GL_FLOAT_MAT2x3                   0x8b65     /* 35685 */\n#define GL_FLOAT_MAT2x4                   0x8b66     /* 35686 */\n#define GL_FLOAT_MAT3x2                   0x8b67     /* 35687 */\n#define GL_FLOAT_MAT3x4                   0x8b68     /* 35688 */\n#define GL_FLOAT_MAT4x2                   0x8b69     /* 35689 */\n#define GL_FLOAT_MAT4x3                   0x8b6a     /* 35690 */\n#define GL_SRGB                           0x8c40     /* 35904 */\n#define GL_SRGB8                          0x8c41     /* 35905 */\n#define GL_SRGB_ALPHA                     0x8c42     /* 35906 */\n#define GL_SRGB8_ALPHA8                   0x8c43     /* 35907 */\n#define GL_SLUMINANCE_ALPHA               0x8c44     /* 35908 */\n#define GL_SLUMINANCE8_ALPHA8             0x8c45     /* 35909 */\n#define GL_SLUMINANCE                     0x8c46     /* 35910 */\n#define GL_SLUMINANCE8                    0x8c47     /* 35911 */\n#define GL_COMPRESSED_SRGB                0x8c48     /* 35912 */\n#define GL_COMPRESSED_SRGB_ALPHA          0x8c49     /* 35913 */\n#define GL_COMPRESSED_SLUMINANCE          0x8c4a     /* 35914 */\n#define GL_COMPRESSED_SLUMINANCE_ALPHA    0x8c4b     /* 35915 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_VERSION_2_1\ntypedef void (REGAL_CALL *PFNGLUNIFORMMATRIX2X3FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORMMATRIX2X4FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORMMATRIX3X2FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORMMATRIX3X4FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORMMATRIX4X2FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORMMATRIX4X3FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_VERSION_2_1\n#define glUniformMatrix2x3fv                rglUniformMatrix2x3fv\n#define glUniformMatrix2x4fv                rglUniformMatrix2x4fv\n#define glUniformMatrix3x2fv                rglUniformMatrix3x2fv\n#define glUniformMatrix3x4fv                rglUniformMatrix3x4fv\n#define glUniformMatrix4x2fv                rglUniformMatrix4x2fv\n#define glUniformMatrix4x3fv                rglUniformMatrix4x3fv\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_VERSION_2_1\nREGAL_DECL void REGAL_CALL glUniformMatrix2x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glUniformMatrix2x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glUniformMatrix3x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glUniformMatrix3x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glUniformMatrix4x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glUniformMatrix4x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_VERSION_2_1\nREGAL_DECL void REGAL_CALL plugin_glUniformMatrix2x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glUniformMatrix2x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glUniformMatrix3x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glUniformMatrix3x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glUniformMatrix4x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glUniformMatrix4x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\n#endif\n\n/**\n ** GL_VERSION_3_0\n **/\n\n#if (defined(GL_VERSION_3_0) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_VERSION_3_0)) && !defined(REGAL_NO_ENUM_GL_VERSION_3_0)\n#define REGAL_NO_ENUM_GL_VERSION_3_0\n#endif\n\n#if (defined(GL_VERSION_3_0) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_VERSION_3_0)) && !defined(REGAL_NO_TYPEDEF_GL_VERSION_3_0)\n#define REGAL_NO_TYPEDEF_GL_VERSION_3_0\n#endif\n\n#if (defined(GL_VERSION_3_0) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_VERSION_3_0)) && !defined(REGAL_NO_NAMESPACE_GL_VERSION_3_0)\n#define REGAL_NO_NAMESPACE_GL_VERSION_3_0\n#endif\n\n#if (defined(GL_VERSION_3_0) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_VERSION_3_0)) && !defined(REGAL_NO_PLUGIN_GL_VERSION_3_0)\n#define REGAL_NO_PLUGIN_GL_VERSION_3_0\n#endif\n\n#if (defined(GL_VERSION_3_0) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_VERSION_3_0)) && !defined(REGAL_NO_DECLARATION_GL_VERSION_3_0)\n#define REGAL_NO_DECLARATION_GL_VERSION_3_0\n#endif\n\n#ifndef GL_VERSION_3_0\n#define GL_VERSION_3_0 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_VERSION_3_0\n#define GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT           0x1\n#define GL_MAJOR_VERSION                                 0x821b                          /* 33307 */\n#define GL_MINOR_VERSION                                 0x821c                          /* 33308 */\n#define GL_NUM_EXTENSIONS                                0x821d                          /* 33309 */\n#define GL_CONTEXT_FLAGS                                 0x821e                          /* 33310 */\n#define GL_DEPTH_BUFFER                                  0x8223                          /* 33315 */\n#define GL_STENCIL_BUFFER                                0x8224                          /* 33316 */\n#define GL_RGBA32F                                       0x8814                          /* 34836 */\n#define GL_RGB32F                                        0x8815                          /* 34837 */\n#define GL_RGBA16F                                       0x881a                          /* 34842 */\n#define GL_RGB16F                                        0x881b                          /* 34843 */\n#define GL_VERTEX_ATTRIB_ARRAY_INTEGER                   0x88fd                          /* 35069 */\n#define GL_MAX_ARRAY_TEXTURE_LAYERS                      0x88ff                          /* 35071 */\n#define GL_MIN_PROGRAM_TEXEL_OFFSET                      0x8904                          /* 35076 */\n#define GL_MAX_PROGRAM_TEXEL_OFFSET                      0x8905                          /* 35077 */\n#define GL_CLAMP_VERTEX_COLOR                            0x891a                          /* 35098 */\n#define GL_CLAMP_FRAGMENT_COLOR                          0x891b                          /* 35099 */\n#define GL_CLAMP_READ_COLOR                              0x891c                          /* 35100 */\n#define GL_FIXED_ONLY                                    0x891d                          /* 35101 */\n#define GL_TEXTURE_RED_TYPE                              0x8c10                          /* 35856 */\n#define GL_TEXTURE_GREEN_TYPE                            0x8c11                          /* 35857 */\n#define GL_TEXTURE_BLUE_TYPE                             0x8c12                          /* 35858 */\n#define GL_TEXTURE_ALPHA_TYPE                            0x8c13                          /* 35859 */\n#define GL_TEXTURE_LUMINANCE_TYPE                        0x8c14                          /* 35860 */\n#define GL_TEXTURE_INTENSITY_TYPE                        0x8c15                          /* 35861 */\n#define GL_TEXTURE_DEPTH_TYPE                            0x8c16                          /* 35862 */\n#define GL_TEXTURE_1D_ARRAY                              0x8c18                          /* 35864 */\n#define GL_PROXY_TEXTURE_1D_ARRAY                        0x8c19                          /* 35865 */\n#define GL_TEXTURE_2D_ARRAY                              0x8c1a                          /* 35866 */\n#define GL_PROXY_TEXTURE_2D_ARRAY                        0x8c1b                          /* 35867 */\n#define GL_TEXTURE_BINDING_1D_ARRAY                      0x8c1c                          /* 35868 */\n#define GL_TEXTURE_BINDING_2D_ARRAY                      0x8c1d                          /* 35869 */\n#define GL_R11F_G11F_B10F                                0x8c3a                          /* 35898 */\n#define GL_UNSIGNED_INT_10F_11F_11F_REV                  0x8c3b                          /* 35899 */\n#define GL_RGB9_E5                                       0x8c3d                          /* 35901 */\n#define GL_UNSIGNED_INT_5_9_9_9_REV                      0x8c3e                          /* 35902 */\n#define GL_TEXTURE_SHARED_SIZE                           0x8c3f                          /* 35903 */\n#define GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH         0x8c76                          /* 35958 */\n#define GL_TRANSFORM_FEEDBACK_BUFFER_MODE                0x8c7f                          /* 35967 */\n#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS    0x8c80                          /* 35968 */\n#define GL_TRANSFORM_FEEDBACK_VARYINGS                   0x8c83                          /* 35971 */\n#define GL_TRANSFORM_FEEDBACK_BUFFER_START               0x8c84                          /* 35972 */\n#define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE                0x8c85                          /* 35973 */\n#define GL_PRIMITIVES_GENERATED                          0x8c87                          /* 35975 */\n#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN         0x8c88                          /* 35976 */\n#define GL_RASTERIZER_DISCARD                            0x8c89                          /* 35977 */\n#define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS 0x8c8a                          /* 35978 */\n#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS       0x8c8b                          /* 35979 */\n#define GL_INTERLEAVED_ATTRIBS                           0x8c8c                          /* 35980 */\n#define GL_SEPARATE_ATTRIBS                              0x8c8d                          /* 35981 */\n#define GL_TRANSFORM_FEEDBACK_BUFFER                     0x8c8e                          /* 35982 */\n#define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING             0x8c8f                          /* 35983 */\n#define GL_RGBA32UI                                      0x8d70                          /* 36208 */\n#define GL_RGB32UI                                       0x8d71                          /* 36209 */\n#define GL_RGBA16UI                                      0x8d76                          /* 36214 */\n#define GL_RGB16UI                                       0x8d77                          /* 36215 */\n#define GL_RGBA8UI                                       0x8d7c                          /* 36220 */\n#define GL_RGB8UI                                        0x8d7d                          /* 36221 */\n#define GL_RGBA32I                                       0x8d82                          /* 36226 */\n#define GL_RGB32I                                        0x8d83                          /* 36227 */\n#define GL_RGBA16I                                       0x8d88                          /* 36232 */\n#define GL_RGB16I                                        0x8d89                          /* 36233 */\n#define GL_RGBA8I                                        0x8d8e                          /* 36238 */\n#define GL_RGB8I                                         0x8d8f                          /* 36239 */\n#define GL_RED_INTEGER                                   0x8d94                          /* 36244 */\n#define GL_GREEN_INTEGER                                 0x8d95                          /* 36245 */\n#define GL_BLUE_INTEGER                                  0x8d96                          /* 36246 */\n#define GL_ALPHA_INTEGER                                 0x8d97                          /* 36247 */\n#define GL_RGB_INTEGER                                   0x8d98                          /* 36248 */\n#define GL_RGBA_INTEGER                                  0x8d99                          /* 36249 */\n#define GL_BGR_INTEGER                                   0x8d9a                          /* 36250 */\n#define GL_BGRA_INTEGER                                  0x8d9b                          /* 36251 */\n#define GL_SAMPLER_1D_ARRAY                              0x8dc0                          /* 36288 */\n#define GL_SAMPLER_2D_ARRAY                              0x8dc1                          /* 36289 */\n#define GL_SAMPLER_1D_ARRAY_SHADOW                       0x8dc3                          /* 36291 */\n#define GL_SAMPLER_2D_ARRAY_SHADOW                       0x8dc4                          /* 36292 */\n#define GL_SAMPLER_CUBE_SHADOW                           0x8dc5                          /* 36293 */\n#define GL_UNSIGNED_INT_VEC2                             0x8dc6                          /* 36294 */\n#define GL_UNSIGNED_INT_VEC3                             0x8dc7                          /* 36295 */\n#define GL_UNSIGNED_INT_VEC4                             0x8dc8                          /* 36296 */\n#define GL_INT_SAMPLER_1D                                0x8dc9                          /* 36297 */\n#define GL_INT_SAMPLER_2D                                0x8dca                          /* 36298 */\n#define GL_INT_SAMPLER_3D                                0x8dcb                          /* 36299 */\n#define GL_INT_SAMPLER_CUBE                              0x8dcc                          /* 36300 */\n#define GL_INT_SAMPLER_1D_ARRAY                          0x8dce                          /* 36302 */\n#define GL_INT_SAMPLER_2D_ARRAY                          0x8dcf                          /* 36303 */\n#define GL_UNSIGNED_INT_SAMPLER_1D                       0x8dd1                          /* 36305 */\n#define GL_UNSIGNED_INT_SAMPLER_2D                       0x8dd2                          /* 36306 */\n#define GL_UNSIGNED_INT_SAMPLER_3D                       0x8dd3                          /* 36307 */\n#define GL_UNSIGNED_INT_SAMPLER_CUBE                     0x8dd4                          /* 36308 */\n#define GL_UNSIGNED_INT_SAMPLER_1D_ARRAY                 0x8dd6                          /* 36310 */\n#define GL_UNSIGNED_INT_SAMPLER_2D_ARRAY                 0x8dd7                          /* 36311 */\n#define GL_QUERY_WAIT                                    0x8e13                          /* 36371 */\n#define GL_QUERY_NO_WAIT                                 0x8e14                          /* 36372 */\n#define GL_QUERY_BY_REGION_WAIT                          0x8e15                          /* 36373 */\n#define GL_QUERY_BY_REGION_NO_WAIT                       0x8e16                          /* 36374 */\n#define GL_CLIP_DISTANCE0                                GL_CLIP_PLANE0\n#define GL_CLIP_DISTANCE1                                GL_CLIP_PLANE1\n#define GL_CLIP_DISTANCE2                                GL_CLIP_PLANE2\n#define GL_CLIP_DISTANCE3                                GL_CLIP_PLANE3\n#define GL_CLIP_DISTANCE4                                GL_CLIP_PLANE4\n#define GL_CLIP_DISTANCE5                                GL_CLIP_PLANE5\n#define GL_CLIP_DISTANCE6                                GL_CLIP_PLANE6\n#define GL_CLIP_DISTANCE7                                GL_CLIP_PLANE7\n#define GL_COMPARE_REF_TO_TEXTURE                        GL_COMPARE_R_TO_TEXTURE_ARB\n#define GL_MAX_CLIP_DISTANCES                            GL_MAX_CLIP_PLANES\n#define GL_MAX_VARYING_COMPONENTS                        GL_MAX_VARYING_FLOATS\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_VERSION_3_0\ntypedef GLboolean (REGAL_CALL *PFNGLISENABLEDIPROC)(GLenum target, GLuint index);\ntypedef GLint (REGAL_CALL *PFNGLGETFRAGDATALOCATIONPROC)(GLuint program, const GLchar *name);\ntypedef const GLubyte *(REGAL_CALL *PFNGLGETSTRINGIPROC)(GLenum name, GLuint index);\ntypedef void (REGAL_CALL *PFNGLBEGINCONDITIONALRENDERPROC)(GLuint id, GLenum mode);\ntypedef void (REGAL_CALL *PFNGLBEGINTRANSFORMFEEDBACKPROC)(GLenum primitiveMode);\ntypedef void (REGAL_CALL *PFNGLBINDFRAGDATALOCATIONPROC)(GLuint program, GLuint color, const GLchar *name);\ntypedef void (REGAL_CALL *PFNGLCLAMPCOLORPROC)(GLenum target, GLenum clamp);\ntypedef void (REGAL_CALL *PFNGLCLEARBUFFERFIPROC)(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil);\ntypedef void (REGAL_CALL *PFNGLCLEARBUFFERFVPROC)(GLenum buffer, GLint drawbuffer, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLCLEARBUFFERIVPROC)(GLenum buffer, GLint drawbuffer, const GLint *value);\ntypedef void (REGAL_CALL *PFNGLCLEARBUFFERUIVPROC)(GLenum buffer, GLint drawbuffer, const GLuint *value);\ntypedef void (REGAL_CALL *PFNGLCOLORMASKIPROC)(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);\ntypedef void (REGAL_CALL *PFNGLDISABLEIPROC)(GLenum cap, GLuint index);\ntypedef void (REGAL_CALL *PFNGLENABLEIPROC)(GLenum cap, GLuint index);\ntypedef void (REGAL_CALL *PFNGLENDCONDITIONALRENDERPROC)(void);\ntypedef void (REGAL_CALL *PFNGLENDTRANSFORMFEEDBACKPROC)(void);\ntypedef void (REGAL_CALL *PFNGLGETBOOLEANI_VPROC)(GLenum target, GLuint index, GLboolean *data);\ntypedef void (REGAL_CALL *PFNGLGETTEXPARAMETERIIVPROC)(GLenum target, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETTEXPARAMETERIUIVPROC)(GLenum target, GLenum pname, GLuint *params);\ntypedef void (REGAL_CALL *PFNGLGETTRANSFORMFEEDBACKVARYINGPROC)(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);\ntypedef void (REGAL_CALL *PFNGLGETUNIFORMUIVPROC)(GLuint program, GLint location, GLuint *params);\ntypedef void (REGAL_CALL *PFNGLGETVERTEXATTRIBIIVPROC)(GLuint index, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETVERTEXATTRIBIUIVPROC)(GLuint index, GLenum pname, GLuint *params);\ntypedef void (REGAL_CALL *PFNGLTEXPARAMETERIIVPROC)(GLenum target, GLenum pname, const GLint *params);\ntypedef void (REGAL_CALL *PFNGLTEXPARAMETERIUIVPROC)(GLenum target, GLenum pname, const GLuint *params);\ntypedef void (REGAL_CALL *PFNGLTRANSFORMFEEDBACKVARYINGSPROC)(GLuint program, GLsizei count, const GLchar * const *varyings, GLenum bufferMode);\ntypedef void (REGAL_CALL *PFNGLUNIFORM1UIPROC)(GLint location, GLuint v0);\ntypedef void (REGAL_CALL *PFNGLUNIFORM1UIVPROC)(GLint location, GLsizei count, const GLuint *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORM2UIPROC)(GLint location, GLuint v0, GLuint v1);\ntypedef void (REGAL_CALL *PFNGLUNIFORM2UIVPROC)(GLint location, GLsizei count, const GLuint *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORM3UIPROC)(GLint location, GLuint v0, GLuint v1, GLuint v2);\ntypedef void (REGAL_CALL *PFNGLUNIFORM3UIVPROC)(GLint location, GLsizei count, const GLuint *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORM4UIPROC)(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);\ntypedef void (REGAL_CALL *PFNGLUNIFORM4UIVPROC)(GLint location, GLsizei count, const GLuint *value);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBI1IPROC)(GLuint index, GLint x);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBI1IVPROC)(GLuint index, const GLint *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBI1UIPROC)(GLuint index, GLuint x);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBI1UIVPROC)(GLuint index, const GLuint *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBI2IPROC)(GLuint index, GLint x, GLint y);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBI2IVPROC)(GLuint index, const GLint *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBI2UIPROC)(GLuint index, GLuint x, GLuint y);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBI2UIVPROC)(GLuint index, const GLuint *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBI3IPROC)(GLuint index, GLint x, GLint y, GLint z);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBI3IVPROC)(GLuint index, const GLint *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBI3UIPROC)(GLuint index, GLuint x, GLuint y, GLuint z);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBI3UIVPROC)(GLuint index, const GLuint *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBI4BVPROC)(GLuint index, const GLbyte *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBI4IPROC)(GLuint index, GLint x, GLint y, GLint z, GLint w);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBI4IVPROC)(GLuint index, const GLint *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBI4SVPROC)(GLuint index, const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBI4UBVPROC)(GLuint index, const GLubyte *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBI4UIPROC)(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBI4UIVPROC)(GLuint index, const GLuint *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBI4USVPROC)(GLuint index, const GLushort *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBIPOINTERPROC)(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_VERSION_3_0\n#define glBeginConditionalRender            rglBeginConditionalRender\n#define glBeginTransformFeedback            rglBeginTransformFeedback\n#define glBindFragDataLocation              rglBindFragDataLocation\n#define glClampColor                        rglClampColor\n#define glClearBufferfi                     rglClearBufferfi\n#define glClearBufferfv                     rglClearBufferfv\n#define glClearBufferiv                     rglClearBufferiv\n#define glClearBufferuiv                    rglClearBufferuiv\n#define glColorMaski                        rglColorMaski\n#define glDisablei                          rglDisablei\n#define glEnablei                           rglEnablei\n#define glEndConditionalRender              rglEndConditionalRender\n#define glEndTransformFeedback              rglEndTransformFeedback\n#define glGetBooleani_v                     rglGetBooleani_v\n#define glGetFragDataLocation               rglGetFragDataLocation\n#define glGetStringi                        rglGetStringi\n#define glGetTexParameterIiv                rglGetTexParameterIiv\n#define glGetTexParameterIuiv               rglGetTexParameterIuiv\n#define glGetTransformFeedbackVarying       rglGetTransformFeedbackVarying\n#define glGetUniformuiv                     rglGetUniformuiv\n#define glGetVertexAttribIiv                rglGetVertexAttribIiv\n#define glGetVertexAttribIuiv               rglGetVertexAttribIuiv\n#define glIsEnabledi                        rglIsEnabledi\n#define glTexParameterIiv                   rglTexParameterIiv\n#define glTexParameterIuiv                  rglTexParameterIuiv\n#define glTransformFeedbackVaryings         rglTransformFeedbackVaryings\n#define glUniform1ui                        rglUniform1ui\n#define glUniform1uiv                       rglUniform1uiv\n#define glUniform2ui                        rglUniform2ui\n#define glUniform2uiv                       rglUniform2uiv\n#define glUniform3ui                        rglUniform3ui\n#define glUniform3uiv                       rglUniform3uiv\n#define glUniform4ui                        rglUniform4ui\n#define glUniform4uiv                       rglUniform4uiv\n#define glVertexAttribI1i                   rglVertexAttribI1i\n#define glVertexAttribI1iv                  rglVertexAttribI1iv\n#define glVertexAttribI1ui                  rglVertexAttribI1ui\n#define glVertexAttribI1uiv                 rglVertexAttribI1uiv\n#define glVertexAttribI2i                   rglVertexAttribI2i\n#define glVertexAttribI2iv                  rglVertexAttribI2iv\n#define glVertexAttribI2ui                  rglVertexAttribI2ui\n#define glVertexAttribI2uiv                 rglVertexAttribI2uiv\n#define glVertexAttribI3i                   rglVertexAttribI3i\n#define glVertexAttribI3iv                  rglVertexAttribI3iv\n#define glVertexAttribI3ui                  rglVertexAttribI3ui\n#define glVertexAttribI3uiv                 rglVertexAttribI3uiv\n#define glVertexAttribI4bv                  rglVertexAttribI4bv\n#define glVertexAttribI4i                   rglVertexAttribI4i\n#define glVertexAttribI4iv                  rglVertexAttribI4iv\n#define glVertexAttribI4sv                  rglVertexAttribI4sv\n#define glVertexAttribI4ubv                 rglVertexAttribI4ubv\n#define glVertexAttribI4ui                  rglVertexAttribI4ui\n#define glVertexAttribI4uiv                 rglVertexAttribI4uiv\n#define glVertexAttribI4usv                 rglVertexAttribI4usv\n#define glVertexAttribIPointer              rglVertexAttribIPointer\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_VERSION_3_0\nREGAL_DECL GLboolean REGAL_CALL glIsEnabledi(GLenum target, GLuint index);\nREGAL_DECL GLint REGAL_CALL glGetFragDataLocation(GLuint program, const GLchar *name);\nREGAL_DECL const GLubyte *REGAL_CALL glGetStringi(GLenum name, GLuint index);\nREGAL_DECL void REGAL_CALL glBeginConditionalRender(GLuint id, GLenum mode);\nREGAL_DECL void REGAL_CALL glBeginTransformFeedback(GLenum primitiveMode);\nREGAL_DECL void REGAL_CALL glBindFragDataLocation(GLuint program, GLuint color, const GLchar *name);\nREGAL_DECL void REGAL_CALL glClampColor(GLenum target, GLenum clamp);\nREGAL_DECL void REGAL_CALL glClearBufferfi(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil);\nREGAL_DECL void REGAL_CALL glClearBufferfv(GLenum buffer, GLint drawbuffer, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glClearBufferiv(GLenum buffer, GLint drawbuffer, const GLint *value);\nREGAL_DECL void REGAL_CALL glClearBufferuiv(GLenum buffer, GLint drawbuffer, const GLuint *value);\nREGAL_DECL void REGAL_CALL glColorMaski(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);\nREGAL_DECL void REGAL_CALL glDisablei(GLenum cap, GLuint index);\nREGAL_DECL void REGAL_CALL glEnablei(GLenum cap, GLuint index);\nREGAL_DECL void REGAL_CALL glEndConditionalRender(void);\nREGAL_DECL void REGAL_CALL glEndTransformFeedback(void);\nREGAL_DECL void REGAL_CALL glGetBooleani_v(GLenum target, GLuint index, GLboolean *data);\nREGAL_DECL void REGAL_CALL glGetTexParameterIiv(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetTexParameterIuiv(GLenum target, GLenum pname, GLuint *params);\nREGAL_DECL void REGAL_CALL glGetTransformFeedbackVarying(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);\nREGAL_DECL void REGAL_CALL glGetUniformuiv(GLuint program, GLint location, GLuint *params);\nREGAL_DECL void REGAL_CALL glGetVertexAttribIiv(GLuint index, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetVertexAttribIuiv(GLuint index, GLenum pname, GLuint *params);\nREGAL_DECL void REGAL_CALL glTexParameterIiv(GLenum target, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL glTexParameterIuiv(GLenum target, GLenum pname, const GLuint *params);\nREGAL_DECL void REGAL_CALL glTransformFeedbackVaryings(GLuint program, GLsizei count, const GLchar * const *varyings, GLenum bufferMode);\nREGAL_DECL void REGAL_CALL glUniform1ui(GLint location, GLuint v0);\nREGAL_DECL void REGAL_CALL glUniform1uiv(GLint location, GLsizei count, const GLuint *value);\nREGAL_DECL void REGAL_CALL glUniform2ui(GLint location, GLuint v0, GLuint v1);\nREGAL_DECL void REGAL_CALL glUniform2uiv(GLint location, GLsizei count, const GLuint *value);\nREGAL_DECL void REGAL_CALL glUniform3ui(GLint location, GLuint v0, GLuint v1, GLuint v2);\nREGAL_DECL void REGAL_CALL glUniform3uiv(GLint location, GLsizei count, const GLuint *value);\nREGAL_DECL void REGAL_CALL glUniform4ui(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);\nREGAL_DECL void REGAL_CALL glUniform4uiv(GLint location, GLsizei count, const GLuint *value);\nREGAL_DECL void REGAL_CALL glVertexAttribI1i(GLuint index, GLint x);\nREGAL_DECL void REGAL_CALL glVertexAttribI1iv(GLuint index, const GLint *v);\nREGAL_DECL void REGAL_CALL glVertexAttribI1ui(GLuint index, GLuint x);\nREGAL_DECL void REGAL_CALL glVertexAttribI1uiv(GLuint index, const GLuint *v);\nREGAL_DECL void REGAL_CALL glVertexAttribI2i(GLuint index, GLint x, GLint y);\nREGAL_DECL void REGAL_CALL glVertexAttribI2iv(GLuint index, const GLint *v);\nREGAL_DECL void REGAL_CALL glVertexAttribI2ui(GLuint index, GLuint x, GLuint y);\nREGAL_DECL void REGAL_CALL glVertexAttribI2uiv(GLuint index, const GLuint *v);\nREGAL_DECL void REGAL_CALL glVertexAttribI3i(GLuint index, GLint x, GLint y, GLint z);\nREGAL_DECL void REGAL_CALL glVertexAttribI3iv(GLuint index, const GLint *v);\nREGAL_DECL void REGAL_CALL glVertexAttribI3ui(GLuint index, GLuint x, GLuint y, GLuint z);\nREGAL_DECL void REGAL_CALL glVertexAttribI3uiv(GLuint index, const GLuint *v);\nREGAL_DECL void REGAL_CALL glVertexAttribI4bv(GLuint index, const GLbyte *v);\nREGAL_DECL void REGAL_CALL glVertexAttribI4i(GLuint index, GLint x, GLint y, GLint z, GLint w);\nREGAL_DECL void REGAL_CALL glVertexAttribI4iv(GLuint index, const GLint *v);\nREGAL_DECL void REGAL_CALL glVertexAttribI4sv(GLuint index, const GLshort *v);\nREGAL_DECL void REGAL_CALL glVertexAttribI4ubv(GLuint index, const GLubyte *v);\nREGAL_DECL void REGAL_CALL glVertexAttribI4ui(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);\nREGAL_DECL void REGAL_CALL glVertexAttribI4uiv(GLuint index, const GLuint *v);\nREGAL_DECL void REGAL_CALL glVertexAttribI4usv(GLuint index, const GLushort *v);\nREGAL_DECL void REGAL_CALL glVertexAttribIPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_VERSION_3_0\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsEnabledi(GLenum target, GLuint index);\nREGAL_DECL GLint REGAL_CALL plugin_glGetFragDataLocation(GLuint program, const GLchar *name);\nREGAL_DECL const GLubyte *REGAL_CALL plugin_glGetStringi(GLenum name, GLuint index);\nREGAL_DECL void REGAL_CALL plugin_glBeginConditionalRender(GLuint id, GLenum mode);\nREGAL_DECL void REGAL_CALL plugin_glBeginTransformFeedback(GLenum primitiveMode);\nREGAL_DECL void REGAL_CALL plugin_glBindFragDataLocation(GLuint program, GLuint color, const GLchar *name);\nREGAL_DECL void REGAL_CALL plugin_glClampColor(GLenum target, GLenum clamp);\nREGAL_DECL void REGAL_CALL plugin_glClearBufferfi(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil);\nREGAL_DECL void REGAL_CALL plugin_glClearBufferfv(GLenum buffer, GLint drawbuffer, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glClearBufferiv(GLenum buffer, GLint drawbuffer, const GLint *value);\nREGAL_DECL void REGAL_CALL plugin_glClearBufferuiv(GLenum buffer, GLint drawbuffer, const GLuint *value);\nREGAL_DECL void REGAL_CALL plugin_glColorMaski(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);\nREGAL_DECL void REGAL_CALL plugin_glDisablei(GLenum cap, GLuint index);\nREGAL_DECL void REGAL_CALL plugin_glEnablei(GLenum cap, GLuint index);\nREGAL_DECL void REGAL_CALL plugin_glEndConditionalRender(void);\nREGAL_DECL void REGAL_CALL plugin_glEndTransformFeedback(void);\nREGAL_DECL void REGAL_CALL plugin_glGetBooleani_v(GLenum target, GLuint index, GLboolean *data);\nREGAL_DECL void REGAL_CALL plugin_glGetTexParameterIiv(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetTexParameterIuiv(GLenum target, GLenum pname, GLuint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetTransformFeedbackVarying(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);\nREGAL_DECL void REGAL_CALL plugin_glGetUniformuiv(GLuint program, GLint location, GLuint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetVertexAttribIiv(GLuint index, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetVertexAttribIuiv(GLuint index, GLenum pname, GLuint *params);\nREGAL_DECL void REGAL_CALL plugin_glTexParameterIiv(GLenum target, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glTexParameterIuiv(GLenum target, GLenum pname, const GLuint *params);\nREGAL_DECL void REGAL_CALL plugin_glTransformFeedbackVaryings(GLuint program, GLsizei count, const GLchar * const *varyings, GLenum bufferMode);\nREGAL_DECL void REGAL_CALL plugin_glUniform1ui(GLint location, GLuint v0);\nREGAL_DECL void REGAL_CALL plugin_glUniform1uiv(GLint location, GLsizei count, const GLuint *value);\nREGAL_DECL void REGAL_CALL plugin_glUniform2ui(GLint location, GLuint v0, GLuint v1);\nREGAL_DECL void REGAL_CALL plugin_glUniform2uiv(GLint location, GLsizei count, const GLuint *value);\nREGAL_DECL void REGAL_CALL plugin_glUniform3ui(GLint location, GLuint v0, GLuint v1, GLuint v2);\nREGAL_DECL void REGAL_CALL plugin_glUniform3uiv(GLint location, GLsizei count, const GLuint *value);\nREGAL_DECL void REGAL_CALL plugin_glUniform4ui(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);\nREGAL_DECL void REGAL_CALL plugin_glUniform4uiv(GLint location, GLsizei count, const GLuint *value);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribI1i(GLuint index, GLint x);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribI1iv(GLuint index, const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribI1ui(GLuint index, GLuint x);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribI1uiv(GLuint index, const GLuint *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribI2i(GLuint index, GLint x, GLint y);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribI2iv(GLuint index, const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribI2ui(GLuint index, GLuint x, GLuint y);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribI2uiv(GLuint index, const GLuint *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribI3i(GLuint index, GLint x, GLint y, GLint z);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribI3iv(GLuint index, const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribI3ui(GLuint index, GLuint x, GLuint y, GLuint z);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribI3uiv(GLuint index, const GLuint *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribI4bv(GLuint index, const GLbyte *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribI4i(GLuint index, GLint x, GLint y, GLint z, GLint w);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribI4iv(GLuint index, const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribI4sv(GLuint index, const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribI4ubv(GLuint index, const GLubyte *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribI4ui(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribI4uiv(GLuint index, const GLuint *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribI4usv(GLuint index, const GLushort *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribIPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);\n#endif\n\n/**\n ** GL_VERSION_3_1\n **/\n\n#if (defined(GL_VERSION_3_1) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_VERSION_3_1)) && !defined(REGAL_NO_ENUM_GL_VERSION_3_1)\n#define REGAL_NO_ENUM_GL_VERSION_3_1\n#endif\n\n#if (defined(GL_VERSION_3_1) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_VERSION_3_1)) && !defined(REGAL_NO_TYPEDEF_GL_VERSION_3_1)\n#define REGAL_NO_TYPEDEF_GL_VERSION_3_1\n#endif\n\n#if (defined(GL_VERSION_3_1) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_VERSION_3_1)) && !defined(REGAL_NO_NAMESPACE_GL_VERSION_3_1)\n#define REGAL_NO_NAMESPACE_GL_VERSION_3_1\n#endif\n\n#if (defined(GL_VERSION_3_1) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_VERSION_3_1)) && !defined(REGAL_NO_PLUGIN_GL_VERSION_3_1)\n#define REGAL_NO_PLUGIN_GL_VERSION_3_1\n#endif\n\n#if (defined(GL_VERSION_3_1) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_VERSION_3_1)) && !defined(REGAL_NO_DECLARATION_GL_VERSION_3_1)\n#define REGAL_NO_DECLARATION_GL_VERSION_3_1\n#endif\n\n#ifndef GL_VERSION_3_1\n#define GL_VERSION_3_1 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_VERSION_3_1\n#define GL_TEXTURE_RECTANGLE                 0x84f5     /* 34037 */\n#define GL_TEXTURE_BINDING_RECTANGLE         0x84f6     /* 34038 */\n#define GL_PROXY_TEXTURE_RECTANGLE           0x84f7     /* 34039 */\n#define GL_MAX_RECTANGLE_TEXTURE_SIZE        0x84f8     /* 34040 */\n#define GL_SAMPLER_2D_RECT                   0x8b63     /* 35683 */\n#define GL_SAMPLER_2D_RECT_SHADOW            0x8b64     /* 35684 */\n#define GL_TEXTURE_BUFFER                    0x8c2a     /* 35882 */\n#define GL_MAX_TEXTURE_BUFFER_SIZE           0x8c2b     /* 35883 */\n#define GL_TEXTURE_BINDING_BUFFER            0x8c2c     /* 35884 */\n#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING 0x8c2d     /* 35885 */\n#define GL_TEXTURE_BUFFER_FORMAT             0x8c2e     /* 35886 */\n#define GL_SAMPLER_BUFFER                    0x8dc2     /* 36290 */\n#define GL_INT_SAMPLER_2D_RECT               0x8dcd     /* 36301 */\n#define GL_INT_SAMPLER_BUFFER                0x8dd0     /* 36304 */\n#define GL_UNSIGNED_INT_SAMPLER_2D_RECT      0x8dd5     /* 36309 */\n#define GL_UNSIGNED_INT_SAMPLER_BUFFER       0x8dd8     /* 36312 */\n#define GL_PRIMITIVE_RESTART                 0x8f9d     /* 36765 */\n#define GL_PRIMITIVE_RESTART_INDEX           0x8f9e     /* 36766 */\n#define GL_BUFFER_ACCESS_FLAGS               0x911f     /* 37151 */\n#define GL_BUFFER_MAP_LENGTH                 0x9120     /* 37152 */\n#define GL_BUFFER_MAP_OFFSET                 0x9121     /* 37153 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_VERSION_3_1\ntypedef void (REGAL_CALL *PFNGLDRAWARRAYSINSTANCEDPROC)(GLenum mode, GLint start, GLsizei count, GLsizei primcount);\ntypedef void (REGAL_CALL *PFNGLDRAWELEMENTSINSTANCEDPROC)(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount);\ntypedef void (REGAL_CALL *PFNGLPRIMITIVERESTARTINDEXPROC)(GLuint index);\ntypedef void (REGAL_CALL *PFNGLTEXBUFFERPROC)(GLenum target, GLenum internalformat, GLuint buffer);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_VERSION_3_1\n#define glDrawArraysInstanced               rglDrawArraysInstanced\n#define glDrawElementsInstanced             rglDrawElementsInstanced\n#define glPrimitiveRestartIndex             rglPrimitiveRestartIndex\n#define glTexBuffer                         rglTexBuffer\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_VERSION_3_1\nREGAL_DECL void REGAL_CALL glDrawArraysInstanced(GLenum mode, GLint start, GLsizei count, GLsizei primcount);\nREGAL_DECL void REGAL_CALL glDrawElementsInstanced(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount);\nREGAL_DECL void REGAL_CALL glPrimitiveRestartIndex(GLuint index);\nREGAL_DECL void REGAL_CALL glTexBuffer(GLenum target, GLenum internalformat, GLuint buffer);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_VERSION_3_1\nREGAL_DECL void REGAL_CALL plugin_glDrawArraysInstanced(GLenum mode, GLint start, GLsizei count, GLsizei primcount);\nREGAL_DECL void REGAL_CALL plugin_glDrawElementsInstanced(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount);\nREGAL_DECL void REGAL_CALL plugin_glPrimitiveRestartIndex(GLuint index);\nREGAL_DECL void REGAL_CALL plugin_glTexBuffer(GLenum target, GLenum internalformat, GLuint buffer);\n#endif\n\n/**\n ** GL_VERSION_3_2\n **/\n\n#if (defined(GL_VERSION_3_2) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_VERSION_3_2)) && !defined(REGAL_NO_ENUM_GL_VERSION_3_2)\n#define REGAL_NO_ENUM_GL_VERSION_3_2\n#endif\n\n#if (defined(GL_VERSION_3_2) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_VERSION_3_2)) && !defined(REGAL_NO_TYPEDEF_GL_VERSION_3_2)\n#define REGAL_NO_TYPEDEF_GL_VERSION_3_2\n#endif\n\n#if (defined(GL_VERSION_3_2) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_VERSION_3_2)) && !defined(REGAL_NO_NAMESPACE_GL_VERSION_3_2)\n#define REGAL_NO_NAMESPACE_GL_VERSION_3_2\n#endif\n\n#if (defined(GL_VERSION_3_2) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_VERSION_3_2)) && !defined(REGAL_NO_PLUGIN_GL_VERSION_3_2)\n#define REGAL_NO_PLUGIN_GL_VERSION_3_2\n#endif\n\n#if (defined(GL_VERSION_3_2) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_VERSION_3_2)) && !defined(REGAL_NO_DECLARATION_GL_VERSION_3_2)\n#define REGAL_NO_DECLARATION_GL_VERSION_3_2\n#endif\n\n#ifndef GL_VERSION_3_2\n#define GL_VERSION_3_2 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_VERSION_3_2\n#define GL_CONTEXT_CORE_PROFILE_BIT             0x1\n#define GL_CONTEXT_COMPATIBILITY_PROFILE_BIT    0x2\n#define GL_PROGRAM_POINT_SIZE                   0x8642     /* 34370 */\n#define GL_GEOMETRY_VERTICES_OUT                0x8916     /* 35094 */\n#define GL_GEOMETRY_INPUT_TYPE                  0x8917     /* 35095 */\n#define GL_GEOMETRY_OUTPUT_TYPE                 0x8918     /* 35096 */\n#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS     0x8c29     /* 35881 */\n#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED       0x8da7     /* 36263 */\n#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS 0x8da8     /* 36264 */\n#define GL_GEOMETRY_SHADER                      0x8dd9     /* 36313 */\n#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS      0x8ddf     /* 36319 */\n#define GL_MAX_GEOMETRY_OUTPUT_VERTICES         0x8de0     /* 36320 */\n#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS 0x8de1     /* 36321 */\n#define GL_MAX_VERTEX_OUTPUT_COMPONENTS         0x9122     /* 37154 */\n#define GL_MAX_GEOMETRY_INPUT_COMPONENTS        0x9123     /* 37155 */\n#define GL_MAX_GEOMETRY_OUTPUT_COMPONENTS       0x9124     /* 37156 */\n#define GL_MAX_FRAGMENT_INPUT_COMPONENTS        0x9125     /* 37157 */\n#define GL_CONTEXT_PROFILE_MASK                 0x9126     /* 37158 */\n#define GL_LINES_ADJACENCY                      0xa        /* 10 */\n#define GL_LINE_STRIP_ADJACENCY                 0xb        /* 11 */\n#define GL_TRIANGLES_ADJACENCY                  0xc        /* 12 */\n#define GL_TRIANGLE_STRIP_ADJACENCY             0xd        /* 13 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_VERSION_3_2\ntypedef void (REGAL_CALL *PFNGLFRAMEBUFFERTEXTUREFACEPROC)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face);\ntypedef void (REGAL_CALL *PFNGLFRAMEBUFFERTEXTUREPROC)(GLenum target, GLenum attachment, GLuint texture, GLint level);\ntypedef void (REGAL_CALL *PFNGLGETBUFFERPARAMETERI64VPROC)(GLenum target, GLenum pname, GLint64 *params);\ntypedef void (REGAL_CALL *PFNGLGETINTEGER64I_VPROC)(GLenum target, GLuint index, GLint64 *data);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_VERSION_3_2\n#define glFramebufferTexture                rglFramebufferTexture\n#define glFramebufferTextureFace            rglFramebufferTextureFace\n#define glGetBufferParameteri64v            rglGetBufferParameteri64v\n#define glGetInteger64i_v                   rglGetInteger64i_v\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_VERSION_3_2\nREGAL_DECL void REGAL_CALL glFramebufferTexture(GLenum target, GLenum attachment, GLuint texture, GLint level);\nREGAL_DECL void REGAL_CALL glFramebufferTextureFace(GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face);\nREGAL_DECL void REGAL_CALL glGetBufferParameteri64v(GLenum target, GLenum pname, GLint64 *params);\nREGAL_DECL void REGAL_CALL glGetInteger64i_v(GLenum target, GLuint index, GLint64 *data);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_VERSION_3_2\nREGAL_DECL void REGAL_CALL plugin_glFramebufferTexture(GLenum target, GLenum attachment, GLuint texture, GLint level);\nREGAL_DECL void REGAL_CALL plugin_glFramebufferTextureFace(GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face);\nREGAL_DECL void REGAL_CALL plugin_glGetBufferParameteri64v(GLenum target, GLenum pname, GLint64 *params);\nREGAL_DECL void REGAL_CALL plugin_glGetInteger64i_v(GLenum target, GLuint index, GLint64 *data);\n#endif\n\n/**\n ** GL_VERSION_3_3\n **/\n\n#if (defined(GL_VERSION_3_3) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_VERSION_3_3)) && !defined(REGAL_NO_ENUM_GL_VERSION_3_3)\n#define REGAL_NO_ENUM_GL_VERSION_3_3\n#endif\n\n#if (defined(GL_VERSION_3_3) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_VERSION_3_3)) && !defined(REGAL_NO_TYPEDEF_GL_VERSION_3_3)\n#define REGAL_NO_TYPEDEF_GL_VERSION_3_3\n#endif\n\n#if (defined(GL_VERSION_3_3) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_VERSION_3_3)) && !defined(REGAL_NO_NAMESPACE_GL_VERSION_3_3)\n#define REGAL_NO_NAMESPACE_GL_VERSION_3_3\n#endif\n\n#if (defined(GL_VERSION_3_3) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_VERSION_3_3)) && !defined(REGAL_NO_PLUGIN_GL_VERSION_3_3)\n#define REGAL_NO_PLUGIN_GL_VERSION_3_3\n#endif\n\n#if (defined(GL_VERSION_3_3) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_VERSION_3_3)) && !defined(REGAL_NO_DECLARATION_GL_VERSION_3_3)\n#define REGAL_NO_DECLARATION_GL_VERSION_3_3\n#endif\n\n#ifndef GL_VERSION_3_3\n#define GL_VERSION_3_3 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_VERSION_3_3\n#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR 0x88fe /* 35070 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_VERSION_3_3\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBDIVISORPROC)(GLuint index, GLuint divisor);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_VERSION_3_3\n#define glVertexAttribDivisor               rglVertexAttribDivisor\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_VERSION_3_3\nREGAL_DECL void REGAL_CALL glVertexAttribDivisor(GLuint index, GLuint divisor);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_VERSION_3_3\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribDivisor(GLuint index, GLuint divisor);\n#endif\n\n/**\n ** GL_VERSION_4_0\n **/\n\n#if (defined(GL_VERSION_4_0) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_VERSION_4_0)) && !defined(REGAL_NO_ENUM_GL_VERSION_4_0)\n#define REGAL_NO_ENUM_GL_VERSION_4_0\n#endif\n\n#if (defined(GL_VERSION_4_0) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_VERSION_4_0)) && !defined(REGAL_NO_TYPEDEF_GL_VERSION_4_0)\n#define REGAL_NO_TYPEDEF_GL_VERSION_4_0\n#endif\n\n#if (defined(GL_VERSION_4_0) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_VERSION_4_0)) && !defined(REGAL_NO_NAMESPACE_GL_VERSION_4_0)\n#define REGAL_NO_NAMESPACE_GL_VERSION_4_0\n#endif\n\n#if (defined(GL_VERSION_4_0) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_VERSION_4_0)) && !defined(REGAL_NO_PLUGIN_GL_VERSION_4_0)\n#define REGAL_NO_PLUGIN_GL_VERSION_4_0\n#endif\n\n#if (defined(GL_VERSION_4_0) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_VERSION_4_0)) && !defined(REGAL_NO_DECLARATION_GL_VERSION_4_0)\n#define REGAL_NO_DECLARATION_GL_VERSION_4_0\n#endif\n\n#ifndef GL_VERSION_4_0\n#define GL_VERSION_4_0 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_VERSION_4_0\n#define GL_SAMPLE_SHADING                        0x8c36     /* 35894 */\n#define GL_MIN_SAMPLE_SHADING_VALUE              0x8c37     /* 35895 */\n#define GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET     0x8e5e     /* 36446 */\n#define GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET     0x8e5f     /* 36447 */\n#define GL_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS 0x8f9f     /* 36767 */\n#define GL_TEXTURE_CUBE_MAP_ARRAY                0x9009     /* 36873 */\n#define GL_TEXTURE_BINDING_CUBE_MAP_ARRAY        0x900a     /* 36874 */\n#define GL_PROXY_TEXTURE_CUBE_MAP_ARRAY          0x900b     /* 36875 */\n#define GL_SAMPLER_CUBE_MAP_ARRAY                0x900c     /* 36876 */\n#define GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW         0x900d     /* 36877 */\n#define GL_INT_SAMPLER_CUBE_MAP_ARRAY            0x900e     /* 36878 */\n#define GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY   0x900f     /* 36879 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_VERSION_4_0\ntypedef void (REGAL_CALL *PFNGLBLENDEQUATIONIPROC)(GLuint buf, GLenum mode);\ntypedef void (REGAL_CALL *PFNGLBLENDEQUATIONSEPARATEIPROC)(GLuint buf, GLenum modeRGB, GLenum modeAlpha);\ntypedef void (REGAL_CALL *PFNGLBLENDFUNCIPROC)(GLuint buf, GLenum src, GLenum dst);\ntypedef void (REGAL_CALL *PFNGLBLENDFUNCSEPARATEIPROC)(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_VERSION_4_0\n#define glBlendEquationSeparatei            rglBlendEquationSeparatei\n#define glBlendEquationi                    rglBlendEquationi\n#define glBlendFuncSeparatei                rglBlendFuncSeparatei\n#define glBlendFunci                        rglBlendFunci\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_VERSION_4_0\nREGAL_DECL void REGAL_CALL glBlendEquationSeparatei(GLuint buf, GLenum modeRGB, GLenum modeAlpha);\nREGAL_DECL void REGAL_CALL glBlendEquationi(GLuint buf, GLenum mode);\nREGAL_DECL void REGAL_CALL glBlendFuncSeparatei(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);\nREGAL_DECL void REGAL_CALL glBlendFunci(GLuint buf, GLenum src, GLenum dst);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_VERSION_4_0\nREGAL_DECL void REGAL_CALL plugin_glBlendEquationSeparatei(GLuint buf, GLenum modeRGB, GLenum modeAlpha);\nREGAL_DECL void REGAL_CALL plugin_glBlendEquationi(GLuint buf, GLenum mode);\nREGAL_DECL void REGAL_CALL plugin_glBlendFuncSeparatei(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);\nREGAL_DECL void REGAL_CALL plugin_glBlendFunci(GLuint buf, GLenum src, GLenum dst);\n#endif\n\n/**\n ** GL_VERSION_4_2\n **/\n\n#if (defined(GL_VERSION_4_2) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_VERSION_4_2)) && !defined(REGAL_NO_ENUM_GL_VERSION_4_2)\n#define REGAL_NO_ENUM_GL_VERSION_4_2\n#endif\n\n#if (defined(GL_VERSION_4_2) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_VERSION_4_2)) && !defined(REGAL_NO_TYPEDEF_GL_VERSION_4_2)\n#define REGAL_NO_TYPEDEF_GL_VERSION_4_2\n#endif\n\n#if (defined(GL_VERSION_4_2) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_VERSION_4_2)) && !defined(REGAL_NO_NAMESPACE_GL_VERSION_4_2)\n#define REGAL_NO_NAMESPACE_GL_VERSION_4_2\n#endif\n\n#if (defined(GL_VERSION_4_2) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_VERSION_4_2)) && !defined(REGAL_NO_PLUGIN_GL_VERSION_4_2)\n#define REGAL_NO_PLUGIN_GL_VERSION_4_2\n#endif\n\n#if (defined(GL_VERSION_4_2) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_VERSION_4_2)) && !defined(REGAL_NO_DECLARATION_GL_VERSION_4_2)\n#define REGAL_NO_DECLARATION_GL_VERSION_4_2\n#endif\n\n#ifndef GL_VERSION_4_2\n#define GL_VERSION_4_2 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_VERSION_4_2\n#define GL_COMPRESSED_RGBA_BPTC_UNORM         0x8e8c     /* 36492 */\n#define GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM   0x8e8d     /* 36493 */\n#define GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT   0x8e8e     /* 36494 */\n#define GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT 0x8e8f     /* 36495 */\n#endif\n\n/**\n ** GL_VERSION_4_3\n **/\n\n#if (defined(GL_VERSION_4_3) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_VERSION_4_3)) && !defined(REGAL_NO_ENUM_GL_VERSION_4_3)\n#define REGAL_NO_ENUM_GL_VERSION_4_3\n#endif\n\n#if (defined(GL_VERSION_4_3) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_VERSION_4_3)) && !defined(REGAL_NO_TYPEDEF_GL_VERSION_4_3)\n#define REGAL_NO_TYPEDEF_GL_VERSION_4_3\n#endif\n\n#if (defined(GL_VERSION_4_3) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_VERSION_4_3)) && !defined(REGAL_NO_NAMESPACE_GL_VERSION_4_3)\n#define REGAL_NO_NAMESPACE_GL_VERSION_4_3\n#endif\n\n#if (defined(GL_VERSION_4_3) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_VERSION_4_3)) && !defined(REGAL_NO_PLUGIN_GL_VERSION_4_3)\n#define REGAL_NO_PLUGIN_GL_VERSION_4_3\n#endif\n\n#if (defined(GL_VERSION_4_3) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_VERSION_4_3)) && !defined(REGAL_NO_DECLARATION_GL_VERSION_4_3)\n#define REGAL_NO_DECLARATION_GL_VERSION_4_3\n#endif\n\n#ifndef GL_VERSION_4_3\n#define GL_VERSION_4_3 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_VERSION_4_3\n#define GL_NUM_SHADING_LANGUAGE_VERSIONS 0x82e9     /* 33513 */\n#define GL_VERTEX_ATTRIB_ARRAY_LONG      0x874e     /* 34638 */\n#endif\n\n/**\n ** GL_VIV_shader_binary\n **/\n\n#if (defined(GL_VIV_SHADER_BINARY) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_VIV_SHADER_BINARY)) && !defined(REGAL_NO_ENUM_GL_VIV_SHADER_BINARY)\n#define REGAL_NO_ENUM_GL_VIV_SHADER_BINARY\n#endif\n\n#if (defined(GL_VIV_SHADER_BINARY) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_VIV_SHADER_BINARY)) && !defined(REGAL_NO_TYPEDEF_GL_VIV_SHADER_BINARY)\n#define REGAL_NO_TYPEDEF_GL_VIV_SHADER_BINARY\n#endif\n\n#if (defined(GL_VIV_SHADER_BINARY) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_VIV_SHADER_BINARY)) && !defined(REGAL_NO_NAMESPACE_GL_VIV_SHADER_BINARY)\n#define REGAL_NO_NAMESPACE_GL_VIV_SHADER_BINARY\n#endif\n\n#if (defined(GL_VIV_SHADER_BINARY) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_VIV_SHADER_BINARY)) && !defined(REGAL_NO_PLUGIN_GL_VIV_SHADER_BINARY)\n#define REGAL_NO_PLUGIN_GL_VIV_SHADER_BINARY\n#endif\n\n#if (defined(GL_VIV_SHADER_BINARY) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_VIV_SHADER_BINARY)) && !defined(REGAL_NO_DECLARATION_GL_VIV_SHADER_BINARY)\n#define REGAL_NO_DECLARATION_GL_VIV_SHADER_BINARY\n#endif\n\n#ifndef GL_VIV_shader_binary\n#define GL_VIV_shader_binary 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_VIV_SHADER_BINARY\n#define GL_SHADER_BINARY_VIV 0x8fc4 /* 36804 */\n#endif\n\n/**\n ** GL_WIN_phong_shading\n **/\n\n#if (defined(GL_WIN_PHONG_SHADING) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_WIN_PHONG_SHADING)) && !defined(REGAL_NO_ENUM_GL_WIN_PHONG_SHADING)\n#define REGAL_NO_ENUM_GL_WIN_PHONG_SHADING\n#endif\n\n#if (defined(GL_WIN_PHONG_SHADING) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_WIN_PHONG_SHADING)) && !defined(REGAL_NO_TYPEDEF_GL_WIN_PHONG_SHADING)\n#define REGAL_NO_TYPEDEF_GL_WIN_PHONG_SHADING\n#endif\n\n#if (defined(GL_WIN_PHONG_SHADING) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_WIN_PHONG_SHADING)) && !defined(REGAL_NO_NAMESPACE_GL_WIN_PHONG_SHADING)\n#define REGAL_NO_NAMESPACE_GL_WIN_PHONG_SHADING\n#endif\n\n#if (defined(GL_WIN_PHONG_SHADING) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_WIN_PHONG_SHADING)) && !defined(REGAL_NO_PLUGIN_GL_WIN_PHONG_SHADING)\n#define REGAL_NO_PLUGIN_GL_WIN_PHONG_SHADING\n#endif\n\n#if (defined(GL_WIN_PHONG_SHADING) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_WIN_PHONG_SHADING)) && !defined(REGAL_NO_DECLARATION_GL_WIN_PHONG_SHADING)\n#define REGAL_NO_DECLARATION_GL_WIN_PHONG_SHADING\n#endif\n\n#ifndef GL_WIN_phong_shading\n#define GL_WIN_phong_shading 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_WIN_PHONG_SHADING\n#define GL_PHONG_WIN      0x80ea     /* 33002 */\n#define GL_PHONG_HINT_WIN 0x80eb     /* 33003 */\n#endif\n\n/**\n ** GL_WIN_specular_fog\n **/\n\n#if (defined(GL_WIN_SPECULAR_FOG) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_WIN_SPECULAR_FOG)) && !defined(REGAL_NO_ENUM_GL_WIN_SPECULAR_FOG)\n#define REGAL_NO_ENUM_GL_WIN_SPECULAR_FOG\n#endif\n\n#if (defined(GL_WIN_SPECULAR_FOG) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_WIN_SPECULAR_FOG)) && !defined(REGAL_NO_TYPEDEF_GL_WIN_SPECULAR_FOG)\n#define REGAL_NO_TYPEDEF_GL_WIN_SPECULAR_FOG\n#endif\n\n#if (defined(GL_WIN_SPECULAR_FOG) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_WIN_SPECULAR_FOG)) && !defined(REGAL_NO_NAMESPACE_GL_WIN_SPECULAR_FOG)\n#define REGAL_NO_NAMESPACE_GL_WIN_SPECULAR_FOG\n#endif\n\n#if (defined(GL_WIN_SPECULAR_FOG) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_WIN_SPECULAR_FOG)) && !defined(REGAL_NO_PLUGIN_GL_WIN_SPECULAR_FOG)\n#define REGAL_NO_PLUGIN_GL_WIN_SPECULAR_FOG\n#endif\n\n#if (defined(GL_WIN_SPECULAR_FOG) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_WIN_SPECULAR_FOG)) && !defined(REGAL_NO_DECLARATION_GL_WIN_SPECULAR_FOG)\n#define REGAL_NO_DECLARATION_GL_WIN_SPECULAR_FOG\n#endif\n\n#ifndef GL_WIN_specular_fog\n#define GL_WIN_specular_fog 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_WIN_SPECULAR_FOG\n#define GL_FOG_SPECULAR_TEXTURE_WIN 0x80ec /* 33004 */\n#endif\n\n/**\n ** GL_WIN_swap_hint\n **/\n\n#if (defined(GL_WIN_SWAP_HINT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_WIN_SWAP_HINT)) && !defined(REGAL_NO_ENUM_GL_WIN_SWAP_HINT)\n#define REGAL_NO_ENUM_GL_WIN_SWAP_HINT\n#endif\n\n#if (defined(GL_WIN_SWAP_HINT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_WIN_SWAP_HINT)) && !defined(REGAL_NO_TYPEDEF_GL_WIN_SWAP_HINT)\n#define REGAL_NO_TYPEDEF_GL_WIN_SWAP_HINT\n#endif\n\n#if (defined(GL_WIN_SWAP_HINT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_WIN_SWAP_HINT)) && !defined(REGAL_NO_NAMESPACE_GL_WIN_SWAP_HINT)\n#define REGAL_NO_NAMESPACE_GL_WIN_SWAP_HINT\n#endif\n\n#if (defined(GL_WIN_SWAP_HINT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_WIN_SWAP_HINT)) && !defined(REGAL_NO_PLUGIN_GL_WIN_SWAP_HINT)\n#define REGAL_NO_PLUGIN_GL_WIN_SWAP_HINT\n#endif\n\n#if (defined(GL_WIN_SWAP_HINT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_WIN_SWAP_HINT)) && !defined(REGAL_NO_DECLARATION_GL_WIN_SWAP_HINT)\n#define REGAL_NO_DECLARATION_GL_WIN_SWAP_HINT\n#endif\n\n#ifndef GL_WIN_swap_hint\n#define GL_WIN_swap_hint 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_WIN_SWAP_HINT\ntypedef void (REGAL_CALL *PFNGLADDSWAPHINTRECTWINPROC)(GLint x, GLint y, GLsizei width, GLsizei height);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_WIN_SWAP_HINT\n#define glAddSwapHintRectWIN                rglAddSwapHintRectWIN\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_WIN_SWAP_HINT\nREGAL_DECL void REGAL_CALL glAddSwapHintRectWIN(GLint x, GLint y, GLsizei width, GLsizei height);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_WIN_SWAP_HINT\nREGAL_DECL void REGAL_CALL plugin_glAddSwapHintRectWIN(GLint x, GLint y, GLsizei width, GLsizei height);\n#endif\n\n#if REGAL_SYS_WGL\n#if REGAL_SYS_WGL_DECLARE_WGL\n\n/**\n ** WGL_3DL_stereo_control\n **/\n\n#if (defined(WGL_3DL_STEREO_CONTROL) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_3DL_STEREO_CONTROL)) && !defined(REGAL_NO_ENUM_WGL_3DL_STEREO_CONTROL)\n#define REGAL_NO_ENUM_WGL_3DL_STEREO_CONTROL\n#endif\n\n#if (defined(WGL_3DL_STEREO_CONTROL) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_3DL_STEREO_CONTROL)) && !defined(REGAL_NO_TYPEDEF_WGL_3DL_STEREO_CONTROL)\n#define REGAL_NO_TYPEDEF_WGL_3DL_STEREO_CONTROL\n#endif\n\n#if (defined(WGL_3DL_STEREO_CONTROL) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_3DL_STEREO_CONTROL)) && !defined(REGAL_NO_NAMESPACE_WGL_3DL_STEREO_CONTROL)\n#define REGAL_NO_NAMESPACE_WGL_3DL_STEREO_CONTROL\n#endif\n\n#if (defined(WGL_3DL_STEREO_CONTROL) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_3DL_STEREO_CONTROL)) && !defined(REGAL_NO_PLUGIN_WGL_3DL_STEREO_CONTROL)\n#define REGAL_NO_PLUGIN_WGL_3DL_STEREO_CONTROL\n#endif\n\n#if (defined(WGL_3DL_STEREO_CONTROL) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_3DL_STEREO_CONTROL)) && !defined(REGAL_NO_DECLARATION_WGL_3DL_STEREO_CONTROL)\n#define REGAL_NO_DECLARATION_WGL_3DL_STEREO_CONTROL\n#endif\n\n#ifndef WGL_3DL_stereo_control\n#define WGL_3DL_stereo_control 1\n#endif\n\n#ifndef REGAL_NO_ENUM_WGL_3DL_STEREO_CONTROL\n#define WGL_STEREO_EMITTER_ENABLE_3DL  0x2055     /* 8277 */\n#define WGL_STEREO_EMITTER_DISABLE_3DL 0x2056     /* 8278 */\n#define WGL_STEREO_POLARITY_NORMAL_3DL 0x2057     /* 8279 */\n#define WGL_STEREO_POLARITY_INVERT_3DL 0x2058     /* 8280 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_WGL_3DL_STEREO_CONTROL\ntypedef BOOL (REGAL_CALL *PFNWGLSETSTEREOEMITTERSTATE3DLPROC)(HDC hDC, UINT uState);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_WGL_3DL_STEREO_CONTROL\n#define wglSetStereoEmitterState3DL         rwglSetStereoEmitterState3DL\n#endif\n\n#ifndef REGAL_NO_DECLARATION_WGL_3DL_STEREO_CONTROL\nREGAL_DECL BOOL REGAL_CALL wglSetStereoEmitterState3DL(HDC hDC, UINT uState);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_WGL_3DL_STEREO_CONTROL\nREGAL_DECL BOOL REGAL_CALL plugin_wglSetStereoEmitterState3DL(HDC hDC, UINT uState);\n#endif\n\n/**\n ** WGL_AMD_gpu_association\n **/\n\n#if (defined(WGL_AMD_GPU_ASSOCIATION) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_AMD_GPU_ASSOCIATION)) && !defined(REGAL_NO_ENUM_WGL_AMD_GPU_ASSOCIATION)\n#define REGAL_NO_ENUM_WGL_AMD_GPU_ASSOCIATION\n#endif\n\n#if (defined(WGL_AMD_GPU_ASSOCIATION) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_AMD_GPU_ASSOCIATION)) && !defined(REGAL_NO_TYPEDEF_WGL_AMD_GPU_ASSOCIATION)\n#define REGAL_NO_TYPEDEF_WGL_AMD_GPU_ASSOCIATION\n#endif\n\n#if (defined(WGL_AMD_GPU_ASSOCIATION) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_AMD_GPU_ASSOCIATION)) && !defined(REGAL_NO_NAMESPACE_WGL_AMD_GPU_ASSOCIATION)\n#define REGAL_NO_NAMESPACE_WGL_AMD_GPU_ASSOCIATION\n#endif\n\n#if (defined(WGL_AMD_GPU_ASSOCIATION) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_AMD_GPU_ASSOCIATION)) && !defined(REGAL_NO_PLUGIN_WGL_AMD_GPU_ASSOCIATION)\n#define REGAL_NO_PLUGIN_WGL_AMD_GPU_ASSOCIATION\n#endif\n\n#if (defined(WGL_AMD_GPU_ASSOCIATION) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_AMD_GPU_ASSOCIATION)) && !defined(REGAL_NO_DECLARATION_WGL_AMD_GPU_ASSOCIATION)\n#define REGAL_NO_DECLARATION_WGL_AMD_GPU_ASSOCIATION\n#endif\n\n#ifndef WGL_AMD_gpu_association\n#define WGL_AMD_gpu_association 1\n#endif\n\n#ifndef REGAL_NO_ENUM_WGL_AMD_GPU_ASSOCIATION\n#define WGL_GPU_VENDOR_AMD                0x1f00     /* 7936 */\n#define WGL_GPU_RENDERER_STRING_AMD       0x1f01     /* 7937 */\n#define WGL_GPU_OPENGL_VERSION_STRING_AMD 0x1f02     /* 7938 */\n#define WGL_GPU_FASTEST_TARGET_GPUS_AMD   0x21a2     /* 8610 */\n#define WGL_GPU_RAM_AMD                   0x21a3     /* 8611 */\n#define WGL_GPU_CLOCK_AMD                 0x21a4     /* 8612 */\n#define WGL_GPU_NUM_PIPES_AMD             0x21a5     /* 8613 */\n#define WGL_GPU_NUM_SIMD_AMD              0x21a6     /* 8614 */\n#define WGL_GPU_NUM_RB_AMD                0x21a7     /* 8615 */\n#define WGL_GPU_NUM_SPI_AMD               0x21a8     /* 8616 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_WGL_AMD_GPU_ASSOCIATION\ntypedef BOOL (REGAL_CALL *PFNWGLDELETEASSOCIATEDCONTEXTAMDPROC)(HGLRC hglrc);\ntypedef BOOL (REGAL_CALL *PFNWGLMAKEASSOCIATEDCONTEXTCURRENTAMDPROC)(HGLRC hglrc);\ntypedef HGLRC (REGAL_CALL *PFNWGLCREATEASSOCIATEDCONTEXTAMDPROC)(UINT id);\ntypedef HGLRC (REGAL_CALL *PFNWGLCREATEASSOCIATEDCONTEXTATTRIBSAMDPROC)(UINT id, HGLRC hShareContext, const int *attribList);\ntypedef HGLRC (REGAL_CALL *PFNWGLGETCURRENTASSOCIATEDCONTEXTAMDPROC)(void);\ntypedef INT (REGAL_CALL *PFNWGLGETGPUINFOAMDPROC)(UINT id, int property, GLenum dataType, UINT size, void *data);\ntypedef UINT (REGAL_CALL *PFNWGLGETCONTEXTGPUIDAMDPROC)(HGLRC hglrc);\ntypedef UINT (REGAL_CALL *PFNWGLGETGPUIDSAMDPROC)(UINT maxCount, UINT *ids);\ntypedef VOID (REGAL_CALL *PFNWGLBLITCONTEXTFRAMEBUFFERAMDPROC)(HGLRC dstCtx, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_WGL_AMD_GPU_ASSOCIATION\n#define wglBlitContextFramebufferAMD        rwglBlitContextFramebufferAMD\n#define wglCreateAssociatedContextAMD       rwglCreateAssociatedContextAMD\n#define wglCreateAssociatedContextAttribsAMD rwglCreateAssociatedContextAttribsAMD\n#define wglDeleteAssociatedContextAMD       rwglDeleteAssociatedContextAMD\n#define wglGetContextGPUIDAMD               rwglGetContextGPUIDAMD\n#define wglGetCurrentAssociatedContextAMD   rwglGetCurrentAssociatedContextAMD\n#define wglGetGPUIDsAMD                     rwglGetGPUIDsAMD\n#define wglGetGPUInfoAMD                    rwglGetGPUInfoAMD\n#define wglMakeAssociatedContextCurrentAMD  rwglMakeAssociatedContextCurrentAMD\n#endif\n\n#ifndef REGAL_NO_DECLARATION_WGL_AMD_GPU_ASSOCIATION\nREGAL_DECL BOOL REGAL_CALL wglDeleteAssociatedContextAMD(HGLRC hglrc);\nREGAL_DECL BOOL REGAL_CALL wglMakeAssociatedContextCurrentAMD(HGLRC hglrc);\nREGAL_DECL HGLRC REGAL_CALL wglCreateAssociatedContextAMD(UINT id);\nREGAL_DECL HGLRC REGAL_CALL wglCreateAssociatedContextAttribsAMD(UINT id, HGLRC hShareContext, const int *attribList);\nREGAL_DECL HGLRC REGAL_CALL wglGetCurrentAssociatedContextAMD(void);\nREGAL_DECL INT REGAL_CALL wglGetGPUInfoAMD(UINT id, int property, GLenum dataType, UINT size, void *data);\nREGAL_DECL UINT REGAL_CALL wglGetContextGPUIDAMD(HGLRC hglrc);\nREGAL_DECL UINT REGAL_CALL wglGetGPUIDsAMD(UINT maxCount, UINT *ids);\nREGAL_DECL VOID REGAL_CALL wglBlitContextFramebufferAMD(HGLRC dstCtx, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_WGL_AMD_GPU_ASSOCIATION\nREGAL_DECL BOOL REGAL_CALL plugin_wglDeleteAssociatedContextAMD(HGLRC hglrc);\nREGAL_DECL BOOL REGAL_CALL plugin_wglMakeAssociatedContextCurrentAMD(HGLRC hglrc);\nREGAL_DECL HGLRC REGAL_CALL plugin_wglCreateAssociatedContextAMD(UINT id);\nREGAL_DECL HGLRC REGAL_CALL plugin_wglCreateAssociatedContextAttribsAMD(UINT id, HGLRC hShareContext, const int *attribList);\nREGAL_DECL HGLRC REGAL_CALL plugin_wglGetCurrentAssociatedContextAMD(void);\nREGAL_DECL INT REGAL_CALL plugin_wglGetGPUInfoAMD(UINT id, int property, GLenum dataType, UINT size, void *data);\nREGAL_DECL UINT REGAL_CALL plugin_wglGetContextGPUIDAMD(HGLRC hglrc);\nREGAL_DECL UINT REGAL_CALL plugin_wglGetGPUIDsAMD(UINT maxCount, UINT *ids);\nREGAL_DECL VOID REGAL_CALL plugin_wglBlitContextFramebufferAMD(HGLRC dstCtx, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);\n#endif\n\n/**\n ** WGL_ARB_buffer_region\n **/\n\n#if (defined(WGL_ARB_BUFFER_REGION) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_ARB_BUFFER_REGION)) && !defined(REGAL_NO_ENUM_WGL_ARB_BUFFER_REGION)\n#define REGAL_NO_ENUM_WGL_ARB_BUFFER_REGION\n#endif\n\n#if (defined(WGL_ARB_BUFFER_REGION) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_ARB_BUFFER_REGION)) && !defined(REGAL_NO_TYPEDEF_WGL_ARB_BUFFER_REGION)\n#define REGAL_NO_TYPEDEF_WGL_ARB_BUFFER_REGION\n#endif\n\n#if (defined(WGL_ARB_BUFFER_REGION) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_ARB_BUFFER_REGION)) && !defined(REGAL_NO_NAMESPACE_WGL_ARB_BUFFER_REGION)\n#define REGAL_NO_NAMESPACE_WGL_ARB_BUFFER_REGION\n#endif\n\n#if (defined(WGL_ARB_BUFFER_REGION) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_ARB_BUFFER_REGION)) && !defined(REGAL_NO_PLUGIN_WGL_ARB_BUFFER_REGION)\n#define REGAL_NO_PLUGIN_WGL_ARB_BUFFER_REGION\n#endif\n\n#if (defined(WGL_ARB_BUFFER_REGION) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_ARB_BUFFER_REGION)) && !defined(REGAL_NO_DECLARATION_WGL_ARB_BUFFER_REGION)\n#define REGAL_NO_DECLARATION_WGL_ARB_BUFFER_REGION\n#endif\n\n#ifndef WGL_ARB_buffer_region\n#define WGL_ARB_buffer_region 1\n#endif\n\n#ifndef REGAL_NO_ENUM_WGL_ARB_BUFFER_REGION\n#define WGL_FRONT_COLOR_BUFFER_BIT_ARB 0x1\n#define WGL_BACK_COLOR_BUFFER_BIT_ARB  0x2\n#define WGL_DEPTH_BUFFER_BIT_ARB       0x4\n#define WGL_STENCIL_BUFFER_BIT_ARB     0x8\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_WGL_ARB_BUFFER_REGION\ntypedef BOOL (REGAL_CALL *PFNWGLRESTOREBUFFERREGIONARBPROC)(HANDLE hRegion, int x, int y, int width, int height, int xSrc, int ySrc);\ntypedef BOOL (REGAL_CALL *PFNWGLSAVEBUFFERREGIONARBPROC)(HANDLE hRegion, int x, int y, int width, int height);\ntypedef HANDLE (REGAL_CALL *PFNWGLCREATEBUFFERREGIONARBPROC)(HDC hDC, int iLayerPlane, UINT uType);\ntypedef VOID (REGAL_CALL *PFNWGLDELETEBUFFERREGIONARBPROC)(HANDLE hRegion);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_WGL_ARB_BUFFER_REGION\n#define wglCreateBufferRegionARB            rwglCreateBufferRegionARB\n#define wglDeleteBufferRegionARB            rwglDeleteBufferRegionARB\n#define wglRestoreBufferRegionARB           rwglRestoreBufferRegionARB\n#define wglSaveBufferRegionARB              rwglSaveBufferRegionARB\n#endif\n\n#ifndef REGAL_NO_DECLARATION_WGL_ARB_BUFFER_REGION\nREGAL_DECL BOOL REGAL_CALL wglRestoreBufferRegionARB(HANDLE hRegion, int x, int y, int width, int height, int xSrc, int ySrc);\nREGAL_DECL BOOL REGAL_CALL wglSaveBufferRegionARB(HANDLE hRegion, int x, int y, int width, int height);\nREGAL_DECL HANDLE REGAL_CALL wglCreateBufferRegionARB(HDC hDC, int iLayerPlane, UINT uType);\nREGAL_DECL VOID REGAL_CALL wglDeleteBufferRegionARB(HANDLE hRegion);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_WGL_ARB_BUFFER_REGION\nREGAL_DECL BOOL REGAL_CALL plugin_wglRestoreBufferRegionARB(HANDLE hRegion, int x, int y, int width, int height, int xSrc, int ySrc);\nREGAL_DECL BOOL REGAL_CALL plugin_wglSaveBufferRegionARB(HANDLE hRegion, int x, int y, int width, int height);\nREGAL_DECL HANDLE REGAL_CALL plugin_wglCreateBufferRegionARB(HDC hDC, int iLayerPlane, UINT uType);\nREGAL_DECL VOID REGAL_CALL plugin_wglDeleteBufferRegionARB(HANDLE hRegion);\n#endif\n\n/**\n ** WGL_ARB_create_context\n **/\n\n#if (defined(WGL_ARB_CREATE_CONTEXT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_ARB_CREATE_CONTEXT)) && !defined(REGAL_NO_ENUM_WGL_ARB_CREATE_CONTEXT)\n#define REGAL_NO_ENUM_WGL_ARB_CREATE_CONTEXT\n#endif\n\n#if (defined(WGL_ARB_CREATE_CONTEXT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_ARB_CREATE_CONTEXT)) && !defined(REGAL_NO_TYPEDEF_WGL_ARB_CREATE_CONTEXT)\n#define REGAL_NO_TYPEDEF_WGL_ARB_CREATE_CONTEXT\n#endif\n\n#if (defined(WGL_ARB_CREATE_CONTEXT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_ARB_CREATE_CONTEXT)) && !defined(REGAL_NO_NAMESPACE_WGL_ARB_CREATE_CONTEXT)\n#define REGAL_NO_NAMESPACE_WGL_ARB_CREATE_CONTEXT\n#endif\n\n#if (defined(WGL_ARB_CREATE_CONTEXT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_ARB_CREATE_CONTEXT)) && !defined(REGAL_NO_PLUGIN_WGL_ARB_CREATE_CONTEXT)\n#define REGAL_NO_PLUGIN_WGL_ARB_CREATE_CONTEXT\n#endif\n\n#if (defined(WGL_ARB_CREATE_CONTEXT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_ARB_CREATE_CONTEXT)) && !defined(REGAL_NO_DECLARATION_WGL_ARB_CREATE_CONTEXT)\n#define REGAL_NO_DECLARATION_WGL_ARB_CREATE_CONTEXT\n#endif\n\n#ifndef WGL_ARB_create_context\n#define WGL_ARB_create_context 1\n#endif\n\n#ifndef REGAL_NO_ENUM_WGL_ARB_CREATE_CONTEXT\n#define WGL_CONTEXT_DEBUG_BIT_ARB              0x1\n#define WGL_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB 0x2\n#define WGL_CONTEXT_MAJOR_VERSION_ARB          0x2091     /* 8337 */\n#define WGL_CONTEXT_MINOR_VERSION_ARB          0x2092     /* 8338 */\n#define WGL_CONTEXT_LAYER_PLANE_ARB            0x2093     /* 8339 */\n#define WGL_CONTEXT_FLAGS_ARB                  0x2094     /* 8340 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_WGL_ARB_CREATE_CONTEXT\ntypedef HGLRC (REGAL_CALL *PFNWGLCREATECONTEXTATTRIBSARBPROC)(HDC hDC, HGLRC hShareContext, const int *piAttribList);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_WGL_ARB_CREATE_CONTEXT\n#define wglCreateContextAttribsARB          rwglCreateContextAttribsARB\n#endif\n\n#ifndef REGAL_NO_DECLARATION_WGL_ARB_CREATE_CONTEXT\nREGAL_DECL HGLRC REGAL_CALL wglCreateContextAttribsARB(HDC hDC, HGLRC hShareContext, const int *piAttribList);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_WGL_ARB_CREATE_CONTEXT\nREGAL_DECL HGLRC REGAL_CALL plugin_wglCreateContextAttribsARB(HDC hDC, HGLRC hShareContext, const int *piAttribList);\n#endif\n\n/**\n ** WGL_ARB_create_context_profile\n **/\n\n#if (defined(WGL_ARB_CREATE_CONTEXT_PROFILE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_ARB_CREATE_CONTEXT_PROFILE)) && !defined(REGAL_NO_ENUM_WGL_ARB_CREATE_CONTEXT_PROFILE)\n#define REGAL_NO_ENUM_WGL_ARB_CREATE_CONTEXT_PROFILE\n#endif\n\n#if (defined(WGL_ARB_CREATE_CONTEXT_PROFILE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_ARB_CREATE_CONTEXT_PROFILE)) && !defined(REGAL_NO_TYPEDEF_WGL_ARB_CREATE_CONTEXT_PROFILE)\n#define REGAL_NO_TYPEDEF_WGL_ARB_CREATE_CONTEXT_PROFILE\n#endif\n\n#if (defined(WGL_ARB_CREATE_CONTEXT_PROFILE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_ARB_CREATE_CONTEXT_PROFILE)) && !defined(REGAL_NO_NAMESPACE_WGL_ARB_CREATE_CONTEXT_PROFILE)\n#define REGAL_NO_NAMESPACE_WGL_ARB_CREATE_CONTEXT_PROFILE\n#endif\n\n#if (defined(WGL_ARB_CREATE_CONTEXT_PROFILE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_ARB_CREATE_CONTEXT_PROFILE)) && !defined(REGAL_NO_PLUGIN_WGL_ARB_CREATE_CONTEXT_PROFILE)\n#define REGAL_NO_PLUGIN_WGL_ARB_CREATE_CONTEXT_PROFILE\n#endif\n\n#if (defined(WGL_ARB_CREATE_CONTEXT_PROFILE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_ARB_CREATE_CONTEXT_PROFILE)) && !defined(REGAL_NO_DECLARATION_WGL_ARB_CREATE_CONTEXT_PROFILE)\n#define REGAL_NO_DECLARATION_WGL_ARB_CREATE_CONTEXT_PROFILE\n#endif\n\n#ifndef WGL_ARB_create_context_profile\n#define WGL_ARB_create_context_profile 1\n#endif\n\n#ifndef REGAL_NO_ENUM_WGL_ARB_CREATE_CONTEXT_PROFILE\n#define WGL_CONTEXT_CORE_PROFILE_BIT_ARB          0x1\n#define WGL_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB 0x2\n#define WGL_CONTEXT_PROFILE_MASK_ARB              0x9126     /* 37158 */\n#endif\n\n/**\n ** WGL_ARB_create_context_robustness\n **/\n\n#if (defined(WGL_ARB_CREATE_CONTEXT_ROBUSTNESS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_ARB_CREATE_CONTEXT_ROBUSTNESS)) && !defined(REGAL_NO_ENUM_WGL_ARB_CREATE_CONTEXT_ROBUSTNESS)\n#define REGAL_NO_ENUM_WGL_ARB_CREATE_CONTEXT_ROBUSTNESS\n#endif\n\n#if (defined(WGL_ARB_CREATE_CONTEXT_ROBUSTNESS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_ARB_CREATE_CONTEXT_ROBUSTNESS)) && !defined(REGAL_NO_TYPEDEF_WGL_ARB_CREATE_CONTEXT_ROBUSTNESS)\n#define REGAL_NO_TYPEDEF_WGL_ARB_CREATE_CONTEXT_ROBUSTNESS\n#endif\n\n#if (defined(WGL_ARB_CREATE_CONTEXT_ROBUSTNESS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_ARB_CREATE_CONTEXT_ROBUSTNESS)) && !defined(REGAL_NO_NAMESPACE_WGL_ARB_CREATE_CONTEXT_ROBUSTNESS)\n#define REGAL_NO_NAMESPACE_WGL_ARB_CREATE_CONTEXT_ROBUSTNESS\n#endif\n\n#if (defined(WGL_ARB_CREATE_CONTEXT_ROBUSTNESS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_ARB_CREATE_CONTEXT_ROBUSTNESS)) && !defined(REGAL_NO_PLUGIN_WGL_ARB_CREATE_CONTEXT_ROBUSTNESS)\n#define REGAL_NO_PLUGIN_WGL_ARB_CREATE_CONTEXT_ROBUSTNESS\n#endif\n\n#if (defined(WGL_ARB_CREATE_CONTEXT_ROBUSTNESS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_ARB_CREATE_CONTEXT_ROBUSTNESS)) && !defined(REGAL_NO_DECLARATION_WGL_ARB_CREATE_CONTEXT_ROBUSTNESS)\n#define REGAL_NO_DECLARATION_WGL_ARB_CREATE_CONTEXT_ROBUSTNESS\n#endif\n\n#ifndef WGL_ARB_create_context_robustness\n#define WGL_ARB_create_context_robustness 1\n#endif\n\n#ifndef REGAL_NO_ENUM_WGL_ARB_CREATE_CONTEXT_ROBUSTNESS\n#define WGL_CONTEXT_ROBUST_ACCESS_BIT_ARB           0x4\n#define WGL_LOSE_CONTEXT_ON_RESET_ARB               0x8252     /* 33362 */\n#define WGL_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB 0x8256     /* 33366 */\n#define WGL_NO_RESET_NOTIFICATION_ARB               0x8261     /* 33377 */\n#endif\n\n/**\n ** WGL_ARB_extensions_string\n **/\n\n#if (defined(WGL_ARB_EXTENSIONS_STRING) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_ARB_EXTENSIONS_STRING)) && !defined(REGAL_NO_ENUM_WGL_ARB_EXTENSIONS_STRING)\n#define REGAL_NO_ENUM_WGL_ARB_EXTENSIONS_STRING\n#endif\n\n#if (defined(WGL_ARB_EXTENSIONS_STRING) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_ARB_EXTENSIONS_STRING)) && !defined(REGAL_NO_TYPEDEF_WGL_ARB_EXTENSIONS_STRING)\n#define REGAL_NO_TYPEDEF_WGL_ARB_EXTENSIONS_STRING\n#endif\n\n#if (defined(WGL_ARB_EXTENSIONS_STRING) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_ARB_EXTENSIONS_STRING)) && !defined(REGAL_NO_NAMESPACE_WGL_ARB_EXTENSIONS_STRING)\n#define REGAL_NO_NAMESPACE_WGL_ARB_EXTENSIONS_STRING\n#endif\n\n#if (defined(WGL_ARB_EXTENSIONS_STRING) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_ARB_EXTENSIONS_STRING)) && !defined(REGAL_NO_PLUGIN_WGL_ARB_EXTENSIONS_STRING)\n#define REGAL_NO_PLUGIN_WGL_ARB_EXTENSIONS_STRING\n#endif\n\n#if (defined(WGL_ARB_EXTENSIONS_STRING) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_ARB_EXTENSIONS_STRING)) && !defined(REGAL_NO_DECLARATION_WGL_ARB_EXTENSIONS_STRING)\n#define REGAL_NO_DECLARATION_WGL_ARB_EXTENSIONS_STRING\n#endif\n\n#ifndef WGL_ARB_extensions_string\n#define WGL_ARB_extensions_string 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_WGL_ARB_EXTENSIONS_STRING\ntypedef const char *(REGAL_CALL *PFNWGLGETEXTENSIONSSTRINGARBPROC)(HDC hDC);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_WGL_ARB_EXTENSIONS_STRING\n#define wglGetExtensionsStringARB           rwglGetExtensionsStringARB\n#endif\n\n#ifndef REGAL_NO_DECLARATION_WGL_ARB_EXTENSIONS_STRING\nREGAL_DECL const char *REGAL_CALL wglGetExtensionsStringARB(HDC hDC);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_WGL_ARB_EXTENSIONS_STRING\nREGAL_DECL const char *REGAL_CALL plugin_wglGetExtensionsStringARB(HDC hDC);\n#endif\n\n/**\n ** WGL_ARB_framebuffer_sRGB\n **/\n\n#if (defined(WGL_ARB_FRAMEBUFFER_SRGB) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_ARB_FRAMEBUFFER_SRGB)) && !defined(REGAL_NO_ENUM_WGL_ARB_FRAMEBUFFER_SRGB)\n#define REGAL_NO_ENUM_WGL_ARB_FRAMEBUFFER_SRGB\n#endif\n\n#if (defined(WGL_ARB_FRAMEBUFFER_SRGB) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_ARB_FRAMEBUFFER_SRGB)) && !defined(REGAL_NO_TYPEDEF_WGL_ARB_FRAMEBUFFER_SRGB)\n#define REGAL_NO_TYPEDEF_WGL_ARB_FRAMEBUFFER_SRGB\n#endif\n\n#if (defined(WGL_ARB_FRAMEBUFFER_SRGB) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_ARB_FRAMEBUFFER_SRGB)) && !defined(REGAL_NO_NAMESPACE_WGL_ARB_FRAMEBUFFER_SRGB)\n#define REGAL_NO_NAMESPACE_WGL_ARB_FRAMEBUFFER_SRGB\n#endif\n\n#if (defined(WGL_ARB_FRAMEBUFFER_SRGB) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_ARB_FRAMEBUFFER_SRGB)) && !defined(REGAL_NO_PLUGIN_WGL_ARB_FRAMEBUFFER_SRGB)\n#define REGAL_NO_PLUGIN_WGL_ARB_FRAMEBUFFER_SRGB\n#endif\n\n#if (defined(WGL_ARB_FRAMEBUFFER_SRGB) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_ARB_FRAMEBUFFER_SRGB)) && !defined(REGAL_NO_DECLARATION_WGL_ARB_FRAMEBUFFER_SRGB)\n#define REGAL_NO_DECLARATION_WGL_ARB_FRAMEBUFFER_SRGB\n#endif\n\n#ifndef WGL_ARB_framebuffer_sRGB\n#define WGL_ARB_framebuffer_sRGB 1\n#endif\n\n#ifndef REGAL_NO_ENUM_WGL_ARB_FRAMEBUFFER_SRGB\n#define WGL_FRAMEBUFFER_SRGB_CAPABLE_ARB 0x20a9 /* 8361 */\n#endif\n\n/**\n ** WGL_ARB_make_current_read\n **/\n\n#if (defined(WGL_ARB_MAKE_CURRENT_READ) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_ARB_MAKE_CURRENT_READ)) && !defined(REGAL_NO_ENUM_WGL_ARB_MAKE_CURRENT_READ)\n#define REGAL_NO_ENUM_WGL_ARB_MAKE_CURRENT_READ\n#endif\n\n#if (defined(WGL_ARB_MAKE_CURRENT_READ) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_ARB_MAKE_CURRENT_READ)) && !defined(REGAL_NO_TYPEDEF_WGL_ARB_MAKE_CURRENT_READ)\n#define REGAL_NO_TYPEDEF_WGL_ARB_MAKE_CURRENT_READ\n#endif\n\n#if (defined(WGL_ARB_MAKE_CURRENT_READ) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_ARB_MAKE_CURRENT_READ)) && !defined(REGAL_NO_NAMESPACE_WGL_ARB_MAKE_CURRENT_READ)\n#define REGAL_NO_NAMESPACE_WGL_ARB_MAKE_CURRENT_READ\n#endif\n\n#if (defined(WGL_ARB_MAKE_CURRENT_READ) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_ARB_MAKE_CURRENT_READ)) && !defined(REGAL_NO_PLUGIN_WGL_ARB_MAKE_CURRENT_READ)\n#define REGAL_NO_PLUGIN_WGL_ARB_MAKE_CURRENT_READ\n#endif\n\n#if (defined(WGL_ARB_MAKE_CURRENT_READ) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_ARB_MAKE_CURRENT_READ)) && !defined(REGAL_NO_DECLARATION_WGL_ARB_MAKE_CURRENT_READ)\n#define REGAL_NO_DECLARATION_WGL_ARB_MAKE_CURRENT_READ\n#endif\n\n#ifndef WGL_ARB_make_current_read\n#define WGL_ARB_make_current_read 1\n#endif\n\n#ifndef REGAL_NO_ENUM_WGL_ARB_MAKE_CURRENT_READ\n#define ERROR_INVALID_PIXEL_TYPE_ARB           0x2043     /* 8259 */\n#define ERROR_INCOMPATIBLE_DEVICE_CONTEXTS_ARB 0x2054     /* 8276 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_WGL_ARB_MAKE_CURRENT_READ\ntypedef BOOL (REGAL_CALL *PFNWGLMAKECONTEXTCURRENTARBPROC)(HDC hDrawDC, HDC hReadDC, HGLRC hglrc);\ntypedef HDC (REGAL_CALL *PFNWGLGETCURRENTREADDCARBPROC)(void);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_WGL_ARB_MAKE_CURRENT_READ\n#define wglGetCurrentReadDCARB              rwglGetCurrentReadDCARB\n#define wglMakeContextCurrentARB            rwglMakeContextCurrentARB\n#endif\n\n#ifndef REGAL_NO_DECLARATION_WGL_ARB_MAKE_CURRENT_READ\nREGAL_DECL BOOL REGAL_CALL wglMakeContextCurrentARB(HDC hDrawDC, HDC hReadDC, HGLRC hglrc);\nREGAL_DECL HDC REGAL_CALL wglGetCurrentReadDCARB(void);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_WGL_ARB_MAKE_CURRENT_READ\nREGAL_DECL BOOL REGAL_CALL plugin_wglMakeContextCurrentARB(HDC hDrawDC, HDC hReadDC, HGLRC hglrc);\nREGAL_DECL HDC REGAL_CALL plugin_wglGetCurrentReadDCARB(void);\n#endif\n\n/**\n ** WGL_ARB_multisample\n **/\n\n#if (defined(WGL_ARB_MULTISAMPLE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_ARB_MULTISAMPLE)) && !defined(REGAL_NO_ENUM_WGL_ARB_MULTISAMPLE)\n#define REGAL_NO_ENUM_WGL_ARB_MULTISAMPLE\n#endif\n\n#if (defined(WGL_ARB_MULTISAMPLE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_ARB_MULTISAMPLE)) && !defined(REGAL_NO_TYPEDEF_WGL_ARB_MULTISAMPLE)\n#define REGAL_NO_TYPEDEF_WGL_ARB_MULTISAMPLE\n#endif\n\n#if (defined(WGL_ARB_MULTISAMPLE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_ARB_MULTISAMPLE)) && !defined(REGAL_NO_NAMESPACE_WGL_ARB_MULTISAMPLE)\n#define REGAL_NO_NAMESPACE_WGL_ARB_MULTISAMPLE\n#endif\n\n#if (defined(WGL_ARB_MULTISAMPLE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_ARB_MULTISAMPLE)) && !defined(REGAL_NO_PLUGIN_WGL_ARB_MULTISAMPLE)\n#define REGAL_NO_PLUGIN_WGL_ARB_MULTISAMPLE\n#endif\n\n#if (defined(WGL_ARB_MULTISAMPLE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_ARB_MULTISAMPLE)) && !defined(REGAL_NO_DECLARATION_WGL_ARB_MULTISAMPLE)\n#define REGAL_NO_DECLARATION_WGL_ARB_MULTISAMPLE\n#endif\n\n#ifndef WGL_ARB_multisample\n#define WGL_ARB_multisample 1\n#endif\n\n#ifndef REGAL_NO_ENUM_WGL_ARB_MULTISAMPLE\n#define WGL_SAMPLE_BUFFERS_ARB 0x2041     /* 8257 */\n#define WGL_SAMPLES_ARB        0x2042     /* 8258 */\n#endif\n\n/**\n ** WGL_ARB_pbuffer\n **/\n\n#if (defined(WGL_ARB_PBUFFER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_ARB_PBUFFER)) && !defined(REGAL_NO_ENUM_WGL_ARB_PBUFFER)\n#define REGAL_NO_ENUM_WGL_ARB_PBUFFER\n#endif\n\n#if (defined(WGL_ARB_PBUFFER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_ARB_PBUFFER)) && !defined(REGAL_NO_TYPEDEF_WGL_ARB_PBUFFER)\n#define REGAL_NO_TYPEDEF_WGL_ARB_PBUFFER\n#endif\n\n#if (defined(WGL_ARB_PBUFFER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_ARB_PBUFFER)) && !defined(REGAL_NO_NAMESPACE_WGL_ARB_PBUFFER)\n#define REGAL_NO_NAMESPACE_WGL_ARB_PBUFFER\n#endif\n\n#if (defined(WGL_ARB_PBUFFER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_ARB_PBUFFER)) && !defined(REGAL_NO_PLUGIN_WGL_ARB_PBUFFER)\n#define REGAL_NO_PLUGIN_WGL_ARB_PBUFFER\n#endif\n\n#if (defined(WGL_ARB_PBUFFER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_ARB_PBUFFER)) && !defined(REGAL_NO_DECLARATION_WGL_ARB_PBUFFER)\n#define REGAL_NO_DECLARATION_WGL_ARB_PBUFFER\n#endif\n\n#ifndef WGL_ARB_pbuffer\n#define WGL_ARB_pbuffer 1\n#endif\n\n#ifndef REGAL_NO_ENUM_WGL_ARB_PBUFFER\n#define WGL_DRAW_TO_PBUFFER_ARB    0x202d     /* 8237 */\n#define WGL_MAX_PBUFFER_PIXELS_ARB 0x202e     /* 8238 */\n#define WGL_MAX_PBUFFER_WIDTH_ARB  0x202f     /* 8239 */\n#define WGL_MAX_PBUFFER_HEIGHT_ARB 0x2030     /* 8240 */\n#define WGL_PBUFFER_LARGEST_ARB    0x2033     /* 8243 */\n#define WGL_PBUFFER_WIDTH_ARB      0x2034     /* 8244 */\n#define WGL_PBUFFER_HEIGHT_ARB     0x2035     /* 8245 */\n#define WGL_PBUFFER_LOST_ARB       0x2036     /* 8246 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_WGL_ARB_PBUFFER\ntypedef BOOL (REGAL_CALL *PFNWGLDESTROYPBUFFERARBPROC)(HPBUFFERARB hPbuffer);\ntypedef BOOL (REGAL_CALL *PFNWGLQUERYPBUFFERARBPROC)(HPBUFFERARB hPbuffer, int iAttribute, int *piValue);\ntypedef HDC (REGAL_CALL *PFNWGLGETPBUFFERDCARBPROC)(HPBUFFERARB hPbuffer);\ntypedef HPBUFFERARB (REGAL_CALL *PFNWGLCREATEPBUFFERARBPROC)(HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int *piAttribList);\ntypedef int (REGAL_CALL *PFNWGLRELEASEPBUFFERDCARBPROC)(HPBUFFERARB hPbuffer, HDC hDC);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_WGL_ARB_PBUFFER\n#define wglCreatePbufferARB                 rwglCreatePbufferARB\n#define wglDestroyPbufferARB                rwglDestroyPbufferARB\n#define wglGetPbufferDCARB                  rwglGetPbufferDCARB\n#define wglQueryPbufferARB                  rwglQueryPbufferARB\n#define wglReleasePbufferDCARB              rwglReleasePbufferDCARB\n#endif\n\n#ifndef REGAL_NO_DECLARATION_WGL_ARB_PBUFFER\nREGAL_DECL BOOL REGAL_CALL wglDestroyPbufferARB(HPBUFFERARB hPbuffer);\nREGAL_DECL BOOL REGAL_CALL wglQueryPbufferARB(HPBUFFERARB hPbuffer, int iAttribute, int *piValue);\nREGAL_DECL HDC REGAL_CALL wglGetPbufferDCARB(HPBUFFERARB hPbuffer);\nREGAL_DECL HPBUFFERARB REGAL_CALL wglCreatePbufferARB(HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int *piAttribList);\nREGAL_DECL int REGAL_CALL wglReleasePbufferDCARB(HPBUFFERARB hPbuffer, HDC hDC);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_WGL_ARB_PBUFFER\nREGAL_DECL BOOL REGAL_CALL plugin_wglDestroyPbufferARB(HPBUFFERARB hPbuffer);\nREGAL_DECL BOOL REGAL_CALL plugin_wglQueryPbufferARB(HPBUFFERARB hPbuffer, int iAttribute, int *piValue);\nREGAL_DECL HDC REGAL_CALL plugin_wglGetPbufferDCARB(HPBUFFERARB hPbuffer);\nREGAL_DECL HPBUFFERARB REGAL_CALL plugin_wglCreatePbufferARB(HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int *piAttribList);\nREGAL_DECL int REGAL_CALL plugin_wglReleasePbufferDCARB(HPBUFFERARB hPbuffer, HDC hDC);\n#endif\n\n/**\n ** WGL_ARB_pixel_format\n **/\n\n#if (defined(WGL_ARB_PIXEL_FORMAT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_ARB_PIXEL_FORMAT)) && !defined(REGAL_NO_ENUM_WGL_ARB_PIXEL_FORMAT)\n#define REGAL_NO_ENUM_WGL_ARB_PIXEL_FORMAT\n#endif\n\n#if (defined(WGL_ARB_PIXEL_FORMAT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_ARB_PIXEL_FORMAT)) && !defined(REGAL_NO_TYPEDEF_WGL_ARB_PIXEL_FORMAT)\n#define REGAL_NO_TYPEDEF_WGL_ARB_PIXEL_FORMAT\n#endif\n\n#if (defined(WGL_ARB_PIXEL_FORMAT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_ARB_PIXEL_FORMAT)) && !defined(REGAL_NO_NAMESPACE_WGL_ARB_PIXEL_FORMAT)\n#define REGAL_NO_NAMESPACE_WGL_ARB_PIXEL_FORMAT\n#endif\n\n#if (defined(WGL_ARB_PIXEL_FORMAT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_ARB_PIXEL_FORMAT)) && !defined(REGAL_NO_PLUGIN_WGL_ARB_PIXEL_FORMAT)\n#define REGAL_NO_PLUGIN_WGL_ARB_PIXEL_FORMAT\n#endif\n\n#if (defined(WGL_ARB_PIXEL_FORMAT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_ARB_PIXEL_FORMAT)) && !defined(REGAL_NO_DECLARATION_WGL_ARB_PIXEL_FORMAT)\n#define REGAL_NO_DECLARATION_WGL_ARB_PIXEL_FORMAT\n#endif\n\n#ifndef WGL_ARB_pixel_format\n#define WGL_ARB_pixel_format 1\n#endif\n\n#ifndef REGAL_NO_ENUM_WGL_ARB_PIXEL_FORMAT\n#define WGL_NUMBER_PIXEL_FORMATS_ARB    0x2000     /* 8192 */\n#define WGL_DRAW_TO_WINDOW_ARB          0x2001     /* 8193 */\n#define WGL_DRAW_TO_BITMAP_ARB          0x2002     /* 8194 */\n#define WGL_ACCELERATION_ARB            0x2003     /* 8195 */\n#define WGL_NEED_PALETTE_ARB            0x2004     /* 8196 */\n#define WGL_NEED_SYSTEM_PALETTE_ARB     0x2005     /* 8197 */\n#define WGL_SWAP_LAYER_BUFFERS_ARB      0x2006     /* 8198 */\n#define WGL_SWAP_METHOD_ARB             0x2007     /* 8199 */\n#define WGL_NUMBER_OVERLAYS_ARB         0x2008     /* 8200 */\n#define WGL_NUMBER_UNDERLAYS_ARB        0x2009     /* 8201 */\n#define WGL_TRANSPARENT_ARB             0x200a     /* 8202 */\n#define WGL_SHARE_DEPTH_ARB             0x200c     /* 8204 */\n#define WGL_SHARE_STENCIL_ARB           0x200d     /* 8205 */\n#define WGL_SHARE_ACCUM_ARB             0x200e     /* 8206 */\n#define WGL_SUPPORT_GDI_ARB             0x200f     /* 8207 */\n#define WGL_SUPPORT_OPENGL_ARB          0x2010     /* 8208 */\n#define WGL_DOUBLE_BUFFER_ARB           0x2011     /* 8209 */\n#define WGL_STEREO_ARB                  0x2012     /* 8210 */\n#define WGL_PIXEL_TYPE_ARB              0x2013     /* 8211 */\n#define WGL_COLOR_BITS_ARB              0x2014     /* 8212 */\n#define WGL_RED_BITS_ARB                0x2015     /* 8213 */\n#define WGL_RED_SHIFT_ARB               0x2016     /* 8214 */\n#define WGL_GREEN_BITS_ARB              0x2017     /* 8215 */\n#define WGL_GREEN_SHIFT_ARB             0x2018     /* 8216 */\n#define WGL_BLUE_BITS_ARB               0x2019     /* 8217 */\n#define WGL_BLUE_SHIFT_ARB              0x201a     /* 8218 */\n#define WGL_ALPHA_BITS_ARB              0x201b     /* 8219 */\n#define WGL_ALPHA_SHIFT_ARB             0x201c     /* 8220 */\n#define WGL_ACCUM_BITS_ARB              0x201d     /* 8221 */\n#define WGL_ACCUM_RED_BITS_ARB          0x201e     /* 8222 */\n#define WGL_ACCUM_GREEN_BITS_ARB        0x201f     /* 8223 */\n#define WGL_ACCUM_BLUE_BITS_ARB         0x2020     /* 8224 */\n#define WGL_ACCUM_ALPHA_BITS_ARB        0x2021     /* 8225 */\n#define WGL_DEPTH_BITS_ARB              0x2022     /* 8226 */\n#define WGL_STENCIL_BITS_ARB            0x2023     /* 8227 */\n#define WGL_AUX_BUFFERS_ARB             0x2024     /* 8228 */\n#define WGL_NO_ACCELERATION_ARB         0x2025     /* 8229 */\n#define WGL_GENERIC_ACCELERATION_ARB    0x2026     /* 8230 */\n#define WGL_FULL_ACCELERATION_ARB       0x2027     /* 8231 */\n#define WGL_SWAP_EXCHANGE_ARB           0x2028     /* 8232 */\n#define WGL_SWAP_COPY_ARB               0x2029     /* 8233 */\n#define WGL_SWAP_UNDEFINED_ARB          0x202a     /* 8234 */\n#define WGL_TYPE_RGBA_ARB               0x202b     /* 8235 */\n#define WGL_TYPE_COLORINDEX_ARB         0x202c     /* 8236 */\n#define WGL_TRANSPARENT_RED_VALUE_ARB   0x2037     /* 8247 */\n#define WGL_TRANSPARENT_GREEN_VALUE_ARB 0x2038     /* 8248 */\n#define WGL_TRANSPARENT_BLUE_VALUE_ARB  0x2039     /* 8249 */\n#define WGL_TRANSPARENT_ALPHA_VALUE_ARB 0x203a     /* 8250 */\n#define WGL_TRANSPARENT_INDEX_VALUE_ARB 0x203b     /* 8251 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_WGL_ARB_PIXEL_FORMAT\ntypedef BOOL (REGAL_CALL *PFNWGLCHOOSEPIXELFORMATARBPROC)(HDC hDC, const int *piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats);\ntypedef BOOL (REGAL_CALL *PFNWGLGETPIXELFORMATATTRIBFVARBPROC)(HDC hDC, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, FLOAT *pfValues);\ntypedef BOOL (REGAL_CALL *PFNWGLGETPIXELFORMATATTRIBIVARBPROC)(HDC hDC, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, int *piValues);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_WGL_ARB_PIXEL_FORMAT\n#define wglChoosePixelFormatARB             rwglChoosePixelFormatARB\n#define wglGetPixelFormatAttribfvARB        rwglGetPixelFormatAttribfvARB\n#define wglGetPixelFormatAttribivARB        rwglGetPixelFormatAttribivARB\n#endif\n\n#ifndef REGAL_NO_DECLARATION_WGL_ARB_PIXEL_FORMAT\nREGAL_DECL BOOL REGAL_CALL wglChoosePixelFormatARB(HDC hDC, const int *piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats);\nREGAL_DECL BOOL REGAL_CALL wglGetPixelFormatAttribfvARB(HDC hDC, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, FLOAT *pfValues);\nREGAL_DECL BOOL REGAL_CALL wglGetPixelFormatAttribivARB(HDC hDC, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, int *piValues);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_WGL_ARB_PIXEL_FORMAT\nREGAL_DECL BOOL REGAL_CALL plugin_wglChoosePixelFormatARB(HDC hDC, const int *piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats);\nREGAL_DECL BOOL REGAL_CALL plugin_wglGetPixelFormatAttribfvARB(HDC hDC, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, FLOAT *pfValues);\nREGAL_DECL BOOL REGAL_CALL plugin_wglGetPixelFormatAttribivARB(HDC hDC, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, int *piValues);\n#endif\n\n/**\n ** WGL_ARB_pixel_format_float\n **/\n\n#if (defined(WGL_ARB_PIXEL_FORMAT_FLOAT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_ARB_PIXEL_FORMAT_FLOAT)) && !defined(REGAL_NO_ENUM_WGL_ARB_PIXEL_FORMAT_FLOAT)\n#define REGAL_NO_ENUM_WGL_ARB_PIXEL_FORMAT_FLOAT\n#endif\n\n#if (defined(WGL_ARB_PIXEL_FORMAT_FLOAT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_ARB_PIXEL_FORMAT_FLOAT)) && !defined(REGAL_NO_TYPEDEF_WGL_ARB_PIXEL_FORMAT_FLOAT)\n#define REGAL_NO_TYPEDEF_WGL_ARB_PIXEL_FORMAT_FLOAT\n#endif\n\n#if (defined(WGL_ARB_PIXEL_FORMAT_FLOAT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_ARB_PIXEL_FORMAT_FLOAT)) && !defined(REGAL_NO_NAMESPACE_WGL_ARB_PIXEL_FORMAT_FLOAT)\n#define REGAL_NO_NAMESPACE_WGL_ARB_PIXEL_FORMAT_FLOAT\n#endif\n\n#if (defined(WGL_ARB_PIXEL_FORMAT_FLOAT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_ARB_PIXEL_FORMAT_FLOAT)) && !defined(REGAL_NO_PLUGIN_WGL_ARB_PIXEL_FORMAT_FLOAT)\n#define REGAL_NO_PLUGIN_WGL_ARB_PIXEL_FORMAT_FLOAT\n#endif\n\n#if (defined(WGL_ARB_PIXEL_FORMAT_FLOAT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_ARB_PIXEL_FORMAT_FLOAT)) && !defined(REGAL_NO_DECLARATION_WGL_ARB_PIXEL_FORMAT_FLOAT)\n#define REGAL_NO_DECLARATION_WGL_ARB_PIXEL_FORMAT_FLOAT\n#endif\n\n#ifndef WGL_ARB_pixel_format_float\n#define WGL_ARB_pixel_format_float 1\n#endif\n\n#ifndef REGAL_NO_ENUM_WGL_ARB_PIXEL_FORMAT_FLOAT\n#define WGL_TYPE_RGBA_FLOAT_ARB 0x21a0 /* 8608 */\n#endif\n\n/**\n ** WGL_ARB_render_texture\n **/\n\n#if (defined(WGL_ARB_RENDER_TEXTURE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_ARB_RENDER_TEXTURE)) && !defined(REGAL_NO_ENUM_WGL_ARB_RENDER_TEXTURE)\n#define REGAL_NO_ENUM_WGL_ARB_RENDER_TEXTURE\n#endif\n\n#if (defined(WGL_ARB_RENDER_TEXTURE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_ARB_RENDER_TEXTURE)) && !defined(REGAL_NO_TYPEDEF_WGL_ARB_RENDER_TEXTURE)\n#define REGAL_NO_TYPEDEF_WGL_ARB_RENDER_TEXTURE\n#endif\n\n#if (defined(WGL_ARB_RENDER_TEXTURE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_ARB_RENDER_TEXTURE)) && !defined(REGAL_NO_NAMESPACE_WGL_ARB_RENDER_TEXTURE)\n#define REGAL_NO_NAMESPACE_WGL_ARB_RENDER_TEXTURE\n#endif\n\n#if (defined(WGL_ARB_RENDER_TEXTURE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_ARB_RENDER_TEXTURE)) && !defined(REGAL_NO_PLUGIN_WGL_ARB_RENDER_TEXTURE)\n#define REGAL_NO_PLUGIN_WGL_ARB_RENDER_TEXTURE\n#endif\n\n#if (defined(WGL_ARB_RENDER_TEXTURE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_ARB_RENDER_TEXTURE)) && !defined(REGAL_NO_DECLARATION_WGL_ARB_RENDER_TEXTURE)\n#define REGAL_NO_DECLARATION_WGL_ARB_RENDER_TEXTURE\n#endif\n\n#ifndef WGL_ARB_render_texture\n#define WGL_ARB_render_texture 1\n#endif\n\n#ifndef REGAL_NO_ENUM_WGL_ARB_RENDER_TEXTURE\n#define WGL_BIND_TO_TEXTURE_RGB_ARB         0x2070     /* 8304 */\n#define WGL_BIND_TO_TEXTURE_RGBA_ARB        0x2071     /* 8305 */\n#define WGL_TEXTURE_FORMAT_ARB              0x2072     /* 8306 */\n#define WGL_TEXTURE_TARGET_ARB              0x2073     /* 8307 */\n#define WGL_MIPMAP_TEXTURE_ARB              0x2074     /* 8308 */\n#define WGL_TEXTURE_RGB_ARB                 0x2075     /* 8309 */\n#define WGL_TEXTURE_RGBA_ARB                0x2076     /* 8310 */\n#define WGL_TEXTURE_CUBE_MAP_ARB            0x2078     /* 8312 */\n#define WGL_TEXTURE_1D_ARB                  0x2079     /* 8313 */\n#define WGL_TEXTURE_2D_ARB                  0x207a     /* 8314 */\n#define WGL_MIPMAP_LEVEL_ARB                0x207b     /* 8315 */\n#define WGL_CUBE_MAP_FACE_ARB               0x207c     /* 8316 */\n#define WGL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB 0x207d     /* 8317 */\n#define WGL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB 0x207e     /* 8318 */\n#define WGL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB 0x207f     /* 8319 */\n#define WGL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB 0x2080     /* 8320 */\n#define WGL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB 0x2081     /* 8321 */\n#define WGL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB 0x2082     /* 8322 */\n#define WGL_FRONT_LEFT_ARB                  0x2083     /* 8323 */\n#define WGL_FRONT_RIGHT_ARB                 0x2084     /* 8324 */\n#define WGL_BACK_LEFT_ARB                   0x2085     /* 8325 */\n#define WGL_BACK_RIGHT_ARB                  0x2086     /* 8326 */\n#define WGL_AUX0_ARB                        0x2087     /* 8327 */\n#define WGL_AUX1_ARB                        0x2088     /* 8328 */\n#define WGL_AUX2_ARB                        0x2089     /* 8329 */\n#define WGL_AUX3_ARB                        0x208a     /* 8330 */\n#define WGL_AUX4_ARB                        0x208b     /* 8331 */\n#define WGL_AUX5_ARB                        0x208c     /* 8332 */\n#define WGL_AUX6_ARB                        0x208d     /* 8333 */\n#define WGL_AUX7_ARB                        0x208e     /* 8334 */\n#define WGL_AUX8_ARB                        0x208f     /* 8335 */\n#define WGL_AUX9_ARB                        0x2090     /* 8336 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_WGL_ARB_RENDER_TEXTURE\ntypedef BOOL (REGAL_CALL *PFNWGLBINDTEXIMAGEARBPROC)(HPBUFFERARB hPbuffer, int iBuffer);\ntypedef BOOL (REGAL_CALL *PFNWGLRELEASETEXIMAGEARBPROC)(HPBUFFERARB hPbuffer, int iBuffer);\ntypedef BOOL (REGAL_CALL *PFNWGLSETPBUFFERATTRIBARBPROC)(HPBUFFERARB hPbuffer, const int *piAttribList);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_WGL_ARB_RENDER_TEXTURE\n#define wglBindTexImageARB                  rwglBindTexImageARB\n#define wglReleaseTexImageARB               rwglReleaseTexImageARB\n#define wglSetPbufferAttribARB              rwglSetPbufferAttribARB\n#endif\n\n#ifndef REGAL_NO_DECLARATION_WGL_ARB_RENDER_TEXTURE\nREGAL_DECL BOOL REGAL_CALL wglBindTexImageARB(HPBUFFERARB hPbuffer, int iBuffer);\nREGAL_DECL BOOL REGAL_CALL wglReleaseTexImageARB(HPBUFFERARB hPbuffer, int iBuffer);\nREGAL_DECL BOOL REGAL_CALL wglSetPbufferAttribARB(HPBUFFERARB hPbuffer, const int *piAttribList);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_WGL_ARB_RENDER_TEXTURE\nREGAL_DECL BOOL REGAL_CALL plugin_wglBindTexImageARB(HPBUFFERARB hPbuffer, int iBuffer);\nREGAL_DECL BOOL REGAL_CALL plugin_wglReleaseTexImageARB(HPBUFFERARB hPbuffer, int iBuffer);\nREGAL_DECL BOOL REGAL_CALL plugin_wglSetPbufferAttribARB(HPBUFFERARB hPbuffer, const int *piAttribList);\n#endif\n\n/**\n ** WGL_ARB_robustness_share_group_isolation\n **/\n\n#if (defined(WGL_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION)) && !defined(REGAL_NO_ENUM_WGL_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION)\n#define REGAL_NO_ENUM_WGL_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION\n#endif\n\n#if (defined(WGL_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION)) && !defined(REGAL_NO_TYPEDEF_WGL_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION)\n#define REGAL_NO_TYPEDEF_WGL_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION\n#endif\n\n#if (defined(WGL_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION)) && !defined(REGAL_NO_NAMESPACE_WGL_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION)\n#define REGAL_NO_NAMESPACE_WGL_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION\n#endif\n\n#if (defined(WGL_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION)) && !defined(REGAL_NO_PLUGIN_WGL_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION)\n#define REGAL_NO_PLUGIN_WGL_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION\n#endif\n\n#if (defined(WGL_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION)) && !defined(REGAL_NO_DECLARATION_WGL_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION)\n#define REGAL_NO_DECLARATION_WGL_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION\n#endif\n\n#ifndef WGL_ARB_robustness_share_group_isolation\n#define WGL_ARB_robustness_share_group_isolation 1\n#endif\n\n#ifndef REGAL_NO_ENUM_WGL_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION\n#define WGL_CONTEXT_RESET_ISOLATION_BIT_ARB 0x8\n#endif\n\n/**\n ** WGL_ATI_pixel_format_float\n **/\n\n#if (defined(WGL_ATI_PIXEL_FORMAT_FLOAT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_ATI_PIXEL_FORMAT_FLOAT)) && !defined(REGAL_NO_ENUM_WGL_ATI_PIXEL_FORMAT_FLOAT)\n#define REGAL_NO_ENUM_WGL_ATI_PIXEL_FORMAT_FLOAT\n#endif\n\n#if (defined(WGL_ATI_PIXEL_FORMAT_FLOAT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_ATI_PIXEL_FORMAT_FLOAT)) && !defined(REGAL_NO_TYPEDEF_WGL_ATI_PIXEL_FORMAT_FLOAT)\n#define REGAL_NO_TYPEDEF_WGL_ATI_PIXEL_FORMAT_FLOAT\n#endif\n\n#if (defined(WGL_ATI_PIXEL_FORMAT_FLOAT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_ATI_PIXEL_FORMAT_FLOAT)) && !defined(REGAL_NO_NAMESPACE_WGL_ATI_PIXEL_FORMAT_FLOAT)\n#define REGAL_NO_NAMESPACE_WGL_ATI_PIXEL_FORMAT_FLOAT\n#endif\n\n#if (defined(WGL_ATI_PIXEL_FORMAT_FLOAT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_ATI_PIXEL_FORMAT_FLOAT)) && !defined(REGAL_NO_PLUGIN_WGL_ATI_PIXEL_FORMAT_FLOAT)\n#define REGAL_NO_PLUGIN_WGL_ATI_PIXEL_FORMAT_FLOAT\n#endif\n\n#if (defined(WGL_ATI_PIXEL_FORMAT_FLOAT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_ATI_PIXEL_FORMAT_FLOAT)) && !defined(REGAL_NO_DECLARATION_WGL_ATI_PIXEL_FORMAT_FLOAT)\n#define REGAL_NO_DECLARATION_WGL_ATI_PIXEL_FORMAT_FLOAT\n#endif\n\n#ifndef WGL_ATI_pixel_format_float\n#define WGL_ATI_pixel_format_float 1\n#endif\n\n#ifndef REGAL_NO_ENUM_WGL_ATI_PIXEL_FORMAT_FLOAT\n#define WGL_TYPE_RGBA_FLOAT_ATI            0x21a0     /* 8608 */\n#define GL_RGBA_FLOAT_MODE_ATI             0x8820     /* 34848 */\n#define GL_COLOR_CLEAR_UNCLAMPED_VALUE_ATI 0x8835     /* 34869 */\n#endif\n\n/**\n ** WGL_ATI_render_texture_rectangle\n **/\n\n#if (defined(WGL_ATI_RENDER_TEXTURE_RECTANGLE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_ATI_RENDER_TEXTURE_RECTANGLE)) && !defined(REGAL_NO_ENUM_WGL_ATI_RENDER_TEXTURE_RECTANGLE)\n#define REGAL_NO_ENUM_WGL_ATI_RENDER_TEXTURE_RECTANGLE\n#endif\n\n#if (defined(WGL_ATI_RENDER_TEXTURE_RECTANGLE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_ATI_RENDER_TEXTURE_RECTANGLE)) && !defined(REGAL_NO_TYPEDEF_WGL_ATI_RENDER_TEXTURE_RECTANGLE)\n#define REGAL_NO_TYPEDEF_WGL_ATI_RENDER_TEXTURE_RECTANGLE\n#endif\n\n#if (defined(WGL_ATI_RENDER_TEXTURE_RECTANGLE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_ATI_RENDER_TEXTURE_RECTANGLE)) && !defined(REGAL_NO_NAMESPACE_WGL_ATI_RENDER_TEXTURE_RECTANGLE)\n#define REGAL_NO_NAMESPACE_WGL_ATI_RENDER_TEXTURE_RECTANGLE\n#endif\n\n#if (defined(WGL_ATI_RENDER_TEXTURE_RECTANGLE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_ATI_RENDER_TEXTURE_RECTANGLE)) && !defined(REGAL_NO_PLUGIN_WGL_ATI_RENDER_TEXTURE_RECTANGLE)\n#define REGAL_NO_PLUGIN_WGL_ATI_RENDER_TEXTURE_RECTANGLE\n#endif\n\n#if (defined(WGL_ATI_RENDER_TEXTURE_RECTANGLE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_ATI_RENDER_TEXTURE_RECTANGLE)) && !defined(REGAL_NO_DECLARATION_WGL_ATI_RENDER_TEXTURE_RECTANGLE)\n#define REGAL_NO_DECLARATION_WGL_ATI_RENDER_TEXTURE_RECTANGLE\n#endif\n\n#ifndef WGL_ATI_render_texture_rectangle\n#define WGL_ATI_render_texture_rectangle 1\n#endif\n\n#ifndef REGAL_NO_ENUM_WGL_ATI_RENDER_TEXTURE_RECTANGLE\n#define WGL_TEXTURE_RECTANGLE_ATI 0x21a5 /* 8613 */\n#endif\n\n/**\n ** WGL_EXT_create_context_es2_profile\n **/\n\n#if (defined(WGL_EXT_CREATE_CONTEXT_ES2_PROFILE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_EXT_CREATE_CONTEXT_ES2_PROFILE)) && !defined(REGAL_NO_ENUM_WGL_EXT_CREATE_CONTEXT_ES2_PROFILE)\n#define REGAL_NO_ENUM_WGL_EXT_CREATE_CONTEXT_ES2_PROFILE\n#endif\n\n#if (defined(WGL_EXT_CREATE_CONTEXT_ES2_PROFILE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_EXT_CREATE_CONTEXT_ES2_PROFILE)) && !defined(REGAL_NO_TYPEDEF_WGL_EXT_CREATE_CONTEXT_ES2_PROFILE)\n#define REGAL_NO_TYPEDEF_WGL_EXT_CREATE_CONTEXT_ES2_PROFILE\n#endif\n\n#if (defined(WGL_EXT_CREATE_CONTEXT_ES2_PROFILE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_EXT_CREATE_CONTEXT_ES2_PROFILE)) && !defined(REGAL_NO_NAMESPACE_WGL_EXT_CREATE_CONTEXT_ES2_PROFILE)\n#define REGAL_NO_NAMESPACE_WGL_EXT_CREATE_CONTEXT_ES2_PROFILE\n#endif\n\n#if (defined(WGL_EXT_CREATE_CONTEXT_ES2_PROFILE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_EXT_CREATE_CONTEXT_ES2_PROFILE)) && !defined(REGAL_NO_PLUGIN_WGL_EXT_CREATE_CONTEXT_ES2_PROFILE)\n#define REGAL_NO_PLUGIN_WGL_EXT_CREATE_CONTEXT_ES2_PROFILE\n#endif\n\n#if (defined(WGL_EXT_CREATE_CONTEXT_ES2_PROFILE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_EXT_CREATE_CONTEXT_ES2_PROFILE)) && !defined(REGAL_NO_DECLARATION_WGL_EXT_CREATE_CONTEXT_ES2_PROFILE)\n#define REGAL_NO_DECLARATION_WGL_EXT_CREATE_CONTEXT_ES2_PROFILE\n#endif\n\n#ifndef WGL_EXT_create_context_es2_profile\n#define WGL_EXT_create_context_es2_profile 1\n#endif\n\n#ifndef REGAL_NO_ENUM_WGL_EXT_CREATE_CONTEXT_ES2_PROFILE\n#define WGL_CONTEXT_ES2_PROFILE_BIT_EXT 0x4\n#endif\n\n/**\n ** WGL_EXT_create_context_es_profile\n **/\n\n#if (defined(WGL_EXT_CREATE_CONTEXT_ES_PROFILE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_EXT_CREATE_CONTEXT_ES_PROFILE)) && !defined(REGAL_NO_ENUM_WGL_EXT_CREATE_CONTEXT_ES_PROFILE)\n#define REGAL_NO_ENUM_WGL_EXT_CREATE_CONTEXT_ES_PROFILE\n#endif\n\n#if (defined(WGL_EXT_CREATE_CONTEXT_ES_PROFILE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_EXT_CREATE_CONTEXT_ES_PROFILE)) && !defined(REGAL_NO_TYPEDEF_WGL_EXT_CREATE_CONTEXT_ES_PROFILE)\n#define REGAL_NO_TYPEDEF_WGL_EXT_CREATE_CONTEXT_ES_PROFILE\n#endif\n\n#if (defined(WGL_EXT_CREATE_CONTEXT_ES_PROFILE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_EXT_CREATE_CONTEXT_ES_PROFILE)) && !defined(REGAL_NO_NAMESPACE_WGL_EXT_CREATE_CONTEXT_ES_PROFILE)\n#define REGAL_NO_NAMESPACE_WGL_EXT_CREATE_CONTEXT_ES_PROFILE\n#endif\n\n#if (defined(WGL_EXT_CREATE_CONTEXT_ES_PROFILE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_EXT_CREATE_CONTEXT_ES_PROFILE)) && !defined(REGAL_NO_PLUGIN_WGL_EXT_CREATE_CONTEXT_ES_PROFILE)\n#define REGAL_NO_PLUGIN_WGL_EXT_CREATE_CONTEXT_ES_PROFILE\n#endif\n\n#if (defined(WGL_EXT_CREATE_CONTEXT_ES_PROFILE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_EXT_CREATE_CONTEXT_ES_PROFILE)) && !defined(REGAL_NO_DECLARATION_WGL_EXT_CREATE_CONTEXT_ES_PROFILE)\n#define REGAL_NO_DECLARATION_WGL_EXT_CREATE_CONTEXT_ES_PROFILE\n#endif\n\n#ifndef WGL_EXT_create_context_es_profile\n#define WGL_EXT_create_context_es_profile 1\n#endif\n\n#ifndef REGAL_NO_ENUM_WGL_EXT_CREATE_CONTEXT_ES_PROFILE\n#define WGL_CONTEXT_ES_PROFILE_BIT_EXT 0x4\n#endif\n\n/**\n ** WGL_EXT_depth_float\n **/\n\n#if (defined(WGL_EXT_DEPTH_FLOAT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_EXT_DEPTH_FLOAT)) && !defined(REGAL_NO_ENUM_WGL_EXT_DEPTH_FLOAT)\n#define REGAL_NO_ENUM_WGL_EXT_DEPTH_FLOAT\n#endif\n\n#if (defined(WGL_EXT_DEPTH_FLOAT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_EXT_DEPTH_FLOAT)) && !defined(REGAL_NO_TYPEDEF_WGL_EXT_DEPTH_FLOAT)\n#define REGAL_NO_TYPEDEF_WGL_EXT_DEPTH_FLOAT\n#endif\n\n#if (defined(WGL_EXT_DEPTH_FLOAT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_EXT_DEPTH_FLOAT)) && !defined(REGAL_NO_NAMESPACE_WGL_EXT_DEPTH_FLOAT)\n#define REGAL_NO_NAMESPACE_WGL_EXT_DEPTH_FLOAT\n#endif\n\n#if (defined(WGL_EXT_DEPTH_FLOAT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_EXT_DEPTH_FLOAT)) && !defined(REGAL_NO_PLUGIN_WGL_EXT_DEPTH_FLOAT)\n#define REGAL_NO_PLUGIN_WGL_EXT_DEPTH_FLOAT\n#endif\n\n#if (defined(WGL_EXT_DEPTH_FLOAT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_EXT_DEPTH_FLOAT)) && !defined(REGAL_NO_DECLARATION_WGL_EXT_DEPTH_FLOAT)\n#define REGAL_NO_DECLARATION_WGL_EXT_DEPTH_FLOAT\n#endif\n\n#ifndef WGL_EXT_depth_float\n#define WGL_EXT_depth_float 1\n#endif\n\n#ifndef REGAL_NO_ENUM_WGL_EXT_DEPTH_FLOAT\n#define WGL_DEPTH_FLOAT_EXT 0x2040 /* 8256 */\n#endif\n\n/**\n ** WGL_EXT_display_color_table\n **/\n\n#if (defined(WGL_EXT_DISPLAY_COLOR_TABLE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_EXT_DISPLAY_COLOR_TABLE)) && !defined(REGAL_NO_ENUM_WGL_EXT_DISPLAY_COLOR_TABLE)\n#define REGAL_NO_ENUM_WGL_EXT_DISPLAY_COLOR_TABLE\n#endif\n\n#if (defined(WGL_EXT_DISPLAY_COLOR_TABLE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_EXT_DISPLAY_COLOR_TABLE)) && !defined(REGAL_NO_TYPEDEF_WGL_EXT_DISPLAY_COLOR_TABLE)\n#define REGAL_NO_TYPEDEF_WGL_EXT_DISPLAY_COLOR_TABLE\n#endif\n\n#if (defined(WGL_EXT_DISPLAY_COLOR_TABLE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_EXT_DISPLAY_COLOR_TABLE)) && !defined(REGAL_NO_NAMESPACE_WGL_EXT_DISPLAY_COLOR_TABLE)\n#define REGAL_NO_NAMESPACE_WGL_EXT_DISPLAY_COLOR_TABLE\n#endif\n\n#if (defined(WGL_EXT_DISPLAY_COLOR_TABLE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_EXT_DISPLAY_COLOR_TABLE)) && !defined(REGAL_NO_PLUGIN_WGL_EXT_DISPLAY_COLOR_TABLE)\n#define REGAL_NO_PLUGIN_WGL_EXT_DISPLAY_COLOR_TABLE\n#endif\n\n#if (defined(WGL_EXT_DISPLAY_COLOR_TABLE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_EXT_DISPLAY_COLOR_TABLE)) && !defined(REGAL_NO_DECLARATION_WGL_EXT_DISPLAY_COLOR_TABLE)\n#define REGAL_NO_DECLARATION_WGL_EXT_DISPLAY_COLOR_TABLE\n#endif\n\n#ifndef WGL_EXT_display_color_table\n#define WGL_EXT_display_color_table 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_WGL_EXT_DISPLAY_COLOR_TABLE\ntypedef GLboolean (REGAL_CALL *PFNWGLBINDDISPLAYCOLORTABLEEXTPROC)(GLushort id);\ntypedef GLboolean (REGAL_CALL *PFNWGLCREATEDISPLAYCOLORTABLEEXTPROC)(GLushort id);\ntypedef GLboolean (REGAL_CALL *PFNWGLLOADDISPLAYCOLORTABLEEXTPROC)(const GLushort *table, GLuint length);\ntypedef VOID (REGAL_CALL *PFNWGLDESTROYDISPLAYCOLORTABLEEXTPROC)(GLushort id);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_WGL_EXT_DISPLAY_COLOR_TABLE\n#define wglBindDisplayColorTableEXT         rwglBindDisplayColorTableEXT\n#define wglCreateDisplayColorTableEXT       rwglCreateDisplayColorTableEXT\n#define wglDestroyDisplayColorTableEXT      rwglDestroyDisplayColorTableEXT\n#define wglLoadDisplayColorTableEXT         rwglLoadDisplayColorTableEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_WGL_EXT_DISPLAY_COLOR_TABLE\nREGAL_DECL GLboolean REGAL_CALL wglBindDisplayColorTableEXT(GLushort id);\nREGAL_DECL GLboolean REGAL_CALL wglCreateDisplayColorTableEXT(GLushort id);\nREGAL_DECL GLboolean REGAL_CALL wglLoadDisplayColorTableEXT(const GLushort *table, GLuint length);\nREGAL_DECL VOID REGAL_CALL wglDestroyDisplayColorTableEXT(GLushort id);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_WGL_EXT_DISPLAY_COLOR_TABLE\nREGAL_DECL GLboolean REGAL_CALL plugin_wglBindDisplayColorTableEXT(GLushort id);\nREGAL_DECL GLboolean REGAL_CALL plugin_wglCreateDisplayColorTableEXT(GLushort id);\nREGAL_DECL GLboolean REGAL_CALL plugin_wglLoadDisplayColorTableEXT(const GLushort *table, GLuint length);\nREGAL_DECL VOID REGAL_CALL plugin_wglDestroyDisplayColorTableEXT(GLushort id);\n#endif\n\n/**\n ** WGL_EXT_extensions_string\n **/\n\n#if (defined(WGL_EXT_EXTENSIONS_STRING) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_EXT_EXTENSIONS_STRING)) && !defined(REGAL_NO_ENUM_WGL_EXT_EXTENSIONS_STRING)\n#define REGAL_NO_ENUM_WGL_EXT_EXTENSIONS_STRING\n#endif\n\n#if (defined(WGL_EXT_EXTENSIONS_STRING) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_EXT_EXTENSIONS_STRING)) && !defined(REGAL_NO_TYPEDEF_WGL_EXT_EXTENSIONS_STRING)\n#define REGAL_NO_TYPEDEF_WGL_EXT_EXTENSIONS_STRING\n#endif\n\n#if (defined(WGL_EXT_EXTENSIONS_STRING) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_EXT_EXTENSIONS_STRING)) && !defined(REGAL_NO_NAMESPACE_WGL_EXT_EXTENSIONS_STRING)\n#define REGAL_NO_NAMESPACE_WGL_EXT_EXTENSIONS_STRING\n#endif\n\n#if (defined(WGL_EXT_EXTENSIONS_STRING) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_EXT_EXTENSIONS_STRING)) && !defined(REGAL_NO_PLUGIN_WGL_EXT_EXTENSIONS_STRING)\n#define REGAL_NO_PLUGIN_WGL_EXT_EXTENSIONS_STRING\n#endif\n\n#if (defined(WGL_EXT_EXTENSIONS_STRING) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_EXT_EXTENSIONS_STRING)) && !defined(REGAL_NO_DECLARATION_WGL_EXT_EXTENSIONS_STRING)\n#define REGAL_NO_DECLARATION_WGL_EXT_EXTENSIONS_STRING\n#endif\n\n#ifndef WGL_EXT_extensions_string\n#define WGL_EXT_extensions_string 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_WGL_EXT_EXTENSIONS_STRING\ntypedef const char *(REGAL_CALL *PFNWGLGETEXTENSIONSSTRINGEXTPROC)(void);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_WGL_EXT_EXTENSIONS_STRING\n#define wglGetExtensionsStringEXT           rwglGetExtensionsStringEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_WGL_EXT_EXTENSIONS_STRING\nREGAL_DECL const char *REGAL_CALL wglGetExtensionsStringEXT(void);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_WGL_EXT_EXTENSIONS_STRING\nREGAL_DECL const char *REGAL_CALL plugin_wglGetExtensionsStringEXT(void);\n#endif\n\n/**\n ** WGL_EXT_framebuffer_sRGB\n **/\n\n#if (defined(WGL_EXT_FRAMEBUFFER_SRGB) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_EXT_FRAMEBUFFER_SRGB)) && !defined(REGAL_NO_ENUM_WGL_EXT_FRAMEBUFFER_SRGB)\n#define REGAL_NO_ENUM_WGL_EXT_FRAMEBUFFER_SRGB\n#endif\n\n#if (defined(WGL_EXT_FRAMEBUFFER_SRGB) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_EXT_FRAMEBUFFER_SRGB)) && !defined(REGAL_NO_TYPEDEF_WGL_EXT_FRAMEBUFFER_SRGB)\n#define REGAL_NO_TYPEDEF_WGL_EXT_FRAMEBUFFER_SRGB\n#endif\n\n#if (defined(WGL_EXT_FRAMEBUFFER_SRGB) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_EXT_FRAMEBUFFER_SRGB)) && !defined(REGAL_NO_NAMESPACE_WGL_EXT_FRAMEBUFFER_SRGB)\n#define REGAL_NO_NAMESPACE_WGL_EXT_FRAMEBUFFER_SRGB\n#endif\n\n#if (defined(WGL_EXT_FRAMEBUFFER_SRGB) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_EXT_FRAMEBUFFER_SRGB)) && !defined(REGAL_NO_PLUGIN_WGL_EXT_FRAMEBUFFER_SRGB)\n#define REGAL_NO_PLUGIN_WGL_EXT_FRAMEBUFFER_SRGB\n#endif\n\n#if (defined(WGL_EXT_FRAMEBUFFER_SRGB) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_EXT_FRAMEBUFFER_SRGB)) && !defined(REGAL_NO_DECLARATION_WGL_EXT_FRAMEBUFFER_SRGB)\n#define REGAL_NO_DECLARATION_WGL_EXT_FRAMEBUFFER_SRGB\n#endif\n\n#ifndef WGL_EXT_framebuffer_sRGB\n#define WGL_EXT_framebuffer_sRGB 1\n#endif\n\n#ifndef REGAL_NO_ENUM_WGL_EXT_FRAMEBUFFER_SRGB\n#define WGL_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x20a9 /* 8361 */\n#endif\n\n/**\n ** WGL_EXT_make_current_read\n **/\n\n#if (defined(WGL_EXT_MAKE_CURRENT_READ) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_EXT_MAKE_CURRENT_READ)) && !defined(REGAL_NO_ENUM_WGL_EXT_MAKE_CURRENT_READ)\n#define REGAL_NO_ENUM_WGL_EXT_MAKE_CURRENT_READ\n#endif\n\n#if (defined(WGL_EXT_MAKE_CURRENT_READ) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_EXT_MAKE_CURRENT_READ)) && !defined(REGAL_NO_TYPEDEF_WGL_EXT_MAKE_CURRENT_READ)\n#define REGAL_NO_TYPEDEF_WGL_EXT_MAKE_CURRENT_READ\n#endif\n\n#if (defined(WGL_EXT_MAKE_CURRENT_READ) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_EXT_MAKE_CURRENT_READ)) && !defined(REGAL_NO_NAMESPACE_WGL_EXT_MAKE_CURRENT_READ)\n#define REGAL_NO_NAMESPACE_WGL_EXT_MAKE_CURRENT_READ\n#endif\n\n#if (defined(WGL_EXT_MAKE_CURRENT_READ) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_EXT_MAKE_CURRENT_READ)) && !defined(REGAL_NO_PLUGIN_WGL_EXT_MAKE_CURRENT_READ)\n#define REGAL_NO_PLUGIN_WGL_EXT_MAKE_CURRENT_READ\n#endif\n\n#if (defined(WGL_EXT_MAKE_CURRENT_READ) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_EXT_MAKE_CURRENT_READ)) && !defined(REGAL_NO_DECLARATION_WGL_EXT_MAKE_CURRENT_READ)\n#define REGAL_NO_DECLARATION_WGL_EXT_MAKE_CURRENT_READ\n#endif\n\n#ifndef WGL_EXT_make_current_read\n#define WGL_EXT_make_current_read 1\n#endif\n\n#ifndef REGAL_NO_ENUM_WGL_EXT_MAKE_CURRENT_READ\n#define ERROR_INVALID_PIXEL_TYPE_EXT 0x2043 /* 8259 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_WGL_EXT_MAKE_CURRENT_READ\ntypedef BOOL (REGAL_CALL *PFNWGLMAKECONTEXTCURRENTEXTPROC)(HDC hDrawDC, HDC hReadDC, HGLRC hglrc);\ntypedef HDC (REGAL_CALL *PFNWGLGETCURRENTREADDCEXTPROC)(void);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_WGL_EXT_MAKE_CURRENT_READ\n#define wglGetCurrentReadDCEXT              rwglGetCurrentReadDCEXT\n#define wglMakeContextCurrentEXT            rwglMakeContextCurrentEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_WGL_EXT_MAKE_CURRENT_READ\nREGAL_DECL BOOL REGAL_CALL wglMakeContextCurrentEXT(HDC hDrawDC, HDC hReadDC, HGLRC hglrc);\nREGAL_DECL HDC REGAL_CALL wglGetCurrentReadDCEXT(void);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_WGL_EXT_MAKE_CURRENT_READ\nREGAL_DECL BOOL REGAL_CALL plugin_wglMakeContextCurrentEXT(HDC hDrawDC, HDC hReadDC, HGLRC hglrc);\nREGAL_DECL HDC REGAL_CALL plugin_wglGetCurrentReadDCEXT(void);\n#endif\n\n/**\n ** WGL_EXT_multisample\n **/\n\n#if (defined(WGL_EXT_MULTISAMPLE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_EXT_MULTISAMPLE)) && !defined(REGAL_NO_ENUM_WGL_EXT_MULTISAMPLE)\n#define REGAL_NO_ENUM_WGL_EXT_MULTISAMPLE\n#endif\n\n#if (defined(WGL_EXT_MULTISAMPLE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_EXT_MULTISAMPLE)) && !defined(REGAL_NO_TYPEDEF_WGL_EXT_MULTISAMPLE)\n#define REGAL_NO_TYPEDEF_WGL_EXT_MULTISAMPLE\n#endif\n\n#if (defined(WGL_EXT_MULTISAMPLE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_EXT_MULTISAMPLE)) && !defined(REGAL_NO_NAMESPACE_WGL_EXT_MULTISAMPLE)\n#define REGAL_NO_NAMESPACE_WGL_EXT_MULTISAMPLE\n#endif\n\n#if (defined(WGL_EXT_MULTISAMPLE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_EXT_MULTISAMPLE)) && !defined(REGAL_NO_PLUGIN_WGL_EXT_MULTISAMPLE)\n#define REGAL_NO_PLUGIN_WGL_EXT_MULTISAMPLE\n#endif\n\n#if (defined(WGL_EXT_MULTISAMPLE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_EXT_MULTISAMPLE)) && !defined(REGAL_NO_DECLARATION_WGL_EXT_MULTISAMPLE)\n#define REGAL_NO_DECLARATION_WGL_EXT_MULTISAMPLE\n#endif\n\n#ifndef WGL_EXT_multisample\n#define WGL_EXT_multisample 1\n#endif\n\n#ifndef REGAL_NO_ENUM_WGL_EXT_MULTISAMPLE\n#define WGL_SAMPLE_BUFFERS_EXT 0x2041     /* 8257 */\n#define WGL_SAMPLES_EXT        0x2042     /* 8258 */\n#endif\n\n/**\n ** WGL_EXT_pbuffer\n **/\n\n#if (defined(WGL_EXT_PBUFFER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_EXT_PBUFFER)) && !defined(REGAL_NO_ENUM_WGL_EXT_PBUFFER)\n#define REGAL_NO_ENUM_WGL_EXT_PBUFFER\n#endif\n\n#if (defined(WGL_EXT_PBUFFER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_EXT_PBUFFER)) && !defined(REGAL_NO_TYPEDEF_WGL_EXT_PBUFFER)\n#define REGAL_NO_TYPEDEF_WGL_EXT_PBUFFER\n#endif\n\n#if (defined(WGL_EXT_PBUFFER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_EXT_PBUFFER)) && !defined(REGAL_NO_NAMESPACE_WGL_EXT_PBUFFER)\n#define REGAL_NO_NAMESPACE_WGL_EXT_PBUFFER\n#endif\n\n#if (defined(WGL_EXT_PBUFFER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_EXT_PBUFFER)) && !defined(REGAL_NO_PLUGIN_WGL_EXT_PBUFFER)\n#define REGAL_NO_PLUGIN_WGL_EXT_PBUFFER\n#endif\n\n#if (defined(WGL_EXT_PBUFFER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_EXT_PBUFFER)) && !defined(REGAL_NO_DECLARATION_WGL_EXT_PBUFFER)\n#define REGAL_NO_DECLARATION_WGL_EXT_PBUFFER\n#endif\n\n#ifndef WGL_EXT_pbuffer\n#define WGL_EXT_pbuffer 1\n#endif\n\n#ifndef REGAL_NO_ENUM_WGL_EXT_PBUFFER\n#define WGL_DRAW_TO_PBUFFER_EXT        0x202d     /* 8237 */\n#define WGL_MAX_PBUFFER_PIXELS_EXT     0x202e     /* 8238 */\n#define WGL_MAX_PBUFFER_WIDTH_EXT      0x202f     /* 8239 */\n#define WGL_MAX_PBUFFER_HEIGHT_EXT     0x2030     /* 8240 */\n#define WGL_OPTIMAL_PBUFFER_WIDTH_EXT  0x2031     /* 8241 */\n#define WGL_OPTIMAL_PBUFFER_HEIGHT_EXT 0x2032     /* 8242 */\n#define WGL_PBUFFER_LARGEST_EXT        0x2033     /* 8243 */\n#define WGL_PBUFFER_WIDTH_EXT          0x2034     /* 8244 */\n#define WGL_PBUFFER_HEIGHT_EXT         0x2035     /* 8245 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_WGL_EXT_PBUFFER\ntypedef BOOL (REGAL_CALL *PFNWGLDESTROYPBUFFEREXTPROC)(HPBUFFEREXT hPbuffer);\ntypedef BOOL (REGAL_CALL *PFNWGLQUERYPBUFFEREXTPROC)(HPBUFFEREXT hPbuffer, int iAttribute, int *piValue);\ntypedef HDC (REGAL_CALL *PFNWGLGETPBUFFERDCEXTPROC)(HPBUFFEREXT hPbuffer);\ntypedef HPBUFFEREXT (REGAL_CALL *PFNWGLCREATEPBUFFEREXTPROC)(HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int *piAttribList);\ntypedef int (REGAL_CALL *PFNWGLRELEASEPBUFFERDCEXTPROC)(HPBUFFEREXT hPbuffer, HDC hDC);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_WGL_EXT_PBUFFER\n#define wglCreatePbufferEXT                 rwglCreatePbufferEXT\n#define wglDestroyPbufferEXT                rwglDestroyPbufferEXT\n#define wglGetPbufferDCEXT                  rwglGetPbufferDCEXT\n#define wglQueryPbufferEXT                  rwglQueryPbufferEXT\n#define wglReleasePbufferDCEXT              rwglReleasePbufferDCEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_WGL_EXT_PBUFFER\nREGAL_DECL BOOL REGAL_CALL wglDestroyPbufferEXT(HPBUFFEREXT hPbuffer);\nREGAL_DECL BOOL REGAL_CALL wglQueryPbufferEXT(HPBUFFEREXT hPbuffer, int iAttribute, int *piValue);\nREGAL_DECL HDC REGAL_CALL wglGetPbufferDCEXT(HPBUFFEREXT hPbuffer);\nREGAL_DECL HPBUFFEREXT REGAL_CALL wglCreatePbufferEXT(HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int *piAttribList);\nREGAL_DECL int REGAL_CALL wglReleasePbufferDCEXT(HPBUFFEREXT hPbuffer, HDC hDC);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_WGL_EXT_PBUFFER\nREGAL_DECL BOOL REGAL_CALL plugin_wglDestroyPbufferEXT(HPBUFFEREXT hPbuffer);\nREGAL_DECL BOOL REGAL_CALL plugin_wglQueryPbufferEXT(HPBUFFEREXT hPbuffer, int iAttribute, int *piValue);\nREGAL_DECL HDC REGAL_CALL plugin_wglGetPbufferDCEXT(HPBUFFEREXT hPbuffer);\nREGAL_DECL HPBUFFEREXT REGAL_CALL plugin_wglCreatePbufferEXT(HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int *piAttribList);\nREGAL_DECL int REGAL_CALL plugin_wglReleasePbufferDCEXT(HPBUFFEREXT hPbuffer, HDC hDC);\n#endif\n\n/**\n ** WGL_EXT_pixel_format\n **/\n\n#if (defined(WGL_EXT_PIXEL_FORMAT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_EXT_PIXEL_FORMAT)) && !defined(REGAL_NO_ENUM_WGL_EXT_PIXEL_FORMAT)\n#define REGAL_NO_ENUM_WGL_EXT_PIXEL_FORMAT\n#endif\n\n#if (defined(WGL_EXT_PIXEL_FORMAT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_EXT_PIXEL_FORMAT)) && !defined(REGAL_NO_TYPEDEF_WGL_EXT_PIXEL_FORMAT)\n#define REGAL_NO_TYPEDEF_WGL_EXT_PIXEL_FORMAT\n#endif\n\n#if (defined(WGL_EXT_PIXEL_FORMAT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_EXT_PIXEL_FORMAT)) && !defined(REGAL_NO_NAMESPACE_WGL_EXT_PIXEL_FORMAT)\n#define REGAL_NO_NAMESPACE_WGL_EXT_PIXEL_FORMAT\n#endif\n\n#if (defined(WGL_EXT_PIXEL_FORMAT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_EXT_PIXEL_FORMAT)) && !defined(REGAL_NO_PLUGIN_WGL_EXT_PIXEL_FORMAT)\n#define REGAL_NO_PLUGIN_WGL_EXT_PIXEL_FORMAT\n#endif\n\n#if (defined(WGL_EXT_PIXEL_FORMAT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_EXT_PIXEL_FORMAT)) && !defined(REGAL_NO_DECLARATION_WGL_EXT_PIXEL_FORMAT)\n#define REGAL_NO_DECLARATION_WGL_EXT_PIXEL_FORMAT\n#endif\n\n#ifndef WGL_EXT_pixel_format\n#define WGL_EXT_pixel_format 1\n#endif\n\n#ifndef REGAL_NO_ENUM_WGL_EXT_PIXEL_FORMAT\n#define WGL_NUMBER_PIXEL_FORMATS_EXT 0x2000     /* 8192 */\n#define WGL_DRAW_TO_WINDOW_EXT       0x2001     /* 8193 */\n#define WGL_DRAW_TO_BITMAP_EXT       0x2002     /* 8194 */\n#define WGL_ACCELERATION_EXT         0x2003     /* 8195 */\n#define WGL_NEED_PALETTE_EXT         0x2004     /* 8196 */\n#define WGL_NEED_SYSTEM_PALETTE_EXT  0x2005     /* 8197 */\n#define WGL_SWAP_LAYER_BUFFERS_EXT   0x2006     /* 8198 */\n#define WGL_SWAP_METHOD_EXT          0x2007     /* 8199 */\n#define WGL_NUMBER_OVERLAYS_EXT      0x2008     /* 8200 */\n#define WGL_NUMBER_UNDERLAYS_EXT     0x2009     /* 8201 */\n#define WGL_TRANSPARENT_EXT          0x200a     /* 8202 */\n#define WGL_TRANSPARENT_VALUE_EXT    0x200b     /* 8203 */\n#define WGL_SHARE_DEPTH_EXT          0x200c     /* 8204 */\n#define WGL_SHARE_STENCIL_EXT        0x200d     /* 8205 */\n#define WGL_SHARE_ACCUM_EXT          0x200e     /* 8206 */\n#define WGL_SUPPORT_GDI_EXT          0x200f     /* 8207 */\n#define WGL_SUPPORT_OPENGL_EXT       0x2010     /* 8208 */\n#define WGL_DOUBLE_BUFFER_EXT        0x2011     /* 8209 */\n#define WGL_STEREO_EXT               0x2012     /* 8210 */\n#define WGL_PIXEL_TYPE_EXT           0x2013     /* 8211 */\n#define WGL_COLOR_BITS_EXT           0x2014     /* 8212 */\n#define WGL_RED_BITS_EXT             0x2015     /* 8213 */\n#define WGL_RED_SHIFT_EXT            0x2016     /* 8214 */\n#define WGL_GREEN_BITS_EXT           0x2017     /* 8215 */\n#define WGL_GREEN_SHIFT_EXT          0x2018     /* 8216 */\n#define WGL_BLUE_BITS_EXT            0x2019     /* 8217 */\n#define WGL_BLUE_SHIFT_EXT           0x201a     /* 8218 */\n#define WGL_ALPHA_BITS_EXT           0x201b     /* 8219 */\n#define WGL_ALPHA_SHIFT_EXT          0x201c     /* 8220 */\n#define WGL_ACCUM_BITS_EXT           0x201d     /* 8221 */\n#define WGL_ACCUM_RED_BITS_EXT       0x201e     /* 8222 */\n#define WGL_ACCUM_GREEN_BITS_EXT     0x201f     /* 8223 */\n#define WGL_ACCUM_BLUE_BITS_EXT      0x2020     /* 8224 */\n#define WGL_ACCUM_ALPHA_BITS_EXT     0x2021     /* 8225 */\n#define WGL_DEPTH_BITS_EXT           0x2022     /* 8226 */\n#define WGL_STENCIL_BITS_EXT         0x2023     /* 8227 */\n#define WGL_AUX_BUFFERS_EXT          0x2024     /* 8228 */\n#define WGL_NO_ACCELERATION_EXT      0x2025     /* 8229 */\n#define WGL_GENERIC_ACCELERATION_EXT 0x2026     /* 8230 */\n#define WGL_FULL_ACCELERATION_EXT    0x2027     /* 8231 */\n#define WGL_SWAP_EXCHANGE_EXT        0x2028     /* 8232 */\n#define WGL_SWAP_COPY_EXT            0x2029     /* 8233 */\n#define WGL_SWAP_UNDEFINED_EXT       0x202a     /* 8234 */\n#define WGL_TYPE_RGBA_EXT            0x202b     /* 8235 */\n#define WGL_TYPE_COLORINDEX_EXT      0x202c     /* 8236 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_WGL_EXT_PIXEL_FORMAT\ntypedef BOOL (REGAL_CALL *PFNWGLCHOOSEPIXELFORMATEXTPROC)(HDC hDC, const int *piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats);\ntypedef BOOL (REGAL_CALL *PFNWGLGETPIXELFORMATATTRIBFVEXTPROC)(HDC hDC, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, FLOAT *pfValues);\ntypedef BOOL (REGAL_CALL *PFNWGLGETPIXELFORMATATTRIBIVEXTPROC)(HDC hDC, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, int *piValues);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_WGL_EXT_PIXEL_FORMAT\n#define wglChoosePixelFormatEXT             rwglChoosePixelFormatEXT\n#define wglGetPixelFormatAttribfvEXT        rwglGetPixelFormatAttribfvEXT\n#define wglGetPixelFormatAttribivEXT        rwglGetPixelFormatAttribivEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_WGL_EXT_PIXEL_FORMAT\nREGAL_DECL BOOL REGAL_CALL wglChoosePixelFormatEXT(HDC hDC, const int *piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats);\nREGAL_DECL BOOL REGAL_CALL wglGetPixelFormatAttribfvEXT(HDC hDC, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, FLOAT *pfValues);\nREGAL_DECL BOOL REGAL_CALL wglGetPixelFormatAttribivEXT(HDC hDC, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, int *piValues);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_WGL_EXT_PIXEL_FORMAT\nREGAL_DECL BOOL REGAL_CALL plugin_wglChoosePixelFormatEXT(HDC hDC, const int *piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats);\nREGAL_DECL BOOL REGAL_CALL plugin_wglGetPixelFormatAttribfvEXT(HDC hDC, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, FLOAT *pfValues);\nREGAL_DECL BOOL REGAL_CALL plugin_wglGetPixelFormatAttribivEXT(HDC hDC, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, int *piValues);\n#endif\n\n/**\n ** WGL_EXT_pixel_format_packed_float\n **/\n\n#if (defined(WGL_EXT_PIXEL_FORMAT_PACKED_FLOAT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_EXT_PIXEL_FORMAT_PACKED_FLOAT)) && !defined(REGAL_NO_ENUM_WGL_EXT_PIXEL_FORMAT_PACKED_FLOAT)\n#define REGAL_NO_ENUM_WGL_EXT_PIXEL_FORMAT_PACKED_FLOAT\n#endif\n\n#if (defined(WGL_EXT_PIXEL_FORMAT_PACKED_FLOAT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_EXT_PIXEL_FORMAT_PACKED_FLOAT)) && !defined(REGAL_NO_TYPEDEF_WGL_EXT_PIXEL_FORMAT_PACKED_FLOAT)\n#define REGAL_NO_TYPEDEF_WGL_EXT_PIXEL_FORMAT_PACKED_FLOAT\n#endif\n\n#if (defined(WGL_EXT_PIXEL_FORMAT_PACKED_FLOAT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_EXT_PIXEL_FORMAT_PACKED_FLOAT)) && !defined(REGAL_NO_NAMESPACE_WGL_EXT_PIXEL_FORMAT_PACKED_FLOAT)\n#define REGAL_NO_NAMESPACE_WGL_EXT_PIXEL_FORMAT_PACKED_FLOAT\n#endif\n\n#if (defined(WGL_EXT_PIXEL_FORMAT_PACKED_FLOAT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_EXT_PIXEL_FORMAT_PACKED_FLOAT)) && !defined(REGAL_NO_PLUGIN_WGL_EXT_PIXEL_FORMAT_PACKED_FLOAT)\n#define REGAL_NO_PLUGIN_WGL_EXT_PIXEL_FORMAT_PACKED_FLOAT\n#endif\n\n#if (defined(WGL_EXT_PIXEL_FORMAT_PACKED_FLOAT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_EXT_PIXEL_FORMAT_PACKED_FLOAT)) && !defined(REGAL_NO_DECLARATION_WGL_EXT_PIXEL_FORMAT_PACKED_FLOAT)\n#define REGAL_NO_DECLARATION_WGL_EXT_PIXEL_FORMAT_PACKED_FLOAT\n#endif\n\n#ifndef WGL_EXT_pixel_format_packed_float\n#define WGL_EXT_pixel_format_packed_float 1\n#endif\n\n#ifndef REGAL_NO_ENUM_WGL_EXT_PIXEL_FORMAT_PACKED_FLOAT\n#define WGL_TYPE_RGBA_UNSIGNED_FLOAT_EXT 0x20a8 /* 8360 */\n#endif\n\n/**\n ** WGL_EXT_swap_control\n **/\n\n#if (defined(WGL_EXT_SWAP_CONTROL) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_EXT_SWAP_CONTROL)) && !defined(REGAL_NO_ENUM_WGL_EXT_SWAP_CONTROL)\n#define REGAL_NO_ENUM_WGL_EXT_SWAP_CONTROL\n#endif\n\n#if (defined(WGL_EXT_SWAP_CONTROL) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_EXT_SWAP_CONTROL)) && !defined(REGAL_NO_TYPEDEF_WGL_EXT_SWAP_CONTROL)\n#define REGAL_NO_TYPEDEF_WGL_EXT_SWAP_CONTROL\n#endif\n\n#if (defined(WGL_EXT_SWAP_CONTROL) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_EXT_SWAP_CONTROL)) && !defined(REGAL_NO_NAMESPACE_WGL_EXT_SWAP_CONTROL)\n#define REGAL_NO_NAMESPACE_WGL_EXT_SWAP_CONTROL\n#endif\n\n#if (defined(WGL_EXT_SWAP_CONTROL) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_EXT_SWAP_CONTROL)) && !defined(REGAL_NO_PLUGIN_WGL_EXT_SWAP_CONTROL)\n#define REGAL_NO_PLUGIN_WGL_EXT_SWAP_CONTROL\n#endif\n\n#if (defined(WGL_EXT_SWAP_CONTROL) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_EXT_SWAP_CONTROL)) && !defined(REGAL_NO_DECLARATION_WGL_EXT_SWAP_CONTROL)\n#define REGAL_NO_DECLARATION_WGL_EXT_SWAP_CONTROL\n#endif\n\n#ifndef WGL_EXT_swap_control\n#define WGL_EXT_swap_control 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_WGL_EXT_SWAP_CONTROL\ntypedef BOOL (REGAL_CALL *PFNWGLSWAPINTERVALEXTPROC)(int interval);\ntypedef int (REGAL_CALL *PFNWGLGETSWAPINTERVALEXTPROC)(void);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_WGL_EXT_SWAP_CONTROL\n#define wglGetSwapIntervalEXT               rwglGetSwapIntervalEXT\n#define wglSwapIntervalEXT                  rwglSwapIntervalEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_WGL_EXT_SWAP_CONTROL\nREGAL_DECL BOOL REGAL_CALL wglSwapIntervalEXT(int interval);\nREGAL_DECL int REGAL_CALL wglGetSwapIntervalEXT(void);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_WGL_EXT_SWAP_CONTROL\nREGAL_DECL BOOL REGAL_CALL plugin_wglSwapIntervalEXT(int interval);\nREGAL_DECL int REGAL_CALL plugin_wglGetSwapIntervalEXT(void);\n#endif\n\n/**\n ** WGL_GDI\n **/\n\n#if (defined(WGL_GDI) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_GDI)) && !defined(REGAL_NO_ENUM_WGL_GDI)\n#define REGAL_NO_ENUM_WGL_GDI\n#endif\n\n#if (defined(WGL_GDI) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_GDI)) && !defined(REGAL_NO_TYPEDEF_WGL_GDI)\n#define REGAL_NO_TYPEDEF_WGL_GDI\n#endif\n\n#if (defined(WGL_GDI) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_GDI)) && !defined(REGAL_NO_NAMESPACE_WGL_GDI)\n#define REGAL_NO_NAMESPACE_WGL_GDI\n#endif\n\n#if (defined(WGL_GDI) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_GDI)) && !defined(REGAL_NO_PLUGIN_WGL_GDI)\n#define REGAL_NO_PLUGIN_WGL_GDI\n#endif\n\n#if (defined(WGL_GDI) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_GDI)) && !defined(REGAL_NO_DECLARATION_WGL_GDI)\n#define REGAL_NO_DECLARATION_WGL_GDI\n#endif\n\n#ifndef WGL_GDI\n#define WGL_GDI 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_WGL_GDI\ntypedef BOOL (REGAL_CALL *PFNWGLSETPIXELFORMATPROC)(HDC hDC, int iPixelFormat, const PIXELFORMATDESCRIPTOR *ppfd);\ntypedef BOOL (REGAL_CALL *PFNWGLSWAPBUFFERSPROC)(HDC hDC);\ntypedef int (REGAL_CALL *PFNWGLCHOOSEPIXELFORMATPROC)(HDC hDC, const PIXELFORMATDESCRIPTOR *ppfd);\ntypedef int (REGAL_CALL *PFNWGLDESCRIBEPIXELFORMATPROC)(HDC hDC, int iPixelFormat, UINT nBytes, LPPIXELFORMATDESCRIPTOR ppfd);\ntypedef int (REGAL_CALL *PFNWGLGETPIXELFORMATPROC)(HDC hDC);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_WGL_GDI\n#define wglChoosePixelFormat                rwglChoosePixelFormat\n#define wglDescribePixelFormat              rwglDescribePixelFormat\n#define wglGetPixelFormat                   rwglGetPixelFormat\n#define wglSetPixelFormat                   rwglSetPixelFormat\n#define wglSwapBuffers                      rwglSwapBuffers\n#endif\n\n#ifndef REGAL_NO_DECLARATION_WGL_GDI\nREGAL_DECL BOOL REGAL_CALL wglSetPixelFormat(HDC hDC, int iPixelFormat, const PIXELFORMATDESCRIPTOR *ppfd);\nREGAL_DECL BOOL REGAL_CALL wglSwapBuffers(HDC hDC);\nREGAL_DECL int REGAL_CALL wglChoosePixelFormat(HDC hDC, const PIXELFORMATDESCRIPTOR *ppfd);\nREGAL_DECL int REGAL_CALL wglDescribePixelFormat(HDC hDC, int iPixelFormat, UINT nBytes, LPPIXELFORMATDESCRIPTOR ppfd);\nREGAL_DECL int REGAL_CALL wglGetPixelFormat(HDC hDC);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_WGL_GDI\nREGAL_DECL BOOL REGAL_CALL plugin_wglSetPixelFormat(HDC hDC, int iPixelFormat, const PIXELFORMATDESCRIPTOR *ppfd);\nREGAL_DECL BOOL REGAL_CALL plugin_wglSwapBuffers(HDC hDC);\nREGAL_DECL int REGAL_CALL plugin_wglChoosePixelFormat(HDC hDC, const PIXELFORMATDESCRIPTOR *ppfd);\nREGAL_DECL int REGAL_CALL plugin_wglDescribePixelFormat(HDC hDC, int iPixelFormat, UINT nBytes, LPPIXELFORMATDESCRIPTOR ppfd);\nREGAL_DECL int REGAL_CALL plugin_wglGetPixelFormat(HDC hDC);\n#endif\n\n/**\n ** WGL_I3D_digital_video_control\n **/\n\n#if (defined(WGL_I3D_DIGITAL_VIDEO_CONTROL) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_I3D_DIGITAL_VIDEO_CONTROL)) && !defined(REGAL_NO_ENUM_WGL_I3D_DIGITAL_VIDEO_CONTROL)\n#define REGAL_NO_ENUM_WGL_I3D_DIGITAL_VIDEO_CONTROL\n#endif\n\n#if (defined(WGL_I3D_DIGITAL_VIDEO_CONTROL) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_I3D_DIGITAL_VIDEO_CONTROL)) && !defined(REGAL_NO_TYPEDEF_WGL_I3D_DIGITAL_VIDEO_CONTROL)\n#define REGAL_NO_TYPEDEF_WGL_I3D_DIGITAL_VIDEO_CONTROL\n#endif\n\n#if (defined(WGL_I3D_DIGITAL_VIDEO_CONTROL) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_I3D_DIGITAL_VIDEO_CONTROL)) && !defined(REGAL_NO_NAMESPACE_WGL_I3D_DIGITAL_VIDEO_CONTROL)\n#define REGAL_NO_NAMESPACE_WGL_I3D_DIGITAL_VIDEO_CONTROL\n#endif\n\n#if (defined(WGL_I3D_DIGITAL_VIDEO_CONTROL) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_I3D_DIGITAL_VIDEO_CONTROL)) && !defined(REGAL_NO_PLUGIN_WGL_I3D_DIGITAL_VIDEO_CONTROL)\n#define REGAL_NO_PLUGIN_WGL_I3D_DIGITAL_VIDEO_CONTROL\n#endif\n\n#if (defined(WGL_I3D_DIGITAL_VIDEO_CONTROL) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_I3D_DIGITAL_VIDEO_CONTROL)) && !defined(REGAL_NO_DECLARATION_WGL_I3D_DIGITAL_VIDEO_CONTROL)\n#define REGAL_NO_DECLARATION_WGL_I3D_DIGITAL_VIDEO_CONTROL\n#endif\n\n#ifndef WGL_I3D_digital_video_control\n#define WGL_I3D_digital_video_control 1\n#endif\n\n#ifndef REGAL_NO_ENUM_WGL_I3D_DIGITAL_VIDEO_CONTROL\n#define WGL_DIGITAL_VIDEO_CURSOR_ALPHA_FRAMEBUFFER_I3D 0x2050     /* 8272 */\n#define WGL_DIGITAL_VIDEO_CURSOR_ALPHA_VALUE_I3D       0x2051     /* 8273 */\n#define WGL_DIGITAL_VIDEO_CURSOR_INCLUDED_I3D          0x2052     /* 8274 */\n#define WGL_DIGITAL_VIDEO_GAMMA_CORRECTED_I3D          0x2053     /* 8275 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_WGL_I3D_DIGITAL_VIDEO_CONTROL\ntypedef BOOL (REGAL_CALL *PFNWGLGETDIGITALVIDEOPARAMETERSI3DPROC)(HDC hDC, int iAttribute, int *piValue);\ntypedef BOOL (REGAL_CALL *PFNWGLSETDIGITALVIDEOPARAMETERSI3DPROC)(HDC hDC, int iAttribute, const int *piValue);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_WGL_I3D_DIGITAL_VIDEO_CONTROL\n#define wglGetDigitalVideoParametersI3D     rwglGetDigitalVideoParametersI3D\n#define wglSetDigitalVideoParametersI3D     rwglSetDigitalVideoParametersI3D\n#endif\n\n#ifndef REGAL_NO_DECLARATION_WGL_I3D_DIGITAL_VIDEO_CONTROL\nREGAL_DECL BOOL REGAL_CALL wglGetDigitalVideoParametersI3D(HDC hDC, int iAttribute, int *piValue);\nREGAL_DECL BOOL REGAL_CALL wglSetDigitalVideoParametersI3D(HDC hDC, int iAttribute, const int *piValue);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_WGL_I3D_DIGITAL_VIDEO_CONTROL\nREGAL_DECL BOOL REGAL_CALL plugin_wglGetDigitalVideoParametersI3D(HDC hDC, int iAttribute, int *piValue);\nREGAL_DECL BOOL REGAL_CALL plugin_wglSetDigitalVideoParametersI3D(HDC hDC, int iAttribute, const int *piValue);\n#endif\n\n/**\n ** WGL_I3D_gamma\n **/\n\n#if (defined(WGL_I3D_GAMMA) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_I3D_GAMMA)) && !defined(REGAL_NO_ENUM_WGL_I3D_GAMMA)\n#define REGAL_NO_ENUM_WGL_I3D_GAMMA\n#endif\n\n#if (defined(WGL_I3D_GAMMA) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_I3D_GAMMA)) && !defined(REGAL_NO_TYPEDEF_WGL_I3D_GAMMA)\n#define REGAL_NO_TYPEDEF_WGL_I3D_GAMMA\n#endif\n\n#if (defined(WGL_I3D_GAMMA) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_I3D_GAMMA)) && !defined(REGAL_NO_NAMESPACE_WGL_I3D_GAMMA)\n#define REGAL_NO_NAMESPACE_WGL_I3D_GAMMA\n#endif\n\n#if (defined(WGL_I3D_GAMMA) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_I3D_GAMMA)) && !defined(REGAL_NO_PLUGIN_WGL_I3D_GAMMA)\n#define REGAL_NO_PLUGIN_WGL_I3D_GAMMA\n#endif\n\n#if (defined(WGL_I3D_GAMMA) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_I3D_GAMMA)) && !defined(REGAL_NO_DECLARATION_WGL_I3D_GAMMA)\n#define REGAL_NO_DECLARATION_WGL_I3D_GAMMA\n#endif\n\n#ifndef WGL_I3D_gamma\n#define WGL_I3D_gamma 1\n#endif\n\n#ifndef REGAL_NO_ENUM_WGL_I3D_GAMMA\n#define WGL_GAMMA_TABLE_SIZE_I3D      0x204e     /* 8270 */\n#define WGL_GAMMA_EXCLUDE_DESKTOP_I3D 0x204f     /* 8271 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_WGL_I3D_GAMMA\ntypedef BOOL (REGAL_CALL *PFNWGLGETGAMMATABLEI3DPROC)(HDC hDC, int iEntries, USHORT *puRed, USHORT *puGreen, USHORT *puBlue);\ntypedef BOOL (REGAL_CALL *PFNWGLGETGAMMATABLEPARAMETERSI3DPROC)(HDC hDC, int iAttribute, int *piValue);\ntypedef BOOL (REGAL_CALL *PFNWGLSETGAMMATABLEI3DPROC)(HDC hDC, int iEntries, const USHORT *puRed, const USHORT *puGreen, const USHORT *puBlue);\ntypedef BOOL (REGAL_CALL *PFNWGLSETGAMMATABLEPARAMETERSI3DPROC)(HDC hDC, int iAttribute, const int *piValue);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_WGL_I3D_GAMMA\n#define wglGetGammaTableI3D                 rwglGetGammaTableI3D\n#define wglGetGammaTableParametersI3D       rwglGetGammaTableParametersI3D\n#define wglSetGammaTableI3D                 rwglSetGammaTableI3D\n#define wglSetGammaTableParametersI3D       rwglSetGammaTableParametersI3D\n#endif\n\n#ifndef REGAL_NO_DECLARATION_WGL_I3D_GAMMA\nREGAL_DECL BOOL REGAL_CALL wglGetGammaTableI3D(HDC hDC, int iEntries, USHORT *puRed, USHORT *puGreen, USHORT *puBlue);\nREGAL_DECL BOOL REGAL_CALL wglGetGammaTableParametersI3D(HDC hDC, int iAttribute, int *piValue);\nREGAL_DECL BOOL REGAL_CALL wglSetGammaTableI3D(HDC hDC, int iEntries, const USHORT *puRed, const USHORT *puGreen, const USHORT *puBlue);\nREGAL_DECL BOOL REGAL_CALL wglSetGammaTableParametersI3D(HDC hDC, int iAttribute, const int *piValue);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_WGL_I3D_GAMMA\nREGAL_DECL BOOL REGAL_CALL plugin_wglGetGammaTableI3D(HDC hDC, int iEntries, USHORT *puRed, USHORT *puGreen, USHORT *puBlue);\nREGAL_DECL BOOL REGAL_CALL plugin_wglGetGammaTableParametersI3D(HDC hDC, int iAttribute, int *piValue);\nREGAL_DECL BOOL REGAL_CALL plugin_wglSetGammaTableI3D(HDC hDC, int iEntries, const USHORT *puRed, const USHORT *puGreen, const USHORT *puBlue);\nREGAL_DECL BOOL REGAL_CALL plugin_wglSetGammaTableParametersI3D(HDC hDC, int iAttribute, const int *piValue);\n#endif\n\n/**\n ** WGL_I3D_genlock\n **/\n\n#if (defined(WGL_I3D_GENLOCK) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_I3D_GENLOCK)) && !defined(REGAL_NO_ENUM_WGL_I3D_GENLOCK)\n#define REGAL_NO_ENUM_WGL_I3D_GENLOCK\n#endif\n\n#if (defined(WGL_I3D_GENLOCK) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_I3D_GENLOCK)) && !defined(REGAL_NO_TYPEDEF_WGL_I3D_GENLOCK)\n#define REGAL_NO_TYPEDEF_WGL_I3D_GENLOCK\n#endif\n\n#if (defined(WGL_I3D_GENLOCK) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_I3D_GENLOCK)) && !defined(REGAL_NO_NAMESPACE_WGL_I3D_GENLOCK)\n#define REGAL_NO_NAMESPACE_WGL_I3D_GENLOCK\n#endif\n\n#if (defined(WGL_I3D_GENLOCK) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_I3D_GENLOCK)) && !defined(REGAL_NO_PLUGIN_WGL_I3D_GENLOCK)\n#define REGAL_NO_PLUGIN_WGL_I3D_GENLOCK\n#endif\n\n#if (defined(WGL_I3D_GENLOCK) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_I3D_GENLOCK)) && !defined(REGAL_NO_DECLARATION_WGL_I3D_GENLOCK)\n#define REGAL_NO_DECLARATION_WGL_I3D_GENLOCK\n#endif\n\n#ifndef WGL_I3D_genlock\n#define WGL_I3D_genlock 1\n#endif\n\n#ifndef REGAL_NO_ENUM_WGL_I3D_GENLOCK\n#define WGL_GENLOCK_SOURCE_MULTIVIEW_I3D      0x2044     /* 8260 */\n#define WGL_GENLOCK_SOURCE_EXTERNAL_SYNC_I3D  0x2045     /* 8261 */\n#define WGL_GENLOCK_SOURCE_EXTERNAL_FIELD_I3D 0x2046     /* 8262 */\n#define WGL_GENLOCK_SOURCE_EXTERNAL_TTL_I3D   0x2047     /* 8263 */\n#define WGL_GENLOCK_SOURCE_DIGITAL_SYNC_I3D   0x2048     /* 8264 */\n#define WGL_GENLOCK_SOURCE_DIGITAL_FIELD_I3D  0x2049     /* 8265 */\n#define WGL_GENLOCK_SOURCE_EDGE_FALLING_I3D   0x204a     /* 8266 */\n#define WGL_GENLOCK_SOURCE_EDGE_RISING_I3D    0x204b     /* 8267 */\n#define WGL_GENLOCK_SOURCE_EDGE_BOTH_I3D      0x204c     /* 8268 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_WGL_I3D_GENLOCK\ntypedef BOOL (REGAL_CALL *PFNWGLDISABLEGENLOCKI3DPROC)(HDC hDC);\ntypedef BOOL (REGAL_CALL *PFNWGLENABLEGENLOCKI3DPROC)(HDC hDC);\ntypedef BOOL (REGAL_CALL *PFNWGLGENLOCKSAMPLERATEI3DPROC)(HDC hDC, UINT uRate);\ntypedef BOOL (REGAL_CALL *PFNWGLGENLOCKSOURCEDELAYI3DPROC)(HDC hDC, UINT uDelay);\ntypedef BOOL (REGAL_CALL *PFNWGLGENLOCKSOURCEEDGEI3DPROC)(HDC hDC, UINT uEdge);\ntypedef BOOL (REGAL_CALL *PFNWGLGENLOCKSOURCEI3DPROC)(HDC hDC, UINT uSource);\ntypedef BOOL (REGAL_CALL *PFNWGLGETGENLOCKSAMPLERATEI3DPROC)(HDC hDC, UINT *uRate);\ntypedef BOOL (REGAL_CALL *PFNWGLGETGENLOCKSOURCEDELAYI3DPROC)(HDC hDC, UINT *uDelay);\ntypedef BOOL (REGAL_CALL *PFNWGLGETGENLOCKSOURCEEDGEI3DPROC)(HDC hDC, UINT *uEdge);\ntypedef BOOL (REGAL_CALL *PFNWGLGETGENLOCKSOURCEI3DPROC)(HDC hDC, UINT *uSource);\ntypedef BOOL (REGAL_CALL *PFNWGLISENABLEDGENLOCKI3DPROC)(HDC hDC, BOOL *pFlag);\ntypedef BOOL (REGAL_CALL *PFNWGLQUERYGENLOCKMAXSOURCEDELAYI3DPROC)(HDC hDC, UINT *uMaxLineDelay, UINT *uMaxPixelDelay);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_WGL_I3D_GENLOCK\n#define wglDisableGenlockI3D                rwglDisableGenlockI3D\n#define wglEnableGenlockI3D                 rwglEnableGenlockI3D\n#define wglGenlockSampleRateI3D             rwglGenlockSampleRateI3D\n#define wglGenlockSourceDelayI3D            rwglGenlockSourceDelayI3D\n#define wglGenlockSourceEdgeI3D             rwglGenlockSourceEdgeI3D\n#define wglGenlockSourceI3D                 rwglGenlockSourceI3D\n#define wglGetGenlockSampleRateI3D          rwglGetGenlockSampleRateI3D\n#define wglGetGenlockSourceDelayI3D         rwglGetGenlockSourceDelayI3D\n#define wglGetGenlockSourceEdgeI3D          rwglGetGenlockSourceEdgeI3D\n#define wglGetGenlockSourceI3D              rwglGetGenlockSourceI3D\n#define wglIsEnabledGenlockI3D              rwglIsEnabledGenlockI3D\n#define wglQueryGenlockMaxSourceDelayI3D    rwglQueryGenlockMaxSourceDelayI3D\n#endif\n\n#ifndef REGAL_NO_DECLARATION_WGL_I3D_GENLOCK\nREGAL_DECL BOOL REGAL_CALL wglDisableGenlockI3D(HDC hDC);\nREGAL_DECL BOOL REGAL_CALL wglEnableGenlockI3D(HDC hDC);\nREGAL_DECL BOOL REGAL_CALL wglGenlockSampleRateI3D(HDC hDC, UINT uRate);\nREGAL_DECL BOOL REGAL_CALL wglGenlockSourceDelayI3D(HDC hDC, UINT uDelay);\nREGAL_DECL BOOL REGAL_CALL wglGenlockSourceEdgeI3D(HDC hDC, UINT uEdge);\nREGAL_DECL BOOL REGAL_CALL wglGenlockSourceI3D(HDC hDC, UINT uSource);\nREGAL_DECL BOOL REGAL_CALL wglGetGenlockSampleRateI3D(HDC hDC, UINT *uRate);\nREGAL_DECL BOOL REGAL_CALL wglGetGenlockSourceDelayI3D(HDC hDC, UINT *uDelay);\nREGAL_DECL BOOL REGAL_CALL wglGetGenlockSourceEdgeI3D(HDC hDC, UINT *uEdge);\nREGAL_DECL BOOL REGAL_CALL wglGetGenlockSourceI3D(HDC hDC, UINT *uSource);\nREGAL_DECL BOOL REGAL_CALL wglIsEnabledGenlockI3D(HDC hDC, BOOL *pFlag);\nREGAL_DECL BOOL REGAL_CALL wglQueryGenlockMaxSourceDelayI3D(HDC hDC, UINT *uMaxLineDelay, UINT *uMaxPixelDelay);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_WGL_I3D_GENLOCK\nREGAL_DECL BOOL REGAL_CALL plugin_wglDisableGenlockI3D(HDC hDC);\nREGAL_DECL BOOL REGAL_CALL plugin_wglEnableGenlockI3D(HDC hDC);\nREGAL_DECL BOOL REGAL_CALL plugin_wglGenlockSampleRateI3D(HDC hDC, UINT uRate);\nREGAL_DECL BOOL REGAL_CALL plugin_wglGenlockSourceDelayI3D(HDC hDC, UINT uDelay);\nREGAL_DECL BOOL REGAL_CALL plugin_wglGenlockSourceEdgeI3D(HDC hDC, UINT uEdge);\nREGAL_DECL BOOL REGAL_CALL plugin_wglGenlockSourceI3D(HDC hDC, UINT uSource);\nREGAL_DECL BOOL REGAL_CALL plugin_wglGetGenlockSampleRateI3D(HDC hDC, UINT *uRate);\nREGAL_DECL BOOL REGAL_CALL plugin_wglGetGenlockSourceDelayI3D(HDC hDC, UINT *uDelay);\nREGAL_DECL BOOL REGAL_CALL plugin_wglGetGenlockSourceEdgeI3D(HDC hDC, UINT *uEdge);\nREGAL_DECL BOOL REGAL_CALL plugin_wglGetGenlockSourceI3D(HDC hDC, UINT *uSource);\nREGAL_DECL BOOL REGAL_CALL plugin_wglIsEnabledGenlockI3D(HDC hDC, BOOL *pFlag);\nREGAL_DECL BOOL REGAL_CALL plugin_wglQueryGenlockMaxSourceDelayI3D(HDC hDC, UINT *uMaxLineDelay, UINT *uMaxPixelDelay);\n#endif\n\n/**\n ** WGL_I3D_image_buffer\n **/\n\n#if (defined(WGL_I3D_IMAGE_BUFFER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_I3D_IMAGE_BUFFER)) && !defined(REGAL_NO_ENUM_WGL_I3D_IMAGE_BUFFER)\n#define REGAL_NO_ENUM_WGL_I3D_IMAGE_BUFFER\n#endif\n\n#if (defined(WGL_I3D_IMAGE_BUFFER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_I3D_IMAGE_BUFFER)) && !defined(REGAL_NO_TYPEDEF_WGL_I3D_IMAGE_BUFFER)\n#define REGAL_NO_TYPEDEF_WGL_I3D_IMAGE_BUFFER\n#endif\n\n#if (defined(WGL_I3D_IMAGE_BUFFER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_I3D_IMAGE_BUFFER)) && !defined(REGAL_NO_NAMESPACE_WGL_I3D_IMAGE_BUFFER)\n#define REGAL_NO_NAMESPACE_WGL_I3D_IMAGE_BUFFER\n#endif\n\n#if (defined(WGL_I3D_IMAGE_BUFFER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_I3D_IMAGE_BUFFER)) && !defined(REGAL_NO_PLUGIN_WGL_I3D_IMAGE_BUFFER)\n#define REGAL_NO_PLUGIN_WGL_I3D_IMAGE_BUFFER\n#endif\n\n#if (defined(WGL_I3D_IMAGE_BUFFER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_I3D_IMAGE_BUFFER)) && !defined(REGAL_NO_DECLARATION_WGL_I3D_IMAGE_BUFFER)\n#define REGAL_NO_DECLARATION_WGL_I3D_IMAGE_BUFFER\n#endif\n\n#ifndef WGL_I3D_image_buffer\n#define WGL_I3D_image_buffer 1\n#endif\n\n#ifndef REGAL_NO_ENUM_WGL_I3D_IMAGE_BUFFER\n#define WGL_IMAGE_BUFFER_MIN_ACCESS_I3D 0x1\n#define WGL_IMAGE_BUFFER_LOCK_I3D       0x2\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_WGL_I3D_IMAGE_BUFFER\ntypedef BOOL (REGAL_CALL *PFNWGLASSOCIATEIMAGEBUFFEREVENTSI3DPROC)(HDC hDC, const HANDLE *pEvent, const LPVOID *pAddress, const DWORD *pSize, UINT count);\ntypedef BOOL (REGAL_CALL *PFNWGLDESTROYIMAGEBUFFERI3DPROC)(HDC hDC, LPVOID pAddress);\ntypedef BOOL (REGAL_CALL *PFNWGLRELEASEIMAGEBUFFEREVENTSI3DPROC)(HDC hDC, const LPVOID *pAddress, UINT count);\ntypedef LPVOID (REGAL_CALL *PFNWGLCREATEIMAGEBUFFERI3DPROC)(HDC hDC, DWORD dwSize, UINT uFlags);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_WGL_I3D_IMAGE_BUFFER\n#define wglAssociateImageBufferEventsI3D    rwglAssociateImageBufferEventsI3D\n#define wglCreateImageBufferI3D             rwglCreateImageBufferI3D\n#define wglDestroyImageBufferI3D            rwglDestroyImageBufferI3D\n#define wglReleaseImageBufferEventsI3D      rwglReleaseImageBufferEventsI3D\n#endif\n\n#ifndef REGAL_NO_DECLARATION_WGL_I3D_IMAGE_BUFFER\nREGAL_DECL BOOL REGAL_CALL wglAssociateImageBufferEventsI3D(HDC hDC, const HANDLE *pEvent, const LPVOID *pAddress, const DWORD *pSize, UINT count);\nREGAL_DECL BOOL REGAL_CALL wglDestroyImageBufferI3D(HDC hDC, LPVOID pAddress);\nREGAL_DECL BOOL REGAL_CALL wglReleaseImageBufferEventsI3D(HDC hDC, const LPVOID *pAddress, UINT count);\nREGAL_DECL LPVOID REGAL_CALL wglCreateImageBufferI3D(HDC hDC, DWORD dwSize, UINT uFlags);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_WGL_I3D_IMAGE_BUFFER\nREGAL_DECL BOOL REGAL_CALL plugin_wglAssociateImageBufferEventsI3D(HDC hDC, const HANDLE *pEvent, const LPVOID *pAddress, const DWORD *pSize, UINT count);\nREGAL_DECL BOOL REGAL_CALL plugin_wglDestroyImageBufferI3D(HDC hDC, LPVOID pAddress);\nREGAL_DECL BOOL REGAL_CALL plugin_wglReleaseImageBufferEventsI3D(HDC hDC, const LPVOID *pAddress, UINT count);\nREGAL_DECL LPVOID REGAL_CALL plugin_wglCreateImageBufferI3D(HDC hDC, DWORD dwSize, UINT uFlags);\n#endif\n\n/**\n ** WGL_I3D_swap_frame_lock\n **/\n\n#if (defined(WGL_I3D_SWAP_FRAME_LOCK) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_I3D_SWAP_FRAME_LOCK)) && !defined(REGAL_NO_ENUM_WGL_I3D_SWAP_FRAME_LOCK)\n#define REGAL_NO_ENUM_WGL_I3D_SWAP_FRAME_LOCK\n#endif\n\n#if (defined(WGL_I3D_SWAP_FRAME_LOCK) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_I3D_SWAP_FRAME_LOCK)) && !defined(REGAL_NO_TYPEDEF_WGL_I3D_SWAP_FRAME_LOCK)\n#define REGAL_NO_TYPEDEF_WGL_I3D_SWAP_FRAME_LOCK\n#endif\n\n#if (defined(WGL_I3D_SWAP_FRAME_LOCK) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_I3D_SWAP_FRAME_LOCK)) && !defined(REGAL_NO_NAMESPACE_WGL_I3D_SWAP_FRAME_LOCK)\n#define REGAL_NO_NAMESPACE_WGL_I3D_SWAP_FRAME_LOCK\n#endif\n\n#if (defined(WGL_I3D_SWAP_FRAME_LOCK) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_I3D_SWAP_FRAME_LOCK)) && !defined(REGAL_NO_PLUGIN_WGL_I3D_SWAP_FRAME_LOCK)\n#define REGAL_NO_PLUGIN_WGL_I3D_SWAP_FRAME_LOCK\n#endif\n\n#if (defined(WGL_I3D_SWAP_FRAME_LOCK) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_I3D_SWAP_FRAME_LOCK)) && !defined(REGAL_NO_DECLARATION_WGL_I3D_SWAP_FRAME_LOCK)\n#define REGAL_NO_DECLARATION_WGL_I3D_SWAP_FRAME_LOCK\n#endif\n\n#ifndef WGL_I3D_swap_frame_lock\n#define WGL_I3D_swap_frame_lock 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_WGL_I3D_SWAP_FRAME_LOCK\ntypedef BOOL (REGAL_CALL *PFNWGLDISABLEFRAMELOCKI3DPROC)(void);\ntypedef BOOL (REGAL_CALL *PFNWGLENABLEFRAMELOCKI3DPROC)(void);\ntypedef BOOL (REGAL_CALL *PFNWGLISENABLEDFRAMELOCKI3DPROC)(BOOL *pFlag);\ntypedef BOOL (REGAL_CALL *PFNWGLQUERYFRAMELOCKMASTERI3DPROC)(BOOL *pFlag);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_WGL_I3D_SWAP_FRAME_LOCK\n#define wglDisableFrameLockI3D              rwglDisableFrameLockI3D\n#define wglEnableFrameLockI3D               rwglEnableFrameLockI3D\n#define wglIsEnabledFrameLockI3D            rwglIsEnabledFrameLockI3D\n#define wglQueryFrameLockMasterI3D          rwglQueryFrameLockMasterI3D\n#endif\n\n#ifndef REGAL_NO_DECLARATION_WGL_I3D_SWAP_FRAME_LOCK\nREGAL_DECL BOOL REGAL_CALL wglDisableFrameLockI3D(void);\nREGAL_DECL BOOL REGAL_CALL wglEnableFrameLockI3D(void);\nREGAL_DECL BOOL REGAL_CALL wglIsEnabledFrameLockI3D(BOOL *pFlag);\nREGAL_DECL BOOL REGAL_CALL wglQueryFrameLockMasterI3D(BOOL *pFlag);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_WGL_I3D_SWAP_FRAME_LOCK\nREGAL_DECL BOOL REGAL_CALL plugin_wglDisableFrameLockI3D(void);\nREGAL_DECL BOOL REGAL_CALL plugin_wglEnableFrameLockI3D(void);\nREGAL_DECL BOOL REGAL_CALL plugin_wglIsEnabledFrameLockI3D(BOOL *pFlag);\nREGAL_DECL BOOL REGAL_CALL plugin_wglQueryFrameLockMasterI3D(BOOL *pFlag);\n#endif\n\n/**\n ** WGL_I3D_swap_frame_usage\n **/\n\n#if (defined(WGL_I3D_SWAP_FRAME_USAGE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_I3D_SWAP_FRAME_USAGE)) && !defined(REGAL_NO_ENUM_WGL_I3D_SWAP_FRAME_USAGE)\n#define REGAL_NO_ENUM_WGL_I3D_SWAP_FRAME_USAGE\n#endif\n\n#if (defined(WGL_I3D_SWAP_FRAME_USAGE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_I3D_SWAP_FRAME_USAGE)) && !defined(REGAL_NO_TYPEDEF_WGL_I3D_SWAP_FRAME_USAGE)\n#define REGAL_NO_TYPEDEF_WGL_I3D_SWAP_FRAME_USAGE\n#endif\n\n#if (defined(WGL_I3D_SWAP_FRAME_USAGE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_I3D_SWAP_FRAME_USAGE)) && !defined(REGAL_NO_NAMESPACE_WGL_I3D_SWAP_FRAME_USAGE)\n#define REGAL_NO_NAMESPACE_WGL_I3D_SWAP_FRAME_USAGE\n#endif\n\n#if (defined(WGL_I3D_SWAP_FRAME_USAGE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_I3D_SWAP_FRAME_USAGE)) && !defined(REGAL_NO_PLUGIN_WGL_I3D_SWAP_FRAME_USAGE)\n#define REGAL_NO_PLUGIN_WGL_I3D_SWAP_FRAME_USAGE\n#endif\n\n#if (defined(WGL_I3D_SWAP_FRAME_USAGE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_I3D_SWAP_FRAME_USAGE)) && !defined(REGAL_NO_DECLARATION_WGL_I3D_SWAP_FRAME_USAGE)\n#define REGAL_NO_DECLARATION_WGL_I3D_SWAP_FRAME_USAGE\n#endif\n\n#ifndef WGL_I3D_swap_frame_usage\n#define WGL_I3D_swap_frame_usage 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_WGL_I3D_SWAP_FRAME_USAGE\ntypedef BOOL (REGAL_CALL *PFNWGLBEGINFRAMETRACKINGI3DPROC)(void);\ntypedef BOOL (REGAL_CALL *PFNWGLENDFRAMETRACKINGI3DPROC)(void);\ntypedef BOOL (REGAL_CALL *PFNWGLGETFRAMEUSAGEI3DPROC)(float *pUsage);\ntypedef BOOL (REGAL_CALL *PFNWGLQUERYFRAMETRACKINGI3DPROC)(DWORD *pFrameCount, DWORD *pMissedFrames, float *pLastMissedUsage);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_WGL_I3D_SWAP_FRAME_USAGE\n#define wglBeginFrameTrackingI3D            rwglBeginFrameTrackingI3D\n#define wglEndFrameTrackingI3D              rwglEndFrameTrackingI3D\n#define wglGetFrameUsageI3D                 rwglGetFrameUsageI3D\n#define wglQueryFrameTrackingI3D            rwglQueryFrameTrackingI3D\n#endif\n\n#ifndef REGAL_NO_DECLARATION_WGL_I3D_SWAP_FRAME_USAGE\nREGAL_DECL BOOL REGAL_CALL wglBeginFrameTrackingI3D(void);\nREGAL_DECL BOOL REGAL_CALL wglEndFrameTrackingI3D(void);\nREGAL_DECL BOOL REGAL_CALL wglGetFrameUsageI3D(float *pUsage);\nREGAL_DECL BOOL REGAL_CALL wglQueryFrameTrackingI3D(DWORD *pFrameCount, DWORD *pMissedFrames, float *pLastMissedUsage);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_WGL_I3D_SWAP_FRAME_USAGE\nREGAL_DECL BOOL REGAL_CALL plugin_wglBeginFrameTrackingI3D(void);\nREGAL_DECL BOOL REGAL_CALL plugin_wglEndFrameTrackingI3D(void);\nREGAL_DECL BOOL REGAL_CALL plugin_wglGetFrameUsageI3D(float *pUsage);\nREGAL_DECL BOOL REGAL_CALL plugin_wglQueryFrameTrackingI3D(DWORD *pFrameCount, DWORD *pMissedFrames, float *pLastMissedUsage);\n#endif\n\n/**\n ** WGL_NV_DX_interop\n **/\n\n#if (defined(WGL_NV_DX_INTEROP) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_NV_DX_INTEROP)) && !defined(REGAL_NO_ENUM_WGL_NV_DX_INTEROP)\n#define REGAL_NO_ENUM_WGL_NV_DX_INTEROP\n#endif\n\n#if (defined(WGL_NV_DX_INTEROP) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_NV_DX_INTEROP)) && !defined(REGAL_NO_TYPEDEF_WGL_NV_DX_INTEROP)\n#define REGAL_NO_TYPEDEF_WGL_NV_DX_INTEROP\n#endif\n\n#if (defined(WGL_NV_DX_INTEROP) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_NV_DX_INTEROP)) && !defined(REGAL_NO_NAMESPACE_WGL_NV_DX_INTEROP)\n#define REGAL_NO_NAMESPACE_WGL_NV_DX_INTEROP\n#endif\n\n#if (defined(WGL_NV_DX_INTEROP) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_NV_DX_INTEROP)) && !defined(REGAL_NO_PLUGIN_WGL_NV_DX_INTEROP)\n#define REGAL_NO_PLUGIN_WGL_NV_DX_INTEROP\n#endif\n\n#if (defined(WGL_NV_DX_INTEROP) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_NV_DX_INTEROP)) && !defined(REGAL_NO_DECLARATION_WGL_NV_DX_INTEROP)\n#define REGAL_NO_DECLARATION_WGL_NV_DX_INTEROP\n#endif\n\n#ifndef WGL_NV_DX_interop\n#define WGL_NV_DX_interop 1\n#endif\n\n#ifndef REGAL_NO_ENUM_WGL_NV_DX_INTEROP\n#define WGL_ACCESS_READ_ONLY_NV     0x0\n#define WGL_ACCESS_READ_WRITE_NV    0x1\n#define WGL_ACCESS_WRITE_DISCARD_NV 0x2\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_WGL_NV_DX_INTEROP\ntypedef BOOL (REGAL_CALL *PFNWGLDXCLOSEDEVICENVPROC)(HANDLE hDevice);\ntypedef BOOL (REGAL_CALL *PFNWGLDXLOCKOBJECTSNVPROC)(HANDLE hDevice, GLint count, HANDLE *hObjects);\ntypedef BOOL (REGAL_CALL *PFNWGLDXOBJECTACCESSNVPROC)(HANDLE hObject, GLenum access);\ntypedef BOOL (REGAL_CALL *PFNWGLDXSETRESOURCESHAREHANDLENVPROC)(GLvoid *dxObject, HANDLE shareHandle);\ntypedef BOOL (REGAL_CALL *PFNWGLDXUNLOCKOBJECTSNVPROC)(HANDLE hDevice, GLint count, HANDLE *hObjects);\ntypedef BOOL (REGAL_CALL *PFNWGLDXUNREGISTEROBJECTNVPROC)(HANDLE hDevice, HANDLE hObject);\ntypedef HANDLE (REGAL_CALL *PFNWGLDXOPENDEVICENVPROC)(GLvoid *dxDevice);\ntypedef HANDLE (REGAL_CALL *PFNWGLDXREGISTEROBJECTNVPROC)(HANDLE hDevice, GLvoid *dxObject, GLuint name, GLenum type, GLenum access);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_WGL_NV_DX_INTEROP\n#define wglDXCloseDeviceNV                  rwglDXCloseDeviceNV\n#define wglDXLockObjectsNV                  rwglDXLockObjectsNV\n#define wglDXObjectAccessNV                 rwglDXObjectAccessNV\n#define wglDXOpenDeviceNV                   rwglDXOpenDeviceNV\n#define wglDXRegisterObjectNV               rwglDXRegisterObjectNV\n#define wglDXSetResourceShareHandleNV       rwglDXSetResourceShareHandleNV\n#define wglDXUnlockObjectsNV                rwglDXUnlockObjectsNV\n#define wglDXUnregisterObjectNV             rwglDXUnregisterObjectNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_WGL_NV_DX_INTEROP\nREGAL_DECL BOOL REGAL_CALL wglDXCloseDeviceNV(HANDLE hDevice);\nREGAL_DECL BOOL REGAL_CALL wglDXLockObjectsNV(HANDLE hDevice, GLint count, HANDLE *hObjects);\nREGAL_DECL BOOL REGAL_CALL wglDXObjectAccessNV(HANDLE hObject, GLenum access);\nREGAL_DECL BOOL REGAL_CALL wglDXSetResourceShareHandleNV(GLvoid *dxObject, HANDLE shareHandle);\nREGAL_DECL BOOL REGAL_CALL wglDXUnlockObjectsNV(HANDLE hDevice, GLint count, HANDLE *hObjects);\nREGAL_DECL BOOL REGAL_CALL wglDXUnregisterObjectNV(HANDLE hDevice, HANDLE hObject);\nREGAL_DECL HANDLE REGAL_CALL wglDXOpenDeviceNV(GLvoid *dxDevice);\nREGAL_DECL HANDLE REGAL_CALL wglDXRegisterObjectNV(HANDLE hDevice, GLvoid *dxObject, GLuint name, GLenum type, GLenum access);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_WGL_NV_DX_INTEROP\nREGAL_DECL BOOL REGAL_CALL plugin_wglDXCloseDeviceNV(HANDLE hDevice);\nREGAL_DECL BOOL REGAL_CALL plugin_wglDXLockObjectsNV(HANDLE hDevice, GLint count, HANDLE *hObjects);\nREGAL_DECL BOOL REGAL_CALL plugin_wglDXObjectAccessNV(HANDLE hObject, GLenum access);\nREGAL_DECL BOOL REGAL_CALL plugin_wglDXSetResourceShareHandleNV(GLvoid *dxObject, HANDLE shareHandle);\nREGAL_DECL BOOL REGAL_CALL plugin_wglDXUnlockObjectsNV(HANDLE hDevice, GLint count, HANDLE *hObjects);\nREGAL_DECL BOOL REGAL_CALL plugin_wglDXUnregisterObjectNV(HANDLE hDevice, HANDLE hObject);\nREGAL_DECL HANDLE REGAL_CALL plugin_wglDXOpenDeviceNV(GLvoid *dxDevice);\nREGAL_DECL HANDLE REGAL_CALL plugin_wglDXRegisterObjectNV(HANDLE hDevice, GLvoid *dxObject, GLuint name, GLenum type, GLenum access);\n#endif\n\n/**\n ** WGL_NV_copy_image\n **/\n\n#if (defined(WGL_NV_COPY_IMAGE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_NV_COPY_IMAGE)) && !defined(REGAL_NO_ENUM_WGL_NV_COPY_IMAGE)\n#define REGAL_NO_ENUM_WGL_NV_COPY_IMAGE\n#endif\n\n#if (defined(WGL_NV_COPY_IMAGE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_NV_COPY_IMAGE)) && !defined(REGAL_NO_TYPEDEF_WGL_NV_COPY_IMAGE)\n#define REGAL_NO_TYPEDEF_WGL_NV_COPY_IMAGE\n#endif\n\n#if (defined(WGL_NV_COPY_IMAGE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_NV_COPY_IMAGE)) && !defined(REGAL_NO_NAMESPACE_WGL_NV_COPY_IMAGE)\n#define REGAL_NO_NAMESPACE_WGL_NV_COPY_IMAGE\n#endif\n\n#if (defined(WGL_NV_COPY_IMAGE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_NV_COPY_IMAGE)) && !defined(REGAL_NO_PLUGIN_WGL_NV_COPY_IMAGE)\n#define REGAL_NO_PLUGIN_WGL_NV_COPY_IMAGE\n#endif\n\n#if (defined(WGL_NV_COPY_IMAGE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_NV_COPY_IMAGE)) && !defined(REGAL_NO_DECLARATION_WGL_NV_COPY_IMAGE)\n#define REGAL_NO_DECLARATION_WGL_NV_COPY_IMAGE\n#endif\n\n#ifndef WGL_NV_copy_image\n#define WGL_NV_copy_image 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_WGL_NV_COPY_IMAGE\ntypedef BOOL (REGAL_CALL *PFNWGLCOPYIMAGESUBDATANVPROC)(HGLRC hSrcRC, GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, HGLRC hDstRC, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_WGL_NV_COPY_IMAGE\n#define wglCopyImageSubDataNV               rwglCopyImageSubDataNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_WGL_NV_COPY_IMAGE\nREGAL_DECL BOOL REGAL_CALL wglCopyImageSubDataNV(HGLRC hSrcRC, GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, HGLRC hDstRC, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_WGL_NV_COPY_IMAGE\nREGAL_DECL BOOL REGAL_CALL plugin_wglCopyImageSubDataNV(HGLRC hSrcRC, GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, HGLRC hDstRC, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth);\n#endif\n\n/**\n ** WGL_NV_float_buffer\n **/\n\n#if (defined(WGL_NV_FLOAT_BUFFER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_NV_FLOAT_BUFFER)) && !defined(REGAL_NO_ENUM_WGL_NV_FLOAT_BUFFER)\n#define REGAL_NO_ENUM_WGL_NV_FLOAT_BUFFER\n#endif\n\n#if (defined(WGL_NV_FLOAT_BUFFER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_NV_FLOAT_BUFFER)) && !defined(REGAL_NO_TYPEDEF_WGL_NV_FLOAT_BUFFER)\n#define REGAL_NO_TYPEDEF_WGL_NV_FLOAT_BUFFER\n#endif\n\n#if (defined(WGL_NV_FLOAT_BUFFER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_NV_FLOAT_BUFFER)) && !defined(REGAL_NO_NAMESPACE_WGL_NV_FLOAT_BUFFER)\n#define REGAL_NO_NAMESPACE_WGL_NV_FLOAT_BUFFER\n#endif\n\n#if (defined(WGL_NV_FLOAT_BUFFER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_NV_FLOAT_BUFFER)) && !defined(REGAL_NO_PLUGIN_WGL_NV_FLOAT_BUFFER)\n#define REGAL_NO_PLUGIN_WGL_NV_FLOAT_BUFFER\n#endif\n\n#if (defined(WGL_NV_FLOAT_BUFFER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_NV_FLOAT_BUFFER)) && !defined(REGAL_NO_DECLARATION_WGL_NV_FLOAT_BUFFER)\n#define REGAL_NO_DECLARATION_WGL_NV_FLOAT_BUFFER\n#endif\n\n#ifndef WGL_NV_float_buffer\n#define WGL_NV_float_buffer 1\n#endif\n\n#ifndef REGAL_NO_ENUM_WGL_NV_FLOAT_BUFFER\n#define WGL_FLOAT_COMPONENTS_NV                     0x20b0     /* 8368 */\n#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_R_NV    0x20b1     /* 8369 */\n#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RG_NV   0x20b2     /* 8370 */\n#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGB_NV  0x20b3     /* 8371 */\n#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGBA_NV 0x20b4     /* 8372 */\n#define WGL_TEXTURE_FLOAT_R_NV                      0x20b5     /* 8373 */\n#define WGL_TEXTURE_FLOAT_RG_NV                     0x20b6     /* 8374 */\n#define WGL_TEXTURE_FLOAT_RGB_NV                    0x20b7     /* 8375 */\n#define WGL_TEXTURE_FLOAT_RGBA_NV                   0x20b8     /* 8376 */\n#endif\n\n/**\n ** WGL_NV_gpu_affinity\n **/\n\n#if (defined(WGL_NV_GPU_AFFINITY) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_NV_GPU_AFFINITY)) && !defined(REGAL_NO_ENUM_WGL_NV_GPU_AFFINITY)\n#define REGAL_NO_ENUM_WGL_NV_GPU_AFFINITY\n#endif\n\n#if (defined(WGL_NV_GPU_AFFINITY) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_NV_GPU_AFFINITY)) && !defined(REGAL_NO_TYPEDEF_WGL_NV_GPU_AFFINITY)\n#define REGAL_NO_TYPEDEF_WGL_NV_GPU_AFFINITY\n#endif\n\n#if (defined(WGL_NV_GPU_AFFINITY) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_NV_GPU_AFFINITY)) && !defined(REGAL_NO_NAMESPACE_WGL_NV_GPU_AFFINITY)\n#define REGAL_NO_NAMESPACE_WGL_NV_GPU_AFFINITY\n#endif\n\n#if (defined(WGL_NV_GPU_AFFINITY) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_NV_GPU_AFFINITY)) && !defined(REGAL_NO_PLUGIN_WGL_NV_GPU_AFFINITY)\n#define REGAL_NO_PLUGIN_WGL_NV_GPU_AFFINITY\n#endif\n\n#if (defined(WGL_NV_GPU_AFFINITY) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_NV_GPU_AFFINITY)) && !defined(REGAL_NO_DECLARATION_WGL_NV_GPU_AFFINITY)\n#define REGAL_NO_DECLARATION_WGL_NV_GPU_AFFINITY\n#endif\n\n#ifndef WGL_NV_gpu_affinity\n#define WGL_NV_gpu_affinity 1\n#endif\n\n#ifndef REGAL_NO_ENUM_WGL_NV_GPU_AFFINITY\n#define WGL_ERROR_INCOMPATIBLE_AFFINITY_MASKS_NV 0x20d0     /* 8400 */\n#define WGL_ERROR_MISSING_AFFINITY_MASK_NV       0x20d1     /* 8401 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_WGL_NV_GPU_AFFINITY\ntypedef BOOL (REGAL_CALL *PFNWGLDELETEDCNVPROC)(HDC hAffinityDC);\ntypedef BOOL (REGAL_CALL *PFNWGLENUMGPUDEVICESNVPROC)(HGPUNV hGpu, UINT iDeviceIndex, PGPU_DEVICE lpGpuDevice);\ntypedef BOOL (REGAL_CALL *PFNWGLENUMGPUSFROMAFFINITYDCNVPROC)(HDC hAffinityDC, UINT iGpuIndex, HGPUNV *hGpu);\ntypedef BOOL (REGAL_CALL *PFNWGLENUMGPUSNVPROC)(UINT iGpuIndex, HGPUNV *phGpu);\ntypedef HDC (REGAL_CALL *PFNWGLCREATEAFFINITYDCNVPROC)(const HGPUNV *phGpuList);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_WGL_NV_GPU_AFFINITY\n#define wglCreateAffinityDCNV               rwglCreateAffinityDCNV\n#define wglDeleteDCNV                       rwglDeleteDCNV\n#define wglEnumGpuDevicesNV                 rwglEnumGpuDevicesNV\n#define wglEnumGpusFromAffinityDCNV         rwglEnumGpusFromAffinityDCNV\n#define wglEnumGpusNV                       rwglEnumGpusNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_WGL_NV_GPU_AFFINITY\nREGAL_DECL BOOL REGAL_CALL wglDeleteDCNV(HDC hAffinityDC);\nREGAL_DECL BOOL REGAL_CALL wglEnumGpuDevicesNV(HGPUNV hGpu, UINT iDeviceIndex, PGPU_DEVICE lpGpuDevice);\nREGAL_DECL BOOL REGAL_CALL wglEnumGpusFromAffinityDCNV(HDC hAffinityDC, UINT iGpuIndex, HGPUNV *hGpu);\nREGAL_DECL BOOL REGAL_CALL wglEnumGpusNV(UINT iGpuIndex, HGPUNV *phGpu);\nREGAL_DECL HDC REGAL_CALL wglCreateAffinityDCNV(const HGPUNV *phGpuList);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_WGL_NV_GPU_AFFINITY\nREGAL_DECL BOOL REGAL_CALL plugin_wglDeleteDCNV(HDC hAffinityDC);\nREGAL_DECL BOOL REGAL_CALL plugin_wglEnumGpuDevicesNV(HGPUNV hGpu, UINT iDeviceIndex, PGPU_DEVICE lpGpuDevice);\nREGAL_DECL BOOL REGAL_CALL plugin_wglEnumGpusFromAffinityDCNV(HDC hAffinityDC, UINT iGpuIndex, HGPUNV *hGpu);\nREGAL_DECL BOOL REGAL_CALL plugin_wglEnumGpusNV(UINT iGpuIndex, HGPUNV *phGpu);\nREGAL_DECL HDC REGAL_CALL plugin_wglCreateAffinityDCNV(const HGPUNV *phGpuList);\n#endif\n\n/**\n ** WGL_NV_multisample_coverage\n **/\n\n#if (defined(WGL_NV_MULTISAMPLE_COVERAGE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_NV_MULTISAMPLE_COVERAGE)) && !defined(REGAL_NO_ENUM_WGL_NV_MULTISAMPLE_COVERAGE)\n#define REGAL_NO_ENUM_WGL_NV_MULTISAMPLE_COVERAGE\n#endif\n\n#if (defined(WGL_NV_MULTISAMPLE_COVERAGE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_NV_MULTISAMPLE_COVERAGE)) && !defined(REGAL_NO_TYPEDEF_WGL_NV_MULTISAMPLE_COVERAGE)\n#define REGAL_NO_TYPEDEF_WGL_NV_MULTISAMPLE_COVERAGE\n#endif\n\n#if (defined(WGL_NV_MULTISAMPLE_COVERAGE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_NV_MULTISAMPLE_COVERAGE)) && !defined(REGAL_NO_NAMESPACE_WGL_NV_MULTISAMPLE_COVERAGE)\n#define REGAL_NO_NAMESPACE_WGL_NV_MULTISAMPLE_COVERAGE\n#endif\n\n#if (defined(WGL_NV_MULTISAMPLE_COVERAGE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_NV_MULTISAMPLE_COVERAGE)) && !defined(REGAL_NO_PLUGIN_WGL_NV_MULTISAMPLE_COVERAGE)\n#define REGAL_NO_PLUGIN_WGL_NV_MULTISAMPLE_COVERAGE\n#endif\n\n#if (defined(WGL_NV_MULTISAMPLE_COVERAGE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_NV_MULTISAMPLE_COVERAGE)) && !defined(REGAL_NO_DECLARATION_WGL_NV_MULTISAMPLE_COVERAGE)\n#define REGAL_NO_DECLARATION_WGL_NV_MULTISAMPLE_COVERAGE\n#endif\n\n#ifndef WGL_NV_multisample_coverage\n#define WGL_NV_multisample_coverage 1\n#endif\n\n#ifndef REGAL_NO_ENUM_WGL_NV_MULTISAMPLE_COVERAGE\n#define WGL_COVERAGE_SAMPLES_NV 0x2042     /* 8258 */\n#define WGL_COLOR_SAMPLES_NV    0x20b9     /* 8377 */\n#endif\n\n/**\n ** WGL_NV_present_video\n **/\n\n#if (defined(WGL_NV_PRESENT_VIDEO) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_NV_PRESENT_VIDEO)) && !defined(REGAL_NO_ENUM_WGL_NV_PRESENT_VIDEO)\n#define REGAL_NO_ENUM_WGL_NV_PRESENT_VIDEO\n#endif\n\n#if (defined(WGL_NV_PRESENT_VIDEO) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_NV_PRESENT_VIDEO)) && !defined(REGAL_NO_TYPEDEF_WGL_NV_PRESENT_VIDEO)\n#define REGAL_NO_TYPEDEF_WGL_NV_PRESENT_VIDEO\n#endif\n\n#if (defined(WGL_NV_PRESENT_VIDEO) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_NV_PRESENT_VIDEO)) && !defined(REGAL_NO_NAMESPACE_WGL_NV_PRESENT_VIDEO)\n#define REGAL_NO_NAMESPACE_WGL_NV_PRESENT_VIDEO\n#endif\n\n#if (defined(WGL_NV_PRESENT_VIDEO) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_NV_PRESENT_VIDEO)) && !defined(REGAL_NO_PLUGIN_WGL_NV_PRESENT_VIDEO)\n#define REGAL_NO_PLUGIN_WGL_NV_PRESENT_VIDEO\n#endif\n\n#if (defined(WGL_NV_PRESENT_VIDEO) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_NV_PRESENT_VIDEO)) && !defined(REGAL_NO_DECLARATION_WGL_NV_PRESENT_VIDEO)\n#define REGAL_NO_DECLARATION_WGL_NV_PRESENT_VIDEO\n#endif\n\n#ifndef WGL_NV_present_video\n#define WGL_NV_present_video 1\n#endif\n\n#ifndef REGAL_NO_ENUM_WGL_NV_PRESENT_VIDEO\n#define WGL_NUM_VIDEO_SLOTS_NV 0x20f0 /* 8432 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_WGL_NV_PRESENT_VIDEO\ntypedef BOOL (REGAL_CALL *PFNWGLBINDVIDEODEVICENVPROC)(HDC hDC, unsigned int uVideoSlot, HVIDEOOUTPUTDEVICENV hVideoDevice, const int *piAttribList);\ntypedef BOOL (REGAL_CALL *PFNWGLQUERYCURRENTCONTEXTNVPROC)(int iAttribute, int *piValue);\ntypedef int (REGAL_CALL *PFNWGLENUMERATEVIDEODEVICESNVPROC)(HDC hDC, HVIDEOOUTPUTDEVICENV *phDeviceList);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_WGL_NV_PRESENT_VIDEO\n#define wglBindVideoDeviceNV                rwglBindVideoDeviceNV\n#define wglEnumerateVideoDevicesNV          rwglEnumerateVideoDevicesNV\n#define wglQueryCurrentContextNV            rwglQueryCurrentContextNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_WGL_NV_PRESENT_VIDEO\nREGAL_DECL BOOL REGAL_CALL wglBindVideoDeviceNV(HDC hDC, unsigned int uVideoSlot, HVIDEOOUTPUTDEVICENV hVideoDevice, const int *piAttribList);\nREGAL_DECL BOOL REGAL_CALL wglQueryCurrentContextNV(int iAttribute, int *piValue);\nREGAL_DECL int REGAL_CALL wglEnumerateVideoDevicesNV(HDC hDC, HVIDEOOUTPUTDEVICENV *phDeviceList);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_WGL_NV_PRESENT_VIDEO\nREGAL_DECL BOOL REGAL_CALL plugin_wglBindVideoDeviceNV(HDC hDC, unsigned int uVideoSlot, HVIDEOOUTPUTDEVICENV hVideoDevice, const int *piAttribList);\nREGAL_DECL BOOL REGAL_CALL plugin_wglQueryCurrentContextNV(int iAttribute, int *piValue);\nREGAL_DECL int REGAL_CALL plugin_wglEnumerateVideoDevicesNV(HDC hDC, HVIDEOOUTPUTDEVICENV *phDeviceList);\n#endif\n\n/**\n ** WGL_NV_render_depth_texture\n **/\n\n#if (defined(WGL_NV_RENDER_DEPTH_TEXTURE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_NV_RENDER_DEPTH_TEXTURE)) && !defined(REGAL_NO_ENUM_WGL_NV_RENDER_DEPTH_TEXTURE)\n#define REGAL_NO_ENUM_WGL_NV_RENDER_DEPTH_TEXTURE\n#endif\n\n#if (defined(WGL_NV_RENDER_DEPTH_TEXTURE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_NV_RENDER_DEPTH_TEXTURE)) && !defined(REGAL_NO_TYPEDEF_WGL_NV_RENDER_DEPTH_TEXTURE)\n#define REGAL_NO_TYPEDEF_WGL_NV_RENDER_DEPTH_TEXTURE\n#endif\n\n#if (defined(WGL_NV_RENDER_DEPTH_TEXTURE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_NV_RENDER_DEPTH_TEXTURE)) && !defined(REGAL_NO_NAMESPACE_WGL_NV_RENDER_DEPTH_TEXTURE)\n#define REGAL_NO_NAMESPACE_WGL_NV_RENDER_DEPTH_TEXTURE\n#endif\n\n#if (defined(WGL_NV_RENDER_DEPTH_TEXTURE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_NV_RENDER_DEPTH_TEXTURE)) && !defined(REGAL_NO_PLUGIN_WGL_NV_RENDER_DEPTH_TEXTURE)\n#define REGAL_NO_PLUGIN_WGL_NV_RENDER_DEPTH_TEXTURE\n#endif\n\n#if (defined(WGL_NV_RENDER_DEPTH_TEXTURE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_NV_RENDER_DEPTH_TEXTURE)) && !defined(REGAL_NO_DECLARATION_WGL_NV_RENDER_DEPTH_TEXTURE)\n#define REGAL_NO_DECLARATION_WGL_NV_RENDER_DEPTH_TEXTURE\n#endif\n\n#ifndef WGL_NV_render_depth_texture\n#define WGL_NV_render_depth_texture 1\n#endif\n\n#ifndef REGAL_NO_ENUM_WGL_NV_RENDER_DEPTH_TEXTURE\n#define WGL_NO_TEXTURE_ARB                     0x2077     /* 8311 */\n#define WGL_BIND_TO_TEXTURE_DEPTH_NV           0x20a3     /* 8355 */\n#define WGL_BIND_TO_TEXTURE_RECTANGLE_DEPTH_NV 0x20a4     /* 8356 */\n#define WGL_DEPTH_TEXTURE_FORMAT_NV            0x20a5     /* 8357 */\n#define WGL_TEXTURE_DEPTH_COMPONENT_NV         0x20a6     /* 8358 */\n#define WGL_DEPTH_COMPONENT_NV                 0x20a7     /* 8359 */\n#endif\n\n/**\n ** WGL_NV_render_texture_rectangle\n **/\n\n#if (defined(WGL_NV_RENDER_TEXTURE_RECTANGLE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_NV_RENDER_TEXTURE_RECTANGLE)) && !defined(REGAL_NO_ENUM_WGL_NV_RENDER_TEXTURE_RECTANGLE)\n#define REGAL_NO_ENUM_WGL_NV_RENDER_TEXTURE_RECTANGLE\n#endif\n\n#if (defined(WGL_NV_RENDER_TEXTURE_RECTANGLE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_NV_RENDER_TEXTURE_RECTANGLE)) && !defined(REGAL_NO_TYPEDEF_WGL_NV_RENDER_TEXTURE_RECTANGLE)\n#define REGAL_NO_TYPEDEF_WGL_NV_RENDER_TEXTURE_RECTANGLE\n#endif\n\n#if (defined(WGL_NV_RENDER_TEXTURE_RECTANGLE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_NV_RENDER_TEXTURE_RECTANGLE)) && !defined(REGAL_NO_NAMESPACE_WGL_NV_RENDER_TEXTURE_RECTANGLE)\n#define REGAL_NO_NAMESPACE_WGL_NV_RENDER_TEXTURE_RECTANGLE\n#endif\n\n#if (defined(WGL_NV_RENDER_TEXTURE_RECTANGLE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_NV_RENDER_TEXTURE_RECTANGLE)) && !defined(REGAL_NO_PLUGIN_WGL_NV_RENDER_TEXTURE_RECTANGLE)\n#define REGAL_NO_PLUGIN_WGL_NV_RENDER_TEXTURE_RECTANGLE\n#endif\n\n#if (defined(WGL_NV_RENDER_TEXTURE_RECTANGLE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_NV_RENDER_TEXTURE_RECTANGLE)) && !defined(REGAL_NO_DECLARATION_WGL_NV_RENDER_TEXTURE_RECTANGLE)\n#define REGAL_NO_DECLARATION_WGL_NV_RENDER_TEXTURE_RECTANGLE\n#endif\n\n#ifndef WGL_NV_render_texture_rectangle\n#define WGL_NV_render_texture_rectangle 1\n#endif\n\n#ifndef REGAL_NO_ENUM_WGL_NV_RENDER_TEXTURE_RECTANGLE\n#define WGL_BIND_TO_TEXTURE_RECTANGLE_RGB_NV  0x20a0     /* 8352 */\n#define WGL_BIND_TO_TEXTURE_RECTANGLE_RGBA_NV 0x20a1     /* 8353 */\n#define WGL_TEXTURE_RECTANGLE_NV              0x20a2     /* 8354 */\n#endif\n\n/**\n ** WGL_NV_swap_group\n **/\n\n#if (defined(WGL_NV_SWAP_GROUP) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_NV_SWAP_GROUP)) && !defined(REGAL_NO_ENUM_WGL_NV_SWAP_GROUP)\n#define REGAL_NO_ENUM_WGL_NV_SWAP_GROUP\n#endif\n\n#if (defined(WGL_NV_SWAP_GROUP) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_NV_SWAP_GROUP)) && !defined(REGAL_NO_TYPEDEF_WGL_NV_SWAP_GROUP)\n#define REGAL_NO_TYPEDEF_WGL_NV_SWAP_GROUP\n#endif\n\n#if (defined(WGL_NV_SWAP_GROUP) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_NV_SWAP_GROUP)) && !defined(REGAL_NO_NAMESPACE_WGL_NV_SWAP_GROUP)\n#define REGAL_NO_NAMESPACE_WGL_NV_SWAP_GROUP\n#endif\n\n#if (defined(WGL_NV_SWAP_GROUP) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_NV_SWAP_GROUP)) && !defined(REGAL_NO_PLUGIN_WGL_NV_SWAP_GROUP)\n#define REGAL_NO_PLUGIN_WGL_NV_SWAP_GROUP\n#endif\n\n#if (defined(WGL_NV_SWAP_GROUP) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_NV_SWAP_GROUP)) && !defined(REGAL_NO_DECLARATION_WGL_NV_SWAP_GROUP)\n#define REGAL_NO_DECLARATION_WGL_NV_SWAP_GROUP\n#endif\n\n#ifndef WGL_NV_swap_group\n#define WGL_NV_swap_group 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_WGL_NV_SWAP_GROUP\ntypedef BOOL (REGAL_CALL *PFNWGLBINDSWAPBARRIERNVPROC)(GLuint group, GLuint barrier);\ntypedef BOOL (REGAL_CALL *PFNWGLJOINSWAPGROUPNVPROC)(HDC hDC, GLuint group);\ntypedef BOOL (REGAL_CALL *PFNWGLQUERYFRAMECOUNTNVPROC)(HDC hDC, GLuint *count);\ntypedef BOOL (REGAL_CALL *PFNWGLQUERYMAXSWAPGROUPSNVPROC)(HDC hDC, GLuint *maxGroups, GLuint *maxBarriers);\ntypedef BOOL (REGAL_CALL *PFNWGLQUERYSWAPGROUPNVPROC)(HDC hDC, GLuint *group, GLuint *barrier);\ntypedef BOOL (REGAL_CALL *PFNWGLRESETFRAMECOUNTNVPROC)(HDC hDC);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_WGL_NV_SWAP_GROUP\n#define wglBindSwapBarrierNV                rwglBindSwapBarrierNV\n#define wglJoinSwapGroupNV                  rwglJoinSwapGroupNV\n#define wglQueryFrameCountNV                rwglQueryFrameCountNV\n#define wglQueryMaxSwapGroupsNV             rwglQueryMaxSwapGroupsNV\n#define wglQuerySwapGroupNV                 rwglQuerySwapGroupNV\n#define wglResetFrameCountNV                rwglResetFrameCountNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_WGL_NV_SWAP_GROUP\nREGAL_DECL BOOL REGAL_CALL wglBindSwapBarrierNV(GLuint group, GLuint barrier);\nREGAL_DECL BOOL REGAL_CALL wglJoinSwapGroupNV(HDC hDC, GLuint group);\nREGAL_DECL BOOL REGAL_CALL wglQueryFrameCountNV(HDC hDC, GLuint *count);\nREGAL_DECL BOOL REGAL_CALL wglQueryMaxSwapGroupsNV(HDC hDC, GLuint *maxGroups, GLuint *maxBarriers);\nREGAL_DECL BOOL REGAL_CALL wglQuerySwapGroupNV(HDC hDC, GLuint *group, GLuint *barrier);\nREGAL_DECL BOOL REGAL_CALL wglResetFrameCountNV(HDC hDC);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_WGL_NV_SWAP_GROUP\nREGAL_DECL BOOL REGAL_CALL plugin_wglBindSwapBarrierNV(GLuint group, GLuint barrier);\nREGAL_DECL BOOL REGAL_CALL plugin_wglJoinSwapGroupNV(HDC hDC, GLuint group);\nREGAL_DECL BOOL REGAL_CALL plugin_wglQueryFrameCountNV(HDC hDC, GLuint *count);\nREGAL_DECL BOOL REGAL_CALL plugin_wglQueryMaxSwapGroupsNV(HDC hDC, GLuint *maxGroups, GLuint *maxBarriers);\nREGAL_DECL BOOL REGAL_CALL plugin_wglQuerySwapGroupNV(HDC hDC, GLuint *group, GLuint *barrier);\nREGAL_DECL BOOL REGAL_CALL plugin_wglResetFrameCountNV(HDC hDC);\n#endif\n\n/**\n ** WGL_NV_vertex_array_range\n **/\n\n#if (defined(WGL_NV_VERTEX_ARRAY_RANGE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_NV_VERTEX_ARRAY_RANGE)) && !defined(REGAL_NO_ENUM_WGL_NV_VERTEX_ARRAY_RANGE)\n#define REGAL_NO_ENUM_WGL_NV_VERTEX_ARRAY_RANGE\n#endif\n\n#if (defined(WGL_NV_VERTEX_ARRAY_RANGE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_NV_VERTEX_ARRAY_RANGE)) && !defined(REGAL_NO_TYPEDEF_WGL_NV_VERTEX_ARRAY_RANGE)\n#define REGAL_NO_TYPEDEF_WGL_NV_VERTEX_ARRAY_RANGE\n#endif\n\n#if (defined(WGL_NV_VERTEX_ARRAY_RANGE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_NV_VERTEX_ARRAY_RANGE)) && !defined(REGAL_NO_NAMESPACE_WGL_NV_VERTEX_ARRAY_RANGE)\n#define REGAL_NO_NAMESPACE_WGL_NV_VERTEX_ARRAY_RANGE\n#endif\n\n#if (defined(WGL_NV_VERTEX_ARRAY_RANGE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_NV_VERTEX_ARRAY_RANGE)) && !defined(REGAL_NO_PLUGIN_WGL_NV_VERTEX_ARRAY_RANGE)\n#define REGAL_NO_PLUGIN_WGL_NV_VERTEX_ARRAY_RANGE\n#endif\n\n#if (defined(WGL_NV_VERTEX_ARRAY_RANGE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_NV_VERTEX_ARRAY_RANGE)) && !defined(REGAL_NO_DECLARATION_WGL_NV_VERTEX_ARRAY_RANGE)\n#define REGAL_NO_DECLARATION_WGL_NV_VERTEX_ARRAY_RANGE\n#endif\n\n#ifndef WGL_NV_vertex_array_range\n#define WGL_NV_vertex_array_range 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_WGL_NV_VERTEX_ARRAY_RANGE\ntypedef void (REGAL_CALL *PFNWGLFREEMEMORYNVPROC)(void *pointer);\ntypedef void *(REGAL_CALL *PFNWGLALLOCATEMEMORYNVPROC)(GLsizei size, GLfloat readfreq, GLfloat writefreq, GLfloat priority);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_WGL_NV_VERTEX_ARRAY_RANGE\n#define wglAllocateMemoryNV                 rwglAllocateMemoryNV\n#define wglFreeMemoryNV                     rwglFreeMemoryNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_WGL_NV_VERTEX_ARRAY_RANGE\nREGAL_DECL void *REGAL_CALL wglAllocateMemoryNV(GLsizei size, GLfloat readfreq, GLfloat writefreq, GLfloat priority);\nREGAL_DECL void REGAL_CALL wglFreeMemoryNV(void *pointer);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_WGL_NV_VERTEX_ARRAY_RANGE\nREGAL_DECL void *REGAL_CALL plugin_wglAllocateMemoryNV(GLsizei size, GLfloat readfreq, GLfloat writefreq, GLfloat priority);\nREGAL_DECL void REGAL_CALL plugin_wglFreeMemoryNV(void *pointer);\n#endif\n\n/**\n ** WGL_NV_video_capture\n **/\n\n#if (defined(WGL_NV_VIDEO_CAPTURE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_NV_VIDEO_CAPTURE)) && !defined(REGAL_NO_ENUM_WGL_NV_VIDEO_CAPTURE)\n#define REGAL_NO_ENUM_WGL_NV_VIDEO_CAPTURE\n#endif\n\n#if (defined(WGL_NV_VIDEO_CAPTURE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_NV_VIDEO_CAPTURE)) && !defined(REGAL_NO_TYPEDEF_WGL_NV_VIDEO_CAPTURE)\n#define REGAL_NO_TYPEDEF_WGL_NV_VIDEO_CAPTURE\n#endif\n\n#if (defined(WGL_NV_VIDEO_CAPTURE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_NV_VIDEO_CAPTURE)) && !defined(REGAL_NO_NAMESPACE_WGL_NV_VIDEO_CAPTURE)\n#define REGAL_NO_NAMESPACE_WGL_NV_VIDEO_CAPTURE\n#endif\n\n#if (defined(WGL_NV_VIDEO_CAPTURE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_NV_VIDEO_CAPTURE)) && !defined(REGAL_NO_PLUGIN_WGL_NV_VIDEO_CAPTURE)\n#define REGAL_NO_PLUGIN_WGL_NV_VIDEO_CAPTURE\n#endif\n\n#if (defined(WGL_NV_VIDEO_CAPTURE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_NV_VIDEO_CAPTURE)) && !defined(REGAL_NO_DECLARATION_WGL_NV_VIDEO_CAPTURE)\n#define REGAL_NO_DECLARATION_WGL_NV_VIDEO_CAPTURE\n#endif\n\n#ifndef WGL_NV_video_capture\n#define WGL_NV_video_capture 1\n#endif\n\n#ifndef REGAL_NO_ENUM_WGL_NV_VIDEO_CAPTURE\n#define WGL_UNIQUE_ID_NV               0x20ce     /* 8398 */\n#define WGL_NUM_VIDEO_CAPTURE_SLOTS_NV 0x20cf     /* 8399 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_WGL_NV_VIDEO_CAPTURE\ntypedef BOOL (REGAL_CALL *PFNWGLBINDVIDEOCAPTUREDEVICENVPROC)(UINT uVideoSlot, HVIDEOINPUTDEVICENV hDevice);\ntypedef BOOL (REGAL_CALL *PFNWGLLOCKVIDEOCAPTUREDEVICENVPROC)(HDC hDC, HVIDEOINPUTDEVICENV hDevice);\ntypedef BOOL (REGAL_CALL *PFNWGLQUERYVIDEOCAPTUREDEVICENVPROC)(HDC hDC, HVIDEOINPUTDEVICENV hDevice, int iAttribute, int *piValue);\ntypedef BOOL (REGAL_CALL *PFNWGLRELEASEVIDEOCAPTUREDEVICENVPROC)(HDC hDC, HVIDEOINPUTDEVICENV hDevice);\ntypedef UINT (REGAL_CALL *PFNWGLENUMERATEVIDEOCAPTUREDEVICESNVPROC)(HDC hDC, HVIDEOINPUTDEVICENV *phDeviceList);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_WGL_NV_VIDEO_CAPTURE\n#define wglBindVideoCaptureDeviceNV         rwglBindVideoCaptureDeviceNV\n#define wglEnumerateVideoCaptureDevicesNV   rwglEnumerateVideoCaptureDevicesNV\n#define wglLockVideoCaptureDeviceNV         rwglLockVideoCaptureDeviceNV\n#define wglQueryVideoCaptureDeviceNV        rwglQueryVideoCaptureDeviceNV\n#define wglReleaseVideoCaptureDeviceNV      rwglReleaseVideoCaptureDeviceNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_WGL_NV_VIDEO_CAPTURE\nREGAL_DECL BOOL REGAL_CALL wglBindVideoCaptureDeviceNV(UINT uVideoSlot, HVIDEOINPUTDEVICENV hDevice);\nREGAL_DECL BOOL REGAL_CALL wglLockVideoCaptureDeviceNV(HDC hDC, HVIDEOINPUTDEVICENV hDevice);\nREGAL_DECL BOOL REGAL_CALL wglQueryVideoCaptureDeviceNV(HDC hDC, HVIDEOINPUTDEVICENV hDevice, int iAttribute, int *piValue);\nREGAL_DECL BOOL REGAL_CALL wglReleaseVideoCaptureDeviceNV(HDC hDC, HVIDEOINPUTDEVICENV hDevice);\nREGAL_DECL UINT REGAL_CALL wglEnumerateVideoCaptureDevicesNV(HDC hDC, HVIDEOINPUTDEVICENV *phDeviceList);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_WGL_NV_VIDEO_CAPTURE\nREGAL_DECL BOOL REGAL_CALL plugin_wglBindVideoCaptureDeviceNV(UINT uVideoSlot, HVIDEOINPUTDEVICENV hDevice);\nREGAL_DECL BOOL REGAL_CALL plugin_wglLockVideoCaptureDeviceNV(HDC hDC, HVIDEOINPUTDEVICENV hDevice);\nREGAL_DECL BOOL REGAL_CALL plugin_wglQueryVideoCaptureDeviceNV(HDC hDC, HVIDEOINPUTDEVICENV hDevice, int iAttribute, int *piValue);\nREGAL_DECL BOOL REGAL_CALL plugin_wglReleaseVideoCaptureDeviceNV(HDC hDC, HVIDEOINPUTDEVICENV hDevice);\nREGAL_DECL UINT REGAL_CALL plugin_wglEnumerateVideoCaptureDevicesNV(HDC hDC, HVIDEOINPUTDEVICENV *phDeviceList);\n#endif\n\n/**\n ** WGL_NV_video_output\n **/\n\n#if (defined(WGL_NV_VIDEO_OUTPUT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_NV_VIDEO_OUTPUT)) && !defined(REGAL_NO_ENUM_WGL_NV_VIDEO_OUTPUT)\n#define REGAL_NO_ENUM_WGL_NV_VIDEO_OUTPUT\n#endif\n\n#if (defined(WGL_NV_VIDEO_OUTPUT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_NV_VIDEO_OUTPUT)) && !defined(REGAL_NO_TYPEDEF_WGL_NV_VIDEO_OUTPUT)\n#define REGAL_NO_TYPEDEF_WGL_NV_VIDEO_OUTPUT\n#endif\n\n#if (defined(WGL_NV_VIDEO_OUTPUT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_NV_VIDEO_OUTPUT)) && !defined(REGAL_NO_NAMESPACE_WGL_NV_VIDEO_OUTPUT)\n#define REGAL_NO_NAMESPACE_WGL_NV_VIDEO_OUTPUT\n#endif\n\n#if (defined(WGL_NV_VIDEO_OUTPUT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_NV_VIDEO_OUTPUT)) && !defined(REGAL_NO_PLUGIN_WGL_NV_VIDEO_OUTPUT)\n#define REGAL_NO_PLUGIN_WGL_NV_VIDEO_OUTPUT\n#endif\n\n#if (defined(WGL_NV_VIDEO_OUTPUT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_NV_VIDEO_OUTPUT)) && !defined(REGAL_NO_DECLARATION_WGL_NV_VIDEO_OUTPUT)\n#define REGAL_NO_DECLARATION_WGL_NV_VIDEO_OUTPUT\n#endif\n\n#ifndef WGL_NV_video_output\n#define WGL_NV_video_output 1\n#endif\n\n#ifndef REGAL_NO_ENUM_WGL_NV_VIDEO_OUTPUT\n#define WGL_BIND_TO_VIDEO_RGB_NV           0x20c0     /* 8384 */\n#define WGL_BIND_TO_VIDEO_RGBA_NV          0x20c1     /* 8385 */\n#define WGL_BIND_TO_VIDEO_RGB_AND_DEPTH_NV 0x20c2     /* 8386 */\n#define WGL_VIDEO_OUT_COLOR_NV             0x20c3     /* 8387 */\n#define WGL_VIDEO_OUT_ALPHA_NV             0x20c4     /* 8388 */\n#define WGL_VIDEO_OUT_DEPTH_NV             0x20c5     /* 8389 */\n#define WGL_VIDEO_OUT_COLOR_AND_ALPHA_NV   0x20c6     /* 8390 */\n#define WGL_VIDEO_OUT_COLOR_AND_DEPTH_NV   0x20c7     /* 8391 */\n#define WGL_VIDEO_OUT_FRAME                0x20c8     /* 8392 */\n#define WGL_VIDEO_OUT_FIELD_1              0x20c9     /* 8393 */\n#define WGL_VIDEO_OUT_FIELD_2              0x20ca     /* 8394 */\n#define WGL_VIDEO_OUT_STACKED_FIELDS_1_2   0x20cb     /* 8395 */\n#define WGL_VIDEO_OUT_STACKED_FIELDS_2_1   0x20cc     /* 8396 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_WGL_NV_VIDEO_OUTPUT\ntypedef BOOL (REGAL_CALL *PFNWGLBINDVIDEOIMAGENVPROC)(HPVIDEODEV hVideoDevice, HPBUFFERARB hPbuffer, int iVideoBuffer);\ntypedef BOOL (REGAL_CALL *PFNWGLGETVIDEODEVICENVPROC)(HDC hDC, int numDevices, HPVIDEODEV *hVideoDevice);\ntypedef BOOL (REGAL_CALL *PFNWGLGETVIDEOINFONVPROC)(HPVIDEODEV hpVideoDevice, unsigned long *pulCounterOutputPbuffer, unsigned long *pulCounterOutputVideo);\ntypedef BOOL (REGAL_CALL *PFNWGLRELEASEVIDEODEVICENVPROC)(HPVIDEODEV hVideoDevice);\ntypedef BOOL (REGAL_CALL *PFNWGLRELEASEVIDEOIMAGENVPROC)(HPBUFFERARB hPbuffer, int iVideoBuffer);\ntypedef BOOL (REGAL_CALL *PFNWGLSENDPBUFFERTOVIDEONVPROC)(HPBUFFERARB hPbuffer, int iBufferType, unsigned long *pulCounterPbuffer, BOOL bBlock);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_WGL_NV_VIDEO_OUTPUT\n#define wglBindVideoImageNV                 rwglBindVideoImageNV\n#define wglGetVideoDeviceNV                 rwglGetVideoDeviceNV\n#define wglGetVideoInfoNV                   rwglGetVideoInfoNV\n#define wglReleaseVideoDeviceNV             rwglReleaseVideoDeviceNV\n#define wglReleaseVideoImageNV              rwglReleaseVideoImageNV\n#define wglSendPbufferToVideoNV             rwglSendPbufferToVideoNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_WGL_NV_VIDEO_OUTPUT\nREGAL_DECL BOOL REGAL_CALL wglBindVideoImageNV(HPVIDEODEV hVideoDevice, HPBUFFERARB hPbuffer, int iVideoBuffer);\nREGAL_DECL BOOL REGAL_CALL wglGetVideoDeviceNV(HDC hDC, int numDevices, HPVIDEODEV *hVideoDevice);\nREGAL_DECL BOOL REGAL_CALL wglGetVideoInfoNV(HPVIDEODEV hpVideoDevice, unsigned long *pulCounterOutputPbuffer, unsigned long *pulCounterOutputVideo);\nREGAL_DECL BOOL REGAL_CALL wglReleaseVideoDeviceNV(HPVIDEODEV hVideoDevice);\nREGAL_DECL BOOL REGAL_CALL wglReleaseVideoImageNV(HPBUFFERARB hPbuffer, int iVideoBuffer);\nREGAL_DECL BOOL REGAL_CALL wglSendPbufferToVideoNV(HPBUFFERARB hPbuffer, int iBufferType, unsigned long *pulCounterPbuffer, BOOL bBlock);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_WGL_NV_VIDEO_OUTPUT\nREGAL_DECL BOOL REGAL_CALL plugin_wglBindVideoImageNV(HPVIDEODEV hVideoDevice, HPBUFFERARB hPbuffer, int iVideoBuffer);\nREGAL_DECL BOOL REGAL_CALL plugin_wglGetVideoDeviceNV(HDC hDC, int numDevices, HPVIDEODEV *hVideoDevice);\nREGAL_DECL BOOL REGAL_CALL plugin_wglGetVideoInfoNV(HPVIDEODEV hpVideoDevice, unsigned long *pulCounterOutputPbuffer, unsigned long *pulCounterOutputVideo);\nREGAL_DECL BOOL REGAL_CALL plugin_wglReleaseVideoDeviceNV(HPVIDEODEV hVideoDevice);\nREGAL_DECL BOOL REGAL_CALL plugin_wglReleaseVideoImageNV(HPBUFFERARB hPbuffer, int iVideoBuffer);\nREGAL_DECL BOOL REGAL_CALL plugin_wglSendPbufferToVideoNV(HPBUFFERARB hPbuffer, int iBufferType, unsigned long *pulCounterPbuffer, BOOL bBlock);\n#endif\n\n/**\n ** WGL_OML_sync_control\n **/\n\n#if (defined(WGL_OML_SYNC_CONTROL) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_OML_SYNC_CONTROL)) && !defined(REGAL_NO_ENUM_WGL_OML_SYNC_CONTROL)\n#define REGAL_NO_ENUM_WGL_OML_SYNC_CONTROL\n#endif\n\n#if (defined(WGL_OML_SYNC_CONTROL) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_OML_SYNC_CONTROL)) && !defined(REGAL_NO_TYPEDEF_WGL_OML_SYNC_CONTROL)\n#define REGAL_NO_TYPEDEF_WGL_OML_SYNC_CONTROL\n#endif\n\n#if (defined(WGL_OML_SYNC_CONTROL) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_OML_SYNC_CONTROL)) && !defined(REGAL_NO_NAMESPACE_WGL_OML_SYNC_CONTROL)\n#define REGAL_NO_NAMESPACE_WGL_OML_SYNC_CONTROL\n#endif\n\n#if (defined(WGL_OML_SYNC_CONTROL) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_OML_SYNC_CONTROL)) && !defined(REGAL_NO_PLUGIN_WGL_OML_SYNC_CONTROL)\n#define REGAL_NO_PLUGIN_WGL_OML_SYNC_CONTROL\n#endif\n\n#if (defined(WGL_OML_SYNC_CONTROL) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_OML_SYNC_CONTROL)) && !defined(REGAL_NO_DECLARATION_WGL_OML_SYNC_CONTROL)\n#define REGAL_NO_DECLARATION_WGL_OML_SYNC_CONTROL\n#endif\n\n#ifndef WGL_OML_sync_control\n#define WGL_OML_sync_control 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_WGL_OML_SYNC_CONTROL\ntypedef BOOL (REGAL_CALL *PFNWGLGETMSCRATEOMLPROC)(HDC hDC, INT32 *numerator, INT32 *denominator);\ntypedef BOOL (REGAL_CALL *PFNWGLGETSYNCVALUESOMLPROC)(HDC hDC, INT64 *ust, INT64 *msc, INT64 *sbc);\ntypedef BOOL (REGAL_CALL *PFNWGLWAITFORMSCOMLPROC)(HDC hDC, INT64 target_msc, INT64 divisor, INT64 remainder, INT64 *ust, INT64 *msc, INT64 *sbc);\ntypedef BOOL (REGAL_CALL *PFNWGLWAITFORSBCOMLPROC)(HDC hDC, INT64 target_sbc, INT64 *ust, INT64 *msc, INT64 *sbc);\ntypedef INT64 (REGAL_CALL *PFNWGLSWAPBUFFERSMSCOMLPROC)(HDC hDC, INT64 target_msc, INT64 divisor, INT64 remainder);\ntypedef INT64 (REGAL_CALL *PFNWGLSWAPLAYERBUFFERSMSCOMLPROC)(HDC hDC, int fuPlanes, INT64 target_msc, INT64 divisor, INT64 remainder);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_WGL_OML_SYNC_CONTROL\n#define wglGetMscRateOML                    rwglGetMscRateOML\n#define wglGetSyncValuesOML                 rwglGetSyncValuesOML\n#define wglSwapBuffersMscOML                rwglSwapBuffersMscOML\n#define wglSwapLayerBuffersMscOML           rwglSwapLayerBuffersMscOML\n#define wglWaitForMscOML                    rwglWaitForMscOML\n#define wglWaitForSbcOML                    rwglWaitForSbcOML\n#endif\n\n#ifndef REGAL_NO_DECLARATION_WGL_OML_SYNC_CONTROL\nREGAL_DECL BOOL REGAL_CALL wglGetMscRateOML(HDC hDC, INT32 *numerator, INT32 *denominator);\nREGAL_DECL BOOL REGAL_CALL wglGetSyncValuesOML(HDC hDC, INT64 *ust, INT64 *msc, INT64 *sbc);\nREGAL_DECL BOOL REGAL_CALL wglWaitForMscOML(HDC hDC, INT64 target_msc, INT64 divisor, INT64 remainder, INT64 *ust, INT64 *msc, INT64 *sbc);\nREGAL_DECL BOOL REGAL_CALL wglWaitForSbcOML(HDC hDC, INT64 target_sbc, INT64 *ust, INT64 *msc, INT64 *sbc);\nREGAL_DECL INT64 REGAL_CALL wglSwapBuffersMscOML(HDC hDC, INT64 target_msc, INT64 divisor, INT64 remainder);\nREGAL_DECL INT64 REGAL_CALL wglSwapLayerBuffersMscOML(HDC hDC, int fuPlanes, INT64 target_msc, INT64 divisor, INT64 remainder);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_WGL_OML_SYNC_CONTROL\nREGAL_DECL BOOL REGAL_CALL plugin_wglGetMscRateOML(HDC hDC, INT32 *numerator, INT32 *denominator);\nREGAL_DECL BOOL REGAL_CALL plugin_wglGetSyncValuesOML(HDC hDC, INT64 *ust, INT64 *msc, INT64 *sbc);\nREGAL_DECL BOOL REGAL_CALL plugin_wglWaitForMscOML(HDC hDC, INT64 target_msc, INT64 divisor, INT64 remainder, INT64 *ust, INT64 *msc, INT64 *sbc);\nREGAL_DECL BOOL REGAL_CALL plugin_wglWaitForSbcOML(HDC hDC, INT64 target_sbc, INT64 *ust, INT64 *msc, INT64 *sbc);\nREGAL_DECL INT64 REGAL_CALL plugin_wglSwapBuffersMscOML(HDC hDC, INT64 target_msc, INT64 divisor, INT64 remainder);\nREGAL_DECL INT64 REGAL_CALL plugin_wglSwapLayerBuffersMscOML(HDC hDC, int fuPlanes, INT64 target_msc, INT64 divisor, INT64 remainder);\n#endif\n\n/**\n ** WGL_core\n **/\n\n#if (defined(WGL_CORE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_CORE)) && !defined(REGAL_NO_ENUM_WGL_CORE)\n#define REGAL_NO_ENUM_WGL_CORE\n#endif\n\n#if (defined(WGL_CORE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_CORE)) && !defined(REGAL_NO_TYPEDEF_WGL_CORE)\n#define REGAL_NO_TYPEDEF_WGL_CORE\n#endif\n\n#if (defined(WGL_CORE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_CORE)) && !defined(REGAL_NO_NAMESPACE_WGL_CORE)\n#define REGAL_NO_NAMESPACE_WGL_CORE\n#endif\n\n#if (defined(WGL_CORE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_CORE)) && !defined(REGAL_NO_PLUGIN_WGL_CORE)\n#define REGAL_NO_PLUGIN_WGL_CORE\n#endif\n\n#if (defined(WGL_CORE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_CORE)) && !defined(REGAL_NO_DECLARATION_WGL_CORE)\n#define REGAL_NO_DECLARATION_WGL_CORE\n#endif\n\n#ifndef WGL_core\n#define WGL_core 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_WGL_CORE\ntypedef BOOL (REGAL_CALL *PFNWGLCOPYCONTEXTPROC)(HGLRC hglrcSrc, HGLRC hglrcDst, UINT mask);\ntypedef BOOL (REGAL_CALL *PFNWGLDELETECONTEXTPROC)(HGLRC hglrc);\ntypedef BOOL (REGAL_CALL *PFNWGLDESCRIBELAYERPLANEPROC)(HDC hDC, int iPixelFormat, int iLayerPlane, UINT nBytes, LPLAYERPLANEDESCRIPTOR plpd);\ntypedef BOOL (REGAL_CALL *PFNWGLMAKECURRENTPROC)(HDC hDC, HGLRC hglrc);\ntypedef BOOL (REGAL_CALL *PFNWGLREALIZELAYERPALETTEPROC)(HDC hDC, int iLayerPlane, BOOL bRealize);\ntypedef BOOL (REGAL_CALL *PFNWGLSHARELISTSPROC)(HGLRC hglrcShare, HGLRC hglrcSrc);\ntypedef BOOL (REGAL_CALL *PFNWGLSWAPLAYERBUFFERSPROC)(HDC hDC, UINT fuPlanes);\ntypedef BOOL (REGAL_CALL *PFNWGLUSEFONTBITMAPSAPROC)(HDC hDC, DWORD first, DWORD count, DWORD listBase);\ntypedef BOOL (REGAL_CALL *PFNWGLUSEFONTBITMAPSWPROC)(HDC hDC, DWORD first, DWORD count, DWORD listBase);\ntypedef BOOL (REGAL_CALL *PFNWGLUSEFONTOUTLINESAPROC)(HDC hDC, DWORD first, DWORD count, DWORD listBase, FLOAT deviation, FLOAT extrusion, int format, LPGLYPHMETRICSFLOAT lpgmf);\ntypedef BOOL (REGAL_CALL *PFNWGLUSEFONTOUTLINESWPROC)(HDC hDC, DWORD first, DWORD count, DWORD listBase, FLOAT deviation, FLOAT extrusion, int format, LPGLYPHMETRICSFLOAT lpgmf);\ntypedef DWORD (REGAL_CALL *PFNWGLSWAPMULTIPLEBUFFERSPROC)(UINT n, const WGLSWAP *ps);\ntypedef HDC (REGAL_CALL *PFNWGLGETCURRENTDCPROC)(void);\ntypedef HGLRC (REGAL_CALL *PFNWGLCREATECONTEXTPROC)(HDC hDC);\ntypedef HGLRC (REGAL_CALL *PFNWGLCREATELAYERCONTEXTPROC)(HDC hDC, int iLayerPlane);\ntypedef HGLRC (REGAL_CALL *PFNWGLGETCURRENTCONTEXTPROC)(void);\ntypedef PROC (REGAL_CALL *PFNWGLGETDEFAULTPROCADDRESSPROC)(LPCSTR lpszProc);\ntypedef PROC (REGAL_CALL *PFNWGLGETPROCADDRESSPROC)(LPCSTR lpszProc);\ntypedef int (REGAL_CALL *PFNWGLGETLAYERPALETTEENTRIESPROC)(HDC hDC, int iLayerPlane, int iStart, int nEntries, COLORREF *pcr);\ntypedef int (REGAL_CALL *PFNWGLSETLAYERPALETTEENTRIESPROC)(HDC hDC, int iLayerPlane, int iStart, int nEntries, const COLORREF *pcr);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_WGL_CORE\n#define wglCopyContext                      rwglCopyContext\n#define wglCreateContext                    rwglCreateContext\n#define wglCreateLayerContext               rwglCreateLayerContext\n#define wglDeleteContext                    rwglDeleteContext\n#define wglDescribeLayerPlane               rwglDescribeLayerPlane\n#define wglGetCurrentContext                rwglGetCurrentContext\n#define wglGetCurrentDC                     rwglGetCurrentDC\n#define wglGetDefaultProcAddress            rwglGetDefaultProcAddress\n#define wglGetLayerPaletteEntries           rwglGetLayerPaletteEntries\n#define wglGetProcAddress                   rwglGetProcAddress\n#define wglMakeCurrent                      rwglMakeCurrent\n#define wglRealizeLayerPalette              rwglRealizeLayerPalette\n#define wglSetLayerPaletteEntries           rwglSetLayerPaletteEntries\n#define wglShareLists                       rwglShareLists\n#define wglSwapLayerBuffers                 rwglSwapLayerBuffers\n#define wglSwapMultipleBuffers              rwglSwapMultipleBuffers\n#define wglUseFontBitmapsA                  rwglUseFontBitmapsA\n#define wglUseFontBitmapsW                  rwglUseFontBitmapsW\n#define wglUseFontOutlinesA                 rwglUseFontOutlinesA\n#define wglUseFontOutlinesW                 rwglUseFontOutlinesW\n#endif\n\n#ifndef REGAL_NO_DECLARATION_WGL_CORE\nREGAL_DECL BOOL REGAL_CALL wglCopyContext(HGLRC hglrcSrc, HGLRC hglrcDst, UINT mask);\nREGAL_DECL BOOL REGAL_CALL wglDeleteContext(HGLRC hglrc);\nREGAL_DECL BOOL REGAL_CALL wglDescribeLayerPlane(HDC hDC, int iPixelFormat, int iLayerPlane, UINT nBytes, LPLAYERPLANEDESCRIPTOR plpd);\nREGAL_DECL BOOL REGAL_CALL wglMakeCurrent(HDC hDC, HGLRC hglrc);\nREGAL_DECL BOOL REGAL_CALL wglRealizeLayerPalette(HDC hDC, int iLayerPlane, BOOL bRealize);\nREGAL_DECL BOOL REGAL_CALL wglShareLists(HGLRC hglrcShare, HGLRC hglrcSrc);\nREGAL_DECL BOOL REGAL_CALL wglSwapLayerBuffers(HDC hDC, UINT fuPlanes);\nREGAL_DECL BOOL REGAL_CALL wglUseFontBitmapsA(HDC hDC, DWORD first, DWORD count, DWORD listBase);\nREGAL_DECL BOOL REGAL_CALL wglUseFontBitmapsW(HDC hDC, DWORD first, DWORD count, DWORD listBase);\nREGAL_DECL BOOL REGAL_CALL wglUseFontOutlinesA(HDC hDC, DWORD first, DWORD count, DWORD listBase, FLOAT deviation, FLOAT extrusion, int format, LPGLYPHMETRICSFLOAT lpgmf);\nREGAL_DECL BOOL REGAL_CALL wglUseFontOutlinesW(HDC hDC, DWORD first, DWORD count, DWORD listBase, FLOAT deviation, FLOAT extrusion, int format, LPGLYPHMETRICSFLOAT lpgmf);\nREGAL_DECL DWORD REGAL_CALL wglSwapMultipleBuffers(UINT n, const WGLSWAP *ps);\nREGAL_DECL HDC REGAL_CALL wglGetCurrentDC(void);\nREGAL_DECL HGLRC REGAL_CALL wglCreateContext(HDC hDC);\nREGAL_DECL HGLRC REGAL_CALL wglCreateLayerContext(HDC hDC, int iLayerPlane);\nREGAL_DECL HGLRC REGAL_CALL wglGetCurrentContext(void);\nREGAL_DECL PROC REGAL_CALL wglGetDefaultProcAddress(LPCSTR lpszProc);\nREGAL_DECL PROC REGAL_CALL wglGetProcAddress(LPCSTR lpszProc);\nREGAL_DECL int REGAL_CALL wglGetLayerPaletteEntries(HDC hDC, int iLayerPlane, int iStart, int nEntries, COLORREF *pcr);\nREGAL_DECL int REGAL_CALL wglSetLayerPaletteEntries(HDC hDC, int iLayerPlane, int iStart, int nEntries, const COLORREF *pcr);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_WGL_CORE\nREGAL_DECL BOOL REGAL_CALL plugin_wglCopyContext(HGLRC hglrcSrc, HGLRC hglrcDst, UINT mask);\nREGAL_DECL BOOL REGAL_CALL plugin_wglDeleteContext(HGLRC hglrc);\nREGAL_DECL BOOL REGAL_CALL plugin_wglDescribeLayerPlane(HDC hDC, int iPixelFormat, int iLayerPlane, UINT nBytes, LPLAYERPLANEDESCRIPTOR plpd);\nREGAL_DECL BOOL REGAL_CALL plugin_wglMakeCurrent(HDC hDC, HGLRC hglrc);\nREGAL_DECL BOOL REGAL_CALL plugin_wglRealizeLayerPalette(HDC hDC, int iLayerPlane, BOOL bRealize);\nREGAL_DECL BOOL REGAL_CALL plugin_wglShareLists(HGLRC hglrcShare, HGLRC hglrcSrc);\nREGAL_DECL BOOL REGAL_CALL plugin_wglSwapLayerBuffers(HDC hDC, UINT fuPlanes);\nREGAL_DECL BOOL REGAL_CALL plugin_wglUseFontBitmapsA(HDC hDC, DWORD first, DWORD count, DWORD listBase);\nREGAL_DECL BOOL REGAL_CALL plugin_wglUseFontBitmapsW(HDC hDC, DWORD first, DWORD count, DWORD listBase);\nREGAL_DECL BOOL REGAL_CALL plugin_wglUseFontOutlinesA(HDC hDC, DWORD first, DWORD count, DWORD listBase, FLOAT deviation, FLOAT extrusion, int format, LPGLYPHMETRICSFLOAT lpgmf);\nREGAL_DECL BOOL REGAL_CALL plugin_wglUseFontOutlinesW(HDC hDC, DWORD first, DWORD count, DWORD listBase, FLOAT deviation, FLOAT extrusion, int format, LPGLYPHMETRICSFLOAT lpgmf);\nREGAL_DECL DWORD REGAL_CALL plugin_wglSwapMultipleBuffers(UINT n, const WGLSWAP *ps);\nREGAL_DECL HDC REGAL_CALL plugin_wglGetCurrentDC(void);\nREGAL_DECL HGLRC REGAL_CALL plugin_wglCreateContext(HDC hDC);\nREGAL_DECL HGLRC REGAL_CALL plugin_wglCreateLayerContext(HDC hDC, int iLayerPlane);\nREGAL_DECL HGLRC REGAL_CALL plugin_wglGetCurrentContext(void);\nREGAL_DECL PROC REGAL_CALL plugin_wglGetDefaultProcAddress(LPCSTR lpszProc);\nREGAL_DECL PROC REGAL_CALL plugin_wglGetProcAddress(LPCSTR lpszProc);\nREGAL_DECL int REGAL_CALL plugin_wglGetLayerPaletteEntries(HDC hDC, int iLayerPlane, int iStart, int nEntries, COLORREF *pcr);\nREGAL_DECL int REGAL_CALL plugin_wglSetLayerPaletteEntries(HDC hDC, int iLayerPlane, int iStart, int nEntries, const COLORREF *pcr);\n#endif\n\n#endif /* REGAL_SYS_WGL_DECLARE_WGL */\n#endif /* REGAL_SYS_WGL */\n\n#if REGAL_SYS_GLX\n\n/**\n ** GLX_3DFX_multisample\n **/\n\n#if (defined(GLX_3DFX_MULTISAMPLE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_3DFX_MULTISAMPLE)) && !defined(REGAL_NO_ENUM_GLX_3DFX_MULTISAMPLE)\n#define REGAL_NO_ENUM_GLX_3DFX_MULTISAMPLE\n#endif\n\n#if (defined(GLX_3DFX_MULTISAMPLE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_3DFX_MULTISAMPLE)) && !defined(REGAL_NO_TYPEDEF_GLX_3DFX_MULTISAMPLE)\n#define REGAL_NO_TYPEDEF_GLX_3DFX_MULTISAMPLE\n#endif\n\n#if (defined(GLX_3DFX_MULTISAMPLE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_3DFX_MULTISAMPLE)) && !defined(REGAL_NO_NAMESPACE_GLX_3DFX_MULTISAMPLE)\n#define REGAL_NO_NAMESPACE_GLX_3DFX_MULTISAMPLE\n#endif\n\n#if (defined(GLX_3DFX_MULTISAMPLE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_3DFX_MULTISAMPLE)) && !defined(REGAL_NO_PLUGIN_GLX_3DFX_MULTISAMPLE)\n#define REGAL_NO_PLUGIN_GLX_3DFX_MULTISAMPLE\n#endif\n\n#if (defined(GLX_3DFX_MULTISAMPLE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_3DFX_MULTISAMPLE)) && !defined(REGAL_NO_DECLARATION_GLX_3DFX_MULTISAMPLE)\n#define REGAL_NO_DECLARATION_GLX_3DFX_MULTISAMPLE\n#endif\n\n#ifndef GLX_3DFX_multisample\n#define GLX_3DFX_multisample 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_3DFX_MULTISAMPLE\n#define GLX_SAMPLE_BUFFERS_3DFX 0x8050     /* 32848 */\n#define GLX_SAMPLES_3DFX        0x8051     /* 32849 */\n#endif\n\n/**\n ** GLX_AMD_gpu_association\n **/\n\n#if (defined(GLX_AMD_GPU_ASSOCIATION) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_AMD_GPU_ASSOCIATION)) && !defined(REGAL_NO_ENUM_GLX_AMD_GPU_ASSOCIATION)\n#define REGAL_NO_ENUM_GLX_AMD_GPU_ASSOCIATION\n#endif\n\n#if (defined(GLX_AMD_GPU_ASSOCIATION) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_AMD_GPU_ASSOCIATION)) && !defined(REGAL_NO_TYPEDEF_GLX_AMD_GPU_ASSOCIATION)\n#define REGAL_NO_TYPEDEF_GLX_AMD_GPU_ASSOCIATION\n#endif\n\n#if (defined(GLX_AMD_GPU_ASSOCIATION) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_AMD_GPU_ASSOCIATION)) && !defined(REGAL_NO_NAMESPACE_GLX_AMD_GPU_ASSOCIATION)\n#define REGAL_NO_NAMESPACE_GLX_AMD_GPU_ASSOCIATION\n#endif\n\n#if (defined(GLX_AMD_GPU_ASSOCIATION) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_AMD_GPU_ASSOCIATION)) && !defined(REGAL_NO_PLUGIN_GLX_AMD_GPU_ASSOCIATION)\n#define REGAL_NO_PLUGIN_GLX_AMD_GPU_ASSOCIATION\n#endif\n\n#if (defined(GLX_AMD_GPU_ASSOCIATION) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_AMD_GPU_ASSOCIATION)) && !defined(REGAL_NO_DECLARATION_GLX_AMD_GPU_ASSOCIATION)\n#define REGAL_NO_DECLARATION_GLX_AMD_GPU_ASSOCIATION\n#endif\n\n#ifndef GLX_AMD_gpu_association\n#define GLX_AMD_gpu_association 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_AMD_GPU_ASSOCIATION\n#define GLX_GPU_VENDOR_AMD                0x1f00     /* 7936 */\n#define GLX_GPU_RENDERER_STRING_AMD       0x1f01     /* 7937 */\n#define GLX_GPU_OPENGL_VERSION_STRING_AMD 0x1f02     /* 7938 */\n#define GLX_GPU_FASTEST_TARGET_GPUS_AMD   0x21a2     /* 8610 */\n#define GLX_GPU_RAM_AMD                   0x21a3     /* 8611 */\n#define GLX_GPU_CLOCK_AMD                 0x21a4     /* 8612 */\n#define GLX_GPU_NUM_PIPES_AMD             0x21a5     /* 8613 */\n#define GLX_GPU_NUM_SIMD_AMD              0x21a6     /* 8614 */\n#define GLX_GPU_NUM_RB_AMD                0x21a7     /* 8615 */\n#define GLX_GPU_NUM_SPI_AMD               0x21a8     /* 8616 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GLX_AMD_GPU_ASSOCIATION\ntypedef Bool (REGAL_CALL *PFNGLXDELETEASSOCIATEDCONTEXTAMDPROC)(GLXContext ctx);\ntypedef Bool (REGAL_CALL *PFNGLXMAKEASSOCIATEDCONTEXTCURRENTAMDPROC)(GLXContext ctx);\ntypedef GLXContext (REGAL_CALL *PFNGLXCREATEASSOCIATEDCONTEXTAMDPROC)(unsigned int id, GLXContext share_list);\ntypedef GLXContext (REGAL_CALL *PFNGLXCREATEASSOCIATEDCONTEXTATTRIBSAMDPROC)(unsigned int id, GLXContext share_context, const int *attribList);\ntypedef GLXContext (REGAL_CALL *PFNGLXGETCURRENTASSOCIATEDCONTEXTAMDPROC)(void);\ntypedef int (REGAL_CALL *PFNGLXGETGPUINFOAMDPROC)(unsigned int id, int property, GLenum dataType, unsigned int size, GLvoid *data);\ntypedef unsigned int (REGAL_CALL *PFNGLXGETCONTEXTGPUIDAMDPROC)(GLXContext ctx);\ntypedef unsigned int (REGAL_CALL *PFNGLXGETGPUIDSAMDPROC)(unsigned int maxCount, unsigned int *ids);\ntypedef void (REGAL_CALL *PFNGLXBLITCONTEXTFRAMEBUFFERAMDPROC)(GLXContext dstCtx, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GLX_AMD_GPU_ASSOCIATION\n#define glXBlitContextFramebufferAMD        rglXBlitContextFramebufferAMD\n#define glXCreateAssociatedContextAMD       rglXCreateAssociatedContextAMD\n#define glXCreateAssociatedContextAttribsAMD rglXCreateAssociatedContextAttribsAMD\n#define glXDeleteAssociatedContextAMD       rglXDeleteAssociatedContextAMD\n#define glXGetContextGPUIDAMD               rglXGetContextGPUIDAMD\n#define glXGetCurrentAssociatedContextAMD   rglXGetCurrentAssociatedContextAMD\n#define glXGetGPUIDsAMD                     rglXGetGPUIDsAMD\n#define glXGetGPUInfoAMD                    rglXGetGPUInfoAMD\n#define glXMakeAssociatedContextCurrentAMD  rglXMakeAssociatedContextCurrentAMD\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GLX_AMD_GPU_ASSOCIATION\nREGAL_DECL Bool REGAL_CALL glXDeleteAssociatedContextAMD(GLXContext ctx);\nREGAL_DECL Bool REGAL_CALL glXMakeAssociatedContextCurrentAMD(GLXContext ctx);\nREGAL_DECL GLXContext REGAL_CALL glXCreateAssociatedContextAMD(unsigned int id, GLXContext share_list);\nREGAL_DECL GLXContext REGAL_CALL glXCreateAssociatedContextAttribsAMD(unsigned int id, GLXContext share_context, const int *attribList);\nREGAL_DECL GLXContext REGAL_CALL glXGetCurrentAssociatedContextAMD(void);\nREGAL_DECL int REGAL_CALL glXGetGPUInfoAMD(unsigned int id, int property, GLenum dataType, unsigned int size, GLvoid *data);\nREGAL_DECL unsigned int REGAL_CALL glXGetContextGPUIDAMD(GLXContext ctx);\nREGAL_DECL unsigned int REGAL_CALL glXGetGPUIDsAMD(unsigned int maxCount, unsigned int *ids);\nREGAL_DECL void REGAL_CALL glXBlitContextFramebufferAMD(GLXContext dstCtx, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GLX_AMD_GPU_ASSOCIATION\nREGAL_DECL Bool REGAL_CALL plugin_glXDeleteAssociatedContextAMD(GLXContext ctx);\nREGAL_DECL Bool REGAL_CALL plugin_glXMakeAssociatedContextCurrentAMD(GLXContext ctx);\nREGAL_DECL GLXContext REGAL_CALL plugin_glXCreateAssociatedContextAMD(unsigned int id, GLXContext share_list);\nREGAL_DECL GLXContext REGAL_CALL plugin_glXCreateAssociatedContextAttribsAMD(unsigned int id, GLXContext share_context, const int *attribList);\nREGAL_DECL GLXContext REGAL_CALL plugin_glXGetCurrentAssociatedContextAMD(void);\nREGAL_DECL int REGAL_CALL plugin_glXGetGPUInfoAMD(unsigned int id, int property, GLenum dataType, unsigned int size, GLvoid *data);\nREGAL_DECL unsigned int REGAL_CALL plugin_glXGetContextGPUIDAMD(GLXContext ctx);\nREGAL_DECL unsigned int REGAL_CALL plugin_glXGetGPUIDsAMD(unsigned int maxCount, unsigned int *ids);\nREGAL_DECL void REGAL_CALL plugin_glXBlitContextFramebufferAMD(GLXContext dstCtx, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);\n#endif\n\n/**\n ** GLX_ARB_create_context\n **/\n\n#if (defined(GLX_ARB_CREATE_CONTEXT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_ARB_CREATE_CONTEXT)) && !defined(REGAL_NO_ENUM_GLX_ARB_CREATE_CONTEXT)\n#define REGAL_NO_ENUM_GLX_ARB_CREATE_CONTEXT\n#endif\n\n#if (defined(GLX_ARB_CREATE_CONTEXT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_ARB_CREATE_CONTEXT)) && !defined(REGAL_NO_TYPEDEF_GLX_ARB_CREATE_CONTEXT)\n#define REGAL_NO_TYPEDEF_GLX_ARB_CREATE_CONTEXT\n#endif\n\n#if (defined(GLX_ARB_CREATE_CONTEXT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_ARB_CREATE_CONTEXT)) && !defined(REGAL_NO_NAMESPACE_GLX_ARB_CREATE_CONTEXT)\n#define REGAL_NO_NAMESPACE_GLX_ARB_CREATE_CONTEXT\n#endif\n\n#if (defined(GLX_ARB_CREATE_CONTEXT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_ARB_CREATE_CONTEXT)) && !defined(REGAL_NO_PLUGIN_GLX_ARB_CREATE_CONTEXT)\n#define REGAL_NO_PLUGIN_GLX_ARB_CREATE_CONTEXT\n#endif\n\n#if (defined(GLX_ARB_CREATE_CONTEXT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_ARB_CREATE_CONTEXT)) && !defined(REGAL_NO_DECLARATION_GLX_ARB_CREATE_CONTEXT)\n#define REGAL_NO_DECLARATION_GLX_ARB_CREATE_CONTEXT\n#endif\n\n#ifndef GLX_ARB_create_context\n#define GLX_ARB_create_context 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_ARB_CREATE_CONTEXT\n#define GLX_CONTEXT_DEBUG_BIT_ARB              0x1\n#define GLX_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB 0x2\n#define GLX_CONTEXT_MAJOR_VERSION_ARB          0x2091     /* 8337 */\n#define GLX_CONTEXT_MINOR_VERSION_ARB          0x2092     /* 8338 */\n#define GLX_CONTEXT_FLAGS_ARB                  0x2094     /* 8340 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GLX_ARB_CREATE_CONTEXT\ntypedef GLXContext (REGAL_CALL *PFNGLXCREATECONTEXTATTRIBSARBPROC)(Display *dpy, GLXFBConfig config, GLXContext share_context, Bool direct, const int *attrib_list);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GLX_ARB_CREATE_CONTEXT\n#define glXCreateContextAttribsARB          rglXCreateContextAttribsARB\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GLX_ARB_CREATE_CONTEXT\nREGAL_DECL GLXContext REGAL_CALL glXCreateContextAttribsARB(Display *dpy, GLXFBConfig config, GLXContext share_context, Bool direct, const int *attrib_list);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GLX_ARB_CREATE_CONTEXT\nREGAL_DECL GLXContext REGAL_CALL plugin_glXCreateContextAttribsARB(Display *dpy, GLXFBConfig config, GLXContext share_context, Bool direct, const int *attrib_list);\n#endif\n\n/**\n ** GLX_ARB_create_context_profile\n **/\n\n#if (defined(GLX_ARB_CREATE_CONTEXT_PROFILE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_ARB_CREATE_CONTEXT_PROFILE)) && !defined(REGAL_NO_ENUM_GLX_ARB_CREATE_CONTEXT_PROFILE)\n#define REGAL_NO_ENUM_GLX_ARB_CREATE_CONTEXT_PROFILE\n#endif\n\n#if (defined(GLX_ARB_CREATE_CONTEXT_PROFILE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_ARB_CREATE_CONTEXT_PROFILE)) && !defined(REGAL_NO_TYPEDEF_GLX_ARB_CREATE_CONTEXT_PROFILE)\n#define REGAL_NO_TYPEDEF_GLX_ARB_CREATE_CONTEXT_PROFILE\n#endif\n\n#if (defined(GLX_ARB_CREATE_CONTEXT_PROFILE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_ARB_CREATE_CONTEXT_PROFILE)) && !defined(REGAL_NO_NAMESPACE_GLX_ARB_CREATE_CONTEXT_PROFILE)\n#define REGAL_NO_NAMESPACE_GLX_ARB_CREATE_CONTEXT_PROFILE\n#endif\n\n#if (defined(GLX_ARB_CREATE_CONTEXT_PROFILE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_ARB_CREATE_CONTEXT_PROFILE)) && !defined(REGAL_NO_PLUGIN_GLX_ARB_CREATE_CONTEXT_PROFILE)\n#define REGAL_NO_PLUGIN_GLX_ARB_CREATE_CONTEXT_PROFILE\n#endif\n\n#if (defined(GLX_ARB_CREATE_CONTEXT_PROFILE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_ARB_CREATE_CONTEXT_PROFILE)) && !defined(REGAL_NO_DECLARATION_GLX_ARB_CREATE_CONTEXT_PROFILE)\n#define REGAL_NO_DECLARATION_GLX_ARB_CREATE_CONTEXT_PROFILE\n#endif\n\n#ifndef GLX_ARB_create_context_profile\n#define GLX_ARB_create_context_profile 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_ARB_CREATE_CONTEXT_PROFILE\n#define GLX_CONTEXT_CORE_PROFILE_BIT_ARB          0x1\n#define GLX_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB 0x2\n#define GLX_CONTEXT_PROFILE_MASK_ARB              0x9126     /* 37158 */\n#endif\n\n/**\n ** GLX_ARB_create_context_robustness\n **/\n\n#if (defined(GLX_ARB_CREATE_CONTEXT_ROBUSTNESS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_ARB_CREATE_CONTEXT_ROBUSTNESS)) && !defined(REGAL_NO_ENUM_GLX_ARB_CREATE_CONTEXT_ROBUSTNESS)\n#define REGAL_NO_ENUM_GLX_ARB_CREATE_CONTEXT_ROBUSTNESS\n#endif\n\n#if (defined(GLX_ARB_CREATE_CONTEXT_ROBUSTNESS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_ARB_CREATE_CONTEXT_ROBUSTNESS)) && !defined(REGAL_NO_TYPEDEF_GLX_ARB_CREATE_CONTEXT_ROBUSTNESS)\n#define REGAL_NO_TYPEDEF_GLX_ARB_CREATE_CONTEXT_ROBUSTNESS\n#endif\n\n#if (defined(GLX_ARB_CREATE_CONTEXT_ROBUSTNESS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_ARB_CREATE_CONTEXT_ROBUSTNESS)) && !defined(REGAL_NO_NAMESPACE_GLX_ARB_CREATE_CONTEXT_ROBUSTNESS)\n#define REGAL_NO_NAMESPACE_GLX_ARB_CREATE_CONTEXT_ROBUSTNESS\n#endif\n\n#if (defined(GLX_ARB_CREATE_CONTEXT_ROBUSTNESS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_ARB_CREATE_CONTEXT_ROBUSTNESS)) && !defined(REGAL_NO_PLUGIN_GLX_ARB_CREATE_CONTEXT_ROBUSTNESS)\n#define REGAL_NO_PLUGIN_GLX_ARB_CREATE_CONTEXT_ROBUSTNESS\n#endif\n\n#if (defined(GLX_ARB_CREATE_CONTEXT_ROBUSTNESS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_ARB_CREATE_CONTEXT_ROBUSTNESS)) && !defined(REGAL_NO_DECLARATION_GLX_ARB_CREATE_CONTEXT_ROBUSTNESS)\n#define REGAL_NO_DECLARATION_GLX_ARB_CREATE_CONTEXT_ROBUSTNESS\n#endif\n\n#ifndef GLX_ARB_create_context_robustness\n#define GLX_ARB_create_context_robustness 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_ARB_CREATE_CONTEXT_ROBUSTNESS\n#define GLX_CONTEXT_ROBUST_ACCESS_BIT_ARB           0x4\n#define GLX_LOSE_CONTEXT_ON_RESET_ARB               0x8252     /* 33362 */\n#define GLX_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB 0x8256     /* 33366 */\n#define GLX_NO_RESET_NOTIFICATION_ARB               0x8261     /* 33377 */\n#endif\n\n/**\n ** GLX_ARB_fbconfig_float\n **/\n\n#if (defined(GLX_ARB_FBCONFIG_FLOAT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_ARB_FBCONFIG_FLOAT)) && !defined(REGAL_NO_ENUM_GLX_ARB_FBCONFIG_FLOAT)\n#define REGAL_NO_ENUM_GLX_ARB_FBCONFIG_FLOAT\n#endif\n\n#if (defined(GLX_ARB_FBCONFIG_FLOAT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_ARB_FBCONFIG_FLOAT)) && !defined(REGAL_NO_TYPEDEF_GLX_ARB_FBCONFIG_FLOAT)\n#define REGAL_NO_TYPEDEF_GLX_ARB_FBCONFIG_FLOAT\n#endif\n\n#if (defined(GLX_ARB_FBCONFIG_FLOAT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_ARB_FBCONFIG_FLOAT)) && !defined(REGAL_NO_NAMESPACE_GLX_ARB_FBCONFIG_FLOAT)\n#define REGAL_NO_NAMESPACE_GLX_ARB_FBCONFIG_FLOAT\n#endif\n\n#if (defined(GLX_ARB_FBCONFIG_FLOAT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_ARB_FBCONFIG_FLOAT)) && !defined(REGAL_NO_PLUGIN_GLX_ARB_FBCONFIG_FLOAT)\n#define REGAL_NO_PLUGIN_GLX_ARB_FBCONFIG_FLOAT\n#endif\n\n#if (defined(GLX_ARB_FBCONFIG_FLOAT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_ARB_FBCONFIG_FLOAT)) && !defined(REGAL_NO_DECLARATION_GLX_ARB_FBCONFIG_FLOAT)\n#define REGAL_NO_DECLARATION_GLX_ARB_FBCONFIG_FLOAT\n#endif\n\n#ifndef GLX_ARB_fbconfig_float\n#define GLX_ARB_fbconfig_float 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_ARB_FBCONFIG_FLOAT\n#define GLX_RGBA_FLOAT_TYPE 0x20b9     /* 8377 */\n#define GLX_RGBA_FLOAT_BIT  0x4\n#endif\n\n/**\n ** GLX_ARB_framebuffer_sRGB\n **/\n\n#if (defined(GLX_ARB_FRAMEBUFFER_SRGB) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_ARB_FRAMEBUFFER_SRGB)) && !defined(REGAL_NO_ENUM_GLX_ARB_FRAMEBUFFER_SRGB)\n#define REGAL_NO_ENUM_GLX_ARB_FRAMEBUFFER_SRGB\n#endif\n\n#if (defined(GLX_ARB_FRAMEBUFFER_SRGB) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_ARB_FRAMEBUFFER_SRGB)) && !defined(REGAL_NO_TYPEDEF_GLX_ARB_FRAMEBUFFER_SRGB)\n#define REGAL_NO_TYPEDEF_GLX_ARB_FRAMEBUFFER_SRGB\n#endif\n\n#if (defined(GLX_ARB_FRAMEBUFFER_SRGB) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_ARB_FRAMEBUFFER_SRGB)) && !defined(REGAL_NO_NAMESPACE_GLX_ARB_FRAMEBUFFER_SRGB)\n#define REGAL_NO_NAMESPACE_GLX_ARB_FRAMEBUFFER_SRGB\n#endif\n\n#if (defined(GLX_ARB_FRAMEBUFFER_SRGB) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_ARB_FRAMEBUFFER_SRGB)) && !defined(REGAL_NO_PLUGIN_GLX_ARB_FRAMEBUFFER_SRGB)\n#define REGAL_NO_PLUGIN_GLX_ARB_FRAMEBUFFER_SRGB\n#endif\n\n#if (defined(GLX_ARB_FRAMEBUFFER_SRGB) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_ARB_FRAMEBUFFER_SRGB)) && !defined(REGAL_NO_DECLARATION_GLX_ARB_FRAMEBUFFER_SRGB)\n#define REGAL_NO_DECLARATION_GLX_ARB_FRAMEBUFFER_SRGB\n#endif\n\n#ifndef GLX_ARB_framebuffer_sRGB\n#define GLX_ARB_framebuffer_sRGB 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_ARB_FRAMEBUFFER_SRGB\n#define GLX_FRAMEBUFFER_SRGB_CAPABLE_ARB 0x20b2 /* 8370 */\n#endif\n\n/**\n ** GLX_ARB_get_proc_address\n **/\n\n#if (defined(GLX_ARB_GET_PROC_ADDRESS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_ARB_GET_PROC_ADDRESS)) && !defined(REGAL_NO_ENUM_GLX_ARB_GET_PROC_ADDRESS)\n#define REGAL_NO_ENUM_GLX_ARB_GET_PROC_ADDRESS\n#endif\n\n#if (defined(GLX_ARB_GET_PROC_ADDRESS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_ARB_GET_PROC_ADDRESS)) && !defined(REGAL_NO_TYPEDEF_GLX_ARB_GET_PROC_ADDRESS)\n#define REGAL_NO_TYPEDEF_GLX_ARB_GET_PROC_ADDRESS\n#endif\n\n#if (defined(GLX_ARB_GET_PROC_ADDRESS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_ARB_GET_PROC_ADDRESS)) && !defined(REGAL_NO_NAMESPACE_GLX_ARB_GET_PROC_ADDRESS)\n#define REGAL_NO_NAMESPACE_GLX_ARB_GET_PROC_ADDRESS\n#endif\n\n#if (defined(GLX_ARB_GET_PROC_ADDRESS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_ARB_GET_PROC_ADDRESS)) && !defined(REGAL_NO_PLUGIN_GLX_ARB_GET_PROC_ADDRESS)\n#define REGAL_NO_PLUGIN_GLX_ARB_GET_PROC_ADDRESS\n#endif\n\n#if (defined(GLX_ARB_GET_PROC_ADDRESS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_ARB_GET_PROC_ADDRESS)) && !defined(REGAL_NO_DECLARATION_GLX_ARB_GET_PROC_ADDRESS)\n#define REGAL_NO_DECLARATION_GLX_ARB_GET_PROC_ADDRESS\n#endif\n\n#ifndef GLX_ARB_get_proc_address\n#define GLX_ARB_get_proc_address 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GLX_ARB_GET_PROC_ADDRESS\ntypedef __GLXextFuncPtr (REGAL_CALL *PFNGLXGETPROCADDRESSARBPROC)(const GLubyte *procName);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GLX_ARB_GET_PROC_ADDRESS\n#define glXGetProcAddressARB                rglXGetProcAddressARB\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GLX_ARB_GET_PROC_ADDRESS\nREGAL_DECL __GLXextFuncPtr REGAL_CALL glXGetProcAddressARB(const GLubyte *procName);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GLX_ARB_GET_PROC_ADDRESS\nREGAL_DECL __GLXextFuncPtr REGAL_CALL plugin_glXGetProcAddressARB(const GLubyte *procName);\n#endif\n\n/**\n ** GLX_ARB_multisample\n **/\n\n#if (defined(GLX_ARB_MULTISAMPLE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_ARB_MULTISAMPLE)) && !defined(REGAL_NO_ENUM_GLX_ARB_MULTISAMPLE)\n#define REGAL_NO_ENUM_GLX_ARB_MULTISAMPLE\n#endif\n\n#if (defined(GLX_ARB_MULTISAMPLE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_ARB_MULTISAMPLE)) && !defined(REGAL_NO_TYPEDEF_GLX_ARB_MULTISAMPLE)\n#define REGAL_NO_TYPEDEF_GLX_ARB_MULTISAMPLE\n#endif\n\n#if (defined(GLX_ARB_MULTISAMPLE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_ARB_MULTISAMPLE)) && !defined(REGAL_NO_NAMESPACE_GLX_ARB_MULTISAMPLE)\n#define REGAL_NO_NAMESPACE_GLX_ARB_MULTISAMPLE\n#endif\n\n#if (defined(GLX_ARB_MULTISAMPLE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_ARB_MULTISAMPLE)) && !defined(REGAL_NO_PLUGIN_GLX_ARB_MULTISAMPLE)\n#define REGAL_NO_PLUGIN_GLX_ARB_MULTISAMPLE\n#endif\n\n#if (defined(GLX_ARB_MULTISAMPLE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_ARB_MULTISAMPLE)) && !defined(REGAL_NO_DECLARATION_GLX_ARB_MULTISAMPLE)\n#define REGAL_NO_DECLARATION_GLX_ARB_MULTISAMPLE\n#endif\n\n#ifndef GLX_ARB_multisample\n#define GLX_ARB_multisample 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_ARB_MULTISAMPLE\n#define GLX_SAMPLE_BUFFERS_ARB 0x186a0     /* 100000 */\n#define GLX_SAMPLES_ARB        0x186a1     /* 100001 */\n#endif\n\n/**\n ** GLX_ARB_robustness_share_group_isolation\n **/\n\n#if (defined(GLX_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION)) && !defined(REGAL_NO_ENUM_GLX_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION)\n#define REGAL_NO_ENUM_GLX_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION\n#endif\n\n#if (defined(GLX_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION)) && !defined(REGAL_NO_TYPEDEF_GLX_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION)\n#define REGAL_NO_TYPEDEF_GLX_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION\n#endif\n\n#if (defined(GLX_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION)) && !defined(REGAL_NO_NAMESPACE_GLX_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION)\n#define REGAL_NO_NAMESPACE_GLX_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION\n#endif\n\n#if (defined(GLX_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION)) && !defined(REGAL_NO_PLUGIN_GLX_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION)\n#define REGAL_NO_PLUGIN_GLX_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION\n#endif\n\n#if (defined(GLX_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION)) && !defined(REGAL_NO_DECLARATION_GLX_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION)\n#define REGAL_NO_DECLARATION_GLX_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION\n#endif\n\n#ifndef GLX_ARB_robustness_share_group_isolation\n#define GLX_ARB_robustness_share_group_isolation 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION\n#define GLX_CONTEXT_RESET_ISOLATION_BIT_ARB 0x8\n#endif\n\n/**\n ** GLX_ARB_vertex_buffer_object\n **/\n\n#if (defined(GLX_ARB_VERTEX_BUFFER_OBJECT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_ARB_VERTEX_BUFFER_OBJECT)) && !defined(REGAL_NO_ENUM_GLX_ARB_VERTEX_BUFFER_OBJECT)\n#define REGAL_NO_ENUM_GLX_ARB_VERTEX_BUFFER_OBJECT\n#endif\n\n#if (defined(GLX_ARB_VERTEX_BUFFER_OBJECT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_ARB_VERTEX_BUFFER_OBJECT)) && !defined(REGAL_NO_TYPEDEF_GLX_ARB_VERTEX_BUFFER_OBJECT)\n#define REGAL_NO_TYPEDEF_GLX_ARB_VERTEX_BUFFER_OBJECT\n#endif\n\n#if (defined(GLX_ARB_VERTEX_BUFFER_OBJECT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_ARB_VERTEX_BUFFER_OBJECT)) && !defined(REGAL_NO_NAMESPACE_GLX_ARB_VERTEX_BUFFER_OBJECT)\n#define REGAL_NO_NAMESPACE_GLX_ARB_VERTEX_BUFFER_OBJECT\n#endif\n\n#if (defined(GLX_ARB_VERTEX_BUFFER_OBJECT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_ARB_VERTEX_BUFFER_OBJECT)) && !defined(REGAL_NO_PLUGIN_GLX_ARB_VERTEX_BUFFER_OBJECT)\n#define REGAL_NO_PLUGIN_GLX_ARB_VERTEX_BUFFER_OBJECT\n#endif\n\n#if (defined(GLX_ARB_VERTEX_BUFFER_OBJECT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_ARB_VERTEX_BUFFER_OBJECT)) && !defined(REGAL_NO_DECLARATION_GLX_ARB_VERTEX_BUFFER_OBJECT)\n#define REGAL_NO_DECLARATION_GLX_ARB_VERTEX_BUFFER_OBJECT\n#endif\n\n#ifndef GLX_ARB_vertex_buffer_object\n#define GLX_ARB_vertex_buffer_object 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_ARB_VERTEX_BUFFER_OBJECT\n#define GLX_CONTEXT_ALLOW_BUFFER_BYTE_ORDER_MISMATCH_ARB 0x2095 /* 8341 */\n#endif\n\n/**\n ** GLX_ATI_pixel_format_float\n **/\n\n#if (defined(GLX_ATI_PIXEL_FORMAT_FLOAT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_ATI_PIXEL_FORMAT_FLOAT)) && !defined(REGAL_NO_ENUM_GLX_ATI_PIXEL_FORMAT_FLOAT)\n#define REGAL_NO_ENUM_GLX_ATI_PIXEL_FORMAT_FLOAT\n#endif\n\n#if (defined(GLX_ATI_PIXEL_FORMAT_FLOAT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_ATI_PIXEL_FORMAT_FLOAT)) && !defined(REGAL_NO_TYPEDEF_GLX_ATI_PIXEL_FORMAT_FLOAT)\n#define REGAL_NO_TYPEDEF_GLX_ATI_PIXEL_FORMAT_FLOAT\n#endif\n\n#if (defined(GLX_ATI_PIXEL_FORMAT_FLOAT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_ATI_PIXEL_FORMAT_FLOAT)) && !defined(REGAL_NO_NAMESPACE_GLX_ATI_PIXEL_FORMAT_FLOAT)\n#define REGAL_NO_NAMESPACE_GLX_ATI_PIXEL_FORMAT_FLOAT\n#endif\n\n#if (defined(GLX_ATI_PIXEL_FORMAT_FLOAT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_ATI_PIXEL_FORMAT_FLOAT)) && !defined(REGAL_NO_PLUGIN_GLX_ATI_PIXEL_FORMAT_FLOAT)\n#define REGAL_NO_PLUGIN_GLX_ATI_PIXEL_FORMAT_FLOAT\n#endif\n\n#if (defined(GLX_ATI_PIXEL_FORMAT_FLOAT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_ATI_PIXEL_FORMAT_FLOAT)) && !defined(REGAL_NO_DECLARATION_GLX_ATI_PIXEL_FORMAT_FLOAT)\n#define REGAL_NO_DECLARATION_GLX_ATI_PIXEL_FORMAT_FLOAT\n#endif\n\n#ifndef GLX_ATI_pixel_format_float\n#define GLX_ATI_pixel_format_float 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_ATI_PIXEL_FORMAT_FLOAT\n#define GLX_RGBA_FLOAT_ATI_BIT 0x100 /* 256 */\n#endif\n\n/**\n ** GLX_ATI_render_texture\n **/\n\n#if (defined(GLX_ATI_RENDER_TEXTURE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_ATI_RENDER_TEXTURE)) && !defined(REGAL_NO_ENUM_GLX_ATI_RENDER_TEXTURE)\n#define REGAL_NO_ENUM_GLX_ATI_RENDER_TEXTURE\n#endif\n\n#if (defined(GLX_ATI_RENDER_TEXTURE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_ATI_RENDER_TEXTURE)) && !defined(REGAL_NO_TYPEDEF_GLX_ATI_RENDER_TEXTURE)\n#define REGAL_NO_TYPEDEF_GLX_ATI_RENDER_TEXTURE\n#endif\n\n#if (defined(GLX_ATI_RENDER_TEXTURE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_ATI_RENDER_TEXTURE)) && !defined(REGAL_NO_NAMESPACE_GLX_ATI_RENDER_TEXTURE)\n#define REGAL_NO_NAMESPACE_GLX_ATI_RENDER_TEXTURE\n#endif\n\n#if (defined(GLX_ATI_RENDER_TEXTURE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_ATI_RENDER_TEXTURE)) && !defined(REGAL_NO_PLUGIN_GLX_ATI_RENDER_TEXTURE)\n#define REGAL_NO_PLUGIN_GLX_ATI_RENDER_TEXTURE\n#endif\n\n#if (defined(GLX_ATI_RENDER_TEXTURE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_ATI_RENDER_TEXTURE)) && !defined(REGAL_NO_DECLARATION_GLX_ATI_RENDER_TEXTURE)\n#define REGAL_NO_DECLARATION_GLX_ATI_RENDER_TEXTURE\n#endif\n\n#ifndef GLX_ATI_render_texture\n#define GLX_ATI_render_texture 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_ATI_RENDER_TEXTURE\n#define GLX_BIND_TO_TEXTURE_RGB_ATI         0x9800     /* 38912 */\n#define GLX_BIND_TO_TEXTURE_RGBA_ATI        0x9801     /* 38913 */\n#define GLX_TEXTURE_FORMAT_ATI              0x9802     /* 38914 */\n#define GLX_TEXTURE_TARGET_ATI              0x9803     /* 38915 */\n#define GLX_MIPMAP_TEXTURE_ATI              0x9804     /* 38916 */\n#define GLX_TEXTURE_RGB_ATI                 0x9805     /* 38917 */\n#define GLX_TEXTURE_RGBA_ATI                0x9806     /* 38918 */\n#define GLX_NO_TEXTURE_ATI                  0x9807     /* 38919 */\n#define GLX_TEXTURE_CUBE_MAP_ATI            0x9808     /* 38920 */\n#define GLX_TEXTURE_1D_ATI                  0x9809     /* 38921 */\n#define GLX_TEXTURE_2D_ATI                  0x980a     /* 38922 */\n#define GLX_MIPMAP_LEVEL_ATI                0x980b     /* 38923 */\n#define GLX_CUBE_MAP_FACE_ATI               0x980c     /* 38924 */\n#define GLX_TEXTURE_CUBE_MAP_POSITIVE_X_ATI 0x980d     /* 38925 */\n#define GLX_TEXTURE_CUBE_MAP_NEGATIVE_X_ATI 0x980e     /* 38926 */\n#define GLX_TEXTURE_CUBE_MAP_POSITIVE_Y_ATI 0x980f     /* 38927 */\n#define GLX_TEXTURE_CUBE_MAP_NEGATIVE_Y_ATI 0x9810     /* 38928 */\n#define GLX_TEXTURE_CUBE_MAP_POSITIVE_Z_ATI 0x9811     /* 38929 */\n#define GLX_TEXTURE_CUBE_MAP_NEGATIVE_Z_ATI 0x9812     /* 38930 */\n#define GLX_FRONT_LEFT_ATI                  0x9813     /* 38931 */\n#define GLX_FRONT_RIGHT_ATI                 0x9814     /* 38932 */\n#define GLX_BACK_LEFT_ATI                   0x9815     /* 38933 */\n#define GLX_BACK_RIGHT_ATI                  0x9816     /* 38934 */\n#define GLX_AUX0_ATI                        0x9817     /* 38935 */\n#define GLX_AUX1_ATI                        0x9818     /* 38936 */\n#define GLX_AUX2_ATI                        0x9819     /* 38937 */\n#define GLX_AUX3_ATI                        0x981a     /* 38938 */\n#define GLX_AUX4_ATI                        0x981b     /* 38939 */\n#define GLX_AUX5_ATI                        0x981c     /* 38940 */\n#define GLX_AUX6_ATI                        0x981d     /* 38941 */\n#define GLX_AUX7_ATI                        0x981e     /* 38942 */\n#define GLX_AUX8_ATI                        0x981f     /* 38943 */\n#define GLX_AUX9_ATI                        0x9820     /* 38944 */\n#define GLX_BIND_TO_TEXTURE_LUMINANCE_ATI   0x9821     /* 38945 */\n#define GLX_BIND_TO_TEXTURE_INTENSITY_ATI   0x9822     /* 38946 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GLX_ATI_RENDER_TEXTURE\ntypedef void (REGAL_CALL *PFNGLXBINDTEXIMAGEATIPROC)(Display *dpy, GLXPbuffer pbuf, int buffer);\ntypedef void (REGAL_CALL *PFNGLXDRAWABLEATTRIBATIPROC)(Display *dpy, GLXDrawable draw, const int *attrib_list);\ntypedef void (REGAL_CALL *PFNGLXRELEASETEXIMAGEATIPROC)(Display *dpy, GLXPbuffer pbuf, int buffer);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GLX_ATI_RENDER_TEXTURE\n#define glXBindTexImageATI                  rglXBindTexImageATI\n#define glXDrawableAttribATI                rglXDrawableAttribATI\n#define glXReleaseTexImageATI               rglXReleaseTexImageATI\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GLX_ATI_RENDER_TEXTURE\nREGAL_DECL void REGAL_CALL glXBindTexImageATI(Display *dpy, GLXPbuffer pbuf, int buffer);\nREGAL_DECL void REGAL_CALL glXDrawableAttribATI(Display *dpy, GLXDrawable draw, const int *attrib_list);\nREGAL_DECL void REGAL_CALL glXReleaseTexImageATI(Display *dpy, GLXPbuffer pbuf, int buffer);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GLX_ATI_RENDER_TEXTURE\nREGAL_DECL void REGAL_CALL plugin_glXBindTexImageATI(Display *dpy, GLXPbuffer pbuf, int buffer);\nREGAL_DECL void REGAL_CALL plugin_glXDrawableAttribATI(Display *dpy, GLXDrawable draw, const int *attrib_list);\nREGAL_DECL void REGAL_CALL plugin_glXReleaseTexImageATI(Display *dpy, GLXPbuffer pbuf, int buffer);\n#endif\n\n/**\n ** GLX_EXT_create_context_es2_profile\n **/\n\n#if (defined(GLX_EXT_CREATE_CONTEXT_ES2_PROFILE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_EXT_CREATE_CONTEXT_ES2_PROFILE)) && !defined(REGAL_NO_ENUM_GLX_EXT_CREATE_CONTEXT_ES2_PROFILE)\n#define REGAL_NO_ENUM_GLX_EXT_CREATE_CONTEXT_ES2_PROFILE\n#endif\n\n#if (defined(GLX_EXT_CREATE_CONTEXT_ES2_PROFILE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_EXT_CREATE_CONTEXT_ES2_PROFILE)) && !defined(REGAL_NO_TYPEDEF_GLX_EXT_CREATE_CONTEXT_ES2_PROFILE)\n#define REGAL_NO_TYPEDEF_GLX_EXT_CREATE_CONTEXT_ES2_PROFILE\n#endif\n\n#if (defined(GLX_EXT_CREATE_CONTEXT_ES2_PROFILE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_EXT_CREATE_CONTEXT_ES2_PROFILE)) && !defined(REGAL_NO_NAMESPACE_GLX_EXT_CREATE_CONTEXT_ES2_PROFILE)\n#define REGAL_NO_NAMESPACE_GLX_EXT_CREATE_CONTEXT_ES2_PROFILE\n#endif\n\n#if (defined(GLX_EXT_CREATE_CONTEXT_ES2_PROFILE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_EXT_CREATE_CONTEXT_ES2_PROFILE)) && !defined(REGAL_NO_PLUGIN_GLX_EXT_CREATE_CONTEXT_ES2_PROFILE)\n#define REGAL_NO_PLUGIN_GLX_EXT_CREATE_CONTEXT_ES2_PROFILE\n#endif\n\n#if (defined(GLX_EXT_CREATE_CONTEXT_ES2_PROFILE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_EXT_CREATE_CONTEXT_ES2_PROFILE)) && !defined(REGAL_NO_DECLARATION_GLX_EXT_CREATE_CONTEXT_ES2_PROFILE)\n#define REGAL_NO_DECLARATION_GLX_EXT_CREATE_CONTEXT_ES2_PROFILE\n#endif\n\n#ifndef GLX_EXT_create_context_es2_profile\n#define GLX_EXT_create_context_es2_profile 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_EXT_CREATE_CONTEXT_ES2_PROFILE\n#define GLX_CONTEXT_ES2_PROFILE_BIT_EXT 0x4\n#endif\n\n/**\n ** GLX_EXT_create_context_es_profile\n **/\n\n#if (defined(GLX_EXT_CREATE_CONTEXT_ES_PROFILE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_EXT_CREATE_CONTEXT_ES_PROFILE)) && !defined(REGAL_NO_ENUM_GLX_EXT_CREATE_CONTEXT_ES_PROFILE)\n#define REGAL_NO_ENUM_GLX_EXT_CREATE_CONTEXT_ES_PROFILE\n#endif\n\n#if (defined(GLX_EXT_CREATE_CONTEXT_ES_PROFILE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_EXT_CREATE_CONTEXT_ES_PROFILE)) && !defined(REGAL_NO_TYPEDEF_GLX_EXT_CREATE_CONTEXT_ES_PROFILE)\n#define REGAL_NO_TYPEDEF_GLX_EXT_CREATE_CONTEXT_ES_PROFILE\n#endif\n\n#if (defined(GLX_EXT_CREATE_CONTEXT_ES_PROFILE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_EXT_CREATE_CONTEXT_ES_PROFILE)) && !defined(REGAL_NO_NAMESPACE_GLX_EXT_CREATE_CONTEXT_ES_PROFILE)\n#define REGAL_NO_NAMESPACE_GLX_EXT_CREATE_CONTEXT_ES_PROFILE\n#endif\n\n#if (defined(GLX_EXT_CREATE_CONTEXT_ES_PROFILE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_EXT_CREATE_CONTEXT_ES_PROFILE)) && !defined(REGAL_NO_PLUGIN_GLX_EXT_CREATE_CONTEXT_ES_PROFILE)\n#define REGAL_NO_PLUGIN_GLX_EXT_CREATE_CONTEXT_ES_PROFILE\n#endif\n\n#if (defined(GLX_EXT_CREATE_CONTEXT_ES_PROFILE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_EXT_CREATE_CONTEXT_ES_PROFILE)) && !defined(REGAL_NO_DECLARATION_GLX_EXT_CREATE_CONTEXT_ES_PROFILE)\n#define REGAL_NO_DECLARATION_GLX_EXT_CREATE_CONTEXT_ES_PROFILE\n#endif\n\n#ifndef GLX_EXT_create_context_es_profile\n#define GLX_EXT_create_context_es_profile 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_EXT_CREATE_CONTEXT_ES_PROFILE\n#define GLX_CONTEXT_ES_PROFILE_BIT_EXT 0x4\n#endif\n\n/**\n ** GLX_EXT_fbconfig_packed_float\n **/\n\n#if (defined(GLX_EXT_FBCONFIG_PACKED_FLOAT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_EXT_FBCONFIG_PACKED_FLOAT)) && !defined(REGAL_NO_ENUM_GLX_EXT_FBCONFIG_PACKED_FLOAT)\n#define REGAL_NO_ENUM_GLX_EXT_FBCONFIG_PACKED_FLOAT\n#endif\n\n#if (defined(GLX_EXT_FBCONFIG_PACKED_FLOAT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_EXT_FBCONFIG_PACKED_FLOAT)) && !defined(REGAL_NO_TYPEDEF_GLX_EXT_FBCONFIG_PACKED_FLOAT)\n#define REGAL_NO_TYPEDEF_GLX_EXT_FBCONFIG_PACKED_FLOAT\n#endif\n\n#if (defined(GLX_EXT_FBCONFIG_PACKED_FLOAT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_EXT_FBCONFIG_PACKED_FLOAT)) && !defined(REGAL_NO_NAMESPACE_GLX_EXT_FBCONFIG_PACKED_FLOAT)\n#define REGAL_NO_NAMESPACE_GLX_EXT_FBCONFIG_PACKED_FLOAT\n#endif\n\n#if (defined(GLX_EXT_FBCONFIG_PACKED_FLOAT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_EXT_FBCONFIG_PACKED_FLOAT)) && !defined(REGAL_NO_PLUGIN_GLX_EXT_FBCONFIG_PACKED_FLOAT)\n#define REGAL_NO_PLUGIN_GLX_EXT_FBCONFIG_PACKED_FLOAT\n#endif\n\n#if (defined(GLX_EXT_FBCONFIG_PACKED_FLOAT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_EXT_FBCONFIG_PACKED_FLOAT)) && !defined(REGAL_NO_DECLARATION_GLX_EXT_FBCONFIG_PACKED_FLOAT)\n#define REGAL_NO_DECLARATION_GLX_EXT_FBCONFIG_PACKED_FLOAT\n#endif\n\n#ifndef GLX_EXT_fbconfig_packed_float\n#define GLX_EXT_fbconfig_packed_float 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_EXT_FBCONFIG_PACKED_FLOAT\n#define GLX_RGBA_UNSIGNED_FLOAT_TYPE_EXT 0x20b1     /* 8369 */\n#define GLX_RGBA_UNSIGNED_FLOAT_BIT_EXT  0x8\n#endif\n\n/**\n ** GLX_EXT_framebuffer_sRGB\n **/\n\n#if (defined(GLX_EXT_FRAMEBUFFER_SRGB) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_EXT_FRAMEBUFFER_SRGB)) && !defined(REGAL_NO_ENUM_GLX_EXT_FRAMEBUFFER_SRGB)\n#define REGAL_NO_ENUM_GLX_EXT_FRAMEBUFFER_SRGB\n#endif\n\n#if (defined(GLX_EXT_FRAMEBUFFER_SRGB) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_EXT_FRAMEBUFFER_SRGB)) && !defined(REGAL_NO_TYPEDEF_GLX_EXT_FRAMEBUFFER_SRGB)\n#define REGAL_NO_TYPEDEF_GLX_EXT_FRAMEBUFFER_SRGB\n#endif\n\n#if (defined(GLX_EXT_FRAMEBUFFER_SRGB) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_EXT_FRAMEBUFFER_SRGB)) && !defined(REGAL_NO_NAMESPACE_GLX_EXT_FRAMEBUFFER_SRGB)\n#define REGAL_NO_NAMESPACE_GLX_EXT_FRAMEBUFFER_SRGB\n#endif\n\n#if (defined(GLX_EXT_FRAMEBUFFER_SRGB) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_EXT_FRAMEBUFFER_SRGB)) && !defined(REGAL_NO_PLUGIN_GLX_EXT_FRAMEBUFFER_SRGB)\n#define REGAL_NO_PLUGIN_GLX_EXT_FRAMEBUFFER_SRGB\n#endif\n\n#if (defined(GLX_EXT_FRAMEBUFFER_SRGB) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_EXT_FRAMEBUFFER_SRGB)) && !defined(REGAL_NO_DECLARATION_GLX_EXT_FRAMEBUFFER_SRGB)\n#define REGAL_NO_DECLARATION_GLX_EXT_FRAMEBUFFER_SRGB\n#endif\n\n#ifndef GLX_EXT_framebuffer_sRGB\n#define GLX_EXT_framebuffer_sRGB 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_EXT_FRAMEBUFFER_SRGB\n#define GLX_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x20b2 /* 8370 */\n#endif\n\n/**\n ** GLX_EXT_import_context\n **/\n\n#if (defined(GLX_EXT_IMPORT_CONTEXT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_EXT_IMPORT_CONTEXT)) && !defined(REGAL_NO_ENUM_GLX_EXT_IMPORT_CONTEXT)\n#define REGAL_NO_ENUM_GLX_EXT_IMPORT_CONTEXT\n#endif\n\n#if (defined(GLX_EXT_IMPORT_CONTEXT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_EXT_IMPORT_CONTEXT)) && !defined(REGAL_NO_TYPEDEF_GLX_EXT_IMPORT_CONTEXT)\n#define REGAL_NO_TYPEDEF_GLX_EXT_IMPORT_CONTEXT\n#endif\n\n#if (defined(GLX_EXT_IMPORT_CONTEXT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_EXT_IMPORT_CONTEXT)) && !defined(REGAL_NO_NAMESPACE_GLX_EXT_IMPORT_CONTEXT)\n#define REGAL_NO_NAMESPACE_GLX_EXT_IMPORT_CONTEXT\n#endif\n\n#if (defined(GLX_EXT_IMPORT_CONTEXT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_EXT_IMPORT_CONTEXT)) && !defined(REGAL_NO_PLUGIN_GLX_EXT_IMPORT_CONTEXT)\n#define REGAL_NO_PLUGIN_GLX_EXT_IMPORT_CONTEXT\n#endif\n\n#if (defined(GLX_EXT_IMPORT_CONTEXT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_EXT_IMPORT_CONTEXT)) && !defined(REGAL_NO_DECLARATION_GLX_EXT_IMPORT_CONTEXT)\n#define REGAL_NO_DECLARATION_GLX_EXT_IMPORT_CONTEXT\n#endif\n\n#ifndef GLX_EXT_import_context\n#define GLX_EXT_import_context 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_EXT_IMPORT_CONTEXT\n#define GLX_SHARE_CONTEXT_EXT 0x800a     /* 32778 */\n#define GLX_VISUAL_ID_EXT     0x800b     /* 32779 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GLX_EXT_IMPORT_CONTEXT\ntypedef GLXContext (REGAL_CALL *PFNGLXIMPORTCONTEXTEXTPROC)(Display *dpy, GLXContextID contextID);\ntypedef GLXContextID (REGAL_CALL *PFNGLXGETCONTEXTIDEXTPROC)(const GLXContext context);\ntypedef int (REGAL_CALL *PFNGLXQUERYCONTEXTINFOEXTPROC)(Display *dpy, GLXContext context, int attribute, int *value);\ntypedef void (REGAL_CALL *PFNGLXFREECONTEXTEXTPROC)(Display *dpy, GLXContext context);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GLX_EXT_IMPORT_CONTEXT\n#define glXFreeContextEXT                   rglXFreeContextEXT\n#define glXGetContextIDEXT                  rglXGetContextIDEXT\n#define glXImportContextEXT                 rglXImportContextEXT\n#define glXQueryContextInfoEXT              rglXQueryContextInfoEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GLX_EXT_IMPORT_CONTEXT\nREGAL_DECL GLXContext REGAL_CALL glXImportContextEXT(Display *dpy, GLXContextID contextID);\nREGAL_DECL GLXContextID REGAL_CALL glXGetContextIDEXT(const GLXContext context);\nREGAL_DECL int REGAL_CALL glXQueryContextInfoEXT(Display *dpy, GLXContext context, int attribute, int *value);\nREGAL_DECL void REGAL_CALL glXFreeContextEXT(Display *dpy, GLXContext context);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GLX_EXT_IMPORT_CONTEXT\nREGAL_DECL GLXContext REGAL_CALL plugin_glXImportContextEXT(Display *dpy, GLXContextID contextID);\nREGAL_DECL GLXContextID REGAL_CALL plugin_glXGetContextIDEXT(const GLXContext context);\nREGAL_DECL int REGAL_CALL plugin_glXQueryContextInfoEXT(Display *dpy, GLXContext context, int attribute, int *value);\nREGAL_DECL void REGAL_CALL plugin_glXFreeContextEXT(Display *dpy, GLXContext context);\n#endif\n\n/**\n ** GLX_EXT_swap_control\n **/\n\n#if (defined(GLX_EXT_SWAP_CONTROL) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_EXT_SWAP_CONTROL)) && !defined(REGAL_NO_ENUM_GLX_EXT_SWAP_CONTROL)\n#define REGAL_NO_ENUM_GLX_EXT_SWAP_CONTROL\n#endif\n\n#if (defined(GLX_EXT_SWAP_CONTROL) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_EXT_SWAP_CONTROL)) && !defined(REGAL_NO_TYPEDEF_GLX_EXT_SWAP_CONTROL)\n#define REGAL_NO_TYPEDEF_GLX_EXT_SWAP_CONTROL\n#endif\n\n#if (defined(GLX_EXT_SWAP_CONTROL) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_EXT_SWAP_CONTROL)) && !defined(REGAL_NO_NAMESPACE_GLX_EXT_SWAP_CONTROL)\n#define REGAL_NO_NAMESPACE_GLX_EXT_SWAP_CONTROL\n#endif\n\n#if (defined(GLX_EXT_SWAP_CONTROL) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_EXT_SWAP_CONTROL)) && !defined(REGAL_NO_PLUGIN_GLX_EXT_SWAP_CONTROL)\n#define REGAL_NO_PLUGIN_GLX_EXT_SWAP_CONTROL\n#endif\n\n#if (defined(GLX_EXT_SWAP_CONTROL) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_EXT_SWAP_CONTROL)) && !defined(REGAL_NO_DECLARATION_GLX_EXT_SWAP_CONTROL)\n#define REGAL_NO_DECLARATION_GLX_EXT_SWAP_CONTROL\n#endif\n\n#ifndef GLX_EXT_swap_control\n#define GLX_EXT_swap_control 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_EXT_SWAP_CONTROL\n#define GLX_SWAP_INTERVAL_EXT     0x20f1     /* 8433 */\n#define GLX_MAX_SWAP_INTERVAL_EXT 0x20f2     /* 8434 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GLX_EXT_SWAP_CONTROL\ntypedef void (REGAL_CALL *PFNGLXSWAPINTERVALEXTPROC)(Display *dpy, GLXDrawable drawable, int interval);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GLX_EXT_SWAP_CONTROL\n#define glXSwapIntervalEXT                  rglXSwapIntervalEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GLX_EXT_SWAP_CONTROL\nREGAL_DECL void REGAL_CALL glXSwapIntervalEXT(Display *dpy, GLXDrawable drawable, int interval);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GLX_EXT_SWAP_CONTROL\nREGAL_DECL void REGAL_CALL plugin_glXSwapIntervalEXT(Display *dpy, GLXDrawable drawable, int interval);\n#endif\n\n/**\n ** GLX_EXT_swap_control_tear\n **/\n\n#if (defined(GLX_EXT_SWAP_CONTROL_TEAR) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_EXT_SWAP_CONTROL_TEAR)) && !defined(REGAL_NO_ENUM_GLX_EXT_SWAP_CONTROL_TEAR)\n#define REGAL_NO_ENUM_GLX_EXT_SWAP_CONTROL_TEAR\n#endif\n\n#if (defined(GLX_EXT_SWAP_CONTROL_TEAR) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_EXT_SWAP_CONTROL_TEAR)) && !defined(REGAL_NO_TYPEDEF_GLX_EXT_SWAP_CONTROL_TEAR)\n#define REGAL_NO_TYPEDEF_GLX_EXT_SWAP_CONTROL_TEAR\n#endif\n\n#if (defined(GLX_EXT_SWAP_CONTROL_TEAR) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_EXT_SWAP_CONTROL_TEAR)) && !defined(REGAL_NO_NAMESPACE_GLX_EXT_SWAP_CONTROL_TEAR)\n#define REGAL_NO_NAMESPACE_GLX_EXT_SWAP_CONTROL_TEAR\n#endif\n\n#if (defined(GLX_EXT_SWAP_CONTROL_TEAR) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_EXT_SWAP_CONTROL_TEAR)) && !defined(REGAL_NO_PLUGIN_GLX_EXT_SWAP_CONTROL_TEAR)\n#define REGAL_NO_PLUGIN_GLX_EXT_SWAP_CONTROL_TEAR\n#endif\n\n#if (defined(GLX_EXT_SWAP_CONTROL_TEAR) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_EXT_SWAP_CONTROL_TEAR)) && !defined(REGAL_NO_DECLARATION_GLX_EXT_SWAP_CONTROL_TEAR)\n#define REGAL_NO_DECLARATION_GLX_EXT_SWAP_CONTROL_TEAR\n#endif\n\n#ifndef GLX_EXT_swap_control_tear\n#define GLX_EXT_swap_control_tear 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_EXT_SWAP_CONTROL_TEAR\n#define GLX_LATE_SWAPS_TEAR_EXT 0x20f3 /* 8435 */\n#endif\n\n/**\n ** GLX_EXT_texture_from_pixmap\n **/\n\n#if (defined(GLX_EXT_TEXTURE_FROM_PIXMAP) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_EXT_TEXTURE_FROM_PIXMAP)) && !defined(REGAL_NO_ENUM_GLX_EXT_TEXTURE_FROM_PIXMAP)\n#define REGAL_NO_ENUM_GLX_EXT_TEXTURE_FROM_PIXMAP\n#endif\n\n#if (defined(GLX_EXT_TEXTURE_FROM_PIXMAP) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_EXT_TEXTURE_FROM_PIXMAP)) && !defined(REGAL_NO_TYPEDEF_GLX_EXT_TEXTURE_FROM_PIXMAP)\n#define REGAL_NO_TYPEDEF_GLX_EXT_TEXTURE_FROM_PIXMAP\n#endif\n\n#if (defined(GLX_EXT_TEXTURE_FROM_PIXMAP) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_EXT_TEXTURE_FROM_PIXMAP)) && !defined(REGAL_NO_NAMESPACE_GLX_EXT_TEXTURE_FROM_PIXMAP)\n#define REGAL_NO_NAMESPACE_GLX_EXT_TEXTURE_FROM_PIXMAP\n#endif\n\n#if (defined(GLX_EXT_TEXTURE_FROM_PIXMAP) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_EXT_TEXTURE_FROM_PIXMAP)) && !defined(REGAL_NO_PLUGIN_GLX_EXT_TEXTURE_FROM_PIXMAP)\n#define REGAL_NO_PLUGIN_GLX_EXT_TEXTURE_FROM_PIXMAP\n#endif\n\n#if (defined(GLX_EXT_TEXTURE_FROM_PIXMAP) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_EXT_TEXTURE_FROM_PIXMAP)) && !defined(REGAL_NO_DECLARATION_GLX_EXT_TEXTURE_FROM_PIXMAP)\n#define REGAL_NO_DECLARATION_GLX_EXT_TEXTURE_FROM_PIXMAP\n#endif\n\n#ifndef GLX_EXT_texture_from_pixmap\n#define GLX_EXT_texture_from_pixmap 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_EXT_TEXTURE_FROM_PIXMAP\n#define GLX_TEXTURE_1D_BIT_EXT          0x1\n#define GLX_TEXTURE_2D_BIT_EXT          0x2\n#define GLX_BIND_TO_TEXTURE_RGB_EXT     0x20d0     /* 8400 */\n#define GLX_BIND_TO_TEXTURE_RGBA_EXT    0x20d1     /* 8401 */\n#define GLX_BIND_TO_MIPMAP_TEXTURE_EXT  0x20d2     /* 8402 */\n#define GLX_BIND_TO_TEXTURE_TARGETS_EXT 0x20d3     /* 8403 */\n#define GLX_Y_INVERTED_EXT              0x20d4     /* 8404 */\n#define GLX_TEXTURE_FORMAT_EXT          0x20d5     /* 8405 */\n#define GLX_TEXTURE_TARGET_EXT          0x20d6     /* 8406 */\n#define GLX_MIPMAP_TEXTURE_EXT          0x20d7     /* 8407 */\n#define GLX_TEXTURE_FORMAT_NONE_EXT     0x20d8     /* 8408 */\n#define GLX_TEXTURE_FORMAT_RGB_EXT      0x20d9     /* 8409 */\n#define GLX_TEXTURE_FORMAT_RGBA_EXT     0x20da     /* 8410 */\n#define GLX_TEXTURE_1D_EXT              0x20db     /* 8411 */\n#define GLX_TEXTURE_2D_EXT              0x20dc     /* 8412 */\n#define GLX_TEXTURE_RECTANGLE_EXT       0x20dd     /* 8413 */\n#define GLX_FRONT_LEFT_EXT              0x20de     /* 8414 */\n#define GLX_FRONT_RIGHT_EXT             0x20df     /* 8415 */\n#define GLX_BACK_LEFT_EXT               0x20e0     /* 8416 */\n#define GLX_BACK_RIGHT_EXT              0x20e1     /* 8417 */\n#define GLX_AUX0_EXT                    0x20e2     /* 8418 */\n#define GLX_AUX1_EXT                    0x20e3     /* 8419 */\n#define GLX_AUX2_EXT                    0x20e4     /* 8420 */\n#define GLX_AUX3_EXT                    0x20e5     /* 8421 */\n#define GLX_AUX4_EXT                    0x20e6     /* 8422 */\n#define GLX_AUX5_EXT                    0x20e7     /* 8423 */\n#define GLX_AUX6_EXT                    0x20e8     /* 8424 */\n#define GLX_AUX7_EXT                    0x20e9     /* 8425 */\n#define GLX_AUX8_EXT                    0x20ea     /* 8426 */\n#define GLX_AUX9_EXT                    0x20eb     /* 8427 */\n#define GLX_TEXTURE_RECTANGLE_BIT_EXT   0x4\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GLX_EXT_TEXTURE_FROM_PIXMAP\ntypedef void (REGAL_CALL *PFNGLXBINDTEXIMAGEEXTPROC)(Display *display, GLXDrawable drawable, int buffer, const int *attrib_list);\ntypedef void (REGAL_CALL *PFNGLXRELEASETEXIMAGEEXTPROC)(Display *display, GLXDrawable drawable, int buffer);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GLX_EXT_TEXTURE_FROM_PIXMAP\n#define glXBindTexImageEXT                  rglXBindTexImageEXT\n#define glXReleaseTexImageEXT               rglXReleaseTexImageEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GLX_EXT_TEXTURE_FROM_PIXMAP\nREGAL_DECL void REGAL_CALL glXBindTexImageEXT(Display *display, GLXDrawable drawable, int buffer, const int *attrib_list);\nREGAL_DECL void REGAL_CALL glXReleaseTexImageEXT(Display *display, GLXDrawable drawable, int buffer);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GLX_EXT_TEXTURE_FROM_PIXMAP\nREGAL_DECL void REGAL_CALL plugin_glXBindTexImageEXT(Display *display, GLXDrawable drawable, int buffer, const int *attrib_list);\nREGAL_DECL void REGAL_CALL plugin_glXReleaseTexImageEXT(Display *display, GLXDrawable drawable, int buffer);\n#endif\n\n/**\n ** GLX_EXT_visual_info\n **/\n\n#if (defined(GLX_EXT_VISUAL_INFO) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_EXT_VISUAL_INFO)) && !defined(REGAL_NO_ENUM_GLX_EXT_VISUAL_INFO)\n#define REGAL_NO_ENUM_GLX_EXT_VISUAL_INFO\n#endif\n\n#if (defined(GLX_EXT_VISUAL_INFO) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_EXT_VISUAL_INFO)) && !defined(REGAL_NO_TYPEDEF_GLX_EXT_VISUAL_INFO)\n#define REGAL_NO_TYPEDEF_GLX_EXT_VISUAL_INFO\n#endif\n\n#if (defined(GLX_EXT_VISUAL_INFO) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_EXT_VISUAL_INFO)) && !defined(REGAL_NO_NAMESPACE_GLX_EXT_VISUAL_INFO)\n#define REGAL_NO_NAMESPACE_GLX_EXT_VISUAL_INFO\n#endif\n\n#if (defined(GLX_EXT_VISUAL_INFO) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_EXT_VISUAL_INFO)) && !defined(REGAL_NO_PLUGIN_GLX_EXT_VISUAL_INFO)\n#define REGAL_NO_PLUGIN_GLX_EXT_VISUAL_INFO\n#endif\n\n#if (defined(GLX_EXT_VISUAL_INFO) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_EXT_VISUAL_INFO)) && !defined(REGAL_NO_DECLARATION_GLX_EXT_VISUAL_INFO)\n#define REGAL_NO_DECLARATION_GLX_EXT_VISUAL_INFO\n#endif\n\n#ifndef GLX_EXT_visual_info\n#define GLX_EXT_visual_info 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_EXT_VISUAL_INFO\n#define GLX_X_VISUAL_TYPE_EXT           0x22       /* 34 */\n#define GLX_TRANSPARENT_TYPE_EXT        0x23       /* 35 */\n#define GLX_TRANSPARENT_INDEX_VALUE_EXT 0x24       /* 36 */\n#define GLX_TRANSPARENT_RED_VALUE_EXT   0x25       /* 37 */\n#define GLX_TRANSPARENT_GREEN_VALUE_EXT 0x26       /* 38 */\n#define GLX_TRANSPARENT_BLUE_VALUE_EXT  0x27       /* 39 */\n#define GLX_TRANSPARENT_ALPHA_VALUE_EXT 0x28       /* 40 */\n#define GLX_NONE_EXT                    0x8000     /* 32768 */\n#define GLX_TRUE_COLOR_EXT              0x8002     /* 32770 */\n#define GLX_DIRECT_COLOR_EXT            0x8003     /* 32771 */\n#define GLX_PSEUDO_COLOR_EXT            0x8004     /* 32772 */\n#define GLX_STATIC_COLOR_EXT            0x8005     /* 32773 */\n#define GLX_GRAY_SCALE_EXT              0x8006     /* 32774 */\n#define GLX_STATIC_GRAY_EXT             0x8007     /* 32775 */\n#define GLX_TRANSPARENT_RGB_EXT         0x8008     /* 32776 */\n#define GLX_TRANSPARENT_INDEX_EXT       0x8009     /* 32777 */\n#endif\n\n/**\n ** GLX_EXT_visual_rating\n **/\n\n#if (defined(GLX_EXT_VISUAL_RATING) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_EXT_VISUAL_RATING)) && !defined(REGAL_NO_ENUM_GLX_EXT_VISUAL_RATING)\n#define REGAL_NO_ENUM_GLX_EXT_VISUAL_RATING\n#endif\n\n#if (defined(GLX_EXT_VISUAL_RATING) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_EXT_VISUAL_RATING)) && !defined(REGAL_NO_TYPEDEF_GLX_EXT_VISUAL_RATING)\n#define REGAL_NO_TYPEDEF_GLX_EXT_VISUAL_RATING\n#endif\n\n#if (defined(GLX_EXT_VISUAL_RATING) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_EXT_VISUAL_RATING)) && !defined(REGAL_NO_NAMESPACE_GLX_EXT_VISUAL_RATING)\n#define REGAL_NO_NAMESPACE_GLX_EXT_VISUAL_RATING\n#endif\n\n#if (defined(GLX_EXT_VISUAL_RATING) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_EXT_VISUAL_RATING)) && !defined(REGAL_NO_PLUGIN_GLX_EXT_VISUAL_RATING)\n#define REGAL_NO_PLUGIN_GLX_EXT_VISUAL_RATING\n#endif\n\n#if (defined(GLX_EXT_VISUAL_RATING) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_EXT_VISUAL_RATING)) && !defined(REGAL_NO_DECLARATION_GLX_EXT_VISUAL_RATING)\n#define REGAL_NO_DECLARATION_GLX_EXT_VISUAL_RATING\n#endif\n\n#ifndef GLX_EXT_visual_rating\n#define GLX_EXT_visual_rating 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_EXT_VISUAL_RATING\n#define GLX_VISUAL_CAVEAT_EXT         0x20       /* 32 */\n#define GLX_SLOW_VISUAL_EXT           0x8001     /* 32769 */\n#define GLX_NON_CONFORMANT_VISUAL_EXT 0x800d     /* 32781 */\n#endif\n\n/**\n ** GLX_INTEL_swap_event\n **/\n\n#if (defined(GLX_INTEL_SWAP_EVENT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_INTEL_SWAP_EVENT)) && !defined(REGAL_NO_ENUM_GLX_INTEL_SWAP_EVENT)\n#define REGAL_NO_ENUM_GLX_INTEL_SWAP_EVENT\n#endif\n\n#if (defined(GLX_INTEL_SWAP_EVENT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_INTEL_SWAP_EVENT)) && !defined(REGAL_NO_TYPEDEF_GLX_INTEL_SWAP_EVENT)\n#define REGAL_NO_TYPEDEF_GLX_INTEL_SWAP_EVENT\n#endif\n\n#if (defined(GLX_INTEL_SWAP_EVENT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_INTEL_SWAP_EVENT)) && !defined(REGAL_NO_NAMESPACE_GLX_INTEL_SWAP_EVENT)\n#define REGAL_NO_NAMESPACE_GLX_INTEL_SWAP_EVENT\n#endif\n\n#if (defined(GLX_INTEL_SWAP_EVENT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_INTEL_SWAP_EVENT)) && !defined(REGAL_NO_PLUGIN_GLX_INTEL_SWAP_EVENT)\n#define REGAL_NO_PLUGIN_GLX_INTEL_SWAP_EVENT\n#endif\n\n#if (defined(GLX_INTEL_SWAP_EVENT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_INTEL_SWAP_EVENT)) && !defined(REGAL_NO_DECLARATION_GLX_INTEL_SWAP_EVENT)\n#define REGAL_NO_DECLARATION_GLX_INTEL_SWAP_EVENT\n#endif\n\n#ifndef GLX_INTEL_swap_event\n#define GLX_INTEL_swap_event 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_INTEL_SWAP_EVENT\n#define GLX_BUFFER_SWAP_COMPLETE_INTEL_MASK 0x4000000     /* 67108864 */\n#define GLX_EXCHANGE_COMPLETE_INTEL         0x8180        /* 33152 */\n#define GLX_COPY_COMPLETE_INTEL             0x8181        /* 33153 */\n#define GLX_FLIP_COMPLETE_INTEL             0x8182        /* 33154 */\n#endif\n\n/**\n ** GLX_MESA_agp_offset\n **/\n\n#if (defined(GLX_MESA_AGP_OFFSET) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_MESA_AGP_OFFSET)) && !defined(REGAL_NO_ENUM_GLX_MESA_AGP_OFFSET)\n#define REGAL_NO_ENUM_GLX_MESA_AGP_OFFSET\n#endif\n\n#if (defined(GLX_MESA_AGP_OFFSET) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_MESA_AGP_OFFSET)) && !defined(REGAL_NO_TYPEDEF_GLX_MESA_AGP_OFFSET)\n#define REGAL_NO_TYPEDEF_GLX_MESA_AGP_OFFSET\n#endif\n\n#if (defined(GLX_MESA_AGP_OFFSET) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_MESA_AGP_OFFSET)) && !defined(REGAL_NO_NAMESPACE_GLX_MESA_AGP_OFFSET)\n#define REGAL_NO_NAMESPACE_GLX_MESA_AGP_OFFSET\n#endif\n\n#if (defined(GLX_MESA_AGP_OFFSET) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_MESA_AGP_OFFSET)) && !defined(REGAL_NO_PLUGIN_GLX_MESA_AGP_OFFSET)\n#define REGAL_NO_PLUGIN_GLX_MESA_AGP_OFFSET\n#endif\n\n#if (defined(GLX_MESA_AGP_OFFSET) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_MESA_AGP_OFFSET)) && !defined(REGAL_NO_DECLARATION_GLX_MESA_AGP_OFFSET)\n#define REGAL_NO_DECLARATION_GLX_MESA_AGP_OFFSET\n#endif\n\n#ifndef GLX_MESA_agp_offset\n#define GLX_MESA_agp_offset 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GLX_MESA_AGP_OFFSET\ntypedef unsigned int (REGAL_CALL *PFNGLXGETAGPOFFSETMESAPROC)(const void *pointer);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GLX_MESA_AGP_OFFSET\n#define glXGetAGPOffsetMESA                 rglXGetAGPOffsetMESA\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GLX_MESA_AGP_OFFSET\nREGAL_DECL unsigned int REGAL_CALL glXGetAGPOffsetMESA(const void *pointer);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GLX_MESA_AGP_OFFSET\nREGAL_DECL unsigned int REGAL_CALL plugin_glXGetAGPOffsetMESA(const void *pointer);\n#endif\n\n/**\n ** GLX_MESA_copy_sub_buffer\n **/\n\n#if (defined(GLX_MESA_COPY_SUB_BUFFER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_MESA_COPY_SUB_BUFFER)) && !defined(REGAL_NO_ENUM_GLX_MESA_COPY_SUB_BUFFER)\n#define REGAL_NO_ENUM_GLX_MESA_COPY_SUB_BUFFER\n#endif\n\n#if (defined(GLX_MESA_COPY_SUB_BUFFER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_MESA_COPY_SUB_BUFFER)) && !defined(REGAL_NO_TYPEDEF_GLX_MESA_COPY_SUB_BUFFER)\n#define REGAL_NO_TYPEDEF_GLX_MESA_COPY_SUB_BUFFER\n#endif\n\n#if (defined(GLX_MESA_COPY_SUB_BUFFER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_MESA_COPY_SUB_BUFFER)) && !defined(REGAL_NO_NAMESPACE_GLX_MESA_COPY_SUB_BUFFER)\n#define REGAL_NO_NAMESPACE_GLX_MESA_COPY_SUB_BUFFER\n#endif\n\n#if (defined(GLX_MESA_COPY_SUB_BUFFER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_MESA_COPY_SUB_BUFFER)) && !defined(REGAL_NO_PLUGIN_GLX_MESA_COPY_SUB_BUFFER)\n#define REGAL_NO_PLUGIN_GLX_MESA_COPY_SUB_BUFFER\n#endif\n\n#if (defined(GLX_MESA_COPY_SUB_BUFFER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_MESA_COPY_SUB_BUFFER)) && !defined(REGAL_NO_DECLARATION_GLX_MESA_COPY_SUB_BUFFER)\n#define REGAL_NO_DECLARATION_GLX_MESA_COPY_SUB_BUFFER\n#endif\n\n#ifndef GLX_MESA_copy_sub_buffer\n#define GLX_MESA_copy_sub_buffer 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GLX_MESA_COPY_SUB_BUFFER\ntypedef void (REGAL_CALL *PFNGLXCOPYSUBBUFFERMESAPROC)(Display *dpy, GLXDrawable drawable, int x, int y, int width, int height);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GLX_MESA_COPY_SUB_BUFFER\n#define glXCopySubBufferMESA                rglXCopySubBufferMESA\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GLX_MESA_COPY_SUB_BUFFER\nREGAL_DECL void REGAL_CALL glXCopySubBufferMESA(Display *dpy, GLXDrawable drawable, int x, int y, int width, int height);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GLX_MESA_COPY_SUB_BUFFER\nREGAL_DECL void REGAL_CALL plugin_glXCopySubBufferMESA(Display *dpy, GLXDrawable drawable, int x, int y, int width, int height);\n#endif\n\n/**\n ** GLX_MESA_pixmap_colormap\n **/\n\n#if (defined(GLX_MESA_PIXMAP_COLORMAP) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_MESA_PIXMAP_COLORMAP)) && !defined(REGAL_NO_ENUM_GLX_MESA_PIXMAP_COLORMAP)\n#define REGAL_NO_ENUM_GLX_MESA_PIXMAP_COLORMAP\n#endif\n\n#if (defined(GLX_MESA_PIXMAP_COLORMAP) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_MESA_PIXMAP_COLORMAP)) && !defined(REGAL_NO_TYPEDEF_GLX_MESA_PIXMAP_COLORMAP)\n#define REGAL_NO_TYPEDEF_GLX_MESA_PIXMAP_COLORMAP\n#endif\n\n#if (defined(GLX_MESA_PIXMAP_COLORMAP) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_MESA_PIXMAP_COLORMAP)) && !defined(REGAL_NO_NAMESPACE_GLX_MESA_PIXMAP_COLORMAP)\n#define REGAL_NO_NAMESPACE_GLX_MESA_PIXMAP_COLORMAP\n#endif\n\n#if (defined(GLX_MESA_PIXMAP_COLORMAP) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_MESA_PIXMAP_COLORMAP)) && !defined(REGAL_NO_PLUGIN_GLX_MESA_PIXMAP_COLORMAP)\n#define REGAL_NO_PLUGIN_GLX_MESA_PIXMAP_COLORMAP\n#endif\n\n#if (defined(GLX_MESA_PIXMAP_COLORMAP) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_MESA_PIXMAP_COLORMAP)) && !defined(REGAL_NO_DECLARATION_GLX_MESA_PIXMAP_COLORMAP)\n#define REGAL_NO_DECLARATION_GLX_MESA_PIXMAP_COLORMAP\n#endif\n\n#ifndef GLX_MESA_pixmap_colormap\n#define GLX_MESA_pixmap_colormap 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GLX_MESA_PIXMAP_COLORMAP\ntypedef GLXPixmap (REGAL_CALL *PFNGLXCREATEGLXPIXMAPMESAPROC)(Display *dpy, XVisualInfo *visual, Pixmap pixmap, Colormap cmap);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GLX_MESA_PIXMAP_COLORMAP\n#define glXCreateGLXPixmapMESA              rglXCreateGLXPixmapMESA\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GLX_MESA_PIXMAP_COLORMAP\nREGAL_DECL GLXPixmap REGAL_CALL glXCreateGLXPixmapMESA(Display *dpy, XVisualInfo *visual, Pixmap pixmap, Colormap cmap);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GLX_MESA_PIXMAP_COLORMAP\nREGAL_DECL GLXPixmap REGAL_CALL plugin_glXCreateGLXPixmapMESA(Display *dpy, XVisualInfo *visual, Pixmap pixmap, Colormap cmap);\n#endif\n\n/**\n ** GLX_MESA_release_buffers\n **/\n\n#if (defined(GLX_MESA_RELEASE_BUFFERS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_MESA_RELEASE_BUFFERS)) && !defined(REGAL_NO_ENUM_GLX_MESA_RELEASE_BUFFERS)\n#define REGAL_NO_ENUM_GLX_MESA_RELEASE_BUFFERS\n#endif\n\n#if (defined(GLX_MESA_RELEASE_BUFFERS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_MESA_RELEASE_BUFFERS)) && !defined(REGAL_NO_TYPEDEF_GLX_MESA_RELEASE_BUFFERS)\n#define REGAL_NO_TYPEDEF_GLX_MESA_RELEASE_BUFFERS\n#endif\n\n#if (defined(GLX_MESA_RELEASE_BUFFERS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_MESA_RELEASE_BUFFERS)) && !defined(REGAL_NO_NAMESPACE_GLX_MESA_RELEASE_BUFFERS)\n#define REGAL_NO_NAMESPACE_GLX_MESA_RELEASE_BUFFERS\n#endif\n\n#if (defined(GLX_MESA_RELEASE_BUFFERS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_MESA_RELEASE_BUFFERS)) && !defined(REGAL_NO_PLUGIN_GLX_MESA_RELEASE_BUFFERS)\n#define REGAL_NO_PLUGIN_GLX_MESA_RELEASE_BUFFERS\n#endif\n\n#if (defined(GLX_MESA_RELEASE_BUFFERS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_MESA_RELEASE_BUFFERS)) && !defined(REGAL_NO_DECLARATION_GLX_MESA_RELEASE_BUFFERS)\n#define REGAL_NO_DECLARATION_GLX_MESA_RELEASE_BUFFERS\n#endif\n\n#ifndef GLX_MESA_release_buffers\n#define GLX_MESA_release_buffers 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GLX_MESA_RELEASE_BUFFERS\ntypedef Bool (REGAL_CALL *PFNGLXRELEASEBUFFERSMESAPROC)(Display *dpy, GLXDrawable d);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GLX_MESA_RELEASE_BUFFERS\n#define glXReleaseBuffersMESA               rglXReleaseBuffersMESA\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GLX_MESA_RELEASE_BUFFERS\nREGAL_DECL Bool REGAL_CALL glXReleaseBuffersMESA(Display *dpy, GLXDrawable d);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GLX_MESA_RELEASE_BUFFERS\nREGAL_DECL Bool REGAL_CALL plugin_glXReleaseBuffersMESA(Display *dpy, GLXDrawable d);\n#endif\n\n/**\n ** GLX_MESA_set_3dfx_mode\n **/\n\n#if (defined(GLX_MESA_SET_3DFX_MODE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_MESA_SET_3DFX_MODE)) && !defined(REGAL_NO_ENUM_GLX_MESA_SET_3DFX_MODE)\n#define REGAL_NO_ENUM_GLX_MESA_SET_3DFX_MODE\n#endif\n\n#if (defined(GLX_MESA_SET_3DFX_MODE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_MESA_SET_3DFX_MODE)) && !defined(REGAL_NO_TYPEDEF_GLX_MESA_SET_3DFX_MODE)\n#define REGAL_NO_TYPEDEF_GLX_MESA_SET_3DFX_MODE\n#endif\n\n#if (defined(GLX_MESA_SET_3DFX_MODE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_MESA_SET_3DFX_MODE)) && !defined(REGAL_NO_NAMESPACE_GLX_MESA_SET_3DFX_MODE)\n#define REGAL_NO_NAMESPACE_GLX_MESA_SET_3DFX_MODE\n#endif\n\n#if (defined(GLX_MESA_SET_3DFX_MODE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_MESA_SET_3DFX_MODE)) && !defined(REGAL_NO_PLUGIN_GLX_MESA_SET_3DFX_MODE)\n#define REGAL_NO_PLUGIN_GLX_MESA_SET_3DFX_MODE\n#endif\n\n#if (defined(GLX_MESA_SET_3DFX_MODE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_MESA_SET_3DFX_MODE)) && !defined(REGAL_NO_DECLARATION_GLX_MESA_SET_3DFX_MODE)\n#define REGAL_NO_DECLARATION_GLX_MESA_SET_3DFX_MODE\n#endif\n\n#ifndef GLX_MESA_set_3dfx_mode\n#define GLX_MESA_set_3dfx_mode 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_MESA_SET_3DFX_MODE\n#define GLX_3DFX_WINDOW_MODE_MESA     0x1\n#define GLX_3DFX_FULLSCREEN_MODE_MESA 0x2\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GLX_MESA_SET_3DFX_MODE\ntypedef GLboolean (REGAL_CALL *PFNGLXSET3DFXMODEMESAPROC)(GLint mode);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GLX_MESA_SET_3DFX_MODE\n#define glXSet3DfxModeMESA                  rglXSet3DfxModeMESA\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GLX_MESA_SET_3DFX_MODE\nREGAL_DECL GLboolean REGAL_CALL glXSet3DfxModeMESA(GLint mode);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GLX_MESA_SET_3DFX_MODE\nREGAL_DECL GLboolean REGAL_CALL plugin_glXSet3DfxModeMESA(GLint mode);\n#endif\n\n/**\n ** GLX_MESA_swap_control\n **/\n\n#if (defined(GLX_MESA_SWAP_CONTROL) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_MESA_SWAP_CONTROL)) && !defined(REGAL_NO_ENUM_GLX_MESA_SWAP_CONTROL)\n#define REGAL_NO_ENUM_GLX_MESA_SWAP_CONTROL\n#endif\n\n#if (defined(GLX_MESA_SWAP_CONTROL) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_MESA_SWAP_CONTROL)) && !defined(REGAL_NO_TYPEDEF_GLX_MESA_SWAP_CONTROL)\n#define REGAL_NO_TYPEDEF_GLX_MESA_SWAP_CONTROL\n#endif\n\n#if (defined(GLX_MESA_SWAP_CONTROL) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_MESA_SWAP_CONTROL)) && !defined(REGAL_NO_NAMESPACE_GLX_MESA_SWAP_CONTROL)\n#define REGAL_NO_NAMESPACE_GLX_MESA_SWAP_CONTROL\n#endif\n\n#if (defined(GLX_MESA_SWAP_CONTROL) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_MESA_SWAP_CONTROL)) && !defined(REGAL_NO_PLUGIN_GLX_MESA_SWAP_CONTROL)\n#define REGAL_NO_PLUGIN_GLX_MESA_SWAP_CONTROL\n#endif\n\n#if (defined(GLX_MESA_SWAP_CONTROL) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_MESA_SWAP_CONTROL)) && !defined(REGAL_NO_DECLARATION_GLX_MESA_SWAP_CONTROL)\n#define REGAL_NO_DECLARATION_GLX_MESA_SWAP_CONTROL\n#endif\n\n#ifndef GLX_MESA_swap_control\n#define GLX_MESA_swap_control 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GLX_MESA_SWAP_CONTROL\ntypedef int (REGAL_CALL *PFNGLXGETSWAPINTERVALMESAPROC)(void);\ntypedef int (REGAL_CALL *PFNGLXSWAPINTERVALMESAPROC)(unsigned int interval);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GLX_MESA_SWAP_CONTROL\n#define glXGetSwapIntervalMESA              rglXGetSwapIntervalMESA\n#define glXSwapIntervalMESA                 rglXSwapIntervalMESA\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GLX_MESA_SWAP_CONTROL\nREGAL_DECL int REGAL_CALL glXGetSwapIntervalMESA(void);\nREGAL_DECL int REGAL_CALL glXSwapIntervalMESA(unsigned int interval);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GLX_MESA_SWAP_CONTROL\nREGAL_DECL int REGAL_CALL plugin_glXGetSwapIntervalMESA(void);\nREGAL_DECL int REGAL_CALL plugin_glXSwapIntervalMESA(unsigned int interval);\n#endif\n\n/**\n ** GLX_NV_copy_image\n **/\n\n#if (defined(GLX_NV_COPY_IMAGE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_NV_COPY_IMAGE)) && !defined(REGAL_NO_ENUM_GLX_NV_COPY_IMAGE)\n#define REGAL_NO_ENUM_GLX_NV_COPY_IMAGE\n#endif\n\n#if (defined(GLX_NV_COPY_IMAGE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_NV_COPY_IMAGE)) && !defined(REGAL_NO_TYPEDEF_GLX_NV_COPY_IMAGE)\n#define REGAL_NO_TYPEDEF_GLX_NV_COPY_IMAGE\n#endif\n\n#if (defined(GLX_NV_COPY_IMAGE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_NV_COPY_IMAGE)) && !defined(REGAL_NO_NAMESPACE_GLX_NV_COPY_IMAGE)\n#define REGAL_NO_NAMESPACE_GLX_NV_COPY_IMAGE\n#endif\n\n#if (defined(GLX_NV_COPY_IMAGE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_NV_COPY_IMAGE)) && !defined(REGAL_NO_PLUGIN_GLX_NV_COPY_IMAGE)\n#define REGAL_NO_PLUGIN_GLX_NV_COPY_IMAGE\n#endif\n\n#if (defined(GLX_NV_COPY_IMAGE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_NV_COPY_IMAGE)) && !defined(REGAL_NO_DECLARATION_GLX_NV_COPY_IMAGE)\n#define REGAL_NO_DECLARATION_GLX_NV_COPY_IMAGE\n#endif\n\n#ifndef GLX_NV_copy_image\n#define GLX_NV_copy_image 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GLX_NV_COPY_IMAGE\ntypedef void (REGAL_CALL *PFNGLXCOPYIMAGESUBDATANVPROC)(Display *dpy, GLXContext srcCtx, GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLXContext dstCtx, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GLX_NV_COPY_IMAGE\n#define glXCopyImageSubDataNV               rglXCopyImageSubDataNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GLX_NV_COPY_IMAGE\nREGAL_DECL void REGAL_CALL glXCopyImageSubDataNV(Display *dpy, GLXContext srcCtx, GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLXContext dstCtx, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GLX_NV_COPY_IMAGE\nREGAL_DECL void REGAL_CALL plugin_glXCopyImageSubDataNV(Display *dpy, GLXContext srcCtx, GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLXContext dstCtx, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth);\n#endif\n\n/**\n ** GLX_NV_float_buffer\n **/\n\n#if (defined(GLX_NV_FLOAT_BUFFER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_NV_FLOAT_BUFFER)) && !defined(REGAL_NO_ENUM_GLX_NV_FLOAT_BUFFER)\n#define REGAL_NO_ENUM_GLX_NV_FLOAT_BUFFER\n#endif\n\n#if (defined(GLX_NV_FLOAT_BUFFER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_NV_FLOAT_BUFFER)) && !defined(REGAL_NO_TYPEDEF_GLX_NV_FLOAT_BUFFER)\n#define REGAL_NO_TYPEDEF_GLX_NV_FLOAT_BUFFER\n#endif\n\n#if (defined(GLX_NV_FLOAT_BUFFER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_NV_FLOAT_BUFFER)) && !defined(REGAL_NO_NAMESPACE_GLX_NV_FLOAT_BUFFER)\n#define REGAL_NO_NAMESPACE_GLX_NV_FLOAT_BUFFER\n#endif\n\n#if (defined(GLX_NV_FLOAT_BUFFER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_NV_FLOAT_BUFFER)) && !defined(REGAL_NO_PLUGIN_GLX_NV_FLOAT_BUFFER)\n#define REGAL_NO_PLUGIN_GLX_NV_FLOAT_BUFFER\n#endif\n\n#if (defined(GLX_NV_FLOAT_BUFFER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_NV_FLOAT_BUFFER)) && !defined(REGAL_NO_DECLARATION_GLX_NV_FLOAT_BUFFER)\n#define REGAL_NO_DECLARATION_GLX_NV_FLOAT_BUFFER\n#endif\n\n#ifndef GLX_NV_float_buffer\n#define GLX_NV_float_buffer 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_NV_FLOAT_BUFFER\n#define GLX_FLOAT_COMPONENTS_NV 0x20b0 /* 8368 */\n#endif\n\n/**\n ** GLX_NV_multisample_coverage\n **/\n\n#if (defined(GLX_NV_MULTISAMPLE_COVERAGE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_NV_MULTISAMPLE_COVERAGE)) && !defined(REGAL_NO_ENUM_GLX_NV_MULTISAMPLE_COVERAGE)\n#define REGAL_NO_ENUM_GLX_NV_MULTISAMPLE_COVERAGE\n#endif\n\n#if (defined(GLX_NV_MULTISAMPLE_COVERAGE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_NV_MULTISAMPLE_COVERAGE)) && !defined(REGAL_NO_TYPEDEF_GLX_NV_MULTISAMPLE_COVERAGE)\n#define REGAL_NO_TYPEDEF_GLX_NV_MULTISAMPLE_COVERAGE\n#endif\n\n#if (defined(GLX_NV_MULTISAMPLE_COVERAGE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_NV_MULTISAMPLE_COVERAGE)) && !defined(REGAL_NO_NAMESPACE_GLX_NV_MULTISAMPLE_COVERAGE)\n#define REGAL_NO_NAMESPACE_GLX_NV_MULTISAMPLE_COVERAGE\n#endif\n\n#if (defined(GLX_NV_MULTISAMPLE_COVERAGE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_NV_MULTISAMPLE_COVERAGE)) && !defined(REGAL_NO_PLUGIN_GLX_NV_MULTISAMPLE_COVERAGE)\n#define REGAL_NO_PLUGIN_GLX_NV_MULTISAMPLE_COVERAGE\n#endif\n\n#if (defined(GLX_NV_MULTISAMPLE_COVERAGE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_NV_MULTISAMPLE_COVERAGE)) && !defined(REGAL_NO_DECLARATION_GLX_NV_MULTISAMPLE_COVERAGE)\n#define REGAL_NO_DECLARATION_GLX_NV_MULTISAMPLE_COVERAGE\n#endif\n\n#ifndef GLX_NV_multisample_coverage\n#define GLX_NV_multisample_coverage 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_NV_MULTISAMPLE_COVERAGE\n#define GLX_COVERAGE_SAMPLES_NV 0x186a1     /* 100001 */\n#define GLX_COLOR_SAMPLES_NV    0x20b3      /* 8371 */\n#endif\n\n/**\n ** GLX_NV_present_video\n **/\n\n#if (defined(GLX_NV_PRESENT_VIDEO) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_NV_PRESENT_VIDEO)) && !defined(REGAL_NO_ENUM_GLX_NV_PRESENT_VIDEO)\n#define REGAL_NO_ENUM_GLX_NV_PRESENT_VIDEO\n#endif\n\n#if (defined(GLX_NV_PRESENT_VIDEO) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_NV_PRESENT_VIDEO)) && !defined(REGAL_NO_TYPEDEF_GLX_NV_PRESENT_VIDEO)\n#define REGAL_NO_TYPEDEF_GLX_NV_PRESENT_VIDEO\n#endif\n\n#if (defined(GLX_NV_PRESENT_VIDEO) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_NV_PRESENT_VIDEO)) && !defined(REGAL_NO_NAMESPACE_GLX_NV_PRESENT_VIDEO)\n#define REGAL_NO_NAMESPACE_GLX_NV_PRESENT_VIDEO\n#endif\n\n#if (defined(GLX_NV_PRESENT_VIDEO) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_NV_PRESENT_VIDEO)) && !defined(REGAL_NO_PLUGIN_GLX_NV_PRESENT_VIDEO)\n#define REGAL_NO_PLUGIN_GLX_NV_PRESENT_VIDEO\n#endif\n\n#if (defined(GLX_NV_PRESENT_VIDEO) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_NV_PRESENT_VIDEO)) && !defined(REGAL_NO_DECLARATION_GLX_NV_PRESENT_VIDEO)\n#define REGAL_NO_DECLARATION_GLX_NV_PRESENT_VIDEO\n#endif\n\n#ifndef GLX_NV_present_video\n#define GLX_NV_present_video 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_NV_PRESENT_VIDEO\n#define GLX_NUM_VIDEO_SLOTS_NV 0x20f0 /* 8432 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GLX_NV_PRESENT_VIDEO\ntypedef int (REGAL_CALL *PFNGLXBINDVIDEODEVICENVPROC)(Display *dpy, unsigned int video_slot, unsigned int video_device, const int *attrib_list);\ntypedef unsigned int *(REGAL_CALL *PFNGLXENUMERATEVIDEODEVICESNVPROC)(Display *dpy, int screen, int *nelements);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GLX_NV_PRESENT_VIDEO\n#define glXBindVideoDeviceNV                rglXBindVideoDeviceNV\n#define glXEnumerateVideoDevicesNV          rglXEnumerateVideoDevicesNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GLX_NV_PRESENT_VIDEO\nREGAL_DECL int REGAL_CALL glXBindVideoDeviceNV(Display *dpy, unsigned int video_slot, unsigned int video_device, const int *attrib_list);\nREGAL_DECL unsigned int *REGAL_CALL glXEnumerateVideoDevicesNV(Display *dpy, int screen, int *nelements);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GLX_NV_PRESENT_VIDEO\nREGAL_DECL int REGAL_CALL plugin_glXBindVideoDeviceNV(Display *dpy, unsigned int video_slot, unsigned int video_device, const int *attrib_list);\nREGAL_DECL unsigned int *REGAL_CALL plugin_glXEnumerateVideoDevicesNV(Display *dpy, int screen, int *nelements);\n#endif\n\n/**\n ** GLX_NV_swap_group\n **/\n\n#if (defined(GLX_NV_SWAP_GROUP) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_NV_SWAP_GROUP)) && !defined(REGAL_NO_ENUM_GLX_NV_SWAP_GROUP)\n#define REGAL_NO_ENUM_GLX_NV_SWAP_GROUP\n#endif\n\n#if (defined(GLX_NV_SWAP_GROUP) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_NV_SWAP_GROUP)) && !defined(REGAL_NO_TYPEDEF_GLX_NV_SWAP_GROUP)\n#define REGAL_NO_TYPEDEF_GLX_NV_SWAP_GROUP\n#endif\n\n#if (defined(GLX_NV_SWAP_GROUP) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_NV_SWAP_GROUP)) && !defined(REGAL_NO_NAMESPACE_GLX_NV_SWAP_GROUP)\n#define REGAL_NO_NAMESPACE_GLX_NV_SWAP_GROUP\n#endif\n\n#if (defined(GLX_NV_SWAP_GROUP) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_NV_SWAP_GROUP)) && !defined(REGAL_NO_PLUGIN_GLX_NV_SWAP_GROUP)\n#define REGAL_NO_PLUGIN_GLX_NV_SWAP_GROUP\n#endif\n\n#if (defined(GLX_NV_SWAP_GROUP) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_NV_SWAP_GROUP)) && !defined(REGAL_NO_DECLARATION_GLX_NV_SWAP_GROUP)\n#define REGAL_NO_DECLARATION_GLX_NV_SWAP_GROUP\n#endif\n\n#ifndef GLX_NV_swap_group\n#define GLX_NV_swap_group 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GLX_NV_SWAP_GROUP\ntypedef Bool (REGAL_CALL *PFNGLXBINDSWAPBARRIERNVPROC)(Display *dpy, GLuint group, GLuint barrier);\ntypedef Bool (REGAL_CALL *PFNGLXJOINSWAPGROUPNVPROC)(Display *dpy, GLXDrawable drawable, GLuint group);\ntypedef Bool (REGAL_CALL *PFNGLXQUERYFRAMECOUNTNVPROC)(Display *dpy, int screen, GLuint *count);\ntypedef Bool (REGAL_CALL *PFNGLXQUERYMAXSWAPGROUPSNVPROC)(Display *dpy, int screen, GLuint *maxGroups, GLuint *maxBarriers);\ntypedef Bool (REGAL_CALL *PFNGLXQUERYSWAPGROUPNVPROC)(Display *dpy, GLXDrawable drawable, GLuint *group, GLuint *barrier);\ntypedef Bool (REGAL_CALL *PFNGLXRESETFRAMECOUNTNVPROC)(Display *dpy, int screen);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GLX_NV_SWAP_GROUP\n#define glXBindSwapBarrierNV                rglXBindSwapBarrierNV\n#define glXJoinSwapGroupNV                  rglXJoinSwapGroupNV\n#define glXQueryFrameCountNV                rglXQueryFrameCountNV\n#define glXQueryMaxSwapGroupsNV             rglXQueryMaxSwapGroupsNV\n#define glXQuerySwapGroupNV                 rglXQuerySwapGroupNV\n#define glXResetFrameCountNV                rglXResetFrameCountNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GLX_NV_SWAP_GROUP\nREGAL_DECL Bool REGAL_CALL glXBindSwapBarrierNV(Display *dpy, GLuint group, GLuint barrier);\nREGAL_DECL Bool REGAL_CALL glXJoinSwapGroupNV(Display *dpy, GLXDrawable drawable, GLuint group);\nREGAL_DECL Bool REGAL_CALL glXQueryFrameCountNV(Display *dpy, int screen, GLuint *count);\nREGAL_DECL Bool REGAL_CALL glXQueryMaxSwapGroupsNV(Display *dpy, int screen, GLuint *maxGroups, GLuint *maxBarriers);\nREGAL_DECL Bool REGAL_CALL glXQuerySwapGroupNV(Display *dpy, GLXDrawable drawable, GLuint *group, GLuint *barrier);\nREGAL_DECL Bool REGAL_CALL glXResetFrameCountNV(Display *dpy, int screen);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GLX_NV_SWAP_GROUP\nREGAL_DECL Bool REGAL_CALL plugin_glXBindSwapBarrierNV(Display *dpy, GLuint group, GLuint barrier);\nREGAL_DECL Bool REGAL_CALL plugin_glXJoinSwapGroupNV(Display *dpy, GLXDrawable drawable, GLuint group);\nREGAL_DECL Bool REGAL_CALL plugin_glXQueryFrameCountNV(Display *dpy, int screen, GLuint *count);\nREGAL_DECL Bool REGAL_CALL plugin_glXQueryMaxSwapGroupsNV(Display *dpy, int screen, GLuint *maxGroups, GLuint *maxBarriers);\nREGAL_DECL Bool REGAL_CALL plugin_glXQuerySwapGroupNV(Display *dpy, GLXDrawable drawable, GLuint *group, GLuint *barrier);\nREGAL_DECL Bool REGAL_CALL plugin_glXResetFrameCountNV(Display *dpy, int screen);\n#endif\n\n/**\n ** GLX_NV_vertex_array_range\n **/\n\n#if (defined(GLX_NV_VERTEX_ARRAY_RANGE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_NV_VERTEX_ARRAY_RANGE)) && !defined(REGAL_NO_ENUM_GLX_NV_VERTEX_ARRAY_RANGE)\n#define REGAL_NO_ENUM_GLX_NV_VERTEX_ARRAY_RANGE\n#endif\n\n#if (defined(GLX_NV_VERTEX_ARRAY_RANGE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_NV_VERTEX_ARRAY_RANGE)) && !defined(REGAL_NO_TYPEDEF_GLX_NV_VERTEX_ARRAY_RANGE)\n#define REGAL_NO_TYPEDEF_GLX_NV_VERTEX_ARRAY_RANGE\n#endif\n\n#if (defined(GLX_NV_VERTEX_ARRAY_RANGE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_NV_VERTEX_ARRAY_RANGE)) && !defined(REGAL_NO_NAMESPACE_GLX_NV_VERTEX_ARRAY_RANGE)\n#define REGAL_NO_NAMESPACE_GLX_NV_VERTEX_ARRAY_RANGE\n#endif\n\n#if (defined(GLX_NV_VERTEX_ARRAY_RANGE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_NV_VERTEX_ARRAY_RANGE)) && !defined(REGAL_NO_PLUGIN_GLX_NV_VERTEX_ARRAY_RANGE)\n#define REGAL_NO_PLUGIN_GLX_NV_VERTEX_ARRAY_RANGE\n#endif\n\n#if (defined(GLX_NV_VERTEX_ARRAY_RANGE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_NV_VERTEX_ARRAY_RANGE)) && !defined(REGAL_NO_DECLARATION_GLX_NV_VERTEX_ARRAY_RANGE)\n#define REGAL_NO_DECLARATION_GLX_NV_VERTEX_ARRAY_RANGE\n#endif\n\n#ifndef GLX_NV_vertex_array_range\n#define GLX_NV_vertex_array_range 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GLX_NV_VERTEX_ARRAY_RANGE\ntypedef void (REGAL_CALL *PFNGLXFREEMEMORYNVPROC)(void *pointer);\ntypedef void *(REGAL_CALL *PFNGLXALLOCATEMEMORYNVPROC)(GLsizei size, GLfloat readFrequency, GLfloat writeFrequency, GLfloat priority);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GLX_NV_VERTEX_ARRAY_RANGE\n#define glXAllocateMemoryNV                 rglXAllocateMemoryNV\n#define glXFreeMemoryNV                     rglXFreeMemoryNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GLX_NV_VERTEX_ARRAY_RANGE\nREGAL_DECL void *REGAL_CALL glXAllocateMemoryNV(GLsizei size, GLfloat readFrequency, GLfloat writeFrequency, GLfloat priority);\nREGAL_DECL void REGAL_CALL glXFreeMemoryNV(void *pointer);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GLX_NV_VERTEX_ARRAY_RANGE\nREGAL_DECL void *REGAL_CALL plugin_glXAllocateMemoryNV(GLsizei size, GLfloat readFrequency, GLfloat writeFrequency, GLfloat priority);\nREGAL_DECL void REGAL_CALL plugin_glXFreeMemoryNV(void *pointer);\n#endif\n\n/**\n ** GLX_NV_video_capture\n **/\n\n#if (defined(GLX_NV_VIDEO_CAPTURE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_NV_VIDEO_CAPTURE)) && !defined(REGAL_NO_ENUM_GLX_NV_VIDEO_CAPTURE)\n#define REGAL_NO_ENUM_GLX_NV_VIDEO_CAPTURE\n#endif\n\n#if (defined(GLX_NV_VIDEO_CAPTURE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_NV_VIDEO_CAPTURE)) && !defined(REGAL_NO_TYPEDEF_GLX_NV_VIDEO_CAPTURE)\n#define REGAL_NO_TYPEDEF_GLX_NV_VIDEO_CAPTURE\n#endif\n\n#if (defined(GLX_NV_VIDEO_CAPTURE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_NV_VIDEO_CAPTURE)) && !defined(REGAL_NO_NAMESPACE_GLX_NV_VIDEO_CAPTURE)\n#define REGAL_NO_NAMESPACE_GLX_NV_VIDEO_CAPTURE\n#endif\n\n#if (defined(GLX_NV_VIDEO_CAPTURE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_NV_VIDEO_CAPTURE)) && !defined(REGAL_NO_PLUGIN_GLX_NV_VIDEO_CAPTURE)\n#define REGAL_NO_PLUGIN_GLX_NV_VIDEO_CAPTURE\n#endif\n\n#if (defined(GLX_NV_VIDEO_CAPTURE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_NV_VIDEO_CAPTURE)) && !defined(REGAL_NO_DECLARATION_GLX_NV_VIDEO_CAPTURE)\n#define REGAL_NO_DECLARATION_GLX_NV_VIDEO_CAPTURE\n#endif\n\n#ifndef GLX_NV_video_capture\n#define GLX_NV_video_capture 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_NV_VIDEO_CAPTURE\n#define GLX_DEVICE_ID_NV               0x20cd     /* 8397 */\n#define GLX_UNIQUE_ID_NV               0x20ce     /* 8398 */\n#define GLX_NUM_VIDEO_CAPTURE_SLOTS_NV 0x20cf     /* 8399 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GLX_NV_VIDEO_CAPTURE\ntypedef GLXVideoCaptureDeviceNV *(REGAL_CALL *PFNGLXENUMERATEVIDEOCAPTUREDEVICESNVPROC)(Display *dpy, int screen, int *nelements);\ntypedef int (REGAL_CALL *PFNGLXBINDVIDEOCAPTUREDEVICENVPROC)(Display *dpy, unsigned int video_capture_slot, GLXVideoCaptureDeviceNV device);\ntypedef int (REGAL_CALL *PFNGLXQUERYVIDEOCAPTUREDEVICENVPROC)(Display *dpy, GLXVideoCaptureDeviceNV device, int attribute, int *value);\ntypedef void (REGAL_CALL *PFNGLXLOCKVIDEOCAPTUREDEVICENVPROC)(Display *dpy, GLXVideoCaptureDeviceNV device);\ntypedef void (REGAL_CALL *PFNGLXRELEASEVIDEOCAPTUREDEVICENVPROC)(Display *dpy, GLXVideoCaptureDeviceNV device);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GLX_NV_VIDEO_CAPTURE\n#define glXBindVideoCaptureDeviceNV         rglXBindVideoCaptureDeviceNV\n#define glXEnumerateVideoCaptureDevicesNV   rglXEnumerateVideoCaptureDevicesNV\n#define glXLockVideoCaptureDeviceNV         rglXLockVideoCaptureDeviceNV\n#define glXQueryVideoCaptureDeviceNV        rglXQueryVideoCaptureDeviceNV\n#define glXReleaseVideoCaptureDeviceNV      rglXReleaseVideoCaptureDeviceNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GLX_NV_VIDEO_CAPTURE\nREGAL_DECL GLXVideoCaptureDeviceNV *REGAL_CALL glXEnumerateVideoCaptureDevicesNV(Display *dpy, int screen, int *nelements);\nREGAL_DECL int REGAL_CALL glXBindVideoCaptureDeviceNV(Display *dpy, unsigned int video_capture_slot, GLXVideoCaptureDeviceNV device);\nREGAL_DECL int REGAL_CALL glXQueryVideoCaptureDeviceNV(Display *dpy, GLXVideoCaptureDeviceNV device, int attribute, int *value);\nREGAL_DECL void REGAL_CALL glXLockVideoCaptureDeviceNV(Display *dpy, GLXVideoCaptureDeviceNV device);\nREGAL_DECL void REGAL_CALL glXReleaseVideoCaptureDeviceNV(Display *dpy, GLXVideoCaptureDeviceNV device);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GLX_NV_VIDEO_CAPTURE\nREGAL_DECL GLXVideoCaptureDeviceNV *REGAL_CALL plugin_glXEnumerateVideoCaptureDevicesNV(Display *dpy, int screen, int *nelements);\nREGAL_DECL int REGAL_CALL plugin_glXBindVideoCaptureDeviceNV(Display *dpy, unsigned int video_capture_slot, GLXVideoCaptureDeviceNV device);\nREGAL_DECL int REGAL_CALL plugin_glXQueryVideoCaptureDeviceNV(Display *dpy, GLXVideoCaptureDeviceNV device, int attribute, int *value);\nREGAL_DECL void REGAL_CALL plugin_glXLockVideoCaptureDeviceNV(Display *dpy, GLXVideoCaptureDeviceNV device);\nREGAL_DECL void REGAL_CALL plugin_glXReleaseVideoCaptureDeviceNV(Display *dpy, GLXVideoCaptureDeviceNV device);\n#endif\n\n/**\n ** GLX_NV_video_output\n **/\n\n#if (defined(GLX_NV_VIDEO_OUTPUT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_NV_VIDEO_OUTPUT)) && !defined(REGAL_NO_ENUM_GLX_NV_VIDEO_OUTPUT)\n#define REGAL_NO_ENUM_GLX_NV_VIDEO_OUTPUT\n#endif\n\n#if (defined(GLX_NV_VIDEO_OUTPUT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_NV_VIDEO_OUTPUT)) && !defined(REGAL_NO_TYPEDEF_GLX_NV_VIDEO_OUTPUT)\n#define REGAL_NO_TYPEDEF_GLX_NV_VIDEO_OUTPUT\n#endif\n\n#if (defined(GLX_NV_VIDEO_OUTPUT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_NV_VIDEO_OUTPUT)) && !defined(REGAL_NO_NAMESPACE_GLX_NV_VIDEO_OUTPUT)\n#define REGAL_NO_NAMESPACE_GLX_NV_VIDEO_OUTPUT\n#endif\n\n#if (defined(GLX_NV_VIDEO_OUTPUT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_NV_VIDEO_OUTPUT)) && !defined(REGAL_NO_PLUGIN_GLX_NV_VIDEO_OUTPUT)\n#define REGAL_NO_PLUGIN_GLX_NV_VIDEO_OUTPUT\n#endif\n\n#if (defined(GLX_NV_VIDEO_OUTPUT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_NV_VIDEO_OUTPUT)) && !defined(REGAL_NO_DECLARATION_GLX_NV_VIDEO_OUTPUT)\n#define REGAL_NO_DECLARATION_GLX_NV_VIDEO_OUTPUT\n#endif\n\n#ifndef GLX_NV_video_output\n#define GLX_NV_video_output 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_NV_VIDEO_OUTPUT\n#define GLX_VIDEO_OUT_COLOR_NV              0x20c3     /* 8387 */\n#define GLX_VIDEO_OUT_ALPHA_NV              0x20c4     /* 8388 */\n#define GLX_VIDEO_OUT_DEPTH_NV              0x20c5     /* 8389 */\n#define GLX_VIDEO_OUT_COLOR_AND_ALPHA_NV    0x20c6     /* 8390 */\n#define GLX_VIDEO_OUT_COLOR_AND_DEPTH_NV    0x20c7     /* 8391 */\n#define GLX_VIDEO_OUT_FRAME_NV              0x20c8     /* 8392 */\n#define GLX_VIDEO_OUT_FIELD_1_NV            0x20c9     /* 8393 */\n#define GLX_VIDEO_OUT_FIELD_2_NV            0x20ca     /* 8394 */\n#define GLX_VIDEO_OUT_STACKED_FIELDS_1_2_NV 0x20cb     /* 8395 */\n#define GLX_VIDEO_OUT_STACKED_FIELDS_2_1_NV 0x20cc     /* 8396 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GLX_NV_VIDEO_OUTPUT\ntypedef int (REGAL_CALL *PFNGLXBINDVIDEOIMAGENVPROC)(Display *dpy, GLXVideoDeviceNV VideoDevice, GLXPbuffer pbuf, int iVideoBuffer);\ntypedef int (REGAL_CALL *PFNGLXGETVIDEODEVICENVPROC)(Display *dpy, int screen, int numVideoDevices, GLXVideoDeviceNV *pVideoDevice);\ntypedef int (REGAL_CALL *PFNGLXGETVIDEOINFONVPROC)(Display *dpy, int screen, GLXVideoDeviceNV VideoDevice, unsigned long *pulCounterOutputPbuffer, unsigned long *pulCounterOutputVideo);\ntypedef int (REGAL_CALL *PFNGLXRELEASEVIDEODEVICENVPROC)(Display *dpy, int screen, GLXVideoDeviceNV VideoDevice);\ntypedef int (REGAL_CALL *PFNGLXRELEASEVIDEOIMAGENVPROC)(Display *dpy, GLXPbuffer pbuf);\ntypedef int (REGAL_CALL *PFNGLXSENDPBUFFERTOVIDEONVPROC)(Display *dpy, GLXPbuffer pbuf, int iBufferType, unsigned long *pulCounterPbuffer, GLboolean bBlock);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GLX_NV_VIDEO_OUTPUT\n#define glXBindVideoImageNV                 rglXBindVideoImageNV\n#define glXGetVideoDeviceNV                 rglXGetVideoDeviceNV\n#define glXGetVideoInfoNV                   rglXGetVideoInfoNV\n#define glXReleaseVideoDeviceNV             rglXReleaseVideoDeviceNV\n#define glXReleaseVideoImageNV              rglXReleaseVideoImageNV\n#define glXSendPbufferToVideoNV             rglXSendPbufferToVideoNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GLX_NV_VIDEO_OUTPUT\nREGAL_DECL int REGAL_CALL glXBindVideoImageNV(Display *dpy, GLXVideoDeviceNV VideoDevice, GLXPbuffer pbuf, int iVideoBuffer);\nREGAL_DECL int REGAL_CALL glXGetVideoDeviceNV(Display *dpy, int screen, int numVideoDevices, GLXVideoDeviceNV *pVideoDevice);\nREGAL_DECL int REGAL_CALL glXGetVideoInfoNV(Display *dpy, int screen, GLXVideoDeviceNV VideoDevice, unsigned long *pulCounterOutputPbuffer, unsigned long *pulCounterOutputVideo);\nREGAL_DECL int REGAL_CALL glXReleaseVideoDeviceNV(Display *dpy, int screen, GLXVideoDeviceNV VideoDevice);\nREGAL_DECL int REGAL_CALL glXReleaseVideoImageNV(Display *dpy, GLXPbuffer pbuf);\nREGAL_DECL int REGAL_CALL glXSendPbufferToVideoNV(Display *dpy, GLXPbuffer pbuf, int iBufferType, unsigned long *pulCounterPbuffer, GLboolean bBlock);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GLX_NV_VIDEO_OUTPUT\nREGAL_DECL int REGAL_CALL plugin_glXBindVideoImageNV(Display *dpy, GLXVideoDeviceNV VideoDevice, GLXPbuffer pbuf, int iVideoBuffer);\nREGAL_DECL int REGAL_CALL plugin_glXGetVideoDeviceNV(Display *dpy, int screen, int numVideoDevices, GLXVideoDeviceNV *pVideoDevice);\nREGAL_DECL int REGAL_CALL plugin_glXGetVideoInfoNV(Display *dpy, int screen, GLXVideoDeviceNV VideoDevice, unsigned long *pulCounterOutputPbuffer, unsigned long *pulCounterOutputVideo);\nREGAL_DECL int REGAL_CALL plugin_glXReleaseVideoDeviceNV(Display *dpy, int screen, GLXVideoDeviceNV VideoDevice);\nREGAL_DECL int REGAL_CALL plugin_glXReleaseVideoImageNV(Display *dpy, GLXPbuffer pbuf);\nREGAL_DECL int REGAL_CALL plugin_glXSendPbufferToVideoNV(Display *dpy, GLXPbuffer pbuf, int iBufferType, unsigned long *pulCounterPbuffer, GLboolean bBlock);\n#endif\n\n/**\n ** GLX_OML_swap_method\n **/\n\n#if (defined(GLX_OML_SWAP_METHOD) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_OML_SWAP_METHOD)) && !defined(REGAL_NO_ENUM_GLX_OML_SWAP_METHOD)\n#define REGAL_NO_ENUM_GLX_OML_SWAP_METHOD\n#endif\n\n#if (defined(GLX_OML_SWAP_METHOD) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_OML_SWAP_METHOD)) && !defined(REGAL_NO_TYPEDEF_GLX_OML_SWAP_METHOD)\n#define REGAL_NO_TYPEDEF_GLX_OML_SWAP_METHOD\n#endif\n\n#if (defined(GLX_OML_SWAP_METHOD) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_OML_SWAP_METHOD)) && !defined(REGAL_NO_NAMESPACE_GLX_OML_SWAP_METHOD)\n#define REGAL_NO_NAMESPACE_GLX_OML_SWAP_METHOD\n#endif\n\n#if (defined(GLX_OML_SWAP_METHOD) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_OML_SWAP_METHOD)) && !defined(REGAL_NO_PLUGIN_GLX_OML_SWAP_METHOD)\n#define REGAL_NO_PLUGIN_GLX_OML_SWAP_METHOD\n#endif\n\n#if (defined(GLX_OML_SWAP_METHOD) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_OML_SWAP_METHOD)) && !defined(REGAL_NO_DECLARATION_GLX_OML_SWAP_METHOD)\n#define REGAL_NO_DECLARATION_GLX_OML_SWAP_METHOD\n#endif\n\n#ifndef GLX_OML_swap_method\n#define GLX_OML_swap_method 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_OML_SWAP_METHOD\n#define GLX_SWAP_METHOD_OML    0x8060     /* 32864 */\n#define GLX_SWAP_EXCHANGE_OML  0x8061     /* 32865 */\n#define GLX_SWAP_COPY_OML      0x8062     /* 32866 */\n#define GLX_SWAP_UNDEFINED_OML 0x8063     /* 32867 */\n#endif\n\n/**\n ** GLX_OML_sync_control\n **/\n\n#if (defined(GLX_OML_SYNC_CONTROL) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_OML_SYNC_CONTROL)) && !defined(REGAL_NO_ENUM_GLX_OML_SYNC_CONTROL)\n#define REGAL_NO_ENUM_GLX_OML_SYNC_CONTROL\n#endif\n\n#if (defined(GLX_OML_SYNC_CONTROL) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_OML_SYNC_CONTROL)) && !defined(REGAL_NO_TYPEDEF_GLX_OML_SYNC_CONTROL)\n#define REGAL_NO_TYPEDEF_GLX_OML_SYNC_CONTROL\n#endif\n\n#if (defined(GLX_OML_SYNC_CONTROL) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_OML_SYNC_CONTROL)) && !defined(REGAL_NO_NAMESPACE_GLX_OML_SYNC_CONTROL)\n#define REGAL_NO_NAMESPACE_GLX_OML_SYNC_CONTROL\n#endif\n\n#if (defined(GLX_OML_SYNC_CONTROL) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_OML_SYNC_CONTROL)) && !defined(REGAL_NO_PLUGIN_GLX_OML_SYNC_CONTROL)\n#define REGAL_NO_PLUGIN_GLX_OML_SYNC_CONTROL\n#endif\n\n#if (defined(GLX_OML_SYNC_CONTROL) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_OML_SYNC_CONTROL)) && !defined(REGAL_NO_DECLARATION_GLX_OML_SYNC_CONTROL)\n#define REGAL_NO_DECLARATION_GLX_OML_SYNC_CONTROL\n#endif\n\n#ifndef GLX_OML_sync_control\n#define GLX_OML_sync_control 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GLX_OML_SYNC_CONTROL\ntypedef Bool (REGAL_CALL *PFNGLXGETMSCRATEOMLPROC)(Display *dpy, GLXDrawable drawable, int32_t *numerator, int32_t *denominator);\ntypedef Bool (REGAL_CALL *PFNGLXGETSYNCVALUESOMLPROC)(Display *dpy, GLXDrawable drawable, int64_t *ust, int64_t *msc, int64_t *sbc);\ntypedef Bool (REGAL_CALL *PFNGLXWAITFORMSCOMLPROC)(Display *dpy, GLXDrawable drawable, int64_t target_msc, int64_t divisor, int64_t remainder, int64_t *ust, int64_t *msc, int64_t *sbc);\ntypedef Bool (REGAL_CALL *PFNGLXWAITFORSBCOMLPROC)(Display *dpy, GLXDrawable drawable, int64_t target_sbc, int64_t *ust, int64_t *msc, int64_t *sbc);\ntypedef int64_t (REGAL_CALL *PFNGLXSWAPBUFFERSMSCOMLPROC)(Display *dpy, GLXDrawable drawable, int64_t target_msc, int64_t divisor, int64_t remainder);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GLX_OML_SYNC_CONTROL\n#define glXGetMscRateOML                    rglXGetMscRateOML\n#define glXGetSyncValuesOML                 rglXGetSyncValuesOML\n#define glXSwapBuffersMscOML                rglXSwapBuffersMscOML\n#define glXWaitForMscOML                    rglXWaitForMscOML\n#define glXWaitForSbcOML                    rglXWaitForSbcOML\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GLX_OML_SYNC_CONTROL\nREGAL_DECL Bool REGAL_CALL glXGetMscRateOML(Display *dpy, GLXDrawable drawable, int32_t *numerator, int32_t *denominator);\nREGAL_DECL Bool REGAL_CALL glXGetSyncValuesOML(Display *dpy, GLXDrawable drawable, int64_t *ust, int64_t *msc, int64_t *sbc);\nREGAL_DECL Bool REGAL_CALL glXWaitForMscOML(Display *dpy, GLXDrawable drawable, int64_t target_msc, int64_t divisor, int64_t remainder, int64_t *ust, int64_t *msc, int64_t *sbc);\nREGAL_DECL Bool REGAL_CALL glXWaitForSbcOML(Display *dpy, GLXDrawable drawable, int64_t target_sbc, int64_t *ust, int64_t *msc, int64_t *sbc);\nREGAL_DECL int64_t REGAL_CALL glXSwapBuffersMscOML(Display *dpy, GLXDrawable drawable, int64_t target_msc, int64_t divisor, int64_t remainder);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GLX_OML_SYNC_CONTROL\nREGAL_DECL Bool REGAL_CALL plugin_glXGetMscRateOML(Display *dpy, GLXDrawable drawable, int32_t *numerator, int32_t *denominator);\nREGAL_DECL Bool REGAL_CALL plugin_glXGetSyncValuesOML(Display *dpy, GLXDrawable drawable, int64_t *ust, int64_t *msc, int64_t *sbc);\nREGAL_DECL Bool REGAL_CALL plugin_glXWaitForMscOML(Display *dpy, GLXDrawable drawable, int64_t target_msc, int64_t divisor, int64_t remainder, int64_t *ust, int64_t *msc, int64_t *sbc);\nREGAL_DECL Bool REGAL_CALL plugin_glXWaitForSbcOML(Display *dpy, GLXDrawable drawable, int64_t target_sbc, int64_t *ust, int64_t *msc, int64_t *sbc);\nREGAL_DECL int64_t REGAL_CALL plugin_glXSwapBuffersMscOML(Display *dpy, GLXDrawable drawable, int64_t target_msc, int64_t divisor, int64_t remainder);\n#endif\n\n/**\n ** GLX_SGIS_blended_overlay\n **/\n\n#if (defined(GLX_SGIS_BLENDED_OVERLAY) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_SGIS_BLENDED_OVERLAY)) && !defined(REGAL_NO_ENUM_GLX_SGIS_BLENDED_OVERLAY)\n#define REGAL_NO_ENUM_GLX_SGIS_BLENDED_OVERLAY\n#endif\n\n#if (defined(GLX_SGIS_BLENDED_OVERLAY) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_SGIS_BLENDED_OVERLAY)) && !defined(REGAL_NO_TYPEDEF_GLX_SGIS_BLENDED_OVERLAY)\n#define REGAL_NO_TYPEDEF_GLX_SGIS_BLENDED_OVERLAY\n#endif\n\n#if (defined(GLX_SGIS_BLENDED_OVERLAY) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_SGIS_BLENDED_OVERLAY)) && !defined(REGAL_NO_NAMESPACE_GLX_SGIS_BLENDED_OVERLAY)\n#define REGAL_NO_NAMESPACE_GLX_SGIS_BLENDED_OVERLAY\n#endif\n\n#if (defined(GLX_SGIS_BLENDED_OVERLAY) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_SGIS_BLENDED_OVERLAY)) && !defined(REGAL_NO_PLUGIN_GLX_SGIS_BLENDED_OVERLAY)\n#define REGAL_NO_PLUGIN_GLX_SGIS_BLENDED_OVERLAY\n#endif\n\n#if (defined(GLX_SGIS_BLENDED_OVERLAY) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_SGIS_BLENDED_OVERLAY)) && !defined(REGAL_NO_DECLARATION_GLX_SGIS_BLENDED_OVERLAY)\n#define REGAL_NO_DECLARATION_GLX_SGIS_BLENDED_OVERLAY\n#endif\n\n#ifndef GLX_SGIS_blended_overlay\n#define GLX_SGIS_blended_overlay 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_SGIS_BLENDED_OVERLAY\n#define GLX_BLENDED_RGBA_SGIS 0x8025 /* 32805 */\n#endif\n\n/**\n ** GLX_SGIS_color_range\n **/\n\n#if (defined(GLX_SGIS_COLOR_RANGE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_SGIS_COLOR_RANGE)) && !defined(REGAL_NO_ENUM_GLX_SGIS_COLOR_RANGE)\n#define REGAL_NO_ENUM_GLX_SGIS_COLOR_RANGE\n#endif\n\n#if (defined(GLX_SGIS_COLOR_RANGE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_SGIS_COLOR_RANGE)) && !defined(REGAL_NO_TYPEDEF_GLX_SGIS_COLOR_RANGE)\n#define REGAL_NO_TYPEDEF_GLX_SGIS_COLOR_RANGE\n#endif\n\n#if (defined(GLX_SGIS_COLOR_RANGE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_SGIS_COLOR_RANGE)) && !defined(REGAL_NO_NAMESPACE_GLX_SGIS_COLOR_RANGE)\n#define REGAL_NO_NAMESPACE_GLX_SGIS_COLOR_RANGE\n#endif\n\n#if (defined(GLX_SGIS_COLOR_RANGE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_SGIS_COLOR_RANGE)) && !defined(REGAL_NO_PLUGIN_GLX_SGIS_COLOR_RANGE)\n#define REGAL_NO_PLUGIN_GLX_SGIS_COLOR_RANGE\n#endif\n\n#if (defined(GLX_SGIS_COLOR_RANGE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_SGIS_COLOR_RANGE)) && !defined(REGAL_NO_DECLARATION_GLX_SGIS_COLOR_RANGE)\n#define REGAL_NO_DECLARATION_GLX_SGIS_COLOR_RANGE\n#endif\n\n#ifndef GLX_SGIS_color_range\n#define GLX_SGIS_color_range 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_SGIS_COLOR_RANGE\n#define GLX_EXTENDED_RANGE_SGIS 0x0\n#define GLX_MAX_ALPHA_SGIS      0x0\n#define GLX_MAX_BLUE_SGIS       0x0\n#define GLX_MAX_GREEN_SGIS      0x0\n#define GLX_MAX_RED_SGIS        0x0\n#define GLX_MIN_ALPHA_SGIS      0x0\n#define GLX_MIN_BLUE_SGIS       0x0\n#define GLX_MIN_GREEN_SGIS      0x0\n#define GLX_MIN_RED_SGIS        0x0\n#endif\n\n/**\n ** GLX_SGIS_multisample\n **/\n\n#if (defined(GLX_SGIS_MULTISAMPLE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_SGIS_MULTISAMPLE)) && !defined(REGAL_NO_ENUM_GLX_SGIS_MULTISAMPLE)\n#define REGAL_NO_ENUM_GLX_SGIS_MULTISAMPLE\n#endif\n\n#if (defined(GLX_SGIS_MULTISAMPLE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_SGIS_MULTISAMPLE)) && !defined(REGAL_NO_TYPEDEF_GLX_SGIS_MULTISAMPLE)\n#define REGAL_NO_TYPEDEF_GLX_SGIS_MULTISAMPLE\n#endif\n\n#if (defined(GLX_SGIS_MULTISAMPLE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_SGIS_MULTISAMPLE)) && !defined(REGAL_NO_NAMESPACE_GLX_SGIS_MULTISAMPLE)\n#define REGAL_NO_NAMESPACE_GLX_SGIS_MULTISAMPLE\n#endif\n\n#if (defined(GLX_SGIS_MULTISAMPLE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_SGIS_MULTISAMPLE)) && !defined(REGAL_NO_PLUGIN_GLX_SGIS_MULTISAMPLE)\n#define REGAL_NO_PLUGIN_GLX_SGIS_MULTISAMPLE\n#endif\n\n#if (defined(GLX_SGIS_MULTISAMPLE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_SGIS_MULTISAMPLE)) && !defined(REGAL_NO_DECLARATION_GLX_SGIS_MULTISAMPLE)\n#define REGAL_NO_DECLARATION_GLX_SGIS_MULTISAMPLE\n#endif\n\n#ifndef GLX_SGIS_multisample\n#define GLX_SGIS_multisample 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_SGIS_MULTISAMPLE\n#define GLX_SAMPLE_BUFFERS_SGIS 0x186a0     /* 100000 */\n#define GLX_SAMPLES_SGIS        0x186a1     /* 100001 */\n#endif\n\n/**\n ** GLX_SGIS_shared_multisample\n **/\n\n#if (defined(GLX_SGIS_SHARED_MULTISAMPLE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_SGIS_SHARED_MULTISAMPLE)) && !defined(REGAL_NO_ENUM_GLX_SGIS_SHARED_MULTISAMPLE)\n#define REGAL_NO_ENUM_GLX_SGIS_SHARED_MULTISAMPLE\n#endif\n\n#if (defined(GLX_SGIS_SHARED_MULTISAMPLE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_SGIS_SHARED_MULTISAMPLE)) && !defined(REGAL_NO_TYPEDEF_GLX_SGIS_SHARED_MULTISAMPLE)\n#define REGAL_NO_TYPEDEF_GLX_SGIS_SHARED_MULTISAMPLE\n#endif\n\n#if (defined(GLX_SGIS_SHARED_MULTISAMPLE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_SGIS_SHARED_MULTISAMPLE)) && !defined(REGAL_NO_NAMESPACE_GLX_SGIS_SHARED_MULTISAMPLE)\n#define REGAL_NO_NAMESPACE_GLX_SGIS_SHARED_MULTISAMPLE\n#endif\n\n#if (defined(GLX_SGIS_SHARED_MULTISAMPLE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_SGIS_SHARED_MULTISAMPLE)) && !defined(REGAL_NO_PLUGIN_GLX_SGIS_SHARED_MULTISAMPLE)\n#define REGAL_NO_PLUGIN_GLX_SGIS_SHARED_MULTISAMPLE\n#endif\n\n#if (defined(GLX_SGIS_SHARED_MULTISAMPLE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_SGIS_SHARED_MULTISAMPLE)) && !defined(REGAL_NO_DECLARATION_GLX_SGIS_SHARED_MULTISAMPLE)\n#define REGAL_NO_DECLARATION_GLX_SGIS_SHARED_MULTISAMPLE\n#endif\n\n#ifndef GLX_SGIS_shared_multisample\n#define GLX_SGIS_shared_multisample 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_SGIS_SHARED_MULTISAMPLE\n#define GLX_MULTISAMPLE_SUB_RECT_WIDTH_SGIS  0x8026     /* 32806 */\n#define GLX_MULTISAMPLE_SUB_RECT_HEIGHT_SGIS 0x8027     /* 32807 */\n#endif\n\n/**\n ** GLX_SGIX_fbconfig\n **/\n\n#if (defined(GLX_SGIX_FBCONFIG) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_SGIX_FBCONFIG)) && !defined(REGAL_NO_ENUM_GLX_SGIX_FBCONFIG)\n#define REGAL_NO_ENUM_GLX_SGIX_FBCONFIG\n#endif\n\n#if (defined(GLX_SGIX_FBCONFIG) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_SGIX_FBCONFIG)) && !defined(REGAL_NO_TYPEDEF_GLX_SGIX_FBCONFIG)\n#define REGAL_NO_TYPEDEF_GLX_SGIX_FBCONFIG\n#endif\n\n#if (defined(GLX_SGIX_FBCONFIG) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_SGIX_FBCONFIG)) && !defined(REGAL_NO_NAMESPACE_GLX_SGIX_FBCONFIG)\n#define REGAL_NO_NAMESPACE_GLX_SGIX_FBCONFIG\n#endif\n\n#if (defined(GLX_SGIX_FBCONFIG) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_SGIX_FBCONFIG)) && !defined(REGAL_NO_PLUGIN_GLX_SGIX_FBCONFIG)\n#define REGAL_NO_PLUGIN_GLX_SGIX_FBCONFIG\n#endif\n\n#if (defined(GLX_SGIX_FBCONFIG) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_SGIX_FBCONFIG)) && !defined(REGAL_NO_DECLARATION_GLX_SGIX_FBCONFIG)\n#define REGAL_NO_DECLARATION_GLX_SGIX_FBCONFIG\n#endif\n\n#ifndef GLX_SGIX_fbconfig\n#define GLX_SGIX_fbconfig 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_SGIX_FBCONFIG\n#define GLX_RGBA_BIT_SGIX         0x1\n#define GLX_WINDOW_BIT_SGIX       0x1\n#define GLX_COLOR_INDEX_BIT_SGIX  0x2\n#define GLX_PIXMAP_BIT_SGIX       0x2\n#define GLX_SCREEN_EXT            0x800c     /* 32780 */\n#define GLX_DRAWABLE_TYPE_SGIX    0x8010     /* 32784 */\n#define GLX_RENDER_TYPE_SGIX      0x8011     /* 32785 */\n#define GLX_X_RENDERABLE_SGIX     0x8012     /* 32786 */\n#define GLX_FBCONFIG_ID_SGIX      0x8013     /* 32787 */\n#define GLX_RGBA_TYPE_SGIX        0x8014     /* 32788 */\n#define GLX_COLOR_INDEX_TYPE_SGIX 0x8015     /* 32789 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GLX_SGIX_FBCONFIG\ntypedef GLXContext (REGAL_CALL *PFNGLXCREATECONTEXTWITHCONFIGSGIXPROC)(Display *dpy, GLXFBConfig config, int render_type, GLXContext share_list, Bool direct);\ntypedef GLXFBConfigSGIX (REGAL_CALL *PFNGLXGETFBCONFIGFROMVISUALSGIXPROC)(Display *dpy, XVisualInfo *vis);\ntypedef GLXFBConfigSGIX *(REGAL_CALL *PFNGLXCHOOSEFBCONFIGSGIXPROC)(Display *dpy, int screen, const int *attrib_list, int *nelements);\ntypedef GLXPixmap (REGAL_CALL *PFNGLXCREATEGLXPIXMAPWITHCONFIGSGIXPROC)(Display *dpy, GLXFBConfig config, Pixmap pixmap);\ntypedef XVisualInfo *(REGAL_CALL *PFNGLXGETVISUALFROMFBCONFIGSGIXPROC)(Display *dpy, GLXFBConfig config);\ntypedef int (REGAL_CALL *PFNGLXGETFBCONFIGATTRIBSGIXPROC)(Display *dpy, GLXFBConfigSGIX config, int attribute, int *value);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GLX_SGIX_FBCONFIG\n#define glXChooseFBConfigSGIX               rglXChooseFBConfigSGIX\n#define glXCreateContextWithConfigSGIX      rglXCreateContextWithConfigSGIX\n#define glXCreateGLXPixmapWithConfigSGIX    rglXCreateGLXPixmapWithConfigSGIX\n#define glXGetFBConfigAttribSGIX            rglXGetFBConfigAttribSGIX\n#define glXGetFBConfigFromVisualSGIX        rglXGetFBConfigFromVisualSGIX\n#define glXGetVisualFromFBConfigSGIX        rglXGetVisualFromFBConfigSGIX\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GLX_SGIX_FBCONFIG\nREGAL_DECL GLXContext REGAL_CALL glXCreateContextWithConfigSGIX(Display *dpy, GLXFBConfig config, int render_type, GLXContext share_list, Bool direct);\nREGAL_DECL GLXFBConfigSGIX *REGAL_CALL glXChooseFBConfigSGIX(Display *dpy, int screen, const int *attrib_list, int *nelements);\nREGAL_DECL GLXFBConfigSGIX REGAL_CALL glXGetFBConfigFromVisualSGIX(Display *dpy, XVisualInfo *vis);\nREGAL_DECL GLXPixmap REGAL_CALL glXCreateGLXPixmapWithConfigSGIX(Display *dpy, GLXFBConfig config, Pixmap pixmap);\nREGAL_DECL XVisualInfo *REGAL_CALL glXGetVisualFromFBConfigSGIX(Display *dpy, GLXFBConfig config);\nREGAL_DECL int REGAL_CALL glXGetFBConfigAttribSGIX(Display *dpy, GLXFBConfigSGIX config, int attribute, int *value);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GLX_SGIX_FBCONFIG\nREGAL_DECL GLXContext REGAL_CALL plugin_glXCreateContextWithConfigSGIX(Display *dpy, GLXFBConfig config, int render_type, GLXContext share_list, Bool direct);\nREGAL_DECL GLXFBConfigSGIX *REGAL_CALL plugin_glXChooseFBConfigSGIX(Display *dpy, int screen, const int *attrib_list, int *nelements);\nREGAL_DECL GLXFBConfigSGIX REGAL_CALL plugin_glXGetFBConfigFromVisualSGIX(Display *dpy, XVisualInfo *vis);\nREGAL_DECL GLXPixmap REGAL_CALL plugin_glXCreateGLXPixmapWithConfigSGIX(Display *dpy, GLXFBConfig config, Pixmap pixmap);\nREGAL_DECL XVisualInfo *REGAL_CALL plugin_glXGetVisualFromFBConfigSGIX(Display *dpy, GLXFBConfig config);\nREGAL_DECL int REGAL_CALL plugin_glXGetFBConfigAttribSGIX(Display *dpy, GLXFBConfigSGIX config, int attribute, int *value);\n#endif\n\n/**\n ** GLX_SGIX_hyperpipe\n **/\n\n#if (defined(GLX_SGIX_HYPERPIPE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_SGIX_HYPERPIPE)) && !defined(REGAL_NO_ENUM_GLX_SGIX_HYPERPIPE)\n#define REGAL_NO_ENUM_GLX_SGIX_HYPERPIPE\n#endif\n\n#if (defined(GLX_SGIX_HYPERPIPE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_SGIX_HYPERPIPE)) && !defined(REGAL_NO_TYPEDEF_GLX_SGIX_HYPERPIPE)\n#define REGAL_NO_TYPEDEF_GLX_SGIX_HYPERPIPE\n#endif\n\n#if (defined(GLX_SGIX_HYPERPIPE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_SGIX_HYPERPIPE)) && !defined(REGAL_NO_NAMESPACE_GLX_SGIX_HYPERPIPE)\n#define REGAL_NO_NAMESPACE_GLX_SGIX_HYPERPIPE\n#endif\n\n#if (defined(GLX_SGIX_HYPERPIPE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_SGIX_HYPERPIPE)) && !defined(REGAL_NO_PLUGIN_GLX_SGIX_HYPERPIPE)\n#define REGAL_NO_PLUGIN_GLX_SGIX_HYPERPIPE\n#endif\n\n#if (defined(GLX_SGIX_HYPERPIPE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_SGIX_HYPERPIPE)) && !defined(REGAL_NO_DECLARATION_GLX_SGIX_HYPERPIPE)\n#define REGAL_NO_DECLARATION_GLX_SGIX_HYPERPIPE\n#endif\n\n#ifndef GLX_SGIX_hyperpipe\n#define GLX_SGIX_hyperpipe 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_SGIX_HYPERPIPE\n#define GLX_HYPERPIPE_DISPLAY_PIPE_SGIX     0x1\n#define GLX_PIPE_RECT_SGIX                  0x1\n#define GLX_HYPERPIPE_RENDER_PIPE_SGIX      0x2\n#define GLX_PIPE_RECT_LIMITS_SGIX           0x2\n#define GLX_HYPERPIPE_STEREO_SGIX           0x3\n#define GLX_HYPERPIPE_PIXEL_AVERAGE_SGIX    0x4\n#define GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX 0x50       /* 80 */\n#define GLX_BAD_HYPERPIPE_CONFIG_SGIX       0x5b       /* 91 */\n#define GLX_BAD_HYPERPIPE_SGIX              0x5c       /* 92 */\n#define GLX_HYPERPIPE_ID_SGIX               0x8030     /* 32816 */\n#endif\n\n/**\n ** GLX_SGIX_pbuffer\n **/\n\n#if (defined(GLX_SGIX_PBUFFER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_SGIX_PBUFFER)) && !defined(REGAL_NO_ENUM_GLX_SGIX_PBUFFER)\n#define REGAL_NO_ENUM_GLX_SGIX_PBUFFER\n#endif\n\n#if (defined(GLX_SGIX_PBUFFER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_SGIX_PBUFFER)) && !defined(REGAL_NO_TYPEDEF_GLX_SGIX_PBUFFER)\n#define REGAL_NO_TYPEDEF_GLX_SGIX_PBUFFER\n#endif\n\n#if (defined(GLX_SGIX_PBUFFER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_SGIX_PBUFFER)) && !defined(REGAL_NO_NAMESPACE_GLX_SGIX_PBUFFER)\n#define REGAL_NO_NAMESPACE_GLX_SGIX_PBUFFER\n#endif\n\n#if (defined(GLX_SGIX_PBUFFER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_SGIX_PBUFFER)) && !defined(REGAL_NO_PLUGIN_GLX_SGIX_PBUFFER)\n#define REGAL_NO_PLUGIN_GLX_SGIX_PBUFFER\n#endif\n\n#if (defined(GLX_SGIX_PBUFFER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_SGIX_PBUFFER)) && !defined(REGAL_NO_DECLARATION_GLX_SGIX_PBUFFER)\n#define REGAL_NO_DECLARATION_GLX_SGIX_PBUFFER\n#endif\n\n#ifndef GLX_SGIX_pbuffer\n#define GLX_SGIX_pbuffer 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_SGIX_PBUFFER\n#define GLX_FRONT_LEFT_BUFFER_BIT_SGIX  0x1\n#define GLX_AUX_BUFFERS_BIT_SGIX        0x10          /* 16 */\n#define GLX_SAMPLE_BUFFERS_BIT_SGIX     0x100         /* 256 */\n#define GLX_FRONT_RIGHT_BUFFER_BIT_SGIX 0x2\n#define GLX_DEPTH_BUFFER_BIT_SGIX       0x20          /* 32 */\n#define GLX_BACK_LEFT_BUFFER_BIT_SGIX   0x4\n#define GLX_PBUFFER_BIT_SGIX            0x4\n#define GLX_STENCIL_BUFFER_BIT_SGIX     0x40          /* 64 */\n#define GLX_BACK_RIGHT_BUFFER_BIT_SGIX  0x8\n#define GLX_ACCUM_BUFFER_BIT_SGIX       0x80          /* 128 */\n#define GLX_BUFFER_CLOBBER_MASK_SGIX    0x8000000     /* 134217728 */\n#define GLX_MAX_PBUFFER_WIDTH_SGIX      0x8016        /* 32790 */\n#define GLX_MAX_PBUFFER_HEIGHT_SGIX     0x8017        /* 32791 */\n#define GLX_MAX_PBUFFER_PIXELS_SGIX     0x8018        /* 32792 */\n#define GLX_OPTIMAL_PBUFFER_WIDTH_SGIX  0x8019        /* 32793 */\n#define GLX_OPTIMAL_PBUFFER_HEIGHT_SGIX 0x801a        /* 32794 */\n#define GLX_PRESERVED_CONTENTS_SGIX     0x801b        /* 32795 */\n#define GLX_LARGEST_PBUFFER_SGIX        0x801c        /* 32796 */\n#define GLX_WIDTH_SGIX                  0x801d        /* 32797 */\n#define GLX_HEIGHT_SGIX                 0x801e        /* 32798 */\n#define GLX_EVENT_MASK_SGIX             0x801f        /* 32799 */\n#define GLX_DAMAGED_SGIX                0x8020        /* 32800 */\n#define GLX_SAVED_SGIX                  0x8021        /* 32801 */\n#define GLX_WINDOW_SGIX                 0x8022        /* 32802 */\n#define GLX_PBUFFER_SGIX                0x8023        /* 32803 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GLX_SGIX_PBUFFER\ntypedef GLXPbuffer (REGAL_CALL *PFNGLXCREATEGLXPBUFFERSGIXPROC)(Display *dpy, GLXFBConfig config, unsigned int width, unsigned int height, int *attrib_list);\ntypedef void (REGAL_CALL *PFNGLXDESTROYGLXPBUFFERSGIXPROC)(Display *dpy, GLXPbuffer pbuf);\ntypedef void (REGAL_CALL *PFNGLXGETSELECTEDEVENTSGIXPROC)(Display *dpy, GLXDrawable drawable, unsigned long *mask);\ntypedef void (REGAL_CALL *PFNGLXQUERYGLXPBUFFERSGIXPROC)(Display *dpy, GLXPbuffer pbuf, int attribute, unsigned int *value);\ntypedef void (REGAL_CALL *PFNGLXSELECTEVENTSGIXPROC)(Display *dpy, GLXDrawable drawable, unsigned long mask);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GLX_SGIX_PBUFFER\n#define glXCreateGLXPbufferSGIX             rglXCreateGLXPbufferSGIX\n#define glXDestroyGLXPbufferSGIX            rglXDestroyGLXPbufferSGIX\n#define glXGetSelectedEventSGIX             rglXGetSelectedEventSGIX\n#define glXQueryGLXPbufferSGIX              rglXQueryGLXPbufferSGIX\n#define glXSelectEventSGIX                  rglXSelectEventSGIX\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GLX_SGIX_PBUFFER\nREGAL_DECL GLXPbuffer REGAL_CALL glXCreateGLXPbufferSGIX(Display *dpy, GLXFBConfig config, unsigned int width, unsigned int height, int *attrib_list);\nREGAL_DECL void REGAL_CALL glXDestroyGLXPbufferSGIX(Display *dpy, GLXPbuffer pbuf);\nREGAL_DECL void REGAL_CALL glXGetSelectedEventSGIX(Display *dpy, GLXDrawable drawable, unsigned long *mask);\nREGAL_DECL void REGAL_CALL glXQueryGLXPbufferSGIX(Display *dpy, GLXPbuffer pbuf, int attribute, unsigned int *value);\nREGAL_DECL void REGAL_CALL glXSelectEventSGIX(Display *dpy, GLXDrawable drawable, unsigned long mask);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GLX_SGIX_PBUFFER\nREGAL_DECL GLXPbuffer REGAL_CALL plugin_glXCreateGLXPbufferSGIX(Display *dpy, GLXFBConfig config, unsigned int width, unsigned int height, int *attrib_list);\nREGAL_DECL void REGAL_CALL plugin_glXDestroyGLXPbufferSGIX(Display *dpy, GLXPbuffer pbuf);\nREGAL_DECL void REGAL_CALL plugin_glXGetSelectedEventSGIX(Display *dpy, GLXDrawable drawable, unsigned long *mask);\nREGAL_DECL void REGAL_CALL plugin_glXQueryGLXPbufferSGIX(Display *dpy, GLXPbuffer pbuf, int attribute, unsigned int *value);\nREGAL_DECL void REGAL_CALL plugin_glXSelectEventSGIX(Display *dpy, GLXDrawable drawable, unsigned long mask);\n#endif\n\n/**\n ** GLX_SGIX_swap_barrier\n **/\n\n#if (defined(GLX_SGIX_SWAP_BARRIER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_SGIX_SWAP_BARRIER)) && !defined(REGAL_NO_ENUM_GLX_SGIX_SWAP_BARRIER)\n#define REGAL_NO_ENUM_GLX_SGIX_SWAP_BARRIER\n#endif\n\n#if (defined(GLX_SGIX_SWAP_BARRIER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_SGIX_SWAP_BARRIER)) && !defined(REGAL_NO_TYPEDEF_GLX_SGIX_SWAP_BARRIER)\n#define REGAL_NO_TYPEDEF_GLX_SGIX_SWAP_BARRIER\n#endif\n\n#if (defined(GLX_SGIX_SWAP_BARRIER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_SGIX_SWAP_BARRIER)) && !defined(REGAL_NO_NAMESPACE_GLX_SGIX_SWAP_BARRIER)\n#define REGAL_NO_NAMESPACE_GLX_SGIX_SWAP_BARRIER\n#endif\n\n#if (defined(GLX_SGIX_SWAP_BARRIER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_SGIX_SWAP_BARRIER)) && !defined(REGAL_NO_PLUGIN_GLX_SGIX_SWAP_BARRIER)\n#define REGAL_NO_PLUGIN_GLX_SGIX_SWAP_BARRIER\n#endif\n\n#if (defined(GLX_SGIX_SWAP_BARRIER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_SGIX_SWAP_BARRIER)) && !defined(REGAL_NO_DECLARATION_GLX_SGIX_SWAP_BARRIER)\n#define REGAL_NO_DECLARATION_GLX_SGIX_SWAP_BARRIER\n#endif\n\n#ifndef GLX_SGIX_swap_barrier\n#define GLX_SGIX_swap_barrier 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GLX_SGIX_SWAP_BARRIER\ntypedef Bool (REGAL_CALL *PFNGLXQUERYMAXSWAPBARRIERSSGIXPROC)(Display *dpy, int screen, int *max);\ntypedef void (REGAL_CALL *PFNGLXBINDSWAPBARRIERSGIXPROC)(Display *dpy, GLXDrawable drawable, int barrier);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GLX_SGIX_SWAP_BARRIER\n#define glXBindSwapBarrierSGIX              rglXBindSwapBarrierSGIX\n#define glXQueryMaxSwapBarriersSGIX         rglXQueryMaxSwapBarriersSGIX\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GLX_SGIX_SWAP_BARRIER\nREGAL_DECL Bool REGAL_CALL glXQueryMaxSwapBarriersSGIX(Display *dpy, int screen, int *max);\nREGAL_DECL void REGAL_CALL glXBindSwapBarrierSGIX(Display *dpy, GLXDrawable drawable, int barrier);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GLX_SGIX_SWAP_BARRIER\nREGAL_DECL Bool REGAL_CALL plugin_glXQueryMaxSwapBarriersSGIX(Display *dpy, int screen, int *max);\nREGAL_DECL void REGAL_CALL plugin_glXBindSwapBarrierSGIX(Display *dpy, GLXDrawable drawable, int barrier);\n#endif\n\n/**\n ** GLX_SGIX_swap_group\n **/\n\n#if (defined(GLX_SGIX_SWAP_GROUP) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_SGIX_SWAP_GROUP)) && !defined(REGAL_NO_ENUM_GLX_SGIX_SWAP_GROUP)\n#define REGAL_NO_ENUM_GLX_SGIX_SWAP_GROUP\n#endif\n\n#if (defined(GLX_SGIX_SWAP_GROUP) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_SGIX_SWAP_GROUP)) && !defined(REGAL_NO_TYPEDEF_GLX_SGIX_SWAP_GROUP)\n#define REGAL_NO_TYPEDEF_GLX_SGIX_SWAP_GROUP\n#endif\n\n#if (defined(GLX_SGIX_SWAP_GROUP) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_SGIX_SWAP_GROUP)) && !defined(REGAL_NO_NAMESPACE_GLX_SGIX_SWAP_GROUP)\n#define REGAL_NO_NAMESPACE_GLX_SGIX_SWAP_GROUP\n#endif\n\n#if (defined(GLX_SGIX_SWAP_GROUP) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_SGIX_SWAP_GROUP)) && !defined(REGAL_NO_PLUGIN_GLX_SGIX_SWAP_GROUP)\n#define REGAL_NO_PLUGIN_GLX_SGIX_SWAP_GROUP\n#endif\n\n#if (defined(GLX_SGIX_SWAP_GROUP) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_SGIX_SWAP_GROUP)) && !defined(REGAL_NO_DECLARATION_GLX_SGIX_SWAP_GROUP)\n#define REGAL_NO_DECLARATION_GLX_SGIX_SWAP_GROUP\n#endif\n\n#ifndef GLX_SGIX_swap_group\n#define GLX_SGIX_swap_group 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GLX_SGIX_SWAP_GROUP\ntypedef void (REGAL_CALL *PFNGLXJOINSWAPGROUPSGIXPROC)(Display *dpy, GLXDrawable drawable, GLXDrawable member);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GLX_SGIX_SWAP_GROUP\n#define glXJoinSwapGroupSGIX                rglXJoinSwapGroupSGIX\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GLX_SGIX_SWAP_GROUP\nREGAL_DECL void REGAL_CALL glXJoinSwapGroupSGIX(Display *dpy, GLXDrawable drawable, GLXDrawable member);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GLX_SGIX_SWAP_GROUP\nREGAL_DECL void REGAL_CALL plugin_glXJoinSwapGroupSGIX(Display *dpy, GLXDrawable drawable, GLXDrawable member);\n#endif\n\n/**\n ** GLX_SGIX_video_resize\n **/\n\n#if (defined(GLX_SGIX_VIDEO_RESIZE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_SGIX_VIDEO_RESIZE)) && !defined(REGAL_NO_ENUM_GLX_SGIX_VIDEO_RESIZE)\n#define REGAL_NO_ENUM_GLX_SGIX_VIDEO_RESIZE\n#endif\n\n#if (defined(GLX_SGIX_VIDEO_RESIZE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_SGIX_VIDEO_RESIZE)) && !defined(REGAL_NO_TYPEDEF_GLX_SGIX_VIDEO_RESIZE)\n#define REGAL_NO_TYPEDEF_GLX_SGIX_VIDEO_RESIZE\n#endif\n\n#if (defined(GLX_SGIX_VIDEO_RESIZE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_SGIX_VIDEO_RESIZE)) && !defined(REGAL_NO_NAMESPACE_GLX_SGIX_VIDEO_RESIZE)\n#define REGAL_NO_NAMESPACE_GLX_SGIX_VIDEO_RESIZE\n#endif\n\n#if (defined(GLX_SGIX_VIDEO_RESIZE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_SGIX_VIDEO_RESIZE)) && !defined(REGAL_NO_PLUGIN_GLX_SGIX_VIDEO_RESIZE)\n#define REGAL_NO_PLUGIN_GLX_SGIX_VIDEO_RESIZE\n#endif\n\n#if (defined(GLX_SGIX_VIDEO_RESIZE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_SGIX_VIDEO_RESIZE)) && !defined(REGAL_NO_DECLARATION_GLX_SGIX_VIDEO_RESIZE)\n#define REGAL_NO_DECLARATION_GLX_SGIX_VIDEO_RESIZE\n#endif\n\n#ifndef GLX_SGIX_video_resize\n#define GLX_SGIX_video_resize 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_SGIX_VIDEO_RESIZE\n#define GLX_SYNC_FRAME_SGIX 0x0\n#define GLX_SYNC_SWAP_SGIX  0x1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GLX_SGIX_VIDEO_RESIZE\ntypedef int (REGAL_CALL *PFNGLXBINDCHANNELTOWINDOWSGIXPROC)(Display *display, int screen, int channel, Window window);\ntypedef int (REGAL_CALL *PFNGLXCHANNELRECTSGIXPROC)(Display *display, int screen, int channel, int x, int y, int w, int h);\ntypedef int (REGAL_CALL *PFNGLXCHANNELRECTSYNCSGIXPROC)(Display *display, int screen, int channel, GLenum synctype);\ntypedef int (REGAL_CALL *PFNGLXQUERYCHANNELDELTASSGIXPROC)(Display *display, int screen, int channel, int *x, int *y, int *w, int *h);\ntypedef int (REGAL_CALL *PFNGLXQUERYCHANNELRECTSGIXPROC)(Display *display, int screen, int channel, int *dx, int *dy, int *dw, int *dh);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GLX_SGIX_VIDEO_RESIZE\n#define glXBindChannelToWindowSGIX          rglXBindChannelToWindowSGIX\n#define glXChannelRectSGIX                  rglXChannelRectSGIX\n#define glXChannelRectSyncSGIX              rglXChannelRectSyncSGIX\n#define glXQueryChannelDeltasSGIX           rglXQueryChannelDeltasSGIX\n#define glXQueryChannelRectSGIX             rglXQueryChannelRectSGIX\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GLX_SGIX_VIDEO_RESIZE\nREGAL_DECL int REGAL_CALL glXBindChannelToWindowSGIX(Display *display, int screen, int channel, Window window);\nREGAL_DECL int REGAL_CALL glXChannelRectSGIX(Display *display, int screen, int channel, int x, int y, int w, int h);\nREGAL_DECL int REGAL_CALL glXChannelRectSyncSGIX(Display *display, int screen, int channel, GLenum synctype);\nREGAL_DECL int REGAL_CALL glXQueryChannelDeltasSGIX(Display *display, int screen, int channel, int *x, int *y, int *w, int *h);\nREGAL_DECL int REGAL_CALL glXQueryChannelRectSGIX(Display *display, int screen, int channel, int *dx, int *dy, int *dw, int *dh);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GLX_SGIX_VIDEO_RESIZE\nREGAL_DECL int REGAL_CALL plugin_glXBindChannelToWindowSGIX(Display *display, int screen, int channel, Window window);\nREGAL_DECL int REGAL_CALL plugin_glXChannelRectSGIX(Display *display, int screen, int channel, int x, int y, int w, int h);\nREGAL_DECL int REGAL_CALL plugin_glXChannelRectSyncSGIX(Display *display, int screen, int channel, GLenum synctype);\nREGAL_DECL int REGAL_CALL plugin_glXQueryChannelDeltasSGIX(Display *display, int screen, int channel, int *x, int *y, int *w, int *h);\nREGAL_DECL int REGAL_CALL plugin_glXQueryChannelRectSGIX(Display *display, int screen, int channel, int *dx, int *dy, int *dw, int *dh);\n#endif\n\n/**\n ** GLX_SGIX_visual_select_group\n **/\n\n#if (defined(GLX_SGIX_VISUAL_SELECT_GROUP) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_SGIX_VISUAL_SELECT_GROUP)) && !defined(REGAL_NO_ENUM_GLX_SGIX_VISUAL_SELECT_GROUP)\n#define REGAL_NO_ENUM_GLX_SGIX_VISUAL_SELECT_GROUP\n#endif\n\n#if (defined(GLX_SGIX_VISUAL_SELECT_GROUP) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_SGIX_VISUAL_SELECT_GROUP)) && !defined(REGAL_NO_TYPEDEF_GLX_SGIX_VISUAL_SELECT_GROUP)\n#define REGAL_NO_TYPEDEF_GLX_SGIX_VISUAL_SELECT_GROUP\n#endif\n\n#if (defined(GLX_SGIX_VISUAL_SELECT_GROUP) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_SGIX_VISUAL_SELECT_GROUP)) && !defined(REGAL_NO_NAMESPACE_GLX_SGIX_VISUAL_SELECT_GROUP)\n#define REGAL_NO_NAMESPACE_GLX_SGIX_VISUAL_SELECT_GROUP\n#endif\n\n#if (defined(GLX_SGIX_VISUAL_SELECT_GROUP) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_SGIX_VISUAL_SELECT_GROUP)) && !defined(REGAL_NO_PLUGIN_GLX_SGIX_VISUAL_SELECT_GROUP)\n#define REGAL_NO_PLUGIN_GLX_SGIX_VISUAL_SELECT_GROUP\n#endif\n\n#if (defined(GLX_SGIX_VISUAL_SELECT_GROUP) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_SGIX_VISUAL_SELECT_GROUP)) && !defined(REGAL_NO_DECLARATION_GLX_SGIX_VISUAL_SELECT_GROUP)\n#define REGAL_NO_DECLARATION_GLX_SGIX_VISUAL_SELECT_GROUP\n#endif\n\n#ifndef GLX_SGIX_visual_select_group\n#define GLX_SGIX_visual_select_group 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_SGIX_VISUAL_SELECT_GROUP\n#define GLX_VISUAL_SELECT_GROUP_SGIX 0x8028 /* 32808 */\n#endif\n\n/**\n ** GLX_SGI_cushion\n **/\n\n#if (defined(GLX_SGI_CUSHION) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_SGI_CUSHION)) && !defined(REGAL_NO_ENUM_GLX_SGI_CUSHION)\n#define REGAL_NO_ENUM_GLX_SGI_CUSHION\n#endif\n\n#if (defined(GLX_SGI_CUSHION) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_SGI_CUSHION)) && !defined(REGAL_NO_TYPEDEF_GLX_SGI_CUSHION)\n#define REGAL_NO_TYPEDEF_GLX_SGI_CUSHION\n#endif\n\n#if (defined(GLX_SGI_CUSHION) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_SGI_CUSHION)) && !defined(REGAL_NO_NAMESPACE_GLX_SGI_CUSHION)\n#define REGAL_NO_NAMESPACE_GLX_SGI_CUSHION\n#endif\n\n#if (defined(GLX_SGI_CUSHION) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_SGI_CUSHION)) && !defined(REGAL_NO_PLUGIN_GLX_SGI_CUSHION)\n#define REGAL_NO_PLUGIN_GLX_SGI_CUSHION\n#endif\n\n#if (defined(GLX_SGI_CUSHION) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_SGI_CUSHION)) && !defined(REGAL_NO_DECLARATION_GLX_SGI_CUSHION)\n#define REGAL_NO_DECLARATION_GLX_SGI_CUSHION\n#endif\n\n#ifndef GLX_SGI_cushion\n#define GLX_SGI_cushion 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GLX_SGI_CUSHION\ntypedef void (REGAL_CALL *PFNGLXCUSHIONSGIPROC)(Display *dpy, Window window, float cushion);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GLX_SGI_CUSHION\n#define glXCushionSGI                       rglXCushionSGI\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GLX_SGI_CUSHION\nREGAL_DECL void REGAL_CALL glXCushionSGI(Display *dpy, Window window, float cushion);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GLX_SGI_CUSHION\nREGAL_DECL void REGAL_CALL plugin_glXCushionSGI(Display *dpy, Window window, float cushion);\n#endif\n\n/**\n ** GLX_SGI_make_current_read\n **/\n\n#if (defined(GLX_SGI_MAKE_CURRENT_READ) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_SGI_MAKE_CURRENT_READ)) && !defined(REGAL_NO_ENUM_GLX_SGI_MAKE_CURRENT_READ)\n#define REGAL_NO_ENUM_GLX_SGI_MAKE_CURRENT_READ\n#endif\n\n#if (defined(GLX_SGI_MAKE_CURRENT_READ) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_SGI_MAKE_CURRENT_READ)) && !defined(REGAL_NO_TYPEDEF_GLX_SGI_MAKE_CURRENT_READ)\n#define REGAL_NO_TYPEDEF_GLX_SGI_MAKE_CURRENT_READ\n#endif\n\n#if (defined(GLX_SGI_MAKE_CURRENT_READ) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_SGI_MAKE_CURRENT_READ)) && !defined(REGAL_NO_NAMESPACE_GLX_SGI_MAKE_CURRENT_READ)\n#define REGAL_NO_NAMESPACE_GLX_SGI_MAKE_CURRENT_READ\n#endif\n\n#if (defined(GLX_SGI_MAKE_CURRENT_READ) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_SGI_MAKE_CURRENT_READ)) && !defined(REGAL_NO_PLUGIN_GLX_SGI_MAKE_CURRENT_READ)\n#define REGAL_NO_PLUGIN_GLX_SGI_MAKE_CURRENT_READ\n#endif\n\n#if (defined(GLX_SGI_MAKE_CURRENT_READ) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_SGI_MAKE_CURRENT_READ)) && !defined(REGAL_NO_DECLARATION_GLX_SGI_MAKE_CURRENT_READ)\n#define REGAL_NO_DECLARATION_GLX_SGI_MAKE_CURRENT_READ\n#endif\n\n#ifndef GLX_SGI_make_current_read\n#define GLX_SGI_make_current_read 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GLX_SGI_MAKE_CURRENT_READ\ntypedef Bool (REGAL_CALL *PFNGLXMAKECURRENTREADSGIPROC)(Display *dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx);\ntypedef GLXDrawable (REGAL_CALL *PFNGLXGETCURRENTREADDRAWABLESGIPROC)(void);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GLX_SGI_MAKE_CURRENT_READ\n#define glXGetCurrentReadDrawableSGI        rglXGetCurrentReadDrawableSGI\n#define glXMakeCurrentReadSGI               rglXMakeCurrentReadSGI\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GLX_SGI_MAKE_CURRENT_READ\nREGAL_DECL Bool REGAL_CALL glXMakeCurrentReadSGI(Display *dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx);\nREGAL_DECL GLXDrawable REGAL_CALL glXGetCurrentReadDrawableSGI(void);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GLX_SGI_MAKE_CURRENT_READ\nREGAL_DECL Bool REGAL_CALL plugin_glXMakeCurrentReadSGI(Display *dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx);\nREGAL_DECL GLXDrawable REGAL_CALL plugin_glXGetCurrentReadDrawableSGI(void);\n#endif\n\n/**\n ** GLX_SGI_swap_control\n **/\n\n#if (defined(GLX_SGI_SWAP_CONTROL) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_SGI_SWAP_CONTROL)) && !defined(REGAL_NO_ENUM_GLX_SGI_SWAP_CONTROL)\n#define REGAL_NO_ENUM_GLX_SGI_SWAP_CONTROL\n#endif\n\n#if (defined(GLX_SGI_SWAP_CONTROL) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_SGI_SWAP_CONTROL)) && !defined(REGAL_NO_TYPEDEF_GLX_SGI_SWAP_CONTROL)\n#define REGAL_NO_TYPEDEF_GLX_SGI_SWAP_CONTROL\n#endif\n\n#if (defined(GLX_SGI_SWAP_CONTROL) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_SGI_SWAP_CONTROL)) && !defined(REGAL_NO_NAMESPACE_GLX_SGI_SWAP_CONTROL)\n#define REGAL_NO_NAMESPACE_GLX_SGI_SWAP_CONTROL\n#endif\n\n#if (defined(GLX_SGI_SWAP_CONTROL) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_SGI_SWAP_CONTROL)) && !defined(REGAL_NO_PLUGIN_GLX_SGI_SWAP_CONTROL)\n#define REGAL_NO_PLUGIN_GLX_SGI_SWAP_CONTROL\n#endif\n\n#if (defined(GLX_SGI_SWAP_CONTROL) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_SGI_SWAP_CONTROL)) && !defined(REGAL_NO_DECLARATION_GLX_SGI_SWAP_CONTROL)\n#define REGAL_NO_DECLARATION_GLX_SGI_SWAP_CONTROL\n#endif\n\n#ifndef GLX_SGI_swap_control\n#define GLX_SGI_swap_control 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GLX_SGI_SWAP_CONTROL\ntypedef int (REGAL_CALL *PFNGLXSWAPINTERVALSGIPROC)(int interval);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GLX_SGI_SWAP_CONTROL\n#define glXSwapIntervalSGI                  rglXSwapIntervalSGI\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GLX_SGI_SWAP_CONTROL\nREGAL_DECL int REGAL_CALL glXSwapIntervalSGI(int interval);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GLX_SGI_SWAP_CONTROL\nREGAL_DECL int REGAL_CALL plugin_glXSwapIntervalSGI(int interval);\n#endif\n\n/**\n ** GLX_SGI_video_sync\n **/\n\n#if (defined(GLX_SGI_VIDEO_SYNC) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_SGI_VIDEO_SYNC)) && !defined(REGAL_NO_ENUM_GLX_SGI_VIDEO_SYNC)\n#define REGAL_NO_ENUM_GLX_SGI_VIDEO_SYNC\n#endif\n\n#if (defined(GLX_SGI_VIDEO_SYNC) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_SGI_VIDEO_SYNC)) && !defined(REGAL_NO_TYPEDEF_GLX_SGI_VIDEO_SYNC)\n#define REGAL_NO_TYPEDEF_GLX_SGI_VIDEO_SYNC\n#endif\n\n#if (defined(GLX_SGI_VIDEO_SYNC) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_SGI_VIDEO_SYNC)) && !defined(REGAL_NO_NAMESPACE_GLX_SGI_VIDEO_SYNC)\n#define REGAL_NO_NAMESPACE_GLX_SGI_VIDEO_SYNC\n#endif\n\n#if (defined(GLX_SGI_VIDEO_SYNC) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_SGI_VIDEO_SYNC)) && !defined(REGAL_NO_PLUGIN_GLX_SGI_VIDEO_SYNC)\n#define REGAL_NO_PLUGIN_GLX_SGI_VIDEO_SYNC\n#endif\n\n#if (defined(GLX_SGI_VIDEO_SYNC) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_SGI_VIDEO_SYNC)) && !defined(REGAL_NO_DECLARATION_GLX_SGI_VIDEO_SYNC)\n#define REGAL_NO_DECLARATION_GLX_SGI_VIDEO_SYNC\n#endif\n\n#ifndef GLX_SGI_video_sync\n#define GLX_SGI_video_sync 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GLX_SGI_VIDEO_SYNC\ntypedef int (REGAL_CALL *PFNGLXGETVIDEOSYNCSGIPROC)(unsigned int *count);\ntypedef int (REGAL_CALL *PFNGLXWAITVIDEOSYNCSGIPROC)(int divisor, int remainder, unsigned int *count);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GLX_SGI_VIDEO_SYNC\n#define glXGetVideoSyncSGI                  rglXGetVideoSyncSGI\n#define glXWaitVideoSyncSGI                 rglXWaitVideoSyncSGI\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GLX_SGI_VIDEO_SYNC\nREGAL_DECL int REGAL_CALL glXGetVideoSyncSGI(unsigned int *count);\nREGAL_DECL int REGAL_CALL glXWaitVideoSyncSGI(int divisor, int remainder, unsigned int *count);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GLX_SGI_VIDEO_SYNC\nREGAL_DECL int REGAL_CALL plugin_glXGetVideoSyncSGI(unsigned int *count);\nREGAL_DECL int REGAL_CALL plugin_glXWaitVideoSyncSGI(int divisor, int remainder, unsigned int *count);\n#endif\n\n/**\n ** GLX_SUN_get_transparent_index\n **/\n\n#if (defined(GLX_SUN_GET_TRANSPARENT_INDEX) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_SUN_GET_TRANSPARENT_INDEX)) && !defined(REGAL_NO_ENUM_GLX_SUN_GET_TRANSPARENT_INDEX)\n#define REGAL_NO_ENUM_GLX_SUN_GET_TRANSPARENT_INDEX\n#endif\n\n#if (defined(GLX_SUN_GET_TRANSPARENT_INDEX) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_SUN_GET_TRANSPARENT_INDEX)) && !defined(REGAL_NO_TYPEDEF_GLX_SUN_GET_TRANSPARENT_INDEX)\n#define REGAL_NO_TYPEDEF_GLX_SUN_GET_TRANSPARENT_INDEX\n#endif\n\n#if (defined(GLX_SUN_GET_TRANSPARENT_INDEX) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_SUN_GET_TRANSPARENT_INDEX)) && !defined(REGAL_NO_NAMESPACE_GLX_SUN_GET_TRANSPARENT_INDEX)\n#define REGAL_NO_NAMESPACE_GLX_SUN_GET_TRANSPARENT_INDEX\n#endif\n\n#if (defined(GLX_SUN_GET_TRANSPARENT_INDEX) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_SUN_GET_TRANSPARENT_INDEX)) && !defined(REGAL_NO_PLUGIN_GLX_SUN_GET_TRANSPARENT_INDEX)\n#define REGAL_NO_PLUGIN_GLX_SUN_GET_TRANSPARENT_INDEX\n#endif\n\n#if (defined(GLX_SUN_GET_TRANSPARENT_INDEX) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_SUN_GET_TRANSPARENT_INDEX)) && !defined(REGAL_NO_DECLARATION_GLX_SUN_GET_TRANSPARENT_INDEX)\n#define REGAL_NO_DECLARATION_GLX_SUN_GET_TRANSPARENT_INDEX\n#endif\n\n#ifndef GLX_SUN_get_transparent_index\n#define GLX_SUN_get_transparent_index 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GLX_SUN_GET_TRANSPARENT_INDEX\ntypedef Status (REGAL_CALL *PFNGLXGETTRANSPARENTINDEXSUNPROC)(Display *dpy, Window overlay, Window underlay, unsigned long *pTransparentIndex);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GLX_SUN_GET_TRANSPARENT_INDEX\n#define glXGetTransparentIndexSUN           rglXGetTransparentIndexSUN\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GLX_SUN_GET_TRANSPARENT_INDEX\nREGAL_DECL Status REGAL_CALL glXGetTransparentIndexSUN(Display *dpy, Window overlay, Window underlay, unsigned long *pTransparentIndex);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GLX_SUN_GET_TRANSPARENT_INDEX\nREGAL_DECL Status REGAL_CALL plugin_glXGetTransparentIndexSUN(Display *dpy, Window overlay, Window underlay, unsigned long *pTransparentIndex);\n#endif\n\n/**\n ** GLX_SUN_video_resize\n **/\n\n#if (defined(GLX_SUN_VIDEO_RESIZE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_SUN_VIDEO_RESIZE)) && !defined(REGAL_NO_ENUM_GLX_SUN_VIDEO_RESIZE)\n#define REGAL_NO_ENUM_GLX_SUN_VIDEO_RESIZE\n#endif\n\n#if (defined(GLX_SUN_VIDEO_RESIZE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_SUN_VIDEO_RESIZE)) && !defined(REGAL_NO_TYPEDEF_GLX_SUN_VIDEO_RESIZE)\n#define REGAL_NO_TYPEDEF_GLX_SUN_VIDEO_RESIZE\n#endif\n\n#if (defined(GLX_SUN_VIDEO_RESIZE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_SUN_VIDEO_RESIZE)) && !defined(REGAL_NO_NAMESPACE_GLX_SUN_VIDEO_RESIZE)\n#define REGAL_NO_NAMESPACE_GLX_SUN_VIDEO_RESIZE\n#endif\n\n#if (defined(GLX_SUN_VIDEO_RESIZE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_SUN_VIDEO_RESIZE)) && !defined(REGAL_NO_PLUGIN_GLX_SUN_VIDEO_RESIZE)\n#define REGAL_NO_PLUGIN_GLX_SUN_VIDEO_RESIZE\n#endif\n\n#if (defined(GLX_SUN_VIDEO_RESIZE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_SUN_VIDEO_RESIZE)) && !defined(REGAL_NO_DECLARATION_GLX_SUN_VIDEO_RESIZE)\n#define REGAL_NO_DECLARATION_GLX_SUN_VIDEO_RESIZE\n#endif\n\n#ifndef GLX_SUN_video_resize\n#define GLX_SUN_video_resize 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_SUN_VIDEO_RESIZE\n#define GLX_VIDEO_RESIZE_SUN             0x8171     /* 33137 */\n#define GL_VIDEO_RESIZE_COMPENSATION_SUN 0x85cd     /* 34253 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GLX_SUN_VIDEO_RESIZE\ntypedef int (REGAL_CALL *PFNGLXGETVIDEORESIZESUNPROC)(Display *display, GLXDrawable window, float *factor);\ntypedef int (REGAL_CALL *PFNGLXVIDEORESIZESUNPROC)(Display *display, GLXDrawable window, float factor);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GLX_SUN_VIDEO_RESIZE\n#define glXGetVideoResizeSUN                rglXGetVideoResizeSUN\n#define glXVideoResizeSUN                   rglXVideoResizeSUN\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GLX_SUN_VIDEO_RESIZE\nREGAL_DECL int REGAL_CALL glXGetVideoResizeSUN(Display *display, GLXDrawable window, float *factor);\nREGAL_DECL int REGAL_CALL glXVideoResizeSUN(Display *display, GLXDrawable window, float factor);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GLX_SUN_VIDEO_RESIZE\nREGAL_DECL int REGAL_CALL plugin_glXGetVideoResizeSUN(Display *display, GLXDrawable window, float *factor);\nREGAL_DECL int REGAL_CALL plugin_glXVideoResizeSUN(Display *display, GLXDrawable window, float factor);\n#endif\n\n/**\n ** GLX_VERSION_1_0\n **/\n\n#if (defined(GLX_VERSION_1_0) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_VERSION_1_0)) && !defined(REGAL_NO_ENUM_GLX_VERSION_1_0)\n#define REGAL_NO_ENUM_GLX_VERSION_1_0\n#endif\n\n#if (defined(GLX_VERSION_1_0) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_VERSION_1_0)) && !defined(REGAL_NO_TYPEDEF_GLX_VERSION_1_0)\n#define REGAL_NO_TYPEDEF_GLX_VERSION_1_0\n#endif\n\n#if (defined(GLX_VERSION_1_0) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_VERSION_1_0)) && !defined(REGAL_NO_NAMESPACE_GLX_VERSION_1_0)\n#define REGAL_NO_NAMESPACE_GLX_VERSION_1_0\n#endif\n\n#if (defined(GLX_VERSION_1_0) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_VERSION_1_0)) && !defined(REGAL_NO_PLUGIN_GLX_VERSION_1_0)\n#define REGAL_NO_PLUGIN_GLX_VERSION_1_0\n#endif\n\n#if (defined(GLX_VERSION_1_0) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_VERSION_1_0)) && !defined(REGAL_NO_DECLARATION_GLX_VERSION_1_0)\n#define REGAL_NO_DECLARATION_GLX_VERSION_1_0\n#endif\n\n#ifndef GLX_VERSION_1_0\n#define GLX_VERSION_1_0 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_VERSION_1_0\n#define GLX_BAD_SCREEN       0x1\n#define GLX_USE_GL           0x1\n#define GLX_ACCUM_BLUE_SIZE  0x10     /* 16 */\n#define GLX_ACCUM_ALPHA_SIZE 0x11     /* 17 */\n#define GLX_BAD_ATTRIBUTE    0x2\n#define GLX_BUFFER_SIZE      0x2\n#define GLX_LEVEL            0x3\n#define GLX_NO_EXTENSION     0x3\n#define GLX_BAD_VISUAL       0x4\n#define GLX_RGBA             0x4\n#define GLX_BAD_CONTEXT      0x5\n#define GLX_DOUBLEBUFFER     0x5\n#define GLX_BAD_VALUE        0x6\n#define GLX_STEREO           0x6\n#define GLX_AUX_BUFFERS      0x7\n#define GLX_BAD_ENUM         0x7\n#define GLX_RED_SIZE         0x8\n#define GLX_GREEN_SIZE       0x9\n#define GLX_BLUE_SIZE        0xa      /* 10 */\n#define GLX_ALPHA_SIZE       0xb      /* 11 */\n#define GLX_DEPTH_SIZE       0xc      /* 12 */\n#define GLX_STENCIL_SIZE     0xd      /* 13 */\n#define GLX_ACCUM_RED_SIZE   0xe      /* 14 */\n#define GLX_ACCUM_GREEN_SIZE 0xf      /* 15 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GLX_VERSION_1_0\ntypedef Bool (REGAL_CALL *PFNGLXISDIRECTPROC)(Display *dpy, GLXContext ctx);\ntypedef Bool (REGAL_CALL *PFNGLXMAKECURRENTPROC)(Display *dpy, GLXDrawable drawable, GLXContext ctx);\ntypedef Bool (REGAL_CALL *PFNGLXQUERYEXTENSIONPROC)(Display *dpy, int *errorBase, int *eventBase);\ntypedef Bool (REGAL_CALL *PFNGLXQUERYVERSIONPROC)(Display *dpy, int *major, int *minor);\ntypedef GLXContext (REGAL_CALL *PFNGLXCREATECONTEXTPROC)(Display *dpy, XVisualInfo *vis, GLXContext shareList, Bool direct);\ntypedef GLXContext (REGAL_CALL *PFNGLXGETCURRENTCONTEXTPROC)(void);\ntypedef GLXDrawable (REGAL_CALL *PFNGLXGETCURRENTDRAWABLEPROC)(void);\ntypedef GLXPixmap (REGAL_CALL *PFNGLXCREATEGLXPIXMAPPROC)(Display *dpy, XVisualInfo *vis, Pixmap pixmap);\ntypedef XVisualInfo *(REGAL_CALL *PFNGLXCHOOSEVISUALPROC)(Display *dpy, int screen, int *attribList);\ntypedef int (REGAL_CALL *PFNGLXGETCONFIGPROC)(Display *dpy, XVisualInfo *vis, int attrib, int *value);\ntypedef void (REGAL_CALL *PFNGLXCOPYCONTEXTPROC)(Display *dpy, GLXContext src, GLXContext dst, unsigned long mask);\ntypedef void (REGAL_CALL *PFNGLXDESTROYCONTEXTPROC)(Display *dpy, GLXContext ctx);\ntypedef void (REGAL_CALL *PFNGLXDESTROYGLXPIXMAPPROC)(Display *dpy, GLXPixmap pix);\ntypedef void (REGAL_CALL *PFNGLXSWAPBUFFERSPROC)(Display *dpy, GLXDrawable drawable);\ntypedef void (REGAL_CALL *PFNGLXUSEXFONTPROC)(Font font, int first, int count, int listBase);\ntypedef void (REGAL_CALL *PFNGLXWAITGLPROC)(void);\ntypedef void (REGAL_CALL *PFNGLXWAITXPROC)(void);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GLX_VERSION_1_0\n#define glXChooseVisual                     rglXChooseVisual\n#define glXCopyContext                      rglXCopyContext\n#define glXCreateContext                    rglXCreateContext\n#define glXCreateGLXPixmap                  rglXCreateGLXPixmap\n#define glXDestroyContext                   rglXDestroyContext\n#define glXDestroyGLXPixmap                 rglXDestroyGLXPixmap\n#define glXGetConfig                        rglXGetConfig\n#define glXGetCurrentContext                rglXGetCurrentContext\n#define glXGetCurrentDrawable               rglXGetCurrentDrawable\n#define glXIsDirect                         rglXIsDirect\n#define glXMakeCurrent                      rglXMakeCurrent\n#define glXQueryExtension                   rglXQueryExtension\n#define glXQueryVersion                     rglXQueryVersion\n#define glXSwapBuffers                      rglXSwapBuffers\n#define glXUseXFont                         rglXUseXFont\n#define glXWaitGL                           rglXWaitGL\n#define glXWaitX                            rglXWaitX\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GLX_VERSION_1_0\nREGAL_DECL Bool REGAL_CALL glXIsDirect(Display *dpy, GLXContext ctx);\nREGAL_DECL Bool REGAL_CALL glXMakeCurrent(Display *dpy, GLXDrawable drawable, GLXContext ctx);\nREGAL_DECL Bool REGAL_CALL glXQueryExtension(Display *dpy, int *errorBase, int *eventBase);\nREGAL_DECL Bool REGAL_CALL glXQueryVersion(Display *dpy, int *major, int *minor);\nREGAL_DECL GLXContext REGAL_CALL glXCreateContext(Display *dpy, XVisualInfo *vis, GLXContext shareList, Bool direct);\nREGAL_DECL GLXContext REGAL_CALL glXGetCurrentContext(void);\nREGAL_DECL GLXDrawable REGAL_CALL glXGetCurrentDrawable(void);\nREGAL_DECL GLXPixmap REGAL_CALL glXCreateGLXPixmap(Display *dpy, XVisualInfo *vis, Pixmap pixmap);\nREGAL_DECL XVisualInfo *REGAL_CALL glXChooseVisual(Display *dpy, int screen, int *attribList);\nREGAL_DECL int REGAL_CALL glXGetConfig(Display *dpy, XVisualInfo *vis, int attrib, int *value);\nREGAL_DECL void REGAL_CALL glXCopyContext(Display *dpy, GLXContext src, GLXContext dst, unsigned long mask);\nREGAL_DECL void REGAL_CALL glXDestroyContext(Display *dpy, GLXContext ctx);\nREGAL_DECL void REGAL_CALL glXDestroyGLXPixmap(Display *dpy, GLXPixmap pix);\nREGAL_DECL void REGAL_CALL glXSwapBuffers(Display *dpy, GLXDrawable drawable);\nREGAL_DECL void REGAL_CALL glXUseXFont(Font font, int first, int count, int listBase);\nREGAL_DECL void REGAL_CALL glXWaitGL(void);\nREGAL_DECL void REGAL_CALL glXWaitX(void);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GLX_VERSION_1_0\nREGAL_DECL Bool REGAL_CALL plugin_glXIsDirect(Display *dpy, GLXContext ctx);\nREGAL_DECL Bool REGAL_CALL plugin_glXMakeCurrent(Display *dpy, GLXDrawable drawable, GLXContext ctx);\nREGAL_DECL Bool REGAL_CALL plugin_glXQueryExtension(Display *dpy, int *errorBase, int *eventBase);\nREGAL_DECL Bool REGAL_CALL plugin_glXQueryVersion(Display *dpy, int *major, int *minor);\nREGAL_DECL GLXContext REGAL_CALL plugin_glXCreateContext(Display *dpy, XVisualInfo *vis, GLXContext shareList, Bool direct);\nREGAL_DECL GLXContext REGAL_CALL plugin_glXGetCurrentContext(void);\nREGAL_DECL GLXDrawable REGAL_CALL plugin_glXGetCurrentDrawable(void);\nREGAL_DECL GLXPixmap REGAL_CALL plugin_glXCreateGLXPixmap(Display *dpy, XVisualInfo *vis, Pixmap pixmap);\nREGAL_DECL XVisualInfo *REGAL_CALL plugin_glXChooseVisual(Display *dpy, int screen, int *attribList);\nREGAL_DECL int REGAL_CALL plugin_glXGetConfig(Display *dpy, XVisualInfo *vis, int attrib, int *value);\nREGAL_DECL void REGAL_CALL plugin_glXCopyContext(Display *dpy, GLXContext src, GLXContext dst, unsigned long mask);\nREGAL_DECL void REGAL_CALL plugin_glXDestroyContext(Display *dpy, GLXContext ctx);\nREGAL_DECL void REGAL_CALL plugin_glXDestroyGLXPixmap(Display *dpy, GLXPixmap pix);\nREGAL_DECL void REGAL_CALL plugin_glXSwapBuffers(Display *dpy, GLXDrawable drawable);\nREGAL_DECL void REGAL_CALL plugin_glXUseXFont(Font font, int first, int count, int listBase);\nREGAL_DECL void REGAL_CALL plugin_glXWaitGL(void);\nREGAL_DECL void REGAL_CALL plugin_glXWaitX(void);\n#endif\n\n/**\n ** GLX_VERSION_1_1\n **/\n\n#if (defined(GLX_VERSION_1_1) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_VERSION_1_1)) && !defined(REGAL_NO_ENUM_GLX_VERSION_1_1)\n#define REGAL_NO_ENUM_GLX_VERSION_1_1\n#endif\n\n#if (defined(GLX_VERSION_1_1) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_VERSION_1_1)) && !defined(REGAL_NO_TYPEDEF_GLX_VERSION_1_1)\n#define REGAL_NO_TYPEDEF_GLX_VERSION_1_1\n#endif\n\n#if (defined(GLX_VERSION_1_1) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_VERSION_1_1)) && !defined(REGAL_NO_NAMESPACE_GLX_VERSION_1_1)\n#define REGAL_NO_NAMESPACE_GLX_VERSION_1_1\n#endif\n\n#if (defined(GLX_VERSION_1_1) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_VERSION_1_1)) && !defined(REGAL_NO_PLUGIN_GLX_VERSION_1_1)\n#define REGAL_NO_PLUGIN_GLX_VERSION_1_1\n#endif\n\n#if (defined(GLX_VERSION_1_1) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_VERSION_1_1)) && !defined(REGAL_NO_DECLARATION_GLX_VERSION_1_1)\n#define REGAL_NO_DECLARATION_GLX_VERSION_1_1\n#endif\n\n#ifndef GLX_VERSION_1_1\n#define GLX_VERSION_1_1 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_VERSION_1_1\n#define GLX_VENDOR     0x1\n#define GLX_VERSION    0x2\n#define GLX_EXTENSIONS 0x3\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GLX_VERSION_1_1\ntypedef const char *(REGAL_CALL *PFNGLXGETCLIENTSTRINGPROC)(Display *dpy, int name);\ntypedef const char *(REGAL_CALL *PFNGLXQUERYEXTENSIONSSTRINGPROC)(Display *dpy, int screen);\ntypedef const char *(REGAL_CALL *PFNGLXQUERYSERVERSTRINGPROC)(Display *dpy, int screen, int name);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GLX_VERSION_1_1\n#define glXGetClientString                  rglXGetClientString\n#define glXQueryExtensionsString            rglXQueryExtensionsString\n#define glXQueryServerString                rglXQueryServerString\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GLX_VERSION_1_1\nREGAL_DECL const char *REGAL_CALL glXGetClientString(Display *dpy, int name);\nREGAL_DECL const char *REGAL_CALL glXQueryExtensionsString(Display *dpy, int screen);\nREGAL_DECL const char *REGAL_CALL glXQueryServerString(Display *dpy, int screen, int name);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GLX_VERSION_1_1\nREGAL_DECL const char *REGAL_CALL plugin_glXGetClientString(Display *dpy, int name);\nREGAL_DECL const char *REGAL_CALL plugin_glXQueryExtensionsString(Display *dpy, int screen);\nREGAL_DECL const char *REGAL_CALL plugin_glXQueryServerString(Display *dpy, int screen, int name);\n#endif\n\n/**\n ** GLX_VERSION_1_2\n **/\n\n#if (defined(GLX_VERSION_1_2) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_VERSION_1_2)) && !defined(REGAL_NO_ENUM_GLX_VERSION_1_2)\n#define REGAL_NO_ENUM_GLX_VERSION_1_2\n#endif\n\n#if (defined(GLX_VERSION_1_2) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_VERSION_1_2)) && !defined(REGAL_NO_TYPEDEF_GLX_VERSION_1_2)\n#define REGAL_NO_TYPEDEF_GLX_VERSION_1_2\n#endif\n\n#if (defined(GLX_VERSION_1_2) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_VERSION_1_2)) && !defined(REGAL_NO_NAMESPACE_GLX_VERSION_1_2)\n#define REGAL_NO_NAMESPACE_GLX_VERSION_1_2\n#endif\n\n#if (defined(GLX_VERSION_1_2) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_VERSION_1_2)) && !defined(REGAL_NO_PLUGIN_GLX_VERSION_1_2)\n#define REGAL_NO_PLUGIN_GLX_VERSION_1_2\n#endif\n\n#if (defined(GLX_VERSION_1_2) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_VERSION_1_2)) && !defined(REGAL_NO_DECLARATION_GLX_VERSION_1_2)\n#define REGAL_NO_DECLARATION_GLX_VERSION_1_2\n#endif\n\n#ifndef GLX_VERSION_1_2\n#define GLX_VERSION_1_2 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GLX_VERSION_1_2\ntypedef Display *(REGAL_CALL *PFNGLXGETCURRENTDISPLAYPROC)(void);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GLX_VERSION_1_2\n#define glXGetCurrentDisplay                rglXGetCurrentDisplay\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GLX_VERSION_1_2\nREGAL_DECL Display *REGAL_CALL glXGetCurrentDisplay(void);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GLX_VERSION_1_2\nREGAL_DECL Display *REGAL_CALL plugin_glXGetCurrentDisplay(void);\n#endif\n\n/**\n ** GLX_VERSION_1_3\n **/\n\n#if (defined(GLX_VERSION_1_3) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_VERSION_1_3)) && !defined(REGAL_NO_ENUM_GLX_VERSION_1_3)\n#define REGAL_NO_ENUM_GLX_VERSION_1_3\n#endif\n\n#if (defined(GLX_VERSION_1_3) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_VERSION_1_3)) && !defined(REGAL_NO_TYPEDEF_GLX_VERSION_1_3)\n#define REGAL_NO_TYPEDEF_GLX_VERSION_1_3\n#endif\n\n#if (defined(GLX_VERSION_1_3) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_VERSION_1_3)) && !defined(REGAL_NO_NAMESPACE_GLX_VERSION_1_3)\n#define REGAL_NO_NAMESPACE_GLX_VERSION_1_3\n#endif\n\n#if (defined(GLX_VERSION_1_3) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_VERSION_1_3)) && !defined(REGAL_NO_PLUGIN_GLX_VERSION_1_3)\n#define REGAL_NO_PLUGIN_GLX_VERSION_1_3\n#endif\n\n#if (defined(GLX_VERSION_1_3) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_VERSION_1_3)) && !defined(REGAL_NO_DECLARATION_GLX_VERSION_1_3)\n#define REGAL_NO_DECLARATION_GLX_VERSION_1_3\n#endif\n\n#ifndef GLX_VERSION_1_3\n#define GLX_VERSION_1_3 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_VERSION_1_3\n#define GLX_FRONT_LEFT_BUFFER_BIT   0x1\n#define GLX_RGBA_BIT                0x1\n#define GLX_WINDOW_BIT              0x1\n#define GLX_AUX_BUFFERS_BIT         0x10           /* 16 */\n#define GLX_COLOR_INDEX_BIT         0x2\n#define GLX_FRONT_RIGHT_BUFFER_BIT  0x2\n#define GLX_PIXMAP_BIT              0x2\n#define GLX_CONFIG_CAVEAT           0x20           /* 32 */\n#define GLX_DEPTH_BUFFER_BIT        0x20           /* 32 */\n#define GLX_X_VISUAL_TYPE           0x22           /* 34 */\n#define GLX_TRANSPARENT_TYPE        0x23           /* 35 */\n#define GLX_TRANSPARENT_INDEX_VALUE 0x24           /* 36 */\n#define GLX_TRANSPARENT_RED_VALUE   0x25           /* 37 */\n#define GLX_TRANSPARENT_GREEN_VALUE 0x26           /* 38 */\n#define GLX_TRANSPARENT_BLUE_VALUE  0x27           /* 39 */\n#define GLX_TRANSPARENT_ALPHA_VALUE 0x28           /* 40 */\n#define GLX_BACK_LEFT_BUFFER_BIT    0x4\n#define GLX_PBUFFER_BIT             0x4\n#define GLX_STENCIL_BUFFER_BIT      0x40           /* 64 */\n#define GLX_BACK_RIGHT_BUFFER_BIT   0x8\n#define GLX_ACCUM_BUFFER_BIT        0x80           /* 128 */\n#define GLX_NONE                    0x8000         /* 32768 */\n#define GLX_PBUFFER_CLOBBER_MASK    0x8000000      /* 134217728 */\n#define GLX_SLOW_CONFIG             0x8001         /* 32769 */\n#define GLX_TRUE_COLOR              0x8002         /* 32770 */\n#define GLX_DIRECT_COLOR            0x8003         /* 32771 */\n#define GLX_PSEUDO_COLOR            0x8004         /* 32772 */\n#define GLX_STATIC_COLOR            0x8005         /* 32773 */\n#define GLX_GRAY_SCALE              0x8006         /* 32774 */\n#define GLX_STATIC_GRAY             0x8007         /* 32775 */\n#define GLX_TRANSPARENT_RGB         0x8008         /* 32776 */\n#define GLX_TRANSPARENT_INDEX       0x8009         /* 32777 */\n#define GLX_VISUAL_ID               0x800b         /* 32779 */\n#define GLX_SCREEN                  0x800c         /* 32780 */\n#define GLX_NON_CONFORMANT_CONFIG   0x800d         /* 32781 */\n#define GLX_DRAWABLE_TYPE           0x8010         /* 32784 */\n#define GLX_RENDER_TYPE             0x8011         /* 32785 */\n#define GLX_X_RENDERABLE            0x8012         /* 32786 */\n#define GLX_FBCONFIG_ID             0x8013         /* 32787 */\n#define GLX_RGBA_TYPE               0x8014         /* 32788 */\n#define GLX_COLOR_INDEX_TYPE        0x8015         /* 32789 */\n#define GLX_MAX_PBUFFER_WIDTH       0x8016         /* 32790 */\n#define GLX_MAX_PBUFFER_HEIGHT      0x8017         /* 32791 */\n#define GLX_MAX_PBUFFER_PIXELS      0x8018         /* 32792 */\n#define GLX_PRESERVED_CONTENTS      0x801b         /* 32795 */\n#define GLX_LARGEST_PBUFFER         0x801c         /* 32796 */\n#define GLX_WIDTH                   0x801d         /* 32797 */\n#define GLX_HEIGHT                  0x801e         /* 32798 */\n#define GLX_EVENT_MASK              0x801f         /* 32799 */\n#define GLX_DAMAGED                 0x8020         /* 32800 */\n#define GLX_SAVED                   0x8021         /* 32801 */\n#define GLX_WINDOW                  0x8022         /* 32802 */\n#define GLX_PBUFFER                 0x8023         /* 32803 */\n#define GLX_PBUFFER_HEIGHT          0x8040         /* 32832 */\n#define GLX_PBUFFER_WIDTH           0x8041         /* 32833 */\n#define GLX_DONT_CARE               0xffffffff     /* 4294967295 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GLX_VERSION_1_3\ntypedef Bool (REGAL_CALL *PFNGLXMAKECONTEXTCURRENTPROC)(Display *display, GLXDrawable draw, GLXDrawable read, GLXContext ctx);\ntypedef GLXContext (REGAL_CALL *PFNGLXCREATENEWCONTEXTPROC)(Display *dpy, GLXFBConfig config, int render_type, GLXContext share_list, Bool direct);\ntypedef GLXDrawable (REGAL_CALL *PFNGLXGETCURRENTREADDRAWABLEPROC)(void);\ntypedef GLXFBConfig *(REGAL_CALL *PFNGLXCHOOSEFBCONFIGPROC)(Display *dpy, int screen, const int *attrib_list, int *nelements);\ntypedef GLXFBConfig *(REGAL_CALL *PFNGLXGETFBCONFIGSPROC)(Display *dpy, int screen, int *nelements);\ntypedef GLXPbuffer (REGAL_CALL *PFNGLXCREATEPBUFFERPROC)(Display *dpy, GLXFBConfig config, const int *attrib_list);\ntypedef GLXPixmap (REGAL_CALL *PFNGLXCREATEPIXMAPPROC)(Display *dpy, GLXFBConfig config, Pixmap pixmap, const int *attrib_list);\ntypedef GLXWindow (REGAL_CALL *PFNGLXCREATEWINDOWPROC)(Display *dpy, GLXFBConfig config, Window win, const int *attrib_list);\ntypedef XVisualInfo *(REGAL_CALL *PFNGLXGETVISUALFROMFBCONFIGPROC)(Display *dpy, GLXFBConfig config);\ntypedef int (REGAL_CALL *PFNGLXGETFBCONFIGATTRIBPROC)(Display *dpy, GLXFBConfig config, int attribute, int *value);\ntypedef int (REGAL_CALL *PFNGLXQUERYCONTEXTPROC)(Display *dpy, GLXContext ctx, int attribute, int *value);\ntypedef void (REGAL_CALL *PFNGLXDESTROYPBUFFERPROC)(Display *dpy, GLXPbuffer pbuf);\ntypedef void (REGAL_CALL *PFNGLXDESTROYPIXMAPPROC)(Display *dpy, GLXPixmap pixmap);\ntypedef void (REGAL_CALL *PFNGLXDESTROYWINDOWPROC)(Display *dpy, GLXWindow win);\ntypedef void (REGAL_CALL *PFNGLXGETSELECTEDEVENTPROC)(Display *dpy, GLXDrawable draw, unsigned long *event_mask);\ntypedef void (REGAL_CALL *PFNGLXQUERYDRAWABLEPROC)(Display *dpy, GLXDrawable draw, int attribute, unsigned int *value);\ntypedef void (REGAL_CALL *PFNGLXSELECTEVENTPROC)(Display *dpy, GLXDrawable draw, unsigned long event_mask);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GLX_VERSION_1_3\n#define glXChooseFBConfig                   rglXChooseFBConfig\n#define glXCreateNewContext                 rglXCreateNewContext\n#define glXCreatePbuffer                    rglXCreatePbuffer\n#define glXCreatePixmap                     rglXCreatePixmap\n#define glXCreateWindow                     rglXCreateWindow\n#define glXDestroyPbuffer                   rglXDestroyPbuffer\n#define glXDestroyPixmap                    rglXDestroyPixmap\n#define glXDestroyWindow                    rglXDestroyWindow\n#define glXGetCurrentReadDrawable           rglXGetCurrentReadDrawable\n#define glXGetFBConfigAttrib                rglXGetFBConfigAttrib\n#define glXGetFBConfigs                     rglXGetFBConfigs\n#define glXGetSelectedEvent                 rglXGetSelectedEvent\n#define glXGetVisualFromFBConfig            rglXGetVisualFromFBConfig\n#define glXMakeContextCurrent               rglXMakeContextCurrent\n#define glXQueryContext                     rglXQueryContext\n#define glXQueryDrawable                    rglXQueryDrawable\n#define glXSelectEvent                      rglXSelectEvent\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GLX_VERSION_1_3\nREGAL_DECL Bool REGAL_CALL glXMakeContextCurrent(Display *display, GLXDrawable draw, GLXDrawable read, GLXContext ctx);\nREGAL_DECL GLXContext REGAL_CALL glXCreateNewContext(Display *dpy, GLXFBConfig config, int render_type, GLXContext share_list, Bool direct);\nREGAL_DECL GLXDrawable REGAL_CALL glXGetCurrentReadDrawable(void);\nREGAL_DECL GLXFBConfig *REGAL_CALL glXChooseFBConfig(Display *dpy, int screen, const int *attrib_list, int *nelements);\nREGAL_DECL GLXFBConfig *REGAL_CALL glXGetFBConfigs(Display *dpy, int screen, int *nelements);\nREGAL_DECL GLXPbuffer REGAL_CALL glXCreatePbuffer(Display *dpy, GLXFBConfig config, const int *attrib_list);\nREGAL_DECL GLXPixmap REGAL_CALL glXCreatePixmap(Display *dpy, GLXFBConfig config, Pixmap pixmap, const int *attrib_list);\nREGAL_DECL GLXWindow REGAL_CALL glXCreateWindow(Display *dpy, GLXFBConfig config, Window win, const int *attrib_list);\nREGAL_DECL XVisualInfo *REGAL_CALL glXGetVisualFromFBConfig(Display *dpy, GLXFBConfig config);\nREGAL_DECL int REGAL_CALL glXGetFBConfigAttrib(Display *dpy, GLXFBConfig config, int attribute, int *value);\nREGAL_DECL int REGAL_CALL glXQueryContext(Display *dpy, GLXContext ctx, int attribute, int *value);\nREGAL_DECL void REGAL_CALL glXDestroyPbuffer(Display *dpy, GLXPbuffer pbuf);\nREGAL_DECL void REGAL_CALL glXDestroyPixmap(Display *dpy, GLXPixmap pixmap);\nREGAL_DECL void REGAL_CALL glXDestroyWindow(Display *dpy, GLXWindow win);\nREGAL_DECL void REGAL_CALL glXGetSelectedEvent(Display *dpy, GLXDrawable draw, unsigned long *event_mask);\nREGAL_DECL void REGAL_CALL glXQueryDrawable(Display *dpy, GLXDrawable draw, int attribute, unsigned int *value);\nREGAL_DECL void REGAL_CALL glXSelectEvent(Display *dpy, GLXDrawable draw, unsigned long event_mask);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GLX_VERSION_1_3\nREGAL_DECL Bool REGAL_CALL plugin_glXMakeContextCurrent(Display *display, GLXDrawable draw, GLXDrawable read, GLXContext ctx);\nREGAL_DECL GLXContext REGAL_CALL plugin_glXCreateNewContext(Display *dpy, GLXFBConfig config, int render_type, GLXContext share_list, Bool direct);\nREGAL_DECL GLXDrawable REGAL_CALL plugin_glXGetCurrentReadDrawable(void);\nREGAL_DECL GLXFBConfig *REGAL_CALL plugin_glXChooseFBConfig(Display *dpy, int screen, const int *attrib_list, int *nelements);\nREGAL_DECL GLXFBConfig *REGAL_CALL plugin_glXGetFBConfigs(Display *dpy, int screen, int *nelements);\nREGAL_DECL GLXPbuffer REGAL_CALL plugin_glXCreatePbuffer(Display *dpy, GLXFBConfig config, const int *attrib_list);\nREGAL_DECL GLXPixmap REGAL_CALL plugin_glXCreatePixmap(Display *dpy, GLXFBConfig config, Pixmap pixmap, const int *attrib_list);\nREGAL_DECL GLXWindow REGAL_CALL plugin_glXCreateWindow(Display *dpy, GLXFBConfig config, Window win, const int *attrib_list);\nREGAL_DECL XVisualInfo *REGAL_CALL plugin_glXGetVisualFromFBConfig(Display *dpy, GLXFBConfig config);\nREGAL_DECL int REGAL_CALL plugin_glXGetFBConfigAttrib(Display *dpy, GLXFBConfig config, int attribute, int *value);\nREGAL_DECL int REGAL_CALL plugin_glXQueryContext(Display *dpy, GLXContext ctx, int attribute, int *value);\nREGAL_DECL void REGAL_CALL plugin_glXDestroyPbuffer(Display *dpy, GLXPbuffer pbuf);\nREGAL_DECL void REGAL_CALL plugin_glXDestroyPixmap(Display *dpy, GLXPixmap pixmap);\nREGAL_DECL void REGAL_CALL plugin_glXDestroyWindow(Display *dpy, GLXWindow win);\nREGAL_DECL void REGAL_CALL plugin_glXGetSelectedEvent(Display *dpy, GLXDrawable draw, unsigned long *event_mask);\nREGAL_DECL void REGAL_CALL plugin_glXQueryDrawable(Display *dpy, GLXDrawable draw, int attribute, unsigned int *value);\nREGAL_DECL void REGAL_CALL plugin_glXSelectEvent(Display *dpy, GLXDrawable draw, unsigned long event_mask);\n#endif\n\n/**\n ** GLX_VERSION_1_4\n **/\n\n#if (defined(GLX_VERSION_1_4) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_VERSION_1_4)) && !defined(REGAL_NO_ENUM_GLX_VERSION_1_4)\n#define REGAL_NO_ENUM_GLX_VERSION_1_4\n#endif\n\n#if (defined(GLX_VERSION_1_4) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_VERSION_1_4)) && !defined(REGAL_NO_TYPEDEF_GLX_VERSION_1_4)\n#define REGAL_NO_TYPEDEF_GLX_VERSION_1_4\n#endif\n\n#if (defined(GLX_VERSION_1_4) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_VERSION_1_4)) && !defined(REGAL_NO_NAMESPACE_GLX_VERSION_1_4)\n#define REGAL_NO_NAMESPACE_GLX_VERSION_1_4\n#endif\n\n#if (defined(GLX_VERSION_1_4) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_VERSION_1_4)) && !defined(REGAL_NO_PLUGIN_GLX_VERSION_1_4)\n#define REGAL_NO_PLUGIN_GLX_VERSION_1_4\n#endif\n\n#if (defined(GLX_VERSION_1_4) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_VERSION_1_4)) && !defined(REGAL_NO_DECLARATION_GLX_VERSION_1_4)\n#define REGAL_NO_DECLARATION_GLX_VERSION_1_4\n#endif\n\n#ifndef GLX_VERSION_1_4\n#define GLX_VERSION_1_4 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_VERSION_1_4\n#define GLX_SAMPLE_BUFFERS 0x186a0     /* 100000 */\n#define GLX_SAMPLES        0x186a1     /* 100001 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GLX_VERSION_1_4\ntypedef __GLXextFuncPtr (REGAL_CALL *PFNGLXGETPROCADDRESSPROC)(const GLubyte *procName);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GLX_VERSION_1_4\n#define glXGetProcAddress                   rglXGetProcAddress\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GLX_VERSION_1_4\nREGAL_DECL __GLXextFuncPtr REGAL_CALL glXGetProcAddress(const GLubyte *procName);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GLX_VERSION_1_4\nREGAL_DECL __GLXextFuncPtr REGAL_CALL plugin_glXGetProcAddress(const GLubyte *procName);\n#endif\n\n#endif /* REGAL_SYS_GLX */\n\n#if REGAL_SYS_OSX\n#define kCGL0Bit            0x1\n#define kCGLMonoscopicBit   0x1\n#define kCGLSupersampleBit  0x1\n#define kCGL4Bit            0x10           /* 16 */\n#define kCGLTripleBufferBit 0x10           /* 16 */\n#define kCGL10Bit           0x100          /* 256 */\n#define kCGLRGB444A8Bit     0x100          /* 256 */\n#define kCGL32Bit           0x1000         /* 4096 */\n#define kCGLRGB565Bit       0x1000         /* 4096 */\n#define kCGL128Bit          0x10000        /* 65536 */\n#define kCGLRGB888A8Bit     0x10000        /* 65536 */\n#define kCGLRGB121212Bit    0x100000       /* 1048576 */\n#define kCGLRGBFloat64Bit   0x1000000      /* 16777216 */\n#define kCGLRGBFloat256Bit  0x10000000     /* 268435456 */\n#define kCGL1Bit            0x2\n#define kCGLMultisampleBit  0x2\n#define kCGLStereoscopicBit 0x2\n#define kCGL5Bit            0x20           /* 32 */\n#define kCGL12Bit           0x200          /* 512 */\n#define kCGLRGB555Bit       0x200          /* 512 */\n#define kCGL48Bit           0x2000         /* 8192 */\n#define kCGLRGB565A8Bit     0x2000         /* 8192 */\n#define kCGLRGB101010Bit    0x20000        /* 131072 */\n#define kCGLARGB12121212Bit 0x200000       /* 2097152 */\n#define kCGLRGBAFloat64Bit  0x2000000      /* 33554432 */\n#define kCGLRGBAFloat256Bit 0x20000000     /* 536870912 */\n#define kCGL2Bit            0x4\n#define kCGLSingleBufferBit 0x4\n#define kCGL6Bit            0x40           /* 64 */\n#define kCGLRGB444Bit       0x40           /* 64 */\n#define kCGL16Bit           0x400          /* 1024 */\n#define kCGLARGB1555Bit     0x400          /* 1024 */\n#define kCGL64Bit           0x4000         /* 16384 */\n#define kCGLRGB888Bit       0x4000         /* 16384 */\n#define kCGLARGB2101010Bit  0x40000        /* 262144 */\n#define kCGLRGB161616Bit    0x400000       /* 4194304 */\n#define kCGLRGBFloat128Bit  0x4000000      /* 67108864 */\n#define kCGL3Bit            0x8\n#define kCGLDoubleBufferBit 0x8\n#define kCGL8Bit            0x80           /* 128 */\n#define kCGLARGB4444Bit     0x80           /* 128 */\n#define kCGL24Bit           0x800          /* 2048 */\n#define kCGLRGB555A8Bit     0x800          /* 2048 */\n#define kCGL96Bit           0x8000         /* 32768 */\n#define kCGLARGB8888Bit     0x8000         /* 32768 */\n#define kCGLRGB101010_A8Bit 0x80000        /* 524288 */\n#define kCGLRGBA16161616Bit 0x800000       /* 8388608 */\n#define kCGLRGBAFloat128Bit 0x8000000      /* 134217728 */\n\n/**\n ** CGL_VERSION_1_0\n **/\n\n#if (defined(CGL_VERSION_1_0) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_CGL_VERSION_1_0)) && !defined(REGAL_NO_ENUM_CGL_VERSION_1_0)\n#define REGAL_NO_ENUM_CGL_VERSION_1_0\n#endif\n\n#if (defined(CGL_VERSION_1_0) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_CGL_VERSION_1_0)) && !defined(REGAL_NO_TYPEDEF_CGL_VERSION_1_0)\n#define REGAL_NO_TYPEDEF_CGL_VERSION_1_0\n#endif\n\n#if (defined(CGL_VERSION_1_0) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_CGL_VERSION_1_0)) && !defined(REGAL_NO_NAMESPACE_CGL_VERSION_1_0)\n#define REGAL_NO_NAMESPACE_CGL_VERSION_1_0\n#endif\n\n#if (defined(CGL_VERSION_1_0) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_CGL_VERSION_1_0)) && !defined(REGAL_NO_PLUGIN_CGL_VERSION_1_0)\n#define REGAL_NO_PLUGIN_CGL_VERSION_1_0\n#endif\n\n#if (defined(CGL_VERSION_1_0) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_CGL_VERSION_1_0)) && !defined(REGAL_NO_DECLARATION_CGL_VERSION_1_0)\n#define REGAL_NO_DECLARATION_CGL_VERSION_1_0\n#endif\n\n#ifndef CGL_VERSION_1_0\n#define CGL_VERSION_1_0 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_CGL_VERSION_1_0\ntypedef CGLError (REGAL_CALL *PFNCGLCHOOSEPIXELFORMATPROC)(const CGLPixelFormatAttribute *attribs, CGLPixelFormatObj *pix, GLint *npix);\ntypedef CGLError (REGAL_CALL *PFNCGLCLEARDRAWABLEPROC)(CGLContextObj ctx);\ntypedef CGLError (REGAL_CALL *PFNCGLCOPYCONTEXTPROC)(CGLContextObj src, CGLContextObj dst, GLbitfield mask);\ntypedef CGLError (REGAL_CALL *PFNCGLCREATECONTEXTPROC)(CGLPixelFormatObj pix, CGLContextObj share, CGLContextObj *ctx);\ntypedef CGLError (REGAL_CALL *PFNCGLDESCRIBEPIXELFORMATPROC)(CGLPixelFormatObj pix, GLint pix_num, CGLPixelFormatAttribute attrib, GLint *value);\ntypedef CGLError (REGAL_CALL *PFNCGLDESCRIBERENDERERPROC)(CGLRendererInfoObj rend, GLint rend_num, CGLRendererProperty prop, GLint *value);\ntypedef CGLError (REGAL_CALL *PFNCGLDESTROYCONTEXTPROC)(CGLContextObj ctx);\ntypedef CGLError (REGAL_CALL *PFNCGLDESTROYPIXELFORMATPROC)(CGLPixelFormatObj pix);\ntypedef CGLError (REGAL_CALL *PFNCGLDESTROYRENDERERINFOPROC)(CGLRendererInfoObj rend);\ntypedef CGLError (REGAL_CALL *PFNCGLDISABLEPROC)(CGLContextObj ctx, CGLContextEnable pname);\ntypedef CGLError (REGAL_CALL *PFNCGLENABLEPROC)(CGLContextObj ctx, CGLContextEnable pname);\ntypedef CGLError (REGAL_CALL *PFNCGLFLUSHDRAWABLEPROC)(CGLContextObj ctx);\ntypedef CGLError (REGAL_CALL *PFNCGLGETOFFSCREENPROC)(CGLContextObj ctx, GLsizei *width, GLsizei *height, GLsizei *rowbytes, void **baseaddr);\ntypedef CGLError (REGAL_CALL *PFNCGLGETOPTIONPROC)(CGLGlobalOption pname, GLint *param);\ntypedef CGLError (REGAL_CALL *PFNCGLGETPARAMETERPROC)(CGLContextObj ctx, CGLContextParameter pname, GLint *params);\ntypedef CGLError (REGAL_CALL *PFNCGLGETVIRTUALSCREENPROC)(CGLContextObj ctx, GLint *screen);\ntypedef CGLError (REGAL_CALL *PFNCGLISENABLEDPROC)(CGLContextObj ctx, CGLContextEnable pname, GLint *enable);\ntypedef CGLError (REGAL_CALL *PFNCGLQUERYRENDERERINFOPROC)(GLuint display_mask, CGLRendererInfoObj *rend, GLint *nrend);\ntypedef CGLError (REGAL_CALL *PFNCGLSETFULLSCREENPROC)(CGLContextObj ctx);\ntypedef CGLError (REGAL_CALL *PFNCGLSETOFFSCREENPROC)(CGLContextObj ctx, GLsizei width, GLsizei height, GLsizei rowbytes, void *baseaddr);\ntypedef CGLError (REGAL_CALL *PFNCGLSETOPTIONPROC)(CGLGlobalOption pname, GLint param);\ntypedef CGLError (REGAL_CALL *PFNCGLSETPARAMETERPROC)(CGLContextObj ctx, CGLContextParameter pname, const GLint *params);\ntypedef CGLError (REGAL_CALL *PFNCGLSETVIRTUALSCREENPROC)(CGLContextObj ctx, GLint screen);\ntypedef const char *(REGAL_CALL *PFNCGLERRORSTRINGPROC)(CGLError error);\ntypedef void (REGAL_CALL *PFNCGLGETVERSIONPROC)(GLint *majorvers, GLint *minorvers);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_CGL_VERSION_1_0\n#define CGLChoosePixelFormat                rCGLChoosePixelFormat\n#define CGLClearDrawable                    rCGLClearDrawable\n#define CGLCopyContext                      rCGLCopyContext\n#define CGLCreateContext                    rCGLCreateContext\n#define CGLDescribePixelFormat              rCGLDescribePixelFormat\n#define CGLDescribeRenderer                 rCGLDescribeRenderer\n#define CGLDestroyContext                   rCGLDestroyContext\n#define CGLDestroyPixelFormat               rCGLDestroyPixelFormat\n#define CGLDestroyRendererInfo              rCGLDestroyRendererInfo\n#define CGLDisable                          rCGLDisable\n#define CGLEnable                           rCGLEnable\n#define CGLErrorString                      rCGLErrorString\n#define CGLFlushDrawable                    rCGLFlushDrawable\n#define CGLGetOffScreen                     rCGLGetOffScreen\n#define CGLGetOption                        rCGLGetOption\n#define CGLGetParameter                     rCGLGetParameter\n#define CGLGetVersion                       rCGLGetVersion\n#define CGLGetVirtualScreen                 rCGLGetVirtualScreen\n#define CGLIsEnabled                        rCGLIsEnabled\n#define CGLQueryRendererInfo                rCGLQueryRendererInfo\n#define CGLSetFullScreen                    rCGLSetFullScreen\n#define CGLSetOffScreen                     rCGLSetOffScreen\n#define CGLSetOption                        rCGLSetOption\n#define CGLSetParameter                     rCGLSetParameter\n#define CGLSetVirtualScreen                 rCGLSetVirtualScreen\n#endif\n\n#ifndef REGAL_NO_DECLARATION_CGL_VERSION_1_0\nREGAL_DECL CGLError REGAL_CALL CGLChoosePixelFormat(const CGLPixelFormatAttribute *attribs, CGLPixelFormatObj *pix, GLint *npix);\nREGAL_DECL CGLError REGAL_CALL CGLClearDrawable(CGLContextObj ctx);\nREGAL_DECL CGLError REGAL_CALL CGLCopyContext(CGLContextObj src, CGLContextObj dst, GLbitfield mask);\nREGAL_DECL CGLError REGAL_CALL CGLCreateContext(CGLPixelFormatObj pix, CGLContextObj share, CGLContextObj *ctx);\nREGAL_DECL CGLError REGAL_CALL CGLDescribePixelFormat(CGLPixelFormatObj pix, GLint pix_num, CGLPixelFormatAttribute attrib, GLint *value);\nREGAL_DECL CGLError REGAL_CALL CGLDescribeRenderer(CGLRendererInfoObj rend, GLint rend_num, CGLRendererProperty prop, GLint *value);\nREGAL_DECL CGLError REGAL_CALL CGLDestroyContext(CGLContextObj ctx);\nREGAL_DECL CGLError REGAL_CALL CGLDestroyPixelFormat(CGLPixelFormatObj pix);\nREGAL_DECL CGLError REGAL_CALL CGLDestroyRendererInfo(CGLRendererInfoObj rend);\nREGAL_DECL CGLError REGAL_CALL CGLDisable(CGLContextObj ctx, CGLContextEnable pname);\nREGAL_DECL CGLError REGAL_CALL CGLEnable(CGLContextObj ctx, CGLContextEnable pname);\nREGAL_DECL CGLError REGAL_CALL CGLFlushDrawable(CGLContextObj ctx);\nREGAL_DECL CGLError REGAL_CALL CGLGetOffScreen(CGLContextObj ctx, GLsizei *width, GLsizei *height, GLsizei *rowbytes, void **baseaddr);\nREGAL_DECL CGLError REGAL_CALL CGLGetOption(CGLGlobalOption pname, GLint *param);\nREGAL_DECL CGLError REGAL_CALL CGLGetParameter(CGLContextObj ctx, CGLContextParameter pname, GLint *params);\nREGAL_DECL CGLError REGAL_CALL CGLGetVirtualScreen(CGLContextObj ctx, GLint *screen);\nREGAL_DECL CGLError REGAL_CALL CGLIsEnabled(CGLContextObj ctx, CGLContextEnable pname, GLint *enable);\nREGAL_DECL CGLError REGAL_CALL CGLQueryRendererInfo(GLuint display_mask, CGLRendererInfoObj *rend, GLint *nrend);\nREGAL_DECL CGLError REGAL_CALL CGLSetFullScreen(CGLContextObj ctx);\nREGAL_DECL CGLError REGAL_CALL CGLSetOffScreen(CGLContextObj ctx, GLsizei width, GLsizei height, GLsizei rowbytes, void *baseaddr);\nREGAL_DECL CGLError REGAL_CALL CGLSetOption(CGLGlobalOption pname, GLint param);\nREGAL_DECL CGLError REGAL_CALL CGLSetParameter(CGLContextObj ctx, CGLContextParameter pname, const GLint *params);\nREGAL_DECL CGLError REGAL_CALL CGLSetVirtualScreen(CGLContextObj ctx, GLint screen);\nREGAL_DECL const char *REGAL_CALL CGLErrorString(CGLError error);\nREGAL_DECL void REGAL_CALL CGLGetVersion(GLint *majorvers, GLint *minorvers);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_CGL_VERSION_1_0\nREGAL_DECL CGLError REGAL_CALL plugin_CGLChoosePixelFormat(const CGLPixelFormatAttribute *attribs, CGLPixelFormatObj *pix, GLint *npix);\nREGAL_DECL CGLError REGAL_CALL plugin_CGLClearDrawable(CGLContextObj ctx);\nREGAL_DECL CGLError REGAL_CALL plugin_CGLCopyContext(CGLContextObj src, CGLContextObj dst, GLbitfield mask);\nREGAL_DECL CGLError REGAL_CALL plugin_CGLCreateContext(CGLPixelFormatObj pix, CGLContextObj share, CGLContextObj *ctx);\nREGAL_DECL CGLError REGAL_CALL plugin_CGLDescribePixelFormat(CGLPixelFormatObj pix, GLint pix_num, CGLPixelFormatAttribute attrib, GLint *value);\nREGAL_DECL CGLError REGAL_CALL plugin_CGLDescribeRenderer(CGLRendererInfoObj rend, GLint rend_num, CGLRendererProperty prop, GLint *value);\nREGAL_DECL CGLError REGAL_CALL plugin_CGLDestroyContext(CGLContextObj ctx);\nREGAL_DECL CGLError REGAL_CALL plugin_CGLDestroyPixelFormat(CGLPixelFormatObj pix);\nREGAL_DECL CGLError REGAL_CALL plugin_CGLDestroyRendererInfo(CGLRendererInfoObj rend);\nREGAL_DECL CGLError REGAL_CALL plugin_CGLDisable(CGLContextObj ctx, CGLContextEnable pname);\nREGAL_DECL CGLError REGAL_CALL plugin_CGLEnable(CGLContextObj ctx, CGLContextEnable pname);\nREGAL_DECL CGLError REGAL_CALL plugin_CGLFlushDrawable(CGLContextObj ctx);\nREGAL_DECL CGLError REGAL_CALL plugin_CGLGetOffScreen(CGLContextObj ctx, GLsizei *width, GLsizei *height, GLsizei *rowbytes, void **baseaddr);\nREGAL_DECL CGLError REGAL_CALL plugin_CGLGetOption(CGLGlobalOption pname, GLint *param);\nREGAL_DECL CGLError REGAL_CALL plugin_CGLGetParameter(CGLContextObj ctx, CGLContextParameter pname, GLint *params);\nREGAL_DECL CGLError REGAL_CALL plugin_CGLGetVirtualScreen(CGLContextObj ctx, GLint *screen);\nREGAL_DECL CGLError REGAL_CALL plugin_CGLIsEnabled(CGLContextObj ctx, CGLContextEnable pname, GLint *enable);\nREGAL_DECL CGLError REGAL_CALL plugin_CGLQueryRendererInfo(GLuint display_mask, CGLRendererInfoObj *rend, GLint *nrend);\nREGAL_DECL CGLError REGAL_CALL plugin_CGLSetFullScreen(CGLContextObj ctx);\nREGAL_DECL CGLError REGAL_CALL plugin_CGLSetOffScreen(CGLContextObj ctx, GLsizei width, GLsizei height, GLsizei rowbytes, void *baseaddr);\nREGAL_DECL CGLError REGAL_CALL plugin_CGLSetOption(CGLGlobalOption pname, GLint param);\nREGAL_DECL CGLError REGAL_CALL plugin_CGLSetParameter(CGLContextObj ctx, CGLContextParameter pname, const GLint *params);\nREGAL_DECL CGLError REGAL_CALL plugin_CGLSetVirtualScreen(CGLContextObj ctx, GLint screen);\nREGAL_DECL const char *REGAL_CALL plugin_CGLErrorString(CGLError error);\nREGAL_DECL void REGAL_CALL plugin_CGLGetVersion(GLint *majorvers, GLint *minorvers);\n#endif\n\n/**\n ** CGL_VERSION_1_1\n **/\n\n#if (defined(CGL_VERSION_1_1) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_CGL_VERSION_1_1)) && !defined(REGAL_NO_ENUM_CGL_VERSION_1_1)\n#define REGAL_NO_ENUM_CGL_VERSION_1_1\n#endif\n\n#if (defined(CGL_VERSION_1_1) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_CGL_VERSION_1_1)) && !defined(REGAL_NO_TYPEDEF_CGL_VERSION_1_1)\n#define REGAL_NO_TYPEDEF_CGL_VERSION_1_1\n#endif\n\n#if (defined(CGL_VERSION_1_1) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_CGL_VERSION_1_1)) && !defined(REGAL_NO_NAMESPACE_CGL_VERSION_1_1)\n#define REGAL_NO_NAMESPACE_CGL_VERSION_1_1\n#endif\n\n#if (defined(CGL_VERSION_1_1) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_CGL_VERSION_1_1)) && !defined(REGAL_NO_PLUGIN_CGL_VERSION_1_1)\n#define REGAL_NO_PLUGIN_CGL_VERSION_1_1\n#endif\n\n#if (defined(CGL_VERSION_1_1) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_CGL_VERSION_1_1)) && !defined(REGAL_NO_DECLARATION_CGL_VERSION_1_1)\n#define REGAL_NO_DECLARATION_CGL_VERSION_1_1\n#endif\n\n#ifndef CGL_VERSION_1_1\n#define CGL_VERSION_1_1 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_CGL_VERSION_1_1\ntypedef CGLError (REGAL_CALL *PFNCGLCREATEPBUFFERPROC)(GLsizei width, GLsizei height, GLenum target, GLenum internalFormat, GLint max_level, CGLPBufferObj *pbuffer);\ntypedef CGLError (REGAL_CALL *PFNCGLDESCRIBEPBUFFERPROC)(CGLPBufferObj pbuffer, GLsizei *width, GLsizei *height, GLenum *target, GLenum *internalFormat, GLint *mipmap);\ntypedef CGLError (REGAL_CALL *PFNCGLDESTROYPBUFFERPROC)(CGLPBufferObj pbuffer);\ntypedef CGLError (REGAL_CALL *PFNCGLGETPBUFFERPROC)(CGLContextObj ctx, CGLPBufferObj *pbuffer, GLenum *face, GLint *level, GLint *screen);\ntypedef CGLError (REGAL_CALL *PFNCGLSETPBUFFERPROC)(CGLContextObj ctx, CGLPBufferObj pbuffer, GLenum face, GLint level, GLint screen);\ntypedef CGLError (REGAL_CALL *PFNCGLTEXIMAGEPBUFFERPROC)(CGLContextObj ctx, CGLPBufferObj pbuffer, GLenum source);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_CGL_VERSION_1_1\n#define CGLCreatePBuffer                    rCGLCreatePBuffer\n#define CGLDescribePBuffer                  rCGLDescribePBuffer\n#define CGLDestroyPBuffer                   rCGLDestroyPBuffer\n#define CGLGetPBuffer                       rCGLGetPBuffer\n#define CGLSetPBuffer                       rCGLSetPBuffer\n#define CGLTexImagePBuffer                  rCGLTexImagePBuffer\n#endif\n\n#ifndef REGAL_NO_DECLARATION_CGL_VERSION_1_1\nREGAL_DECL CGLError REGAL_CALL CGLCreatePBuffer(GLsizei width, GLsizei height, GLenum target, GLenum internalFormat, GLint max_level, CGLPBufferObj *pbuffer);\nREGAL_DECL CGLError REGAL_CALL CGLDescribePBuffer(CGLPBufferObj pbuffer, GLsizei *width, GLsizei *height, GLenum *target, GLenum *internalFormat, GLint *mipmap);\nREGAL_DECL CGLError REGAL_CALL CGLDestroyPBuffer(CGLPBufferObj pbuffer);\nREGAL_DECL CGLError REGAL_CALL CGLGetPBuffer(CGLContextObj ctx, CGLPBufferObj *pbuffer, GLenum *face, GLint *level, GLint *screen);\nREGAL_DECL CGLError REGAL_CALL CGLSetPBuffer(CGLContextObj ctx, CGLPBufferObj pbuffer, GLenum face, GLint level, GLint screen);\nREGAL_DECL CGLError REGAL_CALL CGLTexImagePBuffer(CGLContextObj ctx, CGLPBufferObj pbuffer, GLenum source);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_CGL_VERSION_1_1\nREGAL_DECL CGLError REGAL_CALL plugin_CGLCreatePBuffer(GLsizei width, GLsizei height, GLenum target, GLenum internalFormat, GLint max_level, CGLPBufferObj *pbuffer);\nREGAL_DECL CGLError REGAL_CALL plugin_CGLDescribePBuffer(CGLPBufferObj pbuffer, GLsizei *width, GLsizei *height, GLenum *target, GLenum *internalFormat, GLint *mipmap);\nREGAL_DECL CGLError REGAL_CALL plugin_CGLDestroyPBuffer(CGLPBufferObj pbuffer);\nREGAL_DECL CGLError REGAL_CALL plugin_CGLGetPBuffer(CGLContextObj ctx, CGLPBufferObj *pbuffer, GLenum *face, GLint *level, GLint *screen);\nREGAL_DECL CGLError REGAL_CALL plugin_CGLSetPBuffer(CGLContextObj ctx, CGLPBufferObj pbuffer, GLenum face, GLint level, GLint screen);\nREGAL_DECL CGLError REGAL_CALL plugin_CGLTexImagePBuffer(CGLContextObj ctx, CGLPBufferObj pbuffer, GLenum source);\n#endif\n\n/**\n ** CGL_VERSION_1_2\n **/\n\n#if (defined(CGL_VERSION_1_2) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_CGL_VERSION_1_2)) && !defined(REGAL_NO_ENUM_CGL_VERSION_1_2)\n#define REGAL_NO_ENUM_CGL_VERSION_1_2\n#endif\n\n#if (defined(CGL_VERSION_1_2) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_CGL_VERSION_1_2)) && !defined(REGAL_NO_TYPEDEF_CGL_VERSION_1_2)\n#define REGAL_NO_TYPEDEF_CGL_VERSION_1_2\n#endif\n\n#if (defined(CGL_VERSION_1_2) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_CGL_VERSION_1_2)) && !defined(REGAL_NO_NAMESPACE_CGL_VERSION_1_2)\n#define REGAL_NO_NAMESPACE_CGL_VERSION_1_2\n#endif\n\n#if (defined(CGL_VERSION_1_2) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_CGL_VERSION_1_2)) && !defined(REGAL_NO_PLUGIN_CGL_VERSION_1_2)\n#define REGAL_NO_PLUGIN_CGL_VERSION_1_2\n#endif\n\n#if (defined(CGL_VERSION_1_2) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_CGL_VERSION_1_2)) && !defined(REGAL_NO_DECLARATION_CGL_VERSION_1_2)\n#define REGAL_NO_DECLARATION_CGL_VERSION_1_2\n#endif\n\n#ifndef CGL_VERSION_1_2\n#define CGL_VERSION_1_2 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_CGL_VERSION_1_2\ntypedef CGLContextObj (REGAL_CALL *PFNCGLRETAINCONTEXTPROC)(CGLContextObj ctx);\ntypedef CGLError (REGAL_CALL *PFNCGLGETGLOBALOPTIONPROC)(CGLGlobalOption pname, GLint *params);\ntypedef CGLError (REGAL_CALL *PFNCGLLOCKCONTEXTPROC)(CGLContextObj ctx);\ntypedef CGLError (REGAL_CALL *PFNCGLSETGLOBALOPTIONPROC)(CGLGlobalOption pname, const GLint *params);\ntypedef CGLError (REGAL_CALL *PFNCGLUNLOCKCONTEXTPROC)(CGLContextObj ctx);\ntypedef CGLPBufferObj (REGAL_CALL *PFNCGLRETAINPBUFFERPROC)(CGLPBufferObj pbuffer);\ntypedef CGLPixelFormatObj (REGAL_CALL *PFNCGLGETPIXELFORMATPROC)(CGLContextObj ctx);\ntypedef CGLPixelFormatObj (REGAL_CALL *PFNCGLRETAINPIXELFORMATPROC)(CGLPixelFormatObj pix);\ntypedef GLuint (REGAL_CALL *PFNCGLGETCONTEXTRETAINCOUNTPROC)(CGLContextObj ctx);\ntypedef GLuint (REGAL_CALL *PFNCGLGETPBUFFERRETAINCOUNTPROC)(CGLPBufferObj pbuffer);\ntypedef GLuint (REGAL_CALL *PFNCGLGETPIXELFORMATRETAINCOUNTPROC)(CGLPixelFormatObj pix);\ntypedef void (REGAL_CALL *PFNCGLRELEASECONTEXTPROC)(CGLContextObj ctx);\ntypedef void (REGAL_CALL *PFNCGLRELEASEPBUFFERPROC)(CGLPBufferObj pbuffer);\ntypedef void (REGAL_CALL *PFNCGLRELEASEPIXELFORMATPROC)(CGLPixelFormatObj pix);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_CGL_VERSION_1_2\n#define CGLGetContextRetainCount            rCGLGetContextRetainCount\n#define CGLGetGlobalOption                  rCGLGetGlobalOption\n#define CGLGetPBufferRetainCount            rCGLGetPBufferRetainCount\n#define CGLGetPixelFormat                   rCGLGetPixelFormat\n#define CGLGetPixelFormatRetainCount        rCGLGetPixelFormatRetainCount\n#define CGLLockContext                      rCGLLockContext\n#define CGLReleaseContext                   rCGLReleaseContext\n#define CGLReleasePBuffer                   rCGLReleasePBuffer\n#define CGLReleasePixelFormat               rCGLReleasePixelFormat\n#define CGLRetainContext                    rCGLRetainContext\n#define CGLRetainPBuffer                    rCGLRetainPBuffer\n#define CGLRetainPixelFormat                rCGLRetainPixelFormat\n#define CGLSetGlobalOption                  rCGLSetGlobalOption\n#define CGLUnlockContext                    rCGLUnlockContext\n#endif\n\n#ifndef REGAL_NO_DECLARATION_CGL_VERSION_1_2\nREGAL_DECL CGLContextObj REGAL_CALL CGLRetainContext(CGLContextObj ctx);\nREGAL_DECL CGLError REGAL_CALL CGLGetGlobalOption(CGLGlobalOption pname, GLint *params);\nREGAL_DECL CGLError REGAL_CALL CGLLockContext(CGLContextObj ctx);\nREGAL_DECL CGLError REGAL_CALL CGLSetGlobalOption(CGLGlobalOption pname, const GLint *params);\nREGAL_DECL CGLError REGAL_CALL CGLUnlockContext(CGLContextObj ctx);\nREGAL_DECL CGLPBufferObj REGAL_CALL CGLRetainPBuffer(CGLPBufferObj pbuffer);\nREGAL_DECL CGLPixelFormatObj REGAL_CALL CGLGetPixelFormat(CGLContextObj ctx);\nREGAL_DECL CGLPixelFormatObj REGAL_CALL CGLRetainPixelFormat(CGLPixelFormatObj pix);\nREGAL_DECL GLuint REGAL_CALL CGLGetContextRetainCount(CGLContextObj ctx);\nREGAL_DECL GLuint REGAL_CALL CGLGetPBufferRetainCount(CGLPBufferObj pbuffer);\nREGAL_DECL GLuint REGAL_CALL CGLGetPixelFormatRetainCount(CGLPixelFormatObj pix);\nREGAL_DECL void REGAL_CALL CGLReleaseContext(CGLContextObj ctx);\nREGAL_DECL void REGAL_CALL CGLReleasePBuffer(CGLPBufferObj pbuffer);\nREGAL_DECL void REGAL_CALL CGLReleasePixelFormat(CGLPixelFormatObj pix);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_CGL_VERSION_1_2\nREGAL_DECL CGLContextObj REGAL_CALL plugin_CGLRetainContext(CGLContextObj ctx);\nREGAL_DECL CGLError REGAL_CALL plugin_CGLGetGlobalOption(CGLGlobalOption pname, GLint *params);\nREGAL_DECL CGLError REGAL_CALL plugin_CGLLockContext(CGLContextObj ctx);\nREGAL_DECL CGLError REGAL_CALL plugin_CGLSetGlobalOption(CGLGlobalOption pname, const GLint *params);\nREGAL_DECL CGLError REGAL_CALL plugin_CGLUnlockContext(CGLContextObj ctx);\nREGAL_DECL CGLPBufferObj REGAL_CALL plugin_CGLRetainPBuffer(CGLPBufferObj pbuffer);\nREGAL_DECL CGLPixelFormatObj REGAL_CALL plugin_CGLGetPixelFormat(CGLContextObj ctx);\nREGAL_DECL CGLPixelFormatObj REGAL_CALL plugin_CGLRetainPixelFormat(CGLPixelFormatObj pix);\nREGAL_DECL GLuint REGAL_CALL plugin_CGLGetContextRetainCount(CGLContextObj ctx);\nREGAL_DECL GLuint REGAL_CALL plugin_CGLGetPBufferRetainCount(CGLPBufferObj pbuffer);\nREGAL_DECL GLuint REGAL_CALL plugin_CGLGetPixelFormatRetainCount(CGLPixelFormatObj pix);\nREGAL_DECL void REGAL_CALL plugin_CGLReleaseContext(CGLContextObj ctx);\nREGAL_DECL void REGAL_CALL plugin_CGLReleasePBuffer(CGLPBufferObj pbuffer);\nREGAL_DECL void REGAL_CALL plugin_CGLReleasePixelFormat(CGLPixelFormatObj pix);\n#endif\n\n/**\n ** CGL_VERSION_1_3\n **/\n\n#if (defined(CGL_VERSION_1_3) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_CGL_VERSION_1_3)) && !defined(REGAL_NO_ENUM_CGL_VERSION_1_3)\n#define REGAL_NO_ENUM_CGL_VERSION_1_3\n#endif\n\n#if (defined(CGL_VERSION_1_3) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_CGL_VERSION_1_3)) && !defined(REGAL_NO_TYPEDEF_CGL_VERSION_1_3)\n#define REGAL_NO_TYPEDEF_CGL_VERSION_1_3\n#endif\n\n#if (defined(CGL_VERSION_1_3) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_CGL_VERSION_1_3)) && !defined(REGAL_NO_NAMESPACE_CGL_VERSION_1_3)\n#define REGAL_NO_NAMESPACE_CGL_VERSION_1_3\n#endif\n\n#if (defined(CGL_VERSION_1_3) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_CGL_VERSION_1_3)) && !defined(REGAL_NO_PLUGIN_CGL_VERSION_1_3)\n#define REGAL_NO_PLUGIN_CGL_VERSION_1_3\n#endif\n\n#if (defined(CGL_VERSION_1_3) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_CGL_VERSION_1_3)) && !defined(REGAL_NO_DECLARATION_CGL_VERSION_1_3)\n#define REGAL_NO_DECLARATION_CGL_VERSION_1_3\n#endif\n\n#ifndef CGL_VERSION_1_3\n#define CGL_VERSION_1_3 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_CGL_VERSION_1_3\ntypedef CGLContextObj (REGAL_CALL *PFNCGLGETCURRENTCONTEXTPROC)(void);\ntypedef CGLError (REGAL_CALL *PFNCGLGETSURFACEPROC)(CGLContextObj ctx, CGSConnectionID *conn, CGSWindowID *win, CGSSurfaceID *srf);\ntypedef CGLError (REGAL_CALL *PFNCGLSETCURRENTCONTEXTPROC)(CGLContextObj ctx);\ntypedef CGLError (REGAL_CALL *PFNCGLSETSURFACEPROC)(CGLContextObj ctx, CGSConnectionID conn, CGSWindowID win, CGSSurfaceID srf);\ntypedef CGLError (REGAL_CALL *PFNCGLTEXIMAGEIOSURFACE2DPROC)(CGLContextObj ctx, GLenum target, GLenum internal_format, GLsizei width, GLsizei height, GLenum format, GLenum type, IOSurfaceRef ioSurface, GLuint plane);\ntypedef CGLError (REGAL_CALL *PFNCGLUPDATECONTEXTPROC)(CGLContextObj ctx);\ntypedef CGLShareGroupObj (REGAL_CALL *PFNCGLGETSHAREGROUPPROC)(CGLContextObj ctx);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_CGL_VERSION_1_3\n#define CGLGetCurrentContext                rCGLGetCurrentContext\n#define CGLGetShareGroup                    rCGLGetShareGroup\n#define CGLGetSurface                       rCGLGetSurface\n#define CGLSetCurrentContext                rCGLSetCurrentContext\n#define CGLSetSurface                       rCGLSetSurface\n#define CGLTexImageIOSurface2D              rCGLTexImageIOSurface2D\n#define CGLUpdateContext                    rCGLUpdateContext\n#endif\n\n#ifndef REGAL_NO_DECLARATION_CGL_VERSION_1_3\nREGAL_DECL CGLContextObj REGAL_CALL CGLGetCurrentContext(void);\nREGAL_DECL CGLError REGAL_CALL CGLGetSurface(CGLContextObj ctx, CGSConnectionID *conn, CGSWindowID *win, CGSSurfaceID *srf);\nREGAL_DECL CGLError REGAL_CALL CGLSetCurrentContext(CGLContextObj ctx);\nREGAL_DECL CGLError REGAL_CALL CGLSetSurface(CGLContextObj ctx, CGSConnectionID conn, CGSWindowID win, CGSSurfaceID srf);\nREGAL_DECL CGLError REGAL_CALL CGLTexImageIOSurface2D(CGLContextObj ctx, GLenum target, GLenum internal_format, GLsizei width, GLsizei height, GLenum format, GLenum type, IOSurfaceRef ioSurface, GLuint plane);\nREGAL_DECL CGLError REGAL_CALL CGLUpdateContext(CGLContextObj ctx);\nREGAL_DECL CGLShareGroupObj REGAL_CALL CGLGetShareGroup(CGLContextObj ctx);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_CGL_VERSION_1_3\nREGAL_DECL CGLContextObj REGAL_CALL plugin_CGLGetCurrentContext(void);\nREGAL_DECL CGLError REGAL_CALL plugin_CGLGetSurface(CGLContextObj ctx, CGSConnectionID *conn, CGSWindowID *win, CGSSurfaceID *srf);\nREGAL_DECL CGLError REGAL_CALL plugin_CGLSetCurrentContext(CGLContextObj ctx);\nREGAL_DECL CGLError REGAL_CALL plugin_CGLSetSurface(CGLContextObj ctx, CGSConnectionID conn, CGSWindowID win, CGSSurfaceID srf);\nREGAL_DECL CGLError REGAL_CALL plugin_CGLTexImageIOSurface2D(CGLContextObj ctx, GLenum target, GLenum internal_format, GLsizei width, GLsizei height, GLenum format, GLenum type, IOSurfaceRef ioSurface, GLuint plane);\nREGAL_DECL CGLError REGAL_CALL plugin_CGLUpdateContext(CGLContextObj ctx);\nREGAL_DECL CGLShareGroupObj REGAL_CALL plugin_CGLGetShareGroup(CGLContextObj ctx);\n#endif\n\n#endif /* REGAL_SYS_OSX */\n\n#if REGAL_SYS_EGL\n#define EGL_NO_CONTEXT                  ((EGLContext)0)\n#define EGL_NO_DISPLAY                  ((EGLDisplay)0)\n#define EGL_DEFAULT_DISPLAY             ((EGLNativeDisplayType)0)\n#define EGL_NO_SURFACE                  ((EGLSurface)0)\n#define EGL_DONT_CARE                   ((EGLint)-1)\n#define EGL_UNKNOWN                     ((EGLint)-1)\n#define EGL_FALSE                       0x0\n#define EGL_OPENGL_ES_BIT               0x1\n#define EGL_PBUFFER_BIT                 0x1\n#define EGL_TRUE                        0x1\n#define EGL_VERSION_1_3                 0x1\n#define EGL_VERSION_1_4                 0x1\n#define EGL_OPENVG_BIT                  0x2\n#define EGL_PIXMAP_BIT                  0x2\n#define EGL_VG_COLORSPACE_LINEAR_BIT    0x20                           /* 32 */\n#define EGL_MULTISAMPLE_RESOLVE_BOX_BIT 0x200                          /* 512 */\n#define EGL_DISPLAY_SCALING             0x2710                         /* 10000 */\n#define EGL_SUCCESS                     0x3000                         /* 12288 */\n#define EGL_NOT_INITIALIZED             0x3001                         /* 12289 */\n#define EGL_BAD_ACCESS                  0x3002                         /* 12290 */\n#define EGL_BAD_ALLOC                   0x3003                         /* 12291 */\n#define EGL_BAD_ATTRIBUTE               0x3004                         /* 12292 */\n#define EGL_BAD_CONFIG                  0x3005                         /* 12293 */\n#define EGL_BAD_CONTEXT                 0x3006                         /* 12294 */\n#define EGL_BAD_CURRENT_SURFACE         0x3007                         /* 12295 */\n#define EGL_BAD_DISPLAY                 0x3008                         /* 12296 */\n#define EGL_BAD_MATCH                   0x3009                         /* 12297 */\n#define EGL_BAD_NATIVE_PIXMAP           0x300a                         /* 12298 */\n#define EGL_BAD_NATIVE_WINDOW           0x300b                         /* 12299 */\n#define EGL_BAD_PARAMETER               0x300c                         /* 12300 */\n#define EGL_BAD_SURFACE                 0x300d                         /* 12301 */\n#define EGL_CONTEXT_LOST                0x300e                         /* 12302 */\n#define EGL_BUFFER_SIZE                 0x3020                         /* 12320 */\n#define EGL_ALPHA_SIZE                  0x3021                         /* 12321 */\n#define EGL_BLUE_SIZE                   0x3022                         /* 12322 */\n#define EGL_GREEN_SIZE                  0x3023                         /* 12323 */\n#define EGL_RED_SIZE                    0x3024                         /* 12324 */\n#define EGL_DEPTH_SIZE                  0x3025                         /* 12325 */\n#define EGL_STENCIL_SIZE                0x3026                         /* 12326 */\n#define EGL_CONFIG_CAVEAT               0x3027                         /* 12327 */\n#define EGL_CONFIG_ID                   0x3028                         /* 12328 */\n#define EGL_LEVEL                       0x3029                         /* 12329 */\n#define EGL_MAX_PBUFFER_HEIGHT          0x302a                         /* 12330 */\n#define EGL_MAX_PBUFFER_PIXELS          0x302b                         /* 12331 */\n#define EGL_MAX_PBUFFER_WIDTH           0x302c                         /* 12332 */\n#define EGL_NATIVE_RENDERABLE           0x302d                         /* 12333 */\n#define EGL_NATIVE_VISUAL_ID            0x302e                         /* 12334 */\n#define EGL_NATIVE_VISUAL_TYPE          0x302f                         /* 12335 */\n#define EGL_SAMPLES                     0x3031                         /* 12337 */\n#define EGL_SAMPLE_BUFFERS              0x3032                         /* 12338 */\n#define EGL_SURFACE_TYPE                0x3033                         /* 12339 */\n#define EGL_TRANSPARENT_TYPE            0x3034                         /* 12340 */\n#define EGL_TRANSPARENT_BLUE_VALUE      0x3035                         /* 12341 */\n#define EGL_TRANSPARENT_GREEN_VALUE     0x3036                         /* 12342 */\n#define EGL_TRANSPARENT_RED_VALUE       0x3037                         /* 12343 */\n#define EGL_NONE                        0x3038                         /* 12344 */\n#define EGL_BIND_TO_TEXTURE_RGB         0x3039                         /* 12345 */\n#define EGL_BIND_TO_TEXTURE_RGBA        0x303a                         /* 12346 */\n#define EGL_MIN_SWAP_INTERVAL           0x303b                         /* 12347 */\n#define EGL_MAX_SWAP_INTERVAL           0x303c                         /* 12348 */\n#define EGL_LUMINANCE_SIZE              0x303d                         /* 12349 */\n#define EGL_ALPHA_MASK_SIZE             0x303e                         /* 12350 */\n#define EGL_COLOR_BUFFER_TYPE           0x303f                         /* 12351 */\n#define EGL_RENDERABLE_TYPE             0x3040                         /* 12352 */\n#define EGL_MATCH_NATIVE_PIXMAP         0x3041                         /* 12353 */\n#define EGL_CONFORMANT                  0x3042                         /* 12354 */\n#define EGL_SLOW_CONFIG                 0x3050                         /* 12368 */\n#define EGL_NON_CONFORMANT_CONFIG       0x3051                         /* 12369 */\n#define EGL_TRANSPARENT_RGB             0x3052                         /* 12370 */\n#define EGL_VENDOR                      0x3053                         /* 12371 */\n#define EGL_VERSION                     0x3054                         /* 12372 */\n#define EGL_EXTENSIONS                  0x3055                         /* 12373 */\n#define EGL_HEIGHT                      0x3056                         /* 12374 */\n#define EGL_WIDTH                       0x3057                         /* 12375 */\n#define EGL_LARGEST_PBUFFER             0x3058                         /* 12376 */\n#define EGL_DRAW                        0x3059                         /* 12377 */\n#define EGL_READ                        0x305a                         /* 12378 */\n#define EGL_CORE_NATIVE_ENGINE          0x305b                         /* 12379 */\n#define EGL_NO_TEXTURE                  0x305c                         /* 12380 */\n#define EGL_TEXTURE_RGB                 0x305d                         /* 12381 */\n#define EGL_TEXTURE_RGBA                0x305e                         /* 12382 */\n#define EGL_TEXTURE_2D                  0x305f                         /* 12383 */\n#define EGL_TEXTURE_FORMAT              0x3080                         /* 12416 */\n#define EGL_TEXTURE_TARGET              0x3081                         /* 12417 */\n#define EGL_MIPMAP_TEXTURE              0x3082                         /* 12418 */\n#define EGL_MIPMAP_LEVEL                0x3083                         /* 12419 */\n#define EGL_BACK_BUFFER                 0x3084                         /* 12420 */\n#define EGL_SINGLE_BUFFER               0x3085                         /* 12421 */\n#define EGL_RENDER_BUFFER               0x3086                         /* 12422 */\n#define EGL_VG_COLORSPACE               0x3087                         /* 12423 */\n#define EGL_VG_ALPHA_FORMAT             0x3088                         /* 12424 */\n#define EGL_VG_COLORSPACE_sRGB          0x3089                         /* 12425 */\n#define EGL_VG_COLORSPACE_LINEAR        0x308a                         /* 12426 */\n#define EGL_VG_ALPHA_FORMAT_NONPRE      0x308b                         /* 12427 */\n#define EGL_VG_ALPHA_FORMAT_PRE         0x308c                         /* 12428 */\n#define EGL_CLIENT_APIS                 0x308d                         /* 12429 */\n#define EGL_RGB_BUFFER                  0x308e                         /* 12430 */\n#define EGL_LUMINANCE_BUFFER            0x308f                         /* 12431 */\n#define EGL_HORIZONTAL_RESOLUTION       0x3090                         /* 12432 */\n#define EGL_VERTICAL_RESOLUTION         0x3091                         /* 12433 */\n#define EGL_PIXEL_ASPECT_RATIO          0x3092                         /* 12434 */\n#define EGL_SWAP_BEHAVIOR               0x3093                         /* 12435 */\n#define EGL_BUFFER_PRESERVED            0x3094                         /* 12436 */\n#define EGL_BUFFER_DESTROYED            0x3095                         /* 12437 */\n#define EGL_OPENVG_IMAGE                0x3096                         /* 12438 */\n#define EGL_CONTEXT_CLIENT_TYPE         0x3097                         /* 12439 */\n#define EGL_CONTEXT_CLIENT_VERSION      0x3098                         /* 12440 */\n#define EGL_MULTISAMPLE_RESOLVE         0x3099                         /* 12441 */\n#define EGL_MULTISAMPLE_RESOLVE_DEFAULT 0x309a                         /* 12442 */\n#define EGL_MULTISAMPLE_RESOLVE_BOX     0x309b                         /* 12443 */\n#define EGL_OPENGL_ES_API               0x30a0                         /* 12448 */\n#define EGL_OPENVG_API                  0x30a1                         /* 12449 */\n#define EGL_OPENGL_API                  0x30a2                         /* 12450 */\n#define EGL_OPENGL_ES2_BIT              0x4\n#define EGL_WINDOW_BIT                  0x4\n#define EGL_VG_ALPHA_FORMAT_PRE_BIT     0x40                           /* 64 */\n#define EGL_SWAP_BEHAVIOR_PRESERVED_BIT 0x400                          /* 1024 */\n#define EGL_OPENGL_BIT                  0x8\n#define EGLAPIENTRYP                    EGLAPIENTRY                    *\n#define EGL_ALPHA_FORMAT                EGL_VG_ALPHA_FORMAT\n#define EGL_ALPHA_FORMAT_NONPRE         EGL_VG_ALPHA_FORMAT_NONPRE\n#define EGL_ALPHA_FORMAT_PRE            EGL_VG_ALPHA_FORMAT_PRE\n#define EGL_COLORSPACE                  EGL_VG_COLORSPACE\n#define EGL_COLORSPACE_LINEAR           EGL_VG_COLORSPACE_LINEAR\n#define EGL_COLORSPACE_sRGB             EGL_VG_COLORSPACE_sRGB\n#define EGLAPI                          KHRONOS_APICALL\n#define EGLAPIENTRY                     KHRONOS_APIENTRY\n\n/**\n ** EGL_ANGLE_query_surface_pointer\n **/\n\n#if (defined(EGL_ANGLE_QUERY_SURFACE_POINTER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_EGL_ANGLE_QUERY_SURFACE_POINTER)) && !defined(REGAL_NO_ENUM_EGL_ANGLE_QUERY_SURFACE_POINTER)\n#define REGAL_NO_ENUM_EGL_ANGLE_QUERY_SURFACE_POINTER\n#endif\n\n#if (defined(EGL_ANGLE_QUERY_SURFACE_POINTER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_EGL_ANGLE_QUERY_SURFACE_POINTER)) && !defined(REGAL_NO_TYPEDEF_EGL_ANGLE_QUERY_SURFACE_POINTER)\n#define REGAL_NO_TYPEDEF_EGL_ANGLE_QUERY_SURFACE_POINTER\n#endif\n\n#if (defined(EGL_ANGLE_QUERY_SURFACE_POINTER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_EGL_ANGLE_QUERY_SURFACE_POINTER)) && !defined(REGAL_NO_NAMESPACE_EGL_ANGLE_QUERY_SURFACE_POINTER)\n#define REGAL_NO_NAMESPACE_EGL_ANGLE_QUERY_SURFACE_POINTER\n#endif\n\n#if (defined(EGL_ANGLE_QUERY_SURFACE_POINTER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_EGL_ANGLE_QUERY_SURFACE_POINTER)) && !defined(REGAL_NO_PLUGIN_EGL_ANGLE_QUERY_SURFACE_POINTER)\n#define REGAL_NO_PLUGIN_EGL_ANGLE_QUERY_SURFACE_POINTER\n#endif\n\n#if (defined(EGL_ANGLE_QUERY_SURFACE_POINTER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_EGL_ANGLE_QUERY_SURFACE_POINTER)) && !defined(REGAL_NO_DECLARATION_EGL_ANGLE_QUERY_SURFACE_POINTER)\n#define REGAL_NO_DECLARATION_EGL_ANGLE_QUERY_SURFACE_POINTER\n#endif\n\n#ifndef EGL_ANGLE_query_surface_pointer\n#define EGL_ANGLE_query_surface_pointer 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_EGL_ANGLE_QUERY_SURFACE_POINTER\ntypedef EGLBoolean (REGAL_CALL *PFNEGLQUERYSURFACEPOINTERANGLEPROC)(EGLDisplay dpy, EGLSurface surface, EGLint attribute, GLvoid **value);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_EGL_ANGLE_QUERY_SURFACE_POINTER\n#define eglQuerySurfacePointerANGLE         reglQuerySurfacePointerANGLE\n#endif\n\n#ifndef REGAL_NO_DECLARATION_EGL_ANGLE_QUERY_SURFACE_POINTER\nREGAL_DECL EGLBoolean REGAL_CALL eglQuerySurfacePointerANGLE(EGLDisplay dpy, EGLSurface surface, EGLint attribute, GLvoid **value);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_EGL_ANGLE_QUERY_SURFACE_POINTER\nREGAL_DECL EGLBoolean REGAL_CALL plugin_eglQuerySurfacePointerANGLE(EGLDisplay dpy, EGLSurface surface, EGLint attribute, GLvoid **value);\n#endif\n\n/**\n ** EGL_ANGLE_surface_d3d_texture_2d_share_handle\n **/\n\n#if (defined(EGL_ANGLE_SURFACE_D3D_TEXTURE_2D_SHARE_HANDLE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_EGL_ANGLE_SURFACE_D3D_TEXTURE_2D_SHARE_HANDLE)) && !defined(REGAL_NO_ENUM_EGL_ANGLE_SURFACE_D3D_TEXTURE_2D_SHARE_HANDLE)\n#define REGAL_NO_ENUM_EGL_ANGLE_SURFACE_D3D_TEXTURE_2D_SHARE_HANDLE\n#endif\n\n#if (defined(EGL_ANGLE_SURFACE_D3D_TEXTURE_2D_SHARE_HANDLE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_EGL_ANGLE_SURFACE_D3D_TEXTURE_2D_SHARE_HANDLE)) && !defined(REGAL_NO_TYPEDEF_EGL_ANGLE_SURFACE_D3D_TEXTURE_2D_SHARE_HANDLE)\n#define REGAL_NO_TYPEDEF_EGL_ANGLE_SURFACE_D3D_TEXTURE_2D_SHARE_HANDLE\n#endif\n\n#if (defined(EGL_ANGLE_SURFACE_D3D_TEXTURE_2D_SHARE_HANDLE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_EGL_ANGLE_SURFACE_D3D_TEXTURE_2D_SHARE_HANDLE)) && !defined(REGAL_NO_NAMESPACE_EGL_ANGLE_SURFACE_D3D_TEXTURE_2D_SHARE_HANDLE)\n#define REGAL_NO_NAMESPACE_EGL_ANGLE_SURFACE_D3D_TEXTURE_2D_SHARE_HANDLE\n#endif\n\n#if (defined(EGL_ANGLE_SURFACE_D3D_TEXTURE_2D_SHARE_HANDLE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_EGL_ANGLE_SURFACE_D3D_TEXTURE_2D_SHARE_HANDLE)) && !defined(REGAL_NO_PLUGIN_EGL_ANGLE_SURFACE_D3D_TEXTURE_2D_SHARE_HANDLE)\n#define REGAL_NO_PLUGIN_EGL_ANGLE_SURFACE_D3D_TEXTURE_2D_SHARE_HANDLE\n#endif\n\n#if (defined(EGL_ANGLE_SURFACE_D3D_TEXTURE_2D_SHARE_HANDLE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_EGL_ANGLE_SURFACE_D3D_TEXTURE_2D_SHARE_HANDLE)) && !defined(REGAL_NO_DECLARATION_EGL_ANGLE_SURFACE_D3D_TEXTURE_2D_SHARE_HANDLE)\n#define REGAL_NO_DECLARATION_EGL_ANGLE_SURFACE_D3D_TEXTURE_2D_SHARE_HANDLE\n#endif\n\n#ifndef EGL_ANGLE_surface_d3d_texture_2d_share_handle\n#define EGL_ANGLE_surface_d3d_texture_2d_share_handle 1\n#endif\n\n#ifndef REGAL_NO_ENUM_EGL_ANGLE_SURFACE_D3D_TEXTURE_2D_SHARE_HANDLE\n#define EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE 0x3200 /* 12800 */\n#endif\n\n/**\n ** EGL_EXT_create_context_robustness\n **/\n\n#if (defined(EGL_EXT_CREATE_CONTEXT_ROBUSTNESS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_EGL_EXT_CREATE_CONTEXT_ROBUSTNESS)) && !defined(REGAL_NO_ENUM_EGL_EXT_CREATE_CONTEXT_ROBUSTNESS)\n#define REGAL_NO_ENUM_EGL_EXT_CREATE_CONTEXT_ROBUSTNESS\n#endif\n\n#if (defined(EGL_EXT_CREATE_CONTEXT_ROBUSTNESS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_EGL_EXT_CREATE_CONTEXT_ROBUSTNESS)) && !defined(REGAL_NO_TYPEDEF_EGL_EXT_CREATE_CONTEXT_ROBUSTNESS)\n#define REGAL_NO_TYPEDEF_EGL_EXT_CREATE_CONTEXT_ROBUSTNESS\n#endif\n\n#if (defined(EGL_EXT_CREATE_CONTEXT_ROBUSTNESS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_EGL_EXT_CREATE_CONTEXT_ROBUSTNESS)) && !defined(REGAL_NO_NAMESPACE_EGL_EXT_CREATE_CONTEXT_ROBUSTNESS)\n#define REGAL_NO_NAMESPACE_EGL_EXT_CREATE_CONTEXT_ROBUSTNESS\n#endif\n\n#if (defined(EGL_EXT_CREATE_CONTEXT_ROBUSTNESS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_EGL_EXT_CREATE_CONTEXT_ROBUSTNESS)) && !defined(REGAL_NO_PLUGIN_EGL_EXT_CREATE_CONTEXT_ROBUSTNESS)\n#define REGAL_NO_PLUGIN_EGL_EXT_CREATE_CONTEXT_ROBUSTNESS\n#endif\n\n#if (defined(EGL_EXT_CREATE_CONTEXT_ROBUSTNESS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_EGL_EXT_CREATE_CONTEXT_ROBUSTNESS)) && !defined(REGAL_NO_DECLARATION_EGL_EXT_CREATE_CONTEXT_ROBUSTNESS)\n#define REGAL_NO_DECLARATION_EGL_EXT_CREATE_CONTEXT_ROBUSTNESS\n#endif\n\n#ifndef EGL_EXT_create_context_robustness\n#define EGL_EXT_create_context_robustness 1\n#endif\n\n#ifndef REGAL_NO_ENUM_EGL_EXT_CREATE_CONTEXT_ROBUSTNESS\n#define EGL_CONTEXT_OPENGL_ROBUST_ACCESS_EXT               0x30bf     /* 12479 */\n#define EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_EXT 0x3138     /* 12600 */\n#define EGL_NO_RESET_NOTIFICATION_EXT                      0x31be     /* 12734 */\n#define EGL_LOSE_CONTEXT_ON_RESET_EXT                      0x31bf     /* 12735 */\n#endif\n\n/**\n ** EGL_EXT_multiview_window\n **/\n\n#if (defined(EGL_EXT_MULTIVIEW_WINDOW) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_EGL_EXT_MULTIVIEW_WINDOW)) && !defined(REGAL_NO_ENUM_EGL_EXT_MULTIVIEW_WINDOW)\n#define REGAL_NO_ENUM_EGL_EXT_MULTIVIEW_WINDOW\n#endif\n\n#if (defined(EGL_EXT_MULTIVIEW_WINDOW) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_EGL_EXT_MULTIVIEW_WINDOW)) && !defined(REGAL_NO_TYPEDEF_EGL_EXT_MULTIVIEW_WINDOW)\n#define REGAL_NO_TYPEDEF_EGL_EXT_MULTIVIEW_WINDOW\n#endif\n\n#if (defined(EGL_EXT_MULTIVIEW_WINDOW) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_EGL_EXT_MULTIVIEW_WINDOW)) && !defined(REGAL_NO_NAMESPACE_EGL_EXT_MULTIVIEW_WINDOW)\n#define REGAL_NO_NAMESPACE_EGL_EXT_MULTIVIEW_WINDOW\n#endif\n\n#if (defined(EGL_EXT_MULTIVIEW_WINDOW) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_EGL_EXT_MULTIVIEW_WINDOW)) && !defined(REGAL_NO_PLUGIN_EGL_EXT_MULTIVIEW_WINDOW)\n#define REGAL_NO_PLUGIN_EGL_EXT_MULTIVIEW_WINDOW\n#endif\n\n#if (defined(EGL_EXT_MULTIVIEW_WINDOW) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_EGL_EXT_MULTIVIEW_WINDOW)) && !defined(REGAL_NO_DECLARATION_EGL_EXT_MULTIVIEW_WINDOW)\n#define REGAL_NO_DECLARATION_EGL_EXT_MULTIVIEW_WINDOW\n#endif\n\n#ifndef EGL_EXT_multiview_window\n#define EGL_EXT_multiview_window 1\n#endif\n\n#ifndef REGAL_NO_ENUM_EGL_EXT_MULTIVIEW_WINDOW\n#define EGL_MULTIVIEW_VIEW_COUNT_EXT 0x3134 /* 12596 */\n#endif\n\n/**\n ** EGL_HI_colorformats\n **/\n\n#if (defined(EGL_HI_COLORFORMATS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_EGL_HI_COLORFORMATS)) && !defined(REGAL_NO_ENUM_EGL_HI_COLORFORMATS)\n#define REGAL_NO_ENUM_EGL_HI_COLORFORMATS\n#endif\n\n#if (defined(EGL_HI_COLORFORMATS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_EGL_HI_COLORFORMATS)) && !defined(REGAL_NO_TYPEDEF_EGL_HI_COLORFORMATS)\n#define REGAL_NO_TYPEDEF_EGL_HI_COLORFORMATS\n#endif\n\n#if (defined(EGL_HI_COLORFORMATS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_EGL_HI_COLORFORMATS)) && !defined(REGAL_NO_NAMESPACE_EGL_HI_COLORFORMATS)\n#define REGAL_NO_NAMESPACE_EGL_HI_COLORFORMATS\n#endif\n\n#if (defined(EGL_HI_COLORFORMATS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_EGL_HI_COLORFORMATS)) && !defined(REGAL_NO_PLUGIN_EGL_HI_COLORFORMATS)\n#define REGAL_NO_PLUGIN_EGL_HI_COLORFORMATS\n#endif\n\n#if (defined(EGL_HI_COLORFORMATS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_EGL_HI_COLORFORMATS)) && !defined(REGAL_NO_DECLARATION_EGL_HI_COLORFORMATS)\n#define REGAL_NO_DECLARATION_EGL_HI_COLORFORMATS\n#endif\n\n#ifndef EGL_HI_colorformats\n#define EGL_HI_colorformats 1\n#endif\n\n#ifndef REGAL_NO_ENUM_EGL_HI_COLORFORMATS\n#define EGL_COLOR_FORMAT_HI 0x8f70     /* 36720 */\n#define EGL_COLOR_RGB_HI    0x8f71     /* 36721 */\n#define EGL_COLOR_RGBA_HI   0x8f72     /* 36722 */\n#define EGL_COLOR_ARGB_HI   0x8f73     /* 36723 */\n#endif\n\n/**\n ** EGL_IMG_context_priority\n **/\n\n#if (defined(EGL_IMG_CONTEXT_PRIORITY) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_EGL_IMG_CONTEXT_PRIORITY)) && !defined(REGAL_NO_ENUM_EGL_IMG_CONTEXT_PRIORITY)\n#define REGAL_NO_ENUM_EGL_IMG_CONTEXT_PRIORITY\n#endif\n\n#if (defined(EGL_IMG_CONTEXT_PRIORITY) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_EGL_IMG_CONTEXT_PRIORITY)) && !defined(REGAL_NO_TYPEDEF_EGL_IMG_CONTEXT_PRIORITY)\n#define REGAL_NO_TYPEDEF_EGL_IMG_CONTEXT_PRIORITY\n#endif\n\n#if (defined(EGL_IMG_CONTEXT_PRIORITY) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_EGL_IMG_CONTEXT_PRIORITY)) && !defined(REGAL_NO_NAMESPACE_EGL_IMG_CONTEXT_PRIORITY)\n#define REGAL_NO_NAMESPACE_EGL_IMG_CONTEXT_PRIORITY\n#endif\n\n#if (defined(EGL_IMG_CONTEXT_PRIORITY) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_EGL_IMG_CONTEXT_PRIORITY)) && !defined(REGAL_NO_PLUGIN_EGL_IMG_CONTEXT_PRIORITY)\n#define REGAL_NO_PLUGIN_EGL_IMG_CONTEXT_PRIORITY\n#endif\n\n#if (defined(EGL_IMG_CONTEXT_PRIORITY) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_EGL_IMG_CONTEXT_PRIORITY)) && !defined(REGAL_NO_DECLARATION_EGL_IMG_CONTEXT_PRIORITY)\n#define REGAL_NO_DECLARATION_EGL_IMG_CONTEXT_PRIORITY\n#endif\n\n#ifndef EGL_IMG_context_priority\n#define EGL_IMG_context_priority 1\n#endif\n\n#ifndef REGAL_NO_ENUM_EGL_IMG_CONTEXT_PRIORITY\n#define EGL_CONTEXT_PRIORITY_LEVEL_IMG  0x3100     /* 12544 */\n#define EGL_CONTEXT_PRIORITY_HIGH_IMG   0x3101     /* 12545 */\n#define EGL_CONTEXT_PRIORITY_MEDIUM_IMG 0x3102     /* 12546 */\n#define EGL_CONTEXT_PRIORITY_LOW_IMG    0x3103     /* 12547 */\n#endif\n\n/**\n ** EGL_KHR_config_attribs\n **/\n\n#if (defined(EGL_KHR_CONFIG_ATTRIBS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_EGL_KHR_CONFIG_ATTRIBS)) && !defined(REGAL_NO_ENUM_EGL_KHR_CONFIG_ATTRIBS)\n#define REGAL_NO_ENUM_EGL_KHR_CONFIG_ATTRIBS\n#endif\n\n#if (defined(EGL_KHR_CONFIG_ATTRIBS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_EGL_KHR_CONFIG_ATTRIBS)) && !defined(REGAL_NO_TYPEDEF_EGL_KHR_CONFIG_ATTRIBS)\n#define REGAL_NO_TYPEDEF_EGL_KHR_CONFIG_ATTRIBS\n#endif\n\n#if (defined(EGL_KHR_CONFIG_ATTRIBS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_EGL_KHR_CONFIG_ATTRIBS)) && !defined(REGAL_NO_NAMESPACE_EGL_KHR_CONFIG_ATTRIBS)\n#define REGAL_NO_NAMESPACE_EGL_KHR_CONFIG_ATTRIBS\n#endif\n\n#if (defined(EGL_KHR_CONFIG_ATTRIBS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_EGL_KHR_CONFIG_ATTRIBS)) && !defined(REGAL_NO_PLUGIN_EGL_KHR_CONFIG_ATTRIBS)\n#define REGAL_NO_PLUGIN_EGL_KHR_CONFIG_ATTRIBS\n#endif\n\n#if (defined(EGL_KHR_CONFIG_ATTRIBS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_EGL_KHR_CONFIG_ATTRIBS)) && !defined(REGAL_NO_DECLARATION_EGL_KHR_CONFIG_ATTRIBS)\n#define REGAL_NO_DECLARATION_EGL_KHR_CONFIG_ATTRIBS\n#endif\n\n#ifndef EGL_KHR_config_attribs\n#define EGL_KHR_config_attribs 1\n#endif\n\n#ifndef REGAL_NO_ENUM_EGL_KHR_CONFIG_ATTRIBS\n#define EGL_VG_COLORSPACE_LINEAR_BIT_KHR 0x20       /* 32 */\n#define EGL_CONFORMANT_KHR               0x3042     /* 12354 */\n#define EGL_VG_ALPHA_FORMAT_PRE_BIT_KHR  0x40       /* 64 */\n#endif\n\n/**\n ** EGL_KHR_create_context\n **/\n\n#if (defined(EGL_KHR_CREATE_CONTEXT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_EGL_KHR_CREATE_CONTEXT)) && !defined(REGAL_NO_ENUM_EGL_KHR_CREATE_CONTEXT)\n#define REGAL_NO_ENUM_EGL_KHR_CREATE_CONTEXT\n#endif\n\n#if (defined(EGL_KHR_CREATE_CONTEXT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_EGL_KHR_CREATE_CONTEXT)) && !defined(REGAL_NO_TYPEDEF_EGL_KHR_CREATE_CONTEXT)\n#define REGAL_NO_TYPEDEF_EGL_KHR_CREATE_CONTEXT\n#endif\n\n#if (defined(EGL_KHR_CREATE_CONTEXT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_EGL_KHR_CREATE_CONTEXT)) && !defined(REGAL_NO_NAMESPACE_EGL_KHR_CREATE_CONTEXT)\n#define REGAL_NO_NAMESPACE_EGL_KHR_CREATE_CONTEXT\n#endif\n\n#if (defined(EGL_KHR_CREATE_CONTEXT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_EGL_KHR_CREATE_CONTEXT)) && !defined(REGAL_NO_PLUGIN_EGL_KHR_CREATE_CONTEXT)\n#define REGAL_NO_PLUGIN_EGL_KHR_CREATE_CONTEXT\n#endif\n\n#if (defined(EGL_KHR_CREATE_CONTEXT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_EGL_KHR_CREATE_CONTEXT)) && !defined(REGAL_NO_DECLARATION_EGL_KHR_CREATE_CONTEXT)\n#define REGAL_NO_DECLARATION_EGL_KHR_CREATE_CONTEXT\n#endif\n\n#ifndef EGL_KHR_create_context\n#define EGL_KHR_create_context 1\n#endif\n\n#ifndef REGAL_NO_ENUM_EGL_KHR_CREATE_CONTEXT\n#define EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT_KHR            0x1\n#define EGL_CONTEXT_OPENGL_DEBUG_BIT_KHR                   0x1\n#define EGL_CONTEXT_OPENGL_COMPATIBILITY_PROFILE_BIT_KHR   0x2\n#define EGL_CONTEXT_OPENGL_FORWARD_COMPATIBLE_BIT_KHR      0x2\n#define EGL_CONTEXT_MAJOR_VERSION_KHR                      0x3098     /* 12440 */\n#define EGL_CONTEXT_MINOR_VERSION_KHR                      0x30fb     /* 12539 */\n#define EGL_CONTEXT_FLAGS_KHR                              0x30fc     /* 12540 */\n#define EGL_CONTEXT_OPENGL_PROFILE_MASK_KHR                0x30fd     /* 12541 */\n#define EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_KHR 0x31bd     /* 12733 */\n#define EGL_NO_RESET_NOTIFICATION_KHR                      0x31be     /* 12734 */\n#define EGL_LOSE_CONTEXT_ON_RESET_KHR                      0x31bf     /* 12735 */\n#define EGL_CONTEXT_OPENGL_ROBUST_ACCESS_BIT_KHR           0x4\n#define EGL_OPENGL_ES3_BIT_KHR                             0x40       /* 64 */\n#endif\n\n/**\n ** EGL_KHR_fence_sync\n **/\n\n#if (defined(EGL_KHR_FENCE_SYNC) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_EGL_KHR_FENCE_SYNC)) && !defined(REGAL_NO_ENUM_EGL_KHR_FENCE_SYNC)\n#define REGAL_NO_ENUM_EGL_KHR_FENCE_SYNC\n#endif\n\n#if (defined(EGL_KHR_FENCE_SYNC) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_EGL_KHR_FENCE_SYNC)) && !defined(REGAL_NO_TYPEDEF_EGL_KHR_FENCE_SYNC)\n#define REGAL_NO_TYPEDEF_EGL_KHR_FENCE_SYNC\n#endif\n\n#if (defined(EGL_KHR_FENCE_SYNC) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_EGL_KHR_FENCE_SYNC)) && !defined(REGAL_NO_NAMESPACE_EGL_KHR_FENCE_SYNC)\n#define REGAL_NO_NAMESPACE_EGL_KHR_FENCE_SYNC\n#endif\n\n#if (defined(EGL_KHR_FENCE_SYNC) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_EGL_KHR_FENCE_SYNC)) && !defined(REGAL_NO_PLUGIN_EGL_KHR_FENCE_SYNC)\n#define REGAL_NO_PLUGIN_EGL_KHR_FENCE_SYNC\n#endif\n\n#if (defined(EGL_KHR_FENCE_SYNC) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_EGL_KHR_FENCE_SYNC)) && !defined(REGAL_NO_DECLARATION_EGL_KHR_FENCE_SYNC)\n#define REGAL_NO_DECLARATION_EGL_KHR_FENCE_SYNC\n#endif\n\n#ifndef EGL_KHR_fence_sync\n#define EGL_KHR_fence_sync 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_EGL_KHR_FENCE_SYNC\ntypedef EGLBoolean (REGAL_CALL *PFNEGLDESTROYSYNCKHRPROC)(EGLDisplay dpy, EGLSyncKHR GLsync);\ntypedef EGLBoolean (REGAL_CALL *PFNEGLGETSYNCATTRIBKHRPROC)(EGLDisplay dpy, EGLSyncKHR GLsync, EGLint attribute, EGLint *value);\ntypedef EGLSyncKHR (REGAL_CALL *PFNEGLCREATESYNCKHRPROC)(EGLDisplay dpy, EGLenum type, const EGLint *attrib_list);\ntypedef EGLint (REGAL_CALL *PFNEGLCLIENTWAITSYNCKHRPROC)(EGLDisplay dpy, EGLSyncKHR GLsync, EGLint flags, EGLTimeKHR timeout);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_EGL_KHR_FENCE_SYNC\n#define eglClientWaitSyncKHR                reglClientWaitSyncKHR\n#define eglCreateSyncKHR                    reglCreateSyncKHR\n#define eglDestroySyncKHR                   reglDestroySyncKHR\n#define eglGetSyncAttribKHR                 reglGetSyncAttribKHR\n#endif\n\n#ifndef REGAL_NO_DECLARATION_EGL_KHR_FENCE_SYNC\nREGAL_DECL EGLBoolean REGAL_CALL eglDestroySyncKHR(EGLDisplay dpy, EGLSyncKHR GLsync);\nREGAL_DECL EGLBoolean REGAL_CALL eglGetSyncAttribKHR(EGLDisplay dpy, EGLSyncKHR GLsync, EGLint attribute, EGLint *value);\nREGAL_DECL EGLSyncKHR REGAL_CALL eglCreateSyncKHR(EGLDisplay dpy, EGLenum type, const EGLint *attrib_list);\nREGAL_DECL EGLint REGAL_CALL eglClientWaitSyncKHR(EGLDisplay dpy, EGLSyncKHR GLsync, EGLint flags, EGLTimeKHR timeout);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_EGL_KHR_FENCE_SYNC\nREGAL_DECL EGLBoolean REGAL_CALL plugin_eglDestroySyncKHR(EGLDisplay dpy, EGLSyncKHR GLsync);\nREGAL_DECL EGLBoolean REGAL_CALL plugin_eglGetSyncAttribKHR(EGLDisplay dpy, EGLSyncKHR GLsync, EGLint attribute, EGLint *value);\nREGAL_DECL EGLSyncKHR REGAL_CALL plugin_eglCreateSyncKHR(EGLDisplay dpy, EGLenum type, const EGLint *attrib_list);\nREGAL_DECL EGLint REGAL_CALL plugin_eglClientWaitSyncKHR(EGLDisplay dpy, EGLSyncKHR GLsync, EGLint flags, EGLTimeKHR timeout);\n#endif\n\n/**\n ** EGL_KHR_gl_texture_cubemap_image\n **/\n\n#if (defined(EGL_KHR_GL_TEXTURE_CUBEMAP_IMAGE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_EGL_KHR_GL_TEXTURE_CUBEMAP_IMAGE)) && !defined(REGAL_NO_ENUM_EGL_KHR_GL_TEXTURE_CUBEMAP_IMAGE)\n#define REGAL_NO_ENUM_EGL_KHR_GL_TEXTURE_CUBEMAP_IMAGE\n#endif\n\n#if (defined(EGL_KHR_GL_TEXTURE_CUBEMAP_IMAGE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_EGL_KHR_GL_TEXTURE_CUBEMAP_IMAGE)) && !defined(REGAL_NO_TYPEDEF_EGL_KHR_GL_TEXTURE_CUBEMAP_IMAGE)\n#define REGAL_NO_TYPEDEF_EGL_KHR_GL_TEXTURE_CUBEMAP_IMAGE\n#endif\n\n#if (defined(EGL_KHR_GL_TEXTURE_CUBEMAP_IMAGE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_EGL_KHR_GL_TEXTURE_CUBEMAP_IMAGE)) && !defined(REGAL_NO_NAMESPACE_EGL_KHR_GL_TEXTURE_CUBEMAP_IMAGE)\n#define REGAL_NO_NAMESPACE_EGL_KHR_GL_TEXTURE_CUBEMAP_IMAGE\n#endif\n\n#if (defined(EGL_KHR_GL_TEXTURE_CUBEMAP_IMAGE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_EGL_KHR_GL_TEXTURE_CUBEMAP_IMAGE)) && !defined(REGAL_NO_PLUGIN_EGL_KHR_GL_TEXTURE_CUBEMAP_IMAGE)\n#define REGAL_NO_PLUGIN_EGL_KHR_GL_TEXTURE_CUBEMAP_IMAGE\n#endif\n\n#if (defined(EGL_KHR_GL_TEXTURE_CUBEMAP_IMAGE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_EGL_KHR_GL_TEXTURE_CUBEMAP_IMAGE)) && !defined(REGAL_NO_DECLARATION_EGL_KHR_GL_TEXTURE_CUBEMAP_IMAGE)\n#define REGAL_NO_DECLARATION_EGL_KHR_GL_TEXTURE_CUBEMAP_IMAGE\n#endif\n\n#ifndef EGL_KHR_gl_texture_cubemap_image\n#define EGL_KHR_gl_texture_cubemap_image 1\n#endif\n\n#ifndef REGAL_NO_ENUM_EGL_KHR_GL_TEXTURE_CUBEMAP_IMAGE\n#define EGL_GL_TEXTURE_2D_KHR                  0x30b1     /* 12465 */\n#define EGL_GL_TEXTURE_3D_KHR                  0x30b2     /* 12466 */\n#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_X_KHR 0x30b3     /* 12467 */\n#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_X_KHR 0x30b4     /* 12468 */\n#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Y_KHR 0x30b5     /* 12469 */\n#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_KHR 0x30b6     /* 12470 */\n#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Z_KHR 0x30b7     /* 12471 */\n#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_KHR 0x30b8     /* 12472 */\n#define EGL_GL_RENDERBUFFER_KHR                0x30b9     /* 12473 */\n#define EGL_GL_TEXTURE_LEVEL_KHR               0x30bc     /* 12476 */\n#define EGL_GL_TEXTURE_ZOFFSET_KHR             0x30bd     /* 12477 */\n#endif\n\n/**\n ** EGL_KHR_image_base\n **/\n\n#if (defined(EGL_KHR_IMAGE_BASE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_EGL_KHR_IMAGE_BASE)) && !defined(REGAL_NO_ENUM_EGL_KHR_IMAGE_BASE)\n#define REGAL_NO_ENUM_EGL_KHR_IMAGE_BASE\n#endif\n\n#if (defined(EGL_KHR_IMAGE_BASE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_EGL_KHR_IMAGE_BASE)) && !defined(REGAL_NO_TYPEDEF_EGL_KHR_IMAGE_BASE)\n#define REGAL_NO_TYPEDEF_EGL_KHR_IMAGE_BASE\n#endif\n\n#if (defined(EGL_KHR_IMAGE_BASE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_EGL_KHR_IMAGE_BASE)) && !defined(REGAL_NO_NAMESPACE_EGL_KHR_IMAGE_BASE)\n#define REGAL_NO_NAMESPACE_EGL_KHR_IMAGE_BASE\n#endif\n\n#if (defined(EGL_KHR_IMAGE_BASE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_EGL_KHR_IMAGE_BASE)) && !defined(REGAL_NO_PLUGIN_EGL_KHR_IMAGE_BASE)\n#define REGAL_NO_PLUGIN_EGL_KHR_IMAGE_BASE\n#endif\n\n#if (defined(EGL_KHR_IMAGE_BASE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_EGL_KHR_IMAGE_BASE)) && !defined(REGAL_NO_DECLARATION_EGL_KHR_IMAGE_BASE)\n#define REGAL_NO_DECLARATION_EGL_KHR_IMAGE_BASE\n#endif\n\n#ifndef EGL_KHR_image_base\n#define EGL_KHR_image_base 1\n#endif\n\n#ifndef REGAL_NO_ENUM_EGL_KHR_IMAGE_BASE\n#define EGL_IMAGE_PRESERVED_KHR 0x30d2 /* 12498 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_EGL_KHR_IMAGE_BASE\ntypedef EGLBoolean (REGAL_CALL *PFNEGLDESTROYIMAGEKHRPROC)(EGLDisplay dpy, EGLImageKHR image);\ntypedef EGLImageKHR (REGAL_CALL *PFNEGLCREATEIMAGEKHRPROC)(EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint *attrib_list);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_EGL_KHR_IMAGE_BASE\n#define eglCreateImageKHR                   reglCreateImageKHR\n#define eglDestroyImageKHR                  reglDestroyImageKHR\n#endif\n\n#ifndef REGAL_NO_DECLARATION_EGL_KHR_IMAGE_BASE\nREGAL_DECL EGLBoolean REGAL_CALL eglDestroyImageKHR(EGLDisplay dpy, EGLImageKHR image);\nREGAL_DECL EGLImageKHR REGAL_CALL eglCreateImageKHR(EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint *attrib_list);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_EGL_KHR_IMAGE_BASE\nREGAL_DECL EGLBoolean REGAL_CALL plugin_eglDestroyImageKHR(EGLDisplay dpy, EGLImageKHR image);\nREGAL_DECL EGLImageKHR REGAL_CALL plugin_eglCreateImageKHR(EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint *attrib_list);\n#endif\n\n/**\n ** EGL_KHR_image_pixmap\n **/\n\n#if (defined(EGL_KHR_IMAGE_PIXMAP) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_EGL_KHR_IMAGE_PIXMAP)) && !defined(REGAL_NO_ENUM_EGL_KHR_IMAGE_PIXMAP)\n#define REGAL_NO_ENUM_EGL_KHR_IMAGE_PIXMAP\n#endif\n\n#if (defined(EGL_KHR_IMAGE_PIXMAP) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_EGL_KHR_IMAGE_PIXMAP)) && !defined(REGAL_NO_TYPEDEF_EGL_KHR_IMAGE_PIXMAP)\n#define REGAL_NO_TYPEDEF_EGL_KHR_IMAGE_PIXMAP\n#endif\n\n#if (defined(EGL_KHR_IMAGE_PIXMAP) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_EGL_KHR_IMAGE_PIXMAP)) && !defined(REGAL_NO_NAMESPACE_EGL_KHR_IMAGE_PIXMAP)\n#define REGAL_NO_NAMESPACE_EGL_KHR_IMAGE_PIXMAP\n#endif\n\n#if (defined(EGL_KHR_IMAGE_PIXMAP) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_EGL_KHR_IMAGE_PIXMAP)) && !defined(REGAL_NO_PLUGIN_EGL_KHR_IMAGE_PIXMAP)\n#define REGAL_NO_PLUGIN_EGL_KHR_IMAGE_PIXMAP\n#endif\n\n#if (defined(EGL_KHR_IMAGE_PIXMAP) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_EGL_KHR_IMAGE_PIXMAP)) && !defined(REGAL_NO_DECLARATION_EGL_KHR_IMAGE_PIXMAP)\n#define REGAL_NO_DECLARATION_EGL_KHR_IMAGE_PIXMAP\n#endif\n\n#ifndef EGL_KHR_image_pixmap\n#define EGL_KHR_image_pixmap 1\n#endif\n\n#ifndef REGAL_NO_ENUM_EGL_KHR_IMAGE_PIXMAP\n#define EGL_NATIVE_PIXMAP_KHR 0x30b0 /* 12464 */\n#endif\n\n/**\n ** EGL_KHR_lock_surface\n **/\n\n#if (defined(EGL_KHR_LOCK_SURFACE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_EGL_KHR_LOCK_SURFACE)) && !defined(REGAL_NO_ENUM_EGL_KHR_LOCK_SURFACE)\n#define REGAL_NO_ENUM_EGL_KHR_LOCK_SURFACE\n#endif\n\n#if (defined(EGL_KHR_LOCK_SURFACE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_EGL_KHR_LOCK_SURFACE)) && !defined(REGAL_NO_TYPEDEF_EGL_KHR_LOCK_SURFACE)\n#define REGAL_NO_TYPEDEF_EGL_KHR_LOCK_SURFACE\n#endif\n\n#if (defined(EGL_KHR_LOCK_SURFACE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_EGL_KHR_LOCK_SURFACE)) && !defined(REGAL_NO_NAMESPACE_EGL_KHR_LOCK_SURFACE)\n#define REGAL_NO_NAMESPACE_EGL_KHR_LOCK_SURFACE\n#endif\n\n#if (defined(EGL_KHR_LOCK_SURFACE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_EGL_KHR_LOCK_SURFACE)) && !defined(REGAL_NO_PLUGIN_EGL_KHR_LOCK_SURFACE)\n#define REGAL_NO_PLUGIN_EGL_KHR_LOCK_SURFACE\n#endif\n\n#if (defined(EGL_KHR_LOCK_SURFACE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_EGL_KHR_LOCK_SURFACE)) && !defined(REGAL_NO_DECLARATION_EGL_KHR_LOCK_SURFACE)\n#define REGAL_NO_DECLARATION_EGL_KHR_LOCK_SURFACE\n#endif\n\n#ifndef EGL_KHR_lock_surface\n#define EGL_KHR_lock_surface 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_EGL_KHR_LOCK_SURFACE\ntypedef EGLBoolean (REGAL_CALL *PFNEGLLOCKSURFACEKHRPROC)(EGLDisplay display, EGLSurface surface, const EGLint *attrib_list);\ntypedef EGLBoolean (REGAL_CALL *PFNEGLUNLOCKSURFACEKHRPROC)(EGLDisplay display, EGLSurface surface);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_EGL_KHR_LOCK_SURFACE\n#define eglLockSurfaceKHR                   reglLockSurfaceKHR\n#define eglUnlockSurfaceKHR                 reglUnlockSurfaceKHR\n#endif\n\n#ifndef REGAL_NO_DECLARATION_EGL_KHR_LOCK_SURFACE\nREGAL_DECL EGLBoolean REGAL_CALL eglLockSurfaceKHR(EGLDisplay display, EGLSurface surface, const EGLint *attrib_list);\nREGAL_DECL EGLBoolean REGAL_CALL eglUnlockSurfaceKHR(EGLDisplay display, EGLSurface surface);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_EGL_KHR_LOCK_SURFACE\nREGAL_DECL EGLBoolean REGAL_CALL plugin_eglLockSurfaceKHR(EGLDisplay display, EGLSurface surface, const EGLint *attrib_list);\nREGAL_DECL EGLBoolean REGAL_CALL plugin_eglUnlockSurfaceKHR(EGLDisplay display, EGLSurface surface);\n#endif\n\n/**\n ** EGL_KHR_lock_surface2\n **/\n\n#if (defined(EGL_KHR_LOCK_SURFACE2) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_EGL_KHR_LOCK_SURFACE2)) && !defined(REGAL_NO_ENUM_EGL_KHR_LOCK_SURFACE2)\n#define REGAL_NO_ENUM_EGL_KHR_LOCK_SURFACE2\n#endif\n\n#if (defined(EGL_KHR_LOCK_SURFACE2) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_EGL_KHR_LOCK_SURFACE2)) && !defined(REGAL_NO_TYPEDEF_EGL_KHR_LOCK_SURFACE2)\n#define REGAL_NO_TYPEDEF_EGL_KHR_LOCK_SURFACE2\n#endif\n\n#if (defined(EGL_KHR_LOCK_SURFACE2) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_EGL_KHR_LOCK_SURFACE2)) && !defined(REGAL_NO_NAMESPACE_EGL_KHR_LOCK_SURFACE2)\n#define REGAL_NO_NAMESPACE_EGL_KHR_LOCK_SURFACE2\n#endif\n\n#if (defined(EGL_KHR_LOCK_SURFACE2) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_EGL_KHR_LOCK_SURFACE2)) && !defined(REGAL_NO_PLUGIN_EGL_KHR_LOCK_SURFACE2)\n#define REGAL_NO_PLUGIN_EGL_KHR_LOCK_SURFACE2\n#endif\n\n#if (defined(EGL_KHR_LOCK_SURFACE2) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_EGL_KHR_LOCK_SURFACE2)) && !defined(REGAL_NO_DECLARATION_EGL_KHR_LOCK_SURFACE2)\n#define REGAL_NO_DECLARATION_EGL_KHR_LOCK_SURFACE2\n#endif\n\n#ifndef EGL_KHR_lock_surface2\n#define EGL_KHR_lock_surface2 1\n#endif\n\n#ifndef REGAL_NO_ENUM_EGL_KHR_LOCK_SURFACE2\n#define EGL_READ_SURFACE_BIT_KHR              0x1\n#define EGL_OPTIMAL_FORMAT_BIT_KHR            0x100      /* 256 */\n#define EGL_WRITE_SURFACE_BIT_KHR             0x2\n#define EGL_MATCH_FORMAT_KHR                  0x3043     /* 12355 */\n#define EGL_FORMAT_RGB_565_EXACT_KHR          0x30c0     /* 12480 */\n#define EGL_FORMAT_RGB_565_KHR                0x30c1     /* 12481 */\n#define EGL_FORMAT_RGBA_8888_EXACT_KHR        0x30c2     /* 12482 */\n#define EGL_FORMAT_RGBA_8888_KHR              0x30c3     /* 12483 */\n#define EGL_MAP_PRESERVE_PIXELS_KHR           0x30c4     /* 12484 */\n#define EGL_LOCK_USAGE_HINT_KHR               0x30c5     /* 12485 */\n#define EGL_BITMAP_POINTER_KHR                0x30c6     /* 12486 */\n#define EGL_BITMAP_PITCH_KHR                  0x30c7     /* 12487 */\n#define EGL_BITMAP_ORIGIN_KHR                 0x30c8     /* 12488 */\n#define EGL_BITMAP_PIXEL_RED_OFFSET_KHR       0x30c9     /* 12489 */\n#define EGL_BITMAP_PIXEL_GREEN_OFFSET_KHR     0x30ca     /* 12490 */\n#define EGL_BITMAP_PIXEL_BLUE_OFFSET_KHR      0x30cb     /* 12491 */\n#define EGL_BITMAP_PIXEL_ALPHA_OFFSET_KHR     0x30cc     /* 12492 */\n#define EGL_BITMAP_PIXEL_LUMINANCE_OFFSET_KHR 0x30cd     /* 12493 */\n#define EGL_LOWER_LEFT_KHR                    0x30ce     /* 12494 */\n#define EGL_UPPER_LEFT_KHR                    0x30cf     /* 12495 */\n#define EGL_BITMAP_PIXEL_SIZE_KHR             0x3110     /* 12560 */\n#define EGL_LOCK_SURFACE_BIT_KHR              0x80       /* 128 */\n#endif\n\n/**\n ** EGL_KHR_reusable_sync\n **/\n\n#if (defined(EGL_KHR_REUSABLE_SYNC) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_EGL_KHR_REUSABLE_SYNC)) && !defined(REGAL_NO_ENUM_EGL_KHR_REUSABLE_SYNC)\n#define REGAL_NO_ENUM_EGL_KHR_REUSABLE_SYNC\n#endif\n\n#if (defined(EGL_KHR_REUSABLE_SYNC) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_EGL_KHR_REUSABLE_SYNC)) && !defined(REGAL_NO_TYPEDEF_EGL_KHR_REUSABLE_SYNC)\n#define REGAL_NO_TYPEDEF_EGL_KHR_REUSABLE_SYNC\n#endif\n\n#if (defined(EGL_KHR_REUSABLE_SYNC) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_EGL_KHR_REUSABLE_SYNC)) && !defined(REGAL_NO_NAMESPACE_EGL_KHR_REUSABLE_SYNC)\n#define REGAL_NO_NAMESPACE_EGL_KHR_REUSABLE_SYNC\n#endif\n\n#if (defined(EGL_KHR_REUSABLE_SYNC) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_EGL_KHR_REUSABLE_SYNC)) && !defined(REGAL_NO_PLUGIN_EGL_KHR_REUSABLE_SYNC)\n#define REGAL_NO_PLUGIN_EGL_KHR_REUSABLE_SYNC\n#endif\n\n#if (defined(EGL_KHR_REUSABLE_SYNC) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_EGL_KHR_REUSABLE_SYNC)) && !defined(REGAL_NO_DECLARATION_EGL_KHR_REUSABLE_SYNC)\n#define REGAL_NO_DECLARATION_EGL_KHR_REUSABLE_SYNC\n#endif\n\n#ifndef EGL_KHR_reusable_sync\n#define EGL_KHR_reusable_sync 1\n#endif\n\n#ifndef REGAL_NO_ENUM_EGL_KHR_REUSABLE_SYNC\n#define EGL_SYNC_REUSABLE_KHR 0x30fa /* 12538 */\n#endif\n\n/**\n ** EGL_KHR_stream\n **/\n\n#if (defined(EGL_KHR_STREAM) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_EGL_KHR_STREAM)) && !defined(REGAL_NO_ENUM_EGL_KHR_STREAM)\n#define REGAL_NO_ENUM_EGL_KHR_STREAM\n#endif\n\n#if (defined(EGL_KHR_STREAM) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_EGL_KHR_STREAM)) && !defined(REGAL_NO_TYPEDEF_EGL_KHR_STREAM)\n#define REGAL_NO_TYPEDEF_EGL_KHR_STREAM\n#endif\n\n#if (defined(EGL_KHR_STREAM) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_EGL_KHR_STREAM)) && !defined(REGAL_NO_NAMESPACE_EGL_KHR_STREAM)\n#define REGAL_NO_NAMESPACE_EGL_KHR_STREAM\n#endif\n\n#if (defined(EGL_KHR_STREAM) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_EGL_KHR_STREAM)) && !defined(REGAL_NO_PLUGIN_EGL_KHR_STREAM)\n#define REGAL_NO_PLUGIN_EGL_KHR_STREAM\n#endif\n\n#if (defined(EGL_KHR_STREAM) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_EGL_KHR_STREAM)) && !defined(REGAL_NO_DECLARATION_EGL_KHR_STREAM)\n#define REGAL_NO_DECLARATION_EGL_KHR_STREAM\n#endif\n\n#ifndef EGL_KHR_stream\n#define EGL_KHR_stream 1\n#endif\n\n#ifndef REGAL_NO_ENUM_EGL_KHR_STREAM\n#define EGL_CONSUMER_LATENCY_USEC_KHR            0x3210     /* 12816 */\n#define EGL_PRODUCER_FRAME_KHR                   0x3212     /* 12818 */\n#define EGL_CONSUMER_FRAME_KHR                   0x3213     /* 12819 */\n#define EGL_STREAM_STATE_KHR                     0x3214     /* 12820 */\n#define EGL_STREAM_STATE_CREATED_KHR             0x3215     /* 12821 */\n#define EGL_STREAM_STATE_CONNECTING_KHR          0x3216     /* 12822 */\n#define EGL_STREAM_STATE_EMPTY_KHR               0x3217     /* 12823 */\n#define EGL_STREAM_STATE_NEW_FRAME_AVAILABLE_KHR 0x3218     /* 12824 */\n#define EGL_STREAM_STATE_OLD_FRAME_AVAILABLE_KHR 0x3219     /* 12825 */\n#define EGL_STREAM_STATE_DISCONNECTED_KHR        0x321a     /* 12826 */\n#define EGL_BAD_STREAM_KHR                       0x321b     /* 12827 */\n#define EGL_BAD_STATE_KHR                        0x321c     /* 12828 */\n#endif\n\n/**\n ** EGL_KHR_stream_consumer_gltexture\n **/\n\n#if (defined(EGL_KHR_STREAM_CONSUMER_GLTEXTURE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_EGL_KHR_STREAM_CONSUMER_GLTEXTURE)) && !defined(REGAL_NO_ENUM_EGL_KHR_STREAM_CONSUMER_GLTEXTURE)\n#define REGAL_NO_ENUM_EGL_KHR_STREAM_CONSUMER_GLTEXTURE\n#endif\n\n#if (defined(EGL_KHR_STREAM_CONSUMER_GLTEXTURE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_EGL_KHR_STREAM_CONSUMER_GLTEXTURE)) && !defined(REGAL_NO_TYPEDEF_EGL_KHR_STREAM_CONSUMER_GLTEXTURE)\n#define REGAL_NO_TYPEDEF_EGL_KHR_STREAM_CONSUMER_GLTEXTURE\n#endif\n\n#if (defined(EGL_KHR_STREAM_CONSUMER_GLTEXTURE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_EGL_KHR_STREAM_CONSUMER_GLTEXTURE)) && !defined(REGAL_NO_NAMESPACE_EGL_KHR_STREAM_CONSUMER_GLTEXTURE)\n#define REGAL_NO_NAMESPACE_EGL_KHR_STREAM_CONSUMER_GLTEXTURE\n#endif\n\n#if (defined(EGL_KHR_STREAM_CONSUMER_GLTEXTURE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_EGL_KHR_STREAM_CONSUMER_GLTEXTURE)) && !defined(REGAL_NO_PLUGIN_EGL_KHR_STREAM_CONSUMER_GLTEXTURE)\n#define REGAL_NO_PLUGIN_EGL_KHR_STREAM_CONSUMER_GLTEXTURE\n#endif\n\n#if (defined(EGL_KHR_STREAM_CONSUMER_GLTEXTURE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_EGL_KHR_STREAM_CONSUMER_GLTEXTURE)) && !defined(REGAL_NO_DECLARATION_EGL_KHR_STREAM_CONSUMER_GLTEXTURE)\n#define REGAL_NO_DECLARATION_EGL_KHR_STREAM_CONSUMER_GLTEXTURE\n#endif\n\n#ifndef EGL_KHR_stream_consumer_gltexture\n#define EGL_KHR_stream_consumer_gltexture 1\n#endif\n\n#ifndef REGAL_NO_ENUM_EGL_KHR_STREAM_CONSUMER_GLTEXTURE\n#define EGL_CONSUMER_ACQUIRE_TIMEOUT_USEC_KHR 0x321e /* 12830 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_EGL_KHR_STREAM_CONSUMER_GLTEXTURE\ntypedef EGLBoolean (REGAL_CALL *PFNEGLSTREAMCONSUMERACQUIREKHRPROC)(EGLDisplay dpy, EGLStreamKHR stream);\ntypedef EGLBoolean (REGAL_CALL *PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALKHRPROC)(EGLDisplay dpy, EGLStreamKHR stream);\ntypedef EGLBoolean (REGAL_CALL *PFNEGLSTREAMCONSUMERRELEASEKHRPROC)(EGLDisplay dpy, EGLStreamKHR stream);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_EGL_KHR_STREAM_CONSUMER_GLTEXTURE\n#define eglStreamConsumerAcquireKHR         reglStreamConsumerAcquireKHR\n#define eglStreamConsumerGLTextureExternalKHR reglStreamConsumerGLTextureExternalKHR\n#define eglStreamConsumerReleaseKHR         reglStreamConsumerReleaseKHR\n#endif\n\n#ifndef REGAL_NO_DECLARATION_EGL_KHR_STREAM_CONSUMER_GLTEXTURE\nREGAL_DECL EGLBoolean REGAL_CALL eglStreamConsumerAcquireKHR(EGLDisplay dpy, EGLStreamKHR stream);\nREGAL_DECL EGLBoolean REGAL_CALL eglStreamConsumerGLTextureExternalKHR(EGLDisplay dpy, EGLStreamKHR stream);\nREGAL_DECL EGLBoolean REGAL_CALL eglStreamConsumerReleaseKHR(EGLDisplay dpy, EGLStreamKHR stream);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_EGL_KHR_STREAM_CONSUMER_GLTEXTURE\nREGAL_DECL EGLBoolean REGAL_CALL plugin_eglStreamConsumerAcquireKHR(EGLDisplay dpy, EGLStreamKHR stream);\nREGAL_DECL EGLBoolean REGAL_CALL plugin_eglStreamConsumerGLTextureExternalKHR(EGLDisplay dpy, EGLStreamKHR stream);\nREGAL_DECL EGLBoolean REGAL_CALL plugin_eglStreamConsumerReleaseKHR(EGLDisplay dpy, EGLStreamKHR stream);\n#endif\n\n/**\n ** EGL_KHR_stream_cross_process_fd\n **/\n\n#if (defined(EGL_KHR_STREAM_CROSS_PROCESS_FD) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_EGL_KHR_STREAM_CROSS_PROCESS_FD)) && !defined(REGAL_NO_ENUM_EGL_KHR_STREAM_CROSS_PROCESS_FD)\n#define REGAL_NO_ENUM_EGL_KHR_STREAM_CROSS_PROCESS_FD\n#endif\n\n#if (defined(EGL_KHR_STREAM_CROSS_PROCESS_FD) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_EGL_KHR_STREAM_CROSS_PROCESS_FD)) && !defined(REGAL_NO_TYPEDEF_EGL_KHR_STREAM_CROSS_PROCESS_FD)\n#define REGAL_NO_TYPEDEF_EGL_KHR_STREAM_CROSS_PROCESS_FD\n#endif\n\n#if (defined(EGL_KHR_STREAM_CROSS_PROCESS_FD) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_EGL_KHR_STREAM_CROSS_PROCESS_FD)) && !defined(REGAL_NO_NAMESPACE_EGL_KHR_STREAM_CROSS_PROCESS_FD)\n#define REGAL_NO_NAMESPACE_EGL_KHR_STREAM_CROSS_PROCESS_FD\n#endif\n\n#if (defined(EGL_KHR_STREAM_CROSS_PROCESS_FD) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_EGL_KHR_STREAM_CROSS_PROCESS_FD)) && !defined(REGAL_NO_PLUGIN_EGL_KHR_STREAM_CROSS_PROCESS_FD)\n#define REGAL_NO_PLUGIN_EGL_KHR_STREAM_CROSS_PROCESS_FD\n#endif\n\n#if (defined(EGL_KHR_STREAM_CROSS_PROCESS_FD) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_EGL_KHR_STREAM_CROSS_PROCESS_FD)) && !defined(REGAL_NO_DECLARATION_EGL_KHR_STREAM_CROSS_PROCESS_FD)\n#define REGAL_NO_DECLARATION_EGL_KHR_STREAM_CROSS_PROCESS_FD\n#endif\n\n#ifndef EGL_KHR_stream_cross_process_fd\n#define EGL_KHR_stream_cross_process_fd 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_EGL_KHR_STREAM_CROSS_PROCESS_FD\ntypedef EGLNativeFileDescriptorKHR (REGAL_CALL *PFNEGLGETSTREAMFILEDESCRIPTORKHRPROC)(EGLDisplay dpy, EGLStreamKHR stream);\ntypedef EGLStreamKHR (REGAL_CALL *PFNEGLCREATESTREAMFROMFILEDESCRIPTORKHRPROC)(EGLDisplay dpy, EGLNativeFileDescriptorKHR file_descriptor);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_EGL_KHR_STREAM_CROSS_PROCESS_FD\n#define eglCreateStreamFromFileDescriptorKHR reglCreateStreamFromFileDescriptorKHR\n#define eglGetStreamFileDescriptorKHR       reglGetStreamFileDescriptorKHR\n#endif\n\n#ifndef REGAL_NO_DECLARATION_EGL_KHR_STREAM_CROSS_PROCESS_FD\nREGAL_DECL EGLNativeFileDescriptorKHR REGAL_CALL eglGetStreamFileDescriptorKHR(EGLDisplay dpy, EGLStreamKHR stream);\nREGAL_DECL EGLStreamKHR REGAL_CALL eglCreateStreamFromFileDescriptorKHR(EGLDisplay dpy, EGLNativeFileDescriptorKHR file_descriptor);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_EGL_KHR_STREAM_CROSS_PROCESS_FD\nREGAL_DECL EGLNativeFileDescriptorKHR REGAL_CALL plugin_eglGetStreamFileDescriptorKHR(EGLDisplay dpy, EGLStreamKHR stream);\nREGAL_DECL EGLStreamKHR REGAL_CALL plugin_eglCreateStreamFromFileDescriptorKHR(EGLDisplay dpy, EGLNativeFileDescriptorKHR file_descriptor);\n#endif\n\n/**\n ** EGL_KHR_stream_fifo\n **/\n\n#if (defined(EGL_KHR_STREAM_FIFO) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_EGL_KHR_STREAM_FIFO)) && !defined(REGAL_NO_ENUM_EGL_KHR_STREAM_FIFO)\n#define REGAL_NO_ENUM_EGL_KHR_STREAM_FIFO\n#endif\n\n#if (defined(EGL_KHR_STREAM_FIFO) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_EGL_KHR_STREAM_FIFO)) && !defined(REGAL_NO_TYPEDEF_EGL_KHR_STREAM_FIFO)\n#define REGAL_NO_TYPEDEF_EGL_KHR_STREAM_FIFO\n#endif\n\n#if (defined(EGL_KHR_STREAM_FIFO) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_EGL_KHR_STREAM_FIFO)) && !defined(REGAL_NO_NAMESPACE_EGL_KHR_STREAM_FIFO)\n#define REGAL_NO_NAMESPACE_EGL_KHR_STREAM_FIFO\n#endif\n\n#if (defined(EGL_KHR_STREAM_FIFO) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_EGL_KHR_STREAM_FIFO)) && !defined(REGAL_NO_PLUGIN_EGL_KHR_STREAM_FIFO)\n#define REGAL_NO_PLUGIN_EGL_KHR_STREAM_FIFO\n#endif\n\n#if (defined(EGL_KHR_STREAM_FIFO) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_EGL_KHR_STREAM_FIFO)) && !defined(REGAL_NO_DECLARATION_EGL_KHR_STREAM_FIFO)\n#define REGAL_NO_DECLARATION_EGL_KHR_STREAM_FIFO\n#endif\n\n#ifndef EGL_KHR_stream_fifo\n#define EGL_KHR_stream_fifo 1\n#endif\n\n#ifndef REGAL_NO_ENUM_EGL_KHR_STREAM_FIFO\n#define EGL_STREAM_FIFO_LENGTH_KHR   0x31fc     /* 12796 */\n#define EGL_STREAM_TIME_NOW_KHR      0x31fd     /* 12797 */\n#define EGL_STREAM_TIME_CONSUMER_KHR 0x31fe     /* 12798 */\n#define EGL_STREAM_TIME_PRODUCER_KHR 0x31ff     /* 12799 */\n#endif\n\n/**\n ** EGL_KHR_stream_producer_eglsurface\n **/\n\n#if (defined(EGL_KHR_STREAM_PRODUCER_EGLSURFACE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_EGL_KHR_STREAM_PRODUCER_EGLSURFACE)) && !defined(REGAL_NO_ENUM_EGL_KHR_STREAM_PRODUCER_EGLSURFACE)\n#define REGAL_NO_ENUM_EGL_KHR_STREAM_PRODUCER_EGLSURFACE\n#endif\n\n#if (defined(EGL_KHR_STREAM_PRODUCER_EGLSURFACE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_EGL_KHR_STREAM_PRODUCER_EGLSURFACE)) && !defined(REGAL_NO_TYPEDEF_EGL_KHR_STREAM_PRODUCER_EGLSURFACE)\n#define REGAL_NO_TYPEDEF_EGL_KHR_STREAM_PRODUCER_EGLSURFACE\n#endif\n\n#if (defined(EGL_KHR_STREAM_PRODUCER_EGLSURFACE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_EGL_KHR_STREAM_PRODUCER_EGLSURFACE)) && !defined(REGAL_NO_NAMESPACE_EGL_KHR_STREAM_PRODUCER_EGLSURFACE)\n#define REGAL_NO_NAMESPACE_EGL_KHR_STREAM_PRODUCER_EGLSURFACE\n#endif\n\n#if (defined(EGL_KHR_STREAM_PRODUCER_EGLSURFACE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_EGL_KHR_STREAM_PRODUCER_EGLSURFACE)) && !defined(REGAL_NO_PLUGIN_EGL_KHR_STREAM_PRODUCER_EGLSURFACE)\n#define REGAL_NO_PLUGIN_EGL_KHR_STREAM_PRODUCER_EGLSURFACE\n#endif\n\n#if (defined(EGL_KHR_STREAM_PRODUCER_EGLSURFACE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_EGL_KHR_STREAM_PRODUCER_EGLSURFACE)) && !defined(REGAL_NO_DECLARATION_EGL_KHR_STREAM_PRODUCER_EGLSURFACE)\n#define REGAL_NO_DECLARATION_EGL_KHR_STREAM_PRODUCER_EGLSURFACE\n#endif\n\n#ifndef EGL_KHR_stream_producer_eglsurface\n#define EGL_KHR_stream_producer_eglsurface 1\n#endif\n\n#ifndef REGAL_NO_ENUM_EGL_KHR_STREAM_PRODUCER_EGLSURFACE\n#define EGL_STREAM_BIT_KHR 0x800 /* 2048 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_EGL_KHR_STREAM_PRODUCER_EGLSURFACE\ntypedef EGLSurface (REGAL_CALL *PFNEGLCREATESTREAMPRODUCERSURFACEKHRPROC)(EGLDisplay dpy, EGLConfig config, EGLStreamKHR stream, const EGLint *attrib_list);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_EGL_KHR_STREAM_PRODUCER_EGLSURFACE\n#define eglCreateStreamProducerSurfaceKHR   reglCreateStreamProducerSurfaceKHR\n#endif\n\n#ifndef REGAL_NO_DECLARATION_EGL_KHR_STREAM_PRODUCER_EGLSURFACE\nREGAL_DECL EGLSurface REGAL_CALL eglCreateStreamProducerSurfaceKHR(EGLDisplay dpy, EGLConfig config, EGLStreamKHR stream, const EGLint *attrib_list);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_EGL_KHR_STREAM_PRODUCER_EGLSURFACE\nREGAL_DECL EGLSurface REGAL_CALL plugin_eglCreateStreamProducerSurfaceKHR(EGLDisplay dpy, EGLConfig config, EGLStreamKHR stream, const EGLint *attrib_list);\n#endif\n\n/**\n ** EGL_KHR_vg_parent_image\n **/\n\n#if (defined(EGL_KHR_VG_PARENT_IMAGE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_EGL_KHR_VG_PARENT_IMAGE)) && !defined(REGAL_NO_ENUM_EGL_KHR_VG_PARENT_IMAGE)\n#define REGAL_NO_ENUM_EGL_KHR_VG_PARENT_IMAGE\n#endif\n\n#if (defined(EGL_KHR_VG_PARENT_IMAGE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_EGL_KHR_VG_PARENT_IMAGE)) && !defined(REGAL_NO_TYPEDEF_EGL_KHR_VG_PARENT_IMAGE)\n#define REGAL_NO_TYPEDEF_EGL_KHR_VG_PARENT_IMAGE\n#endif\n\n#if (defined(EGL_KHR_VG_PARENT_IMAGE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_EGL_KHR_VG_PARENT_IMAGE)) && !defined(REGAL_NO_NAMESPACE_EGL_KHR_VG_PARENT_IMAGE)\n#define REGAL_NO_NAMESPACE_EGL_KHR_VG_PARENT_IMAGE\n#endif\n\n#if (defined(EGL_KHR_VG_PARENT_IMAGE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_EGL_KHR_VG_PARENT_IMAGE)) && !defined(REGAL_NO_PLUGIN_EGL_KHR_VG_PARENT_IMAGE)\n#define REGAL_NO_PLUGIN_EGL_KHR_VG_PARENT_IMAGE\n#endif\n\n#if (defined(EGL_KHR_VG_PARENT_IMAGE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_EGL_KHR_VG_PARENT_IMAGE)) && !defined(REGAL_NO_DECLARATION_EGL_KHR_VG_PARENT_IMAGE)\n#define REGAL_NO_DECLARATION_EGL_KHR_VG_PARENT_IMAGE\n#endif\n\n#ifndef EGL_KHR_vg_parent_image\n#define EGL_KHR_vg_parent_image 1\n#endif\n\n#ifndef REGAL_NO_ENUM_EGL_KHR_VG_PARENT_IMAGE\n#define EGL_VG_PARENT_IMAGE_KHR 0x30ba /* 12474 */\n#endif\n\n/**\n ** EGL_KHR_wait_sync\n **/\n\n#if (defined(EGL_KHR_WAIT_SYNC) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_EGL_KHR_WAIT_SYNC)) && !defined(REGAL_NO_ENUM_EGL_KHR_WAIT_SYNC)\n#define REGAL_NO_ENUM_EGL_KHR_WAIT_SYNC\n#endif\n\n#if (defined(EGL_KHR_WAIT_SYNC) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_EGL_KHR_WAIT_SYNC)) && !defined(REGAL_NO_TYPEDEF_EGL_KHR_WAIT_SYNC)\n#define REGAL_NO_TYPEDEF_EGL_KHR_WAIT_SYNC\n#endif\n\n#if (defined(EGL_KHR_WAIT_SYNC) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_EGL_KHR_WAIT_SYNC)) && !defined(REGAL_NO_NAMESPACE_EGL_KHR_WAIT_SYNC)\n#define REGAL_NO_NAMESPACE_EGL_KHR_WAIT_SYNC\n#endif\n\n#if (defined(EGL_KHR_WAIT_SYNC) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_EGL_KHR_WAIT_SYNC)) && !defined(REGAL_NO_PLUGIN_EGL_KHR_WAIT_SYNC)\n#define REGAL_NO_PLUGIN_EGL_KHR_WAIT_SYNC\n#endif\n\n#if (defined(EGL_KHR_WAIT_SYNC) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_EGL_KHR_WAIT_SYNC)) && !defined(REGAL_NO_DECLARATION_EGL_KHR_WAIT_SYNC)\n#define REGAL_NO_DECLARATION_EGL_KHR_WAIT_SYNC\n#endif\n\n#ifndef EGL_KHR_wait_sync\n#define EGL_KHR_wait_sync 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_EGL_KHR_WAIT_SYNC\ntypedef EGLint (REGAL_CALL *PFNEGLWAITSYNCKHRPROC)(EGLDisplay dpy, EGLSyncKHR GLsync, EGLint flags);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_EGL_KHR_WAIT_SYNC\n#define eglWaitSyncKHR                      reglWaitSyncKHR\n#endif\n\n#ifndef REGAL_NO_DECLARATION_EGL_KHR_WAIT_SYNC\nREGAL_DECL EGLint REGAL_CALL eglWaitSyncKHR(EGLDisplay dpy, EGLSyncKHR GLsync, EGLint flags);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_EGL_KHR_WAIT_SYNC\nREGAL_DECL EGLint REGAL_CALL plugin_eglWaitSyncKHR(EGLDisplay dpy, EGLSyncKHR GLsync, EGLint flags);\n#endif\n\n/**\n ** EGL_MESA_drm_image\n **/\n\n#if (defined(EGL_MESA_DRM_IMAGE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_EGL_MESA_DRM_IMAGE)) && !defined(REGAL_NO_ENUM_EGL_MESA_DRM_IMAGE)\n#define REGAL_NO_ENUM_EGL_MESA_DRM_IMAGE\n#endif\n\n#if (defined(EGL_MESA_DRM_IMAGE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_EGL_MESA_DRM_IMAGE)) && !defined(REGAL_NO_TYPEDEF_EGL_MESA_DRM_IMAGE)\n#define REGAL_NO_TYPEDEF_EGL_MESA_DRM_IMAGE\n#endif\n\n#if (defined(EGL_MESA_DRM_IMAGE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_EGL_MESA_DRM_IMAGE)) && !defined(REGAL_NO_NAMESPACE_EGL_MESA_DRM_IMAGE)\n#define REGAL_NO_NAMESPACE_EGL_MESA_DRM_IMAGE\n#endif\n\n#if (defined(EGL_MESA_DRM_IMAGE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_EGL_MESA_DRM_IMAGE)) && !defined(REGAL_NO_PLUGIN_EGL_MESA_DRM_IMAGE)\n#define REGAL_NO_PLUGIN_EGL_MESA_DRM_IMAGE\n#endif\n\n#if (defined(EGL_MESA_DRM_IMAGE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_EGL_MESA_DRM_IMAGE)) && !defined(REGAL_NO_DECLARATION_EGL_MESA_DRM_IMAGE)\n#define REGAL_NO_DECLARATION_EGL_MESA_DRM_IMAGE\n#endif\n\n#ifndef EGL_MESA_drm_image\n#define EGL_MESA_drm_image 1\n#endif\n\n#ifndef REGAL_NO_ENUM_EGL_MESA_DRM_IMAGE\n#define EGL_DRM_BUFFER_USE_SCANOUT_MESA   0x1\n#define EGL_DRM_BUFFER_USE_SHARE_MESA     0x2\n#define EGL_DRM_BUFFER_FORMAT_MESA        0x31d0     /* 12752 */\n#define EGL_DRM_BUFFER_USE_MESA           0x31d1     /* 12753 */\n#define EGL_DRM_BUFFER_FORMAT_ARGB32_MESA 0x31d2     /* 12754 */\n#define EGL_DRM_BUFFER_MESA               0x31d3     /* 12755 */\n#define EGL_DRM_BUFFER_STRIDE_MESA        0x31d4     /* 12756 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_EGL_MESA_DRM_IMAGE\ntypedef EGLBoolean (REGAL_CALL *PFNEGLEXPORTDRMIMAGEMESAPROC)(EGLDisplay dpy, EGLImageKHR image, EGLint *name, EGLint *handle, EGLint *stride);\ntypedef EGLImageKHR (REGAL_CALL *PFNEGLCREATEDRMIMAGEMESAPROC)(EGLDisplay dpy, const EGLint *attrib_list);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_EGL_MESA_DRM_IMAGE\n#define eglCreateDRMImageMESA               reglCreateDRMImageMESA\n#define eglExportDRMImageMESA               reglExportDRMImageMESA\n#endif\n\n#ifndef REGAL_NO_DECLARATION_EGL_MESA_DRM_IMAGE\nREGAL_DECL EGLBoolean REGAL_CALL eglExportDRMImageMESA(EGLDisplay dpy, EGLImageKHR image, EGLint *name, EGLint *handle, EGLint *stride);\nREGAL_DECL EGLImageKHR REGAL_CALL eglCreateDRMImageMESA(EGLDisplay dpy, const EGLint *attrib_list);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_EGL_MESA_DRM_IMAGE\nREGAL_DECL EGLBoolean REGAL_CALL plugin_eglExportDRMImageMESA(EGLDisplay dpy, EGLImageKHR image, EGLint *name, EGLint *handle, EGLint *stride);\nREGAL_DECL EGLImageKHR REGAL_CALL plugin_eglCreateDRMImageMESA(EGLDisplay dpy, const EGLint *attrib_list);\n#endif\n\n/**\n ** EGL_NV_coverage_sample\n **/\n\n#if (defined(EGL_NV_COVERAGE_SAMPLE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_EGL_NV_COVERAGE_SAMPLE)) && !defined(REGAL_NO_ENUM_EGL_NV_COVERAGE_SAMPLE)\n#define REGAL_NO_ENUM_EGL_NV_COVERAGE_SAMPLE\n#endif\n\n#if (defined(EGL_NV_COVERAGE_SAMPLE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_EGL_NV_COVERAGE_SAMPLE)) && !defined(REGAL_NO_TYPEDEF_EGL_NV_COVERAGE_SAMPLE)\n#define REGAL_NO_TYPEDEF_EGL_NV_COVERAGE_SAMPLE\n#endif\n\n#if (defined(EGL_NV_COVERAGE_SAMPLE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_EGL_NV_COVERAGE_SAMPLE)) && !defined(REGAL_NO_NAMESPACE_EGL_NV_COVERAGE_SAMPLE)\n#define REGAL_NO_NAMESPACE_EGL_NV_COVERAGE_SAMPLE\n#endif\n\n#if (defined(EGL_NV_COVERAGE_SAMPLE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_EGL_NV_COVERAGE_SAMPLE)) && !defined(REGAL_NO_PLUGIN_EGL_NV_COVERAGE_SAMPLE)\n#define REGAL_NO_PLUGIN_EGL_NV_COVERAGE_SAMPLE\n#endif\n\n#if (defined(EGL_NV_COVERAGE_SAMPLE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_EGL_NV_COVERAGE_SAMPLE)) && !defined(REGAL_NO_DECLARATION_EGL_NV_COVERAGE_SAMPLE)\n#define REGAL_NO_DECLARATION_EGL_NV_COVERAGE_SAMPLE\n#endif\n\n#ifndef EGL_NV_coverage_sample\n#define EGL_NV_coverage_sample 1\n#endif\n\n#ifndef REGAL_NO_ENUM_EGL_NV_COVERAGE_SAMPLE\n#define EGL_COVERAGE_BUFFERS_NV       0x30e0     /* 12512 */\n#define EGL_COVERAGE_SAMPLES_NV       0x30e1     /* 12513 */\n#define GL_COVERAGE_BUFFER_BIT_NV     0x8000     /* 32768 */\n#define GL_COVERAGE_COMPONENT_NV      0x8ed0     /* 36560 */\n#define GL_COVERAGE_COMPONENT4_NV     0x8ed1     /* 36561 */\n#define GL_COVERAGE_ATTACHMENT_NV     0x8ed2     /* 36562 */\n#define GL_COVERAGE_BUFFERS_NV        0x8ed3     /* 36563 */\n#define GL_COVERAGE_ALL_FRAGMENTS_NV  0x8ed5     /* 36565 */\n#define GL_COVERAGE_EDGE_FRAGMENTS_NV 0x8ed6     /* 36566 */\n#define GL_COVERAGE_AUTOMATIC_NV      0x8ed7     /* 36567 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_EGL_NV_COVERAGE_SAMPLE\ntypedef void (REGAL_CALL *PFNEGLCOVERAGEMASKNVPROC)(GLboolean mask);\ntypedef void (REGAL_CALL *PFNEGLCOVERAGEOPERATIONNVPROC)(GLenum operation);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_EGL_NV_COVERAGE_SAMPLE\n#define eglCoverageMaskNV                   reglCoverageMaskNV\n#define eglCoverageOperationNV              reglCoverageOperationNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_EGL_NV_COVERAGE_SAMPLE\nREGAL_DECL void REGAL_CALL eglCoverageMaskNV(GLboolean mask);\nREGAL_DECL void REGAL_CALL eglCoverageOperationNV(GLenum operation);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_EGL_NV_COVERAGE_SAMPLE\nREGAL_DECL void REGAL_CALL plugin_eglCoverageMaskNV(GLboolean mask);\nREGAL_DECL void REGAL_CALL plugin_eglCoverageOperationNV(GLenum operation);\n#endif\n\n/**\n ** EGL_NV_coverage_sample_resolve\n **/\n\n#if (defined(EGL_NV_COVERAGE_SAMPLE_RESOLVE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_EGL_NV_COVERAGE_SAMPLE_RESOLVE)) && !defined(REGAL_NO_ENUM_EGL_NV_COVERAGE_SAMPLE_RESOLVE)\n#define REGAL_NO_ENUM_EGL_NV_COVERAGE_SAMPLE_RESOLVE\n#endif\n\n#if (defined(EGL_NV_COVERAGE_SAMPLE_RESOLVE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_EGL_NV_COVERAGE_SAMPLE_RESOLVE)) && !defined(REGAL_NO_TYPEDEF_EGL_NV_COVERAGE_SAMPLE_RESOLVE)\n#define REGAL_NO_TYPEDEF_EGL_NV_COVERAGE_SAMPLE_RESOLVE\n#endif\n\n#if (defined(EGL_NV_COVERAGE_SAMPLE_RESOLVE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_EGL_NV_COVERAGE_SAMPLE_RESOLVE)) && !defined(REGAL_NO_NAMESPACE_EGL_NV_COVERAGE_SAMPLE_RESOLVE)\n#define REGAL_NO_NAMESPACE_EGL_NV_COVERAGE_SAMPLE_RESOLVE\n#endif\n\n#if (defined(EGL_NV_COVERAGE_SAMPLE_RESOLVE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_EGL_NV_COVERAGE_SAMPLE_RESOLVE)) && !defined(REGAL_NO_PLUGIN_EGL_NV_COVERAGE_SAMPLE_RESOLVE)\n#define REGAL_NO_PLUGIN_EGL_NV_COVERAGE_SAMPLE_RESOLVE\n#endif\n\n#if (defined(EGL_NV_COVERAGE_SAMPLE_RESOLVE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_EGL_NV_COVERAGE_SAMPLE_RESOLVE)) && !defined(REGAL_NO_DECLARATION_EGL_NV_COVERAGE_SAMPLE_RESOLVE)\n#define REGAL_NO_DECLARATION_EGL_NV_COVERAGE_SAMPLE_RESOLVE\n#endif\n\n#ifndef EGL_NV_coverage_sample_resolve\n#define EGL_NV_coverage_sample_resolve 1\n#endif\n\n#ifndef REGAL_NO_ENUM_EGL_NV_COVERAGE_SAMPLE_RESOLVE\n#define EGL_COVERAGE_SAMPLE_RESOLVE_NV         0x3131     /* 12593 */\n#define EGL_COVERAGE_SAMPLE_RESOLVE_DEFAULT_NV 0x3132     /* 12594 */\n#define EGL_COVERAGE_SAMPLE_RESOLVE_NONE_NV    0x3133     /* 12595 */\n#endif\n\n/**\n ** EGL_NV_post_sub_buffer\n **/\n\n#if (defined(EGL_NV_POST_SUB_BUFFER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_EGL_NV_POST_SUB_BUFFER)) && !defined(REGAL_NO_ENUM_EGL_NV_POST_SUB_BUFFER)\n#define REGAL_NO_ENUM_EGL_NV_POST_SUB_BUFFER\n#endif\n\n#if (defined(EGL_NV_POST_SUB_BUFFER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_EGL_NV_POST_SUB_BUFFER)) && !defined(REGAL_NO_TYPEDEF_EGL_NV_POST_SUB_BUFFER)\n#define REGAL_NO_TYPEDEF_EGL_NV_POST_SUB_BUFFER\n#endif\n\n#if (defined(EGL_NV_POST_SUB_BUFFER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_EGL_NV_POST_SUB_BUFFER)) && !defined(REGAL_NO_NAMESPACE_EGL_NV_POST_SUB_BUFFER)\n#define REGAL_NO_NAMESPACE_EGL_NV_POST_SUB_BUFFER\n#endif\n\n#if (defined(EGL_NV_POST_SUB_BUFFER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_EGL_NV_POST_SUB_BUFFER)) && !defined(REGAL_NO_PLUGIN_EGL_NV_POST_SUB_BUFFER)\n#define REGAL_NO_PLUGIN_EGL_NV_POST_SUB_BUFFER\n#endif\n\n#if (defined(EGL_NV_POST_SUB_BUFFER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_EGL_NV_POST_SUB_BUFFER)) && !defined(REGAL_NO_DECLARATION_EGL_NV_POST_SUB_BUFFER)\n#define REGAL_NO_DECLARATION_EGL_NV_POST_SUB_BUFFER\n#endif\n\n#ifndef EGL_NV_post_sub_buffer\n#define EGL_NV_post_sub_buffer 1\n#endif\n\n#ifndef REGAL_NO_ENUM_EGL_NV_POST_SUB_BUFFER\n#define EGL_POST_SUB_BUFFER_SUPPORTED_NV 0x30be /* 12478 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_EGL_NV_POST_SUB_BUFFER\ntypedef EGLBoolean (REGAL_CALL *PFNEGLPOSTSUBBUFFERNVPROC)(EGLDisplay dpy, EGLSurface surface, EGLint x, EGLint y, EGLint width, EGLint height);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_EGL_NV_POST_SUB_BUFFER\n#define eglPostSubBufferNV                  reglPostSubBufferNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_EGL_NV_POST_SUB_BUFFER\nREGAL_DECL EGLBoolean REGAL_CALL eglPostSubBufferNV(EGLDisplay dpy, EGLSurface surface, EGLint x, EGLint y, EGLint width, EGLint height);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_EGL_NV_POST_SUB_BUFFER\nREGAL_DECL EGLBoolean REGAL_CALL plugin_eglPostSubBufferNV(EGLDisplay dpy, EGLSurface surface, EGLint x, EGLint y, EGLint width, EGLint height);\n#endif\n\n/**\n ** EGL_NV_sync\n **/\n\n#if (defined(EGL_NV_SYNC) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_EGL_NV_SYNC)) && !defined(REGAL_NO_ENUM_EGL_NV_SYNC)\n#define REGAL_NO_ENUM_EGL_NV_SYNC\n#endif\n\n#if (defined(EGL_NV_SYNC) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_EGL_NV_SYNC)) && !defined(REGAL_NO_TYPEDEF_EGL_NV_SYNC)\n#define REGAL_NO_TYPEDEF_EGL_NV_SYNC\n#endif\n\n#if (defined(EGL_NV_SYNC) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_EGL_NV_SYNC)) && !defined(REGAL_NO_NAMESPACE_EGL_NV_SYNC)\n#define REGAL_NO_NAMESPACE_EGL_NV_SYNC\n#endif\n\n#if (defined(EGL_NV_SYNC) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_EGL_NV_SYNC)) && !defined(REGAL_NO_PLUGIN_EGL_NV_SYNC)\n#define REGAL_NO_PLUGIN_EGL_NV_SYNC\n#endif\n\n#if (defined(EGL_NV_SYNC) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_EGL_NV_SYNC)) && !defined(REGAL_NO_DECLARATION_EGL_NV_SYNC)\n#define REGAL_NO_DECLARATION_EGL_NV_SYNC\n#endif\n\n#ifndef EGL_NV_sync\n#define EGL_NV_sync 1\n#endif\n\n#ifndef REGAL_NO_ENUM_EGL_NV_SYNC\n#define EGL_SYNC_FLUSH_COMMANDS_BIT_NV      0x1\n#define EGL_SYNC_PRIOR_COMMANDS_COMPLETE_NV 0x30e6                 /* 12518 */\n#define EGL_SYNC_STATUS_NV                  0x30e7                 /* 12519 */\n#define EGL_SIGNALED_NV                     0x30e8                 /* 12520 */\n#define EGL_UNSIGNALED_NV                   0x30e9                 /* 12521 */\n#define EGL_ALREADY_SIGNALED_NV             0x30ea                 /* 12522 */\n#define EGL_TIMEOUT_EXPIRED_NV              0x30eb                 /* 12523 */\n#define EGL_CONDITION_SATISFIED_NV          0x30ec                 /* 12524 */\n#define EGL_SYNC_TYPE_NV                    0x30ed                 /* 12525 */\n#define EGL_SYNC_CONDITION_NV               0x30ee                 /* 12526 */\n#define EGL_SYNC_FENCE_NV                   0x30ef                 /* 12527 */\n#define EGL_FOREVER_NV                      0xffffffffffffffff     /* 18446744073709551615 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_EGL_NV_SYNC\ntypedef EGLBoolean (REGAL_CALL *PFNEGLDESTROYSYNCNVPROC)(EGLSyncNV GLsync);\ntypedef EGLBoolean (REGAL_CALL *PFNEGLFENCENVPROC)(EGLSyncNV GLsync);\ntypedef EGLBoolean (REGAL_CALL *PFNEGLGETSYNCATTRIBNVPROC)(EGLSyncNV GLsync, EGLint attribute, EGLint *value);\ntypedef EGLBoolean (REGAL_CALL *PFNEGLSIGNALSYNCNVPROC)(EGLSyncNV GLsync, EGLenum mode);\ntypedef EGLSyncNV (REGAL_CALL *PFNEGLCREATEFENCESYNCNVPROC)(EGLDisplay dpy, EGLenum condition, const EGLint *attrib_list);\ntypedef EGLint (REGAL_CALL *PFNEGLCLIENTWAITSYNCNVPROC)(EGLSyncNV GLsync, EGLint flags, EGLTimeNV timeout);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_EGL_NV_SYNC\n#define eglClientWaitSyncNV                 reglClientWaitSyncNV\n#define eglCreateFenceSyncNV                reglCreateFenceSyncNV\n#define eglDestroySyncNV                    reglDestroySyncNV\n#define eglFenceNV                          reglFenceNV\n#define eglGetSyncAttribNV                  reglGetSyncAttribNV\n#define eglSignalSyncNV                     reglSignalSyncNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_EGL_NV_SYNC\nREGAL_DECL EGLBoolean REGAL_CALL eglDestroySyncNV(EGLSyncNV GLsync);\nREGAL_DECL EGLBoolean REGAL_CALL eglFenceNV(EGLSyncNV GLsync);\nREGAL_DECL EGLBoolean REGAL_CALL eglGetSyncAttribNV(EGLSyncNV GLsync, EGLint attribute, EGLint *value);\nREGAL_DECL EGLBoolean REGAL_CALL eglSignalSyncNV(EGLSyncNV GLsync, EGLenum mode);\nREGAL_DECL EGLSyncNV REGAL_CALL eglCreateFenceSyncNV(EGLDisplay dpy, EGLenum condition, const EGLint *attrib_list);\nREGAL_DECL EGLint REGAL_CALL eglClientWaitSyncNV(EGLSyncNV GLsync, EGLint flags, EGLTimeNV timeout);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_EGL_NV_SYNC\nREGAL_DECL EGLBoolean REGAL_CALL plugin_eglDestroySyncNV(EGLSyncNV GLsync);\nREGAL_DECL EGLBoolean REGAL_CALL plugin_eglFenceNV(EGLSyncNV GLsync);\nREGAL_DECL EGLBoolean REGAL_CALL plugin_eglGetSyncAttribNV(EGLSyncNV GLsync, EGLint attribute, EGLint *value);\nREGAL_DECL EGLBoolean REGAL_CALL plugin_eglSignalSyncNV(EGLSyncNV GLsync, EGLenum mode);\nREGAL_DECL EGLSyncNV REGAL_CALL plugin_eglCreateFenceSyncNV(EGLDisplay dpy, EGLenum condition, const EGLint *attrib_list);\nREGAL_DECL EGLint REGAL_CALL plugin_eglClientWaitSyncNV(EGLSyncNV GLsync, EGLint flags, EGLTimeNV timeout);\n#endif\n\n/**\n ** EGL_NV_system_time\n **/\n\n#if (defined(EGL_NV_SYSTEM_TIME) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_EGL_NV_SYSTEM_TIME)) && !defined(REGAL_NO_ENUM_EGL_NV_SYSTEM_TIME)\n#define REGAL_NO_ENUM_EGL_NV_SYSTEM_TIME\n#endif\n\n#if (defined(EGL_NV_SYSTEM_TIME) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_EGL_NV_SYSTEM_TIME)) && !defined(REGAL_NO_TYPEDEF_EGL_NV_SYSTEM_TIME)\n#define REGAL_NO_TYPEDEF_EGL_NV_SYSTEM_TIME\n#endif\n\n#if (defined(EGL_NV_SYSTEM_TIME) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_EGL_NV_SYSTEM_TIME)) && !defined(REGAL_NO_NAMESPACE_EGL_NV_SYSTEM_TIME)\n#define REGAL_NO_NAMESPACE_EGL_NV_SYSTEM_TIME\n#endif\n\n#if (defined(EGL_NV_SYSTEM_TIME) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_EGL_NV_SYSTEM_TIME)) && !defined(REGAL_NO_PLUGIN_EGL_NV_SYSTEM_TIME)\n#define REGAL_NO_PLUGIN_EGL_NV_SYSTEM_TIME\n#endif\n\n#if (defined(EGL_NV_SYSTEM_TIME) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_EGL_NV_SYSTEM_TIME)) && !defined(REGAL_NO_DECLARATION_EGL_NV_SYSTEM_TIME)\n#define REGAL_NO_DECLARATION_EGL_NV_SYSTEM_TIME\n#endif\n\n#ifndef EGL_NV_system_time\n#define EGL_NV_system_time 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_EGL_NV_SYSTEM_TIME\ntypedef EGLuint64NV (REGAL_CALL *PFNEGLGETSYSTEMTIMEFREQUENCYNVPROC)(void);\ntypedef EGLuint64NV (REGAL_CALL *PFNEGLGETSYSTEMTIMENVPROC)(void);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_EGL_NV_SYSTEM_TIME\n#define eglGetSystemTimeFrequencyNV         reglGetSystemTimeFrequencyNV\n#define eglGetSystemTimeNV                  reglGetSystemTimeNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_EGL_NV_SYSTEM_TIME\nREGAL_DECL EGLuint64NV REGAL_CALL eglGetSystemTimeFrequencyNV(void);\nREGAL_DECL EGLuint64NV REGAL_CALL eglGetSystemTimeNV(void);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_EGL_NV_SYSTEM_TIME\nREGAL_DECL EGLuint64NV REGAL_CALL plugin_eglGetSystemTimeFrequencyNV(void);\nREGAL_DECL EGLuint64NV REGAL_CALL plugin_eglGetSystemTimeNV(void);\n#endif\n\n/**\n ** EGL_VERSION_1_0\n **/\n\n#if (defined(EGL_VERSION_1_0) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_EGL_VERSION_1_0)) && !defined(REGAL_NO_ENUM_EGL_VERSION_1_0)\n#define REGAL_NO_ENUM_EGL_VERSION_1_0\n#endif\n\n#if (defined(EGL_VERSION_1_0) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_EGL_VERSION_1_0)) && !defined(REGAL_NO_TYPEDEF_EGL_VERSION_1_0)\n#define REGAL_NO_TYPEDEF_EGL_VERSION_1_0\n#endif\n\n#if (defined(EGL_VERSION_1_0) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_EGL_VERSION_1_0)) && !defined(REGAL_NO_NAMESPACE_EGL_VERSION_1_0)\n#define REGAL_NO_NAMESPACE_EGL_VERSION_1_0\n#endif\n\n#if (defined(EGL_VERSION_1_0) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_EGL_VERSION_1_0)) && !defined(REGAL_NO_PLUGIN_EGL_VERSION_1_0)\n#define REGAL_NO_PLUGIN_EGL_VERSION_1_0\n#endif\n\n#if (defined(EGL_VERSION_1_0) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_EGL_VERSION_1_0)) && !defined(REGAL_NO_DECLARATION_EGL_VERSION_1_0)\n#define REGAL_NO_DECLARATION_EGL_VERSION_1_0\n#endif\n\n#ifndef EGL_VERSION_1_0\n#define EGL_VERSION_1_0 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_EGL_VERSION_1_0\ntypedef EGLBoolean (REGAL_CALL *PFNEGLCHOOSECONFIGPROC)(EGLDisplay dpy, const EGLint *attrib_list, EGLConfig *configs, EGLint config_size, EGLint *num_config);\ntypedef EGLBoolean (REGAL_CALL *PFNEGLCOPYBUFFERSPROC)(EGLDisplay dpy, EGLSurface surface, EGLNativePixmapType target);\ntypedef EGLBoolean (REGAL_CALL *PFNEGLDESTROYCONTEXTPROC)(EGLDisplay dpy, EGLContext ctx);\ntypedef EGLBoolean (REGAL_CALL *PFNEGLDESTROYSURFACEPROC)(EGLDisplay dpy, EGLSurface surface);\ntypedef EGLBoolean (REGAL_CALL *PFNEGLGETCONFIGATTRIBPROC)(EGLDisplay dpy, EGLConfig config, EGLint attribute, EGLint *value);\ntypedef EGLBoolean (REGAL_CALL *PFNEGLGETCONFIGSPROC)(EGLDisplay dpy, EGLConfig *configs, EGLint config_size, EGLint *num_config);\ntypedef EGLBoolean (REGAL_CALL *PFNEGLINITIALIZEPROC)(EGLDisplay dpy, EGLint *major, EGLint *minor);\ntypedef EGLBoolean (REGAL_CALL *PFNEGLMAKECURRENTPROC)(EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLContext ctx);\ntypedef EGLBoolean (REGAL_CALL *PFNEGLQUERYCONTEXTPROC)(EGLDisplay dpy, EGLContext ctx, EGLint attribute, EGLint *value);\ntypedef EGLBoolean (REGAL_CALL *PFNEGLQUERYSURFACEPROC)(EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint *value);\ntypedef EGLBoolean (REGAL_CALL *PFNEGLSWAPBUFFERSPROC)(EGLDisplay dpy, EGLSurface surface);\ntypedef EGLBoolean (REGAL_CALL *PFNEGLTERMINATEPROC)(EGLDisplay dpy);\ntypedef EGLBoolean (REGAL_CALL *PFNEGLWAITGLPROC)(void);\ntypedef EGLBoolean (REGAL_CALL *PFNEGLWAITNATIVEPROC)(EGLint engine);\ntypedef EGLContext (REGAL_CALL *PFNEGLCREATECONTEXTPROC)(EGLDisplay dpy, EGLConfig config, EGLContext share_context, const EGLint *attrib_list);\ntypedef EGLContext (REGAL_CALL *PFNEGLGETCURRENTCONTEXTPROC)(void);\ntypedef EGLDisplay (REGAL_CALL *PFNEGLGETCURRENTDISPLAYPROC)(void);\ntypedef EGLDisplay (REGAL_CALL *PFNEGLGETDISPLAYPROC)(EGLNativeDisplayType display_id);\ntypedef EGLSurface (REGAL_CALL *PFNEGLCREATEPBUFFERSURFACEPROC)(EGLDisplay dpy, EGLConfig config, const EGLint *attrib_list);\ntypedef EGLSurface (REGAL_CALL *PFNEGLCREATEPIXMAPSURFACEPROC)(EGLDisplay dpy, EGLConfig config, EGLNativePixmapType pixmap, const EGLint *attrib_list);\ntypedef EGLSurface (REGAL_CALL *PFNEGLCREATEWINDOWSURFACEPROC)(EGLDisplay dpy, EGLConfig config, EGLNativeWindowType win, const EGLint *attrib_list);\ntypedef EGLSurface (REGAL_CALL *PFNEGLGETCURRENTSURFACEPROC)(EGLint readdraw);\ntypedef EGLint (REGAL_CALL *PFNEGLGETERRORPROC)(void);\ntypedef __eglMustCastToProperFunctionPointerType (REGAL_CALL *PFNEGLGETPROCADDRESSPROC)(const char *procname);\ntypedef const char *(REGAL_CALL *PFNEGLQUERYSTRINGPROC)(EGLDisplay dpy, EGLint name);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_EGL_VERSION_1_0\n#define eglChooseConfig                     reglChooseConfig\n#define eglCopyBuffers                      reglCopyBuffers\n#define eglCreateContext                    reglCreateContext\n#define eglCreatePbufferSurface             reglCreatePbufferSurface\n#define eglCreatePixmapSurface              reglCreatePixmapSurface\n#define eglCreateWindowSurface              reglCreateWindowSurface\n#define eglDestroyContext                   reglDestroyContext\n#define eglDestroySurface                   reglDestroySurface\n#define eglGetConfigAttrib                  reglGetConfigAttrib\n#define eglGetConfigs                       reglGetConfigs\n#define eglGetCurrentContext                reglGetCurrentContext\n#define eglGetCurrentDisplay                reglGetCurrentDisplay\n#define eglGetCurrentSurface                reglGetCurrentSurface\n#define eglGetDisplay                       reglGetDisplay\n#define eglGetError                         reglGetError\n#define eglGetProcAddress                   reglGetProcAddress\n#define eglInitialize                       reglInitialize\n#define eglMakeCurrent                      reglMakeCurrent\n#define eglQueryContext                     reglQueryContext\n#define eglQueryString                      reglQueryString\n#define eglQuerySurface                     reglQuerySurface\n#define eglSwapBuffers                      reglSwapBuffers\n#define eglTerminate                        reglTerminate\n#define eglWaitGL                           reglWaitGL\n#define eglWaitNative                       reglWaitNative\n#endif\n\n#ifndef REGAL_NO_DECLARATION_EGL_VERSION_1_0\nREGAL_DECL EGLBoolean REGAL_CALL eglChooseConfig(EGLDisplay dpy, const EGLint *attrib_list, EGLConfig *configs, EGLint config_size, EGLint *num_config);\nREGAL_DECL EGLBoolean REGAL_CALL eglCopyBuffers(EGLDisplay dpy, EGLSurface surface, EGLNativePixmapType target);\nREGAL_DECL EGLBoolean REGAL_CALL eglDestroyContext(EGLDisplay dpy, EGLContext ctx);\nREGAL_DECL EGLBoolean REGAL_CALL eglDestroySurface(EGLDisplay dpy, EGLSurface surface);\nREGAL_DECL EGLBoolean REGAL_CALL eglGetConfigAttrib(EGLDisplay dpy, EGLConfig config, EGLint attribute, EGLint *value);\nREGAL_DECL EGLBoolean REGAL_CALL eglGetConfigs(EGLDisplay dpy, EGLConfig *configs, EGLint config_size, EGLint *num_config);\nREGAL_DECL EGLBoolean REGAL_CALL eglInitialize(EGLDisplay dpy, EGLint *major, EGLint *minor);\nREGAL_DECL EGLBoolean REGAL_CALL eglMakeCurrent(EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLContext ctx);\nREGAL_DECL EGLBoolean REGAL_CALL eglQueryContext(EGLDisplay dpy, EGLContext ctx, EGLint attribute, EGLint *value);\nREGAL_DECL EGLBoolean REGAL_CALL eglQuerySurface(EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint *value);\nREGAL_DECL EGLBoolean REGAL_CALL eglSwapBuffers(EGLDisplay dpy, EGLSurface surface);\nREGAL_DECL EGLBoolean REGAL_CALL eglTerminate(EGLDisplay dpy);\nREGAL_DECL EGLBoolean REGAL_CALL eglWaitGL(void);\nREGAL_DECL EGLBoolean REGAL_CALL eglWaitNative(EGLint engine);\nREGAL_DECL EGLContext REGAL_CALL eglCreateContext(EGLDisplay dpy, EGLConfig config, EGLContext share_context, const EGLint *attrib_list);\nREGAL_DECL EGLContext REGAL_CALL eglGetCurrentContext(void);\nREGAL_DECL EGLDisplay REGAL_CALL eglGetCurrentDisplay(void);\nREGAL_DECL EGLDisplay REGAL_CALL eglGetDisplay(EGLNativeDisplayType display_id);\nREGAL_DECL EGLSurface REGAL_CALL eglCreatePbufferSurface(EGLDisplay dpy, EGLConfig config, const EGLint *attrib_list);\nREGAL_DECL EGLSurface REGAL_CALL eglCreatePixmapSurface(EGLDisplay dpy, EGLConfig config, EGLNativePixmapType pixmap, const EGLint *attrib_list);\nREGAL_DECL EGLSurface REGAL_CALL eglCreateWindowSurface(EGLDisplay dpy, EGLConfig config, EGLNativeWindowType win, const EGLint *attrib_list);\nREGAL_DECL EGLSurface REGAL_CALL eglGetCurrentSurface(EGLint readdraw);\nREGAL_DECL EGLint REGAL_CALL eglGetError(void);\nREGAL_DECL __eglMustCastToProperFunctionPointerType REGAL_CALL eglGetProcAddress(const char *procname);\nREGAL_DECL const char *REGAL_CALL eglQueryString(EGLDisplay dpy, EGLint name);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_EGL_VERSION_1_0\nREGAL_DECL EGLBoolean REGAL_CALL plugin_eglChooseConfig(EGLDisplay dpy, const EGLint *attrib_list, EGLConfig *configs, EGLint config_size, EGLint *num_config);\nREGAL_DECL EGLBoolean REGAL_CALL plugin_eglCopyBuffers(EGLDisplay dpy, EGLSurface surface, EGLNativePixmapType target);\nREGAL_DECL EGLBoolean REGAL_CALL plugin_eglDestroyContext(EGLDisplay dpy, EGLContext ctx);\nREGAL_DECL EGLBoolean REGAL_CALL plugin_eglDestroySurface(EGLDisplay dpy, EGLSurface surface);\nREGAL_DECL EGLBoolean REGAL_CALL plugin_eglGetConfigAttrib(EGLDisplay dpy, EGLConfig config, EGLint attribute, EGLint *value);\nREGAL_DECL EGLBoolean REGAL_CALL plugin_eglGetConfigs(EGLDisplay dpy, EGLConfig *configs, EGLint config_size, EGLint *num_config);\nREGAL_DECL EGLBoolean REGAL_CALL plugin_eglInitialize(EGLDisplay dpy, EGLint *major, EGLint *minor);\nREGAL_DECL EGLBoolean REGAL_CALL plugin_eglMakeCurrent(EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLContext ctx);\nREGAL_DECL EGLBoolean REGAL_CALL plugin_eglQueryContext(EGLDisplay dpy, EGLContext ctx, EGLint attribute, EGLint *value);\nREGAL_DECL EGLBoolean REGAL_CALL plugin_eglQuerySurface(EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint *value);\nREGAL_DECL EGLBoolean REGAL_CALL plugin_eglSwapBuffers(EGLDisplay dpy, EGLSurface surface);\nREGAL_DECL EGLBoolean REGAL_CALL plugin_eglTerminate(EGLDisplay dpy);\nREGAL_DECL EGLBoolean REGAL_CALL plugin_eglWaitGL(void);\nREGAL_DECL EGLBoolean REGAL_CALL plugin_eglWaitNative(EGLint engine);\nREGAL_DECL EGLContext REGAL_CALL plugin_eglCreateContext(EGLDisplay dpy, EGLConfig config, EGLContext share_context, const EGLint *attrib_list);\nREGAL_DECL EGLContext REGAL_CALL plugin_eglGetCurrentContext(void);\nREGAL_DECL EGLDisplay REGAL_CALL plugin_eglGetCurrentDisplay(void);\nREGAL_DECL EGLDisplay REGAL_CALL plugin_eglGetDisplay(EGLNativeDisplayType display_id);\nREGAL_DECL EGLSurface REGAL_CALL plugin_eglCreatePbufferSurface(EGLDisplay dpy, EGLConfig config, const EGLint *attrib_list);\nREGAL_DECL EGLSurface REGAL_CALL plugin_eglCreatePixmapSurface(EGLDisplay dpy, EGLConfig config, EGLNativePixmapType pixmap, const EGLint *attrib_list);\nREGAL_DECL EGLSurface REGAL_CALL plugin_eglCreateWindowSurface(EGLDisplay dpy, EGLConfig config, EGLNativeWindowType win, const EGLint *attrib_list);\nREGAL_DECL EGLSurface REGAL_CALL plugin_eglGetCurrentSurface(EGLint readdraw);\nREGAL_DECL EGLint REGAL_CALL plugin_eglGetError(void);\nREGAL_DECL __eglMustCastToProperFunctionPointerType REGAL_CALL plugin_eglGetProcAddress(const char *procname);\nREGAL_DECL const char *REGAL_CALL plugin_eglQueryString(EGLDisplay dpy, EGLint name);\n#endif\n\n/**\n ** EGL_VERSION_1_1\n **/\n\n#if (defined(EGL_VERSION_1_1) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_EGL_VERSION_1_1)) && !defined(REGAL_NO_ENUM_EGL_VERSION_1_1)\n#define REGAL_NO_ENUM_EGL_VERSION_1_1\n#endif\n\n#if (defined(EGL_VERSION_1_1) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_EGL_VERSION_1_1)) && !defined(REGAL_NO_TYPEDEF_EGL_VERSION_1_1)\n#define REGAL_NO_TYPEDEF_EGL_VERSION_1_1\n#endif\n\n#if (defined(EGL_VERSION_1_1) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_EGL_VERSION_1_1)) && !defined(REGAL_NO_NAMESPACE_EGL_VERSION_1_1)\n#define REGAL_NO_NAMESPACE_EGL_VERSION_1_1\n#endif\n\n#if (defined(EGL_VERSION_1_1) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_EGL_VERSION_1_1)) && !defined(REGAL_NO_PLUGIN_EGL_VERSION_1_1)\n#define REGAL_NO_PLUGIN_EGL_VERSION_1_1\n#endif\n\n#if (defined(EGL_VERSION_1_1) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_EGL_VERSION_1_1)) && !defined(REGAL_NO_DECLARATION_EGL_VERSION_1_1)\n#define REGAL_NO_DECLARATION_EGL_VERSION_1_1\n#endif\n\n#ifndef EGL_VERSION_1_1\n#define EGL_VERSION_1_1 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_EGL_VERSION_1_1\ntypedef EGLBoolean (REGAL_CALL *PFNEGLBINDTEXIMAGEPROC)(EGLDisplay dpy, EGLSurface surface, EGLint buffer);\ntypedef EGLBoolean (REGAL_CALL *PFNEGLRELEASETEXIMAGEPROC)(EGLDisplay dpy, EGLSurface surface, EGLint buffer);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_EGL_VERSION_1_1\n#define eglBindTexImage                     reglBindTexImage\n#define eglReleaseTexImage                  reglReleaseTexImage\n#endif\n\n#ifndef REGAL_NO_DECLARATION_EGL_VERSION_1_1\nREGAL_DECL EGLBoolean REGAL_CALL eglBindTexImage(EGLDisplay dpy, EGLSurface surface, EGLint buffer);\nREGAL_DECL EGLBoolean REGAL_CALL eglReleaseTexImage(EGLDisplay dpy, EGLSurface surface, EGLint buffer);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_EGL_VERSION_1_1\nREGAL_DECL EGLBoolean REGAL_CALL plugin_eglBindTexImage(EGLDisplay dpy, EGLSurface surface, EGLint buffer);\nREGAL_DECL EGLBoolean REGAL_CALL plugin_eglReleaseTexImage(EGLDisplay dpy, EGLSurface surface, EGLint buffer);\n#endif\n\n/**\n ** EGL_VERSION_1_2\n **/\n\n#if (defined(EGL_VERSION_1_2) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_EGL_VERSION_1_2)) && !defined(REGAL_NO_ENUM_EGL_VERSION_1_2)\n#define REGAL_NO_ENUM_EGL_VERSION_1_2\n#endif\n\n#if (defined(EGL_VERSION_1_2) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_EGL_VERSION_1_2)) && !defined(REGAL_NO_TYPEDEF_EGL_VERSION_1_2)\n#define REGAL_NO_TYPEDEF_EGL_VERSION_1_2\n#endif\n\n#if (defined(EGL_VERSION_1_2) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_EGL_VERSION_1_2)) && !defined(REGAL_NO_NAMESPACE_EGL_VERSION_1_2)\n#define REGAL_NO_NAMESPACE_EGL_VERSION_1_2\n#endif\n\n#if (defined(EGL_VERSION_1_2) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_EGL_VERSION_1_2)) && !defined(REGAL_NO_PLUGIN_EGL_VERSION_1_2)\n#define REGAL_NO_PLUGIN_EGL_VERSION_1_2\n#endif\n\n#if (defined(EGL_VERSION_1_2) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_EGL_VERSION_1_2)) && !defined(REGAL_NO_DECLARATION_EGL_VERSION_1_2)\n#define REGAL_NO_DECLARATION_EGL_VERSION_1_2\n#endif\n\n#ifndef EGL_VERSION_1_2\n#define EGL_VERSION_1_2 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_EGL_VERSION_1_2\ntypedef EGLBoolean (REGAL_CALL *PFNEGLBINDAPIPROC)(EGLenum api);\ntypedef EGLBoolean (REGAL_CALL *PFNEGLRELEASETHREADPROC)(void);\ntypedef EGLBoolean (REGAL_CALL *PFNEGLSURFACEATTRIBPROC)(EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint value);\ntypedef EGLBoolean (REGAL_CALL *PFNEGLSWAPINTERVALPROC)(EGLDisplay dpy, EGLint interval);\ntypedef EGLBoolean (REGAL_CALL *PFNEGLWAITCLIENTPROC)(void);\ntypedef EGLSurface (REGAL_CALL *PFNEGLCREATEPBUFFERFROMCLIENTBUFFERPROC)(EGLDisplay dpy, EGLenum buftype, EGLClientBuffer buffer, EGLConfig config, const EGLint *attrib_list);\ntypedef EGLenum (REGAL_CALL *PFNEGLQUERYAPIPROC)(void);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_EGL_VERSION_1_2\n#define eglBindAPI                          reglBindAPI\n#define eglCreatePbufferFromClientBuffer    reglCreatePbufferFromClientBuffer\n#define eglQueryAPI                         reglQueryAPI\n#define eglReleaseThread                    reglReleaseThread\n#define eglSurfaceAttrib                    reglSurfaceAttrib\n#define eglSwapInterval                     reglSwapInterval\n#define eglWaitClient                       reglWaitClient\n#endif\n\n#ifndef REGAL_NO_DECLARATION_EGL_VERSION_1_2\nREGAL_DECL EGLBoolean REGAL_CALL eglBindAPI(EGLenum api);\nREGAL_DECL EGLBoolean REGAL_CALL eglReleaseThread(void);\nREGAL_DECL EGLBoolean REGAL_CALL eglSurfaceAttrib(EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint value);\nREGAL_DECL EGLBoolean REGAL_CALL eglSwapInterval(EGLDisplay dpy, EGLint interval);\nREGAL_DECL EGLBoolean REGAL_CALL eglWaitClient(void);\nREGAL_DECL EGLSurface REGAL_CALL eglCreatePbufferFromClientBuffer(EGLDisplay dpy, EGLenum buftype, EGLClientBuffer buffer, EGLConfig config, const EGLint *attrib_list);\nREGAL_DECL EGLenum REGAL_CALL eglQueryAPI(void);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_EGL_VERSION_1_2\nREGAL_DECL EGLBoolean REGAL_CALL plugin_eglBindAPI(EGLenum api);\nREGAL_DECL EGLBoolean REGAL_CALL plugin_eglReleaseThread(void);\nREGAL_DECL EGLBoolean REGAL_CALL plugin_eglSurfaceAttrib(EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint value);\nREGAL_DECL EGLBoolean REGAL_CALL plugin_eglSwapInterval(EGLDisplay dpy, EGLint interval);\nREGAL_DECL EGLBoolean REGAL_CALL plugin_eglWaitClient(void);\nREGAL_DECL EGLSurface REGAL_CALL plugin_eglCreatePbufferFromClientBuffer(EGLDisplay dpy, EGLenum buftype, EGLClientBuffer buffer, EGLConfig config, const EGLint *attrib_list);\nREGAL_DECL EGLenum REGAL_CALL plugin_eglQueryAPI(void);\n#endif\n\n/**\n ** GL_NV_depth_nonlinear\n **/\n\n#if (defined(GL_NV_DEPTH_NONLINEAR) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_DEPTH_NONLINEAR)) && !defined(REGAL_NO_ENUM_GL_NV_DEPTH_NONLINEAR)\n#define REGAL_NO_ENUM_GL_NV_DEPTH_NONLINEAR\n#endif\n\n#if (defined(GL_NV_DEPTH_NONLINEAR) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_DEPTH_NONLINEAR)) && !defined(REGAL_NO_TYPEDEF_GL_NV_DEPTH_NONLINEAR)\n#define REGAL_NO_TYPEDEF_GL_NV_DEPTH_NONLINEAR\n#endif\n\n#if (defined(GL_NV_DEPTH_NONLINEAR) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_DEPTH_NONLINEAR)) && !defined(REGAL_NO_NAMESPACE_GL_NV_DEPTH_NONLINEAR)\n#define REGAL_NO_NAMESPACE_GL_NV_DEPTH_NONLINEAR\n#endif\n\n#if (defined(GL_NV_DEPTH_NONLINEAR) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_DEPTH_NONLINEAR)) && !defined(REGAL_NO_PLUGIN_GL_NV_DEPTH_NONLINEAR)\n#define REGAL_NO_PLUGIN_GL_NV_DEPTH_NONLINEAR\n#endif\n\n#if (defined(GL_NV_DEPTH_NONLINEAR) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_DEPTH_NONLINEAR)) && !defined(REGAL_NO_DECLARATION_GL_NV_DEPTH_NONLINEAR)\n#define REGAL_NO_DECLARATION_GL_NV_DEPTH_NONLINEAR\n#endif\n\n#ifndef GL_NV_depth_nonlinear\n#define GL_NV_depth_nonlinear 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_DEPTH_NONLINEAR\n#define EGL_DEPTH_ENCODING_NONE_NV        0x0\n#define EGL_DEPTH_ENCODING_NV             0x30e2     /* 12514 */\n#define EGL_DEPTH_ENCODING_NONLINEAR_NV   0x30e3     /* 12515 */\n#define GL_DEPTH_COMPONENT16_NONLINEAR_NV 0x8e2c     /* 36396 */\n#endif\n\n/**\n ** GL_VG_KHR_EGL_sync\n **/\n\n#if (defined(GL_VG_KHR_EGL_SYNC) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_VG_KHR_EGL_SYNC)) && !defined(REGAL_NO_ENUM_GL_VG_KHR_EGL_SYNC)\n#define REGAL_NO_ENUM_GL_VG_KHR_EGL_SYNC\n#endif\n\n#if (defined(GL_VG_KHR_EGL_SYNC) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_VG_KHR_EGL_SYNC)) && !defined(REGAL_NO_TYPEDEF_GL_VG_KHR_EGL_SYNC)\n#define REGAL_NO_TYPEDEF_GL_VG_KHR_EGL_SYNC\n#endif\n\n#if (defined(GL_VG_KHR_EGL_SYNC) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_VG_KHR_EGL_SYNC)) && !defined(REGAL_NO_NAMESPACE_GL_VG_KHR_EGL_SYNC)\n#define REGAL_NO_NAMESPACE_GL_VG_KHR_EGL_SYNC\n#endif\n\n#if (defined(GL_VG_KHR_EGL_SYNC) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_VG_KHR_EGL_SYNC)) && !defined(REGAL_NO_PLUGIN_GL_VG_KHR_EGL_SYNC)\n#define REGAL_NO_PLUGIN_GL_VG_KHR_EGL_SYNC\n#endif\n\n#if (defined(GL_VG_KHR_EGL_SYNC) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_VG_KHR_EGL_SYNC)) && !defined(REGAL_NO_DECLARATION_GL_VG_KHR_EGL_SYNC)\n#define REGAL_NO_DECLARATION_GL_VG_KHR_EGL_SYNC\n#endif\n\n#ifndef GL_VG_KHR_EGL_sync\n#define GL_VG_KHR_EGL_sync 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_VG_KHR_EGL_SYNC\n#define EGL_SYNC_FLUSH_COMMANDS_BIT_KHR      0x1\n#define EGL_SYNC_PRIOR_COMMANDS_COMPLETE_KHR 0x30f0                 /* 12528 */\n#define EGL_SYNC_STATUS_KHR                  0x30f1                 /* 12529 */\n#define EGL_SIGNALED_KHR                     0x30f2                 /* 12530 */\n#define EGL_UNSIGNALED_KHR                   0x30f3                 /* 12531 */\n#define EGL_TIMEOUT_EXPIRED_KHR              0x30f5                 /* 12533 */\n#define EGL_CONDITION_SATISFIED_KHR          0x30f6                 /* 12534 */\n#define EGL_SYNC_TYPE_KHR                    0x30f7                 /* 12535 */\n#define EGL_SYNC_CONDITION_KHR               0x30f8                 /* 12536 */\n#define EGL_SYNC_FENCE_KHR                   0x30f9                 /* 12537 */\n#define EGL_FOREVER_KHR                      0xffffffffffffffff     /* 18446744073709551615 */\n#endif\n\n#endif /* REGAL_SYS_EGL */\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif /* __gl_h_ etc */\n#endif /* __REGAL_H__ */\n\n#ifndef __REGAL_API_H\n#define __REGAL_API_H\n\n#if REGAL_SYS_PPAPI\n#include <stdint.h>\nstruct PPB_OpenGLES2;\ntypedef int32_t RegalSystemContext;\n#else\ntypedef void * RegalSystemContext;\n#endif\n\n/* Regal-specific API... try to keep this minimal\n   this is a seperate include guard to work nicely with RegalGLEW.h\n*/\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\ntypedef void (*RegalErrorCallback)(GLenum);\nREGAL_DECL RegalErrorCallback RegalSetErrorCallback( RegalErrorCallback callback );\n\n/*  RegalConfigure is optional.\n */\n\nREGAL_DECL void RegalConfigure(const char *json);\n\n/*  RegalShareContext is optional.  It must be called before any call\n *  to RegalMakeCurrent.  It specifies that a context is sharing state\n *  with one already known to Regal.\n */\n\nREGAL_DECL void RegalShareContext(RegalSystemContext ctx, RegalSystemContext other);\n\n/*  RegalMakeCurrent\n *\n */\n\n#if REGAL_SYS_PPAPI\nREGAL_DECL void RegalMakeCurrent( RegalSystemContext ctx, struct PPB_OpenGLES2 *ppb_interface );\n#else\nREGAL_DECL void RegalMakeCurrent( RegalSystemContext ctx );\n#endif\n\n/*  RegalDestroyContext - release resources used by Regal context.\n *\n */\n\nREGAL_DECL void RegalDestroyContext(RegalSystemContext ctx);\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif /* __REGAL_API_H */\n"
  },
  {
    "path": "external/regal_static/Android.mk",
    "content": "LOCAL_PATH := $(call my-dir)\n# Regal prebuilt static library\ninclude $(CLEAR_VARS)\nLOCAL_MODULE := regal_static\n\nLOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include\nLOCAL_SRC_FILES := $(LOCAL_PATH)/lib/armeabi-v7a/libRegal_static.a\n\ninclude $(PREBUILT_STATIC_LIBRARY)\n"
  },
  {
    "path": "external/regal_static/include/GL/Regal.h",
    "content": "/* NOTE: Do not edit this file, it is generated by a script:\n   Export.py --api gl 4.2 --api wgl 4.0 --api glx 4.0 --api cgl 1.4 --api egl 1.0 --outdir .\n*/\n\n/*\n  Copyright (c) 2011-2013 NVIDIA Corporation\n  Copyright (c) 2011-2013 Cass Everitt\n  Copyright (c) 2012-2013 Scott Nations\n  Copyright (c) 2012 Mathias Schott\n  Copyright (c) 2012-2013 Nigel Stewart\n  Copyright (c) 2012-2013 Google Inc.\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification,\n  are permitted provided that the following conditions are met:\n\n    Redistributions of source code must retain the above copyright notice, this\n    list of conditions and the following disclaimer.\n\n    Redistributions in binary form must reproduce the above copyright notice,\n    this list of conditions and the following disclaimer in the documentation\n    and/or other materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.\n  IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,\n  INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,\n  BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF\n  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE\n  OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED\n  OF THE POSSIBILITY OF SUCH DAMAGE.\n*/\n\n/*\n  Intended formatting conventions:\n  $ astyle --style=allman --indent=spaces=2 --indent-switches\n*/\n\n#ifndef __REGAL_DECLARATIONS_H\n#define __REGAL_DECLARATIONS_H\n\n#if defined(_WIN32)\n# if defined(PPAPI)\n#  ifndef REGAL_SYS_PPAPI\n#   define REGAL_SYS_PPAPI 1\n#  endif\n# else\n#  ifndef REGAL_SYS_WGL\n#   define REGAL_SYS_WGL 1\n#  endif\n# endif\n# ifndef REGAL_SYS_WIN32\n#  define REGAL_SYS_WIN32 1\n# endif\n#elif defined(__APPLE__)\n# include <TargetConditionals.h>\n# if defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE\n#  ifndef REGAL_SYS_IOS\n#   define REGAL_SYS_IOS 1\n#  endif\n# else\n#  ifndef REGAL_SYS_OSX\n#   define REGAL_SYS_OSX 1\n#  endif\n# endif\n#elif defined(__native_client__)\n# ifndef REGAL_SYS_PPAPI\n#  define REGAL_SYS_PPAPI 1\n# endif\n#elif defined(__ANDROID__)\n# ifndef REGAL_SYS_ANDROID\n#  define REGAL_SYS_ANDROID 1\n# endif\n# ifndef REGAL_SYS_EGL\n#  define REGAL_SYS_EGL 1\n# endif\n#elif defined(EMSCRIPTEN)\n# ifndef REGAL_SYS_EMSCRIPTEN\n#  define REGAL_SYS_EMSCRIPTEN 1\n# endif\n# ifndef REGAL_SYS_EGL\n#  define REGAL_SYS_EGL 1\n# endif\n# ifndef REGAL_SYS_ES2\n#  define REGAL_SYS_ES2 1\n# endif\n# ifndef REGAL_SYS_EMSCRIPTEN_STATIC\n#  define REGAL_SYS_EMSCRIPTEN_STATIC 0\n# endif\n# if REGAL_SYS_EMSCRIPTEN_STATIC\n#  define REGAL_DRIVER 1\n#  define REGAL_NAMESPACE 1\n#  define REGAL_STATIC_ES2 1\n#  define REGAL_STATIC_EGL 1\n# endif\n#elif !defined(REGAL_SYS_PPAPI) || !REGAL_SYS_PPAPI\n# ifndef REGAL_SYS_X11\n#  define REGAL_SYS_X11 1\n# endif\n# ifndef REGAL_SYS_GLX\n#  define REGAL_SYS_GLX REGAL_SYS_X11\n# endif\n#endif\n\n#ifndef REGAL_SYS_WGL\n# define REGAL_SYS_WGL 0\n#endif\n\n#ifndef REGAL_SYS_IOS\n# define REGAL_SYS_IOS 0\n#endif\n\n#ifndef REGAL_SYS_OSX\n# define REGAL_SYS_OSX 0\n#endif\n\n#ifndef REGAL_SYS_PPAPI\n# define REGAL_SYS_PPAPI 0\n#endif\n\n#ifndef REGAL_SYS_ANDROID\n# define REGAL_SYS_ANDROID 0\n#endif\n\n#ifndef REGAL_SYS_EGL\n# define REGAL_SYS_EGL 0\n#endif\n\n#ifndef REGAL_SYS_GLX\n# define REGAL_SYS_GLX 0\n#endif\n\n#ifndef REGAL_SYS_X11\n# define REGAL_SYS_X11 0\n#endif\n\n#ifndef REGAL_SYS_WIN32\n# define REGAL_SYS_WIN32 0\n#endif\n\n#ifndef REGAL_SYS_EMSCRIPTEN\n#define REGAL_SYS_EMSCRIPTEN 0\n#endif\n\n#ifndef REGAL_SYS_ES1\n#define REGAL_SYS_ES1 0\n#endif\n\n#ifndef REGAL_SYS_ES2\n#define REGAL_SYS_ES2 (REGAL_SYS_PPAPI || REGAL_SYS_IOS || REGAL_SYS_ANDROID || REGAL_SYS_EMSCRIPTEN || REGAL_SYS_EGL)\n#endif\n\n#ifndef REGAL_SYS_GL\n#define REGAL_SYS_GL (REGAL_SYS_WGL || (!REGAL_SYS_PPAPI && !REGAL_SYS_IOS && !REGAL_SYS_ANDROID && !REGAL_SYS_EMSCRIPTEN))\n#endif\n\n#if REGAL_SYS_WGL\n# define REGAL_CALL __stdcall\n#else\n# define REGAL_CALL\n#endif\n\n#ifndef GLAPIENTRY\n#define GLAPIENTRY REGAL_CALL\n#endif\n\n#ifdef _WIN32\n#  if REGAL_DECL_EXPORT\n#    define REGAL_DECL\n#  else\n#    define REGAL_DECL __declspec(dllimport)\n#  endif\n#elif defined(__GNUC__) && __GNUC__>=4\n#  if REGAL_DECL_EXPORT\n#    define REGAL_DECL __attribute__ ((visibility(\"default\")))\n#  else\n#    define REGAL_DECL\n#  endif\n#elif defined(__SUNPRO_C) || defined(__SUNPRO_CC)\n#  if REGAL_DECL_EXPORT\n#    define REGAL_DECL __global\n#  else\n#    define REGAL_DECL\n#  endif\n#else\n#  define REGAL_DECL\n#endif\n\n/* Plugins need the GL API as externs with plugin_ prefix */\n\n#ifdef REGAL_PLUGIN_MODE\n#undef  REGAL_DECL\n#define REGAL_DECL extern\n#endif\n\n#endif /* __REGAL_DECLARATIONS_H */\n\n#ifndef __REGAL_H__\n#define __REGAL_H__\n\n/* Skip OpenGL API if another header was included first. */\n\n#if !defined(__gl_h_) && !defined(__GL_H__) && !defined(__X_GL_H) && !defined(__gl2_h_) && !defined(__glext_h_) && !defined(__GLEXT_H_) && !defined(__gl_ATI_h_) && !defined(_OPENGL_H)\n\n#define __gl_h_\n#define __gl2_h_\n#define __GL_H__\n#define __X_GL_H\n#define __glext_h_\n#define __GLEXT_H_\n#define __gl_ATI_h_\n#define _OPENGL_H\n\n#if REGAL_SYS_GLX\n#include <X11/Xdefs.h>\n#include <X11/Xutil.h>\ntypedef XID GLXDrawable;\n#endif\n\n#if REGAL_SYS_EGL && REGAL_SYS_X11\n#include <X11/Xlib.h>\n#include <X11/Xutil.h>\n#endif\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n#include <stddef.h>\n#if defined(_WIN32)\n  typedef __int64 int64_t;\n  typedef unsigned __int64 uint64_t;\n  #if defined(REGAL_SYS_WGL_DECLARE_WGL) && !defined(_WINDEF_)\n    struct HDC__ {int unused;};\n    typedef struct HDC__* HDC;\n    struct HGLRC__ {int unused;};\n    typedef struct HGLRC__* HGLRC;\n  #endif\n#else\n  #include <inttypes.h>\n#endif\n\ntypedef unsigned int GLenum;\ntypedef unsigned char GLboolean;\ntypedef unsigned int GLbitfield;\ntypedef signed char GLbyte;\ntypedef short GLshort;\ntypedef int GLint;\ntypedef int GLsizei;\ntypedef unsigned char GLubyte;\ntypedef unsigned short GLushort;\ntypedef unsigned int GLuint;\ntypedef float GLfloat;\ntypedef float GLclampf;\ntypedef double GLdouble;\ntypedef double GLclampd;\ntypedef void GLvoid;\ntypedef ptrdiff_t GLintptr;\ntypedef ptrdiff_t GLsizeiptr;\ntypedef char GLchar;\ntypedef int64_t GLint64;\ntypedef uint64_t GLuint64;\ntypedef struct __GLsync * GLsync;\ntypedef struct _cl_context * cl_context;\ntypedef struct _cl_event * cl_event;\ntypedef ptrdiff_t GLintptrARB;\ntypedef ptrdiff_t GLsizeiptrARB;\ntypedef char GLcharARB;\n#if REGAL_SYS_IOS\ntypedef unsigned long GLhandleARB;\n#elif REGAL_SYS_OSX\ntypedef unsigned long GLhandleARB;\n#else\ntypedef unsigned int GLhandleARB;\n#endif\ntypedef unsigned short GLhalfARB;\ntypedef unsigned short GLhalfNV;\ntypedef int64_t GLint64EXT;\ntypedef uint64_t GLuint64EXT;\ntypedef GLintptr GLvdpauSurfaceNV;\ntypedef int GLfixed;\ntypedef int GLclampx;\n\n#if REGAL_SYS_WGL\n#ifdef  REGAL_SYS_WGL_DECLARE_WGL\n#ifndef _WINDEF_\ntypedef void VOID;\ntypedef void * PVOID;\ntypedef PVOID HANDLE;\ntypedef const char * LPCSTR;\ntypedef signed int INT32;\ntypedef signed __int64 INT64;\ntypedef void * LPVOID;\ntypedef int BOOL;\ntypedef unsigned long DWORD;\ntypedef float FLOAT;\ntypedef int INT;\ntypedef unsigned int UINT;\ntypedef unsigned short USHORT;\ntypedef void * PROC;\ntypedef DWORD COLORREF;\ntypedef long LONG;\ntypedef unsigned long * ULONG_PTR;\n#endif\n#ifndef _WINGDI_\ntypedef struct _GLYPHMETRICSFLOAT GLYPHMETRICSFLOAT;\ntypedef GLYPHMETRICSFLOAT * LPGLYPHMETRICSFLOAT;\ntypedef struct tagLAYERPLANEDESCRIPTOR LAYERPLANEDESCRIPTOR;\ntypedef LAYERPLANEDESCRIPTOR * LPLAYERPLANEDESCRIPTOR;\ntypedef struct tagPIXELFORMATDESCRIPTOR PIXELFORMATDESCRIPTOR;\ntypedef PIXELFORMATDESCRIPTOR * LPPIXELFORMATDESCRIPTOR;\ntypedef struct _POINTFLOAT POINTFLOAT;\ntypedef struct _WGLSWAP WGLSWAP;\n#endif\n#endif // REGAL_SYS_WGL_DECLARE_WGL\ntypedef struct HPBUFFERARB__ * HPBUFFERARB;\ntypedef struct HPBUFFEREXT__ * HPBUFFEREXT;\ntypedef struct HGPUNV__ * HGPUNV;\ntypedef struct HPVIDEODEV__ * HPVIDEODEV;\ntypedef struct HVIDEOINPUTDEVICENV__ * HVIDEOINPUTDEVICENV;\ntypedef struct HVIDEOOUTPUTDEVICENV__ * HVIDEOOUTPUTDEVICENV;\ntypedef struct GPU_DEVICE * PGPU_DEVICE;\n#endif // REGAL_SYS_WGL\n\n#if REGAL_SYS_GLX\ntypedef XID GLXVideoCaptureDeviceNV;\ntypedef unsigned long XID;\ntypedef XID Pixmap;\ntypedef XID Font;\ntypedef struct _XDisplay Display;\ntypedef XID GLXDrawble;\ntypedef XID GLXPixmap;\ntypedef struct __GLXcontextRec * GLXContext;\ntypedef unsigned int GLXVideoDeviceNV;\ntypedef XID GLXWindow;\ntypedef XID GLXPbuffer;\ntypedef XID GLXFBConfigID;\ntypedef struct __GLXFBConfigRec * GLXFBConfig;\ntypedef XID GLXContextID;\ntypedef XID GLXFBConfigIDSGIX;\ntypedef struct __GLXFBConfigRec * GLXFBConfigSGIX;\ntypedef XID GLXPbufferSGIX;\n#endif // REGAL_SYS_GLX\n\n#if REGAL_SYS_OSX\ntypedef struct _CGLContextObject * CGLContextObj;\ntypedef struct _CGLPixelFormatObject * CGLPixelFormatObj;\ntypedef struct _CGLRendererInfoObject * CGLRendererInfoObj;\ntypedef struct _CGLPBufferObject * CGLPBufferObj;\ntypedef void * CGLShareGroupObj;\ntypedef struct __IOSurface * IOSurfaceRef;\ntypedef void * CGSConnectionID;\ntypedef int CGSWindowID;\ntypedef int CGSSurfaceID;\n#endif // REGAL_SYS_OSX\n\n#if REGAL_SYS_EGL\n#if REGAL_SYS_ANDROID\ntypedef struct ANativeWindow * EGLNativeWindowType;\n#elif REGAL_SYS_WIN32\ntypedef HWND EGLNativeWindowType;\n#elif REGAL_SYS_X11\ntypedef Window EGLNativeWindowType;\n#else\ntypedef void * EGLNativeWindowType;\n#endif\n#if REGAL_SYS_ANDROID\ntypedef struct egl_native_pixmap_t * EGLNativePixmapType;\n#elif REGAL_SYS_WIN32\ntypedef HBITMAP EGLNativePixmapType;\n#elif REGAL_SYS_X11\ntypedef Pixmap EGLNativePixmapType;\n#else\ntypedef void * EGLNativePixmapType;\n#endif\n#if REGAL_SYS_ANDROID\ntypedef void * EGLNativeDisplayType;\n#elif REGAL_SYS_WIN32\ntypedef HDC EGLNativeDisplayType;\n#elif REGAL_SYS_X11\ntypedef Display * EGLNativeDisplayType;\n#else\ntypedef int EGLNativeDisplayType;\n#endif\ntypedef EGLNativeDisplayType NativeDisplayType;\ntypedef EGLNativePixmapType  NativePixmapType;\ntypedef EGLNativeWindowType  NativeWindowType;\ntypedef int EGLint;\ntypedef unsigned int EGLBoolean;\ntypedef unsigned int EGLenum;\ntypedef void * EGLConfig;\ntypedef void * EGLContext;\ntypedef void * EGLDisplay;\ntypedef void * EGLSurface;\ntypedef void * EGLClientBuffer;\ntypedef void  (*__eglMustCastToProperFunctionPointerType)(void);\ntypedef void * EGLSyncKHR;\ntypedef uint64_t EGLTimeKHR;\ntypedef void * EGLImageKHR;\ntypedef void * EGLStreamKHR;\ntypedef uint64_t EGLuint64KHR;\ntypedef int EGLNativeFileDescriptorKHR;\ntypedef void * EGLSyncNV;\ntypedef uint64_t EGLTimeNV;\ntypedef uint64_t EGLuint64NV;\n#endif // REGAL_SYS_EGL\n\n/* TODO: make this automatic? */\n\ntypedef void (REGAL_CALL *GLDEBUGPROCAMD)(GLuint id, GLenum category, GLenum severity, GLsizei length, const GLchar *message, GLvoid *userParam);\ntypedef void (REGAL_CALL *GLDEBUGPROCARB)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *message, GLvoid *userParam);\ntypedef void (REGAL_CALL *GLDEBUGPROC)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *message, GLvoid *userParam);\n\ntypedef void (*GLLOGPROCREGAL)(GLenum stream, GLsizei length, const GLchar *message, GLvoid *context);\n\n#if REGAL_SYS_GLX\ntypedef void (*__GLXextFuncPtr)(void);\n#endif\n\n#if REGAL_SYS_OSX\n\ntypedef enum _CGLPixelFormatAttribute {\n  kCGLPFAAllRenderers = 1,\n  kCGLPFATripleBuffer = 3,\n  kCGLPFADoubleBuffer = 5,\n  kCGLPFAStereo = 6,\n  kCGLPFAAuxBuffers = 7,\n  kCGLPFAColorSize = 8,\n  kCGLPFAAlphaSize = 11,\n  kCGLPFADepthSize = 12,\n  kCGLPFAStencilSize = 13,\n  kCGLPFAAccumSize = 14,\n  kCGLPFAMinimumPolicy = 51,\n  kCGLPFAMaximumPolicy = 52,\n  kCGLPFAOffScreen = 53,\n  kCGLPFAFullScreen = 54,\n  kCGLPFASampleBuffers = 55,\n  kCGLPFASamples = 56,\n  kCGLPFAAuxDepthStencil = 57,\n  kCGLPFAColorFloat = 58,\n  kCGLPFAMultisample = 59,\n  kCGLPFASupersample = 60,\n  kCGLPFASampleAlpha = 61,\n  kCGLPFARendererID = 70,\n  kCGLPFASingleRenderer = 71,\n  kCGLPFANoRecovery = 72,\n  kCGLPFAAccelerated = 73,\n  kCGLPFAClosestPolicy = 74,\n  kCGLPFARobust = 75,\n  kCGLPFABackingStore = 76,\n  kCGLPFAMPSafe = 78,\n  kCGLPFAWindow = 80,\n  kCGLPFAMultiScreen = 81,\n  kCGLPFACompliant = 83,\n  kCGLPFADisplayMask = 84,\n  kCGLPFAPBuffer = 90,\n  kCGLPFARemotePBuffer = 91,\n  kCGLPFAAllowOfflineRenderers = 96,\n  kCGLPFAAcceleratedCompute = 97,\n  kCGLPFAOpenGLProfile = 99,\n  kCGLPFAVirtualScreenCount = 128,\n} CGLPixelFormatAttribute;\n\ntypedef enum _CGLRendererProperty {\n  kCGLRPOffScreen = 53,\n  kCGLRPFullScreen = 54,\n  kCGLRPRendererID = 70,\n  kCGLRPAccelerated = 73,\n  kCGLRPRobust = 75,\n  kCGLRPBackingStore = 76,\n  kCGLRPMPSafe = 78,\n  kCGLRPWindow = 80,\n  kCGLRPMultiScreen = 81,\n  kCGLRPCompliant = 83,\n  kCGLRPDisplayMask = 84,\n  kCGLRPBufferModes = 100,\n  kCGLRPColorModes = 103,\n  kCGLRPAccumModes = 104,\n  kCGLRPDepthModes = 105,\n  kCGLRPStencilModes = 106,\n  kCGLRPMaxAuxBuffers = 107,\n  kCGLRPMaxSampleBuffers = 108,\n  kCGLRPMaxSamples = 109,\n  kCGLRPSampleModes = 110,\n  kCGLRPSampleAlpha = 111,\n  kCGLRPVideoMemory = 120,\n  kCGLRPTextureMemory = 121,\n  kCGLRPGPUVertProcCapable = 122,\n  kCGLRPGPUFragProcCapable = 123,\n  kCGLRPRendererCount = 128,\n  kCGLRPOnline = 129,\n  kCGLRPAcceleratedCompute = 130,\n  kCGLRPVideoMemoryMegabytes = 131,\n  kCGLRPTextureMemoryMegabytes = 132,\n} CGLRendererProperty;\n\ntypedef enum _CGLContextEnable {\n  kCGLCESwapRectangle = 201,\n  kCGLCESwapLimit = 203,\n  kCGLCERasterization = 221,\n  kCGLCEStateValidation = 301,\n  kCGLCESurfaceBackingSize = 305,\n  kCGLCEDisplayListOptimization = 307,\n  kCGLCEMPEngine = 313,\n  kCGLCECrashOnRemovedFunctions = 316,\n} CGLContextEnable;\n\ntypedef enum _CGLContextParameter {\n  kCGLCPSwapRectangle = 200,\n  kCGLCPSwapInterval = 222,\n  kCGLCPDispatchTableSize = 224,\n  kCGLCPClientStorage = 226,\n  kCGLCPSurfaceTexture = 228,\n  kCGLCPSurfaceOrder = 235,\n  kCGLCPSurfaceOpacity = 236,\n  kCGLCPSurfaceBackingSize = 304,\n  kCGLCPSurfaceSurfaceVolatile = 306,\n  kCGLCPReclaimResources = 308,\n  kCGLCPCurrentRendererID = 309,\n  kCGLCPGPUVertexProcessing = 310,\n  kCGLCPGPUFragmentProcessing = 311,\n  kCGLCPHasDrawable = 314,\n  kCGLCPMPSwapsInFlight = 315,\n} CGLContextParameter;\n\ntypedef enum _CGLGlobalOption {\n  kCGLGOFormatCacheSize = 501,\n  kCGLGOClearFormatCache = 502,\n  kCGLGORetainRenderers = 503,\n  kCGLGOResetLibrary = 504,\n  kCGLGOUseErrorHandler = 505,\n  kCGLGOUseBuildCache = 506,\n} CGLGlobalOption;\n\ntypedef enum _CGLOpenGLProfile {\n  kCGLOGLPVersion_Legacy = 4096,\n  kCGLOGLPVersion_3_2_Core = 12800,\n} CGLOpenGLProfile;\n\ntypedef enum _CGLError {\n  kCGLNoError = 0,\n  kCGLBadAttribute = 10000,\n  kCGLBadProperty = 10001,\n  kCGLBadPixelFormat = 10002,\n  kCGLBadRendererInfo = 10003,\n  kCGLBadContext = 10004,\n  kCGLBadDrawable = 10005,\n  kCGLBadDisplay  = 10006,\n  kCGLBadState = 10007,\n  kCGLBadValue = 10008,\n  kCGLBadMatch = 10009,\n  kCGLBadEnumeration = 10010,\n  kCGLBadOffScreen = 10011,\n  kCGLBadFullScreen = 10012,\n  kCGLBadWindow = 10013,\n  kCGLBadAddress = 10014,\n  kCGLBadCodeModule = 10015,\n  kCGLBadAlloc = 10016,\n  kCGLBadConnection = 10017,\n} CGLError;\n\n#endif // REGAL_SYS_OSX\n\n/**\n ** GL_3DFX_multisample\n **/\n\n#if (defined(GL_3DFX_MULTISAMPLE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_3DFX_MULTISAMPLE)) && !defined(REGAL_NO_ENUM_GL_3DFX_MULTISAMPLE)\n#define REGAL_NO_ENUM_GL_3DFX_MULTISAMPLE\n#endif\n\n#if (defined(GL_3DFX_MULTISAMPLE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_3DFX_MULTISAMPLE)) && !defined(REGAL_NO_TYPEDEF_GL_3DFX_MULTISAMPLE)\n#define REGAL_NO_TYPEDEF_GL_3DFX_MULTISAMPLE\n#endif\n\n#if (defined(GL_3DFX_MULTISAMPLE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_3DFX_MULTISAMPLE)) && !defined(REGAL_NO_NAMESPACE_GL_3DFX_MULTISAMPLE)\n#define REGAL_NO_NAMESPACE_GL_3DFX_MULTISAMPLE\n#endif\n\n#if (defined(GL_3DFX_MULTISAMPLE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_3DFX_MULTISAMPLE)) && !defined(REGAL_NO_PLUGIN_GL_3DFX_MULTISAMPLE)\n#define REGAL_NO_PLUGIN_GL_3DFX_MULTISAMPLE\n#endif\n\n#if (defined(GL_3DFX_MULTISAMPLE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_3DFX_MULTISAMPLE)) && !defined(REGAL_NO_DECLARATION_GL_3DFX_MULTISAMPLE)\n#define REGAL_NO_DECLARATION_GL_3DFX_MULTISAMPLE\n#endif\n\n#ifndef GL_3DFX_multisample\n#define GL_3DFX_multisample 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_3DFX_MULTISAMPLE\n#define GL_MULTISAMPLE_BIT_3DFX 0x20000000     /* 536870912 */\n#define GL_MULTISAMPLE_3DFX     0x86b2         /* 34482 */\n#define GL_SAMPLE_BUFFERS_3DFX  0x86b3         /* 34483 */\n#define GL_SAMPLES_3DFX         0x86b4         /* 34484 */\n#endif\n\n/**\n ** GL_3DFX_tbuffer\n **/\n\n#if (defined(GL_3DFX_TBUFFER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_3DFX_TBUFFER)) && !defined(REGAL_NO_ENUM_GL_3DFX_TBUFFER)\n#define REGAL_NO_ENUM_GL_3DFX_TBUFFER\n#endif\n\n#if (defined(GL_3DFX_TBUFFER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_3DFX_TBUFFER)) && !defined(REGAL_NO_TYPEDEF_GL_3DFX_TBUFFER)\n#define REGAL_NO_TYPEDEF_GL_3DFX_TBUFFER\n#endif\n\n#if (defined(GL_3DFX_TBUFFER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_3DFX_TBUFFER)) && !defined(REGAL_NO_NAMESPACE_GL_3DFX_TBUFFER)\n#define REGAL_NO_NAMESPACE_GL_3DFX_TBUFFER\n#endif\n\n#if (defined(GL_3DFX_TBUFFER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_3DFX_TBUFFER)) && !defined(REGAL_NO_PLUGIN_GL_3DFX_TBUFFER)\n#define REGAL_NO_PLUGIN_GL_3DFX_TBUFFER\n#endif\n\n#if (defined(GL_3DFX_TBUFFER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_3DFX_TBUFFER)) && !defined(REGAL_NO_DECLARATION_GL_3DFX_TBUFFER)\n#define REGAL_NO_DECLARATION_GL_3DFX_TBUFFER\n#endif\n\n#ifndef GL_3DFX_tbuffer\n#define GL_3DFX_tbuffer 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_3DFX_TBUFFER\ntypedef void (REGAL_CALL *PFNGLTBUFFERMASK3DFXPROC)(GLuint mask);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_3DFX_TBUFFER\n#define glTbufferMask3DFX                   rglTbufferMask3DFX\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_3DFX_TBUFFER\nREGAL_DECL void REGAL_CALL glTbufferMask3DFX(GLuint mask);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_3DFX_TBUFFER\nREGAL_DECL void REGAL_CALL plugin_glTbufferMask3DFX(GLuint mask);\n#endif\n\n/**\n ** GL_3DFX_texture_compression_FXT1\n **/\n\n#if (defined(GL_3DFX_TEXTURE_COMPRESSION_FXT1) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_3DFX_TEXTURE_COMPRESSION_FXT1)) && !defined(REGAL_NO_ENUM_GL_3DFX_TEXTURE_COMPRESSION_FXT1)\n#define REGAL_NO_ENUM_GL_3DFX_TEXTURE_COMPRESSION_FXT1\n#endif\n\n#if (defined(GL_3DFX_TEXTURE_COMPRESSION_FXT1) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_3DFX_TEXTURE_COMPRESSION_FXT1)) && !defined(REGAL_NO_TYPEDEF_GL_3DFX_TEXTURE_COMPRESSION_FXT1)\n#define REGAL_NO_TYPEDEF_GL_3DFX_TEXTURE_COMPRESSION_FXT1\n#endif\n\n#if (defined(GL_3DFX_TEXTURE_COMPRESSION_FXT1) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_3DFX_TEXTURE_COMPRESSION_FXT1)) && !defined(REGAL_NO_NAMESPACE_GL_3DFX_TEXTURE_COMPRESSION_FXT1)\n#define REGAL_NO_NAMESPACE_GL_3DFX_TEXTURE_COMPRESSION_FXT1\n#endif\n\n#if (defined(GL_3DFX_TEXTURE_COMPRESSION_FXT1) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_3DFX_TEXTURE_COMPRESSION_FXT1)) && !defined(REGAL_NO_PLUGIN_GL_3DFX_TEXTURE_COMPRESSION_FXT1)\n#define REGAL_NO_PLUGIN_GL_3DFX_TEXTURE_COMPRESSION_FXT1\n#endif\n\n#if (defined(GL_3DFX_TEXTURE_COMPRESSION_FXT1) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_3DFX_TEXTURE_COMPRESSION_FXT1)) && !defined(REGAL_NO_DECLARATION_GL_3DFX_TEXTURE_COMPRESSION_FXT1)\n#define REGAL_NO_DECLARATION_GL_3DFX_TEXTURE_COMPRESSION_FXT1\n#endif\n\n#ifndef GL_3DFX_texture_compression_FXT1\n#define GL_3DFX_texture_compression_FXT1 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_3DFX_TEXTURE_COMPRESSION_FXT1\n#define GL_COMPRESSED_RGB_FXT1_3DFX  0x86b0     /* 34480 */\n#define GL_COMPRESSED_RGBA_FXT1_3DFX 0x86b1     /* 34481 */\n#endif\n\n/**\n ** GL_AMD_blend_minmax_factor\n **/\n\n#if (defined(GL_AMD_BLEND_MINMAX_FACTOR) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_AMD_BLEND_MINMAX_FACTOR)) && !defined(REGAL_NO_ENUM_GL_AMD_BLEND_MINMAX_FACTOR)\n#define REGAL_NO_ENUM_GL_AMD_BLEND_MINMAX_FACTOR\n#endif\n\n#if (defined(GL_AMD_BLEND_MINMAX_FACTOR) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_AMD_BLEND_MINMAX_FACTOR)) && !defined(REGAL_NO_TYPEDEF_GL_AMD_BLEND_MINMAX_FACTOR)\n#define REGAL_NO_TYPEDEF_GL_AMD_BLEND_MINMAX_FACTOR\n#endif\n\n#if (defined(GL_AMD_BLEND_MINMAX_FACTOR) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_AMD_BLEND_MINMAX_FACTOR)) && !defined(REGAL_NO_NAMESPACE_GL_AMD_BLEND_MINMAX_FACTOR)\n#define REGAL_NO_NAMESPACE_GL_AMD_BLEND_MINMAX_FACTOR\n#endif\n\n#if (defined(GL_AMD_BLEND_MINMAX_FACTOR) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_AMD_BLEND_MINMAX_FACTOR)) && !defined(REGAL_NO_PLUGIN_GL_AMD_BLEND_MINMAX_FACTOR)\n#define REGAL_NO_PLUGIN_GL_AMD_BLEND_MINMAX_FACTOR\n#endif\n\n#if (defined(GL_AMD_BLEND_MINMAX_FACTOR) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_AMD_BLEND_MINMAX_FACTOR)) && !defined(REGAL_NO_DECLARATION_GL_AMD_BLEND_MINMAX_FACTOR)\n#define REGAL_NO_DECLARATION_GL_AMD_BLEND_MINMAX_FACTOR\n#endif\n\n#ifndef GL_AMD_blend_minmax_factor\n#define GL_AMD_blend_minmax_factor 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_AMD_BLEND_MINMAX_FACTOR\n#define GL_FACTOR_MIN_AMD 0x901c     /* 36892 */\n#define GL_FACTOR_MAX_AMD 0x901d     /* 36893 */\n#endif\n\n/**\n ** GL_AMD_compressed_3DC_texture\n **/\n\n#if (defined(GL_AMD_COMPRESSED_3DC_TEXTURE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_AMD_COMPRESSED_3DC_TEXTURE)) && !defined(REGAL_NO_ENUM_GL_AMD_COMPRESSED_3DC_TEXTURE)\n#define REGAL_NO_ENUM_GL_AMD_COMPRESSED_3DC_TEXTURE\n#endif\n\n#if (defined(GL_AMD_COMPRESSED_3DC_TEXTURE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_AMD_COMPRESSED_3DC_TEXTURE)) && !defined(REGAL_NO_TYPEDEF_GL_AMD_COMPRESSED_3DC_TEXTURE)\n#define REGAL_NO_TYPEDEF_GL_AMD_COMPRESSED_3DC_TEXTURE\n#endif\n\n#if (defined(GL_AMD_COMPRESSED_3DC_TEXTURE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_AMD_COMPRESSED_3DC_TEXTURE)) && !defined(REGAL_NO_NAMESPACE_GL_AMD_COMPRESSED_3DC_TEXTURE)\n#define REGAL_NO_NAMESPACE_GL_AMD_COMPRESSED_3DC_TEXTURE\n#endif\n\n#if (defined(GL_AMD_COMPRESSED_3DC_TEXTURE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_AMD_COMPRESSED_3DC_TEXTURE)) && !defined(REGAL_NO_PLUGIN_GL_AMD_COMPRESSED_3DC_TEXTURE)\n#define REGAL_NO_PLUGIN_GL_AMD_COMPRESSED_3DC_TEXTURE\n#endif\n\n#if (defined(GL_AMD_COMPRESSED_3DC_TEXTURE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_AMD_COMPRESSED_3DC_TEXTURE)) && !defined(REGAL_NO_DECLARATION_GL_AMD_COMPRESSED_3DC_TEXTURE)\n#define REGAL_NO_DECLARATION_GL_AMD_COMPRESSED_3DC_TEXTURE\n#endif\n\n#ifndef GL_AMD_compressed_3DC_texture\n#define GL_AMD_compressed_3DC_texture 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_AMD_COMPRESSED_3DC_TEXTURE\n#define GL_3DC_X_AMD  0x87f9     /* 34809 */\n#define GL_3DC_XY_AMD 0x87fa     /* 34810 */\n#endif\n\n/**\n ** GL_AMD_compressed_ATC_texture\n **/\n\n#if (defined(GL_AMD_COMPRESSED_ATC_TEXTURE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_AMD_COMPRESSED_ATC_TEXTURE)) && !defined(REGAL_NO_ENUM_GL_AMD_COMPRESSED_ATC_TEXTURE)\n#define REGAL_NO_ENUM_GL_AMD_COMPRESSED_ATC_TEXTURE\n#endif\n\n#if (defined(GL_AMD_COMPRESSED_ATC_TEXTURE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_AMD_COMPRESSED_ATC_TEXTURE)) && !defined(REGAL_NO_TYPEDEF_GL_AMD_COMPRESSED_ATC_TEXTURE)\n#define REGAL_NO_TYPEDEF_GL_AMD_COMPRESSED_ATC_TEXTURE\n#endif\n\n#if (defined(GL_AMD_COMPRESSED_ATC_TEXTURE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_AMD_COMPRESSED_ATC_TEXTURE)) && !defined(REGAL_NO_NAMESPACE_GL_AMD_COMPRESSED_ATC_TEXTURE)\n#define REGAL_NO_NAMESPACE_GL_AMD_COMPRESSED_ATC_TEXTURE\n#endif\n\n#if (defined(GL_AMD_COMPRESSED_ATC_TEXTURE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_AMD_COMPRESSED_ATC_TEXTURE)) && !defined(REGAL_NO_PLUGIN_GL_AMD_COMPRESSED_ATC_TEXTURE)\n#define REGAL_NO_PLUGIN_GL_AMD_COMPRESSED_ATC_TEXTURE\n#endif\n\n#if (defined(GL_AMD_COMPRESSED_ATC_TEXTURE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_AMD_COMPRESSED_ATC_TEXTURE)) && !defined(REGAL_NO_DECLARATION_GL_AMD_COMPRESSED_ATC_TEXTURE)\n#define REGAL_NO_DECLARATION_GL_AMD_COMPRESSED_ATC_TEXTURE\n#endif\n\n#ifndef GL_AMD_compressed_ATC_texture\n#define GL_AMD_compressed_ATC_texture 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_AMD_COMPRESSED_ATC_TEXTURE\n#define GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD 0x87ee     /* 34798 */\n#define GL_ATC_RGB_AMD                     0x8c92     /* 35986 */\n#define GL_ATC_RGBA_EXPLICIT_ALPHA_AMD     0x8c93     /* 35987 */\n#endif\n\n/**\n ** GL_AMD_debug_output\n **/\n\n#if (defined(GL_AMD_DEBUG_OUTPUT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_AMD_DEBUG_OUTPUT)) && !defined(REGAL_NO_ENUM_GL_AMD_DEBUG_OUTPUT)\n#define REGAL_NO_ENUM_GL_AMD_DEBUG_OUTPUT\n#endif\n\n#if (defined(GL_AMD_DEBUG_OUTPUT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_AMD_DEBUG_OUTPUT)) && !defined(REGAL_NO_TYPEDEF_GL_AMD_DEBUG_OUTPUT)\n#define REGAL_NO_TYPEDEF_GL_AMD_DEBUG_OUTPUT\n#endif\n\n#if (defined(GL_AMD_DEBUG_OUTPUT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_AMD_DEBUG_OUTPUT)) && !defined(REGAL_NO_NAMESPACE_GL_AMD_DEBUG_OUTPUT)\n#define REGAL_NO_NAMESPACE_GL_AMD_DEBUG_OUTPUT\n#endif\n\n#if (defined(GL_AMD_DEBUG_OUTPUT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_AMD_DEBUG_OUTPUT)) && !defined(REGAL_NO_PLUGIN_GL_AMD_DEBUG_OUTPUT)\n#define REGAL_NO_PLUGIN_GL_AMD_DEBUG_OUTPUT\n#endif\n\n#if (defined(GL_AMD_DEBUG_OUTPUT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_AMD_DEBUG_OUTPUT)) && !defined(REGAL_NO_DECLARATION_GL_AMD_DEBUG_OUTPUT)\n#define REGAL_NO_DECLARATION_GL_AMD_DEBUG_OUTPUT\n#endif\n\n#ifndef GL_AMD_debug_output\n#define GL_AMD_debug_output 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_AMD_DEBUG_OUTPUT\n#define GL_MAX_DEBUG_MESSAGE_LENGTH_AMD          0x9143     /* 37187 */\n#define GL_MAX_DEBUG_LOGGED_MESSAGES_AMD         0x9144     /* 37188 */\n#define GL_DEBUG_LOGGED_MESSAGES_AMD             0x9145     /* 37189 */\n#define GL_DEBUG_SEVERITY_HIGH_AMD               0x9146     /* 37190 */\n#define GL_DEBUG_SEVERITY_MEDIUM_AMD             0x9147     /* 37191 */\n#define GL_DEBUG_SEVERITY_LOW_AMD                0x9148     /* 37192 */\n#define GL_DEBUG_CATEGORY_API_ERROR_AMD          0x9149     /* 37193 */\n#define GL_DEBUG_CATEGORY_WINDOW_SYSTEM_AMD      0x914a     /* 37194 */\n#define GL_DEBUG_CATEGORY_DEPRECATION_AMD        0x914b     /* 37195 */\n#define GL_DEBUG_CATEGORY_UNDEFINED_BEHAVIOR_AMD 0x914c     /* 37196 */\n#define GL_DEBUG_CATEGORY_PERFORMANCE_AMD        0x914d     /* 37197 */\n#define GL_DEBUG_CATEGORY_SHADER_COMPILER_AMD    0x914e     /* 37198 */\n#define GL_DEBUG_CATEGORY_APPLICATION_AMD        0x914f     /* 37199 */\n#define GL_DEBUG_CATEGORY_OTHER_AMD              0x9150     /* 37200 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_AMD_DEBUG_OUTPUT\ntypedef GLuint (REGAL_CALL *PFNGLGETDEBUGMESSAGELOGAMDPROC)(GLuint count, GLsizei bufsize, GLenum *categories, GLuint *severities, GLuint *ids, GLsizei *lengths, GLchar *message);\ntypedef void (REGAL_CALL *PFNGLDEBUGMESSAGECALLBACKAMDPROC)(GLDEBUGPROCAMD callback, GLvoid *userParam);\ntypedef void (REGAL_CALL *PFNGLDEBUGMESSAGEENABLEAMDPROC)(GLenum category, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);\ntypedef void (REGAL_CALL *PFNGLDEBUGMESSAGEINSERTAMDPROC)(GLenum category, GLenum severity, GLuint id, GLsizei length, const GLchar *buf);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_AMD_DEBUG_OUTPUT\n#define glDebugMessageCallbackAMD           rglDebugMessageCallbackAMD\n#define glDebugMessageEnableAMD             rglDebugMessageEnableAMD\n#define glDebugMessageInsertAMD             rglDebugMessageInsertAMD\n#define glGetDebugMessageLogAMD             rglGetDebugMessageLogAMD\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_AMD_DEBUG_OUTPUT\nREGAL_DECL GLuint REGAL_CALL glGetDebugMessageLogAMD(GLuint count, GLsizei bufsize, GLenum *categories, GLuint *severities, GLuint *ids, GLsizei *lengths, GLchar *message);\nREGAL_DECL void REGAL_CALL glDebugMessageCallbackAMD(GLDEBUGPROCAMD callback, GLvoid *userParam);\nREGAL_DECL void REGAL_CALL glDebugMessageEnableAMD(GLenum category, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);\nREGAL_DECL void REGAL_CALL glDebugMessageInsertAMD(GLenum category, GLenum severity, GLuint id, GLsizei length, const GLchar *buf);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_AMD_DEBUG_OUTPUT\nREGAL_DECL GLuint REGAL_CALL plugin_glGetDebugMessageLogAMD(GLuint count, GLsizei bufsize, GLenum *categories, GLuint *severities, GLuint *ids, GLsizei *lengths, GLchar *message);\nREGAL_DECL void REGAL_CALL plugin_glDebugMessageCallbackAMD(GLDEBUGPROCAMD callback, GLvoid *userParam);\nREGAL_DECL void REGAL_CALL plugin_glDebugMessageEnableAMD(GLenum category, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);\nREGAL_DECL void REGAL_CALL plugin_glDebugMessageInsertAMD(GLenum category, GLenum severity, GLuint id, GLsizei length, const GLchar *buf);\n#endif\n\n/**\n ** GL_AMD_depth_clamp_separate\n **/\n\n#if (defined(GL_AMD_DEPTH_CLAMP_SEPARATE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_AMD_DEPTH_CLAMP_SEPARATE)) && !defined(REGAL_NO_ENUM_GL_AMD_DEPTH_CLAMP_SEPARATE)\n#define REGAL_NO_ENUM_GL_AMD_DEPTH_CLAMP_SEPARATE\n#endif\n\n#if (defined(GL_AMD_DEPTH_CLAMP_SEPARATE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_AMD_DEPTH_CLAMP_SEPARATE)) && !defined(REGAL_NO_TYPEDEF_GL_AMD_DEPTH_CLAMP_SEPARATE)\n#define REGAL_NO_TYPEDEF_GL_AMD_DEPTH_CLAMP_SEPARATE\n#endif\n\n#if (defined(GL_AMD_DEPTH_CLAMP_SEPARATE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_AMD_DEPTH_CLAMP_SEPARATE)) && !defined(REGAL_NO_NAMESPACE_GL_AMD_DEPTH_CLAMP_SEPARATE)\n#define REGAL_NO_NAMESPACE_GL_AMD_DEPTH_CLAMP_SEPARATE\n#endif\n\n#if (defined(GL_AMD_DEPTH_CLAMP_SEPARATE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_AMD_DEPTH_CLAMP_SEPARATE)) && !defined(REGAL_NO_PLUGIN_GL_AMD_DEPTH_CLAMP_SEPARATE)\n#define REGAL_NO_PLUGIN_GL_AMD_DEPTH_CLAMP_SEPARATE\n#endif\n\n#if (defined(GL_AMD_DEPTH_CLAMP_SEPARATE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_AMD_DEPTH_CLAMP_SEPARATE)) && !defined(REGAL_NO_DECLARATION_GL_AMD_DEPTH_CLAMP_SEPARATE)\n#define REGAL_NO_DECLARATION_GL_AMD_DEPTH_CLAMP_SEPARATE\n#endif\n\n#ifndef GL_AMD_depth_clamp_separate\n#define GL_AMD_depth_clamp_separate 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_AMD_DEPTH_CLAMP_SEPARATE\n#define GL_DEPTH_CLAMP_NEAR_AMD 0x901e     /* 36894 */\n#define GL_DEPTH_CLAMP_FAR_AMD  0x901f     /* 36895 */\n#endif\n\n/**\n ** GL_AMD_draw_buffers_blend\n **/\n\n#if (defined(GL_AMD_DRAW_BUFFERS_BLEND) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_AMD_DRAW_BUFFERS_BLEND)) && !defined(REGAL_NO_ENUM_GL_AMD_DRAW_BUFFERS_BLEND)\n#define REGAL_NO_ENUM_GL_AMD_DRAW_BUFFERS_BLEND\n#endif\n\n#if (defined(GL_AMD_DRAW_BUFFERS_BLEND) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_AMD_DRAW_BUFFERS_BLEND)) && !defined(REGAL_NO_TYPEDEF_GL_AMD_DRAW_BUFFERS_BLEND)\n#define REGAL_NO_TYPEDEF_GL_AMD_DRAW_BUFFERS_BLEND\n#endif\n\n#if (defined(GL_AMD_DRAW_BUFFERS_BLEND) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_AMD_DRAW_BUFFERS_BLEND)) && !defined(REGAL_NO_NAMESPACE_GL_AMD_DRAW_BUFFERS_BLEND)\n#define REGAL_NO_NAMESPACE_GL_AMD_DRAW_BUFFERS_BLEND\n#endif\n\n#if (defined(GL_AMD_DRAW_BUFFERS_BLEND) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_AMD_DRAW_BUFFERS_BLEND)) && !defined(REGAL_NO_PLUGIN_GL_AMD_DRAW_BUFFERS_BLEND)\n#define REGAL_NO_PLUGIN_GL_AMD_DRAW_BUFFERS_BLEND\n#endif\n\n#if (defined(GL_AMD_DRAW_BUFFERS_BLEND) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_AMD_DRAW_BUFFERS_BLEND)) && !defined(REGAL_NO_DECLARATION_GL_AMD_DRAW_BUFFERS_BLEND)\n#define REGAL_NO_DECLARATION_GL_AMD_DRAW_BUFFERS_BLEND\n#endif\n\n#ifndef GL_AMD_draw_buffers_blend\n#define GL_AMD_draw_buffers_blend 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_AMD_DRAW_BUFFERS_BLEND\ntypedef void (REGAL_CALL *PFNGLBLENDEQUATIONINDEXEDAMDPROC)(GLuint buf, GLenum mode);\ntypedef void (REGAL_CALL *PFNGLBLENDEQUATIONSEPARATEINDEXEDAMDPROC)(GLuint buf, GLenum modeRGB, GLenum modeAlpha);\ntypedef void (REGAL_CALL *PFNGLBLENDFUNCINDEXEDAMDPROC)(GLuint buf, GLenum src, GLenum dst);\ntypedef void (REGAL_CALL *PFNGLBLENDFUNCSEPARATEINDEXEDAMDPROC)(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_AMD_DRAW_BUFFERS_BLEND\n#define glBlendEquationIndexedAMD           rglBlendEquationIndexedAMD\n#define glBlendEquationSeparateIndexedAMD   rglBlendEquationSeparateIndexedAMD\n#define glBlendFuncIndexedAMD               rglBlendFuncIndexedAMD\n#define glBlendFuncSeparateIndexedAMD       rglBlendFuncSeparateIndexedAMD\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_AMD_DRAW_BUFFERS_BLEND\nREGAL_DECL void REGAL_CALL glBlendEquationIndexedAMD(GLuint buf, GLenum mode);\nREGAL_DECL void REGAL_CALL glBlendEquationSeparateIndexedAMD(GLuint buf, GLenum modeRGB, GLenum modeAlpha);\nREGAL_DECL void REGAL_CALL glBlendFuncIndexedAMD(GLuint buf, GLenum src, GLenum dst);\nREGAL_DECL void REGAL_CALL glBlendFuncSeparateIndexedAMD(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_AMD_DRAW_BUFFERS_BLEND\nREGAL_DECL void REGAL_CALL plugin_glBlendEquationIndexedAMD(GLuint buf, GLenum mode);\nREGAL_DECL void REGAL_CALL plugin_glBlendEquationSeparateIndexedAMD(GLuint buf, GLenum modeRGB, GLenum modeAlpha);\nREGAL_DECL void REGAL_CALL plugin_glBlendFuncIndexedAMD(GLuint buf, GLenum src, GLenum dst);\nREGAL_DECL void REGAL_CALL plugin_glBlendFuncSeparateIndexedAMD(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);\n#endif\n\n/**\n ** GL_AMD_interleaved_elements\n **/\n\n#if (defined(GL_AMD_INTERLEAVED_ELEMENTS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_AMD_INTERLEAVED_ELEMENTS)) && !defined(REGAL_NO_ENUM_GL_AMD_INTERLEAVED_ELEMENTS)\n#define REGAL_NO_ENUM_GL_AMD_INTERLEAVED_ELEMENTS\n#endif\n\n#if (defined(GL_AMD_INTERLEAVED_ELEMENTS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_AMD_INTERLEAVED_ELEMENTS)) && !defined(REGAL_NO_TYPEDEF_GL_AMD_INTERLEAVED_ELEMENTS)\n#define REGAL_NO_TYPEDEF_GL_AMD_INTERLEAVED_ELEMENTS\n#endif\n\n#if (defined(GL_AMD_INTERLEAVED_ELEMENTS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_AMD_INTERLEAVED_ELEMENTS)) && !defined(REGAL_NO_NAMESPACE_GL_AMD_INTERLEAVED_ELEMENTS)\n#define REGAL_NO_NAMESPACE_GL_AMD_INTERLEAVED_ELEMENTS\n#endif\n\n#if (defined(GL_AMD_INTERLEAVED_ELEMENTS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_AMD_INTERLEAVED_ELEMENTS)) && !defined(REGAL_NO_PLUGIN_GL_AMD_INTERLEAVED_ELEMENTS)\n#define REGAL_NO_PLUGIN_GL_AMD_INTERLEAVED_ELEMENTS\n#endif\n\n#if (defined(GL_AMD_INTERLEAVED_ELEMENTS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_AMD_INTERLEAVED_ELEMENTS)) && !defined(REGAL_NO_DECLARATION_GL_AMD_INTERLEAVED_ELEMENTS)\n#define REGAL_NO_DECLARATION_GL_AMD_INTERLEAVED_ELEMENTS\n#endif\n\n#ifndef GL_AMD_interleaved_elements\n#define GL_AMD_interleaved_elements 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_AMD_INTERLEAVED_ELEMENTS\n#define GL_VERTEX_ELEMENT_SWIZZLE_AMD 0x91a4     /* 37284 */\n#define GL_VERTEX_ID_SWIZZLE_AMD      0x91a5     /* 37285 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_AMD_INTERLEAVED_ELEMENTS\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBPARAMETERIAMDPROC)(GLuint index, GLenum pname, GLint param);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_AMD_INTERLEAVED_ELEMENTS\n#define glVertexAttribParameteriAMD         rglVertexAttribParameteriAMD\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_AMD_INTERLEAVED_ELEMENTS\nREGAL_DECL void REGAL_CALL glVertexAttribParameteriAMD(GLuint index, GLenum pname, GLint param);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_AMD_INTERLEAVED_ELEMENTS\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribParameteriAMD(GLuint index, GLenum pname, GLint param);\n#endif\n\n/**\n ** GL_AMD_multi_draw_indirect\n **/\n\n#if (defined(GL_AMD_MULTI_DRAW_INDIRECT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_AMD_MULTI_DRAW_INDIRECT)) && !defined(REGAL_NO_ENUM_GL_AMD_MULTI_DRAW_INDIRECT)\n#define REGAL_NO_ENUM_GL_AMD_MULTI_DRAW_INDIRECT\n#endif\n\n#if (defined(GL_AMD_MULTI_DRAW_INDIRECT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_AMD_MULTI_DRAW_INDIRECT)) && !defined(REGAL_NO_TYPEDEF_GL_AMD_MULTI_DRAW_INDIRECT)\n#define REGAL_NO_TYPEDEF_GL_AMD_MULTI_DRAW_INDIRECT\n#endif\n\n#if (defined(GL_AMD_MULTI_DRAW_INDIRECT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_AMD_MULTI_DRAW_INDIRECT)) && !defined(REGAL_NO_NAMESPACE_GL_AMD_MULTI_DRAW_INDIRECT)\n#define REGAL_NO_NAMESPACE_GL_AMD_MULTI_DRAW_INDIRECT\n#endif\n\n#if (defined(GL_AMD_MULTI_DRAW_INDIRECT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_AMD_MULTI_DRAW_INDIRECT)) && !defined(REGAL_NO_PLUGIN_GL_AMD_MULTI_DRAW_INDIRECT)\n#define REGAL_NO_PLUGIN_GL_AMD_MULTI_DRAW_INDIRECT\n#endif\n\n#if (defined(GL_AMD_MULTI_DRAW_INDIRECT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_AMD_MULTI_DRAW_INDIRECT)) && !defined(REGAL_NO_DECLARATION_GL_AMD_MULTI_DRAW_INDIRECT)\n#define REGAL_NO_DECLARATION_GL_AMD_MULTI_DRAW_INDIRECT\n#endif\n\n#ifndef GL_AMD_multi_draw_indirect\n#define GL_AMD_multi_draw_indirect 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_AMD_MULTI_DRAW_INDIRECT\ntypedef void (REGAL_CALL *PFNGLMULTIDRAWARRAYSINDIRECTAMDPROC)(GLenum mode, const GLvoid *indirect, GLsizei primcount, GLsizei stride);\ntypedef void (REGAL_CALL *PFNGLMULTIDRAWELEMENTSINDIRECTAMDPROC)(GLenum mode, GLenum type, const GLvoid *indirect, GLsizei primcount, GLsizei stride);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_AMD_MULTI_DRAW_INDIRECT\n#define glMultiDrawArraysIndirectAMD        rglMultiDrawArraysIndirectAMD\n#define glMultiDrawElementsIndirectAMD      rglMultiDrawElementsIndirectAMD\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_AMD_MULTI_DRAW_INDIRECT\nREGAL_DECL void REGAL_CALL glMultiDrawArraysIndirectAMD(GLenum mode, const GLvoid *indirect, GLsizei primcount, GLsizei stride);\nREGAL_DECL void REGAL_CALL glMultiDrawElementsIndirectAMD(GLenum mode, GLenum type, const GLvoid *indirect, GLsizei primcount, GLsizei stride);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_AMD_MULTI_DRAW_INDIRECT\nREGAL_DECL void REGAL_CALL plugin_glMultiDrawArraysIndirectAMD(GLenum mode, const GLvoid *indirect, GLsizei primcount, GLsizei stride);\nREGAL_DECL void REGAL_CALL plugin_glMultiDrawElementsIndirectAMD(GLenum mode, GLenum type, const GLvoid *indirect, GLsizei primcount, GLsizei stride);\n#endif\n\n/**\n ** GL_AMD_name_gen_delete\n **/\n\n#if (defined(GL_AMD_NAME_GEN_DELETE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_AMD_NAME_GEN_DELETE)) && !defined(REGAL_NO_ENUM_GL_AMD_NAME_GEN_DELETE)\n#define REGAL_NO_ENUM_GL_AMD_NAME_GEN_DELETE\n#endif\n\n#if (defined(GL_AMD_NAME_GEN_DELETE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_AMD_NAME_GEN_DELETE)) && !defined(REGAL_NO_TYPEDEF_GL_AMD_NAME_GEN_DELETE)\n#define REGAL_NO_TYPEDEF_GL_AMD_NAME_GEN_DELETE\n#endif\n\n#if (defined(GL_AMD_NAME_GEN_DELETE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_AMD_NAME_GEN_DELETE)) && !defined(REGAL_NO_NAMESPACE_GL_AMD_NAME_GEN_DELETE)\n#define REGAL_NO_NAMESPACE_GL_AMD_NAME_GEN_DELETE\n#endif\n\n#if (defined(GL_AMD_NAME_GEN_DELETE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_AMD_NAME_GEN_DELETE)) && !defined(REGAL_NO_PLUGIN_GL_AMD_NAME_GEN_DELETE)\n#define REGAL_NO_PLUGIN_GL_AMD_NAME_GEN_DELETE\n#endif\n\n#if (defined(GL_AMD_NAME_GEN_DELETE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_AMD_NAME_GEN_DELETE)) && !defined(REGAL_NO_DECLARATION_GL_AMD_NAME_GEN_DELETE)\n#define REGAL_NO_DECLARATION_GL_AMD_NAME_GEN_DELETE\n#endif\n\n#ifndef GL_AMD_name_gen_delete\n#define GL_AMD_name_gen_delete 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_AMD_NAME_GEN_DELETE\n#define GL_DATA_BUFFER_AMD         0x9151     /* 37201 */\n#define GL_PERFORMANCE_MONITOR_AMD 0x9152     /* 37202 */\n#define GL_QUERY_OBJECT_AMD        0x9153     /* 37203 */\n#define GL_VERTEX_ARRAY_OBJECT_AMD 0x9154     /* 37204 */\n#define GL_SAMPLER_OBJECT_AMD      0x9155     /* 37205 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_AMD_NAME_GEN_DELETE\ntypedef GLboolean (REGAL_CALL *PFNGLISNAMEAMDPROC)(GLenum identifier, GLuint name);\ntypedef void (REGAL_CALL *PFNGLDELETENAMESAMDPROC)(GLenum identifier, GLuint num, const GLuint *names);\ntypedef void (REGAL_CALL *PFNGLGENNAMESAMDPROC)(GLenum identifier, GLuint num, GLuint *names);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_AMD_NAME_GEN_DELETE\n#define glDeleteNamesAMD                    rglDeleteNamesAMD\n#define glGenNamesAMD                       rglGenNamesAMD\n#define glIsNameAMD                         rglIsNameAMD\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_AMD_NAME_GEN_DELETE\nREGAL_DECL GLboolean REGAL_CALL glIsNameAMD(GLenum identifier, GLuint name);\nREGAL_DECL void REGAL_CALL glDeleteNamesAMD(GLenum identifier, GLuint num, const GLuint *names);\nREGAL_DECL void REGAL_CALL glGenNamesAMD(GLenum identifier, GLuint num, GLuint *names);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_AMD_NAME_GEN_DELETE\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsNameAMD(GLenum identifier, GLuint name);\nREGAL_DECL void REGAL_CALL plugin_glDeleteNamesAMD(GLenum identifier, GLuint num, const GLuint *names);\nREGAL_DECL void REGAL_CALL plugin_glGenNamesAMD(GLenum identifier, GLuint num, GLuint *names);\n#endif\n\n/**\n ** GL_AMD_performance_monitor\n **/\n\n#if (defined(GL_AMD_PERFORMANCE_MONITOR) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_AMD_PERFORMANCE_MONITOR)) && !defined(REGAL_NO_ENUM_GL_AMD_PERFORMANCE_MONITOR)\n#define REGAL_NO_ENUM_GL_AMD_PERFORMANCE_MONITOR\n#endif\n\n#if (defined(GL_AMD_PERFORMANCE_MONITOR) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_AMD_PERFORMANCE_MONITOR)) && !defined(REGAL_NO_TYPEDEF_GL_AMD_PERFORMANCE_MONITOR)\n#define REGAL_NO_TYPEDEF_GL_AMD_PERFORMANCE_MONITOR\n#endif\n\n#if (defined(GL_AMD_PERFORMANCE_MONITOR) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_AMD_PERFORMANCE_MONITOR)) && !defined(REGAL_NO_NAMESPACE_GL_AMD_PERFORMANCE_MONITOR)\n#define REGAL_NO_NAMESPACE_GL_AMD_PERFORMANCE_MONITOR\n#endif\n\n#if (defined(GL_AMD_PERFORMANCE_MONITOR) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_AMD_PERFORMANCE_MONITOR)) && !defined(REGAL_NO_PLUGIN_GL_AMD_PERFORMANCE_MONITOR)\n#define REGAL_NO_PLUGIN_GL_AMD_PERFORMANCE_MONITOR\n#endif\n\n#if (defined(GL_AMD_PERFORMANCE_MONITOR) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_AMD_PERFORMANCE_MONITOR)) && !defined(REGAL_NO_DECLARATION_GL_AMD_PERFORMANCE_MONITOR)\n#define REGAL_NO_DECLARATION_GL_AMD_PERFORMANCE_MONITOR\n#endif\n\n#ifndef GL_AMD_performance_monitor\n#define GL_AMD_performance_monitor 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_AMD_PERFORMANCE_MONITOR\n#define GL_COUNTER_TYPE_AMD             0x8bc0     /* 35776 */\n#define GL_COUNTER_RANGE_AMD            0x8bc1     /* 35777 */\n#define GL_UNSIGNED_INT64_AMD           0x8bc2     /* 35778 */\n#define GL_PERCENTAGE_AMD               0x8bc3     /* 35779 */\n#define GL_PERFMON_RESULT_AVAILABLE_AMD 0x8bc4     /* 35780 */\n#define GL_PERFMON_RESULT_SIZE_AMD      0x8bc5     /* 35781 */\n#define GL_PERFMON_RESULT_AMD           0x8bc6     /* 35782 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_AMD_PERFORMANCE_MONITOR\ntypedef void (REGAL_CALL *PFNGLBEGINPERFMONITORAMDPROC)(GLuint monitor);\ntypedef void (REGAL_CALL *PFNGLDELETEPERFMONITORSAMDPROC)(GLsizei n, GLuint *monitors);\ntypedef void (REGAL_CALL *PFNGLENDPERFMONITORAMDPROC)(GLuint monitor);\ntypedef void (REGAL_CALL *PFNGLGENPERFMONITORSAMDPROC)(GLsizei n, GLuint *monitors);\ntypedef void (REGAL_CALL *PFNGLGETPERFMONITORCOUNTERDATAAMDPROC)(GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);\ntypedef void (REGAL_CALL *PFNGLGETPERFMONITORCOUNTERINFOAMDPROC)(GLuint group, GLuint counter, GLenum pname, GLvoid *data);\ntypedef void (REGAL_CALL *PFNGLGETPERFMONITORCOUNTERSAMDPROC)(GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei countersSize, GLuint *counters);\ntypedef void (REGAL_CALL *PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC)(GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);\ntypedef void (REGAL_CALL *PFNGLGETPERFMONITORGROUPSAMDPROC)(GLint *numGroups, GLsizei groupsSize, GLuint *groups);\ntypedef void (REGAL_CALL *PFNGLGETPERFMONITORGROUPSTRINGAMDPROC)(GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);\ntypedef void (REGAL_CALL *PFNGLSELECTPERFMONITORCOUNTERSAMDPROC)(GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *counterList);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_AMD_PERFORMANCE_MONITOR\n#define glBeginPerfMonitorAMD               rglBeginPerfMonitorAMD\n#define glDeletePerfMonitorsAMD             rglDeletePerfMonitorsAMD\n#define glEndPerfMonitorAMD                 rglEndPerfMonitorAMD\n#define glGenPerfMonitorsAMD                rglGenPerfMonitorsAMD\n#define glGetPerfMonitorCounterDataAMD      rglGetPerfMonitorCounterDataAMD\n#define glGetPerfMonitorCounterInfoAMD      rglGetPerfMonitorCounterInfoAMD\n#define glGetPerfMonitorCounterStringAMD    rglGetPerfMonitorCounterStringAMD\n#define glGetPerfMonitorCountersAMD         rglGetPerfMonitorCountersAMD\n#define glGetPerfMonitorGroupStringAMD      rglGetPerfMonitorGroupStringAMD\n#define glGetPerfMonitorGroupsAMD           rglGetPerfMonitorGroupsAMD\n#define glSelectPerfMonitorCountersAMD      rglSelectPerfMonitorCountersAMD\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_AMD_PERFORMANCE_MONITOR\nREGAL_DECL void REGAL_CALL glBeginPerfMonitorAMD(GLuint monitor);\nREGAL_DECL void REGAL_CALL glDeletePerfMonitorsAMD(GLsizei n, GLuint *monitors);\nREGAL_DECL void REGAL_CALL glEndPerfMonitorAMD(GLuint monitor);\nREGAL_DECL void REGAL_CALL glGenPerfMonitorsAMD(GLsizei n, GLuint *monitors);\nREGAL_DECL void REGAL_CALL glGetPerfMonitorCounterDataAMD(GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);\nREGAL_DECL void REGAL_CALL glGetPerfMonitorCounterInfoAMD(GLuint group, GLuint counter, GLenum pname, GLvoid *data);\nREGAL_DECL void REGAL_CALL glGetPerfMonitorCounterStringAMD(GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);\nREGAL_DECL void REGAL_CALL glGetPerfMonitorCountersAMD(GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei countersSize, GLuint *counters);\nREGAL_DECL void REGAL_CALL glGetPerfMonitorGroupStringAMD(GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);\nREGAL_DECL void REGAL_CALL glGetPerfMonitorGroupsAMD(GLint *numGroups, GLsizei groupsSize, GLuint *groups);\nREGAL_DECL void REGAL_CALL glSelectPerfMonitorCountersAMD(GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *counterList);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_AMD_PERFORMANCE_MONITOR\nREGAL_DECL void REGAL_CALL plugin_glBeginPerfMonitorAMD(GLuint monitor);\nREGAL_DECL void REGAL_CALL plugin_glDeletePerfMonitorsAMD(GLsizei n, GLuint *monitors);\nREGAL_DECL void REGAL_CALL plugin_glEndPerfMonitorAMD(GLuint monitor);\nREGAL_DECL void REGAL_CALL plugin_glGenPerfMonitorsAMD(GLsizei n, GLuint *monitors);\nREGAL_DECL void REGAL_CALL plugin_glGetPerfMonitorCounterDataAMD(GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);\nREGAL_DECL void REGAL_CALL plugin_glGetPerfMonitorCounterInfoAMD(GLuint group, GLuint counter, GLenum pname, GLvoid *data);\nREGAL_DECL void REGAL_CALL plugin_glGetPerfMonitorCounterStringAMD(GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);\nREGAL_DECL void REGAL_CALL plugin_glGetPerfMonitorCountersAMD(GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei countersSize, GLuint *counters);\nREGAL_DECL void REGAL_CALL plugin_glGetPerfMonitorGroupStringAMD(GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);\nREGAL_DECL void REGAL_CALL plugin_glGetPerfMonitorGroupsAMD(GLint *numGroups, GLsizei groupsSize, GLuint *groups);\nREGAL_DECL void REGAL_CALL plugin_glSelectPerfMonitorCountersAMD(GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *counterList);\n#endif\n\n/**\n ** GL_AMD_pinned_memory\n **/\n\n#if (defined(GL_AMD_PINNED_MEMORY) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_AMD_PINNED_MEMORY)) && !defined(REGAL_NO_ENUM_GL_AMD_PINNED_MEMORY)\n#define REGAL_NO_ENUM_GL_AMD_PINNED_MEMORY\n#endif\n\n#if (defined(GL_AMD_PINNED_MEMORY) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_AMD_PINNED_MEMORY)) && !defined(REGAL_NO_TYPEDEF_GL_AMD_PINNED_MEMORY)\n#define REGAL_NO_TYPEDEF_GL_AMD_PINNED_MEMORY\n#endif\n\n#if (defined(GL_AMD_PINNED_MEMORY) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_AMD_PINNED_MEMORY)) && !defined(REGAL_NO_NAMESPACE_GL_AMD_PINNED_MEMORY)\n#define REGAL_NO_NAMESPACE_GL_AMD_PINNED_MEMORY\n#endif\n\n#if (defined(GL_AMD_PINNED_MEMORY) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_AMD_PINNED_MEMORY)) && !defined(REGAL_NO_PLUGIN_GL_AMD_PINNED_MEMORY)\n#define REGAL_NO_PLUGIN_GL_AMD_PINNED_MEMORY\n#endif\n\n#if (defined(GL_AMD_PINNED_MEMORY) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_AMD_PINNED_MEMORY)) && !defined(REGAL_NO_DECLARATION_GL_AMD_PINNED_MEMORY)\n#define REGAL_NO_DECLARATION_GL_AMD_PINNED_MEMORY\n#endif\n\n#ifndef GL_AMD_pinned_memory\n#define GL_AMD_pinned_memory 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_AMD_PINNED_MEMORY\n#define GL_EXTERNAL_VIRTUAL_MEMORY_BUFFER_AMD 0x9160 /* 37216 */\n#endif\n\n/**\n ** GL_AMD_program_binary_Z400\n **/\n\n#if (defined(GL_AMD_PROGRAM_BINARY_Z400) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_AMD_PROGRAM_BINARY_Z400)) && !defined(REGAL_NO_ENUM_GL_AMD_PROGRAM_BINARY_Z400)\n#define REGAL_NO_ENUM_GL_AMD_PROGRAM_BINARY_Z400\n#endif\n\n#if (defined(GL_AMD_PROGRAM_BINARY_Z400) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_AMD_PROGRAM_BINARY_Z400)) && !defined(REGAL_NO_TYPEDEF_GL_AMD_PROGRAM_BINARY_Z400)\n#define REGAL_NO_TYPEDEF_GL_AMD_PROGRAM_BINARY_Z400\n#endif\n\n#if (defined(GL_AMD_PROGRAM_BINARY_Z400) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_AMD_PROGRAM_BINARY_Z400)) && !defined(REGAL_NO_NAMESPACE_GL_AMD_PROGRAM_BINARY_Z400)\n#define REGAL_NO_NAMESPACE_GL_AMD_PROGRAM_BINARY_Z400\n#endif\n\n#if (defined(GL_AMD_PROGRAM_BINARY_Z400) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_AMD_PROGRAM_BINARY_Z400)) && !defined(REGAL_NO_PLUGIN_GL_AMD_PROGRAM_BINARY_Z400)\n#define REGAL_NO_PLUGIN_GL_AMD_PROGRAM_BINARY_Z400\n#endif\n\n#if (defined(GL_AMD_PROGRAM_BINARY_Z400) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_AMD_PROGRAM_BINARY_Z400)) && !defined(REGAL_NO_DECLARATION_GL_AMD_PROGRAM_BINARY_Z400)\n#define REGAL_NO_DECLARATION_GL_AMD_PROGRAM_BINARY_Z400\n#endif\n\n#ifndef GL_AMD_program_binary_Z400\n#define GL_AMD_program_binary_Z400 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_AMD_PROGRAM_BINARY_Z400\n#define GL_Z400_BINARY_AMD 0x8740 /* 34624 */\n#endif\n\n/**\n ** GL_AMD_query_buffer_object\n **/\n\n#if (defined(GL_AMD_QUERY_BUFFER_OBJECT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_AMD_QUERY_BUFFER_OBJECT)) && !defined(REGAL_NO_ENUM_GL_AMD_QUERY_BUFFER_OBJECT)\n#define REGAL_NO_ENUM_GL_AMD_QUERY_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_AMD_QUERY_BUFFER_OBJECT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_AMD_QUERY_BUFFER_OBJECT)) && !defined(REGAL_NO_TYPEDEF_GL_AMD_QUERY_BUFFER_OBJECT)\n#define REGAL_NO_TYPEDEF_GL_AMD_QUERY_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_AMD_QUERY_BUFFER_OBJECT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_AMD_QUERY_BUFFER_OBJECT)) && !defined(REGAL_NO_NAMESPACE_GL_AMD_QUERY_BUFFER_OBJECT)\n#define REGAL_NO_NAMESPACE_GL_AMD_QUERY_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_AMD_QUERY_BUFFER_OBJECT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_AMD_QUERY_BUFFER_OBJECT)) && !defined(REGAL_NO_PLUGIN_GL_AMD_QUERY_BUFFER_OBJECT)\n#define REGAL_NO_PLUGIN_GL_AMD_QUERY_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_AMD_QUERY_BUFFER_OBJECT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_AMD_QUERY_BUFFER_OBJECT)) && !defined(REGAL_NO_DECLARATION_GL_AMD_QUERY_BUFFER_OBJECT)\n#define REGAL_NO_DECLARATION_GL_AMD_QUERY_BUFFER_OBJECT\n#endif\n\n#ifndef GL_AMD_query_buffer_object\n#define GL_AMD_query_buffer_object 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_AMD_QUERY_BUFFER_OBJECT\n#define GL_QUERY_BUFFER_AMD         0x9192     /* 37266 */\n#define GL_QUERY_BUFFER_BINDING_AMD 0x9193     /* 37267 */\n#define GL_QUERY_RESULT_NO_WAIT_AMD 0x9194     /* 37268 */\n#endif\n\n/**\n ** GL_AMD_sample_positions\n **/\n\n#if (defined(GL_AMD_SAMPLE_POSITIONS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_AMD_SAMPLE_POSITIONS)) && !defined(REGAL_NO_ENUM_GL_AMD_SAMPLE_POSITIONS)\n#define REGAL_NO_ENUM_GL_AMD_SAMPLE_POSITIONS\n#endif\n\n#if (defined(GL_AMD_SAMPLE_POSITIONS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_AMD_SAMPLE_POSITIONS)) && !defined(REGAL_NO_TYPEDEF_GL_AMD_SAMPLE_POSITIONS)\n#define REGAL_NO_TYPEDEF_GL_AMD_SAMPLE_POSITIONS\n#endif\n\n#if (defined(GL_AMD_SAMPLE_POSITIONS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_AMD_SAMPLE_POSITIONS)) && !defined(REGAL_NO_NAMESPACE_GL_AMD_SAMPLE_POSITIONS)\n#define REGAL_NO_NAMESPACE_GL_AMD_SAMPLE_POSITIONS\n#endif\n\n#if (defined(GL_AMD_SAMPLE_POSITIONS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_AMD_SAMPLE_POSITIONS)) && !defined(REGAL_NO_PLUGIN_GL_AMD_SAMPLE_POSITIONS)\n#define REGAL_NO_PLUGIN_GL_AMD_SAMPLE_POSITIONS\n#endif\n\n#if (defined(GL_AMD_SAMPLE_POSITIONS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_AMD_SAMPLE_POSITIONS)) && !defined(REGAL_NO_DECLARATION_GL_AMD_SAMPLE_POSITIONS)\n#define REGAL_NO_DECLARATION_GL_AMD_SAMPLE_POSITIONS\n#endif\n\n#ifndef GL_AMD_sample_positions\n#define GL_AMD_sample_positions 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_AMD_SAMPLE_POSITIONS\n#define GL_SUBSAMPLE_DISTANCE_AMD 0x883f /* 34879 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_AMD_SAMPLE_POSITIONS\ntypedef void (REGAL_CALL *PFNGLSETMULTISAMPLEFVAMDPROC)(GLenum pname, GLuint index, const GLfloat *val);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_AMD_SAMPLE_POSITIONS\n#define glSetMultisamplefvAMD               rglSetMultisamplefvAMD\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_AMD_SAMPLE_POSITIONS\nREGAL_DECL void REGAL_CALL glSetMultisamplefvAMD(GLenum pname, GLuint index, const GLfloat *val);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_AMD_SAMPLE_POSITIONS\nREGAL_DECL void REGAL_CALL plugin_glSetMultisamplefvAMD(GLenum pname, GLuint index, const GLfloat *val);\n#endif\n\n/**\n ** GL_AMD_seamless_cubemap_per_texture\n **/\n\n#if (defined(GL_AMD_SEAMLESS_CUBEMAP_PER_TEXTURE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_AMD_SEAMLESS_CUBEMAP_PER_TEXTURE)) && !defined(REGAL_NO_ENUM_GL_AMD_SEAMLESS_CUBEMAP_PER_TEXTURE)\n#define REGAL_NO_ENUM_GL_AMD_SEAMLESS_CUBEMAP_PER_TEXTURE\n#endif\n\n#if (defined(GL_AMD_SEAMLESS_CUBEMAP_PER_TEXTURE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_AMD_SEAMLESS_CUBEMAP_PER_TEXTURE)) && !defined(REGAL_NO_TYPEDEF_GL_AMD_SEAMLESS_CUBEMAP_PER_TEXTURE)\n#define REGAL_NO_TYPEDEF_GL_AMD_SEAMLESS_CUBEMAP_PER_TEXTURE\n#endif\n\n#if (defined(GL_AMD_SEAMLESS_CUBEMAP_PER_TEXTURE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_AMD_SEAMLESS_CUBEMAP_PER_TEXTURE)) && !defined(REGAL_NO_NAMESPACE_GL_AMD_SEAMLESS_CUBEMAP_PER_TEXTURE)\n#define REGAL_NO_NAMESPACE_GL_AMD_SEAMLESS_CUBEMAP_PER_TEXTURE\n#endif\n\n#if (defined(GL_AMD_SEAMLESS_CUBEMAP_PER_TEXTURE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_AMD_SEAMLESS_CUBEMAP_PER_TEXTURE)) && !defined(REGAL_NO_PLUGIN_GL_AMD_SEAMLESS_CUBEMAP_PER_TEXTURE)\n#define REGAL_NO_PLUGIN_GL_AMD_SEAMLESS_CUBEMAP_PER_TEXTURE\n#endif\n\n#if (defined(GL_AMD_SEAMLESS_CUBEMAP_PER_TEXTURE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_AMD_SEAMLESS_CUBEMAP_PER_TEXTURE)) && !defined(REGAL_NO_DECLARATION_GL_AMD_SEAMLESS_CUBEMAP_PER_TEXTURE)\n#define REGAL_NO_DECLARATION_GL_AMD_SEAMLESS_CUBEMAP_PER_TEXTURE\n#endif\n\n#ifndef GL_AMD_seamless_cubemap_per_texture\n#define GL_AMD_seamless_cubemap_per_texture 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_AMD_SEAMLESS_CUBEMAP_PER_TEXTURE\n#define GL_TEXTURE_CUBE_MAP_SEAMLESS_ARB 0x884f /* 34895 */\n#endif\n\n/**\n ** GL_AMD_sparse_texture\n **/\n\n#if (defined(GL_AMD_SPARSE_TEXTURE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_AMD_SPARSE_TEXTURE)) && !defined(REGAL_NO_ENUM_GL_AMD_SPARSE_TEXTURE)\n#define REGAL_NO_ENUM_GL_AMD_SPARSE_TEXTURE\n#endif\n\n#if (defined(GL_AMD_SPARSE_TEXTURE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_AMD_SPARSE_TEXTURE)) && !defined(REGAL_NO_TYPEDEF_GL_AMD_SPARSE_TEXTURE)\n#define REGAL_NO_TYPEDEF_GL_AMD_SPARSE_TEXTURE\n#endif\n\n#if (defined(GL_AMD_SPARSE_TEXTURE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_AMD_SPARSE_TEXTURE)) && !defined(REGAL_NO_NAMESPACE_GL_AMD_SPARSE_TEXTURE)\n#define REGAL_NO_NAMESPACE_GL_AMD_SPARSE_TEXTURE\n#endif\n\n#if (defined(GL_AMD_SPARSE_TEXTURE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_AMD_SPARSE_TEXTURE)) && !defined(REGAL_NO_PLUGIN_GL_AMD_SPARSE_TEXTURE)\n#define REGAL_NO_PLUGIN_GL_AMD_SPARSE_TEXTURE\n#endif\n\n#if (defined(GL_AMD_SPARSE_TEXTURE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_AMD_SPARSE_TEXTURE)) && !defined(REGAL_NO_DECLARATION_GL_AMD_SPARSE_TEXTURE)\n#define REGAL_NO_DECLARATION_GL_AMD_SPARSE_TEXTURE\n#endif\n\n#ifndef GL_AMD_sparse_texture\n#define GL_AMD_sparse_texture 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_AMD_SPARSE_TEXTURE\n#define GL_TEXTURE_STORAGE_SPARSE_BIT_AMD  0x1\n#define GL_VIRTUAL_PAGE_SIZE_X_AMD         0x9195     /* 37269 */\n#define GL_VIRTUAL_PAGE_SIZE_Y_AMD         0x9196     /* 37270 */\n#define GL_VIRTUAL_PAGE_SIZE_Z_AMD         0x9197     /* 37271 */\n#define GL_MAX_SPARSE_TEXTURE_SIZE_AMD     0x9198     /* 37272 */\n#define GL_MAX_SPARSE_3D_TEXTURE_SIZE_AMD  0x9199     /* 37273 */\n#define GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS 0x919a     /* 37274 */\n#define GL_MIN_SPARSE_LEVEL_AMD            0x919b     /* 37275 */\n#define GL_MIN_LOD_WARNING_AMD             0x919c     /* 37276 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_AMD_SPARSE_TEXTURE\ntypedef void (REGAL_CALL *PFNGLTEXSTORAGESPARSEAMDPROC)(GLenum target, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLsizei layers, GLbitfield flags);\ntypedef void (REGAL_CALL *PFNGLTEXTURESTORAGESPARSEAMDPROC)(GLuint texture, GLenum target, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLsizei layers, GLbitfield flags);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_AMD_SPARSE_TEXTURE\n#define glTexStorageSparseAMD               rglTexStorageSparseAMD\n#define glTextureStorageSparseAMD           rglTextureStorageSparseAMD\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_AMD_SPARSE_TEXTURE\nREGAL_DECL void REGAL_CALL glTexStorageSparseAMD(GLenum target, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLsizei layers, GLbitfield flags);\nREGAL_DECL void REGAL_CALL glTextureStorageSparseAMD(GLuint texture, GLenum target, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLsizei layers, GLbitfield flags);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_AMD_SPARSE_TEXTURE\nREGAL_DECL void REGAL_CALL plugin_glTexStorageSparseAMD(GLenum target, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLsizei layers, GLbitfield flags);\nREGAL_DECL void REGAL_CALL plugin_glTextureStorageSparseAMD(GLuint texture, GLenum target, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLsizei layers, GLbitfield flags);\n#endif\n\n/**\n ** GL_AMD_stencil_operation_extended\n **/\n\n#if (defined(GL_AMD_STENCIL_OPERATION_EXTENDED) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_AMD_STENCIL_OPERATION_EXTENDED)) && !defined(REGAL_NO_ENUM_GL_AMD_STENCIL_OPERATION_EXTENDED)\n#define REGAL_NO_ENUM_GL_AMD_STENCIL_OPERATION_EXTENDED\n#endif\n\n#if (defined(GL_AMD_STENCIL_OPERATION_EXTENDED) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_AMD_STENCIL_OPERATION_EXTENDED)) && !defined(REGAL_NO_TYPEDEF_GL_AMD_STENCIL_OPERATION_EXTENDED)\n#define REGAL_NO_TYPEDEF_GL_AMD_STENCIL_OPERATION_EXTENDED\n#endif\n\n#if (defined(GL_AMD_STENCIL_OPERATION_EXTENDED) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_AMD_STENCIL_OPERATION_EXTENDED)) && !defined(REGAL_NO_NAMESPACE_GL_AMD_STENCIL_OPERATION_EXTENDED)\n#define REGAL_NO_NAMESPACE_GL_AMD_STENCIL_OPERATION_EXTENDED\n#endif\n\n#if (defined(GL_AMD_STENCIL_OPERATION_EXTENDED) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_AMD_STENCIL_OPERATION_EXTENDED)) && !defined(REGAL_NO_PLUGIN_GL_AMD_STENCIL_OPERATION_EXTENDED)\n#define REGAL_NO_PLUGIN_GL_AMD_STENCIL_OPERATION_EXTENDED\n#endif\n\n#if (defined(GL_AMD_STENCIL_OPERATION_EXTENDED) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_AMD_STENCIL_OPERATION_EXTENDED)) && !defined(REGAL_NO_DECLARATION_GL_AMD_STENCIL_OPERATION_EXTENDED)\n#define REGAL_NO_DECLARATION_GL_AMD_STENCIL_OPERATION_EXTENDED\n#endif\n\n#ifndef GL_AMD_stencil_operation_extended\n#define GL_AMD_stencil_operation_extended 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_AMD_STENCIL_OPERATION_EXTENDED\n#define GL_SET_AMD                   0x874a     /* 34634 */\n#define GL_REPLACE_VALUE_AMD         0x874b     /* 34635 */\n#define GL_STENCIL_OP_VALUE_AMD      0x874c     /* 34636 */\n#define GL_STENCIL_BACK_OP_VALUE_AMD 0x874d     /* 34637 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_AMD_STENCIL_OPERATION_EXTENDED\ntypedef void (REGAL_CALL *PFNGLSTENCILOPVALUEAMDPROC)(GLenum face, GLuint value);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_AMD_STENCIL_OPERATION_EXTENDED\n#define glStencilOpValueAMD                 rglStencilOpValueAMD\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_AMD_STENCIL_OPERATION_EXTENDED\nREGAL_DECL void REGAL_CALL glStencilOpValueAMD(GLenum face, GLuint value);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_AMD_STENCIL_OPERATION_EXTENDED\nREGAL_DECL void REGAL_CALL plugin_glStencilOpValueAMD(GLenum face, GLuint value);\n#endif\n\n/**\n ** GL_AMD_vertex_shader_tessellator\n **/\n\n#if (defined(GL_AMD_VERTEX_SHADER_TESSELLATOR) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_AMD_VERTEX_SHADER_TESSELLATOR)) && !defined(REGAL_NO_ENUM_GL_AMD_VERTEX_SHADER_TESSELLATOR)\n#define REGAL_NO_ENUM_GL_AMD_VERTEX_SHADER_TESSELLATOR\n#endif\n\n#if (defined(GL_AMD_VERTEX_SHADER_TESSELLATOR) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_AMD_VERTEX_SHADER_TESSELLATOR)) && !defined(REGAL_NO_TYPEDEF_GL_AMD_VERTEX_SHADER_TESSELLATOR)\n#define REGAL_NO_TYPEDEF_GL_AMD_VERTEX_SHADER_TESSELLATOR\n#endif\n\n#if (defined(GL_AMD_VERTEX_SHADER_TESSELLATOR) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_AMD_VERTEX_SHADER_TESSELLATOR)) && !defined(REGAL_NO_NAMESPACE_GL_AMD_VERTEX_SHADER_TESSELLATOR)\n#define REGAL_NO_NAMESPACE_GL_AMD_VERTEX_SHADER_TESSELLATOR\n#endif\n\n#if (defined(GL_AMD_VERTEX_SHADER_TESSELLATOR) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_AMD_VERTEX_SHADER_TESSELLATOR)) && !defined(REGAL_NO_PLUGIN_GL_AMD_VERTEX_SHADER_TESSELLATOR)\n#define REGAL_NO_PLUGIN_GL_AMD_VERTEX_SHADER_TESSELLATOR\n#endif\n\n#if (defined(GL_AMD_VERTEX_SHADER_TESSELLATOR) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_AMD_VERTEX_SHADER_TESSELLATOR)) && !defined(REGAL_NO_DECLARATION_GL_AMD_VERTEX_SHADER_TESSELLATOR)\n#define REGAL_NO_DECLARATION_GL_AMD_VERTEX_SHADER_TESSELLATOR\n#endif\n\n#ifndef GL_AMD_vertex_shader_tessellator\n#define GL_AMD_vertex_shader_tessellator 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_AMD_VERTEX_SHADER_TESSELLATOR\n#define GL_SAMPLER_BUFFER_AMD              0x9001     /* 36865 */\n#define GL_INT_SAMPLER_BUFFER_AMD          0x9002     /* 36866 */\n#define GL_UNSIGNED_INT_SAMPLER_BUFFER_AMD 0x9003     /* 36867 */\n#define GL_TESSELLATION_MODE_AMD           0x9004     /* 36868 */\n#define GL_TESSELLATION_FACTOR_AMD         0x9005     /* 36869 */\n#define GL_DISCRETE_AMD                    0x9006     /* 36870 */\n#define GL_CONTINUOUS_AMD                  0x9007     /* 36871 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_AMD_VERTEX_SHADER_TESSELLATOR\ntypedef void (REGAL_CALL *PFNGLTESSELLATIONFACTORAMDPROC)(GLfloat factor);\ntypedef void (REGAL_CALL *PFNGLTESSELLATIONMODEAMDPROC)(GLenum mode);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_AMD_VERTEX_SHADER_TESSELLATOR\n#define glTessellationFactorAMD             rglTessellationFactorAMD\n#define glTessellationModeAMD               rglTessellationModeAMD\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_AMD_VERTEX_SHADER_TESSELLATOR\nREGAL_DECL void REGAL_CALL glTessellationFactorAMD(GLfloat factor);\nREGAL_DECL void REGAL_CALL glTessellationModeAMD(GLenum mode);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_AMD_VERTEX_SHADER_TESSELLATOR\nREGAL_DECL void REGAL_CALL plugin_glTessellationFactorAMD(GLfloat factor);\nREGAL_DECL void REGAL_CALL plugin_glTessellationModeAMD(GLenum mode);\n#endif\n\n/**\n ** GL_ANGLE_framebuffer_blit\n **/\n\n#if (defined(GL_ANGLE_FRAMEBUFFER_BLIT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ANGLE_FRAMEBUFFER_BLIT)) && !defined(REGAL_NO_ENUM_GL_ANGLE_FRAMEBUFFER_BLIT)\n#define REGAL_NO_ENUM_GL_ANGLE_FRAMEBUFFER_BLIT\n#endif\n\n#if (defined(GL_ANGLE_FRAMEBUFFER_BLIT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ANGLE_FRAMEBUFFER_BLIT)) && !defined(REGAL_NO_TYPEDEF_GL_ANGLE_FRAMEBUFFER_BLIT)\n#define REGAL_NO_TYPEDEF_GL_ANGLE_FRAMEBUFFER_BLIT\n#endif\n\n#if (defined(GL_ANGLE_FRAMEBUFFER_BLIT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ANGLE_FRAMEBUFFER_BLIT)) && !defined(REGAL_NO_NAMESPACE_GL_ANGLE_FRAMEBUFFER_BLIT)\n#define REGAL_NO_NAMESPACE_GL_ANGLE_FRAMEBUFFER_BLIT\n#endif\n\n#if (defined(GL_ANGLE_FRAMEBUFFER_BLIT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ANGLE_FRAMEBUFFER_BLIT)) && !defined(REGAL_NO_PLUGIN_GL_ANGLE_FRAMEBUFFER_BLIT)\n#define REGAL_NO_PLUGIN_GL_ANGLE_FRAMEBUFFER_BLIT\n#endif\n\n#if (defined(GL_ANGLE_FRAMEBUFFER_BLIT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ANGLE_FRAMEBUFFER_BLIT)) && !defined(REGAL_NO_DECLARATION_GL_ANGLE_FRAMEBUFFER_BLIT)\n#define REGAL_NO_DECLARATION_GL_ANGLE_FRAMEBUFFER_BLIT\n#endif\n\n#ifndef GL_ANGLE_framebuffer_blit\n#define GL_ANGLE_framebuffer_blit 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ANGLE_FRAMEBUFFER_BLIT\n#define GL_DRAW_FRAMEBUFFER_BINDING_ANGLE 0x8ca6     /* 36006 */\n#define GL_READ_FRAMEBUFFER_ANGLE         0x8ca8     /* 36008 */\n#define GL_DRAW_FRAMEBUFFER_ANGLE         0x8ca9     /* 36009 */\n#define GL_READ_FRAMEBUFFER_BINDING_ANGLE 0x8caa     /* 36010 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ANGLE_FRAMEBUFFER_BLIT\ntypedef void (REGAL_CALL *PFNGLBLITFRAMEBUFFERANGLEPROC)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ANGLE_FRAMEBUFFER_BLIT\n#define glBlitFramebufferANGLE              rglBlitFramebufferANGLE\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ANGLE_FRAMEBUFFER_BLIT\nREGAL_DECL void REGAL_CALL glBlitFramebufferANGLE(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ANGLE_FRAMEBUFFER_BLIT\nREGAL_DECL void REGAL_CALL plugin_glBlitFramebufferANGLE(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);\n#endif\n\n/**\n ** GL_ANGLE_framebuffer_multisample\n **/\n\n#if (defined(GL_ANGLE_FRAMEBUFFER_MULTISAMPLE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ANGLE_FRAMEBUFFER_MULTISAMPLE)) && !defined(REGAL_NO_ENUM_GL_ANGLE_FRAMEBUFFER_MULTISAMPLE)\n#define REGAL_NO_ENUM_GL_ANGLE_FRAMEBUFFER_MULTISAMPLE\n#endif\n\n#if (defined(GL_ANGLE_FRAMEBUFFER_MULTISAMPLE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ANGLE_FRAMEBUFFER_MULTISAMPLE)) && !defined(REGAL_NO_TYPEDEF_GL_ANGLE_FRAMEBUFFER_MULTISAMPLE)\n#define REGAL_NO_TYPEDEF_GL_ANGLE_FRAMEBUFFER_MULTISAMPLE\n#endif\n\n#if (defined(GL_ANGLE_FRAMEBUFFER_MULTISAMPLE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ANGLE_FRAMEBUFFER_MULTISAMPLE)) && !defined(REGAL_NO_NAMESPACE_GL_ANGLE_FRAMEBUFFER_MULTISAMPLE)\n#define REGAL_NO_NAMESPACE_GL_ANGLE_FRAMEBUFFER_MULTISAMPLE\n#endif\n\n#if (defined(GL_ANGLE_FRAMEBUFFER_MULTISAMPLE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ANGLE_FRAMEBUFFER_MULTISAMPLE)) && !defined(REGAL_NO_PLUGIN_GL_ANGLE_FRAMEBUFFER_MULTISAMPLE)\n#define REGAL_NO_PLUGIN_GL_ANGLE_FRAMEBUFFER_MULTISAMPLE\n#endif\n\n#if (defined(GL_ANGLE_FRAMEBUFFER_MULTISAMPLE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ANGLE_FRAMEBUFFER_MULTISAMPLE)) && !defined(REGAL_NO_DECLARATION_GL_ANGLE_FRAMEBUFFER_MULTISAMPLE)\n#define REGAL_NO_DECLARATION_GL_ANGLE_FRAMEBUFFER_MULTISAMPLE\n#endif\n\n#ifndef GL_ANGLE_framebuffer_multisample\n#define GL_ANGLE_framebuffer_multisample 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ANGLE_FRAMEBUFFER_MULTISAMPLE\n#define GL_RENDERBUFFER_SAMPLES_ANGLE               0x8cab     /* 36011 */\n#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_ANGLE 0x8d56     /* 36182 */\n#define GL_MAX_SAMPLES_ANGLE                        0x8d57     /* 36183 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ANGLE_FRAMEBUFFER_MULTISAMPLE\ntypedef void (REGAL_CALL *PFNGLRENDERBUFFERSTORAGEMULTISAMPLEANGLEPROC)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ANGLE_FRAMEBUFFER_MULTISAMPLE\n#define glRenderbufferStorageMultisampleANGLE rglRenderbufferStorageMultisampleANGLE\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ANGLE_FRAMEBUFFER_MULTISAMPLE\nREGAL_DECL void REGAL_CALL glRenderbufferStorageMultisampleANGLE(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ANGLE_FRAMEBUFFER_MULTISAMPLE\nREGAL_DECL void REGAL_CALL plugin_glRenderbufferStorageMultisampleANGLE(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);\n#endif\n\n/**\n ** GL_ANGLE_instanced_arrays\n **/\n\n#if (defined(GL_ANGLE_INSTANCED_ARRAYS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ANGLE_INSTANCED_ARRAYS)) && !defined(REGAL_NO_ENUM_GL_ANGLE_INSTANCED_ARRAYS)\n#define REGAL_NO_ENUM_GL_ANGLE_INSTANCED_ARRAYS\n#endif\n\n#if (defined(GL_ANGLE_INSTANCED_ARRAYS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ANGLE_INSTANCED_ARRAYS)) && !defined(REGAL_NO_TYPEDEF_GL_ANGLE_INSTANCED_ARRAYS)\n#define REGAL_NO_TYPEDEF_GL_ANGLE_INSTANCED_ARRAYS\n#endif\n\n#if (defined(GL_ANGLE_INSTANCED_ARRAYS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ANGLE_INSTANCED_ARRAYS)) && !defined(REGAL_NO_NAMESPACE_GL_ANGLE_INSTANCED_ARRAYS)\n#define REGAL_NO_NAMESPACE_GL_ANGLE_INSTANCED_ARRAYS\n#endif\n\n#if (defined(GL_ANGLE_INSTANCED_ARRAYS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ANGLE_INSTANCED_ARRAYS)) && !defined(REGAL_NO_PLUGIN_GL_ANGLE_INSTANCED_ARRAYS)\n#define REGAL_NO_PLUGIN_GL_ANGLE_INSTANCED_ARRAYS\n#endif\n\n#if (defined(GL_ANGLE_INSTANCED_ARRAYS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ANGLE_INSTANCED_ARRAYS)) && !defined(REGAL_NO_DECLARATION_GL_ANGLE_INSTANCED_ARRAYS)\n#define REGAL_NO_DECLARATION_GL_ANGLE_INSTANCED_ARRAYS\n#endif\n\n#ifndef GL_ANGLE_instanced_arrays\n#define GL_ANGLE_instanced_arrays 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ANGLE_INSTANCED_ARRAYS\n#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE 0x88fe /* 35070 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ANGLE_INSTANCED_ARRAYS\ntypedef void (REGAL_CALL *PFNGLDRAWARRAYSINSTANCEDANGLEPROC)(GLenum mode, GLint first, GLsizei count, GLsizei primcount);\ntypedef void (REGAL_CALL *PFNGLDRAWELEMENTSINSTANCEDANGLEPROC)(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBDIVISORANGLEPROC)(GLuint index, GLuint divisor);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ANGLE_INSTANCED_ARRAYS\n#define glDrawArraysInstancedANGLE          rglDrawArraysInstancedANGLE\n#define glDrawElementsInstancedANGLE        rglDrawElementsInstancedANGLE\n#define glVertexAttribDivisorANGLE          rglVertexAttribDivisorANGLE\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ANGLE_INSTANCED_ARRAYS\nREGAL_DECL void REGAL_CALL glDrawArraysInstancedANGLE(GLenum mode, GLint first, GLsizei count, GLsizei primcount);\nREGAL_DECL void REGAL_CALL glDrawElementsInstancedANGLE(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount);\nREGAL_DECL void REGAL_CALL glVertexAttribDivisorANGLE(GLuint index, GLuint divisor);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ANGLE_INSTANCED_ARRAYS\nREGAL_DECL void REGAL_CALL plugin_glDrawArraysInstancedANGLE(GLenum mode, GLint first, GLsizei count, GLsizei primcount);\nREGAL_DECL void REGAL_CALL plugin_glDrawElementsInstancedANGLE(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribDivisorANGLE(GLuint index, GLuint divisor);\n#endif\n\n/**\n ** GL_ANGLE_pack_reverse_row_order\n **/\n\n#if (defined(GL_ANGLE_PACK_REVERSE_ROW_ORDER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ANGLE_PACK_REVERSE_ROW_ORDER)) && !defined(REGAL_NO_ENUM_GL_ANGLE_PACK_REVERSE_ROW_ORDER)\n#define REGAL_NO_ENUM_GL_ANGLE_PACK_REVERSE_ROW_ORDER\n#endif\n\n#if (defined(GL_ANGLE_PACK_REVERSE_ROW_ORDER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ANGLE_PACK_REVERSE_ROW_ORDER)) && !defined(REGAL_NO_TYPEDEF_GL_ANGLE_PACK_REVERSE_ROW_ORDER)\n#define REGAL_NO_TYPEDEF_GL_ANGLE_PACK_REVERSE_ROW_ORDER\n#endif\n\n#if (defined(GL_ANGLE_PACK_REVERSE_ROW_ORDER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ANGLE_PACK_REVERSE_ROW_ORDER)) && !defined(REGAL_NO_NAMESPACE_GL_ANGLE_PACK_REVERSE_ROW_ORDER)\n#define REGAL_NO_NAMESPACE_GL_ANGLE_PACK_REVERSE_ROW_ORDER\n#endif\n\n#if (defined(GL_ANGLE_PACK_REVERSE_ROW_ORDER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ANGLE_PACK_REVERSE_ROW_ORDER)) && !defined(REGAL_NO_PLUGIN_GL_ANGLE_PACK_REVERSE_ROW_ORDER)\n#define REGAL_NO_PLUGIN_GL_ANGLE_PACK_REVERSE_ROW_ORDER\n#endif\n\n#if (defined(GL_ANGLE_PACK_REVERSE_ROW_ORDER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ANGLE_PACK_REVERSE_ROW_ORDER)) && !defined(REGAL_NO_DECLARATION_GL_ANGLE_PACK_REVERSE_ROW_ORDER)\n#define REGAL_NO_DECLARATION_GL_ANGLE_PACK_REVERSE_ROW_ORDER\n#endif\n\n#ifndef GL_ANGLE_pack_reverse_row_order\n#define GL_ANGLE_pack_reverse_row_order 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ANGLE_PACK_REVERSE_ROW_ORDER\n#define GL_PACK_REVERSE_ROW_ORDER_ANGLE 0x93a4 /* 37796 */\n#endif\n\n/**\n ** GL_ANGLE_program_binary\n **/\n\n#if (defined(GL_ANGLE_PROGRAM_BINARY) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ANGLE_PROGRAM_BINARY)) && !defined(REGAL_NO_ENUM_GL_ANGLE_PROGRAM_BINARY)\n#define REGAL_NO_ENUM_GL_ANGLE_PROGRAM_BINARY\n#endif\n\n#if (defined(GL_ANGLE_PROGRAM_BINARY) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ANGLE_PROGRAM_BINARY)) && !defined(REGAL_NO_TYPEDEF_GL_ANGLE_PROGRAM_BINARY)\n#define REGAL_NO_TYPEDEF_GL_ANGLE_PROGRAM_BINARY\n#endif\n\n#if (defined(GL_ANGLE_PROGRAM_BINARY) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ANGLE_PROGRAM_BINARY)) && !defined(REGAL_NO_NAMESPACE_GL_ANGLE_PROGRAM_BINARY)\n#define REGAL_NO_NAMESPACE_GL_ANGLE_PROGRAM_BINARY\n#endif\n\n#if (defined(GL_ANGLE_PROGRAM_BINARY) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ANGLE_PROGRAM_BINARY)) && !defined(REGAL_NO_PLUGIN_GL_ANGLE_PROGRAM_BINARY)\n#define REGAL_NO_PLUGIN_GL_ANGLE_PROGRAM_BINARY\n#endif\n\n#if (defined(GL_ANGLE_PROGRAM_BINARY) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ANGLE_PROGRAM_BINARY)) && !defined(REGAL_NO_DECLARATION_GL_ANGLE_PROGRAM_BINARY)\n#define REGAL_NO_DECLARATION_GL_ANGLE_PROGRAM_BINARY\n#endif\n\n#ifndef GL_ANGLE_program_binary\n#define GL_ANGLE_program_binary 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ANGLE_PROGRAM_BINARY\n#define GL_PROGRAM_BINARY_ANGLE 0x93a6 /* 37798 */\n#endif\n\n/**\n ** GL_ANGLE_texture_compression_dxt1\n **/\n\n#if (defined(GL_ANGLE_TEXTURE_COMPRESSION_DXT1) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ANGLE_TEXTURE_COMPRESSION_DXT1)) && !defined(REGAL_NO_ENUM_GL_ANGLE_TEXTURE_COMPRESSION_DXT1)\n#define REGAL_NO_ENUM_GL_ANGLE_TEXTURE_COMPRESSION_DXT1\n#endif\n\n#if (defined(GL_ANGLE_TEXTURE_COMPRESSION_DXT1) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ANGLE_TEXTURE_COMPRESSION_DXT1)) && !defined(REGAL_NO_TYPEDEF_GL_ANGLE_TEXTURE_COMPRESSION_DXT1)\n#define REGAL_NO_TYPEDEF_GL_ANGLE_TEXTURE_COMPRESSION_DXT1\n#endif\n\n#if (defined(GL_ANGLE_TEXTURE_COMPRESSION_DXT1) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ANGLE_TEXTURE_COMPRESSION_DXT1)) && !defined(REGAL_NO_NAMESPACE_GL_ANGLE_TEXTURE_COMPRESSION_DXT1)\n#define REGAL_NO_NAMESPACE_GL_ANGLE_TEXTURE_COMPRESSION_DXT1\n#endif\n\n#if (defined(GL_ANGLE_TEXTURE_COMPRESSION_DXT1) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ANGLE_TEXTURE_COMPRESSION_DXT1)) && !defined(REGAL_NO_PLUGIN_GL_ANGLE_TEXTURE_COMPRESSION_DXT1)\n#define REGAL_NO_PLUGIN_GL_ANGLE_TEXTURE_COMPRESSION_DXT1\n#endif\n\n#if (defined(GL_ANGLE_TEXTURE_COMPRESSION_DXT1) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ANGLE_TEXTURE_COMPRESSION_DXT1)) && !defined(REGAL_NO_DECLARATION_GL_ANGLE_TEXTURE_COMPRESSION_DXT1)\n#define REGAL_NO_DECLARATION_GL_ANGLE_TEXTURE_COMPRESSION_DXT1\n#endif\n\n#ifndef GL_ANGLE_texture_compression_dxt1\n#define GL_ANGLE_texture_compression_dxt1 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ANGLE_TEXTURE_COMPRESSION_DXT1\n#define GL_COMPRESSED_RGB_S3TC_DXT1_ANGLE  0x83f0     /* 33776 */\n#define GL_COMPRESSED_RGBA_S3TC_DXT1_ANGLE 0x83f1     /* 33777 */\n#endif\n\n/**\n ** GL_ANGLE_texture_compression_dxt3\n **/\n\n#if (defined(GL_ANGLE_TEXTURE_COMPRESSION_DXT3) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ANGLE_TEXTURE_COMPRESSION_DXT3)) && !defined(REGAL_NO_ENUM_GL_ANGLE_TEXTURE_COMPRESSION_DXT3)\n#define REGAL_NO_ENUM_GL_ANGLE_TEXTURE_COMPRESSION_DXT3\n#endif\n\n#if (defined(GL_ANGLE_TEXTURE_COMPRESSION_DXT3) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ANGLE_TEXTURE_COMPRESSION_DXT3)) && !defined(REGAL_NO_TYPEDEF_GL_ANGLE_TEXTURE_COMPRESSION_DXT3)\n#define REGAL_NO_TYPEDEF_GL_ANGLE_TEXTURE_COMPRESSION_DXT3\n#endif\n\n#if (defined(GL_ANGLE_TEXTURE_COMPRESSION_DXT3) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ANGLE_TEXTURE_COMPRESSION_DXT3)) && !defined(REGAL_NO_NAMESPACE_GL_ANGLE_TEXTURE_COMPRESSION_DXT3)\n#define REGAL_NO_NAMESPACE_GL_ANGLE_TEXTURE_COMPRESSION_DXT3\n#endif\n\n#if (defined(GL_ANGLE_TEXTURE_COMPRESSION_DXT3) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ANGLE_TEXTURE_COMPRESSION_DXT3)) && !defined(REGAL_NO_PLUGIN_GL_ANGLE_TEXTURE_COMPRESSION_DXT3)\n#define REGAL_NO_PLUGIN_GL_ANGLE_TEXTURE_COMPRESSION_DXT3\n#endif\n\n#if (defined(GL_ANGLE_TEXTURE_COMPRESSION_DXT3) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ANGLE_TEXTURE_COMPRESSION_DXT3)) && !defined(REGAL_NO_DECLARATION_GL_ANGLE_TEXTURE_COMPRESSION_DXT3)\n#define REGAL_NO_DECLARATION_GL_ANGLE_TEXTURE_COMPRESSION_DXT3\n#endif\n\n#ifndef GL_ANGLE_texture_compression_dxt3\n#define GL_ANGLE_texture_compression_dxt3 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ANGLE_TEXTURE_COMPRESSION_DXT3\n#define GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE 0x83f2 /* 33778 */\n#endif\n\n/**\n ** GL_ANGLE_texture_compression_dxt5\n **/\n\n#if (defined(GL_ANGLE_TEXTURE_COMPRESSION_DXT5) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ANGLE_TEXTURE_COMPRESSION_DXT5)) && !defined(REGAL_NO_ENUM_GL_ANGLE_TEXTURE_COMPRESSION_DXT5)\n#define REGAL_NO_ENUM_GL_ANGLE_TEXTURE_COMPRESSION_DXT5\n#endif\n\n#if (defined(GL_ANGLE_TEXTURE_COMPRESSION_DXT5) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ANGLE_TEXTURE_COMPRESSION_DXT5)) && !defined(REGAL_NO_TYPEDEF_GL_ANGLE_TEXTURE_COMPRESSION_DXT5)\n#define REGAL_NO_TYPEDEF_GL_ANGLE_TEXTURE_COMPRESSION_DXT5\n#endif\n\n#if (defined(GL_ANGLE_TEXTURE_COMPRESSION_DXT5) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ANGLE_TEXTURE_COMPRESSION_DXT5)) && !defined(REGAL_NO_NAMESPACE_GL_ANGLE_TEXTURE_COMPRESSION_DXT5)\n#define REGAL_NO_NAMESPACE_GL_ANGLE_TEXTURE_COMPRESSION_DXT5\n#endif\n\n#if (defined(GL_ANGLE_TEXTURE_COMPRESSION_DXT5) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ANGLE_TEXTURE_COMPRESSION_DXT5)) && !defined(REGAL_NO_PLUGIN_GL_ANGLE_TEXTURE_COMPRESSION_DXT5)\n#define REGAL_NO_PLUGIN_GL_ANGLE_TEXTURE_COMPRESSION_DXT5\n#endif\n\n#if (defined(GL_ANGLE_TEXTURE_COMPRESSION_DXT5) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ANGLE_TEXTURE_COMPRESSION_DXT5)) && !defined(REGAL_NO_DECLARATION_GL_ANGLE_TEXTURE_COMPRESSION_DXT5)\n#define REGAL_NO_DECLARATION_GL_ANGLE_TEXTURE_COMPRESSION_DXT5\n#endif\n\n#ifndef GL_ANGLE_texture_compression_dxt5\n#define GL_ANGLE_texture_compression_dxt5 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ANGLE_TEXTURE_COMPRESSION_DXT5\n#define GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE 0x83f3 /* 33779 */\n#endif\n\n/**\n ** GL_ANGLE_texture_usage\n **/\n\n#if (defined(GL_ANGLE_TEXTURE_USAGE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ANGLE_TEXTURE_USAGE)) && !defined(REGAL_NO_ENUM_GL_ANGLE_TEXTURE_USAGE)\n#define REGAL_NO_ENUM_GL_ANGLE_TEXTURE_USAGE\n#endif\n\n#if (defined(GL_ANGLE_TEXTURE_USAGE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ANGLE_TEXTURE_USAGE)) && !defined(REGAL_NO_TYPEDEF_GL_ANGLE_TEXTURE_USAGE)\n#define REGAL_NO_TYPEDEF_GL_ANGLE_TEXTURE_USAGE\n#endif\n\n#if (defined(GL_ANGLE_TEXTURE_USAGE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ANGLE_TEXTURE_USAGE)) && !defined(REGAL_NO_NAMESPACE_GL_ANGLE_TEXTURE_USAGE)\n#define REGAL_NO_NAMESPACE_GL_ANGLE_TEXTURE_USAGE\n#endif\n\n#if (defined(GL_ANGLE_TEXTURE_USAGE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ANGLE_TEXTURE_USAGE)) && !defined(REGAL_NO_PLUGIN_GL_ANGLE_TEXTURE_USAGE)\n#define REGAL_NO_PLUGIN_GL_ANGLE_TEXTURE_USAGE\n#endif\n\n#if (defined(GL_ANGLE_TEXTURE_USAGE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ANGLE_TEXTURE_USAGE)) && !defined(REGAL_NO_DECLARATION_GL_ANGLE_TEXTURE_USAGE)\n#define REGAL_NO_DECLARATION_GL_ANGLE_TEXTURE_USAGE\n#endif\n\n#ifndef GL_ANGLE_texture_usage\n#define GL_ANGLE_texture_usage 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ANGLE_TEXTURE_USAGE\n#define GL_TEXTURE_USAGE_ANGLE          0x93a2     /* 37794 */\n#define GL_FRAMEBUFFER_ATTACHMENT_ANGLE 0x93a3     /* 37795 */\n#endif\n\n/**\n ** GL_ANGLE_timer_query\n **/\n\n#if (defined(GL_ANGLE_TIMER_QUERY) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ANGLE_TIMER_QUERY)) && !defined(REGAL_NO_ENUM_GL_ANGLE_TIMER_QUERY)\n#define REGAL_NO_ENUM_GL_ANGLE_TIMER_QUERY\n#endif\n\n#if (defined(GL_ANGLE_TIMER_QUERY) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ANGLE_TIMER_QUERY)) && !defined(REGAL_NO_TYPEDEF_GL_ANGLE_TIMER_QUERY)\n#define REGAL_NO_TYPEDEF_GL_ANGLE_TIMER_QUERY\n#endif\n\n#if (defined(GL_ANGLE_TIMER_QUERY) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ANGLE_TIMER_QUERY)) && !defined(REGAL_NO_NAMESPACE_GL_ANGLE_TIMER_QUERY)\n#define REGAL_NO_NAMESPACE_GL_ANGLE_TIMER_QUERY\n#endif\n\n#if (defined(GL_ANGLE_TIMER_QUERY) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ANGLE_TIMER_QUERY)) && !defined(REGAL_NO_PLUGIN_GL_ANGLE_TIMER_QUERY)\n#define REGAL_NO_PLUGIN_GL_ANGLE_TIMER_QUERY\n#endif\n\n#if (defined(GL_ANGLE_TIMER_QUERY) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ANGLE_TIMER_QUERY)) && !defined(REGAL_NO_DECLARATION_GL_ANGLE_TIMER_QUERY)\n#define REGAL_NO_DECLARATION_GL_ANGLE_TIMER_QUERY\n#endif\n\n#ifndef GL_ANGLE_timer_query\n#define GL_ANGLE_timer_query 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ANGLE_TIMER_QUERY\n#define GL_QUERY_COUNTER_BITS_ANGLE     0x8864     /* 34916 */\n#define GL_CURRENT_QUERY_ANGLE          0x8865     /* 34917 */\n#define GL_QUERY_RESULT_ANGLE           0x8866     /* 34918 */\n#define GL_QUERY_RESULT_AVAILABLE_ANGLE 0x8867     /* 34919 */\n#define GL_TIME_ELAPSED_ANGLE           0x88bf     /* 35007 */\n#define GL_TIMESTAMP_ANGLE              0x8e28     /* 36392 */\n#endif\n\n/**\n ** GL_ANGLE_translated_shader_source\n **/\n\n#if (defined(GL_ANGLE_TRANSLATED_SHADER_SOURCE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ANGLE_TRANSLATED_SHADER_SOURCE)) && !defined(REGAL_NO_ENUM_GL_ANGLE_TRANSLATED_SHADER_SOURCE)\n#define REGAL_NO_ENUM_GL_ANGLE_TRANSLATED_SHADER_SOURCE\n#endif\n\n#if (defined(GL_ANGLE_TRANSLATED_SHADER_SOURCE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ANGLE_TRANSLATED_SHADER_SOURCE)) && !defined(REGAL_NO_TYPEDEF_GL_ANGLE_TRANSLATED_SHADER_SOURCE)\n#define REGAL_NO_TYPEDEF_GL_ANGLE_TRANSLATED_SHADER_SOURCE\n#endif\n\n#if (defined(GL_ANGLE_TRANSLATED_SHADER_SOURCE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ANGLE_TRANSLATED_SHADER_SOURCE)) && !defined(REGAL_NO_NAMESPACE_GL_ANGLE_TRANSLATED_SHADER_SOURCE)\n#define REGAL_NO_NAMESPACE_GL_ANGLE_TRANSLATED_SHADER_SOURCE\n#endif\n\n#if (defined(GL_ANGLE_TRANSLATED_SHADER_SOURCE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ANGLE_TRANSLATED_SHADER_SOURCE)) && !defined(REGAL_NO_PLUGIN_GL_ANGLE_TRANSLATED_SHADER_SOURCE)\n#define REGAL_NO_PLUGIN_GL_ANGLE_TRANSLATED_SHADER_SOURCE\n#endif\n\n#if (defined(GL_ANGLE_TRANSLATED_SHADER_SOURCE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ANGLE_TRANSLATED_SHADER_SOURCE)) && !defined(REGAL_NO_DECLARATION_GL_ANGLE_TRANSLATED_SHADER_SOURCE)\n#define REGAL_NO_DECLARATION_GL_ANGLE_TRANSLATED_SHADER_SOURCE\n#endif\n\n#ifndef GL_ANGLE_translated_shader_source\n#define GL_ANGLE_translated_shader_source 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ANGLE_TRANSLATED_SHADER_SOURCE\n#define GL_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE 0x93a0 /* 37792 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ANGLE_TRANSLATED_SHADER_SOURCE\ntypedef void (REGAL_CALL *PFNGLGETTRANSLATEDSHADERSOURCEANGLEPROC)(GLuint shader, GLsizei bufsize, GLsizei *length, GLchar *source);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ANGLE_TRANSLATED_SHADER_SOURCE\n#define glGetTranslatedShaderSourceANGLE    rglGetTranslatedShaderSourceANGLE\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ANGLE_TRANSLATED_SHADER_SOURCE\nREGAL_DECL void REGAL_CALL glGetTranslatedShaderSourceANGLE(GLuint shader, GLsizei bufsize, GLsizei *length, GLchar *source);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ANGLE_TRANSLATED_SHADER_SOURCE\nREGAL_DECL void REGAL_CALL plugin_glGetTranslatedShaderSourceANGLE(GLuint shader, GLsizei bufsize, GLsizei *length, GLchar *source);\n#endif\n\n/**\n ** GL_APPLE_aux_depth_stencil\n **/\n\n#if (defined(GL_APPLE_AUX_DEPTH_STENCIL) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_APPLE_AUX_DEPTH_STENCIL)) && !defined(REGAL_NO_ENUM_GL_APPLE_AUX_DEPTH_STENCIL)\n#define REGAL_NO_ENUM_GL_APPLE_AUX_DEPTH_STENCIL\n#endif\n\n#if (defined(GL_APPLE_AUX_DEPTH_STENCIL) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_APPLE_AUX_DEPTH_STENCIL)) && !defined(REGAL_NO_TYPEDEF_GL_APPLE_AUX_DEPTH_STENCIL)\n#define REGAL_NO_TYPEDEF_GL_APPLE_AUX_DEPTH_STENCIL\n#endif\n\n#if (defined(GL_APPLE_AUX_DEPTH_STENCIL) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_APPLE_AUX_DEPTH_STENCIL)) && !defined(REGAL_NO_NAMESPACE_GL_APPLE_AUX_DEPTH_STENCIL)\n#define REGAL_NO_NAMESPACE_GL_APPLE_AUX_DEPTH_STENCIL\n#endif\n\n#if (defined(GL_APPLE_AUX_DEPTH_STENCIL) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_APPLE_AUX_DEPTH_STENCIL)) && !defined(REGAL_NO_PLUGIN_GL_APPLE_AUX_DEPTH_STENCIL)\n#define REGAL_NO_PLUGIN_GL_APPLE_AUX_DEPTH_STENCIL\n#endif\n\n#if (defined(GL_APPLE_AUX_DEPTH_STENCIL) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_APPLE_AUX_DEPTH_STENCIL)) && !defined(REGAL_NO_DECLARATION_GL_APPLE_AUX_DEPTH_STENCIL)\n#define REGAL_NO_DECLARATION_GL_APPLE_AUX_DEPTH_STENCIL\n#endif\n\n#ifndef GL_APPLE_aux_depth_stencil\n#define GL_APPLE_aux_depth_stencil 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_APPLE_AUX_DEPTH_STENCIL\n#define GL_AUX_DEPTH_STENCIL_APPLE 0x8a14 /* 35348 */\n#endif\n\n/**\n ** GL_APPLE_client_storage\n **/\n\n#if (defined(GL_APPLE_CLIENT_STORAGE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_APPLE_CLIENT_STORAGE)) && !defined(REGAL_NO_ENUM_GL_APPLE_CLIENT_STORAGE)\n#define REGAL_NO_ENUM_GL_APPLE_CLIENT_STORAGE\n#endif\n\n#if (defined(GL_APPLE_CLIENT_STORAGE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_APPLE_CLIENT_STORAGE)) && !defined(REGAL_NO_TYPEDEF_GL_APPLE_CLIENT_STORAGE)\n#define REGAL_NO_TYPEDEF_GL_APPLE_CLIENT_STORAGE\n#endif\n\n#if (defined(GL_APPLE_CLIENT_STORAGE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_APPLE_CLIENT_STORAGE)) && !defined(REGAL_NO_NAMESPACE_GL_APPLE_CLIENT_STORAGE)\n#define REGAL_NO_NAMESPACE_GL_APPLE_CLIENT_STORAGE\n#endif\n\n#if (defined(GL_APPLE_CLIENT_STORAGE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_APPLE_CLIENT_STORAGE)) && !defined(REGAL_NO_PLUGIN_GL_APPLE_CLIENT_STORAGE)\n#define REGAL_NO_PLUGIN_GL_APPLE_CLIENT_STORAGE\n#endif\n\n#if (defined(GL_APPLE_CLIENT_STORAGE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_APPLE_CLIENT_STORAGE)) && !defined(REGAL_NO_DECLARATION_GL_APPLE_CLIENT_STORAGE)\n#define REGAL_NO_DECLARATION_GL_APPLE_CLIENT_STORAGE\n#endif\n\n#ifndef GL_APPLE_client_storage\n#define GL_APPLE_client_storage 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_APPLE_CLIENT_STORAGE\n#define GL_UNPACK_CLIENT_STORAGE_APPLE 0x85b2 /* 34226 */\n#endif\n\n/**\n ** GL_APPLE_copy_texture_levels\n **/\n\n#if (defined(GL_APPLE_COPY_TEXTURE_LEVELS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_APPLE_COPY_TEXTURE_LEVELS)) && !defined(REGAL_NO_ENUM_GL_APPLE_COPY_TEXTURE_LEVELS)\n#define REGAL_NO_ENUM_GL_APPLE_COPY_TEXTURE_LEVELS\n#endif\n\n#if (defined(GL_APPLE_COPY_TEXTURE_LEVELS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_APPLE_COPY_TEXTURE_LEVELS)) && !defined(REGAL_NO_TYPEDEF_GL_APPLE_COPY_TEXTURE_LEVELS)\n#define REGAL_NO_TYPEDEF_GL_APPLE_COPY_TEXTURE_LEVELS\n#endif\n\n#if (defined(GL_APPLE_COPY_TEXTURE_LEVELS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_APPLE_COPY_TEXTURE_LEVELS)) && !defined(REGAL_NO_NAMESPACE_GL_APPLE_COPY_TEXTURE_LEVELS)\n#define REGAL_NO_NAMESPACE_GL_APPLE_COPY_TEXTURE_LEVELS\n#endif\n\n#if (defined(GL_APPLE_COPY_TEXTURE_LEVELS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_APPLE_COPY_TEXTURE_LEVELS)) && !defined(REGAL_NO_PLUGIN_GL_APPLE_COPY_TEXTURE_LEVELS)\n#define REGAL_NO_PLUGIN_GL_APPLE_COPY_TEXTURE_LEVELS\n#endif\n\n#if (defined(GL_APPLE_COPY_TEXTURE_LEVELS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_APPLE_COPY_TEXTURE_LEVELS)) && !defined(REGAL_NO_DECLARATION_GL_APPLE_COPY_TEXTURE_LEVELS)\n#define REGAL_NO_DECLARATION_GL_APPLE_COPY_TEXTURE_LEVELS\n#endif\n\n#ifndef GL_APPLE_copy_texture_levels\n#define GL_APPLE_copy_texture_levels 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_APPLE_COPY_TEXTURE_LEVELS\ntypedef void (REGAL_CALL *PFNGLCOPYTEXTURELEVELSAPPLEPROC)(GLuint destinationTexture, GLuint sourceTexture, GLint sourceBaseLevel, GLsizei sourceLevelCount);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_APPLE_COPY_TEXTURE_LEVELS\n#define glCopyTextureLevelsAPPLE            rglCopyTextureLevelsAPPLE\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_APPLE_COPY_TEXTURE_LEVELS\nREGAL_DECL void REGAL_CALL glCopyTextureLevelsAPPLE(GLuint destinationTexture, GLuint sourceTexture, GLint sourceBaseLevel, GLsizei sourceLevelCount);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_APPLE_COPY_TEXTURE_LEVELS\nREGAL_DECL void REGAL_CALL plugin_glCopyTextureLevelsAPPLE(GLuint destinationTexture, GLuint sourceTexture, GLint sourceBaseLevel, GLsizei sourceLevelCount);\n#endif\n\n/**\n ** GL_APPLE_element_array\n **/\n\n#if (defined(GL_APPLE_ELEMENT_ARRAY) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_APPLE_ELEMENT_ARRAY)) && !defined(REGAL_NO_ENUM_GL_APPLE_ELEMENT_ARRAY)\n#define REGAL_NO_ENUM_GL_APPLE_ELEMENT_ARRAY\n#endif\n\n#if (defined(GL_APPLE_ELEMENT_ARRAY) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_APPLE_ELEMENT_ARRAY)) && !defined(REGAL_NO_TYPEDEF_GL_APPLE_ELEMENT_ARRAY)\n#define REGAL_NO_TYPEDEF_GL_APPLE_ELEMENT_ARRAY\n#endif\n\n#if (defined(GL_APPLE_ELEMENT_ARRAY) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_APPLE_ELEMENT_ARRAY)) && !defined(REGAL_NO_NAMESPACE_GL_APPLE_ELEMENT_ARRAY)\n#define REGAL_NO_NAMESPACE_GL_APPLE_ELEMENT_ARRAY\n#endif\n\n#if (defined(GL_APPLE_ELEMENT_ARRAY) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_APPLE_ELEMENT_ARRAY)) && !defined(REGAL_NO_PLUGIN_GL_APPLE_ELEMENT_ARRAY)\n#define REGAL_NO_PLUGIN_GL_APPLE_ELEMENT_ARRAY\n#endif\n\n#if (defined(GL_APPLE_ELEMENT_ARRAY) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_APPLE_ELEMENT_ARRAY)) && !defined(REGAL_NO_DECLARATION_GL_APPLE_ELEMENT_ARRAY)\n#define REGAL_NO_DECLARATION_GL_APPLE_ELEMENT_ARRAY\n#endif\n\n#ifndef GL_APPLE_element_array\n#define GL_APPLE_element_array 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_APPLE_ELEMENT_ARRAY\n#define GL_ELEMENT_ARRAY_APPLE         0x8a0c     /* 35340 */\n#define GL_ELEMENT_ARRAY_TYPE_APPLE    0x8a0d     /* 35341 */\n#define GL_ELEMENT_ARRAY_POINTER_APPLE 0x8a0e     /* 35342 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_APPLE_ELEMENT_ARRAY\ntypedef void (REGAL_CALL *PFNGLDRAWELEMENTARRAYAPPLEPROC)(GLenum mode, GLint first, GLsizei count);\ntypedef void (REGAL_CALL *PFNGLDRAWRANGEELEMENTARRAYAPPLEPROC)(GLenum mode, GLuint start, GLuint end, GLint first, GLsizei count);\ntypedef void (REGAL_CALL *PFNGLELEMENTPOINTERAPPLEPROC)(GLenum type, const GLvoid *pointer);\ntypedef void (REGAL_CALL *PFNGLMULTIDRAWELEMENTARRAYAPPLEPROC)(GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);\ntypedef void (REGAL_CALL *PFNGLMULTIDRAWRANGEELEMENTARRAYAPPLEPROC)(GLenum mode, GLuint start, GLuint end, const GLint *first, const GLsizei *count, GLsizei primcount);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_APPLE_ELEMENT_ARRAY\n#define glDrawElementArrayAPPLE             rglDrawElementArrayAPPLE\n#define glDrawRangeElementArrayAPPLE        rglDrawRangeElementArrayAPPLE\n#define glElementPointerAPPLE               rglElementPointerAPPLE\n#define glMultiDrawElementArrayAPPLE        rglMultiDrawElementArrayAPPLE\n#define glMultiDrawRangeElementArrayAPPLE   rglMultiDrawRangeElementArrayAPPLE\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_APPLE_ELEMENT_ARRAY\nREGAL_DECL void REGAL_CALL glDrawElementArrayAPPLE(GLenum mode, GLint first, GLsizei count);\nREGAL_DECL void REGAL_CALL glDrawRangeElementArrayAPPLE(GLenum mode, GLuint start, GLuint end, GLint first, GLsizei count);\nREGAL_DECL void REGAL_CALL glElementPointerAPPLE(GLenum type, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL glMultiDrawElementArrayAPPLE(GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);\nREGAL_DECL void REGAL_CALL glMultiDrawRangeElementArrayAPPLE(GLenum mode, GLuint start, GLuint end, const GLint *first, const GLsizei *count, GLsizei primcount);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_APPLE_ELEMENT_ARRAY\nREGAL_DECL void REGAL_CALL plugin_glDrawElementArrayAPPLE(GLenum mode, GLint first, GLsizei count);\nREGAL_DECL void REGAL_CALL plugin_glDrawRangeElementArrayAPPLE(GLenum mode, GLuint start, GLuint end, GLint first, GLsizei count);\nREGAL_DECL void REGAL_CALL plugin_glElementPointerAPPLE(GLenum type, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL plugin_glMultiDrawElementArrayAPPLE(GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);\nREGAL_DECL void REGAL_CALL plugin_glMultiDrawRangeElementArrayAPPLE(GLenum mode, GLuint start, GLuint end, const GLint *first, const GLsizei *count, GLsizei primcount);\n#endif\n\n/**\n ** GL_APPLE_fence\n **/\n\n#if (defined(GL_APPLE_FENCE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_APPLE_FENCE)) && !defined(REGAL_NO_ENUM_GL_APPLE_FENCE)\n#define REGAL_NO_ENUM_GL_APPLE_FENCE\n#endif\n\n#if (defined(GL_APPLE_FENCE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_APPLE_FENCE)) && !defined(REGAL_NO_TYPEDEF_GL_APPLE_FENCE)\n#define REGAL_NO_TYPEDEF_GL_APPLE_FENCE\n#endif\n\n#if (defined(GL_APPLE_FENCE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_APPLE_FENCE)) && !defined(REGAL_NO_NAMESPACE_GL_APPLE_FENCE)\n#define REGAL_NO_NAMESPACE_GL_APPLE_FENCE\n#endif\n\n#if (defined(GL_APPLE_FENCE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_APPLE_FENCE)) && !defined(REGAL_NO_PLUGIN_GL_APPLE_FENCE)\n#define REGAL_NO_PLUGIN_GL_APPLE_FENCE\n#endif\n\n#if (defined(GL_APPLE_FENCE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_APPLE_FENCE)) && !defined(REGAL_NO_DECLARATION_GL_APPLE_FENCE)\n#define REGAL_NO_DECLARATION_GL_APPLE_FENCE\n#endif\n\n#ifndef GL_APPLE_fence\n#define GL_APPLE_fence 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_APPLE_FENCE\n#define GL_DRAW_PIXELS_APPLE 0x8a0a     /* 35338 */\n#define GL_FENCE_APPLE       0x8a0b     /* 35339 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_APPLE_FENCE\ntypedef GLboolean (REGAL_CALL *PFNGLISFENCEAPPLEPROC)(GLuint fence);\ntypedef GLboolean (REGAL_CALL *PFNGLTESTFENCEAPPLEPROC)(GLuint fence);\ntypedef GLboolean (REGAL_CALL *PFNGLTESTOBJECTAPPLEPROC)(GLenum object, GLuint name);\ntypedef void (REGAL_CALL *PFNGLDELETEFENCESAPPLEPROC)(GLsizei n, const GLuint *fences);\ntypedef void (REGAL_CALL *PFNGLFINISHFENCEAPPLEPROC)(GLuint fence);\ntypedef void (REGAL_CALL *PFNGLFINISHOBJECTAPPLEPROC)(GLenum object, GLint name);\ntypedef void (REGAL_CALL *PFNGLGENFENCESAPPLEPROC)(GLsizei n, GLuint *fences);\ntypedef void (REGAL_CALL *PFNGLSETFENCEAPPLEPROC)(GLuint fence);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_APPLE_FENCE\n#define glDeleteFencesAPPLE                 rglDeleteFencesAPPLE\n#define glFinishFenceAPPLE                  rglFinishFenceAPPLE\n#define glFinishObjectAPPLE                 rglFinishObjectAPPLE\n#define glGenFencesAPPLE                    rglGenFencesAPPLE\n#define glIsFenceAPPLE                      rglIsFenceAPPLE\n#define glSetFenceAPPLE                     rglSetFenceAPPLE\n#define glTestFenceAPPLE                    rglTestFenceAPPLE\n#define glTestObjectAPPLE                   rglTestObjectAPPLE\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_APPLE_FENCE\nREGAL_DECL GLboolean REGAL_CALL glIsFenceAPPLE(GLuint fence);\nREGAL_DECL GLboolean REGAL_CALL glTestFenceAPPLE(GLuint fence);\nREGAL_DECL GLboolean REGAL_CALL glTestObjectAPPLE(GLenum object, GLuint name);\nREGAL_DECL void REGAL_CALL glDeleteFencesAPPLE(GLsizei n, const GLuint *fences);\nREGAL_DECL void REGAL_CALL glFinishFenceAPPLE(GLuint fence);\nREGAL_DECL void REGAL_CALL glFinishObjectAPPLE(GLenum object, GLint name);\nREGAL_DECL void REGAL_CALL glGenFencesAPPLE(GLsizei n, GLuint *fences);\nREGAL_DECL void REGAL_CALL glSetFenceAPPLE(GLuint fence);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_APPLE_FENCE\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsFenceAPPLE(GLuint fence);\nREGAL_DECL GLboolean REGAL_CALL plugin_glTestFenceAPPLE(GLuint fence);\nREGAL_DECL GLboolean REGAL_CALL plugin_glTestObjectAPPLE(GLenum object, GLuint name);\nREGAL_DECL void REGAL_CALL plugin_glDeleteFencesAPPLE(GLsizei n, const GLuint *fences);\nREGAL_DECL void REGAL_CALL plugin_glFinishFenceAPPLE(GLuint fence);\nREGAL_DECL void REGAL_CALL plugin_glFinishObjectAPPLE(GLenum object, GLint name);\nREGAL_DECL void REGAL_CALL plugin_glGenFencesAPPLE(GLsizei n, GLuint *fences);\nREGAL_DECL void REGAL_CALL plugin_glSetFenceAPPLE(GLuint fence);\n#endif\n\n/**\n ** GL_APPLE_float_pixels\n **/\n\n#if (defined(GL_APPLE_FLOAT_PIXELS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_APPLE_FLOAT_PIXELS)) && !defined(REGAL_NO_ENUM_GL_APPLE_FLOAT_PIXELS)\n#define REGAL_NO_ENUM_GL_APPLE_FLOAT_PIXELS\n#endif\n\n#if (defined(GL_APPLE_FLOAT_PIXELS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_APPLE_FLOAT_PIXELS)) && !defined(REGAL_NO_TYPEDEF_GL_APPLE_FLOAT_PIXELS)\n#define REGAL_NO_TYPEDEF_GL_APPLE_FLOAT_PIXELS\n#endif\n\n#if (defined(GL_APPLE_FLOAT_PIXELS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_APPLE_FLOAT_PIXELS)) && !defined(REGAL_NO_NAMESPACE_GL_APPLE_FLOAT_PIXELS)\n#define REGAL_NO_NAMESPACE_GL_APPLE_FLOAT_PIXELS\n#endif\n\n#if (defined(GL_APPLE_FLOAT_PIXELS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_APPLE_FLOAT_PIXELS)) && !defined(REGAL_NO_PLUGIN_GL_APPLE_FLOAT_PIXELS)\n#define REGAL_NO_PLUGIN_GL_APPLE_FLOAT_PIXELS\n#endif\n\n#if (defined(GL_APPLE_FLOAT_PIXELS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_APPLE_FLOAT_PIXELS)) && !defined(REGAL_NO_DECLARATION_GL_APPLE_FLOAT_PIXELS)\n#define REGAL_NO_DECLARATION_GL_APPLE_FLOAT_PIXELS\n#endif\n\n#ifndef GL_APPLE_float_pixels\n#define GL_APPLE_float_pixels 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_APPLE_FLOAT_PIXELS\n#define GL_HALF_APPLE                    0x140b     /* 5131 */\n#define GL_RGBA_FLOAT32_APPLE            0x8814     /* 34836 */\n#define GL_RGB_FLOAT32_APPLE             0x8815     /* 34837 */\n#define GL_ALPHA_FLOAT32_APPLE           0x8816     /* 34838 */\n#define GL_INTENSITY_FLOAT32_APPLE       0x8817     /* 34839 */\n#define GL_LUMINANCE_FLOAT32_APPLE       0x8818     /* 34840 */\n#define GL_LUMINANCE_ALPHA_FLOAT32_APPLE 0x8819     /* 34841 */\n#define GL_RGBA_FLOAT16_APPLE            0x881a     /* 34842 */\n#define GL_RGB_FLOAT16_APPLE             0x881b     /* 34843 */\n#define GL_ALPHA_FLOAT16_APPLE           0x881c     /* 34844 */\n#define GL_INTENSITY_FLOAT16_APPLE       0x881d     /* 34845 */\n#define GL_LUMINANCE_FLOAT16_APPLE       0x881e     /* 34846 */\n#define GL_LUMINANCE_ALPHA_FLOAT16_APPLE 0x881f     /* 34847 */\n#define GL_COLOR_FLOAT_APPLE             0x8a0f     /* 35343 */\n#endif\n\n/**\n ** GL_APPLE_flush_buffer_range\n **/\n\n#if (defined(GL_APPLE_FLUSH_BUFFER_RANGE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_APPLE_FLUSH_BUFFER_RANGE)) && !defined(REGAL_NO_ENUM_GL_APPLE_FLUSH_BUFFER_RANGE)\n#define REGAL_NO_ENUM_GL_APPLE_FLUSH_BUFFER_RANGE\n#endif\n\n#if (defined(GL_APPLE_FLUSH_BUFFER_RANGE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_APPLE_FLUSH_BUFFER_RANGE)) && !defined(REGAL_NO_TYPEDEF_GL_APPLE_FLUSH_BUFFER_RANGE)\n#define REGAL_NO_TYPEDEF_GL_APPLE_FLUSH_BUFFER_RANGE\n#endif\n\n#if (defined(GL_APPLE_FLUSH_BUFFER_RANGE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_APPLE_FLUSH_BUFFER_RANGE)) && !defined(REGAL_NO_NAMESPACE_GL_APPLE_FLUSH_BUFFER_RANGE)\n#define REGAL_NO_NAMESPACE_GL_APPLE_FLUSH_BUFFER_RANGE\n#endif\n\n#if (defined(GL_APPLE_FLUSH_BUFFER_RANGE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_APPLE_FLUSH_BUFFER_RANGE)) && !defined(REGAL_NO_PLUGIN_GL_APPLE_FLUSH_BUFFER_RANGE)\n#define REGAL_NO_PLUGIN_GL_APPLE_FLUSH_BUFFER_RANGE\n#endif\n\n#if (defined(GL_APPLE_FLUSH_BUFFER_RANGE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_APPLE_FLUSH_BUFFER_RANGE)) && !defined(REGAL_NO_DECLARATION_GL_APPLE_FLUSH_BUFFER_RANGE)\n#define REGAL_NO_DECLARATION_GL_APPLE_FLUSH_BUFFER_RANGE\n#endif\n\n#ifndef GL_APPLE_flush_buffer_range\n#define GL_APPLE_flush_buffer_range 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_APPLE_FLUSH_BUFFER_RANGE\n#define GL_BUFFER_SERIALIZED_MODIFY_APPLE 0x8a12     /* 35346 */\n#define GL_BUFFER_FLUSHING_UNMAP_APPLE    0x8a13     /* 35347 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_APPLE_FLUSH_BUFFER_RANGE\ntypedef void (REGAL_CALL *PFNGLBUFFERPARAMETERIAPPLEPROC)(GLenum target, GLenum pname, GLint param);\ntypedef void (REGAL_CALL *PFNGLFLUSHMAPPEDBUFFERRANGEAPPLEPROC)(GLenum target, GLintptr offset, GLsizeiptr size);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_APPLE_FLUSH_BUFFER_RANGE\n#define glBufferParameteriAPPLE             rglBufferParameteriAPPLE\n#define glFlushMappedBufferRangeAPPLE       rglFlushMappedBufferRangeAPPLE\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_APPLE_FLUSH_BUFFER_RANGE\nREGAL_DECL void REGAL_CALL glBufferParameteriAPPLE(GLenum target, GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL glFlushMappedBufferRangeAPPLE(GLenum target, GLintptr offset, GLsizeiptr size);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_APPLE_FLUSH_BUFFER_RANGE\nREGAL_DECL void REGAL_CALL plugin_glBufferParameteriAPPLE(GLenum target, GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL plugin_glFlushMappedBufferRangeAPPLE(GLenum target, GLintptr offset, GLsizeiptr size);\n#endif\n\n/**\n ** GL_APPLE_flush_render\n **/\n\n#if (defined(GL_APPLE_FLUSH_RENDER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_APPLE_FLUSH_RENDER)) && !defined(REGAL_NO_ENUM_GL_APPLE_FLUSH_RENDER)\n#define REGAL_NO_ENUM_GL_APPLE_FLUSH_RENDER\n#endif\n\n#if (defined(GL_APPLE_FLUSH_RENDER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_APPLE_FLUSH_RENDER)) && !defined(REGAL_NO_TYPEDEF_GL_APPLE_FLUSH_RENDER)\n#define REGAL_NO_TYPEDEF_GL_APPLE_FLUSH_RENDER\n#endif\n\n#if (defined(GL_APPLE_FLUSH_RENDER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_APPLE_FLUSH_RENDER)) && !defined(REGAL_NO_NAMESPACE_GL_APPLE_FLUSH_RENDER)\n#define REGAL_NO_NAMESPACE_GL_APPLE_FLUSH_RENDER\n#endif\n\n#if (defined(GL_APPLE_FLUSH_RENDER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_APPLE_FLUSH_RENDER)) && !defined(REGAL_NO_PLUGIN_GL_APPLE_FLUSH_RENDER)\n#define REGAL_NO_PLUGIN_GL_APPLE_FLUSH_RENDER\n#endif\n\n#if (defined(GL_APPLE_FLUSH_RENDER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_APPLE_FLUSH_RENDER)) && !defined(REGAL_NO_DECLARATION_GL_APPLE_FLUSH_RENDER)\n#define REGAL_NO_DECLARATION_GL_APPLE_FLUSH_RENDER\n#endif\n\n#ifndef GL_APPLE_flush_render\n#define GL_APPLE_flush_render 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_APPLE_FLUSH_RENDER\ntypedef void (REGAL_CALL *PFNGLFINISHRENDERAPPLEPROC)(void);\ntypedef void (REGAL_CALL *PFNGLFLUSHRENDERAPPLEPROC)(void);\ntypedef void (REGAL_CALL *PFNGLSWAPAPPLEPROC)(void);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_APPLE_FLUSH_RENDER\n#define glFinishRenderAPPLE                 rglFinishRenderAPPLE\n#define glFlushRenderAPPLE                  rglFlushRenderAPPLE\n#define glSwapAPPLE                         rglSwapAPPLE\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_APPLE_FLUSH_RENDER\nREGAL_DECL void REGAL_CALL glFinishRenderAPPLE(void);\nREGAL_DECL void REGAL_CALL glFlushRenderAPPLE(void);\nREGAL_DECL void REGAL_CALL glSwapAPPLE(void);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_APPLE_FLUSH_RENDER\nREGAL_DECL void REGAL_CALL plugin_glFinishRenderAPPLE(void);\nREGAL_DECL void REGAL_CALL plugin_glFlushRenderAPPLE(void);\nREGAL_DECL void REGAL_CALL plugin_glSwapAPPLE(void);\n#endif\n\n/**\n ** GL_APPLE_framebuffer_multisample\n **/\n\n#if (defined(GL_APPLE_FRAMEBUFFER_MULTISAMPLE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_APPLE_FRAMEBUFFER_MULTISAMPLE)) && !defined(REGAL_NO_ENUM_GL_APPLE_FRAMEBUFFER_MULTISAMPLE)\n#define REGAL_NO_ENUM_GL_APPLE_FRAMEBUFFER_MULTISAMPLE\n#endif\n\n#if (defined(GL_APPLE_FRAMEBUFFER_MULTISAMPLE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_APPLE_FRAMEBUFFER_MULTISAMPLE)) && !defined(REGAL_NO_TYPEDEF_GL_APPLE_FRAMEBUFFER_MULTISAMPLE)\n#define REGAL_NO_TYPEDEF_GL_APPLE_FRAMEBUFFER_MULTISAMPLE\n#endif\n\n#if (defined(GL_APPLE_FRAMEBUFFER_MULTISAMPLE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_APPLE_FRAMEBUFFER_MULTISAMPLE)) && !defined(REGAL_NO_NAMESPACE_GL_APPLE_FRAMEBUFFER_MULTISAMPLE)\n#define REGAL_NO_NAMESPACE_GL_APPLE_FRAMEBUFFER_MULTISAMPLE\n#endif\n\n#if (defined(GL_APPLE_FRAMEBUFFER_MULTISAMPLE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_APPLE_FRAMEBUFFER_MULTISAMPLE)) && !defined(REGAL_NO_PLUGIN_GL_APPLE_FRAMEBUFFER_MULTISAMPLE)\n#define REGAL_NO_PLUGIN_GL_APPLE_FRAMEBUFFER_MULTISAMPLE\n#endif\n\n#if (defined(GL_APPLE_FRAMEBUFFER_MULTISAMPLE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_APPLE_FRAMEBUFFER_MULTISAMPLE)) && !defined(REGAL_NO_DECLARATION_GL_APPLE_FRAMEBUFFER_MULTISAMPLE)\n#define REGAL_NO_DECLARATION_GL_APPLE_FRAMEBUFFER_MULTISAMPLE\n#endif\n\n#ifndef GL_APPLE_framebuffer_multisample\n#define GL_APPLE_framebuffer_multisample 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_APPLE_FRAMEBUFFER_MULTISAMPLE\n#define GL_DRAW_FRAMEBUFFER_BINDING_APPLE           0x8ca6     /* 36006 */\n#define GL_READ_FRAMEBUFFER_APPLE                   0x8ca8     /* 36008 */\n#define GL_DRAW_FRAMEBUFFER_APPLE                   0x8ca9     /* 36009 */\n#define GL_READ_FRAMEBUFFER_BINDING_APPLE           0x8caa     /* 36010 */\n#define GL_RENDERBUFFER_SAMPLES_APPLE               0x8cab     /* 36011 */\n#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_APPLE 0x8d56     /* 36182 */\n#define GL_MAX_SAMPLES_APPLE                        0x8d57     /* 36183 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_APPLE_FRAMEBUFFER_MULTISAMPLE\ntypedef void (REGAL_CALL *PFNGLRENDERBUFFERSTORAGEMULTISAMPLEAPPLEPROC)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);\ntypedef void (REGAL_CALL *PFNGLRESOLVEMULTISAMPLEFRAMEBUFFERAPPLEPROC)(void);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_APPLE_FRAMEBUFFER_MULTISAMPLE\n#define glRenderbufferStorageMultisampleAPPLE rglRenderbufferStorageMultisampleAPPLE\n#define glResolveMultisampleFramebufferAPPLE rglResolveMultisampleFramebufferAPPLE\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_APPLE_FRAMEBUFFER_MULTISAMPLE\nREGAL_DECL void REGAL_CALL glRenderbufferStorageMultisampleAPPLE(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);\nREGAL_DECL void REGAL_CALL glResolveMultisampleFramebufferAPPLE(void);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_APPLE_FRAMEBUFFER_MULTISAMPLE\nREGAL_DECL void REGAL_CALL plugin_glRenderbufferStorageMultisampleAPPLE(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);\nREGAL_DECL void REGAL_CALL plugin_glResolveMultisampleFramebufferAPPLE(void);\n#endif\n\n/**\n ** GL_APPLE_object_purgeable\n **/\n\n#if (defined(GL_APPLE_OBJECT_PURGEABLE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_APPLE_OBJECT_PURGEABLE)) && !defined(REGAL_NO_ENUM_GL_APPLE_OBJECT_PURGEABLE)\n#define REGAL_NO_ENUM_GL_APPLE_OBJECT_PURGEABLE\n#endif\n\n#if (defined(GL_APPLE_OBJECT_PURGEABLE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_APPLE_OBJECT_PURGEABLE)) && !defined(REGAL_NO_TYPEDEF_GL_APPLE_OBJECT_PURGEABLE)\n#define REGAL_NO_TYPEDEF_GL_APPLE_OBJECT_PURGEABLE\n#endif\n\n#if (defined(GL_APPLE_OBJECT_PURGEABLE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_APPLE_OBJECT_PURGEABLE)) && !defined(REGAL_NO_NAMESPACE_GL_APPLE_OBJECT_PURGEABLE)\n#define REGAL_NO_NAMESPACE_GL_APPLE_OBJECT_PURGEABLE\n#endif\n\n#if (defined(GL_APPLE_OBJECT_PURGEABLE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_APPLE_OBJECT_PURGEABLE)) && !defined(REGAL_NO_PLUGIN_GL_APPLE_OBJECT_PURGEABLE)\n#define REGAL_NO_PLUGIN_GL_APPLE_OBJECT_PURGEABLE\n#endif\n\n#if (defined(GL_APPLE_OBJECT_PURGEABLE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_APPLE_OBJECT_PURGEABLE)) && !defined(REGAL_NO_DECLARATION_GL_APPLE_OBJECT_PURGEABLE)\n#define REGAL_NO_DECLARATION_GL_APPLE_OBJECT_PURGEABLE\n#endif\n\n#ifndef GL_APPLE_object_purgeable\n#define GL_APPLE_object_purgeable 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_APPLE_OBJECT_PURGEABLE\n#define GL_BUFFER_OBJECT_APPLE 0x85b3     /* 34227 */\n#define GL_RELEASED_APPLE      0x8a19     /* 35353 */\n#define GL_VOLATILE_APPLE      0x8a1a     /* 35354 */\n#define GL_RETAINED_APPLE      0x8a1b     /* 35355 */\n#define GL_UNDEFINED_APPLE     0x8a1c     /* 35356 */\n#define GL_PURGEABLE_APPLE     0x8a1d     /* 35357 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_APPLE_OBJECT_PURGEABLE\ntypedef GLenum (REGAL_CALL *PFNGLOBJECTPURGEABLEAPPLEPROC)(GLenum objectType, GLuint name, GLenum option);\ntypedef GLenum (REGAL_CALL *PFNGLOBJECTUNPURGEABLEAPPLEPROC)(GLenum objectType, GLuint name, GLenum option);\ntypedef void (REGAL_CALL *PFNGLGETOBJECTPARAMETERIVAPPLEPROC)(GLenum objectType, GLuint name, GLenum pname, GLint *params);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_APPLE_OBJECT_PURGEABLE\n#define glGetObjectParameterivAPPLE         rglGetObjectParameterivAPPLE\n#define glObjectPurgeableAPPLE              rglObjectPurgeableAPPLE\n#define glObjectUnpurgeableAPPLE            rglObjectUnpurgeableAPPLE\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_APPLE_OBJECT_PURGEABLE\nREGAL_DECL GLenum REGAL_CALL glObjectPurgeableAPPLE(GLenum objectType, GLuint name, GLenum option);\nREGAL_DECL GLenum REGAL_CALL glObjectUnpurgeableAPPLE(GLenum objectType, GLuint name, GLenum option);\nREGAL_DECL void REGAL_CALL glGetObjectParameterivAPPLE(GLenum objectType, GLuint name, GLenum pname, GLint *params);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_APPLE_OBJECT_PURGEABLE\nREGAL_DECL GLenum REGAL_CALL plugin_glObjectPurgeableAPPLE(GLenum objectType, GLuint name, GLenum option);\nREGAL_DECL GLenum REGAL_CALL plugin_glObjectUnpurgeableAPPLE(GLenum objectType, GLuint name, GLenum option);\nREGAL_DECL void REGAL_CALL plugin_glGetObjectParameterivAPPLE(GLenum objectType, GLuint name, GLenum pname, GLint *params);\n#endif\n\n/**\n ** GL_APPLE_pixel_buffer\n **/\n\n#if (defined(GL_APPLE_PIXEL_BUFFER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_APPLE_PIXEL_BUFFER)) && !defined(REGAL_NO_ENUM_GL_APPLE_PIXEL_BUFFER)\n#define REGAL_NO_ENUM_GL_APPLE_PIXEL_BUFFER\n#endif\n\n#if (defined(GL_APPLE_PIXEL_BUFFER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_APPLE_PIXEL_BUFFER)) && !defined(REGAL_NO_TYPEDEF_GL_APPLE_PIXEL_BUFFER)\n#define REGAL_NO_TYPEDEF_GL_APPLE_PIXEL_BUFFER\n#endif\n\n#if (defined(GL_APPLE_PIXEL_BUFFER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_APPLE_PIXEL_BUFFER)) && !defined(REGAL_NO_NAMESPACE_GL_APPLE_PIXEL_BUFFER)\n#define REGAL_NO_NAMESPACE_GL_APPLE_PIXEL_BUFFER\n#endif\n\n#if (defined(GL_APPLE_PIXEL_BUFFER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_APPLE_PIXEL_BUFFER)) && !defined(REGAL_NO_PLUGIN_GL_APPLE_PIXEL_BUFFER)\n#define REGAL_NO_PLUGIN_GL_APPLE_PIXEL_BUFFER\n#endif\n\n#if (defined(GL_APPLE_PIXEL_BUFFER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_APPLE_PIXEL_BUFFER)) && !defined(REGAL_NO_DECLARATION_GL_APPLE_PIXEL_BUFFER)\n#define REGAL_NO_DECLARATION_GL_APPLE_PIXEL_BUFFER\n#endif\n\n#ifndef GL_APPLE_pixel_buffer\n#define GL_APPLE_pixel_buffer 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_APPLE_PIXEL_BUFFER\n#define GL_MIN_PBUFFER_VIEWPORT_DIMS_APPLE 0x8a10 /* 35344 */\n#endif\n\n/**\n ** GL_APPLE_rgb_422\n **/\n\n#if (defined(GL_APPLE_RGB_422) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_APPLE_RGB_422)) && !defined(REGAL_NO_ENUM_GL_APPLE_RGB_422)\n#define REGAL_NO_ENUM_GL_APPLE_RGB_422\n#endif\n\n#if (defined(GL_APPLE_RGB_422) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_APPLE_RGB_422)) && !defined(REGAL_NO_TYPEDEF_GL_APPLE_RGB_422)\n#define REGAL_NO_TYPEDEF_GL_APPLE_RGB_422\n#endif\n\n#if (defined(GL_APPLE_RGB_422) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_APPLE_RGB_422)) && !defined(REGAL_NO_NAMESPACE_GL_APPLE_RGB_422)\n#define REGAL_NO_NAMESPACE_GL_APPLE_RGB_422\n#endif\n\n#if (defined(GL_APPLE_RGB_422) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_APPLE_RGB_422)) && !defined(REGAL_NO_PLUGIN_GL_APPLE_RGB_422)\n#define REGAL_NO_PLUGIN_GL_APPLE_RGB_422\n#endif\n\n#if (defined(GL_APPLE_RGB_422) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_APPLE_RGB_422)) && !defined(REGAL_NO_DECLARATION_GL_APPLE_RGB_422)\n#define REGAL_NO_DECLARATION_GL_APPLE_RGB_422\n#endif\n\n#ifndef GL_APPLE_rgb_422\n#define GL_APPLE_rgb_422 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_APPLE_RGB_422\n#define GL_RGB_422_APPLE 0x8a1f /* 35359 */\n#endif\n\n/**\n ** GL_APPLE_row_bytes\n **/\n\n#if (defined(GL_APPLE_ROW_BYTES) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_APPLE_ROW_BYTES)) && !defined(REGAL_NO_ENUM_GL_APPLE_ROW_BYTES)\n#define REGAL_NO_ENUM_GL_APPLE_ROW_BYTES\n#endif\n\n#if (defined(GL_APPLE_ROW_BYTES) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_APPLE_ROW_BYTES)) && !defined(REGAL_NO_TYPEDEF_GL_APPLE_ROW_BYTES)\n#define REGAL_NO_TYPEDEF_GL_APPLE_ROW_BYTES\n#endif\n\n#if (defined(GL_APPLE_ROW_BYTES) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_APPLE_ROW_BYTES)) && !defined(REGAL_NO_NAMESPACE_GL_APPLE_ROW_BYTES)\n#define REGAL_NO_NAMESPACE_GL_APPLE_ROW_BYTES\n#endif\n\n#if (defined(GL_APPLE_ROW_BYTES) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_APPLE_ROW_BYTES)) && !defined(REGAL_NO_PLUGIN_GL_APPLE_ROW_BYTES)\n#define REGAL_NO_PLUGIN_GL_APPLE_ROW_BYTES\n#endif\n\n#if (defined(GL_APPLE_ROW_BYTES) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_APPLE_ROW_BYTES)) && !defined(REGAL_NO_DECLARATION_GL_APPLE_ROW_BYTES)\n#define REGAL_NO_DECLARATION_GL_APPLE_ROW_BYTES\n#endif\n\n#ifndef GL_APPLE_row_bytes\n#define GL_APPLE_row_bytes 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_APPLE_ROW_BYTES\n#define GL_PACK_ROW_BYTES_APPLE   0x8a15     /* 35349 */\n#define GL_UNPACK_ROW_BYTES_APPLE 0x8a16     /* 35350 */\n#endif\n\n/**\n ** GL_APPLE_specular_vector\n **/\n\n#if (defined(GL_APPLE_SPECULAR_VECTOR) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_APPLE_SPECULAR_VECTOR)) && !defined(REGAL_NO_ENUM_GL_APPLE_SPECULAR_VECTOR)\n#define REGAL_NO_ENUM_GL_APPLE_SPECULAR_VECTOR\n#endif\n\n#if (defined(GL_APPLE_SPECULAR_VECTOR) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_APPLE_SPECULAR_VECTOR)) && !defined(REGAL_NO_TYPEDEF_GL_APPLE_SPECULAR_VECTOR)\n#define REGAL_NO_TYPEDEF_GL_APPLE_SPECULAR_VECTOR\n#endif\n\n#if (defined(GL_APPLE_SPECULAR_VECTOR) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_APPLE_SPECULAR_VECTOR)) && !defined(REGAL_NO_NAMESPACE_GL_APPLE_SPECULAR_VECTOR)\n#define REGAL_NO_NAMESPACE_GL_APPLE_SPECULAR_VECTOR\n#endif\n\n#if (defined(GL_APPLE_SPECULAR_VECTOR) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_APPLE_SPECULAR_VECTOR)) && !defined(REGAL_NO_PLUGIN_GL_APPLE_SPECULAR_VECTOR)\n#define REGAL_NO_PLUGIN_GL_APPLE_SPECULAR_VECTOR\n#endif\n\n#if (defined(GL_APPLE_SPECULAR_VECTOR) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_APPLE_SPECULAR_VECTOR)) && !defined(REGAL_NO_DECLARATION_GL_APPLE_SPECULAR_VECTOR)\n#define REGAL_NO_DECLARATION_GL_APPLE_SPECULAR_VECTOR\n#endif\n\n#ifndef GL_APPLE_specular_vector\n#define GL_APPLE_specular_vector 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_APPLE_SPECULAR_VECTOR\n#define GL_LIGHT_MODEL_SPECULAR_VECTOR_APPLE 0x85b0 /* 34224 */\n#endif\n\n/**\n ** GL_APPLE_sync\n **/\n\n#if (defined(GL_APPLE_SYNC) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_APPLE_SYNC)) && !defined(REGAL_NO_ENUM_GL_APPLE_SYNC)\n#define REGAL_NO_ENUM_GL_APPLE_SYNC\n#endif\n\n#if (defined(GL_APPLE_SYNC) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_APPLE_SYNC)) && !defined(REGAL_NO_TYPEDEF_GL_APPLE_SYNC)\n#define REGAL_NO_TYPEDEF_GL_APPLE_SYNC\n#endif\n\n#if (defined(GL_APPLE_SYNC) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_APPLE_SYNC)) && !defined(REGAL_NO_NAMESPACE_GL_APPLE_SYNC)\n#define REGAL_NO_NAMESPACE_GL_APPLE_SYNC\n#endif\n\n#if (defined(GL_APPLE_SYNC) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_APPLE_SYNC)) && !defined(REGAL_NO_PLUGIN_GL_APPLE_SYNC)\n#define REGAL_NO_PLUGIN_GL_APPLE_SYNC\n#endif\n\n#if (defined(GL_APPLE_SYNC) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_APPLE_SYNC)) && !defined(REGAL_NO_DECLARATION_GL_APPLE_SYNC)\n#define REGAL_NO_DECLARATION_GL_APPLE_SYNC\n#endif\n\n#ifndef GL_APPLE_sync\n#define GL_APPLE_sync 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_APPLE_SYNC\n#define GL_SYNC_FLUSH_COMMANDS_BIT_APPLE    0x1\n#define GL_SYNC_OBJECT_APPLE                0x8a53                 /* 35411 */\n#define GL_MAX_SERVER_WAIT_TIMEOUT_APPLE    0x9111                 /* 37137 */\n#define GL_OBJECT_TYPE_APPLE                0x9112                 /* 37138 */\n#define GL_SYNC_CONDITION_APPLE             0x9113                 /* 37139 */\n#define GL_SYNC_STATUS_APPLE                0x9114                 /* 37140 */\n#define GL_SYNC_FLAGS_APPLE                 0x9115                 /* 37141 */\n#define GL_SYNC_FENCE_APPLE                 0x9116                 /* 37142 */\n#define GL_SYNC_GPU_COMMANDS_COMPLETE_APPLE 0x9117                 /* 37143 */\n#define GL_UNSIGNALED_APPLE                 0x9118                 /* 37144 */\n#define GL_SIGNALED_APPLE                   0x9119                 /* 37145 */\n#define GL_ALREADY_SIGNALED_APPLE           0x911a                 /* 37146 */\n#define GL_TIMEOUT_EXPIRED_APPLE            0x911b                 /* 37147 */\n#define GL_CONDITION_SATISFIED_APPLE        0x911c                 /* 37148 */\n#define GL_WAIT_FAILED_APPLE                0x911d                 /* 37149 */\n#define GL_TIMEOUT_IGNORED_APPLE            0xffffffffffffffff     /* 18446744073709551615 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_APPLE_SYNC\ntypedef GLboolean (REGAL_CALL *PFNGLISSYNCAPPLEPROC)(GLsync sync);\ntypedef GLenum (REGAL_CALL *PFNGLCLIENTWAITSYNCAPPLEPROC)(GLsync sync, GLbitfield flags, GLuint64 timeout);\ntypedef GLsync (REGAL_CALL *PFNGLFENCESYNCAPPLEPROC)(GLenum condition, GLbitfield flags);\ntypedef void (REGAL_CALL *PFNGLDELETESYNCAPPLEPROC)(GLsync sync);\ntypedef void (REGAL_CALL *PFNGLGETINTEGER64VAPPLEPROC)(GLenum pname, GLint64 *params);\ntypedef void (REGAL_CALL *PFNGLGETSYNCIVAPPLEPROC)(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);\ntypedef void (REGAL_CALL *PFNGLWAITSYNCAPPLEPROC)(GLsync sync, GLbitfield flags, GLuint64 timeout);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_APPLE_SYNC\n#define glClientWaitSyncAPPLE               rglClientWaitSyncAPPLE\n#define glDeleteSyncAPPLE                   rglDeleteSyncAPPLE\n#define glFenceSyncAPPLE                    rglFenceSyncAPPLE\n#define glGetInteger64vAPPLE                rglGetInteger64vAPPLE\n#define glGetSyncivAPPLE                    rglGetSyncivAPPLE\n#define glIsSyncAPPLE                       rglIsSyncAPPLE\n#define glWaitSyncAPPLE                     rglWaitSyncAPPLE\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_APPLE_SYNC\nREGAL_DECL GLboolean REGAL_CALL glIsSyncAPPLE(GLsync sync);\nREGAL_DECL GLenum REGAL_CALL glClientWaitSyncAPPLE(GLsync sync, GLbitfield flags, GLuint64 timeout);\nREGAL_DECL GLsync REGAL_CALL glFenceSyncAPPLE(GLenum condition, GLbitfield flags);\nREGAL_DECL void REGAL_CALL glDeleteSyncAPPLE(GLsync sync);\nREGAL_DECL void REGAL_CALL glGetInteger64vAPPLE(GLenum pname, GLint64 *params);\nREGAL_DECL void REGAL_CALL glGetSyncivAPPLE(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);\nREGAL_DECL void REGAL_CALL glWaitSyncAPPLE(GLsync sync, GLbitfield flags, GLuint64 timeout);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_APPLE_SYNC\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsSyncAPPLE(GLsync sync);\nREGAL_DECL GLenum REGAL_CALL plugin_glClientWaitSyncAPPLE(GLsync sync, GLbitfield flags, GLuint64 timeout);\nREGAL_DECL GLsync REGAL_CALL plugin_glFenceSyncAPPLE(GLenum condition, GLbitfield flags);\nREGAL_DECL void REGAL_CALL plugin_glDeleteSyncAPPLE(GLsync sync);\nREGAL_DECL void REGAL_CALL plugin_glGetInteger64vAPPLE(GLenum pname, GLint64 *params);\nREGAL_DECL void REGAL_CALL plugin_glGetSyncivAPPLE(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);\nREGAL_DECL void REGAL_CALL plugin_glWaitSyncAPPLE(GLsync sync, GLbitfield flags, GLuint64 timeout);\n#endif\n\n/**\n ** GL_APPLE_texture_max_level\n **/\n\n#if (defined(GL_APPLE_TEXTURE_MAX_LEVEL) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_APPLE_TEXTURE_MAX_LEVEL)) && !defined(REGAL_NO_ENUM_GL_APPLE_TEXTURE_MAX_LEVEL)\n#define REGAL_NO_ENUM_GL_APPLE_TEXTURE_MAX_LEVEL\n#endif\n\n#if (defined(GL_APPLE_TEXTURE_MAX_LEVEL) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_APPLE_TEXTURE_MAX_LEVEL)) && !defined(REGAL_NO_TYPEDEF_GL_APPLE_TEXTURE_MAX_LEVEL)\n#define REGAL_NO_TYPEDEF_GL_APPLE_TEXTURE_MAX_LEVEL\n#endif\n\n#if (defined(GL_APPLE_TEXTURE_MAX_LEVEL) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_APPLE_TEXTURE_MAX_LEVEL)) && !defined(REGAL_NO_NAMESPACE_GL_APPLE_TEXTURE_MAX_LEVEL)\n#define REGAL_NO_NAMESPACE_GL_APPLE_TEXTURE_MAX_LEVEL\n#endif\n\n#if (defined(GL_APPLE_TEXTURE_MAX_LEVEL) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_APPLE_TEXTURE_MAX_LEVEL)) && !defined(REGAL_NO_PLUGIN_GL_APPLE_TEXTURE_MAX_LEVEL)\n#define REGAL_NO_PLUGIN_GL_APPLE_TEXTURE_MAX_LEVEL\n#endif\n\n#if (defined(GL_APPLE_TEXTURE_MAX_LEVEL) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_APPLE_TEXTURE_MAX_LEVEL)) && !defined(REGAL_NO_DECLARATION_GL_APPLE_TEXTURE_MAX_LEVEL)\n#define REGAL_NO_DECLARATION_GL_APPLE_TEXTURE_MAX_LEVEL\n#endif\n\n#ifndef GL_APPLE_texture_max_level\n#define GL_APPLE_texture_max_level 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_APPLE_TEXTURE_MAX_LEVEL\n#define GL_TEXTURE_MAX_LEVEL_APPLE 0x813d /* 33085 */\n#endif\n\n/**\n ** GL_APPLE_texture_range\n **/\n\n#if (defined(GL_APPLE_TEXTURE_RANGE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_APPLE_TEXTURE_RANGE)) && !defined(REGAL_NO_ENUM_GL_APPLE_TEXTURE_RANGE)\n#define REGAL_NO_ENUM_GL_APPLE_TEXTURE_RANGE\n#endif\n\n#if (defined(GL_APPLE_TEXTURE_RANGE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_APPLE_TEXTURE_RANGE)) && !defined(REGAL_NO_TYPEDEF_GL_APPLE_TEXTURE_RANGE)\n#define REGAL_NO_TYPEDEF_GL_APPLE_TEXTURE_RANGE\n#endif\n\n#if (defined(GL_APPLE_TEXTURE_RANGE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_APPLE_TEXTURE_RANGE)) && !defined(REGAL_NO_NAMESPACE_GL_APPLE_TEXTURE_RANGE)\n#define REGAL_NO_NAMESPACE_GL_APPLE_TEXTURE_RANGE\n#endif\n\n#if (defined(GL_APPLE_TEXTURE_RANGE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_APPLE_TEXTURE_RANGE)) && !defined(REGAL_NO_PLUGIN_GL_APPLE_TEXTURE_RANGE)\n#define REGAL_NO_PLUGIN_GL_APPLE_TEXTURE_RANGE\n#endif\n\n#if (defined(GL_APPLE_TEXTURE_RANGE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_APPLE_TEXTURE_RANGE)) && !defined(REGAL_NO_DECLARATION_GL_APPLE_TEXTURE_RANGE)\n#define REGAL_NO_DECLARATION_GL_APPLE_TEXTURE_RANGE\n#endif\n\n#ifndef GL_APPLE_texture_range\n#define GL_APPLE_texture_range 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_APPLE_TEXTURE_RANGE\n#define GL_TEXTURE_RANGE_LENGTH_APPLE  0x85b7     /* 34231 */\n#define GL_TEXTURE_RANGE_POINTER_APPLE 0x85b8     /* 34232 */\n#define GL_TEXTURE_STORAGE_HINT_APPLE  0x85bc     /* 34236 */\n#define GL_STORAGE_PRIVATE_APPLE       0x85bd     /* 34237 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_APPLE_TEXTURE_RANGE\ntypedef void (REGAL_CALL *PFNGLGETTEXPARAMETERPOINTERVAPPLEPROC)(GLenum target, GLenum pname, GLvoid **params);\ntypedef void (REGAL_CALL *PFNGLTEXTURERANGEAPPLEPROC)(GLenum target, GLsizei length, const GLvoid *pointer);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_APPLE_TEXTURE_RANGE\n#define glGetTexParameterPointervAPPLE      rglGetTexParameterPointervAPPLE\n#define glTextureRangeAPPLE                 rglTextureRangeAPPLE\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_APPLE_TEXTURE_RANGE\nREGAL_DECL void REGAL_CALL glGetTexParameterPointervAPPLE(GLenum target, GLenum pname, GLvoid **params);\nREGAL_DECL void REGAL_CALL glTextureRangeAPPLE(GLenum target, GLsizei length, const GLvoid *pointer);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_APPLE_TEXTURE_RANGE\nREGAL_DECL void REGAL_CALL plugin_glGetTexParameterPointervAPPLE(GLenum target, GLenum pname, GLvoid **params);\nREGAL_DECL void REGAL_CALL plugin_glTextureRangeAPPLE(GLenum target, GLsizei length, const GLvoid *pointer);\n#endif\n\n/**\n ** GL_APPLE_transform_hint\n **/\n\n#if (defined(GL_APPLE_TRANSFORM_HINT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_APPLE_TRANSFORM_HINT)) && !defined(REGAL_NO_ENUM_GL_APPLE_TRANSFORM_HINT)\n#define REGAL_NO_ENUM_GL_APPLE_TRANSFORM_HINT\n#endif\n\n#if (defined(GL_APPLE_TRANSFORM_HINT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_APPLE_TRANSFORM_HINT)) && !defined(REGAL_NO_TYPEDEF_GL_APPLE_TRANSFORM_HINT)\n#define REGAL_NO_TYPEDEF_GL_APPLE_TRANSFORM_HINT\n#endif\n\n#if (defined(GL_APPLE_TRANSFORM_HINT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_APPLE_TRANSFORM_HINT)) && !defined(REGAL_NO_NAMESPACE_GL_APPLE_TRANSFORM_HINT)\n#define REGAL_NO_NAMESPACE_GL_APPLE_TRANSFORM_HINT\n#endif\n\n#if (defined(GL_APPLE_TRANSFORM_HINT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_APPLE_TRANSFORM_HINT)) && !defined(REGAL_NO_PLUGIN_GL_APPLE_TRANSFORM_HINT)\n#define REGAL_NO_PLUGIN_GL_APPLE_TRANSFORM_HINT\n#endif\n\n#if (defined(GL_APPLE_TRANSFORM_HINT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_APPLE_TRANSFORM_HINT)) && !defined(REGAL_NO_DECLARATION_GL_APPLE_TRANSFORM_HINT)\n#define REGAL_NO_DECLARATION_GL_APPLE_TRANSFORM_HINT\n#endif\n\n#ifndef GL_APPLE_transform_hint\n#define GL_APPLE_transform_hint 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_APPLE_TRANSFORM_HINT\n#define GL_TRANSFORM_HINT_APPLE 0x85b1 /* 34225 */\n#endif\n\n/**\n ** GL_APPLE_vertex_array_object\n **/\n\n#if (defined(GL_APPLE_VERTEX_ARRAY_OBJECT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_APPLE_VERTEX_ARRAY_OBJECT)) && !defined(REGAL_NO_ENUM_GL_APPLE_VERTEX_ARRAY_OBJECT)\n#define REGAL_NO_ENUM_GL_APPLE_VERTEX_ARRAY_OBJECT\n#endif\n\n#if (defined(GL_APPLE_VERTEX_ARRAY_OBJECT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_APPLE_VERTEX_ARRAY_OBJECT)) && !defined(REGAL_NO_TYPEDEF_GL_APPLE_VERTEX_ARRAY_OBJECT)\n#define REGAL_NO_TYPEDEF_GL_APPLE_VERTEX_ARRAY_OBJECT\n#endif\n\n#if (defined(GL_APPLE_VERTEX_ARRAY_OBJECT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_APPLE_VERTEX_ARRAY_OBJECT)) && !defined(REGAL_NO_NAMESPACE_GL_APPLE_VERTEX_ARRAY_OBJECT)\n#define REGAL_NO_NAMESPACE_GL_APPLE_VERTEX_ARRAY_OBJECT\n#endif\n\n#if (defined(GL_APPLE_VERTEX_ARRAY_OBJECT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_APPLE_VERTEX_ARRAY_OBJECT)) && !defined(REGAL_NO_PLUGIN_GL_APPLE_VERTEX_ARRAY_OBJECT)\n#define REGAL_NO_PLUGIN_GL_APPLE_VERTEX_ARRAY_OBJECT\n#endif\n\n#if (defined(GL_APPLE_VERTEX_ARRAY_OBJECT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_APPLE_VERTEX_ARRAY_OBJECT)) && !defined(REGAL_NO_DECLARATION_GL_APPLE_VERTEX_ARRAY_OBJECT)\n#define REGAL_NO_DECLARATION_GL_APPLE_VERTEX_ARRAY_OBJECT\n#endif\n\n#ifndef GL_APPLE_vertex_array_object\n#define GL_APPLE_vertex_array_object 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_APPLE_VERTEX_ARRAY_OBJECT\n#define GL_VERTEX_ARRAY_BINDING_APPLE 0x85b5 /* 34229 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_APPLE_VERTEX_ARRAY_OBJECT\ntypedef GLboolean (REGAL_CALL *PFNGLISVERTEXARRAYAPPLEPROC)(GLuint array);\ntypedef void (REGAL_CALL *PFNGLBINDVERTEXARRAYAPPLEPROC)(GLuint array);\ntypedef void (REGAL_CALL *PFNGLDELETEVERTEXARRAYSAPPLEPROC)(GLsizei n, const GLuint *arrays);\ntypedef void (REGAL_CALL *PFNGLGENVERTEXARRAYSAPPLEPROC)(GLsizei n, GLuint *arrays);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_APPLE_VERTEX_ARRAY_OBJECT\n#define glBindVertexArrayAPPLE              rglBindVertexArrayAPPLE\n#define glDeleteVertexArraysAPPLE           rglDeleteVertexArraysAPPLE\n#define glGenVertexArraysAPPLE              rglGenVertexArraysAPPLE\n#define glIsVertexArrayAPPLE                rglIsVertexArrayAPPLE\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_APPLE_VERTEX_ARRAY_OBJECT\nREGAL_DECL GLboolean REGAL_CALL glIsVertexArrayAPPLE(GLuint array);\nREGAL_DECL void REGAL_CALL glBindVertexArrayAPPLE(GLuint array);\nREGAL_DECL void REGAL_CALL glDeleteVertexArraysAPPLE(GLsizei n, const GLuint *arrays);\nREGAL_DECL void REGAL_CALL glGenVertexArraysAPPLE(GLsizei n, GLuint *arrays);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_APPLE_VERTEX_ARRAY_OBJECT\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsVertexArrayAPPLE(GLuint array);\nREGAL_DECL void REGAL_CALL plugin_glBindVertexArrayAPPLE(GLuint array);\nREGAL_DECL void REGAL_CALL plugin_glDeleteVertexArraysAPPLE(GLsizei n, const GLuint *arrays);\nREGAL_DECL void REGAL_CALL plugin_glGenVertexArraysAPPLE(GLsizei n, GLuint *arrays);\n#endif\n\n/**\n ** GL_APPLE_vertex_array_range\n **/\n\n#if (defined(GL_APPLE_VERTEX_ARRAY_RANGE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_APPLE_VERTEX_ARRAY_RANGE)) && !defined(REGAL_NO_ENUM_GL_APPLE_VERTEX_ARRAY_RANGE)\n#define REGAL_NO_ENUM_GL_APPLE_VERTEX_ARRAY_RANGE\n#endif\n\n#if (defined(GL_APPLE_VERTEX_ARRAY_RANGE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_APPLE_VERTEX_ARRAY_RANGE)) && !defined(REGAL_NO_TYPEDEF_GL_APPLE_VERTEX_ARRAY_RANGE)\n#define REGAL_NO_TYPEDEF_GL_APPLE_VERTEX_ARRAY_RANGE\n#endif\n\n#if (defined(GL_APPLE_VERTEX_ARRAY_RANGE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_APPLE_VERTEX_ARRAY_RANGE)) && !defined(REGAL_NO_NAMESPACE_GL_APPLE_VERTEX_ARRAY_RANGE)\n#define REGAL_NO_NAMESPACE_GL_APPLE_VERTEX_ARRAY_RANGE\n#endif\n\n#if (defined(GL_APPLE_VERTEX_ARRAY_RANGE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_APPLE_VERTEX_ARRAY_RANGE)) && !defined(REGAL_NO_PLUGIN_GL_APPLE_VERTEX_ARRAY_RANGE)\n#define REGAL_NO_PLUGIN_GL_APPLE_VERTEX_ARRAY_RANGE\n#endif\n\n#if (defined(GL_APPLE_VERTEX_ARRAY_RANGE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_APPLE_VERTEX_ARRAY_RANGE)) && !defined(REGAL_NO_DECLARATION_GL_APPLE_VERTEX_ARRAY_RANGE)\n#define REGAL_NO_DECLARATION_GL_APPLE_VERTEX_ARRAY_RANGE\n#endif\n\n#ifndef GL_APPLE_vertex_array_range\n#define GL_APPLE_vertex_array_range 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_APPLE_VERTEX_ARRAY_RANGE\n#define GL_VERTEX_ARRAY_RANGE_APPLE             0x851d     /* 34077 */\n#define GL_VERTEX_ARRAY_RANGE_LENGTH_APPLE      0x851e     /* 34078 */\n#define GL_VERTEX_ARRAY_STORAGE_HINT_APPLE      0x851f     /* 34079 */\n#define GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_APPLE 0x8520     /* 34080 */\n#define GL_VERTEX_ARRAY_RANGE_POINTER_APPLE     0x8521     /* 34081 */\n#define GL_STORAGE_CLIENT_APPLE                 0x85b4     /* 34228 */\n#define GL_STORAGE_CACHED_APPLE                 0x85be     /* 34238 */\n#define GL_STORAGE_SHARED_APPLE                 0x85bf     /* 34239 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_APPLE_VERTEX_ARRAY_RANGE\ntypedef void (REGAL_CALL *PFNGLFLUSHVERTEXARRAYRANGEAPPLEPROC)(GLsizei length, GLvoid *pointer);\ntypedef void (REGAL_CALL *PFNGLVERTEXARRAYPARAMETERIAPPLEPROC)(GLenum pname, GLint param);\ntypedef void (REGAL_CALL *PFNGLVERTEXARRAYRANGEAPPLEPROC)(GLsizei length, GLvoid *pointer);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_APPLE_VERTEX_ARRAY_RANGE\n#define glFlushVertexArrayRangeAPPLE        rglFlushVertexArrayRangeAPPLE\n#define glVertexArrayParameteriAPPLE        rglVertexArrayParameteriAPPLE\n#define glVertexArrayRangeAPPLE             rglVertexArrayRangeAPPLE\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_APPLE_VERTEX_ARRAY_RANGE\nREGAL_DECL void REGAL_CALL glFlushVertexArrayRangeAPPLE(GLsizei length, GLvoid *pointer);\nREGAL_DECL void REGAL_CALL glVertexArrayParameteriAPPLE(GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL glVertexArrayRangeAPPLE(GLsizei length, GLvoid *pointer);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_APPLE_VERTEX_ARRAY_RANGE\nREGAL_DECL void REGAL_CALL plugin_glFlushVertexArrayRangeAPPLE(GLsizei length, GLvoid *pointer);\nREGAL_DECL void REGAL_CALL plugin_glVertexArrayParameteriAPPLE(GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL plugin_glVertexArrayRangeAPPLE(GLsizei length, GLvoid *pointer);\n#endif\n\n/**\n ** GL_APPLE_vertex_program_evaluators\n **/\n\n#if (defined(GL_APPLE_VERTEX_PROGRAM_EVALUATORS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_APPLE_VERTEX_PROGRAM_EVALUATORS)) && !defined(REGAL_NO_ENUM_GL_APPLE_VERTEX_PROGRAM_EVALUATORS)\n#define REGAL_NO_ENUM_GL_APPLE_VERTEX_PROGRAM_EVALUATORS\n#endif\n\n#if (defined(GL_APPLE_VERTEX_PROGRAM_EVALUATORS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_APPLE_VERTEX_PROGRAM_EVALUATORS)) && !defined(REGAL_NO_TYPEDEF_GL_APPLE_VERTEX_PROGRAM_EVALUATORS)\n#define REGAL_NO_TYPEDEF_GL_APPLE_VERTEX_PROGRAM_EVALUATORS\n#endif\n\n#if (defined(GL_APPLE_VERTEX_PROGRAM_EVALUATORS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_APPLE_VERTEX_PROGRAM_EVALUATORS)) && !defined(REGAL_NO_NAMESPACE_GL_APPLE_VERTEX_PROGRAM_EVALUATORS)\n#define REGAL_NO_NAMESPACE_GL_APPLE_VERTEX_PROGRAM_EVALUATORS\n#endif\n\n#if (defined(GL_APPLE_VERTEX_PROGRAM_EVALUATORS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_APPLE_VERTEX_PROGRAM_EVALUATORS)) && !defined(REGAL_NO_PLUGIN_GL_APPLE_VERTEX_PROGRAM_EVALUATORS)\n#define REGAL_NO_PLUGIN_GL_APPLE_VERTEX_PROGRAM_EVALUATORS\n#endif\n\n#if (defined(GL_APPLE_VERTEX_PROGRAM_EVALUATORS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_APPLE_VERTEX_PROGRAM_EVALUATORS)) && !defined(REGAL_NO_DECLARATION_GL_APPLE_VERTEX_PROGRAM_EVALUATORS)\n#define REGAL_NO_DECLARATION_GL_APPLE_VERTEX_PROGRAM_EVALUATORS\n#endif\n\n#ifndef GL_APPLE_vertex_program_evaluators\n#define GL_APPLE_vertex_program_evaluators 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_APPLE_VERTEX_PROGRAM_EVALUATORS\n#define GL_VERTEX_ATTRIB_MAP1_APPLE        0x8a00     /* 35328 */\n#define GL_VERTEX_ATTRIB_MAP2_APPLE        0x8a01     /* 35329 */\n#define GL_VERTEX_ATTRIB_MAP1_SIZE_APPLE   0x8a02     /* 35330 */\n#define GL_VERTEX_ATTRIB_MAP1_COEFF_APPLE  0x8a03     /* 35331 */\n#define GL_VERTEX_ATTRIB_MAP1_ORDER_APPLE  0x8a04     /* 35332 */\n#define GL_VERTEX_ATTRIB_MAP1_DOMAIN_APPLE 0x8a05     /* 35333 */\n#define GL_VERTEX_ATTRIB_MAP2_SIZE_APPLE   0x8a06     /* 35334 */\n#define GL_VERTEX_ATTRIB_MAP2_COEFF_APPLE  0x8a07     /* 35335 */\n#define GL_VERTEX_ATTRIB_MAP2_ORDER_APPLE  0x8a08     /* 35336 */\n#define GL_VERTEX_ATTRIB_MAP2_DOMAIN_APPLE 0x8a09     /* 35337 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_APPLE_VERTEX_PROGRAM_EVALUATORS\ntypedef GLboolean (REGAL_CALL *PFNGLISVERTEXATTRIBENABLEDAPPLEPROC)(GLuint index, GLenum pname);\ntypedef void (REGAL_CALL *PFNGLDISABLEVERTEXATTRIBAPPLEPROC)(GLuint index, GLenum pname);\ntypedef void (REGAL_CALL *PFNGLENABLEVERTEXATTRIBAPPLEPROC)(GLuint index, GLenum pname);\ntypedef void (REGAL_CALL *PFNGLMAPVERTEXATTRIB1DAPPLEPROC)(GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points);\ntypedef void (REGAL_CALL *PFNGLMAPVERTEXATTRIB1FAPPLEPROC)(GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points);\ntypedef void (REGAL_CALL *PFNGLMAPVERTEXATTRIB2DAPPLEPROC)(GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points);\ntypedef void (REGAL_CALL *PFNGLMAPVERTEXATTRIB2FAPPLEPROC)(GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_APPLE_VERTEX_PROGRAM_EVALUATORS\n#define glDisableVertexAttribAPPLE          rglDisableVertexAttribAPPLE\n#define glEnableVertexAttribAPPLE           rglEnableVertexAttribAPPLE\n#define glIsVertexAttribEnabledAPPLE        rglIsVertexAttribEnabledAPPLE\n#define glMapVertexAttrib1dAPPLE            rglMapVertexAttrib1dAPPLE\n#define glMapVertexAttrib1fAPPLE            rglMapVertexAttrib1fAPPLE\n#define glMapVertexAttrib2dAPPLE            rglMapVertexAttrib2dAPPLE\n#define glMapVertexAttrib2fAPPLE            rglMapVertexAttrib2fAPPLE\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_APPLE_VERTEX_PROGRAM_EVALUATORS\nREGAL_DECL GLboolean REGAL_CALL glIsVertexAttribEnabledAPPLE(GLuint index, GLenum pname);\nREGAL_DECL void REGAL_CALL glDisableVertexAttribAPPLE(GLuint index, GLenum pname);\nREGAL_DECL void REGAL_CALL glEnableVertexAttribAPPLE(GLuint index, GLenum pname);\nREGAL_DECL void REGAL_CALL glMapVertexAttrib1dAPPLE(GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points);\nREGAL_DECL void REGAL_CALL glMapVertexAttrib1fAPPLE(GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points);\nREGAL_DECL void REGAL_CALL glMapVertexAttrib2dAPPLE(GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points);\nREGAL_DECL void REGAL_CALL glMapVertexAttrib2fAPPLE(GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_APPLE_VERTEX_PROGRAM_EVALUATORS\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsVertexAttribEnabledAPPLE(GLuint index, GLenum pname);\nREGAL_DECL void REGAL_CALL plugin_glDisableVertexAttribAPPLE(GLuint index, GLenum pname);\nREGAL_DECL void REGAL_CALL plugin_glEnableVertexAttribAPPLE(GLuint index, GLenum pname);\nREGAL_DECL void REGAL_CALL plugin_glMapVertexAttrib1dAPPLE(GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points);\nREGAL_DECL void REGAL_CALL plugin_glMapVertexAttrib1fAPPLE(GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points);\nREGAL_DECL void REGAL_CALL plugin_glMapVertexAttrib2dAPPLE(GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points);\nREGAL_DECL void REGAL_CALL plugin_glMapVertexAttrib2fAPPLE(GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points);\n#endif\n\n/**\n ** GL_APPLE_ycbcr_422\n **/\n\n#if (defined(GL_APPLE_YCBCR_422) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_APPLE_YCBCR_422)) && !defined(REGAL_NO_ENUM_GL_APPLE_YCBCR_422)\n#define REGAL_NO_ENUM_GL_APPLE_YCBCR_422\n#endif\n\n#if (defined(GL_APPLE_YCBCR_422) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_APPLE_YCBCR_422)) && !defined(REGAL_NO_TYPEDEF_GL_APPLE_YCBCR_422)\n#define REGAL_NO_TYPEDEF_GL_APPLE_YCBCR_422\n#endif\n\n#if (defined(GL_APPLE_YCBCR_422) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_APPLE_YCBCR_422)) && !defined(REGAL_NO_NAMESPACE_GL_APPLE_YCBCR_422)\n#define REGAL_NO_NAMESPACE_GL_APPLE_YCBCR_422\n#endif\n\n#if (defined(GL_APPLE_YCBCR_422) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_APPLE_YCBCR_422)) && !defined(REGAL_NO_PLUGIN_GL_APPLE_YCBCR_422)\n#define REGAL_NO_PLUGIN_GL_APPLE_YCBCR_422\n#endif\n\n#if (defined(GL_APPLE_YCBCR_422) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_APPLE_YCBCR_422)) && !defined(REGAL_NO_DECLARATION_GL_APPLE_YCBCR_422)\n#define REGAL_NO_DECLARATION_GL_APPLE_YCBCR_422\n#endif\n\n#ifndef GL_APPLE_ycbcr_422\n#define GL_APPLE_ycbcr_422 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_APPLE_YCBCR_422\n#define GL_YCBCR_422_APPLE              0x85b9     /* 34233 */\n#define GL_UNSIGNED_SHORT_8_8_APPLE     0x85ba     /* 34234 */\n#define GL_UNSIGNED_SHORT_8_8_REV_APPLE 0x85bb     /* 34235 */\n#endif\n\n/**\n ** GL_ARB_ES2_compatibility\n **/\n\n#if (defined(GL_ARB_ES2_COMPATIBILITY) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_ES2_COMPATIBILITY)) && !defined(REGAL_NO_ENUM_GL_ARB_ES2_COMPATIBILITY)\n#define REGAL_NO_ENUM_GL_ARB_ES2_COMPATIBILITY\n#endif\n\n#if (defined(GL_ARB_ES2_COMPATIBILITY) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_ES2_COMPATIBILITY)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_ES2_COMPATIBILITY)\n#define REGAL_NO_TYPEDEF_GL_ARB_ES2_COMPATIBILITY\n#endif\n\n#if (defined(GL_ARB_ES2_COMPATIBILITY) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_ES2_COMPATIBILITY)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_ES2_COMPATIBILITY)\n#define REGAL_NO_NAMESPACE_GL_ARB_ES2_COMPATIBILITY\n#endif\n\n#if (defined(GL_ARB_ES2_COMPATIBILITY) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_ES2_COMPATIBILITY)) && !defined(REGAL_NO_PLUGIN_GL_ARB_ES2_COMPATIBILITY)\n#define REGAL_NO_PLUGIN_GL_ARB_ES2_COMPATIBILITY\n#endif\n\n#if (defined(GL_ARB_ES2_COMPATIBILITY) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_ES2_COMPATIBILITY)) && !defined(REGAL_NO_DECLARATION_GL_ARB_ES2_COMPATIBILITY)\n#define REGAL_NO_DECLARATION_GL_ARB_ES2_COMPATIBILITY\n#endif\n\n#ifndef GL_ARB_ES2_compatibility\n#define GL_ARB_ES2_compatibility 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_ES2_COMPATIBILITY\n#define GL_FIXED                            0x140c     /* 5132 */\n#define GL_IMPLEMENTATION_COLOR_READ_TYPE   0x8b9a     /* 35738 */\n#define GL_IMPLEMENTATION_COLOR_READ_FORMAT 0x8b9b     /* 35739 */\n#define GL_RGB565                           0x8d62     /* 36194 */\n#define GL_LOW_FLOAT                        0x8df0     /* 36336 */\n#define GL_MEDIUM_FLOAT                     0x8df1     /* 36337 */\n#define GL_HIGH_FLOAT                       0x8df2     /* 36338 */\n#define GL_LOW_INT                          0x8df3     /* 36339 */\n#define GL_MEDIUM_INT                       0x8df4     /* 36340 */\n#define GL_HIGH_INT                         0x8df5     /* 36341 */\n#define GL_SHADER_BINARY_FORMATS            0x8df8     /* 36344 */\n#define GL_NUM_SHADER_BINARY_FORMATS        0x8df9     /* 36345 */\n#define GL_SHADER_COMPILER                  0x8dfa     /* 36346 */\n#define GL_MAX_VERTEX_UNIFORM_VECTORS       0x8dfb     /* 36347 */\n#define GL_MAX_VARYING_VECTORS              0x8dfc     /* 36348 */\n#define GL_MAX_FRAGMENT_UNIFORM_VECTORS     0x8dfd     /* 36349 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_ES2_COMPATIBILITY\ntypedef void (REGAL_CALL *PFNGLCLEARDEPTHFPROC)(GLclampf d);\ntypedef void (REGAL_CALL *PFNGLDEPTHRANGEFPROC)(GLclampf n, GLclampf f);\ntypedef void (REGAL_CALL *PFNGLGETSHADERPRECISIONFORMATPROC)(GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision);\ntypedef void (REGAL_CALL *PFNGLRELEASESHADERCOMPILERPROC)(void);\ntypedef void (REGAL_CALL *PFNGLSHADERBINARYPROC)(GLsizei count, const GLuint *shaders, GLenum binaryformat, const GLvoid *binary, GLsizei length);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_ES2_COMPATIBILITY\n#define glClearDepthf                       rglClearDepthf\n#define glDepthRangef                       rglDepthRangef\n#define glGetShaderPrecisionFormat          rglGetShaderPrecisionFormat\n#define glReleaseShaderCompiler             rglReleaseShaderCompiler\n#define glShaderBinary                      rglShaderBinary\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_ES2_COMPATIBILITY\nREGAL_DECL void REGAL_CALL glClearDepthf(GLclampf d);\nREGAL_DECL void REGAL_CALL glDepthRangef(GLclampf n, GLclampf f);\nREGAL_DECL void REGAL_CALL glGetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision);\nREGAL_DECL void REGAL_CALL glReleaseShaderCompiler(void);\nREGAL_DECL void REGAL_CALL glShaderBinary(GLsizei count, const GLuint *shaders, GLenum binaryformat, const GLvoid *binary, GLsizei length);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_ES2_COMPATIBILITY\nREGAL_DECL void REGAL_CALL plugin_glClearDepthf(GLclampf d);\nREGAL_DECL void REGAL_CALL plugin_glDepthRangef(GLclampf n, GLclampf f);\nREGAL_DECL void REGAL_CALL plugin_glGetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision);\nREGAL_DECL void REGAL_CALL plugin_glReleaseShaderCompiler(void);\nREGAL_DECL void REGAL_CALL plugin_glShaderBinary(GLsizei count, const GLuint *shaders, GLenum binaryformat, const GLvoid *binary, GLsizei length);\n#endif\n\n/**\n ** GL_ARB_ES3_compatibility\n **/\n\n#if (defined(GL_ARB_ES3_COMPATIBILITY) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_ES3_COMPATIBILITY)) && !defined(REGAL_NO_ENUM_GL_ARB_ES3_COMPATIBILITY)\n#define REGAL_NO_ENUM_GL_ARB_ES3_COMPATIBILITY\n#endif\n\n#if (defined(GL_ARB_ES3_COMPATIBILITY) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_ES3_COMPATIBILITY)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_ES3_COMPATIBILITY)\n#define REGAL_NO_TYPEDEF_GL_ARB_ES3_COMPATIBILITY\n#endif\n\n#if (defined(GL_ARB_ES3_COMPATIBILITY) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_ES3_COMPATIBILITY)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_ES3_COMPATIBILITY)\n#define REGAL_NO_NAMESPACE_GL_ARB_ES3_COMPATIBILITY\n#endif\n\n#if (defined(GL_ARB_ES3_COMPATIBILITY) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_ES3_COMPATIBILITY)) && !defined(REGAL_NO_PLUGIN_GL_ARB_ES3_COMPATIBILITY)\n#define REGAL_NO_PLUGIN_GL_ARB_ES3_COMPATIBILITY\n#endif\n\n#if (defined(GL_ARB_ES3_COMPATIBILITY) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_ES3_COMPATIBILITY)) && !defined(REGAL_NO_DECLARATION_GL_ARB_ES3_COMPATIBILITY)\n#define REGAL_NO_DECLARATION_GL_ARB_ES3_COMPATIBILITY\n#endif\n\n#ifndef GL_ARB_ES3_compatibility\n#define GL_ARB_ES3_compatibility 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_ES3_COMPATIBILITY\n#define GL_PRIMITIVE_RESTART_FIXED_INDEX             0x8d69     /* 36201 */\n#define GL_ANY_SAMPLES_PASSED_CONSERVATIVE           0x8d6a     /* 36202 */\n#define GL_MAX_ELEMENT_INDEX                         0x8d6b     /* 36203 */\n#define GL_COMPRESSED_R11_EAC                        0x9270     /* 37488 */\n#define GL_COMPRESSED_SIGNED_R11_EAC                 0x9271     /* 37489 */\n#define GL_COMPRESSED_RG11_EAC                       0x9272     /* 37490 */\n#define GL_COMPRESSED_SIGNED_RG11_EAC                0x9273     /* 37491 */\n#define GL_COMPRESSED_RGB8_ETC2                      0x9274     /* 37492 */\n#define GL_COMPRESSED_SRGB8_ETC2                     0x9275     /* 37493 */\n#define GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2  0x9276     /* 37494 */\n#define GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 0x9277     /* 37495 */\n#define GL_COMPRESSED_RGBA8_ETC2_EAC                 0x9278     /* 37496 */\n#define GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC          0x9279     /* 37497 */\n#endif\n\n/**\n ** GL_ARB_base_instance\n **/\n\n#if (defined(GL_ARB_BASE_INSTANCE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_BASE_INSTANCE)) && !defined(REGAL_NO_ENUM_GL_ARB_BASE_INSTANCE)\n#define REGAL_NO_ENUM_GL_ARB_BASE_INSTANCE\n#endif\n\n#if (defined(GL_ARB_BASE_INSTANCE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_BASE_INSTANCE)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_BASE_INSTANCE)\n#define REGAL_NO_TYPEDEF_GL_ARB_BASE_INSTANCE\n#endif\n\n#if (defined(GL_ARB_BASE_INSTANCE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_BASE_INSTANCE)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_BASE_INSTANCE)\n#define REGAL_NO_NAMESPACE_GL_ARB_BASE_INSTANCE\n#endif\n\n#if (defined(GL_ARB_BASE_INSTANCE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_BASE_INSTANCE)) && !defined(REGAL_NO_PLUGIN_GL_ARB_BASE_INSTANCE)\n#define REGAL_NO_PLUGIN_GL_ARB_BASE_INSTANCE\n#endif\n\n#if (defined(GL_ARB_BASE_INSTANCE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_BASE_INSTANCE)) && !defined(REGAL_NO_DECLARATION_GL_ARB_BASE_INSTANCE)\n#define REGAL_NO_DECLARATION_GL_ARB_BASE_INSTANCE\n#endif\n\n#ifndef GL_ARB_base_instance\n#define GL_ARB_base_instance 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_BASE_INSTANCE\ntypedef void (REGAL_CALL *PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC)(GLenum mode, GLint first, GLsizei count, GLsizei primcount, GLuint baseinstance);\ntypedef void (REGAL_CALL *PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC)(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount, GLuint baseinstance);\ntypedef void (REGAL_CALL *PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC)(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount, GLint basevertex, GLuint baseinstance);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_BASE_INSTANCE\n#define glDrawArraysInstancedBaseInstance   rglDrawArraysInstancedBaseInstance\n#define glDrawElementsInstancedBaseInstance rglDrawElementsInstancedBaseInstance\n#define glDrawElementsInstancedBaseVertexBaseInstance rglDrawElementsInstancedBaseVertexBaseInstance\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_BASE_INSTANCE\nREGAL_DECL void REGAL_CALL glDrawArraysInstancedBaseInstance(GLenum mode, GLint first, GLsizei count, GLsizei primcount, GLuint baseinstance);\nREGAL_DECL void REGAL_CALL glDrawElementsInstancedBaseInstance(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount, GLuint baseinstance);\nREGAL_DECL void REGAL_CALL glDrawElementsInstancedBaseVertexBaseInstance(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount, GLint basevertex, GLuint baseinstance);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_BASE_INSTANCE\nREGAL_DECL void REGAL_CALL plugin_glDrawArraysInstancedBaseInstance(GLenum mode, GLint first, GLsizei count, GLsizei primcount, GLuint baseinstance);\nREGAL_DECL void REGAL_CALL plugin_glDrawElementsInstancedBaseInstance(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount, GLuint baseinstance);\nREGAL_DECL void REGAL_CALL plugin_glDrawElementsInstancedBaseVertexBaseInstance(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount, GLint basevertex, GLuint baseinstance);\n#endif\n\n/**\n ** GL_ARB_bindless_texture\n **/\n\n#if (defined(GL_ARB_BINDLESS_TEXTURE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_BINDLESS_TEXTURE)) && !defined(REGAL_NO_ENUM_GL_ARB_BINDLESS_TEXTURE)\n#define REGAL_NO_ENUM_GL_ARB_BINDLESS_TEXTURE\n#endif\n\n#if (defined(GL_ARB_BINDLESS_TEXTURE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_BINDLESS_TEXTURE)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_BINDLESS_TEXTURE)\n#define REGAL_NO_TYPEDEF_GL_ARB_BINDLESS_TEXTURE\n#endif\n\n#if (defined(GL_ARB_BINDLESS_TEXTURE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_BINDLESS_TEXTURE)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_BINDLESS_TEXTURE)\n#define REGAL_NO_NAMESPACE_GL_ARB_BINDLESS_TEXTURE\n#endif\n\n#if (defined(GL_ARB_BINDLESS_TEXTURE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_BINDLESS_TEXTURE)) && !defined(REGAL_NO_PLUGIN_GL_ARB_BINDLESS_TEXTURE)\n#define REGAL_NO_PLUGIN_GL_ARB_BINDLESS_TEXTURE\n#endif\n\n#if (defined(GL_ARB_BINDLESS_TEXTURE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_BINDLESS_TEXTURE)) && !defined(REGAL_NO_DECLARATION_GL_ARB_BINDLESS_TEXTURE)\n#define REGAL_NO_DECLARATION_GL_ARB_BINDLESS_TEXTURE\n#endif\n\n#ifndef GL_ARB_bindless_texture\n#define GL_ARB_bindless_texture 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_BINDLESS_TEXTURE\n#define GL_UNSIGNED_INT64_ARB 0x140f /* 5135 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_BINDLESS_TEXTURE\ntypedef GLboolean (REGAL_CALL *PFNGLISIMAGEHANDLERESIDENTARBPROC)(GLuint64 handle);\ntypedef GLboolean (REGAL_CALL *PFNGLISTEXTUREHANDLERESIDENTARBPROC)(GLuint64 handle);\ntypedef GLuint64 (REGAL_CALL *PFNGLGETIMAGEHANDLEARBPROC)(GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum format);\ntypedef GLuint64 (REGAL_CALL *PFNGLGETTEXTUREHANDLEARBPROC)(GLuint texture);\ntypedef GLuint64 (REGAL_CALL *PFNGLGETTEXTURESAMPLERHANDLEARBPROC)(GLuint texture, GLuint sampler);\ntypedef void (REGAL_CALL *PFNGLGETVERTEXATTRIBLUI64VARBPROC)(GLuint index, GLenum pname, GLuint64EXT *params);\ntypedef void (REGAL_CALL *PFNGLMAKEIMAGEHANDLENONRESIDENTARBPROC)(GLuint64 handle);\ntypedef void (REGAL_CALL *PFNGLMAKEIMAGEHANDLERESIDENTARBPROC)(GLuint64 handle, GLenum access);\ntypedef void (REGAL_CALL *PFNGLMAKETEXTUREHANDLENONRESIDENTARBPROC)(GLuint64 handle);\ntypedef void (REGAL_CALL *PFNGLMAKETEXTUREHANDLERESIDENTARBPROC)(GLuint64 handle);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMHANDLEUI64ARBPROC)(GLuint program, GLint location, GLuint64 value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMHANDLEUI64VARBPROC)(GLuint program, GLint location, GLsizei count, const GLuint64 *values);\ntypedef void (REGAL_CALL *PFNGLUNIFORMHANDLEUI64ARBPROC)(GLint location, GLuint64 value);\ntypedef void (REGAL_CALL *PFNGLUNIFORMHANDLEUI64VARBPROC)(GLint location, GLsizei count, const GLuint64 *value);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBL1UI64ARBPROC)(GLuint index, GLuint64EXT x);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBL1UI64VARBPROC)(GLuint index, const GLuint64EXT *v);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_BINDLESS_TEXTURE\n#define glGetImageHandleARB                 rglGetImageHandleARB\n#define glGetTextureHandleARB               rglGetTextureHandleARB\n#define glGetTextureSamplerHandleARB        rglGetTextureSamplerHandleARB\n#define glGetVertexAttribLui64vARB          rglGetVertexAttribLui64vARB\n#define glIsImageHandleResidentARB          rglIsImageHandleResidentARB\n#define glIsTextureHandleResidentARB        rglIsTextureHandleResidentARB\n#define glMakeImageHandleNonResidentARB     rglMakeImageHandleNonResidentARB\n#define glMakeImageHandleResidentARB        rglMakeImageHandleResidentARB\n#define glMakeTextureHandleNonResidentARB   rglMakeTextureHandleNonResidentARB\n#define glMakeTextureHandleResidentARB      rglMakeTextureHandleResidentARB\n#define glProgramUniformHandleui64ARB       rglProgramUniformHandleui64ARB\n#define glProgramUniformHandleui64vARB      rglProgramUniformHandleui64vARB\n#define glUniformHandleui64ARB              rglUniformHandleui64ARB\n#define glUniformHandleui64vARB             rglUniformHandleui64vARB\n#define glVertexAttribL1ui64ARB             rglVertexAttribL1ui64ARB\n#define glVertexAttribL1ui64vARB            rglVertexAttribL1ui64vARB\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_BINDLESS_TEXTURE\nREGAL_DECL GLboolean REGAL_CALL glIsImageHandleResidentARB(GLuint64 handle);\nREGAL_DECL GLboolean REGAL_CALL glIsTextureHandleResidentARB(GLuint64 handle);\nREGAL_DECL GLuint64 REGAL_CALL glGetImageHandleARB(GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum format);\nREGAL_DECL GLuint64 REGAL_CALL glGetTextureHandleARB(GLuint texture);\nREGAL_DECL GLuint64 REGAL_CALL glGetTextureSamplerHandleARB(GLuint texture, GLuint sampler);\nREGAL_DECL void REGAL_CALL glGetVertexAttribLui64vARB(GLuint index, GLenum pname, GLuint64EXT *params);\nREGAL_DECL void REGAL_CALL glMakeImageHandleNonResidentARB(GLuint64 handle);\nREGAL_DECL void REGAL_CALL glMakeImageHandleResidentARB(GLuint64 handle, GLenum access);\nREGAL_DECL void REGAL_CALL glMakeTextureHandleNonResidentARB(GLuint64 handle);\nREGAL_DECL void REGAL_CALL glMakeTextureHandleResidentARB(GLuint64 handle);\nREGAL_DECL void REGAL_CALL glProgramUniformHandleui64ARB(GLuint program, GLint location, GLuint64 value);\nREGAL_DECL void REGAL_CALL glProgramUniformHandleui64vARB(GLuint program, GLint location, GLsizei count, const GLuint64 *values);\nREGAL_DECL void REGAL_CALL glUniformHandleui64ARB(GLint location, GLuint64 value);\nREGAL_DECL void REGAL_CALL glUniformHandleui64vARB(GLint location, GLsizei count, const GLuint64 *value);\nREGAL_DECL void REGAL_CALL glVertexAttribL1ui64ARB(GLuint index, GLuint64EXT x);\nREGAL_DECL void REGAL_CALL glVertexAttribL1ui64vARB(GLuint index, const GLuint64EXT *v);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_BINDLESS_TEXTURE\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsImageHandleResidentARB(GLuint64 handle);\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsTextureHandleResidentARB(GLuint64 handle);\nREGAL_DECL GLuint64 REGAL_CALL plugin_glGetImageHandleARB(GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum format);\nREGAL_DECL GLuint64 REGAL_CALL plugin_glGetTextureHandleARB(GLuint texture);\nREGAL_DECL GLuint64 REGAL_CALL plugin_glGetTextureSamplerHandleARB(GLuint texture, GLuint sampler);\nREGAL_DECL void REGAL_CALL plugin_glGetVertexAttribLui64vARB(GLuint index, GLenum pname, GLuint64EXT *params);\nREGAL_DECL void REGAL_CALL plugin_glMakeImageHandleNonResidentARB(GLuint64 handle);\nREGAL_DECL void REGAL_CALL plugin_glMakeImageHandleResidentARB(GLuint64 handle, GLenum access);\nREGAL_DECL void REGAL_CALL plugin_glMakeTextureHandleNonResidentARB(GLuint64 handle);\nREGAL_DECL void REGAL_CALL plugin_glMakeTextureHandleResidentARB(GLuint64 handle);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformHandleui64ARB(GLuint program, GLint location, GLuint64 value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformHandleui64vARB(GLuint program, GLint location, GLsizei count, const GLuint64 *values);\nREGAL_DECL void REGAL_CALL plugin_glUniformHandleui64ARB(GLint location, GLuint64 value);\nREGAL_DECL void REGAL_CALL plugin_glUniformHandleui64vARB(GLint location, GLsizei count, const GLuint64 *value);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribL1ui64ARB(GLuint index, GLuint64EXT x);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribL1ui64vARB(GLuint index, const GLuint64EXT *v);\n#endif\n\n/**\n ** GL_ARB_blend_func_extended\n **/\n\n#if (defined(GL_ARB_BLEND_FUNC_EXTENDED) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_BLEND_FUNC_EXTENDED)) && !defined(REGAL_NO_ENUM_GL_ARB_BLEND_FUNC_EXTENDED)\n#define REGAL_NO_ENUM_GL_ARB_BLEND_FUNC_EXTENDED\n#endif\n\n#if (defined(GL_ARB_BLEND_FUNC_EXTENDED) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_BLEND_FUNC_EXTENDED)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_BLEND_FUNC_EXTENDED)\n#define REGAL_NO_TYPEDEF_GL_ARB_BLEND_FUNC_EXTENDED\n#endif\n\n#if (defined(GL_ARB_BLEND_FUNC_EXTENDED) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_BLEND_FUNC_EXTENDED)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_BLEND_FUNC_EXTENDED)\n#define REGAL_NO_NAMESPACE_GL_ARB_BLEND_FUNC_EXTENDED\n#endif\n\n#if (defined(GL_ARB_BLEND_FUNC_EXTENDED) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_BLEND_FUNC_EXTENDED)) && !defined(REGAL_NO_PLUGIN_GL_ARB_BLEND_FUNC_EXTENDED)\n#define REGAL_NO_PLUGIN_GL_ARB_BLEND_FUNC_EXTENDED\n#endif\n\n#if (defined(GL_ARB_BLEND_FUNC_EXTENDED) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_BLEND_FUNC_EXTENDED)) && !defined(REGAL_NO_DECLARATION_GL_ARB_BLEND_FUNC_EXTENDED)\n#define REGAL_NO_DECLARATION_GL_ARB_BLEND_FUNC_EXTENDED\n#endif\n\n#ifndef GL_ARB_blend_func_extended\n#define GL_ARB_blend_func_extended 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_BLEND_FUNC_EXTENDED\n#define GL_SRC1_COLOR                   0x88f9     /* 35065 */\n#define GL_ONE_MINUS_SRC1_COLOR         0x88fa     /* 35066 */\n#define GL_ONE_MINUS_SRC1_ALPHA         0x88fb     /* 35067 */\n#define GL_MAX_DUAL_SOURCE_DRAW_BUFFERS 0x88fc     /* 35068 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_BLEND_FUNC_EXTENDED\ntypedef GLint (REGAL_CALL *PFNGLGETFRAGDATAINDEXPROC)(GLuint program, const GLchar *name);\ntypedef void (REGAL_CALL *PFNGLBINDFRAGDATALOCATIONINDEXEDPROC)(GLuint program, GLuint colorNumber, GLuint index, const GLchar *name);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_BLEND_FUNC_EXTENDED\n#define glBindFragDataLocationIndexed       rglBindFragDataLocationIndexed\n#define glGetFragDataIndex                  rglGetFragDataIndex\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_BLEND_FUNC_EXTENDED\nREGAL_DECL GLint REGAL_CALL glGetFragDataIndex(GLuint program, const GLchar *name);\nREGAL_DECL void REGAL_CALL glBindFragDataLocationIndexed(GLuint program, GLuint colorNumber, GLuint index, const GLchar *name);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_BLEND_FUNC_EXTENDED\nREGAL_DECL GLint REGAL_CALL plugin_glGetFragDataIndex(GLuint program, const GLchar *name);\nREGAL_DECL void REGAL_CALL plugin_glBindFragDataLocationIndexed(GLuint program, GLuint colorNumber, GLuint index, const GLchar *name);\n#endif\n\n/**\n ** GL_ARB_buffer_storage\n **/\n\n#if (defined(GL_ARB_BUFFER_STORAGE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_BUFFER_STORAGE)) && !defined(REGAL_NO_ENUM_GL_ARB_BUFFER_STORAGE)\n#define REGAL_NO_ENUM_GL_ARB_BUFFER_STORAGE\n#endif\n\n#if (defined(GL_ARB_BUFFER_STORAGE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_BUFFER_STORAGE)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_BUFFER_STORAGE)\n#define REGAL_NO_TYPEDEF_GL_ARB_BUFFER_STORAGE\n#endif\n\n#if (defined(GL_ARB_BUFFER_STORAGE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_BUFFER_STORAGE)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_BUFFER_STORAGE)\n#define REGAL_NO_NAMESPACE_GL_ARB_BUFFER_STORAGE\n#endif\n\n#if (defined(GL_ARB_BUFFER_STORAGE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_BUFFER_STORAGE)) && !defined(REGAL_NO_PLUGIN_GL_ARB_BUFFER_STORAGE)\n#define REGAL_NO_PLUGIN_GL_ARB_BUFFER_STORAGE\n#endif\n\n#if (defined(GL_ARB_BUFFER_STORAGE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_BUFFER_STORAGE)) && !defined(REGAL_NO_DECLARATION_GL_ARB_BUFFER_STORAGE)\n#define REGAL_NO_DECLARATION_GL_ARB_BUFFER_STORAGE\n#endif\n\n#ifndef GL_ARB_buffer_storage\n#define GL_ARB_buffer_storage 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_BUFFER_STORAGE\n#define GL_DYNAMIC_STORAGE_BIT              0x100      /* 256 */\n#define GL_CLIENT_STORAGE_BIT               0x200      /* 512 */\n#define GL_MAP_PERSISTENT_BIT               0x40       /* 64 */\n#define GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT 0x4000     /* 16384 */\n#define GL_MAP_COHERENT_BIT                 0x80       /* 128 */\n#define GL_BUFFER_IMMUTABLE_STORAGE         0x821f     /* 33311 */\n#define GL_BUFFER_STORAGE_FLAGS             0x8220     /* 33312 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_BUFFER_STORAGE\ntypedef void (REGAL_CALL *PFNGLBUFFERSTORAGEPROC)(GLenum target, GLsizeiptr size, const GLvoid *data, GLbitfield flags);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_BUFFER_STORAGE\n#define glBufferStorage                     rglBufferStorage\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_BUFFER_STORAGE\nREGAL_DECL void REGAL_CALL glBufferStorage(GLenum target, GLsizeiptr size, const GLvoid *data, GLbitfield flags);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_BUFFER_STORAGE\nREGAL_DECL void REGAL_CALL plugin_glBufferStorage(GLenum target, GLsizeiptr size, const GLvoid *data, GLbitfield flags);\n#endif\n\n/**\n ** GL_ARB_cl_event\n **/\n\n#if (defined(GL_ARB_CL_EVENT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_CL_EVENT)) && !defined(REGAL_NO_ENUM_GL_ARB_CL_EVENT)\n#define REGAL_NO_ENUM_GL_ARB_CL_EVENT\n#endif\n\n#if (defined(GL_ARB_CL_EVENT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_CL_EVENT)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_CL_EVENT)\n#define REGAL_NO_TYPEDEF_GL_ARB_CL_EVENT\n#endif\n\n#if (defined(GL_ARB_CL_EVENT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_CL_EVENT)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_CL_EVENT)\n#define REGAL_NO_NAMESPACE_GL_ARB_CL_EVENT\n#endif\n\n#if (defined(GL_ARB_CL_EVENT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_CL_EVENT)) && !defined(REGAL_NO_PLUGIN_GL_ARB_CL_EVENT)\n#define REGAL_NO_PLUGIN_GL_ARB_CL_EVENT\n#endif\n\n#if (defined(GL_ARB_CL_EVENT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_CL_EVENT)) && !defined(REGAL_NO_DECLARATION_GL_ARB_CL_EVENT)\n#define REGAL_NO_DECLARATION_GL_ARB_CL_EVENT\n#endif\n\n#ifndef GL_ARB_cl_event\n#define GL_ARB_cl_event 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_CL_EVENT\n#define GL_SYNC_CL_EVENT_ARB          0x8240     /* 33344 */\n#define GL_SYNC_CL_EVENT_COMPLETE_ARB 0x8241     /* 33345 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_CL_EVENT\ntypedef GLsync (REGAL_CALL *PFNGLCREATESYNCFROMCLEVENTARBPROC)(cl_context context, cl_event event, GLbitfield flags);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_CL_EVENT\n#define glCreateSyncFromCLeventARB          rglCreateSyncFromCLeventARB\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_CL_EVENT\nREGAL_DECL GLsync REGAL_CALL glCreateSyncFromCLeventARB(cl_context context, cl_event event, GLbitfield flags);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_CL_EVENT\nREGAL_DECL GLsync REGAL_CALL plugin_glCreateSyncFromCLeventARB(cl_context context, cl_event event, GLbitfield flags);\n#endif\n\n/**\n ** GL_ARB_clear_buffer_object\n **/\n\n#if (defined(GL_ARB_CLEAR_BUFFER_OBJECT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_CLEAR_BUFFER_OBJECT)) && !defined(REGAL_NO_ENUM_GL_ARB_CLEAR_BUFFER_OBJECT)\n#define REGAL_NO_ENUM_GL_ARB_CLEAR_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_ARB_CLEAR_BUFFER_OBJECT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_CLEAR_BUFFER_OBJECT)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_CLEAR_BUFFER_OBJECT)\n#define REGAL_NO_TYPEDEF_GL_ARB_CLEAR_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_ARB_CLEAR_BUFFER_OBJECT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_CLEAR_BUFFER_OBJECT)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_CLEAR_BUFFER_OBJECT)\n#define REGAL_NO_NAMESPACE_GL_ARB_CLEAR_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_ARB_CLEAR_BUFFER_OBJECT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_CLEAR_BUFFER_OBJECT)) && !defined(REGAL_NO_PLUGIN_GL_ARB_CLEAR_BUFFER_OBJECT)\n#define REGAL_NO_PLUGIN_GL_ARB_CLEAR_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_ARB_CLEAR_BUFFER_OBJECT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_CLEAR_BUFFER_OBJECT)) && !defined(REGAL_NO_DECLARATION_GL_ARB_CLEAR_BUFFER_OBJECT)\n#define REGAL_NO_DECLARATION_GL_ARB_CLEAR_BUFFER_OBJECT\n#endif\n\n#ifndef GL_ARB_clear_buffer_object\n#define GL_ARB_clear_buffer_object 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_CLEAR_BUFFER_OBJECT\ntypedef void (REGAL_CALL *PFNGLCLEARBUFFERDATAPROC)(GLenum target, GLenum internalformat, GLenum format, GLenum type, const GLvoid *data);\ntypedef void (REGAL_CALL *PFNGLCLEARBUFFERSUBDATAPROC)(GLenum target, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const GLvoid *data);\ntypedef void (REGAL_CALL *PFNGLCLEARNAMEDBUFFERDATAEXTPROC)(GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const GLvoid *data);\ntypedef void (REGAL_CALL *PFNGLCLEARNAMEDBUFFERSUBDATAEXTPROC)(GLuint buffer, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const GLvoid *data);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_CLEAR_BUFFER_OBJECT\n#define glClearBufferData                   rglClearBufferData\n#define glClearBufferSubData                rglClearBufferSubData\n#define glClearNamedBufferDataEXT           rglClearNamedBufferDataEXT\n#define glClearNamedBufferSubDataEXT        rglClearNamedBufferSubDataEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_CLEAR_BUFFER_OBJECT\nREGAL_DECL void REGAL_CALL glClearBufferData(GLenum target, GLenum internalformat, GLenum format, GLenum type, const GLvoid *data);\nREGAL_DECL void REGAL_CALL glClearBufferSubData(GLenum target, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const GLvoid *data);\nREGAL_DECL void REGAL_CALL glClearNamedBufferDataEXT(GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const GLvoid *data);\nREGAL_DECL void REGAL_CALL glClearNamedBufferSubDataEXT(GLuint buffer, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const GLvoid *data);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_CLEAR_BUFFER_OBJECT\nREGAL_DECL void REGAL_CALL plugin_glClearBufferData(GLenum target, GLenum internalformat, GLenum format, GLenum type, const GLvoid *data);\nREGAL_DECL void REGAL_CALL plugin_glClearBufferSubData(GLenum target, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const GLvoid *data);\nREGAL_DECL void REGAL_CALL plugin_glClearNamedBufferDataEXT(GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const GLvoid *data);\nREGAL_DECL void REGAL_CALL plugin_glClearNamedBufferSubDataEXT(GLuint buffer, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const GLvoid *data);\n#endif\n\n/**\n ** GL_ARB_clear_texture\n **/\n\n#if (defined(GL_ARB_CLEAR_TEXTURE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_CLEAR_TEXTURE)) && !defined(REGAL_NO_ENUM_GL_ARB_CLEAR_TEXTURE)\n#define REGAL_NO_ENUM_GL_ARB_CLEAR_TEXTURE\n#endif\n\n#if (defined(GL_ARB_CLEAR_TEXTURE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_CLEAR_TEXTURE)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_CLEAR_TEXTURE)\n#define REGAL_NO_TYPEDEF_GL_ARB_CLEAR_TEXTURE\n#endif\n\n#if (defined(GL_ARB_CLEAR_TEXTURE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_CLEAR_TEXTURE)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_CLEAR_TEXTURE)\n#define REGAL_NO_NAMESPACE_GL_ARB_CLEAR_TEXTURE\n#endif\n\n#if (defined(GL_ARB_CLEAR_TEXTURE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_CLEAR_TEXTURE)) && !defined(REGAL_NO_PLUGIN_GL_ARB_CLEAR_TEXTURE)\n#define REGAL_NO_PLUGIN_GL_ARB_CLEAR_TEXTURE\n#endif\n\n#if (defined(GL_ARB_CLEAR_TEXTURE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_CLEAR_TEXTURE)) && !defined(REGAL_NO_DECLARATION_GL_ARB_CLEAR_TEXTURE)\n#define REGAL_NO_DECLARATION_GL_ARB_CLEAR_TEXTURE\n#endif\n\n#ifndef GL_ARB_clear_texture\n#define GL_ARB_clear_texture 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_CLEAR_TEXTURE\n#define GL_CLEAR_TEXTURE 0x9365 /* 37733 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_CLEAR_TEXTURE\ntypedef void (REGAL_CALL *PFNGLCLEARTEXIMAGEPROC)(GLuint texture, GLint level, GLenum format, GLenum type, const GLvoid *data);\ntypedef void (REGAL_CALL *PFNGLCLEARTEXSUBIMAGEPROC)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *data);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_CLEAR_TEXTURE\n#define glClearTexImage                     rglClearTexImage\n#define glClearTexSubImage                  rglClearTexSubImage\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_CLEAR_TEXTURE\nREGAL_DECL void REGAL_CALL glClearTexImage(GLuint texture, GLint level, GLenum format, GLenum type, const GLvoid *data);\nREGAL_DECL void REGAL_CALL glClearTexSubImage(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *data);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_CLEAR_TEXTURE\nREGAL_DECL void REGAL_CALL plugin_glClearTexImage(GLuint texture, GLint level, GLenum format, GLenum type, const GLvoid *data);\nREGAL_DECL void REGAL_CALL plugin_glClearTexSubImage(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *data);\n#endif\n\n/**\n ** GL_ARB_color_buffer_float\n **/\n\n#if (defined(GL_ARB_COLOR_BUFFER_FLOAT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_COLOR_BUFFER_FLOAT)) && !defined(REGAL_NO_ENUM_GL_ARB_COLOR_BUFFER_FLOAT)\n#define REGAL_NO_ENUM_GL_ARB_COLOR_BUFFER_FLOAT\n#endif\n\n#if (defined(GL_ARB_COLOR_BUFFER_FLOAT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_COLOR_BUFFER_FLOAT)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_COLOR_BUFFER_FLOAT)\n#define REGAL_NO_TYPEDEF_GL_ARB_COLOR_BUFFER_FLOAT\n#endif\n\n#if (defined(GL_ARB_COLOR_BUFFER_FLOAT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_COLOR_BUFFER_FLOAT)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_COLOR_BUFFER_FLOAT)\n#define REGAL_NO_NAMESPACE_GL_ARB_COLOR_BUFFER_FLOAT\n#endif\n\n#if (defined(GL_ARB_COLOR_BUFFER_FLOAT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_COLOR_BUFFER_FLOAT)) && !defined(REGAL_NO_PLUGIN_GL_ARB_COLOR_BUFFER_FLOAT)\n#define REGAL_NO_PLUGIN_GL_ARB_COLOR_BUFFER_FLOAT\n#endif\n\n#if (defined(GL_ARB_COLOR_BUFFER_FLOAT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_COLOR_BUFFER_FLOAT)) && !defined(REGAL_NO_DECLARATION_GL_ARB_COLOR_BUFFER_FLOAT)\n#define REGAL_NO_DECLARATION_GL_ARB_COLOR_BUFFER_FLOAT\n#endif\n\n#ifndef GL_ARB_color_buffer_float\n#define GL_ARB_color_buffer_float 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_COLOR_BUFFER_FLOAT\n#define GL_RGBA_FLOAT_MODE_ARB      0x8820     /* 34848 */\n#define GL_CLAMP_VERTEX_COLOR_ARB   0x891a     /* 35098 */\n#define GL_CLAMP_FRAGMENT_COLOR_ARB 0x891b     /* 35099 */\n#define GL_CLAMP_READ_COLOR_ARB     0x891c     /* 35100 */\n#define GL_FIXED_ONLY_ARB           0x891d     /* 35101 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_COLOR_BUFFER_FLOAT\ntypedef void (REGAL_CALL *PFNGLCLAMPCOLORARBPROC)(GLenum target, GLenum clamp);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_COLOR_BUFFER_FLOAT\n#define glClampColorARB                     rglClampColorARB\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_COLOR_BUFFER_FLOAT\nREGAL_DECL void REGAL_CALL glClampColorARB(GLenum target, GLenum clamp);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_COLOR_BUFFER_FLOAT\nREGAL_DECL void REGAL_CALL plugin_glClampColorARB(GLenum target, GLenum clamp);\n#endif\n\n/**\n ** GL_ARB_compressed_texture_pixel_storage\n **/\n\n#if (defined(GL_ARB_COMPRESSED_TEXTURE_PIXEL_STORAGE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_COMPRESSED_TEXTURE_PIXEL_STORAGE)) && !defined(REGAL_NO_ENUM_GL_ARB_COMPRESSED_TEXTURE_PIXEL_STORAGE)\n#define REGAL_NO_ENUM_GL_ARB_COMPRESSED_TEXTURE_PIXEL_STORAGE\n#endif\n\n#if (defined(GL_ARB_COMPRESSED_TEXTURE_PIXEL_STORAGE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_COMPRESSED_TEXTURE_PIXEL_STORAGE)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_COMPRESSED_TEXTURE_PIXEL_STORAGE)\n#define REGAL_NO_TYPEDEF_GL_ARB_COMPRESSED_TEXTURE_PIXEL_STORAGE\n#endif\n\n#if (defined(GL_ARB_COMPRESSED_TEXTURE_PIXEL_STORAGE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_COMPRESSED_TEXTURE_PIXEL_STORAGE)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_COMPRESSED_TEXTURE_PIXEL_STORAGE)\n#define REGAL_NO_NAMESPACE_GL_ARB_COMPRESSED_TEXTURE_PIXEL_STORAGE\n#endif\n\n#if (defined(GL_ARB_COMPRESSED_TEXTURE_PIXEL_STORAGE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_COMPRESSED_TEXTURE_PIXEL_STORAGE)) && !defined(REGAL_NO_PLUGIN_GL_ARB_COMPRESSED_TEXTURE_PIXEL_STORAGE)\n#define REGAL_NO_PLUGIN_GL_ARB_COMPRESSED_TEXTURE_PIXEL_STORAGE\n#endif\n\n#if (defined(GL_ARB_COMPRESSED_TEXTURE_PIXEL_STORAGE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_COMPRESSED_TEXTURE_PIXEL_STORAGE)) && !defined(REGAL_NO_DECLARATION_GL_ARB_COMPRESSED_TEXTURE_PIXEL_STORAGE)\n#define REGAL_NO_DECLARATION_GL_ARB_COMPRESSED_TEXTURE_PIXEL_STORAGE\n#endif\n\n#ifndef GL_ARB_compressed_texture_pixel_storage\n#define GL_ARB_compressed_texture_pixel_storage 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_COMPRESSED_TEXTURE_PIXEL_STORAGE\n#define GL_UNPACK_COMPRESSED_BLOCK_WIDTH  0x9127     /* 37159 */\n#define GL_UNPACK_COMPRESSED_BLOCK_HEIGHT 0x9128     /* 37160 */\n#define GL_UNPACK_COMPRESSED_BLOCK_DEPTH  0x9129     /* 37161 */\n#define GL_UNPACK_COMPRESSED_BLOCK_SIZE   0x912a     /* 37162 */\n#define GL_PACK_COMPRESSED_BLOCK_WIDTH    0x912b     /* 37163 */\n#define GL_PACK_COMPRESSED_BLOCK_HEIGHT   0x912c     /* 37164 */\n#define GL_PACK_COMPRESSED_BLOCK_DEPTH    0x912d     /* 37165 */\n#define GL_PACK_COMPRESSED_BLOCK_SIZE     0x912e     /* 37166 */\n#endif\n\n/**\n ** GL_ARB_compute_shader\n **/\n\n#if (defined(GL_ARB_COMPUTE_SHADER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_COMPUTE_SHADER)) && !defined(REGAL_NO_ENUM_GL_ARB_COMPUTE_SHADER)\n#define REGAL_NO_ENUM_GL_ARB_COMPUTE_SHADER\n#endif\n\n#if (defined(GL_ARB_COMPUTE_SHADER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_COMPUTE_SHADER)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_COMPUTE_SHADER)\n#define REGAL_NO_TYPEDEF_GL_ARB_COMPUTE_SHADER\n#endif\n\n#if (defined(GL_ARB_COMPUTE_SHADER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_COMPUTE_SHADER)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_COMPUTE_SHADER)\n#define REGAL_NO_NAMESPACE_GL_ARB_COMPUTE_SHADER\n#endif\n\n#if (defined(GL_ARB_COMPUTE_SHADER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_COMPUTE_SHADER)) && !defined(REGAL_NO_PLUGIN_GL_ARB_COMPUTE_SHADER)\n#define REGAL_NO_PLUGIN_GL_ARB_COMPUTE_SHADER\n#endif\n\n#if (defined(GL_ARB_COMPUTE_SHADER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_COMPUTE_SHADER)) && !defined(REGAL_NO_DECLARATION_GL_ARB_COMPUTE_SHADER)\n#define REGAL_NO_DECLARATION_GL_ARB_COMPUTE_SHADER\n#endif\n\n#ifndef GL_ARB_compute_shader\n#define GL_ARB_compute_shader 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_COMPUTE_SHADER\n#define GL_COMPUTE_SHADER_BIT                                 0x20       /* 32 */\n#define GL_MAX_COMPUTE_SHARED_MEMORY_SIZE                     0x8262     /* 33378 */\n#define GL_MAX_COMPUTE_UNIFORM_COMPONENTS                     0x8263     /* 33379 */\n#define GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS                 0x8264     /* 33380 */\n#define GL_MAX_COMPUTE_ATOMIC_COUNTERS                        0x8265     /* 33381 */\n#define GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS            0x8266     /* 33382 */\n#define GL_COMPUTE_WORK_GROUP_SIZE                            0x8267     /* 33383 */\n#define GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS                 0x90eb     /* 37099 */\n#define GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER         0x90ec     /* 37100 */\n#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER 0x90ed     /* 37101 */\n#define GL_DISPATCH_INDIRECT_BUFFER                           0x90ee     /* 37102 */\n#define GL_DISPATCH_INDIRECT_BUFFER_BINDING                   0x90ef     /* 37103 */\n#define GL_COMPUTE_SHADER                                     0x91b9     /* 37305 */\n#define GL_MAX_COMPUTE_UNIFORM_BLOCKS                         0x91bb     /* 37307 */\n#define GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS                    0x91bc     /* 37308 */\n#define GL_MAX_COMPUTE_IMAGE_UNIFORMS                         0x91bd     /* 37309 */\n#define GL_MAX_COMPUTE_WORK_GROUP_COUNT                       0x91be     /* 37310 */\n#define GL_MAX_COMPUTE_WORK_GROUP_SIZE                        0x91bf     /* 37311 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_COMPUTE_SHADER\ntypedef void (REGAL_CALL *PFNGLDISPATCHCOMPUTEINDIRECTPROC)(GLintptr indirect);\ntypedef void (REGAL_CALL *PFNGLDISPATCHCOMPUTEPROC)(GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_COMPUTE_SHADER\n#define glDispatchCompute                   rglDispatchCompute\n#define glDispatchComputeIndirect           rglDispatchComputeIndirect\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_COMPUTE_SHADER\nREGAL_DECL void REGAL_CALL glDispatchCompute(GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z);\nREGAL_DECL void REGAL_CALL glDispatchComputeIndirect(GLintptr indirect);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_COMPUTE_SHADER\nREGAL_DECL void REGAL_CALL plugin_glDispatchCompute(GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z);\nREGAL_DECL void REGAL_CALL plugin_glDispatchComputeIndirect(GLintptr indirect);\n#endif\n\n/**\n ** GL_ARB_compute_variable_group_size\n **/\n\n#if (defined(GL_ARB_COMPUTE_VARIABLE_GROUP_SIZE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_COMPUTE_VARIABLE_GROUP_SIZE)) && !defined(REGAL_NO_ENUM_GL_ARB_COMPUTE_VARIABLE_GROUP_SIZE)\n#define REGAL_NO_ENUM_GL_ARB_COMPUTE_VARIABLE_GROUP_SIZE\n#endif\n\n#if (defined(GL_ARB_COMPUTE_VARIABLE_GROUP_SIZE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_COMPUTE_VARIABLE_GROUP_SIZE)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_COMPUTE_VARIABLE_GROUP_SIZE)\n#define REGAL_NO_TYPEDEF_GL_ARB_COMPUTE_VARIABLE_GROUP_SIZE\n#endif\n\n#if (defined(GL_ARB_COMPUTE_VARIABLE_GROUP_SIZE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_COMPUTE_VARIABLE_GROUP_SIZE)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_COMPUTE_VARIABLE_GROUP_SIZE)\n#define REGAL_NO_NAMESPACE_GL_ARB_COMPUTE_VARIABLE_GROUP_SIZE\n#endif\n\n#if (defined(GL_ARB_COMPUTE_VARIABLE_GROUP_SIZE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_COMPUTE_VARIABLE_GROUP_SIZE)) && !defined(REGAL_NO_PLUGIN_GL_ARB_COMPUTE_VARIABLE_GROUP_SIZE)\n#define REGAL_NO_PLUGIN_GL_ARB_COMPUTE_VARIABLE_GROUP_SIZE\n#endif\n\n#if (defined(GL_ARB_COMPUTE_VARIABLE_GROUP_SIZE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_COMPUTE_VARIABLE_GROUP_SIZE)) && !defined(REGAL_NO_DECLARATION_GL_ARB_COMPUTE_VARIABLE_GROUP_SIZE)\n#define REGAL_NO_DECLARATION_GL_ARB_COMPUTE_VARIABLE_GROUP_SIZE\n#endif\n\n#ifndef GL_ARB_compute_variable_group_size\n#define GL_ARB_compute_variable_group_size 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_COMPUTE_VARIABLE_GROUP_SIZE\n#define GL_MAX_COMPUTE_FIXED_GROUP_INVOCATIONS_ARB    0x90eb     /* 37099 */\n#define GL_MAX_COMPUTE_FIXED_GROUP_SIZE_ARB           0x91bf     /* 37311 */\n#define GL_MAX_COMPUTE_VARIABLE_GROUP_INVOCATIONS_ARB 0x9344     /* 37700 */\n#define GL_MAX_COMPUTE_VARIABLE_GROUP_SIZE_ARB        0x9345     /* 37701 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_COMPUTE_VARIABLE_GROUP_SIZE\ntypedef void (REGAL_CALL *PFNGLDISPATCHCOMPUTEGROUPSIZEARBPROC)(GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z, GLuint group_size_x, GLuint group_size_y, GLuint group_size_z);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_COMPUTE_VARIABLE_GROUP_SIZE\n#define glDispatchComputeGroupSizeARB       rglDispatchComputeGroupSizeARB\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_COMPUTE_VARIABLE_GROUP_SIZE\nREGAL_DECL void REGAL_CALL glDispatchComputeGroupSizeARB(GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z, GLuint group_size_x, GLuint group_size_y, GLuint group_size_z);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_COMPUTE_VARIABLE_GROUP_SIZE\nREGAL_DECL void REGAL_CALL plugin_glDispatchComputeGroupSizeARB(GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z, GLuint group_size_x, GLuint group_size_y, GLuint group_size_z);\n#endif\n\n/**\n ** GL_ARB_copy_buffer\n **/\n\n#if (defined(GL_ARB_COPY_BUFFER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_COPY_BUFFER)) && !defined(REGAL_NO_ENUM_GL_ARB_COPY_BUFFER)\n#define REGAL_NO_ENUM_GL_ARB_COPY_BUFFER\n#endif\n\n#if (defined(GL_ARB_COPY_BUFFER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_COPY_BUFFER)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_COPY_BUFFER)\n#define REGAL_NO_TYPEDEF_GL_ARB_COPY_BUFFER\n#endif\n\n#if (defined(GL_ARB_COPY_BUFFER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_COPY_BUFFER)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_COPY_BUFFER)\n#define REGAL_NO_NAMESPACE_GL_ARB_COPY_BUFFER\n#endif\n\n#if (defined(GL_ARB_COPY_BUFFER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_COPY_BUFFER)) && !defined(REGAL_NO_PLUGIN_GL_ARB_COPY_BUFFER)\n#define REGAL_NO_PLUGIN_GL_ARB_COPY_BUFFER\n#endif\n\n#if (defined(GL_ARB_COPY_BUFFER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_COPY_BUFFER)) && !defined(REGAL_NO_DECLARATION_GL_ARB_COPY_BUFFER)\n#define REGAL_NO_DECLARATION_GL_ARB_COPY_BUFFER\n#endif\n\n#ifndef GL_ARB_copy_buffer\n#define GL_ARB_copy_buffer 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_COPY_BUFFER\n#define GL_COPY_READ_BUFFER  0x8f36     /* 36662 */\n#define GL_COPY_WRITE_BUFFER 0x8f37     /* 36663 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_COPY_BUFFER\ntypedef void (REGAL_CALL *PFNGLCOPYBUFFERSUBDATAPROC)(GLenum readtarget, GLenum writetarget, GLintptr readoffset, GLintptr writeoffset, GLsizeiptr size);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_COPY_BUFFER\n#define glCopyBufferSubData                 rglCopyBufferSubData\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_COPY_BUFFER\nREGAL_DECL void REGAL_CALL glCopyBufferSubData(GLenum readtarget, GLenum writetarget, GLintptr readoffset, GLintptr writeoffset, GLsizeiptr size);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_COPY_BUFFER\nREGAL_DECL void REGAL_CALL plugin_glCopyBufferSubData(GLenum readtarget, GLenum writetarget, GLintptr readoffset, GLintptr writeoffset, GLsizeiptr size);\n#endif\n\n/**\n ** GL_ARB_copy_image\n **/\n\n#if (defined(GL_ARB_COPY_IMAGE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_COPY_IMAGE)) && !defined(REGAL_NO_ENUM_GL_ARB_COPY_IMAGE)\n#define REGAL_NO_ENUM_GL_ARB_COPY_IMAGE\n#endif\n\n#if (defined(GL_ARB_COPY_IMAGE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_COPY_IMAGE)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_COPY_IMAGE)\n#define REGAL_NO_TYPEDEF_GL_ARB_COPY_IMAGE\n#endif\n\n#if (defined(GL_ARB_COPY_IMAGE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_COPY_IMAGE)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_COPY_IMAGE)\n#define REGAL_NO_NAMESPACE_GL_ARB_COPY_IMAGE\n#endif\n\n#if (defined(GL_ARB_COPY_IMAGE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_COPY_IMAGE)) && !defined(REGAL_NO_PLUGIN_GL_ARB_COPY_IMAGE)\n#define REGAL_NO_PLUGIN_GL_ARB_COPY_IMAGE\n#endif\n\n#if (defined(GL_ARB_COPY_IMAGE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_COPY_IMAGE)) && !defined(REGAL_NO_DECLARATION_GL_ARB_COPY_IMAGE)\n#define REGAL_NO_DECLARATION_GL_ARB_COPY_IMAGE\n#endif\n\n#ifndef GL_ARB_copy_image\n#define GL_ARB_copy_image 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_COPY_IMAGE\ntypedef void (REGAL_CALL *PFNGLCOPYIMAGESUBDATAPROC)(GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_COPY_IMAGE\n#define glCopyImageSubData                  rglCopyImageSubData\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_COPY_IMAGE\nREGAL_DECL void REGAL_CALL glCopyImageSubData(GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_COPY_IMAGE\nREGAL_DECL void REGAL_CALL plugin_glCopyImageSubData(GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth);\n#endif\n\n/**\n ** GL_ARB_debug_output\n **/\n\n#if (defined(GL_ARB_DEBUG_OUTPUT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_DEBUG_OUTPUT)) && !defined(REGAL_NO_ENUM_GL_ARB_DEBUG_OUTPUT)\n#define REGAL_NO_ENUM_GL_ARB_DEBUG_OUTPUT\n#endif\n\n#if (defined(GL_ARB_DEBUG_OUTPUT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_DEBUG_OUTPUT)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_DEBUG_OUTPUT)\n#define REGAL_NO_TYPEDEF_GL_ARB_DEBUG_OUTPUT\n#endif\n\n#if (defined(GL_ARB_DEBUG_OUTPUT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_DEBUG_OUTPUT)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_DEBUG_OUTPUT)\n#define REGAL_NO_NAMESPACE_GL_ARB_DEBUG_OUTPUT\n#endif\n\n#if (defined(GL_ARB_DEBUG_OUTPUT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_DEBUG_OUTPUT)) && !defined(REGAL_NO_PLUGIN_GL_ARB_DEBUG_OUTPUT)\n#define REGAL_NO_PLUGIN_GL_ARB_DEBUG_OUTPUT\n#endif\n\n#if (defined(GL_ARB_DEBUG_OUTPUT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_DEBUG_OUTPUT)) && !defined(REGAL_NO_DECLARATION_GL_ARB_DEBUG_OUTPUT)\n#define REGAL_NO_DECLARATION_GL_ARB_DEBUG_OUTPUT\n#endif\n\n#ifndef GL_ARB_debug_output\n#define GL_ARB_debug_output 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_DEBUG_OUTPUT\n#define GL_DEBUG_OUTPUT_SYNCHRONOUS_ARB         0x8242     /* 33346 */\n#define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_ARB 0x8243     /* 33347 */\n#define GL_DEBUG_CALLBACK_FUNCTION_ARB          0x8244     /* 33348 */\n#define GL_DEBUG_CALLBACK_USER_PARAM_ARB        0x8245     /* 33349 */\n#define GL_DEBUG_SOURCE_API_ARB                 0x8246     /* 33350 */\n#define GL_DEBUG_SOURCE_WINDOW_SYSTEM_ARB       0x8247     /* 33351 */\n#define GL_DEBUG_SOURCE_SHADER_COMPILER_ARB     0x8248     /* 33352 */\n#define GL_DEBUG_SOURCE_THIRD_PARTY_ARB         0x8249     /* 33353 */\n#define GL_DEBUG_SOURCE_APPLICATION_ARB         0x824a     /* 33354 */\n#define GL_DEBUG_SOURCE_OTHER_ARB               0x824b     /* 33355 */\n#define GL_DEBUG_TYPE_ERROR_ARB                 0x824c     /* 33356 */\n#define GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_ARB   0x824d     /* 33357 */\n#define GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_ARB    0x824e     /* 33358 */\n#define GL_DEBUG_TYPE_PORTABILITY_ARB           0x824f     /* 33359 */\n#define GL_DEBUG_TYPE_PERFORMANCE_ARB           0x8250     /* 33360 */\n#define GL_DEBUG_TYPE_OTHER_ARB                 0x8251     /* 33361 */\n#define GL_MAX_DEBUG_MESSAGE_LENGTH_ARB         0x9143     /* 37187 */\n#define GL_MAX_DEBUG_LOGGED_MESSAGES_ARB        0x9144     /* 37188 */\n#define GL_DEBUG_LOGGED_MESSAGES_ARB            0x9145     /* 37189 */\n#define GL_DEBUG_SEVERITY_HIGH_ARB              0x9146     /* 37190 */\n#define GL_DEBUG_SEVERITY_MEDIUM_ARB            0x9147     /* 37191 */\n#define GL_DEBUG_SEVERITY_LOW_ARB               0x9148     /* 37192 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_DEBUG_OUTPUT\ntypedef GLuint (REGAL_CALL *PFNGLGETDEBUGMESSAGELOGARBPROC)(GLuint count, GLsizei bufsize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);\ntypedef void (REGAL_CALL *PFNGLDEBUGMESSAGECALLBACKARBPROC)(GLDEBUGPROCARB callback, const GLvoid *userParam);\ntypedef void (REGAL_CALL *PFNGLDEBUGMESSAGECONTROLARBPROC)(GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);\ntypedef void (REGAL_CALL *PFNGLDEBUGMESSAGEINSERTARBPROC)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_DEBUG_OUTPUT\n#define glDebugMessageCallbackARB           rglDebugMessageCallbackARB\n#define glDebugMessageControlARB            rglDebugMessageControlARB\n#define glDebugMessageInsertARB             rglDebugMessageInsertARB\n#define glGetDebugMessageLogARB             rglGetDebugMessageLogARB\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_DEBUG_OUTPUT\nREGAL_DECL GLuint REGAL_CALL glGetDebugMessageLogARB(GLuint count, GLsizei bufsize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);\nREGAL_DECL void REGAL_CALL glDebugMessageCallbackARB(GLDEBUGPROCARB callback, const GLvoid *userParam);\nREGAL_DECL void REGAL_CALL glDebugMessageControlARB(GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);\nREGAL_DECL void REGAL_CALL glDebugMessageInsertARB(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_DEBUG_OUTPUT\nREGAL_DECL GLuint REGAL_CALL plugin_glGetDebugMessageLogARB(GLuint count, GLsizei bufsize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);\nREGAL_DECL void REGAL_CALL plugin_glDebugMessageCallbackARB(GLDEBUGPROCARB callback, const GLvoid *userParam);\nREGAL_DECL void REGAL_CALL plugin_glDebugMessageControlARB(GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);\nREGAL_DECL void REGAL_CALL plugin_glDebugMessageInsertARB(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);\n#endif\n\n/**\n ** GL_ARB_depth_buffer_float\n **/\n\n#if (defined(GL_ARB_DEPTH_BUFFER_FLOAT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_DEPTH_BUFFER_FLOAT)) && !defined(REGAL_NO_ENUM_GL_ARB_DEPTH_BUFFER_FLOAT)\n#define REGAL_NO_ENUM_GL_ARB_DEPTH_BUFFER_FLOAT\n#endif\n\n#if (defined(GL_ARB_DEPTH_BUFFER_FLOAT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_DEPTH_BUFFER_FLOAT)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_DEPTH_BUFFER_FLOAT)\n#define REGAL_NO_TYPEDEF_GL_ARB_DEPTH_BUFFER_FLOAT\n#endif\n\n#if (defined(GL_ARB_DEPTH_BUFFER_FLOAT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_DEPTH_BUFFER_FLOAT)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_DEPTH_BUFFER_FLOAT)\n#define REGAL_NO_NAMESPACE_GL_ARB_DEPTH_BUFFER_FLOAT\n#endif\n\n#if (defined(GL_ARB_DEPTH_BUFFER_FLOAT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_DEPTH_BUFFER_FLOAT)) && !defined(REGAL_NO_PLUGIN_GL_ARB_DEPTH_BUFFER_FLOAT)\n#define REGAL_NO_PLUGIN_GL_ARB_DEPTH_BUFFER_FLOAT\n#endif\n\n#if (defined(GL_ARB_DEPTH_BUFFER_FLOAT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_DEPTH_BUFFER_FLOAT)) && !defined(REGAL_NO_DECLARATION_GL_ARB_DEPTH_BUFFER_FLOAT)\n#define REGAL_NO_DECLARATION_GL_ARB_DEPTH_BUFFER_FLOAT\n#endif\n\n#ifndef GL_ARB_depth_buffer_float\n#define GL_ARB_depth_buffer_float 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_DEPTH_BUFFER_FLOAT\n#define GL_DEPTH_COMPONENT32F             0x8cac     /* 36012 */\n#define GL_DEPTH32F_STENCIL8              0x8cad     /* 36013 */\n#define GL_FLOAT_32_UNSIGNED_INT_24_8_REV 0x8dad     /* 36269 */\n#endif\n\n/**\n ** GL_ARB_depth_clamp\n **/\n\n#if (defined(GL_ARB_DEPTH_CLAMP) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_DEPTH_CLAMP)) && !defined(REGAL_NO_ENUM_GL_ARB_DEPTH_CLAMP)\n#define REGAL_NO_ENUM_GL_ARB_DEPTH_CLAMP\n#endif\n\n#if (defined(GL_ARB_DEPTH_CLAMP) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_DEPTH_CLAMP)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_DEPTH_CLAMP)\n#define REGAL_NO_TYPEDEF_GL_ARB_DEPTH_CLAMP\n#endif\n\n#if (defined(GL_ARB_DEPTH_CLAMP) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_DEPTH_CLAMP)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_DEPTH_CLAMP)\n#define REGAL_NO_NAMESPACE_GL_ARB_DEPTH_CLAMP\n#endif\n\n#if (defined(GL_ARB_DEPTH_CLAMP) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_DEPTH_CLAMP)) && !defined(REGAL_NO_PLUGIN_GL_ARB_DEPTH_CLAMP)\n#define REGAL_NO_PLUGIN_GL_ARB_DEPTH_CLAMP\n#endif\n\n#if (defined(GL_ARB_DEPTH_CLAMP) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_DEPTH_CLAMP)) && !defined(REGAL_NO_DECLARATION_GL_ARB_DEPTH_CLAMP)\n#define REGAL_NO_DECLARATION_GL_ARB_DEPTH_CLAMP\n#endif\n\n#ifndef GL_ARB_depth_clamp\n#define GL_ARB_depth_clamp 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_DEPTH_CLAMP\n#define GL_DEPTH_CLAMP 0x864f /* 34383 */\n#endif\n\n/**\n ** GL_ARB_depth_texture\n **/\n\n#if (defined(GL_ARB_DEPTH_TEXTURE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_DEPTH_TEXTURE)) && !defined(REGAL_NO_ENUM_GL_ARB_DEPTH_TEXTURE)\n#define REGAL_NO_ENUM_GL_ARB_DEPTH_TEXTURE\n#endif\n\n#if (defined(GL_ARB_DEPTH_TEXTURE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_DEPTH_TEXTURE)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_DEPTH_TEXTURE)\n#define REGAL_NO_TYPEDEF_GL_ARB_DEPTH_TEXTURE\n#endif\n\n#if (defined(GL_ARB_DEPTH_TEXTURE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_DEPTH_TEXTURE)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_DEPTH_TEXTURE)\n#define REGAL_NO_NAMESPACE_GL_ARB_DEPTH_TEXTURE\n#endif\n\n#if (defined(GL_ARB_DEPTH_TEXTURE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_DEPTH_TEXTURE)) && !defined(REGAL_NO_PLUGIN_GL_ARB_DEPTH_TEXTURE)\n#define REGAL_NO_PLUGIN_GL_ARB_DEPTH_TEXTURE\n#endif\n\n#if (defined(GL_ARB_DEPTH_TEXTURE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_DEPTH_TEXTURE)) && !defined(REGAL_NO_DECLARATION_GL_ARB_DEPTH_TEXTURE)\n#define REGAL_NO_DECLARATION_GL_ARB_DEPTH_TEXTURE\n#endif\n\n#ifndef GL_ARB_depth_texture\n#define GL_ARB_depth_texture 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_DEPTH_TEXTURE\n#define GL_DEPTH_COMPONENT16_ARB  0x81a5     /* 33189 */\n#define GL_DEPTH_COMPONENT24_ARB  0x81a6     /* 33190 */\n#define GL_DEPTH_COMPONENT32_ARB  0x81a7     /* 33191 */\n#define GL_TEXTURE_DEPTH_SIZE_ARB 0x884a     /* 34890 */\n#define GL_DEPTH_TEXTURE_MODE_ARB 0x884b     /* 34891 */\n#endif\n\n/**\n ** GL_ARB_draw_buffers\n **/\n\n#if (defined(GL_ARB_DRAW_BUFFERS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_DRAW_BUFFERS)) && !defined(REGAL_NO_ENUM_GL_ARB_DRAW_BUFFERS)\n#define REGAL_NO_ENUM_GL_ARB_DRAW_BUFFERS\n#endif\n\n#if (defined(GL_ARB_DRAW_BUFFERS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_DRAW_BUFFERS)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_DRAW_BUFFERS)\n#define REGAL_NO_TYPEDEF_GL_ARB_DRAW_BUFFERS\n#endif\n\n#if (defined(GL_ARB_DRAW_BUFFERS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_DRAW_BUFFERS)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_DRAW_BUFFERS)\n#define REGAL_NO_NAMESPACE_GL_ARB_DRAW_BUFFERS\n#endif\n\n#if (defined(GL_ARB_DRAW_BUFFERS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_DRAW_BUFFERS)) && !defined(REGAL_NO_PLUGIN_GL_ARB_DRAW_BUFFERS)\n#define REGAL_NO_PLUGIN_GL_ARB_DRAW_BUFFERS\n#endif\n\n#if (defined(GL_ARB_DRAW_BUFFERS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_DRAW_BUFFERS)) && !defined(REGAL_NO_DECLARATION_GL_ARB_DRAW_BUFFERS)\n#define REGAL_NO_DECLARATION_GL_ARB_DRAW_BUFFERS\n#endif\n\n#ifndef GL_ARB_draw_buffers\n#define GL_ARB_draw_buffers 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_DRAW_BUFFERS\n#define GL_MAX_DRAW_BUFFERS_ARB 0x8824     /* 34852 */\n#define GL_DRAW_BUFFER0_ARB     0x8825     /* 34853 */\n#define GL_DRAW_BUFFER1_ARB     0x8826     /* 34854 */\n#define GL_DRAW_BUFFER2_ARB     0x8827     /* 34855 */\n#define GL_DRAW_BUFFER3_ARB     0x8828     /* 34856 */\n#define GL_DRAW_BUFFER4_ARB     0x8829     /* 34857 */\n#define GL_DRAW_BUFFER5_ARB     0x882a     /* 34858 */\n#define GL_DRAW_BUFFER6_ARB     0x882b     /* 34859 */\n#define GL_DRAW_BUFFER7_ARB     0x882c     /* 34860 */\n#define GL_DRAW_BUFFER8_ARB     0x882d     /* 34861 */\n#define GL_DRAW_BUFFER9_ARB     0x882e     /* 34862 */\n#define GL_DRAW_BUFFER10_ARB    0x882f     /* 34863 */\n#define GL_DRAW_BUFFER11_ARB    0x8830     /* 34864 */\n#define GL_DRAW_BUFFER12_ARB    0x8831     /* 34865 */\n#define GL_DRAW_BUFFER13_ARB    0x8832     /* 34866 */\n#define GL_DRAW_BUFFER14_ARB    0x8833     /* 34867 */\n#define GL_DRAW_BUFFER15_ARB    0x8834     /* 34868 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_DRAW_BUFFERS\ntypedef void (REGAL_CALL *PFNGLDRAWBUFFERSARBPROC)(GLsizei n, const GLenum *bufs);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_DRAW_BUFFERS\n#define glDrawBuffersARB                    rglDrawBuffersARB\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_DRAW_BUFFERS\nREGAL_DECL void REGAL_CALL glDrawBuffersARB(GLsizei n, const GLenum *bufs);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_DRAW_BUFFERS\nREGAL_DECL void REGAL_CALL plugin_glDrawBuffersARB(GLsizei n, const GLenum *bufs);\n#endif\n\n/**\n ** GL_ARB_draw_buffers_blend\n **/\n\n#if (defined(GL_ARB_DRAW_BUFFERS_BLEND) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_DRAW_BUFFERS_BLEND)) && !defined(REGAL_NO_ENUM_GL_ARB_DRAW_BUFFERS_BLEND)\n#define REGAL_NO_ENUM_GL_ARB_DRAW_BUFFERS_BLEND\n#endif\n\n#if (defined(GL_ARB_DRAW_BUFFERS_BLEND) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_DRAW_BUFFERS_BLEND)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_DRAW_BUFFERS_BLEND)\n#define REGAL_NO_TYPEDEF_GL_ARB_DRAW_BUFFERS_BLEND\n#endif\n\n#if (defined(GL_ARB_DRAW_BUFFERS_BLEND) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_DRAW_BUFFERS_BLEND)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_DRAW_BUFFERS_BLEND)\n#define REGAL_NO_NAMESPACE_GL_ARB_DRAW_BUFFERS_BLEND\n#endif\n\n#if (defined(GL_ARB_DRAW_BUFFERS_BLEND) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_DRAW_BUFFERS_BLEND)) && !defined(REGAL_NO_PLUGIN_GL_ARB_DRAW_BUFFERS_BLEND)\n#define REGAL_NO_PLUGIN_GL_ARB_DRAW_BUFFERS_BLEND\n#endif\n\n#if (defined(GL_ARB_DRAW_BUFFERS_BLEND) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_DRAW_BUFFERS_BLEND)) && !defined(REGAL_NO_DECLARATION_GL_ARB_DRAW_BUFFERS_BLEND)\n#define REGAL_NO_DECLARATION_GL_ARB_DRAW_BUFFERS_BLEND\n#endif\n\n#ifndef GL_ARB_draw_buffers_blend\n#define GL_ARB_draw_buffers_blend 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_DRAW_BUFFERS_BLEND\ntypedef void (REGAL_CALL *PFNGLBLENDEQUATIONIARBPROC)(GLuint buf, GLenum mode);\ntypedef void (REGAL_CALL *PFNGLBLENDEQUATIONSEPARATEIARBPROC)(GLuint buf, GLenum modeRGB, GLenum modeAlpha);\ntypedef void (REGAL_CALL *PFNGLBLENDFUNCIARBPROC)(GLuint buf, GLenum src, GLenum dst);\ntypedef void (REGAL_CALL *PFNGLBLENDFUNCSEPARATEIARBPROC)(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_DRAW_BUFFERS_BLEND\n#define glBlendEquationSeparateiARB         rglBlendEquationSeparateiARB\n#define glBlendEquationiARB                 rglBlendEquationiARB\n#define glBlendFuncSeparateiARB             rglBlendFuncSeparateiARB\n#define glBlendFunciARB                     rglBlendFunciARB\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_DRAW_BUFFERS_BLEND\nREGAL_DECL void REGAL_CALL glBlendEquationSeparateiARB(GLuint buf, GLenum modeRGB, GLenum modeAlpha);\nREGAL_DECL void REGAL_CALL glBlendEquationiARB(GLuint buf, GLenum mode);\nREGAL_DECL void REGAL_CALL glBlendFuncSeparateiARB(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);\nREGAL_DECL void REGAL_CALL glBlendFunciARB(GLuint buf, GLenum src, GLenum dst);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_DRAW_BUFFERS_BLEND\nREGAL_DECL void REGAL_CALL plugin_glBlendEquationSeparateiARB(GLuint buf, GLenum modeRGB, GLenum modeAlpha);\nREGAL_DECL void REGAL_CALL plugin_glBlendEquationiARB(GLuint buf, GLenum mode);\nREGAL_DECL void REGAL_CALL plugin_glBlendFuncSeparateiARB(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);\nREGAL_DECL void REGAL_CALL plugin_glBlendFunciARB(GLuint buf, GLenum src, GLenum dst);\n#endif\n\n/**\n ** GL_ARB_draw_elements_base_vertex\n **/\n\n#if (defined(GL_ARB_DRAW_ELEMENTS_BASE_VERTEX) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_DRAW_ELEMENTS_BASE_VERTEX)) && !defined(REGAL_NO_ENUM_GL_ARB_DRAW_ELEMENTS_BASE_VERTEX)\n#define REGAL_NO_ENUM_GL_ARB_DRAW_ELEMENTS_BASE_VERTEX\n#endif\n\n#if (defined(GL_ARB_DRAW_ELEMENTS_BASE_VERTEX) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_DRAW_ELEMENTS_BASE_VERTEX)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_DRAW_ELEMENTS_BASE_VERTEX)\n#define REGAL_NO_TYPEDEF_GL_ARB_DRAW_ELEMENTS_BASE_VERTEX\n#endif\n\n#if (defined(GL_ARB_DRAW_ELEMENTS_BASE_VERTEX) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_DRAW_ELEMENTS_BASE_VERTEX)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_DRAW_ELEMENTS_BASE_VERTEX)\n#define REGAL_NO_NAMESPACE_GL_ARB_DRAW_ELEMENTS_BASE_VERTEX\n#endif\n\n#if (defined(GL_ARB_DRAW_ELEMENTS_BASE_VERTEX) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_DRAW_ELEMENTS_BASE_VERTEX)) && !defined(REGAL_NO_PLUGIN_GL_ARB_DRAW_ELEMENTS_BASE_VERTEX)\n#define REGAL_NO_PLUGIN_GL_ARB_DRAW_ELEMENTS_BASE_VERTEX\n#endif\n\n#if (defined(GL_ARB_DRAW_ELEMENTS_BASE_VERTEX) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_DRAW_ELEMENTS_BASE_VERTEX)) && !defined(REGAL_NO_DECLARATION_GL_ARB_DRAW_ELEMENTS_BASE_VERTEX)\n#define REGAL_NO_DECLARATION_GL_ARB_DRAW_ELEMENTS_BASE_VERTEX\n#endif\n\n#ifndef GL_ARB_draw_elements_base_vertex\n#define GL_ARB_draw_elements_base_vertex 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_DRAW_ELEMENTS_BASE_VERTEX\ntypedef void (REGAL_CALL *PFNGLDRAWELEMENTSBASEVERTEXPROC)(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex);\ntypedef void (REGAL_CALL *PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC)(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount, GLint basevertex);\ntypedef void (REGAL_CALL *PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex);\ntypedef void (REGAL_CALL *PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC)(GLenum mode, const GLsizei *count, GLenum type, const GLvoid * const *indices, GLsizei primcount, const GLint *basevertex);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_DRAW_ELEMENTS_BASE_VERTEX\n#define glDrawElementsBaseVertex            rglDrawElementsBaseVertex\n#define glDrawElementsInstancedBaseVertex   rglDrawElementsInstancedBaseVertex\n#define glDrawRangeElementsBaseVertex       rglDrawRangeElementsBaseVertex\n#define glMultiDrawElementsBaseVertex       rglMultiDrawElementsBaseVertex\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_DRAW_ELEMENTS_BASE_VERTEX\nREGAL_DECL void REGAL_CALL glDrawElementsBaseVertex(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex);\nREGAL_DECL void REGAL_CALL glDrawElementsInstancedBaseVertex(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount, GLint basevertex);\nREGAL_DECL void REGAL_CALL glDrawRangeElementsBaseVertex(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex);\nREGAL_DECL void REGAL_CALL glMultiDrawElementsBaseVertex(GLenum mode, const GLsizei *count, GLenum type, const GLvoid * const *indices, GLsizei primcount, const GLint *basevertex);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_DRAW_ELEMENTS_BASE_VERTEX\nREGAL_DECL void REGAL_CALL plugin_glDrawElementsBaseVertex(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex);\nREGAL_DECL void REGAL_CALL plugin_glDrawElementsInstancedBaseVertex(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount, GLint basevertex);\nREGAL_DECL void REGAL_CALL plugin_glDrawRangeElementsBaseVertex(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex);\nREGAL_DECL void REGAL_CALL plugin_glMultiDrawElementsBaseVertex(GLenum mode, const GLsizei *count, GLenum type, const GLvoid * const *indices, GLsizei primcount, const GLint *basevertex);\n#endif\n\n/**\n ** GL_ARB_draw_indirect\n **/\n\n#if (defined(GL_ARB_DRAW_INDIRECT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_DRAW_INDIRECT)) && !defined(REGAL_NO_ENUM_GL_ARB_DRAW_INDIRECT)\n#define REGAL_NO_ENUM_GL_ARB_DRAW_INDIRECT\n#endif\n\n#if (defined(GL_ARB_DRAW_INDIRECT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_DRAW_INDIRECT)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_DRAW_INDIRECT)\n#define REGAL_NO_TYPEDEF_GL_ARB_DRAW_INDIRECT\n#endif\n\n#if (defined(GL_ARB_DRAW_INDIRECT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_DRAW_INDIRECT)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_DRAW_INDIRECT)\n#define REGAL_NO_NAMESPACE_GL_ARB_DRAW_INDIRECT\n#endif\n\n#if (defined(GL_ARB_DRAW_INDIRECT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_DRAW_INDIRECT)) && !defined(REGAL_NO_PLUGIN_GL_ARB_DRAW_INDIRECT)\n#define REGAL_NO_PLUGIN_GL_ARB_DRAW_INDIRECT\n#endif\n\n#if (defined(GL_ARB_DRAW_INDIRECT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_DRAW_INDIRECT)) && !defined(REGAL_NO_DECLARATION_GL_ARB_DRAW_INDIRECT)\n#define REGAL_NO_DECLARATION_GL_ARB_DRAW_INDIRECT\n#endif\n\n#ifndef GL_ARB_draw_indirect\n#define GL_ARB_draw_indirect 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_DRAW_INDIRECT\n#define GL_DRAW_INDIRECT_BUFFER         0x8f3f     /* 36671 */\n#define GL_DRAW_INDIRECT_BUFFER_BINDING 0x8f43     /* 36675 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_DRAW_INDIRECT\ntypedef void (REGAL_CALL *PFNGLDRAWARRAYSINDIRECTPROC)(GLenum mode, const GLvoid *indirect);\ntypedef void (REGAL_CALL *PFNGLDRAWELEMENTSINDIRECTPROC)(GLenum mode, GLenum type, const GLvoid *indirect);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_DRAW_INDIRECT\n#define glDrawArraysIndirect                rglDrawArraysIndirect\n#define glDrawElementsIndirect              rglDrawElementsIndirect\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_DRAW_INDIRECT\nREGAL_DECL void REGAL_CALL glDrawArraysIndirect(GLenum mode, const GLvoid *indirect);\nREGAL_DECL void REGAL_CALL glDrawElementsIndirect(GLenum mode, GLenum type, const GLvoid *indirect);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_DRAW_INDIRECT\nREGAL_DECL void REGAL_CALL plugin_glDrawArraysIndirect(GLenum mode, const GLvoid *indirect);\nREGAL_DECL void REGAL_CALL plugin_glDrawElementsIndirect(GLenum mode, GLenum type, const GLvoid *indirect);\n#endif\n\n/**\n ** GL_ARB_draw_instanced\n **/\n\n#if (defined(GL_ARB_DRAW_INSTANCED) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_DRAW_INSTANCED)) && !defined(REGAL_NO_ENUM_GL_ARB_DRAW_INSTANCED)\n#define REGAL_NO_ENUM_GL_ARB_DRAW_INSTANCED\n#endif\n\n#if (defined(GL_ARB_DRAW_INSTANCED) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_DRAW_INSTANCED)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_DRAW_INSTANCED)\n#define REGAL_NO_TYPEDEF_GL_ARB_DRAW_INSTANCED\n#endif\n\n#if (defined(GL_ARB_DRAW_INSTANCED) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_DRAW_INSTANCED)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_DRAW_INSTANCED)\n#define REGAL_NO_NAMESPACE_GL_ARB_DRAW_INSTANCED\n#endif\n\n#if (defined(GL_ARB_DRAW_INSTANCED) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_DRAW_INSTANCED)) && !defined(REGAL_NO_PLUGIN_GL_ARB_DRAW_INSTANCED)\n#define REGAL_NO_PLUGIN_GL_ARB_DRAW_INSTANCED\n#endif\n\n#if (defined(GL_ARB_DRAW_INSTANCED) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_DRAW_INSTANCED)) && !defined(REGAL_NO_DECLARATION_GL_ARB_DRAW_INSTANCED)\n#define REGAL_NO_DECLARATION_GL_ARB_DRAW_INSTANCED\n#endif\n\n#ifndef GL_ARB_draw_instanced\n#define GL_ARB_draw_instanced 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_DRAW_INSTANCED\ntypedef void (REGAL_CALL *PFNGLDRAWARRAYSINSTANCEDARBPROC)(GLenum mode, GLint start, GLsizei count, GLsizei primcount);\ntypedef void (REGAL_CALL *PFNGLDRAWELEMENTSINSTANCEDARBPROC)(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_DRAW_INSTANCED\n#define glDrawArraysInstancedARB            rglDrawArraysInstancedARB\n#define glDrawElementsInstancedARB          rglDrawElementsInstancedARB\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_DRAW_INSTANCED\nREGAL_DECL void REGAL_CALL glDrawArraysInstancedARB(GLenum mode, GLint start, GLsizei count, GLsizei primcount);\nREGAL_DECL void REGAL_CALL glDrawElementsInstancedARB(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_DRAW_INSTANCED\nREGAL_DECL void REGAL_CALL plugin_glDrawArraysInstancedARB(GLenum mode, GLint start, GLsizei count, GLsizei primcount);\nREGAL_DECL void REGAL_CALL plugin_glDrawElementsInstancedARB(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount);\n#endif\n\n/**\n ** GL_ARB_enhanced_layouts\n **/\n\n#if (defined(GL_ARB_ENHANCED_LAYOUTS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_ENHANCED_LAYOUTS)) && !defined(REGAL_NO_ENUM_GL_ARB_ENHANCED_LAYOUTS)\n#define REGAL_NO_ENUM_GL_ARB_ENHANCED_LAYOUTS\n#endif\n\n#if (defined(GL_ARB_ENHANCED_LAYOUTS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_ENHANCED_LAYOUTS)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_ENHANCED_LAYOUTS)\n#define REGAL_NO_TYPEDEF_GL_ARB_ENHANCED_LAYOUTS\n#endif\n\n#if (defined(GL_ARB_ENHANCED_LAYOUTS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_ENHANCED_LAYOUTS)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_ENHANCED_LAYOUTS)\n#define REGAL_NO_NAMESPACE_GL_ARB_ENHANCED_LAYOUTS\n#endif\n\n#if (defined(GL_ARB_ENHANCED_LAYOUTS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_ENHANCED_LAYOUTS)) && !defined(REGAL_NO_PLUGIN_GL_ARB_ENHANCED_LAYOUTS)\n#define REGAL_NO_PLUGIN_GL_ARB_ENHANCED_LAYOUTS\n#endif\n\n#if (defined(GL_ARB_ENHANCED_LAYOUTS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_ENHANCED_LAYOUTS)) && !defined(REGAL_NO_DECLARATION_GL_ARB_ENHANCED_LAYOUTS)\n#define REGAL_NO_DECLARATION_GL_ARB_ENHANCED_LAYOUTS\n#endif\n\n#ifndef GL_ARB_enhanced_layouts\n#define GL_ARB_enhanced_layouts 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_ENHANCED_LAYOUTS\n#define GL_LOCATION_COMPONENT               0x934a     /* 37706 */\n#define GL_TRANSFORM_FEEDBACK_BUFFER_INDEX  0x934b     /* 37707 */\n#define GL_TRANSFORM_FEEDBACK_BUFFER_STRIDE 0x934c     /* 37708 */\n#endif\n\n/**\n ** GL_ARB_explicit_uniform_location\n **/\n\n#if (defined(GL_ARB_EXPLICIT_UNIFORM_LOCATION) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_EXPLICIT_UNIFORM_LOCATION)) && !defined(REGAL_NO_ENUM_GL_ARB_EXPLICIT_UNIFORM_LOCATION)\n#define REGAL_NO_ENUM_GL_ARB_EXPLICIT_UNIFORM_LOCATION\n#endif\n\n#if (defined(GL_ARB_EXPLICIT_UNIFORM_LOCATION) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_EXPLICIT_UNIFORM_LOCATION)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_EXPLICIT_UNIFORM_LOCATION)\n#define REGAL_NO_TYPEDEF_GL_ARB_EXPLICIT_UNIFORM_LOCATION\n#endif\n\n#if (defined(GL_ARB_EXPLICIT_UNIFORM_LOCATION) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_EXPLICIT_UNIFORM_LOCATION)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_EXPLICIT_UNIFORM_LOCATION)\n#define REGAL_NO_NAMESPACE_GL_ARB_EXPLICIT_UNIFORM_LOCATION\n#endif\n\n#if (defined(GL_ARB_EXPLICIT_UNIFORM_LOCATION) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_EXPLICIT_UNIFORM_LOCATION)) && !defined(REGAL_NO_PLUGIN_GL_ARB_EXPLICIT_UNIFORM_LOCATION)\n#define REGAL_NO_PLUGIN_GL_ARB_EXPLICIT_UNIFORM_LOCATION\n#endif\n\n#if (defined(GL_ARB_EXPLICIT_UNIFORM_LOCATION) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_EXPLICIT_UNIFORM_LOCATION)) && !defined(REGAL_NO_DECLARATION_GL_ARB_EXPLICIT_UNIFORM_LOCATION)\n#define REGAL_NO_DECLARATION_GL_ARB_EXPLICIT_UNIFORM_LOCATION\n#endif\n\n#ifndef GL_ARB_explicit_uniform_location\n#define GL_ARB_explicit_uniform_location 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_EXPLICIT_UNIFORM_LOCATION\n#define GL_MAX_UNIFORM_LOCATIONS 0x826e /* 33390 */\n#endif\n\n/**\n ** GL_ARB_fragment_program\n **/\n\n#if (defined(GL_ARB_FRAGMENT_PROGRAM) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_FRAGMENT_PROGRAM)) && !defined(REGAL_NO_ENUM_GL_ARB_FRAGMENT_PROGRAM)\n#define REGAL_NO_ENUM_GL_ARB_FRAGMENT_PROGRAM\n#endif\n\n#if (defined(GL_ARB_FRAGMENT_PROGRAM) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_FRAGMENT_PROGRAM)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_FRAGMENT_PROGRAM)\n#define REGAL_NO_TYPEDEF_GL_ARB_FRAGMENT_PROGRAM\n#endif\n\n#if (defined(GL_ARB_FRAGMENT_PROGRAM) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_FRAGMENT_PROGRAM)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_FRAGMENT_PROGRAM)\n#define REGAL_NO_NAMESPACE_GL_ARB_FRAGMENT_PROGRAM\n#endif\n\n#if (defined(GL_ARB_FRAGMENT_PROGRAM) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_FRAGMENT_PROGRAM)) && !defined(REGAL_NO_PLUGIN_GL_ARB_FRAGMENT_PROGRAM)\n#define REGAL_NO_PLUGIN_GL_ARB_FRAGMENT_PROGRAM\n#endif\n\n#if (defined(GL_ARB_FRAGMENT_PROGRAM) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_FRAGMENT_PROGRAM)) && !defined(REGAL_NO_DECLARATION_GL_ARB_FRAGMENT_PROGRAM)\n#define REGAL_NO_DECLARATION_GL_ARB_FRAGMENT_PROGRAM\n#endif\n\n#ifndef GL_ARB_fragment_program\n#define GL_ARB_fragment_program 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_FRAGMENT_PROGRAM\n#define GL_FRAGMENT_PROGRAM_ARB                    0x8804     /* 34820 */\n#define GL_PROGRAM_ALU_INSTRUCTIONS_ARB            0x8805     /* 34821 */\n#define GL_PROGRAM_TEX_INSTRUCTIONS_ARB            0x8806     /* 34822 */\n#define GL_PROGRAM_TEX_INDIRECTIONS_ARB            0x8807     /* 34823 */\n#define GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB     0x8808     /* 34824 */\n#define GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB     0x8809     /* 34825 */\n#define GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB     0x880a     /* 34826 */\n#define GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB        0x880b     /* 34827 */\n#define GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB        0x880c     /* 34828 */\n#define GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB        0x880d     /* 34829 */\n#define GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB 0x880e     /* 34830 */\n#define GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB 0x880f     /* 34831 */\n#define GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB 0x8810     /* 34832 */\n#define GL_MAX_TEXTURE_COORDS_ARB                  0x8871     /* 34929 */\n#define GL_MAX_TEXTURE_IMAGE_UNITS_ARB             0x8872     /* 34930 */\n#endif\n\n/**\n ** GL_ARB_fragment_shader\n **/\n\n#if (defined(GL_ARB_FRAGMENT_SHADER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_FRAGMENT_SHADER)) && !defined(REGAL_NO_ENUM_GL_ARB_FRAGMENT_SHADER)\n#define REGAL_NO_ENUM_GL_ARB_FRAGMENT_SHADER\n#endif\n\n#if (defined(GL_ARB_FRAGMENT_SHADER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_FRAGMENT_SHADER)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_FRAGMENT_SHADER)\n#define REGAL_NO_TYPEDEF_GL_ARB_FRAGMENT_SHADER\n#endif\n\n#if (defined(GL_ARB_FRAGMENT_SHADER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_FRAGMENT_SHADER)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_FRAGMENT_SHADER)\n#define REGAL_NO_NAMESPACE_GL_ARB_FRAGMENT_SHADER\n#endif\n\n#if (defined(GL_ARB_FRAGMENT_SHADER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_FRAGMENT_SHADER)) && !defined(REGAL_NO_PLUGIN_GL_ARB_FRAGMENT_SHADER)\n#define REGAL_NO_PLUGIN_GL_ARB_FRAGMENT_SHADER\n#endif\n\n#if (defined(GL_ARB_FRAGMENT_SHADER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_FRAGMENT_SHADER)) && !defined(REGAL_NO_DECLARATION_GL_ARB_FRAGMENT_SHADER)\n#define REGAL_NO_DECLARATION_GL_ARB_FRAGMENT_SHADER\n#endif\n\n#ifndef GL_ARB_fragment_shader\n#define GL_ARB_fragment_shader 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_FRAGMENT_SHADER\n#define GL_FRAGMENT_SHADER_ARB                 0x8b30     /* 35632 */\n#define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB 0x8b49     /* 35657 */\n#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB 0x8b8b     /* 35723 */\n#endif\n\n/**\n ** GL_ARB_framebuffer_no_attachments\n **/\n\n#if (defined(GL_ARB_FRAMEBUFFER_NO_ATTACHMENTS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_FRAMEBUFFER_NO_ATTACHMENTS)) && !defined(REGAL_NO_ENUM_GL_ARB_FRAMEBUFFER_NO_ATTACHMENTS)\n#define REGAL_NO_ENUM_GL_ARB_FRAMEBUFFER_NO_ATTACHMENTS\n#endif\n\n#if (defined(GL_ARB_FRAMEBUFFER_NO_ATTACHMENTS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_FRAMEBUFFER_NO_ATTACHMENTS)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_FRAMEBUFFER_NO_ATTACHMENTS)\n#define REGAL_NO_TYPEDEF_GL_ARB_FRAMEBUFFER_NO_ATTACHMENTS\n#endif\n\n#if (defined(GL_ARB_FRAMEBUFFER_NO_ATTACHMENTS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_FRAMEBUFFER_NO_ATTACHMENTS)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_FRAMEBUFFER_NO_ATTACHMENTS)\n#define REGAL_NO_NAMESPACE_GL_ARB_FRAMEBUFFER_NO_ATTACHMENTS\n#endif\n\n#if (defined(GL_ARB_FRAMEBUFFER_NO_ATTACHMENTS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_FRAMEBUFFER_NO_ATTACHMENTS)) && !defined(REGAL_NO_PLUGIN_GL_ARB_FRAMEBUFFER_NO_ATTACHMENTS)\n#define REGAL_NO_PLUGIN_GL_ARB_FRAMEBUFFER_NO_ATTACHMENTS\n#endif\n\n#if (defined(GL_ARB_FRAMEBUFFER_NO_ATTACHMENTS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_FRAMEBUFFER_NO_ATTACHMENTS)) && !defined(REGAL_NO_DECLARATION_GL_ARB_FRAMEBUFFER_NO_ATTACHMENTS)\n#define REGAL_NO_DECLARATION_GL_ARB_FRAMEBUFFER_NO_ATTACHMENTS\n#endif\n\n#ifndef GL_ARB_framebuffer_no_attachments\n#define GL_ARB_framebuffer_no_attachments 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_FRAMEBUFFER_NO_ATTACHMENTS\n#define GL_FRAMEBUFFER_DEFAULT_WIDTH                  0x9310     /* 37648 */\n#define GL_FRAMEBUFFER_DEFAULT_HEIGHT                 0x9311     /* 37649 */\n#define GL_FRAMEBUFFER_DEFAULT_LAYERS                 0x9312     /* 37650 */\n#define GL_FRAMEBUFFER_DEFAULT_SAMPLES                0x9313     /* 37651 */\n#define GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS 0x9314     /* 37652 */\n#define GL_MAX_FRAMEBUFFER_WIDTH                      0x9315     /* 37653 */\n#define GL_MAX_FRAMEBUFFER_HEIGHT                     0x9316     /* 37654 */\n#define GL_MAX_FRAMEBUFFER_LAYERS                     0x9317     /* 37655 */\n#define GL_MAX_FRAMEBUFFER_SAMPLES                    0x9318     /* 37656 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_FRAMEBUFFER_NO_ATTACHMENTS\ntypedef void (REGAL_CALL *PFNGLFRAMEBUFFERPARAMETERIPROC)(GLenum target, GLenum pname, GLint param);\ntypedef void (REGAL_CALL *PFNGLGETFRAMEBUFFERPARAMETERIVPROC)(GLenum target, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVEXTPROC)(GLuint framebuffer, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLNAMEDFRAMEBUFFERPARAMETERIEXTPROC)(GLuint framebuffer, GLenum pname, GLint param);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_FRAMEBUFFER_NO_ATTACHMENTS\n#define glFramebufferParameteri             rglFramebufferParameteri\n#define glGetFramebufferParameteriv         rglGetFramebufferParameteriv\n#define glGetNamedFramebufferParameterivEXT rglGetNamedFramebufferParameterivEXT\n#define glNamedFramebufferParameteriEXT     rglNamedFramebufferParameteriEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_FRAMEBUFFER_NO_ATTACHMENTS\nREGAL_DECL void REGAL_CALL glFramebufferParameteri(GLenum target, GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL glGetFramebufferParameteriv(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetNamedFramebufferParameterivEXT(GLuint framebuffer, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glNamedFramebufferParameteriEXT(GLuint framebuffer, GLenum pname, GLint param);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_FRAMEBUFFER_NO_ATTACHMENTS\nREGAL_DECL void REGAL_CALL plugin_glFramebufferParameteri(GLenum target, GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL plugin_glGetFramebufferParameteriv(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetNamedFramebufferParameterivEXT(GLuint framebuffer, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glNamedFramebufferParameteriEXT(GLuint framebuffer, GLenum pname, GLint param);\n#endif\n\n/**\n ** GL_ARB_framebuffer_object\n **/\n\n#if (defined(GL_ARB_FRAMEBUFFER_OBJECT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_FRAMEBUFFER_OBJECT)) && !defined(REGAL_NO_ENUM_GL_ARB_FRAMEBUFFER_OBJECT)\n#define REGAL_NO_ENUM_GL_ARB_FRAMEBUFFER_OBJECT\n#endif\n\n#if (defined(GL_ARB_FRAMEBUFFER_OBJECT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_FRAMEBUFFER_OBJECT)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_FRAMEBUFFER_OBJECT)\n#define REGAL_NO_TYPEDEF_GL_ARB_FRAMEBUFFER_OBJECT\n#endif\n\n#if (defined(GL_ARB_FRAMEBUFFER_OBJECT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_FRAMEBUFFER_OBJECT)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_FRAMEBUFFER_OBJECT)\n#define REGAL_NO_NAMESPACE_GL_ARB_FRAMEBUFFER_OBJECT\n#endif\n\n#if (defined(GL_ARB_FRAMEBUFFER_OBJECT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_FRAMEBUFFER_OBJECT)) && !defined(REGAL_NO_PLUGIN_GL_ARB_FRAMEBUFFER_OBJECT)\n#define REGAL_NO_PLUGIN_GL_ARB_FRAMEBUFFER_OBJECT\n#endif\n\n#if (defined(GL_ARB_FRAMEBUFFER_OBJECT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_FRAMEBUFFER_OBJECT)) && !defined(REGAL_NO_DECLARATION_GL_ARB_FRAMEBUFFER_OBJECT)\n#define REGAL_NO_DECLARATION_GL_ARB_FRAMEBUFFER_OBJECT\n#endif\n\n#ifndef GL_ARB_framebuffer_object\n#define GL_ARB_framebuffer_object 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_FRAMEBUFFER_OBJECT\n#define GL_INVALID_FRAMEBUFFER_OPERATION                0x506      /* 1286 */\n#define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING        0x8210     /* 33296 */\n#define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE        0x8211     /* 33297 */\n#define GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE              0x8212     /* 33298 */\n#define GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE            0x8213     /* 33299 */\n#define GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE             0x8214     /* 33300 */\n#define GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE            0x8215     /* 33301 */\n#define GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE            0x8216     /* 33302 */\n#define GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE          0x8217     /* 33303 */\n#define GL_FRAMEBUFFER_DEFAULT                          0x8218     /* 33304 */\n#define GL_FRAMEBUFFER_UNDEFINED                        0x8219     /* 33305 */\n#define GL_DEPTH_STENCIL_ATTACHMENT                     0x821a     /* 33306 */\n#define GL_INDEX                                        0x8222     /* 33314 */\n#define GL_MAX_RENDERBUFFER_SIZE                        0x84e8     /* 34024 */\n#define GL_DEPTH_STENCIL                                0x84f9     /* 34041 */\n#define GL_UNSIGNED_INT_24_8                            0x84fa     /* 34042 */\n#define GL_DEPTH24_STENCIL8                             0x88f0     /* 35056 */\n#define GL_TEXTURE_STENCIL_SIZE                         0x88f1     /* 35057 */\n#define GL_UNSIGNED_NORMALIZED                          0x8c17     /* 35863 */\n#define GL_DRAW_FRAMEBUFFER_BINDING                     0x8ca6     /* 36006 */\n#define GL_FRAMEBUFFER_BINDING                          0x8ca6     /* 36006 */\n#define GL_RENDERBUFFER_BINDING                         0x8ca7     /* 36007 */\n#define GL_READ_FRAMEBUFFER                             0x8ca8     /* 36008 */\n#define GL_DRAW_FRAMEBUFFER                             0x8ca9     /* 36009 */\n#define GL_READ_FRAMEBUFFER_BINDING                     0x8caa     /* 36010 */\n#define GL_RENDERBUFFER_SAMPLES                         0x8cab     /* 36011 */\n#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE           0x8cd0     /* 36048 */\n#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME           0x8cd1     /* 36049 */\n#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL         0x8cd2     /* 36050 */\n#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE 0x8cd3     /* 36051 */\n#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER         0x8cd4     /* 36052 */\n#define GL_FRAMEBUFFER_COMPLETE                         0x8cd5     /* 36053 */\n#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT            0x8cd6     /* 36054 */\n#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT    0x8cd7     /* 36055 */\n#define GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER           0x8cdb     /* 36059 */\n#define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER           0x8cdc     /* 36060 */\n#define GL_FRAMEBUFFER_UNSUPPORTED                      0x8cdd     /* 36061 */\n#define GL_MAX_COLOR_ATTACHMENTS                        0x8cdf     /* 36063 */\n#define GL_COLOR_ATTACHMENT0                            0x8ce0     /* 36064 */\n#define GL_COLOR_ATTACHMENT1                            0x8ce1     /* 36065 */\n#define GL_COLOR_ATTACHMENT2                            0x8ce2     /* 36066 */\n#define GL_COLOR_ATTACHMENT3                            0x8ce3     /* 36067 */\n#define GL_COLOR_ATTACHMENT4                            0x8ce4     /* 36068 */\n#define GL_COLOR_ATTACHMENT5                            0x8ce5     /* 36069 */\n#define GL_COLOR_ATTACHMENT6                            0x8ce6     /* 36070 */\n#define GL_COLOR_ATTACHMENT7                            0x8ce7     /* 36071 */\n#define GL_COLOR_ATTACHMENT8                            0x8ce8     /* 36072 */\n#define GL_COLOR_ATTACHMENT9                            0x8ce9     /* 36073 */\n#define GL_COLOR_ATTACHMENT10                           0x8cea     /* 36074 */\n#define GL_COLOR_ATTACHMENT11                           0x8ceb     /* 36075 */\n#define GL_COLOR_ATTACHMENT12                           0x8cec     /* 36076 */\n#define GL_COLOR_ATTACHMENT13                           0x8ced     /* 36077 */\n#define GL_COLOR_ATTACHMENT14                           0x8cee     /* 36078 */\n#define GL_COLOR_ATTACHMENT15                           0x8cef     /* 36079 */\n#define GL_DEPTH_ATTACHMENT                             0x8d00     /* 36096 */\n#define GL_STENCIL_ATTACHMENT                           0x8d20     /* 36128 */\n#define GL_FRAMEBUFFER                                  0x8d40     /* 36160 */\n#define GL_RENDERBUFFER                                 0x8d41     /* 36161 */\n#define GL_RENDERBUFFER_WIDTH                           0x8d42     /* 36162 */\n#define GL_RENDERBUFFER_HEIGHT                          0x8d43     /* 36163 */\n#define GL_RENDERBUFFER_INTERNAL_FORMAT                 0x8d44     /* 36164 */\n#define GL_STENCIL_INDEX1                               0x8d46     /* 36166 */\n#define GL_STENCIL_INDEX4                               0x8d47     /* 36167 */\n#define GL_STENCIL_INDEX8                               0x8d48     /* 36168 */\n#define GL_STENCIL_INDEX16                              0x8d49     /* 36169 */\n#define GL_RENDERBUFFER_RED_SIZE                        0x8d50     /* 36176 */\n#define GL_RENDERBUFFER_GREEN_SIZE                      0x8d51     /* 36177 */\n#define GL_RENDERBUFFER_BLUE_SIZE                       0x8d52     /* 36178 */\n#define GL_RENDERBUFFER_ALPHA_SIZE                      0x8d53     /* 36179 */\n#define GL_RENDERBUFFER_DEPTH_SIZE                      0x8d54     /* 36180 */\n#define GL_RENDERBUFFER_STENCIL_SIZE                    0x8d55     /* 36181 */\n#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE           0x8d56     /* 36182 */\n#define GL_MAX_SAMPLES                                  0x8d57     /* 36183 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_FRAMEBUFFER_OBJECT\ntypedef GLboolean (REGAL_CALL *PFNGLISFRAMEBUFFERPROC)(GLuint framebuffer);\ntypedef GLboolean (REGAL_CALL *PFNGLISRENDERBUFFERPROC)(GLuint renderbuffer);\ntypedef GLenum (REGAL_CALL *PFNGLCHECKFRAMEBUFFERSTATUSPROC)(GLenum target);\ntypedef void (REGAL_CALL *PFNGLBINDFRAMEBUFFERPROC)(GLenum target, GLuint framebuffer);\ntypedef void (REGAL_CALL *PFNGLBINDRENDERBUFFERPROC)(GLenum target, GLuint renderbuffer);\ntypedef void (REGAL_CALL *PFNGLBLITFRAMEBUFFERPROC)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);\ntypedef void (REGAL_CALL *PFNGLDELETEFRAMEBUFFERSPROC)(GLsizei n, const GLuint *framebuffers);\ntypedef void (REGAL_CALL *PFNGLDELETERENDERBUFFERSPROC)(GLsizei n, const GLuint *renderbuffers);\ntypedef void (REGAL_CALL *PFNGLFRAMEBUFFERRENDERBUFFERPROC)(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);\ntypedef void (REGAL_CALL *PFNGLFRAMEBUFFERTEXTURE1DPROC)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);\ntypedef void (REGAL_CALL *PFNGLFRAMEBUFFERTEXTURE2DPROC)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);\ntypedef void (REGAL_CALL *PFNGLFRAMEBUFFERTEXTURE3DPROC)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint layer);\ntypedef void (REGAL_CALL *PFNGLFRAMEBUFFERTEXTURELAYERPROC)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);\ntypedef void (REGAL_CALL *PFNGLGENERATEMIPMAPPROC)(GLenum target);\ntypedef void (REGAL_CALL *PFNGLGENFRAMEBUFFERSPROC)(GLsizei n, GLuint *framebuffers);\ntypedef void (REGAL_CALL *PFNGLGENRENDERBUFFERSPROC)(GLsizei n, GLuint *renderbuffers);\ntypedef void (REGAL_CALL *PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC)(GLenum target, GLenum attachment, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETRENDERBUFFERPARAMETERIVPROC)(GLenum target, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);\ntypedef void (REGAL_CALL *PFNGLRENDERBUFFERSTORAGEPROC)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_FRAMEBUFFER_OBJECT\n#define glBindFramebuffer                   rglBindFramebuffer\n#define glBindRenderbuffer                  rglBindRenderbuffer\n#define glBlitFramebuffer                   rglBlitFramebuffer\n#define glCheckFramebufferStatus            rglCheckFramebufferStatus\n#define glDeleteFramebuffers                rglDeleteFramebuffers\n#define glDeleteRenderbuffers               rglDeleteRenderbuffers\n#define glFramebufferRenderbuffer           rglFramebufferRenderbuffer\n#define glFramebufferTexture1D              rglFramebufferTexture1D\n#define glFramebufferTexture2D              rglFramebufferTexture2D\n#define glFramebufferTexture3D              rglFramebufferTexture3D\n#define glFramebufferTextureLayer           rglFramebufferTextureLayer\n#define glGenFramebuffers                   rglGenFramebuffers\n#define glGenRenderbuffers                  rglGenRenderbuffers\n#define glGenerateMipmap                    rglGenerateMipmap\n#define glGetFramebufferAttachmentParameteriv rglGetFramebufferAttachmentParameteriv\n#define glGetRenderbufferParameteriv        rglGetRenderbufferParameteriv\n#define glIsFramebuffer                     rglIsFramebuffer\n#define glIsRenderbuffer                    rglIsRenderbuffer\n#define glRenderbufferStorage               rglRenderbufferStorage\n#define glRenderbufferStorageMultisample    rglRenderbufferStorageMultisample\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_FRAMEBUFFER_OBJECT\nREGAL_DECL GLboolean REGAL_CALL glIsFramebuffer(GLuint framebuffer);\nREGAL_DECL GLboolean REGAL_CALL glIsRenderbuffer(GLuint renderbuffer);\nREGAL_DECL GLenum REGAL_CALL glCheckFramebufferStatus(GLenum target);\nREGAL_DECL void REGAL_CALL glBindFramebuffer(GLenum target, GLuint framebuffer);\nREGAL_DECL void REGAL_CALL glBindRenderbuffer(GLenum target, GLuint renderbuffer);\nREGAL_DECL void REGAL_CALL glBlitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);\nREGAL_DECL void REGAL_CALL glDeleteFramebuffers(GLsizei n, const GLuint *framebuffers);\nREGAL_DECL void REGAL_CALL glDeleteRenderbuffers(GLsizei n, const GLuint *renderbuffers);\nREGAL_DECL void REGAL_CALL glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);\nREGAL_DECL void REGAL_CALL glFramebufferTexture1D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);\nREGAL_DECL void REGAL_CALL glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);\nREGAL_DECL void REGAL_CALL glFramebufferTexture3D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint layer);\nREGAL_DECL void REGAL_CALL glFramebufferTextureLayer(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);\nREGAL_DECL void REGAL_CALL glGenFramebuffers(GLsizei n, GLuint *framebuffers);\nREGAL_DECL void REGAL_CALL glGenRenderbuffers(GLsizei n, GLuint *renderbuffers);\nREGAL_DECL void REGAL_CALL glGenerateMipmap(GLenum target);\nREGAL_DECL void REGAL_CALL glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height);\nREGAL_DECL void REGAL_CALL glRenderbufferStorageMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_FRAMEBUFFER_OBJECT\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsFramebuffer(GLuint framebuffer);\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsRenderbuffer(GLuint renderbuffer);\nREGAL_DECL GLenum REGAL_CALL plugin_glCheckFramebufferStatus(GLenum target);\nREGAL_DECL void REGAL_CALL plugin_glBindFramebuffer(GLenum target, GLuint framebuffer);\nREGAL_DECL void REGAL_CALL plugin_glBindRenderbuffer(GLenum target, GLuint renderbuffer);\nREGAL_DECL void REGAL_CALL plugin_glBlitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);\nREGAL_DECL void REGAL_CALL plugin_glDeleteFramebuffers(GLsizei n, const GLuint *framebuffers);\nREGAL_DECL void REGAL_CALL plugin_glDeleteRenderbuffers(GLsizei n, const GLuint *renderbuffers);\nREGAL_DECL void REGAL_CALL plugin_glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);\nREGAL_DECL void REGAL_CALL plugin_glFramebufferTexture1D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);\nREGAL_DECL void REGAL_CALL plugin_glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);\nREGAL_DECL void REGAL_CALL plugin_glFramebufferTexture3D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint layer);\nREGAL_DECL void REGAL_CALL plugin_glFramebufferTextureLayer(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);\nREGAL_DECL void REGAL_CALL plugin_glGenFramebuffers(GLsizei n, GLuint *framebuffers);\nREGAL_DECL void REGAL_CALL plugin_glGenRenderbuffers(GLsizei n, GLuint *renderbuffers);\nREGAL_DECL void REGAL_CALL plugin_glGenerateMipmap(GLenum target);\nREGAL_DECL void REGAL_CALL plugin_glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height);\nREGAL_DECL void REGAL_CALL plugin_glRenderbufferStorageMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);\n#endif\n\n/**\n ** GL_ARB_framebuffer_sRGB\n **/\n\n#if (defined(GL_ARB_FRAMEBUFFER_SRGB) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_FRAMEBUFFER_SRGB)) && !defined(REGAL_NO_ENUM_GL_ARB_FRAMEBUFFER_SRGB)\n#define REGAL_NO_ENUM_GL_ARB_FRAMEBUFFER_SRGB\n#endif\n\n#if (defined(GL_ARB_FRAMEBUFFER_SRGB) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_FRAMEBUFFER_SRGB)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_FRAMEBUFFER_SRGB)\n#define REGAL_NO_TYPEDEF_GL_ARB_FRAMEBUFFER_SRGB\n#endif\n\n#if (defined(GL_ARB_FRAMEBUFFER_SRGB) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_FRAMEBUFFER_SRGB)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_FRAMEBUFFER_SRGB)\n#define REGAL_NO_NAMESPACE_GL_ARB_FRAMEBUFFER_SRGB\n#endif\n\n#if (defined(GL_ARB_FRAMEBUFFER_SRGB) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_FRAMEBUFFER_SRGB)) && !defined(REGAL_NO_PLUGIN_GL_ARB_FRAMEBUFFER_SRGB)\n#define REGAL_NO_PLUGIN_GL_ARB_FRAMEBUFFER_SRGB\n#endif\n\n#if (defined(GL_ARB_FRAMEBUFFER_SRGB) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_FRAMEBUFFER_SRGB)) && !defined(REGAL_NO_DECLARATION_GL_ARB_FRAMEBUFFER_SRGB)\n#define REGAL_NO_DECLARATION_GL_ARB_FRAMEBUFFER_SRGB\n#endif\n\n#ifndef GL_ARB_framebuffer_sRGB\n#define GL_ARB_framebuffer_sRGB 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_FRAMEBUFFER_SRGB\n#define GL_FRAMEBUFFER_SRGB 0x8db9 /* 36281 */\n#endif\n\n/**\n ** GL_ARB_geometry_shader4\n **/\n\n#if (defined(GL_ARB_GEOMETRY_SHADER4) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_GEOMETRY_SHADER4)) && !defined(REGAL_NO_ENUM_GL_ARB_GEOMETRY_SHADER4)\n#define REGAL_NO_ENUM_GL_ARB_GEOMETRY_SHADER4\n#endif\n\n#if (defined(GL_ARB_GEOMETRY_SHADER4) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_GEOMETRY_SHADER4)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_GEOMETRY_SHADER4)\n#define REGAL_NO_TYPEDEF_GL_ARB_GEOMETRY_SHADER4\n#endif\n\n#if (defined(GL_ARB_GEOMETRY_SHADER4) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_GEOMETRY_SHADER4)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_GEOMETRY_SHADER4)\n#define REGAL_NO_NAMESPACE_GL_ARB_GEOMETRY_SHADER4\n#endif\n\n#if (defined(GL_ARB_GEOMETRY_SHADER4) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_GEOMETRY_SHADER4)) && !defined(REGAL_NO_PLUGIN_GL_ARB_GEOMETRY_SHADER4)\n#define REGAL_NO_PLUGIN_GL_ARB_GEOMETRY_SHADER4\n#endif\n\n#if (defined(GL_ARB_GEOMETRY_SHADER4) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_GEOMETRY_SHADER4)) && !defined(REGAL_NO_DECLARATION_GL_ARB_GEOMETRY_SHADER4)\n#define REGAL_NO_DECLARATION_GL_ARB_GEOMETRY_SHADER4\n#endif\n\n#ifndef GL_ARB_geometry_shader4\n#define GL_ARB_geometry_shader4 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_GEOMETRY_SHADER4\n#define GL_PROGRAM_POINT_SIZE_ARB                   0x8642     /* 34370 */\n#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB     0x8c29     /* 35881 */\n#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB       0x8da7     /* 36263 */\n#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB 0x8da8     /* 36264 */\n#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB   0x8da9     /* 36265 */\n#define GL_GEOMETRY_SHADER_ARB                      0x8dd9     /* 36313 */\n#define GL_GEOMETRY_VERTICES_OUT_ARB                0x8dda     /* 36314 */\n#define GL_GEOMETRY_INPUT_TYPE_ARB                  0x8ddb     /* 36315 */\n#define GL_GEOMETRY_OUTPUT_TYPE_ARB                 0x8ddc     /* 36316 */\n#define GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB      0x8ddd     /* 36317 */\n#define GL_MAX_VERTEX_VARYING_COMPONENTS_ARB        0x8dde     /* 36318 */\n#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB      0x8ddf     /* 36319 */\n#define GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB         0x8de0     /* 36320 */\n#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB 0x8de1     /* 36321 */\n#define GL_LINES_ADJACENCY_ARB                      0xa        /* 10 */\n#define GL_LINE_STRIP_ADJACENCY_ARB                 0xb        /* 11 */\n#define GL_TRIANGLES_ADJACENCY_ARB                  0xc        /* 12 */\n#define GL_TRIANGLE_STRIP_ADJACENCY_ARB             0xd        /* 13 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_GEOMETRY_SHADER4\ntypedef void (REGAL_CALL *PFNGLFRAMEBUFFERTEXTUREARBPROC)(GLenum target, GLenum attachment, GLuint texture, GLint level);\ntypedef void (REGAL_CALL *PFNGLFRAMEBUFFERTEXTUREFACEARBPROC)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face);\ntypedef void (REGAL_CALL *PFNGLFRAMEBUFFERTEXTURELAYERARBPROC)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);\ntypedef void (REGAL_CALL *PFNGLPROGRAMPARAMETERIARBPROC)(GLuint program, GLenum pname, GLint value);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_GEOMETRY_SHADER4\n#define glFramebufferTextureARB             rglFramebufferTextureARB\n#define glFramebufferTextureFaceARB         rglFramebufferTextureFaceARB\n#define glFramebufferTextureLayerARB        rglFramebufferTextureLayerARB\n#define glProgramParameteriARB              rglProgramParameteriARB\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_GEOMETRY_SHADER4\nREGAL_DECL void REGAL_CALL glFramebufferTextureARB(GLenum target, GLenum attachment, GLuint texture, GLint level);\nREGAL_DECL void REGAL_CALL glFramebufferTextureFaceARB(GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face);\nREGAL_DECL void REGAL_CALL glFramebufferTextureLayerARB(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);\nREGAL_DECL void REGAL_CALL glProgramParameteriARB(GLuint program, GLenum pname, GLint value);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_GEOMETRY_SHADER4\nREGAL_DECL void REGAL_CALL plugin_glFramebufferTextureARB(GLenum target, GLenum attachment, GLuint texture, GLint level);\nREGAL_DECL void REGAL_CALL plugin_glFramebufferTextureFaceARB(GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face);\nREGAL_DECL void REGAL_CALL plugin_glFramebufferTextureLayerARB(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);\nREGAL_DECL void REGAL_CALL plugin_glProgramParameteriARB(GLuint program, GLenum pname, GLint value);\n#endif\n\n/**\n ** GL_ARB_get_program_binary\n **/\n\n#if (defined(GL_ARB_GET_PROGRAM_BINARY) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_GET_PROGRAM_BINARY)) && !defined(REGAL_NO_ENUM_GL_ARB_GET_PROGRAM_BINARY)\n#define REGAL_NO_ENUM_GL_ARB_GET_PROGRAM_BINARY\n#endif\n\n#if (defined(GL_ARB_GET_PROGRAM_BINARY) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_GET_PROGRAM_BINARY)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_GET_PROGRAM_BINARY)\n#define REGAL_NO_TYPEDEF_GL_ARB_GET_PROGRAM_BINARY\n#endif\n\n#if (defined(GL_ARB_GET_PROGRAM_BINARY) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_GET_PROGRAM_BINARY)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_GET_PROGRAM_BINARY)\n#define REGAL_NO_NAMESPACE_GL_ARB_GET_PROGRAM_BINARY\n#endif\n\n#if (defined(GL_ARB_GET_PROGRAM_BINARY) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_GET_PROGRAM_BINARY)) && !defined(REGAL_NO_PLUGIN_GL_ARB_GET_PROGRAM_BINARY)\n#define REGAL_NO_PLUGIN_GL_ARB_GET_PROGRAM_BINARY\n#endif\n\n#if (defined(GL_ARB_GET_PROGRAM_BINARY) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_GET_PROGRAM_BINARY)) && !defined(REGAL_NO_DECLARATION_GL_ARB_GET_PROGRAM_BINARY)\n#define REGAL_NO_DECLARATION_GL_ARB_GET_PROGRAM_BINARY\n#endif\n\n#ifndef GL_ARB_get_program_binary\n#define GL_ARB_get_program_binary 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_GET_PROGRAM_BINARY\n#define GL_PROGRAM_BINARY_RETRIEVABLE_HINT 0x8257     /* 33367 */\n#define GL_PROGRAM_BINARY_LENGTH           0x8741     /* 34625 */\n#define GL_NUM_PROGRAM_BINARY_FORMATS      0x87fe     /* 34814 */\n#define GL_PROGRAM_BINARY_FORMATS          0x87ff     /* 34815 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_GET_PROGRAM_BINARY\ntypedef void (REGAL_CALL *PFNGLGETPROGRAMBINARYPROC)(GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary);\ntypedef void (REGAL_CALL *PFNGLPROGRAMBINARYPROC)(GLuint program, GLenum binaryFormat, const GLvoid *binary, GLsizei length);\ntypedef void (REGAL_CALL *PFNGLPROGRAMPARAMETERIPROC)(GLuint program, GLenum pname, GLint value);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_GET_PROGRAM_BINARY\n#define glGetProgramBinary                  rglGetProgramBinary\n#define glProgramBinary                     rglProgramBinary\n#define glProgramParameteri                 rglProgramParameteri\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_GET_PROGRAM_BINARY\nREGAL_DECL void REGAL_CALL glGetProgramBinary(GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary);\nREGAL_DECL void REGAL_CALL glProgramBinary(GLuint program, GLenum binaryFormat, const GLvoid *binary, GLsizei length);\nREGAL_DECL void REGAL_CALL glProgramParameteri(GLuint program, GLenum pname, GLint value);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_GET_PROGRAM_BINARY\nREGAL_DECL void REGAL_CALL plugin_glGetProgramBinary(GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary);\nREGAL_DECL void REGAL_CALL plugin_glProgramBinary(GLuint program, GLenum binaryFormat, const GLvoid *binary, GLsizei length);\nREGAL_DECL void REGAL_CALL plugin_glProgramParameteri(GLuint program, GLenum pname, GLint value);\n#endif\n\n/**\n ** GL_ARB_gpu_shader5\n **/\n\n#if (defined(GL_ARB_GPU_SHADER5) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_GPU_SHADER5)) && !defined(REGAL_NO_ENUM_GL_ARB_GPU_SHADER5)\n#define REGAL_NO_ENUM_GL_ARB_GPU_SHADER5\n#endif\n\n#if (defined(GL_ARB_GPU_SHADER5) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_GPU_SHADER5)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_GPU_SHADER5)\n#define REGAL_NO_TYPEDEF_GL_ARB_GPU_SHADER5\n#endif\n\n#if (defined(GL_ARB_GPU_SHADER5) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_GPU_SHADER5)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_GPU_SHADER5)\n#define REGAL_NO_NAMESPACE_GL_ARB_GPU_SHADER5\n#endif\n\n#if (defined(GL_ARB_GPU_SHADER5) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_GPU_SHADER5)) && !defined(REGAL_NO_PLUGIN_GL_ARB_GPU_SHADER5)\n#define REGAL_NO_PLUGIN_GL_ARB_GPU_SHADER5\n#endif\n\n#if (defined(GL_ARB_GPU_SHADER5) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_GPU_SHADER5)) && !defined(REGAL_NO_DECLARATION_GL_ARB_GPU_SHADER5)\n#define REGAL_NO_DECLARATION_GL_ARB_GPU_SHADER5\n#endif\n\n#ifndef GL_ARB_gpu_shader5\n#define GL_ARB_gpu_shader5 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_GPU_SHADER5\n#define GL_GEOMETRY_SHADER_INVOCATIONS        0x887f     /* 34943 */\n#define GL_MAX_GEOMETRY_SHADER_INVOCATIONS    0x8e5a     /* 36442 */\n#define GL_MIN_FRAGMENT_INTERPOLATION_OFFSET  0x8e5b     /* 36443 */\n#define GL_MAX_FRAGMENT_INTERPOLATION_OFFSET  0x8e5c     /* 36444 */\n#define GL_FRAGMENT_INTERPOLATION_OFFSET_BITS 0x8e5d     /* 36445 */\n#define GL_MAX_VERTEX_STREAMS                 0x8e71     /* 36465 */\n#endif\n\n/**\n ** GL_ARB_gpu_shader_fp64\n **/\n\n#if (defined(GL_ARB_GPU_SHADER_FP64) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_GPU_SHADER_FP64)) && !defined(REGAL_NO_ENUM_GL_ARB_GPU_SHADER_FP64)\n#define REGAL_NO_ENUM_GL_ARB_GPU_SHADER_FP64\n#endif\n\n#if (defined(GL_ARB_GPU_SHADER_FP64) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_GPU_SHADER_FP64)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_GPU_SHADER_FP64)\n#define REGAL_NO_TYPEDEF_GL_ARB_GPU_SHADER_FP64\n#endif\n\n#if (defined(GL_ARB_GPU_SHADER_FP64) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_GPU_SHADER_FP64)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_GPU_SHADER_FP64)\n#define REGAL_NO_NAMESPACE_GL_ARB_GPU_SHADER_FP64\n#endif\n\n#if (defined(GL_ARB_GPU_SHADER_FP64) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_GPU_SHADER_FP64)) && !defined(REGAL_NO_PLUGIN_GL_ARB_GPU_SHADER_FP64)\n#define REGAL_NO_PLUGIN_GL_ARB_GPU_SHADER_FP64\n#endif\n\n#if (defined(GL_ARB_GPU_SHADER_FP64) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_GPU_SHADER_FP64)) && !defined(REGAL_NO_DECLARATION_GL_ARB_GPU_SHADER_FP64)\n#define REGAL_NO_DECLARATION_GL_ARB_GPU_SHADER_FP64\n#endif\n\n#ifndef GL_ARB_gpu_shader_fp64\n#define GL_ARB_gpu_shader_fp64 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_GPU_SHADER_FP64\n#define GL_DOUBLE_MAT2   0x8f46     /* 36678 */\n#define GL_DOUBLE_MAT3   0x8f47     /* 36679 */\n#define GL_DOUBLE_MAT4   0x8f48     /* 36680 */\n#define GL_DOUBLE_MAT2x3 0x8f49     /* 36681 */\n#define GL_DOUBLE_MAT2x4 0x8f4a     /* 36682 */\n#define GL_DOUBLE_MAT3x2 0x8f4b     /* 36683 */\n#define GL_DOUBLE_MAT3x4 0x8f4c     /* 36684 */\n#define GL_DOUBLE_MAT4x2 0x8f4d     /* 36685 */\n#define GL_DOUBLE_MAT4x3 0x8f4e     /* 36686 */\n#define GL_DOUBLE_VEC2   0x8ffc     /* 36860 */\n#define GL_DOUBLE_VEC3   0x8ffd     /* 36861 */\n#define GL_DOUBLE_VEC4   0x8ffe     /* 36862 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_GPU_SHADER_FP64\ntypedef void (REGAL_CALL *PFNGLGETUNIFORMDVPROC)(GLuint program, GLint location, GLdouble *params);\ntypedef void (REGAL_CALL *PFNGLUNIFORM1DPROC)(GLint location, GLdouble x);\ntypedef void (REGAL_CALL *PFNGLUNIFORM1DVPROC)(GLint location, GLsizei count, const GLdouble *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORM2DPROC)(GLint location, GLdouble x, GLdouble y);\ntypedef void (REGAL_CALL *PFNGLUNIFORM2DVPROC)(GLint location, GLsizei count, const GLdouble *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORM3DPROC)(GLint location, GLdouble x, GLdouble y, GLdouble z);\ntypedef void (REGAL_CALL *PFNGLUNIFORM3DVPROC)(GLint location, GLsizei count, const GLdouble *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORM4DPROC)(GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\ntypedef void (REGAL_CALL *PFNGLUNIFORM4DVPROC)(GLint location, GLsizei count, const GLdouble *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORMMATRIX2DVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORMMATRIX2X3DVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORMMATRIX2X4DVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORMMATRIX3DVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORMMATRIX3X2DVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORMMATRIX3X4DVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORMMATRIX4DVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORMMATRIX4X2DVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORMMATRIX4X3DVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_GPU_SHADER_FP64\n#define glGetUniformdv                      rglGetUniformdv\n#define glUniform1d                         rglUniform1d\n#define glUniform1dv                        rglUniform1dv\n#define glUniform2d                         rglUniform2d\n#define glUniform2dv                        rglUniform2dv\n#define glUniform3d                         rglUniform3d\n#define glUniform3dv                        rglUniform3dv\n#define glUniform4d                         rglUniform4d\n#define glUniform4dv                        rglUniform4dv\n#define glUniformMatrix2dv                  rglUniformMatrix2dv\n#define glUniformMatrix2x3dv                rglUniformMatrix2x3dv\n#define glUniformMatrix2x4dv                rglUniformMatrix2x4dv\n#define glUniformMatrix3dv                  rglUniformMatrix3dv\n#define glUniformMatrix3x2dv                rglUniformMatrix3x2dv\n#define glUniformMatrix3x4dv                rglUniformMatrix3x4dv\n#define glUniformMatrix4dv                  rglUniformMatrix4dv\n#define glUniformMatrix4x2dv                rglUniformMatrix4x2dv\n#define glUniformMatrix4x3dv                rglUniformMatrix4x3dv\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_GPU_SHADER_FP64\nREGAL_DECL void REGAL_CALL glGetUniformdv(GLuint program, GLint location, GLdouble *params);\nREGAL_DECL void REGAL_CALL glUniform1d(GLint location, GLdouble x);\nREGAL_DECL void REGAL_CALL glUniform1dv(GLint location, GLsizei count, const GLdouble *value);\nREGAL_DECL void REGAL_CALL glUniform2d(GLint location, GLdouble x, GLdouble y);\nREGAL_DECL void REGAL_CALL glUniform2dv(GLint location, GLsizei count, const GLdouble *value);\nREGAL_DECL void REGAL_CALL glUniform3d(GLint location, GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL glUniform3dv(GLint location, GLsizei count, const GLdouble *value);\nREGAL_DECL void REGAL_CALL glUniform4d(GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nREGAL_DECL void REGAL_CALL glUniform4dv(GLint location, GLsizei count, const GLdouble *value);\nREGAL_DECL void REGAL_CALL glUniformMatrix2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL glUniformMatrix2x3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL glUniformMatrix2x4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL glUniformMatrix3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL glUniformMatrix3x2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL glUniformMatrix3x4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL glUniformMatrix4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL glUniformMatrix4x2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL glUniformMatrix4x3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_GPU_SHADER_FP64\nREGAL_DECL void REGAL_CALL plugin_glGetUniformdv(GLuint program, GLint location, GLdouble *params);\nREGAL_DECL void REGAL_CALL plugin_glUniform1d(GLint location, GLdouble x);\nREGAL_DECL void REGAL_CALL plugin_glUniform1dv(GLint location, GLsizei count, const GLdouble *value);\nREGAL_DECL void REGAL_CALL plugin_glUniform2d(GLint location, GLdouble x, GLdouble y);\nREGAL_DECL void REGAL_CALL plugin_glUniform2dv(GLint location, GLsizei count, const GLdouble *value);\nREGAL_DECL void REGAL_CALL plugin_glUniform3d(GLint location, GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL plugin_glUniform3dv(GLint location, GLsizei count, const GLdouble *value);\nREGAL_DECL void REGAL_CALL plugin_glUniform4d(GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nREGAL_DECL void REGAL_CALL plugin_glUniform4dv(GLint location, GLsizei count, const GLdouble *value);\nREGAL_DECL void REGAL_CALL plugin_glUniformMatrix2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL plugin_glUniformMatrix2x3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL plugin_glUniformMatrix2x4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL plugin_glUniformMatrix3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL plugin_glUniformMatrix3x2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL plugin_glUniformMatrix3x4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL plugin_glUniformMatrix4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL plugin_glUniformMatrix4x2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL plugin_glUniformMatrix4x3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\n#endif\n\n/**\n ** GL_ARB_half_float_pixel\n **/\n\n#if (defined(GL_ARB_HALF_FLOAT_PIXEL) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_HALF_FLOAT_PIXEL)) && !defined(REGAL_NO_ENUM_GL_ARB_HALF_FLOAT_PIXEL)\n#define REGAL_NO_ENUM_GL_ARB_HALF_FLOAT_PIXEL\n#endif\n\n#if (defined(GL_ARB_HALF_FLOAT_PIXEL) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_HALF_FLOAT_PIXEL)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_HALF_FLOAT_PIXEL)\n#define REGAL_NO_TYPEDEF_GL_ARB_HALF_FLOAT_PIXEL\n#endif\n\n#if (defined(GL_ARB_HALF_FLOAT_PIXEL) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_HALF_FLOAT_PIXEL)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_HALF_FLOAT_PIXEL)\n#define REGAL_NO_NAMESPACE_GL_ARB_HALF_FLOAT_PIXEL\n#endif\n\n#if (defined(GL_ARB_HALF_FLOAT_PIXEL) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_HALF_FLOAT_PIXEL)) && !defined(REGAL_NO_PLUGIN_GL_ARB_HALF_FLOAT_PIXEL)\n#define REGAL_NO_PLUGIN_GL_ARB_HALF_FLOAT_PIXEL\n#endif\n\n#if (defined(GL_ARB_HALF_FLOAT_PIXEL) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_HALF_FLOAT_PIXEL)) && !defined(REGAL_NO_DECLARATION_GL_ARB_HALF_FLOAT_PIXEL)\n#define REGAL_NO_DECLARATION_GL_ARB_HALF_FLOAT_PIXEL\n#endif\n\n#ifndef GL_ARB_half_float_pixel\n#define GL_ARB_half_float_pixel 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_HALF_FLOAT_PIXEL\n#define GL_HALF_FLOAT_ARB 0x140b /* 5131 */\n#endif\n\n/**\n ** GL_ARB_half_float_vertex\n **/\n\n#if (defined(GL_ARB_HALF_FLOAT_VERTEX) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_HALF_FLOAT_VERTEX)) && !defined(REGAL_NO_ENUM_GL_ARB_HALF_FLOAT_VERTEX)\n#define REGAL_NO_ENUM_GL_ARB_HALF_FLOAT_VERTEX\n#endif\n\n#if (defined(GL_ARB_HALF_FLOAT_VERTEX) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_HALF_FLOAT_VERTEX)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_HALF_FLOAT_VERTEX)\n#define REGAL_NO_TYPEDEF_GL_ARB_HALF_FLOAT_VERTEX\n#endif\n\n#if (defined(GL_ARB_HALF_FLOAT_VERTEX) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_HALF_FLOAT_VERTEX)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_HALF_FLOAT_VERTEX)\n#define REGAL_NO_NAMESPACE_GL_ARB_HALF_FLOAT_VERTEX\n#endif\n\n#if (defined(GL_ARB_HALF_FLOAT_VERTEX) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_HALF_FLOAT_VERTEX)) && !defined(REGAL_NO_PLUGIN_GL_ARB_HALF_FLOAT_VERTEX)\n#define REGAL_NO_PLUGIN_GL_ARB_HALF_FLOAT_VERTEX\n#endif\n\n#if (defined(GL_ARB_HALF_FLOAT_VERTEX) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_HALF_FLOAT_VERTEX)) && !defined(REGAL_NO_DECLARATION_GL_ARB_HALF_FLOAT_VERTEX)\n#define REGAL_NO_DECLARATION_GL_ARB_HALF_FLOAT_VERTEX\n#endif\n\n#ifndef GL_ARB_half_float_vertex\n#define GL_ARB_half_float_vertex 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_HALF_FLOAT_VERTEX\n#define GL_HALF_FLOAT 0x140b /* 5131 */\n#endif\n\n/**\n ** GL_ARB_imaging\n **/\n\n#if (defined(GL_ARB_IMAGING) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_IMAGING)) && !defined(REGAL_NO_ENUM_GL_ARB_IMAGING)\n#define REGAL_NO_ENUM_GL_ARB_IMAGING\n#endif\n\n#if (defined(GL_ARB_IMAGING) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_IMAGING)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_IMAGING)\n#define REGAL_NO_TYPEDEF_GL_ARB_IMAGING\n#endif\n\n#if (defined(GL_ARB_IMAGING) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_IMAGING)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_IMAGING)\n#define REGAL_NO_NAMESPACE_GL_ARB_IMAGING\n#endif\n\n#if (defined(GL_ARB_IMAGING) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_IMAGING)) && !defined(REGAL_NO_PLUGIN_GL_ARB_IMAGING)\n#define REGAL_NO_PLUGIN_GL_ARB_IMAGING\n#endif\n\n#if (defined(GL_ARB_IMAGING) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_IMAGING)) && !defined(REGAL_NO_DECLARATION_GL_ARB_IMAGING)\n#define REGAL_NO_DECLARATION_GL_ARB_IMAGING\n#endif\n\n#ifndef GL_ARB_imaging\n#define GL_ARB_imaging 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_IMAGING\n#define GL_CONSTANT_COLOR                      0x8001     /* 32769 */\n#define GL_ONE_MINUS_CONSTANT_COLOR            0x8002     /* 32770 */\n#define GL_CONSTANT_ALPHA                      0x8003     /* 32771 */\n#define GL_ONE_MINUS_CONSTANT_ALPHA            0x8004     /* 32772 */\n#define GL_BLEND_COLOR                         0x8005     /* 32773 */\n#define GL_FUNC_ADD                            0x8006     /* 32774 */\n#define GL_MIN                                 0x8007     /* 32775 */\n#define GL_MAX                                 0x8008     /* 32776 */\n#define GL_BLEND_EQUATION                      0x8009     /* 32777 */\n#define GL_FUNC_SUBTRACT                       0x800a     /* 32778 */\n#define GL_FUNC_REVERSE_SUBTRACT               0x800b     /* 32779 */\n#define GL_CONVOLUTION_1D                      0x8010     /* 32784 */\n#define GL_CONVOLUTION_2D                      0x8011     /* 32785 */\n#define GL_SEPARABLE_2D                        0x8012     /* 32786 */\n#define GL_CONVOLUTION_BORDER_MODE             0x8013     /* 32787 */\n#define GL_CONVOLUTION_FILTER_SCALE            0x8014     /* 32788 */\n#define GL_CONVOLUTION_FILTER_BIAS             0x8015     /* 32789 */\n#define GL_REDUCE                              0x8016     /* 32790 */\n#define GL_CONVOLUTION_FORMAT                  0x8017     /* 32791 */\n#define GL_CONVOLUTION_WIDTH                   0x8018     /* 32792 */\n#define GL_CONVOLUTION_HEIGHT                  0x8019     /* 32793 */\n#define GL_MAX_CONVOLUTION_WIDTH               0x801a     /* 32794 */\n#define GL_MAX_CONVOLUTION_HEIGHT              0x801b     /* 32795 */\n#define GL_POST_CONVOLUTION_RED_SCALE          0x801c     /* 32796 */\n#define GL_POST_CONVOLUTION_GREEN_SCALE        0x801d     /* 32797 */\n#define GL_POST_CONVOLUTION_BLUE_SCALE         0x801e     /* 32798 */\n#define GL_POST_CONVOLUTION_ALPHA_SCALE        0x801f     /* 32799 */\n#define GL_POST_CONVOLUTION_RED_BIAS           0x8020     /* 32800 */\n#define GL_POST_CONVOLUTION_GREEN_BIAS         0x8021     /* 32801 */\n#define GL_POST_CONVOLUTION_BLUE_BIAS          0x8022     /* 32802 */\n#define GL_POST_CONVOLUTION_ALPHA_BIAS         0x8023     /* 32803 */\n#define GL_HISTOGRAM                           0x8024     /* 32804 */\n#define GL_PROXY_HISTOGRAM                     0x8025     /* 32805 */\n#define GL_HISTOGRAM_WIDTH                     0x8026     /* 32806 */\n#define GL_HISTOGRAM_FORMAT                    0x8027     /* 32807 */\n#define GL_HISTOGRAM_RED_SIZE                  0x8028     /* 32808 */\n#define GL_HISTOGRAM_GREEN_SIZE                0x8029     /* 32809 */\n#define GL_HISTOGRAM_BLUE_SIZE                 0x802a     /* 32810 */\n#define GL_HISTOGRAM_ALPHA_SIZE                0x802b     /* 32811 */\n#define GL_HISTOGRAM_LUMINANCE_SIZE            0x802c     /* 32812 */\n#define GL_HISTOGRAM_SINK                      0x802d     /* 32813 */\n#define GL_MINMAX                              0x802e     /* 32814 */\n#define GL_MINMAX_FORMAT                       0x802f     /* 32815 */\n#define GL_MINMAX_SINK                         0x8030     /* 32816 */\n#define GL_TABLE_TOO_LARGE                     0x8031     /* 32817 */\n#define GL_COLOR_MATRIX                        0x80b1     /* 32945 */\n#define GL_COLOR_MATRIX_STACK_DEPTH            0x80b2     /* 32946 */\n#define GL_MAX_COLOR_MATRIX_STACK_DEPTH        0x80b3     /* 32947 */\n#define GL_POST_COLOR_MATRIX_RED_SCALE         0x80b4     /* 32948 */\n#define GL_POST_COLOR_MATRIX_GREEN_SCALE       0x80b5     /* 32949 */\n#define GL_POST_COLOR_MATRIX_BLUE_SCALE        0x80b6     /* 32950 */\n#define GL_POST_COLOR_MATRIX_ALPHA_SCALE       0x80b7     /* 32951 */\n#define GL_POST_COLOR_MATRIX_RED_BIAS          0x80b8     /* 32952 */\n#define GL_POST_COLOR_MATRIX_GREEN_BIAS        0x80b9     /* 32953 */\n#define GL_POST_COLOR_MATRIX_BLUE_BIAS         0x80ba     /* 32954 */\n#define GL_POST_COLOR_MATRIX_ALPHA_BIAS        0x80bb     /* 32955 */\n#define GL_COLOR_TABLE                         0x80d0     /* 32976 */\n#define GL_POST_CONVOLUTION_COLOR_TABLE        0x80d1     /* 32977 */\n#define GL_POST_COLOR_MATRIX_COLOR_TABLE       0x80d2     /* 32978 */\n#define GL_PROXY_COLOR_TABLE                   0x80d3     /* 32979 */\n#define GL_PROXY_POST_CONVOLUTION_COLOR_TABLE  0x80d4     /* 32980 */\n#define GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE 0x80d5     /* 32981 */\n#define GL_COLOR_TABLE_SCALE                   0x80d6     /* 32982 */\n#define GL_COLOR_TABLE_BIAS                    0x80d7     /* 32983 */\n#define GL_COLOR_TABLE_FORMAT                  0x80d8     /* 32984 */\n#define GL_COLOR_TABLE_WIDTH                   0x80d9     /* 32985 */\n#define GL_COLOR_TABLE_RED_SIZE                0x80da     /* 32986 */\n#define GL_COLOR_TABLE_GREEN_SIZE              0x80db     /* 32987 */\n#define GL_COLOR_TABLE_BLUE_SIZE               0x80dc     /* 32988 */\n#define GL_COLOR_TABLE_ALPHA_SIZE              0x80dd     /* 32989 */\n#define GL_COLOR_TABLE_LUMINANCE_SIZE          0x80de     /* 32990 */\n#define GL_COLOR_TABLE_INTENSITY_SIZE          0x80df     /* 32991 */\n#define GL_IGNORE_BORDER                       0x8150     /* 33104 */\n#define GL_CONSTANT_BORDER                     0x8151     /* 33105 */\n#define GL_WRAP_BORDER                         0x8152     /* 33106 */\n#define GL_REPLICATE_BORDER                    0x8153     /* 33107 */\n#define GL_CONVOLUTION_BORDER_COLOR            0x8154     /* 33108 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_IMAGING\ntypedef void (REGAL_CALL *PFNGLCOLORSUBTABLEPROC)(GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *data);\ntypedef void (REGAL_CALL *PFNGLCOLORTABLEPARAMETERFVPROC)(GLenum target, GLenum pname, const GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLCOLORTABLEPARAMETERIVPROC)(GLenum target, GLenum pname, const GLint *params);\ntypedef void (REGAL_CALL *PFNGLCOLORTABLEPROC)(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table);\ntypedef void (REGAL_CALL *PFNGLCONVOLUTIONFILTER1DPROC)(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image);\ntypedef void (REGAL_CALL *PFNGLCONVOLUTIONFILTER2DPROC)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image);\ntypedef void (REGAL_CALL *PFNGLCONVOLUTIONPARAMETERFPROC)(GLenum target, GLenum pname, GLfloat params);\ntypedef void (REGAL_CALL *PFNGLCONVOLUTIONPARAMETERFVPROC)(GLenum target, GLenum pname, const GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLCONVOLUTIONPARAMETERIPROC)(GLenum target, GLenum pname, GLint params);\ntypedef void (REGAL_CALL *PFNGLCONVOLUTIONPARAMETERIVPROC)(GLenum target, GLenum pname, const GLint *params);\ntypedef void (REGAL_CALL *PFNGLCOPYCOLORSUBTABLEPROC)(GLenum target, GLsizei start, GLint x, GLint y, GLsizei width);\ntypedef void (REGAL_CALL *PFNGLCOPYCOLORTABLEPROC)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);\ntypedef void (REGAL_CALL *PFNGLCOPYCONVOLUTIONFILTER1DPROC)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);\ntypedef void (REGAL_CALL *PFNGLCOPYCONVOLUTIONFILTER2DPROC)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height);\ntypedef void (REGAL_CALL *PFNGLGETCOLORTABLEPARAMETERFVPROC)(GLenum target, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETCOLORTABLEPARAMETERIVPROC)(GLenum target, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETCOLORTABLEPROC)(GLenum target, GLenum format, GLenum type, GLvoid *table);\ntypedef void (REGAL_CALL *PFNGLGETCONVOLUTIONFILTERPROC)(GLenum target, GLenum format, GLenum type, GLvoid *image);\ntypedef void (REGAL_CALL *PFNGLGETCONVOLUTIONPARAMETERFVPROC)(GLenum target, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETCONVOLUTIONPARAMETERIVPROC)(GLenum target, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETHISTOGRAMPARAMETERFVPROC)(GLenum target, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETHISTOGRAMPARAMETERIVPROC)(GLenum target, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETHISTOGRAMPROC)(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);\ntypedef void (REGAL_CALL *PFNGLGETMINMAXPARAMETERFVPROC)(GLenum target, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETMINMAXPARAMETERIVPROC)(GLenum target, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETMINMAXPROC)(GLenum target, GLboolean reset, GLenum format, GLenum types, GLvoid *values);\ntypedef void (REGAL_CALL *PFNGLGETSEPARABLEFILTERPROC)(GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span);\ntypedef void (REGAL_CALL *PFNGLHISTOGRAMPROC)(GLenum target, GLsizei width, GLenum internalformat, GLboolean sink);\ntypedef void (REGAL_CALL *PFNGLMINMAXPROC)(GLenum target, GLenum internalformat, GLboolean sink);\ntypedef void (REGAL_CALL *PFNGLRESETHISTOGRAMPROC)(GLenum target);\ntypedef void (REGAL_CALL *PFNGLRESETMINMAXPROC)(GLenum target);\ntypedef void (REGAL_CALL *PFNGLSEPARABLEFILTER2DPROC)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_IMAGING\n#define glColorSubTable                     rglColorSubTable\n#define glColorTable                        rglColorTable\n#define glColorTableParameterfv             rglColorTableParameterfv\n#define glColorTableParameteriv             rglColorTableParameteriv\n#define glConvolutionFilter1D               rglConvolutionFilter1D\n#define glConvolutionFilter2D               rglConvolutionFilter2D\n#define glConvolutionParameterf             rglConvolutionParameterf\n#define glConvolutionParameterfv            rglConvolutionParameterfv\n#define glConvolutionParameteri             rglConvolutionParameteri\n#define glConvolutionParameteriv            rglConvolutionParameteriv\n#define glCopyColorSubTable                 rglCopyColorSubTable\n#define glCopyColorTable                    rglCopyColorTable\n#define glCopyConvolutionFilter1D           rglCopyConvolutionFilter1D\n#define glCopyConvolutionFilter2D           rglCopyConvolutionFilter2D\n#define glGetColorTable                     rglGetColorTable\n#define glGetColorTableParameterfv          rglGetColorTableParameterfv\n#define glGetColorTableParameteriv          rglGetColorTableParameteriv\n#define glGetConvolutionFilter              rglGetConvolutionFilter\n#define glGetConvolutionParameterfv         rglGetConvolutionParameterfv\n#define glGetConvolutionParameteriv         rglGetConvolutionParameteriv\n#define glGetHistogram                      rglGetHistogram\n#define glGetHistogramParameterfv           rglGetHistogramParameterfv\n#define glGetHistogramParameteriv           rglGetHistogramParameteriv\n#define glGetMinmax                         rglGetMinmax\n#define glGetMinmaxParameterfv              rglGetMinmaxParameterfv\n#define glGetMinmaxParameteriv              rglGetMinmaxParameteriv\n#define glGetSeparableFilter                rglGetSeparableFilter\n#define glHistogram                         rglHistogram\n#define glMinmax                            rglMinmax\n#define glResetHistogram                    rglResetHistogram\n#define glResetMinmax                       rglResetMinmax\n#define glSeparableFilter2D                 rglSeparableFilter2D\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_IMAGING\nREGAL_DECL void REGAL_CALL glColorSubTable(GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *data);\nREGAL_DECL void REGAL_CALL glColorTable(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table);\nREGAL_DECL void REGAL_CALL glColorTableParameterfv(GLenum target, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL glColorTableParameteriv(GLenum target, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL glConvolutionFilter1D(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image);\nREGAL_DECL void REGAL_CALL glConvolutionFilter2D(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image);\nREGAL_DECL void REGAL_CALL glConvolutionParameterf(GLenum target, GLenum pname, GLfloat params);\nREGAL_DECL void REGAL_CALL glConvolutionParameterfv(GLenum target, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL glConvolutionParameteri(GLenum target, GLenum pname, GLint params);\nREGAL_DECL void REGAL_CALL glConvolutionParameteriv(GLenum target, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL glCopyColorSubTable(GLenum target, GLsizei start, GLint x, GLint y, GLsizei width);\nREGAL_DECL void REGAL_CALL glCopyColorTable(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);\nREGAL_DECL void REGAL_CALL glCopyConvolutionFilter1D(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);\nREGAL_DECL void REGAL_CALL glCopyConvolutionFilter2D(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height);\nREGAL_DECL void REGAL_CALL glGetColorTable(GLenum target, GLenum format, GLenum type, GLvoid *table);\nREGAL_DECL void REGAL_CALL glGetColorTableParameterfv(GLenum target, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetColorTableParameteriv(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetConvolutionFilter(GLenum target, GLenum format, GLenum type, GLvoid *image);\nREGAL_DECL void REGAL_CALL glGetConvolutionParameterfv(GLenum target, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetConvolutionParameteriv(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetHistogram(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);\nREGAL_DECL void REGAL_CALL glGetHistogramParameterfv(GLenum target, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetHistogramParameteriv(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetMinmax(GLenum target, GLboolean reset, GLenum format, GLenum types, GLvoid *values);\nREGAL_DECL void REGAL_CALL glGetMinmaxParameterfv(GLenum target, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetMinmaxParameteriv(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetSeparableFilter(GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span);\nREGAL_DECL void REGAL_CALL glHistogram(GLenum target, GLsizei width, GLenum internalformat, GLboolean sink);\nREGAL_DECL void REGAL_CALL glMinmax(GLenum target, GLenum internalformat, GLboolean sink);\nREGAL_DECL void REGAL_CALL glResetHistogram(GLenum target);\nREGAL_DECL void REGAL_CALL glResetMinmax(GLenum target);\nREGAL_DECL void REGAL_CALL glSeparableFilter2D(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_IMAGING\nREGAL_DECL void REGAL_CALL plugin_glColorSubTable(GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *data);\nREGAL_DECL void REGAL_CALL plugin_glColorTable(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table);\nREGAL_DECL void REGAL_CALL plugin_glColorTableParameterfv(GLenum target, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glColorTableParameteriv(GLenum target, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glConvolutionFilter1D(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image);\nREGAL_DECL void REGAL_CALL plugin_glConvolutionFilter2D(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image);\nREGAL_DECL void REGAL_CALL plugin_glConvolutionParameterf(GLenum target, GLenum pname, GLfloat params);\nREGAL_DECL void REGAL_CALL plugin_glConvolutionParameterfv(GLenum target, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glConvolutionParameteri(GLenum target, GLenum pname, GLint params);\nREGAL_DECL void REGAL_CALL plugin_glConvolutionParameteriv(GLenum target, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glCopyColorSubTable(GLenum target, GLsizei start, GLint x, GLint y, GLsizei width);\nREGAL_DECL void REGAL_CALL plugin_glCopyColorTable(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);\nREGAL_DECL void REGAL_CALL plugin_glCopyConvolutionFilter1D(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);\nREGAL_DECL void REGAL_CALL plugin_glCopyConvolutionFilter2D(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height);\nREGAL_DECL void REGAL_CALL plugin_glGetColorTable(GLenum target, GLenum format, GLenum type, GLvoid *table);\nREGAL_DECL void REGAL_CALL plugin_glGetColorTableParameterfv(GLenum target, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetColorTableParameteriv(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetConvolutionFilter(GLenum target, GLenum format, GLenum type, GLvoid *image);\nREGAL_DECL void REGAL_CALL plugin_glGetConvolutionParameterfv(GLenum target, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetConvolutionParameteriv(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetHistogram(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);\nREGAL_DECL void REGAL_CALL plugin_glGetHistogramParameterfv(GLenum target, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetHistogramParameteriv(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetMinmax(GLenum target, GLboolean reset, GLenum format, GLenum types, GLvoid *values);\nREGAL_DECL void REGAL_CALL plugin_glGetMinmaxParameterfv(GLenum target, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetMinmaxParameteriv(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetSeparableFilter(GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span);\nREGAL_DECL void REGAL_CALL plugin_glHistogram(GLenum target, GLsizei width, GLenum internalformat, GLboolean sink);\nREGAL_DECL void REGAL_CALL plugin_glMinmax(GLenum target, GLenum internalformat, GLboolean sink);\nREGAL_DECL void REGAL_CALL plugin_glResetHistogram(GLenum target);\nREGAL_DECL void REGAL_CALL plugin_glResetMinmax(GLenum target);\nREGAL_DECL void REGAL_CALL plugin_glSeparableFilter2D(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column);\n#endif\n\n/**\n ** GL_ARB_indirect_parameters\n **/\n\n#if (defined(GL_ARB_INDIRECT_PARAMETERS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_INDIRECT_PARAMETERS)) && !defined(REGAL_NO_ENUM_GL_ARB_INDIRECT_PARAMETERS)\n#define REGAL_NO_ENUM_GL_ARB_INDIRECT_PARAMETERS\n#endif\n\n#if (defined(GL_ARB_INDIRECT_PARAMETERS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_INDIRECT_PARAMETERS)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_INDIRECT_PARAMETERS)\n#define REGAL_NO_TYPEDEF_GL_ARB_INDIRECT_PARAMETERS\n#endif\n\n#if (defined(GL_ARB_INDIRECT_PARAMETERS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_INDIRECT_PARAMETERS)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_INDIRECT_PARAMETERS)\n#define REGAL_NO_NAMESPACE_GL_ARB_INDIRECT_PARAMETERS\n#endif\n\n#if (defined(GL_ARB_INDIRECT_PARAMETERS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_INDIRECT_PARAMETERS)) && !defined(REGAL_NO_PLUGIN_GL_ARB_INDIRECT_PARAMETERS)\n#define REGAL_NO_PLUGIN_GL_ARB_INDIRECT_PARAMETERS\n#endif\n\n#if (defined(GL_ARB_INDIRECT_PARAMETERS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_INDIRECT_PARAMETERS)) && !defined(REGAL_NO_DECLARATION_GL_ARB_INDIRECT_PARAMETERS)\n#define REGAL_NO_DECLARATION_GL_ARB_INDIRECT_PARAMETERS\n#endif\n\n#ifndef GL_ARB_indirect_parameters\n#define GL_ARB_indirect_parameters 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_INDIRECT_PARAMETERS\n#define GL_PARAMETER_BUFFER_ARB         0x80ee     /* 33006 */\n#define GL_PARAMETER_BUFFER_BINDING_ARB 0x80ef     /* 33007 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_INDIRECT_PARAMETERS\ntypedef void (REGAL_CALL *PFNGLMULTIDRAWARRAYSINDIRECTCOUNTARBPROC)(GLenum mode, const GLvoid *indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride);\ntypedef void (REGAL_CALL *PFNGLMULTIDRAWELEMENTSINDIRECTCOUNTARBPROC)(GLenum mode, GLenum type, const GLvoid *indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_INDIRECT_PARAMETERS\n#define glMultiDrawArraysIndirectCountARB   rglMultiDrawArraysIndirectCountARB\n#define glMultiDrawElementsIndirectCountARB rglMultiDrawElementsIndirectCountARB\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_INDIRECT_PARAMETERS\nREGAL_DECL void REGAL_CALL glMultiDrawArraysIndirectCountARB(GLenum mode, const GLvoid *indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride);\nREGAL_DECL void REGAL_CALL glMultiDrawElementsIndirectCountARB(GLenum mode, GLenum type, const GLvoid *indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_INDIRECT_PARAMETERS\nREGAL_DECL void REGAL_CALL plugin_glMultiDrawArraysIndirectCountARB(GLenum mode, const GLvoid *indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride);\nREGAL_DECL void REGAL_CALL plugin_glMultiDrawElementsIndirectCountARB(GLenum mode, GLenum type, const GLvoid *indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride);\n#endif\n\n/**\n ** GL_ARB_instanced_arrays\n **/\n\n#if (defined(GL_ARB_INSTANCED_ARRAYS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_INSTANCED_ARRAYS)) && !defined(REGAL_NO_ENUM_GL_ARB_INSTANCED_ARRAYS)\n#define REGAL_NO_ENUM_GL_ARB_INSTANCED_ARRAYS\n#endif\n\n#if (defined(GL_ARB_INSTANCED_ARRAYS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_INSTANCED_ARRAYS)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_INSTANCED_ARRAYS)\n#define REGAL_NO_TYPEDEF_GL_ARB_INSTANCED_ARRAYS\n#endif\n\n#if (defined(GL_ARB_INSTANCED_ARRAYS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_INSTANCED_ARRAYS)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_INSTANCED_ARRAYS)\n#define REGAL_NO_NAMESPACE_GL_ARB_INSTANCED_ARRAYS\n#endif\n\n#if (defined(GL_ARB_INSTANCED_ARRAYS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_INSTANCED_ARRAYS)) && !defined(REGAL_NO_PLUGIN_GL_ARB_INSTANCED_ARRAYS)\n#define REGAL_NO_PLUGIN_GL_ARB_INSTANCED_ARRAYS\n#endif\n\n#if (defined(GL_ARB_INSTANCED_ARRAYS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_INSTANCED_ARRAYS)) && !defined(REGAL_NO_DECLARATION_GL_ARB_INSTANCED_ARRAYS)\n#define REGAL_NO_DECLARATION_GL_ARB_INSTANCED_ARRAYS\n#endif\n\n#ifndef GL_ARB_instanced_arrays\n#define GL_ARB_instanced_arrays 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_INSTANCED_ARRAYS\n#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB 0x88fe /* 35070 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_INSTANCED_ARRAYS\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBDIVISORARBPROC)(GLuint index, GLuint divisor);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_INSTANCED_ARRAYS\n#define glVertexAttribDivisorARB            rglVertexAttribDivisorARB\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_INSTANCED_ARRAYS\nREGAL_DECL void REGAL_CALL glVertexAttribDivisorARB(GLuint index, GLuint divisor);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_INSTANCED_ARRAYS\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribDivisorARB(GLuint index, GLuint divisor);\n#endif\n\n/**\n ** GL_ARB_internalformat_query\n **/\n\n#if (defined(GL_ARB_INTERNALFORMAT_QUERY) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_INTERNALFORMAT_QUERY)) && !defined(REGAL_NO_ENUM_GL_ARB_INTERNALFORMAT_QUERY)\n#define REGAL_NO_ENUM_GL_ARB_INTERNALFORMAT_QUERY\n#endif\n\n#if (defined(GL_ARB_INTERNALFORMAT_QUERY) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_INTERNALFORMAT_QUERY)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_INTERNALFORMAT_QUERY)\n#define REGAL_NO_TYPEDEF_GL_ARB_INTERNALFORMAT_QUERY\n#endif\n\n#if (defined(GL_ARB_INTERNALFORMAT_QUERY) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_INTERNALFORMAT_QUERY)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_INTERNALFORMAT_QUERY)\n#define REGAL_NO_NAMESPACE_GL_ARB_INTERNALFORMAT_QUERY\n#endif\n\n#if (defined(GL_ARB_INTERNALFORMAT_QUERY) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_INTERNALFORMAT_QUERY)) && !defined(REGAL_NO_PLUGIN_GL_ARB_INTERNALFORMAT_QUERY)\n#define REGAL_NO_PLUGIN_GL_ARB_INTERNALFORMAT_QUERY\n#endif\n\n#if (defined(GL_ARB_INTERNALFORMAT_QUERY) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_INTERNALFORMAT_QUERY)) && !defined(REGAL_NO_DECLARATION_GL_ARB_INTERNALFORMAT_QUERY)\n#define REGAL_NO_DECLARATION_GL_ARB_INTERNALFORMAT_QUERY\n#endif\n\n#ifndef GL_ARB_internalformat_query\n#define GL_ARB_internalformat_query 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_INTERNALFORMAT_QUERY\n#define GL_NUM_SAMPLE_COUNTS 0x9380 /* 37760 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_INTERNALFORMAT_QUERY\ntypedef void (REGAL_CALL *PFNGLGETINTERNALFORMATIVPROC)(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint *params);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_INTERNALFORMAT_QUERY\n#define glGetInternalformativ               rglGetInternalformativ\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_INTERNALFORMAT_QUERY\nREGAL_DECL void REGAL_CALL glGetInternalformativ(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint *params);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_INTERNALFORMAT_QUERY\nREGAL_DECL void REGAL_CALL plugin_glGetInternalformativ(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint *params);\n#endif\n\n/**\n ** GL_ARB_internalformat_query2\n **/\n\n#if (defined(GL_ARB_INTERNALFORMAT_QUERY2) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_INTERNALFORMAT_QUERY2)) && !defined(REGAL_NO_ENUM_GL_ARB_INTERNALFORMAT_QUERY2)\n#define REGAL_NO_ENUM_GL_ARB_INTERNALFORMAT_QUERY2\n#endif\n\n#if (defined(GL_ARB_INTERNALFORMAT_QUERY2) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_INTERNALFORMAT_QUERY2)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_INTERNALFORMAT_QUERY2)\n#define REGAL_NO_TYPEDEF_GL_ARB_INTERNALFORMAT_QUERY2\n#endif\n\n#if (defined(GL_ARB_INTERNALFORMAT_QUERY2) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_INTERNALFORMAT_QUERY2)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_INTERNALFORMAT_QUERY2)\n#define REGAL_NO_NAMESPACE_GL_ARB_INTERNALFORMAT_QUERY2\n#endif\n\n#if (defined(GL_ARB_INTERNALFORMAT_QUERY2) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_INTERNALFORMAT_QUERY2)) && !defined(REGAL_NO_PLUGIN_GL_ARB_INTERNALFORMAT_QUERY2)\n#define REGAL_NO_PLUGIN_GL_ARB_INTERNALFORMAT_QUERY2\n#endif\n\n#if (defined(GL_ARB_INTERNALFORMAT_QUERY2) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_INTERNALFORMAT_QUERY2)) && !defined(REGAL_NO_DECLARATION_GL_ARB_INTERNALFORMAT_QUERY2)\n#define REGAL_NO_DECLARATION_GL_ARB_INTERNALFORMAT_QUERY2\n#endif\n\n#ifndef GL_ARB_internalformat_query2\n#define GL_ARB_internalformat_query2 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_INTERNALFORMAT_QUERY2\n#define GL_INTERNALFORMAT_SUPPORTED               0x826f     /* 33391 */\n#define GL_INTERNALFORMAT_PREFERRED               0x8270     /* 33392 */\n#define GL_INTERNALFORMAT_RED_SIZE                0x8271     /* 33393 */\n#define GL_INTERNALFORMAT_GREEN_SIZE              0x8272     /* 33394 */\n#define GL_INTERNALFORMAT_BLUE_SIZE               0x8273     /* 33395 */\n#define GL_INTERNALFORMAT_ALPHA_SIZE              0x8274     /* 33396 */\n#define GL_INTERNALFORMAT_DEPTH_SIZE              0x8275     /* 33397 */\n#define GL_INTERNALFORMAT_STENCIL_SIZE            0x8276     /* 33398 */\n#define GL_INTERNALFORMAT_SHARED_SIZE             0x8277     /* 33399 */\n#define GL_INTERNALFORMAT_RED_TYPE                0x8278     /* 33400 */\n#define GL_INTERNALFORMAT_GREEN_TYPE              0x8279     /* 33401 */\n#define GL_INTERNALFORMAT_BLUE_TYPE               0x827a     /* 33402 */\n#define GL_INTERNALFORMAT_ALPHA_TYPE              0x827b     /* 33403 */\n#define GL_INTERNALFORMAT_DEPTH_TYPE              0x827c     /* 33404 */\n#define GL_INTERNALFORMAT_STENCIL_TYPE            0x827d     /* 33405 */\n#define GL_MAX_WIDTH                              0x827e     /* 33406 */\n#define GL_MAX_HEIGHT                             0x827f     /* 33407 */\n#define GL_MAX_DEPTH                              0x8280     /* 33408 */\n#define GL_MAX_LAYERS                             0x8281     /* 33409 */\n#define GL_MAX_COMBINED_DIMENSIONS                0x8282     /* 33410 */\n#define GL_COLOR_COMPONENTS                       0x8283     /* 33411 */\n#define GL_DEPTH_COMPONENTS                       0x8284     /* 33412 */\n#define GL_STENCIL_COMPONENTS                     0x8285     /* 33413 */\n#define GL_COLOR_RENDERABLE                       0x8286     /* 33414 */\n#define GL_DEPTH_RENDERABLE                       0x8287     /* 33415 */\n#define GL_STENCIL_RENDERABLE                     0x8288     /* 33416 */\n#define GL_FRAMEBUFFER_RENDERABLE                 0x8289     /* 33417 */\n#define GL_FRAMEBUFFER_RENDERABLE_LAYERED         0x828a     /* 33418 */\n#define GL_FRAMEBUFFER_BLEND                      0x828b     /* 33419 */\n#define GL_READ_PIXELS                            0x828c     /* 33420 */\n#define GL_READ_PIXELS_FORMAT                     0x828d     /* 33421 */\n#define GL_READ_PIXELS_TYPE                       0x828e     /* 33422 */\n#define GL_TEXTURE_IMAGE_FORMAT                   0x828f     /* 33423 */\n#define GL_TEXTURE_IMAGE_TYPE                     0x8290     /* 33424 */\n#define GL_GET_TEXTURE_IMAGE_FORMAT               0x8291     /* 33425 */\n#define GL_GET_TEXTURE_IMAGE_TYPE                 0x8292     /* 33426 */\n#define GL_MIPMAP                                 0x8293     /* 33427 */\n#define GL_MANUAL_GENERATE_MIPMAP                 0x8294     /* 33428 */\n#define GL_AUTO_GENERATE_MIPMAP                   0x8295     /* 33429 */\n#define GL_COLOR_ENCODING                         0x8296     /* 33430 */\n#define GL_SRGB_READ                              0x8297     /* 33431 */\n#define GL_SRGB_WRITE                             0x8298     /* 33432 */\n#define GL_SRGB_DECODE_ARB                        0x8299     /* 33433 */\n#define GL_FILTER                                 0x829a     /* 33434 */\n#define GL_VERTEX_TEXTURE                         0x829b     /* 33435 */\n#define GL_TESS_CONTROL_TEXTURE                   0x829c     /* 33436 */\n#define GL_TESS_EVALUATION_TEXTURE                0x829d     /* 33437 */\n#define GL_GEOMETRY_TEXTURE                       0x829e     /* 33438 */\n#define GL_FRAGMENT_TEXTURE                       0x829f     /* 33439 */\n#define GL_COMPUTE_TEXTURE                        0x82a0     /* 33440 */\n#define GL_TEXTURE_SHADOW                         0x82a1     /* 33441 */\n#define GL_TEXTURE_GATHER                         0x82a2     /* 33442 */\n#define GL_TEXTURE_GATHER_SHADOW                  0x82a3     /* 33443 */\n#define GL_SHADER_IMAGE_LOAD                      0x82a4     /* 33444 */\n#define GL_SHADER_IMAGE_STORE                     0x82a5     /* 33445 */\n#define GL_SHADER_IMAGE_ATOMIC                    0x82a6     /* 33446 */\n#define GL_IMAGE_TEXEL_SIZE                       0x82a7     /* 33447 */\n#define GL_IMAGE_COMPATIBILITY_CLASS              0x82a8     /* 33448 */\n#define GL_IMAGE_PIXEL_FORMAT                     0x82a9     /* 33449 */\n#define GL_IMAGE_PIXEL_TYPE                       0x82aa     /* 33450 */\n#define GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST    0x82ac     /* 33452 */\n#define GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST  0x82ad     /* 33453 */\n#define GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE   0x82ae     /* 33454 */\n#define GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE 0x82af     /* 33455 */\n#define GL_TEXTURE_COMPRESSED_BLOCK_WIDTH         0x82b1     /* 33457 */\n#define GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT        0x82b2     /* 33458 */\n#define GL_TEXTURE_COMPRESSED_BLOCK_SIZE          0x82b3     /* 33459 */\n#define GL_CLEAR_BUFFER                           0x82b4     /* 33460 */\n#define GL_TEXTURE_VIEW                           0x82b5     /* 33461 */\n#define GL_VIEW_COMPATIBILITY_CLASS               0x82b6     /* 33462 */\n#define GL_FULL_SUPPORT                           0x82b7     /* 33463 */\n#define GL_CAVEAT_SUPPORT                         0x82b8     /* 33464 */\n#define GL_IMAGE_CLASS_4_X_32                     0x82b9     /* 33465 */\n#define GL_IMAGE_CLASS_2_X_32                     0x82ba     /* 33466 */\n#define GL_IMAGE_CLASS_1_X_32                     0x82bb     /* 33467 */\n#define GL_IMAGE_CLASS_4_X_16                     0x82bc     /* 33468 */\n#define GL_IMAGE_CLASS_2_X_16                     0x82bd     /* 33469 */\n#define GL_IMAGE_CLASS_1_X_16                     0x82be     /* 33470 */\n#define GL_IMAGE_CLASS_4_X_8                      0x82bf     /* 33471 */\n#define GL_IMAGE_CLASS_2_X_8                      0x82c0     /* 33472 */\n#define GL_IMAGE_CLASS_1_X_8                      0x82c1     /* 33473 */\n#define GL_IMAGE_CLASS_11_11_10                   0x82c2     /* 33474 */\n#define GL_IMAGE_CLASS_10_10_10_2                 0x82c3     /* 33475 */\n#define GL_VIEW_CLASS_128_BITS                    0x82c4     /* 33476 */\n#define GL_VIEW_CLASS_96_BITS                     0x82c5     /* 33477 */\n#define GL_VIEW_CLASS_64_BITS                     0x82c6     /* 33478 */\n#define GL_VIEW_CLASS_48_BITS                     0x82c7     /* 33479 */\n#define GL_VIEW_CLASS_32_BITS                     0x82c8     /* 33480 */\n#define GL_VIEW_CLASS_24_BITS                     0x82c9     /* 33481 */\n#define GL_VIEW_CLASS_16_BITS                     0x82ca     /* 33482 */\n#define GL_VIEW_CLASS_8_BITS                      0x82cb     /* 33483 */\n#define GL_VIEW_CLASS_S3TC_DXT1_RGB               0x82cc     /* 33484 */\n#define GL_VIEW_CLASS_S3TC_DXT1_RGBA              0x82cd     /* 33485 */\n#define GL_VIEW_CLASS_S3TC_DXT3_RGBA              0x82ce     /* 33486 */\n#define GL_VIEW_CLASS_S3TC_DXT5_RGBA              0x82cf     /* 33487 */\n#define GL_VIEW_CLASS_RGTC1_RED                   0x82d0     /* 33488 */\n#define GL_VIEW_CLASS_RGTC2_RG                    0x82d1     /* 33489 */\n#define GL_VIEW_CLASS_BPTC_UNORM                  0x82d2     /* 33490 */\n#define GL_VIEW_CLASS_BPTC_FLOAT                  0x82d3     /* 33491 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_INTERNALFORMAT_QUERY2\ntypedef void (REGAL_CALL *PFNGLGETINTERNALFORMATI64VPROC)(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint64 *params);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_INTERNALFORMAT_QUERY2\n#define glGetInternalformati64v             rglGetInternalformati64v\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_INTERNALFORMAT_QUERY2\nREGAL_DECL void REGAL_CALL glGetInternalformati64v(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint64 *params);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_INTERNALFORMAT_QUERY2\nREGAL_DECL void REGAL_CALL plugin_glGetInternalformati64v(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint64 *params);\n#endif\n\n/**\n ** GL_ARB_invalidate_subdata\n **/\n\n#if (defined(GL_ARB_INVALIDATE_SUBDATA) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_INVALIDATE_SUBDATA)) && !defined(REGAL_NO_ENUM_GL_ARB_INVALIDATE_SUBDATA)\n#define REGAL_NO_ENUM_GL_ARB_INVALIDATE_SUBDATA\n#endif\n\n#if (defined(GL_ARB_INVALIDATE_SUBDATA) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_INVALIDATE_SUBDATA)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_INVALIDATE_SUBDATA)\n#define REGAL_NO_TYPEDEF_GL_ARB_INVALIDATE_SUBDATA\n#endif\n\n#if (defined(GL_ARB_INVALIDATE_SUBDATA) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_INVALIDATE_SUBDATA)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_INVALIDATE_SUBDATA)\n#define REGAL_NO_NAMESPACE_GL_ARB_INVALIDATE_SUBDATA\n#endif\n\n#if (defined(GL_ARB_INVALIDATE_SUBDATA) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_INVALIDATE_SUBDATA)) && !defined(REGAL_NO_PLUGIN_GL_ARB_INVALIDATE_SUBDATA)\n#define REGAL_NO_PLUGIN_GL_ARB_INVALIDATE_SUBDATA\n#endif\n\n#if (defined(GL_ARB_INVALIDATE_SUBDATA) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_INVALIDATE_SUBDATA)) && !defined(REGAL_NO_DECLARATION_GL_ARB_INVALIDATE_SUBDATA)\n#define REGAL_NO_DECLARATION_GL_ARB_INVALIDATE_SUBDATA\n#endif\n\n#ifndef GL_ARB_invalidate_subdata\n#define GL_ARB_invalidate_subdata 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_INVALIDATE_SUBDATA\ntypedef void (REGAL_CALL *PFNGLINVALIDATEBUFFERDATAPROC)(GLuint buffer);\ntypedef void (REGAL_CALL *PFNGLINVALIDATEBUFFERSUBDATAPROC)(GLuint buffer, GLintptr offset, GLsizeiptr length);\ntypedef void (REGAL_CALL *PFNGLINVALIDATEFRAMEBUFFERPROC)(GLenum target, GLsizei numAttachments, const GLenum *attachments);\ntypedef void (REGAL_CALL *PFNGLINVALIDATESUBFRAMEBUFFERPROC)(GLenum target, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height);\ntypedef void (REGAL_CALL *PFNGLINVALIDATETEXIMAGEPROC)(GLuint texture, GLint level);\ntypedef void (REGAL_CALL *PFNGLINVALIDATETEXSUBIMAGEPROC)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_INVALIDATE_SUBDATA\n#define glInvalidateBufferData              rglInvalidateBufferData\n#define glInvalidateBufferSubData           rglInvalidateBufferSubData\n#define glInvalidateFramebuffer             rglInvalidateFramebuffer\n#define glInvalidateSubFramebuffer          rglInvalidateSubFramebuffer\n#define glInvalidateTexImage                rglInvalidateTexImage\n#define glInvalidateTexSubImage             rglInvalidateTexSubImage\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_INVALIDATE_SUBDATA\nREGAL_DECL void REGAL_CALL glInvalidateBufferData(GLuint buffer);\nREGAL_DECL void REGAL_CALL glInvalidateBufferSubData(GLuint buffer, GLintptr offset, GLsizeiptr length);\nREGAL_DECL void REGAL_CALL glInvalidateFramebuffer(GLenum target, GLsizei numAttachments, const GLenum *attachments);\nREGAL_DECL void REGAL_CALL glInvalidateSubFramebuffer(GLenum target, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height);\nREGAL_DECL void REGAL_CALL glInvalidateTexImage(GLuint texture, GLint level);\nREGAL_DECL void REGAL_CALL glInvalidateTexSubImage(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_INVALIDATE_SUBDATA\nREGAL_DECL void REGAL_CALL plugin_glInvalidateBufferData(GLuint buffer);\nREGAL_DECL void REGAL_CALL plugin_glInvalidateBufferSubData(GLuint buffer, GLintptr offset, GLsizeiptr length);\nREGAL_DECL void REGAL_CALL plugin_glInvalidateFramebuffer(GLenum target, GLsizei numAttachments, const GLenum *attachments);\nREGAL_DECL void REGAL_CALL plugin_glInvalidateSubFramebuffer(GLenum target, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height);\nREGAL_DECL void REGAL_CALL plugin_glInvalidateTexImage(GLuint texture, GLint level);\nREGAL_DECL void REGAL_CALL plugin_glInvalidateTexSubImage(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth);\n#endif\n\n/**\n ** GL_ARB_map_buffer_alignment\n **/\n\n#if (defined(GL_ARB_MAP_BUFFER_ALIGNMENT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_MAP_BUFFER_ALIGNMENT)) && !defined(REGAL_NO_ENUM_GL_ARB_MAP_BUFFER_ALIGNMENT)\n#define REGAL_NO_ENUM_GL_ARB_MAP_BUFFER_ALIGNMENT\n#endif\n\n#if (defined(GL_ARB_MAP_BUFFER_ALIGNMENT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_MAP_BUFFER_ALIGNMENT)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_MAP_BUFFER_ALIGNMENT)\n#define REGAL_NO_TYPEDEF_GL_ARB_MAP_BUFFER_ALIGNMENT\n#endif\n\n#if (defined(GL_ARB_MAP_BUFFER_ALIGNMENT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_MAP_BUFFER_ALIGNMENT)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_MAP_BUFFER_ALIGNMENT)\n#define REGAL_NO_NAMESPACE_GL_ARB_MAP_BUFFER_ALIGNMENT\n#endif\n\n#if (defined(GL_ARB_MAP_BUFFER_ALIGNMENT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_MAP_BUFFER_ALIGNMENT)) && !defined(REGAL_NO_PLUGIN_GL_ARB_MAP_BUFFER_ALIGNMENT)\n#define REGAL_NO_PLUGIN_GL_ARB_MAP_BUFFER_ALIGNMENT\n#endif\n\n#if (defined(GL_ARB_MAP_BUFFER_ALIGNMENT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_MAP_BUFFER_ALIGNMENT)) && !defined(REGAL_NO_DECLARATION_GL_ARB_MAP_BUFFER_ALIGNMENT)\n#define REGAL_NO_DECLARATION_GL_ARB_MAP_BUFFER_ALIGNMENT\n#endif\n\n#ifndef GL_ARB_map_buffer_alignment\n#define GL_ARB_map_buffer_alignment 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_MAP_BUFFER_ALIGNMENT\n#define GL_MIN_MAP_BUFFER_ALIGNMENT 0x90bc /* 37052 */\n#endif\n\n/**\n ** GL_ARB_map_buffer_range\n **/\n\n#if (defined(GL_ARB_MAP_BUFFER_RANGE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_MAP_BUFFER_RANGE)) && !defined(REGAL_NO_ENUM_GL_ARB_MAP_BUFFER_RANGE)\n#define REGAL_NO_ENUM_GL_ARB_MAP_BUFFER_RANGE\n#endif\n\n#if (defined(GL_ARB_MAP_BUFFER_RANGE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_MAP_BUFFER_RANGE)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_MAP_BUFFER_RANGE)\n#define REGAL_NO_TYPEDEF_GL_ARB_MAP_BUFFER_RANGE\n#endif\n\n#if (defined(GL_ARB_MAP_BUFFER_RANGE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_MAP_BUFFER_RANGE)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_MAP_BUFFER_RANGE)\n#define REGAL_NO_NAMESPACE_GL_ARB_MAP_BUFFER_RANGE\n#endif\n\n#if (defined(GL_ARB_MAP_BUFFER_RANGE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_MAP_BUFFER_RANGE)) && !defined(REGAL_NO_PLUGIN_GL_ARB_MAP_BUFFER_RANGE)\n#define REGAL_NO_PLUGIN_GL_ARB_MAP_BUFFER_RANGE\n#endif\n\n#if (defined(GL_ARB_MAP_BUFFER_RANGE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_MAP_BUFFER_RANGE)) && !defined(REGAL_NO_DECLARATION_GL_ARB_MAP_BUFFER_RANGE)\n#define REGAL_NO_DECLARATION_GL_ARB_MAP_BUFFER_RANGE\n#endif\n\n#ifndef GL_ARB_map_buffer_range\n#define GL_ARB_map_buffer_range 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_MAP_BUFFER_RANGE\n#define GL_MAP_READ_BIT              0x1\n#define GL_MAP_FLUSH_EXPLICIT_BIT    0x10     /* 16 */\n#define GL_MAP_WRITE_BIT             0x2\n#define GL_MAP_UNSYNCHRONIZED_BIT    0x20     /* 32 */\n#define GL_MAP_INVALIDATE_RANGE_BIT  0x4\n#define GL_MAP_INVALIDATE_BUFFER_BIT 0x8\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_MAP_BUFFER_RANGE\ntypedef GLvoid *(REGAL_CALL *PFNGLMAPBUFFERRANGEPROC)(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);\ntypedef void (REGAL_CALL *PFNGLFLUSHMAPPEDBUFFERRANGEPROC)(GLenum target, GLintptr offset, GLsizeiptr length);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_MAP_BUFFER_RANGE\n#define glFlushMappedBufferRange            rglFlushMappedBufferRange\n#define glMapBufferRange                    rglMapBufferRange\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_MAP_BUFFER_RANGE\nREGAL_DECL GLvoid *REGAL_CALL glMapBufferRange(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);\nREGAL_DECL void REGAL_CALL glFlushMappedBufferRange(GLenum target, GLintptr offset, GLsizeiptr length);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_MAP_BUFFER_RANGE\nREGAL_DECL GLvoid *REGAL_CALL plugin_glMapBufferRange(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);\nREGAL_DECL void REGAL_CALL plugin_glFlushMappedBufferRange(GLenum target, GLintptr offset, GLsizeiptr length);\n#endif\n\n/**\n ** GL_ARB_matrix_palette\n **/\n\n#if (defined(GL_ARB_MATRIX_PALETTE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_MATRIX_PALETTE)) && !defined(REGAL_NO_ENUM_GL_ARB_MATRIX_PALETTE)\n#define REGAL_NO_ENUM_GL_ARB_MATRIX_PALETTE\n#endif\n\n#if (defined(GL_ARB_MATRIX_PALETTE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_MATRIX_PALETTE)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_MATRIX_PALETTE)\n#define REGAL_NO_TYPEDEF_GL_ARB_MATRIX_PALETTE\n#endif\n\n#if (defined(GL_ARB_MATRIX_PALETTE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_MATRIX_PALETTE)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_MATRIX_PALETTE)\n#define REGAL_NO_NAMESPACE_GL_ARB_MATRIX_PALETTE\n#endif\n\n#if (defined(GL_ARB_MATRIX_PALETTE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_MATRIX_PALETTE)) && !defined(REGAL_NO_PLUGIN_GL_ARB_MATRIX_PALETTE)\n#define REGAL_NO_PLUGIN_GL_ARB_MATRIX_PALETTE\n#endif\n\n#if (defined(GL_ARB_MATRIX_PALETTE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_MATRIX_PALETTE)) && !defined(REGAL_NO_DECLARATION_GL_ARB_MATRIX_PALETTE)\n#define REGAL_NO_DECLARATION_GL_ARB_MATRIX_PALETTE\n#endif\n\n#ifndef GL_ARB_matrix_palette\n#define GL_ARB_matrix_palette 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_MATRIX_PALETTE\n#define GL_MATRIX_PALETTE_ARB                 0x8840     /* 34880 */\n#define GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB 0x8841     /* 34881 */\n#define GL_MAX_PALETTE_MATRICES_ARB           0x8842     /* 34882 */\n#define GL_CURRENT_PALETTE_MATRIX_ARB         0x8843     /* 34883 */\n#define GL_MATRIX_INDEX_ARRAY_ARB             0x8844     /* 34884 */\n#define GL_CURRENT_MATRIX_INDEX_ARB           0x8845     /* 34885 */\n#define GL_MATRIX_INDEX_ARRAY_SIZE_ARB        0x8846     /* 34886 */\n#define GL_MATRIX_INDEX_ARRAY_TYPE_ARB        0x8847     /* 34887 */\n#define GL_MATRIX_INDEX_ARRAY_STRIDE_ARB      0x8848     /* 34888 */\n#define GL_MATRIX_INDEX_ARRAY_POINTER_ARB     0x8849     /* 34889 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_MATRIX_PALETTE\ntypedef void (REGAL_CALL *PFNGLCURRENTPALETTEMATRIXARBPROC)(GLint index);\ntypedef void (REGAL_CALL *PFNGLMATRIXINDEXPOINTERARBPROC)(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);\ntypedef void (REGAL_CALL *PFNGLMATRIXINDEXUBVARBPROC)(GLint size, const GLubyte *indices);\ntypedef void (REGAL_CALL *PFNGLMATRIXINDEXUIVARBPROC)(GLint size, const GLuint *indices);\ntypedef void (REGAL_CALL *PFNGLMATRIXINDEXUSVARBPROC)(GLint size, const GLushort *indices);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_MATRIX_PALETTE\n#define glCurrentPaletteMatrixARB           rglCurrentPaletteMatrixARB\n#define glMatrixIndexPointerARB             rglMatrixIndexPointerARB\n#define glMatrixIndexubvARB                 rglMatrixIndexubvARB\n#define glMatrixIndexuivARB                 rglMatrixIndexuivARB\n#define glMatrixIndexusvARB                 rglMatrixIndexusvARB\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_MATRIX_PALETTE\nREGAL_DECL void REGAL_CALL glCurrentPaletteMatrixARB(GLint index);\nREGAL_DECL void REGAL_CALL glMatrixIndexPointerARB(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL glMatrixIndexubvARB(GLint size, const GLubyte *indices);\nREGAL_DECL void REGAL_CALL glMatrixIndexuivARB(GLint size, const GLuint *indices);\nREGAL_DECL void REGAL_CALL glMatrixIndexusvARB(GLint size, const GLushort *indices);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_MATRIX_PALETTE\nREGAL_DECL void REGAL_CALL plugin_glCurrentPaletteMatrixARB(GLint index);\nREGAL_DECL void REGAL_CALL plugin_glMatrixIndexPointerARB(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL plugin_glMatrixIndexubvARB(GLint size, const GLubyte *indices);\nREGAL_DECL void REGAL_CALL plugin_glMatrixIndexuivARB(GLint size, const GLuint *indices);\nREGAL_DECL void REGAL_CALL plugin_glMatrixIndexusvARB(GLint size, const GLushort *indices);\n#endif\n\n/**\n ** GL_ARB_multi_bind\n **/\n\n#if (defined(GL_ARB_MULTI_BIND) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_MULTI_BIND)) && !defined(REGAL_NO_ENUM_GL_ARB_MULTI_BIND)\n#define REGAL_NO_ENUM_GL_ARB_MULTI_BIND\n#endif\n\n#if (defined(GL_ARB_MULTI_BIND) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_MULTI_BIND)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_MULTI_BIND)\n#define REGAL_NO_TYPEDEF_GL_ARB_MULTI_BIND\n#endif\n\n#if (defined(GL_ARB_MULTI_BIND) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_MULTI_BIND)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_MULTI_BIND)\n#define REGAL_NO_NAMESPACE_GL_ARB_MULTI_BIND\n#endif\n\n#if (defined(GL_ARB_MULTI_BIND) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_MULTI_BIND)) && !defined(REGAL_NO_PLUGIN_GL_ARB_MULTI_BIND)\n#define REGAL_NO_PLUGIN_GL_ARB_MULTI_BIND\n#endif\n\n#if (defined(GL_ARB_MULTI_BIND) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_MULTI_BIND)) && !defined(REGAL_NO_DECLARATION_GL_ARB_MULTI_BIND)\n#define REGAL_NO_DECLARATION_GL_ARB_MULTI_BIND\n#endif\n\n#ifndef GL_ARB_multi_bind\n#define GL_ARB_multi_bind 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_MULTI_BIND\ntypedef void (REGAL_CALL *PFNGLBINDBUFFERSBASEPROC)(GLenum target, GLuint first, GLsizei count, const GLuint *buffers);\ntypedef void (REGAL_CALL *PFNGLBINDBUFFERSRANGEPROC)(GLenum target, GLuint first, GLsizei count, const GLuint *buffers, const GLintptr *offsets, const GLsizeiptr *sizes);\ntypedef void (REGAL_CALL *PFNGLBINDIMAGETEXTURESPROC)(GLuint first, GLsizei count, const GLuint *textures);\ntypedef void (REGAL_CALL *PFNGLBINDSAMPLERSPROC)(GLuint first, GLsizei count, const GLuint *samplers);\ntypedef void (REGAL_CALL *PFNGLBINDTEXTURESPROC)(GLuint first, GLsizei count, const GLuint *textures);\ntypedef void (REGAL_CALL *PFNGLBINDVERTEXBUFFERSPROC)(GLuint first, GLsizei count, const GLuint *buffers, const GLintptr *offsets, const GLsizei *strides);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_MULTI_BIND\n#define glBindBuffersBase                   rglBindBuffersBase\n#define glBindBuffersRange                  rglBindBuffersRange\n#define glBindImageTextures                 rglBindImageTextures\n#define glBindSamplers                      rglBindSamplers\n#define glBindTextures                      rglBindTextures\n#define glBindVertexBuffers                 rglBindVertexBuffers\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_MULTI_BIND\nREGAL_DECL void REGAL_CALL glBindBuffersBase(GLenum target, GLuint first, GLsizei count, const GLuint *buffers);\nREGAL_DECL void REGAL_CALL glBindBuffersRange(GLenum target, GLuint first, GLsizei count, const GLuint *buffers, const GLintptr *offsets, const GLsizeiptr *sizes);\nREGAL_DECL void REGAL_CALL glBindImageTextures(GLuint first, GLsizei count, const GLuint *textures);\nREGAL_DECL void REGAL_CALL glBindSamplers(GLuint first, GLsizei count, const GLuint *samplers);\nREGAL_DECL void REGAL_CALL glBindTextures(GLuint first, GLsizei count, const GLuint *textures);\nREGAL_DECL void REGAL_CALL glBindVertexBuffers(GLuint first, GLsizei count, const GLuint *buffers, const GLintptr *offsets, const GLsizei *strides);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_MULTI_BIND\nREGAL_DECL void REGAL_CALL plugin_glBindBuffersBase(GLenum target, GLuint first, GLsizei count, const GLuint *buffers);\nREGAL_DECL void REGAL_CALL plugin_glBindBuffersRange(GLenum target, GLuint first, GLsizei count, const GLuint *buffers, const GLintptr *offsets, const GLsizeiptr *sizes);\nREGAL_DECL void REGAL_CALL plugin_glBindImageTextures(GLuint first, GLsizei count, const GLuint *textures);\nREGAL_DECL void REGAL_CALL plugin_glBindSamplers(GLuint first, GLsizei count, const GLuint *samplers);\nREGAL_DECL void REGAL_CALL plugin_glBindTextures(GLuint first, GLsizei count, const GLuint *textures);\nREGAL_DECL void REGAL_CALL plugin_glBindVertexBuffers(GLuint first, GLsizei count, const GLuint *buffers, const GLintptr *offsets, const GLsizei *strides);\n#endif\n\n/**\n ** GL_ARB_multi_draw_indirect\n **/\n\n#if (defined(GL_ARB_MULTI_DRAW_INDIRECT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_MULTI_DRAW_INDIRECT)) && !defined(REGAL_NO_ENUM_GL_ARB_MULTI_DRAW_INDIRECT)\n#define REGAL_NO_ENUM_GL_ARB_MULTI_DRAW_INDIRECT\n#endif\n\n#if (defined(GL_ARB_MULTI_DRAW_INDIRECT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_MULTI_DRAW_INDIRECT)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_MULTI_DRAW_INDIRECT)\n#define REGAL_NO_TYPEDEF_GL_ARB_MULTI_DRAW_INDIRECT\n#endif\n\n#if (defined(GL_ARB_MULTI_DRAW_INDIRECT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_MULTI_DRAW_INDIRECT)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_MULTI_DRAW_INDIRECT)\n#define REGAL_NO_NAMESPACE_GL_ARB_MULTI_DRAW_INDIRECT\n#endif\n\n#if (defined(GL_ARB_MULTI_DRAW_INDIRECT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_MULTI_DRAW_INDIRECT)) && !defined(REGAL_NO_PLUGIN_GL_ARB_MULTI_DRAW_INDIRECT)\n#define REGAL_NO_PLUGIN_GL_ARB_MULTI_DRAW_INDIRECT\n#endif\n\n#if (defined(GL_ARB_MULTI_DRAW_INDIRECT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_MULTI_DRAW_INDIRECT)) && !defined(REGAL_NO_DECLARATION_GL_ARB_MULTI_DRAW_INDIRECT)\n#define REGAL_NO_DECLARATION_GL_ARB_MULTI_DRAW_INDIRECT\n#endif\n\n#ifndef GL_ARB_multi_draw_indirect\n#define GL_ARB_multi_draw_indirect 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_MULTI_DRAW_INDIRECT\ntypedef void (REGAL_CALL *PFNGLMULTIDRAWARRAYSINDIRECTPROC)(GLenum mode, const GLvoid *indirect, GLsizei primcount, GLsizei stride);\ntypedef void (REGAL_CALL *PFNGLMULTIDRAWELEMENTSINDIRECTPROC)(GLenum mode, GLenum type, const GLvoid *indirect, GLsizei primcount, GLsizei stride);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_MULTI_DRAW_INDIRECT\n#define glMultiDrawArraysIndirect           rglMultiDrawArraysIndirect\n#define glMultiDrawElementsIndirect         rglMultiDrawElementsIndirect\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_MULTI_DRAW_INDIRECT\nREGAL_DECL void REGAL_CALL glMultiDrawArraysIndirect(GLenum mode, const GLvoid *indirect, GLsizei primcount, GLsizei stride);\nREGAL_DECL void REGAL_CALL glMultiDrawElementsIndirect(GLenum mode, GLenum type, const GLvoid *indirect, GLsizei primcount, GLsizei stride);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_MULTI_DRAW_INDIRECT\nREGAL_DECL void REGAL_CALL plugin_glMultiDrawArraysIndirect(GLenum mode, const GLvoid *indirect, GLsizei primcount, GLsizei stride);\nREGAL_DECL void REGAL_CALL plugin_glMultiDrawElementsIndirect(GLenum mode, GLenum type, const GLvoid *indirect, GLsizei primcount, GLsizei stride);\n#endif\n\n/**\n ** GL_ARB_multisample\n **/\n\n#if (defined(GL_ARB_MULTISAMPLE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_MULTISAMPLE)) && !defined(REGAL_NO_ENUM_GL_ARB_MULTISAMPLE)\n#define REGAL_NO_ENUM_GL_ARB_MULTISAMPLE\n#endif\n\n#if (defined(GL_ARB_MULTISAMPLE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_MULTISAMPLE)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_MULTISAMPLE)\n#define REGAL_NO_TYPEDEF_GL_ARB_MULTISAMPLE\n#endif\n\n#if (defined(GL_ARB_MULTISAMPLE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_MULTISAMPLE)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_MULTISAMPLE)\n#define REGAL_NO_NAMESPACE_GL_ARB_MULTISAMPLE\n#endif\n\n#if (defined(GL_ARB_MULTISAMPLE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_MULTISAMPLE)) && !defined(REGAL_NO_PLUGIN_GL_ARB_MULTISAMPLE)\n#define REGAL_NO_PLUGIN_GL_ARB_MULTISAMPLE\n#endif\n\n#if (defined(GL_ARB_MULTISAMPLE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_MULTISAMPLE)) && !defined(REGAL_NO_DECLARATION_GL_ARB_MULTISAMPLE)\n#define REGAL_NO_DECLARATION_GL_ARB_MULTISAMPLE\n#endif\n\n#ifndef GL_ARB_multisample\n#define GL_ARB_multisample 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_MULTISAMPLE\n#define GL_MULTISAMPLE_BIT_ARB          0x20000000     /* 536870912 */\n#define GL_MULTISAMPLE_ARB              0x809d         /* 32925 */\n#define GL_SAMPLE_ALPHA_TO_COVERAGE_ARB 0x809e         /* 32926 */\n#define GL_SAMPLE_ALPHA_TO_ONE_ARB      0x809f         /* 32927 */\n#define GL_SAMPLE_COVERAGE_ARB          0x80a0         /* 32928 */\n#define GL_SAMPLE_BUFFERS_ARB           0x80a8         /* 32936 */\n#define GL_SAMPLES_ARB                  0x80a9         /* 32937 */\n#define GL_SAMPLE_COVERAGE_VALUE_ARB    0x80aa         /* 32938 */\n#define GL_SAMPLE_COVERAGE_INVERT_ARB   0x80ab         /* 32939 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_MULTISAMPLE\ntypedef void (REGAL_CALL *PFNGLSAMPLECOVERAGEARBPROC)(GLclampf value, GLboolean invert);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_MULTISAMPLE\n#define glSampleCoverageARB                 rglSampleCoverageARB\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_MULTISAMPLE\nREGAL_DECL void REGAL_CALL glSampleCoverageARB(GLclampf value, GLboolean invert);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_MULTISAMPLE\nREGAL_DECL void REGAL_CALL plugin_glSampleCoverageARB(GLclampf value, GLboolean invert);\n#endif\n\n/**\n ** GL_ARB_multitexture\n **/\n\n#if (defined(GL_ARB_MULTITEXTURE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_MULTITEXTURE)) && !defined(REGAL_NO_ENUM_GL_ARB_MULTITEXTURE)\n#define REGAL_NO_ENUM_GL_ARB_MULTITEXTURE\n#endif\n\n#if (defined(GL_ARB_MULTITEXTURE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_MULTITEXTURE)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_MULTITEXTURE)\n#define REGAL_NO_TYPEDEF_GL_ARB_MULTITEXTURE\n#endif\n\n#if (defined(GL_ARB_MULTITEXTURE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_MULTITEXTURE)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_MULTITEXTURE)\n#define REGAL_NO_NAMESPACE_GL_ARB_MULTITEXTURE\n#endif\n\n#if (defined(GL_ARB_MULTITEXTURE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_MULTITEXTURE)) && !defined(REGAL_NO_PLUGIN_GL_ARB_MULTITEXTURE)\n#define REGAL_NO_PLUGIN_GL_ARB_MULTITEXTURE\n#endif\n\n#if (defined(GL_ARB_MULTITEXTURE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_MULTITEXTURE)) && !defined(REGAL_NO_DECLARATION_GL_ARB_MULTITEXTURE)\n#define REGAL_NO_DECLARATION_GL_ARB_MULTITEXTURE\n#endif\n\n#ifndef GL_ARB_multitexture\n#define GL_ARB_multitexture 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_MULTITEXTURE\n#define GL_TEXTURE0_ARB              0x84c0     /* 33984 */\n#define GL_TEXTURE1_ARB              0x84c1     /* 33985 */\n#define GL_TEXTURE2_ARB              0x84c2     /* 33986 */\n#define GL_TEXTURE3_ARB              0x84c3     /* 33987 */\n#define GL_TEXTURE4_ARB              0x84c4     /* 33988 */\n#define GL_TEXTURE5_ARB              0x84c5     /* 33989 */\n#define GL_TEXTURE6_ARB              0x84c6     /* 33990 */\n#define GL_TEXTURE7_ARB              0x84c7     /* 33991 */\n#define GL_TEXTURE8_ARB              0x84c8     /* 33992 */\n#define GL_TEXTURE9_ARB              0x84c9     /* 33993 */\n#define GL_TEXTURE10_ARB             0x84ca     /* 33994 */\n#define GL_TEXTURE11_ARB             0x84cb     /* 33995 */\n#define GL_TEXTURE12_ARB             0x84cc     /* 33996 */\n#define GL_TEXTURE13_ARB             0x84cd     /* 33997 */\n#define GL_TEXTURE14_ARB             0x84ce     /* 33998 */\n#define GL_TEXTURE15_ARB             0x84cf     /* 33999 */\n#define GL_TEXTURE16_ARB             0x84d0     /* 34000 */\n#define GL_TEXTURE17_ARB             0x84d1     /* 34001 */\n#define GL_TEXTURE18_ARB             0x84d2     /* 34002 */\n#define GL_TEXTURE19_ARB             0x84d3     /* 34003 */\n#define GL_TEXTURE20_ARB             0x84d4     /* 34004 */\n#define GL_TEXTURE21_ARB             0x84d5     /* 34005 */\n#define GL_TEXTURE22_ARB             0x84d6     /* 34006 */\n#define GL_TEXTURE23_ARB             0x84d7     /* 34007 */\n#define GL_TEXTURE24_ARB             0x84d8     /* 34008 */\n#define GL_TEXTURE25_ARB             0x84d9     /* 34009 */\n#define GL_TEXTURE26_ARB             0x84da     /* 34010 */\n#define GL_TEXTURE27_ARB             0x84db     /* 34011 */\n#define GL_TEXTURE28_ARB             0x84dc     /* 34012 */\n#define GL_TEXTURE29_ARB             0x84dd     /* 34013 */\n#define GL_TEXTURE30_ARB             0x84de     /* 34014 */\n#define GL_TEXTURE31_ARB             0x84df     /* 34015 */\n#define GL_ACTIVE_TEXTURE_ARB        0x84e0     /* 34016 */\n#define GL_CLIENT_ACTIVE_TEXTURE_ARB 0x84e1     /* 34017 */\n#define GL_MAX_TEXTURE_UNITS_ARB     0x84e2     /* 34018 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_MULTITEXTURE\ntypedef void (REGAL_CALL *PFNGLACTIVETEXTUREARBPROC)(GLenum texture);\ntypedef void (REGAL_CALL *PFNGLCLIENTACTIVETEXTUREARBPROC)(GLenum texture);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD1DARBPROC)(GLenum target, GLdouble s);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD1DVARBPROC)(GLenum target, const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD1FARBPROC)(GLenum target, GLfloat s);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD1FVARBPROC)(GLenum target, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD1IARBPROC)(GLenum target, GLint s);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD1IVARBPROC)(GLenum target, const GLint *v);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD1SARBPROC)(GLenum target, GLshort s);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD1SVARBPROC)(GLenum target, const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD2DARBPROC)(GLenum target, GLdouble s, GLdouble t);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD2DVARBPROC)(GLenum target, const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD2FARBPROC)(GLenum target, GLfloat s, GLfloat t);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD2FVARBPROC)(GLenum target, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD2IARBPROC)(GLenum target, GLint s, GLint t);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD2IVARBPROC)(GLenum target, const GLint *v);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD2SARBPROC)(GLenum target, GLshort s, GLshort t);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD2SVARBPROC)(GLenum target, const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD3DARBPROC)(GLenum target, GLdouble s, GLdouble t, GLdouble r);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD3DVARBPROC)(GLenum target, const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD3FARBPROC)(GLenum target, GLfloat s, GLfloat t, GLfloat r);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD3FVARBPROC)(GLenum target, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD3IARBPROC)(GLenum target, GLint s, GLint t, GLint r);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD3IVARBPROC)(GLenum target, const GLint *v);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD3SARBPROC)(GLenum target, GLshort s, GLshort t, GLshort r);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD3SVARBPROC)(GLenum target, const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD4DARBPROC)(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD4DVARBPROC)(GLenum target, const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD4FARBPROC)(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD4FVARBPROC)(GLenum target, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD4IARBPROC)(GLenum target, GLint s, GLint t, GLint r, GLint q);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD4IVARBPROC)(GLenum target, const GLint *v);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD4SARBPROC)(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD4SVARBPROC)(GLenum target, const GLshort *v);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_MULTITEXTURE\n#define glActiveTextureARB                  rglActiveTextureARB\n#define glClientActiveTextureARB            rglClientActiveTextureARB\n#define glMultiTexCoord1dARB                rglMultiTexCoord1dARB\n#define glMultiTexCoord1dvARB               rglMultiTexCoord1dvARB\n#define glMultiTexCoord1fARB                rglMultiTexCoord1fARB\n#define glMultiTexCoord1fvARB               rglMultiTexCoord1fvARB\n#define glMultiTexCoord1iARB                rglMultiTexCoord1iARB\n#define glMultiTexCoord1ivARB               rglMultiTexCoord1ivARB\n#define glMultiTexCoord1sARB                rglMultiTexCoord1sARB\n#define glMultiTexCoord1svARB               rglMultiTexCoord1svARB\n#define glMultiTexCoord2dARB                rglMultiTexCoord2dARB\n#define glMultiTexCoord2dvARB               rglMultiTexCoord2dvARB\n#define glMultiTexCoord2fARB                rglMultiTexCoord2fARB\n#define glMultiTexCoord2fvARB               rglMultiTexCoord2fvARB\n#define glMultiTexCoord2iARB                rglMultiTexCoord2iARB\n#define glMultiTexCoord2ivARB               rglMultiTexCoord2ivARB\n#define glMultiTexCoord2sARB                rglMultiTexCoord2sARB\n#define glMultiTexCoord2svARB               rglMultiTexCoord2svARB\n#define glMultiTexCoord3dARB                rglMultiTexCoord3dARB\n#define glMultiTexCoord3dvARB               rglMultiTexCoord3dvARB\n#define glMultiTexCoord3fARB                rglMultiTexCoord3fARB\n#define glMultiTexCoord3fvARB               rglMultiTexCoord3fvARB\n#define glMultiTexCoord3iARB                rglMultiTexCoord3iARB\n#define glMultiTexCoord3ivARB               rglMultiTexCoord3ivARB\n#define glMultiTexCoord3sARB                rglMultiTexCoord3sARB\n#define glMultiTexCoord3svARB               rglMultiTexCoord3svARB\n#define glMultiTexCoord4dARB                rglMultiTexCoord4dARB\n#define glMultiTexCoord4dvARB               rglMultiTexCoord4dvARB\n#define glMultiTexCoord4fARB                rglMultiTexCoord4fARB\n#define glMultiTexCoord4fvARB               rglMultiTexCoord4fvARB\n#define glMultiTexCoord4iARB                rglMultiTexCoord4iARB\n#define glMultiTexCoord4ivARB               rglMultiTexCoord4ivARB\n#define glMultiTexCoord4sARB                rglMultiTexCoord4sARB\n#define glMultiTexCoord4svARB               rglMultiTexCoord4svARB\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_MULTITEXTURE\nREGAL_DECL void REGAL_CALL glActiveTextureARB(GLenum texture);\nREGAL_DECL void REGAL_CALL glClientActiveTextureARB(GLenum texture);\nREGAL_DECL void REGAL_CALL glMultiTexCoord1dARB(GLenum target, GLdouble s);\nREGAL_DECL void REGAL_CALL glMultiTexCoord1dvARB(GLenum target, const GLdouble *v);\nREGAL_DECL void REGAL_CALL glMultiTexCoord1fARB(GLenum target, GLfloat s);\nREGAL_DECL void REGAL_CALL glMultiTexCoord1fvARB(GLenum target, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glMultiTexCoord1iARB(GLenum target, GLint s);\nREGAL_DECL void REGAL_CALL glMultiTexCoord1ivARB(GLenum target, const GLint *v);\nREGAL_DECL void REGAL_CALL glMultiTexCoord1sARB(GLenum target, GLshort s);\nREGAL_DECL void REGAL_CALL glMultiTexCoord1svARB(GLenum target, const GLshort *v);\nREGAL_DECL void REGAL_CALL glMultiTexCoord2dARB(GLenum target, GLdouble s, GLdouble t);\nREGAL_DECL void REGAL_CALL glMultiTexCoord2dvARB(GLenum target, const GLdouble *v);\nREGAL_DECL void REGAL_CALL glMultiTexCoord2fARB(GLenum target, GLfloat s, GLfloat t);\nREGAL_DECL void REGAL_CALL glMultiTexCoord2fvARB(GLenum target, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glMultiTexCoord2iARB(GLenum target, GLint s, GLint t);\nREGAL_DECL void REGAL_CALL glMultiTexCoord2ivARB(GLenum target, const GLint *v);\nREGAL_DECL void REGAL_CALL glMultiTexCoord2sARB(GLenum target, GLshort s, GLshort t);\nREGAL_DECL void REGAL_CALL glMultiTexCoord2svARB(GLenum target, const GLshort *v);\nREGAL_DECL void REGAL_CALL glMultiTexCoord3dARB(GLenum target, GLdouble s, GLdouble t, GLdouble r);\nREGAL_DECL void REGAL_CALL glMultiTexCoord3dvARB(GLenum target, const GLdouble *v);\nREGAL_DECL void REGAL_CALL glMultiTexCoord3fARB(GLenum target, GLfloat s, GLfloat t, GLfloat r);\nREGAL_DECL void REGAL_CALL glMultiTexCoord3fvARB(GLenum target, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glMultiTexCoord3iARB(GLenum target, GLint s, GLint t, GLint r);\nREGAL_DECL void REGAL_CALL glMultiTexCoord3ivARB(GLenum target, const GLint *v);\nREGAL_DECL void REGAL_CALL glMultiTexCoord3sARB(GLenum target, GLshort s, GLshort t, GLshort r);\nREGAL_DECL void REGAL_CALL glMultiTexCoord3svARB(GLenum target, const GLshort *v);\nREGAL_DECL void REGAL_CALL glMultiTexCoord4dARB(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);\nREGAL_DECL void REGAL_CALL glMultiTexCoord4dvARB(GLenum target, const GLdouble *v);\nREGAL_DECL void REGAL_CALL glMultiTexCoord4fARB(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);\nREGAL_DECL void REGAL_CALL glMultiTexCoord4fvARB(GLenum target, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glMultiTexCoord4iARB(GLenum target, GLint s, GLint t, GLint r, GLint q);\nREGAL_DECL void REGAL_CALL glMultiTexCoord4ivARB(GLenum target, const GLint *v);\nREGAL_DECL void REGAL_CALL glMultiTexCoord4sARB(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);\nREGAL_DECL void REGAL_CALL glMultiTexCoord4svARB(GLenum target, const GLshort *v);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_MULTITEXTURE\nREGAL_DECL void REGAL_CALL plugin_glActiveTextureARB(GLenum texture);\nREGAL_DECL void REGAL_CALL plugin_glClientActiveTextureARB(GLenum texture);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord1dARB(GLenum target, GLdouble s);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord1dvARB(GLenum target, const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord1fARB(GLenum target, GLfloat s);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord1fvARB(GLenum target, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord1iARB(GLenum target, GLint s);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord1ivARB(GLenum target, const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord1sARB(GLenum target, GLshort s);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord1svARB(GLenum target, const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord2dARB(GLenum target, GLdouble s, GLdouble t);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord2dvARB(GLenum target, const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord2fARB(GLenum target, GLfloat s, GLfloat t);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord2fvARB(GLenum target, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord2iARB(GLenum target, GLint s, GLint t);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord2ivARB(GLenum target, const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord2sARB(GLenum target, GLshort s, GLshort t);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord2svARB(GLenum target, const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord3dARB(GLenum target, GLdouble s, GLdouble t, GLdouble r);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord3dvARB(GLenum target, const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord3fARB(GLenum target, GLfloat s, GLfloat t, GLfloat r);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord3fvARB(GLenum target, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord3iARB(GLenum target, GLint s, GLint t, GLint r);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord3ivARB(GLenum target, const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord3sARB(GLenum target, GLshort s, GLshort t, GLshort r);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord3svARB(GLenum target, const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord4dARB(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord4dvARB(GLenum target, const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord4fARB(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord4fvARB(GLenum target, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord4iARB(GLenum target, GLint s, GLint t, GLint r, GLint q);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord4ivARB(GLenum target, const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord4sARB(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord4svARB(GLenum target, const GLshort *v);\n#endif\n\n/**\n ** GL_ARB_occlusion_query\n **/\n\n#if (defined(GL_ARB_OCCLUSION_QUERY) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_OCCLUSION_QUERY)) && !defined(REGAL_NO_ENUM_GL_ARB_OCCLUSION_QUERY)\n#define REGAL_NO_ENUM_GL_ARB_OCCLUSION_QUERY\n#endif\n\n#if (defined(GL_ARB_OCCLUSION_QUERY) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_OCCLUSION_QUERY)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_OCCLUSION_QUERY)\n#define REGAL_NO_TYPEDEF_GL_ARB_OCCLUSION_QUERY\n#endif\n\n#if (defined(GL_ARB_OCCLUSION_QUERY) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_OCCLUSION_QUERY)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_OCCLUSION_QUERY)\n#define REGAL_NO_NAMESPACE_GL_ARB_OCCLUSION_QUERY\n#endif\n\n#if (defined(GL_ARB_OCCLUSION_QUERY) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_OCCLUSION_QUERY)) && !defined(REGAL_NO_PLUGIN_GL_ARB_OCCLUSION_QUERY)\n#define REGAL_NO_PLUGIN_GL_ARB_OCCLUSION_QUERY\n#endif\n\n#if (defined(GL_ARB_OCCLUSION_QUERY) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_OCCLUSION_QUERY)) && !defined(REGAL_NO_DECLARATION_GL_ARB_OCCLUSION_QUERY)\n#define REGAL_NO_DECLARATION_GL_ARB_OCCLUSION_QUERY\n#endif\n\n#ifndef GL_ARB_occlusion_query\n#define GL_ARB_occlusion_query 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_OCCLUSION_QUERY\n#define GL_QUERY_COUNTER_BITS_ARB     0x8864     /* 34916 */\n#define GL_CURRENT_QUERY_ARB          0x8865     /* 34917 */\n#define GL_QUERY_RESULT_ARB           0x8866     /* 34918 */\n#define GL_QUERY_RESULT_AVAILABLE_ARB 0x8867     /* 34919 */\n#define GL_SAMPLES_PASSED_ARB         0x8914     /* 35092 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_OCCLUSION_QUERY\ntypedef GLboolean (REGAL_CALL *PFNGLISQUERYARBPROC)(GLuint id);\ntypedef void (REGAL_CALL *PFNGLBEGINQUERYARBPROC)(GLenum target, GLuint id);\ntypedef void (REGAL_CALL *PFNGLDELETEQUERIESARBPROC)(GLsizei n, const GLuint *ids);\ntypedef void (REGAL_CALL *PFNGLENDQUERYARBPROC)(GLenum target);\ntypedef void (REGAL_CALL *PFNGLGENQUERIESARBPROC)(GLsizei n, GLuint *ids);\ntypedef void (REGAL_CALL *PFNGLGETQUERYIVARBPROC)(GLenum target, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETQUERYOBJECTIVARBPROC)(GLuint id, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETQUERYOBJECTUIVARBPROC)(GLuint id, GLenum pname, GLuint *params);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_OCCLUSION_QUERY\n#define glBeginQueryARB                     rglBeginQueryARB\n#define glDeleteQueriesARB                  rglDeleteQueriesARB\n#define glEndQueryARB                       rglEndQueryARB\n#define glGenQueriesARB                     rglGenQueriesARB\n#define glGetQueryObjectivARB               rglGetQueryObjectivARB\n#define glGetQueryObjectuivARB              rglGetQueryObjectuivARB\n#define glGetQueryivARB                     rglGetQueryivARB\n#define glIsQueryARB                        rglIsQueryARB\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_OCCLUSION_QUERY\nREGAL_DECL GLboolean REGAL_CALL glIsQueryARB(GLuint id);\nREGAL_DECL void REGAL_CALL glBeginQueryARB(GLenum target, GLuint id);\nREGAL_DECL void REGAL_CALL glDeleteQueriesARB(GLsizei n, const GLuint *ids);\nREGAL_DECL void REGAL_CALL glEndQueryARB(GLenum target);\nREGAL_DECL void REGAL_CALL glGenQueriesARB(GLsizei n, GLuint *ids);\nREGAL_DECL void REGAL_CALL glGetQueryObjectivARB(GLuint id, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetQueryObjectuivARB(GLuint id, GLenum pname, GLuint *params);\nREGAL_DECL void REGAL_CALL glGetQueryivARB(GLenum target, GLenum pname, GLint *params);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_OCCLUSION_QUERY\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsQueryARB(GLuint id);\nREGAL_DECL void REGAL_CALL plugin_glBeginQueryARB(GLenum target, GLuint id);\nREGAL_DECL void REGAL_CALL plugin_glDeleteQueriesARB(GLsizei n, const GLuint *ids);\nREGAL_DECL void REGAL_CALL plugin_glEndQueryARB(GLenum target);\nREGAL_DECL void REGAL_CALL plugin_glGenQueriesARB(GLsizei n, GLuint *ids);\nREGAL_DECL void REGAL_CALL plugin_glGetQueryObjectivARB(GLuint id, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetQueryObjectuivARB(GLuint id, GLenum pname, GLuint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetQueryivARB(GLenum target, GLenum pname, GLint *params);\n#endif\n\n/**\n ** GL_ARB_occlusion_query2\n **/\n\n#if (defined(GL_ARB_OCCLUSION_QUERY2) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_OCCLUSION_QUERY2)) && !defined(REGAL_NO_ENUM_GL_ARB_OCCLUSION_QUERY2)\n#define REGAL_NO_ENUM_GL_ARB_OCCLUSION_QUERY2\n#endif\n\n#if (defined(GL_ARB_OCCLUSION_QUERY2) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_OCCLUSION_QUERY2)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_OCCLUSION_QUERY2)\n#define REGAL_NO_TYPEDEF_GL_ARB_OCCLUSION_QUERY2\n#endif\n\n#if (defined(GL_ARB_OCCLUSION_QUERY2) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_OCCLUSION_QUERY2)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_OCCLUSION_QUERY2)\n#define REGAL_NO_NAMESPACE_GL_ARB_OCCLUSION_QUERY2\n#endif\n\n#if (defined(GL_ARB_OCCLUSION_QUERY2) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_OCCLUSION_QUERY2)) && !defined(REGAL_NO_PLUGIN_GL_ARB_OCCLUSION_QUERY2)\n#define REGAL_NO_PLUGIN_GL_ARB_OCCLUSION_QUERY2\n#endif\n\n#if (defined(GL_ARB_OCCLUSION_QUERY2) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_OCCLUSION_QUERY2)) && !defined(REGAL_NO_DECLARATION_GL_ARB_OCCLUSION_QUERY2)\n#define REGAL_NO_DECLARATION_GL_ARB_OCCLUSION_QUERY2\n#endif\n\n#ifndef GL_ARB_occlusion_query2\n#define GL_ARB_occlusion_query2 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_OCCLUSION_QUERY2\n#define GL_ANY_SAMPLES_PASSED 0x8c2f /* 35887 */\n#endif\n\n/**\n ** GL_ARB_pixel_buffer_object\n **/\n\n#if (defined(GL_ARB_PIXEL_BUFFER_OBJECT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_PIXEL_BUFFER_OBJECT)) && !defined(REGAL_NO_ENUM_GL_ARB_PIXEL_BUFFER_OBJECT)\n#define REGAL_NO_ENUM_GL_ARB_PIXEL_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_ARB_PIXEL_BUFFER_OBJECT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_PIXEL_BUFFER_OBJECT)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_PIXEL_BUFFER_OBJECT)\n#define REGAL_NO_TYPEDEF_GL_ARB_PIXEL_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_ARB_PIXEL_BUFFER_OBJECT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_PIXEL_BUFFER_OBJECT)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_PIXEL_BUFFER_OBJECT)\n#define REGAL_NO_NAMESPACE_GL_ARB_PIXEL_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_ARB_PIXEL_BUFFER_OBJECT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_PIXEL_BUFFER_OBJECT)) && !defined(REGAL_NO_PLUGIN_GL_ARB_PIXEL_BUFFER_OBJECT)\n#define REGAL_NO_PLUGIN_GL_ARB_PIXEL_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_ARB_PIXEL_BUFFER_OBJECT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_PIXEL_BUFFER_OBJECT)) && !defined(REGAL_NO_DECLARATION_GL_ARB_PIXEL_BUFFER_OBJECT)\n#define REGAL_NO_DECLARATION_GL_ARB_PIXEL_BUFFER_OBJECT\n#endif\n\n#ifndef GL_ARB_pixel_buffer_object\n#define GL_ARB_pixel_buffer_object 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_PIXEL_BUFFER_OBJECT\n#define GL_PIXEL_PACK_BUFFER_ARB           0x88eb     /* 35051 */\n#define GL_PIXEL_UNPACK_BUFFER_ARB         0x88ec     /* 35052 */\n#define GL_PIXEL_PACK_BUFFER_BINDING_ARB   0x88ed     /* 35053 */\n#define GL_PIXEL_UNPACK_BUFFER_BINDING_ARB 0x88ef     /* 35055 */\n#endif\n\n/**\n ** GL_ARB_point_parameters\n **/\n\n#if (defined(GL_ARB_POINT_PARAMETERS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_POINT_PARAMETERS)) && !defined(REGAL_NO_ENUM_GL_ARB_POINT_PARAMETERS)\n#define REGAL_NO_ENUM_GL_ARB_POINT_PARAMETERS\n#endif\n\n#if (defined(GL_ARB_POINT_PARAMETERS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_POINT_PARAMETERS)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_POINT_PARAMETERS)\n#define REGAL_NO_TYPEDEF_GL_ARB_POINT_PARAMETERS\n#endif\n\n#if (defined(GL_ARB_POINT_PARAMETERS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_POINT_PARAMETERS)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_POINT_PARAMETERS)\n#define REGAL_NO_NAMESPACE_GL_ARB_POINT_PARAMETERS\n#endif\n\n#if (defined(GL_ARB_POINT_PARAMETERS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_POINT_PARAMETERS)) && !defined(REGAL_NO_PLUGIN_GL_ARB_POINT_PARAMETERS)\n#define REGAL_NO_PLUGIN_GL_ARB_POINT_PARAMETERS\n#endif\n\n#if (defined(GL_ARB_POINT_PARAMETERS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_POINT_PARAMETERS)) && !defined(REGAL_NO_DECLARATION_GL_ARB_POINT_PARAMETERS)\n#define REGAL_NO_DECLARATION_GL_ARB_POINT_PARAMETERS\n#endif\n\n#ifndef GL_ARB_point_parameters\n#define GL_ARB_point_parameters 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_POINT_PARAMETERS\n#define GL_POINT_SIZE_MIN_ARB             0x8126     /* 33062 */\n#define GL_POINT_SIZE_MAX_ARB             0x8127     /* 33063 */\n#define GL_POINT_FADE_THRESHOLD_SIZE_ARB  0x8128     /* 33064 */\n#define GL_POINT_DISTANCE_ATTENUATION_ARB 0x8129     /* 33065 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_POINT_PARAMETERS\ntypedef void (REGAL_CALL *PFNGLPOINTPARAMETERFARBPROC)(GLenum pname, GLfloat param);\ntypedef void (REGAL_CALL *PFNGLPOINTPARAMETERFVARBPROC)(GLenum pname, const GLfloat *params);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_POINT_PARAMETERS\n#define glPointParameterfARB                rglPointParameterfARB\n#define glPointParameterfvARB               rglPointParameterfvARB\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_POINT_PARAMETERS\nREGAL_DECL void REGAL_CALL glPointParameterfARB(GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL glPointParameterfvARB(GLenum pname, const GLfloat *params);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_POINT_PARAMETERS\nREGAL_DECL void REGAL_CALL plugin_glPointParameterfARB(GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL plugin_glPointParameterfvARB(GLenum pname, const GLfloat *params);\n#endif\n\n/**\n ** GL_ARB_point_sprite\n **/\n\n#if (defined(GL_ARB_POINT_SPRITE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_POINT_SPRITE)) && !defined(REGAL_NO_ENUM_GL_ARB_POINT_SPRITE)\n#define REGAL_NO_ENUM_GL_ARB_POINT_SPRITE\n#endif\n\n#if (defined(GL_ARB_POINT_SPRITE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_POINT_SPRITE)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_POINT_SPRITE)\n#define REGAL_NO_TYPEDEF_GL_ARB_POINT_SPRITE\n#endif\n\n#if (defined(GL_ARB_POINT_SPRITE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_POINT_SPRITE)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_POINT_SPRITE)\n#define REGAL_NO_NAMESPACE_GL_ARB_POINT_SPRITE\n#endif\n\n#if (defined(GL_ARB_POINT_SPRITE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_POINT_SPRITE)) && !defined(REGAL_NO_PLUGIN_GL_ARB_POINT_SPRITE)\n#define REGAL_NO_PLUGIN_GL_ARB_POINT_SPRITE\n#endif\n\n#if (defined(GL_ARB_POINT_SPRITE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_POINT_SPRITE)) && !defined(REGAL_NO_DECLARATION_GL_ARB_POINT_SPRITE)\n#define REGAL_NO_DECLARATION_GL_ARB_POINT_SPRITE\n#endif\n\n#ifndef GL_ARB_point_sprite\n#define GL_ARB_point_sprite 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_POINT_SPRITE\n#define GL_POINT_SPRITE_ARB  0x8861     /* 34913 */\n#define GL_COORD_REPLACE_ARB 0x8862     /* 34914 */\n#endif\n\n/**\n ** GL_ARB_program_interface_query\n **/\n\n#if (defined(GL_ARB_PROGRAM_INTERFACE_QUERY) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_PROGRAM_INTERFACE_QUERY)) && !defined(REGAL_NO_ENUM_GL_ARB_PROGRAM_INTERFACE_QUERY)\n#define REGAL_NO_ENUM_GL_ARB_PROGRAM_INTERFACE_QUERY\n#endif\n\n#if (defined(GL_ARB_PROGRAM_INTERFACE_QUERY) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_PROGRAM_INTERFACE_QUERY)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_PROGRAM_INTERFACE_QUERY)\n#define REGAL_NO_TYPEDEF_GL_ARB_PROGRAM_INTERFACE_QUERY\n#endif\n\n#if (defined(GL_ARB_PROGRAM_INTERFACE_QUERY) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_PROGRAM_INTERFACE_QUERY)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_PROGRAM_INTERFACE_QUERY)\n#define REGAL_NO_NAMESPACE_GL_ARB_PROGRAM_INTERFACE_QUERY\n#endif\n\n#if (defined(GL_ARB_PROGRAM_INTERFACE_QUERY) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_PROGRAM_INTERFACE_QUERY)) && !defined(REGAL_NO_PLUGIN_GL_ARB_PROGRAM_INTERFACE_QUERY)\n#define REGAL_NO_PLUGIN_GL_ARB_PROGRAM_INTERFACE_QUERY\n#endif\n\n#if (defined(GL_ARB_PROGRAM_INTERFACE_QUERY) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_PROGRAM_INTERFACE_QUERY)) && !defined(REGAL_NO_DECLARATION_GL_ARB_PROGRAM_INTERFACE_QUERY)\n#define REGAL_NO_DECLARATION_GL_ARB_PROGRAM_INTERFACE_QUERY\n#endif\n\n#ifndef GL_ARB_program_interface_query\n#define GL_ARB_program_interface_query 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_PROGRAM_INTERFACE_QUERY\n#define GL_UNIFORM                              0x92e1     /* 37601 */\n#define GL_UNIFORM_BLOCK                        0x92e2     /* 37602 */\n#define GL_PROGRAM_INPUT                        0x92e3     /* 37603 */\n#define GL_PROGRAM_OUTPUT                       0x92e4     /* 37604 */\n#define GL_BUFFER_VARIABLE                      0x92e5     /* 37605 */\n#define GL_SHADER_STORAGE_BLOCK                 0x92e6     /* 37606 */\n#define GL_IS_PER_PATCH                         0x92e7     /* 37607 */\n#define GL_VERTEX_SUBROUTINE                    0x92e8     /* 37608 */\n#define GL_TESS_CONTROL_SUBROUTINE              0x92e9     /* 37609 */\n#define GL_TESS_EVALUATION_SUBROUTINE           0x92ea     /* 37610 */\n#define GL_GEOMETRY_SUBROUTINE                  0x92eb     /* 37611 */\n#define GL_FRAGMENT_SUBROUTINE                  0x92ec     /* 37612 */\n#define GL_COMPUTE_SUBROUTINE                   0x92ed     /* 37613 */\n#define GL_VERTEX_SUBROUTINE_UNIFORM            0x92ee     /* 37614 */\n#define GL_TESS_CONTROL_SUBROUTINE_UNIFORM      0x92ef     /* 37615 */\n#define GL_TESS_EVALUATION_SUBROUTINE_UNIFORM   0x92f0     /* 37616 */\n#define GL_GEOMETRY_SUBROUTINE_UNIFORM          0x92f1     /* 37617 */\n#define GL_FRAGMENT_SUBROUTINE_UNIFORM          0x92f2     /* 37618 */\n#define GL_COMPUTE_SUBROUTINE_UNIFORM           0x92f3     /* 37619 */\n#define GL_TRANSFORM_FEEDBACK_VARYING           0x92f4     /* 37620 */\n#define GL_ACTIVE_RESOURCES                     0x92f5     /* 37621 */\n#define GL_MAX_NAME_LENGTH                      0x92f6     /* 37622 */\n#define GL_MAX_NUM_ACTIVE_VARIABLES             0x92f7     /* 37623 */\n#define GL_MAX_NUM_COMPATIBLE_SUBROUTINES       0x92f8     /* 37624 */\n#define GL_NAME_LENGTH                          0x92f9     /* 37625 */\n#define GL_TYPE                                 0x92fa     /* 37626 */\n#define GL_ARRAY_SIZE                           0x92fb     /* 37627 */\n#define GL_OFFSET                               0x92fc     /* 37628 */\n#define GL_BLOCK_INDEX                          0x92fd     /* 37629 */\n#define GL_ARRAY_STRIDE                         0x92fe     /* 37630 */\n#define GL_MATRIX_STRIDE                        0x92ff     /* 37631 */\n#define GL_IS_ROW_MAJOR                         0x9300     /* 37632 */\n#define GL_ATOMIC_COUNTER_BUFFER_INDEX          0x9301     /* 37633 */\n#define GL_BUFFER_BINDING                       0x9302     /* 37634 */\n#define GL_BUFFER_DATA_SIZE                     0x9303     /* 37635 */\n#define GL_NUM_ACTIVE_VARIABLES                 0x9304     /* 37636 */\n#define GL_ACTIVE_VARIABLES                     0x9305     /* 37637 */\n#define GL_REFERENCED_BY_VERTEX_SHADER          0x9306     /* 37638 */\n#define GL_REFERENCED_BY_TESS_CONTROL_SHADER    0x9307     /* 37639 */\n#define GL_REFERENCED_BY_TESS_EVALUATION_SHADER 0x9308     /* 37640 */\n#define GL_REFERENCED_BY_GEOMETRY_SHADER        0x9309     /* 37641 */\n#define GL_REFERENCED_BY_FRAGMENT_SHADER        0x930a     /* 37642 */\n#define GL_REFERENCED_BY_COMPUTE_SHADER         0x930b     /* 37643 */\n#define GL_TOP_LEVEL_ARRAY_SIZE                 0x930c     /* 37644 */\n#define GL_TOP_LEVEL_ARRAY_STRIDE               0x930d     /* 37645 */\n#define GL_LOCATION                             0x930e     /* 37646 */\n#define GL_LOCATION_INDEX                       0x930f     /* 37647 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_PROGRAM_INTERFACE_QUERY\ntypedef GLint (REGAL_CALL *PFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC)(GLuint program, GLenum programInterface, const GLchar *name);\ntypedef GLint (REGAL_CALL *PFNGLGETPROGRAMRESOURCELOCATIONPROC)(GLuint program, GLenum programInterface, const GLchar *name);\ntypedef GLuint (REGAL_CALL *PFNGLGETPROGRAMRESOURCEINDEXPROC)(GLuint program, GLenum programInterface, const GLchar *name);\ntypedef void (REGAL_CALL *PFNGLGETPROGRAMINTERFACEIVPROC)(GLuint program, GLenum programInterface, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETPROGRAMRESOURCEIVPROC)(GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum *props, GLsizei bufSize, GLsizei *length, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETPROGRAMRESOURCENAMEPROC)(GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_PROGRAM_INTERFACE_QUERY\n#define glGetProgramInterfaceiv             rglGetProgramInterfaceiv\n#define glGetProgramResourceIndex           rglGetProgramResourceIndex\n#define glGetProgramResourceLocation        rglGetProgramResourceLocation\n#define glGetProgramResourceLocationIndex   rglGetProgramResourceLocationIndex\n#define glGetProgramResourceName            rglGetProgramResourceName\n#define glGetProgramResourceiv              rglGetProgramResourceiv\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_PROGRAM_INTERFACE_QUERY\nREGAL_DECL GLint REGAL_CALL glGetProgramResourceLocation(GLuint program, GLenum programInterface, const GLchar *name);\nREGAL_DECL GLint REGAL_CALL glGetProgramResourceLocationIndex(GLuint program, GLenum programInterface, const GLchar *name);\nREGAL_DECL GLuint REGAL_CALL glGetProgramResourceIndex(GLuint program, GLenum programInterface, const GLchar *name);\nREGAL_DECL void REGAL_CALL glGetProgramInterfaceiv(GLuint program, GLenum programInterface, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetProgramResourceName(GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name);\nREGAL_DECL void REGAL_CALL glGetProgramResourceiv(GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum *props, GLsizei bufSize, GLsizei *length, GLint *params);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_PROGRAM_INTERFACE_QUERY\nREGAL_DECL GLint REGAL_CALL plugin_glGetProgramResourceLocation(GLuint program, GLenum programInterface, const GLchar *name);\nREGAL_DECL GLint REGAL_CALL plugin_glGetProgramResourceLocationIndex(GLuint program, GLenum programInterface, const GLchar *name);\nREGAL_DECL GLuint REGAL_CALL plugin_glGetProgramResourceIndex(GLuint program, GLenum programInterface, const GLchar *name);\nREGAL_DECL void REGAL_CALL plugin_glGetProgramInterfaceiv(GLuint program, GLenum programInterface, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetProgramResourceName(GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name);\nREGAL_DECL void REGAL_CALL plugin_glGetProgramResourceiv(GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum *props, GLsizei bufSize, GLsizei *length, GLint *params);\n#endif\n\n/**\n ** GL_ARB_provoking_vertex\n **/\n\n#if (defined(GL_ARB_PROVOKING_VERTEX) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_PROVOKING_VERTEX)) && !defined(REGAL_NO_ENUM_GL_ARB_PROVOKING_VERTEX)\n#define REGAL_NO_ENUM_GL_ARB_PROVOKING_VERTEX\n#endif\n\n#if (defined(GL_ARB_PROVOKING_VERTEX) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_PROVOKING_VERTEX)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_PROVOKING_VERTEX)\n#define REGAL_NO_TYPEDEF_GL_ARB_PROVOKING_VERTEX\n#endif\n\n#if (defined(GL_ARB_PROVOKING_VERTEX) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_PROVOKING_VERTEX)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_PROVOKING_VERTEX)\n#define REGAL_NO_NAMESPACE_GL_ARB_PROVOKING_VERTEX\n#endif\n\n#if (defined(GL_ARB_PROVOKING_VERTEX) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_PROVOKING_VERTEX)) && !defined(REGAL_NO_PLUGIN_GL_ARB_PROVOKING_VERTEX)\n#define REGAL_NO_PLUGIN_GL_ARB_PROVOKING_VERTEX\n#endif\n\n#if (defined(GL_ARB_PROVOKING_VERTEX) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_PROVOKING_VERTEX)) && !defined(REGAL_NO_DECLARATION_GL_ARB_PROVOKING_VERTEX)\n#define REGAL_NO_DECLARATION_GL_ARB_PROVOKING_VERTEX\n#endif\n\n#ifndef GL_ARB_provoking_vertex\n#define GL_ARB_provoking_vertex 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_PROVOKING_VERTEX\n#define GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION 0x8e4c     /* 36428 */\n#define GL_FIRST_VERTEX_CONVENTION                  0x8e4d     /* 36429 */\n#define GL_LAST_VERTEX_CONVENTION                   0x8e4e     /* 36430 */\n#define GL_PROVOKING_VERTEX                         0x8e4f     /* 36431 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_PROVOKING_VERTEX\ntypedef void (REGAL_CALL *PFNGLPROVOKINGVERTEXPROC)(GLenum mode);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_PROVOKING_VERTEX\n#define glProvokingVertex                   rglProvokingVertex\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_PROVOKING_VERTEX\nREGAL_DECL void REGAL_CALL glProvokingVertex(GLenum mode);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_PROVOKING_VERTEX\nREGAL_DECL void REGAL_CALL plugin_glProvokingVertex(GLenum mode);\n#endif\n\n/**\n ** GL_ARB_query_buffer_object\n **/\n\n#if (defined(GL_ARB_QUERY_BUFFER_OBJECT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_QUERY_BUFFER_OBJECT)) && !defined(REGAL_NO_ENUM_GL_ARB_QUERY_BUFFER_OBJECT)\n#define REGAL_NO_ENUM_GL_ARB_QUERY_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_ARB_QUERY_BUFFER_OBJECT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_QUERY_BUFFER_OBJECT)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_QUERY_BUFFER_OBJECT)\n#define REGAL_NO_TYPEDEF_GL_ARB_QUERY_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_ARB_QUERY_BUFFER_OBJECT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_QUERY_BUFFER_OBJECT)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_QUERY_BUFFER_OBJECT)\n#define REGAL_NO_NAMESPACE_GL_ARB_QUERY_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_ARB_QUERY_BUFFER_OBJECT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_QUERY_BUFFER_OBJECT)) && !defined(REGAL_NO_PLUGIN_GL_ARB_QUERY_BUFFER_OBJECT)\n#define REGAL_NO_PLUGIN_GL_ARB_QUERY_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_ARB_QUERY_BUFFER_OBJECT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_QUERY_BUFFER_OBJECT)) && !defined(REGAL_NO_DECLARATION_GL_ARB_QUERY_BUFFER_OBJECT)\n#define REGAL_NO_DECLARATION_GL_ARB_QUERY_BUFFER_OBJECT\n#endif\n\n#ifndef GL_ARB_query_buffer_object\n#define GL_ARB_query_buffer_object 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_QUERY_BUFFER_OBJECT\n#define GL_QUERY_BUFFER_BARRIER_BIT 0x8000     /* 32768 */\n#define GL_QUERY_BUFFER             0x9192     /* 37266 */\n#define GL_QUERY_BUFFER_BINDING     0x9193     /* 37267 */\n#define GL_QUERY_RESULT_NO_WAIT     0x9194     /* 37268 */\n#endif\n\n/**\n ** GL_ARB_robustness\n **/\n\n#if (defined(GL_ARB_ROBUSTNESS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_ROBUSTNESS)) && !defined(REGAL_NO_ENUM_GL_ARB_ROBUSTNESS)\n#define REGAL_NO_ENUM_GL_ARB_ROBUSTNESS\n#endif\n\n#if (defined(GL_ARB_ROBUSTNESS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_ROBUSTNESS)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_ROBUSTNESS)\n#define REGAL_NO_TYPEDEF_GL_ARB_ROBUSTNESS\n#endif\n\n#if (defined(GL_ARB_ROBUSTNESS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_ROBUSTNESS)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_ROBUSTNESS)\n#define REGAL_NO_NAMESPACE_GL_ARB_ROBUSTNESS\n#endif\n\n#if (defined(GL_ARB_ROBUSTNESS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_ROBUSTNESS)) && !defined(REGAL_NO_PLUGIN_GL_ARB_ROBUSTNESS)\n#define REGAL_NO_PLUGIN_GL_ARB_ROBUSTNESS\n#endif\n\n#if (defined(GL_ARB_ROBUSTNESS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_ROBUSTNESS)) && !defined(REGAL_NO_DECLARATION_GL_ARB_ROBUSTNESS)\n#define REGAL_NO_DECLARATION_GL_ARB_ROBUSTNESS\n#endif\n\n#ifndef GL_ARB_robustness\n#define GL_ARB_robustness 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_ROBUSTNESS\n#define GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB 0x4\n#define GL_LOSE_CONTEXT_ON_RESET_ARB          0x8252     /* 33362 */\n#define GL_GUILTY_CONTEXT_RESET_ARB           0x8253     /* 33363 */\n#define GL_INNOCENT_CONTEXT_RESET_ARB         0x8254     /* 33364 */\n#define GL_UNKNOWN_CONTEXT_RESET_ARB          0x8255     /* 33365 */\n#define GL_RESET_NOTIFICATION_STRATEGY_ARB    0x8256     /* 33366 */\n#define GL_NO_RESET_NOTIFICATION_ARB          0x8261     /* 33377 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_ROBUSTNESS\ntypedef GLenum (REGAL_CALL *PFNGLGETGRAPHICSRESETSTATUSARBPROC)(void);\ntypedef void (REGAL_CALL *PFNGLGETNCOLORTABLEARBPROC)(GLenum target, GLenum format, GLenum type, GLsizei bufSize, GLvoid *table);\ntypedef void (REGAL_CALL *PFNGLGETNCOMPRESSEDTEXIMAGEARBPROC)(GLenum target, GLint lod, GLsizei bufSize, GLvoid *img);\ntypedef void (REGAL_CALL *PFNGLGETNCONVOLUTIONFILTERARBPROC)(GLenum target, GLenum format, GLenum type, GLsizei bufSize, GLvoid *image);\ntypedef void (REGAL_CALL *PFNGLGETNHISTOGRAMARBPROC)(GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, GLvoid *values);\ntypedef void (REGAL_CALL *PFNGLGETNMAPDVARBPROC)(GLenum target, GLenum query, GLsizei bufSize, GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLGETNMAPFVARBPROC)(GLenum target, GLenum query, GLsizei bufSize, GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLGETNMAPIVARBPROC)(GLenum target, GLenum query, GLsizei bufSize, GLint *v);\ntypedef void (REGAL_CALL *PFNGLGETNMINMAXARBPROC)(GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, GLvoid *values);\ntypedef void (REGAL_CALL *PFNGLGETNPIXELMAPFVARBPROC)(GLenum map, GLsizei bufSize, GLfloat *values);\ntypedef void (REGAL_CALL *PFNGLGETNPIXELMAPUIVARBPROC)(GLenum map, GLsizei bufSize, GLuint *values);\ntypedef void (REGAL_CALL *PFNGLGETNPIXELMAPUSVARBPROC)(GLenum map, GLsizei bufSize, GLushort *values);\ntypedef void (REGAL_CALL *PFNGLGETNPOLYGONSTIPPLEARBPROC)(GLsizei bufSize, GLubyte *pattern);\ntypedef void (REGAL_CALL *PFNGLGETNSEPARABLEFILTERARBPROC)(GLenum target, GLenum format, GLenum type, GLsizei rowBufSize, GLvoid *row, GLsizei columnBufSize, GLvoid *column, GLvoid *span);\ntypedef void (REGAL_CALL *PFNGLGETNTEXIMAGEARBPROC)(GLenum target, GLint level, GLenum format, GLenum type, GLsizei bufSize, GLvoid *img);\ntypedef void (REGAL_CALL *PFNGLGETNUNIFORMDVARBPROC)(GLuint program, GLint location, GLsizei bufSize, GLdouble *params);\ntypedef void (REGAL_CALL *PFNGLGETNUNIFORMFVARBPROC)(GLuint program, GLint location, GLsizei bufSize, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETNUNIFORMIVARBPROC)(GLuint program, GLint location, GLsizei bufSize, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETNUNIFORMUIVARBPROC)(GLuint program, GLint location, GLsizei bufSize, GLuint *params);\ntypedef void (REGAL_CALL *PFNGLREADNPIXELSARBPROC)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLvoid *data);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_ROBUSTNESS\n#define glGetGraphicsResetStatusARB         rglGetGraphicsResetStatusARB\n#define glGetnColorTableARB                 rglGetnColorTableARB\n#define glGetnCompressedTexImageARB         rglGetnCompressedTexImageARB\n#define glGetnConvolutionFilterARB          rglGetnConvolutionFilterARB\n#define glGetnHistogramARB                  rglGetnHistogramARB\n#define glGetnMapdvARB                      rglGetnMapdvARB\n#define glGetnMapfvARB                      rglGetnMapfvARB\n#define glGetnMapivARB                      rglGetnMapivARB\n#define glGetnMinmaxARB                     rglGetnMinmaxARB\n#define glGetnPixelMapfvARB                 rglGetnPixelMapfvARB\n#define glGetnPixelMapuivARB                rglGetnPixelMapuivARB\n#define glGetnPixelMapusvARB                rglGetnPixelMapusvARB\n#define glGetnPolygonStippleARB             rglGetnPolygonStippleARB\n#define glGetnSeparableFilterARB            rglGetnSeparableFilterARB\n#define glGetnTexImageARB                   rglGetnTexImageARB\n#define glGetnUniformdvARB                  rglGetnUniformdvARB\n#define glGetnUniformfvARB                  rglGetnUniformfvARB\n#define glGetnUniformivARB                  rglGetnUniformivARB\n#define glGetnUniformuivARB                 rglGetnUniformuivARB\n#define glReadnPixelsARB                    rglReadnPixelsARB\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_ROBUSTNESS\nREGAL_DECL GLenum REGAL_CALL glGetGraphicsResetStatusARB(void);\nREGAL_DECL void REGAL_CALL glGetnColorTableARB(GLenum target, GLenum format, GLenum type, GLsizei bufSize, GLvoid *table);\nREGAL_DECL void REGAL_CALL glGetnCompressedTexImageARB(GLenum target, GLint lod, GLsizei bufSize, GLvoid *img);\nREGAL_DECL void REGAL_CALL glGetnConvolutionFilterARB(GLenum target, GLenum format, GLenum type, GLsizei bufSize, GLvoid *image);\nREGAL_DECL void REGAL_CALL glGetnHistogramARB(GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, GLvoid *values);\nREGAL_DECL void REGAL_CALL glGetnMapdvARB(GLenum target, GLenum query, GLsizei bufSize, GLdouble *v);\nREGAL_DECL void REGAL_CALL glGetnMapfvARB(GLenum target, GLenum query, GLsizei bufSize, GLfloat *v);\nREGAL_DECL void REGAL_CALL glGetnMapivARB(GLenum target, GLenum query, GLsizei bufSize, GLint *v);\nREGAL_DECL void REGAL_CALL glGetnMinmaxARB(GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, GLvoid *values);\nREGAL_DECL void REGAL_CALL glGetnPixelMapfvARB(GLenum map, GLsizei bufSize, GLfloat *values);\nREGAL_DECL void REGAL_CALL glGetnPixelMapuivARB(GLenum map, GLsizei bufSize, GLuint *values);\nREGAL_DECL void REGAL_CALL glGetnPixelMapusvARB(GLenum map, GLsizei bufSize, GLushort *values);\nREGAL_DECL void REGAL_CALL glGetnPolygonStippleARB(GLsizei bufSize, GLubyte *pattern);\nREGAL_DECL void REGAL_CALL glGetnSeparableFilterARB(GLenum target, GLenum format, GLenum type, GLsizei rowBufSize, GLvoid *row, GLsizei columnBufSize, GLvoid *column, GLvoid *span);\nREGAL_DECL void REGAL_CALL glGetnTexImageARB(GLenum target, GLint level, GLenum format, GLenum type, GLsizei bufSize, GLvoid *img);\nREGAL_DECL void REGAL_CALL glGetnUniformdvARB(GLuint program, GLint location, GLsizei bufSize, GLdouble *params);\nREGAL_DECL void REGAL_CALL glGetnUniformfvARB(GLuint program, GLint location, GLsizei bufSize, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetnUniformivARB(GLuint program, GLint location, GLsizei bufSize, GLint *params);\nREGAL_DECL void REGAL_CALL glGetnUniformuivARB(GLuint program, GLint location, GLsizei bufSize, GLuint *params);\nREGAL_DECL void REGAL_CALL glReadnPixelsARB(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLvoid *data);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_ROBUSTNESS\nREGAL_DECL GLenum REGAL_CALL plugin_glGetGraphicsResetStatusARB(void);\nREGAL_DECL void REGAL_CALL plugin_glGetnColorTableARB(GLenum target, GLenum format, GLenum type, GLsizei bufSize, GLvoid *table);\nREGAL_DECL void REGAL_CALL plugin_glGetnCompressedTexImageARB(GLenum target, GLint lod, GLsizei bufSize, GLvoid *img);\nREGAL_DECL void REGAL_CALL plugin_glGetnConvolutionFilterARB(GLenum target, GLenum format, GLenum type, GLsizei bufSize, GLvoid *image);\nREGAL_DECL void REGAL_CALL plugin_glGetnHistogramARB(GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, GLvoid *values);\nREGAL_DECL void REGAL_CALL plugin_glGetnMapdvARB(GLenum target, GLenum query, GLsizei bufSize, GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glGetnMapfvARB(GLenum target, GLenum query, GLsizei bufSize, GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glGetnMapivARB(GLenum target, GLenum query, GLsizei bufSize, GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glGetnMinmaxARB(GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, GLvoid *values);\nREGAL_DECL void REGAL_CALL plugin_glGetnPixelMapfvARB(GLenum map, GLsizei bufSize, GLfloat *values);\nREGAL_DECL void REGAL_CALL plugin_glGetnPixelMapuivARB(GLenum map, GLsizei bufSize, GLuint *values);\nREGAL_DECL void REGAL_CALL plugin_glGetnPixelMapusvARB(GLenum map, GLsizei bufSize, GLushort *values);\nREGAL_DECL void REGAL_CALL plugin_glGetnPolygonStippleARB(GLsizei bufSize, GLubyte *pattern);\nREGAL_DECL void REGAL_CALL plugin_glGetnSeparableFilterARB(GLenum target, GLenum format, GLenum type, GLsizei rowBufSize, GLvoid *row, GLsizei columnBufSize, GLvoid *column, GLvoid *span);\nREGAL_DECL void REGAL_CALL plugin_glGetnTexImageARB(GLenum target, GLint level, GLenum format, GLenum type, GLsizei bufSize, GLvoid *img);\nREGAL_DECL void REGAL_CALL plugin_glGetnUniformdvARB(GLuint program, GLint location, GLsizei bufSize, GLdouble *params);\nREGAL_DECL void REGAL_CALL plugin_glGetnUniformfvARB(GLuint program, GLint location, GLsizei bufSize, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetnUniformivARB(GLuint program, GLint location, GLsizei bufSize, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetnUniformuivARB(GLuint program, GLint location, GLsizei bufSize, GLuint *params);\nREGAL_DECL void REGAL_CALL plugin_glReadnPixelsARB(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLvoid *data);\n#endif\n\n/**\n ** GL_ARB_sample_shading\n **/\n\n#if (defined(GL_ARB_SAMPLE_SHADING) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_SAMPLE_SHADING)) && !defined(REGAL_NO_ENUM_GL_ARB_SAMPLE_SHADING)\n#define REGAL_NO_ENUM_GL_ARB_SAMPLE_SHADING\n#endif\n\n#if (defined(GL_ARB_SAMPLE_SHADING) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_SAMPLE_SHADING)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_SAMPLE_SHADING)\n#define REGAL_NO_TYPEDEF_GL_ARB_SAMPLE_SHADING\n#endif\n\n#if (defined(GL_ARB_SAMPLE_SHADING) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_SAMPLE_SHADING)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_SAMPLE_SHADING)\n#define REGAL_NO_NAMESPACE_GL_ARB_SAMPLE_SHADING\n#endif\n\n#if (defined(GL_ARB_SAMPLE_SHADING) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_SAMPLE_SHADING)) && !defined(REGAL_NO_PLUGIN_GL_ARB_SAMPLE_SHADING)\n#define REGAL_NO_PLUGIN_GL_ARB_SAMPLE_SHADING\n#endif\n\n#if (defined(GL_ARB_SAMPLE_SHADING) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_SAMPLE_SHADING)) && !defined(REGAL_NO_DECLARATION_GL_ARB_SAMPLE_SHADING)\n#define REGAL_NO_DECLARATION_GL_ARB_SAMPLE_SHADING\n#endif\n\n#ifndef GL_ARB_sample_shading\n#define GL_ARB_sample_shading 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_SAMPLE_SHADING\n#define GL_SAMPLE_SHADING_ARB           0x8c36     /* 35894 */\n#define GL_MIN_SAMPLE_SHADING_VALUE_ARB 0x8c37     /* 35895 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_SAMPLE_SHADING\ntypedef void (REGAL_CALL *PFNGLMINSAMPLESHADINGARBPROC)(GLclampf value);\ntypedef void (REGAL_CALL *PFNGLMINSAMPLESHADINGPROC)(GLclampf value);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_SAMPLE_SHADING\n#define glMinSampleShading                  rglMinSampleShading\n#define glMinSampleShadingARB               rglMinSampleShadingARB\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_SAMPLE_SHADING\nREGAL_DECL void REGAL_CALL glMinSampleShading(GLclampf value);\nREGAL_DECL void REGAL_CALL glMinSampleShadingARB(GLclampf value);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_SAMPLE_SHADING\nREGAL_DECL void REGAL_CALL plugin_glMinSampleShading(GLclampf value);\nREGAL_DECL void REGAL_CALL plugin_glMinSampleShadingARB(GLclampf value);\n#endif\n\n/**\n ** GL_ARB_sampler_objects\n **/\n\n#if (defined(GL_ARB_SAMPLER_OBJECTS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_SAMPLER_OBJECTS)) && !defined(REGAL_NO_ENUM_GL_ARB_SAMPLER_OBJECTS)\n#define REGAL_NO_ENUM_GL_ARB_SAMPLER_OBJECTS\n#endif\n\n#if (defined(GL_ARB_SAMPLER_OBJECTS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_SAMPLER_OBJECTS)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_SAMPLER_OBJECTS)\n#define REGAL_NO_TYPEDEF_GL_ARB_SAMPLER_OBJECTS\n#endif\n\n#if (defined(GL_ARB_SAMPLER_OBJECTS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_SAMPLER_OBJECTS)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_SAMPLER_OBJECTS)\n#define REGAL_NO_NAMESPACE_GL_ARB_SAMPLER_OBJECTS\n#endif\n\n#if (defined(GL_ARB_SAMPLER_OBJECTS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_SAMPLER_OBJECTS)) && !defined(REGAL_NO_PLUGIN_GL_ARB_SAMPLER_OBJECTS)\n#define REGAL_NO_PLUGIN_GL_ARB_SAMPLER_OBJECTS\n#endif\n\n#if (defined(GL_ARB_SAMPLER_OBJECTS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_SAMPLER_OBJECTS)) && !defined(REGAL_NO_DECLARATION_GL_ARB_SAMPLER_OBJECTS)\n#define REGAL_NO_DECLARATION_GL_ARB_SAMPLER_OBJECTS\n#endif\n\n#ifndef GL_ARB_sampler_objects\n#define GL_ARB_sampler_objects 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_SAMPLER_OBJECTS\n#define GL_SAMPLER_BINDING 0x8919 /* 35097 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_SAMPLER_OBJECTS\ntypedef GLboolean (REGAL_CALL *PFNGLISSAMPLERPROC)(GLuint sampler);\ntypedef void (REGAL_CALL *PFNGLBINDSAMPLERPROC)(GLuint unit, GLuint sampler);\ntypedef void (REGAL_CALL *PFNGLDELETESAMPLERSPROC)(GLsizei count, const GLuint *samplers);\ntypedef void (REGAL_CALL *PFNGLGENSAMPLERSPROC)(GLsizei count, GLuint *samplers);\ntypedef void (REGAL_CALL *PFNGLGETSAMPLERPARAMETERFVPROC)(GLuint sampler, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETSAMPLERPARAMETERIIVPROC)(GLuint sampler, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETSAMPLERPARAMETERIUIVPROC)(GLuint sampler, GLenum pname, GLuint *params);\ntypedef void (REGAL_CALL *PFNGLGETSAMPLERPARAMETERIVPROC)(GLuint sampler, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLSAMPLERPARAMETERFPROC)(GLuint sampler, GLenum pname, GLfloat param);\ntypedef void (REGAL_CALL *PFNGLSAMPLERPARAMETERFVPROC)(GLuint sampler, GLenum pname, const GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLSAMPLERPARAMETERIIVPROC)(GLuint sampler, GLenum pname, const GLint *params);\ntypedef void (REGAL_CALL *PFNGLSAMPLERPARAMETERIPROC)(GLuint sampler, GLenum pname, GLint param);\ntypedef void (REGAL_CALL *PFNGLSAMPLERPARAMETERIUIVPROC)(GLuint sampler, GLenum pname, const GLuint *params);\ntypedef void (REGAL_CALL *PFNGLSAMPLERPARAMETERIVPROC)(GLuint sampler, GLenum pname, const GLint *params);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_SAMPLER_OBJECTS\n#define glBindSampler                       rglBindSampler\n#define glDeleteSamplers                    rglDeleteSamplers\n#define glGenSamplers                       rglGenSamplers\n#define glGetSamplerParameterIiv            rglGetSamplerParameterIiv\n#define glGetSamplerParameterIuiv           rglGetSamplerParameterIuiv\n#define glGetSamplerParameterfv             rglGetSamplerParameterfv\n#define glGetSamplerParameteriv             rglGetSamplerParameteriv\n#define glIsSampler                         rglIsSampler\n#define glSamplerParameterIiv               rglSamplerParameterIiv\n#define glSamplerParameterIuiv              rglSamplerParameterIuiv\n#define glSamplerParameterf                 rglSamplerParameterf\n#define glSamplerParameterfv                rglSamplerParameterfv\n#define glSamplerParameteri                 rglSamplerParameteri\n#define glSamplerParameteriv                rglSamplerParameteriv\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_SAMPLER_OBJECTS\nREGAL_DECL GLboolean REGAL_CALL glIsSampler(GLuint sampler);\nREGAL_DECL void REGAL_CALL glBindSampler(GLuint unit, GLuint sampler);\nREGAL_DECL void REGAL_CALL glDeleteSamplers(GLsizei count, const GLuint *samplers);\nREGAL_DECL void REGAL_CALL glGenSamplers(GLsizei count, GLuint *samplers);\nREGAL_DECL void REGAL_CALL glGetSamplerParameterIiv(GLuint sampler, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetSamplerParameterIuiv(GLuint sampler, GLenum pname, GLuint *params);\nREGAL_DECL void REGAL_CALL glGetSamplerParameterfv(GLuint sampler, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetSamplerParameteriv(GLuint sampler, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glSamplerParameterIiv(GLuint sampler, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL glSamplerParameterIuiv(GLuint sampler, GLenum pname, const GLuint *params);\nREGAL_DECL void REGAL_CALL glSamplerParameterf(GLuint sampler, GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL glSamplerParameterfv(GLuint sampler, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL glSamplerParameteri(GLuint sampler, GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL glSamplerParameteriv(GLuint sampler, GLenum pname, const GLint *params);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_SAMPLER_OBJECTS\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsSampler(GLuint sampler);\nREGAL_DECL void REGAL_CALL plugin_glBindSampler(GLuint unit, GLuint sampler);\nREGAL_DECL void REGAL_CALL plugin_glDeleteSamplers(GLsizei count, const GLuint *samplers);\nREGAL_DECL void REGAL_CALL plugin_glGenSamplers(GLsizei count, GLuint *samplers);\nREGAL_DECL void REGAL_CALL plugin_glGetSamplerParameterIiv(GLuint sampler, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetSamplerParameterIuiv(GLuint sampler, GLenum pname, GLuint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetSamplerParameterfv(GLuint sampler, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetSamplerParameteriv(GLuint sampler, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glSamplerParameterIiv(GLuint sampler, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glSamplerParameterIuiv(GLuint sampler, GLenum pname, const GLuint *params);\nREGAL_DECL void REGAL_CALL plugin_glSamplerParameterf(GLuint sampler, GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL plugin_glSamplerParameterfv(GLuint sampler, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glSamplerParameteri(GLuint sampler, GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL plugin_glSamplerParameteriv(GLuint sampler, GLenum pname, const GLint *params);\n#endif\n\n/**\n ** GL_ARB_seamless_cube_map\n **/\n\n#if (defined(GL_ARB_SEAMLESS_CUBE_MAP) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_SEAMLESS_CUBE_MAP)) && !defined(REGAL_NO_ENUM_GL_ARB_SEAMLESS_CUBE_MAP)\n#define REGAL_NO_ENUM_GL_ARB_SEAMLESS_CUBE_MAP\n#endif\n\n#if (defined(GL_ARB_SEAMLESS_CUBE_MAP) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_SEAMLESS_CUBE_MAP)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_SEAMLESS_CUBE_MAP)\n#define REGAL_NO_TYPEDEF_GL_ARB_SEAMLESS_CUBE_MAP\n#endif\n\n#if (defined(GL_ARB_SEAMLESS_CUBE_MAP) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_SEAMLESS_CUBE_MAP)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_SEAMLESS_CUBE_MAP)\n#define REGAL_NO_NAMESPACE_GL_ARB_SEAMLESS_CUBE_MAP\n#endif\n\n#if (defined(GL_ARB_SEAMLESS_CUBE_MAP) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_SEAMLESS_CUBE_MAP)) && !defined(REGAL_NO_PLUGIN_GL_ARB_SEAMLESS_CUBE_MAP)\n#define REGAL_NO_PLUGIN_GL_ARB_SEAMLESS_CUBE_MAP\n#endif\n\n#if (defined(GL_ARB_SEAMLESS_CUBE_MAP) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_SEAMLESS_CUBE_MAP)) && !defined(REGAL_NO_DECLARATION_GL_ARB_SEAMLESS_CUBE_MAP)\n#define REGAL_NO_DECLARATION_GL_ARB_SEAMLESS_CUBE_MAP\n#endif\n\n#ifndef GL_ARB_seamless_cube_map\n#define GL_ARB_seamless_cube_map 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_SEAMLESS_CUBE_MAP\n#define GL_TEXTURE_CUBE_MAP_SEAMLESS 0x884f /* 34895 */\n#endif\n\n/**\n ** GL_ARB_separate_shader_objects\n **/\n\n#if (defined(GL_ARB_SEPARATE_SHADER_OBJECTS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_SEPARATE_SHADER_OBJECTS)) && !defined(REGAL_NO_ENUM_GL_ARB_SEPARATE_SHADER_OBJECTS)\n#define REGAL_NO_ENUM_GL_ARB_SEPARATE_SHADER_OBJECTS\n#endif\n\n#if (defined(GL_ARB_SEPARATE_SHADER_OBJECTS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_SEPARATE_SHADER_OBJECTS)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_SEPARATE_SHADER_OBJECTS)\n#define REGAL_NO_TYPEDEF_GL_ARB_SEPARATE_SHADER_OBJECTS\n#endif\n\n#if (defined(GL_ARB_SEPARATE_SHADER_OBJECTS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_SEPARATE_SHADER_OBJECTS)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_SEPARATE_SHADER_OBJECTS)\n#define REGAL_NO_NAMESPACE_GL_ARB_SEPARATE_SHADER_OBJECTS\n#endif\n\n#if (defined(GL_ARB_SEPARATE_SHADER_OBJECTS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_SEPARATE_SHADER_OBJECTS)) && !defined(REGAL_NO_PLUGIN_GL_ARB_SEPARATE_SHADER_OBJECTS)\n#define REGAL_NO_PLUGIN_GL_ARB_SEPARATE_SHADER_OBJECTS\n#endif\n\n#if (defined(GL_ARB_SEPARATE_SHADER_OBJECTS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_SEPARATE_SHADER_OBJECTS)) && !defined(REGAL_NO_DECLARATION_GL_ARB_SEPARATE_SHADER_OBJECTS)\n#define REGAL_NO_DECLARATION_GL_ARB_SEPARATE_SHADER_OBJECTS\n#endif\n\n#ifndef GL_ARB_separate_shader_objects\n#define GL_ARB_separate_shader_objects 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_SEPARATE_SHADER_OBJECTS\n#define GL_VERTEX_SHADER_BIT          0x1\n#define GL_TESS_EVALUATION_SHADER_BIT 0x10           /* 16 */\n#define GL_FRAGMENT_SHADER_BIT        0x2\n#define GL_GEOMETRY_SHADER_BIT        0x4\n#define GL_TESS_CONTROL_SHADER_BIT    0x8\n#define GL_PROGRAM_SEPARABLE          0x8258         /* 33368 */\n#define GL_ACTIVE_PROGRAM             0x8259         /* 33369 */\n#define GL_PROGRAM_PIPELINE_BINDING   0x825a         /* 33370 */\n#define GL_ALL_SHADER_BITS            0xffffffff     /* 4294967295 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_SEPARATE_SHADER_OBJECTS\ntypedef GLboolean (REGAL_CALL *PFNGLISPROGRAMPIPELINEPROC)(GLuint pipeline);\ntypedef GLuint (REGAL_CALL *PFNGLCREATESHADERPROGRAMVPROC)(GLenum type, GLsizei count, const GLchar * const *strings);\ntypedef void (REGAL_CALL *PFNGLACTIVESHADERPROGRAMPROC)(GLuint pipeline, GLuint program);\ntypedef void (REGAL_CALL *PFNGLBINDPROGRAMPIPELINEPROC)(GLuint pipeline);\ntypedef void (REGAL_CALL *PFNGLDELETEPROGRAMPIPELINESPROC)(GLsizei n, const GLuint *pipelines);\ntypedef void (REGAL_CALL *PFNGLGENPROGRAMPIPELINESPROC)(GLsizei n, GLuint *pipelines);\ntypedef void (REGAL_CALL *PFNGLGETPROGRAMPIPELINEINFOLOGPROC)(GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);\ntypedef void (REGAL_CALL *PFNGLGETPROGRAMPIPELINEIVPROC)(GLuint pipeline, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM1DPROC)(GLuint program, GLint location, GLdouble x);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM1DVPROC)(GLuint program, GLint location, GLsizei count, const GLdouble *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM1FPROC)(GLuint program, GLint location, GLfloat x);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM1FVPROC)(GLuint program, GLint location, GLsizei count, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM1IPROC)(GLuint program, GLint location, GLint x);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM1IVPROC)(GLuint program, GLint location, GLsizei count, const GLint *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM1UIPROC)(GLuint program, GLint location, GLuint v0);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM1UIVPROC)(GLuint program, GLint location, GLsizei count, const GLuint *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM2DPROC)(GLuint program, GLint location, GLdouble x, GLdouble y);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM2DVPROC)(GLuint program, GLint location, GLsizei count, const GLdouble *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM2FPROC)(GLuint program, GLint location, GLfloat x, GLfloat y);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM2FVPROC)(GLuint program, GLint location, GLsizei count, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM2IPROC)(GLuint program, GLint location, GLint x, GLint y);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM2IVPROC)(GLuint program, GLint location, GLsizei count, const GLint *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM2UIPROC)(GLuint program, GLint location, GLuint x, GLuint y);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM2UIVPROC)(GLuint program, GLint location, GLsizei count, const GLuint *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM3DPROC)(GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM3DVPROC)(GLuint program, GLint location, GLsizei count, const GLdouble *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM3FPROC)(GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM3FVPROC)(GLuint program, GLint location, GLsizei count, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM3IPROC)(GLuint program, GLint location, GLint x, GLint y, GLint z);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM3IVPROC)(GLuint program, GLint location, GLsizei count, const GLint *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM3UIPROC)(GLuint program, GLint location, GLuint x, GLuint y, GLuint z);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM3UIVPROC)(GLuint program, GLint location, GLsizei count, const GLuint *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM4DPROC)(GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM4DVPROC)(GLuint program, GLint location, GLsizei count, const GLdouble *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM4FPROC)(GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM4FVPROC)(GLuint program, GLint location, GLsizei count, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM4IPROC)(GLuint program, GLint location, GLint x, GLint y, GLint z, GLint w);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM4IVPROC)(GLuint program, GLint location, GLsizei count, const GLint *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM4UIPROC)(GLuint program, GLint location, GLuint x, GLuint y, GLuint z, GLuint w);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM4UIVPROC)(GLuint program, GLint location, GLsizei count, const GLuint *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMMATRIX2DVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMMATRIX2FVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMMATRIX3DVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMMATRIX3FVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMMATRIX4DVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMMATRIX4FVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLUSEPROGRAMSTAGESPROC)(GLuint pipeline, GLbitfield stages, GLuint program);\ntypedef void (REGAL_CALL *PFNGLVALIDATEPROGRAMPIPELINEPROC)(GLuint pipeline);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_SEPARATE_SHADER_OBJECTS\n#define glActiveShaderProgram               rglActiveShaderProgram\n#define glBindProgramPipeline               rglBindProgramPipeline\n#define glCreateShaderProgramv              rglCreateShaderProgramv\n#define glDeleteProgramPipelines            rglDeleteProgramPipelines\n#define glGenProgramPipelines               rglGenProgramPipelines\n#define glGetProgramPipelineInfoLog         rglGetProgramPipelineInfoLog\n#define glGetProgramPipelineiv              rglGetProgramPipelineiv\n#define glIsProgramPipeline                 rglIsProgramPipeline\n#define glProgramUniform1d                  rglProgramUniform1d\n#define glProgramUniform1dv                 rglProgramUniform1dv\n#define glProgramUniform1f                  rglProgramUniform1f\n#define glProgramUniform1fv                 rglProgramUniform1fv\n#define glProgramUniform1i                  rglProgramUniform1i\n#define glProgramUniform1iv                 rglProgramUniform1iv\n#define glProgramUniform1ui                 rglProgramUniform1ui\n#define glProgramUniform1uiv                rglProgramUniform1uiv\n#define glProgramUniform2d                  rglProgramUniform2d\n#define glProgramUniform2dv                 rglProgramUniform2dv\n#define glProgramUniform2f                  rglProgramUniform2f\n#define glProgramUniform2fv                 rglProgramUniform2fv\n#define glProgramUniform2i                  rglProgramUniform2i\n#define glProgramUniform2iv                 rglProgramUniform2iv\n#define glProgramUniform2ui                 rglProgramUniform2ui\n#define glProgramUniform2uiv                rglProgramUniform2uiv\n#define glProgramUniform3d                  rglProgramUniform3d\n#define glProgramUniform3dv                 rglProgramUniform3dv\n#define glProgramUniform3f                  rglProgramUniform3f\n#define glProgramUniform3fv                 rglProgramUniform3fv\n#define glProgramUniform3i                  rglProgramUniform3i\n#define glProgramUniform3iv                 rglProgramUniform3iv\n#define glProgramUniform3ui                 rglProgramUniform3ui\n#define glProgramUniform3uiv                rglProgramUniform3uiv\n#define glProgramUniform4d                  rglProgramUniform4d\n#define glProgramUniform4dv                 rglProgramUniform4dv\n#define glProgramUniform4f                  rglProgramUniform4f\n#define glProgramUniform4fv                 rglProgramUniform4fv\n#define glProgramUniform4i                  rglProgramUniform4i\n#define glProgramUniform4iv                 rglProgramUniform4iv\n#define glProgramUniform4ui                 rglProgramUniform4ui\n#define glProgramUniform4uiv                rglProgramUniform4uiv\n#define glProgramUniformMatrix2dv           rglProgramUniformMatrix2dv\n#define glProgramUniformMatrix2fv           rglProgramUniformMatrix2fv\n#define glProgramUniformMatrix2x3dv         rglProgramUniformMatrix2x3dv\n#define glProgramUniformMatrix2x3fv         rglProgramUniformMatrix2x3fv\n#define glProgramUniformMatrix2x4dv         rglProgramUniformMatrix2x4dv\n#define glProgramUniformMatrix2x4fv         rglProgramUniformMatrix2x4fv\n#define glProgramUniformMatrix3dv           rglProgramUniformMatrix3dv\n#define glProgramUniformMatrix3fv           rglProgramUniformMatrix3fv\n#define glProgramUniformMatrix3x2dv         rglProgramUniformMatrix3x2dv\n#define glProgramUniformMatrix3x2fv         rglProgramUniformMatrix3x2fv\n#define glProgramUniformMatrix3x4dv         rglProgramUniformMatrix3x4dv\n#define glProgramUniformMatrix3x4fv         rglProgramUniformMatrix3x4fv\n#define glProgramUniformMatrix4dv           rglProgramUniformMatrix4dv\n#define glProgramUniformMatrix4fv           rglProgramUniformMatrix4fv\n#define glProgramUniformMatrix4x2dv         rglProgramUniformMatrix4x2dv\n#define glProgramUniformMatrix4x2fv         rglProgramUniformMatrix4x2fv\n#define glProgramUniformMatrix4x3dv         rglProgramUniformMatrix4x3dv\n#define glProgramUniformMatrix4x3fv         rglProgramUniformMatrix4x3fv\n#define glUseProgramStages                  rglUseProgramStages\n#define glValidateProgramPipeline           rglValidateProgramPipeline\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_SEPARATE_SHADER_OBJECTS\nREGAL_DECL GLboolean REGAL_CALL glIsProgramPipeline(GLuint pipeline);\nREGAL_DECL GLuint REGAL_CALL glCreateShaderProgramv(GLenum type, GLsizei count, const GLchar * const *strings);\nREGAL_DECL void REGAL_CALL glActiveShaderProgram(GLuint pipeline, GLuint program);\nREGAL_DECL void REGAL_CALL glBindProgramPipeline(GLuint pipeline);\nREGAL_DECL void REGAL_CALL glDeleteProgramPipelines(GLsizei n, const GLuint *pipelines);\nREGAL_DECL void REGAL_CALL glGenProgramPipelines(GLsizei n, GLuint *pipelines);\nREGAL_DECL void REGAL_CALL glGetProgramPipelineInfoLog(GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);\nREGAL_DECL void REGAL_CALL glGetProgramPipelineiv(GLuint pipeline, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glProgramUniform1d(GLuint program, GLint location, GLdouble x);\nREGAL_DECL void REGAL_CALL glProgramUniform1dv(GLuint program, GLint location, GLsizei count, const GLdouble *value);\nREGAL_DECL void REGAL_CALL glProgramUniform1f(GLuint program, GLint location, GLfloat x);\nREGAL_DECL void REGAL_CALL glProgramUniform1fv(GLuint program, GLint location, GLsizei count, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glProgramUniform1i(GLuint program, GLint location, GLint x);\nREGAL_DECL void REGAL_CALL glProgramUniform1iv(GLuint program, GLint location, GLsizei count, const GLint *value);\nREGAL_DECL void REGAL_CALL glProgramUniform1ui(GLuint program, GLint location, GLuint v0);\nREGAL_DECL void REGAL_CALL glProgramUniform1uiv(GLuint program, GLint location, GLsizei count, const GLuint *value);\nREGAL_DECL void REGAL_CALL glProgramUniform2d(GLuint program, GLint location, GLdouble x, GLdouble y);\nREGAL_DECL void REGAL_CALL glProgramUniform2dv(GLuint program, GLint location, GLsizei count, const GLdouble *value);\nREGAL_DECL void REGAL_CALL glProgramUniform2f(GLuint program, GLint location, GLfloat x, GLfloat y);\nREGAL_DECL void REGAL_CALL glProgramUniform2fv(GLuint program, GLint location, GLsizei count, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glProgramUniform2i(GLuint program, GLint location, GLint x, GLint y);\nREGAL_DECL void REGAL_CALL glProgramUniform2iv(GLuint program, GLint location, GLsizei count, const GLint *value);\nREGAL_DECL void REGAL_CALL glProgramUniform2ui(GLuint program, GLint location, GLuint x, GLuint y);\nREGAL_DECL void REGAL_CALL glProgramUniform2uiv(GLuint program, GLint location, GLsizei count, const GLuint *value);\nREGAL_DECL void REGAL_CALL glProgramUniform3d(GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL glProgramUniform3dv(GLuint program, GLint location, GLsizei count, const GLdouble *value);\nREGAL_DECL void REGAL_CALL glProgramUniform3f(GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL glProgramUniform3fv(GLuint program, GLint location, GLsizei count, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glProgramUniform3i(GLuint program, GLint location, GLint x, GLint y, GLint z);\nREGAL_DECL void REGAL_CALL glProgramUniform3iv(GLuint program, GLint location, GLsizei count, const GLint *value);\nREGAL_DECL void REGAL_CALL glProgramUniform3ui(GLuint program, GLint location, GLuint x, GLuint y, GLuint z);\nREGAL_DECL void REGAL_CALL glProgramUniform3uiv(GLuint program, GLint location, GLsizei count, const GLuint *value);\nREGAL_DECL void REGAL_CALL glProgramUniform4d(GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nREGAL_DECL void REGAL_CALL glProgramUniform4dv(GLuint program, GLint location, GLsizei count, const GLdouble *value);\nREGAL_DECL void REGAL_CALL glProgramUniform4f(GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nREGAL_DECL void REGAL_CALL glProgramUniform4fv(GLuint program, GLint location, GLsizei count, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glProgramUniform4i(GLuint program, GLint location, GLint x, GLint y, GLint z, GLint w);\nREGAL_DECL void REGAL_CALL glProgramUniform4iv(GLuint program, GLint location, GLsizei count, const GLint *value);\nREGAL_DECL void REGAL_CALL glProgramUniform4ui(GLuint program, GLint location, GLuint x, GLuint y, GLuint z, GLuint w);\nREGAL_DECL void REGAL_CALL glProgramUniform4uiv(GLuint program, GLint location, GLsizei count, const GLuint *value);\nREGAL_DECL void REGAL_CALL glProgramUniformMatrix2dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL glProgramUniformMatrix2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glProgramUniformMatrix2x3dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL glProgramUniformMatrix2x3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glProgramUniformMatrix2x4dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL glProgramUniformMatrix2x4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glProgramUniformMatrix3dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL glProgramUniformMatrix3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glProgramUniformMatrix3x2dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL glProgramUniformMatrix3x2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glProgramUniformMatrix3x4dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL glProgramUniformMatrix3x4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glProgramUniformMatrix4dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL glProgramUniformMatrix4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glProgramUniformMatrix4x2dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL glProgramUniformMatrix4x2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glProgramUniformMatrix4x3dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL glProgramUniformMatrix4x3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glUseProgramStages(GLuint pipeline, GLbitfield stages, GLuint program);\nREGAL_DECL void REGAL_CALL glValidateProgramPipeline(GLuint pipeline);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_SEPARATE_SHADER_OBJECTS\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsProgramPipeline(GLuint pipeline);\nREGAL_DECL GLuint REGAL_CALL plugin_glCreateShaderProgramv(GLenum type, GLsizei count, const GLchar * const *strings);\nREGAL_DECL void REGAL_CALL plugin_glActiveShaderProgram(GLuint pipeline, GLuint program);\nREGAL_DECL void REGAL_CALL plugin_glBindProgramPipeline(GLuint pipeline);\nREGAL_DECL void REGAL_CALL plugin_glDeleteProgramPipelines(GLsizei n, const GLuint *pipelines);\nREGAL_DECL void REGAL_CALL plugin_glGenProgramPipelines(GLsizei n, GLuint *pipelines);\nREGAL_DECL void REGAL_CALL plugin_glGetProgramPipelineInfoLog(GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);\nREGAL_DECL void REGAL_CALL plugin_glGetProgramPipelineiv(GLuint pipeline, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform1d(GLuint program, GLint location, GLdouble x);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform1dv(GLuint program, GLint location, GLsizei count, const GLdouble *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform1f(GLuint program, GLint location, GLfloat x);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform1fv(GLuint program, GLint location, GLsizei count, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform1i(GLuint program, GLint location, GLint x);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform1iv(GLuint program, GLint location, GLsizei count, const GLint *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform1ui(GLuint program, GLint location, GLuint v0);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform1uiv(GLuint program, GLint location, GLsizei count, const GLuint *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform2d(GLuint program, GLint location, GLdouble x, GLdouble y);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform2dv(GLuint program, GLint location, GLsizei count, const GLdouble *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform2f(GLuint program, GLint location, GLfloat x, GLfloat y);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform2fv(GLuint program, GLint location, GLsizei count, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform2i(GLuint program, GLint location, GLint x, GLint y);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform2iv(GLuint program, GLint location, GLsizei count, const GLint *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform2ui(GLuint program, GLint location, GLuint x, GLuint y);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform2uiv(GLuint program, GLint location, GLsizei count, const GLuint *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform3d(GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform3dv(GLuint program, GLint location, GLsizei count, const GLdouble *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform3f(GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform3fv(GLuint program, GLint location, GLsizei count, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform3i(GLuint program, GLint location, GLint x, GLint y, GLint z);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform3iv(GLuint program, GLint location, GLsizei count, const GLint *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform3ui(GLuint program, GLint location, GLuint x, GLuint y, GLuint z);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform3uiv(GLuint program, GLint location, GLsizei count, const GLuint *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform4d(GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform4dv(GLuint program, GLint location, GLsizei count, const GLdouble *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform4f(GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform4fv(GLuint program, GLint location, GLsizei count, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform4i(GLuint program, GLint location, GLint x, GLint y, GLint z, GLint w);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform4iv(GLuint program, GLint location, GLsizei count, const GLint *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform4ui(GLuint program, GLint location, GLuint x, GLuint y, GLuint z, GLuint w);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform4uiv(GLuint program, GLint location, GLsizei count, const GLuint *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformMatrix2dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformMatrix2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformMatrix2x3dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformMatrix2x3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformMatrix2x4dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformMatrix2x4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformMatrix3dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformMatrix3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformMatrix3x2dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformMatrix3x2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformMatrix3x4dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformMatrix3x4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformMatrix4dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformMatrix4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformMatrix4x2dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformMatrix4x2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformMatrix4x3dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformMatrix4x3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glUseProgramStages(GLuint pipeline, GLbitfield stages, GLuint program);\nREGAL_DECL void REGAL_CALL plugin_glValidateProgramPipeline(GLuint pipeline);\n#endif\n\n/**\n ** GL_ARB_shader_atomic_counters\n **/\n\n#if (defined(GL_ARB_SHADER_ATOMIC_COUNTERS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_SHADER_ATOMIC_COUNTERS)) && !defined(REGAL_NO_ENUM_GL_ARB_SHADER_ATOMIC_COUNTERS)\n#define REGAL_NO_ENUM_GL_ARB_SHADER_ATOMIC_COUNTERS\n#endif\n\n#if (defined(GL_ARB_SHADER_ATOMIC_COUNTERS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_SHADER_ATOMIC_COUNTERS)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_SHADER_ATOMIC_COUNTERS)\n#define REGAL_NO_TYPEDEF_GL_ARB_SHADER_ATOMIC_COUNTERS\n#endif\n\n#if (defined(GL_ARB_SHADER_ATOMIC_COUNTERS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_SHADER_ATOMIC_COUNTERS)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_SHADER_ATOMIC_COUNTERS)\n#define REGAL_NO_NAMESPACE_GL_ARB_SHADER_ATOMIC_COUNTERS\n#endif\n\n#if (defined(GL_ARB_SHADER_ATOMIC_COUNTERS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_SHADER_ATOMIC_COUNTERS)) && !defined(REGAL_NO_PLUGIN_GL_ARB_SHADER_ATOMIC_COUNTERS)\n#define REGAL_NO_PLUGIN_GL_ARB_SHADER_ATOMIC_COUNTERS\n#endif\n\n#if (defined(GL_ARB_SHADER_ATOMIC_COUNTERS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_SHADER_ATOMIC_COUNTERS)) && !defined(REGAL_NO_DECLARATION_GL_ARB_SHADER_ATOMIC_COUNTERS)\n#define REGAL_NO_DECLARATION_GL_ARB_SHADER_ATOMIC_COUNTERS\n#endif\n\n#ifndef GL_ARB_shader_atomic_counters\n#define GL_ARB_shader_atomic_counters 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_SHADER_ATOMIC_COUNTERS\n#define GL_ATOMIC_COUNTER_BUFFER                                      0x92c0     /* 37568 */\n#define GL_ATOMIC_COUNTER_BUFFER_BINDING                              0x92c1     /* 37569 */\n#define GL_ATOMIC_COUNTER_BUFFER_START                                0x92c2     /* 37570 */\n#define GL_ATOMIC_COUNTER_BUFFER_SIZE                                 0x92c3     /* 37571 */\n#define GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE                            0x92c4     /* 37572 */\n#define GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS               0x92c5     /* 37573 */\n#define GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES        0x92c6     /* 37574 */\n#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER          0x92c7     /* 37575 */\n#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER    0x92c8     /* 37576 */\n#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER 0x92c9     /* 37577 */\n#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER        0x92ca     /* 37578 */\n#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER        0x92cb     /* 37579 */\n#define GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS                          0x92cc     /* 37580 */\n#define GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS                    0x92cd     /* 37581 */\n#define GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS                 0x92ce     /* 37582 */\n#define GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS                        0x92cf     /* 37583 */\n#define GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS                        0x92d0     /* 37584 */\n#define GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS                        0x92d1     /* 37585 */\n#define GL_MAX_VERTEX_ATOMIC_COUNTERS                                 0x92d2     /* 37586 */\n#define GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS                           0x92d3     /* 37587 */\n#define GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS                        0x92d4     /* 37588 */\n#define GL_MAX_GEOMETRY_ATOMIC_COUNTERS                               0x92d5     /* 37589 */\n#define GL_MAX_FRAGMENT_ATOMIC_COUNTERS                               0x92d6     /* 37590 */\n#define GL_MAX_COMBINED_ATOMIC_COUNTERS                               0x92d7     /* 37591 */\n#define GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE                             0x92d8     /* 37592 */\n#define GL_ACTIVE_ATOMIC_COUNTER_BUFFERS                              0x92d9     /* 37593 */\n#define GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX                        0x92da     /* 37594 */\n#define GL_UNSIGNED_INT_ATOMIC_COUNTER                                0x92db     /* 37595 */\n#define GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS                         0x92dc     /* 37596 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_SHADER_ATOMIC_COUNTERS\ntypedef void (REGAL_CALL *PFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC)(GLuint program, GLuint bufferIndex, GLenum pname, GLint *params);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_SHADER_ATOMIC_COUNTERS\n#define glGetActiveAtomicCounterBufferiv    rglGetActiveAtomicCounterBufferiv\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_SHADER_ATOMIC_COUNTERS\nREGAL_DECL void REGAL_CALL glGetActiveAtomicCounterBufferiv(GLuint program, GLuint bufferIndex, GLenum pname, GLint *params);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_SHADER_ATOMIC_COUNTERS\nREGAL_DECL void REGAL_CALL plugin_glGetActiveAtomicCounterBufferiv(GLuint program, GLuint bufferIndex, GLenum pname, GLint *params);\n#endif\n\n/**\n ** GL_ARB_shader_image_load_store\n **/\n\n#if (defined(GL_ARB_SHADER_IMAGE_LOAD_STORE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_SHADER_IMAGE_LOAD_STORE)) && !defined(REGAL_NO_ENUM_GL_ARB_SHADER_IMAGE_LOAD_STORE)\n#define REGAL_NO_ENUM_GL_ARB_SHADER_IMAGE_LOAD_STORE\n#endif\n\n#if (defined(GL_ARB_SHADER_IMAGE_LOAD_STORE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_SHADER_IMAGE_LOAD_STORE)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_SHADER_IMAGE_LOAD_STORE)\n#define REGAL_NO_TYPEDEF_GL_ARB_SHADER_IMAGE_LOAD_STORE\n#endif\n\n#if (defined(GL_ARB_SHADER_IMAGE_LOAD_STORE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_SHADER_IMAGE_LOAD_STORE)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_SHADER_IMAGE_LOAD_STORE)\n#define REGAL_NO_NAMESPACE_GL_ARB_SHADER_IMAGE_LOAD_STORE\n#endif\n\n#if (defined(GL_ARB_SHADER_IMAGE_LOAD_STORE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_SHADER_IMAGE_LOAD_STORE)) && !defined(REGAL_NO_PLUGIN_GL_ARB_SHADER_IMAGE_LOAD_STORE)\n#define REGAL_NO_PLUGIN_GL_ARB_SHADER_IMAGE_LOAD_STORE\n#endif\n\n#if (defined(GL_ARB_SHADER_IMAGE_LOAD_STORE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_SHADER_IMAGE_LOAD_STORE)) && !defined(REGAL_NO_DECLARATION_GL_ARB_SHADER_IMAGE_LOAD_STORE)\n#define REGAL_NO_DECLARATION_GL_ARB_SHADER_IMAGE_LOAD_STORE\n#endif\n\n#ifndef GL_ARB_shader_image_load_store\n#define GL_ARB_shader_image_load_store 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_SHADER_IMAGE_LOAD_STORE\n#define GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT               0x1\n#define GL_TEXTURE_UPDATE_BARRIER_BIT                    0x100          /* 256 */\n#define GL_ATOMIC_COUNTER_BARRIER_BIT                    0x1000         /* 4096 */\n#define GL_ELEMENT_ARRAY_BARRIER_BIT                     0x2\n#define GL_SHADER_IMAGE_ACCESS_BARRIER_BIT               0x20           /* 32 */\n#define GL_BUFFER_UPDATE_BARRIER_BIT                     0x200          /* 512 */\n#define GL_UNIFORM_BARRIER_BIT                           0x4\n#define GL_COMMAND_BARRIER_BIT                           0x40           /* 64 */\n#define GL_FRAMEBUFFER_BARRIER_BIT                       0x400          /* 1024 */\n#define GL_TEXTURE_FETCH_BARRIER_BIT                     0x8\n#define GL_PIXEL_BUFFER_BARRIER_BIT                      0x80           /* 128 */\n#define GL_TRANSFORM_FEEDBACK_BARRIER_BIT                0x800          /* 2048 */\n#define GL_MAX_IMAGE_UNITS                               0x8f38         /* 36664 */\n#define GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS 0x8f39         /* 36665 */\n#define GL_IMAGE_BINDING_NAME                            0x8f3a         /* 36666 */\n#define GL_IMAGE_BINDING_LEVEL                           0x8f3b         /* 36667 */\n#define GL_IMAGE_BINDING_LAYERED                         0x8f3c         /* 36668 */\n#define GL_IMAGE_BINDING_LAYER                           0x8f3d         /* 36669 */\n#define GL_IMAGE_BINDING_ACCESS                          0x8f3e         /* 36670 */\n#define GL_IMAGE_1D                                      0x904c         /* 36940 */\n#define GL_IMAGE_2D                                      0x904d         /* 36941 */\n#define GL_IMAGE_3D                                      0x904e         /* 36942 */\n#define GL_IMAGE_2D_RECT                                 0x904f         /* 36943 */\n#define GL_IMAGE_CUBE                                    0x9050         /* 36944 */\n#define GL_IMAGE_BUFFER                                  0x9051         /* 36945 */\n#define GL_IMAGE_1D_ARRAY                                0x9052         /* 36946 */\n#define GL_IMAGE_2D_ARRAY                                0x9053         /* 36947 */\n#define GL_IMAGE_CUBE_MAP_ARRAY                          0x9054         /* 36948 */\n#define GL_IMAGE_2D_MULTISAMPLE                          0x9055         /* 36949 */\n#define GL_IMAGE_2D_MULTISAMPLE_ARRAY                    0x9056         /* 36950 */\n#define GL_INT_IMAGE_1D                                  0x9057         /* 36951 */\n#define GL_INT_IMAGE_2D                                  0x9058         /* 36952 */\n#define GL_INT_IMAGE_3D                                  0x9059         /* 36953 */\n#define GL_INT_IMAGE_2D_RECT                             0x905a         /* 36954 */\n#define GL_INT_IMAGE_CUBE                                0x905b         /* 36955 */\n#define GL_INT_IMAGE_BUFFER                              0x905c         /* 36956 */\n#define GL_INT_IMAGE_1D_ARRAY                            0x905d         /* 36957 */\n#define GL_INT_IMAGE_2D_ARRAY                            0x905e         /* 36958 */\n#define GL_INT_IMAGE_CUBE_MAP_ARRAY                      0x905f         /* 36959 */\n#define GL_INT_IMAGE_2D_MULTISAMPLE                      0x9060         /* 36960 */\n#define GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY                0x9061         /* 36961 */\n#define GL_UNSIGNED_INT_IMAGE_1D                         0x9062         /* 36962 */\n#define GL_UNSIGNED_INT_IMAGE_2D                         0x9063         /* 36963 */\n#define GL_UNSIGNED_INT_IMAGE_3D                         0x9064         /* 36964 */\n#define GL_UNSIGNED_INT_IMAGE_2D_RECT                    0x9065         /* 36965 */\n#define GL_UNSIGNED_INT_IMAGE_CUBE                       0x9066         /* 36966 */\n#define GL_UNSIGNED_INT_IMAGE_BUFFER                     0x9067         /* 36967 */\n#define GL_UNSIGNED_INT_IMAGE_1D_ARRAY                   0x9068         /* 36968 */\n#define GL_UNSIGNED_INT_IMAGE_2D_ARRAY                   0x9069         /* 36969 */\n#define GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY             0x906a         /* 36970 */\n#define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE             0x906b         /* 36971 */\n#define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY       0x906c         /* 36972 */\n#define GL_MAX_IMAGE_SAMPLES                             0x906d         /* 36973 */\n#define GL_IMAGE_BINDING_FORMAT                          0x906e         /* 36974 */\n#define GL_IMAGE_FORMAT_COMPATIBILITY_TYPE               0x90c7         /* 37063 */\n#define GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE            0x90c8         /* 37064 */\n#define GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS           0x90c9         /* 37065 */\n#define GL_MAX_VERTEX_IMAGE_UNIFORMS                     0x90ca         /* 37066 */\n#define GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS               0x90cb         /* 37067 */\n#define GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS            0x90cc         /* 37068 */\n#define GL_MAX_GEOMETRY_IMAGE_UNIFORMS                   0x90cd         /* 37069 */\n#define GL_MAX_FRAGMENT_IMAGE_UNIFORMS                   0x90ce         /* 37070 */\n#define GL_MAX_COMBINED_IMAGE_UNIFORMS                   0x90cf         /* 37071 */\n#define GL_ALL_BARRIER_BITS                              0xffffffff     /* 4294967295 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_SHADER_IMAGE_LOAD_STORE\ntypedef void (REGAL_CALL *PFNGLBINDIMAGETEXTUREPROC)(GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format);\ntypedef void (REGAL_CALL *PFNGLMEMORYBARRIERPROC)(GLbitfield barriers);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_SHADER_IMAGE_LOAD_STORE\n#define glBindImageTexture                  rglBindImageTexture\n#define glMemoryBarrier                     rglMemoryBarrier\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_SHADER_IMAGE_LOAD_STORE\nREGAL_DECL void REGAL_CALL glBindImageTexture(GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format);\nREGAL_DECL void REGAL_CALL glMemoryBarrier(GLbitfield barriers);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_SHADER_IMAGE_LOAD_STORE\nREGAL_DECL void REGAL_CALL plugin_glBindImageTexture(GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format);\nREGAL_DECL void REGAL_CALL plugin_glMemoryBarrier(GLbitfield barriers);\n#endif\n\n/**\n ** GL_ARB_shader_objects\n **/\n\n#if (defined(GL_ARB_SHADER_OBJECTS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_SHADER_OBJECTS)) && !defined(REGAL_NO_ENUM_GL_ARB_SHADER_OBJECTS)\n#define REGAL_NO_ENUM_GL_ARB_SHADER_OBJECTS\n#endif\n\n#if (defined(GL_ARB_SHADER_OBJECTS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_SHADER_OBJECTS)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_SHADER_OBJECTS)\n#define REGAL_NO_TYPEDEF_GL_ARB_SHADER_OBJECTS\n#endif\n\n#if (defined(GL_ARB_SHADER_OBJECTS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_SHADER_OBJECTS)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_SHADER_OBJECTS)\n#define REGAL_NO_NAMESPACE_GL_ARB_SHADER_OBJECTS\n#endif\n\n#if (defined(GL_ARB_SHADER_OBJECTS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_SHADER_OBJECTS)) && !defined(REGAL_NO_PLUGIN_GL_ARB_SHADER_OBJECTS)\n#define REGAL_NO_PLUGIN_GL_ARB_SHADER_OBJECTS\n#endif\n\n#if (defined(GL_ARB_SHADER_OBJECTS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_SHADER_OBJECTS)) && !defined(REGAL_NO_DECLARATION_GL_ARB_SHADER_OBJECTS)\n#define REGAL_NO_DECLARATION_GL_ARB_SHADER_OBJECTS\n#endif\n\n#ifndef GL_ARB_shader_objects\n#define GL_ARB_shader_objects 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_SHADER_OBJECTS\n#define GL_PROGRAM_OBJECT_ARB                   0x8b40     /* 35648 */\n#define GL_SHADER_OBJECT_ARB                    0x8b48     /* 35656 */\n#define GL_OBJECT_TYPE_ARB                      0x8b4e     /* 35662 */\n#define GL_OBJECT_SUBTYPE_ARB                   0x8b4f     /* 35663 */\n#define GL_FLOAT_VEC2_ARB                       0x8b50     /* 35664 */\n#define GL_FLOAT_VEC3_ARB                       0x8b51     /* 35665 */\n#define GL_FLOAT_VEC4_ARB                       0x8b52     /* 35666 */\n#define GL_INT_VEC2_ARB                         0x8b53     /* 35667 */\n#define GL_INT_VEC3_ARB                         0x8b54     /* 35668 */\n#define GL_INT_VEC4_ARB                         0x8b55     /* 35669 */\n#define GL_BOOL_ARB                             0x8b56     /* 35670 */\n#define GL_BOOL_VEC2_ARB                        0x8b57     /* 35671 */\n#define GL_BOOL_VEC3_ARB                        0x8b58     /* 35672 */\n#define GL_BOOL_VEC4_ARB                        0x8b59     /* 35673 */\n#define GL_FLOAT_MAT2_ARB                       0x8b5a     /* 35674 */\n#define GL_FLOAT_MAT3_ARB                       0x8b5b     /* 35675 */\n#define GL_FLOAT_MAT4_ARB                       0x8b5c     /* 35676 */\n#define GL_SAMPLER_1D_ARB                       0x8b5d     /* 35677 */\n#define GL_SAMPLER_2D_ARB                       0x8b5e     /* 35678 */\n#define GL_SAMPLER_3D_ARB                       0x8b5f     /* 35679 */\n#define GL_SAMPLER_CUBE_ARB                     0x8b60     /* 35680 */\n#define GL_SAMPLER_1D_SHADOW_ARB                0x8b61     /* 35681 */\n#define GL_SAMPLER_2D_SHADOW_ARB                0x8b62     /* 35682 */\n#define GL_SAMPLER_2D_RECT_ARB                  0x8b63     /* 35683 */\n#define GL_SAMPLER_2D_RECT_SHADOW_ARB           0x8b64     /* 35684 */\n#define GL_OBJECT_DELETE_STATUS_ARB             0x8b80     /* 35712 */\n#define GL_OBJECT_COMPILE_STATUS_ARB            0x8b81     /* 35713 */\n#define GL_OBJECT_LINK_STATUS_ARB               0x8b82     /* 35714 */\n#define GL_OBJECT_VALIDATE_STATUS_ARB           0x8b83     /* 35715 */\n#define GL_OBJECT_INFO_LOG_LENGTH_ARB           0x8b84     /* 35716 */\n#define GL_OBJECT_ATTACHED_OBJECTS_ARB          0x8b85     /* 35717 */\n#define GL_OBJECT_ACTIVE_UNIFORMS_ARB           0x8b86     /* 35718 */\n#define GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB 0x8b87     /* 35719 */\n#define GL_OBJECT_SHADER_SOURCE_LENGTH_ARB      0x8b88     /* 35720 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_SHADER_OBJECTS\ntypedef GLhandleARB (REGAL_CALL *PFNGLCREATEPROGRAMOBJECTARBPROC)(void);\ntypedef GLhandleARB (REGAL_CALL *PFNGLCREATESHADEROBJECTARBPROC)(GLenum shaderType);\ntypedef GLhandleARB (REGAL_CALL *PFNGLGETHANDLEARBPROC)(GLenum pname);\ntypedef GLint (REGAL_CALL *PFNGLGETUNIFORMLOCATIONARBPROC)(GLhandleARB programObj, const GLcharARB *name);\ntypedef void (REGAL_CALL *PFNGLATTACHOBJECTARBPROC)(GLhandleARB containerObj, GLhandleARB obj);\ntypedef void (REGAL_CALL *PFNGLCOMPILESHADERARBPROC)(GLhandleARB shaderObj);\ntypedef void (REGAL_CALL *PFNGLDELETEOBJECTARBPROC)(GLhandleARB obj);\ntypedef void (REGAL_CALL *PFNGLDETACHOBJECTARBPROC)(GLhandleARB containerObj, GLhandleARB attachedObj);\ntypedef void (REGAL_CALL *PFNGLGETACTIVEUNIFORMARBPROC)(GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei *length, GLint *size, GLenum *type, GLcharARB *name);\ntypedef void (REGAL_CALL *PFNGLGETATTACHEDOBJECTSARBPROC)(GLhandleARB containerObj, GLsizei maxCount, GLsizei *count, GLhandleARB *obj);\ntypedef void (REGAL_CALL *PFNGLGETINFOLOGARBPROC)(GLhandleARB obj, GLsizei maxLength, GLsizei *length, GLcharARB *infoLog);\ntypedef void (REGAL_CALL *PFNGLGETOBJECTPARAMETERFVARBPROC)(GLhandleARB obj, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETOBJECTPARAMETERIVARBPROC)(GLhandleARB obj, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETSHADERSOURCEARBPROC)(GLhandleARB obj, GLsizei maxLength, GLsizei *length, GLcharARB *source);\ntypedef void (REGAL_CALL *PFNGLGETUNIFORMFVARBPROC)(GLhandleARB programObj, GLint location, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETUNIFORMIVARBPROC)(GLhandleARB programObj, GLint location, GLint *params);\ntypedef void (REGAL_CALL *PFNGLLINKPROGRAMARBPROC)(GLhandleARB programObj);\ntypedef void (REGAL_CALL *PFNGLSHADERSOURCEARBPROC)(GLhandleARB shaderObj, GLsizei count, const GLcharARB ** const string, const GLint *length);\ntypedef void (REGAL_CALL *PFNGLUNIFORM1FARBPROC)(GLint location, GLfloat v0);\ntypedef void (REGAL_CALL *PFNGLUNIFORM1FVARBPROC)(GLint location, GLsizei count, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORM1IARBPROC)(GLint location, GLint v0);\ntypedef void (REGAL_CALL *PFNGLUNIFORM1IVARBPROC)(GLint location, GLsizei count, const GLint *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORM2FARBPROC)(GLint location, GLfloat v0, GLfloat v1);\ntypedef void (REGAL_CALL *PFNGLUNIFORM2FVARBPROC)(GLint location, GLsizei count, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORM2IARBPROC)(GLint location, GLint v0, GLint v1);\ntypedef void (REGAL_CALL *PFNGLUNIFORM2IVARBPROC)(GLint location, GLsizei count, const GLint *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORM3FARBPROC)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2);\ntypedef void (REGAL_CALL *PFNGLUNIFORM3FVARBPROC)(GLint location, GLsizei count, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORM3IARBPROC)(GLint location, GLint v0, GLint v1, GLint v2);\ntypedef void (REGAL_CALL *PFNGLUNIFORM3IVARBPROC)(GLint location, GLsizei count, const GLint *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORM4FARBPROC)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);\ntypedef void (REGAL_CALL *PFNGLUNIFORM4FVARBPROC)(GLint location, GLsizei count, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORM4IARBPROC)(GLint location, GLint v0, GLint v1, GLint v2, GLint v3);\ntypedef void (REGAL_CALL *PFNGLUNIFORM4IVARBPROC)(GLint location, GLsizei count, const GLint *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORMMATRIX2FVARBPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORMMATRIX3FVARBPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORMMATRIX4FVARBPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLUSEPROGRAMOBJECTARBPROC)(GLhandleARB programObj);\ntypedef void (REGAL_CALL *PFNGLVALIDATEPROGRAMARBPROC)(GLhandleARB programObj);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_SHADER_OBJECTS\n#define glAttachObjectARB                   rglAttachObjectARB\n#define glCompileShaderARB                  rglCompileShaderARB\n#define glCreateProgramObjectARB            rglCreateProgramObjectARB\n#define glCreateShaderObjectARB             rglCreateShaderObjectARB\n#define glDeleteObjectARB                   rglDeleteObjectARB\n#define glDetachObjectARB                   rglDetachObjectARB\n#define glGetActiveUniformARB               rglGetActiveUniformARB\n#define glGetAttachedObjectsARB             rglGetAttachedObjectsARB\n#define glGetHandleARB                      rglGetHandleARB\n#define glGetInfoLogARB                     rglGetInfoLogARB\n#define glGetObjectParameterfvARB           rglGetObjectParameterfvARB\n#define glGetObjectParameterivARB           rglGetObjectParameterivARB\n#define glGetShaderSourceARB                rglGetShaderSourceARB\n#define glGetUniformLocationARB             rglGetUniformLocationARB\n#define glGetUniformfvARB                   rglGetUniformfvARB\n#define glGetUniformivARB                   rglGetUniformivARB\n#define glLinkProgramARB                    rglLinkProgramARB\n#define glShaderSourceARB                   rglShaderSourceARB\n#define glUniform1fARB                      rglUniform1fARB\n#define glUniform1fvARB                     rglUniform1fvARB\n#define glUniform1iARB                      rglUniform1iARB\n#define glUniform1ivARB                     rglUniform1ivARB\n#define glUniform2fARB                      rglUniform2fARB\n#define glUniform2fvARB                     rglUniform2fvARB\n#define glUniform2iARB                      rglUniform2iARB\n#define glUniform2ivARB                     rglUniform2ivARB\n#define glUniform3fARB                      rglUniform3fARB\n#define glUniform3fvARB                     rglUniform3fvARB\n#define glUniform3iARB                      rglUniform3iARB\n#define glUniform3ivARB                     rglUniform3ivARB\n#define glUniform4fARB                      rglUniform4fARB\n#define glUniform4fvARB                     rglUniform4fvARB\n#define glUniform4iARB                      rglUniform4iARB\n#define glUniform4ivARB                     rglUniform4ivARB\n#define glUniformMatrix2fvARB               rglUniformMatrix2fvARB\n#define glUniformMatrix3fvARB               rglUniformMatrix3fvARB\n#define glUniformMatrix4fvARB               rglUniformMatrix4fvARB\n#define glUseProgramObjectARB               rglUseProgramObjectARB\n#define glValidateProgramARB                rglValidateProgramARB\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_SHADER_OBJECTS\nREGAL_DECL GLhandleARB REGAL_CALL glCreateProgramObjectARB(void);\nREGAL_DECL GLhandleARB REGAL_CALL glCreateShaderObjectARB(GLenum shaderType);\nREGAL_DECL GLhandleARB REGAL_CALL glGetHandleARB(GLenum pname);\nREGAL_DECL GLint REGAL_CALL glGetUniformLocationARB(GLhandleARB programObj, const GLcharARB *name);\nREGAL_DECL void REGAL_CALL glAttachObjectARB(GLhandleARB containerObj, GLhandleARB obj);\nREGAL_DECL void REGAL_CALL glCompileShaderARB(GLhandleARB shaderObj);\nREGAL_DECL void REGAL_CALL glDeleteObjectARB(GLhandleARB obj);\nREGAL_DECL void REGAL_CALL glDetachObjectARB(GLhandleARB containerObj, GLhandleARB attachedObj);\nREGAL_DECL void REGAL_CALL glGetActiveUniformARB(GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei *length, GLint *size, GLenum *type, GLcharARB *name);\nREGAL_DECL void REGAL_CALL glGetAttachedObjectsARB(GLhandleARB containerObj, GLsizei maxCount, GLsizei *count, GLhandleARB *obj);\nREGAL_DECL void REGAL_CALL glGetInfoLogARB(GLhandleARB obj, GLsizei maxLength, GLsizei *length, GLcharARB *infoLog);\nREGAL_DECL void REGAL_CALL glGetObjectParameterfvARB(GLhandleARB obj, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetObjectParameterivARB(GLhandleARB obj, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetShaderSourceARB(GLhandleARB obj, GLsizei maxLength, GLsizei *length, GLcharARB *source);\nREGAL_DECL void REGAL_CALL glGetUniformfvARB(GLhandleARB programObj, GLint location, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetUniformivARB(GLhandleARB programObj, GLint location, GLint *params);\nREGAL_DECL void REGAL_CALL glLinkProgramARB(GLhandleARB programObj);\nREGAL_DECL void REGAL_CALL glShaderSourceARB(GLhandleARB shaderObj, GLsizei count, const GLcharARB ** const string, const GLint *length);\nREGAL_DECL void REGAL_CALL glUniform1fARB(GLint location, GLfloat v0);\nREGAL_DECL void REGAL_CALL glUniform1fvARB(GLint location, GLsizei count, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glUniform1iARB(GLint location, GLint v0);\nREGAL_DECL void REGAL_CALL glUniform1ivARB(GLint location, GLsizei count, const GLint *value);\nREGAL_DECL void REGAL_CALL glUniform2fARB(GLint location, GLfloat v0, GLfloat v1);\nREGAL_DECL void REGAL_CALL glUniform2fvARB(GLint location, GLsizei count, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glUniform2iARB(GLint location, GLint v0, GLint v1);\nREGAL_DECL void REGAL_CALL glUniform2ivARB(GLint location, GLsizei count, const GLint *value);\nREGAL_DECL void REGAL_CALL glUniform3fARB(GLint location, GLfloat v0, GLfloat v1, GLfloat v2);\nREGAL_DECL void REGAL_CALL glUniform3fvARB(GLint location, GLsizei count, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glUniform3iARB(GLint location, GLint v0, GLint v1, GLint v2);\nREGAL_DECL void REGAL_CALL glUniform3ivARB(GLint location, GLsizei count, const GLint *value);\nREGAL_DECL void REGAL_CALL glUniform4fARB(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);\nREGAL_DECL void REGAL_CALL glUniform4fvARB(GLint location, GLsizei count, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glUniform4iARB(GLint location, GLint v0, GLint v1, GLint v2, GLint v3);\nREGAL_DECL void REGAL_CALL glUniform4ivARB(GLint location, GLsizei count, const GLint *value);\nREGAL_DECL void REGAL_CALL glUniformMatrix2fvARB(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glUniformMatrix3fvARB(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glUniformMatrix4fvARB(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glUseProgramObjectARB(GLhandleARB programObj);\nREGAL_DECL void REGAL_CALL glValidateProgramARB(GLhandleARB programObj);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_SHADER_OBJECTS\nREGAL_DECL GLhandleARB REGAL_CALL plugin_glCreateProgramObjectARB(void);\nREGAL_DECL GLhandleARB REGAL_CALL plugin_glCreateShaderObjectARB(GLenum shaderType);\nREGAL_DECL GLhandleARB REGAL_CALL plugin_glGetHandleARB(GLenum pname);\nREGAL_DECL GLint REGAL_CALL plugin_glGetUniformLocationARB(GLhandleARB programObj, const GLcharARB *name);\nREGAL_DECL void REGAL_CALL plugin_glAttachObjectARB(GLhandleARB containerObj, GLhandleARB obj);\nREGAL_DECL void REGAL_CALL plugin_glCompileShaderARB(GLhandleARB shaderObj);\nREGAL_DECL void REGAL_CALL plugin_glDeleteObjectARB(GLhandleARB obj);\nREGAL_DECL void REGAL_CALL plugin_glDetachObjectARB(GLhandleARB containerObj, GLhandleARB attachedObj);\nREGAL_DECL void REGAL_CALL plugin_glGetActiveUniformARB(GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei *length, GLint *size, GLenum *type, GLcharARB *name);\nREGAL_DECL void REGAL_CALL plugin_glGetAttachedObjectsARB(GLhandleARB containerObj, GLsizei maxCount, GLsizei *count, GLhandleARB *obj);\nREGAL_DECL void REGAL_CALL plugin_glGetInfoLogARB(GLhandleARB obj, GLsizei maxLength, GLsizei *length, GLcharARB *infoLog);\nREGAL_DECL void REGAL_CALL plugin_glGetObjectParameterfvARB(GLhandleARB obj, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetObjectParameterivARB(GLhandleARB obj, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetShaderSourceARB(GLhandleARB obj, GLsizei maxLength, GLsizei *length, GLcharARB *source);\nREGAL_DECL void REGAL_CALL plugin_glGetUniformfvARB(GLhandleARB programObj, GLint location, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetUniformivARB(GLhandleARB programObj, GLint location, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glLinkProgramARB(GLhandleARB programObj);\nREGAL_DECL void REGAL_CALL plugin_glShaderSourceARB(GLhandleARB shaderObj, GLsizei count, const GLcharARB ** const string, const GLint *length);\nREGAL_DECL void REGAL_CALL plugin_glUniform1fARB(GLint location, GLfloat v0);\nREGAL_DECL void REGAL_CALL plugin_glUniform1fvARB(GLint location, GLsizei count, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glUniform1iARB(GLint location, GLint v0);\nREGAL_DECL void REGAL_CALL plugin_glUniform1ivARB(GLint location, GLsizei count, const GLint *value);\nREGAL_DECL void REGAL_CALL plugin_glUniform2fARB(GLint location, GLfloat v0, GLfloat v1);\nREGAL_DECL void REGAL_CALL plugin_glUniform2fvARB(GLint location, GLsizei count, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glUniform2iARB(GLint location, GLint v0, GLint v1);\nREGAL_DECL void REGAL_CALL plugin_glUniform2ivARB(GLint location, GLsizei count, const GLint *value);\nREGAL_DECL void REGAL_CALL plugin_glUniform3fARB(GLint location, GLfloat v0, GLfloat v1, GLfloat v2);\nREGAL_DECL void REGAL_CALL plugin_glUniform3fvARB(GLint location, GLsizei count, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glUniform3iARB(GLint location, GLint v0, GLint v1, GLint v2);\nREGAL_DECL void REGAL_CALL plugin_glUniform3ivARB(GLint location, GLsizei count, const GLint *value);\nREGAL_DECL void REGAL_CALL plugin_glUniform4fARB(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);\nREGAL_DECL void REGAL_CALL plugin_glUniform4fvARB(GLint location, GLsizei count, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glUniform4iARB(GLint location, GLint v0, GLint v1, GLint v2, GLint v3);\nREGAL_DECL void REGAL_CALL plugin_glUniform4ivARB(GLint location, GLsizei count, const GLint *value);\nREGAL_DECL void REGAL_CALL plugin_glUniformMatrix2fvARB(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glUniformMatrix3fvARB(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glUniformMatrix4fvARB(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glUseProgramObjectARB(GLhandleARB programObj);\nREGAL_DECL void REGAL_CALL plugin_glValidateProgramARB(GLhandleARB programObj);\n#endif\n\n/**\n ** GL_ARB_shader_storage_buffer_object\n **/\n\n#if (defined(GL_ARB_SHADER_STORAGE_BUFFER_OBJECT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_SHADER_STORAGE_BUFFER_OBJECT)) && !defined(REGAL_NO_ENUM_GL_ARB_SHADER_STORAGE_BUFFER_OBJECT)\n#define REGAL_NO_ENUM_GL_ARB_SHADER_STORAGE_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_ARB_SHADER_STORAGE_BUFFER_OBJECT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_SHADER_STORAGE_BUFFER_OBJECT)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_SHADER_STORAGE_BUFFER_OBJECT)\n#define REGAL_NO_TYPEDEF_GL_ARB_SHADER_STORAGE_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_ARB_SHADER_STORAGE_BUFFER_OBJECT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_SHADER_STORAGE_BUFFER_OBJECT)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_SHADER_STORAGE_BUFFER_OBJECT)\n#define REGAL_NO_NAMESPACE_GL_ARB_SHADER_STORAGE_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_ARB_SHADER_STORAGE_BUFFER_OBJECT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_SHADER_STORAGE_BUFFER_OBJECT)) && !defined(REGAL_NO_PLUGIN_GL_ARB_SHADER_STORAGE_BUFFER_OBJECT)\n#define REGAL_NO_PLUGIN_GL_ARB_SHADER_STORAGE_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_ARB_SHADER_STORAGE_BUFFER_OBJECT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_SHADER_STORAGE_BUFFER_OBJECT)) && !defined(REGAL_NO_DECLARATION_GL_ARB_SHADER_STORAGE_BUFFER_OBJECT)\n#define REGAL_NO_DECLARATION_GL_ARB_SHADER_STORAGE_BUFFER_OBJECT\n#endif\n\n#ifndef GL_ARB_shader_storage_buffer_object\n#define GL_ARB_shader_storage_buffer_object 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_SHADER_STORAGE_BUFFER_OBJECT\n#define GL_SHADER_STORAGE_BARRIER_BIT                0x2000     /* 8192 */\n#define GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES      0x8f39     /* 36665 */\n#define GL_SHADER_STORAGE_BUFFER                     0x90d2     /* 37074 */\n#define GL_SHADER_STORAGE_BUFFER_BINDING             0x90d3     /* 37075 */\n#define GL_SHADER_STORAGE_BUFFER_START               0x90d4     /* 37076 */\n#define GL_SHADER_STORAGE_BUFFER_SIZE                0x90d5     /* 37077 */\n#define GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS          0x90d6     /* 37078 */\n#define GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS        0x90d7     /* 37079 */\n#define GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS    0x90d8     /* 37080 */\n#define GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS 0x90d9     /* 37081 */\n#define GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS        0x90da     /* 37082 */\n#define GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS         0x90db     /* 37083 */\n#define GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS        0x90dc     /* 37084 */\n#define GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS        0x90dd     /* 37085 */\n#define GL_MAX_SHADER_STORAGE_BLOCK_SIZE             0x90de     /* 37086 */\n#define GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT    0x90df     /* 37087 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_SHADER_STORAGE_BUFFER_OBJECT\ntypedef void (REGAL_CALL *PFNGLSHADERSTORAGEBLOCKBINDINGPROC)(GLuint program, GLuint storageBlockIndex, GLuint storageBlockBinding);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_SHADER_STORAGE_BUFFER_OBJECT\n#define glShaderStorageBlockBinding         rglShaderStorageBlockBinding\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_SHADER_STORAGE_BUFFER_OBJECT\nREGAL_DECL void REGAL_CALL glShaderStorageBlockBinding(GLuint program, GLuint storageBlockIndex, GLuint storageBlockBinding);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_SHADER_STORAGE_BUFFER_OBJECT\nREGAL_DECL void REGAL_CALL plugin_glShaderStorageBlockBinding(GLuint program, GLuint storageBlockIndex, GLuint storageBlockBinding);\n#endif\n\n/**\n ** GL_ARB_shader_subroutine\n **/\n\n#if (defined(GL_ARB_SHADER_SUBROUTINE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_SHADER_SUBROUTINE)) && !defined(REGAL_NO_ENUM_GL_ARB_SHADER_SUBROUTINE)\n#define REGAL_NO_ENUM_GL_ARB_SHADER_SUBROUTINE\n#endif\n\n#if (defined(GL_ARB_SHADER_SUBROUTINE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_SHADER_SUBROUTINE)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_SHADER_SUBROUTINE)\n#define REGAL_NO_TYPEDEF_GL_ARB_SHADER_SUBROUTINE\n#endif\n\n#if (defined(GL_ARB_SHADER_SUBROUTINE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_SHADER_SUBROUTINE)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_SHADER_SUBROUTINE)\n#define REGAL_NO_NAMESPACE_GL_ARB_SHADER_SUBROUTINE\n#endif\n\n#if (defined(GL_ARB_SHADER_SUBROUTINE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_SHADER_SUBROUTINE)) && !defined(REGAL_NO_PLUGIN_GL_ARB_SHADER_SUBROUTINE)\n#define REGAL_NO_PLUGIN_GL_ARB_SHADER_SUBROUTINE\n#endif\n\n#if (defined(GL_ARB_SHADER_SUBROUTINE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_SHADER_SUBROUTINE)) && !defined(REGAL_NO_DECLARATION_GL_ARB_SHADER_SUBROUTINE)\n#define REGAL_NO_DECLARATION_GL_ARB_SHADER_SUBROUTINE\n#endif\n\n#ifndef GL_ARB_shader_subroutine\n#define GL_ARB_shader_subroutine 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_SHADER_SUBROUTINE\n#define GL_ACTIVE_SUBROUTINES                   0x8de5     /* 36325 */\n#define GL_ACTIVE_SUBROUTINE_UNIFORMS           0x8de6     /* 36326 */\n#define GL_MAX_SUBROUTINES                      0x8de7     /* 36327 */\n#define GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS     0x8de8     /* 36328 */\n#define GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS  0x8e47     /* 36423 */\n#define GL_ACTIVE_SUBROUTINE_MAX_LENGTH         0x8e48     /* 36424 */\n#define GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH 0x8e49     /* 36425 */\n#define GL_NUM_COMPATIBLE_SUBROUTINES           0x8e4a     /* 36426 */\n#define GL_COMPATIBLE_SUBROUTINES               0x8e4b     /* 36427 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_SHADER_SUBROUTINE\ntypedef GLint (REGAL_CALL *PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC)(GLuint program, GLenum shaderType, const GLchar *name);\ntypedef GLuint (REGAL_CALL *PFNGLGETSUBROUTINEINDEXPROC)(GLuint program, GLenum shaderType, const GLchar *name);\ntypedef void (REGAL_CALL *PFNGLGETACTIVESUBROUTINENAMEPROC)(GLuint program, GLenum shaderType, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name);\ntypedef void (REGAL_CALL *PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC)(GLuint program, GLenum shaderType, GLuint index, GLenum pname, GLint *values);\ntypedef void (REGAL_CALL *PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC)(GLuint program, GLenum shaderType, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name);\ntypedef void (REGAL_CALL *PFNGLGETPROGRAMSTAGEIVPROC)(GLuint program, GLenum shaderType, GLenum pname, GLint *values);\ntypedef void (REGAL_CALL *PFNGLGETPROGRAMSUBROUTINEPARAMETERUIVNVPROC)(GLenum target, GLuint index, GLuint *params);\ntypedef void (REGAL_CALL *PFNGLGETUNIFORMSUBROUTINEUIVPROC)(GLenum shaderType, GLint location, GLuint *params);\ntypedef void (REGAL_CALL *PFNGLPROGRAMSUBROUTINEPARAMETERSUIVNVPROC)(GLenum target, GLsizei count, const GLuint *params);\ntypedef void (REGAL_CALL *PFNGLUNIFORMSUBROUTINESUIVPROC)(GLenum shaderType, GLsizei count, const GLuint *indices);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_SHADER_SUBROUTINE\n#define glGetActiveSubroutineName           rglGetActiveSubroutineName\n#define glGetActiveSubroutineUniformName    rglGetActiveSubroutineUniformName\n#define glGetActiveSubroutineUniformiv      rglGetActiveSubroutineUniformiv\n#define glGetProgramStageiv                 rglGetProgramStageiv\n#define glGetProgramSubroutineParameteruivNV rglGetProgramSubroutineParameteruivNV\n#define glGetSubroutineIndex                rglGetSubroutineIndex\n#define glGetSubroutineUniformLocation      rglGetSubroutineUniformLocation\n#define glGetUniformSubroutineuiv           rglGetUniformSubroutineuiv\n#define glProgramSubroutineParametersuivNV  rglProgramSubroutineParametersuivNV\n#define glUniformSubroutinesuiv             rglUniformSubroutinesuiv\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_SHADER_SUBROUTINE\nREGAL_DECL GLint REGAL_CALL glGetSubroutineUniformLocation(GLuint program, GLenum shaderType, const GLchar *name);\nREGAL_DECL GLuint REGAL_CALL glGetSubroutineIndex(GLuint program, GLenum shaderType, const GLchar *name);\nREGAL_DECL void REGAL_CALL glGetActiveSubroutineName(GLuint program, GLenum shaderType, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name);\nREGAL_DECL void REGAL_CALL glGetActiveSubroutineUniformName(GLuint program, GLenum shaderType, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name);\nREGAL_DECL void REGAL_CALL glGetActiveSubroutineUniformiv(GLuint program, GLenum shaderType, GLuint index, GLenum pname, GLint *values);\nREGAL_DECL void REGAL_CALL glGetProgramStageiv(GLuint program, GLenum shaderType, GLenum pname, GLint *values);\nREGAL_DECL void REGAL_CALL glGetProgramSubroutineParameteruivNV(GLenum target, GLuint index, GLuint *params);\nREGAL_DECL void REGAL_CALL glGetUniformSubroutineuiv(GLenum shaderType, GLint location, GLuint *params);\nREGAL_DECL void REGAL_CALL glProgramSubroutineParametersuivNV(GLenum target, GLsizei count, const GLuint *params);\nREGAL_DECL void REGAL_CALL glUniformSubroutinesuiv(GLenum shaderType, GLsizei count, const GLuint *indices);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_SHADER_SUBROUTINE\nREGAL_DECL GLint REGAL_CALL plugin_glGetSubroutineUniformLocation(GLuint program, GLenum shaderType, const GLchar *name);\nREGAL_DECL GLuint REGAL_CALL plugin_glGetSubroutineIndex(GLuint program, GLenum shaderType, const GLchar *name);\nREGAL_DECL void REGAL_CALL plugin_glGetActiveSubroutineName(GLuint program, GLenum shaderType, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name);\nREGAL_DECL void REGAL_CALL plugin_glGetActiveSubroutineUniformName(GLuint program, GLenum shaderType, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name);\nREGAL_DECL void REGAL_CALL plugin_glGetActiveSubroutineUniformiv(GLuint program, GLenum shaderType, GLuint index, GLenum pname, GLint *values);\nREGAL_DECL void REGAL_CALL plugin_glGetProgramStageiv(GLuint program, GLenum shaderType, GLenum pname, GLint *values);\nREGAL_DECL void REGAL_CALL plugin_glGetProgramSubroutineParameteruivNV(GLenum target, GLuint index, GLuint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetUniformSubroutineuiv(GLenum shaderType, GLint location, GLuint *params);\nREGAL_DECL void REGAL_CALL plugin_glProgramSubroutineParametersuivNV(GLenum target, GLsizei count, const GLuint *params);\nREGAL_DECL void REGAL_CALL plugin_glUniformSubroutinesuiv(GLenum shaderType, GLsizei count, const GLuint *indices);\n#endif\n\n/**\n ** GL_ARB_shading_language_100\n **/\n\n#if (defined(GL_ARB_SHADING_LANGUAGE_100) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_SHADING_LANGUAGE_100)) && !defined(REGAL_NO_ENUM_GL_ARB_SHADING_LANGUAGE_100)\n#define REGAL_NO_ENUM_GL_ARB_SHADING_LANGUAGE_100\n#endif\n\n#if (defined(GL_ARB_SHADING_LANGUAGE_100) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_SHADING_LANGUAGE_100)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_SHADING_LANGUAGE_100)\n#define REGAL_NO_TYPEDEF_GL_ARB_SHADING_LANGUAGE_100\n#endif\n\n#if (defined(GL_ARB_SHADING_LANGUAGE_100) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_SHADING_LANGUAGE_100)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_SHADING_LANGUAGE_100)\n#define REGAL_NO_NAMESPACE_GL_ARB_SHADING_LANGUAGE_100\n#endif\n\n#if (defined(GL_ARB_SHADING_LANGUAGE_100) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_SHADING_LANGUAGE_100)) && !defined(REGAL_NO_PLUGIN_GL_ARB_SHADING_LANGUAGE_100)\n#define REGAL_NO_PLUGIN_GL_ARB_SHADING_LANGUAGE_100\n#endif\n\n#if (defined(GL_ARB_SHADING_LANGUAGE_100) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_SHADING_LANGUAGE_100)) && !defined(REGAL_NO_DECLARATION_GL_ARB_SHADING_LANGUAGE_100)\n#define REGAL_NO_DECLARATION_GL_ARB_SHADING_LANGUAGE_100\n#endif\n\n#ifndef GL_ARB_shading_language_100\n#define GL_ARB_shading_language_100 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_SHADING_LANGUAGE_100\n#define GL_SHADING_LANGUAGE_VERSION_ARB 0x8b8c /* 35724 */\n#endif\n\n/**\n ** GL_ARB_shading_language_include\n **/\n\n#if (defined(GL_ARB_SHADING_LANGUAGE_INCLUDE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_SHADING_LANGUAGE_INCLUDE)) && !defined(REGAL_NO_ENUM_GL_ARB_SHADING_LANGUAGE_INCLUDE)\n#define REGAL_NO_ENUM_GL_ARB_SHADING_LANGUAGE_INCLUDE\n#endif\n\n#if (defined(GL_ARB_SHADING_LANGUAGE_INCLUDE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_SHADING_LANGUAGE_INCLUDE)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_SHADING_LANGUAGE_INCLUDE)\n#define REGAL_NO_TYPEDEF_GL_ARB_SHADING_LANGUAGE_INCLUDE\n#endif\n\n#if (defined(GL_ARB_SHADING_LANGUAGE_INCLUDE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_SHADING_LANGUAGE_INCLUDE)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_SHADING_LANGUAGE_INCLUDE)\n#define REGAL_NO_NAMESPACE_GL_ARB_SHADING_LANGUAGE_INCLUDE\n#endif\n\n#if (defined(GL_ARB_SHADING_LANGUAGE_INCLUDE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_SHADING_LANGUAGE_INCLUDE)) && !defined(REGAL_NO_PLUGIN_GL_ARB_SHADING_LANGUAGE_INCLUDE)\n#define REGAL_NO_PLUGIN_GL_ARB_SHADING_LANGUAGE_INCLUDE\n#endif\n\n#if (defined(GL_ARB_SHADING_LANGUAGE_INCLUDE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_SHADING_LANGUAGE_INCLUDE)) && !defined(REGAL_NO_DECLARATION_GL_ARB_SHADING_LANGUAGE_INCLUDE)\n#define REGAL_NO_DECLARATION_GL_ARB_SHADING_LANGUAGE_INCLUDE\n#endif\n\n#ifndef GL_ARB_shading_language_include\n#define GL_ARB_shading_language_include 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_SHADING_LANGUAGE_INCLUDE\n#define GL_SHADER_INCLUDE_ARB      0x8dae     /* 36270 */\n#define GL_NAMED_STRING_LENGTH_ARB 0x8de9     /* 36329 */\n#define GL_NAMED_STRING_TYPE_ARB   0x8dea     /* 36330 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_SHADING_LANGUAGE_INCLUDE\ntypedef GLboolean (REGAL_CALL *PFNGLISNAMEDSTRINGARBPROC)(GLint namelen, const GLchar *name);\ntypedef void (REGAL_CALL *PFNGLCOMPILESHADERINCLUDEARBPROC)(GLuint shader, GLsizei count, const GLchar **path, const GLint *length);\ntypedef void (REGAL_CALL *PFNGLDELETENAMEDSTRINGARBPROC)(GLint namelen, const GLchar *name);\ntypedef void (REGAL_CALL *PFNGLGETNAMEDSTRINGARBPROC)(GLint namelen, const GLchar *name, GLsizei bufSize, GLint *stringlen, GLchar *string);\ntypedef void (REGAL_CALL *PFNGLGETNAMEDSTRINGIVARBPROC)(GLint namelen, const GLchar *name, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLNAMEDSTRINGARBPROC)(GLenum type, GLint namelen, const GLchar *name, GLint stringlen, const GLchar *string);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_SHADING_LANGUAGE_INCLUDE\n#define glCompileShaderIncludeARB           rglCompileShaderIncludeARB\n#define glDeleteNamedStringARB              rglDeleteNamedStringARB\n#define glGetNamedStringARB                 rglGetNamedStringARB\n#define glGetNamedStringivARB               rglGetNamedStringivARB\n#define glIsNamedStringARB                  rglIsNamedStringARB\n#define glNamedStringARB                    rglNamedStringARB\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_SHADING_LANGUAGE_INCLUDE\nREGAL_DECL GLboolean REGAL_CALL glIsNamedStringARB(GLint namelen, const GLchar *name);\nREGAL_DECL void REGAL_CALL glCompileShaderIncludeARB(GLuint shader, GLsizei count, const GLchar **path, const GLint *length);\nREGAL_DECL void REGAL_CALL glDeleteNamedStringARB(GLint namelen, const GLchar *name);\nREGAL_DECL void REGAL_CALL glGetNamedStringARB(GLint namelen, const GLchar *name, GLsizei bufSize, GLint *stringlen, GLchar *string);\nREGAL_DECL void REGAL_CALL glGetNamedStringivARB(GLint namelen, const GLchar *name, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glNamedStringARB(GLenum type, GLint namelen, const GLchar *name, GLint stringlen, const GLchar *string);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_SHADING_LANGUAGE_INCLUDE\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsNamedStringARB(GLint namelen, const GLchar *name);\nREGAL_DECL void REGAL_CALL plugin_glCompileShaderIncludeARB(GLuint shader, GLsizei count, const GLchar **path, const GLint *length);\nREGAL_DECL void REGAL_CALL plugin_glDeleteNamedStringARB(GLint namelen, const GLchar *name);\nREGAL_DECL void REGAL_CALL plugin_glGetNamedStringARB(GLint namelen, const GLchar *name, GLsizei bufSize, GLint *stringlen, GLchar *string);\nREGAL_DECL void REGAL_CALL plugin_glGetNamedStringivARB(GLint namelen, const GLchar *name, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glNamedStringARB(GLenum type, GLint namelen, const GLchar *name, GLint stringlen, const GLchar *string);\n#endif\n\n/**\n ** GL_ARB_shadow\n **/\n\n#if (defined(GL_ARB_SHADOW) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_SHADOW)) && !defined(REGAL_NO_ENUM_GL_ARB_SHADOW)\n#define REGAL_NO_ENUM_GL_ARB_SHADOW\n#endif\n\n#if (defined(GL_ARB_SHADOW) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_SHADOW)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_SHADOW)\n#define REGAL_NO_TYPEDEF_GL_ARB_SHADOW\n#endif\n\n#if (defined(GL_ARB_SHADOW) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_SHADOW)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_SHADOW)\n#define REGAL_NO_NAMESPACE_GL_ARB_SHADOW\n#endif\n\n#if (defined(GL_ARB_SHADOW) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_SHADOW)) && !defined(REGAL_NO_PLUGIN_GL_ARB_SHADOW)\n#define REGAL_NO_PLUGIN_GL_ARB_SHADOW\n#endif\n\n#if (defined(GL_ARB_SHADOW) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_SHADOW)) && !defined(REGAL_NO_DECLARATION_GL_ARB_SHADOW)\n#define REGAL_NO_DECLARATION_GL_ARB_SHADOW\n#endif\n\n#ifndef GL_ARB_shadow\n#define GL_ARB_shadow 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_SHADOW\n#define GL_TEXTURE_COMPARE_MODE_ARB 0x884c     /* 34892 */\n#define GL_TEXTURE_COMPARE_FUNC_ARB 0x884d     /* 34893 */\n#define GL_COMPARE_R_TO_TEXTURE_ARB 0x884e     /* 34894 */\n#endif\n\n/**\n ** GL_ARB_shadow_ambient\n **/\n\n#if (defined(GL_ARB_SHADOW_AMBIENT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_SHADOW_AMBIENT)) && !defined(REGAL_NO_ENUM_GL_ARB_SHADOW_AMBIENT)\n#define REGAL_NO_ENUM_GL_ARB_SHADOW_AMBIENT\n#endif\n\n#if (defined(GL_ARB_SHADOW_AMBIENT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_SHADOW_AMBIENT)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_SHADOW_AMBIENT)\n#define REGAL_NO_TYPEDEF_GL_ARB_SHADOW_AMBIENT\n#endif\n\n#if (defined(GL_ARB_SHADOW_AMBIENT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_SHADOW_AMBIENT)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_SHADOW_AMBIENT)\n#define REGAL_NO_NAMESPACE_GL_ARB_SHADOW_AMBIENT\n#endif\n\n#if (defined(GL_ARB_SHADOW_AMBIENT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_SHADOW_AMBIENT)) && !defined(REGAL_NO_PLUGIN_GL_ARB_SHADOW_AMBIENT)\n#define REGAL_NO_PLUGIN_GL_ARB_SHADOW_AMBIENT\n#endif\n\n#if (defined(GL_ARB_SHADOW_AMBIENT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_SHADOW_AMBIENT)) && !defined(REGAL_NO_DECLARATION_GL_ARB_SHADOW_AMBIENT)\n#define REGAL_NO_DECLARATION_GL_ARB_SHADOW_AMBIENT\n#endif\n\n#ifndef GL_ARB_shadow_ambient\n#define GL_ARB_shadow_ambient 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_SHADOW_AMBIENT\n#define GL_TEXTURE_COMPARE_FAIL_VALUE_ARB 0x80bf /* 32959 */\n#endif\n\n/**\n ** GL_ARB_sparse_texture\n **/\n\n#if (defined(GL_ARB_SPARSE_TEXTURE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_SPARSE_TEXTURE)) && !defined(REGAL_NO_ENUM_GL_ARB_SPARSE_TEXTURE)\n#define REGAL_NO_ENUM_GL_ARB_SPARSE_TEXTURE\n#endif\n\n#if (defined(GL_ARB_SPARSE_TEXTURE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_SPARSE_TEXTURE)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_SPARSE_TEXTURE)\n#define REGAL_NO_TYPEDEF_GL_ARB_SPARSE_TEXTURE\n#endif\n\n#if (defined(GL_ARB_SPARSE_TEXTURE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_SPARSE_TEXTURE)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_SPARSE_TEXTURE)\n#define REGAL_NO_NAMESPACE_GL_ARB_SPARSE_TEXTURE\n#endif\n\n#if (defined(GL_ARB_SPARSE_TEXTURE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_SPARSE_TEXTURE)) && !defined(REGAL_NO_PLUGIN_GL_ARB_SPARSE_TEXTURE)\n#define REGAL_NO_PLUGIN_GL_ARB_SPARSE_TEXTURE\n#endif\n\n#if (defined(GL_ARB_SPARSE_TEXTURE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_SPARSE_TEXTURE)) && !defined(REGAL_NO_DECLARATION_GL_ARB_SPARSE_TEXTURE)\n#define REGAL_NO_DECLARATION_GL_ARB_SPARSE_TEXTURE\n#endif\n\n#ifndef GL_ARB_sparse_texture\n#define GL_ARB_sparse_texture 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_SPARSE_TEXTURE\n#define GL_VIRTUAL_PAGE_SIZE_X_ARB                    0x9195     /* 37269 */\n#define GL_VIRTUAL_PAGE_SIZE_Y_ARB                    0x9196     /* 37270 */\n#define GL_VIRTUAL_PAGE_SIZE_Z_ARB                    0x9197     /* 37271 */\n#define GL_MAX_SPARSE_TEXTURE_SIZE_ARB                0x9198     /* 37272 */\n#define GL_MAX_SPARSE_3D_TEXTURE_SIZE_ARB             0x9199     /* 37273 */\n#define GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS_ARB        0x919a     /* 37274 */\n#define GL_TEXTURE_SPARSE_ARB                         0x91a6     /* 37286 */\n#define GL_VIRTUAL_PAGE_SIZE_INDEX_ARB                0x91a7     /* 37287 */\n#define GL_NUM_VIRTUAL_PAGE_SIZES_ARB                 0x91a8     /* 37288 */\n#define GL_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_ARB 0x91a9     /* 37289 */\n#define GL_NUM_SPARSE_LEVELS_ARB                      0x91aa     /* 37290 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_SPARSE_TEXTURE\ntypedef void (REGAL_CALL *PFNGLTEXPAGECOMMITMENTARBPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean commit);\ntypedef void (REGAL_CALL *PFNGLTEXTUREPAGECOMMITMENTEXTPROC)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean commit);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_SPARSE_TEXTURE\n#define glTexPageCommitmentARB              rglTexPageCommitmentARB\n#define glTexturePageCommitmentEXT          rglTexturePageCommitmentEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_SPARSE_TEXTURE\nREGAL_DECL void REGAL_CALL glTexPageCommitmentARB(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean commit);\nREGAL_DECL void REGAL_CALL glTexturePageCommitmentEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean commit);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_SPARSE_TEXTURE\nREGAL_DECL void REGAL_CALL plugin_glTexPageCommitmentARB(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean commit);\nREGAL_DECL void REGAL_CALL plugin_glTexturePageCommitmentEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean commit);\n#endif\n\n/**\n ** GL_ARB_stencil_texturing\n **/\n\n#if (defined(GL_ARB_STENCIL_TEXTURING) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_STENCIL_TEXTURING)) && !defined(REGAL_NO_ENUM_GL_ARB_STENCIL_TEXTURING)\n#define REGAL_NO_ENUM_GL_ARB_STENCIL_TEXTURING\n#endif\n\n#if (defined(GL_ARB_STENCIL_TEXTURING) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_STENCIL_TEXTURING)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_STENCIL_TEXTURING)\n#define REGAL_NO_TYPEDEF_GL_ARB_STENCIL_TEXTURING\n#endif\n\n#if (defined(GL_ARB_STENCIL_TEXTURING) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_STENCIL_TEXTURING)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_STENCIL_TEXTURING)\n#define REGAL_NO_NAMESPACE_GL_ARB_STENCIL_TEXTURING\n#endif\n\n#if (defined(GL_ARB_STENCIL_TEXTURING) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_STENCIL_TEXTURING)) && !defined(REGAL_NO_PLUGIN_GL_ARB_STENCIL_TEXTURING)\n#define REGAL_NO_PLUGIN_GL_ARB_STENCIL_TEXTURING\n#endif\n\n#if (defined(GL_ARB_STENCIL_TEXTURING) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_STENCIL_TEXTURING)) && !defined(REGAL_NO_DECLARATION_GL_ARB_STENCIL_TEXTURING)\n#define REGAL_NO_DECLARATION_GL_ARB_STENCIL_TEXTURING\n#endif\n\n#ifndef GL_ARB_stencil_texturing\n#define GL_ARB_stencil_texturing 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_STENCIL_TEXTURING\n#define GL_DEPTH_STENCIL_TEXTURE_MODE 0x90ea /* 37098 */\n#endif\n\n/**\n ** GL_ARB_sync\n **/\n\n#if (defined(GL_ARB_SYNC) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_SYNC)) && !defined(REGAL_NO_ENUM_GL_ARB_SYNC)\n#define REGAL_NO_ENUM_GL_ARB_SYNC\n#endif\n\n#if (defined(GL_ARB_SYNC) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_SYNC)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_SYNC)\n#define REGAL_NO_TYPEDEF_GL_ARB_SYNC\n#endif\n\n#if (defined(GL_ARB_SYNC) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_SYNC)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_SYNC)\n#define REGAL_NO_NAMESPACE_GL_ARB_SYNC\n#endif\n\n#if (defined(GL_ARB_SYNC) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_SYNC)) && !defined(REGAL_NO_PLUGIN_GL_ARB_SYNC)\n#define REGAL_NO_PLUGIN_GL_ARB_SYNC\n#endif\n\n#if (defined(GL_ARB_SYNC) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_SYNC)) && !defined(REGAL_NO_DECLARATION_GL_ARB_SYNC)\n#define REGAL_NO_DECLARATION_GL_ARB_SYNC\n#endif\n\n#ifndef GL_ARB_sync\n#define GL_ARB_sync 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_SYNC\n#define GL_SYNC_FLUSH_COMMANDS_BIT    0x1\n#define GL_MAX_SERVER_WAIT_TIMEOUT    0x9111                 /* 37137 */\n#define GL_OBJECT_TYPE                0x9112                 /* 37138 */\n#define GL_SYNC_CONDITION             0x9113                 /* 37139 */\n#define GL_SYNC_STATUS                0x9114                 /* 37140 */\n#define GL_SYNC_FLAGS                 0x9115                 /* 37141 */\n#define GL_SYNC_FENCE                 0x9116                 /* 37142 */\n#define GL_SYNC_GPU_COMMANDS_COMPLETE 0x9117                 /* 37143 */\n#define GL_UNSIGNALED                 0x9118                 /* 37144 */\n#define GL_SIGNALED                   0x9119                 /* 37145 */\n#define GL_ALREADY_SIGNALED           0x911a                 /* 37146 */\n#define GL_TIMEOUT_EXPIRED            0x911b                 /* 37147 */\n#define GL_CONDITION_SATISFIED        0x911c                 /* 37148 */\n#define GL_WAIT_FAILED                0x911d                 /* 37149 */\n#define GL_TIMEOUT_IGNORED            0xffffffffffffffff     /* 18446744073709551615 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_SYNC\ntypedef GLboolean (REGAL_CALL *PFNGLISSYNCPROC)(GLsync sync);\ntypedef GLenum (REGAL_CALL *PFNGLCLIENTWAITSYNCPROC)(GLsync sync, GLbitfield flags, GLuint64 timeout);\ntypedef GLsync (REGAL_CALL *PFNGLFENCESYNCPROC)(GLenum condition, GLbitfield flags);\ntypedef void (REGAL_CALL *PFNGLDELETESYNCPROC)(GLsync sync);\ntypedef void (REGAL_CALL *PFNGLGETINTEGER64VPROC)(GLenum pname, GLint64 *params);\ntypedef void (REGAL_CALL *PFNGLGETSYNCIVPROC)(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);\ntypedef void (REGAL_CALL *PFNGLWAITSYNCPROC)(GLsync sync, GLbitfield flags, GLuint64 timeout);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_SYNC\n#define glClientWaitSync                    rglClientWaitSync\n#define glDeleteSync                        rglDeleteSync\n#define glFenceSync                         rglFenceSync\n#define glGetInteger64v                     rglGetInteger64v\n#define glGetSynciv                         rglGetSynciv\n#define glIsSync                            rglIsSync\n#define glWaitSync                          rglWaitSync\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_SYNC\nREGAL_DECL GLboolean REGAL_CALL glIsSync(GLsync sync);\nREGAL_DECL GLenum REGAL_CALL glClientWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout);\nREGAL_DECL GLsync REGAL_CALL glFenceSync(GLenum condition, GLbitfield flags);\nREGAL_DECL void REGAL_CALL glDeleteSync(GLsync sync);\nREGAL_DECL void REGAL_CALL glGetInteger64v(GLenum pname, GLint64 *params);\nREGAL_DECL void REGAL_CALL glGetSynciv(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);\nREGAL_DECL void REGAL_CALL glWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_SYNC\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsSync(GLsync sync);\nREGAL_DECL GLenum REGAL_CALL plugin_glClientWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout);\nREGAL_DECL GLsync REGAL_CALL plugin_glFenceSync(GLenum condition, GLbitfield flags);\nREGAL_DECL void REGAL_CALL plugin_glDeleteSync(GLsync sync);\nREGAL_DECL void REGAL_CALL plugin_glGetInteger64v(GLenum pname, GLint64 *params);\nREGAL_DECL void REGAL_CALL plugin_glGetSynciv(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);\nREGAL_DECL void REGAL_CALL plugin_glWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout);\n#endif\n\n/**\n ** GL_ARB_tessellation_shader\n **/\n\n#if (defined(GL_ARB_TESSELLATION_SHADER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_TESSELLATION_SHADER)) && !defined(REGAL_NO_ENUM_GL_ARB_TESSELLATION_SHADER)\n#define REGAL_NO_ENUM_GL_ARB_TESSELLATION_SHADER\n#endif\n\n#if (defined(GL_ARB_TESSELLATION_SHADER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_TESSELLATION_SHADER)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_TESSELLATION_SHADER)\n#define REGAL_NO_TYPEDEF_GL_ARB_TESSELLATION_SHADER\n#endif\n\n#if (defined(GL_ARB_TESSELLATION_SHADER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_TESSELLATION_SHADER)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_TESSELLATION_SHADER)\n#define REGAL_NO_NAMESPACE_GL_ARB_TESSELLATION_SHADER\n#endif\n\n#if (defined(GL_ARB_TESSELLATION_SHADER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_TESSELLATION_SHADER)) && !defined(REGAL_NO_PLUGIN_GL_ARB_TESSELLATION_SHADER)\n#define REGAL_NO_PLUGIN_GL_ARB_TESSELLATION_SHADER\n#endif\n\n#if (defined(GL_ARB_TESSELLATION_SHADER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_TESSELLATION_SHADER)) && !defined(REGAL_NO_DECLARATION_GL_ARB_TESSELLATION_SHADER)\n#define REGAL_NO_DECLARATION_GL_ARB_TESSELLATION_SHADER\n#endif\n\n#ifndef GL_ARB_tessellation_shader\n#define GL_ARB_tessellation_shader 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_TESSELLATION_SHADER\n#define GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER    0x84f0     /* 34032 */\n#define GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER 0x84f1     /* 34033 */\n#define GL_MAX_TESS_CONTROL_INPUT_COMPONENTS                  0x886c     /* 34924 */\n#define GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS               0x886d     /* 34925 */\n#define GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS       0x8e1e     /* 36382 */\n#define GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS    0x8e1f     /* 36383 */\n#define GL_PATCH_VERTICES                                     0x8e72     /* 36466 */\n#define GL_PATCH_DEFAULT_INNER_LEVEL                          0x8e73     /* 36467 */\n#define GL_PATCH_DEFAULT_OUTER_LEVEL                          0x8e74     /* 36468 */\n#define GL_TESS_CONTROL_OUTPUT_VERTICES                       0x8e75     /* 36469 */\n#define GL_TESS_GEN_MODE                                      0x8e76     /* 36470 */\n#define GL_TESS_GEN_SPACING                                   0x8e77     /* 36471 */\n#define GL_TESS_GEN_VERTEX_ORDER                              0x8e78     /* 36472 */\n#define GL_TESS_GEN_POINT_MODE                                0x8e79     /* 36473 */\n#define GL_ISOLINES                                           0x8e7a     /* 36474 */\n#define GL_FRACTIONAL_ODD                                     0x8e7b     /* 36475 */\n#define GL_FRACTIONAL_EVEN                                    0x8e7c     /* 36476 */\n#define GL_MAX_PATCH_VERTICES                                 0x8e7d     /* 36477 */\n#define GL_MAX_TESS_GEN_LEVEL                                 0x8e7e     /* 36478 */\n#define GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS                0x8e7f     /* 36479 */\n#define GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS             0x8e80     /* 36480 */\n#define GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS               0x8e81     /* 36481 */\n#define GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS            0x8e82     /* 36482 */\n#define GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS                 0x8e83     /* 36483 */\n#define GL_MAX_TESS_PATCH_COMPONENTS                          0x8e84     /* 36484 */\n#define GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS           0x8e85     /* 36485 */\n#define GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS              0x8e86     /* 36486 */\n#define GL_TESS_EVALUATION_SHADER                             0x8e87     /* 36487 */\n#define GL_TESS_CONTROL_SHADER                                0x8e88     /* 36488 */\n#define GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS                    0x8e89     /* 36489 */\n#define GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS                 0x8e8a     /* 36490 */\n#define GL_PATCHES                                            0xe        /* 14 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_TESSELLATION_SHADER\ntypedef void (REGAL_CALL *PFNGLPATCHPARAMETERFVPROC)(GLenum pname, const GLfloat *values);\ntypedef void (REGAL_CALL *PFNGLPATCHPARAMETERIPROC)(GLenum pname, GLint value);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_TESSELLATION_SHADER\n#define glPatchParameterfv                  rglPatchParameterfv\n#define glPatchParameteri                   rglPatchParameteri\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_TESSELLATION_SHADER\nREGAL_DECL void REGAL_CALL glPatchParameterfv(GLenum pname, const GLfloat *values);\nREGAL_DECL void REGAL_CALL glPatchParameteri(GLenum pname, GLint value);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_TESSELLATION_SHADER\nREGAL_DECL void REGAL_CALL plugin_glPatchParameterfv(GLenum pname, const GLfloat *values);\nREGAL_DECL void REGAL_CALL plugin_glPatchParameteri(GLenum pname, GLint value);\n#endif\n\n/**\n ** GL_ARB_texture_border_clamp\n **/\n\n#if (defined(GL_ARB_TEXTURE_BORDER_CLAMP) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_TEXTURE_BORDER_CLAMP)) && !defined(REGAL_NO_ENUM_GL_ARB_TEXTURE_BORDER_CLAMP)\n#define REGAL_NO_ENUM_GL_ARB_TEXTURE_BORDER_CLAMP\n#endif\n\n#if (defined(GL_ARB_TEXTURE_BORDER_CLAMP) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_TEXTURE_BORDER_CLAMP)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_BORDER_CLAMP)\n#define REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_BORDER_CLAMP\n#endif\n\n#if (defined(GL_ARB_TEXTURE_BORDER_CLAMP) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_TEXTURE_BORDER_CLAMP)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_BORDER_CLAMP)\n#define REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_BORDER_CLAMP\n#endif\n\n#if (defined(GL_ARB_TEXTURE_BORDER_CLAMP) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_TEXTURE_BORDER_CLAMP)) && !defined(REGAL_NO_PLUGIN_GL_ARB_TEXTURE_BORDER_CLAMP)\n#define REGAL_NO_PLUGIN_GL_ARB_TEXTURE_BORDER_CLAMP\n#endif\n\n#if (defined(GL_ARB_TEXTURE_BORDER_CLAMP) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_TEXTURE_BORDER_CLAMP)) && !defined(REGAL_NO_DECLARATION_GL_ARB_TEXTURE_BORDER_CLAMP)\n#define REGAL_NO_DECLARATION_GL_ARB_TEXTURE_BORDER_CLAMP\n#endif\n\n#ifndef GL_ARB_texture_border_clamp\n#define GL_ARB_texture_border_clamp 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_TEXTURE_BORDER_CLAMP\n#define GL_CLAMP_TO_BORDER_ARB 0x812d /* 33069 */\n#endif\n\n/**\n ** GL_ARB_texture_buffer_object\n **/\n\n#if (defined(GL_ARB_TEXTURE_BUFFER_OBJECT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_TEXTURE_BUFFER_OBJECT)) && !defined(REGAL_NO_ENUM_GL_ARB_TEXTURE_BUFFER_OBJECT)\n#define REGAL_NO_ENUM_GL_ARB_TEXTURE_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_ARB_TEXTURE_BUFFER_OBJECT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_TEXTURE_BUFFER_OBJECT)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_BUFFER_OBJECT)\n#define REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_ARB_TEXTURE_BUFFER_OBJECT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_TEXTURE_BUFFER_OBJECT)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_BUFFER_OBJECT)\n#define REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_ARB_TEXTURE_BUFFER_OBJECT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_TEXTURE_BUFFER_OBJECT)) && !defined(REGAL_NO_PLUGIN_GL_ARB_TEXTURE_BUFFER_OBJECT)\n#define REGAL_NO_PLUGIN_GL_ARB_TEXTURE_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_ARB_TEXTURE_BUFFER_OBJECT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_TEXTURE_BUFFER_OBJECT)) && !defined(REGAL_NO_DECLARATION_GL_ARB_TEXTURE_BUFFER_OBJECT)\n#define REGAL_NO_DECLARATION_GL_ARB_TEXTURE_BUFFER_OBJECT\n#endif\n\n#ifndef GL_ARB_texture_buffer_object\n#define GL_ARB_texture_buffer_object 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_TEXTURE_BUFFER_OBJECT\n#define GL_TEXTURE_BUFFER_ARB                    0x8c2a     /* 35882 */\n#define GL_MAX_TEXTURE_BUFFER_SIZE_ARB           0x8c2b     /* 35883 */\n#define GL_TEXTURE_BINDING_BUFFER_ARB            0x8c2c     /* 35884 */\n#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING_ARB 0x8c2d     /* 35885 */\n#define GL_TEXTURE_BUFFER_FORMAT_ARB             0x8c2e     /* 35886 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_BUFFER_OBJECT\ntypedef void (REGAL_CALL *PFNGLTEXBUFFERARBPROC)(GLenum target, GLenum internalformat, GLuint buffer);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_BUFFER_OBJECT\n#define glTexBufferARB                      rglTexBufferARB\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_TEXTURE_BUFFER_OBJECT\nREGAL_DECL void REGAL_CALL glTexBufferARB(GLenum target, GLenum internalformat, GLuint buffer);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_TEXTURE_BUFFER_OBJECT\nREGAL_DECL void REGAL_CALL plugin_glTexBufferARB(GLenum target, GLenum internalformat, GLuint buffer);\n#endif\n\n/**\n ** GL_ARB_texture_buffer_range\n **/\n\n#if (defined(GL_ARB_TEXTURE_BUFFER_RANGE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_TEXTURE_BUFFER_RANGE)) && !defined(REGAL_NO_ENUM_GL_ARB_TEXTURE_BUFFER_RANGE)\n#define REGAL_NO_ENUM_GL_ARB_TEXTURE_BUFFER_RANGE\n#endif\n\n#if (defined(GL_ARB_TEXTURE_BUFFER_RANGE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_TEXTURE_BUFFER_RANGE)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_BUFFER_RANGE)\n#define REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_BUFFER_RANGE\n#endif\n\n#if (defined(GL_ARB_TEXTURE_BUFFER_RANGE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_TEXTURE_BUFFER_RANGE)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_BUFFER_RANGE)\n#define REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_BUFFER_RANGE\n#endif\n\n#if (defined(GL_ARB_TEXTURE_BUFFER_RANGE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_TEXTURE_BUFFER_RANGE)) && !defined(REGAL_NO_PLUGIN_GL_ARB_TEXTURE_BUFFER_RANGE)\n#define REGAL_NO_PLUGIN_GL_ARB_TEXTURE_BUFFER_RANGE\n#endif\n\n#if (defined(GL_ARB_TEXTURE_BUFFER_RANGE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_TEXTURE_BUFFER_RANGE)) && !defined(REGAL_NO_DECLARATION_GL_ARB_TEXTURE_BUFFER_RANGE)\n#define REGAL_NO_DECLARATION_GL_ARB_TEXTURE_BUFFER_RANGE\n#endif\n\n#ifndef GL_ARB_texture_buffer_range\n#define GL_ARB_texture_buffer_range 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_TEXTURE_BUFFER_RANGE\n#define GL_TEXTURE_BUFFER_OFFSET           0x919d     /* 37277 */\n#define GL_TEXTURE_BUFFER_SIZE             0x919e     /* 37278 */\n#define GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT 0x919f     /* 37279 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_BUFFER_RANGE\ntypedef void (REGAL_CALL *PFNGLTEXBUFFERRANGEPROC)(GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size);\ntypedef void (REGAL_CALL *PFNGLTEXTUREBUFFERRANGEEXTPROC)(GLuint texture, GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_BUFFER_RANGE\n#define glTexBufferRange                    rglTexBufferRange\n#define glTextureBufferRangeEXT             rglTextureBufferRangeEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_TEXTURE_BUFFER_RANGE\nREGAL_DECL void REGAL_CALL glTexBufferRange(GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size);\nREGAL_DECL void REGAL_CALL glTextureBufferRangeEXT(GLuint texture, GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_TEXTURE_BUFFER_RANGE\nREGAL_DECL void REGAL_CALL plugin_glTexBufferRange(GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size);\nREGAL_DECL void REGAL_CALL plugin_glTextureBufferRangeEXT(GLuint texture, GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size);\n#endif\n\n/**\n ** GL_ARB_texture_compression\n **/\n\n#if (defined(GL_ARB_TEXTURE_COMPRESSION) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_TEXTURE_COMPRESSION)) && !defined(REGAL_NO_ENUM_GL_ARB_TEXTURE_COMPRESSION)\n#define REGAL_NO_ENUM_GL_ARB_TEXTURE_COMPRESSION\n#endif\n\n#if (defined(GL_ARB_TEXTURE_COMPRESSION) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_TEXTURE_COMPRESSION)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_COMPRESSION)\n#define REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_COMPRESSION\n#endif\n\n#if (defined(GL_ARB_TEXTURE_COMPRESSION) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_TEXTURE_COMPRESSION)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_COMPRESSION)\n#define REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_COMPRESSION\n#endif\n\n#if (defined(GL_ARB_TEXTURE_COMPRESSION) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_TEXTURE_COMPRESSION)) && !defined(REGAL_NO_PLUGIN_GL_ARB_TEXTURE_COMPRESSION)\n#define REGAL_NO_PLUGIN_GL_ARB_TEXTURE_COMPRESSION\n#endif\n\n#if (defined(GL_ARB_TEXTURE_COMPRESSION) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_TEXTURE_COMPRESSION)) && !defined(REGAL_NO_DECLARATION_GL_ARB_TEXTURE_COMPRESSION)\n#define REGAL_NO_DECLARATION_GL_ARB_TEXTURE_COMPRESSION\n#endif\n\n#ifndef GL_ARB_texture_compression\n#define GL_ARB_texture_compression 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_TEXTURE_COMPRESSION\n#define GL_COMPRESSED_ALPHA_ARB               0x84e9     /* 34025 */\n#define GL_COMPRESSED_LUMINANCE_ARB           0x84ea     /* 34026 */\n#define GL_COMPRESSED_LUMINANCE_ALPHA_ARB     0x84eb     /* 34027 */\n#define GL_COMPRESSED_INTENSITY_ARB           0x84ec     /* 34028 */\n#define GL_COMPRESSED_RGB_ARB                 0x84ed     /* 34029 */\n#define GL_COMPRESSED_RGBA_ARB                0x84ee     /* 34030 */\n#define GL_TEXTURE_COMPRESSION_HINT_ARB       0x84ef     /* 34031 */\n#define GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB  0x86a0     /* 34464 */\n#define GL_TEXTURE_COMPRESSED_ARB             0x86a1     /* 34465 */\n#define GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB 0x86a2     /* 34466 */\n#define GL_COMPRESSED_TEXTURE_FORMATS_ARB     0x86a3     /* 34467 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_COMPRESSION\ntypedef void (REGAL_CALL *PFNGLCOMPRESSEDTEXIMAGE1DARBPROC)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data);\ntypedef void (REGAL_CALL *PFNGLCOMPRESSEDTEXIMAGE2DARBPROC)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data);\ntypedef void (REGAL_CALL *PFNGLCOMPRESSEDTEXIMAGE3DARBPROC)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data);\ntypedef void (REGAL_CALL *PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data);\ntypedef void (REGAL_CALL *PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data);\ntypedef void (REGAL_CALL *PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data);\ntypedef void (REGAL_CALL *PFNGLGETCOMPRESSEDTEXIMAGEARBPROC)(GLenum target, GLint lod, GLvoid *img);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_COMPRESSION\n#define glCompressedTexImage1DARB           rglCompressedTexImage1DARB\n#define glCompressedTexImage2DARB           rglCompressedTexImage2DARB\n#define glCompressedTexImage3DARB           rglCompressedTexImage3DARB\n#define glCompressedTexSubImage1DARB        rglCompressedTexSubImage1DARB\n#define glCompressedTexSubImage2DARB        rglCompressedTexSubImage2DARB\n#define glCompressedTexSubImage3DARB        rglCompressedTexSubImage3DARB\n#define glGetCompressedTexImageARB          rglGetCompressedTexImageARB\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_TEXTURE_COMPRESSION\nREGAL_DECL void REGAL_CALL glCompressedTexImage1DARB(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data);\nREGAL_DECL void REGAL_CALL glCompressedTexImage2DARB(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data);\nREGAL_DECL void REGAL_CALL glCompressedTexImage3DARB(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data);\nREGAL_DECL void REGAL_CALL glCompressedTexSubImage1DARB(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data);\nREGAL_DECL void REGAL_CALL glCompressedTexSubImage2DARB(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data);\nREGAL_DECL void REGAL_CALL glCompressedTexSubImage3DARB(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data);\nREGAL_DECL void REGAL_CALL glGetCompressedTexImageARB(GLenum target, GLint lod, GLvoid *img);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_TEXTURE_COMPRESSION\nREGAL_DECL void REGAL_CALL plugin_glCompressedTexImage1DARB(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data);\nREGAL_DECL void REGAL_CALL plugin_glCompressedTexImage2DARB(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data);\nREGAL_DECL void REGAL_CALL plugin_glCompressedTexImage3DARB(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data);\nREGAL_DECL void REGAL_CALL plugin_glCompressedTexSubImage1DARB(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data);\nREGAL_DECL void REGAL_CALL plugin_glCompressedTexSubImage2DARB(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data);\nREGAL_DECL void REGAL_CALL plugin_glCompressedTexSubImage3DARB(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data);\nREGAL_DECL void REGAL_CALL plugin_glGetCompressedTexImageARB(GLenum target, GLint lod, GLvoid *img);\n#endif\n\n/**\n ** GL_ARB_texture_compression_bptc\n **/\n\n#if (defined(GL_ARB_TEXTURE_COMPRESSION_BPTC) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_TEXTURE_COMPRESSION_BPTC)) && !defined(REGAL_NO_ENUM_GL_ARB_TEXTURE_COMPRESSION_BPTC)\n#define REGAL_NO_ENUM_GL_ARB_TEXTURE_COMPRESSION_BPTC\n#endif\n\n#if (defined(GL_ARB_TEXTURE_COMPRESSION_BPTC) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_TEXTURE_COMPRESSION_BPTC)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_COMPRESSION_BPTC)\n#define REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_COMPRESSION_BPTC\n#endif\n\n#if (defined(GL_ARB_TEXTURE_COMPRESSION_BPTC) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_TEXTURE_COMPRESSION_BPTC)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_COMPRESSION_BPTC)\n#define REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_COMPRESSION_BPTC\n#endif\n\n#if (defined(GL_ARB_TEXTURE_COMPRESSION_BPTC) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_TEXTURE_COMPRESSION_BPTC)) && !defined(REGAL_NO_PLUGIN_GL_ARB_TEXTURE_COMPRESSION_BPTC)\n#define REGAL_NO_PLUGIN_GL_ARB_TEXTURE_COMPRESSION_BPTC\n#endif\n\n#if (defined(GL_ARB_TEXTURE_COMPRESSION_BPTC) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_TEXTURE_COMPRESSION_BPTC)) && !defined(REGAL_NO_DECLARATION_GL_ARB_TEXTURE_COMPRESSION_BPTC)\n#define REGAL_NO_DECLARATION_GL_ARB_TEXTURE_COMPRESSION_BPTC\n#endif\n\n#ifndef GL_ARB_texture_compression_bptc\n#define GL_ARB_texture_compression_bptc 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_TEXTURE_COMPRESSION_BPTC\n#define GL_COMPRESSED_RGBA_BPTC_UNORM_ARB         0x8e8c     /* 36492 */\n#define GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB   0x8e8d     /* 36493 */\n#define GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB   0x8e8e     /* 36494 */\n#define GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB 0x8e8f     /* 36495 */\n#endif\n\n/**\n ** GL_ARB_texture_compression_rgtc\n **/\n\n#if (defined(GL_ARB_TEXTURE_COMPRESSION_RGTC) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_TEXTURE_COMPRESSION_RGTC)) && !defined(REGAL_NO_ENUM_GL_ARB_TEXTURE_COMPRESSION_RGTC)\n#define REGAL_NO_ENUM_GL_ARB_TEXTURE_COMPRESSION_RGTC\n#endif\n\n#if (defined(GL_ARB_TEXTURE_COMPRESSION_RGTC) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_TEXTURE_COMPRESSION_RGTC)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_COMPRESSION_RGTC)\n#define REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_COMPRESSION_RGTC\n#endif\n\n#if (defined(GL_ARB_TEXTURE_COMPRESSION_RGTC) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_TEXTURE_COMPRESSION_RGTC)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_COMPRESSION_RGTC)\n#define REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_COMPRESSION_RGTC\n#endif\n\n#if (defined(GL_ARB_TEXTURE_COMPRESSION_RGTC) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_TEXTURE_COMPRESSION_RGTC)) && !defined(REGAL_NO_PLUGIN_GL_ARB_TEXTURE_COMPRESSION_RGTC)\n#define REGAL_NO_PLUGIN_GL_ARB_TEXTURE_COMPRESSION_RGTC\n#endif\n\n#if (defined(GL_ARB_TEXTURE_COMPRESSION_RGTC) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_TEXTURE_COMPRESSION_RGTC)) && !defined(REGAL_NO_DECLARATION_GL_ARB_TEXTURE_COMPRESSION_RGTC)\n#define REGAL_NO_DECLARATION_GL_ARB_TEXTURE_COMPRESSION_RGTC\n#endif\n\n#ifndef GL_ARB_texture_compression_rgtc\n#define GL_ARB_texture_compression_rgtc 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_TEXTURE_COMPRESSION_RGTC\n#define GL_COMPRESSED_RED_RGTC1        0x8dbb     /* 36283 */\n#define GL_COMPRESSED_SIGNED_RED_RGTC1 0x8dbc     /* 36284 */\n#define GL_COMPRESSED_RG_RGTC2         0x8dbd     /* 36285 */\n#define GL_COMPRESSED_SIGNED_RG_RGTC2  0x8dbe     /* 36286 */\n#endif\n\n/**\n ** GL_ARB_texture_cube_map\n **/\n\n#if (defined(GL_ARB_TEXTURE_CUBE_MAP) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_TEXTURE_CUBE_MAP)) && !defined(REGAL_NO_ENUM_GL_ARB_TEXTURE_CUBE_MAP)\n#define REGAL_NO_ENUM_GL_ARB_TEXTURE_CUBE_MAP\n#endif\n\n#if (defined(GL_ARB_TEXTURE_CUBE_MAP) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_TEXTURE_CUBE_MAP)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_CUBE_MAP)\n#define REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_CUBE_MAP\n#endif\n\n#if (defined(GL_ARB_TEXTURE_CUBE_MAP) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_TEXTURE_CUBE_MAP)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_CUBE_MAP)\n#define REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_CUBE_MAP\n#endif\n\n#if (defined(GL_ARB_TEXTURE_CUBE_MAP) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_TEXTURE_CUBE_MAP)) && !defined(REGAL_NO_PLUGIN_GL_ARB_TEXTURE_CUBE_MAP)\n#define REGAL_NO_PLUGIN_GL_ARB_TEXTURE_CUBE_MAP\n#endif\n\n#if (defined(GL_ARB_TEXTURE_CUBE_MAP) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_TEXTURE_CUBE_MAP)) && !defined(REGAL_NO_DECLARATION_GL_ARB_TEXTURE_CUBE_MAP)\n#define REGAL_NO_DECLARATION_GL_ARB_TEXTURE_CUBE_MAP\n#endif\n\n#ifndef GL_ARB_texture_cube_map\n#define GL_ARB_texture_cube_map 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_TEXTURE_CUBE_MAP\n#define GL_NORMAL_MAP_ARB                  0x8511     /* 34065 */\n#define GL_REFLECTION_MAP_ARB              0x8512     /* 34066 */\n#define GL_TEXTURE_CUBE_MAP_ARB            0x8513     /* 34067 */\n#define GL_TEXTURE_BINDING_CUBE_MAP_ARB    0x8514     /* 34068 */\n#define GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB 0x8515     /* 34069 */\n#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB 0x8516     /* 34070 */\n#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB 0x8517     /* 34071 */\n#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB 0x8518     /* 34072 */\n#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB 0x8519     /* 34073 */\n#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB 0x851a     /* 34074 */\n#define GL_PROXY_TEXTURE_CUBE_MAP_ARB      0x851b     /* 34075 */\n#define GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB   0x851c     /* 34076 */\n#endif\n\n/**\n ** GL_ARB_texture_cube_map_array\n **/\n\n#if (defined(GL_ARB_TEXTURE_CUBE_MAP_ARRAY) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_TEXTURE_CUBE_MAP_ARRAY)) && !defined(REGAL_NO_ENUM_GL_ARB_TEXTURE_CUBE_MAP_ARRAY)\n#define REGAL_NO_ENUM_GL_ARB_TEXTURE_CUBE_MAP_ARRAY\n#endif\n\n#if (defined(GL_ARB_TEXTURE_CUBE_MAP_ARRAY) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_TEXTURE_CUBE_MAP_ARRAY)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_CUBE_MAP_ARRAY)\n#define REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_CUBE_MAP_ARRAY\n#endif\n\n#if (defined(GL_ARB_TEXTURE_CUBE_MAP_ARRAY) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_TEXTURE_CUBE_MAP_ARRAY)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_CUBE_MAP_ARRAY)\n#define REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_CUBE_MAP_ARRAY\n#endif\n\n#if (defined(GL_ARB_TEXTURE_CUBE_MAP_ARRAY) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_TEXTURE_CUBE_MAP_ARRAY)) && !defined(REGAL_NO_PLUGIN_GL_ARB_TEXTURE_CUBE_MAP_ARRAY)\n#define REGAL_NO_PLUGIN_GL_ARB_TEXTURE_CUBE_MAP_ARRAY\n#endif\n\n#if (defined(GL_ARB_TEXTURE_CUBE_MAP_ARRAY) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_TEXTURE_CUBE_MAP_ARRAY)) && !defined(REGAL_NO_DECLARATION_GL_ARB_TEXTURE_CUBE_MAP_ARRAY)\n#define REGAL_NO_DECLARATION_GL_ARB_TEXTURE_CUBE_MAP_ARRAY\n#endif\n\n#ifndef GL_ARB_texture_cube_map_array\n#define GL_ARB_texture_cube_map_array 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_TEXTURE_CUBE_MAP_ARRAY\n#define GL_TEXTURE_CUBE_MAP_ARRAY_ARB              0x9009     /* 36873 */\n#define GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_ARB      0x900a     /* 36874 */\n#define GL_PROXY_TEXTURE_CUBE_MAP_ARRAY_ARB        0x900b     /* 36875 */\n#define GL_SAMPLER_CUBE_MAP_ARRAY_ARB              0x900c     /* 36876 */\n#define GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_ARB       0x900d     /* 36877 */\n#define GL_INT_SAMPLER_CUBE_MAP_ARRAY_ARB          0x900e     /* 36878 */\n#define GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_ARB 0x900f     /* 36879 */\n#endif\n\n/**\n ** GL_ARB_texture_env_combine\n **/\n\n#if (defined(GL_ARB_TEXTURE_ENV_COMBINE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_TEXTURE_ENV_COMBINE)) && !defined(REGAL_NO_ENUM_GL_ARB_TEXTURE_ENV_COMBINE)\n#define REGAL_NO_ENUM_GL_ARB_TEXTURE_ENV_COMBINE\n#endif\n\n#if (defined(GL_ARB_TEXTURE_ENV_COMBINE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_TEXTURE_ENV_COMBINE)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_ENV_COMBINE)\n#define REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_ENV_COMBINE\n#endif\n\n#if (defined(GL_ARB_TEXTURE_ENV_COMBINE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_TEXTURE_ENV_COMBINE)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_ENV_COMBINE)\n#define REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_ENV_COMBINE\n#endif\n\n#if (defined(GL_ARB_TEXTURE_ENV_COMBINE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_TEXTURE_ENV_COMBINE)) && !defined(REGAL_NO_PLUGIN_GL_ARB_TEXTURE_ENV_COMBINE)\n#define REGAL_NO_PLUGIN_GL_ARB_TEXTURE_ENV_COMBINE\n#endif\n\n#if (defined(GL_ARB_TEXTURE_ENV_COMBINE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_TEXTURE_ENV_COMBINE)) && !defined(REGAL_NO_DECLARATION_GL_ARB_TEXTURE_ENV_COMBINE)\n#define REGAL_NO_DECLARATION_GL_ARB_TEXTURE_ENV_COMBINE\n#endif\n\n#ifndef GL_ARB_texture_env_combine\n#define GL_ARB_texture_env_combine 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_TEXTURE_ENV_COMBINE\n#define GL_SUBTRACT_ARB       0x84e7     /* 34023 */\n#define GL_COMBINE_ARB        0x8570     /* 34160 */\n#define GL_COMBINE_RGB_ARB    0x8571     /* 34161 */\n#define GL_COMBINE_ALPHA_ARB  0x8572     /* 34162 */\n#define GL_RGB_SCALE_ARB      0x8573     /* 34163 */\n#define GL_ADD_SIGNED_ARB     0x8574     /* 34164 */\n#define GL_INTERPOLATE_ARB    0x8575     /* 34165 */\n#define GL_CONSTANT_ARB       0x8576     /* 34166 */\n#define GL_PRIMARY_COLOR_ARB  0x8577     /* 34167 */\n#define GL_PREVIOUS_ARB       0x8578     /* 34168 */\n#define GL_SOURCE0_RGB_ARB    0x8580     /* 34176 */\n#define GL_SOURCE1_RGB_ARB    0x8581     /* 34177 */\n#define GL_SOURCE2_RGB_ARB    0x8582     /* 34178 */\n#define GL_SOURCE0_ALPHA_ARB  0x8588     /* 34184 */\n#define GL_SOURCE1_ALPHA_ARB  0x8589     /* 34185 */\n#define GL_SOURCE2_ALPHA_ARB  0x858a     /* 34186 */\n#define GL_OPERAND0_RGB_ARB   0x8590     /* 34192 */\n#define GL_OPERAND1_RGB_ARB   0x8591     /* 34193 */\n#define GL_OPERAND2_RGB_ARB   0x8592     /* 34194 */\n#define GL_OPERAND0_ALPHA_ARB 0x8598     /* 34200 */\n#define GL_OPERAND1_ALPHA_ARB 0x8599     /* 34201 */\n#define GL_OPERAND2_ALPHA_ARB 0x859a     /* 34202 */\n#endif\n\n/**\n ** GL_ARB_texture_env_dot3\n **/\n\n#if (defined(GL_ARB_TEXTURE_ENV_DOT3) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_TEXTURE_ENV_DOT3)) && !defined(REGAL_NO_ENUM_GL_ARB_TEXTURE_ENV_DOT3)\n#define REGAL_NO_ENUM_GL_ARB_TEXTURE_ENV_DOT3\n#endif\n\n#if (defined(GL_ARB_TEXTURE_ENV_DOT3) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_TEXTURE_ENV_DOT3)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_ENV_DOT3)\n#define REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_ENV_DOT3\n#endif\n\n#if (defined(GL_ARB_TEXTURE_ENV_DOT3) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_TEXTURE_ENV_DOT3)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_ENV_DOT3)\n#define REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_ENV_DOT3\n#endif\n\n#if (defined(GL_ARB_TEXTURE_ENV_DOT3) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_TEXTURE_ENV_DOT3)) && !defined(REGAL_NO_PLUGIN_GL_ARB_TEXTURE_ENV_DOT3)\n#define REGAL_NO_PLUGIN_GL_ARB_TEXTURE_ENV_DOT3\n#endif\n\n#if (defined(GL_ARB_TEXTURE_ENV_DOT3) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_TEXTURE_ENV_DOT3)) && !defined(REGAL_NO_DECLARATION_GL_ARB_TEXTURE_ENV_DOT3)\n#define REGAL_NO_DECLARATION_GL_ARB_TEXTURE_ENV_DOT3\n#endif\n\n#ifndef GL_ARB_texture_env_dot3\n#define GL_ARB_texture_env_dot3 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_TEXTURE_ENV_DOT3\n#define GL_DOT3_RGB_ARB  0x86ae     /* 34478 */\n#define GL_DOT3_RGBA_ARB 0x86af     /* 34479 */\n#endif\n\n/**\n ** GL_ARB_texture_float\n **/\n\n#if (defined(GL_ARB_TEXTURE_FLOAT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_TEXTURE_FLOAT)) && !defined(REGAL_NO_ENUM_GL_ARB_TEXTURE_FLOAT)\n#define REGAL_NO_ENUM_GL_ARB_TEXTURE_FLOAT\n#endif\n\n#if (defined(GL_ARB_TEXTURE_FLOAT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_TEXTURE_FLOAT)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_FLOAT)\n#define REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_FLOAT\n#endif\n\n#if (defined(GL_ARB_TEXTURE_FLOAT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_TEXTURE_FLOAT)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_FLOAT)\n#define REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_FLOAT\n#endif\n\n#if (defined(GL_ARB_TEXTURE_FLOAT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_TEXTURE_FLOAT)) && !defined(REGAL_NO_PLUGIN_GL_ARB_TEXTURE_FLOAT)\n#define REGAL_NO_PLUGIN_GL_ARB_TEXTURE_FLOAT\n#endif\n\n#if (defined(GL_ARB_TEXTURE_FLOAT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_TEXTURE_FLOAT)) && !defined(REGAL_NO_DECLARATION_GL_ARB_TEXTURE_FLOAT)\n#define REGAL_NO_DECLARATION_GL_ARB_TEXTURE_FLOAT\n#endif\n\n#ifndef GL_ARB_texture_float\n#define GL_ARB_texture_float 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_TEXTURE_FLOAT\n#define GL_RGBA32F_ARB                0x8814     /* 34836 */\n#define GL_RGB32F_ARB                 0x8815     /* 34837 */\n#define GL_ALPHA32F_ARB               0x8816     /* 34838 */\n#define GL_INTENSITY32F_ARB           0x8817     /* 34839 */\n#define GL_LUMINANCE32F_ARB           0x8818     /* 34840 */\n#define GL_LUMINANCE_ALPHA32F_ARB     0x8819     /* 34841 */\n#define GL_RGBA16F_ARB                0x881a     /* 34842 */\n#define GL_RGB16F_ARB                 0x881b     /* 34843 */\n#define GL_ALPHA16F_ARB               0x881c     /* 34844 */\n#define GL_INTENSITY16F_ARB           0x881d     /* 34845 */\n#define GL_LUMINANCE16F_ARB           0x881e     /* 34846 */\n#define GL_LUMINANCE_ALPHA16F_ARB     0x881f     /* 34847 */\n#define GL_TEXTURE_RED_TYPE_ARB       0x8c10     /* 35856 */\n#define GL_TEXTURE_GREEN_TYPE_ARB     0x8c11     /* 35857 */\n#define GL_TEXTURE_BLUE_TYPE_ARB      0x8c12     /* 35858 */\n#define GL_TEXTURE_ALPHA_TYPE_ARB     0x8c13     /* 35859 */\n#define GL_TEXTURE_LUMINANCE_TYPE_ARB 0x8c14     /* 35860 */\n#define GL_TEXTURE_INTENSITY_TYPE_ARB 0x8c15     /* 35861 */\n#define GL_TEXTURE_DEPTH_TYPE_ARB     0x8c16     /* 35862 */\n#define GL_UNSIGNED_NORMALIZED_ARB    0x8c17     /* 35863 */\n#endif\n\n/**\n ** GL_ARB_texture_gather\n **/\n\n#if (defined(GL_ARB_TEXTURE_GATHER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_TEXTURE_GATHER)) && !defined(REGAL_NO_ENUM_GL_ARB_TEXTURE_GATHER)\n#define REGAL_NO_ENUM_GL_ARB_TEXTURE_GATHER\n#endif\n\n#if (defined(GL_ARB_TEXTURE_GATHER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_TEXTURE_GATHER)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_GATHER)\n#define REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_GATHER\n#endif\n\n#if (defined(GL_ARB_TEXTURE_GATHER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_TEXTURE_GATHER)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_GATHER)\n#define REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_GATHER\n#endif\n\n#if (defined(GL_ARB_TEXTURE_GATHER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_TEXTURE_GATHER)) && !defined(REGAL_NO_PLUGIN_GL_ARB_TEXTURE_GATHER)\n#define REGAL_NO_PLUGIN_GL_ARB_TEXTURE_GATHER\n#endif\n\n#if (defined(GL_ARB_TEXTURE_GATHER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_TEXTURE_GATHER)) && !defined(REGAL_NO_DECLARATION_GL_ARB_TEXTURE_GATHER)\n#define REGAL_NO_DECLARATION_GL_ARB_TEXTURE_GATHER\n#endif\n\n#ifndef GL_ARB_texture_gather\n#define GL_ARB_texture_gather 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_TEXTURE_GATHER\n#define GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_ARB     0x8e5e     /* 36446 */\n#define GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_ARB     0x8e5f     /* 36447 */\n#define GL_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS_ARB 0x8f9f     /* 36767 */\n#endif\n\n/**\n ** GL_ARB_texture_mirror_clamp_to_edge\n **/\n\n#if (defined(GL_ARB_TEXTURE_MIRROR_CLAMP_TO_EDGE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_TEXTURE_MIRROR_CLAMP_TO_EDGE)) && !defined(REGAL_NO_ENUM_GL_ARB_TEXTURE_MIRROR_CLAMP_TO_EDGE)\n#define REGAL_NO_ENUM_GL_ARB_TEXTURE_MIRROR_CLAMP_TO_EDGE\n#endif\n\n#if (defined(GL_ARB_TEXTURE_MIRROR_CLAMP_TO_EDGE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_TEXTURE_MIRROR_CLAMP_TO_EDGE)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_MIRROR_CLAMP_TO_EDGE)\n#define REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_MIRROR_CLAMP_TO_EDGE\n#endif\n\n#if (defined(GL_ARB_TEXTURE_MIRROR_CLAMP_TO_EDGE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_TEXTURE_MIRROR_CLAMP_TO_EDGE)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_MIRROR_CLAMP_TO_EDGE)\n#define REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_MIRROR_CLAMP_TO_EDGE\n#endif\n\n#if (defined(GL_ARB_TEXTURE_MIRROR_CLAMP_TO_EDGE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_TEXTURE_MIRROR_CLAMP_TO_EDGE)) && !defined(REGAL_NO_PLUGIN_GL_ARB_TEXTURE_MIRROR_CLAMP_TO_EDGE)\n#define REGAL_NO_PLUGIN_GL_ARB_TEXTURE_MIRROR_CLAMP_TO_EDGE\n#endif\n\n#if (defined(GL_ARB_TEXTURE_MIRROR_CLAMP_TO_EDGE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_TEXTURE_MIRROR_CLAMP_TO_EDGE)) && !defined(REGAL_NO_DECLARATION_GL_ARB_TEXTURE_MIRROR_CLAMP_TO_EDGE)\n#define REGAL_NO_DECLARATION_GL_ARB_TEXTURE_MIRROR_CLAMP_TO_EDGE\n#endif\n\n#ifndef GL_ARB_texture_mirror_clamp_to_edge\n#define GL_ARB_texture_mirror_clamp_to_edge 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_TEXTURE_MIRROR_CLAMP_TO_EDGE\n#define GL_MIRROR_CLAMP_TO_EDGE 0x8743 /* 34627 */\n#endif\n\n/**\n ** GL_ARB_texture_mirrored_repeat\n **/\n\n#if (defined(GL_ARB_TEXTURE_MIRRORED_REPEAT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_TEXTURE_MIRRORED_REPEAT)) && !defined(REGAL_NO_ENUM_GL_ARB_TEXTURE_MIRRORED_REPEAT)\n#define REGAL_NO_ENUM_GL_ARB_TEXTURE_MIRRORED_REPEAT\n#endif\n\n#if (defined(GL_ARB_TEXTURE_MIRRORED_REPEAT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_TEXTURE_MIRRORED_REPEAT)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_MIRRORED_REPEAT)\n#define REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_MIRRORED_REPEAT\n#endif\n\n#if (defined(GL_ARB_TEXTURE_MIRRORED_REPEAT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_TEXTURE_MIRRORED_REPEAT)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_MIRRORED_REPEAT)\n#define REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_MIRRORED_REPEAT\n#endif\n\n#if (defined(GL_ARB_TEXTURE_MIRRORED_REPEAT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_TEXTURE_MIRRORED_REPEAT)) && !defined(REGAL_NO_PLUGIN_GL_ARB_TEXTURE_MIRRORED_REPEAT)\n#define REGAL_NO_PLUGIN_GL_ARB_TEXTURE_MIRRORED_REPEAT\n#endif\n\n#if (defined(GL_ARB_TEXTURE_MIRRORED_REPEAT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_TEXTURE_MIRRORED_REPEAT)) && !defined(REGAL_NO_DECLARATION_GL_ARB_TEXTURE_MIRRORED_REPEAT)\n#define REGAL_NO_DECLARATION_GL_ARB_TEXTURE_MIRRORED_REPEAT\n#endif\n\n#ifndef GL_ARB_texture_mirrored_repeat\n#define GL_ARB_texture_mirrored_repeat 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_TEXTURE_MIRRORED_REPEAT\n#define GL_MIRRORED_REPEAT_ARB 0x8370 /* 33648 */\n#endif\n\n/**\n ** GL_ARB_texture_multisample\n **/\n\n#if (defined(GL_ARB_TEXTURE_MULTISAMPLE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_TEXTURE_MULTISAMPLE)) && !defined(REGAL_NO_ENUM_GL_ARB_TEXTURE_MULTISAMPLE)\n#define REGAL_NO_ENUM_GL_ARB_TEXTURE_MULTISAMPLE\n#endif\n\n#if (defined(GL_ARB_TEXTURE_MULTISAMPLE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_TEXTURE_MULTISAMPLE)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_MULTISAMPLE)\n#define REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_MULTISAMPLE\n#endif\n\n#if (defined(GL_ARB_TEXTURE_MULTISAMPLE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_TEXTURE_MULTISAMPLE)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_MULTISAMPLE)\n#define REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_MULTISAMPLE\n#endif\n\n#if (defined(GL_ARB_TEXTURE_MULTISAMPLE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_TEXTURE_MULTISAMPLE)) && !defined(REGAL_NO_PLUGIN_GL_ARB_TEXTURE_MULTISAMPLE)\n#define REGAL_NO_PLUGIN_GL_ARB_TEXTURE_MULTISAMPLE\n#endif\n\n#if (defined(GL_ARB_TEXTURE_MULTISAMPLE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_TEXTURE_MULTISAMPLE)) && !defined(REGAL_NO_DECLARATION_GL_ARB_TEXTURE_MULTISAMPLE)\n#define REGAL_NO_DECLARATION_GL_ARB_TEXTURE_MULTISAMPLE\n#endif\n\n#ifndef GL_ARB_texture_multisample\n#define GL_ARB_texture_multisample 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_TEXTURE_MULTISAMPLE\n#define GL_SAMPLE_POSITION                           0x8e50     /* 36432 */\n#define GL_SAMPLE_MASK                               0x8e51     /* 36433 */\n#define GL_SAMPLE_MASK_VALUE                         0x8e52     /* 36434 */\n#define GL_MAX_SAMPLE_MASK_WORDS                     0x8e59     /* 36441 */\n#define GL_TEXTURE_2D_MULTISAMPLE                    0x9100     /* 37120 */\n#define GL_PROXY_TEXTURE_2D_MULTISAMPLE              0x9101     /* 37121 */\n#define GL_TEXTURE_2D_MULTISAMPLE_ARRAY              0x9102     /* 37122 */\n#define GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY        0x9103     /* 37123 */\n#define GL_TEXTURE_BINDING_2D_MULTISAMPLE            0x9104     /* 37124 */\n#define GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY      0x9105     /* 37125 */\n#define GL_TEXTURE_SAMPLES                           0x9106     /* 37126 */\n#define GL_TEXTURE_FIXED_SAMPLE_LOCATIONS            0x9107     /* 37127 */\n#define GL_SAMPLER_2D_MULTISAMPLE                    0x9108     /* 37128 */\n#define GL_INT_SAMPLER_2D_MULTISAMPLE                0x9109     /* 37129 */\n#define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE       0x910a     /* 37130 */\n#define GL_SAMPLER_2D_MULTISAMPLE_ARRAY              0x910b     /* 37131 */\n#define GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY          0x910c     /* 37132 */\n#define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910d     /* 37133 */\n#define GL_MAX_COLOR_TEXTURE_SAMPLES                 0x910e     /* 37134 */\n#define GL_MAX_DEPTH_TEXTURE_SAMPLES                 0x910f     /* 37135 */\n#define GL_MAX_INTEGER_SAMPLES                       0x9110     /* 37136 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_MULTISAMPLE\ntypedef void (REGAL_CALL *PFNGLGETMULTISAMPLEFVPROC)(GLenum pname, GLuint index, GLfloat *val);\ntypedef void (REGAL_CALL *PFNGLSAMPLEMASKIPROC)(GLuint index, GLbitfield mask);\ntypedef void (REGAL_CALL *PFNGLTEXIMAGE2DMULTISAMPLEPROC)(GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);\ntypedef void (REGAL_CALL *PFNGLTEXIMAGE3DMULTISAMPLEPROC)(GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_MULTISAMPLE\n#define glGetMultisamplefv                  rglGetMultisamplefv\n#define glSampleMaski                       rglSampleMaski\n#define glTexImage2DMultisample             rglTexImage2DMultisample\n#define glTexImage3DMultisample             rglTexImage3DMultisample\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_TEXTURE_MULTISAMPLE\nREGAL_DECL void REGAL_CALL glGetMultisamplefv(GLenum pname, GLuint index, GLfloat *val);\nREGAL_DECL void REGAL_CALL glSampleMaski(GLuint index, GLbitfield mask);\nREGAL_DECL void REGAL_CALL glTexImage2DMultisample(GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);\nREGAL_DECL void REGAL_CALL glTexImage3DMultisample(GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_TEXTURE_MULTISAMPLE\nREGAL_DECL void REGAL_CALL plugin_glGetMultisamplefv(GLenum pname, GLuint index, GLfloat *val);\nREGAL_DECL void REGAL_CALL plugin_glSampleMaski(GLuint index, GLbitfield mask);\nREGAL_DECL void REGAL_CALL plugin_glTexImage2DMultisample(GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);\nREGAL_DECL void REGAL_CALL plugin_glTexImage3DMultisample(GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);\n#endif\n\n/**\n ** GL_ARB_texture_rectangle\n **/\n\n#if (defined(GL_ARB_TEXTURE_RECTANGLE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_TEXTURE_RECTANGLE)) && !defined(REGAL_NO_ENUM_GL_ARB_TEXTURE_RECTANGLE)\n#define REGAL_NO_ENUM_GL_ARB_TEXTURE_RECTANGLE\n#endif\n\n#if (defined(GL_ARB_TEXTURE_RECTANGLE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_TEXTURE_RECTANGLE)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_RECTANGLE)\n#define REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_RECTANGLE\n#endif\n\n#if (defined(GL_ARB_TEXTURE_RECTANGLE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_TEXTURE_RECTANGLE)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_RECTANGLE)\n#define REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_RECTANGLE\n#endif\n\n#if (defined(GL_ARB_TEXTURE_RECTANGLE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_TEXTURE_RECTANGLE)) && !defined(REGAL_NO_PLUGIN_GL_ARB_TEXTURE_RECTANGLE)\n#define REGAL_NO_PLUGIN_GL_ARB_TEXTURE_RECTANGLE\n#endif\n\n#if (defined(GL_ARB_TEXTURE_RECTANGLE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_TEXTURE_RECTANGLE)) && !defined(REGAL_NO_DECLARATION_GL_ARB_TEXTURE_RECTANGLE)\n#define REGAL_NO_DECLARATION_GL_ARB_TEXTURE_RECTANGLE\n#endif\n\n#ifndef GL_ARB_texture_rectangle\n#define GL_ARB_texture_rectangle 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_TEXTURE_RECTANGLE\n#define GL_TEXTURE_RECTANGLE_ARB          0x84f5     /* 34037 */\n#define GL_TEXTURE_BINDING_RECTANGLE_ARB  0x84f6     /* 34038 */\n#define GL_PROXY_TEXTURE_RECTANGLE_ARB    0x84f7     /* 34039 */\n#define GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB 0x84f8     /* 34040 */\n#endif\n\n/**\n ** GL_ARB_texture_rg\n **/\n\n#if (defined(GL_ARB_TEXTURE_RG) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_TEXTURE_RG)) && !defined(REGAL_NO_ENUM_GL_ARB_TEXTURE_RG)\n#define REGAL_NO_ENUM_GL_ARB_TEXTURE_RG\n#endif\n\n#if (defined(GL_ARB_TEXTURE_RG) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_TEXTURE_RG)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_RG)\n#define REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_RG\n#endif\n\n#if (defined(GL_ARB_TEXTURE_RG) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_TEXTURE_RG)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_RG)\n#define REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_RG\n#endif\n\n#if (defined(GL_ARB_TEXTURE_RG) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_TEXTURE_RG)) && !defined(REGAL_NO_PLUGIN_GL_ARB_TEXTURE_RG)\n#define REGAL_NO_PLUGIN_GL_ARB_TEXTURE_RG\n#endif\n\n#if (defined(GL_ARB_TEXTURE_RG) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_TEXTURE_RG)) && !defined(REGAL_NO_DECLARATION_GL_ARB_TEXTURE_RG)\n#define REGAL_NO_DECLARATION_GL_ARB_TEXTURE_RG\n#endif\n\n#ifndef GL_ARB_texture_rg\n#define GL_ARB_texture_rg 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_TEXTURE_RG\n#define GL_COMPRESSED_RED 0x8225     /* 33317 */\n#define GL_COMPRESSED_RG  0x8226     /* 33318 */\n#define GL_RG             0x8227     /* 33319 */\n#define GL_RG_INTEGER     0x8228     /* 33320 */\n#define GL_R8             0x8229     /* 33321 */\n#define GL_R16            0x822a     /* 33322 */\n#define GL_RG8            0x822b     /* 33323 */\n#define GL_RG16           0x822c     /* 33324 */\n#define GL_R16F           0x822d     /* 33325 */\n#define GL_R32F           0x822e     /* 33326 */\n#define GL_RG16F          0x822f     /* 33327 */\n#define GL_RG32F          0x8230     /* 33328 */\n#define GL_R8I            0x8231     /* 33329 */\n#define GL_R8UI           0x8232     /* 33330 */\n#define GL_R16I           0x8233     /* 33331 */\n#define GL_R16UI          0x8234     /* 33332 */\n#define GL_R32I           0x8235     /* 33333 */\n#define GL_R32UI          0x8236     /* 33334 */\n#define GL_RG8I           0x8237     /* 33335 */\n#define GL_RG8UI          0x8238     /* 33336 */\n#define GL_RG16I          0x8239     /* 33337 */\n#define GL_RG16UI         0x823a     /* 33338 */\n#define GL_RG32I          0x823b     /* 33339 */\n#define GL_RG32UI         0x823c     /* 33340 */\n#endif\n\n/**\n ** GL_ARB_texture_rgb10_a2ui\n **/\n\n#if (defined(GL_ARB_TEXTURE_RGB10_A2UI) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_TEXTURE_RGB10_A2UI)) && !defined(REGAL_NO_ENUM_GL_ARB_TEXTURE_RGB10_A2UI)\n#define REGAL_NO_ENUM_GL_ARB_TEXTURE_RGB10_A2UI\n#endif\n\n#if (defined(GL_ARB_TEXTURE_RGB10_A2UI) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_TEXTURE_RGB10_A2UI)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_RGB10_A2UI)\n#define REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_RGB10_A2UI\n#endif\n\n#if (defined(GL_ARB_TEXTURE_RGB10_A2UI) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_TEXTURE_RGB10_A2UI)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_RGB10_A2UI)\n#define REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_RGB10_A2UI\n#endif\n\n#if (defined(GL_ARB_TEXTURE_RGB10_A2UI) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_TEXTURE_RGB10_A2UI)) && !defined(REGAL_NO_PLUGIN_GL_ARB_TEXTURE_RGB10_A2UI)\n#define REGAL_NO_PLUGIN_GL_ARB_TEXTURE_RGB10_A2UI\n#endif\n\n#if (defined(GL_ARB_TEXTURE_RGB10_A2UI) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_TEXTURE_RGB10_A2UI)) && !defined(REGAL_NO_DECLARATION_GL_ARB_TEXTURE_RGB10_A2UI)\n#define REGAL_NO_DECLARATION_GL_ARB_TEXTURE_RGB10_A2UI\n#endif\n\n#ifndef GL_ARB_texture_rgb10_a2ui\n#define GL_ARB_texture_rgb10_a2ui 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_TEXTURE_RGB10_A2UI\n#define GL_RGB10_A2UI 0x906f /* 36975 */\n#endif\n\n/**\n ** GL_ARB_texture_storage\n **/\n\n#if (defined(GL_ARB_TEXTURE_STORAGE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_TEXTURE_STORAGE)) && !defined(REGAL_NO_ENUM_GL_ARB_TEXTURE_STORAGE)\n#define REGAL_NO_ENUM_GL_ARB_TEXTURE_STORAGE\n#endif\n\n#if (defined(GL_ARB_TEXTURE_STORAGE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_TEXTURE_STORAGE)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_STORAGE)\n#define REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_STORAGE\n#endif\n\n#if (defined(GL_ARB_TEXTURE_STORAGE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_TEXTURE_STORAGE)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_STORAGE)\n#define REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_STORAGE\n#endif\n\n#if (defined(GL_ARB_TEXTURE_STORAGE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_TEXTURE_STORAGE)) && !defined(REGAL_NO_PLUGIN_GL_ARB_TEXTURE_STORAGE)\n#define REGAL_NO_PLUGIN_GL_ARB_TEXTURE_STORAGE\n#endif\n\n#if (defined(GL_ARB_TEXTURE_STORAGE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_TEXTURE_STORAGE)) && !defined(REGAL_NO_DECLARATION_GL_ARB_TEXTURE_STORAGE)\n#define REGAL_NO_DECLARATION_GL_ARB_TEXTURE_STORAGE\n#endif\n\n#ifndef GL_ARB_texture_storage\n#define GL_ARB_texture_storage 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_TEXTURE_STORAGE\n#define GL_TEXTURE_IMMUTABLE_FORMAT 0x912f /* 37167 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_STORAGE\ntypedef void (REGAL_CALL *PFNGLTEXSTORAGE1DPROC)(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);\ntypedef void (REGAL_CALL *PFNGLTEXSTORAGE2DPROC)(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);\ntypedef void (REGAL_CALL *PFNGLTEXSTORAGE3DPROC)(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);\ntypedef void (REGAL_CALL *PFNGLTEXTURESTORAGE1DEXTPROC)(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);\ntypedef void (REGAL_CALL *PFNGLTEXTURESTORAGE2DEXTPROC)(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);\ntypedef void (REGAL_CALL *PFNGLTEXTURESTORAGE3DEXTPROC)(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_STORAGE\n#define glTexStorage1D                      rglTexStorage1D\n#define glTexStorage2D                      rglTexStorage2D\n#define glTexStorage3D                      rglTexStorage3D\n#define glTextureStorage1DEXT               rglTextureStorage1DEXT\n#define glTextureStorage2DEXT               rglTextureStorage2DEXT\n#define glTextureStorage3DEXT               rglTextureStorage3DEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_TEXTURE_STORAGE\nREGAL_DECL void REGAL_CALL glTexStorage1D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);\nREGAL_DECL void REGAL_CALL glTexStorage2D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);\nREGAL_DECL void REGAL_CALL glTexStorage3D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);\nREGAL_DECL void REGAL_CALL glTextureStorage1DEXT(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);\nREGAL_DECL void REGAL_CALL glTextureStorage2DEXT(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);\nREGAL_DECL void REGAL_CALL glTextureStorage3DEXT(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_TEXTURE_STORAGE\nREGAL_DECL void REGAL_CALL plugin_glTexStorage1D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);\nREGAL_DECL void REGAL_CALL plugin_glTexStorage2D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);\nREGAL_DECL void REGAL_CALL plugin_glTexStorage3D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);\nREGAL_DECL void REGAL_CALL plugin_glTextureStorage1DEXT(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);\nREGAL_DECL void REGAL_CALL plugin_glTextureStorage2DEXT(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);\nREGAL_DECL void REGAL_CALL plugin_glTextureStorage3DEXT(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);\n#endif\n\n/**\n ** GL_ARB_texture_storage_multisample\n **/\n\n#if (defined(GL_ARB_TEXTURE_STORAGE_MULTISAMPLE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_TEXTURE_STORAGE_MULTISAMPLE)) && !defined(REGAL_NO_ENUM_GL_ARB_TEXTURE_STORAGE_MULTISAMPLE)\n#define REGAL_NO_ENUM_GL_ARB_TEXTURE_STORAGE_MULTISAMPLE\n#endif\n\n#if (defined(GL_ARB_TEXTURE_STORAGE_MULTISAMPLE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_TEXTURE_STORAGE_MULTISAMPLE)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_STORAGE_MULTISAMPLE)\n#define REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_STORAGE_MULTISAMPLE\n#endif\n\n#if (defined(GL_ARB_TEXTURE_STORAGE_MULTISAMPLE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_TEXTURE_STORAGE_MULTISAMPLE)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_STORAGE_MULTISAMPLE)\n#define REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_STORAGE_MULTISAMPLE\n#endif\n\n#if (defined(GL_ARB_TEXTURE_STORAGE_MULTISAMPLE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_TEXTURE_STORAGE_MULTISAMPLE)) && !defined(REGAL_NO_PLUGIN_GL_ARB_TEXTURE_STORAGE_MULTISAMPLE)\n#define REGAL_NO_PLUGIN_GL_ARB_TEXTURE_STORAGE_MULTISAMPLE\n#endif\n\n#if (defined(GL_ARB_TEXTURE_STORAGE_MULTISAMPLE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_TEXTURE_STORAGE_MULTISAMPLE)) && !defined(REGAL_NO_DECLARATION_GL_ARB_TEXTURE_STORAGE_MULTISAMPLE)\n#define REGAL_NO_DECLARATION_GL_ARB_TEXTURE_STORAGE_MULTISAMPLE\n#endif\n\n#ifndef GL_ARB_texture_storage_multisample\n#define GL_ARB_texture_storage_multisample 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_STORAGE_MULTISAMPLE\ntypedef void (REGAL_CALL *PFNGLTEXSTORAGE2DMULTISAMPLEPROC)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);\ntypedef void (REGAL_CALL *PFNGLTEXSTORAGE3DMULTISAMPLEPROC)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);\ntypedef void (REGAL_CALL *PFNGLTEXTURESTORAGE2DMULTISAMPLEEXTPROC)(GLuint texture, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);\ntypedef void (REGAL_CALL *PFNGLTEXTURESTORAGE3DMULTISAMPLEEXTPROC)(GLuint texture, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_STORAGE_MULTISAMPLE\n#define glTexStorage2DMultisample           rglTexStorage2DMultisample\n#define glTexStorage3DMultisample           rglTexStorage3DMultisample\n#define glTextureStorage2DMultisampleEXT    rglTextureStorage2DMultisampleEXT\n#define glTextureStorage3DMultisampleEXT    rglTextureStorage3DMultisampleEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_TEXTURE_STORAGE_MULTISAMPLE\nREGAL_DECL void REGAL_CALL glTexStorage2DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);\nREGAL_DECL void REGAL_CALL glTexStorage3DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);\nREGAL_DECL void REGAL_CALL glTextureStorage2DMultisampleEXT(GLuint texture, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);\nREGAL_DECL void REGAL_CALL glTextureStorage3DMultisampleEXT(GLuint texture, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_TEXTURE_STORAGE_MULTISAMPLE\nREGAL_DECL void REGAL_CALL plugin_glTexStorage2DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);\nREGAL_DECL void REGAL_CALL plugin_glTexStorage3DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);\nREGAL_DECL void REGAL_CALL plugin_glTextureStorage2DMultisampleEXT(GLuint texture, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);\nREGAL_DECL void REGAL_CALL plugin_glTextureStorage3DMultisampleEXT(GLuint texture, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);\n#endif\n\n/**\n ** GL_ARB_texture_swizzle\n **/\n\n#if (defined(GL_ARB_TEXTURE_SWIZZLE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_TEXTURE_SWIZZLE)) && !defined(REGAL_NO_ENUM_GL_ARB_TEXTURE_SWIZZLE)\n#define REGAL_NO_ENUM_GL_ARB_TEXTURE_SWIZZLE\n#endif\n\n#if (defined(GL_ARB_TEXTURE_SWIZZLE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_TEXTURE_SWIZZLE)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_SWIZZLE)\n#define REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_SWIZZLE\n#endif\n\n#if (defined(GL_ARB_TEXTURE_SWIZZLE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_TEXTURE_SWIZZLE)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_SWIZZLE)\n#define REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_SWIZZLE\n#endif\n\n#if (defined(GL_ARB_TEXTURE_SWIZZLE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_TEXTURE_SWIZZLE)) && !defined(REGAL_NO_PLUGIN_GL_ARB_TEXTURE_SWIZZLE)\n#define REGAL_NO_PLUGIN_GL_ARB_TEXTURE_SWIZZLE\n#endif\n\n#if (defined(GL_ARB_TEXTURE_SWIZZLE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_TEXTURE_SWIZZLE)) && !defined(REGAL_NO_DECLARATION_GL_ARB_TEXTURE_SWIZZLE)\n#define REGAL_NO_DECLARATION_GL_ARB_TEXTURE_SWIZZLE\n#endif\n\n#ifndef GL_ARB_texture_swizzle\n#define GL_ARB_texture_swizzle 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_TEXTURE_SWIZZLE\n#define GL_TEXTURE_SWIZZLE_R    0x8e42     /* 36418 */\n#define GL_TEXTURE_SWIZZLE_G    0x8e43     /* 36419 */\n#define GL_TEXTURE_SWIZZLE_B    0x8e44     /* 36420 */\n#define GL_TEXTURE_SWIZZLE_A    0x8e45     /* 36421 */\n#define GL_TEXTURE_SWIZZLE_RGBA 0x8e46     /* 36422 */\n#endif\n\n/**\n ** GL_ARB_texture_view\n **/\n\n#if (defined(GL_ARB_TEXTURE_VIEW) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_TEXTURE_VIEW)) && !defined(REGAL_NO_ENUM_GL_ARB_TEXTURE_VIEW)\n#define REGAL_NO_ENUM_GL_ARB_TEXTURE_VIEW\n#endif\n\n#if (defined(GL_ARB_TEXTURE_VIEW) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_TEXTURE_VIEW)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_VIEW)\n#define REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_VIEW\n#endif\n\n#if (defined(GL_ARB_TEXTURE_VIEW) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_TEXTURE_VIEW)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_VIEW)\n#define REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_VIEW\n#endif\n\n#if (defined(GL_ARB_TEXTURE_VIEW) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_TEXTURE_VIEW)) && !defined(REGAL_NO_PLUGIN_GL_ARB_TEXTURE_VIEW)\n#define REGAL_NO_PLUGIN_GL_ARB_TEXTURE_VIEW\n#endif\n\n#if (defined(GL_ARB_TEXTURE_VIEW) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_TEXTURE_VIEW)) && !defined(REGAL_NO_DECLARATION_GL_ARB_TEXTURE_VIEW)\n#define REGAL_NO_DECLARATION_GL_ARB_TEXTURE_VIEW\n#endif\n\n#ifndef GL_ARB_texture_view\n#define GL_ARB_texture_view 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_TEXTURE_VIEW\n#define GL_TEXTURE_VIEW_MIN_LEVEL   0x82db     /* 33499 */\n#define GL_TEXTURE_VIEW_NUM_LEVELS  0x82dc     /* 33500 */\n#define GL_TEXTURE_VIEW_MIN_LAYER   0x82dd     /* 33501 */\n#define GL_TEXTURE_VIEW_NUM_LAYERS  0x82de     /* 33502 */\n#define GL_TEXTURE_IMMUTABLE_LEVELS 0x82df     /* 33503 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_TEXTURE_VIEW\ntypedef void (REGAL_CALL *PFNGLTEXTUREVIEWPROC)(GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_TEXTURE_VIEW\n#define glTextureView                       rglTextureView\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_TEXTURE_VIEW\nREGAL_DECL void REGAL_CALL glTextureView(GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_TEXTURE_VIEW\nREGAL_DECL void REGAL_CALL plugin_glTextureView(GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers);\n#endif\n\n/**\n ** GL_ARB_timer_query\n **/\n\n#if (defined(GL_ARB_TIMER_QUERY) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_TIMER_QUERY)) && !defined(REGAL_NO_ENUM_GL_ARB_TIMER_QUERY)\n#define REGAL_NO_ENUM_GL_ARB_TIMER_QUERY\n#endif\n\n#if (defined(GL_ARB_TIMER_QUERY) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_TIMER_QUERY)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_TIMER_QUERY)\n#define REGAL_NO_TYPEDEF_GL_ARB_TIMER_QUERY\n#endif\n\n#if (defined(GL_ARB_TIMER_QUERY) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_TIMER_QUERY)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_TIMER_QUERY)\n#define REGAL_NO_NAMESPACE_GL_ARB_TIMER_QUERY\n#endif\n\n#if (defined(GL_ARB_TIMER_QUERY) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_TIMER_QUERY)) && !defined(REGAL_NO_PLUGIN_GL_ARB_TIMER_QUERY)\n#define REGAL_NO_PLUGIN_GL_ARB_TIMER_QUERY\n#endif\n\n#if (defined(GL_ARB_TIMER_QUERY) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_TIMER_QUERY)) && !defined(REGAL_NO_DECLARATION_GL_ARB_TIMER_QUERY)\n#define REGAL_NO_DECLARATION_GL_ARB_TIMER_QUERY\n#endif\n\n#ifndef GL_ARB_timer_query\n#define GL_ARB_timer_query 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_TIMER_QUERY\n#define GL_TIME_ELAPSED 0x88bf     /* 35007 */\n#define GL_TIMESTAMP    0x8e28     /* 36392 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_TIMER_QUERY\ntypedef void (REGAL_CALL *PFNGLGETQUERYOBJECTI64VPROC)(GLuint id, GLenum pname, GLint64 *params);\ntypedef void (REGAL_CALL *PFNGLGETQUERYOBJECTUI64VPROC)(GLuint id, GLenum pname, GLuint64 *params);\ntypedef void (REGAL_CALL *PFNGLQUERYCOUNTERPROC)(GLuint id, GLenum target);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_TIMER_QUERY\n#define glGetQueryObjecti64v                rglGetQueryObjecti64v\n#define glGetQueryObjectui64v               rglGetQueryObjectui64v\n#define glQueryCounter                      rglQueryCounter\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_TIMER_QUERY\nREGAL_DECL void REGAL_CALL glGetQueryObjecti64v(GLuint id, GLenum pname, GLint64 *params);\nREGAL_DECL void REGAL_CALL glGetQueryObjectui64v(GLuint id, GLenum pname, GLuint64 *params);\nREGAL_DECL void REGAL_CALL glQueryCounter(GLuint id, GLenum target);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_TIMER_QUERY\nREGAL_DECL void REGAL_CALL plugin_glGetQueryObjecti64v(GLuint id, GLenum pname, GLint64 *params);\nREGAL_DECL void REGAL_CALL plugin_glGetQueryObjectui64v(GLuint id, GLenum pname, GLuint64 *params);\nREGAL_DECL void REGAL_CALL plugin_glQueryCounter(GLuint id, GLenum target);\n#endif\n\n/**\n ** GL_ARB_transform_feedback2\n **/\n\n#if (defined(GL_ARB_TRANSFORM_FEEDBACK2) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_TRANSFORM_FEEDBACK2)) && !defined(REGAL_NO_ENUM_GL_ARB_TRANSFORM_FEEDBACK2)\n#define REGAL_NO_ENUM_GL_ARB_TRANSFORM_FEEDBACK2\n#endif\n\n#if (defined(GL_ARB_TRANSFORM_FEEDBACK2) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_TRANSFORM_FEEDBACK2)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_TRANSFORM_FEEDBACK2)\n#define REGAL_NO_TYPEDEF_GL_ARB_TRANSFORM_FEEDBACK2\n#endif\n\n#if (defined(GL_ARB_TRANSFORM_FEEDBACK2) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_TRANSFORM_FEEDBACK2)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_TRANSFORM_FEEDBACK2)\n#define REGAL_NO_NAMESPACE_GL_ARB_TRANSFORM_FEEDBACK2\n#endif\n\n#if (defined(GL_ARB_TRANSFORM_FEEDBACK2) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_TRANSFORM_FEEDBACK2)) && !defined(REGAL_NO_PLUGIN_GL_ARB_TRANSFORM_FEEDBACK2)\n#define REGAL_NO_PLUGIN_GL_ARB_TRANSFORM_FEEDBACK2\n#endif\n\n#if (defined(GL_ARB_TRANSFORM_FEEDBACK2) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_TRANSFORM_FEEDBACK2)) && !defined(REGAL_NO_DECLARATION_GL_ARB_TRANSFORM_FEEDBACK2)\n#define REGAL_NO_DECLARATION_GL_ARB_TRANSFORM_FEEDBACK2\n#endif\n\n#ifndef GL_ARB_transform_feedback2\n#define GL_ARB_transform_feedback2 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_TRANSFORM_FEEDBACK2\n#define GL_TRANSFORM_FEEDBACK               0x8e22     /* 36386 */\n#define GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED 0x8e23     /* 36387 */\n#define GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE 0x8e24     /* 36388 */\n#define GL_TRANSFORM_FEEDBACK_BINDING       0x8e25     /* 36389 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_TRANSFORM_FEEDBACK2\ntypedef GLboolean (REGAL_CALL *PFNGLISTRANSFORMFEEDBACKPROC)(GLuint id);\ntypedef void (REGAL_CALL *PFNGLBINDTRANSFORMFEEDBACKPROC)(GLenum target, GLuint id);\ntypedef void (REGAL_CALL *PFNGLDELETETRANSFORMFEEDBACKSPROC)(GLsizei n, const GLuint *ids);\ntypedef void (REGAL_CALL *PFNGLDRAWTRANSFORMFEEDBACKPROC)(GLenum mode, GLuint name);\ntypedef void (REGAL_CALL *PFNGLGENTRANSFORMFEEDBACKSPROC)(GLsizei n, GLuint *ids);\ntypedef void (REGAL_CALL *PFNGLPAUSETRANSFORMFEEDBACKPROC)(void);\ntypedef void (REGAL_CALL *PFNGLRESUMETRANSFORMFEEDBACKPROC)(void);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_TRANSFORM_FEEDBACK2\n#define glBindTransformFeedback             rglBindTransformFeedback\n#define glDeleteTransformFeedbacks          rglDeleteTransformFeedbacks\n#define glDrawTransformFeedback             rglDrawTransformFeedback\n#define glGenTransformFeedbacks             rglGenTransformFeedbacks\n#define glIsTransformFeedback               rglIsTransformFeedback\n#define glPauseTransformFeedback            rglPauseTransformFeedback\n#define glResumeTransformFeedback           rglResumeTransformFeedback\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_TRANSFORM_FEEDBACK2\nREGAL_DECL GLboolean REGAL_CALL glIsTransformFeedback(GLuint id);\nREGAL_DECL void REGAL_CALL glBindTransformFeedback(GLenum target, GLuint id);\nREGAL_DECL void REGAL_CALL glDeleteTransformFeedbacks(GLsizei n, const GLuint *ids);\nREGAL_DECL void REGAL_CALL glDrawTransformFeedback(GLenum mode, GLuint name);\nREGAL_DECL void REGAL_CALL glGenTransformFeedbacks(GLsizei n, GLuint *ids);\nREGAL_DECL void REGAL_CALL glPauseTransformFeedback(void);\nREGAL_DECL void REGAL_CALL glResumeTransformFeedback(void);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_TRANSFORM_FEEDBACK2\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsTransformFeedback(GLuint id);\nREGAL_DECL void REGAL_CALL plugin_glBindTransformFeedback(GLenum target, GLuint id);\nREGAL_DECL void REGAL_CALL plugin_glDeleteTransformFeedbacks(GLsizei n, const GLuint *ids);\nREGAL_DECL void REGAL_CALL plugin_glDrawTransformFeedback(GLenum mode, GLuint name);\nREGAL_DECL void REGAL_CALL plugin_glGenTransformFeedbacks(GLsizei n, GLuint *ids);\nREGAL_DECL void REGAL_CALL plugin_glPauseTransformFeedback(void);\nREGAL_DECL void REGAL_CALL plugin_glResumeTransformFeedback(void);\n#endif\n\n/**\n ** GL_ARB_transform_feedback3\n **/\n\n#if (defined(GL_ARB_TRANSFORM_FEEDBACK3) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_TRANSFORM_FEEDBACK3)) && !defined(REGAL_NO_ENUM_GL_ARB_TRANSFORM_FEEDBACK3)\n#define REGAL_NO_ENUM_GL_ARB_TRANSFORM_FEEDBACK3\n#endif\n\n#if (defined(GL_ARB_TRANSFORM_FEEDBACK3) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_TRANSFORM_FEEDBACK3)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_TRANSFORM_FEEDBACK3)\n#define REGAL_NO_TYPEDEF_GL_ARB_TRANSFORM_FEEDBACK3\n#endif\n\n#if (defined(GL_ARB_TRANSFORM_FEEDBACK3) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_TRANSFORM_FEEDBACK3)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_TRANSFORM_FEEDBACK3)\n#define REGAL_NO_NAMESPACE_GL_ARB_TRANSFORM_FEEDBACK3\n#endif\n\n#if (defined(GL_ARB_TRANSFORM_FEEDBACK3) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_TRANSFORM_FEEDBACK3)) && !defined(REGAL_NO_PLUGIN_GL_ARB_TRANSFORM_FEEDBACK3)\n#define REGAL_NO_PLUGIN_GL_ARB_TRANSFORM_FEEDBACK3\n#endif\n\n#if (defined(GL_ARB_TRANSFORM_FEEDBACK3) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_TRANSFORM_FEEDBACK3)) && !defined(REGAL_NO_DECLARATION_GL_ARB_TRANSFORM_FEEDBACK3)\n#define REGAL_NO_DECLARATION_GL_ARB_TRANSFORM_FEEDBACK3\n#endif\n\n#ifndef GL_ARB_transform_feedback3\n#define GL_ARB_transform_feedback3 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_TRANSFORM_FEEDBACK3\n#define GL_MAX_TRANSFORM_FEEDBACK_BUFFERS 0x8e70 /* 36464 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_TRANSFORM_FEEDBACK3\ntypedef void (REGAL_CALL *PFNGLBEGINQUERYINDEXEDPROC)(GLenum target, GLuint index, GLuint id);\ntypedef void (REGAL_CALL *PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC)(GLenum mode, GLuint id, GLuint stream);\ntypedef void (REGAL_CALL *PFNGLENDQUERYINDEXEDPROC)(GLenum target, GLuint index);\ntypedef void (REGAL_CALL *PFNGLGETQUERYINDEXEDIVPROC)(GLenum target, GLuint index, GLenum pname, GLint *params);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_TRANSFORM_FEEDBACK3\n#define glBeginQueryIndexed                 rglBeginQueryIndexed\n#define glDrawTransformFeedbackStream       rglDrawTransformFeedbackStream\n#define glEndQueryIndexed                   rglEndQueryIndexed\n#define glGetQueryIndexediv                 rglGetQueryIndexediv\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_TRANSFORM_FEEDBACK3\nREGAL_DECL void REGAL_CALL glBeginQueryIndexed(GLenum target, GLuint index, GLuint id);\nREGAL_DECL void REGAL_CALL glDrawTransformFeedbackStream(GLenum mode, GLuint id, GLuint stream);\nREGAL_DECL void REGAL_CALL glEndQueryIndexed(GLenum target, GLuint index);\nREGAL_DECL void REGAL_CALL glGetQueryIndexediv(GLenum target, GLuint index, GLenum pname, GLint *params);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_TRANSFORM_FEEDBACK3\nREGAL_DECL void REGAL_CALL plugin_glBeginQueryIndexed(GLenum target, GLuint index, GLuint id);\nREGAL_DECL void REGAL_CALL plugin_glDrawTransformFeedbackStream(GLenum mode, GLuint id, GLuint stream);\nREGAL_DECL void REGAL_CALL plugin_glEndQueryIndexed(GLenum target, GLuint index);\nREGAL_DECL void REGAL_CALL plugin_glGetQueryIndexediv(GLenum target, GLuint index, GLenum pname, GLint *params);\n#endif\n\n/**\n ** GL_ARB_transform_feedback_instanced\n **/\n\n#if (defined(GL_ARB_TRANSFORM_FEEDBACK_INSTANCED) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_TRANSFORM_FEEDBACK_INSTANCED)) && !defined(REGAL_NO_ENUM_GL_ARB_TRANSFORM_FEEDBACK_INSTANCED)\n#define REGAL_NO_ENUM_GL_ARB_TRANSFORM_FEEDBACK_INSTANCED\n#endif\n\n#if (defined(GL_ARB_TRANSFORM_FEEDBACK_INSTANCED) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_TRANSFORM_FEEDBACK_INSTANCED)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_TRANSFORM_FEEDBACK_INSTANCED)\n#define REGAL_NO_TYPEDEF_GL_ARB_TRANSFORM_FEEDBACK_INSTANCED\n#endif\n\n#if (defined(GL_ARB_TRANSFORM_FEEDBACK_INSTANCED) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_TRANSFORM_FEEDBACK_INSTANCED)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_TRANSFORM_FEEDBACK_INSTANCED)\n#define REGAL_NO_NAMESPACE_GL_ARB_TRANSFORM_FEEDBACK_INSTANCED\n#endif\n\n#if (defined(GL_ARB_TRANSFORM_FEEDBACK_INSTANCED) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_TRANSFORM_FEEDBACK_INSTANCED)) && !defined(REGAL_NO_PLUGIN_GL_ARB_TRANSFORM_FEEDBACK_INSTANCED)\n#define REGAL_NO_PLUGIN_GL_ARB_TRANSFORM_FEEDBACK_INSTANCED\n#endif\n\n#if (defined(GL_ARB_TRANSFORM_FEEDBACK_INSTANCED) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_TRANSFORM_FEEDBACK_INSTANCED)) && !defined(REGAL_NO_DECLARATION_GL_ARB_TRANSFORM_FEEDBACK_INSTANCED)\n#define REGAL_NO_DECLARATION_GL_ARB_TRANSFORM_FEEDBACK_INSTANCED\n#endif\n\n#ifndef GL_ARB_transform_feedback_instanced\n#define GL_ARB_transform_feedback_instanced 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_TRANSFORM_FEEDBACK_INSTANCED\ntypedef void (REGAL_CALL *PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC)(GLenum mode, GLuint id, GLsizei primcount);\ntypedef void (REGAL_CALL *PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC)(GLenum mode, GLuint id, GLuint stream, GLsizei primcount);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_TRANSFORM_FEEDBACK_INSTANCED\n#define glDrawTransformFeedbackInstanced    rglDrawTransformFeedbackInstanced\n#define glDrawTransformFeedbackStreamInstanced rglDrawTransformFeedbackStreamInstanced\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_TRANSFORM_FEEDBACK_INSTANCED\nREGAL_DECL void REGAL_CALL glDrawTransformFeedbackInstanced(GLenum mode, GLuint id, GLsizei primcount);\nREGAL_DECL void REGAL_CALL glDrawTransformFeedbackStreamInstanced(GLenum mode, GLuint id, GLuint stream, GLsizei primcount);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_TRANSFORM_FEEDBACK_INSTANCED\nREGAL_DECL void REGAL_CALL plugin_glDrawTransformFeedbackInstanced(GLenum mode, GLuint id, GLsizei primcount);\nREGAL_DECL void REGAL_CALL plugin_glDrawTransformFeedbackStreamInstanced(GLenum mode, GLuint id, GLuint stream, GLsizei primcount);\n#endif\n\n/**\n ** GL_ARB_transpose_matrix\n **/\n\n#if (defined(GL_ARB_TRANSPOSE_MATRIX) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_TRANSPOSE_MATRIX)) && !defined(REGAL_NO_ENUM_GL_ARB_TRANSPOSE_MATRIX)\n#define REGAL_NO_ENUM_GL_ARB_TRANSPOSE_MATRIX\n#endif\n\n#if (defined(GL_ARB_TRANSPOSE_MATRIX) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_TRANSPOSE_MATRIX)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_TRANSPOSE_MATRIX)\n#define REGAL_NO_TYPEDEF_GL_ARB_TRANSPOSE_MATRIX\n#endif\n\n#if (defined(GL_ARB_TRANSPOSE_MATRIX) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_TRANSPOSE_MATRIX)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_TRANSPOSE_MATRIX)\n#define REGAL_NO_NAMESPACE_GL_ARB_TRANSPOSE_MATRIX\n#endif\n\n#if (defined(GL_ARB_TRANSPOSE_MATRIX) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_TRANSPOSE_MATRIX)) && !defined(REGAL_NO_PLUGIN_GL_ARB_TRANSPOSE_MATRIX)\n#define REGAL_NO_PLUGIN_GL_ARB_TRANSPOSE_MATRIX\n#endif\n\n#if (defined(GL_ARB_TRANSPOSE_MATRIX) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_TRANSPOSE_MATRIX)) && !defined(REGAL_NO_DECLARATION_GL_ARB_TRANSPOSE_MATRIX)\n#define REGAL_NO_DECLARATION_GL_ARB_TRANSPOSE_MATRIX\n#endif\n\n#ifndef GL_ARB_transpose_matrix\n#define GL_ARB_transpose_matrix 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_TRANSPOSE_MATRIX\n#define GL_TRANSPOSE_MODELVIEW_MATRIX_ARB  0x84e3     /* 34019 */\n#define GL_TRANSPOSE_PROJECTION_MATRIX_ARB 0x84e4     /* 34020 */\n#define GL_TRANSPOSE_TEXTURE_MATRIX_ARB    0x84e5     /* 34021 */\n#define GL_TRANSPOSE_COLOR_MATRIX_ARB      0x84e6     /* 34022 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_TRANSPOSE_MATRIX\ntypedef void (REGAL_CALL *PFNGLLOADTRANSPOSEMATRIXDARBPROC)(const GLdouble *m);\ntypedef void (REGAL_CALL *PFNGLLOADTRANSPOSEMATRIXFARBPROC)(const GLfloat *m);\ntypedef void (REGAL_CALL *PFNGLMULTTRANSPOSEMATRIXDARBPROC)(const GLdouble *m);\ntypedef void (REGAL_CALL *PFNGLMULTTRANSPOSEMATRIXFARBPROC)(const GLfloat *m);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_TRANSPOSE_MATRIX\n#define glLoadTransposeMatrixdARB           rglLoadTransposeMatrixdARB\n#define glLoadTransposeMatrixfARB           rglLoadTransposeMatrixfARB\n#define glMultTransposeMatrixdARB           rglMultTransposeMatrixdARB\n#define glMultTransposeMatrixfARB           rglMultTransposeMatrixfARB\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_TRANSPOSE_MATRIX\nREGAL_DECL void REGAL_CALL glLoadTransposeMatrixdARB(const GLdouble *m);\nREGAL_DECL void REGAL_CALL glLoadTransposeMatrixfARB(const GLfloat *m);\nREGAL_DECL void REGAL_CALL glMultTransposeMatrixdARB(const GLdouble *m);\nREGAL_DECL void REGAL_CALL glMultTransposeMatrixfARB(const GLfloat *m);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_TRANSPOSE_MATRIX\nREGAL_DECL void REGAL_CALL plugin_glLoadTransposeMatrixdARB(const GLdouble *m);\nREGAL_DECL void REGAL_CALL plugin_glLoadTransposeMatrixfARB(const GLfloat *m);\nREGAL_DECL void REGAL_CALL plugin_glMultTransposeMatrixdARB(const GLdouble *m);\nREGAL_DECL void REGAL_CALL plugin_glMultTransposeMatrixfARB(const GLfloat *m);\n#endif\n\n/**\n ** GL_ARB_uniform_buffer_object\n **/\n\n#if (defined(GL_ARB_UNIFORM_BUFFER_OBJECT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_UNIFORM_BUFFER_OBJECT)) && !defined(REGAL_NO_ENUM_GL_ARB_UNIFORM_BUFFER_OBJECT)\n#define REGAL_NO_ENUM_GL_ARB_UNIFORM_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_ARB_UNIFORM_BUFFER_OBJECT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_UNIFORM_BUFFER_OBJECT)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_UNIFORM_BUFFER_OBJECT)\n#define REGAL_NO_TYPEDEF_GL_ARB_UNIFORM_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_ARB_UNIFORM_BUFFER_OBJECT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_UNIFORM_BUFFER_OBJECT)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_UNIFORM_BUFFER_OBJECT)\n#define REGAL_NO_NAMESPACE_GL_ARB_UNIFORM_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_ARB_UNIFORM_BUFFER_OBJECT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_UNIFORM_BUFFER_OBJECT)) && !defined(REGAL_NO_PLUGIN_GL_ARB_UNIFORM_BUFFER_OBJECT)\n#define REGAL_NO_PLUGIN_GL_ARB_UNIFORM_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_ARB_UNIFORM_BUFFER_OBJECT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_UNIFORM_BUFFER_OBJECT)) && !defined(REGAL_NO_DECLARATION_GL_ARB_UNIFORM_BUFFER_OBJECT)\n#define REGAL_NO_DECLARATION_GL_ARB_UNIFORM_BUFFER_OBJECT\n#endif\n\n#ifndef GL_ARB_uniform_buffer_object\n#define GL_ARB_uniform_buffer_object 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_UNIFORM_BUFFER_OBJECT\n#define GL_UNIFORM_BUFFER                              0x8a11         /* 35345 */\n#define GL_UNIFORM_BUFFER_BINDING                      0x8a28         /* 35368 */\n#define GL_UNIFORM_BUFFER_START                        0x8a29         /* 35369 */\n#define GL_UNIFORM_BUFFER_SIZE                         0x8a2a         /* 35370 */\n#define GL_MAX_VERTEX_UNIFORM_BLOCKS                   0x8a2b         /* 35371 */\n#define GL_MAX_GEOMETRY_UNIFORM_BLOCKS                 0x8a2c         /* 35372 */\n#define GL_MAX_FRAGMENT_UNIFORM_BLOCKS                 0x8a2d         /* 35373 */\n#define GL_MAX_COMBINED_UNIFORM_BLOCKS                 0x8a2e         /* 35374 */\n#define GL_MAX_UNIFORM_BUFFER_BINDINGS                 0x8a2f         /* 35375 */\n#define GL_MAX_UNIFORM_BLOCK_SIZE                      0x8a30         /* 35376 */\n#define GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS      0x8a31         /* 35377 */\n#define GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS    0x8a32         /* 35378 */\n#define GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS    0x8a33         /* 35379 */\n#define GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT             0x8a34         /* 35380 */\n#define GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH        0x8a35         /* 35381 */\n#define GL_ACTIVE_UNIFORM_BLOCKS                       0x8a36         /* 35382 */\n#define GL_UNIFORM_TYPE                                0x8a37         /* 35383 */\n#define GL_UNIFORM_SIZE                                0x8a38         /* 35384 */\n#define GL_UNIFORM_NAME_LENGTH                         0x8a39         /* 35385 */\n#define GL_UNIFORM_BLOCK_INDEX                         0x8a3a         /* 35386 */\n#define GL_UNIFORM_OFFSET                              0x8a3b         /* 35387 */\n#define GL_UNIFORM_ARRAY_STRIDE                        0x8a3c         /* 35388 */\n#define GL_UNIFORM_MATRIX_STRIDE                       0x8a3d         /* 35389 */\n#define GL_UNIFORM_IS_ROW_MAJOR                        0x8a3e         /* 35390 */\n#define GL_UNIFORM_BLOCK_BINDING                       0x8a3f         /* 35391 */\n#define GL_UNIFORM_BLOCK_DATA_SIZE                     0x8a40         /* 35392 */\n#define GL_UNIFORM_BLOCK_NAME_LENGTH                   0x8a41         /* 35393 */\n#define GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS               0x8a42         /* 35394 */\n#define GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES        0x8a43         /* 35395 */\n#define GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER   0x8a44         /* 35396 */\n#define GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER 0x8a45         /* 35397 */\n#define GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER 0x8a46         /* 35398 */\n#define GL_INVALID_INDEX                               0xffffffff     /* 4294967295 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_UNIFORM_BUFFER_OBJECT\ntypedef GLuint (REGAL_CALL *PFNGLGETUNIFORMBLOCKINDEXPROC)(GLuint program, const GLchar *uniformBlockName);\ntypedef void (REGAL_CALL *PFNGLBINDBUFFERBASEPROC)(GLenum target, GLuint index, GLuint buffer);\ntypedef void (REGAL_CALL *PFNGLBINDBUFFERRANGEPROC)(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);\ntypedef void (REGAL_CALL *PFNGLGETACTIVEUNIFORMBLOCKIVPROC)(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC)(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName);\ntypedef void (REGAL_CALL *PFNGLGETACTIVEUNIFORMNAMEPROC)(GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformName);\ntypedef void (REGAL_CALL *PFNGLGETACTIVEUNIFORMSIVPROC)(GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETINTEGERI_VPROC)(GLenum target, GLuint index, GLint *data);\ntypedef void (REGAL_CALL *PFNGLGETUNIFORMINDICESPROC)(GLuint program, GLsizei uniformCount, const GLchar * const *uniformNames, GLuint *uniformIndices);\ntypedef void (REGAL_CALL *PFNGLUNIFORMBLOCKBINDINGPROC)(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_UNIFORM_BUFFER_OBJECT\n#define glBindBufferBase                    rglBindBufferBase\n#define glBindBufferRange                   rglBindBufferRange\n#define glGetActiveUniformBlockName         rglGetActiveUniformBlockName\n#define glGetActiveUniformBlockiv           rglGetActiveUniformBlockiv\n#define glGetActiveUniformName              rglGetActiveUniformName\n#define glGetActiveUniformsiv               rglGetActiveUniformsiv\n#define glGetIntegeri_v                     rglGetIntegeri_v\n#define glGetUniformBlockIndex              rglGetUniformBlockIndex\n#define glGetUniformIndices                 rglGetUniformIndices\n#define glUniformBlockBinding               rglUniformBlockBinding\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_UNIFORM_BUFFER_OBJECT\nREGAL_DECL GLuint REGAL_CALL glGetUniformBlockIndex(GLuint program, const GLchar *uniformBlockName);\nREGAL_DECL void REGAL_CALL glBindBufferBase(GLenum target, GLuint index, GLuint buffer);\nREGAL_DECL void REGAL_CALL glBindBufferRange(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);\nREGAL_DECL void REGAL_CALL glGetActiveUniformBlockName(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName);\nREGAL_DECL void REGAL_CALL glGetActiveUniformBlockiv(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetActiveUniformName(GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformName);\nREGAL_DECL void REGAL_CALL glGetActiveUniformsiv(GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetIntegeri_v(GLenum target, GLuint index, GLint *data);\nREGAL_DECL void REGAL_CALL glGetUniformIndices(GLuint program, GLsizei uniformCount, const GLchar * const *uniformNames, GLuint *uniformIndices);\nREGAL_DECL void REGAL_CALL glUniformBlockBinding(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_UNIFORM_BUFFER_OBJECT\nREGAL_DECL GLuint REGAL_CALL plugin_glGetUniformBlockIndex(GLuint program, const GLchar *uniformBlockName);\nREGAL_DECL void REGAL_CALL plugin_glBindBufferBase(GLenum target, GLuint index, GLuint buffer);\nREGAL_DECL void REGAL_CALL plugin_glBindBufferRange(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);\nREGAL_DECL void REGAL_CALL plugin_glGetActiveUniformBlockName(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName);\nREGAL_DECL void REGAL_CALL plugin_glGetActiveUniformBlockiv(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetActiveUniformName(GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformName);\nREGAL_DECL void REGAL_CALL plugin_glGetActiveUniformsiv(GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetIntegeri_v(GLenum target, GLuint index, GLint *data);\nREGAL_DECL void REGAL_CALL plugin_glGetUniformIndices(GLuint program, GLsizei uniformCount, const GLchar * const *uniformNames, GLuint *uniformIndices);\nREGAL_DECL void REGAL_CALL plugin_glUniformBlockBinding(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding);\n#endif\n\n/**\n ** GL_ARB_vertex_array_object\n **/\n\n#if (defined(GL_ARB_VERTEX_ARRAY_OBJECT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_VERTEX_ARRAY_OBJECT)) && !defined(REGAL_NO_ENUM_GL_ARB_VERTEX_ARRAY_OBJECT)\n#define REGAL_NO_ENUM_GL_ARB_VERTEX_ARRAY_OBJECT\n#endif\n\n#if (defined(GL_ARB_VERTEX_ARRAY_OBJECT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_VERTEX_ARRAY_OBJECT)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_VERTEX_ARRAY_OBJECT)\n#define REGAL_NO_TYPEDEF_GL_ARB_VERTEX_ARRAY_OBJECT\n#endif\n\n#if (defined(GL_ARB_VERTEX_ARRAY_OBJECT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_VERTEX_ARRAY_OBJECT)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_VERTEX_ARRAY_OBJECT)\n#define REGAL_NO_NAMESPACE_GL_ARB_VERTEX_ARRAY_OBJECT\n#endif\n\n#if (defined(GL_ARB_VERTEX_ARRAY_OBJECT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_VERTEX_ARRAY_OBJECT)) && !defined(REGAL_NO_PLUGIN_GL_ARB_VERTEX_ARRAY_OBJECT)\n#define REGAL_NO_PLUGIN_GL_ARB_VERTEX_ARRAY_OBJECT\n#endif\n\n#if (defined(GL_ARB_VERTEX_ARRAY_OBJECT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_VERTEX_ARRAY_OBJECT)) && !defined(REGAL_NO_DECLARATION_GL_ARB_VERTEX_ARRAY_OBJECT)\n#define REGAL_NO_DECLARATION_GL_ARB_VERTEX_ARRAY_OBJECT\n#endif\n\n#ifndef GL_ARB_vertex_array_object\n#define GL_ARB_vertex_array_object 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_VERTEX_ARRAY_OBJECT\n#define GL_VERTEX_ARRAY_BINDING 0x85b5 /* 34229 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_VERTEX_ARRAY_OBJECT\ntypedef GLboolean (REGAL_CALL *PFNGLISVERTEXARRAYPROC)(GLuint array);\ntypedef void (REGAL_CALL *PFNGLBINDVERTEXARRAYPROC)(GLuint array);\ntypedef void (REGAL_CALL *PFNGLDELETEVERTEXARRAYSPROC)(GLsizei n, const GLuint *arrays);\ntypedef void (REGAL_CALL *PFNGLGENVERTEXARRAYSPROC)(GLsizei n, GLuint *arrays);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_VERTEX_ARRAY_OBJECT\n#define glBindVertexArray                   rglBindVertexArray\n#define glDeleteVertexArrays                rglDeleteVertexArrays\n#define glGenVertexArrays                   rglGenVertexArrays\n#define glIsVertexArray                     rglIsVertexArray\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_VERTEX_ARRAY_OBJECT\nREGAL_DECL GLboolean REGAL_CALL glIsVertexArray(GLuint array);\nREGAL_DECL void REGAL_CALL glBindVertexArray(GLuint array);\nREGAL_DECL void REGAL_CALL glDeleteVertexArrays(GLsizei n, const GLuint *arrays);\nREGAL_DECL void REGAL_CALL glGenVertexArrays(GLsizei n, GLuint *arrays);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_VERTEX_ARRAY_OBJECT\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsVertexArray(GLuint array);\nREGAL_DECL void REGAL_CALL plugin_glBindVertexArray(GLuint array);\nREGAL_DECL void REGAL_CALL plugin_glDeleteVertexArrays(GLsizei n, const GLuint *arrays);\nREGAL_DECL void REGAL_CALL plugin_glGenVertexArrays(GLsizei n, GLuint *arrays);\n#endif\n\n/**\n ** GL_ARB_vertex_attrib_64bit\n **/\n\n#if (defined(GL_ARB_VERTEX_ATTRIB_64BIT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_VERTEX_ATTRIB_64BIT)) && !defined(REGAL_NO_ENUM_GL_ARB_VERTEX_ATTRIB_64BIT)\n#define REGAL_NO_ENUM_GL_ARB_VERTEX_ATTRIB_64BIT\n#endif\n\n#if (defined(GL_ARB_VERTEX_ATTRIB_64BIT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_VERTEX_ATTRIB_64BIT)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_VERTEX_ATTRIB_64BIT)\n#define REGAL_NO_TYPEDEF_GL_ARB_VERTEX_ATTRIB_64BIT\n#endif\n\n#if (defined(GL_ARB_VERTEX_ATTRIB_64BIT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_VERTEX_ATTRIB_64BIT)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_VERTEX_ATTRIB_64BIT)\n#define REGAL_NO_NAMESPACE_GL_ARB_VERTEX_ATTRIB_64BIT\n#endif\n\n#if (defined(GL_ARB_VERTEX_ATTRIB_64BIT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_VERTEX_ATTRIB_64BIT)) && !defined(REGAL_NO_PLUGIN_GL_ARB_VERTEX_ATTRIB_64BIT)\n#define REGAL_NO_PLUGIN_GL_ARB_VERTEX_ATTRIB_64BIT\n#endif\n\n#if (defined(GL_ARB_VERTEX_ATTRIB_64BIT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_VERTEX_ATTRIB_64BIT)) && !defined(REGAL_NO_DECLARATION_GL_ARB_VERTEX_ATTRIB_64BIT)\n#define REGAL_NO_DECLARATION_GL_ARB_VERTEX_ATTRIB_64BIT\n#endif\n\n#ifndef GL_ARB_vertex_attrib_64bit\n#define GL_ARB_vertex_attrib_64bit 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_VERTEX_ATTRIB_64BIT\ntypedef void (REGAL_CALL *PFNGLGETVERTEXATTRIBLDVPROC)(GLuint index, GLenum pname, GLdouble *params);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBL1DPROC)(GLuint index, GLdouble x);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBL1DVPROC)(GLuint index, const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBL2DPROC)(GLuint index, GLdouble x, GLdouble y);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBL2DVPROC)(GLuint index, const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBL3DPROC)(GLuint index, GLdouble x, GLdouble y, GLdouble z);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBL3DVPROC)(GLuint index, const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBL4DPROC)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBL4DVPROC)(GLuint index, const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBLPOINTERPROC)(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_VERTEX_ATTRIB_64BIT\n#define glGetVertexAttribLdv                rglGetVertexAttribLdv\n#define glVertexAttribL1d                   rglVertexAttribL1d\n#define glVertexAttribL1dv                  rglVertexAttribL1dv\n#define glVertexAttribL2d                   rglVertexAttribL2d\n#define glVertexAttribL2dv                  rglVertexAttribL2dv\n#define glVertexAttribL3d                   rglVertexAttribL3d\n#define glVertexAttribL3dv                  rglVertexAttribL3dv\n#define glVertexAttribL4d                   rglVertexAttribL4d\n#define glVertexAttribL4dv                  rglVertexAttribL4dv\n#define glVertexAttribLPointer              rglVertexAttribLPointer\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_VERTEX_ATTRIB_64BIT\nREGAL_DECL void REGAL_CALL glGetVertexAttribLdv(GLuint index, GLenum pname, GLdouble *params);\nREGAL_DECL void REGAL_CALL glVertexAttribL1d(GLuint index, GLdouble x);\nREGAL_DECL void REGAL_CALL glVertexAttribL1dv(GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL glVertexAttribL2d(GLuint index, GLdouble x, GLdouble y);\nREGAL_DECL void REGAL_CALL glVertexAttribL2dv(GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL glVertexAttribL3d(GLuint index, GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL glVertexAttribL3dv(GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL glVertexAttribL4d(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nREGAL_DECL void REGAL_CALL glVertexAttribL4dv(GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL glVertexAttribLPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_VERTEX_ATTRIB_64BIT\nREGAL_DECL void REGAL_CALL plugin_glGetVertexAttribLdv(GLuint index, GLenum pname, GLdouble *params);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribL1d(GLuint index, GLdouble x);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribL1dv(GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribL2d(GLuint index, GLdouble x, GLdouble y);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribL2dv(GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribL3d(GLuint index, GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribL3dv(GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribL4d(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribL4dv(GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribLPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);\n#endif\n\n/**\n ** GL_ARB_vertex_attrib_binding\n **/\n\n#if (defined(GL_ARB_VERTEX_ATTRIB_BINDING) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_VERTEX_ATTRIB_BINDING)) && !defined(REGAL_NO_ENUM_GL_ARB_VERTEX_ATTRIB_BINDING)\n#define REGAL_NO_ENUM_GL_ARB_VERTEX_ATTRIB_BINDING\n#endif\n\n#if (defined(GL_ARB_VERTEX_ATTRIB_BINDING) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_VERTEX_ATTRIB_BINDING)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_VERTEX_ATTRIB_BINDING)\n#define REGAL_NO_TYPEDEF_GL_ARB_VERTEX_ATTRIB_BINDING\n#endif\n\n#if (defined(GL_ARB_VERTEX_ATTRIB_BINDING) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_VERTEX_ATTRIB_BINDING)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_VERTEX_ATTRIB_BINDING)\n#define REGAL_NO_NAMESPACE_GL_ARB_VERTEX_ATTRIB_BINDING\n#endif\n\n#if (defined(GL_ARB_VERTEX_ATTRIB_BINDING) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_VERTEX_ATTRIB_BINDING)) && !defined(REGAL_NO_PLUGIN_GL_ARB_VERTEX_ATTRIB_BINDING)\n#define REGAL_NO_PLUGIN_GL_ARB_VERTEX_ATTRIB_BINDING\n#endif\n\n#if (defined(GL_ARB_VERTEX_ATTRIB_BINDING) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_VERTEX_ATTRIB_BINDING)) && !defined(REGAL_NO_DECLARATION_GL_ARB_VERTEX_ATTRIB_BINDING)\n#define REGAL_NO_DECLARATION_GL_ARB_VERTEX_ATTRIB_BINDING\n#endif\n\n#ifndef GL_ARB_vertex_attrib_binding\n#define GL_ARB_vertex_attrib_binding 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_VERTEX_ATTRIB_BINDING\n#define GL_VERTEX_ATTRIB_BINDING             0x82d4     /* 33492 */\n#define GL_VERTEX_ATTRIB_RELATIVE_OFFSET     0x82d5     /* 33493 */\n#define GL_VERTEX_BINDING_DIVISOR            0x82d6     /* 33494 */\n#define GL_VERTEX_BINDING_OFFSET             0x82d7     /* 33495 */\n#define GL_VERTEX_BINDING_STRIDE             0x82d8     /* 33496 */\n#define GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET 0x82d9     /* 33497 */\n#define GL_MAX_VERTEX_ATTRIB_BINDINGS        0x82da     /* 33498 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_VERTEX_ATTRIB_BINDING\ntypedef void (REGAL_CALL *PFNGLBINDVERTEXBUFFERPROC)(GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBBINDINGPROC)(GLuint attribindex, GLuint bindingindex);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBFORMATPROC)(GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBIFORMATPROC)(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBLFORMATPROC)(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);\ntypedef void (REGAL_CALL *PFNGLVERTEXBINDINGDIVISORPROC)(GLuint bindingindex, GLuint divisor);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_VERTEX_ATTRIB_BINDING\n#define glBindVertexBuffer                  rglBindVertexBuffer\n#define glVertexAttribBinding               rglVertexAttribBinding\n#define glVertexAttribFormat                rglVertexAttribFormat\n#define glVertexAttribIFormat               rglVertexAttribIFormat\n#define glVertexAttribLFormat               rglVertexAttribLFormat\n#define glVertexBindingDivisor              rglVertexBindingDivisor\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_VERTEX_ATTRIB_BINDING\nREGAL_DECL void REGAL_CALL glBindVertexBuffer(GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride);\nREGAL_DECL void REGAL_CALL glVertexAttribBinding(GLuint attribindex, GLuint bindingindex);\nREGAL_DECL void REGAL_CALL glVertexAttribFormat(GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset);\nREGAL_DECL void REGAL_CALL glVertexAttribIFormat(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);\nREGAL_DECL void REGAL_CALL glVertexAttribLFormat(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);\nREGAL_DECL void REGAL_CALL glVertexBindingDivisor(GLuint bindingindex, GLuint divisor);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_VERTEX_ATTRIB_BINDING\nREGAL_DECL void REGAL_CALL plugin_glBindVertexBuffer(GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribBinding(GLuint attribindex, GLuint bindingindex);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribFormat(GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribIFormat(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribLFormat(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);\nREGAL_DECL void REGAL_CALL plugin_glVertexBindingDivisor(GLuint bindingindex, GLuint divisor);\n#endif\n\n/**\n ** GL_ARB_vertex_blend\n **/\n\n#if (defined(GL_ARB_VERTEX_BLEND) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_VERTEX_BLEND)) && !defined(REGAL_NO_ENUM_GL_ARB_VERTEX_BLEND)\n#define REGAL_NO_ENUM_GL_ARB_VERTEX_BLEND\n#endif\n\n#if (defined(GL_ARB_VERTEX_BLEND) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_VERTEX_BLEND)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_VERTEX_BLEND)\n#define REGAL_NO_TYPEDEF_GL_ARB_VERTEX_BLEND\n#endif\n\n#if (defined(GL_ARB_VERTEX_BLEND) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_VERTEX_BLEND)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_VERTEX_BLEND)\n#define REGAL_NO_NAMESPACE_GL_ARB_VERTEX_BLEND\n#endif\n\n#if (defined(GL_ARB_VERTEX_BLEND) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_VERTEX_BLEND)) && !defined(REGAL_NO_PLUGIN_GL_ARB_VERTEX_BLEND)\n#define REGAL_NO_PLUGIN_GL_ARB_VERTEX_BLEND\n#endif\n\n#if (defined(GL_ARB_VERTEX_BLEND) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_VERTEX_BLEND)) && !defined(REGAL_NO_DECLARATION_GL_ARB_VERTEX_BLEND)\n#define REGAL_NO_DECLARATION_GL_ARB_VERTEX_BLEND\n#endif\n\n#ifndef GL_ARB_vertex_blend\n#define GL_ARB_vertex_blend 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_VERTEX_BLEND\n#define GL_MODELVIEW0_ARB           0x1700     /* 5888 */\n#define GL_MODELVIEW1_ARB           0x850a     /* 34058 */\n#define GL_MAX_VERTEX_UNITS_ARB     0x86a4     /* 34468 */\n#define GL_ACTIVE_VERTEX_UNITS_ARB  0x86a5     /* 34469 */\n#define GL_WEIGHT_SUM_UNITY_ARB     0x86a6     /* 34470 */\n#define GL_VERTEX_BLEND_ARB         0x86a7     /* 34471 */\n#define GL_CURRENT_WEIGHT_ARB       0x86a8     /* 34472 */\n#define GL_WEIGHT_ARRAY_TYPE_ARB    0x86a9     /* 34473 */\n#define GL_WEIGHT_ARRAY_STRIDE_ARB  0x86aa     /* 34474 */\n#define GL_WEIGHT_ARRAY_SIZE_ARB    0x86ab     /* 34475 */\n#define GL_WEIGHT_ARRAY_POINTER_ARB 0x86ac     /* 34476 */\n#define GL_WEIGHT_ARRAY_ARB         0x86ad     /* 34477 */\n#define GL_MODELVIEW2_ARB           0x8722     /* 34594 */\n#define GL_MODELVIEW3_ARB           0x8723     /* 34595 */\n#define GL_MODELVIEW4_ARB           0x8724     /* 34596 */\n#define GL_MODELVIEW5_ARB           0x8725     /* 34597 */\n#define GL_MODELVIEW6_ARB           0x8726     /* 34598 */\n#define GL_MODELVIEW7_ARB           0x8727     /* 34599 */\n#define GL_MODELVIEW8_ARB           0x8728     /* 34600 */\n#define GL_MODELVIEW9_ARB           0x8729     /* 34601 */\n#define GL_MODELVIEW10_ARB          0x872a     /* 34602 */\n#define GL_MODELVIEW11_ARB          0x872b     /* 34603 */\n#define GL_MODELVIEW12_ARB          0x872c     /* 34604 */\n#define GL_MODELVIEW13_ARB          0x872d     /* 34605 */\n#define GL_MODELVIEW14_ARB          0x872e     /* 34606 */\n#define GL_MODELVIEW15_ARB          0x872f     /* 34607 */\n#define GL_MODELVIEW16_ARB          0x8730     /* 34608 */\n#define GL_MODELVIEW17_ARB          0x8731     /* 34609 */\n#define GL_MODELVIEW18_ARB          0x8732     /* 34610 */\n#define GL_MODELVIEW19_ARB          0x8733     /* 34611 */\n#define GL_MODELVIEW20_ARB          0x8734     /* 34612 */\n#define GL_MODELVIEW21_ARB          0x8735     /* 34613 */\n#define GL_MODELVIEW22_ARB          0x8736     /* 34614 */\n#define GL_MODELVIEW23_ARB          0x8737     /* 34615 */\n#define GL_MODELVIEW24_ARB          0x8738     /* 34616 */\n#define GL_MODELVIEW25_ARB          0x8739     /* 34617 */\n#define GL_MODELVIEW26_ARB          0x873a     /* 34618 */\n#define GL_MODELVIEW27_ARB          0x873b     /* 34619 */\n#define GL_MODELVIEW28_ARB          0x873c     /* 34620 */\n#define GL_MODELVIEW29_ARB          0x873d     /* 34621 */\n#define GL_MODELVIEW30_ARB          0x873e     /* 34622 */\n#define GL_MODELVIEW31_ARB          0x873f     /* 34623 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_VERTEX_BLEND\ntypedef void (REGAL_CALL *PFNGLVERTEXBLENDARBPROC)(GLint count);\ntypedef void (REGAL_CALL *PFNGLWEIGHTBVARBPROC)(GLint size, const GLbyte *weights);\ntypedef void (REGAL_CALL *PFNGLWEIGHTDVARBPROC)(GLint size, const GLdouble *weights);\ntypedef void (REGAL_CALL *PFNGLWEIGHTFVARBPROC)(GLint size, const GLfloat *weights);\ntypedef void (REGAL_CALL *PFNGLWEIGHTIVARBPROC)(GLint size, const GLint *weights);\ntypedef void (REGAL_CALL *PFNGLWEIGHTPOINTERARBPROC)(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);\ntypedef void (REGAL_CALL *PFNGLWEIGHTSVARBPROC)(GLint size, const GLshort *weights);\ntypedef void (REGAL_CALL *PFNGLWEIGHTUBVARBPROC)(GLint size, const GLubyte *weights);\ntypedef void (REGAL_CALL *PFNGLWEIGHTUIVARBPROC)(GLint size, const GLuint *weights);\ntypedef void (REGAL_CALL *PFNGLWEIGHTUSVARBPROC)(GLint size, const GLushort *weights);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_VERTEX_BLEND\n#define glVertexBlendARB                    rglVertexBlendARB\n#define glWeightPointerARB                  rglWeightPointerARB\n#define glWeightbvARB                       rglWeightbvARB\n#define glWeightdvARB                       rglWeightdvARB\n#define glWeightfvARB                       rglWeightfvARB\n#define glWeightivARB                       rglWeightivARB\n#define glWeightsvARB                       rglWeightsvARB\n#define glWeightubvARB                      rglWeightubvARB\n#define glWeightuivARB                      rglWeightuivARB\n#define glWeightusvARB                      rglWeightusvARB\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_VERTEX_BLEND\nREGAL_DECL void REGAL_CALL glVertexBlendARB(GLint count);\nREGAL_DECL void REGAL_CALL glWeightPointerARB(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL glWeightbvARB(GLint size, const GLbyte *weights);\nREGAL_DECL void REGAL_CALL glWeightdvARB(GLint size, const GLdouble *weights);\nREGAL_DECL void REGAL_CALL glWeightfvARB(GLint size, const GLfloat *weights);\nREGAL_DECL void REGAL_CALL glWeightivARB(GLint size, const GLint *weights);\nREGAL_DECL void REGAL_CALL glWeightsvARB(GLint size, const GLshort *weights);\nREGAL_DECL void REGAL_CALL glWeightubvARB(GLint size, const GLubyte *weights);\nREGAL_DECL void REGAL_CALL glWeightuivARB(GLint size, const GLuint *weights);\nREGAL_DECL void REGAL_CALL glWeightusvARB(GLint size, const GLushort *weights);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_VERTEX_BLEND\nREGAL_DECL void REGAL_CALL plugin_glVertexBlendARB(GLint count);\nREGAL_DECL void REGAL_CALL plugin_glWeightPointerARB(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL plugin_glWeightbvARB(GLint size, const GLbyte *weights);\nREGAL_DECL void REGAL_CALL plugin_glWeightdvARB(GLint size, const GLdouble *weights);\nREGAL_DECL void REGAL_CALL plugin_glWeightfvARB(GLint size, const GLfloat *weights);\nREGAL_DECL void REGAL_CALL plugin_glWeightivARB(GLint size, const GLint *weights);\nREGAL_DECL void REGAL_CALL plugin_glWeightsvARB(GLint size, const GLshort *weights);\nREGAL_DECL void REGAL_CALL plugin_glWeightubvARB(GLint size, const GLubyte *weights);\nREGAL_DECL void REGAL_CALL plugin_glWeightuivARB(GLint size, const GLuint *weights);\nREGAL_DECL void REGAL_CALL plugin_glWeightusvARB(GLint size, const GLushort *weights);\n#endif\n\n/**\n ** GL_ARB_vertex_buffer_object\n **/\n\n#if (defined(GL_ARB_VERTEX_BUFFER_OBJECT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_VERTEX_BUFFER_OBJECT)) && !defined(REGAL_NO_ENUM_GL_ARB_VERTEX_BUFFER_OBJECT)\n#define REGAL_NO_ENUM_GL_ARB_VERTEX_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_ARB_VERTEX_BUFFER_OBJECT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_VERTEX_BUFFER_OBJECT)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_VERTEX_BUFFER_OBJECT)\n#define REGAL_NO_TYPEDEF_GL_ARB_VERTEX_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_ARB_VERTEX_BUFFER_OBJECT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_VERTEX_BUFFER_OBJECT)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_VERTEX_BUFFER_OBJECT)\n#define REGAL_NO_NAMESPACE_GL_ARB_VERTEX_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_ARB_VERTEX_BUFFER_OBJECT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_VERTEX_BUFFER_OBJECT)) && !defined(REGAL_NO_PLUGIN_GL_ARB_VERTEX_BUFFER_OBJECT)\n#define REGAL_NO_PLUGIN_GL_ARB_VERTEX_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_ARB_VERTEX_BUFFER_OBJECT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_VERTEX_BUFFER_OBJECT)) && !defined(REGAL_NO_DECLARATION_GL_ARB_VERTEX_BUFFER_OBJECT)\n#define REGAL_NO_DECLARATION_GL_ARB_VERTEX_BUFFER_OBJECT\n#endif\n\n#ifndef GL_ARB_vertex_buffer_object\n#define GL_ARB_vertex_buffer_object 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_VERTEX_BUFFER_OBJECT\n#define GL_BUFFER_SIZE_ARB                          0x8764     /* 34660 */\n#define GL_BUFFER_USAGE_ARB                         0x8765     /* 34661 */\n#define GL_ARRAY_BUFFER_ARB                         0x8892     /* 34962 */\n#define GL_ELEMENT_ARRAY_BUFFER_ARB                 0x8893     /* 34963 */\n#define GL_ARRAY_BUFFER_BINDING_ARB                 0x8894     /* 34964 */\n#define GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB         0x8895     /* 34965 */\n#define GL_VERTEX_ARRAY_BUFFER_BINDING_ARB          0x8896     /* 34966 */\n#define GL_NORMAL_ARRAY_BUFFER_BINDING_ARB          0x8897     /* 34967 */\n#define GL_COLOR_ARRAY_BUFFER_BINDING_ARB           0x8898     /* 34968 */\n#define GL_INDEX_ARRAY_BUFFER_BINDING_ARB           0x8899     /* 34969 */\n#define GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB   0x889a     /* 34970 */\n#define GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB       0x889b     /* 34971 */\n#define GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB 0x889c     /* 34972 */\n#define GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB  0x889d     /* 34973 */\n#define GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB          0x889e     /* 34974 */\n#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB   0x889f     /* 34975 */\n#define GL_READ_ONLY_ARB                            0x88b8     /* 35000 */\n#define GL_WRITE_ONLY_ARB                           0x88b9     /* 35001 */\n#define GL_READ_WRITE_ARB                           0x88ba     /* 35002 */\n#define GL_BUFFER_ACCESS_ARB                        0x88bb     /* 35003 */\n#define GL_BUFFER_MAPPED_ARB                        0x88bc     /* 35004 */\n#define GL_BUFFER_MAP_POINTER_ARB                   0x88bd     /* 35005 */\n#define GL_STREAM_DRAW_ARB                          0x88e0     /* 35040 */\n#define GL_STREAM_READ_ARB                          0x88e1     /* 35041 */\n#define GL_STREAM_COPY_ARB                          0x88e2     /* 35042 */\n#define GL_STATIC_DRAW_ARB                          0x88e4     /* 35044 */\n#define GL_STATIC_READ_ARB                          0x88e5     /* 35045 */\n#define GL_STATIC_COPY_ARB                          0x88e6     /* 35046 */\n#define GL_DYNAMIC_DRAW_ARB                         0x88e8     /* 35048 */\n#define GL_DYNAMIC_READ_ARB                         0x88e9     /* 35049 */\n#define GL_DYNAMIC_COPY_ARB                         0x88ea     /* 35050 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_VERTEX_BUFFER_OBJECT\ntypedef GLboolean (REGAL_CALL *PFNGLISBUFFERARBPROC)(GLuint buffer);\ntypedef GLboolean (REGAL_CALL *PFNGLUNMAPBUFFERARBPROC)(GLenum target);\ntypedef GLvoid *(REGAL_CALL *PFNGLMAPBUFFERARBPROC)(GLenum target, GLenum access);\ntypedef void (REGAL_CALL *PFNGLBINDBUFFERARBPROC)(GLenum target, GLuint buffer);\ntypedef void (REGAL_CALL *PFNGLBUFFERDATAARBPROC)(GLenum target, GLsizeiptrARB size, const GLvoid *data, GLenum usage);\ntypedef void (REGAL_CALL *PFNGLBUFFERSUBDATAARBPROC)(GLenum target, GLintptrARB offset, GLsizeiptrARB size, const GLvoid *data);\ntypedef void (REGAL_CALL *PFNGLDELETEBUFFERSARBPROC)(GLsizei n, const GLuint *buffers);\ntypedef void (REGAL_CALL *PFNGLGENBUFFERSARBPROC)(GLsizei n, GLuint *buffers);\ntypedef void (REGAL_CALL *PFNGLGETBUFFERPARAMETERIVARBPROC)(GLenum target, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETBUFFERPOINTERVARBPROC)(GLenum target, GLenum pname, GLvoid **params);\ntypedef void (REGAL_CALL *PFNGLGETBUFFERSUBDATAARBPROC)(GLenum target, GLintptrARB offset, GLsizeiptrARB size, GLvoid *data);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_VERTEX_BUFFER_OBJECT\n#define glBindBufferARB                     rglBindBufferARB\n#define glBufferDataARB                     rglBufferDataARB\n#define glBufferSubDataARB                  rglBufferSubDataARB\n#define glDeleteBuffersARB                  rglDeleteBuffersARB\n#define glGenBuffersARB                     rglGenBuffersARB\n#define glGetBufferParameterivARB           rglGetBufferParameterivARB\n#define glGetBufferPointervARB              rglGetBufferPointervARB\n#define glGetBufferSubDataARB               rglGetBufferSubDataARB\n#define glIsBufferARB                       rglIsBufferARB\n#define glMapBufferARB                      rglMapBufferARB\n#define glUnmapBufferARB                    rglUnmapBufferARB\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_VERTEX_BUFFER_OBJECT\nREGAL_DECL GLboolean REGAL_CALL glIsBufferARB(GLuint buffer);\nREGAL_DECL GLboolean REGAL_CALL glUnmapBufferARB(GLenum target);\nREGAL_DECL GLvoid *REGAL_CALL glMapBufferARB(GLenum target, GLenum access);\nREGAL_DECL void REGAL_CALL glBindBufferARB(GLenum target, GLuint buffer);\nREGAL_DECL void REGAL_CALL glBufferDataARB(GLenum target, GLsizeiptrARB size, const GLvoid *data, GLenum usage);\nREGAL_DECL void REGAL_CALL glBufferSubDataARB(GLenum target, GLintptrARB offset, GLsizeiptrARB size, const GLvoid *data);\nREGAL_DECL void REGAL_CALL glDeleteBuffersARB(GLsizei n, const GLuint *buffers);\nREGAL_DECL void REGAL_CALL glGenBuffersARB(GLsizei n, GLuint *buffers);\nREGAL_DECL void REGAL_CALL glGetBufferParameterivARB(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetBufferPointervARB(GLenum target, GLenum pname, GLvoid **params);\nREGAL_DECL void REGAL_CALL glGetBufferSubDataARB(GLenum target, GLintptrARB offset, GLsizeiptrARB size, GLvoid *data);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_VERTEX_BUFFER_OBJECT\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsBufferARB(GLuint buffer);\nREGAL_DECL GLboolean REGAL_CALL plugin_glUnmapBufferARB(GLenum target);\nREGAL_DECL GLvoid *REGAL_CALL plugin_glMapBufferARB(GLenum target, GLenum access);\nREGAL_DECL void REGAL_CALL plugin_glBindBufferARB(GLenum target, GLuint buffer);\nREGAL_DECL void REGAL_CALL plugin_glBufferDataARB(GLenum target, GLsizeiptrARB size, const GLvoid *data, GLenum usage);\nREGAL_DECL void REGAL_CALL plugin_glBufferSubDataARB(GLenum target, GLintptrARB offset, GLsizeiptrARB size, const GLvoid *data);\nREGAL_DECL void REGAL_CALL plugin_glDeleteBuffersARB(GLsizei n, const GLuint *buffers);\nREGAL_DECL void REGAL_CALL plugin_glGenBuffersARB(GLsizei n, GLuint *buffers);\nREGAL_DECL void REGAL_CALL plugin_glGetBufferParameterivARB(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetBufferPointervARB(GLenum target, GLenum pname, GLvoid **params);\nREGAL_DECL void REGAL_CALL plugin_glGetBufferSubDataARB(GLenum target, GLintptrARB offset, GLsizeiptrARB size, GLvoid *data);\n#endif\n\n/**\n ** GL_ARB_vertex_program\n **/\n\n#if (defined(GL_ARB_VERTEX_PROGRAM) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_VERTEX_PROGRAM)) && !defined(REGAL_NO_ENUM_GL_ARB_VERTEX_PROGRAM)\n#define REGAL_NO_ENUM_GL_ARB_VERTEX_PROGRAM\n#endif\n\n#if (defined(GL_ARB_VERTEX_PROGRAM) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_VERTEX_PROGRAM)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_VERTEX_PROGRAM)\n#define REGAL_NO_TYPEDEF_GL_ARB_VERTEX_PROGRAM\n#endif\n\n#if (defined(GL_ARB_VERTEX_PROGRAM) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_VERTEX_PROGRAM)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_VERTEX_PROGRAM)\n#define REGAL_NO_NAMESPACE_GL_ARB_VERTEX_PROGRAM\n#endif\n\n#if (defined(GL_ARB_VERTEX_PROGRAM) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_VERTEX_PROGRAM)) && !defined(REGAL_NO_PLUGIN_GL_ARB_VERTEX_PROGRAM)\n#define REGAL_NO_PLUGIN_GL_ARB_VERTEX_PROGRAM\n#endif\n\n#if (defined(GL_ARB_VERTEX_PROGRAM) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_VERTEX_PROGRAM)) && !defined(REGAL_NO_DECLARATION_GL_ARB_VERTEX_PROGRAM)\n#define REGAL_NO_DECLARATION_GL_ARB_VERTEX_PROGRAM\n#endif\n\n#ifndef GL_ARB_vertex_program\n#define GL_ARB_vertex_program 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_VERTEX_PROGRAM\n#define GL_COLOR_SUM_ARB                            0x8458     /* 33880 */\n#define GL_VERTEX_PROGRAM_ARB                       0x8620     /* 34336 */\n#define GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB          0x8622     /* 34338 */\n#define GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB             0x8623     /* 34339 */\n#define GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB           0x8624     /* 34340 */\n#define GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB             0x8625     /* 34341 */\n#define GL_CURRENT_VERTEX_ATTRIB_ARB                0x8626     /* 34342 */\n#define GL_PROGRAM_LENGTH_ARB                       0x8627     /* 34343 */\n#define GL_PROGRAM_STRING_ARB                       0x8628     /* 34344 */\n#define GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB       0x862e     /* 34350 */\n#define GL_MAX_PROGRAM_MATRICES_ARB                 0x862f     /* 34351 */\n#define GL_CURRENT_MATRIX_STACK_DEPTH_ARB           0x8640     /* 34368 */\n#define GL_CURRENT_MATRIX_ARB                       0x8641     /* 34369 */\n#define GL_VERTEX_PROGRAM_POINT_SIZE_ARB            0x8642     /* 34370 */\n#define GL_VERTEX_PROGRAM_TWO_SIDE_ARB              0x8643     /* 34371 */\n#define GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB          0x8645     /* 34373 */\n#define GL_PROGRAM_ERROR_POSITION_ARB               0x864b     /* 34379 */\n#define GL_PROGRAM_BINDING_ARB                      0x8677     /* 34423 */\n#define GL_MAX_VERTEX_ATTRIBS_ARB                   0x8869     /* 34921 */\n#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB       0x886a     /* 34922 */\n#define GL_PROGRAM_ERROR_STRING_ARB                 0x8874     /* 34932 */\n#define GL_PROGRAM_FORMAT_ASCII_ARB                 0x8875     /* 34933 */\n#define GL_PROGRAM_FORMAT_ARB                       0x8876     /* 34934 */\n#define GL_PROGRAM_INSTRUCTIONS_ARB                 0x88a0     /* 34976 */\n#define GL_MAX_PROGRAM_INSTRUCTIONS_ARB             0x88a1     /* 34977 */\n#define GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB          0x88a2     /* 34978 */\n#define GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB      0x88a3     /* 34979 */\n#define GL_PROGRAM_TEMPORARIES_ARB                  0x88a4     /* 34980 */\n#define GL_MAX_PROGRAM_TEMPORARIES_ARB              0x88a5     /* 34981 */\n#define GL_PROGRAM_NATIVE_TEMPORARIES_ARB           0x88a6     /* 34982 */\n#define GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB       0x88a7     /* 34983 */\n#define GL_PROGRAM_PARAMETERS_ARB                   0x88a8     /* 34984 */\n#define GL_MAX_PROGRAM_PARAMETERS_ARB               0x88a9     /* 34985 */\n#define GL_PROGRAM_NATIVE_PARAMETERS_ARB            0x88aa     /* 34986 */\n#define GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB        0x88ab     /* 34987 */\n#define GL_PROGRAM_ATTRIBS_ARB                      0x88ac     /* 34988 */\n#define GL_MAX_PROGRAM_ATTRIBS_ARB                  0x88ad     /* 34989 */\n#define GL_PROGRAM_NATIVE_ATTRIBS_ARB               0x88ae     /* 34990 */\n#define GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB           0x88af     /* 34991 */\n#define GL_PROGRAM_ADDRESS_REGISTERS_ARB            0x88b0     /* 34992 */\n#define GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB        0x88b1     /* 34993 */\n#define GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB     0x88b2     /* 34994 */\n#define GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB 0x88b3     /* 34995 */\n#define GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB         0x88b4     /* 34996 */\n#define GL_MAX_PROGRAM_ENV_PARAMETERS_ARB           0x88b5     /* 34997 */\n#define GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB          0x88b6     /* 34998 */\n#define GL_TRANSPOSE_CURRENT_MATRIX_ARB             0x88b7     /* 34999 */\n#define GL_MATRIX0_ARB                              0x88c0     /* 35008 */\n#define GL_MATRIX1_ARB                              0x88c1     /* 35009 */\n#define GL_MATRIX2_ARB                              0x88c2     /* 35010 */\n#define GL_MATRIX3_ARB                              0x88c3     /* 35011 */\n#define GL_MATRIX4_ARB                              0x88c4     /* 35012 */\n#define GL_MATRIX5_ARB                              0x88c5     /* 35013 */\n#define GL_MATRIX6_ARB                              0x88c6     /* 35014 */\n#define GL_MATRIX7_ARB                              0x88c7     /* 35015 */\n#define GL_MATRIX8_ARB                              0x88c8     /* 35016 */\n#define GL_MATRIX9_ARB                              0x88c9     /* 35017 */\n#define GL_MATRIX10_ARB                             0x88ca     /* 35018 */\n#define GL_MATRIX11_ARB                             0x88cb     /* 35019 */\n#define GL_MATRIX12_ARB                             0x88cc     /* 35020 */\n#define GL_MATRIX13_ARB                             0x88cd     /* 35021 */\n#define GL_MATRIX14_ARB                             0x88ce     /* 35022 */\n#define GL_MATRIX15_ARB                             0x88cf     /* 35023 */\n#define GL_MATRIX16_ARB                             0x88d0     /* 35024 */\n#define GL_MATRIX17_ARB                             0x88d1     /* 35025 */\n#define GL_MATRIX18_ARB                             0x88d2     /* 35026 */\n#define GL_MATRIX19_ARB                             0x88d3     /* 35027 */\n#define GL_MATRIX20_ARB                             0x88d4     /* 35028 */\n#define GL_MATRIX21_ARB                             0x88d5     /* 35029 */\n#define GL_MATRIX22_ARB                             0x88d6     /* 35030 */\n#define GL_MATRIX23_ARB                             0x88d7     /* 35031 */\n#define GL_MATRIX24_ARB                             0x88d8     /* 35032 */\n#define GL_MATRIX25_ARB                             0x88d9     /* 35033 */\n#define GL_MATRIX26_ARB                             0x88da     /* 35034 */\n#define GL_MATRIX27_ARB                             0x88db     /* 35035 */\n#define GL_MATRIX28_ARB                             0x88dc     /* 35036 */\n#define GL_MATRIX29_ARB                             0x88dd     /* 35037 */\n#define GL_MATRIX30_ARB                             0x88de     /* 35038 */\n#define GL_MATRIX31_ARB                             0x88df     /* 35039 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_VERTEX_PROGRAM\ntypedef GLboolean (REGAL_CALL *PFNGLISPROGRAMARBPROC)(GLuint program);\ntypedef void (REGAL_CALL *PFNGLBINDPROGRAMARBPROC)(GLenum target, GLuint program);\ntypedef void (REGAL_CALL *PFNGLDELETEPROGRAMSARBPROC)(GLsizei n, const GLuint *programs);\ntypedef void (REGAL_CALL *PFNGLDISABLEVERTEXATTRIBARRAYARBPROC)(GLuint index);\ntypedef void (REGAL_CALL *PFNGLENABLEVERTEXATTRIBARRAYARBPROC)(GLuint index);\ntypedef void (REGAL_CALL *PFNGLGENPROGRAMSARBPROC)(GLsizei n, GLuint *programs);\ntypedef void (REGAL_CALL *PFNGLGETPROGRAMENVPARAMETERDVARBPROC)(GLenum target, GLuint index, GLdouble *params);\ntypedef void (REGAL_CALL *PFNGLGETPROGRAMENVPARAMETERFVARBPROC)(GLenum target, GLuint index, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETPROGRAMIVARBPROC)(GLenum target, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC)(GLenum target, GLuint index, GLdouble *params);\ntypedef void (REGAL_CALL *PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC)(GLenum target, GLuint index, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETPROGRAMSTRINGARBPROC)(GLenum target, GLenum pname, GLvoid *string);\ntypedef void (REGAL_CALL *PFNGLGETVERTEXATTRIBDVARBPROC)(GLuint index, GLenum pname, GLdouble *params);\ntypedef void (REGAL_CALL *PFNGLGETVERTEXATTRIBFVARBPROC)(GLuint index, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETVERTEXATTRIBIVARBPROC)(GLuint index, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETVERTEXATTRIBPOINTERVARBPROC)(GLuint index, GLenum pname, GLvoid **pointer);\ntypedef void (REGAL_CALL *PFNGLPROGRAMENVPARAMETER4DARBPROC)(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\ntypedef void (REGAL_CALL *PFNGLPROGRAMENVPARAMETER4DVARBPROC)(GLenum target, GLuint index, const GLdouble *params);\ntypedef void (REGAL_CALL *PFNGLPROGRAMENVPARAMETER4FARBPROC)(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\ntypedef void (REGAL_CALL *PFNGLPROGRAMENVPARAMETER4FVARBPROC)(GLenum target, GLuint index, const GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLPROGRAMLOCALPARAMETER4DARBPROC)(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\ntypedef void (REGAL_CALL *PFNGLPROGRAMLOCALPARAMETER4DVARBPROC)(GLenum target, GLuint index, const GLdouble *params);\ntypedef void (REGAL_CALL *PFNGLPROGRAMLOCALPARAMETER4FARBPROC)(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\ntypedef void (REGAL_CALL *PFNGLPROGRAMLOCALPARAMETER4FVARBPROC)(GLenum target, GLuint index, const GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLPROGRAMSTRINGARBPROC)(GLenum target, GLenum format, GLsizei len, const GLvoid *string);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB1DARBPROC)(GLuint index, GLdouble x);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB1DVARBPROC)(GLuint index, const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB1FARBPROC)(GLuint index, GLfloat x);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB1FVARBPROC)(GLuint index, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB1SARBPROC)(GLuint index, GLshort x);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB1SVARBPROC)(GLuint index, const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB2DARBPROC)(GLuint index, GLdouble x, GLdouble y);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB2DVARBPROC)(GLuint index, const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB2FARBPROC)(GLuint index, GLfloat x, GLfloat y);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB2FVARBPROC)(GLuint index, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB2SARBPROC)(GLuint index, GLshort x, GLshort y);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB2SVARBPROC)(GLuint index, const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB3DARBPROC)(GLuint index, GLdouble x, GLdouble y, GLdouble z);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB3DVARBPROC)(GLuint index, const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB3FARBPROC)(GLuint index, GLfloat x, GLfloat y, GLfloat z);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB3FVARBPROC)(GLuint index, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB3SARBPROC)(GLuint index, GLshort x, GLshort y, GLshort z);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB3SVARBPROC)(GLuint index, const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4BVARBPROC)(GLuint index, const GLbyte *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4DARBPROC)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4DVARBPROC)(GLuint index, const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4FARBPROC)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4FVARBPROC)(GLuint index, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4IVARBPROC)(GLuint index, const GLint *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4NBVARBPROC)(GLuint index, const GLbyte *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4NIVARBPROC)(GLuint index, const GLint *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4NSVARBPROC)(GLuint index, const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4NUBARBPROC)(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4NUBVARBPROC)(GLuint index, const GLubyte *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4NUIVARBPROC)(GLuint index, const GLuint *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4NUSVARBPROC)(GLuint index, const GLushort *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4SARBPROC)(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4SVARBPROC)(GLuint index, const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4UBVARBPROC)(GLuint index, const GLubyte *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4UIVARBPROC)(GLuint index, const GLuint *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4USVARBPROC)(GLuint index, const GLushort *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBPOINTERARBPROC)(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_VERTEX_PROGRAM\n#define glBindProgramARB                    rglBindProgramARB\n#define glDeleteProgramsARB                 rglDeleteProgramsARB\n#define glDisableVertexAttribArrayARB       rglDisableVertexAttribArrayARB\n#define glEnableVertexAttribArrayARB        rglEnableVertexAttribArrayARB\n#define glGenProgramsARB                    rglGenProgramsARB\n#define glGetProgramEnvParameterdvARB       rglGetProgramEnvParameterdvARB\n#define glGetProgramEnvParameterfvARB       rglGetProgramEnvParameterfvARB\n#define glGetProgramLocalParameterdvARB     rglGetProgramLocalParameterdvARB\n#define glGetProgramLocalParameterfvARB     rglGetProgramLocalParameterfvARB\n#define glGetProgramStringARB               rglGetProgramStringARB\n#define glGetProgramivARB                   rglGetProgramivARB\n#define glGetVertexAttribPointervARB        rglGetVertexAttribPointervARB\n#define glGetVertexAttribdvARB              rglGetVertexAttribdvARB\n#define glGetVertexAttribfvARB              rglGetVertexAttribfvARB\n#define glGetVertexAttribivARB              rglGetVertexAttribivARB\n#define glIsProgramARB                      rglIsProgramARB\n#define glProgramEnvParameter4dARB          rglProgramEnvParameter4dARB\n#define glProgramEnvParameter4dvARB         rglProgramEnvParameter4dvARB\n#define glProgramEnvParameter4fARB          rglProgramEnvParameter4fARB\n#define glProgramEnvParameter4fvARB         rglProgramEnvParameter4fvARB\n#define glProgramLocalParameter4dARB        rglProgramLocalParameter4dARB\n#define glProgramLocalParameter4dvARB       rglProgramLocalParameter4dvARB\n#define glProgramLocalParameter4fARB        rglProgramLocalParameter4fARB\n#define glProgramLocalParameter4fvARB       rglProgramLocalParameter4fvARB\n#define glProgramStringARB                  rglProgramStringARB\n#define glVertexAttrib1dARB                 rglVertexAttrib1dARB\n#define glVertexAttrib1dvARB                rglVertexAttrib1dvARB\n#define glVertexAttrib1fARB                 rglVertexAttrib1fARB\n#define glVertexAttrib1fvARB                rglVertexAttrib1fvARB\n#define glVertexAttrib1sARB                 rglVertexAttrib1sARB\n#define glVertexAttrib1svARB                rglVertexAttrib1svARB\n#define glVertexAttrib2dARB                 rglVertexAttrib2dARB\n#define glVertexAttrib2dvARB                rglVertexAttrib2dvARB\n#define glVertexAttrib2fARB                 rglVertexAttrib2fARB\n#define glVertexAttrib2fvARB                rglVertexAttrib2fvARB\n#define glVertexAttrib2sARB                 rglVertexAttrib2sARB\n#define glVertexAttrib2svARB                rglVertexAttrib2svARB\n#define glVertexAttrib3dARB                 rglVertexAttrib3dARB\n#define glVertexAttrib3dvARB                rglVertexAttrib3dvARB\n#define glVertexAttrib3fARB                 rglVertexAttrib3fARB\n#define glVertexAttrib3fvARB                rglVertexAttrib3fvARB\n#define glVertexAttrib3sARB                 rglVertexAttrib3sARB\n#define glVertexAttrib3svARB                rglVertexAttrib3svARB\n#define glVertexAttrib4NbvARB               rglVertexAttrib4NbvARB\n#define glVertexAttrib4NivARB               rglVertexAttrib4NivARB\n#define glVertexAttrib4NsvARB               rglVertexAttrib4NsvARB\n#define glVertexAttrib4NubARB               rglVertexAttrib4NubARB\n#define glVertexAttrib4NubvARB              rglVertexAttrib4NubvARB\n#define glVertexAttrib4NuivARB              rglVertexAttrib4NuivARB\n#define glVertexAttrib4NusvARB              rglVertexAttrib4NusvARB\n#define glVertexAttrib4bvARB                rglVertexAttrib4bvARB\n#define glVertexAttrib4dARB                 rglVertexAttrib4dARB\n#define glVertexAttrib4dvARB                rglVertexAttrib4dvARB\n#define glVertexAttrib4fARB                 rglVertexAttrib4fARB\n#define glVertexAttrib4fvARB                rglVertexAttrib4fvARB\n#define glVertexAttrib4ivARB                rglVertexAttrib4ivARB\n#define glVertexAttrib4sARB                 rglVertexAttrib4sARB\n#define glVertexAttrib4svARB                rglVertexAttrib4svARB\n#define glVertexAttrib4ubvARB               rglVertexAttrib4ubvARB\n#define glVertexAttrib4uivARB               rglVertexAttrib4uivARB\n#define glVertexAttrib4usvARB               rglVertexAttrib4usvARB\n#define glVertexAttribPointerARB            rglVertexAttribPointerARB\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_VERTEX_PROGRAM\nREGAL_DECL GLboolean REGAL_CALL glIsProgramARB(GLuint program);\nREGAL_DECL void REGAL_CALL glBindProgramARB(GLenum target, GLuint program);\nREGAL_DECL void REGAL_CALL glDeleteProgramsARB(GLsizei n, const GLuint *programs);\nREGAL_DECL void REGAL_CALL glDisableVertexAttribArrayARB(GLuint index);\nREGAL_DECL void REGAL_CALL glEnableVertexAttribArrayARB(GLuint index);\nREGAL_DECL void REGAL_CALL glGenProgramsARB(GLsizei n, GLuint *programs);\nREGAL_DECL void REGAL_CALL glGetProgramEnvParameterdvARB(GLenum target, GLuint index, GLdouble *params);\nREGAL_DECL void REGAL_CALL glGetProgramEnvParameterfvARB(GLenum target, GLuint index, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetProgramLocalParameterdvARB(GLenum target, GLuint index, GLdouble *params);\nREGAL_DECL void REGAL_CALL glGetProgramLocalParameterfvARB(GLenum target, GLuint index, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetProgramStringARB(GLenum target, GLenum pname, GLvoid *string);\nREGAL_DECL void REGAL_CALL glGetProgramivARB(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetVertexAttribPointervARB(GLuint index, GLenum pname, GLvoid **pointer);\nREGAL_DECL void REGAL_CALL glGetVertexAttribdvARB(GLuint index, GLenum pname, GLdouble *params);\nREGAL_DECL void REGAL_CALL glGetVertexAttribfvARB(GLuint index, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetVertexAttribivARB(GLuint index, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glProgramEnvParameter4dARB(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nREGAL_DECL void REGAL_CALL glProgramEnvParameter4dvARB(GLenum target, GLuint index, const GLdouble *params);\nREGAL_DECL void REGAL_CALL glProgramEnvParameter4fARB(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nREGAL_DECL void REGAL_CALL glProgramEnvParameter4fvARB(GLenum target, GLuint index, const GLfloat *params);\nREGAL_DECL void REGAL_CALL glProgramLocalParameter4dARB(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nREGAL_DECL void REGAL_CALL glProgramLocalParameter4dvARB(GLenum target, GLuint index, const GLdouble *params);\nREGAL_DECL void REGAL_CALL glProgramLocalParameter4fARB(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nREGAL_DECL void REGAL_CALL glProgramLocalParameter4fvARB(GLenum target, GLuint index, const GLfloat *params);\nREGAL_DECL void REGAL_CALL glProgramStringARB(GLenum target, GLenum format, GLsizei len, const GLvoid *string);\nREGAL_DECL void REGAL_CALL glVertexAttrib1dARB(GLuint index, GLdouble x);\nREGAL_DECL void REGAL_CALL glVertexAttrib1dvARB(GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib1fARB(GLuint index, GLfloat x);\nREGAL_DECL void REGAL_CALL glVertexAttrib1fvARB(GLuint index, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib1sARB(GLuint index, GLshort x);\nREGAL_DECL void REGAL_CALL glVertexAttrib1svARB(GLuint index, const GLshort *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib2dARB(GLuint index, GLdouble x, GLdouble y);\nREGAL_DECL void REGAL_CALL glVertexAttrib2dvARB(GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib2fARB(GLuint index, GLfloat x, GLfloat y);\nREGAL_DECL void REGAL_CALL glVertexAttrib2fvARB(GLuint index, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib2sARB(GLuint index, GLshort x, GLshort y);\nREGAL_DECL void REGAL_CALL glVertexAttrib2svARB(GLuint index, const GLshort *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib3dARB(GLuint index, GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL glVertexAttrib3dvARB(GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib3fARB(GLuint index, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL glVertexAttrib3fvARB(GLuint index, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib3sARB(GLuint index, GLshort x, GLshort y, GLshort z);\nREGAL_DECL void REGAL_CALL glVertexAttrib3svARB(GLuint index, const GLshort *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib4NbvARB(GLuint index, const GLbyte *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib4NivARB(GLuint index, const GLint *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib4NsvARB(GLuint index, const GLshort *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib4NubARB(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);\nREGAL_DECL void REGAL_CALL glVertexAttrib4NubvARB(GLuint index, const GLubyte *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib4NuivARB(GLuint index, const GLuint *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib4NusvARB(GLuint index, const GLushort *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib4bvARB(GLuint index, const GLbyte *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib4dARB(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nREGAL_DECL void REGAL_CALL glVertexAttrib4dvARB(GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib4fARB(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nREGAL_DECL void REGAL_CALL glVertexAttrib4fvARB(GLuint index, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib4ivARB(GLuint index, const GLint *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib4sARB(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);\nREGAL_DECL void REGAL_CALL glVertexAttrib4svARB(GLuint index, const GLshort *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib4ubvARB(GLuint index, const GLubyte *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib4uivARB(GLuint index, const GLuint *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib4usvARB(GLuint index, const GLushort *v);\nREGAL_DECL void REGAL_CALL glVertexAttribPointerARB(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_VERTEX_PROGRAM\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsProgramARB(GLuint program);\nREGAL_DECL void REGAL_CALL plugin_glBindProgramARB(GLenum target, GLuint program);\nREGAL_DECL void REGAL_CALL plugin_glDeleteProgramsARB(GLsizei n, const GLuint *programs);\nREGAL_DECL void REGAL_CALL plugin_glDisableVertexAttribArrayARB(GLuint index);\nREGAL_DECL void REGAL_CALL plugin_glEnableVertexAttribArrayARB(GLuint index);\nREGAL_DECL void REGAL_CALL plugin_glGenProgramsARB(GLsizei n, GLuint *programs);\nREGAL_DECL void REGAL_CALL plugin_glGetProgramEnvParameterdvARB(GLenum target, GLuint index, GLdouble *params);\nREGAL_DECL void REGAL_CALL plugin_glGetProgramEnvParameterfvARB(GLenum target, GLuint index, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetProgramLocalParameterdvARB(GLenum target, GLuint index, GLdouble *params);\nREGAL_DECL void REGAL_CALL plugin_glGetProgramLocalParameterfvARB(GLenum target, GLuint index, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetProgramStringARB(GLenum target, GLenum pname, GLvoid *string);\nREGAL_DECL void REGAL_CALL plugin_glGetProgramivARB(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetVertexAttribPointervARB(GLuint index, GLenum pname, GLvoid **pointer);\nREGAL_DECL void REGAL_CALL plugin_glGetVertexAttribdvARB(GLuint index, GLenum pname, GLdouble *params);\nREGAL_DECL void REGAL_CALL plugin_glGetVertexAttribfvARB(GLuint index, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetVertexAttribivARB(GLuint index, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glProgramEnvParameter4dARB(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nREGAL_DECL void REGAL_CALL plugin_glProgramEnvParameter4dvARB(GLenum target, GLuint index, const GLdouble *params);\nREGAL_DECL void REGAL_CALL plugin_glProgramEnvParameter4fARB(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nREGAL_DECL void REGAL_CALL plugin_glProgramEnvParameter4fvARB(GLenum target, GLuint index, const GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glProgramLocalParameter4dARB(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nREGAL_DECL void REGAL_CALL plugin_glProgramLocalParameter4dvARB(GLenum target, GLuint index, const GLdouble *params);\nREGAL_DECL void REGAL_CALL plugin_glProgramLocalParameter4fARB(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nREGAL_DECL void REGAL_CALL plugin_glProgramLocalParameter4fvARB(GLenum target, GLuint index, const GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glProgramStringARB(GLenum target, GLenum format, GLsizei len, const GLvoid *string);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib1dARB(GLuint index, GLdouble x);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib1dvARB(GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib1fARB(GLuint index, GLfloat x);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib1fvARB(GLuint index, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib1sARB(GLuint index, GLshort x);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib1svARB(GLuint index, const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib2dARB(GLuint index, GLdouble x, GLdouble y);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib2dvARB(GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib2fARB(GLuint index, GLfloat x, GLfloat y);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib2fvARB(GLuint index, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib2sARB(GLuint index, GLshort x, GLshort y);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib2svARB(GLuint index, const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib3dARB(GLuint index, GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib3dvARB(GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib3fARB(GLuint index, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib3fvARB(GLuint index, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib3sARB(GLuint index, GLshort x, GLshort y, GLshort z);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib3svARB(GLuint index, const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4NbvARB(GLuint index, const GLbyte *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4NivARB(GLuint index, const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4NsvARB(GLuint index, const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4NubARB(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4NubvARB(GLuint index, const GLubyte *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4NuivARB(GLuint index, const GLuint *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4NusvARB(GLuint index, const GLushort *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4bvARB(GLuint index, const GLbyte *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4dARB(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4dvARB(GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4fARB(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4fvARB(GLuint index, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4ivARB(GLuint index, const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4sARB(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4svARB(GLuint index, const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4ubvARB(GLuint index, const GLubyte *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4uivARB(GLuint index, const GLuint *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4usvARB(GLuint index, const GLushort *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribPointerARB(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer);\n#endif\n\n/**\n ** GL_ARB_vertex_shader\n **/\n\n#if (defined(GL_ARB_VERTEX_SHADER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_VERTEX_SHADER)) && !defined(REGAL_NO_ENUM_GL_ARB_VERTEX_SHADER)\n#define REGAL_NO_ENUM_GL_ARB_VERTEX_SHADER\n#endif\n\n#if (defined(GL_ARB_VERTEX_SHADER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_VERTEX_SHADER)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_VERTEX_SHADER)\n#define REGAL_NO_TYPEDEF_GL_ARB_VERTEX_SHADER\n#endif\n\n#if (defined(GL_ARB_VERTEX_SHADER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_VERTEX_SHADER)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_VERTEX_SHADER)\n#define REGAL_NO_NAMESPACE_GL_ARB_VERTEX_SHADER\n#endif\n\n#if (defined(GL_ARB_VERTEX_SHADER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_VERTEX_SHADER)) && !defined(REGAL_NO_PLUGIN_GL_ARB_VERTEX_SHADER)\n#define REGAL_NO_PLUGIN_GL_ARB_VERTEX_SHADER\n#endif\n\n#if (defined(GL_ARB_VERTEX_SHADER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_VERTEX_SHADER)) && !defined(REGAL_NO_DECLARATION_GL_ARB_VERTEX_SHADER)\n#define REGAL_NO_DECLARATION_GL_ARB_VERTEX_SHADER\n#endif\n\n#ifndef GL_ARB_vertex_shader\n#define GL_ARB_vertex_shader 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_VERTEX_SHADER\n#define GL_VERTEX_SHADER_ARB                      0x8b31     /* 35633 */\n#define GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB      0x8b4a     /* 35658 */\n#define GL_MAX_VARYING_FLOATS_ARB                 0x8b4b     /* 35659 */\n#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB     0x8b4c     /* 35660 */\n#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB   0x8b4d     /* 35661 */\n#define GL_OBJECT_ACTIVE_ATTRIBUTES_ARB           0x8b89     /* 35721 */\n#define GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB 0x8b8a     /* 35722 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_VERTEX_SHADER\ntypedef GLint (REGAL_CALL *PFNGLGETATTRIBLOCATIONARBPROC)(GLhandleARB programObj, const GLcharARB *name);\ntypedef void (REGAL_CALL *PFNGLBINDATTRIBLOCATIONARBPROC)(GLhandleARB programObj, GLuint index, const GLcharARB *name);\ntypedef void (REGAL_CALL *PFNGLGETACTIVEATTRIBARBPROC)(GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei *length, GLint *size, GLenum *type, GLcharARB *name);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_VERTEX_SHADER\n#define glBindAttribLocationARB             rglBindAttribLocationARB\n#define glGetActiveAttribARB                rglGetActiveAttribARB\n#define glGetAttribLocationARB              rglGetAttribLocationARB\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_VERTEX_SHADER\nREGAL_DECL GLint REGAL_CALL glGetAttribLocationARB(GLhandleARB programObj, const GLcharARB *name);\nREGAL_DECL void REGAL_CALL glBindAttribLocationARB(GLhandleARB programObj, GLuint index, const GLcharARB *name);\nREGAL_DECL void REGAL_CALL glGetActiveAttribARB(GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei *length, GLint *size, GLenum *type, GLcharARB *name);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_VERTEX_SHADER\nREGAL_DECL GLint REGAL_CALL plugin_glGetAttribLocationARB(GLhandleARB programObj, const GLcharARB *name);\nREGAL_DECL void REGAL_CALL plugin_glBindAttribLocationARB(GLhandleARB programObj, GLuint index, const GLcharARB *name);\nREGAL_DECL void REGAL_CALL plugin_glGetActiveAttribARB(GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei *length, GLint *size, GLenum *type, GLcharARB *name);\n#endif\n\n/**\n ** GL_ARB_vertex_type_2_10_10_10_rev\n **/\n\n#if (defined(GL_ARB_VERTEX_TYPE_2_10_10_10_REV) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_VERTEX_TYPE_2_10_10_10_REV)) && !defined(REGAL_NO_ENUM_GL_ARB_VERTEX_TYPE_2_10_10_10_REV)\n#define REGAL_NO_ENUM_GL_ARB_VERTEX_TYPE_2_10_10_10_REV\n#endif\n\n#if (defined(GL_ARB_VERTEX_TYPE_2_10_10_10_REV) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_VERTEX_TYPE_2_10_10_10_REV)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_VERTEX_TYPE_2_10_10_10_REV)\n#define REGAL_NO_TYPEDEF_GL_ARB_VERTEX_TYPE_2_10_10_10_REV\n#endif\n\n#if (defined(GL_ARB_VERTEX_TYPE_2_10_10_10_REV) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_VERTEX_TYPE_2_10_10_10_REV)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_VERTEX_TYPE_2_10_10_10_REV)\n#define REGAL_NO_NAMESPACE_GL_ARB_VERTEX_TYPE_2_10_10_10_REV\n#endif\n\n#if (defined(GL_ARB_VERTEX_TYPE_2_10_10_10_REV) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_VERTEX_TYPE_2_10_10_10_REV)) && !defined(REGAL_NO_PLUGIN_GL_ARB_VERTEX_TYPE_2_10_10_10_REV)\n#define REGAL_NO_PLUGIN_GL_ARB_VERTEX_TYPE_2_10_10_10_REV\n#endif\n\n#if (defined(GL_ARB_VERTEX_TYPE_2_10_10_10_REV) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_VERTEX_TYPE_2_10_10_10_REV)) && !defined(REGAL_NO_DECLARATION_GL_ARB_VERTEX_TYPE_2_10_10_10_REV)\n#define REGAL_NO_DECLARATION_GL_ARB_VERTEX_TYPE_2_10_10_10_REV\n#endif\n\n#ifndef GL_ARB_vertex_type_2_10_10_10_rev\n#define GL_ARB_vertex_type_2_10_10_10_rev 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_VERTEX_TYPE_2_10_10_10_REV\n#define GL_INT_2_10_10_10_REV 0x8d9f /* 36255 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_VERTEX_TYPE_2_10_10_10_REV\ntypedef void (REGAL_CALL *PFNGLCOLORP3UIPROC)(GLenum type, GLuint color);\ntypedef void (REGAL_CALL *PFNGLCOLORP3UIVPROC)(GLenum type, const GLuint *color);\ntypedef void (REGAL_CALL *PFNGLCOLORP4UIPROC)(GLenum type, GLuint color);\ntypedef void (REGAL_CALL *PFNGLCOLORP4UIVPROC)(GLenum type, const GLuint *color);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORDP1UIPROC)(GLenum texture, GLenum type, GLuint coords);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORDP1UIVPROC)(GLenum texture, GLenum type, const GLuint *coords);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORDP2UIPROC)(GLenum texture, GLenum type, GLuint coords);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORDP2UIVPROC)(GLenum texture, GLenum type, const GLuint *coords);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORDP3UIPROC)(GLenum texture, GLenum type, GLuint coords);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORDP3UIVPROC)(GLenum texture, GLenum type, const GLuint *coords);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORDP4UIPROC)(GLenum texture, GLenum type, GLuint coords);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORDP4UIVPROC)(GLenum texture, GLenum type, const GLuint *coords);\ntypedef void (REGAL_CALL *PFNGLNORMALP3UIPROC)(GLenum type, GLuint coords);\ntypedef void (REGAL_CALL *PFNGLNORMALP3UIVPROC)(GLenum type, const GLuint *coords);\ntypedef void (REGAL_CALL *PFNGLSECONDARYCOLORP3UIPROC)(GLenum type, GLuint color);\ntypedef void (REGAL_CALL *PFNGLSECONDARYCOLORP3UIVPROC)(GLenum type, const GLuint *color);\ntypedef void (REGAL_CALL *PFNGLTEXCOORDP1UIPROC)(GLenum type, GLuint coords);\ntypedef void (REGAL_CALL *PFNGLTEXCOORDP1UIVPROC)(GLenum type, const GLuint *coords);\ntypedef void (REGAL_CALL *PFNGLTEXCOORDP2UIPROC)(GLenum type, GLuint coords);\ntypedef void (REGAL_CALL *PFNGLTEXCOORDP2UIVPROC)(GLenum type, const GLuint *coords);\ntypedef void (REGAL_CALL *PFNGLTEXCOORDP3UIPROC)(GLenum type, GLuint coords);\ntypedef void (REGAL_CALL *PFNGLTEXCOORDP3UIVPROC)(GLenum type, const GLuint *coords);\ntypedef void (REGAL_CALL *PFNGLTEXCOORDP4UIPROC)(GLenum type, GLuint coords);\ntypedef void (REGAL_CALL *PFNGLTEXCOORDP4UIVPROC)(GLenum type, const GLuint *coords);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBP1UIPROC)(GLuint index, GLenum type, GLboolean normalized, GLuint value);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBP1UIVPROC)(GLuint index, GLenum type, GLboolean normalized, const GLuint *value);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBP2UIPROC)(GLuint index, GLenum type, GLboolean normalized, GLuint value);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBP2UIVPROC)(GLuint index, GLenum type, GLboolean normalized, const GLuint *value);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBP3UIPROC)(GLuint index, GLenum type, GLboolean normalized, GLuint value);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBP3UIVPROC)(GLuint index, GLenum type, GLboolean normalized, const GLuint *value);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBP4UIPROC)(GLuint index, GLenum type, GLboolean normalized, GLuint value);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBP4UIVPROC)(GLuint index, GLenum type, GLboolean normalized, const GLuint *value);\ntypedef void (REGAL_CALL *PFNGLVERTEXP2UIPROC)(GLenum type, GLuint coords);\ntypedef void (REGAL_CALL *PFNGLVERTEXP2UIVPROC)(GLenum type, const GLuint *coords);\ntypedef void (REGAL_CALL *PFNGLVERTEXP3UIPROC)(GLenum type, GLuint coords);\ntypedef void (REGAL_CALL *PFNGLVERTEXP3UIVPROC)(GLenum type, const GLuint *coords);\ntypedef void (REGAL_CALL *PFNGLVERTEXP4UIPROC)(GLenum type, GLuint coords);\ntypedef void (REGAL_CALL *PFNGLVERTEXP4UIVPROC)(GLenum type, const GLuint *coords);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_VERTEX_TYPE_2_10_10_10_REV\n#define glColorP3ui                         rglColorP3ui\n#define glColorP3uiv                        rglColorP3uiv\n#define glColorP4ui                         rglColorP4ui\n#define glColorP4uiv                        rglColorP4uiv\n#define glMultiTexCoordP1ui                 rglMultiTexCoordP1ui\n#define glMultiTexCoordP1uiv                rglMultiTexCoordP1uiv\n#define glMultiTexCoordP2ui                 rglMultiTexCoordP2ui\n#define glMultiTexCoordP2uiv                rglMultiTexCoordP2uiv\n#define glMultiTexCoordP3ui                 rglMultiTexCoordP3ui\n#define glMultiTexCoordP3uiv                rglMultiTexCoordP3uiv\n#define glMultiTexCoordP4ui                 rglMultiTexCoordP4ui\n#define glMultiTexCoordP4uiv                rglMultiTexCoordP4uiv\n#define glNormalP3ui                        rglNormalP3ui\n#define glNormalP3uiv                       rglNormalP3uiv\n#define glSecondaryColorP3ui                rglSecondaryColorP3ui\n#define glSecondaryColorP3uiv               rglSecondaryColorP3uiv\n#define glTexCoordP1ui                      rglTexCoordP1ui\n#define glTexCoordP1uiv                     rglTexCoordP1uiv\n#define glTexCoordP2ui                      rglTexCoordP2ui\n#define glTexCoordP2uiv                     rglTexCoordP2uiv\n#define glTexCoordP3ui                      rglTexCoordP3ui\n#define glTexCoordP3uiv                     rglTexCoordP3uiv\n#define glTexCoordP4ui                      rglTexCoordP4ui\n#define glTexCoordP4uiv                     rglTexCoordP4uiv\n#define glVertexAttribP1ui                  rglVertexAttribP1ui\n#define glVertexAttribP1uiv                 rglVertexAttribP1uiv\n#define glVertexAttribP2ui                  rglVertexAttribP2ui\n#define glVertexAttribP2uiv                 rglVertexAttribP2uiv\n#define glVertexAttribP3ui                  rglVertexAttribP3ui\n#define glVertexAttribP3uiv                 rglVertexAttribP3uiv\n#define glVertexAttribP4ui                  rglVertexAttribP4ui\n#define glVertexAttribP4uiv                 rglVertexAttribP4uiv\n#define glVertexP2ui                        rglVertexP2ui\n#define glVertexP2uiv                       rglVertexP2uiv\n#define glVertexP3ui                        rglVertexP3ui\n#define glVertexP3uiv                       rglVertexP3uiv\n#define glVertexP4ui                        rglVertexP4ui\n#define glVertexP4uiv                       rglVertexP4uiv\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_VERTEX_TYPE_2_10_10_10_REV\nREGAL_DECL void REGAL_CALL glColorP3ui(GLenum type, GLuint color);\nREGAL_DECL void REGAL_CALL glColorP3uiv(GLenum type, const GLuint *color);\nREGAL_DECL void REGAL_CALL glColorP4ui(GLenum type, GLuint color);\nREGAL_DECL void REGAL_CALL glColorP4uiv(GLenum type, const GLuint *color);\nREGAL_DECL void REGAL_CALL glMultiTexCoordP1ui(GLenum texture, GLenum type, GLuint coords);\nREGAL_DECL void REGAL_CALL glMultiTexCoordP1uiv(GLenum texture, GLenum type, const GLuint *coords);\nREGAL_DECL void REGAL_CALL glMultiTexCoordP2ui(GLenum texture, GLenum type, GLuint coords);\nREGAL_DECL void REGAL_CALL glMultiTexCoordP2uiv(GLenum texture, GLenum type, const GLuint *coords);\nREGAL_DECL void REGAL_CALL glMultiTexCoordP3ui(GLenum texture, GLenum type, GLuint coords);\nREGAL_DECL void REGAL_CALL glMultiTexCoordP3uiv(GLenum texture, GLenum type, const GLuint *coords);\nREGAL_DECL void REGAL_CALL glMultiTexCoordP4ui(GLenum texture, GLenum type, GLuint coords);\nREGAL_DECL void REGAL_CALL glMultiTexCoordP4uiv(GLenum texture, GLenum type, const GLuint *coords);\nREGAL_DECL void REGAL_CALL glNormalP3ui(GLenum type, GLuint coords);\nREGAL_DECL void REGAL_CALL glNormalP3uiv(GLenum type, const GLuint *coords);\nREGAL_DECL void REGAL_CALL glSecondaryColorP3ui(GLenum type, GLuint color);\nREGAL_DECL void REGAL_CALL glSecondaryColorP3uiv(GLenum type, const GLuint *color);\nREGAL_DECL void REGAL_CALL glTexCoordP1ui(GLenum type, GLuint coords);\nREGAL_DECL void REGAL_CALL glTexCoordP1uiv(GLenum type, const GLuint *coords);\nREGAL_DECL void REGAL_CALL glTexCoordP2ui(GLenum type, GLuint coords);\nREGAL_DECL void REGAL_CALL glTexCoordP2uiv(GLenum type, const GLuint *coords);\nREGAL_DECL void REGAL_CALL glTexCoordP3ui(GLenum type, GLuint coords);\nREGAL_DECL void REGAL_CALL glTexCoordP3uiv(GLenum type, const GLuint *coords);\nREGAL_DECL void REGAL_CALL glTexCoordP4ui(GLenum type, GLuint coords);\nREGAL_DECL void REGAL_CALL glTexCoordP4uiv(GLenum type, const GLuint *coords);\nREGAL_DECL void REGAL_CALL glVertexAttribP1ui(GLuint index, GLenum type, GLboolean normalized, GLuint value);\nREGAL_DECL void REGAL_CALL glVertexAttribP1uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value);\nREGAL_DECL void REGAL_CALL glVertexAttribP2ui(GLuint index, GLenum type, GLboolean normalized, GLuint value);\nREGAL_DECL void REGAL_CALL glVertexAttribP2uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value);\nREGAL_DECL void REGAL_CALL glVertexAttribP3ui(GLuint index, GLenum type, GLboolean normalized, GLuint value);\nREGAL_DECL void REGAL_CALL glVertexAttribP3uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value);\nREGAL_DECL void REGAL_CALL glVertexAttribP4ui(GLuint index, GLenum type, GLboolean normalized, GLuint value);\nREGAL_DECL void REGAL_CALL glVertexAttribP4uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value);\nREGAL_DECL void REGAL_CALL glVertexP2ui(GLenum type, GLuint coords);\nREGAL_DECL void REGAL_CALL glVertexP2uiv(GLenum type, const GLuint *coords);\nREGAL_DECL void REGAL_CALL glVertexP3ui(GLenum type, GLuint coords);\nREGAL_DECL void REGAL_CALL glVertexP3uiv(GLenum type, const GLuint *coords);\nREGAL_DECL void REGAL_CALL glVertexP4ui(GLenum type, GLuint coords);\nREGAL_DECL void REGAL_CALL glVertexP4uiv(GLenum type, const GLuint *coords);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_VERTEX_TYPE_2_10_10_10_REV\nREGAL_DECL void REGAL_CALL plugin_glColorP3ui(GLenum type, GLuint color);\nREGAL_DECL void REGAL_CALL plugin_glColorP3uiv(GLenum type, const GLuint *color);\nREGAL_DECL void REGAL_CALL plugin_glColorP4ui(GLenum type, GLuint color);\nREGAL_DECL void REGAL_CALL plugin_glColorP4uiv(GLenum type, const GLuint *color);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoordP1ui(GLenum texture, GLenum type, GLuint coords);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoordP1uiv(GLenum texture, GLenum type, const GLuint *coords);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoordP2ui(GLenum texture, GLenum type, GLuint coords);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoordP2uiv(GLenum texture, GLenum type, const GLuint *coords);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoordP3ui(GLenum texture, GLenum type, GLuint coords);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoordP3uiv(GLenum texture, GLenum type, const GLuint *coords);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoordP4ui(GLenum texture, GLenum type, GLuint coords);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoordP4uiv(GLenum texture, GLenum type, const GLuint *coords);\nREGAL_DECL void REGAL_CALL plugin_glNormalP3ui(GLenum type, GLuint coords);\nREGAL_DECL void REGAL_CALL plugin_glNormalP3uiv(GLenum type, const GLuint *coords);\nREGAL_DECL void REGAL_CALL plugin_glSecondaryColorP3ui(GLenum type, GLuint color);\nREGAL_DECL void REGAL_CALL plugin_glSecondaryColorP3uiv(GLenum type, const GLuint *color);\nREGAL_DECL void REGAL_CALL plugin_glTexCoordP1ui(GLenum type, GLuint coords);\nREGAL_DECL void REGAL_CALL plugin_glTexCoordP1uiv(GLenum type, const GLuint *coords);\nREGAL_DECL void REGAL_CALL plugin_glTexCoordP2ui(GLenum type, GLuint coords);\nREGAL_DECL void REGAL_CALL plugin_glTexCoordP2uiv(GLenum type, const GLuint *coords);\nREGAL_DECL void REGAL_CALL plugin_glTexCoordP3ui(GLenum type, GLuint coords);\nREGAL_DECL void REGAL_CALL plugin_glTexCoordP3uiv(GLenum type, const GLuint *coords);\nREGAL_DECL void REGAL_CALL plugin_glTexCoordP4ui(GLenum type, GLuint coords);\nREGAL_DECL void REGAL_CALL plugin_glTexCoordP4uiv(GLenum type, const GLuint *coords);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribP1ui(GLuint index, GLenum type, GLboolean normalized, GLuint value);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribP1uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribP2ui(GLuint index, GLenum type, GLboolean normalized, GLuint value);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribP2uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribP3ui(GLuint index, GLenum type, GLboolean normalized, GLuint value);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribP3uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribP4ui(GLuint index, GLenum type, GLboolean normalized, GLuint value);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribP4uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value);\nREGAL_DECL void REGAL_CALL plugin_glVertexP2ui(GLenum type, GLuint coords);\nREGAL_DECL void REGAL_CALL plugin_glVertexP2uiv(GLenum type, const GLuint *coords);\nREGAL_DECL void REGAL_CALL plugin_glVertexP3ui(GLenum type, GLuint coords);\nREGAL_DECL void REGAL_CALL plugin_glVertexP3uiv(GLenum type, const GLuint *coords);\nREGAL_DECL void REGAL_CALL plugin_glVertexP4ui(GLenum type, GLuint coords);\nREGAL_DECL void REGAL_CALL plugin_glVertexP4uiv(GLenum type, const GLuint *coords);\n#endif\n\n/**\n ** GL_ARB_viewport_array\n **/\n\n#if (defined(GL_ARB_VIEWPORT_ARRAY) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_VIEWPORT_ARRAY)) && !defined(REGAL_NO_ENUM_GL_ARB_VIEWPORT_ARRAY)\n#define REGAL_NO_ENUM_GL_ARB_VIEWPORT_ARRAY\n#endif\n\n#if (defined(GL_ARB_VIEWPORT_ARRAY) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_VIEWPORT_ARRAY)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_VIEWPORT_ARRAY)\n#define REGAL_NO_TYPEDEF_GL_ARB_VIEWPORT_ARRAY\n#endif\n\n#if (defined(GL_ARB_VIEWPORT_ARRAY) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_VIEWPORT_ARRAY)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_VIEWPORT_ARRAY)\n#define REGAL_NO_NAMESPACE_GL_ARB_VIEWPORT_ARRAY\n#endif\n\n#if (defined(GL_ARB_VIEWPORT_ARRAY) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_VIEWPORT_ARRAY)) && !defined(REGAL_NO_PLUGIN_GL_ARB_VIEWPORT_ARRAY)\n#define REGAL_NO_PLUGIN_GL_ARB_VIEWPORT_ARRAY\n#endif\n\n#if (defined(GL_ARB_VIEWPORT_ARRAY) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_VIEWPORT_ARRAY)) && !defined(REGAL_NO_DECLARATION_GL_ARB_VIEWPORT_ARRAY)\n#define REGAL_NO_DECLARATION_GL_ARB_VIEWPORT_ARRAY\n#endif\n\n#ifndef GL_ARB_viewport_array\n#define GL_ARB_viewport_array 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARB_VIEWPORT_ARRAY\n#define GL_MAX_VIEWPORTS                   0x825b     /* 33371 */\n#define GL_VIEWPORT_SUBPIXEL_BITS          0x825c     /* 33372 */\n#define GL_VIEWPORT_BOUNDS_RANGE           0x825d     /* 33373 */\n#define GL_LAYER_PROVOKING_VERTEX          0x825e     /* 33374 */\n#define GL_VIEWPORT_INDEX_PROVOKING_VERTEX 0x825f     /* 33375 */\n#define GL_UNDEFINED_VERTEX                0x8260     /* 33376 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_VIEWPORT_ARRAY\ntypedef void (REGAL_CALL *PFNGLDEPTHRANGEARRAYVPROC)(GLuint first, GLsizei count, const GLclampd *v);\ntypedef void (REGAL_CALL *PFNGLDEPTHRANGEINDEXEDPROC)(GLuint index, GLclampd n, GLclampd f);\ntypedef void (REGAL_CALL *PFNGLGETDOUBLEI_VPROC)(GLenum target, GLuint index, GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLGETFLOATI_VPROC)(GLenum target, GLuint index, GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLSCISSORARRAYVPROC)(GLuint first, GLsizei count, const GLint *v);\ntypedef void (REGAL_CALL *PFNGLSCISSORINDEXEDPROC)(GLuint index, GLint left, GLint bottom, GLint width, GLint height);\ntypedef void (REGAL_CALL *PFNGLSCISSORINDEXEDVPROC)(GLuint index, const GLint *v);\ntypedef void (REGAL_CALL *PFNGLVIEWPORTARRAYVPROC)(GLuint first, GLsizei count, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLVIEWPORTINDEXEDFPROC)(GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h);\ntypedef void (REGAL_CALL *PFNGLVIEWPORTINDEXEDFVPROC)(GLuint index, const GLfloat *v);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_VIEWPORT_ARRAY\n#define glDepthRangeArrayv                  rglDepthRangeArrayv\n#define glDepthRangeIndexed                 rglDepthRangeIndexed\n#define glGetDoublei_v                      rglGetDoublei_v\n#define glGetFloati_v                       rglGetFloati_v\n#define glScissorArrayv                     rglScissorArrayv\n#define glScissorIndexed                    rglScissorIndexed\n#define glScissorIndexedv                   rglScissorIndexedv\n#define glViewportArrayv                    rglViewportArrayv\n#define glViewportIndexedf                  rglViewportIndexedf\n#define glViewportIndexedfv                 rglViewportIndexedfv\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_VIEWPORT_ARRAY\nREGAL_DECL void REGAL_CALL glDepthRangeArrayv(GLuint first, GLsizei count, const GLclampd *v);\nREGAL_DECL void REGAL_CALL glDepthRangeIndexed(GLuint index, GLclampd n, GLclampd f);\nREGAL_DECL void REGAL_CALL glGetDoublei_v(GLenum target, GLuint index, GLdouble *v);\nREGAL_DECL void REGAL_CALL glGetFloati_v(GLenum target, GLuint index, GLfloat *v);\nREGAL_DECL void REGAL_CALL glScissorArrayv(GLuint first, GLsizei count, const GLint *v);\nREGAL_DECL void REGAL_CALL glScissorIndexed(GLuint index, GLint left, GLint bottom, GLint width, GLint height);\nREGAL_DECL void REGAL_CALL glScissorIndexedv(GLuint index, const GLint *v);\nREGAL_DECL void REGAL_CALL glViewportArrayv(GLuint first, GLsizei count, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glViewportIndexedf(GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h);\nREGAL_DECL void REGAL_CALL glViewportIndexedfv(GLuint index, const GLfloat *v);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_VIEWPORT_ARRAY\nREGAL_DECL void REGAL_CALL plugin_glDepthRangeArrayv(GLuint first, GLsizei count, const GLclampd *v);\nREGAL_DECL void REGAL_CALL plugin_glDepthRangeIndexed(GLuint index, GLclampd n, GLclampd f);\nREGAL_DECL void REGAL_CALL plugin_glGetDoublei_v(GLenum target, GLuint index, GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glGetFloati_v(GLenum target, GLuint index, GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glScissorArrayv(GLuint first, GLsizei count, const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glScissorIndexed(GLuint index, GLint left, GLint bottom, GLint width, GLint height);\nREGAL_DECL void REGAL_CALL plugin_glScissorIndexedv(GLuint index, const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glViewportArrayv(GLuint first, GLsizei count, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glViewportIndexedf(GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h);\nREGAL_DECL void REGAL_CALL plugin_glViewportIndexedfv(GLuint index, const GLfloat *v);\n#endif\n\n/**\n ** GL_ARB_window_pos\n **/\n\n#if (defined(GL_ARB_WINDOW_POS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARB_WINDOW_POS)) && !defined(REGAL_NO_ENUM_GL_ARB_WINDOW_POS)\n#define REGAL_NO_ENUM_GL_ARB_WINDOW_POS\n#endif\n\n#if (defined(GL_ARB_WINDOW_POS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARB_WINDOW_POS)) && !defined(REGAL_NO_TYPEDEF_GL_ARB_WINDOW_POS)\n#define REGAL_NO_TYPEDEF_GL_ARB_WINDOW_POS\n#endif\n\n#if (defined(GL_ARB_WINDOW_POS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARB_WINDOW_POS)) && !defined(REGAL_NO_NAMESPACE_GL_ARB_WINDOW_POS)\n#define REGAL_NO_NAMESPACE_GL_ARB_WINDOW_POS\n#endif\n\n#if (defined(GL_ARB_WINDOW_POS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARB_WINDOW_POS)) && !defined(REGAL_NO_PLUGIN_GL_ARB_WINDOW_POS)\n#define REGAL_NO_PLUGIN_GL_ARB_WINDOW_POS\n#endif\n\n#if (defined(GL_ARB_WINDOW_POS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARB_WINDOW_POS)) && !defined(REGAL_NO_DECLARATION_GL_ARB_WINDOW_POS)\n#define REGAL_NO_DECLARATION_GL_ARB_WINDOW_POS\n#endif\n\n#ifndef GL_ARB_window_pos\n#define GL_ARB_window_pos 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ARB_WINDOW_POS\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS2DARBPROC)(GLdouble x, GLdouble y);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS2DVARBPROC)(const GLdouble *p);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS2FARBPROC)(GLfloat x, GLfloat y);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS2FVARBPROC)(const GLfloat *p);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS2IARBPROC)(GLint x, GLint y);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS2IVARBPROC)(const GLint *p);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS2SARBPROC)(GLshort x, GLshort y);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS2SVARBPROC)(const GLshort *p);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS3DARBPROC)(GLdouble x, GLdouble y, GLdouble z);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS3DVARBPROC)(const GLdouble *p);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS3FARBPROC)(GLfloat x, GLfloat y, GLfloat z);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS3FVARBPROC)(const GLfloat *p);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS3IARBPROC)(GLint x, GLint y, GLint z);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS3IVARBPROC)(const GLint *p);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS3SARBPROC)(GLshort x, GLshort y, GLshort z);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS3SVARBPROC)(const GLshort *p);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ARB_WINDOW_POS\n#define glWindowPos2dARB                    rglWindowPos2dARB\n#define glWindowPos2dvARB                   rglWindowPos2dvARB\n#define glWindowPos2fARB                    rglWindowPos2fARB\n#define glWindowPos2fvARB                   rglWindowPos2fvARB\n#define glWindowPos2iARB                    rglWindowPos2iARB\n#define glWindowPos2ivARB                   rglWindowPos2ivARB\n#define glWindowPos2sARB                    rglWindowPos2sARB\n#define glWindowPos2svARB                   rglWindowPos2svARB\n#define glWindowPos3dARB                    rglWindowPos3dARB\n#define glWindowPos3dvARB                   rglWindowPos3dvARB\n#define glWindowPos3fARB                    rglWindowPos3fARB\n#define glWindowPos3fvARB                   rglWindowPos3fvARB\n#define glWindowPos3iARB                    rglWindowPos3iARB\n#define glWindowPos3ivARB                   rglWindowPos3ivARB\n#define glWindowPos3sARB                    rglWindowPos3sARB\n#define glWindowPos3svARB                   rglWindowPos3svARB\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ARB_WINDOW_POS\nREGAL_DECL void REGAL_CALL glWindowPos2dARB(GLdouble x, GLdouble y);\nREGAL_DECL void REGAL_CALL glWindowPos2dvARB(const GLdouble *p);\nREGAL_DECL void REGAL_CALL glWindowPos2fARB(GLfloat x, GLfloat y);\nREGAL_DECL void REGAL_CALL glWindowPos2fvARB(const GLfloat *p);\nREGAL_DECL void REGAL_CALL glWindowPos2iARB(GLint x, GLint y);\nREGAL_DECL void REGAL_CALL glWindowPos2ivARB(const GLint *p);\nREGAL_DECL void REGAL_CALL glWindowPos2sARB(GLshort x, GLshort y);\nREGAL_DECL void REGAL_CALL glWindowPos2svARB(const GLshort *p);\nREGAL_DECL void REGAL_CALL glWindowPos3dARB(GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL glWindowPos3dvARB(const GLdouble *p);\nREGAL_DECL void REGAL_CALL glWindowPos3fARB(GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL glWindowPos3fvARB(const GLfloat *p);\nREGAL_DECL void REGAL_CALL glWindowPos3iARB(GLint x, GLint y, GLint z);\nREGAL_DECL void REGAL_CALL glWindowPos3ivARB(const GLint *p);\nREGAL_DECL void REGAL_CALL glWindowPos3sARB(GLshort x, GLshort y, GLshort z);\nREGAL_DECL void REGAL_CALL glWindowPos3svARB(const GLshort *p);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ARB_WINDOW_POS\nREGAL_DECL void REGAL_CALL plugin_glWindowPos2dARB(GLdouble x, GLdouble y);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos2dvARB(const GLdouble *p);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos2fARB(GLfloat x, GLfloat y);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos2fvARB(const GLfloat *p);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos2iARB(GLint x, GLint y);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos2ivARB(const GLint *p);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos2sARB(GLshort x, GLshort y);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos2svARB(const GLshort *p);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos3dARB(GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos3dvARB(const GLdouble *p);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos3fARB(GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos3fvARB(const GLfloat *p);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos3iARB(GLint x, GLint y, GLint z);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos3ivARB(const GLint *p);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos3sARB(GLshort x, GLshort y, GLshort z);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos3svARB(const GLshort *p);\n#endif\n\n/**\n ** GL_ARM_mali_program_binary\n **/\n\n#if (defined(GL_ARM_MALI_PROGRAM_BINARY) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARM_MALI_PROGRAM_BINARY)) && !defined(REGAL_NO_ENUM_GL_ARM_MALI_PROGRAM_BINARY)\n#define REGAL_NO_ENUM_GL_ARM_MALI_PROGRAM_BINARY\n#endif\n\n#if (defined(GL_ARM_MALI_PROGRAM_BINARY) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARM_MALI_PROGRAM_BINARY)) && !defined(REGAL_NO_TYPEDEF_GL_ARM_MALI_PROGRAM_BINARY)\n#define REGAL_NO_TYPEDEF_GL_ARM_MALI_PROGRAM_BINARY\n#endif\n\n#if (defined(GL_ARM_MALI_PROGRAM_BINARY) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARM_MALI_PROGRAM_BINARY)) && !defined(REGAL_NO_NAMESPACE_GL_ARM_MALI_PROGRAM_BINARY)\n#define REGAL_NO_NAMESPACE_GL_ARM_MALI_PROGRAM_BINARY\n#endif\n\n#if (defined(GL_ARM_MALI_PROGRAM_BINARY) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARM_MALI_PROGRAM_BINARY)) && !defined(REGAL_NO_PLUGIN_GL_ARM_MALI_PROGRAM_BINARY)\n#define REGAL_NO_PLUGIN_GL_ARM_MALI_PROGRAM_BINARY\n#endif\n\n#if (defined(GL_ARM_MALI_PROGRAM_BINARY) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARM_MALI_PROGRAM_BINARY)) && !defined(REGAL_NO_DECLARATION_GL_ARM_MALI_PROGRAM_BINARY)\n#define REGAL_NO_DECLARATION_GL_ARM_MALI_PROGRAM_BINARY\n#endif\n\n#ifndef GL_ARM_mali_program_binary\n#define GL_ARM_mali_program_binary 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARM_MALI_PROGRAM_BINARY\n#define GL_MALI_PROGRAM_BINARY_ARM 0x8f61 /* 36705 */\n#endif\n\n/**\n ** GL_ARM_mali_shader_binary\n **/\n\n#if (defined(GL_ARM_MALI_SHADER_BINARY) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ARM_MALI_SHADER_BINARY)) && !defined(REGAL_NO_ENUM_GL_ARM_MALI_SHADER_BINARY)\n#define REGAL_NO_ENUM_GL_ARM_MALI_SHADER_BINARY\n#endif\n\n#if (defined(GL_ARM_MALI_SHADER_BINARY) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ARM_MALI_SHADER_BINARY)) && !defined(REGAL_NO_TYPEDEF_GL_ARM_MALI_SHADER_BINARY)\n#define REGAL_NO_TYPEDEF_GL_ARM_MALI_SHADER_BINARY\n#endif\n\n#if (defined(GL_ARM_MALI_SHADER_BINARY) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ARM_MALI_SHADER_BINARY)) && !defined(REGAL_NO_NAMESPACE_GL_ARM_MALI_SHADER_BINARY)\n#define REGAL_NO_NAMESPACE_GL_ARM_MALI_SHADER_BINARY\n#endif\n\n#if (defined(GL_ARM_MALI_SHADER_BINARY) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ARM_MALI_SHADER_BINARY)) && !defined(REGAL_NO_PLUGIN_GL_ARM_MALI_SHADER_BINARY)\n#define REGAL_NO_PLUGIN_GL_ARM_MALI_SHADER_BINARY\n#endif\n\n#if (defined(GL_ARM_MALI_SHADER_BINARY) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ARM_MALI_SHADER_BINARY)) && !defined(REGAL_NO_DECLARATION_GL_ARM_MALI_SHADER_BINARY)\n#define REGAL_NO_DECLARATION_GL_ARM_MALI_SHADER_BINARY\n#endif\n\n#ifndef GL_ARM_mali_shader_binary\n#define GL_ARM_mali_shader_binary 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ARM_MALI_SHADER_BINARY\n#define GL_MALI_SHADER_BINARY_ARM 0x8f60 /* 36704 */\n#endif\n\n/**\n ** GL_ATI_draw_buffers\n **/\n\n#if (defined(GL_ATI_DRAW_BUFFERS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ATI_DRAW_BUFFERS)) && !defined(REGAL_NO_ENUM_GL_ATI_DRAW_BUFFERS)\n#define REGAL_NO_ENUM_GL_ATI_DRAW_BUFFERS\n#endif\n\n#if (defined(GL_ATI_DRAW_BUFFERS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ATI_DRAW_BUFFERS)) && !defined(REGAL_NO_TYPEDEF_GL_ATI_DRAW_BUFFERS)\n#define REGAL_NO_TYPEDEF_GL_ATI_DRAW_BUFFERS\n#endif\n\n#if (defined(GL_ATI_DRAW_BUFFERS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ATI_DRAW_BUFFERS)) && !defined(REGAL_NO_NAMESPACE_GL_ATI_DRAW_BUFFERS)\n#define REGAL_NO_NAMESPACE_GL_ATI_DRAW_BUFFERS\n#endif\n\n#if (defined(GL_ATI_DRAW_BUFFERS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ATI_DRAW_BUFFERS)) && !defined(REGAL_NO_PLUGIN_GL_ATI_DRAW_BUFFERS)\n#define REGAL_NO_PLUGIN_GL_ATI_DRAW_BUFFERS\n#endif\n\n#if (defined(GL_ATI_DRAW_BUFFERS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ATI_DRAW_BUFFERS)) && !defined(REGAL_NO_DECLARATION_GL_ATI_DRAW_BUFFERS)\n#define REGAL_NO_DECLARATION_GL_ATI_DRAW_BUFFERS\n#endif\n\n#ifndef GL_ATI_draw_buffers\n#define GL_ATI_draw_buffers 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ATI_DRAW_BUFFERS\n#define GL_MAX_DRAW_BUFFERS_ATI 0x8824     /* 34852 */\n#define GL_DRAW_BUFFER0_ATI     0x8825     /* 34853 */\n#define GL_DRAW_BUFFER1_ATI     0x8826     /* 34854 */\n#define GL_DRAW_BUFFER2_ATI     0x8827     /* 34855 */\n#define GL_DRAW_BUFFER3_ATI     0x8828     /* 34856 */\n#define GL_DRAW_BUFFER4_ATI     0x8829     /* 34857 */\n#define GL_DRAW_BUFFER5_ATI     0x882a     /* 34858 */\n#define GL_DRAW_BUFFER6_ATI     0x882b     /* 34859 */\n#define GL_DRAW_BUFFER7_ATI     0x882c     /* 34860 */\n#define GL_DRAW_BUFFER8_ATI     0x882d     /* 34861 */\n#define GL_DRAW_BUFFER9_ATI     0x882e     /* 34862 */\n#define GL_DRAW_BUFFER10_ATI    0x882f     /* 34863 */\n#define GL_DRAW_BUFFER11_ATI    0x8830     /* 34864 */\n#define GL_DRAW_BUFFER12_ATI    0x8831     /* 34865 */\n#define GL_DRAW_BUFFER13_ATI    0x8832     /* 34866 */\n#define GL_DRAW_BUFFER14_ATI    0x8833     /* 34867 */\n#define GL_DRAW_BUFFER15_ATI    0x8834     /* 34868 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ATI_DRAW_BUFFERS\ntypedef void (REGAL_CALL *PFNGLDRAWBUFFERSATIPROC)(GLsizei n, const GLenum *bufs);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ATI_DRAW_BUFFERS\n#define glDrawBuffersATI                    rglDrawBuffersATI\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ATI_DRAW_BUFFERS\nREGAL_DECL void REGAL_CALL glDrawBuffersATI(GLsizei n, const GLenum *bufs);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ATI_DRAW_BUFFERS\nREGAL_DECL void REGAL_CALL plugin_glDrawBuffersATI(GLsizei n, const GLenum *bufs);\n#endif\n\n/**\n ** GL_ATI_element_array\n **/\n\n#if (defined(GL_ATI_ELEMENT_ARRAY) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ATI_ELEMENT_ARRAY)) && !defined(REGAL_NO_ENUM_GL_ATI_ELEMENT_ARRAY)\n#define REGAL_NO_ENUM_GL_ATI_ELEMENT_ARRAY\n#endif\n\n#if (defined(GL_ATI_ELEMENT_ARRAY) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ATI_ELEMENT_ARRAY)) && !defined(REGAL_NO_TYPEDEF_GL_ATI_ELEMENT_ARRAY)\n#define REGAL_NO_TYPEDEF_GL_ATI_ELEMENT_ARRAY\n#endif\n\n#if (defined(GL_ATI_ELEMENT_ARRAY) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ATI_ELEMENT_ARRAY)) && !defined(REGAL_NO_NAMESPACE_GL_ATI_ELEMENT_ARRAY)\n#define REGAL_NO_NAMESPACE_GL_ATI_ELEMENT_ARRAY\n#endif\n\n#if (defined(GL_ATI_ELEMENT_ARRAY) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ATI_ELEMENT_ARRAY)) && !defined(REGAL_NO_PLUGIN_GL_ATI_ELEMENT_ARRAY)\n#define REGAL_NO_PLUGIN_GL_ATI_ELEMENT_ARRAY\n#endif\n\n#if (defined(GL_ATI_ELEMENT_ARRAY) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ATI_ELEMENT_ARRAY)) && !defined(REGAL_NO_DECLARATION_GL_ATI_ELEMENT_ARRAY)\n#define REGAL_NO_DECLARATION_GL_ATI_ELEMENT_ARRAY\n#endif\n\n#ifndef GL_ATI_element_array\n#define GL_ATI_element_array 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ATI_ELEMENT_ARRAY\n#define GL_ELEMENT_ARRAY_ATI         0x8768     /* 34664 */\n#define GL_ELEMENT_ARRAY_TYPE_ATI    0x8769     /* 34665 */\n#define GL_ELEMENT_ARRAY_POINTER_ATI 0x876a     /* 34666 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ATI_ELEMENT_ARRAY\ntypedef void (REGAL_CALL *PFNGLDRAWELEMENTARRAYATIPROC)(GLenum mode, GLsizei count);\ntypedef void (REGAL_CALL *PFNGLDRAWRANGEELEMENTARRAYATIPROC)(GLenum mode, GLuint start, GLuint end, GLsizei count);\ntypedef void (REGAL_CALL *PFNGLELEMENTPOINTERATIPROC)(GLenum type, const GLvoid *pointer);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ATI_ELEMENT_ARRAY\n#define glDrawElementArrayATI               rglDrawElementArrayATI\n#define glDrawRangeElementArrayATI          rglDrawRangeElementArrayATI\n#define glElementPointerATI                 rglElementPointerATI\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ATI_ELEMENT_ARRAY\nREGAL_DECL void REGAL_CALL glDrawElementArrayATI(GLenum mode, GLsizei count);\nREGAL_DECL void REGAL_CALL glDrawRangeElementArrayATI(GLenum mode, GLuint start, GLuint end, GLsizei count);\nREGAL_DECL void REGAL_CALL glElementPointerATI(GLenum type, const GLvoid *pointer);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ATI_ELEMENT_ARRAY\nREGAL_DECL void REGAL_CALL plugin_glDrawElementArrayATI(GLenum mode, GLsizei count);\nREGAL_DECL void REGAL_CALL plugin_glDrawRangeElementArrayATI(GLenum mode, GLuint start, GLuint end, GLsizei count);\nREGAL_DECL void REGAL_CALL plugin_glElementPointerATI(GLenum type, const GLvoid *pointer);\n#endif\n\n/**\n ** GL_ATI_envmap_bumpmap\n **/\n\n#if (defined(GL_ATI_ENVMAP_BUMPMAP) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ATI_ENVMAP_BUMPMAP)) && !defined(REGAL_NO_ENUM_GL_ATI_ENVMAP_BUMPMAP)\n#define REGAL_NO_ENUM_GL_ATI_ENVMAP_BUMPMAP\n#endif\n\n#if (defined(GL_ATI_ENVMAP_BUMPMAP) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ATI_ENVMAP_BUMPMAP)) && !defined(REGAL_NO_TYPEDEF_GL_ATI_ENVMAP_BUMPMAP)\n#define REGAL_NO_TYPEDEF_GL_ATI_ENVMAP_BUMPMAP\n#endif\n\n#if (defined(GL_ATI_ENVMAP_BUMPMAP) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ATI_ENVMAP_BUMPMAP)) && !defined(REGAL_NO_NAMESPACE_GL_ATI_ENVMAP_BUMPMAP)\n#define REGAL_NO_NAMESPACE_GL_ATI_ENVMAP_BUMPMAP\n#endif\n\n#if (defined(GL_ATI_ENVMAP_BUMPMAP) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ATI_ENVMAP_BUMPMAP)) && !defined(REGAL_NO_PLUGIN_GL_ATI_ENVMAP_BUMPMAP)\n#define REGAL_NO_PLUGIN_GL_ATI_ENVMAP_BUMPMAP\n#endif\n\n#if (defined(GL_ATI_ENVMAP_BUMPMAP) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ATI_ENVMAP_BUMPMAP)) && !defined(REGAL_NO_DECLARATION_GL_ATI_ENVMAP_BUMPMAP)\n#define REGAL_NO_DECLARATION_GL_ATI_ENVMAP_BUMPMAP\n#endif\n\n#ifndef GL_ATI_envmap_bumpmap\n#define GL_ATI_envmap_bumpmap 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ATI_ENVMAP_BUMPMAP\n#define GL_BUMP_ROT_MATRIX_ATI      0x8775     /* 34677 */\n#define GL_BUMP_ROT_MATRIX_SIZE_ATI 0x8776     /* 34678 */\n#define GL_BUMP_NUM_TEX_UNITS_ATI   0x8777     /* 34679 */\n#define GL_BUMP_TEX_UNITS_ATI       0x8778     /* 34680 */\n#define GL_DUDV_ATI                 0x8779     /* 34681 */\n#define GL_DU8DV8_ATI               0x877a     /* 34682 */\n#define GL_BUMP_ENVMAP_ATI          0x877b     /* 34683 */\n#define GL_BUMP_TARGET_ATI          0x877c     /* 34684 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ATI_ENVMAP_BUMPMAP\ntypedef void (REGAL_CALL *PFNGLGETTEXBUMPPARAMETERFVATIPROC)(GLenum pname, GLfloat *param);\ntypedef void (REGAL_CALL *PFNGLGETTEXBUMPPARAMETERIVATIPROC)(GLenum pname, GLint *param);\ntypedef void (REGAL_CALL *PFNGLTEXBUMPPARAMETERFVATIPROC)(GLenum pname, const GLfloat *param);\ntypedef void (REGAL_CALL *PFNGLTEXBUMPPARAMETERIVATIPROC)(GLenum pname, const GLint *param);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ATI_ENVMAP_BUMPMAP\n#define glGetTexBumpParameterfvATI          rglGetTexBumpParameterfvATI\n#define glGetTexBumpParameterivATI          rglGetTexBumpParameterivATI\n#define glTexBumpParameterfvATI             rglTexBumpParameterfvATI\n#define glTexBumpParameterivATI             rglTexBumpParameterivATI\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ATI_ENVMAP_BUMPMAP\nREGAL_DECL void REGAL_CALL glGetTexBumpParameterfvATI(GLenum pname, GLfloat *param);\nREGAL_DECL void REGAL_CALL glGetTexBumpParameterivATI(GLenum pname, GLint *param);\nREGAL_DECL void REGAL_CALL glTexBumpParameterfvATI(GLenum pname, const GLfloat *param);\nREGAL_DECL void REGAL_CALL glTexBumpParameterivATI(GLenum pname, const GLint *param);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ATI_ENVMAP_BUMPMAP\nREGAL_DECL void REGAL_CALL plugin_glGetTexBumpParameterfvATI(GLenum pname, GLfloat *param);\nREGAL_DECL void REGAL_CALL plugin_glGetTexBumpParameterivATI(GLenum pname, GLint *param);\nREGAL_DECL void REGAL_CALL plugin_glTexBumpParameterfvATI(GLenum pname, const GLfloat *param);\nREGAL_DECL void REGAL_CALL plugin_glTexBumpParameterivATI(GLenum pname, const GLint *param);\n#endif\n\n/**\n ** GL_ATI_fragment_shader\n **/\n\n#if (defined(GL_ATI_FRAGMENT_SHADER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ATI_FRAGMENT_SHADER)) && !defined(REGAL_NO_ENUM_GL_ATI_FRAGMENT_SHADER)\n#define REGAL_NO_ENUM_GL_ATI_FRAGMENT_SHADER\n#endif\n\n#if (defined(GL_ATI_FRAGMENT_SHADER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ATI_FRAGMENT_SHADER)) && !defined(REGAL_NO_TYPEDEF_GL_ATI_FRAGMENT_SHADER)\n#define REGAL_NO_TYPEDEF_GL_ATI_FRAGMENT_SHADER\n#endif\n\n#if (defined(GL_ATI_FRAGMENT_SHADER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ATI_FRAGMENT_SHADER)) && !defined(REGAL_NO_NAMESPACE_GL_ATI_FRAGMENT_SHADER)\n#define REGAL_NO_NAMESPACE_GL_ATI_FRAGMENT_SHADER\n#endif\n\n#if (defined(GL_ATI_FRAGMENT_SHADER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ATI_FRAGMENT_SHADER)) && !defined(REGAL_NO_PLUGIN_GL_ATI_FRAGMENT_SHADER)\n#define REGAL_NO_PLUGIN_GL_ATI_FRAGMENT_SHADER\n#endif\n\n#if (defined(GL_ATI_FRAGMENT_SHADER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ATI_FRAGMENT_SHADER)) && !defined(REGAL_NO_DECLARATION_GL_ATI_FRAGMENT_SHADER)\n#define REGAL_NO_DECLARATION_GL_ATI_FRAGMENT_SHADER\n#endif\n\n#ifndef GL_ATI_fragment_shader\n#define GL_ATI_fragment_shader 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ATI_FRAGMENT_SHADER\n#define GL_2X_BIT_ATI                            0x1\n#define GL_RED_BIT_ATI                           0x1\n#define GL_QUARTER_BIT_ATI                       0x10       /* 16 */\n#define GL_4X_BIT_ATI                            0x2\n#define GL_COMP_BIT_ATI                          0x2\n#define GL_GREEN_BIT_ATI                         0x2\n#define GL_EIGHTH_BIT_ATI                        0x20       /* 32 */\n#define GL_8X_BIT_ATI                            0x4\n#define GL_BLUE_BIT_ATI                          0x4\n#define GL_NEGATE_BIT_ATI                        0x4\n#define GL_SATURATE_BIT_ATI                      0x40       /* 64 */\n#define GL_BIAS_BIT_ATI                          0x8\n#define GL_HALF_BIT_ATI                          0x8\n#define GL_FRAGMENT_SHADER_ATI                   0x8920     /* 35104 */\n#define GL_REG_0_ATI                             0x8921     /* 35105 */\n#define GL_REG_1_ATI                             0x8922     /* 35106 */\n#define GL_REG_2_ATI                             0x8923     /* 35107 */\n#define GL_REG_3_ATI                             0x8924     /* 35108 */\n#define GL_REG_4_ATI                             0x8925     /* 35109 */\n#define GL_REG_5_ATI                             0x8926     /* 35110 */\n#define GL_CON_0_ATI                             0x8941     /* 35137 */\n#define GL_CON_1_ATI                             0x8942     /* 35138 */\n#define GL_CON_2_ATI                             0x8943     /* 35139 */\n#define GL_CON_3_ATI                             0x8944     /* 35140 */\n#define GL_CON_4_ATI                             0x8945     /* 35141 */\n#define GL_CON_5_ATI                             0x8946     /* 35142 */\n#define GL_CON_6_ATI                             0x8947     /* 35143 */\n#define GL_CON_7_ATI                             0x8948     /* 35144 */\n#define GL_MOV_ATI                               0x8961     /* 35169 */\n#define GL_ADD_ATI                               0x8963     /* 35171 */\n#define GL_MUL_ATI                               0x8964     /* 35172 */\n#define GL_SUB_ATI                               0x8965     /* 35173 */\n#define GL_DOT3_ATI                              0x8966     /* 35174 */\n#define GL_DOT4_ATI                              0x8967     /* 35175 */\n#define GL_MAD_ATI                               0x8968     /* 35176 */\n#define GL_LERP_ATI                              0x8969     /* 35177 */\n#define GL_CND_ATI                               0x896a     /* 35178 */\n#define GL_CND0_ATI                              0x896b     /* 35179 */\n#define GL_DOT2_ADD_ATI                          0x896c     /* 35180 */\n#define GL_SECONDARY_INTERPOLATOR_ATI            0x896d     /* 35181 */\n#define GL_NUM_FRAGMENT_REGISTERS_ATI            0x896e     /* 35182 */\n#define GL_NUM_FRAGMENT_CONSTANTS_ATI            0x896f     /* 35183 */\n#define GL_NUM_PASSES_ATI                        0x8970     /* 35184 */\n#define GL_NUM_INSTRUCTIONS_PER_PASS_ATI         0x8971     /* 35185 */\n#define GL_NUM_INSTRUCTIONS_TOTAL_ATI            0x8972     /* 35186 */\n#define GL_NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI 0x8973     /* 35187 */\n#define GL_NUM_LOOPBACK_COMPONENTS_ATI           0x8974     /* 35188 */\n#define GL_COLOR_ALPHA_PAIRING_ATI               0x8975     /* 35189 */\n#define GL_SWIZZLE_STR_ATI                       0x8976     /* 35190 */\n#define GL_SWIZZLE_STQ_ATI                       0x8977     /* 35191 */\n#define GL_SWIZZLE_STR_DR_ATI                    0x8978     /* 35192 */\n#define GL_SWIZZLE_STQ_DQ_ATI                    0x8979     /* 35193 */\n#define GL_SWIZZLE_STRQ_ATI                      0x897a     /* 35194 */\n#define GL_SWIZZLE_STRQ_DQ_ATI                   0x897b     /* 35195 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ATI_FRAGMENT_SHADER\ntypedef GLuint (REGAL_CALL *PFNGLGENFRAGMENTSHADERSATIPROC)(GLuint range);\ntypedef void (REGAL_CALL *PFNGLALPHAFRAGMENTOP1ATIPROC)(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod);\ntypedef void (REGAL_CALL *PFNGLALPHAFRAGMENTOP2ATIPROC)(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod);\ntypedef void (REGAL_CALL *PFNGLALPHAFRAGMENTOP3ATIPROC)(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod);\ntypedef void (REGAL_CALL *PFNGLBEGINFRAGMENTSHADERATIPROC)(void);\ntypedef void (REGAL_CALL *PFNGLBINDFRAGMENTSHADERATIPROC)(GLuint id);\ntypedef void (REGAL_CALL *PFNGLCOLORFRAGMENTOP1ATIPROC)(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod);\ntypedef void (REGAL_CALL *PFNGLCOLORFRAGMENTOP2ATIPROC)(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod);\ntypedef void (REGAL_CALL *PFNGLCOLORFRAGMENTOP3ATIPROC)(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod);\ntypedef void (REGAL_CALL *PFNGLDELETEFRAGMENTSHADERATIPROC)(GLuint id);\ntypedef void (REGAL_CALL *PFNGLENDFRAGMENTSHADERATIPROC)(void);\ntypedef void (REGAL_CALL *PFNGLPASSTEXCOORDATIPROC)(GLuint dst, GLuint coord, GLenum swizzle);\ntypedef void (REGAL_CALL *PFNGLSAMPLEMAPATIPROC)(GLuint dst, GLuint interp, GLenum swizzle);\ntypedef void (REGAL_CALL *PFNGLSETFRAGMENTSHADERCONSTANTATIPROC)(GLuint dst, const GLfloat *value);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ATI_FRAGMENT_SHADER\n#define glAlphaFragmentOp1ATI               rglAlphaFragmentOp1ATI\n#define glAlphaFragmentOp2ATI               rglAlphaFragmentOp2ATI\n#define glAlphaFragmentOp3ATI               rglAlphaFragmentOp3ATI\n#define glBeginFragmentShaderATI            rglBeginFragmentShaderATI\n#define glBindFragmentShaderATI             rglBindFragmentShaderATI\n#define glColorFragmentOp1ATI               rglColorFragmentOp1ATI\n#define glColorFragmentOp2ATI               rglColorFragmentOp2ATI\n#define glColorFragmentOp3ATI               rglColorFragmentOp3ATI\n#define glDeleteFragmentShaderATI           rglDeleteFragmentShaderATI\n#define glEndFragmentShaderATI              rglEndFragmentShaderATI\n#define glGenFragmentShadersATI             rglGenFragmentShadersATI\n#define glPassTexCoordATI                   rglPassTexCoordATI\n#define glSampleMapATI                      rglSampleMapATI\n#define glSetFragmentShaderConstantATI      rglSetFragmentShaderConstantATI\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ATI_FRAGMENT_SHADER\nREGAL_DECL GLuint REGAL_CALL glGenFragmentShadersATI(GLuint range);\nREGAL_DECL void REGAL_CALL glAlphaFragmentOp1ATI(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod);\nREGAL_DECL void REGAL_CALL glAlphaFragmentOp2ATI(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod);\nREGAL_DECL void REGAL_CALL glAlphaFragmentOp3ATI(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod);\nREGAL_DECL void REGAL_CALL glBeginFragmentShaderATI(void);\nREGAL_DECL void REGAL_CALL glBindFragmentShaderATI(GLuint id);\nREGAL_DECL void REGAL_CALL glColorFragmentOp1ATI(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod);\nREGAL_DECL void REGAL_CALL glColorFragmentOp2ATI(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod);\nREGAL_DECL void REGAL_CALL glColorFragmentOp3ATI(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod);\nREGAL_DECL void REGAL_CALL glDeleteFragmentShaderATI(GLuint id);\nREGAL_DECL void REGAL_CALL glEndFragmentShaderATI(void);\nREGAL_DECL void REGAL_CALL glPassTexCoordATI(GLuint dst, GLuint coord, GLenum swizzle);\nREGAL_DECL void REGAL_CALL glSampleMapATI(GLuint dst, GLuint interp, GLenum swizzle);\nREGAL_DECL void REGAL_CALL glSetFragmentShaderConstantATI(GLuint dst, const GLfloat *value);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ATI_FRAGMENT_SHADER\nREGAL_DECL GLuint REGAL_CALL plugin_glGenFragmentShadersATI(GLuint range);\nREGAL_DECL void REGAL_CALL plugin_glAlphaFragmentOp1ATI(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod);\nREGAL_DECL void REGAL_CALL plugin_glAlphaFragmentOp2ATI(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod);\nREGAL_DECL void REGAL_CALL plugin_glAlphaFragmentOp3ATI(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod);\nREGAL_DECL void REGAL_CALL plugin_glBeginFragmentShaderATI(void);\nREGAL_DECL void REGAL_CALL plugin_glBindFragmentShaderATI(GLuint id);\nREGAL_DECL void REGAL_CALL plugin_glColorFragmentOp1ATI(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod);\nREGAL_DECL void REGAL_CALL plugin_glColorFragmentOp2ATI(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod);\nREGAL_DECL void REGAL_CALL plugin_glColorFragmentOp3ATI(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod);\nREGAL_DECL void REGAL_CALL plugin_glDeleteFragmentShaderATI(GLuint id);\nREGAL_DECL void REGAL_CALL plugin_glEndFragmentShaderATI(void);\nREGAL_DECL void REGAL_CALL plugin_glPassTexCoordATI(GLuint dst, GLuint coord, GLenum swizzle);\nREGAL_DECL void REGAL_CALL plugin_glSampleMapATI(GLuint dst, GLuint interp, GLenum swizzle);\nREGAL_DECL void REGAL_CALL plugin_glSetFragmentShaderConstantATI(GLuint dst, const GLfloat *value);\n#endif\n\n/**\n ** GL_ATI_map_object_buffer\n **/\n\n#if (defined(GL_ATI_MAP_OBJECT_BUFFER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ATI_MAP_OBJECT_BUFFER)) && !defined(REGAL_NO_ENUM_GL_ATI_MAP_OBJECT_BUFFER)\n#define REGAL_NO_ENUM_GL_ATI_MAP_OBJECT_BUFFER\n#endif\n\n#if (defined(GL_ATI_MAP_OBJECT_BUFFER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ATI_MAP_OBJECT_BUFFER)) && !defined(REGAL_NO_TYPEDEF_GL_ATI_MAP_OBJECT_BUFFER)\n#define REGAL_NO_TYPEDEF_GL_ATI_MAP_OBJECT_BUFFER\n#endif\n\n#if (defined(GL_ATI_MAP_OBJECT_BUFFER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ATI_MAP_OBJECT_BUFFER)) && !defined(REGAL_NO_NAMESPACE_GL_ATI_MAP_OBJECT_BUFFER)\n#define REGAL_NO_NAMESPACE_GL_ATI_MAP_OBJECT_BUFFER\n#endif\n\n#if (defined(GL_ATI_MAP_OBJECT_BUFFER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ATI_MAP_OBJECT_BUFFER)) && !defined(REGAL_NO_PLUGIN_GL_ATI_MAP_OBJECT_BUFFER)\n#define REGAL_NO_PLUGIN_GL_ATI_MAP_OBJECT_BUFFER\n#endif\n\n#if (defined(GL_ATI_MAP_OBJECT_BUFFER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ATI_MAP_OBJECT_BUFFER)) && !defined(REGAL_NO_DECLARATION_GL_ATI_MAP_OBJECT_BUFFER)\n#define REGAL_NO_DECLARATION_GL_ATI_MAP_OBJECT_BUFFER\n#endif\n\n#ifndef GL_ATI_map_object_buffer\n#define GL_ATI_map_object_buffer 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ATI_MAP_OBJECT_BUFFER\ntypedef GLvoid *(REGAL_CALL *PFNGLMAPOBJECTBUFFERATIPROC)(GLuint buffer);\ntypedef void (REGAL_CALL *PFNGLUNMAPOBJECTBUFFERATIPROC)(GLuint buffer);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ATI_MAP_OBJECT_BUFFER\n#define glMapObjectBufferATI                rglMapObjectBufferATI\n#define glUnmapObjectBufferATI              rglUnmapObjectBufferATI\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ATI_MAP_OBJECT_BUFFER\nREGAL_DECL GLvoid *REGAL_CALL glMapObjectBufferATI(GLuint buffer);\nREGAL_DECL void REGAL_CALL glUnmapObjectBufferATI(GLuint buffer);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ATI_MAP_OBJECT_BUFFER\nREGAL_DECL GLvoid *REGAL_CALL plugin_glMapObjectBufferATI(GLuint buffer);\nREGAL_DECL void REGAL_CALL plugin_glUnmapObjectBufferATI(GLuint buffer);\n#endif\n\n/**\n ** GL_ATI_meminfo\n **/\n\n#if (defined(GL_ATI_MEMINFO) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ATI_MEMINFO)) && !defined(REGAL_NO_ENUM_GL_ATI_MEMINFO)\n#define REGAL_NO_ENUM_GL_ATI_MEMINFO\n#endif\n\n#if (defined(GL_ATI_MEMINFO) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ATI_MEMINFO)) && !defined(REGAL_NO_TYPEDEF_GL_ATI_MEMINFO)\n#define REGAL_NO_TYPEDEF_GL_ATI_MEMINFO\n#endif\n\n#if (defined(GL_ATI_MEMINFO) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ATI_MEMINFO)) && !defined(REGAL_NO_NAMESPACE_GL_ATI_MEMINFO)\n#define REGAL_NO_NAMESPACE_GL_ATI_MEMINFO\n#endif\n\n#if (defined(GL_ATI_MEMINFO) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ATI_MEMINFO)) && !defined(REGAL_NO_PLUGIN_GL_ATI_MEMINFO)\n#define REGAL_NO_PLUGIN_GL_ATI_MEMINFO\n#endif\n\n#if (defined(GL_ATI_MEMINFO) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ATI_MEMINFO)) && !defined(REGAL_NO_DECLARATION_GL_ATI_MEMINFO)\n#define REGAL_NO_DECLARATION_GL_ATI_MEMINFO\n#endif\n\n#ifndef GL_ATI_meminfo\n#define GL_ATI_meminfo 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ATI_MEMINFO\n#define GL_VBO_FREE_MEMORY_ATI          0x87fb     /* 34811 */\n#define GL_TEXTURE_FREE_MEMORY_ATI      0x87fc     /* 34812 */\n#define GL_RENDERBUFFER_FREE_MEMORY_ATI 0x87fd     /* 34813 */\n#endif\n\n/**\n ** GL_ATI_pn_triangles\n **/\n\n#if (defined(GL_ATI_PN_TRIANGLES) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ATI_PN_TRIANGLES)) && !defined(REGAL_NO_ENUM_GL_ATI_PN_TRIANGLES)\n#define REGAL_NO_ENUM_GL_ATI_PN_TRIANGLES\n#endif\n\n#if (defined(GL_ATI_PN_TRIANGLES) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ATI_PN_TRIANGLES)) && !defined(REGAL_NO_TYPEDEF_GL_ATI_PN_TRIANGLES)\n#define REGAL_NO_TYPEDEF_GL_ATI_PN_TRIANGLES\n#endif\n\n#if (defined(GL_ATI_PN_TRIANGLES) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ATI_PN_TRIANGLES)) && !defined(REGAL_NO_NAMESPACE_GL_ATI_PN_TRIANGLES)\n#define REGAL_NO_NAMESPACE_GL_ATI_PN_TRIANGLES\n#endif\n\n#if (defined(GL_ATI_PN_TRIANGLES) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ATI_PN_TRIANGLES)) && !defined(REGAL_NO_PLUGIN_GL_ATI_PN_TRIANGLES)\n#define REGAL_NO_PLUGIN_GL_ATI_PN_TRIANGLES\n#endif\n\n#if (defined(GL_ATI_PN_TRIANGLES) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ATI_PN_TRIANGLES)) && !defined(REGAL_NO_DECLARATION_GL_ATI_PN_TRIANGLES)\n#define REGAL_NO_DECLARATION_GL_ATI_PN_TRIANGLES\n#endif\n\n#ifndef GL_ATI_pn_triangles\n#define GL_ATI_pn_triangles 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ATI_PN_TRIANGLES\n#define GL_PN_TRIANGLES_ATI                       0x87f0     /* 34800 */\n#define GL_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI 0x87f1     /* 34801 */\n#define GL_PN_TRIANGLES_POINT_MODE_ATI            0x87f2     /* 34802 */\n#define GL_PN_TRIANGLES_NORMAL_MODE_ATI           0x87f3     /* 34803 */\n#define GL_PN_TRIANGLES_TESSELATION_LEVEL_ATI     0x87f4     /* 34804 */\n#define GL_PN_TRIANGLES_POINT_MODE_LINEAR_ATI     0x87f5     /* 34805 */\n#define GL_PN_TRIANGLES_POINT_MODE_CUBIC_ATI      0x87f6     /* 34806 */\n#define GL_PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI    0x87f7     /* 34807 */\n#define GL_PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI 0x87f8     /* 34808 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ATI_PN_TRIANGLES\ntypedef void (REGAL_CALL *PFNGLPNTRIANGLESFATIPROC)(GLenum pname, GLfloat param);\ntypedef void (REGAL_CALL *PFNGLPNTRIANGLESIATIPROC)(GLenum pname, GLint param);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ATI_PN_TRIANGLES\n#define glPNTrianglesfATI                   rglPNTrianglesfATI\n#define glPNTrianglesiATI                   rglPNTrianglesiATI\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ATI_PN_TRIANGLES\nREGAL_DECL void REGAL_CALL glPNTrianglesfATI(GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL glPNTrianglesiATI(GLenum pname, GLint param);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ATI_PN_TRIANGLES\nREGAL_DECL void REGAL_CALL plugin_glPNTrianglesfATI(GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL plugin_glPNTrianglesiATI(GLenum pname, GLint param);\n#endif\n\n/**\n ** GL_ATI_separate_stencil\n **/\n\n#if (defined(GL_ATI_SEPARATE_STENCIL) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ATI_SEPARATE_STENCIL)) && !defined(REGAL_NO_ENUM_GL_ATI_SEPARATE_STENCIL)\n#define REGAL_NO_ENUM_GL_ATI_SEPARATE_STENCIL\n#endif\n\n#if (defined(GL_ATI_SEPARATE_STENCIL) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ATI_SEPARATE_STENCIL)) && !defined(REGAL_NO_TYPEDEF_GL_ATI_SEPARATE_STENCIL)\n#define REGAL_NO_TYPEDEF_GL_ATI_SEPARATE_STENCIL\n#endif\n\n#if (defined(GL_ATI_SEPARATE_STENCIL) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ATI_SEPARATE_STENCIL)) && !defined(REGAL_NO_NAMESPACE_GL_ATI_SEPARATE_STENCIL)\n#define REGAL_NO_NAMESPACE_GL_ATI_SEPARATE_STENCIL\n#endif\n\n#if (defined(GL_ATI_SEPARATE_STENCIL) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ATI_SEPARATE_STENCIL)) && !defined(REGAL_NO_PLUGIN_GL_ATI_SEPARATE_STENCIL)\n#define REGAL_NO_PLUGIN_GL_ATI_SEPARATE_STENCIL\n#endif\n\n#if (defined(GL_ATI_SEPARATE_STENCIL) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ATI_SEPARATE_STENCIL)) && !defined(REGAL_NO_DECLARATION_GL_ATI_SEPARATE_STENCIL)\n#define REGAL_NO_DECLARATION_GL_ATI_SEPARATE_STENCIL\n#endif\n\n#ifndef GL_ATI_separate_stencil\n#define GL_ATI_separate_stencil 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ATI_SEPARATE_STENCIL\n#define GL_STENCIL_BACK_FUNC_ATI            0x8800     /* 34816 */\n#define GL_STENCIL_BACK_FAIL_ATI            0x8801     /* 34817 */\n#define GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI 0x8802     /* 34818 */\n#define GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI 0x8803     /* 34819 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ATI_SEPARATE_STENCIL\ntypedef void (REGAL_CALL *PFNGLSTENCILFUNCSEPARATEATIPROC)(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask);\ntypedef void (REGAL_CALL *PFNGLSTENCILOPSEPARATEATIPROC)(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ATI_SEPARATE_STENCIL\n#define glStencilFuncSeparateATI            rglStencilFuncSeparateATI\n#define glStencilOpSeparateATI              rglStencilOpSeparateATI\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ATI_SEPARATE_STENCIL\nREGAL_DECL void REGAL_CALL glStencilFuncSeparateATI(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask);\nREGAL_DECL void REGAL_CALL glStencilOpSeparateATI(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ATI_SEPARATE_STENCIL\nREGAL_DECL void REGAL_CALL plugin_glStencilFuncSeparateATI(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask);\nREGAL_DECL void REGAL_CALL plugin_glStencilOpSeparateATI(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);\n#endif\n\n/**\n ** GL_ATI_text_fragment_shader\n **/\n\n#if (defined(GL_ATI_TEXT_FRAGMENT_SHADER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ATI_TEXT_FRAGMENT_SHADER)) && !defined(REGAL_NO_ENUM_GL_ATI_TEXT_FRAGMENT_SHADER)\n#define REGAL_NO_ENUM_GL_ATI_TEXT_FRAGMENT_SHADER\n#endif\n\n#if (defined(GL_ATI_TEXT_FRAGMENT_SHADER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ATI_TEXT_FRAGMENT_SHADER)) && !defined(REGAL_NO_TYPEDEF_GL_ATI_TEXT_FRAGMENT_SHADER)\n#define REGAL_NO_TYPEDEF_GL_ATI_TEXT_FRAGMENT_SHADER\n#endif\n\n#if (defined(GL_ATI_TEXT_FRAGMENT_SHADER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ATI_TEXT_FRAGMENT_SHADER)) && !defined(REGAL_NO_NAMESPACE_GL_ATI_TEXT_FRAGMENT_SHADER)\n#define REGAL_NO_NAMESPACE_GL_ATI_TEXT_FRAGMENT_SHADER\n#endif\n\n#if (defined(GL_ATI_TEXT_FRAGMENT_SHADER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ATI_TEXT_FRAGMENT_SHADER)) && !defined(REGAL_NO_PLUGIN_GL_ATI_TEXT_FRAGMENT_SHADER)\n#define REGAL_NO_PLUGIN_GL_ATI_TEXT_FRAGMENT_SHADER\n#endif\n\n#if (defined(GL_ATI_TEXT_FRAGMENT_SHADER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ATI_TEXT_FRAGMENT_SHADER)) && !defined(REGAL_NO_DECLARATION_GL_ATI_TEXT_FRAGMENT_SHADER)\n#define REGAL_NO_DECLARATION_GL_ATI_TEXT_FRAGMENT_SHADER\n#endif\n\n#ifndef GL_ATI_text_fragment_shader\n#define GL_ATI_text_fragment_shader 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ATI_TEXT_FRAGMENT_SHADER\n#define GL_TEXT_FRAGMENT_SHADER_ATI 0x8200 /* 33280 */\n#endif\n\n/**\n ** GL_ATI_texture_compression_3dc\n **/\n\n#if (defined(GL_ATI_TEXTURE_COMPRESSION_3DC) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ATI_TEXTURE_COMPRESSION_3DC)) && !defined(REGAL_NO_ENUM_GL_ATI_TEXTURE_COMPRESSION_3DC)\n#define REGAL_NO_ENUM_GL_ATI_TEXTURE_COMPRESSION_3DC\n#endif\n\n#if (defined(GL_ATI_TEXTURE_COMPRESSION_3DC) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ATI_TEXTURE_COMPRESSION_3DC)) && !defined(REGAL_NO_TYPEDEF_GL_ATI_TEXTURE_COMPRESSION_3DC)\n#define REGAL_NO_TYPEDEF_GL_ATI_TEXTURE_COMPRESSION_3DC\n#endif\n\n#if (defined(GL_ATI_TEXTURE_COMPRESSION_3DC) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ATI_TEXTURE_COMPRESSION_3DC)) && !defined(REGAL_NO_NAMESPACE_GL_ATI_TEXTURE_COMPRESSION_3DC)\n#define REGAL_NO_NAMESPACE_GL_ATI_TEXTURE_COMPRESSION_3DC\n#endif\n\n#if (defined(GL_ATI_TEXTURE_COMPRESSION_3DC) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ATI_TEXTURE_COMPRESSION_3DC)) && !defined(REGAL_NO_PLUGIN_GL_ATI_TEXTURE_COMPRESSION_3DC)\n#define REGAL_NO_PLUGIN_GL_ATI_TEXTURE_COMPRESSION_3DC\n#endif\n\n#if (defined(GL_ATI_TEXTURE_COMPRESSION_3DC) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ATI_TEXTURE_COMPRESSION_3DC)) && !defined(REGAL_NO_DECLARATION_GL_ATI_TEXTURE_COMPRESSION_3DC)\n#define REGAL_NO_DECLARATION_GL_ATI_TEXTURE_COMPRESSION_3DC\n#endif\n\n#ifndef GL_ATI_texture_compression_3dc\n#define GL_ATI_texture_compression_3dc 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ATI_TEXTURE_COMPRESSION_3DC\n#define GL_COMPRESSED_LUMINANCE_ALPHA_3DC_ATI 0x8837 /* 34871 */\n#endif\n\n/**\n ** GL_ATI_texture_env_combine3\n **/\n\n#if (defined(GL_ATI_TEXTURE_ENV_COMBINE3) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ATI_TEXTURE_ENV_COMBINE3)) && !defined(REGAL_NO_ENUM_GL_ATI_TEXTURE_ENV_COMBINE3)\n#define REGAL_NO_ENUM_GL_ATI_TEXTURE_ENV_COMBINE3\n#endif\n\n#if (defined(GL_ATI_TEXTURE_ENV_COMBINE3) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ATI_TEXTURE_ENV_COMBINE3)) && !defined(REGAL_NO_TYPEDEF_GL_ATI_TEXTURE_ENV_COMBINE3)\n#define REGAL_NO_TYPEDEF_GL_ATI_TEXTURE_ENV_COMBINE3\n#endif\n\n#if (defined(GL_ATI_TEXTURE_ENV_COMBINE3) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ATI_TEXTURE_ENV_COMBINE3)) && !defined(REGAL_NO_NAMESPACE_GL_ATI_TEXTURE_ENV_COMBINE3)\n#define REGAL_NO_NAMESPACE_GL_ATI_TEXTURE_ENV_COMBINE3\n#endif\n\n#if (defined(GL_ATI_TEXTURE_ENV_COMBINE3) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ATI_TEXTURE_ENV_COMBINE3)) && !defined(REGAL_NO_PLUGIN_GL_ATI_TEXTURE_ENV_COMBINE3)\n#define REGAL_NO_PLUGIN_GL_ATI_TEXTURE_ENV_COMBINE3\n#endif\n\n#if (defined(GL_ATI_TEXTURE_ENV_COMBINE3) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ATI_TEXTURE_ENV_COMBINE3)) && !defined(REGAL_NO_DECLARATION_GL_ATI_TEXTURE_ENV_COMBINE3)\n#define REGAL_NO_DECLARATION_GL_ATI_TEXTURE_ENV_COMBINE3\n#endif\n\n#ifndef GL_ATI_texture_env_combine3\n#define GL_ATI_texture_env_combine3 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ATI_TEXTURE_ENV_COMBINE3\n#define GL_MODULATE_ADD_ATI        0x8744     /* 34628 */\n#define GL_MODULATE_SIGNED_ADD_ATI 0x8745     /* 34629 */\n#define GL_MODULATE_SUBTRACT_ATI   0x8746     /* 34630 */\n#endif\n\n/**\n ** GL_ATI_texture_float\n **/\n\n#if (defined(GL_ATI_TEXTURE_FLOAT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ATI_TEXTURE_FLOAT)) && !defined(REGAL_NO_ENUM_GL_ATI_TEXTURE_FLOAT)\n#define REGAL_NO_ENUM_GL_ATI_TEXTURE_FLOAT\n#endif\n\n#if (defined(GL_ATI_TEXTURE_FLOAT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ATI_TEXTURE_FLOAT)) && !defined(REGAL_NO_TYPEDEF_GL_ATI_TEXTURE_FLOAT)\n#define REGAL_NO_TYPEDEF_GL_ATI_TEXTURE_FLOAT\n#endif\n\n#if (defined(GL_ATI_TEXTURE_FLOAT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ATI_TEXTURE_FLOAT)) && !defined(REGAL_NO_NAMESPACE_GL_ATI_TEXTURE_FLOAT)\n#define REGAL_NO_NAMESPACE_GL_ATI_TEXTURE_FLOAT\n#endif\n\n#if (defined(GL_ATI_TEXTURE_FLOAT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ATI_TEXTURE_FLOAT)) && !defined(REGAL_NO_PLUGIN_GL_ATI_TEXTURE_FLOAT)\n#define REGAL_NO_PLUGIN_GL_ATI_TEXTURE_FLOAT\n#endif\n\n#if (defined(GL_ATI_TEXTURE_FLOAT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ATI_TEXTURE_FLOAT)) && !defined(REGAL_NO_DECLARATION_GL_ATI_TEXTURE_FLOAT)\n#define REGAL_NO_DECLARATION_GL_ATI_TEXTURE_FLOAT\n#endif\n\n#ifndef GL_ATI_texture_float\n#define GL_ATI_texture_float 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ATI_TEXTURE_FLOAT\n#define GL_RGBA_FLOAT32_ATI            0x8814     /* 34836 */\n#define GL_RGB_FLOAT32_ATI             0x8815     /* 34837 */\n#define GL_ALPHA_FLOAT32_ATI           0x8816     /* 34838 */\n#define GL_INTENSITY_FLOAT32_ATI       0x8817     /* 34839 */\n#define GL_LUMINANCE_FLOAT32_ATI       0x8818     /* 34840 */\n#define GL_LUMINANCE_ALPHA_FLOAT32_ATI 0x8819     /* 34841 */\n#define GL_RGBA_FLOAT16_ATI            0x881a     /* 34842 */\n#define GL_RGB_FLOAT16_ATI             0x881b     /* 34843 */\n#define GL_ALPHA_FLOAT16_ATI           0x881c     /* 34844 */\n#define GL_INTENSITY_FLOAT16_ATI       0x881d     /* 34845 */\n#define GL_LUMINANCE_FLOAT16_ATI       0x881e     /* 34846 */\n#define GL_LUMINANCE_ALPHA_FLOAT16_ATI 0x881f     /* 34847 */\n#endif\n\n/**\n ** GL_ATI_texture_mirror_once\n **/\n\n#if (defined(GL_ATI_TEXTURE_MIRROR_ONCE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ATI_TEXTURE_MIRROR_ONCE)) && !defined(REGAL_NO_ENUM_GL_ATI_TEXTURE_MIRROR_ONCE)\n#define REGAL_NO_ENUM_GL_ATI_TEXTURE_MIRROR_ONCE\n#endif\n\n#if (defined(GL_ATI_TEXTURE_MIRROR_ONCE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ATI_TEXTURE_MIRROR_ONCE)) && !defined(REGAL_NO_TYPEDEF_GL_ATI_TEXTURE_MIRROR_ONCE)\n#define REGAL_NO_TYPEDEF_GL_ATI_TEXTURE_MIRROR_ONCE\n#endif\n\n#if (defined(GL_ATI_TEXTURE_MIRROR_ONCE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ATI_TEXTURE_MIRROR_ONCE)) && !defined(REGAL_NO_NAMESPACE_GL_ATI_TEXTURE_MIRROR_ONCE)\n#define REGAL_NO_NAMESPACE_GL_ATI_TEXTURE_MIRROR_ONCE\n#endif\n\n#if (defined(GL_ATI_TEXTURE_MIRROR_ONCE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ATI_TEXTURE_MIRROR_ONCE)) && !defined(REGAL_NO_PLUGIN_GL_ATI_TEXTURE_MIRROR_ONCE)\n#define REGAL_NO_PLUGIN_GL_ATI_TEXTURE_MIRROR_ONCE\n#endif\n\n#if (defined(GL_ATI_TEXTURE_MIRROR_ONCE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ATI_TEXTURE_MIRROR_ONCE)) && !defined(REGAL_NO_DECLARATION_GL_ATI_TEXTURE_MIRROR_ONCE)\n#define REGAL_NO_DECLARATION_GL_ATI_TEXTURE_MIRROR_ONCE\n#endif\n\n#ifndef GL_ATI_texture_mirror_once\n#define GL_ATI_texture_mirror_once 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ATI_TEXTURE_MIRROR_ONCE\n#define GL_MIRROR_CLAMP_ATI         0x8742     /* 34626 */\n#define GL_MIRROR_CLAMP_TO_EDGE_ATI 0x8743     /* 34627 */\n#endif\n\n/**\n ** GL_ATI_vertex_array_object\n **/\n\n#if (defined(GL_ATI_VERTEX_ARRAY_OBJECT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ATI_VERTEX_ARRAY_OBJECT)) && !defined(REGAL_NO_ENUM_GL_ATI_VERTEX_ARRAY_OBJECT)\n#define REGAL_NO_ENUM_GL_ATI_VERTEX_ARRAY_OBJECT\n#endif\n\n#if (defined(GL_ATI_VERTEX_ARRAY_OBJECT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ATI_VERTEX_ARRAY_OBJECT)) && !defined(REGAL_NO_TYPEDEF_GL_ATI_VERTEX_ARRAY_OBJECT)\n#define REGAL_NO_TYPEDEF_GL_ATI_VERTEX_ARRAY_OBJECT\n#endif\n\n#if (defined(GL_ATI_VERTEX_ARRAY_OBJECT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ATI_VERTEX_ARRAY_OBJECT)) && !defined(REGAL_NO_NAMESPACE_GL_ATI_VERTEX_ARRAY_OBJECT)\n#define REGAL_NO_NAMESPACE_GL_ATI_VERTEX_ARRAY_OBJECT\n#endif\n\n#if (defined(GL_ATI_VERTEX_ARRAY_OBJECT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ATI_VERTEX_ARRAY_OBJECT)) && !defined(REGAL_NO_PLUGIN_GL_ATI_VERTEX_ARRAY_OBJECT)\n#define REGAL_NO_PLUGIN_GL_ATI_VERTEX_ARRAY_OBJECT\n#endif\n\n#if (defined(GL_ATI_VERTEX_ARRAY_OBJECT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ATI_VERTEX_ARRAY_OBJECT)) && !defined(REGAL_NO_DECLARATION_GL_ATI_VERTEX_ARRAY_OBJECT)\n#define REGAL_NO_DECLARATION_GL_ATI_VERTEX_ARRAY_OBJECT\n#endif\n\n#ifndef GL_ATI_vertex_array_object\n#define GL_ATI_vertex_array_object 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ATI_VERTEX_ARRAY_OBJECT\n#define GL_STATIC_ATI              0x8760     /* 34656 */\n#define GL_DYNAMIC_ATI             0x8761     /* 34657 */\n#define GL_PRESERVE_ATI            0x8762     /* 34658 */\n#define GL_DISCARD_ATI             0x8763     /* 34659 */\n#define GL_OBJECT_BUFFER_SIZE_ATI  0x8764     /* 34660 */\n#define GL_OBJECT_BUFFER_USAGE_ATI 0x8765     /* 34661 */\n#define GL_ARRAY_OBJECT_BUFFER_ATI 0x8766     /* 34662 */\n#define GL_ARRAY_OBJECT_OFFSET_ATI 0x8767     /* 34663 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ATI_VERTEX_ARRAY_OBJECT\ntypedef GLboolean (REGAL_CALL *PFNGLISOBJECTBUFFERATIPROC)(GLuint buffer);\ntypedef GLuint (REGAL_CALL *PFNGLNEWOBJECTBUFFERATIPROC)(GLsizei size, const GLvoid *pointer, GLenum usage);\ntypedef void (REGAL_CALL *PFNGLARRAYOBJECTATIPROC)(GLenum array, GLint size, GLenum type, GLsizei stride, GLuint buffer, GLuint offset);\ntypedef void (REGAL_CALL *PFNGLFREEOBJECTBUFFERATIPROC)(GLuint buffer);\ntypedef void (REGAL_CALL *PFNGLGETARRAYOBJECTFVATIPROC)(GLenum array, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETARRAYOBJECTIVATIPROC)(GLenum array, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETOBJECTBUFFERFVATIPROC)(GLuint buffer, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETOBJECTBUFFERIVATIPROC)(GLuint buffer, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETVARIANTARRAYOBJECTFVATIPROC)(GLuint id, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETVARIANTARRAYOBJECTIVATIPROC)(GLuint id, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLUPDATEOBJECTBUFFERATIPROC)(GLuint buffer, GLuint offset, GLsizei size, const GLvoid *pointer, GLenum preserve);\ntypedef void (REGAL_CALL *PFNGLVARIANTARRAYOBJECTATIPROC)(GLuint id, GLenum type, GLsizei stride, GLuint buffer, GLuint offset);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ATI_VERTEX_ARRAY_OBJECT\n#define glArrayObjectATI                    rglArrayObjectATI\n#define glFreeObjectBufferATI               rglFreeObjectBufferATI\n#define glGetArrayObjectfvATI               rglGetArrayObjectfvATI\n#define glGetArrayObjectivATI               rglGetArrayObjectivATI\n#define glGetObjectBufferfvATI              rglGetObjectBufferfvATI\n#define glGetObjectBufferivATI              rglGetObjectBufferivATI\n#define glGetVariantArrayObjectfvATI        rglGetVariantArrayObjectfvATI\n#define glGetVariantArrayObjectivATI        rglGetVariantArrayObjectivATI\n#define glIsObjectBufferATI                 rglIsObjectBufferATI\n#define glNewObjectBufferATI                rglNewObjectBufferATI\n#define glUpdateObjectBufferATI             rglUpdateObjectBufferATI\n#define glVariantArrayObjectATI             rglVariantArrayObjectATI\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ATI_VERTEX_ARRAY_OBJECT\nREGAL_DECL GLboolean REGAL_CALL glIsObjectBufferATI(GLuint buffer);\nREGAL_DECL GLuint REGAL_CALL glNewObjectBufferATI(GLsizei size, const GLvoid *pointer, GLenum usage);\nREGAL_DECL void REGAL_CALL glArrayObjectATI(GLenum array, GLint size, GLenum type, GLsizei stride, GLuint buffer, GLuint offset);\nREGAL_DECL void REGAL_CALL glFreeObjectBufferATI(GLuint buffer);\nREGAL_DECL void REGAL_CALL glGetArrayObjectfvATI(GLenum array, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetArrayObjectivATI(GLenum array, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetObjectBufferfvATI(GLuint buffer, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetObjectBufferivATI(GLuint buffer, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetVariantArrayObjectfvATI(GLuint id, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetVariantArrayObjectivATI(GLuint id, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glUpdateObjectBufferATI(GLuint buffer, GLuint offset, GLsizei size, const GLvoid *pointer, GLenum preserve);\nREGAL_DECL void REGAL_CALL glVariantArrayObjectATI(GLuint id, GLenum type, GLsizei stride, GLuint buffer, GLuint offset);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ATI_VERTEX_ARRAY_OBJECT\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsObjectBufferATI(GLuint buffer);\nREGAL_DECL GLuint REGAL_CALL plugin_glNewObjectBufferATI(GLsizei size, const GLvoid *pointer, GLenum usage);\nREGAL_DECL void REGAL_CALL plugin_glArrayObjectATI(GLenum array, GLint size, GLenum type, GLsizei stride, GLuint buffer, GLuint offset);\nREGAL_DECL void REGAL_CALL plugin_glFreeObjectBufferATI(GLuint buffer);\nREGAL_DECL void REGAL_CALL plugin_glGetArrayObjectfvATI(GLenum array, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetArrayObjectivATI(GLenum array, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetObjectBufferfvATI(GLuint buffer, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetObjectBufferivATI(GLuint buffer, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetVariantArrayObjectfvATI(GLuint id, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetVariantArrayObjectivATI(GLuint id, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glUpdateObjectBufferATI(GLuint buffer, GLuint offset, GLsizei size, const GLvoid *pointer, GLenum preserve);\nREGAL_DECL void REGAL_CALL plugin_glVariantArrayObjectATI(GLuint id, GLenum type, GLsizei stride, GLuint buffer, GLuint offset);\n#endif\n\n/**\n ** GL_ATI_vertex_attrib_array_object\n **/\n\n#if (defined(GL_ATI_VERTEX_ATTRIB_ARRAY_OBJECT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ATI_VERTEX_ATTRIB_ARRAY_OBJECT)) && !defined(REGAL_NO_ENUM_GL_ATI_VERTEX_ATTRIB_ARRAY_OBJECT)\n#define REGAL_NO_ENUM_GL_ATI_VERTEX_ATTRIB_ARRAY_OBJECT\n#endif\n\n#if (defined(GL_ATI_VERTEX_ATTRIB_ARRAY_OBJECT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ATI_VERTEX_ATTRIB_ARRAY_OBJECT)) && !defined(REGAL_NO_TYPEDEF_GL_ATI_VERTEX_ATTRIB_ARRAY_OBJECT)\n#define REGAL_NO_TYPEDEF_GL_ATI_VERTEX_ATTRIB_ARRAY_OBJECT\n#endif\n\n#if (defined(GL_ATI_VERTEX_ATTRIB_ARRAY_OBJECT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ATI_VERTEX_ATTRIB_ARRAY_OBJECT)) && !defined(REGAL_NO_NAMESPACE_GL_ATI_VERTEX_ATTRIB_ARRAY_OBJECT)\n#define REGAL_NO_NAMESPACE_GL_ATI_VERTEX_ATTRIB_ARRAY_OBJECT\n#endif\n\n#if (defined(GL_ATI_VERTEX_ATTRIB_ARRAY_OBJECT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ATI_VERTEX_ATTRIB_ARRAY_OBJECT)) && !defined(REGAL_NO_PLUGIN_GL_ATI_VERTEX_ATTRIB_ARRAY_OBJECT)\n#define REGAL_NO_PLUGIN_GL_ATI_VERTEX_ATTRIB_ARRAY_OBJECT\n#endif\n\n#if (defined(GL_ATI_VERTEX_ATTRIB_ARRAY_OBJECT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ATI_VERTEX_ATTRIB_ARRAY_OBJECT)) && !defined(REGAL_NO_DECLARATION_GL_ATI_VERTEX_ATTRIB_ARRAY_OBJECT)\n#define REGAL_NO_DECLARATION_GL_ATI_VERTEX_ATTRIB_ARRAY_OBJECT\n#endif\n\n#ifndef GL_ATI_vertex_attrib_array_object\n#define GL_ATI_vertex_attrib_array_object 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ATI_VERTEX_ATTRIB_ARRAY_OBJECT\ntypedef void (REGAL_CALL *PFNGLGETVERTEXATTRIBARRAYOBJECTFVATIPROC)(GLuint index, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETVERTEXATTRIBARRAYOBJECTIVATIPROC)(GLuint index, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBARRAYOBJECTATIPROC)(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, GLuint buffer, GLuint offset);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ATI_VERTEX_ATTRIB_ARRAY_OBJECT\n#define glGetVertexAttribArrayObjectfvATI   rglGetVertexAttribArrayObjectfvATI\n#define glGetVertexAttribArrayObjectivATI   rglGetVertexAttribArrayObjectivATI\n#define glVertexAttribArrayObjectATI        rglVertexAttribArrayObjectATI\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ATI_VERTEX_ATTRIB_ARRAY_OBJECT\nREGAL_DECL void REGAL_CALL glGetVertexAttribArrayObjectfvATI(GLuint index, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetVertexAttribArrayObjectivATI(GLuint index, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glVertexAttribArrayObjectATI(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, GLuint buffer, GLuint offset);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ATI_VERTEX_ATTRIB_ARRAY_OBJECT\nREGAL_DECL void REGAL_CALL plugin_glGetVertexAttribArrayObjectfvATI(GLuint index, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetVertexAttribArrayObjectivATI(GLuint index, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribArrayObjectATI(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, GLuint buffer, GLuint offset);\n#endif\n\n/**\n ** GL_ATI_vertex_streams\n **/\n\n#if (defined(GL_ATI_VERTEX_STREAMS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_ATI_VERTEX_STREAMS)) && !defined(REGAL_NO_ENUM_GL_ATI_VERTEX_STREAMS)\n#define REGAL_NO_ENUM_GL_ATI_VERTEX_STREAMS\n#endif\n\n#if (defined(GL_ATI_VERTEX_STREAMS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_ATI_VERTEX_STREAMS)) && !defined(REGAL_NO_TYPEDEF_GL_ATI_VERTEX_STREAMS)\n#define REGAL_NO_TYPEDEF_GL_ATI_VERTEX_STREAMS\n#endif\n\n#if (defined(GL_ATI_VERTEX_STREAMS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_ATI_VERTEX_STREAMS)) && !defined(REGAL_NO_NAMESPACE_GL_ATI_VERTEX_STREAMS)\n#define REGAL_NO_NAMESPACE_GL_ATI_VERTEX_STREAMS\n#endif\n\n#if (defined(GL_ATI_VERTEX_STREAMS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_ATI_VERTEX_STREAMS)) && !defined(REGAL_NO_PLUGIN_GL_ATI_VERTEX_STREAMS)\n#define REGAL_NO_PLUGIN_GL_ATI_VERTEX_STREAMS\n#endif\n\n#if (defined(GL_ATI_VERTEX_STREAMS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_ATI_VERTEX_STREAMS)) && !defined(REGAL_NO_DECLARATION_GL_ATI_VERTEX_STREAMS)\n#define REGAL_NO_DECLARATION_GL_ATI_VERTEX_STREAMS\n#endif\n\n#ifndef GL_ATI_vertex_streams\n#define GL_ATI_vertex_streams 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_ATI_VERTEX_STREAMS\n#define GL_MAX_VERTEX_STREAMS_ATI 0x876b     /* 34667 */\n#define GL_VERTEX_SOURCE_ATI      0x876c     /* 34668 */\n#define GL_VERTEX_STREAM0_ATI     0x876d     /* 34669 */\n#define GL_VERTEX_STREAM1_ATI     0x876e     /* 34670 */\n#define GL_VERTEX_STREAM2_ATI     0x876f     /* 34671 */\n#define GL_VERTEX_STREAM3_ATI     0x8770     /* 34672 */\n#define GL_VERTEX_STREAM4_ATI     0x8771     /* 34673 */\n#define GL_VERTEX_STREAM5_ATI     0x8772     /* 34674 */\n#define GL_VERTEX_STREAM6_ATI     0x8773     /* 34675 */\n#define GL_VERTEX_STREAM7_ATI     0x8774     /* 34676 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_ATI_VERTEX_STREAMS\ntypedef void (REGAL_CALL *PFNGLCLIENTACTIVEVERTEXSTREAMATIPROC)(GLenum stream);\ntypedef void (REGAL_CALL *PFNGLNORMALSTREAM3BATIPROC)(GLenum stream, GLbyte x, GLbyte y, GLbyte z);\ntypedef void (REGAL_CALL *PFNGLNORMALSTREAM3BVATIPROC)(GLenum stream, const GLbyte *coords);\ntypedef void (REGAL_CALL *PFNGLNORMALSTREAM3DATIPROC)(GLenum stream, GLdouble x, GLdouble y, GLdouble z);\ntypedef void (REGAL_CALL *PFNGLNORMALSTREAM3DVATIPROC)(GLenum stream, const GLdouble *coords);\ntypedef void (REGAL_CALL *PFNGLNORMALSTREAM3FATIPROC)(GLenum stream, GLfloat x, GLfloat y, GLfloat z);\ntypedef void (REGAL_CALL *PFNGLNORMALSTREAM3FVATIPROC)(GLenum stream, const GLfloat *coords);\ntypedef void (REGAL_CALL *PFNGLNORMALSTREAM3IATIPROC)(GLenum stream, GLint x, GLint y, GLint z);\ntypedef void (REGAL_CALL *PFNGLNORMALSTREAM3IVATIPROC)(GLenum stream, const GLint *coords);\ntypedef void (REGAL_CALL *PFNGLNORMALSTREAM3SATIPROC)(GLenum stream, GLshort x, GLshort y, GLshort z);\ntypedef void (REGAL_CALL *PFNGLNORMALSTREAM3SVATIPROC)(GLenum stream, const GLshort *coords);\ntypedef void (REGAL_CALL *PFNGLVERTEXBLENDENVFATIPROC)(GLenum pname, GLfloat param);\ntypedef void (REGAL_CALL *PFNGLVERTEXBLENDENVIATIPROC)(GLenum pname, GLint param);\ntypedef void (REGAL_CALL *PFNGLVERTEXSTREAM1DATIPROC)(GLenum stream, GLdouble x);\ntypedef void (REGAL_CALL *PFNGLVERTEXSTREAM1DVATIPROC)(GLenum stream, const GLdouble *coords);\ntypedef void (REGAL_CALL *PFNGLVERTEXSTREAM1FATIPROC)(GLenum stream, GLfloat x);\ntypedef void (REGAL_CALL *PFNGLVERTEXSTREAM1FVATIPROC)(GLenum stream, const GLfloat *coords);\ntypedef void (REGAL_CALL *PFNGLVERTEXSTREAM1IATIPROC)(GLenum stream, GLint x);\ntypedef void (REGAL_CALL *PFNGLVERTEXSTREAM1IVATIPROC)(GLenum stream, const GLint *coords);\ntypedef void (REGAL_CALL *PFNGLVERTEXSTREAM1SATIPROC)(GLenum stream, GLshort x);\ntypedef void (REGAL_CALL *PFNGLVERTEXSTREAM1SVATIPROC)(GLenum stream, const GLshort *coords);\ntypedef void (REGAL_CALL *PFNGLVERTEXSTREAM2DATIPROC)(GLenum stream, GLdouble x, GLdouble y);\ntypedef void (REGAL_CALL *PFNGLVERTEXSTREAM2DVATIPROC)(GLenum stream, const GLdouble *coords);\ntypedef void (REGAL_CALL *PFNGLVERTEXSTREAM2FATIPROC)(GLenum stream, GLfloat x, GLfloat y);\ntypedef void (REGAL_CALL *PFNGLVERTEXSTREAM2FVATIPROC)(GLenum stream, const GLfloat *coords);\ntypedef void (REGAL_CALL *PFNGLVERTEXSTREAM2IATIPROC)(GLenum stream, GLint x, GLint y);\ntypedef void (REGAL_CALL *PFNGLVERTEXSTREAM2IVATIPROC)(GLenum stream, const GLint *coords);\ntypedef void (REGAL_CALL *PFNGLVERTEXSTREAM2SATIPROC)(GLenum stream, GLshort x, GLshort y);\ntypedef void (REGAL_CALL *PFNGLVERTEXSTREAM2SVATIPROC)(GLenum stream, const GLshort *coords);\ntypedef void (REGAL_CALL *PFNGLVERTEXSTREAM3DATIPROC)(GLenum stream, GLdouble x, GLdouble y, GLdouble z);\ntypedef void (REGAL_CALL *PFNGLVERTEXSTREAM3DVATIPROC)(GLenum stream, const GLdouble *coords);\ntypedef void (REGAL_CALL *PFNGLVERTEXSTREAM3FATIPROC)(GLenum stream, GLfloat x, GLfloat y, GLfloat z);\ntypedef void (REGAL_CALL *PFNGLVERTEXSTREAM3FVATIPROC)(GLenum stream, const GLfloat *coords);\ntypedef void (REGAL_CALL *PFNGLVERTEXSTREAM3IATIPROC)(GLenum stream, GLint x, GLint y, GLint z);\ntypedef void (REGAL_CALL *PFNGLVERTEXSTREAM3IVATIPROC)(GLenum stream, const GLint *coords);\ntypedef void (REGAL_CALL *PFNGLVERTEXSTREAM3SATIPROC)(GLenum stream, GLshort x, GLshort y, GLshort z);\ntypedef void (REGAL_CALL *PFNGLVERTEXSTREAM3SVATIPROC)(GLenum stream, const GLshort *coords);\ntypedef void (REGAL_CALL *PFNGLVERTEXSTREAM4DATIPROC)(GLenum stream, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\ntypedef void (REGAL_CALL *PFNGLVERTEXSTREAM4DVATIPROC)(GLenum stream, const GLdouble *coords);\ntypedef void (REGAL_CALL *PFNGLVERTEXSTREAM4FATIPROC)(GLenum stream, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\ntypedef void (REGAL_CALL *PFNGLVERTEXSTREAM4FVATIPROC)(GLenum stream, const GLfloat *coords);\ntypedef void (REGAL_CALL *PFNGLVERTEXSTREAM4IATIPROC)(GLenum stream, GLint x, GLint y, GLint z, GLint w);\ntypedef void (REGAL_CALL *PFNGLVERTEXSTREAM4IVATIPROC)(GLenum stream, const GLint *coords);\ntypedef void (REGAL_CALL *PFNGLVERTEXSTREAM4SATIPROC)(GLenum stream, GLshort x, GLshort y, GLshort z, GLshort w);\ntypedef void (REGAL_CALL *PFNGLVERTEXSTREAM4SVATIPROC)(GLenum stream, const GLshort *coords);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_ATI_VERTEX_STREAMS\n#define glClientActiveVertexStreamATI       rglClientActiveVertexStreamATI\n#define glNormalStream3bATI                 rglNormalStream3bATI\n#define glNormalStream3bvATI                rglNormalStream3bvATI\n#define glNormalStream3dATI                 rglNormalStream3dATI\n#define glNormalStream3dvATI                rglNormalStream3dvATI\n#define glNormalStream3fATI                 rglNormalStream3fATI\n#define glNormalStream3fvATI                rglNormalStream3fvATI\n#define glNormalStream3iATI                 rglNormalStream3iATI\n#define glNormalStream3ivATI                rglNormalStream3ivATI\n#define glNormalStream3sATI                 rglNormalStream3sATI\n#define glNormalStream3svATI                rglNormalStream3svATI\n#define glVertexBlendEnvfATI                rglVertexBlendEnvfATI\n#define glVertexBlendEnviATI                rglVertexBlendEnviATI\n#define glVertexStream1dATI                 rglVertexStream1dATI\n#define glVertexStream1dvATI                rglVertexStream1dvATI\n#define glVertexStream1fATI                 rglVertexStream1fATI\n#define glVertexStream1fvATI                rglVertexStream1fvATI\n#define glVertexStream1iATI                 rglVertexStream1iATI\n#define glVertexStream1ivATI                rglVertexStream1ivATI\n#define glVertexStream1sATI                 rglVertexStream1sATI\n#define glVertexStream1svATI                rglVertexStream1svATI\n#define glVertexStream2dATI                 rglVertexStream2dATI\n#define glVertexStream2dvATI                rglVertexStream2dvATI\n#define glVertexStream2fATI                 rglVertexStream2fATI\n#define glVertexStream2fvATI                rglVertexStream2fvATI\n#define glVertexStream2iATI                 rglVertexStream2iATI\n#define glVertexStream2ivATI                rglVertexStream2ivATI\n#define glVertexStream2sATI                 rglVertexStream2sATI\n#define glVertexStream2svATI                rglVertexStream2svATI\n#define glVertexStream3dATI                 rglVertexStream3dATI\n#define glVertexStream3dvATI                rglVertexStream3dvATI\n#define glVertexStream3fATI                 rglVertexStream3fATI\n#define glVertexStream3fvATI                rglVertexStream3fvATI\n#define glVertexStream3iATI                 rglVertexStream3iATI\n#define glVertexStream3ivATI                rglVertexStream3ivATI\n#define glVertexStream3sATI                 rglVertexStream3sATI\n#define glVertexStream3svATI                rglVertexStream3svATI\n#define glVertexStream4dATI                 rglVertexStream4dATI\n#define glVertexStream4dvATI                rglVertexStream4dvATI\n#define glVertexStream4fATI                 rglVertexStream4fATI\n#define glVertexStream4fvATI                rglVertexStream4fvATI\n#define glVertexStream4iATI                 rglVertexStream4iATI\n#define glVertexStream4ivATI                rglVertexStream4ivATI\n#define glVertexStream4sATI                 rglVertexStream4sATI\n#define glVertexStream4svATI                rglVertexStream4svATI\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_ATI_VERTEX_STREAMS\nREGAL_DECL void REGAL_CALL glClientActiveVertexStreamATI(GLenum stream);\nREGAL_DECL void REGAL_CALL glNormalStream3bATI(GLenum stream, GLbyte x, GLbyte y, GLbyte z);\nREGAL_DECL void REGAL_CALL glNormalStream3bvATI(GLenum stream, const GLbyte *coords);\nREGAL_DECL void REGAL_CALL glNormalStream3dATI(GLenum stream, GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL glNormalStream3dvATI(GLenum stream, const GLdouble *coords);\nREGAL_DECL void REGAL_CALL glNormalStream3fATI(GLenum stream, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL glNormalStream3fvATI(GLenum stream, const GLfloat *coords);\nREGAL_DECL void REGAL_CALL glNormalStream3iATI(GLenum stream, GLint x, GLint y, GLint z);\nREGAL_DECL void REGAL_CALL glNormalStream3ivATI(GLenum stream, const GLint *coords);\nREGAL_DECL void REGAL_CALL glNormalStream3sATI(GLenum stream, GLshort x, GLshort y, GLshort z);\nREGAL_DECL void REGAL_CALL glNormalStream3svATI(GLenum stream, const GLshort *coords);\nREGAL_DECL void REGAL_CALL glVertexBlendEnvfATI(GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL glVertexBlendEnviATI(GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL glVertexStream1dATI(GLenum stream, GLdouble x);\nREGAL_DECL void REGAL_CALL glVertexStream1dvATI(GLenum stream, const GLdouble *coords);\nREGAL_DECL void REGAL_CALL glVertexStream1fATI(GLenum stream, GLfloat x);\nREGAL_DECL void REGAL_CALL glVertexStream1fvATI(GLenum stream, const GLfloat *coords);\nREGAL_DECL void REGAL_CALL glVertexStream1iATI(GLenum stream, GLint x);\nREGAL_DECL void REGAL_CALL glVertexStream1ivATI(GLenum stream, const GLint *coords);\nREGAL_DECL void REGAL_CALL glVertexStream1sATI(GLenum stream, GLshort x);\nREGAL_DECL void REGAL_CALL glVertexStream1svATI(GLenum stream, const GLshort *coords);\nREGAL_DECL void REGAL_CALL glVertexStream2dATI(GLenum stream, GLdouble x, GLdouble y);\nREGAL_DECL void REGAL_CALL glVertexStream2dvATI(GLenum stream, const GLdouble *coords);\nREGAL_DECL void REGAL_CALL glVertexStream2fATI(GLenum stream, GLfloat x, GLfloat y);\nREGAL_DECL void REGAL_CALL glVertexStream2fvATI(GLenum stream, const GLfloat *coords);\nREGAL_DECL void REGAL_CALL glVertexStream2iATI(GLenum stream, GLint x, GLint y);\nREGAL_DECL void REGAL_CALL glVertexStream2ivATI(GLenum stream, const GLint *coords);\nREGAL_DECL void REGAL_CALL glVertexStream2sATI(GLenum stream, GLshort x, GLshort y);\nREGAL_DECL void REGAL_CALL glVertexStream2svATI(GLenum stream, const GLshort *coords);\nREGAL_DECL void REGAL_CALL glVertexStream3dATI(GLenum stream, GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL glVertexStream3dvATI(GLenum stream, const GLdouble *coords);\nREGAL_DECL void REGAL_CALL glVertexStream3fATI(GLenum stream, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL glVertexStream3fvATI(GLenum stream, const GLfloat *coords);\nREGAL_DECL void REGAL_CALL glVertexStream3iATI(GLenum stream, GLint x, GLint y, GLint z);\nREGAL_DECL void REGAL_CALL glVertexStream3ivATI(GLenum stream, const GLint *coords);\nREGAL_DECL void REGAL_CALL glVertexStream3sATI(GLenum stream, GLshort x, GLshort y, GLshort z);\nREGAL_DECL void REGAL_CALL glVertexStream3svATI(GLenum stream, const GLshort *coords);\nREGAL_DECL void REGAL_CALL glVertexStream4dATI(GLenum stream, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nREGAL_DECL void REGAL_CALL glVertexStream4dvATI(GLenum stream, const GLdouble *coords);\nREGAL_DECL void REGAL_CALL glVertexStream4fATI(GLenum stream, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nREGAL_DECL void REGAL_CALL glVertexStream4fvATI(GLenum stream, const GLfloat *coords);\nREGAL_DECL void REGAL_CALL glVertexStream4iATI(GLenum stream, GLint x, GLint y, GLint z, GLint w);\nREGAL_DECL void REGAL_CALL glVertexStream4ivATI(GLenum stream, const GLint *coords);\nREGAL_DECL void REGAL_CALL glVertexStream4sATI(GLenum stream, GLshort x, GLshort y, GLshort z, GLshort w);\nREGAL_DECL void REGAL_CALL glVertexStream4svATI(GLenum stream, const GLshort *coords);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_ATI_VERTEX_STREAMS\nREGAL_DECL void REGAL_CALL plugin_glClientActiveVertexStreamATI(GLenum stream);\nREGAL_DECL void REGAL_CALL plugin_glNormalStream3bATI(GLenum stream, GLbyte x, GLbyte y, GLbyte z);\nREGAL_DECL void REGAL_CALL plugin_glNormalStream3bvATI(GLenum stream, const GLbyte *coords);\nREGAL_DECL void REGAL_CALL plugin_glNormalStream3dATI(GLenum stream, GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL plugin_glNormalStream3dvATI(GLenum stream, const GLdouble *coords);\nREGAL_DECL void REGAL_CALL plugin_glNormalStream3fATI(GLenum stream, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL plugin_glNormalStream3fvATI(GLenum stream, const GLfloat *coords);\nREGAL_DECL void REGAL_CALL plugin_glNormalStream3iATI(GLenum stream, GLint x, GLint y, GLint z);\nREGAL_DECL void REGAL_CALL plugin_glNormalStream3ivATI(GLenum stream, const GLint *coords);\nREGAL_DECL void REGAL_CALL plugin_glNormalStream3sATI(GLenum stream, GLshort x, GLshort y, GLshort z);\nREGAL_DECL void REGAL_CALL plugin_glNormalStream3svATI(GLenum stream, const GLshort *coords);\nREGAL_DECL void REGAL_CALL plugin_glVertexBlendEnvfATI(GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL plugin_glVertexBlendEnviATI(GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL plugin_glVertexStream1dATI(GLenum stream, GLdouble x);\nREGAL_DECL void REGAL_CALL plugin_glVertexStream1dvATI(GLenum stream, const GLdouble *coords);\nREGAL_DECL void REGAL_CALL plugin_glVertexStream1fATI(GLenum stream, GLfloat x);\nREGAL_DECL void REGAL_CALL plugin_glVertexStream1fvATI(GLenum stream, const GLfloat *coords);\nREGAL_DECL void REGAL_CALL plugin_glVertexStream1iATI(GLenum stream, GLint x);\nREGAL_DECL void REGAL_CALL plugin_glVertexStream1ivATI(GLenum stream, const GLint *coords);\nREGAL_DECL void REGAL_CALL plugin_glVertexStream1sATI(GLenum stream, GLshort x);\nREGAL_DECL void REGAL_CALL plugin_glVertexStream1svATI(GLenum stream, const GLshort *coords);\nREGAL_DECL void REGAL_CALL plugin_glVertexStream2dATI(GLenum stream, GLdouble x, GLdouble y);\nREGAL_DECL void REGAL_CALL plugin_glVertexStream2dvATI(GLenum stream, const GLdouble *coords);\nREGAL_DECL void REGAL_CALL plugin_glVertexStream2fATI(GLenum stream, GLfloat x, GLfloat y);\nREGAL_DECL void REGAL_CALL plugin_glVertexStream2fvATI(GLenum stream, const GLfloat *coords);\nREGAL_DECL void REGAL_CALL plugin_glVertexStream2iATI(GLenum stream, GLint x, GLint y);\nREGAL_DECL void REGAL_CALL plugin_glVertexStream2ivATI(GLenum stream, const GLint *coords);\nREGAL_DECL void REGAL_CALL plugin_glVertexStream2sATI(GLenum stream, GLshort x, GLshort y);\nREGAL_DECL void REGAL_CALL plugin_glVertexStream2svATI(GLenum stream, const GLshort *coords);\nREGAL_DECL void REGAL_CALL plugin_glVertexStream3dATI(GLenum stream, GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL plugin_glVertexStream3dvATI(GLenum stream, const GLdouble *coords);\nREGAL_DECL void REGAL_CALL plugin_glVertexStream3fATI(GLenum stream, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL plugin_glVertexStream3fvATI(GLenum stream, const GLfloat *coords);\nREGAL_DECL void REGAL_CALL plugin_glVertexStream3iATI(GLenum stream, GLint x, GLint y, GLint z);\nREGAL_DECL void REGAL_CALL plugin_glVertexStream3ivATI(GLenum stream, const GLint *coords);\nREGAL_DECL void REGAL_CALL plugin_glVertexStream3sATI(GLenum stream, GLshort x, GLshort y, GLshort z);\nREGAL_DECL void REGAL_CALL plugin_glVertexStream3svATI(GLenum stream, const GLshort *coords);\nREGAL_DECL void REGAL_CALL plugin_glVertexStream4dATI(GLenum stream, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nREGAL_DECL void REGAL_CALL plugin_glVertexStream4dvATI(GLenum stream, const GLdouble *coords);\nREGAL_DECL void REGAL_CALL plugin_glVertexStream4fATI(GLenum stream, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nREGAL_DECL void REGAL_CALL plugin_glVertexStream4fvATI(GLenum stream, const GLfloat *coords);\nREGAL_DECL void REGAL_CALL plugin_glVertexStream4iATI(GLenum stream, GLint x, GLint y, GLint z, GLint w);\nREGAL_DECL void REGAL_CALL plugin_glVertexStream4ivATI(GLenum stream, const GLint *coords);\nREGAL_DECL void REGAL_CALL plugin_glVertexStream4sATI(GLenum stream, GLshort x, GLshort y, GLshort z, GLshort w);\nREGAL_DECL void REGAL_CALL plugin_glVertexStream4svATI(GLenum stream, const GLshort *coords);\n#endif\n\n/**\n ** GL_DMP_shader_binary\n **/\n\n#if (defined(GL_DMP_SHADER_BINARY) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_DMP_SHADER_BINARY)) && !defined(REGAL_NO_ENUM_GL_DMP_SHADER_BINARY)\n#define REGAL_NO_ENUM_GL_DMP_SHADER_BINARY\n#endif\n\n#if (defined(GL_DMP_SHADER_BINARY) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_DMP_SHADER_BINARY)) && !defined(REGAL_NO_TYPEDEF_GL_DMP_SHADER_BINARY)\n#define REGAL_NO_TYPEDEF_GL_DMP_SHADER_BINARY\n#endif\n\n#if (defined(GL_DMP_SHADER_BINARY) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_DMP_SHADER_BINARY)) && !defined(REGAL_NO_NAMESPACE_GL_DMP_SHADER_BINARY)\n#define REGAL_NO_NAMESPACE_GL_DMP_SHADER_BINARY\n#endif\n\n#if (defined(GL_DMP_SHADER_BINARY) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_DMP_SHADER_BINARY)) && !defined(REGAL_NO_PLUGIN_GL_DMP_SHADER_BINARY)\n#define REGAL_NO_PLUGIN_GL_DMP_SHADER_BINARY\n#endif\n\n#if (defined(GL_DMP_SHADER_BINARY) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_DMP_SHADER_BINARY)) && !defined(REGAL_NO_DECLARATION_GL_DMP_SHADER_BINARY)\n#define REGAL_NO_DECLARATION_GL_DMP_SHADER_BINARY\n#endif\n\n#ifndef GL_DMP_shader_binary\n#define GL_DMP_shader_binary 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_DMP_SHADER_BINARY\n#define GL_SHADER_BINARY_DMP 0x9250 /* 37456 */\n#endif\n\n/**\n ** GL_EXT_422_pixels\n **/\n\n#if (defined(GL_EXT_422_PIXELS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_422_PIXELS)) && !defined(REGAL_NO_ENUM_GL_EXT_422_PIXELS)\n#define REGAL_NO_ENUM_GL_EXT_422_PIXELS\n#endif\n\n#if (defined(GL_EXT_422_PIXELS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_422_PIXELS)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_422_PIXELS)\n#define REGAL_NO_TYPEDEF_GL_EXT_422_PIXELS\n#endif\n\n#if (defined(GL_EXT_422_PIXELS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_422_PIXELS)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_422_PIXELS)\n#define REGAL_NO_NAMESPACE_GL_EXT_422_PIXELS\n#endif\n\n#if (defined(GL_EXT_422_PIXELS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_422_PIXELS)) && !defined(REGAL_NO_PLUGIN_GL_EXT_422_PIXELS)\n#define REGAL_NO_PLUGIN_GL_EXT_422_PIXELS\n#endif\n\n#if (defined(GL_EXT_422_PIXELS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_422_PIXELS)) && !defined(REGAL_NO_DECLARATION_GL_EXT_422_PIXELS)\n#define REGAL_NO_DECLARATION_GL_EXT_422_PIXELS\n#endif\n\n#ifndef GL_EXT_422_pixels\n#define GL_EXT_422_pixels 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_422_PIXELS\n#define GL_422_EXT             0x80cc     /* 32972 */\n#define GL_422_REV_EXT         0x80cd     /* 32973 */\n#define GL_422_AVERAGE_EXT     0x80ce     /* 32974 */\n#define GL_422_REV_AVERAGE_EXT 0x80cf     /* 32975 */\n#endif\n\n/**\n ** GL_EXT_Cg_shader\n **/\n\n#if (defined(GL_EXT_CG_SHADER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_CG_SHADER)) && !defined(REGAL_NO_ENUM_GL_EXT_CG_SHADER)\n#define REGAL_NO_ENUM_GL_EXT_CG_SHADER\n#endif\n\n#if (defined(GL_EXT_CG_SHADER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_CG_SHADER)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_CG_SHADER)\n#define REGAL_NO_TYPEDEF_GL_EXT_CG_SHADER\n#endif\n\n#if (defined(GL_EXT_CG_SHADER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_CG_SHADER)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_CG_SHADER)\n#define REGAL_NO_NAMESPACE_GL_EXT_CG_SHADER\n#endif\n\n#if (defined(GL_EXT_CG_SHADER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_CG_SHADER)) && !defined(REGAL_NO_PLUGIN_GL_EXT_CG_SHADER)\n#define REGAL_NO_PLUGIN_GL_EXT_CG_SHADER\n#endif\n\n#if (defined(GL_EXT_CG_SHADER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_CG_SHADER)) && !defined(REGAL_NO_DECLARATION_GL_EXT_CG_SHADER)\n#define REGAL_NO_DECLARATION_GL_EXT_CG_SHADER\n#endif\n\n#ifndef GL_EXT_Cg_shader\n#define GL_EXT_Cg_shader 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_CG_SHADER\n#define GL_CG_VERTEX_SHADER_EXT   0x890e     /* 35086 */\n#define GL_CG_FRAGMENT_SHADER_EXT 0x890f     /* 35087 */\n#endif\n\n/**\n ** GL_EXT_abgr\n **/\n\n#if (defined(GL_EXT_ABGR) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_ABGR)) && !defined(REGAL_NO_ENUM_GL_EXT_ABGR)\n#define REGAL_NO_ENUM_GL_EXT_ABGR\n#endif\n\n#if (defined(GL_EXT_ABGR) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_ABGR)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_ABGR)\n#define REGAL_NO_TYPEDEF_GL_EXT_ABGR\n#endif\n\n#if (defined(GL_EXT_ABGR) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_ABGR)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_ABGR)\n#define REGAL_NO_NAMESPACE_GL_EXT_ABGR\n#endif\n\n#if (defined(GL_EXT_ABGR) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_ABGR)) && !defined(REGAL_NO_PLUGIN_GL_EXT_ABGR)\n#define REGAL_NO_PLUGIN_GL_EXT_ABGR\n#endif\n\n#if (defined(GL_EXT_ABGR) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_ABGR)) && !defined(REGAL_NO_DECLARATION_GL_EXT_ABGR)\n#define REGAL_NO_DECLARATION_GL_EXT_ABGR\n#endif\n\n#ifndef GL_EXT_abgr\n#define GL_EXT_abgr 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_ABGR\n#define GL_ABGR_EXT 0x8000 /* 32768 */\n#endif\n\n/**\n ** GL_EXT_bgra\n **/\n\n#if (defined(GL_EXT_BGRA) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_BGRA)) && !defined(REGAL_NO_ENUM_GL_EXT_BGRA)\n#define REGAL_NO_ENUM_GL_EXT_BGRA\n#endif\n\n#if (defined(GL_EXT_BGRA) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_BGRA)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_BGRA)\n#define REGAL_NO_TYPEDEF_GL_EXT_BGRA\n#endif\n\n#if (defined(GL_EXT_BGRA) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_BGRA)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_BGRA)\n#define REGAL_NO_NAMESPACE_GL_EXT_BGRA\n#endif\n\n#if (defined(GL_EXT_BGRA) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_BGRA)) && !defined(REGAL_NO_PLUGIN_GL_EXT_BGRA)\n#define REGAL_NO_PLUGIN_GL_EXT_BGRA\n#endif\n\n#if (defined(GL_EXT_BGRA) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_BGRA)) && !defined(REGAL_NO_DECLARATION_GL_EXT_BGRA)\n#define REGAL_NO_DECLARATION_GL_EXT_BGRA\n#endif\n\n#ifndef GL_EXT_bgra\n#define GL_EXT_bgra 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_BGRA\n#define GL_BGR_EXT  0x80e0     /* 32992 */\n#define GL_BGRA_EXT 0x80e1     /* 32993 */\n#endif\n\n/**\n ** GL_EXT_bindable_uniform\n **/\n\n#if (defined(GL_EXT_BINDABLE_UNIFORM) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_BINDABLE_UNIFORM)) && !defined(REGAL_NO_ENUM_GL_EXT_BINDABLE_UNIFORM)\n#define REGAL_NO_ENUM_GL_EXT_BINDABLE_UNIFORM\n#endif\n\n#if (defined(GL_EXT_BINDABLE_UNIFORM) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_BINDABLE_UNIFORM)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_BINDABLE_UNIFORM)\n#define REGAL_NO_TYPEDEF_GL_EXT_BINDABLE_UNIFORM\n#endif\n\n#if (defined(GL_EXT_BINDABLE_UNIFORM) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_BINDABLE_UNIFORM)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_BINDABLE_UNIFORM)\n#define REGAL_NO_NAMESPACE_GL_EXT_BINDABLE_UNIFORM\n#endif\n\n#if (defined(GL_EXT_BINDABLE_UNIFORM) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_BINDABLE_UNIFORM)) && !defined(REGAL_NO_PLUGIN_GL_EXT_BINDABLE_UNIFORM)\n#define REGAL_NO_PLUGIN_GL_EXT_BINDABLE_UNIFORM\n#endif\n\n#if (defined(GL_EXT_BINDABLE_UNIFORM) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_BINDABLE_UNIFORM)) && !defined(REGAL_NO_DECLARATION_GL_EXT_BINDABLE_UNIFORM)\n#define REGAL_NO_DECLARATION_GL_EXT_BINDABLE_UNIFORM\n#endif\n\n#ifndef GL_EXT_bindable_uniform\n#define GL_EXT_bindable_uniform 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_BINDABLE_UNIFORM\n#define GL_MAX_VERTEX_BINDABLE_UNIFORMS_EXT   0x8de2     /* 36322 */\n#define GL_MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT 0x8de3     /* 36323 */\n#define GL_MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT 0x8de4     /* 36324 */\n#define GL_MAX_BINDABLE_UNIFORM_SIZE_EXT      0x8ded     /* 36333 */\n#define GL_UNIFORM_BUFFER_EXT                 0x8dee     /* 36334 */\n#define GL_UNIFORM_BUFFER_BINDING_EXT         0x8def     /* 36335 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_BINDABLE_UNIFORM\ntypedef GLint (REGAL_CALL *PFNGLGETUNIFORMBUFFERSIZEEXTPROC)(GLuint program, GLint location);\ntypedef GLintptr (REGAL_CALL *PFNGLGETUNIFORMOFFSETEXTPROC)(GLuint program, GLint location);\ntypedef void (REGAL_CALL *PFNGLUNIFORMBUFFEREXTPROC)(GLuint program, GLint location, GLuint buffer);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_BINDABLE_UNIFORM\n#define glGetUniformBufferSizeEXT           rglGetUniformBufferSizeEXT\n#define glGetUniformOffsetEXT               rglGetUniformOffsetEXT\n#define glUniformBufferEXT                  rglUniformBufferEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_BINDABLE_UNIFORM\nREGAL_DECL GLint REGAL_CALL glGetUniformBufferSizeEXT(GLuint program, GLint location);\nREGAL_DECL GLintptr REGAL_CALL glGetUniformOffsetEXT(GLuint program, GLint location);\nREGAL_DECL void REGAL_CALL glUniformBufferEXT(GLuint program, GLint location, GLuint buffer);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_BINDABLE_UNIFORM\nREGAL_DECL GLint REGAL_CALL plugin_glGetUniformBufferSizeEXT(GLuint program, GLint location);\nREGAL_DECL GLintptr REGAL_CALL plugin_glGetUniformOffsetEXT(GLuint program, GLint location);\nREGAL_DECL void REGAL_CALL plugin_glUniformBufferEXT(GLuint program, GLint location, GLuint buffer);\n#endif\n\n/**\n ** GL_EXT_blend_color\n **/\n\n#if (defined(GL_EXT_BLEND_COLOR) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_BLEND_COLOR)) && !defined(REGAL_NO_ENUM_GL_EXT_BLEND_COLOR)\n#define REGAL_NO_ENUM_GL_EXT_BLEND_COLOR\n#endif\n\n#if (defined(GL_EXT_BLEND_COLOR) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_BLEND_COLOR)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_BLEND_COLOR)\n#define REGAL_NO_TYPEDEF_GL_EXT_BLEND_COLOR\n#endif\n\n#if (defined(GL_EXT_BLEND_COLOR) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_BLEND_COLOR)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_BLEND_COLOR)\n#define REGAL_NO_NAMESPACE_GL_EXT_BLEND_COLOR\n#endif\n\n#if (defined(GL_EXT_BLEND_COLOR) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_BLEND_COLOR)) && !defined(REGAL_NO_PLUGIN_GL_EXT_BLEND_COLOR)\n#define REGAL_NO_PLUGIN_GL_EXT_BLEND_COLOR\n#endif\n\n#if (defined(GL_EXT_BLEND_COLOR) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_BLEND_COLOR)) && !defined(REGAL_NO_DECLARATION_GL_EXT_BLEND_COLOR)\n#define REGAL_NO_DECLARATION_GL_EXT_BLEND_COLOR\n#endif\n\n#ifndef GL_EXT_blend_color\n#define GL_EXT_blend_color 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_BLEND_COLOR\n#define GL_CONSTANT_COLOR_EXT           0x8001     /* 32769 */\n#define GL_ONE_MINUS_CONSTANT_COLOR_EXT 0x8002     /* 32770 */\n#define GL_CONSTANT_ALPHA_EXT           0x8003     /* 32771 */\n#define GL_ONE_MINUS_CONSTANT_ALPHA_EXT 0x8004     /* 32772 */\n#define GL_BLEND_COLOR_EXT              0x8005     /* 32773 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_BLEND_COLOR\ntypedef void (REGAL_CALL *PFNGLBLENDCOLOREXTPROC)(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_BLEND_COLOR\n#define glBlendColorEXT                     rglBlendColorEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_BLEND_COLOR\nREGAL_DECL void REGAL_CALL glBlendColorEXT(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_BLEND_COLOR\nREGAL_DECL void REGAL_CALL plugin_glBlendColorEXT(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);\n#endif\n\n/**\n ** GL_EXT_blend_equation_separate\n **/\n\n#if (defined(GL_EXT_BLEND_EQUATION_SEPARATE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_BLEND_EQUATION_SEPARATE)) && !defined(REGAL_NO_ENUM_GL_EXT_BLEND_EQUATION_SEPARATE)\n#define REGAL_NO_ENUM_GL_EXT_BLEND_EQUATION_SEPARATE\n#endif\n\n#if (defined(GL_EXT_BLEND_EQUATION_SEPARATE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_BLEND_EQUATION_SEPARATE)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_BLEND_EQUATION_SEPARATE)\n#define REGAL_NO_TYPEDEF_GL_EXT_BLEND_EQUATION_SEPARATE\n#endif\n\n#if (defined(GL_EXT_BLEND_EQUATION_SEPARATE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_BLEND_EQUATION_SEPARATE)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_BLEND_EQUATION_SEPARATE)\n#define REGAL_NO_NAMESPACE_GL_EXT_BLEND_EQUATION_SEPARATE\n#endif\n\n#if (defined(GL_EXT_BLEND_EQUATION_SEPARATE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_BLEND_EQUATION_SEPARATE)) && !defined(REGAL_NO_PLUGIN_GL_EXT_BLEND_EQUATION_SEPARATE)\n#define REGAL_NO_PLUGIN_GL_EXT_BLEND_EQUATION_SEPARATE\n#endif\n\n#if (defined(GL_EXT_BLEND_EQUATION_SEPARATE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_BLEND_EQUATION_SEPARATE)) && !defined(REGAL_NO_DECLARATION_GL_EXT_BLEND_EQUATION_SEPARATE)\n#define REGAL_NO_DECLARATION_GL_EXT_BLEND_EQUATION_SEPARATE\n#endif\n\n#ifndef GL_EXT_blend_equation_separate\n#define GL_EXT_blend_equation_separate 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_BLEND_EQUATION_SEPARATE\n#define GL_BLEND_EQUATION_RGB_EXT   0x8009     /* 32777 */\n#define GL_BLEND_EQUATION_ALPHA_EXT 0x883d     /* 34877 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_BLEND_EQUATION_SEPARATE\ntypedef void (REGAL_CALL *PFNGLBLENDEQUATIONSEPARATEEXTPROC)(GLenum modeRGB, GLenum modeAlpha);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_BLEND_EQUATION_SEPARATE\n#define glBlendEquationSeparateEXT          rglBlendEquationSeparateEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_BLEND_EQUATION_SEPARATE\nREGAL_DECL void REGAL_CALL glBlendEquationSeparateEXT(GLenum modeRGB, GLenum modeAlpha);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_BLEND_EQUATION_SEPARATE\nREGAL_DECL void REGAL_CALL plugin_glBlendEquationSeparateEXT(GLenum modeRGB, GLenum modeAlpha);\n#endif\n\n/**\n ** GL_EXT_blend_func_separate\n **/\n\n#if (defined(GL_EXT_BLEND_FUNC_SEPARATE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_BLEND_FUNC_SEPARATE)) && !defined(REGAL_NO_ENUM_GL_EXT_BLEND_FUNC_SEPARATE)\n#define REGAL_NO_ENUM_GL_EXT_BLEND_FUNC_SEPARATE\n#endif\n\n#if (defined(GL_EXT_BLEND_FUNC_SEPARATE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_BLEND_FUNC_SEPARATE)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_BLEND_FUNC_SEPARATE)\n#define REGAL_NO_TYPEDEF_GL_EXT_BLEND_FUNC_SEPARATE\n#endif\n\n#if (defined(GL_EXT_BLEND_FUNC_SEPARATE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_BLEND_FUNC_SEPARATE)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_BLEND_FUNC_SEPARATE)\n#define REGAL_NO_NAMESPACE_GL_EXT_BLEND_FUNC_SEPARATE\n#endif\n\n#if (defined(GL_EXT_BLEND_FUNC_SEPARATE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_BLEND_FUNC_SEPARATE)) && !defined(REGAL_NO_PLUGIN_GL_EXT_BLEND_FUNC_SEPARATE)\n#define REGAL_NO_PLUGIN_GL_EXT_BLEND_FUNC_SEPARATE\n#endif\n\n#if (defined(GL_EXT_BLEND_FUNC_SEPARATE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_BLEND_FUNC_SEPARATE)) && !defined(REGAL_NO_DECLARATION_GL_EXT_BLEND_FUNC_SEPARATE)\n#define REGAL_NO_DECLARATION_GL_EXT_BLEND_FUNC_SEPARATE\n#endif\n\n#ifndef GL_EXT_blend_func_separate\n#define GL_EXT_blend_func_separate 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_BLEND_FUNC_SEPARATE\n#define GL_BLEND_DST_RGB_EXT   0x80c8     /* 32968 */\n#define GL_BLEND_SRC_RGB_EXT   0x80c9     /* 32969 */\n#define GL_BLEND_DST_ALPHA_EXT 0x80ca     /* 32970 */\n#define GL_BLEND_SRC_ALPHA_EXT 0x80cb     /* 32971 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_BLEND_FUNC_SEPARATE\ntypedef void (REGAL_CALL *PFNGLBLENDFUNCSEPARATEEXTPROC)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_BLEND_FUNC_SEPARATE\n#define glBlendFuncSeparateEXT              rglBlendFuncSeparateEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_BLEND_FUNC_SEPARATE\nREGAL_DECL void REGAL_CALL glBlendFuncSeparateEXT(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_BLEND_FUNC_SEPARATE\nREGAL_DECL void REGAL_CALL plugin_glBlendFuncSeparateEXT(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);\n#endif\n\n/**\n ** GL_EXT_blend_minmax\n **/\n\n#if (defined(GL_EXT_BLEND_MINMAX) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_BLEND_MINMAX)) && !defined(REGAL_NO_ENUM_GL_EXT_BLEND_MINMAX)\n#define REGAL_NO_ENUM_GL_EXT_BLEND_MINMAX\n#endif\n\n#if (defined(GL_EXT_BLEND_MINMAX) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_BLEND_MINMAX)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_BLEND_MINMAX)\n#define REGAL_NO_TYPEDEF_GL_EXT_BLEND_MINMAX\n#endif\n\n#if (defined(GL_EXT_BLEND_MINMAX) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_BLEND_MINMAX)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_BLEND_MINMAX)\n#define REGAL_NO_NAMESPACE_GL_EXT_BLEND_MINMAX\n#endif\n\n#if (defined(GL_EXT_BLEND_MINMAX) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_BLEND_MINMAX)) && !defined(REGAL_NO_PLUGIN_GL_EXT_BLEND_MINMAX)\n#define REGAL_NO_PLUGIN_GL_EXT_BLEND_MINMAX\n#endif\n\n#if (defined(GL_EXT_BLEND_MINMAX) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_BLEND_MINMAX)) && !defined(REGAL_NO_DECLARATION_GL_EXT_BLEND_MINMAX)\n#define REGAL_NO_DECLARATION_GL_EXT_BLEND_MINMAX\n#endif\n\n#ifndef GL_EXT_blend_minmax\n#define GL_EXT_blend_minmax 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_BLEND_MINMAX\n#define GL_FUNC_ADD_EXT       0x8006     /* 32774 */\n#define GL_MIN_EXT            0x8007     /* 32775 */\n#define GL_MAX_EXT            0x8008     /* 32776 */\n#define GL_BLEND_EQUATION_EXT 0x8009     /* 32777 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_BLEND_MINMAX\ntypedef void (REGAL_CALL *PFNGLBLENDEQUATIONEXTPROC)(GLenum mode);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_BLEND_MINMAX\n#define glBlendEquationEXT                  rglBlendEquationEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_BLEND_MINMAX\nREGAL_DECL void REGAL_CALL glBlendEquationEXT(GLenum mode);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_BLEND_MINMAX\nREGAL_DECL void REGAL_CALL plugin_glBlendEquationEXT(GLenum mode);\n#endif\n\n/**\n ** GL_EXT_blend_subtract\n **/\n\n#if (defined(GL_EXT_BLEND_SUBTRACT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_BLEND_SUBTRACT)) && !defined(REGAL_NO_ENUM_GL_EXT_BLEND_SUBTRACT)\n#define REGAL_NO_ENUM_GL_EXT_BLEND_SUBTRACT\n#endif\n\n#if (defined(GL_EXT_BLEND_SUBTRACT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_BLEND_SUBTRACT)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_BLEND_SUBTRACT)\n#define REGAL_NO_TYPEDEF_GL_EXT_BLEND_SUBTRACT\n#endif\n\n#if (defined(GL_EXT_BLEND_SUBTRACT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_BLEND_SUBTRACT)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_BLEND_SUBTRACT)\n#define REGAL_NO_NAMESPACE_GL_EXT_BLEND_SUBTRACT\n#endif\n\n#if (defined(GL_EXT_BLEND_SUBTRACT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_BLEND_SUBTRACT)) && !defined(REGAL_NO_PLUGIN_GL_EXT_BLEND_SUBTRACT)\n#define REGAL_NO_PLUGIN_GL_EXT_BLEND_SUBTRACT\n#endif\n\n#if (defined(GL_EXT_BLEND_SUBTRACT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_BLEND_SUBTRACT)) && !defined(REGAL_NO_DECLARATION_GL_EXT_BLEND_SUBTRACT)\n#define REGAL_NO_DECLARATION_GL_EXT_BLEND_SUBTRACT\n#endif\n\n#ifndef GL_EXT_blend_subtract\n#define GL_EXT_blend_subtract 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_BLEND_SUBTRACT\n#define GL_FUNC_SUBTRACT_EXT         0x800a     /* 32778 */\n#define GL_FUNC_REVERSE_SUBTRACT_EXT 0x800b     /* 32779 */\n#endif\n\n/**\n ** GL_EXT_clip_volume_hint\n **/\n\n#if (defined(GL_EXT_CLIP_VOLUME_HINT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_CLIP_VOLUME_HINT)) && !defined(REGAL_NO_ENUM_GL_EXT_CLIP_VOLUME_HINT)\n#define REGAL_NO_ENUM_GL_EXT_CLIP_VOLUME_HINT\n#endif\n\n#if (defined(GL_EXT_CLIP_VOLUME_HINT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_CLIP_VOLUME_HINT)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_CLIP_VOLUME_HINT)\n#define REGAL_NO_TYPEDEF_GL_EXT_CLIP_VOLUME_HINT\n#endif\n\n#if (defined(GL_EXT_CLIP_VOLUME_HINT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_CLIP_VOLUME_HINT)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_CLIP_VOLUME_HINT)\n#define REGAL_NO_NAMESPACE_GL_EXT_CLIP_VOLUME_HINT\n#endif\n\n#if (defined(GL_EXT_CLIP_VOLUME_HINT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_CLIP_VOLUME_HINT)) && !defined(REGAL_NO_PLUGIN_GL_EXT_CLIP_VOLUME_HINT)\n#define REGAL_NO_PLUGIN_GL_EXT_CLIP_VOLUME_HINT\n#endif\n\n#if (defined(GL_EXT_CLIP_VOLUME_HINT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_CLIP_VOLUME_HINT)) && !defined(REGAL_NO_DECLARATION_GL_EXT_CLIP_VOLUME_HINT)\n#define REGAL_NO_DECLARATION_GL_EXT_CLIP_VOLUME_HINT\n#endif\n\n#ifndef GL_EXT_clip_volume_hint\n#define GL_EXT_clip_volume_hint 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_CLIP_VOLUME_HINT\n#define GL_CLIP_VOLUME_CLIPPING_HINT_EXT 0x80f0 /* 33008 */\n#endif\n\n/**\n ** GL_EXT_cmyka\n **/\n\n#if (defined(GL_EXT_CMYKA) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_CMYKA)) && !defined(REGAL_NO_ENUM_GL_EXT_CMYKA)\n#define REGAL_NO_ENUM_GL_EXT_CMYKA\n#endif\n\n#if (defined(GL_EXT_CMYKA) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_CMYKA)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_CMYKA)\n#define REGAL_NO_TYPEDEF_GL_EXT_CMYKA\n#endif\n\n#if (defined(GL_EXT_CMYKA) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_CMYKA)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_CMYKA)\n#define REGAL_NO_NAMESPACE_GL_EXT_CMYKA\n#endif\n\n#if (defined(GL_EXT_CMYKA) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_CMYKA)) && !defined(REGAL_NO_PLUGIN_GL_EXT_CMYKA)\n#define REGAL_NO_PLUGIN_GL_EXT_CMYKA\n#endif\n\n#if (defined(GL_EXT_CMYKA) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_CMYKA)) && !defined(REGAL_NO_DECLARATION_GL_EXT_CMYKA)\n#define REGAL_NO_DECLARATION_GL_EXT_CMYKA\n#endif\n\n#ifndef GL_EXT_cmyka\n#define GL_EXT_cmyka 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_CMYKA\n#define GL_CMYK_EXT             0x800c     /* 32780 */\n#define GL_CMYKA_EXT            0x800d     /* 32781 */\n#define GL_PACK_CMYK_HINT_EXT   0x800e     /* 32782 */\n#define GL_UNPACK_CMYK_HINT_EXT 0x800f     /* 32783 */\n#endif\n\n/**\n ** GL_EXT_color_buffer_half_float\n **/\n\n#if (defined(GL_EXT_COLOR_BUFFER_HALF_FLOAT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_COLOR_BUFFER_HALF_FLOAT)) && !defined(REGAL_NO_ENUM_GL_EXT_COLOR_BUFFER_HALF_FLOAT)\n#define REGAL_NO_ENUM_GL_EXT_COLOR_BUFFER_HALF_FLOAT\n#endif\n\n#if (defined(GL_EXT_COLOR_BUFFER_HALF_FLOAT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_COLOR_BUFFER_HALF_FLOAT)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_COLOR_BUFFER_HALF_FLOAT)\n#define REGAL_NO_TYPEDEF_GL_EXT_COLOR_BUFFER_HALF_FLOAT\n#endif\n\n#if (defined(GL_EXT_COLOR_BUFFER_HALF_FLOAT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_COLOR_BUFFER_HALF_FLOAT)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_COLOR_BUFFER_HALF_FLOAT)\n#define REGAL_NO_NAMESPACE_GL_EXT_COLOR_BUFFER_HALF_FLOAT\n#endif\n\n#if (defined(GL_EXT_COLOR_BUFFER_HALF_FLOAT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_COLOR_BUFFER_HALF_FLOAT)) && !defined(REGAL_NO_PLUGIN_GL_EXT_COLOR_BUFFER_HALF_FLOAT)\n#define REGAL_NO_PLUGIN_GL_EXT_COLOR_BUFFER_HALF_FLOAT\n#endif\n\n#if (defined(GL_EXT_COLOR_BUFFER_HALF_FLOAT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_COLOR_BUFFER_HALF_FLOAT)) && !defined(REGAL_NO_DECLARATION_GL_EXT_COLOR_BUFFER_HALF_FLOAT)\n#define REGAL_NO_DECLARATION_GL_EXT_COLOR_BUFFER_HALF_FLOAT\n#endif\n\n#ifndef GL_EXT_color_buffer_half_float\n#define GL_EXT_color_buffer_half_float 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_COLOR_BUFFER_HALF_FLOAT\n#define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT 0x8211     /* 33297 */\n#define GL_UNSIGNED_NORMALIZED_EXT                   0x8c17     /* 35863 */\n#endif\n\n/**\n ** GL_EXT_color_subtable\n **/\n\n#if (defined(GL_EXT_COLOR_SUBTABLE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_COLOR_SUBTABLE)) && !defined(REGAL_NO_ENUM_GL_EXT_COLOR_SUBTABLE)\n#define REGAL_NO_ENUM_GL_EXT_COLOR_SUBTABLE\n#endif\n\n#if (defined(GL_EXT_COLOR_SUBTABLE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_COLOR_SUBTABLE)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_COLOR_SUBTABLE)\n#define REGAL_NO_TYPEDEF_GL_EXT_COLOR_SUBTABLE\n#endif\n\n#if (defined(GL_EXT_COLOR_SUBTABLE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_COLOR_SUBTABLE)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_COLOR_SUBTABLE)\n#define REGAL_NO_NAMESPACE_GL_EXT_COLOR_SUBTABLE\n#endif\n\n#if (defined(GL_EXT_COLOR_SUBTABLE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_COLOR_SUBTABLE)) && !defined(REGAL_NO_PLUGIN_GL_EXT_COLOR_SUBTABLE)\n#define REGAL_NO_PLUGIN_GL_EXT_COLOR_SUBTABLE\n#endif\n\n#if (defined(GL_EXT_COLOR_SUBTABLE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_COLOR_SUBTABLE)) && !defined(REGAL_NO_DECLARATION_GL_EXT_COLOR_SUBTABLE)\n#define REGAL_NO_DECLARATION_GL_EXT_COLOR_SUBTABLE\n#endif\n\n#ifndef GL_EXT_color_subtable\n#define GL_EXT_color_subtable 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_COLOR_SUBTABLE\ntypedef void (REGAL_CALL *PFNGLCOLORSUBTABLEEXTPROC)(GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *table);\ntypedef void (REGAL_CALL *PFNGLCOPYCOLORSUBTABLEEXTPROC)(GLenum target, GLsizei start, GLint x, GLint y, GLsizei width);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_COLOR_SUBTABLE\n#define glColorSubTableEXT                  rglColorSubTableEXT\n#define glCopyColorSubTableEXT              rglCopyColorSubTableEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_COLOR_SUBTABLE\nREGAL_DECL void REGAL_CALL glColorSubTableEXT(GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *table);\nREGAL_DECL void REGAL_CALL glCopyColorSubTableEXT(GLenum target, GLsizei start, GLint x, GLint y, GLsizei width);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_COLOR_SUBTABLE\nREGAL_DECL void REGAL_CALL plugin_glColorSubTableEXT(GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *table);\nREGAL_DECL void REGAL_CALL plugin_glCopyColorSubTableEXT(GLenum target, GLsizei start, GLint x, GLint y, GLsizei width);\n#endif\n\n/**\n ** GL_EXT_compiled_vertex_array\n **/\n\n#if (defined(GL_EXT_COMPILED_VERTEX_ARRAY) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_COMPILED_VERTEX_ARRAY)) && !defined(REGAL_NO_ENUM_GL_EXT_COMPILED_VERTEX_ARRAY)\n#define REGAL_NO_ENUM_GL_EXT_COMPILED_VERTEX_ARRAY\n#endif\n\n#if (defined(GL_EXT_COMPILED_VERTEX_ARRAY) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_COMPILED_VERTEX_ARRAY)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_COMPILED_VERTEX_ARRAY)\n#define REGAL_NO_TYPEDEF_GL_EXT_COMPILED_VERTEX_ARRAY\n#endif\n\n#if (defined(GL_EXT_COMPILED_VERTEX_ARRAY) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_COMPILED_VERTEX_ARRAY)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_COMPILED_VERTEX_ARRAY)\n#define REGAL_NO_NAMESPACE_GL_EXT_COMPILED_VERTEX_ARRAY\n#endif\n\n#if (defined(GL_EXT_COMPILED_VERTEX_ARRAY) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_COMPILED_VERTEX_ARRAY)) && !defined(REGAL_NO_PLUGIN_GL_EXT_COMPILED_VERTEX_ARRAY)\n#define REGAL_NO_PLUGIN_GL_EXT_COMPILED_VERTEX_ARRAY\n#endif\n\n#if (defined(GL_EXT_COMPILED_VERTEX_ARRAY) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_COMPILED_VERTEX_ARRAY)) && !defined(REGAL_NO_DECLARATION_GL_EXT_COMPILED_VERTEX_ARRAY)\n#define REGAL_NO_DECLARATION_GL_EXT_COMPILED_VERTEX_ARRAY\n#endif\n\n#ifndef GL_EXT_compiled_vertex_array\n#define GL_EXT_compiled_vertex_array 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_COMPILED_VERTEX_ARRAY\n#define GL_ARRAY_ELEMENT_LOCK_FIRST_EXT 0x81a8     /* 33192 */\n#define GL_ARRAY_ELEMENT_LOCK_COUNT_EXT 0x81a9     /* 33193 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_COMPILED_VERTEX_ARRAY\ntypedef void (REGAL_CALL *PFNGLLOCKARRAYSEXTPROC)(GLint first, GLsizei count);\ntypedef void (REGAL_CALL *PFNGLUNLOCKARRAYSEXTPROC)(void);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_COMPILED_VERTEX_ARRAY\n#define glLockArraysEXT                     rglLockArraysEXT\n#define glUnlockArraysEXT                   rglUnlockArraysEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_COMPILED_VERTEX_ARRAY\nREGAL_DECL void REGAL_CALL glLockArraysEXT(GLint first, GLsizei count);\nREGAL_DECL void REGAL_CALL glUnlockArraysEXT(void);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_COMPILED_VERTEX_ARRAY\nREGAL_DECL void REGAL_CALL plugin_glLockArraysEXT(GLint first, GLsizei count);\nREGAL_DECL void REGAL_CALL plugin_glUnlockArraysEXT(void);\n#endif\n\n/**\n ** GL_EXT_convolution\n **/\n\n#if (defined(GL_EXT_CONVOLUTION) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_CONVOLUTION)) && !defined(REGAL_NO_ENUM_GL_EXT_CONVOLUTION)\n#define REGAL_NO_ENUM_GL_EXT_CONVOLUTION\n#endif\n\n#if (defined(GL_EXT_CONVOLUTION) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_CONVOLUTION)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_CONVOLUTION)\n#define REGAL_NO_TYPEDEF_GL_EXT_CONVOLUTION\n#endif\n\n#if (defined(GL_EXT_CONVOLUTION) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_CONVOLUTION)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_CONVOLUTION)\n#define REGAL_NO_NAMESPACE_GL_EXT_CONVOLUTION\n#endif\n\n#if (defined(GL_EXT_CONVOLUTION) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_CONVOLUTION)) && !defined(REGAL_NO_PLUGIN_GL_EXT_CONVOLUTION)\n#define REGAL_NO_PLUGIN_GL_EXT_CONVOLUTION\n#endif\n\n#if (defined(GL_EXT_CONVOLUTION) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_CONVOLUTION)) && !defined(REGAL_NO_DECLARATION_GL_EXT_CONVOLUTION)\n#define REGAL_NO_DECLARATION_GL_EXT_CONVOLUTION\n#endif\n\n#ifndef GL_EXT_convolution\n#define GL_EXT_convolution 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_CONVOLUTION\n#define GL_CONVOLUTION_1D_EXT               0x8010     /* 32784 */\n#define GL_CONVOLUTION_2D_EXT               0x8011     /* 32785 */\n#define GL_SEPARABLE_2D_EXT                 0x8012     /* 32786 */\n#define GL_CONVOLUTION_BORDER_MODE_EXT      0x8013     /* 32787 */\n#define GL_CONVOLUTION_FILTER_SCALE_EXT     0x8014     /* 32788 */\n#define GL_CONVOLUTION_FILTER_BIAS_EXT      0x8015     /* 32789 */\n#define GL_REDUCE_EXT                       0x8016     /* 32790 */\n#define GL_CONVOLUTION_FORMAT_EXT           0x8017     /* 32791 */\n#define GL_CONVOLUTION_WIDTH_EXT            0x8018     /* 32792 */\n#define GL_CONVOLUTION_HEIGHT_EXT           0x8019     /* 32793 */\n#define GL_MAX_CONVOLUTION_WIDTH_EXT        0x801a     /* 32794 */\n#define GL_MAX_CONVOLUTION_HEIGHT_EXT       0x801b     /* 32795 */\n#define GL_POST_CONVOLUTION_RED_SCALE_EXT   0x801c     /* 32796 */\n#define GL_POST_CONVOLUTION_GREEN_SCALE_EXT 0x801d     /* 32797 */\n#define GL_POST_CONVOLUTION_BLUE_SCALE_EXT  0x801e     /* 32798 */\n#define GL_POST_CONVOLUTION_ALPHA_SCALE_EXT 0x801f     /* 32799 */\n#define GL_POST_CONVOLUTION_RED_BIAS_EXT    0x8020     /* 32800 */\n#define GL_POST_CONVOLUTION_GREEN_BIAS_EXT  0x8021     /* 32801 */\n#define GL_POST_CONVOLUTION_BLUE_BIAS_EXT   0x8022     /* 32802 */\n#define GL_POST_CONVOLUTION_ALPHA_BIAS_EXT  0x8023     /* 32803 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_CONVOLUTION\ntypedef void (REGAL_CALL *PFNGLCONVOLUTIONFILTER1DEXTPROC)(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image);\ntypedef void (REGAL_CALL *PFNGLCONVOLUTIONFILTER2DEXTPROC)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image);\ntypedef void (REGAL_CALL *PFNGLCONVOLUTIONPARAMETERFEXTPROC)(GLenum target, GLenum pname, GLfloat param);\ntypedef void (REGAL_CALL *PFNGLCONVOLUTIONPARAMETERFVEXTPROC)(GLenum target, GLenum pname, const GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLCONVOLUTIONPARAMETERIEXTPROC)(GLenum target, GLenum pname, GLint param);\ntypedef void (REGAL_CALL *PFNGLCONVOLUTIONPARAMETERIVEXTPROC)(GLenum target, GLenum pname, const GLint *params);\ntypedef void (REGAL_CALL *PFNGLCOPYCONVOLUTIONFILTER1DEXTPROC)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);\ntypedef void (REGAL_CALL *PFNGLCOPYCONVOLUTIONFILTER2DEXTPROC)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height);\ntypedef void (REGAL_CALL *PFNGLGETCONVOLUTIONFILTEREXTPROC)(GLenum target, GLenum format, GLenum type, GLvoid *image);\ntypedef void (REGAL_CALL *PFNGLGETCONVOLUTIONPARAMETERFVEXTPROC)(GLenum target, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETCONVOLUTIONPARAMETERIVEXTPROC)(GLenum target, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETSEPARABLEFILTEREXTPROC)(GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span);\ntypedef void (REGAL_CALL *PFNGLSEPARABLEFILTER2DEXTPROC)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_CONVOLUTION\n#define glConvolutionFilter1DEXT            rglConvolutionFilter1DEXT\n#define glConvolutionFilter2DEXT            rglConvolutionFilter2DEXT\n#define glConvolutionParameterfEXT          rglConvolutionParameterfEXT\n#define glConvolutionParameterfvEXT         rglConvolutionParameterfvEXT\n#define glConvolutionParameteriEXT          rglConvolutionParameteriEXT\n#define glConvolutionParameterivEXT         rglConvolutionParameterivEXT\n#define glCopyConvolutionFilter1DEXT        rglCopyConvolutionFilter1DEXT\n#define glCopyConvolutionFilter2DEXT        rglCopyConvolutionFilter2DEXT\n#define glGetConvolutionFilterEXT           rglGetConvolutionFilterEXT\n#define glGetConvolutionParameterfvEXT      rglGetConvolutionParameterfvEXT\n#define glGetConvolutionParameterivEXT      rglGetConvolutionParameterivEXT\n#define glGetSeparableFilterEXT             rglGetSeparableFilterEXT\n#define glSeparableFilter2DEXT              rglSeparableFilter2DEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_CONVOLUTION\nREGAL_DECL void REGAL_CALL glConvolutionFilter1DEXT(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image);\nREGAL_DECL void REGAL_CALL glConvolutionFilter2DEXT(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image);\nREGAL_DECL void REGAL_CALL glConvolutionParameterfEXT(GLenum target, GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL glConvolutionParameterfvEXT(GLenum target, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL glConvolutionParameteriEXT(GLenum target, GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL glConvolutionParameterivEXT(GLenum target, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL glCopyConvolutionFilter1DEXT(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);\nREGAL_DECL void REGAL_CALL glCopyConvolutionFilter2DEXT(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height);\nREGAL_DECL void REGAL_CALL glGetConvolutionFilterEXT(GLenum target, GLenum format, GLenum type, GLvoid *image);\nREGAL_DECL void REGAL_CALL glGetConvolutionParameterfvEXT(GLenum target, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetConvolutionParameterivEXT(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetSeparableFilterEXT(GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span);\nREGAL_DECL void REGAL_CALL glSeparableFilter2DEXT(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_CONVOLUTION\nREGAL_DECL void REGAL_CALL plugin_glConvolutionFilter1DEXT(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image);\nREGAL_DECL void REGAL_CALL plugin_glConvolutionFilter2DEXT(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image);\nREGAL_DECL void REGAL_CALL plugin_glConvolutionParameterfEXT(GLenum target, GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL plugin_glConvolutionParameterfvEXT(GLenum target, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glConvolutionParameteriEXT(GLenum target, GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL plugin_glConvolutionParameterivEXT(GLenum target, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glCopyConvolutionFilter1DEXT(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);\nREGAL_DECL void REGAL_CALL plugin_glCopyConvolutionFilter2DEXT(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height);\nREGAL_DECL void REGAL_CALL plugin_glGetConvolutionFilterEXT(GLenum target, GLenum format, GLenum type, GLvoid *image);\nREGAL_DECL void REGAL_CALL plugin_glGetConvolutionParameterfvEXT(GLenum target, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetConvolutionParameterivEXT(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetSeparableFilterEXT(GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span);\nREGAL_DECL void REGAL_CALL plugin_glSeparableFilter2DEXT(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column);\n#endif\n\n/**\n ** GL_EXT_coordinate_frame\n **/\n\n#if (defined(GL_EXT_COORDINATE_FRAME) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_COORDINATE_FRAME)) && !defined(REGAL_NO_ENUM_GL_EXT_COORDINATE_FRAME)\n#define REGAL_NO_ENUM_GL_EXT_COORDINATE_FRAME\n#endif\n\n#if (defined(GL_EXT_COORDINATE_FRAME) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_COORDINATE_FRAME)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_COORDINATE_FRAME)\n#define REGAL_NO_TYPEDEF_GL_EXT_COORDINATE_FRAME\n#endif\n\n#if (defined(GL_EXT_COORDINATE_FRAME) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_COORDINATE_FRAME)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_COORDINATE_FRAME)\n#define REGAL_NO_NAMESPACE_GL_EXT_COORDINATE_FRAME\n#endif\n\n#if (defined(GL_EXT_COORDINATE_FRAME) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_COORDINATE_FRAME)) && !defined(REGAL_NO_PLUGIN_GL_EXT_COORDINATE_FRAME)\n#define REGAL_NO_PLUGIN_GL_EXT_COORDINATE_FRAME\n#endif\n\n#if (defined(GL_EXT_COORDINATE_FRAME) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_COORDINATE_FRAME)) && !defined(REGAL_NO_DECLARATION_GL_EXT_COORDINATE_FRAME)\n#define REGAL_NO_DECLARATION_GL_EXT_COORDINATE_FRAME\n#endif\n\n#ifndef GL_EXT_coordinate_frame\n#define GL_EXT_coordinate_frame 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_COORDINATE_FRAME\n#define GL_TANGENT_ARRAY_EXT          0x8439     /* 33849 */\n#define GL_BINORMAL_ARRAY_EXT         0x843a     /* 33850 */\n#define GL_CURRENT_TANGENT_EXT        0x843b     /* 33851 */\n#define GL_CURRENT_BINORMAL_EXT       0x843c     /* 33852 */\n#define GL_TANGENT_ARRAY_TYPE_EXT     0x843e     /* 33854 */\n#define GL_TANGENT_ARRAY_STRIDE_EXT   0x843f     /* 33855 */\n#define GL_BINORMAL_ARRAY_TYPE_EXT    0x8440     /* 33856 */\n#define GL_BINORMAL_ARRAY_STRIDE_EXT  0x8441     /* 33857 */\n#define GL_TANGENT_ARRAY_POINTER_EXT  0x8442     /* 33858 */\n#define GL_BINORMAL_ARRAY_POINTER_EXT 0x8443     /* 33859 */\n#define GL_MAP1_TANGENT_EXT           0x8444     /* 33860 */\n#define GL_MAP2_TANGENT_EXT           0x8445     /* 33861 */\n#define GL_MAP1_BINORMAL_EXT          0x8446     /* 33862 */\n#define GL_MAP2_BINORMAL_EXT          0x8447     /* 33863 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_COORDINATE_FRAME\ntypedef void (REGAL_CALL *PFNGLBINORMAL3BEXTPROC)(GLbyte bx, GLbyte by, GLbyte bz);\ntypedef void (REGAL_CALL *PFNGLBINORMAL3BVEXTPROC)(const GLbyte *v);\ntypedef void (REGAL_CALL *PFNGLBINORMAL3DEXTPROC)(GLdouble bx, GLdouble by, GLdouble bz);\ntypedef void (REGAL_CALL *PFNGLBINORMAL3DVEXTPROC)(const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLBINORMAL3FEXTPROC)(GLfloat bx, GLfloat by, GLfloat bz);\ntypedef void (REGAL_CALL *PFNGLBINORMAL3FVEXTPROC)(const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLBINORMAL3IEXTPROC)(GLint bx, GLint by, GLint bz);\ntypedef void (REGAL_CALL *PFNGLBINORMAL3IVEXTPROC)(const GLint *v);\ntypedef void (REGAL_CALL *PFNGLBINORMAL3SEXTPROC)(GLshort bx, GLshort by, GLshort bz);\ntypedef void (REGAL_CALL *PFNGLBINORMAL3SVEXTPROC)(const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLBINORMALPOINTEREXTPROC)(GLenum type, GLsizei stride, const GLvoid *pointer);\ntypedef void (REGAL_CALL *PFNGLTANGENT3BEXTPROC)(GLbyte tx, GLbyte ty, GLbyte tz);\ntypedef void (REGAL_CALL *PFNGLTANGENT3BVEXTPROC)(const GLbyte *v);\ntypedef void (REGAL_CALL *PFNGLTANGENT3DEXTPROC)(GLdouble tx, GLdouble ty, GLdouble tz);\ntypedef void (REGAL_CALL *PFNGLTANGENT3DVEXTPROC)(const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLTANGENT3FEXTPROC)(GLfloat tx, GLfloat ty, GLfloat tz);\ntypedef void (REGAL_CALL *PFNGLTANGENT3FVEXTPROC)(const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLTANGENT3IEXTPROC)(GLint tx, GLint ty, GLint tz);\ntypedef void (REGAL_CALL *PFNGLTANGENT3IVEXTPROC)(const GLint *v);\ntypedef void (REGAL_CALL *PFNGLTANGENT3SEXTPROC)(GLshort tx, GLshort ty, GLshort tz);\ntypedef void (REGAL_CALL *PFNGLTANGENT3SVEXTPROC)(const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLTANGENTPOINTEREXTPROC)(GLenum type, GLsizei stride, const GLvoid *pointer);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_COORDINATE_FRAME\n#define glBinormal3bEXT                     rglBinormal3bEXT\n#define glBinormal3bvEXT                    rglBinormal3bvEXT\n#define glBinormal3dEXT                     rglBinormal3dEXT\n#define glBinormal3dvEXT                    rglBinormal3dvEXT\n#define glBinormal3fEXT                     rglBinormal3fEXT\n#define glBinormal3fvEXT                    rglBinormal3fvEXT\n#define glBinormal3iEXT                     rglBinormal3iEXT\n#define glBinormal3ivEXT                    rglBinormal3ivEXT\n#define glBinormal3sEXT                     rglBinormal3sEXT\n#define glBinormal3svEXT                    rglBinormal3svEXT\n#define glBinormalPointerEXT                rglBinormalPointerEXT\n#define glTangent3bEXT                      rglTangent3bEXT\n#define glTangent3bvEXT                     rglTangent3bvEXT\n#define glTangent3dEXT                      rglTangent3dEXT\n#define glTangent3dvEXT                     rglTangent3dvEXT\n#define glTangent3fEXT                      rglTangent3fEXT\n#define glTangent3fvEXT                     rglTangent3fvEXT\n#define glTangent3iEXT                      rglTangent3iEXT\n#define glTangent3ivEXT                     rglTangent3ivEXT\n#define glTangent3sEXT                      rglTangent3sEXT\n#define glTangent3svEXT                     rglTangent3svEXT\n#define glTangentPointerEXT                 rglTangentPointerEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_COORDINATE_FRAME\nREGAL_DECL void REGAL_CALL glBinormal3bEXT(GLbyte bx, GLbyte by, GLbyte bz);\nREGAL_DECL void REGAL_CALL glBinormal3bvEXT(const GLbyte *v);\nREGAL_DECL void REGAL_CALL glBinormal3dEXT(GLdouble bx, GLdouble by, GLdouble bz);\nREGAL_DECL void REGAL_CALL glBinormal3dvEXT(const GLdouble *v);\nREGAL_DECL void REGAL_CALL glBinormal3fEXT(GLfloat bx, GLfloat by, GLfloat bz);\nREGAL_DECL void REGAL_CALL glBinormal3fvEXT(const GLfloat *v);\nREGAL_DECL void REGAL_CALL glBinormal3iEXT(GLint bx, GLint by, GLint bz);\nREGAL_DECL void REGAL_CALL glBinormal3ivEXT(const GLint *v);\nREGAL_DECL void REGAL_CALL glBinormal3sEXT(GLshort bx, GLshort by, GLshort bz);\nREGAL_DECL void REGAL_CALL glBinormal3svEXT(const GLshort *v);\nREGAL_DECL void REGAL_CALL glBinormalPointerEXT(GLenum type, GLsizei stride, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL glTangent3bEXT(GLbyte tx, GLbyte ty, GLbyte tz);\nREGAL_DECL void REGAL_CALL glTangent3bvEXT(const GLbyte *v);\nREGAL_DECL void REGAL_CALL glTangent3dEXT(GLdouble tx, GLdouble ty, GLdouble tz);\nREGAL_DECL void REGAL_CALL glTangent3dvEXT(const GLdouble *v);\nREGAL_DECL void REGAL_CALL glTangent3fEXT(GLfloat tx, GLfloat ty, GLfloat tz);\nREGAL_DECL void REGAL_CALL glTangent3fvEXT(const GLfloat *v);\nREGAL_DECL void REGAL_CALL glTangent3iEXT(GLint tx, GLint ty, GLint tz);\nREGAL_DECL void REGAL_CALL glTangent3ivEXT(const GLint *v);\nREGAL_DECL void REGAL_CALL glTangent3sEXT(GLshort tx, GLshort ty, GLshort tz);\nREGAL_DECL void REGAL_CALL glTangent3svEXT(const GLshort *v);\nREGAL_DECL void REGAL_CALL glTangentPointerEXT(GLenum type, GLsizei stride, const GLvoid *pointer);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_COORDINATE_FRAME\nREGAL_DECL void REGAL_CALL plugin_glBinormal3bEXT(GLbyte bx, GLbyte by, GLbyte bz);\nREGAL_DECL void REGAL_CALL plugin_glBinormal3bvEXT(const GLbyte *v);\nREGAL_DECL void REGAL_CALL plugin_glBinormal3dEXT(GLdouble bx, GLdouble by, GLdouble bz);\nREGAL_DECL void REGAL_CALL plugin_glBinormal3dvEXT(const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glBinormal3fEXT(GLfloat bx, GLfloat by, GLfloat bz);\nREGAL_DECL void REGAL_CALL plugin_glBinormal3fvEXT(const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glBinormal3iEXT(GLint bx, GLint by, GLint bz);\nREGAL_DECL void REGAL_CALL plugin_glBinormal3ivEXT(const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glBinormal3sEXT(GLshort bx, GLshort by, GLshort bz);\nREGAL_DECL void REGAL_CALL plugin_glBinormal3svEXT(const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glBinormalPointerEXT(GLenum type, GLsizei stride, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL plugin_glTangent3bEXT(GLbyte tx, GLbyte ty, GLbyte tz);\nREGAL_DECL void REGAL_CALL plugin_glTangent3bvEXT(const GLbyte *v);\nREGAL_DECL void REGAL_CALL plugin_glTangent3dEXT(GLdouble tx, GLdouble ty, GLdouble tz);\nREGAL_DECL void REGAL_CALL plugin_glTangent3dvEXT(const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glTangent3fEXT(GLfloat tx, GLfloat ty, GLfloat tz);\nREGAL_DECL void REGAL_CALL plugin_glTangent3fvEXT(const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glTangent3iEXT(GLint tx, GLint ty, GLint tz);\nREGAL_DECL void REGAL_CALL plugin_glTangent3ivEXT(const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glTangent3sEXT(GLshort tx, GLshort ty, GLshort tz);\nREGAL_DECL void REGAL_CALL plugin_glTangent3svEXT(const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glTangentPointerEXT(GLenum type, GLsizei stride, const GLvoid *pointer);\n#endif\n\n/**\n ** GL_EXT_copy_texture\n **/\n\n#if (defined(GL_EXT_COPY_TEXTURE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_COPY_TEXTURE)) && !defined(REGAL_NO_ENUM_GL_EXT_COPY_TEXTURE)\n#define REGAL_NO_ENUM_GL_EXT_COPY_TEXTURE\n#endif\n\n#if (defined(GL_EXT_COPY_TEXTURE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_COPY_TEXTURE)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_COPY_TEXTURE)\n#define REGAL_NO_TYPEDEF_GL_EXT_COPY_TEXTURE\n#endif\n\n#if (defined(GL_EXT_COPY_TEXTURE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_COPY_TEXTURE)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_COPY_TEXTURE)\n#define REGAL_NO_NAMESPACE_GL_EXT_COPY_TEXTURE\n#endif\n\n#if (defined(GL_EXT_COPY_TEXTURE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_COPY_TEXTURE)) && !defined(REGAL_NO_PLUGIN_GL_EXT_COPY_TEXTURE)\n#define REGAL_NO_PLUGIN_GL_EXT_COPY_TEXTURE\n#endif\n\n#if (defined(GL_EXT_COPY_TEXTURE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_COPY_TEXTURE)) && !defined(REGAL_NO_DECLARATION_GL_EXT_COPY_TEXTURE)\n#define REGAL_NO_DECLARATION_GL_EXT_COPY_TEXTURE\n#endif\n\n#ifndef GL_EXT_copy_texture\n#define GL_EXT_copy_texture 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_COPY_TEXTURE\ntypedef void (REGAL_CALL *PFNGLCOPYTEXIMAGE1DEXTPROC)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);\ntypedef void (REGAL_CALL *PFNGLCOPYTEXIMAGE2DEXTPROC)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);\ntypedef void (REGAL_CALL *PFNGLCOPYTEXSUBIMAGE1DEXTPROC)(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);\ntypedef void (REGAL_CALL *PFNGLCOPYTEXSUBIMAGE2DEXTPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);\ntypedef void (REGAL_CALL *PFNGLCOPYTEXSUBIMAGE3DEXTPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_COPY_TEXTURE\n#define glCopyTexImage1DEXT                 rglCopyTexImage1DEXT\n#define glCopyTexImage2DEXT                 rglCopyTexImage2DEXT\n#define glCopyTexSubImage1DEXT              rglCopyTexSubImage1DEXT\n#define glCopyTexSubImage2DEXT              rglCopyTexSubImage2DEXT\n#define glCopyTexSubImage3DEXT              rglCopyTexSubImage3DEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_COPY_TEXTURE\nREGAL_DECL void REGAL_CALL glCopyTexImage1DEXT(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);\nREGAL_DECL void REGAL_CALL glCopyTexImage2DEXT(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);\nREGAL_DECL void REGAL_CALL glCopyTexSubImage1DEXT(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);\nREGAL_DECL void REGAL_CALL glCopyTexSubImage2DEXT(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);\nREGAL_DECL void REGAL_CALL glCopyTexSubImage3DEXT(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_COPY_TEXTURE\nREGAL_DECL void REGAL_CALL plugin_glCopyTexImage1DEXT(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);\nREGAL_DECL void REGAL_CALL plugin_glCopyTexImage2DEXT(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);\nREGAL_DECL void REGAL_CALL plugin_glCopyTexSubImage1DEXT(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);\nREGAL_DECL void REGAL_CALL plugin_glCopyTexSubImage2DEXT(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);\nREGAL_DECL void REGAL_CALL plugin_glCopyTexSubImage3DEXT(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);\n#endif\n\n/**\n ** GL_EXT_cull_vertex\n **/\n\n#if (defined(GL_EXT_CULL_VERTEX) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_CULL_VERTEX)) && !defined(REGAL_NO_ENUM_GL_EXT_CULL_VERTEX)\n#define REGAL_NO_ENUM_GL_EXT_CULL_VERTEX\n#endif\n\n#if (defined(GL_EXT_CULL_VERTEX) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_CULL_VERTEX)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_CULL_VERTEX)\n#define REGAL_NO_TYPEDEF_GL_EXT_CULL_VERTEX\n#endif\n\n#if (defined(GL_EXT_CULL_VERTEX) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_CULL_VERTEX)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_CULL_VERTEX)\n#define REGAL_NO_NAMESPACE_GL_EXT_CULL_VERTEX\n#endif\n\n#if (defined(GL_EXT_CULL_VERTEX) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_CULL_VERTEX)) && !defined(REGAL_NO_PLUGIN_GL_EXT_CULL_VERTEX)\n#define REGAL_NO_PLUGIN_GL_EXT_CULL_VERTEX\n#endif\n\n#if (defined(GL_EXT_CULL_VERTEX) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_CULL_VERTEX)) && !defined(REGAL_NO_DECLARATION_GL_EXT_CULL_VERTEX)\n#define REGAL_NO_DECLARATION_GL_EXT_CULL_VERTEX\n#endif\n\n#ifndef GL_EXT_cull_vertex\n#define GL_EXT_cull_vertex 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_CULL_VERTEX\n#define GL_CULL_VERTEX_EXT                 0x81aa     /* 33194 */\n#define GL_CULL_VERTEX_EYE_POSITION_EXT    0x81ab     /* 33195 */\n#define GL_CULL_VERTEX_OBJECT_POSITION_EXT 0x81ac     /* 33196 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_CULL_VERTEX\ntypedef void (REGAL_CALL *PFNGLCULLPARAMETERDVEXTPROC)(GLenum pname, GLdouble *params);\ntypedef void (REGAL_CALL *PFNGLCULLPARAMETERFVEXTPROC)(GLenum pname, GLfloat *params);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_CULL_VERTEX\n#define glCullParameterdvEXT                rglCullParameterdvEXT\n#define glCullParameterfvEXT                rglCullParameterfvEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_CULL_VERTEX\nREGAL_DECL void REGAL_CALL glCullParameterdvEXT(GLenum pname, GLdouble *params);\nREGAL_DECL void REGAL_CALL glCullParameterfvEXT(GLenum pname, GLfloat *params);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_CULL_VERTEX\nREGAL_DECL void REGAL_CALL plugin_glCullParameterdvEXT(GLenum pname, GLdouble *params);\nREGAL_DECL void REGAL_CALL plugin_glCullParameterfvEXT(GLenum pname, GLfloat *params);\n#endif\n\n/**\n ** GL_EXT_debug_label\n **/\n\n#if (defined(GL_EXT_DEBUG_LABEL) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_DEBUG_LABEL)) && !defined(REGAL_NO_ENUM_GL_EXT_DEBUG_LABEL)\n#define REGAL_NO_ENUM_GL_EXT_DEBUG_LABEL\n#endif\n\n#if (defined(GL_EXT_DEBUG_LABEL) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_DEBUG_LABEL)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_DEBUG_LABEL)\n#define REGAL_NO_TYPEDEF_GL_EXT_DEBUG_LABEL\n#endif\n\n#if (defined(GL_EXT_DEBUG_LABEL) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_DEBUG_LABEL)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_DEBUG_LABEL)\n#define REGAL_NO_NAMESPACE_GL_EXT_DEBUG_LABEL\n#endif\n\n#if (defined(GL_EXT_DEBUG_LABEL) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_DEBUG_LABEL)) && !defined(REGAL_NO_PLUGIN_GL_EXT_DEBUG_LABEL)\n#define REGAL_NO_PLUGIN_GL_EXT_DEBUG_LABEL\n#endif\n\n#if (defined(GL_EXT_DEBUG_LABEL) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_DEBUG_LABEL)) && !defined(REGAL_NO_DECLARATION_GL_EXT_DEBUG_LABEL)\n#define REGAL_NO_DECLARATION_GL_EXT_DEBUG_LABEL\n#endif\n\n#ifndef GL_EXT_debug_label\n#define GL_EXT_debug_label 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_DEBUG_LABEL\n#define GL_PROGRAM_PIPELINE_OBJECT_EXT 0x8a4f     /* 35407 */\n#define GL_PROGRAM_OBJECT_EXT          0x8b40     /* 35648 */\n#define GL_SHADER_OBJECT_EXT           0x8b48     /* 35656 */\n#define GL_BUFFER_OBJECT_EXT           0x9151     /* 37201 */\n#define GL_QUERY_OBJECT_EXT            0x9153     /* 37203 */\n#define GL_VERTEX_ARRAY_OBJECT_EXT     0x9154     /* 37204 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_DEBUG_LABEL\ntypedef void (REGAL_CALL *PFNGLGETOBJECTLABELEXTPROC)(GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label);\ntypedef void (REGAL_CALL *PFNGLLABELOBJECTEXTPROC)(GLenum type, GLuint object, GLsizei length, const GLchar *label);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_DEBUG_LABEL\n#define glGetObjectLabelEXT                 rglGetObjectLabelEXT\n#define glLabelObjectEXT                    rglLabelObjectEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_DEBUG_LABEL\nREGAL_DECL void REGAL_CALL glGetObjectLabelEXT(GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label);\nREGAL_DECL void REGAL_CALL glLabelObjectEXT(GLenum type, GLuint object, GLsizei length, const GLchar *label);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_DEBUG_LABEL\nREGAL_DECL void REGAL_CALL plugin_glGetObjectLabelEXT(GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label);\nREGAL_DECL void REGAL_CALL plugin_glLabelObjectEXT(GLenum type, GLuint object, GLsizei length, const GLchar *label);\n#endif\n\n/**\n ** GL_EXT_debug_marker\n **/\n\n#if (defined(GL_EXT_DEBUG_MARKER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_DEBUG_MARKER)) && !defined(REGAL_NO_ENUM_GL_EXT_DEBUG_MARKER)\n#define REGAL_NO_ENUM_GL_EXT_DEBUG_MARKER\n#endif\n\n#if (defined(GL_EXT_DEBUG_MARKER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_DEBUG_MARKER)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_DEBUG_MARKER)\n#define REGAL_NO_TYPEDEF_GL_EXT_DEBUG_MARKER\n#endif\n\n#if (defined(GL_EXT_DEBUG_MARKER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_DEBUG_MARKER)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_DEBUG_MARKER)\n#define REGAL_NO_NAMESPACE_GL_EXT_DEBUG_MARKER\n#endif\n\n#if (defined(GL_EXT_DEBUG_MARKER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_DEBUG_MARKER)) && !defined(REGAL_NO_PLUGIN_GL_EXT_DEBUG_MARKER)\n#define REGAL_NO_PLUGIN_GL_EXT_DEBUG_MARKER\n#endif\n\n#if (defined(GL_EXT_DEBUG_MARKER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_DEBUG_MARKER)) && !defined(REGAL_NO_DECLARATION_GL_EXT_DEBUG_MARKER)\n#define REGAL_NO_DECLARATION_GL_EXT_DEBUG_MARKER\n#endif\n\n#ifndef GL_EXT_debug_marker\n#define GL_EXT_debug_marker 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_DEBUG_MARKER\ntypedef void (REGAL_CALL *PFNGLINSERTEVENTMARKEREXTPROC)(GLsizei length, const GLchar *marker);\ntypedef void (REGAL_CALL *PFNGLPOPGROUPMARKEREXTPROC)(void);\ntypedef void (REGAL_CALL *PFNGLPUSHGROUPMARKEREXTPROC)(GLsizei length, const GLchar *marker);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_DEBUG_MARKER\n#define glInsertEventMarkerEXT              rglInsertEventMarkerEXT\n#define glPopGroupMarkerEXT                 rglPopGroupMarkerEXT\n#define glPushGroupMarkerEXT                rglPushGroupMarkerEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_DEBUG_MARKER\nREGAL_DECL void REGAL_CALL glInsertEventMarkerEXT(GLsizei length, const GLchar *marker);\nREGAL_DECL void REGAL_CALL glPopGroupMarkerEXT(void);\nREGAL_DECL void REGAL_CALL glPushGroupMarkerEXT(GLsizei length, const GLchar *marker);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_DEBUG_MARKER\nREGAL_DECL void REGAL_CALL plugin_glInsertEventMarkerEXT(GLsizei length, const GLchar *marker);\nREGAL_DECL void REGAL_CALL plugin_glPopGroupMarkerEXT(void);\nREGAL_DECL void REGAL_CALL plugin_glPushGroupMarkerEXT(GLsizei length, const GLchar *marker);\n#endif\n\n/**\n ** GL_EXT_depth_bounds_test\n **/\n\n#if (defined(GL_EXT_DEPTH_BOUNDS_TEST) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_DEPTH_BOUNDS_TEST)) && !defined(REGAL_NO_ENUM_GL_EXT_DEPTH_BOUNDS_TEST)\n#define REGAL_NO_ENUM_GL_EXT_DEPTH_BOUNDS_TEST\n#endif\n\n#if (defined(GL_EXT_DEPTH_BOUNDS_TEST) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_DEPTH_BOUNDS_TEST)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_DEPTH_BOUNDS_TEST)\n#define REGAL_NO_TYPEDEF_GL_EXT_DEPTH_BOUNDS_TEST\n#endif\n\n#if (defined(GL_EXT_DEPTH_BOUNDS_TEST) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_DEPTH_BOUNDS_TEST)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_DEPTH_BOUNDS_TEST)\n#define REGAL_NO_NAMESPACE_GL_EXT_DEPTH_BOUNDS_TEST\n#endif\n\n#if (defined(GL_EXT_DEPTH_BOUNDS_TEST) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_DEPTH_BOUNDS_TEST)) && !defined(REGAL_NO_PLUGIN_GL_EXT_DEPTH_BOUNDS_TEST)\n#define REGAL_NO_PLUGIN_GL_EXT_DEPTH_BOUNDS_TEST\n#endif\n\n#if (defined(GL_EXT_DEPTH_BOUNDS_TEST) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_DEPTH_BOUNDS_TEST)) && !defined(REGAL_NO_DECLARATION_GL_EXT_DEPTH_BOUNDS_TEST)\n#define REGAL_NO_DECLARATION_GL_EXT_DEPTH_BOUNDS_TEST\n#endif\n\n#ifndef GL_EXT_depth_bounds_test\n#define GL_EXT_depth_bounds_test 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_DEPTH_BOUNDS_TEST\n#define GL_DEPTH_BOUNDS_TEST_EXT 0x8890     /* 34960 */\n#define GL_DEPTH_BOUNDS_EXT      0x8891     /* 34961 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_DEPTH_BOUNDS_TEST\ntypedef void (REGAL_CALL *PFNGLDEPTHBOUNDSEXTPROC)(GLclampd zmin, GLclampd zmax);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_DEPTH_BOUNDS_TEST\n#define glDepthBoundsEXT                    rglDepthBoundsEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_DEPTH_BOUNDS_TEST\nREGAL_DECL void REGAL_CALL glDepthBoundsEXT(GLclampd zmin, GLclampd zmax);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_DEPTH_BOUNDS_TEST\nREGAL_DECL void REGAL_CALL plugin_glDepthBoundsEXT(GLclampd zmin, GLclampd zmax);\n#endif\n\n/**\n ** GL_EXT_direct_state_access\n **/\n\n#if (defined(GL_EXT_DIRECT_STATE_ACCESS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_DIRECT_STATE_ACCESS)) && !defined(REGAL_NO_ENUM_GL_EXT_DIRECT_STATE_ACCESS)\n#define REGAL_NO_ENUM_GL_EXT_DIRECT_STATE_ACCESS\n#endif\n\n#if (defined(GL_EXT_DIRECT_STATE_ACCESS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_DIRECT_STATE_ACCESS)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_DIRECT_STATE_ACCESS)\n#define REGAL_NO_TYPEDEF_GL_EXT_DIRECT_STATE_ACCESS\n#endif\n\n#if (defined(GL_EXT_DIRECT_STATE_ACCESS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_DIRECT_STATE_ACCESS)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_DIRECT_STATE_ACCESS)\n#define REGAL_NO_NAMESPACE_GL_EXT_DIRECT_STATE_ACCESS\n#endif\n\n#if (defined(GL_EXT_DIRECT_STATE_ACCESS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_DIRECT_STATE_ACCESS)) && !defined(REGAL_NO_PLUGIN_GL_EXT_DIRECT_STATE_ACCESS)\n#define REGAL_NO_PLUGIN_GL_EXT_DIRECT_STATE_ACCESS\n#endif\n\n#if (defined(GL_EXT_DIRECT_STATE_ACCESS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_DIRECT_STATE_ACCESS)) && !defined(REGAL_NO_DECLARATION_GL_EXT_DIRECT_STATE_ACCESS)\n#define REGAL_NO_DECLARATION_GL_EXT_DIRECT_STATE_ACCESS\n#endif\n\n#ifndef GL_EXT_direct_state_access\n#define GL_EXT_direct_state_access 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_DIRECT_STATE_ACCESS\n#define GL_PROGRAM_MATRIX_EXT             0x8e2d     /* 36397 */\n#define GL_TRANSPOSE_PROGRAM_MATRIX_EXT   0x8e2e     /* 36398 */\n#define GL_PROGRAM_MATRIX_STACK_DEPTH_EXT 0x8e2f     /* 36399 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_DIRECT_STATE_ACCESS\ntypedef GLboolean (REGAL_CALL *PFNGLUNMAPNAMEDBUFFEREXTPROC)(GLuint buffer);\ntypedef GLenum (REGAL_CALL *PFNGLCHECKNAMEDFRAMEBUFFERSTATUSEXTPROC)(GLuint framebuffer, GLenum target);\ntypedef GLvoid *(REGAL_CALL *PFNGLMAPNAMEDBUFFEREXTPROC)(GLuint buffer, GLenum access);\ntypedef GLvoid *(REGAL_CALL *PFNGLMAPNAMEDBUFFERRANGEEXTPROC)(GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access);\ntypedef void (REGAL_CALL *PFNGLBINDMULTITEXTUREEXTPROC)(GLenum texunit, GLenum target, GLuint texture);\ntypedef void (REGAL_CALL *PFNGLCLIENTATTRIBDEFAULTEXTPROC)(GLbitfield mask);\ntypedef void (REGAL_CALL *PFNGLCOMPRESSEDMULTITEXIMAGE1DEXTPROC)(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data);\ntypedef void (REGAL_CALL *PFNGLCOMPRESSEDMULTITEXIMAGE2DEXTPROC)(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *bits);\ntypedef void (REGAL_CALL *PFNGLCOMPRESSEDMULTITEXIMAGE3DEXTPROC)(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *bits);\ntypedef void (REGAL_CALL *PFNGLCOMPRESSEDMULTITEXSUBIMAGE1DEXTPROC)(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data);\ntypedef void (REGAL_CALL *PFNGLCOMPRESSEDMULTITEXSUBIMAGE2DEXTPROC)(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data);\ntypedef void (REGAL_CALL *PFNGLCOMPRESSEDMULTITEXSUBIMAGE3DEXTPROC)(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data);\ntypedef void (REGAL_CALL *PFNGLCOMPRESSEDTEXTUREIMAGE1DEXTPROC)(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *bits);\ntypedef void (REGAL_CALL *PFNGLCOMPRESSEDTEXTUREIMAGE2DEXTPROC)(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *bits);\ntypedef void (REGAL_CALL *PFNGLCOMPRESSEDTEXTUREIMAGE3DEXTPROC)(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *bits);\ntypedef void (REGAL_CALL *PFNGLCOMPRESSEDTEXTURESUBIMAGE1DEXTPROC)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *bits);\ntypedef void (REGAL_CALL *PFNGLCOMPRESSEDTEXTURESUBIMAGE2DEXTPROC)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *bits);\ntypedef void (REGAL_CALL *PFNGLCOMPRESSEDTEXTURESUBIMAGE3DEXTPROC)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *bits);\ntypedef void (REGAL_CALL *PFNGLCOPYMULTITEXIMAGE1DEXTPROC)(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);\ntypedef void (REGAL_CALL *PFNGLCOPYMULTITEXIMAGE2DEXTPROC)(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);\ntypedef void (REGAL_CALL *PFNGLCOPYMULTITEXSUBIMAGE1DEXTPROC)(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);\ntypedef void (REGAL_CALL *PFNGLCOPYMULTITEXSUBIMAGE2DEXTPROC)(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);\ntypedef void (REGAL_CALL *PFNGLCOPYMULTITEXSUBIMAGE3DEXTPROC)(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);\ntypedef void (REGAL_CALL *PFNGLCOPYTEXTUREIMAGE1DEXTPROC)(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);\ntypedef void (REGAL_CALL *PFNGLCOPYTEXTUREIMAGE2DEXTPROC)(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);\ntypedef void (REGAL_CALL *PFNGLCOPYTEXTURESUBIMAGE1DEXTPROC)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);\ntypedef void (REGAL_CALL *PFNGLCOPYTEXTURESUBIMAGE2DEXTPROC)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);\ntypedef void (REGAL_CALL *PFNGLCOPYTEXTURESUBIMAGE3DEXTPROC)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);\ntypedef void (REGAL_CALL *PFNGLDISABLECLIENTSTATEIEXTPROC)(GLenum array, GLuint index);\ntypedef void (REGAL_CALL *PFNGLDISABLECLIENTSTATEINDEXEDEXTPROC)(GLenum array, GLuint index);\ntypedef void (REGAL_CALL *PFNGLDISABLEVERTEXARRAYATTRIBEXTPROC)(GLuint vaobj, GLenum array);\ntypedef void (REGAL_CALL *PFNGLDISABLEVERTEXARRAYEXTPROC)(GLuint vaobj, GLenum array);\ntypedef void (REGAL_CALL *PFNGLENABLECLIENTSTATEIEXTPROC)(GLenum array, GLuint index);\ntypedef void (REGAL_CALL *PFNGLENABLECLIENTSTATEINDEXEDEXTPROC)(GLenum array, GLuint index);\ntypedef void (REGAL_CALL *PFNGLENABLEVERTEXARRAYATTRIBEXTPROC)(GLuint vaobj, GLenum array);\ntypedef void (REGAL_CALL *PFNGLENABLEVERTEXARRAYEXTPROC)(GLuint vaobj, GLenum array);\ntypedef void (REGAL_CALL *PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEEXTPROC)(GLuint buffer, GLintptr offset, GLsizeiptr length);\ntypedef void (REGAL_CALL *PFNGLFRAMEBUFFERDRAWBUFFEREXTPROC)(GLuint framebuffer, GLenum mode);\ntypedef void (REGAL_CALL *PFNGLFRAMEBUFFERDRAWBUFFERSEXTPROC)(GLuint framebuffer, GLsizei n, const GLenum *bufs);\ntypedef void (REGAL_CALL *PFNGLFRAMEBUFFERREADBUFFEREXTPROC)(GLuint framebuffer, GLenum mode);\ntypedef void (REGAL_CALL *PFNGLGENERATEMULTITEXMIPMAPEXTPROC)(GLenum texunit, GLenum target);\ntypedef void (REGAL_CALL *PFNGLGENERATETEXTUREMIPMAPEXTPROC)(GLuint texture, GLenum target);\ntypedef void (REGAL_CALL *PFNGLGETCOMPRESSEDMULTITEXIMAGEEXTPROC)(GLenum texunit, GLenum target, GLint lod, GLvoid *img);\ntypedef void (REGAL_CALL *PFNGLGETCOMPRESSEDTEXTUREIMAGEEXTPROC)(GLuint texture, GLenum target, GLint lod, GLvoid *img);\ntypedef void (REGAL_CALL *PFNGLGETDOUBLEINDEXEDVEXTPROC)(GLenum target, GLuint index, GLdouble *data);\ntypedef void (REGAL_CALL *PFNGLGETDOUBLEI_VEXTPROC)(GLenum target, GLuint index, GLdouble *data);\ntypedef void (REGAL_CALL *PFNGLGETFLOATINDEXEDVEXTPROC)(GLenum target, GLuint index, GLfloat *data);\ntypedef void (REGAL_CALL *PFNGLGETFLOATI_VEXTPROC)(GLenum target, GLuint index, GLfloat *data);\ntypedef void (REGAL_CALL *PFNGLGETFRAMEBUFFERPARAMETERIVEXTPROC)(GLuint framebuffer, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETMULTITEXENVFVEXTPROC)(GLenum texunit, GLenum target, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETMULTITEXENVIVEXTPROC)(GLenum texunit, GLenum target, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETMULTITEXGENDVEXTPROC)(GLenum texunit, GLenum coord, GLenum pname, GLdouble *params);\ntypedef void (REGAL_CALL *PFNGLGETMULTITEXGENFVEXTPROC)(GLenum texunit, GLenum coord, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETMULTITEXGENIVEXTPROC)(GLenum texunit, GLenum coord, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETMULTITEXIMAGEEXTPROC)(GLenum texunit, GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels);\ntypedef void (REGAL_CALL *PFNGLGETMULTITEXLEVELPARAMETERFVEXTPROC)(GLenum texunit, GLenum target, GLint level, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETMULTITEXLEVELPARAMETERIVEXTPROC)(GLenum texunit, GLenum target, GLint level, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETMULTITEXPARAMETERFVEXTPROC)(GLenum texunit, GLenum target, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETMULTITEXPARAMETERIIVEXTPROC)(GLenum texunit, GLenum target, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETMULTITEXPARAMETERIUIVEXTPROC)(GLenum texunit, GLenum target, GLenum pname, GLuint *params);\ntypedef void (REGAL_CALL *PFNGLGETMULTITEXPARAMETERIVEXTPROC)(GLenum texunit, GLenum target, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETNAMEDBUFFERPARAMETERIVEXTPROC)(GLuint buffer, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETNAMEDBUFFERPOINTERVEXTPROC)(GLuint buffer, GLenum pname, GLvoid **params);\ntypedef void (REGAL_CALL *PFNGLGETNAMEDBUFFERSUBDATAEXTPROC)(GLuint buffer, GLintptr offset, GLsizeiptr size, GLvoid *data);\ntypedef void (REGAL_CALL *PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC)(GLuint framebuffer, GLenum attachment, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETNAMEDPROGRAMIVEXTPROC)(GLuint program, GLenum target, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETNAMEDPROGRAMLOCALPARAMETERDVEXTPROC)(GLuint program, GLenum target, GLuint index, GLdouble *params);\ntypedef void (REGAL_CALL *PFNGLGETNAMEDPROGRAMLOCALPARAMETERFVEXTPROC)(GLuint program, GLenum target, GLuint index, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETNAMEDPROGRAMLOCALPARAMETERIIVEXTPROC)(GLuint program, GLenum target, GLuint index, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETNAMEDPROGRAMLOCALPARAMETERIUIVEXTPROC)(GLuint program, GLenum target, GLuint index, GLuint *params);\ntypedef void (REGAL_CALL *PFNGLGETNAMEDPROGRAMSTRINGEXTPROC)(GLuint program, GLenum target, GLenum pname, GLvoid *string);\ntypedef void (REGAL_CALL *PFNGLGETNAMEDRENDERBUFFERPARAMETERIVEXTPROC)(GLuint renderbuffer, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETPOINTERINDEXEDVEXTPROC)(GLenum target, GLuint index, GLvoid **data);\ntypedef void (REGAL_CALL *PFNGLGETPOINTERI_VEXTPROC)(GLenum pname, GLuint index, GLvoid **params);\ntypedef void (REGAL_CALL *PFNGLGETTEXTUREIMAGEEXTPROC)(GLuint texture, GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels);\ntypedef void (REGAL_CALL *PFNGLGETTEXTURELEVELPARAMETERFVEXTPROC)(GLuint texture, GLenum target, GLint level, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETTEXTURELEVELPARAMETERIVEXTPROC)(GLuint texture, GLenum target, GLint level, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETTEXTUREPARAMETERFVEXTPROC)(GLuint texture, GLenum target, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETTEXTUREPARAMETERIIVEXTPROC)(GLuint texture, GLenum target, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETTEXTUREPARAMETERIUIVEXTPROC)(GLuint texture, GLenum target, GLenum pname, GLuint *params);\ntypedef void (REGAL_CALL *PFNGLGETTEXTUREPARAMETERIVEXTPROC)(GLuint texture, GLenum target, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETVERTEXARRAYINTEGERI_VEXTPROC)(GLuint vaobj, GLuint index, GLenum pname, GLint *param);\ntypedef void (REGAL_CALL *PFNGLGETVERTEXARRAYINTEGERVEXTPROC)(GLuint vaobj, GLenum pname, GLint *param);\ntypedef void (REGAL_CALL *PFNGLGETVERTEXARRAYPOINTERI_VEXTPROC)(GLuint vaobj, GLuint index, GLenum pname, GLvoid **param);\ntypedef void (REGAL_CALL *PFNGLGETVERTEXARRAYPOINTERVEXTPROC)(GLuint vaobj, GLenum pname, GLvoid **param);\ntypedef void (REGAL_CALL *PFNGLMATRIXFRUSTUMEXTPROC)(GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);\ntypedef void (REGAL_CALL *PFNGLMATRIXLOADDEXTPROC)(GLenum mode, const GLdouble *m);\ntypedef void (REGAL_CALL *PFNGLMATRIXLOADFEXTPROC)(GLenum mode, const GLfloat *m);\ntypedef void (REGAL_CALL *PFNGLMATRIXLOADIDENTITYEXTPROC)(GLenum mode);\ntypedef void (REGAL_CALL *PFNGLMATRIXLOADTRANSPOSEDEXTPROC)(GLenum mode, const GLdouble *m);\ntypedef void (REGAL_CALL *PFNGLMATRIXLOADTRANSPOSEFEXTPROC)(GLenum mode, const GLfloat *m);\ntypedef void (REGAL_CALL *PFNGLMATRIXMULTDEXTPROC)(GLenum mode, const GLdouble *m);\ntypedef void (REGAL_CALL *PFNGLMATRIXMULTFEXTPROC)(GLenum mode, const GLfloat *m);\ntypedef void (REGAL_CALL *PFNGLMATRIXMULTTRANSPOSEDEXTPROC)(GLenum mode, const GLdouble *m);\ntypedef void (REGAL_CALL *PFNGLMATRIXMULTTRANSPOSEFEXTPROC)(GLenum mode, const GLfloat *m);\ntypedef void (REGAL_CALL *PFNGLMATRIXORTHOEXTPROC)(GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);\ntypedef void (REGAL_CALL *PFNGLMATRIXPOPEXTPROC)(GLenum mode);\ntypedef void (REGAL_CALL *PFNGLMATRIXPUSHEXTPROC)(GLenum mode);\ntypedef void (REGAL_CALL *PFNGLMATRIXROTATEDEXTPROC)(GLenum mode, GLdouble angle, GLdouble x, GLdouble y, GLdouble z);\ntypedef void (REGAL_CALL *PFNGLMATRIXROTATEFEXTPROC)(GLenum mode, GLfloat angle, GLfloat x, GLfloat y, GLfloat z);\ntypedef void (REGAL_CALL *PFNGLMATRIXSCALEDEXTPROC)(GLenum mode, GLdouble x, GLdouble y, GLdouble z);\ntypedef void (REGAL_CALL *PFNGLMATRIXSCALEFEXTPROC)(GLenum mode, GLfloat x, GLfloat y, GLfloat z);\ntypedef void (REGAL_CALL *PFNGLMATRIXTRANSLATEDEXTPROC)(GLenum mode, GLdouble x, GLdouble y, GLdouble z);\ntypedef void (REGAL_CALL *PFNGLMATRIXTRANSLATEFEXTPROC)(GLenum mode, GLfloat x, GLfloat y, GLfloat z);\ntypedef void (REGAL_CALL *PFNGLMULTITEXBUFFEREXTPROC)(GLenum texunit, GLenum target, GLenum internalformat, GLuint buffer);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORDPOINTEREXTPROC)(GLenum texunit, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);\ntypedef void (REGAL_CALL *PFNGLMULTITEXENVFEXTPROC)(GLenum texunit, GLenum target, GLenum pname, GLfloat param);\ntypedef void (REGAL_CALL *PFNGLMULTITEXENVFVEXTPROC)(GLenum texunit, GLenum target, GLenum pname, const GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLMULTITEXENVIEXTPROC)(GLenum texunit, GLenum target, GLenum pname, GLint param);\ntypedef void (REGAL_CALL *PFNGLMULTITEXENVIVEXTPROC)(GLenum texunit, GLenum target, GLenum pname, const GLint *params);\ntypedef void (REGAL_CALL *PFNGLMULTITEXGENDEXTPROC)(GLenum texunit, GLenum coord, GLenum pname, GLdouble param);\ntypedef void (REGAL_CALL *PFNGLMULTITEXGENDVEXTPROC)(GLenum texunit, GLenum coord, GLenum pname, const GLdouble *params);\ntypedef void (REGAL_CALL *PFNGLMULTITEXGENFEXTPROC)(GLenum texunit, GLenum coord, GLenum pname, GLfloat param);\ntypedef void (REGAL_CALL *PFNGLMULTITEXGENFVEXTPROC)(GLenum texunit, GLenum coord, GLenum pname, const GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLMULTITEXGENIEXTPROC)(GLenum texunit, GLenum coord, GLenum pname, GLint param);\ntypedef void (REGAL_CALL *PFNGLMULTITEXGENIVEXTPROC)(GLenum texunit, GLenum coord, GLenum pname, const GLint *params);\ntypedef void (REGAL_CALL *PFNGLMULTITEXIMAGE1DEXTPROC)(GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels);\ntypedef void (REGAL_CALL *PFNGLMULTITEXIMAGE2DEXTPROC)(GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels);\ntypedef void (REGAL_CALL *PFNGLMULTITEXIMAGE3DEXTPROC)(GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);\ntypedef void (REGAL_CALL *PFNGLMULTITEXPARAMETERFEXTPROC)(GLenum texunit, GLenum target, GLenum pname, GLfloat param);\ntypedef void (REGAL_CALL *PFNGLMULTITEXPARAMETERFVEXTPROC)(GLenum texunit, GLenum target, GLenum pname, const GLfloat *param);\ntypedef void (REGAL_CALL *PFNGLMULTITEXPARAMETERIEXTPROC)(GLenum texunit, GLenum target, GLenum pname, GLint param);\ntypedef void (REGAL_CALL *PFNGLMULTITEXPARAMETERIIVEXTPROC)(GLenum texunit, GLenum target, GLenum pname, const GLint *params);\ntypedef void (REGAL_CALL *PFNGLMULTITEXPARAMETERIUIVEXTPROC)(GLenum texunit, GLenum target, GLenum pname, const GLuint *params);\ntypedef void (REGAL_CALL *PFNGLMULTITEXPARAMETERIVEXTPROC)(GLenum texunit, GLenum target, GLenum pname, const GLint *param);\ntypedef void (REGAL_CALL *PFNGLMULTITEXRENDERBUFFEREXTPROC)(GLenum texunit, GLenum target, GLuint renderbuffer);\ntypedef void (REGAL_CALL *PFNGLMULTITEXSUBIMAGE1DEXTPROC)(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);\ntypedef void (REGAL_CALL *PFNGLMULTITEXSUBIMAGE2DEXTPROC)(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);\ntypedef void (REGAL_CALL *PFNGLMULTITEXSUBIMAGE3DEXTPROC)(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);\ntypedef void (REGAL_CALL *PFNGLNAMEDBUFFERDATAEXTPROC)(GLuint buffer, GLsizeiptr size, const GLvoid *data, GLenum usage);\ntypedef void (REGAL_CALL *PFNGLNAMEDBUFFERSUBDATAEXTPROC)(GLuint buffer, GLintptr offset, GLsizeiptr size, const GLvoid *data);\ntypedef void (REGAL_CALL *PFNGLNAMEDCOPYBUFFERSUBDATAEXTPROC)(GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);\ntypedef void (REGAL_CALL *PFNGLNAMEDFRAMEBUFFERRENDERBUFFEREXTPROC)(GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);\ntypedef void (REGAL_CALL *PFNGLNAMEDFRAMEBUFFERTEXTURE1DEXTPROC)(GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level);\ntypedef void (REGAL_CALL *PFNGLNAMEDFRAMEBUFFERTEXTURE2DEXTPROC)(GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level);\ntypedef void (REGAL_CALL *PFNGLNAMEDFRAMEBUFFERTEXTURE3DEXTPROC)(GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);\ntypedef void (REGAL_CALL *PFNGLNAMEDFRAMEBUFFERTEXTUREEXTPROC)(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level);\ntypedef void (REGAL_CALL *PFNGLNAMEDFRAMEBUFFERTEXTUREFACEEXTPROC)(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLenum face);\ntypedef void (REGAL_CALL *PFNGLNAMEDFRAMEBUFFERTEXTURELAYEREXTPROC)(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer);\ntypedef void (REGAL_CALL *PFNGLNAMEDPROGRAMLOCALPARAMETER4DEXTPROC)(GLuint program, GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\ntypedef void (REGAL_CALL *PFNGLNAMEDPROGRAMLOCALPARAMETER4DVEXTPROC)(GLuint program, GLenum target, GLuint index, const GLdouble *params);\ntypedef void (REGAL_CALL *PFNGLNAMEDPROGRAMLOCALPARAMETER4FEXTPROC)(GLuint program, GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\ntypedef void (REGAL_CALL *PFNGLNAMEDPROGRAMLOCALPARAMETER4FVEXTPROC)(GLuint program, GLenum target, GLuint index, const GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLNAMEDPROGRAMLOCALPARAMETERI4IEXTPROC)(GLuint program, GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w);\ntypedef void (REGAL_CALL *PFNGLNAMEDPROGRAMLOCALPARAMETERI4IVEXTPROC)(GLuint program, GLenum target, GLuint index, const GLint *params);\ntypedef void (REGAL_CALL *PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIEXTPROC)(GLuint program, GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);\ntypedef void (REGAL_CALL *PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIVEXTPROC)(GLuint program, GLenum target, GLuint index, const GLuint *params);\ntypedef void (REGAL_CALL *PFNGLNAMEDPROGRAMLOCALPARAMETERS4FVEXTPROC)(GLuint program, GLenum target, GLuint index, GLsizei count, const GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLNAMEDPROGRAMLOCALPARAMETERSI4IVEXTPROC)(GLuint program, GLenum target, GLuint index, GLsizei count, const GLint *params);\ntypedef void (REGAL_CALL *PFNGLNAMEDPROGRAMLOCALPARAMETERSI4UIVEXTPROC)(GLuint program, GLenum target, GLuint index, GLsizei count, const GLuint *params);\ntypedef void (REGAL_CALL *PFNGLNAMEDPROGRAMSTRINGEXTPROC)(GLuint program, GLenum target, GLenum format, GLsizei len, const GLvoid *string);\ntypedef void (REGAL_CALL *PFNGLNAMEDRENDERBUFFERSTORAGEEXTPROC)(GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height);\ntypedef void (REGAL_CALL *PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLECOVERAGEEXTPROC)(GLuint renderbuffer, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height);\ntypedef void (REGAL_CALL *PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC)(GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM1DEXTPROC)(GLuint program, GLint location, GLdouble x);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM1DVEXTPROC)(GLuint program, GLint location, GLsizei count, const GLdouble *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM1FEXTPROC)(GLuint program, GLint location, GLfloat v0);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM1FVEXTPROC)(GLuint program, GLint location, GLsizei count, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM1IEXTPROC)(GLuint program, GLint location, GLint v0);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM1IVEXTPROC)(GLuint program, GLint location, GLsizei count, const GLint *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM1UIEXTPROC)(GLuint program, GLint location, GLuint v0);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM1UIVEXTPROC)(GLuint program, GLint location, GLsizei count, const GLuint *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM2DEXTPROC)(GLuint program, GLint location, GLdouble x, GLdouble y);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM2DVEXTPROC)(GLuint program, GLint location, GLsizei count, const GLdouble *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM2FEXTPROC)(GLuint program, GLint location, GLfloat v0, GLfloat v1);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM2FVEXTPROC)(GLuint program, GLint location, GLsizei count, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM2IEXTPROC)(GLuint program, GLint location, GLint v0, GLint v1);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM2IVEXTPROC)(GLuint program, GLint location, GLsizei count, const GLint *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM2UIEXTPROC)(GLuint program, GLint location, GLuint v0, GLuint v1);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM2UIVEXTPROC)(GLuint program, GLint location, GLsizei count, const GLuint *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM3DEXTPROC)(GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM3DVEXTPROC)(GLuint program, GLint location, GLsizei count, const GLdouble *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM3FEXTPROC)(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM3FVEXTPROC)(GLuint program, GLint location, GLsizei count, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM3IEXTPROC)(GLuint program, GLint location, GLint v0, GLint v1, GLint v2);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM3IVEXTPROC)(GLuint program, GLint location, GLsizei count, const GLint *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM3UIEXTPROC)(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM3UIVEXTPROC)(GLuint program, GLint location, GLsizei count, const GLuint *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM4DEXTPROC)(GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM4DVEXTPROC)(GLuint program, GLint location, GLsizei count, const GLdouble *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM4FEXTPROC)(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM4FVEXTPROC)(GLuint program, GLint location, GLsizei count, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM4IEXTPROC)(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM4IVEXTPROC)(GLuint program, GLint location, GLsizei count, const GLint *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM4UIEXTPROC)(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM4UIVEXTPROC)(GLuint program, GLint location, GLsizei count, const GLuint *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMMATRIX2DVEXTPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMMATRIX2X3DVEXTPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMMATRIX2X3FVEXTPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMMATRIX2X4DVEXTPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMMATRIX2X4FVEXTPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMMATRIX3DVEXTPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMMATRIX3X2DVEXTPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMMATRIX3X2FVEXTPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMMATRIX3X4DVEXTPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMMATRIX3X4FVEXTPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMMATRIX4DVEXTPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMMATRIX4X2DVEXTPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMMATRIX4X2FVEXTPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMMATRIX4X3DVEXTPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMMATRIX4X3FVEXTPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLPUSHCLIENTATTRIBDEFAULTEXTPROC)(GLbitfield mask);\ntypedef void (REGAL_CALL *PFNGLTEXTUREBUFFEREXTPROC)(GLuint texture, GLenum target, GLenum internalformat, GLuint buffer);\ntypedef void (REGAL_CALL *PFNGLTEXTUREIMAGE1DEXTPROC)(GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels);\ntypedef void (REGAL_CALL *PFNGLTEXTUREIMAGE2DEXTPROC)(GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels);\ntypedef void (REGAL_CALL *PFNGLTEXTUREIMAGE3DEXTPROC)(GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);\ntypedef void (REGAL_CALL *PFNGLTEXTUREPARAMETERFEXTPROC)(GLuint texture, GLenum target, GLenum pname, GLfloat param);\ntypedef void (REGAL_CALL *PFNGLTEXTUREPARAMETERFVEXTPROC)(GLuint texture, GLenum target, GLenum pname, const GLfloat *param);\ntypedef void (REGAL_CALL *PFNGLTEXTUREPARAMETERIEXTPROC)(GLuint texture, GLenum target, GLenum pname, GLint param);\ntypedef void (REGAL_CALL *PFNGLTEXTUREPARAMETERIIVEXTPROC)(GLuint texture, GLenum target, GLenum pname, const GLint *params);\ntypedef void (REGAL_CALL *PFNGLTEXTUREPARAMETERIUIVEXTPROC)(GLuint texture, GLenum target, GLenum pname, const GLuint *params);\ntypedef void (REGAL_CALL *PFNGLTEXTUREPARAMETERIVEXTPROC)(GLuint texture, GLenum target, GLenum pname, const GLint *param);\ntypedef void (REGAL_CALL *PFNGLTEXTURERENDERBUFFEREXTPROC)(GLuint texture, GLenum target, GLuint renderbuffer);\ntypedef void (REGAL_CALL *PFNGLTEXTURESUBIMAGE1DEXTPROC)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);\ntypedef void (REGAL_CALL *PFNGLTEXTURESUBIMAGE2DEXTPROC)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);\ntypedef void (REGAL_CALL *PFNGLTEXTURESUBIMAGE3DEXTPROC)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);\ntypedef void (REGAL_CALL *PFNGLVERTEXARRAYCOLOROFFSETEXTPROC)(GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, const GLintptr offset);\ntypedef void (REGAL_CALL *PFNGLVERTEXARRAYEDGEFLAGOFFSETEXTPROC)(GLuint vaobj, GLuint buffer, GLsizei stride, const GLintptr offset);\ntypedef void (REGAL_CALL *PFNGLVERTEXARRAYFOGCOORDOFFSETEXTPROC)(GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, const GLintptr offset);\ntypedef void (REGAL_CALL *PFNGLVERTEXARRAYINDEXOFFSETEXTPROC)(GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, const GLintptr offset);\ntypedef void (REGAL_CALL *PFNGLVERTEXARRAYMULTITEXCOORDOFFSETEXTPROC)(GLuint vaobj, GLuint buffer, GLenum texunit, GLint size, GLenum type, GLsizei stride, const GLintptr offset);\ntypedef void (REGAL_CALL *PFNGLVERTEXARRAYNORMALOFFSETEXTPROC)(GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, const GLintptr offset);\ntypedef void (REGAL_CALL *PFNGLVERTEXARRAYSECONDARYCOLOROFFSETEXTPROC)(GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, const GLintptr offset);\ntypedef void (REGAL_CALL *PFNGLVERTEXARRAYTEXCOORDOFFSETEXTPROC)(GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, const GLintptr offset);\ntypedef void (REGAL_CALL *PFNGLVERTEXARRAYVERTEXATTRIBIOFFSETEXTPROC)(GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLsizei stride, const GLintptr offset);\ntypedef void (REGAL_CALL *PFNGLVERTEXARRAYVERTEXATTRIBOFFSETEXTPROC)(GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLintptr offset);\ntypedef void (REGAL_CALL *PFNGLVERTEXARRAYVERTEXOFFSETEXTPROC)(GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, const GLintptr offset);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_DIRECT_STATE_ACCESS\n#define glBindMultiTextureEXT               rglBindMultiTextureEXT\n#define glCheckNamedFramebufferStatusEXT    rglCheckNamedFramebufferStatusEXT\n#define glClientAttribDefaultEXT            rglClientAttribDefaultEXT\n#define glCompressedMultiTexImage1DEXT      rglCompressedMultiTexImage1DEXT\n#define glCompressedMultiTexImage2DEXT      rglCompressedMultiTexImage2DEXT\n#define glCompressedMultiTexImage3DEXT      rglCompressedMultiTexImage3DEXT\n#define glCompressedMultiTexSubImage1DEXT   rglCompressedMultiTexSubImage1DEXT\n#define glCompressedMultiTexSubImage2DEXT   rglCompressedMultiTexSubImage2DEXT\n#define glCompressedMultiTexSubImage3DEXT   rglCompressedMultiTexSubImage3DEXT\n#define glCompressedTextureImage1DEXT       rglCompressedTextureImage1DEXT\n#define glCompressedTextureImage2DEXT       rglCompressedTextureImage2DEXT\n#define glCompressedTextureImage3DEXT       rglCompressedTextureImage3DEXT\n#define glCompressedTextureSubImage1DEXT    rglCompressedTextureSubImage1DEXT\n#define glCompressedTextureSubImage2DEXT    rglCompressedTextureSubImage2DEXT\n#define glCompressedTextureSubImage3DEXT    rglCompressedTextureSubImage3DEXT\n#define glCopyMultiTexImage1DEXT            rglCopyMultiTexImage1DEXT\n#define glCopyMultiTexImage2DEXT            rglCopyMultiTexImage2DEXT\n#define glCopyMultiTexSubImage1DEXT         rglCopyMultiTexSubImage1DEXT\n#define glCopyMultiTexSubImage2DEXT         rglCopyMultiTexSubImage2DEXT\n#define glCopyMultiTexSubImage3DEXT         rglCopyMultiTexSubImage3DEXT\n#define glCopyTextureImage1DEXT             rglCopyTextureImage1DEXT\n#define glCopyTextureImage2DEXT             rglCopyTextureImage2DEXT\n#define glCopyTextureSubImage1DEXT          rglCopyTextureSubImage1DEXT\n#define glCopyTextureSubImage2DEXT          rglCopyTextureSubImage2DEXT\n#define glCopyTextureSubImage3DEXT          rglCopyTextureSubImage3DEXT\n#define glDisableClientStateIndexedEXT      rglDisableClientStateIndexedEXT\n#define glDisableClientStateiEXT            rglDisableClientStateiEXT\n#define glDisableVertexArrayAttribEXT       rglDisableVertexArrayAttribEXT\n#define glDisableVertexArrayEXT             rglDisableVertexArrayEXT\n#define glEnableClientStateIndexedEXT       rglEnableClientStateIndexedEXT\n#define glEnableClientStateiEXT             rglEnableClientStateiEXT\n#define glEnableVertexArrayAttribEXT        rglEnableVertexArrayAttribEXT\n#define glEnableVertexArrayEXT              rglEnableVertexArrayEXT\n#define glFlushMappedNamedBufferRangeEXT    rglFlushMappedNamedBufferRangeEXT\n#define glFramebufferDrawBufferEXT          rglFramebufferDrawBufferEXT\n#define glFramebufferDrawBuffersEXT         rglFramebufferDrawBuffersEXT\n#define glFramebufferReadBufferEXT          rglFramebufferReadBufferEXT\n#define glGenerateMultiTexMipmapEXT         rglGenerateMultiTexMipmapEXT\n#define glGenerateTextureMipmapEXT          rglGenerateTextureMipmapEXT\n#define glGetCompressedMultiTexImageEXT     rglGetCompressedMultiTexImageEXT\n#define glGetCompressedTextureImageEXT      rglGetCompressedTextureImageEXT\n#define glGetDoubleIndexedvEXT              rglGetDoubleIndexedvEXT\n#define glGetDoublei_vEXT                   rglGetDoublei_vEXT\n#define glGetFloatIndexedvEXT               rglGetFloatIndexedvEXT\n#define glGetFloati_vEXT                    rglGetFloati_vEXT\n#define glGetFramebufferParameterivEXT      rglGetFramebufferParameterivEXT\n#define glGetMultiTexEnvfvEXT               rglGetMultiTexEnvfvEXT\n#define glGetMultiTexEnvivEXT               rglGetMultiTexEnvivEXT\n#define glGetMultiTexGendvEXT               rglGetMultiTexGendvEXT\n#define glGetMultiTexGenfvEXT               rglGetMultiTexGenfvEXT\n#define glGetMultiTexGenivEXT               rglGetMultiTexGenivEXT\n#define glGetMultiTexImageEXT               rglGetMultiTexImageEXT\n#define glGetMultiTexLevelParameterfvEXT    rglGetMultiTexLevelParameterfvEXT\n#define glGetMultiTexLevelParameterivEXT    rglGetMultiTexLevelParameterivEXT\n#define glGetMultiTexParameterIivEXT        rglGetMultiTexParameterIivEXT\n#define glGetMultiTexParameterIuivEXT       rglGetMultiTexParameterIuivEXT\n#define glGetMultiTexParameterfvEXT         rglGetMultiTexParameterfvEXT\n#define glGetMultiTexParameterivEXT         rglGetMultiTexParameterivEXT\n#define glGetNamedBufferParameterivEXT      rglGetNamedBufferParameterivEXT\n#define glGetNamedBufferPointervEXT         rglGetNamedBufferPointervEXT\n#define glGetNamedBufferSubDataEXT          rglGetNamedBufferSubDataEXT\n#define glGetNamedFramebufferAttachmentParameterivEXT rglGetNamedFramebufferAttachmentParameterivEXT\n#define glGetNamedProgramLocalParameterIivEXT rglGetNamedProgramLocalParameterIivEXT\n#define glGetNamedProgramLocalParameterIuivEXT rglGetNamedProgramLocalParameterIuivEXT\n#define glGetNamedProgramLocalParameterdvEXT rglGetNamedProgramLocalParameterdvEXT\n#define glGetNamedProgramLocalParameterfvEXT rglGetNamedProgramLocalParameterfvEXT\n#define glGetNamedProgramStringEXT          rglGetNamedProgramStringEXT\n#define glGetNamedProgramivEXT              rglGetNamedProgramivEXT\n#define glGetNamedRenderbufferParameterivEXT rglGetNamedRenderbufferParameterivEXT\n#define glGetPointerIndexedvEXT             rglGetPointerIndexedvEXT\n#define glGetPointeri_vEXT                  rglGetPointeri_vEXT\n#define glGetTextureImageEXT                rglGetTextureImageEXT\n#define glGetTextureLevelParameterfvEXT     rglGetTextureLevelParameterfvEXT\n#define glGetTextureLevelParameterivEXT     rglGetTextureLevelParameterivEXT\n#define glGetTextureParameterIivEXT         rglGetTextureParameterIivEXT\n#define glGetTextureParameterIuivEXT        rglGetTextureParameterIuivEXT\n#define glGetTextureParameterfvEXT          rglGetTextureParameterfvEXT\n#define glGetTextureParameterivEXT          rglGetTextureParameterivEXT\n#define glGetVertexArrayIntegeri_vEXT       rglGetVertexArrayIntegeri_vEXT\n#define glGetVertexArrayIntegervEXT         rglGetVertexArrayIntegervEXT\n#define glGetVertexArrayPointeri_vEXT       rglGetVertexArrayPointeri_vEXT\n#define glGetVertexArrayPointervEXT         rglGetVertexArrayPointervEXT\n#define glMapNamedBufferEXT                 rglMapNamedBufferEXT\n#define glMapNamedBufferRangeEXT            rglMapNamedBufferRangeEXT\n#define glMatrixFrustumEXT                  rglMatrixFrustumEXT\n#define glMatrixLoadIdentityEXT             rglMatrixLoadIdentityEXT\n#define glMatrixLoadTransposedEXT           rglMatrixLoadTransposedEXT\n#define glMatrixLoadTransposefEXT           rglMatrixLoadTransposefEXT\n#define glMatrixLoaddEXT                    rglMatrixLoaddEXT\n#define glMatrixLoadfEXT                    rglMatrixLoadfEXT\n#define glMatrixMultTransposedEXT           rglMatrixMultTransposedEXT\n#define glMatrixMultTransposefEXT           rglMatrixMultTransposefEXT\n#define glMatrixMultdEXT                    rglMatrixMultdEXT\n#define glMatrixMultfEXT                    rglMatrixMultfEXT\n#define glMatrixOrthoEXT                    rglMatrixOrthoEXT\n#define glMatrixPopEXT                      rglMatrixPopEXT\n#define glMatrixPushEXT                     rglMatrixPushEXT\n#define glMatrixRotatedEXT                  rglMatrixRotatedEXT\n#define glMatrixRotatefEXT                  rglMatrixRotatefEXT\n#define glMatrixScaledEXT                   rglMatrixScaledEXT\n#define glMatrixScalefEXT                   rglMatrixScalefEXT\n#define glMatrixTranslatedEXT               rglMatrixTranslatedEXT\n#define glMatrixTranslatefEXT               rglMatrixTranslatefEXT\n#define glMultiTexBufferEXT                 rglMultiTexBufferEXT\n#define glMultiTexCoordPointerEXT           rglMultiTexCoordPointerEXT\n#define glMultiTexEnvfEXT                   rglMultiTexEnvfEXT\n#define glMultiTexEnvfvEXT                  rglMultiTexEnvfvEXT\n#define glMultiTexEnviEXT                   rglMultiTexEnviEXT\n#define glMultiTexEnvivEXT                  rglMultiTexEnvivEXT\n#define glMultiTexGendEXT                   rglMultiTexGendEXT\n#define glMultiTexGendvEXT                  rglMultiTexGendvEXT\n#define glMultiTexGenfEXT                   rglMultiTexGenfEXT\n#define glMultiTexGenfvEXT                  rglMultiTexGenfvEXT\n#define glMultiTexGeniEXT                   rglMultiTexGeniEXT\n#define glMultiTexGenivEXT                  rglMultiTexGenivEXT\n#define glMultiTexImage1DEXT                rglMultiTexImage1DEXT\n#define glMultiTexImage2DEXT                rglMultiTexImage2DEXT\n#define glMultiTexImage3DEXT                rglMultiTexImage3DEXT\n#define glMultiTexParameterIivEXT           rglMultiTexParameterIivEXT\n#define glMultiTexParameterIuivEXT          rglMultiTexParameterIuivEXT\n#define glMultiTexParameterfEXT             rglMultiTexParameterfEXT\n#define glMultiTexParameterfvEXT            rglMultiTexParameterfvEXT\n#define glMultiTexParameteriEXT             rglMultiTexParameteriEXT\n#define glMultiTexParameterivEXT            rglMultiTexParameterivEXT\n#define glMultiTexRenderbufferEXT           rglMultiTexRenderbufferEXT\n#define glMultiTexSubImage1DEXT             rglMultiTexSubImage1DEXT\n#define glMultiTexSubImage2DEXT             rglMultiTexSubImage2DEXT\n#define glMultiTexSubImage3DEXT             rglMultiTexSubImage3DEXT\n#define glNamedBufferDataEXT                rglNamedBufferDataEXT\n#define glNamedBufferSubDataEXT             rglNamedBufferSubDataEXT\n#define glNamedCopyBufferSubDataEXT         rglNamedCopyBufferSubDataEXT\n#define glNamedFramebufferRenderbufferEXT   rglNamedFramebufferRenderbufferEXT\n#define glNamedFramebufferTexture1DEXT      rglNamedFramebufferTexture1DEXT\n#define glNamedFramebufferTexture2DEXT      rglNamedFramebufferTexture2DEXT\n#define glNamedFramebufferTexture3DEXT      rglNamedFramebufferTexture3DEXT\n#define glNamedFramebufferTextureEXT        rglNamedFramebufferTextureEXT\n#define glNamedFramebufferTextureFaceEXT    rglNamedFramebufferTextureFaceEXT\n#define glNamedFramebufferTextureLayerEXT   rglNamedFramebufferTextureLayerEXT\n#define glNamedProgramLocalParameter4dEXT   rglNamedProgramLocalParameter4dEXT\n#define glNamedProgramLocalParameter4dvEXT  rglNamedProgramLocalParameter4dvEXT\n#define glNamedProgramLocalParameter4fEXT   rglNamedProgramLocalParameter4fEXT\n#define glNamedProgramLocalParameter4fvEXT  rglNamedProgramLocalParameter4fvEXT\n#define glNamedProgramLocalParameterI4iEXT  rglNamedProgramLocalParameterI4iEXT\n#define glNamedProgramLocalParameterI4ivEXT rglNamedProgramLocalParameterI4ivEXT\n#define glNamedProgramLocalParameterI4uiEXT rglNamedProgramLocalParameterI4uiEXT\n#define glNamedProgramLocalParameterI4uivEXT rglNamedProgramLocalParameterI4uivEXT\n#define glNamedProgramLocalParameters4fvEXT rglNamedProgramLocalParameters4fvEXT\n#define glNamedProgramLocalParametersI4ivEXT rglNamedProgramLocalParametersI4ivEXT\n#define glNamedProgramLocalParametersI4uivEXT rglNamedProgramLocalParametersI4uivEXT\n#define glNamedProgramStringEXT             rglNamedProgramStringEXT\n#define glNamedRenderbufferStorageEXT       rglNamedRenderbufferStorageEXT\n#define glNamedRenderbufferStorageMultisampleCoverageEXT rglNamedRenderbufferStorageMultisampleCoverageEXT\n#define glNamedRenderbufferStorageMultisampleEXT rglNamedRenderbufferStorageMultisampleEXT\n#define glProgramUniform1dEXT               rglProgramUniform1dEXT\n#define glProgramUniform1dvEXT              rglProgramUniform1dvEXT\n#define glProgramUniform1fEXT               rglProgramUniform1fEXT\n#define glProgramUniform1fvEXT              rglProgramUniform1fvEXT\n#define glProgramUniform1iEXT               rglProgramUniform1iEXT\n#define glProgramUniform1ivEXT              rglProgramUniform1ivEXT\n#define glProgramUniform1uiEXT              rglProgramUniform1uiEXT\n#define glProgramUniform1uivEXT             rglProgramUniform1uivEXT\n#define glProgramUniform2dEXT               rglProgramUniform2dEXT\n#define glProgramUniform2dvEXT              rglProgramUniform2dvEXT\n#define glProgramUniform2fEXT               rglProgramUniform2fEXT\n#define glProgramUniform2fvEXT              rglProgramUniform2fvEXT\n#define glProgramUniform2iEXT               rglProgramUniform2iEXT\n#define glProgramUniform2ivEXT              rglProgramUniform2ivEXT\n#define glProgramUniform2uiEXT              rglProgramUniform2uiEXT\n#define glProgramUniform2uivEXT             rglProgramUniform2uivEXT\n#define glProgramUniform3dEXT               rglProgramUniform3dEXT\n#define glProgramUniform3dvEXT              rglProgramUniform3dvEXT\n#define glProgramUniform3fEXT               rglProgramUniform3fEXT\n#define glProgramUniform3fvEXT              rglProgramUniform3fvEXT\n#define glProgramUniform3iEXT               rglProgramUniform3iEXT\n#define glProgramUniform3ivEXT              rglProgramUniform3ivEXT\n#define glProgramUniform3uiEXT              rglProgramUniform3uiEXT\n#define glProgramUniform3uivEXT             rglProgramUniform3uivEXT\n#define glProgramUniform4dEXT               rglProgramUniform4dEXT\n#define glProgramUniform4dvEXT              rglProgramUniform4dvEXT\n#define glProgramUniform4fEXT               rglProgramUniform4fEXT\n#define glProgramUniform4fvEXT              rglProgramUniform4fvEXT\n#define glProgramUniform4iEXT               rglProgramUniform4iEXT\n#define glProgramUniform4ivEXT              rglProgramUniform4ivEXT\n#define glProgramUniform4uiEXT              rglProgramUniform4uiEXT\n#define glProgramUniform4uivEXT             rglProgramUniform4uivEXT\n#define glProgramUniformMatrix2dvEXT        rglProgramUniformMatrix2dvEXT\n#define glProgramUniformMatrix2fvEXT        rglProgramUniformMatrix2fvEXT\n#define glProgramUniformMatrix2x3dvEXT      rglProgramUniformMatrix2x3dvEXT\n#define glProgramUniformMatrix2x3fvEXT      rglProgramUniformMatrix2x3fvEXT\n#define glProgramUniformMatrix2x4dvEXT      rglProgramUniformMatrix2x4dvEXT\n#define glProgramUniformMatrix2x4fvEXT      rglProgramUniformMatrix2x4fvEXT\n#define glProgramUniformMatrix3dvEXT        rglProgramUniformMatrix3dvEXT\n#define glProgramUniformMatrix3fvEXT        rglProgramUniformMatrix3fvEXT\n#define glProgramUniformMatrix3x2dvEXT      rglProgramUniformMatrix3x2dvEXT\n#define glProgramUniformMatrix3x2fvEXT      rglProgramUniformMatrix3x2fvEXT\n#define glProgramUniformMatrix3x4dvEXT      rglProgramUniformMatrix3x4dvEXT\n#define glProgramUniformMatrix3x4fvEXT      rglProgramUniformMatrix3x4fvEXT\n#define glProgramUniformMatrix4dvEXT        rglProgramUniformMatrix4dvEXT\n#define glProgramUniformMatrix4fvEXT        rglProgramUniformMatrix4fvEXT\n#define glProgramUniformMatrix4x2dvEXT      rglProgramUniformMatrix4x2dvEXT\n#define glProgramUniformMatrix4x2fvEXT      rglProgramUniformMatrix4x2fvEXT\n#define glProgramUniformMatrix4x3dvEXT      rglProgramUniformMatrix4x3dvEXT\n#define glProgramUniformMatrix4x3fvEXT      rglProgramUniformMatrix4x3fvEXT\n#define glPushClientAttribDefaultEXT        rglPushClientAttribDefaultEXT\n#define glTextureBufferEXT                  rglTextureBufferEXT\n#define glTextureImage1DEXT                 rglTextureImage1DEXT\n#define glTextureImage2DEXT                 rglTextureImage2DEXT\n#define glTextureImage3DEXT                 rglTextureImage3DEXT\n#define glTextureParameterIivEXT            rglTextureParameterIivEXT\n#define glTextureParameterIuivEXT           rglTextureParameterIuivEXT\n#define glTextureParameterfEXT              rglTextureParameterfEXT\n#define glTextureParameterfvEXT             rglTextureParameterfvEXT\n#define glTextureParameteriEXT              rglTextureParameteriEXT\n#define glTextureParameterivEXT             rglTextureParameterivEXT\n#define glTextureRenderbufferEXT            rglTextureRenderbufferEXT\n#define glTextureSubImage1DEXT              rglTextureSubImage1DEXT\n#define glTextureSubImage2DEXT              rglTextureSubImage2DEXT\n#define glTextureSubImage3DEXT              rglTextureSubImage3DEXT\n#define glUnmapNamedBufferEXT               rglUnmapNamedBufferEXT\n#define glVertexArrayColorOffsetEXT         rglVertexArrayColorOffsetEXT\n#define glVertexArrayEdgeFlagOffsetEXT      rglVertexArrayEdgeFlagOffsetEXT\n#define glVertexArrayFogCoordOffsetEXT      rglVertexArrayFogCoordOffsetEXT\n#define glVertexArrayIndexOffsetEXT         rglVertexArrayIndexOffsetEXT\n#define glVertexArrayMultiTexCoordOffsetEXT rglVertexArrayMultiTexCoordOffsetEXT\n#define glVertexArrayNormalOffsetEXT        rglVertexArrayNormalOffsetEXT\n#define glVertexArraySecondaryColorOffsetEXT rglVertexArraySecondaryColorOffsetEXT\n#define glVertexArrayTexCoordOffsetEXT      rglVertexArrayTexCoordOffsetEXT\n#define glVertexArrayVertexAttribIOffsetEXT rglVertexArrayVertexAttribIOffsetEXT\n#define glVertexArrayVertexAttribOffsetEXT  rglVertexArrayVertexAttribOffsetEXT\n#define glVertexArrayVertexOffsetEXT        rglVertexArrayVertexOffsetEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_DIRECT_STATE_ACCESS\nREGAL_DECL GLboolean REGAL_CALL glUnmapNamedBufferEXT(GLuint buffer);\nREGAL_DECL GLenum REGAL_CALL glCheckNamedFramebufferStatusEXT(GLuint framebuffer, GLenum target);\nREGAL_DECL GLvoid *REGAL_CALL glMapNamedBufferEXT(GLuint buffer, GLenum access);\nREGAL_DECL GLvoid *REGAL_CALL glMapNamedBufferRangeEXT(GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access);\nREGAL_DECL void REGAL_CALL glBindMultiTextureEXT(GLenum texunit, GLenum target, GLuint texture);\nREGAL_DECL void REGAL_CALL glClientAttribDefaultEXT(GLbitfield mask);\nREGAL_DECL void REGAL_CALL glCompressedMultiTexImage1DEXT(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data);\nREGAL_DECL void REGAL_CALL glCompressedMultiTexImage2DEXT(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *bits);\nREGAL_DECL void REGAL_CALL glCompressedMultiTexImage3DEXT(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *bits);\nREGAL_DECL void REGAL_CALL glCompressedMultiTexSubImage1DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data);\nREGAL_DECL void REGAL_CALL glCompressedMultiTexSubImage2DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data);\nREGAL_DECL void REGAL_CALL glCompressedMultiTexSubImage3DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data);\nREGAL_DECL void REGAL_CALL glCompressedTextureImage1DEXT(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *bits);\nREGAL_DECL void REGAL_CALL glCompressedTextureImage2DEXT(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *bits);\nREGAL_DECL void REGAL_CALL glCompressedTextureImage3DEXT(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *bits);\nREGAL_DECL void REGAL_CALL glCompressedTextureSubImage1DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *bits);\nREGAL_DECL void REGAL_CALL glCompressedTextureSubImage2DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *bits);\nREGAL_DECL void REGAL_CALL glCompressedTextureSubImage3DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *bits);\nREGAL_DECL void REGAL_CALL glCopyMultiTexImage1DEXT(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);\nREGAL_DECL void REGAL_CALL glCopyMultiTexImage2DEXT(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);\nREGAL_DECL void REGAL_CALL glCopyMultiTexSubImage1DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);\nREGAL_DECL void REGAL_CALL glCopyMultiTexSubImage2DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);\nREGAL_DECL void REGAL_CALL glCopyMultiTexSubImage3DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);\nREGAL_DECL void REGAL_CALL glCopyTextureImage1DEXT(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);\nREGAL_DECL void REGAL_CALL glCopyTextureImage2DEXT(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);\nREGAL_DECL void REGAL_CALL glCopyTextureSubImage1DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);\nREGAL_DECL void REGAL_CALL glCopyTextureSubImage2DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);\nREGAL_DECL void REGAL_CALL glCopyTextureSubImage3DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);\nREGAL_DECL void REGAL_CALL glDisableClientStateIndexedEXT(GLenum array, GLuint index);\nREGAL_DECL void REGAL_CALL glDisableClientStateiEXT(GLenum array, GLuint index);\nREGAL_DECL void REGAL_CALL glDisableVertexArrayAttribEXT(GLuint vaobj, GLenum array);\nREGAL_DECL void REGAL_CALL glDisableVertexArrayEXT(GLuint vaobj, GLenum array);\nREGAL_DECL void REGAL_CALL glEnableClientStateIndexedEXT(GLenum array, GLuint index);\nREGAL_DECL void REGAL_CALL glEnableClientStateiEXT(GLenum array, GLuint index);\nREGAL_DECL void REGAL_CALL glEnableVertexArrayAttribEXT(GLuint vaobj, GLenum array);\nREGAL_DECL void REGAL_CALL glEnableVertexArrayEXT(GLuint vaobj, GLenum array);\nREGAL_DECL void REGAL_CALL glFlushMappedNamedBufferRangeEXT(GLuint buffer, GLintptr offset, GLsizeiptr length);\nREGAL_DECL void REGAL_CALL glFramebufferDrawBufferEXT(GLuint framebuffer, GLenum mode);\nREGAL_DECL void REGAL_CALL glFramebufferDrawBuffersEXT(GLuint framebuffer, GLsizei n, const GLenum *bufs);\nREGAL_DECL void REGAL_CALL glFramebufferReadBufferEXT(GLuint framebuffer, GLenum mode);\nREGAL_DECL void REGAL_CALL glGenerateMultiTexMipmapEXT(GLenum texunit, GLenum target);\nREGAL_DECL void REGAL_CALL glGenerateTextureMipmapEXT(GLuint texture, GLenum target);\nREGAL_DECL void REGAL_CALL glGetCompressedMultiTexImageEXT(GLenum texunit, GLenum target, GLint lod, GLvoid *img);\nREGAL_DECL void REGAL_CALL glGetCompressedTextureImageEXT(GLuint texture, GLenum target, GLint lod, GLvoid *img);\nREGAL_DECL void REGAL_CALL glGetDoubleIndexedvEXT(GLenum target, GLuint index, GLdouble *data);\nREGAL_DECL void REGAL_CALL glGetDoublei_vEXT(GLenum target, GLuint index, GLdouble *data);\nREGAL_DECL void REGAL_CALL glGetFloatIndexedvEXT(GLenum target, GLuint index, GLfloat *data);\nREGAL_DECL void REGAL_CALL glGetFloati_vEXT(GLenum target, GLuint index, GLfloat *data);\nREGAL_DECL void REGAL_CALL glGetFramebufferParameterivEXT(GLuint framebuffer, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetMultiTexEnvfvEXT(GLenum texunit, GLenum target, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetMultiTexEnvivEXT(GLenum texunit, GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetMultiTexGendvEXT(GLenum texunit, GLenum coord, GLenum pname, GLdouble *params);\nREGAL_DECL void REGAL_CALL glGetMultiTexGenfvEXT(GLenum texunit, GLenum coord, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetMultiTexGenivEXT(GLenum texunit, GLenum coord, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetMultiTexImageEXT(GLenum texunit, GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels);\nREGAL_DECL void REGAL_CALL glGetMultiTexLevelParameterfvEXT(GLenum texunit, GLenum target, GLint level, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetMultiTexLevelParameterivEXT(GLenum texunit, GLenum target, GLint level, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetMultiTexParameterIivEXT(GLenum texunit, GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetMultiTexParameterIuivEXT(GLenum texunit, GLenum target, GLenum pname, GLuint *params);\nREGAL_DECL void REGAL_CALL glGetMultiTexParameterfvEXT(GLenum texunit, GLenum target, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetMultiTexParameterivEXT(GLenum texunit, GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetNamedBufferParameterivEXT(GLuint buffer, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetNamedBufferPointervEXT(GLuint buffer, GLenum pname, GLvoid **params);\nREGAL_DECL void REGAL_CALL glGetNamedBufferSubDataEXT(GLuint buffer, GLintptr offset, GLsizeiptr size, GLvoid *data);\nREGAL_DECL void REGAL_CALL glGetNamedFramebufferAttachmentParameterivEXT(GLuint framebuffer, GLenum attachment, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetNamedProgramLocalParameterIivEXT(GLuint program, GLenum target, GLuint index, GLint *params);\nREGAL_DECL void REGAL_CALL glGetNamedProgramLocalParameterIuivEXT(GLuint program, GLenum target, GLuint index, GLuint *params);\nREGAL_DECL void REGAL_CALL glGetNamedProgramLocalParameterdvEXT(GLuint program, GLenum target, GLuint index, GLdouble *params);\nREGAL_DECL void REGAL_CALL glGetNamedProgramLocalParameterfvEXT(GLuint program, GLenum target, GLuint index, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetNamedProgramStringEXT(GLuint program, GLenum target, GLenum pname, GLvoid *string);\nREGAL_DECL void REGAL_CALL glGetNamedProgramivEXT(GLuint program, GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetNamedRenderbufferParameterivEXT(GLuint renderbuffer, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetPointerIndexedvEXT(GLenum target, GLuint index, GLvoid **data);\nREGAL_DECL void REGAL_CALL glGetPointeri_vEXT(GLenum pname, GLuint index, GLvoid **params);\nREGAL_DECL void REGAL_CALL glGetTextureImageEXT(GLuint texture, GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels);\nREGAL_DECL void REGAL_CALL glGetTextureLevelParameterfvEXT(GLuint texture, GLenum target, GLint level, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetTextureLevelParameterivEXT(GLuint texture, GLenum target, GLint level, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetTextureParameterIivEXT(GLuint texture, GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetTextureParameterIuivEXT(GLuint texture, GLenum target, GLenum pname, GLuint *params);\nREGAL_DECL void REGAL_CALL glGetTextureParameterfvEXT(GLuint texture, GLenum target, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetTextureParameterivEXT(GLuint texture, GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetVertexArrayIntegeri_vEXT(GLuint vaobj, GLuint index, GLenum pname, GLint *param);\nREGAL_DECL void REGAL_CALL glGetVertexArrayIntegervEXT(GLuint vaobj, GLenum pname, GLint *param);\nREGAL_DECL void REGAL_CALL glGetVertexArrayPointeri_vEXT(GLuint vaobj, GLuint index, GLenum pname, GLvoid **param);\nREGAL_DECL void REGAL_CALL glGetVertexArrayPointervEXT(GLuint vaobj, GLenum pname, GLvoid **param);\nREGAL_DECL void REGAL_CALL glMatrixFrustumEXT(GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);\nREGAL_DECL void REGAL_CALL glMatrixLoadIdentityEXT(GLenum mode);\nREGAL_DECL void REGAL_CALL glMatrixLoadTransposedEXT(GLenum mode, const GLdouble *m);\nREGAL_DECL void REGAL_CALL glMatrixLoadTransposefEXT(GLenum mode, const GLfloat *m);\nREGAL_DECL void REGAL_CALL glMatrixLoaddEXT(GLenum mode, const GLdouble *m);\nREGAL_DECL void REGAL_CALL glMatrixLoadfEXT(GLenum mode, const GLfloat *m);\nREGAL_DECL void REGAL_CALL glMatrixMultTransposedEXT(GLenum mode, const GLdouble *m);\nREGAL_DECL void REGAL_CALL glMatrixMultTransposefEXT(GLenum mode, const GLfloat *m);\nREGAL_DECL void REGAL_CALL glMatrixMultdEXT(GLenum mode, const GLdouble *m);\nREGAL_DECL void REGAL_CALL glMatrixMultfEXT(GLenum mode, const GLfloat *m);\nREGAL_DECL void REGAL_CALL glMatrixOrthoEXT(GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);\nREGAL_DECL void REGAL_CALL glMatrixPopEXT(GLenum mode);\nREGAL_DECL void REGAL_CALL glMatrixPushEXT(GLenum mode);\nREGAL_DECL void REGAL_CALL glMatrixRotatedEXT(GLenum mode, GLdouble angle, GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL glMatrixRotatefEXT(GLenum mode, GLfloat angle, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL glMatrixScaledEXT(GLenum mode, GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL glMatrixScalefEXT(GLenum mode, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL glMatrixTranslatedEXT(GLenum mode, GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL glMatrixTranslatefEXT(GLenum mode, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL glMultiTexBufferEXT(GLenum texunit, GLenum target, GLenum internalformat, GLuint buffer);\nREGAL_DECL void REGAL_CALL glMultiTexCoordPointerEXT(GLenum texunit, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL glMultiTexEnvfEXT(GLenum texunit, GLenum target, GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL glMultiTexEnvfvEXT(GLenum texunit, GLenum target, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL glMultiTexEnviEXT(GLenum texunit, GLenum target, GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL glMultiTexEnvivEXT(GLenum texunit, GLenum target, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL glMultiTexGendEXT(GLenum texunit, GLenum coord, GLenum pname, GLdouble param);\nREGAL_DECL void REGAL_CALL glMultiTexGendvEXT(GLenum texunit, GLenum coord, GLenum pname, const GLdouble *params);\nREGAL_DECL void REGAL_CALL glMultiTexGenfEXT(GLenum texunit, GLenum coord, GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL glMultiTexGenfvEXT(GLenum texunit, GLenum coord, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL glMultiTexGeniEXT(GLenum texunit, GLenum coord, GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL glMultiTexGenivEXT(GLenum texunit, GLenum coord, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL glMultiTexImage1DEXT(GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL glMultiTexImage2DEXT(GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL glMultiTexImage3DEXT(GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL glMultiTexParameterIivEXT(GLenum texunit, GLenum target, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL glMultiTexParameterIuivEXT(GLenum texunit, GLenum target, GLenum pname, const GLuint *params);\nREGAL_DECL void REGAL_CALL glMultiTexParameterfEXT(GLenum texunit, GLenum target, GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL glMultiTexParameterfvEXT(GLenum texunit, GLenum target, GLenum pname, const GLfloat *param);\nREGAL_DECL void REGAL_CALL glMultiTexParameteriEXT(GLenum texunit, GLenum target, GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL glMultiTexParameterivEXT(GLenum texunit, GLenum target, GLenum pname, const GLint *param);\nREGAL_DECL void REGAL_CALL glMultiTexRenderbufferEXT(GLenum texunit, GLenum target, GLuint renderbuffer);\nREGAL_DECL void REGAL_CALL glMultiTexSubImage1DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL glMultiTexSubImage2DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL glMultiTexSubImage3DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL glNamedBufferDataEXT(GLuint buffer, GLsizeiptr size, const GLvoid *data, GLenum usage);\nREGAL_DECL void REGAL_CALL glNamedBufferSubDataEXT(GLuint buffer, GLintptr offset, GLsizeiptr size, const GLvoid *data);\nREGAL_DECL void REGAL_CALL glNamedCopyBufferSubDataEXT(GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);\nREGAL_DECL void REGAL_CALL glNamedFramebufferRenderbufferEXT(GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);\nREGAL_DECL void REGAL_CALL glNamedFramebufferTexture1DEXT(GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level);\nREGAL_DECL void REGAL_CALL glNamedFramebufferTexture2DEXT(GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level);\nREGAL_DECL void REGAL_CALL glNamedFramebufferTexture3DEXT(GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);\nREGAL_DECL void REGAL_CALL glNamedFramebufferTextureEXT(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level);\nREGAL_DECL void REGAL_CALL glNamedFramebufferTextureFaceEXT(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLenum face);\nREGAL_DECL void REGAL_CALL glNamedFramebufferTextureLayerEXT(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer);\nREGAL_DECL void REGAL_CALL glNamedProgramLocalParameter4dEXT(GLuint program, GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nREGAL_DECL void REGAL_CALL glNamedProgramLocalParameter4dvEXT(GLuint program, GLenum target, GLuint index, const GLdouble *params);\nREGAL_DECL void REGAL_CALL glNamedProgramLocalParameter4fEXT(GLuint program, GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nREGAL_DECL void REGAL_CALL glNamedProgramLocalParameter4fvEXT(GLuint program, GLenum target, GLuint index, const GLfloat *params);\nREGAL_DECL void REGAL_CALL glNamedProgramLocalParameterI4iEXT(GLuint program, GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w);\nREGAL_DECL void REGAL_CALL glNamedProgramLocalParameterI4ivEXT(GLuint program, GLenum target, GLuint index, const GLint *params);\nREGAL_DECL void REGAL_CALL glNamedProgramLocalParameterI4uiEXT(GLuint program, GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);\nREGAL_DECL void REGAL_CALL glNamedProgramLocalParameterI4uivEXT(GLuint program, GLenum target, GLuint index, const GLuint *params);\nREGAL_DECL void REGAL_CALL glNamedProgramLocalParameters4fvEXT(GLuint program, GLenum target, GLuint index, GLsizei count, const GLfloat *params);\nREGAL_DECL void REGAL_CALL glNamedProgramLocalParametersI4ivEXT(GLuint program, GLenum target, GLuint index, GLsizei count, const GLint *params);\nREGAL_DECL void REGAL_CALL glNamedProgramLocalParametersI4uivEXT(GLuint program, GLenum target, GLuint index, GLsizei count, const GLuint *params);\nREGAL_DECL void REGAL_CALL glNamedProgramStringEXT(GLuint program, GLenum target, GLenum format, GLsizei len, const GLvoid *string);\nREGAL_DECL void REGAL_CALL glNamedRenderbufferStorageEXT(GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height);\nREGAL_DECL void REGAL_CALL glNamedRenderbufferStorageMultisampleCoverageEXT(GLuint renderbuffer, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height);\nREGAL_DECL void REGAL_CALL glNamedRenderbufferStorageMultisampleEXT(GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);\nREGAL_DECL void REGAL_CALL glProgramUniform1dEXT(GLuint program, GLint location, GLdouble x);\nREGAL_DECL void REGAL_CALL glProgramUniform1dvEXT(GLuint program, GLint location, GLsizei count, const GLdouble *value);\nREGAL_DECL void REGAL_CALL glProgramUniform1fEXT(GLuint program, GLint location, GLfloat v0);\nREGAL_DECL void REGAL_CALL glProgramUniform1fvEXT(GLuint program, GLint location, GLsizei count, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glProgramUniform1iEXT(GLuint program, GLint location, GLint v0);\nREGAL_DECL void REGAL_CALL glProgramUniform1ivEXT(GLuint program, GLint location, GLsizei count, const GLint *value);\nREGAL_DECL void REGAL_CALL glProgramUniform1uiEXT(GLuint program, GLint location, GLuint v0);\nREGAL_DECL void REGAL_CALL glProgramUniform1uivEXT(GLuint program, GLint location, GLsizei count, const GLuint *value);\nREGAL_DECL void REGAL_CALL glProgramUniform2dEXT(GLuint program, GLint location, GLdouble x, GLdouble y);\nREGAL_DECL void REGAL_CALL glProgramUniform2dvEXT(GLuint program, GLint location, GLsizei count, const GLdouble *value);\nREGAL_DECL void REGAL_CALL glProgramUniform2fEXT(GLuint program, GLint location, GLfloat v0, GLfloat v1);\nREGAL_DECL void REGAL_CALL glProgramUniform2fvEXT(GLuint program, GLint location, GLsizei count, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glProgramUniform2iEXT(GLuint program, GLint location, GLint v0, GLint v1);\nREGAL_DECL void REGAL_CALL glProgramUniform2ivEXT(GLuint program, GLint location, GLsizei count, const GLint *value);\nREGAL_DECL void REGAL_CALL glProgramUniform2uiEXT(GLuint program, GLint location, GLuint v0, GLuint v1);\nREGAL_DECL void REGAL_CALL glProgramUniform2uivEXT(GLuint program, GLint location, GLsizei count, const GLuint *value);\nREGAL_DECL void REGAL_CALL glProgramUniform3dEXT(GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL glProgramUniform3dvEXT(GLuint program, GLint location, GLsizei count, const GLdouble *value);\nREGAL_DECL void REGAL_CALL glProgramUniform3fEXT(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2);\nREGAL_DECL void REGAL_CALL glProgramUniform3fvEXT(GLuint program, GLint location, GLsizei count, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glProgramUniform3iEXT(GLuint program, GLint location, GLint v0, GLint v1, GLint v2);\nREGAL_DECL void REGAL_CALL glProgramUniform3ivEXT(GLuint program, GLint location, GLsizei count, const GLint *value);\nREGAL_DECL void REGAL_CALL glProgramUniform3uiEXT(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2);\nREGAL_DECL void REGAL_CALL glProgramUniform3uivEXT(GLuint program, GLint location, GLsizei count, const GLuint *value);\nREGAL_DECL void REGAL_CALL glProgramUniform4dEXT(GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nREGAL_DECL void REGAL_CALL glProgramUniform4dvEXT(GLuint program, GLint location, GLsizei count, const GLdouble *value);\nREGAL_DECL void REGAL_CALL glProgramUniform4fEXT(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);\nREGAL_DECL void REGAL_CALL glProgramUniform4fvEXT(GLuint program, GLint location, GLsizei count, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glProgramUniform4iEXT(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);\nREGAL_DECL void REGAL_CALL glProgramUniform4ivEXT(GLuint program, GLint location, GLsizei count, const GLint *value);\nREGAL_DECL void REGAL_CALL glProgramUniform4uiEXT(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);\nREGAL_DECL void REGAL_CALL glProgramUniform4uivEXT(GLuint program, GLint location, GLsizei count, const GLuint *value);\nREGAL_DECL void REGAL_CALL glProgramUniformMatrix2dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL glProgramUniformMatrix2fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glProgramUniformMatrix2x3dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL glProgramUniformMatrix2x3fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glProgramUniformMatrix2x4dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL glProgramUniformMatrix2x4fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glProgramUniformMatrix3dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL glProgramUniformMatrix3fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glProgramUniformMatrix3x2dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL glProgramUniformMatrix3x2fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glProgramUniformMatrix3x4dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL glProgramUniformMatrix3x4fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glProgramUniformMatrix4dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL glProgramUniformMatrix4fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glProgramUniformMatrix4x2dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL glProgramUniformMatrix4x2fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glProgramUniformMatrix4x3dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL glProgramUniformMatrix4x3fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glPushClientAttribDefaultEXT(GLbitfield mask);\nREGAL_DECL void REGAL_CALL glTextureBufferEXT(GLuint texture, GLenum target, GLenum internalformat, GLuint buffer);\nREGAL_DECL void REGAL_CALL glTextureImage1DEXT(GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL glTextureImage2DEXT(GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL glTextureImage3DEXT(GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL glTextureParameterIivEXT(GLuint texture, GLenum target, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL glTextureParameterIuivEXT(GLuint texture, GLenum target, GLenum pname, const GLuint *params);\nREGAL_DECL void REGAL_CALL glTextureParameterfEXT(GLuint texture, GLenum target, GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL glTextureParameterfvEXT(GLuint texture, GLenum target, GLenum pname, const GLfloat *param);\nREGAL_DECL void REGAL_CALL glTextureParameteriEXT(GLuint texture, GLenum target, GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL glTextureParameterivEXT(GLuint texture, GLenum target, GLenum pname, const GLint *param);\nREGAL_DECL void REGAL_CALL glTextureRenderbufferEXT(GLuint texture, GLenum target, GLuint renderbuffer);\nREGAL_DECL void REGAL_CALL glTextureSubImage1DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL glTextureSubImage2DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL glTextureSubImage3DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL glVertexArrayColorOffsetEXT(GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, const GLintptr offset);\nREGAL_DECL void REGAL_CALL glVertexArrayEdgeFlagOffsetEXT(GLuint vaobj, GLuint buffer, GLsizei stride, const GLintptr offset);\nREGAL_DECL void REGAL_CALL glVertexArrayFogCoordOffsetEXT(GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, const GLintptr offset);\nREGAL_DECL void REGAL_CALL glVertexArrayIndexOffsetEXT(GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, const GLintptr offset);\nREGAL_DECL void REGAL_CALL glVertexArrayMultiTexCoordOffsetEXT(GLuint vaobj, GLuint buffer, GLenum texunit, GLint size, GLenum type, GLsizei stride, const GLintptr offset);\nREGAL_DECL void REGAL_CALL glVertexArrayNormalOffsetEXT(GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, const GLintptr offset);\nREGAL_DECL void REGAL_CALL glVertexArraySecondaryColorOffsetEXT(GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, const GLintptr offset);\nREGAL_DECL void REGAL_CALL glVertexArrayTexCoordOffsetEXT(GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, const GLintptr offset);\nREGAL_DECL void REGAL_CALL glVertexArrayVertexAttribIOffsetEXT(GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLsizei stride, const GLintptr offset);\nREGAL_DECL void REGAL_CALL glVertexArrayVertexAttribOffsetEXT(GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLintptr offset);\nREGAL_DECL void REGAL_CALL glVertexArrayVertexOffsetEXT(GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, const GLintptr offset);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_DIRECT_STATE_ACCESS\nREGAL_DECL GLboolean REGAL_CALL plugin_glUnmapNamedBufferEXT(GLuint buffer);\nREGAL_DECL GLenum REGAL_CALL plugin_glCheckNamedFramebufferStatusEXT(GLuint framebuffer, GLenum target);\nREGAL_DECL GLvoid *REGAL_CALL plugin_glMapNamedBufferEXT(GLuint buffer, GLenum access);\nREGAL_DECL GLvoid *REGAL_CALL plugin_glMapNamedBufferRangeEXT(GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access);\nREGAL_DECL void REGAL_CALL plugin_glBindMultiTextureEXT(GLenum texunit, GLenum target, GLuint texture);\nREGAL_DECL void REGAL_CALL plugin_glClientAttribDefaultEXT(GLbitfield mask);\nREGAL_DECL void REGAL_CALL plugin_glCompressedMultiTexImage1DEXT(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data);\nREGAL_DECL void REGAL_CALL plugin_glCompressedMultiTexImage2DEXT(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *bits);\nREGAL_DECL void REGAL_CALL plugin_glCompressedMultiTexImage3DEXT(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *bits);\nREGAL_DECL void REGAL_CALL plugin_glCompressedMultiTexSubImage1DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data);\nREGAL_DECL void REGAL_CALL plugin_glCompressedMultiTexSubImage2DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data);\nREGAL_DECL void REGAL_CALL plugin_glCompressedMultiTexSubImage3DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data);\nREGAL_DECL void REGAL_CALL plugin_glCompressedTextureImage1DEXT(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *bits);\nREGAL_DECL void REGAL_CALL plugin_glCompressedTextureImage2DEXT(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *bits);\nREGAL_DECL void REGAL_CALL plugin_glCompressedTextureImage3DEXT(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *bits);\nREGAL_DECL void REGAL_CALL plugin_glCompressedTextureSubImage1DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *bits);\nREGAL_DECL void REGAL_CALL plugin_glCompressedTextureSubImage2DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *bits);\nREGAL_DECL void REGAL_CALL plugin_glCompressedTextureSubImage3DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *bits);\nREGAL_DECL void REGAL_CALL plugin_glCopyMultiTexImage1DEXT(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);\nREGAL_DECL void REGAL_CALL plugin_glCopyMultiTexImage2DEXT(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);\nREGAL_DECL void REGAL_CALL plugin_glCopyMultiTexSubImage1DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);\nREGAL_DECL void REGAL_CALL plugin_glCopyMultiTexSubImage2DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);\nREGAL_DECL void REGAL_CALL plugin_glCopyMultiTexSubImage3DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);\nREGAL_DECL void REGAL_CALL plugin_glCopyTextureImage1DEXT(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);\nREGAL_DECL void REGAL_CALL plugin_glCopyTextureImage2DEXT(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);\nREGAL_DECL void REGAL_CALL plugin_glCopyTextureSubImage1DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);\nREGAL_DECL void REGAL_CALL plugin_glCopyTextureSubImage2DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);\nREGAL_DECL void REGAL_CALL plugin_glCopyTextureSubImage3DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);\nREGAL_DECL void REGAL_CALL plugin_glDisableClientStateIndexedEXT(GLenum array, GLuint index);\nREGAL_DECL void REGAL_CALL plugin_glDisableClientStateiEXT(GLenum array, GLuint index);\nREGAL_DECL void REGAL_CALL plugin_glDisableVertexArrayAttribEXT(GLuint vaobj, GLenum array);\nREGAL_DECL void REGAL_CALL plugin_glDisableVertexArrayEXT(GLuint vaobj, GLenum array);\nREGAL_DECL void REGAL_CALL plugin_glEnableClientStateIndexedEXT(GLenum array, GLuint index);\nREGAL_DECL void REGAL_CALL plugin_glEnableClientStateiEXT(GLenum array, GLuint index);\nREGAL_DECL void REGAL_CALL plugin_glEnableVertexArrayAttribEXT(GLuint vaobj, GLenum array);\nREGAL_DECL void REGAL_CALL plugin_glEnableVertexArrayEXT(GLuint vaobj, GLenum array);\nREGAL_DECL void REGAL_CALL plugin_glFlushMappedNamedBufferRangeEXT(GLuint buffer, GLintptr offset, GLsizeiptr length);\nREGAL_DECL void REGAL_CALL plugin_glFramebufferDrawBufferEXT(GLuint framebuffer, GLenum mode);\nREGAL_DECL void REGAL_CALL plugin_glFramebufferDrawBuffersEXT(GLuint framebuffer, GLsizei n, const GLenum *bufs);\nREGAL_DECL void REGAL_CALL plugin_glFramebufferReadBufferEXT(GLuint framebuffer, GLenum mode);\nREGAL_DECL void REGAL_CALL plugin_glGenerateMultiTexMipmapEXT(GLenum texunit, GLenum target);\nREGAL_DECL void REGAL_CALL plugin_glGenerateTextureMipmapEXT(GLuint texture, GLenum target);\nREGAL_DECL void REGAL_CALL plugin_glGetCompressedMultiTexImageEXT(GLenum texunit, GLenum target, GLint lod, GLvoid *img);\nREGAL_DECL void REGAL_CALL plugin_glGetCompressedTextureImageEXT(GLuint texture, GLenum target, GLint lod, GLvoid *img);\nREGAL_DECL void REGAL_CALL plugin_glGetDoubleIndexedvEXT(GLenum target, GLuint index, GLdouble *data);\nREGAL_DECL void REGAL_CALL plugin_glGetDoublei_vEXT(GLenum target, GLuint index, GLdouble *data);\nREGAL_DECL void REGAL_CALL plugin_glGetFloatIndexedvEXT(GLenum target, GLuint index, GLfloat *data);\nREGAL_DECL void REGAL_CALL plugin_glGetFloati_vEXT(GLenum target, GLuint index, GLfloat *data);\nREGAL_DECL void REGAL_CALL plugin_glGetFramebufferParameterivEXT(GLuint framebuffer, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetMultiTexEnvfvEXT(GLenum texunit, GLenum target, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetMultiTexEnvivEXT(GLenum texunit, GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetMultiTexGendvEXT(GLenum texunit, GLenum coord, GLenum pname, GLdouble *params);\nREGAL_DECL void REGAL_CALL plugin_glGetMultiTexGenfvEXT(GLenum texunit, GLenum coord, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetMultiTexGenivEXT(GLenum texunit, GLenum coord, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetMultiTexImageEXT(GLenum texunit, GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels);\nREGAL_DECL void REGAL_CALL plugin_glGetMultiTexLevelParameterfvEXT(GLenum texunit, GLenum target, GLint level, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetMultiTexLevelParameterivEXT(GLenum texunit, GLenum target, GLint level, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetMultiTexParameterIivEXT(GLenum texunit, GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetMultiTexParameterIuivEXT(GLenum texunit, GLenum target, GLenum pname, GLuint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetMultiTexParameterfvEXT(GLenum texunit, GLenum target, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetMultiTexParameterivEXT(GLenum texunit, GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetNamedBufferParameterivEXT(GLuint buffer, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetNamedBufferPointervEXT(GLuint buffer, GLenum pname, GLvoid **params);\nREGAL_DECL void REGAL_CALL plugin_glGetNamedBufferSubDataEXT(GLuint buffer, GLintptr offset, GLsizeiptr size, GLvoid *data);\nREGAL_DECL void REGAL_CALL plugin_glGetNamedFramebufferAttachmentParameterivEXT(GLuint framebuffer, GLenum attachment, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetNamedProgramLocalParameterIivEXT(GLuint program, GLenum target, GLuint index, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetNamedProgramLocalParameterIuivEXT(GLuint program, GLenum target, GLuint index, GLuint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetNamedProgramLocalParameterdvEXT(GLuint program, GLenum target, GLuint index, GLdouble *params);\nREGAL_DECL void REGAL_CALL plugin_glGetNamedProgramLocalParameterfvEXT(GLuint program, GLenum target, GLuint index, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetNamedProgramStringEXT(GLuint program, GLenum target, GLenum pname, GLvoid *string);\nREGAL_DECL void REGAL_CALL plugin_glGetNamedProgramivEXT(GLuint program, GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetNamedRenderbufferParameterivEXT(GLuint renderbuffer, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetPointerIndexedvEXT(GLenum target, GLuint index, GLvoid **data);\nREGAL_DECL void REGAL_CALL plugin_glGetPointeri_vEXT(GLenum pname, GLuint index, GLvoid **params);\nREGAL_DECL void REGAL_CALL plugin_glGetTextureImageEXT(GLuint texture, GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels);\nREGAL_DECL void REGAL_CALL plugin_glGetTextureLevelParameterfvEXT(GLuint texture, GLenum target, GLint level, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetTextureLevelParameterivEXT(GLuint texture, GLenum target, GLint level, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetTextureParameterIivEXT(GLuint texture, GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetTextureParameterIuivEXT(GLuint texture, GLenum target, GLenum pname, GLuint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetTextureParameterfvEXT(GLuint texture, GLenum target, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetTextureParameterivEXT(GLuint texture, GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetVertexArrayIntegeri_vEXT(GLuint vaobj, GLuint index, GLenum pname, GLint *param);\nREGAL_DECL void REGAL_CALL plugin_glGetVertexArrayIntegervEXT(GLuint vaobj, GLenum pname, GLint *param);\nREGAL_DECL void REGAL_CALL plugin_glGetVertexArrayPointeri_vEXT(GLuint vaobj, GLuint index, GLenum pname, GLvoid **param);\nREGAL_DECL void REGAL_CALL plugin_glGetVertexArrayPointervEXT(GLuint vaobj, GLenum pname, GLvoid **param);\nREGAL_DECL void REGAL_CALL plugin_glMatrixFrustumEXT(GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);\nREGAL_DECL void REGAL_CALL plugin_glMatrixLoadIdentityEXT(GLenum mode);\nREGAL_DECL void REGAL_CALL plugin_glMatrixLoadTransposedEXT(GLenum mode, const GLdouble *m);\nREGAL_DECL void REGAL_CALL plugin_glMatrixLoadTransposefEXT(GLenum mode, const GLfloat *m);\nREGAL_DECL void REGAL_CALL plugin_glMatrixLoaddEXT(GLenum mode, const GLdouble *m);\nREGAL_DECL void REGAL_CALL plugin_glMatrixLoadfEXT(GLenum mode, const GLfloat *m);\nREGAL_DECL void REGAL_CALL plugin_glMatrixMultTransposedEXT(GLenum mode, const GLdouble *m);\nREGAL_DECL void REGAL_CALL plugin_glMatrixMultTransposefEXT(GLenum mode, const GLfloat *m);\nREGAL_DECL void REGAL_CALL plugin_glMatrixMultdEXT(GLenum mode, const GLdouble *m);\nREGAL_DECL void REGAL_CALL plugin_glMatrixMultfEXT(GLenum mode, const GLfloat *m);\nREGAL_DECL void REGAL_CALL plugin_glMatrixOrthoEXT(GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);\nREGAL_DECL void REGAL_CALL plugin_glMatrixPopEXT(GLenum mode);\nREGAL_DECL void REGAL_CALL plugin_glMatrixPushEXT(GLenum mode);\nREGAL_DECL void REGAL_CALL plugin_glMatrixRotatedEXT(GLenum mode, GLdouble angle, GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL plugin_glMatrixRotatefEXT(GLenum mode, GLfloat angle, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL plugin_glMatrixScaledEXT(GLenum mode, GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL plugin_glMatrixScalefEXT(GLenum mode, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL plugin_glMatrixTranslatedEXT(GLenum mode, GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL plugin_glMatrixTranslatefEXT(GLenum mode, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexBufferEXT(GLenum texunit, GLenum target, GLenum internalformat, GLuint buffer);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoordPointerEXT(GLenum texunit, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexEnvfEXT(GLenum texunit, GLenum target, GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexEnvfvEXT(GLenum texunit, GLenum target, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexEnviEXT(GLenum texunit, GLenum target, GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexEnvivEXT(GLenum texunit, GLenum target, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexGendEXT(GLenum texunit, GLenum coord, GLenum pname, GLdouble param);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexGendvEXT(GLenum texunit, GLenum coord, GLenum pname, const GLdouble *params);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexGenfEXT(GLenum texunit, GLenum coord, GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexGenfvEXT(GLenum texunit, GLenum coord, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexGeniEXT(GLenum texunit, GLenum coord, GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexGenivEXT(GLenum texunit, GLenum coord, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexImage1DEXT(GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexImage2DEXT(GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexImage3DEXT(GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexParameterIivEXT(GLenum texunit, GLenum target, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexParameterIuivEXT(GLenum texunit, GLenum target, GLenum pname, const GLuint *params);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexParameterfEXT(GLenum texunit, GLenum target, GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexParameterfvEXT(GLenum texunit, GLenum target, GLenum pname, const GLfloat *param);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexParameteriEXT(GLenum texunit, GLenum target, GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexParameterivEXT(GLenum texunit, GLenum target, GLenum pname, const GLint *param);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexRenderbufferEXT(GLenum texunit, GLenum target, GLuint renderbuffer);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexSubImage1DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexSubImage2DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexSubImage3DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL plugin_glNamedBufferDataEXT(GLuint buffer, GLsizeiptr size, const GLvoid *data, GLenum usage);\nREGAL_DECL void REGAL_CALL plugin_glNamedBufferSubDataEXT(GLuint buffer, GLintptr offset, GLsizeiptr size, const GLvoid *data);\nREGAL_DECL void REGAL_CALL plugin_glNamedCopyBufferSubDataEXT(GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);\nREGAL_DECL void REGAL_CALL plugin_glNamedFramebufferRenderbufferEXT(GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);\nREGAL_DECL void REGAL_CALL plugin_glNamedFramebufferTexture1DEXT(GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level);\nREGAL_DECL void REGAL_CALL plugin_glNamedFramebufferTexture2DEXT(GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level);\nREGAL_DECL void REGAL_CALL plugin_glNamedFramebufferTexture3DEXT(GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);\nREGAL_DECL void REGAL_CALL plugin_glNamedFramebufferTextureEXT(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level);\nREGAL_DECL void REGAL_CALL plugin_glNamedFramebufferTextureFaceEXT(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLenum face);\nREGAL_DECL void REGAL_CALL plugin_glNamedFramebufferTextureLayerEXT(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer);\nREGAL_DECL void REGAL_CALL plugin_glNamedProgramLocalParameter4dEXT(GLuint program, GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nREGAL_DECL void REGAL_CALL plugin_glNamedProgramLocalParameter4dvEXT(GLuint program, GLenum target, GLuint index, const GLdouble *params);\nREGAL_DECL void REGAL_CALL plugin_glNamedProgramLocalParameter4fEXT(GLuint program, GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nREGAL_DECL void REGAL_CALL plugin_glNamedProgramLocalParameter4fvEXT(GLuint program, GLenum target, GLuint index, const GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glNamedProgramLocalParameterI4iEXT(GLuint program, GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w);\nREGAL_DECL void REGAL_CALL plugin_glNamedProgramLocalParameterI4ivEXT(GLuint program, GLenum target, GLuint index, const GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glNamedProgramLocalParameterI4uiEXT(GLuint program, GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);\nREGAL_DECL void REGAL_CALL plugin_glNamedProgramLocalParameterI4uivEXT(GLuint program, GLenum target, GLuint index, const GLuint *params);\nREGAL_DECL void REGAL_CALL plugin_glNamedProgramLocalParameters4fvEXT(GLuint program, GLenum target, GLuint index, GLsizei count, const GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glNamedProgramLocalParametersI4ivEXT(GLuint program, GLenum target, GLuint index, GLsizei count, const GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glNamedProgramLocalParametersI4uivEXT(GLuint program, GLenum target, GLuint index, GLsizei count, const GLuint *params);\nREGAL_DECL void REGAL_CALL plugin_glNamedProgramStringEXT(GLuint program, GLenum target, GLenum format, GLsizei len, const GLvoid *string);\nREGAL_DECL void REGAL_CALL plugin_glNamedRenderbufferStorageEXT(GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height);\nREGAL_DECL void REGAL_CALL plugin_glNamedRenderbufferStorageMultisampleCoverageEXT(GLuint renderbuffer, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height);\nREGAL_DECL void REGAL_CALL plugin_glNamedRenderbufferStorageMultisampleEXT(GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform1dEXT(GLuint program, GLint location, GLdouble x);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform1dvEXT(GLuint program, GLint location, GLsizei count, const GLdouble *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform1fEXT(GLuint program, GLint location, GLfloat v0);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform1fvEXT(GLuint program, GLint location, GLsizei count, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform1iEXT(GLuint program, GLint location, GLint v0);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform1ivEXT(GLuint program, GLint location, GLsizei count, const GLint *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform1uiEXT(GLuint program, GLint location, GLuint v0);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform1uivEXT(GLuint program, GLint location, GLsizei count, const GLuint *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform2dEXT(GLuint program, GLint location, GLdouble x, GLdouble y);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform2dvEXT(GLuint program, GLint location, GLsizei count, const GLdouble *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform2fEXT(GLuint program, GLint location, GLfloat v0, GLfloat v1);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform2fvEXT(GLuint program, GLint location, GLsizei count, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform2iEXT(GLuint program, GLint location, GLint v0, GLint v1);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform2ivEXT(GLuint program, GLint location, GLsizei count, const GLint *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform2uiEXT(GLuint program, GLint location, GLuint v0, GLuint v1);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform2uivEXT(GLuint program, GLint location, GLsizei count, const GLuint *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform3dEXT(GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform3dvEXT(GLuint program, GLint location, GLsizei count, const GLdouble *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform3fEXT(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform3fvEXT(GLuint program, GLint location, GLsizei count, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform3iEXT(GLuint program, GLint location, GLint v0, GLint v1, GLint v2);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform3ivEXT(GLuint program, GLint location, GLsizei count, const GLint *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform3uiEXT(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform3uivEXT(GLuint program, GLint location, GLsizei count, const GLuint *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform4dEXT(GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform4dvEXT(GLuint program, GLint location, GLsizei count, const GLdouble *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform4fEXT(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform4fvEXT(GLuint program, GLint location, GLsizei count, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform4iEXT(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform4ivEXT(GLuint program, GLint location, GLsizei count, const GLint *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform4uiEXT(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform4uivEXT(GLuint program, GLint location, GLsizei count, const GLuint *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformMatrix2dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformMatrix2fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformMatrix2x3dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformMatrix2x3fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformMatrix2x4dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformMatrix2x4fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformMatrix3dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformMatrix3fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformMatrix3x2dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformMatrix3x2fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformMatrix3x4dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformMatrix3x4fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformMatrix4dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformMatrix4fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformMatrix4x2dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformMatrix4x2fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformMatrix4x3dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformMatrix4x3fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glPushClientAttribDefaultEXT(GLbitfield mask);\nREGAL_DECL void REGAL_CALL plugin_glTextureBufferEXT(GLuint texture, GLenum target, GLenum internalformat, GLuint buffer);\nREGAL_DECL void REGAL_CALL plugin_glTextureImage1DEXT(GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL plugin_glTextureImage2DEXT(GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL plugin_glTextureImage3DEXT(GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL plugin_glTextureParameterIivEXT(GLuint texture, GLenum target, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glTextureParameterIuivEXT(GLuint texture, GLenum target, GLenum pname, const GLuint *params);\nREGAL_DECL void REGAL_CALL plugin_glTextureParameterfEXT(GLuint texture, GLenum target, GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL plugin_glTextureParameterfvEXT(GLuint texture, GLenum target, GLenum pname, const GLfloat *param);\nREGAL_DECL void REGAL_CALL plugin_glTextureParameteriEXT(GLuint texture, GLenum target, GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL plugin_glTextureParameterivEXT(GLuint texture, GLenum target, GLenum pname, const GLint *param);\nREGAL_DECL void REGAL_CALL plugin_glTextureRenderbufferEXT(GLuint texture, GLenum target, GLuint renderbuffer);\nREGAL_DECL void REGAL_CALL plugin_glTextureSubImage1DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL plugin_glTextureSubImage2DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL plugin_glTextureSubImage3DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL plugin_glVertexArrayColorOffsetEXT(GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, const GLintptr offset);\nREGAL_DECL void REGAL_CALL plugin_glVertexArrayEdgeFlagOffsetEXT(GLuint vaobj, GLuint buffer, GLsizei stride, const GLintptr offset);\nREGAL_DECL void REGAL_CALL plugin_glVertexArrayFogCoordOffsetEXT(GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, const GLintptr offset);\nREGAL_DECL void REGAL_CALL plugin_glVertexArrayIndexOffsetEXT(GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, const GLintptr offset);\nREGAL_DECL void REGAL_CALL plugin_glVertexArrayMultiTexCoordOffsetEXT(GLuint vaobj, GLuint buffer, GLenum texunit, GLint size, GLenum type, GLsizei stride, const GLintptr offset);\nREGAL_DECL void REGAL_CALL plugin_glVertexArrayNormalOffsetEXT(GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, const GLintptr offset);\nREGAL_DECL void REGAL_CALL plugin_glVertexArraySecondaryColorOffsetEXT(GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, const GLintptr offset);\nREGAL_DECL void REGAL_CALL plugin_glVertexArrayTexCoordOffsetEXT(GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, const GLintptr offset);\nREGAL_DECL void REGAL_CALL plugin_glVertexArrayVertexAttribIOffsetEXT(GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLsizei stride, const GLintptr offset);\nREGAL_DECL void REGAL_CALL plugin_glVertexArrayVertexAttribOffsetEXT(GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLintptr offset);\nREGAL_DECL void REGAL_CALL plugin_glVertexArrayVertexOffsetEXT(GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, const GLintptr offset);\n#endif\n\n/**\n ** GL_EXT_discard_framebuffer\n **/\n\n#if (defined(GL_EXT_DISCARD_FRAMEBUFFER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_DISCARD_FRAMEBUFFER)) && !defined(REGAL_NO_ENUM_GL_EXT_DISCARD_FRAMEBUFFER)\n#define REGAL_NO_ENUM_GL_EXT_DISCARD_FRAMEBUFFER\n#endif\n\n#if (defined(GL_EXT_DISCARD_FRAMEBUFFER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_DISCARD_FRAMEBUFFER)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_DISCARD_FRAMEBUFFER)\n#define REGAL_NO_TYPEDEF_GL_EXT_DISCARD_FRAMEBUFFER\n#endif\n\n#if (defined(GL_EXT_DISCARD_FRAMEBUFFER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_DISCARD_FRAMEBUFFER)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_DISCARD_FRAMEBUFFER)\n#define REGAL_NO_NAMESPACE_GL_EXT_DISCARD_FRAMEBUFFER\n#endif\n\n#if (defined(GL_EXT_DISCARD_FRAMEBUFFER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_DISCARD_FRAMEBUFFER)) && !defined(REGAL_NO_PLUGIN_GL_EXT_DISCARD_FRAMEBUFFER)\n#define REGAL_NO_PLUGIN_GL_EXT_DISCARD_FRAMEBUFFER\n#endif\n\n#if (defined(GL_EXT_DISCARD_FRAMEBUFFER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_DISCARD_FRAMEBUFFER)) && !defined(REGAL_NO_DECLARATION_GL_EXT_DISCARD_FRAMEBUFFER)\n#define REGAL_NO_DECLARATION_GL_EXT_DISCARD_FRAMEBUFFER\n#endif\n\n#ifndef GL_EXT_discard_framebuffer\n#define GL_EXT_discard_framebuffer 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_DISCARD_FRAMEBUFFER\n#define GL_COLOR_EXT   0x1800     /* 6144 */\n#define GL_DEPTH_EXT   0x1801     /* 6145 */\n#define GL_STENCIL_EXT 0x1802     /* 6146 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_DISCARD_FRAMEBUFFER\ntypedef void (REGAL_CALL *PFNGLDISCARDFRAMEBUFFEREXTPROC)(GLenum target, GLsizei numAttachments, const GLenum *attachments);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_DISCARD_FRAMEBUFFER\n#define glDiscardFramebufferEXT             rglDiscardFramebufferEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_DISCARD_FRAMEBUFFER\nREGAL_DECL void REGAL_CALL glDiscardFramebufferEXT(GLenum target, GLsizei numAttachments, const GLenum *attachments);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_DISCARD_FRAMEBUFFER\nREGAL_DECL void REGAL_CALL plugin_glDiscardFramebufferEXT(GLenum target, GLsizei numAttachments, const GLenum *attachments);\n#endif\n\n/**\n ** GL_EXT_disjoint_timer_query\n **/\n\n#if (defined(GL_EXT_DISJOINT_TIMER_QUERY) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_DISJOINT_TIMER_QUERY)) && !defined(REGAL_NO_ENUM_GL_EXT_DISJOINT_TIMER_QUERY)\n#define REGAL_NO_ENUM_GL_EXT_DISJOINT_TIMER_QUERY\n#endif\n\n#if (defined(GL_EXT_DISJOINT_TIMER_QUERY) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_DISJOINT_TIMER_QUERY)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_DISJOINT_TIMER_QUERY)\n#define REGAL_NO_TYPEDEF_GL_EXT_DISJOINT_TIMER_QUERY\n#endif\n\n#if (defined(GL_EXT_DISJOINT_TIMER_QUERY) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_DISJOINT_TIMER_QUERY)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_DISJOINT_TIMER_QUERY)\n#define REGAL_NO_NAMESPACE_GL_EXT_DISJOINT_TIMER_QUERY\n#endif\n\n#if (defined(GL_EXT_DISJOINT_TIMER_QUERY) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_DISJOINT_TIMER_QUERY)) && !defined(REGAL_NO_PLUGIN_GL_EXT_DISJOINT_TIMER_QUERY)\n#define REGAL_NO_PLUGIN_GL_EXT_DISJOINT_TIMER_QUERY\n#endif\n\n#if (defined(GL_EXT_DISJOINT_TIMER_QUERY) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_DISJOINT_TIMER_QUERY)) && !defined(REGAL_NO_DECLARATION_GL_EXT_DISJOINT_TIMER_QUERY)\n#define REGAL_NO_DECLARATION_GL_EXT_DISJOINT_TIMER_QUERY\n#endif\n\n#ifndef GL_EXT_disjoint_timer_query\n#define GL_EXT_disjoint_timer_query 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_DISJOINT_TIMER_QUERY\n#define GL_QUERY_COUNTER_BITS_EXT 0x8864     /* 34916 */\n#define GL_TIMESTAMP_EXT          0x8e28     /* 36392 */\n#define GL_GPU_DISJOINT_EXT       0x8fbb     /* 36795 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_DISJOINT_TIMER_QUERY\ntypedef void (REGAL_CALL *PFNGLGETQUERYOBJECTIVEXTPROC)(GLuint id, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLQUERYCOUNTEREXTPROC)(GLuint id, GLenum target);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_DISJOINT_TIMER_QUERY\n#define glGetQueryObjectivEXT               rglGetQueryObjectivEXT\n#define glQueryCounterEXT                   rglQueryCounterEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_DISJOINT_TIMER_QUERY\nREGAL_DECL void REGAL_CALL glGetQueryObjectivEXT(GLuint id, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glQueryCounterEXT(GLuint id, GLenum target);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_DISJOINT_TIMER_QUERY\nREGAL_DECL void REGAL_CALL plugin_glGetQueryObjectivEXT(GLuint id, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glQueryCounterEXT(GLuint id, GLenum target);\n#endif\n\n/**\n ** GL_EXT_draw_buffers2\n **/\n\n#if (defined(GL_EXT_DRAW_BUFFERS2) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_DRAW_BUFFERS2)) && !defined(REGAL_NO_ENUM_GL_EXT_DRAW_BUFFERS2)\n#define REGAL_NO_ENUM_GL_EXT_DRAW_BUFFERS2\n#endif\n\n#if (defined(GL_EXT_DRAW_BUFFERS2) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_DRAW_BUFFERS2)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_DRAW_BUFFERS2)\n#define REGAL_NO_TYPEDEF_GL_EXT_DRAW_BUFFERS2\n#endif\n\n#if (defined(GL_EXT_DRAW_BUFFERS2) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_DRAW_BUFFERS2)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_DRAW_BUFFERS2)\n#define REGAL_NO_NAMESPACE_GL_EXT_DRAW_BUFFERS2\n#endif\n\n#if (defined(GL_EXT_DRAW_BUFFERS2) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_DRAW_BUFFERS2)) && !defined(REGAL_NO_PLUGIN_GL_EXT_DRAW_BUFFERS2)\n#define REGAL_NO_PLUGIN_GL_EXT_DRAW_BUFFERS2\n#endif\n\n#if (defined(GL_EXT_DRAW_BUFFERS2) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_DRAW_BUFFERS2)) && !defined(REGAL_NO_DECLARATION_GL_EXT_DRAW_BUFFERS2)\n#define REGAL_NO_DECLARATION_GL_EXT_DRAW_BUFFERS2\n#endif\n\n#ifndef GL_EXT_draw_buffers2\n#define GL_EXT_draw_buffers2 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_DRAW_BUFFERS2\ntypedef GLboolean (REGAL_CALL *PFNGLISENABLEDINDEXEDEXTPROC)(GLenum target, GLuint index);\ntypedef void (REGAL_CALL *PFNGLCOLORMASKINDEXEDEXTPROC)(GLuint buf, GLboolean r, GLboolean g, GLboolean b, GLboolean a);\ntypedef void (REGAL_CALL *PFNGLDISABLEINDEXEDEXTPROC)(GLenum target, GLuint index);\ntypedef void (REGAL_CALL *PFNGLENABLEINDEXEDEXTPROC)(GLenum target, GLuint index);\ntypedef void (REGAL_CALL *PFNGLGETBOOLEANINDEXEDVEXTPROC)(GLenum value, GLuint index, GLboolean *data);\ntypedef void (REGAL_CALL *PFNGLGETINTEGERINDEXEDVEXTPROC)(GLenum value, GLuint index, GLint *data);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_DRAW_BUFFERS2\n#define glColorMaskIndexedEXT               rglColorMaskIndexedEXT\n#define glDisableIndexedEXT                 rglDisableIndexedEXT\n#define glEnableIndexedEXT                  rglEnableIndexedEXT\n#define glGetBooleanIndexedvEXT             rglGetBooleanIndexedvEXT\n#define glGetIntegerIndexedvEXT             rglGetIntegerIndexedvEXT\n#define glIsEnabledIndexedEXT               rglIsEnabledIndexedEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_DRAW_BUFFERS2\nREGAL_DECL GLboolean REGAL_CALL glIsEnabledIndexedEXT(GLenum target, GLuint index);\nREGAL_DECL void REGAL_CALL glColorMaskIndexedEXT(GLuint buf, GLboolean r, GLboolean g, GLboolean b, GLboolean a);\nREGAL_DECL void REGAL_CALL glDisableIndexedEXT(GLenum target, GLuint index);\nREGAL_DECL void REGAL_CALL glEnableIndexedEXT(GLenum target, GLuint index);\nREGAL_DECL void REGAL_CALL glGetBooleanIndexedvEXT(GLenum value, GLuint index, GLboolean *data);\nREGAL_DECL void REGAL_CALL glGetIntegerIndexedvEXT(GLenum value, GLuint index, GLint *data);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_DRAW_BUFFERS2\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsEnabledIndexedEXT(GLenum target, GLuint index);\nREGAL_DECL void REGAL_CALL plugin_glColorMaskIndexedEXT(GLuint buf, GLboolean r, GLboolean g, GLboolean b, GLboolean a);\nREGAL_DECL void REGAL_CALL plugin_glDisableIndexedEXT(GLenum target, GLuint index);\nREGAL_DECL void REGAL_CALL plugin_glEnableIndexedEXT(GLenum target, GLuint index);\nREGAL_DECL void REGAL_CALL plugin_glGetBooleanIndexedvEXT(GLenum value, GLuint index, GLboolean *data);\nREGAL_DECL void REGAL_CALL plugin_glGetIntegerIndexedvEXT(GLenum value, GLuint index, GLint *data);\n#endif\n\n/**\n ** GL_EXT_draw_instanced\n **/\n\n#if (defined(GL_EXT_DRAW_INSTANCED) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_DRAW_INSTANCED)) && !defined(REGAL_NO_ENUM_GL_EXT_DRAW_INSTANCED)\n#define REGAL_NO_ENUM_GL_EXT_DRAW_INSTANCED\n#endif\n\n#if (defined(GL_EXT_DRAW_INSTANCED) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_DRAW_INSTANCED)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_DRAW_INSTANCED)\n#define REGAL_NO_TYPEDEF_GL_EXT_DRAW_INSTANCED\n#endif\n\n#if (defined(GL_EXT_DRAW_INSTANCED) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_DRAW_INSTANCED)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_DRAW_INSTANCED)\n#define REGAL_NO_NAMESPACE_GL_EXT_DRAW_INSTANCED\n#endif\n\n#if (defined(GL_EXT_DRAW_INSTANCED) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_DRAW_INSTANCED)) && !defined(REGAL_NO_PLUGIN_GL_EXT_DRAW_INSTANCED)\n#define REGAL_NO_PLUGIN_GL_EXT_DRAW_INSTANCED\n#endif\n\n#if (defined(GL_EXT_DRAW_INSTANCED) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_DRAW_INSTANCED)) && !defined(REGAL_NO_DECLARATION_GL_EXT_DRAW_INSTANCED)\n#define REGAL_NO_DECLARATION_GL_EXT_DRAW_INSTANCED\n#endif\n\n#ifndef GL_EXT_draw_instanced\n#define GL_EXT_draw_instanced 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_DRAW_INSTANCED\ntypedef void (REGAL_CALL *PFNGLDRAWARRAYSINSTANCEDEXTPROC)(GLenum mode, GLint start, GLsizei count, GLsizei primcount);\ntypedef void (REGAL_CALL *PFNGLDRAWELEMENTSINSTANCEDEXTPROC)(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_DRAW_INSTANCED\n#define glDrawArraysInstancedEXT            rglDrawArraysInstancedEXT\n#define glDrawElementsInstancedEXT          rglDrawElementsInstancedEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_DRAW_INSTANCED\nREGAL_DECL void REGAL_CALL glDrawArraysInstancedEXT(GLenum mode, GLint start, GLsizei count, GLsizei primcount);\nREGAL_DECL void REGAL_CALL glDrawElementsInstancedEXT(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_DRAW_INSTANCED\nREGAL_DECL void REGAL_CALL plugin_glDrawArraysInstancedEXT(GLenum mode, GLint start, GLsizei count, GLsizei primcount);\nREGAL_DECL void REGAL_CALL plugin_glDrawElementsInstancedEXT(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount);\n#endif\n\n/**\n ** GL_EXT_draw_range_elements\n **/\n\n#if (defined(GL_EXT_DRAW_RANGE_ELEMENTS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_DRAW_RANGE_ELEMENTS)) && !defined(REGAL_NO_ENUM_GL_EXT_DRAW_RANGE_ELEMENTS)\n#define REGAL_NO_ENUM_GL_EXT_DRAW_RANGE_ELEMENTS\n#endif\n\n#if (defined(GL_EXT_DRAW_RANGE_ELEMENTS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_DRAW_RANGE_ELEMENTS)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_DRAW_RANGE_ELEMENTS)\n#define REGAL_NO_TYPEDEF_GL_EXT_DRAW_RANGE_ELEMENTS\n#endif\n\n#if (defined(GL_EXT_DRAW_RANGE_ELEMENTS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_DRAW_RANGE_ELEMENTS)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_DRAW_RANGE_ELEMENTS)\n#define REGAL_NO_NAMESPACE_GL_EXT_DRAW_RANGE_ELEMENTS\n#endif\n\n#if (defined(GL_EXT_DRAW_RANGE_ELEMENTS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_DRAW_RANGE_ELEMENTS)) && !defined(REGAL_NO_PLUGIN_GL_EXT_DRAW_RANGE_ELEMENTS)\n#define REGAL_NO_PLUGIN_GL_EXT_DRAW_RANGE_ELEMENTS\n#endif\n\n#if (defined(GL_EXT_DRAW_RANGE_ELEMENTS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_DRAW_RANGE_ELEMENTS)) && !defined(REGAL_NO_DECLARATION_GL_EXT_DRAW_RANGE_ELEMENTS)\n#define REGAL_NO_DECLARATION_GL_EXT_DRAW_RANGE_ELEMENTS\n#endif\n\n#ifndef GL_EXT_draw_range_elements\n#define GL_EXT_draw_range_elements 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_DRAW_RANGE_ELEMENTS\n#define GL_MAX_ELEMENTS_VERTICES_EXT 0x80e8     /* 33000 */\n#define GL_MAX_ELEMENTS_INDICES_EXT  0x80e9     /* 33001 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_DRAW_RANGE_ELEMENTS\ntypedef void (REGAL_CALL *PFNGLDRAWRANGEELEMENTSEXTPROC)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_DRAW_RANGE_ELEMENTS\n#define glDrawRangeElementsEXT              rglDrawRangeElementsEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_DRAW_RANGE_ELEMENTS\nREGAL_DECL void REGAL_CALL glDrawRangeElementsEXT(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_DRAW_RANGE_ELEMENTS\nREGAL_DECL void REGAL_CALL plugin_glDrawRangeElementsEXT(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices);\n#endif\n\n/**\n ** GL_EXT_fog_coord\n **/\n\n#if (defined(GL_EXT_FOG_COORD) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_FOG_COORD)) && !defined(REGAL_NO_ENUM_GL_EXT_FOG_COORD)\n#define REGAL_NO_ENUM_GL_EXT_FOG_COORD\n#endif\n\n#if (defined(GL_EXT_FOG_COORD) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_FOG_COORD)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_FOG_COORD)\n#define REGAL_NO_TYPEDEF_GL_EXT_FOG_COORD\n#endif\n\n#if (defined(GL_EXT_FOG_COORD) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_FOG_COORD)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_FOG_COORD)\n#define REGAL_NO_NAMESPACE_GL_EXT_FOG_COORD\n#endif\n\n#if (defined(GL_EXT_FOG_COORD) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_FOG_COORD)) && !defined(REGAL_NO_PLUGIN_GL_EXT_FOG_COORD)\n#define REGAL_NO_PLUGIN_GL_EXT_FOG_COORD\n#endif\n\n#if (defined(GL_EXT_FOG_COORD) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_FOG_COORD)) && !defined(REGAL_NO_DECLARATION_GL_EXT_FOG_COORD)\n#define REGAL_NO_DECLARATION_GL_EXT_FOG_COORD\n#endif\n\n#ifndef GL_EXT_fog_coord\n#define GL_EXT_fog_coord 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_FOG_COORD\n#define GL_FOG_COORDINATE_SOURCE_EXT        0x8450     /* 33872 */\n#define GL_FOG_COORDINATE_EXT               0x8451     /* 33873 */\n#define GL_FRAGMENT_DEPTH_EXT               0x8452     /* 33874 */\n#define GL_CURRENT_FOG_COORDINATE_EXT       0x8453     /* 33875 */\n#define GL_FOG_COORDINATE_ARRAY_TYPE_EXT    0x8454     /* 33876 */\n#define GL_FOG_COORDINATE_ARRAY_STRIDE_EXT  0x8455     /* 33877 */\n#define GL_FOG_COORDINATE_ARRAY_POINTER_EXT 0x8456     /* 33878 */\n#define GL_FOG_COORDINATE_ARRAY_EXT         0x8457     /* 33879 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_FOG_COORD\ntypedef void (REGAL_CALL *PFNGLFOGCOORDDEXTPROC)(GLdouble coord);\ntypedef void (REGAL_CALL *PFNGLFOGCOORDDVEXTPROC)(const GLdouble *coord);\ntypedef void (REGAL_CALL *PFNGLFOGCOORDFEXTPROC)(GLfloat coord);\ntypedef void (REGAL_CALL *PFNGLFOGCOORDFVEXTPROC)(const GLfloat *coord);\ntypedef void (REGAL_CALL *PFNGLFOGCOORDPOINTEREXTPROC)(GLenum type, GLsizei stride, const GLvoid *pointer);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_FOG_COORD\n#define glFogCoordPointerEXT                rglFogCoordPointerEXT\n#define glFogCoorddEXT                      rglFogCoorddEXT\n#define glFogCoorddvEXT                     rglFogCoorddvEXT\n#define glFogCoordfEXT                      rglFogCoordfEXT\n#define glFogCoordfvEXT                     rglFogCoordfvEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_FOG_COORD\nREGAL_DECL void REGAL_CALL glFogCoordPointerEXT(GLenum type, GLsizei stride, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL glFogCoorddEXT(GLdouble coord);\nREGAL_DECL void REGAL_CALL glFogCoorddvEXT(const GLdouble *coord);\nREGAL_DECL void REGAL_CALL glFogCoordfEXT(GLfloat coord);\nREGAL_DECL void REGAL_CALL glFogCoordfvEXT(const GLfloat *coord);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_FOG_COORD\nREGAL_DECL void REGAL_CALL plugin_glFogCoordPointerEXT(GLenum type, GLsizei stride, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL plugin_glFogCoorddEXT(GLdouble coord);\nREGAL_DECL void REGAL_CALL plugin_glFogCoorddvEXT(const GLdouble *coord);\nREGAL_DECL void REGAL_CALL plugin_glFogCoordfEXT(GLfloat coord);\nREGAL_DECL void REGAL_CALL plugin_glFogCoordfvEXT(const GLfloat *coord);\n#endif\n\n/**\n ** GL_EXT_fragment_lighting\n **/\n\n#if (defined(GL_EXT_FRAGMENT_LIGHTING) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_FRAGMENT_LIGHTING)) && !defined(REGAL_NO_ENUM_GL_EXT_FRAGMENT_LIGHTING)\n#define REGAL_NO_ENUM_GL_EXT_FRAGMENT_LIGHTING\n#endif\n\n#if (defined(GL_EXT_FRAGMENT_LIGHTING) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_FRAGMENT_LIGHTING)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_FRAGMENT_LIGHTING)\n#define REGAL_NO_TYPEDEF_GL_EXT_FRAGMENT_LIGHTING\n#endif\n\n#if (defined(GL_EXT_FRAGMENT_LIGHTING) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_FRAGMENT_LIGHTING)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_FRAGMENT_LIGHTING)\n#define REGAL_NO_NAMESPACE_GL_EXT_FRAGMENT_LIGHTING\n#endif\n\n#if (defined(GL_EXT_FRAGMENT_LIGHTING) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_FRAGMENT_LIGHTING)) && !defined(REGAL_NO_PLUGIN_GL_EXT_FRAGMENT_LIGHTING)\n#define REGAL_NO_PLUGIN_GL_EXT_FRAGMENT_LIGHTING\n#endif\n\n#if (defined(GL_EXT_FRAGMENT_LIGHTING) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_FRAGMENT_LIGHTING)) && !defined(REGAL_NO_DECLARATION_GL_EXT_FRAGMENT_LIGHTING)\n#define REGAL_NO_DECLARATION_GL_EXT_FRAGMENT_LIGHTING\n#endif\n\n#ifndef GL_EXT_fragment_lighting\n#define GL_EXT_fragment_lighting 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_FRAGMENT_LIGHTING\n#define GL_FRAGMENT_LIGHTING_EXT                         0x8400     /* 33792 */\n#define GL_FRAGMENT_COLOR_MATERIAL_EXT                   0x8401     /* 33793 */\n#define GL_FRAGMENT_COLOR_MATERIAL_FACE_EXT              0x8402     /* 33794 */\n#define GL_FRAGMENT_COLOR_MATERIAL_PARAMETER_EXT         0x8403     /* 33795 */\n#define GL_MAX_FRAGMENT_LIGHTS_EXT                       0x8404     /* 33796 */\n#define GL_MAX_ACTIVE_LIGHTS_EXT                         0x8405     /* 33797 */\n#define GL_CURRENT_RASTER_NORMAL_EXT                     0x8406     /* 33798 */\n#define GL_LIGHT_ENV_MODE_EXT                            0x8407     /* 33799 */\n#define GL_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_EXT         0x8408     /* 33800 */\n#define GL_FRAGMENT_LIGHT_MODEL_TWO_SIDE_EXT             0x8409     /* 33801 */\n#define GL_FRAGMENT_LIGHT_MODEL_AMBIENT_EXT              0x840a     /* 33802 */\n#define GL_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_EXT 0x840b     /* 33803 */\n#define GL_FRAGMENT_LIGHT0_EXT                           0x840c     /* 33804 */\n#define GL_FRAGMENT_LIGHT1_EXT                           0x840d     /* 33805 */\n#define GL_FRAGMENT_LIGHT2_EXT                           0x840e     /* 33806 */\n#define GL_FRAGMENT_LIGHT3_EXT                           0x840f     /* 33807 */\n#define GL_FRAGMENT_LIGHT4_EXT                           0x8410     /* 33808 */\n#define GL_FRAGMENT_LIGHT5_EXT                           0x8411     /* 33809 */\n#define GL_FRAGMENT_LIGHT6_EXT                           0x8412     /* 33810 */\n#define GL_FRAGMENT_LIGHT7_EXT                           0x8413     /* 33811 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_FRAGMENT_LIGHTING\ntypedef void (REGAL_CALL *PFNGLFRAGMENTCOLORMATERIALEXTPROC)(GLenum face, GLenum mode);\ntypedef void (REGAL_CALL *PFNGLFRAGMENTLIGHTFEXTPROC)(GLenum light, GLenum pname, GLfloat param);\ntypedef void (REGAL_CALL *PFNGLFRAGMENTLIGHTFVEXTPROC)(GLenum light, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLFRAGMENTLIGHTIEXTPROC)(GLenum light, GLenum pname, GLint param);\ntypedef void (REGAL_CALL *PFNGLFRAGMENTLIGHTIVEXTPROC)(GLenum light, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLFRAGMENTLIGHTMODELFEXTPROC)(GLenum pname, GLfloat param);\ntypedef void (REGAL_CALL *PFNGLFRAGMENTLIGHTMODELFVEXTPROC)(GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLFRAGMENTLIGHTMODELIEXTPROC)(GLenum pname, GLint param);\ntypedef void (REGAL_CALL *PFNGLFRAGMENTLIGHTMODELIVEXTPROC)(GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLFRAGMENTMATERIALFEXTPROC)(GLenum face, GLenum pname, const GLfloat param);\ntypedef void (REGAL_CALL *PFNGLFRAGMENTMATERIALFVEXTPROC)(GLenum face, GLenum pname, const GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLFRAGMENTMATERIALIEXTPROC)(GLenum face, GLenum pname, const GLint param);\ntypedef void (REGAL_CALL *PFNGLFRAGMENTMATERIALIVEXTPROC)(GLenum face, GLenum pname, const GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETFRAGMENTLIGHTFVEXTPROC)(GLenum light, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETFRAGMENTLIGHTIVEXTPROC)(GLenum light, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETFRAGMENTMATERIALFVEXTPROC)(GLenum face, GLenum pname, const GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETFRAGMENTMATERIALIVEXTPROC)(GLenum face, GLenum pname, const GLint *params);\ntypedef void (REGAL_CALL *PFNGLLIGHTENVIEXTPROC)(GLenum pname, GLint param);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_FRAGMENT_LIGHTING\n#define glFragmentColorMaterialEXT          rglFragmentColorMaterialEXT\n#define glFragmentLightModelfEXT            rglFragmentLightModelfEXT\n#define glFragmentLightModelfvEXT           rglFragmentLightModelfvEXT\n#define glFragmentLightModeliEXT            rglFragmentLightModeliEXT\n#define glFragmentLightModelivEXT           rglFragmentLightModelivEXT\n#define glFragmentLightfEXT                 rglFragmentLightfEXT\n#define glFragmentLightfvEXT                rglFragmentLightfvEXT\n#define glFragmentLightiEXT                 rglFragmentLightiEXT\n#define glFragmentLightivEXT                rglFragmentLightivEXT\n#define glFragmentMaterialfEXT              rglFragmentMaterialfEXT\n#define glFragmentMaterialfvEXT             rglFragmentMaterialfvEXT\n#define glFragmentMaterialiEXT              rglFragmentMaterialiEXT\n#define glFragmentMaterialivEXT             rglFragmentMaterialivEXT\n#define glGetFragmentLightfvEXT             rglGetFragmentLightfvEXT\n#define glGetFragmentLightivEXT             rglGetFragmentLightivEXT\n#define glGetFragmentMaterialfvEXT          rglGetFragmentMaterialfvEXT\n#define glGetFragmentMaterialivEXT          rglGetFragmentMaterialivEXT\n#define glLightEnviEXT                      rglLightEnviEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_FRAGMENT_LIGHTING\nREGAL_DECL void REGAL_CALL glFragmentColorMaterialEXT(GLenum face, GLenum mode);\nREGAL_DECL void REGAL_CALL glFragmentLightModelfEXT(GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL glFragmentLightModelfvEXT(GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glFragmentLightModeliEXT(GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL glFragmentLightModelivEXT(GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glFragmentLightfEXT(GLenum light, GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL glFragmentLightfvEXT(GLenum light, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glFragmentLightiEXT(GLenum light, GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL glFragmentLightivEXT(GLenum light, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glFragmentMaterialfEXT(GLenum face, GLenum pname, const GLfloat param);\nREGAL_DECL void REGAL_CALL glFragmentMaterialfvEXT(GLenum face, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL glFragmentMaterialiEXT(GLenum face, GLenum pname, const GLint param);\nREGAL_DECL void REGAL_CALL glFragmentMaterialivEXT(GLenum face, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL glGetFragmentLightfvEXT(GLenum light, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetFragmentLightivEXT(GLenum light, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetFragmentMaterialfvEXT(GLenum face, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetFragmentMaterialivEXT(GLenum face, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL glLightEnviEXT(GLenum pname, GLint param);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_FRAGMENT_LIGHTING\nREGAL_DECL void REGAL_CALL plugin_glFragmentColorMaterialEXT(GLenum face, GLenum mode);\nREGAL_DECL void REGAL_CALL plugin_glFragmentLightModelfEXT(GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL plugin_glFragmentLightModelfvEXT(GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glFragmentLightModeliEXT(GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL plugin_glFragmentLightModelivEXT(GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glFragmentLightfEXT(GLenum light, GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL plugin_glFragmentLightfvEXT(GLenum light, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glFragmentLightiEXT(GLenum light, GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL plugin_glFragmentLightivEXT(GLenum light, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glFragmentMaterialfEXT(GLenum face, GLenum pname, const GLfloat param);\nREGAL_DECL void REGAL_CALL plugin_glFragmentMaterialfvEXT(GLenum face, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glFragmentMaterialiEXT(GLenum face, GLenum pname, const GLint param);\nREGAL_DECL void REGAL_CALL plugin_glFragmentMaterialivEXT(GLenum face, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetFragmentLightfvEXT(GLenum light, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetFragmentLightivEXT(GLenum light, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetFragmentMaterialfvEXT(GLenum face, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetFragmentMaterialivEXT(GLenum face, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glLightEnviEXT(GLenum pname, GLint param);\n#endif\n\n/**\n ** GL_EXT_framebuffer_blit\n **/\n\n#if (defined(GL_EXT_FRAMEBUFFER_BLIT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_FRAMEBUFFER_BLIT)) && !defined(REGAL_NO_ENUM_GL_EXT_FRAMEBUFFER_BLIT)\n#define REGAL_NO_ENUM_GL_EXT_FRAMEBUFFER_BLIT\n#endif\n\n#if (defined(GL_EXT_FRAMEBUFFER_BLIT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_FRAMEBUFFER_BLIT)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_FRAMEBUFFER_BLIT)\n#define REGAL_NO_TYPEDEF_GL_EXT_FRAMEBUFFER_BLIT\n#endif\n\n#if (defined(GL_EXT_FRAMEBUFFER_BLIT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_FRAMEBUFFER_BLIT)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_FRAMEBUFFER_BLIT)\n#define REGAL_NO_NAMESPACE_GL_EXT_FRAMEBUFFER_BLIT\n#endif\n\n#if (defined(GL_EXT_FRAMEBUFFER_BLIT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_FRAMEBUFFER_BLIT)) && !defined(REGAL_NO_PLUGIN_GL_EXT_FRAMEBUFFER_BLIT)\n#define REGAL_NO_PLUGIN_GL_EXT_FRAMEBUFFER_BLIT\n#endif\n\n#if (defined(GL_EXT_FRAMEBUFFER_BLIT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_FRAMEBUFFER_BLIT)) && !defined(REGAL_NO_DECLARATION_GL_EXT_FRAMEBUFFER_BLIT)\n#define REGAL_NO_DECLARATION_GL_EXT_FRAMEBUFFER_BLIT\n#endif\n\n#ifndef GL_EXT_framebuffer_blit\n#define GL_EXT_framebuffer_blit 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_FRAMEBUFFER_BLIT\n#define GL_DRAW_FRAMEBUFFER_BINDING_EXT 0x8ca6     /* 36006 */\n#define GL_READ_FRAMEBUFFER_EXT         0x8ca8     /* 36008 */\n#define GL_DRAW_FRAMEBUFFER_EXT         0x8ca9     /* 36009 */\n#define GL_READ_FRAMEBUFFER_BINDING_EXT 0x8caa     /* 36010 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_FRAMEBUFFER_BLIT\ntypedef void (REGAL_CALL *PFNGLBLITFRAMEBUFFEREXTPROC)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_FRAMEBUFFER_BLIT\n#define glBlitFramebufferEXT                rglBlitFramebufferEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_FRAMEBUFFER_BLIT\nREGAL_DECL void REGAL_CALL glBlitFramebufferEXT(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_FRAMEBUFFER_BLIT\nREGAL_DECL void REGAL_CALL plugin_glBlitFramebufferEXT(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);\n#endif\n\n/**\n ** GL_EXT_framebuffer_multisample\n **/\n\n#if (defined(GL_EXT_FRAMEBUFFER_MULTISAMPLE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_FRAMEBUFFER_MULTISAMPLE)) && !defined(REGAL_NO_ENUM_GL_EXT_FRAMEBUFFER_MULTISAMPLE)\n#define REGAL_NO_ENUM_GL_EXT_FRAMEBUFFER_MULTISAMPLE\n#endif\n\n#if (defined(GL_EXT_FRAMEBUFFER_MULTISAMPLE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_FRAMEBUFFER_MULTISAMPLE)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_FRAMEBUFFER_MULTISAMPLE)\n#define REGAL_NO_TYPEDEF_GL_EXT_FRAMEBUFFER_MULTISAMPLE\n#endif\n\n#if (defined(GL_EXT_FRAMEBUFFER_MULTISAMPLE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_FRAMEBUFFER_MULTISAMPLE)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_FRAMEBUFFER_MULTISAMPLE)\n#define REGAL_NO_NAMESPACE_GL_EXT_FRAMEBUFFER_MULTISAMPLE\n#endif\n\n#if (defined(GL_EXT_FRAMEBUFFER_MULTISAMPLE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_FRAMEBUFFER_MULTISAMPLE)) && !defined(REGAL_NO_PLUGIN_GL_EXT_FRAMEBUFFER_MULTISAMPLE)\n#define REGAL_NO_PLUGIN_GL_EXT_FRAMEBUFFER_MULTISAMPLE\n#endif\n\n#if (defined(GL_EXT_FRAMEBUFFER_MULTISAMPLE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_FRAMEBUFFER_MULTISAMPLE)) && !defined(REGAL_NO_DECLARATION_GL_EXT_FRAMEBUFFER_MULTISAMPLE)\n#define REGAL_NO_DECLARATION_GL_EXT_FRAMEBUFFER_MULTISAMPLE\n#endif\n\n#ifndef GL_EXT_framebuffer_multisample\n#define GL_EXT_framebuffer_multisample 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_FRAMEBUFFER_MULTISAMPLE\n#define GL_RENDERBUFFER_SAMPLES_EXT               0x8cab     /* 36011 */\n#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT 0x8d56     /* 36182 */\n#define GL_MAX_SAMPLES_EXT                        0x8d57     /* 36183 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_FRAMEBUFFER_MULTISAMPLE\ntypedef void (REGAL_CALL *PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_FRAMEBUFFER_MULTISAMPLE\n#define glRenderbufferStorageMultisampleEXT rglRenderbufferStorageMultisampleEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_FRAMEBUFFER_MULTISAMPLE\nREGAL_DECL void REGAL_CALL glRenderbufferStorageMultisampleEXT(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_FRAMEBUFFER_MULTISAMPLE\nREGAL_DECL void REGAL_CALL plugin_glRenderbufferStorageMultisampleEXT(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);\n#endif\n\n/**\n ** GL_EXT_framebuffer_multisample_blit_scaled\n **/\n\n#if (defined(GL_EXT_FRAMEBUFFER_MULTISAMPLE_BLIT_SCALED) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_FRAMEBUFFER_MULTISAMPLE_BLIT_SCALED)) && !defined(REGAL_NO_ENUM_GL_EXT_FRAMEBUFFER_MULTISAMPLE_BLIT_SCALED)\n#define REGAL_NO_ENUM_GL_EXT_FRAMEBUFFER_MULTISAMPLE_BLIT_SCALED\n#endif\n\n#if (defined(GL_EXT_FRAMEBUFFER_MULTISAMPLE_BLIT_SCALED) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_FRAMEBUFFER_MULTISAMPLE_BLIT_SCALED)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_FRAMEBUFFER_MULTISAMPLE_BLIT_SCALED)\n#define REGAL_NO_TYPEDEF_GL_EXT_FRAMEBUFFER_MULTISAMPLE_BLIT_SCALED\n#endif\n\n#if (defined(GL_EXT_FRAMEBUFFER_MULTISAMPLE_BLIT_SCALED) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_FRAMEBUFFER_MULTISAMPLE_BLIT_SCALED)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_FRAMEBUFFER_MULTISAMPLE_BLIT_SCALED)\n#define REGAL_NO_NAMESPACE_GL_EXT_FRAMEBUFFER_MULTISAMPLE_BLIT_SCALED\n#endif\n\n#if (defined(GL_EXT_FRAMEBUFFER_MULTISAMPLE_BLIT_SCALED) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_FRAMEBUFFER_MULTISAMPLE_BLIT_SCALED)) && !defined(REGAL_NO_PLUGIN_GL_EXT_FRAMEBUFFER_MULTISAMPLE_BLIT_SCALED)\n#define REGAL_NO_PLUGIN_GL_EXT_FRAMEBUFFER_MULTISAMPLE_BLIT_SCALED\n#endif\n\n#if (defined(GL_EXT_FRAMEBUFFER_MULTISAMPLE_BLIT_SCALED) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_FRAMEBUFFER_MULTISAMPLE_BLIT_SCALED)) && !defined(REGAL_NO_DECLARATION_GL_EXT_FRAMEBUFFER_MULTISAMPLE_BLIT_SCALED)\n#define REGAL_NO_DECLARATION_GL_EXT_FRAMEBUFFER_MULTISAMPLE_BLIT_SCALED\n#endif\n\n#ifndef GL_EXT_framebuffer_multisample_blit_scaled\n#define GL_EXT_framebuffer_multisample_blit_scaled 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_FRAMEBUFFER_MULTISAMPLE_BLIT_SCALED\n#define GL_SCALED_RESOLVE_FASTEST_EXT 0x90ba     /* 37050 */\n#define GL_SCALED_RESOLVE_NICEST_EXT  0x90bb     /* 37051 */\n#endif\n\n/**\n ** GL_EXT_framebuffer_object\n **/\n\n#if (defined(GL_EXT_FRAMEBUFFER_OBJECT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_FRAMEBUFFER_OBJECT)) && !defined(REGAL_NO_ENUM_GL_EXT_FRAMEBUFFER_OBJECT)\n#define REGAL_NO_ENUM_GL_EXT_FRAMEBUFFER_OBJECT\n#endif\n\n#if (defined(GL_EXT_FRAMEBUFFER_OBJECT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_FRAMEBUFFER_OBJECT)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_FRAMEBUFFER_OBJECT)\n#define REGAL_NO_TYPEDEF_GL_EXT_FRAMEBUFFER_OBJECT\n#endif\n\n#if (defined(GL_EXT_FRAMEBUFFER_OBJECT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_FRAMEBUFFER_OBJECT)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_FRAMEBUFFER_OBJECT)\n#define REGAL_NO_NAMESPACE_GL_EXT_FRAMEBUFFER_OBJECT\n#endif\n\n#if (defined(GL_EXT_FRAMEBUFFER_OBJECT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_FRAMEBUFFER_OBJECT)) && !defined(REGAL_NO_PLUGIN_GL_EXT_FRAMEBUFFER_OBJECT)\n#define REGAL_NO_PLUGIN_GL_EXT_FRAMEBUFFER_OBJECT\n#endif\n\n#if (defined(GL_EXT_FRAMEBUFFER_OBJECT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_FRAMEBUFFER_OBJECT)) && !defined(REGAL_NO_DECLARATION_GL_EXT_FRAMEBUFFER_OBJECT)\n#define REGAL_NO_DECLARATION_GL_EXT_FRAMEBUFFER_OBJECT\n#endif\n\n#ifndef GL_EXT_framebuffer_object\n#define GL_EXT_framebuffer_object 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_FRAMEBUFFER_OBJECT\n#define GL_INVALID_FRAMEBUFFER_OPERATION_EXT                0x506      /* 1286 */\n#define GL_MAX_RENDERBUFFER_SIZE_EXT                        0x84e8     /* 34024 */\n#define GL_FRAMEBUFFER_BINDING_EXT                          0x8ca6     /* 36006 */\n#define GL_RENDERBUFFER_BINDING_EXT                         0x8ca7     /* 36007 */\n#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT           0x8cd0     /* 36048 */\n#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT           0x8cd1     /* 36049 */\n#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT         0x8cd2     /* 36050 */\n#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT 0x8cd3     /* 36051 */\n#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT    0x8cd4     /* 36052 */\n#define GL_FRAMEBUFFER_COMPLETE_EXT                         0x8cd5     /* 36053 */\n#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT            0x8cd6     /* 36054 */\n#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT    0x8cd7     /* 36055 */\n#define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT            0x8cd9     /* 36057 */\n#define GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT               0x8cda     /* 36058 */\n#define GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT           0x8cdb     /* 36059 */\n#define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT           0x8cdc     /* 36060 */\n#define GL_FRAMEBUFFER_UNSUPPORTED_EXT                      0x8cdd     /* 36061 */\n#define GL_MAX_COLOR_ATTACHMENTS_EXT                        0x8cdf     /* 36063 */\n#define GL_COLOR_ATTACHMENT0_EXT                            0x8ce0     /* 36064 */\n#define GL_COLOR_ATTACHMENT1_EXT                            0x8ce1     /* 36065 */\n#define GL_COLOR_ATTACHMENT2_EXT                            0x8ce2     /* 36066 */\n#define GL_COLOR_ATTACHMENT3_EXT                            0x8ce3     /* 36067 */\n#define GL_COLOR_ATTACHMENT4_EXT                            0x8ce4     /* 36068 */\n#define GL_COLOR_ATTACHMENT5_EXT                            0x8ce5     /* 36069 */\n#define GL_COLOR_ATTACHMENT6_EXT                            0x8ce6     /* 36070 */\n#define GL_COLOR_ATTACHMENT7_EXT                            0x8ce7     /* 36071 */\n#define GL_COLOR_ATTACHMENT8_EXT                            0x8ce8     /* 36072 */\n#define GL_COLOR_ATTACHMENT9_EXT                            0x8ce9     /* 36073 */\n#define GL_COLOR_ATTACHMENT10_EXT                           0x8cea     /* 36074 */\n#define GL_COLOR_ATTACHMENT11_EXT                           0x8ceb     /* 36075 */\n#define GL_COLOR_ATTACHMENT12_EXT                           0x8cec     /* 36076 */\n#define GL_COLOR_ATTACHMENT13_EXT                           0x8ced     /* 36077 */\n#define GL_COLOR_ATTACHMENT14_EXT                           0x8cee     /* 36078 */\n#define GL_COLOR_ATTACHMENT15_EXT                           0x8cef     /* 36079 */\n#define GL_DEPTH_ATTACHMENT_EXT                             0x8d00     /* 36096 */\n#define GL_STENCIL_ATTACHMENT_EXT                           0x8d20     /* 36128 */\n#define GL_FRAMEBUFFER_EXT                                  0x8d40     /* 36160 */\n#define GL_RENDERBUFFER_EXT                                 0x8d41     /* 36161 */\n#define GL_RENDERBUFFER_WIDTH_EXT                           0x8d42     /* 36162 */\n#define GL_RENDERBUFFER_HEIGHT_EXT                          0x8d43     /* 36163 */\n#define GL_RENDERBUFFER_INTERNAL_FORMAT_EXT                 0x8d44     /* 36164 */\n#define GL_STENCIL_INDEX1_EXT                               0x8d46     /* 36166 */\n#define GL_STENCIL_INDEX4_EXT                               0x8d47     /* 36167 */\n#define GL_STENCIL_INDEX8_EXT                               0x8d48     /* 36168 */\n#define GL_STENCIL_INDEX16_EXT                              0x8d49     /* 36169 */\n#define GL_RENDERBUFFER_RED_SIZE_EXT                        0x8d50     /* 36176 */\n#define GL_RENDERBUFFER_GREEN_SIZE_EXT                      0x8d51     /* 36177 */\n#define GL_RENDERBUFFER_BLUE_SIZE_EXT                       0x8d52     /* 36178 */\n#define GL_RENDERBUFFER_ALPHA_SIZE_EXT                      0x8d53     /* 36179 */\n#define GL_RENDERBUFFER_DEPTH_SIZE_EXT                      0x8d54     /* 36180 */\n#define GL_RENDERBUFFER_STENCIL_SIZE_EXT                    0x8d55     /* 36181 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_FRAMEBUFFER_OBJECT\ntypedef GLboolean (REGAL_CALL *PFNGLISFRAMEBUFFEREXTPROC)(GLuint framebuffer);\ntypedef GLboolean (REGAL_CALL *PFNGLISRENDERBUFFEREXTPROC)(GLuint renderbuffer);\ntypedef GLenum (REGAL_CALL *PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC)(GLenum target);\ntypedef void (REGAL_CALL *PFNGLBINDFRAMEBUFFEREXTPROC)(GLenum target, GLuint framebuffer);\ntypedef void (REGAL_CALL *PFNGLBINDRENDERBUFFEREXTPROC)(GLenum target, GLuint renderbuffer);\ntypedef void (REGAL_CALL *PFNGLDELETEFRAMEBUFFERSEXTPROC)(GLsizei n, const GLuint *framebuffers);\ntypedef void (REGAL_CALL *PFNGLDELETERENDERBUFFERSEXTPROC)(GLsizei n, const GLuint *renderbuffers);\ntypedef void (REGAL_CALL *PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC)(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);\ntypedef void (REGAL_CALL *PFNGLFRAMEBUFFERTEXTURE1DEXTPROC)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);\ntypedef void (REGAL_CALL *PFNGLFRAMEBUFFERTEXTURE2DEXTPROC)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);\ntypedef void (REGAL_CALL *PFNGLFRAMEBUFFERTEXTURE3DEXTPROC)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);\ntypedef void (REGAL_CALL *PFNGLGENERATEMIPMAPEXTPROC)(GLenum target);\ntypedef void (REGAL_CALL *PFNGLGENFRAMEBUFFERSEXTPROC)(GLsizei n, GLuint *framebuffers);\ntypedef void (REGAL_CALL *PFNGLGENRENDERBUFFERSEXTPROC)(GLsizei n, GLuint *renderbuffers);\ntypedef void (REGAL_CALL *PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC)(GLenum target, GLenum attachment, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC)(GLenum target, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLRENDERBUFFERSTORAGEEXTPROC)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_FRAMEBUFFER_OBJECT\n#define glBindFramebufferEXT                rglBindFramebufferEXT\n#define glBindRenderbufferEXT               rglBindRenderbufferEXT\n#define glCheckFramebufferStatusEXT         rglCheckFramebufferStatusEXT\n#define glDeleteFramebuffersEXT             rglDeleteFramebuffersEXT\n#define glDeleteRenderbuffersEXT            rglDeleteRenderbuffersEXT\n#define glFramebufferRenderbufferEXT        rglFramebufferRenderbufferEXT\n#define glFramebufferTexture1DEXT           rglFramebufferTexture1DEXT\n#define glFramebufferTexture2DEXT           rglFramebufferTexture2DEXT\n#define glFramebufferTexture3DEXT           rglFramebufferTexture3DEXT\n#define glGenFramebuffersEXT                rglGenFramebuffersEXT\n#define glGenRenderbuffersEXT               rglGenRenderbuffersEXT\n#define glGenerateMipmapEXT                 rglGenerateMipmapEXT\n#define glGetFramebufferAttachmentParameterivEXT rglGetFramebufferAttachmentParameterivEXT\n#define glGetRenderbufferParameterivEXT     rglGetRenderbufferParameterivEXT\n#define glIsFramebufferEXT                  rglIsFramebufferEXT\n#define glIsRenderbufferEXT                 rglIsRenderbufferEXT\n#define glRenderbufferStorageEXT            rglRenderbufferStorageEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_FRAMEBUFFER_OBJECT\nREGAL_DECL GLboolean REGAL_CALL glIsFramebufferEXT(GLuint framebuffer);\nREGAL_DECL GLboolean REGAL_CALL glIsRenderbufferEXT(GLuint renderbuffer);\nREGAL_DECL GLenum REGAL_CALL glCheckFramebufferStatusEXT(GLenum target);\nREGAL_DECL void REGAL_CALL glBindFramebufferEXT(GLenum target, GLuint framebuffer);\nREGAL_DECL void REGAL_CALL glBindRenderbufferEXT(GLenum target, GLuint renderbuffer);\nREGAL_DECL void REGAL_CALL glDeleteFramebuffersEXT(GLsizei n, const GLuint *framebuffers);\nREGAL_DECL void REGAL_CALL glDeleteRenderbuffersEXT(GLsizei n, const GLuint *renderbuffers);\nREGAL_DECL void REGAL_CALL glFramebufferRenderbufferEXT(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);\nREGAL_DECL void REGAL_CALL glFramebufferTexture1DEXT(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);\nREGAL_DECL void REGAL_CALL glFramebufferTexture2DEXT(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);\nREGAL_DECL void REGAL_CALL glFramebufferTexture3DEXT(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);\nREGAL_DECL void REGAL_CALL glGenFramebuffersEXT(GLsizei n, GLuint *framebuffers);\nREGAL_DECL void REGAL_CALL glGenRenderbuffersEXT(GLsizei n, GLuint *renderbuffers);\nREGAL_DECL void REGAL_CALL glGenerateMipmapEXT(GLenum target);\nREGAL_DECL void REGAL_CALL glGetFramebufferAttachmentParameterivEXT(GLenum target, GLenum attachment, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetRenderbufferParameterivEXT(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glRenderbufferStorageEXT(GLenum target, GLenum internalformat, GLsizei width, GLsizei height);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_FRAMEBUFFER_OBJECT\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsFramebufferEXT(GLuint framebuffer);\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsRenderbufferEXT(GLuint renderbuffer);\nREGAL_DECL GLenum REGAL_CALL plugin_glCheckFramebufferStatusEXT(GLenum target);\nREGAL_DECL void REGAL_CALL plugin_glBindFramebufferEXT(GLenum target, GLuint framebuffer);\nREGAL_DECL void REGAL_CALL plugin_glBindRenderbufferEXT(GLenum target, GLuint renderbuffer);\nREGAL_DECL void REGAL_CALL plugin_glDeleteFramebuffersEXT(GLsizei n, const GLuint *framebuffers);\nREGAL_DECL void REGAL_CALL plugin_glDeleteRenderbuffersEXT(GLsizei n, const GLuint *renderbuffers);\nREGAL_DECL void REGAL_CALL plugin_glFramebufferRenderbufferEXT(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);\nREGAL_DECL void REGAL_CALL plugin_glFramebufferTexture1DEXT(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);\nREGAL_DECL void REGAL_CALL plugin_glFramebufferTexture2DEXT(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);\nREGAL_DECL void REGAL_CALL plugin_glFramebufferTexture3DEXT(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);\nREGAL_DECL void REGAL_CALL plugin_glGenFramebuffersEXT(GLsizei n, GLuint *framebuffers);\nREGAL_DECL void REGAL_CALL plugin_glGenRenderbuffersEXT(GLsizei n, GLuint *renderbuffers);\nREGAL_DECL void REGAL_CALL plugin_glGenerateMipmapEXT(GLenum target);\nREGAL_DECL void REGAL_CALL plugin_glGetFramebufferAttachmentParameterivEXT(GLenum target, GLenum attachment, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetRenderbufferParameterivEXT(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glRenderbufferStorageEXT(GLenum target, GLenum internalformat, GLsizei width, GLsizei height);\n#endif\n\n/**\n ** GL_EXT_framebuffer_sRGB\n **/\n\n#if (defined(GL_EXT_FRAMEBUFFER_SRGB) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_FRAMEBUFFER_SRGB)) && !defined(REGAL_NO_ENUM_GL_EXT_FRAMEBUFFER_SRGB)\n#define REGAL_NO_ENUM_GL_EXT_FRAMEBUFFER_SRGB\n#endif\n\n#if (defined(GL_EXT_FRAMEBUFFER_SRGB) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_FRAMEBUFFER_SRGB)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_FRAMEBUFFER_SRGB)\n#define REGAL_NO_TYPEDEF_GL_EXT_FRAMEBUFFER_SRGB\n#endif\n\n#if (defined(GL_EXT_FRAMEBUFFER_SRGB) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_FRAMEBUFFER_SRGB)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_FRAMEBUFFER_SRGB)\n#define REGAL_NO_NAMESPACE_GL_EXT_FRAMEBUFFER_SRGB\n#endif\n\n#if (defined(GL_EXT_FRAMEBUFFER_SRGB) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_FRAMEBUFFER_SRGB)) && !defined(REGAL_NO_PLUGIN_GL_EXT_FRAMEBUFFER_SRGB)\n#define REGAL_NO_PLUGIN_GL_EXT_FRAMEBUFFER_SRGB\n#endif\n\n#if (defined(GL_EXT_FRAMEBUFFER_SRGB) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_FRAMEBUFFER_SRGB)) && !defined(REGAL_NO_DECLARATION_GL_EXT_FRAMEBUFFER_SRGB)\n#define REGAL_NO_DECLARATION_GL_EXT_FRAMEBUFFER_SRGB\n#endif\n\n#ifndef GL_EXT_framebuffer_sRGB\n#define GL_EXT_framebuffer_sRGB 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_FRAMEBUFFER_SRGB\n#define GL_FRAMEBUFFER_SRGB_EXT         0x8db9     /* 36281 */\n#define GL_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x8dba     /* 36282 */\n#endif\n\n/**\n ** GL_EXT_geometry_shader4\n **/\n\n#if (defined(GL_EXT_GEOMETRY_SHADER4) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_GEOMETRY_SHADER4)) && !defined(REGAL_NO_ENUM_GL_EXT_GEOMETRY_SHADER4)\n#define REGAL_NO_ENUM_GL_EXT_GEOMETRY_SHADER4\n#endif\n\n#if (defined(GL_EXT_GEOMETRY_SHADER4) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_GEOMETRY_SHADER4)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_GEOMETRY_SHADER4)\n#define REGAL_NO_TYPEDEF_GL_EXT_GEOMETRY_SHADER4\n#endif\n\n#if (defined(GL_EXT_GEOMETRY_SHADER4) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_GEOMETRY_SHADER4)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_GEOMETRY_SHADER4)\n#define REGAL_NO_NAMESPACE_GL_EXT_GEOMETRY_SHADER4\n#endif\n\n#if (defined(GL_EXT_GEOMETRY_SHADER4) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_GEOMETRY_SHADER4)) && !defined(REGAL_NO_PLUGIN_GL_EXT_GEOMETRY_SHADER4)\n#define REGAL_NO_PLUGIN_GL_EXT_GEOMETRY_SHADER4\n#endif\n\n#if (defined(GL_EXT_GEOMETRY_SHADER4) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_GEOMETRY_SHADER4)) && !defined(REGAL_NO_DECLARATION_GL_EXT_GEOMETRY_SHADER4)\n#define REGAL_NO_DECLARATION_GL_EXT_GEOMETRY_SHADER4\n#endif\n\n#ifndef GL_EXT_geometry_shader4\n#define GL_EXT_geometry_shader4 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_GEOMETRY_SHADER4\n#define GL_PROGRAM_POINT_SIZE_EXT                   0x8642     /* 34370 */\n#define GL_MAX_VARYING_COMPONENTS_EXT               0x8b4b     /* 35659 */\n#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT     0x8c29     /* 35881 */\n#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT 0x8cd4     /* 36052 */\n#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT       0x8da7     /* 36263 */\n#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT 0x8da8     /* 36264 */\n#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT   0x8da9     /* 36265 */\n#define GL_GEOMETRY_SHADER_EXT                      0x8dd9     /* 36313 */\n#define GL_GEOMETRY_VERTICES_OUT_EXT                0x8dda     /* 36314 */\n#define GL_GEOMETRY_INPUT_TYPE_EXT                  0x8ddb     /* 36315 */\n#define GL_GEOMETRY_OUTPUT_TYPE_EXT                 0x8ddc     /* 36316 */\n#define GL_MAX_GEOMETRY_VARYING_COMPONENTS_EXT      0x8ddd     /* 36317 */\n#define GL_MAX_VERTEX_VARYING_COMPONENTS_EXT        0x8dde     /* 36318 */\n#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT      0x8ddf     /* 36319 */\n#define GL_MAX_GEOMETRY_OUTPUT_VERTICES_EXT         0x8de0     /* 36320 */\n#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT 0x8de1     /* 36321 */\n#define GL_LINES_ADJACENCY_EXT                      0xa        /* 10 */\n#define GL_LINE_STRIP_ADJACENCY_EXT                 0xb        /* 11 */\n#define GL_TRIANGLES_ADJACENCY_EXT                  0xc        /* 12 */\n#define GL_TRIANGLE_STRIP_ADJACENCY_EXT             0xd        /* 13 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_GEOMETRY_SHADER4\ntypedef void (REGAL_CALL *PFNGLFRAMEBUFFERTEXTUREEXTPROC)(GLenum target, GLenum attachment, GLuint texture, GLint level);\ntypedef void (REGAL_CALL *PFNGLFRAMEBUFFERTEXTUREFACEEXTPROC)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face);\ntypedef void (REGAL_CALL *PFNGLPROGRAMPARAMETERIEXTPROC)(GLuint program, GLenum pname, GLint value);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_GEOMETRY_SHADER4\n#define glFramebufferTextureEXT             rglFramebufferTextureEXT\n#define glFramebufferTextureFaceEXT         rglFramebufferTextureFaceEXT\n#define glProgramParameteriEXT              rglProgramParameteriEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_GEOMETRY_SHADER4\nREGAL_DECL void REGAL_CALL glFramebufferTextureEXT(GLenum target, GLenum attachment, GLuint texture, GLint level);\nREGAL_DECL void REGAL_CALL glFramebufferTextureFaceEXT(GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face);\nREGAL_DECL void REGAL_CALL glProgramParameteriEXT(GLuint program, GLenum pname, GLint value);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_GEOMETRY_SHADER4\nREGAL_DECL void REGAL_CALL plugin_glFramebufferTextureEXT(GLenum target, GLenum attachment, GLuint texture, GLint level);\nREGAL_DECL void REGAL_CALL plugin_glFramebufferTextureFaceEXT(GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face);\nREGAL_DECL void REGAL_CALL plugin_glProgramParameteriEXT(GLuint program, GLenum pname, GLint value);\n#endif\n\n/**\n ** GL_EXT_gpu_program_parameters\n **/\n\n#if (defined(GL_EXT_GPU_PROGRAM_PARAMETERS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_GPU_PROGRAM_PARAMETERS)) && !defined(REGAL_NO_ENUM_GL_EXT_GPU_PROGRAM_PARAMETERS)\n#define REGAL_NO_ENUM_GL_EXT_GPU_PROGRAM_PARAMETERS\n#endif\n\n#if (defined(GL_EXT_GPU_PROGRAM_PARAMETERS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_GPU_PROGRAM_PARAMETERS)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_GPU_PROGRAM_PARAMETERS)\n#define REGAL_NO_TYPEDEF_GL_EXT_GPU_PROGRAM_PARAMETERS\n#endif\n\n#if (defined(GL_EXT_GPU_PROGRAM_PARAMETERS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_GPU_PROGRAM_PARAMETERS)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_GPU_PROGRAM_PARAMETERS)\n#define REGAL_NO_NAMESPACE_GL_EXT_GPU_PROGRAM_PARAMETERS\n#endif\n\n#if (defined(GL_EXT_GPU_PROGRAM_PARAMETERS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_GPU_PROGRAM_PARAMETERS)) && !defined(REGAL_NO_PLUGIN_GL_EXT_GPU_PROGRAM_PARAMETERS)\n#define REGAL_NO_PLUGIN_GL_EXT_GPU_PROGRAM_PARAMETERS\n#endif\n\n#if (defined(GL_EXT_GPU_PROGRAM_PARAMETERS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_GPU_PROGRAM_PARAMETERS)) && !defined(REGAL_NO_DECLARATION_GL_EXT_GPU_PROGRAM_PARAMETERS)\n#define REGAL_NO_DECLARATION_GL_EXT_GPU_PROGRAM_PARAMETERS\n#endif\n\n#ifndef GL_EXT_gpu_program_parameters\n#define GL_EXT_gpu_program_parameters 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_GPU_PROGRAM_PARAMETERS\ntypedef void (REGAL_CALL *PFNGLPROGRAMENVPARAMETERS4FVEXTPROC)(GLenum target, GLuint index, GLsizei count, const GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLPROGRAMLOCALPARAMETERS4FVEXTPROC)(GLenum target, GLuint index, GLsizei count, const GLfloat *params);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_GPU_PROGRAM_PARAMETERS\n#define glProgramEnvParameters4fvEXT        rglProgramEnvParameters4fvEXT\n#define glProgramLocalParameters4fvEXT      rglProgramLocalParameters4fvEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_GPU_PROGRAM_PARAMETERS\nREGAL_DECL void REGAL_CALL glProgramEnvParameters4fvEXT(GLenum target, GLuint index, GLsizei count, const GLfloat *params);\nREGAL_DECL void REGAL_CALL glProgramLocalParameters4fvEXT(GLenum target, GLuint index, GLsizei count, const GLfloat *params);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_GPU_PROGRAM_PARAMETERS\nREGAL_DECL void REGAL_CALL plugin_glProgramEnvParameters4fvEXT(GLenum target, GLuint index, GLsizei count, const GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glProgramLocalParameters4fvEXT(GLenum target, GLuint index, GLsizei count, const GLfloat *params);\n#endif\n\n/**\n ** GL_EXT_gpu_shader4\n **/\n\n#if (defined(GL_EXT_GPU_SHADER4) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_GPU_SHADER4)) && !defined(REGAL_NO_ENUM_GL_EXT_GPU_SHADER4)\n#define REGAL_NO_ENUM_GL_EXT_GPU_SHADER4\n#endif\n\n#if (defined(GL_EXT_GPU_SHADER4) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_GPU_SHADER4)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_GPU_SHADER4)\n#define REGAL_NO_TYPEDEF_GL_EXT_GPU_SHADER4\n#endif\n\n#if (defined(GL_EXT_GPU_SHADER4) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_GPU_SHADER4)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_GPU_SHADER4)\n#define REGAL_NO_NAMESPACE_GL_EXT_GPU_SHADER4\n#endif\n\n#if (defined(GL_EXT_GPU_SHADER4) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_GPU_SHADER4)) && !defined(REGAL_NO_PLUGIN_GL_EXT_GPU_SHADER4)\n#define REGAL_NO_PLUGIN_GL_EXT_GPU_SHADER4\n#endif\n\n#if (defined(GL_EXT_GPU_SHADER4) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_GPU_SHADER4)) && !defined(REGAL_NO_DECLARATION_GL_EXT_GPU_SHADER4)\n#define REGAL_NO_DECLARATION_GL_EXT_GPU_SHADER4\n#endif\n\n#ifndef GL_EXT_gpu_shader4\n#define GL_EXT_gpu_shader4 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_GPU_SHADER4\n#define GL_VERTEX_ATTRIB_ARRAY_INTEGER_EXT   0x88fd     /* 35069 */\n#define GL_SAMPLER_1D_ARRAY_EXT              0x8dc0     /* 36288 */\n#define GL_SAMPLER_2D_ARRAY_EXT              0x8dc1     /* 36289 */\n#define GL_SAMPLER_BUFFER_EXT                0x8dc2     /* 36290 */\n#define GL_SAMPLER_1D_ARRAY_SHADOW_EXT       0x8dc3     /* 36291 */\n#define GL_SAMPLER_2D_ARRAY_SHADOW_EXT       0x8dc4     /* 36292 */\n#define GL_SAMPLER_CUBE_SHADOW_EXT           0x8dc5     /* 36293 */\n#define GL_UNSIGNED_INT_VEC2_EXT             0x8dc6     /* 36294 */\n#define GL_UNSIGNED_INT_VEC3_EXT             0x8dc7     /* 36295 */\n#define GL_UNSIGNED_INT_VEC4_EXT             0x8dc8     /* 36296 */\n#define GL_INT_SAMPLER_1D_EXT                0x8dc9     /* 36297 */\n#define GL_INT_SAMPLER_2D_EXT                0x8dca     /* 36298 */\n#define GL_INT_SAMPLER_3D_EXT                0x8dcb     /* 36299 */\n#define GL_INT_SAMPLER_CUBE_EXT              0x8dcc     /* 36300 */\n#define GL_INT_SAMPLER_2D_RECT_EXT           0x8dcd     /* 36301 */\n#define GL_INT_SAMPLER_1D_ARRAY_EXT          0x8dce     /* 36302 */\n#define GL_INT_SAMPLER_2D_ARRAY_EXT          0x8dcf     /* 36303 */\n#define GL_INT_SAMPLER_BUFFER_EXT            0x8dd0     /* 36304 */\n#define GL_UNSIGNED_INT_SAMPLER_1D_EXT       0x8dd1     /* 36305 */\n#define GL_UNSIGNED_INT_SAMPLER_2D_EXT       0x8dd2     /* 36306 */\n#define GL_UNSIGNED_INT_SAMPLER_3D_EXT       0x8dd3     /* 36307 */\n#define GL_UNSIGNED_INT_SAMPLER_CUBE_EXT     0x8dd4     /* 36308 */\n#define GL_UNSIGNED_INT_SAMPLER_2D_RECT_EXT  0x8dd5     /* 36309 */\n#define GL_UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT 0x8dd6     /* 36310 */\n#define GL_UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT 0x8dd7     /* 36311 */\n#define GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT   0x8dd8     /* 36312 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_GPU_SHADER4\ntypedef GLint (REGAL_CALL *PFNGLGETFRAGDATALOCATIONEXTPROC)(GLuint program, const GLchar *name);\ntypedef void (REGAL_CALL *PFNGLBINDFRAGDATALOCATIONEXTPROC)(GLuint program, GLuint color, const GLchar *name);\ntypedef void (REGAL_CALL *PFNGLGETUNIFORMUIVEXTPROC)(GLuint program, GLint location, GLuint *params);\ntypedef void (REGAL_CALL *PFNGLGETVERTEXATTRIBIIVEXTPROC)(GLuint index, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETVERTEXATTRIBIUIVEXTPROC)(GLuint index, GLenum pname, GLuint *params);\ntypedef void (REGAL_CALL *PFNGLUNIFORM1UIEXTPROC)(GLint location, GLuint v0);\ntypedef void (REGAL_CALL *PFNGLUNIFORM1UIVEXTPROC)(GLint location, GLsizei count, const GLuint *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORM2UIEXTPROC)(GLint location, GLuint v0, GLuint v1);\ntypedef void (REGAL_CALL *PFNGLUNIFORM2UIVEXTPROC)(GLint location, GLsizei count, const GLuint *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORM3UIEXTPROC)(GLint location, GLuint v0, GLuint v1, GLuint v2);\ntypedef void (REGAL_CALL *PFNGLUNIFORM3UIVEXTPROC)(GLint location, GLsizei count, const GLuint *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORM4UIEXTPROC)(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);\ntypedef void (REGAL_CALL *PFNGLUNIFORM4UIVEXTPROC)(GLint location, GLsizei count, const GLuint *value);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBI1IEXTPROC)(GLuint index, GLint x);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBI1IVEXTPROC)(GLuint index, const GLint *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBI1UIEXTPROC)(GLuint index, GLuint x);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBI1UIVEXTPROC)(GLuint index, const GLuint *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBI2IEXTPROC)(GLuint index, GLint x, GLint y);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBI2IVEXTPROC)(GLuint index, const GLint *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBI2UIEXTPROC)(GLuint index, GLuint x, GLuint y);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBI2UIVEXTPROC)(GLuint index, const GLuint *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBI3IEXTPROC)(GLuint index, GLint x, GLint y, GLint z);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBI3IVEXTPROC)(GLuint index, const GLint *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBI3UIEXTPROC)(GLuint index, GLuint x, GLuint y, GLuint z);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBI3UIVEXTPROC)(GLuint index, const GLuint *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBI4BVEXTPROC)(GLuint index, const GLbyte *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBI4IEXTPROC)(GLuint index, GLint x, GLint y, GLint z, GLint w);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBI4IVEXTPROC)(GLuint index, const GLint *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBI4SVEXTPROC)(GLuint index, const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBI4UBVEXTPROC)(GLuint index, const GLubyte *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBI4UIEXTPROC)(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBI4UIVEXTPROC)(GLuint index, const GLuint *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBI4USVEXTPROC)(GLuint index, const GLushort *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBIPOINTEREXTPROC)(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_GPU_SHADER4\n#define glBindFragDataLocationEXT           rglBindFragDataLocationEXT\n#define glGetFragDataLocationEXT            rglGetFragDataLocationEXT\n#define glGetUniformuivEXT                  rglGetUniformuivEXT\n#define glGetVertexAttribIivEXT             rglGetVertexAttribIivEXT\n#define glGetVertexAttribIuivEXT            rglGetVertexAttribIuivEXT\n#define glUniform1uiEXT                     rglUniform1uiEXT\n#define glUniform1uivEXT                    rglUniform1uivEXT\n#define glUniform2uiEXT                     rglUniform2uiEXT\n#define glUniform2uivEXT                    rglUniform2uivEXT\n#define glUniform3uiEXT                     rglUniform3uiEXT\n#define glUniform3uivEXT                    rglUniform3uivEXT\n#define glUniform4uiEXT                     rglUniform4uiEXT\n#define glUniform4uivEXT                    rglUniform4uivEXT\n#define glVertexAttribI1iEXT                rglVertexAttribI1iEXT\n#define glVertexAttribI1ivEXT               rglVertexAttribI1ivEXT\n#define glVertexAttribI1uiEXT               rglVertexAttribI1uiEXT\n#define glVertexAttribI1uivEXT              rglVertexAttribI1uivEXT\n#define glVertexAttribI2iEXT                rglVertexAttribI2iEXT\n#define glVertexAttribI2ivEXT               rglVertexAttribI2ivEXT\n#define glVertexAttribI2uiEXT               rglVertexAttribI2uiEXT\n#define glVertexAttribI2uivEXT              rglVertexAttribI2uivEXT\n#define glVertexAttribI3iEXT                rglVertexAttribI3iEXT\n#define glVertexAttribI3ivEXT               rglVertexAttribI3ivEXT\n#define glVertexAttribI3uiEXT               rglVertexAttribI3uiEXT\n#define glVertexAttribI3uivEXT              rglVertexAttribI3uivEXT\n#define glVertexAttribI4bvEXT               rglVertexAttribI4bvEXT\n#define glVertexAttribI4iEXT                rglVertexAttribI4iEXT\n#define glVertexAttribI4ivEXT               rglVertexAttribI4ivEXT\n#define glVertexAttribI4svEXT               rglVertexAttribI4svEXT\n#define glVertexAttribI4ubvEXT              rglVertexAttribI4ubvEXT\n#define glVertexAttribI4uiEXT               rglVertexAttribI4uiEXT\n#define glVertexAttribI4uivEXT              rglVertexAttribI4uivEXT\n#define glVertexAttribI4usvEXT              rglVertexAttribI4usvEXT\n#define glVertexAttribIPointerEXT           rglVertexAttribIPointerEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_GPU_SHADER4\nREGAL_DECL GLint REGAL_CALL glGetFragDataLocationEXT(GLuint program, const GLchar *name);\nREGAL_DECL void REGAL_CALL glBindFragDataLocationEXT(GLuint program, GLuint color, const GLchar *name);\nREGAL_DECL void REGAL_CALL glGetUniformuivEXT(GLuint program, GLint location, GLuint *params);\nREGAL_DECL void REGAL_CALL glGetVertexAttribIivEXT(GLuint index, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetVertexAttribIuivEXT(GLuint index, GLenum pname, GLuint *params);\nREGAL_DECL void REGAL_CALL glUniform1uiEXT(GLint location, GLuint v0);\nREGAL_DECL void REGAL_CALL glUniform1uivEXT(GLint location, GLsizei count, const GLuint *value);\nREGAL_DECL void REGAL_CALL glUniform2uiEXT(GLint location, GLuint v0, GLuint v1);\nREGAL_DECL void REGAL_CALL glUniform2uivEXT(GLint location, GLsizei count, const GLuint *value);\nREGAL_DECL void REGAL_CALL glUniform3uiEXT(GLint location, GLuint v0, GLuint v1, GLuint v2);\nREGAL_DECL void REGAL_CALL glUniform3uivEXT(GLint location, GLsizei count, const GLuint *value);\nREGAL_DECL void REGAL_CALL glUniform4uiEXT(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);\nREGAL_DECL void REGAL_CALL glUniform4uivEXT(GLint location, GLsizei count, const GLuint *value);\nREGAL_DECL void REGAL_CALL glVertexAttribI1iEXT(GLuint index, GLint x);\nREGAL_DECL void REGAL_CALL glVertexAttribI1ivEXT(GLuint index, const GLint *v);\nREGAL_DECL void REGAL_CALL glVertexAttribI1uiEXT(GLuint index, GLuint x);\nREGAL_DECL void REGAL_CALL glVertexAttribI1uivEXT(GLuint index, const GLuint *v);\nREGAL_DECL void REGAL_CALL glVertexAttribI2iEXT(GLuint index, GLint x, GLint y);\nREGAL_DECL void REGAL_CALL glVertexAttribI2ivEXT(GLuint index, const GLint *v);\nREGAL_DECL void REGAL_CALL glVertexAttribI2uiEXT(GLuint index, GLuint x, GLuint y);\nREGAL_DECL void REGAL_CALL glVertexAttribI2uivEXT(GLuint index, const GLuint *v);\nREGAL_DECL void REGAL_CALL glVertexAttribI3iEXT(GLuint index, GLint x, GLint y, GLint z);\nREGAL_DECL void REGAL_CALL glVertexAttribI3ivEXT(GLuint index, const GLint *v);\nREGAL_DECL void REGAL_CALL glVertexAttribI3uiEXT(GLuint index, GLuint x, GLuint y, GLuint z);\nREGAL_DECL void REGAL_CALL glVertexAttribI3uivEXT(GLuint index, const GLuint *v);\nREGAL_DECL void REGAL_CALL glVertexAttribI4bvEXT(GLuint index, const GLbyte *v);\nREGAL_DECL void REGAL_CALL glVertexAttribI4iEXT(GLuint index, GLint x, GLint y, GLint z, GLint w);\nREGAL_DECL void REGAL_CALL glVertexAttribI4ivEXT(GLuint index, const GLint *v);\nREGAL_DECL void REGAL_CALL glVertexAttribI4svEXT(GLuint index, const GLshort *v);\nREGAL_DECL void REGAL_CALL glVertexAttribI4ubvEXT(GLuint index, const GLubyte *v);\nREGAL_DECL void REGAL_CALL glVertexAttribI4uiEXT(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);\nREGAL_DECL void REGAL_CALL glVertexAttribI4uivEXT(GLuint index, const GLuint *v);\nREGAL_DECL void REGAL_CALL glVertexAttribI4usvEXT(GLuint index, const GLushort *v);\nREGAL_DECL void REGAL_CALL glVertexAttribIPointerEXT(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_GPU_SHADER4\nREGAL_DECL GLint REGAL_CALL plugin_glGetFragDataLocationEXT(GLuint program, const GLchar *name);\nREGAL_DECL void REGAL_CALL plugin_glBindFragDataLocationEXT(GLuint program, GLuint color, const GLchar *name);\nREGAL_DECL void REGAL_CALL plugin_glGetUniformuivEXT(GLuint program, GLint location, GLuint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetVertexAttribIivEXT(GLuint index, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetVertexAttribIuivEXT(GLuint index, GLenum pname, GLuint *params);\nREGAL_DECL void REGAL_CALL plugin_glUniform1uiEXT(GLint location, GLuint v0);\nREGAL_DECL void REGAL_CALL plugin_glUniform1uivEXT(GLint location, GLsizei count, const GLuint *value);\nREGAL_DECL void REGAL_CALL plugin_glUniform2uiEXT(GLint location, GLuint v0, GLuint v1);\nREGAL_DECL void REGAL_CALL plugin_glUniform2uivEXT(GLint location, GLsizei count, const GLuint *value);\nREGAL_DECL void REGAL_CALL plugin_glUniform3uiEXT(GLint location, GLuint v0, GLuint v1, GLuint v2);\nREGAL_DECL void REGAL_CALL plugin_glUniform3uivEXT(GLint location, GLsizei count, const GLuint *value);\nREGAL_DECL void REGAL_CALL plugin_glUniform4uiEXT(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);\nREGAL_DECL void REGAL_CALL plugin_glUniform4uivEXT(GLint location, GLsizei count, const GLuint *value);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribI1iEXT(GLuint index, GLint x);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribI1ivEXT(GLuint index, const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribI1uiEXT(GLuint index, GLuint x);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribI1uivEXT(GLuint index, const GLuint *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribI2iEXT(GLuint index, GLint x, GLint y);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribI2ivEXT(GLuint index, const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribI2uiEXT(GLuint index, GLuint x, GLuint y);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribI2uivEXT(GLuint index, const GLuint *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribI3iEXT(GLuint index, GLint x, GLint y, GLint z);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribI3ivEXT(GLuint index, const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribI3uiEXT(GLuint index, GLuint x, GLuint y, GLuint z);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribI3uivEXT(GLuint index, const GLuint *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribI4bvEXT(GLuint index, const GLbyte *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribI4iEXT(GLuint index, GLint x, GLint y, GLint z, GLint w);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribI4ivEXT(GLuint index, const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribI4svEXT(GLuint index, const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribI4ubvEXT(GLuint index, const GLubyte *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribI4uiEXT(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribI4uivEXT(GLuint index, const GLuint *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribI4usvEXT(GLuint index, const GLushort *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribIPointerEXT(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);\n#endif\n\n/**\n ** GL_EXT_histogram\n **/\n\n#if (defined(GL_EXT_HISTOGRAM) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_HISTOGRAM)) && !defined(REGAL_NO_ENUM_GL_EXT_HISTOGRAM)\n#define REGAL_NO_ENUM_GL_EXT_HISTOGRAM\n#endif\n\n#if (defined(GL_EXT_HISTOGRAM) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_HISTOGRAM)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_HISTOGRAM)\n#define REGAL_NO_TYPEDEF_GL_EXT_HISTOGRAM\n#endif\n\n#if (defined(GL_EXT_HISTOGRAM) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_HISTOGRAM)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_HISTOGRAM)\n#define REGAL_NO_NAMESPACE_GL_EXT_HISTOGRAM\n#endif\n\n#if (defined(GL_EXT_HISTOGRAM) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_HISTOGRAM)) && !defined(REGAL_NO_PLUGIN_GL_EXT_HISTOGRAM)\n#define REGAL_NO_PLUGIN_GL_EXT_HISTOGRAM\n#endif\n\n#if (defined(GL_EXT_HISTOGRAM) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_HISTOGRAM)) && !defined(REGAL_NO_DECLARATION_GL_EXT_HISTOGRAM)\n#define REGAL_NO_DECLARATION_GL_EXT_HISTOGRAM\n#endif\n\n#ifndef GL_EXT_histogram\n#define GL_EXT_histogram 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_HISTOGRAM\n#define GL_HISTOGRAM_EXT                0x8024     /* 32804 */\n#define GL_PROXY_HISTOGRAM_EXT          0x8025     /* 32805 */\n#define GL_HISTOGRAM_WIDTH_EXT          0x8026     /* 32806 */\n#define GL_HISTOGRAM_FORMAT_EXT         0x8027     /* 32807 */\n#define GL_HISTOGRAM_RED_SIZE_EXT       0x8028     /* 32808 */\n#define GL_HISTOGRAM_GREEN_SIZE_EXT     0x8029     /* 32809 */\n#define GL_HISTOGRAM_BLUE_SIZE_EXT      0x802a     /* 32810 */\n#define GL_HISTOGRAM_ALPHA_SIZE_EXT     0x802b     /* 32811 */\n#define GL_HISTOGRAM_LUMINANCE_SIZE_EXT 0x802c     /* 32812 */\n#define GL_HISTOGRAM_SINK_EXT           0x802d     /* 32813 */\n#define GL_MINMAX_EXT                   0x802e     /* 32814 */\n#define GL_MINMAX_FORMAT_EXT            0x802f     /* 32815 */\n#define GL_MINMAX_SINK_EXT              0x8030     /* 32816 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_HISTOGRAM\ntypedef void (REGAL_CALL *PFNGLGETHISTOGRAMEXTPROC)(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);\ntypedef void (REGAL_CALL *PFNGLGETHISTOGRAMPARAMETERFVEXTPROC)(GLenum target, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETHISTOGRAMPARAMETERIVEXTPROC)(GLenum target, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETMINMAXEXTPROC)(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);\ntypedef void (REGAL_CALL *PFNGLGETMINMAXPARAMETERFVEXTPROC)(GLenum target, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETMINMAXPARAMETERIVEXTPROC)(GLenum target, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLHISTOGRAMEXTPROC)(GLenum target, GLsizei width, GLenum internalformat, GLboolean sink);\ntypedef void (REGAL_CALL *PFNGLMINMAXEXTPROC)(GLenum target, GLenum internalformat, GLboolean sink);\ntypedef void (REGAL_CALL *PFNGLRESETHISTOGRAMEXTPROC)(GLenum target);\ntypedef void (REGAL_CALL *PFNGLRESETMINMAXEXTPROC)(GLenum target);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_HISTOGRAM\n#define glGetHistogramEXT                   rglGetHistogramEXT\n#define glGetHistogramParameterfvEXT        rglGetHistogramParameterfvEXT\n#define glGetHistogramParameterivEXT        rglGetHistogramParameterivEXT\n#define glGetMinmaxEXT                      rglGetMinmaxEXT\n#define glGetMinmaxParameterfvEXT           rglGetMinmaxParameterfvEXT\n#define glGetMinmaxParameterivEXT           rglGetMinmaxParameterivEXT\n#define glHistogramEXT                      rglHistogramEXT\n#define glMinmaxEXT                         rglMinmaxEXT\n#define glResetHistogramEXT                 rglResetHistogramEXT\n#define glResetMinmaxEXT                    rglResetMinmaxEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_HISTOGRAM\nREGAL_DECL void REGAL_CALL glGetHistogramEXT(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);\nREGAL_DECL void REGAL_CALL glGetHistogramParameterfvEXT(GLenum target, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetHistogramParameterivEXT(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetMinmaxEXT(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);\nREGAL_DECL void REGAL_CALL glGetMinmaxParameterfvEXT(GLenum target, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetMinmaxParameterivEXT(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glHistogramEXT(GLenum target, GLsizei width, GLenum internalformat, GLboolean sink);\nREGAL_DECL void REGAL_CALL glMinmaxEXT(GLenum target, GLenum internalformat, GLboolean sink);\nREGAL_DECL void REGAL_CALL glResetHistogramEXT(GLenum target);\nREGAL_DECL void REGAL_CALL glResetMinmaxEXT(GLenum target);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_HISTOGRAM\nREGAL_DECL void REGAL_CALL plugin_glGetHistogramEXT(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);\nREGAL_DECL void REGAL_CALL plugin_glGetHistogramParameterfvEXT(GLenum target, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetHistogramParameterivEXT(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetMinmaxEXT(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);\nREGAL_DECL void REGAL_CALL plugin_glGetMinmaxParameterfvEXT(GLenum target, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetMinmaxParameterivEXT(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glHistogramEXT(GLenum target, GLsizei width, GLenum internalformat, GLboolean sink);\nREGAL_DECL void REGAL_CALL plugin_glMinmaxEXT(GLenum target, GLenum internalformat, GLboolean sink);\nREGAL_DECL void REGAL_CALL plugin_glResetHistogramEXT(GLenum target);\nREGAL_DECL void REGAL_CALL plugin_glResetMinmaxEXT(GLenum target);\n#endif\n\n/**\n ** GL_EXT_index_func\n **/\n\n#if (defined(GL_EXT_INDEX_FUNC) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_INDEX_FUNC)) && !defined(REGAL_NO_ENUM_GL_EXT_INDEX_FUNC)\n#define REGAL_NO_ENUM_GL_EXT_INDEX_FUNC\n#endif\n\n#if (defined(GL_EXT_INDEX_FUNC) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_INDEX_FUNC)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_INDEX_FUNC)\n#define REGAL_NO_TYPEDEF_GL_EXT_INDEX_FUNC\n#endif\n\n#if (defined(GL_EXT_INDEX_FUNC) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_INDEX_FUNC)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_INDEX_FUNC)\n#define REGAL_NO_NAMESPACE_GL_EXT_INDEX_FUNC\n#endif\n\n#if (defined(GL_EXT_INDEX_FUNC) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_INDEX_FUNC)) && !defined(REGAL_NO_PLUGIN_GL_EXT_INDEX_FUNC)\n#define REGAL_NO_PLUGIN_GL_EXT_INDEX_FUNC\n#endif\n\n#if (defined(GL_EXT_INDEX_FUNC) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_INDEX_FUNC)) && !defined(REGAL_NO_DECLARATION_GL_EXT_INDEX_FUNC)\n#define REGAL_NO_DECLARATION_GL_EXT_INDEX_FUNC\n#endif\n\n#ifndef GL_EXT_index_func\n#define GL_EXT_index_func 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_INDEX_FUNC\ntypedef void (REGAL_CALL *PFNGLINDEXFUNCEXTPROC)(GLenum func, GLfloat ref);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_INDEX_FUNC\n#define glIndexFuncEXT                      rglIndexFuncEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_INDEX_FUNC\nREGAL_DECL void REGAL_CALL glIndexFuncEXT(GLenum func, GLfloat ref);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_INDEX_FUNC\nREGAL_DECL void REGAL_CALL plugin_glIndexFuncEXT(GLenum func, GLfloat ref);\n#endif\n\n/**\n ** GL_EXT_index_material\n **/\n\n#if (defined(GL_EXT_INDEX_MATERIAL) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_INDEX_MATERIAL)) && !defined(REGAL_NO_ENUM_GL_EXT_INDEX_MATERIAL)\n#define REGAL_NO_ENUM_GL_EXT_INDEX_MATERIAL\n#endif\n\n#if (defined(GL_EXT_INDEX_MATERIAL) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_INDEX_MATERIAL)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_INDEX_MATERIAL)\n#define REGAL_NO_TYPEDEF_GL_EXT_INDEX_MATERIAL\n#endif\n\n#if (defined(GL_EXT_INDEX_MATERIAL) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_INDEX_MATERIAL)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_INDEX_MATERIAL)\n#define REGAL_NO_NAMESPACE_GL_EXT_INDEX_MATERIAL\n#endif\n\n#if (defined(GL_EXT_INDEX_MATERIAL) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_INDEX_MATERIAL)) && !defined(REGAL_NO_PLUGIN_GL_EXT_INDEX_MATERIAL)\n#define REGAL_NO_PLUGIN_GL_EXT_INDEX_MATERIAL\n#endif\n\n#if (defined(GL_EXT_INDEX_MATERIAL) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_INDEX_MATERIAL)) && !defined(REGAL_NO_DECLARATION_GL_EXT_INDEX_MATERIAL)\n#define REGAL_NO_DECLARATION_GL_EXT_INDEX_MATERIAL\n#endif\n\n#ifndef GL_EXT_index_material\n#define GL_EXT_index_material 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_INDEX_MATERIAL\ntypedef void (REGAL_CALL *PFNGLINDEXMATERIALEXTPROC)(GLenum face, GLenum mode);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_INDEX_MATERIAL\n#define glIndexMaterialEXT                  rglIndexMaterialEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_INDEX_MATERIAL\nREGAL_DECL void REGAL_CALL glIndexMaterialEXT(GLenum face, GLenum mode);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_INDEX_MATERIAL\nREGAL_DECL void REGAL_CALL plugin_glIndexMaterialEXT(GLenum face, GLenum mode);\n#endif\n\n/**\n ** GL_EXT_light_texture\n **/\n\n#if (defined(GL_EXT_LIGHT_TEXTURE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_LIGHT_TEXTURE)) && !defined(REGAL_NO_ENUM_GL_EXT_LIGHT_TEXTURE)\n#define REGAL_NO_ENUM_GL_EXT_LIGHT_TEXTURE\n#endif\n\n#if (defined(GL_EXT_LIGHT_TEXTURE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_LIGHT_TEXTURE)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_LIGHT_TEXTURE)\n#define REGAL_NO_TYPEDEF_GL_EXT_LIGHT_TEXTURE\n#endif\n\n#if (defined(GL_EXT_LIGHT_TEXTURE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_LIGHT_TEXTURE)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_LIGHT_TEXTURE)\n#define REGAL_NO_NAMESPACE_GL_EXT_LIGHT_TEXTURE\n#endif\n\n#if (defined(GL_EXT_LIGHT_TEXTURE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_LIGHT_TEXTURE)) && !defined(REGAL_NO_PLUGIN_GL_EXT_LIGHT_TEXTURE)\n#define REGAL_NO_PLUGIN_GL_EXT_LIGHT_TEXTURE\n#endif\n\n#if (defined(GL_EXT_LIGHT_TEXTURE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_LIGHT_TEXTURE)) && !defined(REGAL_NO_DECLARATION_GL_EXT_LIGHT_TEXTURE)\n#define REGAL_NO_DECLARATION_GL_EXT_LIGHT_TEXTURE\n#endif\n\n#ifndef GL_EXT_light_texture\n#define GL_EXT_light_texture 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_LIGHT_TEXTURE\n#define GL_FRAGMENT_MATERIAL_EXT          0x8349     /* 33609 */\n#define GL_FRAGMENT_NORMAL_EXT            0x834a     /* 33610 */\n#define GL_FRAGMENT_COLOR_EXT             0x834c     /* 33612 */\n#define GL_ATTENUATION_EXT                0x834d     /* 33613 */\n#define GL_SHADOW_ATTENUATION_EXT         0x834e     /* 33614 */\n#define GL_TEXTURE_APPLICATION_MODE_EXT   0x834f     /* 33615 */\n#define GL_TEXTURE_LIGHT_EXT              0x8350     /* 33616 */\n#define GL_TEXTURE_MATERIAL_FACE_EXT      0x8351     /* 33617 */\n#define GL_TEXTURE_MATERIAL_PARAMETER_EXT 0x8352     /* 33618 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_LIGHT_TEXTURE\ntypedef void (REGAL_CALL *PFNGLAPPLYTEXTUREEXTPROC)(GLenum mode);\ntypedef void (REGAL_CALL *PFNGLTEXTURELIGHTEXTPROC)(GLenum pname);\ntypedef void (REGAL_CALL *PFNGLTEXTUREMATERIALEXTPROC)(GLenum face, GLenum mode);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_LIGHT_TEXTURE\n#define glApplyTextureEXT                   rglApplyTextureEXT\n#define glTextureLightEXT                   rglTextureLightEXT\n#define glTextureMaterialEXT                rglTextureMaterialEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_LIGHT_TEXTURE\nREGAL_DECL void REGAL_CALL glApplyTextureEXT(GLenum mode);\nREGAL_DECL void REGAL_CALL glTextureLightEXT(GLenum pname);\nREGAL_DECL void REGAL_CALL glTextureMaterialEXT(GLenum face, GLenum mode);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_LIGHT_TEXTURE\nREGAL_DECL void REGAL_CALL plugin_glApplyTextureEXT(GLenum mode);\nREGAL_DECL void REGAL_CALL plugin_glTextureLightEXT(GLenum pname);\nREGAL_DECL void REGAL_CALL plugin_glTextureMaterialEXT(GLenum face, GLenum mode);\n#endif\n\n/**\n ** GL_EXT_map_buffer_range\n **/\n\n#if (defined(GL_EXT_MAP_BUFFER_RANGE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_MAP_BUFFER_RANGE)) && !defined(REGAL_NO_ENUM_GL_EXT_MAP_BUFFER_RANGE)\n#define REGAL_NO_ENUM_GL_EXT_MAP_BUFFER_RANGE\n#endif\n\n#if (defined(GL_EXT_MAP_BUFFER_RANGE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_MAP_BUFFER_RANGE)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_MAP_BUFFER_RANGE)\n#define REGAL_NO_TYPEDEF_GL_EXT_MAP_BUFFER_RANGE\n#endif\n\n#if (defined(GL_EXT_MAP_BUFFER_RANGE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_MAP_BUFFER_RANGE)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_MAP_BUFFER_RANGE)\n#define REGAL_NO_NAMESPACE_GL_EXT_MAP_BUFFER_RANGE\n#endif\n\n#if (defined(GL_EXT_MAP_BUFFER_RANGE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_MAP_BUFFER_RANGE)) && !defined(REGAL_NO_PLUGIN_GL_EXT_MAP_BUFFER_RANGE)\n#define REGAL_NO_PLUGIN_GL_EXT_MAP_BUFFER_RANGE\n#endif\n\n#if (defined(GL_EXT_MAP_BUFFER_RANGE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_MAP_BUFFER_RANGE)) && !defined(REGAL_NO_DECLARATION_GL_EXT_MAP_BUFFER_RANGE)\n#define REGAL_NO_DECLARATION_GL_EXT_MAP_BUFFER_RANGE\n#endif\n\n#ifndef GL_EXT_map_buffer_range\n#define GL_EXT_map_buffer_range 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_MAP_BUFFER_RANGE\n#define GL_MAP_READ_BIT_EXT              0x1\n#define GL_MAP_FLUSH_EXPLICIT_BIT_EXT    0x10     /* 16 */\n#define GL_MAP_WRITE_BIT_EXT             0x2\n#define GL_MAP_UNSYNCHRONIZED_BIT_EXT    0x20     /* 32 */\n#define GL_MAP_INVALIDATE_RANGE_BIT_EXT  0x4\n#define GL_MAP_INVALIDATE_BUFFER_BIT_EXT 0x8\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_MAP_BUFFER_RANGE\ntypedef GLvoid *(REGAL_CALL *PFNGLMAPBUFFERRANGEEXTPROC)(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);\ntypedef void (REGAL_CALL *PFNGLFLUSHMAPPEDBUFFERRANGEEXTPROC)(GLenum target, GLintptr offset, GLsizeiptr length);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_MAP_BUFFER_RANGE\n#define glFlushMappedBufferRangeEXT         rglFlushMappedBufferRangeEXT\n#define glMapBufferRangeEXT                 rglMapBufferRangeEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_MAP_BUFFER_RANGE\nREGAL_DECL GLvoid *REGAL_CALL glMapBufferRangeEXT(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);\nREGAL_DECL void REGAL_CALL glFlushMappedBufferRangeEXT(GLenum target, GLintptr offset, GLsizeiptr length);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_MAP_BUFFER_RANGE\nREGAL_DECL GLvoid *REGAL_CALL plugin_glMapBufferRangeEXT(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);\nREGAL_DECL void REGAL_CALL plugin_glFlushMappedBufferRangeEXT(GLenum target, GLintptr offset, GLsizeiptr length);\n#endif\n\n/**\n ** GL_EXT_multi_draw_arrays\n **/\n\n#if (defined(GL_EXT_MULTI_DRAW_ARRAYS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_MULTI_DRAW_ARRAYS)) && !defined(REGAL_NO_ENUM_GL_EXT_MULTI_DRAW_ARRAYS)\n#define REGAL_NO_ENUM_GL_EXT_MULTI_DRAW_ARRAYS\n#endif\n\n#if (defined(GL_EXT_MULTI_DRAW_ARRAYS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_MULTI_DRAW_ARRAYS)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_MULTI_DRAW_ARRAYS)\n#define REGAL_NO_TYPEDEF_GL_EXT_MULTI_DRAW_ARRAYS\n#endif\n\n#if (defined(GL_EXT_MULTI_DRAW_ARRAYS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_MULTI_DRAW_ARRAYS)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_MULTI_DRAW_ARRAYS)\n#define REGAL_NO_NAMESPACE_GL_EXT_MULTI_DRAW_ARRAYS\n#endif\n\n#if (defined(GL_EXT_MULTI_DRAW_ARRAYS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_MULTI_DRAW_ARRAYS)) && !defined(REGAL_NO_PLUGIN_GL_EXT_MULTI_DRAW_ARRAYS)\n#define REGAL_NO_PLUGIN_GL_EXT_MULTI_DRAW_ARRAYS\n#endif\n\n#if (defined(GL_EXT_MULTI_DRAW_ARRAYS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_MULTI_DRAW_ARRAYS)) && !defined(REGAL_NO_DECLARATION_GL_EXT_MULTI_DRAW_ARRAYS)\n#define REGAL_NO_DECLARATION_GL_EXT_MULTI_DRAW_ARRAYS\n#endif\n\n#ifndef GL_EXT_multi_draw_arrays\n#define GL_EXT_multi_draw_arrays 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_MULTI_DRAW_ARRAYS\ntypedef void (REGAL_CALL *PFNGLMULTIDRAWARRAYSEXTPROC)(GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);\ntypedef void (REGAL_CALL *PFNGLMULTIDRAWELEMENTSEXTPROC)(GLenum mode, const GLsizei *count, GLenum type, const GLvoid **indices, GLsizei primcount);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_MULTI_DRAW_ARRAYS\n#define glMultiDrawArraysEXT                rglMultiDrawArraysEXT\n#define glMultiDrawElementsEXT              rglMultiDrawElementsEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_MULTI_DRAW_ARRAYS\nREGAL_DECL void REGAL_CALL glMultiDrawArraysEXT(GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);\nREGAL_DECL void REGAL_CALL glMultiDrawElementsEXT(GLenum mode, const GLsizei *count, GLenum type, const GLvoid **indices, GLsizei primcount);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_MULTI_DRAW_ARRAYS\nREGAL_DECL void REGAL_CALL plugin_glMultiDrawArraysEXT(GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);\nREGAL_DECL void REGAL_CALL plugin_glMultiDrawElementsEXT(GLenum mode, const GLsizei *count, GLenum type, const GLvoid **indices, GLsizei primcount);\n#endif\n\n/**\n ** GL_EXT_multisample\n **/\n\n#if (defined(GL_EXT_MULTISAMPLE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_MULTISAMPLE)) && !defined(REGAL_NO_ENUM_GL_EXT_MULTISAMPLE)\n#define REGAL_NO_ENUM_GL_EXT_MULTISAMPLE\n#endif\n\n#if (defined(GL_EXT_MULTISAMPLE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_MULTISAMPLE)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_MULTISAMPLE)\n#define REGAL_NO_TYPEDEF_GL_EXT_MULTISAMPLE\n#endif\n\n#if (defined(GL_EXT_MULTISAMPLE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_MULTISAMPLE)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_MULTISAMPLE)\n#define REGAL_NO_NAMESPACE_GL_EXT_MULTISAMPLE\n#endif\n\n#if (defined(GL_EXT_MULTISAMPLE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_MULTISAMPLE)) && !defined(REGAL_NO_PLUGIN_GL_EXT_MULTISAMPLE)\n#define REGAL_NO_PLUGIN_GL_EXT_MULTISAMPLE\n#endif\n\n#if (defined(GL_EXT_MULTISAMPLE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_MULTISAMPLE)) && !defined(REGAL_NO_DECLARATION_GL_EXT_MULTISAMPLE)\n#define REGAL_NO_DECLARATION_GL_EXT_MULTISAMPLE\n#endif\n\n#ifndef GL_EXT_multisample\n#define GL_EXT_multisample 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_MULTISAMPLE\n#define GL_MULTISAMPLE_BIT_EXT      0x20000000     /* 536870912 */\n#define GL_MULTISAMPLE_EXT          0x809d         /* 32925 */\n#define GL_SAMPLE_ALPHA_TO_MASK_EXT 0x809e         /* 32926 */\n#define GL_SAMPLE_ALPHA_TO_ONE_EXT  0x809f         /* 32927 */\n#define GL_SAMPLE_MASK_EXT          0x80a0         /* 32928 */\n#define GL_1PASS_EXT                0x80a1         /* 32929 */\n#define GL_2PASS_0_EXT              0x80a2         /* 32930 */\n#define GL_2PASS_1_EXT              0x80a3         /* 32931 */\n#define GL_4PASS_0_EXT              0x80a4         /* 32932 */\n#define GL_4PASS_1_EXT              0x80a5         /* 32933 */\n#define GL_4PASS_2_EXT              0x80a6         /* 32934 */\n#define GL_4PASS_3_EXT              0x80a7         /* 32935 */\n#define GL_SAMPLE_BUFFERS_EXT       0x80a8         /* 32936 */\n#define GL_SAMPLES_EXT              0x80a9         /* 32937 */\n#define GL_SAMPLE_MASK_VALUE_EXT    0x80aa         /* 32938 */\n#define GL_SAMPLE_MASK_INVERT_EXT   0x80ab         /* 32939 */\n#define GL_SAMPLE_PATTERN_EXT       0x80ac         /* 32940 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_MULTISAMPLE\ntypedef void (REGAL_CALL *PFNGLSAMPLEMASKEXTPROC)(GLclampf value, GLboolean invert);\ntypedef void (REGAL_CALL *PFNGLSAMPLEPATTERNEXTPROC)(GLenum pattern);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_MULTISAMPLE\n#define glSampleMaskEXT                     rglSampleMaskEXT\n#define glSamplePatternEXT                  rglSamplePatternEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_MULTISAMPLE\nREGAL_DECL void REGAL_CALL glSampleMaskEXT(GLclampf value, GLboolean invert);\nREGAL_DECL void REGAL_CALL glSamplePatternEXT(GLenum pattern);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_MULTISAMPLE\nREGAL_DECL void REGAL_CALL plugin_glSampleMaskEXT(GLclampf value, GLboolean invert);\nREGAL_DECL void REGAL_CALL plugin_glSamplePatternEXT(GLenum pattern);\n#endif\n\n/**\n ** GL_EXT_multisampled_render_to_texture\n **/\n\n#if (defined(GL_EXT_MULTISAMPLED_RENDER_TO_TEXTURE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_MULTISAMPLED_RENDER_TO_TEXTURE)) && !defined(REGAL_NO_ENUM_GL_EXT_MULTISAMPLED_RENDER_TO_TEXTURE)\n#define REGAL_NO_ENUM_GL_EXT_MULTISAMPLED_RENDER_TO_TEXTURE\n#endif\n\n#if (defined(GL_EXT_MULTISAMPLED_RENDER_TO_TEXTURE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_MULTISAMPLED_RENDER_TO_TEXTURE)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_MULTISAMPLED_RENDER_TO_TEXTURE)\n#define REGAL_NO_TYPEDEF_GL_EXT_MULTISAMPLED_RENDER_TO_TEXTURE\n#endif\n\n#if (defined(GL_EXT_MULTISAMPLED_RENDER_TO_TEXTURE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_MULTISAMPLED_RENDER_TO_TEXTURE)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_MULTISAMPLED_RENDER_TO_TEXTURE)\n#define REGAL_NO_NAMESPACE_GL_EXT_MULTISAMPLED_RENDER_TO_TEXTURE\n#endif\n\n#if (defined(GL_EXT_MULTISAMPLED_RENDER_TO_TEXTURE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_MULTISAMPLED_RENDER_TO_TEXTURE)) && !defined(REGAL_NO_PLUGIN_GL_EXT_MULTISAMPLED_RENDER_TO_TEXTURE)\n#define REGAL_NO_PLUGIN_GL_EXT_MULTISAMPLED_RENDER_TO_TEXTURE\n#endif\n\n#if (defined(GL_EXT_MULTISAMPLED_RENDER_TO_TEXTURE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_MULTISAMPLED_RENDER_TO_TEXTURE)) && !defined(REGAL_NO_DECLARATION_GL_EXT_MULTISAMPLED_RENDER_TO_TEXTURE)\n#define REGAL_NO_DECLARATION_GL_EXT_MULTISAMPLED_RENDER_TO_TEXTURE\n#endif\n\n#ifndef GL_EXT_multisampled_render_to_texture\n#define GL_EXT_multisampled_render_to_texture 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_MULTISAMPLED_RENDER_TO_TEXTURE\n#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SAMPLES_EXT 0x8d6c /* 36204 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_MULTISAMPLED_RENDER_TO_TEXTURE\ntypedef void (REGAL_CALL *PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEEXTPROC)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_MULTISAMPLED_RENDER_TO_TEXTURE\n#define glFramebufferTexture2DMultisampleEXT rglFramebufferTexture2DMultisampleEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_MULTISAMPLED_RENDER_TO_TEXTURE\nREGAL_DECL void REGAL_CALL glFramebufferTexture2DMultisampleEXT(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_MULTISAMPLED_RENDER_TO_TEXTURE\nREGAL_DECL void REGAL_CALL plugin_glFramebufferTexture2DMultisampleEXT(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);\n#endif\n\n/**\n ** GL_EXT_multiview_draw_buffers\n **/\n\n#if (defined(GL_EXT_MULTIVIEW_DRAW_BUFFERS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_MULTIVIEW_DRAW_BUFFERS)) && !defined(REGAL_NO_ENUM_GL_EXT_MULTIVIEW_DRAW_BUFFERS)\n#define REGAL_NO_ENUM_GL_EXT_MULTIVIEW_DRAW_BUFFERS\n#endif\n\n#if (defined(GL_EXT_MULTIVIEW_DRAW_BUFFERS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_MULTIVIEW_DRAW_BUFFERS)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_MULTIVIEW_DRAW_BUFFERS)\n#define REGAL_NO_TYPEDEF_GL_EXT_MULTIVIEW_DRAW_BUFFERS\n#endif\n\n#if (defined(GL_EXT_MULTIVIEW_DRAW_BUFFERS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_MULTIVIEW_DRAW_BUFFERS)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_MULTIVIEW_DRAW_BUFFERS)\n#define REGAL_NO_NAMESPACE_GL_EXT_MULTIVIEW_DRAW_BUFFERS\n#endif\n\n#if (defined(GL_EXT_MULTIVIEW_DRAW_BUFFERS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_MULTIVIEW_DRAW_BUFFERS)) && !defined(REGAL_NO_PLUGIN_GL_EXT_MULTIVIEW_DRAW_BUFFERS)\n#define REGAL_NO_PLUGIN_GL_EXT_MULTIVIEW_DRAW_BUFFERS\n#endif\n\n#if (defined(GL_EXT_MULTIVIEW_DRAW_BUFFERS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_MULTIVIEW_DRAW_BUFFERS)) && !defined(REGAL_NO_DECLARATION_GL_EXT_MULTIVIEW_DRAW_BUFFERS)\n#define REGAL_NO_DECLARATION_GL_EXT_MULTIVIEW_DRAW_BUFFERS\n#endif\n\n#ifndef GL_EXT_multiview_draw_buffers\n#define GL_EXT_multiview_draw_buffers 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_MULTIVIEW_DRAW_BUFFERS\n#define GL_COLOR_ATTACHMENT_EXT      0x90f0     /* 37104 */\n#define GL_MULTIVIEW_EXT             0x90f1     /* 37105 */\n#define GL_MAX_MULTIVIEW_BUFFERS_EXT 0x90f2     /* 37106 */\n#define GL_DRAW_BUFFER_EXT           0xc01      /* 3073 */\n#define GL_READ_BUFFER_EXT           0xc02      /* 3074 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_MULTIVIEW_DRAW_BUFFERS\ntypedef void (REGAL_CALL *PFNGLDRAWBUFFERSINDEXEDEXTPROC)(GLint n, const GLenum *location, const GLint *indices);\ntypedef void (REGAL_CALL *PFNGLGETINTEGERI_VEXTPROC)(GLenum target, GLuint index, GLint *data);\ntypedef void (REGAL_CALL *PFNGLREADBUFFERINDEXEDEXTPROC)(GLenum src, GLint index);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_MULTIVIEW_DRAW_BUFFERS\n#define glDrawBuffersIndexedEXT             rglDrawBuffersIndexedEXT\n#define glGetIntegeri_vEXT                  rglGetIntegeri_vEXT\n#define glReadBufferIndexedEXT              rglReadBufferIndexedEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_MULTIVIEW_DRAW_BUFFERS\nREGAL_DECL void REGAL_CALL glDrawBuffersIndexedEXT(GLint n, const GLenum *location, const GLint *indices);\nREGAL_DECL void REGAL_CALL glGetIntegeri_vEXT(GLenum target, GLuint index, GLint *data);\nREGAL_DECL void REGAL_CALL glReadBufferIndexedEXT(GLenum src, GLint index);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_MULTIVIEW_DRAW_BUFFERS\nREGAL_DECL void REGAL_CALL plugin_glDrawBuffersIndexedEXT(GLint n, const GLenum *location, const GLint *indices);\nREGAL_DECL void REGAL_CALL plugin_glGetIntegeri_vEXT(GLenum target, GLuint index, GLint *data);\nREGAL_DECL void REGAL_CALL plugin_glReadBufferIndexedEXT(GLenum src, GLint index);\n#endif\n\n/**\n ** GL_EXT_occlusion_query_boolean\n **/\n\n#if (defined(GL_EXT_OCCLUSION_QUERY_BOOLEAN) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_OCCLUSION_QUERY_BOOLEAN)) && !defined(REGAL_NO_ENUM_GL_EXT_OCCLUSION_QUERY_BOOLEAN)\n#define REGAL_NO_ENUM_GL_EXT_OCCLUSION_QUERY_BOOLEAN\n#endif\n\n#if (defined(GL_EXT_OCCLUSION_QUERY_BOOLEAN) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_OCCLUSION_QUERY_BOOLEAN)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_OCCLUSION_QUERY_BOOLEAN)\n#define REGAL_NO_TYPEDEF_GL_EXT_OCCLUSION_QUERY_BOOLEAN\n#endif\n\n#if (defined(GL_EXT_OCCLUSION_QUERY_BOOLEAN) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_OCCLUSION_QUERY_BOOLEAN)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_OCCLUSION_QUERY_BOOLEAN)\n#define REGAL_NO_NAMESPACE_GL_EXT_OCCLUSION_QUERY_BOOLEAN\n#endif\n\n#if (defined(GL_EXT_OCCLUSION_QUERY_BOOLEAN) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_OCCLUSION_QUERY_BOOLEAN)) && !defined(REGAL_NO_PLUGIN_GL_EXT_OCCLUSION_QUERY_BOOLEAN)\n#define REGAL_NO_PLUGIN_GL_EXT_OCCLUSION_QUERY_BOOLEAN\n#endif\n\n#if (defined(GL_EXT_OCCLUSION_QUERY_BOOLEAN) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_OCCLUSION_QUERY_BOOLEAN)) && !defined(REGAL_NO_DECLARATION_GL_EXT_OCCLUSION_QUERY_BOOLEAN)\n#define REGAL_NO_DECLARATION_GL_EXT_OCCLUSION_QUERY_BOOLEAN\n#endif\n\n#ifndef GL_EXT_occlusion_query_boolean\n#define GL_EXT_occlusion_query_boolean 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_OCCLUSION_QUERY_BOOLEAN\n#define GL_CURRENT_QUERY_EXT                   0x8865     /* 34917 */\n#define GL_QUERY_RESULT_EXT                    0x8866     /* 34918 */\n#define GL_QUERY_RESULT_AVAILABLE_EXT          0x8867     /* 34919 */\n#define GL_ANY_SAMPLES_PASSED_EXT              0x8c2f     /* 35887 */\n#define GL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT 0x8d6a     /* 36202 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_OCCLUSION_QUERY_BOOLEAN\ntypedef GLboolean (REGAL_CALL *PFNGLISQUERYEXTPROC)(GLuint id);\ntypedef void (REGAL_CALL *PFNGLBEGINQUERYEXTPROC)(GLenum target, GLuint id);\ntypedef void (REGAL_CALL *PFNGLDELETEQUERIESEXTPROC)(GLsizei n, const GLuint *ids);\ntypedef void (REGAL_CALL *PFNGLENDQUERYEXTPROC)(GLenum target);\ntypedef void (REGAL_CALL *PFNGLGENQUERIESEXTPROC)(GLsizei n, GLuint *ids);\ntypedef void (REGAL_CALL *PFNGLGETQUERYIVEXTPROC)(GLenum target, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETQUERYOBJECTUIVEXTPROC)(GLuint id, GLenum pname, GLuint *params);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_OCCLUSION_QUERY_BOOLEAN\n#define glBeginQueryEXT                     rglBeginQueryEXT\n#define glDeleteQueriesEXT                  rglDeleteQueriesEXT\n#define glEndQueryEXT                       rglEndQueryEXT\n#define glGenQueriesEXT                     rglGenQueriesEXT\n#define glGetQueryObjectuivEXT              rglGetQueryObjectuivEXT\n#define glGetQueryivEXT                     rglGetQueryivEXT\n#define glIsQueryEXT                        rglIsQueryEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_OCCLUSION_QUERY_BOOLEAN\nREGAL_DECL GLboolean REGAL_CALL glIsQueryEXT(GLuint id);\nREGAL_DECL void REGAL_CALL glBeginQueryEXT(GLenum target, GLuint id);\nREGAL_DECL void REGAL_CALL glDeleteQueriesEXT(GLsizei n, const GLuint *ids);\nREGAL_DECL void REGAL_CALL glEndQueryEXT(GLenum target);\nREGAL_DECL void REGAL_CALL glGenQueriesEXT(GLsizei n, GLuint *ids);\nREGAL_DECL void REGAL_CALL glGetQueryObjectuivEXT(GLuint id, GLenum pname, GLuint *params);\nREGAL_DECL void REGAL_CALL glGetQueryivEXT(GLenum target, GLenum pname, GLint *params);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_OCCLUSION_QUERY_BOOLEAN\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsQueryEXT(GLuint id);\nREGAL_DECL void REGAL_CALL plugin_glBeginQueryEXT(GLenum target, GLuint id);\nREGAL_DECL void REGAL_CALL plugin_glDeleteQueriesEXT(GLsizei n, const GLuint *ids);\nREGAL_DECL void REGAL_CALL plugin_glEndQueryEXT(GLenum target);\nREGAL_DECL void REGAL_CALL plugin_glGenQueriesEXT(GLsizei n, GLuint *ids);\nREGAL_DECL void REGAL_CALL plugin_glGetQueryObjectuivEXT(GLuint id, GLenum pname, GLuint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetQueryivEXT(GLenum target, GLenum pname, GLint *params);\n#endif\n\n/**\n ** GL_EXT_packed_depth_stencil\n **/\n\n#if (defined(GL_EXT_PACKED_DEPTH_STENCIL) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_PACKED_DEPTH_STENCIL)) && !defined(REGAL_NO_ENUM_GL_EXT_PACKED_DEPTH_STENCIL)\n#define REGAL_NO_ENUM_GL_EXT_PACKED_DEPTH_STENCIL\n#endif\n\n#if (defined(GL_EXT_PACKED_DEPTH_STENCIL) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_PACKED_DEPTH_STENCIL)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_PACKED_DEPTH_STENCIL)\n#define REGAL_NO_TYPEDEF_GL_EXT_PACKED_DEPTH_STENCIL\n#endif\n\n#if (defined(GL_EXT_PACKED_DEPTH_STENCIL) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_PACKED_DEPTH_STENCIL)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_PACKED_DEPTH_STENCIL)\n#define REGAL_NO_NAMESPACE_GL_EXT_PACKED_DEPTH_STENCIL\n#endif\n\n#if (defined(GL_EXT_PACKED_DEPTH_STENCIL) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_PACKED_DEPTH_STENCIL)) && !defined(REGAL_NO_PLUGIN_GL_EXT_PACKED_DEPTH_STENCIL)\n#define REGAL_NO_PLUGIN_GL_EXT_PACKED_DEPTH_STENCIL\n#endif\n\n#if (defined(GL_EXT_PACKED_DEPTH_STENCIL) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_PACKED_DEPTH_STENCIL)) && !defined(REGAL_NO_DECLARATION_GL_EXT_PACKED_DEPTH_STENCIL)\n#define REGAL_NO_DECLARATION_GL_EXT_PACKED_DEPTH_STENCIL\n#endif\n\n#ifndef GL_EXT_packed_depth_stencil\n#define GL_EXT_packed_depth_stencil 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_PACKED_DEPTH_STENCIL\n#define GL_DEPTH_STENCIL_EXT        0x84f9     /* 34041 */\n#define GL_UNSIGNED_INT_24_8_EXT    0x84fa     /* 34042 */\n#define GL_DEPTH24_STENCIL8_EXT     0x88f0     /* 35056 */\n#define GL_TEXTURE_STENCIL_SIZE_EXT 0x88f1     /* 35057 */\n#endif\n\n/**\n ** GL_EXT_packed_float\n **/\n\n#if (defined(GL_EXT_PACKED_FLOAT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_PACKED_FLOAT)) && !defined(REGAL_NO_ENUM_GL_EXT_PACKED_FLOAT)\n#define REGAL_NO_ENUM_GL_EXT_PACKED_FLOAT\n#endif\n\n#if (defined(GL_EXT_PACKED_FLOAT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_PACKED_FLOAT)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_PACKED_FLOAT)\n#define REGAL_NO_TYPEDEF_GL_EXT_PACKED_FLOAT\n#endif\n\n#if (defined(GL_EXT_PACKED_FLOAT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_PACKED_FLOAT)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_PACKED_FLOAT)\n#define REGAL_NO_NAMESPACE_GL_EXT_PACKED_FLOAT\n#endif\n\n#if (defined(GL_EXT_PACKED_FLOAT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_PACKED_FLOAT)) && !defined(REGAL_NO_PLUGIN_GL_EXT_PACKED_FLOAT)\n#define REGAL_NO_PLUGIN_GL_EXT_PACKED_FLOAT\n#endif\n\n#if (defined(GL_EXT_PACKED_FLOAT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_PACKED_FLOAT)) && !defined(REGAL_NO_DECLARATION_GL_EXT_PACKED_FLOAT)\n#define REGAL_NO_DECLARATION_GL_EXT_PACKED_FLOAT\n#endif\n\n#ifndef GL_EXT_packed_float\n#define GL_EXT_packed_float 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_PACKED_FLOAT\n#define GL_R11F_G11F_B10F_EXT               0x8c3a     /* 35898 */\n#define GL_UNSIGNED_INT_10F_11F_11F_REV_EXT 0x8c3b     /* 35899 */\n#define GL_RGBA_SIGNED_COMPONENTS_EXT       0x8c3c     /* 35900 */\n#endif\n\n/**\n ** GL_EXT_packed_pixels\n **/\n\n#if (defined(GL_EXT_PACKED_PIXELS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_PACKED_PIXELS)) && !defined(REGAL_NO_ENUM_GL_EXT_PACKED_PIXELS)\n#define REGAL_NO_ENUM_GL_EXT_PACKED_PIXELS\n#endif\n\n#if (defined(GL_EXT_PACKED_PIXELS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_PACKED_PIXELS)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_PACKED_PIXELS)\n#define REGAL_NO_TYPEDEF_GL_EXT_PACKED_PIXELS\n#endif\n\n#if (defined(GL_EXT_PACKED_PIXELS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_PACKED_PIXELS)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_PACKED_PIXELS)\n#define REGAL_NO_NAMESPACE_GL_EXT_PACKED_PIXELS\n#endif\n\n#if (defined(GL_EXT_PACKED_PIXELS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_PACKED_PIXELS)) && !defined(REGAL_NO_PLUGIN_GL_EXT_PACKED_PIXELS)\n#define REGAL_NO_PLUGIN_GL_EXT_PACKED_PIXELS\n#endif\n\n#if (defined(GL_EXT_PACKED_PIXELS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_PACKED_PIXELS)) && !defined(REGAL_NO_DECLARATION_GL_EXT_PACKED_PIXELS)\n#define REGAL_NO_DECLARATION_GL_EXT_PACKED_PIXELS\n#endif\n\n#ifndef GL_EXT_packed_pixels\n#define GL_EXT_packed_pixels 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_PACKED_PIXELS\n#define GL_UNSIGNED_BYTE_3_3_2_EXT     0x8032     /* 32818 */\n#define GL_UNSIGNED_SHORT_4_4_4_4_EXT  0x8033     /* 32819 */\n#define GL_UNSIGNED_SHORT_5_5_5_1_EXT  0x8034     /* 32820 */\n#define GL_UNSIGNED_INT_8_8_8_8_EXT    0x8035     /* 32821 */\n#define GL_UNSIGNED_INT_10_10_10_2_EXT 0x8036     /* 32822 */\n#endif\n\n/**\n ** GL_EXT_paletted_texture\n **/\n\n#if (defined(GL_EXT_PALETTED_TEXTURE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_PALETTED_TEXTURE)) && !defined(REGAL_NO_ENUM_GL_EXT_PALETTED_TEXTURE)\n#define REGAL_NO_ENUM_GL_EXT_PALETTED_TEXTURE\n#endif\n\n#if (defined(GL_EXT_PALETTED_TEXTURE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_PALETTED_TEXTURE)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_PALETTED_TEXTURE)\n#define REGAL_NO_TYPEDEF_GL_EXT_PALETTED_TEXTURE\n#endif\n\n#if (defined(GL_EXT_PALETTED_TEXTURE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_PALETTED_TEXTURE)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_PALETTED_TEXTURE)\n#define REGAL_NO_NAMESPACE_GL_EXT_PALETTED_TEXTURE\n#endif\n\n#if (defined(GL_EXT_PALETTED_TEXTURE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_PALETTED_TEXTURE)) && !defined(REGAL_NO_PLUGIN_GL_EXT_PALETTED_TEXTURE)\n#define REGAL_NO_PLUGIN_GL_EXT_PALETTED_TEXTURE\n#endif\n\n#if (defined(GL_EXT_PALETTED_TEXTURE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_PALETTED_TEXTURE)) && !defined(REGAL_NO_DECLARATION_GL_EXT_PALETTED_TEXTURE)\n#define REGAL_NO_DECLARATION_GL_EXT_PALETTED_TEXTURE\n#endif\n\n#ifndef GL_EXT_paletted_texture\n#define GL_EXT_paletted_texture 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_PALETTED_TEXTURE\n#define GL_COLOR_TABLE_FORMAT_EXT         0x80d8     /* 32984 */\n#define GL_COLOR_TABLE_WIDTH_EXT          0x80d9     /* 32985 */\n#define GL_COLOR_TABLE_RED_SIZE_EXT       0x80da     /* 32986 */\n#define GL_COLOR_TABLE_GREEN_SIZE_EXT     0x80db     /* 32987 */\n#define GL_COLOR_TABLE_BLUE_SIZE_EXT      0x80dc     /* 32988 */\n#define GL_COLOR_TABLE_ALPHA_SIZE_EXT     0x80dd     /* 32989 */\n#define GL_COLOR_TABLE_LUMINANCE_SIZE_EXT 0x80de     /* 32990 */\n#define GL_COLOR_TABLE_INTENSITY_SIZE_EXT 0x80df     /* 32991 */\n#define GL_COLOR_INDEX1_EXT               0x80e2     /* 32994 */\n#define GL_COLOR_INDEX2_EXT               0x80e3     /* 32995 */\n#define GL_COLOR_INDEX4_EXT               0x80e4     /* 32996 */\n#define GL_COLOR_INDEX8_EXT               0x80e5     /* 32997 */\n#define GL_COLOR_INDEX12_EXT              0x80e6     /* 32998 */\n#define GL_COLOR_INDEX16_EXT              0x80e7     /* 32999 */\n#define GL_TEXTURE_INDEX_SIZE_EXT         0x80ed     /* 33005 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_PALETTED_TEXTURE\ntypedef void (REGAL_CALL *PFNGLCOLORTABLEEXTPROC)(GLenum target, GLenum internalFormat, GLsizei width, GLenum format, GLenum type, const GLvoid *table);\ntypedef void (REGAL_CALL *PFNGLGETCOLORTABLEEXTPROC)(GLenum target, GLenum format, GLenum type, GLvoid *data);\ntypedef void (REGAL_CALL *PFNGLGETCOLORTABLEPARAMETERFVEXTPROC)(GLenum target, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETCOLORTABLEPARAMETERIVEXTPROC)(GLenum target, GLenum pname, GLint *params);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_PALETTED_TEXTURE\n#define glColorTableEXT                     rglColorTableEXT\n#define glGetColorTableEXT                  rglGetColorTableEXT\n#define glGetColorTableParameterfvEXT       rglGetColorTableParameterfvEXT\n#define glGetColorTableParameterivEXT       rglGetColorTableParameterivEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_PALETTED_TEXTURE\nREGAL_DECL void REGAL_CALL glColorTableEXT(GLenum target, GLenum internalFormat, GLsizei width, GLenum format, GLenum type, const GLvoid *table);\nREGAL_DECL void REGAL_CALL glGetColorTableEXT(GLenum target, GLenum format, GLenum type, GLvoid *data);\nREGAL_DECL void REGAL_CALL glGetColorTableParameterfvEXT(GLenum target, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetColorTableParameterivEXT(GLenum target, GLenum pname, GLint *params);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_PALETTED_TEXTURE\nREGAL_DECL void REGAL_CALL plugin_glColorTableEXT(GLenum target, GLenum internalFormat, GLsizei width, GLenum format, GLenum type, const GLvoid *table);\nREGAL_DECL void REGAL_CALL plugin_glGetColorTableEXT(GLenum target, GLenum format, GLenum type, GLvoid *data);\nREGAL_DECL void REGAL_CALL plugin_glGetColorTableParameterfvEXT(GLenum target, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetColorTableParameterivEXT(GLenum target, GLenum pname, GLint *params);\n#endif\n\n/**\n ** GL_EXT_pixel_buffer_object\n **/\n\n#if (defined(GL_EXT_PIXEL_BUFFER_OBJECT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_PIXEL_BUFFER_OBJECT)) && !defined(REGAL_NO_ENUM_GL_EXT_PIXEL_BUFFER_OBJECT)\n#define REGAL_NO_ENUM_GL_EXT_PIXEL_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_EXT_PIXEL_BUFFER_OBJECT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_PIXEL_BUFFER_OBJECT)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_PIXEL_BUFFER_OBJECT)\n#define REGAL_NO_TYPEDEF_GL_EXT_PIXEL_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_EXT_PIXEL_BUFFER_OBJECT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_PIXEL_BUFFER_OBJECT)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_PIXEL_BUFFER_OBJECT)\n#define REGAL_NO_NAMESPACE_GL_EXT_PIXEL_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_EXT_PIXEL_BUFFER_OBJECT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_PIXEL_BUFFER_OBJECT)) && !defined(REGAL_NO_PLUGIN_GL_EXT_PIXEL_BUFFER_OBJECT)\n#define REGAL_NO_PLUGIN_GL_EXT_PIXEL_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_EXT_PIXEL_BUFFER_OBJECT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_PIXEL_BUFFER_OBJECT)) && !defined(REGAL_NO_DECLARATION_GL_EXT_PIXEL_BUFFER_OBJECT)\n#define REGAL_NO_DECLARATION_GL_EXT_PIXEL_BUFFER_OBJECT\n#endif\n\n#ifndef GL_EXT_pixel_buffer_object\n#define GL_EXT_pixel_buffer_object 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_PIXEL_BUFFER_OBJECT\n#define GL_PIXEL_PACK_BUFFER_EXT           0x88eb     /* 35051 */\n#define GL_PIXEL_UNPACK_BUFFER_EXT         0x88ec     /* 35052 */\n#define GL_PIXEL_PACK_BUFFER_BINDING_EXT   0x88ed     /* 35053 */\n#define GL_PIXEL_UNPACK_BUFFER_BINDING_EXT 0x88ef     /* 35055 */\n#endif\n\n/**\n ** GL_EXT_pixel_transform\n **/\n\n#if (defined(GL_EXT_PIXEL_TRANSFORM) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_PIXEL_TRANSFORM)) && !defined(REGAL_NO_ENUM_GL_EXT_PIXEL_TRANSFORM)\n#define REGAL_NO_ENUM_GL_EXT_PIXEL_TRANSFORM\n#endif\n\n#if (defined(GL_EXT_PIXEL_TRANSFORM) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_PIXEL_TRANSFORM)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_PIXEL_TRANSFORM)\n#define REGAL_NO_TYPEDEF_GL_EXT_PIXEL_TRANSFORM\n#endif\n\n#if (defined(GL_EXT_PIXEL_TRANSFORM) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_PIXEL_TRANSFORM)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_PIXEL_TRANSFORM)\n#define REGAL_NO_NAMESPACE_GL_EXT_PIXEL_TRANSFORM\n#endif\n\n#if (defined(GL_EXT_PIXEL_TRANSFORM) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_PIXEL_TRANSFORM)) && !defined(REGAL_NO_PLUGIN_GL_EXT_PIXEL_TRANSFORM)\n#define REGAL_NO_PLUGIN_GL_EXT_PIXEL_TRANSFORM\n#endif\n\n#if (defined(GL_EXT_PIXEL_TRANSFORM) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_PIXEL_TRANSFORM)) && !defined(REGAL_NO_DECLARATION_GL_EXT_PIXEL_TRANSFORM)\n#define REGAL_NO_DECLARATION_GL_EXT_PIXEL_TRANSFORM\n#endif\n\n#ifndef GL_EXT_pixel_transform\n#define GL_EXT_pixel_transform 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_PIXEL_TRANSFORM\n#define GL_PIXEL_TRANSFORM_2D_EXT                 0x8330     /* 33584 */\n#define GL_PIXEL_MAG_FILTER_EXT                   0x8331     /* 33585 */\n#define GL_PIXEL_MIN_FILTER_EXT                   0x8332     /* 33586 */\n#define GL_PIXEL_CUBIC_WEIGHT_EXT                 0x8333     /* 33587 */\n#define GL_CUBIC_EXT                              0x8334     /* 33588 */\n#define GL_AVERAGE_EXT                            0x8335     /* 33589 */\n#define GL_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT     0x8336     /* 33590 */\n#define GL_MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT 0x8337     /* 33591 */\n#define GL_PIXEL_TRANSFORM_2D_MATRIX_EXT          0x8338     /* 33592 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_PIXEL_TRANSFORM\ntypedef void (REGAL_CALL *PFNGLGETPIXELTRANSFORMPARAMETERFVEXTPROC)(GLenum target, GLenum pname, const GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETPIXELTRANSFORMPARAMETERIVEXTPROC)(GLenum target, GLenum pname, const GLint *params);\ntypedef void (REGAL_CALL *PFNGLPIXELTRANSFORMPARAMETERFEXTPROC)(GLenum target, GLenum pname, const GLfloat param);\ntypedef void (REGAL_CALL *PFNGLPIXELTRANSFORMPARAMETERFVEXTPROC)(GLenum target, GLenum pname, const GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLPIXELTRANSFORMPARAMETERIEXTPROC)(GLenum target, GLenum pname, const GLint param);\ntypedef void (REGAL_CALL *PFNGLPIXELTRANSFORMPARAMETERIVEXTPROC)(GLenum target, GLenum pname, const GLint *params);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_PIXEL_TRANSFORM\n#define glGetPixelTransformParameterfvEXT   rglGetPixelTransformParameterfvEXT\n#define glGetPixelTransformParameterivEXT   rglGetPixelTransformParameterivEXT\n#define glPixelTransformParameterfEXT       rglPixelTransformParameterfEXT\n#define glPixelTransformParameterfvEXT      rglPixelTransformParameterfvEXT\n#define glPixelTransformParameteriEXT       rglPixelTransformParameteriEXT\n#define glPixelTransformParameterivEXT      rglPixelTransformParameterivEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_PIXEL_TRANSFORM\nREGAL_DECL void REGAL_CALL glGetPixelTransformParameterfvEXT(GLenum target, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetPixelTransformParameterivEXT(GLenum target, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL glPixelTransformParameterfEXT(GLenum target, GLenum pname, const GLfloat param);\nREGAL_DECL void REGAL_CALL glPixelTransformParameterfvEXT(GLenum target, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL glPixelTransformParameteriEXT(GLenum target, GLenum pname, const GLint param);\nREGAL_DECL void REGAL_CALL glPixelTransformParameterivEXT(GLenum target, GLenum pname, const GLint *params);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_PIXEL_TRANSFORM\nREGAL_DECL void REGAL_CALL plugin_glGetPixelTransformParameterfvEXT(GLenum target, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetPixelTransformParameterivEXT(GLenum target, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glPixelTransformParameterfEXT(GLenum target, GLenum pname, const GLfloat param);\nREGAL_DECL void REGAL_CALL plugin_glPixelTransformParameterfvEXT(GLenum target, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glPixelTransformParameteriEXT(GLenum target, GLenum pname, const GLint param);\nREGAL_DECL void REGAL_CALL plugin_glPixelTransformParameterivEXT(GLenum target, GLenum pname, const GLint *params);\n#endif\n\n/**\n ** GL_EXT_point_parameters\n **/\n\n#if (defined(GL_EXT_POINT_PARAMETERS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_POINT_PARAMETERS)) && !defined(REGAL_NO_ENUM_GL_EXT_POINT_PARAMETERS)\n#define REGAL_NO_ENUM_GL_EXT_POINT_PARAMETERS\n#endif\n\n#if (defined(GL_EXT_POINT_PARAMETERS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_POINT_PARAMETERS)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_POINT_PARAMETERS)\n#define REGAL_NO_TYPEDEF_GL_EXT_POINT_PARAMETERS\n#endif\n\n#if (defined(GL_EXT_POINT_PARAMETERS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_POINT_PARAMETERS)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_POINT_PARAMETERS)\n#define REGAL_NO_NAMESPACE_GL_EXT_POINT_PARAMETERS\n#endif\n\n#if (defined(GL_EXT_POINT_PARAMETERS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_POINT_PARAMETERS)) && !defined(REGAL_NO_PLUGIN_GL_EXT_POINT_PARAMETERS)\n#define REGAL_NO_PLUGIN_GL_EXT_POINT_PARAMETERS\n#endif\n\n#if (defined(GL_EXT_POINT_PARAMETERS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_POINT_PARAMETERS)) && !defined(REGAL_NO_DECLARATION_GL_EXT_POINT_PARAMETERS)\n#define REGAL_NO_DECLARATION_GL_EXT_POINT_PARAMETERS\n#endif\n\n#ifndef GL_EXT_point_parameters\n#define GL_EXT_point_parameters 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_POINT_PARAMETERS\n#define GL_POINT_SIZE_MIN_EXT            0x8126     /* 33062 */\n#define GL_POINT_SIZE_MAX_EXT            0x8127     /* 33063 */\n#define GL_POINT_FADE_THRESHOLD_SIZE_EXT 0x8128     /* 33064 */\n#define GL_DISTANCE_ATTENUATION_EXT      0x8129     /* 33065 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_POINT_PARAMETERS\ntypedef void (REGAL_CALL *PFNGLPOINTPARAMETERFEXTPROC)(GLenum pname, GLfloat param);\ntypedef void (REGAL_CALL *PFNGLPOINTPARAMETERFVEXTPROC)(GLenum pname, const GLfloat *params);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_POINT_PARAMETERS\n#define glPointParameterfEXT                rglPointParameterfEXT\n#define glPointParameterfvEXT               rglPointParameterfvEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_POINT_PARAMETERS\nREGAL_DECL void REGAL_CALL glPointParameterfEXT(GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL glPointParameterfvEXT(GLenum pname, const GLfloat *params);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_POINT_PARAMETERS\nREGAL_DECL void REGAL_CALL plugin_glPointParameterfEXT(GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL plugin_glPointParameterfvEXT(GLenum pname, const GLfloat *params);\n#endif\n\n/**\n ** GL_EXT_polygon_offset\n **/\n\n#if (defined(GL_EXT_POLYGON_OFFSET) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_POLYGON_OFFSET)) && !defined(REGAL_NO_ENUM_GL_EXT_POLYGON_OFFSET)\n#define REGAL_NO_ENUM_GL_EXT_POLYGON_OFFSET\n#endif\n\n#if (defined(GL_EXT_POLYGON_OFFSET) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_POLYGON_OFFSET)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_POLYGON_OFFSET)\n#define REGAL_NO_TYPEDEF_GL_EXT_POLYGON_OFFSET\n#endif\n\n#if (defined(GL_EXT_POLYGON_OFFSET) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_POLYGON_OFFSET)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_POLYGON_OFFSET)\n#define REGAL_NO_NAMESPACE_GL_EXT_POLYGON_OFFSET\n#endif\n\n#if (defined(GL_EXT_POLYGON_OFFSET) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_POLYGON_OFFSET)) && !defined(REGAL_NO_PLUGIN_GL_EXT_POLYGON_OFFSET)\n#define REGAL_NO_PLUGIN_GL_EXT_POLYGON_OFFSET\n#endif\n\n#if (defined(GL_EXT_POLYGON_OFFSET) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_POLYGON_OFFSET)) && !defined(REGAL_NO_DECLARATION_GL_EXT_POLYGON_OFFSET)\n#define REGAL_NO_DECLARATION_GL_EXT_POLYGON_OFFSET\n#endif\n\n#ifndef GL_EXT_polygon_offset\n#define GL_EXT_polygon_offset 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_POLYGON_OFFSET\n#define GL_POLYGON_OFFSET_EXT        0x8037     /* 32823 */\n#define GL_POLYGON_OFFSET_FACTOR_EXT 0x8038     /* 32824 */\n#define GL_POLYGON_OFFSET_BIAS_EXT   0x8039     /* 32825 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_POLYGON_OFFSET\ntypedef void (REGAL_CALL *PFNGLPOLYGONOFFSETEXTPROC)(GLfloat factor, GLfloat bias);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_POLYGON_OFFSET\n#define glPolygonOffsetEXT                  rglPolygonOffsetEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_POLYGON_OFFSET\nREGAL_DECL void REGAL_CALL glPolygonOffsetEXT(GLfloat factor, GLfloat bias);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_POLYGON_OFFSET\nREGAL_DECL void REGAL_CALL plugin_glPolygonOffsetEXT(GLfloat factor, GLfloat bias);\n#endif\n\n/**\n ** GL_EXT_provoking_vertex\n **/\n\n#if (defined(GL_EXT_PROVOKING_VERTEX) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_PROVOKING_VERTEX)) && !defined(REGAL_NO_ENUM_GL_EXT_PROVOKING_VERTEX)\n#define REGAL_NO_ENUM_GL_EXT_PROVOKING_VERTEX\n#endif\n\n#if (defined(GL_EXT_PROVOKING_VERTEX) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_PROVOKING_VERTEX)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_PROVOKING_VERTEX)\n#define REGAL_NO_TYPEDEF_GL_EXT_PROVOKING_VERTEX\n#endif\n\n#if (defined(GL_EXT_PROVOKING_VERTEX) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_PROVOKING_VERTEX)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_PROVOKING_VERTEX)\n#define REGAL_NO_NAMESPACE_GL_EXT_PROVOKING_VERTEX\n#endif\n\n#if (defined(GL_EXT_PROVOKING_VERTEX) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_PROVOKING_VERTEX)) && !defined(REGAL_NO_PLUGIN_GL_EXT_PROVOKING_VERTEX)\n#define REGAL_NO_PLUGIN_GL_EXT_PROVOKING_VERTEX\n#endif\n\n#if (defined(GL_EXT_PROVOKING_VERTEX) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_PROVOKING_VERTEX)) && !defined(REGAL_NO_DECLARATION_GL_EXT_PROVOKING_VERTEX)\n#define REGAL_NO_DECLARATION_GL_EXT_PROVOKING_VERTEX\n#endif\n\n#ifndef GL_EXT_provoking_vertex\n#define GL_EXT_provoking_vertex 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_PROVOKING_VERTEX\n#define GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT 0x8e4c     /* 36428 */\n#define GL_FIRST_VERTEX_CONVENTION_EXT                  0x8e4d     /* 36429 */\n#define GL_LAST_VERTEX_CONVENTION_EXT                   0x8e4e     /* 36430 */\n#define GL_PROVOKING_VERTEX_EXT                         0x8e4f     /* 36431 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_PROVOKING_VERTEX\ntypedef void (REGAL_CALL *PFNGLPROVOKINGVERTEXEXTPROC)(GLenum mode);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_PROVOKING_VERTEX\n#define glProvokingVertexEXT                rglProvokingVertexEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_PROVOKING_VERTEX\nREGAL_DECL void REGAL_CALL glProvokingVertexEXT(GLenum mode);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_PROVOKING_VERTEX\nREGAL_DECL void REGAL_CALL plugin_glProvokingVertexEXT(GLenum mode);\n#endif\n\n/**\n ** GL_EXT_read_format_bgra\n **/\n\n#if (defined(GL_EXT_READ_FORMAT_BGRA) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_READ_FORMAT_BGRA)) && !defined(REGAL_NO_ENUM_GL_EXT_READ_FORMAT_BGRA)\n#define REGAL_NO_ENUM_GL_EXT_READ_FORMAT_BGRA\n#endif\n\n#if (defined(GL_EXT_READ_FORMAT_BGRA) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_READ_FORMAT_BGRA)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_READ_FORMAT_BGRA)\n#define REGAL_NO_TYPEDEF_GL_EXT_READ_FORMAT_BGRA\n#endif\n\n#if (defined(GL_EXT_READ_FORMAT_BGRA) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_READ_FORMAT_BGRA)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_READ_FORMAT_BGRA)\n#define REGAL_NO_NAMESPACE_GL_EXT_READ_FORMAT_BGRA\n#endif\n\n#if (defined(GL_EXT_READ_FORMAT_BGRA) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_READ_FORMAT_BGRA)) && !defined(REGAL_NO_PLUGIN_GL_EXT_READ_FORMAT_BGRA)\n#define REGAL_NO_PLUGIN_GL_EXT_READ_FORMAT_BGRA\n#endif\n\n#if (defined(GL_EXT_READ_FORMAT_BGRA) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_READ_FORMAT_BGRA)) && !defined(REGAL_NO_DECLARATION_GL_EXT_READ_FORMAT_BGRA)\n#define REGAL_NO_DECLARATION_GL_EXT_READ_FORMAT_BGRA\n#endif\n\n#ifndef GL_EXT_read_format_bgra\n#define GL_EXT_read_format_bgra 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_READ_FORMAT_BGRA\n#define GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT 0x8365     /* 33637 */\n#define GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT 0x8366     /* 33638 */\n#endif\n\n/**\n ** GL_EXT_rescale_normal\n **/\n\n#if (defined(GL_EXT_RESCALE_NORMAL) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_RESCALE_NORMAL)) && !defined(REGAL_NO_ENUM_GL_EXT_RESCALE_NORMAL)\n#define REGAL_NO_ENUM_GL_EXT_RESCALE_NORMAL\n#endif\n\n#if (defined(GL_EXT_RESCALE_NORMAL) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_RESCALE_NORMAL)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_RESCALE_NORMAL)\n#define REGAL_NO_TYPEDEF_GL_EXT_RESCALE_NORMAL\n#endif\n\n#if (defined(GL_EXT_RESCALE_NORMAL) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_RESCALE_NORMAL)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_RESCALE_NORMAL)\n#define REGAL_NO_NAMESPACE_GL_EXT_RESCALE_NORMAL\n#endif\n\n#if (defined(GL_EXT_RESCALE_NORMAL) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_RESCALE_NORMAL)) && !defined(REGAL_NO_PLUGIN_GL_EXT_RESCALE_NORMAL)\n#define REGAL_NO_PLUGIN_GL_EXT_RESCALE_NORMAL\n#endif\n\n#if (defined(GL_EXT_RESCALE_NORMAL) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_RESCALE_NORMAL)) && !defined(REGAL_NO_DECLARATION_GL_EXT_RESCALE_NORMAL)\n#define REGAL_NO_DECLARATION_GL_EXT_RESCALE_NORMAL\n#endif\n\n#ifndef GL_EXT_rescale_normal\n#define GL_EXT_rescale_normal 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_RESCALE_NORMAL\n#define GL_RESCALE_NORMAL_EXT 0x803a /* 32826 */\n#endif\n\n/**\n ** GL_EXT_robustness\n **/\n\n#if (defined(GL_EXT_ROBUSTNESS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_ROBUSTNESS)) && !defined(REGAL_NO_ENUM_GL_EXT_ROBUSTNESS)\n#define REGAL_NO_ENUM_GL_EXT_ROBUSTNESS\n#endif\n\n#if (defined(GL_EXT_ROBUSTNESS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_ROBUSTNESS)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_ROBUSTNESS)\n#define REGAL_NO_TYPEDEF_GL_EXT_ROBUSTNESS\n#endif\n\n#if (defined(GL_EXT_ROBUSTNESS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_ROBUSTNESS)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_ROBUSTNESS)\n#define REGAL_NO_NAMESPACE_GL_EXT_ROBUSTNESS\n#endif\n\n#if (defined(GL_EXT_ROBUSTNESS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_ROBUSTNESS)) && !defined(REGAL_NO_PLUGIN_GL_EXT_ROBUSTNESS)\n#define REGAL_NO_PLUGIN_GL_EXT_ROBUSTNESS\n#endif\n\n#if (defined(GL_EXT_ROBUSTNESS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_ROBUSTNESS)) && !defined(REGAL_NO_DECLARATION_GL_EXT_ROBUSTNESS)\n#define REGAL_NO_DECLARATION_GL_EXT_ROBUSTNESS\n#endif\n\n#ifndef GL_EXT_robustness\n#define GL_EXT_robustness 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_ROBUSTNESS\n#define GL_LOSE_CONTEXT_ON_RESET_EXT       0x8252     /* 33362 */\n#define GL_GUILTY_CONTEXT_RESET_EXT        0x8253     /* 33363 */\n#define GL_INNOCENT_CONTEXT_RESET_EXT      0x8254     /* 33364 */\n#define GL_UNKNOWN_CONTEXT_RESET_EXT       0x8255     /* 33365 */\n#define GL_RESET_NOTIFICATION_STRATEGY_EXT 0x8256     /* 33366 */\n#define GL_NO_RESET_NOTIFICATION_EXT       0x8261     /* 33377 */\n#define GL_CONTEXT_ROBUST_ACCESS_EXT       0x90f3     /* 37107 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_ROBUSTNESS\ntypedef void (REGAL_CALL *PFNGLGETNUNIFORMFVEXTPROC)(GLuint program, GLint location, GLsizei bufSize, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETNUNIFORMIVEXTPROC)(GLuint program, GLint location, GLsizei bufSize, GLint *params);\ntypedef void (REGAL_CALL *PFNGLREADNPIXELSEXTPROC)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLvoid *data);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_ROBUSTNESS\n#define glGetnUniformfvEXT                  rglGetnUniformfvEXT\n#define glGetnUniformivEXT                  rglGetnUniformivEXT\n#define glReadnPixelsEXT                    rglReadnPixelsEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_ROBUSTNESS\nREGAL_DECL void REGAL_CALL glGetnUniformfvEXT(GLuint program, GLint location, GLsizei bufSize, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetnUniformivEXT(GLuint program, GLint location, GLsizei bufSize, GLint *params);\nREGAL_DECL void REGAL_CALL glReadnPixelsEXT(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLvoid *data);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_ROBUSTNESS\nREGAL_DECL void REGAL_CALL plugin_glGetnUniformfvEXT(GLuint program, GLint location, GLsizei bufSize, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetnUniformivEXT(GLuint program, GLint location, GLsizei bufSize, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glReadnPixelsEXT(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLvoid *data);\n#endif\n\n/**\n ** GL_EXT_sRGB\n **/\n\n#if (defined(GL_EXT_SRGB) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_SRGB)) && !defined(REGAL_NO_ENUM_GL_EXT_SRGB)\n#define REGAL_NO_ENUM_GL_EXT_SRGB\n#endif\n\n#if (defined(GL_EXT_SRGB) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_SRGB)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_SRGB)\n#define REGAL_NO_TYPEDEF_GL_EXT_SRGB\n#endif\n\n#if (defined(GL_EXT_SRGB) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_SRGB)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_SRGB)\n#define REGAL_NO_NAMESPACE_GL_EXT_SRGB\n#endif\n\n#if (defined(GL_EXT_SRGB) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_SRGB)) && !defined(REGAL_NO_PLUGIN_GL_EXT_SRGB)\n#define REGAL_NO_PLUGIN_GL_EXT_SRGB\n#endif\n\n#if (defined(GL_EXT_SRGB) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_SRGB)) && !defined(REGAL_NO_DECLARATION_GL_EXT_SRGB)\n#define REGAL_NO_DECLARATION_GL_EXT_SRGB\n#endif\n\n#ifndef GL_EXT_sRGB\n#define GL_EXT_sRGB 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_SRGB\n#define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT 0x8210 /* 33296 */\n#endif\n\n/**\n ** GL_EXT_scene_marker\n **/\n\n#if (defined(GL_EXT_SCENE_MARKER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_SCENE_MARKER)) && !defined(REGAL_NO_ENUM_GL_EXT_SCENE_MARKER)\n#define REGAL_NO_ENUM_GL_EXT_SCENE_MARKER\n#endif\n\n#if (defined(GL_EXT_SCENE_MARKER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_SCENE_MARKER)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_SCENE_MARKER)\n#define REGAL_NO_TYPEDEF_GL_EXT_SCENE_MARKER\n#endif\n\n#if (defined(GL_EXT_SCENE_MARKER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_SCENE_MARKER)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_SCENE_MARKER)\n#define REGAL_NO_NAMESPACE_GL_EXT_SCENE_MARKER\n#endif\n\n#if (defined(GL_EXT_SCENE_MARKER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_SCENE_MARKER)) && !defined(REGAL_NO_PLUGIN_GL_EXT_SCENE_MARKER)\n#define REGAL_NO_PLUGIN_GL_EXT_SCENE_MARKER\n#endif\n\n#if (defined(GL_EXT_SCENE_MARKER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_SCENE_MARKER)) && !defined(REGAL_NO_DECLARATION_GL_EXT_SCENE_MARKER)\n#define REGAL_NO_DECLARATION_GL_EXT_SCENE_MARKER\n#endif\n\n#ifndef GL_EXT_scene_marker\n#define GL_EXT_scene_marker 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_SCENE_MARKER\ntypedef void (REGAL_CALL *PFNGLBEGINSCENEEXTPROC)(void);\ntypedef void (REGAL_CALL *PFNGLENDSCENEEXTPROC)(void);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_SCENE_MARKER\n#define glBeginSceneEXT                     rglBeginSceneEXT\n#define glEndSceneEXT                       rglEndSceneEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_SCENE_MARKER\nREGAL_DECL void REGAL_CALL glBeginSceneEXT(void);\nREGAL_DECL void REGAL_CALL glEndSceneEXT(void);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_SCENE_MARKER\nREGAL_DECL void REGAL_CALL plugin_glBeginSceneEXT(void);\nREGAL_DECL void REGAL_CALL plugin_glEndSceneEXT(void);\n#endif\n\n/**\n ** GL_EXT_secondary_color\n **/\n\n#if (defined(GL_EXT_SECONDARY_COLOR) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_SECONDARY_COLOR)) && !defined(REGAL_NO_ENUM_GL_EXT_SECONDARY_COLOR)\n#define REGAL_NO_ENUM_GL_EXT_SECONDARY_COLOR\n#endif\n\n#if (defined(GL_EXT_SECONDARY_COLOR) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_SECONDARY_COLOR)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_SECONDARY_COLOR)\n#define REGAL_NO_TYPEDEF_GL_EXT_SECONDARY_COLOR\n#endif\n\n#if (defined(GL_EXT_SECONDARY_COLOR) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_SECONDARY_COLOR)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_SECONDARY_COLOR)\n#define REGAL_NO_NAMESPACE_GL_EXT_SECONDARY_COLOR\n#endif\n\n#if (defined(GL_EXT_SECONDARY_COLOR) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_SECONDARY_COLOR)) && !defined(REGAL_NO_PLUGIN_GL_EXT_SECONDARY_COLOR)\n#define REGAL_NO_PLUGIN_GL_EXT_SECONDARY_COLOR\n#endif\n\n#if (defined(GL_EXT_SECONDARY_COLOR) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_SECONDARY_COLOR)) && !defined(REGAL_NO_DECLARATION_GL_EXT_SECONDARY_COLOR)\n#define REGAL_NO_DECLARATION_GL_EXT_SECONDARY_COLOR\n#endif\n\n#ifndef GL_EXT_secondary_color\n#define GL_EXT_secondary_color 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_SECONDARY_COLOR\n#define GL_COLOR_SUM_EXT                     0x8458     /* 33880 */\n#define GL_CURRENT_SECONDARY_COLOR_EXT       0x8459     /* 33881 */\n#define GL_SECONDARY_COLOR_ARRAY_SIZE_EXT    0x845a     /* 33882 */\n#define GL_SECONDARY_COLOR_ARRAY_TYPE_EXT    0x845b     /* 33883 */\n#define GL_SECONDARY_COLOR_ARRAY_STRIDE_EXT  0x845c     /* 33884 */\n#define GL_SECONDARY_COLOR_ARRAY_POINTER_EXT 0x845d     /* 33885 */\n#define GL_SECONDARY_COLOR_ARRAY_EXT         0x845e     /* 33886 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_SECONDARY_COLOR\ntypedef void (REGAL_CALL *PFNGLSECONDARYCOLOR3BEXTPROC)(GLbyte red, GLbyte green, GLbyte blue);\ntypedef void (REGAL_CALL *PFNGLSECONDARYCOLOR3BVEXTPROC)(const GLbyte *v);\ntypedef void (REGAL_CALL *PFNGLSECONDARYCOLOR3DEXTPROC)(GLdouble red, GLdouble green, GLdouble blue);\ntypedef void (REGAL_CALL *PFNGLSECONDARYCOLOR3DVEXTPROC)(const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLSECONDARYCOLOR3FEXTPROC)(GLfloat red, GLfloat green, GLfloat blue);\ntypedef void (REGAL_CALL *PFNGLSECONDARYCOLOR3FVEXTPROC)(const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLSECONDARYCOLOR3IEXTPROC)(GLint red, GLint green, GLint blue);\ntypedef void (REGAL_CALL *PFNGLSECONDARYCOLOR3IVEXTPROC)(const GLint *v);\ntypedef void (REGAL_CALL *PFNGLSECONDARYCOLOR3SEXTPROC)(GLshort red, GLshort green, GLshort blue);\ntypedef void (REGAL_CALL *PFNGLSECONDARYCOLOR3SVEXTPROC)(const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLSECONDARYCOLOR3UBEXTPROC)(GLubyte red, GLubyte green, GLubyte blue);\ntypedef void (REGAL_CALL *PFNGLSECONDARYCOLOR3UBVEXTPROC)(const GLubyte *v);\ntypedef void (REGAL_CALL *PFNGLSECONDARYCOLOR3UIEXTPROC)(GLuint red, GLuint green, GLuint blue);\ntypedef void (REGAL_CALL *PFNGLSECONDARYCOLOR3UIVEXTPROC)(const GLuint *v);\ntypedef void (REGAL_CALL *PFNGLSECONDARYCOLOR3USEXTPROC)(GLushort red, GLushort green, GLushort blue);\ntypedef void (REGAL_CALL *PFNGLSECONDARYCOLOR3USVEXTPROC)(const GLushort *v);\ntypedef void (REGAL_CALL *PFNGLSECONDARYCOLORPOINTEREXTPROC)(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_SECONDARY_COLOR\n#define glSecondaryColor3bEXT               rglSecondaryColor3bEXT\n#define glSecondaryColor3bvEXT              rglSecondaryColor3bvEXT\n#define glSecondaryColor3dEXT               rglSecondaryColor3dEXT\n#define glSecondaryColor3dvEXT              rglSecondaryColor3dvEXT\n#define glSecondaryColor3fEXT               rglSecondaryColor3fEXT\n#define glSecondaryColor3fvEXT              rglSecondaryColor3fvEXT\n#define glSecondaryColor3iEXT               rglSecondaryColor3iEXT\n#define glSecondaryColor3ivEXT              rglSecondaryColor3ivEXT\n#define glSecondaryColor3sEXT               rglSecondaryColor3sEXT\n#define glSecondaryColor3svEXT              rglSecondaryColor3svEXT\n#define glSecondaryColor3ubEXT              rglSecondaryColor3ubEXT\n#define glSecondaryColor3ubvEXT             rglSecondaryColor3ubvEXT\n#define glSecondaryColor3uiEXT              rglSecondaryColor3uiEXT\n#define glSecondaryColor3uivEXT             rglSecondaryColor3uivEXT\n#define glSecondaryColor3usEXT              rglSecondaryColor3usEXT\n#define glSecondaryColor3usvEXT             rglSecondaryColor3usvEXT\n#define glSecondaryColorPointerEXT          rglSecondaryColorPointerEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_SECONDARY_COLOR\nREGAL_DECL void REGAL_CALL glSecondaryColor3bEXT(GLbyte red, GLbyte green, GLbyte blue);\nREGAL_DECL void REGAL_CALL glSecondaryColor3bvEXT(const GLbyte *v);\nREGAL_DECL void REGAL_CALL glSecondaryColor3dEXT(GLdouble red, GLdouble green, GLdouble blue);\nREGAL_DECL void REGAL_CALL glSecondaryColor3dvEXT(const GLdouble *v);\nREGAL_DECL void REGAL_CALL glSecondaryColor3fEXT(GLfloat red, GLfloat green, GLfloat blue);\nREGAL_DECL void REGAL_CALL glSecondaryColor3fvEXT(const GLfloat *v);\nREGAL_DECL void REGAL_CALL glSecondaryColor3iEXT(GLint red, GLint green, GLint blue);\nREGAL_DECL void REGAL_CALL glSecondaryColor3ivEXT(const GLint *v);\nREGAL_DECL void REGAL_CALL glSecondaryColor3sEXT(GLshort red, GLshort green, GLshort blue);\nREGAL_DECL void REGAL_CALL glSecondaryColor3svEXT(const GLshort *v);\nREGAL_DECL void REGAL_CALL glSecondaryColor3ubEXT(GLubyte red, GLubyte green, GLubyte blue);\nREGAL_DECL void REGAL_CALL glSecondaryColor3ubvEXT(const GLubyte *v);\nREGAL_DECL void REGAL_CALL glSecondaryColor3uiEXT(GLuint red, GLuint green, GLuint blue);\nREGAL_DECL void REGAL_CALL glSecondaryColor3uivEXT(const GLuint *v);\nREGAL_DECL void REGAL_CALL glSecondaryColor3usEXT(GLushort red, GLushort green, GLushort blue);\nREGAL_DECL void REGAL_CALL glSecondaryColor3usvEXT(const GLushort *v);\nREGAL_DECL void REGAL_CALL glSecondaryColorPointerEXT(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_SECONDARY_COLOR\nREGAL_DECL void REGAL_CALL plugin_glSecondaryColor3bEXT(GLbyte red, GLbyte green, GLbyte blue);\nREGAL_DECL void REGAL_CALL plugin_glSecondaryColor3bvEXT(const GLbyte *v);\nREGAL_DECL void REGAL_CALL plugin_glSecondaryColor3dEXT(GLdouble red, GLdouble green, GLdouble blue);\nREGAL_DECL void REGAL_CALL plugin_glSecondaryColor3dvEXT(const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glSecondaryColor3fEXT(GLfloat red, GLfloat green, GLfloat blue);\nREGAL_DECL void REGAL_CALL plugin_glSecondaryColor3fvEXT(const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glSecondaryColor3iEXT(GLint red, GLint green, GLint blue);\nREGAL_DECL void REGAL_CALL plugin_glSecondaryColor3ivEXT(const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glSecondaryColor3sEXT(GLshort red, GLshort green, GLshort blue);\nREGAL_DECL void REGAL_CALL plugin_glSecondaryColor3svEXT(const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glSecondaryColor3ubEXT(GLubyte red, GLubyte green, GLubyte blue);\nREGAL_DECL void REGAL_CALL plugin_glSecondaryColor3ubvEXT(const GLubyte *v);\nREGAL_DECL void REGAL_CALL plugin_glSecondaryColor3uiEXT(GLuint red, GLuint green, GLuint blue);\nREGAL_DECL void REGAL_CALL plugin_glSecondaryColor3uivEXT(const GLuint *v);\nREGAL_DECL void REGAL_CALL plugin_glSecondaryColor3usEXT(GLushort red, GLushort green, GLushort blue);\nREGAL_DECL void REGAL_CALL plugin_glSecondaryColor3usvEXT(const GLushort *v);\nREGAL_DECL void REGAL_CALL plugin_glSecondaryColorPointerEXT(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);\n#endif\n\n/**\n ** GL_EXT_separate_shader_objects\n **/\n\n#if (defined(GL_EXT_SEPARATE_SHADER_OBJECTS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_SEPARATE_SHADER_OBJECTS)) && !defined(REGAL_NO_ENUM_GL_EXT_SEPARATE_SHADER_OBJECTS)\n#define REGAL_NO_ENUM_GL_EXT_SEPARATE_SHADER_OBJECTS\n#endif\n\n#if (defined(GL_EXT_SEPARATE_SHADER_OBJECTS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_SEPARATE_SHADER_OBJECTS)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_SEPARATE_SHADER_OBJECTS)\n#define REGAL_NO_TYPEDEF_GL_EXT_SEPARATE_SHADER_OBJECTS\n#endif\n\n#if (defined(GL_EXT_SEPARATE_SHADER_OBJECTS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_SEPARATE_SHADER_OBJECTS)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_SEPARATE_SHADER_OBJECTS)\n#define REGAL_NO_NAMESPACE_GL_EXT_SEPARATE_SHADER_OBJECTS\n#endif\n\n#if (defined(GL_EXT_SEPARATE_SHADER_OBJECTS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_SEPARATE_SHADER_OBJECTS)) && !defined(REGAL_NO_PLUGIN_GL_EXT_SEPARATE_SHADER_OBJECTS)\n#define REGAL_NO_PLUGIN_GL_EXT_SEPARATE_SHADER_OBJECTS\n#endif\n\n#if (defined(GL_EXT_SEPARATE_SHADER_OBJECTS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_SEPARATE_SHADER_OBJECTS)) && !defined(REGAL_NO_DECLARATION_GL_EXT_SEPARATE_SHADER_OBJECTS)\n#define REGAL_NO_DECLARATION_GL_EXT_SEPARATE_SHADER_OBJECTS\n#endif\n\n#ifndef GL_EXT_separate_shader_objects\n#define GL_EXT_separate_shader_objects 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_SEPARATE_SHADER_OBJECTS\n#define GL_ACTIVE_PROGRAM_EXT 0x8b8d /* 35725 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_SEPARATE_SHADER_OBJECTS\ntypedef GLuint (REGAL_CALL *PFNGLCREATESHADERPROGRAMEXTPROC)(GLenum type, const GLchar *string);\ntypedef void (REGAL_CALL *PFNGLACTIVEPROGRAMEXTPROC)(GLuint program);\ntypedef void (REGAL_CALL *PFNGLUSESHADERPROGRAMEXTPROC)(GLenum type, GLuint program);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_SEPARATE_SHADER_OBJECTS\n#define glActiveProgramEXT                  rglActiveProgramEXT\n#define glCreateShaderProgramEXT            rglCreateShaderProgramEXT\n#define glUseShaderProgramEXT               rglUseShaderProgramEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_SEPARATE_SHADER_OBJECTS\nREGAL_DECL GLuint REGAL_CALL glCreateShaderProgramEXT(GLenum type, const GLchar *string);\nREGAL_DECL void REGAL_CALL glActiveProgramEXT(GLuint program);\nREGAL_DECL void REGAL_CALL glUseShaderProgramEXT(GLenum type, GLuint program);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_SEPARATE_SHADER_OBJECTS\nREGAL_DECL GLuint REGAL_CALL plugin_glCreateShaderProgramEXT(GLenum type, const GLchar *string);\nREGAL_DECL void REGAL_CALL plugin_glActiveProgramEXT(GLuint program);\nREGAL_DECL void REGAL_CALL plugin_glUseShaderProgramEXT(GLenum type, GLuint program);\n#endif\n\n/**\n ** GL_EXT_separate_specular_color\n **/\n\n#if (defined(GL_EXT_SEPARATE_SPECULAR_COLOR) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_SEPARATE_SPECULAR_COLOR)) && !defined(REGAL_NO_ENUM_GL_EXT_SEPARATE_SPECULAR_COLOR)\n#define REGAL_NO_ENUM_GL_EXT_SEPARATE_SPECULAR_COLOR\n#endif\n\n#if (defined(GL_EXT_SEPARATE_SPECULAR_COLOR) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_SEPARATE_SPECULAR_COLOR)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_SEPARATE_SPECULAR_COLOR)\n#define REGAL_NO_TYPEDEF_GL_EXT_SEPARATE_SPECULAR_COLOR\n#endif\n\n#if (defined(GL_EXT_SEPARATE_SPECULAR_COLOR) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_SEPARATE_SPECULAR_COLOR)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_SEPARATE_SPECULAR_COLOR)\n#define REGAL_NO_NAMESPACE_GL_EXT_SEPARATE_SPECULAR_COLOR\n#endif\n\n#if (defined(GL_EXT_SEPARATE_SPECULAR_COLOR) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_SEPARATE_SPECULAR_COLOR)) && !defined(REGAL_NO_PLUGIN_GL_EXT_SEPARATE_SPECULAR_COLOR)\n#define REGAL_NO_PLUGIN_GL_EXT_SEPARATE_SPECULAR_COLOR\n#endif\n\n#if (defined(GL_EXT_SEPARATE_SPECULAR_COLOR) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_SEPARATE_SPECULAR_COLOR)) && !defined(REGAL_NO_DECLARATION_GL_EXT_SEPARATE_SPECULAR_COLOR)\n#define REGAL_NO_DECLARATION_GL_EXT_SEPARATE_SPECULAR_COLOR\n#endif\n\n#ifndef GL_EXT_separate_specular_color\n#define GL_EXT_separate_specular_color 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_SEPARATE_SPECULAR_COLOR\n#define GL_LIGHT_MODEL_COLOR_CONTROL_EXT 0x81f8     /* 33272 */\n#define GL_SINGLE_COLOR_EXT              0x81f9     /* 33273 */\n#define GL_SEPARATE_SPECULAR_COLOR_EXT   0x81fa     /* 33274 */\n#endif\n\n/**\n ** GL_EXT_shader_framebuffer_fetch\n **/\n\n#if (defined(GL_EXT_SHADER_FRAMEBUFFER_FETCH) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_SHADER_FRAMEBUFFER_FETCH)) && !defined(REGAL_NO_ENUM_GL_EXT_SHADER_FRAMEBUFFER_FETCH)\n#define REGAL_NO_ENUM_GL_EXT_SHADER_FRAMEBUFFER_FETCH\n#endif\n\n#if (defined(GL_EXT_SHADER_FRAMEBUFFER_FETCH) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_SHADER_FRAMEBUFFER_FETCH)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_SHADER_FRAMEBUFFER_FETCH)\n#define REGAL_NO_TYPEDEF_GL_EXT_SHADER_FRAMEBUFFER_FETCH\n#endif\n\n#if (defined(GL_EXT_SHADER_FRAMEBUFFER_FETCH) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_SHADER_FRAMEBUFFER_FETCH)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_SHADER_FRAMEBUFFER_FETCH)\n#define REGAL_NO_NAMESPACE_GL_EXT_SHADER_FRAMEBUFFER_FETCH\n#endif\n\n#if (defined(GL_EXT_SHADER_FRAMEBUFFER_FETCH) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_SHADER_FRAMEBUFFER_FETCH)) && !defined(REGAL_NO_PLUGIN_GL_EXT_SHADER_FRAMEBUFFER_FETCH)\n#define REGAL_NO_PLUGIN_GL_EXT_SHADER_FRAMEBUFFER_FETCH\n#endif\n\n#if (defined(GL_EXT_SHADER_FRAMEBUFFER_FETCH) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_SHADER_FRAMEBUFFER_FETCH)) && !defined(REGAL_NO_DECLARATION_GL_EXT_SHADER_FRAMEBUFFER_FETCH)\n#define REGAL_NO_DECLARATION_GL_EXT_SHADER_FRAMEBUFFER_FETCH\n#endif\n\n#ifndef GL_EXT_shader_framebuffer_fetch\n#define GL_EXT_shader_framebuffer_fetch 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_SHADER_FRAMEBUFFER_FETCH\n#define GL_FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT 0x8a52 /* 35410 */\n#endif\n\n/**\n ** GL_EXT_shader_image_load_store\n **/\n\n#if (defined(GL_EXT_SHADER_IMAGE_LOAD_STORE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_SHADER_IMAGE_LOAD_STORE)) && !defined(REGAL_NO_ENUM_GL_EXT_SHADER_IMAGE_LOAD_STORE)\n#define REGAL_NO_ENUM_GL_EXT_SHADER_IMAGE_LOAD_STORE\n#endif\n\n#if (defined(GL_EXT_SHADER_IMAGE_LOAD_STORE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_SHADER_IMAGE_LOAD_STORE)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_SHADER_IMAGE_LOAD_STORE)\n#define REGAL_NO_TYPEDEF_GL_EXT_SHADER_IMAGE_LOAD_STORE\n#endif\n\n#if (defined(GL_EXT_SHADER_IMAGE_LOAD_STORE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_SHADER_IMAGE_LOAD_STORE)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_SHADER_IMAGE_LOAD_STORE)\n#define REGAL_NO_NAMESPACE_GL_EXT_SHADER_IMAGE_LOAD_STORE\n#endif\n\n#if (defined(GL_EXT_SHADER_IMAGE_LOAD_STORE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_SHADER_IMAGE_LOAD_STORE)) && !defined(REGAL_NO_PLUGIN_GL_EXT_SHADER_IMAGE_LOAD_STORE)\n#define REGAL_NO_PLUGIN_GL_EXT_SHADER_IMAGE_LOAD_STORE\n#endif\n\n#if (defined(GL_EXT_SHADER_IMAGE_LOAD_STORE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_SHADER_IMAGE_LOAD_STORE)) && !defined(REGAL_NO_DECLARATION_GL_EXT_SHADER_IMAGE_LOAD_STORE)\n#define REGAL_NO_DECLARATION_GL_EXT_SHADER_IMAGE_LOAD_STORE\n#endif\n\n#ifndef GL_EXT_shader_image_load_store\n#define GL_EXT_shader_image_load_store 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_SHADER_IMAGE_LOAD_STORE\n#define GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT_EXT               0x1\n#define GL_TEXTURE_UPDATE_BARRIER_BIT_EXT                    0x100          /* 256 */\n#define GL_ATOMIC_COUNTER_BARRIER_BIT_EXT                    0x1000         /* 4096 */\n#define GL_ELEMENT_ARRAY_BARRIER_BIT_EXT                     0x2\n#define GL_SHADER_IMAGE_ACCESS_BARRIER_BIT_EXT               0x20           /* 32 */\n#define GL_BUFFER_UPDATE_BARRIER_BIT_EXT                     0x200          /* 512 */\n#define GL_UNIFORM_BARRIER_BIT_EXT                           0x4\n#define GL_COMMAND_BARRIER_BIT_EXT                           0x40           /* 64 */\n#define GL_FRAMEBUFFER_BARRIER_BIT_EXT                       0x400          /* 1024 */\n#define GL_TEXTURE_FETCH_BARRIER_BIT_EXT                     0x8\n#define GL_PIXEL_BUFFER_BARRIER_BIT_EXT                      0x80           /* 128 */\n#define GL_TRANSFORM_FEEDBACK_BARRIER_BIT_EXT                0x800          /* 2048 */\n#define GL_MAX_IMAGE_UNITS_EXT                               0x8f38         /* 36664 */\n#define GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS_EXT 0x8f39         /* 36665 */\n#define GL_IMAGE_BINDING_NAME_EXT                            0x8f3a         /* 36666 */\n#define GL_IMAGE_BINDING_LEVEL_EXT                           0x8f3b         /* 36667 */\n#define GL_IMAGE_BINDING_LAYERED_EXT                         0x8f3c         /* 36668 */\n#define GL_IMAGE_BINDING_LAYER_EXT                           0x8f3d         /* 36669 */\n#define GL_IMAGE_BINDING_ACCESS_EXT                          0x8f3e         /* 36670 */\n#define GL_IMAGE_1D_EXT                                      0x904c         /* 36940 */\n#define GL_IMAGE_2D_EXT                                      0x904d         /* 36941 */\n#define GL_IMAGE_3D_EXT                                      0x904e         /* 36942 */\n#define GL_IMAGE_2D_RECT_EXT                                 0x904f         /* 36943 */\n#define GL_IMAGE_CUBE_EXT                                    0x9050         /* 36944 */\n#define GL_IMAGE_BUFFER_EXT                                  0x9051         /* 36945 */\n#define GL_IMAGE_1D_ARRAY_EXT                                0x9052         /* 36946 */\n#define GL_IMAGE_2D_ARRAY_EXT                                0x9053         /* 36947 */\n#define GL_IMAGE_CUBE_MAP_ARRAY_EXT                          0x9054         /* 36948 */\n#define GL_IMAGE_2D_MULTISAMPLE_EXT                          0x9055         /* 36949 */\n#define GL_IMAGE_2D_MULTISAMPLE_ARRAY_EXT                    0x9056         /* 36950 */\n#define GL_INT_IMAGE_1D_EXT                                  0x9057         /* 36951 */\n#define GL_INT_IMAGE_2D_EXT                                  0x9058         /* 36952 */\n#define GL_INT_IMAGE_3D_EXT                                  0x9059         /* 36953 */\n#define GL_INT_IMAGE_2D_RECT_EXT                             0x905a         /* 36954 */\n#define GL_INT_IMAGE_CUBE_EXT                                0x905b         /* 36955 */\n#define GL_INT_IMAGE_BUFFER_EXT                              0x905c         /* 36956 */\n#define GL_INT_IMAGE_1D_ARRAY_EXT                            0x905d         /* 36957 */\n#define GL_INT_IMAGE_2D_ARRAY_EXT                            0x905e         /* 36958 */\n#define GL_INT_IMAGE_CUBE_MAP_ARRAY_EXT                      0x905f         /* 36959 */\n#define GL_INT_IMAGE_2D_MULTISAMPLE_EXT                      0x9060         /* 36960 */\n#define GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT                0x9061         /* 36961 */\n#define GL_UNSIGNED_INT_IMAGE_1D_EXT                         0x9062         /* 36962 */\n#define GL_UNSIGNED_INT_IMAGE_2D_EXT                         0x9063         /* 36963 */\n#define GL_UNSIGNED_INT_IMAGE_3D_EXT                         0x9064         /* 36964 */\n#define GL_UNSIGNED_INT_IMAGE_2D_RECT_EXT                    0x9065         /* 36965 */\n#define GL_UNSIGNED_INT_IMAGE_CUBE_EXT                       0x9066         /* 36966 */\n#define GL_UNSIGNED_INT_IMAGE_BUFFER_EXT                     0x9067         /* 36967 */\n#define GL_UNSIGNED_INT_IMAGE_1D_ARRAY_EXT                   0x9068         /* 36968 */\n#define GL_UNSIGNED_INT_IMAGE_2D_ARRAY_EXT                   0x9069         /* 36969 */\n#define GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT             0x906a         /* 36970 */\n#define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_EXT             0x906b         /* 36971 */\n#define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT       0x906c         /* 36972 */\n#define GL_MAX_IMAGE_SAMPLES_EXT                             0x906d         /* 36973 */\n#define GL_IMAGE_BINDING_FORMAT_EXT                          0x906e         /* 36974 */\n#define GL_ALL_BARRIER_BITS_EXT                              0xffffffff     /* 4294967295 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_SHADER_IMAGE_LOAD_STORE\ntypedef void (REGAL_CALL *PFNGLBINDIMAGETEXTUREEXTPROC)(GLuint index, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLint format);\ntypedef void (REGAL_CALL *PFNGLMEMORYBARRIEREXTPROC)(GLbitfield barriers);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_SHADER_IMAGE_LOAD_STORE\n#define glBindImageTextureEXT               rglBindImageTextureEXT\n#define glMemoryBarrierEXT                  rglMemoryBarrierEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_SHADER_IMAGE_LOAD_STORE\nREGAL_DECL void REGAL_CALL glBindImageTextureEXT(GLuint index, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLint format);\nREGAL_DECL void REGAL_CALL glMemoryBarrierEXT(GLbitfield barriers);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_SHADER_IMAGE_LOAD_STORE\nREGAL_DECL void REGAL_CALL plugin_glBindImageTextureEXT(GLuint index, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLint format);\nREGAL_DECL void REGAL_CALL plugin_glMemoryBarrierEXT(GLbitfield barriers);\n#endif\n\n/**\n ** GL_EXT_shadow_samplers\n **/\n\n#if (defined(GL_EXT_SHADOW_SAMPLERS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_SHADOW_SAMPLERS)) && !defined(REGAL_NO_ENUM_GL_EXT_SHADOW_SAMPLERS)\n#define REGAL_NO_ENUM_GL_EXT_SHADOW_SAMPLERS\n#endif\n\n#if (defined(GL_EXT_SHADOW_SAMPLERS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_SHADOW_SAMPLERS)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_SHADOW_SAMPLERS)\n#define REGAL_NO_TYPEDEF_GL_EXT_SHADOW_SAMPLERS\n#endif\n\n#if (defined(GL_EXT_SHADOW_SAMPLERS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_SHADOW_SAMPLERS)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_SHADOW_SAMPLERS)\n#define REGAL_NO_NAMESPACE_GL_EXT_SHADOW_SAMPLERS\n#endif\n\n#if (defined(GL_EXT_SHADOW_SAMPLERS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_SHADOW_SAMPLERS)) && !defined(REGAL_NO_PLUGIN_GL_EXT_SHADOW_SAMPLERS)\n#define REGAL_NO_PLUGIN_GL_EXT_SHADOW_SAMPLERS\n#endif\n\n#if (defined(GL_EXT_SHADOW_SAMPLERS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_SHADOW_SAMPLERS)) && !defined(REGAL_NO_DECLARATION_GL_EXT_SHADOW_SAMPLERS)\n#define REGAL_NO_DECLARATION_GL_EXT_SHADOW_SAMPLERS\n#endif\n\n#ifndef GL_EXT_shadow_samplers\n#define GL_EXT_shadow_samplers 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_SHADOW_SAMPLERS\n#define GL_TEXTURE_COMPARE_MODE_EXT   0x884c     /* 34892 */\n#define GL_TEXTURE_COMPARE_FUNC_EXT   0x884d     /* 34893 */\n#define GL_COMPARE_REF_TO_TEXTURE_EXT 0x884e     /* 34894 */\n#define GL_SAMPLER_2D_SHADOW_EXT      0x8b62     /* 35682 */\n#endif\n\n/**\n ** GL_EXT_shared_texture_palette\n **/\n\n#if (defined(GL_EXT_SHARED_TEXTURE_PALETTE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_SHARED_TEXTURE_PALETTE)) && !defined(REGAL_NO_ENUM_GL_EXT_SHARED_TEXTURE_PALETTE)\n#define REGAL_NO_ENUM_GL_EXT_SHARED_TEXTURE_PALETTE\n#endif\n\n#if (defined(GL_EXT_SHARED_TEXTURE_PALETTE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_SHARED_TEXTURE_PALETTE)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_SHARED_TEXTURE_PALETTE)\n#define REGAL_NO_TYPEDEF_GL_EXT_SHARED_TEXTURE_PALETTE\n#endif\n\n#if (defined(GL_EXT_SHARED_TEXTURE_PALETTE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_SHARED_TEXTURE_PALETTE)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_SHARED_TEXTURE_PALETTE)\n#define REGAL_NO_NAMESPACE_GL_EXT_SHARED_TEXTURE_PALETTE\n#endif\n\n#if (defined(GL_EXT_SHARED_TEXTURE_PALETTE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_SHARED_TEXTURE_PALETTE)) && !defined(REGAL_NO_PLUGIN_GL_EXT_SHARED_TEXTURE_PALETTE)\n#define REGAL_NO_PLUGIN_GL_EXT_SHARED_TEXTURE_PALETTE\n#endif\n\n#if (defined(GL_EXT_SHARED_TEXTURE_PALETTE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_SHARED_TEXTURE_PALETTE)) && !defined(REGAL_NO_DECLARATION_GL_EXT_SHARED_TEXTURE_PALETTE)\n#define REGAL_NO_DECLARATION_GL_EXT_SHARED_TEXTURE_PALETTE\n#endif\n\n#ifndef GL_EXT_shared_texture_palette\n#define GL_EXT_shared_texture_palette 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_SHARED_TEXTURE_PALETTE\n#define GL_SHARED_TEXTURE_PALETTE_EXT 0x81fb /* 33275 */\n#endif\n\n/**\n ** GL_EXT_stencil_clear_tag\n **/\n\n#if (defined(GL_EXT_STENCIL_CLEAR_TAG) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_STENCIL_CLEAR_TAG)) && !defined(REGAL_NO_ENUM_GL_EXT_STENCIL_CLEAR_TAG)\n#define REGAL_NO_ENUM_GL_EXT_STENCIL_CLEAR_TAG\n#endif\n\n#if (defined(GL_EXT_STENCIL_CLEAR_TAG) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_STENCIL_CLEAR_TAG)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_STENCIL_CLEAR_TAG)\n#define REGAL_NO_TYPEDEF_GL_EXT_STENCIL_CLEAR_TAG\n#endif\n\n#if (defined(GL_EXT_STENCIL_CLEAR_TAG) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_STENCIL_CLEAR_TAG)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_STENCIL_CLEAR_TAG)\n#define REGAL_NO_NAMESPACE_GL_EXT_STENCIL_CLEAR_TAG\n#endif\n\n#if (defined(GL_EXT_STENCIL_CLEAR_TAG) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_STENCIL_CLEAR_TAG)) && !defined(REGAL_NO_PLUGIN_GL_EXT_STENCIL_CLEAR_TAG)\n#define REGAL_NO_PLUGIN_GL_EXT_STENCIL_CLEAR_TAG\n#endif\n\n#if (defined(GL_EXT_STENCIL_CLEAR_TAG) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_STENCIL_CLEAR_TAG)) && !defined(REGAL_NO_DECLARATION_GL_EXT_STENCIL_CLEAR_TAG)\n#define REGAL_NO_DECLARATION_GL_EXT_STENCIL_CLEAR_TAG\n#endif\n\n#ifndef GL_EXT_stencil_clear_tag\n#define GL_EXT_stencil_clear_tag 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_STENCIL_CLEAR_TAG\n#define GL_STENCIL_TAG_BITS_EXT        0x88f2     /* 35058 */\n#define GL_STENCIL_CLEAR_TAG_VALUE_EXT 0x88f3     /* 35059 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_STENCIL_CLEAR_TAG\ntypedef void (REGAL_CALL *PFNGLSTENCILCLEARTAGEXTPROC)(GLsizei stencilTagBits, GLuint stencilClearTag);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_STENCIL_CLEAR_TAG\n#define glStencilClearTagEXT                rglStencilClearTagEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_STENCIL_CLEAR_TAG\nREGAL_DECL void REGAL_CALL glStencilClearTagEXT(GLsizei stencilTagBits, GLuint stencilClearTag);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_STENCIL_CLEAR_TAG\nREGAL_DECL void REGAL_CALL plugin_glStencilClearTagEXT(GLsizei stencilTagBits, GLuint stencilClearTag);\n#endif\n\n/**\n ** GL_EXT_stencil_two_side\n **/\n\n#if (defined(GL_EXT_STENCIL_TWO_SIDE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_STENCIL_TWO_SIDE)) && !defined(REGAL_NO_ENUM_GL_EXT_STENCIL_TWO_SIDE)\n#define REGAL_NO_ENUM_GL_EXT_STENCIL_TWO_SIDE\n#endif\n\n#if (defined(GL_EXT_STENCIL_TWO_SIDE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_STENCIL_TWO_SIDE)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_STENCIL_TWO_SIDE)\n#define REGAL_NO_TYPEDEF_GL_EXT_STENCIL_TWO_SIDE\n#endif\n\n#if (defined(GL_EXT_STENCIL_TWO_SIDE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_STENCIL_TWO_SIDE)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_STENCIL_TWO_SIDE)\n#define REGAL_NO_NAMESPACE_GL_EXT_STENCIL_TWO_SIDE\n#endif\n\n#if (defined(GL_EXT_STENCIL_TWO_SIDE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_STENCIL_TWO_SIDE)) && !defined(REGAL_NO_PLUGIN_GL_EXT_STENCIL_TWO_SIDE)\n#define REGAL_NO_PLUGIN_GL_EXT_STENCIL_TWO_SIDE\n#endif\n\n#if (defined(GL_EXT_STENCIL_TWO_SIDE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_STENCIL_TWO_SIDE)) && !defined(REGAL_NO_DECLARATION_GL_EXT_STENCIL_TWO_SIDE)\n#define REGAL_NO_DECLARATION_GL_EXT_STENCIL_TWO_SIDE\n#endif\n\n#ifndef GL_EXT_stencil_two_side\n#define GL_EXT_stencil_two_side 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_STENCIL_TWO_SIDE\n#define GL_STENCIL_TEST_TWO_SIDE_EXT 0x8910     /* 35088 */\n#define GL_ACTIVE_STENCIL_FACE_EXT   0x8911     /* 35089 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_STENCIL_TWO_SIDE\ntypedef void (REGAL_CALL *PFNGLACTIVESTENCILFACEEXTPROC)(GLenum face);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_STENCIL_TWO_SIDE\n#define glActiveStencilFaceEXT              rglActiveStencilFaceEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_STENCIL_TWO_SIDE\nREGAL_DECL void REGAL_CALL glActiveStencilFaceEXT(GLenum face);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_STENCIL_TWO_SIDE\nREGAL_DECL void REGAL_CALL plugin_glActiveStencilFaceEXT(GLenum face);\n#endif\n\n/**\n ** GL_EXT_stencil_wrap\n **/\n\n#if (defined(GL_EXT_STENCIL_WRAP) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_STENCIL_WRAP)) && !defined(REGAL_NO_ENUM_GL_EXT_STENCIL_WRAP)\n#define REGAL_NO_ENUM_GL_EXT_STENCIL_WRAP\n#endif\n\n#if (defined(GL_EXT_STENCIL_WRAP) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_STENCIL_WRAP)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_STENCIL_WRAP)\n#define REGAL_NO_TYPEDEF_GL_EXT_STENCIL_WRAP\n#endif\n\n#if (defined(GL_EXT_STENCIL_WRAP) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_STENCIL_WRAP)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_STENCIL_WRAP)\n#define REGAL_NO_NAMESPACE_GL_EXT_STENCIL_WRAP\n#endif\n\n#if (defined(GL_EXT_STENCIL_WRAP) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_STENCIL_WRAP)) && !defined(REGAL_NO_PLUGIN_GL_EXT_STENCIL_WRAP)\n#define REGAL_NO_PLUGIN_GL_EXT_STENCIL_WRAP\n#endif\n\n#if (defined(GL_EXT_STENCIL_WRAP) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_STENCIL_WRAP)) && !defined(REGAL_NO_DECLARATION_GL_EXT_STENCIL_WRAP)\n#define REGAL_NO_DECLARATION_GL_EXT_STENCIL_WRAP\n#endif\n\n#ifndef GL_EXT_stencil_wrap\n#define GL_EXT_stencil_wrap 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_STENCIL_WRAP\n#define GL_INCR_WRAP_EXT 0x8507     /* 34055 */\n#define GL_DECR_WRAP_EXT 0x8508     /* 34056 */\n#endif\n\n/**\n ** GL_EXT_subtexture\n **/\n\n#if (defined(GL_EXT_SUBTEXTURE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_SUBTEXTURE)) && !defined(REGAL_NO_ENUM_GL_EXT_SUBTEXTURE)\n#define REGAL_NO_ENUM_GL_EXT_SUBTEXTURE\n#endif\n\n#if (defined(GL_EXT_SUBTEXTURE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_SUBTEXTURE)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_SUBTEXTURE)\n#define REGAL_NO_TYPEDEF_GL_EXT_SUBTEXTURE\n#endif\n\n#if (defined(GL_EXT_SUBTEXTURE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_SUBTEXTURE)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_SUBTEXTURE)\n#define REGAL_NO_NAMESPACE_GL_EXT_SUBTEXTURE\n#endif\n\n#if (defined(GL_EXT_SUBTEXTURE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_SUBTEXTURE)) && !defined(REGAL_NO_PLUGIN_GL_EXT_SUBTEXTURE)\n#define REGAL_NO_PLUGIN_GL_EXT_SUBTEXTURE\n#endif\n\n#if (defined(GL_EXT_SUBTEXTURE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_SUBTEXTURE)) && !defined(REGAL_NO_DECLARATION_GL_EXT_SUBTEXTURE)\n#define REGAL_NO_DECLARATION_GL_EXT_SUBTEXTURE\n#endif\n\n#ifndef GL_EXT_subtexture\n#define GL_EXT_subtexture 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_SUBTEXTURE\ntypedef void (REGAL_CALL *PFNGLTEXSUBIMAGE1DEXTPROC)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);\ntypedef void (REGAL_CALL *PFNGLTEXSUBIMAGE2DEXTPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);\ntypedef void (REGAL_CALL *PFNGLTEXSUBIMAGE3DEXTPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_SUBTEXTURE\n#define glTexSubImage1DEXT                  rglTexSubImage1DEXT\n#define glTexSubImage2DEXT                  rglTexSubImage2DEXT\n#define glTexSubImage3DEXT                  rglTexSubImage3DEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_SUBTEXTURE\nREGAL_DECL void REGAL_CALL glTexSubImage1DEXT(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL glTexSubImage2DEXT(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL glTexSubImage3DEXT(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_SUBTEXTURE\nREGAL_DECL void REGAL_CALL plugin_glTexSubImage1DEXT(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL plugin_glTexSubImage2DEXT(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL plugin_glTexSubImage3DEXT(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);\n#endif\n\n/**\n ** GL_EXT_texture\n **/\n\n#if (defined(GL_EXT_TEXTURE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_TEXTURE)) && !defined(REGAL_NO_ENUM_GL_EXT_TEXTURE)\n#define REGAL_NO_ENUM_GL_EXT_TEXTURE\n#endif\n\n#if (defined(GL_EXT_TEXTURE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_TEXTURE)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_TEXTURE)\n#define REGAL_NO_TYPEDEF_GL_EXT_TEXTURE\n#endif\n\n#if (defined(GL_EXT_TEXTURE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_TEXTURE)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_TEXTURE)\n#define REGAL_NO_NAMESPACE_GL_EXT_TEXTURE\n#endif\n\n#if (defined(GL_EXT_TEXTURE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_TEXTURE)) && !defined(REGAL_NO_PLUGIN_GL_EXT_TEXTURE)\n#define REGAL_NO_PLUGIN_GL_EXT_TEXTURE\n#endif\n\n#if (defined(GL_EXT_TEXTURE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_TEXTURE)) && !defined(REGAL_NO_DECLARATION_GL_EXT_TEXTURE)\n#define REGAL_NO_DECLARATION_GL_EXT_TEXTURE\n#endif\n\n#ifndef GL_EXT_texture\n#define GL_EXT_texture 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_TEXTURE\n#define GL_ALPHA4_EXT                 0x803b     /* 32827 */\n#define GL_ALPHA8_EXT                 0x803c     /* 32828 */\n#define GL_ALPHA12_EXT                0x803d     /* 32829 */\n#define GL_ALPHA16_EXT                0x803e     /* 32830 */\n#define GL_LUMINANCE4_EXT             0x803f     /* 32831 */\n#define GL_LUMINANCE8_EXT             0x8040     /* 32832 */\n#define GL_LUMINANCE12_EXT            0x8041     /* 32833 */\n#define GL_LUMINANCE16_EXT            0x8042     /* 32834 */\n#define GL_LUMINANCE4_ALPHA4_EXT      0x8043     /* 32835 */\n#define GL_LUMINANCE6_ALPHA2_EXT      0x8044     /* 32836 */\n#define GL_LUMINANCE8_ALPHA8_EXT      0x8045     /* 32837 */\n#define GL_LUMINANCE12_ALPHA4_EXT     0x8046     /* 32838 */\n#define GL_LUMINANCE12_ALPHA12_EXT    0x8047     /* 32839 */\n#define GL_LUMINANCE16_ALPHA16_EXT    0x8048     /* 32840 */\n#define GL_INTENSITY_EXT              0x8049     /* 32841 */\n#define GL_INTENSITY4_EXT             0x804a     /* 32842 */\n#define GL_INTENSITY8_EXT             0x804b     /* 32843 */\n#define GL_INTENSITY12_EXT            0x804c     /* 32844 */\n#define GL_INTENSITY16_EXT            0x804d     /* 32845 */\n#define GL_RGB2_EXT                   0x804e     /* 32846 */\n#define GL_RGB4_EXT                   0x804f     /* 32847 */\n#define GL_RGB5_EXT                   0x8050     /* 32848 */\n#define GL_RGB8_EXT                   0x8051     /* 32849 */\n#define GL_RGB10_EXT                  0x8052     /* 32850 */\n#define GL_RGB12_EXT                  0x8053     /* 32851 */\n#define GL_RGB16_EXT                  0x8054     /* 32852 */\n#define GL_RGBA2_EXT                  0x8055     /* 32853 */\n#define GL_RGBA4_EXT                  0x8056     /* 32854 */\n#define GL_RGB5_A1_EXT                0x8057     /* 32855 */\n#define GL_RGBA8_EXT                  0x8058     /* 32856 */\n#define GL_RGB10_A2_EXT               0x8059     /* 32857 */\n#define GL_RGBA12_EXT                 0x805a     /* 32858 */\n#define GL_RGBA16_EXT                 0x805b     /* 32859 */\n#define GL_TEXTURE_RED_SIZE_EXT       0x805c     /* 32860 */\n#define GL_TEXTURE_GREEN_SIZE_EXT     0x805d     /* 32861 */\n#define GL_TEXTURE_BLUE_SIZE_EXT      0x805e     /* 32862 */\n#define GL_TEXTURE_ALPHA_SIZE_EXT     0x805f     /* 32863 */\n#define GL_TEXTURE_LUMINANCE_SIZE_EXT 0x8060     /* 32864 */\n#define GL_TEXTURE_INTENSITY_SIZE_EXT 0x8061     /* 32865 */\n#define GL_REPLACE_EXT                0x8062     /* 32866 */\n#define GL_PROXY_TEXTURE_1D_EXT       0x8063     /* 32867 */\n#define GL_PROXY_TEXTURE_2D_EXT       0x8064     /* 32868 */\n#endif\n\n/**\n ** GL_EXT_texture3D\n **/\n\n#if (defined(GL_EXT_TEXTURE3D) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_TEXTURE3D)) && !defined(REGAL_NO_ENUM_GL_EXT_TEXTURE3D)\n#define REGAL_NO_ENUM_GL_EXT_TEXTURE3D\n#endif\n\n#if (defined(GL_EXT_TEXTURE3D) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_TEXTURE3D)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_TEXTURE3D)\n#define REGAL_NO_TYPEDEF_GL_EXT_TEXTURE3D\n#endif\n\n#if (defined(GL_EXT_TEXTURE3D) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_TEXTURE3D)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_TEXTURE3D)\n#define REGAL_NO_NAMESPACE_GL_EXT_TEXTURE3D\n#endif\n\n#if (defined(GL_EXT_TEXTURE3D) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_TEXTURE3D)) && !defined(REGAL_NO_PLUGIN_GL_EXT_TEXTURE3D)\n#define REGAL_NO_PLUGIN_GL_EXT_TEXTURE3D\n#endif\n\n#if (defined(GL_EXT_TEXTURE3D) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_TEXTURE3D)) && !defined(REGAL_NO_DECLARATION_GL_EXT_TEXTURE3D)\n#define REGAL_NO_DECLARATION_GL_EXT_TEXTURE3D\n#endif\n\n#ifndef GL_EXT_texture3D\n#define GL_EXT_texture3D 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_TEXTURE3D\n#define GL_PACK_SKIP_IMAGES_EXT    0x806b     /* 32875 */\n#define GL_PACK_IMAGE_HEIGHT_EXT   0x806c     /* 32876 */\n#define GL_UNPACK_SKIP_IMAGES_EXT  0x806d     /* 32877 */\n#define GL_UNPACK_IMAGE_HEIGHT_EXT 0x806e     /* 32878 */\n#define GL_TEXTURE_3D_EXT          0x806f     /* 32879 */\n#define GL_PROXY_TEXTURE_3D_EXT    0x8070     /* 32880 */\n#define GL_TEXTURE_DEPTH_EXT       0x8071     /* 32881 */\n#define GL_TEXTURE_WRAP_R_EXT      0x8072     /* 32882 */\n#define GL_MAX_3D_TEXTURE_SIZE_EXT 0x8073     /* 32883 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_TEXTURE3D\ntypedef void (REGAL_CALL *PFNGLTEXIMAGE3DEXTPROC)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_TEXTURE3D\n#define glTexImage3DEXT                     rglTexImage3DEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_TEXTURE3D\nREGAL_DECL void REGAL_CALL glTexImage3DEXT(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_TEXTURE3D\nREGAL_DECL void REGAL_CALL plugin_glTexImage3DEXT(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);\n#endif\n\n/**\n ** GL_EXT_texture_array\n **/\n\n#if (defined(GL_EXT_TEXTURE_ARRAY) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_TEXTURE_ARRAY)) && !defined(REGAL_NO_ENUM_GL_EXT_TEXTURE_ARRAY)\n#define REGAL_NO_ENUM_GL_EXT_TEXTURE_ARRAY\n#endif\n\n#if (defined(GL_EXT_TEXTURE_ARRAY) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_TEXTURE_ARRAY)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_ARRAY)\n#define REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_ARRAY\n#endif\n\n#if (defined(GL_EXT_TEXTURE_ARRAY) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_TEXTURE_ARRAY)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_ARRAY)\n#define REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_ARRAY\n#endif\n\n#if (defined(GL_EXT_TEXTURE_ARRAY) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_TEXTURE_ARRAY)) && !defined(REGAL_NO_PLUGIN_GL_EXT_TEXTURE_ARRAY)\n#define REGAL_NO_PLUGIN_GL_EXT_TEXTURE_ARRAY\n#endif\n\n#if (defined(GL_EXT_TEXTURE_ARRAY) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_TEXTURE_ARRAY)) && !defined(REGAL_NO_DECLARATION_GL_EXT_TEXTURE_ARRAY)\n#define REGAL_NO_DECLARATION_GL_EXT_TEXTURE_ARRAY\n#endif\n\n#ifndef GL_EXT_texture_array\n#define GL_EXT_texture_array 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_TEXTURE_ARRAY\n#define GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT 0x884e     /* 34894 */\n#define GL_MAX_ARRAY_TEXTURE_LAYERS_EXT     0x88ff     /* 35071 */\n#define GL_TEXTURE_1D_ARRAY_EXT             0x8c18     /* 35864 */\n#define GL_PROXY_TEXTURE_1D_ARRAY_EXT       0x8c19     /* 35865 */\n#define GL_TEXTURE_2D_ARRAY_EXT             0x8c1a     /* 35866 */\n#define GL_PROXY_TEXTURE_2D_ARRAY_EXT       0x8c1b     /* 35867 */\n#define GL_TEXTURE_BINDING_1D_ARRAY_EXT     0x8c1c     /* 35868 */\n#define GL_TEXTURE_BINDING_2D_ARRAY_EXT     0x8c1d     /* 35869 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_ARRAY\ntypedef void (REGAL_CALL *PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_ARRAY\n#define glFramebufferTextureLayerEXT        rglFramebufferTextureLayerEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_TEXTURE_ARRAY\nREGAL_DECL void REGAL_CALL glFramebufferTextureLayerEXT(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_TEXTURE_ARRAY\nREGAL_DECL void REGAL_CALL plugin_glFramebufferTextureLayerEXT(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);\n#endif\n\n/**\n ** GL_EXT_texture_buffer_object\n **/\n\n#if (defined(GL_EXT_TEXTURE_BUFFER_OBJECT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_TEXTURE_BUFFER_OBJECT)) && !defined(REGAL_NO_ENUM_GL_EXT_TEXTURE_BUFFER_OBJECT)\n#define REGAL_NO_ENUM_GL_EXT_TEXTURE_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_EXT_TEXTURE_BUFFER_OBJECT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_TEXTURE_BUFFER_OBJECT)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_BUFFER_OBJECT)\n#define REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_EXT_TEXTURE_BUFFER_OBJECT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_TEXTURE_BUFFER_OBJECT)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_BUFFER_OBJECT)\n#define REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_EXT_TEXTURE_BUFFER_OBJECT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_TEXTURE_BUFFER_OBJECT)) && !defined(REGAL_NO_PLUGIN_GL_EXT_TEXTURE_BUFFER_OBJECT)\n#define REGAL_NO_PLUGIN_GL_EXT_TEXTURE_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_EXT_TEXTURE_BUFFER_OBJECT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_TEXTURE_BUFFER_OBJECT)) && !defined(REGAL_NO_DECLARATION_GL_EXT_TEXTURE_BUFFER_OBJECT)\n#define REGAL_NO_DECLARATION_GL_EXT_TEXTURE_BUFFER_OBJECT\n#endif\n\n#ifndef GL_EXT_texture_buffer_object\n#define GL_EXT_texture_buffer_object 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_TEXTURE_BUFFER_OBJECT\n#define GL_TEXTURE_BUFFER_EXT                    0x8c2a     /* 35882 */\n#define GL_MAX_TEXTURE_BUFFER_SIZE_EXT           0x8c2b     /* 35883 */\n#define GL_TEXTURE_BINDING_BUFFER_EXT            0x8c2c     /* 35884 */\n#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING_EXT 0x8c2d     /* 35885 */\n#define GL_TEXTURE_BUFFER_FORMAT_EXT             0x8c2e     /* 35886 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_BUFFER_OBJECT\ntypedef void (REGAL_CALL *PFNGLTEXBUFFEREXTPROC)(GLenum target, GLenum internalformat, GLuint buffer);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_BUFFER_OBJECT\n#define glTexBufferEXT                      rglTexBufferEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_TEXTURE_BUFFER_OBJECT\nREGAL_DECL void REGAL_CALL glTexBufferEXT(GLenum target, GLenum internalformat, GLuint buffer);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_TEXTURE_BUFFER_OBJECT\nREGAL_DECL void REGAL_CALL plugin_glTexBufferEXT(GLenum target, GLenum internalformat, GLuint buffer);\n#endif\n\n/**\n ** GL_EXT_texture_compression_latc\n **/\n\n#if (defined(GL_EXT_TEXTURE_COMPRESSION_LATC) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_TEXTURE_COMPRESSION_LATC)) && !defined(REGAL_NO_ENUM_GL_EXT_TEXTURE_COMPRESSION_LATC)\n#define REGAL_NO_ENUM_GL_EXT_TEXTURE_COMPRESSION_LATC\n#endif\n\n#if (defined(GL_EXT_TEXTURE_COMPRESSION_LATC) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_TEXTURE_COMPRESSION_LATC)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_COMPRESSION_LATC)\n#define REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_COMPRESSION_LATC\n#endif\n\n#if (defined(GL_EXT_TEXTURE_COMPRESSION_LATC) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_TEXTURE_COMPRESSION_LATC)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_COMPRESSION_LATC)\n#define REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_COMPRESSION_LATC\n#endif\n\n#if (defined(GL_EXT_TEXTURE_COMPRESSION_LATC) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_TEXTURE_COMPRESSION_LATC)) && !defined(REGAL_NO_PLUGIN_GL_EXT_TEXTURE_COMPRESSION_LATC)\n#define REGAL_NO_PLUGIN_GL_EXT_TEXTURE_COMPRESSION_LATC\n#endif\n\n#if (defined(GL_EXT_TEXTURE_COMPRESSION_LATC) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_TEXTURE_COMPRESSION_LATC)) && !defined(REGAL_NO_DECLARATION_GL_EXT_TEXTURE_COMPRESSION_LATC)\n#define REGAL_NO_DECLARATION_GL_EXT_TEXTURE_COMPRESSION_LATC\n#endif\n\n#ifndef GL_EXT_texture_compression_latc\n#define GL_EXT_texture_compression_latc 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_TEXTURE_COMPRESSION_LATC\n#define GL_COMPRESSED_LUMINANCE_LATC1_EXT              0x8c70     /* 35952 */\n#define GL_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT       0x8c71     /* 35953 */\n#define GL_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT        0x8c72     /* 35954 */\n#define GL_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT 0x8c73     /* 35955 */\n#endif\n\n/**\n ** GL_EXT_texture_compression_rgtc\n **/\n\n#if (defined(GL_EXT_TEXTURE_COMPRESSION_RGTC) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_TEXTURE_COMPRESSION_RGTC)) && !defined(REGAL_NO_ENUM_GL_EXT_TEXTURE_COMPRESSION_RGTC)\n#define REGAL_NO_ENUM_GL_EXT_TEXTURE_COMPRESSION_RGTC\n#endif\n\n#if (defined(GL_EXT_TEXTURE_COMPRESSION_RGTC) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_TEXTURE_COMPRESSION_RGTC)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_COMPRESSION_RGTC)\n#define REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_COMPRESSION_RGTC\n#endif\n\n#if (defined(GL_EXT_TEXTURE_COMPRESSION_RGTC) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_TEXTURE_COMPRESSION_RGTC)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_COMPRESSION_RGTC)\n#define REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_COMPRESSION_RGTC\n#endif\n\n#if (defined(GL_EXT_TEXTURE_COMPRESSION_RGTC) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_TEXTURE_COMPRESSION_RGTC)) && !defined(REGAL_NO_PLUGIN_GL_EXT_TEXTURE_COMPRESSION_RGTC)\n#define REGAL_NO_PLUGIN_GL_EXT_TEXTURE_COMPRESSION_RGTC\n#endif\n\n#if (defined(GL_EXT_TEXTURE_COMPRESSION_RGTC) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_TEXTURE_COMPRESSION_RGTC)) && !defined(REGAL_NO_DECLARATION_GL_EXT_TEXTURE_COMPRESSION_RGTC)\n#define REGAL_NO_DECLARATION_GL_EXT_TEXTURE_COMPRESSION_RGTC\n#endif\n\n#ifndef GL_EXT_texture_compression_rgtc\n#define GL_EXT_texture_compression_rgtc 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_TEXTURE_COMPRESSION_RGTC\n#define GL_COMPRESSED_RED_RGTC1_EXT              0x8dbb     /* 36283 */\n#define GL_COMPRESSED_SIGNED_RED_RGTC1_EXT       0x8dbc     /* 36284 */\n#define GL_COMPRESSED_RED_GREEN_RGTC2_EXT        0x8dbd     /* 36285 */\n#define GL_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT 0x8dbe     /* 36286 */\n#endif\n\n/**\n ** GL_EXT_texture_compression_s3tc\n **/\n\n#if (defined(GL_EXT_TEXTURE_COMPRESSION_S3TC) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_TEXTURE_COMPRESSION_S3TC)) && !defined(REGAL_NO_ENUM_GL_EXT_TEXTURE_COMPRESSION_S3TC)\n#define REGAL_NO_ENUM_GL_EXT_TEXTURE_COMPRESSION_S3TC\n#endif\n\n#if (defined(GL_EXT_TEXTURE_COMPRESSION_S3TC) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_TEXTURE_COMPRESSION_S3TC)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_COMPRESSION_S3TC)\n#define REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_COMPRESSION_S3TC\n#endif\n\n#if (defined(GL_EXT_TEXTURE_COMPRESSION_S3TC) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_TEXTURE_COMPRESSION_S3TC)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_COMPRESSION_S3TC)\n#define REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_COMPRESSION_S3TC\n#endif\n\n#if (defined(GL_EXT_TEXTURE_COMPRESSION_S3TC) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_TEXTURE_COMPRESSION_S3TC)) && !defined(REGAL_NO_PLUGIN_GL_EXT_TEXTURE_COMPRESSION_S3TC)\n#define REGAL_NO_PLUGIN_GL_EXT_TEXTURE_COMPRESSION_S3TC\n#endif\n\n#if (defined(GL_EXT_TEXTURE_COMPRESSION_S3TC) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_TEXTURE_COMPRESSION_S3TC)) && !defined(REGAL_NO_DECLARATION_GL_EXT_TEXTURE_COMPRESSION_S3TC)\n#define REGAL_NO_DECLARATION_GL_EXT_TEXTURE_COMPRESSION_S3TC\n#endif\n\n#ifndef GL_EXT_texture_compression_s3tc\n#define GL_EXT_texture_compression_s3tc 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_TEXTURE_COMPRESSION_S3TC\n#define GL_COMPRESSED_RGB_S3TC_DXT1_EXT  0x83f0     /* 33776 */\n#define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT 0x83f1     /* 33777 */\n#define GL_COMPRESSED_RGBA_S3TC_DXT3_EXT 0x83f2     /* 33778 */\n#define GL_COMPRESSED_RGBA_S3TC_DXT5_EXT 0x83f3     /* 33779 */\n#endif\n\n/**\n ** GL_EXT_texture_cube_map\n **/\n\n#if (defined(GL_EXT_TEXTURE_CUBE_MAP) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_TEXTURE_CUBE_MAP)) && !defined(REGAL_NO_ENUM_GL_EXT_TEXTURE_CUBE_MAP)\n#define REGAL_NO_ENUM_GL_EXT_TEXTURE_CUBE_MAP\n#endif\n\n#if (defined(GL_EXT_TEXTURE_CUBE_MAP) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_TEXTURE_CUBE_MAP)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_CUBE_MAP)\n#define REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_CUBE_MAP\n#endif\n\n#if (defined(GL_EXT_TEXTURE_CUBE_MAP) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_TEXTURE_CUBE_MAP)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_CUBE_MAP)\n#define REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_CUBE_MAP\n#endif\n\n#if (defined(GL_EXT_TEXTURE_CUBE_MAP) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_TEXTURE_CUBE_MAP)) && !defined(REGAL_NO_PLUGIN_GL_EXT_TEXTURE_CUBE_MAP)\n#define REGAL_NO_PLUGIN_GL_EXT_TEXTURE_CUBE_MAP\n#endif\n\n#if (defined(GL_EXT_TEXTURE_CUBE_MAP) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_TEXTURE_CUBE_MAP)) && !defined(REGAL_NO_DECLARATION_GL_EXT_TEXTURE_CUBE_MAP)\n#define REGAL_NO_DECLARATION_GL_EXT_TEXTURE_CUBE_MAP\n#endif\n\n#ifndef GL_EXT_texture_cube_map\n#define GL_EXT_texture_cube_map 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_TEXTURE_CUBE_MAP\n#define GL_NORMAL_MAP_EXT                  0x8511     /* 34065 */\n#define GL_REFLECTION_MAP_EXT              0x8512     /* 34066 */\n#define GL_TEXTURE_CUBE_MAP_EXT            0x8513     /* 34067 */\n#define GL_TEXTURE_BINDING_CUBE_MAP_EXT    0x8514     /* 34068 */\n#define GL_TEXTURE_CUBE_MAP_POSITIVE_X_EXT 0x8515     /* 34069 */\n#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_EXT 0x8516     /* 34070 */\n#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_EXT 0x8517     /* 34071 */\n#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT 0x8518     /* 34072 */\n#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_EXT 0x8519     /* 34073 */\n#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT 0x851a     /* 34074 */\n#define GL_PROXY_TEXTURE_CUBE_MAP_EXT      0x851b     /* 34075 */\n#define GL_MAX_CUBE_MAP_TEXTURE_SIZE_EXT   0x851c     /* 34076 */\n#endif\n\n/**\n ** GL_EXT_texture_edge_clamp\n **/\n\n#if (defined(GL_EXT_TEXTURE_EDGE_CLAMP) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_TEXTURE_EDGE_CLAMP)) && !defined(REGAL_NO_ENUM_GL_EXT_TEXTURE_EDGE_CLAMP)\n#define REGAL_NO_ENUM_GL_EXT_TEXTURE_EDGE_CLAMP\n#endif\n\n#if (defined(GL_EXT_TEXTURE_EDGE_CLAMP) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_TEXTURE_EDGE_CLAMP)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_EDGE_CLAMP)\n#define REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_EDGE_CLAMP\n#endif\n\n#if (defined(GL_EXT_TEXTURE_EDGE_CLAMP) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_TEXTURE_EDGE_CLAMP)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_EDGE_CLAMP)\n#define REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_EDGE_CLAMP\n#endif\n\n#if (defined(GL_EXT_TEXTURE_EDGE_CLAMP) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_TEXTURE_EDGE_CLAMP)) && !defined(REGAL_NO_PLUGIN_GL_EXT_TEXTURE_EDGE_CLAMP)\n#define REGAL_NO_PLUGIN_GL_EXT_TEXTURE_EDGE_CLAMP\n#endif\n\n#if (defined(GL_EXT_TEXTURE_EDGE_CLAMP) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_TEXTURE_EDGE_CLAMP)) && !defined(REGAL_NO_DECLARATION_GL_EXT_TEXTURE_EDGE_CLAMP)\n#define REGAL_NO_DECLARATION_GL_EXT_TEXTURE_EDGE_CLAMP\n#endif\n\n#ifndef GL_EXT_texture_edge_clamp\n#define GL_EXT_texture_edge_clamp 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_TEXTURE_EDGE_CLAMP\n#define GL_CLAMP_TO_EDGE_EXT 0x812f /* 33071 */\n#endif\n\n/**\n ** GL_EXT_texture_env_combine\n **/\n\n#if (defined(GL_EXT_TEXTURE_ENV_COMBINE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_TEXTURE_ENV_COMBINE)) && !defined(REGAL_NO_ENUM_GL_EXT_TEXTURE_ENV_COMBINE)\n#define REGAL_NO_ENUM_GL_EXT_TEXTURE_ENV_COMBINE\n#endif\n\n#if (defined(GL_EXT_TEXTURE_ENV_COMBINE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_TEXTURE_ENV_COMBINE)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_ENV_COMBINE)\n#define REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_ENV_COMBINE\n#endif\n\n#if (defined(GL_EXT_TEXTURE_ENV_COMBINE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_TEXTURE_ENV_COMBINE)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_ENV_COMBINE)\n#define REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_ENV_COMBINE\n#endif\n\n#if (defined(GL_EXT_TEXTURE_ENV_COMBINE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_TEXTURE_ENV_COMBINE)) && !defined(REGAL_NO_PLUGIN_GL_EXT_TEXTURE_ENV_COMBINE)\n#define REGAL_NO_PLUGIN_GL_EXT_TEXTURE_ENV_COMBINE\n#endif\n\n#if (defined(GL_EXT_TEXTURE_ENV_COMBINE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_TEXTURE_ENV_COMBINE)) && !defined(REGAL_NO_DECLARATION_GL_EXT_TEXTURE_ENV_COMBINE)\n#define REGAL_NO_DECLARATION_GL_EXT_TEXTURE_ENV_COMBINE\n#endif\n\n#ifndef GL_EXT_texture_env_combine\n#define GL_EXT_texture_env_combine 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_TEXTURE_ENV_COMBINE\n#define GL_COMBINE_EXT        0x8570     /* 34160 */\n#define GL_COMBINE_RGB_EXT    0x8571     /* 34161 */\n#define GL_COMBINE_ALPHA_EXT  0x8572     /* 34162 */\n#define GL_RGB_SCALE_EXT      0x8573     /* 34163 */\n#define GL_ADD_SIGNED_EXT     0x8574     /* 34164 */\n#define GL_INTERPOLATE_EXT    0x8575     /* 34165 */\n#define GL_CONSTANT_EXT       0x8576     /* 34166 */\n#define GL_PRIMARY_COLOR_EXT  0x8577     /* 34167 */\n#define GL_PREVIOUS_EXT       0x8578     /* 34168 */\n#define GL_SOURCE0_RGB_EXT    0x8580     /* 34176 */\n#define GL_SOURCE1_RGB_EXT    0x8581     /* 34177 */\n#define GL_SOURCE2_RGB_EXT    0x8582     /* 34178 */\n#define GL_SOURCE0_ALPHA_EXT  0x8588     /* 34184 */\n#define GL_SOURCE1_ALPHA_EXT  0x8589     /* 34185 */\n#define GL_SOURCE2_ALPHA_EXT  0x858a     /* 34186 */\n#define GL_OPERAND0_RGB_EXT   0x8590     /* 34192 */\n#define GL_OPERAND1_RGB_EXT   0x8591     /* 34193 */\n#define GL_OPERAND2_RGB_EXT   0x8592     /* 34194 */\n#define GL_OPERAND0_ALPHA_EXT 0x8598     /* 34200 */\n#define GL_OPERAND1_ALPHA_EXT 0x8599     /* 34201 */\n#define GL_OPERAND2_ALPHA_EXT 0x859a     /* 34202 */\n#endif\n\n/**\n ** GL_EXT_texture_env_dot3\n **/\n\n#if (defined(GL_EXT_TEXTURE_ENV_DOT3) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_TEXTURE_ENV_DOT3)) && !defined(REGAL_NO_ENUM_GL_EXT_TEXTURE_ENV_DOT3)\n#define REGAL_NO_ENUM_GL_EXT_TEXTURE_ENV_DOT3\n#endif\n\n#if (defined(GL_EXT_TEXTURE_ENV_DOT3) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_TEXTURE_ENV_DOT3)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_ENV_DOT3)\n#define REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_ENV_DOT3\n#endif\n\n#if (defined(GL_EXT_TEXTURE_ENV_DOT3) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_TEXTURE_ENV_DOT3)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_ENV_DOT3)\n#define REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_ENV_DOT3\n#endif\n\n#if (defined(GL_EXT_TEXTURE_ENV_DOT3) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_TEXTURE_ENV_DOT3)) && !defined(REGAL_NO_PLUGIN_GL_EXT_TEXTURE_ENV_DOT3)\n#define REGAL_NO_PLUGIN_GL_EXT_TEXTURE_ENV_DOT3\n#endif\n\n#if (defined(GL_EXT_TEXTURE_ENV_DOT3) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_TEXTURE_ENV_DOT3)) && !defined(REGAL_NO_DECLARATION_GL_EXT_TEXTURE_ENV_DOT3)\n#define REGAL_NO_DECLARATION_GL_EXT_TEXTURE_ENV_DOT3\n#endif\n\n#ifndef GL_EXT_texture_env_dot3\n#define GL_EXT_texture_env_dot3 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_TEXTURE_ENV_DOT3\n#define GL_DOT3_RGB_EXT  0x8740     /* 34624 */\n#define GL_DOT3_RGBA_EXT 0x8741     /* 34625 */\n#endif\n\n/**\n ** GL_EXT_texture_filter_anisotropic\n **/\n\n#if (defined(GL_EXT_TEXTURE_FILTER_ANISOTROPIC) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_TEXTURE_FILTER_ANISOTROPIC)) && !defined(REGAL_NO_ENUM_GL_EXT_TEXTURE_FILTER_ANISOTROPIC)\n#define REGAL_NO_ENUM_GL_EXT_TEXTURE_FILTER_ANISOTROPIC\n#endif\n\n#if (defined(GL_EXT_TEXTURE_FILTER_ANISOTROPIC) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_TEXTURE_FILTER_ANISOTROPIC)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_FILTER_ANISOTROPIC)\n#define REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_FILTER_ANISOTROPIC\n#endif\n\n#if (defined(GL_EXT_TEXTURE_FILTER_ANISOTROPIC) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_TEXTURE_FILTER_ANISOTROPIC)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_FILTER_ANISOTROPIC)\n#define REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_FILTER_ANISOTROPIC\n#endif\n\n#if (defined(GL_EXT_TEXTURE_FILTER_ANISOTROPIC) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_TEXTURE_FILTER_ANISOTROPIC)) && !defined(REGAL_NO_PLUGIN_GL_EXT_TEXTURE_FILTER_ANISOTROPIC)\n#define REGAL_NO_PLUGIN_GL_EXT_TEXTURE_FILTER_ANISOTROPIC\n#endif\n\n#if (defined(GL_EXT_TEXTURE_FILTER_ANISOTROPIC) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_TEXTURE_FILTER_ANISOTROPIC)) && !defined(REGAL_NO_DECLARATION_GL_EXT_TEXTURE_FILTER_ANISOTROPIC)\n#define REGAL_NO_DECLARATION_GL_EXT_TEXTURE_FILTER_ANISOTROPIC\n#endif\n\n#ifndef GL_EXT_texture_filter_anisotropic\n#define GL_EXT_texture_filter_anisotropic 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_TEXTURE_FILTER_ANISOTROPIC\n#define GL_TEXTURE_MAX_ANISOTROPY_EXT     0x84fe     /* 34046 */\n#define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84ff     /* 34047 */\n#endif\n\n/**\n ** GL_EXT_texture_integer\n **/\n\n#if (defined(GL_EXT_TEXTURE_INTEGER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_TEXTURE_INTEGER)) && !defined(REGAL_NO_ENUM_GL_EXT_TEXTURE_INTEGER)\n#define REGAL_NO_ENUM_GL_EXT_TEXTURE_INTEGER\n#endif\n\n#if (defined(GL_EXT_TEXTURE_INTEGER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_TEXTURE_INTEGER)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_INTEGER)\n#define REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_INTEGER\n#endif\n\n#if (defined(GL_EXT_TEXTURE_INTEGER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_TEXTURE_INTEGER)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_INTEGER)\n#define REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_INTEGER\n#endif\n\n#if (defined(GL_EXT_TEXTURE_INTEGER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_TEXTURE_INTEGER)) && !defined(REGAL_NO_PLUGIN_GL_EXT_TEXTURE_INTEGER)\n#define REGAL_NO_PLUGIN_GL_EXT_TEXTURE_INTEGER\n#endif\n\n#if (defined(GL_EXT_TEXTURE_INTEGER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_TEXTURE_INTEGER)) && !defined(REGAL_NO_DECLARATION_GL_EXT_TEXTURE_INTEGER)\n#define REGAL_NO_DECLARATION_GL_EXT_TEXTURE_INTEGER\n#endif\n\n#ifndef GL_EXT_texture_integer\n#define GL_EXT_texture_integer 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_TEXTURE_INTEGER\n#define GL_RGBA32UI_EXT                0x8d70     /* 36208 */\n#define GL_RGB32UI_EXT                 0x8d71     /* 36209 */\n#define GL_ALPHA32UI_EXT               0x8d72     /* 36210 */\n#define GL_INTENSITY32UI_EXT           0x8d73     /* 36211 */\n#define GL_LUMINANCE32UI_EXT           0x8d74     /* 36212 */\n#define GL_LUMINANCE_ALPHA32UI_EXT     0x8d75     /* 36213 */\n#define GL_RGBA16UI_EXT                0x8d76     /* 36214 */\n#define GL_RGB16UI_EXT                 0x8d77     /* 36215 */\n#define GL_ALPHA16UI_EXT               0x8d78     /* 36216 */\n#define GL_INTENSITY16UI_EXT           0x8d79     /* 36217 */\n#define GL_LUMINANCE16UI_EXT           0x8d7a     /* 36218 */\n#define GL_LUMINANCE_ALPHA16UI_EXT     0x8d7b     /* 36219 */\n#define GL_RGBA8UI_EXT                 0x8d7c     /* 36220 */\n#define GL_RGB8UI_EXT                  0x8d7d     /* 36221 */\n#define GL_ALPHA8UI_EXT                0x8d7e     /* 36222 */\n#define GL_INTENSITY8UI_EXT            0x8d7f     /* 36223 */\n#define GL_LUMINANCE8UI_EXT            0x8d80     /* 36224 */\n#define GL_LUMINANCE_ALPHA8UI_EXT      0x8d81     /* 36225 */\n#define GL_RGBA32I_EXT                 0x8d82     /* 36226 */\n#define GL_RGB32I_EXT                  0x8d83     /* 36227 */\n#define GL_ALPHA32I_EXT                0x8d84     /* 36228 */\n#define GL_INTENSITY32I_EXT            0x8d85     /* 36229 */\n#define GL_LUMINANCE32I_EXT            0x8d86     /* 36230 */\n#define GL_LUMINANCE_ALPHA32I_EXT      0x8d87     /* 36231 */\n#define GL_RGBA16I_EXT                 0x8d88     /* 36232 */\n#define GL_RGB16I_EXT                  0x8d89     /* 36233 */\n#define GL_ALPHA16I_EXT                0x8d8a     /* 36234 */\n#define GL_INTENSITY16I_EXT            0x8d8b     /* 36235 */\n#define GL_LUMINANCE16I_EXT            0x8d8c     /* 36236 */\n#define GL_LUMINANCE_ALPHA16I_EXT      0x8d8d     /* 36237 */\n#define GL_RGBA8I_EXT                  0x8d8e     /* 36238 */\n#define GL_RGB8I_EXT                   0x8d8f     /* 36239 */\n#define GL_ALPHA8I_EXT                 0x8d90     /* 36240 */\n#define GL_INTENSITY8I_EXT             0x8d91     /* 36241 */\n#define GL_LUMINANCE8I_EXT             0x8d92     /* 36242 */\n#define GL_LUMINANCE_ALPHA8I_EXT       0x8d93     /* 36243 */\n#define GL_RED_INTEGER_EXT             0x8d94     /* 36244 */\n#define GL_GREEN_INTEGER_EXT           0x8d95     /* 36245 */\n#define GL_BLUE_INTEGER_EXT            0x8d96     /* 36246 */\n#define GL_ALPHA_INTEGER_EXT           0x8d97     /* 36247 */\n#define GL_RGB_INTEGER_EXT             0x8d98     /* 36248 */\n#define GL_RGBA_INTEGER_EXT            0x8d99     /* 36249 */\n#define GL_BGR_INTEGER_EXT             0x8d9a     /* 36250 */\n#define GL_BGRA_INTEGER_EXT            0x8d9b     /* 36251 */\n#define GL_LUMINANCE_INTEGER_EXT       0x8d9c     /* 36252 */\n#define GL_LUMINANCE_ALPHA_INTEGER_EXT 0x8d9d     /* 36253 */\n#define GL_RGBA_INTEGER_MODE_EXT       0x8d9e     /* 36254 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_INTEGER\ntypedef void (REGAL_CALL *PFNGLCLEARCOLORIIEXTPROC)(GLint red, GLint green, GLint blue, GLint alpha);\ntypedef void (REGAL_CALL *PFNGLCLEARCOLORIUIEXTPROC)(GLuint red, GLuint green, GLuint blue, GLuint alpha);\ntypedef void (REGAL_CALL *PFNGLGETTEXPARAMETERIIVEXTPROC)(GLenum target, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETTEXPARAMETERIUIVEXTPROC)(GLenum target, GLenum pname, GLuint *params);\ntypedef void (REGAL_CALL *PFNGLTEXPARAMETERIIVEXTPROC)(GLenum target, GLenum pname, const GLint *params);\ntypedef void (REGAL_CALL *PFNGLTEXPARAMETERIUIVEXTPROC)(GLenum target, GLenum pname, const GLuint *params);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_INTEGER\n#define glClearColorIiEXT                   rglClearColorIiEXT\n#define glClearColorIuiEXT                  rglClearColorIuiEXT\n#define glGetTexParameterIivEXT             rglGetTexParameterIivEXT\n#define glGetTexParameterIuivEXT            rglGetTexParameterIuivEXT\n#define glTexParameterIivEXT                rglTexParameterIivEXT\n#define glTexParameterIuivEXT               rglTexParameterIuivEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_TEXTURE_INTEGER\nREGAL_DECL void REGAL_CALL glClearColorIiEXT(GLint red, GLint green, GLint blue, GLint alpha);\nREGAL_DECL void REGAL_CALL glClearColorIuiEXT(GLuint red, GLuint green, GLuint blue, GLuint alpha);\nREGAL_DECL void REGAL_CALL glGetTexParameterIivEXT(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetTexParameterIuivEXT(GLenum target, GLenum pname, GLuint *params);\nREGAL_DECL void REGAL_CALL glTexParameterIivEXT(GLenum target, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL glTexParameterIuivEXT(GLenum target, GLenum pname, const GLuint *params);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_TEXTURE_INTEGER\nREGAL_DECL void REGAL_CALL plugin_glClearColorIiEXT(GLint red, GLint green, GLint blue, GLint alpha);\nREGAL_DECL void REGAL_CALL plugin_glClearColorIuiEXT(GLuint red, GLuint green, GLuint blue, GLuint alpha);\nREGAL_DECL void REGAL_CALL plugin_glGetTexParameterIivEXT(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetTexParameterIuivEXT(GLenum target, GLenum pname, GLuint *params);\nREGAL_DECL void REGAL_CALL plugin_glTexParameterIivEXT(GLenum target, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glTexParameterIuivEXT(GLenum target, GLenum pname, const GLuint *params);\n#endif\n\n/**\n ** GL_EXT_texture_lod_bias\n **/\n\n#if (defined(GL_EXT_TEXTURE_LOD_BIAS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_TEXTURE_LOD_BIAS)) && !defined(REGAL_NO_ENUM_GL_EXT_TEXTURE_LOD_BIAS)\n#define REGAL_NO_ENUM_GL_EXT_TEXTURE_LOD_BIAS\n#endif\n\n#if (defined(GL_EXT_TEXTURE_LOD_BIAS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_TEXTURE_LOD_BIAS)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_LOD_BIAS)\n#define REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_LOD_BIAS\n#endif\n\n#if (defined(GL_EXT_TEXTURE_LOD_BIAS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_TEXTURE_LOD_BIAS)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_LOD_BIAS)\n#define REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_LOD_BIAS\n#endif\n\n#if (defined(GL_EXT_TEXTURE_LOD_BIAS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_TEXTURE_LOD_BIAS)) && !defined(REGAL_NO_PLUGIN_GL_EXT_TEXTURE_LOD_BIAS)\n#define REGAL_NO_PLUGIN_GL_EXT_TEXTURE_LOD_BIAS\n#endif\n\n#if (defined(GL_EXT_TEXTURE_LOD_BIAS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_TEXTURE_LOD_BIAS)) && !defined(REGAL_NO_DECLARATION_GL_EXT_TEXTURE_LOD_BIAS)\n#define REGAL_NO_DECLARATION_GL_EXT_TEXTURE_LOD_BIAS\n#endif\n\n#ifndef GL_EXT_texture_lod_bias\n#define GL_EXT_texture_lod_bias 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_TEXTURE_LOD_BIAS\n#define GL_MAX_TEXTURE_LOD_BIAS_EXT   0x84fd     /* 34045 */\n#define GL_TEXTURE_FILTER_CONTROL_EXT 0x8500     /* 34048 */\n#define GL_TEXTURE_LOD_BIAS_EXT       0x8501     /* 34049 */\n#endif\n\n/**\n ** GL_EXT_texture_mirror_clamp\n **/\n\n#if (defined(GL_EXT_TEXTURE_MIRROR_CLAMP) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_TEXTURE_MIRROR_CLAMP)) && !defined(REGAL_NO_ENUM_GL_EXT_TEXTURE_MIRROR_CLAMP)\n#define REGAL_NO_ENUM_GL_EXT_TEXTURE_MIRROR_CLAMP\n#endif\n\n#if (defined(GL_EXT_TEXTURE_MIRROR_CLAMP) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_TEXTURE_MIRROR_CLAMP)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_MIRROR_CLAMP)\n#define REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_MIRROR_CLAMP\n#endif\n\n#if (defined(GL_EXT_TEXTURE_MIRROR_CLAMP) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_TEXTURE_MIRROR_CLAMP)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_MIRROR_CLAMP)\n#define REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_MIRROR_CLAMP\n#endif\n\n#if (defined(GL_EXT_TEXTURE_MIRROR_CLAMP) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_TEXTURE_MIRROR_CLAMP)) && !defined(REGAL_NO_PLUGIN_GL_EXT_TEXTURE_MIRROR_CLAMP)\n#define REGAL_NO_PLUGIN_GL_EXT_TEXTURE_MIRROR_CLAMP\n#endif\n\n#if (defined(GL_EXT_TEXTURE_MIRROR_CLAMP) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_TEXTURE_MIRROR_CLAMP)) && !defined(REGAL_NO_DECLARATION_GL_EXT_TEXTURE_MIRROR_CLAMP)\n#define REGAL_NO_DECLARATION_GL_EXT_TEXTURE_MIRROR_CLAMP\n#endif\n\n#ifndef GL_EXT_texture_mirror_clamp\n#define GL_EXT_texture_mirror_clamp 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_TEXTURE_MIRROR_CLAMP\n#define GL_MIRROR_CLAMP_EXT           0x8742     /* 34626 */\n#define GL_MIRROR_CLAMP_TO_EDGE_EXT   0x8743     /* 34627 */\n#define GL_MIRROR_CLAMP_TO_BORDER_EXT 0x8912     /* 35090 */\n#endif\n\n/**\n ** GL_EXT_texture_object\n **/\n\n#if (defined(GL_EXT_TEXTURE_OBJECT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_TEXTURE_OBJECT)) && !defined(REGAL_NO_ENUM_GL_EXT_TEXTURE_OBJECT)\n#define REGAL_NO_ENUM_GL_EXT_TEXTURE_OBJECT\n#endif\n\n#if (defined(GL_EXT_TEXTURE_OBJECT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_TEXTURE_OBJECT)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_OBJECT)\n#define REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_OBJECT\n#endif\n\n#if (defined(GL_EXT_TEXTURE_OBJECT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_TEXTURE_OBJECT)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_OBJECT)\n#define REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_OBJECT\n#endif\n\n#if (defined(GL_EXT_TEXTURE_OBJECT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_TEXTURE_OBJECT)) && !defined(REGAL_NO_PLUGIN_GL_EXT_TEXTURE_OBJECT)\n#define REGAL_NO_PLUGIN_GL_EXT_TEXTURE_OBJECT\n#endif\n\n#if (defined(GL_EXT_TEXTURE_OBJECT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_TEXTURE_OBJECT)) && !defined(REGAL_NO_DECLARATION_GL_EXT_TEXTURE_OBJECT)\n#define REGAL_NO_DECLARATION_GL_EXT_TEXTURE_OBJECT\n#endif\n\n#ifndef GL_EXT_texture_object\n#define GL_EXT_texture_object 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_TEXTURE_OBJECT\n#define GL_TEXTURE_PRIORITY_EXT   0x8066     /* 32870 */\n#define GL_TEXTURE_RESIDENT_EXT   0x8067     /* 32871 */\n#define GL_TEXTURE_1D_BINDING_EXT 0x8068     /* 32872 */\n#define GL_TEXTURE_2D_BINDING_EXT 0x8069     /* 32873 */\n#define GL_TEXTURE_3D_BINDING_EXT 0x806a     /* 32874 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_OBJECT\ntypedef GLboolean (REGAL_CALL *PFNGLARETEXTURESRESIDENTEXTPROC)(GLsizei n, const GLuint *textures, GLboolean *residences);\ntypedef GLboolean (REGAL_CALL *PFNGLISTEXTUREEXTPROC)(GLuint texture);\ntypedef void (REGAL_CALL *PFNGLBINDTEXTUREEXTPROC)(GLenum target, GLuint texture);\ntypedef void (REGAL_CALL *PFNGLDELETETEXTURESEXTPROC)(GLsizei n, const GLuint *textures);\ntypedef void (REGAL_CALL *PFNGLGENTEXTURESEXTPROC)(GLsizei n, GLuint *textures);\ntypedef void (REGAL_CALL *PFNGLPRIORITIZETEXTURESEXTPROC)(GLsizei n, const GLuint *textures, const GLclampf *priorities);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_OBJECT\n#define glAreTexturesResidentEXT            rglAreTexturesResidentEXT\n#define glBindTextureEXT                    rglBindTextureEXT\n#define glDeleteTexturesEXT                 rglDeleteTexturesEXT\n#define glGenTexturesEXT                    rglGenTexturesEXT\n#define glIsTextureEXT                      rglIsTextureEXT\n#define glPrioritizeTexturesEXT             rglPrioritizeTexturesEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_TEXTURE_OBJECT\nREGAL_DECL GLboolean REGAL_CALL glAreTexturesResidentEXT(GLsizei n, const GLuint *textures, GLboolean *residences);\nREGAL_DECL GLboolean REGAL_CALL glIsTextureEXT(GLuint texture);\nREGAL_DECL void REGAL_CALL glBindTextureEXT(GLenum target, GLuint texture);\nREGAL_DECL void REGAL_CALL glDeleteTexturesEXT(GLsizei n, const GLuint *textures);\nREGAL_DECL void REGAL_CALL glGenTexturesEXT(GLsizei n, GLuint *textures);\nREGAL_DECL void REGAL_CALL glPrioritizeTexturesEXT(GLsizei n, const GLuint *textures, const GLclampf *priorities);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_TEXTURE_OBJECT\nREGAL_DECL GLboolean REGAL_CALL plugin_glAreTexturesResidentEXT(GLsizei n, const GLuint *textures, GLboolean *residences);\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsTextureEXT(GLuint texture);\nREGAL_DECL void REGAL_CALL plugin_glBindTextureEXT(GLenum target, GLuint texture);\nREGAL_DECL void REGAL_CALL plugin_glDeleteTexturesEXT(GLsizei n, const GLuint *textures);\nREGAL_DECL void REGAL_CALL plugin_glGenTexturesEXT(GLsizei n, GLuint *textures);\nREGAL_DECL void REGAL_CALL plugin_glPrioritizeTexturesEXT(GLsizei n, const GLuint *textures, const GLclampf *priorities);\n#endif\n\n/**\n ** GL_EXT_texture_perturb_normal\n **/\n\n#if (defined(GL_EXT_TEXTURE_PERTURB_NORMAL) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_TEXTURE_PERTURB_NORMAL)) && !defined(REGAL_NO_ENUM_GL_EXT_TEXTURE_PERTURB_NORMAL)\n#define REGAL_NO_ENUM_GL_EXT_TEXTURE_PERTURB_NORMAL\n#endif\n\n#if (defined(GL_EXT_TEXTURE_PERTURB_NORMAL) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_TEXTURE_PERTURB_NORMAL)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_PERTURB_NORMAL)\n#define REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_PERTURB_NORMAL\n#endif\n\n#if (defined(GL_EXT_TEXTURE_PERTURB_NORMAL) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_TEXTURE_PERTURB_NORMAL)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_PERTURB_NORMAL)\n#define REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_PERTURB_NORMAL\n#endif\n\n#if (defined(GL_EXT_TEXTURE_PERTURB_NORMAL) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_TEXTURE_PERTURB_NORMAL)) && !defined(REGAL_NO_PLUGIN_GL_EXT_TEXTURE_PERTURB_NORMAL)\n#define REGAL_NO_PLUGIN_GL_EXT_TEXTURE_PERTURB_NORMAL\n#endif\n\n#if (defined(GL_EXT_TEXTURE_PERTURB_NORMAL) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_TEXTURE_PERTURB_NORMAL)) && !defined(REGAL_NO_DECLARATION_GL_EXT_TEXTURE_PERTURB_NORMAL)\n#define REGAL_NO_DECLARATION_GL_EXT_TEXTURE_PERTURB_NORMAL\n#endif\n\n#ifndef GL_EXT_texture_perturb_normal\n#define GL_EXT_texture_perturb_normal 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_TEXTURE_PERTURB_NORMAL\n#define GL_PERTURB_EXT        0x85ae     /* 34222 */\n#define GL_TEXTURE_NORMAL_EXT 0x85af     /* 34223 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_PERTURB_NORMAL\ntypedef void (REGAL_CALL *PFNGLTEXTURENORMALEXTPROC)(GLenum mode);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_PERTURB_NORMAL\n#define glTextureNormalEXT                  rglTextureNormalEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_TEXTURE_PERTURB_NORMAL\nREGAL_DECL void REGAL_CALL glTextureNormalEXT(GLenum mode);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_TEXTURE_PERTURB_NORMAL\nREGAL_DECL void REGAL_CALL plugin_glTextureNormalEXT(GLenum mode);\n#endif\n\n/**\n ** GL_EXT_texture_rectangle\n **/\n\n#if (defined(GL_EXT_TEXTURE_RECTANGLE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_TEXTURE_RECTANGLE)) && !defined(REGAL_NO_ENUM_GL_EXT_TEXTURE_RECTANGLE)\n#define REGAL_NO_ENUM_GL_EXT_TEXTURE_RECTANGLE\n#endif\n\n#if (defined(GL_EXT_TEXTURE_RECTANGLE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_TEXTURE_RECTANGLE)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_RECTANGLE)\n#define REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_RECTANGLE\n#endif\n\n#if (defined(GL_EXT_TEXTURE_RECTANGLE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_TEXTURE_RECTANGLE)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_RECTANGLE)\n#define REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_RECTANGLE\n#endif\n\n#if (defined(GL_EXT_TEXTURE_RECTANGLE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_TEXTURE_RECTANGLE)) && !defined(REGAL_NO_PLUGIN_GL_EXT_TEXTURE_RECTANGLE)\n#define REGAL_NO_PLUGIN_GL_EXT_TEXTURE_RECTANGLE\n#endif\n\n#if (defined(GL_EXT_TEXTURE_RECTANGLE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_TEXTURE_RECTANGLE)) && !defined(REGAL_NO_DECLARATION_GL_EXT_TEXTURE_RECTANGLE)\n#define REGAL_NO_DECLARATION_GL_EXT_TEXTURE_RECTANGLE\n#endif\n\n#ifndef GL_EXT_texture_rectangle\n#define GL_EXT_texture_rectangle 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_TEXTURE_RECTANGLE\n#define GL_TEXTURE_RECTANGLE_EXT          0x84f5     /* 34037 */\n#define GL_TEXTURE_BINDING_RECTANGLE_EXT  0x84f6     /* 34038 */\n#define GL_PROXY_TEXTURE_RECTANGLE_EXT    0x84f7     /* 34039 */\n#define GL_MAX_RECTANGLE_TEXTURE_SIZE_EXT 0x84f8     /* 34040 */\n#endif\n\n/**\n ** GL_EXT_texture_rg\n **/\n\n#if (defined(GL_EXT_TEXTURE_RG) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_TEXTURE_RG)) && !defined(REGAL_NO_ENUM_GL_EXT_TEXTURE_RG)\n#define REGAL_NO_ENUM_GL_EXT_TEXTURE_RG\n#endif\n\n#if (defined(GL_EXT_TEXTURE_RG) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_TEXTURE_RG)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_RG)\n#define REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_RG\n#endif\n\n#if (defined(GL_EXT_TEXTURE_RG) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_TEXTURE_RG)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_RG)\n#define REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_RG\n#endif\n\n#if (defined(GL_EXT_TEXTURE_RG) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_TEXTURE_RG)) && !defined(REGAL_NO_PLUGIN_GL_EXT_TEXTURE_RG)\n#define REGAL_NO_PLUGIN_GL_EXT_TEXTURE_RG\n#endif\n\n#if (defined(GL_EXT_TEXTURE_RG) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_TEXTURE_RG)) && !defined(REGAL_NO_DECLARATION_GL_EXT_TEXTURE_RG)\n#define REGAL_NO_DECLARATION_GL_EXT_TEXTURE_RG\n#endif\n\n#ifndef GL_EXT_texture_rg\n#define GL_EXT_texture_rg 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_TEXTURE_RG\n#define GL_RED_EXT 0x1903     /* 6403 */\n#define GL_RG_EXT  0x8227     /* 33319 */\n#endif\n\n/**\n ** GL_EXT_texture_sRGB\n **/\n\n#if (defined(GL_EXT_TEXTURE_SRGB) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_TEXTURE_SRGB)) && !defined(REGAL_NO_ENUM_GL_EXT_TEXTURE_SRGB)\n#define REGAL_NO_ENUM_GL_EXT_TEXTURE_SRGB\n#endif\n\n#if (defined(GL_EXT_TEXTURE_SRGB) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_TEXTURE_SRGB)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_SRGB)\n#define REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_SRGB\n#endif\n\n#if (defined(GL_EXT_TEXTURE_SRGB) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_TEXTURE_SRGB)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_SRGB)\n#define REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_SRGB\n#endif\n\n#if (defined(GL_EXT_TEXTURE_SRGB) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_TEXTURE_SRGB)) && !defined(REGAL_NO_PLUGIN_GL_EXT_TEXTURE_SRGB)\n#define REGAL_NO_PLUGIN_GL_EXT_TEXTURE_SRGB\n#endif\n\n#if (defined(GL_EXT_TEXTURE_SRGB) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_TEXTURE_SRGB)) && !defined(REGAL_NO_DECLARATION_GL_EXT_TEXTURE_SRGB)\n#define REGAL_NO_DECLARATION_GL_EXT_TEXTURE_SRGB\n#endif\n\n#ifndef GL_EXT_texture_sRGB\n#define GL_EXT_texture_sRGB 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_TEXTURE_SRGB\n#define GL_SRGB_EXT                            0x8c40     /* 35904 */\n#define GL_SRGB8_EXT                           0x8c41     /* 35905 */\n#define GL_SRGB_ALPHA_EXT                      0x8c42     /* 35906 */\n#define GL_SRGB8_ALPHA8_EXT                    0x8c43     /* 35907 */\n#define GL_SLUMINANCE_ALPHA_EXT                0x8c44     /* 35908 */\n#define GL_SLUMINANCE8_ALPHA8_EXT              0x8c45     /* 35909 */\n#define GL_SLUMINANCE_EXT                      0x8c46     /* 35910 */\n#define GL_SLUMINANCE8_EXT                     0x8c47     /* 35911 */\n#define GL_COMPRESSED_SRGB_EXT                 0x8c48     /* 35912 */\n#define GL_COMPRESSED_SRGB_ALPHA_EXT           0x8c49     /* 35913 */\n#define GL_COMPRESSED_SLUMINANCE_EXT           0x8c4a     /* 35914 */\n#define GL_COMPRESSED_SLUMINANCE_ALPHA_EXT     0x8c4b     /* 35915 */\n#define GL_COMPRESSED_SRGB_S3TC_DXT1_EXT       0x8c4c     /* 35916 */\n#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT 0x8c4d     /* 35917 */\n#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT 0x8c4e     /* 35918 */\n#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT 0x8c4f     /* 35919 */\n#endif\n\n/**\n ** GL_EXT_texture_sRGB_decode\n **/\n\n#if (defined(GL_EXT_TEXTURE_SRGB_DECODE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_TEXTURE_SRGB_DECODE)) && !defined(REGAL_NO_ENUM_GL_EXT_TEXTURE_SRGB_DECODE)\n#define REGAL_NO_ENUM_GL_EXT_TEXTURE_SRGB_DECODE\n#endif\n\n#if (defined(GL_EXT_TEXTURE_SRGB_DECODE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_TEXTURE_SRGB_DECODE)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_SRGB_DECODE)\n#define REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_SRGB_DECODE\n#endif\n\n#if (defined(GL_EXT_TEXTURE_SRGB_DECODE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_TEXTURE_SRGB_DECODE)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_SRGB_DECODE)\n#define REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_SRGB_DECODE\n#endif\n\n#if (defined(GL_EXT_TEXTURE_SRGB_DECODE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_TEXTURE_SRGB_DECODE)) && !defined(REGAL_NO_PLUGIN_GL_EXT_TEXTURE_SRGB_DECODE)\n#define REGAL_NO_PLUGIN_GL_EXT_TEXTURE_SRGB_DECODE\n#endif\n\n#if (defined(GL_EXT_TEXTURE_SRGB_DECODE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_TEXTURE_SRGB_DECODE)) && !defined(REGAL_NO_DECLARATION_GL_EXT_TEXTURE_SRGB_DECODE)\n#define REGAL_NO_DECLARATION_GL_EXT_TEXTURE_SRGB_DECODE\n#endif\n\n#ifndef GL_EXT_texture_sRGB_decode\n#define GL_EXT_texture_sRGB_decode 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_TEXTURE_SRGB_DECODE\n#define GL_TEXTURE_SRGB_DECODE_EXT 0x8a48     /* 35400 */\n#define GL_DECODE_EXT              0x8a49     /* 35401 */\n#define GL_SKIP_DECODE_EXT         0x8a4a     /* 35402 */\n#endif\n\n/**\n ** GL_EXT_texture_shared_exponent\n **/\n\n#if (defined(GL_EXT_TEXTURE_SHARED_EXPONENT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_TEXTURE_SHARED_EXPONENT)) && !defined(REGAL_NO_ENUM_GL_EXT_TEXTURE_SHARED_EXPONENT)\n#define REGAL_NO_ENUM_GL_EXT_TEXTURE_SHARED_EXPONENT\n#endif\n\n#if (defined(GL_EXT_TEXTURE_SHARED_EXPONENT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_TEXTURE_SHARED_EXPONENT)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_SHARED_EXPONENT)\n#define REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_SHARED_EXPONENT\n#endif\n\n#if (defined(GL_EXT_TEXTURE_SHARED_EXPONENT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_TEXTURE_SHARED_EXPONENT)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_SHARED_EXPONENT)\n#define REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_SHARED_EXPONENT\n#endif\n\n#if (defined(GL_EXT_TEXTURE_SHARED_EXPONENT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_TEXTURE_SHARED_EXPONENT)) && !defined(REGAL_NO_PLUGIN_GL_EXT_TEXTURE_SHARED_EXPONENT)\n#define REGAL_NO_PLUGIN_GL_EXT_TEXTURE_SHARED_EXPONENT\n#endif\n\n#if (defined(GL_EXT_TEXTURE_SHARED_EXPONENT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_TEXTURE_SHARED_EXPONENT)) && !defined(REGAL_NO_DECLARATION_GL_EXT_TEXTURE_SHARED_EXPONENT)\n#define REGAL_NO_DECLARATION_GL_EXT_TEXTURE_SHARED_EXPONENT\n#endif\n\n#ifndef GL_EXT_texture_shared_exponent\n#define GL_EXT_texture_shared_exponent 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_TEXTURE_SHARED_EXPONENT\n#define GL_RGB9_E5_EXT                  0x8c3d     /* 35901 */\n#define GL_UNSIGNED_INT_5_9_9_9_REV_EXT 0x8c3e     /* 35902 */\n#define GL_TEXTURE_SHARED_SIZE_EXT      0x8c3f     /* 35903 */\n#endif\n\n/**\n ** GL_EXT_texture_snorm\n **/\n\n#if (defined(GL_EXT_TEXTURE_SNORM) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_TEXTURE_SNORM)) && !defined(REGAL_NO_ENUM_GL_EXT_TEXTURE_SNORM)\n#define REGAL_NO_ENUM_GL_EXT_TEXTURE_SNORM\n#endif\n\n#if (defined(GL_EXT_TEXTURE_SNORM) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_TEXTURE_SNORM)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_SNORM)\n#define REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_SNORM\n#endif\n\n#if (defined(GL_EXT_TEXTURE_SNORM) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_TEXTURE_SNORM)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_SNORM)\n#define REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_SNORM\n#endif\n\n#if (defined(GL_EXT_TEXTURE_SNORM) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_TEXTURE_SNORM)) && !defined(REGAL_NO_PLUGIN_GL_EXT_TEXTURE_SNORM)\n#define REGAL_NO_PLUGIN_GL_EXT_TEXTURE_SNORM\n#endif\n\n#if (defined(GL_EXT_TEXTURE_SNORM) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_TEXTURE_SNORM)) && !defined(REGAL_NO_DECLARATION_GL_EXT_TEXTURE_SNORM)\n#define REGAL_NO_DECLARATION_GL_EXT_TEXTURE_SNORM\n#endif\n\n#ifndef GL_EXT_texture_snorm\n#define GL_EXT_texture_snorm 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_TEXTURE_SNORM\n#define GL_RED_SNORM                 0x8f90     /* 36752 */\n#define GL_RG_SNORM                  0x8f91     /* 36753 */\n#define GL_RGB_SNORM                 0x8f92     /* 36754 */\n#define GL_RGBA_SNORM                0x8f93     /* 36755 */\n#define GL_R8_SNORM                  0x8f94     /* 36756 */\n#define GL_RG8_SNORM                 0x8f95     /* 36757 */\n#define GL_RGB8_SNORM                0x8f96     /* 36758 */\n#define GL_RGBA8_SNORM               0x8f97     /* 36759 */\n#define GL_R16_SNORM                 0x8f98     /* 36760 */\n#define GL_RG16_SNORM                0x8f99     /* 36761 */\n#define GL_RGB16_SNORM               0x8f9a     /* 36762 */\n#define GL_RGBA16_SNORM              0x8f9b     /* 36763 */\n#define GL_SIGNED_NORMALIZED         0x8f9c     /* 36764 */\n#define GL_ALPHA_SNORM               0x9010     /* 36880 */\n#define GL_LUMINANCE_SNORM           0x9011     /* 36881 */\n#define GL_LUMINANCE_ALPHA_SNORM     0x9012     /* 36882 */\n#define GL_INTENSITY_SNORM           0x9013     /* 36883 */\n#define GL_ALPHA8_SNORM              0x9014     /* 36884 */\n#define GL_LUMINANCE8_SNORM          0x9015     /* 36885 */\n#define GL_LUMINANCE8_ALPHA8_SNORM   0x9016     /* 36886 */\n#define GL_INTENSITY8_SNORM          0x9017     /* 36887 */\n#define GL_ALPHA16_SNORM             0x9018     /* 36888 */\n#define GL_LUMINANCE16_SNORM         0x9019     /* 36889 */\n#define GL_LUMINANCE16_ALPHA16_SNORM 0x901a     /* 36890 */\n#define GL_INTENSITY16_SNORM         0x901b     /* 36891 */\n#endif\n\n/**\n ** GL_EXT_texture_storage\n **/\n\n#if (defined(GL_EXT_TEXTURE_STORAGE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_TEXTURE_STORAGE)) && !defined(REGAL_NO_ENUM_GL_EXT_TEXTURE_STORAGE)\n#define REGAL_NO_ENUM_GL_EXT_TEXTURE_STORAGE\n#endif\n\n#if (defined(GL_EXT_TEXTURE_STORAGE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_TEXTURE_STORAGE)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_STORAGE)\n#define REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_STORAGE\n#endif\n\n#if (defined(GL_EXT_TEXTURE_STORAGE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_TEXTURE_STORAGE)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_STORAGE)\n#define REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_STORAGE\n#endif\n\n#if (defined(GL_EXT_TEXTURE_STORAGE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_TEXTURE_STORAGE)) && !defined(REGAL_NO_PLUGIN_GL_EXT_TEXTURE_STORAGE)\n#define REGAL_NO_PLUGIN_GL_EXT_TEXTURE_STORAGE\n#endif\n\n#if (defined(GL_EXT_TEXTURE_STORAGE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_TEXTURE_STORAGE)) && !defined(REGAL_NO_DECLARATION_GL_EXT_TEXTURE_STORAGE)\n#define REGAL_NO_DECLARATION_GL_EXT_TEXTURE_STORAGE\n#endif\n\n#ifndef GL_EXT_texture_storage\n#define GL_EXT_texture_storage 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_TEXTURE_STORAGE\n#define GL_R8_EXT                       0x8229     /* 33321 */\n#define GL_RG8_EXT                      0x822b     /* 33323 */\n#define GL_R16F_EXT                     0x822d     /* 33325 */\n#define GL_R32F_EXT                     0x822e     /* 33326 */\n#define GL_RG16F_EXT                    0x822f     /* 33327 */\n#define GL_RG32F_EXT                    0x8230     /* 33328 */\n#define GL_RGBA32F_EXT                  0x8814     /* 34836 */\n#define GL_RGB32F_EXT                   0x8815     /* 34837 */\n#define GL_ALPHA32F_EXT                 0x8816     /* 34838 */\n#define GL_LUMINANCE32F_EXT             0x8818     /* 34840 */\n#define GL_LUMINANCE_ALPHA32F_EXT       0x8819     /* 34841 */\n#define GL_RGBA16F_EXT                  0x881a     /* 34842 */\n#define GL_RGB16F_EXT                   0x881b     /* 34843 */\n#define GL_ALPHA16F_EXT                 0x881c     /* 34844 */\n#define GL_LUMINANCE16F_EXT             0x881e     /* 34846 */\n#define GL_LUMINANCE_ALPHA16F_EXT       0x881f     /* 34847 */\n#define GL_TEXTURE_IMMUTABLE_FORMAT_EXT 0x912f     /* 37167 */\n#define GL_BGRA8_EXT                    0x93a1     /* 37793 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_STORAGE\ntypedef void (REGAL_CALL *PFNGLTEXSTORAGE1DEXTPROC)(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);\ntypedef void (REGAL_CALL *PFNGLTEXSTORAGE2DEXTPROC)(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);\ntypedef void (REGAL_CALL *PFNGLTEXSTORAGE3DEXTPROC)(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_STORAGE\n#define glTexStorage1DEXT                   rglTexStorage1DEXT\n#define glTexStorage2DEXT                   rglTexStorage2DEXT\n#define glTexStorage3DEXT                   rglTexStorage3DEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_TEXTURE_STORAGE\nREGAL_DECL void REGAL_CALL glTexStorage1DEXT(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);\nREGAL_DECL void REGAL_CALL glTexStorage2DEXT(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);\nREGAL_DECL void REGAL_CALL glTexStorage3DEXT(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_TEXTURE_STORAGE\nREGAL_DECL void REGAL_CALL plugin_glTexStorage1DEXT(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);\nREGAL_DECL void REGAL_CALL plugin_glTexStorage2DEXT(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);\nREGAL_DECL void REGAL_CALL plugin_glTexStorage3DEXT(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);\n#endif\n\n/**\n ** GL_EXT_texture_swizzle\n **/\n\n#if (defined(GL_EXT_TEXTURE_SWIZZLE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_TEXTURE_SWIZZLE)) && !defined(REGAL_NO_ENUM_GL_EXT_TEXTURE_SWIZZLE)\n#define REGAL_NO_ENUM_GL_EXT_TEXTURE_SWIZZLE\n#endif\n\n#if (defined(GL_EXT_TEXTURE_SWIZZLE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_TEXTURE_SWIZZLE)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_SWIZZLE)\n#define REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_SWIZZLE\n#endif\n\n#if (defined(GL_EXT_TEXTURE_SWIZZLE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_TEXTURE_SWIZZLE)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_SWIZZLE)\n#define REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_SWIZZLE\n#endif\n\n#if (defined(GL_EXT_TEXTURE_SWIZZLE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_TEXTURE_SWIZZLE)) && !defined(REGAL_NO_PLUGIN_GL_EXT_TEXTURE_SWIZZLE)\n#define REGAL_NO_PLUGIN_GL_EXT_TEXTURE_SWIZZLE\n#endif\n\n#if (defined(GL_EXT_TEXTURE_SWIZZLE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_TEXTURE_SWIZZLE)) && !defined(REGAL_NO_DECLARATION_GL_EXT_TEXTURE_SWIZZLE)\n#define REGAL_NO_DECLARATION_GL_EXT_TEXTURE_SWIZZLE\n#endif\n\n#ifndef GL_EXT_texture_swizzle\n#define GL_EXT_texture_swizzle 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_TEXTURE_SWIZZLE\n#define GL_TEXTURE_SWIZZLE_R_EXT    0x8e42     /* 36418 */\n#define GL_TEXTURE_SWIZZLE_G_EXT    0x8e43     /* 36419 */\n#define GL_TEXTURE_SWIZZLE_B_EXT    0x8e44     /* 36420 */\n#define GL_TEXTURE_SWIZZLE_A_EXT    0x8e45     /* 36421 */\n#define GL_TEXTURE_SWIZZLE_RGBA_EXT 0x8e46     /* 36422 */\n#endif\n\n/**\n ** GL_EXT_texture_type_2_10_10_10_REV\n **/\n\n#if (defined(GL_EXT_TEXTURE_TYPE_2_10_10_10_REV) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_TEXTURE_TYPE_2_10_10_10_REV)) && !defined(REGAL_NO_ENUM_GL_EXT_TEXTURE_TYPE_2_10_10_10_REV)\n#define REGAL_NO_ENUM_GL_EXT_TEXTURE_TYPE_2_10_10_10_REV\n#endif\n\n#if (defined(GL_EXT_TEXTURE_TYPE_2_10_10_10_REV) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_TEXTURE_TYPE_2_10_10_10_REV)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_TYPE_2_10_10_10_REV)\n#define REGAL_NO_TYPEDEF_GL_EXT_TEXTURE_TYPE_2_10_10_10_REV\n#endif\n\n#if (defined(GL_EXT_TEXTURE_TYPE_2_10_10_10_REV) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_TEXTURE_TYPE_2_10_10_10_REV)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_TYPE_2_10_10_10_REV)\n#define REGAL_NO_NAMESPACE_GL_EXT_TEXTURE_TYPE_2_10_10_10_REV\n#endif\n\n#if (defined(GL_EXT_TEXTURE_TYPE_2_10_10_10_REV) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_TEXTURE_TYPE_2_10_10_10_REV)) && !defined(REGAL_NO_PLUGIN_GL_EXT_TEXTURE_TYPE_2_10_10_10_REV)\n#define REGAL_NO_PLUGIN_GL_EXT_TEXTURE_TYPE_2_10_10_10_REV\n#endif\n\n#if (defined(GL_EXT_TEXTURE_TYPE_2_10_10_10_REV) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_TEXTURE_TYPE_2_10_10_10_REV)) && !defined(REGAL_NO_DECLARATION_GL_EXT_TEXTURE_TYPE_2_10_10_10_REV)\n#define REGAL_NO_DECLARATION_GL_EXT_TEXTURE_TYPE_2_10_10_10_REV\n#endif\n\n#ifndef GL_EXT_texture_type_2_10_10_10_REV\n#define GL_EXT_texture_type_2_10_10_10_REV 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_TEXTURE_TYPE_2_10_10_10_REV\n#define GL_UNSIGNED_INT_2_10_10_10_REV_EXT 0x8368 /* 33640 */\n#endif\n\n/**\n ** GL_EXT_timer_query\n **/\n\n#if (defined(GL_EXT_TIMER_QUERY) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_TIMER_QUERY)) && !defined(REGAL_NO_ENUM_GL_EXT_TIMER_QUERY)\n#define REGAL_NO_ENUM_GL_EXT_TIMER_QUERY\n#endif\n\n#if (defined(GL_EXT_TIMER_QUERY) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_TIMER_QUERY)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_TIMER_QUERY)\n#define REGAL_NO_TYPEDEF_GL_EXT_TIMER_QUERY\n#endif\n\n#if (defined(GL_EXT_TIMER_QUERY) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_TIMER_QUERY)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_TIMER_QUERY)\n#define REGAL_NO_NAMESPACE_GL_EXT_TIMER_QUERY\n#endif\n\n#if (defined(GL_EXT_TIMER_QUERY) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_TIMER_QUERY)) && !defined(REGAL_NO_PLUGIN_GL_EXT_TIMER_QUERY)\n#define REGAL_NO_PLUGIN_GL_EXT_TIMER_QUERY\n#endif\n\n#if (defined(GL_EXT_TIMER_QUERY) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_TIMER_QUERY)) && !defined(REGAL_NO_DECLARATION_GL_EXT_TIMER_QUERY)\n#define REGAL_NO_DECLARATION_GL_EXT_TIMER_QUERY\n#endif\n\n#ifndef GL_EXT_timer_query\n#define GL_EXT_timer_query 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_TIMER_QUERY\n#define GL_TIME_ELAPSED_EXT 0x88bf /* 35007 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_TIMER_QUERY\ntypedef void (REGAL_CALL *PFNGLGETQUERYOBJECTI64VEXTPROC)(GLuint id, GLenum pname, GLint64EXT *params);\ntypedef void (REGAL_CALL *PFNGLGETQUERYOBJECTUI64VEXTPROC)(GLuint id, GLenum pname, GLuint64EXT *params);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_TIMER_QUERY\n#define glGetQueryObjecti64vEXT             rglGetQueryObjecti64vEXT\n#define glGetQueryObjectui64vEXT            rglGetQueryObjectui64vEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_TIMER_QUERY\nREGAL_DECL void REGAL_CALL glGetQueryObjecti64vEXT(GLuint id, GLenum pname, GLint64EXT *params);\nREGAL_DECL void REGAL_CALL glGetQueryObjectui64vEXT(GLuint id, GLenum pname, GLuint64EXT *params);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_TIMER_QUERY\nREGAL_DECL void REGAL_CALL plugin_glGetQueryObjecti64vEXT(GLuint id, GLenum pname, GLint64EXT *params);\nREGAL_DECL void REGAL_CALL plugin_glGetQueryObjectui64vEXT(GLuint id, GLenum pname, GLuint64EXT *params);\n#endif\n\n/**\n ** GL_EXT_transform_feedback\n **/\n\n#if (defined(GL_EXT_TRANSFORM_FEEDBACK) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_TRANSFORM_FEEDBACK)) && !defined(REGAL_NO_ENUM_GL_EXT_TRANSFORM_FEEDBACK)\n#define REGAL_NO_ENUM_GL_EXT_TRANSFORM_FEEDBACK\n#endif\n\n#if (defined(GL_EXT_TRANSFORM_FEEDBACK) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_TRANSFORM_FEEDBACK)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_TRANSFORM_FEEDBACK)\n#define REGAL_NO_TYPEDEF_GL_EXT_TRANSFORM_FEEDBACK\n#endif\n\n#if (defined(GL_EXT_TRANSFORM_FEEDBACK) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_TRANSFORM_FEEDBACK)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_TRANSFORM_FEEDBACK)\n#define REGAL_NO_NAMESPACE_GL_EXT_TRANSFORM_FEEDBACK\n#endif\n\n#if (defined(GL_EXT_TRANSFORM_FEEDBACK) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_TRANSFORM_FEEDBACK)) && !defined(REGAL_NO_PLUGIN_GL_EXT_TRANSFORM_FEEDBACK)\n#define REGAL_NO_PLUGIN_GL_EXT_TRANSFORM_FEEDBACK\n#endif\n\n#if (defined(GL_EXT_TRANSFORM_FEEDBACK) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_TRANSFORM_FEEDBACK)) && !defined(REGAL_NO_DECLARATION_GL_EXT_TRANSFORM_FEEDBACK)\n#define REGAL_NO_DECLARATION_GL_EXT_TRANSFORM_FEEDBACK\n#endif\n\n#ifndef GL_EXT_transform_feedback\n#define GL_EXT_transform_feedback 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_TRANSFORM_FEEDBACK\n#define GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT         0x8c76     /* 35958 */\n#define GL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT                0x8c7f     /* 35967 */\n#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT    0x8c80     /* 35968 */\n#define GL_TRANSFORM_FEEDBACK_VARYINGS_EXT                   0x8c83     /* 35971 */\n#define GL_TRANSFORM_FEEDBACK_BUFFER_START_EXT               0x8c84     /* 35972 */\n#define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT                0x8c85     /* 35973 */\n#define GL_PRIMITIVES_GENERATED_EXT                          0x8c87     /* 35975 */\n#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT         0x8c88     /* 35976 */\n#define GL_RASTERIZER_DISCARD_EXT                            0x8c89     /* 35977 */\n#define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT 0x8c8a     /* 35978 */\n#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT       0x8c8b     /* 35979 */\n#define GL_INTERLEAVED_ATTRIBS_EXT                           0x8c8c     /* 35980 */\n#define GL_SEPARATE_ATTRIBS_EXT                              0x8c8d     /* 35981 */\n#define GL_TRANSFORM_FEEDBACK_BUFFER_EXT                     0x8c8e     /* 35982 */\n#define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT             0x8c8f     /* 35983 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_TRANSFORM_FEEDBACK\ntypedef void (REGAL_CALL *PFNGLBEGINTRANSFORMFEEDBACKEXTPROC)(GLenum primitiveMode);\ntypedef void (REGAL_CALL *PFNGLBINDBUFFERBASEEXTPROC)(GLenum target, GLuint index, GLuint buffer);\ntypedef void (REGAL_CALL *PFNGLBINDBUFFEROFFSETEXTPROC)(GLenum target, GLuint index, GLuint buffer, GLintptr offset);\ntypedef void (REGAL_CALL *PFNGLBINDBUFFERRANGEEXTPROC)(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);\ntypedef void (REGAL_CALL *PFNGLENDTRANSFORMFEEDBACKEXTPROC)(void);\ntypedef void (REGAL_CALL *PFNGLGETTRANSFORMFEEDBACKVARYINGEXTPROC)(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);\ntypedef void (REGAL_CALL *PFNGLTRANSFORMFEEDBACKVARYINGSEXTPROC)(GLuint program, GLsizei count, const GLchar ** const varyings, GLenum bufferMode);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_TRANSFORM_FEEDBACK\n#define glBeginTransformFeedbackEXT         rglBeginTransformFeedbackEXT\n#define glBindBufferBaseEXT                 rglBindBufferBaseEXT\n#define glBindBufferOffsetEXT               rglBindBufferOffsetEXT\n#define glBindBufferRangeEXT                rglBindBufferRangeEXT\n#define glEndTransformFeedbackEXT           rglEndTransformFeedbackEXT\n#define glGetTransformFeedbackVaryingEXT    rglGetTransformFeedbackVaryingEXT\n#define glTransformFeedbackVaryingsEXT      rglTransformFeedbackVaryingsEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_TRANSFORM_FEEDBACK\nREGAL_DECL void REGAL_CALL glBeginTransformFeedbackEXT(GLenum primitiveMode);\nREGAL_DECL void REGAL_CALL glBindBufferBaseEXT(GLenum target, GLuint index, GLuint buffer);\nREGAL_DECL void REGAL_CALL glBindBufferOffsetEXT(GLenum target, GLuint index, GLuint buffer, GLintptr offset);\nREGAL_DECL void REGAL_CALL glBindBufferRangeEXT(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);\nREGAL_DECL void REGAL_CALL glEndTransformFeedbackEXT(void);\nREGAL_DECL void REGAL_CALL glGetTransformFeedbackVaryingEXT(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);\nREGAL_DECL void REGAL_CALL glTransformFeedbackVaryingsEXT(GLuint program, GLsizei count, const GLchar ** const varyings, GLenum bufferMode);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_TRANSFORM_FEEDBACK\nREGAL_DECL void REGAL_CALL plugin_glBeginTransformFeedbackEXT(GLenum primitiveMode);\nREGAL_DECL void REGAL_CALL plugin_glBindBufferBaseEXT(GLenum target, GLuint index, GLuint buffer);\nREGAL_DECL void REGAL_CALL plugin_glBindBufferOffsetEXT(GLenum target, GLuint index, GLuint buffer, GLintptr offset);\nREGAL_DECL void REGAL_CALL plugin_glBindBufferRangeEXT(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);\nREGAL_DECL void REGAL_CALL plugin_glEndTransformFeedbackEXT(void);\nREGAL_DECL void REGAL_CALL plugin_glGetTransformFeedbackVaryingEXT(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);\nREGAL_DECL void REGAL_CALL plugin_glTransformFeedbackVaryingsEXT(GLuint program, GLsizei count, const GLchar ** const varyings, GLenum bufferMode);\n#endif\n\n/**\n ** GL_EXT_unpack_subimage\n **/\n\n#if (defined(GL_EXT_UNPACK_SUBIMAGE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_UNPACK_SUBIMAGE)) && !defined(REGAL_NO_ENUM_GL_EXT_UNPACK_SUBIMAGE)\n#define REGAL_NO_ENUM_GL_EXT_UNPACK_SUBIMAGE\n#endif\n\n#if (defined(GL_EXT_UNPACK_SUBIMAGE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_UNPACK_SUBIMAGE)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_UNPACK_SUBIMAGE)\n#define REGAL_NO_TYPEDEF_GL_EXT_UNPACK_SUBIMAGE\n#endif\n\n#if (defined(GL_EXT_UNPACK_SUBIMAGE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_UNPACK_SUBIMAGE)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_UNPACK_SUBIMAGE)\n#define REGAL_NO_NAMESPACE_GL_EXT_UNPACK_SUBIMAGE\n#endif\n\n#if (defined(GL_EXT_UNPACK_SUBIMAGE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_UNPACK_SUBIMAGE)) && !defined(REGAL_NO_PLUGIN_GL_EXT_UNPACK_SUBIMAGE)\n#define REGAL_NO_PLUGIN_GL_EXT_UNPACK_SUBIMAGE\n#endif\n\n#if (defined(GL_EXT_UNPACK_SUBIMAGE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_UNPACK_SUBIMAGE)) && !defined(REGAL_NO_DECLARATION_GL_EXT_UNPACK_SUBIMAGE)\n#define REGAL_NO_DECLARATION_GL_EXT_UNPACK_SUBIMAGE\n#endif\n\n#ifndef GL_EXT_unpack_subimage\n#define GL_EXT_unpack_subimage 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_UNPACK_SUBIMAGE\n#define GL_UNPACK_ROW_LENGTH_EXT  0xcf2     /* 3314 */\n#define GL_UNPACK_SKIP_ROWS_EXT   0xcf3     /* 3315 */\n#define GL_UNPACK_SKIP_PIXELS_EXT 0xcf4     /* 3316 */\n#endif\n\n/**\n ** GL_EXT_vertex_array\n **/\n\n#if (defined(GL_EXT_VERTEX_ARRAY) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_VERTEX_ARRAY)) && !defined(REGAL_NO_ENUM_GL_EXT_VERTEX_ARRAY)\n#define REGAL_NO_ENUM_GL_EXT_VERTEX_ARRAY\n#endif\n\n#if (defined(GL_EXT_VERTEX_ARRAY) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_VERTEX_ARRAY)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_VERTEX_ARRAY)\n#define REGAL_NO_TYPEDEF_GL_EXT_VERTEX_ARRAY\n#endif\n\n#if (defined(GL_EXT_VERTEX_ARRAY) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_VERTEX_ARRAY)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_VERTEX_ARRAY)\n#define REGAL_NO_NAMESPACE_GL_EXT_VERTEX_ARRAY\n#endif\n\n#if (defined(GL_EXT_VERTEX_ARRAY) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_VERTEX_ARRAY)) && !defined(REGAL_NO_PLUGIN_GL_EXT_VERTEX_ARRAY)\n#define REGAL_NO_PLUGIN_GL_EXT_VERTEX_ARRAY\n#endif\n\n#if (defined(GL_EXT_VERTEX_ARRAY) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_VERTEX_ARRAY)) && !defined(REGAL_NO_DECLARATION_GL_EXT_VERTEX_ARRAY)\n#define REGAL_NO_DECLARATION_GL_EXT_VERTEX_ARRAY\n#endif\n\n#ifndef GL_EXT_vertex_array\n#define GL_EXT_vertex_array 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_VERTEX_ARRAY\n#define GL_DOUBLE_EXT                      0x140a     /* 5130 */\n#define GL_VERTEX_ARRAY_EXT                0x8074     /* 32884 */\n#define GL_NORMAL_ARRAY_EXT                0x8075     /* 32885 */\n#define GL_COLOR_ARRAY_EXT                 0x8076     /* 32886 */\n#define GL_INDEX_ARRAY_EXT                 0x8077     /* 32887 */\n#define GL_TEXTURE_COORD_ARRAY_EXT         0x8078     /* 32888 */\n#define GL_EDGE_FLAG_ARRAY_EXT             0x8079     /* 32889 */\n#define GL_VERTEX_ARRAY_SIZE_EXT           0x807a     /* 32890 */\n#define GL_VERTEX_ARRAY_TYPE_EXT           0x807b     /* 32891 */\n#define GL_VERTEX_ARRAY_STRIDE_EXT         0x807c     /* 32892 */\n#define GL_VERTEX_ARRAY_COUNT_EXT          0x807d     /* 32893 */\n#define GL_NORMAL_ARRAY_TYPE_EXT           0x807e     /* 32894 */\n#define GL_NORMAL_ARRAY_STRIDE_EXT         0x807f     /* 32895 */\n#define GL_NORMAL_ARRAY_COUNT_EXT          0x8080     /* 32896 */\n#define GL_COLOR_ARRAY_SIZE_EXT            0x8081     /* 32897 */\n#define GL_COLOR_ARRAY_TYPE_EXT            0x8082     /* 32898 */\n#define GL_COLOR_ARRAY_STRIDE_EXT          0x8083     /* 32899 */\n#define GL_COLOR_ARRAY_COUNT_EXT           0x8084     /* 32900 */\n#define GL_INDEX_ARRAY_TYPE_EXT            0x8085     /* 32901 */\n#define GL_INDEX_ARRAY_STRIDE_EXT          0x8086     /* 32902 */\n#define GL_INDEX_ARRAY_COUNT_EXT           0x8087     /* 32903 */\n#define GL_TEXTURE_COORD_ARRAY_SIZE_EXT    0x8088     /* 32904 */\n#define GL_TEXTURE_COORD_ARRAY_TYPE_EXT    0x8089     /* 32905 */\n#define GL_TEXTURE_COORD_ARRAY_STRIDE_EXT  0x808a     /* 32906 */\n#define GL_TEXTURE_COORD_ARRAY_COUNT_EXT   0x808b     /* 32907 */\n#define GL_EDGE_FLAG_ARRAY_STRIDE_EXT      0x808c     /* 32908 */\n#define GL_EDGE_FLAG_ARRAY_COUNT_EXT       0x808d     /* 32909 */\n#define GL_VERTEX_ARRAY_POINTER_EXT        0x808e     /* 32910 */\n#define GL_NORMAL_ARRAY_POINTER_EXT        0x808f     /* 32911 */\n#define GL_COLOR_ARRAY_POINTER_EXT         0x8090     /* 32912 */\n#define GL_INDEX_ARRAY_POINTER_EXT         0x8091     /* 32913 */\n#define GL_TEXTURE_COORD_ARRAY_POINTER_EXT 0x8092     /* 32914 */\n#define GL_EDGE_FLAG_ARRAY_POINTER_EXT     0x8093     /* 32915 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_VERTEX_ARRAY\ntypedef void (REGAL_CALL *PFNGLARRAYELEMENTEXTPROC)(GLint i);\ntypedef void (REGAL_CALL *PFNGLCOLORPOINTEREXTPROC)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);\ntypedef void (REGAL_CALL *PFNGLDRAWARRAYSEXTPROC)(GLenum mode, GLint first, GLsizei count);\ntypedef void (REGAL_CALL *PFNGLEDGEFLAGPOINTEREXTPROC)(GLsizei stride, GLsizei count, const GLboolean *pointer);\ntypedef void (REGAL_CALL *PFNGLGETPOINTERVEXTPROC)(GLenum pname, GLvoid **params);\ntypedef void (REGAL_CALL *PFNGLINDEXPOINTEREXTPROC)(GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);\ntypedef void (REGAL_CALL *PFNGLNORMALPOINTEREXTPROC)(GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);\ntypedef void (REGAL_CALL *PFNGLTEXCOORDPOINTEREXTPROC)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);\ntypedef void (REGAL_CALL *PFNGLVERTEXPOINTEREXTPROC)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_VERTEX_ARRAY\n#define glArrayElementEXT                   rglArrayElementEXT\n#define glColorPointerEXT                   rglColorPointerEXT\n#define glDrawArraysEXT                     rglDrawArraysEXT\n#define glEdgeFlagPointerEXT                rglEdgeFlagPointerEXT\n#define glGetPointervEXT                    rglGetPointervEXT\n#define glIndexPointerEXT                   rglIndexPointerEXT\n#define glNormalPointerEXT                  rglNormalPointerEXT\n#define glTexCoordPointerEXT                rglTexCoordPointerEXT\n#define glVertexPointerEXT                  rglVertexPointerEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_VERTEX_ARRAY\nREGAL_DECL void REGAL_CALL glArrayElementEXT(GLint i);\nREGAL_DECL void REGAL_CALL glColorPointerEXT(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL glDrawArraysEXT(GLenum mode, GLint first, GLsizei count);\nREGAL_DECL void REGAL_CALL glEdgeFlagPointerEXT(GLsizei stride, GLsizei count, const GLboolean *pointer);\nREGAL_DECL void REGAL_CALL glGetPointervEXT(GLenum pname, GLvoid **params);\nREGAL_DECL void REGAL_CALL glIndexPointerEXT(GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL glNormalPointerEXT(GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL glTexCoordPointerEXT(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL glVertexPointerEXT(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_VERTEX_ARRAY\nREGAL_DECL void REGAL_CALL plugin_glArrayElementEXT(GLint i);\nREGAL_DECL void REGAL_CALL plugin_glColorPointerEXT(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL plugin_glDrawArraysEXT(GLenum mode, GLint first, GLsizei count);\nREGAL_DECL void REGAL_CALL plugin_glEdgeFlagPointerEXT(GLsizei stride, GLsizei count, const GLboolean *pointer);\nREGAL_DECL void REGAL_CALL plugin_glGetPointervEXT(GLenum pname, GLvoid **params);\nREGAL_DECL void REGAL_CALL plugin_glIndexPointerEXT(GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL plugin_glNormalPointerEXT(GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL plugin_glTexCoordPointerEXT(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL plugin_glVertexPointerEXT(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);\n#endif\n\n/**\n ** GL_EXT_vertex_attrib_64bit\n **/\n\n#if (defined(GL_EXT_VERTEX_ATTRIB_64BIT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_VERTEX_ATTRIB_64BIT)) && !defined(REGAL_NO_ENUM_GL_EXT_VERTEX_ATTRIB_64BIT)\n#define REGAL_NO_ENUM_GL_EXT_VERTEX_ATTRIB_64BIT\n#endif\n\n#if (defined(GL_EXT_VERTEX_ATTRIB_64BIT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_VERTEX_ATTRIB_64BIT)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_VERTEX_ATTRIB_64BIT)\n#define REGAL_NO_TYPEDEF_GL_EXT_VERTEX_ATTRIB_64BIT\n#endif\n\n#if (defined(GL_EXT_VERTEX_ATTRIB_64BIT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_VERTEX_ATTRIB_64BIT)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_VERTEX_ATTRIB_64BIT)\n#define REGAL_NO_NAMESPACE_GL_EXT_VERTEX_ATTRIB_64BIT\n#endif\n\n#if (defined(GL_EXT_VERTEX_ATTRIB_64BIT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_VERTEX_ATTRIB_64BIT)) && !defined(REGAL_NO_PLUGIN_GL_EXT_VERTEX_ATTRIB_64BIT)\n#define REGAL_NO_PLUGIN_GL_EXT_VERTEX_ATTRIB_64BIT\n#endif\n\n#if (defined(GL_EXT_VERTEX_ATTRIB_64BIT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_VERTEX_ATTRIB_64BIT)) && !defined(REGAL_NO_DECLARATION_GL_EXT_VERTEX_ATTRIB_64BIT)\n#define REGAL_NO_DECLARATION_GL_EXT_VERTEX_ATTRIB_64BIT\n#endif\n\n#ifndef GL_EXT_vertex_attrib_64bit\n#define GL_EXT_vertex_attrib_64bit 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_VERTEX_ATTRIB_64BIT\n#define GL_DOUBLE_MAT2_EXT   0x8f46     /* 36678 */\n#define GL_DOUBLE_MAT3_EXT   0x8f47     /* 36679 */\n#define GL_DOUBLE_MAT4_EXT   0x8f48     /* 36680 */\n#define GL_DOUBLE_MAT2x3_EXT 0x8f49     /* 36681 */\n#define GL_DOUBLE_MAT2x4_EXT 0x8f4a     /* 36682 */\n#define GL_DOUBLE_MAT3x2_EXT 0x8f4b     /* 36683 */\n#define GL_DOUBLE_MAT3x4_EXT 0x8f4c     /* 36684 */\n#define GL_DOUBLE_MAT4x2_EXT 0x8f4d     /* 36685 */\n#define GL_DOUBLE_MAT4x3_EXT 0x8f4e     /* 36686 */\n#define GL_DOUBLE_VEC2_EXT   0x8ffc     /* 36860 */\n#define GL_DOUBLE_VEC3_EXT   0x8ffd     /* 36861 */\n#define GL_DOUBLE_VEC4_EXT   0x8ffe     /* 36862 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_VERTEX_ATTRIB_64BIT\ntypedef void (REGAL_CALL *PFNGLGETVERTEXATTRIBLDVEXTPROC)(GLuint index, GLenum pname, GLdouble *params);\ntypedef void (REGAL_CALL *PFNGLVERTEXARRAYVERTEXATTRIBLOFFSETEXTPROC)(GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLsizei stride, GLintptr offset);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBL1DEXTPROC)(GLuint index, GLdouble x);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBL1DVEXTPROC)(GLuint index, const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBL2DEXTPROC)(GLuint index, GLdouble x, GLdouble y);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBL2DVEXTPROC)(GLuint index, const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBL3DEXTPROC)(GLuint index, GLdouble x, GLdouble y, GLdouble z);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBL3DVEXTPROC)(GLuint index, const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBL4DEXTPROC)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBL4DVEXTPROC)(GLuint index, const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBLPOINTEREXTPROC)(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_VERTEX_ATTRIB_64BIT\n#define glGetVertexAttribLdvEXT             rglGetVertexAttribLdvEXT\n#define glVertexArrayVertexAttribLOffsetEXT rglVertexArrayVertexAttribLOffsetEXT\n#define glVertexAttribL1dEXT                rglVertexAttribL1dEXT\n#define glVertexAttribL1dvEXT               rglVertexAttribL1dvEXT\n#define glVertexAttribL2dEXT                rglVertexAttribL2dEXT\n#define glVertexAttribL2dvEXT               rglVertexAttribL2dvEXT\n#define glVertexAttribL3dEXT                rglVertexAttribL3dEXT\n#define glVertexAttribL3dvEXT               rglVertexAttribL3dvEXT\n#define glVertexAttribL4dEXT                rglVertexAttribL4dEXT\n#define glVertexAttribL4dvEXT               rglVertexAttribL4dvEXT\n#define glVertexAttribLPointerEXT           rglVertexAttribLPointerEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_VERTEX_ATTRIB_64BIT\nREGAL_DECL void REGAL_CALL glGetVertexAttribLdvEXT(GLuint index, GLenum pname, GLdouble *params);\nREGAL_DECL void REGAL_CALL glVertexArrayVertexAttribLOffsetEXT(GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLsizei stride, GLintptr offset);\nREGAL_DECL void REGAL_CALL glVertexAttribL1dEXT(GLuint index, GLdouble x);\nREGAL_DECL void REGAL_CALL glVertexAttribL1dvEXT(GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL glVertexAttribL2dEXT(GLuint index, GLdouble x, GLdouble y);\nREGAL_DECL void REGAL_CALL glVertexAttribL2dvEXT(GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL glVertexAttribL3dEXT(GLuint index, GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL glVertexAttribL3dvEXT(GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL glVertexAttribL4dEXT(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nREGAL_DECL void REGAL_CALL glVertexAttribL4dvEXT(GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL glVertexAttribLPointerEXT(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_VERTEX_ATTRIB_64BIT\nREGAL_DECL void REGAL_CALL plugin_glGetVertexAttribLdvEXT(GLuint index, GLenum pname, GLdouble *params);\nREGAL_DECL void REGAL_CALL plugin_glVertexArrayVertexAttribLOffsetEXT(GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLsizei stride, GLintptr offset);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribL1dEXT(GLuint index, GLdouble x);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribL1dvEXT(GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribL2dEXT(GLuint index, GLdouble x, GLdouble y);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribL2dvEXT(GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribL3dEXT(GLuint index, GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribL3dvEXT(GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribL4dEXT(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribL4dvEXT(GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribLPointerEXT(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);\n#endif\n\n/**\n ** GL_EXT_vertex_shader\n **/\n\n#if (defined(GL_EXT_VERTEX_SHADER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_VERTEX_SHADER)) && !defined(REGAL_NO_ENUM_GL_EXT_VERTEX_SHADER)\n#define REGAL_NO_ENUM_GL_EXT_VERTEX_SHADER\n#endif\n\n#if (defined(GL_EXT_VERTEX_SHADER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_VERTEX_SHADER)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_VERTEX_SHADER)\n#define REGAL_NO_TYPEDEF_GL_EXT_VERTEX_SHADER\n#endif\n\n#if (defined(GL_EXT_VERTEX_SHADER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_VERTEX_SHADER)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_VERTEX_SHADER)\n#define REGAL_NO_NAMESPACE_GL_EXT_VERTEX_SHADER\n#endif\n\n#if (defined(GL_EXT_VERTEX_SHADER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_VERTEX_SHADER)) && !defined(REGAL_NO_PLUGIN_GL_EXT_VERTEX_SHADER)\n#define REGAL_NO_PLUGIN_GL_EXT_VERTEX_SHADER\n#endif\n\n#if (defined(GL_EXT_VERTEX_SHADER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_VERTEX_SHADER)) && !defined(REGAL_NO_DECLARATION_GL_EXT_VERTEX_SHADER)\n#define REGAL_NO_DECLARATION_GL_EXT_VERTEX_SHADER\n#endif\n\n#ifndef GL_EXT_vertex_shader\n#define GL_EXT_vertex_shader 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_VERTEX_SHADER\n#define GL_VERTEX_SHADER_EXT                               0x8780     /* 34688 */\n#define GL_VERTEX_SHADER_BINDING_EXT                       0x8781     /* 34689 */\n#define GL_OP_INDEX_EXT                                    0x8782     /* 34690 */\n#define GL_OP_NEGATE_EXT                                   0x8783     /* 34691 */\n#define GL_OP_DOT3_EXT                                     0x8784     /* 34692 */\n#define GL_OP_DOT4_EXT                                     0x8785     /* 34693 */\n#define GL_OP_MUL_EXT                                      0x8786     /* 34694 */\n#define GL_OP_ADD_EXT                                      0x8787     /* 34695 */\n#define GL_OP_MADD_EXT                                     0x8788     /* 34696 */\n#define GL_OP_FRAC_EXT                                     0x8789     /* 34697 */\n#define GL_OP_MAX_EXT                                      0x878a     /* 34698 */\n#define GL_OP_MIN_EXT                                      0x878b     /* 34699 */\n#define GL_OP_SET_GE_EXT                                   0x878c     /* 34700 */\n#define GL_OP_SET_LT_EXT                                   0x878d     /* 34701 */\n#define GL_OP_CLAMP_EXT                                    0x878e     /* 34702 */\n#define GL_OP_FLOOR_EXT                                    0x878f     /* 34703 */\n#define GL_OP_ROUND_EXT                                    0x8790     /* 34704 */\n#define GL_OP_EXP_BASE_2_EXT                               0x8791     /* 34705 */\n#define GL_OP_LOG_BASE_2_EXT                               0x8792     /* 34706 */\n#define GL_OP_POWER_EXT                                    0x8793     /* 34707 */\n#define GL_OP_RECIP_EXT                                    0x8794     /* 34708 */\n#define GL_OP_RECIP_SQRT_EXT                               0x8795     /* 34709 */\n#define GL_OP_SUB_EXT                                      0x8796     /* 34710 */\n#define GL_OP_CROSS_PRODUCT_EXT                            0x8797     /* 34711 */\n#define GL_OP_MULTIPLY_MATRIX_EXT                          0x8798     /* 34712 */\n#define GL_OP_MOV_EXT                                      0x8799     /* 34713 */\n#define GL_OUTPUT_VERTEX_EXT                               0x879a     /* 34714 */\n#define GL_OUTPUT_COLOR0_EXT                               0x879b     /* 34715 */\n#define GL_OUTPUT_COLOR1_EXT                               0x879c     /* 34716 */\n#define GL_OUTPUT_TEXTURE_COORD0_EXT                       0x879d     /* 34717 */\n#define GL_OUTPUT_TEXTURE_COORD1_EXT                       0x879e     /* 34718 */\n#define GL_OUTPUT_TEXTURE_COORD2_EXT                       0x879f     /* 34719 */\n#define GL_OUTPUT_TEXTURE_COORD3_EXT                       0x87a0     /* 34720 */\n#define GL_OUTPUT_TEXTURE_COORD4_EXT                       0x87a1     /* 34721 */\n#define GL_OUTPUT_TEXTURE_COORD5_EXT                       0x87a2     /* 34722 */\n#define GL_OUTPUT_TEXTURE_COORD6_EXT                       0x87a3     /* 34723 */\n#define GL_OUTPUT_TEXTURE_COORD7_EXT                       0x87a4     /* 34724 */\n#define GL_OUTPUT_TEXTURE_COORD8_EXT                       0x87a5     /* 34725 */\n#define GL_OUTPUT_TEXTURE_COORD9_EXT                       0x87a6     /* 34726 */\n#define GL_OUTPUT_TEXTURE_COORD10_EXT                      0x87a7     /* 34727 */\n#define GL_OUTPUT_TEXTURE_COORD11_EXT                      0x87a8     /* 34728 */\n#define GL_OUTPUT_TEXTURE_COORD12_EXT                      0x87a9     /* 34729 */\n#define GL_OUTPUT_TEXTURE_COORD13_EXT                      0x87aa     /* 34730 */\n#define GL_OUTPUT_TEXTURE_COORD14_EXT                      0x87ab     /* 34731 */\n#define GL_OUTPUT_TEXTURE_COORD15_EXT                      0x87ac     /* 34732 */\n#define GL_OUTPUT_TEXTURE_COORD16_EXT                      0x87ad     /* 34733 */\n#define GL_OUTPUT_TEXTURE_COORD17_EXT                      0x87ae     /* 34734 */\n#define GL_OUTPUT_TEXTURE_COORD18_EXT                      0x87af     /* 34735 */\n#define GL_OUTPUT_TEXTURE_COORD19_EXT                      0x87b0     /* 34736 */\n#define GL_OUTPUT_TEXTURE_COORD20_EXT                      0x87b1     /* 34737 */\n#define GL_OUTPUT_TEXTURE_COORD21_EXT                      0x87b2     /* 34738 */\n#define GL_OUTPUT_TEXTURE_COORD22_EXT                      0x87b3     /* 34739 */\n#define GL_OUTPUT_TEXTURE_COORD23_EXT                      0x87b4     /* 34740 */\n#define GL_OUTPUT_TEXTURE_COORD24_EXT                      0x87b5     /* 34741 */\n#define GL_OUTPUT_TEXTURE_COORD25_EXT                      0x87b6     /* 34742 */\n#define GL_OUTPUT_TEXTURE_COORD26_EXT                      0x87b7     /* 34743 */\n#define GL_OUTPUT_TEXTURE_COORD27_EXT                      0x87b8     /* 34744 */\n#define GL_OUTPUT_TEXTURE_COORD28_EXT                      0x87b9     /* 34745 */\n#define GL_OUTPUT_TEXTURE_COORD29_EXT                      0x87ba     /* 34746 */\n#define GL_OUTPUT_TEXTURE_COORD30_EXT                      0x87bb     /* 34747 */\n#define GL_OUTPUT_TEXTURE_COORD31_EXT                      0x87bc     /* 34748 */\n#define GL_OUTPUT_FOG_EXT                                  0x87bd     /* 34749 */\n#define GL_SCALAR_EXT                                      0x87be     /* 34750 */\n#define GL_VECTOR_EXT                                      0x87bf     /* 34751 */\n#define GL_MATRIX_EXT                                      0x87c0     /* 34752 */\n#define GL_VARIANT_EXT                                     0x87c1     /* 34753 */\n#define GL_INVARIANT_EXT                                   0x87c2     /* 34754 */\n#define GL_LOCAL_CONSTANT_EXT                              0x87c3     /* 34755 */\n#define GL_LOCAL_EXT                                       0x87c4     /* 34756 */\n#define GL_MAX_VERTEX_SHADER_INSTRUCTIONS_EXT              0x87c5     /* 34757 */\n#define GL_MAX_VERTEX_SHADER_VARIANTS_EXT                  0x87c6     /* 34758 */\n#define GL_MAX_VERTEX_SHADER_INVARIANTS_EXT                0x87c7     /* 34759 */\n#define GL_MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT           0x87c8     /* 34760 */\n#define GL_MAX_VERTEX_SHADER_LOCALS_EXT                    0x87c9     /* 34761 */\n#define GL_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT    0x87ca     /* 34762 */\n#define GL_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT        0x87cb     /* 34763 */\n#define GL_MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT      0x87cc     /* 34764 */\n#define GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT 0x87cd     /* 34765 */\n#define GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT          0x87ce     /* 34766 */\n#define GL_VERTEX_SHADER_INSTRUCTIONS_EXT                  0x87cf     /* 34767 */\n#define GL_VERTEX_SHADER_VARIANTS_EXT                      0x87d0     /* 34768 */\n#define GL_VERTEX_SHADER_INVARIANTS_EXT                    0x87d1     /* 34769 */\n#define GL_VERTEX_SHADER_LOCAL_CONSTANTS_EXT               0x87d2     /* 34770 */\n#define GL_VERTEX_SHADER_LOCALS_EXT                        0x87d3     /* 34771 */\n#define GL_VERTEX_SHADER_OPTIMIZED_EXT                     0x87d4     /* 34772 */\n#define GL_X_EXT                                           0x87d5     /* 34773 */\n#define GL_Y_EXT                                           0x87d6     /* 34774 */\n#define GL_Z_EXT                                           0x87d7     /* 34775 */\n#define GL_W_EXT                                           0x87d8     /* 34776 */\n#define GL_NEGATIVE_X_EXT                                  0x87d9     /* 34777 */\n#define GL_NEGATIVE_Y_EXT                                  0x87da     /* 34778 */\n#define GL_NEGATIVE_Z_EXT                                  0x87db     /* 34779 */\n#define GL_NEGATIVE_W_EXT                                  0x87dc     /* 34780 */\n#define GL_ZERO_EXT                                        0x87dd     /* 34781 */\n#define GL_ONE_EXT                                         0x87de     /* 34782 */\n#define GL_NEGATIVE_ONE_EXT                                0x87df     /* 34783 */\n#define GL_NORMALIZED_RANGE_EXT                            0x87e0     /* 34784 */\n#define GL_FULL_RANGE_EXT                                  0x87e1     /* 34785 */\n#define GL_CURRENT_VERTEX_EXT                              0x87e2     /* 34786 */\n#define GL_MVP_MATRIX_EXT                                  0x87e3     /* 34787 */\n#define GL_VARIANT_VALUE_EXT                               0x87e4     /* 34788 */\n#define GL_VARIANT_DATATYPE_EXT                            0x87e5     /* 34789 */\n#define GL_VARIANT_ARRAY_STRIDE_EXT                        0x87e6     /* 34790 */\n#define GL_VARIANT_ARRAY_TYPE_EXT                          0x87e7     /* 34791 */\n#define GL_VARIANT_ARRAY_EXT                               0x87e8     /* 34792 */\n#define GL_VARIANT_ARRAY_POINTER_EXT                       0x87e9     /* 34793 */\n#define GL_INVARIANT_VALUE_EXT                             0x87ea     /* 34794 */\n#define GL_INVARIANT_DATATYPE_EXT                          0x87eb     /* 34795 */\n#define GL_LOCAL_CONSTANT_VALUE_EXT                        0x87ec     /* 34796 */\n#define GL_LOCAL_CONSTANT_DATATYPE_EXT                     0x87ed     /* 34797 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_VERTEX_SHADER\ntypedef GLboolean (REGAL_CALL *PFNGLISVARIANTENABLEDEXTPROC)(GLuint id, GLenum cap);\ntypedef GLuint (REGAL_CALL *PFNGLBINDLIGHTPARAMETEREXTPROC)(GLenum light, GLenum value);\ntypedef GLuint (REGAL_CALL *PFNGLBINDMATERIALPARAMETEREXTPROC)(GLenum face, GLenum value);\ntypedef GLuint (REGAL_CALL *PFNGLBINDPARAMETEREXTPROC)(GLenum value);\ntypedef GLuint (REGAL_CALL *PFNGLBINDTEXGENPARAMETEREXTPROC)(GLenum unit, GLenum coord, GLenum value);\ntypedef GLuint (REGAL_CALL *PFNGLBINDTEXTUREUNITPARAMETEREXTPROC)(GLenum unit, GLenum value);\ntypedef GLuint (REGAL_CALL *PFNGLGENSYMBOLSEXTPROC)(GLenum datatype, GLenum storagetype, GLenum range, GLuint components);\ntypedef GLuint (REGAL_CALL *PFNGLGENVERTEXSHADERSEXTPROC)(GLuint range);\ntypedef void (REGAL_CALL *PFNGLBEGINVERTEXSHADEREXTPROC)(void);\ntypedef void (REGAL_CALL *PFNGLBINDVERTEXSHADEREXTPROC)(GLuint id);\ntypedef void (REGAL_CALL *PFNGLDELETEVERTEXSHADEREXTPROC)(GLuint id);\ntypedef void (REGAL_CALL *PFNGLDISABLEVARIANTCLIENTSTATEEXTPROC)(GLuint id);\ntypedef void (REGAL_CALL *PFNGLENABLEVARIANTCLIENTSTATEEXTPROC)(GLuint id);\ntypedef void (REGAL_CALL *PFNGLENDVERTEXSHADEREXTPROC)(void);\ntypedef void (REGAL_CALL *PFNGLEXTRACTCOMPONENTEXTPROC)(GLuint res, GLuint src, GLuint num);\ntypedef void (REGAL_CALL *PFNGLGETINVARIANTBOOLEANVEXTPROC)(GLuint id, GLenum value, GLboolean *data);\ntypedef void (REGAL_CALL *PFNGLGETINVARIANTFLOATVEXTPROC)(GLuint id, GLenum value, GLfloat *data);\ntypedef void (REGAL_CALL *PFNGLGETINVARIANTINTEGERVEXTPROC)(GLuint id, GLenum value, GLint *data);\ntypedef void (REGAL_CALL *PFNGLGETLOCALCONSTANTBOOLEANVEXTPROC)(GLuint id, GLenum value, GLboolean *data);\ntypedef void (REGAL_CALL *PFNGLGETLOCALCONSTANTFLOATVEXTPROC)(GLuint id, GLenum value, GLfloat *data);\ntypedef void (REGAL_CALL *PFNGLGETLOCALCONSTANTINTEGERVEXTPROC)(GLuint id, GLenum value, GLint *data);\ntypedef void (REGAL_CALL *PFNGLGETVARIANTBOOLEANVEXTPROC)(GLuint id, GLenum value, GLboolean *data);\ntypedef void (REGAL_CALL *PFNGLGETVARIANTFLOATVEXTPROC)(GLuint id, GLenum value, GLfloat *data);\ntypedef void (REGAL_CALL *PFNGLGETVARIANTINTEGERVEXTPROC)(GLuint id, GLenum value, GLint *data);\ntypedef void (REGAL_CALL *PFNGLGETVARIANTPOINTERVEXTPROC)(GLuint id, GLenum value, GLvoid **data);\ntypedef void (REGAL_CALL *PFNGLINSERTCOMPONENTEXTPROC)(GLuint res, GLuint src, GLuint num);\ntypedef void (REGAL_CALL *PFNGLSETINVARIANTEXTPROC)(GLuint id, GLenum type, const GLvoid *addr);\ntypedef void (REGAL_CALL *PFNGLSETLOCALCONSTANTEXTPROC)(GLuint id, GLenum type, const GLvoid *addr);\ntypedef void (REGAL_CALL *PFNGLSHADEROP1EXTPROC)(GLenum op, GLuint res, GLuint arg1);\ntypedef void (REGAL_CALL *PFNGLSHADEROP2EXTPROC)(GLenum op, GLuint res, GLuint arg1, GLuint arg2);\ntypedef void (REGAL_CALL *PFNGLSHADEROP3EXTPROC)(GLenum op, GLuint res, GLuint arg1, GLuint arg2, GLuint arg3);\ntypedef void (REGAL_CALL *PFNGLSWIZZLEEXTPROC)(GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW);\ntypedef void (REGAL_CALL *PFNGLVARIANTBVEXTPROC)(GLuint id, const GLbyte *addr);\ntypedef void (REGAL_CALL *PFNGLVARIANTDVEXTPROC)(GLuint id, const GLdouble *addr);\ntypedef void (REGAL_CALL *PFNGLVARIANTFVEXTPROC)(GLuint id, const GLfloat *addr);\ntypedef void (REGAL_CALL *PFNGLVARIANTIVEXTPROC)(GLuint id, const GLint *addr);\ntypedef void (REGAL_CALL *PFNGLVARIANTPOINTEREXTPROC)(GLuint id, GLenum type, GLuint stride, const GLvoid *addr);\ntypedef void (REGAL_CALL *PFNGLVARIANTSVEXTPROC)(GLuint id, const GLshort *addr);\ntypedef void (REGAL_CALL *PFNGLVARIANTUBVEXTPROC)(GLuint id, const GLubyte *addr);\ntypedef void (REGAL_CALL *PFNGLVARIANTUIVEXTPROC)(GLuint id, const GLuint *addr);\ntypedef void (REGAL_CALL *PFNGLVARIANTUSVEXTPROC)(GLuint id, const GLushort *addr);\ntypedef void (REGAL_CALL *PFNGLWRITEMASKEXTPROC)(GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_VERTEX_SHADER\n#define glBeginVertexShaderEXT              rglBeginVertexShaderEXT\n#define glBindLightParameterEXT             rglBindLightParameterEXT\n#define glBindMaterialParameterEXT          rglBindMaterialParameterEXT\n#define glBindParameterEXT                  rglBindParameterEXT\n#define glBindTexGenParameterEXT            rglBindTexGenParameterEXT\n#define glBindTextureUnitParameterEXT       rglBindTextureUnitParameterEXT\n#define glBindVertexShaderEXT               rglBindVertexShaderEXT\n#define glDeleteVertexShaderEXT             rglDeleteVertexShaderEXT\n#define glDisableVariantClientStateEXT      rglDisableVariantClientStateEXT\n#define glEnableVariantClientStateEXT       rglEnableVariantClientStateEXT\n#define glEndVertexShaderEXT                rglEndVertexShaderEXT\n#define glExtractComponentEXT               rglExtractComponentEXT\n#define glGenSymbolsEXT                     rglGenSymbolsEXT\n#define glGenVertexShadersEXT               rglGenVertexShadersEXT\n#define glGetInvariantBooleanvEXT           rglGetInvariantBooleanvEXT\n#define glGetInvariantFloatvEXT             rglGetInvariantFloatvEXT\n#define glGetInvariantIntegervEXT           rglGetInvariantIntegervEXT\n#define glGetLocalConstantBooleanvEXT       rglGetLocalConstantBooleanvEXT\n#define glGetLocalConstantFloatvEXT         rglGetLocalConstantFloatvEXT\n#define glGetLocalConstantIntegervEXT       rglGetLocalConstantIntegervEXT\n#define glGetVariantBooleanvEXT             rglGetVariantBooleanvEXT\n#define glGetVariantFloatvEXT               rglGetVariantFloatvEXT\n#define glGetVariantIntegervEXT             rglGetVariantIntegervEXT\n#define glGetVariantPointervEXT             rglGetVariantPointervEXT\n#define glInsertComponentEXT                rglInsertComponentEXT\n#define glIsVariantEnabledEXT               rglIsVariantEnabledEXT\n#define glSetInvariantEXT                   rglSetInvariantEXT\n#define glSetLocalConstantEXT               rglSetLocalConstantEXT\n#define glShaderOp1EXT                      rglShaderOp1EXT\n#define glShaderOp2EXT                      rglShaderOp2EXT\n#define glShaderOp3EXT                      rglShaderOp3EXT\n#define glSwizzleEXT                        rglSwizzleEXT\n#define glVariantPointerEXT                 rglVariantPointerEXT\n#define glVariantbvEXT                      rglVariantbvEXT\n#define glVariantdvEXT                      rglVariantdvEXT\n#define glVariantfvEXT                      rglVariantfvEXT\n#define glVariantivEXT                      rglVariantivEXT\n#define glVariantsvEXT                      rglVariantsvEXT\n#define glVariantubvEXT                     rglVariantubvEXT\n#define glVariantuivEXT                     rglVariantuivEXT\n#define glVariantusvEXT                     rglVariantusvEXT\n#define glWriteMaskEXT                      rglWriteMaskEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_VERTEX_SHADER\nREGAL_DECL GLboolean REGAL_CALL glIsVariantEnabledEXT(GLuint id, GLenum cap);\nREGAL_DECL GLuint REGAL_CALL glBindLightParameterEXT(GLenum light, GLenum value);\nREGAL_DECL GLuint REGAL_CALL glBindMaterialParameterEXT(GLenum face, GLenum value);\nREGAL_DECL GLuint REGAL_CALL glBindParameterEXT(GLenum value);\nREGAL_DECL GLuint REGAL_CALL glBindTexGenParameterEXT(GLenum unit, GLenum coord, GLenum value);\nREGAL_DECL GLuint REGAL_CALL glBindTextureUnitParameterEXT(GLenum unit, GLenum value);\nREGAL_DECL GLuint REGAL_CALL glGenSymbolsEXT(GLenum datatype, GLenum storagetype, GLenum range, GLuint components);\nREGAL_DECL GLuint REGAL_CALL glGenVertexShadersEXT(GLuint range);\nREGAL_DECL void REGAL_CALL glBeginVertexShaderEXT(void);\nREGAL_DECL void REGAL_CALL glBindVertexShaderEXT(GLuint id);\nREGAL_DECL void REGAL_CALL glDeleteVertexShaderEXT(GLuint id);\nREGAL_DECL void REGAL_CALL glDisableVariantClientStateEXT(GLuint id);\nREGAL_DECL void REGAL_CALL glEnableVariantClientStateEXT(GLuint id);\nREGAL_DECL void REGAL_CALL glEndVertexShaderEXT(void);\nREGAL_DECL void REGAL_CALL glExtractComponentEXT(GLuint res, GLuint src, GLuint num);\nREGAL_DECL void REGAL_CALL glGetInvariantBooleanvEXT(GLuint id, GLenum value, GLboolean *data);\nREGAL_DECL void REGAL_CALL glGetInvariantFloatvEXT(GLuint id, GLenum value, GLfloat *data);\nREGAL_DECL void REGAL_CALL glGetInvariantIntegervEXT(GLuint id, GLenum value, GLint *data);\nREGAL_DECL void REGAL_CALL glGetLocalConstantBooleanvEXT(GLuint id, GLenum value, GLboolean *data);\nREGAL_DECL void REGAL_CALL glGetLocalConstantFloatvEXT(GLuint id, GLenum value, GLfloat *data);\nREGAL_DECL void REGAL_CALL glGetLocalConstantIntegervEXT(GLuint id, GLenum value, GLint *data);\nREGAL_DECL void REGAL_CALL glGetVariantBooleanvEXT(GLuint id, GLenum value, GLboolean *data);\nREGAL_DECL void REGAL_CALL glGetVariantFloatvEXT(GLuint id, GLenum value, GLfloat *data);\nREGAL_DECL void REGAL_CALL glGetVariantIntegervEXT(GLuint id, GLenum value, GLint *data);\nREGAL_DECL void REGAL_CALL glGetVariantPointervEXT(GLuint id, GLenum value, GLvoid **data);\nREGAL_DECL void REGAL_CALL glInsertComponentEXT(GLuint res, GLuint src, GLuint num);\nREGAL_DECL void REGAL_CALL glSetInvariantEXT(GLuint id, GLenum type, const GLvoid *addr);\nREGAL_DECL void REGAL_CALL glSetLocalConstantEXT(GLuint id, GLenum type, const GLvoid *addr);\nREGAL_DECL void REGAL_CALL glShaderOp1EXT(GLenum op, GLuint res, GLuint arg1);\nREGAL_DECL void REGAL_CALL glShaderOp2EXT(GLenum op, GLuint res, GLuint arg1, GLuint arg2);\nREGAL_DECL void REGAL_CALL glShaderOp3EXT(GLenum op, GLuint res, GLuint arg1, GLuint arg2, GLuint arg3);\nREGAL_DECL void REGAL_CALL glSwizzleEXT(GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW);\nREGAL_DECL void REGAL_CALL glVariantPointerEXT(GLuint id, GLenum type, GLuint stride, const GLvoid *addr);\nREGAL_DECL void REGAL_CALL glVariantbvEXT(GLuint id, const GLbyte *addr);\nREGAL_DECL void REGAL_CALL glVariantdvEXT(GLuint id, const GLdouble *addr);\nREGAL_DECL void REGAL_CALL glVariantfvEXT(GLuint id, const GLfloat *addr);\nREGAL_DECL void REGAL_CALL glVariantivEXT(GLuint id, const GLint *addr);\nREGAL_DECL void REGAL_CALL glVariantsvEXT(GLuint id, const GLshort *addr);\nREGAL_DECL void REGAL_CALL glVariantubvEXT(GLuint id, const GLubyte *addr);\nREGAL_DECL void REGAL_CALL glVariantuivEXT(GLuint id, const GLuint *addr);\nREGAL_DECL void REGAL_CALL glVariantusvEXT(GLuint id, const GLushort *addr);\nREGAL_DECL void REGAL_CALL glWriteMaskEXT(GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_VERTEX_SHADER\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsVariantEnabledEXT(GLuint id, GLenum cap);\nREGAL_DECL GLuint REGAL_CALL plugin_glBindLightParameterEXT(GLenum light, GLenum value);\nREGAL_DECL GLuint REGAL_CALL plugin_glBindMaterialParameterEXT(GLenum face, GLenum value);\nREGAL_DECL GLuint REGAL_CALL plugin_glBindParameterEXT(GLenum value);\nREGAL_DECL GLuint REGAL_CALL plugin_glBindTexGenParameterEXT(GLenum unit, GLenum coord, GLenum value);\nREGAL_DECL GLuint REGAL_CALL plugin_glBindTextureUnitParameterEXT(GLenum unit, GLenum value);\nREGAL_DECL GLuint REGAL_CALL plugin_glGenSymbolsEXT(GLenum datatype, GLenum storagetype, GLenum range, GLuint components);\nREGAL_DECL GLuint REGAL_CALL plugin_glGenVertexShadersEXT(GLuint range);\nREGAL_DECL void REGAL_CALL plugin_glBeginVertexShaderEXT(void);\nREGAL_DECL void REGAL_CALL plugin_glBindVertexShaderEXT(GLuint id);\nREGAL_DECL void REGAL_CALL plugin_glDeleteVertexShaderEXT(GLuint id);\nREGAL_DECL void REGAL_CALL plugin_glDisableVariantClientStateEXT(GLuint id);\nREGAL_DECL void REGAL_CALL plugin_glEnableVariantClientStateEXT(GLuint id);\nREGAL_DECL void REGAL_CALL plugin_glEndVertexShaderEXT(void);\nREGAL_DECL void REGAL_CALL plugin_glExtractComponentEXT(GLuint res, GLuint src, GLuint num);\nREGAL_DECL void REGAL_CALL plugin_glGetInvariantBooleanvEXT(GLuint id, GLenum value, GLboolean *data);\nREGAL_DECL void REGAL_CALL plugin_glGetInvariantFloatvEXT(GLuint id, GLenum value, GLfloat *data);\nREGAL_DECL void REGAL_CALL plugin_glGetInvariantIntegervEXT(GLuint id, GLenum value, GLint *data);\nREGAL_DECL void REGAL_CALL plugin_glGetLocalConstantBooleanvEXT(GLuint id, GLenum value, GLboolean *data);\nREGAL_DECL void REGAL_CALL plugin_glGetLocalConstantFloatvEXT(GLuint id, GLenum value, GLfloat *data);\nREGAL_DECL void REGAL_CALL plugin_glGetLocalConstantIntegervEXT(GLuint id, GLenum value, GLint *data);\nREGAL_DECL void REGAL_CALL plugin_glGetVariantBooleanvEXT(GLuint id, GLenum value, GLboolean *data);\nREGAL_DECL void REGAL_CALL plugin_glGetVariantFloatvEXT(GLuint id, GLenum value, GLfloat *data);\nREGAL_DECL void REGAL_CALL plugin_glGetVariantIntegervEXT(GLuint id, GLenum value, GLint *data);\nREGAL_DECL void REGAL_CALL plugin_glGetVariantPointervEXT(GLuint id, GLenum value, GLvoid **data);\nREGAL_DECL void REGAL_CALL plugin_glInsertComponentEXT(GLuint res, GLuint src, GLuint num);\nREGAL_DECL void REGAL_CALL plugin_glSetInvariantEXT(GLuint id, GLenum type, const GLvoid *addr);\nREGAL_DECL void REGAL_CALL plugin_glSetLocalConstantEXT(GLuint id, GLenum type, const GLvoid *addr);\nREGAL_DECL void REGAL_CALL plugin_glShaderOp1EXT(GLenum op, GLuint res, GLuint arg1);\nREGAL_DECL void REGAL_CALL plugin_glShaderOp2EXT(GLenum op, GLuint res, GLuint arg1, GLuint arg2);\nREGAL_DECL void REGAL_CALL plugin_glShaderOp3EXT(GLenum op, GLuint res, GLuint arg1, GLuint arg2, GLuint arg3);\nREGAL_DECL void REGAL_CALL plugin_glSwizzleEXT(GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW);\nREGAL_DECL void REGAL_CALL plugin_glVariantPointerEXT(GLuint id, GLenum type, GLuint stride, const GLvoid *addr);\nREGAL_DECL void REGAL_CALL plugin_glVariantbvEXT(GLuint id, const GLbyte *addr);\nREGAL_DECL void REGAL_CALL plugin_glVariantdvEXT(GLuint id, const GLdouble *addr);\nREGAL_DECL void REGAL_CALL plugin_glVariantfvEXT(GLuint id, const GLfloat *addr);\nREGAL_DECL void REGAL_CALL plugin_glVariantivEXT(GLuint id, const GLint *addr);\nREGAL_DECL void REGAL_CALL plugin_glVariantsvEXT(GLuint id, const GLshort *addr);\nREGAL_DECL void REGAL_CALL plugin_glVariantubvEXT(GLuint id, const GLubyte *addr);\nREGAL_DECL void REGAL_CALL plugin_glVariantuivEXT(GLuint id, const GLuint *addr);\nREGAL_DECL void REGAL_CALL plugin_glVariantusvEXT(GLuint id, const GLushort *addr);\nREGAL_DECL void REGAL_CALL plugin_glWriteMaskEXT(GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW);\n#endif\n\n/**\n ** GL_EXT_vertex_weighting\n **/\n\n#if (defined(GL_EXT_VERTEX_WEIGHTING) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_VERTEX_WEIGHTING)) && !defined(REGAL_NO_ENUM_GL_EXT_VERTEX_WEIGHTING)\n#define REGAL_NO_ENUM_GL_EXT_VERTEX_WEIGHTING\n#endif\n\n#if (defined(GL_EXT_VERTEX_WEIGHTING) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_VERTEX_WEIGHTING)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_VERTEX_WEIGHTING)\n#define REGAL_NO_TYPEDEF_GL_EXT_VERTEX_WEIGHTING\n#endif\n\n#if (defined(GL_EXT_VERTEX_WEIGHTING) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_VERTEX_WEIGHTING)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_VERTEX_WEIGHTING)\n#define REGAL_NO_NAMESPACE_GL_EXT_VERTEX_WEIGHTING\n#endif\n\n#if (defined(GL_EXT_VERTEX_WEIGHTING) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_VERTEX_WEIGHTING)) && !defined(REGAL_NO_PLUGIN_GL_EXT_VERTEX_WEIGHTING)\n#define REGAL_NO_PLUGIN_GL_EXT_VERTEX_WEIGHTING\n#endif\n\n#if (defined(GL_EXT_VERTEX_WEIGHTING) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_VERTEX_WEIGHTING)) && !defined(REGAL_NO_DECLARATION_GL_EXT_VERTEX_WEIGHTING)\n#define REGAL_NO_DECLARATION_GL_EXT_VERTEX_WEIGHTING\n#endif\n\n#ifndef GL_EXT_vertex_weighting\n#define GL_EXT_vertex_weighting 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_VERTEX_WEIGHTING\n#define GL_MODELVIEW0_EXT                  0x1700     /* 5888 */\n#define GL_MODELVIEW1_STACK_DEPTH_EXT      0x8502     /* 34050 */\n#define GL_MODELVIEW1_MATRIX_EXT           0x8506     /* 34054 */\n#define GL_VERTEX_WEIGHTING_EXT            0x8509     /* 34057 */\n#define GL_MODELVIEW1_EXT                  0x850a     /* 34058 */\n#define GL_CURRENT_VERTEX_WEIGHT_EXT       0x850b     /* 34059 */\n#define GL_VERTEX_WEIGHT_ARRAY_EXT         0x850c     /* 34060 */\n#define GL_VERTEX_WEIGHT_ARRAY_SIZE_EXT    0x850d     /* 34061 */\n#define GL_VERTEX_WEIGHT_ARRAY_TYPE_EXT    0x850e     /* 34062 */\n#define GL_VERTEX_WEIGHT_ARRAY_STRIDE_EXT  0x850f     /* 34063 */\n#define GL_VERTEX_WEIGHT_ARRAY_POINTER_EXT 0x8510     /* 34064 */\n#define GL_MODELVIEW0_STACK_DEPTH_EXT      0xba3      /* 2979 */\n#define GL_MODELVIEW0_MATRIX_EXT           0xba6      /* 2982 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_VERTEX_WEIGHTING\ntypedef void (REGAL_CALL *PFNGLVERTEXWEIGHTFEXTPROC)(GLfloat weight);\ntypedef void (REGAL_CALL *PFNGLVERTEXWEIGHTFVEXTPROC)(const GLfloat *weight);\ntypedef void (REGAL_CALL *PFNGLVERTEXWEIGHTPOINTEREXTPROC)(GLsizei size, GLenum type, GLsizei stride, const GLvoid *pointer);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_VERTEX_WEIGHTING\n#define glVertexWeightPointerEXT            rglVertexWeightPointerEXT\n#define glVertexWeightfEXT                  rglVertexWeightfEXT\n#define glVertexWeightfvEXT                 rglVertexWeightfvEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_VERTEX_WEIGHTING\nREGAL_DECL void REGAL_CALL glVertexWeightPointerEXT(GLsizei size, GLenum type, GLsizei stride, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL glVertexWeightfEXT(GLfloat weight);\nREGAL_DECL void REGAL_CALL glVertexWeightfvEXT(const GLfloat *weight);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_VERTEX_WEIGHTING\nREGAL_DECL void REGAL_CALL plugin_glVertexWeightPointerEXT(GLsizei size, GLenum type, GLsizei stride, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL plugin_glVertexWeightfEXT(GLfloat weight);\nREGAL_DECL void REGAL_CALL plugin_glVertexWeightfvEXT(const GLfloat *weight);\n#endif\n\n/**\n ** GL_EXT_x11_sync_object\n **/\n\n#if (defined(GL_EXT_X11_SYNC_OBJECT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_EXT_X11_SYNC_OBJECT)) && !defined(REGAL_NO_ENUM_GL_EXT_X11_SYNC_OBJECT)\n#define REGAL_NO_ENUM_GL_EXT_X11_SYNC_OBJECT\n#endif\n\n#if (defined(GL_EXT_X11_SYNC_OBJECT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_EXT_X11_SYNC_OBJECT)) && !defined(REGAL_NO_TYPEDEF_GL_EXT_X11_SYNC_OBJECT)\n#define REGAL_NO_TYPEDEF_GL_EXT_X11_SYNC_OBJECT\n#endif\n\n#if (defined(GL_EXT_X11_SYNC_OBJECT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_EXT_X11_SYNC_OBJECT)) && !defined(REGAL_NO_NAMESPACE_GL_EXT_X11_SYNC_OBJECT)\n#define REGAL_NO_NAMESPACE_GL_EXT_X11_SYNC_OBJECT\n#endif\n\n#if (defined(GL_EXT_X11_SYNC_OBJECT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_EXT_X11_SYNC_OBJECT)) && !defined(REGAL_NO_PLUGIN_GL_EXT_X11_SYNC_OBJECT)\n#define REGAL_NO_PLUGIN_GL_EXT_X11_SYNC_OBJECT\n#endif\n\n#if (defined(GL_EXT_X11_SYNC_OBJECT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_EXT_X11_SYNC_OBJECT)) && !defined(REGAL_NO_DECLARATION_GL_EXT_X11_SYNC_OBJECT)\n#define REGAL_NO_DECLARATION_GL_EXT_X11_SYNC_OBJECT\n#endif\n\n#ifndef GL_EXT_x11_sync_object\n#define GL_EXT_x11_sync_object 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_EXT_X11_SYNC_OBJECT\n#define GL_SYNC_X11_FENCE_EXT 0x90e1 /* 37089 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_EXT_X11_SYNC_OBJECT\ntypedef GLsync (REGAL_CALL *PFNGLIMPORTSYNCEXTPROC)(GLenum external_sync_type, GLintptr external_sync, GLbitfield flags);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_EXT_X11_SYNC_OBJECT\n#define glImportSyncEXT                     rglImportSyncEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_EXT_X11_SYNC_OBJECT\nREGAL_DECL GLsync REGAL_CALL glImportSyncEXT(GLenum external_sync_type, GLintptr external_sync, GLbitfield flags);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_EXT_X11_SYNC_OBJECT\nREGAL_DECL GLsync REGAL_CALL plugin_glImportSyncEXT(GLenum external_sync_type, GLintptr external_sync, GLbitfield flags);\n#endif\n\n/**\n ** GL_FJ_shader_binary_GCCSO\n **/\n\n#if (defined(GL_FJ_SHADER_BINARY_GCCSO) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_FJ_SHADER_BINARY_GCCSO)) && !defined(REGAL_NO_ENUM_GL_FJ_SHADER_BINARY_GCCSO)\n#define REGAL_NO_ENUM_GL_FJ_SHADER_BINARY_GCCSO\n#endif\n\n#if (defined(GL_FJ_SHADER_BINARY_GCCSO) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_FJ_SHADER_BINARY_GCCSO)) && !defined(REGAL_NO_TYPEDEF_GL_FJ_SHADER_BINARY_GCCSO)\n#define REGAL_NO_TYPEDEF_GL_FJ_SHADER_BINARY_GCCSO\n#endif\n\n#if (defined(GL_FJ_SHADER_BINARY_GCCSO) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_FJ_SHADER_BINARY_GCCSO)) && !defined(REGAL_NO_NAMESPACE_GL_FJ_SHADER_BINARY_GCCSO)\n#define REGAL_NO_NAMESPACE_GL_FJ_SHADER_BINARY_GCCSO\n#endif\n\n#if (defined(GL_FJ_SHADER_BINARY_GCCSO) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_FJ_SHADER_BINARY_GCCSO)) && !defined(REGAL_NO_PLUGIN_GL_FJ_SHADER_BINARY_GCCSO)\n#define REGAL_NO_PLUGIN_GL_FJ_SHADER_BINARY_GCCSO\n#endif\n\n#if (defined(GL_FJ_SHADER_BINARY_GCCSO) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_FJ_SHADER_BINARY_GCCSO)) && !defined(REGAL_NO_DECLARATION_GL_FJ_SHADER_BINARY_GCCSO)\n#define REGAL_NO_DECLARATION_GL_FJ_SHADER_BINARY_GCCSO\n#endif\n\n#ifndef GL_FJ_shader_binary_GCCSO\n#define GL_FJ_shader_binary_GCCSO 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_FJ_SHADER_BINARY_GCCSO\n#define GL_GCCSO_SHADER_BINARY_FJ 0x9260 /* 37472 */\n#endif\n\n/**\n ** GL_GREMEDY_frame_terminator\n **/\n\n#if (defined(GL_GREMEDY_FRAME_TERMINATOR) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_GREMEDY_FRAME_TERMINATOR)) && !defined(REGAL_NO_ENUM_GL_GREMEDY_FRAME_TERMINATOR)\n#define REGAL_NO_ENUM_GL_GREMEDY_FRAME_TERMINATOR\n#endif\n\n#if (defined(GL_GREMEDY_FRAME_TERMINATOR) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_GREMEDY_FRAME_TERMINATOR)) && !defined(REGAL_NO_TYPEDEF_GL_GREMEDY_FRAME_TERMINATOR)\n#define REGAL_NO_TYPEDEF_GL_GREMEDY_FRAME_TERMINATOR\n#endif\n\n#if (defined(GL_GREMEDY_FRAME_TERMINATOR) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_GREMEDY_FRAME_TERMINATOR)) && !defined(REGAL_NO_NAMESPACE_GL_GREMEDY_FRAME_TERMINATOR)\n#define REGAL_NO_NAMESPACE_GL_GREMEDY_FRAME_TERMINATOR\n#endif\n\n#if (defined(GL_GREMEDY_FRAME_TERMINATOR) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_GREMEDY_FRAME_TERMINATOR)) && !defined(REGAL_NO_PLUGIN_GL_GREMEDY_FRAME_TERMINATOR)\n#define REGAL_NO_PLUGIN_GL_GREMEDY_FRAME_TERMINATOR\n#endif\n\n#if (defined(GL_GREMEDY_FRAME_TERMINATOR) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_GREMEDY_FRAME_TERMINATOR)) && !defined(REGAL_NO_DECLARATION_GL_GREMEDY_FRAME_TERMINATOR)\n#define REGAL_NO_DECLARATION_GL_GREMEDY_FRAME_TERMINATOR\n#endif\n\n#ifndef GL_GREMEDY_frame_terminator\n#define GL_GREMEDY_frame_terminator 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_GREMEDY_FRAME_TERMINATOR\ntypedef void (REGAL_CALL *PFNGLFRAMETERMINATORGREMEDYPROC)(void);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_GREMEDY_FRAME_TERMINATOR\n#define glFrameTerminatorGREMEDY            rglFrameTerminatorGREMEDY\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_GREMEDY_FRAME_TERMINATOR\nREGAL_DECL void REGAL_CALL glFrameTerminatorGREMEDY(void);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_GREMEDY_FRAME_TERMINATOR\nREGAL_DECL void REGAL_CALL plugin_glFrameTerminatorGREMEDY(void);\n#endif\n\n/**\n ** GL_GREMEDY_string_marker\n **/\n\n#if (defined(GL_GREMEDY_STRING_MARKER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_GREMEDY_STRING_MARKER)) && !defined(REGAL_NO_ENUM_GL_GREMEDY_STRING_MARKER)\n#define REGAL_NO_ENUM_GL_GREMEDY_STRING_MARKER\n#endif\n\n#if (defined(GL_GREMEDY_STRING_MARKER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_GREMEDY_STRING_MARKER)) && !defined(REGAL_NO_TYPEDEF_GL_GREMEDY_STRING_MARKER)\n#define REGAL_NO_TYPEDEF_GL_GREMEDY_STRING_MARKER\n#endif\n\n#if (defined(GL_GREMEDY_STRING_MARKER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_GREMEDY_STRING_MARKER)) && !defined(REGAL_NO_NAMESPACE_GL_GREMEDY_STRING_MARKER)\n#define REGAL_NO_NAMESPACE_GL_GREMEDY_STRING_MARKER\n#endif\n\n#if (defined(GL_GREMEDY_STRING_MARKER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_GREMEDY_STRING_MARKER)) && !defined(REGAL_NO_PLUGIN_GL_GREMEDY_STRING_MARKER)\n#define REGAL_NO_PLUGIN_GL_GREMEDY_STRING_MARKER\n#endif\n\n#if (defined(GL_GREMEDY_STRING_MARKER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_GREMEDY_STRING_MARKER)) && !defined(REGAL_NO_DECLARATION_GL_GREMEDY_STRING_MARKER)\n#define REGAL_NO_DECLARATION_GL_GREMEDY_STRING_MARKER\n#endif\n\n#ifndef GL_GREMEDY_string_marker\n#define GL_GREMEDY_string_marker 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_GREMEDY_STRING_MARKER\ntypedef void (REGAL_CALL *PFNGLSTRINGMARKERGREMEDYPROC)(GLsizei len, const GLvoid *string);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_GREMEDY_STRING_MARKER\n#define glStringMarkerGREMEDY               rglStringMarkerGREMEDY\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_GREMEDY_STRING_MARKER\nREGAL_DECL void REGAL_CALL glStringMarkerGREMEDY(GLsizei len, const GLvoid *string);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_GREMEDY_STRING_MARKER\nREGAL_DECL void REGAL_CALL plugin_glStringMarkerGREMEDY(GLsizei len, const GLvoid *string);\n#endif\n\n/**\n ** GL_HP_image_transform\n **/\n\n#if (defined(GL_HP_IMAGE_TRANSFORM) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_HP_IMAGE_TRANSFORM)) && !defined(REGAL_NO_ENUM_GL_HP_IMAGE_TRANSFORM)\n#define REGAL_NO_ENUM_GL_HP_IMAGE_TRANSFORM\n#endif\n\n#if (defined(GL_HP_IMAGE_TRANSFORM) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_HP_IMAGE_TRANSFORM)) && !defined(REGAL_NO_TYPEDEF_GL_HP_IMAGE_TRANSFORM)\n#define REGAL_NO_TYPEDEF_GL_HP_IMAGE_TRANSFORM\n#endif\n\n#if (defined(GL_HP_IMAGE_TRANSFORM) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_HP_IMAGE_TRANSFORM)) && !defined(REGAL_NO_NAMESPACE_GL_HP_IMAGE_TRANSFORM)\n#define REGAL_NO_NAMESPACE_GL_HP_IMAGE_TRANSFORM\n#endif\n\n#if (defined(GL_HP_IMAGE_TRANSFORM) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_HP_IMAGE_TRANSFORM)) && !defined(REGAL_NO_PLUGIN_GL_HP_IMAGE_TRANSFORM)\n#define REGAL_NO_PLUGIN_GL_HP_IMAGE_TRANSFORM\n#endif\n\n#if (defined(GL_HP_IMAGE_TRANSFORM) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_HP_IMAGE_TRANSFORM)) && !defined(REGAL_NO_DECLARATION_GL_HP_IMAGE_TRANSFORM)\n#define REGAL_NO_DECLARATION_GL_HP_IMAGE_TRANSFORM\n#endif\n\n#ifndef GL_HP_image_transform\n#define GL_HP_image_transform 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_HP_IMAGE_TRANSFORM\n#define GL_IMAGE_SCALE_X_HP                          0x8155     /* 33109 */\n#define GL_IMAGE_SCALE_Y_HP                          0x8156     /* 33110 */\n#define GL_IMAGE_TRANSLATE_X_HP                      0x8157     /* 33111 */\n#define GL_IMAGE_TRANSLATE_Y_HP                      0x8158     /* 33112 */\n#define GL_IMAGE_ROTATE_ANGLE_HP                     0x8159     /* 33113 */\n#define GL_IMAGE_ROTATE_ORIGIN_X_HP                  0x815a     /* 33114 */\n#define GL_IMAGE_ROTATE_ORIGIN_Y_HP                  0x815b     /* 33115 */\n#define GL_IMAGE_MAG_FILTER_HP                       0x815c     /* 33116 */\n#define GL_IMAGE_MIN_FILTER_HP                       0x815d     /* 33117 */\n#define GL_IMAGE_CUBIC_WEIGHT_HP                     0x815e     /* 33118 */\n#define GL_CUBIC_HP                                  0x815f     /* 33119 */\n#define GL_AVERAGE_HP                                0x8160     /* 33120 */\n#define GL_IMAGE_TRANSFORM_2D_HP                     0x8161     /* 33121 */\n#define GL_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP       0x8162     /* 33122 */\n#define GL_PROXY_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP 0x8163     /* 33123 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_HP_IMAGE_TRANSFORM\ntypedef void (REGAL_CALL *PFNGLGETIMAGETRANSFORMPARAMETERFVHPPROC)(GLenum target, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETIMAGETRANSFORMPARAMETERIVHPPROC)(GLenum target, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLIMAGETRANSFORMPARAMETERFHPPROC)(GLenum target, GLenum pname, GLfloat param);\ntypedef void (REGAL_CALL *PFNGLIMAGETRANSFORMPARAMETERFVHPPROC)(GLenum target, GLenum pname, const GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLIMAGETRANSFORMPARAMETERIHPPROC)(GLenum target, GLenum pname, GLint param);\ntypedef void (REGAL_CALL *PFNGLIMAGETRANSFORMPARAMETERIVHPPROC)(GLenum target, GLenum pname, const GLint *params);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_HP_IMAGE_TRANSFORM\n#define glGetImageTransformParameterfvHP    rglGetImageTransformParameterfvHP\n#define glGetImageTransformParameterivHP    rglGetImageTransformParameterivHP\n#define glImageTransformParameterfHP        rglImageTransformParameterfHP\n#define glImageTransformParameterfvHP       rglImageTransformParameterfvHP\n#define glImageTransformParameteriHP        rglImageTransformParameteriHP\n#define glImageTransformParameterivHP       rglImageTransformParameterivHP\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_HP_IMAGE_TRANSFORM\nREGAL_DECL void REGAL_CALL glGetImageTransformParameterfvHP(GLenum target, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetImageTransformParameterivHP(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glImageTransformParameterfHP(GLenum target, GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL glImageTransformParameterfvHP(GLenum target, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL glImageTransformParameteriHP(GLenum target, GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL glImageTransformParameterivHP(GLenum target, GLenum pname, const GLint *params);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_HP_IMAGE_TRANSFORM\nREGAL_DECL void REGAL_CALL plugin_glGetImageTransformParameterfvHP(GLenum target, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetImageTransformParameterivHP(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glImageTransformParameterfHP(GLenum target, GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL plugin_glImageTransformParameterfvHP(GLenum target, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glImageTransformParameteriHP(GLenum target, GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL plugin_glImageTransformParameterivHP(GLenum target, GLenum pname, const GLint *params);\n#endif\n\n/**\n ** GL_HP_occlusion_test\n **/\n\n#if (defined(GL_HP_OCCLUSION_TEST) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_HP_OCCLUSION_TEST)) && !defined(REGAL_NO_ENUM_GL_HP_OCCLUSION_TEST)\n#define REGAL_NO_ENUM_GL_HP_OCCLUSION_TEST\n#endif\n\n#if (defined(GL_HP_OCCLUSION_TEST) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_HP_OCCLUSION_TEST)) && !defined(REGAL_NO_TYPEDEF_GL_HP_OCCLUSION_TEST)\n#define REGAL_NO_TYPEDEF_GL_HP_OCCLUSION_TEST\n#endif\n\n#if (defined(GL_HP_OCCLUSION_TEST) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_HP_OCCLUSION_TEST)) && !defined(REGAL_NO_NAMESPACE_GL_HP_OCCLUSION_TEST)\n#define REGAL_NO_NAMESPACE_GL_HP_OCCLUSION_TEST\n#endif\n\n#if (defined(GL_HP_OCCLUSION_TEST) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_HP_OCCLUSION_TEST)) && !defined(REGAL_NO_PLUGIN_GL_HP_OCCLUSION_TEST)\n#define REGAL_NO_PLUGIN_GL_HP_OCCLUSION_TEST\n#endif\n\n#if (defined(GL_HP_OCCLUSION_TEST) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_HP_OCCLUSION_TEST)) && !defined(REGAL_NO_DECLARATION_GL_HP_OCCLUSION_TEST)\n#define REGAL_NO_DECLARATION_GL_HP_OCCLUSION_TEST\n#endif\n\n#ifndef GL_HP_occlusion_test\n#define GL_HP_occlusion_test 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_HP_OCCLUSION_TEST\n#define GL_OCCLUSION_TEST_HP        0x8165     /* 33125 */\n#define GL_OCCLUSION_TEST_RESULT_HP 0x8166     /* 33126 */\n#endif\n\n/**\n ** GL_IBM_cull_vertex\n **/\n\n#if (defined(GL_IBM_CULL_VERTEX) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_IBM_CULL_VERTEX)) && !defined(REGAL_NO_ENUM_GL_IBM_CULL_VERTEX)\n#define REGAL_NO_ENUM_GL_IBM_CULL_VERTEX\n#endif\n\n#if (defined(GL_IBM_CULL_VERTEX) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_IBM_CULL_VERTEX)) && !defined(REGAL_NO_TYPEDEF_GL_IBM_CULL_VERTEX)\n#define REGAL_NO_TYPEDEF_GL_IBM_CULL_VERTEX\n#endif\n\n#if (defined(GL_IBM_CULL_VERTEX) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_IBM_CULL_VERTEX)) && !defined(REGAL_NO_NAMESPACE_GL_IBM_CULL_VERTEX)\n#define REGAL_NO_NAMESPACE_GL_IBM_CULL_VERTEX\n#endif\n\n#if (defined(GL_IBM_CULL_VERTEX) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_IBM_CULL_VERTEX)) && !defined(REGAL_NO_PLUGIN_GL_IBM_CULL_VERTEX)\n#define REGAL_NO_PLUGIN_GL_IBM_CULL_VERTEX\n#endif\n\n#if (defined(GL_IBM_CULL_VERTEX) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_IBM_CULL_VERTEX)) && !defined(REGAL_NO_DECLARATION_GL_IBM_CULL_VERTEX)\n#define REGAL_NO_DECLARATION_GL_IBM_CULL_VERTEX\n#endif\n\n#ifndef GL_IBM_cull_vertex\n#define GL_IBM_cull_vertex 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_IBM_CULL_VERTEX\n#define GL_CULL_VERTEX_IBM 0x1928a /* 103050 */\n#endif\n\n/**\n ** GL_IBM_multimode_draw_arrays\n **/\n\n#if (defined(GL_IBM_MULTIMODE_DRAW_ARRAYS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_IBM_MULTIMODE_DRAW_ARRAYS)) && !defined(REGAL_NO_ENUM_GL_IBM_MULTIMODE_DRAW_ARRAYS)\n#define REGAL_NO_ENUM_GL_IBM_MULTIMODE_DRAW_ARRAYS\n#endif\n\n#if (defined(GL_IBM_MULTIMODE_DRAW_ARRAYS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_IBM_MULTIMODE_DRAW_ARRAYS)) && !defined(REGAL_NO_TYPEDEF_GL_IBM_MULTIMODE_DRAW_ARRAYS)\n#define REGAL_NO_TYPEDEF_GL_IBM_MULTIMODE_DRAW_ARRAYS\n#endif\n\n#if (defined(GL_IBM_MULTIMODE_DRAW_ARRAYS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_IBM_MULTIMODE_DRAW_ARRAYS)) && !defined(REGAL_NO_NAMESPACE_GL_IBM_MULTIMODE_DRAW_ARRAYS)\n#define REGAL_NO_NAMESPACE_GL_IBM_MULTIMODE_DRAW_ARRAYS\n#endif\n\n#if (defined(GL_IBM_MULTIMODE_DRAW_ARRAYS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_IBM_MULTIMODE_DRAW_ARRAYS)) && !defined(REGAL_NO_PLUGIN_GL_IBM_MULTIMODE_DRAW_ARRAYS)\n#define REGAL_NO_PLUGIN_GL_IBM_MULTIMODE_DRAW_ARRAYS\n#endif\n\n#if (defined(GL_IBM_MULTIMODE_DRAW_ARRAYS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_IBM_MULTIMODE_DRAW_ARRAYS)) && !defined(REGAL_NO_DECLARATION_GL_IBM_MULTIMODE_DRAW_ARRAYS)\n#define REGAL_NO_DECLARATION_GL_IBM_MULTIMODE_DRAW_ARRAYS\n#endif\n\n#ifndef GL_IBM_multimode_draw_arrays\n#define GL_IBM_multimode_draw_arrays 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_IBM_MULTIMODE_DRAW_ARRAYS\ntypedef void (REGAL_CALL *PFNGLMULTIMODEDRAWARRAYSIBMPROC)(const GLenum *mode, const GLint *first, const GLsizei *count, GLsizei primcount, GLint modestride);\ntypedef void (REGAL_CALL *PFNGLMULTIMODEDRAWELEMENTSIBMPROC)(const GLenum *mode, const GLsizei *count, GLenum type, const GLvoid * const *indices, GLsizei primcount, GLint modestride);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_IBM_MULTIMODE_DRAW_ARRAYS\n#define glMultiModeDrawArraysIBM            rglMultiModeDrawArraysIBM\n#define glMultiModeDrawElementsIBM          rglMultiModeDrawElementsIBM\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_IBM_MULTIMODE_DRAW_ARRAYS\nREGAL_DECL void REGAL_CALL glMultiModeDrawArraysIBM(const GLenum *mode, const GLint *first, const GLsizei *count, GLsizei primcount, GLint modestride);\nREGAL_DECL void REGAL_CALL glMultiModeDrawElementsIBM(const GLenum *mode, const GLsizei *count, GLenum type, const GLvoid * const *indices, GLsizei primcount, GLint modestride);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_IBM_MULTIMODE_DRAW_ARRAYS\nREGAL_DECL void REGAL_CALL plugin_glMultiModeDrawArraysIBM(const GLenum *mode, const GLint *first, const GLsizei *count, GLsizei primcount, GLint modestride);\nREGAL_DECL void REGAL_CALL plugin_glMultiModeDrawElementsIBM(const GLenum *mode, const GLsizei *count, GLenum type, const GLvoid * const *indices, GLsizei primcount, GLint modestride);\n#endif\n\n/**\n ** GL_IBM_rasterpos_clip\n **/\n\n#if (defined(GL_IBM_RASTERPOS_CLIP) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_IBM_RASTERPOS_CLIP)) && !defined(REGAL_NO_ENUM_GL_IBM_RASTERPOS_CLIP)\n#define REGAL_NO_ENUM_GL_IBM_RASTERPOS_CLIP\n#endif\n\n#if (defined(GL_IBM_RASTERPOS_CLIP) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_IBM_RASTERPOS_CLIP)) && !defined(REGAL_NO_TYPEDEF_GL_IBM_RASTERPOS_CLIP)\n#define REGAL_NO_TYPEDEF_GL_IBM_RASTERPOS_CLIP\n#endif\n\n#if (defined(GL_IBM_RASTERPOS_CLIP) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_IBM_RASTERPOS_CLIP)) && !defined(REGAL_NO_NAMESPACE_GL_IBM_RASTERPOS_CLIP)\n#define REGAL_NO_NAMESPACE_GL_IBM_RASTERPOS_CLIP\n#endif\n\n#if (defined(GL_IBM_RASTERPOS_CLIP) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_IBM_RASTERPOS_CLIP)) && !defined(REGAL_NO_PLUGIN_GL_IBM_RASTERPOS_CLIP)\n#define REGAL_NO_PLUGIN_GL_IBM_RASTERPOS_CLIP\n#endif\n\n#if (defined(GL_IBM_RASTERPOS_CLIP) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_IBM_RASTERPOS_CLIP)) && !defined(REGAL_NO_DECLARATION_GL_IBM_RASTERPOS_CLIP)\n#define REGAL_NO_DECLARATION_GL_IBM_RASTERPOS_CLIP\n#endif\n\n#ifndef GL_IBM_rasterpos_clip\n#define GL_IBM_rasterpos_clip 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_IBM_RASTERPOS_CLIP\n#define GL_RASTER_POSITION_UNCLIPPED_IBM 0x19262 /* 103010 */\n#endif\n\n/**\n ** GL_IBM_static_data\n **/\n\n#if (defined(GL_IBM_STATIC_DATA) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_IBM_STATIC_DATA)) && !defined(REGAL_NO_ENUM_GL_IBM_STATIC_DATA)\n#define REGAL_NO_ENUM_GL_IBM_STATIC_DATA\n#endif\n\n#if (defined(GL_IBM_STATIC_DATA) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_IBM_STATIC_DATA)) && !defined(REGAL_NO_TYPEDEF_GL_IBM_STATIC_DATA)\n#define REGAL_NO_TYPEDEF_GL_IBM_STATIC_DATA\n#endif\n\n#if (defined(GL_IBM_STATIC_DATA) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_IBM_STATIC_DATA)) && !defined(REGAL_NO_NAMESPACE_GL_IBM_STATIC_DATA)\n#define REGAL_NO_NAMESPACE_GL_IBM_STATIC_DATA\n#endif\n\n#if (defined(GL_IBM_STATIC_DATA) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_IBM_STATIC_DATA)) && !defined(REGAL_NO_PLUGIN_GL_IBM_STATIC_DATA)\n#define REGAL_NO_PLUGIN_GL_IBM_STATIC_DATA\n#endif\n\n#if (defined(GL_IBM_STATIC_DATA) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_IBM_STATIC_DATA)) && !defined(REGAL_NO_DECLARATION_GL_IBM_STATIC_DATA)\n#define REGAL_NO_DECLARATION_GL_IBM_STATIC_DATA\n#endif\n\n#ifndef GL_IBM_static_data\n#define GL_IBM_static_data 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_IBM_STATIC_DATA\n#define GL_ALL_STATIC_DATA_IBM     0x19294     /* 103060 */\n#define GL_STATIC_VERTEX_ARRAY_IBM 0x19295     /* 103061 */\n#endif\n\n/**\n ** GL_IBM_texture_mirrored_repeat\n **/\n\n#if (defined(GL_IBM_TEXTURE_MIRRORED_REPEAT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_IBM_TEXTURE_MIRRORED_REPEAT)) && !defined(REGAL_NO_ENUM_GL_IBM_TEXTURE_MIRRORED_REPEAT)\n#define REGAL_NO_ENUM_GL_IBM_TEXTURE_MIRRORED_REPEAT\n#endif\n\n#if (defined(GL_IBM_TEXTURE_MIRRORED_REPEAT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_IBM_TEXTURE_MIRRORED_REPEAT)) && !defined(REGAL_NO_TYPEDEF_GL_IBM_TEXTURE_MIRRORED_REPEAT)\n#define REGAL_NO_TYPEDEF_GL_IBM_TEXTURE_MIRRORED_REPEAT\n#endif\n\n#if (defined(GL_IBM_TEXTURE_MIRRORED_REPEAT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_IBM_TEXTURE_MIRRORED_REPEAT)) && !defined(REGAL_NO_NAMESPACE_GL_IBM_TEXTURE_MIRRORED_REPEAT)\n#define REGAL_NO_NAMESPACE_GL_IBM_TEXTURE_MIRRORED_REPEAT\n#endif\n\n#if (defined(GL_IBM_TEXTURE_MIRRORED_REPEAT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_IBM_TEXTURE_MIRRORED_REPEAT)) && !defined(REGAL_NO_PLUGIN_GL_IBM_TEXTURE_MIRRORED_REPEAT)\n#define REGAL_NO_PLUGIN_GL_IBM_TEXTURE_MIRRORED_REPEAT\n#endif\n\n#if (defined(GL_IBM_TEXTURE_MIRRORED_REPEAT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_IBM_TEXTURE_MIRRORED_REPEAT)) && !defined(REGAL_NO_DECLARATION_GL_IBM_TEXTURE_MIRRORED_REPEAT)\n#define REGAL_NO_DECLARATION_GL_IBM_TEXTURE_MIRRORED_REPEAT\n#endif\n\n#ifndef GL_IBM_texture_mirrored_repeat\n#define GL_IBM_texture_mirrored_repeat 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_IBM_TEXTURE_MIRRORED_REPEAT\n#define GL_MIRRORED_REPEAT_IBM 0x8370 /* 33648 */\n#endif\n\n/**\n ** GL_IBM_vertex_array_lists\n **/\n\n#if (defined(GL_IBM_VERTEX_ARRAY_LISTS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_IBM_VERTEX_ARRAY_LISTS)) && !defined(REGAL_NO_ENUM_GL_IBM_VERTEX_ARRAY_LISTS)\n#define REGAL_NO_ENUM_GL_IBM_VERTEX_ARRAY_LISTS\n#endif\n\n#if (defined(GL_IBM_VERTEX_ARRAY_LISTS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_IBM_VERTEX_ARRAY_LISTS)) && !defined(REGAL_NO_TYPEDEF_GL_IBM_VERTEX_ARRAY_LISTS)\n#define REGAL_NO_TYPEDEF_GL_IBM_VERTEX_ARRAY_LISTS\n#endif\n\n#if (defined(GL_IBM_VERTEX_ARRAY_LISTS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_IBM_VERTEX_ARRAY_LISTS)) && !defined(REGAL_NO_NAMESPACE_GL_IBM_VERTEX_ARRAY_LISTS)\n#define REGAL_NO_NAMESPACE_GL_IBM_VERTEX_ARRAY_LISTS\n#endif\n\n#if (defined(GL_IBM_VERTEX_ARRAY_LISTS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_IBM_VERTEX_ARRAY_LISTS)) && !defined(REGAL_NO_PLUGIN_GL_IBM_VERTEX_ARRAY_LISTS)\n#define REGAL_NO_PLUGIN_GL_IBM_VERTEX_ARRAY_LISTS\n#endif\n\n#if (defined(GL_IBM_VERTEX_ARRAY_LISTS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_IBM_VERTEX_ARRAY_LISTS)) && !defined(REGAL_NO_DECLARATION_GL_IBM_VERTEX_ARRAY_LISTS)\n#define REGAL_NO_DECLARATION_GL_IBM_VERTEX_ARRAY_LISTS\n#endif\n\n#ifndef GL_IBM_vertex_array_lists\n#define GL_IBM_vertex_array_lists 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_IBM_VERTEX_ARRAY_LISTS\n#define GL_VERTEX_ARRAY_LIST_IBM                 0x1929e     /* 103070 */\n#define GL_NORMAL_ARRAY_LIST_IBM                 0x1929f     /* 103071 */\n#define GL_COLOR_ARRAY_LIST_IBM                  0x192a0     /* 103072 */\n#define GL_INDEX_ARRAY_LIST_IBM                  0x192a1     /* 103073 */\n#define GL_TEXTURE_COORD_ARRAY_LIST_IBM          0x192a2     /* 103074 */\n#define GL_EDGE_FLAG_ARRAY_LIST_IBM              0x192a3     /* 103075 */\n#define GL_FOG_COORDINATE_ARRAY_LIST_IBM         0x192a4     /* 103076 */\n#define GL_SECONDARY_COLOR_ARRAY_LIST_IBM        0x192a5     /* 103077 */\n#define GL_VERTEX_ARRAY_LIST_STRIDE_IBM          0x192a8     /* 103080 */\n#define GL_NORMAL_ARRAY_LIST_STRIDE_IBM          0x192a9     /* 103081 */\n#define GL_COLOR_ARRAY_LIST_STRIDE_IBM           0x192aa     /* 103082 */\n#define GL_INDEX_ARRAY_LIST_STRIDE_IBM           0x192ab     /* 103083 */\n#define GL_TEXTURE_COORD_ARRAY_LIST_STRIDE_IBM   0x192ac     /* 103084 */\n#define GL_EDGE_FLAG_ARRAY_LIST_STRIDE_IBM       0x192ad     /* 103085 */\n#define GL_FOG_COORDINATE_ARRAY_LIST_STRIDE_IBM  0x192ae     /* 103086 */\n#define GL_SECONDARY_COLOR_ARRAY_LIST_STRIDE_IBM 0x192af     /* 103087 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_IBM_VERTEX_ARRAY_LISTS\ntypedef void (REGAL_CALL *PFNGLCOLORPOINTERLISTIBMPROC)(GLint size, GLenum type, GLint stride, const GLvoid **pointer, GLint ptrstride);\ntypedef void (REGAL_CALL *PFNGLEDGEFLAGPOINTERLISTIBMPROC)(GLint stride, const GLboolean **pointer, GLint ptrstride);\ntypedef void (REGAL_CALL *PFNGLFOGCOORDPOINTERLISTIBMPROC)(GLenum type, GLint stride, const GLvoid **pointer, GLint ptrstride);\ntypedef void (REGAL_CALL *PFNGLINDEXPOINTERLISTIBMPROC)(GLenum type, GLint stride, const GLvoid **pointer, GLint ptrstride);\ntypedef void (REGAL_CALL *PFNGLNORMALPOINTERLISTIBMPROC)(GLenum type, GLint stride, const GLvoid **pointer, GLint ptrstride);\ntypedef void (REGAL_CALL *PFNGLSECONDARYCOLORPOINTERLISTIBMPROC)(GLint size, GLenum type, GLint stride, const GLvoid **pointer, GLint ptrstride);\ntypedef void (REGAL_CALL *PFNGLTEXCOORDPOINTERLISTIBMPROC)(GLint size, GLenum type, GLint stride, const GLvoid **pointer, GLint ptrstride);\ntypedef void (REGAL_CALL *PFNGLVERTEXPOINTERLISTIBMPROC)(GLint size, GLenum type, GLint stride, const GLvoid **pointer, GLint ptrstride);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_IBM_VERTEX_ARRAY_LISTS\n#define glColorPointerListIBM               rglColorPointerListIBM\n#define glEdgeFlagPointerListIBM            rglEdgeFlagPointerListIBM\n#define glFogCoordPointerListIBM            rglFogCoordPointerListIBM\n#define glIndexPointerListIBM               rglIndexPointerListIBM\n#define glNormalPointerListIBM              rglNormalPointerListIBM\n#define glSecondaryColorPointerListIBM      rglSecondaryColorPointerListIBM\n#define glTexCoordPointerListIBM            rglTexCoordPointerListIBM\n#define glVertexPointerListIBM              rglVertexPointerListIBM\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_IBM_VERTEX_ARRAY_LISTS\nREGAL_DECL void REGAL_CALL glColorPointerListIBM(GLint size, GLenum type, GLint stride, const GLvoid **pointer, GLint ptrstride);\nREGAL_DECL void REGAL_CALL glEdgeFlagPointerListIBM(GLint stride, const GLboolean **pointer, GLint ptrstride);\nREGAL_DECL void REGAL_CALL glFogCoordPointerListIBM(GLenum type, GLint stride, const GLvoid **pointer, GLint ptrstride);\nREGAL_DECL void REGAL_CALL glIndexPointerListIBM(GLenum type, GLint stride, const GLvoid **pointer, GLint ptrstride);\nREGAL_DECL void REGAL_CALL glNormalPointerListIBM(GLenum type, GLint stride, const GLvoid **pointer, GLint ptrstride);\nREGAL_DECL void REGAL_CALL glSecondaryColorPointerListIBM(GLint size, GLenum type, GLint stride, const GLvoid **pointer, GLint ptrstride);\nREGAL_DECL void REGAL_CALL glTexCoordPointerListIBM(GLint size, GLenum type, GLint stride, const GLvoid **pointer, GLint ptrstride);\nREGAL_DECL void REGAL_CALL glVertexPointerListIBM(GLint size, GLenum type, GLint stride, const GLvoid **pointer, GLint ptrstride);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_IBM_VERTEX_ARRAY_LISTS\nREGAL_DECL void REGAL_CALL plugin_glColorPointerListIBM(GLint size, GLenum type, GLint stride, const GLvoid **pointer, GLint ptrstride);\nREGAL_DECL void REGAL_CALL plugin_glEdgeFlagPointerListIBM(GLint stride, const GLboolean **pointer, GLint ptrstride);\nREGAL_DECL void REGAL_CALL plugin_glFogCoordPointerListIBM(GLenum type, GLint stride, const GLvoid **pointer, GLint ptrstride);\nREGAL_DECL void REGAL_CALL plugin_glIndexPointerListIBM(GLenum type, GLint stride, const GLvoid **pointer, GLint ptrstride);\nREGAL_DECL void REGAL_CALL plugin_glNormalPointerListIBM(GLenum type, GLint stride, const GLvoid **pointer, GLint ptrstride);\nREGAL_DECL void REGAL_CALL plugin_glSecondaryColorPointerListIBM(GLint size, GLenum type, GLint stride, const GLvoid **pointer, GLint ptrstride);\nREGAL_DECL void REGAL_CALL plugin_glTexCoordPointerListIBM(GLint size, GLenum type, GLint stride, const GLvoid **pointer, GLint ptrstride);\nREGAL_DECL void REGAL_CALL plugin_glVertexPointerListIBM(GLint size, GLenum type, GLint stride, const GLvoid **pointer, GLint ptrstride);\n#endif\n\n/**\n ** GL_IMG_multisampled_render_to_texture\n **/\n\n#if (defined(GL_IMG_MULTISAMPLED_RENDER_TO_TEXTURE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_IMG_MULTISAMPLED_RENDER_TO_TEXTURE)) && !defined(REGAL_NO_ENUM_GL_IMG_MULTISAMPLED_RENDER_TO_TEXTURE)\n#define REGAL_NO_ENUM_GL_IMG_MULTISAMPLED_RENDER_TO_TEXTURE\n#endif\n\n#if (defined(GL_IMG_MULTISAMPLED_RENDER_TO_TEXTURE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_IMG_MULTISAMPLED_RENDER_TO_TEXTURE)) && !defined(REGAL_NO_TYPEDEF_GL_IMG_MULTISAMPLED_RENDER_TO_TEXTURE)\n#define REGAL_NO_TYPEDEF_GL_IMG_MULTISAMPLED_RENDER_TO_TEXTURE\n#endif\n\n#if (defined(GL_IMG_MULTISAMPLED_RENDER_TO_TEXTURE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_IMG_MULTISAMPLED_RENDER_TO_TEXTURE)) && !defined(REGAL_NO_NAMESPACE_GL_IMG_MULTISAMPLED_RENDER_TO_TEXTURE)\n#define REGAL_NO_NAMESPACE_GL_IMG_MULTISAMPLED_RENDER_TO_TEXTURE\n#endif\n\n#if (defined(GL_IMG_MULTISAMPLED_RENDER_TO_TEXTURE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_IMG_MULTISAMPLED_RENDER_TO_TEXTURE)) && !defined(REGAL_NO_PLUGIN_GL_IMG_MULTISAMPLED_RENDER_TO_TEXTURE)\n#define REGAL_NO_PLUGIN_GL_IMG_MULTISAMPLED_RENDER_TO_TEXTURE\n#endif\n\n#if (defined(GL_IMG_MULTISAMPLED_RENDER_TO_TEXTURE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_IMG_MULTISAMPLED_RENDER_TO_TEXTURE)) && !defined(REGAL_NO_DECLARATION_GL_IMG_MULTISAMPLED_RENDER_TO_TEXTURE)\n#define REGAL_NO_DECLARATION_GL_IMG_MULTISAMPLED_RENDER_TO_TEXTURE\n#endif\n\n#ifndef GL_IMG_multisampled_render_to_texture\n#define GL_IMG_multisampled_render_to_texture 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_IMG_MULTISAMPLED_RENDER_TO_TEXTURE\n#define GL_RENDERBUFFER_SAMPLES_IMG               0x9133     /* 37171 */\n#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG 0x9134     /* 37172 */\n#define GL_MAX_SAMPLES_IMG                        0x9135     /* 37173 */\n#define GL_TEXTURE_SAMPLES_IMG                    0x9136     /* 37174 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_IMG_MULTISAMPLED_RENDER_TO_TEXTURE\ntypedef void (REGAL_CALL *PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEIMGPROC)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);\ntypedef void (REGAL_CALL *PFNGLRENDERBUFFERSTORAGEMULTISAMPLEIMGPROC)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_IMG_MULTISAMPLED_RENDER_TO_TEXTURE\n#define glFramebufferTexture2DMultisampleIMG rglFramebufferTexture2DMultisampleIMG\n#define glRenderbufferStorageMultisampleIMG rglRenderbufferStorageMultisampleIMG\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_IMG_MULTISAMPLED_RENDER_TO_TEXTURE\nREGAL_DECL void REGAL_CALL glFramebufferTexture2DMultisampleIMG(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);\nREGAL_DECL void REGAL_CALL glRenderbufferStorageMultisampleIMG(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_IMG_MULTISAMPLED_RENDER_TO_TEXTURE\nREGAL_DECL void REGAL_CALL plugin_glFramebufferTexture2DMultisampleIMG(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);\nREGAL_DECL void REGAL_CALL plugin_glRenderbufferStorageMultisampleIMG(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);\n#endif\n\n/**\n ** GL_IMG_program_binary\n **/\n\n#if (defined(GL_IMG_PROGRAM_BINARY) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_IMG_PROGRAM_BINARY)) && !defined(REGAL_NO_ENUM_GL_IMG_PROGRAM_BINARY)\n#define REGAL_NO_ENUM_GL_IMG_PROGRAM_BINARY\n#endif\n\n#if (defined(GL_IMG_PROGRAM_BINARY) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_IMG_PROGRAM_BINARY)) && !defined(REGAL_NO_TYPEDEF_GL_IMG_PROGRAM_BINARY)\n#define REGAL_NO_TYPEDEF_GL_IMG_PROGRAM_BINARY\n#endif\n\n#if (defined(GL_IMG_PROGRAM_BINARY) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_IMG_PROGRAM_BINARY)) && !defined(REGAL_NO_NAMESPACE_GL_IMG_PROGRAM_BINARY)\n#define REGAL_NO_NAMESPACE_GL_IMG_PROGRAM_BINARY\n#endif\n\n#if (defined(GL_IMG_PROGRAM_BINARY) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_IMG_PROGRAM_BINARY)) && !defined(REGAL_NO_PLUGIN_GL_IMG_PROGRAM_BINARY)\n#define REGAL_NO_PLUGIN_GL_IMG_PROGRAM_BINARY\n#endif\n\n#if (defined(GL_IMG_PROGRAM_BINARY) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_IMG_PROGRAM_BINARY)) && !defined(REGAL_NO_DECLARATION_GL_IMG_PROGRAM_BINARY)\n#define REGAL_NO_DECLARATION_GL_IMG_PROGRAM_BINARY\n#endif\n\n#ifndef GL_IMG_program_binary\n#define GL_IMG_program_binary 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_IMG_PROGRAM_BINARY\n#define GL_SGX_PROGRAM_BINARY_IMG 0x9130 /* 37168 */\n#endif\n\n/**\n ** GL_IMG_read_format\n **/\n\n#if (defined(GL_IMG_READ_FORMAT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_IMG_READ_FORMAT)) && !defined(REGAL_NO_ENUM_GL_IMG_READ_FORMAT)\n#define REGAL_NO_ENUM_GL_IMG_READ_FORMAT\n#endif\n\n#if (defined(GL_IMG_READ_FORMAT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_IMG_READ_FORMAT)) && !defined(REGAL_NO_TYPEDEF_GL_IMG_READ_FORMAT)\n#define REGAL_NO_TYPEDEF_GL_IMG_READ_FORMAT\n#endif\n\n#if (defined(GL_IMG_READ_FORMAT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_IMG_READ_FORMAT)) && !defined(REGAL_NO_NAMESPACE_GL_IMG_READ_FORMAT)\n#define REGAL_NO_NAMESPACE_GL_IMG_READ_FORMAT\n#endif\n\n#if (defined(GL_IMG_READ_FORMAT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_IMG_READ_FORMAT)) && !defined(REGAL_NO_PLUGIN_GL_IMG_READ_FORMAT)\n#define REGAL_NO_PLUGIN_GL_IMG_READ_FORMAT\n#endif\n\n#if (defined(GL_IMG_READ_FORMAT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_IMG_READ_FORMAT)) && !defined(REGAL_NO_DECLARATION_GL_IMG_READ_FORMAT)\n#define REGAL_NO_DECLARATION_GL_IMG_READ_FORMAT\n#endif\n\n#ifndef GL_IMG_read_format\n#define GL_IMG_read_format 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_IMG_READ_FORMAT\n#define GL_BGRA_IMG                       0x80e1     /* 32993 */\n#define GL_UNSIGNED_SHORT_4_4_4_4_REV_IMG 0x8365     /* 33637 */\n#endif\n\n/**\n ** GL_IMG_shader_binary\n **/\n\n#if (defined(GL_IMG_SHADER_BINARY) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_IMG_SHADER_BINARY)) && !defined(REGAL_NO_ENUM_GL_IMG_SHADER_BINARY)\n#define REGAL_NO_ENUM_GL_IMG_SHADER_BINARY\n#endif\n\n#if (defined(GL_IMG_SHADER_BINARY) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_IMG_SHADER_BINARY)) && !defined(REGAL_NO_TYPEDEF_GL_IMG_SHADER_BINARY)\n#define REGAL_NO_TYPEDEF_GL_IMG_SHADER_BINARY\n#endif\n\n#if (defined(GL_IMG_SHADER_BINARY) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_IMG_SHADER_BINARY)) && !defined(REGAL_NO_NAMESPACE_GL_IMG_SHADER_BINARY)\n#define REGAL_NO_NAMESPACE_GL_IMG_SHADER_BINARY\n#endif\n\n#if (defined(GL_IMG_SHADER_BINARY) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_IMG_SHADER_BINARY)) && !defined(REGAL_NO_PLUGIN_GL_IMG_SHADER_BINARY)\n#define REGAL_NO_PLUGIN_GL_IMG_SHADER_BINARY\n#endif\n\n#if (defined(GL_IMG_SHADER_BINARY) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_IMG_SHADER_BINARY)) && !defined(REGAL_NO_DECLARATION_GL_IMG_SHADER_BINARY)\n#define REGAL_NO_DECLARATION_GL_IMG_SHADER_BINARY\n#endif\n\n#ifndef GL_IMG_shader_binary\n#define GL_IMG_shader_binary 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_IMG_SHADER_BINARY\n#define GL_SGX_BINARY_IMG 0x8c0a /* 35850 */\n#endif\n\n/**\n ** GL_IMG_texture_compression_pvrtc\n **/\n\n#if (defined(GL_IMG_TEXTURE_COMPRESSION_PVRTC) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_IMG_TEXTURE_COMPRESSION_PVRTC)) && !defined(REGAL_NO_ENUM_GL_IMG_TEXTURE_COMPRESSION_PVRTC)\n#define REGAL_NO_ENUM_GL_IMG_TEXTURE_COMPRESSION_PVRTC\n#endif\n\n#if (defined(GL_IMG_TEXTURE_COMPRESSION_PVRTC) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_IMG_TEXTURE_COMPRESSION_PVRTC)) && !defined(REGAL_NO_TYPEDEF_GL_IMG_TEXTURE_COMPRESSION_PVRTC)\n#define REGAL_NO_TYPEDEF_GL_IMG_TEXTURE_COMPRESSION_PVRTC\n#endif\n\n#if (defined(GL_IMG_TEXTURE_COMPRESSION_PVRTC) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_IMG_TEXTURE_COMPRESSION_PVRTC)) && !defined(REGAL_NO_NAMESPACE_GL_IMG_TEXTURE_COMPRESSION_PVRTC)\n#define REGAL_NO_NAMESPACE_GL_IMG_TEXTURE_COMPRESSION_PVRTC\n#endif\n\n#if (defined(GL_IMG_TEXTURE_COMPRESSION_PVRTC) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_IMG_TEXTURE_COMPRESSION_PVRTC)) && !defined(REGAL_NO_PLUGIN_GL_IMG_TEXTURE_COMPRESSION_PVRTC)\n#define REGAL_NO_PLUGIN_GL_IMG_TEXTURE_COMPRESSION_PVRTC\n#endif\n\n#if (defined(GL_IMG_TEXTURE_COMPRESSION_PVRTC) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_IMG_TEXTURE_COMPRESSION_PVRTC)) && !defined(REGAL_NO_DECLARATION_GL_IMG_TEXTURE_COMPRESSION_PVRTC)\n#define REGAL_NO_DECLARATION_GL_IMG_TEXTURE_COMPRESSION_PVRTC\n#endif\n\n#ifndef GL_IMG_texture_compression_pvrtc\n#define GL_IMG_texture_compression_pvrtc 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_IMG_TEXTURE_COMPRESSION_PVRTC\n#define GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG  0x8c00     /* 35840 */\n#define GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG  0x8c01     /* 35841 */\n#define GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG 0x8c02     /* 35842 */\n#define GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG 0x8c03     /* 35843 */\n#endif\n\n/**\n ** GL_IMG_texture_compression_pvrtc2\n **/\n\n#if (defined(GL_IMG_TEXTURE_COMPRESSION_PVRTC2) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_IMG_TEXTURE_COMPRESSION_PVRTC2)) && !defined(REGAL_NO_ENUM_GL_IMG_TEXTURE_COMPRESSION_PVRTC2)\n#define REGAL_NO_ENUM_GL_IMG_TEXTURE_COMPRESSION_PVRTC2\n#endif\n\n#if (defined(GL_IMG_TEXTURE_COMPRESSION_PVRTC2) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_IMG_TEXTURE_COMPRESSION_PVRTC2)) && !defined(REGAL_NO_TYPEDEF_GL_IMG_TEXTURE_COMPRESSION_PVRTC2)\n#define REGAL_NO_TYPEDEF_GL_IMG_TEXTURE_COMPRESSION_PVRTC2\n#endif\n\n#if (defined(GL_IMG_TEXTURE_COMPRESSION_PVRTC2) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_IMG_TEXTURE_COMPRESSION_PVRTC2)) && !defined(REGAL_NO_NAMESPACE_GL_IMG_TEXTURE_COMPRESSION_PVRTC2)\n#define REGAL_NO_NAMESPACE_GL_IMG_TEXTURE_COMPRESSION_PVRTC2\n#endif\n\n#if (defined(GL_IMG_TEXTURE_COMPRESSION_PVRTC2) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_IMG_TEXTURE_COMPRESSION_PVRTC2)) && !defined(REGAL_NO_PLUGIN_GL_IMG_TEXTURE_COMPRESSION_PVRTC2)\n#define REGAL_NO_PLUGIN_GL_IMG_TEXTURE_COMPRESSION_PVRTC2\n#endif\n\n#if (defined(GL_IMG_TEXTURE_COMPRESSION_PVRTC2) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_IMG_TEXTURE_COMPRESSION_PVRTC2)) && !defined(REGAL_NO_DECLARATION_GL_IMG_TEXTURE_COMPRESSION_PVRTC2)\n#define REGAL_NO_DECLARATION_GL_IMG_TEXTURE_COMPRESSION_PVRTC2\n#endif\n\n#ifndef GL_IMG_texture_compression_pvrtc2\n#define GL_IMG_texture_compression_pvrtc2 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_IMG_TEXTURE_COMPRESSION_PVRTC2\n#define GL_COMPRESSED_RGBA_PVRTC_2BPPV2_IMG 0x9137     /* 37175 */\n#define GL_COMPRESSED_RGBA_PVRTC_4BPPV2_IMG 0x9138     /* 37176 */\n#endif\n\n/**\n ** GL_IMG_texture_env_enhanced_fixed_function\n **/\n\n#if (defined(GL_IMG_TEXTURE_ENV_ENHANCED_FIXED_FUNCTION) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_IMG_TEXTURE_ENV_ENHANCED_FIXED_FUNCTION)) && !defined(REGAL_NO_ENUM_GL_IMG_TEXTURE_ENV_ENHANCED_FIXED_FUNCTION)\n#define REGAL_NO_ENUM_GL_IMG_TEXTURE_ENV_ENHANCED_FIXED_FUNCTION\n#endif\n\n#if (defined(GL_IMG_TEXTURE_ENV_ENHANCED_FIXED_FUNCTION) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_IMG_TEXTURE_ENV_ENHANCED_FIXED_FUNCTION)) && !defined(REGAL_NO_TYPEDEF_GL_IMG_TEXTURE_ENV_ENHANCED_FIXED_FUNCTION)\n#define REGAL_NO_TYPEDEF_GL_IMG_TEXTURE_ENV_ENHANCED_FIXED_FUNCTION\n#endif\n\n#if (defined(GL_IMG_TEXTURE_ENV_ENHANCED_FIXED_FUNCTION) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_IMG_TEXTURE_ENV_ENHANCED_FIXED_FUNCTION)) && !defined(REGAL_NO_NAMESPACE_GL_IMG_TEXTURE_ENV_ENHANCED_FIXED_FUNCTION)\n#define REGAL_NO_NAMESPACE_GL_IMG_TEXTURE_ENV_ENHANCED_FIXED_FUNCTION\n#endif\n\n#if (defined(GL_IMG_TEXTURE_ENV_ENHANCED_FIXED_FUNCTION) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_IMG_TEXTURE_ENV_ENHANCED_FIXED_FUNCTION)) && !defined(REGAL_NO_PLUGIN_GL_IMG_TEXTURE_ENV_ENHANCED_FIXED_FUNCTION)\n#define REGAL_NO_PLUGIN_GL_IMG_TEXTURE_ENV_ENHANCED_FIXED_FUNCTION\n#endif\n\n#if (defined(GL_IMG_TEXTURE_ENV_ENHANCED_FIXED_FUNCTION) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_IMG_TEXTURE_ENV_ENHANCED_FIXED_FUNCTION)) && !defined(REGAL_NO_DECLARATION_GL_IMG_TEXTURE_ENV_ENHANCED_FIXED_FUNCTION)\n#define REGAL_NO_DECLARATION_GL_IMG_TEXTURE_ENV_ENHANCED_FIXED_FUNCTION\n#endif\n\n#ifndef GL_IMG_texture_env_enhanced_fixed_function\n#define GL_IMG_texture_env_enhanced_fixed_function 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_IMG_TEXTURE_ENV_ENHANCED_FIXED_FUNCTION\n#define GL_DOT3_RGBA_IMG               0x86af     /* 34479 */\n#define GL_MODULATE_COLOR_IMG          0x8c04     /* 35844 */\n#define GL_RECIP_ADD_SIGNED_ALPHA_IMG  0x8c05     /* 35845 */\n#define GL_TEXTURE_ALPHA_MODULATE_IMG  0x8c06     /* 35846 */\n#define GL_FACTOR_ALPHA_MODULATE_IMG   0x8c07     /* 35847 */\n#define GL_FRAGMENT_ALPHA_MODULATE_IMG 0x8c08     /* 35848 */\n#define GL_ADD_BLEND_IMG               0x8c09     /* 35849 */\n#endif\n\n/**\n ** GL_IMG_user_clip_plane\n **/\n\n#if (defined(GL_IMG_USER_CLIP_PLANE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_IMG_USER_CLIP_PLANE)) && !defined(REGAL_NO_ENUM_GL_IMG_USER_CLIP_PLANE)\n#define REGAL_NO_ENUM_GL_IMG_USER_CLIP_PLANE\n#endif\n\n#if (defined(GL_IMG_USER_CLIP_PLANE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_IMG_USER_CLIP_PLANE)) && !defined(REGAL_NO_TYPEDEF_GL_IMG_USER_CLIP_PLANE)\n#define REGAL_NO_TYPEDEF_GL_IMG_USER_CLIP_PLANE\n#endif\n\n#if (defined(GL_IMG_USER_CLIP_PLANE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_IMG_USER_CLIP_PLANE)) && !defined(REGAL_NO_NAMESPACE_GL_IMG_USER_CLIP_PLANE)\n#define REGAL_NO_NAMESPACE_GL_IMG_USER_CLIP_PLANE\n#endif\n\n#if (defined(GL_IMG_USER_CLIP_PLANE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_IMG_USER_CLIP_PLANE)) && !defined(REGAL_NO_PLUGIN_GL_IMG_USER_CLIP_PLANE)\n#define REGAL_NO_PLUGIN_GL_IMG_USER_CLIP_PLANE\n#endif\n\n#if (defined(GL_IMG_USER_CLIP_PLANE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_IMG_USER_CLIP_PLANE)) && !defined(REGAL_NO_DECLARATION_GL_IMG_USER_CLIP_PLANE)\n#define REGAL_NO_DECLARATION_GL_IMG_USER_CLIP_PLANE\n#endif\n\n#ifndef GL_IMG_user_clip_plane\n#define GL_IMG_user_clip_plane 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_IMG_USER_CLIP_PLANE\n#define GL_CLIP_PLANE0_IMG     0x3000     /* 12288 */\n#define GL_CLIP_PLANE1_IMG     0x3001     /* 12289 */\n#define GL_CLIP_PLANE2_IMG     0x3002     /* 12290 */\n#define GL_CLIP_PLANE3_IMG     0x3003     /* 12291 */\n#define GL_CLIP_PLANE4_IMG     0x3004     /* 12292 */\n#define GL_CLIP_PLANE5_IMG     0x3005     /* 12293 */\n#define GL_MAX_CLIP_PLANES_IMG 0xd32      /* 3378 */\n#endif\n\n/**\n ** GL_INGR_blend_func_separate\n **/\n\n#if (defined(GL_INGR_BLEND_FUNC_SEPARATE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_INGR_BLEND_FUNC_SEPARATE)) && !defined(REGAL_NO_ENUM_GL_INGR_BLEND_FUNC_SEPARATE)\n#define REGAL_NO_ENUM_GL_INGR_BLEND_FUNC_SEPARATE\n#endif\n\n#if (defined(GL_INGR_BLEND_FUNC_SEPARATE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_INGR_BLEND_FUNC_SEPARATE)) && !defined(REGAL_NO_TYPEDEF_GL_INGR_BLEND_FUNC_SEPARATE)\n#define REGAL_NO_TYPEDEF_GL_INGR_BLEND_FUNC_SEPARATE\n#endif\n\n#if (defined(GL_INGR_BLEND_FUNC_SEPARATE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_INGR_BLEND_FUNC_SEPARATE)) && !defined(REGAL_NO_NAMESPACE_GL_INGR_BLEND_FUNC_SEPARATE)\n#define REGAL_NO_NAMESPACE_GL_INGR_BLEND_FUNC_SEPARATE\n#endif\n\n#if (defined(GL_INGR_BLEND_FUNC_SEPARATE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_INGR_BLEND_FUNC_SEPARATE)) && !defined(REGAL_NO_PLUGIN_GL_INGR_BLEND_FUNC_SEPARATE)\n#define REGAL_NO_PLUGIN_GL_INGR_BLEND_FUNC_SEPARATE\n#endif\n\n#if (defined(GL_INGR_BLEND_FUNC_SEPARATE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_INGR_BLEND_FUNC_SEPARATE)) && !defined(REGAL_NO_DECLARATION_GL_INGR_BLEND_FUNC_SEPARATE)\n#define REGAL_NO_DECLARATION_GL_INGR_BLEND_FUNC_SEPARATE\n#endif\n\n#ifndef GL_INGR_blend_func_separate\n#define GL_INGR_blend_func_separate 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_INGR_BLEND_FUNC_SEPARATE\ntypedef void (REGAL_CALL *PFNGLBLENDFUNCSEPARATEINGRPROC)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_INGR_BLEND_FUNC_SEPARATE\n#define glBlendFuncSeparateINGR             rglBlendFuncSeparateINGR\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_INGR_BLEND_FUNC_SEPARATE\nREGAL_DECL void REGAL_CALL glBlendFuncSeparateINGR(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_INGR_BLEND_FUNC_SEPARATE\nREGAL_DECL void REGAL_CALL plugin_glBlendFuncSeparateINGR(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);\n#endif\n\n/**\n ** GL_INGR_color_clamp\n **/\n\n#if (defined(GL_INGR_COLOR_CLAMP) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_INGR_COLOR_CLAMP)) && !defined(REGAL_NO_ENUM_GL_INGR_COLOR_CLAMP)\n#define REGAL_NO_ENUM_GL_INGR_COLOR_CLAMP\n#endif\n\n#if (defined(GL_INGR_COLOR_CLAMP) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_INGR_COLOR_CLAMP)) && !defined(REGAL_NO_TYPEDEF_GL_INGR_COLOR_CLAMP)\n#define REGAL_NO_TYPEDEF_GL_INGR_COLOR_CLAMP\n#endif\n\n#if (defined(GL_INGR_COLOR_CLAMP) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_INGR_COLOR_CLAMP)) && !defined(REGAL_NO_NAMESPACE_GL_INGR_COLOR_CLAMP)\n#define REGAL_NO_NAMESPACE_GL_INGR_COLOR_CLAMP\n#endif\n\n#if (defined(GL_INGR_COLOR_CLAMP) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_INGR_COLOR_CLAMP)) && !defined(REGAL_NO_PLUGIN_GL_INGR_COLOR_CLAMP)\n#define REGAL_NO_PLUGIN_GL_INGR_COLOR_CLAMP\n#endif\n\n#if (defined(GL_INGR_COLOR_CLAMP) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_INGR_COLOR_CLAMP)) && !defined(REGAL_NO_DECLARATION_GL_INGR_COLOR_CLAMP)\n#define REGAL_NO_DECLARATION_GL_INGR_COLOR_CLAMP\n#endif\n\n#ifndef GL_INGR_color_clamp\n#define GL_INGR_color_clamp 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_INGR_COLOR_CLAMP\n#define GL_RED_MIN_CLAMP_INGR   0x8560     /* 34144 */\n#define GL_GREEN_MIN_CLAMP_INGR 0x8561     /* 34145 */\n#define GL_BLUE_MIN_CLAMP_INGR  0x8562     /* 34146 */\n#define GL_ALPHA_MIN_CLAMP_INGR 0x8563     /* 34147 */\n#define GL_RED_MAX_CLAMP_INGR   0x8564     /* 34148 */\n#define GL_GREEN_MAX_CLAMP_INGR 0x8565     /* 34149 */\n#define GL_BLUE_MAX_CLAMP_INGR  0x8566     /* 34150 */\n#define GL_ALPHA_MAX_CLAMP_INGR 0x8567     /* 34151 */\n#endif\n\n/**\n ** GL_INGR_interlace_read\n **/\n\n#if (defined(GL_INGR_INTERLACE_READ) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_INGR_INTERLACE_READ)) && !defined(REGAL_NO_ENUM_GL_INGR_INTERLACE_READ)\n#define REGAL_NO_ENUM_GL_INGR_INTERLACE_READ\n#endif\n\n#if (defined(GL_INGR_INTERLACE_READ) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_INGR_INTERLACE_READ)) && !defined(REGAL_NO_TYPEDEF_GL_INGR_INTERLACE_READ)\n#define REGAL_NO_TYPEDEF_GL_INGR_INTERLACE_READ\n#endif\n\n#if (defined(GL_INGR_INTERLACE_READ) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_INGR_INTERLACE_READ)) && !defined(REGAL_NO_NAMESPACE_GL_INGR_INTERLACE_READ)\n#define REGAL_NO_NAMESPACE_GL_INGR_INTERLACE_READ\n#endif\n\n#if (defined(GL_INGR_INTERLACE_READ) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_INGR_INTERLACE_READ)) && !defined(REGAL_NO_PLUGIN_GL_INGR_INTERLACE_READ)\n#define REGAL_NO_PLUGIN_GL_INGR_INTERLACE_READ\n#endif\n\n#if (defined(GL_INGR_INTERLACE_READ) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_INGR_INTERLACE_READ)) && !defined(REGAL_NO_DECLARATION_GL_INGR_INTERLACE_READ)\n#define REGAL_NO_DECLARATION_GL_INGR_INTERLACE_READ\n#endif\n\n#ifndef GL_INGR_interlace_read\n#define GL_INGR_interlace_read 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_INGR_INTERLACE_READ\n#define GL_INTERLACE_READ_INGR 0x8568 /* 34152 */\n#endif\n\n/**\n ** GL_INTEL_map_texture\n **/\n\n#if (defined(GL_INTEL_MAP_TEXTURE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_INTEL_MAP_TEXTURE)) && !defined(REGAL_NO_ENUM_GL_INTEL_MAP_TEXTURE)\n#define REGAL_NO_ENUM_GL_INTEL_MAP_TEXTURE\n#endif\n\n#if (defined(GL_INTEL_MAP_TEXTURE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_INTEL_MAP_TEXTURE)) && !defined(REGAL_NO_TYPEDEF_GL_INTEL_MAP_TEXTURE)\n#define REGAL_NO_TYPEDEF_GL_INTEL_MAP_TEXTURE\n#endif\n\n#if (defined(GL_INTEL_MAP_TEXTURE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_INTEL_MAP_TEXTURE)) && !defined(REGAL_NO_NAMESPACE_GL_INTEL_MAP_TEXTURE)\n#define REGAL_NO_NAMESPACE_GL_INTEL_MAP_TEXTURE\n#endif\n\n#if (defined(GL_INTEL_MAP_TEXTURE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_INTEL_MAP_TEXTURE)) && !defined(REGAL_NO_PLUGIN_GL_INTEL_MAP_TEXTURE)\n#define REGAL_NO_PLUGIN_GL_INTEL_MAP_TEXTURE\n#endif\n\n#if (defined(GL_INTEL_MAP_TEXTURE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_INTEL_MAP_TEXTURE)) && !defined(REGAL_NO_DECLARATION_GL_INTEL_MAP_TEXTURE)\n#define REGAL_NO_DECLARATION_GL_INTEL_MAP_TEXTURE\n#endif\n\n#ifndef GL_INTEL_map_texture\n#define GL_INTEL_map_texture 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_INTEL_MAP_TEXTURE\n#define GL_LAYOUT_DEFAULT_INTEL           0x0\n#define GL_LAYOUT_LINEAR_INTEL            0x1\n#define GL_LAYOUT_LINEAR_CPU_CACHED_INTEL 0x2\n#define GL_TEXTURE_MEMORY_LAYOUT_INTEL    0x83ff     /* 33791 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_INTEL_MAP_TEXTURE\ntypedef GLvoid *(REGAL_CALL *PFNGLMAPTEXTURE2DINTELPROC)(GLuint texture, GLint level, GLbitfield access, GLint *stride, GLenum *layout);\ntypedef void (REGAL_CALL *PFNGLSYNCTEXTUREINTELPROC)(GLuint texture);\ntypedef void (REGAL_CALL *PFNGLUNMAPTEXTURE2DINTELPROC)(GLuint texture, GLint level);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_INTEL_MAP_TEXTURE\n#define glMapTexture2DINTEL                 rglMapTexture2DINTEL\n#define glSyncTextureINTEL                  rglSyncTextureINTEL\n#define glUnmapTexture2DINTEL               rglUnmapTexture2DINTEL\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_INTEL_MAP_TEXTURE\nREGAL_DECL GLvoid *REGAL_CALL glMapTexture2DINTEL(GLuint texture, GLint level, GLbitfield access, GLint *stride, GLenum *layout);\nREGAL_DECL void REGAL_CALL glSyncTextureINTEL(GLuint texture);\nREGAL_DECL void REGAL_CALL glUnmapTexture2DINTEL(GLuint texture, GLint level);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_INTEL_MAP_TEXTURE\nREGAL_DECL GLvoid *REGAL_CALL plugin_glMapTexture2DINTEL(GLuint texture, GLint level, GLbitfield access, GLint *stride, GLenum *layout);\nREGAL_DECL void REGAL_CALL plugin_glSyncTextureINTEL(GLuint texture);\nREGAL_DECL void REGAL_CALL plugin_glUnmapTexture2DINTEL(GLuint texture, GLint level);\n#endif\n\n/**\n ** GL_INTEL_parallel_arrays\n **/\n\n#if (defined(GL_INTEL_PARALLEL_ARRAYS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_INTEL_PARALLEL_ARRAYS)) && !defined(REGAL_NO_ENUM_GL_INTEL_PARALLEL_ARRAYS)\n#define REGAL_NO_ENUM_GL_INTEL_PARALLEL_ARRAYS\n#endif\n\n#if (defined(GL_INTEL_PARALLEL_ARRAYS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_INTEL_PARALLEL_ARRAYS)) && !defined(REGAL_NO_TYPEDEF_GL_INTEL_PARALLEL_ARRAYS)\n#define REGAL_NO_TYPEDEF_GL_INTEL_PARALLEL_ARRAYS\n#endif\n\n#if (defined(GL_INTEL_PARALLEL_ARRAYS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_INTEL_PARALLEL_ARRAYS)) && !defined(REGAL_NO_NAMESPACE_GL_INTEL_PARALLEL_ARRAYS)\n#define REGAL_NO_NAMESPACE_GL_INTEL_PARALLEL_ARRAYS\n#endif\n\n#if (defined(GL_INTEL_PARALLEL_ARRAYS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_INTEL_PARALLEL_ARRAYS)) && !defined(REGAL_NO_PLUGIN_GL_INTEL_PARALLEL_ARRAYS)\n#define REGAL_NO_PLUGIN_GL_INTEL_PARALLEL_ARRAYS\n#endif\n\n#if (defined(GL_INTEL_PARALLEL_ARRAYS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_INTEL_PARALLEL_ARRAYS)) && !defined(REGAL_NO_DECLARATION_GL_INTEL_PARALLEL_ARRAYS)\n#define REGAL_NO_DECLARATION_GL_INTEL_PARALLEL_ARRAYS\n#endif\n\n#ifndef GL_INTEL_parallel_arrays\n#define GL_INTEL_parallel_arrays 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_INTEL_PARALLEL_ARRAYS\n#define GL_PARALLEL_ARRAYS_INTEL                       0x83f4     /* 33780 */\n#define GL_VERTEX_ARRAY_PARALLEL_POINTERS_INTEL        0x83f5     /* 33781 */\n#define GL_NORMAL_ARRAY_PARALLEL_POINTERS_INTEL        0x83f6     /* 33782 */\n#define GL_COLOR_ARRAY_PARALLEL_POINTERS_INTEL         0x83f7     /* 33783 */\n#define GL_TEXTURE_COORD_ARRAY_PARALLEL_POINTERS_INTEL 0x83f8     /* 33784 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_INTEL_PARALLEL_ARRAYS\ntypedef void (REGAL_CALL *PFNGLCOLORPOINTERVINTELPROC)(GLint size, GLenum type, const GLvoid **pointer);\ntypedef void (REGAL_CALL *PFNGLNORMALPOINTERVINTELPROC)(GLenum type, const GLvoid **pointer);\ntypedef void (REGAL_CALL *PFNGLTEXCOORDPOINTERVINTELPROC)(GLint size, GLenum type, const GLvoid **pointer);\ntypedef void (REGAL_CALL *PFNGLVERTEXPOINTERVINTELPROC)(GLint size, GLenum type, const GLvoid **pointer);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_INTEL_PARALLEL_ARRAYS\n#define glColorPointervINTEL                rglColorPointervINTEL\n#define glNormalPointervINTEL               rglNormalPointervINTEL\n#define glTexCoordPointervINTEL             rglTexCoordPointervINTEL\n#define glVertexPointervINTEL               rglVertexPointervINTEL\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_INTEL_PARALLEL_ARRAYS\nREGAL_DECL void REGAL_CALL glColorPointervINTEL(GLint size, GLenum type, const GLvoid **pointer);\nREGAL_DECL void REGAL_CALL glNormalPointervINTEL(GLenum type, const GLvoid **pointer);\nREGAL_DECL void REGAL_CALL glTexCoordPointervINTEL(GLint size, GLenum type, const GLvoid **pointer);\nREGAL_DECL void REGAL_CALL glVertexPointervINTEL(GLint size, GLenum type, const GLvoid **pointer);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_INTEL_PARALLEL_ARRAYS\nREGAL_DECL void REGAL_CALL plugin_glColorPointervINTEL(GLint size, GLenum type, const GLvoid **pointer);\nREGAL_DECL void REGAL_CALL plugin_glNormalPointervINTEL(GLenum type, const GLvoid **pointer);\nREGAL_DECL void REGAL_CALL plugin_glTexCoordPointervINTEL(GLint size, GLenum type, const GLvoid **pointer);\nREGAL_DECL void REGAL_CALL plugin_glVertexPointervINTEL(GLint size, GLenum type, const GLvoid **pointer);\n#endif\n\n/**\n ** GL_INTEL_texture_scissor\n **/\n\n#if (defined(GL_INTEL_TEXTURE_SCISSOR) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_INTEL_TEXTURE_SCISSOR)) && !defined(REGAL_NO_ENUM_GL_INTEL_TEXTURE_SCISSOR)\n#define REGAL_NO_ENUM_GL_INTEL_TEXTURE_SCISSOR\n#endif\n\n#if (defined(GL_INTEL_TEXTURE_SCISSOR) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_INTEL_TEXTURE_SCISSOR)) && !defined(REGAL_NO_TYPEDEF_GL_INTEL_TEXTURE_SCISSOR)\n#define REGAL_NO_TYPEDEF_GL_INTEL_TEXTURE_SCISSOR\n#endif\n\n#if (defined(GL_INTEL_TEXTURE_SCISSOR) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_INTEL_TEXTURE_SCISSOR)) && !defined(REGAL_NO_NAMESPACE_GL_INTEL_TEXTURE_SCISSOR)\n#define REGAL_NO_NAMESPACE_GL_INTEL_TEXTURE_SCISSOR\n#endif\n\n#if (defined(GL_INTEL_TEXTURE_SCISSOR) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_INTEL_TEXTURE_SCISSOR)) && !defined(REGAL_NO_PLUGIN_GL_INTEL_TEXTURE_SCISSOR)\n#define REGAL_NO_PLUGIN_GL_INTEL_TEXTURE_SCISSOR\n#endif\n\n#if (defined(GL_INTEL_TEXTURE_SCISSOR) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_INTEL_TEXTURE_SCISSOR)) && !defined(REGAL_NO_DECLARATION_GL_INTEL_TEXTURE_SCISSOR)\n#define REGAL_NO_DECLARATION_GL_INTEL_TEXTURE_SCISSOR\n#endif\n\n#ifndef GL_INTEL_texture_scissor\n#define GL_INTEL_texture_scissor 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_INTEL_TEXTURE_SCISSOR\ntypedef void (REGAL_CALL *PFNGLTEXSCISSORFUNCINTELPROC)(GLenum target, GLenum lfunc, GLenum hfunc);\ntypedef void (REGAL_CALL *PFNGLTEXSCISSORINTELPROC)(GLenum target, GLclampf tlow, GLclampf thigh);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_INTEL_TEXTURE_SCISSOR\n#define glTexScissorFuncINTEL               rglTexScissorFuncINTEL\n#define glTexScissorINTEL                   rglTexScissorINTEL\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_INTEL_TEXTURE_SCISSOR\nREGAL_DECL void REGAL_CALL glTexScissorFuncINTEL(GLenum target, GLenum lfunc, GLenum hfunc);\nREGAL_DECL void REGAL_CALL glTexScissorINTEL(GLenum target, GLclampf tlow, GLclampf thigh);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_INTEL_TEXTURE_SCISSOR\nREGAL_DECL void REGAL_CALL plugin_glTexScissorFuncINTEL(GLenum target, GLenum lfunc, GLenum hfunc);\nREGAL_DECL void REGAL_CALL plugin_glTexScissorINTEL(GLenum target, GLclampf tlow, GLclampf thigh);\n#endif\n\n/**\n ** GL_KHR_debug\n **/\n\n#if (defined(GL_KHR_DEBUG) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_KHR_DEBUG)) && !defined(REGAL_NO_ENUM_GL_KHR_DEBUG)\n#define REGAL_NO_ENUM_GL_KHR_DEBUG\n#endif\n\n#if (defined(GL_KHR_DEBUG) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_KHR_DEBUG)) && !defined(REGAL_NO_TYPEDEF_GL_KHR_DEBUG)\n#define REGAL_NO_TYPEDEF_GL_KHR_DEBUG\n#endif\n\n#if (defined(GL_KHR_DEBUG) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_KHR_DEBUG)) && !defined(REGAL_NO_NAMESPACE_GL_KHR_DEBUG)\n#define REGAL_NO_NAMESPACE_GL_KHR_DEBUG\n#endif\n\n#if (defined(GL_KHR_DEBUG) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_KHR_DEBUG)) && !defined(REGAL_NO_PLUGIN_GL_KHR_DEBUG)\n#define REGAL_NO_PLUGIN_GL_KHR_DEBUG\n#endif\n\n#if (defined(GL_KHR_DEBUG) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_KHR_DEBUG)) && !defined(REGAL_NO_DECLARATION_GL_KHR_DEBUG)\n#define REGAL_NO_DECLARATION_GL_KHR_DEBUG\n#endif\n\n#ifndef GL_KHR_debug\n#define GL_KHR_debug 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_KHR_DEBUG\n#define GL_CONTEXT_FLAG_DEBUG_BIT           0x2\n#define GL_DEBUG_OUTPUT_SYNCHRONOUS         0x8242     /* 33346 */\n#define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH 0x8243     /* 33347 */\n#define GL_DEBUG_CALLBACK_FUNCTION          0x8244     /* 33348 */\n#define GL_DEBUG_CALLBACK_USER_PARAM        0x8245     /* 33349 */\n#define GL_DEBUG_SOURCE_API                 0x8246     /* 33350 */\n#define GL_DEBUG_SOURCE_WINDOW_SYSTEM       0x8247     /* 33351 */\n#define GL_DEBUG_SOURCE_SHADER_COMPILER     0x8248     /* 33352 */\n#define GL_DEBUG_SOURCE_THIRD_PARTY         0x8249     /* 33353 */\n#define GL_DEBUG_SOURCE_APPLICATION         0x824a     /* 33354 */\n#define GL_DEBUG_SOURCE_OTHER               0x824b     /* 33355 */\n#define GL_DEBUG_TYPE_ERROR                 0x824c     /* 33356 */\n#define GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR   0x824d     /* 33357 */\n#define GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR    0x824e     /* 33358 */\n#define GL_DEBUG_TYPE_PORTABILITY           0x824f     /* 33359 */\n#define GL_DEBUG_TYPE_PERFORMANCE           0x8250     /* 33360 */\n#define GL_DEBUG_TYPE_OTHER                 0x8251     /* 33361 */\n#define GL_DEBUG_TYPE_MARKER                0x8268     /* 33384 */\n#define GL_DEBUG_TYPE_PUSH_GROUP            0x8269     /* 33385 */\n#define GL_DEBUG_TYPE_POP_GROUP             0x826a     /* 33386 */\n#define GL_DEBUG_SEVERITY_NOTIFICATION      0x826b     /* 33387 */\n#define GL_MAX_DEBUG_GROUP_STACK_DEPTH      0x826c     /* 33388 */\n#define GL_DEBUG_GROUP_STACK_DEPTH          0x826d     /* 33389 */\n#define GL_BUFFER                           0x82e0     /* 33504 */\n#define GL_SHADER                           0x82e1     /* 33505 */\n#define GL_PROGRAM                          0x82e2     /* 33506 */\n#define GL_QUERY                            0x82e3     /* 33507 */\n#define GL_PROGRAM_PIPELINE                 0x82e4     /* 33508 */\n#define GL_SAMPLER                          0x82e6     /* 33510 */\n#define GL_DISPLAY_LIST                     0x82e7     /* 33511 */\n#define GL_MAX_LABEL_LENGTH                 0x82e8     /* 33512 */\n#define GL_MAX_DEBUG_MESSAGE_LENGTH         0x9143     /* 37187 */\n#define GL_MAX_DEBUG_LOGGED_MESSAGES        0x9144     /* 37188 */\n#define GL_DEBUG_LOGGED_MESSAGES            0x9145     /* 37189 */\n#define GL_DEBUG_SEVERITY_HIGH              0x9146     /* 37190 */\n#define GL_DEBUG_SEVERITY_MEDIUM            0x9147     /* 37191 */\n#define GL_DEBUG_SEVERITY_LOW               0x9148     /* 37192 */\n#define GL_DEBUG_OUTPUT                     0x92e0     /* 37600 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_KHR_DEBUG\ntypedef GLuint (REGAL_CALL *PFNGLGETDEBUGMESSAGELOGPROC)(GLuint count, GLsizei bufsize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);\ntypedef void (REGAL_CALL *PFNGLDEBUGMESSAGECALLBACKPROC)(GLDEBUGPROC callback, const GLvoid *userParam);\ntypedef void (REGAL_CALL *PFNGLDEBUGMESSAGECONTROLPROC)(GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);\ntypedef void (REGAL_CALL *PFNGLDEBUGMESSAGEINSERTPROC)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);\ntypedef void (REGAL_CALL *PFNGLGETOBJECTLABELPROC)(GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label);\ntypedef void (REGAL_CALL *PFNGLGETOBJECTPTRLABELPROC)(const GLvoid *ptr, GLsizei bufSize, GLsizei *length, GLchar *label);\ntypedef void (REGAL_CALL *PFNGLOBJECTLABELPROC)(GLenum identifier, GLuint name, GLsizei length, const GLchar *label);\ntypedef void (REGAL_CALL *PFNGLOBJECTPTRLABELPROC)(const GLvoid *ptr, GLsizei length, const GLchar *label);\ntypedef void (REGAL_CALL *PFNGLPOPDEBUGGROUPPROC)(void);\ntypedef void (REGAL_CALL *PFNGLPUSHDEBUGGROUPPROC)(GLenum source, GLuint id, GLsizei length, const GLchar *message);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_KHR_DEBUG\n#define glDebugMessageCallback              rglDebugMessageCallback\n#define glDebugMessageControl               rglDebugMessageControl\n#define glDebugMessageInsert                rglDebugMessageInsert\n#define glGetDebugMessageLog                rglGetDebugMessageLog\n#define glGetObjectLabel                    rglGetObjectLabel\n#define glGetObjectPtrLabel                 rglGetObjectPtrLabel\n#define glObjectLabel                       rglObjectLabel\n#define glObjectPtrLabel                    rglObjectPtrLabel\n#define glPopDebugGroup                     rglPopDebugGroup\n#define glPushDebugGroup                    rglPushDebugGroup\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_KHR_DEBUG\nREGAL_DECL GLuint REGAL_CALL glGetDebugMessageLog(GLuint count, GLsizei bufsize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);\nREGAL_DECL void REGAL_CALL glDebugMessageCallback(GLDEBUGPROC callback, const GLvoid *userParam);\nREGAL_DECL void REGAL_CALL glDebugMessageControl(GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);\nREGAL_DECL void REGAL_CALL glDebugMessageInsert(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);\nREGAL_DECL void REGAL_CALL glGetObjectLabel(GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label);\nREGAL_DECL void REGAL_CALL glGetObjectPtrLabel(const GLvoid *ptr, GLsizei bufSize, GLsizei *length, GLchar *label);\nREGAL_DECL void REGAL_CALL glObjectLabel(GLenum identifier, GLuint name, GLsizei length, const GLchar *label);\nREGAL_DECL void REGAL_CALL glObjectPtrLabel(const GLvoid *ptr, GLsizei length, const GLchar *label);\nREGAL_DECL void REGAL_CALL glPopDebugGroup(void);\nREGAL_DECL void REGAL_CALL glPushDebugGroup(GLenum source, GLuint id, GLsizei length, const GLchar *message);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_KHR_DEBUG\nREGAL_DECL GLuint REGAL_CALL plugin_glGetDebugMessageLog(GLuint count, GLsizei bufsize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);\nREGAL_DECL void REGAL_CALL plugin_glDebugMessageCallback(GLDEBUGPROC callback, const GLvoid *userParam);\nREGAL_DECL void REGAL_CALL plugin_glDebugMessageControl(GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);\nREGAL_DECL void REGAL_CALL plugin_glDebugMessageInsert(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);\nREGAL_DECL void REGAL_CALL plugin_glGetObjectLabel(GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label);\nREGAL_DECL void REGAL_CALL plugin_glGetObjectPtrLabel(const GLvoid *ptr, GLsizei bufSize, GLsizei *length, GLchar *label);\nREGAL_DECL void REGAL_CALL plugin_glObjectLabel(GLenum identifier, GLuint name, GLsizei length, const GLchar *label);\nREGAL_DECL void REGAL_CALL plugin_glObjectPtrLabel(const GLvoid *ptr, GLsizei length, const GLchar *label);\nREGAL_DECL void REGAL_CALL plugin_glPopDebugGroup(void);\nREGAL_DECL void REGAL_CALL plugin_glPushDebugGroup(GLenum source, GLuint id, GLsizei length, const GLchar *message);\n#endif\n\n/**\n ** GL_KHR_texture_compression_astc_ldr\n **/\n\n#if (defined(GL_KHR_TEXTURE_COMPRESSION_ASTC_LDR) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_KHR_TEXTURE_COMPRESSION_ASTC_LDR)) && !defined(REGAL_NO_ENUM_GL_KHR_TEXTURE_COMPRESSION_ASTC_LDR)\n#define REGAL_NO_ENUM_GL_KHR_TEXTURE_COMPRESSION_ASTC_LDR\n#endif\n\n#if (defined(GL_KHR_TEXTURE_COMPRESSION_ASTC_LDR) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_KHR_TEXTURE_COMPRESSION_ASTC_LDR)) && !defined(REGAL_NO_TYPEDEF_GL_KHR_TEXTURE_COMPRESSION_ASTC_LDR)\n#define REGAL_NO_TYPEDEF_GL_KHR_TEXTURE_COMPRESSION_ASTC_LDR\n#endif\n\n#if (defined(GL_KHR_TEXTURE_COMPRESSION_ASTC_LDR) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_KHR_TEXTURE_COMPRESSION_ASTC_LDR)) && !defined(REGAL_NO_NAMESPACE_GL_KHR_TEXTURE_COMPRESSION_ASTC_LDR)\n#define REGAL_NO_NAMESPACE_GL_KHR_TEXTURE_COMPRESSION_ASTC_LDR\n#endif\n\n#if (defined(GL_KHR_TEXTURE_COMPRESSION_ASTC_LDR) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_KHR_TEXTURE_COMPRESSION_ASTC_LDR)) && !defined(REGAL_NO_PLUGIN_GL_KHR_TEXTURE_COMPRESSION_ASTC_LDR)\n#define REGAL_NO_PLUGIN_GL_KHR_TEXTURE_COMPRESSION_ASTC_LDR\n#endif\n\n#if (defined(GL_KHR_TEXTURE_COMPRESSION_ASTC_LDR) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_KHR_TEXTURE_COMPRESSION_ASTC_LDR)) && !defined(REGAL_NO_DECLARATION_GL_KHR_TEXTURE_COMPRESSION_ASTC_LDR)\n#define REGAL_NO_DECLARATION_GL_KHR_TEXTURE_COMPRESSION_ASTC_LDR\n#endif\n\n#ifndef GL_KHR_texture_compression_astc_ldr\n#define GL_KHR_texture_compression_astc_ldr 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_KHR_TEXTURE_COMPRESSION_ASTC_LDR\n#define GL_COMPRESSED_RGBA_ASTC_4x4_KHR           0x93b0     /* 37808 */\n#define GL_COMPRESSED_RGBA_ASTC_5x4_KHR           0x93b1     /* 37809 */\n#define GL_COMPRESSED_RGBA_ASTC_5x5_KHR           0x93b2     /* 37810 */\n#define GL_COMPRESSED_RGBA_ASTC_6x5_KHR           0x93b3     /* 37811 */\n#define GL_COMPRESSED_RGBA_ASTC_6x6_KHR           0x93b4     /* 37812 */\n#define GL_COMPRESSED_RGBA_ASTC_8x5_KHR           0x93b5     /* 37813 */\n#define GL_COMPRESSED_RGBA_ASTC_8x6_KHR           0x93b6     /* 37814 */\n#define GL_COMPRESSED_RGBA_ASTC_8x8_KHR           0x93b7     /* 37815 */\n#define GL_COMPRESSED_RGBA_ASTC_10x5_KHR          0x93b8     /* 37816 */\n#define GL_COMPRESSED_RGBA_ASTC_10x6_KHR          0x93b9     /* 37817 */\n#define GL_COMPRESSED_RGBA_ASTC_10x8_KHR          0x93ba     /* 37818 */\n#define GL_COMPRESSED_RGBA_ASTC_10x10_KHR         0x93bb     /* 37819 */\n#define GL_COMPRESSED_RGBA_ASTC_12x10_KHR         0x93bc     /* 37820 */\n#define GL_COMPRESSED_RGBA_ASTC_12x12_KHR         0x93bd     /* 37821 */\n#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR   0x93d0     /* 37840 */\n#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR   0x93d1     /* 37841 */\n#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR   0x93d2     /* 37842 */\n#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR   0x93d3     /* 37843 */\n#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR   0x93d4     /* 37844 */\n#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR   0x93d5     /* 37845 */\n#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR   0x93d6     /* 37846 */\n#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR   0x93d7     /* 37847 */\n#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR  0x93d8     /* 37848 */\n#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR  0x93d9     /* 37849 */\n#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR  0x93da     /* 37850 */\n#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR 0x93db     /* 37851 */\n#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR 0x93dc     /* 37852 */\n#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR 0x93dd     /* 37853 */\n#endif\n\n/**\n ** GL_KTX_buffer_region\n **/\n\n#if (defined(GL_KTX_BUFFER_REGION) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_KTX_BUFFER_REGION)) && !defined(REGAL_NO_ENUM_GL_KTX_BUFFER_REGION)\n#define REGAL_NO_ENUM_GL_KTX_BUFFER_REGION\n#endif\n\n#if (defined(GL_KTX_BUFFER_REGION) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_KTX_BUFFER_REGION)) && !defined(REGAL_NO_TYPEDEF_GL_KTX_BUFFER_REGION)\n#define REGAL_NO_TYPEDEF_GL_KTX_BUFFER_REGION\n#endif\n\n#if (defined(GL_KTX_BUFFER_REGION) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_KTX_BUFFER_REGION)) && !defined(REGAL_NO_NAMESPACE_GL_KTX_BUFFER_REGION)\n#define REGAL_NO_NAMESPACE_GL_KTX_BUFFER_REGION\n#endif\n\n#if (defined(GL_KTX_BUFFER_REGION) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_KTX_BUFFER_REGION)) && !defined(REGAL_NO_PLUGIN_GL_KTX_BUFFER_REGION)\n#define REGAL_NO_PLUGIN_GL_KTX_BUFFER_REGION\n#endif\n\n#if (defined(GL_KTX_BUFFER_REGION) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_KTX_BUFFER_REGION)) && !defined(REGAL_NO_DECLARATION_GL_KTX_BUFFER_REGION)\n#define REGAL_NO_DECLARATION_GL_KTX_BUFFER_REGION\n#endif\n\n#ifndef GL_KTX_buffer_region\n#define GL_KTX_buffer_region 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_KTX_BUFFER_REGION\n#define GL_KTX_FRONT_REGION   0x0\n#define GL_KTX_BACK_REGION    0x1\n#define GL_KTX_Z_REGION       0x2\n#define GL_KTX_STENCIL_REGION 0x3\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_KTX_BUFFER_REGION\ntypedef GLuint (REGAL_CALL *PFNGLBUFFERREGIONENABLEDPROC)(void);\ntypedef GLuint (REGAL_CALL *PFNGLNEWBUFFERREGIONPROC)(GLenum region);\ntypedef void (REGAL_CALL *PFNGLDELETEBUFFERREGIONPROC)(GLenum region);\ntypedef void (REGAL_CALL *PFNGLDRAWBUFFERREGIONPROC)(GLuint region, GLint x, GLint y, GLsizei width, GLsizei height, GLint xDest, GLint yDest);\ntypedef void (REGAL_CALL *PFNGLREADBUFFERREGIONPROC)(GLuint region, GLint x, GLint y, GLsizei width, GLsizei height);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_KTX_BUFFER_REGION\n#define glBufferRegionEnabled               rglBufferRegionEnabled\n#define glDeleteBufferRegion                rglDeleteBufferRegion\n#define glDrawBufferRegion                  rglDrawBufferRegion\n#define glNewBufferRegion                   rglNewBufferRegion\n#define glReadBufferRegion                  rglReadBufferRegion\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_KTX_BUFFER_REGION\nREGAL_DECL GLuint REGAL_CALL glBufferRegionEnabled(void);\nREGAL_DECL GLuint REGAL_CALL glNewBufferRegion(GLenum region);\nREGAL_DECL void REGAL_CALL glDeleteBufferRegion(GLenum region);\nREGAL_DECL void REGAL_CALL glDrawBufferRegion(GLuint region, GLint x, GLint y, GLsizei width, GLsizei height, GLint xDest, GLint yDest);\nREGAL_DECL void REGAL_CALL glReadBufferRegion(GLuint region, GLint x, GLint y, GLsizei width, GLsizei height);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_KTX_BUFFER_REGION\nREGAL_DECL GLuint REGAL_CALL plugin_glBufferRegionEnabled(void);\nREGAL_DECL GLuint REGAL_CALL plugin_glNewBufferRegion(GLenum region);\nREGAL_DECL void REGAL_CALL plugin_glDeleteBufferRegion(GLenum region);\nREGAL_DECL void REGAL_CALL plugin_glDrawBufferRegion(GLuint region, GLint x, GLint y, GLsizei width, GLsizei height, GLint xDest, GLint yDest);\nREGAL_DECL void REGAL_CALL plugin_glReadBufferRegion(GLuint region, GLint x, GLint y, GLsizei width, GLsizei height);\n#endif\n\n/**\n ** GL_MESAX_texture_stack\n **/\n\n#if (defined(GL_MESAX_TEXTURE_STACK) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_MESAX_TEXTURE_STACK)) && !defined(REGAL_NO_ENUM_GL_MESAX_TEXTURE_STACK)\n#define REGAL_NO_ENUM_GL_MESAX_TEXTURE_STACK\n#endif\n\n#if (defined(GL_MESAX_TEXTURE_STACK) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_MESAX_TEXTURE_STACK)) && !defined(REGAL_NO_TYPEDEF_GL_MESAX_TEXTURE_STACK)\n#define REGAL_NO_TYPEDEF_GL_MESAX_TEXTURE_STACK\n#endif\n\n#if (defined(GL_MESAX_TEXTURE_STACK) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_MESAX_TEXTURE_STACK)) && !defined(REGAL_NO_NAMESPACE_GL_MESAX_TEXTURE_STACK)\n#define REGAL_NO_NAMESPACE_GL_MESAX_TEXTURE_STACK\n#endif\n\n#if (defined(GL_MESAX_TEXTURE_STACK) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_MESAX_TEXTURE_STACK)) && !defined(REGAL_NO_PLUGIN_GL_MESAX_TEXTURE_STACK)\n#define REGAL_NO_PLUGIN_GL_MESAX_TEXTURE_STACK\n#endif\n\n#if (defined(GL_MESAX_TEXTURE_STACK) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_MESAX_TEXTURE_STACK)) && !defined(REGAL_NO_DECLARATION_GL_MESAX_TEXTURE_STACK)\n#define REGAL_NO_DECLARATION_GL_MESAX_TEXTURE_STACK\n#endif\n\n#ifndef GL_MESAX_texture_stack\n#define GL_MESAX_texture_stack 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_MESAX_TEXTURE_STACK\n#define GL_TEXTURE_1D_STACK_MESAX         0x8759     /* 34649 */\n#define GL_TEXTURE_2D_STACK_MESAX         0x875a     /* 34650 */\n#define GL_PROXY_TEXTURE_1D_STACK_MESAX   0x875b     /* 34651 */\n#define GL_PROXY_TEXTURE_2D_STACK_MESAX   0x875c     /* 34652 */\n#define GL_TEXTURE_1D_STACK_BINDING_MESAX 0x875d     /* 34653 */\n#define GL_TEXTURE_2D_STACK_BINDING_MESAX 0x875e     /* 34654 */\n#endif\n\n/**\n ** GL_MESA_pack_invert\n **/\n\n#if (defined(GL_MESA_PACK_INVERT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_MESA_PACK_INVERT)) && !defined(REGAL_NO_ENUM_GL_MESA_PACK_INVERT)\n#define REGAL_NO_ENUM_GL_MESA_PACK_INVERT\n#endif\n\n#if (defined(GL_MESA_PACK_INVERT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_MESA_PACK_INVERT)) && !defined(REGAL_NO_TYPEDEF_GL_MESA_PACK_INVERT)\n#define REGAL_NO_TYPEDEF_GL_MESA_PACK_INVERT\n#endif\n\n#if (defined(GL_MESA_PACK_INVERT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_MESA_PACK_INVERT)) && !defined(REGAL_NO_NAMESPACE_GL_MESA_PACK_INVERT)\n#define REGAL_NO_NAMESPACE_GL_MESA_PACK_INVERT\n#endif\n\n#if (defined(GL_MESA_PACK_INVERT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_MESA_PACK_INVERT)) && !defined(REGAL_NO_PLUGIN_GL_MESA_PACK_INVERT)\n#define REGAL_NO_PLUGIN_GL_MESA_PACK_INVERT\n#endif\n\n#if (defined(GL_MESA_PACK_INVERT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_MESA_PACK_INVERT)) && !defined(REGAL_NO_DECLARATION_GL_MESA_PACK_INVERT)\n#define REGAL_NO_DECLARATION_GL_MESA_PACK_INVERT\n#endif\n\n#ifndef GL_MESA_pack_invert\n#define GL_MESA_pack_invert 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_MESA_PACK_INVERT\n#define GL_PACK_INVERT_MESA 0x8758 /* 34648 */\n#endif\n\n/**\n ** GL_MESA_resize_buffers\n **/\n\n#if (defined(GL_MESA_RESIZE_BUFFERS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_MESA_RESIZE_BUFFERS)) && !defined(REGAL_NO_ENUM_GL_MESA_RESIZE_BUFFERS)\n#define REGAL_NO_ENUM_GL_MESA_RESIZE_BUFFERS\n#endif\n\n#if (defined(GL_MESA_RESIZE_BUFFERS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_MESA_RESIZE_BUFFERS)) && !defined(REGAL_NO_TYPEDEF_GL_MESA_RESIZE_BUFFERS)\n#define REGAL_NO_TYPEDEF_GL_MESA_RESIZE_BUFFERS\n#endif\n\n#if (defined(GL_MESA_RESIZE_BUFFERS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_MESA_RESIZE_BUFFERS)) && !defined(REGAL_NO_NAMESPACE_GL_MESA_RESIZE_BUFFERS)\n#define REGAL_NO_NAMESPACE_GL_MESA_RESIZE_BUFFERS\n#endif\n\n#if (defined(GL_MESA_RESIZE_BUFFERS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_MESA_RESIZE_BUFFERS)) && !defined(REGAL_NO_PLUGIN_GL_MESA_RESIZE_BUFFERS)\n#define REGAL_NO_PLUGIN_GL_MESA_RESIZE_BUFFERS\n#endif\n\n#if (defined(GL_MESA_RESIZE_BUFFERS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_MESA_RESIZE_BUFFERS)) && !defined(REGAL_NO_DECLARATION_GL_MESA_RESIZE_BUFFERS)\n#define REGAL_NO_DECLARATION_GL_MESA_RESIZE_BUFFERS\n#endif\n\n#ifndef GL_MESA_resize_buffers\n#define GL_MESA_resize_buffers 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_MESA_RESIZE_BUFFERS\ntypedef void (REGAL_CALL *PFNGLRESIZEBUFFERSMESAPROC)(void);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_MESA_RESIZE_BUFFERS\n#define glResizeBuffersMESA                 rglResizeBuffersMESA\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_MESA_RESIZE_BUFFERS\nREGAL_DECL void REGAL_CALL glResizeBuffersMESA(void);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_MESA_RESIZE_BUFFERS\nREGAL_DECL void REGAL_CALL plugin_glResizeBuffersMESA(void);\n#endif\n\n/**\n ** GL_MESA_window_pos\n **/\n\n#if (defined(GL_MESA_WINDOW_POS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_MESA_WINDOW_POS)) && !defined(REGAL_NO_ENUM_GL_MESA_WINDOW_POS)\n#define REGAL_NO_ENUM_GL_MESA_WINDOW_POS\n#endif\n\n#if (defined(GL_MESA_WINDOW_POS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_MESA_WINDOW_POS)) && !defined(REGAL_NO_TYPEDEF_GL_MESA_WINDOW_POS)\n#define REGAL_NO_TYPEDEF_GL_MESA_WINDOW_POS\n#endif\n\n#if (defined(GL_MESA_WINDOW_POS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_MESA_WINDOW_POS)) && !defined(REGAL_NO_NAMESPACE_GL_MESA_WINDOW_POS)\n#define REGAL_NO_NAMESPACE_GL_MESA_WINDOW_POS\n#endif\n\n#if (defined(GL_MESA_WINDOW_POS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_MESA_WINDOW_POS)) && !defined(REGAL_NO_PLUGIN_GL_MESA_WINDOW_POS)\n#define REGAL_NO_PLUGIN_GL_MESA_WINDOW_POS\n#endif\n\n#if (defined(GL_MESA_WINDOW_POS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_MESA_WINDOW_POS)) && !defined(REGAL_NO_DECLARATION_GL_MESA_WINDOW_POS)\n#define REGAL_NO_DECLARATION_GL_MESA_WINDOW_POS\n#endif\n\n#ifndef GL_MESA_window_pos\n#define GL_MESA_window_pos 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_MESA_WINDOW_POS\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS2DMESAPROC)(GLdouble x, GLdouble y);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS2DVMESAPROC)(const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS2FMESAPROC)(GLfloat x, GLfloat y);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS2FVMESAPROC)(const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS2IMESAPROC)(GLint x, GLint y);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS2IVMESAPROC)(const GLint *v);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS2SMESAPROC)(GLshort x, GLshort y);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS2SVMESAPROC)(const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS3DMESAPROC)(GLdouble x, GLdouble y, GLdouble z);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS3DVMESAPROC)(const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS3FMESAPROC)(GLfloat x, GLfloat y, GLfloat z);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS3FVMESAPROC)(const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS3IMESAPROC)(GLint x, GLint y, GLint z);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS3IVMESAPROC)(const GLint *v);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS3SMESAPROC)(GLshort x, GLshort y, GLshort z);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS3SVMESAPROC)(const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS4DMESAPROC)(GLdouble x, GLdouble y, GLdouble z, GLdouble w);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS4DVMESAPROC)(const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS4FMESAPROC)(GLfloat x, GLfloat y, GLfloat z, GLfloat w);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS4FVMESAPROC)(const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS4IMESAPROC)(GLint x, GLint y, GLint z, GLint w);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS4IVMESAPROC)(const GLint *v);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS4SMESAPROC)(GLshort x, GLshort y, GLshort z, GLshort w);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS4SVMESAPROC)(const GLshort *v);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_MESA_WINDOW_POS\n#define glWindowPos2dMESA                   rglWindowPos2dMESA\n#define glWindowPos2dvMESA                  rglWindowPos2dvMESA\n#define glWindowPos2fMESA                   rglWindowPos2fMESA\n#define glWindowPos2fvMESA                  rglWindowPos2fvMESA\n#define glWindowPos2iMESA                   rglWindowPos2iMESA\n#define glWindowPos2ivMESA                  rglWindowPos2ivMESA\n#define glWindowPos2sMESA                   rglWindowPos2sMESA\n#define glWindowPos2svMESA                  rglWindowPos2svMESA\n#define glWindowPos3dMESA                   rglWindowPos3dMESA\n#define glWindowPos3dvMESA                  rglWindowPos3dvMESA\n#define glWindowPos3fMESA                   rglWindowPos3fMESA\n#define glWindowPos3fvMESA                  rglWindowPos3fvMESA\n#define glWindowPos3iMESA                   rglWindowPos3iMESA\n#define glWindowPos3ivMESA                  rglWindowPos3ivMESA\n#define glWindowPos3sMESA                   rglWindowPos3sMESA\n#define glWindowPos3svMESA                  rglWindowPos3svMESA\n#define glWindowPos4dMESA                   rglWindowPos4dMESA\n#define glWindowPos4dvMESA                  rglWindowPos4dvMESA\n#define glWindowPos4fMESA                   rglWindowPos4fMESA\n#define glWindowPos4fvMESA                  rglWindowPos4fvMESA\n#define glWindowPos4iMESA                   rglWindowPos4iMESA\n#define glWindowPos4ivMESA                  rglWindowPos4ivMESA\n#define glWindowPos4sMESA                   rglWindowPos4sMESA\n#define glWindowPos4svMESA                  rglWindowPos4svMESA\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_MESA_WINDOW_POS\nREGAL_DECL void REGAL_CALL glWindowPos2dMESA(GLdouble x, GLdouble y);\nREGAL_DECL void REGAL_CALL glWindowPos2dvMESA(const GLdouble *v);\nREGAL_DECL void REGAL_CALL glWindowPos2fMESA(GLfloat x, GLfloat y);\nREGAL_DECL void REGAL_CALL glWindowPos2fvMESA(const GLfloat *v);\nREGAL_DECL void REGAL_CALL glWindowPos2iMESA(GLint x, GLint y);\nREGAL_DECL void REGAL_CALL glWindowPos2ivMESA(const GLint *v);\nREGAL_DECL void REGAL_CALL glWindowPos2sMESA(GLshort x, GLshort y);\nREGAL_DECL void REGAL_CALL glWindowPos2svMESA(const GLshort *v);\nREGAL_DECL void REGAL_CALL glWindowPos3dMESA(GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL glWindowPos3dvMESA(const GLdouble *v);\nREGAL_DECL void REGAL_CALL glWindowPos3fMESA(GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL glWindowPos3fvMESA(const GLfloat *v);\nREGAL_DECL void REGAL_CALL glWindowPos3iMESA(GLint x, GLint y, GLint z);\nREGAL_DECL void REGAL_CALL glWindowPos3ivMESA(const GLint *v);\nREGAL_DECL void REGAL_CALL glWindowPos3sMESA(GLshort x, GLshort y, GLshort z);\nREGAL_DECL void REGAL_CALL glWindowPos3svMESA(const GLshort *v);\nREGAL_DECL void REGAL_CALL glWindowPos4dMESA(GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nREGAL_DECL void REGAL_CALL glWindowPos4dvMESA(const GLdouble *v);\nREGAL_DECL void REGAL_CALL glWindowPos4fMESA(GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nREGAL_DECL void REGAL_CALL glWindowPos4fvMESA(const GLfloat *v);\nREGAL_DECL void REGAL_CALL glWindowPos4iMESA(GLint x, GLint y, GLint z, GLint w);\nREGAL_DECL void REGAL_CALL glWindowPos4ivMESA(const GLint *v);\nREGAL_DECL void REGAL_CALL glWindowPos4sMESA(GLshort x, GLshort y, GLshort z, GLshort w);\nREGAL_DECL void REGAL_CALL glWindowPos4svMESA(const GLshort *v);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_MESA_WINDOW_POS\nREGAL_DECL void REGAL_CALL plugin_glWindowPos2dMESA(GLdouble x, GLdouble y);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos2dvMESA(const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos2fMESA(GLfloat x, GLfloat y);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos2fvMESA(const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos2iMESA(GLint x, GLint y);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos2ivMESA(const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos2sMESA(GLshort x, GLshort y);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos2svMESA(const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos3dMESA(GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos3dvMESA(const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos3fMESA(GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos3fvMESA(const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos3iMESA(GLint x, GLint y, GLint z);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos3ivMESA(const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos3sMESA(GLshort x, GLshort y, GLshort z);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos3svMESA(const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos4dMESA(GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos4dvMESA(const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos4fMESA(GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos4fvMESA(const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos4iMESA(GLint x, GLint y, GLint z, GLint w);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos4ivMESA(const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos4sMESA(GLshort x, GLshort y, GLshort z, GLshort w);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos4svMESA(const GLshort *v);\n#endif\n\n/**\n ** GL_MESA_ycbcr_texture\n **/\n\n#if (defined(GL_MESA_YCBCR_TEXTURE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_MESA_YCBCR_TEXTURE)) && !defined(REGAL_NO_ENUM_GL_MESA_YCBCR_TEXTURE)\n#define REGAL_NO_ENUM_GL_MESA_YCBCR_TEXTURE\n#endif\n\n#if (defined(GL_MESA_YCBCR_TEXTURE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_MESA_YCBCR_TEXTURE)) && !defined(REGAL_NO_TYPEDEF_GL_MESA_YCBCR_TEXTURE)\n#define REGAL_NO_TYPEDEF_GL_MESA_YCBCR_TEXTURE\n#endif\n\n#if (defined(GL_MESA_YCBCR_TEXTURE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_MESA_YCBCR_TEXTURE)) && !defined(REGAL_NO_NAMESPACE_GL_MESA_YCBCR_TEXTURE)\n#define REGAL_NO_NAMESPACE_GL_MESA_YCBCR_TEXTURE\n#endif\n\n#if (defined(GL_MESA_YCBCR_TEXTURE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_MESA_YCBCR_TEXTURE)) && !defined(REGAL_NO_PLUGIN_GL_MESA_YCBCR_TEXTURE)\n#define REGAL_NO_PLUGIN_GL_MESA_YCBCR_TEXTURE\n#endif\n\n#if (defined(GL_MESA_YCBCR_TEXTURE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_MESA_YCBCR_TEXTURE)) && !defined(REGAL_NO_DECLARATION_GL_MESA_YCBCR_TEXTURE)\n#define REGAL_NO_DECLARATION_GL_MESA_YCBCR_TEXTURE\n#endif\n\n#ifndef GL_MESA_ycbcr_texture\n#define GL_MESA_ycbcr_texture 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_MESA_YCBCR_TEXTURE\n#define GL_UNSIGNED_SHORT_8_8_MESA     0x85ba     /* 34234 */\n#define GL_UNSIGNED_SHORT_8_8_REV_MESA 0x85bb     /* 34235 */\n#define GL_YCBCR_MESA                  0x8757     /* 34647 */\n#endif\n\n/**\n ** GL_NVX_conditional_render\n **/\n\n#if (defined(GL_NVX_CONDITIONAL_RENDER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NVX_CONDITIONAL_RENDER)) && !defined(REGAL_NO_ENUM_GL_NVX_CONDITIONAL_RENDER)\n#define REGAL_NO_ENUM_GL_NVX_CONDITIONAL_RENDER\n#endif\n\n#if (defined(GL_NVX_CONDITIONAL_RENDER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NVX_CONDITIONAL_RENDER)) && !defined(REGAL_NO_TYPEDEF_GL_NVX_CONDITIONAL_RENDER)\n#define REGAL_NO_TYPEDEF_GL_NVX_CONDITIONAL_RENDER\n#endif\n\n#if (defined(GL_NVX_CONDITIONAL_RENDER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NVX_CONDITIONAL_RENDER)) && !defined(REGAL_NO_NAMESPACE_GL_NVX_CONDITIONAL_RENDER)\n#define REGAL_NO_NAMESPACE_GL_NVX_CONDITIONAL_RENDER\n#endif\n\n#if (defined(GL_NVX_CONDITIONAL_RENDER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NVX_CONDITIONAL_RENDER)) && !defined(REGAL_NO_PLUGIN_GL_NVX_CONDITIONAL_RENDER)\n#define REGAL_NO_PLUGIN_GL_NVX_CONDITIONAL_RENDER\n#endif\n\n#if (defined(GL_NVX_CONDITIONAL_RENDER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NVX_CONDITIONAL_RENDER)) && !defined(REGAL_NO_DECLARATION_GL_NVX_CONDITIONAL_RENDER)\n#define REGAL_NO_DECLARATION_GL_NVX_CONDITIONAL_RENDER\n#endif\n\n#ifndef GL_NVX_conditional_render\n#define GL_NVX_conditional_render 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_NVX_CONDITIONAL_RENDER\ntypedef void (REGAL_CALL *PFNGLBEGINCONDITIONALRENDERNVXPROC)(GLuint id);\ntypedef void (REGAL_CALL *PFNGLENDCONDITIONALRENDERNVXPROC)(void);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_NVX_CONDITIONAL_RENDER\n#define glBeginConditionalRenderNVX         rglBeginConditionalRenderNVX\n#define glEndConditionalRenderNVX           rglEndConditionalRenderNVX\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_NVX_CONDITIONAL_RENDER\nREGAL_DECL void REGAL_CALL glBeginConditionalRenderNVX(GLuint id);\nREGAL_DECL void REGAL_CALL glEndConditionalRenderNVX(void);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_NVX_CONDITIONAL_RENDER\nREGAL_DECL void REGAL_CALL plugin_glBeginConditionalRenderNVX(GLuint id);\nREGAL_DECL void REGAL_CALL plugin_glEndConditionalRenderNVX(void);\n#endif\n\n/**\n ** GL_NVX_gpu_memory_info\n **/\n\n#if (defined(GL_NVX_GPU_MEMORY_INFO) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NVX_GPU_MEMORY_INFO)) && !defined(REGAL_NO_ENUM_GL_NVX_GPU_MEMORY_INFO)\n#define REGAL_NO_ENUM_GL_NVX_GPU_MEMORY_INFO\n#endif\n\n#if (defined(GL_NVX_GPU_MEMORY_INFO) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NVX_GPU_MEMORY_INFO)) && !defined(REGAL_NO_TYPEDEF_GL_NVX_GPU_MEMORY_INFO)\n#define REGAL_NO_TYPEDEF_GL_NVX_GPU_MEMORY_INFO\n#endif\n\n#if (defined(GL_NVX_GPU_MEMORY_INFO) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NVX_GPU_MEMORY_INFO)) && !defined(REGAL_NO_NAMESPACE_GL_NVX_GPU_MEMORY_INFO)\n#define REGAL_NO_NAMESPACE_GL_NVX_GPU_MEMORY_INFO\n#endif\n\n#if (defined(GL_NVX_GPU_MEMORY_INFO) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NVX_GPU_MEMORY_INFO)) && !defined(REGAL_NO_PLUGIN_GL_NVX_GPU_MEMORY_INFO)\n#define REGAL_NO_PLUGIN_GL_NVX_GPU_MEMORY_INFO\n#endif\n\n#if (defined(GL_NVX_GPU_MEMORY_INFO) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NVX_GPU_MEMORY_INFO)) && !defined(REGAL_NO_DECLARATION_GL_NVX_GPU_MEMORY_INFO)\n#define REGAL_NO_DECLARATION_GL_NVX_GPU_MEMORY_INFO\n#endif\n\n#ifndef GL_NVX_gpu_memory_info\n#define GL_NVX_gpu_memory_info 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NVX_GPU_MEMORY_INFO\n#define GL_GPU_MEMORY_INFO_DEDICATED_VIDMEM_NVX         0x9047     /* 36935 */\n#define GL_GPU_MEMORY_INFO_TOTAL_AVAILABLE_MEMORY_NVX   0x9048     /* 36936 */\n#define GL_GPU_MEMORY_INFO_CURRENT_AVAILABLE_VIDMEM_NVX 0x9049     /* 36937 */\n#define GL_GPU_MEMORY_INFO_EVICTION_COUNT_NVX           0x904a     /* 36938 */\n#define GL_GPU_MEMORY_INFO_EVICTED_MEMORY_NVX           0x904b     /* 36939 */\n#endif\n\n/**\n ** GL_NV_3dvision_settings\n **/\n\n#if (defined(GL_NV_3DVISION_SETTINGS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_3DVISION_SETTINGS)) && !defined(REGAL_NO_ENUM_GL_NV_3DVISION_SETTINGS)\n#define REGAL_NO_ENUM_GL_NV_3DVISION_SETTINGS\n#endif\n\n#if (defined(GL_NV_3DVISION_SETTINGS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_3DVISION_SETTINGS)) && !defined(REGAL_NO_TYPEDEF_GL_NV_3DVISION_SETTINGS)\n#define REGAL_NO_TYPEDEF_GL_NV_3DVISION_SETTINGS\n#endif\n\n#if (defined(GL_NV_3DVISION_SETTINGS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_3DVISION_SETTINGS)) && !defined(REGAL_NO_NAMESPACE_GL_NV_3DVISION_SETTINGS)\n#define REGAL_NO_NAMESPACE_GL_NV_3DVISION_SETTINGS\n#endif\n\n#if (defined(GL_NV_3DVISION_SETTINGS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_3DVISION_SETTINGS)) && !defined(REGAL_NO_PLUGIN_GL_NV_3DVISION_SETTINGS)\n#define REGAL_NO_PLUGIN_GL_NV_3DVISION_SETTINGS\n#endif\n\n#if (defined(GL_NV_3DVISION_SETTINGS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_3DVISION_SETTINGS)) && !defined(REGAL_NO_DECLARATION_GL_NV_3DVISION_SETTINGS)\n#define REGAL_NO_DECLARATION_GL_NV_3DVISION_SETTINGS\n#endif\n\n#ifndef GL_NV_3dvision_settings\n#define GL_NV_3dvision_settings 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_3DVISION_SETTINGS\n#define GL_3DVISION_STEREO_NV               0x90f4     /* 37108 */\n#define GL_STEREO_SEPARATION_NV             0x90f5     /* 37109 */\n#define GL_STEREO_CONVERGENCE_NV            0x90f6     /* 37110 */\n#define GL_STEREO_CUTOFF_NV                 0x90f7     /* 37111 */\n#define GL_STEREO_PROJECTION_NV             0x90f8     /* 37112 */\n#define GL_STEREO_PROJECTION_PERSPECTIVE_NV 0x90f9     /* 37113 */\n#define GL_STEREO_PROJECTION_ORTHO_NV       0x90fa     /* 37114 */\n#endif\n\n/**\n ** GL_NV_bgr\n **/\n\n#if (defined(GL_NV_BGR) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_BGR)) && !defined(REGAL_NO_ENUM_GL_NV_BGR)\n#define REGAL_NO_ENUM_GL_NV_BGR\n#endif\n\n#if (defined(GL_NV_BGR) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_BGR)) && !defined(REGAL_NO_TYPEDEF_GL_NV_BGR)\n#define REGAL_NO_TYPEDEF_GL_NV_BGR\n#endif\n\n#if (defined(GL_NV_BGR) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_BGR)) && !defined(REGAL_NO_NAMESPACE_GL_NV_BGR)\n#define REGAL_NO_NAMESPACE_GL_NV_BGR\n#endif\n\n#if (defined(GL_NV_BGR) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_BGR)) && !defined(REGAL_NO_PLUGIN_GL_NV_BGR)\n#define REGAL_NO_PLUGIN_GL_NV_BGR\n#endif\n\n#if (defined(GL_NV_BGR) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_BGR)) && !defined(REGAL_NO_DECLARATION_GL_NV_BGR)\n#define REGAL_NO_DECLARATION_GL_NV_BGR\n#endif\n\n#ifndef GL_NV_bgr\n#define GL_NV_bgr 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_BGR\n#define GL_BGR_NV 0x80e0 /* 32992 */\n#endif\n\n/**\n ** GL_NV_bindless_texture\n **/\n\n#if (defined(GL_NV_BINDLESS_TEXTURE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_BINDLESS_TEXTURE)) && !defined(REGAL_NO_ENUM_GL_NV_BINDLESS_TEXTURE)\n#define REGAL_NO_ENUM_GL_NV_BINDLESS_TEXTURE\n#endif\n\n#if (defined(GL_NV_BINDLESS_TEXTURE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_BINDLESS_TEXTURE)) && !defined(REGAL_NO_TYPEDEF_GL_NV_BINDLESS_TEXTURE)\n#define REGAL_NO_TYPEDEF_GL_NV_BINDLESS_TEXTURE\n#endif\n\n#if (defined(GL_NV_BINDLESS_TEXTURE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_BINDLESS_TEXTURE)) && !defined(REGAL_NO_NAMESPACE_GL_NV_BINDLESS_TEXTURE)\n#define REGAL_NO_NAMESPACE_GL_NV_BINDLESS_TEXTURE\n#endif\n\n#if (defined(GL_NV_BINDLESS_TEXTURE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_BINDLESS_TEXTURE)) && !defined(REGAL_NO_PLUGIN_GL_NV_BINDLESS_TEXTURE)\n#define REGAL_NO_PLUGIN_GL_NV_BINDLESS_TEXTURE\n#endif\n\n#if (defined(GL_NV_BINDLESS_TEXTURE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_BINDLESS_TEXTURE)) && !defined(REGAL_NO_DECLARATION_GL_NV_BINDLESS_TEXTURE)\n#define REGAL_NO_DECLARATION_GL_NV_BINDLESS_TEXTURE\n#endif\n\n#ifndef GL_NV_bindless_texture\n#define GL_NV_bindless_texture 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_NV_BINDLESS_TEXTURE\ntypedef GLboolean (REGAL_CALL *PFNGLISIMAGEHANDLERESIDENTNVPROC)(GLuint64 handle);\ntypedef GLboolean (REGAL_CALL *PFNGLISTEXTUREHANDLERESIDENTNVPROC)(GLuint64 handle);\ntypedef GLuint64 (REGAL_CALL *PFNGLGETIMAGEHANDLENVPROC)(GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum format);\ntypedef GLuint64 (REGAL_CALL *PFNGLGETTEXTUREHANDLENVPROC)(GLuint texture);\ntypedef GLuint64 (REGAL_CALL *PFNGLGETTEXTURESAMPLERHANDLENVPROC)(GLuint texture, GLuint sampler);\ntypedef void (REGAL_CALL *PFNGLMAKEIMAGEHANDLENONRESIDENTNVPROC)(GLuint64 handle);\ntypedef void (REGAL_CALL *PFNGLMAKEIMAGEHANDLERESIDENTNVPROC)(GLuint64 handle, GLenum access);\ntypedef void (REGAL_CALL *PFNGLMAKETEXTUREHANDLENONRESIDENTNVPROC)(GLuint64 handle);\ntypedef void (REGAL_CALL *PFNGLMAKETEXTUREHANDLERESIDENTNVPROC)(GLuint64 handle);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMHANDLEUI64NVPROC)(GLuint program, GLint location, GLuint64 value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMHANDLEUI64VNVPROC)(GLuint program, GLint location, GLsizei count, const GLuint64 *values);\ntypedef void (REGAL_CALL *PFNGLUNIFORMHANDLEUI64NVPROC)(GLint location, GLuint64 value);\ntypedef void (REGAL_CALL *PFNGLUNIFORMHANDLEUI64VNVPROC)(GLint location, GLsizei count, const GLuint64 *value);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_NV_BINDLESS_TEXTURE\n#define glGetImageHandleNV                  rglGetImageHandleNV\n#define glGetTextureHandleNV                rglGetTextureHandleNV\n#define glGetTextureSamplerHandleNV         rglGetTextureSamplerHandleNV\n#define glIsImageHandleResidentNV           rglIsImageHandleResidentNV\n#define glIsTextureHandleResidentNV         rglIsTextureHandleResidentNV\n#define glMakeImageHandleNonResidentNV      rglMakeImageHandleNonResidentNV\n#define glMakeImageHandleResidentNV         rglMakeImageHandleResidentNV\n#define glMakeTextureHandleNonResidentNV    rglMakeTextureHandleNonResidentNV\n#define glMakeTextureHandleResidentNV       rglMakeTextureHandleResidentNV\n#define glProgramUniformHandleui64NV        rglProgramUniformHandleui64NV\n#define glProgramUniformHandleui64vNV       rglProgramUniformHandleui64vNV\n#define glUniformHandleui64NV               rglUniformHandleui64NV\n#define glUniformHandleui64vNV              rglUniformHandleui64vNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_NV_BINDLESS_TEXTURE\nREGAL_DECL GLboolean REGAL_CALL glIsImageHandleResidentNV(GLuint64 handle);\nREGAL_DECL GLboolean REGAL_CALL glIsTextureHandleResidentNV(GLuint64 handle);\nREGAL_DECL GLuint64 REGAL_CALL glGetImageHandleNV(GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum format);\nREGAL_DECL GLuint64 REGAL_CALL glGetTextureHandleNV(GLuint texture);\nREGAL_DECL GLuint64 REGAL_CALL glGetTextureSamplerHandleNV(GLuint texture, GLuint sampler);\nREGAL_DECL void REGAL_CALL glMakeImageHandleNonResidentNV(GLuint64 handle);\nREGAL_DECL void REGAL_CALL glMakeImageHandleResidentNV(GLuint64 handle, GLenum access);\nREGAL_DECL void REGAL_CALL glMakeTextureHandleNonResidentNV(GLuint64 handle);\nREGAL_DECL void REGAL_CALL glMakeTextureHandleResidentNV(GLuint64 handle);\nREGAL_DECL void REGAL_CALL glProgramUniformHandleui64NV(GLuint program, GLint location, GLuint64 value);\nREGAL_DECL void REGAL_CALL glProgramUniformHandleui64vNV(GLuint program, GLint location, GLsizei count, const GLuint64 *values);\nREGAL_DECL void REGAL_CALL glUniformHandleui64NV(GLint location, GLuint64 value);\nREGAL_DECL void REGAL_CALL glUniformHandleui64vNV(GLint location, GLsizei count, const GLuint64 *value);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_NV_BINDLESS_TEXTURE\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsImageHandleResidentNV(GLuint64 handle);\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsTextureHandleResidentNV(GLuint64 handle);\nREGAL_DECL GLuint64 REGAL_CALL plugin_glGetImageHandleNV(GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum format);\nREGAL_DECL GLuint64 REGAL_CALL plugin_glGetTextureHandleNV(GLuint texture);\nREGAL_DECL GLuint64 REGAL_CALL plugin_glGetTextureSamplerHandleNV(GLuint texture, GLuint sampler);\nREGAL_DECL void REGAL_CALL plugin_glMakeImageHandleNonResidentNV(GLuint64 handle);\nREGAL_DECL void REGAL_CALL plugin_glMakeImageHandleResidentNV(GLuint64 handle, GLenum access);\nREGAL_DECL void REGAL_CALL plugin_glMakeTextureHandleNonResidentNV(GLuint64 handle);\nREGAL_DECL void REGAL_CALL plugin_glMakeTextureHandleResidentNV(GLuint64 handle);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformHandleui64NV(GLuint program, GLint location, GLuint64 value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformHandleui64vNV(GLuint program, GLint location, GLsizei count, const GLuint64 *values);\nREGAL_DECL void REGAL_CALL plugin_glUniformHandleui64NV(GLint location, GLuint64 value);\nREGAL_DECL void REGAL_CALL plugin_glUniformHandleui64vNV(GLint location, GLsizei count, const GLuint64 *value);\n#endif\n\n/**\n ** GL_NV_compute_program5\n **/\n\n#if (defined(GL_NV_COMPUTE_PROGRAM5) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_COMPUTE_PROGRAM5)) && !defined(REGAL_NO_ENUM_GL_NV_COMPUTE_PROGRAM5)\n#define REGAL_NO_ENUM_GL_NV_COMPUTE_PROGRAM5\n#endif\n\n#if (defined(GL_NV_COMPUTE_PROGRAM5) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_COMPUTE_PROGRAM5)) && !defined(REGAL_NO_TYPEDEF_GL_NV_COMPUTE_PROGRAM5)\n#define REGAL_NO_TYPEDEF_GL_NV_COMPUTE_PROGRAM5\n#endif\n\n#if (defined(GL_NV_COMPUTE_PROGRAM5) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_COMPUTE_PROGRAM5)) && !defined(REGAL_NO_NAMESPACE_GL_NV_COMPUTE_PROGRAM5)\n#define REGAL_NO_NAMESPACE_GL_NV_COMPUTE_PROGRAM5\n#endif\n\n#if (defined(GL_NV_COMPUTE_PROGRAM5) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_COMPUTE_PROGRAM5)) && !defined(REGAL_NO_PLUGIN_GL_NV_COMPUTE_PROGRAM5)\n#define REGAL_NO_PLUGIN_GL_NV_COMPUTE_PROGRAM5\n#endif\n\n#if (defined(GL_NV_COMPUTE_PROGRAM5) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_COMPUTE_PROGRAM5)) && !defined(REGAL_NO_DECLARATION_GL_NV_COMPUTE_PROGRAM5)\n#define REGAL_NO_DECLARATION_GL_NV_COMPUTE_PROGRAM5\n#endif\n\n#ifndef GL_NV_compute_program5\n#define GL_NV_compute_program5 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_COMPUTE_PROGRAM5\n#define GL_COMPUTE_PROGRAM_NV                  0x90fb     /* 37115 */\n#define GL_COMPUTE_PROGRAM_PARAMETER_BUFFER_NV 0x90fc     /* 37116 */\n#endif\n\n/**\n ** GL_NV_conditional_render\n **/\n\n#if (defined(GL_NV_CONDITIONAL_RENDER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_CONDITIONAL_RENDER)) && !defined(REGAL_NO_ENUM_GL_NV_CONDITIONAL_RENDER)\n#define REGAL_NO_ENUM_GL_NV_CONDITIONAL_RENDER\n#endif\n\n#if (defined(GL_NV_CONDITIONAL_RENDER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_CONDITIONAL_RENDER)) && !defined(REGAL_NO_TYPEDEF_GL_NV_CONDITIONAL_RENDER)\n#define REGAL_NO_TYPEDEF_GL_NV_CONDITIONAL_RENDER\n#endif\n\n#if (defined(GL_NV_CONDITIONAL_RENDER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_CONDITIONAL_RENDER)) && !defined(REGAL_NO_NAMESPACE_GL_NV_CONDITIONAL_RENDER)\n#define REGAL_NO_NAMESPACE_GL_NV_CONDITIONAL_RENDER\n#endif\n\n#if (defined(GL_NV_CONDITIONAL_RENDER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_CONDITIONAL_RENDER)) && !defined(REGAL_NO_PLUGIN_GL_NV_CONDITIONAL_RENDER)\n#define REGAL_NO_PLUGIN_GL_NV_CONDITIONAL_RENDER\n#endif\n\n#if (defined(GL_NV_CONDITIONAL_RENDER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_CONDITIONAL_RENDER)) && !defined(REGAL_NO_DECLARATION_GL_NV_CONDITIONAL_RENDER)\n#define REGAL_NO_DECLARATION_GL_NV_CONDITIONAL_RENDER\n#endif\n\n#ifndef GL_NV_conditional_render\n#define GL_NV_conditional_render 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_CONDITIONAL_RENDER\n#define GL_QUERY_WAIT_NV              0x8e13     /* 36371 */\n#define GL_QUERY_NO_WAIT_NV           0x8e14     /* 36372 */\n#define GL_QUERY_BY_REGION_WAIT_NV    0x8e15     /* 36373 */\n#define GL_QUERY_BY_REGION_NO_WAIT_NV 0x8e16     /* 36374 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_NV_CONDITIONAL_RENDER\ntypedef void (REGAL_CALL *PFNGLBEGINCONDITIONALRENDERNVPROC)(GLuint id, GLenum mode);\ntypedef void (REGAL_CALL *PFNGLENDCONDITIONALRENDERNVPROC)(void);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_NV_CONDITIONAL_RENDER\n#define glBeginConditionalRenderNV          rglBeginConditionalRenderNV\n#define glEndConditionalRenderNV            rglEndConditionalRenderNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_NV_CONDITIONAL_RENDER\nREGAL_DECL void REGAL_CALL glBeginConditionalRenderNV(GLuint id, GLenum mode);\nREGAL_DECL void REGAL_CALL glEndConditionalRenderNV(void);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_NV_CONDITIONAL_RENDER\nREGAL_DECL void REGAL_CALL plugin_glBeginConditionalRenderNV(GLuint id, GLenum mode);\nREGAL_DECL void REGAL_CALL plugin_glEndConditionalRenderNV(void);\n#endif\n\n/**\n ** GL_NV_copy_depth_to_color\n **/\n\n#if (defined(GL_NV_COPY_DEPTH_TO_COLOR) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_COPY_DEPTH_TO_COLOR)) && !defined(REGAL_NO_ENUM_GL_NV_COPY_DEPTH_TO_COLOR)\n#define REGAL_NO_ENUM_GL_NV_COPY_DEPTH_TO_COLOR\n#endif\n\n#if (defined(GL_NV_COPY_DEPTH_TO_COLOR) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_COPY_DEPTH_TO_COLOR)) && !defined(REGAL_NO_TYPEDEF_GL_NV_COPY_DEPTH_TO_COLOR)\n#define REGAL_NO_TYPEDEF_GL_NV_COPY_DEPTH_TO_COLOR\n#endif\n\n#if (defined(GL_NV_COPY_DEPTH_TO_COLOR) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_COPY_DEPTH_TO_COLOR)) && !defined(REGAL_NO_NAMESPACE_GL_NV_COPY_DEPTH_TO_COLOR)\n#define REGAL_NO_NAMESPACE_GL_NV_COPY_DEPTH_TO_COLOR\n#endif\n\n#if (defined(GL_NV_COPY_DEPTH_TO_COLOR) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_COPY_DEPTH_TO_COLOR)) && !defined(REGAL_NO_PLUGIN_GL_NV_COPY_DEPTH_TO_COLOR)\n#define REGAL_NO_PLUGIN_GL_NV_COPY_DEPTH_TO_COLOR\n#endif\n\n#if (defined(GL_NV_COPY_DEPTH_TO_COLOR) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_COPY_DEPTH_TO_COLOR)) && !defined(REGAL_NO_DECLARATION_GL_NV_COPY_DEPTH_TO_COLOR)\n#define REGAL_NO_DECLARATION_GL_NV_COPY_DEPTH_TO_COLOR\n#endif\n\n#ifndef GL_NV_copy_depth_to_color\n#define GL_NV_copy_depth_to_color 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_COPY_DEPTH_TO_COLOR\n#define GL_DEPTH_STENCIL_TO_RGBA_NV 0x886e     /* 34926 */\n#define GL_DEPTH_STENCIL_TO_BGRA_NV 0x886f     /* 34927 */\n#endif\n\n/**\n ** GL_NV_copy_image\n **/\n\n#if (defined(GL_NV_COPY_IMAGE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_COPY_IMAGE)) && !defined(REGAL_NO_ENUM_GL_NV_COPY_IMAGE)\n#define REGAL_NO_ENUM_GL_NV_COPY_IMAGE\n#endif\n\n#if (defined(GL_NV_COPY_IMAGE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_COPY_IMAGE)) && !defined(REGAL_NO_TYPEDEF_GL_NV_COPY_IMAGE)\n#define REGAL_NO_TYPEDEF_GL_NV_COPY_IMAGE\n#endif\n\n#if (defined(GL_NV_COPY_IMAGE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_COPY_IMAGE)) && !defined(REGAL_NO_NAMESPACE_GL_NV_COPY_IMAGE)\n#define REGAL_NO_NAMESPACE_GL_NV_COPY_IMAGE\n#endif\n\n#if (defined(GL_NV_COPY_IMAGE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_COPY_IMAGE)) && !defined(REGAL_NO_PLUGIN_GL_NV_COPY_IMAGE)\n#define REGAL_NO_PLUGIN_GL_NV_COPY_IMAGE\n#endif\n\n#if (defined(GL_NV_COPY_IMAGE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_COPY_IMAGE)) && !defined(REGAL_NO_DECLARATION_GL_NV_COPY_IMAGE)\n#define REGAL_NO_DECLARATION_GL_NV_COPY_IMAGE\n#endif\n\n#ifndef GL_NV_copy_image\n#define GL_NV_copy_image 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_NV_COPY_IMAGE\ntypedef void (REGAL_CALL *PFNGLCOPYIMAGESUBDATANVPROC)(GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_NV_COPY_IMAGE\n#define glCopyImageSubDataNV                rglCopyImageSubDataNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_NV_COPY_IMAGE\nREGAL_DECL void REGAL_CALL glCopyImageSubDataNV(GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_NV_COPY_IMAGE\nREGAL_DECL void REGAL_CALL plugin_glCopyImageSubDataNV(GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth);\n#endif\n\n/**\n ** GL_NV_coverage_sample\n **/\n\n#if (defined(GL_NV_COVERAGE_SAMPLE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_COVERAGE_SAMPLE)) && !defined(REGAL_NO_ENUM_GL_NV_COVERAGE_SAMPLE)\n#define REGAL_NO_ENUM_GL_NV_COVERAGE_SAMPLE\n#endif\n\n#if (defined(GL_NV_COVERAGE_SAMPLE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_COVERAGE_SAMPLE)) && !defined(REGAL_NO_TYPEDEF_GL_NV_COVERAGE_SAMPLE)\n#define REGAL_NO_TYPEDEF_GL_NV_COVERAGE_SAMPLE\n#endif\n\n#if (defined(GL_NV_COVERAGE_SAMPLE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_COVERAGE_SAMPLE)) && !defined(REGAL_NO_NAMESPACE_GL_NV_COVERAGE_SAMPLE)\n#define REGAL_NO_NAMESPACE_GL_NV_COVERAGE_SAMPLE\n#endif\n\n#if (defined(GL_NV_COVERAGE_SAMPLE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_COVERAGE_SAMPLE)) && !defined(REGAL_NO_PLUGIN_GL_NV_COVERAGE_SAMPLE)\n#define REGAL_NO_PLUGIN_GL_NV_COVERAGE_SAMPLE\n#endif\n\n#if (defined(GL_NV_COVERAGE_SAMPLE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_COVERAGE_SAMPLE)) && !defined(REGAL_NO_DECLARATION_GL_NV_COVERAGE_SAMPLE)\n#define REGAL_NO_DECLARATION_GL_NV_COVERAGE_SAMPLE\n#endif\n\n#ifndef GL_NV_coverage_sample\n#define GL_NV_coverage_sample 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_COVERAGE_SAMPLE\n#define GL_EGL_COVERAGE_BUFFERS_NV    0x30e0     /* 12512 */\n#define GL_EGL_COVERAGE_SAMPLES_NV    0x30e1     /* 12513 */\n#define GL_COVERAGE_BUFFER_BIT_NV     0x8000     /* 32768 */\n#define GL_COVERAGE_COMPONENT_NV      0x8ed0     /* 36560 */\n#define GL_COVERAGE_COMPONENT4_NV     0x8ed1     /* 36561 */\n#define GL_COVERAGE_ATTACHMENT_NV     0x8ed2     /* 36562 */\n#define GL_COVERAGE_BUFFERS_NV        0x8ed3     /* 36563 */\n#define GL_COVERAGE_ALL_FRAGMENTS_NV  0x8ed5     /* 36565 */\n#define GL_COVERAGE_EDGE_FRAGMENTS_NV 0x8ed6     /* 36566 */\n#define GL_COVERAGE_AUTOMATIC_NV      0x8ed7     /* 36567 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_NV_COVERAGE_SAMPLE\ntypedef void (REGAL_CALL *PFNGLCOVERAGEMASKNVPROC)(GLboolean mask);\ntypedef void (REGAL_CALL *PFNGLCOVERAGEOPERATIONNVPROC)(GLenum operation);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_NV_COVERAGE_SAMPLE\n#define glCoverageMaskNV                    rglCoverageMaskNV\n#define glCoverageOperationNV               rglCoverageOperationNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_NV_COVERAGE_SAMPLE\nREGAL_DECL void REGAL_CALL glCoverageMaskNV(GLboolean mask);\nREGAL_DECL void REGAL_CALL glCoverageOperationNV(GLenum operation);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_NV_COVERAGE_SAMPLE\nREGAL_DECL void REGAL_CALL plugin_glCoverageMaskNV(GLboolean mask);\nREGAL_DECL void REGAL_CALL plugin_glCoverageOperationNV(GLenum operation);\n#endif\n\n/**\n ** GL_NV_deep_texture3D\n **/\n\n#if (defined(GL_NV_DEEP_TEXTURE3D) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_DEEP_TEXTURE3D)) && !defined(REGAL_NO_ENUM_GL_NV_DEEP_TEXTURE3D)\n#define REGAL_NO_ENUM_GL_NV_DEEP_TEXTURE3D\n#endif\n\n#if (defined(GL_NV_DEEP_TEXTURE3D) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_DEEP_TEXTURE3D)) && !defined(REGAL_NO_TYPEDEF_GL_NV_DEEP_TEXTURE3D)\n#define REGAL_NO_TYPEDEF_GL_NV_DEEP_TEXTURE3D\n#endif\n\n#if (defined(GL_NV_DEEP_TEXTURE3D) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_DEEP_TEXTURE3D)) && !defined(REGAL_NO_NAMESPACE_GL_NV_DEEP_TEXTURE3D)\n#define REGAL_NO_NAMESPACE_GL_NV_DEEP_TEXTURE3D\n#endif\n\n#if (defined(GL_NV_DEEP_TEXTURE3D) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_DEEP_TEXTURE3D)) && !defined(REGAL_NO_PLUGIN_GL_NV_DEEP_TEXTURE3D)\n#define REGAL_NO_PLUGIN_GL_NV_DEEP_TEXTURE3D\n#endif\n\n#if (defined(GL_NV_DEEP_TEXTURE3D) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_DEEP_TEXTURE3D)) && !defined(REGAL_NO_DECLARATION_GL_NV_DEEP_TEXTURE3D)\n#define REGAL_NO_DECLARATION_GL_NV_DEEP_TEXTURE3D\n#endif\n\n#ifndef GL_NV_deep_texture3D\n#define GL_NV_deep_texture3D 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_DEEP_TEXTURE3D\n#define GL_MAX_DEEP_3D_TEXTURE_WIDTH_HEIGHT_NV 0x90d0     /* 37072 */\n#define GL_MAX_DEEP_3D_TEXTURE_DEPTH_NV        0x90d1     /* 37073 */\n#endif\n\n/**\n ** GL_NV_depth_buffer_float\n **/\n\n#if (defined(GL_NV_DEPTH_BUFFER_FLOAT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_DEPTH_BUFFER_FLOAT)) && !defined(REGAL_NO_ENUM_GL_NV_DEPTH_BUFFER_FLOAT)\n#define REGAL_NO_ENUM_GL_NV_DEPTH_BUFFER_FLOAT\n#endif\n\n#if (defined(GL_NV_DEPTH_BUFFER_FLOAT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_DEPTH_BUFFER_FLOAT)) && !defined(REGAL_NO_TYPEDEF_GL_NV_DEPTH_BUFFER_FLOAT)\n#define REGAL_NO_TYPEDEF_GL_NV_DEPTH_BUFFER_FLOAT\n#endif\n\n#if (defined(GL_NV_DEPTH_BUFFER_FLOAT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_DEPTH_BUFFER_FLOAT)) && !defined(REGAL_NO_NAMESPACE_GL_NV_DEPTH_BUFFER_FLOAT)\n#define REGAL_NO_NAMESPACE_GL_NV_DEPTH_BUFFER_FLOAT\n#endif\n\n#if (defined(GL_NV_DEPTH_BUFFER_FLOAT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_DEPTH_BUFFER_FLOAT)) && !defined(REGAL_NO_PLUGIN_GL_NV_DEPTH_BUFFER_FLOAT)\n#define REGAL_NO_PLUGIN_GL_NV_DEPTH_BUFFER_FLOAT\n#endif\n\n#if (defined(GL_NV_DEPTH_BUFFER_FLOAT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_DEPTH_BUFFER_FLOAT)) && !defined(REGAL_NO_DECLARATION_GL_NV_DEPTH_BUFFER_FLOAT)\n#define REGAL_NO_DECLARATION_GL_NV_DEPTH_BUFFER_FLOAT\n#endif\n\n#ifndef GL_NV_depth_buffer_float\n#define GL_NV_depth_buffer_float 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_DEPTH_BUFFER_FLOAT\n#define GL_DEPTH_COMPONENT32F_NV             0x8dab     /* 36267 */\n#define GL_DEPTH32F_STENCIL8_NV              0x8dac     /* 36268 */\n#define GL_FLOAT_32_UNSIGNED_INT_24_8_REV_NV 0x8dad     /* 36269 */\n#define GL_DEPTH_BUFFER_FLOAT_MODE_NV        0x8daf     /* 36271 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_NV_DEPTH_BUFFER_FLOAT\ntypedef void (REGAL_CALL *PFNGLCLEARDEPTHDNVPROC)(GLdouble depth);\ntypedef void (REGAL_CALL *PFNGLDEPTHBOUNDSDNVPROC)(GLdouble zmin, GLdouble zmax);\ntypedef void (REGAL_CALL *PFNGLDEPTHRANGEDNVPROC)(GLdouble zNear, GLdouble zFar);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_NV_DEPTH_BUFFER_FLOAT\n#define glClearDepthdNV                     rglClearDepthdNV\n#define glDepthBoundsdNV                    rglDepthBoundsdNV\n#define glDepthRangedNV                     rglDepthRangedNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_NV_DEPTH_BUFFER_FLOAT\nREGAL_DECL void REGAL_CALL glClearDepthdNV(GLdouble depth);\nREGAL_DECL void REGAL_CALL glDepthBoundsdNV(GLdouble zmin, GLdouble zmax);\nREGAL_DECL void REGAL_CALL glDepthRangedNV(GLdouble zNear, GLdouble zFar);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_NV_DEPTH_BUFFER_FLOAT\nREGAL_DECL void REGAL_CALL plugin_glClearDepthdNV(GLdouble depth);\nREGAL_DECL void REGAL_CALL plugin_glDepthBoundsdNV(GLdouble zmin, GLdouble zmax);\nREGAL_DECL void REGAL_CALL plugin_glDepthRangedNV(GLdouble zNear, GLdouble zFar);\n#endif\n\n/**\n ** GL_NV_depth_clamp\n **/\n\n#if (defined(GL_NV_DEPTH_CLAMP) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_DEPTH_CLAMP)) && !defined(REGAL_NO_ENUM_GL_NV_DEPTH_CLAMP)\n#define REGAL_NO_ENUM_GL_NV_DEPTH_CLAMP\n#endif\n\n#if (defined(GL_NV_DEPTH_CLAMP) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_DEPTH_CLAMP)) && !defined(REGAL_NO_TYPEDEF_GL_NV_DEPTH_CLAMP)\n#define REGAL_NO_TYPEDEF_GL_NV_DEPTH_CLAMP\n#endif\n\n#if (defined(GL_NV_DEPTH_CLAMP) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_DEPTH_CLAMP)) && !defined(REGAL_NO_NAMESPACE_GL_NV_DEPTH_CLAMP)\n#define REGAL_NO_NAMESPACE_GL_NV_DEPTH_CLAMP\n#endif\n\n#if (defined(GL_NV_DEPTH_CLAMP) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_DEPTH_CLAMP)) && !defined(REGAL_NO_PLUGIN_GL_NV_DEPTH_CLAMP)\n#define REGAL_NO_PLUGIN_GL_NV_DEPTH_CLAMP\n#endif\n\n#if (defined(GL_NV_DEPTH_CLAMP) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_DEPTH_CLAMP)) && !defined(REGAL_NO_DECLARATION_GL_NV_DEPTH_CLAMP)\n#define REGAL_NO_DECLARATION_GL_NV_DEPTH_CLAMP\n#endif\n\n#ifndef GL_NV_depth_clamp\n#define GL_NV_depth_clamp 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_DEPTH_CLAMP\n#define GL_DEPTH_CLAMP_NV 0x864f /* 34383 */\n#endif\n\n/**\n ** GL_NV_depth_nonlinear\n **/\n\n#if (defined(GL_NV_DEPTH_NONLINEAR) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_DEPTH_NONLINEAR)) && !defined(REGAL_NO_ENUM_GL_NV_DEPTH_NONLINEAR)\n#define REGAL_NO_ENUM_GL_NV_DEPTH_NONLINEAR\n#endif\n\n#if (defined(GL_NV_DEPTH_NONLINEAR) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_DEPTH_NONLINEAR)) && !defined(REGAL_NO_TYPEDEF_GL_NV_DEPTH_NONLINEAR)\n#define REGAL_NO_TYPEDEF_GL_NV_DEPTH_NONLINEAR\n#endif\n\n#if (defined(GL_NV_DEPTH_NONLINEAR) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_DEPTH_NONLINEAR)) && !defined(REGAL_NO_NAMESPACE_GL_NV_DEPTH_NONLINEAR)\n#define REGAL_NO_NAMESPACE_GL_NV_DEPTH_NONLINEAR\n#endif\n\n#if (defined(GL_NV_DEPTH_NONLINEAR) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_DEPTH_NONLINEAR)) && !defined(REGAL_NO_PLUGIN_GL_NV_DEPTH_NONLINEAR)\n#define REGAL_NO_PLUGIN_GL_NV_DEPTH_NONLINEAR\n#endif\n\n#if (defined(GL_NV_DEPTH_NONLINEAR) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_DEPTH_NONLINEAR)) && !defined(REGAL_NO_DECLARATION_GL_NV_DEPTH_NONLINEAR)\n#define REGAL_NO_DECLARATION_GL_NV_DEPTH_NONLINEAR\n#endif\n\n#ifndef GL_NV_depth_nonlinear\n#define GL_NV_depth_nonlinear 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_DEPTH_NONLINEAR\n#define GL_EGL_DEPTH_ENCODING_NONE_NV      0x0\n#define GL_EGL_DEPTH_ENCODING_NV           0x30e2     /* 12514 */\n#define GL_EGL_DEPTH_ENCODING_NONLINEAR_NV 0x30e3     /* 12515 */\n#define GL_DEPTH_COMPONENT16_NONLINEAR_NV  0x8e2c     /* 36396 */\n#endif\n\n/**\n ** GL_NV_depth_range_unclamped\n **/\n\n#if (defined(GL_NV_DEPTH_RANGE_UNCLAMPED) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_DEPTH_RANGE_UNCLAMPED)) && !defined(REGAL_NO_ENUM_GL_NV_DEPTH_RANGE_UNCLAMPED)\n#define REGAL_NO_ENUM_GL_NV_DEPTH_RANGE_UNCLAMPED\n#endif\n\n#if (defined(GL_NV_DEPTH_RANGE_UNCLAMPED) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_DEPTH_RANGE_UNCLAMPED)) && !defined(REGAL_NO_TYPEDEF_GL_NV_DEPTH_RANGE_UNCLAMPED)\n#define REGAL_NO_TYPEDEF_GL_NV_DEPTH_RANGE_UNCLAMPED\n#endif\n\n#if (defined(GL_NV_DEPTH_RANGE_UNCLAMPED) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_DEPTH_RANGE_UNCLAMPED)) && !defined(REGAL_NO_NAMESPACE_GL_NV_DEPTH_RANGE_UNCLAMPED)\n#define REGAL_NO_NAMESPACE_GL_NV_DEPTH_RANGE_UNCLAMPED\n#endif\n\n#if (defined(GL_NV_DEPTH_RANGE_UNCLAMPED) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_DEPTH_RANGE_UNCLAMPED)) && !defined(REGAL_NO_PLUGIN_GL_NV_DEPTH_RANGE_UNCLAMPED)\n#define REGAL_NO_PLUGIN_GL_NV_DEPTH_RANGE_UNCLAMPED\n#endif\n\n#if (defined(GL_NV_DEPTH_RANGE_UNCLAMPED) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_DEPTH_RANGE_UNCLAMPED)) && !defined(REGAL_NO_DECLARATION_GL_NV_DEPTH_RANGE_UNCLAMPED)\n#define REGAL_NO_DECLARATION_GL_NV_DEPTH_RANGE_UNCLAMPED\n#endif\n\n#ifndef GL_NV_depth_range_unclamped\n#define GL_NV_depth_range_unclamped 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_DEPTH_RANGE_UNCLAMPED\n#define GL_SAMPLE_COUNT_BITS_NV          0x8864     /* 34916 */\n#define GL_CURRENT_SAMPLE_COUNT_QUERY_NV 0x8865     /* 34917 */\n#define GL_QUERY_RESULT_NV               0x8866     /* 34918 */\n#define GL_QUERY_RESULT_AVAILABLE_NV     0x8867     /* 34919 */\n#define GL_SAMPLE_COUNT_NV               0x8914     /* 35092 */\n#endif\n\n/**\n ** GL_NV_draw_buffers\n **/\n\n#if (defined(GL_NV_DRAW_BUFFERS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_DRAW_BUFFERS)) && !defined(REGAL_NO_ENUM_GL_NV_DRAW_BUFFERS)\n#define REGAL_NO_ENUM_GL_NV_DRAW_BUFFERS\n#endif\n\n#if (defined(GL_NV_DRAW_BUFFERS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_DRAW_BUFFERS)) && !defined(REGAL_NO_TYPEDEF_GL_NV_DRAW_BUFFERS)\n#define REGAL_NO_TYPEDEF_GL_NV_DRAW_BUFFERS\n#endif\n\n#if (defined(GL_NV_DRAW_BUFFERS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_DRAW_BUFFERS)) && !defined(REGAL_NO_NAMESPACE_GL_NV_DRAW_BUFFERS)\n#define REGAL_NO_NAMESPACE_GL_NV_DRAW_BUFFERS\n#endif\n\n#if (defined(GL_NV_DRAW_BUFFERS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_DRAW_BUFFERS)) && !defined(REGAL_NO_PLUGIN_GL_NV_DRAW_BUFFERS)\n#define REGAL_NO_PLUGIN_GL_NV_DRAW_BUFFERS\n#endif\n\n#if (defined(GL_NV_DRAW_BUFFERS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_DRAW_BUFFERS)) && !defined(REGAL_NO_DECLARATION_GL_NV_DRAW_BUFFERS)\n#define REGAL_NO_DECLARATION_GL_NV_DRAW_BUFFERS\n#endif\n\n#ifndef GL_NV_draw_buffers\n#define GL_NV_draw_buffers 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_DRAW_BUFFERS\n#define GL_MAX_DRAW_BUFFERS_NV 0x8824     /* 34852 */\n#define GL_DRAW_BUFFER0_NV     0x8825     /* 34853 */\n#define GL_DRAW_BUFFER1_NV     0x8826     /* 34854 */\n#define GL_DRAW_BUFFER2_NV     0x8827     /* 34855 */\n#define GL_DRAW_BUFFER3_NV     0x8828     /* 34856 */\n#define GL_DRAW_BUFFER4_NV     0x8829     /* 34857 */\n#define GL_DRAW_BUFFER5_NV     0x882a     /* 34858 */\n#define GL_DRAW_BUFFER6_NV     0x882b     /* 34859 */\n#define GL_DRAW_BUFFER7_NV     0x882c     /* 34860 */\n#define GL_DRAW_BUFFER8_NV     0x882d     /* 34861 */\n#define GL_DRAW_BUFFER9_NV     0x882e     /* 34862 */\n#define GL_DRAW_BUFFER10_NV    0x882f     /* 34863 */\n#define GL_DRAW_BUFFER11_NV    0x8830     /* 34864 */\n#define GL_DRAW_BUFFER12_NV    0x8831     /* 34865 */\n#define GL_DRAW_BUFFER13_NV    0x8832     /* 34866 */\n#define GL_DRAW_BUFFER14_NV    0x8833     /* 34867 */\n#define GL_DRAW_BUFFER15_NV    0x8834     /* 34868 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_NV_DRAW_BUFFERS\ntypedef void (REGAL_CALL *PFNGLDRAWBUFFERSNVPROC)(GLsizei n, const GLenum *bufs);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_NV_DRAW_BUFFERS\n#define glDrawBuffersNV                     rglDrawBuffersNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_NV_DRAW_BUFFERS\nREGAL_DECL void REGAL_CALL glDrawBuffersNV(GLsizei n, const GLenum *bufs);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_NV_DRAW_BUFFERS\nREGAL_DECL void REGAL_CALL plugin_glDrawBuffersNV(GLsizei n, const GLenum *bufs);\n#endif\n\n/**\n ** GL_NV_draw_texture\n **/\n\n#if (defined(GL_NV_DRAW_TEXTURE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_DRAW_TEXTURE)) && !defined(REGAL_NO_ENUM_GL_NV_DRAW_TEXTURE)\n#define REGAL_NO_ENUM_GL_NV_DRAW_TEXTURE\n#endif\n\n#if (defined(GL_NV_DRAW_TEXTURE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_DRAW_TEXTURE)) && !defined(REGAL_NO_TYPEDEF_GL_NV_DRAW_TEXTURE)\n#define REGAL_NO_TYPEDEF_GL_NV_DRAW_TEXTURE\n#endif\n\n#if (defined(GL_NV_DRAW_TEXTURE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_DRAW_TEXTURE)) && !defined(REGAL_NO_NAMESPACE_GL_NV_DRAW_TEXTURE)\n#define REGAL_NO_NAMESPACE_GL_NV_DRAW_TEXTURE\n#endif\n\n#if (defined(GL_NV_DRAW_TEXTURE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_DRAW_TEXTURE)) && !defined(REGAL_NO_PLUGIN_GL_NV_DRAW_TEXTURE)\n#define REGAL_NO_PLUGIN_GL_NV_DRAW_TEXTURE\n#endif\n\n#if (defined(GL_NV_DRAW_TEXTURE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_DRAW_TEXTURE)) && !defined(REGAL_NO_DECLARATION_GL_NV_DRAW_TEXTURE)\n#define REGAL_NO_DECLARATION_GL_NV_DRAW_TEXTURE\n#endif\n\n#ifndef GL_NV_draw_texture\n#define GL_NV_draw_texture 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_NV_DRAW_TEXTURE\ntypedef void (REGAL_CALL *PFNGLDRAWTEXTURENVPROC)(GLuint texture, GLuint sampler, GLfloat x0, GLfloat y0, GLfloat x1, GLfloat y1, GLfloat z, GLfloat s0, GLfloat t0, GLfloat s1, GLfloat t1);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_NV_DRAW_TEXTURE\n#define glDrawTextureNV                     rglDrawTextureNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_NV_DRAW_TEXTURE\nREGAL_DECL void REGAL_CALL glDrawTextureNV(GLuint texture, GLuint sampler, GLfloat x0, GLfloat y0, GLfloat x1, GLfloat y1, GLfloat z, GLfloat s0, GLfloat t0, GLfloat s1, GLfloat t1);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_NV_DRAW_TEXTURE\nREGAL_DECL void REGAL_CALL plugin_glDrawTextureNV(GLuint texture, GLuint sampler, GLfloat x0, GLfloat y0, GLfloat x1, GLfloat y1, GLfloat z, GLfloat s0, GLfloat t0, GLfloat s1, GLfloat t1);\n#endif\n\n/**\n ** GL_NV_evaluators\n **/\n\n#if (defined(GL_NV_EVALUATORS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_EVALUATORS)) && !defined(REGAL_NO_ENUM_GL_NV_EVALUATORS)\n#define REGAL_NO_ENUM_GL_NV_EVALUATORS\n#endif\n\n#if (defined(GL_NV_EVALUATORS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_EVALUATORS)) && !defined(REGAL_NO_TYPEDEF_GL_NV_EVALUATORS)\n#define REGAL_NO_TYPEDEF_GL_NV_EVALUATORS\n#endif\n\n#if (defined(GL_NV_EVALUATORS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_EVALUATORS)) && !defined(REGAL_NO_NAMESPACE_GL_NV_EVALUATORS)\n#define REGAL_NO_NAMESPACE_GL_NV_EVALUATORS\n#endif\n\n#if (defined(GL_NV_EVALUATORS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_EVALUATORS)) && !defined(REGAL_NO_PLUGIN_GL_NV_EVALUATORS)\n#define REGAL_NO_PLUGIN_GL_NV_EVALUATORS\n#endif\n\n#if (defined(GL_NV_EVALUATORS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_EVALUATORS)) && !defined(REGAL_NO_DECLARATION_GL_NV_EVALUATORS)\n#define REGAL_NO_DECLARATION_GL_NV_EVALUATORS\n#endif\n\n#ifndef GL_NV_evaluators\n#define GL_NV_evaluators 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_EVALUATORS\n#define GL_EVAL_2D_NV                      0x86c0     /* 34496 */\n#define GL_EVAL_TRIANGULAR_2D_NV           0x86c1     /* 34497 */\n#define GL_MAP_TESSELLATION_NV             0x86c2     /* 34498 */\n#define GL_MAP_ATTRIB_U_ORDER_NV           0x86c3     /* 34499 */\n#define GL_MAP_ATTRIB_V_ORDER_NV           0x86c4     /* 34500 */\n#define GL_EVAL_FRACTIONAL_TESSELLATION_NV 0x86c5     /* 34501 */\n#define GL_EVAL_VERTEX_ATTRIB0_NV          0x86c6     /* 34502 */\n#define GL_EVAL_VERTEX_ATTRIB1_NV          0x86c7     /* 34503 */\n#define GL_EVAL_VERTEX_ATTRIB2_NV          0x86c8     /* 34504 */\n#define GL_EVAL_VERTEX_ATTRIB3_NV          0x86c9     /* 34505 */\n#define GL_EVAL_VERTEX_ATTRIB4_NV          0x86ca     /* 34506 */\n#define GL_EVAL_VERTEX_ATTRIB5_NV          0x86cb     /* 34507 */\n#define GL_EVAL_VERTEX_ATTRIB6_NV          0x86cc     /* 34508 */\n#define GL_EVAL_VERTEX_ATTRIB7_NV          0x86cd     /* 34509 */\n#define GL_EVAL_VERTEX_ATTRIB8_NV          0x86ce     /* 34510 */\n#define GL_EVAL_VERTEX_ATTRIB9_NV          0x86cf     /* 34511 */\n#define GL_EVAL_VERTEX_ATTRIB10_NV         0x86d0     /* 34512 */\n#define GL_EVAL_VERTEX_ATTRIB11_NV         0x86d1     /* 34513 */\n#define GL_EVAL_VERTEX_ATTRIB12_NV         0x86d2     /* 34514 */\n#define GL_EVAL_VERTEX_ATTRIB13_NV         0x86d3     /* 34515 */\n#define GL_EVAL_VERTEX_ATTRIB14_NV         0x86d4     /* 34516 */\n#define GL_EVAL_VERTEX_ATTRIB15_NV         0x86d5     /* 34517 */\n#define GL_MAX_MAP_TESSELLATION_NV         0x86d6     /* 34518 */\n#define GL_MAX_RATIONAL_EVAL_ORDER_NV      0x86d7     /* 34519 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_NV_EVALUATORS\ntypedef void (REGAL_CALL *PFNGLEVALMAPSNVPROC)(GLenum target, GLenum mode);\ntypedef void (REGAL_CALL *PFNGLGETMAPATTRIBPARAMETERFVNVPROC)(GLenum target, GLuint index, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETMAPATTRIBPARAMETERIVNVPROC)(GLenum target, GLuint index, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETMAPCONTROLPOINTSNVPROC)(GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLboolean packed, GLvoid *points);\ntypedef void (REGAL_CALL *PFNGLGETMAPPARAMETERFVNVPROC)(GLenum target, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETMAPPARAMETERIVNVPROC)(GLenum target, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLMAPCONTROLPOINTSNVPROC)(GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLint uorder, GLint vorder, GLboolean packed, const GLvoid *points);\ntypedef void (REGAL_CALL *PFNGLMAPPARAMETERFVNVPROC)(GLenum target, GLenum pname, const GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLMAPPARAMETERIVNVPROC)(GLenum target, GLenum pname, const GLint *params);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_NV_EVALUATORS\n#define glEvalMapsNV                        rglEvalMapsNV\n#define glGetMapAttribParameterfvNV         rglGetMapAttribParameterfvNV\n#define glGetMapAttribParameterivNV         rglGetMapAttribParameterivNV\n#define glGetMapControlPointsNV             rglGetMapControlPointsNV\n#define glGetMapParameterfvNV               rglGetMapParameterfvNV\n#define glGetMapParameterivNV               rglGetMapParameterivNV\n#define glMapControlPointsNV                rglMapControlPointsNV\n#define glMapParameterfvNV                  rglMapParameterfvNV\n#define glMapParameterivNV                  rglMapParameterivNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_NV_EVALUATORS\nREGAL_DECL void REGAL_CALL glEvalMapsNV(GLenum target, GLenum mode);\nREGAL_DECL void REGAL_CALL glGetMapAttribParameterfvNV(GLenum target, GLuint index, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetMapAttribParameterivNV(GLenum target, GLuint index, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetMapControlPointsNV(GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLboolean packed, GLvoid *points);\nREGAL_DECL void REGAL_CALL glGetMapParameterfvNV(GLenum target, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetMapParameterivNV(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glMapControlPointsNV(GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLint uorder, GLint vorder, GLboolean packed, const GLvoid *points);\nREGAL_DECL void REGAL_CALL glMapParameterfvNV(GLenum target, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL glMapParameterivNV(GLenum target, GLenum pname, const GLint *params);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_NV_EVALUATORS\nREGAL_DECL void REGAL_CALL plugin_glEvalMapsNV(GLenum target, GLenum mode);\nREGAL_DECL void REGAL_CALL plugin_glGetMapAttribParameterfvNV(GLenum target, GLuint index, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetMapAttribParameterivNV(GLenum target, GLuint index, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetMapControlPointsNV(GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLboolean packed, GLvoid *points);\nREGAL_DECL void REGAL_CALL plugin_glGetMapParameterfvNV(GLenum target, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetMapParameterivNV(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glMapControlPointsNV(GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLint uorder, GLint vorder, GLboolean packed, const GLvoid *points);\nREGAL_DECL void REGAL_CALL plugin_glMapParameterfvNV(GLenum target, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glMapParameterivNV(GLenum target, GLenum pname, const GLint *params);\n#endif\n\n/**\n ** GL_NV_explicit_multisample\n **/\n\n#if (defined(GL_NV_EXPLICIT_MULTISAMPLE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_EXPLICIT_MULTISAMPLE)) && !defined(REGAL_NO_ENUM_GL_NV_EXPLICIT_MULTISAMPLE)\n#define REGAL_NO_ENUM_GL_NV_EXPLICIT_MULTISAMPLE\n#endif\n\n#if (defined(GL_NV_EXPLICIT_MULTISAMPLE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_EXPLICIT_MULTISAMPLE)) && !defined(REGAL_NO_TYPEDEF_GL_NV_EXPLICIT_MULTISAMPLE)\n#define REGAL_NO_TYPEDEF_GL_NV_EXPLICIT_MULTISAMPLE\n#endif\n\n#if (defined(GL_NV_EXPLICIT_MULTISAMPLE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_EXPLICIT_MULTISAMPLE)) && !defined(REGAL_NO_NAMESPACE_GL_NV_EXPLICIT_MULTISAMPLE)\n#define REGAL_NO_NAMESPACE_GL_NV_EXPLICIT_MULTISAMPLE\n#endif\n\n#if (defined(GL_NV_EXPLICIT_MULTISAMPLE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_EXPLICIT_MULTISAMPLE)) && !defined(REGAL_NO_PLUGIN_GL_NV_EXPLICIT_MULTISAMPLE)\n#define REGAL_NO_PLUGIN_GL_NV_EXPLICIT_MULTISAMPLE\n#endif\n\n#if (defined(GL_NV_EXPLICIT_MULTISAMPLE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_EXPLICIT_MULTISAMPLE)) && !defined(REGAL_NO_DECLARATION_GL_NV_EXPLICIT_MULTISAMPLE)\n#define REGAL_NO_DECLARATION_GL_NV_EXPLICIT_MULTISAMPLE\n#endif\n\n#ifndef GL_NV_explicit_multisample\n#define GL_NV_explicit_multisample 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_EXPLICIT_MULTISAMPLE\n#define GL_SAMPLE_POSITION_NV                         0x8e50     /* 36432 */\n#define GL_SAMPLE_MASK_NV                             0x8e51     /* 36433 */\n#define GL_SAMPLE_MASK_VALUE_NV                       0x8e52     /* 36434 */\n#define GL_TEXTURE_BINDING_RENDERBUFFER_NV            0x8e53     /* 36435 */\n#define GL_TEXTURE_RENDERBUFFER_DATA_STORE_BINDING_NV 0x8e54     /* 36436 */\n#define GL_TEXTURE_RENDERBUFFER_NV                    0x8e55     /* 36437 */\n#define GL_SAMPLER_RENDERBUFFER_NV                    0x8e56     /* 36438 */\n#define GL_INT_SAMPLER_RENDERBUFFER_NV                0x8e57     /* 36439 */\n#define GL_UNSIGNED_INT_SAMPLER_RENDERBUFFER_NV       0x8e58     /* 36440 */\n#define GL_MAX_SAMPLE_MASK_WORDS_NV                   0x8e59     /* 36441 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_NV_EXPLICIT_MULTISAMPLE\ntypedef void (REGAL_CALL *PFNGLGETMULTISAMPLEFVNVPROC)(GLenum pname, GLuint index, GLfloat *val);\ntypedef void (REGAL_CALL *PFNGLSAMPLEMASKINDEXEDNVPROC)(GLuint index, GLbitfield mask);\ntypedef void (REGAL_CALL *PFNGLTEXRENDERBUFFERNVPROC)(GLenum target, GLuint renderbuffer);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_NV_EXPLICIT_MULTISAMPLE\n#define glGetMultisamplefvNV                rglGetMultisamplefvNV\n#define glSampleMaskIndexedNV               rglSampleMaskIndexedNV\n#define glTexRenderbufferNV                 rglTexRenderbufferNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_NV_EXPLICIT_MULTISAMPLE\nREGAL_DECL void REGAL_CALL glGetMultisamplefvNV(GLenum pname, GLuint index, GLfloat *val);\nREGAL_DECL void REGAL_CALL glSampleMaskIndexedNV(GLuint index, GLbitfield mask);\nREGAL_DECL void REGAL_CALL glTexRenderbufferNV(GLenum target, GLuint renderbuffer);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_NV_EXPLICIT_MULTISAMPLE\nREGAL_DECL void REGAL_CALL plugin_glGetMultisamplefvNV(GLenum pname, GLuint index, GLfloat *val);\nREGAL_DECL void REGAL_CALL plugin_glSampleMaskIndexedNV(GLuint index, GLbitfield mask);\nREGAL_DECL void REGAL_CALL plugin_glTexRenderbufferNV(GLenum target, GLuint renderbuffer);\n#endif\n\n/**\n ** GL_NV_fbo_color_attachments\n **/\n\n#if (defined(GL_NV_FBO_COLOR_ATTACHMENTS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_FBO_COLOR_ATTACHMENTS)) && !defined(REGAL_NO_ENUM_GL_NV_FBO_COLOR_ATTACHMENTS)\n#define REGAL_NO_ENUM_GL_NV_FBO_COLOR_ATTACHMENTS\n#endif\n\n#if (defined(GL_NV_FBO_COLOR_ATTACHMENTS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_FBO_COLOR_ATTACHMENTS)) && !defined(REGAL_NO_TYPEDEF_GL_NV_FBO_COLOR_ATTACHMENTS)\n#define REGAL_NO_TYPEDEF_GL_NV_FBO_COLOR_ATTACHMENTS\n#endif\n\n#if (defined(GL_NV_FBO_COLOR_ATTACHMENTS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_FBO_COLOR_ATTACHMENTS)) && !defined(REGAL_NO_NAMESPACE_GL_NV_FBO_COLOR_ATTACHMENTS)\n#define REGAL_NO_NAMESPACE_GL_NV_FBO_COLOR_ATTACHMENTS\n#endif\n\n#if (defined(GL_NV_FBO_COLOR_ATTACHMENTS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_FBO_COLOR_ATTACHMENTS)) && !defined(REGAL_NO_PLUGIN_GL_NV_FBO_COLOR_ATTACHMENTS)\n#define REGAL_NO_PLUGIN_GL_NV_FBO_COLOR_ATTACHMENTS\n#endif\n\n#if (defined(GL_NV_FBO_COLOR_ATTACHMENTS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_FBO_COLOR_ATTACHMENTS)) && !defined(REGAL_NO_DECLARATION_GL_NV_FBO_COLOR_ATTACHMENTS)\n#define REGAL_NO_DECLARATION_GL_NV_FBO_COLOR_ATTACHMENTS\n#endif\n\n#ifndef GL_NV_fbo_color_attachments\n#define GL_NV_fbo_color_attachments 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_FBO_COLOR_ATTACHMENTS\n#define GL_MAX_COLOR_ATTACHMENTS_NV 0x8cdf     /* 36063 */\n#define GL_COLOR_ATTACHMENT0_NV     0x8ce0     /* 36064 */\n#define GL_COLOR_ATTACHMENT1_NV     0x8ce1     /* 36065 */\n#define GL_COLOR_ATTACHMENT2_NV     0x8ce2     /* 36066 */\n#define GL_COLOR_ATTACHMENT3_NV     0x8ce3     /* 36067 */\n#define GL_COLOR_ATTACHMENT4_NV     0x8ce4     /* 36068 */\n#define GL_COLOR_ATTACHMENT5_NV     0x8ce5     /* 36069 */\n#define GL_COLOR_ATTACHMENT6_NV     0x8ce6     /* 36070 */\n#define GL_COLOR_ATTACHMENT7_NV     0x8ce7     /* 36071 */\n#define GL_COLOR_ATTACHMENT8_NV     0x8ce8     /* 36072 */\n#define GL_COLOR_ATTACHMENT9_NV     0x8ce9     /* 36073 */\n#define GL_COLOR_ATTACHMENT10_NV    0x8cea     /* 36074 */\n#define GL_COLOR_ATTACHMENT11_NV    0x8ceb     /* 36075 */\n#define GL_COLOR_ATTACHMENT12_NV    0x8cec     /* 36076 */\n#define GL_COLOR_ATTACHMENT13_NV    0x8ced     /* 36077 */\n#define GL_COLOR_ATTACHMENT14_NV    0x8cee     /* 36078 */\n#define GL_COLOR_ATTACHMENT15_NV    0x8cef     /* 36079 */\n#endif\n\n/**\n ** GL_NV_fence\n **/\n\n#if (defined(GL_NV_FENCE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_FENCE)) && !defined(REGAL_NO_ENUM_GL_NV_FENCE)\n#define REGAL_NO_ENUM_GL_NV_FENCE\n#endif\n\n#if (defined(GL_NV_FENCE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_FENCE)) && !defined(REGAL_NO_TYPEDEF_GL_NV_FENCE)\n#define REGAL_NO_TYPEDEF_GL_NV_FENCE\n#endif\n\n#if (defined(GL_NV_FENCE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_FENCE)) && !defined(REGAL_NO_NAMESPACE_GL_NV_FENCE)\n#define REGAL_NO_NAMESPACE_GL_NV_FENCE\n#endif\n\n#if (defined(GL_NV_FENCE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_FENCE)) && !defined(REGAL_NO_PLUGIN_GL_NV_FENCE)\n#define REGAL_NO_PLUGIN_GL_NV_FENCE\n#endif\n\n#if (defined(GL_NV_FENCE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_FENCE)) && !defined(REGAL_NO_DECLARATION_GL_NV_FENCE)\n#define REGAL_NO_DECLARATION_GL_NV_FENCE\n#endif\n\n#ifndef GL_NV_fence\n#define GL_NV_fence 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_FENCE\n#define GL_ALL_COMPLETED_NV   0x84f2     /* 34034 */\n#define GL_FENCE_STATUS_NV    0x84f3     /* 34035 */\n#define GL_FENCE_CONDITION_NV 0x84f4     /* 34036 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_NV_FENCE\ntypedef GLboolean (REGAL_CALL *PFNGLISFENCENVPROC)(GLuint fence);\ntypedef GLboolean (REGAL_CALL *PFNGLTESTFENCENVPROC)(GLuint fence);\ntypedef void (REGAL_CALL *PFNGLDELETEFENCESNVPROC)(GLsizei n, const GLuint *fences);\ntypedef void (REGAL_CALL *PFNGLFINISHFENCENVPROC)(GLuint fence);\ntypedef void (REGAL_CALL *PFNGLGENFENCESNVPROC)(GLsizei n, GLuint *fences);\ntypedef void (REGAL_CALL *PFNGLGETFENCEIVNVPROC)(GLuint fence, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLSETFENCENVPROC)(GLuint fence, GLenum condition);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_NV_FENCE\n#define glDeleteFencesNV                    rglDeleteFencesNV\n#define glFinishFenceNV                     rglFinishFenceNV\n#define glGenFencesNV                       rglGenFencesNV\n#define glGetFenceivNV                      rglGetFenceivNV\n#define glIsFenceNV                         rglIsFenceNV\n#define glSetFenceNV                        rglSetFenceNV\n#define glTestFenceNV                       rglTestFenceNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_NV_FENCE\nREGAL_DECL GLboolean REGAL_CALL glIsFenceNV(GLuint fence);\nREGAL_DECL GLboolean REGAL_CALL glTestFenceNV(GLuint fence);\nREGAL_DECL void REGAL_CALL glDeleteFencesNV(GLsizei n, const GLuint *fences);\nREGAL_DECL void REGAL_CALL glFinishFenceNV(GLuint fence);\nREGAL_DECL void REGAL_CALL glGenFencesNV(GLsizei n, GLuint *fences);\nREGAL_DECL void REGAL_CALL glGetFenceivNV(GLuint fence, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glSetFenceNV(GLuint fence, GLenum condition);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_NV_FENCE\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsFenceNV(GLuint fence);\nREGAL_DECL GLboolean REGAL_CALL plugin_glTestFenceNV(GLuint fence);\nREGAL_DECL void REGAL_CALL plugin_glDeleteFencesNV(GLsizei n, const GLuint *fences);\nREGAL_DECL void REGAL_CALL plugin_glFinishFenceNV(GLuint fence);\nREGAL_DECL void REGAL_CALL plugin_glGenFencesNV(GLsizei n, GLuint *fences);\nREGAL_DECL void REGAL_CALL plugin_glGetFenceivNV(GLuint fence, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glSetFenceNV(GLuint fence, GLenum condition);\n#endif\n\n/**\n ** GL_NV_float_buffer\n **/\n\n#if (defined(GL_NV_FLOAT_BUFFER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_FLOAT_BUFFER)) && !defined(REGAL_NO_ENUM_GL_NV_FLOAT_BUFFER)\n#define REGAL_NO_ENUM_GL_NV_FLOAT_BUFFER\n#endif\n\n#if (defined(GL_NV_FLOAT_BUFFER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_FLOAT_BUFFER)) && !defined(REGAL_NO_TYPEDEF_GL_NV_FLOAT_BUFFER)\n#define REGAL_NO_TYPEDEF_GL_NV_FLOAT_BUFFER\n#endif\n\n#if (defined(GL_NV_FLOAT_BUFFER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_FLOAT_BUFFER)) && !defined(REGAL_NO_NAMESPACE_GL_NV_FLOAT_BUFFER)\n#define REGAL_NO_NAMESPACE_GL_NV_FLOAT_BUFFER\n#endif\n\n#if (defined(GL_NV_FLOAT_BUFFER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_FLOAT_BUFFER)) && !defined(REGAL_NO_PLUGIN_GL_NV_FLOAT_BUFFER)\n#define REGAL_NO_PLUGIN_GL_NV_FLOAT_BUFFER\n#endif\n\n#if (defined(GL_NV_FLOAT_BUFFER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_FLOAT_BUFFER)) && !defined(REGAL_NO_DECLARATION_GL_NV_FLOAT_BUFFER)\n#define REGAL_NO_DECLARATION_GL_NV_FLOAT_BUFFER\n#endif\n\n#ifndef GL_NV_float_buffer\n#define GL_NV_float_buffer 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_FLOAT_BUFFER\n#define GL_FLOAT_R_NV                  0x8880     /* 34944 */\n#define GL_FLOAT_RG_NV                 0x8881     /* 34945 */\n#define GL_FLOAT_RGB_NV                0x8882     /* 34946 */\n#define GL_FLOAT_RGBA_NV               0x8883     /* 34947 */\n#define GL_FLOAT_R16_NV                0x8884     /* 34948 */\n#define GL_FLOAT_R32_NV                0x8885     /* 34949 */\n#define GL_FLOAT_RG16_NV               0x8886     /* 34950 */\n#define GL_FLOAT_RG32_NV               0x8887     /* 34951 */\n#define GL_FLOAT_RGB16_NV              0x8888     /* 34952 */\n#define GL_FLOAT_RGB32_NV              0x8889     /* 34953 */\n#define GL_FLOAT_RGBA16_NV             0x888a     /* 34954 */\n#define GL_FLOAT_RGBA32_NV             0x888b     /* 34955 */\n#define GL_TEXTURE_FLOAT_COMPONENTS_NV 0x888c     /* 34956 */\n#define GL_FLOAT_CLEAR_COLOR_VALUE_NV  0x888d     /* 34957 */\n#define GL_FLOAT_RGBA_MODE_NV          0x888e     /* 34958 */\n#endif\n\n/**\n ** GL_NV_fog_distance\n **/\n\n#if (defined(GL_NV_FOG_DISTANCE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_FOG_DISTANCE)) && !defined(REGAL_NO_ENUM_GL_NV_FOG_DISTANCE)\n#define REGAL_NO_ENUM_GL_NV_FOG_DISTANCE\n#endif\n\n#if (defined(GL_NV_FOG_DISTANCE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_FOG_DISTANCE)) && !defined(REGAL_NO_TYPEDEF_GL_NV_FOG_DISTANCE)\n#define REGAL_NO_TYPEDEF_GL_NV_FOG_DISTANCE\n#endif\n\n#if (defined(GL_NV_FOG_DISTANCE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_FOG_DISTANCE)) && !defined(REGAL_NO_NAMESPACE_GL_NV_FOG_DISTANCE)\n#define REGAL_NO_NAMESPACE_GL_NV_FOG_DISTANCE\n#endif\n\n#if (defined(GL_NV_FOG_DISTANCE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_FOG_DISTANCE)) && !defined(REGAL_NO_PLUGIN_GL_NV_FOG_DISTANCE)\n#define REGAL_NO_PLUGIN_GL_NV_FOG_DISTANCE\n#endif\n\n#if (defined(GL_NV_FOG_DISTANCE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_FOG_DISTANCE)) && !defined(REGAL_NO_DECLARATION_GL_NV_FOG_DISTANCE)\n#define REGAL_NO_DECLARATION_GL_NV_FOG_DISTANCE\n#endif\n\n#ifndef GL_NV_fog_distance\n#define GL_NV_fog_distance 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_FOG_DISTANCE\n#define GL_FOG_DISTANCE_MODE_NV  0x855a     /* 34138 */\n#define GL_EYE_RADIAL_NV         0x855b     /* 34139 */\n#define GL_EYE_PLANE_ABSOLUTE_NV 0x855c     /* 34140 */\n#endif\n\n/**\n ** GL_NV_fragment_program\n **/\n\n#if (defined(GL_NV_FRAGMENT_PROGRAM) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_FRAGMENT_PROGRAM)) && !defined(REGAL_NO_ENUM_GL_NV_FRAGMENT_PROGRAM)\n#define REGAL_NO_ENUM_GL_NV_FRAGMENT_PROGRAM\n#endif\n\n#if (defined(GL_NV_FRAGMENT_PROGRAM) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_FRAGMENT_PROGRAM)) && !defined(REGAL_NO_TYPEDEF_GL_NV_FRAGMENT_PROGRAM)\n#define REGAL_NO_TYPEDEF_GL_NV_FRAGMENT_PROGRAM\n#endif\n\n#if (defined(GL_NV_FRAGMENT_PROGRAM) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_FRAGMENT_PROGRAM)) && !defined(REGAL_NO_NAMESPACE_GL_NV_FRAGMENT_PROGRAM)\n#define REGAL_NO_NAMESPACE_GL_NV_FRAGMENT_PROGRAM\n#endif\n\n#if (defined(GL_NV_FRAGMENT_PROGRAM) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_FRAGMENT_PROGRAM)) && !defined(REGAL_NO_PLUGIN_GL_NV_FRAGMENT_PROGRAM)\n#define REGAL_NO_PLUGIN_GL_NV_FRAGMENT_PROGRAM\n#endif\n\n#if (defined(GL_NV_FRAGMENT_PROGRAM) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_FRAGMENT_PROGRAM)) && !defined(REGAL_NO_DECLARATION_GL_NV_FRAGMENT_PROGRAM)\n#define REGAL_NO_DECLARATION_GL_NV_FRAGMENT_PROGRAM\n#endif\n\n#ifndef GL_NV_fragment_program\n#define GL_NV_fragment_program 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_FRAGMENT_PROGRAM\n#define GL_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV 0x8868     /* 34920 */\n#define GL_FRAGMENT_PROGRAM_NV                      0x8870     /* 34928 */\n#define GL_MAX_TEXTURE_COORDS_NV                    0x8871     /* 34929 */\n#define GL_MAX_TEXTURE_IMAGE_UNITS_NV               0x8872     /* 34930 */\n#define GL_FRAGMENT_PROGRAM_BINDING_NV              0x8873     /* 34931 */\n#define GL_PROGRAM_ERROR_STRING_NV                  0x8874     /* 34932 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_NV_FRAGMENT_PROGRAM\ntypedef void (REGAL_CALL *PFNGLGETPROGRAMNAMEDPARAMETERDVNVPROC)(GLuint id, GLsizei len, const GLubyte *name, GLdouble *params);\ntypedef void (REGAL_CALL *PFNGLGETPROGRAMNAMEDPARAMETERFVNVPROC)(GLuint id, GLsizei len, const GLubyte *name, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLPROGRAMNAMEDPARAMETER4DNVPROC)(GLuint id, GLsizei len, const GLubyte *name, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\ntypedef void (REGAL_CALL *PFNGLPROGRAMNAMEDPARAMETER4DVNVPROC)(GLuint id, GLsizei len, const GLubyte *name, const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLPROGRAMNAMEDPARAMETER4FNVPROC)(GLuint id, GLsizei len, const GLubyte *name, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\ntypedef void (REGAL_CALL *PFNGLPROGRAMNAMEDPARAMETER4FVNVPROC)(GLuint id, GLsizei len, const GLubyte *name, const GLfloat *v);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_NV_FRAGMENT_PROGRAM\n#define glGetProgramNamedParameterdvNV      rglGetProgramNamedParameterdvNV\n#define glGetProgramNamedParameterfvNV      rglGetProgramNamedParameterfvNV\n#define glProgramNamedParameter4dNV         rglProgramNamedParameter4dNV\n#define glProgramNamedParameter4dvNV        rglProgramNamedParameter4dvNV\n#define glProgramNamedParameter4fNV         rglProgramNamedParameter4fNV\n#define glProgramNamedParameter4fvNV        rglProgramNamedParameter4fvNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_NV_FRAGMENT_PROGRAM\nREGAL_DECL void REGAL_CALL glGetProgramNamedParameterdvNV(GLuint id, GLsizei len, const GLubyte *name, GLdouble *params);\nREGAL_DECL void REGAL_CALL glGetProgramNamedParameterfvNV(GLuint id, GLsizei len, const GLubyte *name, GLfloat *params);\nREGAL_DECL void REGAL_CALL glProgramNamedParameter4dNV(GLuint id, GLsizei len, const GLubyte *name, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nREGAL_DECL void REGAL_CALL glProgramNamedParameter4dvNV(GLuint id, GLsizei len, const GLubyte *name, const GLdouble *v);\nREGAL_DECL void REGAL_CALL glProgramNamedParameter4fNV(GLuint id, GLsizei len, const GLubyte *name, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nREGAL_DECL void REGAL_CALL glProgramNamedParameter4fvNV(GLuint id, GLsizei len, const GLubyte *name, const GLfloat *v);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_NV_FRAGMENT_PROGRAM\nREGAL_DECL void REGAL_CALL plugin_glGetProgramNamedParameterdvNV(GLuint id, GLsizei len, const GLubyte *name, GLdouble *params);\nREGAL_DECL void REGAL_CALL plugin_glGetProgramNamedParameterfvNV(GLuint id, GLsizei len, const GLubyte *name, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glProgramNamedParameter4dNV(GLuint id, GLsizei len, const GLubyte *name, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nREGAL_DECL void REGAL_CALL plugin_glProgramNamedParameter4dvNV(GLuint id, GLsizei len, const GLubyte *name, const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glProgramNamedParameter4fNV(GLuint id, GLsizei len, const GLubyte *name, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nREGAL_DECL void REGAL_CALL plugin_glProgramNamedParameter4fvNV(GLuint id, GLsizei len, const GLubyte *name, const GLfloat *v);\n#endif\n\n/**\n ** GL_NV_fragment_program2\n **/\n\n#if (defined(GL_NV_FRAGMENT_PROGRAM2) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_FRAGMENT_PROGRAM2)) && !defined(REGAL_NO_ENUM_GL_NV_FRAGMENT_PROGRAM2)\n#define REGAL_NO_ENUM_GL_NV_FRAGMENT_PROGRAM2\n#endif\n\n#if (defined(GL_NV_FRAGMENT_PROGRAM2) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_FRAGMENT_PROGRAM2)) && !defined(REGAL_NO_TYPEDEF_GL_NV_FRAGMENT_PROGRAM2)\n#define REGAL_NO_TYPEDEF_GL_NV_FRAGMENT_PROGRAM2\n#endif\n\n#if (defined(GL_NV_FRAGMENT_PROGRAM2) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_FRAGMENT_PROGRAM2)) && !defined(REGAL_NO_NAMESPACE_GL_NV_FRAGMENT_PROGRAM2)\n#define REGAL_NO_NAMESPACE_GL_NV_FRAGMENT_PROGRAM2\n#endif\n\n#if (defined(GL_NV_FRAGMENT_PROGRAM2) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_FRAGMENT_PROGRAM2)) && !defined(REGAL_NO_PLUGIN_GL_NV_FRAGMENT_PROGRAM2)\n#define REGAL_NO_PLUGIN_GL_NV_FRAGMENT_PROGRAM2\n#endif\n\n#if (defined(GL_NV_FRAGMENT_PROGRAM2) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_FRAGMENT_PROGRAM2)) && !defined(REGAL_NO_DECLARATION_GL_NV_FRAGMENT_PROGRAM2)\n#define REGAL_NO_DECLARATION_GL_NV_FRAGMENT_PROGRAM2\n#endif\n\n#ifndef GL_NV_fragment_program2\n#define GL_NV_fragment_program2 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_FRAGMENT_PROGRAM2\n#define GL_MAX_PROGRAM_IF_DEPTH_NV   0x88f6     /* 35062 */\n#define GL_MAX_PROGRAM_LOOP_DEPTH_NV 0x88f7     /* 35063 */\n#define GL_MAX_PROGRAM_LOOP_COUNT_NV 0x88f8     /* 35064 */\n#endif\n\n/**\n ** GL_NV_framebuffer_blit\n **/\n\n#if (defined(GL_NV_FRAMEBUFFER_BLIT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_FRAMEBUFFER_BLIT)) && !defined(REGAL_NO_ENUM_GL_NV_FRAMEBUFFER_BLIT)\n#define REGAL_NO_ENUM_GL_NV_FRAMEBUFFER_BLIT\n#endif\n\n#if (defined(GL_NV_FRAMEBUFFER_BLIT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_FRAMEBUFFER_BLIT)) && !defined(REGAL_NO_TYPEDEF_GL_NV_FRAMEBUFFER_BLIT)\n#define REGAL_NO_TYPEDEF_GL_NV_FRAMEBUFFER_BLIT\n#endif\n\n#if (defined(GL_NV_FRAMEBUFFER_BLIT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_FRAMEBUFFER_BLIT)) && !defined(REGAL_NO_NAMESPACE_GL_NV_FRAMEBUFFER_BLIT)\n#define REGAL_NO_NAMESPACE_GL_NV_FRAMEBUFFER_BLIT\n#endif\n\n#if (defined(GL_NV_FRAMEBUFFER_BLIT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_FRAMEBUFFER_BLIT)) && !defined(REGAL_NO_PLUGIN_GL_NV_FRAMEBUFFER_BLIT)\n#define REGAL_NO_PLUGIN_GL_NV_FRAMEBUFFER_BLIT\n#endif\n\n#if (defined(GL_NV_FRAMEBUFFER_BLIT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_FRAMEBUFFER_BLIT)) && !defined(REGAL_NO_DECLARATION_GL_NV_FRAMEBUFFER_BLIT)\n#define REGAL_NO_DECLARATION_GL_NV_FRAMEBUFFER_BLIT\n#endif\n\n#ifndef GL_NV_framebuffer_blit\n#define GL_NV_framebuffer_blit 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_FRAMEBUFFER_BLIT\n#define GL_DRAW_FRAMEBUFFER_BINDING_NV 0x8ca6     /* 36006 */\n#define GL_READ_FRAMEBUFFER_NV         0x8ca8     /* 36008 */\n#define GL_DRAW_FRAMEBUFFER_NV         0x8ca9     /* 36009 */\n#define GL_READ_FRAMEBUFFER_BINDING_NV 0x8caa     /* 36010 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_NV_FRAMEBUFFER_BLIT\ntypedef void (REGAL_CALL *PFNGLBLITFRAMEBUFFERNVPROC)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_NV_FRAMEBUFFER_BLIT\n#define glBlitFramebufferNV                 rglBlitFramebufferNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_NV_FRAMEBUFFER_BLIT\nREGAL_DECL void REGAL_CALL glBlitFramebufferNV(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_NV_FRAMEBUFFER_BLIT\nREGAL_DECL void REGAL_CALL plugin_glBlitFramebufferNV(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);\n#endif\n\n/**\n ** GL_NV_framebuffer_multisample\n **/\n\n#if (defined(GL_NV_FRAMEBUFFER_MULTISAMPLE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_FRAMEBUFFER_MULTISAMPLE)) && !defined(REGAL_NO_ENUM_GL_NV_FRAMEBUFFER_MULTISAMPLE)\n#define REGAL_NO_ENUM_GL_NV_FRAMEBUFFER_MULTISAMPLE\n#endif\n\n#if (defined(GL_NV_FRAMEBUFFER_MULTISAMPLE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_FRAMEBUFFER_MULTISAMPLE)) && !defined(REGAL_NO_TYPEDEF_GL_NV_FRAMEBUFFER_MULTISAMPLE)\n#define REGAL_NO_TYPEDEF_GL_NV_FRAMEBUFFER_MULTISAMPLE\n#endif\n\n#if (defined(GL_NV_FRAMEBUFFER_MULTISAMPLE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_FRAMEBUFFER_MULTISAMPLE)) && !defined(REGAL_NO_NAMESPACE_GL_NV_FRAMEBUFFER_MULTISAMPLE)\n#define REGAL_NO_NAMESPACE_GL_NV_FRAMEBUFFER_MULTISAMPLE\n#endif\n\n#if (defined(GL_NV_FRAMEBUFFER_MULTISAMPLE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_FRAMEBUFFER_MULTISAMPLE)) && !defined(REGAL_NO_PLUGIN_GL_NV_FRAMEBUFFER_MULTISAMPLE)\n#define REGAL_NO_PLUGIN_GL_NV_FRAMEBUFFER_MULTISAMPLE\n#endif\n\n#if (defined(GL_NV_FRAMEBUFFER_MULTISAMPLE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_FRAMEBUFFER_MULTISAMPLE)) && !defined(REGAL_NO_DECLARATION_GL_NV_FRAMEBUFFER_MULTISAMPLE)\n#define REGAL_NO_DECLARATION_GL_NV_FRAMEBUFFER_MULTISAMPLE\n#endif\n\n#ifndef GL_NV_framebuffer_multisample\n#define GL_NV_framebuffer_multisample 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_FRAMEBUFFER_MULTISAMPLE\n#define GL_RENDERBUFFER_SAMPLES_NV               0x8cab     /* 36011 */\n#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_NV 0x8d56     /* 36182 */\n#define GL_MAX_SAMPLES_NV                        0x8d57     /* 36183 */\n#endif\n\n/**\n ** GL_NV_framebuffer_multisample_coverage\n **/\n\n#if (defined(GL_NV_FRAMEBUFFER_MULTISAMPLE_COVERAGE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_FRAMEBUFFER_MULTISAMPLE_COVERAGE)) && !defined(REGAL_NO_ENUM_GL_NV_FRAMEBUFFER_MULTISAMPLE_COVERAGE)\n#define REGAL_NO_ENUM_GL_NV_FRAMEBUFFER_MULTISAMPLE_COVERAGE\n#endif\n\n#if (defined(GL_NV_FRAMEBUFFER_MULTISAMPLE_COVERAGE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_FRAMEBUFFER_MULTISAMPLE_COVERAGE)) && !defined(REGAL_NO_TYPEDEF_GL_NV_FRAMEBUFFER_MULTISAMPLE_COVERAGE)\n#define REGAL_NO_TYPEDEF_GL_NV_FRAMEBUFFER_MULTISAMPLE_COVERAGE\n#endif\n\n#if (defined(GL_NV_FRAMEBUFFER_MULTISAMPLE_COVERAGE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_FRAMEBUFFER_MULTISAMPLE_COVERAGE)) && !defined(REGAL_NO_NAMESPACE_GL_NV_FRAMEBUFFER_MULTISAMPLE_COVERAGE)\n#define REGAL_NO_NAMESPACE_GL_NV_FRAMEBUFFER_MULTISAMPLE_COVERAGE\n#endif\n\n#if (defined(GL_NV_FRAMEBUFFER_MULTISAMPLE_COVERAGE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_FRAMEBUFFER_MULTISAMPLE_COVERAGE)) && !defined(REGAL_NO_PLUGIN_GL_NV_FRAMEBUFFER_MULTISAMPLE_COVERAGE)\n#define REGAL_NO_PLUGIN_GL_NV_FRAMEBUFFER_MULTISAMPLE_COVERAGE\n#endif\n\n#if (defined(GL_NV_FRAMEBUFFER_MULTISAMPLE_COVERAGE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_FRAMEBUFFER_MULTISAMPLE_COVERAGE)) && !defined(REGAL_NO_DECLARATION_GL_NV_FRAMEBUFFER_MULTISAMPLE_COVERAGE)\n#define REGAL_NO_DECLARATION_GL_NV_FRAMEBUFFER_MULTISAMPLE_COVERAGE\n#endif\n\n#ifndef GL_NV_framebuffer_multisample_coverage\n#define GL_NV_framebuffer_multisample_coverage 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_FRAMEBUFFER_MULTISAMPLE_COVERAGE\n#define GL_RENDERBUFFER_COVERAGE_SAMPLES_NV  0x8cab     /* 36011 */\n#define GL_RENDERBUFFER_COLOR_SAMPLES_NV     0x8e10     /* 36368 */\n#define GL_MAX_MULTISAMPLE_COVERAGE_MODES_NV 0x8e11     /* 36369 */\n#define GL_MULTISAMPLE_COVERAGE_MODES_NV     0x8e12     /* 36370 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_NV_FRAMEBUFFER_MULTISAMPLE_COVERAGE\ntypedef void (REGAL_CALL *PFNGLRENDERBUFFERSTORAGEMULTISAMPLECOVERAGENVPROC)(GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_NV_FRAMEBUFFER_MULTISAMPLE_COVERAGE\n#define glRenderbufferStorageMultisampleCoverageNV rglRenderbufferStorageMultisampleCoverageNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_NV_FRAMEBUFFER_MULTISAMPLE_COVERAGE\nREGAL_DECL void REGAL_CALL glRenderbufferStorageMultisampleCoverageNV(GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_NV_FRAMEBUFFER_MULTISAMPLE_COVERAGE\nREGAL_DECL void REGAL_CALL plugin_glRenderbufferStorageMultisampleCoverageNV(GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height);\n#endif\n\n/**\n ** GL_NV_geometry_program4\n **/\n\n#if (defined(GL_NV_GEOMETRY_PROGRAM4) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_GEOMETRY_PROGRAM4)) && !defined(REGAL_NO_ENUM_GL_NV_GEOMETRY_PROGRAM4)\n#define REGAL_NO_ENUM_GL_NV_GEOMETRY_PROGRAM4\n#endif\n\n#if (defined(GL_NV_GEOMETRY_PROGRAM4) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_GEOMETRY_PROGRAM4)) && !defined(REGAL_NO_TYPEDEF_GL_NV_GEOMETRY_PROGRAM4)\n#define REGAL_NO_TYPEDEF_GL_NV_GEOMETRY_PROGRAM4\n#endif\n\n#if (defined(GL_NV_GEOMETRY_PROGRAM4) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_GEOMETRY_PROGRAM4)) && !defined(REGAL_NO_NAMESPACE_GL_NV_GEOMETRY_PROGRAM4)\n#define REGAL_NO_NAMESPACE_GL_NV_GEOMETRY_PROGRAM4\n#endif\n\n#if (defined(GL_NV_GEOMETRY_PROGRAM4) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_GEOMETRY_PROGRAM4)) && !defined(REGAL_NO_PLUGIN_GL_NV_GEOMETRY_PROGRAM4)\n#define REGAL_NO_PLUGIN_GL_NV_GEOMETRY_PROGRAM4\n#endif\n\n#if (defined(GL_NV_GEOMETRY_PROGRAM4) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_GEOMETRY_PROGRAM4)) && !defined(REGAL_NO_DECLARATION_GL_NV_GEOMETRY_PROGRAM4)\n#define REGAL_NO_DECLARATION_GL_NV_GEOMETRY_PROGRAM4\n#endif\n\n#ifndef GL_NV_geometry_program4\n#define GL_NV_geometry_program4 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_GEOMETRY_PROGRAM4\n#define GL_GEOMETRY_PROGRAM_NV                    0x8c26     /* 35878 */\n#define GL_MAX_PROGRAM_OUTPUT_VERTICES_NV         0x8c27     /* 35879 */\n#define GL_MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS_NV 0x8c28     /* 35880 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_NV_GEOMETRY_PROGRAM4\ntypedef void (REGAL_CALL *PFNGLPROGRAMVERTEXLIMITNVPROC)(GLenum target, GLint limit);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_NV_GEOMETRY_PROGRAM4\n#define glProgramVertexLimitNV              rglProgramVertexLimitNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_NV_GEOMETRY_PROGRAM4\nREGAL_DECL void REGAL_CALL glProgramVertexLimitNV(GLenum target, GLint limit);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_NV_GEOMETRY_PROGRAM4\nREGAL_DECL void REGAL_CALL plugin_glProgramVertexLimitNV(GLenum target, GLint limit);\n#endif\n\n/**\n ** GL_NV_gpu_program4\n **/\n\n#if (defined(GL_NV_GPU_PROGRAM4) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_GPU_PROGRAM4)) && !defined(REGAL_NO_ENUM_GL_NV_GPU_PROGRAM4)\n#define REGAL_NO_ENUM_GL_NV_GPU_PROGRAM4\n#endif\n\n#if (defined(GL_NV_GPU_PROGRAM4) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_GPU_PROGRAM4)) && !defined(REGAL_NO_TYPEDEF_GL_NV_GPU_PROGRAM4)\n#define REGAL_NO_TYPEDEF_GL_NV_GPU_PROGRAM4\n#endif\n\n#if (defined(GL_NV_GPU_PROGRAM4) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_GPU_PROGRAM4)) && !defined(REGAL_NO_NAMESPACE_GL_NV_GPU_PROGRAM4)\n#define REGAL_NO_NAMESPACE_GL_NV_GPU_PROGRAM4\n#endif\n\n#if (defined(GL_NV_GPU_PROGRAM4) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_GPU_PROGRAM4)) && !defined(REGAL_NO_PLUGIN_GL_NV_GPU_PROGRAM4)\n#define REGAL_NO_PLUGIN_GL_NV_GPU_PROGRAM4\n#endif\n\n#if (defined(GL_NV_GPU_PROGRAM4) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_GPU_PROGRAM4)) && !defined(REGAL_NO_DECLARATION_GL_NV_GPU_PROGRAM4)\n#define REGAL_NO_DECLARATION_GL_NV_GPU_PROGRAM4\n#endif\n\n#ifndef GL_NV_gpu_program4\n#define GL_NV_gpu_program4 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_GPU_PROGRAM4\n#define GL_MIN_PROGRAM_TEXEL_OFFSET_NV      0x8904     /* 35076 */\n#define GL_MAX_PROGRAM_TEXEL_OFFSET_NV      0x8905     /* 35077 */\n#define GL_PROGRAM_ATTRIB_COMPONENTS_NV     0x8906     /* 35078 */\n#define GL_PROGRAM_RESULT_COMPONENTS_NV     0x8907     /* 35079 */\n#define GL_MAX_PROGRAM_ATTRIB_COMPONENTS_NV 0x8908     /* 35080 */\n#define GL_MAX_PROGRAM_RESULT_COMPONENTS_NV 0x8909     /* 35081 */\n#define GL_MAX_PROGRAM_GENERIC_ATTRIBS_NV   0x8da5     /* 36261 */\n#define GL_MAX_PROGRAM_GENERIC_RESULTS_NV   0x8da6     /* 36262 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_NV_GPU_PROGRAM4\ntypedef void (REGAL_CALL *PFNGLGETPROGRAMENVPARAMETERIIVNVPROC)(GLenum target, GLuint index, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETPROGRAMENVPARAMETERIUIVNVPROC)(GLenum target, GLuint index, GLuint *params);\ntypedef void (REGAL_CALL *PFNGLGETPROGRAMLOCALPARAMETERIIVNVPROC)(GLenum target, GLuint index, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETPROGRAMLOCALPARAMETERIUIVNVPROC)(GLenum target, GLuint index, GLuint *params);\ntypedef void (REGAL_CALL *PFNGLPROGRAMENVPARAMETERI4INVPROC)(GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w);\ntypedef void (REGAL_CALL *PFNGLPROGRAMENVPARAMETERI4IVNVPROC)(GLenum target, GLuint index, const GLint *params);\ntypedef void (REGAL_CALL *PFNGLPROGRAMENVPARAMETERI4UINVPROC)(GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);\ntypedef void (REGAL_CALL *PFNGLPROGRAMENVPARAMETERI4UIVNVPROC)(GLenum target, GLuint index, const GLuint *params);\ntypedef void (REGAL_CALL *PFNGLPROGRAMENVPARAMETERSI4IVNVPROC)(GLenum target, GLuint index, GLsizei count, const GLint *params);\ntypedef void (REGAL_CALL *PFNGLPROGRAMENVPARAMETERSI4UIVNVPROC)(GLenum target, GLuint index, GLsizei count, const GLuint *params);\ntypedef void (REGAL_CALL *PFNGLPROGRAMLOCALPARAMETERI4INVPROC)(GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w);\ntypedef void (REGAL_CALL *PFNGLPROGRAMLOCALPARAMETERI4IVNVPROC)(GLenum target, GLuint index, const GLint *params);\ntypedef void (REGAL_CALL *PFNGLPROGRAMLOCALPARAMETERI4UINVPROC)(GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);\ntypedef void (REGAL_CALL *PFNGLPROGRAMLOCALPARAMETERI4UIVNVPROC)(GLenum target, GLuint index, const GLuint *params);\ntypedef void (REGAL_CALL *PFNGLPROGRAMLOCALPARAMETERSI4IVNVPROC)(GLenum target, GLuint index, GLsizei count, const GLint *params);\ntypedef void (REGAL_CALL *PFNGLPROGRAMLOCALPARAMETERSI4UIVNVPROC)(GLenum target, GLuint index, GLsizei count, const GLuint *params);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_NV_GPU_PROGRAM4\n#define glGetProgramEnvParameterIivNV       rglGetProgramEnvParameterIivNV\n#define glGetProgramEnvParameterIuivNV      rglGetProgramEnvParameterIuivNV\n#define glGetProgramLocalParameterIivNV     rglGetProgramLocalParameterIivNV\n#define glGetProgramLocalParameterIuivNV    rglGetProgramLocalParameterIuivNV\n#define glProgramEnvParameterI4iNV          rglProgramEnvParameterI4iNV\n#define glProgramEnvParameterI4ivNV         rglProgramEnvParameterI4ivNV\n#define glProgramEnvParameterI4uiNV         rglProgramEnvParameterI4uiNV\n#define glProgramEnvParameterI4uivNV        rglProgramEnvParameterI4uivNV\n#define glProgramEnvParametersI4ivNV        rglProgramEnvParametersI4ivNV\n#define glProgramEnvParametersI4uivNV       rglProgramEnvParametersI4uivNV\n#define glProgramLocalParameterI4iNV        rglProgramLocalParameterI4iNV\n#define glProgramLocalParameterI4ivNV       rglProgramLocalParameterI4ivNV\n#define glProgramLocalParameterI4uiNV       rglProgramLocalParameterI4uiNV\n#define glProgramLocalParameterI4uivNV      rglProgramLocalParameterI4uivNV\n#define glProgramLocalParametersI4ivNV      rglProgramLocalParametersI4ivNV\n#define glProgramLocalParametersI4uivNV     rglProgramLocalParametersI4uivNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_NV_GPU_PROGRAM4\nREGAL_DECL void REGAL_CALL glGetProgramEnvParameterIivNV(GLenum target, GLuint index, GLint *params);\nREGAL_DECL void REGAL_CALL glGetProgramEnvParameterIuivNV(GLenum target, GLuint index, GLuint *params);\nREGAL_DECL void REGAL_CALL glGetProgramLocalParameterIivNV(GLenum target, GLuint index, GLint *params);\nREGAL_DECL void REGAL_CALL glGetProgramLocalParameterIuivNV(GLenum target, GLuint index, GLuint *params);\nREGAL_DECL void REGAL_CALL glProgramEnvParameterI4iNV(GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w);\nREGAL_DECL void REGAL_CALL glProgramEnvParameterI4ivNV(GLenum target, GLuint index, const GLint *params);\nREGAL_DECL void REGAL_CALL glProgramEnvParameterI4uiNV(GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);\nREGAL_DECL void REGAL_CALL glProgramEnvParameterI4uivNV(GLenum target, GLuint index, const GLuint *params);\nREGAL_DECL void REGAL_CALL glProgramEnvParametersI4ivNV(GLenum target, GLuint index, GLsizei count, const GLint *params);\nREGAL_DECL void REGAL_CALL glProgramEnvParametersI4uivNV(GLenum target, GLuint index, GLsizei count, const GLuint *params);\nREGAL_DECL void REGAL_CALL glProgramLocalParameterI4iNV(GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w);\nREGAL_DECL void REGAL_CALL glProgramLocalParameterI4ivNV(GLenum target, GLuint index, const GLint *params);\nREGAL_DECL void REGAL_CALL glProgramLocalParameterI4uiNV(GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);\nREGAL_DECL void REGAL_CALL glProgramLocalParameterI4uivNV(GLenum target, GLuint index, const GLuint *params);\nREGAL_DECL void REGAL_CALL glProgramLocalParametersI4ivNV(GLenum target, GLuint index, GLsizei count, const GLint *params);\nREGAL_DECL void REGAL_CALL glProgramLocalParametersI4uivNV(GLenum target, GLuint index, GLsizei count, const GLuint *params);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_NV_GPU_PROGRAM4\nREGAL_DECL void REGAL_CALL plugin_glGetProgramEnvParameterIivNV(GLenum target, GLuint index, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetProgramEnvParameterIuivNV(GLenum target, GLuint index, GLuint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetProgramLocalParameterIivNV(GLenum target, GLuint index, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetProgramLocalParameterIuivNV(GLenum target, GLuint index, GLuint *params);\nREGAL_DECL void REGAL_CALL plugin_glProgramEnvParameterI4iNV(GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w);\nREGAL_DECL void REGAL_CALL plugin_glProgramEnvParameterI4ivNV(GLenum target, GLuint index, const GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glProgramEnvParameterI4uiNV(GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);\nREGAL_DECL void REGAL_CALL plugin_glProgramEnvParameterI4uivNV(GLenum target, GLuint index, const GLuint *params);\nREGAL_DECL void REGAL_CALL plugin_glProgramEnvParametersI4ivNV(GLenum target, GLuint index, GLsizei count, const GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glProgramEnvParametersI4uivNV(GLenum target, GLuint index, GLsizei count, const GLuint *params);\nREGAL_DECL void REGAL_CALL plugin_glProgramLocalParameterI4iNV(GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w);\nREGAL_DECL void REGAL_CALL plugin_glProgramLocalParameterI4ivNV(GLenum target, GLuint index, const GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glProgramLocalParameterI4uiNV(GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);\nREGAL_DECL void REGAL_CALL plugin_glProgramLocalParameterI4uivNV(GLenum target, GLuint index, const GLuint *params);\nREGAL_DECL void REGAL_CALL plugin_glProgramLocalParametersI4ivNV(GLenum target, GLuint index, GLsizei count, const GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glProgramLocalParametersI4uivNV(GLenum target, GLuint index, GLsizei count, const GLuint *params);\n#endif\n\n/**\n ** GL_NV_gpu_program5\n **/\n\n#if (defined(GL_NV_GPU_PROGRAM5) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_GPU_PROGRAM5)) && !defined(REGAL_NO_ENUM_GL_NV_GPU_PROGRAM5)\n#define REGAL_NO_ENUM_GL_NV_GPU_PROGRAM5\n#endif\n\n#if (defined(GL_NV_GPU_PROGRAM5) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_GPU_PROGRAM5)) && !defined(REGAL_NO_TYPEDEF_GL_NV_GPU_PROGRAM5)\n#define REGAL_NO_TYPEDEF_GL_NV_GPU_PROGRAM5\n#endif\n\n#if (defined(GL_NV_GPU_PROGRAM5) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_GPU_PROGRAM5)) && !defined(REGAL_NO_NAMESPACE_GL_NV_GPU_PROGRAM5)\n#define REGAL_NO_NAMESPACE_GL_NV_GPU_PROGRAM5\n#endif\n\n#if (defined(GL_NV_GPU_PROGRAM5) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_GPU_PROGRAM5)) && !defined(REGAL_NO_PLUGIN_GL_NV_GPU_PROGRAM5)\n#define REGAL_NO_PLUGIN_GL_NV_GPU_PROGRAM5\n#endif\n\n#if (defined(GL_NV_GPU_PROGRAM5) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_GPU_PROGRAM5)) && !defined(REGAL_NO_DECLARATION_GL_NV_GPU_PROGRAM5)\n#define REGAL_NO_DECLARATION_GL_NV_GPU_PROGRAM5\n#endif\n\n#ifndef GL_NV_gpu_program5\n#define GL_NV_gpu_program5 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_GPU_PROGRAM5\n#define GL_MAX_GEOMETRY_PROGRAM_INVOCATIONS_NV           0x8e5a     /* 36442 */\n#define GL_MIN_FRAGMENT_INTERPOLATION_OFFSET_NV          0x8e5b     /* 36443 */\n#define GL_MAX_FRAGMENT_INTERPOLATION_OFFSET_NV          0x8e5c     /* 36444 */\n#define GL_FRAGMENT_PROGRAM_INTERPOLATION_OFFSET_BITS_NV 0x8e5d     /* 36445 */\n#endif\n\n/**\n ** GL_NV_gpu_shader5\n **/\n\n#if (defined(GL_NV_GPU_SHADER5) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_GPU_SHADER5)) && !defined(REGAL_NO_ENUM_GL_NV_GPU_SHADER5)\n#define REGAL_NO_ENUM_GL_NV_GPU_SHADER5\n#endif\n\n#if (defined(GL_NV_GPU_SHADER5) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_GPU_SHADER5)) && !defined(REGAL_NO_TYPEDEF_GL_NV_GPU_SHADER5)\n#define REGAL_NO_TYPEDEF_GL_NV_GPU_SHADER5\n#endif\n\n#if (defined(GL_NV_GPU_SHADER5) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_GPU_SHADER5)) && !defined(REGAL_NO_NAMESPACE_GL_NV_GPU_SHADER5)\n#define REGAL_NO_NAMESPACE_GL_NV_GPU_SHADER5\n#endif\n\n#if (defined(GL_NV_GPU_SHADER5) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_GPU_SHADER5)) && !defined(REGAL_NO_PLUGIN_GL_NV_GPU_SHADER5)\n#define REGAL_NO_PLUGIN_GL_NV_GPU_SHADER5\n#endif\n\n#if (defined(GL_NV_GPU_SHADER5) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_GPU_SHADER5)) && !defined(REGAL_NO_DECLARATION_GL_NV_GPU_SHADER5)\n#define REGAL_NO_DECLARATION_GL_NV_GPU_SHADER5\n#endif\n\n#ifndef GL_NV_gpu_shader5\n#define GL_NV_gpu_shader5 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_GPU_SHADER5\n#define GL_INT8_NV                0x8fe0     /* 36832 */\n#define GL_INT8_VEC2_NV           0x8fe1     /* 36833 */\n#define GL_INT8_VEC3_NV           0x8fe2     /* 36834 */\n#define GL_INT8_VEC4_NV           0x8fe3     /* 36835 */\n#define GL_INT16_NV               0x8fe4     /* 36836 */\n#define GL_INT16_VEC2_NV          0x8fe5     /* 36837 */\n#define GL_INT16_VEC3_NV          0x8fe6     /* 36838 */\n#define GL_INT16_VEC4_NV          0x8fe7     /* 36839 */\n#define GL_INT64_VEC2_NV          0x8fe9     /* 36841 */\n#define GL_INT64_VEC3_NV          0x8fea     /* 36842 */\n#define GL_INT64_VEC4_NV          0x8feb     /* 36843 */\n#define GL_UNSIGNED_INT8_NV       0x8fec     /* 36844 */\n#define GL_UNSIGNED_INT8_VEC2_NV  0x8fed     /* 36845 */\n#define GL_UNSIGNED_INT8_VEC3_NV  0x8fee     /* 36846 */\n#define GL_UNSIGNED_INT8_VEC4_NV  0x8fef     /* 36847 */\n#define GL_UNSIGNED_INT16_NV      0x8ff0     /* 36848 */\n#define GL_UNSIGNED_INT16_VEC2_NV 0x8ff1     /* 36849 */\n#define GL_UNSIGNED_INT16_VEC3_NV 0x8ff2     /* 36850 */\n#define GL_UNSIGNED_INT16_VEC4_NV 0x8ff3     /* 36851 */\n#define GL_UNSIGNED_INT64_VEC2_NV 0x8ff5     /* 36853 */\n#define GL_UNSIGNED_INT64_VEC3_NV 0x8ff6     /* 36854 */\n#define GL_UNSIGNED_INT64_VEC4_NV 0x8ff7     /* 36855 */\n#define GL_FLOAT16_NV             0x8ff8     /* 36856 */\n#define GL_FLOAT16_VEC2_NV        0x8ff9     /* 36857 */\n#define GL_FLOAT16_VEC3_NV        0x8ffa     /* 36858 */\n#define GL_FLOAT16_VEC4_NV        0x8ffb     /* 36859 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_NV_GPU_SHADER5\ntypedef void (REGAL_CALL *PFNGLGETUNIFORMI64VNVPROC)(GLuint program, GLint location, GLint64EXT *params);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM1I64NVPROC)(GLuint program, GLint location, GLint64EXT x);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM1I64VNVPROC)(GLuint program, GLint location, GLsizei count, const GLint64EXT *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM1UI64NVPROC)(GLuint program, GLint location, GLuint64EXT x);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM1UI64VNVPROC)(GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM2I64NVPROC)(GLuint program, GLint location, GLint64EXT x, GLint64EXT y);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM2I64VNVPROC)(GLuint program, GLint location, GLsizei count, const GLint64EXT *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM2UI64NVPROC)(GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM2UI64VNVPROC)(GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM3I64NVPROC)(GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM3I64VNVPROC)(GLuint program, GLint location, GLsizei count, const GLint64EXT *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM3UI64NVPROC)(GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM3UI64VNVPROC)(GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM4I64NVPROC)(GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM4I64VNVPROC)(GLuint program, GLint location, GLsizei count, const GLint64EXT *value);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM4UI64NVPROC)(GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORM4UI64VNVPROC)(GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORM1I64NVPROC)(GLint location, GLint64EXT x);\ntypedef void (REGAL_CALL *PFNGLUNIFORM1I64VNVPROC)(GLint location, GLsizei count, const GLint64EXT *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORM1UI64NVPROC)(GLint location, GLuint64EXT x);\ntypedef void (REGAL_CALL *PFNGLUNIFORM1UI64VNVPROC)(GLint location, GLsizei count, const GLuint64EXT *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORM2I64NVPROC)(GLint location, GLint64EXT x, GLint64EXT y);\ntypedef void (REGAL_CALL *PFNGLUNIFORM2I64VNVPROC)(GLint location, GLsizei count, const GLint64EXT *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORM2UI64NVPROC)(GLint location, GLuint64EXT x, GLuint64EXT y);\ntypedef void (REGAL_CALL *PFNGLUNIFORM2UI64VNVPROC)(GLint location, GLsizei count, const GLuint64EXT *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORM3I64NVPROC)(GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z);\ntypedef void (REGAL_CALL *PFNGLUNIFORM3I64VNVPROC)(GLint location, GLsizei count, const GLint64EXT *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORM3UI64NVPROC)(GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z);\ntypedef void (REGAL_CALL *PFNGLUNIFORM3UI64VNVPROC)(GLint location, GLsizei count, const GLuint64EXT *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORM4I64NVPROC)(GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w);\ntypedef void (REGAL_CALL *PFNGLUNIFORM4I64VNVPROC)(GLint location, GLsizei count, const GLint64EXT *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORM4UI64NVPROC)(GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w);\ntypedef void (REGAL_CALL *PFNGLUNIFORM4UI64VNVPROC)(GLint location, GLsizei count, const GLuint64EXT *value);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_NV_GPU_SHADER5\n#define glGetUniformi64vNV                  rglGetUniformi64vNV\n#define glProgramUniform1i64NV              rglProgramUniform1i64NV\n#define glProgramUniform1i64vNV             rglProgramUniform1i64vNV\n#define glProgramUniform1ui64NV             rglProgramUniform1ui64NV\n#define glProgramUniform1ui64vNV            rglProgramUniform1ui64vNV\n#define glProgramUniform2i64NV              rglProgramUniform2i64NV\n#define glProgramUniform2i64vNV             rglProgramUniform2i64vNV\n#define glProgramUniform2ui64NV             rglProgramUniform2ui64NV\n#define glProgramUniform2ui64vNV            rglProgramUniform2ui64vNV\n#define glProgramUniform3i64NV              rglProgramUniform3i64NV\n#define glProgramUniform3i64vNV             rglProgramUniform3i64vNV\n#define glProgramUniform3ui64NV             rglProgramUniform3ui64NV\n#define glProgramUniform3ui64vNV            rglProgramUniform3ui64vNV\n#define glProgramUniform4i64NV              rglProgramUniform4i64NV\n#define glProgramUniform4i64vNV             rglProgramUniform4i64vNV\n#define glProgramUniform4ui64NV             rglProgramUniform4ui64NV\n#define glProgramUniform4ui64vNV            rglProgramUniform4ui64vNV\n#define glUniform1i64NV                     rglUniform1i64NV\n#define glUniform1i64vNV                    rglUniform1i64vNV\n#define glUniform1ui64NV                    rglUniform1ui64NV\n#define glUniform1ui64vNV                   rglUniform1ui64vNV\n#define glUniform2i64NV                     rglUniform2i64NV\n#define glUniform2i64vNV                    rglUniform2i64vNV\n#define glUniform2ui64NV                    rglUniform2ui64NV\n#define glUniform2ui64vNV                   rglUniform2ui64vNV\n#define glUniform3i64NV                     rglUniform3i64NV\n#define glUniform3i64vNV                    rglUniform3i64vNV\n#define glUniform3ui64NV                    rglUniform3ui64NV\n#define glUniform3ui64vNV                   rglUniform3ui64vNV\n#define glUniform4i64NV                     rglUniform4i64NV\n#define glUniform4i64vNV                    rglUniform4i64vNV\n#define glUniform4ui64NV                    rglUniform4ui64NV\n#define glUniform4ui64vNV                   rglUniform4ui64vNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_NV_GPU_SHADER5\nREGAL_DECL void REGAL_CALL glGetUniformi64vNV(GLuint program, GLint location, GLint64EXT *params);\nREGAL_DECL void REGAL_CALL glProgramUniform1i64NV(GLuint program, GLint location, GLint64EXT x);\nREGAL_DECL void REGAL_CALL glProgramUniform1i64vNV(GLuint program, GLint location, GLsizei count, const GLint64EXT *value);\nREGAL_DECL void REGAL_CALL glProgramUniform1ui64NV(GLuint program, GLint location, GLuint64EXT x);\nREGAL_DECL void REGAL_CALL glProgramUniform1ui64vNV(GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);\nREGAL_DECL void REGAL_CALL glProgramUniform2i64NV(GLuint program, GLint location, GLint64EXT x, GLint64EXT y);\nREGAL_DECL void REGAL_CALL glProgramUniform2i64vNV(GLuint program, GLint location, GLsizei count, const GLint64EXT *value);\nREGAL_DECL void REGAL_CALL glProgramUniform2ui64NV(GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y);\nREGAL_DECL void REGAL_CALL glProgramUniform2ui64vNV(GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);\nREGAL_DECL void REGAL_CALL glProgramUniform3i64NV(GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z);\nREGAL_DECL void REGAL_CALL glProgramUniform3i64vNV(GLuint program, GLint location, GLsizei count, const GLint64EXT *value);\nREGAL_DECL void REGAL_CALL glProgramUniform3ui64NV(GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z);\nREGAL_DECL void REGAL_CALL glProgramUniform3ui64vNV(GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);\nREGAL_DECL void REGAL_CALL glProgramUniform4i64NV(GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w);\nREGAL_DECL void REGAL_CALL glProgramUniform4i64vNV(GLuint program, GLint location, GLsizei count, const GLint64EXT *value);\nREGAL_DECL void REGAL_CALL glProgramUniform4ui64NV(GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w);\nREGAL_DECL void REGAL_CALL glProgramUniform4ui64vNV(GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);\nREGAL_DECL void REGAL_CALL glUniform1i64NV(GLint location, GLint64EXT x);\nREGAL_DECL void REGAL_CALL glUniform1i64vNV(GLint location, GLsizei count, const GLint64EXT *value);\nREGAL_DECL void REGAL_CALL glUniform1ui64NV(GLint location, GLuint64EXT x);\nREGAL_DECL void REGAL_CALL glUniform1ui64vNV(GLint location, GLsizei count, const GLuint64EXT *value);\nREGAL_DECL void REGAL_CALL glUniform2i64NV(GLint location, GLint64EXT x, GLint64EXT y);\nREGAL_DECL void REGAL_CALL glUniform2i64vNV(GLint location, GLsizei count, const GLint64EXT *value);\nREGAL_DECL void REGAL_CALL glUniform2ui64NV(GLint location, GLuint64EXT x, GLuint64EXT y);\nREGAL_DECL void REGAL_CALL glUniform2ui64vNV(GLint location, GLsizei count, const GLuint64EXT *value);\nREGAL_DECL void REGAL_CALL glUniform3i64NV(GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z);\nREGAL_DECL void REGAL_CALL glUniform3i64vNV(GLint location, GLsizei count, const GLint64EXT *value);\nREGAL_DECL void REGAL_CALL glUniform3ui64NV(GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z);\nREGAL_DECL void REGAL_CALL glUniform3ui64vNV(GLint location, GLsizei count, const GLuint64EXT *value);\nREGAL_DECL void REGAL_CALL glUniform4i64NV(GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w);\nREGAL_DECL void REGAL_CALL glUniform4i64vNV(GLint location, GLsizei count, const GLint64EXT *value);\nREGAL_DECL void REGAL_CALL glUniform4ui64NV(GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w);\nREGAL_DECL void REGAL_CALL glUniform4ui64vNV(GLint location, GLsizei count, const GLuint64EXT *value);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_NV_GPU_SHADER5\nREGAL_DECL void REGAL_CALL plugin_glGetUniformi64vNV(GLuint program, GLint location, GLint64EXT *params);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform1i64NV(GLuint program, GLint location, GLint64EXT x);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform1i64vNV(GLuint program, GLint location, GLsizei count, const GLint64EXT *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform1ui64NV(GLuint program, GLint location, GLuint64EXT x);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform1ui64vNV(GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform2i64NV(GLuint program, GLint location, GLint64EXT x, GLint64EXT y);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform2i64vNV(GLuint program, GLint location, GLsizei count, const GLint64EXT *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform2ui64NV(GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform2ui64vNV(GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform3i64NV(GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform3i64vNV(GLuint program, GLint location, GLsizei count, const GLint64EXT *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform3ui64NV(GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform3ui64vNV(GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform4i64NV(GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform4i64vNV(GLuint program, GLint location, GLsizei count, const GLint64EXT *value);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform4ui64NV(GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniform4ui64vNV(GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);\nREGAL_DECL void REGAL_CALL plugin_glUniform1i64NV(GLint location, GLint64EXT x);\nREGAL_DECL void REGAL_CALL plugin_glUniform1i64vNV(GLint location, GLsizei count, const GLint64EXT *value);\nREGAL_DECL void REGAL_CALL plugin_glUniform1ui64NV(GLint location, GLuint64EXT x);\nREGAL_DECL void REGAL_CALL plugin_glUniform1ui64vNV(GLint location, GLsizei count, const GLuint64EXT *value);\nREGAL_DECL void REGAL_CALL plugin_glUniform2i64NV(GLint location, GLint64EXT x, GLint64EXT y);\nREGAL_DECL void REGAL_CALL plugin_glUniform2i64vNV(GLint location, GLsizei count, const GLint64EXT *value);\nREGAL_DECL void REGAL_CALL plugin_glUniform2ui64NV(GLint location, GLuint64EXT x, GLuint64EXT y);\nREGAL_DECL void REGAL_CALL plugin_glUniform2ui64vNV(GLint location, GLsizei count, const GLuint64EXT *value);\nREGAL_DECL void REGAL_CALL plugin_glUniform3i64NV(GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z);\nREGAL_DECL void REGAL_CALL plugin_glUniform3i64vNV(GLint location, GLsizei count, const GLint64EXT *value);\nREGAL_DECL void REGAL_CALL plugin_glUniform3ui64NV(GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z);\nREGAL_DECL void REGAL_CALL plugin_glUniform3ui64vNV(GLint location, GLsizei count, const GLuint64EXT *value);\nREGAL_DECL void REGAL_CALL plugin_glUniform4i64NV(GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w);\nREGAL_DECL void REGAL_CALL plugin_glUniform4i64vNV(GLint location, GLsizei count, const GLint64EXT *value);\nREGAL_DECL void REGAL_CALL plugin_glUniform4ui64NV(GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w);\nREGAL_DECL void REGAL_CALL plugin_glUniform4ui64vNV(GLint location, GLsizei count, const GLuint64EXT *value);\n#endif\n\n/**\n ** GL_NV_half_float\n **/\n\n#if (defined(GL_NV_HALF_FLOAT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_HALF_FLOAT)) && !defined(REGAL_NO_ENUM_GL_NV_HALF_FLOAT)\n#define REGAL_NO_ENUM_GL_NV_HALF_FLOAT\n#endif\n\n#if (defined(GL_NV_HALF_FLOAT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_HALF_FLOAT)) && !defined(REGAL_NO_TYPEDEF_GL_NV_HALF_FLOAT)\n#define REGAL_NO_TYPEDEF_GL_NV_HALF_FLOAT\n#endif\n\n#if (defined(GL_NV_HALF_FLOAT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_HALF_FLOAT)) && !defined(REGAL_NO_NAMESPACE_GL_NV_HALF_FLOAT)\n#define REGAL_NO_NAMESPACE_GL_NV_HALF_FLOAT\n#endif\n\n#if (defined(GL_NV_HALF_FLOAT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_HALF_FLOAT)) && !defined(REGAL_NO_PLUGIN_GL_NV_HALF_FLOAT)\n#define REGAL_NO_PLUGIN_GL_NV_HALF_FLOAT\n#endif\n\n#if (defined(GL_NV_HALF_FLOAT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_HALF_FLOAT)) && !defined(REGAL_NO_DECLARATION_GL_NV_HALF_FLOAT)\n#define REGAL_NO_DECLARATION_GL_NV_HALF_FLOAT\n#endif\n\n#ifndef GL_NV_half_float\n#define GL_NV_half_float 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_HALF_FLOAT\n#define GL_HALF_FLOAT_NV 0x140b /* 5131 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_NV_HALF_FLOAT\ntypedef void (REGAL_CALL *PFNGLCOLOR3HNVPROC)(GLhalfNV red, GLhalfNV green, GLhalfNV blue);\ntypedef void (REGAL_CALL *PFNGLCOLOR3HVNVPROC)(const GLhalfNV *v);\ntypedef void (REGAL_CALL *PFNGLCOLOR4HNVPROC)(GLhalfNV red, GLhalfNV green, GLhalfNV blue, GLhalfNV alpha);\ntypedef void (REGAL_CALL *PFNGLCOLOR4HVNVPROC)(const GLhalfNV *v);\ntypedef void (REGAL_CALL *PFNGLFOGCOORDHNVPROC)(GLhalfNV coord);\ntypedef void (REGAL_CALL *PFNGLFOGCOORDHVNVPROC)(const GLhalfNV *coord);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD1HNVPROC)(GLenum target, GLhalfNV s);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD1HVNVPROC)(GLenum target, const GLhalfNV *v);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD2HNVPROC)(GLenum target, GLhalfNV s, GLhalfNV t);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD2HVNVPROC)(GLenum target, const GLhalfNV *v);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD3HNVPROC)(GLenum target, GLhalfNV s, GLhalfNV t, GLhalfNV r);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD3HVNVPROC)(GLenum target, const GLhalfNV *v);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD4HNVPROC)(GLenum target, GLhalfNV s, GLhalfNV t, GLhalfNV r, GLhalfNV q);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD4HVNVPROC)(GLenum target, const GLhalfNV *v);\ntypedef void (REGAL_CALL *PFNGLNORMAL3HNVPROC)(GLhalfNV nx, GLhalfNV ny, GLhalfNV nz);\ntypedef void (REGAL_CALL *PFNGLNORMAL3HVNVPROC)(const GLhalfNV *v);\ntypedef void (REGAL_CALL *PFNGLSECONDARYCOLOR3HNVPROC)(GLhalfNV red, GLhalfNV green, GLhalfNV blue);\ntypedef void (REGAL_CALL *PFNGLSECONDARYCOLOR3HVNVPROC)(const GLhalfNV *v);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD1HNVPROC)(GLhalfNV s);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD1HVNVPROC)(const GLhalfNV *v);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD2HNVPROC)(GLhalfNV s, GLhalfNV t);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD2HVNVPROC)(const GLhalfNV *v);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD3HNVPROC)(GLhalfNV s, GLhalfNV t, GLhalfNV r);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD3HVNVPROC)(const GLhalfNV *v);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD4HNVPROC)(GLhalfNV s, GLhalfNV t, GLhalfNV r, GLhalfNV q);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD4HVNVPROC)(const GLhalfNV *v);\ntypedef void (REGAL_CALL *PFNGLVERTEX2HNVPROC)(GLhalfNV x, GLhalfNV y);\ntypedef void (REGAL_CALL *PFNGLVERTEX2HVNVPROC)(const GLhalfNV *v);\ntypedef void (REGAL_CALL *PFNGLVERTEX3HNVPROC)(GLhalfNV x, GLhalfNV y, GLhalfNV z);\ntypedef void (REGAL_CALL *PFNGLVERTEX3HVNVPROC)(const GLhalfNV *v);\ntypedef void (REGAL_CALL *PFNGLVERTEX4HNVPROC)(GLhalfNV x, GLhalfNV y, GLhalfNV z, GLhalfNV w);\ntypedef void (REGAL_CALL *PFNGLVERTEX4HVNVPROC)(const GLhalfNV *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB1HNVPROC)(GLuint index, GLhalfNV x);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB1HVNVPROC)(GLuint index, const GLhalfNV *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB2HNVPROC)(GLuint index, GLhalfNV x, GLhalfNV y);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB2HVNVPROC)(GLuint index, const GLhalfNV *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB3HNVPROC)(GLuint index, GLhalfNV x, GLhalfNV y, GLhalfNV z);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB3HVNVPROC)(GLuint index, const GLhalfNV *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4HNVPROC)(GLuint index, GLhalfNV x, GLhalfNV y, GLhalfNV z, GLhalfNV w);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4HVNVPROC)(GLuint index, const GLhalfNV *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBS1HVNVPROC)(GLuint index, GLsizei count, const GLhalfNV *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBS2HVNVPROC)(GLuint index, GLsizei count, const GLhalfNV *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBS3HVNVPROC)(GLuint index, GLsizei count, const GLhalfNV *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBS4HVNVPROC)(GLuint index, GLsizei count, const GLhalfNV *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXWEIGHTHNVPROC)(GLhalfNV weight);\ntypedef void (REGAL_CALL *PFNGLVERTEXWEIGHTHVNVPROC)(const GLhalfNV *weight);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_NV_HALF_FLOAT\n#define glColor3hNV                         rglColor3hNV\n#define glColor3hvNV                        rglColor3hvNV\n#define glColor4hNV                         rglColor4hNV\n#define glColor4hvNV                        rglColor4hvNV\n#define glFogCoordhNV                       rglFogCoordhNV\n#define glFogCoordhvNV                      rglFogCoordhvNV\n#define glMultiTexCoord1hNV                 rglMultiTexCoord1hNV\n#define glMultiTexCoord1hvNV                rglMultiTexCoord1hvNV\n#define glMultiTexCoord2hNV                 rglMultiTexCoord2hNV\n#define glMultiTexCoord2hvNV                rglMultiTexCoord2hvNV\n#define glMultiTexCoord3hNV                 rglMultiTexCoord3hNV\n#define glMultiTexCoord3hvNV                rglMultiTexCoord3hvNV\n#define glMultiTexCoord4hNV                 rglMultiTexCoord4hNV\n#define glMultiTexCoord4hvNV                rglMultiTexCoord4hvNV\n#define glNormal3hNV                        rglNormal3hNV\n#define glNormal3hvNV                       rglNormal3hvNV\n#define glSecondaryColor3hNV                rglSecondaryColor3hNV\n#define glSecondaryColor3hvNV               rglSecondaryColor3hvNV\n#define glTexCoord1hNV                      rglTexCoord1hNV\n#define glTexCoord1hvNV                     rglTexCoord1hvNV\n#define glTexCoord2hNV                      rglTexCoord2hNV\n#define glTexCoord2hvNV                     rglTexCoord2hvNV\n#define glTexCoord3hNV                      rglTexCoord3hNV\n#define glTexCoord3hvNV                     rglTexCoord3hvNV\n#define glTexCoord4hNV                      rglTexCoord4hNV\n#define glTexCoord4hvNV                     rglTexCoord4hvNV\n#define glVertex2hNV                        rglVertex2hNV\n#define glVertex2hvNV                       rglVertex2hvNV\n#define glVertex3hNV                        rglVertex3hNV\n#define glVertex3hvNV                       rglVertex3hvNV\n#define glVertex4hNV                        rglVertex4hNV\n#define glVertex4hvNV                       rglVertex4hvNV\n#define glVertexAttrib1hNV                  rglVertexAttrib1hNV\n#define glVertexAttrib1hvNV                 rglVertexAttrib1hvNV\n#define glVertexAttrib2hNV                  rglVertexAttrib2hNV\n#define glVertexAttrib2hvNV                 rglVertexAttrib2hvNV\n#define glVertexAttrib3hNV                  rglVertexAttrib3hNV\n#define glVertexAttrib3hvNV                 rglVertexAttrib3hvNV\n#define glVertexAttrib4hNV                  rglVertexAttrib4hNV\n#define glVertexAttrib4hvNV                 rglVertexAttrib4hvNV\n#define glVertexAttribs1hvNV                rglVertexAttribs1hvNV\n#define glVertexAttribs2hvNV                rglVertexAttribs2hvNV\n#define glVertexAttribs3hvNV                rglVertexAttribs3hvNV\n#define glVertexAttribs4hvNV                rglVertexAttribs4hvNV\n#define glVertexWeighthNV                   rglVertexWeighthNV\n#define glVertexWeighthvNV                  rglVertexWeighthvNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_NV_HALF_FLOAT\nREGAL_DECL void REGAL_CALL glColor3hNV(GLhalfNV red, GLhalfNV green, GLhalfNV blue);\nREGAL_DECL void REGAL_CALL glColor3hvNV(const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL glColor4hNV(GLhalfNV red, GLhalfNV green, GLhalfNV blue, GLhalfNV alpha);\nREGAL_DECL void REGAL_CALL glColor4hvNV(const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL glFogCoordhNV(GLhalfNV coord);\nREGAL_DECL void REGAL_CALL glFogCoordhvNV(const GLhalfNV *coord);\nREGAL_DECL void REGAL_CALL glMultiTexCoord1hNV(GLenum target, GLhalfNV s);\nREGAL_DECL void REGAL_CALL glMultiTexCoord1hvNV(GLenum target, const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL glMultiTexCoord2hNV(GLenum target, GLhalfNV s, GLhalfNV t);\nREGAL_DECL void REGAL_CALL glMultiTexCoord2hvNV(GLenum target, const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL glMultiTexCoord3hNV(GLenum target, GLhalfNV s, GLhalfNV t, GLhalfNV r);\nREGAL_DECL void REGAL_CALL glMultiTexCoord3hvNV(GLenum target, const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL glMultiTexCoord4hNV(GLenum target, GLhalfNV s, GLhalfNV t, GLhalfNV r, GLhalfNV q);\nREGAL_DECL void REGAL_CALL glMultiTexCoord4hvNV(GLenum target, const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL glNormal3hNV(GLhalfNV nx, GLhalfNV ny, GLhalfNV nz);\nREGAL_DECL void REGAL_CALL glNormal3hvNV(const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL glSecondaryColor3hNV(GLhalfNV red, GLhalfNV green, GLhalfNV blue);\nREGAL_DECL void REGAL_CALL glSecondaryColor3hvNV(const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL glTexCoord1hNV(GLhalfNV s);\nREGAL_DECL void REGAL_CALL glTexCoord1hvNV(const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL glTexCoord2hNV(GLhalfNV s, GLhalfNV t);\nREGAL_DECL void REGAL_CALL glTexCoord2hvNV(const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL glTexCoord3hNV(GLhalfNV s, GLhalfNV t, GLhalfNV r);\nREGAL_DECL void REGAL_CALL glTexCoord3hvNV(const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL glTexCoord4hNV(GLhalfNV s, GLhalfNV t, GLhalfNV r, GLhalfNV q);\nREGAL_DECL void REGAL_CALL glTexCoord4hvNV(const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL glVertex2hNV(GLhalfNV x, GLhalfNV y);\nREGAL_DECL void REGAL_CALL glVertex2hvNV(const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL glVertex3hNV(GLhalfNV x, GLhalfNV y, GLhalfNV z);\nREGAL_DECL void REGAL_CALL glVertex3hvNV(const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL glVertex4hNV(GLhalfNV x, GLhalfNV y, GLhalfNV z, GLhalfNV w);\nREGAL_DECL void REGAL_CALL glVertex4hvNV(const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib1hNV(GLuint index, GLhalfNV x);\nREGAL_DECL void REGAL_CALL glVertexAttrib1hvNV(GLuint index, const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib2hNV(GLuint index, GLhalfNV x, GLhalfNV y);\nREGAL_DECL void REGAL_CALL glVertexAttrib2hvNV(GLuint index, const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib3hNV(GLuint index, GLhalfNV x, GLhalfNV y, GLhalfNV z);\nREGAL_DECL void REGAL_CALL glVertexAttrib3hvNV(GLuint index, const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib4hNV(GLuint index, GLhalfNV x, GLhalfNV y, GLhalfNV z, GLhalfNV w);\nREGAL_DECL void REGAL_CALL glVertexAttrib4hvNV(GLuint index, const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL glVertexAttribs1hvNV(GLuint index, GLsizei count, const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL glVertexAttribs2hvNV(GLuint index, GLsizei count, const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL glVertexAttribs3hvNV(GLuint index, GLsizei count, const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL glVertexAttribs4hvNV(GLuint index, GLsizei count, const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL glVertexWeighthNV(GLhalfNV weight);\nREGAL_DECL void REGAL_CALL glVertexWeighthvNV(const GLhalfNV *weight);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_NV_HALF_FLOAT\nREGAL_DECL void REGAL_CALL plugin_glColor3hNV(GLhalfNV red, GLhalfNV green, GLhalfNV blue);\nREGAL_DECL void REGAL_CALL plugin_glColor3hvNV(const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL plugin_glColor4hNV(GLhalfNV red, GLhalfNV green, GLhalfNV blue, GLhalfNV alpha);\nREGAL_DECL void REGAL_CALL plugin_glColor4hvNV(const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL plugin_glFogCoordhNV(GLhalfNV coord);\nREGAL_DECL void REGAL_CALL plugin_glFogCoordhvNV(const GLhalfNV *coord);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord1hNV(GLenum target, GLhalfNV s);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord1hvNV(GLenum target, const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord2hNV(GLenum target, GLhalfNV s, GLhalfNV t);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord2hvNV(GLenum target, const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord3hNV(GLenum target, GLhalfNV s, GLhalfNV t, GLhalfNV r);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord3hvNV(GLenum target, const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord4hNV(GLenum target, GLhalfNV s, GLhalfNV t, GLhalfNV r, GLhalfNV q);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord4hvNV(GLenum target, const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL plugin_glNormal3hNV(GLhalfNV nx, GLhalfNV ny, GLhalfNV nz);\nREGAL_DECL void REGAL_CALL plugin_glNormal3hvNV(const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL plugin_glSecondaryColor3hNV(GLhalfNV red, GLhalfNV green, GLhalfNV blue);\nREGAL_DECL void REGAL_CALL plugin_glSecondaryColor3hvNV(const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord1hNV(GLhalfNV s);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord1hvNV(const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord2hNV(GLhalfNV s, GLhalfNV t);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord2hvNV(const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord3hNV(GLhalfNV s, GLhalfNV t, GLhalfNV r);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord3hvNV(const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord4hNV(GLhalfNV s, GLhalfNV t, GLhalfNV r, GLhalfNV q);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord4hvNV(const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL plugin_glVertex2hNV(GLhalfNV x, GLhalfNV y);\nREGAL_DECL void REGAL_CALL plugin_glVertex2hvNV(const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL plugin_glVertex3hNV(GLhalfNV x, GLhalfNV y, GLhalfNV z);\nREGAL_DECL void REGAL_CALL plugin_glVertex3hvNV(const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL plugin_glVertex4hNV(GLhalfNV x, GLhalfNV y, GLhalfNV z, GLhalfNV w);\nREGAL_DECL void REGAL_CALL plugin_glVertex4hvNV(const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib1hNV(GLuint index, GLhalfNV x);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib1hvNV(GLuint index, const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib2hNV(GLuint index, GLhalfNV x, GLhalfNV y);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib2hvNV(GLuint index, const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib3hNV(GLuint index, GLhalfNV x, GLhalfNV y, GLhalfNV z);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib3hvNV(GLuint index, const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4hNV(GLuint index, GLhalfNV x, GLhalfNV y, GLhalfNV z, GLhalfNV w);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4hvNV(GLuint index, const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribs1hvNV(GLuint index, GLsizei count, const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribs2hvNV(GLuint index, GLsizei count, const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribs3hvNV(GLuint index, GLsizei count, const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribs4hvNV(GLuint index, GLsizei count, const GLhalfNV *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexWeighthNV(GLhalfNV weight);\nREGAL_DECL void REGAL_CALL plugin_glVertexWeighthvNV(const GLhalfNV *weight);\n#endif\n\n/**\n ** GL_NV_instanced_arrays\n **/\n\n#if (defined(GL_NV_INSTANCED_ARRAYS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_INSTANCED_ARRAYS)) && !defined(REGAL_NO_ENUM_GL_NV_INSTANCED_ARRAYS)\n#define REGAL_NO_ENUM_GL_NV_INSTANCED_ARRAYS\n#endif\n\n#if (defined(GL_NV_INSTANCED_ARRAYS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_INSTANCED_ARRAYS)) && !defined(REGAL_NO_TYPEDEF_GL_NV_INSTANCED_ARRAYS)\n#define REGAL_NO_TYPEDEF_GL_NV_INSTANCED_ARRAYS\n#endif\n\n#if (defined(GL_NV_INSTANCED_ARRAYS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_INSTANCED_ARRAYS)) && !defined(REGAL_NO_NAMESPACE_GL_NV_INSTANCED_ARRAYS)\n#define REGAL_NO_NAMESPACE_GL_NV_INSTANCED_ARRAYS\n#endif\n\n#if (defined(GL_NV_INSTANCED_ARRAYS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_INSTANCED_ARRAYS)) && !defined(REGAL_NO_PLUGIN_GL_NV_INSTANCED_ARRAYS)\n#define REGAL_NO_PLUGIN_GL_NV_INSTANCED_ARRAYS\n#endif\n\n#if (defined(GL_NV_INSTANCED_ARRAYS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_INSTANCED_ARRAYS)) && !defined(REGAL_NO_DECLARATION_GL_NV_INSTANCED_ARRAYS)\n#define REGAL_NO_DECLARATION_GL_NV_INSTANCED_ARRAYS\n#endif\n\n#ifndef GL_NV_instanced_arrays\n#define GL_NV_instanced_arrays 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_INSTANCED_ARRAYS\n#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_NV 0x88fe /* 35070 */\n#endif\n\n/**\n ** GL_NV_light_max_exponent\n **/\n\n#if (defined(GL_NV_LIGHT_MAX_EXPONENT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_LIGHT_MAX_EXPONENT)) && !defined(REGAL_NO_ENUM_GL_NV_LIGHT_MAX_EXPONENT)\n#define REGAL_NO_ENUM_GL_NV_LIGHT_MAX_EXPONENT\n#endif\n\n#if (defined(GL_NV_LIGHT_MAX_EXPONENT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_LIGHT_MAX_EXPONENT)) && !defined(REGAL_NO_TYPEDEF_GL_NV_LIGHT_MAX_EXPONENT)\n#define REGAL_NO_TYPEDEF_GL_NV_LIGHT_MAX_EXPONENT\n#endif\n\n#if (defined(GL_NV_LIGHT_MAX_EXPONENT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_LIGHT_MAX_EXPONENT)) && !defined(REGAL_NO_NAMESPACE_GL_NV_LIGHT_MAX_EXPONENT)\n#define REGAL_NO_NAMESPACE_GL_NV_LIGHT_MAX_EXPONENT\n#endif\n\n#if (defined(GL_NV_LIGHT_MAX_EXPONENT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_LIGHT_MAX_EXPONENT)) && !defined(REGAL_NO_PLUGIN_GL_NV_LIGHT_MAX_EXPONENT)\n#define REGAL_NO_PLUGIN_GL_NV_LIGHT_MAX_EXPONENT\n#endif\n\n#if (defined(GL_NV_LIGHT_MAX_EXPONENT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_LIGHT_MAX_EXPONENT)) && !defined(REGAL_NO_DECLARATION_GL_NV_LIGHT_MAX_EXPONENT)\n#define REGAL_NO_DECLARATION_GL_NV_LIGHT_MAX_EXPONENT\n#endif\n\n#ifndef GL_NV_light_max_exponent\n#define GL_NV_light_max_exponent 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_LIGHT_MAX_EXPONENT\n#define GL_MAX_SHININESS_NV     0x8504     /* 34052 */\n#define GL_MAX_SPOT_EXPONENT_NV 0x8505     /* 34053 */\n#endif\n\n/**\n ** GL_NV_multisample_coverage\n **/\n\n#if (defined(GL_NV_MULTISAMPLE_COVERAGE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_MULTISAMPLE_COVERAGE)) && !defined(REGAL_NO_ENUM_GL_NV_MULTISAMPLE_COVERAGE)\n#define REGAL_NO_ENUM_GL_NV_MULTISAMPLE_COVERAGE\n#endif\n\n#if (defined(GL_NV_MULTISAMPLE_COVERAGE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_MULTISAMPLE_COVERAGE)) && !defined(REGAL_NO_TYPEDEF_GL_NV_MULTISAMPLE_COVERAGE)\n#define REGAL_NO_TYPEDEF_GL_NV_MULTISAMPLE_COVERAGE\n#endif\n\n#if (defined(GL_NV_MULTISAMPLE_COVERAGE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_MULTISAMPLE_COVERAGE)) && !defined(REGAL_NO_NAMESPACE_GL_NV_MULTISAMPLE_COVERAGE)\n#define REGAL_NO_NAMESPACE_GL_NV_MULTISAMPLE_COVERAGE\n#endif\n\n#if (defined(GL_NV_MULTISAMPLE_COVERAGE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_MULTISAMPLE_COVERAGE)) && !defined(REGAL_NO_PLUGIN_GL_NV_MULTISAMPLE_COVERAGE)\n#define REGAL_NO_PLUGIN_GL_NV_MULTISAMPLE_COVERAGE\n#endif\n\n#if (defined(GL_NV_MULTISAMPLE_COVERAGE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_MULTISAMPLE_COVERAGE)) && !defined(REGAL_NO_DECLARATION_GL_NV_MULTISAMPLE_COVERAGE)\n#define REGAL_NO_DECLARATION_GL_NV_MULTISAMPLE_COVERAGE\n#endif\n\n#ifndef GL_NV_multisample_coverage\n#define GL_NV_multisample_coverage 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_MULTISAMPLE_COVERAGE\n#define GL_COVERAGE_SAMPLES_NV 0x80a9     /* 32937 */\n#define GL_COLOR_SAMPLES_NV    0x8e20     /* 36384 */\n#endif\n\n/**\n ** GL_NV_multisample_filter_hint\n **/\n\n#if (defined(GL_NV_MULTISAMPLE_FILTER_HINT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_MULTISAMPLE_FILTER_HINT)) && !defined(REGAL_NO_ENUM_GL_NV_MULTISAMPLE_FILTER_HINT)\n#define REGAL_NO_ENUM_GL_NV_MULTISAMPLE_FILTER_HINT\n#endif\n\n#if (defined(GL_NV_MULTISAMPLE_FILTER_HINT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_MULTISAMPLE_FILTER_HINT)) && !defined(REGAL_NO_TYPEDEF_GL_NV_MULTISAMPLE_FILTER_HINT)\n#define REGAL_NO_TYPEDEF_GL_NV_MULTISAMPLE_FILTER_HINT\n#endif\n\n#if (defined(GL_NV_MULTISAMPLE_FILTER_HINT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_MULTISAMPLE_FILTER_HINT)) && !defined(REGAL_NO_NAMESPACE_GL_NV_MULTISAMPLE_FILTER_HINT)\n#define REGAL_NO_NAMESPACE_GL_NV_MULTISAMPLE_FILTER_HINT\n#endif\n\n#if (defined(GL_NV_MULTISAMPLE_FILTER_HINT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_MULTISAMPLE_FILTER_HINT)) && !defined(REGAL_NO_PLUGIN_GL_NV_MULTISAMPLE_FILTER_HINT)\n#define REGAL_NO_PLUGIN_GL_NV_MULTISAMPLE_FILTER_HINT\n#endif\n\n#if (defined(GL_NV_MULTISAMPLE_FILTER_HINT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_MULTISAMPLE_FILTER_HINT)) && !defined(REGAL_NO_DECLARATION_GL_NV_MULTISAMPLE_FILTER_HINT)\n#define REGAL_NO_DECLARATION_GL_NV_MULTISAMPLE_FILTER_HINT\n#endif\n\n#ifndef GL_NV_multisample_filter_hint\n#define GL_NV_multisample_filter_hint 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_MULTISAMPLE_FILTER_HINT\n#define GL_MULTISAMPLE_FILTER_HINT_NV 0x8534 /* 34100 */\n#endif\n\n/**\n ** GL_NV_occlusion_query\n **/\n\n#if (defined(GL_NV_OCCLUSION_QUERY) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_OCCLUSION_QUERY)) && !defined(REGAL_NO_ENUM_GL_NV_OCCLUSION_QUERY)\n#define REGAL_NO_ENUM_GL_NV_OCCLUSION_QUERY\n#endif\n\n#if (defined(GL_NV_OCCLUSION_QUERY) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_OCCLUSION_QUERY)) && !defined(REGAL_NO_TYPEDEF_GL_NV_OCCLUSION_QUERY)\n#define REGAL_NO_TYPEDEF_GL_NV_OCCLUSION_QUERY\n#endif\n\n#if (defined(GL_NV_OCCLUSION_QUERY) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_OCCLUSION_QUERY)) && !defined(REGAL_NO_NAMESPACE_GL_NV_OCCLUSION_QUERY)\n#define REGAL_NO_NAMESPACE_GL_NV_OCCLUSION_QUERY\n#endif\n\n#if (defined(GL_NV_OCCLUSION_QUERY) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_OCCLUSION_QUERY)) && !defined(REGAL_NO_PLUGIN_GL_NV_OCCLUSION_QUERY)\n#define REGAL_NO_PLUGIN_GL_NV_OCCLUSION_QUERY\n#endif\n\n#if (defined(GL_NV_OCCLUSION_QUERY) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_OCCLUSION_QUERY)) && !defined(REGAL_NO_DECLARATION_GL_NV_OCCLUSION_QUERY)\n#define REGAL_NO_DECLARATION_GL_NV_OCCLUSION_QUERY\n#endif\n\n#ifndef GL_NV_occlusion_query\n#define GL_NV_occlusion_query 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_OCCLUSION_QUERY\n#define GL_PIXEL_COUNTER_BITS_NV         0x8864     /* 34916 */\n#define GL_CURRENT_OCCLUSION_QUERY_ID_NV 0x8865     /* 34917 */\n#define GL_PIXEL_COUNT_NV                0x8866     /* 34918 */\n#define GL_PIXEL_COUNT_AVAILABLE_NV      0x8867     /* 34919 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_NV_OCCLUSION_QUERY\ntypedef GLboolean (REGAL_CALL *PFNGLISOCCLUSIONQUERYNVPROC)(GLuint id);\ntypedef void (REGAL_CALL *PFNGLBEGINOCCLUSIONQUERYNVPROC)(GLuint id);\ntypedef void (REGAL_CALL *PFNGLDELETEOCCLUSIONQUERIESNVPROC)(GLsizei n, const GLuint *ids);\ntypedef void (REGAL_CALL *PFNGLENDOCCLUSIONQUERYNVPROC)(void);\ntypedef void (REGAL_CALL *PFNGLGENOCCLUSIONQUERIESNVPROC)(GLsizei n, GLuint *ids);\ntypedef void (REGAL_CALL *PFNGLGETOCCLUSIONQUERYIVNVPROC)(GLuint id, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETOCCLUSIONQUERYUIVNVPROC)(GLuint id, GLenum pname, GLuint *params);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_NV_OCCLUSION_QUERY\n#define glBeginOcclusionQueryNV             rglBeginOcclusionQueryNV\n#define glDeleteOcclusionQueriesNV          rglDeleteOcclusionQueriesNV\n#define glEndOcclusionQueryNV               rglEndOcclusionQueryNV\n#define glGenOcclusionQueriesNV             rglGenOcclusionQueriesNV\n#define glGetOcclusionQueryivNV             rglGetOcclusionQueryivNV\n#define glGetOcclusionQueryuivNV            rglGetOcclusionQueryuivNV\n#define glIsOcclusionQueryNV                rglIsOcclusionQueryNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_NV_OCCLUSION_QUERY\nREGAL_DECL GLboolean REGAL_CALL glIsOcclusionQueryNV(GLuint id);\nREGAL_DECL void REGAL_CALL glBeginOcclusionQueryNV(GLuint id);\nREGAL_DECL void REGAL_CALL glDeleteOcclusionQueriesNV(GLsizei n, const GLuint *ids);\nREGAL_DECL void REGAL_CALL glEndOcclusionQueryNV(void);\nREGAL_DECL void REGAL_CALL glGenOcclusionQueriesNV(GLsizei n, GLuint *ids);\nREGAL_DECL void REGAL_CALL glGetOcclusionQueryivNV(GLuint id, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetOcclusionQueryuivNV(GLuint id, GLenum pname, GLuint *params);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_NV_OCCLUSION_QUERY\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsOcclusionQueryNV(GLuint id);\nREGAL_DECL void REGAL_CALL plugin_glBeginOcclusionQueryNV(GLuint id);\nREGAL_DECL void REGAL_CALL plugin_glDeleteOcclusionQueriesNV(GLsizei n, const GLuint *ids);\nREGAL_DECL void REGAL_CALL plugin_glEndOcclusionQueryNV(void);\nREGAL_DECL void REGAL_CALL plugin_glGenOcclusionQueriesNV(GLsizei n, GLuint *ids);\nREGAL_DECL void REGAL_CALL plugin_glGetOcclusionQueryivNV(GLuint id, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetOcclusionQueryuivNV(GLuint id, GLenum pname, GLuint *params);\n#endif\n\n/**\n ** GL_NV_pack_subimage\n **/\n\n#if (defined(GL_NV_PACK_SUBIMAGE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_PACK_SUBIMAGE)) && !defined(REGAL_NO_ENUM_GL_NV_PACK_SUBIMAGE)\n#define REGAL_NO_ENUM_GL_NV_PACK_SUBIMAGE\n#endif\n\n#if (defined(GL_NV_PACK_SUBIMAGE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_PACK_SUBIMAGE)) && !defined(REGAL_NO_TYPEDEF_GL_NV_PACK_SUBIMAGE)\n#define REGAL_NO_TYPEDEF_GL_NV_PACK_SUBIMAGE\n#endif\n\n#if (defined(GL_NV_PACK_SUBIMAGE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_PACK_SUBIMAGE)) && !defined(REGAL_NO_NAMESPACE_GL_NV_PACK_SUBIMAGE)\n#define REGAL_NO_NAMESPACE_GL_NV_PACK_SUBIMAGE\n#endif\n\n#if (defined(GL_NV_PACK_SUBIMAGE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_PACK_SUBIMAGE)) && !defined(REGAL_NO_PLUGIN_GL_NV_PACK_SUBIMAGE)\n#define REGAL_NO_PLUGIN_GL_NV_PACK_SUBIMAGE\n#endif\n\n#if (defined(GL_NV_PACK_SUBIMAGE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_PACK_SUBIMAGE)) && !defined(REGAL_NO_DECLARATION_GL_NV_PACK_SUBIMAGE)\n#define REGAL_NO_DECLARATION_GL_NV_PACK_SUBIMAGE\n#endif\n\n#ifndef GL_NV_pack_subimage\n#define GL_NV_pack_subimage 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_PACK_SUBIMAGE\n#define GL_PACK_ROW_LENGTH_NV  0xd02     /* 3330 */\n#define GL_PACK_SKIP_ROWS_NV   0xd03     /* 3331 */\n#define GL_PACK_SKIP_PIXELS_NV 0xd04     /* 3332 */\n#endif\n\n/**\n ** GL_NV_packed_depth_stencil\n **/\n\n#if (defined(GL_NV_PACKED_DEPTH_STENCIL) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_PACKED_DEPTH_STENCIL)) && !defined(REGAL_NO_ENUM_GL_NV_PACKED_DEPTH_STENCIL)\n#define REGAL_NO_ENUM_GL_NV_PACKED_DEPTH_STENCIL\n#endif\n\n#if (defined(GL_NV_PACKED_DEPTH_STENCIL) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_PACKED_DEPTH_STENCIL)) && !defined(REGAL_NO_TYPEDEF_GL_NV_PACKED_DEPTH_STENCIL)\n#define REGAL_NO_TYPEDEF_GL_NV_PACKED_DEPTH_STENCIL\n#endif\n\n#if (defined(GL_NV_PACKED_DEPTH_STENCIL) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_PACKED_DEPTH_STENCIL)) && !defined(REGAL_NO_NAMESPACE_GL_NV_PACKED_DEPTH_STENCIL)\n#define REGAL_NO_NAMESPACE_GL_NV_PACKED_DEPTH_STENCIL\n#endif\n\n#if (defined(GL_NV_PACKED_DEPTH_STENCIL) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_PACKED_DEPTH_STENCIL)) && !defined(REGAL_NO_PLUGIN_GL_NV_PACKED_DEPTH_STENCIL)\n#define REGAL_NO_PLUGIN_GL_NV_PACKED_DEPTH_STENCIL\n#endif\n\n#if (defined(GL_NV_PACKED_DEPTH_STENCIL) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_PACKED_DEPTH_STENCIL)) && !defined(REGAL_NO_DECLARATION_GL_NV_PACKED_DEPTH_STENCIL)\n#define REGAL_NO_DECLARATION_GL_NV_PACKED_DEPTH_STENCIL\n#endif\n\n#ifndef GL_NV_packed_depth_stencil\n#define GL_NV_packed_depth_stencil 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_PACKED_DEPTH_STENCIL\n#define GL_DEPTH_STENCIL_NV     0x84f9     /* 34041 */\n#define GL_UNSIGNED_INT_24_8_NV 0x84fa     /* 34042 */\n#endif\n\n/**\n ** GL_NV_packed_float_linear\n **/\n\n#if (defined(GL_NV_PACKED_FLOAT_LINEAR) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_PACKED_FLOAT_LINEAR)) && !defined(REGAL_NO_ENUM_GL_NV_PACKED_FLOAT_LINEAR)\n#define REGAL_NO_ENUM_GL_NV_PACKED_FLOAT_LINEAR\n#endif\n\n#if (defined(GL_NV_PACKED_FLOAT_LINEAR) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_PACKED_FLOAT_LINEAR)) && !defined(REGAL_NO_TYPEDEF_GL_NV_PACKED_FLOAT_LINEAR)\n#define REGAL_NO_TYPEDEF_GL_NV_PACKED_FLOAT_LINEAR\n#endif\n\n#if (defined(GL_NV_PACKED_FLOAT_LINEAR) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_PACKED_FLOAT_LINEAR)) && !defined(REGAL_NO_NAMESPACE_GL_NV_PACKED_FLOAT_LINEAR)\n#define REGAL_NO_NAMESPACE_GL_NV_PACKED_FLOAT_LINEAR\n#endif\n\n#if (defined(GL_NV_PACKED_FLOAT_LINEAR) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_PACKED_FLOAT_LINEAR)) && !defined(REGAL_NO_PLUGIN_GL_NV_PACKED_FLOAT_LINEAR)\n#define REGAL_NO_PLUGIN_GL_NV_PACKED_FLOAT_LINEAR\n#endif\n\n#if (defined(GL_NV_PACKED_FLOAT_LINEAR) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_PACKED_FLOAT_LINEAR)) && !defined(REGAL_NO_DECLARATION_GL_NV_PACKED_FLOAT_LINEAR)\n#define REGAL_NO_DECLARATION_GL_NV_PACKED_FLOAT_LINEAR\n#endif\n\n#ifndef GL_NV_packed_float_linear\n#define GL_NV_packed_float_linear 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_PACKED_FLOAT_LINEAR\n#define GL_R11F_G11F_B10F_NV               0x8c3a     /* 35898 */\n#define GL_UNSIGNED_INT_10F_11F_11F_REV_NV 0x8c3b     /* 35899 */\n#endif\n\n/**\n ** GL_NV_parameter_buffer_object\n **/\n\n#if (defined(GL_NV_PARAMETER_BUFFER_OBJECT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_PARAMETER_BUFFER_OBJECT)) && !defined(REGAL_NO_ENUM_GL_NV_PARAMETER_BUFFER_OBJECT)\n#define REGAL_NO_ENUM_GL_NV_PARAMETER_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_NV_PARAMETER_BUFFER_OBJECT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_PARAMETER_BUFFER_OBJECT)) && !defined(REGAL_NO_TYPEDEF_GL_NV_PARAMETER_BUFFER_OBJECT)\n#define REGAL_NO_TYPEDEF_GL_NV_PARAMETER_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_NV_PARAMETER_BUFFER_OBJECT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_PARAMETER_BUFFER_OBJECT)) && !defined(REGAL_NO_NAMESPACE_GL_NV_PARAMETER_BUFFER_OBJECT)\n#define REGAL_NO_NAMESPACE_GL_NV_PARAMETER_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_NV_PARAMETER_BUFFER_OBJECT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_PARAMETER_BUFFER_OBJECT)) && !defined(REGAL_NO_PLUGIN_GL_NV_PARAMETER_BUFFER_OBJECT)\n#define REGAL_NO_PLUGIN_GL_NV_PARAMETER_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_NV_PARAMETER_BUFFER_OBJECT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_PARAMETER_BUFFER_OBJECT)) && !defined(REGAL_NO_DECLARATION_GL_NV_PARAMETER_BUFFER_OBJECT)\n#define REGAL_NO_DECLARATION_GL_NV_PARAMETER_BUFFER_OBJECT\n#endif\n\n#ifndef GL_NV_parameter_buffer_object\n#define GL_NV_parameter_buffer_object 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_PARAMETER_BUFFER_OBJECT\n#define GL_MAX_PROGRAM_PARAMETER_BUFFER_BINDINGS_NV 0x8da0     /* 36256 */\n#define GL_MAX_PROGRAM_PARAMETER_BUFFER_SIZE_NV     0x8da1     /* 36257 */\n#define GL_VERTEX_PROGRAM_PARAMETER_BUFFER_NV       0x8da2     /* 36258 */\n#define GL_GEOMETRY_PROGRAM_PARAMETER_BUFFER_NV     0x8da3     /* 36259 */\n#define GL_FRAGMENT_PROGRAM_PARAMETER_BUFFER_NV     0x8da4     /* 36260 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_NV_PARAMETER_BUFFER_OBJECT\ntypedef void (REGAL_CALL *PFNGLPROGRAMBUFFERPARAMETERSFVNVPROC)(GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLPROGRAMBUFFERPARAMETERSIIVNVPROC)(GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLint *params);\ntypedef void (REGAL_CALL *PFNGLPROGRAMBUFFERPARAMETERSIUIVNVPROC)(GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLuint *params);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_NV_PARAMETER_BUFFER_OBJECT\n#define glProgramBufferParametersIivNV      rglProgramBufferParametersIivNV\n#define glProgramBufferParametersIuivNV     rglProgramBufferParametersIuivNV\n#define glProgramBufferParametersfvNV       rglProgramBufferParametersfvNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_NV_PARAMETER_BUFFER_OBJECT\nREGAL_DECL void REGAL_CALL glProgramBufferParametersIivNV(GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLint *params);\nREGAL_DECL void REGAL_CALL glProgramBufferParametersIuivNV(GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLuint *params);\nREGAL_DECL void REGAL_CALL glProgramBufferParametersfvNV(GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLfloat *params);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_NV_PARAMETER_BUFFER_OBJECT\nREGAL_DECL void REGAL_CALL plugin_glProgramBufferParametersIivNV(GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glProgramBufferParametersIuivNV(GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLuint *params);\nREGAL_DECL void REGAL_CALL plugin_glProgramBufferParametersfvNV(GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLfloat *params);\n#endif\n\n/**\n ** GL_NV_path_rendering\n **/\n\n#if (defined(GL_NV_PATH_RENDERING) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_PATH_RENDERING)) && !defined(REGAL_NO_ENUM_GL_NV_PATH_RENDERING)\n#define REGAL_NO_ENUM_GL_NV_PATH_RENDERING\n#endif\n\n#if (defined(GL_NV_PATH_RENDERING) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_PATH_RENDERING)) && !defined(REGAL_NO_TYPEDEF_GL_NV_PATH_RENDERING)\n#define REGAL_NO_TYPEDEF_GL_NV_PATH_RENDERING\n#endif\n\n#if (defined(GL_NV_PATH_RENDERING) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_PATH_RENDERING)) && !defined(REGAL_NO_NAMESPACE_GL_NV_PATH_RENDERING)\n#define REGAL_NO_NAMESPACE_GL_NV_PATH_RENDERING\n#endif\n\n#if (defined(GL_NV_PATH_RENDERING) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_PATH_RENDERING)) && !defined(REGAL_NO_PLUGIN_GL_NV_PATH_RENDERING)\n#define REGAL_NO_PLUGIN_GL_NV_PATH_RENDERING\n#endif\n\n#if (defined(GL_NV_PATH_RENDERING) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_PATH_RENDERING)) && !defined(REGAL_NO_DECLARATION_GL_NV_PATH_RENDERING)\n#define REGAL_NO_DECLARATION_GL_NV_PATH_RENDERING\n#endif\n\n#ifndef GL_NV_path_rendering\n#define GL_NV_path_rendering 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_PATH_RENDERING\n#define GL_CLOSE_PATH_NV                           0x0\n#define GL_BOLD_BIT_NV                             0x1\n#define GL_GLYPH_WIDTH_BIT_NV                      0x1\n#define GL_GLYPH_HORIZONTAL_BEARING_ADVANCE_BIT_NV 0x10           /* 16 */\n#define GL_SMOOTH_CUBIC_CURVE_TO_NV                0x10           /* 16 */\n#define GL_GLYPH_HAS_KERNING_BIT_NV                0x100          /* 256 */\n#define GL_FONT_X_MIN_BOUNDS_BIT_NV                0x10000        /* 65536 */\n#define GL_FONT_UNITS_PER_EM_BIT_NV                0x100000       /* 1048576 */\n#define GL_FONT_MAX_ADVANCE_WIDTH_BIT_NV           0x1000000      /* 16777216 */\n#define GL_FONT_HAS_KERNING_BIT_NV                 0x10000000     /* 268435456 */\n#define GL_RELATIVE_SMOOTH_CUBIC_CURVE_TO_NV       0x11           /* 17 */\n#define GL_SMALL_CCW_ARC_TO_NV                     0x12           /* 18 */\n#define GL_RELATIVE_SMALL_CCW_ARC_TO_NV            0x13           /* 19 */\n#define GL_SMALL_CW_ARC_TO_NV                      0x14           /* 20 */\n#define GL_RELATIVE_SMALL_CW_ARC_TO_NV             0x15           /* 21 */\n#define GL_LARGE_CCW_ARC_TO_NV                     0x16           /* 22 */\n#define GL_RELATIVE_LARGE_CCW_ARC_TO_NV            0x17           /* 23 */\n#define GL_LARGE_CW_ARC_TO_NV                      0x18           /* 24 */\n#define GL_RELATIVE_LARGE_CW_ARC_TO_NV             0x19           /* 25 */\n#define GL_GLYPH_HEIGHT_BIT_NV                     0x2\n#define GL_ITALIC_BIT_NV                           0x2\n#define GL_MOVE_TO_NV                              0x2\n#define GL_GLYPH_VERTICAL_BEARING_X_BIT_NV         0x20           /* 32 */\n#define GL_FONT_Y_MIN_BOUNDS_BIT_NV                0x20000        /* 131072 */\n#define GL_FONT_ASCENDER_BIT_NV                    0x200000       /* 2097152 */\n#define GL_FONT_MAX_ADVANCE_HEIGHT_BIT_NV          0x2000000      /* 33554432 */\n#define GL_RELATIVE_MOVE_TO_NV                     0x3\n#define GL_GLYPH_HORIZONTAL_BEARING_X_BIT_NV       0x4\n#define GL_LINE_TO_NV                              0x4\n#define GL_GLYPH_VERTICAL_BEARING_Y_BIT_NV         0x40           /* 64 */\n#define GL_FONT_X_MAX_BOUNDS_BIT_NV                0x40000        /* 262144 */\n#define GL_FONT_DESCENDER_BIT_NV                   0x400000       /* 4194304 */\n#define GL_FONT_UNDERLINE_POSITION_BIT_NV          0x4000000      /* 67108864 */\n#define GL_RELATIVE_LINE_TO_NV                     0x5\n#define GL_HORIZONTAL_LINE_TO_NV                   0x6\n#define GL_RELATIVE_HORIZONTAL_LINE_TO_NV          0x7\n#define GL_GLYPH_HORIZONTAL_BEARING_Y_BIT_NV       0x8\n#define GL_VERTICAL_LINE_TO_NV                     0x8\n#define GL_GLYPH_VERTICAL_BEARING_ADVANCE_BIT_NV   0x80           /* 128 */\n#define GL_FONT_Y_MAX_BOUNDS_BIT_NV                0x80000        /* 524288 */\n#define GL_FONT_HEIGHT_BIT_NV                      0x800000       /* 8388608 */\n#define GL_FONT_UNDERLINE_THICKNESS_BIT_NV         0x8000000      /* 134217728 */\n#define GL_RELATIVE_VERTICAL_LINE_TO_NV            0x9\n#define GL_PATH_FORMAT_SVG_NV                      0x9070         /* 36976 */\n#define GL_PATH_FORMAT_PS_NV                       0x9071         /* 36977 */\n#define GL_STANDARD_FONT_NAME_NV                   0x9072         /* 36978 */\n#define GL_SYSTEM_FONT_NAME_NV                     0x9073         /* 36979 */\n#define GL_FILE_NAME_NV                            0x9074         /* 36980 */\n#define GL_PATH_STROKE_WIDTH_NV                    0x9075         /* 36981 */\n#define GL_PATH_END_CAPS_NV                        0x9076         /* 36982 */\n#define GL_PATH_INITIAL_END_CAP_NV                 0x9077         /* 36983 */\n#define GL_PATH_TERMINAL_END_CAP_NV                0x9078         /* 36984 */\n#define GL_PATH_JOIN_STYLE_NV                      0x9079         /* 36985 */\n#define GL_PATH_MITER_LIMIT_NV                     0x907a         /* 36986 */\n#define GL_PATH_DASH_CAPS_NV                       0x907b         /* 36987 */\n#define GL_PATH_INITIAL_DASH_CAP_NV                0x907c         /* 36988 */\n#define GL_PATH_TERMINAL_DASH_CAP_NV               0x907d         /* 36989 */\n#define GL_PATH_DASH_OFFSET_NV                     0x907e         /* 36990 */\n#define GL_PATH_CLIENT_LENGTH_NV                   0x907f         /* 36991 */\n#define GL_PATH_FILL_MODE_NV                       0x9080         /* 36992 */\n#define GL_PATH_FILL_MASK_NV                       0x9081         /* 36993 */\n#define GL_PATH_FILL_COVER_MODE_NV                 0x9082         /* 36994 */\n#define GL_PATH_STROKE_COVER_MODE_NV               0x9083         /* 36995 */\n#define GL_PATH_STROKE_MASK_NV                     0x9084         /* 36996 */\n#define GL_COUNT_UP_NV                             0x9088         /* 37000 */\n#define GL_COUNT_DOWN_NV                           0x9089         /* 37001 */\n#define GL_PATH_OBJECT_BOUNDING_BOX_NV             0x908a         /* 37002 */\n#define GL_CONVEX_HULL_NV                          0x908b         /* 37003 */\n#define GL_BOUNDING_BOX_NV                         0x908d         /* 37005 */\n#define GL_TRANSLATE_X_NV                          0x908e         /* 37006 */\n#define GL_TRANSLATE_Y_NV                          0x908f         /* 37007 */\n#define GL_TRANSLATE_2D_NV                         0x9090         /* 37008 */\n#define GL_TRANSLATE_3D_NV                         0x9091         /* 37009 */\n#define GL_AFFINE_2D_NV                            0x9092         /* 37010 */\n#define GL_AFFINE_3D_NV                            0x9094         /* 37012 */\n#define GL_TRANSPOSE_AFFINE_2D_NV                  0x9096         /* 37014 */\n#define GL_TRANSPOSE_AFFINE_3D_NV                  0x9098         /* 37016 */\n#define GL_UTF8_NV                                 0x909a         /* 37018 */\n#define GL_UTF16_NV                                0x909b         /* 37019 */\n#define GL_BOUNDING_BOX_OF_BOUNDING_BOXES_NV       0x909c         /* 37020 */\n#define GL_PATH_COMMAND_COUNT_NV                   0x909d         /* 37021 */\n#define GL_PATH_COORD_COUNT_NV                     0x909e         /* 37022 */\n#define GL_PATH_DASH_ARRAY_COUNT_NV                0x909f         /* 37023 */\n#define GL_PATH_COMPUTED_LENGTH_NV                 0x90a0         /* 37024 */\n#define GL_PATH_FILL_BOUNDING_BOX_NV               0x90a1         /* 37025 */\n#define GL_PATH_STROKE_BOUNDING_BOX_NV             0x90a2         /* 37026 */\n#define GL_SQUARE_NV                               0x90a3         /* 37027 */\n#define GL_ROUND_NV                                0x90a4         /* 37028 */\n#define GL_TRIANGULAR_NV                           0x90a5         /* 37029 */\n#define GL_BEVEL_NV                                0x90a6         /* 37030 */\n#define GL_MITER_REVERT_NV                         0x90a7         /* 37031 */\n#define GL_MITER_TRUNCATE_NV                       0x90a8         /* 37032 */\n#define GL_SKIP_MISSING_GLYPH_NV                   0x90a9         /* 37033 */\n#define GL_USE_MISSING_GLYPH_NV                    0x90aa         /* 37034 */\n#define GL_PATH_ERROR_POSITION_NV                  0x90ab         /* 37035 */\n#define GL_PATH_FOG_GEN_MODE_NV                    0x90ac         /* 37036 */\n#define GL_ACCUM_ADJACENT_PAIRS_NV                 0x90ad         /* 37037 */\n#define GL_ADJACENT_PAIRS_NV                       0x90ae         /* 37038 */\n#define GL_FIRST_TO_REST_NV                        0x90af         /* 37039 */\n#define GL_PATH_GEN_MODE_NV                        0x90b0         /* 37040 */\n#define GL_PATH_GEN_COEFF_NV                       0x90b1         /* 37041 */\n#define GL_PATH_GEN_COLOR_FORMAT_NV                0x90b2         /* 37042 */\n#define GL_PATH_GEN_COMPONENTS_NV                  0x90b3         /* 37043 */\n#define GL_PATH_DASH_OFFSET_RESET_NV               0x90b4         /* 37044 */\n#define GL_MOVE_TO_RESETS_NV                       0x90b5         /* 37045 */\n#define GL_MOVE_TO_CONTINUES_NV                    0x90b6         /* 37046 */\n#define GL_PATH_STENCIL_FUNC_NV                    0x90b7         /* 37047 */\n#define GL_PATH_STENCIL_REF_NV                     0x90b8         /* 37048 */\n#define GL_PATH_STENCIL_VALUE_MASK_NV              0x90b9         /* 37049 */\n#define GL_PATH_STENCIL_DEPTH_OFFSET_FACTOR_NV     0x90bd         /* 37053 */\n#define GL_PATH_STENCIL_DEPTH_OFFSET_UNITS_NV      0x90be         /* 37054 */\n#define GL_PATH_COVER_DEPTH_FUNC_NV                0x90bf         /* 37055 */\n#define GL_QUADRATIC_CURVE_TO_NV                   0xa            /* 10 */\n#define GL_RELATIVE_QUADRATIC_CURVE_TO_NV          0xb            /* 11 */\n#define GL_CUBIC_CURVE_TO_NV                       0xc            /* 12 */\n#define GL_RELATIVE_CUBIC_CURVE_TO_NV              0xd            /* 13 */\n#define GL_SMOOTH_QUADRATIC_CURVE_TO_NV            0xe            /* 14 */\n#define GL_RELATIVE_SMOOTH_QUADRATIC_CURVE_TO_NV   0xf            /* 15 */\n#define GL_RESTART_PATH_NV                         0xf0           /* 240 */\n#define GL_DUP_FIRST_CUBIC_CURVE_TO_NV             0xf2           /* 242 */\n#define GL_DUP_LAST_CUBIC_CURVE_TO_NV              0xf4           /* 244 */\n#define GL_RECT_NV                                 0xf6           /* 246 */\n#define GL_CIRCULAR_CCW_ARC_TO_NV                  0xf8           /* 248 */\n#define GL_CIRCULAR_CW_ARC_TO_NV                   0xfa           /* 250 */\n#define GL_CIRCULAR_TANGENT_ARC_TO_NV              0xfc           /* 252 */\n#define GL_ARC_TO_NV                               0xfe           /* 254 */\n#define GL_RELATIVE_ARC_TO_NV                      0xff           /* 255 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_NV_PATH_RENDERING\ntypedef GLboolean (REGAL_CALL *PFNGLISPATHNVPROC)(GLuint path);\ntypedef GLboolean (REGAL_CALL *PFNGLISPOINTINFILLPATHNVPROC)(GLuint path, GLuint mask, GLfloat x, GLfloat y);\ntypedef GLboolean (REGAL_CALL *PFNGLISPOINTINSTROKEPATHNVPROC)(GLuint path, GLfloat x, GLfloat y);\ntypedef GLboolean (REGAL_CALL *PFNGLPOINTALONGPATHNVPROC)(GLuint path, GLsizei startSegment, GLsizei numSegments, GLfloat distance, GLfloat *x, GLfloat *y, GLfloat *tangentX, GLfloat *tangentY);\ntypedef GLfloat (REGAL_CALL *PFNGLGETPATHLENGTHNVPROC)(GLuint path, GLsizei startSegment, GLsizei numSegments);\ntypedef GLuint (REGAL_CALL *PFNGLGENPATHSNVPROC)(GLsizei range);\ntypedef void (REGAL_CALL *PFNGLCOPYPATHNVPROC)(GLuint resultPath, GLuint srcPath);\ntypedef void (REGAL_CALL *PFNGLCOVERFILLPATHINSTANCEDNVPROC)(GLsizei numPaths, GLenum pathNameType, const GLvoid *paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat *transformValues);\ntypedef void (REGAL_CALL *PFNGLCOVERFILLPATHNVPROC)(GLuint path, GLenum coverMode);\ntypedef void (REGAL_CALL *PFNGLCOVERSTROKEPATHINSTANCEDNVPROC)(GLsizei numPaths, GLenum pathNameType, const GLvoid *paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat *transformValues);\ntypedef void (REGAL_CALL *PFNGLCOVERSTROKEPATHNVPROC)(GLuint name, GLenum coverMode);\ntypedef void (REGAL_CALL *PFNGLDELETEPATHSNVPROC)(GLuint path, GLsizei range);\ntypedef void (REGAL_CALL *PFNGLGETPATHCOLORGENFVNVPROC)(GLenum color, GLenum pname, GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLGETPATHCOLORGENIVNVPROC)(GLenum color, GLenum pname, GLint *value);\ntypedef void (REGAL_CALL *PFNGLGETPATHCOMMANDSNVPROC)(GLuint name, GLubyte *commands);\ntypedef void (REGAL_CALL *PFNGLGETPATHCOORDSNVPROC)(GLuint name, GLfloat *coords);\ntypedef void (REGAL_CALL *PFNGLGETPATHDASHARRAYNVPROC)(GLuint name, GLfloat *dashArray);\ntypedef void (REGAL_CALL *PFNGLGETPATHMETRICRANGENVPROC)(GLbitfield metricQueryMask, GLuint fistPathName, GLsizei numPaths, GLsizei stride, GLfloat *metrics);\ntypedef void (REGAL_CALL *PFNGLGETPATHMETRICSNVPROC)(GLbitfield metricQueryMask, GLsizei numPaths, GLenum pathNameType, const GLvoid *paths, GLuint pathBase, GLsizei stride, GLfloat *metrics);\ntypedef void (REGAL_CALL *PFNGLGETPATHPARAMETERFVNVPROC)(GLuint name, GLenum param, GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLGETPATHPARAMETERIVNVPROC)(GLuint name, GLenum param, GLint *value);\ntypedef void (REGAL_CALL *PFNGLGETPATHSPACINGNVPROC)(GLenum pathListMode, GLsizei numPaths, GLenum pathNameType, const GLvoid *paths, GLuint pathBase, GLfloat advanceScale, GLfloat kerningScale, GLenum transformType, GLfloat *returnedSpacing);\ntypedef void (REGAL_CALL *PFNGLGETPATHTEXGENFVNVPROC)(GLenum texCoordSet, GLenum pname, GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLGETPATHTEXGENIVNVPROC)(GLenum texCoordSet, GLenum pname, GLint *value);\ntypedef void (REGAL_CALL *PFNGLINTERPOLATEPATHSNVPROC)(GLuint resultPath, GLuint pathA, GLuint pathB, GLfloat weight);\ntypedef void (REGAL_CALL *PFNGLPATHCOLORGENNVPROC)(GLenum color, GLenum genMode, GLenum colorFormat, const GLfloat *coeffs);\ntypedef void (REGAL_CALL *PFNGLPATHCOMMANDSNVPROC)(GLuint path, GLsizei numCommands, const GLubyte *commands, GLsizei numCoords, GLenum coordType, const GLvoid *coords);\ntypedef void (REGAL_CALL *PFNGLPATHCOORDSNVPROC)(GLuint path, GLsizei numCoords, GLenum coordType, const GLvoid *coords);\ntypedef void (REGAL_CALL *PFNGLPATHCOVERDEPTHFUNCNVPROC)(GLenum zfunc);\ntypedef void (REGAL_CALL *PFNGLPATHDASHARRAYNVPROC)(GLuint path, GLsizei dashCount, const GLfloat *dashArray);\ntypedef void (REGAL_CALL *PFNGLPATHFOGGENNVPROC)(GLenum genMode);\ntypedef void (REGAL_CALL *PFNGLPATHGLYPHRANGENVPROC)(GLuint firstPathName, GLenum fontTarget, const GLvoid *fontName, GLbitfield fontStyle, GLuint firstGlyph, GLsizei numGlyphs, GLenum handleMissingGlyphs, GLuint pathParameterTemplate, GLfloat emScale);\ntypedef void (REGAL_CALL *PFNGLPATHGLYPHSNVPROC)(GLuint firstPathName, GLenum fontTarget, const GLvoid *fontName, GLbitfield fontStyle, GLsizei numGlyphs, GLenum type, const GLvoid *charcodes, GLenum handleMissingGlyphs, GLuint pathParameterTemplate, GLfloat emScale);\ntypedef void (REGAL_CALL *PFNGLPATHPARAMETERFNVPROC)(GLuint path, GLenum pname, GLfloat value);\ntypedef void (REGAL_CALL *PFNGLPATHPARAMETERFVNVPROC)(GLuint path, GLenum pname, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLPATHPARAMETERINVPROC)(GLuint path, GLenum pname, GLint value);\ntypedef void (REGAL_CALL *PFNGLPATHPARAMETERIVNVPROC)(GLuint path, GLenum pname, const GLint *value);\ntypedef void (REGAL_CALL *PFNGLPATHSTENCILDEPTHOFFSETNVPROC)(GLfloat factor, GLfloat units);\ntypedef void (REGAL_CALL *PFNGLPATHSTENCILFUNCNVPROC)(GLenum func, GLint ref, GLuint mask);\ntypedef void (REGAL_CALL *PFNGLPATHSTRINGNVPROC)(GLuint path, GLenum format, GLsizei length, const GLvoid *pathString);\ntypedef void (REGAL_CALL *PFNGLPATHSUBCOMMANDSNVPROC)(GLuint path, GLsizei commandStart, GLsizei commandsToDelete, GLsizei numCommands, const GLubyte *commands, GLsizei numCoords, GLenum coordType, const GLvoid *coords);\ntypedef void (REGAL_CALL *PFNGLPATHSUBCOORDSNVPROC)(GLuint path, GLsizei coordStart, GLsizei numCoords, GLenum coordType, const GLvoid *coords);\ntypedef void (REGAL_CALL *PFNGLPATHTEXGENNVPROC)(GLenum texCoordSet, GLenum genMode, GLint components, const GLfloat *coeffs);\ntypedef void (REGAL_CALL *PFNGLSTENCILFILLPATHINSTANCEDNVPROC)(GLsizei numPaths, GLenum pathNameType, const GLvoid *paths, GLuint pathBase, GLenum fillMode, GLuint mask, GLenum transformType, const GLfloat *transformValues);\ntypedef void (REGAL_CALL *PFNGLSTENCILFILLPATHNVPROC)(GLuint path, GLenum fillMode, GLuint mask);\ntypedef void (REGAL_CALL *PFNGLSTENCILSTROKEPATHINSTANCEDNVPROC)(GLsizei numPaths, GLenum pathNameType, const GLvoid *paths, GLuint pathBase, GLint reference, GLuint mask, GLenum transformType, const GLfloat *transformValues);\ntypedef void (REGAL_CALL *PFNGLSTENCILSTROKEPATHNVPROC)(GLuint path, GLint reference, GLuint mask);\ntypedef void (REGAL_CALL *PFNGLTRANSFORMPATHNVPROC)(GLuint resultPath, GLuint srcPath, GLenum transformType, const GLfloat *transformValues);\ntypedef void (REGAL_CALL *PFNGLWEIGHTPATHSNVPROC)(GLuint resultPath, GLsizei numPaths, const GLuint *paths, const GLfloat *weights);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_NV_PATH_RENDERING\n#define glCopyPathNV                        rglCopyPathNV\n#define glCoverFillPathInstancedNV          rglCoverFillPathInstancedNV\n#define glCoverFillPathNV                   rglCoverFillPathNV\n#define glCoverStrokePathInstancedNV        rglCoverStrokePathInstancedNV\n#define glCoverStrokePathNV                 rglCoverStrokePathNV\n#define glDeletePathsNV                     rglDeletePathsNV\n#define glGenPathsNV                        rglGenPathsNV\n#define glGetPathColorGenfvNV               rglGetPathColorGenfvNV\n#define glGetPathColorGenivNV               rglGetPathColorGenivNV\n#define glGetPathCommandsNV                 rglGetPathCommandsNV\n#define glGetPathCoordsNV                   rglGetPathCoordsNV\n#define glGetPathDashArrayNV                rglGetPathDashArrayNV\n#define glGetPathLengthNV                   rglGetPathLengthNV\n#define glGetPathMetricRangeNV              rglGetPathMetricRangeNV\n#define glGetPathMetricsNV                  rglGetPathMetricsNV\n#define glGetPathParameterfvNV              rglGetPathParameterfvNV\n#define glGetPathParameterivNV              rglGetPathParameterivNV\n#define glGetPathSpacingNV                  rglGetPathSpacingNV\n#define glGetPathTexGenfvNV                 rglGetPathTexGenfvNV\n#define glGetPathTexGenivNV                 rglGetPathTexGenivNV\n#define glInterpolatePathsNV                rglInterpolatePathsNV\n#define glIsPathNV                          rglIsPathNV\n#define glIsPointInFillPathNV               rglIsPointInFillPathNV\n#define glIsPointInStrokePathNV             rglIsPointInStrokePathNV\n#define glPathColorGenNV                    rglPathColorGenNV\n#define glPathCommandsNV                    rglPathCommandsNV\n#define glPathCoordsNV                      rglPathCoordsNV\n#define glPathCoverDepthFuncNV              rglPathCoverDepthFuncNV\n#define glPathDashArrayNV                   rglPathDashArrayNV\n#define glPathFogGenNV                      rglPathFogGenNV\n#define glPathGlyphRangeNV                  rglPathGlyphRangeNV\n#define glPathGlyphsNV                      rglPathGlyphsNV\n#define glPathParameterfNV                  rglPathParameterfNV\n#define glPathParameterfvNV                 rglPathParameterfvNV\n#define glPathParameteriNV                  rglPathParameteriNV\n#define glPathParameterivNV                 rglPathParameterivNV\n#define glPathStencilDepthOffsetNV          rglPathStencilDepthOffsetNV\n#define glPathStencilFuncNV                 rglPathStencilFuncNV\n#define glPathStringNV                      rglPathStringNV\n#define glPathSubCommandsNV                 rglPathSubCommandsNV\n#define glPathSubCoordsNV                   rglPathSubCoordsNV\n#define glPathTexGenNV                      rglPathTexGenNV\n#define glPointAlongPathNV                  rglPointAlongPathNV\n#define glStencilFillPathInstancedNV        rglStencilFillPathInstancedNV\n#define glStencilFillPathNV                 rglStencilFillPathNV\n#define glStencilStrokePathInstancedNV      rglStencilStrokePathInstancedNV\n#define glStencilStrokePathNV               rglStencilStrokePathNV\n#define glTransformPathNV                   rglTransformPathNV\n#define glWeightPathsNV                     rglWeightPathsNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_NV_PATH_RENDERING\nREGAL_DECL GLboolean REGAL_CALL glIsPathNV(GLuint path);\nREGAL_DECL GLboolean REGAL_CALL glIsPointInFillPathNV(GLuint path, GLuint mask, GLfloat x, GLfloat y);\nREGAL_DECL GLboolean REGAL_CALL glIsPointInStrokePathNV(GLuint path, GLfloat x, GLfloat y);\nREGAL_DECL GLboolean REGAL_CALL glPointAlongPathNV(GLuint path, GLsizei startSegment, GLsizei numSegments, GLfloat distance, GLfloat *x, GLfloat *y, GLfloat *tangentX, GLfloat *tangentY);\nREGAL_DECL GLfloat REGAL_CALL glGetPathLengthNV(GLuint path, GLsizei startSegment, GLsizei numSegments);\nREGAL_DECL GLuint REGAL_CALL glGenPathsNV(GLsizei range);\nREGAL_DECL void REGAL_CALL glCopyPathNV(GLuint resultPath, GLuint srcPath);\nREGAL_DECL void REGAL_CALL glCoverFillPathInstancedNV(GLsizei numPaths, GLenum pathNameType, const GLvoid *paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat *transformValues);\nREGAL_DECL void REGAL_CALL glCoverFillPathNV(GLuint path, GLenum coverMode);\nREGAL_DECL void REGAL_CALL glCoverStrokePathInstancedNV(GLsizei numPaths, GLenum pathNameType, const GLvoid *paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat *transformValues);\nREGAL_DECL void REGAL_CALL glCoverStrokePathNV(GLuint name, GLenum coverMode);\nREGAL_DECL void REGAL_CALL glDeletePathsNV(GLuint path, GLsizei range);\nREGAL_DECL void REGAL_CALL glGetPathColorGenfvNV(GLenum color, GLenum pname, GLfloat *value);\nREGAL_DECL void REGAL_CALL glGetPathColorGenivNV(GLenum color, GLenum pname, GLint *value);\nREGAL_DECL void REGAL_CALL glGetPathCommandsNV(GLuint name, GLubyte *commands);\nREGAL_DECL void REGAL_CALL glGetPathCoordsNV(GLuint name, GLfloat *coords);\nREGAL_DECL void REGAL_CALL glGetPathDashArrayNV(GLuint name, GLfloat *dashArray);\nREGAL_DECL void REGAL_CALL glGetPathMetricRangeNV(GLbitfield metricQueryMask, GLuint fistPathName, GLsizei numPaths, GLsizei stride, GLfloat *metrics);\nREGAL_DECL void REGAL_CALL glGetPathMetricsNV(GLbitfield metricQueryMask, GLsizei numPaths, GLenum pathNameType, const GLvoid *paths, GLuint pathBase, GLsizei stride, GLfloat *metrics);\nREGAL_DECL void REGAL_CALL glGetPathParameterfvNV(GLuint name, GLenum param, GLfloat *value);\nREGAL_DECL void REGAL_CALL glGetPathParameterivNV(GLuint name, GLenum param, GLint *value);\nREGAL_DECL void REGAL_CALL glGetPathSpacingNV(GLenum pathListMode, GLsizei numPaths, GLenum pathNameType, const GLvoid *paths, GLuint pathBase, GLfloat advanceScale, GLfloat kerningScale, GLenum transformType, GLfloat *returnedSpacing);\nREGAL_DECL void REGAL_CALL glGetPathTexGenfvNV(GLenum texCoordSet, GLenum pname, GLfloat *value);\nREGAL_DECL void REGAL_CALL glGetPathTexGenivNV(GLenum texCoordSet, GLenum pname, GLint *value);\nREGAL_DECL void REGAL_CALL glInterpolatePathsNV(GLuint resultPath, GLuint pathA, GLuint pathB, GLfloat weight);\nREGAL_DECL void REGAL_CALL glPathColorGenNV(GLenum color, GLenum genMode, GLenum colorFormat, const GLfloat *coeffs);\nREGAL_DECL void REGAL_CALL glPathCommandsNV(GLuint path, GLsizei numCommands, const GLubyte *commands, GLsizei numCoords, GLenum coordType, const GLvoid *coords);\nREGAL_DECL void REGAL_CALL glPathCoordsNV(GLuint path, GLsizei numCoords, GLenum coordType, const GLvoid *coords);\nREGAL_DECL void REGAL_CALL glPathCoverDepthFuncNV(GLenum zfunc);\nREGAL_DECL void REGAL_CALL glPathDashArrayNV(GLuint path, GLsizei dashCount, const GLfloat *dashArray);\nREGAL_DECL void REGAL_CALL glPathFogGenNV(GLenum genMode);\nREGAL_DECL void REGAL_CALL glPathGlyphRangeNV(GLuint firstPathName, GLenum fontTarget, const GLvoid *fontName, GLbitfield fontStyle, GLuint firstGlyph, GLsizei numGlyphs, GLenum handleMissingGlyphs, GLuint pathParameterTemplate, GLfloat emScale);\nREGAL_DECL void REGAL_CALL glPathGlyphsNV(GLuint firstPathName, GLenum fontTarget, const GLvoid *fontName, GLbitfield fontStyle, GLsizei numGlyphs, GLenum type, const GLvoid *charcodes, GLenum handleMissingGlyphs, GLuint pathParameterTemplate, GLfloat emScale);\nREGAL_DECL void REGAL_CALL glPathParameterfNV(GLuint path, GLenum pname, GLfloat value);\nREGAL_DECL void REGAL_CALL glPathParameterfvNV(GLuint path, GLenum pname, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glPathParameteriNV(GLuint path, GLenum pname, GLint value);\nREGAL_DECL void REGAL_CALL glPathParameterivNV(GLuint path, GLenum pname, const GLint *value);\nREGAL_DECL void REGAL_CALL glPathStencilDepthOffsetNV(GLfloat factor, GLfloat units);\nREGAL_DECL void REGAL_CALL glPathStencilFuncNV(GLenum func, GLint ref, GLuint mask);\nREGAL_DECL void REGAL_CALL glPathStringNV(GLuint path, GLenum format, GLsizei length, const GLvoid *pathString);\nREGAL_DECL void REGAL_CALL glPathSubCommandsNV(GLuint path, GLsizei commandStart, GLsizei commandsToDelete, GLsizei numCommands, const GLubyte *commands, GLsizei numCoords, GLenum coordType, const GLvoid *coords);\nREGAL_DECL void REGAL_CALL glPathSubCoordsNV(GLuint path, GLsizei coordStart, GLsizei numCoords, GLenum coordType, const GLvoid *coords);\nREGAL_DECL void REGAL_CALL glPathTexGenNV(GLenum texCoordSet, GLenum genMode, GLint components, const GLfloat *coeffs);\nREGAL_DECL void REGAL_CALL glStencilFillPathInstancedNV(GLsizei numPaths, GLenum pathNameType, const GLvoid *paths, GLuint pathBase, GLenum fillMode, GLuint mask, GLenum transformType, const GLfloat *transformValues);\nREGAL_DECL void REGAL_CALL glStencilFillPathNV(GLuint path, GLenum fillMode, GLuint mask);\nREGAL_DECL void REGAL_CALL glStencilStrokePathInstancedNV(GLsizei numPaths, GLenum pathNameType, const GLvoid *paths, GLuint pathBase, GLint reference, GLuint mask, GLenum transformType, const GLfloat *transformValues);\nREGAL_DECL void REGAL_CALL glStencilStrokePathNV(GLuint path, GLint reference, GLuint mask);\nREGAL_DECL void REGAL_CALL glTransformPathNV(GLuint resultPath, GLuint srcPath, GLenum transformType, const GLfloat *transformValues);\nREGAL_DECL void REGAL_CALL glWeightPathsNV(GLuint resultPath, GLsizei numPaths, const GLuint *paths, const GLfloat *weights);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_NV_PATH_RENDERING\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsPathNV(GLuint path);\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsPointInFillPathNV(GLuint path, GLuint mask, GLfloat x, GLfloat y);\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsPointInStrokePathNV(GLuint path, GLfloat x, GLfloat y);\nREGAL_DECL GLboolean REGAL_CALL plugin_glPointAlongPathNV(GLuint path, GLsizei startSegment, GLsizei numSegments, GLfloat distance, GLfloat *x, GLfloat *y, GLfloat *tangentX, GLfloat *tangentY);\nREGAL_DECL GLfloat REGAL_CALL plugin_glGetPathLengthNV(GLuint path, GLsizei startSegment, GLsizei numSegments);\nREGAL_DECL GLuint REGAL_CALL plugin_glGenPathsNV(GLsizei range);\nREGAL_DECL void REGAL_CALL plugin_glCopyPathNV(GLuint resultPath, GLuint srcPath);\nREGAL_DECL void REGAL_CALL plugin_glCoverFillPathInstancedNV(GLsizei numPaths, GLenum pathNameType, const GLvoid *paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat *transformValues);\nREGAL_DECL void REGAL_CALL plugin_glCoverFillPathNV(GLuint path, GLenum coverMode);\nREGAL_DECL void REGAL_CALL plugin_glCoverStrokePathInstancedNV(GLsizei numPaths, GLenum pathNameType, const GLvoid *paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat *transformValues);\nREGAL_DECL void REGAL_CALL plugin_glCoverStrokePathNV(GLuint name, GLenum coverMode);\nREGAL_DECL void REGAL_CALL plugin_glDeletePathsNV(GLuint path, GLsizei range);\nREGAL_DECL void REGAL_CALL plugin_glGetPathColorGenfvNV(GLenum color, GLenum pname, GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glGetPathColorGenivNV(GLenum color, GLenum pname, GLint *value);\nREGAL_DECL void REGAL_CALL plugin_glGetPathCommandsNV(GLuint name, GLubyte *commands);\nREGAL_DECL void REGAL_CALL plugin_glGetPathCoordsNV(GLuint name, GLfloat *coords);\nREGAL_DECL void REGAL_CALL plugin_glGetPathDashArrayNV(GLuint name, GLfloat *dashArray);\nREGAL_DECL void REGAL_CALL plugin_glGetPathMetricRangeNV(GLbitfield metricQueryMask, GLuint fistPathName, GLsizei numPaths, GLsizei stride, GLfloat *metrics);\nREGAL_DECL void REGAL_CALL plugin_glGetPathMetricsNV(GLbitfield metricQueryMask, GLsizei numPaths, GLenum pathNameType, const GLvoid *paths, GLuint pathBase, GLsizei stride, GLfloat *metrics);\nREGAL_DECL void REGAL_CALL plugin_glGetPathParameterfvNV(GLuint name, GLenum param, GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glGetPathParameterivNV(GLuint name, GLenum param, GLint *value);\nREGAL_DECL void REGAL_CALL plugin_glGetPathSpacingNV(GLenum pathListMode, GLsizei numPaths, GLenum pathNameType, const GLvoid *paths, GLuint pathBase, GLfloat advanceScale, GLfloat kerningScale, GLenum transformType, GLfloat *returnedSpacing);\nREGAL_DECL void REGAL_CALL plugin_glGetPathTexGenfvNV(GLenum texCoordSet, GLenum pname, GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glGetPathTexGenivNV(GLenum texCoordSet, GLenum pname, GLint *value);\nREGAL_DECL void REGAL_CALL plugin_glInterpolatePathsNV(GLuint resultPath, GLuint pathA, GLuint pathB, GLfloat weight);\nREGAL_DECL void REGAL_CALL plugin_glPathColorGenNV(GLenum color, GLenum genMode, GLenum colorFormat, const GLfloat *coeffs);\nREGAL_DECL void REGAL_CALL plugin_glPathCommandsNV(GLuint path, GLsizei numCommands, const GLubyte *commands, GLsizei numCoords, GLenum coordType, const GLvoid *coords);\nREGAL_DECL void REGAL_CALL plugin_glPathCoordsNV(GLuint path, GLsizei numCoords, GLenum coordType, const GLvoid *coords);\nREGAL_DECL void REGAL_CALL plugin_glPathCoverDepthFuncNV(GLenum zfunc);\nREGAL_DECL void REGAL_CALL plugin_glPathDashArrayNV(GLuint path, GLsizei dashCount, const GLfloat *dashArray);\nREGAL_DECL void REGAL_CALL plugin_glPathFogGenNV(GLenum genMode);\nREGAL_DECL void REGAL_CALL plugin_glPathGlyphRangeNV(GLuint firstPathName, GLenum fontTarget, const GLvoid *fontName, GLbitfield fontStyle, GLuint firstGlyph, GLsizei numGlyphs, GLenum handleMissingGlyphs, GLuint pathParameterTemplate, GLfloat emScale);\nREGAL_DECL void REGAL_CALL plugin_glPathGlyphsNV(GLuint firstPathName, GLenum fontTarget, const GLvoid *fontName, GLbitfield fontStyle, GLsizei numGlyphs, GLenum type, const GLvoid *charcodes, GLenum handleMissingGlyphs, GLuint pathParameterTemplate, GLfloat emScale);\nREGAL_DECL void REGAL_CALL plugin_glPathParameterfNV(GLuint path, GLenum pname, GLfloat value);\nREGAL_DECL void REGAL_CALL plugin_glPathParameterfvNV(GLuint path, GLenum pname, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glPathParameteriNV(GLuint path, GLenum pname, GLint value);\nREGAL_DECL void REGAL_CALL plugin_glPathParameterivNV(GLuint path, GLenum pname, const GLint *value);\nREGAL_DECL void REGAL_CALL plugin_glPathStencilDepthOffsetNV(GLfloat factor, GLfloat units);\nREGAL_DECL void REGAL_CALL plugin_glPathStencilFuncNV(GLenum func, GLint ref, GLuint mask);\nREGAL_DECL void REGAL_CALL plugin_glPathStringNV(GLuint path, GLenum format, GLsizei length, const GLvoid *pathString);\nREGAL_DECL void REGAL_CALL plugin_glPathSubCommandsNV(GLuint path, GLsizei commandStart, GLsizei commandsToDelete, GLsizei numCommands, const GLubyte *commands, GLsizei numCoords, GLenum coordType, const GLvoid *coords);\nREGAL_DECL void REGAL_CALL plugin_glPathSubCoordsNV(GLuint path, GLsizei coordStart, GLsizei numCoords, GLenum coordType, const GLvoid *coords);\nREGAL_DECL void REGAL_CALL plugin_glPathTexGenNV(GLenum texCoordSet, GLenum genMode, GLint components, const GLfloat *coeffs);\nREGAL_DECL void REGAL_CALL plugin_glStencilFillPathInstancedNV(GLsizei numPaths, GLenum pathNameType, const GLvoid *paths, GLuint pathBase, GLenum fillMode, GLuint mask, GLenum transformType, const GLfloat *transformValues);\nREGAL_DECL void REGAL_CALL plugin_glStencilFillPathNV(GLuint path, GLenum fillMode, GLuint mask);\nREGAL_DECL void REGAL_CALL plugin_glStencilStrokePathInstancedNV(GLsizei numPaths, GLenum pathNameType, const GLvoid *paths, GLuint pathBase, GLint reference, GLuint mask, GLenum transformType, const GLfloat *transformValues);\nREGAL_DECL void REGAL_CALL plugin_glStencilStrokePathNV(GLuint path, GLint reference, GLuint mask);\nREGAL_DECL void REGAL_CALL plugin_glTransformPathNV(GLuint resultPath, GLuint srcPath, GLenum transformType, const GLfloat *transformValues);\nREGAL_DECL void REGAL_CALL plugin_glWeightPathsNV(GLuint resultPath, GLsizei numPaths, const GLuint *paths, const GLfloat *weights);\n#endif\n\n/**\n ** GL_NV_pixel_buffer_object\n **/\n\n#if (defined(GL_NV_PIXEL_BUFFER_OBJECT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_PIXEL_BUFFER_OBJECT)) && !defined(REGAL_NO_ENUM_GL_NV_PIXEL_BUFFER_OBJECT)\n#define REGAL_NO_ENUM_GL_NV_PIXEL_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_NV_PIXEL_BUFFER_OBJECT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_PIXEL_BUFFER_OBJECT)) && !defined(REGAL_NO_TYPEDEF_GL_NV_PIXEL_BUFFER_OBJECT)\n#define REGAL_NO_TYPEDEF_GL_NV_PIXEL_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_NV_PIXEL_BUFFER_OBJECT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_PIXEL_BUFFER_OBJECT)) && !defined(REGAL_NO_NAMESPACE_GL_NV_PIXEL_BUFFER_OBJECT)\n#define REGAL_NO_NAMESPACE_GL_NV_PIXEL_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_NV_PIXEL_BUFFER_OBJECT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_PIXEL_BUFFER_OBJECT)) && !defined(REGAL_NO_PLUGIN_GL_NV_PIXEL_BUFFER_OBJECT)\n#define REGAL_NO_PLUGIN_GL_NV_PIXEL_BUFFER_OBJECT\n#endif\n\n#if (defined(GL_NV_PIXEL_BUFFER_OBJECT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_PIXEL_BUFFER_OBJECT)) && !defined(REGAL_NO_DECLARATION_GL_NV_PIXEL_BUFFER_OBJECT)\n#define REGAL_NO_DECLARATION_GL_NV_PIXEL_BUFFER_OBJECT\n#endif\n\n#ifndef GL_NV_pixel_buffer_object\n#define GL_NV_pixel_buffer_object 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_PIXEL_BUFFER_OBJECT\n#define GL_PIXEL_PACK_BUFFER_NV           0x88eb     /* 35051 */\n#define GL_PIXEL_UNPACK_BUFFER_NV         0x88ec     /* 35052 */\n#define GL_PIXEL_PACK_BUFFER_BINDING_NV   0x88ed     /* 35053 */\n#define GL_PIXEL_UNPACK_BUFFER_BINDING_NV 0x88ef     /* 35055 */\n#endif\n\n/**\n ** GL_NV_pixel_data_range\n **/\n\n#if (defined(GL_NV_PIXEL_DATA_RANGE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_PIXEL_DATA_RANGE)) && !defined(REGAL_NO_ENUM_GL_NV_PIXEL_DATA_RANGE)\n#define REGAL_NO_ENUM_GL_NV_PIXEL_DATA_RANGE\n#endif\n\n#if (defined(GL_NV_PIXEL_DATA_RANGE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_PIXEL_DATA_RANGE)) && !defined(REGAL_NO_TYPEDEF_GL_NV_PIXEL_DATA_RANGE)\n#define REGAL_NO_TYPEDEF_GL_NV_PIXEL_DATA_RANGE\n#endif\n\n#if (defined(GL_NV_PIXEL_DATA_RANGE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_PIXEL_DATA_RANGE)) && !defined(REGAL_NO_NAMESPACE_GL_NV_PIXEL_DATA_RANGE)\n#define REGAL_NO_NAMESPACE_GL_NV_PIXEL_DATA_RANGE\n#endif\n\n#if (defined(GL_NV_PIXEL_DATA_RANGE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_PIXEL_DATA_RANGE)) && !defined(REGAL_NO_PLUGIN_GL_NV_PIXEL_DATA_RANGE)\n#define REGAL_NO_PLUGIN_GL_NV_PIXEL_DATA_RANGE\n#endif\n\n#if (defined(GL_NV_PIXEL_DATA_RANGE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_PIXEL_DATA_RANGE)) && !defined(REGAL_NO_DECLARATION_GL_NV_PIXEL_DATA_RANGE)\n#define REGAL_NO_DECLARATION_GL_NV_PIXEL_DATA_RANGE\n#endif\n\n#ifndef GL_NV_pixel_data_range\n#define GL_NV_pixel_data_range 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_PIXEL_DATA_RANGE\n#define GL_WRITE_PIXEL_DATA_RANGE_NV         0x8878     /* 34936 */\n#define GL_READ_PIXEL_DATA_RANGE_NV          0x8879     /* 34937 */\n#define GL_WRITE_PIXEL_DATA_RANGE_LENGTH_NV  0x887a     /* 34938 */\n#define GL_READ_PIXEL_DATA_RANGE_LENGTH_NV   0x887b     /* 34939 */\n#define GL_WRITE_PIXEL_DATA_RANGE_POINTER_NV 0x887c     /* 34940 */\n#define GL_READ_PIXEL_DATA_RANGE_POINTER_NV  0x887d     /* 34941 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_NV_PIXEL_DATA_RANGE\ntypedef void (REGAL_CALL *PFNGLFLUSHPIXELDATARANGENVPROC)(GLenum target);\ntypedef void (REGAL_CALL *PFNGLPIXELDATARANGENVPROC)(GLenum target, GLsizei size, const GLvoid *pointer);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_NV_PIXEL_DATA_RANGE\n#define glFlushPixelDataRangeNV             rglFlushPixelDataRangeNV\n#define glPixelDataRangeNV                  rglPixelDataRangeNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_NV_PIXEL_DATA_RANGE\nREGAL_DECL void REGAL_CALL glFlushPixelDataRangeNV(GLenum target);\nREGAL_DECL void REGAL_CALL glPixelDataRangeNV(GLenum target, GLsizei size, const GLvoid *pointer);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_NV_PIXEL_DATA_RANGE\nREGAL_DECL void REGAL_CALL plugin_glFlushPixelDataRangeNV(GLenum target);\nREGAL_DECL void REGAL_CALL plugin_glPixelDataRangeNV(GLenum target, GLsizei size, const GLvoid *pointer);\n#endif\n\n/**\n ** GL_NV_platform_binary\n **/\n\n#if (defined(GL_NV_PLATFORM_BINARY) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_PLATFORM_BINARY)) && !defined(REGAL_NO_ENUM_GL_NV_PLATFORM_BINARY)\n#define REGAL_NO_ENUM_GL_NV_PLATFORM_BINARY\n#endif\n\n#if (defined(GL_NV_PLATFORM_BINARY) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_PLATFORM_BINARY)) && !defined(REGAL_NO_TYPEDEF_GL_NV_PLATFORM_BINARY)\n#define REGAL_NO_TYPEDEF_GL_NV_PLATFORM_BINARY\n#endif\n\n#if (defined(GL_NV_PLATFORM_BINARY) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_PLATFORM_BINARY)) && !defined(REGAL_NO_NAMESPACE_GL_NV_PLATFORM_BINARY)\n#define REGAL_NO_NAMESPACE_GL_NV_PLATFORM_BINARY\n#endif\n\n#if (defined(GL_NV_PLATFORM_BINARY) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_PLATFORM_BINARY)) && !defined(REGAL_NO_PLUGIN_GL_NV_PLATFORM_BINARY)\n#define REGAL_NO_PLUGIN_GL_NV_PLATFORM_BINARY\n#endif\n\n#if (defined(GL_NV_PLATFORM_BINARY) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_PLATFORM_BINARY)) && !defined(REGAL_NO_DECLARATION_GL_NV_PLATFORM_BINARY)\n#define REGAL_NO_DECLARATION_GL_NV_PLATFORM_BINARY\n#endif\n\n#ifndef GL_NV_platform_binary\n#define GL_NV_platform_binary 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_PLATFORM_BINARY\n#define GL_NVIDIA_PLATFORM_BINARY_NV 0x890b /* 35083 */\n#endif\n\n/**\n ** GL_NV_point_sprite\n **/\n\n#if (defined(GL_NV_POINT_SPRITE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_POINT_SPRITE)) && !defined(REGAL_NO_ENUM_GL_NV_POINT_SPRITE)\n#define REGAL_NO_ENUM_GL_NV_POINT_SPRITE\n#endif\n\n#if (defined(GL_NV_POINT_SPRITE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_POINT_SPRITE)) && !defined(REGAL_NO_TYPEDEF_GL_NV_POINT_SPRITE)\n#define REGAL_NO_TYPEDEF_GL_NV_POINT_SPRITE\n#endif\n\n#if (defined(GL_NV_POINT_SPRITE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_POINT_SPRITE)) && !defined(REGAL_NO_NAMESPACE_GL_NV_POINT_SPRITE)\n#define REGAL_NO_NAMESPACE_GL_NV_POINT_SPRITE\n#endif\n\n#if (defined(GL_NV_POINT_SPRITE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_POINT_SPRITE)) && !defined(REGAL_NO_PLUGIN_GL_NV_POINT_SPRITE)\n#define REGAL_NO_PLUGIN_GL_NV_POINT_SPRITE\n#endif\n\n#if (defined(GL_NV_POINT_SPRITE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_POINT_SPRITE)) && !defined(REGAL_NO_DECLARATION_GL_NV_POINT_SPRITE)\n#define REGAL_NO_DECLARATION_GL_NV_POINT_SPRITE\n#endif\n\n#ifndef GL_NV_point_sprite\n#define GL_NV_point_sprite 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_POINT_SPRITE\n#define GL_POINT_SPRITE_NV        0x8861     /* 34913 */\n#define GL_COORD_REPLACE_NV       0x8862     /* 34914 */\n#define GL_POINT_SPRITE_R_MODE_NV 0x8863     /* 34915 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_NV_POINT_SPRITE\ntypedef void (REGAL_CALL *PFNGLPOINTPARAMETERINVPROC)(GLenum pname, GLint param);\ntypedef void (REGAL_CALL *PFNGLPOINTPARAMETERIVNVPROC)(GLenum pname, const GLint *params);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_NV_POINT_SPRITE\n#define glPointParameteriNV                 rglPointParameteriNV\n#define glPointParameterivNV                rglPointParameterivNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_NV_POINT_SPRITE\nREGAL_DECL void REGAL_CALL glPointParameteriNV(GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL glPointParameterivNV(GLenum pname, const GLint *params);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_NV_POINT_SPRITE\nREGAL_DECL void REGAL_CALL plugin_glPointParameteriNV(GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL plugin_glPointParameterivNV(GLenum pname, const GLint *params);\n#endif\n\n/**\n ** GL_NV_present_video\n **/\n\n#if (defined(GL_NV_PRESENT_VIDEO) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_PRESENT_VIDEO)) && !defined(REGAL_NO_ENUM_GL_NV_PRESENT_VIDEO)\n#define REGAL_NO_ENUM_GL_NV_PRESENT_VIDEO\n#endif\n\n#if (defined(GL_NV_PRESENT_VIDEO) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_PRESENT_VIDEO)) && !defined(REGAL_NO_TYPEDEF_GL_NV_PRESENT_VIDEO)\n#define REGAL_NO_TYPEDEF_GL_NV_PRESENT_VIDEO\n#endif\n\n#if (defined(GL_NV_PRESENT_VIDEO) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_PRESENT_VIDEO)) && !defined(REGAL_NO_NAMESPACE_GL_NV_PRESENT_VIDEO)\n#define REGAL_NO_NAMESPACE_GL_NV_PRESENT_VIDEO\n#endif\n\n#if (defined(GL_NV_PRESENT_VIDEO) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_PRESENT_VIDEO)) && !defined(REGAL_NO_PLUGIN_GL_NV_PRESENT_VIDEO)\n#define REGAL_NO_PLUGIN_GL_NV_PRESENT_VIDEO\n#endif\n\n#if (defined(GL_NV_PRESENT_VIDEO) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_PRESENT_VIDEO)) && !defined(REGAL_NO_DECLARATION_GL_NV_PRESENT_VIDEO)\n#define REGAL_NO_DECLARATION_GL_NV_PRESENT_VIDEO\n#endif\n\n#ifndef GL_NV_present_video\n#define GL_NV_present_video 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_PRESENT_VIDEO\n#define GL_FRAME_NV            0x8e26     /* 36390 */\n#define GL_FIELDS_NV           0x8e27     /* 36391 */\n#define GL_CURRENT_TIME_NV     0x8e28     /* 36392 */\n#define GL_NUM_FILL_STREAMS_NV 0x8e29     /* 36393 */\n#define GL_PRESENT_TIME_NV     0x8e2a     /* 36394 */\n#define GL_PRESENT_DURATION_NV 0x8e2b     /* 36395 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_NV_PRESENT_VIDEO\ntypedef void (REGAL_CALL *PFNGLGETVIDEOI64VNVPROC)(GLuint video_slot, GLenum pname, GLint64EXT *params);\ntypedef void (REGAL_CALL *PFNGLGETVIDEOIVNVPROC)(GLuint video_slot, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETVIDEOUI64VNVPROC)(GLuint video_slot, GLenum pname, GLuint64EXT *params);\ntypedef void (REGAL_CALL *PFNGLGETVIDEOUIVNVPROC)(GLuint video_slot, GLenum pname, GLuint *params);\ntypedef void (REGAL_CALL *PFNGLPRESENTFRAMEDUALFILLNVPROC)(GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLenum target1, GLuint fill1, GLenum target2, GLuint fill2, GLenum target3, GLuint fill3);\ntypedef void (REGAL_CALL *PFNGLPRESENTFRAMEKEYEDNVPROC)(GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLuint key0, GLenum target1, GLuint fill1, GLuint key1);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_NV_PRESENT_VIDEO\n#define glGetVideoi64vNV                    rglGetVideoi64vNV\n#define glGetVideoivNV                      rglGetVideoivNV\n#define glGetVideoui64vNV                   rglGetVideoui64vNV\n#define glGetVideouivNV                     rglGetVideouivNV\n#define glPresentFrameDualFillNV            rglPresentFrameDualFillNV\n#define glPresentFrameKeyedNV               rglPresentFrameKeyedNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_NV_PRESENT_VIDEO\nREGAL_DECL void REGAL_CALL glGetVideoi64vNV(GLuint video_slot, GLenum pname, GLint64EXT *params);\nREGAL_DECL void REGAL_CALL glGetVideoivNV(GLuint video_slot, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetVideoui64vNV(GLuint video_slot, GLenum pname, GLuint64EXT *params);\nREGAL_DECL void REGAL_CALL glGetVideouivNV(GLuint video_slot, GLenum pname, GLuint *params);\nREGAL_DECL void REGAL_CALL glPresentFrameDualFillNV(GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLenum target1, GLuint fill1, GLenum target2, GLuint fill2, GLenum target3, GLuint fill3);\nREGAL_DECL void REGAL_CALL glPresentFrameKeyedNV(GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLuint key0, GLenum target1, GLuint fill1, GLuint key1);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_NV_PRESENT_VIDEO\nREGAL_DECL void REGAL_CALL plugin_glGetVideoi64vNV(GLuint video_slot, GLenum pname, GLint64EXT *params);\nREGAL_DECL void REGAL_CALL plugin_glGetVideoivNV(GLuint video_slot, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetVideoui64vNV(GLuint video_slot, GLenum pname, GLuint64EXT *params);\nREGAL_DECL void REGAL_CALL plugin_glGetVideouivNV(GLuint video_slot, GLenum pname, GLuint *params);\nREGAL_DECL void REGAL_CALL plugin_glPresentFrameDualFillNV(GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLenum target1, GLuint fill1, GLenum target2, GLuint fill2, GLenum target3, GLuint fill3);\nREGAL_DECL void REGAL_CALL plugin_glPresentFrameKeyedNV(GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLuint key0, GLenum target1, GLuint fill1, GLuint key1);\n#endif\n\n/**\n ** GL_NV_primitive_restart\n **/\n\n#if (defined(GL_NV_PRIMITIVE_RESTART) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_PRIMITIVE_RESTART)) && !defined(REGAL_NO_ENUM_GL_NV_PRIMITIVE_RESTART)\n#define REGAL_NO_ENUM_GL_NV_PRIMITIVE_RESTART\n#endif\n\n#if (defined(GL_NV_PRIMITIVE_RESTART) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_PRIMITIVE_RESTART)) && !defined(REGAL_NO_TYPEDEF_GL_NV_PRIMITIVE_RESTART)\n#define REGAL_NO_TYPEDEF_GL_NV_PRIMITIVE_RESTART\n#endif\n\n#if (defined(GL_NV_PRIMITIVE_RESTART) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_PRIMITIVE_RESTART)) && !defined(REGAL_NO_NAMESPACE_GL_NV_PRIMITIVE_RESTART)\n#define REGAL_NO_NAMESPACE_GL_NV_PRIMITIVE_RESTART\n#endif\n\n#if (defined(GL_NV_PRIMITIVE_RESTART) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_PRIMITIVE_RESTART)) && !defined(REGAL_NO_PLUGIN_GL_NV_PRIMITIVE_RESTART)\n#define REGAL_NO_PLUGIN_GL_NV_PRIMITIVE_RESTART\n#endif\n\n#if (defined(GL_NV_PRIMITIVE_RESTART) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_PRIMITIVE_RESTART)) && !defined(REGAL_NO_DECLARATION_GL_NV_PRIMITIVE_RESTART)\n#define REGAL_NO_DECLARATION_GL_NV_PRIMITIVE_RESTART\n#endif\n\n#ifndef GL_NV_primitive_restart\n#define GL_NV_primitive_restart 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_PRIMITIVE_RESTART\n#define GL_PRIMITIVE_RESTART_NV       0x8558     /* 34136 */\n#define GL_PRIMITIVE_RESTART_INDEX_NV 0x8559     /* 34137 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_NV_PRIMITIVE_RESTART\ntypedef void (REGAL_CALL *PFNGLPRIMITIVERESTARTINDEXNVPROC)(GLuint index);\ntypedef void (REGAL_CALL *PFNGLPRIMITIVERESTARTNVPROC)(void);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_NV_PRIMITIVE_RESTART\n#define glPrimitiveRestartIndexNV           rglPrimitiveRestartIndexNV\n#define glPrimitiveRestartNV                rglPrimitiveRestartNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_NV_PRIMITIVE_RESTART\nREGAL_DECL void REGAL_CALL glPrimitiveRestartIndexNV(GLuint index);\nREGAL_DECL void REGAL_CALL glPrimitiveRestartNV(void);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_NV_PRIMITIVE_RESTART\nREGAL_DECL void REGAL_CALL plugin_glPrimitiveRestartIndexNV(GLuint index);\nREGAL_DECL void REGAL_CALL plugin_glPrimitiveRestartNV(void);\n#endif\n\n/**\n ** GL_NV_read_buffer\n **/\n\n#if (defined(GL_NV_READ_BUFFER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_READ_BUFFER)) && !defined(REGAL_NO_ENUM_GL_NV_READ_BUFFER)\n#define REGAL_NO_ENUM_GL_NV_READ_BUFFER\n#endif\n\n#if (defined(GL_NV_READ_BUFFER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_READ_BUFFER)) && !defined(REGAL_NO_TYPEDEF_GL_NV_READ_BUFFER)\n#define REGAL_NO_TYPEDEF_GL_NV_READ_BUFFER\n#endif\n\n#if (defined(GL_NV_READ_BUFFER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_READ_BUFFER)) && !defined(REGAL_NO_NAMESPACE_GL_NV_READ_BUFFER)\n#define REGAL_NO_NAMESPACE_GL_NV_READ_BUFFER\n#endif\n\n#if (defined(GL_NV_READ_BUFFER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_READ_BUFFER)) && !defined(REGAL_NO_PLUGIN_GL_NV_READ_BUFFER)\n#define REGAL_NO_PLUGIN_GL_NV_READ_BUFFER\n#endif\n\n#if (defined(GL_NV_READ_BUFFER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_READ_BUFFER)) && !defined(REGAL_NO_DECLARATION_GL_NV_READ_BUFFER)\n#define REGAL_NO_DECLARATION_GL_NV_READ_BUFFER\n#endif\n\n#ifndef GL_NV_read_buffer\n#define GL_NV_read_buffer 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_NV_READ_BUFFER\ntypedef void (REGAL_CALL *PFNGLREADBUFFERNVPROC)(GLenum mode);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_NV_READ_BUFFER\n#define glReadBufferNV                      rglReadBufferNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_NV_READ_BUFFER\nREGAL_DECL void REGAL_CALL glReadBufferNV(GLenum mode);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_NV_READ_BUFFER\nREGAL_DECL void REGAL_CALL plugin_glReadBufferNV(GLenum mode);\n#endif\n\n/**\n ** GL_NV_read_buffer_front\n **/\n\n#if (defined(GL_NV_READ_BUFFER_FRONT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_READ_BUFFER_FRONT)) && !defined(REGAL_NO_ENUM_GL_NV_READ_BUFFER_FRONT)\n#define REGAL_NO_ENUM_GL_NV_READ_BUFFER_FRONT\n#endif\n\n#if (defined(GL_NV_READ_BUFFER_FRONT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_READ_BUFFER_FRONT)) && !defined(REGAL_NO_TYPEDEF_GL_NV_READ_BUFFER_FRONT)\n#define REGAL_NO_TYPEDEF_GL_NV_READ_BUFFER_FRONT\n#endif\n\n#if (defined(GL_NV_READ_BUFFER_FRONT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_READ_BUFFER_FRONT)) && !defined(REGAL_NO_NAMESPACE_GL_NV_READ_BUFFER_FRONT)\n#define REGAL_NO_NAMESPACE_GL_NV_READ_BUFFER_FRONT\n#endif\n\n#if (defined(GL_NV_READ_BUFFER_FRONT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_READ_BUFFER_FRONT)) && !defined(REGAL_NO_PLUGIN_GL_NV_READ_BUFFER_FRONT)\n#define REGAL_NO_PLUGIN_GL_NV_READ_BUFFER_FRONT\n#endif\n\n#if (defined(GL_NV_READ_BUFFER_FRONT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_READ_BUFFER_FRONT)) && !defined(REGAL_NO_DECLARATION_GL_NV_READ_BUFFER_FRONT)\n#define REGAL_NO_DECLARATION_GL_NV_READ_BUFFER_FRONT\n#endif\n\n#ifndef GL_NV_read_buffer_front\n#define GL_NV_read_buffer_front 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_READ_BUFFER_FRONT\n#define GL_READ_BUFFER_NV 0xc02 /* 3074 */\n#endif\n\n/**\n ** GL_NV_register_combiners\n **/\n\n#if (defined(GL_NV_REGISTER_COMBINERS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_REGISTER_COMBINERS)) && !defined(REGAL_NO_ENUM_GL_NV_REGISTER_COMBINERS)\n#define REGAL_NO_ENUM_GL_NV_REGISTER_COMBINERS\n#endif\n\n#if (defined(GL_NV_REGISTER_COMBINERS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_REGISTER_COMBINERS)) && !defined(REGAL_NO_TYPEDEF_GL_NV_REGISTER_COMBINERS)\n#define REGAL_NO_TYPEDEF_GL_NV_REGISTER_COMBINERS\n#endif\n\n#if (defined(GL_NV_REGISTER_COMBINERS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_REGISTER_COMBINERS)) && !defined(REGAL_NO_NAMESPACE_GL_NV_REGISTER_COMBINERS)\n#define REGAL_NO_NAMESPACE_GL_NV_REGISTER_COMBINERS\n#endif\n\n#if (defined(GL_NV_REGISTER_COMBINERS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_REGISTER_COMBINERS)) && !defined(REGAL_NO_PLUGIN_GL_NV_REGISTER_COMBINERS)\n#define REGAL_NO_PLUGIN_GL_NV_REGISTER_COMBINERS\n#endif\n\n#if (defined(GL_NV_REGISTER_COMBINERS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_REGISTER_COMBINERS)) && !defined(REGAL_NO_DECLARATION_GL_NV_REGISTER_COMBINERS)\n#define REGAL_NO_DECLARATION_GL_NV_REGISTER_COMBINERS\n#endif\n\n#ifndef GL_NV_register_combiners\n#define GL_NV_register_combiners 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_REGISTER_COMBINERS\n#define GL_REGISTER_COMBINERS_NV          0x8522     /* 34082 */\n#define GL_VARIABLE_A_NV                  0x8523     /* 34083 */\n#define GL_VARIABLE_B_NV                  0x8524     /* 34084 */\n#define GL_VARIABLE_C_NV                  0x8525     /* 34085 */\n#define GL_VARIABLE_D_NV                  0x8526     /* 34086 */\n#define GL_VARIABLE_E_NV                  0x8527     /* 34087 */\n#define GL_VARIABLE_F_NV                  0x8528     /* 34088 */\n#define GL_VARIABLE_G_NV                  0x8529     /* 34089 */\n#define GL_CONSTANT_COLOR0_NV             0x852a     /* 34090 */\n#define GL_CONSTANT_COLOR1_NV             0x852b     /* 34091 */\n#define GL_PRIMARY_COLOR_NV               0x852c     /* 34092 */\n#define GL_SECONDARY_COLOR_NV             0x852d     /* 34093 */\n#define GL_SPARE0_NV                      0x852e     /* 34094 */\n#define GL_SPARE1_NV                      0x852f     /* 34095 */\n#define GL_DISCARD_NV                     0x8530     /* 34096 */\n#define GL_E_TIMES_F_NV                   0x8531     /* 34097 */\n#define GL_SPARE0_PLUS_SECONDARY_COLOR_NV 0x8532     /* 34098 */\n#define GL_UNSIGNED_IDENTITY_NV           0x8536     /* 34102 */\n#define GL_UNSIGNED_INVERT_NV             0x8537     /* 34103 */\n#define GL_EXPAND_NORMAL_NV               0x8538     /* 34104 */\n#define GL_EXPAND_NEGATE_NV               0x8539     /* 34105 */\n#define GL_HALF_BIAS_NORMAL_NV            0x853a     /* 34106 */\n#define GL_HALF_BIAS_NEGATE_NV            0x853b     /* 34107 */\n#define GL_SIGNED_IDENTITY_NV             0x853c     /* 34108 */\n#define GL_SIGNED_NEGATE_NV               0x853d     /* 34109 */\n#define GL_SCALE_BY_TWO_NV                0x853e     /* 34110 */\n#define GL_SCALE_BY_FOUR_NV               0x853f     /* 34111 */\n#define GL_SCALE_BY_ONE_HALF_NV           0x8540     /* 34112 */\n#define GL_BIAS_BY_NEGATIVE_ONE_HALF_NV   0x8541     /* 34113 */\n#define GL_COMBINER_INPUT_NV              0x8542     /* 34114 */\n#define GL_COMBINER_MAPPING_NV            0x8543     /* 34115 */\n#define GL_COMBINER_COMPONENT_USAGE_NV    0x8544     /* 34116 */\n#define GL_COMBINER_AB_DOT_PRODUCT_NV     0x8545     /* 34117 */\n#define GL_COMBINER_CD_DOT_PRODUCT_NV     0x8546     /* 34118 */\n#define GL_COMBINER_MUX_SUM_NV            0x8547     /* 34119 */\n#define GL_COMBINER_SCALE_NV              0x8548     /* 34120 */\n#define GL_COMBINER_BIAS_NV               0x8549     /* 34121 */\n#define GL_COMBINER_AB_OUTPUT_NV          0x854a     /* 34122 */\n#define GL_COMBINER_CD_OUTPUT_NV          0x854b     /* 34123 */\n#define GL_COMBINER_SUM_OUTPUT_NV         0x854c     /* 34124 */\n#define GL_MAX_GENERAL_COMBINERS_NV       0x854d     /* 34125 */\n#define GL_NUM_GENERAL_COMBINERS_NV       0x854e     /* 34126 */\n#define GL_COLOR_SUM_CLAMP_NV             0x854f     /* 34127 */\n#define GL_COMBINER0_NV                   0x8550     /* 34128 */\n#define GL_COMBINER1_NV                   0x8551     /* 34129 */\n#define GL_COMBINER2_NV                   0x8552     /* 34130 */\n#define GL_COMBINER3_NV                   0x8553     /* 34131 */\n#define GL_COMBINER4_NV                   0x8554     /* 34132 */\n#define GL_COMBINER5_NV                   0x8555     /* 34133 */\n#define GL_COMBINER6_NV                   0x8556     /* 34134 */\n#define GL_COMBINER7_NV                   0x8557     /* 34135 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_NV_REGISTER_COMBINERS\ntypedef void (REGAL_CALL *PFNGLCOMBINERINPUTNVPROC)(GLenum stage, GLenum portion, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage);\ntypedef void (REGAL_CALL *PFNGLCOMBINEROUTPUTNVPROC)(GLenum stage, GLenum portion, GLenum abOutput, GLenum cdOutput, GLenum sumOutput, GLenum scale, GLenum bias, GLboolean abDotProduct, GLboolean cdDotProduct, GLboolean muxSum);\ntypedef void (REGAL_CALL *PFNGLCOMBINERPARAMETERFNVPROC)(GLenum pname, GLfloat param);\ntypedef void (REGAL_CALL *PFNGLCOMBINERPARAMETERFVNVPROC)(GLenum pname, const GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLCOMBINERPARAMETERINVPROC)(GLenum pname, GLint param);\ntypedef void (REGAL_CALL *PFNGLCOMBINERPARAMETERIVNVPROC)(GLenum pname, const GLint *params);\ntypedef void (REGAL_CALL *PFNGLFINALCOMBINERINPUTNVPROC)(GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage);\ntypedef void (REGAL_CALL *PFNGLGETCOMBINERINPUTPARAMETERFVNVPROC)(GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETCOMBINERINPUTPARAMETERIVNVPROC)(GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETCOMBINEROUTPUTPARAMETERFVNVPROC)(GLenum stage, GLenum portion, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETCOMBINEROUTPUTPARAMETERIVNVPROC)(GLenum stage, GLenum portion, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETFINALCOMBINERINPUTPARAMETERFVNVPROC)(GLenum variable, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETFINALCOMBINERINPUTPARAMETERIVNVPROC)(GLenum variable, GLenum pname, GLint *params);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_NV_REGISTER_COMBINERS\n#define glCombinerInputNV                   rglCombinerInputNV\n#define glCombinerOutputNV                  rglCombinerOutputNV\n#define glCombinerParameterfNV              rglCombinerParameterfNV\n#define glCombinerParameterfvNV             rglCombinerParameterfvNV\n#define glCombinerParameteriNV              rglCombinerParameteriNV\n#define glCombinerParameterivNV             rglCombinerParameterivNV\n#define glFinalCombinerInputNV              rglFinalCombinerInputNV\n#define glGetCombinerInputParameterfvNV     rglGetCombinerInputParameterfvNV\n#define glGetCombinerInputParameterivNV     rglGetCombinerInputParameterivNV\n#define glGetCombinerOutputParameterfvNV    rglGetCombinerOutputParameterfvNV\n#define glGetCombinerOutputParameterivNV    rglGetCombinerOutputParameterivNV\n#define glGetFinalCombinerInputParameterfvNV rglGetFinalCombinerInputParameterfvNV\n#define glGetFinalCombinerInputParameterivNV rglGetFinalCombinerInputParameterivNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_NV_REGISTER_COMBINERS\nREGAL_DECL void REGAL_CALL glCombinerInputNV(GLenum stage, GLenum portion, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage);\nREGAL_DECL void REGAL_CALL glCombinerOutputNV(GLenum stage, GLenum portion, GLenum abOutput, GLenum cdOutput, GLenum sumOutput, GLenum scale, GLenum bias, GLboolean abDotProduct, GLboolean cdDotProduct, GLboolean muxSum);\nREGAL_DECL void REGAL_CALL glCombinerParameterfNV(GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL glCombinerParameterfvNV(GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL glCombinerParameteriNV(GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL glCombinerParameterivNV(GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL glFinalCombinerInputNV(GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage);\nREGAL_DECL void REGAL_CALL glGetCombinerInputParameterfvNV(GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetCombinerInputParameterivNV(GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetCombinerOutputParameterfvNV(GLenum stage, GLenum portion, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetCombinerOutputParameterivNV(GLenum stage, GLenum portion, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetFinalCombinerInputParameterfvNV(GLenum variable, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetFinalCombinerInputParameterivNV(GLenum variable, GLenum pname, GLint *params);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_NV_REGISTER_COMBINERS\nREGAL_DECL void REGAL_CALL plugin_glCombinerInputNV(GLenum stage, GLenum portion, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage);\nREGAL_DECL void REGAL_CALL plugin_glCombinerOutputNV(GLenum stage, GLenum portion, GLenum abOutput, GLenum cdOutput, GLenum sumOutput, GLenum scale, GLenum bias, GLboolean abDotProduct, GLboolean cdDotProduct, GLboolean muxSum);\nREGAL_DECL void REGAL_CALL plugin_glCombinerParameterfNV(GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL plugin_glCombinerParameterfvNV(GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glCombinerParameteriNV(GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL plugin_glCombinerParameterivNV(GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glFinalCombinerInputNV(GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage);\nREGAL_DECL void REGAL_CALL plugin_glGetCombinerInputParameterfvNV(GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetCombinerInputParameterivNV(GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetCombinerOutputParameterfvNV(GLenum stage, GLenum portion, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetCombinerOutputParameterivNV(GLenum stage, GLenum portion, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetFinalCombinerInputParameterfvNV(GLenum variable, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetFinalCombinerInputParameterivNV(GLenum variable, GLenum pname, GLint *params);\n#endif\n\n/**\n ** GL_NV_register_combiners2\n **/\n\n#if (defined(GL_NV_REGISTER_COMBINERS2) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_REGISTER_COMBINERS2)) && !defined(REGAL_NO_ENUM_GL_NV_REGISTER_COMBINERS2)\n#define REGAL_NO_ENUM_GL_NV_REGISTER_COMBINERS2\n#endif\n\n#if (defined(GL_NV_REGISTER_COMBINERS2) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_REGISTER_COMBINERS2)) && !defined(REGAL_NO_TYPEDEF_GL_NV_REGISTER_COMBINERS2)\n#define REGAL_NO_TYPEDEF_GL_NV_REGISTER_COMBINERS2\n#endif\n\n#if (defined(GL_NV_REGISTER_COMBINERS2) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_REGISTER_COMBINERS2)) && !defined(REGAL_NO_NAMESPACE_GL_NV_REGISTER_COMBINERS2)\n#define REGAL_NO_NAMESPACE_GL_NV_REGISTER_COMBINERS2\n#endif\n\n#if (defined(GL_NV_REGISTER_COMBINERS2) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_REGISTER_COMBINERS2)) && !defined(REGAL_NO_PLUGIN_GL_NV_REGISTER_COMBINERS2)\n#define REGAL_NO_PLUGIN_GL_NV_REGISTER_COMBINERS2\n#endif\n\n#if (defined(GL_NV_REGISTER_COMBINERS2) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_REGISTER_COMBINERS2)) && !defined(REGAL_NO_DECLARATION_GL_NV_REGISTER_COMBINERS2)\n#define REGAL_NO_DECLARATION_GL_NV_REGISTER_COMBINERS2\n#endif\n\n#ifndef GL_NV_register_combiners2\n#define GL_NV_register_combiners2 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_REGISTER_COMBINERS2\n#define GL_PER_STAGE_CONSTANTS_NV 0x8535 /* 34101 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_NV_REGISTER_COMBINERS2\ntypedef void (REGAL_CALL *PFNGLCOMBINERSTAGEPARAMETERFVNVPROC)(GLenum stage, GLenum pname, const GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETCOMBINERSTAGEPARAMETERFVNVPROC)(GLenum stage, GLenum pname, GLfloat *params);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_NV_REGISTER_COMBINERS2\n#define glCombinerStageParameterfvNV        rglCombinerStageParameterfvNV\n#define glGetCombinerStageParameterfvNV     rglGetCombinerStageParameterfvNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_NV_REGISTER_COMBINERS2\nREGAL_DECL void REGAL_CALL glCombinerStageParameterfvNV(GLenum stage, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetCombinerStageParameterfvNV(GLenum stage, GLenum pname, GLfloat *params);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_NV_REGISTER_COMBINERS2\nREGAL_DECL void REGAL_CALL plugin_glCombinerStageParameterfvNV(GLenum stage, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetCombinerStageParameterfvNV(GLenum stage, GLenum pname, GLfloat *params);\n#endif\n\n/**\n ** GL_NV_sRGB_formats\n **/\n\n#if (defined(GL_NV_SRGB_FORMATS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_SRGB_FORMATS)) && !defined(REGAL_NO_ENUM_GL_NV_SRGB_FORMATS)\n#define REGAL_NO_ENUM_GL_NV_SRGB_FORMATS\n#endif\n\n#if (defined(GL_NV_SRGB_FORMATS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_SRGB_FORMATS)) && !defined(REGAL_NO_TYPEDEF_GL_NV_SRGB_FORMATS)\n#define REGAL_NO_TYPEDEF_GL_NV_SRGB_FORMATS\n#endif\n\n#if (defined(GL_NV_SRGB_FORMATS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_SRGB_FORMATS)) && !defined(REGAL_NO_NAMESPACE_GL_NV_SRGB_FORMATS)\n#define REGAL_NO_NAMESPACE_GL_NV_SRGB_FORMATS\n#endif\n\n#if (defined(GL_NV_SRGB_FORMATS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_SRGB_FORMATS)) && !defined(REGAL_NO_PLUGIN_GL_NV_SRGB_FORMATS)\n#define REGAL_NO_PLUGIN_GL_NV_SRGB_FORMATS\n#endif\n\n#if (defined(GL_NV_SRGB_FORMATS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_SRGB_FORMATS)) && !defined(REGAL_NO_DECLARATION_GL_NV_SRGB_FORMATS)\n#define REGAL_NO_DECLARATION_GL_NV_SRGB_FORMATS\n#endif\n\n#ifndef GL_NV_sRGB_formats\n#define GL_NV_sRGB_formats 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_SRGB_FORMATS\n#define GL_ETC1_SRGB8_NV                      0x88ee     /* 35054 */\n#define GL_SRGB8_NV                           0x8c41     /* 35905 */\n#define GL_SLUMINANCE_ALPHA_NV                0x8c44     /* 35908 */\n#define GL_SLUMINANCE8_ALPHA8_NV              0x8c45     /* 35909 */\n#define GL_SLUMINANCE_NV                      0x8c46     /* 35910 */\n#define GL_SLUMINANCE8_NV                     0x8c47     /* 35911 */\n#define GL_COMPRESSED_SRGB_S3TC_DXT1_NV       0x8c4c     /* 35916 */\n#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_NV 0x8c4d     /* 35917 */\n#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_NV 0x8c4e     /* 35918 */\n#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_NV 0x8c4f     /* 35919 */\n#endif\n\n/**\n ** GL_NV_shader_buffer_load\n **/\n\n#if (defined(GL_NV_SHADER_BUFFER_LOAD) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_SHADER_BUFFER_LOAD)) && !defined(REGAL_NO_ENUM_GL_NV_SHADER_BUFFER_LOAD)\n#define REGAL_NO_ENUM_GL_NV_SHADER_BUFFER_LOAD\n#endif\n\n#if (defined(GL_NV_SHADER_BUFFER_LOAD) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_SHADER_BUFFER_LOAD)) && !defined(REGAL_NO_TYPEDEF_GL_NV_SHADER_BUFFER_LOAD)\n#define REGAL_NO_TYPEDEF_GL_NV_SHADER_BUFFER_LOAD\n#endif\n\n#if (defined(GL_NV_SHADER_BUFFER_LOAD) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_SHADER_BUFFER_LOAD)) && !defined(REGAL_NO_NAMESPACE_GL_NV_SHADER_BUFFER_LOAD)\n#define REGAL_NO_NAMESPACE_GL_NV_SHADER_BUFFER_LOAD\n#endif\n\n#if (defined(GL_NV_SHADER_BUFFER_LOAD) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_SHADER_BUFFER_LOAD)) && !defined(REGAL_NO_PLUGIN_GL_NV_SHADER_BUFFER_LOAD)\n#define REGAL_NO_PLUGIN_GL_NV_SHADER_BUFFER_LOAD\n#endif\n\n#if (defined(GL_NV_SHADER_BUFFER_LOAD) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_SHADER_BUFFER_LOAD)) && !defined(REGAL_NO_DECLARATION_GL_NV_SHADER_BUFFER_LOAD)\n#define REGAL_NO_DECLARATION_GL_NV_SHADER_BUFFER_LOAD\n#endif\n\n#ifndef GL_NV_shader_buffer_load\n#define GL_NV_shader_buffer_load 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_SHADER_BUFFER_LOAD\n#define GL_BUFFER_GPU_ADDRESS_NV        0x8f1d     /* 36637 */\n#define GL_GPU_ADDRESS_NV               0x8f34     /* 36660 */\n#define GL_MAX_SHADER_BUFFER_ADDRESS_NV 0x8f35     /* 36661 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_NV_SHADER_BUFFER_LOAD\ntypedef GLboolean (REGAL_CALL *PFNGLISBUFFERRESIDENTNVPROC)(GLenum target);\ntypedef GLboolean (REGAL_CALL *PFNGLISNAMEDBUFFERRESIDENTNVPROC)(GLuint buffer);\ntypedef void (REGAL_CALL *PFNGLGETBUFFERPARAMETERUI64VNVPROC)(GLenum target, GLenum pname, GLuint64EXT *params);\ntypedef void (REGAL_CALL *PFNGLGETINTEGERUI64VNVPROC)(GLenum target, GLuint64EXT *data);\ntypedef void (REGAL_CALL *PFNGLGETNAMEDBUFFERPARAMETERUI64VNVPROC)(GLuint buffer, GLenum pname, GLuint64EXT *params);\ntypedef void (REGAL_CALL *PFNGLGETUNIFORMUI64VNVPROC)(GLuint program, GLint location, GLuint64EXT *params);\ntypedef void (REGAL_CALL *PFNGLMAKEBUFFERNONRESIDENTNVPROC)(GLenum target);\ntypedef void (REGAL_CALL *PFNGLMAKEBUFFERRESIDENTNVPROC)(GLenum target, GLenum access);\ntypedef void (REGAL_CALL *PFNGLMAKENAMEDBUFFERNONRESIDENTNVPROC)(GLuint buffer);\ntypedef void (REGAL_CALL *PFNGLMAKENAMEDBUFFERRESIDENTNVPROC)(GLuint buffer, GLenum access);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMUI64NVPROC)(GLuint program, GLint location, GLuint64EXT v0);\ntypedef void (REGAL_CALL *PFNGLPROGRAMUNIFORMUI64VNVPROC)(GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORMUI64NVPROC)(GLint location, GLuint64EXT v0);\ntypedef void (REGAL_CALL *PFNGLUNIFORMUI64VNVPROC)(GLint location, GLsizei count, const GLuint64EXT *value);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_NV_SHADER_BUFFER_LOAD\n#define glGetBufferParameterui64vNV         rglGetBufferParameterui64vNV\n#define glGetIntegerui64vNV                 rglGetIntegerui64vNV\n#define glGetNamedBufferParameterui64vNV    rglGetNamedBufferParameterui64vNV\n#define glGetUniformui64vNV                 rglGetUniformui64vNV\n#define glIsBufferResidentNV                rglIsBufferResidentNV\n#define glIsNamedBufferResidentNV           rglIsNamedBufferResidentNV\n#define glMakeBufferNonResidentNV           rglMakeBufferNonResidentNV\n#define glMakeBufferResidentNV              rglMakeBufferResidentNV\n#define glMakeNamedBufferNonResidentNV      rglMakeNamedBufferNonResidentNV\n#define glMakeNamedBufferResidentNV         rglMakeNamedBufferResidentNV\n#define glProgramUniformui64NV              rglProgramUniformui64NV\n#define glProgramUniformui64vNV             rglProgramUniformui64vNV\n#define glUniformui64NV                     rglUniformui64NV\n#define glUniformui64vNV                    rglUniformui64vNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_NV_SHADER_BUFFER_LOAD\nREGAL_DECL GLboolean REGAL_CALL glIsBufferResidentNV(GLenum target);\nREGAL_DECL GLboolean REGAL_CALL glIsNamedBufferResidentNV(GLuint buffer);\nREGAL_DECL void REGAL_CALL glGetBufferParameterui64vNV(GLenum target, GLenum pname, GLuint64EXT *params);\nREGAL_DECL void REGAL_CALL glGetIntegerui64vNV(GLenum target, GLuint64EXT *data);\nREGAL_DECL void REGAL_CALL glGetNamedBufferParameterui64vNV(GLuint buffer, GLenum pname, GLuint64EXT *params);\nREGAL_DECL void REGAL_CALL glGetUniformui64vNV(GLuint program, GLint location, GLuint64EXT *params);\nREGAL_DECL void REGAL_CALL glMakeBufferNonResidentNV(GLenum target);\nREGAL_DECL void REGAL_CALL glMakeBufferResidentNV(GLenum target, GLenum access);\nREGAL_DECL void REGAL_CALL glMakeNamedBufferNonResidentNV(GLuint buffer);\nREGAL_DECL void REGAL_CALL glMakeNamedBufferResidentNV(GLuint buffer, GLenum access);\nREGAL_DECL void REGAL_CALL glProgramUniformui64NV(GLuint program, GLint location, GLuint64EXT v0);\nREGAL_DECL void REGAL_CALL glProgramUniformui64vNV(GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);\nREGAL_DECL void REGAL_CALL glUniformui64NV(GLint location, GLuint64EXT v0);\nREGAL_DECL void REGAL_CALL glUniformui64vNV(GLint location, GLsizei count, const GLuint64EXT *value);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_NV_SHADER_BUFFER_LOAD\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsBufferResidentNV(GLenum target);\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsNamedBufferResidentNV(GLuint buffer);\nREGAL_DECL void REGAL_CALL plugin_glGetBufferParameterui64vNV(GLenum target, GLenum pname, GLuint64EXT *params);\nREGAL_DECL void REGAL_CALL plugin_glGetIntegerui64vNV(GLenum target, GLuint64EXT *data);\nREGAL_DECL void REGAL_CALL plugin_glGetNamedBufferParameterui64vNV(GLuint buffer, GLenum pname, GLuint64EXT *params);\nREGAL_DECL void REGAL_CALL plugin_glGetUniformui64vNV(GLuint program, GLint location, GLuint64EXT *params);\nREGAL_DECL void REGAL_CALL plugin_glMakeBufferNonResidentNV(GLenum target);\nREGAL_DECL void REGAL_CALL plugin_glMakeBufferResidentNV(GLenum target, GLenum access);\nREGAL_DECL void REGAL_CALL plugin_glMakeNamedBufferNonResidentNV(GLuint buffer);\nREGAL_DECL void REGAL_CALL plugin_glMakeNamedBufferResidentNV(GLuint buffer, GLenum access);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformui64NV(GLuint program, GLint location, GLuint64EXT v0);\nREGAL_DECL void REGAL_CALL plugin_glProgramUniformui64vNV(GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);\nREGAL_DECL void REGAL_CALL plugin_glUniformui64NV(GLint location, GLuint64EXT v0);\nREGAL_DECL void REGAL_CALL plugin_glUniformui64vNV(GLint location, GLsizei count, const GLuint64EXT *value);\n#endif\n\n/**\n ** GL_NV_shadow_samplers_array\n **/\n\n#if (defined(GL_NV_SHADOW_SAMPLERS_ARRAY) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_SHADOW_SAMPLERS_ARRAY)) && !defined(REGAL_NO_ENUM_GL_NV_SHADOW_SAMPLERS_ARRAY)\n#define REGAL_NO_ENUM_GL_NV_SHADOW_SAMPLERS_ARRAY\n#endif\n\n#if (defined(GL_NV_SHADOW_SAMPLERS_ARRAY) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_SHADOW_SAMPLERS_ARRAY)) && !defined(REGAL_NO_TYPEDEF_GL_NV_SHADOW_SAMPLERS_ARRAY)\n#define REGAL_NO_TYPEDEF_GL_NV_SHADOW_SAMPLERS_ARRAY\n#endif\n\n#if (defined(GL_NV_SHADOW_SAMPLERS_ARRAY) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_SHADOW_SAMPLERS_ARRAY)) && !defined(REGAL_NO_NAMESPACE_GL_NV_SHADOW_SAMPLERS_ARRAY)\n#define REGAL_NO_NAMESPACE_GL_NV_SHADOW_SAMPLERS_ARRAY\n#endif\n\n#if (defined(GL_NV_SHADOW_SAMPLERS_ARRAY) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_SHADOW_SAMPLERS_ARRAY)) && !defined(REGAL_NO_PLUGIN_GL_NV_SHADOW_SAMPLERS_ARRAY)\n#define REGAL_NO_PLUGIN_GL_NV_SHADOW_SAMPLERS_ARRAY\n#endif\n\n#if (defined(GL_NV_SHADOW_SAMPLERS_ARRAY) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_SHADOW_SAMPLERS_ARRAY)) && !defined(REGAL_NO_DECLARATION_GL_NV_SHADOW_SAMPLERS_ARRAY)\n#define REGAL_NO_DECLARATION_GL_NV_SHADOW_SAMPLERS_ARRAY\n#endif\n\n#ifndef GL_NV_shadow_samplers_array\n#define GL_NV_shadow_samplers_array 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_SHADOW_SAMPLERS_ARRAY\n#define GL_SAMPLER_2D_ARRAY_SHADOW_NV 0x8dc4 /* 36292 */\n#endif\n\n/**\n ** GL_NV_shadow_samplers_cube\n **/\n\n#if (defined(GL_NV_SHADOW_SAMPLERS_CUBE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_SHADOW_SAMPLERS_CUBE)) && !defined(REGAL_NO_ENUM_GL_NV_SHADOW_SAMPLERS_CUBE)\n#define REGAL_NO_ENUM_GL_NV_SHADOW_SAMPLERS_CUBE\n#endif\n\n#if (defined(GL_NV_SHADOW_SAMPLERS_CUBE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_SHADOW_SAMPLERS_CUBE)) && !defined(REGAL_NO_TYPEDEF_GL_NV_SHADOW_SAMPLERS_CUBE)\n#define REGAL_NO_TYPEDEF_GL_NV_SHADOW_SAMPLERS_CUBE\n#endif\n\n#if (defined(GL_NV_SHADOW_SAMPLERS_CUBE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_SHADOW_SAMPLERS_CUBE)) && !defined(REGAL_NO_NAMESPACE_GL_NV_SHADOW_SAMPLERS_CUBE)\n#define REGAL_NO_NAMESPACE_GL_NV_SHADOW_SAMPLERS_CUBE\n#endif\n\n#if (defined(GL_NV_SHADOW_SAMPLERS_CUBE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_SHADOW_SAMPLERS_CUBE)) && !defined(REGAL_NO_PLUGIN_GL_NV_SHADOW_SAMPLERS_CUBE)\n#define REGAL_NO_PLUGIN_GL_NV_SHADOW_SAMPLERS_CUBE\n#endif\n\n#if (defined(GL_NV_SHADOW_SAMPLERS_CUBE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_SHADOW_SAMPLERS_CUBE)) && !defined(REGAL_NO_DECLARATION_GL_NV_SHADOW_SAMPLERS_CUBE)\n#define REGAL_NO_DECLARATION_GL_NV_SHADOW_SAMPLERS_CUBE\n#endif\n\n#ifndef GL_NV_shadow_samplers_cube\n#define GL_NV_shadow_samplers_cube 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_SHADOW_SAMPLERS_CUBE\n#define GL_SAMPLER_CUBE_SHADOW_NV 0x8dc5 /* 36293 */\n#endif\n\n/**\n ** GL_NV_tessellation_program5\n **/\n\n#if (defined(GL_NV_TESSELLATION_PROGRAM5) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_TESSELLATION_PROGRAM5)) && !defined(REGAL_NO_ENUM_GL_NV_TESSELLATION_PROGRAM5)\n#define REGAL_NO_ENUM_GL_NV_TESSELLATION_PROGRAM5\n#endif\n\n#if (defined(GL_NV_TESSELLATION_PROGRAM5) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_TESSELLATION_PROGRAM5)) && !defined(REGAL_NO_TYPEDEF_GL_NV_TESSELLATION_PROGRAM5)\n#define REGAL_NO_TYPEDEF_GL_NV_TESSELLATION_PROGRAM5\n#endif\n\n#if (defined(GL_NV_TESSELLATION_PROGRAM5) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_TESSELLATION_PROGRAM5)) && !defined(REGAL_NO_NAMESPACE_GL_NV_TESSELLATION_PROGRAM5)\n#define REGAL_NO_NAMESPACE_GL_NV_TESSELLATION_PROGRAM5\n#endif\n\n#if (defined(GL_NV_TESSELLATION_PROGRAM5) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_TESSELLATION_PROGRAM5)) && !defined(REGAL_NO_PLUGIN_GL_NV_TESSELLATION_PROGRAM5)\n#define REGAL_NO_PLUGIN_GL_NV_TESSELLATION_PROGRAM5\n#endif\n\n#if (defined(GL_NV_TESSELLATION_PROGRAM5) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_TESSELLATION_PROGRAM5)) && !defined(REGAL_NO_DECLARATION_GL_NV_TESSELLATION_PROGRAM5)\n#define REGAL_NO_DECLARATION_GL_NV_TESSELLATION_PROGRAM5\n#endif\n\n#ifndef GL_NV_tessellation_program5\n#define GL_NV_tessellation_program5 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_TESSELLATION_PROGRAM5\n#define GL_MAX_PROGRAM_PATCH_ATTRIBS_NV                0x86d8     /* 34520 */\n#define GL_TESS_CONTROL_PROGRAM_NV                     0x891e     /* 35102 */\n#define GL_TESS_EVALUATION_PROGRAM_NV                  0x891f     /* 35103 */\n#define GL_TESS_CONTROL_PROGRAM_PARAMETER_BUFFER_NV    0x8c74     /* 35956 */\n#define GL_TESS_EVALUATION_PROGRAM_PARAMETER_BUFFER_NV 0x8c75     /* 35957 */\n#endif\n\n/**\n ** GL_NV_texgen_emboss\n **/\n\n#if (defined(GL_NV_TEXGEN_EMBOSS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_TEXGEN_EMBOSS)) && !defined(REGAL_NO_ENUM_GL_NV_TEXGEN_EMBOSS)\n#define REGAL_NO_ENUM_GL_NV_TEXGEN_EMBOSS\n#endif\n\n#if (defined(GL_NV_TEXGEN_EMBOSS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_TEXGEN_EMBOSS)) && !defined(REGAL_NO_TYPEDEF_GL_NV_TEXGEN_EMBOSS)\n#define REGAL_NO_TYPEDEF_GL_NV_TEXGEN_EMBOSS\n#endif\n\n#if (defined(GL_NV_TEXGEN_EMBOSS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_TEXGEN_EMBOSS)) && !defined(REGAL_NO_NAMESPACE_GL_NV_TEXGEN_EMBOSS)\n#define REGAL_NO_NAMESPACE_GL_NV_TEXGEN_EMBOSS\n#endif\n\n#if (defined(GL_NV_TEXGEN_EMBOSS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_TEXGEN_EMBOSS)) && !defined(REGAL_NO_PLUGIN_GL_NV_TEXGEN_EMBOSS)\n#define REGAL_NO_PLUGIN_GL_NV_TEXGEN_EMBOSS\n#endif\n\n#if (defined(GL_NV_TEXGEN_EMBOSS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_TEXGEN_EMBOSS)) && !defined(REGAL_NO_DECLARATION_GL_NV_TEXGEN_EMBOSS)\n#define REGAL_NO_DECLARATION_GL_NV_TEXGEN_EMBOSS\n#endif\n\n#ifndef GL_NV_texgen_emboss\n#define GL_NV_texgen_emboss 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_TEXGEN_EMBOSS\n#define GL_EMBOSS_LIGHT_NV    0x855d     /* 34141 */\n#define GL_EMBOSS_CONSTANT_NV 0x855e     /* 34142 */\n#define GL_EMBOSS_MAP_NV      0x855f     /* 34143 */\n#endif\n\n/**\n ** GL_NV_texgen_reflection\n **/\n\n#if (defined(GL_NV_TEXGEN_REFLECTION) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_TEXGEN_REFLECTION)) && !defined(REGAL_NO_ENUM_GL_NV_TEXGEN_REFLECTION)\n#define REGAL_NO_ENUM_GL_NV_TEXGEN_REFLECTION\n#endif\n\n#if (defined(GL_NV_TEXGEN_REFLECTION) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_TEXGEN_REFLECTION)) && !defined(REGAL_NO_TYPEDEF_GL_NV_TEXGEN_REFLECTION)\n#define REGAL_NO_TYPEDEF_GL_NV_TEXGEN_REFLECTION\n#endif\n\n#if (defined(GL_NV_TEXGEN_REFLECTION) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_TEXGEN_REFLECTION)) && !defined(REGAL_NO_NAMESPACE_GL_NV_TEXGEN_REFLECTION)\n#define REGAL_NO_NAMESPACE_GL_NV_TEXGEN_REFLECTION\n#endif\n\n#if (defined(GL_NV_TEXGEN_REFLECTION) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_TEXGEN_REFLECTION)) && !defined(REGAL_NO_PLUGIN_GL_NV_TEXGEN_REFLECTION)\n#define REGAL_NO_PLUGIN_GL_NV_TEXGEN_REFLECTION\n#endif\n\n#if (defined(GL_NV_TEXGEN_REFLECTION) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_TEXGEN_REFLECTION)) && !defined(REGAL_NO_DECLARATION_GL_NV_TEXGEN_REFLECTION)\n#define REGAL_NO_DECLARATION_GL_NV_TEXGEN_REFLECTION\n#endif\n\n#ifndef GL_NV_texgen_reflection\n#define GL_NV_texgen_reflection 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_TEXGEN_REFLECTION\n#define GL_NORMAL_MAP_NV     0x8511     /* 34065 */\n#define GL_REFLECTION_MAP_NV 0x8512     /* 34066 */\n#endif\n\n/**\n ** GL_NV_texture_array\n **/\n\n#if (defined(GL_NV_TEXTURE_ARRAY) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_TEXTURE_ARRAY)) && !defined(REGAL_NO_ENUM_GL_NV_TEXTURE_ARRAY)\n#define REGAL_NO_ENUM_GL_NV_TEXTURE_ARRAY\n#endif\n\n#if (defined(GL_NV_TEXTURE_ARRAY) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_TEXTURE_ARRAY)) && !defined(REGAL_NO_TYPEDEF_GL_NV_TEXTURE_ARRAY)\n#define REGAL_NO_TYPEDEF_GL_NV_TEXTURE_ARRAY\n#endif\n\n#if (defined(GL_NV_TEXTURE_ARRAY) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_TEXTURE_ARRAY)) && !defined(REGAL_NO_NAMESPACE_GL_NV_TEXTURE_ARRAY)\n#define REGAL_NO_NAMESPACE_GL_NV_TEXTURE_ARRAY\n#endif\n\n#if (defined(GL_NV_TEXTURE_ARRAY) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_TEXTURE_ARRAY)) && !defined(REGAL_NO_PLUGIN_GL_NV_TEXTURE_ARRAY)\n#define REGAL_NO_PLUGIN_GL_NV_TEXTURE_ARRAY\n#endif\n\n#if (defined(GL_NV_TEXTURE_ARRAY) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_TEXTURE_ARRAY)) && !defined(REGAL_NO_DECLARATION_GL_NV_TEXTURE_ARRAY)\n#define REGAL_NO_DECLARATION_GL_NV_TEXTURE_ARRAY\n#endif\n\n#ifndef GL_NV_texture_array\n#define GL_NV_texture_array 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_TEXTURE_ARRAY\n#define GL_UNPACK_SKIP_IMAGES_NV                   0x806d     /* 32877 */\n#define GL_UNPACK_IMAGE_HEIGHT_NV                  0x806e     /* 32878 */\n#define GL_MAX_ARRAY_TEXTURE_LAYERS_NV             0x88ff     /* 35071 */\n#define GL_TEXTURE_2D_ARRAY_NV                     0x8c1a     /* 35866 */\n#define GL_TEXTURE_BINDING_2D_ARRAY_NV             0x8c1d     /* 35869 */\n#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_NV 0x8cd4     /* 36052 */\n#define GL_SAMPLER_2D_ARRAY_NV                     0x8dc1     /* 36289 */\n#endif\n\n/**\n ** GL_NV_texture_barrier\n **/\n\n#if (defined(GL_NV_TEXTURE_BARRIER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_TEXTURE_BARRIER)) && !defined(REGAL_NO_ENUM_GL_NV_TEXTURE_BARRIER)\n#define REGAL_NO_ENUM_GL_NV_TEXTURE_BARRIER\n#endif\n\n#if (defined(GL_NV_TEXTURE_BARRIER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_TEXTURE_BARRIER)) && !defined(REGAL_NO_TYPEDEF_GL_NV_TEXTURE_BARRIER)\n#define REGAL_NO_TYPEDEF_GL_NV_TEXTURE_BARRIER\n#endif\n\n#if (defined(GL_NV_TEXTURE_BARRIER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_TEXTURE_BARRIER)) && !defined(REGAL_NO_NAMESPACE_GL_NV_TEXTURE_BARRIER)\n#define REGAL_NO_NAMESPACE_GL_NV_TEXTURE_BARRIER\n#endif\n\n#if (defined(GL_NV_TEXTURE_BARRIER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_TEXTURE_BARRIER)) && !defined(REGAL_NO_PLUGIN_GL_NV_TEXTURE_BARRIER)\n#define REGAL_NO_PLUGIN_GL_NV_TEXTURE_BARRIER\n#endif\n\n#if (defined(GL_NV_TEXTURE_BARRIER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_TEXTURE_BARRIER)) && !defined(REGAL_NO_DECLARATION_GL_NV_TEXTURE_BARRIER)\n#define REGAL_NO_DECLARATION_GL_NV_TEXTURE_BARRIER\n#endif\n\n#ifndef GL_NV_texture_barrier\n#define GL_NV_texture_barrier 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_NV_TEXTURE_BARRIER\ntypedef void (REGAL_CALL *PFNGLTEXTUREBARRIERNVPROC)(void);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_NV_TEXTURE_BARRIER\n#define glTextureBarrierNV                  rglTextureBarrierNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_NV_TEXTURE_BARRIER\nREGAL_DECL void REGAL_CALL glTextureBarrierNV(void);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_NV_TEXTURE_BARRIER\nREGAL_DECL void REGAL_CALL plugin_glTextureBarrierNV(void);\n#endif\n\n/**\n ** GL_NV_texture_border_clamp\n **/\n\n#if (defined(GL_NV_TEXTURE_BORDER_CLAMP) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_TEXTURE_BORDER_CLAMP)) && !defined(REGAL_NO_ENUM_GL_NV_TEXTURE_BORDER_CLAMP)\n#define REGAL_NO_ENUM_GL_NV_TEXTURE_BORDER_CLAMP\n#endif\n\n#if (defined(GL_NV_TEXTURE_BORDER_CLAMP) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_TEXTURE_BORDER_CLAMP)) && !defined(REGAL_NO_TYPEDEF_GL_NV_TEXTURE_BORDER_CLAMP)\n#define REGAL_NO_TYPEDEF_GL_NV_TEXTURE_BORDER_CLAMP\n#endif\n\n#if (defined(GL_NV_TEXTURE_BORDER_CLAMP) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_TEXTURE_BORDER_CLAMP)) && !defined(REGAL_NO_NAMESPACE_GL_NV_TEXTURE_BORDER_CLAMP)\n#define REGAL_NO_NAMESPACE_GL_NV_TEXTURE_BORDER_CLAMP\n#endif\n\n#if (defined(GL_NV_TEXTURE_BORDER_CLAMP) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_TEXTURE_BORDER_CLAMP)) && !defined(REGAL_NO_PLUGIN_GL_NV_TEXTURE_BORDER_CLAMP)\n#define REGAL_NO_PLUGIN_GL_NV_TEXTURE_BORDER_CLAMP\n#endif\n\n#if (defined(GL_NV_TEXTURE_BORDER_CLAMP) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_TEXTURE_BORDER_CLAMP)) && !defined(REGAL_NO_DECLARATION_GL_NV_TEXTURE_BORDER_CLAMP)\n#define REGAL_NO_DECLARATION_GL_NV_TEXTURE_BORDER_CLAMP\n#endif\n\n#ifndef GL_NV_texture_border_clamp\n#define GL_NV_texture_border_clamp 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_TEXTURE_BORDER_CLAMP\n#define GL_TEXTURE_BORDER_COLOR_NV 0x1004     /* 4100 */\n#define GL_CLAMP_TO_BORDER_NV      0x812d     /* 33069 */\n#endif\n\n/**\n ** GL_NV_texture_compression_latc\n **/\n\n#if (defined(GL_NV_TEXTURE_COMPRESSION_LATC) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_TEXTURE_COMPRESSION_LATC)) && !defined(REGAL_NO_ENUM_GL_NV_TEXTURE_COMPRESSION_LATC)\n#define REGAL_NO_ENUM_GL_NV_TEXTURE_COMPRESSION_LATC\n#endif\n\n#if (defined(GL_NV_TEXTURE_COMPRESSION_LATC) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_TEXTURE_COMPRESSION_LATC)) && !defined(REGAL_NO_TYPEDEF_GL_NV_TEXTURE_COMPRESSION_LATC)\n#define REGAL_NO_TYPEDEF_GL_NV_TEXTURE_COMPRESSION_LATC\n#endif\n\n#if (defined(GL_NV_TEXTURE_COMPRESSION_LATC) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_TEXTURE_COMPRESSION_LATC)) && !defined(REGAL_NO_NAMESPACE_GL_NV_TEXTURE_COMPRESSION_LATC)\n#define REGAL_NO_NAMESPACE_GL_NV_TEXTURE_COMPRESSION_LATC\n#endif\n\n#if (defined(GL_NV_TEXTURE_COMPRESSION_LATC) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_TEXTURE_COMPRESSION_LATC)) && !defined(REGAL_NO_PLUGIN_GL_NV_TEXTURE_COMPRESSION_LATC)\n#define REGAL_NO_PLUGIN_GL_NV_TEXTURE_COMPRESSION_LATC\n#endif\n\n#if (defined(GL_NV_TEXTURE_COMPRESSION_LATC) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_TEXTURE_COMPRESSION_LATC)) && !defined(REGAL_NO_DECLARATION_GL_NV_TEXTURE_COMPRESSION_LATC)\n#define REGAL_NO_DECLARATION_GL_NV_TEXTURE_COMPRESSION_LATC\n#endif\n\n#ifndef GL_NV_texture_compression_latc\n#define GL_NV_texture_compression_latc 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_TEXTURE_COMPRESSION_LATC\n#define GL_COMPRESSED_LUMINANCE_LATC1_NV              0x8c70     /* 35952 */\n#define GL_COMPRESSED_SIGNED_LUMINANCE_LATC1_NV       0x8c71     /* 35953 */\n#define GL_COMPRESSED_LUMINANCE_ALPHA_LATC2_NV        0x8c72     /* 35954 */\n#define GL_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_NV 0x8c73     /* 35955 */\n#endif\n\n/**\n ** GL_NV_texture_compression_s3tc\n **/\n\n#if (defined(GL_NV_TEXTURE_COMPRESSION_S3TC) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_TEXTURE_COMPRESSION_S3TC)) && !defined(REGAL_NO_ENUM_GL_NV_TEXTURE_COMPRESSION_S3TC)\n#define REGAL_NO_ENUM_GL_NV_TEXTURE_COMPRESSION_S3TC\n#endif\n\n#if (defined(GL_NV_TEXTURE_COMPRESSION_S3TC) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_TEXTURE_COMPRESSION_S3TC)) && !defined(REGAL_NO_TYPEDEF_GL_NV_TEXTURE_COMPRESSION_S3TC)\n#define REGAL_NO_TYPEDEF_GL_NV_TEXTURE_COMPRESSION_S3TC\n#endif\n\n#if (defined(GL_NV_TEXTURE_COMPRESSION_S3TC) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_TEXTURE_COMPRESSION_S3TC)) && !defined(REGAL_NO_NAMESPACE_GL_NV_TEXTURE_COMPRESSION_S3TC)\n#define REGAL_NO_NAMESPACE_GL_NV_TEXTURE_COMPRESSION_S3TC\n#endif\n\n#if (defined(GL_NV_TEXTURE_COMPRESSION_S3TC) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_TEXTURE_COMPRESSION_S3TC)) && !defined(REGAL_NO_PLUGIN_GL_NV_TEXTURE_COMPRESSION_S3TC)\n#define REGAL_NO_PLUGIN_GL_NV_TEXTURE_COMPRESSION_S3TC\n#endif\n\n#if (defined(GL_NV_TEXTURE_COMPRESSION_S3TC) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_TEXTURE_COMPRESSION_S3TC)) && !defined(REGAL_NO_DECLARATION_GL_NV_TEXTURE_COMPRESSION_S3TC)\n#define REGAL_NO_DECLARATION_GL_NV_TEXTURE_COMPRESSION_S3TC\n#endif\n\n#ifndef GL_NV_texture_compression_s3tc\n#define GL_NV_texture_compression_s3tc 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_TEXTURE_COMPRESSION_S3TC\n#define GL_COMPRESSED_RGB_S3TC_DXT1_NV  0x83f0     /* 33776 */\n#define GL_COMPRESSED_RGBA_S3TC_DXT1_NV 0x83f1     /* 33777 */\n#define GL_COMPRESSED_RGBA_S3TC_DXT3_NV 0x83f2     /* 33778 */\n#define GL_COMPRESSED_RGBA_S3TC_DXT5_NV 0x83f3     /* 33779 */\n#endif\n\n/**\n ** GL_NV_texture_env_combine4\n **/\n\n#if (defined(GL_NV_TEXTURE_ENV_COMBINE4) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_TEXTURE_ENV_COMBINE4)) && !defined(REGAL_NO_ENUM_GL_NV_TEXTURE_ENV_COMBINE4)\n#define REGAL_NO_ENUM_GL_NV_TEXTURE_ENV_COMBINE4\n#endif\n\n#if (defined(GL_NV_TEXTURE_ENV_COMBINE4) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_TEXTURE_ENV_COMBINE4)) && !defined(REGAL_NO_TYPEDEF_GL_NV_TEXTURE_ENV_COMBINE4)\n#define REGAL_NO_TYPEDEF_GL_NV_TEXTURE_ENV_COMBINE4\n#endif\n\n#if (defined(GL_NV_TEXTURE_ENV_COMBINE4) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_TEXTURE_ENV_COMBINE4)) && !defined(REGAL_NO_NAMESPACE_GL_NV_TEXTURE_ENV_COMBINE4)\n#define REGAL_NO_NAMESPACE_GL_NV_TEXTURE_ENV_COMBINE4\n#endif\n\n#if (defined(GL_NV_TEXTURE_ENV_COMBINE4) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_TEXTURE_ENV_COMBINE4)) && !defined(REGAL_NO_PLUGIN_GL_NV_TEXTURE_ENV_COMBINE4)\n#define REGAL_NO_PLUGIN_GL_NV_TEXTURE_ENV_COMBINE4\n#endif\n\n#if (defined(GL_NV_TEXTURE_ENV_COMBINE4) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_TEXTURE_ENV_COMBINE4)) && !defined(REGAL_NO_DECLARATION_GL_NV_TEXTURE_ENV_COMBINE4)\n#define REGAL_NO_DECLARATION_GL_NV_TEXTURE_ENV_COMBINE4\n#endif\n\n#ifndef GL_NV_texture_env_combine4\n#define GL_NV_texture_env_combine4 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_TEXTURE_ENV_COMBINE4\n#define GL_COMBINE4_NV       0x8503     /* 34051 */\n#define GL_SOURCE3_RGB_NV    0x8583     /* 34179 */\n#define GL_SOURCE3_ALPHA_NV  0x858b     /* 34187 */\n#define GL_OPERAND3_RGB_NV   0x8593     /* 34195 */\n#define GL_OPERAND3_ALPHA_NV 0x859b     /* 34203 */\n#endif\n\n/**\n ** GL_NV_texture_expand_normal\n **/\n\n#if (defined(GL_NV_TEXTURE_EXPAND_NORMAL) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_TEXTURE_EXPAND_NORMAL)) && !defined(REGAL_NO_ENUM_GL_NV_TEXTURE_EXPAND_NORMAL)\n#define REGAL_NO_ENUM_GL_NV_TEXTURE_EXPAND_NORMAL\n#endif\n\n#if (defined(GL_NV_TEXTURE_EXPAND_NORMAL) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_TEXTURE_EXPAND_NORMAL)) && !defined(REGAL_NO_TYPEDEF_GL_NV_TEXTURE_EXPAND_NORMAL)\n#define REGAL_NO_TYPEDEF_GL_NV_TEXTURE_EXPAND_NORMAL\n#endif\n\n#if (defined(GL_NV_TEXTURE_EXPAND_NORMAL) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_TEXTURE_EXPAND_NORMAL)) && !defined(REGAL_NO_NAMESPACE_GL_NV_TEXTURE_EXPAND_NORMAL)\n#define REGAL_NO_NAMESPACE_GL_NV_TEXTURE_EXPAND_NORMAL\n#endif\n\n#if (defined(GL_NV_TEXTURE_EXPAND_NORMAL) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_TEXTURE_EXPAND_NORMAL)) && !defined(REGAL_NO_PLUGIN_GL_NV_TEXTURE_EXPAND_NORMAL)\n#define REGAL_NO_PLUGIN_GL_NV_TEXTURE_EXPAND_NORMAL\n#endif\n\n#if (defined(GL_NV_TEXTURE_EXPAND_NORMAL) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_TEXTURE_EXPAND_NORMAL)) && !defined(REGAL_NO_DECLARATION_GL_NV_TEXTURE_EXPAND_NORMAL)\n#define REGAL_NO_DECLARATION_GL_NV_TEXTURE_EXPAND_NORMAL\n#endif\n\n#ifndef GL_NV_texture_expand_normal\n#define GL_NV_texture_expand_normal 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_TEXTURE_EXPAND_NORMAL\n#define GL_TEXTURE_UNSIGNED_REMAP_MODE_NV 0x888f /* 34959 */\n#endif\n\n/**\n ** GL_NV_texture_multisample\n **/\n\n#if (defined(GL_NV_TEXTURE_MULTISAMPLE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_TEXTURE_MULTISAMPLE)) && !defined(REGAL_NO_ENUM_GL_NV_TEXTURE_MULTISAMPLE)\n#define REGAL_NO_ENUM_GL_NV_TEXTURE_MULTISAMPLE\n#endif\n\n#if (defined(GL_NV_TEXTURE_MULTISAMPLE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_TEXTURE_MULTISAMPLE)) && !defined(REGAL_NO_TYPEDEF_GL_NV_TEXTURE_MULTISAMPLE)\n#define REGAL_NO_TYPEDEF_GL_NV_TEXTURE_MULTISAMPLE\n#endif\n\n#if (defined(GL_NV_TEXTURE_MULTISAMPLE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_TEXTURE_MULTISAMPLE)) && !defined(REGAL_NO_NAMESPACE_GL_NV_TEXTURE_MULTISAMPLE)\n#define REGAL_NO_NAMESPACE_GL_NV_TEXTURE_MULTISAMPLE\n#endif\n\n#if (defined(GL_NV_TEXTURE_MULTISAMPLE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_TEXTURE_MULTISAMPLE)) && !defined(REGAL_NO_PLUGIN_GL_NV_TEXTURE_MULTISAMPLE)\n#define REGAL_NO_PLUGIN_GL_NV_TEXTURE_MULTISAMPLE\n#endif\n\n#if (defined(GL_NV_TEXTURE_MULTISAMPLE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_TEXTURE_MULTISAMPLE)) && !defined(REGAL_NO_DECLARATION_GL_NV_TEXTURE_MULTISAMPLE)\n#define REGAL_NO_DECLARATION_GL_NV_TEXTURE_MULTISAMPLE\n#endif\n\n#ifndef GL_NV_texture_multisample\n#define GL_NV_texture_multisample 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_TEXTURE_MULTISAMPLE\n#define GL_TEXTURE_COVERAGE_SAMPLES_NV 0x9045     /* 36933 */\n#define GL_TEXTURE_COLOR_SAMPLES_NV    0x9046     /* 36934 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_NV_TEXTURE_MULTISAMPLE\ntypedef void (REGAL_CALL *PFNGLTEXIMAGE2DMULTISAMPLECOVERAGENVPROC)(GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations);\ntypedef void (REGAL_CALL *PFNGLTEXIMAGE3DMULTISAMPLECOVERAGENVPROC)(GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations);\ntypedef void (REGAL_CALL *PFNGLTEXTUREIMAGE2DMULTISAMPLECOVERAGENVPROC)(GLuint texture, GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations);\ntypedef void (REGAL_CALL *PFNGLTEXTUREIMAGE2DMULTISAMPLENVPROC)(GLuint texture, GLenum target, GLsizei samples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations);\ntypedef void (REGAL_CALL *PFNGLTEXTUREIMAGE3DMULTISAMPLECOVERAGENVPROC)(GLuint texture, GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations);\ntypedef void (REGAL_CALL *PFNGLTEXTUREIMAGE3DMULTISAMPLENVPROC)(GLuint texture, GLenum target, GLsizei samples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_NV_TEXTURE_MULTISAMPLE\n#define glTexImage2DMultisampleCoverageNV   rglTexImage2DMultisampleCoverageNV\n#define glTexImage3DMultisampleCoverageNV   rglTexImage3DMultisampleCoverageNV\n#define glTextureImage2DMultisampleCoverageNV rglTextureImage2DMultisampleCoverageNV\n#define glTextureImage2DMultisampleNV       rglTextureImage2DMultisampleNV\n#define glTextureImage3DMultisampleCoverageNV rglTextureImage3DMultisampleCoverageNV\n#define glTextureImage3DMultisampleNV       rglTextureImage3DMultisampleNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_NV_TEXTURE_MULTISAMPLE\nREGAL_DECL void REGAL_CALL glTexImage2DMultisampleCoverageNV(GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations);\nREGAL_DECL void REGAL_CALL glTexImage3DMultisampleCoverageNV(GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations);\nREGAL_DECL void REGAL_CALL glTextureImage2DMultisampleCoverageNV(GLuint texture, GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations);\nREGAL_DECL void REGAL_CALL glTextureImage2DMultisampleNV(GLuint texture, GLenum target, GLsizei samples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations);\nREGAL_DECL void REGAL_CALL glTextureImage3DMultisampleCoverageNV(GLuint texture, GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations);\nREGAL_DECL void REGAL_CALL glTextureImage3DMultisampleNV(GLuint texture, GLenum target, GLsizei samples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_NV_TEXTURE_MULTISAMPLE\nREGAL_DECL void REGAL_CALL plugin_glTexImage2DMultisampleCoverageNV(GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations);\nREGAL_DECL void REGAL_CALL plugin_glTexImage3DMultisampleCoverageNV(GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations);\nREGAL_DECL void REGAL_CALL plugin_glTextureImage2DMultisampleCoverageNV(GLuint texture, GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations);\nREGAL_DECL void REGAL_CALL plugin_glTextureImage2DMultisampleNV(GLuint texture, GLenum target, GLsizei samples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations);\nREGAL_DECL void REGAL_CALL plugin_glTextureImage3DMultisampleCoverageNV(GLuint texture, GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations);\nREGAL_DECL void REGAL_CALL plugin_glTextureImage3DMultisampleNV(GLuint texture, GLenum target, GLsizei samples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations);\n#endif\n\n/**\n ** GL_NV_texture_rectangle\n **/\n\n#if (defined(GL_NV_TEXTURE_RECTANGLE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_TEXTURE_RECTANGLE)) && !defined(REGAL_NO_ENUM_GL_NV_TEXTURE_RECTANGLE)\n#define REGAL_NO_ENUM_GL_NV_TEXTURE_RECTANGLE\n#endif\n\n#if (defined(GL_NV_TEXTURE_RECTANGLE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_TEXTURE_RECTANGLE)) && !defined(REGAL_NO_TYPEDEF_GL_NV_TEXTURE_RECTANGLE)\n#define REGAL_NO_TYPEDEF_GL_NV_TEXTURE_RECTANGLE\n#endif\n\n#if (defined(GL_NV_TEXTURE_RECTANGLE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_TEXTURE_RECTANGLE)) && !defined(REGAL_NO_NAMESPACE_GL_NV_TEXTURE_RECTANGLE)\n#define REGAL_NO_NAMESPACE_GL_NV_TEXTURE_RECTANGLE\n#endif\n\n#if (defined(GL_NV_TEXTURE_RECTANGLE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_TEXTURE_RECTANGLE)) && !defined(REGAL_NO_PLUGIN_GL_NV_TEXTURE_RECTANGLE)\n#define REGAL_NO_PLUGIN_GL_NV_TEXTURE_RECTANGLE\n#endif\n\n#if (defined(GL_NV_TEXTURE_RECTANGLE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_TEXTURE_RECTANGLE)) && !defined(REGAL_NO_DECLARATION_GL_NV_TEXTURE_RECTANGLE)\n#define REGAL_NO_DECLARATION_GL_NV_TEXTURE_RECTANGLE\n#endif\n\n#ifndef GL_NV_texture_rectangle\n#define GL_NV_texture_rectangle 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_TEXTURE_RECTANGLE\n#define GL_TEXTURE_RECTANGLE_NV          0x84f5     /* 34037 */\n#define GL_TEXTURE_BINDING_RECTANGLE_NV  0x84f6     /* 34038 */\n#define GL_PROXY_TEXTURE_RECTANGLE_NV    0x84f7     /* 34039 */\n#define GL_MAX_RECTANGLE_TEXTURE_SIZE_NV 0x84f8     /* 34040 */\n#endif\n\n/**\n ** GL_NV_texture_shader\n **/\n\n#if (defined(GL_NV_TEXTURE_SHADER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_TEXTURE_SHADER)) && !defined(REGAL_NO_ENUM_GL_NV_TEXTURE_SHADER)\n#define REGAL_NO_ENUM_GL_NV_TEXTURE_SHADER\n#endif\n\n#if (defined(GL_NV_TEXTURE_SHADER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_TEXTURE_SHADER)) && !defined(REGAL_NO_TYPEDEF_GL_NV_TEXTURE_SHADER)\n#define REGAL_NO_TYPEDEF_GL_NV_TEXTURE_SHADER\n#endif\n\n#if (defined(GL_NV_TEXTURE_SHADER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_TEXTURE_SHADER)) && !defined(REGAL_NO_NAMESPACE_GL_NV_TEXTURE_SHADER)\n#define REGAL_NO_NAMESPACE_GL_NV_TEXTURE_SHADER\n#endif\n\n#if (defined(GL_NV_TEXTURE_SHADER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_TEXTURE_SHADER)) && !defined(REGAL_NO_PLUGIN_GL_NV_TEXTURE_SHADER)\n#define REGAL_NO_PLUGIN_GL_NV_TEXTURE_SHADER\n#endif\n\n#if (defined(GL_NV_TEXTURE_SHADER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_TEXTURE_SHADER)) && !defined(REGAL_NO_DECLARATION_GL_NV_TEXTURE_SHADER)\n#define REGAL_NO_DECLARATION_GL_NV_TEXTURE_SHADER\n#endif\n\n#ifndef GL_NV_texture_shader\n#define GL_NV_texture_shader 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_TEXTURE_SHADER\n#define GL_OFFSET_TEXTURE_RECTANGLE_NV               0x864c     /* 34380 */\n#define GL_OFFSET_TEXTURE_RECTANGLE_SCALE_NV         0x864d     /* 34381 */\n#define GL_DOT_PRODUCT_TEXTURE_RECTANGLE_NV          0x864e     /* 34382 */\n#define GL_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV      0x86d9     /* 34521 */\n#define GL_SHADER_CONSISTENT_NV                      0x86dd     /* 34525 */\n#define GL_TEXTURE_SHADER_NV                         0x86de     /* 34526 */\n#define GL_SHADER_OPERATION_NV                       0x86df     /* 34527 */\n#define GL_CULL_MODES_NV                             0x86e0     /* 34528 */\n#define GL_OFFSET_TEXTURE_2D_MATRIX_NV               0x86e1     /* 34529 */\n#define GL_OFFSET_TEXTURE_MATRIX_NV                  0x86e1     /* 34529 */\n#define GL_OFFSET_TEXTURE_2D_SCALE_NV                0x86e2     /* 34530 */\n#define GL_OFFSET_TEXTURE_SCALE_NV                   0x86e2     /* 34530 */\n#define GL_OFFSET_TEXTURE_2D_BIAS_NV                 0x86e3     /* 34531 */\n#define GL_OFFSET_TEXTURE_BIAS_NV                    0x86e3     /* 34531 */\n#define GL_PREVIOUS_TEXTURE_INPUT_NV                 0x86e4     /* 34532 */\n#define GL_CONST_EYE_NV                              0x86e5     /* 34533 */\n#define GL_PASS_THROUGH_NV                           0x86e6     /* 34534 */\n#define GL_CULL_FRAGMENT_NV                          0x86e7     /* 34535 */\n#define GL_OFFSET_TEXTURE_2D_NV                      0x86e8     /* 34536 */\n#define GL_DEPENDENT_AR_TEXTURE_2D_NV                0x86e9     /* 34537 */\n#define GL_DEPENDENT_GB_TEXTURE_2D_NV                0x86ea     /* 34538 */\n#define GL_DOT_PRODUCT_NV                            0x86ec     /* 34540 */\n#define GL_DOT_PRODUCT_DEPTH_REPLACE_NV              0x86ed     /* 34541 */\n#define GL_DOT_PRODUCT_TEXTURE_2D_NV                 0x86ee     /* 34542 */\n#define GL_DOT_PRODUCT_TEXTURE_CUBE_MAP_NV           0x86f0     /* 34544 */\n#define GL_DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV           0x86f1     /* 34545 */\n#define GL_DOT_PRODUCT_REFLECT_CUBE_MAP_NV           0x86f2     /* 34546 */\n#define GL_DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV 0x86f3     /* 34547 */\n#define GL_HI_SCALE_NV                               0x870e     /* 34574 */\n#define GL_LO_SCALE_NV                               0x870f     /* 34575 */\n#define GL_DS_SCALE_NV                               0x8710     /* 34576 */\n#define GL_DT_SCALE_NV                               0x8711     /* 34577 */\n#define GL_MAGNITUDE_SCALE_NV                        0x8712     /* 34578 */\n#define GL_VIBRANCE_SCALE_NV                         0x8713     /* 34579 */\n#define GL_HI_BIAS_NV                                0x8714     /* 34580 */\n#define GL_LO_BIAS_NV                                0x8715     /* 34581 */\n#define GL_DS_BIAS_NV                                0x8716     /* 34582 */\n#define GL_DT_BIAS_NV                                0x8717     /* 34583 */\n#define GL_MAGNITUDE_BIAS_NV                         0x8718     /* 34584 */\n#define GL_VIBRANCE_BIAS_NV                          0x8719     /* 34585 */\n#define GL_TEXTURE_BORDER_VALUES_NV                  0x871a     /* 34586 */\n#define GL_TEXTURE_HI_SIZE_NV                        0x871b     /* 34587 */\n#define GL_TEXTURE_LO_SIZE_NV                        0x871c     /* 34588 */\n#define GL_TEXTURE_DS_SIZE_NV                        0x871d     /* 34589 */\n#define GL_TEXTURE_DT_SIZE_NV                        0x871e     /* 34590 */\n#define GL_TEXTURE_MAG_SIZE_NV                       0x871f     /* 34591 */\n#endif\n\n/**\n ** GL_NV_texture_shader2\n **/\n\n#if (defined(GL_NV_TEXTURE_SHADER2) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_TEXTURE_SHADER2)) && !defined(REGAL_NO_ENUM_GL_NV_TEXTURE_SHADER2)\n#define REGAL_NO_ENUM_GL_NV_TEXTURE_SHADER2\n#endif\n\n#if (defined(GL_NV_TEXTURE_SHADER2) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_TEXTURE_SHADER2)) && !defined(REGAL_NO_TYPEDEF_GL_NV_TEXTURE_SHADER2)\n#define REGAL_NO_TYPEDEF_GL_NV_TEXTURE_SHADER2\n#endif\n\n#if (defined(GL_NV_TEXTURE_SHADER2) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_TEXTURE_SHADER2)) && !defined(REGAL_NO_NAMESPACE_GL_NV_TEXTURE_SHADER2)\n#define REGAL_NO_NAMESPACE_GL_NV_TEXTURE_SHADER2\n#endif\n\n#if (defined(GL_NV_TEXTURE_SHADER2) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_TEXTURE_SHADER2)) && !defined(REGAL_NO_PLUGIN_GL_NV_TEXTURE_SHADER2)\n#define REGAL_NO_PLUGIN_GL_NV_TEXTURE_SHADER2\n#endif\n\n#if (defined(GL_NV_TEXTURE_SHADER2) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_TEXTURE_SHADER2)) && !defined(REGAL_NO_DECLARATION_GL_NV_TEXTURE_SHADER2)\n#define REGAL_NO_DECLARATION_GL_NV_TEXTURE_SHADER2\n#endif\n\n#ifndef GL_NV_texture_shader2\n#define GL_NV_texture_shader2 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_TEXTURE_SHADER2\n#define GL_UNSIGNED_INT_S8_S8_8_8_NV      0x86da     /* 34522 */\n#define GL_UNSIGNED_INT_8_8_S8_S8_REV_NV  0x86db     /* 34523 */\n#define GL_DSDT_MAG_INTENSITY_NV          0x86dc     /* 34524 */\n#define GL_DOT_PRODUCT_TEXTURE_3D_NV      0x86ef     /* 34543 */\n#define GL_HILO_NV                        0x86f4     /* 34548 */\n#define GL_DSDT_NV                        0x86f5     /* 34549 */\n#define GL_DSDT_MAG_NV                    0x86f6     /* 34550 */\n#define GL_DSDT_MAG_VIB_NV                0x86f7     /* 34551 */\n#define GL_HILO16_NV                      0x86f8     /* 34552 */\n#define GL_SIGNED_HILO_NV                 0x86f9     /* 34553 */\n#define GL_SIGNED_HILO16_NV               0x86fa     /* 34554 */\n#define GL_SIGNED_RGBA_NV                 0x86fb     /* 34555 */\n#define GL_SIGNED_RGBA8_NV                0x86fc     /* 34556 */\n#define GL_SIGNED_RGB_NV                  0x86fe     /* 34558 */\n#define GL_SIGNED_RGB8_NV                 0x86ff     /* 34559 */\n#define GL_SIGNED_LUMINANCE_NV            0x8701     /* 34561 */\n#define GL_SIGNED_LUMINANCE8_NV           0x8702     /* 34562 */\n#define GL_SIGNED_LUMINANCE_ALPHA_NV      0x8703     /* 34563 */\n#define GL_SIGNED_LUMINANCE8_ALPHA8_NV    0x8704     /* 34564 */\n#define GL_SIGNED_ALPHA_NV                0x8705     /* 34565 */\n#define GL_SIGNED_ALPHA8_NV               0x8706     /* 34566 */\n#define GL_SIGNED_INTENSITY_NV            0x8707     /* 34567 */\n#define GL_SIGNED_INTENSITY8_NV           0x8708     /* 34568 */\n#define GL_DSDT8_NV                       0x8709     /* 34569 */\n#define GL_DSDT8_MAG8_NV                  0x870a     /* 34570 */\n#define GL_DSDT8_MAG8_INTENSITY8_NV       0x870b     /* 34571 */\n#define GL_SIGNED_RGB_UNSIGNED_ALPHA_NV   0x870c     /* 34572 */\n#define GL_SIGNED_RGB8_UNSIGNED_ALPHA8_NV 0x870d     /* 34573 */\n#endif\n\n/**\n ** GL_NV_texture_shader3\n **/\n\n#if (defined(GL_NV_TEXTURE_SHADER3) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_TEXTURE_SHADER3)) && !defined(REGAL_NO_ENUM_GL_NV_TEXTURE_SHADER3)\n#define REGAL_NO_ENUM_GL_NV_TEXTURE_SHADER3\n#endif\n\n#if (defined(GL_NV_TEXTURE_SHADER3) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_TEXTURE_SHADER3)) && !defined(REGAL_NO_TYPEDEF_GL_NV_TEXTURE_SHADER3)\n#define REGAL_NO_TYPEDEF_GL_NV_TEXTURE_SHADER3\n#endif\n\n#if (defined(GL_NV_TEXTURE_SHADER3) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_TEXTURE_SHADER3)) && !defined(REGAL_NO_NAMESPACE_GL_NV_TEXTURE_SHADER3)\n#define REGAL_NO_NAMESPACE_GL_NV_TEXTURE_SHADER3\n#endif\n\n#if (defined(GL_NV_TEXTURE_SHADER3) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_TEXTURE_SHADER3)) && !defined(REGAL_NO_PLUGIN_GL_NV_TEXTURE_SHADER3)\n#define REGAL_NO_PLUGIN_GL_NV_TEXTURE_SHADER3\n#endif\n\n#if (defined(GL_NV_TEXTURE_SHADER3) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_TEXTURE_SHADER3)) && !defined(REGAL_NO_DECLARATION_GL_NV_TEXTURE_SHADER3)\n#define REGAL_NO_DECLARATION_GL_NV_TEXTURE_SHADER3\n#endif\n\n#ifndef GL_NV_texture_shader3\n#define GL_NV_texture_shader3 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_TEXTURE_SHADER3\n#define GL_OFFSET_PROJECTIVE_TEXTURE_2D_NV              0x8850     /* 34896 */\n#define GL_OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV        0x8851     /* 34897 */\n#define GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV       0x8852     /* 34898 */\n#define GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV 0x8853     /* 34899 */\n#define GL_OFFSET_HILO_TEXTURE_2D_NV                    0x8854     /* 34900 */\n#define GL_OFFSET_HILO_TEXTURE_RECTANGLE_NV             0x8855     /* 34901 */\n#define GL_OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV         0x8856     /* 34902 */\n#define GL_OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV  0x8857     /* 34903 */\n#define GL_DEPENDENT_HILO_TEXTURE_2D_NV                 0x8858     /* 34904 */\n#define GL_DEPENDENT_RGB_TEXTURE_3D_NV                  0x8859     /* 34905 */\n#define GL_DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV            0x885a     /* 34906 */\n#define GL_DOT_PRODUCT_PASS_THROUGH_NV                  0x885b     /* 34907 */\n#define GL_DOT_PRODUCT_TEXTURE_1D_NV                    0x885c     /* 34908 */\n#define GL_DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV          0x885d     /* 34909 */\n#define GL_HILO8_NV                                     0x885e     /* 34910 */\n#define GL_SIGNED_HILO8_NV                              0x885f     /* 34911 */\n#define GL_FORCE_BLUE_TO_ONE_NV                         0x8860     /* 34912 */\n#endif\n\n/**\n ** GL_NV_transform_feedback\n **/\n\n#if (defined(GL_NV_TRANSFORM_FEEDBACK) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_TRANSFORM_FEEDBACK)) && !defined(REGAL_NO_ENUM_GL_NV_TRANSFORM_FEEDBACK)\n#define REGAL_NO_ENUM_GL_NV_TRANSFORM_FEEDBACK\n#endif\n\n#if (defined(GL_NV_TRANSFORM_FEEDBACK) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_TRANSFORM_FEEDBACK)) && !defined(REGAL_NO_TYPEDEF_GL_NV_TRANSFORM_FEEDBACK)\n#define REGAL_NO_TYPEDEF_GL_NV_TRANSFORM_FEEDBACK\n#endif\n\n#if (defined(GL_NV_TRANSFORM_FEEDBACK) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_TRANSFORM_FEEDBACK)) && !defined(REGAL_NO_NAMESPACE_GL_NV_TRANSFORM_FEEDBACK)\n#define REGAL_NO_NAMESPACE_GL_NV_TRANSFORM_FEEDBACK\n#endif\n\n#if (defined(GL_NV_TRANSFORM_FEEDBACK) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_TRANSFORM_FEEDBACK)) && !defined(REGAL_NO_PLUGIN_GL_NV_TRANSFORM_FEEDBACK)\n#define REGAL_NO_PLUGIN_GL_NV_TRANSFORM_FEEDBACK\n#endif\n\n#if (defined(GL_NV_TRANSFORM_FEEDBACK) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_TRANSFORM_FEEDBACK)) && !defined(REGAL_NO_DECLARATION_GL_NV_TRANSFORM_FEEDBACK)\n#define REGAL_NO_DECLARATION_GL_NV_TRANSFORM_FEEDBACK\n#endif\n\n#ifndef GL_NV_transform_feedback\n#define GL_NV_transform_feedback 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_TRANSFORM_FEEDBACK\n#define GL_BACK_PRIMARY_COLOR_NV                            0x8c77     /* 35959 */\n#define GL_BACK_SECONDARY_COLOR_NV                          0x8c78     /* 35960 */\n#define GL_TEXTURE_COORD_NV                                 0x8c79     /* 35961 */\n#define GL_CLIP_DISTANCE_NV                                 0x8c7a     /* 35962 */\n#define GL_VERTEX_ID_NV                                     0x8c7b     /* 35963 */\n#define GL_PRIMITIVE_ID_NV                                  0x8c7c     /* 35964 */\n#define GL_GENERIC_ATTRIB_NV                                0x8c7d     /* 35965 */\n#define GL_TRANSFORM_FEEDBACK_ATTRIBS_NV                    0x8c7e     /* 35966 */\n#define GL_TRANSFORM_FEEDBACK_BUFFER_MODE_NV                0x8c7f     /* 35967 */\n#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_NV    0x8c80     /* 35968 */\n#define GL_ACTIVE_VARYINGS_NV                               0x8c81     /* 35969 */\n#define GL_ACTIVE_VARYING_MAX_LENGTH_NV                     0x8c82     /* 35970 */\n#define GL_TRANSFORM_FEEDBACK_VARYINGS_NV                   0x8c83     /* 35971 */\n#define GL_TRANSFORM_FEEDBACK_BUFFER_START_NV               0x8c84     /* 35972 */\n#define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_NV                0x8c85     /* 35973 */\n#define GL_TRANSFORM_FEEDBACK_RECORD_NV                     0x8c86     /* 35974 */\n#define GL_PRIMITIVES_GENERATED_NV                          0x8c87     /* 35975 */\n#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_NV         0x8c88     /* 35976 */\n#define GL_RASTERIZER_DISCARD_NV                            0x8c89     /* 35977 */\n#define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_NV 0x8c8a     /* 35978 */\n#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_NV       0x8c8b     /* 35979 */\n#define GL_INTERLEAVED_ATTRIBS_NV                           0x8c8c     /* 35980 */\n#define GL_SEPARATE_ATTRIBS_NV                              0x8c8d     /* 35981 */\n#define GL_TRANSFORM_FEEDBACK_BUFFER_NV                     0x8c8e     /* 35982 */\n#define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_NV             0x8c8f     /* 35983 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_NV_TRANSFORM_FEEDBACK\ntypedef GLint (REGAL_CALL *PFNGLGETVARYINGLOCATIONNVPROC)(GLuint program, const GLchar *name);\ntypedef void (REGAL_CALL *PFNGLACTIVEVARYINGNVPROC)(GLuint program, const GLchar *name);\ntypedef void (REGAL_CALL *PFNGLBEGINTRANSFORMFEEDBACKNVPROC)(GLenum primitiveMode);\ntypedef void (REGAL_CALL *PFNGLBINDBUFFERBASENVPROC)(GLenum target, GLuint index, GLuint buffer);\ntypedef void (REGAL_CALL *PFNGLBINDBUFFEROFFSETNVPROC)(GLenum target, GLuint index, GLuint buffer, GLintptr offset);\ntypedef void (REGAL_CALL *PFNGLBINDBUFFERRANGENVPROC)(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);\ntypedef void (REGAL_CALL *PFNGLENDTRANSFORMFEEDBACKNVPROC)(void);\ntypedef void (REGAL_CALL *PFNGLGETACTIVEVARYINGNVPROC)(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);\ntypedef void (REGAL_CALL *PFNGLGETTRANSFORMFEEDBACKVARYINGNVPROC)(GLuint program, GLuint index, GLint *location);\ntypedef void (REGAL_CALL *PFNGLTRANSFORMFEEDBACKATTRIBSNVPROC)(GLuint count, const GLint *attribs, GLenum bufferMode);\ntypedef void (REGAL_CALL *PFNGLTRANSFORMFEEDBACKVARYINGSNVPROC)(GLuint program, GLsizei count, const GLint *locations, GLenum bufferMode);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_NV_TRANSFORM_FEEDBACK\n#define glActiveVaryingNV                   rglActiveVaryingNV\n#define glBeginTransformFeedbackNV          rglBeginTransformFeedbackNV\n#define glBindBufferBaseNV                  rglBindBufferBaseNV\n#define glBindBufferOffsetNV                rglBindBufferOffsetNV\n#define glBindBufferRangeNV                 rglBindBufferRangeNV\n#define glEndTransformFeedbackNV            rglEndTransformFeedbackNV\n#define glGetActiveVaryingNV                rglGetActiveVaryingNV\n#define glGetTransformFeedbackVaryingNV     rglGetTransformFeedbackVaryingNV\n#define glGetVaryingLocationNV              rglGetVaryingLocationNV\n#define glTransformFeedbackAttribsNV        rglTransformFeedbackAttribsNV\n#define glTransformFeedbackVaryingsNV       rglTransformFeedbackVaryingsNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_NV_TRANSFORM_FEEDBACK\nREGAL_DECL GLint REGAL_CALL glGetVaryingLocationNV(GLuint program, const GLchar *name);\nREGAL_DECL void REGAL_CALL glActiveVaryingNV(GLuint program, const GLchar *name);\nREGAL_DECL void REGAL_CALL glBeginTransformFeedbackNV(GLenum primitiveMode);\nREGAL_DECL void REGAL_CALL glBindBufferBaseNV(GLenum target, GLuint index, GLuint buffer);\nREGAL_DECL void REGAL_CALL glBindBufferOffsetNV(GLenum target, GLuint index, GLuint buffer, GLintptr offset);\nREGAL_DECL void REGAL_CALL glBindBufferRangeNV(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);\nREGAL_DECL void REGAL_CALL glEndTransformFeedbackNV(void);\nREGAL_DECL void REGAL_CALL glGetActiveVaryingNV(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);\nREGAL_DECL void REGAL_CALL glGetTransformFeedbackVaryingNV(GLuint program, GLuint index, GLint *location);\nREGAL_DECL void REGAL_CALL glTransformFeedbackAttribsNV(GLuint count, const GLint *attribs, GLenum bufferMode);\nREGAL_DECL void REGAL_CALL glTransformFeedbackVaryingsNV(GLuint program, GLsizei count, const GLint *locations, GLenum bufferMode);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_NV_TRANSFORM_FEEDBACK\nREGAL_DECL GLint REGAL_CALL plugin_glGetVaryingLocationNV(GLuint program, const GLchar *name);\nREGAL_DECL void REGAL_CALL plugin_glActiveVaryingNV(GLuint program, const GLchar *name);\nREGAL_DECL void REGAL_CALL plugin_glBeginTransformFeedbackNV(GLenum primitiveMode);\nREGAL_DECL void REGAL_CALL plugin_glBindBufferBaseNV(GLenum target, GLuint index, GLuint buffer);\nREGAL_DECL void REGAL_CALL plugin_glBindBufferOffsetNV(GLenum target, GLuint index, GLuint buffer, GLintptr offset);\nREGAL_DECL void REGAL_CALL plugin_glBindBufferRangeNV(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);\nREGAL_DECL void REGAL_CALL plugin_glEndTransformFeedbackNV(void);\nREGAL_DECL void REGAL_CALL plugin_glGetActiveVaryingNV(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);\nREGAL_DECL void REGAL_CALL plugin_glGetTransformFeedbackVaryingNV(GLuint program, GLuint index, GLint *location);\nREGAL_DECL void REGAL_CALL plugin_glTransformFeedbackAttribsNV(GLuint count, const GLint *attribs, GLenum bufferMode);\nREGAL_DECL void REGAL_CALL plugin_glTransformFeedbackVaryingsNV(GLuint program, GLsizei count, const GLint *locations, GLenum bufferMode);\n#endif\n\n/**\n ** GL_NV_transform_feedback2\n **/\n\n#if (defined(GL_NV_TRANSFORM_FEEDBACK2) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_TRANSFORM_FEEDBACK2)) && !defined(REGAL_NO_ENUM_GL_NV_TRANSFORM_FEEDBACK2)\n#define REGAL_NO_ENUM_GL_NV_TRANSFORM_FEEDBACK2\n#endif\n\n#if (defined(GL_NV_TRANSFORM_FEEDBACK2) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_TRANSFORM_FEEDBACK2)) && !defined(REGAL_NO_TYPEDEF_GL_NV_TRANSFORM_FEEDBACK2)\n#define REGAL_NO_TYPEDEF_GL_NV_TRANSFORM_FEEDBACK2\n#endif\n\n#if (defined(GL_NV_TRANSFORM_FEEDBACK2) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_TRANSFORM_FEEDBACK2)) && !defined(REGAL_NO_NAMESPACE_GL_NV_TRANSFORM_FEEDBACK2)\n#define REGAL_NO_NAMESPACE_GL_NV_TRANSFORM_FEEDBACK2\n#endif\n\n#if (defined(GL_NV_TRANSFORM_FEEDBACK2) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_TRANSFORM_FEEDBACK2)) && !defined(REGAL_NO_PLUGIN_GL_NV_TRANSFORM_FEEDBACK2)\n#define REGAL_NO_PLUGIN_GL_NV_TRANSFORM_FEEDBACK2\n#endif\n\n#if (defined(GL_NV_TRANSFORM_FEEDBACK2) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_TRANSFORM_FEEDBACK2)) && !defined(REGAL_NO_DECLARATION_GL_NV_TRANSFORM_FEEDBACK2)\n#define REGAL_NO_DECLARATION_GL_NV_TRANSFORM_FEEDBACK2\n#endif\n\n#ifndef GL_NV_transform_feedback2\n#define GL_NV_transform_feedback2 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_TRANSFORM_FEEDBACK2\n#define GL_TRANSFORM_FEEDBACK_NV               0x8e22     /* 36386 */\n#define GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED_NV 0x8e23     /* 36387 */\n#define GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE_NV 0x8e24     /* 36388 */\n#define GL_TRANSFORM_FEEDBACK_BINDING_NV       0x8e25     /* 36389 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_NV_TRANSFORM_FEEDBACK2\ntypedef GLboolean (REGAL_CALL *PFNGLISTRANSFORMFEEDBACKNVPROC)(GLuint id);\ntypedef void (REGAL_CALL *PFNGLBINDTRANSFORMFEEDBACKNVPROC)(GLenum target, GLuint id);\ntypedef void (REGAL_CALL *PFNGLDELETETRANSFORMFEEDBACKSNVPROC)(GLsizei n, const GLuint *ids);\ntypedef void (REGAL_CALL *PFNGLDRAWTRANSFORMFEEDBACKNVPROC)(GLenum mode, GLuint name);\ntypedef void (REGAL_CALL *PFNGLGENTRANSFORMFEEDBACKSNVPROC)(GLsizei n, GLuint *ids);\ntypedef void (REGAL_CALL *PFNGLPAUSETRANSFORMFEEDBACKNVPROC)(void);\ntypedef void (REGAL_CALL *PFNGLRESUMETRANSFORMFEEDBACKNVPROC)(void);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_NV_TRANSFORM_FEEDBACK2\n#define glBindTransformFeedbackNV           rglBindTransformFeedbackNV\n#define glDeleteTransformFeedbacksNV        rglDeleteTransformFeedbacksNV\n#define glDrawTransformFeedbackNV           rglDrawTransformFeedbackNV\n#define glGenTransformFeedbacksNV           rglGenTransformFeedbacksNV\n#define glIsTransformFeedbackNV             rglIsTransformFeedbackNV\n#define glPauseTransformFeedbackNV          rglPauseTransformFeedbackNV\n#define glResumeTransformFeedbackNV         rglResumeTransformFeedbackNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_NV_TRANSFORM_FEEDBACK2\nREGAL_DECL GLboolean REGAL_CALL glIsTransformFeedbackNV(GLuint id);\nREGAL_DECL void REGAL_CALL glBindTransformFeedbackNV(GLenum target, GLuint id);\nREGAL_DECL void REGAL_CALL glDeleteTransformFeedbacksNV(GLsizei n, const GLuint *ids);\nREGAL_DECL void REGAL_CALL glDrawTransformFeedbackNV(GLenum mode, GLuint name);\nREGAL_DECL void REGAL_CALL glGenTransformFeedbacksNV(GLsizei n, GLuint *ids);\nREGAL_DECL void REGAL_CALL glPauseTransformFeedbackNV(void);\nREGAL_DECL void REGAL_CALL glResumeTransformFeedbackNV(void);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_NV_TRANSFORM_FEEDBACK2\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsTransformFeedbackNV(GLuint id);\nREGAL_DECL void REGAL_CALL plugin_glBindTransformFeedbackNV(GLenum target, GLuint id);\nREGAL_DECL void REGAL_CALL plugin_glDeleteTransformFeedbacksNV(GLsizei n, const GLuint *ids);\nREGAL_DECL void REGAL_CALL plugin_glDrawTransformFeedbackNV(GLenum mode, GLuint name);\nREGAL_DECL void REGAL_CALL plugin_glGenTransformFeedbacksNV(GLsizei n, GLuint *ids);\nREGAL_DECL void REGAL_CALL plugin_glPauseTransformFeedbackNV(void);\nREGAL_DECL void REGAL_CALL plugin_glResumeTransformFeedbackNV(void);\n#endif\n\n/**\n ** GL_NV_vdpau_interop\n **/\n\n#if (defined(GL_NV_VDPAU_INTEROP) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_VDPAU_INTEROP)) && !defined(REGAL_NO_ENUM_GL_NV_VDPAU_INTEROP)\n#define REGAL_NO_ENUM_GL_NV_VDPAU_INTEROP\n#endif\n\n#if (defined(GL_NV_VDPAU_INTEROP) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_VDPAU_INTEROP)) && !defined(REGAL_NO_TYPEDEF_GL_NV_VDPAU_INTEROP)\n#define REGAL_NO_TYPEDEF_GL_NV_VDPAU_INTEROP\n#endif\n\n#if (defined(GL_NV_VDPAU_INTEROP) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_VDPAU_INTEROP)) && !defined(REGAL_NO_NAMESPACE_GL_NV_VDPAU_INTEROP)\n#define REGAL_NO_NAMESPACE_GL_NV_VDPAU_INTEROP\n#endif\n\n#if (defined(GL_NV_VDPAU_INTEROP) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_VDPAU_INTEROP)) && !defined(REGAL_NO_PLUGIN_GL_NV_VDPAU_INTEROP)\n#define REGAL_NO_PLUGIN_GL_NV_VDPAU_INTEROP\n#endif\n\n#if (defined(GL_NV_VDPAU_INTEROP) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_VDPAU_INTEROP)) && !defined(REGAL_NO_DECLARATION_GL_NV_VDPAU_INTEROP)\n#define REGAL_NO_DECLARATION_GL_NV_VDPAU_INTEROP\n#endif\n\n#ifndef GL_NV_vdpau_interop\n#define GL_NV_vdpau_interop 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_VDPAU_INTEROP\n#define GL_SURFACE_STATE_NV      0x86eb     /* 34539 */\n#define GL_SURFACE_REGISTERED_NV 0x86fd     /* 34557 */\n#define GL_SURFACE_MAPPED_NV     0x8700     /* 34560 */\n#define GL_WRITE_DISCARD_NV      0x88be     /* 35006 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_NV_VDPAU_INTEROP\ntypedef GLboolean (REGAL_CALL *PFNGLVDPAUISSURFACENVPROC)(GLvdpauSurfaceNV surface);\ntypedef GLvdpauSurfaceNV (REGAL_CALL *PFNGLVDPAUREGISTEROUTPUTSURFACENVPROC)(const GLvoid *vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint *textureNames);\ntypedef GLvdpauSurfaceNV (REGAL_CALL *PFNGLVDPAUREGISTERVIDEOSURFACENVPROC)(const GLvoid *vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint *textureNames);\ntypedef void (REGAL_CALL *PFNGLVDPAUFININVPROC)(void);\ntypedef void (REGAL_CALL *PFNGLVDPAUGETSURFACEIVNVPROC)(GLvdpauSurfaceNV surface, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);\ntypedef void (REGAL_CALL *PFNGLVDPAUINITNVPROC)(const GLvoid *vdpDevice, const GLvoid *getProcAddress);\ntypedef void (REGAL_CALL *PFNGLVDPAUMAPSURFACESNVPROC)(GLsizei numSurfaces, const GLvdpauSurfaceNV *surfaces);\ntypedef void (REGAL_CALL *PFNGLVDPAUSURFACEACCESSNVPROC)(GLvdpauSurfaceNV surface, GLenum access);\ntypedef void (REGAL_CALL *PFNGLVDPAUUNMAPSURFACESNVPROC)(GLsizei numSurfaces, const GLvdpauSurfaceNV *surfaces);\ntypedef void (REGAL_CALL *PFNGLVDPAUUNREGISTERSURFACENVPROC)(GLvdpauSurfaceNV surface);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_NV_VDPAU_INTEROP\n#define glVDPAUFiniNV                       rglVDPAUFiniNV\n#define glVDPAUGetSurfaceivNV               rglVDPAUGetSurfaceivNV\n#define glVDPAUInitNV                       rglVDPAUInitNV\n#define glVDPAUIsSurfaceNV                  rglVDPAUIsSurfaceNV\n#define glVDPAUMapSurfacesNV                rglVDPAUMapSurfacesNV\n#define glVDPAURegisterOutputSurfaceNV      rglVDPAURegisterOutputSurfaceNV\n#define glVDPAURegisterVideoSurfaceNV       rglVDPAURegisterVideoSurfaceNV\n#define glVDPAUSurfaceAccessNV              rglVDPAUSurfaceAccessNV\n#define glVDPAUUnmapSurfacesNV              rglVDPAUUnmapSurfacesNV\n#define glVDPAUUnregisterSurfaceNV          rglVDPAUUnregisterSurfaceNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_NV_VDPAU_INTEROP\nREGAL_DECL GLboolean REGAL_CALL glVDPAUIsSurfaceNV(GLvdpauSurfaceNV surface);\nREGAL_DECL GLvdpauSurfaceNV REGAL_CALL glVDPAURegisterOutputSurfaceNV(const GLvoid *vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint *textureNames);\nREGAL_DECL GLvdpauSurfaceNV REGAL_CALL glVDPAURegisterVideoSurfaceNV(const GLvoid *vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint *textureNames);\nREGAL_DECL void REGAL_CALL glVDPAUFiniNV(void);\nREGAL_DECL void REGAL_CALL glVDPAUGetSurfaceivNV(GLvdpauSurfaceNV surface, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);\nREGAL_DECL void REGAL_CALL glVDPAUInitNV(const GLvoid *vdpDevice, const GLvoid *getProcAddress);\nREGAL_DECL void REGAL_CALL glVDPAUMapSurfacesNV(GLsizei numSurfaces, const GLvdpauSurfaceNV *surfaces);\nREGAL_DECL void REGAL_CALL glVDPAUSurfaceAccessNV(GLvdpauSurfaceNV surface, GLenum access);\nREGAL_DECL void REGAL_CALL glVDPAUUnmapSurfacesNV(GLsizei numSurfaces, const GLvdpauSurfaceNV *surfaces);\nREGAL_DECL void REGAL_CALL glVDPAUUnregisterSurfaceNV(GLvdpauSurfaceNV surface);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_NV_VDPAU_INTEROP\nREGAL_DECL GLboolean REGAL_CALL plugin_glVDPAUIsSurfaceNV(GLvdpauSurfaceNV surface);\nREGAL_DECL GLvdpauSurfaceNV REGAL_CALL plugin_glVDPAURegisterOutputSurfaceNV(const GLvoid *vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint *textureNames);\nREGAL_DECL GLvdpauSurfaceNV REGAL_CALL plugin_glVDPAURegisterVideoSurfaceNV(const GLvoid *vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint *textureNames);\nREGAL_DECL void REGAL_CALL plugin_glVDPAUFiniNV(void);\nREGAL_DECL void REGAL_CALL plugin_glVDPAUGetSurfaceivNV(GLvdpauSurfaceNV surface, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);\nREGAL_DECL void REGAL_CALL plugin_glVDPAUInitNV(const GLvoid *vdpDevice, const GLvoid *getProcAddress);\nREGAL_DECL void REGAL_CALL plugin_glVDPAUMapSurfacesNV(GLsizei numSurfaces, const GLvdpauSurfaceNV *surfaces);\nREGAL_DECL void REGAL_CALL plugin_glVDPAUSurfaceAccessNV(GLvdpauSurfaceNV surface, GLenum access);\nREGAL_DECL void REGAL_CALL plugin_glVDPAUUnmapSurfacesNV(GLsizei numSurfaces, const GLvdpauSurfaceNV *surfaces);\nREGAL_DECL void REGAL_CALL plugin_glVDPAUUnregisterSurfaceNV(GLvdpauSurfaceNV surface);\n#endif\n\n/**\n ** GL_NV_vertex_array_range\n **/\n\n#if (defined(GL_NV_VERTEX_ARRAY_RANGE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_VERTEX_ARRAY_RANGE)) && !defined(REGAL_NO_ENUM_GL_NV_VERTEX_ARRAY_RANGE)\n#define REGAL_NO_ENUM_GL_NV_VERTEX_ARRAY_RANGE\n#endif\n\n#if (defined(GL_NV_VERTEX_ARRAY_RANGE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_VERTEX_ARRAY_RANGE)) && !defined(REGAL_NO_TYPEDEF_GL_NV_VERTEX_ARRAY_RANGE)\n#define REGAL_NO_TYPEDEF_GL_NV_VERTEX_ARRAY_RANGE\n#endif\n\n#if (defined(GL_NV_VERTEX_ARRAY_RANGE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_VERTEX_ARRAY_RANGE)) && !defined(REGAL_NO_NAMESPACE_GL_NV_VERTEX_ARRAY_RANGE)\n#define REGAL_NO_NAMESPACE_GL_NV_VERTEX_ARRAY_RANGE\n#endif\n\n#if (defined(GL_NV_VERTEX_ARRAY_RANGE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_VERTEX_ARRAY_RANGE)) && !defined(REGAL_NO_PLUGIN_GL_NV_VERTEX_ARRAY_RANGE)\n#define REGAL_NO_PLUGIN_GL_NV_VERTEX_ARRAY_RANGE\n#endif\n\n#if (defined(GL_NV_VERTEX_ARRAY_RANGE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_VERTEX_ARRAY_RANGE)) && !defined(REGAL_NO_DECLARATION_GL_NV_VERTEX_ARRAY_RANGE)\n#define REGAL_NO_DECLARATION_GL_NV_VERTEX_ARRAY_RANGE\n#endif\n\n#ifndef GL_NV_vertex_array_range\n#define GL_NV_vertex_array_range 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_VERTEX_ARRAY_RANGE\n#define GL_VERTEX_ARRAY_RANGE_NV             0x851d     /* 34077 */\n#define GL_VERTEX_ARRAY_RANGE_LENGTH_NV      0x851e     /* 34078 */\n#define GL_VERTEX_ARRAY_RANGE_VALID_NV       0x851f     /* 34079 */\n#define GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV 0x8520     /* 34080 */\n#define GL_VERTEX_ARRAY_RANGE_POINTER_NV     0x8521     /* 34081 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_NV_VERTEX_ARRAY_RANGE\ntypedef void (REGAL_CALL *PFNGLFLUSHVERTEXARRAYRANGENVPROC)(void);\ntypedef void (REGAL_CALL *PFNGLVERTEXARRAYRANGENVPROC)(GLsizei size, const GLvoid *pointer);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_NV_VERTEX_ARRAY_RANGE\n#define glFlushVertexArrayRangeNV           rglFlushVertexArrayRangeNV\n#define glVertexArrayRangeNV                rglVertexArrayRangeNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_NV_VERTEX_ARRAY_RANGE\nREGAL_DECL void REGAL_CALL glFlushVertexArrayRangeNV(void);\nREGAL_DECL void REGAL_CALL glVertexArrayRangeNV(GLsizei size, const GLvoid *pointer);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_NV_VERTEX_ARRAY_RANGE\nREGAL_DECL void REGAL_CALL plugin_glFlushVertexArrayRangeNV(void);\nREGAL_DECL void REGAL_CALL plugin_glVertexArrayRangeNV(GLsizei size, const GLvoid *pointer);\n#endif\n\n/**\n ** GL_NV_vertex_array_range2\n **/\n\n#if (defined(GL_NV_VERTEX_ARRAY_RANGE2) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_VERTEX_ARRAY_RANGE2)) && !defined(REGAL_NO_ENUM_GL_NV_VERTEX_ARRAY_RANGE2)\n#define REGAL_NO_ENUM_GL_NV_VERTEX_ARRAY_RANGE2\n#endif\n\n#if (defined(GL_NV_VERTEX_ARRAY_RANGE2) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_VERTEX_ARRAY_RANGE2)) && !defined(REGAL_NO_TYPEDEF_GL_NV_VERTEX_ARRAY_RANGE2)\n#define REGAL_NO_TYPEDEF_GL_NV_VERTEX_ARRAY_RANGE2\n#endif\n\n#if (defined(GL_NV_VERTEX_ARRAY_RANGE2) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_VERTEX_ARRAY_RANGE2)) && !defined(REGAL_NO_NAMESPACE_GL_NV_VERTEX_ARRAY_RANGE2)\n#define REGAL_NO_NAMESPACE_GL_NV_VERTEX_ARRAY_RANGE2\n#endif\n\n#if (defined(GL_NV_VERTEX_ARRAY_RANGE2) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_VERTEX_ARRAY_RANGE2)) && !defined(REGAL_NO_PLUGIN_GL_NV_VERTEX_ARRAY_RANGE2)\n#define REGAL_NO_PLUGIN_GL_NV_VERTEX_ARRAY_RANGE2\n#endif\n\n#if (defined(GL_NV_VERTEX_ARRAY_RANGE2) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_VERTEX_ARRAY_RANGE2)) && !defined(REGAL_NO_DECLARATION_GL_NV_VERTEX_ARRAY_RANGE2)\n#define REGAL_NO_DECLARATION_GL_NV_VERTEX_ARRAY_RANGE2\n#endif\n\n#ifndef GL_NV_vertex_array_range2\n#define GL_NV_vertex_array_range2 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_VERTEX_ARRAY_RANGE2\n#define GL_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV 0x8533 /* 34099 */\n#endif\n\n/**\n ** GL_NV_vertex_attrib_integer_64bit\n **/\n\n#if (defined(GL_NV_VERTEX_ATTRIB_INTEGER_64BIT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_VERTEX_ATTRIB_INTEGER_64BIT)) && !defined(REGAL_NO_ENUM_GL_NV_VERTEX_ATTRIB_INTEGER_64BIT)\n#define REGAL_NO_ENUM_GL_NV_VERTEX_ATTRIB_INTEGER_64BIT\n#endif\n\n#if (defined(GL_NV_VERTEX_ATTRIB_INTEGER_64BIT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_VERTEX_ATTRIB_INTEGER_64BIT)) && !defined(REGAL_NO_TYPEDEF_GL_NV_VERTEX_ATTRIB_INTEGER_64BIT)\n#define REGAL_NO_TYPEDEF_GL_NV_VERTEX_ATTRIB_INTEGER_64BIT\n#endif\n\n#if (defined(GL_NV_VERTEX_ATTRIB_INTEGER_64BIT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_VERTEX_ATTRIB_INTEGER_64BIT)) && !defined(REGAL_NO_NAMESPACE_GL_NV_VERTEX_ATTRIB_INTEGER_64BIT)\n#define REGAL_NO_NAMESPACE_GL_NV_VERTEX_ATTRIB_INTEGER_64BIT\n#endif\n\n#if (defined(GL_NV_VERTEX_ATTRIB_INTEGER_64BIT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_VERTEX_ATTRIB_INTEGER_64BIT)) && !defined(REGAL_NO_PLUGIN_GL_NV_VERTEX_ATTRIB_INTEGER_64BIT)\n#define REGAL_NO_PLUGIN_GL_NV_VERTEX_ATTRIB_INTEGER_64BIT\n#endif\n\n#if (defined(GL_NV_VERTEX_ATTRIB_INTEGER_64BIT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_VERTEX_ATTRIB_INTEGER_64BIT)) && !defined(REGAL_NO_DECLARATION_GL_NV_VERTEX_ATTRIB_INTEGER_64BIT)\n#define REGAL_NO_DECLARATION_GL_NV_VERTEX_ATTRIB_INTEGER_64BIT\n#endif\n\n#ifndef GL_NV_vertex_attrib_integer_64bit\n#define GL_NV_vertex_attrib_integer_64bit 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_VERTEX_ATTRIB_INTEGER_64BIT\n#define GL_INT64_NV          0x140e     /* 5134 */\n#define GL_UNSIGNED_INT64_NV 0x140f     /* 5135 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_NV_VERTEX_ATTRIB_INTEGER_64BIT\ntypedef void (REGAL_CALL *PFNGLGETVERTEXATTRIBLI64VNVPROC)(GLuint index, GLenum pname, GLint64EXT *params);\ntypedef void (REGAL_CALL *PFNGLGETVERTEXATTRIBLUI64VNVPROC)(GLuint index, GLenum pname, GLuint64EXT *params);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBL1I64NVPROC)(GLuint index, GLint64EXT x);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBL1I64VNVPROC)(GLuint index, const GLint64EXT *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBL1UI64NVPROC)(GLuint index, GLuint64EXT x);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBL1UI64VNVPROC)(GLuint index, const GLuint64EXT *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBL2I64NVPROC)(GLuint index, GLint64EXT x, GLint64EXT y);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBL2I64VNVPROC)(GLuint index, const GLint64EXT *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBL2UI64NVPROC)(GLuint index, GLuint64EXT x, GLuint64EXT y);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBL2UI64VNVPROC)(GLuint index, const GLuint64EXT *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBL3I64NVPROC)(GLuint index, GLint64EXT x, GLint64EXT y, GLint64EXT z);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBL3I64VNVPROC)(GLuint index, const GLint64EXT *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBL3UI64NVPROC)(GLuint index, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBL3UI64VNVPROC)(GLuint index, const GLuint64EXT *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBL4I64NVPROC)(GLuint index, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBL4I64VNVPROC)(GLuint index, const GLint64EXT *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBL4UI64NVPROC)(GLuint index, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBL4UI64VNVPROC)(GLuint index, const GLuint64EXT *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBLFORMATNVPROC)(GLuint index, GLint size, GLenum type, GLsizei stride);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_NV_VERTEX_ATTRIB_INTEGER_64BIT\n#define glGetVertexAttribLi64vNV            rglGetVertexAttribLi64vNV\n#define glGetVertexAttribLui64vNV           rglGetVertexAttribLui64vNV\n#define glVertexAttribL1i64NV               rglVertexAttribL1i64NV\n#define glVertexAttribL1i64vNV              rglVertexAttribL1i64vNV\n#define glVertexAttribL1ui64NV              rglVertexAttribL1ui64NV\n#define glVertexAttribL1ui64vNV             rglVertexAttribL1ui64vNV\n#define glVertexAttribL2i64NV               rglVertexAttribL2i64NV\n#define glVertexAttribL2i64vNV              rglVertexAttribL2i64vNV\n#define glVertexAttribL2ui64NV              rglVertexAttribL2ui64NV\n#define glVertexAttribL2ui64vNV             rglVertexAttribL2ui64vNV\n#define glVertexAttribL3i64NV               rglVertexAttribL3i64NV\n#define glVertexAttribL3i64vNV              rglVertexAttribL3i64vNV\n#define glVertexAttribL3ui64NV              rglVertexAttribL3ui64NV\n#define glVertexAttribL3ui64vNV             rglVertexAttribL3ui64vNV\n#define glVertexAttribL4i64NV               rglVertexAttribL4i64NV\n#define glVertexAttribL4i64vNV              rglVertexAttribL4i64vNV\n#define glVertexAttribL4ui64NV              rglVertexAttribL4ui64NV\n#define glVertexAttribL4ui64vNV             rglVertexAttribL4ui64vNV\n#define glVertexAttribLFormatNV             rglVertexAttribLFormatNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_NV_VERTEX_ATTRIB_INTEGER_64BIT\nREGAL_DECL void REGAL_CALL glGetVertexAttribLi64vNV(GLuint index, GLenum pname, GLint64EXT *params);\nREGAL_DECL void REGAL_CALL glGetVertexAttribLui64vNV(GLuint index, GLenum pname, GLuint64EXT *params);\nREGAL_DECL void REGAL_CALL glVertexAttribL1i64NV(GLuint index, GLint64EXT x);\nREGAL_DECL void REGAL_CALL glVertexAttribL1i64vNV(GLuint index, const GLint64EXT *v);\nREGAL_DECL void REGAL_CALL glVertexAttribL1ui64NV(GLuint index, GLuint64EXT x);\nREGAL_DECL void REGAL_CALL glVertexAttribL1ui64vNV(GLuint index, const GLuint64EXT *v);\nREGAL_DECL void REGAL_CALL glVertexAttribL2i64NV(GLuint index, GLint64EXT x, GLint64EXT y);\nREGAL_DECL void REGAL_CALL glVertexAttribL2i64vNV(GLuint index, const GLint64EXT *v);\nREGAL_DECL void REGAL_CALL glVertexAttribL2ui64NV(GLuint index, GLuint64EXT x, GLuint64EXT y);\nREGAL_DECL void REGAL_CALL glVertexAttribL2ui64vNV(GLuint index, const GLuint64EXT *v);\nREGAL_DECL void REGAL_CALL glVertexAttribL3i64NV(GLuint index, GLint64EXT x, GLint64EXT y, GLint64EXT z);\nREGAL_DECL void REGAL_CALL glVertexAttribL3i64vNV(GLuint index, const GLint64EXT *v);\nREGAL_DECL void REGAL_CALL glVertexAttribL3ui64NV(GLuint index, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z);\nREGAL_DECL void REGAL_CALL glVertexAttribL3ui64vNV(GLuint index, const GLuint64EXT *v);\nREGAL_DECL void REGAL_CALL glVertexAttribL4i64NV(GLuint index, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w);\nREGAL_DECL void REGAL_CALL glVertexAttribL4i64vNV(GLuint index, const GLint64EXT *v);\nREGAL_DECL void REGAL_CALL glVertexAttribL4ui64NV(GLuint index, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w);\nREGAL_DECL void REGAL_CALL glVertexAttribL4ui64vNV(GLuint index, const GLuint64EXT *v);\nREGAL_DECL void REGAL_CALL glVertexAttribLFormatNV(GLuint index, GLint size, GLenum type, GLsizei stride);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_NV_VERTEX_ATTRIB_INTEGER_64BIT\nREGAL_DECL void REGAL_CALL plugin_glGetVertexAttribLi64vNV(GLuint index, GLenum pname, GLint64EXT *params);\nREGAL_DECL void REGAL_CALL plugin_glGetVertexAttribLui64vNV(GLuint index, GLenum pname, GLuint64EXT *params);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribL1i64NV(GLuint index, GLint64EXT x);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribL1i64vNV(GLuint index, const GLint64EXT *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribL1ui64NV(GLuint index, GLuint64EXT x);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribL1ui64vNV(GLuint index, const GLuint64EXT *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribL2i64NV(GLuint index, GLint64EXT x, GLint64EXT y);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribL2i64vNV(GLuint index, const GLint64EXT *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribL2ui64NV(GLuint index, GLuint64EXT x, GLuint64EXT y);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribL2ui64vNV(GLuint index, const GLuint64EXT *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribL3i64NV(GLuint index, GLint64EXT x, GLint64EXT y, GLint64EXT z);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribL3i64vNV(GLuint index, const GLint64EXT *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribL3ui64NV(GLuint index, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribL3ui64vNV(GLuint index, const GLuint64EXT *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribL4i64NV(GLuint index, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribL4i64vNV(GLuint index, const GLint64EXT *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribL4ui64NV(GLuint index, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribL4ui64vNV(GLuint index, const GLuint64EXT *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribLFormatNV(GLuint index, GLint size, GLenum type, GLsizei stride);\n#endif\n\n/**\n ** GL_NV_vertex_buffer_unified_memory\n **/\n\n#if (defined(GL_NV_VERTEX_BUFFER_UNIFIED_MEMORY) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_VERTEX_BUFFER_UNIFIED_MEMORY)) && !defined(REGAL_NO_ENUM_GL_NV_VERTEX_BUFFER_UNIFIED_MEMORY)\n#define REGAL_NO_ENUM_GL_NV_VERTEX_BUFFER_UNIFIED_MEMORY\n#endif\n\n#if (defined(GL_NV_VERTEX_BUFFER_UNIFIED_MEMORY) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_VERTEX_BUFFER_UNIFIED_MEMORY)) && !defined(REGAL_NO_TYPEDEF_GL_NV_VERTEX_BUFFER_UNIFIED_MEMORY)\n#define REGAL_NO_TYPEDEF_GL_NV_VERTEX_BUFFER_UNIFIED_MEMORY\n#endif\n\n#if (defined(GL_NV_VERTEX_BUFFER_UNIFIED_MEMORY) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_VERTEX_BUFFER_UNIFIED_MEMORY)) && !defined(REGAL_NO_NAMESPACE_GL_NV_VERTEX_BUFFER_UNIFIED_MEMORY)\n#define REGAL_NO_NAMESPACE_GL_NV_VERTEX_BUFFER_UNIFIED_MEMORY\n#endif\n\n#if (defined(GL_NV_VERTEX_BUFFER_UNIFIED_MEMORY) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_VERTEX_BUFFER_UNIFIED_MEMORY)) && !defined(REGAL_NO_PLUGIN_GL_NV_VERTEX_BUFFER_UNIFIED_MEMORY)\n#define REGAL_NO_PLUGIN_GL_NV_VERTEX_BUFFER_UNIFIED_MEMORY\n#endif\n\n#if (defined(GL_NV_VERTEX_BUFFER_UNIFIED_MEMORY) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_VERTEX_BUFFER_UNIFIED_MEMORY)) && !defined(REGAL_NO_DECLARATION_GL_NV_VERTEX_BUFFER_UNIFIED_MEMORY)\n#define REGAL_NO_DECLARATION_GL_NV_VERTEX_BUFFER_UNIFIED_MEMORY\n#endif\n\n#ifndef GL_NV_vertex_buffer_unified_memory\n#define GL_NV_vertex_buffer_unified_memory 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_VERTEX_BUFFER_UNIFIED_MEMORY\n#define GL_VERTEX_ATTRIB_ARRAY_UNIFIED_NV   0x8f1e     /* 36638 */\n#define GL_ELEMENT_ARRAY_UNIFIED_NV         0x8f1f     /* 36639 */\n#define GL_VERTEX_ATTRIB_ARRAY_ADDRESS_NV   0x8f20     /* 36640 */\n#define GL_VERTEX_ARRAY_ADDRESS_NV          0x8f21     /* 36641 */\n#define GL_NORMAL_ARRAY_ADDRESS_NV          0x8f22     /* 36642 */\n#define GL_COLOR_ARRAY_ADDRESS_NV           0x8f23     /* 36643 */\n#define GL_INDEX_ARRAY_ADDRESS_NV           0x8f24     /* 36644 */\n#define GL_TEXTURE_COORD_ARRAY_ADDRESS_NV   0x8f25     /* 36645 */\n#define GL_EDGE_FLAG_ARRAY_ADDRESS_NV       0x8f26     /* 36646 */\n#define GL_SECONDARY_COLOR_ARRAY_ADDRESS_NV 0x8f27     /* 36647 */\n#define GL_FOG_COORD_ARRAY_ADDRESS_NV       0x8f28     /* 36648 */\n#define GL_ELEMENT_ARRAY_ADDRESS_NV         0x8f29     /* 36649 */\n#define GL_VERTEX_ATTRIB_ARRAY_LENGTH_NV    0x8f2a     /* 36650 */\n#define GL_VERTEX_ARRAY_LENGTH_NV           0x8f2b     /* 36651 */\n#define GL_NORMAL_ARRAY_LENGTH_NV           0x8f2c     /* 36652 */\n#define GL_COLOR_ARRAY_LENGTH_NV            0x8f2d     /* 36653 */\n#define GL_INDEX_ARRAY_LENGTH_NV            0x8f2e     /* 36654 */\n#define GL_TEXTURE_COORD_ARRAY_LENGTH_NV    0x8f2f     /* 36655 */\n#define GL_EDGE_FLAG_ARRAY_LENGTH_NV        0x8f30     /* 36656 */\n#define GL_SECONDARY_COLOR_ARRAY_LENGTH_NV  0x8f31     /* 36657 */\n#define GL_FOG_COORD_ARRAY_LENGTH_NV        0x8f32     /* 36658 */\n#define GL_ELEMENT_ARRAY_LENGTH_NV          0x8f33     /* 36659 */\n#define GL_DRAW_INDIRECT_UNIFIED_NV         0x8f40     /* 36672 */\n#define GL_DRAW_INDIRECT_ADDRESS_NV         0x8f41     /* 36673 */\n#define GL_DRAW_INDIRECT_LENGTH_NV          0x8f42     /* 36674 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_NV_VERTEX_BUFFER_UNIFIED_MEMORY\ntypedef void (REGAL_CALL *PFNGLBUFFERADDRESSRANGENVPROC)(GLenum pname, GLuint index, GLuint64EXT address, GLsizeiptr length);\ntypedef void (REGAL_CALL *PFNGLCOLORFORMATNVPROC)(GLint size, GLenum type, GLsizei stride);\ntypedef void (REGAL_CALL *PFNGLEDGEFLAGFORMATNVPROC)(GLsizei stride);\ntypedef void (REGAL_CALL *PFNGLFOGCOORDFORMATNVPROC)(GLenum type, GLsizei stride);\ntypedef void (REGAL_CALL *PFNGLGETINTEGERUI64I_VNVPROC)(GLenum target, GLuint index, GLuint64EXT *data);\ntypedef void (REGAL_CALL *PFNGLINDEXFORMATNVPROC)(GLenum type, GLsizei stride);\ntypedef void (REGAL_CALL *PFNGLNORMALFORMATNVPROC)(GLenum type, GLsizei stride);\ntypedef void (REGAL_CALL *PFNGLSECONDARYCOLORFORMATNVPROC)(GLint size, GLenum type, GLsizei stride);\ntypedef void (REGAL_CALL *PFNGLTEXCOORDFORMATNVPROC)(GLint size, GLenum type, GLsizei stride);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBFORMATNVPROC)(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBIFORMATNVPROC)(GLuint index, GLint size, GLenum type, GLsizei stride);\ntypedef void (REGAL_CALL *PFNGLVERTEXFORMATNVPROC)(GLint size, GLenum type, GLsizei stride);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_NV_VERTEX_BUFFER_UNIFIED_MEMORY\n#define glBufferAddressRangeNV              rglBufferAddressRangeNV\n#define glColorFormatNV                     rglColorFormatNV\n#define glEdgeFlagFormatNV                  rglEdgeFlagFormatNV\n#define glFogCoordFormatNV                  rglFogCoordFormatNV\n#define glGetIntegerui64i_vNV               rglGetIntegerui64i_vNV\n#define glIndexFormatNV                     rglIndexFormatNV\n#define glNormalFormatNV                    rglNormalFormatNV\n#define glSecondaryColorFormatNV            rglSecondaryColorFormatNV\n#define glTexCoordFormatNV                  rglTexCoordFormatNV\n#define glVertexAttribFormatNV              rglVertexAttribFormatNV\n#define glVertexAttribIFormatNV             rglVertexAttribIFormatNV\n#define glVertexFormatNV                    rglVertexFormatNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_NV_VERTEX_BUFFER_UNIFIED_MEMORY\nREGAL_DECL void REGAL_CALL glBufferAddressRangeNV(GLenum pname, GLuint index, GLuint64EXT address, GLsizeiptr length);\nREGAL_DECL void REGAL_CALL glColorFormatNV(GLint size, GLenum type, GLsizei stride);\nREGAL_DECL void REGAL_CALL glEdgeFlagFormatNV(GLsizei stride);\nREGAL_DECL void REGAL_CALL glFogCoordFormatNV(GLenum type, GLsizei stride);\nREGAL_DECL void REGAL_CALL glGetIntegerui64i_vNV(GLenum target, GLuint index, GLuint64EXT *data);\nREGAL_DECL void REGAL_CALL glIndexFormatNV(GLenum type, GLsizei stride);\nREGAL_DECL void REGAL_CALL glNormalFormatNV(GLenum type, GLsizei stride);\nREGAL_DECL void REGAL_CALL glSecondaryColorFormatNV(GLint size, GLenum type, GLsizei stride);\nREGAL_DECL void REGAL_CALL glTexCoordFormatNV(GLint size, GLenum type, GLsizei stride);\nREGAL_DECL void REGAL_CALL glVertexAttribFormatNV(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride);\nREGAL_DECL void REGAL_CALL glVertexAttribIFormatNV(GLuint index, GLint size, GLenum type, GLsizei stride);\nREGAL_DECL void REGAL_CALL glVertexFormatNV(GLint size, GLenum type, GLsizei stride);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_NV_VERTEX_BUFFER_UNIFIED_MEMORY\nREGAL_DECL void REGAL_CALL plugin_glBufferAddressRangeNV(GLenum pname, GLuint index, GLuint64EXT address, GLsizeiptr length);\nREGAL_DECL void REGAL_CALL plugin_glColorFormatNV(GLint size, GLenum type, GLsizei stride);\nREGAL_DECL void REGAL_CALL plugin_glEdgeFlagFormatNV(GLsizei stride);\nREGAL_DECL void REGAL_CALL plugin_glFogCoordFormatNV(GLenum type, GLsizei stride);\nREGAL_DECL void REGAL_CALL plugin_glGetIntegerui64i_vNV(GLenum target, GLuint index, GLuint64EXT *data);\nREGAL_DECL void REGAL_CALL plugin_glIndexFormatNV(GLenum type, GLsizei stride);\nREGAL_DECL void REGAL_CALL plugin_glNormalFormatNV(GLenum type, GLsizei stride);\nREGAL_DECL void REGAL_CALL plugin_glSecondaryColorFormatNV(GLint size, GLenum type, GLsizei stride);\nREGAL_DECL void REGAL_CALL plugin_glTexCoordFormatNV(GLint size, GLenum type, GLsizei stride);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribFormatNV(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribIFormatNV(GLuint index, GLint size, GLenum type, GLsizei stride);\nREGAL_DECL void REGAL_CALL plugin_glVertexFormatNV(GLint size, GLenum type, GLsizei stride);\n#endif\n\n/**\n ** GL_NV_vertex_program\n **/\n\n#if (defined(GL_NV_VERTEX_PROGRAM) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_VERTEX_PROGRAM)) && !defined(REGAL_NO_ENUM_GL_NV_VERTEX_PROGRAM)\n#define REGAL_NO_ENUM_GL_NV_VERTEX_PROGRAM\n#endif\n\n#if (defined(GL_NV_VERTEX_PROGRAM) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_VERTEX_PROGRAM)) && !defined(REGAL_NO_TYPEDEF_GL_NV_VERTEX_PROGRAM)\n#define REGAL_NO_TYPEDEF_GL_NV_VERTEX_PROGRAM\n#endif\n\n#if (defined(GL_NV_VERTEX_PROGRAM) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_VERTEX_PROGRAM)) && !defined(REGAL_NO_NAMESPACE_GL_NV_VERTEX_PROGRAM)\n#define REGAL_NO_NAMESPACE_GL_NV_VERTEX_PROGRAM\n#endif\n\n#if (defined(GL_NV_VERTEX_PROGRAM) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_VERTEX_PROGRAM)) && !defined(REGAL_NO_PLUGIN_GL_NV_VERTEX_PROGRAM)\n#define REGAL_NO_PLUGIN_GL_NV_VERTEX_PROGRAM\n#endif\n\n#if (defined(GL_NV_VERTEX_PROGRAM) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_VERTEX_PROGRAM)) && !defined(REGAL_NO_DECLARATION_GL_NV_VERTEX_PROGRAM)\n#define REGAL_NO_DECLARATION_GL_NV_VERTEX_PROGRAM\n#endif\n\n#ifndef GL_NV_vertex_program\n#define GL_NV_vertex_program 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_VERTEX_PROGRAM\n#define GL_VERTEX_PROGRAM_NV               0x8620     /* 34336 */\n#define GL_VERTEX_STATE_PROGRAM_NV         0x8621     /* 34337 */\n#define GL_ATTRIB_ARRAY_SIZE_NV            0x8623     /* 34339 */\n#define GL_ATTRIB_ARRAY_STRIDE_NV          0x8624     /* 34340 */\n#define GL_ATTRIB_ARRAY_TYPE_NV            0x8625     /* 34341 */\n#define GL_CURRENT_ATTRIB_NV               0x8626     /* 34342 */\n#define GL_PROGRAM_LENGTH_NV               0x8627     /* 34343 */\n#define GL_PROGRAM_STRING_NV               0x8628     /* 34344 */\n#define GL_MODELVIEW_PROJECTION_NV         0x8629     /* 34345 */\n#define GL_IDENTITY_NV                     0x862a     /* 34346 */\n#define GL_INVERSE_NV                      0x862b     /* 34347 */\n#define GL_TRANSPOSE_NV                    0x862c     /* 34348 */\n#define GL_INVERSE_TRANSPOSE_NV            0x862d     /* 34349 */\n#define GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV 0x862e     /* 34350 */\n#define GL_MAX_TRACK_MATRICES_NV           0x862f     /* 34351 */\n#define GL_MATRIX0_NV                      0x8630     /* 34352 */\n#define GL_MATRIX1_NV                      0x8631     /* 34353 */\n#define GL_MATRIX2_NV                      0x8632     /* 34354 */\n#define GL_MATRIX3_NV                      0x8633     /* 34355 */\n#define GL_MATRIX4_NV                      0x8634     /* 34356 */\n#define GL_MATRIX5_NV                      0x8635     /* 34357 */\n#define GL_MATRIX6_NV                      0x8636     /* 34358 */\n#define GL_MATRIX7_NV                      0x8637     /* 34359 */\n#define GL_CURRENT_MATRIX_STACK_DEPTH_NV   0x8640     /* 34368 */\n#define GL_CURRENT_MATRIX_NV               0x8641     /* 34369 */\n#define GL_VERTEX_PROGRAM_POINT_SIZE_NV    0x8642     /* 34370 */\n#define GL_VERTEX_PROGRAM_TWO_SIDE_NV      0x8643     /* 34371 */\n#define GL_PROGRAM_PARAMETER_NV            0x8644     /* 34372 */\n#define GL_ATTRIB_ARRAY_POINTER_NV         0x8645     /* 34373 */\n#define GL_PROGRAM_TARGET_NV               0x8646     /* 34374 */\n#define GL_PROGRAM_RESIDENT_NV             0x8647     /* 34375 */\n#define GL_TRACK_MATRIX_NV                 0x8648     /* 34376 */\n#define GL_TRACK_MATRIX_TRANSFORM_NV       0x8649     /* 34377 */\n#define GL_VERTEX_PROGRAM_BINDING_NV       0x864a     /* 34378 */\n#define GL_PROGRAM_ERROR_POSITION_NV       0x864b     /* 34379 */\n#define GL_VERTEX_ATTRIB_ARRAY0_NV         0x8650     /* 34384 */\n#define GL_VERTEX_ATTRIB_ARRAY1_NV         0x8651     /* 34385 */\n#define GL_VERTEX_ATTRIB_ARRAY2_NV         0x8652     /* 34386 */\n#define GL_VERTEX_ATTRIB_ARRAY3_NV         0x8653     /* 34387 */\n#define GL_VERTEX_ATTRIB_ARRAY4_NV         0x8654     /* 34388 */\n#define GL_VERTEX_ATTRIB_ARRAY5_NV         0x8655     /* 34389 */\n#define GL_VERTEX_ATTRIB_ARRAY6_NV         0x8656     /* 34390 */\n#define GL_VERTEX_ATTRIB_ARRAY7_NV         0x8657     /* 34391 */\n#define GL_VERTEX_ATTRIB_ARRAY8_NV         0x8658     /* 34392 */\n#define GL_VERTEX_ATTRIB_ARRAY9_NV         0x8659     /* 34393 */\n#define GL_VERTEX_ATTRIB_ARRAY10_NV        0x865a     /* 34394 */\n#define GL_VERTEX_ATTRIB_ARRAY11_NV        0x865b     /* 34395 */\n#define GL_VERTEX_ATTRIB_ARRAY12_NV        0x865c     /* 34396 */\n#define GL_VERTEX_ATTRIB_ARRAY13_NV        0x865d     /* 34397 */\n#define GL_VERTEX_ATTRIB_ARRAY14_NV        0x865e     /* 34398 */\n#define GL_VERTEX_ATTRIB_ARRAY15_NV        0x865f     /* 34399 */\n#define GL_MAP1_VERTEX_ATTRIB0_4_NV        0x8660     /* 34400 */\n#define GL_MAP1_VERTEX_ATTRIB1_4_NV        0x8661     /* 34401 */\n#define GL_MAP1_VERTEX_ATTRIB2_4_NV        0x8662     /* 34402 */\n#define GL_MAP1_VERTEX_ATTRIB3_4_NV        0x8663     /* 34403 */\n#define GL_MAP1_VERTEX_ATTRIB4_4_NV        0x8664     /* 34404 */\n#define GL_MAP1_VERTEX_ATTRIB5_4_NV        0x8665     /* 34405 */\n#define GL_MAP1_VERTEX_ATTRIB6_4_NV        0x8666     /* 34406 */\n#define GL_MAP1_VERTEX_ATTRIB7_4_NV        0x8667     /* 34407 */\n#define GL_MAP1_VERTEX_ATTRIB8_4_NV        0x8668     /* 34408 */\n#define GL_MAP1_VERTEX_ATTRIB9_4_NV        0x8669     /* 34409 */\n#define GL_MAP1_VERTEX_ATTRIB10_4_NV       0x866a     /* 34410 */\n#define GL_MAP1_VERTEX_ATTRIB11_4_NV       0x866b     /* 34411 */\n#define GL_MAP1_VERTEX_ATTRIB12_4_NV       0x866c     /* 34412 */\n#define GL_MAP1_VERTEX_ATTRIB13_4_NV       0x866d     /* 34413 */\n#define GL_MAP1_VERTEX_ATTRIB14_4_NV       0x866e     /* 34414 */\n#define GL_MAP1_VERTEX_ATTRIB15_4_NV       0x866f     /* 34415 */\n#define GL_MAP2_VERTEX_ATTRIB0_4_NV        0x8670     /* 34416 */\n#define GL_MAP2_VERTEX_ATTRIB1_4_NV        0x8671     /* 34417 */\n#define GL_MAP2_VERTEX_ATTRIB2_4_NV        0x8672     /* 34418 */\n#define GL_MAP2_VERTEX_ATTRIB3_4_NV        0x8673     /* 34419 */\n#define GL_MAP2_VERTEX_ATTRIB4_4_NV        0x8674     /* 34420 */\n#define GL_MAP2_VERTEX_ATTRIB5_4_NV        0x8675     /* 34421 */\n#define GL_MAP2_VERTEX_ATTRIB6_4_NV        0x8676     /* 34422 */\n#define GL_MAP2_VERTEX_ATTRIB7_4_NV        0x8677     /* 34423 */\n#define GL_MAP2_VERTEX_ATTRIB8_4_NV        0x8678     /* 34424 */\n#define GL_MAP2_VERTEX_ATTRIB9_4_NV        0x8679     /* 34425 */\n#define GL_MAP2_VERTEX_ATTRIB10_4_NV       0x867a     /* 34426 */\n#define GL_MAP2_VERTEX_ATTRIB11_4_NV       0x867b     /* 34427 */\n#define GL_MAP2_VERTEX_ATTRIB12_4_NV       0x867c     /* 34428 */\n#define GL_MAP2_VERTEX_ATTRIB13_4_NV       0x867d     /* 34429 */\n#define GL_MAP2_VERTEX_ATTRIB14_4_NV       0x867e     /* 34430 */\n#define GL_MAP2_VERTEX_ATTRIB15_4_NV       0x867f     /* 34431 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_NV_VERTEX_PROGRAM\ntypedef GLboolean (REGAL_CALL *PFNGLAREPROGRAMSRESIDENTNVPROC)(GLsizei n, const GLuint *programs, GLboolean *residences);\ntypedef GLboolean (REGAL_CALL *PFNGLISPROGRAMNVPROC)(GLuint id);\ntypedef void (REGAL_CALL *PFNGLBINDPROGRAMNVPROC)(GLenum target, GLuint id);\ntypedef void (REGAL_CALL *PFNGLDELETEPROGRAMSNVPROC)(GLsizei n, const GLuint *programs);\ntypedef void (REGAL_CALL *PFNGLEXECUTEPROGRAMNVPROC)(GLenum target, GLuint id, const GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGENPROGRAMSNVPROC)(GLsizei n, GLuint *programs);\ntypedef void (REGAL_CALL *PFNGLGETPROGRAMIVNVPROC)(GLuint id, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETPROGRAMPARAMETERDVNVPROC)(GLenum target, GLuint index, GLenum pname, GLdouble *params);\ntypedef void (REGAL_CALL *PFNGLGETPROGRAMPARAMETERFVNVPROC)(GLenum target, GLuint index, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETPROGRAMSTRINGNVPROC)(GLuint id, GLenum pname, GLubyte *program);\ntypedef void (REGAL_CALL *PFNGLGETTRACKMATRIXIVNVPROC)(GLenum target, GLuint address, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETVERTEXATTRIBDVNVPROC)(GLuint index, GLenum pname, GLdouble *params);\ntypedef void (REGAL_CALL *PFNGLGETVERTEXATTRIBFVNVPROC)(GLuint index, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETVERTEXATTRIBIVNVPROC)(GLuint index, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETVERTEXATTRIBPOINTERVNVPROC)(GLuint index, GLenum pname, GLvoid **pointer);\ntypedef void (REGAL_CALL *PFNGLLOADPROGRAMNVPROC)(GLenum target, GLuint id, GLsizei len, const GLubyte *program);\ntypedef void (REGAL_CALL *PFNGLPROGRAMPARAMETER4DNVPROC)(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\ntypedef void (REGAL_CALL *PFNGLPROGRAMPARAMETER4DVNVPROC)(GLenum target, GLuint index, const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLPROGRAMPARAMETER4FNVPROC)(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\ntypedef void (REGAL_CALL *PFNGLPROGRAMPARAMETER4FVNVPROC)(GLenum target, GLuint index, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLPROGRAMPARAMETERS4DVNVPROC)(GLenum target, GLuint index, GLsizei count, const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLPROGRAMPARAMETERS4FVNVPROC)(GLenum target, GLuint index, GLsizei count, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLREQUESTRESIDENTPROGRAMSNVPROC)(GLsizei n, const GLuint *programs);\ntypedef void (REGAL_CALL *PFNGLTRACKMATRIXNVPROC)(GLenum target, GLuint address, GLenum matrix, GLenum transform);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB1DNVPROC)(GLuint index, GLdouble x);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB1DVNVPROC)(GLuint index, const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB1FNVPROC)(GLuint index, GLfloat x);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB1FVNVPROC)(GLuint index, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB1SNVPROC)(GLuint index, GLshort x);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB1SVNVPROC)(GLuint index, const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB2DNVPROC)(GLuint index, GLdouble x, GLdouble y);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB2DVNVPROC)(GLuint index, const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB2FNVPROC)(GLuint index, GLfloat x, GLfloat y);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB2FVNVPROC)(GLuint index, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB2SNVPROC)(GLuint index, GLshort x, GLshort y);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB2SVNVPROC)(GLuint index, const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB3DNVPROC)(GLuint index, GLdouble x, GLdouble y, GLdouble z);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB3DVNVPROC)(GLuint index, const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB3FNVPROC)(GLuint index, GLfloat x, GLfloat y, GLfloat z);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB3FVNVPROC)(GLuint index, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB3SNVPROC)(GLuint index, GLshort x, GLshort y, GLshort z);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB3SVNVPROC)(GLuint index, const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4DNVPROC)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4DVNVPROC)(GLuint index, const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4FNVPROC)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4FVNVPROC)(GLuint index, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4SNVPROC)(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4SVNVPROC)(GLuint index, const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4UBNVPROC)(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4UBVNVPROC)(GLuint index, const GLubyte *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBPOINTERNVPROC)(GLuint index, GLint fsize, GLenum type, GLsizei stride, const GLvoid *pointer);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBS1DVNVPROC)(GLuint index, GLsizei n, const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBS1FVNVPROC)(GLuint index, GLsizei n, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBS1SVNVPROC)(GLuint index, GLsizei n, const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBS2DVNVPROC)(GLuint index, GLsizei n, const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBS2FVNVPROC)(GLuint index, GLsizei n, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBS2SVNVPROC)(GLuint index, GLsizei n, const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBS3DVNVPROC)(GLuint index, GLsizei n, const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBS3FVNVPROC)(GLuint index, GLsizei n, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBS3SVNVPROC)(GLuint index, GLsizei n, const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBS4DVNVPROC)(GLuint index, GLsizei n, const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBS4FVNVPROC)(GLuint index, GLsizei n, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBS4SVNVPROC)(GLuint index, GLsizei n, const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBS4UBVNVPROC)(GLuint index, GLsizei n, const GLubyte *v);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_NV_VERTEX_PROGRAM\n#define glAreProgramsResidentNV             rglAreProgramsResidentNV\n#define glBindProgramNV                     rglBindProgramNV\n#define glDeleteProgramsNV                  rglDeleteProgramsNV\n#define glExecuteProgramNV                  rglExecuteProgramNV\n#define glGenProgramsNV                     rglGenProgramsNV\n#define glGetProgramParameterdvNV           rglGetProgramParameterdvNV\n#define glGetProgramParameterfvNV           rglGetProgramParameterfvNV\n#define glGetProgramStringNV                rglGetProgramStringNV\n#define glGetProgramivNV                    rglGetProgramivNV\n#define glGetTrackMatrixivNV                rglGetTrackMatrixivNV\n#define glGetVertexAttribPointervNV         rglGetVertexAttribPointervNV\n#define glGetVertexAttribdvNV               rglGetVertexAttribdvNV\n#define glGetVertexAttribfvNV               rglGetVertexAttribfvNV\n#define glGetVertexAttribivNV               rglGetVertexAttribivNV\n#define glIsProgramNV                       rglIsProgramNV\n#define glLoadProgramNV                     rglLoadProgramNV\n#define glProgramParameter4dNV              rglProgramParameter4dNV\n#define glProgramParameter4dvNV             rglProgramParameter4dvNV\n#define glProgramParameter4fNV              rglProgramParameter4fNV\n#define glProgramParameter4fvNV             rglProgramParameter4fvNV\n#define glProgramParameters4dvNV            rglProgramParameters4dvNV\n#define glProgramParameters4fvNV            rglProgramParameters4fvNV\n#define glRequestResidentProgramsNV         rglRequestResidentProgramsNV\n#define glTrackMatrixNV                     rglTrackMatrixNV\n#define glVertexAttrib1dNV                  rglVertexAttrib1dNV\n#define glVertexAttrib1dvNV                 rglVertexAttrib1dvNV\n#define glVertexAttrib1fNV                  rglVertexAttrib1fNV\n#define glVertexAttrib1fvNV                 rglVertexAttrib1fvNV\n#define glVertexAttrib1sNV                  rglVertexAttrib1sNV\n#define glVertexAttrib1svNV                 rglVertexAttrib1svNV\n#define glVertexAttrib2dNV                  rglVertexAttrib2dNV\n#define glVertexAttrib2dvNV                 rglVertexAttrib2dvNV\n#define glVertexAttrib2fNV                  rglVertexAttrib2fNV\n#define glVertexAttrib2fvNV                 rglVertexAttrib2fvNV\n#define glVertexAttrib2sNV                  rglVertexAttrib2sNV\n#define glVertexAttrib2svNV                 rglVertexAttrib2svNV\n#define glVertexAttrib3dNV                  rglVertexAttrib3dNV\n#define glVertexAttrib3dvNV                 rglVertexAttrib3dvNV\n#define glVertexAttrib3fNV                  rglVertexAttrib3fNV\n#define glVertexAttrib3fvNV                 rglVertexAttrib3fvNV\n#define glVertexAttrib3sNV                  rglVertexAttrib3sNV\n#define glVertexAttrib3svNV                 rglVertexAttrib3svNV\n#define glVertexAttrib4dNV                  rglVertexAttrib4dNV\n#define glVertexAttrib4dvNV                 rglVertexAttrib4dvNV\n#define glVertexAttrib4fNV                  rglVertexAttrib4fNV\n#define glVertexAttrib4fvNV                 rglVertexAttrib4fvNV\n#define glVertexAttrib4sNV                  rglVertexAttrib4sNV\n#define glVertexAttrib4svNV                 rglVertexAttrib4svNV\n#define glVertexAttrib4ubNV                 rglVertexAttrib4ubNV\n#define glVertexAttrib4ubvNV                rglVertexAttrib4ubvNV\n#define glVertexAttribPointerNV             rglVertexAttribPointerNV\n#define glVertexAttribs1dvNV                rglVertexAttribs1dvNV\n#define glVertexAttribs1fvNV                rglVertexAttribs1fvNV\n#define glVertexAttribs1svNV                rglVertexAttribs1svNV\n#define glVertexAttribs2dvNV                rglVertexAttribs2dvNV\n#define glVertexAttribs2fvNV                rglVertexAttribs2fvNV\n#define glVertexAttribs2svNV                rglVertexAttribs2svNV\n#define glVertexAttribs3dvNV                rglVertexAttribs3dvNV\n#define glVertexAttribs3fvNV                rglVertexAttribs3fvNV\n#define glVertexAttribs3svNV                rglVertexAttribs3svNV\n#define glVertexAttribs4dvNV                rglVertexAttribs4dvNV\n#define glVertexAttribs4fvNV                rglVertexAttribs4fvNV\n#define glVertexAttribs4svNV                rglVertexAttribs4svNV\n#define glVertexAttribs4ubvNV               rglVertexAttribs4ubvNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_NV_VERTEX_PROGRAM\nREGAL_DECL GLboolean REGAL_CALL glAreProgramsResidentNV(GLsizei n, const GLuint *programs, GLboolean *residences);\nREGAL_DECL GLboolean REGAL_CALL glIsProgramNV(GLuint id);\nREGAL_DECL void REGAL_CALL glBindProgramNV(GLenum target, GLuint id);\nREGAL_DECL void REGAL_CALL glDeleteProgramsNV(GLsizei n, const GLuint *programs);\nREGAL_DECL void REGAL_CALL glExecuteProgramNV(GLenum target, GLuint id, const GLfloat *params);\nREGAL_DECL void REGAL_CALL glGenProgramsNV(GLsizei n, GLuint *programs);\nREGAL_DECL void REGAL_CALL glGetProgramParameterdvNV(GLenum target, GLuint index, GLenum pname, GLdouble *params);\nREGAL_DECL void REGAL_CALL glGetProgramParameterfvNV(GLenum target, GLuint index, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetProgramStringNV(GLuint id, GLenum pname, GLubyte *program);\nREGAL_DECL void REGAL_CALL glGetProgramivNV(GLuint id, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetTrackMatrixivNV(GLenum target, GLuint address, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetVertexAttribPointervNV(GLuint index, GLenum pname, GLvoid **pointer);\nREGAL_DECL void REGAL_CALL glGetVertexAttribdvNV(GLuint index, GLenum pname, GLdouble *params);\nREGAL_DECL void REGAL_CALL glGetVertexAttribfvNV(GLuint index, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetVertexAttribivNV(GLuint index, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glLoadProgramNV(GLenum target, GLuint id, GLsizei len, const GLubyte *program);\nREGAL_DECL void REGAL_CALL glProgramParameter4dNV(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nREGAL_DECL void REGAL_CALL glProgramParameter4dvNV(GLenum target, GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL glProgramParameter4fNV(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nREGAL_DECL void REGAL_CALL glProgramParameter4fvNV(GLenum target, GLuint index, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glProgramParameters4dvNV(GLenum target, GLuint index, GLsizei count, const GLdouble *v);\nREGAL_DECL void REGAL_CALL glProgramParameters4fvNV(GLenum target, GLuint index, GLsizei count, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glRequestResidentProgramsNV(GLsizei n, const GLuint *programs);\nREGAL_DECL void REGAL_CALL glTrackMatrixNV(GLenum target, GLuint address, GLenum matrix, GLenum transform);\nREGAL_DECL void REGAL_CALL glVertexAttrib1dNV(GLuint index, GLdouble x);\nREGAL_DECL void REGAL_CALL glVertexAttrib1dvNV(GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib1fNV(GLuint index, GLfloat x);\nREGAL_DECL void REGAL_CALL glVertexAttrib1fvNV(GLuint index, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib1sNV(GLuint index, GLshort x);\nREGAL_DECL void REGAL_CALL glVertexAttrib1svNV(GLuint index, const GLshort *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib2dNV(GLuint index, GLdouble x, GLdouble y);\nREGAL_DECL void REGAL_CALL glVertexAttrib2dvNV(GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib2fNV(GLuint index, GLfloat x, GLfloat y);\nREGAL_DECL void REGAL_CALL glVertexAttrib2fvNV(GLuint index, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib2sNV(GLuint index, GLshort x, GLshort y);\nREGAL_DECL void REGAL_CALL glVertexAttrib2svNV(GLuint index, const GLshort *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib3dNV(GLuint index, GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL glVertexAttrib3dvNV(GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib3fNV(GLuint index, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL glVertexAttrib3fvNV(GLuint index, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib3sNV(GLuint index, GLshort x, GLshort y, GLshort z);\nREGAL_DECL void REGAL_CALL glVertexAttrib3svNV(GLuint index, const GLshort *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib4dNV(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nREGAL_DECL void REGAL_CALL glVertexAttrib4dvNV(GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib4fNV(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nREGAL_DECL void REGAL_CALL glVertexAttrib4fvNV(GLuint index, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib4sNV(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);\nREGAL_DECL void REGAL_CALL glVertexAttrib4svNV(GLuint index, const GLshort *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib4ubNV(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);\nREGAL_DECL void REGAL_CALL glVertexAttrib4ubvNV(GLuint index, const GLubyte *v);\nREGAL_DECL void REGAL_CALL glVertexAttribPointerNV(GLuint index, GLint fsize, GLenum type, GLsizei stride, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL glVertexAttribs1dvNV(GLuint index, GLsizei n, const GLdouble *v);\nREGAL_DECL void REGAL_CALL glVertexAttribs1fvNV(GLuint index, GLsizei n, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glVertexAttribs1svNV(GLuint index, GLsizei n, const GLshort *v);\nREGAL_DECL void REGAL_CALL glVertexAttribs2dvNV(GLuint index, GLsizei n, const GLdouble *v);\nREGAL_DECL void REGAL_CALL glVertexAttribs2fvNV(GLuint index, GLsizei n, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glVertexAttribs2svNV(GLuint index, GLsizei n, const GLshort *v);\nREGAL_DECL void REGAL_CALL glVertexAttribs3dvNV(GLuint index, GLsizei n, const GLdouble *v);\nREGAL_DECL void REGAL_CALL glVertexAttribs3fvNV(GLuint index, GLsizei n, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glVertexAttribs3svNV(GLuint index, GLsizei n, const GLshort *v);\nREGAL_DECL void REGAL_CALL glVertexAttribs4dvNV(GLuint index, GLsizei n, const GLdouble *v);\nREGAL_DECL void REGAL_CALL glVertexAttribs4fvNV(GLuint index, GLsizei n, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glVertexAttribs4svNV(GLuint index, GLsizei n, const GLshort *v);\nREGAL_DECL void REGAL_CALL glVertexAttribs4ubvNV(GLuint index, GLsizei n, const GLubyte *v);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_NV_VERTEX_PROGRAM\nREGAL_DECL GLboolean REGAL_CALL plugin_glAreProgramsResidentNV(GLsizei n, const GLuint *programs, GLboolean *residences);\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsProgramNV(GLuint id);\nREGAL_DECL void REGAL_CALL plugin_glBindProgramNV(GLenum target, GLuint id);\nREGAL_DECL void REGAL_CALL plugin_glDeleteProgramsNV(GLsizei n, const GLuint *programs);\nREGAL_DECL void REGAL_CALL plugin_glExecuteProgramNV(GLenum target, GLuint id, const GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGenProgramsNV(GLsizei n, GLuint *programs);\nREGAL_DECL void REGAL_CALL plugin_glGetProgramParameterdvNV(GLenum target, GLuint index, GLenum pname, GLdouble *params);\nREGAL_DECL void REGAL_CALL plugin_glGetProgramParameterfvNV(GLenum target, GLuint index, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetProgramStringNV(GLuint id, GLenum pname, GLubyte *program);\nREGAL_DECL void REGAL_CALL plugin_glGetProgramivNV(GLuint id, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetTrackMatrixivNV(GLenum target, GLuint address, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetVertexAttribPointervNV(GLuint index, GLenum pname, GLvoid **pointer);\nREGAL_DECL void REGAL_CALL plugin_glGetVertexAttribdvNV(GLuint index, GLenum pname, GLdouble *params);\nREGAL_DECL void REGAL_CALL plugin_glGetVertexAttribfvNV(GLuint index, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetVertexAttribivNV(GLuint index, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glLoadProgramNV(GLenum target, GLuint id, GLsizei len, const GLubyte *program);\nREGAL_DECL void REGAL_CALL plugin_glProgramParameter4dNV(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nREGAL_DECL void REGAL_CALL plugin_glProgramParameter4dvNV(GLenum target, GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glProgramParameter4fNV(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nREGAL_DECL void REGAL_CALL plugin_glProgramParameter4fvNV(GLenum target, GLuint index, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glProgramParameters4dvNV(GLenum target, GLuint index, GLsizei count, const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glProgramParameters4fvNV(GLenum target, GLuint index, GLsizei count, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glRequestResidentProgramsNV(GLsizei n, const GLuint *programs);\nREGAL_DECL void REGAL_CALL plugin_glTrackMatrixNV(GLenum target, GLuint address, GLenum matrix, GLenum transform);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib1dNV(GLuint index, GLdouble x);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib1dvNV(GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib1fNV(GLuint index, GLfloat x);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib1fvNV(GLuint index, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib1sNV(GLuint index, GLshort x);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib1svNV(GLuint index, const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib2dNV(GLuint index, GLdouble x, GLdouble y);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib2dvNV(GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib2fNV(GLuint index, GLfloat x, GLfloat y);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib2fvNV(GLuint index, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib2sNV(GLuint index, GLshort x, GLshort y);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib2svNV(GLuint index, const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib3dNV(GLuint index, GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib3dvNV(GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib3fNV(GLuint index, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib3fvNV(GLuint index, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib3sNV(GLuint index, GLshort x, GLshort y, GLshort z);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib3svNV(GLuint index, const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4dNV(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4dvNV(GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4fNV(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4fvNV(GLuint index, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4sNV(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4svNV(GLuint index, const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4ubNV(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4ubvNV(GLuint index, const GLubyte *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribPointerNV(GLuint index, GLint fsize, GLenum type, GLsizei stride, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribs1dvNV(GLuint index, GLsizei n, const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribs1fvNV(GLuint index, GLsizei n, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribs1svNV(GLuint index, GLsizei n, const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribs2dvNV(GLuint index, GLsizei n, const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribs2fvNV(GLuint index, GLsizei n, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribs2svNV(GLuint index, GLsizei n, const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribs3dvNV(GLuint index, GLsizei n, const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribs3fvNV(GLuint index, GLsizei n, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribs3svNV(GLuint index, GLsizei n, const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribs4dvNV(GLuint index, GLsizei n, const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribs4fvNV(GLuint index, GLsizei n, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribs4svNV(GLuint index, GLsizei n, const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribs4ubvNV(GLuint index, GLsizei n, const GLubyte *v);\n#endif\n\n/**\n ** GL_NV_vertex_program2_option\n **/\n\n#if (defined(GL_NV_VERTEX_PROGRAM2_OPTION) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_VERTEX_PROGRAM2_OPTION)) && !defined(REGAL_NO_ENUM_GL_NV_VERTEX_PROGRAM2_OPTION)\n#define REGAL_NO_ENUM_GL_NV_VERTEX_PROGRAM2_OPTION\n#endif\n\n#if (defined(GL_NV_VERTEX_PROGRAM2_OPTION) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_VERTEX_PROGRAM2_OPTION)) && !defined(REGAL_NO_TYPEDEF_GL_NV_VERTEX_PROGRAM2_OPTION)\n#define REGAL_NO_TYPEDEF_GL_NV_VERTEX_PROGRAM2_OPTION\n#endif\n\n#if (defined(GL_NV_VERTEX_PROGRAM2_OPTION) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_VERTEX_PROGRAM2_OPTION)) && !defined(REGAL_NO_NAMESPACE_GL_NV_VERTEX_PROGRAM2_OPTION)\n#define REGAL_NO_NAMESPACE_GL_NV_VERTEX_PROGRAM2_OPTION\n#endif\n\n#if (defined(GL_NV_VERTEX_PROGRAM2_OPTION) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_VERTEX_PROGRAM2_OPTION)) && !defined(REGAL_NO_PLUGIN_GL_NV_VERTEX_PROGRAM2_OPTION)\n#define REGAL_NO_PLUGIN_GL_NV_VERTEX_PROGRAM2_OPTION\n#endif\n\n#if (defined(GL_NV_VERTEX_PROGRAM2_OPTION) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_VERTEX_PROGRAM2_OPTION)) && !defined(REGAL_NO_DECLARATION_GL_NV_VERTEX_PROGRAM2_OPTION)\n#define REGAL_NO_DECLARATION_GL_NV_VERTEX_PROGRAM2_OPTION\n#endif\n\n#ifndef GL_NV_vertex_program2_option\n#define GL_NV_vertex_program2_option 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_VERTEX_PROGRAM2_OPTION\n#define GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV 0x88f4     /* 35060 */\n#define GL_MAX_PROGRAM_CALL_DEPTH_NV        0x88f5     /* 35061 */\n#endif\n\n/**\n ** GL_NV_vertex_program3\n **/\n\n#if (defined(GL_NV_VERTEX_PROGRAM3) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_VERTEX_PROGRAM3)) && !defined(REGAL_NO_ENUM_GL_NV_VERTEX_PROGRAM3)\n#define REGAL_NO_ENUM_GL_NV_VERTEX_PROGRAM3\n#endif\n\n#if (defined(GL_NV_VERTEX_PROGRAM3) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_VERTEX_PROGRAM3)) && !defined(REGAL_NO_TYPEDEF_GL_NV_VERTEX_PROGRAM3)\n#define REGAL_NO_TYPEDEF_GL_NV_VERTEX_PROGRAM3\n#endif\n\n#if (defined(GL_NV_VERTEX_PROGRAM3) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_VERTEX_PROGRAM3)) && !defined(REGAL_NO_NAMESPACE_GL_NV_VERTEX_PROGRAM3)\n#define REGAL_NO_NAMESPACE_GL_NV_VERTEX_PROGRAM3\n#endif\n\n#if (defined(GL_NV_VERTEX_PROGRAM3) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_VERTEX_PROGRAM3)) && !defined(REGAL_NO_PLUGIN_GL_NV_VERTEX_PROGRAM3)\n#define REGAL_NO_PLUGIN_GL_NV_VERTEX_PROGRAM3\n#endif\n\n#if (defined(GL_NV_VERTEX_PROGRAM3) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_VERTEX_PROGRAM3)) && !defined(REGAL_NO_DECLARATION_GL_NV_VERTEX_PROGRAM3)\n#define REGAL_NO_DECLARATION_GL_NV_VERTEX_PROGRAM3\n#endif\n\n#ifndef GL_NV_vertex_program3\n#define GL_NV_vertex_program3 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_VERTEX_PROGRAM3\n#define MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB 0x8b4c /* 35660 */\n#endif\n\n/**\n ** GL_NV_vertex_program4\n **/\n\n#if (defined(GL_NV_VERTEX_PROGRAM4) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_VERTEX_PROGRAM4)) && !defined(REGAL_NO_ENUM_GL_NV_VERTEX_PROGRAM4)\n#define REGAL_NO_ENUM_GL_NV_VERTEX_PROGRAM4\n#endif\n\n#if (defined(GL_NV_VERTEX_PROGRAM4) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_VERTEX_PROGRAM4)) && !defined(REGAL_NO_TYPEDEF_GL_NV_VERTEX_PROGRAM4)\n#define REGAL_NO_TYPEDEF_GL_NV_VERTEX_PROGRAM4\n#endif\n\n#if (defined(GL_NV_VERTEX_PROGRAM4) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_VERTEX_PROGRAM4)) && !defined(REGAL_NO_NAMESPACE_GL_NV_VERTEX_PROGRAM4)\n#define REGAL_NO_NAMESPACE_GL_NV_VERTEX_PROGRAM4\n#endif\n\n#if (defined(GL_NV_VERTEX_PROGRAM4) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_VERTEX_PROGRAM4)) && !defined(REGAL_NO_PLUGIN_GL_NV_VERTEX_PROGRAM4)\n#define REGAL_NO_PLUGIN_GL_NV_VERTEX_PROGRAM4\n#endif\n\n#if (defined(GL_NV_VERTEX_PROGRAM4) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_VERTEX_PROGRAM4)) && !defined(REGAL_NO_DECLARATION_GL_NV_VERTEX_PROGRAM4)\n#define REGAL_NO_DECLARATION_GL_NV_VERTEX_PROGRAM4\n#endif\n\n#ifndef GL_NV_vertex_program4\n#define GL_NV_vertex_program4 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_VERTEX_PROGRAM4\n#define GL_VERTEX_ATTRIB_ARRAY_INTEGER_NV 0x88fd /* 35069 */\n#endif\n\n/**\n ** GL_NV_video_capture\n **/\n\n#if (defined(GL_NV_VIDEO_CAPTURE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_VIDEO_CAPTURE)) && !defined(REGAL_NO_ENUM_GL_NV_VIDEO_CAPTURE)\n#define REGAL_NO_ENUM_GL_NV_VIDEO_CAPTURE\n#endif\n\n#if (defined(GL_NV_VIDEO_CAPTURE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_VIDEO_CAPTURE)) && !defined(REGAL_NO_TYPEDEF_GL_NV_VIDEO_CAPTURE)\n#define REGAL_NO_TYPEDEF_GL_NV_VIDEO_CAPTURE\n#endif\n\n#if (defined(GL_NV_VIDEO_CAPTURE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_VIDEO_CAPTURE)) && !defined(REGAL_NO_NAMESPACE_GL_NV_VIDEO_CAPTURE)\n#define REGAL_NO_NAMESPACE_GL_NV_VIDEO_CAPTURE\n#endif\n\n#if (defined(GL_NV_VIDEO_CAPTURE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_VIDEO_CAPTURE)) && !defined(REGAL_NO_PLUGIN_GL_NV_VIDEO_CAPTURE)\n#define REGAL_NO_PLUGIN_GL_NV_VIDEO_CAPTURE\n#endif\n\n#if (defined(GL_NV_VIDEO_CAPTURE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_VIDEO_CAPTURE)) && !defined(REGAL_NO_DECLARATION_GL_NV_VIDEO_CAPTURE)\n#define REGAL_NO_DECLARATION_GL_NV_VIDEO_CAPTURE\n#endif\n\n#ifndef GL_NV_video_capture\n#define GL_NV_video_capture 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_VIDEO_CAPTURE\n#define GL_VIDEO_BUFFER_NV                          0x9020     /* 36896 */\n#define GL_VIDEO_BUFFER_BINDING_NV                  0x9021     /* 36897 */\n#define GL_FIELD_UPPER_NV                           0x9022     /* 36898 */\n#define GL_FIELD_LOWER_NV                           0x9023     /* 36899 */\n#define GL_NUM_VIDEO_CAPTURE_STREAMS_NV             0x9024     /* 36900 */\n#define GL_NEXT_VIDEO_CAPTURE_BUFFER_STATUS_NV      0x9025     /* 36901 */\n#define GL_VIDEO_CAPTURE_TO_422_SUPPORTED_NV        0x9026     /* 36902 */\n#define GL_LAST_VIDEO_CAPTURE_STATUS_NV             0x9027     /* 36903 */\n#define GL_VIDEO_BUFFER_PITCH_NV                    0x9028     /* 36904 */\n#define GL_VIDEO_COLOR_CONVERSION_MATRIX_NV         0x9029     /* 36905 */\n#define GL_VIDEO_COLOR_CONVERSION_MAX_NV            0x902a     /* 36906 */\n#define GL_VIDEO_COLOR_CONVERSION_MIN_NV            0x902b     /* 36907 */\n#define GL_VIDEO_COLOR_CONVERSION_OFFSET_NV         0x902c     /* 36908 */\n#define GL_VIDEO_BUFFER_INTERNAL_FORMAT_NV          0x902d     /* 36909 */\n#define GL_PARTIAL_SUCCESS_NV                       0x902e     /* 36910 */\n#define GL_SUCCESS_NV                               0x902f     /* 36911 */\n#define GL_FAILURE_NV                               0x9030     /* 36912 */\n#define GL_YCBYCR8_422_NV                           0x9031     /* 36913 */\n#define GL_YCBAYCR8A_4224_NV                        0x9032     /* 36914 */\n#define GL_Z6Y10Z6CB10Z6Y10Z6CR10_422_NV            0x9033     /* 36915 */\n#define GL_Z6Y10Z6CB10Z6A10Z6Y10Z6CR10Z6A10_4224_NV 0x9034     /* 36916 */\n#define GL_Z4Y12Z4CB12Z4Y12Z4CR12_422_NV            0x9035     /* 36917 */\n#define GL_Z4Y12Z4CB12Z4A12Z4Y12Z4CR12Z4A12_4224_NV 0x9036     /* 36918 */\n#define GL_Z4Y12Z4CB12Z4CR12_444_NV                 0x9037     /* 36919 */\n#define GL_VIDEO_CAPTURE_FRAME_WIDTH_NV             0x9038     /* 36920 */\n#define GL_VIDEO_CAPTURE_FRAME_HEIGHT_NV            0x9039     /* 36921 */\n#define GL_VIDEO_CAPTURE_FIELD_UPPER_HEIGHT_NV      0x903a     /* 36922 */\n#define GL_VIDEO_CAPTURE_FIELD_LOWER_HEIGHT_NV      0x903b     /* 36923 */\n#define GL_VIDEO_CAPTURE_SURFACE_ORIGIN_NV          0x903c     /* 36924 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_NV_VIDEO_CAPTURE\ntypedef GLenum (REGAL_CALL *PFNGLVIDEOCAPTURENVPROC)(GLuint video_capture_slot, GLuint *sequence_num, GLuint64EXT *capture_time);\ntypedef void (REGAL_CALL *PFNGLBEGINVIDEOCAPTURENVPROC)(GLuint video_capture_slot);\ntypedef void (REGAL_CALL *PFNGLBINDVIDEOCAPTURESTREAMBUFFERNVPROC)(GLuint video_capture_slot, GLuint stream, GLenum frame_region, GLintptr offset);\ntypedef void (REGAL_CALL *PFNGLBINDVIDEOCAPTURESTREAMTEXTURENVPROC)(GLuint video_capture_slot, GLuint stream, GLenum frame_region, GLenum target, GLuint texture);\ntypedef void (REGAL_CALL *PFNGLENDVIDEOCAPTURENVPROC)(GLuint video_capture_slot);\ntypedef void (REGAL_CALL *PFNGLGETVIDEOCAPTUREIVNVPROC)(GLuint video_capture_slot, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETVIDEOCAPTURESTREAMDVNVPROC)(GLuint video_capture_slot, GLuint stream, GLenum pname, GLdouble *params);\ntypedef void (REGAL_CALL *PFNGLGETVIDEOCAPTURESTREAMFVNVPROC)(GLuint video_capture_slot, GLuint stream, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETVIDEOCAPTURESTREAMIVNVPROC)(GLuint video_capture_slot, GLuint stream, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLVIDEOCAPTURESTREAMPARAMETERDVNVPROC)(GLuint video_capture_slot, GLuint stream, GLenum pname, const GLdouble *params);\ntypedef void (REGAL_CALL *PFNGLVIDEOCAPTURESTREAMPARAMETERFVNVPROC)(GLuint video_capture_slot, GLuint stream, GLenum pname, const GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLVIDEOCAPTURESTREAMPARAMETERIVNVPROC)(GLuint video_capture_slot, GLuint stream, GLenum pname, const GLint *params);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_NV_VIDEO_CAPTURE\n#define glBeginVideoCaptureNV               rglBeginVideoCaptureNV\n#define glBindVideoCaptureStreamBufferNV    rglBindVideoCaptureStreamBufferNV\n#define glBindVideoCaptureStreamTextureNV   rglBindVideoCaptureStreamTextureNV\n#define glEndVideoCaptureNV                 rglEndVideoCaptureNV\n#define glGetVideoCaptureStreamdvNV         rglGetVideoCaptureStreamdvNV\n#define glGetVideoCaptureStreamfvNV         rglGetVideoCaptureStreamfvNV\n#define glGetVideoCaptureStreamivNV         rglGetVideoCaptureStreamivNV\n#define glGetVideoCaptureivNV               rglGetVideoCaptureivNV\n#define glVideoCaptureNV                    rglVideoCaptureNV\n#define glVideoCaptureStreamParameterdvNV   rglVideoCaptureStreamParameterdvNV\n#define glVideoCaptureStreamParameterfvNV   rglVideoCaptureStreamParameterfvNV\n#define glVideoCaptureStreamParameterivNV   rglVideoCaptureStreamParameterivNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_NV_VIDEO_CAPTURE\nREGAL_DECL GLenum REGAL_CALL glVideoCaptureNV(GLuint video_capture_slot, GLuint *sequence_num, GLuint64EXT *capture_time);\nREGAL_DECL void REGAL_CALL glBeginVideoCaptureNV(GLuint video_capture_slot);\nREGAL_DECL void REGAL_CALL glBindVideoCaptureStreamBufferNV(GLuint video_capture_slot, GLuint stream, GLenum frame_region, GLintptr offset);\nREGAL_DECL void REGAL_CALL glBindVideoCaptureStreamTextureNV(GLuint video_capture_slot, GLuint stream, GLenum frame_region, GLenum target, GLuint texture);\nREGAL_DECL void REGAL_CALL glEndVideoCaptureNV(GLuint video_capture_slot);\nREGAL_DECL void REGAL_CALL glGetVideoCaptureStreamdvNV(GLuint video_capture_slot, GLuint stream, GLenum pname, GLdouble *params);\nREGAL_DECL void REGAL_CALL glGetVideoCaptureStreamfvNV(GLuint video_capture_slot, GLuint stream, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetVideoCaptureStreamivNV(GLuint video_capture_slot, GLuint stream, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetVideoCaptureivNV(GLuint video_capture_slot, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glVideoCaptureStreamParameterdvNV(GLuint video_capture_slot, GLuint stream, GLenum pname, const GLdouble *params);\nREGAL_DECL void REGAL_CALL glVideoCaptureStreamParameterfvNV(GLuint video_capture_slot, GLuint stream, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL glVideoCaptureStreamParameterivNV(GLuint video_capture_slot, GLuint stream, GLenum pname, const GLint *params);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_NV_VIDEO_CAPTURE\nREGAL_DECL GLenum REGAL_CALL plugin_glVideoCaptureNV(GLuint video_capture_slot, GLuint *sequence_num, GLuint64EXT *capture_time);\nREGAL_DECL void REGAL_CALL plugin_glBeginVideoCaptureNV(GLuint video_capture_slot);\nREGAL_DECL void REGAL_CALL plugin_glBindVideoCaptureStreamBufferNV(GLuint video_capture_slot, GLuint stream, GLenum frame_region, GLintptr offset);\nREGAL_DECL void REGAL_CALL plugin_glBindVideoCaptureStreamTextureNV(GLuint video_capture_slot, GLuint stream, GLenum frame_region, GLenum target, GLuint texture);\nREGAL_DECL void REGAL_CALL plugin_glEndVideoCaptureNV(GLuint video_capture_slot);\nREGAL_DECL void REGAL_CALL plugin_glGetVideoCaptureStreamdvNV(GLuint video_capture_slot, GLuint stream, GLenum pname, GLdouble *params);\nREGAL_DECL void REGAL_CALL plugin_glGetVideoCaptureStreamfvNV(GLuint video_capture_slot, GLuint stream, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetVideoCaptureStreamivNV(GLuint video_capture_slot, GLuint stream, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetVideoCaptureivNV(GLuint video_capture_slot, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glVideoCaptureStreamParameterdvNV(GLuint video_capture_slot, GLuint stream, GLenum pname, const GLdouble *params);\nREGAL_DECL void REGAL_CALL plugin_glVideoCaptureStreamParameterfvNV(GLuint video_capture_slot, GLuint stream, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glVideoCaptureStreamParameterivNV(GLuint video_capture_slot, GLuint stream, GLenum pname, const GLint *params);\n#endif\n\n/**\n ** GL_OES_blend_equation_separate\n **/\n\n#if (defined(GL_OES_BLEND_EQUATION_SEPARATE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_OES_BLEND_EQUATION_SEPARATE)) && !defined(REGAL_NO_ENUM_GL_OES_BLEND_EQUATION_SEPARATE)\n#define REGAL_NO_ENUM_GL_OES_BLEND_EQUATION_SEPARATE\n#endif\n\n#if (defined(GL_OES_BLEND_EQUATION_SEPARATE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_OES_BLEND_EQUATION_SEPARATE)) && !defined(REGAL_NO_TYPEDEF_GL_OES_BLEND_EQUATION_SEPARATE)\n#define REGAL_NO_TYPEDEF_GL_OES_BLEND_EQUATION_SEPARATE\n#endif\n\n#if (defined(GL_OES_BLEND_EQUATION_SEPARATE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_OES_BLEND_EQUATION_SEPARATE)) && !defined(REGAL_NO_NAMESPACE_GL_OES_BLEND_EQUATION_SEPARATE)\n#define REGAL_NO_NAMESPACE_GL_OES_BLEND_EQUATION_SEPARATE\n#endif\n\n#if (defined(GL_OES_BLEND_EQUATION_SEPARATE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_OES_BLEND_EQUATION_SEPARATE)) && !defined(REGAL_NO_PLUGIN_GL_OES_BLEND_EQUATION_SEPARATE)\n#define REGAL_NO_PLUGIN_GL_OES_BLEND_EQUATION_SEPARATE\n#endif\n\n#if (defined(GL_OES_BLEND_EQUATION_SEPARATE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_OES_BLEND_EQUATION_SEPARATE)) && !defined(REGAL_NO_DECLARATION_GL_OES_BLEND_EQUATION_SEPARATE)\n#define REGAL_NO_DECLARATION_GL_OES_BLEND_EQUATION_SEPARATE\n#endif\n\n#ifndef GL_OES_blend_equation_separate\n#define GL_OES_blend_equation_separate 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_OES_BLEND_EQUATION_SEPARATE\n#define GL_BLEND_EQUATION_RGB_OES   0x8009     /* 32777 */\n#define GL_BLEND_EQUATION_ALPHA_OES 0x883d     /* 34877 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_OES_BLEND_EQUATION_SEPARATE\ntypedef void (REGAL_CALL *PFNGLBLENDEQUATIONSEPARATEOESPROC)(GLenum modeRGB, GLenum modeAlpha);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_OES_BLEND_EQUATION_SEPARATE\n#define glBlendEquationSeparateOES          rglBlendEquationSeparateOES\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_OES_BLEND_EQUATION_SEPARATE\nREGAL_DECL void REGAL_CALL glBlendEquationSeparateOES(GLenum modeRGB, GLenum modeAlpha);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_OES_BLEND_EQUATION_SEPARATE\nREGAL_DECL void REGAL_CALL plugin_glBlendEquationSeparateOES(GLenum modeRGB, GLenum modeAlpha);\n#endif\n\n/**\n ** GL_OES_blend_func_separate\n **/\n\n#if (defined(GL_OES_BLEND_FUNC_SEPARATE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_OES_BLEND_FUNC_SEPARATE)) && !defined(REGAL_NO_ENUM_GL_OES_BLEND_FUNC_SEPARATE)\n#define REGAL_NO_ENUM_GL_OES_BLEND_FUNC_SEPARATE\n#endif\n\n#if (defined(GL_OES_BLEND_FUNC_SEPARATE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_OES_BLEND_FUNC_SEPARATE)) && !defined(REGAL_NO_TYPEDEF_GL_OES_BLEND_FUNC_SEPARATE)\n#define REGAL_NO_TYPEDEF_GL_OES_BLEND_FUNC_SEPARATE\n#endif\n\n#if (defined(GL_OES_BLEND_FUNC_SEPARATE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_OES_BLEND_FUNC_SEPARATE)) && !defined(REGAL_NO_NAMESPACE_GL_OES_BLEND_FUNC_SEPARATE)\n#define REGAL_NO_NAMESPACE_GL_OES_BLEND_FUNC_SEPARATE\n#endif\n\n#if (defined(GL_OES_BLEND_FUNC_SEPARATE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_OES_BLEND_FUNC_SEPARATE)) && !defined(REGAL_NO_PLUGIN_GL_OES_BLEND_FUNC_SEPARATE)\n#define REGAL_NO_PLUGIN_GL_OES_BLEND_FUNC_SEPARATE\n#endif\n\n#if (defined(GL_OES_BLEND_FUNC_SEPARATE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_OES_BLEND_FUNC_SEPARATE)) && !defined(REGAL_NO_DECLARATION_GL_OES_BLEND_FUNC_SEPARATE)\n#define REGAL_NO_DECLARATION_GL_OES_BLEND_FUNC_SEPARATE\n#endif\n\n#ifndef GL_OES_blend_func_separate\n#define GL_OES_blend_func_separate 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_OES_BLEND_FUNC_SEPARATE\n#define GL_BLEND_DST_RGB_OES   0x80c8     /* 32968 */\n#define GL_BLEND_SRC_RGB_OES   0x80c9     /* 32969 */\n#define GL_BLEND_DST_ALPHA_OES 0x80ca     /* 32970 */\n#define GL_BLEND_SRC_ALPHA_OES 0x80cb     /* 32971 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_OES_BLEND_FUNC_SEPARATE\ntypedef void (REGAL_CALL *PFNGLBLENDFUNCSEPARATEOESPROC)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_OES_BLEND_FUNC_SEPARATE\n#define glBlendFuncSeparateOES              rglBlendFuncSeparateOES\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_OES_BLEND_FUNC_SEPARATE\nREGAL_DECL void REGAL_CALL glBlendFuncSeparateOES(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_OES_BLEND_FUNC_SEPARATE\nREGAL_DECL void REGAL_CALL plugin_glBlendFuncSeparateOES(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);\n#endif\n\n/**\n ** GL_OES_blend_subtract\n **/\n\n#if (defined(GL_OES_BLEND_SUBTRACT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_OES_BLEND_SUBTRACT)) && !defined(REGAL_NO_ENUM_GL_OES_BLEND_SUBTRACT)\n#define REGAL_NO_ENUM_GL_OES_BLEND_SUBTRACT\n#endif\n\n#if (defined(GL_OES_BLEND_SUBTRACT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_OES_BLEND_SUBTRACT)) && !defined(REGAL_NO_TYPEDEF_GL_OES_BLEND_SUBTRACT)\n#define REGAL_NO_TYPEDEF_GL_OES_BLEND_SUBTRACT\n#endif\n\n#if (defined(GL_OES_BLEND_SUBTRACT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_OES_BLEND_SUBTRACT)) && !defined(REGAL_NO_NAMESPACE_GL_OES_BLEND_SUBTRACT)\n#define REGAL_NO_NAMESPACE_GL_OES_BLEND_SUBTRACT\n#endif\n\n#if (defined(GL_OES_BLEND_SUBTRACT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_OES_BLEND_SUBTRACT)) && !defined(REGAL_NO_PLUGIN_GL_OES_BLEND_SUBTRACT)\n#define REGAL_NO_PLUGIN_GL_OES_BLEND_SUBTRACT\n#endif\n\n#if (defined(GL_OES_BLEND_SUBTRACT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_OES_BLEND_SUBTRACT)) && !defined(REGAL_NO_DECLARATION_GL_OES_BLEND_SUBTRACT)\n#define REGAL_NO_DECLARATION_GL_OES_BLEND_SUBTRACT\n#endif\n\n#ifndef GL_OES_blend_subtract\n#define GL_OES_blend_subtract 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_OES_BLEND_SUBTRACT\n#define GL_FUNC_ADD_OES              0x8006     /* 32774 */\n#define GL_BLEND_EQUATION_OES        0x8009     /* 32777 */\n#define GL_FUNC_SUBTRACT_OES         0x800a     /* 32778 */\n#define GL_FUNC_REVERSE_SUBTRACT_OES 0x800b     /* 32779 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_OES_BLEND_SUBTRACT\ntypedef void (REGAL_CALL *PFNGLBLENDEQUATIONOESPROC)(GLenum mode);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_OES_BLEND_SUBTRACT\n#define glBlendEquationOES                  rglBlendEquationOES\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_OES_BLEND_SUBTRACT\nREGAL_DECL void REGAL_CALL glBlendEquationOES(GLenum mode);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_OES_BLEND_SUBTRACT\nREGAL_DECL void REGAL_CALL plugin_glBlendEquationOES(GLenum mode);\n#endif\n\n/**\n ** GL_OES_compressed_ETC1_RGB8_texture\n **/\n\n#if (defined(GL_OES_COMPRESSED_ETC1_RGB8_TEXTURE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_OES_COMPRESSED_ETC1_RGB8_TEXTURE)) && !defined(REGAL_NO_ENUM_GL_OES_COMPRESSED_ETC1_RGB8_TEXTURE)\n#define REGAL_NO_ENUM_GL_OES_COMPRESSED_ETC1_RGB8_TEXTURE\n#endif\n\n#if (defined(GL_OES_COMPRESSED_ETC1_RGB8_TEXTURE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_OES_COMPRESSED_ETC1_RGB8_TEXTURE)) && !defined(REGAL_NO_TYPEDEF_GL_OES_COMPRESSED_ETC1_RGB8_TEXTURE)\n#define REGAL_NO_TYPEDEF_GL_OES_COMPRESSED_ETC1_RGB8_TEXTURE\n#endif\n\n#if (defined(GL_OES_COMPRESSED_ETC1_RGB8_TEXTURE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_OES_COMPRESSED_ETC1_RGB8_TEXTURE)) && !defined(REGAL_NO_NAMESPACE_GL_OES_COMPRESSED_ETC1_RGB8_TEXTURE)\n#define REGAL_NO_NAMESPACE_GL_OES_COMPRESSED_ETC1_RGB8_TEXTURE\n#endif\n\n#if (defined(GL_OES_COMPRESSED_ETC1_RGB8_TEXTURE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_OES_COMPRESSED_ETC1_RGB8_TEXTURE)) && !defined(REGAL_NO_PLUGIN_GL_OES_COMPRESSED_ETC1_RGB8_TEXTURE)\n#define REGAL_NO_PLUGIN_GL_OES_COMPRESSED_ETC1_RGB8_TEXTURE\n#endif\n\n#if (defined(GL_OES_COMPRESSED_ETC1_RGB8_TEXTURE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_OES_COMPRESSED_ETC1_RGB8_TEXTURE)) && !defined(REGAL_NO_DECLARATION_GL_OES_COMPRESSED_ETC1_RGB8_TEXTURE)\n#define REGAL_NO_DECLARATION_GL_OES_COMPRESSED_ETC1_RGB8_TEXTURE\n#endif\n\n#ifndef GL_OES_compressed_ETC1_RGB8_texture\n#define GL_OES_compressed_ETC1_RGB8_texture 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_OES_COMPRESSED_ETC1_RGB8_TEXTURE\n#define GL_ETC1_RGB8_OES 0x8d64 /* 36196 */\n#endif\n\n/**\n ** GL_OES_compressed_paletted_texture\n **/\n\n#if (defined(GL_OES_COMPRESSED_PALETTED_TEXTURE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_OES_COMPRESSED_PALETTED_TEXTURE)) && !defined(REGAL_NO_ENUM_GL_OES_COMPRESSED_PALETTED_TEXTURE)\n#define REGAL_NO_ENUM_GL_OES_COMPRESSED_PALETTED_TEXTURE\n#endif\n\n#if (defined(GL_OES_COMPRESSED_PALETTED_TEXTURE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_OES_COMPRESSED_PALETTED_TEXTURE)) && !defined(REGAL_NO_TYPEDEF_GL_OES_COMPRESSED_PALETTED_TEXTURE)\n#define REGAL_NO_TYPEDEF_GL_OES_COMPRESSED_PALETTED_TEXTURE\n#endif\n\n#if (defined(GL_OES_COMPRESSED_PALETTED_TEXTURE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_OES_COMPRESSED_PALETTED_TEXTURE)) && !defined(REGAL_NO_NAMESPACE_GL_OES_COMPRESSED_PALETTED_TEXTURE)\n#define REGAL_NO_NAMESPACE_GL_OES_COMPRESSED_PALETTED_TEXTURE\n#endif\n\n#if (defined(GL_OES_COMPRESSED_PALETTED_TEXTURE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_OES_COMPRESSED_PALETTED_TEXTURE)) && !defined(REGAL_NO_PLUGIN_GL_OES_COMPRESSED_PALETTED_TEXTURE)\n#define REGAL_NO_PLUGIN_GL_OES_COMPRESSED_PALETTED_TEXTURE\n#endif\n\n#if (defined(GL_OES_COMPRESSED_PALETTED_TEXTURE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_OES_COMPRESSED_PALETTED_TEXTURE)) && !defined(REGAL_NO_DECLARATION_GL_OES_COMPRESSED_PALETTED_TEXTURE)\n#define REGAL_NO_DECLARATION_GL_OES_COMPRESSED_PALETTED_TEXTURE\n#endif\n\n#ifndef GL_OES_compressed_paletted_texture\n#define GL_OES_compressed_paletted_texture 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_OES_COMPRESSED_PALETTED_TEXTURE\n#define GL_PALETTE4_RGB8_OES     0x8b90     /* 35728 */\n#define GL_PALETTE4_RGBA8_OES    0x8b91     /* 35729 */\n#define GL_PALETTE4_R5_G6_B5_OES 0x8b92     /* 35730 */\n#define GL_PALETTE4_RGBA4_OES    0x8b93     /* 35731 */\n#define GL_PALETTE4_RGB5_A1_OES  0x8b94     /* 35732 */\n#define GL_PALETTE8_RGB8_OES     0x8b95     /* 35733 */\n#define GL_PALETTE8_RGBA8_OES    0x8b96     /* 35734 */\n#define GL_PALETTE8_R5_G6_B5_OES 0x8b97     /* 35735 */\n#define GL_PALETTE8_RGBA4_OES    0x8b98     /* 35736 */\n#define GL_PALETTE8_RGB5_A1_OES  0x8b99     /* 35737 */\n#endif\n\n/**\n ** GL_OES_draw_texture\n **/\n\n#if (defined(GL_OES_DRAW_TEXTURE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_OES_DRAW_TEXTURE)) && !defined(REGAL_NO_ENUM_GL_OES_DRAW_TEXTURE)\n#define REGAL_NO_ENUM_GL_OES_DRAW_TEXTURE\n#endif\n\n#if (defined(GL_OES_DRAW_TEXTURE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_OES_DRAW_TEXTURE)) && !defined(REGAL_NO_TYPEDEF_GL_OES_DRAW_TEXTURE)\n#define REGAL_NO_TYPEDEF_GL_OES_DRAW_TEXTURE\n#endif\n\n#if (defined(GL_OES_DRAW_TEXTURE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_OES_DRAW_TEXTURE)) && !defined(REGAL_NO_NAMESPACE_GL_OES_DRAW_TEXTURE)\n#define REGAL_NO_NAMESPACE_GL_OES_DRAW_TEXTURE\n#endif\n\n#if (defined(GL_OES_DRAW_TEXTURE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_OES_DRAW_TEXTURE)) && !defined(REGAL_NO_PLUGIN_GL_OES_DRAW_TEXTURE)\n#define REGAL_NO_PLUGIN_GL_OES_DRAW_TEXTURE\n#endif\n\n#if (defined(GL_OES_DRAW_TEXTURE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_OES_DRAW_TEXTURE)) && !defined(REGAL_NO_DECLARATION_GL_OES_DRAW_TEXTURE)\n#define REGAL_NO_DECLARATION_GL_OES_DRAW_TEXTURE\n#endif\n\n#ifndef GL_OES_draw_texture\n#define GL_OES_draw_texture 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_OES_DRAW_TEXTURE\n#define GL_TEXTURE_CROP_RECT_OES 0x8b9d /* 35741 */\n#endif\n\n/**\n ** GL_OES_framebuffer_object\n **/\n\n#if (defined(GL_OES_FRAMEBUFFER_OBJECT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_OES_FRAMEBUFFER_OBJECT)) && !defined(REGAL_NO_ENUM_GL_OES_FRAMEBUFFER_OBJECT)\n#define REGAL_NO_ENUM_GL_OES_FRAMEBUFFER_OBJECT\n#endif\n\n#if (defined(GL_OES_FRAMEBUFFER_OBJECT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_OES_FRAMEBUFFER_OBJECT)) && !defined(REGAL_NO_TYPEDEF_GL_OES_FRAMEBUFFER_OBJECT)\n#define REGAL_NO_TYPEDEF_GL_OES_FRAMEBUFFER_OBJECT\n#endif\n\n#if (defined(GL_OES_FRAMEBUFFER_OBJECT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_OES_FRAMEBUFFER_OBJECT)) && !defined(REGAL_NO_NAMESPACE_GL_OES_FRAMEBUFFER_OBJECT)\n#define REGAL_NO_NAMESPACE_GL_OES_FRAMEBUFFER_OBJECT\n#endif\n\n#if (defined(GL_OES_FRAMEBUFFER_OBJECT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_OES_FRAMEBUFFER_OBJECT)) && !defined(REGAL_NO_PLUGIN_GL_OES_FRAMEBUFFER_OBJECT)\n#define REGAL_NO_PLUGIN_GL_OES_FRAMEBUFFER_OBJECT\n#endif\n\n#if (defined(GL_OES_FRAMEBUFFER_OBJECT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_OES_FRAMEBUFFER_OBJECT)) && !defined(REGAL_NO_DECLARATION_GL_OES_FRAMEBUFFER_OBJECT)\n#define REGAL_NO_DECLARATION_GL_OES_FRAMEBUFFER_OBJECT\n#endif\n\n#ifndef GL_OES_framebuffer_object\n#define GL_OES_framebuffer_object 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_OES_FRAMEBUFFER_OBJECT\n#define GL_NONE_OES                                         0x0\n#define GL_INVALID_FRAMEBUFFER_OPERATION_OES                0x506      /* 1286 */\n#define GL_MAX_RENDERBUFFER_SIZE_OES                        0x84e8     /* 34024 */\n#define GL_FRAMEBUFFER_BINDING_OES                          0x8ca6     /* 36006 */\n#define GL_RENDERBUFFER_BINDING_OES                         0x8ca7     /* 36007 */\n#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES           0x8cd0     /* 36048 */\n#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES           0x8cd1     /* 36049 */\n#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES         0x8cd2     /* 36050 */\n#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES 0x8cd3     /* 36051 */\n#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES    0x8cd4     /* 36052 */\n#define GL_FRAMEBUFFER_COMPLETE_OES                         0x8cd5     /* 36053 */\n#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES            0x8cd6     /* 36054 */\n#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES    0x8cd7     /* 36055 */\n#define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_OES            0x8cd9     /* 36057 */\n#define GL_FRAMEBUFFER_INCOMPLETE_FORMATS_OES               0x8cda     /* 36058 */\n#define GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_OES           0x8cdb     /* 36059 */\n#define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_OES           0x8cdc     /* 36060 */\n#define GL_FRAMEBUFFER_UNSUPPORTED_OES                      0x8cdd     /* 36061 */\n#define GL_COLOR_ATTACHMENT0_OES                            0x8ce0     /* 36064 */\n#define GL_DEPTH_ATTACHMENT_OES                             0x8d00     /* 36096 */\n#define GL_STENCIL_ATTACHMENT_OES                           0x8d20     /* 36128 */\n#define GL_FRAMEBUFFER_OES                                  0x8d40     /* 36160 */\n#define GL_RENDERBUFFER_OES                                 0x8d41     /* 36161 */\n#define GL_RENDERBUFFER_WIDTH_OES                           0x8d42     /* 36162 */\n#define GL_RENDERBUFFER_HEIGHT_OES                          0x8d43     /* 36163 */\n#define GL_RENDERBUFFER_INTERNAL_FORMAT_OES                 0x8d44     /* 36164 */\n#define GL_RENDERBUFFER_RED_SIZE_OES                        0x8d50     /* 36176 */\n#define GL_RENDERBUFFER_GREEN_SIZE_OES                      0x8d51     /* 36177 */\n#define GL_RENDERBUFFER_BLUE_SIZE_OES                       0x8d52     /* 36178 */\n#define GL_RENDERBUFFER_ALPHA_SIZE_OES                      0x8d53     /* 36179 */\n#define GL_RENDERBUFFER_DEPTH_SIZE_OES                      0x8d54     /* 36180 */\n#define GL_RENDERBUFFER_STENCIL_SIZE_OES                    0x8d55     /* 36181 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_OES_FRAMEBUFFER_OBJECT\ntypedef GLboolean (REGAL_CALL *PFNGLISFRAMEBUFFEROESPROC)(GLuint framebuffer);\ntypedef GLboolean (REGAL_CALL *PFNGLISRENDERBUFFEROESPROC)(GLuint renderbuffer);\ntypedef GLenum (REGAL_CALL *PFNGLCHECKFRAMEBUFFERSTATUSOESPROC)(GLenum target);\ntypedef void (REGAL_CALL *PFNGLBINDFRAMEBUFFEROESPROC)(GLenum target, GLuint framebuffer);\ntypedef void (REGAL_CALL *PFNGLBINDRENDERBUFFEROESPROC)(GLenum target, GLuint renderbuffer);\ntypedef void (REGAL_CALL *PFNGLDELETEFRAMEBUFFERSOESPROC)(GLsizei n, const GLuint *framebuffers);\ntypedef void (REGAL_CALL *PFNGLDELETERENDERBUFFERSOESPROC)(GLsizei n, const GLuint *renderbuffers);\ntypedef void (REGAL_CALL *PFNGLFRAMEBUFFERRENDERBUFFEROESPROC)(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);\ntypedef void (REGAL_CALL *PFNGLFRAMEBUFFERTEXTURE2DOESPROC)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);\ntypedef void (REGAL_CALL *PFNGLGENERATEMIPMAPOESPROC)(GLenum target);\ntypedef void (REGAL_CALL *PFNGLGENFRAMEBUFFERSOESPROC)(GLsizei n, GLuint *framebuffers);\ntypedef void (REGAL_CALL *PFNGLGENRENDERBUFFERSOESPROC)(GLsizei n, GLuint *renderbuffers);\ntypedef void (REGAL_CALL *PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVOESPROC)(GLenum target, GLenum attachment, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETRENDERBUFFERPARAMETERIVOESPROC)(GLenum target, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLRENDERBUFFERSTORAGEOESPROC)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_OES_FRAMEBUFFER_OBJECT\n#define glBindFramebufferOES                rglBindFramebufferOES\n#define glBindRenderbufferOES               rglBindRenderbufferOES\n#define glCheckFramebufferStatusOES         rglCheckFramebufferStatusOES\n#define glDeleteFramebuffersOES             rglDeleteFramebuffersOES\n#define glDeleteRenderbuffersOES            rglDeleteRenderbuffersOES\n#define glFramebufferRenderbufferOES        rglFramebufferRenderbufferOES\n#define glFramebufferTexture2DOES           rglFramebufferTexture2DOES\n#define glGenFramebuffersOES                rglGenFramebuffersOES\n#define glGenRenderbuffersOES               rglGenRenderbuffersOES\n#define glGenerateMipmapOES                 rglGenerateMipmapOES\n#define glGetFramebufferAttachmentParameterivOES rglGetFramebufferAttachmentParameterivOES\n#define glGetRenderbufferParameterivOES     rglGetRenderbufferParameterivOES\n#define glIsFramebufferOES                  rglIsFramebufferOES\n#define glIsRenderbufferOES                 rglIsRenderbufferOES\n#define glRenderbufferStorageOES            rglRenderbufferStorageOES\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_OES_FRAMEBUFFER_OBJECT\nREGAL_DECL GLboolean REGAL_CALL glIsFramebufferOES(GLuint framebuffer);\nREGAL_DECL GLboolean REGAL_CALL glIsRenderbufferOES(GLuint renderbuffer);\nREGAL_DECL GLenum REGAL_CALL glCheckFramebufferStatusOES(GLenum target);\nREGAL_DECL void REGAL_CALL glBindFramebufferOES(GLenum target, GLuint framebuffer);\nREGAL_DECL void REGAL_CALL glBindRenderbufferOES(GLenum target, GLuint renderbuffer);\nREGAL_DECL void REGAL_CALL glDeleteFramebuffersOES(GLsizei n, const GLuint *framebuffers);\nREGAL_DECL void REGAL_CALL glDeleteRenderbuffersOES(GLsizei n, const GLuint *renderbuffers);\nREGAL_DECL void REGAL_CALL glFramebufferRenderbufferOES(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);\nREGAL_DECL void REGAL_CALL glFramebufferTexture2DOES(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);\nREGAL_DECL void REGAL_CALL glGenFramebuffersOES(GLsizei n, GLuint *framebuffers);\nREGAL_DECL void REGAL_CALL glGenRenderbuffersOES(GLsizei n, GLuint *renderbuffers);\nREGAL_DECL void REGAL_CALL glGenerateMipmapOES(GLenum target);\nREGAL_DECL void REGAL_CALL glGetFramebufferAttachmentParameterivOES(GLenum target, GLenum attachment, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetRenderbufferParameterivOES(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glRenderbufferStorageOES(GLenum target, GLenum internalformat, GLsizei width, GLsizei height);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_OES_FRAMEBUFFER_OBJECT\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsFramebufferOES(GLuint framebuffer);\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsRenderbufferOES(GLuint renderbuffer);\nREGAL_DECL GLenum REGAL_CALL plugin_glCheckFramebufferStatusOES(GLenum target);\nREGAL_DECL void REGAL_CALL plugin_glBindFramebufferOES(GLenum target, GLuint framebuffer);\nREGAL_DECL void REGAL_CALL plugin_glBindRenderbufferOES(GLenum target, GLuint renderbuffer);\nREGAL_DECL void REGAL_CALL plugin_glDeleteFramebuffersOES(GLsizei n, const GLuint *framebuffers);\nREGAL_DECL void REGAL_CALL plugin_glDeleteRenderbuffersOES(GLsizei n, const GLuint *renderbuffers);\nREGAL_DECL void REGAL_CALL plugin_glFramebufferRenderbufferOES(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);\nREGAL_DECL void REGAL_CALL plugin_glFramebufferTexture2DOES(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);\nREGAL_DECL void REGAL_CALL plugin_glGenFramebuffersOES(GLsizei n, GLuint *framebuffers);\nREGAL_DECL void REGAL_CALL plugin_glGenRenderbuffersOES(GLsizei n, GLuint *renderbuffers);\nREGAL_DECL void REGAL_CALL plugin_glGenerateMipmapOES(GLenum target);\nREGAL_DECL void REGAL_CALL plugin_glGetFramebufferAttachmentParameterivOES(GLenum target, GLenum attachment, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetRenderbufferParameterivOES(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glRenderbufferStorageOES(GLenum target, GLenum internalformat, GLsizei width, GLsizei height);\n#endif\n\n/**\n ** GL_OES_get_program_binary\n **/\n\n#if (defined(GL_OES_GET_PROGRAM_BINARY) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_OES_GET_PROGRAM_BINARY)) && !defined(REGAL_NO_ENUM_GL_OES_GET_PROGRAM_BINARY)\n#define REGAL_NO_ENUM_GL_OES_GET_PROGRAM_BINARY\n#endif\n\n#if (defined(GL_OES_GET_PROGRAM_BINARY) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_OES_GET_PROGRAM_BINARY)) && !defined(REGAL_NO_TYPEDEF_GL_OES_GET_PROGRAM_BINARY)\n#define REGAL_NO_TYPEDEF_GL_OES_GET_PROGRAM_BINARY\n#endif\n\n#if (defined(GL_OES_GET_PROGRAM_BINARY) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_OES_GET_PROGRAM_BINARY)) && !defined(REGAL_NO_NAMESPACE_GL_OES_GET_PROGRAM_BINARY)\n#define REGAL_NO_NAMESPACE_GL_OES_GET_PROGRAM_BINARY\n#endif\n\n#if (defined(GL_OES_GET_PROGRAM_BINARY) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_OES_GET_PROGRAM_BINARY)) && !defined(REGAL_NO_PLUGIN_GL_OES_GET_PROGRAM_BINARY)\n#define REGAL_NO_PLUGIN_GL_OES_GET_PROGRAM_BINARY\n#endif\n\n#if (defined(GL_OES_GET_PROGRAM_BINARY) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_OES_GET_PROGRAM_BINARY)) && !defined(REGAL_NO_DECLARATION_GL_OES_GET_PROGRAM_BINARY)\n#define REGAL_NO_DECLARATION_GL_OES_GET_PROGRAM_BINARY\n#endif\n\n#ifndef GL_OES_get_program_binary\n#define GL_OES_get_program_binary 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_OES_GET_PROGRAM_BINARY\n#define GL_PROGRAM_BINARY_LENGTH_OES      0x8741     /* 34625 */\n#define GL_NUM_PROGRAM_BINARY_FORMATS_OES 0x87fe     /* 34814 */\n#define GL_PROGRAM_BINARY_FORMATS_OES     0x87ff     /* 34815 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_OES_GET_PROGRAM_BINARY\ntypedef void (REGAL_CALL *PFNGLGETPROGRAMBINARYOESPROC)(GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary);\ntypedef void (REGAL_CALL *PFNGLPROGRAMBINARYOESPROC)(GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_OES_GET_PROGRAM_BINARY\n#define glGetProgramBinaryOES               rglGetProgramBinaryOES\n#define glProgramBinaryOES                  rglProgramBinaryOES\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_OES_GET_PROGRAM_BINARY\nREGAL_DECL void REGAL_CALL glGetProgramBinaryOES(GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary);\nREGAL_DECL void REGAL_CALL glProgramBinaryOES(GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_OES_GET_PROGRAM_BINARY\nREGAL_DECL void REGAL_CALL plugin_glGetProgramBinaryOES(GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary);\nREGAL_DECL void REGAL_CALL plugin_glProgramBinaryOES(GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length);\n#endif\n\n/**\n ** GL_OES_mapbuffer\n **/\n\n#if (defined(GL_OES_MAPBUFFER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_OES_MAPBUFFER)) && !defined(REGAL_NO_ENUM_GL_OES_MAPBUFFER)\n#define REGAL_NO_ENUM_GL_OES_MAPBUFFER\n#endif\n\n#if (defined(GL_OES_MAPBUFFER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_OES_MAPBUFFER)) && !defined(REGAL_NO_TYPEDEF_GL_OES_MAPBUFFER)\n#define REGAL_NO_TYPEDEF_GL_OES_MAPBUFFER\n#endif\n\n#if (defined(GL_OES_MAPBUFFER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_OES_MAPBUFFER)) && !defined(REGAL_NO_NAMESPACE_GL_OES_MAPBUFFER)\n#define REGAL_NO_NAMESPACE_GL_OES_MAPBUFFER\n#endif\n\n#if (defined(GL_OES_MAPBUFFER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_OES_MAPBUFFER)) && !defined(REGAL_NO_PLUGIN_GL_OES_MAPBUFFER)\n#define REGAL_NO_PLUGIN_GL_OES_MAPBUFFER\n#endif\n\n#if (defined(GL_OES_MAPBUFFER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_OES_MAPBUFFER)) && !defined(REGAL_NO_DECLARATION_GL_OES_MAPBUFFER)\n#define REGAL_NO_DECLARATION_GL_OES_MAPBUFFER\n#endif\n\n#ifndef GL_OES_mapbuffer\n#define GL_OES_mapbuffer 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_OES_MAPBUFFER\n#define GL_WRITE_ONLY_OES         0x88b9     /* 35001 */\n#define GL_BUFFER_ACCESS_OES      0x88bb     /* 35003 */\n#define GL_BUFFER_MAPPED_OES      0x88bc     /* 35004 */\n#define GL_BUFFER_MAP_POINTER_OES 0x88bd     /* 35005 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_OES_MAPBUFFER\ntypedef GLboolean (REGAL_CALL *PFNGLUNMAPBUFFEROESPROC)(GLenum target);\ntypedef GLvoid *(REGAL_CALL *PFNGLMAPBUFFEROESPROC)(GLenum target, GLenum access);\ntypedef void (REGAL_CALL *PFNGLGETBUFFERPOINTERVOESPROC)(GLenum target, GLenum pname, GLvoid **params);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_OES_MAPBUFFER\n#define glGetBufferPointervOES              rglGetBufferPointervOES\n#define glMapBufferOES                      rglMapBufferOES\n#define glUnmapBufferOES                    rglUnmapBufferOES\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_OES_MAPBUFFER\nREGAL_DECL GLboolean REGAL_CALL glUnmapBufferOES(GLenum target);\nREGAL_DECL GLvoid *REGAL_CALL glMapBufferOES(GLenum target, GLenum access);\nREGAL_DECL void REGAL_CALL glGetBufferPointervOES(GLenum target, GLenum pname, GLvoid **params);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_OES_MAPBUFFER\nREGAL_DECL GLboolean REGAL_CALL plugin_glUnmapBufferOES(GLenum target);\nREGAL_DECL GLvoid *REGAL_CALL plugin_glMapBufferOES(GLenum target, GLenum access);\nREGAL_DECL void REGAL_CALL plugin_glGetBufferPointervOES(GLenum target, GLenum pname, GLvoid **params);\n#endif\n\n/**\n ** GL_OES_matrix_get\n **/\n\n#if (defined(GL_OES_MATRIX_GET) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_OES_MATRIX_GET)) && !defined(REGAL_NO_ENUM_GL_OES_MATRIX_GET)\n#define REGAL_NO_ENUM_GL_OES_MATRIX_GET\n#endif\n\n#if (defined(GL_OES_MATRIX_GET) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_OES_MATRIX_GET)) && !defined(REGAL_NO_TYPEDEF_GL_OES_MATRIX_GET)\n#define REGAL_NO_TYPEDEF_GL_OES_MATRIX_GET\n#endif\n\n#if (defined(GL_OES_MATRIX_GET) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_OES_MATRIX_GET)) && !defined(REGAL_NO_NAMESPACE_GL_OES_MATRIX_GET)\n#define REGAL_NO_NAMESPACE_GL_OES_MATRIX_GET\n#endif\n\n#if (defined(GL_OES_MATRIX_GET) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_OES_MATRIX_GET)) && !defined(REGAL_NO_PLUGIN_GL_OES_MATRIX_GET)\n#define REGAL_NO_PLUGIN_GL_OES_MATRIX_GET\n#endif\n\n#if (defined(GL_OES_MATRIX_GET) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_OES_MATRIX_GET)) && !defined(REGAL_NO_DECLARATION_GL_OES_MATRIX_GET)\n#define REGAL_NO_DECLARATION_GL_OES_MATRIX_GET\n#endif\n\n#ifndef GL_OES_matrix_get\n#define GL_OES_matrix_get 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_OES_MATRIX_GET\n#define GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES  0x898     /* 2200 */\n#define GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES 0x898     /* 2200 */\n#define GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES    0x898     /* 2200 */\n#endif\n\n/**\n ** GL_OES_matrix_palette\n **/\n\n#if (defined(GL_OES_MATRIX_PALETTE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_OES_MATRIX_PALETTE)) && !defined(REGAL_NO_ENUM_GL_OES_MATRIX_PALETTE)\n#define REGAL_NO_ENUM_GL_OES_MATRIX_PALETTE\n#endif\n\n#if (defined(GL_OES_MATRIX_PALETTE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_OES_MATRIX_PALETTE)) && !defined(REGAL_NO_TYPEDEF_GL_OES_MATRIX_PALETTE)\n#define REGAL_NO_TYPEDEF_GL_OES_MATRIX_PALETTE\n#endif\n\n#if (defined(GL_OES_MATRIX_PALETTE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_OES_MATRIX_PALETTE)) && !defined(REGAL_NO_NAMESPACE_GL_OES_MATRIX_PALETTE)\n#define REGAL_NO_NAMESPACE_GL_OES_MATRIX_PALETTE\n#endif\n\n#if (defined(GL_OES_MATRIX_PALETTE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_OES_MATRIX_PALETTE)) && !defined(REGAL_NO_PLUGIN_GL_OES_MATRIX_PALETTE)\n#define REGAL_NO_PLUGIN_GL_OES_MATRIX_PALETTE\n#endif\n\n#if (defined(GL_OES_MATRIX_PALETTE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_OES_MATRIX_PALETTE)) && !defined(REGAL_NO_DECLARATION_GL_OES_MATRIX_PALETTE)\n#define REGAL_NO_DECLARATION_GL_OES_MATRIX_PALETTE\n#endif\n\n#ifndef GL_OES_matrix_palette\n#define GL_OES_matrix_palette 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_OES_MATRIX_PALETTE\n#define GL_MAX_VERTEX_UNITS_OES                  0x86a4     /* 34468 */\n#define GL_WEIGHT_ARRAY_TYPE_OES                 0x86a9     /* 34473 */\n#define GL_WEIGHT_ARRAY_STRIDE_OES               0x86aa     /* 34474 */\n#define GL_WEIGHT_ARRAY_SIZE_OES                 0x86ab     /* 34475 */\n#define GL_WEIGHT_ARRAY_POINTER_OES              0x86ac     /* 34476 */\n#define GL_WEIGHT_ARRAY_OES                      0x86ad     /* 34477 */\n#define GL_MATRIX_PALETTE_OES                    0x8840     /* 34880 */\n#define GL_MAX_PALETTE_MATRICES_OES              0x8842     /* 34882 */\n#define GL_CURRENT_PALETTE_MATRIX_OES            0x8843     /* 34883 */\n#define GL_MATRIX_INDEX_ARRAY_OES                0x8844     /* 34884 */\n#define GL_MATRIX_INDEX_ARRAY_SIZE_OES           0x8846     /* 34886 */\n#define GL_MATRIX_INDEX_ARRAY_TYPE_OES           0x8847     /* 34887 */\n#define GL_MATRIX_INDEX_ARRAY_STRIDE_OES         0x8848     /* 34888 */\n#define GL_MATRIX_INDEX_ARRAY_POINTER_OES        0x8849     /* 34889 */\n#define GL_WEIGHT_ARRAY_BUFFER_BINDING_OES       0x889e     /* 34974 */\n#define GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES 0x8b9e     /* 35742 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_OES_MATRIX_PALETTE\ntypedef void (REGAL_CALL *PFNGLCURRENTPALETTEMATRIXOESPROC)(GLuint index);\ntypedef void (REGAL_CALL *PFNGLMATRIXINDEXPOINTEROESPROC)(GLint size, GLenum type, GLsizei stride, GLvoid *pointer);\ntypedef void (REGAL_CALL *PFNGLWEIGHTPOINTEROESPROC)(GLint size, GLenum type, GLsizei stride, GLvoid *pointer);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_OES_MATRIX_PALETTE\n#define glCurrentPaletteMatrixOES           rglCurrentPaletteMatrixOES\n#define glMatrixIndexPointerOES             rglMatrixIndexPointerOES\n#define glWeightPointerOES                  rglWeightPointerOES\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_OES_MATRIX_PALETTE\nREGAL_DECL void REGAL_CALL glCurrentPaletteMatrixOES(GLuint index);\nREGAL_DECL void REGAL_CALL glMatrixIndexPointerOES(GLint size, GLenum type, GLsizei stride, GLvoid *pointer);\nREGAL_DECL void REGAL_CALL glWeightPointerOES(GLint size, GLenum type, GLsizei stride, GLvoid *pointer);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_OES_MATRIX_PALETTE\nREGAL_DECL void REGAL_CALL plugin_glCurrentPaletteMatrixOES(GLuint index);\nREGAL_DECL void REGAL_CALL plugin_glMatrixIndexPointerOES(GLint size, GLenum type, GLsizei stride, GLvoid *pointer);\nREGAL_DECL void REGAL_CALL plugin_glWeightPointerOES(GLint size, GLenum type, GLsizei stride, GLvoid *pointer);\n#endif\n\n/**\n ** GL_OES_packed_depth_stencil\n **/\n\n#if (defined(GL_OES_PACKED_DEPTH_STENCIL) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_OES_PACKED_DEPTH_STENCIL)) && !defined(REGAL_NO_ENUM_GL_OES_PACKED_DEPTH_STENCIL)\n#define REGAL_NO_ENUM_GL_OES_PACKED_DEPTH_STENCIL\n#endif\n\n#if (defined(GL_OES_PACKED_DEPTH_STENCIL) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_OES_PACKED_DEPTH_STENCIL)) && !defined(REGAL_NO_TYPEDEF_GL_OES_PACKED_DEPTH_STENCIL)\n#define REGAL_NO_TYPEDEF_GL_OES_PACKED_DEPTH_STENCIL\n#endif\n\n#if (defined(GL_OES_PACKED_DEPTH_STENCIL) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_OES_PACKED_DEPTH_STENCIL)) && !defined(REGAL_NO_NAMESPACE_GL_OES_PACKED_DEPTH_STENCIL)\n#define REGAL_NO_NAMESPACE_GL_OES_PACKED_DEPTH_STENCIL\n#endif\n\n#if (defined(GL_OES_PACKED_DEPTH_STENCIL) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_OES_PACKED_DEPTH_STENCIL)) && !defined(REGAL_NO_PLUGIN_GL_OES_PACKED_DEPTH_STENCIL)\n#define REGAL_NO_PLUGIN_GL_OES_PACKED_DEPTH_STENCIL\n#endif\n\n#if (defined(GL_OES_PACKED_DEPTH_STENCIL) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_OES_PACKED_DEPTH_STENCIL)) && !defined(REGAL_NO_DECLARATION_GL_OES_PACKED_DEPTH_STENCIL)\n#define REGAL_NO_DECLARATION_GL_OES_PACKED_DEPTH_STENCIL\n#endif\n\n#ifndef GL_OES_packed_depth_stencil\n#define GL_OES_packed_depth_stencil 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_OES_PACKED_DEPTH_STENCIL\n#define GL_DEPTH_STENCIL_OES     0x84f9     /* 34041 */\n#define GL_UNSIGNED_INT_24_8_OES 0x84fa     /* 34042 */\n#endif\n\n/**\n ** GL_OES_point_size_array\n **/\n\n#if (defined(GL_OES_POINT_SIZE_ARRAY) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_OES_POINT_SIZE_ARRAY)) && !defined(REGAL_NO_ENUM_GL_OES_POINT_SIZE_ARRAY)\n#define REGAL_NO_ENUM_GL_OES_POINT_SIZE_ARRAY\n#endif\n\n#if (defined(GL_OES_POINT_SIZE_ARRAY) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_OES_POINT_SIZE_ARRAY)) && !defined(REGAL_NO_TYPEDEF_GL_OES_POINT_SIZE_ARRAY)\n#define REGAL_NO_TYPEDEF_GL_OES_POINT_SIZE_ARRAY\n#endif\n\n#if (defined(GL_OES_POINT_SIZE_ARRAY) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_OES_POINT_SIZE_ARRAY)) && !defined(REGAL_NO_NAMESPACE_GL_OES_POINT_SIZE_ARRAY)\n#define REGAL_NO_NAMESPACE_GL_OES_POINT_SIZE_ARRAY\n#endif\n\n#if (defined(GL_OES_POINT_SIZE_ARRAY) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_OES_POINT_SIZE_ARRAY)) && !defined(REGAL_NO_PLUGIN_GL_OES_POINT_SIZE_ARRAY)\n#define REGAL_NO_PLUGIN_GL_OES_POINT_SIZE_ARRAY\n#endif\n\n#if (defined(GL_OES_POINT_SIZE_ARRAY) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_OES_POINT_SIZE_ARRAY)) && !defined(REGAL_NO_DECLARATION_GL_OES_POINT_SIZE_ARRAY)\n#define REGAL_NO_DECLARATION_GL_OES_POINT_SIZE_ARRAY\n#endif\n\n#ifndef GL_OES_point_size_array\n#define GL_OES_point_size_array 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_OES_POINT_SIZE_ARRAY\n#define GL_POINT_SIZE_ARRAY_TYPE_OES           0x898a     /* 35210 */\n#define GL_POINT_SIZE_ARRAY_STRIDE_OES         0x898b     /* 35211 */\n#define GL_POINT_SIZE_ARRAY_POINTER_OES        0x898c     /* 35212 */\n#define GL_POINT_SIZE_ARRAY_OES                0x8b9c     /* 35740 */\n#define GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES 0x8b9f     /* 35743 */\n#endif\n\n/**\n ** GL_OES_point_sprite\n **/\n\n#if (defined(GL_OES_POINT_SPRITE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_OES_POINT_SPRITE)) && !defined(REGAL_NO_ENUM_GL_OES_POINT_SPRITE)\n#define REGAL_NO_ENUM_GL_OES_POINT_SPRITE\n#endif\n\n#if (defined(GL_OES_POINT_SPRITE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_OES_POINT_SPRITE)) && !defined(REGAL_NO_TYPEDEF_GL_OES_POINT_SPRITE)\n#define REGAL_NO_TYPEDEF_GL_OES_POINT_SPRITE\n#endif\n\n#if (defined(GL_OES_POINT_SPRITE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_OES_POINT_SPRITE)) && !defined(REGAL_NO_NAMESPACE_GL_OES_POINT_SPRITE)\n#define REGAL_NO_NAMESPACE_GL_OES_POINT_SPRITE\n#endif\n\n#if (defined(GL_OES_POINT_SPRITE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_OES_POINT_SPRITE)) && !defined(REGAL_NO_PLUGIN_GL_OES_POINT_SPRITE)\n#define REGAL_NO_PLUGIN_GL_OES_POINT_SPRITE\n#endif\n\n#if (defined(GL_OES_POINT_SPRITE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_OES_POINT_SPRITE)) && !defined(REGAL_NO_DECLARATION_GL_OES_POINT_SPRITE)\n#define REGAL_NO_DECLARATION_GL_OES_POINT_SPRITE\n#endif\n\n#ifndef GL_OES_point_sprite\n#define GL_OES_point_sprite 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_OES_POINT_SPRITE\n#define GL_POINT_SPRITE_OES  0x8861     /* 34913 */\n#define GL_COORD_REPLACE_OES 0x8862     /* 34914 */\n#endif\n\n/**\n ** GL_OES_read_format\n **/\n\n#if (defined(GL_OES_READ_FORMAT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_OES_READ_FORMAT)) && !defined(REGAL_NO_ENUM_GL_OES_READ_FORMAT)\n#define REGAL_NO_ENUM_GL_OES_READ_FORMAT\n#endif\n\n#if (defined(GL_OES_READ_FORMAT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_OES_READ_FORMAT)) && !defined(REGAL_NO_TYPEDEF_GL_OES_READ_FORMAT)\n#define REGAL_NO_TYPEDEF_GL_OES_READ_FORMAT\n#endif\n\n#if (defined(GL_OES_READ_FORMAT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_OES_READ_FORMAT)) && !defined(REGAL_NO_NAMESPACE_GL_OES_READ_FORMAT)\n#define REGAL_NO_NAMESPACE_GL_OES_READ_FORMAT\n#endif\n\n#if (defined(GL_OES_READ_FORMAT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_OES_READ_FORMAT)) && !defined(REGAL_NO_PLUGIN_GL_OES_READ_FORMAT)\n#define REGAL_NO_PLUGIN_GL_OES_READ_FORMAT\n#endif\n\n#if (defined(GL_OES_READ_FORMAT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_OES_READ_FORMAT)) && !defined(REGAL_NO_DECLARATION_GL_OES_READ_FORMAT)\n#define REGAL_NO_DECLARATION_GL_OES_READ_FORMAT\n#endif\n\n#ifndef GL_OES_read_format\n#define GL_OES_read_format 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_OES_READ_FORMAT\n#define GL_IMPLEMENTATION_COLOR_READ_TYPE_OES   0x8b9a     /* 35738 */\n#define GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES 0x8b9b     /* 35739 */\n#endif\n\n/**\n ** GL_OES_required_internalformat\n **/\n\n#if (defined(GL_OES_REQUIRED_INTERNALFORMAT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_OES_REQUIRED_INTERNALFORMAT)) && !defined(REGAL_NO_ENUM_GL_OES_REQUIRED_INTERNALFORMAT)\n#define REGAL_NO_ENUM_GL_OES_REQUIRED_INTERNALFORMAT\n#endif\n\n#if (defined(GL_OES_REQUIRED_INTERNALFORMAT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_OES_REQUIRED_INTERNALFORMAT)) && !defined(REGAL_NO_TYPEDEF_GL_OES_REQUIRED_INTERNALFORMAT)\n#define REGAL_NO_TYPEDEF_GL_OES_REQUIRED_INTERNALFORMAT\n#endif\n\n#if (defined(GL_OES_REQUIRED_INTERNALFORMAT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_OES_REQUIRED_INTERNALFORMAT)) && !defined(REGAL_NO_NAMESPACE_GL_OES_REQUIRED_INTERNALFORMAT)\n#define REGAL_NO_NAMESPACE_GL_OES_REQUIRED_INTERNALFORMAT\n#endif\n\n#if (defined(GL_OES_REQUIRED_INTERNALFORMAT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_OES_REQUIRED_INTERNALFORMAT)) && !defined(REGAL_NO_PLUGIN_GL_OES_REQUIRED_INTERNALFORMAT)\n#define REGAL_NO_PLUGIN_GL_OES_REQUIRED_INTERNALFORMAT\n#endif\n\n#if (defined(GL_OES_REQUIRED_INTERNALFORMAT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_OES_REQUIRED_INTERNALFORMAT)) && !defined(REGAL_NO_DECLARATION_GL_OES_REQUIRED_INTERNALFORMAT)\n#define REGAL_NO_DECLARATION_GL_OES_REQUIRED_INTERNALFORMAT\n#endif\n\n#ifndef GL_OES_required_internalformat\n#define GL_OES_required_internalformat 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_OES_REQUIRED_INTERNALFORMAT\n#define GL_ALPHA8_OES            0x803c     /* 32828 */\n#define GL_LUMINANCE8_OES        0x8040     /* 32832 */\n#define GL_LUMINANCE4_ALPHA4_OES 0x8043     /* 32835 */\n#define GL_LUMINANCE8_ALPHA8_OES 0x8045     /* 32837 */\n#define GL_RGBA4_OES             0x8056     /* 32854 */\n#define GL_RGB5_A1_OES           0x8057     /* 32855 */\n#define GL_DEPTH_COMPONENT16_OES 0x81a5     /* 33189 */\n#define GL_DEPTH_COMPONENT24_OES 0x81a6     /* 33190 */\n#define GL_DEPTH_COMPONENT32_OES 0x81a7     /* 33191 */\n#define GL_DEPTH24_STENCIL8_OES  0x88f0     /* 35056 */\n#define GL_RGB565_OES            0x8d62     /* 36194 */\n#endif\n\n/**\n ** GL_OES_rgb8_rgba8\n **/\n\n#if (defined(GL_OES_RGB8_RGBA8) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_OES_RGB8_RGBA8)) && !defined(REGAL_NO_ENUM_GL_OES_RGB8_RGBA8)\n#define REGAL_NO_ENUM_GL_OES_RGB8_RGBA8\n#endif\n\n#if (defined(GL_OES_RGB8_RGBA8) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_OES_RGB8_RGBA8)) && !defined(REGAL_NO_TYPEDEF_GL_OES_RGB8_RGBA8)\n#define REGAL_NO_TYPEDEF_GL_OES_RGB8_RGBA8\n#endif\n\n#if (defined(GL_OES_RGB8_RGBA8) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_OES_RGB8_RGBA8)) && !defined(REGAL_NO_NAMESPACE_GL_OES_RGB8_RGBA8)\n#define REGAL_NO_NAMESPACE_GL_OES_RGB8_RGBA8\n#endif\n\n#if (defined(GL_OES_RGB8_RGBA8) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_OES_RGB8_RGBA8)) && !defined(REGAL_NO_PLUGIN_GL_OES_RGB8_RGBA8)\n#define REGAL_NO_PLUGIN_GL_OES_RGB8_RGBA8\n#endif\n\n#if (defined(GL_OES_RGB8_RGBA8) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_OES_RGB8_RGBA8)) && !defined(REGAL_NO_DECLARATION_GL_OES_RGB8_RGBA8)\n#define REGAL_NO_DECLARATION_GL_OES_RGB8_RGBA8\n#endif\n\n#ifndef GL_OES_rgb8_rgba8\n#define GL_OES_rgb8_rgba8 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_OES_RGB8_RGBA8\n#define GL_RGB8_OES  0x8051     /* 32849 */\n#define GL_RGBA8_OES 0x8058     /* 32856 */\n#endif\n\n/**\n ** GL_OES_single_precision\n **/\n\n#if (defined(GL_OES_SINGLE_PRECISION) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_OES_SINGLE_PRECISION)) && !defined(REGAL_NO_ENUM_GL_OES_SINGLE_PRECISION)\n#define REGAL_NO_ENUM_GL_OES_SINGLE_PRECISION\n#endif\n\n#if (defined(GL_OES_SINGLE_PRECISION) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_OES_SINGLE_PRECISION)) && !defined(REGAL_NO_TYPEDEF_GL_OES_SINGLE_PRECISION)\n#define REGAL_NO_TYPEDEF_GL_OES_SINGLE_PRECISION\n#endif\n\n#if (defined(GL_OES_SINGLE_PRECISION) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_OES_SINGLE_PRECISION)) && !defined(REGAL_NO_NAMESPACE_GL_OES_SINGLE_PRECISION)\n#define REGAL_NO_NAMESPACE_GL_OES_SINGLE_PRECISION\n#endif\n\n#if (defined(GL_OES_SINGLE_PRECISION) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_OES_SINGLE_PRECISION)) && !defined(REGAL_NO_PLUGIN_GL_OES_SINGLE_PRECISION)\n#define REGAL_NO_PLUGIN_GL_OES_SINGLE_PRECISION\n#endif\n\n#if (defined(GL_OES_SINGLE_PRECISION) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_OES_SINGLE_PRECISION)) && !defined(REGAL_NO_DECLARATION_GL_OES_SINGLE_PRECISION)\n#define REGAL_NO_DECLARATION_GL_OES_SINGLE_PRECISION\n#endif\n\n#ifndef GL_OES_single_precision\n#define GL_OES_single_precision 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_OES_SINGLE_PRECISION\ntypedef void (REGAL_CALL *PFNGLCLEARDEPTHFOESPROC)(GLclampd depth);\ntypedef void (REGAL_CALL *PFNGLCLIPPLANEFOESPROC)(GLenum plane, const GLfloat *equation);\ntypedef void (REGAL_CALL *PFNGLDEPTHRANGEFOESPROC)(GLclampf n, GLclampf f);\ntypedef void (REGAL_CALL *PFNGLFRUSTUMFOESPROC)(GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f);\ntypedef void (REGAL_CALL *PFNGLGETCLIPPLANEFOESPROC)(GLenum plane, GLfloat *equation);\ntypedef void (REGAL_CALL *PFNGLORTHOFOESPROC)(GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_OES_SINGLE_PRECISION\n#define glClearDepthfOES                    rglClearDepthfOES\n#define glClipPlanefOES                     rglClipPlanefOES\n#define glDepthRangefOES                    rglDepthRangefOES\n#define glFrustumfOES                       rglFrustumfOES\n#define glGetClipPlanefOES                  rglGetClipPlanefOES\n#define glOrthofOES                         rglOrthofOES\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_OES_SINGLE_PRECISION\nREGAL_DECL void REGAL_CALL glClearDepthfOES(GLclampd depth);\nREGAL_DECL void REGAL_CALL glClipPlanefOES(GLenum plane, const GLfloat *equation);\nREGAL_DECL void REGAL_CALL glDepthRangefOES(GLclampf n, GLclampf f);\nREGAL_DECL void REGAL_CALL glFrustumfOES(GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f);\nREGAL_DECL void REGAL_CALL glGetClipPlanefOES(GLenum plane, GLfloat *equation);\nREGAL_DECL void REGAL_CALL glOrthofOES(GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_OES_SINGLE_PRECISION\nREGAL_DECL void REGAL_CALL plugin_glClearDepthfOES(GLclampd depth);\nREGAL_DECL void REGAL_CALL plugin_glClipPlanefOES(GLenum plane, const GLfloat *equation);\nREGAL_DECL void REGAL_CALL plugin_glDepthRangefOES(GLclampf n, GLclampf f);\nREGAL_DECL void REGAL_CALL plugin_glFrustumfOES(GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f);\nREGAL_DECL void REGAL_CALL plugin_glGetClipPlanefOES(GLenum plane, GLfloat *equation);\nREGAL_DECL void REGAL_CALL plugin_glOrthofOES(GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f);\n#endif\n\n/**\n ** GL_OES_standard_derivatives\n **/\n\n#if (defined(GL_OES_STANDARD_DERIVATIVES) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_OES_STANDARD_DERIVATIVES)) && !defined(REGAL_NO_ENUM_GL_OES_STANDARD_DERIVATIVES)\n#define REGAL_NO_ENUM_GL_OES_STANDARD_DERIVATIVES\n#endif\n\n#if (defined(GL_OES_STANDARD_DERIVATIVES) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_OES_STANDARD_DERIVATIVES)) && !defined(REGAL_NO_TYPEDEF_GL_OES_STANDARD_DERIVATIVES)\n#define REGAL_NO_TYPEDEF_GL_OES_STANDARD_DERIVATIVES\n#endif\n\n#if (defined(GL_OES_STANDARD_DERIVATIVES) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_OES_STANDARD_DERIVATIVES)) && !defined(REGAL_NO_NAMESPACE_GL_OES_STANDARD_DERIVATIVES)\n#define REGAL_NO_NAMESPACE_GL_OES_STANDARD_DERIVATIVES\n#endif\n\n#if (defined(GL_OES_STANDARD_DERIVATIVES) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_OES_STANDARD_DERIVATIVES)) && !defined(REGAL_NO_PLUGIN_GL_OES_STANDARD_DERIVATIVES)\n#define REGAL_NO_PLUGIN_GL_OES_STANDARD_DERIVATIVES\n#endif\n\n#if (defined(GL_OES_STANDARD_DERIVATIVES) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_OES_STANDARD_DERIVATIVES)) && !defined(REGAL_NO_DECLARATION_GL_OES_STANDARD_DERIVATIVES)\n#define REGAL_NO_DECLARATION_GL_OES_STANDARD_DERIVATIVES\n#endif\n\n#ifndef GL_OES_standard_derivatives\n#define GL_OES_standard_derivatives 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_OES_STANDARD_DERIVATIVES\n#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES 0x8b8b /* 35723 */\n#endif\n\n/**\n ** GL_OES_stencil1\n **/\n\n#if (defined(GL_OES_STENCIL1) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_OES_STENCIL1)) && !defined(REGAL_NO_ENUM_GL_OES_STENCIL1)\n#define REGAL_NO_ENUM_GL_OES_STENCIL1\n#endif\n\n#if (defined(GL_OES_STENCIL1) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_OES_STENCIL1)) && !defined(REGAL_NO_TYPEDEF_GL_OES_STENCIL1)\n#define REGAL_NO_TYPEDEF_GL_OES_STENCIL1\n#endif\n\n#if (defined(GL_OES_STENCIL1) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_OES_STENCIL1)) && !defined(REGAL_NO_NAMESPACE_GL_OES_STENCIL1)\n#define REGAL_NO_NAMESPACE_GL_OES_STENCIL1\n#endif\n\n#if (defined(GL_OES_STENCIL1) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_OES_STENCIL1)) && !defined(REGAL_NO_PLUGIN_GL_OES_STENCIL1)\n#define REGAL_NO_PLUGIN_GL_OES_STENCIL1\n#endif\n\n#if (defined(GL_OES_STENCIL1) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_OES_STENCIL1)) && !defined(REGAL_NO_DECLARATION_GL_OES_STENCIL1)\n#define REGAL_NO_DECLARATION_GL_OES_STENCIL1\n#endif\n\n#ifndef GL_OES_stencil1\n#define GL_OES_stencil1 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_OES_STENCIL1\n#define GL_STENCIL_INDEX1_OES 0x8d46 /* 36166 */\n#endif\n\n/**\n ** GL_OES_stencil4\n **/\n\n#if (defined(GL_OES_STENCIL4) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_OES_STENCIL4)) && !defined(REGAL_NO_ENUM_GL_OES_STENCIL4)\n#define REGAL_NO_ENUM_GL_OES_STENCIL4\n#endif\n\n#if (defined(GL_OES_STENCIL4) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_OES_STENCIL4)) && !defined(REGAL_NO_TYPEDEF_GL_OES_STENCIL4)\n#define REGAL_NO_TYPEDEF_GL_OES_STENCIL4\n#endif\n\n#if (defined(GL_OES_STENCIL4) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_OES_STENCIL4)) && !defined(REGAL_NO_NAMESPACE_GL_OES_STENCIL4)\n#define REGAL_NO_NAMESPACE_GL_OES_STENCIL4\n#endif\n\n#if (defined(GL_OES_STENCIL4) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_OES_STENCIL4)) && !defined(REGAL_NO_PLUGIN_GL_OES_STENCIL4)\n#define REGAL_NO_PLUGIN_GL_OES_STENCIL4\n#endif\n\n#if (defined(GL_OES_STENCIL4) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_OES_STENCIL4)) && !defined(REGAL_NO_DECLARATION_GL_OES_STENCIL4)\n#define REGAL_NO_DECLARATION_GL_OES_STENCIL4\n#endif\n\n#ifndef GL_OES_stencil4\n#define GL_OES_stencil4 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_OES_STENCIL4\n#define GL_STENCIL_INDEX4_OES 0x8d47 /* 36167 */\n#endif\n\n/**\n ** GL_OES_stencil8\n **/\n\n#if (defined(GL_OES_STENCIL8) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_OES_STENCIL8)) && !defined(REGAL_NO_ENUM_GL_OES_STENCIL8)\n#define REGAL_NO_ENUM_GL_OES_STENCIL8\n#endif\n\n#if (defined(GL_OES_STENCIL8) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_OES_STENCIL8)) && !defined(REGAL_NO_TYPEDEF_GL_OES_STENCIL8)\n#define REGAL_NO_TYPEDEF_GL_OES_STENCIL8\n#endif\n\n#if (defined(GL_OES_STENCIL8) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_OES_STENCIL8)) && !defined(REGAL_NO_NAMESPACE_GL_OES_STENCIL8)\n#define REGAL_NO_NAMESPACE_GL_OES_STENCIL8\n#endif\n\n#if (defined(GL_OES_STENCIL8) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_OES_STENCIL8)) && !defined(REGAL_NO_PLUGIN_GL_OES_STENCIL8)\n#define REGAL_NO_PLUGIN_GL_OES_STENCIL8\n#endif\n\n#if (defined(GL_OES_STENCIL8) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_OES_STENCIL8)) && !defined(REGAL_NO_DECLARATION_GL_OES_STENCIL8)\n#define REGAL_NO_DECLARATION_GL_OES_STENCIL8\n#endif\n\n#ifndef GL_OES_stencil8\n#define GL_OES_stencil8 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_OES_STENCIL8\n#define GL_STENCIL_INDEX8_OES 0x8d48 /* 36168 */\n#endif\n\n/**\n ** GL_OES_surfaceless_context\n **/\n\n#if (defined(GL_OES_SURFACELESS_CONTEXT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_OES_SURFACELESS_CONTEXT)) && !defined(REGAL_NO_ENUM_GL_OES_SURFACELESS_CONTEXT)\n#define REGAL_NO_ENUM_GL_OES_SURFACELESS_CONTEXT\n#endif\n\n#if (defined(GL_OES_SURFACELESS_CONTEXT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_OES_SURFACELESS_CONTEXT)) && !defined(REGAL_NO_TYPEDEF_GL_OES_SURFACELESS_CONTEXT)\n#define REGAL_NO_TYPEDEF_GL_OES_SURFACELESS_CONTEXT\n#endif\n\n#if (defined(GL_OES_SURFACELESS_CONTEXT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_OES_SURFACELESS_CONTEXT)) && !defined(REGAL_NO_NAMESPACE_GL_OES_SURFACELESS_CONTEXT)\n#define REGAL_NO_NAMESPACE_GL_OES_SURFACELESS_CONTEXT\n#endif\n\n#if (defined(GL_OES_SURFACELESS_CONTEXT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_OES_SURFACELESS_CONTEXT)) && !defined(REGAL_NO_PLUGIN_GL_OES_SURFACELESS_CONTEXT)\n#define REGAL_NO_PLUGIN_GL_OES_SURFACELESS_CONTEXT\n#endif\n\n#if (defined(GL_OES_SURFACELESS_CONTEXT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_OES_SURFACELESS_CONTEXT)) && !defined(REGAL_NO_DECLARATION_GL_OES_SURFACELESS_CONTEXT)\n#define REGAL_NO_DECLARATION_GL_OES_SURFACELESS_CONTEXT\n#endif\n\n#ifndef GL_OES_surfaceless_context\n#define GL_OES_surfaceless_context 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_OES_SURFACELESS_CONTEXT\n#define GL_FRAMEBUFFER_UNDEFINED_OES 0x8219 /* 33305 */\n#endif\n\n/**\n ** GL_OES_texture_3D\n **/\n\n#if (defined(GL_OES_TEXTURE_3D) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_OES_TEXTURE_3D)) && !defined(REGAL_NO_ENUM_GL_OES_TEXTURE_3D)\n#define REGAL_NO_ENUM_GL_OES_TEXTURE_3D\n#endif\n\n#if (defined(GL_OES_TEXTURE_3D) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_OES_TEXTURE_3D)) && !defined(REGAL_NO_TYPEDEF_GL_OES_TEXTURE_3D)\n#define REGAL_NO_TYPEDEF_GL_OES_TEXTURE_3D\n#endif\n\n#if (defined(GL_OES_TEXTURE_3D) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_OES_TEXTURE_3D)) && !defined(REGAL_NO_NAMESPACE_GL_OES_TEXTURE_3D)\n#define REGAL_NO_NAMESPACE_GL_OES_TEXTURE_3D\n#endif\n\n#if (defined(GL_OES_TEXTURE_3D) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_OES_TEXTURE_3D)) && !defined(REGAL_NO_PLUGIN_GL_OES_TEXTURE_3D)\n#define REGAL_NO_PLUGIN_GL_OES_TEXTURE_3D\n#endif\n\n#if (defined(GL_OES_TEXTURE_3D) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_OES_TEXTURE_3D)) && !defined(REGAL_NO_DECLARATION_GL_OES_TEXTURE_3D)\n#define REGAL_NO_DECLARATION_GL_OES_TEXTURE_3D\n#endif\n\n#ifndef GL_OES_texture_3D\n#define GL_OES_texture_3D 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_OES_TEXTURE_3D\n#define GL_TEXTURE_BINDING_3D_OES  0x806a     /* 32874 */\n#define GL_TEXTURE_3D_OES          0x806f     /* 32879 */\n#define GL_TEXTURE_WRAP_R_OES      0x8072     /* 32882 */\n#define GL_MAX_3D_TEXTURE_SIZE_OES 0x8073     /* 32883 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_OES_TEXTURE_3D\ntypedef void (REGAL_CALL *PFNGLCOMPRESSEDTEXIMAGE3DOESPROC)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data);\ntypedef void (REGAL_CALL *PFNGLCOMPRESSEDTEXSUBIMAGE3DOESPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data);\ntypedef void (REGAL_CALL *PFNGLCOPYTEXSUBIMAGE3DOESPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);\ntypedef void (REGAL_CALL *PFNGLFRAMEBUFFERTEXTURE3DOESPROC)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);\ntypedef void (REGAL_CALL *PFNGLTEXIMAGE3DOESPROC)(GLenum target, GLint level, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);\ntypedef void (REGAL_CALL *PFNGLTEXSUBIMAGE3DOESPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_OES_TEXTURE_3D\n#define glCompressedTexImage3DOES           rglCompressedTexImage3DOES\n#define glCompressedTexSubImage3DOES        rglCompressedTexSubImage3DOES\n#define glCopyTexSubImage3DOES              rglCopyTexSubImage3DOES\n#define glFramebufferTexture3DOES           rglFramebufferTexture3DOES\n#define glTexImage3DOES                     rglTexImage3DOES\n#define glTexSubImage3DOES                  rglTexSubImage3DOES\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_OES_TEXTURE_3D\nREGAL_DECL void REGAL_CALL glCompressedTexImage3DOES(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data);\nREGAL_DECL void REGAL_CALL glCompressedTexSubImage3DOES(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data);\nREGAL_DECL void REGAL_CALL glCopyTexSubImage3DOES(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);\nREGAL_DECL void REGAL_CALL glFramebufferTexture3DOES(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);\nREGAL_DECL void REGAL_CALL glTexImage3DOES(GLenum target, GLint level, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL glTexSubImage3DOES(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_OES_TEXTURE_3D\nREGAL_DECL void REGAL_CALL plugin_glCompressedTexImage3DOES(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data);\nREGAL_DECL void REGAL_CALL plugin_glCompressedTexSubImage3DOES(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data);\nREGAL_DECL void REGAL_CALL plugin_glCopyTexSubImage3DOES(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);\nREGAL_DECL void REGAL_CALL plugin_glFramebufferTexture3DOES(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);\nREGAL_DECL void REGAL_CALL plugin_glTexImage3DOES(GLenum target, GLint level, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL plugin_glTexSubImage3DOES(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);\n#endif\n\n/**\n ** GL_OES_texture_cube_map\n **/\n\n#if (defined(GL_OES_TEXTURE_CUBE_MAP) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_OES_TEXTURE_CUBE_MAP)) && !defined(REGAL_NO_ENUM_GL_OES_TEXTURE_CUBE_MAP)\n#define REGAL_NO_ENUM_GL_OES_TEXTURE_CUBE_MAP\n#endif\n\n#if (defined(GL_OES_TEXTURE_CUBE_MAP) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_OES_TEXTURE_CUBE_MAP)) && !defined(REGAL_NO_TYPEDEF_GL_OES_TEXTURE_CUBE_MAP)\n#define REGAL_NO_TYPEDEF_GL_OES_TEXTURE_CUBE_MAP\n#endif\n\n#if (defined(GL_OES_TEXTURE_CUBE_MAP) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_OES_TEXTURE_CUBE_MAP)) && !defined(REGAL_NO_NAMESPACE_GL_OES_TEXTURE_CUBE_MAP)\n#define REGAL_NO_NAMESPACE_GL_OES_TEXTURE_CUBE_MAP\n#endif\n\n#if (defined(GL_OES_TEXTURE_CUBE_MAP) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_OES_TEXTURE_CUBE_MAP)) && !defined(REGAL_NO_PLUGIN_GL_OES_TEXTURE_CUBE_MAP)\n#define REGAL_NO_PLUGIN_GL_OES_TEXTURE_CUBE_MAP\n#endif\n\n#if (defined(GL_OES_TEXTURE_CUBE_MAP) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_OES_TEXTURE_CUBE_MAP)) && !defined(REGAL_NO_DECLARATION_GL_OES_TEXTURE_CUBE_MAP)\n#define REGAL_NO_DECLARATION_GL_OES_TEXTURE_CUBE_MAP\n#endif\n\n#ifndef GL_OES_texture_cube_map\n#define GL_OES_texture_cube_map 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_OES_TEXTURE_CUBE_MAP\n#define GL_TEXTURE_GEN_MODE_OES            0x2500     /* 9472 */\n#define GL_NORMAL_MAP_OES                  0x8511     /* 34065 */\n#define GL_REFLECTION_MAP_OES              0x8512     /* 34066 */\n#define GL_TEXTURE_CUBE_MAP_OES            0x8513     /* 34067 */\n#define GL_TEXTURE_BINDING_CUBE_MAP_OES    0x8514     /* 34068 */\n#define GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES 0x8515     /* 34069 */\n#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES 0x8516     /* 34070 */\n#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES 0x8517     /* 34071 */\n#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES 0x8518     /* 34072 */\n#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES 0x8519     /* 34073 */\n#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES 0x851a     /* 34074 */\n#define GL_MAX_CUBE_MAP_TEXTURE_SIZE_OES   0x851c     /* 34076 */\n#define GL_TEXTURE_GEN_STR_OES             0x8d60     /* 36192 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_OES_TEXTURE_CUBE_MAP\ntypedef void (REGAL_CALL *PFNGLGETTEXGENFVOESPROC)(GLenum coord, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETTEXGENIVOESPROC)(GLenum coord, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETTEXGENXVOESPROC)(GLenum coord, GLenum pname, GLfixed *params);\ntypedef void (REGAL_CALL *PFNGLTEXGENFOESPROC)(GLenum coord, GLenum pname, GLfloat param);\ntypedef void (REGAL_CALL *PFNGLTEXGENFVOESPROC)(GLenum coord, GLenum pname, const GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLTEXGENIOESPROC)(GLenum coord, GLenum pname, GLint param);\ntypedef void (REGAL_CALL *PFNGLTEXGENIVOESPROC)(GLenum coord, GLenum pname, const GLint *params);\ntypedef void (REGAL_CALL *PFNGLTEXGENXOESPROC)(GLenum coord, GLenum pname, GLfixed param);\ntypedef void (REGAL_CALL *PFNGLTEXGENXVOESPROC)(GLenum coord, GLenum pname, const GLfixed *params);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_OES_TEXTURE_CUBE_MAP\n#define glGetTexGenfvOES                    rglGetTexGenfvOES\n#define glGetTexGenivOES                    rglGetTexGenivOES\n#define glGetTexGenxvOES                    rglGetTexGenxvOES\n#define glTexGenfOES                        rglTexGenfOES\n#define glTexGenfvOES                       rglTexGenfvOES\n#define glTexGeniOES                        rglTexGeniOES\n#define glTexGenivOES                       rglTexGenivOES\n#define glTexGenxOES                        rglTexGenxOES\n#define glTexGenxvOES                       rglTexGenxvOES\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_OES_TEXTURE_CUBE_MAP\nREGAL_DECL void REGAL_CALL glGetTexGenfvOES(GLenum coord, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetTexGenivOES(GLenum coord, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetTexGenxvOES(GLenum coord, GLenum pname, GLfixed *params);\nREGAL_DECL void REGAL_CALL glTexGenfOES(GLenum coord, GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL glTexGenfvOES(GLenum coord, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL glTexGeniOES(GLenum coord, GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL glTexGenivOES(GLenum coord, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL glTexGenxOES(GLenum coord, GLenum pname, GLfixed param);\nREGAL_DECL void REGAL_CALL glTexGenxvOES(GLenum coord, GLenum pname, const GLfixed *params);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_OES_TEXTURE_CUBE_MAP\nREGAL_DECL void REGAL_CALL plugin_glGetTexGenfvOES(GLenum coord, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetTexGenivOES(GLenum coord, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetTexGenxvOES(GLenum coord, GLenum pname, GLfixed *params);\nREGAL_DECL void REGAL_CALL plugin_glTexGenfOES(GLenum coord, GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL plugin_glTexGenfvOES(GLenum coord, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glTexGeniOES(GLenum coord, GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL plugin_glTexGenivOES(GLenum coord, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glTexGenxOES(GLenum coord, GLenum pname, GLfixed param);\nREGAL_DECL void REGAL_CALL plugin_glTexGenxvOES(GLenum coord, GLenum pname, const GLfixed *params);\n#endif\n\n/**\n ** GL_OES_vertex_array_object\n **/\n\n#if (defined(GL_OES_VERTEX_ARRAY_OBJECT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_OES_VERTEX_ARRAY_OBJECT)) && !defined(REGAL_NO_ENUM_GL_OES_VERTEX_ARRAY_OBJECT)\n#define REGAL_NO_ENUM_GL_OES_VERTEX_ARRAY_OBJECT\n#endif\n\n#if (defined(GL_OES_VERTEX_ARRAY_OBJECT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_OES_VERTEX_ARRAY_OBJECT)) && !defined(REGAL_NO_TYPEDEF_GL_OES_VERTEX_ARRAY_OBJECT)\n#define REGAL_NO_TYPEDEF_GL_OES_VERTEX_ARRAY_OBJECT\n#endif\n\n#if (defined(GL_OES_VERTEX_ARRAY_OBJECT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_OES_VERTEX_ARRAY_OBJECT)) && !defined(REGAL_NO_NAMESPACE_GL_OES_VERTEX_ARRAY_OBJECT)\n#define REGAL_NO_NAMESPACE_GL_OES_VERTEX_ARRAY_OBJECT\n#endif\n\n#if (defined(GL_OES_VERTEX_ARRAY_OBJECT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_OES_VERTEX_ARRAY_OBJECT)) && !defined(REGAL_NO_PLUGIN_GL_OES_VERTEX_ARRAY_OBJECT)\n#define REGAL_NO_PLUGIN_GL_OES_VERTEX_ARRAY_OBJECT\n#endif\n\n#if (defined(GL_OES_VERTEX_ARRAY_OBJECT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_OES_VERTEX_ARRAY_OBJECT)) && !defined(REGAL_NO_DECLARATION_GL_OES_VERTEX_ARRAY_OBJECT)\n#define REGAL_NO_DECLARATION_GL_OES_VERTEX_ARRAY_OBJECT\n#endif\n\n#ifndef GL_OES_vertex_array_object\n#define GL_OES_vertex_array_object 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_OES_VERTEX_ARRAY_OBJECT\n#define GL_VERTEX_ARRAY_BINDING_OES 0x85b5 /* 34229 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_OES_VERTEX_ARRAY_OBJECT\ntypedef GLboolean (REGAL_CALL *PFNGLISVERTEXARRAYOESPROC)(GLuint array);\ntypedef void (REGAL_CALL *PFNGLBINDVERTEXARRAYOESPROC)(GLuint array);\ntypedef void (REGAL_CALL *PFNGLDELETEVERTEXARRAYSOESPROC)(GLsizei n, const GLuint *arrays);\ntypedef void (REGAL_CALL *PFNGLGENVERTEXARRAYSOESPROC)(GLsizei n, GLuint *arrays);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_OES_VERTEX_ARRAY_OBJECT\n#define glBindVertexArrayOES                rglBindVertexArrayOES\n#define glDeleteVertexArraysOES             rglDeleteVertexArraysOES\n#define glGenVertexArraysOES                rglGenVertexArraysOES\n#define glIsVertexArrayOES                  rglIsVertexArrayOES\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_OES_VERTEX_ARRAY_OBJECT\nREGAL_DECL GLboolean REGAL_CALL glIsVertexArrayOES(GLuint array);\nREGAL_DECL void REGAL_CALL glBindVertexArrayOES(GLuint array);\nREGAL_DECL void REGAL_CALL glDeleteVertexArraysOES(GLsizei n, const GLuint *arrays);\nREGAL_DECL void REGAL_CALL glGenVertexArraysOES(GLsizei n, GLuint *arrays);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_OES_VERTEX_ARRAY_OBJECT\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsVertexArrayOES(GLuint array);\nREGAL_DECL void REGAL_CALL plugin_glBindVertexArrayOES(GLuint array);\nREGAL_DECL void REGAL_CALL plugin_glDeleteVertexArraysOES(GLsizei n, const GLuint *arrays);\nREGAL_DECL void REGAL_CALL plugin_glGenVertexArraysOES(GLsizei n, GLuint *arrays);\n#endif\n\n/**\n ** GL_OES_vertex_half_float\n **/\n\n#if (defined(GL_OES_VERTEX_HALF_FLOAT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_OES_VERTEX_HALF_FLOAT)) && !defined(REGAL_NO_ENUM_GL_OES_VERTEX_HALF_FLOAT)\n#define REGAL_NO_ENUM_GL_OES_VERTEX_HALF_FLOAT\n#endif\n\n#if (defined(GL_OES_VERTEX_HALF_FLOAT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_OES_VERTEX_HALF_FLOAT)) && !defined(REGAL_NO_TYPEDEF_GL_OES_VERTEX_HALF_FLOAT)\n#define REGAL_NO_TYPEDEF_GL_OES_VERTEX_HALF_FLOAT\n#endif\n\n#if (defined(GL_OES_VERTEX_HALF_FLOAT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_OES_VERTEX_HALF_FLOAT)) && !defined(REGAL_NO_NAMESPACE_GL_OES_VERTEX_HALF_FLOAT)\n#define REGAL_NO_NAMESPACE_GL_OES_VERTEX_HALF_FLOAT\n#endif\n\n#if (defined(GL_OES_VERTEX_HALF_FLOAT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_OES_VERTEX_HALF_FLOAT)) && !defined(REGAL_NO_PLUGIN_GL_OES_VERTEX_HALF_FLOAT)\n#define REGAL_NO_PLUGIN_GL_OES_VERTEX_HALF_FLOAT\n#endif\n\n#if (defined(GL_OES_VERTEX_HALF_FLOAT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_OES_VERTEX_HALF_FLOAT)) && !defined(REGAL_NO_DECLARATION_GL_OES_VERTEX_HALF_FLOAT)\n#define REGAL_NO_DECLARATION_GL_OES_VERTEX_HALF_FLOAT\n#endif\n\n#ifndef GL_OES_vertex_half_float\n#define GL_OES_vertex_half_float 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_OES_VERTEX_HALF_FLOAT\n#define GL_HALF_FLOAT_OES 0x8d61 /* 36193 */\n#endif\n\n/**\n ** GL_OES_vertex_type_10_10_10_2\n **/\n\n#if (defined(GL_OES_VERTEX_TYPE_10_10_10_2) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_OES_VERTEX_TYPE_10_10_10_2)) && !defined(REGAL_NO_ENUM_GL_OES_VERTEX_TYPE_10_10_10_2)\n#define REGAL_NO_ENUM_GL_OES_VERTEX_TYPE_10_10_10_2\n#endif\n\n#if (defined(GL_OES_VERTEX_TYPE_10_10_10_2) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_OES_VERTEX_TYPE_10_10_10_2)) && !defined(REGAL_NO_TYPEDEF_GL_OES_VERTEX_TYPE_10_10_10_2)\n#define REGAL_NO_TYPEDEF_GL_OES_VERTEX_TYPE_10_10_10_2\n#endif\n\n#if (defined(GL_OES_VERTEX_TYPE_10_10_10_2) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_OES_VERTEX_TYPE_10_10_10_2)) && !defined(REGAL_NO_NAMESPACE_GL_OES_VERTEX_TYPE_10_10_10_2)\n#define REGAL_NO_NAMESPACE_GL_OES_VERTEX_TYPE_10_10_10_2\n#endif\n\n#if (defined(GL_OES_VERTEX_TYPE_10_10_10_2) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_OES_VERTEX_TYPE_10_10_10_2)) && !defined(REGAL_NO_PLUGIN_GL_OES_VERTEX_TYPE_10_10_10_2)\n#define REGAL_NO_PLUGIN_GL_OES_VERTEX_TYPE_10_10_10_2\n#endif\n\n#if (defined(GL_OES_VERTEX_TYPE_10_10_10_2) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_OES_VERTEX_TYPE_10_10_10_2)) && !defined(REGAL_NO_DECLARATION_GL_OES_VERTEX_TYPE_10_10_10_2)\n#define REGAL_NO_DECLARATION_GL_OES_VERTEX_TYPE_10_10_10_2\n#endif\n\n#ifndef GL_OES_vertex_type_10_10_10_2\n#define GL_OES_vertex_type_10_10_10_2 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_OES_VERTEX_TYPE_10_10_10_2\n#define GL_UNSIGNED_INT_10_10_10_2_OES 0x8df6     /* 36342 */\n#define GL_INT_10_10_10_2_OES          0x8df7     /* 36343 */\n#endif\n\n/**\n ** GL_OML_interlace\n **/\n\n#if (defined(GL_OML_INTERLACE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_OML_INTERLACE)) && !defined(REGAL_NO_ENUM_GL_OML_INTERLACE)\n#define REGAL_NO_ENUM_GL_OML_INTERLACE\n#endif\n\n#if (defined(GL_OML_INTERLACE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_OML_INTERLACE)) && !defined(REGAL_NO_TYPEDEF_GL_OML_INTERLACE)\n#define REGAL_NO_TYPEDEF_GL_OML_INTERLACE\n#endif\n\n#if (defined(GL_OML_INTERLACE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_OML_INTERLACE)) && !defined(REGAL_NO_NAMESPACE_GL_OML_INTERLACE)\n#define REGAL_NO_NAMESPACE_GL_OML_INTERLACE\n#endif\n\n#if (defined(GL_OML_INTERLACE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_OML_INTERLACE)) && !defined(REGAL_NO_PLUGIN_GL_OML_INTERLACE)\n#define REGAL_NO_PLUGIN_GL_OML_INTERLACE\n#endif\n\n#if (defined(GL_OML_INTERLACE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_OML_INTERLACE)) && !defined(REGAL_NO_DECLARATION_GL_OML_INTERLACE)\n#define REGAL_NO_DECLARATION_GL_OML_INTERLACE\n#endif\n\n#ifndef GL_OML_interlace\n#define GL_OML_interlace 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_OML_INTERLACE\n#define GL_INTERLACE_OML      0x8980     /* 35200 */\n#define GL_INTERLACE_READ_OML 0x8981     /* 35201 */\n#endif\n\n/**\n ** GL_OML_resample\n **/\n\n#if (defined(GL_OML_RESAMPLE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_OML_RESAMPLE)) && !defined(REGAL_NO_ENUM_GL_OML_RESAMPLE)\n#define REGAL_NO_ENUM_GL_OML_RESAMPLE\n#endif\n\n#if (defined(GL_OML_RESAMPLE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_OML_RESAMPLE)) && !defined(REGAL_NO_TYPEDEF_GL_OML_RESAMPLE)\n#define REGAL_NO_TYPEDEF_GL_OML_RESAMPLE\n#endif\n\n#if (defined(GL_OML_RESAMPLE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_OML_RESAMPLE)) && !defined(REGAL_NO_NAMESPACE_GL_OML_RESAMPLE)\n#define REGAL_NO_NAMESPACE_GL_OML_RESAMPLE\n#endif\n\n#if (defined(GL_OML_RESAMPLE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_OML_RESAMPLE)) && !defined(REGAL_NO_PLUGIN_GL_OML_RESAMPLE)\n#define REGAL_NO_PLUGIN_GL_OML_RESAMPLE\n#endif\n\n#if (defined(GL_OML_RESAMPLE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_OML_RESAMPLE)) && !defined(REGAL_NO_DECLARATION_GL_OML_RESAMPLE)\n#define REGAL_NO_DECLARATION_GL_OML_RESAMPLE\n#endif\n\n#ifndef GL_OML_resample\n#define GL_OML_resample 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_OML_RESAMPLE\n#define GL_PACK_RESAMPLE_OML      0x8984     /* 35204 */\n#define GL_UNPACK_RESAMPLE_OML    0x8985     /* 35205 */\n#define GL_RESAMPLE_REPLICATE_OML 0x8986     /* 35206 */\n#define GL_RESAMPLE_ZERO_FILL_OML 0x8987     /* 35207 */\n#define GL_RESAMPLE_AVERAGE_OML   0x8988     /* 35208 */\n#define GL_RESAMPLE_DECIMATE_OML  0x8989     /* 35209 */\n#endif\n\n/**\n ** GL_OML_subsample\n **/\n\n#if (defined(GL_OML_SUBSAMPLE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_OML_SUBSAMPLE)) && !defined(REGAL_NO_ENUM_GL_OML_SUBSAMPLE)\n#define REGAL_NO_ENUM_GL_OML_SUBSAMPLE\n#endif\n\n#if (defined(GL_OML_SUBSAMPLE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_OML_SUBSAMPLE)) && !defined(REGAL_NO_TYPEDEF_GL_OML_SUBSAMPLE)\n#define REGAL_NO_TYPEDEF_GL_OML_SUBSAMPLE\n#endif\n\n#if (defined(GL_OML_SUBSAMPLE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_OML_SUBSAMPLE)) && !defined(REGAL_NO_NAMESPACE_GL_OML_SUBSAMPLE)\n#define REGAL_NO_NAMESPACE_GL_OML_SUBSAMPLE\n#endif\n\n#if (defined(GL_OML_SUBSAMPLE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_OML_SUBSAMPLE)) && !defined(REGAL_NO_PLUGIN_GL_OML_SUBSAMPLE)\n#define REGAL_NO_PLUGIN_GL_OML_SUBSAMPLE\n#endif\n\n#if (defined(GL_OML_SUBSAMPLE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_OML_SUBSAMPLE)) && !defined(REGAL_NO_DECLARATION_GL_OML_SUBSAMPLE)\n#define REGAL_NO_DECLARATION_GL_OML_SUBSAMPLE\n#endif\n\n#ifndef GL_OML_subsample\n#define GL_OML_subsample 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_OML_SUBSAMPLE\n#define GL_FORMAT_SUBSAMPLE_24_24_OML   0x8982     /* 35202 */\n#define GL_FORMAT_SUBSAMPLE_244_244_OML 0x8983     /* 35203 */\n#endif\n\n/**\n ** GL_PGI_misc_hints\n **/\n\n#if (defined(GL_PGI_MISC_HINTS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_PGI_MISC_HINTS)) && !defined(REGAL_NO_ENUM_GL_PGI_MISC_HINTS)\n#define REGAL_NO_ENUM_GL_PGI_MISC_HINTS\n#endif\n\n#if (defined(GL_PGI_MISC_HINTS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_PGI_MISC_HINTS)) && !defined(REGAL_NO_TYPEDEF_GL_PGI_MISC_HINTS)\n#define REGAL_NO_TYPEDEF_GL_PGI_MISC_HINTS\n#endif\n\n#if (defined(GL_PGI_MISC_HINTS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_PGI_MISC_HINTS)) && !defined(REGAL_NO_NAMESPACE_GL_PGI_MISC_HINTS)\n#define REGAL_NO_NAMESPACE_GL_PGI_MISC_HINTS\n#endif\n\n#if (defined(GL_PGI_MISC_HINTS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_PGI_MISC_HINTS)) && !defined(REGAL_NO_PLUGIN_GL_PGI_MISC_HINTS)\n#define REGAL_NO_PLUGIN_GL_PGI_MISC_HINTS\n#endif\n\n#if (defined(GL_PGI_MISC_HINTS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_PGI_MISC_HINTS)) && !defined(REGAL_NO_DECLARATION_GL_PGI_MISC_HINTS)\n#define REGAL_NO_DECLARATION_GL_PGI_MISC_HINTS\n#endif\n\n#ifndef GL_PGI_misc_hints\n#define GL_PGI_misc_hints 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_PGI_MISC_HINTS\n#define GL_PREFER_DOUBLEBUFFER_HINT_PGI   0x1a1f8     /* 107000 */\n#define GL_CONSERVE_MEMORY_HINT_PGI       0x1a1fd     /* 107005 */\n#define GL_RECLAIM_MEMORY_HINT_PGI        0x1a1fe     /* 107006 */\n#define GL_NATIVE_GRAPHICS_HANDLE_PGI     0x1a202     /* 107010 */\n#define GL_NATIVE_GRAPHICS_BEGIN_HINT_PGI 0x1a203     /* 107011 */\n#define GL_NATIVE_GRAPHICS_END_HINT_PGI   0x1a204     /* 107012 */\n#define GL_ALWAYS_FAST_HINT_PGI           0x1a20c     /* 107020 */\n#define GL_ALWAYS_SOFT_HINT_PGI           0x1a20d     /* 107021 */\n#define GL_ALLOW_DRAW_OBJ_HINT_PGI        0x1a20e     /* 107022 */\n#define GL_ALLOW_DRAW_WIN_HINT_PGI        0x1a20f     /* 107023 */\n#define GL_ALLOW_DRAW_FRG_HINT_PGI        0x1a210     /* 107024 */\n#define GL_ALLOW_DRAW_MEM_HINT_PGI        0x1a211     /* 107025 */\n#define GL_STRICT_DEPTHFUNC_HINT_PGI      0x1a216     /* 107030 */\n#define GL_STRICT_LIGHTING_HINT_PGI       0x1a217     /* 107031 */\n#define GL_STRICT_SCISSOR_HINT_PGI        0x1a218     /* 107032 */\n#define GL_FULL_STIPPLE_HINT_PGI          0x1a219     /* 107033 */\n#define GL_CLIP_NEAR_HINT_PGI             0x1a220     /* 107040 */\n#define GL_CLIP_FAR_HINT_PGI              0x1a221     /* 107041 */\n#define GL_WIDE_LINE_HINT_PGI             0x1a222     /* 107042 */\n#define GL_BACK_NORMALS_HINT_PGI          0x1a223     /* 107043 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_PGI_MISC_HINTS\ntypedef void (REGAL_CALL *PFNGLHINTPGIPROC)(GLenum target, GLint mode);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_PGI_MISC_HINTS\n#define glHintPGI                           rglHintPGI\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_PGI_MISC_HINTS\nREGAL_DECL void REGAL_CALL glHintPGI(GLenum target, GLint mode);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_PGI_MISC_HINTS\nREGAL_DECL void REGAL_CALL plugin_glHintPGI(GLenum target, GLint mode);\n#endif\n\n/**\n ** GL_PGI_vertex_hints\n **/\n\n#if (defined(GL_PGI_VERTEX_HINTS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_PGI_VERTEX_HINTS)) && !defined(REGAL_NO_ENUM_GL_PGI_VERTEX_HINTS)\n#define REGAL_NO_ENUM_GL_PGI_VERTEX_HINTS\n#endif\n\n#if (defined(GL_PGI_VERTEX_HINTS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_PGI_VERTEX_HINTS)) && !defined(REGAL_NO_TYPEDEF_GL_PGI_VERTEX_HINTS)\n#define REGAL_NO_TYPEDEF_GL_PGI_VERTEX_HINTS\n#endif\n\n#if (defined(GL_PGI_VERTEX_HINTS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_PGI_VERTEX_HINTS)) && !defined(REGAL_NO_NAMESPACE_GL_PGI_VERTEX_HINTS)\n#define REGAL_NO_NAMESPACE_GL_PGI_VERTEX_HINTS\n#endif\n\n#if (defined(GL_PGI_VERTEX_HINTS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_PGI_VERTEX_HINTS)) && !defined(REGAL_NO_PLUGIN_GL_PGI_VERTEX_HINTS)\n#define REGAL_NO_PLUGIN_GL_PGI_VERTEX_HINTS\n#endif\n\n#if (defined(GL_PGI_VERTEX_HINTS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_PGI_VERTEX_HINTS)) && !defined(REGAL_NO_DECLARATION_GL_PGI_VERTEX_HINTS)\n#define REGAL_NO_DECLARATION_GL_PGI_VERTEX_HINTS\n#endif\n\n#ifndef GL_PGI_vertex_hints\n#define GL_PGI_vertex_hints 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_PGI_VERTEX_HINTS\n#define GL_COLOR3_BIT_PGI                  0x10000        /* 65536 */\n#define GL_MAT_AMBIENT_BIT_PGI             0x100000       /* 1048576 */\n#define GL_MAT_COLOR_INDEXES_BIT_PGI       0x1000000      /* 16777216 */\n#define GL_TEXCOORD1_BIT_PGI               0x10000000     /* 268435456 */\n#define GL_VERTEX_DATA_HINT_PGI            0x1a22a        /* 107050 */\n#define GL_VERTEX_CONSISTENT_HINT_PGI      0x1a22b        /* 107051 */\n#define GL_MATERIAL_SIDE_HINT_PGI          0x1a22c        /* 107052 */\n#define GL_MAX_VERTEX_HINT_PGI             0x1a22d        /* 107053 */\n#define GL_COLOR4_BIT_PGI                  0x20000        /* 131072 */\n#define GL_MAT_AMBIENT_AND_DIFFUSE_BIT_PGI 0x200000       /* 2097152 */\n#define GL_MAT_SHININESS_BIT_PGI           0x2000000      /* 33554432 */\n#define GL_TEXCOORD2_BIT_PGI               0x20000000     /* 536870912 */\n#define GL_VERTEX23_BIT_PGI                0x4\n#define GL_EDGEFLAG_BIT_PGI                0x40000        /* 262144 */\n#define GL_MAT_DIFFUSE_BIT_PGI             0x400000       /* 4194304 */\n#define GL_MAT_SPECULAR_BIT_PGI            0x4000000      /* 67108864 */\n#define GL_TEXCOORD3_BIT_PGI               0x40000000     /* 1073741824 */\n#define GL_VERTEX4_BIT_PGI                 0x8\n#define GL_INDEX_BIT_PGI                   0x80000        /* 524288 */\n#define GL_MAT_EMISSION_BIT_PGI            0x800000       /* 8388608 */\n#define GL_NORMAL_BIT_PGI                  0x8000000      /* 134217728 */\n#define GL_TEXCOORD4_BIT_PGI               0x80000000     /* 2147483648 */\n#endif\n\n/**\n ** GL_QCOM_alpha_test\n **/\n\n#if (defined(GL_QCOM_ALPHA_TEST) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_QCOM_ALPHA_TEST)) && !defined(REGAL_NO_ENUM_GL_QCOM_ALPHA_TEST)\n#define REGAL_NO_ENUM_GL_QCOM_ALPHA_TEST\n#endif\n\n#if (defined(GL_QCOM_ALPHA_TEST) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_QCOM_ALPHA_TEST)) && !defined(REGAL_NO_TYPEDEF_GL_QCOM_ALPHA_TEST)\n#define REGAL_NO_TYPEDEF_GL_QCOM_ALPHA_TEST\n#endif\n\n#if (defined(GL_QCOM_ALPHA_TEST) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_QCOM_ALPHA_TEST)) && !defined(REGAL_NO_NAMESPACE_GL_QCOM_ALPHA_TEST)\n#define REGAL_NO_NAMESPACE_GL_QCOM_ALPHA_TEST\n#endif\n\n#if (defined(GL_QCOM_ALPHA_TEST) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_QCOM_ALPHA_TEST)) && !defined(REGAL_NO_PLUGIN_GL_QCOM_ALPHA_TEST)\n#define REGAL_NO_PLUGIN_GL_QCOM_ALPHA_TEST\n#endif\n\n#if (defined(GL_QCOM_ALPHA_TEST) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_QCOM_ALPHA_TEST)) && !defined(REGAL_NO_DECLARATION_GL_QCOM_ALPHA_TEST)\n#define REGAL_NO_DECLARATION_GL_QCOM_ALPHA_TEST\n#endif\n\n#ifndef GL_QCOM_alpha_test\n#define GL_QCOM_alpha_test 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_QCOM_ALPHA_TEST\n#define GL_ALPHA_TEST_QCOM      0xbc0     /* 3008 */\n#define GL_ALPHA_TEST_FUNC_QCOM 0xbc1     /* 3009 */\n#define GL_ALPHA_TEST_REF_QCOM  0xbc2     /* 3010 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_QCOM_ALPHA_TEST\ntypedef void (REGAL_CALL *PFNGLALPHAFUNCQCOMPROC)(GLenum func, GLclampf ref);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_QCOM_ALPHA_TEST\n#define glAlphaFuncQCOM                     rglAlphaFuncQCOM\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_QCOM_ALPHA_TEST\nREGAL_DECL void REGAL_CALL glAlphaFuncQCOM(GLenum func, GLclampf ref);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_QCOM_ALPHA_TEST\nREGAL_DECL void REGAL_CALL plugin_glAlphaFuncQCOM(GLenum func, GLclampf ref);\n#endif\n\n/**\n ** GL_QCOM_binning_control\n **/\n\n#if (defined(GL_QCOM_BINNING_CONTROL) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_QCOM_BINNING_CONTROL)) && !defined(REGAL_NO_ENUM_GL_QCOM_BINNING_CONTROL)\n#define REGAL_NO_ENUM_GL_QCOM_BINNING_CONTROL\n#endif\n\n#if (defined(GL_QCOM_BINNING_CONTROL) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_QCOM_BINNING_CONTROL)) && !defined(REGAL_NO_TYPEDEF_GL_QCOM_BINNING_CONTROL)\n#define REGAL_NO_TYPEDEF_GL_QCOM_BINNING_CONTROL\n#endif\n\n#if (defined(GL_QCOM_BINNING_CONTROL) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_QCOM_BINNING_CONTROL)) && !defined(REGAL_NO_NAMESPACE_GL_QCOM_BINNING_CONTROL)\n#define REGAL_NO_NAMESPACE_GL_QCOM_BINNING_CONTROL\n#endif\n\n#if (defined(GL_QCOM_BINNING_CONTROL) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_QCOM_BINNING_CONTROL)) && !defined(REGAL_NO_PLUGIN_GL_QCOM_BINNING_CONTROL)\n#define REGAL_NO_PLUGIN_GL_QCOM_BINNING_CONTROL\n#endif\n\n#if (defined(GL_QCOM_BINNING_CONTROL) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_QCOM_BINNING_CONTROL)) && !defined(REGAL_NO_DECLARATION_GL_QCOM_BINNING_CONTROL)\n#define REGAL_NO_DECLARATION_GL_QCOM_BINNING_CONTROL\n#endif\n\n#ifndef GL_QCOM_binning_control\n#define GL_QCOM_binning_control 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_QCOM_BINNING_CONTROL\n#define GL_BINNING_CONTROL_HINT_QCOM         0x8fb0     /* 36784 */\n#define GL_CPU_OPTIMIZED_QCOM                0x8fb1     /* 36785 */\n#define GL_GPU_OPTIMIZED_QCOM                0x8fb2     /* 36786 */\n#define GL_RENDER_DIRECT_TO_FRAMEBUFFER_QCOM 0x8fb3     /* 36787 */\n#endif\n\n/**\n ** GL_QCOM_driver_control\n **/\n\n#if (defined(GL_QCOM_DRIVER_CONTROL) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_QCOM_DRIVER_CONTROL)) && !defined(REGAL_NO_ENUM_GL_QCOM_DRIVER_CONTROL)\n#define REGAL_NO_ENUM_GL_QCOM_DRIVER_CONTROL\n#endif\n\n#if (defined(GL_QCOM_DRIVER_CONTROL) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_QCOM_DRIVER_CONTROL)) && !defined(REGAL_NO_TYPEDEF_GL_QCOM_DRIVER_CONTROL)\n#define REGAL_NO_TYPEDEF_GL_QCOM_DRIVER_CONTROL\n#endif\n\n#if (defined(GL_QCOM_DRIVER_CONTROL) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_QCOM_DRIVER_CONTROL)) && !defined(REGAL_NO_NAMESPACE_GL_QCOM_DRIVER_CONTROL)\n#define REGAL_NO_NAMESPACE_GL_QCOM_DRIVER_CONTROL\n#endif\n\n#if (defined(GL_QCOM_DRIVER_CONTROL) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_QCOM_DRIVER_CONTROL)) && !defined(REGAL_NO_PLUGIN_GL_QCOM_DRIVER_CONTROL)\n#define REGAL_NO_PLUGIN_GL_QCOM_DRIVER_CONTROL\n#endif\n\n#if (defined(GL_QCOM_DRIVER_CONTROL) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_QCOM_DRIVER_CONTROL)) && !defined(REGAL_NO_DECLARATION_GL_QCOM_DRIVER_CONTROL)\n#define REGAL_NO_DECLARATION_GL_QCOM_DRIVER_CONTROL\n#endif\n\n#ifndef GL_QCOM_driver_control\n#define GL_QCOM_driver_control 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_QCOM_DRIVER_CONTROL\ntypedef void (REGAL_CALL *PFNGLDISABLEDRIVERCONTROLQCOMPROC)(GLuint driverControl);\ntypedef void (REGAL_CALL *PFNGLENABLEDRIVERCONTROLQCOMPROC)(GLuint driverControl);\ntypedef void (REGAL_CALL *PFNGLGETDRIVERCONTROLSQCOMPROC)(GLint *num, GLsizei size, GLuint *driverControls);\ntypedef void (REGAL_CALL *PFNGLGETDRIVERCONTROLSTRINGQCOMPROC)(GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_QCOM_DRIVER_CONTROL\n#define glDisableDriverControlQCOM          rglDisableDriverControlQCOM\n#define glEnableDriverControlQCOM           rglEnableDriverControlQCOM\n#define glGetDriverControlStringQCOM        rglGetDriverControlStringQCOM\n#define glGetDriverControlsQCOM             rglGetDriverControlsQCOM\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_QCOM_DRIVER_CONTROL\nREGAL_DECL void REGAL_CALL glDisableDriverControlQCOM(GLuint driverControl);\nREGAL_DECL void REGAL_CALL glEnableDriverControlQCOM(GLuint driverControl);\nREGAL_DECL void REGAL_CALL glGetDriverControlStringQCOM(GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);\nREGAL_DECL void REGAL_CALL glGetDriverControlsQCOM(GLint *num, GLsizei size, GLuint *driverControls);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_QCOM_DRIVER_CONTROL\nREGAL_DECL void REGAL_CALL plugin_glDisableDriverControlQCOM(GLuint driverControl);\nREGAL_DECL void REGAL_CALL plugin_glEnableDriverControlQCOM(GLuint driverControl);\nREGAL_DECL void REGAL_CALL plugin_glGetDriverControlStringQCOM(GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);\nREGAL_DECL void REGAL_CALL plugin_glGetDriverControlsQCOM(GLint *num, GLsizei size, GLuint *driverControls);\n#endif\n\n/**\n ** GL_QCOM_extended_get\n **/\n\n#if (defined(GL_QCOM_EXTENDED_GET) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_QCOM_EXTENDED_GET)) && !defined(REGAL_NO_ENUM_GL_QCOM_EXTENDED_GET)\n#define REGAL_NO_ENUM_GL_QCOM_EXTENDED_GET\n#endif\n\n#if (defined(GL_QCOM_EXTENDED_GET) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_QCOM_EXTENDED_GET)) && !defined(REGAL_NO_TYPEDEF_GL_QCOM_EXTENDED_GET)\n#define REGAL_NO_TYPEDEF_GL_QCOM_EXTENDED_GET\n#endif\n\n#if (defined(GL_QCOM_EXTENDED_GET) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_QCOM_EXTENDED_GET)) && !defined(REGAL_NO_NAMESPACE_GL_QCOM_EXTENDED_GET)\n#define REGAL_NO_NAMESPACE_GL_QCOM_EXTENDED_GET\n#endif\n\n#if (defined(GL_QCOM_EXTENDED_GET) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_QCOM_EXTENDED_GET)) && !defined(REGAL_NO_PLUGIN_GL_QCOM_EXTENDED_GET)\n#define REGAL_NO_PLUGIN_GL_QCOM_EXTENDED_GET\n#endif\n\n#if (defined(GL_QCOM_EXTENDED_GET) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_QCOM_EXTENDED_GET)) && !defined(REGAL_NO_DECLARATION_GL_QCOM_EXTENDED_GET)\n#define REGAL_NO_DECLARATION_GL_QCOM_EXTENDED_GET\n#endif\n\n#ifndef GL_QCOM_extended_get\n#define GL_QCOM_extended_get 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_QCOM_EXTENDED_GET\n#define GL_TEXTURE_WIDTH_QCOM           0x8bd2     /* 35794 */\n#define GL_TEXTURE_HEIGHT_QCOM          0x8bd3     /* 35795 */\n#define GL_TEXTURE_DEPTH_QCOM           0x8bd4     /* 35796 */\n#define GL_TEXTURE_INTERNAL_FORMAT_QCOM 0x8bd5     /* 35797 */\n#define GL_TEXTURE_FORMAT_QCOM          0x8bd6     /* 35798 */\n#define GL_TEXTURE_TYPE_QCOM            0x8bd7     /* 35799 */\n#define GL_TEXTURE_IMAGE_VALID_QCOM     0x8bd8     /* 35800 */\n#define GL_TEXTURE_NUM_LEVELS_QCOM      0x8bd9     /* 35801 */\n#define GL_TEXTURE_TARGET_QCOM          0x8bda     /* 35802 */\n#define GL_TEXTURE_OBJECT_VALID_QCOM    0x8bdb     /* 35803 */\n#define GL_STATE_RESTORE                0x8bdc     /* 35804 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_QCOM_EXTENDED_GET\ntypedef void (REGAL_CALL *PFNGLEXTGETBUFFERPOINTERVQCOMPROC)(GLenum target, GLvoid **params);\ntypedef void (REGAL_CALL *PFNGLEXTGETBUFFERSQCOMPROC)(GLuint *buffers, GLint maxBuffers, GLint *numBuffers);\ntypedef void (REGAL_CALL *PFNGLEXTGETFRAMEBUFFERSQCOMPROC)(GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);\ntypedef void (REGAL_CALL *PFNGLEXTGETRENDERBUFFERSQCOMPROC)(GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);\ntypedef void (REGAL_CALL *PFNGLEXTGETTEXLEVELPARAMETERIVQCOMPROC)(GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLEXTGETTEXSUBIMAGEQCOMPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLvoid *texels);\ntypedef void (REGAL_CALL *PFNGLEXTGETTEXTURESQCOMPROC)(GLuint *textures, GLint maxTextures, GLint *numTextures);\ntypedef void (REGAL_CALL *PFNGLEXTTEXOBJECTSTATEOVERRIDEIQCOMPROC)(GLenum target, GLenum pname, GLint param);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_QCOM_EXTENDED_GET\n#define glExtGetBufferPointervQCOM          rglExtGetBufferPointervQCOM\n#define glExtGetBuffersQCOM                 rglExtGetBuffersQCOM\n#define glExtGetFramebuffersQCOM            rglExtGetFramebuffersQCOM\n#define glExtGetRenderbuffersQCOM           rglExtGetRenderbuffersQCOM\n#define glExtGetTexLevelParameterivQCOM     rglExtGetTexLevelParameterivQCOM\n#define glExtGetTexSubImageQCOM             rglExtGetTexSubImageQCOM\n#define glExtGetTexturesQCOM                rglExtGetTexturesQCOM\n#define glExtTexObjectStateOverrideiQCOM    rglExtTexObjectStateOverrideiQCOM\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_QCOM_EXTENDED_GET\nREGAL_DECL void REGAL_CALL glExtGetBufferPointervQCOM(GLenum target, GLvoid **params);\nREGAL_DECL void REGAL_CALL glExtGetBuffersQCOM(GLuint *buffers, GLint maxBuffers, GLint *numBuffers);\nREGAL_DECL void REGAL_CALL glExtGetFramebuffersQCOM(GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);\nREGAL_DECL void REGAL_CALL glExtGetRenderbuffersQCOM(GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);\nREGAL_DECL void REGAL_CALL glExtGetTexLevelParameterivQCOM(GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glExtGetTexSubImageQCOM(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLvoid *texels);\nREGAL_DECL void REGAL_CALL glExtGetTexturesQCOM(GLuint *textures, GLint maxTextures, GLint *numTextures);\nREGAL_DECL void REGAL_CALL glExtTexObjectStateOverrideiQCOM(GLenum target, GLenum pname, GLint param);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_QCOM_EXTENDED_GET\nREGAL_DECL void REGAL_CALL plugin_glExtGetBufferPointervQCOM(GLenum target, GLvoid **params);\nREGAL_DECL void REGAL_CALL plugin_glExtGetBuffersQCOM(GLuint *buffers, GLint maxBuffers, GLint *numBuffers);\nREGAL_DECL void REGAL_CALL plugin_glExtGetFramebuffersQCOM(GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);\nREGAL_DECL void REGAL_CALL plugin_glExtGetRenderbuffersQCOM(GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);\nREGAL_DECL void REGAL_CALL plugin_glExtGetTexLevelParameterivQCOM(GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glExtGetTexSubImageQCOM(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLvoid *texels);\nREGAL_DECL void REGAL_CALL plugin_glExtGetTexturesQCOM(GLuint *textures, GLint maxTextures, GLint *numTextures);\nREGAL_DECL void REGAL_CALL plugin_glExtTexObjectStateOverrideiQCOM(GLenum target, GLenum pname, GLint param);\n#endif\n\n/**\n ** GL_QCOM_extended_get2\n **/\n\n#if (defined(GL_QCOM_EXTENDED_GET2) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_QCOM_EXTENDED_GET2)) && !defined(REGAL_NO_ENUM_GL_QCOM_EXTENDED_GET2)\n#define REGAL_NO_ENUM_GL_QCOM_EXTENDED_GET2\n#endif\n\n#if (defined(GL_QCOM_EXTENDED_GET2) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_QCOM_EXTENDED_GET2)) && !defined(REGAL_NO_TYPEDEF_GL_QCOM_EXTENDED_GET2)\n#define REGAL_NO_TYPEDEF_GL_QCOM_EXTENDED_GET2\n#endif\n\n#if (defined(GL_QCOM_EXTENDED_GET2) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_QCOM_EXTENDED_GET2)) && !defined(REGAL_NO_NAMESPACE_GL_QCOM_EXTENDED_GET2)\n#define REGAL_NO_NAMESPACE_GL_QCOM_EXTENDED_GET2\n#endif\n\n#if (defined(GL_QCOM_EXTENDED_GET2) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_QCOM_EXTENDED_GET2)) && !defined(REGAL_NO_PLUGIN_GL_QCOM_EXTENDED_GET2)\n#define REGAL_NO_PLUGIN_GL_QCOM_EXTENDED_GET2\n#endif\n\n#if (defined(GL_QCOM_EXTENDED_GET2) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_QCOM_EXTENDED_GET2)) && !defined(REGAL_NO_DECLARATION_GL_QCOM_EXTENDED_GET2)\n#define REGAL_NO_DECLARATION_GL_QCOM_EXTENDED_GET2\n#endif\n\n#ifndef GL_QCOM_extended_get2\n#define GL_QCOM_extended_get2 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_QCOM_EXTENDED_GET2\ntypedef GLboolean (REGAL_CALL *PFNGLEXTISPROGRAMBINARYQCOMPROC)(GLuint program);\ntypedef void (REGAL_CALL *PFNGLEXTGETPROGRAMBINARYSOURCEQCOMPROC)(GLuint program, GLenum shadertype, GLchar *source, GLint *length);\ntypedef void (REGAL_CALL *PFNGLEXTGETPROGRAMSQCOMPROC)(GLuint *programs, GLint maxPrograms, GLint *numPrograms);\ntypedef void (REGAL_CALL *PFNGLEXTGETSHADERSQCOMPROC)(GLuint *shaders, GLint maxShaders, GLint *numShaders);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_QCOM_EXTENDED_GET2\n#define glExtGetProgramBinarySourceQCOM     rglExtGetProgramBinarySourceQCOM\n#define glExtGetProgramsQCOM                rglExtGetProgramsQCOM\n#define glExtGetShadersQCOM                 rglExtGetShadersQCOM\n#define glExtIsProgramBinaryQCOM            rglExtIsProgramBinaryQCOM\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_QCOM_EXTENDED_GET2\nREGAL_DECL GLboolean REGAL_CALL glExtIsProgramBinaryQCOM(GLuint program);\nREGAL_DECL void REGAL_CALL glExtGetProgramBinarySourceQCOM(GLuint program, GLenum shadertype, GLchar *source, GLint *length);\nREGAL_DECL void REGAL_CALL glExtGetProgramsQCOM(GLuint *programs, GLint maxPrograms, GLint *numPrograms);\nREGAL_DECL void REGAL_CALL glExtGetShadersQCOM(GLuint *shaders, GLint maxShaders, GLint *numShaders);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_QCOM_EXTENDED_GET2\nREGAL_DECL GLboolean REGAL_CALL plugin_glExtIsProgramBinaryQCOM(GLuint program);\nREGAL_DECL void REGAL_CALL plugin_glExtGetProgramBinarySourceQCOM(GLuint program, GLenum shadertype, GLchar *source, GLint *length);\nREGAL_DECL void REGAL_CALL plugin_glExtGetProgramsQCOM(GLuint *programs, GLint maxPrograms, GLint *numPrograms);\nREGAL_DECL void REGAL_CALL plugin_glExtGetShadersQCOM(GLuint *shaders, GLint maxShaders, GLint *numShaders);\n#endif\n\n/**\n ** GL_QCOM_perfmon_global_mode\n **/\n\n#if (defined(GL_QCOM_PERFMON_GLOBAL_MODE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_QCOM_PERFMON_GLOBAL_MODE)) && !defined(REGAL_NO_ENUM_GL_QCOM_PERFMON_GLOBAL_MODE)\n#define REGAL_NO_ENUM_GL_QCOM_PERFMON_GLOBAL_MODE\n#endif\n\n#if (defined(GL_QCOM_PERFMON_GLOBAL_MODE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_QCOM_PERFMON_GLOBAL_MODE)) && !defined(REGAL_NO_TYPEDEF_GL_QCOM_PERFMON_GLOBAL_MODE)\n#define REGAL_NO_TYPEDEF_GL_QCOM_PERFMON_GLOBAL_MODE\n#endif\n\n#if (defined(GL_QCOM_PERFMON_GLOBAL_MODE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_QCOM_PERFMON_GLOBAL_MODE)) && !defined(REGAL_NO_NAMESPACE_GL_QCOM_PERFMON_GLOBAL_MODE)\n#define REGAL_NO_NAMESPACE_GL_QCOM_PERFMON_GLOBAL_MODE\n#endif\n\n#if (defined(GL_QCOM_PERFMON_GLOBAL_MODE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_QCOM_PERFMON_GLOBAL_MODE)) && !defined(REGAL_NO_PLUGIN_GL_QCOM_PERFMON_GLOBAL_MODE)\n#define REGAL_NO_PLUGIN_GL_QCOM_PERFMON_GLOBAL_MODE\n#endif\n\n#if (defined(GL_QCOM_PERFMON_GLOBAL_MODE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_QCOM_PERFMON_GLOBAL_MODE)) && !defined(REGAL_NO_DECLARATION_GL_QCOM_PERFMON_GLOBAL_MODE)\n#define REGAL_NO_DECLARATION_GL_QCOM_PERFMON_GLOBAL_MODE\n#endif\n\n#ifndef GL_QCOM_perfmon_global_mode\n#define GL_QCOM_perfmon_global_mode 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_QCOM_PERFMON_GLOBAL_MODE\n#define GL_PERFMON_GLOBAL_MODE_QCOM 0x8fa0 /* 36768 */\n#endif\n\n/**\n ** GL_QCOM_tiled_rendering\n **/\n\n#if (defined(GL_QCOM_TILED_RENDERING) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_QCOM_TILED_RENDERING)) && !defined(REGAL_NO_ENUM_GL_QCOM_TILED_RENDERING)\n#define REGAL_NO_ENUM_GL_QCOM_TILED_RENDERING\n#endif\n\n#if (defined(GL_QCOM_TILED_RENDERING) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_QCOM_TILED_RENDERING)) && !defined(REGAL_NO_TYPEDEF_GL_QCOM_TILED_RENDERING)\n#define REGAL_NO_TYPEDEF_GL_QCOM_TILED_RENDERING\n#endif\n\n#if (defined(GL_QCOM_TILED_RENDERING) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_QCOM_TILED_RENDERING)) && !defined(REGAL_NO_NAMESPACE_GL_QCOM_TILED_RENDERING)\n#define REGAL_NO_NAMESPACE_GL_QCOM_TILED_RENDERING\n#endif\n\n#if (defined(GL_QCOM_TILED_RENDERING) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_QCOM_TILED_RENDERING)) && !defined(REGAL_NO_PLUGIN_GL_QCOM_TILED_RENDERING)\n#define REGAL_NO_PLUGIN_GL_QCOM_TILED_RENDERING\n#endif\n\n#if (defined(GL_QCOM_TILED_RENDERING) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_QCOM_TILED_RENDERING)) && !defined(REGAL_NO_DECLARATION_GL_QCOM_TILED_RENDERING)\n#define REGAL_NO_DECLARATION_GL_QCOM_TILED_RENDERING\n#endif\n\n#ifndef GL_QCOM_tiled_rendering\n#define GL_QCOM_tiled_rendering 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_QCOM_TILED_RENDERING\n#define GL_COLOR_BUFFER_BIT0_QCOM       0x1\n#define GL_COLOR_BUFFER_BIT4_QCOM       0x10           /* 16 */\n#define GL_DEPTH_BUFFER_BIT0_QCOM       0x100          /* 256 */\n#define GL_DEPTH_BUFFER_BIT4_QCOM       0x1000         /* 4096 */\n#define GL_STENCIL_BUFFER_BIT0_QCOM     0x10000        /* 65536 */\n#define GL_STENCIL_BUFFER_BIT4_QCOM     0x100000       /* 1048576 */\n#define GL_MULTISAMPLE_BUFFER_BIT0_QCOM 0x1000000      /* 16777216 */\n#define GL_MULTISAMPLE_BUFFER_BIT4_QCOM 0x10000000     /* 268435456 */\n#define GL_COLOR_BUFFER_BIT1_QCOM       0x2\n#define GL_COLOR_BUFFER_BIT5_QCOM       0x20           /* 32 */\n#define GL_DEPTH_BUFFER_BIT1_QCOM       0x200          /* 512 */\n#define GL_DEPTH_BUFFER_BIT5_QCOM       0x2000         /* 8192 */\n#define GL_STENCIL_BUFFER_BIT1_QCOM     0x20000        /* 131072 */\n#define GL_STENCIL_BUFFER_BIT5_QCOM     0x200000       /* 2097152 */\n#define GL_MULTISAMPLE_BUFFER_BIT1_QCOM 0x2000000      /* 33554432 */\n#define GL_MULTISAMPLE_BUFFER_BIT5_QCOM 0x20000000     /* 536870912 */\n#define GL_COLOR_BUFFER_BIT2_QCOM       0x4\n#define GL_COLOR_BUFFER_BIT6_QCOM       0x40           /* 64 */\n#define GL_DEPTH_BUFFER_BIT2_QCOM       0x400          /* 1024 */\n#define GL_DEPTH_BUFFER_BIT6_QCOM       0x4000         /* 16384 */\n#define GL_STENCIL_BUFFER_BIT2_QCOM     0x40000        /* 262144 */\n#define GL_STENCIL_BUFFER_BIT6_QCOM     0x400000       /* 4194304 */\n#define GL_MULTISAMPLE_BUFFER_BIT2_QCOM 0x4000000      /* 67108864 */\n#define GL_MULTISAMPLE_BUFFER_BIT6_QCOM 0x40000000     /* 1073741824 */\n#define GL_COLOR_BUFFER_BIT3_QCOM       0x8\n#define GL_COLOR_BUFFER_BIT7_QCOM       0x80           /* 128 */\n#define GL_DEPTH_BUFFER_BIT3_QCOM       0x800          /* 2048 */\n#define GL_DEPTH_BUFFER_BIT7_QCOM       0x8000         /* 32768 */\n#define GL_STENCIL_BUFFER_BIT3_QCOM     0x80000        /* 524288 */\n#define GL_STENCIL_BUFFER_BIT7_QCOM     0x800000       /* 8388608 */\n#define GL_MULTISAMPLE_BUFFER_BIT3_QCOM 0x8000000      /* 134217728 */\n#define GL_MULTISAMPLE_BUFFER_BIT7_QCOM 0x80000000     /* 2147483648 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_QCOM_TILED_RENDERING\ntypedef void (REGAL_CALL *PFNGLENDTILINGQCOMPROC)(GLbitfield preserveMask);\ntypedef void (REGAL_CALL *PFNGLSTARTTILINGQCOMPROC)(GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_QCOM_TILED_RENDERING\n#define glEndTilingQCOM                     rglEndTilingQCOM\n#define glStartTilingQCOM                   rglStartTilingQCOM\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_QCOM_TILED_RENDERING\nREGAL_DECL void REGAL_CALL glEndTilingQCOM(GLbitfield preserveMask);\nREGAL_DECL void REGAL_CALL glStartTilingQCOM(GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_QCOM_TILED_RENDERING\nREGAL_DECL void REGAL_CALL plugin_glEndTilingQCOM(GLbitfield preserveMask);\nREGAL_DECL void REGAL_CALL plugin_glStartTilingQCOM(GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);\n#endif\n\n/**\n ** GL_QCOM_writeonly_rendering\n **/\n\n#if (defined(GL_QCOM_WRITEONLY_RENDERING) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_QCOM_WRITEONLY_RENDERING)) && !defined(REGAL_NO_ENUM_GL_QCOM_WRITEONLY_RENDERING)\n#define REGAL_NO_ENUM_GL_QCOM_WRITEONLY_RENDERING\n#endif\n\n#if (defined(GL_QCOM_WRITEONLY_RENDERING) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_QCOM_WRITEONLY_RENDERING)) && !defined(REGAL_NO_TYPEDEF_GL_QCOM_WRITEONLY_RENDERING)\n#define REGAL_NO_TYPEDEF_GL_QCOM_WRITEONLY_RENDERING\n#endif\n\n#if (defined(GL_QCOM_WRITEONLY_RENDERING) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_QCOM_WRITEONLY_RENDERING)) && !defined(REGAL_NO_NAMESPACE_GL_QCOM_WRITEONLY_RENDERING)\n#define REGAL_NO_NAMESPACE_GL_QCOM_WRITEONLY_RENDERING\n#endif\n\n#if (defined(GL_QCOM_WRITEONLY_RENDERING) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_QCOM_WRITEONLY_RENDERING)) && !defined(REGAL_NO_PLUGIN_GL_QCOM_WRITEONLY_RENDERING)\n#define REGAL_NO_PLUGIN_GL_QCOM_WRITEONLY_RENDERING\n#endif\n\n#if (defined(GL_QCOM_WRITEONLY_RENDERING) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_QCOM_WRITEONLY_RENDERING)) && !defined(REGAL_NO_DECLARATION_GL_QCOM_WRITEONLY_RENDERING)\n#define REGAL_NO_DECLARATION_GL_QCOM_WRITEONLY_RENDERING\n#endif\n\n#ifndef GL_QCOM_writeonly_rendering\n#define GL_QCOM_writeonly_rendering 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_QCOM_WRITEONLY_RENDERING\n#define GL_WRITEONLY_RENDERING_QCOM 0x8823 /* 34851 */\n#endif\n\n/**\n ** GL_REGAL_ES1_0_compatibility\n **/\n\n#if (defined(GL_REGAL_ES1_0_COMPATIBILITY) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_REGAL_ES1_0_COMPATIBILITY)) && !defined(REGAL_NO_ENUM_GL_REGAL_ES1_0_COMPATIBILITY)\n#define REGAL_NO_ENUM_GL_REGAL_ES1_0_COMPATIBILITY\n#endif\n\n#if (defined(GL_REGAL_ES1_0_COMPATIBILITY) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_REGAL_ES1_0_COMPATIBILITY)) && !defined(REGAL_NO_TYPEDEF_GL_REGAL_ES1_0_COMPATIBILITY)\n#define REGAL_NO_TYPEDEF_GL_REGAL_ES1_0_COMPATIBILITY\n#endif\n\n#if (defined(GL_REGAL_ES1_0_COMPATIBILITY) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_REGAL_ES1_0_COMPATIBILITY)) && !defined(REGAL_NO_NAMESPACE_GL_REGAL_ES1_0_COMPATIBILITY)\n#define REGAL_NO_NAMESPACE_GL_REGAL_ES1_0_COMPATIBILITY\n#endif\n\n#if (defined(GL_REGAL_ES1_0_COMPATIBILITY) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_REGAL_ES1_0_COMPATIBILITY)) && !defined(REGAL_NO_PLUGIN_GL_REGAL_ES1_0_COMPATIBILITY)\n#define REGAL_NO_PLUGIN_GL_REGAL_ES1_0_COMPATIBILITY\n#endif\n\n#if (defined(GL_REGAL_ES1_0_COMPATIBILITY) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_REGAL_ES1_0_COMPATIBILITY)) && !defined(REGAL_NO_DECLARATION_GL_REGAL_ES1_0_COMPATIBILITY)\n#define REGAL_NO_DECLARATION_GL_REGAL_ES1_0_COMPATIBILITY\n#endif\n\n#ifndef GL_REGAL_ES1_0_compatibility\n#define GL_REGAL_ES1_0_compatibility 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_REGAL_ES1_0_COMPATIBILITY\ntypedef void (REGAL_CALL *PFNGLALPHAFUNCXPROC)(GLenum func, GLclampx ref);\ntypedef void (REGAL_CALL *PFNGLCLEARCOLORXPROC)(GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha);\ntypedef void (REGAL_CALL *PFNGLCLEARDEPTHXPROC)(GLclampx depth);\ntypedef void (REGAL_CALL *PFNGLCOLOR4XPROC)(GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha);\ntypedef void (REGAL_CALL *PFNGLDEPTHRANGEXPROC)(GLclampx zNear, GLclampx zFar);\ntypedef void (REGAL_CALL *PFNGLFOGXPROC)(GLenum pname, GLfixed param);\ntypedef void (REGAL_CALL *PFNGLFOGXVPROC)(GLenum pname, const GLfixed *params);\ntypedef void (REGAL_CALL *PFNGLFRUSTUMFPROC)(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar);\ntypedef void (REGAL_CALL *PFNGLFRUSTUMXPROC)(GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar);\ntypedef void (REGAL_CALL *PFNGLLIGHTMODELXPROC)(GLenum pname, GLfixed param);\ntypedef void (REGAL_CALL *PFNGLLIGHTMODELXVPROC)(GLenum pname, const GLfixed *params);\ntypedef void (REGAL_CALL *PFNGLLIGHTXPROC)(GLenum light, GLenum pname, GLfixed param);\ntypedef void (REGAL_CALL *PFNGLLIGHTXVPROC)(GLenum light, GLenum pname, const GLfixed *params);\ntypedef void (REGAL_CALL *PFNGLLINEWIDTHXPROC)(GLfixed width);\ntypedef void (REGAL_CALL *PFNGLLOADMATRIXXPROC)(const GLfixed *m);\ntypedef void (REGAL_CALL *PFNGLMATERIALXPROC)(GLenum face, GLenum pname, GLfixed param);\ntypedef void (REGAL_CALL *PFNGLMATERIALXVPROC)(GLenum face, GLenum pname, const GLfixed *params);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD4XPROC)(GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q);\ntypedef void (REGAL_CALL *PFNGLMULTMATRIXXPROC)(const GLfixed *m);\ntypedef void (REGAL_CALL *PFNGLNORMAL3XPROC)(GLfixed nx, GLfixed ny, GLfixed nz);\ntypedef void (REGAL_CALL *PFNGLORTHOFPROC)(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar);\ntypedef void (REGAL_CALL *PFNGLORTHOXPROC)(GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar);\ntypedef void (REGAL_CALL *PFNGLPOINTSIZEXPROC)(GLfixed size);\ntypedef void (REGAL_CALL *PFNGLPOLYGONOFFSETXPROC)(GLfixed factor, GLfixed units);\ntypedef void (REGAL_CALL *PFNGLROTATEXPROC)(GLfixed angle, GLfixed x, GLfixed y, GLfixed z);\ntypedef void (REGAL_CALL *PFNGLSAMPLECOVERAGEXPROC)(GLclampx value, GLboolean invert);\ntypedef void (REGAL_CALL *PFNGLSCALEXPROC)(GLfixed x, GLfixed y, GLfixed z);\ntypedef void (REGAL_CALL *PFNGLTEXENVXPROC)(GLenum target, GLenum pname, GLfixed param);\ntypedef void (REGAL_CALL *PFNGLTEXENVXVPROC)(GLenum target, GLenum pname, const GLfixed *params);\ntypedef void (REGAL_CALL *PFNGLTEXPARAMETERXPROC)(GLenum target, GLenum pname, GLfixed param);\ntypedef void (REGAL_CALL *PFNGLTRANSLATEXPROC)(GLfixed x, GLfixed y, GLfixed z);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_REGAL_ES1_0_COMPATIBILITY\n#define glAlphaFuncx                        rglAlphaFuncx\n#define glClearColorx                       rglClearColorx\n#define glClearDepthx                       rglClearDepthx\n#define glColor4x                           rglColor4x\n#define glDepthRangex                       rglDepthRangex\n#define glFogx                              rglFogx\n#define glFogxv                             rglFogxv\n#define glFrustumf                          rglFrustumf\n#define glFrustumx                          rglFrustumx\n#define glLightModelx                       rglLightModelx\n#define glLightModelxv                      rglLightModelxv\n#define glLightx                            rglLightx\n#define glLightxv                           rglLightxv\n#define glLineWidthx                        rglLineWidthx\n#define glLoadMatrixx                       rglLoadMatrixx\n#define glMaterialx                         rglMaterialx\n#define glMaterialxv                        rglMaterialxv\n#define glMultMatrixx                       rglMultMatrixx\n#define glMultiTexCoord4x                   rglMultiTexCoord4x\n#define glNormal3x                          rglNormal3x\n#define glOrthof                            rglOrthof\n#define glOrthox                            rglOrthox\n#define glPointSizex                        rglPointSizex\n#define glPolygonOffsetx                    rglPolygonOffsetx\n#define glRotatex                           rglRotatex\n#define glSampleCoveragex                   rglSampleCoveragex\n#define glScalex                            rglScalex\n#define glTexEnvx                           rglTexEnvx\n#define glTexEnvxv                          rglTexEnvxv\n#define glTexParameterx                     rglTexParameterx\n#define glTranslatex                        rglTranslatex\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_REGAL_ES1_0_COMPATIBILITY\nREGAL_DECL void REGAL_CALL glAlphaFuncx(GLenum func, GLclampx ref);\nREGAL_DECL void REGAL_CALL glClearColorx(GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha);\nREGAL_DECL void REGAL_CALL glClearDepthx(GLclampx depth);\nREGAL_DECL void REGAL_CALL glColor4x(GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha);\nREGAL_DECL void REGAL_CALL glDepthRangex(GLclampx zNear, GLclampx zFar);\nREGAL_DECL void REGAL_CALL glFogx(GLenum pname, GLfixed param);\nREGAL_DECL void REGAL_CALL glFogxv(GLenum pname, const GLfixed *params);\nREGAL_DECL void REGAL_CALL glFrustumf(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar);\nREGAL_DECL void REGAL_CALL glFrustumx(GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar);\nREGAL_DECL void REGAL_CALL glLightModelx(GLenum pname, GLfixed param);\nREGAL_DECL void REGAL_CALL glLightModelxv(GLenum pname, const GLfixed *params);\nREGAL_DECL void REGAL_CALL glLightx(GLenum light, GLenum pname, GLfixed param);\nREGAL_DECL void REGAL_CALL glLightxv(GLenum light, GLenum pname, const GLfixed *params);\nREGAL_DECL void REGAL_CALL glLineWidthx(GLfixed width);\nREGAL_DECL void REGAL_CALL glLoadMatrixx(const GLfixed *m);\nREGAL_DECL void REGAL_CALL glMaterialx(GLenum face, GLenum pname, GLfixed param);\nREGAL_DECL void REGAL_CALL glMaterialxv(GLenum face, GLenum pname, const GLfixed *params);\nREGAL_DECL void REGAL_CALL glMultMatrixx(const GLfixed *m);\nREGAL_DECL void REGAL_CALL glMultiTexCoord4x(GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q);\nREGAL_DECL void REGAL_CALL glNormal3x(GLfixed nx, GLfixed ny, GLfixed nz);\nREGAL_DECL void REGAL_CALL glOrthof(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar);\nREGAL_DECL void REGAL_CALL glOrthox(GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar);\nREGAL_DECL void REGAL_CALL glPointSizex(GLfixed size);\nREGAL_DECL void REGAL_CALL glPolygonOffsetx(GLfixed factor, GLfixed units);\nREGAL_DECL void REGAL_CALL glRotatex(GLfixed angle, GLfixed x, GLfixed y, GLfixed z);\nREGAL_DECL void REGAL_CALL glSampleCoveragex(GLclampx value, GLboolean invert);\nREGAL_DECL void REGAL_CALL glScalex(GLfixed x, GLfixed y, GLfixed z);\nREGAL_DECL void REGAL_CALL glTexEnvx(GLenum target, GLenum pname, GLfixed param);\nREGAL_DECL void REGAL_CALL glTexEnvxv(GLenum target, GLenum pname, const GLfixed *params);\nREGAL_DECL void REGAL_CALL glTexParameterx(GLenum target, GLenum pname, GLfixed param);\nREGAL_DECL void REGAL_CALL glTranslatex(GLfixed x, GLfixed y, GLfixed z);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_REGAL_ES1_0_COMPATIBILITY\nREGAL_DECL void REGAL_CALL plugin_glAlphaFuncx(GLenum func, GLclampx ref);\nREGAL_DECL void REGAL_CALL plugin_glClearColorx(GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha);\nREGAL_DECL void REGAL_CALL plugin_glClearDepthx(GLclampx depth);\nREGAL_DECL void REGAL_CALL plugin_glColor4x(GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha);\nREGAL_DECL void REGAL_CALL plugin_glDepthRangex(GLclampx zNear, GLclampx zFar);\nREGAL_DECL void REGAL_CALL plugin_glFogx(GLenum pname, GLfixed param);\nREGAL_DECL void REGAL_CALL plugin_glFogxv(GLenum pname, const GLfixed *params);\nREGAL_DECL void REGAL_CALL plugin_glFrustumf(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar);\nREGAL_DECL void REGAL_CALL plugin_glFrustumx(GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar);\nREGAL_DECL void REGAL_CALL plugin_glLightModelx(GLenum pname, GLfixed param);\nREGAL_DECL void REGAL_CALL plugin_glLightModelxv(GLenum pname, const GLfixed *params);\nREGAL_DECL void REGAL_CALL plugin_glLightx(GLenum light, GLenum pname, GLfixed param);\nREGAL_DECL void REGAL_CALL plugin_glLightxv(GLenum light, GLenum pname, const GLfixed *params);\nREGAL_DECL void REGAL_CALL plugin_glLineWidthx(GLfixed width);\nREGAL_DECL void REGAL_CALL plugin_glLoadMatrixx(const GLfixed *m);\nREGAL_DECL void REGAL_CALL plugin_glMaterialx(GLenum face, GLenum pname, GLfixed param);\nREGAL_DECL void REGAL_CALL plugin_glMaterialxv(GLenum face, GLenum pname, const GLfixed *params);\nREGAL_DECL void REGAL_CALL plugin_glMultMatrixx(const GLfixed *m);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord4x(GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q);\nREGAL_DECL void REGAL_CALL plugin_glNormal3x(GLfixed nx, GLfixed ny, GLfixed nz);\nREGAL_DECL void REGAL_CALL plugin_glOrthof(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar);\nREGAL_DECL void REGAL_CALL plugin_glOrthox(GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar);\nREGAL_DECL void REGAL_CALL plugin_glPointSizex(GLfixed size);\nREGAL_DECL void REGAL_CALL plugin_glPolygonOffsetx(GLfixed factor, GLfixed units);\nREGAL_DECL void REGAL_CALL plugin_glRotatex(GLfixed angle, GLfixed x, GLfixed y, GLfixed z);\nREGAL_DECL void REGAL_CALL plugin_glSampleCoveragex(GLclampx value, GLboolean invert);\nREGAL_DECL void REGAL_CALL plugin_glScalex(GLfixed x, GLfixed y, GLfixed z);\nREGAL_DECL void REGAL_CALL plugin_glTexEnvx(GLenum target, GLenum pname, GLfixed param);\nREGAL_DECL void REGAL_CALL plugin_glTexEnvxv(GLenum target, GLenum pname, const GLfixed *params);\nREGAL_DECL void REGAL_CALL plugin_glTexParameterx(GLenum target, GLenum pname, GLfixed param);\nREGAL_DECL void REGAL_CALL plugin_glTranslatex(GLfixed x, GLfixed y, GLfixed z);\n#endif\n\n/**\n ** GL_REGAL_ES1_1_compatibility\n **/\n\n#if (defined(GL_REGAL_ES1_1_COMPATIBILITY) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_REGAL_ES1_1_COMPATIBILITY)) && !defined(REGAL_NO_ENUM_GL_REGAL_ES1_1_COMPATIBILITY)\n#define REGAL_NO_ENUM_GL_REGAL_ES1_1_COMPATIBILITY\n#endif\n\n#if (defined(GL_REGAL_ES1_1_COMPATIBILITY) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_REGAL_ES1_1_COMPATIBILITY)) && !defined(REGAL_NO_TYPEDEF_GL_REGAL_ES1_1_COMPATIBILITY)\n#define REGAL_NO_TYPEDEF_GL_REGAL_ES1_1_COMPATIBILITY\n#endif\n\n#if (defined(GL_REGAL_ES1_1_COMPATIBILITY) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_REGAL_ES1_1_COMPATIBILITY)) && !defined(REGAL_NO_NAMESPACE_GL_REGAL_ES1_1_COMPATIBILITY)\n#define REGAL_NO_NAMESPACE_GL_REGAL_ES1_1_COMPATIBILITY\n#endif\n\n#if (defined(GL_REGAL_ES1_1_COMPATIBILITY) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_REGAL_ES1_1_COMPATIBILITY)) && !defined(REGAL_NO_PLUGIN_GL_REGAL_ES1_1_COMPATIBILITY)\n#define REGAL_NO_PLUGIN_GL_REGAL_ES1_1_COMPATIBILITY\n#endif\n\n#if (defined(GL_REGAL_ES1_1_COMPATIBILITY) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_REGAL_ES1_1_COMPATIBILITY)) && !defined(REGAL_NO_DECLARATION_GL_REGAL_ES1_1_COMPATIBILITY)\n#define REGAL_NO_DECLARATION_GL_REGAL_ES1_1_COMPATIBILITY\n#endif\n\n#ifndef GL_REGAL_ES1_1_compatibility\n#define GL_REGAL_ES1_1_compatibility 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_REGAL_ES1_1_COMPATIBILITY\ntypedef void (REGAL_CALL *PFNGLCLIPPLANEFPROC)(GLenum plane, const GLfloat *equation);\ntypedef void (REGAL_CALL *PFNGLCLIPPLANEXPROC)(GLenum plane, const GLfixed *equation);\ntypedef void (REGAL_CALL *PFNGLGETCLIPPLANEFPROC)(GLenum pname, GLfloat *eqn);\ntypedef void (REGAL_CALL *PFNGLGETCLIPPLANEXPROC)(GLenum pname, GLfixed *eqn);\ntypedef void (REGAL_CALL *PFNGLGETFIXEDVPROC)(GLenum pname, GLfixed *params);\ntypedef void (REGAL_CALL *PFNGLGETLIGHTXVPROC)(GLenum light, GLenum pname, GLfixed *params);\ntypedef void (REGAL_CALL *PFNGLGETMATERIALXVPROC)(GLenum face, GLenum pname, GLfixed *params);\ntypedef void (REGAL_CALL *PFNGLGETTEXENVXVPROC)(GLenum env, GLenum pname, GLfixed *params);\ntypedef void (REGAL_CALL *PFNGLGETTEXPARAMETERXVPROC)(GLenum target, GLenum pname, GLfixed *params);\ntypedef void (REGAL_CALL *PFNGLPOINTPARAMETERXPROC)(GLenum pname, GLfixed param);\ntypedef void (REGAL_CALL *PFNGLPOINTPARAMETERXVPROC)(GLenum pname, const GLfixed *params);\ntypedef void (REGAL_CALL *PFNGLPOINTSIZEPOINTEROESPROC)(GLenum type, GLsizei stride, const GLvoid *pointer);\ntypedef void (REGAL_CALL *PFNGLTEXPARAMETERXVPROC)(GLenum target, GLenum pname, const GLfixed *params);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_REGAL_ES1_1_COMPATIBILITY\n#define glClipPlanef                        rglClipPlanef\n#define glClipPlanex                        rglClipPlanex\n#define glGetClipPlanef                     rglGetClipPlanef\n#define glGetClipPlanex                     rglGetClipPlanex\n#define glGetFixedv                         rglGetFixedv\n#define glGetLightxv                        rglGetLightxv\n#define glGetMaterialxv                     rglGetMaterialxv\n#define glGetTexEnvxv                       rglGetTexEnvxv\n#define glGetTexParameterxv                 rglGetTexParameterxv\n#define glPointParameterx                   rglPointParameterx\n#define glPointParameterxv                  rglPointParameterxv\n#define glPointSizePointerOES               rglPointSizePointerOES\n#define glTexParameterxv                    rglTexParameterxv\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_REGAL_ES1_1_COMPATIBILITY\nREGAL_DECL void REGAL_CALL glClipPlanef(GLenum plane, const GLfloat *equation);\nREGAL_DECL void REGAL_CALL glClipPlanex(GLenum plane, const GLfixed *equation);\nREGAL_DECL void REGAL_CALL glGetClipPlanef(GLenum pname, GLfloat *eqn);\nREGAL_DECL void REGAL_CALL glGetClipPlanex(GLenum pname, GLfixed *eqn);\nREGAL_DECL void REGAL_CALL glGetFixedv(GLenum pname, GLfixed *params);\nREGAL_DECL void REGAL_CALL glGetLightxv(GLenum light, GLenum pname, GLfixed *params);\nREGAL_DECL void REGAL_CALL glGetMaterialxv(GLenum face, GLenum pname, GLfixed *params);\nREGAL_DECL void REGAL_CALL glGetTexEnvxv(GLenum env, GLenum pname, GLfixed *params);\nREGAL_DECL void REGAL_CALL glGetTexParameterxv(GLenum target, GLenum pname, GLfixed *params);\nREGAL_DECL void REGAL_CALL glPointParameterx(GLenum pname, GLfixed param);\nREGAL_DECL void REGAL_CALL glPointParameterxv(GLenum pname, const GLfixed *params);\nREGAL_DECL void REGAL_CALL glPointSizePointerOES(GLenum type, GLsizei stride, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL glTexParameterxv(GLenum target, GLenum pname, const GLfixed *params);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_REGAL_ES1_1_COMPATIBILITY\nREGAL_DECL void REGAL_CALL plugin_glClipPlanef(GLenum plane, const GLfloat *equation);\nREGAL_DECL void REGAL_CALL plugin_glClipPlanex(GLenum plane, const GLfixed *equation);\nREGAL_DECL void REGAL_CALL plugin_glGetClipPlanef(GLenum pname, GLfloat *eqn);\nREGAL_DECL void REGAL_CALL plugin_glGetClipPlanex(GLenum pname, GLfixed *eqn);\nREGAL_DECL void REGAL_CALL plugin_glGetFixedv(GLenum pname, GLfixed *params);\nREGAL_DECL void REGAL_CALL plugin_glGetLightxv(GLenum light, GLenum pname, GLfixed *params);\nREGAL_DECL void REGAL_CALL plugin_glGetMaterialxv(GLenum face, GLenum pname, GLfixed *params);\nREGAL_DECL void REGAL_CALL plugin_glGetTexEnvxv(GLenum env, GLenum pname, GLfixed *params);\nREGAL_DECL void REGAL_CALL plugin_glGetTexParameterxv(GLenum target, GLenum pname, GLfixed *params);\nREGAL_DECL void REGAL_CALL plugin_glPointParameterx(GLenum pname, GLfixed param);\nREGAL_DECL void REGAL_CALL plugin_glPointParameterxv(GLenum pname, const GLfixed *params);\nREGAL_DECL void REGAL_CALL plugin_glPointSizePointerOES(GLenum type, GLsizei stride, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL plugin_glTexParameterxv(GLenum target, GLenum pname, const GLfixed *params);\n#endif\n\n/**\n ** GL_REGAL_enable\n **/\n\n#if (defined(GL_REGAL_ENABLE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_REGAL_ENABLE)) && !defined(REGAL_NO_ENUM_GL_REGAL_ENABLE)\n#define REGAL_NO_ENUM_GL_REGAL_ENABLE\n#endif\n\n#if (defined(GL_REGAL_ENABLE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_REGAL_ENABLE)) && !defined(REGAL_NO_TYPEDEF_GL_REGAL_ENABLE)\n#define REGAL_NO_TYPEDEF_GL_REGAL_ENABLE\n#endif\n\n#if (defined(GL_REGAL_ENABLE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_REGAL_ENABLE)) && !defined(REGAL_NO_NAMESPACE_GL_REGAL_ENABLE)\n#define REGAL_NO_NAMESPACE_GL_REGAL_ENABLE\n#endif\n\n#if (defined(GL_REGAL_ENABLE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_REGAL_ENABLE)) && !defined(REGAL_NO_PLUGIN_GL_REGAL_ENABLE)\n#define REGAL_NO_PLUGIN_GL_REGAL_ENABLE\n#endif\n\n#if (defined(GL_REGAL_ENABLE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_REGAL_ENABLE)) && !defined(REGAL_NO_DECLARATION_GL_REGAL_ENABLE)\n#define REGAL_NO_DECLARATION_GL_REGAL_ENABLE\n#endif\n\n#ifndef GL_REGAL_enable\n#define GL_REGAL_enable 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_REGAL_ENABLE\n#define GL_ERROR_REGAL      0x9322     /* 37666 */\n#define GL_DEBUG_REGAL      0x9323     /* 37667 */\n#define GL_LOG_REGAL        0x9324     /* 37668 */\n#define GL_EMULATION_REGAL  0x9325     /* 37669 */\n#define GL_DRIVER_REGAL     0x9326     /* 37670 */\n#define GL_MISSING_REGAL    0x9360     /* 37728 */\n#define GL_TRACE_REGAL      0x9361     /* 37729 */\n#define GL_CACHE_REGAL      0x9362     /* 37730 */\n#define GL_CODE_REGAL       0x9363     /* 37731 */\n#define GL_STATISTICS_REGAL 0x9364     /* 37732 */\n#endif\n\n/**\n ** GL_REGAL_error_string\n **/\n\n#if (defined(GL_REGAL_ERROR_STRING) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_REGAL_ERROR_STRING)) && !defined(REGAL_NO_ENUM_GL_REGAL_ERROR_STRING)\n#define REGAL_NO_ENUM_GL_REGAL_ERROR_STRING\n#endif\n\n#if (defined(GL_REGAL_ERROR_STRING) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_REGAL_ERROR_STRING)) && !defined(REGAL_NO_TYPEDEF_GL_REGAL_ERROR_STRING)\n#define REGAL_NO_TYPEDEF_GL_REGAL_ERROR_STRING\n#endif\n\n#if (defined(GL_REGAL_ERROR_STRING) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_REGAL_ERROR_STRING)) && !defined(REGAL_NO_NAMESPACE_GL_REGAL_ERROR_STRING)\n#define REGAL_NO_NAMESPACE_GL_REGAL_ERROR_STRING\n#endif\n\n#if (defined(GL_REGAL_ERROR_STRING) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_REGAL_ERROR_STRING)) && !defined(REGAL_NO_PLUGIN_GL_REGAL_ERROR_STRING)\n#define REGAL_NO_PLUGIN_GL_REGAL_ERROR_STRING\n#endif\n\n#if (defined(GL_REGAL_ERROR_STRING) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_REGAL_ERROR_STRING)) && !defined(REGAL_NO_DECLARATION_GL_REGAL_ERROR_STRING)\n#define REGAL_NO_DECLARATION_GL_REGAL_ERROR_STRING\n#endif\n\n#ifndef GL_REGAL_error_string\n#define GL_REGAL_error_string 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_REGAL_ERROR_STRING\ntypedef const GLchar *(REGAL_CALL *PFNGLERRORSTRINGREGALPROC)(GLenum error);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_REGAL_ERROR_STRING\n#define glErrorStringREGAL                  rglErrorStringREGAL\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_REGAL_ERROR_STRING\nREGAL_DECL const GLchar *REGAL_CALL glErrorStringREGAL(GLenum error);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_REGAL_ERROR_STRING\nREGAL_DECL const GLchar *REGAL_CALL plugin_glErrorStringREGAL(GLenum error);\n#endif\n\n/**\n ** GL_REGAL_extension_query\n **/\n\n#if (defined(GL_REGAL_EXTENSION_QUERY) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_REGAL_EXTENSION_QUERY)) && !defined(REGAL_NO_ENUM_GL_REGAL_EXTENSION_QUERY)\n#define REGAL_NO_ENUM_GL_REGAL_EXTENSION_QUERY\n#endif\n\n#if (defined(GL_REGAL_EXTENSION_QUERY) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_REGAL_EXTENSION_QUERY)) && !defined(REGAL_NO_TYPEDEF_GL_REGAL_EXTENSION_QUERY)\n#define REGAL_NO_TYPEDEF_GL_REGAL_EXTENSION_QUERY\n#endif\n\n#if (defined(GL_REGAL_EXTENSION_QUERY) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_REGAL_EXTENSION_QUERY)) && !defined(REGAL_NO_NAMESPACE_GL_REGAL_EXTENSION_QUERY)\n#define REGAL_NO_NAMESPACE_GL_REGAL_EXTENSION_QUERY\n#endif\n\n#if (defined(GL_REGAL_EXTENSION_QUERY) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_REGAL_EXTENSION_QUERY)) && !defined(REGAL_NO_PLUGIN_GL_REGAL_EXTENSION_QUERY)\n#define REGAL_NO_PLUGIN_GL_REGAL_EXTENSION_QUERY\n#endif\n\n#if (defined(GL_REGAL_EXTENSION_QUERY) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_REGAL_EXTENSION_QUERY)) && !defined(REGAL_NO_DECLARATION_GL_REGAL_EXTENSION_QUERY)\n#define REGAL_NO_DECLARATION_GL_REGAL_EXTENSION_QUERY\n#endif\n\n#ifndef GL_REGAL_extension_query\n#define GL_REGAL_extension_query 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_REGAL_EXTENSION_QUERY\ntypedef GLboolean (REGAL_CALL *PFNGLGETEXTENSIONREGALPROC)(const GLchar *ext);\ntypedef GLboolean (REGAL_CALL *PFNGLISSUPPORTEDREGALPROC)(const GLchar *ext);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_REGAL_EXTENSION_QUERY\n#define glGetExtensionREGAL                 rglGetExtensionREGAL\n#define glIsSupportedREGAL                  rglIsSupportedREGAL\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_REGAL_EXTENSION_QUERY\nREGAL_DECL GLboolean REGAL_CALL glGetExtensionREGAL(const GLchar *ext);\nREGAL_DECL GLboolean REGAL_CALL glIsSupportedREGAL(const GLchar *ext);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_REGAL_EXTENSION_QUERY\nREGAL_DECL GLboolean REGAL_CALL plugin_glGetExtensionREGAL(const GLchar *ext);\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsSupportedREGAL(const GLchar *ext);\n#endif\n\n/**\n ** GL_REGAL_log\n **/\n\n#if (defined(GL_REGAL_LOG) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_REGAL_LOG)) && !defined(REGAL_NO_ENUM_GL_REGAL_LOG)\n#define REGAL_NO_ENUM_GL_REGAL_LOG\n#endif\n\n#if (defined(GL_REGAL_LOG) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_REGAL_LOG)) && !defined(REGAL_NO_TYPEDEF_GL_REGAL_LOG)\n#define REGAL_NO_TYPEDEF_GL_REGAL_LOG\n#endif\n\n#if (defined(GL_REGAL_LOG) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_REGAL_LOG)) && !defined(REGAL_NO_NAMESPACE_GL_REGAL_LOG)\n#define REGAL_NO_NAMESPACE_GL_REGAL_LOG\n#endif\n\n#if (defined(GL_REGAL_LOG) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_REGAL_LOG)) && !defined(REGAL_NO_PLUGIN_GL_REGAL_LOG)\n#define REGAL_NO_PLUGIN_GL_REGAL_LOG\n#endif\n\n#if (defined(GL_REGAL_LOG) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_REGAL_LOG)) && !defined(REGAL_NO_DECLARATION_GL_REGAL_LOG)\n#define REGAL_NO_DECLARATION_GL_REGAL_LOG\n#endif\n\n#ifndef GL_REGAL_log\n#define GL_REGAL_log 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_REGAL_LOG\n#define GL_LOG_ERROR_REGAL    0x9319     /* 37657 */\n#define GL_LOG_WARNING_REGAL  0x931a     /* 37658 */\n#define GL_LOG_INFO_REGAL     0x931b     /* 37659 */\n#define GL_LOG_APP_REGAL      0x931c     /* 37660 */\n#define GL_LOG_DRIVER_REGAL   0x931d     /* 37661 */\n#define GL_LOG_INTERNAL_REGAL 0x931e     /* 37662 */\n#define GL_LOG_DEBUG_REGAL    0x931f     /* 37663 */\n#define GL_LOG_STATUS_REGAL   0x9320     /* 37664 */\n#define GL_LOG_HTTP_REGAL     0x9321     /* 37665 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_REGAL_LOG\ntypedef void (REGAL_CALL *PFNGLLOGMESSAGECALLBACKREGALPROC)(GLLOGPROCREGAL callback);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_REGAL_LOG\n#define glLogMessageCallbackREGAL           rglLogMessageCallbackREGAL\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_REGAL_LOG\nREGAL_DECL void REGAL_CALL glLogMessageCallbackREGAL(GLLOGPROCREGAL callback);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_REGAL_LOG\nREGAL_DECL void REGAL_CALL plugin_glLogMessageCallbackREGAL(GLLOGPROCREGAL callback);\n#endif\n\n/**\n ** GL_REND_screen_coordinates\n **/\n\n#if (defined(GL_REND_SCREEN_COORDINATES) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_REND_SCREEN_COORDINATES)) && !defined(REGAL_NO_ENUM_GL_REND_SCREEN_COORDINATES)\n#define REGAL_NO_ENUM_GL_REND_SCREEN_COORDINATES\n#endif\n\n#if (defined(GL_REND_SCREEN_COORDINATES) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_REND_SCREEN_COORDINATES)) && !defined(REGAL_NO_TYPEDEF_GL_REND_SCREEN_COORDINATES)\n#define REGAL_NO_TYPEDEF_GL_REND_SCREEN_COORDINATES\n#endif\n\n#if (defined(GL_REND_SCREEN_COORDINATES) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_REND_SCREEN_COORDINATES)) && !defined(REGAL_NO_NAMESPACE_GL_REND_SCREEN_COORDINATES)\n#define REGAL_NO_NAMESPACE_GL_REND_SCREEN_COORDINATES\n#endif\n\n#if (defined(GL_REND_SCREEN_COORDINATES) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_REND_SCREEN_COORDINATES)) && !defined(REGAL_NO_PLUGIN_GL_REND_SCREEN_COORDINATES)\n#define REGAL_NO_PLUGIN_GL_REND_SCREEN_COORDINATES\n#endif\n\n#if (defined(GL_REND_SCREEN_COORDINATES) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_REND_SCREEN_COORDINATES)) && !defined(REGAL_NO_DECLARATION_GL_REND_SCREEN_COORDINATES)\n#define REGAL_NO_DECLARATION_GL_REND_SCREEN_COORDINATES\n#endif\n\n#ifndef GL_REND_screen_coordinates\n#define GL_REND_screen_coordinates 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_REND_SCREEN_COORDINATES\n#define GL_SCREEN_COORDINATES_REND 0x8490     /* 33936 */\n#define GL_INVERTED_SCREEN_W_REND  0x8491     /* 33937 */\n#endif\n\n/**\n ** GL_S3_s3tc\n **/\n\n#if (defined(GL_S3_S3TC) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_S3_S3TC)) && !defined(REGAL_NO_ENUM_GL_S3_S3TC)\n#define REGAL_NO_ENUM_GL_S3_S3TC\n#endif\n\n#if (defined(GL_S3_S3TC) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_S3_S3TC)) && !defined(REGAL_NO_TYPEDEF_GL_S3_S3TC)\n#define REGAL_NO_TYPEDEF_GL_S3_S3TC\n#endif\n\n#if (defined(GL_S3_S3TC) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_S3_S3TC)) && !defined(REGAL_NO_NAMESPACE_GL_S3_S3TC)\n#define REGAL_NO_NAMESPACE_GL_S3_S3TC\n#endif\n\n#if (defined(GL_S3_S3TC) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_S3_S3TC)) && !defined(REGAL_NO_PLUGIN_GL_S3_S3TC)\n#define REGAL_NO_PLUGIN_GL_S3_S3TC\n#endif\n\n#if (defined(GL_S3_S3TC) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_S3_S3TC)) && !defined(REGAL_NO_DECLARATION_GL_S3_S3TC)\n#define REGAL_NO_DECLARATION_GL_S3_S3TC\n#endif\n\n#ifndef GL_S3_s3tc\n#define GL_S3_s3tc 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_S3_S3TC\n#define GL_RGB_S3TC        0x83a0     /* 33696 */\n#define GL_RGB4_S3TC       0x83a1     /* 33697 */\n#define GL_RGBA_S3TC       0x83a2     /* 33698 */\n#define GL_RGBA4_S3TC      0x83a3     /* 33699 */\n#define GL_RGBA_DXT5_S3TC  0x83a4     /* 33700 */\n#define GL_RGBA4_DXT5_S3TC 0x83a5     /* 33701 */\n#endif\n\n/**\n ** GL_SGIS_color_range\n **/\n\n#if (defined(GL_SGIS_COLOR_RANGE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIS_COLOR_RANGE)) && !defined(REGAL_NO_ENUM_GL_SGIS_COLOR_RANGE)\n#define REGAL_NO_ENUM_GL_SGIS_COLOR_RANGE\n#endif\n\n#if (defined(GL_SGIS_COLOR_RANGE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIS_COLOR_RANGE)) && !defined(REGAL_NO_TYPEDEF_GL_SGIS_COLOR_RANGE)\n#define REGAL_NO_TYPEDEF_GL_SGIS_COLOR_RANGE\n#endif\n\n#if (defined(GL_SGIS_COLOR_RANGE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIS_COLOR_RANGE)) && !defined(REGAL_NO_NAMESPACE_GL_SGIS_COLOR_RANGE)\n#define REGAL_NO_NAMESPACE_GL_SGIS_COLOR_RANGE\n#endif\n\n#if (defined(GL_SGIS_COLOR_RANGE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIS_COLOR_RANGE)) && !defined(REGAL_NO_PLUGIN_GL_SGIS_COLOR_RANGE)\n#define REGAL_NO_PLUGIN_GL_SGIS_COLOR_RANGE\n#endif\n\n#if (defined(GL_SGIS_COLOR_RANGE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIS_COLOR_RANGE)) && !defined(REGAL_NO_DECLARATION_GL_SGIS_COLOR_RANGE)\n#define REGAL_NO_DECLARATION_GL_SGIS_COLOR_RANGE\n#endif\n\n#ifndef GL_SGIS_color_range\n#define GL_SGIS_color_range 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_SGIS_COLOR_RANGE\n#define GL_EXTENDED_RANGE_SGIS 0x85a5     /* 34213 */\n#define GL_MIN_RED_SGIS        0x85a6     /* 34214 */\n#define GL_MAX_RED_SGIS        0x85a7     /* 34215 */\n#define GL_MIN_GREEN_SGIS      0x85a8     /* 34216 */\n#define GL_MAX_GREEN_SGIS      0x85a9     /* 34217 */\n#define GL_MIN_BLUE_SGIS       0x85aa     /* 34218 */\n#define GL_MAX_BLUE_SGIS       0x85ab     /* 34219 */\n#define GL_MIN_ALPHA_SGIS      0x85ac     /* 34220 */\n#define GL_MAX_ALPHA_SGIS      0x85ad     /* 34221 */\n#endif\n\n/**\n ** GL_SGIS_detail_texture\n **/\n\n#if (defined(GL_SGIS_DETAIL_TEXTURE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIS_DETAIL_TEXTURE)) && !defined(REGAL_NO_ENUM_GL_SGIS_DETAIL_TEXTURE)\n#define REGAL_NO_ENUM_GL_SGIS_DETAIL_TEXTURE\n#endif\n\n#if (defined(GL_SGIS_DETAIL_TEXTURE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIS_DETAIL_TEXTURE)) && !defined(REGAL_NO_TYPEDEF_GL_SGIS_DETAIL_TEXTURE)\n#define REGAL_NO_TYPEDEF_GL_SGIS_DETAIL_TEXTURE\n#endif\n\n#if (defined(GL_SGIS_DETAIL_TEXTURE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIS_DETAIL_TEXTURE)) && !defined(REGAL_NO_NAMESPACE_GL_SGIS_DETAIL_TEXTURE)\n#define REGAL_NO_NAMESPACE_GL_SGIS_DETAIL_TEXTURE\n#endif\n\n#if (defined(GL_SGIS_DETAIL_TEXTURE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIS_DETAIL_TEXTURE)) && !defined(REGAL_NO_PLUGIN_GL_SGIS_DETAIL_TEXTURE)\n#define REGAL_NO_PLUGIN_GL_SGIS_DETAIL_TEXTURE\n#endif\n\n#if (defined(GL_SGIS_DETAIL_TEXTURE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIS_DETAIL_TEXTURE)) && !defined(REGAL_NO_DECLARATION_GL_SGIS_DETAIL_TEXTURE)\n#define REGAL_NO_DECLARATION_GL_SGIS_DETAIL_TEXTURE\n#endif\n\n#ifndef GL_SGIS_detail_texture\n#define GL_SGIS_detail_texture 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_SGIS_DETAIL_TEXTURE\n#define GL_DETAIL_TEXTURE_2D_SGIS          0x8095     /* 32917 */\n#define GL_DETAIL_TEXTURE_2D_BINDING_SGIS  0x8096     /* 32918 */\n#define GL_LINEAR_DETAIL_SGIS              0x8097     /* 32919 */\n#define GL_LINEAR_DETAIL_ALPHA_SGIS        0x8098     /* 32920 */\n#define GL_LINEAR_DETAIL_COLOR_SGIS        0x8099     /* 32921 */\n#define GL_DETAIL_TEXTURE_LEVEL_SGIS       0x809a     /* 32922 */\n#define GL_DETAIL_TEXTURE_MODE_SGIS        0x809b     /* 32923 */\n#define GL_DETAIL_TEXTURE_FUNC_POINTS_SGIS 0x809c     /* 32924 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_SGIS_DETAIL_TEXTURE\ntypedef void (REGAL_CALL *PFNGLDETAILTEXFUNCSGISPROC)(GLenum target, GLsizei n, const GLfloat *points);\ntypedef void (REGAL_CALL *PFNGLGETDETAILTEXFUNCSGISPROC)(GLenum target, GLfloat *points);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_SGIS_DETAIL_TEXTURE\n#define glDetailTexFuncSGIS                 rglDetailTexFuncSGIS\n#define glGetDetailTexFuncSGIS              rglGetDetailTexFuncSGIS\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_SGIS_DETAIL_TEXTURE\nREGAL_DECL void REGAL_CALL glDetailTexFuncSGIS(GLenum target, GLsizei n, const GLfloat *points);\nREGAL_DECL void REGAL_CALL glGetDetailTexFuncSGIS(GLenum target, GLfloat *points);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_SGIS_DETAIL_TEXTURE\nREGAL_DECL void REGAL_CALL plugin_glDetailTexFuncSGIS(GLenum target, GLsizei n, const GLfloat *points);\nREGAL_DECL void REGAL_CALL plugin_glGetDetailTexFuncSGIS(GLenum target, GLfloat *points);\n#endif\n\n/**\n ** GL_SGIS_fog_function\n **/\n\n#if (defined(GL_SGIS_FOG_FUNCTION) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIS_FOG_FUNCTION)) && !defined(REGAL_NO_ENUM_GL_SGIS_FOG_FUNCTION)\n#define REGAL_NO_ENUM_GL_SGIS_FOG_FUNCTION\n#endif\n\n#if (defined(GL_SGIS_FOG_FUNCTION) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIS_FOG_FUNCTION)) && !defined(REGAL_NO_TYPEDEF_GL_SGIS_FOG_FUNCTION)\n#define REGAL_NO_TYPEDEF_GL_SGIS_FOG_FUNCTION\n#endif\n\n#if (defined(GL_SGIS_FOG_FUNCTION) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIS_FOG_FUNCTION)) && !defined(REGAL_NO_NAMESPACE_GL_SGIS_FOG_FUNCTION)\n#define REGAL_NO_NAMESPACE_GL_SGIS_FOG_FUNCTION\n#endif\n\n#if (defined(GL_SGIS_FOG_FUNCTION) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIS_FOG_FUNCTION)) && !defined(REGAL_NO_PLUGIN_GL_SGIS_FOG_FUNCTION)\n#define REGAL_NO_PLUGIN_GL_SGIS_FOG_FUNCTION\n#endif\n\n#if (defined(GL_SGIS_FOG_FUNCTION) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIS_FOG_FUNCTION)) && !defined(REGAL_NO_DECLARATION_GL_SGIS_FOG_FUNCTION)\n#define REGAL_NO_DECLARATION_GL_SGIS_FOG_FUNCTION\n#endif\n\n#ifndef GL_SGIS_fog_function\n#define GL_SGIS_fog_function 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_SGIS_FOG_FUNCTION\ntypedef void (REGAL_CALL *PFNGLFOGFUNCSGISPROC)(GLsizei n, const GLfloat *points);\ntypedef void (REGAL_CALL *PFNGLGETFOGFUNCSGISPROC)(GLfloat *points);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_SGIS_FOG_FUNCTION\n#define glFogFuncSGIS                       rglFogFuncSGIS\n#define glGetFogFuncSGIS                    rglGetFogFuncSGIS\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_SGIS_FOG_FUNCTION\nREGAL_DECL void REGAL_CALL glFogFuncSGIS(GLsizei n, const GLfloat *points);\nREGAL_DECL void REGAL_CALL glGetFogFuncSGIS(GLfloat *points);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_SGIS_FOG_FUNCTION\nREGAL_DECL void REGAL_CALL plugin_glFogFuncSGIS(GLsizei n, const GLfloat *points);\nREGAL_DECL void REGAL_CALL plugin_glGetFogFuncSGIS(GLfloat *points);\n#endif\n\n/**\n ** GL_SGIS_generate_mipmap\n **/\n\n#if (defined(GL_SGIS_GENERATE_MIPMAP) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIS_GENERATE_MIPMAP)) && !defined(REGAL_NO_ENUM_GL_SGIS_GENERATE_MIPMAP)\n#define REGAL_NO_ENUM_GL_SGIS_GENERATE_MIPMAP\n#endif\n\n#if (defined(GL_SGIS_GENERATE_MIPMAP) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIS_GENERATE_MIPMAP)) && !defined(REGAL_NO_TYPEDEF_GL_SGIS_GENERATE_MIPMAP)\n#define REGAL_NO_TYPEDEF_GL_SGIS_GENERATE_MIPMAP\n#endif\n\n#if (defined(GL_SGIS_GENERATE_MIPMAP) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIS_GENERATE_MIPMAP)) && !defined(REGAL_NO_NAMESPACE_GL_SGIS_GENERATE_MIPMAP)\n#define REGAL_NO_NAMESPACE_GL_SGIS_GENERATE_MIPMAP\n#endif\n\n#if (defined(GL_SGIS_GENERATE_MIPMAP) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIS_GENERATE_MIPMAP)) && !defined(REGAL_NO_PLUGIN_GL_SGIS_GENERATE_MIPMAP)\n#define REGAL_NO_PLUGIN_GL_SGIS_GENERATE_MIPMAP\n#endif\n\n#if (defined(GL_SGIS_GENERATE_MIPMAP) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIS_GENERATE_MIPMAP)) && !defined(REGAL_NO_DECLARATION_GL_SGIS_GENERATE_MIPMAP)\n#define REGAL_NO_DECLARATION_GL_SGIS_GENERATE_MIPMAP\n#endif\n\n#ifndef GL_SGIS_generate_mipmap\n#define GL_SGIS_generate_mipmap 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_SGIS_GENERATE_MIPMAP\n#define GL_GENERATE_MIPMAP_SGIS      0x8191     /* 33169 */\n#define GL_GENERATE_MIPMAP_HINT_SGIS 0x8192     /* 33170 */\n#endif\n\n/**\n ** GL_SGIS_multisample\n **/\n\n#if (defined(GL_SGIS_MULTISAMPLE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIS_MULTISAMPLE)) && !defined(REGAL_NO_ENUM_GL_SGIS_MULTISAMPLE)\n#define REGAL_NO_ENUM_GL_SGIS_MULTISAMPLE\n#endif\n\n#if (defined(GL_SGIS_MULTISAMPLE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIS_MULTISAMPLE)) && !defined(REGAL_NO_TYPEDEF_GL_SGIS_MULTISAMPLE)\n#define REGAL_NO_TYPEDEF_GL_SGIS_MULTISAMPLE\n#endif\n\n#if (defined(GL_SGIS_MULTISAMPLE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIS_MULTISAMPLE)) && !defined(REGAL_NO_NAMESPACE_GL_SGIS_MULTISAMPLE)\n#define REGAL_NO_NAMESPACE_GL_SGIS_MULTISAMPLE\n#endif\n\n#if (defined(GL_SGIS_MULTISAMPLE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIS_MULTISAMPLE)) && !defined(REGAL_NO_PLUGIN_GL_SGIS_MULTISAMPLE)\n#define REGAL_NO_PLUGIN_GL_SGIS_MULTISAMPLE\n#endif\n\n#if (defined(GL_SGIS_MULTISAMPLE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIS_MULTISAMPLE)) && !defined(REGAL_NO_DECLARATION_GL_SGIS_MULTISAMPLE)\n#define REGAL_NO_DECLARATION_GL_SGIS_MULTISAMPLE\n#endif\n\n#ifndef GL_SGIS_multisample\n#define GL_SGIS_multisample 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_SGIS_MULTISAMPLE\n#define GL_MULTISAMPLE_SGIS          0x809d     /* 32925 */\n#define GL_SAMPLE_ALPHA_TO_MASK_SGIS 0x809e     /* 32926 */\n#define GL_SAMPLE_ALPHA_TO_ONE_SGIS  0x809f     /* 32927 */\n#define GL_SAMPLE_MASK_SGIS          0x80a0     /* 32928 */\n#define GL_1PASS_SGIS                0x80a1     /* 32929 */\n#define GL_2PASS_0_SGIS              0x80a2     /* 32930 */\n#define GL_2PASS_1_SGIS              0x80a3     /* 32931 */\n#define GL_4PASS_0_SGIS              0x80a4     /* 32932 */\n#define GL_4PASS_1_SGIS              0x80a5     /* 32933 */\n#define GL_4PASS_2_SGIS              0x80a6     /* 32934 */\n#define GL_4PASS_3_SGIS              0x80a7     /* 32935 */\n#define GL_SAMPLE_BUFFERS_SGIS       0x80a8     /* 32936 */\n#define GL_SAMPLES_SGIS              0x80a9     /* 32937 */\n#define GL_SAMPLE_MASK_VALUE_SGIS    0x80aa     /* 32938 */\n#define GL_SAMPLE_MASK_INVERT_SGIS   0x80ab     /* 32939 */\n#define GL_SAMPLE_PATTERN_SGIS       0x80ac     /* 32940 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_SGIS_MULTISAMPLE\ntypedef void (REGAL_CALL *PFNGLSAMPLEMASKSGISPROC)(GLclampf value, GLboolean invert);\ntypedef void (REGAL_CALL *PFNGLSAMPLEPATTERNSGISPROC)(GLenum pattern);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_SGIS_MULTISAMPLE\n#define glSampleMaskSGIS                    rglSampleMaskSGIS\n#define glSamplePatternSGIS                 rglSamplePatternSGIS\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_SGIS_MULTISAMPLE\nREGAL_DECL void REGAL_CALL glSampleMaskSGIS(GLclampf value, GLboolean invert);\nREGAL_DECL void REGAL_CALL glSamplePatternSGIS(GLenum pattern);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_SGIS_MULTISAMPLE\nREGAL_DECL void REGAL_CALL plugin_glSampleMaskSGIS(GLclampf value, GLboolean invert);\nREGAL_DECL void REGAL_CALL plugin_glSamplePatternSGIS(GLenum pattern);\n#endif\n\n/**\n ** GL_SGIS_pixel_texture\n **/\n\n#if (defined(GL_SGIS_PIXEL_TEXTURE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIS_PIXEL_TEXTURE)) && !defined(REGAL_NO_ENUM_GL_SGIS_PIXEL_TEXTURE)\n#define REGAL_NO_ENUM_GL_SGIS_PIXEL_TEXTURE\n#endif\n\n#if (defined(GL_SGIS_PIXEL_TEXTURE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIS_PIXEL_TEXTURE)) && !defined(REGAL_NO_TYPEDEF_GL_SGIS_PIXEL_TEXTURE)\n#define REGAL_NO_TYPEDEF_GL_SGIS_PIXEL_TEXTURE\n#endif\n\n#if (defined(GL_SGIS_PIXEL_TEXTURE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIS_PIXEL_TEXTURE)) && !defined(REGAL_NO_NAMESPACE_GL_SGIS_PIXEL_TEXTURE)\n#define REGAL_NO_NAMESPACE_GL_SGIS_PIXEL_TEXTURE\n#endif\n\n#if (defined(GL_SGIS_PIXEL_TEXTURE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIS_PIXEL_TEXTURE)) && !defined(REGAL_NO_PLUGIN_GL_SGIS_PIXEL_TEXTURE)\n#define REGAL_NO_PLUGIN_GL_SGIS_PIXEL_TEXTURE\n#endif\n\n#if (defined(GL_SGIS_PIXEL_TEXTURE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIS_PIXEL_TEXTURE)) && !defined(REGAL_NO_DECLARATION_GL_SGIS_PIXEL_TEXTURE)\n#define REGAL_NO_DECLARATION_GL_SGIS_PIXEL_TEXTURE\n#endif\n\n#ifndef GL_SGIS_pixel_texture\n#define GL_SGIS_pixel_texture 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_SGIS_PIXEL_TEXTURE\ntypedef void (REGAL_CALL *PFNGLGETPIXELTEXGENPARAMETERFVSGISPROC)(GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETPIXELTEXGENPARAMETERIVSGISPROC)(GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLPIXELTEXGENPARAMETERFSGISPROC)(GLenum pname, GLfloat param);\ntypedef void (REGAL_CALL *PFNGLPIXELTEXGENPARAMETERFVSGISPROC)(GLenum pname, const GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLPIXELTEXGENPARAMETERISGISPROC)(GLenum pname, GLint param);\ntypedef void (REGAL_CALL *PFNGLPIXELTEXGENPARAMETERIVSGISPROC)(GLenum pname, const GLint *params);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_SGIS_PIXEL_TEXTURE\n#define glGetPixelTexGenParameterfvSGIS     rglGetPixelTexGenParameterfvSGIS\n#define glGetPixelTexGenParameterivSGIS     rglGetPixelTexGenParameterivSGIS\n#define glPixelTexGenParameterfSGIS         rglPixelTexGenParameterfSGIS\n#define glPixelTexGenParameterfvSGIS        rglPixelTexGenParameterfvSGIS\n#define glPixelTexGenParameteriSGIS         rglPixelTexGenParameteriSGIS\n#define glPixelTexGenParameterivSGIS        rglPixelTexGenParameterivSGIS\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_SGIS_PIXEL_TEXTURE\nREGAL_DECL void REGAL_CALL glGetPixelTexGenParameterfvSGIS(GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetPixelTexGenParameterivSGIS(GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glPixelTexGenParameterfSGIS(GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL glPixelTexGenParameterfvSGIS(GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL glPixelTexGenParameteriSGIS(GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL glPixelTexGenParameterivSGIS(GLenum pname, const GLint *params);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_SGIS_PIXEL_TEXTURE\nREGAL_DECL void REGAL_CALL plugin_glGetPixelTexGenParameterfvSGIS(GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetPixelTexGenParameterivSGIS(GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glPixelTexGenParameterfSGIS(GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL plugin_glPixelTexGenParameterfvSGIS(GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glPixelTexGenParameteriSGIS(GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL plugin_glPixelTexGenParameterivSGIS(GLenum pname, const GLint *params);\n#endif\n\n/**\n ** GL_SGIS_point_line_texgen\n **/\n\n#if (defined(GL_SGIS_POINT_LINE_TEXGEN) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIS_POINT_LINE_TEXGEN)) && !defined(REGAL_NO_ENUM_GL_SGIS_POINT_LINE_TEXGEN)\n#define REGAL_NO_ENUM_GL_SGIS_POINT_LINE_TEXGEN\n#endif\n\n#if (defined(GL_SGIS_POINT_LINE_TEXGEN) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIS_POINT_LINE_TEXGEN)) && !defined(REGAL_NO_TYPEDEF_GL_SGIS_POINT_LINE_TEXGEN)\n#define REGAL_NO_TYPEDEF_GL_SGIS_POINT_LINE_TEXGEN\n#endif\n\n#if (defined(GL_SGIS_POINT_LINE_TEXGEN) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIS_POINT_LINE_TEXGEN)) && !defined(REGAL_NO_NAMESPACE_GL_SGIS_POINT_LINE_TEXGEN)\n#define REGAL_NO_NAMESPACE_GL_SGIS_POINT_LINE_TEXGEN\n#endif\n\n#if (defined(GL_SGIS_POINT_LINE_TEXGEN) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIS_POINT_LINE_TEXGEN)) && !defined(REGAL_NO_PLUGIN_GL_SGIS_POINT_LINE_TEXGEN)\n#define REGAL_NO_PLUGIN_GL_SGIS_POINT_LINE_TEXGEN\n#endif\n\n#if (defined(GL_SGIS_POINT_LINE_TEXGEN) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIS_POINT_LINE_TEXGEN)) && !defined(REGAL_NO_DECLARATION_GL_SGIS_POINT_LINE_TEXGEN)\n#define REGAL_NO_DECLARATION_GL_SGIS_POINT_LINE_TEXGEN\n#endif\n\n#ifndef GL_SGIS_point_line_texgen\n#define GL_SGIS_point_line_texgen 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_SGIS_POINT_LINE_TEXGEN\n#define GL_EYE_DISTANCE_TO_POINT_SGIS    0x81f0     /* 33264 */\n#define GL_OBJECT_DISTANCE_TO_POINT_SGIS 0x81f1     /* 33265 */\n#define GL_EYE_DISTANCE_TO_LINE_SGIS     0x81f2     /* 33266 */\n#define GL_OBJECT_DISTANCE_TO_LINE_SGIS  0x81f3     /* 33267 */\n#define GL_EYE_POINT_SGIS                0x81f4     /* 33268 */\n#define GL_OBJECT_POINT_SGIS             0x81f5     /* 33269 */\n#define GL_EYE_LINE_SGIS                 0x81f6     /* 33270 */\n#define GL_OBJECT_LINE_SGIS              0x81f7     /* 33271 */\n#endif\n\n/**\n ** GL_SGIS_point_parameters\n **/\n\n#if (defined(GL_SGIS_POINT_PARAMETERS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIS_POINT_PARAMETERS)) && !defined(REGAL_NO_ENUM_GL_SGIS_POINT_PARAMETERS)\n#define REGAL_NO_ENUM_GL_SGIS_POINT_PARAMETERS\n#endif\n\n#if (defined(GL_SGIS_POINT_PARAMETERS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIS_POINT_PARAMETERS)) && !defined(REGAL_NO_TYPEDEF_GL_SGIS_POINT_PARAMETERS)\n#define REGAL_NO_TYPEDEF_GL_SGIS_POINT_PARAMETERS\n#endif\n\n#if (defined(GL_SGIS_POINT_PARAMETERS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIS_POINT_PARAMETERS)) && !defined(REGAL_NO_NAMESPACE_GL_SGIS_POINT_PARAMETERS)\n#define REGAL_NO_NAMESPACE_GL_SGIS_POINT_PARAMETERS\n#endif\n\n#if (defined(GL_SGIS_POINT_PARAMETERS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIS_POINT_PARAMETERS)) && !defined(REGAL_NO_PLUGIN_GL_SGIS_POINT_PARAMETERS)\n#define REGAL_NO_PLUGIN_GL_SGIS_POINT_PARAMETERS\n#endif\n\n#if (defined(GL_SGIS_POINT_PARAMETERS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIS_POINT_PARAMETERS)) && !defined(REGAL_NO_DECLARATION_GL_SGIS_POINT_PARAMETERS)\n#define REGAL_NO_DECLARATION_GL_SGIS_POINT_PARAMETERS\n#endif\n\n#ifndef GL_SGIS_point_parameters\n#define GL_SGIS_point_parameters 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_SGIS_POINT_PARAMETERS\ntypedef void (REGAL_CALL *PFNGLPOINTPARAMETERFSGISPROC)(GLenum pname, GLfloat param);\ntypedef void (REGAL_CALL *PFNGLPOINTPARAMETERFVSGISPROC)(GLenum pname, const GLfloat *params);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_SGIS_POINT_PARAMETERS\n#define glPointParameterfSGIS               rglPointParameterfSGIS\n#define glPointParameterfvSGIS              rglPointParameterfvSGIS\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_SGIS_POINT_PARAMETERS\nREGAL_DECL void REGAL_CALL glPointParameterfSGIS(GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL glPointParameterfvSGIS(GLenum pname, const GLfloat *params);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_SGIS_POINT_PARAMETERS\nREGAL_DECL void REGAL_CALL plugin_glPointParameterfSGIS(GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL plugin_glPointParameterfvSGIS(GLenum pname, const GLfloat *params);\n#endif\n\n/**\n ** GL_SGIS_sharpen_texture\n **/\n\n#if (defined(GL_SGIS_SHARPEN_TEXTURE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIS_SHARPEN_TEXTURE)) && !defined(REGAL_NO_ENUM_GL_SGIS_SHARPEN_TEXTURE)\n#define REGAL_NO_ENUM_GL_SGIS_SHARPEN_TEXTURE\n#endif\n\n#if (defined(GL_SGIS_SHARPEN_TEXTURE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIS_SHARPEN_TEXTURE)) && !defined(REGAL_NO_TYPEDEF_GL_SGIS_SHARPEN_TEXTURE)\n#define REGAL_NO_TYPEDEF_GL_SGIS_SHARPEN_TEXTURE\n#endif\n\n#if (defined(GL_SGIS_SHARPEN_TEXTURE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIS_SHARPEN_TEXTURE)) && !defined(REGAL_NO_NAMESPACE_GL_SGIS_SHARPEN_TEXTURE)\n#define REGAL_NO_NAMESPACE_GL_SGIS_SHARPEN_TEXTURE\n#endif\n\n#if (defined(GL_SGIS_SHARPEN_TEXTURE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIS_SHARPEN_TEXTURE)) && !defined(REGAL_NO_PLUGIN_GL_SGIS_SHARPEN_TEXTURE)\n#define REGAL_NO_PLUGIN_GL_SGIS_SHARPEN_TEXTURE\n#endif\n\n#if (defined(GL_SGIS_SHARPEN_TEXTURE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIS_SHARPEN_TEXTURE)) && !defined(REGAL_NO_DECLARATION_GL_SGIS_SHARPEN_TEXTURE)\n#define REGAL_NO_DECLARATION_GL_SGIS_SHARPEN_TEXTURE\n#endif\n\n#ifndef GL_SGIS_sharpen_texture\n#define GL_SGIS_sharpen_texture 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_SGIS_SHARPEN_TEXTURE\ntypedef void (REGAL_CALL *PFNGLGETSHARPENTEXFUNCSGISPROC)(GLenum target, GLfloat *points);\ntypedef void (REGAL_CALL *PFNGLSHARPENTEXFUNCSGISPROC)(GLenum target, GLsizei n, const GLfloat *points);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_SGIS_SHARPEN_TEXTURE\n#define glGetSharpenTexFuncSGIS             rglGetSharpenTexFuncSGIS\n#define glSharpenTexFuncSGIS                rglSharpenTexFuncSGIS\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_SGIS_SHARPEN_TEXTURE\nREGAL_DECL void REGAL_CALL glGetSharpenTexFuncSGIS(GLenum target, GLfloat *points);\nREGAL_DECL void REGAL_CALL glSharpenTexFuncSGIS(GLenum target, GLsizei n, const GLfloat *points);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_SGIS_SHARPEN_TEXTURE\nREGAL_DECL void REGAL_CALL plugin_glGetSharpenTexFuncSGIS(GLenum target, GLfloat *points);\nREGAL_DECL void REGAL_CALL plugin_glSharpenTexFuncSGIS(GLenum target, GLsizei n, const GLfloat *points);\n#endif\n\n/**\n ** GL_SGIS_texture4D\n **/\n\n#if (defined(GL_SGIS_TEXTURE4D) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIS_TEXTURE4D)) && !defined(REGAL_NO_ENUM_GL_SGIS_TEXTURE4D)\n#define REGAL_NO_ENUM_GL_SGIS_TEXTURE4D\n#endif\n\n#if (defined(GL_SGIS_TEXTURE4D) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIS_TEXTURE4D)) && !defined(REGAL_NO_TYPEDEF_GL_SGIS_TEXTURE4D)\n#define REGAL_NO_TYPEDEF_GL_SGIS_TEXTURE4D\n#endif\n\n#if (defined(GL_SGIS_TEXTURE4D) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIS_TEXTURE4D)) && !defined(REGAL_NO_NAMESPACE_GL_SGIS_TEXTURE4D)\n#define REGAL_NO_NAMESPACE_GL_SGIS_TEXTURE4D\n#endif\n\n#if (defined(GL_SGIS_TEXTURE4D) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIS_TEXTURE4D)) && !defined(REGAL_NO_PLUGIN_GL_SGIS_TEXTURE4D)\n#define REGAL_NO_PLUGIN_GL_SGIS_TEXTURE4D\n#endif\n\n#if (defined(GL_SGIS_TEXTURE4D) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIS_TEXTURE4D)) && !defined(REGAL_NO_DECLARATION_GL_SGIS_TEXTURE4D)\n#define REGAL_NO_DECLARATION_GL_SGIS_TEXTURE4D\n#endif\n\n#ifndef GL_SGIS_texture4D\n#define GL_SGIS_texture4D 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_SGIS_TEXTURE4D\ntypedef void (REGAL_CALL *PFNGLTEXIMAGE4DSGISPROC)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLsizei size4d, GLint border, GLenum format, GLenum type, const GLvoid *pixels);\ntypedef void (REGAL_CALL *PFNGLTEXSUBIMAGE4DSGISPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint woffset, GLsizei width, GLsizei height, GLsizei depth, GLsizei size4d, GLenum format, GLenum type, const GLvoid *pixels);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_SGIS_TEXTURE4D\n#define glTexImage4DSGIS                    rglTexImage4DSGIS\n#define glTexSubImage4DSGIS                 rglTexSubImage4DSGIS\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_SGIS_TEXTURE4D\nREGAL_DECL void REGAL_CALL glTexImage4DSGIS(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLsizei size4d, GLint border, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL glTexSubImage4DSGIS(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint woffset, GLsizei width, GLsizei height, GLsizei depth, GLsizei size4d, GLenum format, GLenum type, const GLvoid *pixels);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_SGIS_TEXTURE4D\nREGAL_DECL void REGAL_CALL plugin_glTexImage4DSGIS(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLsizei size4d, GLint border, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL plugin_glTexSubImage4DSGIS(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint woffset, GLsizei width, GLsizei height, GLsizei depth, GLsizei size4d, GLenum format, GLenum type, const GLvoid *pixels);\n#endif\n\n/**\n ** GL_SGIS_texture_border_clamp\n **/\n\n#if (defined(GL_SGIS_TEXTURE_BORDER_CLAMP) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIS_TEXTURE_BORDER_CLAMP)) && !defined(REGAL_NO_ENUM_GL_SGIS_TEXTURE_BORDER_CLAMP)\n#define REGAL_NO_ENUM_GL_SGIS_TEXTURE_BORDER_CLAMP\n#endif\n\n#if (defined(GL_SGIS_TEXTURE_BORDER_CLAMP) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIS_TEXTURE_BORDER_CLAMP)) && !defined(REGAL_NO_TYPEDEF_GL_SGIS_TEXTURE_BORDER_CLAMP)\n#define REGAL_NO_TYPEDEF_GL_SGIS_TEXTURE_BORDER_CLAMP\n#endif\n\n#if (defined(GL_SGIS_TEXTURE_BORDER_CLAMP) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIS_TEXTURE_BORDER_CLAMP)) && !defined(REGAL_NO_NAMESPACE_GL_SGIS_TEXTURE_BORDER_CLAMP)\n#define REGAL_NO_NAMESPACE_GL_SGIS_TEXTURE_BORDER_CLAMP\n#endif\n\n#if (defined(GL_SGIS_TEXTURE_BORDER_CLAMP) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIS_TEXTURE_BORDER_CLAMP)) && !defined(REGAL_NO_PLUGIN_GL_SGIS_TEXTURE_BORDER_CLAMP)\n#define REGAL_NO_PLUGIN_GL_SGIS_TEXTURE_BORDER_CLAMP\n#endif\n\n#if (defined(GL_SGIS_TEXTURE_BORDER_CLAMP) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIS_TEXTURE_BORDER_CLAMP)) && !defined(REGAL_NO_DECLARATION_GL_SGIS_TEXTURE_BORDER_CLAMP)\n#define REGAL_NO_DECLARATION_GL_SGIS_TEXTURE_BORDER_CLAMP\n#endif\n\n#ifndef GL_SGIS_texture_border_clamp\n#define GL_SGIS_texture_border_clamp 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_SGIS_TEXTURE_BORDER_CLAMP\n#define GL_CLAMP_TO_BORDER_SGIS 0x812d /* 33069 */\n#endif\n\n/**\n ** GL_SGIS_texture_color_mask\n **/\n\n#if (defined(GL_SGIS_TEXTURE_COLOR_MASK) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIS_TEXTURE_COLOR_MASK)) && !defined(REGAL_NO_ENUM_GL_SGIS_TEXTURE_COLOR_MASK)\n#define REGAL_NO_ENUM_GL_SGIS_TEXTURE_COLOR_MASK\n#endif\n\n#if (defined(GL_SGIS_TEXTURE_COLOR_MASK) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIS_TEXTURE_COLOR_MASK)) && !defined(REGAL_NO_TYPEDEF_GL_SGIS_TEXTURE_COLOR_MASK)\n#define REGAL_NO_TYPEDEF_GL_SGIS_TEXTURE_COLOR_MASK\n#endif\n\n#if (defined(GL_SGIS_TEXTURE_COLOR_MASK) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIS_TEXTURE_COLOR_MASK)) && !defined(REGAL_NO_NAMESPACE_GL_SGIS_TEXTURE_COLOR_MASK)\n#define REGAL_NO_NAMESPACE_GL_SGIS_TEXTURE_COLOR_MASK\n#endif\n\n#if (defined(GL_SGIS_TEXTURE_COLOR_MASK) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIS_TEXTURE_COLOR_MASK)) && !defined(REGAL_NO_PLUGIN_GL_SGIS_TEXTURE_COLOR_MASK)\n#define REGAL_NO_PLUGIN_GL_SGIS_TEXTURE_COLOR_MASK\n#endif\n\n#if (defined(GL_SGIS_TEXTURE_COLOR_MASK) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIS_TEXTURE_COLOR_MASK)) && !defined(REGAL_NO_DECLARATION_GL_SGIS_TEXTURE_COLOR_MASK)\n#define REGAL_NO_DECLARATION_GL_SGIS_TEXTURE_COLOR_MASK\n#endif\n\n#ifndef GL_SGIS_texture_color_mask\n#define GL_SGIS_texture_color_mask 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_SGIS_TEXTURE_COLOR_MASK\ntypedef void (REGAL_CALL *PFNGLTEXTURECOLORMASKSGISPROC)(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_SGIS_TEXTURE_COLOR_MASK\n#define glTextureColorMaskSGIS              rglTextureColorMaskSGIS\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_SGIS_TEXTURE_COLOR_MASK\nREGAL_DECL void REGAL_CALL glTextureColorMaskSGIS(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_SGIS_TEXTURE_COLOR_MASK\nREGAL_DECL void REGAL_CALL plugin_glTextureColorMaskSGIS(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);\n#endif\n\n/**\n ** GL_SGIS_texture_edge_clamp\n **/\n\n#if (defined(GL_SGIS_TEXTURE_EDGE_CLAMP) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIS_TEXTURE_EDGE_CLAMP)) && !defined(REGAL_NO_ENUM_GL_SGIS_TEXTURE_EDGE_CLAMP)\n#define REGAL_NO_ENUM_GL_SGIS_TEXTURE_EDGE_CLAMP\n#endif\n\n#if (defined(GL_SGIS_TEXTURE_EDGE_CLAMP) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIS_TEXTURE_EDGE_CLAMP)) && !defined(REGAL_NO_TYPEDEF_GL_SGIS_TEXTURE_EDGE_CLAMP)\n#define REGAL_NO_TYPEDEF_GL_SGIS_TEXTURE_EDGE_CLAMP\n#endif\n\n#if (defined(GL_SGIS_TEXTURE_EDGE_CLAMP) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIS_TEXTURE_EDGE_CLAMP)) && !defined(REGAL_NO_NAMESPACE_GL_SGIS_TEXTURE_EDGE_CLAMP)\n#define REGAL_NO_NAMESPACE_GL_SGIS_TEXTURE_EDGE_CLAMP\n#endif\n\n#if (defined(GL_SGIS_TEXTURE_EDGE_CLAMP) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIS_TEXTURE_EDGE_CLAMP)) && !defined(REGAL_NO_PLUGIN_GL_SGIS_TEXTURE_EDGE_CLAMP)\n#define REGAL_NO_PLUGIN_GL_SGIS_TEXTURE_EDGE_CLAMP\n#endif\n\n#if (defined(GL_SGIS_TEXTURE_EDGE_CLAMP) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIS_TEXTURE_EDGE_CLAMP)) && !defined(REGAL_NO_DECLARATION_GL_SGIS_TEXTURE_EDGE_CLAMP)\n#define REGAL_NO_DECLARATION_GL_SGIS_TEXTURE_EDGE_CLAMP\n#endif\n\n#ifndef GL_SGIS_texture_edge_clamp\n#define GL_SGIS_texture_edge_clamp 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_SGIS_TEXTURE_EDGE_CLAMP\n#define GL_CLAMP_TO_EDGE_SGIS 0x812f /* 33071 */\n#endif\n\n/**\n ** GL_SGIS_texture_filter4\n **/\n\n#if (defined(GL_SGIS_TEXTURE_FILTER4) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIS_TEXTURE_FILTER4)) && !defined(REGAL_NO_ENUM_GL_SGIS_TEXTURE_FILTER4)\n#define REGAL_NO_ENUM_GL_SGIS_TEXTURE_FILTER4\n#endif\n\n#if (defined(GL_SGIS_TEXTURE_FILTER4) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIS_TEXTURE_FILTER4)) && !defined(REGAL_NO_TYPEDEF_GL_SGIS_TEXTURE_FILTER4)\n#define REGAL_NO_TYPEDEF_GL_SGIS_TEXTURE_FILTER4\n#endif\n\n#if (defined(GL_SGIS_TEXTURE_FILTER4) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIS_TEXTURE_FILTER4)) && !defined(REGAL_NO_NAMESPACE_GL_SGIS_TEXTURE_FILTER4)\n#define REGAL_NO_NAMESPACE_GL_SGIS_TEXTURE_FILTER4\n#endif\n\n#if (defined(GL_SGIS_TEXTURE_FILTER4) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIS_TEXTURE_FILTER4)) && !defined(REGAL_NO_PLUGIN_GL_SGIS_TEXTURE_FILTER4)\n#define REGAL_NO_PLUGIN_GL_SGIS_TEXTURE_FILTER4\n#endif\n\n#if (defined(GL_SGIS_TEXTURE_FILTER4) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIS_TEXTURE_FILTER4)) && !defined(REGAL_NO_DECLARATION_GL_SGIS_TEXTURE_FILTER4)\n#define REGAL_NO_DECLARATION_GL_SGIS_TEXTURE_FILTER4\n#endif\n\n#ifndef GL_SGIS_texture_filter4\n#define GL_SGIS_texture_filter4 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_SGIS_TEXTURE_FILTER4\ntypedef void (REGAL_CALL *PFNGLGETTEXFILTERFUNCSGISPROC)(GLenum target, GLenum filter, GLfloat *weights);\ntypedef void (REGAL_CALL *PFNGLTEXFILTERFUNCSGISPROC)(GLenum target, GLenum filter, GLsizei n, const GLfloat *weights);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_SGIS_TEXTURE_FILTER4\n#define glGetTexFilterFuncSGIS              rglGetTexFilterFuncSGIS\n#define glTexFilterFuncSGIS                 rglTexFilterFuncSGIS\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_SGIS_TEXTURE_FILTER4\nREGAL_DECL void REGAL_CALL glGetTexFilterFuncSGIS(GLenum target, GLenum filter, GLfloat *weights);\nREGAL_DECL void REGAL_CALL glTexFilterFuncSGIS(GLenum target, GLenum filter, GLsizei n, const GLfloat *weights);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_SGIS_TEXTURE_FILTER4\nREGAL_DECL void REGAL_CALL plugin_glGetTexFilterFuncSGIS(GLenum target, GLenum filter, GLfloat *weights);\nREGAL_DECL void REGAL_CALL plugin_glTexFilterFuncSGIS(GLenum target, GLenum filter, GLsizei n, const GLfloat *weights);\n#endif\n\n/**\n ** GL_SGIS_texture_lod\n **/\n\n#if (defined(GL_SGIS_TEXTURE_LOD) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIS_TEXTURE_LOD)) && !defined(REGAL_NO_ENUM_GL_SGIS_TEXTURE_LOD)\n#define REGAL_NO_ENUM_GL_SGIS_TEXTURE_LOD\n#endif\n\n#if (defined(GL_SGIS_TEXTURE_LOD) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIS_TEXTURE_LOD)) && !defined(REGAL_NO_TYPEDEF_GL_SGIS_TEXTURE_LOD)\n#define REGAL_NO_TYPEDEF_GL_SGIS_TEXTURE_LOD\n#endif\n\n#if (defined(GL_SGIS_TEXTURE_LOD) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIS_TEXTURE_LOD)) && !defined(REGAL_NO_NAMESPACE_GL_SGIS_TEXTURE_LOD)\n#define REGAL_NO_NAMESPACE_GL_SGIS_TEXTURE_LOD\n#endif\n\n#if (defined(GL_SGIS_TEXTURE_LOD) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIS_TEXTURE_LOD)) && !defined(REGAL_NO_PLUGIN_GL_SGIS_TEXTURE_LOD)\n#define REGAL_NO_PLUGIN_GL_SGIS_TEXTURE_LOD\n#endif\n\n#if (defined(GL_SGIS_TEXTURE_LOD) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIS_TEXTURE_LOD)) && !defined(REGAL_NO_DECLARATION_GL_SGIS_TEXTURE_LOD)\n#define REGAL_NO_DECLARATION_GL_SGIS_TEXTURE_LOD\n#endif\n\n#ifndef GL_SGIS_texture_lod\n#define GL_SGIS_texture_lod 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_SGIS_TEXTURE_LOD\n#define GL_TEXTURE_MIN_LOD_SGIS    0x813a     /* 33082 */\n#define GL_TEXTURE_MAX_LOD_SGIS    0x813b     /* 33083 */\n#define GL_TEXTURE_BASE_LEVEL_SGIS 0x813c     /* 33084 */\n#define GL_TEXTURE_MAX_LEVEL_SGIS  0x813d     /* 33085 */\n#endif\n\n/**\n ** GL_SGIX_async\n **/\n\n#if (defined(GL_SGIX_ASYNC) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIX_ASYNC)) && !defined(REGAL_NO_ENUM_GL_SGIX_ASYNC)\n#define REGAL_NO_ENUM_GL_SGIX_ASYNC\n#endif\n\n#if (defined(GL_SGIX_ASYNC) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIX_ASYNC)) && !defined(REGAL_NO_TYPEDEF_GL_SGIX_ASYNC)\n#define REGAL_NO_TYPEDEF_GL_SGIX_ASYNC\n#endif\n\n#if (defined(GL_SGIX_ASYNC) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIX_ASYNC)) && !defined(REGAL_NO_NAMESPACE_GL_SGIX_ASYNC)\n#define REGAL_NO_NAMESPACE_GL_SGIX_ASYNC\n#endif\n\n#if (defined(GL_SGIX_ASYNC) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIX_ASYNC)) && !defined(REGAL_NO_PLUGIN_GL_SGIX_ASYNC)\n#define REGAL_NO_PLUGIN_GL_SGIX_ASYNC\n#endif\n\n#if (defined(GL_SGIX_ASYNC) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIX_ASYNC)) && !defined(REGAL_NO_DECLARATION_GL_SGIX_ASYNC)\n#define REGAL_NO_DECLARATION_GL_SGIX_ASYNC\n#endif\n\n#ifndef GL_SGIX_async\n#define GL_SGIX_async 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_SGIX_ASYNC\n#define GL_ASYNC_MARKER_SGIX 0x8329 /* 33577 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_SGIX_ASYNC\ntypedef GLboolean (REGAL_CALL *PFNGLISASYNCMARKERSGIXPROC)(GLuint marker);\ntypedef GLint (REGAL_CALL *PFNGLFINISHASYNCSGIXPROC)(GLuint *markerp);\ntypedef GLint (REGAL_CALL *PFNGLPOLLASYNCSGIXPROC)(GLuint *markerp);\ntypedef GLuint (REGAL_CALL *PFNGLGENASYNCMARKERSSGIXPROC)(GLsizei range);\ntypedef void (REGAL_CALL *PFNGLASYNCMARKERSGIXPROC)(GLuint marker);\ntypedef void (REGAL_CALL *PFNGLDELETEASYNCMARKERSSGIXPROC)(GLuint marker, GLsizei range);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_SGIX_ASYNC\n#define glAsyncMarkerSGIX                   rglAsyncMarkerSGIX\n#define glDeleteAsyncMarkersSGIX            rglDeleteAsyncMarkersSGIX\n#define glFinishAsyncSGIX                   rglFinishAsyncSGIX\n#define glGenAsyncMarkersSGIX               rglGenAsyncMarkersSGIX\n#define glIsAsyncMarkerSGIX                 rglIsAsyncMarkerSGIX\n#define glPollAsyncSGIX                     rglPollAsyncSGIX\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_SGIX_ASYNC\nREGAL_DECL GLboolean REGAL_CALL glIsAsyncMarkerSGIX(GLuint marker);\nREGAL_DECL GLint REGAL_CALL glFinishAsyncSGIX(GLuint *markerp);\nREGAL_DECL GLint REGAL_CALL glPollAsyncSGIX(GLuint *markerp);\nREGAL_DECL GLuint REGAL_CALL glGenAsyncMarkersSGIX(GLsizei range);\nREGAL_DECL void REGAL_CALL glAsyncMarkerSGIX(GLuint marker);\nREGAL_DECL void REGAL_CALL glDeleteAsyncMarkersSGIX(GLuint marker, GLsizei range);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_SGIX_ASYNC\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsAsyncMarkerSGIX(GLuint marker);\nREGAL_DECL GLint REGAL_CALL plugin_glFinishAsyncSGIX(GLuint *markerp);\nREGAL_DECL GLint REGAL_CALL plugin_glPollAsyncSGIX(GLuint *markerp);\nREGAL_DECL GLuint REGAL_CALL plugin_glGenAsyncMarkersSGIX(GLsizei range);\nREGAL_DECL void REGAL_CALL plugin_glAsyncMarkerSGIX(GLuint marker);\nREGAL_DECL void REGAL_CALL plugin_glDeleteAsyncMarkersSGIX(GLuint marker, GLsizei range);\n#endif\n\n/**\n ** GL_SGIX_async_histogram\n **/\n\n#if (defined(GL_SGIX_ASYNC_HISTOGRAM) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIX_ASYNC_HISTOGRAM)) && !defined(REGAL_NO_ENUM_GL_SGIX_ASYNC_HISTOGRAM)\n#define REGAL_NO_ENUM_GL_SGIX_ASYNC_HISTOGRAM\n#endif\n\n#if (defined(GL_SGIX_ASYNC_HISTOGRAM) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIX_ASYNC_HISTOGRAM)) && !defined(REGAL_NO_TYPEDEF_GL_SGIX_ASYNC_HISTOGRAM)\n#define REGAL_NO_TYPEDEF_GL_SGIX_ASYNC_HISTOGRAM\n#endif\n\n#if (defined(GL_SGIX_ASYNC_HISTOGRAM) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIX_ASYNC_HISTOGRAM)) && !defined(REGAL_NO_NAMESPACE_GL_SGIX_ASYNC_HISTOGRAM)\n#define REGAL_NO_NAMESPACE_GL_SGIX_ASYNC_HISTOGRAM\n#endif\n\n#if (defined(GL_SGIX_ASYNC_HISTOGRAM) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIX_ASYNC_HISTOGRAM)) && !defined(REGAL_NO_PLUGIN_GL_SGIX_ASYNC_HISTOGRAM)\n#define REGAL_NO_PLUGIN_GL_SGIX_ASYNC_HISTOGRAM\n#endif\n\n#if (defined(GL_SGIX_ASYNC_HISTOGRAM) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIX_ASYNC_HISTOGRAM)) && !defined(REGAL_NO_DECLARATION_GL_SGIX_ASYNC_HISTOGRAM)\n#define REGAL_NO_DECLARATION_GL_SGIX_ASYNC_HISTOGRAM\n#endif\n\n#ifndef GL_SGIX_async_histogram\n#define GL_SGIX_async_histogram 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_SGIX_ASYNC_HISTOGRAM\n#define GL_ASYNC_HISTOGRAM_SGIX     0x832c     /* 33580 */\n#define GL_MAX_ASYNC_HISTOGRAM_SGIX 0x832d     /* 33581 */\n#endif\n\n/**\n ** GL_SGIX_async_pixel\n **/\n\n#if (defined(GL_SGIX_ASYNC_PIXEL) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIX_ASYNC_PIXEL)) && !defined(REGAL_NO_ENUM_GL_SGIX_ASYNC_PIXEL)\n#define REGAL_NO_ENUM_GL_SGIX_ASYNC_PIXEL\n#endif\n\n#if (defined(GL_SGIX_ASYNC_PIXEL) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIX_ASYNC_PIXEL)) && !defined(REGAL_NO_TYPEDEF_GL_SGIX_ASYNC_PIXEL)\n#define REGAL_NO_TYPEDEF_GL_SGIX_ASYNC_PIXEL\n#endif\n\n#if (defined(GL_SGIX_ASYNC_PIXEL) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIX_ASYNC_PIXEL)) && !defined(REGAL_NO_NAMESPACE_GL_SGIX_ASYNC_PIXEL)\n#define REGAL_NO_NAMESPACE_GL_SGIX_ASYNC_PIXEL\n#endif\n\n#if (defined(GL_SGIX_ASYNC_PIXEL) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIX_ASYNC_PIXEL)) && !defined(REGAL_NO_PLUGIN_GL_SGIX_ASYNC_PIXEL)\n#define REGAL_NO_PLUGIN_GL_SGIX_ASYNC_PIXEL\n#endif\n\n#if (defined(GL_SGIX_ASYNC_PIXEL) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIX_ASYNC_PIXEL)) && !defined(REGAL_NO_DECLARATION_GL_SGIX_ASYNC_PIXEL)\n#define REGAL_NO_DECLARATION_GL_SGIX_ASYNC_PIXEL\n#endif\n\n#ifndef GL_SGIX_async_pixel\n#define GL_SGIX_async_pixel 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_SGIX_ASYNC_PIXEL\n#define GL_ASYNC_TEX_IMAGE_SGIX       0x835c     /* 33628 */\n#define GL_ASYNC_DRAW_PIXELS_SGIX     0x835d     /* 33629 */\n#define GL_ASYNC_READ_PIXELS_SGIX     0x835e     /* 33630 */\n#define GL_MAX_ASYNC_TEX_IMAGE_SGIX   0x835f     /* 33631 */\n#define GL_MAX_ASYNC_DRAW_PIXELS_SGIX 0x8360     /* 33632 */\n#define GL_MAX_ASYNC_READ_PIXELS_SGIX 0x8361     /* 33633 */\n#endif\n\n/**\n ** GL_SGIX_blend_alpha_minmax\n **/\n\n#if (defined(GL_SGIX_BLEND_ALPHA_MINMAX) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIX_BLEND_ALPHA_MINMAX)) && !defined(REGAL_NO_ENUM_GL_SGIX_BLEND_ALPHA_MINMAX)\n#define REGAL_NO_ENUM_GL_SGIX_BLEND_ALPHA_MINMAX\n#endif\n\n#if (defined(GL_SGIX_BLEND_ALPHA_MINMAX) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIX_BLEND_ALPHA_MINMAX)) && !defined(REGAL_NO_TYPEDEF_GL_SGIX_BLEND_ALPHA_MINMAX)\n#define REGAL_NO_TYPEDEF_GL_SGIX_BLEND_ALPHA_MINMAX\n#endif\n\n#if (defined(GL_SGIX_BLEND_ALPHA_MINMAX) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIX_BLEND_ALPHA_MINMAX)) && !defined(REGAL_NO_NAMESPACE_GL_SGIX_BLEND_ALPHA_MINMAX)\n#define REGAL_NO_NAMESPACE_GL_SGIX_BLEND_ALPHA_MINMAX\n#endif\n\n#if (defined(GL_SGIX_BLEND_ALPHA_MINMAX) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIX_BLEND_ALPHA_MINMAX)) && !defined(REGAL_NO_PLUGIN_GL_SGIX_BLEND_ALPHA_MINMAX)\n#define REGAL_NO_PLUGIN_GL_SGIX_BLEND_ALPHA_MINMAX\n#endif\n\n#if (defined(GL_SGIX_BLEND_ALPHA_MINMAX) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIX_BLEND_ALPHA_MINMAX)) && !defined(REGAL_NO_DECLARATION_GL_SGIX_BLEND_ALPHA_MINMAX)\n#define REGAL_NO_DECLARATION_GL_SGIX_BLEND_ALPHA_MINMAX\n#endif\n\n#ifndef GL_SGIX_blend_alpha_minmax\n#define GL_SGIX_blend_alpha_minmax 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_SGIX_BLEND_ALPHA_MINMAX\n#define GL_ALPHA_MIN_SGIX 0x8320     /* 33568 */\n#define GL_ALPHA_MAX_SGIX 0x8321     /* 33569 */\n#endif\n\n/**\n ** GL_SGIX_convolution_accuracy\n **/\n\n#if (defined(GL_SGIX_CONVOLUTION_ACCURACY) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIX_CONVOLUTION_ACCURACY)) && !defined(REGAL_NO_ENUM_GL_SGIX_CONVOLUTION_ACCURACY)\n#define REGAL_NO_ENUM_GL_SGIX_CONVOLUTION_ACCURACY\n#endif\n\n#if (defined(GL_SGIX_CONVOLUTION_ACCURACY) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIX_CONVOLUTION_ACCURACY)) && !defined(REGAL_NO_TYPEDEF_GL_SGIX_CONVOLUTION_ACCURACY)\n#define REGAL_NO_TYPEDEF_GL_SGIX_CONVOLUTION_ACCURACY\n#endif\n\n#if (defined(GL_SGIX_CONVOLUTION_ACCURACY) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIX_CONVOLUTION_ACCURACY)) && !defined(REGAL_NO_NAMESPACE_GL_SGIX_CONVOLUTION_ACCURACY)\n#define REGAL_NO_NAMESPACE_GL_SGIX_CONVOLUTION_ACCURACY\n#endif\n\n#if (defined(GL_SGIX_CONVOLUTION_ACCURACY) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIX_CONVOLUTION_ACCURACY)) && !defined(REGAL_NO_PLUGIN_GL_SGIX_CONVOLUTION_ACCURACY)\n#define REGAL_NO_PLUGIN_GL_SGIX_CONVOLUTION_ACCURACY\n#endif\n\n#if (defined(GL_SGIX_CONVOLUTION_ACCURACY) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIX_CONVOLUTION_ACCURACY)) && !defined(REGAL_NO_DECLARATION_GL_SGIX_CONVOLUTION_ACCURACY)\n#define REGAL_NO_DECLARATION_GL_SGIX_CONVOLUTION_ACCURACY\n#endif\n\n#ifndef GL_SGIX_convolution_accuracy\n#define GL_SGIX_convolution_accuracy 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_SGIX_CONVOLUTION_ACCURACY\n#define GL_CONVOLUTION_HINT_SGIX 0x8316 /* 33558 */\n#endif\n\n/**\n ** GL_SGIX_depth_texture\n **/\n\n#if (defined(GL_SGIX_DEPTH_TEXTURE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIX_DEPTH_TEXTURE)) && !defined(REGAL_NO_ENUM_GL_SGIX_DEPTH_TEXTURE)\n#define REGAL_NO_ENUM_GL_SGIX_DEPTH_TEXTURE\n#endif\n\n#if (defined(GL_SGIX_DEPTH_TEXTURE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIX_DEPTH_TEXTURE)) && !defined(REGAL_NO_TYPEDEF_GL_SGIX_DEPTH_TEXTURE)\n#define REGAL_NO_TYPEDEF_GL_SGIX_DEPTH_TEXTURE\n#endif\n\n#if (defined(GL_SGIX_DEPTH_TEXTURE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIX_DEPTH_TEXTURE)) && !defined(REGAL_NO_NAMESPACE_GL_SGIX_DEPTH_TEXTURE)\n#define REGAL_NO_NAMESPACE_GL_SGIX_DEPTH_TEXTURE\n#endif\n\n#if (defined(GL_SGIX_DEPTH_TEXTURE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIX_DEPTH_TEXTURE)) && !defined(REGAL_NO_PLUGIN_GL_SGIX_DEPTH_TEXTURE)\n#define REGAL_NO_PLUGIN_GL_SGIX_DEPTH_TEXTURE\n#endif\n\n#if (defined(GL_SGIX_DEPTH_TEXTURE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIX_DEPTH_TEXTURE)) && !defined(REGAL_NO_DECLARATION_GL_SGIX_DEPTH_TEXTURE)\n#define REGAL_NO_DECLARATION_GL_SGIX_DEPTH_TEXTURE\n#endif\n\n#ifndef GL_SGIX_depth_texture\n#define GL_SGIX_depth_texture 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_SGIX_DEPTH_TEXTURE\n#define GL_DEPTH_COMPONENT16_SGIX 0x81a5     /* 33189 */\n#define GL_DEPTH_COMPONENT24_SGIX 0x81a6     /* 33190 */\n#define GL_DEPTH_COMPONENT32_SGIX 0x81a7     /* 33191 */\n#endif\n\n/**\n ** GL_SGIX_flush_raster\n **/\n\n#if (defined(GL_SGIX_FLUSH_RASTER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIX_FLUSH_RASTER)) && !defined(REGAL_NO_ENUM_GL_SGIX_FLUSH_RASTER)\n#define REGAL_NO_ENUM_GL_SGIX_FLUSH_RASTER\n#endif\n\n#if (defined(GL_SGIX_FLUSH_RASTER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIX_FLUSH_RASTER)) && !defined(REGAL_NO_TYPEDEF_GL_SGIX_FLUSH_RASTER)\n#define REGAL_NO_TYPEDEF_GL_SGIX_FLUSH_RASTER\n#endif\n\n#if (defined(GL_SGIX_FLUSH_RASTER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIX_FLUSH_RASTER)) && !defined(REGAL_NO_NAMESPACE_GL_SGIX_FLUSH_RASTER)\n#define REGAL_NO_NAMESPACE_GL_SGIX_FLUSH_RASTER\n#endif\n\n#if (defined(GL_SGIX_FLUSH_RASTER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIX_FLUSH_RASTER)) && !defined(REGAL_NO_PLUGIN_GL_SGIX_FLUSH_RASTER)\n#define REGAL_NO_PLUGIN_GL_SGIX_FLUSH_RASTER\n#endif\n\n#if (defined(GL_SGIX_FLUSH_RASTER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIX_FLUSH_RASTER)) && !defined(REGAL_NO_DECLARATION_GL_SGIX_FLUSH_RASTER)\n#define REGAL_NO_DECLARATION_GL_SGIX_FLUSH_RASTER\n#endif\n\n#ifndef GL_SGIX_flush_raster\n#define GL_SGIX_flush_raster 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_SGIX_FLUSH_RASTER\ntypedef void (REGAL_CALL *PFNGLFLUSHRASTERSGIXPROC)(void);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_SGIX_FLUSH_RASTER\n#define glFlushRasterSGIX                   rglFlushRasterSGIX\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_SGIX_FLUSH_RASTER\nREGAL_DECL void REGAL_CALL glFlushRasterSGIX(void);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_SGIX_FLUSH_RASTER\nREGAL_DECL void REGAL_CALL plugin_glFlushRasterSGIX(void);\n#endif\n\n/**\n ** GL_SGIX_fog_offset\n **/\n\n#if (defined(GL_SGIX_FOG_OFFSET) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIX_FOG_OFFSET)) && !defined(REGAL_NO_ENUM_GL_SGIX_FOG_OFFSET)\n#define REGAL_NO_ENUM_GL_SGIX_FOG_OFFSET\n#endif\n\n#if (defined(GL_SGIX_FOG_OFFSET) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIX_FOG_OFFSET)) && !defined(REGAL_NO_TYPEDEF_GL_SGIX_FOG_OFFSET)\n#define REGAL_NO_TYPEDEF_GL_SGIX_FOG_OFFSET\n#endif\n\n#if (defined(GL_SGIX_FOG_OFFSET) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIX_FOG_OFFSET)) && !defined(REGAL_NO_NAMESPACE_GL_SGIX_FOG_OFFSET)\n#define REGAL_NO_NAMESPACE_GL_SGIX_FOG_OFFSET\n#endif\n\n#if (defined(GL_SGIX_FOG_OFFSET) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIX_FOG_OFFSET)) && !defined(REGAL_NO_PLUGIN_GL_SGIX_FOG_OFFSET)\n#define REGAL_NO_PLUGIN_GL_SGIX_FOG_OFFSET\n#endif\n\n#if (defined(GL_SGIX_FOG_OFFSET) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIX_FOG_OFFSET)) && !defined(REGAL_NO_DECLARATION_GL_SGIX_FOG_OFFSET)\n#define REGAL_NO_DECLARATION_GL_SGIX_FOG_OFFSET\n#endif\n\n#ifndef GL_SGIX_fog_offset\n#define GL_SGIX_fog_offset 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_SGIX_FOG_OFFSET\n#define GL_FOG_OFFSET_SGIX       0x8198     /* 33176 */\n#define GL_FOG_OFFSET_VALUE_SGIX 0x8199     /* 33177 */\n#endif\n\n/**\n ** GL_SGIX_fog_texture\n **/\n\n#if (defined(GL_SGIX_FOG_TEXTURE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIX_FOG_TEXTURE)) && !defined(REGAL_NO_ENUM_GL_SGIX_FOG_TEXTURE)\n#define REGAL_NO_ENUM_GL_SGIX_FOG_TEXTURE\n#endif\n\n#if (defined(GL_SGIX_FOG_TEXTURE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIX_FOG_TEXTURE)) && !defined(REGAL_NO_TYPEDEF_GL_SGIX_FOG_TEXTURE)\n#define REGAL_NO_TYPEDEF_GL_SGIX_FOG_TEXTURE\n#endif\n\n#if (defined(GL_SGIX_FOG_TEXTURE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIX_FOG_TEXTURE)) && !defined(REGAL_NO_NAMESPACE_GL_SGIX_FOG_TEXTURE)\n#define REGAL_NO_NAMESPACE_GL_SGIX_FOG_TEXTURE\n#endif\n\n#if (defined(GL_SGIX_FOG_TEXTURE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIX_FOG_TEXTURE)) && !defined(REGAL_NO_PLUGIN_GL_SGIX_FOG_TEXTURE)\n#define REGAL_NO_PLUGIN_GL_SGIX_FOG_TEXTURE\n#endif\n\n#if (defined(GL_SGIX_FOG_TEXTURE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIX_FOG_TEXTURE)) && !defined(REGAL_NO_DECLARATION_GL_SGIX_FOG_TEXTURE)\n#define REGAL_NO_DECLARATION_GL_SGIX_FOG_TEXTURE\n#endif\n\n#ifndef GL_SGIX_fog_texture\n#define GL_SGIX_fog_texture 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_SGIX_FOG_TEXTURE\n#define GL_FOG_PATCHY_FACTOR_SGIX 0x0\n#define GL_FRAGMENT_FOG_SGIX      0x0\n#define GL_TEXTURE_FOG_SGIX       0x0\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_SGIX_FOG_TEXTURE\ntypedef void (REGAL_CALL *PFNGLTEXTUREFOGSGIXPROC)(GLenum pname);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_SGIX_FOG_TEXTURE\n#define glTextureFogSGIX                    rglTextureFogSGIX\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_SGIX_FOG_TEXTURE\nREGAL_DECL void REGAL_CALL glTextureFogSGIX(GLenum pname);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_SGIX_FOG_TEXTURE\nREGAL_DECL void REGAL_CALL plugin_glTextureFogSGIX(GLenum pname);\n#endif\n\n/**\n ** GL_SGIX_fragment_lighting\n **/\n\n#if (defined(GL_SGIX_FRAGMENT_LIGHTING) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIX_FRAGMENT_LIGHTING)) && !defined(REGAL_NO_ENUM_GL_SGIX_FRAGMENT_LIGHTING)\n#define REGAL_NO_ENUM_GL_SGIX_FRAGMENT_LIGHTING\n#endif\n\n#if (defined(GL_SGIX_FRAGMENT_LIGHTING) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIX_FRAGMENT_LIGHTING)) && !defined(REGAL_NO_TYPEDEF_GL_SGIX_FRAGMENT_LIGHTING)\n#define REGAL_NO_TYPEDEF_GL_SGIX_FRAGMENT_LIGHTING\n#endif\n\n#if (defined(GL_SGIX_FRAGMENT_LIGHTING) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIX_FRAGMENT_LIGHTING)) && !defined(REGAL_NO_NAMESPACE_GL_SGIX_FRAGMENT_LIGHTING)\n#define REGAL_NO_NAMESPACE_GL_SGIX_FRAGMENT_LIGHTING\n#endif\n\n#if (defined(GL_SGIX_FRAGMENT_LIGHTING) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIX_FRAGMENT_LIGHTING)) && !defined(REGAL_NO_PLUGIN_GL_SGIX_FRAGMENT_LIGHTING)\n#define REGAL_NO_PLUGIN_GL_SGIX_FRAGMENT_LIGHTING\n#endif\n\n#if (defined(GL_SGIX_FRAGMENT_LIGHTING) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIX_FRAGMENT_LIGHTING)) && !defined(REGAL_NO_DECLARATION_GL_SGIX_FRAGMENT_LIGHTING)\n#define REGAL_NO_DECLARATION_GL_SGIX_FRAGMENT_LIGHTING\n#endif\n\n#ifndef GL_SGIX_fragment_lighting\n#define GL_SGIX_fragment_lighting 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_SGIX_FRAGMENT_LIGHTING\ntypedef void (REGAL_CALL *PFNGLFRAGMENTCOLORMATERIALSGIXPROC)(GLenum face, GLenum mode);\ntypedef void (REGAL_CALL *PFNGLFRAGMENTLIGHTFSGIXPROC)(GLenum light, GLenum pname, GLfloat param);\ntypedef void (REGAL_CALL *PFNGLFRAGMENTLIGHTFVSGIXPROC)(GLenum light, GLenum pname, const GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLFRAGMENTLIGHTISGIXPROC)(GLenum light, GLenum pname, GLint param);\ntypedef void (REGAL_CALL *PFNGLFRAGMENTLIGHTIVSGIXPROC)(GLenum light, GLenum pname, const GLint *params);\ntypedef void (REGAL_CALL *PFNGLFRAGMENTLIGHTMODELFSGIXPROC)(GLenum pname, GLfloat param);\ntypedef void (REGAL_CALL *PFNGLFRAGMENTLIGHTMODELFVSGIXPROC)(GLenum pname, const GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLFRAGMENTLIGHTMODELISGIXPROC)(GLenum pname, GLint param);\ntypedef void (REGAL_CALL *PFNGLFRAGMENTLIGHTMODELIVSGIXPROC)(GLenum pname, const GLint *params);\ntypedef void (REGAL_CALL *PFNGLFRAGMENTMATERIALFSGIXPROC)(GLenum face, GLenum pname, GLfloat param);\ntypedef void (REGAL_CALL *PFNGLFRAGMENTMATERIALFVSGIXPROC)(GLenum face, GLenum pname, const GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLFRAGMENTMATERIALISGIXPROC)(GLenum face, GLenum pname, GLint param);\ntypedef void (REGAL_CALL *PFNGLFRAGMENTMATERIALIVSGIXPROC)(GLenum face, GLenum pname, const GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETFRAGMENTLIGHTFVSGIXPROC)(GLenum light, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETFRAGMENTLIGHTIVSGIXPROC)(GLenum light, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETFRAGMENTMATERIALFVSGIXPROC)(GLenum face, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETFRAGMENTMATERIALIVSGIXPROC)(GLenum face, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLLIGHTENVISGIXPROC)(GLenum pname, GLint param);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_SGIX_FRAGMENT_LIGHTING\n#define glFragmentColorMaterialSGIX         rglFragmentColorMaterialSGIX\n#define glFragmentLightModelfSGIX           rglFragmentLightModelfSGIX\n#define glFragmentLightModelfvSGIX          rglFragmentLightModelfvSGIX\n#define glFragmentLightModeliSGIX           rglFragmentLightModeliSGIX\n#define glFragmentLightModelivSGIX          rglFragmentLightModelivSGIX\n#define glFragmentLightfSGIX                rglFragmentLightfSGIX\n#define glFragmentLightfvSGIX               rglFragmentLightfvSGIX\n#define glFragmentLightiSGIX                rglFragmentLightiSGIX\n#define glFragmentLightivSGIX               rglFragmentLightivSGIX\n#define glFragmentMaterialfSGIX             rglFragmentMaterialfSGIX\n#define glFragmentMaterialfvSGIX            rglFragmentMaterialfvSGIX\n#define glFragmentMaterialiSGIX             rglFragmentMaterialiSGIX\n#define glFragmentMaterialivSGIX            rglFragmentMaterialivSGIX\n#define glGetFragmentLightfvSGIX            rglGetFragmentLightfvSGIX\n#define glGetFragmentLightivSGIX            rglGetFragmentLightivSGIX\n#define glGetFragmentMaterialfvSGIX         rglGetFragmentMaterialfvSGIX\n#define glGetFragmentMaterialivSGIX         rglGetFragmentMaterialivSGIX\n#define glLightEnviSGIX                     rglLightEnviSGIX\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_SGIX_FRAGMENT_LIGHTING\nREGAL_DECL void REGAL_CALL glFragmentColorMaterialSGIX(GLenum face, GLenum mode);\nREGAL_DECL void REGAL_CALL glFragmentLightModelfSGIX(GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL glFragmentLightModelfvSGIX(GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL glFragmentLightModeliSGIX(GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL glFragmentLightModelivSGIX(GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL glFragmentLightfSGIX(GLenum light, GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL glFragmentLightfvSGIX(GLenum light, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL glFragmentLightiSGIX(GLenum light, GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL glFragmentLightivSGIX(GLenum light, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL glFragmentMaterialfSGIX(GLenum face, GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL glFragmentMaterialfvSGIX(GLenum face, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL glFragmentMaterialiSGIX(GLenum face, GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL glFragmentMaterialivSGIX(GLenum face, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL glGetFragmentLightfvSGIX(GLenum light, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetFragmentLightivSGIX(GLenum light, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetFragmentMaterialfvSGIX(GLenum face, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetFragmentMaterialivSGIX(GLenum face, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glLightEnviSGIX(GLenum pname, GLint param);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_SGIX_FRAGMENT_LIGHTING\nREGAL_DECL void REGAL_CALL plugin_glFragmentColorMaterialSGIX(GLenum face, GLenum mode);\nREGAL_DECL void REGAL_CALL plugin_glFragmentLightModelfSGIX(GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL plugin_glFragmentLightModelfvSGIX(GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glFragmentLightModeliSGIX(GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL plugin_glFragmentLightModelivSGIX(GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glFragmentLightfSGIX(GLenum light, GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL plugin_glFragmentLightfvSGIX(GLenum light, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glFragmentLightiSGIX(GLenum light, GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL plugin_glFragmentLightivSGIX(GLenum light, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glFragmentMaterialfSGIX(GLenum face, GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL plugin_glFragmentMaterialfvSGIX(GLenum face, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glFragmentMaterialiSGIX(GLenum face, GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL plugin_glFragmentMaterialivSGIX(GLenum face, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetFragmentLightfvSGIX(GLenum light, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetFragmentLightivSGIX(GLenum light, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetFragmentMaterialfvSGIX(GLenum face, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetFragmentMaterialivSGIX(GLenum face, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glLightEnviSGIX(GLenum pname, GLint param);\n#endif\n\n/**\n ** GL_SGIX_fragment_specular_lighting\n **/\n\n#if (defined(GL_SGIX_FRAGMENT_SPECULAR_LIGHTING) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIX_FRAGMENT_SPECULAR_LIGHTING)) && !defined(REGAL_NO_ENUM_GL_SGIX_FRAGMENT_SPECULAR_LIGHTING)\n#define REGAL_NO_ENUM_GL_SGIX_FRAGMENT_SPECULAR_LIGHTING\n#endif\n\n#if (defined(GL_SGIX_FRAGMENT_SPECULAR_LIGHTING) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIX_FRAGMENT_SPECULAR_LIGHTING)) && !defined(REGAL_NO_TYPEDEF_GL_SGIX_FRAGMENT_SPECULAR_LIGHTING)\n#define REGAL_NO_TYPEDEF_GL_SGIX_FRAGMENT_SPECULAR_LIGHTING\n#endif\n\n#if (defined(GL_SGIX_FRAGMENT_SPECULAR_LIGHTING) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIX_FRAGMENT_SPECULAR_LIGHTING)) && !defined(REGAL_NO_NAMESPACE_GL_SGIX_FRAGMENT_SPECULAR_LIGHTING)\n#define REGAL_NO_NAMESPACE_GL_SGIX_FRAGMENT_SPECULAR_LIGHTING\n#endif\n\n#if (defined(GL_SGIX_FRAGMENT_SPECULAR_LIGHTING) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIX_FRAGMENT_SPECULAR_LIGHTING)) && !defined(REGAL_NO_PLUGIN_GL_SGIX_FRAGMENT_SPECULAR_LIGHTING)\n#define REGAL_NO_PLUGIN_GL_SGIX_FRAGMENT_SPECULAR_LIGHTING\n#endif\n\n#if (defined(GL_SGIX_FRAGMENT_SPECULAR_LIGHTING) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIX_FRAGMENT_SPECULAR_LIGHTING)) && !defined(REGAL_NO_DECLARATION_GL_SGIX_FRAGMENT_SPECULAR_LIGHTING)\n#define REGAL_NO_DECLARATION_GL_SGIX_FRAGMENT_SPECULAR_LIGHTING\n#endif\n\n#ifndef GL_SGIX_fragment_specular_lighting\n#define GL_SGIX_fragment_specular_lighting 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_SGIX_FRAGMENT_SPECULAR_LIGHTING\n#define GL_FRAGMENT_LIGHTING_SGIX                         0x8400     /* 33792 */\n#define GL_FRAGMENT_COLOR_MATERIAL_SGIX                   0x8401     /* 33793 */\n#define GL_FRAGMENT_COLOR_MATERIAL_FACE_SGIX              0x8402     /* 33794 */\n#define GL_FRAGMENT_COLOR_MATERIAL_PARAMETER_SGIX         0x8403     /* 33795 */\n#define GL_MAX_FRAGMENT_LIGHTS_SGIX                       0x8404     /* 33796 */\n#define GL_MAX_ACTIVE_LIGHTS_SGIX                         0x8405     /* 33797 */\n#define GL_CURRENT_RASTER_NORMAL_SGIX                     0x8406     /* 33798 */\n#define GL_LIGHT_ENV_MODE_SGIX                            0x8407     /* 33799 */\n#define GL_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX         0x8408     /* 33800 */\n#define GL_FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX             0x8409     /* 33801 */\n#define GL_FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX              0x840a     /* 33802 */\n#define GL_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX 0x840b     /* 33803 */\n#define GL_FRAGMENT_LIGHT0_SGIX                           0x840c     /* 33804 */\n#define GL_FRAGMENT_LIGHT1_SGIX                           0x840d     /* 33805 */\n#define GL_FRAGMENT_LIGHT2_SGIX                           0x840e     /* 33806 */\n#define GL_FRAGMENT_LIGHT3_SGIX                           0x840f     /* 33807 */\n#define GL_FRAGMENT_LIGHT4_SGIX                           0x8410     /* 33808 */\n#define GL_FRAGMENT_LIGHT5_SGIX                           0x8411     /* 33809 */\n#define GL_FRAGMENT_LIGHT6_SGIX                           0x8412     /* 33810 */\n#define GL_FRAGMENT_LIGHT7_SGIX                           0x8413     /* 33811 */\n#endif\n\n/**\n ** GL_SGIX_framezoom\n **/\n\n#if (defined(GL_SGIX_FRAMEZOOM) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIX_FRAMEZOOM)) && !defined(REGAL_NO_ENUM_GL_SGIX_FRAMEZOOM)\n#define REGAL_NO_ENUM_GL_SGIX_FRAMEZOOM\n#endif\n\n#if (defined(GL_SGIX_FRAMEZOOM) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIX_FRAMEZOOM)) && !defined(REGAL_NO_TYPEDEF_GL_SGIX_FRAMEZOOM)\n#define REGAL_NO_TYPEDEF_GL_SGIX_FRAMEZOOM\n#endif\n\n#if (defined(GL_SGIX_FRAMEZOOM) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIX_FRAMEZOOM)) && !defined(REGAL_NO_NAMESPACE_GL_SGIX_FRAMEZOOM)\n#define REGAL_NO_NAMESPACE_GL_SGIX_FRAMEZOOM\n#endif\n\n#if (defined(GL_SGIX_FRAMEZOOM) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIX_FRAMEZOOM)) && !defined(REGAL_NO_PLUGIN_GL_SGIX_FRAMEZOOM)\n#define REGAL_NO_PLUGIN_GL_SGIX_FRAMEZOOM\n#endif\n\n#if (defined(GL_SGIX_FRAMEZOOM) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIX_FRAMEZOOM)) && !defined(REGAL_NO_DECLARATION_GL_SGIX_FRAMEZOOM)\n#define REGAL_NO_DECLARATION_GL_SGIX_FRAMEZOOM\n#endif\n\n#ifndef GL_SGIX_framezoom\n#define GL_SGIX_framezoom 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_SGIX_FRAMEZOOM\ntypedef void (REGAL_CALL *PFNGLFRAMEZOOMSGIXPROC)(GLint factor);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_SGIX_FRAMEZOOM\n#define glFrameZoomSGIX                     rglFrameZoomSGIX\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_SGIX_FRAMEZOOM\nREGAL_DECL void REGAL_CALL glFrameZoomSGIX(GLint factor);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_SGIX_FRAMEZOOM\nREGAL_DECL void REGAL_CALL plugin_glFrameZoomSGIX(GLint factor);\n#endif\n\n/**\n ** GL_SGIX_igloo_interface\n **/\n\n#if (defined(GL_SGIX_IGLOO_INTERFACE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIX_IGLOO_INTERFACE)) && !defined(REGAL_NO_ENUM_GL_SGIX_IGLOO_INTERFACE)\n#define REGAL_NO_ENUM_GL_SGIX_IGLOO_INTERFACE\n#endif\n\n#if (defined(GL_SGIX_IGLOO_INTERFACE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIX_IGLOO_INTERFACE)) && !defined(REGAL_NO_TYPEDEF_GL_SGIX_IGLOO_INTERFACE)\n#define REGAL_NO_TYPEDEF_GL_SGIX_IGLOO_INTERFACE\n#endif\n\n#if (defined(GL_SGIX_IGLOO_INTERFACE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIX_IGLOO_INTERFACE)) && !defined(REGAL_NO_NAMESPACE_GL_SGIX_IGLOO_INTERFACE)\n#define REGAL_NO_NAMESPACE_GL_SGIX_IGLOO_INTERFACE\n#endif\n\n#if (defined(GL_SGIX_IGLOO_INTERFACE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIX_IGLOO_INTERFACE)) && !defined(REGAL_NO_PLUGIN_GL_SGIX_IGLOO_INTERFACE)\n#define REGAL_NO_PLUGIN_GL_SGIX_IGLOO_INTERFACE\n#endif\n\n#if (defined(GL_SGIX_IGLOO_INTERFACE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIX_IGLOO_INTERFACE)) && !defined(REGAL_NO_DECLARATION_GL_SGIX_IGLOO_INTERFACE)\n#define REGAL_NO_DECLARATION_GL_SGIX_IGLOO_INTERFACE\n#endif\n\n#ifndef GL_SGIX_igloo_interface\n#define GL_SGIX_igloo_interface 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_SGIX_IGLOO_INTERFACE\ntypedef void (REGAL_CALL *PFNGLIGLOOINTERFACESGIXPROC)(GLenum pname, const GLvoid *params);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_SGIX_IGLOO_INTERFACE\n#define glIglooInterfaceSGIX                rglIglooInterfaceSGIX\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_SGIX_IGLOO_INTERFACE\nREGAL_DECL void REGAL_CALL glIglooInterfaceSGIX(GLenum pname, const GLvoid *params);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_SGIX_IGLOO_INTERFACE\nREGAL_DECL void REGAL_CALL plugin_glIglooInterfaceSGIX(GLenum pname, const GLvoid *params);\n#endif\n\n/**\n ** GL_SGIX_instruments\n **/\n\n#if (defined(GL_SGIX_INSTRUMENTS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIX_INSTRUMENTS)) && !defined(REGAL_NO_ENUM_GL_SGIX_INSTRUMENTS)\n#define REGAL_NO_ENUM_GL_SGIX_INSTRUMENTS\n#endif\n\n#if (defined(GL_SGIX_INSTRUMENTS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIX_INSTRUMENTS)) && !defined(REGAL_NO_TYPEDEF_GL_SGIX_INSTRUMENTS)\n#define REGAL_NO_TYPEDEF_GL_SGIX_INSTRUMENTS\n#endif\n\n#if (defined(GL_SGIX_INSTRUMENTS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIX_INSTRUMENTS)) && !defined(REGAL_NO_NAMESPACE_GL_SGIX_INSTRUMENTS)\n#define REGAL_NO_NAMESPACE_GL_SGIX_INSTRUMENTS\n#endif\n\n#if (defined(GL_SGIX_INSTRUMENTS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIX_INSTRUMENTS)) && !defined(REGAL_NO_PLUGIN_GL_SGIX_INSTRUMENTS)\n#define REGAL_NO_PLUGIN_GL_SGIX_INSTRUMENTS\n#endif\n\n#if (defined(GL_SGIX_INSTRUMENTS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIX_INSTRUMENTS)) && !defined(REGAL_NO_DECLARATION_GL_SGIX_INSTRUMENTS)\n#define REGAL_NO_DECLARATION_GL_SGIX_INSTRUMENTS\n#endif\n\n#ifndef GL_SGIX_instruments\n#define GL_SGIX_instruments 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_SGIX_INSTRUMENTS\ntypedef GLint (REGAL_CALL *PFNGLGETINSTRUMENTSSGIXPROC)(void);\ntypedef GLint (REGAL_CALL *PFNGLPOLLINSTRUMENTSSGIXPROC)(GLint *marker_p);\ntypedef void (REGAL_CALL *PFNGLINSTRUMENTSBUFFERSGIXPROC)(GLsizei size, GLint *buffer);\ntypedef void (REGAL_CALL *PFNGLREADINSTRUMENTSSGIXPROC)(GLint marker);\ntypedef void (REGAL_CALL *PFNGLSTARTINSTRUMENTSSGIXPROC)(void);\ntypedef void (REGAL_CALL *PFNGLSTOPINSTRUMENTSSGIXPROC)(GLint marker);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_SGIX_INSTRUMENTS\n#define glGetInstrumentsSGIX                rglGetInstrumentsSGIX\n#define glInstrumentsBufferSGIX             rglInstrumentsBufferSGIX\n#define glPollInstrumentsSGIX               rglPollInstrumentsSGIX\n#define glReadInstrumentsSGIX               rglReadInstrumentsSGIX\n#define glStartInstrumentsSGIX              rglStartInstrumentsSGIX\n#define glStopInstrumentsSGIX               rglStopInstrumentsSGIX\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_SGIX_INSTRUMENTS\nREGAL_DECL GLint REGAL_CALL glGetInstrumentsSGIX(void);\nREGAL_DECL GLint REGAL_CALL glPollInstrumentsSGIX(GLint *marker_p);\nREGAL_DECL void REGAL_CALL glInstrumentsBufferSGIX(GLsizei size, GLint *buffer);\nREGAL_DECL void REGAL_CALL glReadInstrumentsSGIX(GLint marker);\nREGAL_DECL void REGAL_CALL glStartInstrumentsSGIX(void);\nREGAL_DECL void REGAL_CALL glStopInstrumentsSGIX(GLint marker);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_SGIX_INSTRUMENTS\nREGAL_DECL GLint REGAL_CALL plugin_glGetInstrumentsSGIX(void);\nREGAL_DECL GLint REGAL_CALL plugin_glPollInstrumentsSGIX(GLint *marker_p);\nREGAL_DECL void REGAL_CALL plugin_glInstrumentsBufferSGIX(GLsizei size, GLint *buffer);\nREGAL_DECL void REGAL_CALL plugin_glReadInstrumentsSGIX(GLint marker);\nREGAL_DECL void REGAL_CALL plugin_glStartInstrumentsSGIX(void);\nREGAL_DECL void REGAL_CALL plugin_glStopInstrumentsSGIX(GLint marker);\n#endif\n\n/**\n ** GL_SGIX_interlace\n **/\n\n#if (defined(GL_SGIX_INTERLACE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIX_INTERLACE)) && !defined(REGAL_NO_ENUM_GL_SGIX_INTERLACE)\n#define REGAL_NO_ENUM_GL_SGIX_INTERLACE\n#endif\n\n#if (defined(GL_SGIX_INTERLACE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIX_INTERLACE)) && !defined(REGAL_NO_TYPEDEF_GL_SGIX_INTERLACE)\n#define REGAL_NO_TYPEDEF_GL_SGIX_INTERLACE\n#endif\n\n#if (defined(GL_SGIX_INTERLACE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIX_INTERLACE)) && !defined(REGAL_NO_NAMESPACE_GL_SGIX_INTERLACE)\n#define REGAL_NO_NAMESPACE_GL_SGIX_INTERLACE\n#endif\n\n#if (defined(GL_SGIX_INTERLACE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIX_INTERLACE)) && !defined(REGAL_NO_PLUGIN_GL_SGIX_INTERLACE)\n#define REGAL_NO_PLUGIN_GL_SGIX_INTERLACE\n#endif\n\n#if (defined(GL_SGIX_INTERLACE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIX_INTERLACE)) && !defined(REGAL_NO_DECLARATION_GL_SGIX_INTERLACE)\n#define REGAL_NO_DECLARATION_GL_SGIX_INTERLACE\n#endif\n\n#ifndef GL_SGIX_interlace\n#define GL_SGIX_interlace 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_SGIX_INTERLACE\n#define GL_INTERLACE_SGIX 0x8094 /* 32916 */\n#endif\n\n/**\n ** GL_SGIX_list_priority\n **/\n\n#if (defined(GL_SGIX_LIST_PRIORITY) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIX_LIST_PRIORITY)) && !defined(REGAL_NO_ENUM_GL_SGIX_LIST_PRIORITY)\n#define REGAL_NO_ENUM_GL_SGIX_LIST_PRIORITY\n#endif\n\n#if (defined(GL_SGIX_LIST_PRIORITY) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIX_LIST_PRIORITY)) && !defined(REGAL_NO_TYPEDEF_GL_SGIX_LIST_PRIORITY)\n#define REGAL_NO_TYPEDEF_GL_SGIX_LIST_PRIORITY\n#endif\n\n#if (defined(GL_SGIX_LIST_PRIORITY) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIX_LIST_PRIORITY)) && !defined(REGAL_NO_NAMESPACE_GL_SGIX_LIST_PRIORITY)\n#define REGAL_NO_NAMESPACE_GL_SGIX_LIST_PRIORITY\n#endif\n\n#if (defined(GL_SGIX_LIST_PRIORITY) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIX_LIST_PRIORITY)) && !defined(REGAL_NO_PLUGIN_GL_SGIX_LIST_PRIORITY)\n#define REGAL_NO_PLUGIN_GL_SGIX_LIST_PRIORITY\n#endif\n\n#if (defined(GL_SGIX_LIST_PRIORITY) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIX_LIST_PRIORITY)) && !defined(REGAL_NO_DECLARATION_GL_SGIX_LIST_PRIORITY)\n#define REGAL_NO_DECLARATION_GL_SGIX_LIST_PRIORITY\n#endif\n\n#ifndef GL_SGIX_list_priority\n#define GL_SGIX_list_priority 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_SGIX_LIST_PRIORITY\ntypedef void (REGAL_CALL *PFNGLGETLISTPARAMETERFVSGIXPROC)(GLuint list, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETLISTPARAMETERIVSGIXPROC)(GLuint list, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLLISTPARAMETERFSGIXPROC)(GLuint list, GLenum pname, GLfloat param);\ntypedef void (REGAL_CALL *PFNGLLISTPARAMETERFVSGIXPROC)(GLuint list, GLenum pname, const GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLLISTPARAMETERISGIXPROC)(GLuint list, GLenum pname, GLint param);\ntypedef void (REGAL_CALL *PFNGLLISTPARAMETERIVSGIXPROC)(GLuint list, GLenum pname, const GLint *params);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_SGIX_LIST_PRIORITY\n#define glGetListParameterfvSGIX            rglGetListParameterfvSGIX\n#define glGetListParameterivSGIX            rglGetListParameterivSGIX\n#define glListParameterfSGIX                rglListParameterfSGIX\n#define glListParameterfvSGIX               rglListParameterfvSGIX\n#define glListParameteriSGIX                rglListParameteriSGIX\n#define glListParameterivSGIX               rglListParameterivSGIX\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_SGIX_LIST_PRIORITY\nREGAL_DECL void REGAL_CALL glGetListParameterfvSGIX(GLuint list, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetListParameterivSGIX(GLuint list, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glListParameterfSGIX(GLuint list, GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL glListParameterfvSGIX(GLuint list, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL glListParameteriSGIX(GLuint list, GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL glListParameterivSGIX(GLuint list, GLenum pname, const GLint *params);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_SGIX_LIST_PRIORITY\nREGAL_DECL void REGAL_CALL plugin_glGetListParameterfvSGIX(GLuint list, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetListParameterivSGIX(GLuint list, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glListParameterfSGIX(GLuint list, GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL plugin_glListParameterfvSGIX(GLuint list, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glListParameteriSGIX(GLuint list, GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL plugin_glListParameterivSGIX(GLuint list, GLenum pname, const GLint *params);\n#endif\n\n/**\n ** GL_SGIX_pixel_texture\n **/\n\n#if (defined(GL_SGIX_PIXEL_TEXTURE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIX_PIXEL_TEXTURE)) && !defined(REGAL_NO_ENUM_GL_SGIX_PIXEL_TEXTURE)\n#define REGAL_NO_ENUM_GL_SGIX_PIXEL_TEXTURE\n#endif\n\n#if (defined(GL_SGIX_PIXEL_TEXTURE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIX_PIXEL_TEXTURE)) && !defined(REGAL_NO_TYPEDEF_GL_SGIX_PIXEL_TEXTURE)\n#define REGAL_NO_TYPEDEF_GL_SGIX_PIXEL_TEXTURE\n#endif\n\n#if (defined(GL_SGIX_PIXEL_TEXTURE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIX_PIXEL_TEXTURE)) && !defined(REGAL_NO_NAMESPACE_GL_SGIX_PIXEL_TEXTURE)\n#define REGAL_NO_NAMESPACE_GL_SGIX_PIXEL_TEXTURE\n#endif\n\n#if (defined(GL_SGIX_PIXEL_TEXTURE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIX_PIXEL_TEXTURE)) && !defined(REGAL_NO_PLUGIN_GL_SGIX_PIXEL_TEXTURE)\n#define REGAL_NO_PLUGIN_GL_SGIX_PIXEL_TEXTURE\n#endif\n\n#if (defined(GL_SGIX_PIXEL_TEXTURE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIX_PIXEL_TEXTURE)) && !defined(REGAL_NO_DECLARATION_GL_SGIX_PIXEL_TEXTURE)\n#define REGAL_NO_DECLARATION_GL_SGIX_PIXEL_TEXTURE\n#endif\n\n#ifndef GL_SGIX_pixel_texture\n#define GL_SGIX_pixel_texture 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_SGIX_PIXEL_TEXTURE\ntypedef void (REGAL_CALL *PFNGLPIXELTEXGENSGIXPROC)(GLenum mode);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_SGIX_PIXEL_TEXTURE\n#define glPixelTexGenSGIX                   rglPixelTexGenSGIX\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_SGIX_PIXEL_TEXTURE\nREGAL_DECL void REGAL_CALL glPixelTexGenSGIX(GLenum mode);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_SGIX_PIXEL_TEXTURE\nREGAL_DECL void REGAL_CALL plugin_glPixelTexGenSGIX(GLenum mode);\n#endif\n\n/**\n ** GL_SGIX_polynomial_ffd\n **/\n\n#if (defined(GL_SGIX_POLYNOMIAL_FFD) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIX_POLYNOMIAL_FFD)) && !defined(REGAL_NO_ENUM_GL_SGIX_POLYNOMIAL_FFD)\n#define REGAL_NO_ENUM_GL_SGIX_POLYNOMIAL_FFD\n#endif\n\n#if (defined(GL_SGIX_POLYNOMIAL_FFD) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIX_POLYNOMIAL_FFD)) && !defined(REGAL_NO_TYPEDEF_GL_SGIX_POLYNOMIAL_FFD)\n#define REGAL_NO_TYPEDEF_GL_SGIX_POLYNOMIAL_FFD\n#endif\n\n#if (defined(GL_SGIX_POLYNOMIAL_FFD) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIX_POLYNOMIAL_FFD)) && !defined(REGAL_NO_NAMESPACE_GL_SGIX_POLYNOMIAL_FFD)\n#define REGAL_NO_NAMESPACE_GL_SGIX_POLYNOMIAL_FFD\n#endif\n\n#if (defined(GL_SGIX_POLYNOMIAL_FFD) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIX_POLYNOMIAL_FFD)) && !defined(REGAL_NO_PLUGIN_GL_SGIX_POLYNOMIAL_FFD)\n#define REGAL_NO_PLUGIN_GL_SGIX_POLYNOMIAL_FFD\n#endif\n\n#if (defined(GL_SGIX_POLYNOMIAL_FFD) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIX_POLYNOMIAL_FFD)) && !defined(REGAL_NO_DECLARATION_GL_SGIX_POLYNOMIAL_FFD)\n#define REGAL_NO_DECLARATION_GL_SGIX_POLYNOMIAL_FFD\n#endif\n\n#ifndef GL_SGIX_polynomial_ffd\n#define GL_SGIX_polynomial_ffd 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_SGIX_POLYNOMIAL_FFD\ntypedef void (REGAL_CALL *PFNGLDEFORMATIONMAP3DSGIXPROC)(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, GLdouble w1, GLdouble w2, GLint wstride, GLint worder, const GLdouble *points);\ntypedef void (REGAL_CALL *PFNGLDEFORMATIONMAP3FSGIXPROC)(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, GLfloat w1, GLfloat w2, GLint wstride, GLint worder, const GLfloat *points);\ntypedef void (REGAL_CALL *PFNGLDEFORMSGIXPROC)(GLbitfield mask);\ntypedef void (REGAL_CALL *PFNGLLOADIDENTITYDEFORMATIONMAPSGIXPROC)(GLbitfield mask);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_SGIX_POLYNOMIAL_FFD\n#define glDeformSGIX                        rglDeformSGIX\n#define glDeformationMap3dSGIX              rglDeformationMap3dSGIX\n#define glDeformationMap3fSGIX              rglDeformationMap3fSGIX\n#define glLoadIdentityDeformationMapSGIX    rglLoadIdentityDeformationMapSGIX\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_SGIX_POLYNOMIAL_FFD\nREGAL_DECL void REGAL_CALL glDeformSGIX(GLbitfield mask);\nREGAL_DECL void REGAL_CALL glDeformationMap3dSGIX(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, GLdouble w1, GLdouble w2, GLint wstride, GLint worder, const GLdouble *points);\nREGAL_DECL void REGAL_CALL glDeformationMap3fSGIX(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, GLfloat w1, GLfloat w2, GLint wstride, GLint worder, const GLfloat *points);\nREGAL_DECL void REGAL_CALL glLoadIdentityDeformationMapSGIX(GLbitfield mask);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_SGIX_POLYNOMIAL_FFD\nREGAL_DECL void REGAL_CALL plugin_glDeformSGIX(GLbitfield mask);\nREGAL_DECL void REGAL_CALL plugin_glDeformationMap3dSGIX(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, GLdouble w1, GLdouble w2, GLint wstride, GLint worder, const GLdouble *points);\nREGAL_DECL void REGAL_CALL plugin_glDeformationMap3fSGIX(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, GLfloat w1, GLfloat w2, GLint wstride, GLint worder, const GLfloat *points);\nREGAL_DECL void REGAL_CALL plugin_glLoadIdentityDeformationMapSGIX(GLbitfield mask);\n#endif\n\n/**\n ** GL_SGIX_reference_plane\n **/\n\n#if (defined(GL_SGIX_REFERENCE_PLANE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIX_REFERENCE_PLANE)) && !defined(REGAL_NO_ENUM_GL_SGIX_REFERENCE_PLANE)\n#define REGAL_NO_ENUM_GL_SGIX_REFERENCE_PLANE\n#endif\n\n#if (defined(GL_SGIX_REFERENCE_PLANE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIX_REFERENCE_PLANE)) && !defined(REGAL_NO_TYPEDEF_GL_SGIX_REFERENCE_PLANE)\n#define REGAL_NO_TYPEDEF_GL_SGIX_REFERENCE_PLANE\n#endif\n\n#if (defined(GL_SGIX_REFERENCE_PLANE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIX_REFERENCE_PLANE)) && !defined(REGAL_NO_NAMESPACE_GL_SGIX_REFERENCE_PLANE)\n#define REGAL_NO_NAMESPACE_GL_SGIX_REFERENCE_PLANE\n#endif\n\n#if (defined(GL_SGIX_REFERENCE_PLANE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIX_REFERENCE_PLANE)) && !defined(REGAL_NO_PLUGIN_GL_SGIX_REFERENCE_PLANE)\n#define REGAL_NO_PLUGIN_GL_SGIX_REFERENCE_PLANE\n#endif\n\n#if (defined(GL_SGIX_REFERENCE_PLANE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIX_REFERENCE_PLANE)) && !defined(REGAL_NO_DECLARATION_GL_SGIX_REFERENCE_PLANE)\n#define REGAL_NO_DECLARATION_GL_SGIX_REFERENCE_PLANE\n#endif\n\n#ifndef GL_SGIX_reference_plane\n#define GL_SGIX_reference_plane 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_SGIX_REFERENCE_PLANE\ntypedef void (REGAL_CALL *PFNGLREFERENCEPLANESGIXPROC)(const GLdouble *equation);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_SGIX_REFERENCE_PLANE\n#define glReferencePlaneSGIX                rglReferencePlaneSGIX\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_SGIX_REFERENCE_PLANE\nREGAL_DECL void REGAL_CALL glReferencePlaneSGIX(const GLdouble *equation);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_SGIX_REFERENCE_PLANE\nREGAL_DECL void REGAL_CALL plugin_glReferencePlaneSGIX(const GLdouble *equation);\n#endif\n\n/**\n ** GL_SGIX_resample\n **/\n\n#if (defined(GL_SGIX_RESAMPLE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIX_RESAMPLE)) && !defined(REGAL_NO_ENUM_GL_SGIX_RESAMPLE)\n#define REGAL_NO_ENUM_GL_SGIX_RESAMPLE\n#endif\n\n#if (defined(GL_SGIX_RESAMPLE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIX_RESAMPLE)) && !defined(REGAL_NO_TYPEDEF_GL_SGIX_RESAMPLE)\n#define REGAL_NO_TYPEDEF_GL_SGIX_RESAMPLE\n#endif\n\n#if (defined(GL_SGIX_RESAMPLE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIX_RESAMPLE)) && !defined(REGAL_NO_NAMESPACE_GL_SGIX_RESAMPLE)\n#define REGAL_NO_NAMESPACE_GL_SGIX_RESAMPLE\n#endif\n\n#if (defined(GL_SGIX_RESAMPLE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIX_RESAMPLE)) && !defined(REGAL_NO_PLUGIN_GL_SGIX_RESAMPLE)\n#define REGAL_NO_PLUGIN_GL_SGIX_RESAMPLE\n#endif\n\n#if (defined(GL_SGIX_RESAMPLE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIX_RESAMPLE)) && !defined(REGAL_NO_DECLARATION_GL_SGIX_RESAMPLE)\n#define REGAL_NO_DECLARATION_GL_SGIX_RESAMPLE\n#endif\n\n#ifndef GL_SGIX_resample\n#define GL_SGIX_resample 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_SGIX_RESAMPLE\n#define GL_PACK_RESAMPLE_SGIX      0x842e     /* 33838 */\n#define GL_UNPACK_RESAMPLE_SGIX    0x842f     /* 33839 */\n#define GL_RESAMPLE_DECIMATE_SGIX  0x8430     /* 33840 */\n#define GL_RESAMPLE_REPLICATE_SGIX 0x8433     /* 33843 */\n#define GL_RESAMPLE_ZERO_FILL_SGIX 0x8434     /* 33844 */\n#endif\n\n/**\n ** GL_SGIX_shadow\n **/\n\n#if (defined(GL_SGIX_SHADOW) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIX_SHADOW)) && !defined(REGAL_NO_ENUM_GL_SGIX_SHADOW)\n#define REGAL_NO_ENUM_GL_SGIX_SHADOW\n#endif\n\n#if (defined(GL_SGIX_SHADOW) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIX_SHADOW)) && !defined(REGAL_NO_TYPEDEF_GL_SGIX_SHADOW)\n#define REGAL_NO_TYPEDEF_GL_SGIX_SHADOW\n#endif\n\n#if (defined(GL_SGIX_SHADOW) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIX_SHADOW)) && !defined(REGAL_NO_NAMESPACE_GL_SGIX_SHADOW)\n#define REGAL_NO_NAMESPACE_GL_SGIX_SHADOW\n#endif\n\n#if (defined(GL_SGIX_SHADOW) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIX_SHADOW)) && !defined(REGAL_NO_PLUGIN_GL_SGIX_SHADOW)\n#define REGAL_NO_PLUGIN_GL_SGIX_SHADOW\n#endif\n\n#if (defined(GL_SGIX_SHADOW) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIX_SHADOW)) && !defined(REGAL_NO_DECLARATION_GL_SGIX_SHADOW)\n#define REGAL_NO_DECLARATION_GL_SGIX_SHADOW\n#endif\n\n#ifndef GL_SGIX_shadow\n#define GL_SGIX_shadow 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_SGIX_SHADOW\n#define GL_TEXTURE_COMPARE_SGIX          0x819a     /* 33178 */\n#define GL_TEXTURE_COMPARE_OPERATOR_SGIX 0x819b     /* 33179 */\n#define GL_TEXTURE_LEQUAL_R_SGIX         0x819c     /* 33180 */\n#define GL_TEXTURE_GEQUAL_R_SGIX         0x819d     /* 33181 */\n#endif\n\n/**\n ** GL_SGIX_shadow_ambient\n **/\n\n#if (defined(GL_SGIX_SHADOW_AMBIENT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIX_SHADOW_AMBIENT)) && !defined(REGAL_NO_ENUM_GL_SGIX_SHADOW_AMBIENT)\n#define REGAL_NO_ENUM_GL_SGIX_SHADOW_AMBIENT\n#endif\n\n#if (defined(GL_SGIX_SHADOW_AMBIENT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIX_SHADOW_AMBIENT)) && !defined(REGAL_NO_TYPEDEF_GL_SGIX_SHADOW_AMBIENT)\n#define REGAL_NO_TYPEDEF_GL_SGIX_SHADOW_AMBIENT\n#endif\n\n#if (defined(GL_SGIX_SHADOW_AMBIENT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIX_SHADOW_AMBIENT)) && !defined(REGAL_NO_NAMESPACE_GL_SGIX_SHADOW_AMBIENT)\n#define REGAL_NO_NAMESPACE_GL_SGIX_SHADOW_AMBIENT\n#endif\n\n#if (defined(GL_SGIX_SHADOW_AMBIENT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIX_SHADOW_AMBIENT)) && !defined(REGAL_NO_PLUGIN_GL_SGIX_SHADOW_AMBIENT)\n#define REGAL_NO_PLUGIN_GL_SGIX_SHADOW_AMBIENT\n#endif\n\n#if (defined(GL_SGIX_SHADOW_AMBIENT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIX_SHADOW_AMBIENT)) && !defined(REGAL_NO_DECLARATION_GL_SGIX_SHADOW_AMBIENT)\n#define REGAL_NO_DECLARATION_GL_SGIX_SHADOW_AMBIENT\n#endif\n\n#ifndef GL_SGIX_shadow_ambient\n#define GL_SGIX_shadow_ambient 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_SGIX_SHADOW_AMBIENT\n#define GL_SHADOW_AMBIENT_SGIX 0x80bf /* 32959 */\n#endif\n\n/**\n ** GL_SGIX_sprite\n **/\n\n#if (defined(GL_SGIX_SPRITE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIX_SPRITE)) && !defined(REGAL_NO_ENUM_GL_SGIX_SPRITE)\n#define REGAL_NO_ENUM_GL_SGIX_SPRITE\n#endif\n\n#if (defined(GL_SGIX_SPRITE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIX_SPRITE)) && !defined(REGAL_NO_TYPEDEF_GL_SGIX_SPRITE)\n#define REGAL_NO_TYPEDEF_GL_SGIX_SPRITE\n#endif\n\n#if (defined(GL_SGIX_SPRITE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIX_SPRITE)) && !defined(REGAL_NO_NAMESPACE_GL_SGIX_SPRITE)\n#define REGAL_NO_NAMESPACE_GL_SGIX_SPRITE\n#endif\n\n#if (defined(GL_SGIX_SPRITE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIX_SPRITE)) && !defined(REGAL_NO_PLUGIN_GL_SGIX_SPRITE)\n#define REGAL_NO_PLUGIN_GL_SGIX_SPRITE\n#endif\n\n#if (defined(GL_SGIX_SPRITE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIX_SPRITE)) && !defined(REGAL_NO_DECLARATION_GL_SGIX_SPRITE)\n#define REGAL_NO_DECLARATION_GL_SGIX_SPRITE\n#endif\n\n#ifndef GL_SGIX_sprite\n#define GL_SGIX_sprite 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_SGIX_SPRITE\ntypedef void (REGAL_CALL *PFNGLSPRITEPARAMETERFSGIXPROC)(GLenum pname, GLfloat param);\ntypedef void (REGAL_CALL *PFNGLSPRITEPARAMETERFVSGIXPROC)(GLenum pname, const GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLSPRITEPARAMETERISGIXPROC)(GLenum pname, GLint param);\ntypedef void (REGAL_CALL *PFNGLSPRITEPARAMETERIVSGIXPROC)(GLenum pname, const GLint *params);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_SGIX_SPRITE\n#define glSpriteParameterfSGIX              rglSpriteParameterfSGIX\n#define glSpriteParameterfvSGIX             rglSpriteParameterfvSGIX\n#define glSpriteParameteriSGIX              rglSpriteParameteriSGIX\n#define glSpriteParameterivSGIX             rglSpriteParameterivSGIX\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_SGIX_SPRITE\nREGAL_DECL void REGAL_CALL glSpriteParameterfSGIX(GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL glSpriteParameterfvSGIX(GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL glSpriteParameteriSGIX(GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL glSpriteParameterivSGIX(GLenum pname, const GLint *params);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_SGIX_SPRITE\nREGAL_DECL void REGAL_CALL plugin_glSpriteParameterfSGIX(GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL plugin_glSpriteParameterfvSGIX(GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glSpriteParameteriSGIX(GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL plugin_glSpriteParameterivSGIX(GLenum pname, const GLint *params);\n#endif\n\n/**\n ** GL_SGIX_tag_sample_buffer\n **/\n\n#if (defined(GL_SGIX_TAG_SAMPLE_BUFFER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIX_TAG_SAMPLE_BUFFER)) && !defined(REGAL_NO_ENUM_GL_SGIX_TAG_SAMPLE_BUFFER)\n#define REGAL_NO_ENUM_GL_SGIX_TAG_SAMPLE_BUFFER\n#endif\n\n#if (defined(GL_SGIX_TAG_SAMPLE_BUFFER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIX_TAG_SAMPLE_BUFFER)) && !defined(REGAL_NO_TYPEDEF_GL_SGIX_TAG_SAMPLE_BUFFER)\n#define REGAL_NO_TYPEDEF_GL_SGIX_TAG_SAMPLE_BUFFER\n#endif\n\n#if (defined(GL_SGIX_TAG_SAMPLE_BUFFER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIX_TAG_SAMPLE_BUFFER)) && !defined(REGAL_NO_NAMESPACE_GL_SGIX_TAG_SAMPLE_BUFFER)\n#define REGAL_NO_NAMESPACE_GL_SGIX_TAG_SAMPLE_BUFFER\n#endif\n\n#if (defined(GL_SGIX_TAG_SAMPLE_BUFFER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIX_TAG_SAMPLE_BUFFER)) && !defined(REGAL_NO_PLUGIN_GL_SGIX_TAG_SAMPLE_BUFFER)\n#define REGAL_NO_PLUGIN_GL_SGIX_TAG_SAMPLE_BUFFER\n#endif\n\n#if (defined(GL_SGIX_TAG_SAMPLE_BUFFER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIX_TAG_SAMPLE_BUFFER)) && !defined(REGAL_NO_DECLARATION_GL_SGIX_TAG_SAMPLE_BUFFER)\n#define REGAL_NO_DECLARATION_GL_SGIX_TAG_SAMPLE_BUFFER\n#endif\n\n#ifndef GL_SGIX_tag_sample_buffer\n#define GL_SGIX_tag_sample_buffer 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_SGIX_TAG_SAMPLE_BUFFER\ntypedef void (REGAL_CALL *PFNGLTAGSAMPLEBUFFERSGIXPROC)(void);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_SGIX_TAG_SAMPLE_BUFFER\n#define glTagSampleBufferSGIX               rglTagSampleBufferSGIX\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_SGIX_TAG_SAMPLE_BUFFER\nREGAL_DECL void REGAL_CALL glTagSampleBufferSGIX(void);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_SGIX_TAG_SAMPLE_BUFFER\nREGAL_DECL void REGAL_CALL plugin_glTagSampleBufferSGIX(void);\n#endif\n\n/**\n ** GL_SGIX_texture_coordinate_clamp\n **/\n\n#if (defined(GL_SGIX_TEXTURE_COORDINATE_CLAMP) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIX_TEXTURE_COORDINATE_CLAMP)) && !defined(REGAL_NO_ENUM_GL_SGIX_TEXTURE_COORDINATE_CLAMP)\n#define REGAL_NO_ENUM_GL_SGIX_TEXTURE_COORDINATE_CLAMP\n#endif\n\n#if (defined(GL_SGIX_TEXTURE_COORDINATE_CLAMP) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIX_TEXTURE_COORDINATE_CLAMP)) && !defined(REGAL_NO_TYPEDEF_GL_SGIX_TEXTURE_COORDINATE_CLAMP)\n#define REGAL_NO_TYPEDEF_GL_SGIX_TEXTURE_COORDINATE_CLAMP\n#endif\n\n#if (defined(GL_SGIX_TEXTURE_COORDINATE_CLAMP) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIX_TEXTURE_COORDINATE_CLAMP)) && !defined(REGAL_NO_NAMESPACE_GL_SGIX_TEXTURE_COORDINATE_CLAMP)\n#define REGAL_NO_NAMESPACE_GL_SGIX_TEXTURE_COORDINATE_CLAMP\n#endif\n\n#if (defined(GL_SGIX_TEXTURE_COORDINATE_CLAMP) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIX_TEXTURE_COORDINATE_CLAMP)) && !defined(REGAL_NO_PLUGIN_GL_SGIX_TEXTURE_COORDINATE_CLAMP)\n#define REGAL_NO_PLUGIN_GL_SGIX_TEXTURE_COORDINATE_CLAMP\n#endif\n\n#if (defined(GL_SGIX_TEXTURE_COORDINATE_CLAMP) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIX_TEXTURE_COORDINATE_CLAMP)) && !defined(REGAL_NO_DECLARATION_GL_SGIX_TEXTURE_COORDINATE_CLAMP)\n#define REGAL_NO_DECLARATION_GL_SGIX_TEXTURE_COORDINATE_CLAMP\n#endif\n\n#ifndef GL_SGIX_texture_coordinate_clamp\n#define GL_SGIX_texture_coordinate_clamp 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_SGIX_TEXTURE_COORDINATE_CLAMP\n#define GL_TEXTURE_MAX_CLAMP_S_SGIX 0x8369     /* 33641 */\n#define GL_TEXTURE_MAX_CLAMP_T_SGIX 0x836a     /* 33642 */\n#define GL_TEXTURE_MAX_CLAMP_R_SGIX 0x836b     /* 33643 */\n#endif\n\n/**\n ** GL_SGIX_texture_multi_buffer\n **/\n\n#if (defined(GL_SGIX_TEXTURE_MULTI_BUFFER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIX_TEXTURE_MULTI_BUFFER)) && !defined(REGAL_NO_ENUM_GL_SGIX_TEXTURE_MULTI_BUFFER)\n#define REGAL_NO_ENUM_GL_SGIX_TEXTURE_MULTI_BUFFER\n#endif\n\n#if (defined(GL_SGIX_TEXTURE_MULTI_BUFFER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIX_TEXTURE_MULTI_BUFFER)) && !defined(REGAL_NO_TYPEDEF_GL_SGIX_TEXTURE_MULTI_BUFFER)\n#define REGAL_NO_TYPEDEF_GL_SGIX_TEXTURE_MULTI_BUFFER\n#endif\n\n#if (defined(GL_SGIX_TEXTURE_MULTI_BUFFER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIX_TEXTURE_MULTI_BUFFER)) && !defined(REGAL_NO_NAMESPACE_GL_SGIX_TEXTURE_MULTI_BUFFER)\n#define REGAL_NO_NAMESPACE_GL_SGIX_TEXTURE_MULTI_BUFFER\n#endif\n\n#if (defined(GL_SGIX_TEXTURE_MULTI_BUFFER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIX_TEXTURE_MULTI_BUFFER)) && !defined(REGAL_NO_PLUGIN_GL_SGIX_TEXTURE_MULTI_BUFFER)\n#define REGAL_NO_PLUGIN_GL_SGIX_TEXTURE_MULTI_BUFFER\n#endif\n\n#if (defined(GL_SGIX_TEXTURE_MULTI_BUFFER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIX_TEXTURE_MULTI_BUFFER)) && !defined(REGAL_NO_DECLARATION_GL_SGIX_TEXTURE_MULTI_BUFFER)\n#define REGAL_NO_DECLARATION_GL_SGIX_TEXTURE_MULTI_BUFFER\n#endif\n\n#ifndef GL_SGIX_texture_multi_buffer\n#define GL_SGIX_texture_multi_buffer 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_SGIX_TEXTURE_MULTI_BUFFER\n#define GL_TEXTURE_MULTI_BUFFER_HINT_SGIX 0x812e /* 33070 */\n#endif\n\n/**\n ** GL_SGIX_texture_range\n **/\n\n#if (defined(GL_SGIX_TEXTURE_RANGE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIX_TEXTURE_RANGE)) && !defined(REGAL_NO_ENUM_GL_SGIX_TEXTURE_RANGE)\n#define REGAL_NO_ENUM_GL_SGIX_TEXTURE_RANGE\n#endif\n\n#if (defined(GL_SGIX_TEXTURE_RANGE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIX_TEXTURE_RANGE)) && !defined(REGAL_NO_TYPEDEF_GL_SGIX_TEXTURE_RANGE)\n#define REGAL_NO_TYPEDEF_GL_SGIX_TEXTURE_RANGE\n#endif\n\n#if (defined(GL_SGIX_TEXTURE_RANGE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIX_TEXTURE_RANGE)) && !defined(REGAL_NO_NAMESPACE_GL_SGIX_TEXTURE_RANGE)\n#define REGAL_NO_NAMESPACE_GL_SGIX_TEXTURE_RANGE\n#endif\n\n#if (defined(GL_SGIX_TEXTURE_RANGE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIX_TEXTURE_RANGE)) && !defined(REGAL_NO_PLUGIN_GL_SGIX_TEXTURE_RANGE)\n#define REGAL_NO_PLUGIN_GL_SGIX_TEXTURE_RANGE\n#endif\n\n#if (defined(GL_SGIX_TEXTURE_RANGE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIX_TEXTURE_RANGE)) && !defined(REGAL_NO_DECLARATION_GL_SGIX_TEXTURE_RANGE)\n#define REGAL_NO_DECLARATION_GL_SGIX_TEXTURE_RANGE\n#endif\n\n#ifndef GL_SGIX_texture_range\n#define GL_SGIX_texture_range 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_SGIX_TEXTURE_RANGE\n#define GL_RGB_SIGNED_SGIX                         0x85e0     /* 34272 */\n#define GL_RGBA_SIGNED_SGIX                        0x85e1     /* 34273 */\n#define GL_ALPHA_SIGNED_SGIX                       0x85e2     /* 34274 */\n#define GL_LUMINANCE_SIGNED_SGIX                   0x85e3     /* 34275 */\n#define GL_INTENSITY_SIGNED_SGIX                   0x85e4     /* 34276 */\n#define GL_LUMINANCE_ALPHA_SIGNED_SGIX             0x85e5     /* 34277 */\n#define GL_RGB16_SIGNED_SGIX                       0x85e6     /* 34278 */\n#define GL_RGBA16_SIGNED_SGIX                      0x85e7     /* 34279 */\n#define GL_ALPHA16_SIGNED_SGIX                     0x85e8     /* 34280 */\n#define GL_LUMINANCE16_SIGNED_SGIX                 0x85e9     /* 34281 */\n#define GL_INTENSITY16_SIGNED_SGIX                 0x85ea     /* 34282 */\n#define GL_LUMINANCE16_ALPHA16_SIGNED_SGIX         0x85eb     /* 34283 */\n#define GL_RGB_EXTENDED_RANGE_SGIX                 0x85ec     /* 34284 */\n#define GL_RGBA_EXTENDED_RANGE_SGIX                0x85ed     /* 34285 */\n#define GL_ALPHA_EXTENDED_RANGE_SGIX               0x85ee     /* 34286 */\n#define GL_LUMINANCE_EXTENDED_RANGE_SGIX           0x85ef     /* 34287 */\n#define GL_INTENSITY_EXTENDED_RANGE_SGIX           0x85f0     /* 34288 */\n#define GL_LUMINANCE_ALPHA_EXTENDED_RANGE_SGIX     0x85f1     /* 34289 */\n#define GL_RGB16_EXTENDED_RANGE_SGIX               0x85f2     /* 34290 */\n#define GL_RGBA16_EXTENDED_RANGE_SGIX              0x85f3     /* 34291 */\n#define GL_ALPHA16_EXTENDED_RANGE_SGIX             0x85f4     /* 34292 */\n#define GL_LUMINANCE16_EXTENDED_RANGE_SGIX         0x85f5     /* 34293 */\n#define GL_INTENSITY16_EXTENDED_RANGE_SGIX         0x85f6     /* 34294 */\n#define GL_LUMINANCE16_ALPHA16_EXTENDED_RANGE_SGIX 0x85f7     /* 34295 */\n#define GL_MIN_LUMINANCE_SGIS                      0x85f8     /* 34296 */\n#define GL_MAX_LUMINANCE_SGIS                      0x85f9     /* 34297 */\n#define GL_MIN_INTENSITY_SGIS                      0x85fa     /* 34298 */\n#define GL_MAX_INTENSITY_SGIS                      0x85fb     /* 34299 */\n#endif\n\n/**\n ** GL_SGIX_texture_scale_bias\n **/\n\n#if (defined(GL_SGIX_TEXTURE_SCALE_BIAS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIX_TEXTURE_SCALE_BIAS)) && !defined(REGAL_NO_ENUM_GL_SGIX_TEXTURE_SCALE_BIAS)\n#define REGAL_NO_ENUM_GL_SGIX_TEXTURE_SCALE_BIAS\n#endif\n\n#if (defined(GL_SGIX_TEXTURE_SCALE_BIAS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIX_TEXTURE_SCALE_BIAS)) && !defined(REGAL_NO_TYPEDEF_GL_SGIX_TEXTURE_SCALE_BIAS)\n#define REGAL_NO_TYPEDEF_GL_SGIX_TEXTURE_SCALE_BIAS\n#endif\n\n#if (defined(GL_SGIX_TEXTURE_SCALE_BIAS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIX_TEXTURE_SCALE_BIAS)) && !defined(REGAL_NO_NAMESPACE_GL_SGIX_TEXTURE_SCALE_BIAS)\n#define REGAL_NO_NAMESPACE_GL_SGIX_TEXTURE_SCALE_BIAS\n#endif\n\n#if (defined(GL_SGIX_TEXTURE_SCALE_BIAS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIX_TEXTURE_SCALE_BIAS)) && !defined(REGAL_NO_PLUGIN_GL_SGIX_TEXTURE_SCALE_BIAS)\n#define REGAL_NO_PLUGIN_GL_SGIX_TEXTURE_SCALE_BIAS\n#endif\n\n#if (defined(GL_SGIX_TEXTURE_SCALE_BIAS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIX_TEXTURE_SCALE_BIAS)) && !defined(REGAL_NO_DECLARATION_GL_SGIX_TEXTURE_SCALE_BIAS)\n#define REGAL_NO_DECLARATION_GL_SGIX_TEXTURE_SCALE_BIAS\n#endif\n\n#ifndef GL_SGIX_texture_scale_bias\n#define GL_SGIX_texture_scale_bias 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_SGIX_TEXTURE_SCALE_BIAS\n#define GL_POST_TEXTURE_FILTER_BIAS_SGIX        0x8179     /* 33145 */\n#define GL_POST_TEXTURE_FILTER_SCALE_SGIX       0x817a     /* 33146 */\n#define GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX  0x817b     /* 33147 */\n#define GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX 0x817c     /* 33148 */\n#endif\n\n/**\n ** GL_SGIX_vertex_preclip_hint\n **/\n\n#if (defined(GL_SGIX_VERTEX_PRECLIP_HINT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIX_VERTEX_PRECLIP_HINT)) && !defined(REGAL_NO_ENUM_GL_SGIX_VERTEX_PRECLIP_HINT)\n#define REGAL_NO_ENUM_GL_SGIX_VERTEX_PRECLIP_HINT\n#endif\n\n#if (defined(GL_SGIX_VERTEX_PRECLIP_HINT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIX_VERTEX_PRECLIP_HINT)) && !defined(REGAL_NO_TYPEDEF_GL_SGIX_VERTEX_PRECLIP_HINT)\n#define REGAL_NO_TYPEDEF_GL_SGIX_VERTEX_PRECLIP_HINT\n#endif\n\n#if (defined(GL_SGIX_VERTEX_PRECLIP_HINT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIX_VERTEX_PRECLIP_HINT)) && !defined(REGAL_NO_NAMESPACE_GL_SGIX_VERTEX_PRECLIP_HINT)\n#define REGAL_NO_NAMESPACE_GL_SGIX_VERTEX_PRECLIP_HINT\n#endif\n\n#if (defined(GL_SGIX_VERTEX_PRECLIP_HINT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIX_VERTEX_PRECLIP_HINT)) && !defined(REGAL_NO_PLUGIN_GL_SGIX_VERTEX_PRECLIP_HINT)\n#define REGAL_NO_PLUGIN_GL_SGIX_VERTEX_PRECLIP_HINT\n#endif\n\n#if (defined(GL_SGIX_VERTEX_PRECLIP_HINT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIX_VERTEX_PRECLIP_HINT)) && !defined(REGAL_NO_DECLARATION_GL_SGIX_VERTEX_PRECLIP_HINT)\n#define REGAL_NO_DECLARATION_GL_SGIX_VERTEX_PRECLIP_HINT\n#endif\n\n#ifndef GL_SGIX_vertex_preclip_hint\n#define GL_SGIX_vertex_preclip_hint 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_SGIX_VERTEX_PRECLIP_HINT\n#define GL_VERTEX_PRECLIP_SGIX      0x83ee     /* 33774 */\n#define GL_VERTEX_PRECLIP_HINT_SGIX 0x83ef     /* 33775 */\n#endif\n\n/**\n ** GL_SGIX_ycrcb\n **/\n\n#if (defined(GL_SGIX_YCRCB) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGIX_YCRCB)) && !defined(REGAL_NO_ENUM_GL_SGIX_YCRCB)\n#define REGAL_NO_ENUM_GL_SGIX_YCRCB\n#endif\n\n#if (defined(GL_SGIX_YCRCB) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGIX_YCRCB)) && !defined(REGAL_NO_TYPEDEF_GL_SGIX_YCRCB)\n#define REGAL_NO_TYPEDEF_GL_SGIX_YCRCB\n#endif\n\n#if (defined(GL_SGIX_YCRCB) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGIX_YCRCB)) && !defined(REGAL_NO_NAMESPACE_GL_SGIX_YCRCB)\n#define REGAL_NO_NAMESPACE_GL_SGIX_YCRCB\n#endif\n\n#if (defined(GL_SGIX_YCRCB) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGIX_YCRCB)) && !defined(REGAL_NO_PLUGIN_GL_SGIX_YCRCB)\n#define REGAL_NO_PLUGIN_GL_SGIX_YCRCB\n#endif\n\n#if (defined(GL_SGIX_YCRCB) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGIX_YCRCB)) && !defined(REGAL_NO_DECLARATION_GL_SGIX_YCRCB)\n#define REGAL_NO_DECLARATION_GL_SGIX_YCRCB\n#endif\n\n#ifndef GL_SGIX_ycrcb\n#define GL_SGIX_ycrcb 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_SGIX_YCRCB\n#define GL_YCRCB_422_SGIX 0x81bb     /* 33211 */\n#define GL_YCRCB_444_SGIX 0x81bc     /* 33212 */\n#endif\n\n/**\n ** GL_SGI_color_matrix\n **/\n\n#if (defined(GL_SGI_COLOR_MATRIX) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGI_COLOR_MATRIX)) && !defined(REGAL_NO_ENUM_GL_SGI_COLOR_MATRIX)\n#define REGAL_NO_ENUM_GL_SGI_COLOR_MATRIX\n#endif\n\n#if (defined(GL_SGI_COLOR_MATRIX) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGI_COLOR_MATRIX)) && !defined(REGAL_NO_TYPEDEF_GL_SGI_COLOR_MATRIX)\n#define REGAL_NO_TYPEDEF_GL_SGI_COLOR_MATRIX\n#endif\n\n#if (defined(GL_SGI_COLOR_MATRIX) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGI_COLOR_MATRIX)) && !defined(REGAL_NO_NAMESPACE_GL_SGI_COLOR_MATRIX)\n#define REGAL_NO_NAMESPACE_GL_SGI_COLOR_MATRIX\n#endif\n\n#if (defined(GL_SGI_COLOR_MATRIX) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGI_COLOR_MATRIX)) && !defined(REGAL_NO_PLUGIN_GL_SGI_COLOR_MATRIX)\n#define REGAL_NO_PLUGIN_GL_SGI_COLOR_MATRIX\n#endif\n\n#if (defined(GL_SGI_COLOR_MATRIX) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGI_COLOR_MATRIX)) && !defined(REGAL_NO_DECLARATION_GL_SGI_COLOR_MATRIX)\n#define REGAL_NO_DECLARATION_GL_SGI_COLOR_MATRIX\n#endif\n\n#ifndef GL_SGI_color_matrix\n#define GL_SGI_color_matrix 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_SGI_COLOR_MATRIX\n#define GL_COLOR_MATRIX_SGI                  0x80b1     /* 32945 */\n#define GL_COLOR_MATRIX_STACK_DEPTH_SGI      0x80b2     /* 32946 */\n#define GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI  0x80b3     /* 32947 */\n#define GL_POST_COLOR_MATRIX_RED_SCALE_SGI   0x80b4     /* 32948 */\n#define GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI 0x80b5     /* 32949 */\n#define GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI  0x80b6     /* 32950 */\n#define GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI 0x80b7     /* 32951 */\n#define GL_POST_COLOR_MATRIX_RED_BIAS_SGI    0x80b8     /* 32952 */\n#define GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI  0x80b9     /* 32953 */\n#define GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI   0x80ba     /* 32954 */\n#define GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI  0x80bb     /* 32955 */\n#endif\n\n/**\n ** GL_SGI_color_table\n **/\n\n#if (defined(GL_SGI_COLOR_TABLE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGI_COLOR_TABLE)) && !defined(REGAL_NO_ENUM_GL_SGI_COLOR_TABLE)\n#define REGAL_NO_ENUM_GL_SGI_COLOR_TABLE\n#endif\n\n#if (defined(GL_SGI_COLOR_TABLE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGI_COLOR_TABLE)) && !defined(REGAL_NO_TYPEDEF_GL_SGI_COLOR_TABLE)\n#define REGAL_NO_TYPEDEF_GL_SGI_COLOR_TABLE\n#endif\n\n#if (defined(GL_SGI_COLOR_TABLE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGI_COLOR_TABLE)) && !defined(REGAL_NO_NAMESPACE_GL_SGI_COLOR_TABLE)\n#define REGAL_NO_NAMESPACE_GL_SGI_COLOR_TABLE\n#endif\n\n#if (defined(GL_SGI_COLOR_TABLE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGI_COLOR_TABLE)) && !defined(REGAL_NO_PLUGIN_GL_SGI_COLOR_TABLE)\n#define REGAL_NO_PLUGIN_GL_SGI_COLOR_TABLE\n#endif\n\n#if (defined(GL_SGI_COLOR_TABLE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGI_COLOR_TABLE)) && !defined(REGAL_NO_DECLARATION_GL_SGI_COLOR_TABLE)\n#define REGAL_NO_DECLARATION_GL_SGI_COLOR_TABLE\n#endif\n\n#ifndef GL_SGI_color_table\n#define GL_SGI_color_table 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_SGI_COLOR_TABLE\n#define GL_COLOR_TABLE_SGI                         0x80d0     /* 32976 */\n#define GL_POST_CONVOLUTION_COLOR_TABLE_SGI        0x80d1     /* 32977 */\n#define GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI       0x80d2     /* 32978 */\n#define GL_PROXY_COLOR_TABLE_SGI                   0x80d3     /* 32979 */\n#define GL_PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI  0x80d4     /* 32980 */\n#define GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI 0x80d5     /* 32981 */\n#define GL_COLOR_TABLE_SCALE_SGI                   0x80d6     /* 32982 */\n#define GL_COLOR_TABLE_BIAS_SGI                    0x80d7     /* 32983 */\n#define GL_COLOR_TABLE_FORMAT_SGI                  0x80d8     /* 32984 */\n#define GL_COLOR_TABLE_WIDTH_SGI                   0x80d9     /* 32985 */\n#define GL_COLOR_TABLE_RED_SIZE_SGI                0x80da     /* 32986 */\n#define GL_COLOR_TABLE_GREEN_SIZE_SGI              0x80db     /* 32987 */\n#define GL_COLOR_TABLE_BLUE_SIZE_SGI               0x80dc     /* 32988 */\n#define GL_COLOR_TABLE_ALPHA_SIZE_SGI              0x80dd     /* 32989 */\n#define GL_COLOR_TABLE_LUMINANCE_SIZE_SGI          0x80de     /* 32990 */\n#define GL_COLOR_TABLE_INTENSITY_SIZE_SGI          0x80df     /* 32991 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_SGI_COLOR_TABLE\ntypedef void (REGAL_CALL *PFNGLCOLORTABLEPARAMETERFVSGIPROC)(GLenum target, GLenum pname, const GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLCOLORTABLEPARAMETERIVSGIPROC)(GLenum target, GLenum pname, const GLint *params);\ntypedef void (REGAL_CALL *PFNGLCOLORTABLESGIPROC)(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table);\ntypedef void (REGAL_CALL *PFNGLCOPYCOLORTABLESGIPROC)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);\ntypedef void (REGAL_CALL *PFNGLGETCOLORTABLEPARAMETERFVSGIPROC)(GLenum target, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETCOLORTABLEPARAMETERIVSGIPROC)(GLenum target, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETCOLORTABLESGIPROC)(GLenum target, GLenum format, GLenum type, GLvoid *table);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_SGI_COLOR_TABLE\n#define glColorTableParameterfvSGI          rglColorTableParameterfvSGI\n#define glColorTableParameterivSGI          rglColorTableParameterivSGI\n#define glColorTableSGI                     rglColorTableSGI\n#define glCopyColorTableSGI                 rglCopyColorTableSGI\n#define glGetColorTableParameterfvSGI       rglGetColorTableParameterfvSGI\n#define glGetColorTableParameterivSGI       rglGetColorTableParameterivSGI\n#define glGetColorTableSGI                  rglGetColorTableSGI\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_SGI_COLOR_TABLE\nREGAL_DECL void REGAL_CALL glColorTableParameterfvSGI(GLenum target, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL glColorTableParameterivSGI(GLenum target, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL glColorTableSGI(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table);\nREGAL_DECL void REGAL_CALL glCopyColorTableSGI(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);\nREGAL_DECL void REGAL_CALL glGetColorTableParameterfvSGI(GLenum target, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetColorTableParameterivSGI(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetColorTableSGI(GLenum target, GLenum format, GLenum type, GLvoid *table);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_SGI_COLOR_TABLE\nREGAL_DECL void REGAL_CALL plugin_glColorTableParameterfvSGI(GLenum target, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glColorTableParameterivSGI(GLenum target, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glColorTableSGI(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table);\nREGAL_DECL void REGAL_CALL plugin_glCopyColorTableSGI(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);\nREGAL_DECL void REGAL_CALL plugin_glGetColorTableParameterfvSGI(GLenum target, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetColorTableParameterivSGI(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetColorTableSGI(GLenum target, GLenum format, GLenum type, GLvoid *table);\n#endif\n\n/**\n ** GL_SGI_texture_color_table\n **/\n\n#if (defined(GL_SGI_TEXTURE_COLOR_TABLE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SGI_TEXTURE_COLOR_TABLE)) && !defined(REGAL_NO_ENUM_GL_SGI_TEXTURE_COLOR_TABLE)\n#define REGAL_NO_ENUM_GL_SGI_TEXTURE_COLOR_TABLE\n#endif\n\n#if (defined(GL_SGI_TEXTURE_COLOR_TABLE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SGI_TEXTURE_COLOR_TABLE)) && !defined(REGAL_NO_TYPEDEF_GL_SGI_TEXTURE_COLOR_TABLE)\n#define REGAL_NO_TYPEDEF_GL_SGI_TEXTURE_COLOR_TABLE\n#endif\n\n#if (defined(GL_SGI_TEXTURE_COLOR_TABLE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SGI_TEXTURE_COLOR_TABLE)) && !defined(REGAL_NO_NAMESPACE_GL_SGI_TEXTURE_COLOR_TABLE)\n#define REGAL_NO_NAMESPACE_GL_SGI_TEXTURE_COLOR_TABLE\n#endif\n\n#if (defined(GL_SGI_TEXTURE_COLOR_TABLE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SGI_TEXTURE_COLOR_TABLE)) && !defined(REGAL_NO_PLUGIN_GL_SGI_TEXTURE_COLOR_TABLE)\n#define REGAL_NO_PLUGIN_GL_SGI_TEXTURE_COLOR_TABLE\n#endif\n\n#if (defined(GL_SGI_TEXTURE_COLOR_TABLE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SGI_TEXTURE_COLOR_TABLE)) && !defined(REGAL_NO_DECLARATION_GL_SGI_TEXTURE_COLOR_TABLE)\n#define REGAL_NO_DECLARATION_GL_SGI_TEXTURE_COLOR_TABLE\n#endif\n\n#ifndef GL_SGI_texture_color_table\n#define GL_SGI_texture_color_table 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_SGI_TEXTURE_COLOR_TABLE\n#define GL_TEXTURE_COLOR_TABLE_SGI       0x80bc     /* 32956 */\n#define GL_PROXY_TEXTURE_COLOR_TABLE_SGI 0x80bd     /* 32957 */\n#endif\n\n/**\n ** GL_SUNX_constant_data\n **/\n\n#if (defined(GL_SUNX_CONSTANT_DATA) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SUNX_CONSTANT_DATA)) && !defined(REGAL_NO_ENUM_GL_SUNX_CONSTANT_DATA)\n#define REGAL_NO_ENUM_GL_SUNX_CONSTANT_DATA\n#endif\n\n#if (defined(GL_SUNX_CONSTANT_DATA) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SUNX_CONSTANT_DATA)) && !defined(REGAL_NO_TYPEDEF_GL_SUNX_CONSTANT_DATA)\n#define REGAL_NO_TYPEDEF_GL_SUNX_CONSTANT_DATA\n#endif\n\n#if (defined(GL_SUNX_CONSTANT_DATA) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SUNX_CONSTANT_DATA)) && !defined(REGAL_NO_NAMESPACE_GL_SUNX_CONSTANT_DATA)\n#define REGAL_NO_NAMESPACE_GL_SUNX_CONSTANT_DATA\n#endif\n\n#if (defined(GL_SUNX_CONSTANT_DATA) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SUNX_CONSTANT_DATA)) && !defined(REGAL_NO_PLUGIN_GL_SUNX_CONSTANT_DATA)\n#define REGAL_NO_PLUGIN_GL_SUNX_CONSTANT_DATA\n#endif\n\n#if (defined(GL_SUNX_CONSTANT_DATA) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SUNX_CONSTANT_DATA)) && !defined(REGAL_NO_DECLARATION_GL_SUNX_CONSTANT_DATA)\n#define REGAL_NO_DECLARATION_GL_SUNX_CONSTANT_DATA\n#endif\n\n#ifndef GL_SUNX_constant_data\n#define GL_SUNX_constant_data 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_SUNX_CONSTANT_DATA\n#define GL_UNPACK_CONSTANT_DATA_SUNX  0x81d5     /* 33237 */\n#define GL_TEXTURE_CONSTANT_DATA_SUNX 0x81d6     /* 33238 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_SUNX_CONSTANT_DATA\ntypedef void (REGAL_CALL *PFNGLFINISHTEXTURESUNXPROC)(void);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_SUNX_CONSTANT_DATA\n#define glFinishTextureSUNX                 rglFinishTextureSUNX\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_SUNX_CONSTANT_DATA\nREGAL_DECL void REGAL_CALL glFinishTextureSUNX(void);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_SUNX_CONSTANT_DATA\nREGAL_DECL void REGAL_CALL plugin_glFinishTextureSUNX(void);\n#endif\n\n/**\n ** GL_SUN_convolution_border_modes\n **/\n\n#if (defined(GL_SUN_CONVOLUTION_BORDER_MODES) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SUN_CONVOLUTION_BORDER_MODES)) && !defined(REGAL_NO_ENUM_GL_SUN_CONVOLUTION_BORDER_MODES)\n#define REGAL_NO_ENUM_GL_SUN_CONVOLUTION_BORDER_MODES\n#endif\n\n#if (defined(GL_SUN_CONVOLUTION_BORDER_MODES) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SUN_CONVOLUTION_BORDER_MODES)) && !defined(REGAL_NO_TYPEDEF_GL_SUN_CONVOLUTION_BORDER_MODES)\n#define REGAL_NO_TYPEDEF_GL_SUN_CONVOLUTION_BORDER_MODES\n#endif\n\n#if (defined(GL_SUN_CONVOLUTION_BORDER_MODES) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SUN_CONVOLUTION_BORDER_MODES)) && !defined(REGAL_NO_NAMESPACE_GL_SUN_CONVOLUTION_BORDER_MODES)\n#define REGAL_NO_NAMESPACE_GL_SUN_CONVOLUTION_BORDER_MODES\n#endif\n\n#if (defined(GL_SUN_CONVOLUTION_BORDER_MODES) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SUN_CONVOLUTION_BORDER_MODES)) && !defined(REGAL_NO_PLUGIN_GL_SUN_CONVOLUTION_BORDER_MODES)\n#define REGAL_NO_PLUGIN_GL_SUN_CONVOLUTION_BORDER_MODES\n#endif\n\n#if (defined(GL_SUN_CONVOLUTION_BORDER_MODES) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SUN_CONVOLUTION_BORDER_MODES)) && !defined(REGAL_NO_DECLARATION_GL_SUN_CONVOLUTION_BORDER_MODES)\n#define REGAL_NO_DECLARATION_GL_SUN_CONVOLUTION_BORDER_MODES\n#endif\n\n#ifndef GL_SUN_convolution_border_modes\n#define GL_SUN_convolution_border_modes 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_SUN_CONVOLUTION_BORDER_MODES\n#define GL_WRAP_BORDER_SUN 0x81d4 /* 33236 */\n#endif\n\n/**\n ** GL_SUN_global_alpha\n **/\n\n#if (defined(GL_SUN_GLOBAL_ALPHA) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SUN_GLOBAL_ALPHA)) && !defined(REGAL_NO_ENUM_GL_SUN_GLOBAL_ALPHA)\n#define REGAL_NO_ENUM_GL_SUN_GLOBAL_ALPHA\n#endif\n\n#if (defined(GL_SUN_GLOBAL_ALPHA) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SUN_GLOBAL_ALPHA)) && !defined(REGAL_NO_TYPEDEF_GL_SUN_GLOBAL_ALPHA)\n#define REGAL_NO_TYPEDEF_GL_SUN_GLOBAL_ALPHA\n#endif\n\n#if (defined(GL_SUN_GLOBAL_ALPHA) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SUN_GLOBAL_ALPHA)) && !defined(REGAL_NO_NAMESPACE_GL_SUN_GLOBAL_ALPHA)\n#define REGAL_NO_NAMESPACE_GL_SUN_GLOBAL_ALPHA\n#endif\n\n#if (defined(GL_SUN_GLOBAL_ALPHA) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SUN_GLOBAL_ALPHA)) && !defined(REGAL_NO_PLUGIN_GL_SUN_GLOBAL_ALPHA)\n#define REGAL_NO_PLUGIN_GL_SUN_GLOBAL_ALPHA\n#endif\n\n#if (defined(GL_SUN_GLOBAL_ALPHA) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SUN_GLOBAL_ALPHA)) && !defined(REGAL_NO_DECLARATION_GL_SUN_GLOBAL_ALPHA)\n#define REGAL_NO_DECLARATION_GL_SUN_GLOBAL_ALPHA\n#endif\n\n#ifndef GL_SUN_global_alpha\n#define GL_SUN_global_alpha 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_SUN_GLOBAL_ALPHA\n#define GL_GLOBAL_ALPHA_SUN        0x81d9     /* 33241 */\n#define GL_GLOBAL_ALPHA_FACTOR_SUN 0x81da     /* 33242 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_SUN_GLOBAL_ALPHA\ntypedef void (REGAL_CALL *PFNGLGLOBALALPHAFACTORBSUNPROC)(GLbyte factor);\ntypedef void (REGAL_CALL *PFNGLGLOBALALPHAFACTORDSUNPROC)(GLdouble factor);\ntypedef void (REGAL_CALL *PFNGLGLOBALALPHAFACTORFSUNPROC)(GLfloat factor);\ntypedef void (REGAL_CALL *PFNGLGLOBALALPHAFACTORISUNPROC)(GLint factor);\ntypedef void (REGAL_CALL *PFNGLGLOBALALPHAFACTORSSUNPROC)(GLshort factor);\ntypedef void (REGAL_CALL *PFNGLGLOBALALPHAFACTORUBSUNPROC)(GLubyte factor);\ntypedef void (REGAL_CALL *PFNGLGLOBALALPHAFACTORUISUNPROC)(GLuint factor);\ntypedef void (REGAL_CALL *PFNGLGLOBALALPHAFACTORUSSUNPROC)(GLushort factor);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_SUN_GLOBAL_ALPHA\n#define glGlobalAlphaFactorbSUN             rglGlobalAlphaFactorbSUN\n#define glGlobalAlphaFactordSUN             rglGlobalAlphaFactordSUN\n#define glGlobalAlphaFactorfSUN             rglGlobalAlphaFactorfSUN\n#define glGlobalAlphaFactoriSUN             rglGlobalAlphaFactoriSUN\n#define glGlobalAlphaFactorsSUN             rglGlobalAlphaFactorsSUN\n#define glGlobalAlphaFactorubSUN            rglGlobalAlphaFactorubSUN\n#define glGlobalAlphaFactoruiSUN            rglGlobalAlphaFactoruiSUN\n#define glGlobalAlphaFactorusSUN            rglGlobalAlphaFactorusSUN\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_SUN_GLOBAL_ALPHA\nREGAL_DECL void REGAL_CALL glGlobalAlphaFactorbSUN(GLbyte factor);\nREGAL_DECL void REGAL_CALL glGlobalAlphaFactordSUN(GLdouble factor);\nREGAL_DECL void REGAL_CALL glGlobalAlphaFactorfSUN(GLfloat factor);\nREGAL_DECL void REGAL_CALL glGlobalAlphaFactoriSUN(GLint factor);\nREGAL_DECL void REGAL_CALL glGlobalAlphaFactorsSUN(GLshort factor);\nREGAL_DECL void REGAL_CALL glGlobalAlphaFactorubSUN(GLubyte factor);\nREGAL_DECL void REGAL_CALL glGlobalAlphaFactoruiSUN(GLuint factor);\nREGAL_DECL void REGAL_CALL glGlobalAlphaFactorusSUN(GLushort factor);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_SUN_GLOBAL_ALPHA\nREGAL_DECL void REGAL_CALL plugin_glGlobalAlphaFactorbSUN(GLbyte factor);\nREGAL_DECL void REGAL_CALL plugin_glGlobalAlphaFactordSUN(GLdouble factor);\nREGAL_DECL void REGAL_CALL plugin_glGlobalAlphaFactorfSUN(GLfloat factor);\nREGAL_DECL void REGAL_CALL plugin_glGlobalAlphaFactoriSUN(GLint factor);\nREGAL_DECL void REGAL_CALL plugin_glGlobalAlphaFactorsSUN(GLshort factor);\nREGAL_DECL void REGAL_CALL plugin_glGlobalAlphaFactorubSUN(GLubyte factor);\nREGAL_DECL void REGAL_CALL plugin_glGlobalAlphaFactoruiSUN(GLuint factor);\nREGAL_DECL void REGAL_CALL plugin_glGlobalAlphaFactorusSUN(GLushort factor);\n#endif\n\n/**\n ** GL_SUN_mesh_array\n **/\n\n#if (defined(GL_SUN_MESH_ARRAY) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SUN_MESH_ARRAY)) && !defined(REGAL_NO_ENUM_GL_SUN_MESH_ARRAY)\n#define REGAL_NO_ENUM_GL_SUN_MESH_ARRAY\n#endif\n\n#if (defined(GL_SUN_MESH_ARRAY) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SUN_MESH_ARRAY)) && !defined(REGAL_NO_TYPEDEF_GL_SUN_MESH_ARRAY)\n#define REGAL_NO_TYPEDEF_GL_SUN_MESH_ARRAY\n#endif\n\n#if (defined(GL_SUN_MESH_ARRAY) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SUN_MESH_ARRAY)) && !defined(REGAL_NO_NAMESPACE_GL_SUN_MESH_ARRAY)\n#define REGAL_NO_NAMESPACE_GL_SUN_MESH_ARRAY\n#endif\n\n#if (defined(GL_SUN_MESH_ARRAY) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SUN_MESH_ARRAY)) && !defined(REGAL_NO_PLUGIN_GL_SUN_MESH_ARRAY)\n#define REGAL_NO_PLUGIN_GL_SUN_MESH_ARRAY\n#endif\n\n#if (defined(GL_SUN_MESH_ARRAY) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SUN_MESH_ARRAY)) && !defined(REGAL_NO_DECLARATION_GL_SUN_MESH_ARRAY)\n#define REGAL_NO_DECLARATION_GL_SUN_MESH_ARRAY\n#endif\n\n#ifndef GL_SUN_mesh_array\n#define GL_SUN_mesh_array 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_SUN_MESH_ARRAY\n#define GL_QUAD_MESH_SUN     0x8614     /* 34324 */\n#define GL_TRIANGLE_MESH_SUN 0x8615     /* 34325 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_SUN_MESH_ARRAY\ntypedef void (REGAL_CALL *PFNGLDRAWMESHARRAYSSUNPROC)(GLenum mode, GLint first, GLsizei count, GLsizei width);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_SUN_MESH_ARRAY\n#define glDrawMeshArraysSUN                 rglDrawMeshArraysSUN\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_SUN_MESH_ARRAY\nREGAL_DECL void REGAL_CALL glDrawMeshArraysSUN(GLenum mode, GLint first, GLsizei count, GLsizei width);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_SUN_MESH_ARRAY\nREGAL_DECL void REGAL_CALL plugin_glDrawMeshArraysSUN(GLenum mode, GLint first, GLsizei count, GLsizei width);\n#endif\n\n/**\n ** GL_SUN_read_video_pixels\n **/\n\n#if (defined(GL_SUN_READ_VIDEO_PIXELS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SUN_READ_VIDEO_PIXELS)) && !defined(REGAL_NO_ENUM_GL_SUN_READ_VIDEO_PIXELS)\n#define REGAL_NO_ENUM_GL_SUN_READ_VIDEO_PIXELS\n#endif\n\n#if (defined(GL_SUN_READ_VIDEO_PIXELS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SUN_READ_VIDEO_PIXELS)) && !defined(REGAL_NO_TYPEDEF_GL_SUN_READ_VIDEO_PIXELS)\n#define REGAL_NO_TYPEDEF_GL_SUN_READ_VIDEO_PIXELS\n#endif\n\n#if (defined(GL_SUN_READ_VIDEO_PIXELS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SUN_READ_VIDEO_PIXELS)) && !defined(REGAL_NO_NAMESPACE_GL_SUN_READ_VIDEO_PIXELS)\n#define REGAL_NO_NAMESPACE_GL_SUN_READ_VIDEO_PIXELS\n#endif\n\n#if (defined(GL_SUN_READ_VIDEO_PIXELS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SUN_READ_VIDEO_PIXELS)) && !defined(REGAL_NO_PLUGIN_GL_SUN_READ_VIDEO_PIXELS)\n#define REGAL_NO_PLUGIN_GL_SUN_READ_VIDEO_PIXELS\n#endif\n\n#if (defined(GL_SUN_READ_VIDEO_PIXELS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SUN_READ_VIDEO_PIXELS)) && !defined(REGAL_NO_DECLARATION_GL_SUN_READ_VIDEO_PIXELS)\n#define REGAL_NO_DECLARATION_GL_SUN_READ_VIDEO_PIXELS\n#endif\n\n#ifndef GL_SUN_read_video_pixels\n#define GL_SUN_read_video_pixels 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_SUN_READ_VIDEO_PIXELS\ntypedef void (REGAL_CALL *PFNGLREADVIDEOPIXELSSUNPROC)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_SUN_READ_VIDEO_PIXELS\n#define glReadVideoPixelsSUN                rglReadVideoPixelsSUN\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_SUN_READ_VIDEO_PIXELS\nREGAL_DECL void REGAL_CALL glReadVideoPixelsSUN(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_SUN_READ_VIDEO_PIXELS\nREGAL_DECL void REGAL_CALL plugin_glReadVideoPixelsSUN(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels);\n#endif\n\n/**\n ** GL_SUN_slice_accum\n **/\n\n#if (defined(GL_SUN_SLICE_ACCUM) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SUN_SLICE_ACCUM)) && !defined(REGAL_NO_ENUM_GL_SUN_SLICE_ACCUM)\n#define REGAL_NO_ENUM_GL_SUN_SLICE_ACCUM\n#endif\n\n#if (defined(GL_SUN_SLICE_ACCUM) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SUN_SLICE_ACCUM)) && !defined(REGAL_NO_TYPEDEF_GL_SUN_SLICE_ACCUM)\n#define REGAL_NO_TYPEDEF_GL_SUN_SLICE_ACCUM\n#endif\n\n#if (defined(GL_SUN_SLICE_ACCUM) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SUN_SLICE_ACCUM)) && !defined(REGAL_NO_NAMESPACE_GL_SUN_SLICE_ACCUM)\n#define REGAL_NO_NAMESPACE_GL_SUN_SLICE_ACCUM\n#endif\n\n#if (defined(GL_SUN_SLICE_ACCUM) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SUN_SLICE_ACCUM)) && !defined(REGAL_NO_PLUGIN_GL_SUN_SLICE_ACCUM)\n#define REGAL_NO_PLUGIN_GL_SUN_SLICE_ACCUM\n#endif\n\n#if (defined(GL_SUN_SLICE_ACCUM) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SUN_SLICE_ACCUM)) && !defined(REGAL_NO_DECLARATION_GL_SUN_SLICE_ACCUM)\n#define REGAL_NO_DECLARATION_GL_SUN_SLICE_ACCUM\n#endif\n\n#ifndef GL_SUN_slice_accum\n#define GL_SUN_slice_accum 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_SUN_SLICE_ACCUM\n#define GL_SLICE_ACCUM_SUN 0x85cc /* 34252 */\n#endif\n\n/**\n ** GL_SUN_triangle_list\n **/\n\n#if (defined(GL_SUN_TRIANGLE_LIST) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SUN_TRIANGLE_LIST)) && !defined(REGAL_NO_ENUM_GL_SUN_TRIANGLE_LIST)\n#define REGAL_NO_ENUM_GL_SUN_TRIANGLE_LIST\n#endif\n\n#if (defined(GL_SUN_TRIANGLE_LIST) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SUN_TRIANGLE_LIST)) && !defined(REGAL_NO_TYPEDEF_GL_SUN_TRIANGLE_LIST)\n#define REGAL_NO_TYPEDEF_GL_SUN_TRIANGLE_LIST\n#endif\n\n#if (defined(GL_SUN_TRIANGLE_LIST) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SUN_TRIANGLE_LIST)) && !defined(REGAL_NO_NAMESPACE_GL_SUN_TRIANGLE_LIST)\n#define REGAL_NO_NAMESPACE_GL_SUN_TRIANGLE_LIST\n#endif\n\n#if (defined(GL_SUN_TRIANGLE_LIST) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SUN_TRIANGLE_LIST)) && !defined(REGAL_NO_PLUGIN_GL_SUN_TRIANGLE_LIST)\n#define REGAL_NO_PLUGIN_GL_SUN_TRIANGLE_LIST\n#endif\n\n#if (defined(GL_SUN_TRIANGLE_LIST) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SUN_TRIANGLE_LIST)) && !defined(REGAL_NO_DECLARATION_GL_SUN_TRIANGLE_LIST)\n#define REGAL_NO_DECLARATION_GL_SUN_TRIANGLE_LIST\n#endif\n\n#ifndef GL_SUN_triangle_list\n#define GL_SUN_triangle_list 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_SUN_TRIANGLE_LIST\n#define GL_RESTART_SUN                        0x1\n#define GL_REPLACE_MIDDLE_SUN                 0x2\n#define GL_REPLACE_OLDEST_SUN                 0x3\n#define GL_TRIANGLE_LIST_SUN                  0x81d7     /* 33239 */\n#define GL_REPLACEMENT_CODE_SUN               0x81d8     /* 33240 */\n#define GL_REPLACEMENT_CODE_ARRAY_SUN         0x85c0     /* 34240 */\n#define GL_REPLACEMENT_CODE_ARRAY_TYPE_SUN    0x85c1     /* 34241 */\n#define GL_REPLACEMENT_CODE_ARRAY_STRIDE_SUN  0x85c2     /* 34242 */\n#define GL_REPLACEMENT_CODE_ARRAY_POINTER_SUN 0x85c3     /* 34243 */\n#define GL_R1UI_V3F_SUN                       0x85c4     /* 34244 */\n#define GL_R1UI_C4UB_V3F_SUN                  0x85c5     /* 34245 */\n#define GL_R1UI_C3F_V3F_SUN                   0x85c6     /* 34246 */\n#define GL_R1UI_N3F_V3F_SUN                   0x85c7     /* 34247 */\n#define GL_R1UI_C4F_N3F_V3F_SUN               0x85c8     /* 34248 */\n#define GL_R1UI_T2F_V3F_SUN                   0x85c9     /* 34249 */\n#define GL_R1UI_T2F_N3F_V3F_SUN               0x85ca     /* 34250 */\n#define GL_R1UI_T2F_C4F_N3F_V3F_SUN           0x85cb     /* 34251 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_SUN_TRIANGLE_LIST\ntypedef void (REGAL_CALL *PFNGLREPLACEMENTCODEPOINTERSUNPROC)(GLenum type, GLsizei stride, const GLvoid **pointer);\ntypedef void (REGAL_CALL *PFNGLREPLACEMENTCODEUBSUNPROC)(GLubyte code);\ntypedef void (REGAL_CALL *PFNGLREPLACEMENTCODEUBVSUNPROC)(const GLubyte *code);\ntypedef void (REGAL_CALL *PFNGLREPLACEMENTCODEUISUNPROC)(GLuint code);\ntypedef void (REGAL_CALL *PFNGLREPLACEMENTCODEUIVSUNPROC)(const GLuint *code);\ntypedef void (REGAL_CALL *PFNGLREPLACEMENTCODEUSSUNPROC)(GLushort code);\ntypedef void (REGAL_CALL *PFNGLREPLACEMENTCODEUSVSUNPROC)(const GLushort *code);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_SUN_TRIANGLE_LIST\n#define glReplacementCodePointerSUN         rglReplacementCodePointerSUN\n#define glReplacementCodeubSUN              rglReplacementCodeubSUN\n#define glReplacementCodeubvSUN             rglReplacementCodeubvSUN\n#define glReplacementCodeuiSUN              rglReplacementCodeuiSUN\n#define glReplacementCodeuivSUN             rglReplacementCodeuivSUN\n#define glReplacementCodeusSUN              rglReplacementCodeusSUN\n#define glReplacementCodeusvSUN             rglReplacementCodeusvSUN\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_SUN_TRIANGLE_LIST\nREGAL_DECL void REGAL_CALL glReplacementCodePointerSUN(GLenum type, GLsizei stride, const GLvoid **pointer);\nREGAL_DECL void REGAL_CALL glReplacementCodeubSUN(GLubyte code);\nREGAL_DECL void REGAL_CALL glReplacementCodeubvSUN(const GLubyte *code);\nREGAL_DECL void REGAL_CALL glReplacementCodeuiSUN(GLuint code);\nREGAL_DECL void REGAL_CALL glReplacementCodeuivSUN(const GLuint *code);\nREGAL_DECL void REGAL_CALL glReplacementCodeusSUN(GLushort code);\nREGAL_DECL void REGAL_CALL glReplacementCodeusvSUN(const GLushort *code);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_SUN_TRIANGLE_LIST\nREGAL_DECL void REGAL_CALL plugin_glReplacementCodePointerSUN(GLenum type, GLsizei stride, const GLvoid **pointer);\nREGAL_DECL void REGAL_CALL plugin_glReplacementCodeubSUN(GLubyte code);\nREGAL_DECL void REGAL_CALL plugin_glReplacementCodeubvSUN(const GLubyte *code);\nREGAL_DECL void REGAL_CALL plugin_glReplacementCodeuiSUN(GLuint code);\nREGAL_DECL void REGAL_CALL plugin_glReplacementCodeuivSUN(const GLuint *code);\nREGAL_DECL void REGAL_CALL plugin_glReplacementCodeusSUN(GLushort code);\nREGAL_DECL void REGAL_CALL plugin_glReplacementCodeusvSUN(const GLushort *code);\n#endif\n\n/**\n ** GL_SUN_vertex\n **/\n\n#if (defined(GL_SUN_VERTEX) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_SUN_VERTEX)) && !defined(REGAL_NO_ENUM_GL_SUN_VERTEX)\n#define REGAL_NO_ENUM_GL_SUN_VERTEX\n#endif\n\n#if (defined(GL_SUN_VERTEX) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_SUN_VERTEX)) && !defined(REGAL_NO_TYPEDEF_GL_SUN_VERTEX)\n#define REGAL_NO_TYPEDEF_GL_SUN_VERTEX\n#endif\n\n#if (defined(GL_SUN_VERTEX) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_SUN_VERTEX)) && !defined(REGAL_NO_NAMESPACE_GL_SUN_VERTEX)\n#define REGAL_NO_NAMESPACE_GL_SUN_VERTEX\n#endif\n\n#if (defined(GL_SUN_VERTEX) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_SUN_VERTEX)) && !defined(REGAL_NO_PLUGIN_GL_SUN_VERTEX)\n#define REGAL_NO_PLUGIN_GL_SUN_VERTEX\n#endif\n\n#if (defined(GL_SUN_VERTEX) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_SUN_VERTEX)) && !defined(REGAL_NO_DECLARATION_GL_SUN_VERTEX)\n#define REGAL_NO_DECLARATION_GL_SUN_VERTEX\n#endif\n\n#ifndef GL_SUN_vertex\n#define GL_SUN_vertex 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_SUN_VERTEX\ntypedef void (REGAL_CALL *PFNGLCOLOR3FVERTEX3FSUNPROC)(GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z);\ntypedef void (REGAL_CALL *PFNGLCOLOR3FVERTEX3FVSUNPROC)(const GLfloat *c, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLCOLOR4FNORMAL3FVERTEX3FSUNPROC)(GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);\ntypedef void (REGAL_CALL *PFNGLCOLOR4FNORMAL3FVERTEX3FVSUNPROC)(const GLfloat *c, const GLfloat *n, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLCOLOR4UBVERTEX2FSUNPROC)(GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y);\ntypedef void (REGAL_CALL *PFNGLCOLOR4UBVERTEX2FVSUNPROC)(const GLubyte *c, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLCOLOR4UBVERTEX3FSUNPROC)(GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z);\ntypedef void (REGAL_CALL *PFNGLCOLOR4UBVERTEX3FVSUNPROC)(const GLubyte *c, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLNORMAL3FVERTEX3FSUNPROC)(GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);\ntypedef void (REGAL_CALL *PFNGLNORMAL3FVERTEX3FVSUNPROC)(const GLfloat *n, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FSUNPROC)(GLuint rc, GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z);\ntypedef void (REGAL_CALL *PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FVSUNPROC)(const GLuint *rc, const GLfloat *c, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FSUNPROC)(GLuint rc, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);\ntypedef void (REGAL_CALL *PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FVSUNPROC)(const GLuint *rc, const GLfloat *c, const GLfloat *n, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FSUNPROC)(GLuint rc, GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z);\ntypedef void (REGAL_CALL *PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FVSUNPROC)(const GLuint *rc, const GLubyte *c, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FSUNPROC)(GLuint rc, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);\ntypedef void (REGAL_CALL *PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FVSUNPROC)(const GLuint *rc, const GLfloat *n, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC)(GLuint rc, GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);\ntypedef void (REGAL_CALL *PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC)(const GLuint *rc, const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FSUNPROC)(GLuint rc, GLfloat s, GLfloat t, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);\ntypedef void (REGAL_CALL *PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FVSUNPROC)(const GLuint *rc, const GLfloat *tc, const GLfloat *n, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FSUNPROC)(GLuint rc, GLfloat s, GLfloat t, GLfloat x, GLfloat y, GLfloat z);\ntypedef void (REGAL_CALL *PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FVSUNPROC)(const GLuint *rc, const GLfloat *tc, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLREPLACEMENTCODEUIVERTEX3FSUNPROC)(GLuint rc, GLfloat x, GLfloat y, GLfloat z);\ntypedef void (REGAL_CALL *PFNGLREPLACEMENTCODEUIVERTEX3FVSUNPROC)(const GLuint *rc, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD2FCOLOR3FVERTEX3FSUNPROC)(GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD2FCOLOR3FVERTEX3FVSUNPROC)(const GLfloat *tc, const GLfloat *c, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC)(GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC)(const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD2FCOLOR4UBVERTEX3FSUNPROC)(GLfloat s, GLfloat t, GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD2FCOLOR4UBVERTEX3FVSUNPROC)(const GLfloat *tc, const GLubyte *c, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD2FNORMAL3FVERTEX3FSUNPROC)(GLfloat s, GLfloat t, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD2FNORMAL3FVERTEX3FVSUNPROC)(const GLfloat *tc, const GLfloat *n, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD2FVERTEX3FSUNPROC)(GLfloat s, GLfloat t, GLfloat x, GLfloat y, GLfloat z);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD2FVERTEX3FVSUNPROC)(const GLfloat *tc, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FSUNPROC)(GLfloat s, GLfloat t, GLfloat p, GLfloat q, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FVSUNPROC)(const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD4FVERTEX4FSUNPROC)(GLfloat s, GLfloat t, GLfloat p, GLfloat q, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD4FVERTEX4FVSUNPROC)(const GLfloat *tc, const GLfloat *v);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_SUN_VERTEX\n#define glColor3fVertex3fSUN                rglColor3fVertex3fSUN\n#define glColor3fVertex3fvSUN               rglColor3fVertex3fvSUN\n#define glColor4fNormal3fVertex3fSUN        rglColor4fNormal3fVertex3fSUN\n#define glColor4fNormal3fVertex3fvSUN       rglColor4fNormal3fVertex3fvSUN\n#define glColor4ubVertex2fSUN               rglColor4ubVertex2fSUN\n#define glColor4ubVertex2fvSUN              rglColor4ubVertex2fvSUN\n#define glColor4ubVertex3fSUN               rglColor4ubVertex3fSUN\n#define glColor4ubVertex3fvSUN              rglColor4ubVertex3fvSUN\n#define glNormal3fVertex3fSUN               rglNormal3fVertex3fSUN\n#define glNormal3fVertex3fvSUN              rglNormal3fVertex3fvSUN\n#define glReplacementCodeuiColor3fVertex3fSUN rglReplacementCodeuiColor3fVertex3fSUN\n#define glReplacementCodeuiColor3fVertex3fvSUN rglReplacementCodeuiColor3fVertex3fvSUN\n#define glReplacementCodeuiColor4fNormal3fVertex3fSUN rglReplacementCodeuiColor4fNormal3fVertex3fSUN\n#define glReplacementCodeuiColor4fNormal3fVertex3fvSUN rglReplacementCodeuiColor4fNormal3fVertex3fvSUN\n#define glReplacementCodeuiColor4ubVertex3fSUN rglReplacementCodeuiColor4ubVertex3fSUN\n#define glReplacementCodeuiColor4ubVertex3fvSUN rglReplacementCodeuiColor4ubVertex3fvSUN\n#define glReplacementCodeuiNormal3fVertex3fSUN rglReplacementCodeuiNormal3fVertex3fSUN\n#define glReplacementCodeuiNormal3fVertex3fvSUN rglReplacementCodeuiNormal3fVertex3fvSUN\n#define glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN rglReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN\n#define glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN rglReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN\n#define glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN rglReplacementCodeuiTexCoord2fNormal3fVertex3fSUN\n#define glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN rglReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN\n#define glReplacementCodeuiTexCoord2fVertex3fSUN rglReplacementCodeuiTexCoord2fVertex3fSUN\n#define glReplacementCodeuiTexCoord2fVertex3fvSUN rglReplacementCodeuiTexCoord2fVertex3fvSUN\n#define glReplacementCodeuiVertex3fSUN      rglReplacementCodeuiVertex3fSUN\n#define glReplacementCodeuiVertex3fvSUN     rglReplacementCodeuiVertex3fvSUN\n#define glTexCoord2fColor3fVertex3fSUN      rglTexCoord2fColor3fVertex3fSUN\n#define glTexCoord2fColor3fVertex3fvSUN     rglTexCoord2fColor3fVertex3fvSUN\n#define glTexCoord2fColor4fNormal3fVertex3fSUN rglTexCoord2fColor4fNormal3fVertex3fSUN\n#define glTexCoord2fColor4fNormal3fVertex3fvSUN rglTexCoord2fColor4fNormal3fVertex3fvSUN\n#define glTexCoord2fColor4ubVertex3fSUN     rglTexCoord2fColor4ubVertex3fSUN\n#define glTexCoord2fColor4ubVertex3fvSUN    rglTexCoord2fColor4ubVertex3fvSUN\n#define glTexCoord2fNormal3fVertex3fSUN     rglTexCoord2fNormal3fVertex3fSUN\n#define glTexCoord2fNormal3fVertex3fvSUN    rglTexCoord2fNormal3fVertex3fvSUN\n#define glTexCoord2fVertex3fSUN             rglTexCoord2fVertex3fSUN\n#define glTexCoord2fVertex3fvSUN            rglTexCoord2fVertex3fvSUN\n#define glTexCoord4fColor4fNormal3fVertex4fSUN rglTexCoord4fColor4fNormal3fVertex4fSUN\n#define glTexCoord4fColor4fNormal3fVertex4fvSUN rglTexCoord4fColor4fNormal3fVertex4fvSUN\n#define glTexCoord4fVertex4fSUN             rglTexCoord4fVertex4fSUN\n#define glTexCoord4fVertex4fvSUN            rglTexCoord4fVertex4fvSUN\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_SUN_VERTEX\nREGAL_DECL void REGAL_CALL glColor3fVertex3fSUN(GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL glColor3fVertex3fvSUN(const GLfloat *c, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glColor4fNormal3fVertex3fSUN(GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL glColor4fNormal3fVertex3fvSUN(const GLfloat *c, const GLfloat *n, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glColor4ubVertex2fSUN(GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y);\nREGAL_DECL void REGAL_CALL glColor4ubVertex2fvSUN(const GLubyte *c, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glColor4ubVertex3fSUN(GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL glColor4ubVertex3fvSUN(const GLubyte *c, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glNormal3fVertex3fSUN(GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL glNormal3fVertex3fvSUN(const GLfloat *n, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glReplacementCodeuiColor3fVertex3fSUN(GLuint rc, GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL glReplacementCodeuiColor3fVertex3fvSUN(const GLuint *rc, const GLfloat *c, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glReplacementCodeuiColor4fNormal3fVertex3fSUN(GLuint rc, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL glReplacementCodeuiColor4fNormal3fVertex3fvSUN(const GLuint *rc, const GLfloat *c, const GLfloat *n, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glReplacementCodeuiColor4ubVertex3fSUN(GLuint rc, GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL glReplacementCodeuiColor4ubVertex3fvSUN(const GLuint *rc, const GLubyte *c, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glReplacementCodeuiNormal3fVertex3fSUN(GLuint rc, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL glReplacementCodeuiNormal3fVertex3fvSUN(const GLuint *rc, const GLfloat *n, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN(GLuint rc, GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(const GLuint *rc, const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN(GLuint rc, GLfloat s, GLfloat t, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(const GLuint *rc, const GLfloat *tc, const GLfloat *n, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glReplacementCodeuiTexCoord2fVertex3fSUN(GLuint rc, GLfloat s, GLfloat t, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL glReplacementCodeuiTexCoord2fVertex3fvSUN(const GLuint *rc, const GLfloat *tc, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glReplacementCodeuiVertex3fSUN(GLuint rc, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL glReplacementCodeuiVertex3fvSUN(const GLuint *rc, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glTexCoord2fColor3fVertex3fSUN(GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL glTexCoord2fColor3fVertex3fvSUN(const GLfloat *tc, const GLfloat *c, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glTexCoord2fColor4fNormal3fVertex3fSUN(GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL glTexCoord2fColor4fNormal3fVertex3fvSUN(const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glTexCoord2fColor4ubVertex3fSUN(GLfloat s, GLfloat t, GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL glTexCoord2fColor4ubVertex3fvSUN(const GLfloat *tc, const GLubyte *c, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glTexCoord2fNormal3fVertex3fSUN(GLfloat s, GLfloat t, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL glTexCoord2fNormal3fVertex3fvSUN(const GLfloat *tc, const GLfloat *n, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glTexCoord2fVertex3fSUN(GLfloat s, GLfloat t, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL glTexCoord2fVertex3fvSUN(const GLfloat *tc, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glTexCoord4fColor4fNormal3fVertex4fSUN(GLfloat s, GLfloat t, GLfloat p, GLfloat q, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nREGAL_DECL void REGAL_CALL glTexCoord4fColor4fNormal3fVertex4fvSUN(const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glTexCoord4fVertex4fSUN(GLfloat s, GLfloat t, GLfloat p, GLfloat q, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nREGAL_DECL void REGAL_CALL glTexCoord4fVertex4fvSUN(const GLfloat *tc, const GLfloat *v);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_SUN_VERTEX\nREGAL_DECL void REGAL_CALL plugin_glColor3fVertex3fSUN(GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL plugin_glColor3fVertex3fvSUN(const GLfloat *c, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glColor4fNormal3fVertex3fSUN(GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL plugin_glColor4fNormal3fVertex3fvSUN(const GLfloat *c, const GLfloat *n, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glColor4ubVertex2fSUN(GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y);\nREGAL_DECL void REGAL_CALL plugin_glColor4ubVertex2fvSUN(const GLubyte *c, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glColor4ubVertex3fSUN(GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL plugin_glColor4ubVertex3fvSUN(const GLubyte *c, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glNormal3fVertex3fSUN(GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL plugin_glNormal3fVertex3fvSUN(const GLfloat *n, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glReplacementCodeuiColor3fVertex3fSUN(GLuint rc, GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL plugin_glReplacementCodeuiColor3fVertex3fvSUN(const GLuint *rc, const GLfloat *c, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glReplacementCodeuiColor4fNormal3fVertex3fSUN(GLuint rc, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL plugin_glReplacementCodeuiColor4fNormal3fVertex3fvSUN(const GLuint *rc, const GLfloat *c, const GLfloat *n, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glReplacementCodeuiColor4ubVertex3fSUN(GLuint rc, GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL plugin_glReplacementCodeuiColor4ubVertex3fvSUN(const GLuint *rc, const GLubyte *c, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glReplacementCodeuiNormal3fVertex3fSUN(GLuint rc, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL plugin_glReplacementCodeuiNormal3fVertex3fvSUN(const GLuint *rc, const GLfloat *n, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN(GLuint rc, GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL plugin_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(const GLuint *rc, const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN(GLuint rc, GLfloat s, GLfloat t, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL plugin_glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(const GLuint *rc, const GLfloat *tc, const GLfloat *n, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glReplacementCodeuiTexCoord2fVertex3fSUN(GLuint rc, GLfloat s, GLfloat t, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL plugin_glReplacementCodeuiTexCoord2fVertex3fvSUN(const GLuint *rc, const GLfloat *tc, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glReplacementCodeuiVertex3fSUN(GLuint rc, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL plugin_glReplacementCodeuiVertex3fvSUN(const GLuint *rc, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord2fColor3fVertex3fSUN(GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord2fColor3fVertex3fvSUN(const GLfloat *tc, const GLfloat *c, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord2fColor4fNormal3fVertex3fSUN(GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord2fColor4fNormal3fVertex3fvSUN(const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord2fColor4ubVertex3fSUN(GLfloat s, GLfloat t, GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord2fColor4ubVertex3fvSUN(const GLfloat *tc, const GLubyte *c, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord2fNormal3fVertex3fSUN(GLfloat s, GLfloat t, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord2fNormal3fVertex3fvSUN(const GLfloat *tc, const GLfloat *n, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord2fVertex3fSUN(GLfloat s, GLfloat t, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord2fVertex3fvSUN(const GLfloat *tc, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord4fColor4fNormal3fVertex4fSUN(GLfloat s, GLfloat t, GLfloat p, GLfloat q, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord4fColor4fNormal3fVertex4fvSUN(const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord4fVertex4fSUN(GLfloat s, GLfloat t, GLfloat p, GLfloat q, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord4fVertex4fvSUN(const GLfloat *tc, const GLfloat *v);\n#endif\n\n/**\n ** GL_VERSION_1_0\n **/\n\n#if (defined(GL_VERSION_1_0) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_VERSION_1_0)) && !defined(REGAL_NO_ENUM_GL_VERSION_1_0)\n#define REGAL_NO_ENUM_GL_VERSION_1_0\n#endif\n\n#if (defined(GL_VERSION_1_0) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_VERSION_1_0)) && !defined(REGAL_NO_TYPEDEF_GL_VERSION_1_0)\n#define REGAL_NO_TYPEDEF_GL_VERSION_1_0\n#endif\n\n#if (defined(GL_VERSION_1_0) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_VERSION_1_0)) && !defined(REGAL_NO_NAMESPACE_GL_VERSION_1_0)\n#define REGAL_NO_NAMESPACE_GL_VERSION_1_0\n#endif\n\n#if (defined(GL_VERSION_1_0) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_VERSION_1_0)) && !defined(REGAL_NO_PLUGIN_GL_VERSION_1_0)\n#define REGAL_NO_PLUGIN_GL_VERSION_1_0\n#endif\n\n#if (defined(GL_VERSION_1_0) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_VERSION_1_0)) && !defined(REGAL_NO_DECLARATION_GL_VERSION_1_0)\n#define REGAL_NO_DECLARATION_GL_VERSION_1_0\n#endif\n\n#ifndef GL_VERSION_1_0\n#define GL_VERSION_1_0 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_VERSION_1_0\ntypedef GLboolean (REGAL_CALL *PFNGLISENABLEDPROC)(GLenum cap);\ntypedef GLboolean (REGAL_CALL *PFNGLISLISTPROC)(GLuint list);\ntypedef GLenum (REGAL_CALL *PFNGLGETERRORPROC)(void);\ntypedef GLint (REGAL_CALL *PFNGLRENDERMODEPROC)(GLenum mode);\ntypedef GLuint (REGAL_CALL *PFNGLGENLISTSPROC)(GLsizei range);\ntypedef const GLubyte *(REGAL_CALL *PFNGLGETSTRINGPROC)(GLenum name);\ntypedef void (REGAL_CALL *PFNGLACCUMPROC)(GLenum op, GLfloat value);\ntypedef void (REGAL_CALL *PFNGLALPHAFUNCPROC)(GLenum func, GLclampf ref);\ntypedef void (REGAL_CALL *PFNGLBEGINPROC)(GLenum mode);\ntypedef void (REGAL_CALL *PFNGLBITMAPPROC)(GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap);\ntypedef void (REGAL_CALL *PFNGLBLENDFUNCPROC)(GLenum sfactor, GLenum dfactor);\ntypedef void (REGAL_CALL *PFNGLCALLLISTPROC)(GLuint list);\ntypedef void (REGAL_CALL *PFNGLCALLLISTSPROC)(GLsizei n, GLenum type, const GLvoid *lists);\ntypedef void (REGAL_CALL *PFNGLCLEARACCUMPROC)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);\ntypedef void (REGAL_CALL *PFNGLCLEARCOLORPROC)(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);\ntypedef void (REGAL_CALL *PFNGLCLEARDEPTHPROC)(GLclampd depth);\ntypedef void (REGAL_CALL *PFNGLCLEARINDEXPROC)(GLfloat c);\ntypedef void (REGAL_CALL *PFNGLCLEARPROC)(GLbitfield mask);\ntypedef void (REGAL_CALL *PFNGLCLEARSTENCILPROC)(GLint s);\ntypedef void (REGAL_CALL *PFNGLCLIPPLANEPROC)(GLenum plane, const GLdouble *equation);\ntypedef void (REGAL_CALL *PFNGLCOLOR3BPROC)(GLbyte red, GLbyte green, GLbyte blue);\ntypedef void (REGAL_CALL *PFNGLCOLOR3BVPROC)(const GLbyte *v);\ntypedef void (REGAL_CALL *PFNGLCOLOR3DPROC)(GLdouble red, GLdouble green, GLdouble blue);\ntypedef void (REGAL_CALL *PFNGLCOLOR3DVPROC)(const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLCOLOR3FPROC)(GLfloat red, GLfloat green, GLfloat blue);\ntypedef void (REGAL_CALL *PFNGLCOLOR3FVPROC)(const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLCOLOR3IPROC)(GLint red, GLint green, GLint blue);\ntypedef void (REGAL_CALL *PFNGLCOLOR3IVPROC)(const GLint *v);\ntypedef void (REGAL_CALL *PFNGLCOLOR3SPROC)(GLshort red, GLshort green, GLshort blue);\ntypedef void (REGAL_CALL *PFNGLCOLOR3SVPROC)(const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLCOLOR3UBPROC)(GLubyte red, GLubyte green, GLubyte blue);\ntypedef void (REGAL_CALL *PFNGLCOLOR3UBVPROC)(const GLubyte *v);\ntypedef void (REGAL_CALL *PFNGLCOLOR3UIPROC)(GLuint red, GLuint green, GLuint blue);\ntypedef void (REGAL_CALL *PFNGLCOLOR3UIVPROC)(const GLuint *v);\ntypedef void (REGAL_CALL *PFNGLCOLOR3USPROC)(GLushort red, GLushort green, GLushort blue);\ntypedef void (REGAL_CALL *PFNGLCOLOR3USVPROC)(const GLushort *v);\ntypedef void (REGAL_CALL *PFNGLCOLOR4BPROC)(GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha);\ntypedef void (REGAL_CALL *PFNGLCOLOR4BVPROC)(const GLbyte *v);\ntypedef void (REGAL_CALL *PFNGLCOLOR4DPROC)(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha);\ntypedef void (REGAL_CALL *PFNGLCOLOR4DVPROC)(const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLCOLOR4FPROC)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);\ntypedef void (REGAL_CALL *PFNGLCOLOR4FVPROC)(const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLCOLOR4IPROC)(GLint red, GLint green, GLint blue, GLint alpha);\ntypedef void (REGAL_CALL *PFNGLCOLOR4IVPROC)(const GLint *v);\ntypedef void (REGAL_CALL *PFNGLCOLOR4SPROC)(GLshort red, GLshort green, GLshort blue, GLshort alpha);\ntypedef void (REGAL_CALL *PFNGLCOLOR4SVPROC)(const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLCOLOR4UBPROC)(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha);\ntypedef void (REGAL_CALL *PFNGLCOLOR4UBVPROC)(const GLubyte *v);\ntypedef void (REGAL_CALL *PFNGLCOLOR4UIPROC)(GLuint red, GLuint green, GLuint blue, GLuint alpha);\ntypedef void (REGAL_CALL *PFNGLCOLOR4UIVPROC)(const GLuint *v);\ntypedef void (REGAL_CALL *PFNGLCOLOR4USPROC)(GLushort red, GLushort green, GLushort blue, GLushort alpha);\ntypedef void (REGAL_CALL *PFNGLCOLOR4USVPROC)(const GLushort *v);\ntypedef void (REGAL_CALL *PFNGLCOLORMASKPROC)(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);\ntypedef void (REGAL_CALL *PFNGLCOLORMATERIALPROC)(GLenum face, GLenum mode);\ntypedef void (REGAL_CALL *PFNGLCOPYPIXELSPROC)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum type);\ntypedef void (REGAL_CALL *PFNGLCULLFACEPROC)(GLenum mode);\ntypedef void (REGAL_CALL *PFNGLDELETELISTSPROC)(GLuint list, GLsizei range);\ntypedef void (REGAL_CALL *PFNGLDEPTHFUNCPROC)(GLenum func);\ntypedef void (REGAL_CALL *PFNGLDEPTHMASKPROC)(GLboolean flag);\ntypedef void (REGAL_CALL *PFNGLDEPTHRANGEPROC)(GLclampd zNear, GLclampd zFar);\ntypedef void (REGAL_CALL *PFNGLDISABLEPROC)(GLenum cap);\ntypedef void (REGAL_CALL *PFNGLDRAWBUFFERPROC)(GLenum mode);\ntypedef void (REGAL_CALL *PFNGLDRAWPIXELSPROC)(GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);\ntypedef void (REGAL_CALL *PFNGLEDGEFLAGPROC)(GLboolean flag);\ntypedef void (REGAL_CALL *PFNGLEDGEFLAGVPROC)(const GLboolean *flag);\ntypedef void (REGAL_CALL *PFNGLENABLEPROC)(GLenum cap);\ntypedef void (REGAL_CALL *PFNGLENDLISTPROC)(void);\ntypedef void (REGAL_CALL *PFNGLENDPROC)(void);\ntypedef void (REGAL_CALL *PFNGLEVALCOORD1DPROC)(GLdouble u);\ntypedef void (REGAL_CALL *PFNGLEVALCOORD1DVPROC)(const GLdouble *u);\ntypedef void (REGAL_CALL *PFNGLEVALCOORD1FPROC)(GLfloat u);\ntypedef void (REGAL_CALL *PFNGLEVALCOORD1FVPROC)(const GLfloat *u);\ntypedef void (REGAL_CALL *PFNGLEVALCOORD2DPROC)(GLdouble u, GLdouble v);\ntypedef void (REGAL_CALL *PFNGLEVALCOORD2DVPROC)(const GLdouble *u);\ntypedef void (REGAL_CALL *PFNGLEVALCOORD2FPROC)(GLfloat u, GLfloat v);\ntypedef void (REGAL_CALL *PFNGLEVALCOORD2FVPROC)(const GLfloat *u);\ntypedef void (REGAL_CALL *PFNGLEVALMESH1PROC)(GLenum mode, GLint i1, GLint i2);\ntypedef void (REGAL_CALL *PFNGLEVALMESH2PROC)(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2);\ntypedef void (REGAL_CALL *PFNGLEVALPOINT1PROC)(GLint i);\ntypedef void (REGAL_CALL *PFNGLEVALPOINT2PROC)(GLint i, GLint j);\ntypedef void (REGAL_CALL *PFNGLFEEDBACKBUFFERPROC)(GLsizei size, GLenum type, GLfloat *buffer);\ntypedef void (REGAL_CALL *PFNGLFINISHPROC)(void);\ntypedef void (REGAL_CALL *PFNGLFLUSHPROC)(void);\ntypedef void (REGAL_CALL *PFNGLFOGFPROC)(GLenum pname, GLfloat param);\ntypedef void (REGAL_CALL *PFNGLFOGFVPROC)(GLenum pname, const GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLFOGIPROC)(GLenum pname, GLint param);\ntypedef void (REGAL_CALL *PFNGLFOGIVPROC)(GLenum pname, const GLint *params);\ntypedef void (REGAL_CALL *PFNGLFRONTFACEPROC)(GLenum mode);\ntypedef void (REGAL_CALL *PFNGLFRUSTUMPROC)(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);\ntypedef void (REGAL_CALL *PFNGLGETBOOLEANVPROC)(GLenum pname, GLboolean *params);\ntypedef void (REGAL_CALL *PFNGLGETCLIPPLANEPROC)(GLenum plane, GLdouble *equation);\ntypedef void (REGAL_CALL *PFNGLGETDOUBLEVPROC)(GLenum pname, GLdouble *params);\ntypedef void (REGAL_CALL *PFNGLGETFLOATVPROC)(GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETINTEGERVPROC)(GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETLIGHTFVPROC)(GLenum light, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETLIGHTIVPROC)(GLenum light, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETMAPDVPROC)(GLenum target, GLenum query, GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLGETMAPFVPROC)(GLenum target, GLenum query, GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLGETMAPIVPROC)(GLenum target, GLenum query, GLint *v);\ntypedef void (REGAL_CALL *PFNGLGETMATERIALFVPROC)(GLenum face, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETMATERIALIVPROC)(GLenum face, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETPIXELMAPFVPROC)(GLenum map, GLfloat *values);\ntypedef void (REGAL_CALL *PFNGLGETPIXELMAPUIVPROC)(GLenum map, GLuint *values);\ntypedef void (REGAL_CALL *PFNGLGETPIXELMAPUSVPROC)(GLenum map, GLushort *values);\ntypedef void (REGAL_CALL *PFNGLGETPOLYGONSTIPPLEPROC)(GLubyte *mask);\ntypedef void (REGAL_CALL *PFNGLGETTEXENVFVPROC)(GLenum target, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETTEXENVIVPROC)(GLenum target, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETTEXGENDVPROC)(GLenum coord, GLenum pname, GLdouble *params);\ntypedef void (REGAL_CALL *PFNGLGETTEXGENFVPROC)(GLenum coord, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETTEXGENIVPROC)(GLenum coord, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETTEXIMAGEPROC)(GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels);\ntypedef void (REGAL_CALL *PFNGLGETTEXLEVELPARAMETERFVPROC)(GLenum target, GLint level, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETTEXLEVELPARAMETERIVPROC)(GLenum target, GLint level, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETTEXPARAMETERFVPROC)(GLenum target, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETTEXPARAMETERIVPROC)(GLenum target, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLHINTPROC)(GLenum target, GLenum mode);\ntypedef void (REGAL_CALL *PFNGLINDEXDPROC)(GLdouble c);\ntypedef void (REGAL_CALL *PFNGLINDEXDVPROC)(const GLdouble *c);\ntypedef void (REGAL_CALL *PFNGLINDEXFPROC)(GLfloat c);\ntypedef void (REGAL_CALL *PFNGLINDEXFVPROC)(const GLfloat *c);\ntypedef void (REGAL_CALL *PFNGLINDEXIPROC)(GLint c);\ntypedef void (REGAL_CALL *PFNGLINDEXIVPROC)(const GLint *c);\ntypedef void (REGAL_CALL *PFNGLINDEXMASKPROC)(GLuint mask);\ntypedef void (REGAL_CALL *PFNGLINDEXSPROC)(GLshort c);\ntypedef void (REGAL_CALL *PFNGLINDEXSVPROC)(const GLshort *c);\ntypedef void (REGAL_CALL *PFNGLINITNAMESPROC)(void);\ntypedef void (REGAL_CALL *PFNGLLIGHTFPROC)(GLenum light, GLenum pname, GLfloat param);\ntypedef void (REGAL_CALL *PFNGLLIGHTFVPROC)(GLenum light, GLenum pname, const GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLLIGHTIPROC)(GLenum light, GLenum pname, GLint param);\ntypedef void (REGAL_CALL *PFNGLLIGHTIVPROC)(GLenum light, GLenum pname, const GLint *params);\ntypedef void (REGAL_CALL *PFNGLLIGHTMODELFPROC)(GLenum pname, GLfloat param);\ntypedef void (REGAL_CALL *PFNGLLIGHTMODELFVPROC)(GLenum pname, const GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLLIGHTMODELIPROC)(GLenum pname, GLint param);\ntypedef void (REGAL_CALL *PFNGLLIGHTMODELIVPROC)(GLenum pname, const GLint *params);\ntypedef void (REGAL_CALL *PFNGLLINESTIPPLEPROC)(GLint factor, GLushort pattern);\ntypedef void (REGAL_CALL *PFNGLLINEWIDTHPROC)(GLfloat width);\ntypedef void (REGAL_CALL *PFNGLLISTBASEPROC)(GLuint base);\ntypedef void (REGAL_CALL *PFNGLLOADIDENTITYPROC)(void);\ntypedef void (REGAL_CALL *PFNGLLOADMATRIXDPROC)(const GLdouble *m);\ntypedef void (REGAL_CALL *PFNGLLOADMATRIXFPROC)(const GLfloat *m);\ntypedef void (REGAL_CALL *PFNGLLOADNAMEPROC)(GLuint name);\ntypedef void (REGAL_CALL *PFNGLLOGICOPPROC)(GLenum opcode);\ntypedef void (REGAL_CALL *PFNGLMAP1DPROC)(GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points);\ntypedef void (REGAL_CALL *PFNGLMAP1FPROC)(GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points);\ntypedef void (REGAL_CALL *PFNGLMAP2DPROC)(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points);\ntypedef void (REGAL_CALL *PFNGLMAP2FPROC)(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points);\ntypedef void (REGAL_CALL *PFNGLMAPGRID1DPROC)(GLint un, GLdouble u1, GLdouble u2);\ntypedef void (REGAL_CALL *PFNGLMAPGRID1FPROC)(GLint un, GLfloat u1, GLfloat u2);\ntypedef void (REGAL_CALL *PFNGLMAPGRID2DPROC)(GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2);\ntypedef void (REGAL_CALL *PFNGLMAPGRID2FPROC)(GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2);\ntypedef void (REGAL_CALL *PFNGLMATERIALFPROC)(GLenum face, GLenum pname, GLfloat param);\ntypedef void (REGAL_CALL *PFNGLMATERIALFVPROC)(GLenum face, GLenum pname, const GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLMATERIALIPROC)(GLenum face, GLenum pname, GLint param);\ntypedef void (REGAL_CALL *PFNGLMATERIALIVPROC)(GLenum face, GLenum pname, const GLint *params);\ntypedef void (REGAL_CALL *PFNGLMATRIXMODEPROC)(GLenum mode);\ntypedef void (REGAL_CALL *PFNGLMULTMATRIXDPROC)(const GLdouble *m);\ntypedef void (REGAL_CALL *PFNGLMULTMATRIXFPROC)(const GLfloat *m);\ntypedef void (REGAL_CALL *PFNGLNEWLISTPROC)(GLuint list, GLenum mode);\ntypedef void (REGAL_CALL *PFNGLNORMAL3BPROC)(GLbyte nx, GLbyte ny, GLbyte nz);\ntypedef void (REGAL_CALL *PFNGLNORMAL3BVPROC)(const GLbyte *v);\ntypedef void (REGAL_CALL *PFNGLNORMAL3DPROC)(GLdouble nx, GLdouble ny, GLdouble nz);\ntypedef void (REGAL_CALL *PFNGLNORMAL3DVPROC)(const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLNORMAL3FPROC)(GLfloat nx, GLfloat ny, GLfloat nz);\ntypedef void (REGAL_CALL *PFNGLNORMAL3FVPROC)(const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLNORMAL3IPROC)(GLint nx, GLint ny, GLint nz);\ntypedef void (REGAL_CALL *PFNGLNORMAL3IVPROC)(const GLint *v);\ntypedef void (REGAL_CALL *PFNGLNORMAL3SPROC)(GLshort nx, GLshort ny, GLshort nz);\ntypedef void (REGAL_CALL *PFNGLNORMAL3SVPROC)(const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLORTHOPROC)(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);\ntypedef void (REGAL_CALL *PFNGLPASSTHROUGHPROC)(GLfloat token);\ntypedef void (REGAL_CALL *PFNGLPIXELMAPFVPROC)(GLenum map, GLsizei mapsize, const GLfloat *values);\ntypedef void (REGAL_CALL *PFNGLPIXELMAPUIVPROC)(GLenum map, GLsizei mapsize, const GLuint *values);\ntypedef void (REGAL_CALL *PFNGLPIXELMAPUSVPROC)(GLenum map, GLsizei mapsize, const GLushort *values);\ntypedef void (REGAL_CALL *PFNGLPIXELSTOREFPROC)(GLenum pname, GLfloat param);\ntypedef void (REGAL_CALL *PFNGLPIXELSTOREIPROC)(GLenum pname, GLint param);\ntypedef void (REGAL_CALL *PFNGLPIXELTRANSFERFPROC)(GLenum pname, GLfloat param);\ntypedef void (REGAL_CALL *PFNGLPIXELTRANSFERIPROC)(GLenum pname, GLint param);\ntypedef void (REGAL_CALL *PFNGLPIXELZOOMPROC)(GLfloat xfactor, GLfloat yfactor);\ntypedef void (REGAL_CALL *PFNGLPOINTSIZEPROC)(GLfloat size);\ntypedef void (REGAL_CALL *PFNGLPOLYGONMODEPROC)(GLenum face, GLenum mode);\ntypedef void (REGAL_CALL *PFNGLPOLYGONSTIPPLEPROC)(const GLubyte *mask);\ntypedef void (REGAL_CALL *PFNGLPOPATTRIBPROC)(void);\ntypedef void (REGAL_CALL *PFNGLPOPMATRIXPROC)(void);\ntypedef void (REGAL_CALL *PFNGLPOPNAMEPROC)(void);\ntypedef void (REGAL_CALL *PFNGLPUSHATTRIBPROC)(GLbitfield mask);\ntypedef void (REGAL_CALL *PFNGLPUSHMATRIXPROC)(void);\ntypedef void (REGAL_CALL *PFNGLPUSHNAMEPROC)(GLuint name);\ntypedef void (REGAL_CALL *PFNGLRASTERPOS2DPROC)(GLdouble x, GLdouble y);\ntypedef void (REGAL_CALL *PFNGLRASTERPOS2DVPROC)(const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLRASTERPOS2FPROC)(GLfloat x, GLfloat y);\ntypedef void (REGAL_CALL *PFNGLRASTERPOS2FVPROC)(const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLRASTERPOS2IPROC)(GLint x, GLint y);\ntypedef void (REGAL_CALL *PFNGLRASTERPOS2IVPROC)(const GLint *v);\ntypedef void (REGAL_CALL *PFNGLRASTERPOS2SPROC)(GLshort x, GLshort y);\ntypedef void (REGAL_CALL *PFNGLRASTERPOS2SVPROC)(const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLRASTERPOS3DPROC)(GLdouble x, GLdouble y, GLdouble z);\ntypedef void (REGAL_CALL *PFNGLRASTERPOS3DVPROC)(const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLRASTERPOS3FPROC)(GLfloat x, GLfloat y, GLfloat z);\ntypedef void (REGAL_CALL *PFNGLRASTERPOS3FVPROC)(const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLRASTERPOS3IPROC)(GLint x, GLint y, GLint z);\ntypedef void (REGAL_CALL *PFNGLRASTERPOS3IVPROC)(const GLint *v);\ntypedef void (REGAL_CALL *PFNGLRASTERPOS3SPROC)(GLshort x, GLshort y, GLshort z);\ntypedef void (REGAL_CALL *PFNGLRASTERPOS3SVPROC)(const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLRASTERPOS4DPROC)(GLdouble x, GLdouble y, GLdouble z, GLdouble w);\ntypedef void (REGAL_CALL *PFNGLRASTERPOS4DVPROC)(const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLRASTERPOS4FPROC)(GLfloat x, GLfloat y, GLfloat z, GLfloat w);\ntypedef void (REGAL_CALL *PFNGLRASTERPOS4FVPROC)(const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLRASTERPOS4IPROC)(GLint x, GLint y, GLint z, GLint w);\ntypedef void (REGAL_CALL *PFNGLRASTERPOS4IVPROC)(const GLint *v);\ntypedef void (REGAL_CALL *PFNGLRASTERPOS4SPROC)(GLshort x, GLshort y, GLshort z, GLshort w);\ntypedef void (REGAL_CALL *PFNGLRASTERPOS4SVPROC)(const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLREADBUFFERPROC)(GLenum mode);\ntypedef void (REGAL_CALL *PFNGLREADPIXELSPROC)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels);\ntypedef void (REGAL_CALL *PFNGLRECTDPROC)(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2);\ntypedef void (REGAL_CALL *PFNGLRECTDVPROC)(const GLdouble *v1, const GLdouble *v2);\ntypedef void (REGAL_CALL *PFNGLRECTFPROC)(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2);\ntypedef void (REGAL_CALL *PFNGLRECTFVPROC)(const GLfloat *v1, const GLfloat *v2);\ntypedef void (REGAL_CALL *PFNGLRECTIPROC)(GLint x1, GLint y1, GLint x2, GLint y2);\ntypedef void (REGAL_CALL *PFNGLRECTIVPROC)(const GLint *v1, const GLint *v2);\ntypedef void (REGAL_CALL *PFNGLRECTSPROC)(GLshort x1, GLshort y1, GLshort x2, GLshort y2);\ntypedef void (REGAL_CALL *PFNGLRECTSVPROC)(const GLshort *v1, const GLshort *v2);\ntypedef void (REGAL_CALL *PFNGLROTATEDPROC)(GLdouble angle, GLdouble x, GLdouble y, GLdouble z);\ntypedef void (REGAL_CALL *PFNGLROTATEFPROC)(GLfloat angle, GLfloat x, GLfloat y, GLfloat z);\ntypedef void (REGAL_CALL *PFNGLSCALEDPROC)(GLdouble x, GLdouble y, GLdouble z);\ntypedef void (REGAL_CALL *PFNGLSCALEFPROC)(GLfloat x, GLfloat y, GLfloat z);\ntypedef void (REGAL_CALL *PFNGLSCISSORPROC)(GLint x, GLint y, GLsizei width, GLsizei height);\ntypedef void (REGAL_CALL *PFNGLSELECTBUFFERPROC)(GLsizei size, GLuint *buffer);\ntypedef void (REGAL_CALL *PFNGLSHADEMODELPROC)(GLenum mode);\ntypedef void (REGAL_CALL *PFNGLSTENCILFUNCPROC)(GLenum func, GLint ref, GLuint mask);\ntypedef void (REGAL_CALL *PFNGLSTENCILMASKPROC)(GLuint mask);\ntypedef void (REGAL_CALL *PFNGLSTENCILOPPROC)(GLenum fail, GLenum zfail, GLenum zpass);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD1DPROC)(GLdouble s);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD1DVPROC)(const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD1FPROC)(GLfloat s);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD1FVPROC)(const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD1IPROC)(GLint s);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD1IVPROC)(const GLint *v);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD1SPROC)(GLshort s);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD1SVPROC)(const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD2DPROC)(GLdouble s, GLdouble t);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD2DVPROC)(const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD2FPROC)(GLfloat s, GLfloat t);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD2FVPROC)(const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD2IPROC)(GLint s, GLint t);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD2IVPROC)(const GLint *v);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD2SPROC)(GLshort s, GLshort t);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD2SVPROC)(const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD3DPROC)(GLdouble s, GLdouble t, GLdouble r);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD3DVPROC)(const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD3FPROC)(GLfloat s, GLfloat t, GLfloat r);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD3FVPROC)(const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD3IPROC)(GLint s, GLint t, GLint r);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD3IVPROC)(const GLint *v);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD3SPROC)(GLshort s, GLshort t, GLshort r);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD3SVPROC)(const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD4DPROC)(GLdouble s, GLdouble t, GLdouble r, GLdouble q);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD4DVPROC)(const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD4FPROC)(GLfloat s, GLfloat t, GLfloat r, GLfloat q);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD4FVPROC)(const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD4IPROC)(GLint s, GLint t, GLint r, GLint q);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD4IVPROC)(const GLint *v);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD4SPROC)(GLshort s, GLshort t, GLshort r, GLshort q);\ntypedef void (REGAL_CALL *PFNGLTEXCOORD4SVPROC)(const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLTEXENVFPROC)(GLenum target, GLenum pname, GLfloat param);\ntypedef void (REGAL_CALL *PFNGLTEXENVFVPROC)(GLenum target, GLenum pname, const GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLTEXENVIPROC)(GLenum target, GLenum pname, GLint param);\ntypedef void (REGAL_CALL *PFNGLTEXENVIVPROC)(GLenum target, GLenum pname, const GLint *params);\ntypedef void (REGAL_CALL *PFNGLTEXGENDPROC)(GLenum coord, GLenum pname, GLdouble param);\ntypedef void (REGAL_CALL *PFNGLTEXGENDVPROC)(GLenum coord, GLenum pname, const GLdouble *params);\ntypedef void (REGAL_CALL *PFNGLTEXGENFPROC)(GLenum coord, GLenum pname, GLfloat param);\ntypedef void (REGAL_CALL *PFNGLTEXGENFVPROC)(GLenum coord, GLenum pname, const GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLTEXGENIPROC)(GLenum coord, GLenum pname, GLint param);\ntypedef void (REGAL_CALL *PFNGLTEXGENIVPROC)(GLenum coord, GLenum pname, const GLint *params);\ntypedef void (REGAL_CALL *PFNGLTEXIMAGE1DPROC)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels);\ntypedef void (REGAL_CALL *PFNGLTEXIMAGE2DPROC)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels);\ntypedef void (REGAL_CALL *PFNGLTEXPARAMETERFPROC)(GLenum target, GLenum pname, GLfloat param);\ntypedef void (REGAL_CALL *PFNGLTEXPARAMETERFVPROC)(GLenum target, GLenum pname, const GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLTEXPARAMETERIPROC)(GLenum target, GLenum pname, GLint param);\ntypedef void (REGAL_CALL *PFNGLTEXPARAMETERIVPROC)(GLenum target, GLenum pname, const GLint *params);\ntypedef void (REGAL_CALL *PFNGLTRANSLATEDPROC)(GLdouble x, GLdouble y, GLdouble z);\ntypedef void (REGAL_CALL *PFNGLTRANSLATEFPROC)(GLfloat x, GLfloat y, GLfloat z);\ntypedef void (REGAL_CALL *PFNGLVERTEX2DPROC)(GLdouble x, GLdouble y);\ntypedef void (REGAL_CALL *PFNGLVERTEX2DVPROC)(const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLVERTEX2FPROC)(GLfloat x, GLfloat y);\ntypedef void (REGAL_CALL *PFNGLVERTEX2FVPROC)(const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLVERTEX2IPROC)(GLint x, GLint y);\ntypedef void (REGAL_CALL *PFNGLVERTEX2IVPROC)(const GLint *v);\ntypedef void (REGAL_CALL *PFNGLVERTEX2SPROC)(GLshort x, GLshort y);\ntypedef void (REGAL_CALL *PFNGLVERTEX2SVPROC)(const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLVERTEX3DPROC)(GLdouble x, GLdouble y, GLdouble z);\ntypedef void (REGAL_CALL *PFNGLVERTEX3DVPROC)(const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLVERTEX3FPROC)(GLfloat x, GLfloat y, GLfloat z);\ntypedef void (REGAL_CALL *PFNGLVERTEX3FVPROC)(const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLVERTEX3IPROC)(GLint x, GLint y, GLint z);\ntypedef void (REGAL_CALL *PFNGLVERTEX3IVPROC)(const GLint *v);\ntypedef void (REGAL_CALL *PFNGLVERTEX3SPROC)(GLshort x, GLshort y, GLshort z);\ntypedef void (REGAL_CALL *PFNGLVERTEX3SVPROC)(const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLVERTEX4DPROC)(GLdouble x, GLdouble y, GLdouble z, GLdouble w);\ntypedef void (REGAL_CALL *PFNGLVERTEX4DVPROC)(const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLVERTEX4FPROC)(GLfloat x, GLfloat y, GLfloat z, GLfloat w);\ntypedef void (REGAL_CALL *PFNGLVERTEX4FVPROC)(const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLVERTEX4IPROC)(GLint x, GLint y, GLint z, GLint w);\ntypedef void (REGAL_CALL *PFNGLVERTEX4IVPROC)(const GLint *v);\ntypedef void (REGAL_CALL *PFNGLVERTEX4SPROC)(GLshort x, GLshort y, GLshort z, GLshort w);\ntypedef void (REGAL_CALL *PFNGLVERTEX4SVPROC)(const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLVIEWPORTPROC)(GLint x, GLint y, GLsizei width, GLsizei height);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_VERSION_1_0\n#define glAccum                             rglAccum\n#define glAlphaFunc                         rglAlphaFunc\n#define glBegin                             rglBegin\n#define glBitmap                            rglBitmap\n#define glBlendFunc                         rglBlendFunc\n#define glCallList                          rglCallList\n#define glCallLists                         rglCallLists\n#define glClear                             rglClear\n#define glClearAccum                        rglClearAccum\n#define glClearColor                        rglClearColor\n#define glClearDepth                        rglClearDepth\n#define glClearIndex                        rglClearIndex\n#define glClearStencil                      rglClearStencil\n#define glClipPlane                         rglClipPlane\n#define glColor3b                           rglColor3b\n#define glColor3bv                          rglColor3bv\n#define glColor3d                           rglColor3d\n#define glColor3dv                          rglColor3dv\n#define glColor3f                           rglColor3f\n#define glColor3fv                          rglColor3fv\n#define glColor3i                           rglColor3i\n#define glColor3iv                          rglColor3iv\n#define glColor3s                           rglColor3s\n#define glColor3sv                          rglColor3sv\n#define glColor3ub                          rglColor3ub\n#define glColor3ubv                         rglColor3ubv\n#define glColor3ui                          rglColor3ui\n#define glColor3uiv                         rglColor3uiv\n#define glColor3us                          rglColor3us\n#define glColor3usv                         rglColor3usv\n#define glColor4b                           rglColor4b\n#define glColor4bv                          rglColor4bv\n#define glColor4d                           rglColor4d\n#define glColor4dv                          rglColor4dv\n#define glColor4f                           rglColor4f\n#define glColor4fv                          rglColor4fv\n#define glColor4i                           rglColor4i\n#define glColor4iv                          rglColor4iv\n#define glColor4s                           rglColor4s\n#define glColor4sv                          rglColor4sv\n#define glColor4ub                          rglColor4ub\n#define glColor4ubv                         rglColor4ubv\n#define glColor4ui                          rglColor4ui\n#define glColor4uiv                         rglColor4uiv\n#define glColor4us                          rglColor4us\n#define glColor4usv                         rglColor4usv\n#define glColorMask                         rglColorMask\n#define glColorMaterial                     rglColorMaterial\n#define glCopyPixels                        rglCopyPixels\n#define glCullFace                          rglCullFace\n#define glDeleteLists                       rglDeleteLists\n#define glDepthFunc                         rglDepthFunc\n#define glDepthMask                         rglDepthMask\n#define glDepthRange                        rglDepthRange\n#define glDisable                           rglDisable\n#define glDrawBuffer                        rglDrawBuffer\n#define glDrawPixels                        rglDrawPixels\n#define glEdgeFlag                          rglEdgeFlag\n#define glEdgeFlagv                         rglEdgeFlagv\n#define glEnable                            rglEnable\n#define glEnd                               rglEnd\n#define glEndList                           rglEndList\n#define glEvalCoord1d                       rglEvalCoord1d\n#define glEvalCoord1dv                      rglEvalCoord1dv\n#define glEvalCoord1f                       rglEvalCoord1f\n#define glEvalCoord1fv                      rglEvalCoord1fv\n#define glEvalCoord2d                       rglEvalCoord2d\n#define glEvalCoord2dv                      rglEvalCoord2dv\n#define glEvalCoord2f                       rglEvalCoord2f\n#define glEvalCoord2fv                      rglEvalCoord2fv\n#define glEvalMesh1                         rglEvalMesh1\n#define glEvalMesh2                         rglEvalMesh2\n#define glEvalPoint1                        rglEvalPoint1\n#define glEvalPoint2                        rglEvalPoint2\n#define glFeedbackBuffer                    rglFeedbackBuffer\n#define glFinish                            rglFinish\n#define glFlush                             rglFlush\n#define glFogf                              rglFogf\n#define glFogfv                             rglFogfv\n#define glFogi                              rglFogi\n#define glFogiv                             rglFogiv\n#define glFrontFace                         rglFrontFace\n#define glFrustum                           rglFrustum\n#define glGenLists                          rglGenLists\n#define glGetBooleanv                       rglGetBooleanv\n#define glGetClipPlane                      rglGetClipPlane\n#define glGetDoublev                        rglGetDoublev\n#define glGetError                          rglGetError\n#define glGetFloatv                         rglGetFloatv\n#define glGetIntegerv                       rglGetIntegerv\n#define glGetLightfv                        rglGetLightfv\n#define glGetLightiv                        rglGetLightiv\n#define glGetMapdv                          rglGetMapdv\n#define glGetMapfv                          rglGetMapfv\n#define glGetMapiv                          rglGetMapiv\n#define glGetMaterialfv                     rglGetMaterialfv\n#define glGetMaterialiv                     rglGetMaterialiv\n#define glGetPixelMapfv                     rglGetPixelMapfv\n#define glGetPixelMapuiv                    rglGetPixelMapuiv\n#define glGetPixelMapusv                    rglGetPixelMapusv\n#define glGetPolygonStipple                 rglGetPolygonStipple\n#define glGetString                         rglGetString\n#define glGetTexEnvfv                       rglGetTexEnvfv\n#define glGetTexEnviv                       rglGetTexEnviv\n#define glGetTexGendv                       rglGetTexGendv\n#define glGetTexGenfv                       rglGetTexGenfv\n#define glGetTexGeniv                       rglGetTexGeniv\n#define glGetTexImage                       rglGetTexImage\n#define glGetTexLevelParameterfv            rglGetTexLevelParameterfv\n#define glGetTexLevelParameteriv            rglGetTexLevelParameteriv\n#define glGetTexParameterfv                 rglGetTexParameterfv\n#define glGetTexParameteriv                 rglGetTexParameteriv\n#define glHint                              rglHint\n#define glIndexMask                         rglIndexMask\n#define glIndexd                            rglIndexd\n#define glIndexdv                           rglIndexdv\n#define glIndexf                            rglIndexf\n#define glIndexfv                           rglIndexfv\n#define glIndexi                            rglIndexi\n#define glIndexiv                           rglIndexiv\n#define glIndexs                            rglIndexs\n#define glIndexsv                           rglIndexsv\n#define glInitNames                         rglInitNames\n#define glIsEnabled                         rglIsEnabled\n#define glIsList                            rglIsList\n#define glLightModelf                       rglLightModelf\n#define glLightModelfv                      rglLightModelfv\n#define glLightModeli                       rglLightModeli\n#define glLightModeliv                      rglLightModeliv\n#define glLightf                            rglLightf\n#define glLightfv                           rglLightfv\n#define glLighti                            rglLighti\n#define glLightiv                           rglLightiv\n#define glLineStipple                       rglLineStipple\n#define glLineWidth                         rglLineWidth\n#define glListBase                          rglListBase\n#define glLoadIdentity                      rglLoadIdentity\n#define glLoadMatrixd                       rglLoadMatrixd\n#define glLoadMatrixf                       rglLoadMatrixf\n#define glLoadName                          rglLoadName\n#define glLogicOp                           rglLogicOp\n#define glMap1d                             rglMap1d\n#define glMap1f                             rglMap1f\n#define glMap2d                             rglMap2d\n#define glMap2f                             rglMap2f\n#define glMapGrid1d                         rglMapGrid1d\n#define glMapGrid1f                         rglMapGrid1f\n#define glMapGrid2d                         rglMapGrid2d\n#define glMapGrid2f                         rglMapGrid2f\n#define glMaterialf                         rglMaterialf\n#define glMaterialfv                        rglMaterialfv\n#define glMateriali                         rglMateriali\n#define glMaterialiv                        rglMaterialiv\n#define glMatrixMode                        rglMatrixMode\n#define glMultMatrixd                       rglMultMatrixd\n#define glMultMatrixf                       rglMultMatrixf\n#define glNewList                           rglNewList\n#define glNormal3b                          rglNormal3b\n#define glNormal3bv                         rglNormal3bv\n#define glNormal3d                          rglNormal3d\n#define glNormal3dv                         rglNormal3dv\n#define glNormal3f                          rglNormal3f\n#define glNormal3fv                         rglNormal3fv\n#define glNormal3i                          rglNormal3i\n#define glNormal3iv                         rglNormal3iv\n#define glNormal3s                          rglNormal3s\n#define glNormal3sv                         rglNormal3sv\n#define glOrtho                             rglOrtho\n#define glPassThrough                       rglPassThrough\n#define glPixelMapfv                        rglPixelMapfv\n#define glPixelMapuiv                       rglPixelMapuiv\n#define glPixelMapusv                       rglPixelMapusv\n#define glPixelStoref                       rglPixelStoref\n#define glPixelStorei                       rglPixelStorei\n#define glPixelTransferf                    rglPixelTransferf\n#define glPixelTransferi                    rglPixelTransferi\n#define glPixelZoom                         rglPixelZoom\n#define glPointSize                         rglPointSize\n#define glPolygonMode                       rglPolygonMode\n#define glPolygonStipple                    rglPolygonStipple\n#define glPopAttrib                         rglPopAttrib\n#define glPopMatrix                         rglPopMatrix\n#define glPopName                           rglPopName\n#define glPushAttrib                        rglPushAttrib\n#define glPushMatrix                        rglPushMatrix\n#define glPushName                          rglPushName\n#define glRasterPos2d                       rglRasterPos2d\n#define glRasterPos2dv                      rglRasterPos2dv\n#define glRasterPos2f                       rglRasterPos2f\n#define glRasterPos2fv                      rglRasterPos2fv\n#define glRasterPos2i                       rglRasterPos2i\n#define glRasterPos2iv                      rglRasterPos2iv\n#define glRasterPos2s                       rglRasterPos2s\n#define glRasterPos2sv                      rglRasterPos2sv\n#define glRasterPos3d                       rglRasterPos3d\n#define glRasterPos3dv                      rglRasterPos3dv\n#define glRasterPos3f                       rglRasterPos3f\n#define glRasterPos3fv                      rglRasterPos3fv\n#define glRasterPos3i                       rglRasterPos3i\n#define glRasterPos3iv                      rglRasterPos3iv\n#define glRasterPos3s                       rglRasterPos3s\n#define glRasterPos3sv                      rglRasterPos3sv\n#define glRasterPos4d                       rglRasterPos4d\n#define glRasterPos4dv                      rglRasterPos4dv\n#define glRasterPos4f                       rglRasterPos4f\n#define glRasterPos4fv                      rglRasterPos4fv\n#define glRasterPos4i                       rglRasterPos4i\n#define glRasterPos4iv                      rglRasterPos4iv\n#define glRasterPos4s                       rglRasterPos4s\n#define glRasterPos4sv                      rglRasterPos4sv\n#define glReadBuffer                        rglReadBuffer\n#define glReadPixels                        rglReadPixels\n#define glRectd                             rglRectd\n#define glRectdv                            rglRectdv\n#define glRectf                             rglRectf\n#define glRectfv                            rglRectfv\n#define glRecti                             rglRecti\n#define glRectiv                            rglRectiv\n#define glRects                             rglRects\n#define glRectsv                            rglRectsv\n#define glRenderMode                        rglRenderMode\n#define glRotated                           rglRotated\n#define glRotatef                           rglRotatef\n#define glScaled                            rglScaled\n#define glScalef                            rglScalef\n#define glScissor                           rglScissor\n#define glSelectBuffer                      rglSelectBuffer\n#define glShadeModel                        rglShadeModel\n#define glStencilFunc                       rglStencilFunc\n#define glStencilMask                       rglStencilMask\n#define glStencilOp                         rglStencilOp\n#define glTexCoord1d                        rglTexCoord1d\n#define glTexCoord1dv                       rglTexCoord1dv\n#define glTexCoord1f                        rglTexCoord1f\n#define glTexCoord1fv                       rglTexCoord1fv\n#define glTexCoord1i                        rglTexCoord1i\n#define glTexCoord1iv                       rglTexCoord1iv\n#define glTexCoord1s                        rglTexCoord1s\n#define glTexCoord1sv                       rglTexCoord1sv\n#define glTexCoord2d                        rglTexCoord2d\n#define glTexCoord2dv                       rglTexCoord2dv\n#define glTexCoord2f                        rglTexCoord2f\n#define glTexCoord2fv                       rglTexCoord2fv\n#define glTexCoord2i                        rglTexCoord2i\n#define glTexCoord2iv                       rglTexCoord2iv\n#define glTexCoord2s                        rglTexCoord2s\n#define glTexCoord2sv                       rglTexCoord2sv\n#define glTexCoord3d                        rglTexCoord3d\n#define glTexCoord3dv                       rglTexCoord3dv\n#define glTexCoord3f                        rglTexCoord3f\n#define glTexCoord3fv                       rglTexCoord3fv\n#define glTexCoord3i                        rglTexCoord3i\n#define glTexCoord3iv                       rglTexCoord3iv\n#define glTexCoord3s                        rglTexCoord3s\n#define glTexCoord3sv                       rglTexCoord3sv\n#define glTexCoord4d                        rglTexCoord4d\n#define glTexCoord4dv                       rglTexCoord4dv\n#define glTexCoord4f                        rglTexCoord4f\n#define glTexCoord4fv                       rglTexCoord4fv\n#define glTexCoord4i                        rglTexCoord4i\n#define glTexCoord4iv                       rglTexCoord4iv\n#define glTexCoord4s                        rglTexCoord4s\n#define glTexCoord4sv                       rglTexCoord4sv\n#define glTexEnvf                           rglTexEnvf\n#define glTexEnvfv                          rglTexEnvfv\n#define glTexEnvi                           rglTexEnvi\n#define glTexEnviv                          rglTexEnviv\n#define glTexGend                           rglTexGend\n#define glTexGendv                          rglTexGendv\n#define glTexGenf                           rglTexGenf\n#define glTexGenfv                          rglTexGenfv\n#define glTexGeni                           rglTexGeni\n#define glTexGeniv                          rglTexGeniv\n#define glTexImage1D                        rglTexImage1D\n#define glTexImage2D                        rglTexImage2D\n#define glTexParameterf                     rglTexParameterf\n#define glTexParameterfv                    rglTexParameterfv\n#define glTexParameteri                     rglTexParameteri\n#define glTexParameteriv                    rglTexParameteriv\n#define glTranslated                        rglTranslated\n#define glTranslatef                        rglTranslatef\n#define glVertex2d                          rglVertex2d\n#define glVertex2dv                         rglVertex2dv\n#define glVertex2f                          rglVertex2f\n#define glVertex2fv                         rglVertex2fv\n#define glVertex2i                          rglVertex2i\n#define glVertex2iv                         rglVertex2iv\n#define glVertex2s                          rglVertex2s\n#define glVertex2sv                         rglVertex2sv\n#define glVertex3d                          rglVertex3d\n#define glVertex3dv                         rglVertex3dv\n#define glVertex3f                          rglVertex3f\n#define glVertex3fv                         rglVertex3fv\n#define glVertex3i                          rglVertex3i\n#define glVertex3iv                         rglVertex3iv\n#define glVertex3s                          rglVertex3s\n#define glVertex3sv                         rglVertex3sv\n#define glVertex4d                          rglVertex4d\n#define glVertex4dv                         rglVertex4dv\n#define glVertex4f                          rglVertex4f\n#define glVertex4fv                         rglVertex4fv\n#define glVertex4i                          rglVertex4i\n#define glVertex4iv                         rglVertex4iv\n#define glVertex4s                          rglVertex4s\n#define glVertex4sv                         rglVertex4sv\n#define glViewport                          rglViewport\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_VERSION_1_0\nREGAL_DECL GLboolean REGAL_CALL glIsEnabled(GLenum cap);\nREGAL_DECL GLboolean REGAL_CALL glIsList(GLuint list);\nREGAL_DECL GLenum REGAL_CALL glGetError(void);\nREGAL_DECL GLint REGAL_CALL glRenderMode(GLenum mode);\nREGAL_DECL GLuint REGAL_CALL glGenLists(GLsizei range);\nREGAL_DECL const GLubyte *REGAL_CALL glGetString(GLenum name);\nREGAL_DECL void REGAL_CALL glAccum(GLenum op, GLfloat value);\nREGAL_DECL void REGAL_CALL glAlphaFunc(GLenum func, GLclampf ref);\nREGAL_DECL void REGAL_CALL glBegin(GLenum mode);\nREGAL_DECL void REGAL_CALL glBitmap(GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap);\nREGAL_DECL void REGAL_CALL glBlendFunc(GLenum sfactor, GLenum dfactor);\nREGAL_DECL void REGAL_CALL glCallList(GLuint list);\nREGAL_DECL void REGAL_CALL glCallLists(GLsizei n, GLenum type, const GLvoid *lists);\nREGAL_DECL void REGAL_CALL glClear(GLbitfield mask);\nREGAL_DECL void REGAL_CALL glClearAccum(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);\nREGAL_DECL void REGAL_CALL glClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);\nREGAL_DECL void REGAL_CALL glClearDepth(GLclampd depth);\nREGAL_DECL void REGAL_CALL glClearIndex(GLfloat c);\nREGAL_DECL void REGAL_CALL glClearStencil(GLint s);\nREGAL_DECL void REGAL_CALL glClipPlane(GLenum plane, const GLdouble *equation);\nREGAL_DECL void REGAL_CALL glColor3b(GLbyte red, GLbyte green, GLbyte blue);\nREGAL_DECL void REGAL_CALL glColor3bv(const GLbyte *v);\nREGAL_DECL void REGAL_CALL glColor3d(GLdouble red, GLdouble green, GLdouble blue);\nREGAL_DECL void REGAL_CALL glColor3dv(const GLdouble *v);\nREGAL_DECL void REGAL_CALL glColor3f(GLfloat red, GLfloat green, GLfloat blue);\nREGAL_DECL void REGAL_CALL glColor3fv(const GLfloat *v);\nREGAL_DECL void REGAL_CALL glColor3i(GLint red, GLint green, GLint blue);\nREGAL_DECL void REGAL_CALL glColor3iv(const GLint *v);\nREGAL_DECL void REGAL_CALL glColor3s(GLshort red, GLshort green, GLshort blue);\nREGAL_DECL void REGAL_CALL glColor3sv(const GLshort *v);\nREGAL_DECL void REGAL_CALL glColor3ub(GLubyte red, GLubyte green, GLubyte blue);\nREGAL_DECL void REGAL_CALL glColor3ubv(const GLubyte *v);\nREGAL_DECL void REGAL_CALL glColor3ui(GLuint red, GLuint green, GLuint blue);\nREGAL_DECL void REGAL_CALL glColor3uiv(const GLuint *v);\nREGAL_DECL void REGAL_CALL glColor3us(GLushort red, GLushort green, GLushort blue);\nREGAL_DECL void REGAL_CALL glColor3usv(const GLushort *v);\nREGAL_DECL void REGAL_CALL glColor4b(GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha);\nREGAL_DECL void REGAL_CALL glColor4bv(const GLbyte *v);\nREGAL_DECL void REGAL_CALL glColor4d(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha);\nREGAL_DECL void REGAL_CALL glColor4dv(const GLdouble *v);\nREGAL_DECL void REGAL_CALL glColor4f(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);\nREGAL_DECL void REGAL_CALL glColor4fv(const GLfloat *v);\nREGAL_DECL void REGAL_CALL glColor4i(GLint red, GLint green, GLint blue, GLint alpha);\nREGAL_DECL void REGAL_CALL glColor4iv(const GLint *v);\nREGAL_DECL void REGAL_CALL glColor4s(GLshort red, GLshort green, GLshort blue, GLshort alpha);\nREGAL_DECL void REGAL_CALL glColor4sv(const GLshort *v);\nREGAL_DECL void REGAL_CALL glColor4ub(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha);\nREGAL_DECL void REGAL_CALL glColor4ubv(const GLubyte *v);\nREGAL_DECL void REGAL_CALL glColor4ui(GLuint red, GLuint green, GLuint blue, GLuint alpha);\nREGAL_DECL void REGAL_CALL glColor4uiv(const GLuint *v);\nREGAL_DECL void REGAL_CALL glColor4us(GLushort red, GLushort green, GLushort blue, GLushort alpha);\nREGAL_DECL void REGAL_CALL glColor4usv(const GLushort *v);\nREGAL_DECL void REGAL_CALL glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);\nREGAL_DECL void REGAL_CALL glColorMaterial(GLenum face, GLenum mode);\nREGAL_DECL void REGAL_CALL glCopyPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum type);\nREGAL_DECL void REGAL_CALL glCullFace(GLenum mode);\nREGAL_DECL void REGAL_CALL glDeleteLists(GLuint list, GLsizei range);\nREGAL_DECL void REGAL_CALL glDepthFunc(GLenum func);\nREGAL_DECL void REGAL_CALL glDepthMask(GLboolean flag);\nREGAL_DECL void REGAL_CALL glDepthRange(GLclampd zNear, GLclampd zFar);\nREGAL_DECL void REGAL_CALL glDisable(GLenum cap);\nREGAL_DECL void REGAL_CALL glDrawBuffer(GLenum mode);\nREGAL_DECL void REGAL_CALL glDrawPixels(GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL glEdgeFlag(GLboolean flag);\nREGAL_DECL void REGAL_CALL glEdgeFlagv(const GLboolean *flag);\nREGAL_DECL void REGAL_CALL glEnable(GLenum cap);\nREGAL_DECL void REGAL_CALL glEnd(void);\nREGAL_DECL void REGAL_CALL glEndList(void);\nREGAL_DECL void REGAL_CALL glEvalCoord1d(GLdouble u);\nREGAL_DECL void REGAL_CALL glEvalCoord1dv(const GLdouble *u);\nREGAL_DECL void REGAL_CALL glEvalCoord1f(GLfloat u);\nREGAL_DECL void REGAL_CALL glEvalCoord1fv(const GLfloat *u);\nREGAL_DECL void REGAL_CALL glEvalCoord2d(GLdouble u, GLdouble v);\nREGAL_DECL void REGAL_CALL glEvalCoord2dv(const GLdouble *u);\nREGAL_DECL void REGAL_CALL glEvalCoord2f(GLfloat u, GLfloat v);\nREGAL_DECL void REGAL_CALL glEvalCoord2fv(const GLfloat *u);\nREGAL_DECL void REGAL_CALL glEvalMesh1(GLenum mode, GLint i1, GLint i2);\nREGAL_DECL void REGAL_CALL glEvalMesh2(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2);\nREGAL_DECL void REGAL_CALL glEvalPoint1(GLint i);\nREGAL_DECL void REGAL_CALL glEvalPoint2(GLint i, GLint j);\nREGAL_DECL void REGAL_CALL glFeedbackBuffer(GLsizei size, GLenum type, GLfloat *buffer);\nREGAL_DECL void REGAL_CALL glFinish(void);\nREGAL_DECL void REGAL_CALL glFlush(void);\nREGAL_DECL void REGAL_CALL glFogf(GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL glFogfv(GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL glFogi(GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL glFogiv(GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL glFrontFace(GLenum mode);\nREGAL_DECL void REGAL_CALL glFrustum(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);\nREGAL_DECL void REGAL_CALL glGetBooleanv(GLenum pname, GLboolean *params);\nREGAL_DECL void REGAL_CALL glGetClipPlane(GLenum plane, GLdouble *equation);\nREGAL_DECL void REGAL_CALL glGetDoublev(GLenum pname, GLdouble *params);\nREGAL_DECL void REGAL_CALL glGetFloatv(GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetIntegerv(GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetLightfv(GLenum light, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetLightiv(GLenum light, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetMapdv(GLenum target, GLenum query, GLdouble *v);\nREGAL_DECL void REGAL_CALL glGetMapfv(GLenum target, GLenum query, GLfloat *v);\nREGAL_DECL void REGAL_CALL glGetMapiv(GLenum target, GLenum query, GLint *v);\nREGAL_DECL void REGAL_CALL glGetMaterialfv(GLenum face, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetMaterialiv(GLenum face, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetPixelMapfv(GLenum map, GLfloat *values);\nREGAL_DECL void REGAL_CALL glGetPixelMapuiv(GLenum map, GLuint *values);\nREGAL_DECL void REGAL_CALL glGetPixelMapusv(GLenum map, GLushort *values);\nREGAL_DECL void REGAL_CALL glGetPolygonStipple(GLubyte *mask);\nREGAL_DECL void REGAL_CALL glGetTexEnvfv(GLenum target, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetTexEnviv(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetTexGendv(GLenum coord, GLenum pname, GLdouble *params);\nREGAL_DECL void REGAL_CALL glGetTexGenfv(GLenum coord, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetTexGeniv(GLenum coord, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetTexImage(GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels);\nREGAL_DECL void REGAL_CALL glGetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetTexParameterfv(GLenum target, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetTexParameteriv(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glHint(GLenum target, GLenum mode);\nREGAL_DECL void REGAL_CALL glIndexMask(GLuint mask);\nREGAL_DECL void REGAL_CALL glIndexd(GLdouble c);\nREGAL_DECL void REGAL_CALL glIndexdv(const GLdouble *c);\nREGAL_DECL void REGAL_CALL glIndexf(GLfloat c);\nREGAL_DECL void REGAL_CALL glIndexfv(const GLfloat *c);\nREGAL_DECL void REGAL_CALL glIndexi(GLint c);\nREGAL_DECL void REGAL_CALL glIndexiv(const GLint *c);\nREGAL_DECL void REGAL_CALL glIndexs(GLshort c);\nREGAL_DECL void REGAL_CALL glIndexsv(const GLshort *c);\nREGAL_DECL void REGAL_CALL glInitNames(void);\nREGAL_DECL void REGAL_CALL glLightModelf(GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL glLightModelfv(GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL glLightModeli(GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL glLightModeliv(GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL glLightf(GLenum light, GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL glLightfv(GLenum light, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL glLighti(GLenum light, GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL glLightiv(GLenum light, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL glLineStipple(GLint factor, GLushort pattern);\nREGAL_DECL void REGAL_CALL glLineWidth(GLfloat width);\nREGAL_DECL void REGAL_CALL glListBase(GLuint base);\nREGAL_DECL void REGAL_CALL glLoadIdentity(void);\nREGAL_DECL void REGAL_CALL glLoadMatrixd(const GLdouble *m);\nREGAL_DECL void REGAL_CALL glLoadMatrixf(const GLfloat *m);\nREGAL_DECL void REGAL_CALL glLoadName(GLuint name);\nREGAL_DECL void REGAL_CALL glLogicOp(GLenum opcode);\nREGAL_DECL void REGAL_CALL glMap1d(GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points);\nREGAL_DECL void REGAL_CALL glMap1f(GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points);\nREGAL_DECL void REGAL_CALL glMap2d(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points);\nREGAL_DECL void REGAL_CALL glMap2f(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points);\nREGAL_DECL void REGAL_CALL glMapGrid1d(GLint un, GLdouble u1, GLdouble u2);\nREGAL_DECL void REGAL_CALL glMapGrid1f(GLint un, GLfloat u1, GLfloat u2);\nREGAL_DECL void REGAL_CALL glMapGrid2d(GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2);\nREGAL_DECL void REGAL_CALL glMapGrid2f(GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2);\nREGAL_DECL void REGAL_CALL glMaterialf(GLenum face, GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL glMaterialfv(GLenum face, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL glMateriali(GLenum face, GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL glMaterialiv(GLenum face, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL glMatrixMode(GLenum mode);\nREGAL_DECL void REGAL_CALL glMultMatrixd(const GLdouble *m);\nREGAL_DECL void REGAL_CALL glMultMatrixf(const GLfloat *m);\nREGAL_DECL void REGAL_CALL glNewList(GLuint list, GLenum mode);\nREGAL_DECL void REGAL_CALL glNormal3b(GLbyte nx, GLbyte ny, GLbyte nz);\nREGAL_DECL void REGAL_CALL glNormal3bv(const GLbyte *v);\nREGAL_DECL void REGAL_CALL glNormal3d(GLdouble nx, GLdouble ny, GLdouble nz);\nREGAL_DECL void REGAL_CALL glNormal3dv(const GLdouble *v);\nREGAL_DECL void REGAL_CALL glNormal3f(GLfloat nx, GLfloat ny, GLfloat nz);\nREGAL_DECL void REGAL_CALL glNormal3fv(const GLfloat *v);\nREGAL_DECL void REGAL_CALL glNormal3i(GLint nx, GLint ny, GLint nz);\nREGAL_DECL void REGAL_CALL glNormal3iv(const GLint *v);\nREGAL_DECL void REGAL_CALL glNormal3s(GLshort nx, GLshort ny, GLshort nz);\nREGAL_DECL void REGAL_CALL glNormal3sv(const GLshort *v);\nREGAL_DECL void REGAL_CALL glOrtho(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);\nREGAL_DECL void REGAL_CALL glPassThrough(GLfloat token);\nREGAL_DECL void REGAL_CALL glPixelMapfv(GLenum map, GLsizei mapsize, const GLfloat *values);\nREGAL_DECL void REGAL_CALL glPixelMapuiv(GLenum map, GLsizei mapsize, const GLuint *values);\nREGAL_DECL void REGAL_CALL glPixelMapusv(GLenum map, GLsizei mapsize, const GLushort *values);\nREGAL_DECL void REGAL_CALL glPixelStoref(GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL glPixelStorei(GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL glPixelTransferf(GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL glPixelTransferi(GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL glPixelZoom(GLfloat xfactor, GLfloat yfactor);\nREGAL_DECL void REGAL_CALL glPointSize(GLfloat size);\nREGAL_DECL void REGAL_CALL glPolygonMode(GLenum face, GLenum mode);\nREGAL_DECL void REGAL_CALL glPolygonStipple(const GLubyte *mask);\nREGAL_DECL void REGAL_CALL glPopAttrib(void);\nREGAL_DECL void REGAL_CALL glPopMatrix(void);\nREGAL_DECL void REGAL_CALL glPopName(void);\nREGAL_DECL void REGAL_CALL glPushAttrib(GLbitfield mask);\nREGAL_DECL void REGAL_CALL glPushMatrix(void);\nREGAL_DECL void REGAL_CALL glPushName(GLuint name);\nREGAL_DECL void REGAL_CALL glRasterPos2d(GLdouble x, GLdouble y);\nREGAL_DECL void REGAL_CALL glRasterPos2dv(const GLdouble *v);\nREGAL_DECL void REGAL_CALL glRasterPos2f(GLfloat x, GLfloat y);\nREGAL_DECL void REGAL_CALL glRasterPos2fv(const GLfloat *v);\nREGAL_DECL void REGAL_CALL glRasterPos2i(GLint x, GLint y);\nREGAL_DECL void REGAL_CALL glRasterPos2iv(const GLint *v);\nREGAL_DECL void REGAL_CALL glRasterPos2s(GLshort x, GLshort y);\nREGAL_DECL void REGAL_CALL glRasterPos2sv(const GLshort *v);\nREGAL_DECL void REGAL_CALL glRasterPos3d(GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL glRasterPos3dv(const GLdouble *v);\nREGAL_DECL void REGAL_CALL glRasterPos3f(GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL glRasterPos3fv(const GLfloat *v);\nREGAL_DECL void REGAL_CALL glRasterPos3i(GLint x, GLint y, GLint z);\nREGAL_DECL void REGAL_CALL glRasterPos3iv(const GLint *v);\nREGAL_DECL void REGAL_CALL glRasterPos3s(GLshort x, GLshort y, GLshort z);\nREGAL_DECL void REGAL_CALL glRasterPos3sv(const GLshort *v);\nREGAL_DECL void REGAL_CALL glRasterPos4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nREGAL_DECL void REGAL_CALL glRasterPos4dv(const GLdouble *v);\nREGAL_DECL void REGAL_CALL glRasterPos4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nREGAL_DECL void REGAL_CALL glRasterPos4fv(const GLfloat *v);\nREGAL_DECL void REGAL_CALL glRasterPos4i(GLint x, GLint y, GLint z, GLint w);\nREGAL_DECL void REGAL_CALL glRasterPos4iv(const GLint *v);\nREGAL_DECL void REGAL_CALL glRasterPos4s(GLshort x, GLshort y, GLshort z, GLshort w);\nREGAL_DECL void REGAL_CALL glRasterPos4sv(const GLshort *v);\nREGAL_DECL void REGAL_CALL glReadBuffer(GLenum mode);\nREGAL_DECL void REGAL_CALL glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels);\nREGAL_DECL void REGAL_CALL glRectd(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2);\nREGAL_DECL void REGAL_CALL glRectdv(const GLdouble *v1, const GLdouble *v2);\nREGAL_DECL void REGAL_CALL glRectf(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2);\nREGAL_DECL void REGAL_CALL glRectfv(const GLfloat *v1, const GLfloat *v2);\nREGAL_DECL void REGAL_CALL glRecti(GLint x1, GLint y1, GLint x2, GLint y2);\nREGAL_DECL void REGAL_CALL glRectiv(const GLint *v1, const GLint *v2);\nREGAL_DECL void REGAL_CALL glRects(GLshort x1, GLshort y1, GLshort x2, GLshort y2);\nREGAL_DECL void REGAL_CALL glRectsv(const GLshort *v1, const GLshort *v2);\nREGAL_DECL void REGAL_CALL glRotated(GLdouble angle, GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL glRotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL glScaled(GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL glScalef(GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL glScissor(GLint x, GLint y, GLsizei width, GLsizei height);\nREGAL_DECL void REGAL_CALL glSelectBuffer(GLsizei size, GLuint *buffer);\nREGAL_DECL void REGAL_CALL glShadeModel(GLenum mode);\nREGAL_DECL void REGAL_CALL glStencilFunc(GLenum func, GLint ref, GLuint mask);\nREGAL_DECL void REGAL_CALL glStencilMask(GLuint mask);\nREGAL_DECL void REGAL_CALL glStencilOp(GLenum fail, GLenum zfail, GLenum zpass);\nREGAL_DECL void REGAL_CALL glTexCoord1d(GLdouble s);\nREGAL_DECL void REGAL_CALL glTexCoord1dv(const GLdouble *v);\nREGAL_DECL void REGAL_CALL glTexCoord1f(GLfloat s);\nREGAL_DECL void REGAL_CALL glTexCoord1fv(const GLfloat *v);\nREGAL_DECL void REGAL_CALL glTexCoord1i(GLint s);\nREGAL_DECL void REGAL_CALL glTexCoord1iv(const GLint *v);\nREGAL_DECL void REGAL_CALL glTexCoord1s(GLshort s);\nREGAL_DECL void REGAL_CALL glTexCoord1sv(const GLshort *v);\nREGAL_DECL void REGAL_CALL glTexCoord2d(GLdouble s, GLdouble t);\nREGAL_DECL void REGAL_CALL glTexCoord2dv(const GLdouble *v);\nREGAL_DECL void REGAL_CALL glTexCoord2f(GLfloat s, GLfloat t);\nREGAL_DECL void REGAL_CALL glTexCoord2fv(const GLfloat *v);\nREGAL_DECL void REGAL_CALL glTexCoord2i(GLint s, GLint t);\nREGAL_DECL void REGAL_CALL glTexCoord2iv(const GLint *v);\nREGAL_DECL void REGAL_CALL glTexCoord2s(GLshort s, GLshort t);\nREGAL_DECL void REGAL_CALL glTexCoord2sv(const GLshort *v);\nREGAL_DECL void REGAL_CALL glTexCoord3d(GLdouble s, GLdouble t, GLdouble r);\nREGAL_DECL void REGAL_CALL glTexCoord3dv(const GLdouble *v);\nREGAL_DECL void REGAL_CALL glTexCoord3f(GLfloat s, GLfloat t, GLfloat r);\nREGAL_DECL void REGAL_CALL glTexCoord3fv(const GLfloat *v);\nREGAL_DECL void REGAL_CALL glTexCoord3i(GLint s, GLint t, GLint r);\nREGAL_DECL void REGAL_CALL glTexCoord3iv(const GLint *v);\nREGAL_DECL void REGAL_CALL glTexCoord3s(GLshort s, GLshort t, GLshort r);\nREGAL_DECL void REGAL_CALL glTexCoord3sv(const GLshort *v);\nREGAL_DECL void REGAL_CALL glTexCoord4d(GLdouble s, GLdouble t, GLdouble r, GLdouble q);\nREGAL_DECL void REGAL_CALL glTexCoord4dv(const GLdouble *v);\nREGAL_DECL void REGAL_CALL glTexCoord4f(GLfloat s, GLfloat t, GLfloat r, GLfloat q);\nREGAL_DECL void REGAL_CALL glTexCoord4fv(const GLfloat *v);\nREGAL_DECL void REGAL_CALL glTexCoord4i(GLint s, GLint t, GLint r, GLint q);\nREGAL_DECL void REGAL_CALL glTexCoord4iv(const GLint *v);\nREGAL_DECL void REGAL_CALL glTexCoord4s(GLshort s, GLshort t, GLshort r, GLshort q);\nREGAL_DECL void REGAL_CALL glTexCoord4sv(const GLshort *v);\nREGAL_DECL void REGAL_CALL glTexEnvf(GLenum target, GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL glTexEnvfv(GLenum target, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL glTexEnvi(GLenum target, GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL glTexEnviv(GLenum target, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL glTexGend(GLenum coord, GLenum pname, GLdouble param);\nREGAL_DECL void REGAL_CALL glTexGendv(GLenum coord, GLenum pname, const GLdouble *params);\nREGAL_DECL void REGAL_CALL glTexGenf(GLenum coord, GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL glTexGenfv(GLenum coord, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL glTexGeni(GLenum coord, GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL glTexGeniv(GLenum coord, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL glTexImage1D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL glTexParameterf(GLenum target, GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL glTexParameterfv(GLenum target, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL glTexParameteri(GLenum target, GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL glTexParameteriv(GLenum target, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL glTranslated(GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL glTranslatef(GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL glVertex2d(GLdouble x, GLdouble y);\nREGAL_DECL void REGAL_CALL glVertex2dv(const GLdouble *v);\nREGAL_DECL void REGAL_CALL glVertex2f(GLfloat x, GLfloat y);\nREGAL_DECL void REGAL_CALL glVertex2fv(const GLfloat *v);\nREGAL_DECL void REGAL_CALL glVertex2i(GLint x, GLint y);\nREGAL_DECL void REGAL_CALL glVertex2iv(const GLint *v);\nREGAL_DECL void REGAL_CALL glVertex2s(GLshort x, GLshort y);\nREGAL_DECL void REGAL_CALL glVertex2sv(const GLshort *v);\nREGAL_DECL void REGAL_CALL glVertex3d(GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL glVertex3dv(const GLdouble *v);\nREGAL_DECL void REGAL_CALL glVertex3f(GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL glVertex3fv(const GLfloat *v);\nREGAL_DECL void REGAL_CALL glVertex3i(GLint x, GLint y, GLint z);\nREGAL_DECL void REGAL_CALL glVertex3iv(const GLint *v);\nREGAL_DECL void REGAL_CALL glVertex3s(GLshort x, GLshort y, GLshort z);\nREGAL_DECL void REGAL_CALL glVertex3sv(const GLshort *v);\nREGAL_DECL void REGAL_CALL glVertex4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nREGAL_DECL void REGAL_CALL glVertex4dv(const GLdouble *v);\nREGAL_DECL void REGAL_CALL glVertex4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nREGAL_DECL void REGAL_CALL glVertex4fv(const GLfloat *v);\nREGAL_DECL void REGAL_CALL glVertex4i(GLint x, GLint y, GLint z, GLint w);\nREGAL_DECL void REGAL_CALL glVertex4iv(const GLint *v);\nREGAL_DECL void REGAL_CALL glVertex4s(GLshort x, GLshort y, GLshort z, GLshort w);\nREGAL_DECL void REGAL_CALL glVertex4sv(const GLshort *v);\nREGAL_DECL void REGAL_CALL glViewport(GLint x, GLint y, GLsizei width, GLsizei height);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_VERSION_1_0\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsEnabled(GLenum cap);\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsList(GLuint list);\nREGAL_DECL GLenum REGAL_CALL plugin_glGetError(void);\nREGAL_DECL GLint REGAL_CALL plugin_glRenderMode(GLenum mode);\nREGAL_DECL GLuint REGAL_CALL plugin_glGenLists(GLsizei range);\nREGAL_DECL const GLubyte *REGAL_CALL plugin_glGetString(GLenum name);\nREGAL_DECL void REGAL_CALL plugin_glAccum(GLenum op, GLfloat value);\nREGAL_DECL void REGAL_CALL plugin_glAlphaFunc(GLenum func, GLclampf ref);\nREGAL_DECL void REGAL_CALL plugin_glBegin(GLenum mode);\nREGAL_DECL void REGAL_CALL plugin_glBitmap(GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap);\nREGAL_DECL void REGAL_CALL plugin_glBlendFunc(GLenum sfactor, GLenum dfactor);\nREGAL_DECL void REGAL_CALL plugin_glCallList(GLuint list);\nREGAL_DECL void REGAL_CALL plugin_glCallLists(GLsizei n, GLenum type, const GLvoid *lists);\nREGAL_DECL void REGAL_CALL plugin_glClear(GLbitfield mask);\nREGAL_DECL void REGAL_CALL plugin_glClearAccum(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);\nREGAL_DECL void REGAL_CALL plugin_glClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);\nREGAL_DECL void REGAL_CALL plugin_glClearDepth(GLclampd depth);\nREGAL_DECL void REGAL_CALL plugin_glClearIndex(GLfloat c);\nREGAL_DECL void REGAL_CALL plugin_glClearStencil(GLint s);\nREGAL_DECL void REGAL_CALL plugin_glClipPlane(GLenum plane, const GLdouble *equation);\nREGAL_DECL void REGAL_CALL plugin_glColor3b(GLbyte red, GLbyte green, GLbyte blue);\nREGAL_DECL void REGAL_CALL plugin_glColor3bv(const GLbyte *v);\nREGAL_DECL void REGAL_CALL plugin_glColor3d(GLdouble red, GLdouble green, GLdouble blue);\nREGAL_DECL void REGAL_CALL plugin_glColor3dv(const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glColor3f(GLfloat red, GLfloat green, GLfloat blue);\nREGAL_DECL void REGAL_CALL plugin_glColor3fv(const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glColor3i(GLint red, GLint green, GLint blue);\nREGAL_DECL void REGAL_CALL plugin_glColor3iv(const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glColor3s(GLshort red, GLshort green, GLshort blue);\nREGAL_DECL void REGAL_CALL plugin_glColor3sv(const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glColor3ub(GLubyte red, GLubyte green, GLubyte blue);\nREGAL_DECL void REGAL_CALL plugin_glColor3ubv(const GLubyte *v);\nREGAL_DECL void REGAL_CALL plugin_glColor3ui(GLuint red, GLuint green, GLuint blue);\nREGAL_DECL void REGAL_CALL plugin_glColor3uiv(const GLuint *v);\nREGAL_DECL void REGAL_CALL plugin_glColor3us(GLushort red, GLushort green, GLushort blue);\nREGAL_DECL void REGAL_CALL plugin_glColor3usv(const GLushort *v);\nREGAL_DECL void REGAL_CALL plugin_glColor4b(GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha);\nREGAL_DECL void REGAL_CALL plugin_glColor4bv(const GLbyte *v);\nREGAL_DECL void REGAL_CALL plugin_glColor4d(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha);\nREGAL_DECL void REGAL_CALL plugin_glColor4dv(const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glColor4f(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);\nREGAL_DECL void REGAL_CALL plugin_glColor4fv(const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glColor4i(GLint red, GLint green, GLint blue, GLint alpha);\nREGAL_DECL void REGAL_CALL plugin_glColor4iv(const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glColor4s(GLshort red, GLshort green, GLshort blue, GLshort alpha);\nREGAL_DECL void REGAL_CALL plugin_glColor4sv(const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glColor4ub(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha);\nREGAL_DECL void REGAL_CALL plugin_glColor4ubv(const GLubyte *v);\nREGAL_DECL void REGAL_CALL plugin_glColor4ui(GLuint red, GLuint green, GLuint blue, GLuint alpha);\nREGAL_DECL void REGAL_CALL plugin_glColor4uiv(const GLuint *v);\nREGAL_DECL void REGAL_CALL plugin_glColor4us(GLushort red, GLushort green, GLushort blue, GLushort alpha);\nREGAL_DECL void REGAL_CALL plugin_glColor4usv(const GLushort *v);\nREGAL_DECL void REGAL_CALL plugin_glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);\nREGAL_DECL void REGAL_CALL plugin_glColorMaterial(GLenum face, GLenum mode);\nREGAL_DECL void REGAL_CALL plugin_glCopyPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum type);\nREGAL_DECL void REGAL_CALL plugin_glCullFace(GLenum mode);\nREGAL_DECL void REGAL_CALL plugin_glDeleteLists(GLuint list, GLsizei range);\nREGAL_DECL void REGAL_CALL plugin_glDepthFunc(GLenum func);\nREGAL_DECL void REGAL_CALL plugin_glDepthMask(GLboolean flag);\nREGAL_DECL void REGAL_CALL plugin_glDepthRange(GLclampd zNear, GLclampd zFar);\nREGAL_DECL void REGAL_CALL plugin_glDisable(GLenum cap);\nREGAL_DECL void REGAL_CALL plugin_glDrawBuffer(GLenum mode);\nREGAL_DECL void REGAL_CALL plugin_glDrawPixels(GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL plugin_glEdgeFlag(GLboolean flag);\nREGAL_DECL void REGAL_CALL plugin_glEdgeFlagv(const GLboolean *flag);\nREGAL_DECL void REGAL_CALL plugin_glEnable(GLenum cap);\nREGAL_DECL void REGAL_CALL plugin_glEnd(void);\nREGAL_DECL void REGAL_CALL plugin_glEndList(void);\nREGAL_DECL void REGAL_CALL plugin_glEvalCoord1d(GLdouble u);\nREGAL_DECL void REGAL_CALL plugin_glEvalCoord1dv(const GLdouble *u);\nREGAL_DECL void REGAL_CALL plugin_glEvalCoord1f(GLfloat u);\nREGAL_DECL void REGAL_CALL plugin_glEvalCoord1fv(const GLfloat *u);\nREGAL_DECL void REGAL_CALL plugin_glEvalCoord2d(GLdouble u, GLdouble v);\nREGAL_DECL void REGAL_CALL plugin_glEvalCoord2dv(const GLdouble *u);\nREGAL_DECL void REGAL_CALL plugin_glEvalCoord2f(GLfloat u, GLfloat v);\nREGAL_DECL void REGAL_CALL plugin_glEvalCoord2fv(const GLfloat *u);\nREGAL_DECL void REGAL_CALL plugin_glEvalMesh1(GLenum mode, GLint i1, GLint i2);\nREGAL_DECL void REGAL_CALL plugin_glEvalMesh2(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2);\nREGAL_DECL void REGAL_CALL plugin_glEvalPoint1(GLint i);\nREGAL_DECL void REGAL_CALL plugin_glEvalPoint2(GLint i, GLint j);\nREGAL_DECL void REGAL_CALL plugin_glFeedbackBuffer(GLsizei size, GLenum type, GLfloat *buffer);\nREGAL_DECL void REGAL_CALL plugin_glFinish(void);\nREGAL_DECL void REGAL_CALL plugin_glFlush(void);\nREGAL_DECL void REGAL_CALL plugin_glFogf(GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL plugin_glFogfv(GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glFogi(GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL plugin_glFogiv(GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glFrontFace(GLenum mode);\nREGAL_DECL void REGAL_CALL plugin_glFrustum(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);\nREGAL_DECL void REGAL_CALL plugin_glGetBooleanv(GLenum pname, GLboolean *params);\nREGAL_DECL void REGAL_CALL plugin_glGetClipPlane(GLenum plane, GLdouble *equation);\nREGAL_DECL void REGAL_CALL plugin_glGetDoublev(GLenum pname, GLdouble *params);\nREGAL_DECL void REGAL_CALL plugin_glGetFloatv(GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetIntegerv(GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetLightfv(GLenum light, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetLightiv(GLenum light, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetMapdv(GLenum target, GLenum query, GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glGetMapfv(GLenum target, GLenum query, GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glGetMapiv(GLenum target, GLenum query, GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glGetMaterialfv(GLenum face, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetMaterialiv(GLenum face, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetPixelMapfv(GLenum map, GLfloat *values);\nREGAL_DECL void REGAL_CALL plugin_glGetPixelMapuiv(GLenum map, GLuint *values);\nREGAL_DECL void REGAL_CALL plugin_glGetPixelMapusv(GLenum map, GLushort *values);\nREGAL_DECL void REGAL_CALL plugin_glGetPolygonStipple(GLubyte *mask);\nREGAL_DECL void REGAL_CALL plugin_glGetTexEnvfv(GLenum target, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetTexEnviv(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetTexGendv(GLenum coord, GLenum pname, GLdouble *params);\nREGAL_DECL void REGAL_CALL plugin_glGetTexGenfv(GLenum coord, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetTexGeniv(GLenum coord, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetTexImage(GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels);\nREGAL_DECL void REGAL_CALL plugin_glGetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetTexParameterfv(GLenum target, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetTexParameteriv(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glHint(GLenum target, GLenum mode);\nREGAL_DECL void REGAL_CALL plugin_glIndexMask(GLuint mask);\nREGAL_DECL void REGAL_CALL plugin_glIndexd(GLdouble c);\nREGAL_DECL void REGAL_CALL plugin_glIndexdv(const GLdouble *c);\nREGAL_DECL void REGAL_CALL plugin_glIndexf(GLfloat c);\nREGAL_DECL void REGAL_CALL plugin_glIndexfv(const GLfloat *c);\nREGAL_DECL void REGAL_CALL plugin_glIndexi(GLint c);\nREGAL_DECL void REGAL_CALL plugin_glIndexiv(const GLint *c);\nREGAL_DECL void REGAL_CALL plugin_glIndexs(GLshort c);\nREGAL_DECL void REGAL_CALL plugin_glIndexsv(const GLshort *c);\nREGAL_DECL void REGAL_CALL plugin_glInitNames(void);\nREGAL_DECL void REGAL_CALL plugin_glLightModelf(GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL plugin_glLightModelfv(GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glLightModeli(GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL plugin_glLightModeliv(GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glLightf(GLenum light, GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL plugin_glLightfv(GLenum light, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glLighti(GLenum light, GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL plugin_glLightiv(GLenum light, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glLineStipple(GLint factor, GLushort pattern);\nREGAL_DECL void REGAL_CALL plugin_glLineWidth(GLfloat width);\nREGAL_DECL void REGAL_CALL plugin_glListBase(GLuint base);\nREGAL_DECL void REGAL_CALL plugin_glLoadIdentity(void);\nREGAL_DECL void REGAL_CALL plugin_glLoadMatrixd(const GLdouble *m);\nREGAL_DECL void REGAL_CALL plugin_glLoadMatrixf(const GLfloat *m);\nREGAL_DECL void REGAL_CALL plugin_glLoadName(GLuint name);\nREGAL_DECL void REGAL_CALL plugin_glLogicOp(GLenum opcode);\nREGAL_DECL void REGAL_CALL plugin_glMap1d(GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points);\nREGAL_DECL void REGAL_CALL plugin_glMap1f(GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points);\nREGAL_DECL void REGAL_CALL plugin_glMap2d(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points);\nREGAL_DECL void REGAL_CALL plugin_glMap2f(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points);\nREGAL_DECL void REGAL_CALL plugin_glMapGrid1d(GLint un, GLdouble u1, GLdouble u2);\nREGAL_DECL void REGAL_CALL plugin_glMapGrid1f(GLint un, GLfloat u1, GLfloat u2);\nREGAL_DECL void REGAL_CALL plugin_glMapGrid2d(GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2);\nREGAL_DECL void REGAL_CALL plugin_glMapGrid2f(GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2);\nREGAL_DECL void REGAL_CALL plugin_glMaterialf(GLenum face, GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL plugin_glMaterialfv(GLenum face, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glMateriali(GLenum face, GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL plugin_glMaterialiv(GLenum face, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glMatrixMode(GLenum mode);\nREGAL_DECL void REGAL_CALL plugin_glMultMatrixd(const GLdouble *m);\nREGAL_DECL void REGAL_CALL plugin_glMultMatrixf(const GLfloat *m);\nREGAL_DECL void REGAL_CALL plugin_glNewList(GLuint list, GLenum mode);\nREGAL_DECL void REGAL_CALL plugin_glNormal3b(GLbyte nx, GLbyte ny, GLbyte nz);\nREGAL_DECL void REGAL_CALL plugin_glNormal3bv(const GLbyte *v);\nREGAL_DECL void REGAL_CALL plugin_glNormal3d(GLdouble nx, GLdouble ny, GLdouble nz);\nREGAL_DECL void REGAL_CALL plugin_glNormal3dv(const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glNormal3f(GLfloat nx, GLfloat ny, GLfloat nz);\nREGAL_DECL void REGAL_CALL plugin_glNormal3fv(const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glNormal3i(GLint nx, GLint ny, GLint nz);\nREGAL_DECL void REGAL_CALL plugin_glNormal3iv(const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glNormal3s(GLshort nx, GLshort ny, GLshort nz);\nREGAL_DECL void REGAL_CALL plugin_glNormal3sv(const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glOrtho(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);\nREGAL_DECL void REGAL_CALL plugin_glPassThrough(GLfloat token);\nREGAL_DECL void REGAL_CALL plugin_glPixelMapfv(GLenum map, GLsizei mapsize, const GLfloat *values);\nREGAL_DECL void REGAL_CALL plugin_glPixelMapuiv(GLenum map, GLsizei mapsize, const GLuint *values);\nREGAL_DECL void REGAL_CALL plugin_glPixelMapusv(GLenum map, GLsizei mapsize, const GLushort *values);\nREGAL_DECL void REGAL_CALL plugin_glPixelStoref(GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL plugin_glPixelStorei(GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL plugin_glPixelTransferf(GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL plugin_glPixelTransferi(GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL plugin_glPixelZoom(GLfloat xfactor, GLfloat yfactor);\nREGAL_DECL void REGAL_CALL plugin_glPointSize(GLfloat size);\nREGAL_DECL void REGAL_CALL plugin_glPolygonMode(GLenum face, GLenum mode);\nREGAL_DECL void REGAL_CALL plugin_glPolygonStipple(const GLubyte *mask);\nREGAL_DECL void REGAL_CALL plugin_glPopAttrib(void);\nREGAL_DECL void REGAL_CALL plugin_glPopMatrix(void);\nREGAL_DECL void REGAL_CALL plugin_glPopName(void);\nREGAL_DECL void REGAL_CALL plugin_glPushAttrib(GLbitfield mask);\nREGAL_DECL void REGAL_CALL plugin_glPushMatrix(void);\nREGAL_DECL void REGAL_CALL plugin_glPushName(GLuint name);\nREGAL_DECL void REGAL_CALL plugin_glRasterPos2d(GLdouble x, GLdouble y);\nREGAL_DECL void REGAL_CALL plugin_glRasterPos2dv(const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glRasterPos2f(GLfloat x, GLfloat y);\nREGAL_DECL void REGAL_CALL plugin_glRasterPos2fv(const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glRasterPos2i(GLint x, GLint y);\nREGAL_DECL void REGAL_CALL plugin_glRasterPos2iv(const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glRasterPos2s(GLshort x, GLshort y);\nREGAL_DECL void REGAL_CALL plugin_glRasterPos2sv(const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glRasterPos3d(GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL plugin_glRasterPos3dv(const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glRasterPos3f(GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL plugin_glRasterPos3fv(const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glRasterPos3i(GLint x, GLint y, GLint z);\nREGAL_DECL void REGAL_CALL plugin_glRasterPos3iv(const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glRasterPos3s(GLshort x, GLshort y, GLshort z);\nREGAL_DECL void REGAL_CALL plugin_glRasterPos3sv(const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glRasterPos4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nREGAL_DECL void REGAL_CALL plugin_glRasterPos4dv(const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glRasterPos4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nREGAL_DECL void REGAL_CALL plugin_glRasterPos4fv(const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glRasterPos4i(GLint x, GLint y, GLint z, GLint w);\nREGAL_DECL void REGAL_CALL plugin_glRasterPos4iv(const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glRasterPos4s(GLshort x, GLshort y, GLshort z, GLshort w);\nREGAL_DECL void REGAL_CALL plugin_glRasterPos4sv(const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glReadBuffer(GLenum mode);\nREGAL_DECL void REGAL_CALL plugin_glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels);\nREGAL_DECL void REGAL_CALL plugin_glRectd(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2);\nREGAL_DECL void REGAL_CALL plugin_glRectdv(const GLdouble *v1, const GLdouble *v2);\nREGAL_DECL void REGAL_CALL plugin_glRectf(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2);\nREGAL_DECL void REGAL_CALL plugin_glRectfv(const GLfloat *v1, const GLfloat *v2);\nREGAL_DECL void REGAL_CALL plugin_glRecti(GLint x1, GLint y1, GLint x2, GLint y2);\nREGAL_DECL void REGAL_CALL plugin_glRectiv(const GLint *v1, const GLint *v2);\nREGAL_DECL void REGAL_CALL plugin_glRects(GLshort x1, GLshort y1, GLshort x2, GLshort y2);\nREGAL_DECL void REGAL_CALL plugin_glRectsv(const GLshort *v1, const GLshort *v2);\nREGAL_DECL void REGAL_CALL plugin_glRotated(GLdouble angle, GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL plugin_glRotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL plugin_glScaled(GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL plugin_glScalef(GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL plugin_glScissor(GLint x, GLint y, GLsizei width, GLsizei height);\nREGAL_DECL void REGAL_CALL plugin_glSelectBuffer(GLsizei size, GLuint *buffer);\nREGAL_DECL void REGAL_CALL plugin_glShadeModel(GLenum mode);\nREGAL_DECL void REGAL_CALL plugin_glStencilFunc(GLenum func, GLint ref, GLuint mask);\nREGAL_DECL void REGAL_CALL plugin_glStencilMask(GLuint mask);\nREGAL_DECL void REGAL_CALL plugin_glStencilOp(GLenum fail, GLenum zfail, GLenum zpass);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord1d(GLdouble s);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord1dv(const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord1f(GLfloat s);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord1fv(const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord1i(GLint s);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord1iv(const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord1s(GLshort s);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord1sv(const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord2d(GLdouble s, GLdouble t);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord2dv(const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord2f(GLfloat s, GLfloat t);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord2fv(const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord2i(GLint s, GLint t);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord2iv(const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord2s(GLshort s, GLshort t);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord2sv(const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord3d(GLdouble s, GLdouble t, GLdouble r);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord3dv(const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord3f(GLfloat s, GLfloat t, GLfloat r);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord3fv(const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord3i(GLint s, GLint t, GLint r);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord3iv(const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord3s(GLshort s, GLshort t, GLshort r);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord3sv(const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord4d(GLdouble s, GLdouble t, GLdouble r, GLdouble q);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord4dv(const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord4f(GLfloat s, GLfloat t, GLfloat r, GLfloat q);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord4fv(const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord4i(GLint s, GLint t, GLint r, GLint q);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord4iv(const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord4s(GLshort s, GLshort t, GLshort r, GLshort q);\nREGAL_DECL void REGAL_CALL plugin_glTexCoord4sv(const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glTexEnvf(GLenum target, GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL plugin_glTexEnvfv(GLenum target, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glTexEnvi(GLenum target, GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL plugin_glTexEnviv(GLenum target, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glTexGend(GLenum coord, GLenum pname, GLdouble param);\nREGAL_DECL void REGAL_CALL plugin_glTexGendv(GLenum coord, GLenum pname, const GLdouble *params);\nREGAL_DECL void REGAL_CALL plugin_glTexGenf(GLenum coord, GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL plugin_glTexGenfv(GLenum coord, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glTexGeni(GLenum coord, GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL plugin_glTexGeniv(GLenum coord, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glTexImage1D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL plugin_glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL plugin_glTexParameterf(GLenum target, GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL plugin_glTexParameterfv(GLenum target, GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glTexParameteri(GLenum target, GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL plugin_glTexParameteriv(GLenum target, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glTranslated(GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL plugin_glTranslatef(GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL plugin_glVertex2d(GLdouble x, GLdouble y);\nREGAL_DECL void REGAL_CALL plugin_glVertex2dv(const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glVertex2f(GLfloat x, GLfloat y);\nREGAL_DECL void REGAL_CALL plugin_glVertex2fv(const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glVertex2i(GLint x, GLint y);\nREGAL_DECL void REGAL_CALL plugin_glVertex2iv(const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glVertex2s(GLshort x, GLshort y);\nREGAL_DECL void REGAL_CALL plugin_glVertex2sv(const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glVertex3d(GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL plugin_glVertex3dv(const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glVertex3f(GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL plugin_glVertex3fv(const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glVertex3i(GLint x, GLint y, GLint z);\nREGAL_DECL void REGAL_CALL plugin_glVertex3iv(const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glVertex3s(GLshort x, GLshort y, GLshort z);\nREGAL_DECL void REGAL_CALL plugin_glVertex3sv(const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glVertex4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nREGAL_DECL void REGAL_CALL plugin_glVertex4dv(const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glVertex4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nREGAL_DECL void REGAL_CALL plugin_glVertex4fv(const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glVertex4i(GLint x, GLint y, GLint z, GLint w);\nREGAL_DECL void REGAL_CALL plugin_glVertex4iv(const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glVertex4s(GLshort x, GLshort y, GLshort z, GLshort w);\nREGAL_DECL void REGAL_CALL plugin_glVertex4sv(const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glViewport(GLint x, GLint y, GLsizei width, GLsizei height);\n#endif\n\n/**\n ** GL_VERSION_1_1\n **/\n\n#if (defined(GL_VERSION_1_1) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_VERSION_1_1)) && !defined(REGAL_NO_ENUM_GL_VERSION_1_1)\n#define REGAL_NO_ENUM_GL_VERSION_1_1\n#endif\n\n#if (defined(GL_VERSION_1_1) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_VERSION_1_1)) && !defined(REGAL_NO_TYPEDEF_GL_VERSION_1_1)\n#define REGAL_NO_TYPEDEF_GL_VERSION_1_1\n#endif\n\n#if (defined(GL_VERSION_1_1) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_VERSION_1_1)) && !defined(REGAL_NO_NAMESPACE_GL_VERSION_1_1)\n#define REGAL_NO_NAMESPACE_GL_VERSION_1_1\n#endif\n\n#if (defined(GL_VERSION_1_1) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_VERSION_1_1)) && !defined(REGAL_NO_PLUGIN_GL_VERSION_1_1)\n#define REGAL_NO_PLUGIN_GL_VERSION_1_1\n#endif\n\n#if (defined(GL_VERSION_1_1) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_VERSION_1_1)) && !defined(REGAL_NO_DECLARATION_GL_VERSION_1_1)\n#define REGAL_NO_DECLARATION_GL_VERSION_1_1\n#endif\n\n#ifndef GL_VERSION_1_1\n#define GL_VERSION_1_1 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_VERSION_1_1\n#define GL_FALSE                         0x0\n#define GL_NONE                          0x0\n#define GL_NO_ERROR                      0x0\n#define GL_POINTS                        0x0\n#define GL_ZERO                          0x0\n#define GL_CLIENT_PIXEL_STORE_BIT        0x1\n#define GL_CURRENT_BIT                   0x1\n#define GL_LINES                         0x1\n#define GL_ONE                           0x1\n#define GL_TRUE                          0x1\n#define GL_POLYGON_STIPPLE_BIT           0x10                           /* 16 */\n#define GL_ACCUM                         0x100                          /* 256 */\n#define GL_DEPTH_BUFFER_BIT              0x100                          /* 256 */\n#define GL_TEXTURE_WIDTH                 0x1000                         /* 4096 */\n#define GL_TRANSFORM_BIT                 0x1000                         /* 4096 */\n#define GL_EVAL_BIT                      0x10000                        /* 65536 */\n#define GL_TEXTURE_HEIGHT                0x1001                         /* 4097 */\n#define GL_TEXTURE_INTERNAL_FORMAT       0x1003                         /* 4099 */\n#define GL_TEXTURE_BORDER_COLOR          0x1004                         /* 4100 */\n#define GL_TEXTURE_BORDER                0x1005                         /* 4101 */\n#define GL_LOAD                          0x101                          /* 257 */\n#define GL_RETURN                        0x102                          /* 258 */\n#define GL_MULT                          0x103                          /* 259 */\n#define GL_ADD                           0x104                          /* 260 */\n#define GL_DONT_CARE                     0x1100                         /* 4352 */\n#define GL_FASTEST                       0x1101                         /* 4353 */\n#define GL_NICEST                        0x1102                         /* 4354 */\n#define GL_AMBIENT                       0x1200                         /* 4608 */\n#define GL_DIFFUSE                       0x1201                         /* 4609 */\n#define GL_SPECULAR                      0x1202                         /* 4610 */\n#define GL_POSITION                      0x1203                         /* 4611 */\n#define GL_SPOT_DIRECTION                0x1204                         /* 4612 */\n#define GL_SPOT_EXPONENT                 0x1205                         /* 4613 */\n#define GL_SPOT_CUTOFF                   0x1206                         /* 4614 */\n#define GL_CONSTANT_ATTENUATION          0x1207                         /* 4615 */\n#define GL_LINEAR_ATTENUATION            0x1208                         /* 4616 */\n#define GL_QUADRATIC_ATTENUATION         0x1209                         /* 4617 */\n#define GL_COMPILE                       0x1300                         /* 4864 */\n#define GL_COMPILE_AND_EXECUTE           0x1301                         /* 4865 */\n#define GL_BYTE                          0x1400                         /* 5120 */\n#define GL_UNSIGNED_BYTE                 0x1401                         /* 5121 */\n#define GL_SHORT                         0x1402                         /* 5122 */\n#define GL_UNSIGNED_SHORT                0x1403                         /* 5123 */\n#define GL_INT                           0x1404                         /* 5124 */\n#define GL_UNSIGNED_INT                  0x1405                         /* 5125 */\n#define GL_FLOAT                         0x1406                         /* 5126 */\n#define GL_2_BYTES                       0x1407                         /* 5127 */\n#define GL_3_BYTES                       0x1408                         /* 5128 */\n#define GL_4_BYTES                       0x1409                         /* 5129 */\n#define GL_DOUBLE                        0x140a                         /* 5130 */\n#define GL_CLEAR                         0x1500                         /* 5376 */\n#define GL_AND                           0x1501                         /* 5377 */\n#define GL_AND_REVERSE                   0x1502                         /* 5378 */\n#define GL_COPY                          0x1503                         /* 5379 */\n#define GL_AND_INVERTED                  0x1504                         /* 5380 */\n#define GL_NOOP                          0x1505                         /* 5381 */\n#define GL_XOR                           0x1506                         /* 5382 */\n#define GL_OR                            0x1507                         /* 5383 */\n#define GL_NOR                           0x1508                         /* 5384 */\n#define GL_EQUIV                         0x1509                         /* 5385 */\n#define GL_INVERT                        0x150a                         /* 5386 */\n#define GL_OR_REVERSE                    0x150b                         /* 5387 */\n#define GL_COPY_INVERTED                 0x150c                         /* 5388 */\n#define GL_OR_INVERTED                   0x150d                         /* 5389 */\n#define GL_NAND                          0x150e                         /* 5390 */\n#define GL_SET                           0x150f                         /* 5391 */\n#define GL_EMISSION                      0x1600                         /* 5632 */\n#define GL_SHININESS                     0x1601                         /* 5633 */\n#define GL_AMBIENT_AND_DIFFUSE           0x1602                         /* 5634 */\n#define GL_COLOR_INDEXES                 0x1603                         /* 5635 */\n#define GL_MODELVIEW                     0x1700                         /* 5888 */\n#define GL_PROJECTION                    0x1701                         /* 5889 */\n#define GL_TEXTURE                       0x1702                         /* 5890 */\n#define GL_COLOR                         0x1800                         /* 6144 */\n#define GL_DEPTH                         0x1801                         /* 6145 */\n#define GL_STENCIL                       0x1802                         /* 6146 */\n#define GL_COLOR_INDEX                   0x1900                         /* 6400 */\n#define GL_STENCIL_INDEX                 0x1901                         /* 6401 */\n#define GL_DEPTH_COMPONENT               0x1902                         /* 6402 */\n#define GL_RED                           0x1903                         /* 6403 */\n#define GL_GREEN                         0x1904                         /* 6404 */\n#define GL_BLUE                          0x1905                         /* 6405 */\n#define GL_ALPHA                         0x1906                         /* 6406 */\n#define GL_RGB                           0x1907                         /* 6407 */\n#define GL_RGBA                          0x1908                         /* 6408 */\n#define GL_LUMINANCE                     0x1909                         /* 6409 */\n#define GL_LUMINANCE_ALPHA               0x190a                         /* 6410 */\n#define GL_BITMAP                        0x1a00                         /* 6656 */\n#define GL_POINT                         0x1b00                         /* 6912 */\n#define GL_LINE                          0x1b01                         /* 6913 */\n#define GL_FILL                          0x1b02                         /* 6914 */\n#define GL_RENDER                        0x1c00                         /* 7168 */\n#define GL_FEEDBACK                      0x1c01                         /* 7169 */\n#define GL_SELECT                        0x1c02                         /* 7170 */\n#define GL_FLAT                          0x1d00                         /* 7424 */\n#define GL_SMOOTH                        0x1d01                         /* 7425 */\n#define GL_KEEP                          0x1e00                         /* 7680 */\n#define GL_REPLACE                       0x1e01                         /* 7681 */\n#define GL_INCR                          0x1e02                         /* 7682 */\n#define GL_DECR                          0x1e03                         /* 7683 */\n#define GL_VENDOR                        0x1f00                         /* 7936 */\n#define GL_RENDERER                      0x1f01                         /* 7937 */\n#define GL_VERSION                       0x1f02                         /* 7938 */\n#define GL_EXTENSIONS                    0x1f03                         /* 7939 */\n#define GL_CLIENT_VERTEX_ARRAY_BIT       0x2\n#define GL_LINE_LOOP                     0x2\n#define GL_POINT_BIT                     0x2\n#define GL_PIXEL_MODE_BIT                0x20                           /* 32 */\n#define GL_ACCUM_BUFFER_BIT              0x200                          /* 512 */\n#define GL_NEVER                         0x200                          /* 512 */\n#define GL_ENABLE_BIT                    0x2000                         /* 8192 */\n#define GL_S                             0x2000                         /* 8192 */\n#define GL_LIST_BIT                      0x20000                        /* 131072 */\n#define GL_T                             0x2001                         /* 8193 */\n#define GL_R                             0x2002                         /* 8194 */\n#define GL_Q                             0x2003                         /* 8195 */\n#define GL_LESS                          0x201                          /* 513 */\n#define GL_EQUAL                         0x202                          /* 514 */\n#define GL_LEQUAL                        0x203                          /* 515 */\n#define GL_GREATER                       0x204                          /* 516 */\n#define GL_NOTEQUAL                      0x205                          /* 517 */\n#define GL_GEQUAL                        0x206                          /* 518 */\n#define GL_ALWAYS                        0x207                          /* 519 */\n#define GL_MODULATE                      0x2100                         /* 8448 */\n#define GL_DECAL                         0x2101                         /* 8449 */\n#define GL_TEXTURE_ENV_MODE              0x2200                         /* 8704 */\n#define GL_TEXTURE_ENV_COLOR             0x2201                         /* 8705 */\n#define GL_TEXTURE_ENV                   0x2300                         /* 8960 */\n#define GL_EYE_LINEAR                    0x2400                         /* 9216 */\n#define GL_OBJECT_LINEAR                 0x2401                         /* 9217 */\n#define GL_SPHERE_MAP                    0x2402                         /* 9218 */\n#define GL_TEXTURE_GEN_MODE              0x2500                         /* 9472 */\n#define GL_OBJECT_PLANE                  0x2501                         /* 9473 */\n#define GL_EYE_PLANE                     0x2502                         /* 9474 */\n#define GL_NEAREST                       0x2600                         /* 9728 */\n#define GL_LINEAR                        0x2601                         /* 9729 */\n#define GL_NEAREST_MIPMAP_NEAREST        0x2700                         /* 9984 */\n#define GL_LINEAR_MIPMAP_NEAREST         0x2701                         /* 9985 */\n#define GL_NEAREST_MIPMAP_LINEAR         0x2702                         /* 9986 */\n#define GL_LINEAR_MIPMAP_LINEAR          0x2703                         /* 9987 */\n#define GL_TEXTURE_MAG_FILTER            0x2800                         /* 10240 */\n#define GL_TEXTURE_MIN_FILTER            0x2801                         /* 10241 */\n#define GL_TEXTURE_WRAP_S                0x2802                         /* 10242 */\n#define GL_TEXTURE_WRAP_T                0x2803                         /* 10243 */\n#define GL_CLAMP                         0x2900                         /* 10496 */\n#define GL_REPEAT                        0x2901                         /* 10497 */\n#define GL_POLYGON_OFFSET_UNITS          0x2a00                         /* 10752 */\n#define GL_POLYGON_OFFSET_POINT          0x2a01                         /* 10753 */\n#define GL_POLYGON_OFFSET_LINE           0x2a02                         /* 10754 */\n#define GL_R3_G3_B2                      0x2a10                         /* 10768 */\n#define GL_V2F                           0x2a20                         /* 10784 */\n#define GL_V3F                           0x2a21                         /* 10785 */\n#define GL_C4UB_V2F                      0x2a22                         /* 10786 */\n#define GL_C4UB_V3F                      0x2a23                         /* 10787 */\n#define GL_C3F_V3F                       0x2a24                         /* 10788 */\n#define GL_N3F_V3F                       0x2a25                         /* 10789 */\n#define GL_C4F_N3F_V3F                   0x2a26                         /* 10790 */\n#define GL_T2F_V3F                       0x2a27                         /* 10791 */\n#define GL_T4F_V4F                       0x2a28                         /* 10792 */\n#define GL_T2F_C4UB_V3F                  0x2a29                         /* 10793 */\n#define GL_T2F_C3F_V3F                   0x2a2a                         /* 10794 */\n#define GL_T2F_N3F_V3F                   0x2a2b                         /* 10795 */\n#define GL_T2F_C4F_N3F_V3F               0x2a2c                         /* 10796 */\n#define GL_T4F_C4F_N3F_V4F               0x2a2d                         /* 10797 */\n#define GL_LINE_STRIP                    0x3\n#define GL_SRC_COLOR                     0x300                          /* 768 */\n#define GL_CLIP_PLANE0                   0x3000                         /* 12288 */\n#define GL_CLIP_PLANE1                   0x3001                         /* 12289 */\n#define GL_CLIP_PLANE2                   0x3002                         /* 12290 */\n#define GL_CLIP_PLANE3                   0x3003                         /* 12291 */\n#define GL_CLIP_PLANE4                   0x3004                         /* 12292 */\n#define GL_CLIP_PLANE5                   0x3005                         /* 12293 */\n#define GL_CLIP_PLANE6                   0x3006                         /* 12294 */\n#define GL_CLIP_PLANE7                   0x3007                         /* 12295 */\n#define GL_ONE_MINUS_SRC_COLOR           0x301                          /* 769 */\n#define GL_SRC_ALPHA                     0x302                          /* 770 */\n#define GL_ONE_MINUS_SRC_ALPHA           0x303                          /* 771 */\n#define GL_DST_ALPHA                     0x304                          /* 772 */\n#define GL_ONE_MINUS_DST_ALPHA           0x305                          /* 773 */\n#define GL_DST_COLOR                     0x306                          /* 774 */\n#define GL_ONE_MINUS_DST_COLOR           0x307                          /* 775 */\n#define GL_SRC_ALPHA_SATURATE            0x308                          /* 776 */\n#define GL_LINE_BIT                      0x4\n#define GL_TRIANGLES                     0x4\n#define GL_LIGHTING_BIT                  0x40                           /* 64 */\n#define GL_FRONT_LEFT                    0x400                          /* 1024 */\n#define GL_STENCIL_BUFFER_BIT            0x400                          /* 1024 */\n#define GL_COLOR_BUFFER_BIT              0x4000                         /* 16384 */\n#define GL_LIGHT0                        0x4000                         /* 16384 */\n#define GL_TEXTURE_BIT                   0x40000                        /* 262144 */\n#define GL_LIGHT1                        0x4001                         /* 16385 */\n#define GL_LIGHT2                        0x4002                         /* 16386 */\n#define GL_LIGHT3                        0x4003                         /* 16387 */\n#define GL_LIGHT4                        0x4004                         /* 16388 */\n#define GL_LIGHT5                        0x4005                         /* 16389 */\n#define GL_LIGHT6                        0x4006                         /* 16390 */\n#define GL_LIGHT7                        0x4007                         /* 16391 */\n#define GL_FRONT_RIGHT                   0x401                          /* 1025 */\n#define GL_BACK_LEFT                     0x402                          /* 1026 */\n#define GL_BACK_RIGHT                    0x403                          /* 1027 */\n#define GL_FRONT                         0x404                          /* 1028 */\n#define GL_BACK                          0x405                          /* 1029 */\n#define GL_LEFT                          0x406                          /* 1030 */\n#define GL_RIGHT                         0x407                          /* 1031 */\n#define GL_FRONT_AND_BACK                0x408                          /* 1032 */\n#define GL_AUX0                          0x409                          /* 1033 */\n#define GL_AUX1                          0x40a                          /* 1034 */\n#define GL_AUX2                          0x40b                          /* 1035 */\n#define GL_AUX3                          0x40c                          /* 1036 */\n#define GL_TRIANGLE_STRIP                0x5\n#define GL_INVALID_ENUM                  0x500                          /* 1280 */\n#define GL_INVALID_VALUE                 0x501                          /* 1281 */\n#define GL_INVALID_OPERATION             0x502                          /* 1282 */\n#define GL_STACK_OVERFLOW                0x503                          /* 1283 */\n#define GL_STACK_UNDERFLOW               0x504                          /* 1284 */\n#define GL_OUT_OF_MEMORY                 0x505                          /* 1285 */\n#define GL_TRIANGLE_FAN                  0x6\n#define GL_2D                            0x600                          /* 1536 */\n#define GL_3D                            0x601                          /* 1537 */\n#define GL_3D_COLOR                      0x602                          /* 1538 */\n#define GL_3D_COLOR_TEXTURE              0x603                          /* 1539 */\n#define GL_4D_COLOR_TEXTURE              0x604                          /* 1540 */\n#define GL_QUADS                         0x7\n#define GL_PASS_THROUGH_TOKEN            0x700                          /* 1792 */\n#define GL_POINT_TOKEN                   0x701                          /* 1793 */\n#define GL_LINE_TOKEN                    0x702                          /* 1794 */\n#define GL_POLYGON_TOKEN                 0x703                          /* 1795 */\n#define GL_BITMAP_TOKEN                  0x704                          /* 1796 */\n#define GL_DRAW_PIXEL_TOKEN              0x705                          /* 1797 */\n#define GL_COPY_PIXEL_TOKEN              0x706                          /* 1798 */\n#define GL_LINE_RESET_TOKEN              0x707                          /* 1799 */\n#define GL_POLYGON_BIT                   0x8\n#define GL_QUAD_STRIP                    0x8\n#define GL_FOG_BIT                       0x80                           /* 128 */\n#define GL_EXP                           0x800                          /* 2048 */\n#define GL_VIEWPORT_BIT                  0x800                          /* 2048 */\n#define GL_HINT_BIT                      0x8000                         /* 32768 */\n#define GL_SCISSOR_BIT                   0x80000                        /* 524288 */\n#define GL_EXP2                          0x801                          /* 2049 */\n#define GL_POLYGON_OFFSET_FILL           0x8037                         /* 32823 */\n#define GL_POLYGON_OFFSET_FACTOR         0x8038                         /* 32824 */\n#define GL_ALPHA4                        0x803b                         /* 32827 */\n#define GL_ALPHA8                        0x803c                         /* 32828 */\n#define GL_ALPHA12                       0x803d                         /* 32829 */\n#define GL_ALPHA16                       0x803e                         /* 32830 */\n#define GL_LUMINANCE4                    0x803f                         /* 32831 */\n#define GL_LUMINANCE8                    0x8040                         /* 32832 */\n#define GL_LUMINANCE12                   0x8041                         /* 32833 */\n#define GL_LUMINANCE16                   0x8042                         /* 32834 */\n#define GL_LUMINANCE4_ALPHA4             0x8043                         /* 32835 */\n#define GL_LUMINANCE6_ALPHA2             0x8044                         /* 32836 */\n#define GL_LUMINANCE8_ALPHA8             0x8045                         /* 32837 */\n#define GL_LUMINANCE12_ALPHA4            0x8046                         /* 32838 */\n#define GL_LUMINANCE12_ALPHA12           0x8047                         /* 32839 */\n#define GL_LUMINANCE16_ALPHA16           0x8048                         /* 32840 */\n#define GL_INTENSITY                     0x8049                         /* 32841 */\n#define GL_INTENSITY4                    0x804a                         /* 32842 */\n#define GL_INTENSITY8                    0x804b                         /* 32843 */\n#define GL_INTENSITY12                   0x804c                         /* 32844 */\n#define GL_INTENSITY16                   0x804d                         /* 32845 */\n#define GL_RGB4                          0x804f                         /* 32847 */\n#define GL_RGB5                          0x8050                         /* 32848 */\n#define GL_RGB8                          0x8051                         /* 32849 */\n#define GL_RGB10                         0x8052                         /* 32850 */\n#define GL_RGB12                         0x8053                         /* 32851 */\n#define GL_RGB16                         0x8054                         /* 32852 */\n#define GL_RGBA2                         0x8055                         /* 32853 */\n#define GL_RGBA4                         0x8056                         /* 32854 */\n#define GL_RGB5_A1                       0x8057                         /* 32855 */\n#define GL_RGBA8                         0x8058                         /* 32856 */\n#define GL_RGB10_A2                      0x8059                         /* 32857 */\n#define GL_RGBA12                        0x805a                         /* 32858 */\n#define GL_RGBA16                        0x805b                         /* 32859 */\n#define GL_TEXTURE_RED_SIZE              0x805c                         /* 32860 */\n#define GL_TEXTURE_GREEN_SIZE            0x805d                         /* 32861 */\n#define GL_TEXTURE_BLUE_SIZE             0x805e                         /* 32862 */\n#define GL_TEXTURE_ALPHA_SIZE            0x805f                         /* 32863 */\n#define GL_TEXTURE_LUMINANCE_SIZE        0x8060                         /* 32864 */\n#define GL_TEXTURE_INTENSITY_SIZE        0x8061                         /* 32865 */\n#define GL_PROXY_TEXTURE_1D              0x8063                         /* 32867 */\n#define GL_PROXY_TEXTURE_2D              0x8064                         /* 32868 */\n#define GL_TEXTURE_PRIORITY              0x8066                         /* 32870 */\n#define GL_TEXTURE_RESIDENT              0x8067                         /* 32871 */\n#define GL_TEXTURE_BINDING_1D            0x8068                         /* 32872 */\n#define GL_TEXTURE_BINDING_2D            0x8069                         /* 32873 */\n#define GL_VERTEX_ARRAY                  0x8074                         /* 32884 */\n#define GL_NORMAL_ARRAY                  0x8075                         /* 32885 */\n#define GL_COLOR_ARRAY                   0x8076                         /* 32886 */\n#define GL_INDEX_ARRAY                   0x8077                         /* 32887 */\n#define GL_TEXTURE_COORD_ARRAY           0x8078                         /* 32888 */\n#define GL_EDGE_FLAG_ARRAY               0x8079                         /* 32889 */\n#define GL_VERTEX_ARRAY_SIZE             0x807a                         /* 32890 */\n#define GL_VERTEX_ARRAY_TYPE             0x807b                         /* 32891 */\n#define GL_VERTEX_ARRAY_STRIDE           0x807c                         /* 32892 */\n#define GL_NORMAL_ARRAY_TYPE             0x807e                         /* 32894 */\n#define GL_NORMAL_ARRAY_STRIDE           0x807f                         /* 32895 */\n#define GL_COLOR_ARRAY_SIZE              0x8081                         /* 32897 */\n#define GL_COLOR_ARRAY_TYPE              0x8082                         /* 32898 */\n#define GL_COLOR_ARRAY_STRIDE            0x8083                         /* 32899 */\n#define GL_INDEX_ARRAY_TYPE              0x8085                         /* 32901 */\n#define GL_INDEX_ARRAY_STRIDE            0x8086                         /* 32902 */\n#define GL_TEXTURE_COORD_ARRAY_SIZE      0x8088                         /* 32904 */\n#define GL_TEXTURE_COORD_ARRAY_TYPE      0x8089                         /* 32905 */\n#define GL_TEXTURE_COORD_ARRAY_STRIDE    0x808a                         /* 32906 */\n#define GL_EDGE_FLAG_ARRAY_STRIDE        0x808c                         /* 32908 */\n#define GL_VERTEX_ARRAY_POINTER          0x808e                         /* 32910 */\n#define GL_NORMAL_ARRAY_POINTER          0x808f                         /* 32911 */\n#define GL_COLOR_ARRAY_POINTER           0x8090                         /* 32912 */\n#define GL_INDEX_ARRAY_POINTER           0x8091                         /* 32913 */\n#define GL_TEXTURE_COORD_ARRAY_POINTER   0x8092                         /* 32914 */\n#define GL_EDGE_FLAG_ARRAY_POINTER       0x8093                         /* 32915 */\n#define GL_POLYGON                       0x9\n#define GL_CW                            0x900                          /* 2304 */\n#define GL_CCW                           0x901                          /* 2305 */\n#define GL_COEFF                         0xa00                          /* 2560 */\n#define GL_ORDER                         0xa01                          /* 2561 */\n#define GL_DOMAIN                        0xa02                          /* 2562 */\n#define GL_CURRENT_COLOR                 0xb00                          /* 2816 */\n#define GL_CURRENT_INDEX                 0xb01                          /* 2817 */\n#define GL_CURRENT_NORMAL                0xb02                          /* 2818 */\n#define GL_CURRENT_TEXTURE_COORDS        0xb03                          /* 2819 */\n#define GL_CURRENT_RASTER_COLOR          0xb04                          /* 2820 */\n#define GL_CURRENT_RASTER_INDEX          0xb05                          /* 2821 */\n#define GL_CURRENT_RASTER_TEXTURE_COORDS 0xb06                          /* 2822 */\n#define GL_CURRENT_RASTER_POSITION       0xb07                          /* 2823 */\n#define GL_CURRENT_RASTER_POSITION_VALID 0xb08                          /* 2824 */\n#define GL_CURRENT_RASTER_DISTANCE       0xb09                          /* 2825 */\n#define GL_POINT_SMOOTH                  0xb10                          /* 2832 */\n#define GL_POINT_SIZE                    0xb11                          /* 2833 */\n#define GL_POINT_SIZE_RANGE              0xb12                          /* 2834 */\n#define GL_POINT_SIZE_GRANULARITY        0xb13                          /* 2835 */\n#define GL_LINE_SMOOTH                   0xb20                          /* 2848 */\n#define GL_LINE_WIDTH                    0xb21                          /* 2849 */\n#define GL_LINE_WIDTH_RANGE              0xb22                          /* 2850 */\n#define GL_LINE_WIDTH_GRANULARITY        0xb23                          /* 2851 */\n#define GL_LINE_STIPPLE                  0xb24                          /* 2852 */\n#define GL_LINE_STIPPLE_PATTERN          0xb25                          /* 2853 */\n#define GL_LINE_STIPPLE_REPEAT           0xb26                          /* 2854 */\n#define GL_LIST_MODE                     0xb30                          /* 2864 */\n#define GL_MAX_LIST_NESTING              0xb31                          /* 2865 */\n#define GL_LIST_BASE                     0xb32                          /* 2866 */\n#define GL_LIST_INDEX                    0xb33                          /* 2867 */\n#define GL_POLYGON_MODE                  0xb40                          /* 2880 */\n#define GL_POLYGON_SMOOTH                0xb41                          /* 2881 */\n#define GL_POLYGON_STIPPLE               0xb42                          /* 2882 */\n#define GL_EDGE_FLAG                     0xb43                          /* 2883 */\n#define GL_CULL_FACE                     0xb44                          /* 2884 */\n#define GL_CULL_FACE_MODE                0xb45                          /* 2885 */\n#define GL_FRONT_FACE                    0xb46                          /* 2886 */\n#define GL_LIGHTING                      0xb50                          /* 2896 */\n#define GL_LIGHT_MODEL_LOCAL_VIEWER      0xb51                          /* 2897 */\n#define GL_LIGHT_MODEL_TWO_SIDE          0xb52                          /* 2898 */\n#define GL_LIGHT_MODEL_AMBIENT           0xb53                          /* 2899 */\n#define GL_SHADE_MODEL                   0xb54                          /* 2900 */\n#define GL_COLOR_MATERIAL_FACE           0xb55                          /* 2901 */\n#define GL_COLOR_MATERIAL_PARAMETER      0xb56                          /* 2902 */\n#define GL_COLOR_MATERIAL                0xb57                          /* 2903 */\n#define GL_FOG                           0xb60                          /* 2912 */\n#define GL_FOG_INDEX                     0xb61                          /* 2913 */\n#define GL_FOG_DENSITY                   0xb62                          /* 2914 */\n#define GL_FOG_START                     0xb63                          /* 2915 */\n#define GL_FOG_END                       0xb64                          /* 2916 */\n#define GL_FOG_MODE                      0xb65                          /* 2917 */\n#define GL_FOG_COLOR                     0xb66                          /* 2918 */\n#define GL_DEPTH_RANGE                   0xb70                          /* 2928 */\n#define GL_DEPTH_TEST                    0xb71                          /* 2929 */\n#define GL_DEPTH_WRITEMASK               0xb72                          /* 2930 */\n#define GL_DEPTH_CLEAR_VALUE             0xb73                          /* 2931 */\n#define GL_DEPTH_FUNC                    0xb74                          /* 2932 */\n#define GL_ACCUM_CLEAR_VALUE             0xb80                          /* 2944 */\n#define GL_STENCIL_TEST                  0xb90                          /* 2960 */\n#define GL_STENCIL_CLEAR_VALUE           0xb91                          /* 2961 */\n#define GL_STENCIL_FUNC                  0xb92                          /* 2962 */\n#define GL_STENCIL_VALUE_MASK            0xb93                          /* 2963 */\n#define GL_STENCIL_FAIL                  0xb94                          /* 2964 */\n#define GL_STENCIL_PASS_DEPTH_FAIL       0xb95                          /* 2965 */\n#define GL_STENCIL_PASS_DEPTH_PASS       0xb96                          /* 2966 */\n#define GL_STENCIL_REF                   0xb97                          /* 2967 */\n#define GL_STENCIL_WRITEMASK             0xb98                          /* 2968 */\n#define GL_MATRIX_MODE                   0xba0                          /* 2976 */\n#define GL_NORMALIZE                     0xba1                          /* 2977 */\n#define GL_VIEWPORT                      0xba2                          /* 2978 */\n#define GL_MODELVIEW_STACK_DEPTH         0xba3                          /* 2979 */\n#define GL_PROJECTION_STACK_DEPTH        0xba4                          /* 2980 */\n#define GL_TEXTURE_STACK_DEPTH           0xba5                          /* 2981 */\n#define GL_MODELVIEW_MATRIX              0xba6                          /* 2982 */\n#define GL_PROJECTION_MATRIX             0xba7                          /* 2983 */\n#define GL_TEXTURE_MATRIX                0xba8                          /* 2984 */\n#define GL_ATTRIB_STACK_DEPTH            0xbb0                          /* 2992 */\n#define GL_CLIENT_ATTRIB_STACK_DEPTH     0xbb1                          /* 2993 */\n#define GL_ALPHA_TEST                    0xbc0                          /* 3008 */\n#define GL_ALPHA_TEST_FUNC               0xbc1                          /* 3009 */\n#define GL_ALPHA_TEST_REF                0xbc2                          /* 3010 */\n#define GL_DITHER                        0xbd0                          /* 3024 */\n#define GL_BLEND_DST                     0xbe0                          /* 3040 */\n#define GL_BLEND_SRC                     0xbe1                          /* 3041 */\n#define GL_BLEND                         0xbe2                          /* 3042 */\n#define GL_LOGIC_OP_MODE                 0xbf0                          /* 3056 */\n#define GL_INDEX_LOGIC_OP                0xbf1                          /* 3057 */\n#define GL_COLOR_LOGIC_OP                0xbf2                          /* 3058 */\n#define GL_AUX_BUFFERS                   0xc00                          /* 3072 */\n#define GL_DRAW_BUFFER                   0xc01                          /* 3073 */\n#define GL_READ_BUFFER                   0xc02                          /* 3074 */\n#define GL_SCISSOR_BOX                   0xc10                          /* 3088 */\n#define GL_SCISSOR_TEST                  0xc11                          /* 3089 */\n#define GL_INDEX_CLEAR_VALUE             0xc20                          /* 3104 */\n#define GL_INDEX_WRITEMASK               0xc21                          /* 3105 */\n#define GL_COLOR_CLEAR_VALUE             0xc22                          /* 3106 */\n#define GL_COLOR_WRITEMASK               0xc23                          /* 3107 */\n#define GL_INDEX_MODE                    0xc30                          /* 3120 */\n#define GL_RGBA_MODE                     0xc31                          /* 3121 */\n#define GL_DOUBLEBUFFER                  0xc32                          /* 3122 */\n#define GL_STEREO                        0xc33                          /* 3123 */\n#define GL_RENDER_MODE                   0xc40                          /* 3136 */\n#define GL_PERSPECTIVE_CORRECTION_HINT   0xc50                          /* 3152 */\n#define GL_POINT_SMOOTH_HINT             0xc51                          /* 3153 */\n#define GL_LINE_SMOOTH_HINT              0xc52                          /* 3154 */\n#define GL_POLYGON_SMOOTH_HINT           0xc53                          /* 3155 */\n#define GL_FOG_HINT                      0xc54                          /* 3156 */\n#define GL_TEXTURE_GEN_S                 0xc60                          /* 3168 */\n#define GL_TEXTURE_GEN_T                 0xc61                          /* 3169 */\n#define GL_TEXTURE_GEN_R                 0xc62                          /* 3170 */\n#define GL_TEXTURE_GEN_Q                 0xc63                          /* 3171 */\n#define GL_PIXEL_MAP_I_TO_I              0xc70                          /* 3184 */\n#define GL_PIXEL_MAP_S_TO_S              0xc71                          /* 3185 */\n#define GL_PIXEL_MAP_I_TO_R              0xc72                          /* 3186 */\n#define GL_PIXEL_MAP_I_TO_G              0xc73                          /* 3187 */\n#define GL_PIXEL_MAP_I_TO_B              0xc74                          /* 3188 */\n#define GL_PIXEL_MAP_I_TO_A              0xc75                          /* 3189 */\n#define GL_PIXEL_MAP_R_TO_R              0xc76                          /* 3190 */\n#define GL_PIXEL_MAP_G_TO_G              0xc77                          /* 3191 */\n#define GL_PIXEL_MAP_B_TO_B              0xc78                          /* 3192 */\n#define GL_PIXEL_MAP_A_TO_A              0xc79                          /* 3193 */\n#define GL_PIXEL_MAP_I_TO_I_SIZE         0xcb0                          /* 3248 */\n#define GL_PIXEL_MAP_S_TO_S_SIZE         0xcb1                          /* 3249 */\n#define GL_PIXEL_MAP_I_TO_R_SIZE         0xcb2                          /* 3250 */\n#define GL_PIXEL_MAP_I_TO_G_SIZE         0xcb3                          /* 3251 */\n#define GL_PIXEL_MAP_I_TO_B_SIZE         0xcb4                          /* 3252 */\n#define GL_PIXEL_MAP_I_TO_A_SIZE         0xcb5                          /* 3253 */\n#define GL_PIXEL_MAP_R_TO_R_SIZE         0xcb6                          /* 3254 */\n#define GL_PIXEL_MAP_G_TO_G_SIZE         0xcb7                          /* 3255 */\n#define GL_PIXEL_MAP_B_TO_B_SIZE         0xcb8                          /* 3256 */\n#define GL_PIXEL_MAP_A_TO_A_SIZE         0xcb9                          /* 3257 */\n#define GL_UNPACK_SWAP_BYTES             0xcf0                          /* 3312 */\n#define GL_UNPACK_LSB_FIRST              0xcf1                          /* 3313 */\n#define GL_UNPACK_ROW_LENGTH             0xcf2                          /* 3314 */\n#define GL_UNPACK_SKIP_ROWS              0xcf3                          /* 3315 */\n#define GL_UNPACK_SKIP_PIXELS            0xcf4                          /* 3316 */\n#define GL_UNPACK_ALIGNMENT              0xcf5                          /* 3317 */\n#define GL_PACK_SWAP_BYTES               0xd00                          /* 3328 */\n#define GL_PACK_LSB_FIRST                0xd01                          /* 3329 */\n#define GL_PACK_ROW_LENGTH               0xd02                          /* 3330 */\n#define GL_PACK_SKIP_ROWS                0xd03                          /* 3331 */\n#define GL_PACK_SKIP_PIXELS              0xd04                          /* 3332 */\n#define GL_PACK_ALIGNMENT                0xd05                          /* 3333 */\n#define GL_MAP_COLOR                     0xd10                          /* 3344 */\n#define GL_MAP_STENCIL                   0xd11                          /* 3345 */\n#define GL_INDEX_SHIFT                   0xd12                          /* 3346 */\n#define GL_INDEX_OFFSET                  0xd13                          /* 3347 */\n#define GL_RED_SCALE                     0xd14                          /* 3348 */\n#define GL_RED_BIAS                      0xd15                          /* 3349 */\n#define GL_ZOOM_X                        0xd16                          /* 3350 */\n#define GL_ZOOM_Y                        0xd17                          /* 3351 */\n#define GL_GREEN_SCALE                   0xd18                          /* 3352 */\n#define GL_GREEN_BIAS                    0xd19                          /* 3353 */\n#define GL_BLUE_SCALE                    0xd1a                          /* 3354 */\n#define GL_BLUE_BIAS                     0xd1b                          /* 3355 */\n#define GL_ALPHA_SCALE                   0xd1c                          /* 3356 */\n#define GL_ALPHA_BIAS                    0xd1d                          /* 3357 */\n#define GL_DEPTH_SCALE                   0xd1e                          /* 3358 */\n#define GL_DEPTH_BIAS                    0xd1f                          /* 3359 */\n#define GL_MAX_EVAL_ORDER                0xd30                          /* 3376 */\n#define GL_MAX_LIGHTS                    0xd31                          /* 3377 */\n#define GL_MAX_CLIP_PLANES               0xd32                          /* 3378 */\n#define GL_MAX_TEXTURE_SIZE              0xd33                          /* 3379 */\n#define GL_MAX_PIXEL_MAP_TABLE           0xd34                          /* 3380 */\n#define GL_MAX_ATTRIB_STACK_DEPTH        0xd35                          /* 3381 */\n#define GL_MAX_MODELVIEW_STACK_DEPTH     0xd36                          /* 3382 */\n#define GL_MAX_NAME_STACK_DEPTH          0xd37                          /* 3383 */\n#define GL_MAX_PROJECTION_STACK_DEPTH    0xd38                          /* 3384 */\n#define GL_MAX_TEXTURE_STACK_DEPTH       0xd39                          /* 3385 */\n#define GL_MAX_VIEWPORT_DIMS             0xd3a                          /* 3386 */\n#define GL_MAX_CLIENT_ATTRIB_STACK_DEPTH 0xd3b                          /* 3387 */\n#define GL_SUBPIXEL_BITS                 0xd50                          /* 3408 */\n#define GL_INDEX_BITS                    0xd51                          /* 3409 */\n#define GL_RED_BITS                      0xd52                          /* 3410 */\n#define GL_GREEN_BITS                    0xd53                          /* 3411 */\n#define GL_BLUE_BITS                     0xd54                          /* 3412 */\n#define GL_ALPHA_BITS                    0xd55                          /* 3413 */\n#define GL_DEPTH_BITS                    0xd56                          /* 3414 */\n#define GL_STENCIL_BITS                  0xd57                          /* 3415 */\n#define GL_ACCUM_RED_BITS                0xd58                          /* 3416 */\n#define GL_ACCUM_GREEN_BITS              0xd59                          /* 3417 */\n#define GL_ACCUM_BLUE_BITS               0xd5a                          /* 3418 */\n#define GL_ACCUM_ALPHA_BITS              0xd5b                          /* 3419 */\n#define GL_NAME_STACK_DEPTH              0xd70                          /* 3440 */\n#define GL_AUTO_NORMAL                   0xd80                          /* 3456 */\n#define GL_MAP1_COLOR_4                  0xd90                          /* 3472 */\n#define GL_MAP1_INDEX                    0xd91                          /* 3473 */\n#define GL_MAP1_NORMAL                   0xd92                          /* 3474 */\n#define GL_MAP1_TEXTURE_COORD_1          0xd93                          /* 3475 */\n#define GL_MAP1_TEXTURE_COORD_2          0xd94                          /* 3476 */\n#define GL_MAP1_TEXTURE_COORD_3          0xd95                          /* 3477 */\n#define GL_MAP1_TEXTURE_COORD_4          0xd96                          /* 3478 */\n#define GL_MAP1_VERTEX_3                 0xd97                          /* 3479 */\n#define GL_MAP1_VERTEX_4                 0xd98                          /* 3480 */\n#define GL_MAP2_COLOR_4                  0xdb0                          /* 3504 */\n#define GL_MAP2_INDEX                    0xdb1                          /* 3505 */\n#define GL_MAP2_NORMAL                   0xdb2                          /* 3506 */\n#define GL_MAP2_TEXTURE_COORD_1          0xdb3                          /* 3507 */\n#define GL_MAP2_TEXTURE_COORD_2          0xdb4                          /* 3508 */\n#define GL_MAP2_TEXTURE_COORD_3          0xdb5                          /* 3509 */\n#define GL_MAP2_TEXTURE_COORD_4          0xdb6                          /* 3510 */\n#define GL_MAP2_VERTEX_3                 0xdb7                          /* 3511 */\n#define GL_MAP2_VERTEX_4                 0xdb8                          /* 3512 */\n#define GL_MAP1_GRID_DOMAIN              0xdd0                          /* 3536 */\n#define GL_MAP1_GRID_SEGMENTS            0xdd1                          /* 3537 */\n#define GL_MAP2_GRID_DOMAIN              0xdd2                          /* 3538 */\n#define GL_MAP2_GRID_SEGMENTS            0xdd3                          /* 3539 */\n#define GL_TEXTURE_1D                    0xde0                          /* 3552 */\n#define GL_TEXTURE_2D                    0xde1                          /* 3553 */\n#define GL_FEEDBACK_BUFFER_POINTER       0xdf0                          /* 3568 */\n#define GL_FEEDBACK_BUFFER_SIZE          0xdf1                          /* 3569 */\n#define GL_FEEDBACK_BUFFER_TYPE          0xdf2                          /* 3570 */\n#define GL_SELECTION_BUFFER_POINTER      0xdf3                          /* 3571 */\n#define GL_SELECTION_BUFFER_SIZE         0xdf4                          /* 3572 */\n#define GL_ALL_ATTRIB_BITS               0xfffff                        /* 1048575 */\n#define GL_CLIENT_ALL_ATTRIB_BITS        0xffffffff                     /* 4294967295 */\n#define GL_LOGIC_OP                      GL_INDEX_LOGIC_OP\n#define GL_TEXTURE_COMPONENTS            GL_TEXTURE_INTERNAL_FORMAT\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_VERSION_1_1\ntypedef GLboolean (REGAL_CALL *PFNGLARETEXTURESRESIDENTPROC)(GLsizei n, const GLuint *textures, GLboolean *residences);\ntypedef GLboolean (REGAL_CALL *PFNGLISTEXTUREPROC)(GLuint texture);\ntypedef void (REGAL_CALL *PFNGLARRAYELEMENTPROC)(GLint index);\ntypedef void (REGAL_CALL *PFNGLBINDTEXTUREPROC)(GLenum target, GLuint texture);\ntypedef void (REGAL_CALL *PFNGLCOLORPOINTERPROC)(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);\ntypedef void (REGAL_CALL *PFNGLCOPYTEXIMAGE1DPROC)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);\ntypedef void (REGAL_CALL *PFNGLCOPYTEXIMAGE2DPROC)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);\ntypedef void (REGAL_CALL *PFNGLCOPYTEXSUBIMAGE1DPROC)(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);\ntypedef void (REGAL_CALL *PFNGLCOPYTEXSUBIMAGE2DPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);\ntypedef void (REGAL_CALL *PFNGLDELETETEXTURESPROC)(GLsizei n, const GLuint *textures);\ntypedef void (REGAL_CALL *PFNGLDISABLECLIENTSTATEPROC)(GLenum cap);\ntypedef void (REGAL_CALL *PFNGLDRAWARRAYSPROC)(GLenum mode, GLint first, GLsizei count);\ntypedef void (REGAL_CALL *PFNGLDRAWELEMENTSPROC)(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices);\ntypedef void (REGAL_CALL *PFNGLEDGEFLAGPOINTERPROC)(GLsizei stride, const GLvoid *pointer);\ntypedef void (REGAL_CALL *PFNGLENABLECLIENTSTATEPROC)(GLenum cap);\ntypedef void (REGAL_CALL *PFNGLGENTEXTURESPROC)(GLsizei n, GLuint *textures);\ntypedef void (REGAL_CALL *PFNGLGETPOINTERVPROC)(GLenum pname, GLvoid **params);\ntypedef void (REGAL_CALL *PFNGLINDEXPOINTERPROC)(GLenum type, GLsizei stride, const GLvoid *pointer);\ntypedef void (REGAL_CALL *PFNGLINDEXUBPROC)(GLubyte c);\ntypedef void (REGAL_CALL *PFNGLINDEXUBVPROC)(const GLubyte *c);\ntypedef void (REGAL_CALL *PFNGLINTERLEAVEDARRAYSPROC)(GLenum format, GLsizei stride, const GLvoid *pointer);\ntypedef void (REGAL_CALL *PFNGLNORMALPOINTERPROC)(GLenum type, GLsizei stride, const GLvoid *pointer);\ntypedef void (REGAL_CALL *PFNGLPOLYGONOFFSETPROC)(GLfloat factor, GLfloat units);\ntypedef void (REGAL_CALL *PFNGLPOPCLIENTATTRIBPROC)(void);\ntypedef void (REGAL_CALL *PFNGLPRIORITIZETEXTURESPROC)(GLsizei n, const GLuint *textures, const GLclampf *priorities);\ntypedef void (REGAL_CALL *PFNGLPUSHCLIENTATTRIBPROC)(GLbitfield mask);\ntypedef void (REGAL_CALL *PFNGLTEXCOORDPOINTERPROC)(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);\ntypedef void (REGAL_CALL *PFNGLTEXSUBIMAGE1DPROC)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);\ntypedef void (REGAL_CALL *PFNGLTEXSUBIMAGE2DPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);\ntypedef void (REGAL_CALL *PFNGLVERTEXPOINTERPROC)(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_VERSION_1_1\n#define glAreTexturesResident               rglAreTexturesResident\n#define glArrayElement                      rglArrayElement\n#define glBindTexture                       rglBindTexture\n#define glColorPointer                      rglColorPointer\n#define glCopyTexImage1D                    rglCopyTexImage1D\n#define glCopyTexImage2D                    rglCopyTexImage2D\n#define glCopyTexSubImage1D                 rglCopyTexSubImage1D\n#define glCopyTexSubImage2D                 rglCopyTexSubImage2D\n#define glDeleteTextures                    rglDeleteTextures\n#define glDisableClientState                rglDisableClientState\n#define glDrawArrays                        rglDrawArrays\n#define glDrawElements                      rglDrawElements\n#define glEdgeFlagPointer                   rglEdgeFlagPointer\n#define glEnableClientState                 rglEnableClientState\n#define glGenTextures                       rglGenTextures\n#define glGetPointerv                       rglGetPointerv\n#define glIndexPointer                      rglIndexPointer\n#define glIndexub                           rglIndexub\n#define glIndexubv                          rglIndexubv\n#define glInterleavedArrays                 rglInterleavedArrays\n#define glIsTexture                         rglIsTexture\n#define glNormalPointer                     rglNormalPointer\n#define glPolygonOffset                     rglPolygonOffset\n#define glPopClientAttrib                   rglPopClientAttrib\n#define glPrioritizeTextures                rglPrioritizeTextures\n#define glPushClientAttrib                  rglPushClientAttrib\n#define glTexCoordPointer                   rglTexCoordPointer\n#define glTexSubImage1D                     rglTexSubImage1D\n#define glTexSubImage2D                     rglTexSubImage2D\n#define glVertexPointer                     rglVertexPointer\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_VERSION_1_1\nREGAL_DECL GLboolean REGAL_CALL glAreTexturesResident(GLsizei n, const GLuint *textures, GLboolean *residences);\nREGAL_DECL GLboolean REGAL_CALL glIsTexture(GLuint texture);\nREGAL_DECL void REGAL_CALL glArrayElement(GLint index);\nREGAL_DECL void REGAL_CALL glBindTexture(GLenum target, GLuint texture);\nREGAL_DECL void REGAL_CALL glColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL glCopyTexImage1D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);\nREGAL_DECL void REGAL_CALL glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);\nREGAL_DECL void REGAL_CALL glCopyTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);\nREGAL_DECL void REGAL_CALL glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);\nREGAL_DECL void REGAL_CALL glDeleteTextures(GLsizei n, const GLuint *textures);\nREGAL_DECL void REGAL_CALL glDisableClientState(GLenum cap);\nREGAL_DECL void REGAL_CALL glDrawArrays(GLenum mode, GLint first, GLsizei count);\nREGAL_DECL void REGAL_CALL glDrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices);\nREGAL_DECL void REGAL_CALL glEdgeFlagPointer(GLsizei stride, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL glEnableClientState(GLenum cap);\nREGAL_DECL void REGAL_CALL glGenTextures(GLsizei n, GLuint *textures);\nREGAL_DECL void REGAL_CALL glGetPointerv(GLenum pname, GLvoid **params);\nREGAL_DECL void REGAL_CALL glIndexPointer(GLenum type, GLsizei stride, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL glIndexub(GLubyte c);\nREGAL_DECL void REGAL_CALL glIndexubv(const GLubyte *c);\nREGAL_DECL void REGAL_CALL glInterleavedArrays(GLenum format, GLsizei stride, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL glNormalPointer(GLenum type, GLsizei stride, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL glPolygonOffset(GLfloat factor, GLfloat units);\nREGAL_DECL void REGAL_CALL glPopClientAttrib(void);\nREGAL_DECL void REGAL_CALL glPrioritizeTextures(GLsizei n, const GLuint *textures, const GLclampf *priorities);\nREGAL_DECL void REGAL_CALL glPushClientAttrib(GLbitfield mask);\nREGAL_DECL void REGAL_CALL glTexCoordPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL glTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL glVertexPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_VERSION_1_1\nREGAL_DECL GLboolean REGAL_CALL plugin_glAreTexturesResident(GLsizei n, const GLuint *textures, GLboolean *residences);\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsTexture(GLuint texture);\nREGAL_DECL void REGAL_CALL plugin_glArrayElement(GLint index);\nREGAL_DECL void REGAL_CALL plugin_glBindTexture(GLenum target, GLuint texture);\nREGAL_DECL void REGAL_CALL plugin_glColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL plugin_glCopyTexImage1D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);\nREGAL_DECL void REGAL_CALL plugin_glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);\nREGAL_DECL void REGAL_CALL plugin_glCopyTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);\nREGAL_DECL void REGAL_CALL plugin_glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);\nREGAL_DECL void REGAL_CALL plugin_glDeleteTextures(GLsizei n, const GLuint *textures);\nREGAL_DECL void REGAL_CALL plugin_glDisableClientState(GLenum cap);\nREGAL_DECL void REGAL_CALL plugin_glDrawArrays(GLenum mode, GLint first, GLsizei count);\nREGAL_DECL void REGAL_CALL plugin_glDrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices);\nREGAL_DECL void REGAL_CALL plugin_glEdgeFlagPointer(GLsizei stride, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL plugin_glEnableClientState(GLenum cap);\nREGAL_DECL void REGAL_CALL plugin_glGenTextures(GLsizei n, GLuint *textures);\nREGAL_DECL void REGAL_CALL plugin_glGetPointerv(GLenum pname, GLvoid **params);\nREGAL_DECL void REGAL_CALL plugin_glIndexPointer(GLenum type, GLsizei stride, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL plugin_glIndexub(GLubyte c);\nREGAL_DECL void REGAL_CALL plugin_glIndexubv(const GLubyte *c);\nREGAL_DECL void REGAL_CALL plugin_glInterleavedArrays(GLenum format, GLsizei stride, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL plugin_glNormalPointer(GLenum type, GLsizei stride, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL plugin_glPolygonOffset(GLfloat factor, GLfloat units);\nREGAL_DECL void REGAL_CALL plugin_glPopClientAttrib(void);\nREGAL_DECL void REGAL_CALL plugin_glPrioritizeTextures(GLsizei n, const GLuint *textures, const GLclampf *priorities);\nREGAL_DECL void REGAL_CALL plugin_glPushClientAttrib(GLbitfield mask);\nREGAL_DECL void REGAL_CALL plugin_glTexCoordPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL plugin_glTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL plugin_glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL plugin_glVertexPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);\n#endif\n\n/**\n ** GL_VERSION_1_2\n **/\n\n#if (defined(GL_VERSION_1_2) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_VERSION_1_2)) && !defined(REGAL_NO_ENUM_GL_VERSION_1_2)\n#define REGAL_NO_ENUM_GL_VERSION_1_2\n#endif\n\n#if (defined(GL_VERSION_1_2) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_VERSION_1_2)) && !defined(REGAL_NO_TYPEDEF_GL_VERSION_1_2)\n#define REGAL_NO_TYPEDEF_GL_VERSION_1_2\n#endif\n\n#if (defined(GL_VERSION_1_2) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_VERSION_1_2)) && !defined(REGAL_NO_NAMESPACE_GL_VERSION_1_2)\n#define REGAL_NO_NAMESPACE_GL_VERSION_1_2\n#endif\n\n#if (defined(GL_VERSION_1_2) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_VERSION_1_2)) && !defined(REGAL_NO_PLUGIN_GL_VERSION_1_2)\n#define REGAL_NO_PLUGIN_GL_VERSION_1_2\n#endif\n\n#if (defined(GL_VERSION_1_2) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_VERSION_1_2)) && !defined(REGAL_NO_DECLARATION_GL_VERSION_1_2)\n#define REGAL_NO_DECLARATION_GL_VERSION_1_2\n#endif\n\n#ifndef GL_VERSION_1_2\n#define GL_VERSION_1_2 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_VERSION_1_2\n#define GL_UNSIGNED_BYTE_3_3_2           0x8032     /* 32818 */\n#define GL_UNSIGNED_SHORT_4_4_4_4        0x8033     /* 32819 */\n#define GL_UNSIGNED_SHORT_5_5_5_1        0x8034     /* 32820 */\n#define GL_UNSIGNED_INT_8_8_8_8          0x8035     /* 32821 */\n#define GL_UNSIGNED_INT_10_10_10_2       0x8036     /* 32822 */\n#define GL_RESCALE_NORMAL                0x803a     /* 32826 */\n#define GL_TEXTURE_BINDING_3D            0x806a     /* 32874 */\n#define GL_PACK_SKIP_IMAGES              0x806b     /* 32875 */\n#define GL_PACK_IMAGE_HEIGHT             0x806c     /* 32876 */\n#define GL_UNPACK_SKIP_IMAGES            0x806d     /* 32877 */\n#define GL_UNPACK_IMAGE_HEIGHT           0x806e     /* 32878 */\n#define GL_TEXTURE_3D                    0x806f     /* 32879 */\n#define GL_PROXY_TEXTURE_3D              0x8070     /* 32880 */\n#define GL_TEXTURE_DEPTH                 0x8071     /* 32881 */\n#define GL_TEXTURE_WRAP_R                0x8072     /* 32882 */\n#define GL_MAX_3D_TEXTURE_SIZE           0x8073     /* 32883 */\n#define GL_BGR                           0x80e0     /* 32992 */\n#define GL_BGRA                          0x80e1     /* 32993 */\n#define GL_MAX_ELEMENTS_VERTICES         0x80e8     /* 33000 */\n#define GL_MAX_ELEMENTS_INDICES          0x80e9     /* 33001 */\n#define GL_CLAMP_TO_EDGE                 0x812f     /* 33071 */\n#define GL_TEXTURE_MIN_LOD               0x813a     /* 33082 */\n#define GL_TEXTURE_MAX_LOD               0x813b     /* 33083 */\n#define GL_TEXTURE_BASE_LEVEL            0x813c     /* 33084 */\n#define GL_TEXTURE_MAX_LEVEL             0x813d     /* 33085 */\n#define GL_LIGHT_MODEL_COLOR_CONTROL     0x81f8     /* 33272 */\n#define GL_SINGLE_COLOR                  0x81f9     /* 33273 */\n#define GL_SEPARATE_SPECULAR_COLOR       0x81fa     /* 33274 */\n#define GL_UNSIGNED_BYTE_2_3_3_REV       0x8362     /* 33634 */\n#define GL_UNSIGNED_SHORT_5_6_5          0x8363     /* 33635 */\n#define GL_UNSIGNED_SHORT_5_6_5_REV      0x8364     /* 33636 */\n#define GL_UNSIGNED_SHORT_4_4_4_4_REV    0x8365     /* 33637 */\n#define GL_UNSIGNED_SHORT_1_5_5_5_REV    0x8366     /* 33638 */\n#define GL_UNSIGNED_INT_8_8_8_8_REV      0x8367     /* 33639 */\n#define GL_UNSIGNED_INT_2_10_10_10_REV   0x8368     /* 33640 */\n#define GL_ALIASED_POINT_SIZE_RANGE      0x846d     /* 33901 */\n#define GL_ALIASED_LINE_WIDTH_RANGE      0x846e     /* 33902 */\n#define GL_SMOOTH_POINT_SIZE_RANGE       0xb12      /* 2834 */\n#define GL_SMOOTH_POINT_SIZE_GRANULARITY 0xb13      /* 2835 */\n#define GL_SMOOTH_LINE_WIDTH_RANGE       0xb22      /* 2850 */\n#define GL_SMOOTH_LINE_WIDTH_GRANULARITY 0xb23      /* 2851 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_VERSION_1_2\ntypedef void (REGAL_CALL *PFNGLBLENDCOLORPROC)(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);\ntypedef void (REGAL_CALL *PFNGLBLENDEQUATIONPROC)(GLenum mode);\ntypedef void (REGAL_CALL *PFNGLCOPYTEXSUBIMAGE3DPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);\ntypedef void (REGAL_CALL *PFNGLDRAWRANGEELEMENTSPROC)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices);\ntypedef void (REGAL_CALL *PFNGLTEXIMAGE3DPROC)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);\ntypedef void (REGAL_CALL *PFNGLTEXSUBIMAGE3DPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_VERSION_1_2\n#define glBlendColor                        rglBlendColor\n#define glBlendEquation                     rglBlendEquation\n#define glCopyTexSubImage3D                 rglCopyTexSubImage3D\n#define glDrawRangeElements                 rglDrawRangeElements\n#define glTexImage3D                        rglTexImage3D\n#define glTexSubImage3D                     rglTexSubImage3D\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_VERSION_1_2\nREGAL_DECL void REGAL_CALL glBlendColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);\nREGAL_DECL void REGAL_CALL glBlendEquation(GLenum mode);\nREGAL_DECL void REGAL_CALL glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);\nREGAL_DECL void REGAL_CALL glDrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices);\nREGAL_DECL void REGAL_CALL glTexImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL glTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_VERSION_1_2\nREGAL_DECL void REGAL_CALL plugin_glBlendColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);\nREGAL_DECL void REGAL_CALL plugin_glBlendEquation(GLenum mode);\nREGAL_DECL void REGAL_CALL plugin_glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);\nREGAL_DECL void REGAL_CALL plugin_glDrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices);\nREGAL_DECL void REGAL_CALL plugin_glTexImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);\nREGAL_DECL void REGAL_CALL plugin_glTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);\n#endif\n\n/**\n ** GL_VERSION_1_3\n **/\n\n#if (defined(GL_VERSION_1_3) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_VERSION_1_3)) && !defined(REGAL_NO_ENUM_GL_VERSION_1_3)\n#define REGAL_NO_ENUM_GL_VERSION_1_3\n#endif\n\n#if (defined(GL_VERSION_1_3) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_VERSION_1_3)) && !defined(REGAL_NO_TYPEDEF_GL_VERSION_1_3)\n#define REGAL_NO_TYPEDEF_GL_VERSION_1_3\n#endif\n\n#if (defined(GL_VERSION_1_3) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_VERSION_1_3)) && !defined(REGAL_NO_NAMESPACE_GL_VERSION_1_3)\n#define REGAL_NO_NAMESPACE_GL_VERSION_1_3\n#endif\n\n#if (defined(GL_VERSION_1_3) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_VERSION_1_3)) && !defined(REGAL_NO_PLUGIN_GL_VERSION_1_3)\n#define REGAL_NO_PLUGIN_GL_VERSION_1_3\n#endif\n\n#if (defined(GL_VERSION_1_3) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_VERSION_1_3)) && !defined(REGAL_NO_DECLARATION_GL_VERSION_1_3)\n#define REGAL_NO_DECLARATION_GL_VERSION_1_3\n#endif\n\n#ifndef GL_VERSION_1_3\n#define GL_VERSION_1_3 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_VERSION_1_3\n#define GL_MULTISAMPLE_BIT                0x20000000     /* 536870912 */\n#define GL_MULTISAMPLE                    0x809d         /* 32925 */\n#define GL_SAMPLE_ALPHA_TO_COVERAGE       0x809e         /* 32926 */\n#define GL_SAMPLE_ALPHA_TO_ONE            0x809f         /* 32927 */\n#define GL_SAMPLE_COVERAGE                0x80a0         /* 32928 */\n#define GL_SAMPLE_BUFFERS                 0x80a8         /* 32936 */\n#define GL_SAMPLES                        0x80a9         /* 32937 */\n#define GL_SAMPLE_COVERAGE_VALUE          0x80aa         /* 32938 */\n#define GL_SAMPLE_COVERAGE_INVERT         0x80ab         /* 32939 */\n#define GL_CLAMP_TO_BORDER                0x812d         /* 33069 */\n#define GL_TEXTURE0                       0x84c0         /* 33984 */\n#define GL_TEXTURE1                       0x84c1         /* 33985 */\n#define GL_TEXTURE2                       0x84c2         /* 33986 */\n#define GL_TEXTURE3                       0x84c3         /* 33987 */\n#define GL_TEXTURE4                       0x84c4         /* 33988 */\n#define GL_TEXTURE5                       0x84c5         /* 33989 */\n#define GL_TEXTURE6                       0x84c6         /* 33990 */\n#define GL_TEXTURE7                       0x84c7         /* 33991 */\n#define GL_TEXTURE8                       0x84c8         /* 33992 */\n#define GL_TEXTURE9                       0x84c9         /* 33993 */\n#define GL_TEXTURE10                      0x84ca         /* 33994 */\n#define GL_TEXTURE11                      0x84cb         /* 33995 */\n#define GL_TEXTURE12                      0x84cc         /* 33996 */\n#define GL_TEXTURE13                      0x84cd         /* 33997 */\n#define GL_TEXTURE14                      0x84ce         /* 33998 */\n#define GL_TEXTURE15                      0x84cf         /* 33999 */\n#define GL_TEXTURE16                      0x84d0         /* 34000 */\n#define GL_TEXTURE17                      0x84d1         /* 34001 */\n#define GL_TEXTURE18                      0x84d2         /* 34002 */\n#define GL_TEXTURE19                      0x84d3         /* 34003 */\n#define GL_TEXTURE20                      0x84d4         /* 34004 */\n#define GL_TEXTURE21                      0x84d5         /* 34005 */\n#define GL_TEXTURE22                      0x84d6         /* 34006 */\n#define GL_TEXTURE23                      0x84d7         /* 34007 */\n#define GL_TEXTURE24                      0x84d8         /* 34008 */\n#define GL_TEXTURE25                      0x84d9         /* 34009 */\n#define GL_TEXTURE26                      0x84da         /* 34010 */\n#define GL_TEXTURE27                      0x84db         /* 34011 */\n#define GL_TEXTURE28                      0x84dc         /* 34012 */\n#define GL_TEXTURE29                      0x84dd         /* 34013 */\n#define GL_TEXTURE30                      0x84de         /* 34014 */\n#define GL_TEXTURE31                      0x84df         /* 34015 */\n#define GL_ACTIVE_TEXTURE                 0x84e0         /* 34016 */\n#define GL_CLIENT_ACTIVE_TEXTURE          0x84e1         /* 34017 */\n#define GL_MAX_TEXTURE_UNITS              0x84e2         /* 34018 */\n#define GL_TRANSPOSE_MODELVIEW_MATRIX     0x84e3         /* 34019 */\n#define GL_TRANSPOSE_PROJECTION_MATRIX    0x84e4         /* 34020 */\n#define GL_TRANSPOSE_TEXTURE_MATRIX       0x84e5         /* 34021 */\n#define GL_TRANSPOSE_COLOR_MATRIX         0x84e6         /* 34022 */\n#define GL_SUBTRACT                       0x84e7         /* 34023 */\n#define GL_COMPRESSED_ALPHA               0x84e9         /* 34025 */\n#define GL_COMPRESSED_LUMINANCE           0x84ea         /* 34026 */\n#define GL_COMPRESSED_LUMINANCE_ALPHA     0x84eb         /* 34027 */\n#define GL_COMPRESSED_INTENSITY           0x84ec         /* 34028 */\n#define GL_COMPRESSED_RGB                 0x84ed         /* 34029 */\n#define GL_COMPRESSED_RGBA                0x84ee         /* 34030 */\n#define GL_TEXTURE_COMPRESSION_HINT       0x84ef         /* 34031 */\n#define GL_NORMAL_MAP                     0x8511         /* 34065 */\n#define GL_REFLECTION_MAP                 0x8512         /* 34066 */\n#define GL_TEXTURE_CUBE_MAP               0x8513         /* 34067 */\n#define GL_TEXTURE_BINDING_CUBE_MAP       0x8514         /* 34068 */\n#define GL_TEXTURE_CUBE_MAP_POSITIVE_X    0x8515         /* 34069 */\n#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X    0x8516         /* 34070 */\n#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y    0x8517         /* 34071 */\n#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y    0x8518         /* 34072 */\n#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z    0x8519         /* 34073 */\n#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z    0x851a         /* 34074 */\n#define GL_PROXY_TEXTURE_CUBE_MAP         0x851b         /* 34075 */\n#define GL_MAX_CUBE_MAP_TEXTURE_SIZE      0x851c         /* 34076 */\n#define GL_COMBINE                        0x8570         /* 34160 */\n#define GL_COMBINE_RGB                    0x8571         /* 34161 */\n#define GL_COMBINE_ALPHA                  0x8572         /* 34162 */\n#define GL_RGB_SCALE                      0x8573         /* 34163 */\n#define GL_ADD_SIGNED                     0x8574         /* 34164 */\n#define GL_INTERPOLATE                    0x8575         /* 34165 */\n#define GL_CONSTANT                       0x8576         /* 34166 */\n#define GL_PRIMARY_COLOR                  0x8577         /* 34167 */\n#define GL_PREVIOUS                       0x8578         /* 34168 */\n#define GL_SOURCE0_RGB                    0x8580         /* 34176 */\n#define GL_SOURCE1_RGB                    0x8581         /* 34177 */\n#define GL_SOURCE2_RGB                    0x8582         /* 34178 */\n#define GL_SOURCE0_ALPHA                  0x8588         /* 34184 */\n#define GL_SOURCE1_ALPHA                  0x8589         /* 34185 */\n#define GL_SOURCE2_ALPHA                  0x858a         /* 34186 */\n#define GL_OPERAND0_RGB                   0x8590         /* 34192 */\n#define GL_OPERAND1_RGB                   0x8591         /* 34193 */\n#define GL_OPERAND2_RGB                   0x8592         /* 34194 */\n#define GL_OPERAND0_ALPHA                 0x8598         /* 34200 */\n#define GL_OPERAND1_ALPHA                 0x8599         /* 34201 */\n#define GL_OPERAND2_ALPHA                 0x859a         /* 34202 */\n#define GL_TEXTURE_COMPRESSED_IMAGE_SIZE  0x86a0         /* 34464 */\n#define GL_TEXTURE_COMPRESSED             0x86a1         /* 34465 */\n#define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86a2         /* 34466 */\n#define GL_COMPRESSED_TEXTURE_FORMATS     0x86a3         /* 34467 */\n#define GL_DOT3_RGB                       0x86ae         /* 34478 */\n#define GL_DOT3_RGBA                      0x86af         /* 34479 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_VERSION_1_3\ntypedef void (REGAL_CALL *PFNGLACTIVETEXTUREPROC)(GLenum texture);\ntypedef void (REGAL_CALL *PFNGLCLIENTACTIVETEXTUREPROC)(GLenum texture);\ntypedef void (REGAL_CALL *PFNGLCOMPRESSEDTEXIMAGE1DPROC)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data);\ntypedef void (REGAL_CALL *PFNGLCOMPRESSEDTEXIMAGE2DPROC)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data);\ntypedef void (REGAL_CALL *PFNGLCOMPRESSEDTEXIMAGE3DPROC)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data);\ntypedef void (REGAL_CALL *PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data);\ntypedef void (REGAL_CALL *PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data);\ntypedef void (REGAL_CALL *PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data);\ntypedef void (REGAL_CALL *PFNGLGETCOMPRESSEDTEXIMAGEPROC)(GLenum target, GLint lod, GLvoid *img);\ntypedef void (REGAL_CALL *PFNGLLOADTRANSPOSEMATRIXDPROC)(const GLdouble *m);\ntypedef void (REGAL_CALL *PFNGLLOADTRANSPOSEMATRIXFPROC)(const GLfloat *m);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD1DPROC)(GLenum target, GLdouble s);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD1DVPROC)(GLenum target, const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD1FPROC)(GLenum target, GLfloat s);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD1FVPROC)(GLenum target, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD1IPROC)(GLenum target, GLint s);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD1IVPROC)(GLenum target, const GLint *v);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD1SPROC)(GLenum target, GLshort s);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD1SVPROC)(GLenum target, const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD2DPROC)(GLenum target, GLdouble s, GLdouble t);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD2DVPROC)(GLenum target, const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD2FPROC)(GLenum target, GLfloat s, GLfloat t);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD2FVPROC)(GLenum target, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD2IPROC)(GLenum target, GLint s, GLint t);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD2IVPROC)(GLenum target, const GLint *v);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD2SPROC)(GLenum target, GLshort s, GLshort t);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD2SVPROC)(GLenum target, const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD3DPROC)(GLenum target, GLdouble s, GLdouble t, GLdouble r);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD3DVPROC)(GLenum target, const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD3FPROC)(GLenum target, GLfloat s, GLfloat t, GLfloat r);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD3FVPROC)(GLenum target, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD3IPROC)(GLenum target, GLint s, GLint t, GLint r);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD3IVPROC)(GLenum target, const GLint *v);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD3SPROC)(GLenum target, GLshort s, GLshort t, GLshort r);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD3SVPROC)(GLenum target, const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD4DPROC)(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD4DVPROC)(GLenum target, const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD4FPROC)(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD4FVPROC)(GLenum target, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD4IPROC)(GLenum target, GLint s, GLint t, GLint r, GLint q);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD4IVPROC)(GLenum target, const GLint *v);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD4SPROC)(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);\ntypedef void (REGAL_CALL *PFNGLMULTITEXCOORD4SVPROC)(GLenum target, const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLMULTTRANSPOSEMATRIXDPROC)(const GLdouble *m);\ntypedef void (REGAL_CALL *PFNGLMULTTRANSPOSEMATRIXFPROC)(const GLfloat *m);\ntypedef void (REGAL_CALL *PFNGLSAMPLECOVERAGEPROC)(GLclampf value, GLboolean invert);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_VERSION_1_3\n#define glActiveTexture                     rglActiveTexture\n#define glClientActiveTexture               rglClientActiveTexture\n#define glCompressedTexImage1D              rglCompressedTexImage1D\n#define glCompressedTexImage2D              rglCompressedTexImage2D\n#define glCompressedTexImage3D              rglCompressedTexImage3D\n#define glCompressedTexSubImage1D           rglCompressedTexSubImage1D\n#define glCompressedTexSubImage2D           rglCompressedTexSubImage2D\n#define glCompressedTexSubImage3D           rglCompressedTexSubImage3D\n#define glGetCompressedTexImage             rglGetCompressedTexImage\n#define glLoadTransposeMatrixd              rglLoadTransposeMatrixd\n#define glLoadTransposeMatrixf              rglLoadTransposeMatrixf\n#define glMultTransposeMatrixd              rglMultTransposeMatrixd\n#define glMultTransposeMatrixf              rglMultTransposeMatrixf\n#define glMultiTexCoord1d                   rglMultiTexCoord1d\n#define glMultiTexCoord1dv                  rglMultiTexCoord1dv\n#define glMultiTexCoord1f                   rglMultiTexCoord1f\n#define glMultiTexCoord1fv                  rglMultiTexCoord1fv\n#define glMultiTexCoord1i                   rglMultiTexCoord1i\n#define glMultiTexCoord1iv                  rglMultiTexCoord1iv\n#define glMultiTexCoord1s                   rglMultiTexCoord1s\n#define glMultiTexCoord1sv                  rglMultiTexCoord1sv\n#define glMultiTexCoord2d                   rglMultiTexCoord2d\n#define glMultiTexCoord2dv                  rglMultiTexCoord2dv\n#define glMultiTexCoord2f                   rglMultiTexCoord2f\n#define glMultiTexCoord2fv                  rglMultiTexCoord2fv\n#define glMultiTexCoord2i                   rglMultiTexCoord2i\n#define glMultiTexCoord2iv                  rglMultiTexCoord2iv\n#define glMultiTexCoord2s                   rglMultiTexCoord2s\n#define glMultiTexCoord2sv                  rglMultiTexCoord2sv\n#define glMultiTexCoord3d                   rglMultiTexCoord3d\n#define glMultiTexCoord3dv                  rglMultiTexCoord3dv\n#define glMultiTexCoord3f                   rglMultiTexCoord3f\n#define glMultiTexCoord3fv                  rglMultiTexCoord3fv\n#define glMultiTexCoord3i                   rglMultiTexCoord3i\n#define glMultiTexCoord3iv                  rglMultiTexCoord3iv\n#define glMultiTexCoord3s                   rglMultiTexCoord3s\n#define glMultiTexCoord3sv                  rglMultiTexCoord3sv\n#define glMultiTexCoord4d                   rglMultiTexCoord4d\n#define glMultiTexCoord4dv                  rglMultiTexCoord4dv\n#define glMultiTexCoord4f                   rglMultiTexCoord4f\n#define glMultiTexCoord4fv                  rglMultiTexCoord4fv\n#define glMultiTexCoord4i                   rglMultiTexCoord4i\n#define glMultiTexCoord4iv                  rglMultiTexCoord4iv\n#define glMultiTexCoord4s                   rglMultiTexCoord4s\n#define glMultiTexCoord4sv                  rglMultiTexCoord4sv\n#define glSampleCoverage                    rglSampleCoverage\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_VERSION_1_3\nREGAL_DECL void REGAL_CALL glActiveTexture(GLenum texture);\nREGAL_DECL void REGAL_CALL glClientActiveTexture(GLenum texture);\nREGAL_DECL void REGAL_CALL glCompressedTexImage1D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data);\nREGAL_DECL void REGAL_CALL glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data);\nREGAL_DECL void REGAL_CALL glCompressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data);\nREGAL_DECL void REGAL_CALL glCompressedTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data);\nREGAL_DECL void REGAL_CALL glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data);\nREGAL_DECL void REGAL_CALL glCompressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data);\nREGAL_DECL void REGAL_CALL glGetCompressedTexImage(GLenum target, GLint lod, GLvoid *img);\nREGAL_DECL void REGAL_CALL glLoadTransposeMatrixd(const GLdouble *m);\nREGAL_DECL void REGAL_CALL glLoadTransposeMatrixf(const GLfloat *m);\nREGAL_DECL void REGAL_CALL glMultTransposeMatrixd(const GLdouble *m);\nREGAL_DECL void REGAL_CALL glMultTransposeMatrixf(const GLfloat *m);\nREGAL_DECL void REGAL_CALL glMultiTexCoord1d(GLenum target, GLdouble s);\nREGAL_DECL void REGAL_CALL glMultiTexCoord1dv(GLenum target, const GLdouble *v);\nREGAL_DECL void REGAL_CALL glMultiTexCoord1f(GLenum target, GLfloat s);\nREGAL_DECL void REGAL_CALL glMultiTexCoord1fv(GLenum target, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glMultiTexCoord1i(GLenum target, GLint s);\nREGAL_DECL void REGAL_CALL glMultiTexCoord1iv(GLenum target, const GLint *v);\nREGAL_DECL void REGAL_CALL glMultiTexCoord1s(GLenum target, GLshort s);\nREGAL_DECL void REGAL_CALL glMultiTexCoord1sv(GLenum target, const GLshort *v);\nREGAL_DECL void REGAL_CALL glMultiTexCoord2d(GLenum target, GLdouble s, GLdouble t);\nREGAL_DECL void REGAL_CALL glMultiTexCoord2dv(GLenum target, const GLdouble *v);\nREGAL_DECL void REGAL_CALL glMultiTexCoord2f(GLenum target, GLfloat s, GLfloat t);\nREGAL_DECL void REGAL_CALL glMultiTexCoord2fv(GLenum target, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glMultiTexCoord2i(GLenum target, GLint s, GLint t);\nREGAL_DECL void REGAL_CALL glMultiTexCoord2iv(GLenum target, const GLint *v);\nREGAL_DECL void REGAL_CALL glMultiTexCoord2s(GLenum target, GLshort s, GLshort t);\nREGAL_DECL void REGAL_CALL glMultiTexCoord2sv(GLenum target, const GLshort *v);\nREGAL_DECL void REGAL_CALL glMultiTexCoord3d(GLenum target, GLdouble s, GLdouble t, GLdouble r);\nREGAL_DECL void REGAL_CALL glMultiTexCoord3dv(GLenum target, const GLdouble *v);\nREGAL_DECL void REGAL_CALL glMultiTexCoord3f(GLenum target, GLfloat s, GLfloat t, GLfloat r);\nREGAL_DECL void REGAL_CALL glMultiTexCoord3fv(GLenum target, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glMultiTexCoord3i(GLenum target, GLint s, GLint t, GLint r);\nREGAL_DECL void REGAL_CALL glMultiTexCoord3iv(GLenum target, const GLint *v);\nREGAL_DECL void REGAL_CALL glMultiTexCoord3s(GLenum target, GLshort s, GLshort t, GLshort r);\nREGAL_DECL void REGAL_CALL glMultiTexCoord3sv(GLenum target, const GLshort *v);\nREGAL_DECL void REGAL_CALL glMultiTexCoord4d(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);\nREGAL_DECL void REGAL_CALL glMultiTexCoord4dv(GLenum target, const GLdouble *v);\nREGAL_DECL void REGAL_CALL glMultiTexCoord4f(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);\nREGAL_DECL void REGAL_CALL glMultiTexCoord4fv(GLenum target, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glMultiTexCoord4i(GLenum target, GLint s, GLint t, GLint r, GLint q);\nREGAL_DECL void REGAL_CALL glMultiTexCoord4iv(GLenum target, const GLint *v);\nREGAL_DECL void REGAL_CALL glMultiTexCoord4s(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);\nREGAL_DECL void REGAL_CALL glMultiTexCoord4sv(GLenum target, const GLshort *v);\nREGAL_DECL void REGAL_CALL glSampleCoverage(GLclampf value, GLboolean invert);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_VERSION_1_3\nREGAL_DECL void REGAL_CALL plugin_glActiveTexture(GLenum texture);\nREGAL_DECL void REGAL_CALL plugin_glClientActiveTexture(GLenum texture);\nREGAL_DECL void REGAL_CALL plugin_glCompressedTexImage1D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data);\nREGAL_DECL void REGAL_CALL plugin_glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data);\nREGAL_DECL void REGAL_CALL plugin_glCompressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data);\nREGAL_DECL void REGAL_CALL plugin_glCompressedTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data);\nREGAL_DECL void REGAL_CALL plugin_glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data);\nREGAL_DECL void REGAL_CALL plugin_glCompressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data);\nREGAL_DECL void REGAL_CALL plugin_glGetCompressedTexImage(GLenum target, GLint lod, GLvoid *img);\nREGAL_DECL void REGAL_CALL plugin_glLoadTransposeMatrixd(const GLdouble *m);\nREGAL_DECL void REGAL_CALL plugin_glLoadTransposeMatrixf(const GLfloat *m);\nREGAL_DECL void REGAL_CALL plugin_glMultTransposeMatrixd(const GLdouble *m);\nREGAL_DECL void REGAL_CALL plugin_glMultTransposeMatrixf(const GLfloat *m);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord1d(GLenum target, GLdouble s);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord1dv(GLenum target, const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord1f(GLenum target, GLfloat s);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord1fv(GLenum target, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord1i(GLenum target, GLint s);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord1iv(GLenum target, const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord1s(GLenum target, GLshort s);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord1sv(GLenum target, const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord2d(GLenum target, GLdouble s, GLdouble t);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord2dv(GLenum target, const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord2f(GLenum target, GLfloat s, GLfloat t);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord2fv(GLenum target, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord2i(GLenum target, GLint s, GLint t);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord2iv(GLenum target, const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord2s(GLenum target, GLshort s, GLshort t);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord2sv(GLenum target, const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord3d(GLenum target, GLdouble s, GLdouble t, GLdouble r);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord3dv(GLenum target, const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord3f(GLenum target, GLfloat s, GLfloat t, GLfloat r);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord3fv(GLenum target, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord3i(GLenum target, GLint s, GLint t, GLint r);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord3iv(GLenum target, const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord3s(GLenum target, GLshort s, GLshort t, GLshort r);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord3sv(GLenum target, const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord4d(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord4dv(GLenum target, const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord4f(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord4fv(GLenum target, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord4i(GLenum target, GLint s, GLint t, GLint r, GLint q);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord4iv(GLenum target, const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord4s(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);\nREGAL_DECL void REGAL_CALL plugin_glMultiTexCoord4sv(GLenum target, const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glSampleCoverage(GLclampf value, GLboolean invert);\n#endif\n\n/**\n ** GL_VERSION_1_4\n **/\n\n#if (defined(GL_VERSION_1_4) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_VERSION_1_4)) && !defined(REGAL_NO_ENUM_GL_VERSION_1_4)\n#define REGAL_NO_ENUM_GL_VERSION_1_4\n#endif\n\n#if (defined(GL_VERSION_1_4) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_VERSION_1_4)) && !defined(REGAL_NO_TYPEDEF_GL_VERSION_1_4)\n#define REGAL_NO_TYPEDEF_GL_VERSION_1_4\n#endif\n\n#if (defined(GL_VERSION_1_4) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_VERSION_1_4)) && !defined(REGAL_NO_NAMESPACE_GL_VERSION_1_4)\n#define REGAL_NO_NAMESPACE_GL_VERSION_1_4\n#endif\n\n#if (defined(GL_VERSION_1_4) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_VERSION_1_4)) && !defined(REGAL_NO_PLUGIN_GL_VERSION_1_4)\n#define REGAL_NO_PLUGIN_GL_VERSION_1_4\n#endif\n\n#if (defined(GL_VERSION_1_4) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_VERSION_1_4)) && !defined(REGAL_NO_DECLARATION_GL_VERSION_1_4)\n#define REGAL_NO_DECLARATION_GL_VERSION_1_4\n#endif\n\n#ifndef GL_VERSION_1_4\n#define GL_VERSION_1_4 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_VERSION_1_4\n#define GL_BLEND_DST_RGB                 0x80c8     /* 32968 */\n#define GL_BLEND_SRC_RGB                 0x80c9     /* 32969 */\n#define GL_BLEND_DST_ALPHA               0x80ca     /* 32970 */\n#define GL_BLEND_SRC_ALPHA               0x80cb     /* 32971 */\n#define GL_POINT_SIZE_MIN                0x8126     /* 33062 */\n#define GL_POINT_SIZE_MAX                0x8127     /* 33063 */\n#define GL_POINT_FADE_THRESHOLD_SIZE     0x8128     /* 33064 */\n#define GL_POINT_DISTANCE_ATTENUATION    0x8129     /* 33065 */\n#define GL_GENERATE_MIPMAP               0x8191     /* 33169 */\n#define GL_GENERATE_MIPMAP_HINT          0x8192     /* 33170 */\n#define GL_DEPTH_COMPONENT16             0x81a5     /* 33189 */\n#define GL_DEPTH_COMPONENT24             0x81a6     /* 33190 */\n#define GL_DEPTH_COMPONENT32             0x81a7     /* 33191 */\n#define GL_MIRRORED_REPEAT               0x8370     /* 33648 */\n#define GL_FOG_COORDINATE_SOURCE         0x8450     /* 33872 */\n#define GL_FOG_COORDINATE                0x8451     /* 33873 */\n#define GL_FRAGMENT_DEPTH                0x8452     /* 33874 */\n#define GL_CURRENT_FOG_COORDINATE        0x8453     /* 33875 */\n#define GL_FOG_COORDINATE_ARRAY_TYPE     0x8454     /* 33876 */\n#define GL_FOG_COORDINATE_ARRAY_STRIDE   0x8455     /* 33877 */\n#define GL_FOG_COORDINATE_ARRAY_POINTER  0x8456     /* 33878 */\n#define GL_FOG_COORDINATE_ARRAY          0x8457     /* 33879 */\n#define GL_COLOR_SUM                     0x8458     /* 33880 */\n#define GL_CURRENT_SECONDARY_COLOR       0x8459     /* 33881 */\n#define GL_SECONDARY_COLOR_ARRAY_SIZE    0x845a     /* 33882 */\n#define GL_SECONDARY_COLOR_ARRAY_TYPE    0x845b     /* 33883 */\n#define GL_SECONDARY_COLOR_ARRAY_STRIDE  0x845c     /* 33884 */\n#define GL_SECONDARY_COLOR_ARRAY_POINTER 0x845d     /* 33885 */\n#define GL_SECONDARY_COLOR_ARRAY         0x845e     /* 33886 */\n#define GL_MAX_TEXTURE_LOD_BIAS          0x84fd     /* 34045 */\n#define GL_TEXTURE_FILTER_CONTROL        0x8500     /* 34048 */\n#define GL_TEXTURE_LOD_BIAS              0x8501     /* 34049 */\n#define GL_INCR_WRAP                     0x8507     /* 34055 */\n#define GL_DECR_WRAP                     0x8508     /* 34056 */\n#define GL_TEXTURE_DEPTH_SIZE            0x884a     /* 34890 */\n#define GL_DEPTH_TEXTURE_MODE            0x884b     /* 34891 */\n#define GL_TEXTURE_COMPARE_MODE          0x884c     /* 34892 */\n#define GL_TEXTURE_COMPARE_FUNC          0x884d     /* 34893 */\n#define GL_COMPARE_R_TO_TEXTURE          0x884e     /* 34894 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_VERSION_1_4\ntypedef void (REGAL_CALL *PFNGLBLENDFUNCSEPARATEPROC)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);\ntypedef void (REGAL_CALL *PFNGLFOGCOORDDPROC)(GLdouble coord);\ntypedef void (REGAL_CALL *PFNGLFOGCOORDDVPROC)(const GLdouble *coord);\ntypedef void (REGAL_CALL *PFNGLFOGCOORDFPROC)(GLfloat coord);\ntypedef void (REGAL_CALL *PFNGLFOGCOORDFVPROC)(const GLfloat *coord);\ntypedef void (REGAL_CALL *PFNGLFOGCOORDPOINTERPROC)(GLenum type, GLsizei stride, const GLvoid *pointer);\ntypedef void (REGAL_CALL *PFNGLMULTIDRAWARRAYSPROC)(GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);\ntypedef void (REGAL_CALL *PFNGLMULTIDRAWELEMENTSPROC)(GLenum mode, const GLsizei *count, GLenum type, const GLvoid * const *indices, GLsizei primcount);\ntypedef void (REGAL_CALL *PFNGLPOINTPARAMETERFPROC)(GLenum pname, GLfloat param);\ntypedef void (REGAL_CALL *PFNGLPOINTPARAMETERFVPROC)(GLenum pname, const GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLPOINTPARAMETERIPROC)(GLenum pname, GLint param);\ntypedef void (REGAL_CALL *PFNGLPOINTPARAMETERIVPROC)(GLenum pname, const GLint *params);\ntypedef void (REGAL_CALL *PFNGLSECONDARYCOLOR3BPROC)(GLbyte red, GLbyte green, GLbyte blue);\ntypedef void (REGAL_CALL *PFNGLSECONDARYCOLOR3BVPROC)(const GLbyte *v);\ntypedef void (REGAL_CALL *PFNGLSECONDARYCOLOR3DPROC)(GLdouble red, GLdouble green, GLdouble blue);\ntypedef void (REGAL_CALL *PFNGLSECONDARYCOLOR3DVPROC)(const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLSECONDARYCOLOR3FPROC)(GLfloat red, GLfloat green, GLfloat blue);\ntypedef void (REGAL_CALL *PFNGLSECONDARYCOLOR3FVPROC)(const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLSECONDARYCOLOR3IPROC)(GLint red, GLint green, GLint blue);\ntypedef void (REGAL_CALL *PFNGLSECONDARYCOLOR3IVPROC)(const GLint *v);\ntypedef void (REGAL_CALL *PFNGLSECONDARYCOLOR3SPROC)(GLshort red, GLshort green, GLshort blue);\ntypedef void (REGAL_CALL *PFNGLSECONDARYCOLOR3SVPROC)(const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLSECONDARYCOLOR3UBPROC)(GLubyte red, GLubyte green, GLubyte blue);\ntypedef void (REGAL_CALL *PFNGLSECONDARYCOLOR3UBVPROC)(const GLubyte *v);\ntypedef void (REGAL_CALL *PFNGLSECONDARYCOLOR3UIPROC)(GLuint red, GLuint green, GLuint blue);\ntypedef void (REGAL_CALL *PFNGLSECONDARYCOLOR3UIVPROC)(const GLuint *v);\ntypedef void (REGAL_CALL *PFNGLSECONDARYCOLOR3USPROC)(GLushort red, GLushort green, GLushort blue);\ntypedef void (REGAL_CALL *PFNGLSECONDARYCOLOR3USVPROC)(const GLushort *v);\ntypedef void (REGAL_CALL *PFNGLSECONDARYCOLORPOINTERPROC)(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS2DPROC)(GLdouble x, GLdouble y);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS2DVPROC)(const GLdouble *p);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS2FPROC)(GLfloat x, GLfloat y);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS2FVPROC)(const GLfloat *p);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS2IPROC)(GLint x, GLint y);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS2IVPROC)(const GLint *p);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS2SPROC)(GLshort x, GLshort y);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS2SVPROC)(const GLshort *p);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS3DPROC)(GLdouble x, GLdouble y, GLdouble z);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS3DVPROC)(const GLdouble *p);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS3FPROC)(GLfloat x, GLfloat y, GLfloat z);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS3FVPROC)(const GLfloat *p);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS3IPROC)(GLint x, GLint y, GLint z);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS3IVPROC)(const GLint *p);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS3SPROC)(GLshort x, GLshort y, GLshort z);\ntypedef void (REGAL_CALL *PFNGLWINDOWPOS3SVPROC)(const GLshort *p);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_VERSION_1_4\n#define glBlendFuncSeparate                 rglBlendFuncSeparate\n#define glFogCoordPointer                   rglFogCoordPointer\n#define glFogCoordd                         rglFogCoordd\n#define glFogCoorddv                        rglFogCoorddv\n#define glFogCoordf                         rglFogCoordf\n#define glFogCoordfv                        rglFogCoordfv\n#define glMultiDrawArrays                   rglMultiDrawArrays\n#define glMultiDrawElements                 rglMultiDrawElements\n#define glPointParameterf                   rglPointParameterf\n#define glPointParameterfv                  rglPointParameterfv\n#define glPointParameteri                   rglPointParameteri\n#define glPointParameteriv                  rglPointParameteriv\n#define glSecondaryColor3b                  rglSecondaryColor3b\n#define glSecondaryColor3bv                 rglSecondaryColor3bv\n#define glSecondaryColor3d                  rglSecondaryColor3d\n#define glSecondaryColor3dv                 rglSecondaryColor3dv\n#define glSecondaryColor3f                  rglSecondaryColor3f\n#define glSecondaryColor3fv                 rglSecondaryColor3fv\n#define glSecondaryColor3i                  rglSecondaryColor3i\n#define glSecondaryColor3iv                 rglSecondaryColor3iv\n#define glSecondaryColor3s                  rglSecondaryColor3s\n#define glSecondaryColor3sv                 rglSecondaryColor3sv\n#define glSecondaryColor3ub                 rglSecondaryColor3ub\n#define glSecondaryColor3ubv                rglSecondaryColor3ubv\n#define glSecondaryColor3ui                 rglSecondaryColor3ui\n#define glSecondaryColor3uiv                rglSecondaryColor3uiv\n#define glSecondaryColor3us                 rglSecondaryColor3us\n#define glSecondaryColor3usv                rglSecondaryColor3usv\n#define glSecondaryColorPointer             rglSecondaryColorPointer\n#define glWindowPos2d                       rglWindowPos2d\n#define glWindowPos2dv                      rglWindowPos2dv\n#define glWindowPos2f                       rglWindowPos2f\n#define glWindowPos2fv                      rglWindowPos2fv\n#define glWindowPos2i                       rglWindowPos2i\n#define glWindowPos2iv                      rglWindowPos2iv\n#define glWindowPos2s                       rglWindowPos2s\n#define glWindowPos2sv                      rglWindowPos2sv\n#define glWindowPos3d                       rglWindowPos3d\n#define glWindowPos3dv                      rglWindowPos3dv\n#define glWindowPos3f                       rglWindowPos3f\n#define glWindowPos3fv                      rglWindowPos3fv\n#define glWindowPos3i                       rglWindowPos3i\n#define glWindowPos3iv                      rglWindowPos3iv\n#define glWindowPos3s                       rglWindowPos3s\n#define glWindowPos3sv                      rglWindowPos3sv\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_VERSION_1_4\nREGAL_DECL void REGAL_CALL glBlendFuncSeparate(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);\nREGAL_DECL void REGAL_CALL glFogCoordPointer(GLenum type, GLsizei stride, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL glFogCoordd(GLdouble coord);\nREGAL_DECL void REGAL_CALL glFogCoorddv(const GLdouble *coord);\nREGAL_DECL void REGAL_CALL glFogCoordf(GLfloat coord);\nREGAL_DECL void REGAL_CALL glFogCoordfv(const GLfloat *coord);\nREGAL_DECL void REGAL_CALL glMultiDrawArrays(GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);\nREGAL_DECL void REGAL_CALL glMultiDrawElements(GLenum mode, const GLsizei *count, GLenum type, const GLvoid * const *indices, GLsizei primcount);\nREGAL_DECL void REGAL_CALL glPointParameterf(GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL glPointParameterfv(GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL glPointParameteri(GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL glPointParameteriv(GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL glSecondaryColor3b(GLbyte red, GLbyte green, GLbyte blue);\nREGAL_DECL void REGAL_CALL glSecondaryColor3bv(const GLbyte *v);\nREGAL_DECL void REGAL_CALL glSecondaryColor3d(GLdouble red, GLdouble green, GLdouble blue);\nREGAL_DECL void REGAL_CALL glSecondaryColor3dv(const GLdouble *v);\nREGAL_DECL void REGAL_CALL glSecondaryColor3f(GLfloat red, GLfloat green, GLfloat blue);\nREGAL_DECL void REGAL_CALL glSecondaryColor3fv(const GLfloat *v);\nREGAL_DECL void REGAL_CALL glSecondaryColor3i(GLint red, GLint green, GLint blue);\nREGAL_DECL void REGAL_CALL glSecondaryColor3iv(const GLint *v);\nREGAL_DECL void REGAL_CALL glSecondaryColor3s(GLshort red, GLshort green, GLshort blue);\nREGAL_DECL void REGAL_CALL glSecondaryColor3sv(const GLshort *v);\nREGAL_DECL void REGAL_CALL glSecondaryColor3ub(GLubyte red, GLubyte green, GLubyte blue);\nREGAL_DECL void REGAL_CALL glSecondaryColor3ubv(const GLubyte *v);\nREGAL_DECL void REGAL_CALL glSecondaryColor3ui(GLuint red, GLuint green, GLuint blue);\nREGAL_DECL void REGAL_CALL glSecondaryColor3uiv(const GLuint *v);\nREGAL_DECL void REGAL_CALL glSecondaryColor3us(GLushort red, GLushort green, GLushort blue);\nREGAL_DECL void REGAL_CALL glSecondaryColor3usv(const GLushort *v);\nREGAL_DECL void REGAL_CALL glSecondaryColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL glWindowPos2d(GLdouble x, GLdouble y);\nREGAL_DECL void REGAL_CALL glWindowPos2dv(const GLdouble *p);\nREGAL_DECL void REGAL_CALL glWindowPos2f(GLfloat x, GLfloat y);\nREGAL_DECL void REGAL_CALL glWindowPos2fv(const GLfloat *p);\nREGAL_DECL void REGAL_CALL glWindowPos2i(GLint x, GLint y);\nREGAL_DECL void REGAL_CALL glWindowPos2iv(const GLint *p);\nREGAL_DECL void REGAL_CALL glWindowPos2s(GLshort x, GLshort y);\nREGAL_DECL void REGAL_CALL glWindowPos2sv(const GLshort *p);\nREGAL_DECL void REGAL_CALL glWindowPos3d(GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL glWindowPos3dv(const GLdouble *p);\nREGAL_DECL void REGAL_CALL glWindowPos3f(GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL glWindowPos3fv(const GLfloat *p);\nREGAL_DECL void REGAL_CALL glWindowPos3i(GLint x, GLint y, GLint z);\nREGAL_DECL void REGAL_CALL glWindowPos3iv(const GLint *p);\nREGAL_DECL void REGAL_CALL glWindowPos3s(GLshort x, GLshort y, GLshort z);\nREGAL_DECL void REGAL_CALL glWindowPos3sv(const GLshort *p);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_VERSION_1_4\nREGAL_DECL void REGAL_CALL plugin_glBlendFuncSeparate(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);\nREGAL_DECL void REGAL_CALL plugin_glFogCoordPointer(GLenum type, GLsizei stride, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL plugin_glFogCoordd(GLdouble coord);\nREGAL_DECL void REGAL_CALL plugin_glFogCoorddv(const GLdouble *coord);\nREGAL_DECL void REGAL_CALL plugin_glFogCoordf(GLfloat coord);\nREGAL_DECL void REGAL_CALL plugin_glFogCoordfv(const GLfloat *coord);\nREGAL_DECL void REGAL_CALL plugin_glMultiDrawArrays(GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);\nREGAL_DECL void REGAL_CALL plugin_glMultiDrawElements(GLenum mode, const GLsizei *count, GLenum type, const GLvoid * const *indices, GLsizei primcount);\nREGAL_DECL void REGAL_CALL plugin_glPointParameterf(GLenum pname, GLfloat param);\nREGAL_DECL void REGAL_CALL plugin_glPointParameterfv(GLenum pname, const GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glPointParameteri(GLenum pname, GLint param);\nREGAL_DECL void REGAL_CALL plugin_glPointParameteriv(GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glSecondaryColor3b(GLbyte red, GLbyte green, GLbyte blue);\nREGAL_DECL void REGAL_CALL plugin_glSecondaryColor3bv(const GLbyte *v);\nREGAL_DECL void REGAL_CALL plugin_glSecondaryColor3d(GLdouble red, GLdouble green, GLdouble blue);\nREGAL_DECL void REGAL_CALL plugin_glSecondaryColor3dv(const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glSecondaryColor3f(GLfloat red, GLfloat green, GLfloat blue);\nREGAL_DECL void REGAL_CALL plugin_glSecondaryColor3fv(const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glSecondaryColor3i(GLint red, GLint green, GLint blue);\nREGAL_DECL void REGAL_CALL plugin_glSecondaryColor3iv(const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glSecondaryColor3s(GLshort red, GLshort green, GLshort blue);\nREGAL_DECL void REGAL_CALL plugin_glSecondaryColor3sv(const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glSecondaryColor3ub(GLubyte red, GLubyte green, GLubyte blue);\nREGAL_DECL void REGAL_CALL plugin_glSecondaryColor3ubv(const GLubyte *v);\nREGAL_DECL void REGAL_CALL plugin_glSecondaryColor3ui(GLuint red, GLuint green, GLuint blue);\nREGAL_DECL void REGAL_CALL plugin_glSecondaryColor3uiv(const GLuint *v);\nREGAL_DECL void REGAL_CALL plugin_glSecondaryColor3us(GLushort red, GLushort green, GLushort blue);\nREGAL_DECL void REGAL_CALL plugin_glSecondaryColor3usv(const GLushort *v);\nREGAL_DECL void REGAL_CALL plugin_glSecondaryColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos2d(GLdouble x, GLdouble y);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos2dv(const GLdouble *p);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos2f(GLfloat x, GLfloat y);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos2fv(const GLfloat *p);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos2i(GLint x, GLint y);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos2iv(const GLint *p);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos2s(GLshort x, GLshort y);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos2sv(const GLshort *p);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos3d(GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos3dv(const GLdouble *p);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos3f(GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos3fv(const GLfloat *p);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos3i(GLint x, GLint y, GLint z);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos3iv(const GLint *p);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos3s(GLshort x, GLshort y, GLshort z);\nREGAL_DECL void REGAL_CALL plugin_glWindowPos3sv(const GLshort *p);\n#endif\n\n/**\n ** GL_VERSION_1_5\n **/\n\n#if (defined(GL_VERSION_1_5) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_VERSION_1_5)) && !defined(REGAL_NO_ENUM_GL_VERSION_1_5)\n#define REGAL_NO_ENUM_GL_VERSION_1_5\n#endif\n\n#if (defined(GL_VERSION_1_5) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_VERSION_1_5)) && !defined(REGAL_NO_TYPEDEF_GL_VERSION_1_5)\n#define REGAL_NO_TYPEDEF_GL_VERSION_1_5\n#endif\n\n#if (defined(GL_VERSION_1_5) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_VERSION_1_5)) && !defined(REGAL_NO_NAMESPACE_GL_VERSION_1_5)\n#define REGAL_NO_NAMESPACE_GL_VERSION_1_5\n#endif\n\n#if (defined(GL_VERSION_1_5) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_VERSION_1_5)) && !defined(REGAL_NO_PLUGIN_GL_VERSION_1_5)\n#define REGAL_NO_PLUGIN_GL_VERSION_1_5\n#endif\n\n#if (defined(GL_VERSION_1_5) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_VERSION_1_5)) && !defined(REGAL_NO_DECLARATION_GL_VERSION_1_5)\n#define REGAL_NO_DECLARATION_GL_VERSION_1_5\n#endif\n\n#ifndef GL_VERSION_1_5\n#define GL_VERSION_1_5 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_VERSION_1_5\n#define GL_BUFFER_SIZE                          0x8764                                     /* 34660 */\n#define GL_BUFFER_USAGE                         0x8765                                     /* 34661 */\n#define GL_QUERY_COUNTER_BITS                   0x8864                                     /* 34916 */\n#define GL_CURRENT_QUERY                        0x8865                                     /* 34917 */\n#define GL_QUERY_RESULT                         0x8866                                     /* 34918 */\n#define GL_QUERY_RESULT_AVAILABLE               0x8867                                     /* 34919 */\n#define GL_ARRAY_BUFFER                         0x8892                                     /* 34962 */\n#define GL_ELEMENT_ARRAY_BUFFER                 0x8893                                     /* 34963 */\n#define GL_ARRAY_BUFFER_BINDING                 0x8894                                     /* 34964 */\n#define GL_ELEMENT_ARRAY_BUFFER_BINDING         0x8895                                     /* 34965 */\n#define GL_VERTEX_ARRAY_BUFFER_BINDING          0x8896                                     /* 34966 */\n#define GL_NORMAL_ARRAY_BUFFER_BINDING          0x8897                                     /* 34967 */\n#define GL_COLOR_ARRAY_BUFFER_BINDING           0x8898                                     /* 34968 */\n#define GL_INDEX_ARRAY_BUFFER_BINDING           0x8899                                     /* 34969 */\n#define GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING   0x889a                                     /* 34970 */\n#define GL_EDGE_FLAG_ARRAY_BUFFER_BINDING       0x889b                                     /* 34971 */\n#define GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING 0x889c                                     /* 34972 */\n#define GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING  0x889d                                     /* 34973 */\n#define GL_WEIGHT_ARRAY_BUFFER_BINDING          0x889e                                     /* 34974 */\n#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING   0x889f                                     /* 34975 */\n#define GL_READ_ONLY                            0x88b8                                     /* 35000 */\n#define GL_WRITE_ONLY                           0x88b9                                     /* 35001 */\n#define GL_READ_WRITE                           0x88ba                                     /* 35002 */\n#define GL_BUFFER_ACCESS                        0x88bb                                     /* 35003 */\n#define GL_BUFFER_MAPPED                        0x88bc                                     /* 35004 */\n#define GL_BUFFER_MAP_POINTER                   0x88bd                                     /* 35005 */\n#define GL_STREAM_DRAW                          0x88e0                                     /* 35040 */\n#define GL_STREAM_READ                          0x88e1                                     /* 35041 */\n#define GL_STREAM_COPY                          0x88e2                                     /* 35042 */\n#define GL_STATIC_DRAW                          0x88e4                                     /* 35044 */\n#define GL_STATIC_READ                          0x88e5                                     /* 35045 */\n#define GL_STATIC_COPY                          0x88e6                                     /* 35046 */\n#define GL_DYNAMIC_DRAW                         0x88e8                                     /* 35048 */\n#define GL_DYNAMIC_READ                         0x88e9                                     /* 35049 */\n#define GL_DYNAMIC_COPY                         0x88ea                                     /* 35050 */\n#define GL_SAMPLES_PASSED                       0x8914                                     /* 35092 */\n#define GL_CURRENT_FOG_COORD                    GL_CURRENT_FOG_COORDINATE\n#define GL_FOG_COORD                            GL_FOG_COORDINATE\n#define GL_FOG_COORD_ARRAY                      GL_FOG_COORDINATE_ARRAY\n#define GL_FOG_COORD_ARRAY_BUFFER_BINDING       GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING\n#define GL_FOG_COORD_ARRAY_POINTER              GL_FOG_COORDINATE_ARRAY_POINTER\n#define GL_FOG_COORD_ARRAY_STRIDE               GL_FOG_COORDINATE_ARRAY_STRIDE\n#define GL_FOG_COORD_ARRAY_TYPE                 GL_FOG_COORDINATE_ARRAY_TYPE\n#define GL_FOG_COORD_SRC                        GL_FOG_COORDINATE_SOURCE\n#define GL_SRC0_ALPHA                           GL_SOURCE0_ALPHA\n#define GL_SRC0_RGB                             GL_SOURCE0_RGB\n#define GL_SRC1_ALPHA                           GL_SOURCE1_ALPHA\n#define GL_SRC1_RGB                             GL_SOURCE1_RGB\n#define GL_SRC2_ALPHA                           GL_SOURCE2_ALPHA\n#define GL_SRC2_RGB                             GL_SOURCE2_RGB\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_VERSION_1_5\ntypedef GLboolean (REGAL_CALL *PFNGLISBUFFERPROC)(GLuint buffer);\ntypedef GLboolean (REGAL_CALL *PFNGLISQUERYPROC)(GLuint id);\ntypedef GLboolean (REGAL_CALL *PFNGLUNMAPBUFFERPROC)(GLenum target);\ntypedef GLvoid *(REGAL_CALL *PFNGLMAPBUFFERPROC)(GLenum target, GLenum access);\ntypedef void (REGAL_CALL *PFNGLBEGINQUERYPROC)(GLenum target, GLuint id);\ntypedef void (REGAL_CALL *PFNGLBINDBUFFERPROC)(GLenum target, GLuint buffer);\ntypedef void (REGAL_CALL *PFNGLBUFFERDATAPROC)(GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage);\ntypedef void (REGAL_CALL *PFNGLBUFFERSUBDATAPROC)(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data);\ntypedef void (REGAL_CALL *PFNGLDELETEBUFFERSPROC)(GLsizei n, const GLuint *buffers);\ntypedef void (REGAL_CALL *PFNGLDELETEQUERIESPROC)(GLsizei n, const GLuint *ids);\ntypedef void (REGAL_CALL *PFNGLENDQUERYPROC)(GLenum target);\ntypedef void (REGAL_CALL *PFNGLGENBUFFERSPROC)(GLsizei n, GLuint *buffers);\ntypedef void (REGAL_CALL *PFNGLGENQUERIESPROC)(GLsizei n, GLuint *ids);\ntypedef void (REGAL_CALL *PFNGLGETBUFFERPARAMETERIVPROC)(GLenum target, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETBUFFERPOINTERVPROC)(GLenum target, GLenum pname, GLvoid **params);\ntypedef void (REGAL_CALL *PFNGLGETBUFFERSUBDATAPROC)(GLenum target, GLintptr offset, GLsizeiptr size, GLvoid *data);\ntypedef void (REGAL_CALL *PFNGLGETQUERYIVPROC)(GLenum target, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETQUERYOBJECTIVPROC)(GLuint id, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETQUERYOBJECTUIVPROC)(GLuint id, GLenum pname, GLuint *params);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_VERSION_1_5\n#define glBeginQuery                        rglBeginQuery\n#define glBindBuffer                        rglBindBuffer\n#define glBufferData                        rglBufferData\n#define glBufferSubData                     rglBufferSubData\n#define glDeleteBuffers                     rglDeleteBuffers\n#define glDeleteQueries                     rglDeleteQueries\n#define glEndQuery                          rglEndQuery\n#define glGenBuffers                        rglGenBuffers\n#define glGenQueries                        rglGenQueries\n#define glGetBufferParameteriv              rglGetBufferParameteriv\n#define glGetBufferPointerv                 rglGetBufferPointerv\n#define glGetBufferSubData                  rglGetBufferSubData\n#define glGetQueryObjectiv                  rglGetQueryObjectiv\n#define glGetQueryObjectuiv                 rglGetQueryObjectuiv\n#define glGetQueryiv                        rglGetQueryiv\n#define glIsBuffer                          rglIsBuffer\n#define glIsQuery                           rglIsQuery\n#define glMapBuffer                         rglMapBuffer\n#define glUnmapBuffer                       rglUnmapBuffer\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_VERSION_1_5\nREGAL_DECL GLboolean REGAL_CALL glIsBuffer(GLuint buffer);\nREGAL_DECL GLboolean REGAL_CALL glIsQuery(GLuint id);\nREGAL_DECL GLboolean REGAL_CALL glUnmapBuffer(GLenum target);\nREGAL_DECL GLvoid *REGAL_CALL glMapBuffer(GLenum target, GLenum access);\nREGAL_DECL void REGAL_CALL glBeginQuery(GLenum target, GLuint id);\nREGAL_DECL void REGAL_CALL glBindBuffer(GLenum target, GLuint buffer);\nREGAL_DECL void REGAL_CALL glBufferData(GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage);\nREGAL_DECL void REGAL_CALL glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data);\nREGAL_DECL void REGAL_CALL glDeleteBuffers(GLsizei n, const GLuint *buffers);\nREGAL_DECL void REGAL_CALL glDeleteQueries(GLsizei n, const GLuint *ids);\nREGAL_DECL void REGAL_CALL glEndQuery(GLenum target);\nREGAL_DECL void REGAL_CALL glGenBuffers(GLsizei n, GLuint *buffers);\nREGAL_DECL void REGAL_CALL glGenQueries(GLsizei n, GLuint *ids);\nREGAL_DECL void REGAL_CALL glGetBufferParameteriv(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetBufferPointerv(GLenum target, GLenum pname, GLvoid **params);\nREGAL_DECL void REGAL_CALL glGetBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, GLvoid *data);\nREGAL_DECL void REGAL_CALL glGetQueryObjectiv(GLuint id, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetQueryObjectuiv(GLuint id, GLenum pname, GLuint *params);\nREGAL_DECL void REGAL_CALL glGetQueryiv(GLenum target, GLenum pname, GLint *params);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_VERSION_1_5\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsBuffer(GLuint buffer);\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsQuery(GLuint id);\nREGAL_DECL GLboolean REGAL_CALL plugin_glUnmapBuffer(GLenum target);\nREGAL_DECL GLvoid *REGAL_CALL plugin_glMapBuffer(GLenum target, GLenum access);\nREGAL_DECL void REGAL_CALL plugin_glBeginQuery(GLenum target, GLuint id);\nREGAL_DECL void REGAL_CALL plugin_glBindBuffer(GLenum target, GLuint buffer);\nREGAL_DECL void REGAL_CALL plugin_glBufferData(GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage);\nREGAL_DECL void REGAL_CALL plugin_glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data);\nREGAL_DECL void REGAL_CALL plugin_glDeleteBuffers(GLsizei n, const GLuint *buffers);\nREGAL_DECL void REGAL_CALL plugin_glDeleteQueries(GLsizei n, const GLuint *ids);\nREGAL_DECL void REGAL_CALL plugin_glEndQuery(GLenum target);\nREGAL_DECL void REGAL_CALL plugin_glGenBuffers(GLsizei n, GLuint *buffers);\nREGAL_DECL void REGAL_CALL plugin_glGenQueries(GLsizei n, GLuint *ids);\nREGAL_DECL void REGAL_CALL plugin_glGetBufferParameteriv(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetBufferPointerv(GLenum target, GLenum pname, GLvoid **params);\nREGAL_DECL void REGAL_CALL plugin_glGetBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, GLvoid *data);\nREGAL_DECL void REGAL_CALL plugin_glGetQueryObjectiv(GLuint id, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetQueryObjectuiv(GLuint id, GLenum pname, GLuint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetQueryiv(GLenum target, GLenum pname, GLint *params);\n#endif\n\n/**\n ** GL_VERSION_2_0\n **/\n\n#if (defined(GL_VERSION_2_0) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_VERSION_2_0)) && !defined(REGAL_NO_ENUM_GL_VERSION_2_0)\n#define REGAL_NO_ENUM_GL_VERSION_2_0\n#endif\n\n#if (defined(GL_VERSION_2_0) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_VERSION_2_0)) && !defined(REGAL_NO_TYPEDEF_GL_VERSION_2_0)\n#define REGAL_NO_TYPEDEF_GL_VERSION_2_0\n#endif\n\n#if (defined(GL_VERSION_2_0) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_VERSION_2_0)) && !defined(REGAL_NO_NAMESPACE_GL_VERSION_2_0)\n#define REGAL_NO_NAMESPACE_GL_VERSION_2_0\n#endif\n\n#if (defined(GL_VERSION_2_0) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_VERSION_2_0)) && !defined(REGAL_NO_PLUGIN_GL_VERSION_2_0)\n#define REGAL_NO_PLUGIN_GL_VERSION_2_0\n#endif\n\n#if (defined(GL_VERSION_2_0) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_VERSION_2_0)) && !defined(REGAL_NO_DECLARATION_GL_VERSION_2_0)\n#define REGAL_NO_DECLARATION_GL_VERSION_2_0\n#endif\n\n#ifndef GL_VERSION_2_0\n#define GL_VERSION_2_0 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_VERSION_2_0\n#define GL_VERTEX_ATTRIB_ARRAY_ENABLED      0x8622                /* 34338 */\n#define GL_VERTEX_ATTRIB_ARRAY_SIZE         0x8623                /* 34339 */\n#define GL_VERTEX_ATTRIB_ARRAY_STRIDE       0x8624                /* 34340 */\n#define GL_VERTEX_ATTRIB_ARRAY_TYPE         0x8625                /* 34341 */\n#define GL_CURRENT_VERTEX_ATTRIB            0x8626                /* 34342 */\n#define GL_VERTEX_PROGRAM_POINT_SIZE        0x8642                /* 34370 */\n#define GL_VERTEX_PROGRAM_TWO_SIDE          0x8643                /* 34371 */\n#define GL_VERTEX_ATTRIB_ARRAY_POINTER      0x8645                /* 34373 */\n#define GL_STENCIL_BACK_FUNC                0x8800                /* 34816 */\n#define GL_STENCIL_BACK_FAIL                0x8801                /* 34817 */\n#define GL_STENCIL_BACK_PASS_DEPTH_FAIL     0x8802                /* 34818 */\n#define GL_STENCIL_BACK_PASS_DEPTH_PASS     0x8803                /* 34819 */\n#define GL_MAX_DRAW_BUFFERS                 0x8824                /* 34852 */\n#define GL_DRAW_BUFFER0                     0x8825                /* 34853 */\n#define GL_DRAW_BUFFER1                     0x8826                /* 34854 */\n#define GL_DRAW_BUFFER2                     0x8827                /* 34855 */\n#define GL_DRAW_BUFFER3                     0x8828                /* 34856 */\n#define GL_DRAW_BUFFER4                     0x8829                /* 34857 */\n#define GL_DRAW_BUFFER5                     0x882a                /* 34858 */\n#define GL_DRAW_BUFFER6                     0x882b                /* 34859 */\n#define GL_DRAW_BUFFER7                     0x882c                /* 34860 */\n#define GL_DRAW_BUFFER8                     0x882d                /* 34861 */\n#define GL_DRAW_BUFFER9                     0x882e                /* 34862 */\n#define GL_DRAW_BUFFER10                    0x882f                /* 34863 */\n#define GL_DRAW_BUFFER11                    0x8830                /* 34864 */\n#define GL_DRAW_BUFFER12                    0x8831                /* 34865 */\n#define GL_DRAW_BUFFER13                    0x8832                /* 34866 */\n#define GL_DRAW_BUFFER14                    0x8833                /* 34867 */\n#define GL_DRAW_BUFFER15                    0x8834                /* 34868 */\n#define GL_BLEND_EQUATION_ALPHA             0x883d                /* 34877 */\n#define GL_POINT_SPRITE                     0x8861                /* 34913 */\n#define GL_COORD_REPLACE                    0x8862                /* 34914 */\n#define GL_MAX_VERTEX_ATTRIBS               0x8869                /* 34921 */\n#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED   0x886a                /* 34922 */\n#define GL_MAX_TEXTURE_COORDS               0x8871                /* 34929 */\n#define GL_MAX_TEXTURE_IMAGE_UNITS          0x8872                /* 34930 */\n#define GL_FRAGMENT_SHADER                  0x8b30                /* 35632 */\n#define GL_VERTEX_SHADER                    0x8b31                /* 35633 */\n#define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS  0x8b49                /* 35657 */\n#define GL_MAX_VERTEX_UNIFORM_COMPONENTS    0x8b4a                /* 35658 */\n#define GL_MAX_VARYING_FLOATS               0x8b4b                /* 35659 */\n#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS   0x8b4c                /* 35660 */\n#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS 0x8b4d                /* 35661 */\n#define GL_SHADER_TYPE                      0x8b4f                /* 35663 */\n#define GL_FLOAT_VEC2                       0x8b50                /* 35664 */\n#define GL_FLOAT_VEC3                       0x8b51                /* 35665 */\n#define GL_FLOAT_VEC4                       0x8b52                /* 35666 */\n#define GL_INT_VEC2                         0x8b53                /* 35667 */\n#define GL_INT_VEC3                         0x8b54                /* 35668 */\n#define GL_INT_VEC4                         0x8b55                /* 35669 */\n#define GL_BOOL                             0x8b56                /* 35670 */\n#define GL_BOOL_VEC2                        0x8b57                /* 35671 */\n#define GL_BOOL_VEC3                        0x8b58                /* 35672 */\n#define GL_BOOL_VEC4                        0x8b59                /* 35673 */\n#define GL_FLOAT_MAT2                       0x8b5a                /* 35674 */\n#define GL_FLOAT_MAT3                       0x8b5b                /* 35675 */\n#define GL_FLOAT_MAT4                       0x8b5c                /* 35676 */\n#define GL_SAMPLER_1D                       0x8b5d                /* 35677 */\n#define GL_SAMPLER_2D                       0x8b5e                /* 35678 */\n#define GL_SAMPLER_3D                       0x8b5f                /* 35679 */\n#define GL_SAMPLER_CUBE                     0x8b60                /* 35680 */\n#define GL_SAMPLER_1D_SHADOW                0x8b61                /* 35681 */\n#define GL_SAMPLER_2D_SHADOW                0x8b62                /* 35682 */\n#define GL_DELETE_STATUS                    0x8b80                /* 35712 */\n#define GL_COMPILE_STATUS                   0x8b81                /* 35713 */\n#define GL_LINK_STATUS                      0x8b82                /* 35714 */\n#define GL_VALIDATE_STATUS                  0x8b83                /* 35715 */\n#define GL_INFO_LOG_LENGTH                  0x8b84                /* 35716 */\n#define GL_ATTACHED_SHADERS                 0x8b85                /* 35717 */\n#define GL_ACTIVE_UNIFORMS                  0x8b86                /* 35718 */\n#define GL_ACTIVE_UNIFORM_MAX_LENGTH        0x8b87                /* 35719 */\n#define GL_SHADER_SOURCE_LENGTH             0x8b88                /* 35720 */\n#define GL_ACTIVE_ATTRIBUTES                0x8b89                /* 35721 */\n#define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH      0x8b8a                /* 35722 */\n#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT  0x8b8b                /* 35723 */\n#define GL_SHADING_LANGUAGE_VERSION         0x8b8c                /* 35724 */\n#define GL_CURRENT_PROGRAM                  0x8b8d                /* 35725 */\n#define GL_POINT_SPRITE_COORD_ORIGIN        0x8ca0                /* 36000 */\n#define GL_LOWER_LEFT                       0x8ca1                /* 36001 */\n#define GL_UPPER_LEFT                       0x8ca2                /* 36002 */\n#define GL_STENCIL_BACK_REF                 0x8ca3                /* 36003 */\n#define GL_STENCIL_BACK_VALUE_MASK          0x8ca4                /* 36004 */\n#define GL_STENCIL_BACK_WRITEMASK           0x8ca5                /* 36005 */\n#define GL_BLEND_EQUATION_RGB               GL_BLEND_EQUATION\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_VERSION_2_0\ntypedef GLboolean (REGAL_CALL *PFNGLISPROGRAMPROC)(GLuint program);\ntypedef GLboolean (REGAL_CALL *PFNGLISSHADERPROC)(GLuint shader);\ntypedef GLint (REGAL_CALL *PFNGLGETATTRIBLOCATIONPROC)(GLuint program, const GLchar *name);\ntypedef GLint (REGAL_CALL *PFNGLGETUNIFORMLOCATIONPROC)(GLuint program, const GLchar *name);\ntypedef GLuint (REGAL_CALL *PFNGLCREATEPROGRAMPROC)(void);\ntypedef GLuint (REGAL_CALL *PFNGLCREATESHADERPROC)(GLenum type);\ntypedef void (REGAL_CALL *PFNGLATTACHSHADERPROC)(GLuint program, GLuint shader);\ntypedef void (REGAL_CALL *PFNGLBINDATTRIBLOCATIONPROC)(GLuint program, GLuint index, const GLchar *name);\ntypedef void (REGAL_CALL *PFNGLBLENDEQUATIONSEPARATEPROC)(GLenum modeRGB, GLenum modeAlpha);\ntypedef void (REGAL_CALL *PFNGLCOMPILESHADERPROC)(GLuint shader);\ntypedef void (REGAL_CALL *PFNGLDELETEPROGRAMPROC)(GLuint program);\ntypedef void (REGAL_CALL *PFNGLDELETESHADERPROC)(GLuint shader);\ntypedef void (REGAL_CALL *PFNGLDETACHSHADERPROC)(GLuint program, GLuint shader);\ntypedef void (REGAL_CALL *PFNGLDISABLEVERTEXATTRIBARRAYPROC)(GLuint index);\ntypedef void (REGAL_CALL *PFNGLDRAWBUFFERSPROC)(GLsizei n, const GLenum *bufs);\ntypedef void (REGAL_CALL *PFNGLENABLEVERTEXATTRIBARRAYPROC)(GLuint index);\ntypedef void (REGAL_CALL *PFNGLGETACTIVEATTRIBPROC)(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);\ntypedef void (REGAL_CALL *PFNGLGETACTIVEUNIFORMPROC)(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);\ntypedef void (REGAL_CALL *PFNGLGETATTACHEDSHADERSPROC)(GLuint program, GLsizei maxCount, GLsizei *count, GLuint *shaders);\ntypedef void (REGAL_CALL *PFNGLGETPROGRAMINFOLOGPROC)(GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog);\ntypedef void (REGAL_CALL *PFNGLGETPROGRAMIVPROC)(GLuint program, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETSHADERINFOLOGPROC)(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog);\ntypedef void (REGAL_CALL *PFNGLGETSHADERIVPROC)(GLuint shader, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETSHADERSOURCEPROC)(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source);\ntypedef void (REGAL_CALL *PFNGLGETUNIFORMFVPROC)(GLuint program, GLint location, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETUNIFORMIVPROC)(GLuint program, GLint location, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETVERTEXATTRIBDVPROC)(GLuint index, GLenum pname, GLdouble *params);\ntypedef void (REGAL_CALL *PFNGLGETVERTEXATTRIBFVPROC)(GLuint index, GLenum pname, GLfloat *params);\ntypedef void (REGAL_CALL *PFNGLGETVERTEXATTRIBIVPROC)(GLuint index, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETVERTEXATTRIBPOINTERVPROC)(GLuint index, GLenum pname, GLvoid **pointer);\ntypedef void (REGAL_CALL *PFNGLLINKPROGRAMPROC)(GLuint program);\ntypedef void (REGAL_CALL *PFNGLSHADERSOURCEPROC)(GLuint shader, GLsizei count, const GLchar * const *string, const GLint *length);\ntypedef void (REGAL_CALL *PFNGLSTENCILFUNCSEPARATEPROC)(GLenum face, GLenum func, GLint ref, GLuint mask);\ntypedef void (REGAL_CALL *PFNGLSTENCILMASKSEPARATEPROC)(GLenum face, GLuint mask);\ntypedef void (REGAL_CALL *PFNGLSTENCILOPSEPARATEPROC)(GLenum face, GLenum fail, GLenum zfail, GLenum zpass);\ntypedef void (REGAL_CALL *PFNGLUNIFORM1FPROC)(GLint location, GLfloat v0);\ntypedef void (REGAL_CALL *PFNGLUNIFORM1FVPROC)(GLint location, GLsizei count, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORM1IPROC)(GLint location, GLint v0);\ntypedef void (REGAL_CALL *PFNGLUNIFORM1IVPROC)(GLint location, GLsizei count, const GLint *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORM2FPROC)(GLint location, GLfloat v0, GLfloat v1);\ntypedef void (REGAL_CALL *PFNGLUNIFORM2FVPROC)(GLint location, GLsizei count, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORM2IPROC)(GLint location, GLint v0, GLint v1);\ntypedef void (REGAL_CALL *PFNGLUNIFORM2IVPROC)(GLint location, GLsizei count, const GLint *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORM3FPROC)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2);\ntypedef void (REGAL_CALL *PFNGLUNIFORM3FVPROC)(GLint location, GLsizei count, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORM3IPROC)(GLint location, GLint v0, GLint v1, GLint v2);\ntypedef void (REGAL_CALL *PFNGLUNIFORM3IVPROC)(GLint location, GLsizei count, const GLint *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORM4FPROC)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);\ntypedef void (REGAL_CALL *PFNGLUNIFORM4FVPROC)(GLint location, GLsizei count, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORM4IPROC)(GLint location, GLint v0, GLint v1, GLint v2, GLint v3);\ntypedef void (REGAL_CALL *PFNGLUNIFORM4IVPROC)(GLint location, GLsizei count, const GLint *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORMMATRIX2FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORMMATRIX3FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORMMATRIX4FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLUSEPROGRAMPROC)(GLuint program);\ntypedef void (REGAL_CALL *PFNGLVALIDATEPROGRAMPROC)(GLuint program);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB1DPROC)(GLuint index, GLdouble x);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB1DVPROC)(GLuint index, const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB1FPROC)(GLuint index, GLfloat x);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB1FVPROC)(GLuint index, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB1SPROC)(GLuint index, GLshort x);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB1SVPROC)(GLuint index, const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB2DPROC)(GLuint index, GLdouble x, GLdouble y);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB2DVPROC)(GLuint index, const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB2FPROC)(GLuint index, GLfloat x, GLfloat y);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB2FVPROC)(GLuint index, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB2SPROC)(GLuint index, GLshort x, GLshort y);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB2SVPROC)(GLuint index, const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB3DPROC)(GLuint index, GLdouble x, GLdouble y, GLdouble z);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB3DVPROC)(GLuint index, const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB3FPROC)(GLuint index, GLfloat x, GLfloat y, GLfloat z);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB3FVPROC)(GLuint index, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB3SPROC)(GLuint index, GLshort x, GLshort y, GLshort z);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB3SVPROC)(GLuint index, const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4BVPROC)(GLuint index, const GLbyte *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4DPROC)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4DVPROC)(GLuint index, const GLdouble *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4FPROC)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4FVPROC)(GLuint index, const GLfloat *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4IVPROC)(GLuint index, const GLint *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4NBVPROC)(GLuint index, const GLbyte *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4NIVPROC)(GLuint index, const GLint *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4NSVPROC)(GLuint index, const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4NUBPROC)(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4NUBVPROC)(GLuint index, const GLubyte *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4NUIVPROC)(GLuint index, const GLuint *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4NUSVPROC)(GLuint index, const GLushort *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4SPROC)(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4SVPROC)(GLuint index, const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4UBVPROC)(GLuint index, const GLubyte *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4UIVPROC)(GLuint index, const GLuint *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIB4USVPROC)(GLuint index, const GLushort *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBPOINTERPROC)(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_VERSION_2_0\n#define glAttachShader                      rglAttachShader\n#define glBindAttribLocation                rglBindAttribLocation\n#define glBlendEquationSeparate             rglBlendEquationSeparate\n#define glCompileShader                     rglCompileShader\n#define glCreateProgram                     rglCreateProgram\n#define glCreateShader                      rglCreateShader\n#define glDeleteProgram                     rglDeleteProgram\n#define glDeleteShader                      rglDeleteShader\n#define glDetachShader                      rglDetachShader\n#define glDisableVertexAttribArray          rglDisableVertexAttribArray\n#define glDrawBuffers                       rglDrawBuffers\n#define glEnableVertexAttribArray           rglEnableVertexAttribArray\n#define glGetActiveAttrib                   rglGetActiveAttrib\n#define glGetActiveUniform                  rglGetActiveUniform\n#define glGetAttachedShaders                rglGetAttachedShaders\n#define glGetAttribLocation                 rglGetAttribLocation\n#define glGetProgramInfoLog                 rglGetProgramInfoLog\n#define glGetProgramiv                      rglGetProgramiv\n#define glGetShaderInfoLog                  rglGetShaderInfoLog\n#define glGetShaderSource                   rglGetShaderSource\n#define glGetShaderiv                       rglGetShaderiv\n#define glGetUniformLocation                rglGetUniformLocation\n#define glGetUniformfv                      rglGetUniformfv\n#define glGetUniformiv                      rglGetUniformiv\n#define glGetVertexAttribPointerv           rglGetVertexAttribPointerv\n#define glGetVertexAttribdv                 rglGetVertexAttribdv\n#define glGetVertexAttribfv                 rglGetVertexAttribfv\n#define glGetVertexAttribiv                 rglGetVertexAttribiv\n#define glIsProgram                         rglIsProgram\n#define glIsShader                          rglIsShader\n#define glLinkProgram                       rglLinkProgram\n#define glShaderSource                      rglShaderSource\n#define glStencilFuncSeparate               rglStencilFuncSeparate\n#define glStencilMaskSeparate               rglStencilMaskSeparate\n#define glStencilOpSeparate                 rglStencilOpSeparate\n#define glUniform1f                         rglUniform1f\n#define glUniform1fv                        rglUniform1fv\n#define glUniform1i                         rglUniform1i\n#define glUniform1iv                        rglUniform1iv\n#define glUniform2f                         rglUniform2f\n#define glUniform2fv                        rglUniform2fv\n#define glUniform2i                         rglUniform2i\n#define glUniform2iv                        rglUniform2iv\n#define glUniform3f                         rglUniform3f\n#define glUniform3fv                        rglUniform3fv\n#define glUniform3i                         rglUniform3i\n#define glUniform3iv                        rglUniform3iv\n#define glUniform4f                         rglUniform4f\n#define glUniform4fv                        rglUniform4fv\n#define glUniform4i                         rglUniform4i\n#define glUniform4iv                        rglUniform4iv\n#define glUniformMatrix2fv                  rglUniformMatrix2fv\n#define glUniformMatrix3fv                  rglUniformMatrix3fv\n#define glUniformMatrix4fv                  rglUniformMatrix4fv\n#define glUseProgram                        rglUseProgram\n#define glValidateProgram                   rglValidateProgram\n#define glVertexAttrib1d                    rglVertexAttrib1d\n#define glVertexAttrib1dv                   rglVertexAttrib1dv\n#define glVertexAttrib1f                    rglVertexAttrib1f\n#define glVertexAttrib1fv                   rglVertexAttrib1fv\n#define glVertexAttrib1s                    rglVertexAttrib1s\n#define glVertexAttrib1sv                   rglVertexAttrib1sv\n#define glVertexAttrib2d                    rglVertexAttrib2d\n#define glVertexAttrib2dv                   rglVertexAttrib2dv\n#define glVertexAttrib2f                    rglVertexAttrib2f\n#define glVertexAttrib2fv                   rglVertexAttrib2fv\n#define glVertexAttrib2s                    rglVertexAttrib2s\n#define glVertexAttrib2sv                   rglVertexAttrib2sv\n#define glVertexAttrib3d                    rglVertexAttrib3d\n#define glVertexAttrib3dv                   rglVertexAttrib3dv\n#define glVertexAttrib3f                    rglVertexAttrib3f\n#define glVertexAttrib3fv                   rglVertexAttrib3fv\n#define glVertexAttrib3s                    rglVertexAttrib3s\n#define glVertexAttrib3sv                   rglVertexAttrib3sv\n#define glVertexAttrib4Nbv                  rglVertexAttrib4Nbv\n#define glVertexAttrib4Niv                  rglVertexAttrib4Niv\n#define glVertexAttrib4Nsv                  rglVertexAttrib4Nsv\n#define glVertexAttrib4Nub                  rglVertexAttrib4Nub\n#define glVertexAttrib4Nubv                 rglVertexAttrib4Nubv\n#define glVertexAttrib4Nuiv                 rglVertexAttrib4Nuiv\n#define glVertexAttrib4Nusv                 rglVertexAttrib4Nusv\n#define glVertexAttrib4bv                   rglVertexAttrib4bv\n#define glVertexAttrib4d                    rglVertexAttrib4d\n#define glVertexAttrib4dv                   rglVertexAttrib4dv\n#define glVertexAttrib4f                    rglVertexAttrib4f\n#define glVertexAttrib4fv                   rglVertexAttrib4fv\n#define glVertexAttrib4iv                   rglVertexAttrib4iv\n#define glVertexAttrib4s                    rglVertexAttrib4s\n#define glVertexAttrib4sv                   rglVertexAttrib4sv\n#define glVertexAttrib4ubv                  rglVertexAttrib4ubv\n#define glVertexAttrib4uiv                  rglVertexAttrib4uiv\n#define glVertexAttrib4usv                  rglVertexAttrib4usv\n#define glVertexAttribPointer               rglVertexAttribPointer\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_VERSION_2_0\nREGAL_DECL GLboolean REGAL_CALL glIsProgram(GLuint program);\nREGAL_DECL GLboolean REGAL_CALL glIsShader(GLuint shader);\nREGAL_DECL GLint REGAL_CALL glGetAttribLocation(GLuint program, const GLchar *name);\nREGAL_DECL GLint REGAL_CALL glGetUniformLocation(GLuint program, const GLchar *name);\nREGAL_DECL GLuint REGAL_CALL glCreateProgram(void);\nREGAL_DECL GLuint REGAL_CALL glCreateShader(GLenum type);\nREGAL_DECL void REGAL_CALL glAttachShader(GLuint program, GLuint shader);\nREGAL_DECL void REGAL_CALL glBindAttribLocation(GLuint program, GLuint index, const GLchar *name);\nREGAL_DECL void REGAL_CALL glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha);\nREGAL_DECL void REGAL_CALL glCompileShader(GLuint shader);\nREGAL_DECL void REGAL_CALL glDeleteProgram(GLuint program);\nREGAL_DECL void REGAL_CALL glDeleteShader(GLuint shader);\nREGAL_DECL void REGAL_CALL glDetachShader(GLuint program, GLuint shader);\nREGAL_DECL void REGAL_CALL glDisableVertexAttribArray(GLuint index);\nREGAL_DECL void REGAL_CALL glDrawBuffers(GLsizei n, const GLenum *bufs);\nREGAL_DECL void REGAL_CALL glEnableVertexAttribArray(GLuint index);\nREGAL_DECL void REGAL_CALL glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);\nREGAL_DECL void REGAL_CALL glGetActiveUniform(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);\nREGAL_DECL void REGAL_CALL glGetAttachedShaders(GLuint program, GLsizei maxCount, GLsizei *count, GLuint *shaders);\nREGAL_DECL void REGAL_CALL glGetProgramInfoLog(GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog);\nREGAL_DECL void REGAL_CALL glGetProgramiv(GLuint program, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetShaderInfoLog(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog);\nREGAL_DECL void REGAL_CALL glGetShaderSource(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source);\nREGAL_DECL void REGAL_CALL glGetShaderiv(GLuint shader, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetUniformfv(GLuint program, GLint location, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetUniformiv(GLuint program, GLint location, GLint *params);\nREGAL_DECL void REGAL_CALL glGetVertexAttribPointerv(GLuint index, GLenum pname, GLvoid **pointer);\nREGAL_DECL void REGAL_CALL glGetVertexAttribdv(GLuint index, GLenum pname, GLdouble *params);\nREGAL_DECL void REGAL_CALL glGetVertexAttribfv(GLuint index, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL glGetVertexAttribiv(GLuint index, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glLinkProgram(GLuint program);\nREGAL_DECL void REGAL_CALL glShaderSource(GLuint shader, GLsizei count, const GLchar * const *string, const GLint *length);\nREGAL_DECL void REGAL_CALL glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask);\nREGAL_DECL void REGAL_CALL glStencilMaskSeparate(GLenum face, GLuint mask);\nREGAL_DECL void REGAL_CALL glStencilOpSeparate(GLenum face, GLenum fail, GLenum zfail, GLenum zpass);\nREGAL_DECL void REGAL_CALL glUniform1f(GLint location, GLfloat v0);\nREGAL_DECL void REGAL_CALL glUniform1fv(GLint location, GLsizei count, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glUniform1i(GLint location, GLint v0);\nREGAL_DECL void REGAL_CALL glUniform1iv(GLint location, GLsizei count, const GLint *value);\nREGAL_DECL void REGAL_CALL glUniform2f(GLint location, GLfloat v0, GLfloat v1);\nREGAL_DECL void REGAL_CALL glUniform2fv(GLint location, GLsizei count, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glUniform2i(GLint location, GLint v0, GLint v1);\nREGAL_DECL void REGAL_CALL glUniform2iv(GLint location, GLsizei count, const GLint *value);\nREGAL_DECL void REGAL_CALL glUniform3f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2);\nREGAL_DECL void REGAL_CALL glUniform3fv(GLint location, GLsizei count, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glUniform3i(GLint location, GLint v0, GLint v1, GLint v2);\nREGAL_DECL void REGAL_CALL glUniform3iv(GLint location, GLsizei count, const GLint *value);\nREGAL_DECL void REGAL_CALL glUniform4f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);\nREGAL_DECL void REGAL_CALL glUniform4fv(GLint location, GLsizei count, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glUniform4i(GLint location, GLint v0, GLint v1, GLint v2, GLint v3);\nREGAL_DECL void REGAL_CALL glUniform4iv(GLint location, GLsizei count, const GLint *value);\nREGAL_DECL void REGAL_CALL glUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glUniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glUseProgram(GLuint program);\nREGAL_DECL void REGAL_CALL glValidateProgram(GLuint program);\nREGAL_DECL void REGAL_CALL glVertexAttrib1d(GLuint index, GLdouble x);\nREGAL_DECL void REGAL_CALL glVertexAttrib1dv(GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib1f(GLuint index, GLfloat x);\nREGAL_DECL void REGAL_CALL glVertexAttrib1fv(GLuint index, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib1s(GLuint index, GLshort x);\nREGAL_DECL void REGAL_CALL glVertexAttrib1sv(GLuint index, const GLshort *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib2d(GLuint index, GLdouble x, GLdouble y);\nREGAL_DECL void REGAL_CALL glVertexAttrib2dv(GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib2f(GLuint index, GLfloat x, GLfloat y);\nREGAL_DECL void REGAL_CALL glVertexAttrib2fv(GLuint index, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib2s(GLuint index, GLshort x, GLshort y);\nREGAL_DECL void REGAL_CALL glVertexAttrib2sv(GLuint index, const GLshort *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib3d(GLuint index, GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL glVertexAttrib3dv(GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib3f(GLuint index, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL glVertexAttrib3fv(GLuint index, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib3s(GLuint index, GLshort x, GLshort y, GLshort z);\nREGAL_DECL void REGAL_CALL glVertexAttrib3sv(GLuint index, const GLshort *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib4Nbv(GLuint index, const GLbyte *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib4Niv(GLuint index, const GLint *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib4Nsv(GLuint index, const GLshort *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib4Nub(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);\nREGAL_DECL void REGAL_CALL glVertexAttrib4Nubv(GLuint index, const GLubyte *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib4Nuiv(GLuint index, const GLuint *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib4Nusv(GLuint index, const GLushort *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib4bv(GLuint index, const GLbyte *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib4d(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nREGAL_DECL void REGAL_CALL glVertexAttrib4dv(GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib4f(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nREGAL_DECL void REGAL_CALL glVertexAttrib4fv(GLuint index, const GLfloat *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib4iv(GLuint index, const GLint *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib4s(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);\nREGAL_DECL void REGAL_CALL glVertexAttrib4sv(GLuint index, const GLshort *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib4ubv(GLuint index, const GLubyte *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib4uiv(GLuint index, const GLuint *v);\nREGAL_DECL void REGAL_CALL glVertexAttrib4usv(GLuint index, const GLushort *v);\nREGAL_DECL void REGAL_CALL glVertexAttribPointer(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_VERSION_2_0\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsProgram(GLuint program);\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsShader(GLuint shader);\nREGAL_DECL GLint REGAL_CALL plugin_glGetAttribLocation(GLuint program, const GLchar *name);\nREGAL_DECL GLint REGAL_CALL plugin_glGetUniformLocation(GLuint program, const GLchar *name);\nREGAL_DECL GLuint REGAL_CALL plugin_glCreateProgram(void);\nREGAL_DECL GLuint REGAL_CALL plugin_glCreateShader(GLenum type);\nREGAL_DECL void REGAL_CALL plugin_glAttachShader(GLuint program, GLuint shader);\nREGAL_DECL void REGAL_CALL plugin_glBindAttribLocation(GLuint program, GLuint index, const GLchar *name);\nREGAL_DECL void REGAL_CALL plugin_glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha);\nREGAL_DECL void REGAL_CALL plugin_glCompileShader(GLuint shader);\nREGAL_DECL void REGAL_CALL plugin_glDeleteProgram(GLuint program);\nREGAL_DECL void REGAL_CALL plugin_glDeleteShader(GLuint shader);\nREGAL_DECL void REGAL_CALL plugin_glDetachShader(GLuint program, GLuint shader);\nREGAL_DECL void REGAL_CALL plugin_glDisableVertexAttribArray(GLuint index);\nREGAL_DECL void REGAL_CALL plugin_glDrawBuffers(GLsizei n, const GLenum *bufs);\nREGAL_DECL void REGAL_CALL plugin_glEnableVertexAttribArray(GLuint index);\nREGAL_DECL void REGAL_CALL plugin_glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);\nREGAL_DECL void REGAL_CALL plugin_glGetActiveUniform(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);\nREGAL_DECL void REGAL_CALL plugin_glGetAttachedShaders(GLuint program, GLsizei maxCount, GLsizei *count, GLuint *shaders);\nREGAL_DECL void REGAL_CALL plugin_glGetProgramInfoLog(GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog);\nREGAL_DECL void REGAL_CALL plugin_glGetProgramiv(GLuint program, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetShaderInfoLog(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog);\nREGAL_DECL void REGAL_CALL plugin_glGetShaderSource(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source);\nREGAL_DECL void REGAL_CALL plugin_glGetShaderiv(GLuint shader, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetUniformfv(GLuint program, GLint location, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetUniformiv(GLuint program, GLint location, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetVertexAttribPointerv(GLuint index, GLenum pname, GLvoid **pointer);\nREGAL_DECL void REGAL_CALL plugin_glGetVertexAttribdv(GLuint index, GLenum pname, GLdouble *params);\nREGAL_DECL void REGAL_CALL plugin_glGetVertexAttribfv(GLuint index, GLenum pname, GLfloat *params);\nREGAL_DECL void REGAL_CALL plugin_glGetVertexAttribiv(GLuint index, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glLinkProgram(GLuint program);\nREGAL_DECL void REGAL_CALL plugin_glShaderSource(GLuint shader, GLsizei count, const GLchar * const *string, const GLint *length);\nREGAL_DECL void REGAL_CALL plugin_glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask);\nREGAL_DECL void REGAL_CALL plugin_glStencilMaskSeparate(GLenum face, GLuint mask);\nREGAL_DECL void REGAL_CALL plugin_glStencilOpSeparate(GLenum face, GLenum fail, GLenum zfail, GLenum zpass);\nREGAL_DECL void REGAL_CALL plugin_glUniform1f(GLint location, GLfloat v0);\nREGAL_DECL void REGAL_CALL plugin_glUniform1fv(GLint location, GLsizei count, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glUniform1i(GLint location, GLint v0);\nREGAL_DECL void REGAL_CALL plugin_glUniform1iv(GLint location, GLsizei count, const GLint *value);\nREGAL_DECL void REGAL_CALL plugin_glUniform2f(GLint location, GLfloat v0, GLfloat v1);\nREGAL_DECL void REGAL_CALL plugin_glUniform2fv(GLint location, GLsizei count, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glUniform2i(GLint location, GLint v0, GLint v1);\nREGAL_DECL void REGAL_CALL plugin_glUniform2iv(GLint location, GLsizei count, const GLint *value);\nREGAL_DECL void REGAL_CALL plugin_glUniform3f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2);\nREGAL_DECL void REGAL_CALL plugin_glUniform3fv(GLint location, GLsizei count, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glUniform3i(GLint location, GLint v0, GLint v1, GLint v2);\nREGAL_DECL void REGAL_CALL plugin_glUniform3iv(GLint location, GLsizei count, const GLint *value);\nREGAL_DECL void REGAL_CALL plugin_glUniform4f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);\nREGAL_DECL void REGAL_CALL plugin_glUniform4fv(GLint location, GLsizei count, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glUniform4i(GLint location, GLint v0, GLint v1, GLint v2, GLint v3);\nREGAL_DECL void REGAL_CALL plugin_glUniform4iv(GLint location, GLsizei count, const GLint *value);\nREGAL_DECL void REGAL_CALL plugin_glUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glUniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glUseProgram(GLuint program);\nREGAL_DECL void REGAL_CALL plugin_glValidateProgram(GLuint program);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib1d(GLuint index, GLdouble x);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib1dv(GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib1f(GLuint index, GLfloat x);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib1fv(GLuint index, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib1s(GLuint index, GLshort x);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib1sv(GLuint index, const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib2d(GLuint index, GLdouble x, GLdouble y);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib2dv(GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib2f(GLuint index, GLfloat x, GLfloat y);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib2fv(GLuint index, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib2s(GLuint index, GLshort x, GLshort y);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib2sv(GLuint index, const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib3d(GLuint index, GLdouble x, GLdouble y, GLdouble z);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib3dv(GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib3f(GLuint index, GLfloat x, GLfloat y, GLfloat z);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib3fv(GLuint index, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib3s(GLuint index, GLshort x, GLshort y, GLshort z);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib3sv(GLuint index, const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4Nbv(GLuint index, const GLbyte *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4Niv(GLuint index, const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4Nsv(GLuint index, const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4Nub(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4Nubv(GLuint index, const GLubyte *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4Nuiv(GLuint index, const GLuint *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4Nusv(GLuint index, const GLushort *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4bv(GLuint index, const GLbyte *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4d(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4dv(GLuint index, const GLdouble *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4f(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4fv(GLuint index, const GLfloat *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4iv(GLuint index, const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4s(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4sv(GLuint index, const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4ubv(GLuint index, const GLubyte *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4uiv(GLuint index, const GLuint *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttrib4usv(GLuint index, const GLushort *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribPointer(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer);\n#endif\n\n/**\n ** GL_VERSION_2_1\n **/\n\n#if (defined(GL_VERSION_2_1) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_VERSION_2_1)) && !defined(REGAL_NO_ENUM_GL_VERSION_2_1)\n#define REGAL_NO_ENUM_GL_VERSION_2_1\n#endif\n\n#if (defined(GL_VERSION_2_1) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_VERSION_2_1)) && !defined(REGAL_NO_TYPEDEF_GL_VERSION_2_1)\n#define REGAL_NO_TYPEDEF_GL_VERSION_2_1\n#endif\n\n#if (defined(GL_VERSION_2_1) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_VERSION_2_1)) && !defined(REGAL_NO_NAMESPACE_GL_VERSION_2_1)\n#define REGAL_NO_NAMESPACE_GL_VERSION_2_1\n#endif\n\n#if (defined(GL_VERSION_2_1) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_VERSION_2_1)) && !defined(REGAL_NO_PLUGIN_GL_VERSION_2_1)\n#define REGAL_NO_PLUGIN_GL_VERSION_2_1\n#endif\n\n#if (defined(GL_VERSION_2_1) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_VERSION_2_1)) && !defined(REGAL_NO_DECLARATION_GL_VERSION_2_1)\n#define REGAL_NO_DECLARATION_GL_VERSION_2_1\n#endif\n\n#ifndef GL_VERSION_2_1\n#define GL_VERSION_2_1 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_VERSION_2_1\n#define GL_CURRENT_RASTER_SECONDARY_COLOR 0x845f     /* 33887 */\n#define GL_PIXEL_PACK_BUFFER              0x88eb     /* 35051 */\n#define GL_PIXEL_UNPACK_BUFFER            0x88ec     /* 35052 */\n#define GL_PIXEL_PACK_BUFFER_BINDING      0x88ed     /* 35053 */\n#define GL_PIXEL_UNPACK_BUFFER_BINDING    0x88ef     /* 35055 */\n#define GL_FLOAT_MAT2x3                   0x8b65     /* 35685 */\n#define GL_FLOAT_MAT2x4                   0x8b66     /* 35686 */\n#define GL_FLOAT_MAT3x2                   0x8b67     /* 35687 */\n#define GL_FLOAT_MAT3x4                   0x8b68     /* 35688 */\n#define GL_FLOAT_MAT4x2                   0x8b69     /* 35689 */\n#define GL_FLOAT_MAT4x3                   0x8b6a     /* 35690 */\n#define GL_SRGB                           0x8c40     /* 35904 */\n#define GL_SRGB8                          0x8c41     /* 35905 */\n#define GL_SRGB_ALPHA                     0x8c42     /* 35906 */\n#define GL_SRGB8_ALPHA8                   0x8c43     /* 35907 */\n#define GL_SLUMINANCE_ALPHA               0x8c44     /* 35908 */\n#define GL_SLUMINANCE8_ALPHA8             0x8c45     /* 35909 */\n#define GL_SLUMINANCE                     0x8c46     /* 35910 */\n#define GL_SLUMINANCE8                    0x8c47     /* 35911 */\n#define GL_COMPRESSED_SRGB                0x8c48     /* 35912 */\n#define GL_COMPRESSED_SRGB_ALPHA          0x8c49     /* 35913 */\n#define GL_COMPRESSED_SLUMINANCE          0x8c4a     /* 35914 */\n#define GL_COMPRESSED_SLUMINANCE_ALPHA    0x8c4b     /* 35915 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_VERSION_2_1\ntypedef void (REGAL_CALL *PFNGLUNIFORMMATRIX2X3FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORMMATRIX2X4FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORMMATRIX3X2FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORMMATRIX3X4FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORMMATRIX4X2FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORMMATRIX4X3FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_VERSION_2_1\n#define glUniformMatrix2x3fv                rglUniformMatrix2x3fv\n#define glUniformMatrix2x4fv                rglUniformMatrix2x4fv\n#define glUniformMatrix3x2fv                rglUniformMatrix3x2fv\n#define glUniformMatrix3x4fv                rglUniformMatrix3x4fv\n#define glUniformMatrix4x2fv                rglUniformMatrix4x2fv\n#define glUniformMatrix4x3fv                rglUniformMatrix4x3fv\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_VERSION_2_1\nREGAL_DECL void REGAL_CALL glUniformMatrix2x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glUniformMatrix2x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glUniformMatrix3x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glUniformMatrix3x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glUniformMatrix4x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glUniformMatrix4x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_VERSION_2_1\nREGAL_DECL void REGAL_CALL plugin_glUniformMatrix2x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glUniformMatrix2x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glUniformMatrix3x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glUniformMatrix3x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glUniformMatrix4x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glUniformMatrix4x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);\n#endif\n\n/**\n ** GL_VERSION_3_0\n **/\n\n#if (defined(GL_VERSION_3_0) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_VERSION_3_0)) && !defined(REGAL_NO_ENUM_GL_VERSION_3_0)\n#define REGAL_NO_ENUM_GL_VERSION_3_0\n#endif\n\n#if (defined(GL_VERSION_3_0) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_VERSION_3_0)) && !defined(REGAL_NO_TYPEDEF_GL_VERSION_3_0)\n#define REGAL_NO_TYPEDEF_GL_VERSION_3_0\n#endif\n\n#if (defined(GL_VERSION_3_0) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_VERSION_3_0)) && !defined(REGAL_NO_NAMESPACE_GL_VERSION_3_0)\n#define REGAL_NO_NAMESPACE_GL_VERSION_3_0\n#endif\n\n#if (defined(GL_VERSION_3_0) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_VERSION_3_0)) && !defined(REGAL_NO_PLUGIN_GL_VERSION_3_0)\n#define REGAL_NO_PLUGIN_GL_VERSION_3_0\n#endif\n\n#if (defined(GL_VERSION_3_0) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_VERSION_3_0)) && !defined(REGAL_NO_DECLARATION_GL_VERSION_3_0)\n#define REGAL_NO_DECLARATION_GL_VERSION_3_0\n#endif\n\n#ifndef GL_VERSION_3_0\n#define GL_VERSION_3_0 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_VERSION_3_0\n#define GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT           0x1\n#define GL_MAJOR_VERSION                                 0x821b                          /* 33307 */\n#define GL_MINOR_VERSION                                 0x821c                          /* 33308 */\n#define GL_NUM_EXTENSIONS                                0x821d                          /* 33309 */\n#define GL_CONTEXT_FLAGS                                 0x821e                          /* 33310 */\n#define GL_DEPTH_BUFFER                                  0x8223                          /* 33315 */\n#define GL_STENCIL_BUFFER                                0x8224                          /* 33316 */\n#define GL_RGBA32F                                       0x8814                          /* 34836 */\n#define GL_RGB32F                                        0x8815                          /* 34837 */\n#define GL_RGBA16F                                       0x881a                          /* 34842 */\n#define GL_RGB16F                                        0x881b                          /* 34843 */\n#define GL_VERTEX_ATTRIB_ARRAY_INTEGER                   0x88fd                          /* 35069 */\n#define GL_MAX_ARRAY_TEXTURE_LAYERS                      0x88ff                          /* 35071 */\n#define GL_MIN_PROGRAM_TEXEL_OFFSET                      0x8904                          /* 35076 */\n#define GL_MAX_PROGRAM_TEXEL_OFFSET                      0x8905                          /* 35077 */\n#define GL_CLAMP_VERTEX_COLOR                            0x891a                          /* 35098 */\n#define GL_CLAMP_FRAGMENT_COLOR                          0x891b                          /* 35099 */\n#define GL_CLAMP_READ_COLOR                              0x891c                          /* 35100 */\n#define GL_FIXED_ONLY                                    0x891d                          /* 35101 */\n#define GL_TEXTURE_RED_TYPE                              0x8c10                          /* 35856 */\n#define GL_TEXTURE_GREEN_TYPE                            0x8c11                          /* 35857 */\n#define GL_TEXTURE_BLUE_TYPE                             0x8c12                          /* 35858 */\n#define GL_TEXTURE_ALPHA_TYPE                            0x8c13                          /* 35859 */\n#define GL_TEXTURE_LUMINANCE_TYPE                        0x8c14                          /* 35860 */\n#define GL_TEXTURE_INTENSITY_TYPE                        0x8c15                          /* 35861 */\n#define GL_TEXTURE_DEPTH_TYPE                            0x8c16                          /* 35862 */\n#define GL_TEXTURE_1D_ARRAY                              0x8c18                          /* 35864 */\n#define GL_PROXY_TEXTURE_1D_ARRAY                        0x8c19                          /* 35865 */\n#define GL_TEXTURE_2D_ARRAY                              0x8c1a                          /* 35866 */\n#define GL_PROXY_TEXTURE_2D_ARRAY                        0x8c1b                          /* 35867 */\n#define GL_TEXTURE_BINDING_1D_ARRAY                      0x8c1c                          /* 35868 */\n#define GL_TEXTURE_BINDING_2D_ARRAY                      0x8c1d                          /* 35869 */\n#define GL_R11F_G11F_B10F                                0x8c3a                          /* 35898 */\n#define GL_UNSIGNED_INT_10F_11F_11F_REV                  0x8c3b                          /* 35899 */\n#define GL_RGB9_E5                                       0x8c3d                          /* 35901 */\n#define GL_UNSIGNED_INT_5_9_9_9_REV                      0x8c3e                          /* 35902 */\n#define GL_TEXTURE_SHARED_SIZE                           0x8c3f                          /* 35903 */\n#define GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH         0x8c76                          /* 35958 */\n#define GL_TRANSFORM_FEEDBACK_BUFFER_MODE                0x8c7f                          /* 35967 */\n#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS    0x8c80                          /* 35968 */\n#define GL_TRANSFORM_FEEDBACK_VARYINGS                   0x8c83                          /* 35971 */\n#define GL_TRANSFORM_FEEDBACK_BUFFER_START               0x8c84                          /* 35972 */\n#define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE                0x8c85                          /* 35973 */\n#define GL_PRIMITIVES_GENERATED                          0x8c87                          /* 35975 */\n#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN         0x8c88                          /* 35976 */\n#define GL_RASTERIZER_DISCARD                            0x8c89                          /* 35977 */\n#define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS 0x8c8a                          /* 35978 */\n#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS       0x8c8b                          /* 35979 */\n#define GL_INTERLEAVED_ATTRIBS                           0x8c8c                          /* 35980 */\n#define GL_SEPARATE_ATTRIBS                              0x8c8d                          /* 35981 */\n#define GL_TRANSFORM_FEEDBACK_BUFFER                     0x8c8e                          /* 35982 */\n#define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING             0x8c8f                          /* 35983 */\n#define GL_RGBA32UI                                      0x8d70                          /* 36208 */\n#define GL_RGB32UI                                       0x8d71                          /* 36209 */\n#define GL_RGBA16UI                                      0x8d76                          /* 36214 */\n#define GL_RGB16UI                                       0x8d77                          /* 36215 */\n#define GL_RGBA8UI                                       0x8d7c                          /* 36220 */\n#define GL_RGB8UI                                        0x8d7d                          /* 36221 */\n#define GL_RGBA32I                                       0x8d82                          /* 36226 */\n#define GL_RGB32I                                        0x8d83                          /* 36227 */\n#define GL_RGBA16I                                       0x8d88                          /* 36232 */\n#define GL_RGB16I                                        0x8d89                          /* 36233 */\n#define GL_RGBA8I                                        0x8d8e                          /* 36238 */\n#define GL_RGB8I                                         0x8d8f                          /* 36239 */\n#define GL_RED_INTEGER                                   0x8d94                          /* 36244 */\n#define GL_GREEN_INTEGER                                 0x8d95                          /* 36245 */\n#define GL_BLUE_INTEGER                                  0x8d96                          /* 36246 */\n#define GL_ALPHA_INTEGER                                 0x8d97                          /* 36247 */\n#define GL_RGB_INTEGER                                   0x8d98                          /* 36248 */\n#define GL_RGBA_INTEGER                                  0x8d99                          /* 36249 */\n#define GL_BGR_INTEGER                                   0x8d9a                          /* 36250 */\n#define GL_BGRA_INTEGER                                  0x8d9b                          /* 36251 */\n#define GL_SAMPLER_1D_ARRAY                              0x8dc0                          /* 36288 */\n#define GL_SAMPLER_2D_ARRAY                              0x8dc1                          /* 36289 */\n#define GL_SAMPLER_1D_ARRAY_SHADOW                       0x8dc3                          /* 36291 */\n#define GL_SAMPLER_2D_ARRAY_SHADOW                       0x8dc4                          /* 36292 */\n#define GL_SAMPLER_CUBE_SHADOW                           0x8dc5                          /* 36293 */\n#define GL_UNSIGNED_INT_VEC2                             0x8dc6                          /* 36294 */\n#define GL_UNSIGNED_INT_VEC3                             0x8dc7                          /* 36295 */\n#define GL_UNSIGNED_INT_VEC4                             0x8dc8                          /* 36296 */\n#define GL_INT_SAMPLER_1D                                0x8dc9                          /* 36297 */\n#define GL_INT_SAMPLER_2D                                0x8dca                          /* 36298 */\n#define GL_INT_SAMPLER_3D                                0x8dcb                          /* 36299 */\n#define GL_INT_SAMPLER_CUBE                              0x8dcc                          /* 36300 */\n#define GL_INT_SAMPLER_1D_ARRAY                          0x8dce                          /* 36302 */\n#define GL_INT_SAMPLER_2D_ARRAY                          0x8dcf                          /* 36303 */\n#define GL_UNSIGNED_INT_SAMPLER_1D                       0x8dd1                          /* 36305 */\n#define GL_UNSIGNED_INT_SAMPLER_2D                       0x8dd2                          /* 36306 */\n#define GL_UNSIGNED_INT_SAMPLER_3D                       0x8dd3                          /* 36307 */\n#define GL_UNSIGNED_INT_SAMPLER_CUBE                     0x8dd4                          /* 36308 */\n#define GL_UNSIGNED_INT_SAMPLER_1D_ARRAY                 0x8dd6                          /* 36310 */\n#define GL_UNSIGNED_INT_SAMPLER_2D_ARRAY                 0x8dd7                          /* 36311 */\n#define GL_QUERY_WAIT                                    0x8e13                          /* 36371 */\n#define GL_QUERY_NO_WAIT                                 0x8e14                          /* 36372 */\n#define GL_QUERY_BY_REGION_WAIT                          0x8e15                          /* 36373 */\n#define GL_QUERY_BY_REGION_NO_WAIT                       0x8e16                          /* 36374 */\n#define GL_CLIP_DISTANCE0                                GL_CLIP_PLANE0\n#define GL_CLIP_DISTANCE1                                GL_CLIP_PLANE1\n#define GL_CLIP_DISTANCE2                                GL_CLIP_PLANE2\n#define GL_CLIP_DISTANCE3                                GL_CLIP_PLANE3\n#define GL_CLIP_DISTANCE4                                GL_CLIP_PLANE4\n#define GL_CLIP_DISTANCE5                                GL_CLIP_PLANE5\n#define GL_CLIP_DISTANCE6                                GL_CLIP_PLANE6\n#define GL_CLIP_DISTANCE7                                GL_CLIP_PLANE7\n#define GL_COMPARE_REF_TO_TEXTURE                        GL_COMPARE_R_TO_TEXTURE_ARB\n#define GL_MAX_CLIP_DISTANCES                            GL_MAX_CLIP_PLANES\n#define GL_MAX_VARYING_COMPONENTS                        GL_MAX_VARYING_FLOATS\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_VERSION_3_0\ntypedef GLboolean (REGAL_CALL *PFNGLISENABLEDIPROC)(GLenum target, GLuint index);\ntypedef GLint (REGAL_CALL *PFNGLGETFRAGDATALOCATIONPROC)(GLuint program, const GLchar *name);\ntypedef const GLubyte *(REGAL_CALL *PFNGLGETSTRINGIPROC)(GLenum name, GLuint index);\ntypedef void (REGAL_CALL *PFNGLBEGINCONDITIONALRENDERPROC)(GLuint id, GLenum mode);\ntypedef void (REGAL_CALL *PFNGLBEGINTRANSFORMFEEDBACKPROC)(GLenum primitiveMode);\ntypedef void (REGAL_CALL *PFNGLBINDFRAGDATALOCATIONPROC)(GLuint program, GLuint color, const GLchar *name);\ntypedef void (REGAL_CALL *PFNGLCLAMPCOLORPROC)(GLenum target, GLenum clamp);\ntypedef void (REGAL_CALL *PFNGLCLEARBUFFERFIPROC)(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil);\ntypedef void (REGAL_CALL *PFNGLCLEARBUFFERFVPROC)(GLenum buffer, GLint drawbuffer, const GLfloat *value);\ntypedef void (REGAL_CALL *PFNGLCLEARBUFFERIVPROC)(GLenum buffer, GLint drawbuffer, const GLint *value);\ntypedef void (REGAL_CALL *PFNGLCLEARBUFFERUIVPROC)(GLenum buffer, GLint drawbuffer, const GLuint *value);\ntypedef void (REGAL_CALL *PFNGLCOLORMASKIPROC)(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);\ntypedef void (REGAL_CALL *PFNGLDISABLEIPROC)(GLenum cap, GLuint index);\ntypedef void (REGAL_CALL *PFNGLENABLEIPROC)(GLenum cap, GLuint index);\ntypedef void (REGAL_CALL *PFNGLENDCONDITIONALRENDERPROC)(void);\ntypedef void (REGAL_CALL *PFNGLENDTRANSFORMFEEDBACKPROC)(void);\ntypedef void (REGAL_CALL *PFNGLGETBOOLEANI_VPROC)(GLenum target, GLuint index, GLboolean *data);\ntypedef void (REGAL_CALL *PFNGLGETTEXPARAMETERIIVPROC)(GLenum target, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETTEXPARAMETERIUIVPROC)(GLenum target, GLenum pname, GLuint *params);\ntypedef void (REGAL_CALL *PFNGLGETTRANSFORMFEEDBACKVARYINGPROC)(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);\ntypedef void (REGAL_CALL *PFNGLGETUNIFORMUIVPROC)(GLuint program, GLint location, GLuint *params);\ntypedef void (REGAL_CALL *PFNGLGETVERTEXATTRIBIIVPROC)(GLuint index, GLenum pname, GLint *params);\ntypedef void (REGAL_CALL *PFNGLGETVERTEXATTRIBIUIVPROC)(GLuint index, GLenum pname, GLuint *params);\ntypedef void (REGAL_CALL *PFNGLTEXPARAMETERIIVPROC)(GLenum target, GLenum pname, const GLint *params);\ntypedef void (REGAL_CALL *PFNGLTEXPARAMETERIUIVPROC)(GLenum target, GLenum pname, const GLuint *params);\ntypedef void (REGAL_CALL *PFNGLTRANSFORMFEEDBACKVARYINGSPROC)(GLuint program, GLsizei count, const GLchar * const *varyings, GLenum bufferMode);\ntypedef void (REGAL_CALL *PFNGLUNIFORM1UIPROC)(GLint location, GLuint v0);\ntypedef void (REGAL_CALL *PFNGLUNIFORM1UIVPROC)(GLint location, GLsizei count, const GLuint *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORM2UIPROC)(GLint location, GLuint v0, GLuint v1);\ntypedef void (REGAL_CALL *PFNGLUNIFORM2UIVPROC)(GLint location, GLsizei count, const GLuint *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORM3UIPROC)(GLint location, GLuint v0, GLuint v1, GLuint v2);\ntypedef void (REGAL_CALL *PFNGLUNIFORM3UIVPROC)(GLint location, GLsizei count, const GLuint *value);\ntypedef void (REGAL_CALL *PFNGLUNIFORM4UIPROC)(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);\ntypedef void (REGAL_CALL *PFNGLUNIFORM4UIVPROC)(GLint location, GLsizei count, const GLuint *value);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBI1IPROC)(GLuint index, GLint x);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBI1IVPROC)(GLuint index, const GLint *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBI1UIPROC)(GLuint index, GLuint x);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBI1UIVPROC)(GLuint index, const GLuint *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBI2IPROC)(GLuint index, GLint x, GLint y);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBI2IVPROC)(GLuint index, const GLint *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBI2UIPROC)(GLuint index, GLuint x, GLuint y);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBI2UIVPROC)(GLuint index, const GLuint *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBI3IPROC)(GLuint index, GLint x, GLint y, GLint z);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBI3IVPROC)(GLuint index, const GLint *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBI3UIPROC)(GLuint index, GLuint x, GLuint y, GLuint z);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBI3UIVPROC)(GLuint index, const GLuint *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBI4BVPROC)(GLuint index, const GLbyte *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBI4IPROC)(GLuint index, GLint x, GLint y, GLint z, GLint w);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBI4IVPROC)(GLuint index, const GLint *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBI4SVPROC)(GLuint index, const GLshort *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBI4UBVPROC)(GLuint index, const GLubyte *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBI4UIPROC)(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBI4UIVPROC)(GLuint index, const GLuint *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBI4USVPROC)(GLuint index, const GLushort *v);\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBIPOINTERPROC)(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_VERSION_3_0\n#define glBeginConditionalRender            rglBeginConditionalRender\n#define glBeginTransformFeedback            rglBeginTransformFeedback\n#define glBindFragDataLocation              rglBindFragDataLocation\n#define glClampColor                        rglClampColor\n#define glClearBufferfi                     rglClearBufferfi\n#define glClearBufferfv                     rglClearBufferfv\n#define glClearBufferiv                     rglClearBufferiv\n#define glClearBufferuiv                    rglClearBufferuiv\n#define glColorMaski                        rglColorMaski\n#define glDisablei                          rglDisablei\n#define glEnablei                           rglEnablei\n#define glEndConditionalRender              rglEndConditionalRender\n#define glEndTransformFeedback              rglEndTransformFeedback\n#define glGetBooleani_v                     rglGetBooleani_v\n#define glGetFragDataLocation               rglGetFragDataLocation\n#define glGetStringi                        rglGetStringi\n#define glGetTexParameterIiv                rglGetTexParameterIiv\n#define glGetTexParameterIuiv               rglGetTexParameterIuiv\n#define glGetTransformFeedbackVarying       rglGetTransformFeedbackVarying\n#define glGetUniformuiv                     rglGetUniformuiv\n#define glGetVertexAttribIiv                rglGetVertexAttribIiv\n#define glGetVertexAttribIuiv               rglGetVertexAttribIuiv\n#define glIsEnabledi                        rglIsEnabledi\n#define glTexParameterIiv                   rglTexParameterIiv\n#define glTexParameterIuiv                  rglTexParameterIuiv\n#define glTransformFeedbackVaryings         rglTransformFeedbackVaryings\n#define glUniform1ui                        rglUniform1ui\n#define glUniform1uiv                       rglUniform1uiv\n#define glUniform2ui                        rglUniform2ui\n#define glUniform2uiv                       rglUniform2uiv\n#define glUniform3ui                        rglUniform3ui\n#define glUniform3uiv                       rglUniform3uiv\n#define glUniform4ui                        rglUniform4ui\n#define glUniform4uiv                       rglUniform4uiv\n#define glVertexAttribI1i                   rglVertexAttribI1i\n#define glVertexAttribI1iv                  rglVertexAttribI1iv\n#define glVertexAttribI1ui                  rglVertexAttribI1ui\n#define glVertexAttribI1uiv                 rglVertexAttribI1uiv\n#define glVertexAttribI2i                   rglVertexAttribI2i\n#define glVertexAttribI2iv                  rglVertexAttribI2iv\n#define glVertexAttribI2ui                  rglVertexAttribI2ui\n#define glVertexAttribI2uiv                 rglVertexAttribI2uiv\n#define glVertexAttribI3i                   rglVertexAttribI3i\n#define glVertexAttribI3iv                  rglVertexAttribI3iv\n#define glVertexAttribI3ui                  rglVertexAttribI3ui\n#define glVertexAttribI3uiv                 rglVertexAttribI3uiv\n#define glVertexAttribI4bv                  rglVertexAttribI4bv\n#define glVertexAttribI4i                   rglVertexAttribI4i\n#define glVertexAttribI4iv                  rglVertexAttribI4iv\n#define glVertexAttribI4sv                  rglVertexAttribI4sv\n#define glVertexAttribI4ubv                 rglVertexAttribI4ubv\n#define glVertexAttribI4ui                  rglVertexAttribI4ui\n#define glVertexAttribI4uiv                 rglVertexAttribI4uiv\n#define glVertexAttribI4usv                 rglVertexAttribI4usv\n#define glVertexAttribIPointer              rglVertexAttribIPointer\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_VERSION_3_0\nREGAL_DECL GLboolean REGAL_CALL glIsEnabledi(GLenum target, GLuint index);\nREGAL_DECL GLint REGAL_CALL glGetFragDataLocation(GLuint program, const GLchar *name);\nREGAL_DECL const GLubyte *REGAL_CALL glGetStringi(GLenum name, GLuint index);\nREGAL_DECL void REGAL_CALL glBeginConditionalRender(GLuint id, GLenum mode);\nREGAL_DECL void REGAL_CALL glBeginTransformFeedback(GLenum primitiveMode);\nREGAL_DECL void REGAL_CALL glBindFragDataLocation(GLuint program, GLuint color, const GLchar *name);\nREGAL_DECL void REGAL_CALL glClampColor(GLenum target, GLenum clamp);\nREGAL_DECL void REGAL_CALL glClearBufferfi(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil);\nREGAL_DECL void REGAL_CALL glClearBufferfv(GLenum buffer, GLint drawbuffer, const GLfloat *value);\nREGAL_DECL void REGAL_CALL glClearBufferiv(GLenum buffer, GLint drawbuffer, const GLint *value);\nREGAL_DECL void REGAL_CALL glClearBufferuiv(GLenum buffer, GLint drawbuffer, const GLuint *value);\nREGAL_DECL void REGAL_CALL glColorMaski(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);\nREGAL_DECL void REGAL_CALL glDisablei(GLenum cap, GLuint index);\nREGAL_DECL void REGAL_CALL glEnablei(GLenum cap, GLuint index);\nREGAL_DECL void REGAL_CALL glEndConditionalRender(void);\nREGAL_DECL void REGAL_CALL glEndTransformFeedback(void);\nREGAL_DECL void REGAL_CALL glGetBooleani_v(GLenum target, GLuint index, GLboolean *data);\nREGAL_DECL void REGAL_CALL glGetTexParameterIiv(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetTexParameterIuiv(GLenum target, GLenum pname, GLuint *params);\nREGAL_DECL void REGAL_CALL glGetTransformFeedbackVarying(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);\nREGAL_DECL void REGAL_CALL glGetUniformuiv(GLuint program, GLint location, GLuint *params);\nREGAL_DECL void REGAL_CALL glGetVertexAttribIiv(GLuint index, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL glGetVertexAttribIuiv(GLuint index, GLenum pname, GLuint *params);\nREGAL_DECL void REGAL_CALL glTexParameterIiv(GLenum target, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL glTexParameterIuiv(GLenum target, GLenum pname, const GLuint *params);\nREGAL_DECL void REGAL_CALL glTransformFeedbackVaryings(GLuint program, GLsizei count, const GLchar * const *varyings, GLenum bufferMode);\nREGAL_DECL void REGAL_CALL glUniform1ui(GLint location, GLuint v0);\nREGAL_DECL void REGAL_CALL glUniform1uiv(GLint location, GLsizei count, const GLuint *value);\nREGAL_DECL void REGAL_CALL glUniform2ui(GLint location, GLuint v0, GLuint v1);\nREGAL_DECL void REGAL_CALL glUniform2uiv(GLint location, GLsizei count, const GLuint *value);\nREGAL_DECL void REGAL_CALL glUniform3ui(GLint location, GLuint v0, GLuint v1, GLuint v2);\nREGAL_DECL void REGAL_CALL glUniform3uiv(GLint location, GLsizei count, const GLuint *value);\nREGAL_DECL void REGAL_CALL glUniform4ui(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);\nREGAL_DECL void REGAL_CALL glUniform4uiv(GLint location, GLsizei count, const GLuint *value);\nREGAL_DECL void REGAL_CALL glVertexAttribI1i(GLuint index, GLint x);\nREGAL_DECL void REGAL_CALL glVertexAttribI1iv(GLuint index, const GLint *v);\nREGAL_DECL void REGAL_CALL glVertexAttribI1ui(GLuint index, GLuint x);\nREGAL_DECL void REGAL_CALL glVertexAttribI1uiv(GLuint index, const GLuint *v);\nREGAL_DECL void REGAL_CALL glVertexAttribI2i(GLuint index, GLint x, GLint y);\nREGAL_DECL void REGAL_CALL glVertexAttribI2iv(GLuint index, const GLint *v);\nREGAL_DECL void REGAL_CALL glVertexAttribI2ui(GLuint index, GLuint x, GLuint y);\nREGAL_DECL void REGAL_CALL glVertexAttribI2uiv(GLuint index, const GLuint *v);\nREGAL_DECL void REGAL_CALL glVertexAttribI3i(GLuint index, GLint x, GLint y, GLint z);\nREGAL_DECL void REGAL_CALL glVertexAttribI3iv(GLuint index, const GLint *v);\nREGAL_DECL void REGAL_CALL glVertexAttribI3ui(GLuint index, GLuint x, GLuint y, GLuint z);\nREGAL_DECL void REGAL_CALL glVertexAttribI3uiv(GLuint index, const GLuint *v);\nREGAL_DECL void REGAL_CALL glVertexAttribI4bv(GLuint index, const GLbyte *v);\nREGAL_DECL void REGAL_CALL glVertexAttribI4i(GLuint index, GLint x, GLint y, GLint z, GLint w);\nREGAL_DECL void REGAL_CALL glVertexAttribI4iv(GLuint index, const GLint *v);\nREGAL_DECL void REGAL_CALL glVertexAttribI4sv(GLuint index, const GLshort *v);\nREGAL_DECL void REGAL_CALL glVertexAttribI4ubv(GLuint index, const GLubyte *v);\nREGAL_DECL void REGAL_CALL glVertexAttribI4ui(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);\nREGAL_DECL void REGAL_CALL glVertexAttribI4uiv(GLuint index, const GLuint *v);\nREGAL_DECL void REGAL_CALL glVertexAttribI4usv(GLuint index, const GLushort *v);\nREGAL_DECL void REGAL_CALL glVertexAttribIPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_VERSION_3_0\nREGAL_DECL GLboolean REGAL_CALL plugin_glIsEnabledi(GLenum target, GLuint index);\nREGAL_DECL GLint REGAL_CALL plugin_glGetFragDataLocation(GLuint program, const GLchar *name);\nREGAL_DECL const GLubyte *REGAL_CALL plugin_glGetStringi(GLenum name, GLuint index);\nREGAL_DECL void REGAL_CALL plugin_glBeginConditionalRender(GLuint id, GLenum mode);\nREGAL_DECL void REGAL_CALL plugin_glBeginTransformFeedback(GLenum primitiveMode);\nREGAL_DECL void REGAL_CALL plugin_glBindFragDataLocation(GLuint program, GLuint color, const GLchar *name);\nREGAL_DECL void REGAL_CALL plugin_glClampColor(GLenum target, GLenum clamp);\nREGAL_DECL void REGAL_CALL plugin_glClearBufferfi(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil);\nREGAL_DECL void REGAL_CALL plugin_glClearBufferfv(GLenum buffer, GLint drawbuffer, const GLfloat *value);\nREGAL_DECL void REGAL_CALL plugin_glClearBufferiv(GLenum buffer, GLint drawbuffer, const GLint *value);\nREGAL_DECL void REGAL_CALL plugin_glClearBufferuiv(GLenum buffer, GLint drawbuffer, const GLuint *value);\nREGAL_DECL void REGAL_CALL plugin_glColorMaski(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);\nREGAL_DECL void REGAL_CALL plugin_glDisablei(GLenum cap, GLuint index);\nREGAL_DECL void REGAL_CALL plugin_glEnablei(GLenum cap, GLuint index);\nREGAL_DECL void REGAL_CALL plugin_glEndConditionalRender(void);\nREGAL_DECL void REGAL_CALL plugin_glEndTransformFeedback(void);\nREGAL_DECL void REGAL_CALL plugin_glGetBooleani_v(GLenum target, GLuint index, GLboolean *data);\nREGAL_DECL void REGAL_CALL plugin_glGetTexParameterIiv(GLenum target, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetTexParameterIuiv(GLenum target, GLenum pname, GLuint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetTransformFeedbackVarying(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);\nREGAL_DECL void REGAL_CALL plugin_glGetUniformuiv(GLuint program, GLint location, GLuint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetVertexAttribIiv(GLuint index, GLenum pname, GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glGetVertexAttribIuiv(GLuint index, GLenum pname, GLuint *params);\nREGAL_DECL void REGAL_CALL plugin_glTexParameterIiv(GLenum target, GLenum pname, const GLint *params);\nREGAL_DECL void REGAL_CALL plugin_glTexParameterIuiv(GLenum target, GLenum pname, const GLuint *params);\nREGAL_DECL void REGAL_CALL plugin_glTransformFeedbackVaryings(GLuint program, GLsizei count, const GLchar * const *varyings, GLenum bufferMode);\nREGAL_DECL void REGAL_CALL plugin_glUniform1ui(GLint location, GLuint v0);\nREGAL_DECL void REGAL_CALL plugin_glUniform1uiv(GLint location, GLsizei count, const GLuint *value);\nREGAL_DECL void REGAL_CALL plugin_glUniform2ui(GLint location, GLuint v0, GLuint v1);\nREGAL_DECL void REGAL_CALL plugin_glUniform2uiv(GLint location, GLsizei count, const GLuint *value);\nREGAL_DECL void REGAL_CALL plugin_glUniform3ui(GLint location, GLuint v0, GLuint v1, GLuint v2);\nREGAL_DECL void REGAL_CALL plugin_glUniform3uiv(GLint location, GLsizei count, const GLuint *value);\nREGAL_DECL void REGAL_CALL plugin_glUniform4ui(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);\nREGAL_DECL void REGAL_CALL plugin_glUniform4uiv(GLint location, GLsizei count, const GLuint *value);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribI1i(GLuint index, GLint x);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribI1iv(GLuint index, const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribI1ui(GLuint index, GLuint x);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribI1uiv(GLuint index, const GLuint *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribI2i(GLuint index, GLint x, GLint y);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribI2iv(GLuint index, const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribI2ui(GLuint index, GLuint x, GLuint y);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribI2uiv(GLuint index, const GLuint *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribI3i(GLuint index, GLint x, GLint y, GLint z);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribI3iv(GLuint index, const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribI3ui(GLuint index, GLuint x, GLuint y, GLuint z);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribI3uiv(GLuint index, const GLuint *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribI4bv(GLuint index, const GLbyte *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribI4i(GLuint index, GLint x, GLint y, GLint z, GLint w);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribI4iv(GLuint index, const GLint *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribI4sv(GLuint index, const GLshort *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribI4ubv(GLuint index, const GLubyte *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribI4ui(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribI4uiv(GLuint index, const GLuint *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribI4usv(GLuint index, const GLushort *v);\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribIPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);\n#endif\n\n/**\n ** GL_VERSION_3_1\n **/\n\n#if (defined(GL_VERSION_3_1) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_VERSION_3_1)) && !defined(REGAL_NO_ENUM_GL_VERSION_3_1)\n#define REGAL_NO_ENUM_GL_VERSION_3_1\n#endif\n\n#if (defined(GL_VERSION_3_1) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_VERSION_3_1)) && !defined(REGAL_NO_TYPEDEF_GL_VERSION_3_1)\n#define REGAL_NO_TYPEDEF_GL_VERSION_3_1\n#endif\n\n#if (defined(GL_VERSION_3_1) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_VERSION_3_1)) && !defined(REGAL_NO_NAMESPACE_GL_VERSION_3_1)\n#define REGAL_NO_NAMESPACE_GL_VERSION_3_1\n#endif\n\n#if (defined(GL_VERSION_3_1) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_VERSION_3_1)) && !defined(REGAL_NO_PLUGIN_GL_VERSION_3_1)\n#define REGAL_NO_PLUGIN_GL_VERSION_3_1\n#endif\n\n#if (defined(GL_VERSION_3_1) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_VERSION_3_1)) && !defined(REGAL_NO_DECLARATION_GL_VERSION_3_1)\n#define REGAL_NO_DECLARATION_GL_VERSION_3_1\n#endif\n\n#ifndef GL_VERSION_3_1\n#define GL_VERSION_3_1 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_VERSION_3_1\n#define GL_TEXTURE_RECTANGLE                 0x84f5     /* 34037 */\n#define GL_TEXTURE_BINDING_RECTANGLE         0x84f6     /* 34038 */\n#define GL_PROXY_TEXTURE_RECTANGLE           0x84f7     /* 34039 */\n#define GL_MAX_RECTANGLE_TEXTURE_SIZE        0x84f8     /* 34040 */\n#define GL_SAMPLER_2D_RECT                   0x8b63     /* 35683 */\n#define GL_SAMPLER_2D_RECT_SHADOW            0x8b64     /* 35684 */\n#define GL_TEXTURE_BUFFER                    0x8c2a     /* 35882 */\n#define GL_MAX_TEXTURE_BUFFER_SIZE           0x8c2b     /* 35883 */\n#define GL_TEXTURE_BINDING_BUFFER            0x8c2c     /* 35884 */\n#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING 0x8c2d     /* 35885 */\n#define GL_TEXTURE_BUFFER_FORMAT             0x8c2e     /* 35886 */\n#define GL_SAMPLER_BUFFER                    0x8dc2     /* 36290 */\n#define GL_INT_SAMPLER_2D_RECT               0x8dcd     /* 36301 */\n#define GL_INT_SAMPLER_BUFFER                0x8dd0     /* 36304 */\n#define GL_UNSIGNED_INT_SAMPLER_2D_RECT      0x8dd5     /* 36309 */\n#define GL_UNSIGNED_INT_SAMPLER_BUFFER       0x8dd8     /* 36312 */\n#define GL_PRIMITIVE_RESTART                 0x8f9d     /* 36765 */\n#define GL_PRIMITIVE_RESTART_INDEX           0x8f9e     /* 36766 */\n#define GL_BUFFER_ACCESS_FLAGS               0x911f     /* 37151 */\n#define GL_BUFFER_MAP_LENGTH                 0x9120     /* 37152 */\n#define GL_BUFFER_MAP_OFFSET                 0x9121     /* 37153 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_VERSION_3_1\ntypedef void (REGAL_CALL *PFNGLDRAWARRAYSINSTANCEDPROC)(GLenum mode, GLint start, GLsizei count, GLsizei primcount);\ntypedef void (REGAL_CALL *PFNGLDRAWELEMENTSINSTANCEDPROC)(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount);\ntypedef void (REGAL_CALL *PFNGLPRIMITIVERESTARTINDEXPROC)(GLuint index);\ntypedef void (REGAL_CALL *PFNGLTEXBUFFERPROC)(GLenum target, GLenum internalformat, GLuint buffer);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_VERSION_3_1\n#define glDrawArraysInstanced               rglDrawArraysInstanced\n#define glDrawElementsInstanced             rglDrawElementsInstanced\n#define glPrimitiveRestartIndex             rglPrimitiveRestartIndex\n#define glTexBuffer                         rglTexBuffer\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_VERSION_3_1\nREGAL_DECL void REGAL_CALL glDrawArraysInstanced(GLenum mode, GLint start, GLsizei count, GLsizei primcount);\nREGAL_DECL void REGAL_CALL glDrawElementsInstanced(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount);\nREGAL_DECL void REGAL_CALL glPrimitiveRestartIndex(GLuint index);\nREGAL_DECL void REGAL_CALL glTexBuffer(GLenum target, GLenum internalformat, GLuint buffer);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_VERSION_3_1\nREGAL_DECL void REGAL_CALL plugin_glDrawArraysInstanced(GLenum mode, GLint start, GLsizei count, GLsizei primcount);\nREGAL_DECL void REGAL_CALL plugin_glDrawElementsInstanced(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount);\nREGAL_DECL void REGAL_CALL plugin_glPrimitiveRestartIndex(GLuint index);\nREGAL_DECL void REGAL_CALL plugin_glTexBuffer(GLenum target, GLenum internalformat, GLuint buffer);\n#endif\n\n/**\n ** GL_VERSION_3_2\n **/\n\n#if (defined(GL_VERSION_3_2) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_VERSION_3_2)) && !defined(REGAL_NO_ENUM_GL_VERSION_3_2)\n#define REGAL_NO_ENUM_GL_VERSION_3_2\n#endif\n\n#if (defined(GL_VERSION_3_2) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_VERSION_3_2)) && !defined(REGAL_NO_TYPEDEF_GL_VERSION_3_2)\n#define REGAL_NO_TYPEDEF_GL_VERSION_3_2\n#endif\n\n#if (defined(GL_VERSION_3_2) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_VERSION_3_2)) && !defined(REGAL_NO_NAMESPACE_GL_VERSION_3_2)\n#define REGAL_NO_NAMESPACE_GL_VERSION_3_2\n#endif\n\n#if (defined(GL_VERSION_3_2) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_VERSION_3_2)) && !defined(REGAL_NO_PLUGIN_GL_VERSION_3_2)\n#define REGAL_NO_PLUGIN_GL_VERSION_3_2\n#endif\n\n#if (defined(GL_VERSION_3_2) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_VERSION_3_2)) && !defined(REGAL_NO_DECLARATION_GL_VERSION_3_2)\n#define REGAL_NO_DECLARATION_GL_VERSION_3_2\n#endif\n\n#ifndef GL_VERSION_3_2\n#define GL_VERSION_3_2 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_VERSION_3_2\n#define GL_CONTEXT_CORE_PROFILE_BIT             0x1\n#define GL_CONTEXT_COMPATIBILITY_PROFILE_BIT    0x2\n#define GL_PROGRAM_POINT_SIZE                   0x8642     /* 34370 */\n#define GL_GEOMETRY_VERTICES_OUT                0x8916     /* 35094 */\n#define GL_GEOMETRY_INPUT_TYPE                  0x8917     /* 35095 */\n#define GL_GEOMETRY_OUTPUT_TYPE                 0x8918     /* 35096 */\n#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS     0x8c29     /* 35881 */\n#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED       0x8da7     /* 36263 */\n#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS 0x8da8     /* 36264 */\n#define GL_GEOMETRY_SHADER                      0x8dd9     /* 36313 */\n#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS      0x8ddf     /* 36319 */\n#define GL_MAX_GEOMETRY_OUTPUT_VERTICES         0x8de0     /* 36320 */\n#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS 0x8de1     /* 36321 */\n#define GL_MAX_VERTEX_OUTPUT_COMPONENTS         0x9122     /* 37154 */\n#define GL_MAX_GEOMETRY_INPUT_COMPONENTS        0x9123     /* 37155 */\n#define GL_MAX_GEOMETRY_OUTPUT_COMPONENTS       0x9124     /* 37156 */\n#define GL_MAX_FRAGMENT_INPUT_COMPONENTS        0x9125     /* 37157 */\n#define GL_CONTEXT_PROFILE_MASK                 0x9126     /* 37158 */\n#define GL_LINES_ADJACENCY                      0xa        /* 10 */\n#define GL_LINE_STRIP_ADJACENCY                 0xb        /* 11 */\n#define GL_TRIANGLES_ADJACENCY                  0xc        /* 12 */\n#define GL_TRIANGLE_STRIP_ADJACENCY             0xd        /* 13 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_VERSION_3_2\ntypedef void (REGAL_CALL *PFNGLFRAMEBUFFERTEXTUREFACEPROC)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face);\ntypedef void (REGAL_CALL *PFNGLFRAMEBUFFERTEXTUREPROC)(GLenum target, GLenum attachment, GLuint texture, GLint level);\ntypedef void (REGAL_CALL *PFNGLGETBUFFERPARAMETERI64VPROC)(GLenum target, GLenum pname, GLint64 *params);\ntypedef void (REGAL_CALL *PFNGLGETINTEGER64I_VPROC)(GLenum target, GLuint index, GLint64 *data);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_VERSION_3_2\n#define glFramebufferTexture                rglFramebufferTexture\n#define glFramebufferTextureFace            rglFramebufferTextureFace\n#define glGetBufferParameteri64v            rglGetBufferParameteri64v\n#define glGetInteger64i_v                   rglGetInteger64i_v\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_VERSION_3_2\nREGAL_DECL void REGAL_CALL glFramebufferTexture(GLenum target, GLenum attachment, GLuint texture, GLint level);\nREGAL_DECL void REGAL_CALL glFramebufferTextureFace(GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face);\nREGAL_DECL void REGAL_CALL glGetBufferParameteri64v(GLenum target, GLenum pname, GLint64 *params);\nREGAL_DECL void REGAL_CALL glGetInteger64i_v(GLenum target, GLuint index, GLint64 *data);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_VERSION_3_2\nREGAL_DECL void REGAL_CALL plugin_glFramebufferTexture(GLenum target, GLenum attachment, GLuint texture, GLint level);\nREGAL_DECL void REGAL_CALL plugin_glFramebufferTextureFace(GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face);\nREGAL_DECL void REGAL_CALL plugin_glGetBufferParameteri64v(GLenum target, GLenum pname, GLint64 *params);\nREGAL_DECL void REGAL_CALL plugin_glGetInteger64i_v(GLenum target, GLuint index, GLint64 *data);\n#endif\n\n/**\n ** GL_VERSION_3_3\n **/\n\n#if (defined(GL_VERSION_3_3) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_VERSION_3_3)) && !defined(REGAL_NO_ENUM_GL_VERSION_3_3)\n#define REGAL_NO_ENUM_GL_VERSION_3_3\n#endif\n\n#if (defined(GL_VERSION_3_3) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_VERSION_3_3)) && !defined(REGAL_NO_TYPEDEF_GL_VERSION_3_3)\n#define REGAL_NO_TYPEDEF_GL_VERSION_3_3\n#endif\n\n#if (defined(GL_VERSION_3_3) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_VERSION_3_3)) && !defined(REGAL_NO_NAMESPACE_GL_VERSION_3_3)\n#define REGAL_NO_NAMESPACE_GL_VERSION_3_3\n#endif\n\n#if (defined(GL_VERSION_3_3) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_VERSION_3_3)) && !defined(REGAL_NO_PLUGIN_GL_VERSION_3_3)\n#define REGAL_NO_PLUGIN_GL_VERSION_3_3\n#endif\n\n#if (defined(GL_VERSION_3_3) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_VERSION_3_3)) && !defined(REGAL_NO_DECLARATION_GL_VERSION_3_3)\n#define REGAL_NO_DECLARATION_GL_VERSION_3_3\n#endif\n\n#ifndef GL_VERSION_3_3\n#define GL_VERSION_3_3 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_VERSION_3_3\n#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR 0x88fe /* 35070 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_VERSION_3_3\ntypedef void (REGAL_CALL *PFNGLVERTEXATTRIBDIVISORPROC)(GLuint index, GLuint divisor);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_VERSION_3_3\n#define glVertexAttribDivisor               rglVertexAttribDivisor\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_VERSION_3_3\nREGAL_DECL void REGAL_CALL glVertexAttribDivisor(GLuint index, GLuint divisor);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_VERSION_3_3\nREGAL_DECL void REGAL_CALL plugin_glVertexAttribDivisor(GLuint index, GLuint divisor);\n#endif\n\n/**\n ** GL_VERSION_4_0\n **/\n\n#if (defined(GL_VERSION_4_0) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_VERSION_4_0)) && !defined(REGAL_NO_ENUM_GL_VERSION_4_0)\n#define REGAL_NO_ENUM_GL_VERSION_4_0\n#endif\n\n#if (defined(GL_VERSION_4_0) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_VERSION_4_0)) && !defined(REGAL_NO_TYPEDEF_GL_VERSION_4_0)\n#define REGAL_NO_TYPEDEF_GL_VERSION_4_0\n#endif\n\n#if (defined(GL_VERSION_4_0) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_VERSION_4_0)) && !defined(REGAL_NO_NAMESPACE_GL_VERSION_4_0)\n#define REGAL_NO_NAMESPACE_GL_VERSION_4_0\n#endif\n\n#if (defined(GL_VERSION_4_0) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_VERSION_4_0)) && !defined(REGAL_NO_PLUGIN_GL_VERSION_4_0)\n#define REGAL_NO_PLUGIN_GL_VERSION_4_0\n#endif\n\n#if (defined(GL_VERSION_4_0) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_VERSION_4_0)) && !defined(REGAL_NO_DECLARATION_GL_VERSION_4_0)\n#define REGAL_NO_DECLARATION_GL_VERSION_4_0\n#endif\n\n#ifndef GL_VERSION_4_0\n#define GL_VERSION_4_0 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_VERSION_4_0\n#define GL_SAMPLE_SHADING                        0x8c36     /* 35894 */\n#define GL_MIN_SAMPLE_SHADING_VALUE              0x8c37     /* 35895 */\n#define GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET     0x8e5e     /* 36446 */\n#define GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET     0x8e5f     /* 36447 */\n#define GL_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS 0x8f9f     /* 36767 */\n#define GL_TEXTURE_CUBE_MAP_ARRAY                0x9009     /* 36873 */\n#define GL_TEXTURE_BINDING_CUBE_MAP_ARRAY        0x900a     /* 36874 */\n#define GL_PROXY_TEXTURE_CUBE_MAP_ARRAY          0x900b     /* 36875 */\n#define GL_SAMPLER_CUBE_MAP_ARRAY                0x900c     /* 36876 */\n#define GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW         0x900d     /* 36877 */\n#define GL_INT_SAMPLER_CUBE_MAP_ARRAY            0x900e     /* 36878 */\n#define GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY   0x900f     /* 36879 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_VERSION_4_0\ntypedef void (REGAL_CALL *PFNGLBLENDEQUATIONIPROC)(GLuint buf, GLenum mode);\ntypedef void (REGAL_CALL *PFNGLBLENDEQUATIONSEPARATEIPROC)(GLuint buf, GLenum modeRGB, GLenum modeAlpha);\ntypedef void (REGAL_CALL *PFNGLBLENDFUNCIPROC)(GLuint buf, GLenum src, GLenum dst);\ntypedef void (REGAL_CALL *PFNGLBLENDFUNCSEPARATEIPROC)(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_VERSION_4_0\n#define glBlendEquationSeparatei            rglBlendEquationSeparatei\n#define glBlendEquationi                    rglBlendEquationi\n#define glBlendFuncSeparatei                rglBlendFuncSeparatei\n#define glBlendFunci                        rglBlendFunci\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_VERSION_4_0\nREGAL_DECL void REGAL_CALL glBlendEquationSeparatei(GLuint buf, GLenum modeRGB, GLenum modeAlpha);\nREGAL_DECL void REGAL_CALL glBlendEquationi(GLuint buf, GLenum mode);\nREGAL_DECL void REGAL_CALL glBlendFuncSeparatei(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);\nREGAL_DECL void REGAL_CALL glBlendFunci(GLuint buf, GLenum src, GLenum dst);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_VERSION_4_0\nREGAL_DECL void REGAL_CALL plugin_glBlendEquationSeparatei(GLuint buf, GLenum modeRGB, GLenum modeAlpha);\nREGAL_DECL void REGAL_CALL plugin_glBlendEquationi(GLuint buf, GLenum mode);\nREGAL_DECL void REGAL_CALL plugin_glBlendFuncSeparatei(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);\nREGAL_DECL void REGAL_CALL plugin_glBlendFunci(GLuint buf, GLenum src, GLenum dst);\n#endif\n\n/**\n ** GL_VERSION_4_2\n **/\n\n#if (defined(GL_VERSION_4_2) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_VERSION_4_2)) && !defined(REGAL_NO_ENUM_GL_VERSION_4_2)\n#define REGAL_NO_ENUM_GL_VERSION_4_2\n#endif\n\n#if (defined(GL_VERSION_4_2) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_VERSION_4_2)) && !defined(REGAL_NO_TYPEDEF_GL_VERSION_4_2)\n#define REGAL_NO_TYPEDEF_GL_VERSION_4_2\n#endif\n\n#if (defined(GL_VERSION_4_2) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_VERSION_4_2)) && !defined(REGAL_NO_NAMESPACE_GL_VERSION_4_2)\n#define REGAL_NO_NAMESPACE_GL_VERSION_4_2\n#endif\n\n#if (defined(GL_VERSION_4_2) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_VERSION_4_2)) && !defined(REGAL_NO_PLUGIN_GL_VERSION_4_2)\n#define REGAL_NO_PLUGIN_GL_VERSION_4_2\n#endif\n\n#if (defined(GL_VERSION_4_2) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_VERSION_4_2)) && !defined(REGAL_NO_DECLARATION_GL_VERSION_4_2)\n#define REGAL_NO_DECLARATION_GL_VERSION_4_2\n#endif\n\n#ifndef GL_VERSION_4_2\n#define GL_VERSION_4_2 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_VERSION_4_2\n#define GL_COMPRESSED_RGBA_BPTC_UNORM         0x8e8c     /* 36492 */\n#define GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM   0x8e8d     /* 36493 */\n#define GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT   0x8e8e     /* 36494 */\n#define GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT 0x8e8f     /* 36495 */\n#endif\n\n/**\n ** GL_VERSION_4_3\n **/\n\n#if (defined(GL_VERSION_4_3) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_VERSION_4_3)) && !defined(REGAL_NO_ENUM_GL_VERSION_4_3)\n#define REGAL_NO_ENUM_GL_VERSION_4_3\n#endif\n\n#if (defined(GL_VERSION_4_3) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_VERSION_4_3)) && !defined(REGAL_NO_TYPEDEF_GL_VERSION_4_3)\n#define REGAL_NO_TYPEDEF_GL_VERSION_4_3\n#endif\n\n#if (defined(GL_VERSION_4_3) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_VERSION_4_3)) && !defined(REGAL_NO_NAMESPACE_GL_VERSION_4_3)\n#define REGAL_NO_NAMESPACE_GL_VERSION_4_3\n#endif\n\n#if (defined(GL_VERSION_4_3) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_VERSION_4_3)) && !defined(REGAL_NO_PLUGIN_GL_VERSION_4_3)\n#define REGAL_NO_PLUGIN_GL_VERSION_4_3\n#endif\n\n#if (defined(GL_VERSION_4_3) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_VERSION_4_3)) && !defined(REGAL_NO_DECLARATION_GL_VERSION_4_3)\n#define REGAL_NO_DECLARATION_GL_VERSION_4_3\n#endif\n\n#ifndef GL_VERSION_4_3\n#define GL_VERSION_4_3 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_VERSION_4_3\n#define GL_NUM_SHADING_LANGUAGE_VERSIONS 0x82e9     /* 33513 */\n#define GL_VERTEX_ATTRIB_ARRAY_LONG      0x874e     /* 34638 */\n#endif\n\n/**\n ** GL_VIV_shader_binary\n **/\n\n#if (defined(GL_VIV_SHADER_BINARY) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_VIV_SHADER_BINARY)) && !defined(REGAL_NO_ENUM_GL_VIV_SHADER_BINARY)\n#define REGAL_NO_ENUM_GL_VIV_SHADER_BINARY\n#endif\n\n#if (defined(GL_VIV_SHADER_BINARY) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_VIV_SHADER_BINARY)) && !defined(REGAL_NO_TYPEDEF_GL_VIV_SHADER_BINARY)\n#define REGAL_NO_TYPEDEF_GL_VIV_SHADER_BINARY\n#endif\n\n#if (defined(GL_VIV_SHADER_BINARY) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_VIV_SHADER_BINARY)) && !defined(REGAL_NO_NAMESPACE_GL_VIV_SHADER_BINARY)\n#define REGAL_NO_NAMESPACE_GL_VIV_SHADER_BINARY\n#endif\n\n#if (defined(GL_VIV_SHADER_BINARY) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_VIV_SHADER_BINARY)) && !defined(REGAL_NO_PLUGIN_GL_VIV_SHADER_BINARY)\n#define REGAL_NO_PLUGIN_GL_VIV_SHADER_BINARY\n#endif\n\n#if (defined(GL_VIV_SHADER_BINARY) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_VIV_SHADER_BINARY)) && !defined(REGAL_NO_DECLARATION_GL_VIV_SHADER_BINARY)\n#define REGAL_NO_DECLARATION_GL_VIV_SHADER_BINARY\n#endif\n\n#ifndef GL_VIV_shader_binary\n#define GL_VIV_shader_binary 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_VIV_SHADER_BINARY\n#define GL_SHADER_BINARY_VIV 0x8fc4 /* 36804 */\n#endif\n\n/**\n ** GL_WIN_phong_shading\n **/\n\n#if (defined(GL_WIN_PHONG_SHADING) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_WIN_PHONG_SHADING)) && !defined(REGAL_NO_ENUM_GL_WIN_PHONG_SHADING)\n#define REGAL_NO_ENUM_GL_WIN_PHONG_SHADING\n#endif\n\n#if (defined(GL_WIN_PHONG_SHADING) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_WIN_PHONG_SHADING)) && !defined(REGAL_NO_TYPEDEF_GL_WIN_PHONG_SHADING)\n#define REGAL_NO_TYPEDEF_GL_WIN_PHONG_SHADING\n#endif\n\n#if (defined(GL_WIN_PHONG_SHADING) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_WIN_PHONG_SHADING)) && !defined(REGAL_NO_NAMESPACE_GL_WIN_PHONG_SHADING)\n#define REGAL_NO_NAMESPACE_GL_WIN_PHONG_SHADING\n#endif\n\n#if (defined(GL_WIN_PHONG_SHADING) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_WIN_PHONG_SHADING)) && !defined(REGAL_NO_PLUGIN_GL_WIN_PHONG_SHADING)\n#define REGAL_NO_PLUGIN_GL_WIN_PHONG_SHADING\n#endif\n\n#if (defined(GL_WIN_PHONG_SHADING) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_WIN_PHONG_SHADING)) && !defined(REGAL_NO_DECLARATION_GL_WIN_PHONG_SHADING)\n#define REGAL_NO_DECLARATION_GL_WIN_PHONG_SHADING\n#endif\n\n#ifndef GL_WIN_phong_shading\n#define GL_WIN_phong_shading 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_WIN_PHONG_SHADING\n#define GL_PHONG_WIN      0x80ea     /* 33002 */\n#define GL_PHONG_HINT_WIN 0x80eb     /* 33003 */\n#endif\n\n/**\n ** GL_WIN_specular_fog\n **/\n\n#if (defined(GL_WIN_SPECULAR_FOG) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_WIN_SPECULAR_FOG)) && !defined(REGAL_NO_ENUM_GL_WIN_SPECULAR_FOG)\n#define REGAL_NO_ENUM_GL_WIN_SPECULAR_FOG\n#endif\n\n#if (defined(GL_WIN_SPECULAR_FOG) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_WIN_SPECULAR_FOG)) && !defined(REGAL_NO_TYPEDEF_GL_WIN_SPECULAR_FOG)\n#define REGAL_NO_TYPEDEF_GL_WIN_SPECULAR_FOG\n#endif\n\n#if (defined(GL_WIN_SPECULAR_FOG) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_WIN_SPECULAR_FOG)) && !defined(REGAL_NO_NAMESPACE_GL_WIN_SPECULAR_FOG)\n#define REGAL_NO_NAMESPACE_GL_WIN_SPECULAR_FOG\n#endif\n\n#if (defined(GL_WIN_SPECULAR_FOG) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_WIN_SPECULAR_FOG)) && !defined(REGAL_NO_PLUGIN_GL_WIN_SPECULAR_FOG)\n#define REGAL_NO_PLUGIN_GL_WIN_SPECULAR_FOG\n#endif\n\n#if (defined(GL_WIN_SPECULAR_FOG) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_WIN_SPECULAR_FOG)) && !defined(REGAL_NO_DECLARATION_GL_WIN_SPECULAR_FOG)\n#define REGAL_NO_DECLARATION_GL_WIN_SPECULAR_FOG\n#endif\n\n#ifndef GL_WIN_specular_fog\n#define GL_WIN_specular_fog 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_WIN_SPECULAR_FOG\n#define GL_FOG_SPECULAR_TEXTURE_WIN 0x80ec /* 33004 */\n#endif\n\n/**\n ** GL_WIN_swap_hint\n **/\n\n#if (defined(GL_WIN_SWAP_HINT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_WIN_SWAP_HINT)) && !defined(REGAL_NO_ENUM_GL_WIN_SWAP_HINT)\n#define REGAL_NO_ENUM_GL_WIN_SWAP_HINT\n#endif\n\n#if (defined(GL_WIN_SWAP_HINT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_WIN_SWAP_HINT)) && !defined(REGAL_NO_TYPEDEF_GL_WIN_SWAP_HINT)\n#define REGAL_NO_TYPEDEF_GL_WIN_SWAP_HINT\n#endif\n\n#if (defined(GL_WIN_SWAP_HINT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_WIN_SWAP_HINT)) && !defined(REGAL_NO_NAMESPACE_GL_WIN_SWAP_HINT)\n#define REGAL_NO_NAMESPACE_GL_WIN_SWAP_HINT\n#endif\n\n#if (defined(GL_WIN_SWAP_HINT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_WIN_SWAP_HINT)) && !defined(REGAL_NO_PLUGIN_GL_WIN_SWAP_HINT)\n#define REGAL_NO_PLUGIN_GL_WIN_SWAP_HINT\n#endif\n\n#if (defined(GL_WIN_SWAP_HINT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_WIN_SWAP_HINT)) && !defined(REGAL_NO_DECLARATION_GL_WIN_SWAP_HINT)\n#define REGAL_NO_DECLARATION_GL_WIN_SWAP_HINT\n#endif\n\n#ifndef GL_WIN_swap_hint\n#define GL_WIN_swap_hint 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GL_WIN_SWAP_HINT\ntypedef void (REGAL_CALL *PFNGLADDSWAPHINTRECTWINPROC)(GLint x, GLint y, GLsizei width, GLsizei height);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GL_WIN_SWAP_HINT\n#define glAddSwapHintRectWIN                rglAddSwapHintRectWIN\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GL_WIN_SWAP_HINT\nREGAL_DECL void REGAL_CALL glAddSwapHintRectWIN(GLint x, GLint y, GLsizei width, GLsizei height);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GL_WIN_SWAP_HINT\nREGAL_DECL void REGAL_CALL plugin_glAddSwapHintRectWIN(GLint x, GLint y, GLsizei width, GLsizei height);\n#endif\n\n#if REGAL_SYS_WGL\n#if REGAL_SYS_WGL_DECLARE_WGL\n\n/**\n ** WGL_3DL_stereo_control\n **/\n\n#if (defined(WGL_3DL_STEREO_CONTROL) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_3DL_STEREO_CONTROL)) && !defined(REGAL_NO_ENUM_WGL_3DL_STEREO_CONTROL)\n#define REGAL_NO_ENUM_WGL_3DL_STEREO_CONTROL\n#endif\n\n#if (defined(WGL_3DL_STEREO_CONTROL) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_3DL_STEREO_CONTROL)) && !defined(REGAL_NO_TYPEDEF_WGL_3DL_STEREO_CONTROL)\n#define REGAL_NO_TYPEDEF_WGL_3DL_STEREO_CONTROL\n#endif\n\n#if (defined(WGL_3DL_STEREO_CONTROL) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_3DL_STEREO_CONTROL)) && !defined(REGAL_NO_NAMESPACE_WGL_3DL_STEREO_CONTROL)\n#define REGAL_NO_NAMESPACE_WGL_3DL_STEREO_CONTROL\n#endif\n\n#if (defined(WGL_3DL_STEREO_CONTROL) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_3DL_STEREO_CONTROL)) && !defined(REGAL_NO_PLUGIN_WGL_3DL_STEREO_CONTROL)\n#define REGAL_NO_PLUGIN_WGL_3DL_STEREO_CONTROL\n#endif\n\n#if (defined(WGL_3DL_STEREO_CONTROL) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_3DL_STEREO_CONTROL)) && !defined(REGAL_NO_DECLARATION_WGL_3DL_STEREO_CONTROL)\n#define REGAL_NO_DECLARATION_WGL_3DL_STEREO_CONTROL\n#endif\n\n#ifndef WGL_3DL_stereo_control\n#define WGL_3DL_stereo_control 1\n#endif\n\n#ifndef REGAL_NO_ENUM_WGL_3DL_STEREO_CONTROL\n#define WGL_STEREO_EMITTER_ENABLE_3DL  0x2055     /* 8277 */\n#define WGL_STEREO_EMITTER_DISABLE_3DL 0x2056     /* 8278 */\n#define WGL_STEREO_POLARITY_NORMAL_3DL 0x2057     /* 8279 */\n#define WGL_STEREO_POLARITY_INVERT_3DL 0x2058     /* 8280 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_WGL_3DL_STEREO_CONTROL\ntypedef BOOL (REGAL_CALL *PFNWGLSETSTEREOEMITTERSTATE3DLPROC)(HDC hDC, UINT uState);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_WGL_3DL_STEREO_CONTROL\n#define wglSetStereoEmitterState3DL         rwglSetStereoEmitterState3DL\n#endif\n\n#ifndef REGAL_NO_DECLARATION_WGL_3DL_STEREO_CONTROL\nREGAL_DECL BOOL REGAL_CALL wglSetStereoEmitterState3DL(HDC hDC, UINT uState);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_WGL_3DL_STEREO_CONTROL\nREGAL_DECL BOOL REGAL_CALL plugin_wglSetStereoEmitterState3DL(HDC hDC, UINT uState);\n#endif\n\n/**\n ** WGL_AMD_gpu_association\n **/\n\n#if (defined(WGL_AMD_GPU_ASSOCIATION) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_AMD_GPU_ASSOCIATION)) && !defined(REGAL_NO_ENUM_WGL_AMD_GPU_ASSOCIATION)\n#define REGAL_NO_ENUM_WGL_AMD_GPU_ASSOCIATION\n#endif\n\n#if (defined(WGL_AMD_GPU_ASSOCIATION) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_AMD_GPU_ASSOCIATION)) && !defined(REGAL_NO_TYPEDEF_WGL_AMD_GPU_ASSOCIATION)\n#define REGAL_NO_TYPEDEF_WGL_AMD_GPU_ASSOCIATION\n#endif\n\n#if (defined(WGL_AMD_GPU_ASSOCIATION) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_AMD_GPU_ASSOCIATION)) && !defined(REGAL_NO_NAMESPACE_WGL_AMD_GPU_ASSOCIATION)\n#define REGAL_NO_NAMESPACE_WGL_AMD_GPU_ASSOCIATION\n#endif\n\n#if (defined(WGL_AMD_GPU_ASSOCIATION) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_AMD_GPU_ASSOCIATION)) && !defined(REGAL_NO_PLUGIN_WGL_AMD_GPU_ASSOCIATION)\n#define REGAL_NO_PLUGIN_WGL_AMD_GPU_ASSOCIATION\n#endif\n\n#if (defined(WGL_AMD_GPU_ASSOCIATION) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_AMD_GPU_ASSOCIATION)) && !defined(REGAL_NO_DECLARATION_WGL_AMD_GPU_ASSOCIATION)\n#define REGAL_NO_DECLARATION_WGL_AMD_GPU_ASSOCIATION\n#endif\n\n#ifndef WGL_AMD_gpu_association\n#define WGL_AMD_gpu_association 1\n#endif\n\n#ifndef REGAL_NO_ENUM_WGL_AMD_GPU_ASSOCIATION\n#define WGL_GPU_VENDOR_AMD                0x1f00     /* 7936 */\n#define WGL_GPU_RENDERER_STRING_AMD       0x1f01     /* 7937 */\n#define WGL_GPU_OPENGL_VERSION_STRING_AMD 0x1f02     /* 7938 */\n#define WGL_GPU_FASTEST_TARGET_GPUS_AMD   0x21a2     /* 8610 */\n#define WGL_GPU_RAM_AMD                   0x21a3     /* 8611 */\n#define WGL_GPU_CLOCK_AMD                 0x21a4     /* 8612 */\n#define WGL_GPU_NUM_PIPES_AMD             0x21a5     /* 8613 */\n#define WGL_GPU_NUM_SIMD_AMD              0x21a6     /* 8614 */\n#define WGL_GPU_NUM_RB_AMD                0x21a7     /* 8615 */\n#define WGL_GPU_NUM_SPI_AMD               0x21a8     /* 8616 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_WGL_AMD_GPU_ASSOCIATION\ntypedef BOOL (REGAL_CALL *PFNWGLDELETEASSOCIATEDCONTEXTAMDPROC)(HGLRC hglrc);\ntypedef BOOL (REGAL_CALL *PFNWGLMAKEASSOCIATEDCONTEXTCURRENTAMDPROC)(HGLRC hglrc);\ntypedef HGLRC (REGAL_CALL *PFNWGLCREATEASSOCIATEDCONTEXTAMDPROC)(UINT id);\ntypedef HGLRC (REGAL_CALL *PFNWGLCREATEASSOCIATEDCONTEXTATTRIBSAMDPROC)(UINT id, HGLRC hShareContext, const int *attribList);\ntypedef HGLRC (REGAL_CALL *PFNWGLGETCURRENTASSOCIATEDCONTEXTAMDPROC)(void);\ntypedef INT (REGAL_CALL *PFNWGLGETGPUINFOAMDPROC)(UINT id, int property, GLenum dataType, UINT size, void *data);\ntypedef UINT (REGAL_CALL *PFNWGLGETCONTEXTGPUIDAMDPROC)(HGLRC hglrc);\ntypedef UINT (REGAL_CALL *PFNWGLGETGPUIDSAMDPROC)(UINT maxCount, UINT *ids);\ntypedef VOID (REGAL_CALL *PFNWGLBLITCONTEXTFRAMEBUFFERAMDPROC)(HGLRC dstCtx, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_WGL_AMD_GPU_ASSOCIATION\n#define wglBlitContextFramebufferAMD        rwglBlitContextFramebufferAMD\n#define wglCreateAssociatedContextAMD       rwglCreateAssociatedContextAMD\n#define wglCreateAssociatedContextAttribsAMD rwglCreateAssociatedContextAttribsAMD\n#define wglDeleteAssociatedContextAMD       rwglDeleteAssociatedContextAMD\n#define wglGetContextGPUIDAMD               rwglGetContextGPUIDAMD\n#define wglGetCurrentAssociatedContextAMD   rwglGetCurrentAssociatedContextAMD\n#define wglGetGPUIDsAMD                     rwglGetGPUIDsAMD\n#define wglGetGPUInfoAMD                    rwglGetGPUInfoAMD\n#define wglMakeAssociatedContextCurrentAMD  rwglMakeAssociatedContextCurrentAMD\n#endif\n\n#ifndef REGAL_NO_DECLARATION_WGL_AMD_GPU_ASSOCIATION\nREGAL_DECL BOOL REGAL_CALL wglDeleteAssociatedContextAMD(HGLRC hglrc);\nREGAL_DECL BOOL REGAL_CALL wglMakeAssociatedContextCurrentAMD(HGLRC hglrc);\nREGAL_DECL HGLRC REGAL_CALL wglCreateAssociatedContextAMD(UINT id);\nREGAL_DECL HGLRC REGAL_CALL wglCreateAssociatedContextAttribsAMD(UINT id, HGLRC hShareContext, const int *attribList);\nREGAL_DECL HGLRC REGAL_CALL wglGetCurrentAssociatedContextAMD(void);\nREGAL_DECL INT REGAL_CALL wglGetGPUInfoAMD(UINT id, int property, GLenum dataType, UINT size, void *data);\nREGAL_DECL UINT REGAL_CALL wglGetContextGPUIDAMD(HGLRC hglrc);\nREGAL_DECL UINT REGAL_CALL wglGetGPUIDsAMD(UINT maxCount, UINT *ids);\nREGAL_DECL VOID REGAL_CALL wglBlitContextFramebufferAMD(HGLRC dstCtx, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_WGL_AMD_GPU_ASSOCIATION\nREGAL_DECL BOOL REGAL_CALL plugin_wglDeleteAssociatedContextAMD(HGLRC hglrc);\nREGAL_DECL BOOL REGAL_CALL plugin_wglMakeAssociatedContextCurrentAMD(HGLRC hglrc);\nREGAL_DECL HGLRC REGAL_CALL plugin_wglCreateAssociatedContextAMD(UINT id);\nREGAL_DECL HGLRC REGAL_CALL plugin_wglCreateAssociatedContextAttribsAMD(UINT id, HGLRC hShareContext, const int *attribList);\nREGAL_DECL HGLRC REGAL_CALL plugin_wglGetCurrentAssociatedContextAMD(void);\nREGAL_DECL INT REGAL_CALL plugin_wglGetGPUInfoAMD(UINT id, int property, GLenum dataType, UINT size, void *data);\nREGAL_DECL UINT REGAL_CALL plugin_wglGetContextGPUIDAMD(HGLRC hglrc);\nREGAL_DECL UINT REGAL_CALL plugin_wglGetGPUIDsAMD(UINT maxCount, UINT *ids);\nREGAL_DECL VOID REGAL_CALL plugin_wglBlitContextFramebufferAMD(HGLRC dstCtx, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);\n#endif\n\n/**\n ** WGL_ARB_buffer_region\n **/\n\n#if (defined(WGL_ARB_BUFFER_REGION) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_ARB_BUFFER_REGION)) && !defined(REGAL_NO_ENUM_WGL_ARB_BUFFER_REGION)\n#define REGAL_NO_ENUM_WGL_ARB_BUFFER_REGION\n#endif\n\n#if (defined(WGL_ARB_BUFFER_REGION) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_ARB_BUFFER_REGION)) && !defined(REGAL_NO_TYPEDEF_WGL_ARB_BUFFER_REGION)\n#define REGAL_NO_TYPEDEF_WGL_ARB_BUFFER_REGION\n#endif\n\n#if (defined(WGL_ARB_BUFFER_REGION) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_ARB_BUFFER_REGION)) && !defined(REGAL_NO_NAMESPACE_WGL_ARB_BUFFER_REGION)\n#define REGAL_NO_NAMESPACE_WGL_ARB_BUFFER_REGION\n#endif\n\n#if (defined(WGL_ARB_BUFFER_REGION) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_ARB_BUFFER_REGION)) && !defined(REGAL_NO_PLUGIN_WGL_ARB_BUFFER_REGION)\n#define REGAL_NO_PLUGIN_WGL_ARB_BUFFER_REGION\n#endif\n\n#if (defined(WGL_ARB_BUFFER_REGION) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_ARB_BUFFER_REGION)) && !defined(REGAL_NO_DECLARATION_WGL_ARB_BUFFER_REGION)\n#define REGAL_NO_DECLARATION_WGL_ARB_BUFFER_REGION\n#endif\n\n#ifndef WGL_ARB_buffer_region\n#define WGL_ARB_buffer_region 1\n#endif\n\n#ifndef REGAL_NO_ENUM_WGL_ARB_BUFFER_REGION\n#define WGL_FRONT_COLOR_BUFFER_BIT_ARB 0x1\n#define WGL_BACK_COLOR_BUFFER_BIT_ARB  0x2\n#define WGL_DEPTH_BUFFER_BIT_ARB       0x4\n#define WGL_STENCIL_BUFFER_BIT_ARB     0x8\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_WGL_ARB_BUFFER_REGION\ntypedef BOOL (REGAL_CALL *PFNWGLRESTOREBUFFERREGIONARBPROC)(HANDLE hRegion, int x, int y, int width, int height, int xSrc, int ySrc);\ntypedef BOOL (REGAL_CALL *PFNWGLSAVEBUFFERREGIONARBPROC)(HANDLE hRegion, int x, int y, int width, int height);\ntypedef HANDLE (REGAL_CALL *PFNWGLCREATEBUFFERREGIONARBPROC)(HDC hDC, int iLayerPlane, UINT uType);\ntypedef VOID (REGAL_CALL *PFNWGLDELETEBUFFERREGIONARBPROC)(HANDLE hRegion);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_WGL_ARB_BUFFER_REGION\n#define wglCreateBufferRegionARB            rwglCreateBufferRegionARB\n#define wglDeleteBufferRegionARB            rwglDeleteBufferRegionARB\n#define wglRestoreBufferRegionARB           rwglRestoreBufferRegionARB\n#define wglSaveBufferRegionARB              rwglSaveBufferRegionARB\n#endif\n\n#ifndef REGAL_NO_DECLARATION_WGL_ARB_BUFFER_REGION\nREGAL_DECL BOOL REGAL_CALL wglRestoreBufferRegionARB(HANDLE hRegion, int x, int y, int width, int height, int xSrc, int ySrc);\nREGAL_DECL BOOL REGAL_CALL wglSaveBufferRegionARB(HANDLE hRegion, int x, int y, int width, int height);\nREGAL_DECL HANDLE REGAL_CALL wglCreateBufferRegionARB(HDC hDC, int iLayerPlane, UINT uType);\nREGAL_DECL VOID REGAL_CALL wglDeleteBufferRegionARB(HANDLE hRegion);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_WGL_ARB_BUFFER_REGION\nREGAL_DECL BOOL REGAL_CALL plugin_wglRestoreBufferRegionARB(HANDLE hRegion, int x, int y, int width, int height, int xSrc, int ySrc);\nREGAL_DECL BOOL REGAL_CALL plugin_wglSaveBufferRegionARB(HANDLE hRegion, int x, int y, int width, int height);\nREGAL_DECL HANDLE REGAL_CALL plugin_wglCreateBufferRegionARB(HDC hDC, int iLayerPlane, UINT uType);\nREGAL_DECL VOID REGAL_CALL plugin_wglDeleteBufferRegionARB(HANDLE hRegion);\n#endif\n\n/**\n ** WGL_ARB_create_context\n **/\n\n#if (defined(WGL_ARB_CREATE_CONTEXT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_ARB_CREATE_CONTEXT)) && !defined(REGAL_NO_ENUM_WGL_ARB_CREATE_CONTEXT)\n#define REGAL_NO_ENUM_WGL_ARB_CREATE_CONTEXT\n#endif\n\n#if (defined(WGL_ARB_CREATE_CONTEXT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_ARB_CREATE_CONTEXT)) && !defined(REGAL_NO_TYPEDEF_WGL_ARB_CREATE_CONTEXT)\n#define REGAL_NO_TYPEDEF_WGL_ARB_CREATE_CONTEXT\n#endif\n\n#if (defined(WGL_ARB_CREATE_CONTEXT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_ARB_CREATE_CONTEXT)) && !defined(REGAL_NO_NAMESPACE_WGL_ARB_CREATE_CONTEXT)\n#define REGAL_NO_NAMESPACE_WGL_ARB_CREATE_CONTEXT\n#endif\n\n#if (defined(WGL_ARB_CREATE_CONTEXT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_ARB_CREATE_CONTEXT)) && !defined(REGAL_NO_PLUGIN_WGL_ARB_CREATE_CONTEXT)\n#define REGAL_NO_PLUGIN_WGL_ARB_CREATE_CONTEXT\n#endif\n\n#if (defined(WGL_ARB_CREATE_CONTEXT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_ARB_CREATE_CONTEXT)) && !defined(REGAL_NO_DECLARATION_WGL_ARB_CREATE_CONTEXT)\n#define REGAL_NO_DECLARATION_WGL_ARB_CREATE_CONTEXT\n#endif\n\n#ifndef WGL_ARB_create_context\n#define WGL_ARB_create_context 1\n#endif\n\n#ifndef REGAL_NO_ENUM_WGL_ARB_CREATE_CONTEXT\n#define WGL_CONTEXT_DEBUG_BIT_ARB              0x1\n#define WGL_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB 0x2\n#define WGL_CONTEXT_MAJOR_VERSION_ARB          0x2091     /* 8337 */\n#define WGL_CONTEXT_MINOR_VERSION_ARB          0x2092     /* 8338 */\n#define WGL_CONTEXT_LAYER_PLANE_ARB            0x2093     /* 8339 */\n#define WGL_CONTEXT_FLAGS_ARB                  0x2094     /* 8340 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_WGL_ARB_CREATE_CONTEXT\ntypedef HGLRC (REGAL_CALL *PFNWGLCREATECONTEXTATTRIBSARBPROC)(HDC hDC, HGLRC hShareContext, const int *piAttribList);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_WGL_ARB_CREATE_CONTEXT\n#define wglCreateContextAttribsARB          rwglCreateContextAttribsARB\n#endif\n\n#ifndef REGAL_NO_DECLARATION_WGL_ARB_CREATE_CONTEXT\nREGAL_DECL HGLRC REGAL_CALL wglCreateContextAttribsARB(HDC hDC, HGLRC hShareContext, const int *piAttribList);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_WGL_ARB_CREATE_CONTEXT\nREGAL_DECL HGLRC REGAL_CALL plugin_wglCreateContextAttribsARB(HDC hDC, HGLRC hShareContext, const int *piAttribList);\n#endif\n\n/**\n ** WGL_ARB_create_context_profile\n **/\n\n#if (defined(WGL_ARB_CREATE_CONTEXT_PROFILE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_ARB_CREATE_CONTEXT_PROFILE)) && !defined(REGAL_NO_ENUM_WGL_ARB_CREATE_CONTEXT_PROFILE)\n#define REGAL_NO_ENUM_WGL_ARB_CREATE_CONTEXT_PROFILE\n#endif\n\n#if (defined(WGL_ARB_CREATE_CONTEXT_PROFILE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_ARB_CREATE_CONTEXT_PROFILE)) && !defined(REGAL_NO_TYPEDEF_WGL_ARB_CREATE_CONTEXT_PROFILE)\n#define REGAL_NO_TYPEDEF_WGL_ARB_CREATE_CONTEXT_PROFILE\n#endif\n\n#if (defined(WGL_ARB_CREATE_CONTEXT_PROFILE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_ARB_CREATE_CONTEXT_PROFILE)) && !defined(REGAL_NO_NAMESPACE_WGL_ARB_CREATE_CONTEXT_PROFILE)\n#define REGAL_NO_NAMESPACE_WGL_ARB_CREATE_CONTEXT_PROFILE\n#endif\n\n#if (defined(WGL_ARB_CREATE_CONTEXT_PROFILE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_ARB_CREATE_CONTEXT_PROFILE)) && !defined(REGAL_NO_PLUGIN_WGL_ARB_CREATE_CONTEXT_PROFILE)\n#define REGAL_NO_PLUGIN_WGL_ARB_CREATE_CONTEXT_PROFILE\n#endif\n\n#if (defined(WGL_ARB_CREATE_CONTEXT_PROFILE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_ARB_CREATE_CONTEXT_PROFILE)) && !defined(REGAL_NO_DECLARATION_WGL_ARB_CREATE_CONTEXT_PROFILE)\n#define REGAL_NO_DECLARATION_WGL_ARB_CREATE_CONTEXT_PROFILE\n#endif\n\n#ifndef WGL_ARB_create_context_profile\n#define WGL_ARB_create_context_profile 1\n#endif\n\n#ifndef REGAL_NO_ENUM_WGL_ARB_CREATE_CONTEXT_PROFILE\n#define WGL_CONTEXT_CORE_PROFILE_BIT_ARB          0x1\n#define WGL_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB 0x2\n#define WGL_CONTEXT_PROFILE_MASK_ARB              0x9126     /* 37158 */\n#endif\n\n/**\n ** WGL_ARB_create_context_robustness\n **/\n\n#if (defined(WGL_ARB_CREATE_CONTEXT_ROBUSTNESS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_ARB_CREATE_CONTEXT_ROBUSTNESS)) && !defined(REGAL_NO_ENUM_WGL_ARB_CREATE_CONTEXT_ROBUSTNESS)\n#define REGAL_NO_ENUM_WGL_ARB_CREATE_CONTEXT_ROBUSTNESS\n#endif\n\n#if (defined(WGL_ARB_CREATE_CONTEXT_ROBUSTNESS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_ARB_CREATE_CONTEXT_ROBUSTNESS)) && !defined(REGAL_NO_TYPEDEF_WGL_ARB_CREATE_CONTEXT_ROBUSTNESS)\n#define REGAL_NO_TYPEDEF_WGL_ARB_CREATE_CONTEXT_ROBUSTNESS\n#endif\n\n#if (defined(WGL_ARB_CREATE_CONTEXT_ROBUSTNESS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_ARB_CREATE_CONTEXT_ROBUSTNESS)) && !defined(REGAL_NO_NAMESPACE_WGL_ARB_CREATE_CONTEXT_ROBUSTNESS)\n#define REGAL_NO_NAMESPACE_WGL_ARB_CREATE_CONTEXT_ROBUSTNESS\n#endif\n\n#if (defined(WGL_ARB_CREATE_CONTEXT_ROBUSTNESS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_ARB_CREATE_CONTEXT_ROBUSTNESS)) && !defined(REGAL_NO_PLUGIN_WGL_ARB_CREATE_CONTEXT_ROBUSTNESS)\n#define REGAL_NO_PLUGIN_WGL_ARB_CREATE_CONTEXT_ROBUSTNESS\n#endif\n\n#if (defined(WGL_ARB_CREATE_CONTEXT_ROBUSTNESS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_ARB_CREATE_CONTEXT_ROBUSTNESS)) && !defined(REGAL_NO_DECLARATION_WGL_ARB_CREATE_CONTEXT_ROBUSTNESS)\n#define REGAL_NO_DECLARATION_WGL_ARB_CREATE_CONTEXT_ROBUSTNESS\n#endif\n\n#ifndef WGL_ARB_create_context_robustness\n#define WGL_ARB_create_context_robustness 1\n#endif\n\n#ifndef REGAL_NO_ENUM_WGL_ARB_CREATE_CONTEXT_ROBUSTNESS\n#define WGL_CONTEXT_ROBUST_ACCESS_BIT_ARB           0x4\n#define WGL_LOSE_CONTEXT_ON_RESET_ARB               0x8252     /* 33362 */\n#define WGL_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB 0x8256     /* 33366 */\n#define WGL_NO_RESET_NOTIFICATION_ARB               0x8261     /* 33377 */\n#endif\n\n/**\n ** WGL_ARB_extensions_string\n **/\n\n#if (defined(WGL_ARB_EXTENSIONS_STRING) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_ARB_EXTENSIONS_STRING)) && !defined(REGAL_NO_ENUM_WGL_ARB_EXTENSIONS_STRING)\n#define REGAL_NO_ENUM_WGL_ARB_EXTENSIONS_STRING\n#endif\n\n#if (defined(WGL_ARB_EXTENSIONS_STRING) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_ARB_EXTENSIONS_STRING)) && !defined(REGAL_NO_TYPEDEF_WGL_ARB_EXTENSIONS_STRING)\n#define REGAL_NO_TYPEDEF_WGL_ARB_EXTENSIONS_STRING\n#endif\n\n#if (defined(WGL_ARB_EXTENSIONS_STRING) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_ARB_EXTENSIONS_STRING)) && !defined(REGAL_NO_NAMESPACE_WGL_ARB_EXTENSIONS_STRING)\n#define REGAL_NO_NAMESPACE_WGL_ARB_EXTENSIONS_STRING\n#endif\n\n#if (defined(WGL_ARB_EXTENSIONS_STRING) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_ARB_EXTENSIONS_STRING)) && !defined(REGAL_NO_PLUGIN_WGL_ARB_EXTENSIONS_STRING)\n#define REGAL_NO_PLUGIN_WGL_ARB_EXTENSIONS_STRING\n#endif\n\n#if (defined(WGL_ARB_EXTENSIONS_STRING) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_ARB_EXTENSIONS_STRING)) && !defined(REGAL_NO_DECLARATION_WGL_ARB_EXTENSIONS_STRING)\n#define REGAL_NO_DECLARATION_WGL_ARB_EXTENSIONS_STRING\n#endif\n\n#ifndef WGL_ARB_extensions_string\n#define WGL_ARB_extensions_string 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_WGL_ARB_EXTENSIONS_STRING\ntypedef const char *(REGAL_CALL *PFNWGLGETEXTENSIONSSTRINGARBPROC)(HDC hDC);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_WGL_ARB_EXTENSIONS_STRING\n#define wglGetExtensionsStringARB           rwglGetExtensionsStringARB\n#endif\n\n#ifndef REGAL_NO_DECLARATION_WGL_ARB_EXTENSIONS_STRING\nREGAL_DECL const char *REGAL_CALL wglGetExtensionsStringARB(HDC hDC);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_WGL_ARB_EXTENSIONS_STRING\nREGAL_DECL const char *REGAL_CALL plugin_wglGetExtensionsStringARB(HDC hDC);\n#endif\n\n/**\n ** WGL_ARB_framebuffer_sRGB\n **/\n\n#if (defined(WGL_ARB_FRAMEBUFFER_SRGB) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_ARB_FRAMEBUFFER_SRGB)) && !defined(REGAL_NO_ENUM_WGL_ARB_FRAMEBUFFER_SRGB)\n#define REGAL_NO_ENUM_WGL_ARB_FRAMEBUFFER_SRGB\n#endif\n\n#if (defined(WGL_ARB_FRAMEBUFFER_SRGB) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_ARB_FRAMEBUFFER_SRGB)) && !defined(REGAL_NO_TYPEDEF_WGL_ARB_FRAMEBUFFER_SRGB)\n#define REGAL_NO_TYPEDEF_WGL_ARB_FRAMEBUFFER_SRGB\n#endif\n\n#if (defined(WGL_ARB_FRAMEBUFFER_SRGB) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_ARB_FRAMEBUFFER_SRGB)) && !defined(REGAL_NO_NAMESPACE_WGL_ARB_FRAMEBUFFER_SRGB)\n#define REGAL_NO_NAMESPACE_WGL_ARB_FRAMEBUFFER_SRGB\n#endif\n\n#if (defined(WGL_ARB_FRAMEBUFFER_SRGB) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_ARB_FRAMEBUFFER_SRGB)) && !defined(REGAL_NO_PLUGIN_WGL_ARB_FRAMEBUFFER_SRGB)\n#define REGAL_NO_PLUGIN_WGL_ARB_FRAMEBUFFER_SRGB\n#endif\n\n#if (defined(WGL_ARB_FRAMEBUFFER_SRGB) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_ARB_FRAMEBUFFER_SRGB)) && !defined(REGAL_NO_DECLARATION_WGL_ARB_FRAMEBUFFER_SRGB)\n#define REGAL_NO_DECLARATION_WGL_ARB_FRAMEBUFFER_SRGB\n#endif\n\n#ifndef WGL_ARB_framebuffer_sRGB\n#define WGL_ARB_framebuffer_sRGB 1\n#endif\n\n#ifndef REGAL_NO_ENUM_WGL_ARB_FRAMEBUFFER_SRGB\n#define WGL_FRAMEBUFFER_SRGB_CAPABLE_ARB 0x20a9 /* 8361 */\n#endif\n\n/**\n ** WGL_ARB_make_current_read\n **/\n\n#if (defined(WGL_ARB_MAKE_CURRENT_READ) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_ARB_MAKE_CURRENT_READ)) && !defined(REGAL_NO_ENUM_WGL_ARB_MAKE_CURRENT_READ)\n#define REGAL_NO_ENUM_WGL_ARB_MAKE_CURRENT_READ\n#endif\n\n#if (defined(WGL_ARB_MAKE_CURRENT_READ) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_ARB_MAKE_CURRENT_READ)) && !defined(REGAL_NO_TYPEDEF_WGL_ARB_MAKE_CURRENT_READ)\n#define REGAL_NO_TYPEDEF_WGL_ARB_MAKE_CURRENT_READ\n#endif\n\n#if (defined(WGL_ARB_MAKE_CURRENT_READ) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_ARB_MAKE_CURRENT_READ)) && !defined(REGAL_NO_NAMESPACE_WGL_ARB_MAKE_CURRENT_READ)\n#define REGAL_NO_NAMESPACE_WGL_ARB_MAKE_CURRENT_READ\n#endif\n\n#if (defined(WGL_ARB_MAKE_CURRENT_READ) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_ARB_MAKE_CURRENT_READ)) && !defined(REGAL_NO_PLUGIN_WGL_ARB_MAKE_CURRENT_READ)\n#define REGAL_NO_PLUGIN_WGL_ARB_MAKE_CURRENT_READ\n#endif\n\n#if (defined(WGL_ARB_MAKE_CURRENT_READ) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_ARB_MAKE_CURRENT_READ)) && !defined(REGAL_NO_DECLARATION_WGL_ARB_MAKE_CURRENT_READ)\n#define REGAL_NO_DECLARATION_WGL_ARB_MAKE_CURRENT_READ\n#endif\n\n#ifndef WGL_ARB_make_current_read\n#define WGL_ARB_make_current_read 1\n#endif\n\n#ifndef REGAL_NO_ENUM_WGL_ARB_MAKE_CURRENT_READ\n#define ERROR_INVALID_PIXEL_TYPE_ARB           0x2043     /* 8259 */\n#define ERROR_INCOMPATIBLE_DEVICE_CONTEXTS_ARB 0x2054     /* 8276 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_WGL_ARB_MAKE_CURRENT_READ\ntypedef BOOL (REGAL_CALL *PFNWGLMAKECONTEXTCURRENTARBPROC)(HDC hDrawDC, HDC hReadDC, HGLRC hglrc);\ntypedef HDC (REGAL_CALL *PFNWGLGETCURRENTREADDCARBPROC)(void);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_WGL_ARB_MAKE_CURRENT_READ\n#define wglGetCurrentReadDCARB              rwglGetCurrentReadDCARB\n#define wglMakeContextCurrentARB            rwglMakeContextCurrentARB\n#endif\n\n#ifndef REGAL_NO_DECLARATION_WGL_ARB_MAKE_CURRENT_READ\nREGAL_DECL BOOL REGAL_CALL wglMakeContextCurrentARB(HDC hDrawDC, HDC hReadDC, HGLRC hglrc);\nREGAL_DECL HDC REGAL_CALL wglGetCurrentReadDCARB(void);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_WGL_ARB_MAKE_CURRENT_READ\nREGAL_DECL BOOL REGAL_CALL plugin_wglMakeContextCurrentARB(HDC hDrawDC, HDC hReadDC, HGLRC hglrc);\nREGAL_DECL HDC REGAL_CALL plugin_wglGetCurrentReadDCARB(void);\n#endif\n\n/**\n ** WGL_ARB_multisample\n **/\n\n#if (defined(WGL_ARB_MULTISAMPLE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_ARB_MULTISAMPLE)) && !defined(REGAL_NO_ENUM_WGL_ARB_MULTISAMPLE)\n#define REGAL_NO_ENUM_WGL_ARB_MULTISAMPLE\n#endif\n\n#if (defined(WGL_ARB_MULTISAMPLE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_ARB_MULTISAMPLE)) && !defined(REGAL_NO_TYPEDEF_WGL_ARB_MULTISAMPLE)\n#define REGAL_NO_TYPEDEF_WGL_ARB_MULTISAMPLE\n#endif\n\n#if (defined(WGL_ARB_MULTISAMPLE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_ARB_MULTISAMPLE)) && !defined(REGAL_NO_NAMESPACE_WGL_ARB_MULTISAMPLE)\n#define REGAL_NO_NAMESPACE_WGL_ARB_MULTISAMPLE\n#endif\n\n#if (defined(WGL_ARB_MULTISAMPLE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_ARB_MULTISAMPLE)) && !defined(REGAL_NO_PLUGIN_WGL_ARB_MULTISAMPLE)\n#define REGAL_NO_PLUGIN_WGL_ARB_MULTISAMPLE\n#endif\n\n#if (defined(WGL_ARB_MULTISAMPLE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_ARB_MULTISAMPLE)) && !defined(REGAL_NO_DECLARATION_WGL_ARB_MULTISAMPLE)\n#define REGAL_NO_DECLARATION_WGL_ARB_MULTISAMPLE\n#endif\n\n#ifndef WGL_ARB_multisample\n#define WGL_ARB_multisample 1\n#endif\n\n#ifndef REGAL_NO_ENUM_WGL_ARB_MULTISAMPLE\n#define WGL_SAMPLE_BUFFERS_ARB 0x2041     /* 8257 */\n#define WGL_SAMPLES_ARB        0x2042     /* 8258 */\n#endif\n\n/**\n ** WGL_ARB_pbuffer\n **/\n\n#if (defined(WGL_ARB_PBUFFER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_ARB_PBUFFER)) && !defined(REGAL_NO_ENUM_WGL_ARB_PBUFFER)\n#define REGAL_NO_ENUM_WGL_ARB_PBUFFER\n#endif\n\n#if (defined(WGL_ARB_PBUFFER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_ARB_PBUFFER)) && !defined(REGAL_NO_TYPEDEF_WGL_ARB_PBUFFER)\n#define REGAL_NO_TYPEDEF_WGL_ARB_PBUFFER\n#endif\n\n#if (defined(WGL_ARB_PBUFFER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_ARB_PBUFFER)) && !defined(REGAL_NO_NAMESPACE_WGL_ARB_PBUFFER)\n#define REGAL_NO_NAMESPACE_WGL_ARB_PBUFFER\n#endif\n\n#if (defined(WGL_ARB_PBUFFER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_ARB_PBUFFER)) && !defined(REGAL_NO_PLUGIN_WGL_ARB_PBUFFER)\n#define REGAL_NO_PLUGIN_WGL_ARB_PBUFFER\n#endif\n\n#if (defined(WGL_ARB_PBUFFER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_ARB_PBUFFER)) && !defined(REGAL_NO_DECLARATION_WGL_ARB_PBUFFER)\n#define REGAL_NO_DECLARATION_WGL_ARB_PBUFFER\n#endif\n\n#ifndef WGL_ARB_pbuffer\n#define WGL_ARB_pbuffer 1\n#endif\n\n#ifndef REGAL_NO_ENUM_WGL_ARB_PBUFFER\n#define WGL_DRAW_TO_PBUFFER_ARB    0x202d     /* 8237 */\n#define WGL_MAX_PBUFFER_PIXELS_ARB 0x202e     /* 8238 */\n#define WGL_MAX_PBUFFER_WIDTH_ARB  0x202f     /* 8239 */\n#define WGL_MAX_PBUFFER_HEIGHT_ARB 0x2030     /* 8240 */\n#define WGL_PBUFFER_LARGEST_ARB    0x2033     /* 8243 */\n#define WGL_PBUFFER_WIDTH_ARB      0x2034     /* 8244 */\n#define WGL_PBUFFER_HEIGHT_ARB     0x2035     /* 8245 */\n#define WGL_PBUFFER_LOST_ARB       0x2036     /* 8246 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_WGL_ARB_PBUFFER\ntypedef BOOL (REGAL_CALL *PFNWGLDESTROYPBUFFERARBPROC)(HPBUFFERARB hPbuffer);\ntypedef BOOL (REGAL_CALL *PFNWGLQUERYPBUFFERARBPROC)(HPBUFFERARB hPbuffer, int iAttribute, int *piValue);\ntypedef HDC (REGAL_CALL *PFNWGLGETPBUFFERDCARBPROC)(HPBUFFERARB hPbuffer);\ntypedef HPBUFFERARB (REGAL_CALL *PFNWGLCREATEPBUFFERARBPROC)(HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int *piAttribList);\ntypedef int (REGAL_CALL *PFNWGLRELEASEPBUFFERDCARBPROC)(HPBUFFERARB hPbuffer, HDC hDC);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_WGL_ARB_PBUFFER\n#define wglCreatePbufferARB                 rwglCreatePbufferARB\n#define wglDestroyPbufferARB                rwglDestroyPbufferARB\n#define wglGetPbufferDCARB                  rwglGetPbufferDCARB\n#define wglQueryPbufferARB                  rwglQueryPbufferARB\n#define wglReleasePbufferDCARB              rwglReleasePbufferDCARB\n#endif\n\n#ifndef REGAL_NO_DECLARATION_WGL_ARB_PBUFFER\nREGAL_DECL BOOL REGAL_CALL wglDestroyPbufferARB(HPBUFFERARB hPbuffer);\nREGAL_DECL BOOL REGAL_CALL wglQueryPbufferARB(HPBUFFERARB hPbuffer, int iAttribute, int *piValue);\nREGAL_DECL HDC REGAL_CALL wglGetPbufferDCARB(HPBUFFERARB hPbuffer);\nREGAL_DECL HPBUFFERARB REGAL_CALL wglCreatePbufferARB(HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int *piAttribList);\nREGAL_DECL int REGAL_CALL wglReleasePbufferDCARB(HPBUFFERARB hPbuffer, HDC hDC);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_WGL_ARB_PBUFFER\nREGAL_DECL BOOL REGAL_CALL plugin_wglDestroyPbufferARB(HPBUFFERARB hPbuffer);\nREGAL_DECL BOOL REGAL_CALL plugin_wglQueryPbufferARB(HPBUFFERARB hPbuffer, int iAttribute, int *piValue);\nREGAL_DECL HDC REGAL_CALL plugin_wglGetPbufferDCARB(HPBUFFERARB hPbuffer);\nREGAL_DECL HPBUFFERARB REGAL_CALL plugin_wglCreatePbufferARB(HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int *piAttribList);\nREGAL_DECL int REGAL_CALL plugin_wglReleasePbufferDCARB(HPBUFFERARB hPbuffer, HDC hDC);\n#endif\n\n/**\n ** WGL_ARB_pixel_format\n **/\n\n#if (defined(WGL_ARB_PIXEL_FORMAT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_ARB_PIXEL_FORMAT)) && !defined(REGAL_NO_ENUM_WGL_ARB_PIXEL_FORMAT)\n#define REGAL_NO_ENUM_WGL_ARB_PIXEL_FORMAT\n#endif\n\n#if (defined(WGL_ARB_PIXEL_FORMAT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_ARB_PIXEL_FORMAT)) && !defined(REGAL_NO_TYPEDEF_WGL_ARB_PIXEL_FORMAT)\n#define REGAL_NO_TYPEDEF_WGL_ARB_PIXEL_FORMAT\n#endif\n\n#if (defined(WGL_ARB_PIXEL_FORMAT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_ARB_PIXEL_FORMAT)) && !defined(REGAL_NO_NAMESPACE_WGL_ARB_PIXEL_FORMAT)\n#define REGAL_NO_NAMESPACE_WGL_ARB_PIXEL_FORMAT\n#endif\n\n#if (defined(WGL_ARB_PIXEL_FORMAT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_ARB_PIXEL_FORMAT)) && !defined(REGAL_NO_PLUGIN_WGL_ARB_PIXEL_FORMAT)\n#define REGAL_NO_PLUGIN_WGL_ARB_PIXEL_FORMAT\n#endif\n\n#if (defined(WGL_ARB_PIXEL_FORMAT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_ARB_PIXEL_FORMAT)) && !defined(REGAL_NO_DECLARATION_WGL_ARB_PIXEL_FORMAT)\n#define REGAL_NO_DECLARATION_WGL_ARB_PIXEL_FORMAT\n#endif\n\n#ifndef WGL_ARB_pixel_format\n#define WGL_ARB_pixel_format 1\n#endif\n\n#ifndef REGAL_NO_ENUM_WGL_ARB_PIXEL_FORMAT\n#define WGL_NUMBER_PIXEL_FORMATS_ARB    0x2000     /* 8192 */\n#define WGL_DRAW_TO_WINDOW_ARB          0x2001     /* 8193 */\n#define WGL_DRAW_TO_BITMAP_ARB          0x2002     /* 8194 */\n#define WGL_ACCELERATION_ARB            0x2003     /* 8195 */\n#define WGL_NEED_PALETTE_ARB            0x2004     /* 8196 */\n#define WGL_NEED_SYSTEM_PALETTE_ARB     0x2005     /* 8197 */\n#define WGL_SWAP_LAYER_BUFFERS_ARB      0x2006     /* 8198 */\n#define WGL_SWAP_METHOD_ARB             0x2007     /* 8199 */\n#define WGL_NUMBER_OVERLAYS_ARB         0x2008     /* 8200 */\n#define WGL_NUMBER_UNDERLAYS_ARB        0x2009     /* 8201 */\n#define WGL_TRANSPARENT_ARB             0x200a     /* 8202 */\n#define WGL_SHARE_DEPTH_ARB             0x200c     /* 8204 */\n#define WGL_SHARE_STENCIL_ARB           0x200d     /* 8205 */\n#define WGL_SHARE_ACCUM_ARB             0x200e     /* 8206 */\n#define WGL_SUPPORT_GDI_ARB             0x200f     /* 8207 */\n#define WGL_SUPPORT_OPENGL_ARB          0x2010     /* 8208 */\n#define WGL_DOUBLE_BUFFER_ARB           0x2011     /* 8209 */\n#define WGL_STEREO_ARB                  0x2012     /* 8210 */\n#define WGL_PIXEL_TYPE_ARB              0x2013     /* 8211 */\n#define WGL_COLOR_BITS_ARB              0x2014     /* 8212 */\n#define WGL_RED_BITS_ARB                0x2015     /* 8213 */\n#define WGL_RED_SHIFT_ARB               0x2016     /* 8214 */\n#define WGL_GREEN_BITS_ARB              0x2017     /* 8215 */\n#define WGL_GREEN_SHIFT_ARB             0x2018     /* 8216 */\n#define WGL_BLUE_BITS_ARB               0x2019     /* 8217 */\n#define WGL_BLUE_SHIFT_ARB              0x201a     /* 8218 */\n#define WGL_ALPHA_BITS_ARB              0x201b     /* 8219 */\n#define WGL_ALPHA_SHIFT_ARB             0x201c     /* 8220 */\n#define WGL_ACCUM_BITS_ARB              0x201d     /* 8221 */\n#define WGL_ACCUM_RED_BITS_ARB          0x201e     /* 8222 */\n#define WGL_ACCUM_GREEN_BITS_ARB        0x201f     /* 8223 */\n#define WGL_ACCUM_BLUE_BITS_ARB         0x2020     /* 8224 */\n#define WGL_ACCUM_ALPHA_BITS_ARB        0x2021     /* 8225 */\n#define WGL_DEPTH_BITS_ARB              0x2022     /* 8226 */\n#define WGL_STENCIL_BITS_ARB            0x2023     /* 8227 */\n#define WGL_AUX_BUFFERS_ARB             0x2024     /* 8228 */\n#define WGL_NO_ACCELERATION_ARB         0x2025     /* 8229 */\n#define WGL_GENERIC_ACCELERATION_ARB    0x2026     /* 8230 */\n#define WGL_FULL_ACCELERATION_ARB       0x2027     /* 8231 */\n#define WGL_SWAP_EXCHANGE_ARB           0x2028     /* 8232 */\n#define WGL_SWAP_COPY_ARB               0x2029     /* 8233 */\n#define WGL_SWAP_UNDEFINED_ARB          0x202a     /* 8234 */\n#define WGL_TYPE_RGBA_ARB               0x202b     /* 8235 */\n#define WGL_TYPE_COLORINDEX_ARB         0x202c     /* 8236 */\n#define WGL_TRANSPARENT_RED_VALUE_ARB   0x2037     /* 8247 */\n#define WGL_TRANSPARENT_GREEN_VALUE_ARB 0x2038     /* 8248 */\n#define WGL_TRANSPARENT_BLUE_VALUE_ARB  0x2039     /* 8249 */\n#define WGL_TRANSPARENT_ALPHA_VALUE_ARB 0x203a     /* 8250 */\n#define WGL_TRANSPARENT_INDEX_VALUE_ARB 0x203b     /* 8251 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_WGL_ARB_PIXEL_FORMAT\ntypedef BOOL (REGAL_CALL *PFNWGLCHOOSEPIXELFORMATARBPROC)(HDC hDC, const int *piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats);\ntypedef BOOL (REGAL_CALL *PFNWGLGETPIXELFORMATATTRIBFVARBPROC)(HDC hDC, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, FLOAT *pfValues);\ntypedef BOOL (REGAL_CALL *PFNWGLGETPIXELFORMATATTRIBIVARBPROC)(HDC hDC, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, int *piValues);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_WGL_ARB_PIXEL_FORMAT\n#define wglChoosePixelFormatARB             rwglChoosePixelFormatARB\n#define wglGetPixelFormatAttribfvARB        rwglGetPixelFormatAttribfvARB\n#define wglGetPixelFormatAttribivARB        rwglGetPixelFormatAttribivARB\n#endif\n\n#ifndef REGAL_NO_DECLARATION_WGL_ARB_PIXEL_FORMAT\nREGAL_DECL BOOL REGAL_CALL wglChoosePixelFormatARB(HDC hDC, const int *piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats);\nREGAL_DECL BOOL REGAL_CALL wglGetPixelFormatAttribfvARB(HDC hDC, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, FLOAT *pfValues);\nREGAL_DECL BOOL REGAL_CALL wglGetPixelFormatAttribivARB(HDC hDC, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, int *piValues);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_WGL_ARB_PIXEL_FORMAT\nREGAL_DECL BOOL REGAL_CALL plugin_wglChoosePixelFormatARB(HDC hDC, const int *piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats);\nREGAL_DECL BOOL REGAL_CALL plugin_wglGetPixelFormatAttribfvARB(HDC hDC, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, FLOAT *pfValues);\nREGAL_DECL BOOL REGAL_CALL plugin_wglGetPixelFormatAttribivARB(HDC hDC, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, int *piValues);\n#endif\n\n/**\n ** WGL_ARB_pixel_format_float\n **/\n\n#if (defined(WGL_ARB_PIXEL_FORMAT_FLOAT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_ARB_PIXEL_FORMAT_FLOAT)) && !defined(REGAL_NO_ENUM_WGL_ARB_PIXEL_FORMAT_FLOAT)\n#define REGAL_NO_ENUM_WGL_ARB_PIXEL_FORMAT_FLOAT\n#endif\n\n#if (defined(WGL_ARB_PIXEL_FORMAT_FLOAT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_ARB_PIXEL_FORMAT_FLOAT)) && !defined(REGAL_NO_TYPEDEF_WGL_ARB_PIXEL_FORMAT_FLOAT)\n#define REGAL_NO_TYPEDEF_WGL_ARB_PIXEL_FORMAT_FLOAT\n#endif\n\n#if (defined(WGL_ARB_PIXEL_FORMAT_FLOAT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_ARB_PIXEL_FORMAT_FLOAT)) && !defined(REGAL_NO_NAMESPACE_WGL_ARB_PIXEL_FORMAT_FLOAT)\n#define REGAL_NO_NAMESPACE_WGL_ARB_PIXEL_FORMAT_FLOAT\n#endif\n\n#if (defined(WGL_ARB_PIXEL_FORMAT_FLOAT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_ARB_PIXEL_FORMAT_FLOAT)) && !defined(REGAL_NO_PLUGIN_WGL_ARB_PIXEL_FORMAT_FLOAT)\n#define REGAL_NO_PLUGIN_WGL_ARB_PIXEL_FORMAT_FLOAT\n#endif\n\n#if (defined(WGL_ARB_PIXEL_FORMAT_FLOAT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_ARB_PIXEL_FORMAT_FLOAT)) && !defined(REGAL_NO_DECLARATION_WGL_ARB_PIXEL_FORMAT_FLOAT)\n#define REGAL_NO_DECLARATION_WGL_ARB_PIXEL_FORMAT_FLOAT\n#endif\n\n#ifndef WGL_ARB_pixel_format_float\n#define WGL_ARB_pixel_format_float 1\n#endif\n\n#ifndef REGAL_NO_ENUM_WGL_ARB_PIXEL_FORMAT_FLOAT\n#define WGL_TYPE_RGBA_FLOAT_ARB 0x21a0 /* 8608 */\n#endif\n\n/**\n ** WGL_ARB_render_texture\n **/\n\n#if (defined(WGL_ARB_RENDER_TEXTURE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_ARB_RENDER_TEXTURE)) && !defined(REGAL_NO_ENUM_WGL_ARB_RENDER_TEXTURE)\n#define REGAL_NO_ENUM_WGL_ARB_RENDER_TEXTURE\n#endif\n\n#if (defined(WGL_ARB_RENDER_TEXTURE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_ARB_RENDER_TEXTURE)) && !defined(REGAL_NO_TYPEDEF_WGL_ARB_RENDER_TEXTURE)\n#define REGAL_NO_TYPEDEF_WGL_ARB_RENDER_TEXTURE\n#endif\n\n#if (defined(WGL_ARB_RENDER_TEXTURE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_ARB_RENDER_TEXTURE)) && !defined(REGAL_NO_NAMESPACE_WGL_ARB_RENDER_TEXTURE)\n#define REGAL_NO_NAMESPACE_WGL_ARB_RENDER_TEXTURE\n#endif\n\n#if (defined(WGL_ARB_RENDER_TEXTURE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_ARB_RENDER_TEXTURE)) && !defined(REGAL_NO_PLUGIN_WGL_ARB_RENDER_TEXTURE)\n#define REGAL_NO_PLUGIN_WGL_ARB_RENDER_TEXTURE\n#endif\n\n#if (defined(WGL_ARB_RENDER_TEXTURE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_ARB_RENDER_TEXTURE)) && !defined(REGAL_NO_DECLARATION_WGL_ARB_RENDER_TEXTURE)\n#define REGAL_NO_DECLARATION_WGL_ARB_RENDER_TEXTURE\n#endif\n\n#ifndef WGL_ARB_render_texture\n#define WGL_ARB_render_texture 1\n#endif\n\n#ifndef REGAL_NO_ENUM_WGL_ARB_RENDER_TEXTURE\n#define WGL_BIND_TO_TEXTURE_RGB_ARB         0x2070     /* 8304 */\n#define WGL_BIND_TO_TEXTURE_RGBA_ARB        0x2071     /* 8305 */\n#define WGL_TEXTURE_FORMAT_ARB              0x2072     /* 8306 */\n#define WGL_TEXTURE_TARGET_ARB              0x2073     /* 8307 */\n#define WGL_MIPMAP_TEXTURE_ARB              0x2074     /* 8308 */\n#define WGL_TEXTURE_RGB_ARB                 0x2075     /* 8309 */\n#define WGL_TEXTURE_RGBA_ARB                0x2076     /* 8310 */\n#define WGL_TEXTURE_CUBE_MAP_ARB            0x2078     /* 8312 */\n#define WGL_TEXTURE_1D_ARB                  0x2079     /* 8313 */\n#define WGL_TEXTURE_2D_ARB                  0x207a     /* 8314 */\n#define WGL_MIPMAP_LEVEL_ARB                0x207b     /* 8315 */\n#define WGL_CUBE_MAP_FACE_ARB               0x207c     /* 8316 */\n#define WGL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB 0x207d     /* 8317 */\n#define WGL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB 0x207e     /* 8318 */\n#define WGL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB 0x207f     /* 8319 */\n#define WGL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB 0x2080     /* 8320 */\n#define WGL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB 0x2081     /* 8321 */\n#define WGL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB 0x2082     /* 8322 */\n#define WGL_FRONT_LEFT_ARB                  0x2083     /* 8323 */\n#define WGL_FRONT_RIGHT_ARB                 0x2084     /* 8324 */\n#define WGL_BACK_LEFT_ARB                   0x2085     /* 8325 */\n#define WGL_BACK_RIGHT_ARB                  0x2086     /* 8326 */\n#define WGL_AUX0_ARB                        0x2087     /* 8327 */\n#define WGL_AUX1_ARB                        0x2088     /* 8328 */\n#define WGL_AUX2_ARB                        0x2089     /* 8329 */\n#define WGL_AUX3_ARB                        0x208a     /* 8330 */\n#define WGL_AUX4_ARB                        0x208b     /* 8331 */\n#define WGL_AUX5_ARB                        0x208c     /* 8332 */\n#define WGL_AUX6_ARB                        0x208d     /* 8333 */\n#define WGL_AUX7_ARB                        0x208e     /* 8334 */\n#define WGL_AUX8_ARB                        0x208f     /* 8335 */\n#define WGL_AUX9_ARB                        0x2090     /* 8336 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_WGL_ARB_RENDER_TEXTURE\ntypedef BOOL (REGAL_CALL *PFNWGLBINDTEXIMAGEARBPROC)(HPBUFFERARB hPbuffer, int iBuffer);\ntypedef BOOL (REGAL_CALL *PFNWGLRELEASETEXIMAGEARBPROC)(HPBUFFERARB hPbuffer, int iBuffer);\ntypedef BOOL (REGAL_CALL *PFNWGLSETPBUFFERATTRIBARBPROC)(HPBUFFERARB hPbuffer, const int *piAttribList);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_WGL_ARB_RENDER_TEXTURE\n#define wglBindTexImageARB                  rwglBindTexImageARB\n#define wglReleaseTexImageARB               rwglReleaseTexImageARB\n#define wglSetPbufferAttribARB              rwglSetPbufferAttribARB\n#endif\n\n#ifndef REGAL_NO_DECLARATION_WGL_ARB_RENDER_TEXTURE\nREGAL_DECL BOOL REGAL_CALL wglBindTexImageARB(HPBUFFERARB hPbuffer, int iBuffer);\nREGAL_DECL BOOL REGAL_CALL wglReleaseTexImageARB(HPBUFFERARB hPbuffer, int iBuffer);\nREGAL_DECL BOOL REGAL_CALL wglSetPbufferAttribARB(HPBUFFERARB hPbuffer, const int *piAttribList);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_WGL_ARB_RENDER_TEXTURE\nREGAL_DECL BOOL REGAL_CALL plugin_wglBindTexImageARB(HPBUFFERARB hPbuffer, int iBuffer);\nREGAL_DECL BOOL REGAL_CALL plugin_wglReleaseTexImageARB(HPBUFFERARB hPbuffer, int iBuffer);\nREGAL_DECL BOOL REGAL_CALL plugin_wglSetPbufferAttribARB(HPBUFFERARB hPbuffer, const int *piAttribList);\n#endif\n\n/**\n ** WGL_ARB_robustness_share_group_isolation\n **/\n\n#if (defined(WGL_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION)) && !defined(REGAL_NO_ENUM_WGL_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION)\n#define REGAL_NO_ENUM_WGL_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION\n#endif\n\n#if (defined(WGL_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION)) && !defined(REGAL_NO_TYPEDEF_WGL_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION)\n#define REGAL_NO_TYPEDEF_WGL_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION\n#endif\n\n#if (defined(WGL_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION)) && !defined(REGAL_NO_NAMESPACE_WGL_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION)\n#define REGAL_NO_NAMESPACE_WGL_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION\n#endif\n\n#if (defined(WGL_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION)) && !defined(REGAL_NO_PLUGIN_WGL_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION)\n#define REGAL_NO_PLUGIN_WGL_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION\n#endif\n\n#if (defined(WGL_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION)) && !defined(REGAL_NO_DECLARATION_WGL_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION)\n#define REGAL_NO_DECLARATION_WGL_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION\n#endif\n\n#ifndef WGL_ARB_robustness_share_group_isolation\n#define WGL_ARB_robustness_share_group_isolation 1\n#endif\n\n#ifndef REGAL_NO_ENUM_WGL_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION\n#define WGL_CONTEXT_RESET_ISOLATION_BIT_ARB 0x8\n#endif\n\n/**\n ** WGL_ATI_pixel_format_float\n **/\n\n#if (defined(WGL_ATI_PIXEL_FORMAT_FLOAT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_ATI_PIXEL_FORMAT_FLOAT)) && !defined(REGAL_NO_ENUM_WGL_ATI_PIXEL_FORMAT_FLOAT)\n#define REGAL_NO_ENUM_WGL_ATI_PIXEL_FORMAT_FLOAT\n#endif\n\n#if (defined(WGL_ATI_PIXEL_FORMAT_FLOAT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_ATI_PIXEL_FORMAT_FLOAT)) && !defined(REGAL_NO_TYPEDEF_WGL_ATI_PIXEL_FORMAT_FLOAT)\n#define REGAL_NO_TYPEDEF_WGL_ATI_PIXEL_FORMAT_FLOAT\n#endif\n\n#if (defined(WGL_ATI_PIXEL_FORMAT_FLOAT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_ATI_PIXEL_FORMAT_FLOAT)) && !defined(REGAL_NO_NAMESPACE_WGL_ATI_PIXEL_FORMAT_FLOAT)\n#define REGAL_NO_NAMESPACE_WGL_ATI_PIXEL_FORMAT_FLOAT\n#endif\n\n#if (defined(WGL_ATI_PIXEL_FORMAT_FLOAT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_ATI_PIXEL_FORMAT_FLOAT)) && !defined(REGAL_NO_PLUGIN_WGL_ATI_PIXEL_FORMAT_FLOAT)\n#define REGAL_NO_PLUGIN_WGL_ATI_PIXEL_FORMAT_FLOAT\n#endif\n\n#if (defined(WGL_ATI_PIXEL_FORMAT_FLOAT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_ATI_PIXEL_FORMAT_FLOAT)) && !defined(REGAL_NO_DECLARATION_WGL_ATI_PIXEL_FORMAT_FLOAT)\n#define REGAL_NO_DECLARATION_WGL_ATI_PIXEL_FORMAT_FLOAT\n#endif\n\n#ifndef WGL_ATI_pixel_format_float\n#define WGL_ATI_pixel_format_float 1\n#endif\n\n#ifndef REGAL_NO_ENUM_WGL_ATI_PIXEL_FORMAT_FLOAT\n#define WGL_TYPE_RGBA_FLOAT_ATI            0x21a0     /* 8608 */\n#define GL_RGBA_FLOAT_MODE_ATI             0x8820     /* 34848 */\n#define GL_COLOR_CLEAR_UNCLAMPED_VALUE_ATI 0x8835     /* 34869 */\n#endif\n\n/**\n ** WGL_ATI_render_texture_rectangle\n **/\n\n#if (defined(WGL_ATI_RENDER_TEXTURE_RECTANGLE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_ATI_RENDER_TEXTURE_RECTANGLE)) && !defined(REGAL_NO_ENUM_WGL_ATI_RENDER_TEXTURE_RECTANGLE)\n#define REGAL_NO_ENUM_WGL_ATI_RENDER_TEXTURE_RECTANGLE\n#endif\n\n#if (defined(WGL_ATI_RENDER_TEXTURE_RECTANGLE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_ATI_RENDER_TEXTURE_RECTANGLE)) && !defined(REGAL_NO_TYPEDEF_WGL_ATI_RENDER_TEXTURE_RECTANGLE)\n#define REGAL_NO_TYPEDEF_WGL_ATI_RENDER_TEXTURE_RECTANGLE\n#endif\n\n#if (defined(WGL_ATI_RENDER_TEXTURE_RECTANGLE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_ATI_RENDER_TEXTURE_RECTANGLE)) && !defined(REGAL_NO_NAMESPACE_WGL_ATI_RENDER_TEXTURE_RECTANGLE)\n#define REGAL_NO_NAMESPACE_WGL_ATI_RENDER_TEXTURE_RECTANGLE\n#endif\n\n#if (defined(WGL_ATI_RENDER_TEXTURE_RECTANGLE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_ATI_RENDER_TEXTURE_RECTANGLE)) && !defined(REGAL_NO_PLUGIN_WGL_ATI_RENDER_TEXTURE_RECTANGLE)\n#define REGAL_NO_PLUGIN_WGL_ATI_RENDER_TEXTURE_RECTANGLE\n#endif\n\n#if (defined(WGL_ATI_RENDER_TEXTURE_RECTANGLE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_ATI_RENDER_TEXTURE_RECTANGLE)) && !defined(REGAL_NO_DECLARATION_WGL_ATI_RENDER_TEXTURE_RECTANGLE)\n#define REGAL_NO_DECLARATION_WGL_ATI_RENDER_TEXTURE_RECTANGLE\n#endif\n\n#ifndef WGL_ATI_render_texture_rectangle\n#define WGL_ATI_render_texture_rectangle 1\n#endif\n\n#ifndef REGAL_NO_ENUM_WGL_ATI_RENDER_TEXTURE_RECTANGLE\n#define WGL_TEXTURE_RECTANGLE_ATI 0x21a5 /* 8613 */\n#endif\n\n/**\n ** WGL_EXT_create_context_es2_profile\n **/\n\n#if (defined(WGL_EXT_CREATE_CONTEXT_ES2_PROFILE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_EXT_CREATE_CONTEXT_ES2_PROFILE)) && !defined(REGAL_NO_ENUM_WGL_EXT_CREATE_CONTEXT_ES2_PROFILE)\n#define REGAL_NO_ENUM_WGL_EXT_CREATE_CONTEXT_ES2_PROFILE\n#endif\n\n#if (defined(WGL_EXT_CREATE_CONTEXT_ES2_PROFILE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_EXT_CREATE_CONTEXT_ES2_PROFILE)) && !defined(REGAL_NO_TYPEDEF_WGL_EXT_CREATE_CONTEXT_ES2_PROFILE)\n#define REGAL_NO_TYPEDEF_WGL_EXT_CREATE_CONTEXT_ES2_PROFILE\n#endif\n\n#if (defined(WGL_EXT_CREATE_CONTEXT_ES2_PROFILE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_EXT_CREATE_CONTEXT_ES2_PROFILE)) && !defined(REGAL_NO_NAMESPACE_WGL_EXT_CREATE_CONTEXT_ES2_PROFILE)\n#define REGAL_NO_NAMESPACE_WGL_EXT_CREATE_CONTEXT_ES2_PROFILE\n#endif\n\n#if (defined(WGL_EXT_CREATE_CONTEXT_ES2_PROFILE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_EXT_CREATE_CONTEXT_ES2_PROFILE)) && !defined(REGAL_NO_PLUGIN_WGL_EXT_CREATE_CONTEXT_ES2_PROFILE)\n#define REGAL_NO_PLUGIN_WGL_EXT_CREATE_CONTEXT_ES2_PROFILE\n#endif\n\n#if (defined(WGL_EXT_CREATE_CONTEXT_ES2_PROFILE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_EXT_CREATE_CONTEXT_ES2_PROFILE)) && !defined(REGAL_NO_DECLARATION_WGL_EXT_CREATE_CONTEXT_ES2_PROFILE)\n#define REGAL_NO_DECLARATION_WGL_EXT_CREATE_CONTEXT_ES2_PROFILE\n#endif\n\n#ifndef WGL_EXT_create_context_es2_profile\n#define WGL_EXT_create_context_es2_profile 1\n#endif\n\n#ifndef REGAL_NO_ENUM_WGL_EXT_CREATE_CONTEXT_ES2_PROFILE\n#define WGL_CONTEXT_ES2_PROFILE_BIT_EXT 0x4\n#endif\n\n/**\n ** WGL_EXT_create_context_es_profile\n **/\n\n#if (defined(WGL_EXT_CREATE_CONTEXT_ES_PROFILE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_EXT_CREATE_CONTEXT_ES_PROFILE)) && !defined(REGAL_NO_ENUM_WGL_EXT_CREATE_CONTEXT_ES_PROFILE)\n#define REGAL_NO_ENUM_WGL_EXT_CREATE_CONTEXT_ES_PROFILE\n#endif\n\n#if (defined(WGL_EXT_CREATE_CONTEXT_ES_PROFILE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_EXT_CREATE_CONTEXT_ES_PROFILE)) && !defined(REGAL_NO_TYPEDEF_WGL_EXT_CREATE_CONTEXT_ES_PROFILE)\n#define REGAL_NO_TYPEDEF_WGL_EXT_CREATE_CONTEXT_ES_PROFILE\n#endif\n\n#if (defined(WGL_EXT_CREATE_CONTEXT_ES_PROFILE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_EXT_CREATE_CONTEXT_ES_PROFILE)) && !defined(REGAL_NO_NAMESPACE_WGL_EXT_CREATE_CONTEXT_ES_PROFILE)\n#define REGAL_NO_NAMESPACE_WGL_EXT_CREATE_CONTEXT_ES_PROFILE\n#endif\n\n#if (defined(WGL_EXT_CREATE_CONTEXT_ES_PROFILE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_EXT_CREATE_CONTEXT_ES_PROFILE)) && !defined(REGAL_NO_PLUGIN_WGL_EXT_CREATE_CONTEXT_ES_PROFILE)\n#define REGAL_NO_PLUGIN_WGL_EXT_CREATE_CONTEXT_ES_PROFILE\n#endif\n\n#if (defined(WGL_EXT_CREATE_CONTEXT_ES_PROFILE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_EXT_CREATE_CONTEXT_ES_PROFILE)) && !defined(REGAL_NO_DECLARATION_WGL_EXT_CREATE_CONTEXT_ES_PROFILE)\n#define REGAL_NO_DECLARATION_WGL_EXT_CREATE_CONTEXT_ES_PROFILE\n#endif\n\n#ifndef WGL_EXT_create_context_es_profile\n#define WGL_EXT_create_context_es_profile 1\n#endif\n\n#ifndef REGAL_NO_ENUM_WGL_EXT_CREATE_CONTEXT_ES_PROFILE\n#define WGL_CONTEXT_ES_PROFILE_BIT_EXT 0x4\n#endif\n\n/**\n ** WGL_EXT_depth_float\n **/\n\n#if (defined(WGL_EXT_DEPTH_FLOAT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_EXT_DEPTH_FLOAT)) && !defined(REGAL_NO_ENUM_WGL_EXT_DEPTH_FLOAT)\n#define REGAL_NO_ENUM_WGL_EXT_DEPTH_FLOAT\n#endif\n\n#if (defined(WGL_EXT_DEPTH_FLOAT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_EXT_DEPTH_FLOAT)) && !defined(REGAL_NO_TYPEDEF_WGL_EXT_DEPTH_FLOAT)\n#define REGAL_NO_TYPEDEF_WGL_EXT_DEPTH_FLOAT\n#endif\n\n#if (defined(WGL_EXT_DEPTH_FLOAT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_EXT_DEPTH_FLOAT)) && !defined(REGAL_NO_NAMESPACE_WGL_EXT_DEPTH_FLOAT)\n#define REGAL_NO_NAMESPACE_WGL_EXT_DEPTH_FLOAT\n#endif\n\n#if (defined(WGL_EXT_DEPTH_FLOAT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_EXT_DEPTH_FLOAT)) && !defined(REGAL_NO_PLUGIN_WGL_EXT_DEPTH_FLOAT)\n#define REGAL_NO_PLUGIN_WGL_EXT_DEPTH_FLOAT\n#endif\n\n#if (defined(WGL_EXT_DEPTH_FLOAT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_EXT_DEPTH_FLOAT)) && !defined(REGAL_NO_DECLARATION_WGL_EXT_DEPTH_FLOAT)\n#define REGAL_NO_DECLARATION_WGL_EXT_DEPTH_FLOAT\n#endif\n\n#ifndef WGL_EXT_depth_float\n#define WGL_EXT_depth_float 1\n#endif\n\n#ifndef REGAL_NO_ENUM_WGL_EXT_DEPTH_FLOAT\n#define WGL_DEPTH_FLOAT_EXT 0x2040 /* 8256 */\n#endif\n\n/**\n ** WGL_EXT_display_color_table\n **/\n\n#if (defined(WGL_EXT_DISPLAY_COLOR_TABLE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_EXT_DISPLAY_COLOR_TABLE)) && !defined(REGAL_NO_ENUM_WGL_EXT_DISPLAY_COLOR_TABLE)\n#define REGAL_NO_ENUM_WGL_EXT_DISPLAY_COLOR_TABLE\n#endif\n\n#if (defined(WGL_EXT_DISPLAY_COLOR_TABLE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_EXT_DISPLAY_COLOR_TABLE)) && !defined(REGAL_NO_TYPEDEF_WGL_EXT_DISPLAY_COLOR_TABLE)\n#define REGAL_NO_TYPEDEF_WGL_EXT_DISPLAY_COLOR_TABLE\n#endif\n\n#if (defined(WGL_EXT_DISPLAY_COLOR_TABLE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_EXT_DISPLAY_COLOR_TABLE)) && !defined(REGAL_NO_NAMESPACE_WGL_EXT_DISPLAY_COLOR_TABLE)\n#define REGAL_NO_NAMESPACE_WGL_EXT_DISPLAY_COLOR_TABLE\n#endif\n\n#if (defined(WGL_EXT_DISPLAY_COLOR_TABLE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_EXT_DISPLAY_COLOR_TABLE)) && !defined(REGAL_NO_PLUGIN_WGL_EXT_DISPLAY_COLOR_TABLE)\n#define REGAL_NO_PLUGIN_WGL_EXT_DISPLAY_COLOR_TABLE\n#endif\n\n#if (defined(WGL_EXT_DISPLAY_COLOR_TABLE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_EXT_DISPLAY_COLOR_TABLE)) && !defined(REGAL_NO_DECLARATION_WGL_EXT_DISPLAY_COLOR_TABLE)\n#define REGAL_NO_DECLARATION_WGL_EXT_DISPLAY_COLOR_TABLE\n#endif\n\n#ifndef WGL_EXT_display_color_table\n#define WGL_EXT_display_color_table 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_WGL_EXT_DISPLAY_COLOR_TABLE\ntypedef GLboolean (REGAL_CALL *PFNWGLBINDDISPLAYCOLORTABLEEXTPROC)(GLushort id);\ntypedef GLboolean (REGAL_CALL *PFNWGLCREATEDISPLAYCOLORTABLEEXTPROC)(GLushort id);\ntypedef GLboolean (REGAL_CALL *PFNWGLLOADDISPLAYCOLORTABLEEXTPROC)(const GLushort *table, GLuint length);\ntypedef VOID (REGAL_CALL *PFNWGLDESTROYDISPLAYCOLORTABLEEXTPROC)(GLushort id);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_WGL_EXT_DISPLAY_COLOR_TABLE\n#define wglBindDisplayColorTableEXT         rwglBindDisplayColorTableEXT\n#define wglCreateDisplayColorTableEXT       rwglCreateDisplayColorTableEXT\n#define wglDestroyDisplayColorTableEXT      rwglDestroyDisplayColorTableEXT\n#define wglLoadDisplayColorTableEXT         rwglLoadDisplayColorTableEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_WGL_EXT_DISPLAY_COLOR_TABLE\nREGAL_DECL GLboolean REGAL_CALL wglBindDisplayColorTableEXT(GLushort id);\nREGAL_DECL GLboolean REGAL_CALL wglCreateDisplayColorTableEXT(GLushort id);\nREGAL_DECL GLboolean REGAL_CALL wglLoadDisplayColorTableEXT(const GLushort *table, GLuint length);\nREGAL_DECL VOID REGAL_CALL wglDestroyDisplayColorTableEXT(GLushort id);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_WGL_EXT_DISPLAY_COLOR_TABLE\nREGAL_DECL GLboolean REGAL_CALL plugin_wglBindDisplayColorTableEXT(GLushort id);\nREGAL_DECL GLboolean REGAL_CALL plugin_wglCreateDisplayColorTableEXT(GLushort id);\nREGAL_DECL GLboolean REGAL_CALL plugin_wglLoadDisplayColorTableEXT(const GLushort *table, GLuint length);\nREGAL_DECL VOID REGAL_CALL plugin_wglDestroyDisplayColorTableEXT(GLushort id);\n#endif\n\n/**\n ** WGL_EXT_extensions_string\n **/\n\n#if (defined(WGL_EXT_EXTENSIONS_STRING) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_EXT_EXTENSIONS_STRING)) && !defined(REGAL_NO_ENUM_WGL_EXT_EXTENSIONS_STRING)\n#define REGAL_NO_ENUM_WGL_EXT_EXTENSIONS_STRING\n#endif\n\n#if (defined(WGL_EXT_EXTENSIONS_STRING) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_EXT_EXTENSIONS_STRING)) && !defined(REGAL_NO_TYPEDEF_WGL_EXT_EXTENSIONS_STRING)\n#define REGAL_NO_TYPEDEF_WGL_EXT_EXTENSIONS_STRING\n#endif\n\n#if (defined(WGL_EXT_EXTENSIONS_STRING) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_EXT_EXTENSIONS_STRING)) && !defined(REGAL_NO_NAMESPACE_WGL_EXT_EXTENSIONS_STRING)\n#define REGAL_NO_NAMESPACE_WGL_EXT_EXTENSIONS_STRING\n#endif\n\n#if (defined(WGL_EXT_EXTENSIONS_STRING) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_EXT_EXTENSIONS_STRING)) && !defined(REGAL_NO_PLUGIN_WGL_EXT_EXTENSIONS_STRING)\n#define REGAL_NO_PLUGIN_WGL_EXT_EXTENSIONS_STRING\n#endif\n\n#if (defined(WGL_EXT_EXTENSIONS_STRING) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_EXT_EXTENSIONS_STRING)) && !defined(REGAL_NO_DECLARATION_WGL_EXT_EXTENSIONS_STRING)\n#define REGAL_NO_DECLARATION_WGL_EXT_EXTENSIONS_STRING\n#endif\n\n#ifndef WGL_EXT_extensions_string\n#define WGL_EXT_extensions_string 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_WGL_EXT_EXTENSIONS_STRING\ntypedef const char *(REGAL_CALL *PFNWGLGETEXTENSIONSSTRINGEXTPROC)(void);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_WGL_EXT_EXTENSIONS_STRING\n#define wglGetExtensionsStringEXT           rwglGetExtensionsStringEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_WGL_EXT_EXTENSIONS_STRING\nREGAL_DECL const char *REGAL_CALL wglGetExtensionsStringEXT(void);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_WGL_EXT_EXTENSIONS_STRING\nREGAL_DECL const char *REGAL_CALL plugin_wglGetExtensionsStringEXT(void);\n#endif\n\n/**\n ** WGL_EXT_framebuffer_sRGB\n **/\n\n#if (defined(WGL_EXT_FRAMEBUFFER_SRGB) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_EXT_FRAMEBUFFER_SRGB)) && !defined(REGAL_NO_ENUM_WGL_EXT_FRAMEBUFFER_SRGB)\n#define REGAL_NO_ENUM_WGL_EXT_FRAMEBUFFER_SRGB\n#endif\n\n#if (defined(WGL_EXT_FRAMEBUFFER_SRGB) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_EXT_FRAMEBUFFER_SRGB)) && !defined(REGAL_NO_TYPEDEF_WGL_EXT_FRAMEBUFFER_SRGB)\n#define REGAL_NO_TYPEDEF_WGL_EXT_FRAMEBUFFER_SRGB\n#endif\n\n#if (defined(WGL_EXT_FRAMEBUFFER_SRGB) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_EXT_FRAMEBUFFER_SRGB)) && !defined(REGAL_NO_NAMESPACE_WGL_EXT_FRAMEBUFFER_SRGB)\n#define REGAL_NO_NAMESPACE_WGL_EXT_FRAMEBUFFER_SRGB\n#endif\n\n#if (defined(WGL_EXT_FRAMEBUFFER_SRGB) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_EXT_FRAMEBUFFER_SRGB)) && !defined(REGAL_NO_PLUGIN_WGL_EXT_FRAMEBUFFER_SRGB)\n#define REGAL_NO_PLUGIN_WGL_EXT_FRAMEBUFFER_SRGB\n#endif\n\n#if (defined(WGL_EXT_FRAMEBUFFER_SRGB) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_EXT_FRAMEBUFFER_SRGB)) && !defined(REGAL_NO_DECLARATION_WGL_EXT_FRAMEBUFFER_SRGB)\n#define REGAL_NO_DECLARATION_WGL_EXT_FRAMEBUFFER_SRGB\n#endif\n\n#ifndef WGL_EXT_framebuffer_sRGB\n#define WGL_EXT_framebuffer_sRGB 1\n#endif\n\n#ifndef REGAL_NO_ENUM_WGL_EXT_FRAMEBUFFER_SRGB\n#define WGL_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x20a9 /* 8361 */\n#endif\n\n/**\n ** WGL_EXT_make_current_read\n **/\n\n#if (defined(WGL_EXT_MAKE_CURRENT_READ) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_EXT_MAKE_CURRENT_READ)) && !defined(REGAL_NO_ENUM_WGL_EXT_MAKE_CURRENT_READ)\n#define REGAL_NO_ENUM_WGL_EXT_MAKE_CURRENT_READ\n#endif\n\n#if (defined(WGL_EXT_MAKE_CURRENT_READ) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_EXT_MAKE_CURRENT_READ)) && !defined(REGAL_NO_TYPEDEF_WGL_EXT_MAKE_CURRENT_READ)\n#define REGAL_NO_TYPEDEF_WGL_EXT_MAKE_CURRENT_READ\n#endif\n\n#if (defined(WGL_EXT_MAKE_CURRENT_READ) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_EXT_MAKE_CURRENT_READ)) && !defined(REGAL_NO_NAMESPACE_WGL_EXT_MAKE_CURRENT_READ)\n#define REGAL_NO_NAMESPACE_WGL_EXT_MAKE_CURRENT_READ\n#endif\n\n#if (defined(WGL_EXT_MAKE_CURRENT_READ) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_EXT_MAKE_CURRENT_READ)) && !defined(REGAL_NO_PLUGIN_WGL_EXT_MAKE_CURRENT_READ)\n#define REGAL_NO_PLUGIN_WGL_EXT_MAKE_CURRENT_READ\n#endif\n\n#if (defined(WGL_EXT_MAKE_CURRENT_READ) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_EXT_MAKE_CURRENT_READ)) && !defined(REGAL_NO_DECLARATION_WGL_EXT_MAKE_CURRENT_READ)\n#define REGAL_NO_DECLARATION_WGL_EXT_MAKE_CURRENT_READ\n#endif\n\n#ifndef WGL_EXT_make_current_read\n#define WGL_EXT_make_current_read 1\n#endif\n\n#ifndef REGAL_NO_ENUM_WGL_EXT_MAKE_CURRENT_READ\n#define ERROR_INVALID_PIXEL_TYPE_EXT 0x2043 /* 8259 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_WGL_EXT_MAKE_CURRENT_READ\ntypedef BOOL (REGAL_CALL *PFNWGLMAKECONTEXTCURRENTEXTPROC)(HDC hDrawDC, HDC hReadDC, HGLRC hglrc);\ntypedef HDC (REGAL_CALL *PFNWGLGETCURRENTREADDCEXTPROC)(void);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_WGL_EXT_MAKE_CURRENT_READ\n#define wglGetCurrentReadDCEXT              rwglGetCurrentReadDCEXT\n#define wglMakeContextCurrentEXT            rwglMakeContextCurrentEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_WGL_EXT_MAKE_CURRENT_READ\nREGAL_DECL BOOL REGAL_CALL wglMakeContextCurrentEXT(HDC hDrawDC, HDC hReadDC, HGLRC hglrc);\nREGAL_DECL HDC REGAL_CALL wglGetCurrentReadDCEXT(void);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_WGL_EXT_MAKE_CURRENT_READ\nREGAL_DECL BOOL REGAL_CALL plugin_wglMakeContextCurrentEXT(HDC hDrawDC, HDC hReadDC, HGLRC hglrc);\nREGAL_DECL HDC REGAL_CALL plugin_wglGetCurrentReadDCEXT(void);\n#endif\n\n/**\n ** WGL_EXT_multisample\n **/\n\n#if (defined(WGL_EXT_MULTISAMPLE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_EXT_MULTISAMPLE)) && !defined(REGAL_NO_ENUM_WGL_EXT_MULTISAMPLE)\n#define REGAL_NO_ENUM_WGL_EXT_MULTISAMPLE\n#endif\n\n#if (defined(WGL_EXT_MULTISAMPLE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_EXT_MULTISAMPLE)) && !defined(REGAL_NO_TYPEDEF_WGL_EXT_MULTISAMPLE)\n#define REGAL_NO_TYPEDEF_WGL_EXT_MULTISAMPLE\n#endif\n\n#if (defined(WGL_EXT_MULTISAMPLE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_EXT_MULTISAMPLE)) && !defined(REGAL_NO_NAMESPACE_WGL_EXT_MULTISAMPLE)\n#define REGAL_NO_NAMESPACE_WGL_EXT_MULTISAMPLE\n#endif\n\n#if (defined(WGL_EXT_MULTISAMPLE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_EXT_MULTISAMPLE)) && !defined(REGAL_NO_PLUGIN_WGL_EXT_MULTISAMPLE)\n#define REGAL_NO_PLUGIN_WGL_EXT_MULTISAMPLE\n#endif\n\n#if (defined(WGL_EXT_MULTISAMPLE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_EXT_MULTISAMPLE)) && !defined(REGAL_NO_DECLARATION_WGL_EXT_MULTISAMPLE)\n#define REGAL_NO_DECLARATION_WGL_EXT_MULTISAMPLE\n#endif\n\n#ifndef WGL_EXT_multisample\n#define WGL_EXT_multisample 1\n#endif\n\n#ifndef REGAL_NO_ENUM_WGL_EXT_MULTISAMPLE\n#define WGL_SAMPLE_BUFFERS_EXT 0x2041     /* 8257 */\n#define WGL_SAMPLES_EXT        0x2042     /* 8258 */\n#endif\n\n/**\n ** WGL_EXT_pbuffer\n **/\n\n#if (defined(WGL_EXT_PBUFFER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_EXT_PBUFFER)) && !defined(REGAL_NO_ENUM_WGL_EXT_PBUFFER)\n#define REGAL_NO_ENUM_WGL_EXT_PBUFFER\n#endif\n\n#if (defined(WGL_EXT_PBUFFER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_EXT_PBUFFER)) && !defined(REGAL_NO_TYPEDEF_WGL_EXT_PBUFFER)\n#define REGAL_NO_TYPEDEF_WGL_EXT_PBUFFER\n#endif\n\n#if (defined(WGL_EXT_PBUFFER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_EXT_PBUFFER)) && !defined(REGAL_NO_NAMESPACE_WGL_EXT_PBUFFER)\n#define REGAL_NO_NAMESPACE_WGL_EXT_PBUFFER\n#endif\n\n#if (defined(WGL_EXT_PBUFFER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_EXT_PBUFFER)) && !defined(REGAL_NO_PLUGIN_WGL_EXT_PBUFFER)\n#define REGAL_NO_PLUGIN_WGL_EXT_PBUFFER\n#endif\n\n#if (defined(WGL_EXT_PBUFFER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_EXT_PBUFFER)) && !defined(REGAL_NO_DECLARATION_WGL_EXT_PBUFFER)\n#define REGAL_NO_DECLARATION_WGL_EXT_PBUFFER\n#endif\n\n#ifndef WGL_EXT_pbuffer\n#define WGL_EXT_pbuffer 1\n#endif\n\n#ifndef REGAL_NO_ENUM_WGL_EXT_PBUFFER\n#define WGL_DRAW_TO_PBUFFER_EXT        0x202d     /* 8237 */\n#define WGL_MAX_PBUFFER_PIXELS_EXT     0x202e     /* 8238 */\n#define WGL_MAX_PBUFFER_WIDTH_EXT      0x202f     /* 8239 */\n#define WGL_MAX_PBUFFER_HEIGHT_EXT     0x2030     /* 8240 */\n#define WGL_OPTIMAL_PBUFFER_WIDTH_EXT  0x2031     /* 8241 */\n#define WGL_OPTIMAL_PBUFFER_HEIGHT_EXT 0x2032     /* 8242 */\n#define WGL_PBUFFER_LARGEST_EXT        0x2033     /* 8243 */\n#define WGL_PBUFFER_WIDTH_EXT          0x2034     /* 8244 */\n#define WGL_PBUFFER_HEIGHT_EXT         0x2035     /* 8245 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_WGL_EXT_PBUFFER\ntypedef BOOL (REGAL_CALL *PFNWGLDESTROYPBUFFEREXTPROC)(HPBUFFEREXT hPbuffer);\ntypedef BOOL (REGAL_CALL *PFNWGLQUERYPBUFFEREXTPROC)(HPBUFFEREXT hPbuffer, int iAttribute, int *piValue);\ntypedef HDC (REGAL_CALL *PFNWGLGETPBUFFERDCEXTPROC)(HPBUFFEREXT hPbuffer);\ntypedef HPBUFFEREXT (REGAL_CALL *PFNWGLCREATEPBUFFEREXTPROC)(HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int *piAttribList);\ntypedef int (REGAL_CALL *PFNWGLRELEASEPBUFFERDCEXTPROC)(HPBUFFEREXT hPbuffer, HDC hDC);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_WGL_EXT_PBUFFER\n#define wglCreatePbufferEXT                 rwglCreatePbufferEXT\n#define wglDestroyPbufferEXT                rwglDestroyPbufferEXT\n#define wglGetPbufferDCEXT                  rwglGetPbufferDCEXT\n#define wglQueryPbufferEXT                  rwglQueryPbufferEXT\n#define wglReleasePbufferDCEXT              rwglReleasePbufferDCEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_WGL_EXT_PBUFFER\nREGAL_DECL BOOL REGAL_CALL wglDestroyPbufferEXT(HPBUFFEREXT hPbuffer);\nREGAL_DECL BOOL REGAL_CALL wglQueryPbufferEXT(HPBUFFEREXT hPbuffer, int iAttribute, int *piValue);\nREGAL_DECL HDC REGAL_CALL wglGetPbufferDCEXT(HPBUFFEREXT hPbuffer);\nREGAL_DECL HPBUFFEREXT REGAL_CALL wglCreatePbufferEXT(HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int *piAttribList);\nREGAL_DECL int REGAL_CALL wglReleasePbufferDCEXT(HPBUFFEREXT hPbuffer, HDC hDC);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_WGL_EXT_PBUFFER\nREGAL_DECL BOOL REGAL_CALL plugin_wglDestroyPbufferEXT(HPBUFFEREXT hPbuffer);\nREGAL_DECL BOOL REGAL_CALL plugin_wglQueryPbufferEXT(HPBUFFEREXT hPbuffer, int iAttribute, int *piValue);\nREGAL_DECL HDC REGAL_CALL plugin_wglGetPbufferDCEXT(HPBUFFEREXT hPbuffer);\nREGAL_DECL HPBUFFEREXT REGAL_CALL plugin_wglCreatePbufferEXT(HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int *piAttribList);\nREGAL_DECL int REGAL_CALL plugin_wglReleasePbufferDCEXT(HPBUFFEREXT hPbuffer, HDC hDC);\n#endif\n\n/**\n ** WGL_EXT_pixel_format\n **/\n\n#if (defined(WGL_EXT_PIXEL_FORMAT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_EXT_PIXEL_FORMAT)) && !defined(REGAL_NO_ENUM_WGL_EXT_PIXEL_FORMAT)\n#define REGAL_NO_ENUM_WGL_EXT_PIXEL_FORMAT\n#endif\n\n#if (defined(WGL_EXT_PIXEL_FORMAT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_EXT_PIXEL_FORMAT)) && !defined(REGAL_NO_TYPEDEF_WGL_EXT_PIXEL_FORMAT)\n#define REGAL_NO_TYPEDEF_WGL_EXT_PIXEL_FORMAT\n#endif\n\n#if (defined(WGL_EXT_PIXEL_FORMAT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_EXT_PIXEL_FORMAT)) && !defined(REGAL_NO_NAMESPACE_WGL_EXT_PIXEL_FORMAT)\n#define REGAL_NO_NAMESPACE_WGL_EXT_PIXEL_FORMAT\n#endif\n\n#if (defined(WGL_EXT_PIXEL_FORMAT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_EXT_PIXEL_FORMAT)) && !defined(REGAL_NO_PLUGIN_WGL_EXT_PIXEL_FORMAT)\n#define REGAL_NO_PLUGIN_WGL_EXT_PIXEL_FORMAT\n#endif\n\n#if (defined(WGL_EXT_PIXEL_FORMAT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_EXT_PIXEL_FORMAT)) && !defined(REGAL_NO_DECLARATION_WGL_EXT_PIXEL_FORMAT)\n#define REGAL_NO_DECLARATION_WGL_EXT_PIXEL_FORMAT\n#endif\n\n#ifndef WGL_EXT_pixel_format\n#define WGL_EXT_pixel_format 1\n#endif\n\n#ifndef REGAL_NO_ENUM_WGL_EXT_PIXEL_FORMAT\n#define WGL_NUMBER_PIXEL_FORMATS_EXT 0x2000     /* 8192 */\n#define WGL_DRAW_TO_WINDOW_EXT       0x2001     /* 8193 */\n#define WGL_DRAW_TO_BITMAP_EXT       0x2002     /* 8194 */\n#define WGL_ACCELERATION_EXT         0x2003     /* 8195 */\n#define WGL_NEED_PALETTE_EXT         0x2004     /* 8196 */\n#define WGL_NEED_SYSTEM_PALETTE_EXT  0x2005     /* 8197 */\n#define WGL_SWAP_LAYER_BUFFERS_EXT   0x2006     /* 8198 */\n#define WGL_SWAP_METHOD_EXT          0x2007     /* 8199 */\n#define WGL_NUMBER_OVERLAYS_EXT      0x2008     /* 8200 */\n#define WGL_NUMBER_UNDERLAYS_EXT     0x2009     /* 8201 */\n#define WGL_TRANSPARENT_EXT          0x200a     /* 8202 */\n#define WGL_TRANSPARENT_VALUE_EXT    0x200b     /* 8203 */\n#define WGL_SHARE_DEPTH_EXT          0x200c     /* 8204 */\n#define WGL_SHARE_STENCIL_EXT        0x200d     /* 8205 */\n#define WGL_SHARE_ACCUM_EXT          0x200e     /* 8206 */\n#define WGL_SUPPORT_GDI_EXT          0x200f     /* 8207 */\n#define WGL_SUPPORT_OPENGL_EXT       0x2010     /* 8208 */\n#define WGL_DOUBLE_BUFFER_EXT        0x2011     /* 8209 */\n#define WGL_STEREO_EXT               0x2012     /* 8210 */\n#define WGL_PIXEL_TYPE_EXT           0x2013     /* 8211 */\n#define WGL_COLOR_BITS_EXT           0x2014     /* 8212 */\n#define WGL_RED_BITS_EXT             0x2015     /* 8213 */\n#define WGL_RED_SHIFT_EXT            0x2016     /* 8214 */\n#define WGL_GREEN_BITS_EXT           0x2017     /* 8215 */\n#define WGL_GREEN_SHIFT_EXT          0x2018     /* 8216 */\n#define WGL_BLUE_BITS_EXT            0x2019     /* 8217 */\n#define WGL_BLUE_SHIFT_EXT           0x201a     /* 8218 */\n#define WGL_ALPHA_BITS_EXT           0x201b     /* 8219 */\n#define WGL_ALPHA_SHIFT_EXT          0x201c     /* 8220 */\n#define WGL_ACCUM_BITS_EXT           0x201d     /* 8221 */\n#define WGL_ACCUM_RED_BITS_EXT       0x201e     /* 8222 */\n#define WGL_ACCUM_GREEN_BITS_EXT     0x201f     /* 8223 */\n#define WGL_ACCUM_BLUE_BITS_EXT      0x2020     /* 8224 */\n#define WGL_ACCUM_ALPHA_BITS_EXT     0x2021     /* 8225 */\n#define WGL_DEPTH_BITS_EXT           0x2022     /* 8226 */\n#define WGL_STENCIL_BITS_EXT         0x2023     /* 8227 */\n#define WGL_AUX_BUFFERS_EXT          0x2024     /* 8228 */\n#define WGL_NO_ACCELERATION_EXT      0x2025     /* 8229 */\n#define WGL_GENERIC_ACCELERATION_EXT 0x2026     /* 8230 */\n#define WGL_FULL_ACCELERATION_EXT    0x2027     /* 8231 */\n#define WGL_SWAP_EXCHANGE_EXT        0x2028     /* 8232 */\n#define WGL_SWAP_COPY_EXT            0x2029     /* 8233 */\n#define WGL_SWAP_UNDEFINED_EXT       0x202a     /* 8234 */\n#define WGL_TYPE_RGBA_EXT            0x202b     /* 8235 */\n#define WGL_TYPE_COLORINDEX_EXT      0x202c     /* 8236 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_WGL_EXT_PIXEL_FORMAT\ntypedef BOOL (REGAL_CALL *PFNWGLCHOOSEPIXELFORMATEXTPROC)(HDC hDC, const int *piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats);\ntypedef BOOL (REGAL_CALL *PFNWGLGETPIXELFORMATATTRIBFVEXTPROC)(HDC hDC, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, FLOAT *pfValues);\ntypedef BOOL (REGAL_CALL *PFNWGLGETPIXELFORMATATTRIBIVEXTPROC)(HDC hDC, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, int *piValues);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_WGL_EXT_PIXEL_FORMAT\n#define wglChoosePixelFormatEXT             rwglChoosePixelFormatEXT\n#define wglGetPixelFormatAttribfvEXT        rwglGetPixelFormatAttribfvEXT\n#define wglGetPixelFormatAttribivEXT        rwglGetPixelFormatAttribivEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_WGL_EXT_PIXEL_FORMAT\nREGAL_DECL BOOL REGAL_CALL wglChoosePixelFormatEXT(HDC hDC, const int *piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats);\nREGAL_DECL BOOL REGAL_CALL wglGetPixelFormatAttribfvEXT(HDC hDC, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, FLOAT *pfValues);\nREGAL_DECL BOOL REGAL_CALL wglGetPixelFormatAttribivEXT(HDC hDC, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, int *piValues);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_WGL_EXT_PIXEL_FORMAT\nREGAL_DECL BOOL REGAL_CALL plugin_wglChoosePixelFormatEXT(HDC hDC, const int *piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats);\nREGAL_DECL BOOL REGAL_CALL plugin_wglGetPixelFormatAttribfvEXT(HDC hDC, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, FLOAT *pfValues);\nREGAL_DECL BOOL REGAL_CALL plugin_wglGetPixelFormatAttribivEXT(HDC hDC, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, int *piValues);\n#endif\n\n/**\n ** WGL_EXT_pixel_format_packed_float\n **/\n\n#if (defined(WGL_EXT_PIXEL_FORMAT_PACKED_FLOAT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_EXT_PIXEL_FORMAT_PACKED_FLOAT)) && !defined(REGAL_NO_ENUM_WGL_EXT_PIXEL_FORMAT_PACKED_FLOAT)\n#define REGAL_NO_ENUM_WGL_EXT_PIXEL_FORMAT_PACKED_FLOAT\n#endif\n\n#if (defined(WGL_EXT_PIXEL_FORMAT_PACKED_FLOAT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_EXT_PIXEL_FORMAT_PACKED_FLOAT)) && !defined(REGAL_NO_TYPEDEF_WGL_EXT_PIXEL_FORMAT_PACKED_FLOAT)\n#define REGAL_NO_TYPEDEF_WGL_EXT_PIXEL_FORMAT_PACKED_FLOAT\n#endif\n\n#if (defined(WGL_EXT_PIXEL_FORMAT_PACKED_FLOAT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_EXT_PIXEL_FORMAT_PACKED_FLOAT)) && !defined(REGAL_NO_NAMESPACE_WGL_EXT_PIXEL_FORMAT_PACKED_FLOAT)\n#define REGAL_NO_NAMESPACE_WGL_EXT_PIXEL_FORMAT_PACKED_FLOAT\n#endif\n\n#if (defined(WGL_EXT_PIXEL_FORMAT_PACKED_FLOAT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_EXT_PIXEL_FORMAT_PACKED_FLOAT)) && !defined(REGAL_NO_PLUGIN_WGL_EXT_PIXEL_FORMAT_PACKED_FLOAT)\n#define REGAL_NO_PLUGIN_WGL_EXT_PIXEL_FORMAT_PACKED_FLOAT\n#endif\n\n#if (defined(WGL_EXT_PIXEL_FORMAT_PACKED_FLOAT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_EXT_PIXEL_FORMAT_PACKED_FLOAT)) && !defined(REGAL_NO_DECLARATION_WGL_EXT_PIXEL_FORMAT_PACKED_FLOAT)\n#define REGAL_NO_DECLARATION_WGL_EXT_PIXEL_FORMAT_PACKED_FLOAT\n#endif\n\n#ifndef WGL_EXT_pixel_format_packed_float\n#define WGL_EXT_pixel_format_packed_float 1\n#endif\n\n#ifndef REGAL_NO_ENUM_WGL_EXT_PIXEL_FORMAT_PACKED_FLOAT\n#define WGL_TYPE_RGBA_UNSIGNED_FLOAT_EXT 0x20a8 /* 8360 */\n#endif\n\n/**\n ** WGL_EXT_swap_control\n **/\n\n#if (defined(WGL_EXT_SWAP_CONTROL) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_EXT_SWAP_CONTROL)) && !defined(REGAL_NO_ENUM_WGL_EXT_SWAP_CONTROL)\n#define REGAL_NO_ENUM_WGL_EXT_SWAP_CONTROL\n#endif\n\n#if (defined(WGL_EXT_SWAP_CONTROL) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_EXT_SWAP_CONTROL)) && !defined(REGAL_NO_TYPEDEF_WGL_EXT_SWAP_CONTROL)\n#define REGAL_NO_TYPEDEF_WGL_EXT_SWAP_CONTROL\n#endif\n\n#if (defined(WGL_EXT_SWAP_CONTROL) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_EXT_SWAP_CONTROL)) && !defined(REGAL_NO_NAMESPACE_WGL_EXT_SWAP_CONTROL)\n#define REGAL_NO_NAMESPACE_WGL_EXT_SWAP_CONTROL\n#endif\n\n#if (defined(WGL_EXT_SWAP_CONTROL) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_EXT_SWAP_CONTROL)) && !defined(REGAL_NO_PLUGIN_WGL_EXT_SWAP_CONTROL)\n#define REGAL_NO_PLUGIN_WGL_EXT_SWAP_CONTROL\n#endif\n\n#if (defined(WGL_EXT_SWAP_CONTROL) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_EXT_SWAP_CONTROL)) && !defined(REGAL_NO_DECLARATION_WGL_EXT_SWAP_CONTROL)\n#define REGAL_NO_DECLARATION_WGL_EXT_SWAP_CONTROL\n#endif\n\n#ifndef WGL_EXT_swap_control\n#define WGL_EXT_swap_control 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_WGL_EXT_SWAP_CONTROL\ntypedef BOOL (REGAL_CALL *PFNWGLSWAPINTERVALEXTPROC)(int interval);\ntypedef int (REGAL_CALL *PFNWGLGETSWAPINTERVALEXTPROC)(void);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_WGL_EXT_SWAP_CONTROL\n#define wglGetSwapIntervalEXT               rwglGetSwapIntervalEXT\n#define wglSwapIntervalEXT                  rwglSwapIntervalEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_WGL_EXT_SWAP_CONTROL\nREGAL_DECL BOOL REGAL_CALL wglSwapIntervalEXT(int interval);\nREGAL_DECL int REGAL_CALL wglGetSwapIntervalEXT(void);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_WGL_EXT_SWAP_CONTROL\nREGAL_DECL BOOL REGAL_CALL plugin_wglSwapIntervalEXT(int interval);\nREGAL_DECL int REGAL_CALL plugin_wglGetSwapIntervalEXT(void);\n#endif\n\n/**\n ** WGL_GDI\n **/\n\n#if (defined(WGL_GDI) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_GDI)) && !defined(REGAL_NO_ENUM_WGL_GDI)\n#define REGAL_NO_ENUM_WGL_GDI\n#endif\n\n#if (defined(WGL_GDI) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_GDI)) && !defined(REGAL_NO_TYPEDEF_WGL_GDI)\n#define REGAL_NO_TYPEDEF_WGL_GDI\n#endif\n\n#if (defined(WGL_GDI) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_GDI)) && !defined(REGAL_NO_NAMESPACE_WGL_GDI)\n#define REGAL_NO_NAMESPACE_WGL_GDI\n#endif\n\n#if (defined(WGL_GDI) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_GDI)) && !defined(REGAL_NO_PLUGIN_WGL_GDI)\n#define REGAL_NO_PLUGIN_WGL_GDI\n#endif\n\n#if (defined(WGL_GDI) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_GDI)) && !defined(REGAL_NO_DECLARATION_WGL_GDI)\n#define REGAL_NO_DECLARATION_WGL_GDI\n#endif\n\n#ifndef WGL_GDI\n#define WGL_GDI 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_WGL_GDI\ntypedef BOOL (REGAL_CALL *PFNWGLSETPIXELFORMATPROC)(HDC hDC, int iPixelFormat, const PIXELFORMATDESCRIPTOR *ppfd);\ntypedef BOOL (REGAL_CALL *PFNWGLSWAPBUFFERSPROC)(HDC hDC);\ntypedef int (REGAL_CALL *PFNWGLCHOOSEPIXELFORMATPROC)(HDC hDC, const PIXELFORMATDESCRIPTOR *ppfd);\ntypedef int (REGAL_CALL *PFNWGLDESCRIBEPIXELFORMATPROC)(HDC hDC, int iPixelFormat, UINT nBytes, LPPIXELFORMATDESCRIPTOR ppfd);\ntypedef int (REGAL_CALL *PFNWGLGETPIXELFORMATPROC)(HDC hDC);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_WGL_GDI\n#define wglChoosePixelFormat                rwglChoosePixelFormat\n#define wglDescribePixelFormat              rwglDescribePixelFormat\n#define wglGetPixelFormat                   rwglGetPixelFormat\n#define wglSetPixelFormat                   rwglSetPixelFormat\n#define wglSwapBuffers                      rwglSwapBuffers\n#endif\n\n#ifndef REGAL_NO_DECLARATION_WGL_GDI\nREGAL_DECL BOOL REGAL_CALL wglSetPixelFormat(HDC hDC, int iPixelFormat, const PIXELFORMATDESCRIPTOR *ppfd);\nREGAL_DECL BOOL REGAL_CALL wglSwapBuffers(HDC hDC);\nREGAL_DECL int REGAL_CALL wglChoosePixelFormat(HDC hDC, const PIXELFORMATDESCRIPTOR *ppfd);\nREGAL_DECL int REGAL_CALL wglDescribePixelFormat(HDC hDC, int iPixelFormat, UINT nBytes, LPPIXELFORMATDESCRIPTOR ppfd);\nREGAL_DECL int REGAL_CALL wglGetPixelFormat(HDC hDC);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_WGL_GDI\nREGAL_DECL BOOL REGAL_CALL plugin_wglSetPixelFormat(HDC hDC, int iPixelFormat, const PIXELFORMATDESCRIPTOR *ppfd);\nREGAL_DECL BOOL REGAL_CALL plugin_wglSwapBuffers(HDC hDC);\nREGAL_DECL int REGAL_CALL plugin_wglChoosePixelFormat(HDC hDC, const PIXELFORMATDESCRIPTOR *ppfd);\nREGAL_DECL int REGAL_CALL plugin_wglDescribePixelFormat(HDC hDC, int iPixelFormat, UINT nBytes, LPPIXELFORMATDESCRIPTOR ppfd);\nREGAL_DECL int REGAL_CALL plugin_wglGetPixelFormat(HDC hDC);\n#endif\n\n/**\n ** WGL_I3D_digital_video_control\n **/\n\n#if (defined(WGL_I3D_DIGITAL_VIDEO_CONTROL) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_I3D_DIGITAL_VIDEO_CONTROL)) && !defined(REGAL_NO_ENUM_WGL_I3D_DIGITAL_VIDEO_CONTROL)\n#define REGAL_NO_ENUM_WGL_I3D_DIGITAL_VIDEO_CONTROL\n#endif\n\n#if (defined(WGL_I3D_DIGITAL_VIDEO_CONTROL) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_I3D_DIGITAL_VIDEO_CONTROL)) && !defined(REGAL_NO_TYPEDEF_WGL_I3D_DIGITAL_VIDEO_CONTROL)\n#define REGAL_NO_TYPEDEF_WGL_I3D_DIGITAL_VIDEO_CONTROL\n#endif\n\n#if (defined(WGL_I3D_DIGITAL_VIDEO_CONTROL) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_I3D_DIGITAL_VIDEO_CONTROL)) && !defined(REGAL_NO_NAMESPACE_WGL_I3D_DIGITAL_VIDEO_CONTROL)\n#define REGAL_NO_NAMESPACE_WGL_I3D_DIGITAL_VIDEO_CONTROL\n#endif\n\n#if (defined(WGL_I3D_DIGITAL_VIDEO_CONTROL) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_I3D_DIGITAL_VIDEO_CONTROL)) && !defined(REGAL_NO_PLUGIN_WGL_I3D_DIGITAL_VIDEO_CONTROL)\n#define REGAL_NO_PLUGIN_WGL_I3D_DIGITAL_VIDEO_CONTROL\n#endif\n\n#if (defined(WGL_I3D_DIGITAL_VIDEO_CONTROL) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_I3D_DIGITAL_VIDEO_CONTROL)) && !defined(REGAL_NO_DECLARATION_WGL_I3D_DIGITAL_VIDEO_CONTROL)\n#define REGAL_NO_DECLARATION_WGL_I3D_DIGITAL_VIDEO_CONTROL\n#endif\n\n#ifndef WGL_I3D_digital_video_control\n#define WGL_I3D_digital_video_control 1\n#endif\n\n#ifndef REGAL_NO_ENUM_WGL_I3D_DIGITAL_VIDEO_CONTROL\n#define WGL_DIGITAL_VIDEO_CURSOR_ALPHA_FRAMEBUFFER_I3D 0x2050     /* 8272 */\n#define WGL_DIGITAL_VIDEO_CURSOR_ALPHA_VALUE_I3D       0x2051     /* 8273 */\n#define WGL_DIGITAL_VIDEO_CURSOR_INCLUDED_I3D          0x2052     /* 8274 */\n#define WGL_DIGITAL_VIDEO_GAMMA_CORRECTED_I3D          0x2053     /* 8275 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_WGL_I3D_DIGITAL_VIDEO_CONTROL\ntypedef BOOL (REGAL_CALL *PFNWGLGETDIGITALVIDEOPARAMETERSI3DPROC)(HDC hDC, int iAttribute, int *piValue);\ntypedef BOOL (REGAL_CALL *PFNWGLSETDIGITALVIDEOPARAMETERSI3DPROC)(HDC hDC, int iAttribute, const int *piValue);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_WGL_I3D_DIGITAL_VIDEO_CONTROL\n#define wglGetDigitalVideoParametersI3D     rwglGetDigitalVideoParametersI3D\n#define wglSetDigitalVideoParametersI3D     rwglSetDigitalVideoParametersI3D\n#endif\n\n#ifndef REGAL_NO_DECLARATION_WGL_I3D_DIGITAL_VIDEO_CONTROL\nREGAL_DECL BOOL REGAL_CALL wglGetDigitalVideoParametersI3D(HDC hDC, int iAttribute, int *piValue);\nREGAL_DECL BOOL REGAL_CALL wglSetDigitalVideoParametersI3D(HDC hDC, int iAttribute, const int *piValue);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_WGL_I3D_DIGITAL_VIDEO_CONTROL\nREGAL_DECL BOOL REGAL_CALL plugin_wglGetDigitalVideoParametersI3D(HDC hDC, int iAttribute, int *piValue);\nREGAL_DECL BOOL REGAL_CALL plugin_wglSetDigitalVideoParametersI3D(HDC hDC, int iAttribute, const int *piValue);\n#endif\n\n/**\n ** WGL_I3D_gamma\n **/\n\n#if (defined(WGL_I3D_GAMMA) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_I3D_GAMMA)) && !defined(REGAL_NO_ENUM_WGL_I3D_GAMMA)\n#define REGAL_NO_ENUM_WGL_I3D_GAMMA\n#endif\n\n#if (defined(WGL_I3D_GAMMA) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_I3D_GAMMA)) && !defined(REGAL_NO_TYPEDEF_WGL_I3D_GAMMA)\n#define REGAL_NO_TYPEDEF_WGL_I3D_GAMMA\n#endif\n\n#if (defined(WGL_I3D_GAMMA) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_I3D_GAMMA)) && !defined(REGAL_NO_NAMESPACE_WGL_I3D_GAMMA)\n#define REGAL_NO_NAMESPACE_WGL_I3D_GAMMA\n#endif\n\n#if (defined(WGL_I3D_GAMMA) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_I3D_GAMMA)) && !defined(REGAL_NO_PLUGIN_WGL_I3D_GAMMA)\n#define REGAL_NO_PLUGIN_WGL_I3D_GAMMA\n#endif\n\n#if (defined(WGL_I3D_GAMMA) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_I3D_GAMMA)) && !defined(REGAL_NO_DECLARATION_WGL_I3D_GAMMA)\n#define REGAL_NO_DECLARATION_WGL_I3D_GAMMA\n#endif\n\n#ifndef WGL_I3D_gamma\n#define WGL_I3D_gamma 1\n#endif\n\n#ifndef REGAL_NO_ENUM_WGL_I3D_GAMMA\n#define WGL_GAMMA_TABLE_SIZE_I3D      0x204e     /* 8270 */\n#define WGL_GAMMA_EXCLUDE_DESKTOP_I3D 0x204f     /* 8271 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_WGL_I3D_GAMMA\ntypedef BOOL (REGAL_CALL *PFNWGLGETGAMMATABLEI3DPROC)(HDC hDC, int iEntries, USHORT *puRed, USHORT *puGreen, USHORT *puBlue);\ntypedef BOOL (REGAL_CALL *PFNWGLGETGAMMATABLEPARAMETERSI3DPROC)(HDC hDC, int iAttribute, int *piValue);\ntypedef BOOL (REGAL_CALL *PFNWGLSETGAMMATABLEI3DPROC)(HDC hDC, int iEntries, const USHORT *puRed, const USHORT *puGreen, const USHORT *puBlue);\ntypedef BOOL (REGAL_CALL *PFNWGLSETGAMMATABLEPARAMETERSI3DPROC)(HDC hDC, int iAttribute, const int *piValue);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_WGL_I3D_GAMMA\n#define wglGetGammaTableI3D                 rwglGetGammaTableI3D\n#define wglGetGammaTableParametersI3D       rwglGetGammaTableParametersI3D\n#define wglSetGammaTableI3D                 rwglSetGammaTableI3D\n#define wglSetGammaTableParametersI3D       rwglSetGammaTableParametersI3D\n#endif\n\n#ifndef REGAL_NO_DECLARATION_WGL_I3D_GAMMA\nREGAL_DECL BOOL REGAL_CALL wglGetGammaTableI3D(HDC hDC, int iEntries, USHORT *puRed, USHORT *puGreen, USHORT *puBlue);\nREGAL_DECL BOOL REGAL_CALL wglGetGammaTableParametersI3D(HDC hDC, int iAttribute, int *piValue);\nREGAL_DECL BOOL REGAL_CALL wglSetGammaTableI3D(HDC hDC, int iEntries, const USHORT *puRed, const USHORT *puGreen, const USHORT *puBlue);\nREGAL_DECL BOOL REGAL_CALL wglSetGammaTableParametersI3D(HDC hDC, int iAttribute, const int *piValue);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_WGL_I3D_GAMMA\nREGAL_DECL BOOL REGAL_CALL plugin_wglGetGammaTableI3D(HDC hDC, int iEntries, USHORT *puRed, USHORT *puGreen, USHORT *puBlue);\nREGAL_DECL BOOL REGAL_CALL plugin_wglGetGammaTableParametersI3D(HDC hDC, int iAttribute, int *piValue);\nREGAL_DECL BOOL REGAL_CALL plugin_wglSetGammaTableI3D(HDC hDC, int iEntries, const USHORT *puRed, const USHORT *puGreen, const USHORT *puBlue);\nREGAL_DECL BOOL REGAL_CALL plugin_wglSetGammaTableParametersI3D(HDC hDC, int iAttribute, const int *piValue);\n#endif\n\n/**\n ** WGL_I3D_genlock\n **/\n\n#if (defined(WGL_I3D_GENLOCK) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_I3D_GENLOCK)) && !defined(REGAL_NO_ENUM_WGL_I3D_GENLOCK)\n#define REGAL_NO_ENUM_WGL_I3D_GENLOCK\n#endif\n\n#if (defined(WGL_I3D_GENLOCK) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_I3D_GENLOCK)) && !defined(REGAL_NO_TYPEDEF_WGL_I3D_GENLOCK)\n#define REGAL_NO_TYPEDEF_WGL_I3D_GENLOCK\n#endif\n\n#if (defined(WGL_I3D_GENLOCK) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_I3D_GENLOCK)) && !defined(REGAL_NO_NAMESPACE_WGL_I3D_GENLOCK)\n#define REGAL_NO_NAMESPACE_WGL_I3D_GENLOCK\n#endif\n\n#if (defined(WGL_I3D_GENLOCK) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_I3D_GENLOCK)) && !defined(REGAL_NO_PLUGIN_WGL_I3D_GENLOCK)\n#define REGAL_NO_PLUGIN_WGL_I3D_GENLOCK\n#endif\n\n#if (defined(WGL_I3D_GENLOCK) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_I3D_GENLOCK)) && !defined(REGAL_NO_DECLARATION_WGL_I3D_GENLOCK)\n#define REGAL_NO_DECLARATION_WGL_I3D_GENLOCK\n#endif\n\n#ifndef WGL_I3D_genlock\n#define WGL_I3D_genlock 1\n#endif\n\n#ifndef REGAL_NO_ENUM_WGL_I3D_GENLOCK\n#define WGL_GENLOCK_SOURCE_MULTIVIEW_I3D      0x2044     /* 8260 */\n#define WGL_GENLOCK_SOURCE_EXTERNAL_SYNC_I3D  0x2045     /* 8261 */\n#define WGL_GENLOCK_SOURCE_EXTERNAL_FIELD_I3D 0x2046     /* 8262 */\n#define WGL_GENLOCK_SOURCE_EXTERNAL_TTL_I3D   0x2047     /* 8263 */\n#define WGL_GENLOCK_SOURCE_DIGITAL_SYNC_I3D   0x2048     /* 8264 */\n#define WGL_GENLOCK_SOURCE_DIGITAL_FIELD_I3D  0x2049     /* 8265 */\n#define WGL_GENLOCK_SOURCE_EDGE_FALLING_I3D   0x204a     /* 8266 */\n#define WGL_GENLOCK_SOURCE_EDGE_RISING_I3D    0x204b     /* 8267 */\n#define WGL_GENLOCK_SOURCE_EDGE_BOTH_I3D      0x204c     /* 8268 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_WGL_I3D_GENLOCK\ntypedef BOOL (REGAL_CALL *PFNWGLDISABLEGENLOCKI3DPROC)(HDC hDC);\ntypedef BOOL (REGAL_CALL *PFNWGLENABLEGENLOCKI3DPROC)(HDC hDC);\ntypedef BOOL (REGAL_CALL *PFNWGLGENLOCKSAMPLERATEI3DPROC)(HDC hDC, UINT uRate);\ntypedef BOOL (REGAL_CALL *PFNWGLGENLOCKSOURCEDELAYI3DPROC)(HDC hDC, UINT uDelay);\ntypedef BOOL (REGAL_CALL *PFNWGLGENLOCKSOURCEEDGEI3DPROC)(HDC hDC, UINT uEdge);\ntypedef BOOL (REGAL_CALL *PFNWGLGENLOCKSOURCEI3DPROC)(HDC hDC, UINT uSource);\ntypedef BOOL (REGAL_CALL *PFNWGLGETGENLOCKSAMPLERATEI3DPROC)(HDC hDC, UINT *uRate);\ntypedef BOOL (REGAL_CALL *PFNWGLGETGENLOCKSOURCEDELAYI3DPROC)(HDC hDC, UINT *uDelay);\ntypedef BOOL (REGAL_CALL *PFNWGLGETGENLOCKSOURCEEDGEI3DPROC)(HDC hDC, UINT *uEdge);\ntypedef BOOL (REGAL_CALL *PFNWGLGETGENLOCKSOURCEI3DPROC)(HDC hDC, UINT *uSource);\ntypedef BOOL (REGAL_CALL *PFNWGLISENABLEDGENLOCKI3DPROC)(HDC hDC, BOOL *pFlag);\ntypedef BOOL (REGAL_CALL *PFNWGLQUERYGENLOCKMAXSOURCEDELAYI3DPROC)(HDC hDC, UINT *uMaxLineDelay, UINT *uMaxPixelDelay);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_WGL_I3D_GENLOCK\n#define wglDisableGenlockI3D                rwglDisableGenlockI3D\n#define wglEnableGenlockI3D                 rwglEnableGenlockI3D\n#define wglGenlockSampleRateI3D             rwglGenlockSampleRateI3D\n#define wglGenlockSourceDelayI3D            rwglGenlockSourceDelayI3D\n#define wglGenlockSourceEdgeI3D             rwglGenlockSourceEdgeI3D\n#define wglGenlockSourceI3D                 rwglGenlockSourceI3D\n#define wglGetGenlockSampleRateI3D          rwglGetGenlockSampleRateI3D\n#define wglGetGenlockSourceDelayI3D         rwglGetGenlockSourceDelayI3D\n#define wglGetGenlockSourceEdgeI3D          rwglGetGenlockSourceEdgeI3D\n#define wglGetGenlockSourceI3D              rwglGetGenlockSourceI3D\n#define wglIsEnabledGenlockI3D              rwglIsEnabledGenlockI3D\n#define wglQueryGenlockMaxSourceDelayI3D    rwglQueryGenlockMaxSourceDelayI3D\n#endif\n\n#ifndef REGAL_NO_DECLARATION_WGL_I3D_GENLOCK\nREGAL_DECL BOOL REGAL_CALL wglDisableGenlockI3D(HDC hDC);\nREGAL_DECL BOOL REGAL_CALL wglEnableGenlockI3D(HDC hDC);\nREGAL_DECL BOOL REGAL_CALL wglGenlockSampleRateI3D(HDC hDC, UINT uRate);\nREGAL_DECL BOOL REGAL_CALL wglGenlockSourceDelayI3D(HDC hDC, UINT uDelay);\nREGAL_DECL BOOL REGAL_CALL wglGenlockSourceEdgeI3D(HDC hDC, UINT uEdge);\nREGAL_DECL BOOL REGAL_CALL wglGenlockSourceI3D(HDC hDC, UINT uSource);\nREGAL_DECL BOOL REGAL_CALL wglGetGenlockSampleRateI3D(HDC hDC, UINT *uRate);\nREGAL_DECL BOOL REGAL_CALL wglGetGenlockSourceDelayI3D(HDC hDC, UINT *uDelay);\nREGAL_DECL BOOL REGAL_CALL wglGetGenlockSourceEdgeI3D(HDC hDC, UINT *uEdge);\nREGAL_DECL BOOL REGAL_CALL wglGetGenlockSourceI3D(HDC hDC, UINT *uSource);\nREGAL_DECL BOOL REGAL_CALL wglIsEnabledGenlockI3D(HDC hDC, BOOL *pFlag);\nREGAL_DECL BOOL REGAL_CALL wglQueryGenlockMaxSourceDelayI3D(HDC hDC, UINT *uMaxLineDelay, UINT *uMaxPixelDelay);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_WGL_I3D_GENLOCK\nREGAL_DECL BOOL REGAL_CALL plugin_wglDisableGenlockI3D(HDC hDC);\nREGAL_DECL BOOL REGAL_CALL plugin_wglEnableGenlockI3D(HDC hDC);\nREGAL_DECL BOOL REGAL_CALL plugin_wglGenlockSampleRateI3D(HDC hDC, UINT uRate);\nREGAL_DECL BOOL REGAL_CALL plugin_wglGenlockSourceDelayI3D(HDC hDC, UINT uDelay);\nREGAL_DECL BOOL REGAL_CALL plugin_wglGenlockSourceEdgeI3D(HDC hDC, UINT uEdge);\nREGAL_DECL BOOL REGAL_CALL plugin_wglGenlockSourceI3D(HDC hDC, UINT uSource);\nREGAL_DECL BOOL REGAL_CALL plugin_wglGetGenlockSampleRateI3D(HDC hDC, UINT *uRate);\nREGAL_DECL BOOL REGAL_CALL plugin_wglGetGenlockSourceDelayI3D(HDC hDC, UINT *uDelay);\nREGAL_DECL BOOL REGAL_CALL plugin_wglGetGenlockSourceEdgeI3D(HDC hDC, UINT *uEdge);\nREGAL_DECL BOOL REGAL_CALL plugin_wglGetGenlockSourceI3D(HDC hDC, UINT *uSource);\nREGAL_DECL BOOL REGAL_CALL plugin_wglIsEnabledGenlockI3D(HDC hDC, BOOL *pFlag);\nREGAL_DECL BOOL REGAL_CALL plugin_wglQueryGenlockMaxSourceDelayI3D(HDC hDC, UINT *uMaxLineDelay, UINT *uMaxPixelDelay);\n#endif\n\n/**\n ** WGL_I3D_image_buffer\n **/\n\n#if (defined(WGL_I3D_IMAGE_BUFFER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_I3D_IMAGE_BUFFER)) && !defined(REGAL_NO_ENUM_WGL_I3D_IMAGE_BUFFER)\n#define REGAL_NO_ENUM_WGL_I3D_IMAGE_BUFFER\n#endif\n\n#if (defined(WGL_I3D_IMAGE_BUFFER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_I3D_IMAGE_BUFFER)) && !defined(REGAL_NO_TYPEDEF_WGL_I3D_IMAGE_BUFFER)\n#define REGAL_NO_TYPEDEF_WGL_I3D_IMAGE_BUFFER\n#endif\n\n#if (defined(WGL_I3D_IMAGE_BUFFER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_I3D_IMAGE_BUFFER)) && !defined(REGAL_NO_NAMESPACE_WGL_I3D_IMAGE_BUFFER)\n#define REGAL_NO_NAMESPACE_WGL_I3D_IMAGE_BUFFER\n#endif\n\n#if (defined(WGL_I3D_IMAGE_BUFFER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_I3D_IMAGE_BUFFER)) && !defined(REGAL_NO_PLUGIN_WGL_I3D_IMAGE_BUFFER)\n#define REGAL_NO_PLUGIN_WGL_I3D_IMAGE_BUFFER\n#endif\n\n#if (defined(WGL_I3D_IMAGE_BUFFER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_I3D_IMAGE_BUFFER)) && !defined(REGAL_NO_DECLARATION_WGL_I3D_IMAGE_BUFFER)\n#define REGAL_NO_DECLARATION_WGL_I3D_IMAGE_BUFFER\n#endif\n\n#ifndef WGL_I3D_image_buffer\n#define WGL_I3D_image_buffer 1\n#endif\n\n#ifndef REGAL_NO_ENUM_WGL_I3D_IMAGE_BUFFER\n#define WGL_IMAGE_BUFFER_MIN_ACCESS_I3D 0x1\n#define WGL_IMAGE_BUFFER_LOCK_I3D       0x2\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_WGL_I3D_IMAGE_BUFFER\ntypedef BOOL (REGAL_CALL *PFNWGLASSOCIATEIMAGEBUFFEREVENTSI3DPROC)(HDC hDC, const HANDLE *pEvent, const LPVOID *pAddress, const DWORD *pSize, UINT count);\ntypedef BOOL (REGAL_CALL *PFNWGLDESTROYIMAGEBUFFERI3DPROC)(HDC hDC, LPVOID pAddress);\ntypedef BOOL (REGAL_CALL *PFNWGLRELEASEIMAGEBUFFEREVENTSI3DPROC)(HDC hDC, const LPVOID *pAddress, UINT count);\ntypedef LPVOID (REGAL_CALL *PFNWGLCREATEIMAGEBUFFERI3DPROC)(HDC hDC, DWORD dwSize, UINT uFlags);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_WGL_I3D_IMAGE_BUFFER\n#define wglAssociateImageBufferEventsI3D    rwglAssociateImageBufferEventsI3D\n#define wglCreateImageBufferI3D             rwglCreateImageBufferI3D\n#define wglDestroyImageBufferI3D            rwglDestroyImageBufferI3D\n#define wglReleaseImageBufferEventsI3D      rwglReleaseImageBufferEventsI3D\n#endif\n\n#ifndef REGAL_NO_DECLARATION_WGL_I3D_IMAGE_BUFFER\nREGAL_DECL BOOL REGAL_CALL wglAssociateImageBufferEventsI3D(HDC hDC, const HANDLE *pEvent, const LPVOID *pAddress, const DWORD *pSize, UINT count);\nREGAL_DECL BOOL REGAL_CALL wglDestroyImageBufferI3D(HDC hDC, LPVOID pAddress);\nREGAL_DECL BOOL REGAL_CALL wglReleaseImageBufferEventsI3D(HDC hDC, const LPVOID *pAddress, UINT count);\nREGAL_DECL LPVOID REGAL_CALL wglCreateImageBufferI3D(HDC hDC, DWORD dwSize, UINT uFlags);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_WGL_I3D_IMAGE_BUFFER\nREGAL_DECL BOOL REGAL_CALL plugin_wglAssociateImageBufferEventsI3D(HDC hDC, const HANDLE *pEvent, const LPVOID *pAddress, const DWORD *pSize, UINT count);\nREGAL_DECL BOOL REGAL_CALL plugin_wglDestroyImageBufferI3D(HDC hDC, LPVOID pAddress);\nREGAL_DECL BOOL REGAL_CALL plugin_wglReleaseImageBufferEventsI3D(HDC hDC, const LPVOID *pAddress, UINT count);\nREGAL_DECL LPVOID REGAL_CALL plugin_wglCreateImageBufferI3D(HDC hDC, DWORD dwSize, UINT uFlags);\n#endif\n\n/**\n ** WGL_I3D_swap_frame_lock\n **/\n\n#if (defined(WGL_I3D_SWAP_FRAME_LOCK) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_I3D_SWAP_FRAME_LOCK)) && !defined(REGAL_NO_ENUM_WGL_I3D_SWAP_FRAME_LOCK)\n#define REGAL_NO_ENUM_WGL_I3D_SWAP_FRAME_LOCK\n#endif\n\n#if (defined(WGL_I3D_SWAP_FRAME_LOCK) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_I3D_SWAP_FRAME_LOCK)) && !defined(REGAL_NO_TYPEDEF_WGL_I3D_SWAP_FRAME_LOCK)\n#define REGAL_NO_TYPEDEF_WGL_I3D_SWAP_FRAME_LOCK\n#endif\n\n#if (defined(WGL_I3D_SWAP_FRAME_LOCK) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_I3D_SWAP_FRAME_LOCK)) && !defined(REGAL_NO_NAMESPACE_WGL_I3D_SWAP_FRAME_LOCK)\n#define REGAL_NO_NAMESPACE_WGL_I3D_SWAP_FRAME_LOCK\n#endif\n\n#if (defined(WGL_I3D_SWAP_FRAME_LOCK) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_I3D_SWAP_FRAME_LOCK)) && !defined(REGAL_NO_PLUGIN_WGL_I3D_SWAP_FRAME_LOCK)\n#define REGAL_NO_PLUGIN_WGL_I3D_SWAP_FRAME_LOCK\n#endif\n\n#if (defined(WGL_I3D_SWAP_FRAME_LOCK) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_I3D_SWAP_FRAME_LOCK)) && !defined(REGAL_NO_DECLARATION_WGL_I3D_SWAP_FRAME_LOCK)\n#define REGAL_NO_DECLARATION_WGL_I3D_SWAP_FRAME_LOCK\n#endif\n\n#ifndef WGL_I3D_swap_frame_lock\n#define WGL_I3D_swap_frame_lock 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_WGL_I3D_SWAP_FRAME_LOCK\ntypedef BOOL (REGAL_CALL *PFNWGLDISABLEFRAMELOCKI3DPROC)(void);\ntypedef BOOL (REGAL_CALL *PFNWGLENABLEFRAMELOCKI3DPROC)(void);\ntypedef BOOL (REGAL_CALL *PFNWGLISENABLEDFRAMELOCKI3DPROC)(BOOL *pFlag);\ntypedef BOOL (REGAL_CALL *PFNWGLQUERYFRAMELOCKMASTERI3DPROC)(BOOL *pFlag);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_WGL_I3D_SWAP_FRAME_LOCK\n#define wglDisableFrameLockI3D              rwglDisableFrameLockI3D\n#define wglEnableFrameLockI3D               rwglEnableFrameLockI3D\n#define wglIsEnabledFrameLockI3D            rwglIsEnabledFrameLockI3D\n#define wglQueryFrameLockMasterI3D          rwglQueryFrameLockMasterI3D\n#endif\n\n#ifndef REGAL_NO_DECLARATION_WGL_I3D_SWAP_FRAME_LOCK\nREGAL_DECL BOOL REGAL_CALL wglDisableFrameLockI3D(void);\nREGAL_DECL BOOL REGAL_CALL wglEnableFrameLockI3D(void);\nREGAL_DECL BOOL REGAL_CALL wglIsEnabledFrameLockI3D(BOOL *pFlag);\nREGAL_DECL BOOL REGAL_CALL wglQueryFrameLockMasterI3D(BOOL *pFlag);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_WGL_I3D_SWAP_FRAME_LOCK\nREGAL_DECL BOOL REGAL_CALL plugin_wglDisableFrameLockI3D(void);\nREGAL_DECL BOOL REGAL_CALL plugin_wglEnableFrameLockI3D(void);\nREGAL_DECL BOOL REGAL_CALL plugin_wglIsEnabledFrameLockI3D(BOOL *pFlag);\nREGAL_DECL BOOL REGAL_CALL plugin_wglQueryFrameLockMasterI3D(BOOL *pFlag);\n#endif\n\n/**\n ** WGL_I3D_swap_frame_usage\n **/\n\n#if (defined(WGL_I3D_SWAP_FRAME_USAGE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_I3D_SWAP_FRAME_USAGE)) && !defined(REGAL_NO_ENUM_WGL_I3D_SWAP_FRAME_USAGE)\n#define REGAL_NO_ENUM_WGL_I3D_SWAP_FRAME_USAGE\n#endif\n\n#if (defined(WGL_I3D_SWAP_FRAME_USAGE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_I3D_SWAP_FRAME_USAGE)) && !defined(REGAL_NO_TYPEDEF_WGL_I3D_SWAP_FRAME_USAGE)\n#define REGAL_NO_TYPEDEF_WGL_I3D_SWAP_FRAME_USAGE\n#endif\n\n#if (defined(WGL_I3D_SWAP_FRAME_USAGE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_I3D_SWAP_FRAME_USAGE)) && !defined(REGAL_NO_NAMESPACE_WGL_I3D_SWAP_FRAME_USAGE)\n#define REGAL_NO_NAMESPACE_WGL_I3D_SWAP_FRAME_USAGE\n#endif\n\n#if (defined(WGL_I3D_SWAP_FRAME_USAGE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_I3D_SWAP_FRAME_USAGE)) && !defined(REGAL_NO_PLUGIN_WGL_I3D_SWAP_FRAME_USAGE)\n#define REGAL_NO_PLUGIN_WGL_I3D_SWAP_FRAME_USAGE\n#endif\n\n#if (defined(WGL_I3D_SWAP_FRAME_USAGE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_I3D_SWAP_FRAME_USAGE)) && !defined(REGAL_NO_DECLARATION_WGL_I3D_SWAP_FRAME_USAGE)\n#define REGAL_NO_DECLARATION_WGL_I3D_SWAP_FRAME_USAGE\n#endif\n\n#ifndef WGL_I3D_swap_frame_usage\n#define WGL_I3D_swap_frame_usage 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_WGL_I3D_SWAP_FRAME_USAGE\ntypedef BOOL (REGAL_CALL *PFNWGLBEGINFRAMETRACKINGI3DPROC)(void);\ntypedef BOOL (REGAL_CALL *PFNWGLENDFRAMETRACKINGI3DPROC)(void);\ntypedef BOOL (REGAL_CALL *PFNWGLGETFRAMEUSAGEI3DPROC)(float *pUsage);\ntypedef BOOL (REGAL_CALL *PFNWGLQUERYFRAMETRACKINGI3DPROC)(DWORD *pFrameCount, DWORD *pMissedFrames, float *pLastMissedUsage);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_WGL_I3D_SWAP_FRAME_USAGE\n#define wglBeginFrameTrackingI3D            rwglBeginFrameTrackingI3D\n#define wglEndFrameTrackingI3D              rwglEndFrameTrackingI3D\n#define wglGetFrameUsageI3D                 rwglGetFrameUsageI3D\n#define wglQueryFrameTrackingI3D            rwglQueryFrameTrackingI3D\n#endif\n\n#ifndef REGAL_NO_DECLARATION_WGL_I3D_SWAP_FRAME_USAGE\nREGAL_DECL BOOL REGAL_CALL wglBeginFrameTrackingI3D(void);\nREGAL_DECL BOOL REGAL_CALL wglEndFrameTrackingI3D(void);\nREGAL_DECL BOOL REGAL_CALL wglGetFrameUsageI3D(float *pUsage);\nREGAL_DECL BOOL REGAL_CALL wglQueryFrameTrackingI3D(DWORD *pFrameCount, DWORD *pMissedFrames, float *pLastMissedUsage);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_WGL_I3D_SWAP_FRAME_USAGE\nREGAL_DECL BOOL REGAL_CALL plugin_wglBeginFrameTrackingI3D(void);\nREGAL_DECL BOOL REGAL_CALL plugin_wglEndFrameTrackingI3D(void);\nREGAL_DECL BOOL REGAL_CALL plugin_wglGetFrameUsageI3D(float *pUsage);\nREGAL_DECL BOOL REGAL_CALL plugin_wglQueryFrameTrackingI3D(DWORD *pFrameCount, DWORD *pMissedFrames, float *pLastMissedUsage);\n#endif\n\n/**\n ** WGL_NV_DX_interop\n **/\n\n#if (defined(WGL_NV_DX_INTEROP) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_NV_DX_INTEROP)) && !defined(REGAL_NO_ENUM_WGL_NV_DX_INTEROP)\n#define REGAL_NO_ENUM_WGL_NV_DX_INTEROP\n#endif\n\n#if (defined(WGL_NV_DX_INTEROP) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_NV_DX_INTEROP)) && !defined(REGAL_NO_TYPEDEF_WGL_NV_DX_INTEROP)\n#define REGAL_NO_TYPEDEF_WGL_NV_DX_INTEROP\n#endif\n\n#if (defined(WGL_NV_DX_INTEROP) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_NV_DX_INTEROP)) && !defined(REGAL_NO_NAMESPACE_WGL_NV_DX_INTEROP)\n#define REGAL_NO_NAMESPACE_WGL_NV_DX_INTEROP\n#endif\n\n#if (defined(WGL_NV_DX_INTEROP) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_NV_DX_INTEROP)) && !defined(REGAL_NO_PLUGIN_WGL_NV_DX_INTEROP)\n#define REGAL_NO_PLUGIN_WGL_NV_DX_INTEROP\n#endif\n\n#if (defined(WGL_NV_DX_INTEROP) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_NV_DX_INTEROP)) && !defined(REGAL_NO_DECLARATION_WGL_NV_DX_INTEROP)\n#define REGAL_NO_DECLARATION_WGL_NV_DX_INTEROP\n#endif\n\n#ifndef WGL_NV_DX_interop\n#define WGL_NV_DX_interop 1\n#endif\n\n#ifndef REGAL_NO_ENUM_WGL_NV_DX_INTEROP\n#define WGL_ACCESS_READ_ONLY_NV     0x0\n#define WGL_ACCESS_READ_WRITE_NV    0x1\n#define WGL_ACCESS_WRITE_DISCARD_NV 0x2\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_WGL_NV_DX_INTEROP\ntypedef BOOL (REGAL_CALL *PFNWGLDXCLOSEDEVICENVPROC)(HANDLE hDevice);\ntypedef BOOL (REGAL_CALL *PFNWGLDXLOCKOBJECTSNVPROC)(HANDLE hDevice, GLint count, HANDLE *hObjects);\ntypedef BOOL (REGAL_CALL *PFNWGLDXOBJECTACCESSNVPROC)(HANDLE hObject, GLenum access);\ntypedef BOOL (REGAL_CALL *PFNWGLDXSETRESOURCESHAREHANDLENVPROC)(GLvoid *dxObject, HANDLE shareHandle);\ntypedef BOOL (REGAL_CALL *PFNWGLDXUNLOCKOBJECTSNVPROC)(HANDLE hDevice, GLint count, HANDLE *hObjects);\ntypedef BOOL (REGAL_CALL *PFNWGLDXUNREGISTEROBJECTNVPROC)(HANDLE hDevice, HANDLE hObject);\ntypedef HANDLE (REGAL_CALL *PFNWGLDXOPENDEVICENVPROC)(GLvoid *dxDevice);\ntypedef HANDLE (REGAL_CALL *PFNWGLDXREGISTEROBJECTNVPROC)(HANDLE hDevice, GLvoid *dxObject, GLuint name, GLenum type, GLenum access);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_WGL_NV_DX_INTEROP\n#define wglDXCloseDeviceNV                  rwglDXCloseDeviceNV\n#define wglDXLockObjectsNV                  rwglDXLockObjectsNV\n#define wglDXObjectAccessNV                 rwglDXObjectAccessNV\n#define wglDXOpenDeviceNV                   rwglDXOpenDeviceNV\n#define wglDXRegisterObjectNV               rwglDXRegisterObjectNV\n#define wglDXSetResourceShareHandleNV       rwglDXSetResourceShareHandleNV\n#define wglDXUnlockObjectsNV                rwglDXUnlockObjectsNV\n#define wglDXUnregisterObjectNV             rwglDXUnregisterObjectNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_WGL_NV_DX_INTEROP\nREGAL_DECL BOOL REGAL_CALL wglDXCloseDeviceNV(HANDLE hDevice);\nREGAL_DECL BOOL REGAL_CALL wglDXLockObjectsNV(HANDLE hDevice, GLint count, HANDLE *hObjects);\nREGAL_DECL BOOL REGAL_CALL wglDXObjectAccessNV(HANDLE hObject, GLenum access);\nREGAL_DECL BOOL REGAL_CALL wglDXSetResourceShareHandleNV(GLvoid *dxObject, HANDLE shareHandle);\nREGAL_DECL BOOL REGAL_CALL wglDXUnlockObjectsNV(HANDLE hDevice, GLint count, HANDLE *hObjects);\nREGAL_DECL BOOL REGAL_CALL wglDXUnregisterObjectNV(HANDLE hDevice, HANDLE hObject);\nREGAL_DECL HANDLE REGAL_CALL wglDXOpenDeviceNV(GLvoid *dxDevice);\nREGAL_DECL HANDLE REGAL_CALL wglDXRegisterObjectNV(HANDLE hDevice, GLvoid *dxObject, GLuint name, GLenum type, GLenum access);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_WGL_NV_DX_INTEROP\nREGAL_DECL BOOL REGAL_CALL plugin_wglDXCloseDeviceNV(HANDLE hDevice);\nREGAL_DECL BOOL REGAL_CALL plugin_wglDXLockObjectsNV(HANDLE hDevice, GLint count, HANDLE *hObjects);\nREGAL_DECL BOOL REGAL_CALL plugin_wglDXObjectAccessNV(HANDLE hObject, GLenum access);\nREGAL_DECL BOOL REGAL_CALL plugin_wglDXSetResourceShareHandleNV(GLvoid *dxObject, HANDLE shareHandle);\nREGAL_DECL BOOL REGAL_CALL plugin_wglDXUnlockObjectsNV(HANDLE hDevice, GLint count, HANDLE *hObjects);\nREGAL_DECL BOOL REGAL_CALL plugin_wglDXUnregisterObjectNV(HANDLE hDevice, HANDLE hObject);\nREGAL_DECL HANDLE REGAL_CALL plugin_wglDXOpenDeviceNV(GLvoid *dxDevice);\nREGAL_DECL HANDLE REGAL_CALL plugin_wglDXRegisterObjectNV(HANDLE hDevice, GLvoid *dxObject, GLuint name, GLenum type, GLenum access);\n#endif\n\n/**\n ** WGL_NV_copy_image\n **/\n\n#if (defined(WGL_NV_COPY_IMAGE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_NV_COPY_IMAGE)) && !defined(REGAL_NO_ENUM_WGL_NV_COPY_IMAGE)\n#define REGAL_NO_ENUM_WGL_NV_COPY_IMAGE\n#endif\n\n#if (defined(WGL_NV_COPY_IMAGE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_NV_COPY_IMAGE)) && !defined(REGAL_NO_TYPEDEF_WGL_NV_COPY_IMAGE)\n#define REGAL_NO_TYPEDEF_WGL_NV_COPY_IMAGE\n#endif\n\n#if (defined(WGL_NV_COPY_IMAGE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_NV_COPY_IMAGE)) && !defined(REGAL_NO_NAMESPACE_WGL_NV_COPY_IMAGE)\n#define REGAL_NO_NAMESPACE_WGL_NV_COPY_IMAGE\n#endif\n\n#if (defined(WGL_NV_COPY_IMAGE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_NV_COPY_IMAGE)) && !defined(REGAL_NO_PLUGIN_WGL_NV_COPY_IMAGE)\n#define REGAL_NO_PLUGIN_WGL_NV_COPY_IMAGE\n#endif\n\n#if (defined(WGL_NV_COPY_IMAGE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_NV_COPY_IMAGE)) && !defined(REGAL_NO_DECLARATION_WGL_NV_COPY_IMAGE)\n#define REGAL_NO_DECLARATION_WGL_NV_COPY_IMAGE\n#endif\n\n#ifndef WGL_NV_copy_image\n#define WGL_NV_copy_image 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_WGL_NV_COPY_IMAGE\ntypedef BOOL (REGAL_CALL *PFNWGLCOPYIMAGESUBDATANVPROC)(HGLRC hSrcRC, GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, HGLRC hDstRC, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_WGL_NV_COPY_IMAGE\n#define wglCopyImageSubDataNV               rwglCopyImageSubDataNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_WGL_NV_COPY_IMAGE\nREGAL_DECL BOOL REGAL_CALL wglCopyImageSubDataNV(HGLRC hSrcRC, GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, HGLRC hDstRC, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_WGL_NV_COPY_IMAGE\nREGAL_DECL BOOL REGAL_CALL plugin_wglCopyImageSubDataNV(HGLRC hSrcRC, GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, HGLRC hDstRC, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth);\n#endif\n\n/**\n ** WGL_NV_float_buffer\n **/\n\n#if (defined(WGL_NV_FLOAT_BUFFER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_NV_FLOAT_BUFFER)) && !defined(REGAL_NO_ENUM_WGL_NV_FLOAT_BUFFER)\n#define REGAL_NO_ENUM_WGL_NV_FLOAT_BUFFER\n#endif\n\n#if (defined(WGL_NV_FLOAT_BUFFER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_NV_FLOAT_BUFFER)) && !defined(REGAL_NO_TYPEDEF_WGL_NV_FLOAT_BUFFER)\n#define REGAL_NO_TYPEDEF_WGL_NV_FLOAT_BUFFER\n#endif\n\n#if (defined(WGL_NV_FLOAT_BUFFER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_NV_FLOAT_BUFFER)) && !defined(REGAL_NO_NAMESPACE_WGL_NV_FLOAT_BUFFER)\n#define REGAL_NO_NAMESPACE_WGL_NV_FLOAT_BUFFER\n#endif\n\n#if (defined(WGL_NV_FLOAT_BUFFER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_NV_FLOAT_BUFFER)) && !defined(REGAL_NO_PLUGIN_WGL_NV_FLOAT_BUFFER)\n#define REGAL_NO_PLUGIN_WGL_NV_FLOAT_BUFFER\n#endif\n\n#if (defined(WGL_NV_FLOAT_BUFFER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_NV_FLOAT_BUFFER)) && !defined(REGAL_NO_DECLARATION_WGL_NV_FLOAT_BUFFER)\n#define REGAL_NO_DECLARATION_WGL_NV_FLOAT_BUFFER\n#endif\n\n#ifndef WGL_NV_float_buffer\n#define WGL_NV_float_buffer 1\n#endif\n\n#ifndef REGAL_NO_ENUM_WGL_NV_FLOAT_BUFFER\n#define WGL_FLOAT_COMPONENTS_NV                     0x20b0     /* 8368 */\n#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_R_NV    0x20b1     /* 8369 */\n#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RG_NV   0x20b2     /* 8370 */\n#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGB_NV  0x20b3     /* 8371 */\n#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGBA_NV 0x20b4     /* 8372 */\n#define WGL_TEXTURE_FLOAT_R_NV                      0x20b5     /* 8373 */\n#define WGL_TEXTURE_FLOAT_RG_NV                     0x20b6     /* 8374 */\n#define WGL_TEXTURE_FLOAT_RGB_NV                    0x20b7     /* 8375 */\n#define WGL_TEXTURE_FLOAT_RGBA_NV                   0x20b8     /* 8376 */\n#endif\n\n/**\n ** WGL_NV_gpu_affinity\n **/\n\n#if (defined(WGL_NV_GPU_AFFINITY) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_NV_GPU_AFFINITY)) && !defined(REGAL_NO_ENUM_WGL_NV_GPU_AFFINITY)\n#define REGAL_NO_ENUM_WGL_NV_GPU_AFFINITY\n#endif\n\n#if (defined(WGL_NV_GPU_AFFINITY) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_NV_GPU_AFFINITY)) && !defined(REGAL_NO_TYPEDEF_WGL_NV_GPU_AFFINITY)\n#define REGAL_NO_TYPEDEF_WGL_NV_GPU_AFFINITY\n#endif\n\n#if (defined(WGL_NV_GPU_AFFINITY) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_NV_GPU_AFFINITY)) && !defined(REGAL_NO_NAMESPACE_WGL_NV_GPU_AFFINITY)\n#define REGAL_NO_NAMESPACE_WGL_NV_GPU_AFFINITY\n#endif\n\n#if (defined(WGL_NV_GPU_AFFINITY) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_NV_GPU_AFFINITY)) && !defined(REGAL_NO_PLUGIN_WGL_NV_GPU_AFFINITY)\n#define REGAL_NO_PLUGIN_WGL_NV_GPU_AFFINITY\n#endif\n\n#if (defined(WGL_NV_GPU_AFFINITY) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_NV_GPU_AFFINITY)) && !defined(REGAL_NO_DECLARATION_WGL_NV_GPU_AFFINITY)\n#define REGAL_NO_DECLARATION_WGL_NV_GPU_AFFINITY\n#endif\n\n#ifndef WGL_NV_gpu_affinity\n#define WGL_NV_gpu_affinity 1\n#endif\n\n#ifndef REGAL_NO_ENUM_WGL_NV_GPU_AFFINITY\n#define WGL_ERROR_INCOMPATIBLE_AFFINITY_MASKS_NV 0x20d0     /* 8400 */\n#define WGL_ERROR_MISSING_AFFINITY_MASK_NV       0x20d1     /* 8401 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_WGL_NV_GPU_AFFINITY\ntypedef BOOL (REGAL_CALL *PFNWGLDELETEDCNVPROC)(HDC hAffinityDC);\ntypedef BOOL (REGAL_CALL *PFNWGLENUMGPUDEVICESNVPROC)(HGPUNV hGpu, UINT iDeviceIndex, PGPU_DEVICE lpGpuDevice);\ntypedef BOOL (REGAL_CALL *PFNWGLENUMGPUSFROMAFFINITYDCNVPROC)(HDC hAffinityDC, UINT iGpuIndex, HGPUNV *hGpu);\ntypedef BOOL (REGAL_CALL *PFNWGLENUMGPUSNVPROC)(UINT iGpuIndex, HGPUNV *phGpu);\ntypedef HDC (REGAL_CALL *PFNWGLCREATEAFFINITYDCNVPROC)(const HGPUNV *phGpuList);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_WGL_NV_GPU_AFFINITY\n#define wglCreateAffinityDCNV               rwglCreateAffinityDCNV\n#define wglDeleteDCNV                       rwglDeleteDCNV\n#define wglEnumGpuDevicesNV                 rwglEnumGpuDevicesNV\n#define wglEnumGpusFromAffinityDCNV         rwglEnumGpusFromAffinityDCNV\n#define wglEnumGpusNV                       rwglEnumGpusNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_WGL_NV_GPU_AFFINITY\nREGAL_DECL BOOL REGAL_CALL wglDeleteDCNV(HDC hAffinityDC);\nREGAL_DECL BOOL REGAL_CALL wglEnumGpuDevicesNV(HGPUNV hGpu, UINT iDeviceIndex, PGPU_DEVICE lpGpuDevice);\nREGAL_DECL BOOL REGAL_CALL wglEnumGpusFromAffinityDCNV(HDC hAffinityDC, UINT iGpuIndex, HGPUNV *hGpu);\nREGAL_DECL BOOL REGAL_CALL wglEnumGpusNV(UINT iGpuIndex, HGPUNV *phGpu);\nREGAL_DECL HDC REGAL_CALL wglCreateAffinityDCNV(const HGPUNV *phGpuList);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_WGL_NV_GPU_AFFINITY\nREGAL_DECL BOOL REGAL_CALL plugin_wglDeleteDCNV(HDC hAffinityDC);\nREGAL_DECL BOOL REGAL_CALL plugin_wglEnumGpuDevicesNV(HGPUNV hGpu, UINT iDeviceIndex, PGPU_DEVICE lpGpuDevice);\nREGAL_DECL BOOL REGAL_CALL plugin_wglEnumGpusFromAffinityDCNV(HDC hAffinityDC, UINT iGpuIndex, HGPUNV *hGpu);\nREGAL_DECL BOOL REGAL_CALL plugin_wglEnumGpusNV(UINT iGpuIndex, HGPUNV *phGpu);\nREGAL_DECL HDC REGAL_CALL plugin_wglCreateAffinityDCNV(const HGPUNV *phGpuList);\n#endif\n\n/**\n ** WGL_NV_multisample_coverage\n **/\n\n#if (defined(WGL_NV_MULTISAMPLE_COVERAGE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_NV_MULTISAMPLE_COVERAGE)) && !defined(REGAL_NO_ENUM_WGL_NV_MULTISAMPLE_COVERAGE)\n#define REGAL_NO_ENUM_WGL_NV_MULTISAMPLE_COVERAGE\n#endif\n\n#if (defined(WGL_NV_MULTISAMPLE_COVERAGE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_NV_MULTISAMPLE_COVERAGE)) && !defined(REGAL_NO_TYPEDEF_WGL_NV_MULTISAMPLE_COVERAGE)\n#define REGAL_NO_TYPEDEF_WGL_NV_MULTISAMPLE_COVERAGE\n#endif\n\n#if (defined(WGL_NV_MULTISAMPLE_COVERAGE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_NV_MULTISAMPLE_COVERAGE)) && !defined(REGAL_NO_NAMESPACE_WGL_NV_MULTISAMPLE_COVERAGE)\n#define REGAL_NO_NAMESPACE_WGL_NV_MULTISAMPLE_COVERAGE\n#endif\n\n#if (defined(WGL_NV_MULTISAMPLE_COVERAGE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_NV_MULTISAMPLE_COVERAGE)) && !defined(REGAL_NO_PLUGIN_WGL_NV_MULTISAMPLE_COVERAGE)\n#define REGAL_NO_PLUGIN_WGL_NV_MULTISAMPLE_COVERAGE\n#endif\n\n#if (defined(WGL_NV_MULTISAMPLE_COVERAGE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_NV_MULTISAMPLE_COVERAGE)) && !defined(REGAL_NO_DECLARATION_WGL_NV_MULTISAMPLE_COVERAGE)\n#define REGAL_NO_DECLARATION_WGL_NV_MULTISAMPLE_COVERAGE\n#endif\n\n#ifndef WGL_NV_multisample_coverage\n#define WGL_NV_multisample_coverage 1\n#endif\n\n#ifndef REGAL_NO_ENUM_WGL_NV_MULTISAMPLE_COVERAGE\n#define WGL_COVERAGE_SAMPLES_NV 0x2042     /* 8258 */\n#define WGL_COLOR_SAMPLES_NV    0x20b9     /* 8377 */\n#endif\n\n/**\n ** WGL_NV_present_video\n **/\n\n#if (defined(WGL_NV_PRESENT_VIDEO) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_NV_PRESENT_VIDEO)) && !defined(REGAL_NO_ENUM_WGL_NV_PRESENT_VIDEO)\n#define REGAL_NO_ENUM_WGL_NV_PRESENT_VIDEO\n#endif\n\n#if (defined(WGL_NV_PRESENT_VIDEO) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_NV_PRESENT_VIDEO)) && !defined(REGAL_NO_TYPEDEF_WGL_NV_PRESENT_VIDEO)\n#define REGAL_NO_TYPEDEF_WGL_NV_PRESENT_VIDEO\n#endif\n\n#if (defined(WGL_NV_PRESENT_VIDEO) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_NV_PRESENT_VIDEO)) && !defined(REGAL_NO_NAMESPACE_WGL_NV_PRESENT_VIDEO)\n#define REGAL_NO_NAMESPACE_WGL_NV_PRESENT_VIDEO\n#endif\n\n#if (defined(WGL_NV_PRESENT_VIDEO) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_NV_PRESENT_VIDEO)) && !defined(REGAL_NO_PLUGIN_WGL_NV_PRESENT_VIDEO)\n#define REGAL_NO_PLUGIN_WGL_NV_PRESENT_VIDEO\n#endif\n\n#if (defined(WGL_NV_PRESENT_VIDEO) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_NV_PRESENT_VIDEO)) && !defined(REGAL_NO_DECLARATION_WGL_NV_PRESENT_VIDEO)\n#define REGAL_NO_DECLARATION_WGL_NV_PRESENT_VIDEO\n#endif\n\n#ifndef WGL_NV_present_video\n#define WGL_NV_present_video 1\n#endif\n\n#ifndef REGAL_NO_ENUM_WGL_NV_PRESENT_VIDEO\n#define WGL_NUM_VIDEO_SLOTS_NV 0x20f0 /* 8432 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_WGL_NV_PRESENT_VIDEO\ntypedef BOOL (REGAL_CALL *PFNWGLBINDVIDEODEVICENVPROC)(HDC hDC, unsigned int uVideoSlot, HVIDEOOUTPUTDEVICENV hVideoDevice, const int *piAttribList);\ntypedef BOOL (REGAL_CALL *PFNWGLQUERYCURRENTCONTEXTNVPROC)(int iAttribute, int *piValue);\ntypedef int (REGAL_CALL *PFNWGLENUMERATEVIDEODEVICESNVPROC)(HDC hDC, HVIDEOOUTPUTDEVICENV *phDeviceList);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_WGL_NV_PRESENT_VIDEO\n#define wglBindVideoDeviceNV                rwglBindVideoDeviceNV\n#define wglEnumerateVideoDevicesNV          rwglEnumerateVideoDevicesNV\n#define wglQueryCurrentContextNV            rwglQueryCurrentContextNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_WGL_NV_PRESENT_VIDEO\nREGAL_DECL BOOL REGAL_CALL wglBindVideoDeviceNV(HDC hDC, unsigned int uVideoSlot, HVIDEOOUTPUTDEVICENV hVideoDevice, const int *piAttribList);\nREGAL_DECL BOOL REGAL_CALL wglQueryCurrentContextNV(int iAttribute, int *piValue);\nREGAL_DECL int REGAL_CALL wglEnumerateVideoDevicesNV(HDC hDC, HVIDEOOUTPUTDEVICENV *phDeviceList);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_WGL_NV_PRESENT_VIDEO\nREGAL_DECL BOOL REGAL_CALL plugin_wglBindVideoDeviceNV(HDC hDC, unsigned int uVideoSlot, HVIDEOOUTPUTDEVICENV hVideoDevice, const int *piAttribList);\nREGAL_DECL BOOL REGAL_CALL plugin_wglQueryCurrentContextNV(int iAttribute, int *piValue);\nREGAL_DECL int REGAL_CALL plugin_wglEnumerateVideoDevicesNV(HDC hDC, HVIDEOOUTPUTDEVICENV *phDeviceList);\n#endif\n\n/**\n ** WGL_NV_render_depth_texture\n **/\n\n#if (defined(WGL_NV_RENDER_DEPTH_TEXTURE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_NV_RENDER_DEPTH_TEXTURE)) && !defined(REGAL_NO_ENUM_WGL_NV_RENDER_DEPTH_TEXTURE)\n#define REGAL_NO_ENUM_WGL_NV_RENDER_DEPTH_TEXTURE\n#endif\n\n#if (defined(WGL_NV_RENDER_DEPTH_TEXTURE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_NV_RENDER_DEPTH_TEXTURE)) && !defined(REGAL_NO_TYPEDEF_WGL_NV_RENDER_DEPTH_TEXTURE)\n#define REGAL_NO_TYPEDEF_WGL_NV_RENDER_DEPTH_TEXTURE\n#endif\n\n#if (defined(WGL_NV_RENDER_DEPTH_TEXTURE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_NV_RENDER_DEPTH_TEXTURE)) && !defined(REGAL_NO_NAMESPACE_WGL_NV_RENDER_DEPTH_TEXTURE)\n#define REGAL_NO_NAMESPACE_WGL_NV_RENDER_DEPTH_TEXTURE\n#endif\n\n#if (defined(WGL_NV_RENDER_DEPTH_TEXTURE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_NV_RENDER_DEPTH_TEXTURE)) && !defined(REGAL_NO_PLUGIN_WGL_NV_RENDER_DEPTH_TEXTURE)\n#define REGAL_NO_PLUGIN_WGL_NV_RENDER_DEPTH_TEXTURE\n#endif\n\n#if (defined(WGL_NV_RENDER_DEPTH_TEXTURE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_NV_RENDER_DEPTH_TEXTURE)) && !defined(REGAL_NO_DECLARATION_WGL_NV_RENDER_DEPTH_TEXTURE)\n#define REGAL_NO_DECLARATION_WGL_NV_RENDER_DEPTH_TEXTURE\n#endif\n\n#ifndef WGL_NV_render_depth_texture\n#define WGL_NV_render_depth_texture 1\n#endif\n\n#ifndef REGAL_NO_ENUM_WGL_NV_RENDER_DEPTH_TEXTURE\n#define WGL_NO_TEXTURE_ARB                     0x2077     /* 8311 */\n#define WGL_BIND_TO_TEXTURE_DEPTH_NV           0x20a3     /* 8355 */\n#define WGL_BIND_TO_TEXTURE_RECTANGLE_DEPTH_NV 0x20a4     /* 8356 */\n#define WGL_DEPTH_TEXTURE_FORMAT_NV            0x20a5     /* 8357 */\n#define WGL_TEXTURE_DEPTH_COMPONENT_NV         0x20a6     /* 8358 */\n#define WGL_DEPTH_COMPONENT_NV                 0x20a7     /* 8359 */\n#endif\n\n/**\n ** WGL_NV_render_texture_rectangle\n **/\n\n#if (defined(WGL_NV_RENDER_TEXTURE_RECTANGLE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_NV_RENDER_TEXTURE_RECTANGLE)) && !defined(REGAL_NO_ENUM_WGL_NV_RENDER_TEXTURE_RECTANGLE)\n#define REGAL_NO_ENUM_WGL_NV_RENDER_TEXTURE_RECTANGLE\n#endif\n\n#if (defined(WGL_NV_RENDER_TEXTURE_RECTANGLE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_NV_RENDER_TEXTURE_RECTANGLE)) && !defined(REGAL_NO_TYPEDEF_WGL_NV_RENDER_TEXTURE_RECTANGLE)\n#define REGAL_NO_TYPEDEF_WGL_NV_RENDER_TEXTURE_RECTANGLE\n#endif\n\n#if (defined(WGL_NV_RENDER_TEXTURE_RECTANGLE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_NV_RENDER_TEXTURE_RECTANGLE)) && !defined(REGAL_NO_NAMESPACE_WGL_NV_RENDER_TEXTURE_RECTANGLE)\n#define REGAL_NO_NAMESPACE_WGL_NV_RENDER_TEXTURE_RECTANGLE\n#endif\n\n#if (defined(WGL_NV_RENDER_TEXTURE_RECTANGLE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_NV_RENDER_TEXTURE_RECTANGLE)) && !defined(REGAL_NO_PLUGIN_WGL_NV_RENDER_TEXTURE_RECTANGLE)\n#define REGAL_NO_PLUGIN_WGL_NV_RENDER_TEXTURE_RECTANGLE\n#endif\n\n#if (defined(WGL_NV_RENDER_TEXTURE_RECTANGLE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_NV_RENDER_TEXTURE_RECTANGLE)) && !defined(REGAL_NO_DECLARATION_WGL_NV_RENDER_TEXTURE_RECTANGLE)\n#define REGAL_NO_DECLARATION_WGL_NV_RENDER_TEXTURE_RECTANGLE\n#endif\n\n#ifndef WGL_NV_render_texture_rectangle\n#define WGL_NV_render_texture_rectangle 1\n#endif\n\n#ifndef REGAL_NO_ENUM_WGL_NV_RENDER_TEXTURE_RECTANGLE\n#define WGL_BIND_TO_TEXTURE_RECTANGLE_RGB_NV  0x20a0     /* 8352 */\n#define WGL_BIND_TO_TEXTURE_RECTANGLE_RGBA_NV 0x20a1     /* 8353 */\n#define WGL_TEXTURE_RECTANGLE_NV              0x20a2     /* 8354 */\n#endif\n\n/**\n ** WGL_NV_swap_group\n **/\n\n#if (defined(WGL_NV_SWAP_GROUP) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_NV_SWAP_GROUP)) && !defined(REGAL_NO_ENUM_WGL_NV_SWAP_GROUP)\n#define REGAL_NO_ENUM_WGL_NV_SWAP_GROUP\n#endif\n\n#if (defined(WGL_NV_SWAP_GROUP) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_NV_SWAP_GROUP)) && !defined(REGAL_NO_TYPEDEF_WGL_NV_SWAP_GROUP)\n#define REGAL_NO_TYPEDEF_WGL_NV_SWAP_GROUP\n#endif\n\n#if (defined(WGL_NV_SWAP_GROUP) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_NV_SWAP_GROUP)) && !defined(REGAL_NO_NAMESPACE_WGL_NV_SWAP_GROUP)\n#define REGAL_NO_NAMESPACE_WGL_NV_SWAP_GROUP\n#endif\n\n#if (defined(WGL_NV_SWAP_GROUP) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_NV_SWAP_GROUP)) && !defined(REGAL_NO_PLUGIN_WGL_NV_SWAP_GROUP)\n#define REGAL_NO_PLUGIN_WGL_NV_SWAP_GROUP\n#endif\n\n#if (defined(WGL_NV_SWAP_GROUP) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_NV_SWAP_GROUP)) && !defined(REGAL_NO_DECLARATION_WGL_NV_SWAP_GROUP)\n#define REGAL_NO_DECLARATION_WGL_NV_SWAP_GROUP\n#endif\n\n#ifndef WGL_NV_swap_group\n#define WGL_NV_swap_group 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_WGL_NV_SWAP_GROUP\ntypedef BOOL (REGAL_CALL *PFNWGLBINDSWAPBARRIERNVPROC)(GLuint group, GLuint barrier);\ntypedef BOOL (REGAL_CALL *PFNWGLJOINSWAPGROUPNVPROC)(HDC hDC, GLuint group);\ntypedef BOOL (REGAL_CALL *PFNWGLQUERYFRAMECOUNTNVPROC)(HDC hDC, GLuint *count);\ntypedef BOOL (REGAL_CALL *PFNWGLQUERYMAXSWAPGROUPSNVPROC)(HDC hDC, GLuint *maxGroups, GLuint *maxBarriers);\ntypedef BOOL (REGAL_CALL *PFNWGLQUERYSWAPGROUPNVPROC)(HDC hDC, GLuint *group, GLuint *barrier);\ntypedef BOOL (REGAL_CALL *PFNWGLRESETFRAMECOUNTNVPROC)(HDC hDC);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_WGL_NV_SWAP_GROUP\n#define wglBindSwapBarrierNV                rwglBindSwapBarrierNV\n#define wglJoinSwapGroupNV                  rwglJoinSwapGroupNV\n#define wglQueryFrameCountNV                rwglQueryFrameCountNV\n#define wglQueryMaxSwapGroupsNV             rwglQueryMaxSwapGroupsNV\n#define wglQuerySwapGroupNV                 rwglQuerySwapGroupNV\n#define wglResetFrameCountNV                rwglResetFrameCountNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_WGL_NV_SWAP_GROUP\nREGAL_DECL BOOL REGAL_CALL wglBindSwapBarrierNV(GLuint group, GLuint barrier);\nREGAL_DECL BOOL REGAL_CALL wglJoinSwapGroupNV(HDC hDC, GLuint group);\nREGAL_DECL BOOL REGAL_CALL wglQueryFrameCountNV(HDC hDC, GLuint *count);\nREGAL_DECL BOOL REGAL_CALL wglQueryMaxSwapGroupsNV(HDC hDC, GLuint *maxGroups, GLuint *maxBarriers);\nREGAL_DECL BOOL REGAL_CALL wglQuerySwapGroupNV(HDC hDC, GLuint *group, GLuint *barrier);\nREGAL_DECL BOOL REGAL_CALL wglResetFrameCountNV(HDC hDC);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_WGL_NV_SWAP_GROUP\nREGAL_DECL BOOL REGAL_CALL plugin_wglBindSwapBarrierNV(GLuint group, GLuint barrier);\nREGAL_DECL BOOL REGAL_CALL plugin_wglJoinSwapGroupNV(HDC hDC, GLuint group);\nREGAL_DECL BOOL REGAL_CALL plugin_wglQueryFrameCountNV(HDC hDC, GLuint *count);\nREGAL_DECL BOOL REGAL_CALL plugin_wglQueryMaxSwapGroupsNV(HDC hDC, GLuint *maxGroups, GLuint *maxBarriers);\nREGAL_DECL BOOL REGAL_CALL plugin_wglQuerySwapGroupNV(HDC hDC, GLuint *group, GLuint *barrier);\nREGAL_DECL BOOL REGAL_CALL plugin_wglResetFrameCountNV(HDC hDC);\n#endif\n\n/**\n ** WGL_NV_vertex_array_range\n **/\n\n#if (defined(WGL_NV_VERTEX_ARRAY_RANGE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_NV_VERTEX_ARRAY_RANGE)) && !defined(REGAL_NO_ENUM_WGL_NV_VERTEX_ARRAY_RANGE)\n#define REGAL_NO_ENUM_WGL_NV_VERTEX_ARRAY_RANGE\n#endif\n\n#if (defined(WGL_NV_VERTEX_ARRAY_RANGE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_NV_VERTEX_ARRAY_RANGE)) && !defined(REGAL_NO_TYPEDEF_WGL_NV_VERTEX_ARRAY_RANGE)\n#define REGAL_NO_TYPEDEF_WGL_NV_VERTEX_ARRAY_RANGE\n#endif\n\n#if (defined(WGL_NV_VERTEX_ARRAY_RANGE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_NV_VERTEX_ARRAY_RANGE)) && !defined(REGAL_NO_NAMESPACE_WGL_NV_VERTEX_ARRAY_RANGE)\n#define REGAL_NO_NAMESPACE_WGL_NV_VERTEX_ARRAY_RANGE\n#endif\n\n#if (defined(WGL_NV_VERTEX_ARRAY_RANGE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_NV_VERTEX_ARRAY_RANGE)) && !defined(REGAL_NO_PLUGIN_WGL_NV_VERTEX_ARRAY_RANGE)\n#define REGAL_NO_PLUGIN_WGL_NV_VERTEX_ARRAY_RANGE\n#endif\n\n#if (defined(WGL_NV_VERTEX_ARRAY_RANGE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_NV_VERTEX_ARRAY_RANGE)) && !defined(REGAL_NO_DECLARATION_WGL_NV_VERTEX_ARRAY_RANGE)\n#define REGAL_NO_DECLARATION_WGL_NV_VERTEX_ARRAY_RANGE\n#endif\n\n#ifndef WGL_NV_vertex_array_range\n#define WGL_NV_vertex_array_range 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_WGL_NV_VERTEX_ARRAY_RANGE\ntypedef void (REGAL_CALL *PFNWGLFREEMEMORYNVPROC)(void *pointer);\ntypedef void *(REGAL_CALL *PFNWGLALLOCATEMEMORYNVPROC)(GLsizei size, GLfloat readfreq, GLfloat writefreq, GLfloat priority);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_WGL_NV_VERTEX_ARRAY_RANGE\n#define wglAllocateMemoryNV                 rwglAllocateMemoryNV\n#define wglFreeMemoryNV                     rwglFreeMemoryNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_WGL_NV_VERTEX_ARRAY_RANGE\nREGAL_DECL void *REGAL_CALL wglAllocateMemoryNV(GLsizei size, GLfloat readfreq, GLfloat writefreq, GLfloat priority);\nREGAL_DECL void REGAL_CALL wglFreeMemoryNV(void *pointer);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_WGL_NV_VERTEX_ARRAY_RANGE\nREGAL_DECL void *REGAL_CALL plugin_wglAllocateMemoryNV(GLsizei size, GLfloat readfreq, GLfloat writefreq, GLfloat priority);\nREGAL_DECL void REGAL_CALL plugin_wglFreeMemoryNV(void *pointer);\n#endif\n\n/**\n ** WGL_NV_video_capture\n **/\n\n#if (defined(WGL_NV_VIDEO_CAPTURE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_NV_VIDEO_CAPTURE)) && !defined(REGAL_NO_ENUM_WGL_NV_VIDEO_CAPTURE)\n#define REGAL_NO_ENUM_WGL_NV_VIDEO_CAPTURE\n#endif\n\n#if (defined(WGL_NV_VIDEO_CAPTURE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_NV_VIDEO_CAPTURE)) && !defined(REGAL_NO_TYPEDEF_WGL_NV_VIDEO_CAPTURE)\n#define REGAL_NO_TYPEDEF_WGL_NV_VIDEO_CAPTURE\n#endif\n\n#if (defined(WGL_NV_VIDEO_CAPTURE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_NV_VIDEO_CAPTURE)) && !defined(REGAL_NO_NAMESPACE_WGL_NV_VIDEO_CAPTURE)\n#define REGAL_NO_NAMESPACE_WGL_NV_VIDEO_CAPTURE\n#endif\n\n#if (defined(WGL_NV_VIDEO_CAPTURE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_NV_VIDEO_CAPTURE)) && !defined(REGAL_NO_PLUGIN_WGL_NV_VIDEO_CAPTURE)\n#define REGAL_NO_PLUGIN_WGL_NV_VIDEO_CAPTURE\n#endif\n\n#if (defined(WGL_NV_VIDEO_CAPTURE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_NV_VIDEO_CAPTURE)) && !defined(REGAL_NO_DECLARATION_WGL_NV_VIDEO_CAPTURE)\n#define REGAL_NO_DECLARATION_WGL_NV_VIDEO_CAPTURE\n#endif\n\n#ifndef WGL_NV_video_capture\n#define WGL_NV_video_capture 1\n#endif\n\n#ifndef REGAL_NO_ENUM_WGL_NV_VIDEO_CAPTURE\n#define WGL_UNIQUE_ID_NV               0x20ce     /* 8398 */\n#define WGL_NUM_VIDEO_CAPTURE_SLOTS_NV 0x20cf     /* 8399 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_WGL_NV_VIDEO_CAPTURE\ntypedef BOOL (REGAL_CALL *PFNWGLBINDVIDEOCAPTUREDEVICENVPROC)(UINT uVideoSlot, HVIDEOINPUTDEVICENV hDevice);\ntypedef BOOL (REGAL_CALL *PFNWGLLOCKVIDEOCAPTUREDEVICENVPROC)(HDC hDC, HVIDEOINPUTDEVICENV hDevice);\ntypedef BOOL (REGAL_CALL *PFNWGLQUERYVIDEOCAPTUREDEVICENVPROC)(HDC hDC, HVIDEOINPUTDEVICENV hDevice, int iAttribute, int *piValue);\ntypedef BOOL (REGAL_CALL *PFNWGLRELEASEVIDEOCAPTUREDEVICENVPROC)(HDC hDC, HVIDEOINPUTDEVICENV hDevice);\ntypedef UINT (REGAL_CALL *PFNWGLENUMERATEVIDEOCAPTUREDEVICESNVPROC)(HDC hDC, HVIDEOINPUTDEVICENV *phDeviceList);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_WGL_NV_VIDEO_CAPTURE\n#define wglBindVideoCaptureDeviceNV         rwglBindVideoCaptureDeviceNV\n#define wglEnumerateVideoCaptureDevicesNV   rwglEnumerateVideoCaptureDevicesNV\n#define wglLockVideoCaptureDeviceNV         rwglLockVideoCaptureDeviceNV\n#define wglQueryVideoCaptureDeviceNV        rwglQueryVideoCaptureDeviceNV\n#define wglReleaseVideoCaptureDeviceNV      rwglReleaseVideoCaptureDeviceNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_WGL_NV_VIDEO_CAPTURE\nREGAL_DECL BOOL REGAL_CALL wglBindVideoCaptureDeviceNV(UINT uVideoSlot, HVIDEOINPUTDEVICENV hDevice);\nREGAL_DECL BOOL REGAL_CALL wglLockVideoCaptureDeviceNV(HDC hDC, HVIDEOINPUTDEVICENV hDevice);\nREGAL_DECL BOOL REGAL_CALL wglQueryVideoCaptureDeviceNV(HDC hDC, HVIDEOINPUTDEVICENV hDevice, int iAttribute, int *piValue);\nREGAL_DECL BOOL REGAL_CALL wglReleaseVideoCaptureDeviceNV(HDC hDC, HVIDEOINPUTDEVICENV hDevice);\nREGAL_DECL UINT REGAL_CALL wglEnumerateVideoCaptureDevicesNV(HDC hDC, HVIDEOINPUTDEVICENV *phDeviceList);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_WGL_NV_VIDEO_CAPTURE\nREGAL_DECL BOOL REGAL_CALL plugin_wglBindVideoCaptureDeviceNV(UINT uVideoSlot, HVIDEOINPUTDEVICENV hDevice);\nREGAL_DECL BOOL REGAL_CALL plugin_wglLockVideoCaptureDeviceNV(HDC hDC, HVIDEOINPUTDEVICENV hDevice);\nREGAL_DECL BOOL REGAL_CALL plugin_wglQueryVideoCaptureDeviceNV(HDC hDC, HVIDEOINPUTDEVICENV hDevice, int iAttribute, int *piValue);\nREGAL_DECL BOOL REGAL_CALL plugin_wglReleaseVideoCaptureDeviceNV(HDC hDC, HVIDEOINPUTDEVICENV hDevice);\nREGAL_DECL UINT REGAL_CALL plugin_wglEnumerateVideoCaptureDevicesNV(HDC hDC, HVIDEOINPUTDEVICENV *phDeviceList);\n#endif\n\n/**\n ** WGL_NV_video_output\n **/\n\n#if (defined(WGL_NV_VIDEO_OUTPUT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_NV_VIDEO_OUTPUT)) && !defined(REGAL_NO_ENUM_WGL_NV_VIDEO_OUTPUT)\n#define REGAL_NO_ENUM_WGL_NV_VIDEO_OUTPUT\n#endif\n\n#if (defined(WGL_NV_VIDEO_OUTPUT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_NV_VIDEO_OUTPUT)) && !defined(REGAL_NO_TYPEDEF_WGL_NV_VIDEO_OUTPUT)\n#define REGAL_NO_TYPEDEF_WGL_NV_VIDEO_OUTPUT\n#endif\n\n#if (defined(WGL_NV_VIDEO_OUTPUT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_NV_VIDEO_OUTPUT)) && !defined(REGAL_NO_NAMESPACE_WGL_NV_VIDEO_OUTPUT)\n#define REGAL_NO_NAMESPACE_WGL_NV_VIDEO_OUTPUT\n#endif\n\n#if (defined(WGL_NV_VIDEO_OUTPUT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_NV_VIDEO_OUTPUT)) && !defined(REGAL_NO_PLUGIN_WGL_NV_VIDEO_OUTPUT)\n#define REGAL_NO_PLUGIN_WGL_NV_VIDEO_OUTPUT\n#endif\n\n#if (defined(WGL_NV_VIDEO_OUTPUT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_NV_VIDEO_OUTPUT)) && !defined(REGAL_NO_DECLARATION_WGL_NV_VIDEO_OUTPUT)\n#define REGAL_NO_DECLARATION_WGL_NV_VIDEO_OUTPUT\n#endif\n\n#ifndef WGL_NV_video_output\n#define WGL_NV_video_output 1\n#endif\n\n#ifndef REGAL_NO_ENUM_WGL_NV_VIDEO_OUTPUT\n#define WGL_BIND_TO_VIDEO_RGB_NV           0x20c0     /* 8384 */\n#define WGL_BIND_TO_VIDEO_RGBA_NV          0x20c1     /* 8385 */\n#define WGL_BIND_TO_VIDEO_RGB_AND_DEPTH_NV 0x20c2     /* 8386 */\n#define WGL_VIDEO_OUT_COLOR_NV             0x20c3     /* 8387 */\n#define WGL_VIDEO_OUT_ALPHA_NV             0x20c4     /* 8388 */\n#define WGL_VIDEO_OUT_DEPTH_NV             0x20c5     /* 8389 */\n#define WGL_VIDEO_OUT_COLOR_AND_ALPHA_NV   0x20c6     /* 8390 */\n#define WGL_VIDEO_OUT_COLOR_AND_DEPTH_NV   0x20c7     /* 8391 */\n#define WGL_VIDEO_OUT_FRAME                0x20c8     /* 8392 */\n#define WGL_VIDEO_OUT_FIELD_1              0x20c9     /* 8393 */\n#define WGL_VIDEO_OUT_FIELD_2              0x20ca     /* 8394 */\n#define WGL_VIDEO_OUT_STACKED_FIELDS_1_2   0x20cb     /* 8395 */\n#define WGL_VIDEO_OUT_STACKED_FIELDS_2_1   0x20cc     /* 8396 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_WGL_NV_VIDEO_OUTPUT\ntypedef BOOL (REGAL_CALL *PFNWGLBINDVIDEOIMAGENVPROC)(HPVIDEODEV hVideoDevice, HPBUFFERARB hPbuffer, int iVideoBuffer);\ntypedef BOOL (REGAL_CALL *PFNWGLGETVIDEODEVICENVPROC)(HDC hDC, int numDevices, HPVIDEODEV *hVideoDevice);\ntypedef BOOL (REGAL_CALL *PFNWGLGETVIDEOINFONVPROC)(HPVIDEODEV hpVideoDevice, unsigned long *pulCounterOutputPbuffer, unsigned long *pulCounterOutputVideo);\ntypedef BOOL (REGAL_CALL *PFNWGLRELEASEVIDEODEVICENVPROC)(HPVIDEODEV hVideoDevice);\ntypedef BOOL (REGAL_CALL *PFNWGLRELEASEVIDEOIMAGENVPROC)(HPBUFFERARB hPbuffer, int iVideoBuffer);\ntypedef BOOL (REGAL_CALL *PFNWGLSENDPBUFFERTOVIDEONVPROC)(HPBUFFERARB hPbuffer, int iBufferType, unsigned long *pulCounterPbuffer, BOOL bBlock);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_WGL_NV_VIDEO_OUTPUT\n#define wglBindVideoImageNV                 rwglBindVideoImageNV\n#define wglGetVideoDeviceNV                 rwglGetVideoDeviceNV\n#define wglGetVideoInfoNV                   rwglGetVideoInfoNV\n#define wglReleaseVideoDeviceNV             rwglReleaseVideoDeviceNV\n#define wglReleaseVideoImageNV              rwglReleaseVideoImageNV\n#define wglSendPbufferToVideoNV             rwglSendPbufferToVideoNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_WGL_NV_VIDEO_OUTPUT\nREGAL_DECL BOOL REGAL_CALL wglBindVideoImageNV(HPVIDEODEV hVideoDevice, HPBUFFERARB hPbuffer, int iVideoBuffer);\nREGAL_DECL BOOL REGAL_CALL wglGetVideoDeviceNV(HDC hDC, int numDevices, HPVIDEODEV *hVideoDevice);\nREGAL_DECL BOOL REGAL_CALL wglGetVideoInfoNV(HPVIDEODEV hpVideoDevice, unsigned long *pulCounterOutputPbuffer, unsigned long *pulCounterOutputVideo);\nREGAL_DECL BOOL REGAL_CALL wglReleaseVideoDeviceNV(HPVIDEODEV hVideoDevice);\nREGAL_DECL BOOL REGAL_CALL wglReleaseVideoImageNV(HPBUFFERARB hPbuffer, int iVideoBuffer);\nREGAL_DECL BOOL REGAL_CALL wglSendPbufferToVideoNV(HPBUFFERARB hPbuffer, int iBufferType, unsigned long *pulCounterPbuffer, BOOL bBlock);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_WGL_NV_VIDEO_OUTPUT\nREGAL_DECL BOOL REGAL_CALL plugin_wglBindVideoImageNV(HPVIDEODEV hVideoDevice, HPBUFFERARB hPbuffer, int iVideoBuffer);\nREGAL_DECL BOOL REGAL_CALL plugin_wglGetVideoDeviceNV(HDC hDC, int numDevices, HPVIDEODEV *hVideoDevice);\nREGAL_DECL BOOL REGAL_CALL plugin_wglGetVideoInfoNV(HPVIDEODEV hpVideoDevice, unsigned long *pulCounterOutputPbuffer, unsigned long *pulCounterOutputVideo);\nREGAL_DECL BOOL REGAL_CALL plugin_wglReleaseVideoDeviceNV(HPVIDEODEV hVideoDevice);\nREGAL_DECL BOOL REGAL_CALL plugin_wglReleaseVideoImageNV(HPBUFFERARB hPbuffer, int iVideoBuffer);\nREGAL_DECL BOOL REGAL_CALL plugin_wglSendPbufferToVideoNV(HPBUFFERARB hPbuffer, int iBufferType, unsigned long *pulCounterPbuffer, BOOL bBlock);\n#endif\n\n/**\n ** WGL_OML_sync_control\n **/\n\n#if (defined(WGL_OML_SYNC_CONTROL) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_OML_SYNC_CONTROL)) && !defined(REGAL_NO_ENUM_WGL_OML_SYNC_CONTROL)\n#define REGAL_NO_ENUM_WGL_OML_SYNC_CONTROL\n#endif\n\n#if (defined(WGL_OML_SYNC_CONTROL) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_OML_SYNC_CONTROL)) && !defined(REGAL_NO_TYPEDEF_WGL_OML_SYNC_CONTROL)\n#define REGAL_NO_TYPEDEF_WGL_OML_SYNC_CONTROL\n#endif\n\n#if (defined(WGL_OML_SYNC_CONTROL) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_OML_SYNC_CONTROL)) && !defined(REGAL_NO_NAMESPACE_WGL_OML_SYNC_CONTROL)\n#define REGAL_NO_NAMESPACE_WGL_OML_SYNC_CONTROL\n#endif\n\n#if (defined(WGL_OML_SYNC_CONTROL) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_OML_SYNC_CONTROL)) && !defined(REGAL_NO_PLUGIN_WGL_OML_SYNC_CONTROL)\n#define REGAL_NO_PLUGIN_WGL_OML_SYNC_CONTROL\n#endif\n\n#if (defined(WGL_OML_SYNC_CONTROL) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_OML_SYNC_CONTROL)) && !defined(REGAL_NO_DECLARATION_WGL_OML_SYNC_CONTROL)\n#define REGAL_NO_DECLARATION_WGL_OML_SYNC_CONTROL\n#endif\n\n#ifndef WGL_OML_sync_control\n#define WGL_OML_sync_control 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_WGL_OML_SYNC_CONTROL\ntypedef BOOL (REGAL_CALL *PFNWGLGETMSCRATEOMLPROC)(HDC hDC, INT32 *numerator, INT32 *denominator);\ntypedef BOOL (REGAL_CALL *PFNWGLGETSYNCVALUESOMLPROC)(HDC hDC, INT64 *ust, INT64 *msc, INT64 *sbc);\ntypedef BOOL (REGAL_CALL *PFNWGLWAITFORMSCOMLPROC)(HDC hDC, INT64 target_msc, INT64 divisor, INT64 remainder, INT64 *ust, INT64 *msc, INT64 *sbc);\ntypedef BOOL (REGAL_CALL *PFNWGLWAITFORSBCOMLPROC)(HDC hDC, INT64 target_sbc, INT64 *ust, INT64 *msc, INT64 *sbc);\ntypedef INT64 (REGAL_CALL *PFNWGLSWAPBUFFERSMSCOMLPROC)(HDC hDC, INT64 target_msc, INT64 divisor, INT64 remainder);\ntypedef INT64 (REGAL_CALL *PFNWGLSWAPLAYERBUFFERSMSCOMLPROC)(HDC hDC, int fuPlanes, INT64 target_msc, INT64 divisor, INT64 remainder);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_WGL_OML_SYNC_CONTROL\n#define wglGetMscRateOML                    rwglGetMscRateOML\n#define wglGetSyncValuesOML                 rwglGetSyncValuesOML\n#define wglSwapBuffersMscOML                rwglSwapBuffersMscOML\n#define wglSwapLayerBuffersMscOML           rwglSwapLayerBuffersMscOML\n#define wglWaitForMscOML                    rwglWaitForMscOML\n#define wglWaitForSbcOML                    rwglWaitForSbcOML\n#endif\n\n#ifndef REGAL_NO_DECLARATION_WGL_OML_SYNC_CONTROL\nREGAL_DECL BOOL REGAL_CALL wglGetMscRateOML(HDC hDC, INT32 *numerator, INT32 *denominator);\nREGAL_DECL BOOL REGAL_CALL wglGetSyncValuesOML(HDC hDC, INT64 *ust, INT64 *msc, INT64 *sbc);\nREGAL_DECL BOOL REGAL_CALL wglWaitForMscOML(HDC hDC, INT64 target_msc, INT64 divisor, INT64 remainder, INT64 *ust, INT64 *msc, INT64 *sbc);\nREGAL_DECL BOOL REGAL_CALL wglWaitForSbcOML(HDC hDC, INT64 target_sbc, INT64 *ust, INT64 *msc, INT64 *sbc);\nREGAL_DECL INT64 REGAL_CALL wglSwapBuffersMscOML(HDC hDC, INT64 target_msc, INT64 divisor, INT64 remainder);\nREGAL_DECL INT64 REGAL_CALL wglSwapLayerBuffersMscOML(HDC hDC, int fuPlanes, INT64 target_msc, INT64 divisor, INT64 remainder);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_WGL_OML_SYNC_CONTROL\nREGAL_DECL BOOL REGAL_CALL plugin_wglGetMscRateOML(HDC hDC, INT32 *numerator, INT32 *denominator);\nREGAL_DECL BOOL REGAL_CALL plugin_wglGetSyncValuesOML(HDC hDC, INT64 *ust, INT64 *msc, INT64 *sbc);\nREGAL_DECL BOOL REGAL_CALL plugin_wglWaitForMscOML(HDC hDC, INT64 target_msc, INT64 divisor, INT64 remainder, INT64 *ust, INT64 *msc, INT64 *sbc);\nREGAL_DECL BOOL REGAL_CALL plugin_wglWaitForSbcOML(HDC hDC, INT64 target_sbc, INT64 *ust, INT64 *msc, INT64 *sbc);\nREGAL_DECL INT64 REGAL_CALL plugin_wglSwapBuffersMscOML(HDC hDC, INT64 target_msc, INT64 divisor, INT64 remainder);\nREGAL_DECL INT64 REGAL_CALL plugin_wglSwapLayerBuffersMscOML(HDC hDC, int fuPlanes, INT64 target_msc, INT64 divisor, INT64 remainder);\n#endif\n\n/**\n ** WGL_core\n **/\n\n#if (defined(WGL_CORE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_WGL_CORE)) && !defined(REGAL_NO_ENUM_WGL_CORE)\n#define REGAL_NO_ENUM_WGL_CORE\n#endif\n\n#if (defined(WGL_CORE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_WGL_CORE)) && !defined(REGAL_NO_TYPEDEF_WGL_CORE)\n#define REGAL_NO_TYPEDEF_WGL_CORE\n#endif\n\n#if (defined(WGL_CORE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_WGL_CORE)) && !defined(REGAL_NO_NAMESPACE_WGL_CORE)\n#define REGAL_NO_NAMESPACE_WGL_CORE\n#endif\n\n#if (defined(WGL_CORE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_WGL_CORE)) && !defined(REGAL_NO_PLUGIN_WGL_CORE)\n#define REGAL_NO_PLUGIN_WGL_CORE\n#endif\n\n#if (defined(WGL_CORE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_WGL_CORE)) && !defined(REGAL_NO_DECLARATION_WGL_CORE)\n#define REGAL_NO_DECLARATION_WGL_CORE\n#endif\n\n#ifndef WGL_core\n#define WGL_core 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_WGL_CORE\ntypedef BOOL (REGAL_CALL *PFNWGLCOPYCONTEXTPROC)(HGLRC hglrcSrc, HGLRC hglrcDst, UINT mask);\ntypedef BOOL (REGAL_CALL *PFNWGLDELETECONTEXTPROC)(HGLRC hglrc);\ntypedef BOOL (REGAL_CALL *PFNWGLDESCRIBELAYERPLANEPROC)(HDC hDC, int iPixelFormat, int iLayerPlane, UINT nBytes, LPLAYERPLANEDESCRIPTOR plpd);\ntypedef BOOL (REGAL_CALL *PFNWGLMAKECURRENTPROC)(HDC hDC, HGLRC hglrc);\ntypedef BOOL (REGAL_CALL *PFNWGLREALIZELAYERPALETTEPROC)(HDC hDC, int iLayerPlane, BOOL bRealize);\ntypedef BOOL (REGAL_CALL *PFNWGLSHARELISTSPROC)(HGLRC hglrcShare, HGLRC hglrcSrc);\ntypedef BOOL (REGAL_CALL *PFNWGLSWAPLAYERBUFFERSPROC)(HDC hDC, UINT fuPlanes);\ntypedef BOOL (REGAL_CALL *PFNWGLUSEFONTBITMAPSAPROC)(HDC hDC, DWORD first, DWORD count, DWORD listBase);\ntypedef BOOL (REGAL_CALL *PFNWGLUSEFONTBITMAPSWPROC)(HDC hDC, DWORD first, DWORD count, DWORD listBase);\ntypedef BOOL (REGAL_CALL *PFNWGLUSEFONTOUTLINESAPROC)(HDC hDC, DWORD first, DWORD count, DWORD listBase, FLOAT deviation, FLOAT extrusion, int format, LPGLYPHMETRICSFLOAT lpgmf);\ntypedef BOOL (REGAL_CALL *PFNWGLUSEFONTOUTLINESWPROC)(HDC hDC, DWORD first, DWORD count, DWORD listBase, FLOAT deviation, FLOAT extrusion, int format, LPGLYPHMETRICSFLOAT lpgmf);\ntypedef DWORD (REGAL_CALL *PFNWGLSWAPMULTIPLEBUFFERSPROC)(UINT n, const WGLSWAP *ps);\ntypedef HDC (REGAL_CALL *PFNWGLGETCURRENTDCPROC)(void);\ntypedef HGLRC (REGAL_CALL *PFNWGLCREATECONTEXTPROC)(HDC hDC);\ntypedef HGLRC (REGAL_CALL *PFNWGLCREATELAYERCONTEXTPROC)(HDC hDC, int iLayerPlane);\ntypedef HGLRC (REGAL_CALL *PFNWGLGETCURRENTCONTEXTPROC)(void);\ntypedef PROC (REGAL_CALL *PFNWGLGETDEFAULTPROCADDRESSPROC)(LPCSTR lpszProc);\ntypedef PROC (REGAL_CALL *PFNWGLGETPROCADDRESSPROC)(LPCSTR lpszProc);\ntypedef int (REGAL_CALL *PFNWGLGETLAYERPALETTEENTRIESPROC)(HDC hDC, int iLayerPlane, int iStart, int nEntries, COLORREF *pcr);\ntypedef int (REGAL_CALL *PFNWGLSETLAYERPALETTEENTRIESPROC)(HDC hDC, int iLayerPlane, int iStart, int nEntries, const COLORREF *pcr);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_WGL_CORE\n#define wglCopyContext                      rwglCopyContext\n#define wglCreateContext                    rwglCreateContext\n#define wglCreateLayerContext               rwglCreateLayerContext\n#define wglDeleteContext                    rwglDeleteContext\n#define wglDescribeLayerPlane               rwglDescribeLayerPlane\n#define wglGetCurrentContext                rwglGetCurrentContext\n#define wglGetCurrentDC                     rwglGetCurrentDC\n#define wglGetDefaultProcAddress            rwglGetDefaultProcAddress\n#define wglGetLayerPaletteEntries           rwglGetLayerPaletteEntries\n#define wglGetProcAddress                   rwglGetProcAddress\n#define wglMakeCurrent                      rwglMakeCurrent\n#define wglRealizeLayerPalette              rwglRealizeLayerPalette\n#define wglSetLayerPaletteEntries           rwglSetLayerPaletteEntries\n#define wglShareLists                       rwglShareLists\n#define wglSwapLayerBuffers                 rwglSwapLayerBuffers\n#define wglSwapMultipleBuffers              rwglSwapMultipleBuffers\n#define wglUseFontBitmapsA                  rwglUseFontBitmapsA\n#define wglUseFontBitmapsW                  rwglUseFontBitmapsW\n#define wglUseFontOutlinesA                 rwglUseFontOutlinesA\n#define wglUseFontOutlinesW                 rwglUseFontOutlinesW\n#endif\n\n#ifndef REGAL_NO_DECLARATION_WGL_CORE\nREGAL_DECL BOOL REGAL_CALL wglCopyContext(HGLRC hglrcSrc, HGLRC hglrcDst, UINT mask);\nREGAL_DECL BOOL REGAL_CALL wglDeleteContext(HGLRC hglrc);\nREGAL_DECL BOOL REGAL_CALL wglDescribeLayerPlane(HDC hDC, int iPixelFormat, int iLayerPlane, UINT nBytes, LPLAYERPLANEDESCRIPTOR plpd);\nREGAL_DECL BOOL REGAL_CALL wglMakeCurrent(HDC hDC, HGLRC hglrc);\nREGAL_DECL BOOL REGAL_CALL wglRealizeLayerPalette(HDC hDC, int iLayerPlane, BOOL bRealize);\nREGAL_DECL BOOL REGAL_CALL wglShareLists(HGLRC hglrcShare, HGLRC hglrcSrc);\nREGAL_DECL BOOL REGAL_CALL wglSwapLayerBuffers(HDC hDC, UINT fuPlanes);\nREGAL_DECL BOOL REGAL_CALL wglUseFontBitmapsA(HDC hDC, DWORD first, DWORD count, DWORD listBase);\nREGAL_DECL BOOL REGAL_CALL wglUseFontBitmapsW(HDC hDC, DWORD first, DWORD count, DWORD listBase);\nREGAL_DECL BOOL REGAL_CALL wglUseFontOutlinesA(HDC hDC, DWORD first, DWORD count, DWORD listBase, FLOAT deviation, FLOAT extrusion, int format, LPGLYPHMETRICSFLOAT lpgmf);\nREGAL_DECL BOOL REGAL_CALL wglUseFontOutlinesW(HDC hDC, DWORD first, DWORD count, DWORD listBase, FLOAT deviation, FLOAT extrusion, int format, LPGLYPHMETRICSFLOAT lpgmf);\nREGAL_DECL DWORD REGAL_CALL wglSwapMultipleBuffers(UINT n, const WGLSWAP *ps);\nREGAL_DECL HDC REGAL_CALL wglGetCurrentDC(void);\nREGAL_DECL HGLRC REGAL_CALL wglCreateContext(HDC hDC);\nREGAL_DECL HGLRC REGAL_CALL wglCreateLayerContext(HDC hDC, int iLayerPlane);\nREGAL_DECL HGLRC REGAL_CALL wglGetCurrentContext(void);\nREGAL_DECL PROC REGAL_CALL wglGetDefaultProcAddress(LPCSTR lpszProc);\nREGAL_DECL PROC REGAL_CALL wglGetProcAddress(LPCSTR lpszProc);\nREGAL_DECL int REGAL_CALL wglGetLayerPaletteEntries(HDC hDC, int iLayerPlane, int iStart, int nEntries, COLORREF *pcr);\nREGAL_DECL int REGAL_CALL wglSetLayerPaletteEntries(HDC hDC, int iLayerPlane, int iStart, int nEntries, const COLORREF *pcr);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_WGL_CORE\nREGAL_DECL BOOL REGAL_CALL plugin_wglCopyContext(HGLRC hglrcSrc, HGLRC hglrcDst, UINT mask);\nREGAL_DECL BOOL REGAL_CALL plugin_wglDeleteContext(HGLRC hglrc);\nREGAL_DECL BOOL REGAL_CALL plugin_wglDescribeLayerPlane(HDC hDC, int iPixelFormat, int iLayerPlane, UINT nBytes, LPLAYERPLANEDESCRIPTOR plpd);\nREGAL_DECL BOOL REGAL_CALL plugin_wglMakeCurrent(HDC hDC, HGLRC hglrc);\nREGAL_DECL BOOL REGAL_CALL plugin_wglRealizeLayerPalette(HDC hDC, int iLayerPlane, BOOL bRealize);\nREGAL_DECL BOOL REGAL_CALL plugin_wglShareLists(HGLRC hglrcShare, HGLRC hglrcSrc);\nREGAL_DECL BOOL REGAL_CALL plugin_wglSwapLayerBuffers(HDC hDC, UINT fuPlanes);\nREGAL_DECL BOOL REGAL_CALL plugin_wglUseFontBitmapsA(HDC hDC, DWORD first, DWORD count, DWORD listBase);\nREGAL_DECL BOOL REGAL_CALL plugin_wglUseFontBitmapsW(HDC hDC, DWORD first, DWORD count, DWORD listBase);\nREGAL_DECL BOOL REGAL_CALL plugin_wglUseFontOutlinesA(HDC hDC, DWORD first, DWORD count, DWORD listBase, FLOAT deviation, FLOAT extrusion, int format, LPGLYPHMETRICSFLOAT lpgmf);\nREGAL_DECL BOOL REGAL_CALL plugin_wglUseFontOutlinesW(HDC hDC, DWORD first, DWORD count, DWORD listBase, FLOAT deviation, FLOAT extrusion, int format, LPGLYPHMETRICSFLOAT lpgmf);\nREGAL_DECL DWORD REGAL_CALL plugin_wglSwapMultipleBuffers(UINT n, const WGLSWAP *ps);\nREGAL_DECL HDC REGAL_CALL plugin_wglGetCurrentDC(void);\nREGAL_DECL HGLRC REGAL_CALL plugin_wglCreateContext(HDC hDC);\nREGAL_DECL HGLRC REGAL_CALL plugin_wglCreateLayerContext(HDC hDC, int iLayerPlane);\nREGAL_DECL HGLRC REGAL_CALL plugin_wglGetCurrentContext(void);\nREGAL_DECL PROC REGAL_CALL plugin_wglGetDefaultProcAddress(LPCSTR lpszProc);\nREGAL_DECL PROC REGAL_CALL plugin_wglGetProcAddress(LPCSTR lpszProc);\nREGAL_DECL int REGAL_CALL plugin_wglGetLayerPaletteEntries(HDC hDC, int iLayerPlane, int iStart, int nEntries, COLORREF *pcr);\nREGAL_DECL int REGAL_CALL plugin_wglSetLayerPaletteEntries(HDC hDC, int iLayerPlane, int iStart, int nEntries, const COLORREF *pcr);\n#endif\n\n#endif /* REGAL_SYS_WGL_DECLARE_WGL */\n#endif /* REGAL_SYS_WGL */\n\n#if REGAL_SYS_GLX\n\n/**\n ** GLX_3DFX_multisample\n **/\n\n#if (defined(GLX_3DFX_MULTISAMPLE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_3DFX_MULTISAMPLE)) && !defined(REGAL_NO_ENUM_GLX_3DFX_MULTISAMPLE)\n#define REGAL_NO_ENUM_GLX_3DFX_MULTISAMPLE\n#endif\n\n#if (defined(GLX_3DFX_MULTISAMPLE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_3DFX_MULTISAMPLE)) && !defined(REGAL_NO_TYPEDEF_GLX_3DFX_MULTISAMPLE)\n#define REGAL_NO_TYPEDEF_GLX_3DFX_MULTISAMPLE\n#endif\n\n#if (defined(GLX_3DFX_MULTISAMPLE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_3DFX_MULTISAMPLE)) && !defined(REGAL_NO_NAMESPACE_GLX_3DFX_MULTISAMPLE)\n#define REGAL_NO_NAMESPACE_GLX_3DFX_MULTISAMPLE\n#endif\n\n#if (defined(GLX_3DFX_MULTISAMPLE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_3DFX_MULTISAMPLE)) && !defined(REGAL_NO_PLUGIN_GLX_3DFX_MULTISAMPLE)\n#define REGAL_NO_PLUGIN_GLX_3DFX_MULTISAMPLE\n#endif\n\n#if (defined(GLX_3DFX_MULTISAMPLE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_3DFX_MULTISAMPLE)) && !defined(REGAL_NO_DECLARATION_GLX_3DFX_MULTISAMPLE)\n#define REGAL_NO_DECLARATION_GLX_3DFX_MULTISAMPLE\n#endif\n\n#ifndef GLX_3DFX_multisample\n#define GLX_3DFX_multisample 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_3DFX_MULTISAMPLE\n#define GLX_SAMPLE_BUFFERS_3DFX 0x8050     /* 32848 */\n#define GLX_SAMPLES_3DFX        0x8051     /* 32849 */\n#endif\n\n/**\n ** GLX_AMD_gpu_association\n **/\n\n#if (defined(GLX_AMD_GPU_ASSOCIATION) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_AMD_GPU_ASSOCIATION)) && !defined(REGAL_NO_ENUM_GLX_AMD_GPU_ASSOCIATION)\n#define REGAL_NO_ENUM_GLX_AMD_GPU_ASSOCIATION\n#endif\n\n#if (defined(GLX_AMD_GPU_ASSOCIATION) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_AMD_GPU_ASSOCIATION)) && !defined(REGAL_NO_TYPEDEF_GLX_AMD_GPU_ASSOCIATION)\n#define REGAL_NO_TYPEDEF_GLX_AMD_GPU_ASSOCIATION\n#endif\n\n#if (defined(GLX_AMD_GPU_ASSOCIATION) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_AMD_GPU_ASSOCIATION)) && !defined(REGAL_NO_NAMESPACE_GLX_AMD_GPU_ASSOCIATION)\n#define REGAL_NO_NAMESPACE_GLX_AMD_GPU_ASSOCIATION\n#endif\n\n#if (defined(GLX_AMD_GPU_ASSOCIATION) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_AMD_GPU_ASSOCIATION)) && !defined(REGAL_NO_PLUGIN_GLX_AMD_GPU_ASSOCIATION)\n#define REGAL_NO_PLUGIN_GLX_AMD_GPU_ASSOCIATION\n#endif\n\n#if (defined(GLX_AMD_GPU_ASSOCIATION) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_AMD_GPU_ASSOCIATION)) && !defined(REGAL_NO_DECLARATION_GLX_AMD_GPU_ASSOCIATION)\n#define REGAL_NO_DECLARATION_GLX_AMD_GPU_ASSOCIATION\n#endif\n\n#ifndef GLX_AMD_gpu_association\n#define GLX_AMD_gpu_association 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_AMD_GPU_ASSOCIATION\n#define GLX_GPU_VENDOR_AMD                0x1f00     /* 7936 */\n#define GLX_GPU_RENDERER_STRING_AMD       0x1f01     /* 7937 */\n#define GLX_GPU_OPENGL_VERSION_STRING_AMD 0x1f02     /* 7938 */\n#define GLX_GPU_FASTEST_TARGET_GPUS_AMD   0x21a2     /* 8610 */\n#define GLX_GPU_RAM_AMD                   0x21a3     /* 8611 */\n#define GLX_GPU_CLOCK_AMD                 0x21a4     /* 8612 */\n#define GLX_GPU_NUM_PIPES_AMD             0x21a5     /* 8613 */\n#define GLX_GPU_NUM_SIMD_AMD              0x21a6     /* 8614 */\n#define GLX_GPU_NUM_RB_AMD                0x21a7     /* 8615 */\n#define GLX_GPU_NUM_SPI_AMD               0x21a8     /* 8616 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GLX_AMD_GPU_ASSOCIATION\ntypedef Bool (REGAL_CALL *PFNGLXDELETEASSOCIATEDCONTEXTAMDPROC)(GLXContext ctx);\ntypedef Bool (REGAL_CALL *PFNGLXMAKEASSOCIATEDCONTEXTCURRENTAMDPROC)(GLXContext ctx);\ntypedef GLXContext (REGAL_CALL *PFNGLXCREATEASSOCIATEDCONTEXTAMDPROC)(unsigned int id, GLXContext share_list);\ntypedef GLXContext (REGAL_CALL *PFNGLXCREATEASSOCIATEDCONTEXTATTRIBSAMDPROC)(unsigned int id, GLXContext share_context, const int *attribList);\ntypedef GLXContext (REGAL_CALL *PFNGLXGETCURRENTASSOCIATEDCONTEXTAMDPROC)(void);\ntypedef int (REGAL_CALL *PFNGLXGETGPUINFOAMDPROC)(unsigned int id, int property, GLenum dataType, unsigned int size, GLvoid *data);\ntypedef unsigned int (REGAL_CALL *PFNGLXGETCONTEXTGPUIDAMDPROC)(GLXContext ctx);\ntypedef unsigned int (REGAL_CALL *PFNGLXGETGPUIDSAMDPROC)(unsigned int maxCount, unsigned int *ids);\ntypedef void (REGAL_CALL *PFNGLXBLITCONTEXTFRAMEBUFFERAMDPROC)(GLXContext dstCtx, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GLX_AMD_GPU_ASSOCIATION\n#define glXBlitContextFramebufferAMD        rglXBlitContextFramebufferAMD\n#define glXCreateAssociatedContextAMD       rglXCreateAssociatedContextAMD\n#define glXCreateAssociatedContextAttribsAMD rglXCreateAssociatedContextAttribsAMD\n#define glXDeleteAssociatedContextAMD       rglXDeleteAssociatedContextAMD\n#define glXGetContextGPUIDAMD               rglXGetContextGPUIDAMD\n#define glXGetCurrentAssociatedContextAMD   rglXGetCurrentAssociatedContextAMD\n#define glXGetGPUIDsAMD                     rglXGetGPUIDsAMD\n#define glXGetGPUInfoAMD                    rglXGetGPUInfoAMD\n#define glXMakeAssociatedContextCurrentAMD  rglXMakeAssociatedContextCurrentAMD\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GLX_AMD_GPU_ASSOCIATION\nREGAL_DECL Bool REGAL_CALL glXDeleteAssociatedContextAMD(GLXContext ctx);\nREGAL_DECL Bool REGAL_CALL glXMakeAssociatedContextCurrentAMD(GLXContext ctx);\nREGAL_DECL GLXContext REGAL_CALL glXCreateAssociatedContextAMD(unsigned int id, GLXContext share_list);\nREGAL_DECL GLXContext REGAL_CALL glXCreateAssociatedContextAttribsAMD(unsigned int id, GLXContext share_context, const int *attribList);\nREGAL_DECL GLXContext REGAL_CALL glXGetCurrentAssociatedContextAMD(void);\nREGAL_DECL int REGAL_CALL glXGetGPUInfoAMD(unsigned int id, int property, GLenum dataType, unsigned int size, GLvoid *data);\nREGAL_DECL unsigned int REGAL_CALL glXGetContextGPUIDAMD(GLXContext ctx);\nREGAL_DECL unsigned int REGAL_CALL glXGetGPUIDsAMD(unsigned int maxCount, unsigned int *ids);\nREGAL_DECL void REGAL_CALL glXBlitContextFramebufferAMD(GLXContext dstCtx, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GLX_AMD_GPU_ASSOCIATION\nREGAL_DECL Bool REGAL_CALL plugin_glXDeleteAssociatedContextAMD(GLXContext ctx);\nREGAL_DECL Bool REGAL_CALL plugin_glXMakeAssociatedContextCurrentAMD(GLXContext ctx);\nREGAL_DECL GLXContext REGAL_CALL plugin_glXCreateAssociatedContextAMD(unsigned int id, GLXContext share_list);\nREGAL_DECL GLXContext REGAL_CALL plugin_glXCreateAssociatedContextAttribsAMD(unsigned int id, GLXContext share_context, const int *attribList);\nREGAL_DECL GLXContext REGAL_CALL plugin_glXGetCurrentAssociatedContextAMD(void);\nREGAL_DECL int REGAL_CALL plugin_glXGetGPUInfoAMD(unsigned int id, int property, GLenum dataType, unsigned int size, GLvoid *data);\nREGAL_DECL unsigned int REGAL_CALL plugin_glXGetContextGPUIDAMD(GLXContext ctx);\nREGAL_DECL unsigned int REGAL_CALL plugin_glXGetGPUIDsAMD(unsigned int maxCount, unsigned int *ids);\nREGAL_DECL void REGAL_CALL plugin_glXBlitContextFramebufferAMD(GLXContext dstCtx, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);\n#endif\n\n/**\n ** GLX_ARB_create_context\n **/\n\n#if (defined(GLX_ARB_CREATE_CONTEXT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_ARB_CREATE_CONTEXT)) && !defined(REGAL_NO_ENUM_GLX_ARB_CREATE_CONTEXT)\n#define REGAL_NO_ENUM_GLX_ARB_CREATE_CONTEXT\n#endif\n\n#if (defined(GLX_ARB_CREATE_CONTEXT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_ARB_CREATE_CONTEXT)) && !defined(REGAL_NO_TYPEDEF_GLX_ARB_CREATE_CONTEXT)\n#define REGAL_NO_TYPEDEF_GLX_ARB_CREATE_CONTEXT\n#endif\n\n#if (defined(GLX_ARB_CREATE_CONTEXT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_ARB_CREATE_CONTEXT)) && !defined(REGAL_NO_NAMESPACE_GLX_ARB_CREATE_CONTEXT)\n#define REGAL_NO_NAMESPACE_GLX_ARB_CREATE_CONTEXT\n#endif\n\n#if (defined(GLX_ARB_CREATE_CONTEXT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_ARB_CREATE_CONTEXT)) && !defined(REGAL_NO_PLUGIN_GLX_ARB_CREATE_CONTEXT)\n#define REGAL_NO_PLUGIN_GLX_ARB_CREATE_CONTEXT\n#endif\n\n#if (defined(GLX_ARB_CREATE_CONTEXT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_ARB_CREATE_CONTEXT)) && !defined(REGAL_NO_DECLARATION_GLX_ARB_CREATE_CONTEXT)\n#define REGAL_NO_DECLARATION_GLX_ARB_CREATE_CONTEXT\n#endif\n\n#ifndef GLX_ARB_create_context\n#define GLX_ARB_create_context 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_ARB_CREATE_CONTEXT\n#define GLX_CONTEXT_DEBUG_BIT_ARB              0x1\n#define GLX_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB 0x2\n#define GLX_CONTEXT_MAJOR_VERSION_ARB          0x2091     /* 8337 */\n#define GLX_CONTEXT_MINOR_VERSION_ARB          0x2092     /* 8338 */\n#define GLX_CONTEXT_FLAGS_ARB                  0x2094     /* 8340 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GLX_ARB_CREATE_CONTEXT\ntypedef GLXContext (REGAL_CALL *PFNGLXCREATECONTEXTATTRIBSARBPROC)(Display *dpy, GLXFBConfig config, GLXContext share_context, Bool direct, const int *attrib_list);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GLX_ARB_CREATE_CONTEXT\n#define glXCreateContextAttribsARB          rglXCreateContextAttribsARB\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GLX_ARB_CREATE_CONTEXT\nREGAL_DECL GLXContext REGAL_CALL glXCreateContextAttribsARB(Display *dpy, GLXFBConfig config, GLXContext share_context, Bool direct, const int *attrib_list);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GLX_ARB_CREATE_CONTEXT\nREGAL_DECL GLXContext REGAL_CALL plugin_glXCreateContextAttribsARB(Display *dpy, GLXFBConfig config, GLXContext share_context, Bool direct, const int *attrib_list);\n#endif\n\n/**\n ** GLX_ARB_create_context_profile\n **/\n\n#if (defined(GLX_ARB_CREATE_CONTEXT_PROFILE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_ARB_CREATE_CONTEXT_PROFILE)) && !defined(REGAL_NO_ENUM_GLX_ARB_CREATE_CONTEXT_PROFILE)\n#define REGAL_NO_ENUM_GLX_ARB_CREATE_CONTEXT_PROFILE\n#endif\n\n#if (defined(GLX_ARB_CREATE_CONTEXT_PROFILE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_ARB_CREATE_CONTEXT_PROFILE)) && !defined(REGAL_NO_TYPEDEF_GLX_ARB_CREATE_CONTEXT_PROFILE)\n#define REGAL_NO_TYPEDEF_GLX_ARB_CREATE_CONTEXT_PROFILE\n#endif\n\n#if (defined(GLX_ARB_CREATE_CONTEXT_PROFILE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_ARB_CREATE_CONTEXT_PROFILE)) && !defined(REGAL_NO_NAMESPACE_GLX_ARB_CREATE_CONTEXT_PROFILE)\n#define REGAL_NO_NAMESPACE_GLX_ARB_CREATE_CONTEXT_PROFILE\n#endif\n\n#if (defined(GLX_ARB_CREATE_CONTEXT_PROFILE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_ARB_CREATE_CONTEXT_PROFILE)) && !defined(REGAL_NO_PLUGIN_GLX_ARB_CREATE_CONTEXT_PROFILE)\n#define REGAL_NO_PLUGIN_GLX_ARB_CREATE_CONTEXT_PROFILE\n#endif\n\n#if (defined(GLX_ARB_CREATE_CONTEXT_PROFILE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_ARB_CREATE_CONTEXT_PROFILE)) && !defined(REGAL_NO_DECLARATION_GLX_ARB_CREATE_CONTEXT_PROFILE)\n#define REGAL_NO_DECLARATION_GLX_ARB_CREATE_CONTEXT_PROFILE\n#endif\n\n#ifndef GLX_ARB_create_context_profile\n#define GLX_ARB_create_context_profile 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_ARB_CREATE_CONTEXT_PROFILE\n#define GLX_CONTEXT_CORE_PROFILE_BIT_ARB          0x1\n#define GLX_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB 0x2\n#define GLX_CONTEXT_PROFILE_MASK_ARB              0x9126     /* 37158 */\n#endif\n\n/**\n ** GLX_ARB_create_context_robustness\n **/\n\n#if (defined(GLX_ARB_CREATE_CONTEXT_ROBUSTNESS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_ARB_CREATE_CONTEXT_ROBUSTNESS)) && !defined(REGAL_NO_ENUM_GLX_ARB_CREATE_CONTEXT_ROBUSTNESS)\n#define REGAL_NO_ENUM_GLX_ARB_CREATE_CONTEXT_ROBUSTNESS\n#endif\n\n#if (defined(GLX_ARB_CREATE_CONTEXT_ROBUSTNESS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_ARB_CREATE_CONTEXT_ROBUSTNESS)) && !defined(REGAL_NO_TYPEDEF_GLX_ARB_CREATE_CONTEXT_ROBUSTNESS)\n#define REGAL_NO_TYPEDEF_GLX_ARB_CREATE_CONTEXT_ROBUSTNESS\n#endif\n\n#if (defined(GLX_ARB_CREATE_CONTEXT_ROBUSTNESS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_ARB_CREATE_CONTEXT_ROBUSTNESS)) && !defined(REGAL_NO_NAMESPACE_GLX_ARB_CREATE_CONTEXT_ROBUSTNESS)\n#define REGAL_NO_NAMESPACE_GLX_ARB_CREATE_CONTEXT_ROBUSTNESS\n#endif\n\n#if (defined(GLX_ARB_CREATE_CONTEXT_ROBUSTNESS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_ARB_CREATE_CONTEXT_ROBUSTNESS)) && !defined(REGAL_NO_PLUGIN_GLX_ARB_CREATE_CONTEXT_ROBUSTNESS)\n#define REGAL_NO_PLUGIN_GLX_ARB_CREATE_CONTEXT_ROBUSTNESS\n#endif\n\n#if (defined(GLX_ARB_CREATE_CONTEXT_ROBUSTNESS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_ARB_CREATE_CONTEXT_ROBUSTNESS)) && !defined(REGAL_NO_DECLARATION_GLX_ARB_CREATE_CONTEXT_ROBUSTNESS)\n#define REGAL_NO_DECLARATION_GLX_ARB_CREATE_CONTEXT_ROBUSTNESS\n#endif\n\n#ifndef GLX_ARB_create_context_robustness\n#define GLX_ARB_create_context_robustness 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_ARB_CREATE_CONTEXT_ROBUSTNESS\n#define GLX_CONTEXT_ROBUST_ACCESS_BIT_ARB           0x4\n#define GLX_LOSE_CONTEXT_ON_RESET_ARB               0x8252     /* 33362 */\n#define GLX_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB 0x8256     /* 33366 */\n#define GLX_NO_RESET_NOTIFICATION_ARB               0x8261     /* 33377 */\n#endif\n\n/**\n ** GLX_ARB_fbconfig_float\n **/\n\n#if (defined(GLX_ARB_FBCONFIG_FLOAT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_ARB_FBCONFIG_FLOAT)) && !defined(REGAL_NO_ENUM_GLX_ARB_FBCONFIG_FLOAT)\n#define REGAL_NO_ENUM_GLX_ARB_FBCONFIG_FLOAT\n#endif\n\n#if (defined(GLX_ARB_FBCONFIG_FLOAT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_ARB_FBCONFIG_FLOAT)) && !defined(REGAL_NO_TYPEDEF_GLX_ARB_FBCONFIG_FLOAT)\n#define REGAL_NO_TYPEDEF_GLX_ARB_FBCONFIG_FLOAT\n#endif\n\n#if (defined(GLX_ARB_FBCONFIG_FLOAT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_ARB_FBCONFIG_FLOAT)) && !defined(REGAL_NO_NAMESPACE_GLX_ARB_FBCONFIG_FLOAT)\n#define REGAL_NO_NAMESPACE_GLX_ARB_FBCONFIG_FLOAT\n#endif\n\n#if (defined(GLX_ARB_FBCONFIG_FLOAT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_ARB_FBCONFIG_FLOAT)) && !defined(REGAL_NO_PLUGIN_GLX_ARB_FBCONFIG_FLOAT)\n#define REGAL_NO_PLUGIN_GLX_ARB_FBCONFIG_FLOAT\n#endif\n\n#if (defined(GLX_ARB_FBCONFIG_FLOAT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_ARB_FBCONFIG_FLOAT)) && !defined(REGAL_NO_DECLARATION_GLX_ARB_FBCONFIG_FLOAT)\n#define REGAL_NO_DECLARATION_GLX_ARB_FBCONFIG_FLOAT\n#endif\n\n#ifndef GLX_ARB_fbconfig_float\n#define GLX_ARB_fbconfig_float 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_ARB_FBCONFIG_FLOAT\n#define GLX_RGBA_FLOAT_TYPE 0x20b9     /* 8377 */\n#define GLX_RGBA_FLOAT_BIT  0x4\n#endif\n\n/**\n ** GLX_ARB_framebuffer_sRGB\n **/\n\n#if (defined(GLX_ARB_FRAMEBUFFER_SRGB) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_ARB_FRAMEBUFFER_SRGB)) && !defined(REGAL_NO_ENUM_GLX_ARB_FRAMEBUFFER_SRGB)\n#define REGAL_NO_ENUM_GLX_ARB_FRAMEBUFFER_SRGB\n#endif\n\n#if (defined(GLX_ARB_FRAMEBUFFER_SRGB) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_ARB_FRAMEBUFFER_SRGB)) && !defined(REGAL_NO_TYPEDEF_GLX_ARB_FRAMEBUFFER_SRGB)\n#define REGAL_NO_TYPEDEF_GLX_ARB_FRAMEBUFFER_SRGB\n#endif\n\n#if (defined(GLX_ARB_FRAMEBUFFER_SRGB) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_ARB_FRAMEBUFFER_SRGB)) && !defined(REGAL_NO_NAMESPACE_GLX_ARB_FRAMEBUFFER_SRGB)\n#define REGAL_NO_NAMESPACE_GLX_ARB_FRAMEBUFFER_SRGB\n#endif\n\n#if (defined(GLX_ARB_FRAMEBUFFER_SRGB) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_ARB_FRAMEBUFFER_SRGB)) && !defined(REGAL_NO_PLUGIN_GLX_ARB_FRAMEBUFFER_SRGB)\n#define REGAL_NO_PLUGIN_GLX_ARB_FRAMEBUFFER_SRGB\n#endif\n\n#if (defined(GLX_ARB_FRAMEBUFFER_SRGB) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_ARB_FRAMEBUFFER_SRGB)) && !defined(REGAL_NO_DECLARATION_GLX_ARB_FRAMEBUFFER_SRGB)\n#define REGAL_NO_DECLARATION_GLX_ARB_FRAMEBUFFER_SRGB\n#endif\n\n#ifndef GLX_ARB_framebuffer_sRGB\n#define GLX_ARB_framebuffer_sRGB 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_ARB_FRAMEBUFFER_SRGB\n#define GLX_FRAMEBUFFER_SRGB_CAPABLE_ARB 0x20b2 /* 8370 */\n#endif\n\n/**\n ** GLX_ARB_get_proc_address\n **/\n\n#if (defined(GLX_ARB_GET_PROC_ADDRESS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_ARB_GET_PROC_ADDRESS)) && !defined(REGAL_NO_ENUM_GLX_ARB_GET_PROC_ADDRESS)\n#define REGAL_NO_ENUM_GLX_ARB_GET_PROC_ADDRESS\n#endif\n\n#if (defined(GLX_ARB_GET_PROC_ADDRESS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_ARB_GET_PROC_ADDRESS)) && !defined(REGAL_NO_TYPEDEF_GLX_ARB_GET_PROC_ADDRESS)\n#define REGAL_NO_TYPEDEF_GLX_ARB_GET_PROC_ADDRESS\n#endif\n\n#if (defined(GLX_ARB_GET_PROC_ADDRESS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_ARB_GET_PROC_ADDRESS)) && !defined(REGAL_NO_NAMESPACE_GLX_ARB_GET_PROC_ADDRESS)\n#define REGAL_NO_NAMESPACE_GLX_ARB_GET_PROC_ADDRESS\n#endif\n\n#if (defined(GLX_ARB_GET_PROC_ADDRESS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_ARB_GET_PROC_ADDRESS)) && !defined(REGAL_NO_PLUGIN_GLX_ARB_GET_PROC_ADDRESS)\n#define REGAL_NO_PLUGIN_GLX_ARB_GET_PROC_ADDRESS\n#endif\n\n#if (defined(GLX_ARB_GET_PROC_ADDRESS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_ARB_GET_PROC_ADDRESS)) && !defined(REGAL_NO_DECLARATION_GLX_ARB_GET_PROC_ADDRESS)\n#define REGAL_NO_DECLARATION_GLX_ARB_GET_PROC_ADDRESS\n#endif\n\n#ifndef GLX_ARB_get_proc_address\n#define GLX_ARB_get_proc_address 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GLX_ARB_GET_PROC_ADDRESS\ntypedef __GLXextFuncPtr (REGAL_CALL *PFNGLXGETPROCADDRESSARBPROC)(const GLubyte *procName);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GLX_ARB_GET_PROC_ADDRESS\n#define glXGetProcAddressARB                rglXGetProcAddressARB\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GLX_ARB_GET_PROC_ADDRESS\nREGAL_DECL __GLXextFuncPtr REGAL_CALL glXGetProcAddressARB(const GLubyte *procName);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GLX_ARB_GET_PROC_ADDRESS\nREGAL_DECL __GLXextFuncPtr REGAL_CALL plugin_glXGetProcAddressARB(const GLubyte *procName);\n#endif\n\n/**\n ** GLX_ARB_multisample\n **/\n\n#if (defined(GLX_ARB_MULTISAMPLE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_ARB_MULTISAMPLE)) && !defined(REGAL_NO_ENUM_GLX_ARB_MULTISAMPLE)\n#define REGAL_NO_ENUM_GLX_ARB_MULTISAMPLE\n#endif\n\n#if (defined(GLX_ARB_MULTISAMPLE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_ARB_MULTISAMPLE)) && !defined(REGAL_NO_TYPEDEF_GLX_ARB_MULTISAMPLE)\n#define REGAL_NO_TYPEDEF_GLX_ARB_MULTISAMPLE\n#endif\n\n#if (defined(GLX_ARB_MULTISAMPLE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_ARB_MULTISAMPLE)) && !defined(REGAL_NO_NAMESPACE_GLX_ARB_MULTISAMPLE)\n#define REGAL_NO_NAMESPACE_GLX_ARB_MULTISAMPLE\n#endif\n\n#if (defined(GLX_ARB_MULTISAMPLE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_ARB_MULTISAMPLE)) && !defined(REGAL_NO_PLUGIN_GLX_ARB_MULTISAMPLE)\n#define REGAL_NO_PLUGIN_GLX_ARB_MULTISAMPLE\n#endif\n\n#if (defined(GLX_ARB_MULTISAMPLE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_ARB_MULTISAMPLE)) && !defined(REGAL_NO_DECLARATION_GLX_ARB_MULTISAMPLE)\n#define REGAL_NO_DECLARATION_GLX_ARB_MULTISAMPLE\n#endif\n\n#ifndef GLX_ARB_multisample\n#define GLX_ARB_multisample 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_ARB_MULTISAMPLE\n#define GLX_SAMPLE_BUFFERS_ARB 0x186a0     /* 100000 */\n#define GLX_SAMPLES_ARB        0x186a1     /* 100001 */\n#endif\n\n/**\n ** GLX_ARB_robustness_share_group_isolation\n **/\n\n#if (defined(GLX_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION)) && !defined(REGAL_NO_ENUM_GLX_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION)\n#define REGAL_NO_ENUM_GLX_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION\n#endif\n\n#if (defined(GLX_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION)) && !defined(REGAL_NO_TYPEDEF_GLX_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION)\n#define REGAL_NO_TYPEDEF_GLX_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION\n#endif\n\n#if (defined(GLX_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION)) && !defined(REGAL_NO_NAMESPACE_GLX_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION)\n#define REGAL_NO_NAMESPACE_GLX_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION\n#endif\n\n#if (defined(GLX_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION)) && !defined(REGAL_NO_PLUGIN_GLX_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION)\n#define REGAL_NO_PLUGIN_GLX_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION\n#endif\n\n#if (defined(GLX_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION)) && !defined(REGAL_NO_DECLARATION_GLX_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION)\n#define REGAL_NO_DECLARATION_GLX_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION\n#endif\n\n#ifndef GLX_ARB_robustness_share_group_isolation\n#define GLX_ARB_robustness_share_group_isolation 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION\n#define GLX_CONTEXT_RESET_ISOLATION_BIT_ARB 0x8\n#endif\n\n/**\n ** GLX_ARB_vertex_buffer_object\n **/\n\n#if (defined(GLX_ARB_VERTEX_BUFFER_OBJECT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_ARB_VERTEX_BUFFER_OBJECT)) && !defined(REGAL_NO_ENUM_GLX_ARB_VERTEX_BUFFER_OBJECT)\n#define REGAL_NO_ENUM_GLX_ARB_VERTEX_BUFFER_OBJECT\n#endif\n\n#if (defined(GLX_ARB_VERTEX_BUFFER_OBJECT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_ARB_VERTEX_BUFFER_OBJECT)) && !defined(REGAL_NO_TYPEDEF_GLX_ARB_VERTEX_BUFFER_OBJECT)\n#define REGAL_NO_TYPEDEF_GLX_ARB_VERTEX_BUFFER_OBJECT\n#endif\n\n#if (defined(GLX_ARB_VERTEX_BUFFER_OBJECT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_ARB_VERTEX_BUFFER_OBJECT)) && !defined(REGAL_NO_NAMESPACE_GLX_ARB_VERTEX_BUFFER_OBJECT)\n#define REGAL_NO_NAMESPACE_GLX_ARB_VERTEX_BUFFER_OBJECT\n#endif\n\n#if (defined(GLX_ARB_VERTEX_BUFFER_OBJECT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_ARB_VERTEX_BUFFER_OBJECT)) && !defined(REGAL_NO_PLUGIN_GLX_ARB_VERTEX_BUFFER_OBJECT)\n#define REGAL_NO_PLUGIN_GLX_ARB_VERTEX_BUFFER_OBJECT\n#endif\n\n#if (defined(GLX_ARB_VERTEX_BUFFER_OBJECT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_ARB_VERTEX_BUFFER_OBJECT)) && !defined(REGAL_NO_DECLARATION_GLX_ARB_VERTEX_BUFFER_OBJECT)\n#define REGAL_NO_DECLARATION_GLX_ARB_VERTEX_BUFFER_OBJECT\n#endif\n\n#ifndef GLX_ARB_vertex_buffer_object\n#define GLX_ARB_vertex_buffer_object 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_ARB_VERTEX_BUFFER_OBJECT\n#define GLX_CONTEXT_ALLOW_BUFFER_BYTE_ORDER_MISMATCH_ARB 0x2095 /* 8341 */\n#endif\n\n/**\n ** GLX_ATI_pixel_format_float\n **/\n\n#if (defined(GLX_ATI_PIXEL_FORMAT_FLOAT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_ATI_PIXEL_FORMAT_FLOAT)) && !defined(REGAL_NO_ENUM_GLX_ATI_PIXEL_FORMAT_FLOAT)\n#define REGAL_NO_ENUM_GLX_ATI_PIXEL_FORMAT_FLOAT\n#endif\n\n#if (defined(GLX_ATI_PIXEL_FORMAT_FLOAT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_ATI_PIXEL_FORMAT_FLOAT)) && !defined(REGAL_NO_TYPEDEF_GLX_ATI_PIXEL_FORMAT_FLOAT)\n#define REGAL_NO_TYPEDEF_GLX_ATI_PIXEL_FORMAT_FLOAT\n#endif\n\n#if (defined(GLX_ATI_PIXEL_FORMAT_FLOAT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_ATI_PIXEL_FORMAT_FLOAT)) && !defined(REGAL_NO_NAMESPACE_GLX_ATI_PIXEL_FORMAT_FLOAT)\n#define REGAL_NO_NAMESPACE_GLX_ATI_PIXEL_FORMAT_FLOAT\n#endif\n\n#if (defined(GLX_ATI_PIXEL_FORMAT_FLOAT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_ATI_PIXEL_FORMAT_FLOAT)) && !defined(REGAL_NO_PLUGIN_GLX_ATI_PIXEL_FORMAT_FLOAT)\n#define REGAL_NO_PLUGIN_GLX_ATI_PIXEL_FORMAT_FLOAT\n#endif\n\n#if (defined(GLX_ATI_PIXEL_FORMAT_FLOAT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_ATI_PIXEL_FORMAT_FLOAT)) && !defined(REGAL_NO_DECLARATION_GLX_ATI_PIXEL_FORMAT_FLOAT)\n#define REGAL_NO_DECLARATION_GLX_ATI_PIXEL_FORMAT_FLOAT\n#endif\n\n#ifndef GLX_ATI_pixel_format_float\n#define GLX_ATI_pixel_format_float 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_ATI_PIXEL_FORMAT_FLOAT\n#define GLX_RGBA_FLOAT_ATI_BIT 0x100 /* 256 */\n#endif\n\n/**\n ** GLX_ATI_render_texture\n **/\n\n#if (defined(GLX_ATI_RENDER_TEXTURE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_ATI_RENDER_TEXTURE)) && !defined(REGAL_NO_ENUM_GLX_ATI_RENDER_TEXTURE)\n#define REGAL_NO_ENUM_GLX_ATI_RENDER_TEXTURE\n#endif\n\n#if (defined(GLX_ATI_RENDER_TEXTURE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_ATI_RENDER_TEXTURE)) && !defined(REGAL_NO_TYPEDEF_GLX_ATI_RENDER_TEXTURE)\n#define REGAL_NO_TYPEDEF_GLX_ATI_RENDER_TEXTURE\n#endif\n\n#if (defined(GLX_ATI_RENDER_TEXTURE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_ATI_RENDER_TEXTURE)) && !defined(REGAL_NO_NAMESPACE_GLX_ATI_RENDER_TEXTURE)\n#define REGAL_NO_NAMESPACE_GLX_ATI_RENDER_TEXTURE\n#endif\n\n#if (defined(GLX_ATI_RENDER_TEXTURE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_ATI_RENDER_TEXTURE)) && !defined(REGAL_NO_PLUGIN_GLX_ATI_RENDER_TEXTURE)\n#define REGAL_NO_PLUGIN_GLX_ATI_RENDER_TEXTURE\n#endif\n\n#if (defined(GLX_ATI_RENDER_TEXTURE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_ATI_RENDER_TEXTURE)) && !defined(REGAL_NO_DECLARATION_GLX_ATI_RENDER_TEXTURE)\n#define REGAL_NO_DECLARATION_GLX_ATI_RENDER_TEXTURE\n#endif\n\n#ifndef GLX_ATI_render_texture\n#define GLX_ATI_render_texture 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_ATI_RENDER_TEXTURE\n#define GLX_BIND_TO_TEXTURE_RGB_ATI         0x9800     /* 38912 */\n#define GLX_BIND_TO_TEXTURE_RGBA_ATI        0x9801     /* 38913 */\n#define GLX_TEXTURE_FORMAT_ATI              0x9802     /* 38914 */\n#define GLX_TEXTURE_TARGET_ATI              0x9803     /* 38915 */\n#define GLX_MIPMAP_TEXTURE_ATI              0x9804     /* 38916 */\n#define GLX_TEXTURE_RGB_ATI                 0x9805     /* 38917 */\n#define GLX_TEXTURE_RGBA_ATI                0x9806     /* 38918 */\n#define GLX_NO_TEXTURE_ATI                  0x9807     /* 38919 */\n#define GLX_TEXTURE_CUBE_MAP_ATI            0x9808     /* 38920 */\n#define GLX_TEXTURE_1D_ATI                  0x9809     /* 38921 */\n#define GLX_TEXTURE_2D_ATI                  0x980a     /* 38922 */\n#define GLX_MIPMAP_LEVEL_ATI                0x980b     /* 38923 */\n#define GLX_CUBE_MAP_FACE_ATI               0x980c     /* 38924 */\n#define GLX_TEXTURE_CUBE_MAP_POSITIVE_X_ATI 0x980d     /* 38925 */\n#define GLX_TEXTURE_CUBE_MAP_NEGATIVE_X_ATI 0x980e     /* 38926 */\n#define GLX_TEXTURE_CUBE_MAP_POSITIVE_Y_ATI 0x980f     /* 38927 */\n#define GLX_TEXTURE_CUBE_MAP_NEGATIVE_Y_ATI 0x9810     /* 38928 */\n#define GLX_TEXTURE_CUBE_MAP_POSITIVE_Z_ATI 0x9811     /* 38929 */\n#define GLX_TEXTURE_CUBE_MAP_NEGATIVE_Z_ATI 0x9812     /* 38930 */\n#define GLX_FRONT_LEFT_ATI                  0x9813     /* 38931 */\n#define GLX_FRONT_RIGHT_ATI                 0x9814     /* 38932 */\n#define GLX_BACK_LEFT_ATI                   0x9815     /* 38933 */\n#define GLX_BACK_RIGHT_ATI                  0x9816     /* 38934 */\n#define GLX_AUX0_ATI                        0x9817     /* 38935 */\n#define GLX_AUX1_ATI                        0x9818     /* 38936 */\n#define GLX_AUX2_ATI                        0x9819     /* 38937 */\n#define GLX_AUX3_ATI                        0x981a     /* 38938 */\n#define GLX_AUX4_ATI                        0x981b     /* 38939 */\n#define GLX_AUX5_ATI                        0x981c     /* 38940 */\n#define GLX_AUX6_ATI                        0x981d     /* 38941 */\n#define GLX_AUX7_ATI                        0x981e     /* 38942 */\n#define GLX_AUX8_ATI                        0x981f     /* 38943 */\n#define GLX_AUX9_ATI                        0x9820     /* 38944 */\n#define GLX_BIND_TO_TEXTURE_LUMINANCE_ATI   0x9821     /* 38945 */\n#define GLX_BIND_TO_TEXTURE_INTENSITY_ATI   0x9822     /* 38946 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GLX_ATI_RENDER_TEXTURE\ntypedef void (REGAL_CALL *PFNGLXBINDTEXIMAGEATIPROC)(Display *dpy, GLXPbuffer pbuf, int buffer);\ntypedef void (REGAL_CALL *PFNGLXDRAWABLEATTRIBATIPROC)(Display *dpy, GLXDrawable draw, const int *attrib_list);\ntypedef void (REGAL_CALL *PFNGLXRELEASETEXIMAGEATIPROC)(Display *dpy, GLXPbuffer pbuf, int buffer);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GLX_ATI_RENDER_TEXTURE\n#define glXBindTexImageATI                  rglXBindTexImageATI\n#define glXDrawableAttribATI                rglXDrawableAttribATI\n#define glXReleaseTexImageATI               rglXReleaseTexImageATI\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GLX_ATI_RENDER_TEXTURE\nREGAL_DECL void REGAL_CALL glXBindTexImageATI(Display *dpy, GLXPbuffer pbuf, int buffer);\nREGAL_DECL void REGAL_CALL glXDrawableAttribATI(Display *dpy, GLXDrawable draw, const int *attrib_list);\nREGAL_DECL void REGAL_CALL glXReleaseTexImageATI(Display *dpy, GLXPbuffer pbuf, int buffer);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GLX_ATI_RENDER_TEXTURE\nREGAL_DECL void REGAL_CALL plugin_glXBindTexImageATI(Display *dpy, GLXPbuffer pbuf, int buffer);\nREGAL_DECL void REGAL_CALL plugin_glXDrawableAttribATI(Display *dpy, GLXDrawable draw, const int *attrib_list);\nREGAL_DECL void REGAL_CALL plugin_glXReleaseTexImageATI(Display *dpy, GLXPbuffer pbuf, int buffer);\n#endif\n\n/**\n ** GLX_EXT_create_context_es2_profile\n **/\n\n#if (defined(GLX_EXT_CREATE_CONTEXT_ES2_PROFILE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_EXT_CREATE_CONTEXT_ES2_PROFILE)) && !defined(REGAL_NO_ENUM_GLX_EXT_CREATE_CONTEXT_ES2_PROFILE)\n#define REGAL_NO_ENUM_GLX_EXT_CREATE_CONTEXT_ES2_PROFILE\n#endif\n\n#if (defined(GLX_EXT_CREATE_CONTEXT_ES2_PROFILE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_EXT_CREATE_CONTEXT_ES2_PROFILE)) && !defined(REGAL_NO_TYPEDEF_GLX_EXT_CREATE_CONTEXT_ES2_PROFILE)\n#define REGAL_NO_TYPEDEF_GLX_EXT_CREATE_CONTEXT_ES2_PROFILE\n#endif\n\n#if (defined(GLX_EXT_CREATE_CONTEXT_ES2_PROFILE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_EXT_CREATE_CONTEXT_ES2_PROFILE)) && !defined(REGAL_NO_NAMESPACE_GLX_EXT_CREATE_CONTEXT_ES2_PROFILE)\n#define REGAL_NO_NAMESPACE_GLX_EXT_CREATE_CONTEXT_ES2_PROFILE\n#endif\n\n#if (defined(GLX_EXT_CREATE_CONTEXT_ES2_PROFILE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_EXT_CREATE_CONTEXT_ES2_PROFILE)) && !defined(REGAL_NO_PLUGIN_GLX_EXT_CREATE_CONTEXT_ES2_PROFILE)\n#define REGAL_NO_PLUGIN_GLX_EXT_CREATE_CONTEXT_ES2_PROFILE\n#endif\n\n#if (defined(GLX_EXT_CREATE_CONTEXT_ES2_PROFILE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_EXT_CREATE_CONTEXT_ES2_PROFILE)) && !defined(REGAL_NO_DECLARATION_GLX_EXT_CREATE_CONTEXT_ES2_PROFILE)\n#define REGAL_NO_DECLARATION_GLX_EXT_CREATE_CONTEXT_ES2_PROFILE\n#endif\n\n#ifndef GLX_EXT_create_context_es2_profile\n#define GLX_EXT_create_context_es2_profile 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_EXT_CREATE_CONTEXT_ES2_PROFILE\n#define GLX_CONTEXT_ES2_PROFILE_BIT_EXT 0x4\n#endif\n\n/**\n ** GLX_EXT_create_context_es_profile\n **/\n\n#if (defined(GLX_EXT_CREATE_CONTEXT_ES_PROFILE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_EXT_CREATE_CONTEXT_ES_PROFILE)) && !defined(REGAL_NO_ENUM_GLX_EXT_CREATE_CONTEXT_ES_PROFILE)\n#define REGAL_NO_ENUM_GLX_EXT_CREATE_CONTEXT_ES_PROFILE\n#endif\n\n#if (defined(GLX_EXT_CREATE_CONTEXT_ES_PROFILE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_EXT_CREATE_CONTEXT_ES_PROFILE)) && !defined(REGAL_NO_TYPEDEF_GLX_EXT_CREATE_CONTEXT_ES_PROFILE)\n#define REGAL_NO_TYPEDEF_GLX_EXT_CREATE_CONTEXT_ES_PROFILE\n#endif\n\n#if (defined(GLX_EXT_CREATE_CONTEXT_ES_PROFILE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_EXT_CREATE_CONTEXT_ES_PROFILE)) && !defined(REGAL_NO_NAMESPACE_GLX_EXT_CREATE_CONTEXT_ES_PROFILE)\n#define REGAL_NO_NAMESPACE_GLX_EXT_CREATE_CONTEXT_ES_PROFILE\n#endif\n\n#if (defined(GLX_EXT_CREATE_CONTEXT_ES_PROFILE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_EXT_CREATE_CONTEXT_ES_PROFILE)) && !defined(REGAL_NO_PLUGIN_GLX_EXT_CREATE_CONTEXT_ES_PROFILE)\n#define REGAL_NO_PLUGIN_GLX_EXT_CREATE_CONTEXT_ES_PROFILE\n#endif\n\n#if (defined(GLX_EXT_CREATE_CONTEXT_ES_PROFILE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_EXT_CREATE_CONTEXT_ES_PROFILE)) && !defined(REGAL_NO_DECLARATION_GLX_EXT_CREATE_CONTEXT_ES_PROFILE)\n#define REGAL_NO_DECLARATION_GLX_EXT_CREATE_CONTEXT_ES_PROFILE\n#endif\n\n#ifndef GLX_EXT_create_context_es_profile\n#define GLX_EXT_create_context_es_profile 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_EXT_CREATE_CONTEXT_ES_PROFILE\n#define GLX_CONTEXT_ES_PROFILE_BIT_EXT 0x4\n#endif\n\n/**\n ** GLX_EXT_fbconfig_packed_float\n **/\n\n#if (defined(GLX_EXT_FBCONFIG_PACKED_FLOAT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_EXT_FBCONFIG_PACKED_FLOAT)) && !defined(REGAL_NO_ENUM_GLX_EXT_FBCONFIG_PACKED_FLOAT)\n#define REGAL_NO_ENUM_GLX_EXT_FBCONFIG_PACKED_FLOAT\n#endif\n\n#if (defined(GLX_EXT_FBCONFIG_PACKED_FLOAT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_EXT_FBCONFIG_PACKED_FLOAT)) && !defined(REGAL_NO_TYPEDEF_GLX_EXT_FBCONFIG_PACKED_FLOAT)\n#define REGAL_NO_TYPEDEF_GLX_EXT_FBCONFIG_PACKED_FLOAT\n#endif\n\n#if (defined(GLX_EXT_FBCONFIG_PACKED_FLOAT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_EXT_FBCONFIG_PACKED_FLOAT)) && !defined(REGAL_NO_NAMESPACE_GLX_EXT_FBCONFIG_PACKED_FLOAT)\n#define REGAL_NO_NAMESPACE_GLX_EXT_FBCONFIG_PACKED_FLOAT\n#endif\n\n#if (defined(GLX_EXT_FBCONFIG_PACKED_FLOAT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_EXT_FBCONFIG_PACKED_FLOAT)) && !defined(REGAL_NO_PLUGIN_GLX_EXT_FBCONFIG_PACKED_FLOAT)\n#define REGAL_NO_PLUGIN_GLX_EXT_FBCONFIG_PACKED_FLOAT\n#endif\n\n#if (defined(GLX_EXT_FBCONFIG_PACKED_FLOAT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_EXT_FBCONFIG_PACKED_FLOAT)) && !defined(REGAL_NO_DECLARATION_GLX_EXT_FBCONFIG_PACKED_FLOAT)\n#define REGAL_NO_DECLARATION_GLX_EXT_FBCONFIG_PACKED_FLOAT\n#endif\n\n#ifndef GLX_EXT_fbconfig_packed_float\n#define GLX_EXT_fbconfig_packed_float 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_EXT_FBCONFIG_PACKED_FLOAT\n#define GLX_RGBA_UNSIGNED_FLOAT_TYPE_EXT 0x20b1     /* 8369 */\n#define GLX_RGBA_UNSIGNED_FLOAT_BIT_EXT  0x8\n#endif\n\n/**\n ** GLX_EXT_framebuffer_sRGB\n **/\n\n#if (defined(GLX_EXT_FRAMEBUFFER_SRGB) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_EXT_FRAMEBUFFER_SRGB)) && !defined(REGAL_NO_ENUM_GLX_EXT_FRAMEBUFFER_SRGB)\n#define REGAL_NO_ENUM_GLX_EXT_FRAMEBUFFER_SRGB\n#endif\n\n#if (defined(GLX_EXT_FRAMEBUFFER_SRGB) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_EXT_FRAMEBUFFER_SRGB)) && !defined(REGAL_NO_TYPEDEF_GLX_EXT_FRAMEBUFFER_SRGB)\n#define REGAL_NO_TYPEDEF_GLX_EXT_FRAMEBUFFER_SRGB\n#endif\n\n#if (defined(GLX_EXT_FRAMEBUFFER_SRGB) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_EXT_FRAMEBUFFER_SRGB)) && !defined(REGAL_NO_NAMESPACE_GLX_EXT_FRAMEBUFFER_SRGB)\n#define REGAL_NO_NAMESPACE_GLX_EXT_FRAMEBUFFER_SRGB\n#endif\n\n#if (defined(GLX_EXT_FRAMEBUFFER_SRGB) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_EXT_FRAMEBUFFER_SRGB)) && !defined(REGAL_NO_PLUGIN_GLX_EXT_FRAMEBUFFER_SRGB)\n#define REGAL_NO_PLUGIN_GLX_EXT_FRAMEBUFFER_SRGB\n#endif\n\n#if (defined(GLX_EXT_FRAMEBUFFER_SRGB) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_EXT_FRAMEBUFFER_SRGB)) && !defined(REGAL_NO_DECLARATION_GLX_EXT_FRAMEBUFFER_SRGB)\n#define REGAL_NO_DECLARATION_GLX_EXT_FRAMEBUFFER_SRGB\n#endif\n\n#ifndef GLX_EXT_framebuffer_sRGB\n#define GLX_EXT_framebuffer_sRGB 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_EXT_FRAMEBUFFER_SRGB\n#define GLX_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x20b2 /* 8370 */\n#endif\n\n/**\n ** GLX_EXT_import_context\n **/\n\n#if (defined(GLX_EXT_IMPORT_CONTEXT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_EXT_IMPORT_CONTEXT)) && !defined(REGAL_NO_ENUM_GLX_EXT_IMPORT_CONTEXT)\n#define REGAL_NO_ENUM_GLX_EXT_IMPORT_CONTEXT\n#endif\n\n#if (defined(GLX_EXT_IMPORT_CONTEXT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_EXT_IMPORT_CONTEXT)) && !defined(REGAL_NO_TYPEDEF_GLX_EXT_IMPORT_CONTEXT)\n#define REGAL_NO_TYPEDEF_GLX_EXT_IMPORT_CONTEXT\n#endif\n\n#if (defined(GLX_EXT_IMPORT_CONTEXT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_EXT_IMPORT_CONTEXT)) && !defined(REGAL_NO_NAMESPACE_GLX_EXT_IMPORT_CONTEXT)\n#define REGAL_NO_NAMESPACE_GLX_EXT_IMPORT_CONTEXT\n#endif\n\n#if (defined(GLX_EXT_IMPORT_CONTEXT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_EXT_IMPORT_CONTEXT)) && !defined(REGAL_NO_PLUGIN_GLX_EXT_IMPORT_CONTEXT)\n#define REGAL_NO_PLUGIN_GLX_EXT_IMPORT_CONTEXT\n#endif\n\n#if (defined(GLX_EXT_IMPORT_CONTEXT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_EXT_IMPORT_CONTEXT)) && !defined(REGAL_NO_DECLARATION_GLX_EXT_IMPORT_CONTEXT)\n#define REGAL_NO_DECLARATION_GLX_EXT_IMPORT_CONTEXT\n#endif\n\n#ifndef GLX_EXT_import_context\n#define GLX_EXT_import_context 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_EXT_IMPORT_CONTEXT\n#define GLX_SHARE_CONTEXT_EXT 0x800a     /* 32778 */\n#define GLX_VISUAL_ID_EXT     0x800b     /* 32779 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GLX_EXT_IMPORT_CONTEXT\ntypedef GLXContext (REGAL_CALL *PFNGLXIMPORTCONTEXTEXTPROC)(Display *dpy, GLXContextID contextID);\ntypedef GLXContextID (REGAL_CALL *PFNGLXGETCONTEXTIDEXTPROC)(const GLXContext context);\ntypedef int (REGAL_CALL *PFNGLXQUERYCONTEXTINFOEXTPROC)(Display *dpy, GLXContext context, int attribute, int *value);\ntypedef void (REGAL_CALL *PFNGLXFREECONTEXTEXTPROC)(Display *dpy, GLXContext context);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GLX_EXT_IMPORT_CONTEXT\n#define glXFreeContextEXT                   rglXFreeContextEXT\n#define glXGetContextIDEXT                  rglXGetContextIDEXT\n#define glXImportContextEXT                 rglXImportContextEXT\n#define glXQueryContextInfoEXT              rglXQueryContextInfoEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GLX_EXT_IMPORT_CONTEXT\nREGAL_DECL GLXContext REGAL_CALL glXImportContextEXT(Display *dpy, GLXContextID contextID);\nREGAL_DECL GLXContextID REGAL_CALL glXGetContextIDEXT(const GLXContext context);\nREGAL_DECL int REGAL_CALL glXQueryContextInfoEXT(Display *dpy, GLXContext context, int attribute, int *value);\nREGAL_DECL void REGAL_CALL glXFreeContextEXT(Display *dpy, GLXContext context);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GLX_EXT_IMPORT_CONTEXT\nREGAL_DECL GLXContext REGAL_CALL plugin_glXImportContextEXT(Display *dpy, GLXContextID contextID);\nREGAL_DECL GLXContextID REGAL_CALL plugin_glXGetContextIDEXT(const GLXContext context);\nREGAL_DECL int REGAL_CALL plugin_glXQueryContextInfoEXT(Display *dpy, GLXContext context, int attribute, int *value);\nREGAL_DECL void REGAL_CALL plugin_glXFreeContextEXT(Display *dpy, GLXContext context);\n#endif\n\n/**\n ** GLX_EXT_swap_control\n **/\n\n#if (defined(GLX_EXT_SWAP_CONTROL) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_EXT_SWAP_CONTROL)) && !defined(REGAL_NO_ENUM_GLX_EXT_SWAP_CONTROL)\n#define REGAL_NO_ENUM_GLX_EXT_SWAP_CONTROL\n#endif\n\n#if (defined(GLX_EXT_SWAP_CONTROL) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_EXT_SWAP_CONTROL)) && !defined(REGAL_NO_TYPEDEF_GLX_EXT_SWAP_CONTROL)\n#define REGAL_NO_TYPEDEF_GLX_EXT_SWAP_CONTROL\n#endif\n\n#if (defined(GLX_EXT_SWAP_CONTROL) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_EXT_SWAP_CONTROL)) && !defined(REGAL_NO_NAMESPACE_GLX_EXT_SWAP_CONTROL)\n#define REGAL_NO_NAMESPACE_GLX_EXT_SWAP_CONTROL\n#endif\n\n#if (defined(GLX_EXT_SWAP_CONTROL) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_EXT_SWAP_CONTROL)) && !defined(REGAL_NO_PLUGIN_GLX_EXT_SWAP_CONTROL)\n#define REGAL_NO_PLUGIN_GLX_EXT_SWAP_CONTROL\n#endif\n\n#if (defined(GLX_EXT_SWAP_CONTROL) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_EXT_SWAP_CONTROL)) && !defined(REGAL_NO_DECLARATION_GLX_EXT_SWAP_CONTROL)\n#define REGAL_NO_DECLARATION_GLX_EXT_SWAP_CONTROL\n#endif\n\n#ifndef GLX_EXT_swap_control\n#define GLX_EXT_swap_control 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_EXT_SWAP_CONTROL\n#define GLX_SWAP_INTERVAL_EXT     0x20f1     /* 8433 */\n#define GLX_MAX_SWAP_INTERVAL_EXT 0x20f2     /* 8434 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GLX_EXT_SWAP_CONTROL\ntypedef void (REGAL_CALL *PFNGLXSWAPINTERVALEXTPROC)(Display *dpy, GLXDrawable drawable, int interval);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GLX_EXT_SWAP_CONTROL\n#define glXSwapIntervalEXT                  rglXSwapIntervalEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GLX_EXT_SWAP_CONTROL\nREGAL_DECL void REGAL_CALL glXSwapIntervalEXT(Display *dpy, GLXDrawable drawable, int interval);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GLX_EXT_SWAP_CONTROL\nREGAL_DECL void REGAL_CALL plugin_glXSwapIntervalEXT(Display *dpy, GLXDrawable drawable, int interval);\n#endif\n\n/**\n ** GLX_EXT_swap_control_tear\n **/\n\n#if (defined(GLX_EXT_SWAP_CONTROL_TEAR) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_EXT_SWAP_CONTROL_TEAR)) && !defined(REGAL_NO_ENUM_GLX_EXT_SWAP_CONTROL_TEAR)\n#define REGAL_NO_ENUM_GLX_EXT_SWAP_CONTROL_TEAR\n#endif\n\n#if (defined(GLX_EXT_SWAP_CONTROL_TEAR) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_EXT_SWAP_CONTROL_TEAR)) && !defined(REGAL_NO_TYPEDEF_GLX_EXT_SWAP_CONTROL_TEAR)\n#define REGAL_NO_TYPEDEF_GLX_EXT_SWAP_CONTROL_TEAR\n#endif\n\n#if (defined(GLX_EXT_SWAP_CONTROL_TEAR) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_EXT_SWAP_CONTROL_TEAR)) && !defined(REGAL_NO_NAMESPACE_GLX_EXT_SWAP_CONTROL_TEAR)\n#define REGAL_NO_NAMESPACE_GLX_EXT_SWAP_CONTROL_TEAR\n#endif\n\n#if (defined(GLX_EXT_SWAP_CONTROL_TEAR) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_EXT_SWAP_CONTROL_TEAR)) && !defined(REGAL_NO_PLUGIN_GLX_EXT_SWAP_CONTROL_TEAR)\n#define REGAL_NO_PLUGIN_GLX_EXT_SWAP_CONTROL_TEAR\n#endif\n\n#if (defined(GLX_EXT_SWAP_CONTROL_TEAR) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_EXT_SWAP_CONTROL_TEAR)) && !defined(REGAL_NO_DECLARATION_GLX_EXT_SWAP_CONTROL_TEAR)\n#define REGAL_NO_DECLARATION_GLX_EXT_SWAP_CONTROL_TEAR\n#endif\n\n#ifndef GLX_EXT_swap_control_tear\n#define GLX_EXT_swap_control_tear 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_EXT_SWAP_CONTROL_TEAR\n#define GLX_LATE_SWAPS_TEAR_EXT 0x20f3 /* 8435 */\n#endif\n\n/**\n ** GLX_EXT_texture_from_pixmap\n **/\n\n#if (defined(GLX_EXT_TEXTURE_FROM_PIXMAP) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_EXT_TEXTURE_FROM_PIXMAP)) && !defined(REGAL_NO_ENUM_GLX_EXT_TEXTURE_FROM_PIXMAP)\n#define REGAL_NO_ENUM_GLX_EXT_TEXTURE_FROM_PIXMAP\n#endif\n\n#if (defined(GLX_EXT_TEXTURE_FROM_PIXMAP) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_EXT_TEXTURE_FROM_PIXMAP)) && !defined(REGAL_NO_TYPEDEF_GLX_EXT_TEXTURE_FROM_PIXMAP)\n#define REGAL_NO_TYPEDEF_GLX_EXT_TEXTURE_FROM_PIXMAP\n#endif\n\n#if (defined(GLX_EXT_TEXTURE_FROM_PIXMAP) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_EXT_TEXTURE_FROM_PIXMAP)) && !defined(REGAL_NO_NAMESPACE_GLX_EXT_TEXTURE_FROM_PIXMAP)\n#define REGAL_NO_NAMESPACE_GLX_EXT_TEXTURE_FROM_PIXMAP\n#endif\n\n#if (defined(GLX_EXT_TEXTURE_FROM_PIXMAP) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_EXT_TEXTURE_FROM_PIXMAP)) && !defined(REGAL_NO_PLUGIN_GLX_EXT_TEXTURE_FROM_PIXMAP)\n#define REGAL_NO_PLUGIN_GLX_EXT_TEXTURE_FROM_PIXMAP\n#endif\n\n#if (defined(GLX_EXT_TEXTURE_FROM_PIXMAP) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_EXT_TEXTURE_FROM_PIXMAP)) && !defined(REGAL_NO_DECLARATION_GLX_EXT_TEXTURE_FROM_PIXMAP)\n#define REGAL_NO_DECLARATION_GLX_EXT_TEXTURE_FROM_PIXMAP\n#endif\n\n#ifndef GLX_EXT_texture_from_pixmap\n#define GLX_EXT_texture_from_pixmap 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_EXT_TEXTURE_FROM_PIXMAP\n#define GLX_TEXTURE_1D_BIT_EXT          0x1\n#define GLX_TEXTURE_2D_BIT_EXT          0x2\n#define GLX_BIND_TO_TEXTURE_RGB_EXT     0x20d0     /* 8400 */\n#define GLX_BIND_TO_TEXTURE_RGBA_EXT    0x20d1     /* 8401 */\n#define GLX_BIND_TO_MIPMAP_TEXTURE_EXT  0x20d2     /* 8402 */\n#define GLX_BIND_TO_TEXTURE_TARGETS_EXT 0x20d3     /* 8403 */\n#define GLX_Y_INVERTED_EXT              0x20d4     /* 8404 */\n#define GLX_TEXTURE_FORMAT_EXT          0x20d5     /* 8405 */\n#define GLX_TEXTURE_TARGET_EXT          0x20d6     /* 8406 */\n#define GLX_MIPMAP_TEXTURE_EXT          0x20d7     /* 8407 */\n#define GLX_TEXTURE_FORMAT_NONE_EXT     0x20d8     /* 8408 */\n#define GLX_TEXTURE_FORMAT_RGB_EXT      0x20d9     /* 8409 */\n#define GLX_TEXTURE_FORMAT_RGBA_EXT     0x20da     /* 8410 */\n#define GLX_TEXTURE_1D_EXT              0x20db     /* 8411 */\n#define GLX_TEXTURE_2D_EXT              0x20dc     /* 8412 */\n#define GLX_TEXTURE_RECTANGLE_EXT       0x20dd     /* 8413 */\n#define GLX_FRONT_LEFT_EXT              0x20de     /* 8414 */\n#define GLX_FRONT_RIGHT_EXT             0x20df     /* 8415 */\n#define GLX_BACK_LEFT_EXT               0x20e0     /* 8416 */\n#define GLX_BACK_RIGHT_EXT              0x20e1     /* 8417 */\n#define GLX_AUX0_EXT                    0x20e2     /* 8418 */\n#define GLX_AUX1_EXT                    0x20e3     /* 8419 */\n#define GLX_AUX2_EXT                    0x20e4     /* 8420 */\n#define GLX_AUX3_EXT                    0x20e5     /* 8421 */\n#define GLX_AUX4_EXT                    0x20e6     /* 8422 */\n#define GLX_AUX5_EXT                    0x20e7     /* 8423 */\n#define GLX_AUX6_EXT                    0x20e8     /* 8424 */\n#define GLX_AUX7_EXT                    0x20e9     /* 8425 */\n#define GLX_AUX8_EXT                    0x20ea     /* 8426 */\n#define GLX_AUX9_EXT                    0x20eb     /* 8427 */\n#define GLX_TEXTURE_RECTANGLE_BIT_EXT   0x4\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GLX_EXT_TEXTURE_FROM_PIXMAP\ntypedef void (REGAL_CALL *PFNGLXBINDTEXIMAGEEXTPROC)(Display *display, GLXDrawable drawable, int buffer, const int *attrib_list);\ntypedef void (REGAL_CALL *PFNGLXRELEASETEXIMAGEEXTPROC)(Display *display, GLXDrawable drawable, int buffer);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GLX_EXT_TEXTURE_FROM_PIXMAP\n#define glXBindTexImageEXT                  rglXBindTexImageEXT\n#define glXReleaseTexImageEXT               rglXReleaseTexImageEXT\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GLX_EXT_TEXTURE_FROM_PIXMAP\nREGAL_DECL void REGAL_CALL glXBindTexImageEXT(Display *display, GLXDrawable drawable, int buffer, const int *attrib_list);\nREGAL_DECL void REGAL_CALL glXReleaseTexImageEXT(Display *display, GLXDrawable drawable, int buffer);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GLX_EXT_TEXTURE_FROM_PIXMAP\nREGAL_DECL void REGAL_CALL plugin_glXBindTexImageEXT(Display *display, GLXDrawable drawable, int buffer, const int *attrib_list);\nREGAL_DECL void REGAL_CALL plugin_glXReleaseTexImageEXT(Display *display, GLXDrawable drawable, int buffer);\n#endif\n\n/**\n ** GLX_EXT_visual_info\n **/\n\n#if (defined(GLX_EXT_VISUAL_INFO) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_EXT_VISUAL_INFO)) && !defined(REGAL_NO_ENUM_GLX_EXT_VISUAL_INFO)\n#define REGAL_NO_ENUM_GLX_EXT_VISUAL_INFO\n#endif\n\n#if (defined(GLX_EXT_VISUAL_INFO) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_EXT_VISUAL_INFO)) && !defined(REGAL_NO_TYPEDEF_GLX_EXT_VISUAL_INFO)\n#define REGAL_NO_TYPEDEF_GLX_EXT_VISUAL_INFO\n#endif\n\n#if (defined(GLX_EXT_VISUAL_INFO) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_EXT_VISUAL_INFO)) && !defined(REGAL_NO_NAMESPACE_GLX_EXT_VISUAL_INFO)\n#define REGAL_NO_NAMESPACE_GLX_EXT_VISUAL_INFO\n#endif\n\n#if (defined(GLX_EXT_VISUAL_INFO) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_EXT_VISUAL_INFO)) && !defined(REGAL_NO_PLUGIN_GLX_EXT_VISUAL_INFO)\n#define REGAL_NO_PLUGIN_GLX_EXT_VISUAL_INFO\n#endif\n\n#if (defined(GLX_EXT_VISUAL_INFO) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_EXT_VISUAL_INFO)) && !defined(REGAL_NO_DECLARATION_GLX_EXT_VISUAL_INFO)\n#define REGAL_NO_DECLARATION_GLX_EXT_VISUAL_INFO\n#endif\n\n#ifndef GLX_EXT_visual_info\n#define GLX_EXT_visual_info 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_EXT_VISUAL_INFO\n#define GLX_X_VISUAL_TYPE_EXT           0x22       /* 34 */\n#define GLX_TRANSPARENT_TYPE_EXT        0x23       /* 35 */\n#define GLX_TRANSPARENT_INDEX_VALUE_EXT 0x24       /* 36 */\n#define GLX_TRANSPARENT_RED_VALUE_EXT   0x25       /* 37 */\n#define GLX_TRANSPARENT_GREEN_VALUE_EXT 0x26       /* 38 */\n#define GLX_TRANSPARENT_BLUE_VALUE_EXT  0x27       /* 39 */\n#define GLX_TRANSPARENT_ALPHA_VALUE_EXT 0x28       /* 40 */\n#define GLX_NONE_EXT                    0x8000     /* 32768 */\n#define GLX_TRUE_COLOR_EXT              0x8002     /* 32770 */\n#define GLX_DIRECT_COLOR_EXT            0x8003     /* 32771 */\n#define GLX_PSEUDO_COLOR_EXT            0x8004     /* 32772 */\n#define GLX_STATIC_COLOR_EXT            0x8005     /* 32773 */\n#define GLX_GRAY_SCALE_EXT              0x8006     /* 32774 */\n#define GLX_STATIC_GRAY_EXT             0x8007     /* 32775 */\n#define GLX_TRANSPARENT_RGB_EXT         0x8008     /* 32776 */\n#define GLX_TRANSPARENT_INDEX_EXT       0x8009     /* 32777 */\n#endif\n\n/**\n ** GLX_EXT_visual_rating\n **/\n\n#if (defined(GLX_EXT_VISUAL_RATING) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_EXT_VISUAL_RATING)) && !defined(REGAL_NO_ENUM_GLX_EXT_VISUAL_RATING)\n#define REGAL_NO_ENUM_GLX_EXT_VISUAL_RATING\n#endif\n\n#if (defined(GLX_EXT_VISUAL_RATING) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_EXT_VISUAL_RATING)) && !defined(REGAL_NO_TYPEDEF_GLX_EXT_VISUAL_RATING)\n#define REGAL_NO_TYPEDEF_GLX_EXT_VISUAL_RATING\n#endif\n\n#if (defined(GLX_EXT_VISUAL_RATING) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_EXT_VISUAL_RATING)) && !defined(REGAL_NO_NAMESPACE_GLX_EXT_VISUAL_RATING)\n#define REGAL_NO_NAMESPACE_GLX_EXT_VISUAL_RATING\n#endif\n\n#if (defined(GLX_EXT_VISUAL_RATING) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_EXT_VISUAL_RATING)) && !defined(REGAL_NO_PLUGIN_GLX_EXT_VISUAL_RATING)\n#define REGAL_NO_PLUGIN_GLX_EXT_VISUAL_RATING\n#endif\n\n#if (defined(GLX_EXT_VISUAL_RATING) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_EXT_VISUAL_RATING)) && !defined(REGAL_NO_DECLARATION_GLX_EXT_VISUAL_RATING)\n#define REGAL_NO_DECLARATION_GLX_EXT_VISUAL_RATING\n#endif\n\n#ifndef GLX_EXT_visual_rating\n#define GLX_EXT_visual_rating 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_EXT_VISUAL_RATING\n#define GLX_VISUAL_CAVEAT_EXT         0x20       /* 32 */\n#define GLX_SLOW_VISUAL_EXT           0x8001     /* 32769 */\n#define GLX_NON_CONFORMANT_VISUAL_EXT 0x800d     /* 32781 */\n#endif\n\n/**\n ** GLX_INTEL_swap_event\n **/\n\n#if (defined(GLX_INTEL_SWAP_EVENT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_INTEL_SWAP_EVENT)) && !defined(REGAL_NO_ENUM_GLX_INTEL_SWAP_EVENT)\n#define REGAL_NO_ENUM_GLX_INTEL_SWAP_EVENT\n#endif\n\n#if (defined(GLX_INTEL_SWAP_EVENT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_INTEL_SWAP_EVENT)) && !defined(REGAL_NO_TYPEDEF_GLX_INTEL_SWAP_EVENT)\n#define REGAL_NO_TYPEDEF_GLX_INTEL_SWAP_EVENT\n#endif\n\n#if (defined(GLX_INTEL_SWAP_EVENT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_INTEL_SWAP_EVENT)) && !defined(REGAL_NO_NAMESPACE_GLX_INTEL_SWAP_EVENT)\n#define REGAL_NO_NAMESPACE_GLX_INTEL_SWAP_EVENT\n#endif\n\n#if (defined(GLX_INTEL_SWAP_EVENT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_INTEL_SWAP_EVENT)) && !defined(REGAL_NO_PLUGIN_GLX_INTEL_SWAP_EVENT)\n#define REGAL_NO_PLUGIN_GLX_INTEL_SWAP_EVENT\n#endif\n\n#if (defined(GLX_INTEL_SWAP_EVENT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_INTEL_SWAP_EVENT)) && !defined(REGAL_NO_DECLARATION_GLX_INTEL_SWAP_EVENT)\n#define REGAL_NO_DECLARATION_GLX_INTEL_SWAP_EVENT\n#endif\n\n#ifndef GLX_INTEL_swap_event\n#define GLX_INTEL_swap_event 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_INTEL_SWAP_EVENT\n#define GLX_BUFFER_SWAP_COMPLETE_INTEL_MASK 0x4000000     /* 67108864 */\n#define GLX_EXCHANGE_COMPLETE_INTEL         0x8180        /* 33152 */\n#define GLX_COPY_COMPLETE_INTEL             0x8181        /* 33153 */\n#define GLX_FLIP_COMPLETE_INTEL             0x8182        /* 33154 */\n#endif\n\n/**\n ** GLX_MESA_agp_offset\n **/\n\n#if (defined(GLX_MESA_AGP_OFFSET) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_MESA_AGP_OFFSET)) && !defined(REGAL_NO_ENUM_GLX_MESA_AGP_OFFSET)\n#define REGAL_NO_ENUM_GLX_MESA_AGP_OFFSET\n#endif\n\n#if (defined(GLX_MESA_AGP_OFFSET) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_MESA_AGP_OFFSET)) && !defined(REGAL_NO_TYPEDEF_GLX_MESA_AGP_OFFSET)\n#define REGAL_NO_TYPEDEF_GLX_MESA_AGP_OFFSET\n#endif\n\n#if (defined(GLX_MESA_AGP_OFFSET) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_MESA_AGP_OFFSET)) && !defined(REGAL_NO_NAMESPACE_GLX_MESA_AGP_OFFSET)\n#define REGAL_NO_NAMESPACE_GLX_MESA_AGP_OFFSET\n#endif\n\n#if (defined(GLX_MESA_AGP_OFFSET) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_MESA_AGP_OFFSET)) && !defined(REGAL_NO_PLUGIN_GLX_MESA_AGP_OFFSET)\n#define REGAL_NO_PLUGIN_GLX_MESA_AGP_OFFSET\n#endif\n\n#if (defined(GLX_MESA_AGP_OFFSET) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_MESA_AGP_OFFSET)) && !defined(REGAL_NO_DECLARATION_GLX_MESA_AGP_OFFSET)\n#define REGAL_NO_DECLARATION_GLX_MESA_AGP_OFFSET\n#endif\n\n#ifndef GLX_MESA_agp_offset\n#define GLX_MESA_agp_offset 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GLX_MESA_AGP_OFFSET\ntypedef unsigned int (REGAL_CALL *PFNGLXGETAGPOFFSETMESAPROC)(const void *pointer);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GLX_MESA_AGP_OFFSET\n#define glXGetAGPOffsetMESA                 rglXGetAGPOffsetMESA\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GLX_MESA_AGP_OFFSET\nREGAL_DECL unsigned int REGAL_CALL glXGetAGPOffsetMESA(const void *pointer);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GLX_MESA_AGP_OFFSET\nREGAL_DECL unsigned int REGAL_CALL plugin_glXGetAGPOffsetMESA(const void *pointer);\n#endif\n\n/**\n ** GLX_MESA_copy_sub_buffer\n **/\n\n#if (defined(GLX_MESA_COPY_SUB_BUFFER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_MESA_COPY_SUB_BUFFER)) && !defined(REGAL_NO_ENUM_GLX_MESA_COPY_SUB_BUFFER)\n#define REGAL_NO_ENUM_GLX_MESA_COPY_SUB_BUFFER\n#endif\n\n#if (defined(GLX_MESA_COPY_SUB_BUFFER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_MESA_COPY_SUB_BUFFER)) && !defined(REGAL_NO_TYPEDEF_GLX_MESA_COPY_SUB_BUFFER)\n#define REGAL_NO_TYPEDEF_GLX_MESA_COPY_SUB_BUFFER\n#endif\n\n#if (defined(GLX_MESA_COPY_SUB_BUFFER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_MESA_COPY_SUB_BUFFER)) && !defined(REGAL_NO_NAMESPACE_GLX_MESA_COPY_SUB_BUFFER)\n#define REGAL_NO_NAMESPACE_GLX_MESA_COPY_SUB_BUFFER\n#endif\n\n#if (defined(GLX_MESA_COPY_SUB_BUFFER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_MESA_COPY_SUB_BUFFER)) && !defined(REGAL_NO_PLUGIN_GLX_MESA_COPY_SUB_BUFFER)\n#define REGAL_NO_PLUGIN_GLX_MESA_COPY_SUB_BUFFER\n#endif\n\n#if (defined(GLX_MESA_COPY_SUB_BUFFER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_MESA_COPY_SUB_BUFFER)) && !defined(REGAL_NO_DECLARATION_GLX_MESA_COPY_SUB_BUFFER)\n#define REGAL_NO_DECLARATION_GLX_MESA_COPY_SUB_BUFFER\n#endif\n\n#ifndef GLX_MESA_copy_sub_buffer\n#define GLX_MESA_copy_sub_buffer 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GLX_MESA_COPY_SUB_BUFFER\ntypedef void (REGAL_CALL *PFNGLXCOPYSUBBUFFERMESAPROC)(Display *dpy, GLXDrawable drawable, int x, int y, int width, int height);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GLX_MESA_COPY_SUB_BUFFER\n#define glXCopySubBufferMESA                rglXCopySubBufferMESA\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GLX_MESA_COPY_SUB_BUFFER\nREGAL_DECL void REGAL_CALL glXCopySubBufferMESA(Display *dpy, GLXDrawable drawable, int x, int y, int width, int height);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GLX_MESA_COPY_SUB_BUFFER\nREGAL_DECL void REGAL_CALL plugin_glXCopySubBufferMESA(Display *dpy, GLXDrawable drawable, int x, int y, int width, int height);\n#endif\n\n/**\n ** GLX_MESA_pixmap_colormap\n **/\n\n#if (defined(GLX_MESA_PIXMAP_COLORMAP) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_MESA_PIXMAP_COLORMAP)) && !defined(REGAL_NO_ENUM_GLX_MESA_PIXMAP_COLORMAP)\n#define REGAL_NO_ENUM_GLX_MESA_PIXMAP_COLORMAP\n#endif\n\n#if (defined(GLX_MESA_PIXMAP_COLORMAP) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_MESA_PIXMAP_COLORMAP)) && !defined(REGAL_NO_TYPEDEF_GLX_MESA_PIXMAP_COLORMAP)\n#define REGAL_NO_TYPEDEF_GLX_MESA_PIXMAP_COLORMAP\n#endif\n\n#if (defined(GLX_MESA_PIXMAP_COLORMAP) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_MESA_PIXMAP_COLORMAP)) && !defined(REGAL_NO_NAMESPACE_GLX_MESA_PIXMAP_COLORMAP)\n#define REGAL_NO_NAMESPACE_GLX_MESA_PIXMAP_COLORMAP\n#endif\n\n#if (defined(GLX_MESA_PIXMAP_COLORMAP) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_MESA_PIXMAP_COLORMAP)) && !defined(REGAL_NO_PLUGIN_GLX_MESA_PIXMAP_COLORMAP)\n#define REGAL_NO_PLUGIN_GLX_MESA_PIXMAP_COLORMAP\n#endif\n\n#if (defined(GLX_MESA_PIXMAP_COLORMAP) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_MESA_PIXMAP_COLORMAP)) && !defined(REGAL_NO_DECLARATION_GLX_MESA_PIXMAP_COLORMAP)\n#define REGAL_NO_DECLARATION_GLX_MESA_PIXMAP_COLORMAP\n#endif\n\n#ifndef GLX_MESA_pixmap_colormap\n#define GLX_MESA_pixmap_colormap 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GLX_MESA_PIXMAP_COLORMAP\ntypedef GLXPixmap (REGAL_CALL *PFNGLXCREATEGLXPIXMAPMESAPROC)(Display *dpy, XVisualInfo *visual, Pixmap pixmap, Colormap cmap);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GLX_MESA_PIXMAP_COLORMAP\n#define glXCreateGLXPixmapMESA              rglXCreateGLXPixmapMESA\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GLX_MESA_PIXMAP_COLORMAP\nREGAL_DECL GLXPixmap REGAL_CALL glXCreateGLXPixmapMESA(Display *dpy, XVisualInfo *visual, Pixmap pixmap, Colormap cmap);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GLX_MESA_PIXMAP_COLORMAP\nREGAL_DECL GLXPixmap REGAL_CALL plugin_glXCreateGLXPixmapMESA(Display *dpy, XVisualInfo *visual, Pixmap pixmap, Colormap cmap);\n#endif\n\n/**\n ** GLX_MESA_release_buffers\n **/\n\n#if (defined(GLX_MESA_RELEASE_BUFFERS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_MESA_RELEASE_BUFFERS)) && !defined(REGAL_NO_ENUM_GLX_MESA_RELEASE_BUFFERS)\n#define REGAL_NO_ENUM_GLX_MESA_RELEASE_BUFFERS\n#endif\n\n#if (defined(GLX_MESA_RELEASE_BUFFERS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_MESA_RELEASE_BUFFERS)) && !defined(REGAL_NO_TYPEDEF_GLX_MESA_RELEASE_BUFFERS)\n#define REGAL_NO_TYPEDEF_GLX_MESA_RELEASE_BUFFERS\n#endif\n\n#if (defined(GLX_MESA_RELEASE_BUFFERS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_MESA_RELEASE_BUFFERS)) && !defined(REGAL_NO_NAMESPACE_GLX_MESA_RELEASE_BUFFERS)\n#define REGAL_NO_NAMESPACE_GLX_MESA_RELEASE_BUFFERS\n#endif\n\n#if (defined(GLX_MESA_RELEASE_BUFFERS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_MESA_RELEASE_BUFFERS)) && !defined(REGAL_NO_PLUGIN_GLX_MESA_RELEASE_BUFFERS)\n#define REGAL_NO_PLUGIN_GLX_MESA_RELEASE_BUFFERS\n#endif\n\n#if (defined(GLX_MESA_RELEASE_BUFFERS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_MESA_RELEASE_BUFFERS)) && !defined(REGAL_NO_DECLARATION_GLX_MESA_RELEASE_BUFFERS)\n#define REGAL_NO_DECLARATION_GLX_MESA_RELEASE_BUFFERS\n#endif\n\n#ifndef GLX_MESA_release_buffers\n#define GLX_MESA_release_buffers 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GLX_MESA_RELEASE_BUFFERS\ntypedef Bool (REGAL_CALL *PFNGLXRELEASEBUFFERSMESAPROC)(Display *dpy, GLXDrawable d);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GLX_MESA_RELEASE_BUFFERS\n#define glXReleaseBuffersMESA               rglXReleaseBuffersMESA\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GLX_MESA_RELEASE_BUFFERS\nREGAL_DECL Bool REGAL_CALL glXReleaseBuffersMESA(Display *dpy, GLXDrawable d);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GLX_MESA_RELEASE_BUFFERS\nREGAL_DECL Bool REGAL_CALL plugin_glXReleaseBuffersMESA(Display *dpy, GLXDrawable d);\n#endif\n\n/**\n ** GLX_MESA_set_3dfx_mode\n **/\n\n#if (defined(GLX_MESA_SET_3DFX_MODE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_MESA_SET_3DFX_MODE)) && !defined(REGAL_NO_ENUM_GLX_MESA_SET_3DFX_MODE)\n#define REGAL_NO_ENUM_GLX_MESA_SET_3DFX_MODE\n#endif\n\n#if (defined(GLX_MESA_SET_3DFX_MODE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_MESA_SET_3DFX_MODE)) && !defined(REGAL_NO_TYPEDEF_GLX_MESA_SET_3DFX_MODE)\n#define REGAL_NO_TYPEDEF_GLX_MESA_SET_3DFX_MODE\n#endif\n\n#if (defined(GLX_MESA_SET_3DFX_MODE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_MESA_SET_3DFX_MODE)) && !defined(REGAL_NO_NAMESPACE_GLX_MESA_SET_3DFX_MODE)\n#define REGAL_NO_NAMESPACE_GLX_MESA_SET_3DFX_MODE\n#endif\n\n#if (defined(GLX_MESA_SET_3DFX_MODE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_MESA_SET_3DFX_MODE)) && !defined(REGAL_NO_PLUGIN_GLX_MESA_SET_3DFX_MODE)\n#define REGAL_NO_PLUGIN_GLX_MESA_SET_3DFX_MODE\n#endif\n\n#if (defined(GLX_MESA_SET_3DFX_MODE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_MESA_SET_3DFX_MODE)) && !defined(REGAL_NO_DECLARATION_GLX_MESA_SET_3DFX_MODE)\n#define REGAL_NO_DECLARATION_GLX_MESA_SET_3DFX_MODE\n#endif\n\n#ifndef GLX_MESA_set_3dfx_mode\n#define GLX_MESA_set_3dfx_mode 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_MESA_SET_3DFX_MODE\n#define GLX_3DFX_WINDOW_MODE_MESA     0x1\n#define GLX_3DFX_FULLSCREEN_MODE_MESA 0x2\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GLX_MESA_SET_3DFX_MODE\ntypedef GLboolean (REGAL_CALL *PFNGLXSET3DFXMODEMESAPROC)(GLint mode);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GLX_MESA_SET_3DFX_MODE\n#define glXSet3DfxModeMESA                  rglXSet3DfxModeMESA\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GLX_MESA_SET_3DFX_MODE\nREGAL_DECL GLboolean REGAL_CALL glXSet3DfxModeMESA(GLint mode);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GLX_MESA_SET_3DFX_MODE\nREGAL_DECL GLboolean REGAL_CALL plugin_glXSet3DfxModeMESA(GLint mode);\n#endif\n\n/**\n ** GLX_MESA_swap_control\n **/\n\n#if (defined(GLX_MESA_SWAP_CONTROL) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_MESA_SWAP_CONTROL)) && !defined(REGAL_NO_ENUM_GLX_MESA_SWAP_CONTROL)\n#define REGAL_NO_ENUM_GLX_MESA_SWAP_CONTROL\n#endif\n\n#if (defined(GLX_MESA_SWAP_CONTROL) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_MESA_SWAP_CONTROL)) && !defined(REGAL_NO_TYPEDEF_GLX_MESA_SWAP_CONTROL)\n#define REGAL_NO_TYPEDEF_GLX_MESA_SWAP_CONTROL\n#endif\n\n#if (defined(GLX_MESA_SWAP_CONTROL) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_MESA_SWAP_CONTROL)) && !defined(REGAL_NO_NAMESPACE_GLX_MESA_SWAP_CONTROL)\n#define REGAL_NO_NAMESPACE_GLX_MESA_SWAP_CONTROL\n#endif\n\n#if (defined(GLX_MESA_SWAP_CONTROL) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_MESA_SWAP_CONTROL)) && !defined(REGAL_NO_PLUGIN_GLX_MESA_SWAP_CONTROL)\n#define REGAL_NO_PLUGIN_GLX_MESA_SWAP_CONTROL\n#endif\n\n#if (defined(GLX_MESA_SWAP_CONTROL) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_MESA_SWAP_CONTROL)) && !defined(REGAL_NO_DECLARATION_GLX_MESA_SWAP_CONTROL)\n#define REGAL_NO_DECLARATION_GLX_MESA_SWAP_CONTROL\n#endif\n\n#ifndef GLX_MESA_swap_control\n#define GLX_MESA_swap_control 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GLX_MESA_SWAP_CONTROL\ntypedef int (REGAL_CALL *PFNGLXGETSWAPINTERVALMESAPROC)(void);\ntypedef int (REGAL_CALL *PFNGLXSWAPINTERVALMESAPROC)(unsigned int interval);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GLX_MESA_SWAP_CONTROL\n#define glXGetSwapIntervalMESA              rglXGetSwapIntervalMESA\n#define glXSwapIntervalMESA                 rglXSwapIntervalMESA\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GLX_MESA_SWAP_CONTROL\nREGAL_DECL int REGAL_CALL glXGetSwapIntervalMESA(void);\nREGAL_DECL int REGAL_CALL glXSwapIntervalMESA(unsigned int interval);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GLX_MESA_SWAP_CONTROL\nREGAL_DECL int REGAL_CALL plugin_glXGetSwapIntervalMESA(void);\nREGAL_DECL int REGAL_CALL plugin_glXSwapIntervalMESA(unsigned int interval);\n#endif\n\n/**\n ** GLX_NV_copy_image\n **/\n\n#if (defined(GLX_NV_COPY_IMAGE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_NV_COPY_IMAGE)) && !defined(REGAL_NO_ENUM_GLX_NV_COPY_IMAGE)\n#define REGAL_NO_ENUM_GLX_NV_COPY_IMAGE\n#endif\n\n#if (defined(GLX_NV_COPY_IMAGE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_NV_COPY_IMAGE)) && !defined(REGAL_NO_TYPEDEF_GLX_NV_COPY_IMAGE)\n#define REGAL_NO_TYPEDEF_GLX_NV_COPY_IMAGE\n#endif\n\n#if (defined(GLX_NV_COPY_IMAGE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_NV_COPY_IMAGE)) && !defined(REGAL_NO_NAMESPACE_GLX_NV_COPY_IMAGE)\n#define REGAL_NO_NAMESPACE_GLX_NV_COPY_IMAGE\n#endif\n\n#if (defined(GLX_NV_COPY_IMAGE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_NV_COPY_IMAGE)) && !defined(REGAL_NO_PLUGIN_GLX_NV_COPY_IMAGE)\n#define REGAL_NO_PLUGIN_GLX_NV_COPY_IMAGE\n#endif\n\n#if (defined(GLX_NV_COPY_IMAGE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_NV_COPY_IMAGE)) && !defined(REGAL_NO_DECLARATION_GLX_NV_COPY_IMAGE)\n#define REGAL_NO_DECLARATION_GLX_NV_COPY_IMAGE\n#endif\n\n#ifndef GLX_NV_copy_image\n#define GLX_NV_copy_image 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GLX_NV_COPY_IMAGE\ntypedef void (REGAL_CALL *PFNGLXCOPYIMAGESUBDATANVPROC)(Display *dpy, GLXContext srcCtx, GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLXContext dstCtx, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GLX_NV_COPY_IMAGE\n#define glXCopyImageSubDataNV               rglXCopyImageSubDataNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GLX_NV_COPY_IMAGE\nREGAL_DECL void REGAL_CALL glXCopyImageSubDataNV(Display *dpy, GLXContext srcCtx, GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLXContext dstCtx, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GLX_NV_COPY_IMAGE\nREGAL_DECL void REGAL_CALL plugin_glXCopyImageSubDataNV(Display *dpy, GLXContext srcCtx, GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLXContext dstCtx, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth);\n#endif\n\n/**\n ** GLX_NV_float_buffer\n **/\n\n#if (defined(GLX_NV_FLOAT_BUFFER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_NV_FLOAT_BUFFER)) && !defined(REGAL_NO_ENUM_GLX_NV_FLOAT_BUFFER)\n#define REGAL_NO_ENUM_GLX_NV_FLOAT_BUFFER\n#endif\n\n#if (defined(GLX_NV_FLOAT_BUFFER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_NV_FLOAT_BUFFER)) && !defined(REGAL_NO_TYPEDEF_GLX_NV_FLOAT_BUFFER)\n#define REGAL_NO_TYPEDEF_GLX_NV_FLOAT_BUFFER\n#endif\n\n#if (defined(GLX_NV_FLOAT_BUFFER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_NV_FLOAT_BUFFER)) && !defined(REGAL_NO_NAMESPACE_GLX_NV_FLOAT_BUFFER)\n#define REGAL_NO_NAMESPACE_GLX_NV_FLOAT_BUFFER\n#endif\n\n#if (defined(GLX_NV_FLOAT_BUFFER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_NV_FLOAT_BUFFER)) && !defined(REGAL_NO_PLUGIN_GLX_NV_FLOAT_BUFFER)\n#define REGAL_NO_PLUGIN_GLX_NV_FLOAT_BUFFER\n#endif\n\n#if (defined(GLX_NV_FLOAT_BUFFER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_NV_FLOAT_BUFFER)) && !defined(REGAL_NO_DECLARATION_GLX_NV_FLOAT_BUFFER)\n#define REGAL_NO_DECLARATION_GLX_NV_FLOAT_BUFFER\n#endif\n\n#ifndef GLX_NV_float_buffer\n#define GLX_NV_float_buffer 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_NV_FLOAT_BUFFER\n#define GLX_FLOAT_COMPONENTS_NV 0x20b0 /* 8368 */\n#endif\n\n/**\n ** GLX_NV_multisample_coverage\n **/\n\n#if (defined(GLX_NV_MULTISAMPLE_COVERAGE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_NV_MULTISAMPLE_COVERAGE)) && !defined(REGAL_NO_ENUM_GLX_NV_MULTISAMPLE_COVERAGE)\n#define REGAL_NO_ENUM_GLX_NV_MULTISAMPLE_COVERAGE\n#endif\n\n#if (defined(GLX_NV_MULTISAMPLE_COVERAGE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_NV_MULTISAMPLE_COVERAGE)) && !defined(REGAL_NO_TYPEDEF_GLX_NV_MULTISAMPLE_COVERAGE)\n#define REGAL_NO_TYPEDEF_GLX_NV_MULTISAMPLE_COVERAGE\n#endif\n\n#if (defined(GLX_NV_MULTISAMPLE_COVERAGE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_NV_MULTISAMPLE_COVERAGE)) && !defined(REGAL_NO_NAMESPACE_GLX_NV_MULTISAMPLE_COVERAGE)\n#define REGAL_NO_NAMESPACE_GLX_NV_MULTISAMPLE_COVERAGE\n#endif\n\n#if (defined(GLX_NV_MULTISAMPLE_COVERAGE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_NV_MULTISAMPLE_COVERAGE)) && !defined(REGAL_NO_PLUGIN_GLX_NV_MULTISAMPLE_COVERAGE)\n#define REGAL_NO_PLUGIN_GLX_NV_MULTISAMPLE_COVERAGE\n#endif\n\n#if (defined(GLX_NV_MULTISAMPLE_COVERAGE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_NV_MULTISAMPLE_COVERAGE)) && !defined(REGAL_NO_DECLARATION_GLX_NV_MULTISAMPLE_COVERAGE)\n#define REGAL_NO_DECLARATION_GLX_NV_MULTISAMPLE_COVERAGE\n#endif\n\n#ifndef GLX_NV_multisample_coverage\n#define GLX_NV_multisample_coverage 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_NV_MULTISAMPLE_COVERAGE\n#define GLX_COVERAGE_SAMPLES_NV 0x186a1     /* 100001 */\n#define GLX_COLOR_SAMPLES_NV    0x20b3      /* 8371 */\n#endif\n\n/**\n ** GLX_NV_present_video\n **/\n\n#if (defined(GLX_NV_PRESENT_VIDEO) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_NV_PRESENT_VIDEO)) && !defined(REGAL_NO_ENUM_GLX_NV_PRESENT_VIDEO)\n#define REGAL_NO_ENUM_GLX_NV_PRESENT_VIDEO\n#endif\n\n#if (defined(GLX_NV_PRESENT_VIDEO) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_NV_PRESENT_VIDEO)) && !defined(REGAL_NO_TYPEDEF_GLX_NV_PRESENT_VIDEO)\n#define REGAL_NO_TYPEDEF_GLX_NV_PRESENT_VIDEO\n#endif\n\n#if (defined(GLX_NV_PRESENT_VIDEO) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_NV_PRESENT_VIDEO)) && !defined(REGAL_NO_NAMESPACE_GLX_NV_PRESENT_VIDEO)\n#define REGAL_NO_NAMESPACE_GLX_NV_PRESENT_VIDEO\n#endif\n\n#if (defined(GLX_NV_PRESENT_VIDEO) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_NV_PRESENT_VIDEO)) && !defined(REGAL_NO_PLUGIN_GLX_NV_PRESENT_VIDEO)\n#define REGAL_NO_PLUGIN_GLX_NV_PRESENT_VIDEO\n#endif\n\n#if (defined(GLX_NV_PRESENT_VIDEO) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_NV_PRESENT_VIDEO)) && !defined(REGAL_NO_DECLARATION_GLX_NV_PRESENT_VIDEO)\n#define REGAL_NO_DECLARATION_GLX_NV_PRESENT_VIDEO\n#endif\n\n#ifndef GLX_NV_present_video\n#define GLX_NV_present_video 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_NV_PRESENT_VIDEO\n#define GLX_NUM_VIDEO_SLOTS_NV 0x20f0 /* 8432 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GLX_NV_PRESENT_VIDEO\ntypedef int (REGAL_CALL *PFNGLXBINDVIDEODEVICENVPROC)(Display *dpy, unsigned int video_slot, unsigned int video_device, const int *attrib_list);\ntypedef unsigned int *(REGAL_CALL *PFNGLXENUMERATEVIDEODEVICESNVPROC)(Display *dpy, int screen, int *nelements);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GLX_NV_PRESENT_VIDEO\n#define glXBindVideoDeviceNV                rglXBindVideoDeviceNV\n#define glXEnumerateVideoDevicesNV          rglXEnumerateVideoDevicesNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GLX_NV_PRESENT_VIDEO\nREGAL_DECL int REGAL_CALL glXBindVideoDeviceNV(Display *dpy, unsigned int video_slot, unsigned int video_device, const int *attrib_list);\nREGAL_DECL unsigned int *REGAL_CALL glXEnumerateVideoDevicesNV(Display *dpy, int screen, int *nelements);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GLX_NV_PRESENT_VIDEO\nREGAL_DECL int REGAL_CALL plugin_glXBindVideoDeviceNV(Display *dpy, unsigned int video_slot, unsigned int video_device, const int *attrib_list);\nREGAL_DECL unsigned int *REGAL_CALL plugin_glXEnumerateVideoDevicesNV(Display *dpy, int screen, int *nelements);\n#endif\n\n/**\n ** GLX_NV_swap_group\n **/\n\n#if (defined(GLX_NV_SWAP_GROUP) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_NV_SWAP_GROUP)) && !defined(REGAL_NO_ENUM_GLX_NV_SWAP_GROUP)\n#define REGAL_NO_ENUM_GLX_NV_SWAP_GROUP\n#endif\n\n#if (defined(GLX_NV_SWAP_GROUP) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_NV_SWAP_GROUP)) && !defined(REGAL_NO_TYPEDEF_GLX_NV_SWAP_GROUP)\n#define REGAL_NO_TYPEDEF_GLX_NV_SWAP_GROUP\n#endif\n\n#if (defined(GLX_NV_SWAP_GROUP) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_NV_SWAP_GROUP)) && !defined(REGAL_NO_NAMESPACE_GLX_NV_SWAP_GROUP)\n#define REGAL_NO_NAMESPACE_GLX_NV_SWAP_GROUP\n#endif\n\n#if (defined(GLX_NV_SWAP_GROUP) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_NV_SWAP_GROUP)) && !defined(REGAL_NO_PLUGIN_GLX_NV_SWAP_GROUP)\n#define REGAL_NO_PLUGIN_GLX_NV_SWAP_GROUP\n#endif\n\n#if (defined(GLX_NV_SWAP_GROUP) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_NV_SWAP_GROUP)) && !defined(REGAL_NO_DECLARATION_GLX_NV_SWAP_GROUP)\n#define REGAL_NO_DECLARATION_GLX_NV_SWAP_GROUP\n#endif\n\n#ifndef GLX_NV_swap_group\n#define GLX_NV_swap_group 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GLX_NV_SWAP_GROUP\ntypedef Bool (REGAL_CALL *PFNGLXBINDSWAPBARRIERNVPROC)(Display *dpy, GLuint group, GLuint barrier);\ntypedef Bool (REGAL_CALL *PFNGLXJOINSWAPGROUPNVPROC)(Display *dpy, GLXDrawable drawable, GLuint group);\ntypedef Bool (REGAL_CALL *PFNGLXQUERYFRAMECOUNTNVPROC)(Display *dpy, int screen, GLuint *count);\ntypedef Bool (REGAL_CALL *PFNGLXQUERYMAXSWAPGROUPSNVPROC)(Display *dpy, int screen, GLuint *maxGroups, GLuint *maxBarriers);\ntypedef Bool (REGAL_CALL *PFNGLXQUERYSWAPGROUPNVPROC)(Display *dpy, GLXDrawable drawable, GLuint *group, GLuint *barrier);\ntypedef Bool (REGAL_CALL *PFNGLXRESETFRAMECOUNTNVPROC)(Display *dpy, int screen);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GLX_NV_SWAP_GROUP\n#define glXBindSwapBarrierNV                rglXBindSwapBarrierNV\n#define glXJoinSwapGroupNV                  rglXJoinSwapGroupNV\n#define glXQueryFrameCountNV                rglXQueryFrameCountNV\n#define glXQueryMaxSwapGroupsNV             rglXQueryMaxSwapGroupsNV\n#define glXQuerySwapGroupNV                 rglXQuerySwapGroupNV\n#define glXResetFrameCountNV                rglXResetFrameCountNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GLX_NV_SWAP_GROUP\nREGAL_DECL Bool REGAL_CALL glXBindSwapBarrierNV(Display *dpy, GLuint group, GLuint barrier);\nREGAL_DECL Bool REGAL_CALL glXJoinSwapGroupNV(Display *dpy, GLXDrawable drawable, GLuint group);\nREGAL_DECL Bool REGAL_CALL glXQueryFrameCountNV(Display *dpy, int screen, GLuint *count);\nREGAL_DECL Bool REGAL_CALL glXQueryMaxSwapGroupsNV(Display *dpy, int screen, GLuint *maxGroups, GLuint *maxBarriers);\nREGAL_DECL Bool REGAL_CALL glXQuerySwapGroupNV(Display *dpy, GLXDrawable drawable, GLuint *group, GLuint *barrier);\nREGAL_DECL Bool REGAL_CALL glXResetFrameCountNV(Display *dpy, int screen);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GLX_NV_SWAP_GROUP\nREGAL_DECL Bool REGAL_CALL plugin_glXBindSwapBarrierNV(Display *dpy, GLuint group, GLuint barrier);\nREGAL_DECL Bool REGAL_CALL plugin_glXJoinSwapGroupNV(Display *dpy, GLXDrawable drawable, GLuint group);\nREGAL_DECL Bool REGAL_CALL plugin_glXQueryFrameCountNV(Display *dpy, int screen, GLuint *count);\nREGAL_DECL Bool REGAL_CALL plugin_glXQueryMaxSwapGroupsNV(Display *dpy, int screen, GLuint *maxGroups, GLuint *maxBarriers);\nREGAL_DECL Bool REGAL_CALL plugin_glXQuerySwapGroupNV(Display *dpy, GLXDrawable drawable, GLuint *group, GLuint *barrier);\nREGAL_DECL Bool REGAL_CALL plugin_glXResetFrameCountNV(Display *dpy, int screen);\n#endif\n\n/**\n ** GLX_NV_vertex_array_range\n **/\n\n#if (defined(GLX_NV_VERTEX_ARRAY_RANGE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_NV_VERTEX_ARRAY_RANGE)) && !defined(REGAL_NO_ENUM_GLX_NV_VERTEX_ARRAY_RANGE)\n#define REGAL_NO_ENUM_GLX_NV_VERTEX_ARRAY_RANGE\n#endif\n\n#if (defined(GLX_NV_VERTEX_ARRAY_RANGE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_NV_VERTEX_ARRAY_RANGE)) && !defined(REGAL_NO_TYPEDEF_GLX_NV_VERTEX_ARRAY_RANGE)\n#define REGAL_NO_TYPEDEF_GLX_NV_VERTEX_ARRAY_RANGE\n#endif\n\n#if (defined(GLX_NV_VERTEX_ARRAY_RANGE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_NV_VERTEX_ARRAY_RANGE)) && !defined(REGAL_NO_NAMESPACE_GLX_NV_VERTEX_ARRAY_RANGE)\n#define REGAL_NO_NAMESPACE_GLX_NV_VERTEX_ARRAY_RANGE\n#endif\n\n#if (defined(GLX_NV_VERTEX_ARRAY_RANGE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_NV_VERTEX_ARRAY_RANGE)) && !defined(REGAL_NO_PLUGIN_GLX_NV_VERTEX_ARRAY_RANGE)\n#define REGAL_NO_PLUGIN_GLX_NV_VERTEX_ARRAY_RANGE\n#endif\n\n#if (defined(GLX_NV_VERTEX_ARRAY_RANGE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_NV_VERTEX_ARRAY_RANGE)) && !defined(REGAL_NO_DECLARATION_GLX_NV_VERTEX_ARRAY_RANGE)\n#define REGAL_NO_DECLARATION_GLX_NV_VERTEX_ARRAY_RANGE\n#endif\n\n#ifndef GLX_NV_vertex_array_range\n#define GLX_NV_vertex_array_range 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GLX_NV_VERTEX_ARRAY_RANGE\ntypedef void (REGAL_CALL *PFNGLXFREEMEMORYNVPROC)(void *pointer);\ntypedef void *(REGAL_CALL *PFNGLXALLOCATEMEMORYNVPROC)(GLsizei size, GLfloat readFrequency, GLfloat writeFrequency, GLfloat priority);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GLX_NV_VERTEX_ARRAY_RANGE\n#define glXAllocateMemoryNV                 rglXAllocateMemoryNV\n#define glXFreeMemoryNV                     rglXFreeMemoryNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GLX_NV_VERTEX_ARRAY_RANGE\nREGAL_DECL void *REGAL_CALL glXAllocateMemoryNV(GLsizei size, GLfloat readFrequency, GLfloat writeFrequency, GLfloat priority);\nREGAL_DECL void REGAL_CALL glXFreeMemoryNV(void *pointer);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GLX_NV_VERTEX_ARRAY_RANGE\nREGAL_DECL void *REGAL_CALL plugin_glXAllocateMemoryNV(GLsizei size, GLfloat readFrequency, GLfloat writeFrequency, GLfloat priority);\nREGAL_DECL void REGAL_CALL plugin_glXFreeMemoryNV(void *pointer);\n#endif\n\n/**\n ** GLX_NV_video_capture\n **/\n\n#if (defined(GLX_NV_VIDEO_CAPTURE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_NV_VIDEO_CAPTURE)) && !defined(REGAL_NO_ENUM_GLX_NV_VIDEO_CAPTURE)\n#define REGAL_NO_ENUM_GLX_NV_VIDEO_CAPTURE\n#endif\n\n#if (defined(GLX_NV_VIDEO_CAPTURE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_NV_VIDEO_CAPTURE)) && !defined(REGAL_NO_TYPEDEF_GLX_NV_VIDEO_CAPTURE)\n#define REGAL_NO_TYPEDEF_GLX_NV_VIDEO_CAPTURE\n#endif\n\n#if (defined(GLX_NV_VIDEO_CAPTURE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_NV_VIDEO_CAPTURE)) && !defined(REGAL_NO_NAMESPACE_GLX_NV_VIDEO_CAPTURE)\n#define REGAL_NO_NAMESPACE_GLX_NV_VIDEO_CAPTURE\n#endif\n\n#if (defined(GLX_NV_VIDEO_CAPTURE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_NV_VIDEO_CAPTURE)) && !defined(REGAL_NO_PLUGIN_GLX_NV_VIDEO_CAPTURE)\n#define REGAL_NO_PLUGIN_GLX_NV_VIDEO_CAPTURE\n#endif\n\n#if (defined(GLX_NV_VIDEO_CAPTURE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_NV_VIDEO_CAPTURE)) && !defined(REGAL_NO_DECLARATION_GLX_NV_VIDEO_CAPTURE)\n#define REGAL_NO_DECLARATION_GLX_NV_VIDEO_CAPTURE\n#endif\n\n#ifndef GLX_NV_video_capture\n#define GLX_NV_video_capture 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_NV_VIDEO_CAPTURE\n#define GLX_DEVICE_ID_NV               0x20cd     /* 8397 */\n#define GLX_UNIQUE_ID_NV               0x20ce     /* 8398 */\n#define GLX_NUM_VIDEO_CAPTURE_SLOTS_NV 0x20cf     /* 8399 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GLX_NV_VIDEO_CAPTURE\ntypedef GLXVideoCaptureDeviceNV *(REGAL_CALL *PFNGLXENUMERATEVIDEOCAPTUREDEVICESNVPROC)(Display *dpy, int screen, int *nelements);\ntypedef int (REGAL_CALL *PFNGLXBINDVIDEOCAPTUREDEVICENVPROC)(Display *dpy, unsigned int video_capture_slot, GLXVideoCaptureDeviceNV device);\ntypedef int (REGAL_CALL *PFNGLXQUERYVIDEOCAPTUREDEVICENVPROC)(Display *dpy, GLXVideoCaptureDeviceNV device, int attribute, int *value);\ntypedef void (REGAL_CALL *PFNGLXLOCKVIDEOCAPTUREDEVICENVPROC)(Display *dpy, GLXVideoCaptureDeviceNV device);\ntypedef void (REGAL_CALL *PFNGLXRELEASEVIDEOCAPTUREDEVICENVPROC)(Display *dpy, GLXVideoCaptureDeviceNV device);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GLX_NV_VIDEO_CAPTURE\n#define glXBindVideoCaptureDeviceNV         rglXBindVideoCaptureDeviceNV\n#define glXEnumerateVideoCaptureDevicesNV   rglXEnumerateVideoCaptureDevicesNV\n#define glXLockVideoCaptureDeviceNV         rglXLockVideoCaptureDeviceNV\n#define glXQueryVideoCaptureDeviceNV        rglXQueryVideoCaptureDeviceNV\n#define glXReleaseVideoCaptureDeviceNV      rglXReleaseVideoCaptureDeviceNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GLX_NV_VIDEO_CAPTURE\nREGAL_DECL GLXVideoCaptureDeviceNV *REGAL_CALL glXEnumerateVideoCaptureDevicesNV(Display *dpy, int screen, int *nelements);\nREGAL_DECL int REGAL_CALL glXBindVideoCaptureDeviceNV(Display *dpy, unsigned int video_capture_slot, GLXVideoCaptureDeviceNV device);\nREGAL_DECL int REGAL_CALL glXQueryVideoCaptureDeviceNV(Display *dpy, GLXVideoCaptureDeviceNV device, int attribute, int *value);\nREGAL_DECL void REGAL_CALL glXLockVideoCaptureDeviceNV(Display *dpy, GLXVideoCaptureDeviceNV device);\nREGAL_DECL void REGAL_CALL glXReleaseVideoCaptureDeviceNV(Display *dpy, GLXVideoCaptureDeviceNV device);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GLX_NV_VIDEO_CAPTURE\nREGAL_DECL GLXVideoCaptureDeviceNV *REGAL_CALL plugin_glXEnumerateVideoCaptureDevicesNV(Display *dpy, int screen, int *nelements);\nREGAL_DECL int REGAL_CALL plugin_glXBindVideoCaptureDeviceNV(Display *dpy, unsigned int video_capture_slot, GLXVideoCaptureDeviceNV device);\nREGAL_DECL int REGAL_CALL plugin_glXQueryVideoCaptureDeviceNV(Display *dpy, GLXVideoCaptureDeviceNV device, int attribute, int *value);\nREGAL_DECL void REGAL_CALL plugin_glXLockVideoCaptureDeviceNV(Display *dpy, GLXVideoCaptureDeviceNV device);\nREGAL_DECL void REGAL_CALL plugin_glXReleaseVideoCaptureDeviceNV(Display *dpy, GLXVideoCaptureDeviceNV device);\n#endif\n\n/**\n ** GLX_NV_video_output\n **/\n\n#if (defined(GLX_NV_VIDEO_OUTPUT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_NV_VIDEO_OUTPUT)) && !defined(REGAL_NO_ENUM_GLX_NV_VIDEO_OUTPUT)\n#define REGAL_NO_ENUM_GLX_NV_VIDEO_OUTPUT\n#endif\n\n#if (defined(GLX_NV_VIDEO_OUTPUT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_NV_VIDEO_OUTPUT)) && !defined(REGAL_NO_TYPEDEF_GLX_NV_VIDEO_OUTPUT)\n#define REGAL_NO_TYPEDEF_GLX_NV_VIDEO_OUTPUT\n#endif\n\n#if (defined(GLX_NV_VIDEO_OUTPUT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_NV_VIDEO_OUTPUT)) && !defined(REGAL_NO_NAMESPACE_GLX_NV_VIDEO_OUTPUT)\n#define REGAL_NO_NAMESPACE_GLX_NV_VIDEO_OUTPUT\n#endif\n\n#if (defined(GLX_NV_VIDEO_OUTPUT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_NV_VIDEO_OUTPUT)) && !defined(REGAL_NO_PLUGIN_GLX_NV_VIDEO_OUTPUT)\n#define REGAL_NO_PLUGIN_GLX_NV_VIDEO_OUTPUT\n#endif\n\n#if (defined(GLX_NV_VIDEO_OUTPUT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_NV_VIDEO_OUTPUT)) && !defined(REGAL_NO_DECLARATION_GLX_NV_VIDEO_OUTPUT)\n#define REGAL_NO_DECLARATION_GLX_NV_VIDEO_OUTPUT\n#endif\n\n#ifndef GLX_NV_video_output\n#define GLX_NV_video_output 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_NV_VIDEO_OUTPUT\n#define GLX_VIDEO_OUT_COLOR_NV              0x20c3     /* 8387 */\n#define GLX_VIDEO_OUT_ALPHA_NV              0x20c4     /* 8388 */\n#define GLX_VIDEO_OUT_DEPTH_NV              0x20c5     /* 8389 */\n#define GLX_VIDEO_OUT_COLOR_AND_ALPHA_NV    0x20c6     /* 8390 */\n#define GLX_VIDEO_OUT_COLOR_AND_DEPTH_NV    0x20c7     /* 8391 */\n#define GLX_VIDEO_OUT_FRAME_NV              0x20c8     /* 8392 */\n#define GLX_VIDEO_OUT_FIELD_1_NV            0x20c9     /* 8393 */\n#define GLX_VIDEO_OUT_FIELD_2_NV            0x20ca     /* 8394 */\n#define GLX_VIDEO_OUT_STACKED_FIELDS_1_2_NV 0x20cb     /* 8395 */\n#define GLX_VIDEO_OUT_STACKED_FIELDS_2_1_NV 0x20cc     /* 8396 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GLX_NV_VIDEO_OUTPUT\ntypedef int (REGAL_CALL *PFNGLXBINDVIDEOIMAGENVPROC)(Display *dpy, GLXVideoDeviceNV VideoDevice, GLXPbuffer pbuf, int iVideoBuffer);\ntypedef int (REGAL_CALL *PFNGLXGETVIDEODEVICENVPROC)(Display *dpy, int screen, int numVideoDevices, GLXVideoDeviceNV *pVideoDevice);\ntypedef int (REGAL_CALL *PFNGLXGETVIDEOINFONVPROC)(Display *dpy, int screen, GLXVideoDeviceNV VideoDevice, unsigned long *pulCounterOutputPbuffer, unsigned long *pulCounterOutputVideo);\ntypedef int (REGAL_CALL *PFNGLXRELEASEVIDEODEVICENVPROC)(Display *dpy, int screen, GLXVideoDeviceNV VideoDevice);\ntypedef int (REGAL_CALL *PFNGLXRELEASEVIDEOIMAGENVPROC)(Display *dpy, GLXPbuffer pbuf);\ntypedef int (REGAL_CALL *PFNGLXSENDPBUFFERTOVIDEONVPROC)(Display *dpy, GLXPbuffer pbuf, int iBufferType, unsigned long *pulCounterPbuffer, GLboolean bBlock);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GLX_NV_VIDEO_OUTPUT\n#define glXBindVideoImageNV                 rglXBindVideoImageNV\n#define glXGetVideoDeviceNV                 rglXGetVideoDeviceNV\n#define glXGetVideoInfoNV                   rglXGetVideoInfoNV\n#define glXReleaseVideoDeviceNV             rglXReleaseVideoDeviceNV\n#define glXReleaseVideoImageNV              rglXReleaseVideoImageNV\n#define glXSendPbufferToVideoNV             rglXSendPbufferToVideoNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GLX_NV_VIDEO_OUTPUT\nREGAL_DECL int REGAL_CALL glXBindVideoImageNV(Display *dpy, GLXVideoDeviceNV VideoDevice, GLXPbuffer pbuf, int iVideoBuffer);\nREGAL_DECL int REGAL_CALL glXGetVideoDeviceNV(Display *dpy, int screen, int numVideoDevices, GLXVideoDeviceNV *pVideoDevice);\nREGAL_DECL int REGAL_CALL glXGetVideoInfoNV(Display *dpy, int screen, GLXVideoDeviceNV VideoDevice, unsigned long *pulCounterOutputPbuffer, unsigned long *pulCounterOutputVideo);\nREGAL_DECL int REGAL_CALL glXReleaseVideoDeviceNV(Display *dpy, int screen, GLXVideoDeviceNV VideoDevice);\nREGAL_DECL int REGAL_CALL glXReleaseVideoImageNV(Display *dpy, GLXPbuffer pbuf);\nREGAL_DECL int REGAL_CALL glXSendPbufferToVideoNV(Display *dpy, GLXPbuffer pbuf, int iBufferType, unsigned long *pulCounterPbuffer, GLboolean bBlock);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GLX_NV_VIDEO_OUTPUT\nREGAL_DECL int REGAL_CALL plugin_glXBindVideoImageNV(Display *dpy, GLXVideoDeviceNV VideoDevice, GLXPbuffer pbuf, int iVideoBuffer);\nREGAL_DECL int REGAL_CALL plugin_glXGetVideoDeviceNV(Display *dpy, int screen, int numVideoDevices, GLXVideoDeviceNV *pVideoDevice);\nREGAL_DECL int REGAL_CALL plugin_glXGetVideoInfoNV(Display *dpy, int screen, GLXVideoDeviceNV VideoDevice, unsigned long *pulCounterOutputPbuffer, unsigned long *pulCounterOutputVideo);\nREGAL_DECL int REGAL_CALL plugin_glXReleaseVideoDeviceNV(Display *dpy, int screen, GLXVideoDeviceNV VideoDevice);\nREGAL_DECL int REGAL_CALL plugin_glXReleaseVideoImageNV(Display *dpy, GLXPbuffer pbuf);\nREGAL_DECL int REGAL_CALL plugin_glXSendPbufferToVideoNV(Display *dpy, GLXPbuffer pbuf, int iBufferType, unsigned long *pulCounterPbuffer, GLboolean bBlock);\n#endif\n\n/**\n ** GLX_OML_swap_method\n **/\n\n#if (defined(GLX_OML_SWAP_METHOD) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_OML_SWAP_METHOD)) && !defined(REGAL_NO_ENUM_GLX_OML_SWAP_METHOD)\n#define REGAL_NO_ENUM_GLX_OML_SWAP_METHOD\n#endif\n\n#if (defined(GLX_OML_SWAP_METHOD) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_OML_SWAP_METHOD)) && !defined(REGAL_NO_TYPEDEF_GLX_OML_SWAP_METHOD)\n#define REGAL_NO_TYPEDEF_GLX_OML_SWAP_METHOD\n#endif\n\n#if (defined(GLX_OML_SWAP_METHOD) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_OML_SWAP_METHOD)) && !defined(REGAL_NO_NAMESPACE_GLX_OML_SWAP_METHOD)\n#define REGAL_NO_NAMESPACE_GLX_OML_SWAP_METHOD\n#endif\n\n#if (defined(GLX_OML_SWAP_METHOD) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_OML_SWAP_METHOD)) && !defined(REGAL_NO_PLUGIN_GLX_OML_SWAP_METHOD)\n#define REGAL_NO_PLUGIN_GLX_OML_SWAP_METHOD\n#endif\n\n#if (defined(GLX_OML_SWAP_METHOD) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_OML_SWAP_METHOD)) && !defined(REGAL_NO_DECLARATION_GLX_OML_SWAP_METHOD)\n#define REGAL_NO_DECLARATION_GLX_OML_SWAP_METHOD\n#endif\n\n#ifndef GLX_OML_swap_method\n#define GLX_OML_swap_method 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_OML_SWAP_METHOD\n#define GLX_SWAP_METHOD_OML    0x8060     /* 32864 */\n#define GLX_SWAP_EXCHANGE_OML  0x8061     /* 32865 */\n#define GLX_SWAP_COPY_OML      0x8062     /* 32866 */\n#define GLX_SWAP_UNDEFINED_OML 0x8063     /* 32867 */\n#endif\n\n/**\n ** GLX_OML_sync_control\n **/\n\n#if (defined(GLX_OML_SYNC_CONTROL) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_OML_SYNC_CONTROL)) && !defined(REGAL_NO_ENUM_GLX_OML_SYNC_CONTROL)\n#define REGAL_NO_ENUM_GLX_OML_SYNC_CONTROL\n#endif\n\n#if (defined(GLX_OML_SYNC_CONTROL) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_OML_SYNC_CONTROL)) && !defined(REGAL_NO_TYPEDEF_GLX_OML_SYNC_CONTROL)\n#define REGAL_NO_TYPEDEF_GLX_OML_SYNC_CONTROL\n#endif\n\n#if (defined(GLX_OML_SYNC_CONTROL) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_OML_SYNC_CONTROL)) && !defined(REGAL_NO_NAMESPACE_GLX_OML_SYNC_CONTROL)\n#define REGAL_NO_NAMESPACE_GLX_OML_SYNC_CONTROL\n#endif\n\n#if (defined(GLX_OML_SYNC_CONTROL) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_OML_SYNC_CONTROL)) && !defined(REGAL_NO_PLUGIN_GLX_OML_SYNC_CONTROL)\n#define REGAL_NO_PLUGIN_GLX_OML_SYNC_CONTROL\n#endif\n\n#if (defined(GLX_OML_SYNC_CONTROL) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_OML_SYNC_CONTROL)) && !defined(REGAL_NO_DECLARATION_GLX_OML_SYNC_CONTROL)\n#define REGAL_NO_DECLARATION_GLX_OML_SYNC_CONTROL\n#endif\n\n#ifndef GLX_OML_sync_control\n#define GLX_OML_sync_control 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GLX_OML_SYNC_CONTROL\ntypedef Bool (REGAL_CALL *PFNGLXGETMSCRATEOMLPROC)(Display *dpy, GLXDrawable drawable, int32_t *numerator, int32_t *denominator);\ntypedef Bool (REGAL_CALL *PFNGLXGETSYNCVALUESOMLPROC)(Display *dpy, GLXDrawable drawable, int64_t *ust, int64_t *msc, int64_t *sbc);\ntypedef Bool (REGAL_CALL *PFNGLXWAITFORMSCOMLPROC)(Display *dpy, GLXDrawable drawable, int64_t target_msc, int64_t divisor, int64_t remainder, int64_t *ust, int64_t *msc, int64_t *sbc);\ntypedef Bool (REGAL_CALL *PFNGLXWAITFORSBCOMLPROC)(Display *dpy, GLXDrawable drawable, int64_t target_sbc, int64_t *ust, int64_t *msc, int64_t *sbc);\ntypedef int64_t (REGAL_CALL *PFNGLXSWAPBUFFERSMSCOMLPROC)(Display *dpy, GLXDrawable drawable, int64_t target_msc, int64_t divisor, int64_t remainder);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GLX_OML_SYNC_CONTROL\n#define glXGetMscRateOML                    rglXGetMscRateOML\n#define glXGetSyncValuesOML                 rglXGetSyncValuesOML\n#define glXSwapBuffersMscOML                rglXSwapBuffersMscOML\n#define glXWaitForMscOML                    rglXWaitForMscOML\n#define glXWaitForSbcOML                    rglXWaitForSbcOML\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GLX_OML_SYNC_CONTROL\nREGAL_DECL Bool REGAL_CALL glXGetMscRateOML(Display *dpy, GLXDrawable drawable, int32_t *numerator, int32_t *denominator);\nREGAL_DECL Bool REGAL_CALL glXGetSyncValuesOML(Display *dpy, GLXDrawable drawable, int64_t *ust, int64_t *msc, int64_t *sbc);\nREGAL_DECL Bool REGAL_CALL glXWaitForMscOML(Display *dpy, GLXDrawable drawable, int64_t target_msc, int64_t divisor, int64_t remainder, int64_t *ust, int64_t *msc, int64_t *sbc);\nREGAL_DECL Bool REGAL_CALL glXWaitForSbcOML(Display *dpy, GLXDrawable drawable, int64_t target_sbc, int64_t *ust, int64_t *msc, int64_t *sbc);\nREGAL_DECL int64_t REGAL_CALL glXSwapBuffersMscOML(Display *dpy, GLXDrawable drawable, int64_t target_msc, int64_t divisor, int64_t remainder);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GLX_OML_SYNC_CONTROL\nREGAL_DECL Bool REGAL_CALL plugin_glXGetMscRateOML(Display *dpy, GLXDrawable drawable, int32_t *numerator, int32_t *denominator);\nREGAL_DECL Bool REGAL_CALL plugin_glXGetSyncValuesOML(Display *dpy, GLXDrawable drawable, int64_t *ust, int64_t *msc, int64_t *sbc);\nREGAL_DECL Bool REGAL_CALL plugin_glXWaitForMscOML(Display *dpy, GLXDrawable drawable, int64_t target_msc, int64_t divisor, int64_t remainder, int64_t *ust, int64_t *msc, int64_t *sbc);\nREGAL_DECL Bool REGAL_CALL plugin_glXWaitForSbcOML(Display *dpy, GLXDrawable drawable, int64_t target_sbc, int64_t *ust, int64_t *msc, int64_t *sbc);\nREGAL_DECL int64_t REGAL_CALL plugin_glXSwapBuffersMscOML(Display *dpy, GLXDrawable drawable, int64_t target_msc, int64_t divisor, int64_t remainder);\n#endif\n\n/**\n ** GLX_SGIS_blended_overlay\n **/\n\n#if (defined(GLX_SGIS_BLENDED_OVERLAY) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_SGIS_BLENDED_OVERLAY)) && !defined(REGAL_NO_ENUM_GLX_SGIS_BLENDED_OVERLAY)\n#define REGAL_NO_ENUM_GLX_SGIS_BLENDED_OVERLAY\n#endif\n\n#if (defined(GLX_SGIS_BLENDED_OVERLAY) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_SGIS_BLENDED_OVERLAY)) && !defined(REGAL_NO_TYPEDEF_GLX_SGIS_BLENDED_OVERLAY)\n#define REGAL_NO_TYPEDEF_GLX_SGIS_BLENDED_OVERLAY\n#endif\n\n#if (defined(GLX_SGIS_BLENDED_OVERLAY) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_SGIS_BLENDED_OVERLAY)) && !defined(REGAL_NO_NAMESPACE_GLX_SGIS_BLENDED_OVERLAY)\n#define REGAL_NO_NAMESPACE_GLX_SGIS_BLENDED_OVERLAY\n#endif\n\n#if (defined(GLX_SGIS_BLENDED_OVERLAY) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_SGIS_BLENDED_OVERLAY)) && !defined(REGAL_NO_PLUGIN_GLX_SGIS_BLENDED_OVERLAY)\n#define REGAL_NO_PLUGIN_GLX_SGIS_BLENDED_OVERLAY\n#endif\n\n#if (defined(GLX_SGIS_BLENDED_OVERLAY) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_SGIS_BLENDED_OVERLAY)) && !defined(REGAL_NO_DECLARATION_GLX_SGIS_BLENDED_OVERLAY)\n#define REGAL_NO_DECLARATION_GLX_SGIS_BLENDED_OVERLAY\n#endif\n\n#ifndef GLX_SGIS_blended_overlay\n#define GLX_SGIS_blended_overlay 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_SGIS_BLENDED_OVERLAY\n#define GLX_BLENDED_RGBA_SGIS 0x8025 /* 32805 */\n#endif\n\n/**\n ** GLX_SGIS_color_range\n **/\n\n#if (defined(GLX_SGIS_COLOR_RANGE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_SGIS_COLOR_RANGE)) && !defined(REGAL_NO_ENUM_GLX_SGIS_COLOR_RANGE)\n#define REGAL_NO_ENUM_GLX_SGIS_COLOR_RANGE\n#endif\n\n#if (defined(GLX_SGIS_COLOR_RANGE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_SGIS_COLOR_RANGE)) && !defined(REGAL_NO_TYPEDEF_GLX_SGIS_COLOR_RANGE)\n#define REGAL_NO_TYPEDEF_GLX_SGIS_COLOR_RANGE\n#endif\n\n#if (defined(GLX_SGIS_COLOR_RANGE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_SGIS_COLOR_RANGE)) && !defined(REGAL_NO_NAMESPACE_GLX_SGIS_COLOR_RANGE)\n#define REGAL_NO_NAMESPACE_GLX_SGIS_COLOR_RANGE\n#endif\n\n#if (defined(GLX_SGIS_COLOR_RANGE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_SGIS_COLOR_RANGE)) && !defined(REGAL_NO_PLUGIN_GLX_SGIS_COLOR_RANGE)\n#define REGAL_NO_PLUGIN_GLX_SGIS_COLOR_RANGE\n#endif\n\n#if (defined(GLX_SGIS_COLOR_RANGE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_SGIS_COLOR_RANGE)) && !defined(REGAL_NO_DECLARATION_GLX_SGIS_COLOR_RANGE)\n#define REGAL_NO_DECLARATION_GLX_SGIS_COLOR_RANGE\n#endif\n\n#ifndef GLX_SGIS_color_range\n#define GLX_SGIS_color_range 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_SGIS_COLOR_RANGE\n#define GLX_EXTENDED_RANGE_SGIS 0x0\n#define GLX_MAX_ALPHA_SGIS      0x0\n#define GLX_MAX_BLUE_SGIS       0x0\n#define GLX_MAX_GREEN_SGIS      0x0\n#define GLX_MAX_RED_SGIS        0x0\n#define GLX_MIN_ALPHA_SGIS      0x0\n#define GLX_MIN_BLUE_SGIS       0x0\n#define GLX_MIN_GREEN_SGIS      0x0\n#define GLX_MIN_RED_SGIS        0x0\n#endif\n\n/**\n ** GLX_SGIS_multisample\n **/\n\n#if (defined(GLX_SGIS_MULTISAMPLE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_SGIS_MULTISAMPLE)) && !defined(REGAL_NO_ENUM_GLX_SGIS_MULTISAMPLE)\n#define REGAL_NO_ENUM_GLX_SGIS_MULTISAMPLE\n#endif\n\n#if (defined(GLX_SGIS_MULTISAMPLE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_SGIS_MULTISAMPLE)) && !defined(REGAL_NO_TYPEDEF_GLX_SGIS_MULTISAMPLE)\n#define REGAL_NO_TYPEDEF_GLX_SGIS_MULTISAMPLE\n#endif\n\n#if (defined(GLX_SGIS_MULTISAMPLE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_SGIS_MULTISAMPLE)) && !defined(REGAL_NO_NAMESPACE_GLX_SGIS_MULTISAMPLE)\n#define REGAL_NO_NAMESPACE_GLX_SGIS_MULTISAMPLE\n#endif\n\n#if (defined(GLX_SGIS_MULTISAMPLE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_SGIS_MULTISAMPLE)) && !defined(REGAL_NO_PLUGIN_GLX_SGIS_MULTISAMPLE)\n#define REGAL_NO_PLUGIN_GLX_SGIS_MULTISAMPLE\n#endif\n\n#if (defined(GLX_SGIS_MULTISAMPLE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_SGIS_MULTISAMPLE)) && !defined(REGAL_NO_DECLARATION_GLX_SGIS_MULTISAMPLE)\n#define REGAL_NO_DECLARATION_GLX_SGIS_MULTISAMPLE\n#endif\n\n#ifndef GLX_SGIS_multisample\n#define GLX_SGIS_multisample 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_SGIS_MULTISAMPLE\n#define GLX_SAMPLE_BUFFERS_SGIS 0x186a0     /* 100000 */\n#define GLX_SAMPLES_SGIS        0x186a1     /* 100001 */\n#endif\n\n/**\n ** GLX_SGIS_shared_multisample\n **/\n\n#if (defined(GLX_SGIS_SHARED_MULTISAMPLE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_SGIS_SHARED_MULTISAMPLE)) && !defined(REGAL_NO_ENUM_GLX_SGIS_SHARED_MULTISAMPLE)\n#define REGAL_NO_ENUM_GLX_SGIS_SHARED_MULTISAMPLE\n#endif\n\n#if (defined(GLX_SGIS_SHARED_MULTISAMPLE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_SGIS_SHARED_MULTISAMPLE)) && !defined(REGAL_NO_TYPEDEF_GLX_SGIS_SHARED_MULTISAMPLE)\n#define REGAL_NO_TYPEDEF_GLX_SGIS_SHARED_MULTISAMPLE\n#endif\n\n#if (defined(GLX_SGIS_SHARED_MULTISAMPLE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_SGIS_SHARED_MULTISAMPLE)) && !defined(REGAL_NO_NAMESPACE_GLX_SGIS_SHARED_MULTISAMPLE)\n#define REGAL_NO_NAMESPACE_GLX_SGIS_SHARED_MULTISAMPLE\n#endif\n\n#if (defined(GLX_SGIS_SHARED_MULTISAMPLE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_SGIS_SHARED_MULTISAMPLE)) && !defined(REGAL_NO_PLUGIN_GLX_SGIS_SHARED_MULTISAMPLE)\n#define REGAL_NO_PLUGIN_GLX_SGIS_SHARED_MULTISAMPLE\n#endif\n\n#if (defined(GLX_SGIS_SHARED_MULTISAMPLE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_SGIS_SHARED_MULTISAMPLE)) && !defined(REGAL_NO_DECLARATION_GLX_SGIS_SHARED_MULTISAMPLE)\n#define REGAL_NO_DECLARATION_GLX_SGIS_SHARED_MULTISAMPLE\n#endif\n\n#ifndef GLX_SGIS_shared_multisample\n#define GLX_SGIS_shared_multisample 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_SGIS_SHARED_MULTISAMPLE\n#define GLX_MULTISAMPLE_SUB_RECT_WIDTH_SGIS  0x8026     /* 32806 */\n#define GLX_MULTISAMPLE_SUB_RECT_HEIGHT_SGIS 0x8027     /* 32807 */\n#endif\n\n/**\n ** GLX_SGIX_fbconfig\n **/\n\n#if (defined(GLX_SGIX_FBCONFIG) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_SGIX_FBCONFIG)) && !defined(REGAL_NO_ENUM_GLX_SGIX_FBCONFIG)\n#define REGAL_NO_ENUM_GLX_SGIX_FBCONFIG\n#endif\n\n#if (defined(GLX_SGIX_FBCONFIG) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_SGIX_FBCONFIG)) && !defined(REGAL_NO_TYPEDEF_GLX_SGIX_FBCONFIG)\n#define REGAL_NO_TYPEDEF_GLX_SGIX_FBCONFIG\n#endif\n\n#if (defined(GLX_SGIX_FBCONFIG) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_SGIX_FBCONFIG)) && !defined(REGAL_NO_NAMESPACE_GLX_SGIX_FBCONFIG)\n#define REGAL_NO_NAMESPACE_GLX_SGIX_FBCONFIG\n#endif\n\n#if (defined(GLX_SGIX_FBCONFIG) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_SGIX_FBCONFIG)) && !defined(REGAL_NO_PLUGIN_GLX_SGIX_FBCONFIG)\n#define REGAL_NO_PLUGIN_GLX_SGIX_FBCONFIG\n#endif\n\n#if (defined(GLX_SGIX_FBCONFIG) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_SGIX_FBCONFIG)) && !defined(REGAL_NO_DECLARATION_GLX_SGIX_FBCONFIG)\n#define REGAL_NO_DECLARATION_GLX_SGIX_FBCONFIG\n#endif\n\n#ifndef GLX_SGIX_fbconfig\n#define GLX_SGIX_fbconfig 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_SGIX_FBCONFIG\n#define GLX_RGBA_BIT_SGIX         0x1\n#define GLX_WINDOW_BIT_SGIX       0x1\n#define GLX_COLOR_INDEX_BIT_SGIX  0x2\n#define GLX_PIXMAP_BIT_SGIX       0x2\n#define GLX_SCREEN_EXT            0x800c     /* 32780 */\n#define GLX_DRAWABLE_TYPE_SGIX    0x8010     /* 32784 */\n#define GLX_RENDER_TYPE_SGIX      0x8011     /* 32785 */\n#define GLX_X_RENDERABLE_SGIX     0x8012     /* 32786 */\n#define GLX_FBCONFIG_ID_SGIX      0x8013     /* 32787 */\n#define GLX_RGBA_TYPE_SGIX        0x8014     /* 32788 */\n#define GLX_COLOR_INDEX_TYPE_SGIX 0x8015     /* 32789 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GLX_SGIX_FBCONFIG\ntypedef GLXContext (REGAL_CALL *PFNGLXCREATECONTEXTWITHCONFIGSGIXPROC)(Display *dpy, GLXFBConfig config, int render_type, GLXContext share_list, Bool direct);\ntypedef GLXFBConfigSGIX (REGAL_CALL *PFNGLXGETFBCONFIGFROMVISUALSGIXPROC)(Display *dpy, XVisualInfo *vis);\ntypedef GLXFBConfigSGIX *(REGAL_CALL *PFNGLXCHOOSEFBCONFIGSGIXPROC)(Display *dpy, int screen, const int *attrib_list, int *nelements);\ntypedef GLXPixmap (REGAL_CALL *PFNGLXCREATEGLXPIXMAPWITHCONFIGSGIXPROC)(Display *dpy, GLXFBConfig config, Pixmap pixmap);\ntypedef XVisualInfo *(REGAL_CALL *PFNGLXGETVISUALFROMFBCONFIGSGIXPROC)(Display *dpy, GLXFBConfig config);\ntypedef int (REGAL_CALL *PFNGLXGETFBCONFIGATTRIBSGIXPROC)(Display *dpy, GLXFBConfigSGIX config, int attribute, int *value);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GLX_SGIX_FBCONFIG\n#define glXChooseFBConfigSGIX               rglXChooseFBConfigSGIX\n#define glXCreateContextWithConfigSGIX      rglXCreateContextWithConfigSGIX\n#define glXCreateGLXPixmapWithConfigSGIX    rglXCreateGLXPixmapWithConfigSGIX\n#define glXGetFBConfigAttribSGIX            rglXGetFBConfigAttribSGIX\n#define glXGetFBConfigFromVisualSGIX        rglXGetFBConfigFromVisualSGIX\n#define glXGetVisualFromFBConfigSGIX        rglXGetVisualFromFBConfigSGIX\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GLX_SGIX_FBCONFIG\nREGAL_DECL GLXContext REGAL_CALL glXCreateContextWithConfigSGIX(Display *dpy, GLXFBConfig config, int render_type, GLXContext share_list, Bool direct);\nREGAL_DECL GLXFBConfigSGIX *REGAL_CALL glXChooseFBConfigSGIX(Display *dpy, int screen, const int *attrib_list, int *nelements);\nREGAL_DECL GLXFBConfigSGIX REGAL_CALL glXGetFBConfigFromVisualSGIX(Display *dpy, XVisualInfo *vis);\nREGAL_DECL GLXPixmap REGAL_CALL glXCreateGLXPixmapWithConfigSGIX(Display *dpy, GLXFBConfig config, Pixmap pixmap);\nREGAL_DECL XVisualInfo *REGAL_CALL glXGetVisualFromFBConfigSGIX(Display *dpy, GLXFBConfig config);\nREGAL_DECL int REGAL_CALL glXGetFBConfigAttribSGIX(Display *dpy, GLXFBConfigSGIX config, int attribute, int *value);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GLX_SGIX_FBCONFIG\nREGAL_DECL GLXContext REGAL_CALL plugin_glXCreateContextWithConfigSGIX(Display *dpy, GLXFBConfig config, int render_type, GLXContext share_list, Bool direct);\nREGAL_DECL GLXFBConfigSGIX *REGAL_CALL plugin_glXChooseFBConfigSGIX(Display *dpy, int screen, const int *attrib_list, int *nelements);\nREGAL_DECL GLXFBConfigSGIX REGAL_CALL plugin_glXGetFBConfigFromVisualSGIX(Display *dpy, XVisualInfo *vis);\nREGAL_DECL GLXPixmap REGAL_CALL plugin_glXCreateGLXPixmapWithConfigSGIX(Display *dpy, GLXFBConfig config, Pixmap pixmap);\nREGAL_DECL XVisualInfo *REGAL_CALL plugin_glXGetVisualFromFBConfigSGIX(Display *dpy, GLXFBConfig config);\nREGAL_DECL int REGAL_CALL plugin_glXGetFBConfigAttribSGIX(Display *dpy, GLXFBConfigSGIX config, int attribute, int *value);\n#endif\n\n/**\n ** GLX_SGIX_hyperpipe\n **/\n\n#if (defined(GLX_SGIX_HYPERPIPE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_SGIX_HYPERPIPE)) && !defined(REGAL_NO_ENUM_GLX_SGIX_HYPERPIPE)\n#define REGAL_NO_ENUM_GLX_SGIX_HYPERPIPE\n#endif\n\n#if (defined(GLX_SGIX_HYPERPIPE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_SGIX_HYPERPIPE)) && !defined(REGAL_NO_TYPEDEF_GLX_SGIX_HYPERPIPE)\n#define REGAL_NO_TYPEDEF_GLX_SGIX_HYPERPIPE\n#endif\n\n#if (defined(GLX_SGIX_HYPERPIPE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_SGIX_HYPERPIPE)) && !defined(REGAL_NO_NAMESPACE_GLX_SGIX_HYPERPIPE)\n#define REGAL_NO_NAMESPACE_GLX_SGIX_HYPERPIPE\n#endif\n\n#if (defined(GLX_SGIX_HYPERPIPE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_SGIX_HYPERPIPE)) && !defined(REGAL_NO_PLUGIN_GLX_SGIX_HYPERPIPE)\n#define REGAL_NO_PLUGIN_GLX_SGIX_HYPERPIPE\n#endif\n\n#if (defined(GLX_SGIX_HYPERPIPE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_SGIX_HYPERPIPE)) && !defined(REGAL_NO_DECLARATION_GLX_SGIX_HYPERPIPE)\n#define REGAL_NO_DECLARATION_GLX_SGIX_HYPERPIPE\n#endif\n\n#ifndef GLX_SGIX_hyperpipe\n#define GLX_SGIX_hyperpipe 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_SGIX_HYPERPIPE\n#define GLX_HYPERPIPE_DISPLAY_PIPE_SGIX     0x1\n#define GLX_PIPE_RECT_SGIX                  0x1\n#define GLX_HYPERPIPE_RENDER_PIPE_SGIX      0x2\n#define GLX_PIPE_RECT_LIMITS_SGIX           0x2\n#define GLX_HYPERPIPE_STEREO_SGIX           0x3\n#define GLX_HYPERPIPE_PIXEL_AVERAGE_SGIX    0x4\n#define GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX 0x50       /* 80 */\n#define GLX_BAD_HYPERPIPE_CONFIG_SGIX       0x5b       /* 91 */\n#define GLX_BAD_HYPERPIPE_SGIX              0x5c       /* 92 */\n#define GLX_HYPERPIPE_ID_SGIX               0x8030     /* 32816 */\n#endif\n\n/**\n ** GLX_SGIX_pbuffer\n **/\n\n#if (defined(GLX_SGIX_PBUFFER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_SGIX_PBUFFER)) && !defined(REGAL_NO_ENUM_GLX_SGIX_PBUFFER)\n#define REGAL_NO_ENUM_GLX_SGIX_PBUFFER\n#endif\n\n#if (defined(GLX_SGIX_PBUFFER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_SGIX_PBUFFER)) && !defined(REGAL_NO_TYPEDEF_GLX_SGIX_PBUFFER)\n#define REGAL_NO_TYPEDEF_GLX_SGIX_PBUFFER\n#endif\n\n#if (defined(GLX_SGIX_PBUFFER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_SGIX_PBUFFER)) && !defined(REGAL_NO_NAMESPACE_GLX_SGIX_PBUFFER)\n#define REGAL_NO_NAMESPACE_GLX_SGIX_PBUFFER\n#endif\n\n#if (defined(GLX_SGIX_PBUFFER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_SGIX_PBUFFER)) && !defined(REGAL_NO_PLUGIN_GLX_SGIX_PBUFFER)\n#define REGAL_NO_PLUGIN_GLX_SGIX_PBUFFER\n#endif\n\n#if (defined(GLX_SGIX_PBUFFER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_SGIX_PBUFFER)) && !defined(REGAL_NO_DECLARATION_GLX_SGIX_PBUFFER)\n#define REGAL_NO_DECLARATION_GLX_SGIX_PBUFFER\n#endif\n\n#ifndef GLX_SGIX_pbuffer\n#define GLX_SGIX_pbuffer 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_SGIX_PBUFFER\n#define GLX_FRONT_LEFT_BUFFER_BIT_SGIX  0x1\n#define GLX_AUX_BUFFERS_BIT_SGIX        0x10          /* 16 */\n#define GLX_SAMPLE_BUFFERS_BIT_SGIX     0x100         /* 256 */\n#define GLX_FRONT_RIGHT_BUFFER_BIT_SGIX 0x2\n#define GLX_DEPTH_BUFFER_BIT_SGIX       0x20          /* 32 */\n#define GLX_BACK_LEFT_BUFFER_BIT_SGIX   0x4\n#define GLX_PBUFFER_BIT_SGIX            0x4\n#define GLX_STENCIL_BUFFER_BIT_SGIX     0x40          /* 64 */\n#define GLX_BACK_RIGHT_BUFFER_BIT_SGIX  0x8\n#define GLX_ACCUM_BUFFER_BIT_SGIX       0x80          /* 128 */\n#define GLX_BUFFER_CLOBBER_MASK_SGIX    0x8000000     /* 134217728 */\n#define GLX_MAX_PBUFFER_WIDTH_SGIX      0x8016        /* 32790 */\n#define GLX_MAX_PBUFFER_HEIGHT_SGIX     0x8017        /* 32791 */\n#define GLX_MAX_PBUFFER_PIXELS_SGIX     0x8018        /* 32792 */\n#define GLX_OPTIMAL_PBUFFER_WIDTH_SGIX  0x8019        /* 32793 */\n#define GLX_OPTIMAL_PBUFFER_HEIGHT_SGIX 0x801a        /* 32794 */\n#define GLX_PRESERVED_CONTENTS_SGIX     0x801b        /* 32795 */\n#define GLX_LARGEST_PBUFFER_SGIX        0x801c        /* 32796 */\n#define GLX_WIDTH_SGIX                  0x801d        /* 32797 */\n#define GLX_HEIGHT_SGIX                 0x801e        /* 32798 */\n#define GLX_EVENT_MASK_SGIX             0x801f        /* 32799 */\n#define GLX_DAMAGED_SGIX                0x8020        /* 32800 */\n#define GLX_SAVED_SGIX                  0x8021        /* 32801 */\n#define GLX_WINDOW_SGIX                 0x8022        /* 32802 */\n#define GLX_PBUFFER_SGIX                0x8023        /* 32803 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GLX_SGIX_PBUFFER\ntypedef GLXPbuffer (REGAL_CALL *PFNGLXCREATEGLXPBUFFERSGIXPROC)(Display *dpy, GLXFBConfig config, unsigned int width, unsigned int height, int *attrib_list);\ntypedef void (REGAL_CALL *PFNGLXDESTROYGLXPBUFFERSGIXPROC)(Display *dpy, GLXPbuffer pbuf);\ntypedef void (REGAL_CALL *PFNGLXGETSELECTEDEVENTSGIXPROC)(Display *dpy, GLXDrawable drawable, unsigned long *mask);\ntypedef void (REGAL_CALL *PFNGLXQUERYGLXPBUFFERSGIXPROC)(Display *dpy, GLXPbuffer pbuf, int attribute, unsigned int *value);\ntypedef void (REGAL_CALL *PFNGLXSELECTEVENTSGIXPROC)(Display *dpy, GLXDrawable drawable, unsigned long mask);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GLX_SGIX_PBUFFER\n#define glXCreateGLXPbufferSGIX             rglXCreateGLXPbufferSGIX\n#define glXDestroyGLXPbufferSGIX            rglXDestroyGLXPbufferSGIX\n#define glXGetSelectedEventSGIX             rglXGetSelectedEventSGIX\n#define glXQueryGLXPbufferSGIX              rglXQueryGLXPbufferSGIX\n#define glXSelectEventSGIX                  rglXSelectEventSGIX\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GLX_SGIX_PBUFFER\nREGAL_DECL GLXPbuffer REGAL_CALL glXCreateGLXPbufferSGIX(Display *dpy, GLXFBConfig config, unsigned int width, unsigned int height, int *attrib_list);\nREGAL_DECL void REGAL_CALL glXDestroyGLXPbufferSGIX(Display *dpy, GLXPbuffer pbuf);\nREGAL_DECL void REGAL_CALL glXGetSelectedEventSGIX(Display *dpy, GLXDrawable drawable, unsigned long *mask);\nREGAL_DECL void REGAL_CALL glXQueryGLXPbufferSGIX(Display *dpy, GLXPbuffer pbuf, int attribute, unsigned int *value);\nREGAL_DECL void REGAL_CALL glXSelectEventSGIX(Display *dpy, GLXDrawable drawable, unsigned long mask);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GLX_SGIX_PBUFFER\nREGAL_DECL GLXPbuffer REGAL_CALL plugin_glXCreateGLXPbufferSGIX(Display *dpy, GLXFBConfig config, unsigned int width, unsigned int height, int *attrib_list);\nREGAL_DECL void REGAL_CALL plugin_glXDestroyGLXPbufferSGIX(Display *dpy, GLXPbuffer pbuf);\nREGAL_DECL void REGAL_CALL plugin_glXGetSelectedEventSGIX(Display *dpy, GLXDrawable drawable, unsigned long *mask);\nREGAL_DECL void REGAL_CALL plugin_glXQueryGLXPbufferSGIX(Display *dpy, GLXPbuffer pbuf, int attribute, unsigned int *value);\nREGAL_DECL void REGAL_CALL plugin_glXSelectEventSGIX(Display *dpy, GLXDrawable drawable, unsigned long mask);\n#endif\n\n/**\n ** GLX_SGIX_swap_barrier\n **/\n\n#if (defined(GLX_SGIX_SWAP_BARRIER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_SGIX_SWAP_BARRIER)) && !defined(REGAL_NO_ENUM_GLX_SGIX_SWAP_BARRIER)\n#define REGAL_NO_ENUM_GLX_SGIX_SWAP_BARRIER\n#endif\n\n#if (defined(GLX_SGIX_SWAP_BARRIER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_SGIX_SWAP_BARRIER)) && !defined(REGAL_NO_TYPEDEF_GLX_SGIX_SWAP_BARRIER)\n#define REGAL_NO_TYPEDEF_GLX_SGIX_SWAP_BARRIER\n#endif\n\n#if (defined(GLX_SGIX_SWAP_BARRIER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_SGIX_SWAP_BARRIER)) && !defined(REGAL_NO_NAMESPACE_GLX_SGIX_SWAP_BARRIER)\n#define REGAL_NO_NAMESPACE_GLX_SGIX_SWAP_BARRIER\n#endif\n\n#if (defined(GLX_SGIX_SWAP_BARRIER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_SGIX_SWAP_BARRIER)) && !defined(REGAL_NO_PLUGIN_GLX_SGIX_SWAP_BARRIER)\n#define REGAL_NO_PLUGIN_GLX_SGIX_SWAP_BARRIER\n#endif\n\n#if (defined(GLX_SGIX_SWAP_BARRIER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_SGIX_SWAP_BARRIER)) && !defined(REGAL_NO_DECLARATION_GLX_SGIX_SWAP_BARRIER)\n#define REGAL_NO_DECLARATION_GLX_SGIX_SWAP_BARRIER\n#endif\n\n#ifndef GLX_SGIX_swap_barrier\n#define GLX_SGIX_swap_barrier 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GLX_SGIX_SWAP_BARRIER\ntypedef Bool (REGAL_CALL *PFNGLXQUERYMAXSWAPBARRIERSSGIXPROC)(Display *dpy, int screen, int *max);\ntypedef void (REGAL_CALL *PFNGLXBINDSWAPBARRIERSGIXPROC)(Display *dpy, GLXDrawable drawable, int barrier);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GLX_SGIX_SWAP_BARRIER\n#define glXBindSwapBarrierSGIX              rglXBindSwapBarrierSGIX\n#define glXQueryMaxSwapBarriersSGIX         rglXQueryMaxSwapBarriersSGIX\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GLX_SGIX_SWAP_BARRIER\nREGAL_DECL Bool REGAL_CALL glXQueryMaxSwapBarriersSGIX(Display *dpy, int screen, int *max);\nREGAL_DECL void REGAL_CALL glXBindSwapBarrierSGIX(Display *dpy, GLXDrawable drawable, int barrier);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GLX_SGIX_SWAP_BARRIER\nREGAL_DECL Bool REGAL_CALL plugin_glXQueryMaxSwapBarriersSGIX(Display *dpy, int screen, int *max);\nREGAL_DECL void REGAL_CALL plugin_glXBindSwapBarrierSGIX(Display *dpy, GLXDrawable drawable, int barrier);\n#endif\n\n/**\n ** GLX_SGIX_swap_group\n **/\n\n#if (defined(GLX_SGIX_SWAP_GROUP) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_SGIX_SWAP_GROUP)) && !defined(REGAL_NO_ENUM_GLX_SGIX_SWAP_GROUP)\n#define REGAL_NO_ENUM_GLX_SGIX_SWAP_GROUP\n#endif\n\n#if (defined(GLX_SGIX_SWAP_GROUP) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_SGIX_SWAP_GROUP)) && !defined(REGAL_NO_TYPEDEF_GLX_SGIX_SWAP_GROUP)\n#define REGAL_NO_TYPEDEF_GLX_SGIX_SWAP_GROUP\n#endif\n\n#if (defined(GLX_SGIX_SWAP_GROUP) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_SGIX_SWAP_GROUP)) && !defined(REGAL_NO_NAMESPACE_GLX_SGIX_SWAP_GROUP)\n#define REGAL_NO_NAMESPACE_GLX_SGIX_SWAP_GROUP\n#endif\n\n#if (defined(GLX_SGIX_SWAP_GROUP) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_SGIX_SWAP_GROUP)) && !defined(REGAL_NO_PLUGIN_GLX_SGIX_SWAP_GROUP)\n#define REGAL_NO_PLUGIN_GLX_SGIX_SWAP_GROUP\n#endif\n\n#if (defined(GLX_SGIX_SWAP_GROUP) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_SGIX_SWAP_GROUP)) && !defined(REGAL_NO_DECLARATION_GLX_SGIX_SWAP_GROUP)\n#define REGAL_NO_DECLARATION_GLX_SGIX_SWAP_GROUP\n#endif\n\n#ifndef GLX_SGIX_swap_group\n#define GLX_SGIX_swap_group 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GLX_SGIX_SWAP_GROUP\ntypedef void (REGAL_CALL *PFNGLXJOINSWAPGROUPSGIXPROC)(Display *dpy, GLXDrawable drawable, GLXDrawable member);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GLX_SGIX_SWAP_GROUP\n#define glXJoinSwapGroupSGIX                rglXJoinSwapGroupSGIX\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GLX_SGIX_SWAP_GROUP\nREGAL_DECL void REGAL_CALL glXJoinSwapGroupSGIX(Display *dpy, GLXDrawable drawable, GLXDrawable member);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GLX_SGIX_SWAP_GROUP\nREGAL_DECL void REGAL_CALL plugin_glXJoinSwapGroupSGIX(Display *dpy, GLXDrawable drawable, GLXDrawable member);\n#endif\n\n/**\n ** GLX_SGIX_video_resize\n **/\n\n#if (defined(GLX_SGIX_VIDEO_RESIZE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_SGIX_VIDEO_RESIZE)) && !defined(REGAL_NO_ENUM_GLX_SGIX_VIDEO_RESIZE)\n#define REGAL_NO_ENUM_GLX_SGIX_VIDEO_RESIZE\n#endif\n\n#if (defined(GLX_SGIX_VIDEO_RESIZE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_SGIX_VIDEO_RESIZE)) && !defined(REGAL_NO_TYPEDEF_GLX_SGIX_VIDEO_RESIZE)\n#define REGAL_NO_TYPEDEF_GLX_SGIX_VIDEO_RESIZE\n#endif\n\n#if (defined(GLX_SGIX_VIDEO_RESIZE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_SGIX_VIDEO_RESIZE)) && !defined(REGAL_NO_NAMESPACE_GLX_SGIX_VIDEO_RESIZE)\n#define REGAL_NO_NAMESPACE_GLX_SGIX_VIDEO_RESIZE\n#endif\n\n#if (defined(GLX_SGIX_VIDEO_RESIZE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_SGIX_VIDEO_RESIZE)) && !defined(REGAL_NO_PLUGIN_GLX_SGIX_VIDEO_RESIZE)\n#define REGAL_NO_PLUGIN_GLX_SGIX_VIDEO_RESIZE\n#endif\n\n#if (defined(GLX_SGIX_VIDEO_RESIZE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_SGIX_VIDEO_RESIZE)) && !defined(REGAL_NO_DECLARATION_GLX_SGIX_VIDEO_RESIZE)\n#define REGAL_NO_DECLARATION_GLX_SGIX_VIDEO_RESIZE\n#endif\n\n#ifndef GLX_SGIX_video_resize\n#define GLX_SGIX_video_resize 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_SGIX_VIDEO_RESIZE\n#define GLX_SYNC_FRAME_SGIX 0x0\n#define GLX_SYNC_SWAP_SGIX  0x1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GLX_SGIX_VIDEO_RESIZE\ntypedef int (REGAL_CALL *PFNGLXBINDCHANNELTOWINDOWSGIXPROC)(Display *display, int screen, int channel, Window window);\ntypedef int (REGAL_CALL *PFNGLXCHANNELRECTSGIXPROC)(Display *display, int screen, int channel, int x, int y, int w, int h);\ntypedef int (REGAL_CALL *PFNGLXCHANNELRECTSYNCSGIXPROC)(Display *display, int screen, int channel, GLenum synctype);\ntypedef int (REGAL_CALL *PFNGLXQUERYCHANNELDELTASSGIXPROC)(Display *display, int screen, int channel, int *x, int *y, int *w, int *h);\ntypedef int (REGAL_CALL *PFNGLXQUERYCHANNELRECTSGIXPROC)(Display *display, int screen, int channel, int *dx, int *dy, int *dw, int *dh);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GLX_SGIX_VIDEO_RESIZE\n#define glXBindChannelToWindowSGIX          rglXBindChannelToWindowSGIX\n#define glXChannelRectSGIX                  rglXChannelRectSGIX\n#define glXChannelRectSyncSGIX              rglXChannelRectSyncSGIX\n#define glXQueryChannelDeltasSGIX           rglXQueryChannelDeltasSGIX\n#define glXQueryChannelRectSGIX             rglXQueryChannelRectSGIX\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GLX_SGIX_VIDEO_RESIZE\nREGAL_DECL int REGAL_CALL glXBindChannelToWindowSGIX(Display *display, int screen, int channel, Window window);\nREGAL_DECL int REGAL_CALL glXChannelRectSGIX(Display *display, int screen, int channel, int x, int y, int w, int h);\nREGAL_DECL int REGAL_CALL glXChannelRectSyncSGIX(Display *display, int screen, int channel, GLenum synctype);\nREGAL_DECL int REGAL_CALL glXQueryChannelDeltasSGIX(Display *display, int screen, int channel, int *x, int *y, int *w, int *h);\nREGAL_DECL int REGAL_CALL glXQueryChannelRectSGIX(Display *display, int screen, int channel, int *dx, int *dy, int *dw, int *dh);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GLX_SGIX_VIDEO_RESIZE\nREGAL_DECL int REGAL_CALL plugin_glXBindChannelToWindowSGIX(Display *display, int screen, int channel, Window window);\nREGAL_DECL int REGAL_CALL plugin_glXChannelRectSGIX(Display *display, int screen, int channel, int x, int y, int w, int h);\nREGAL_DECL int REGAL_CALL plugin_glXChannelRectSyncSGIX(Display *display, int screen, int channel, GLenum synctype);\nREGAL_DECL int REGAL_CALL plugin_glXQueryChannelDeltasSGIX(Display *display, int screen, int channel, int *x, int *y, int *w, int *h);\nREGAL_DECL int REGAL_CALL plugin_glXQueryChannelRectSGIX(Display *display, int screen, int channel, int *dx, int *dy, int *dw, int *dh);\n#endif\n\n/**\n ** GLX_SGIX_visual_select_group\n **/\n\n#if (defined(GLX_SGIX_VISUAL_SELECT_GROUP) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_SGIX_VISUAL_SELECT_GROUP)) && !defined(REGAL_NO_ENUM_GLX_SGIX_VISUAL_SELECT_GROUP)\n#define REGAL_NO_ENUM_GLX_SGIX_VISUAL_SELECT_GROUP\n#endif\n\n#if (defined(GLX_SGIX_VISUAL_SELECT_GROUP) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_SGIX_VISUAL_SELECT_GROUP)) && !defined(REGAL_NO_TYPEDEF_GLX_SGIX_VISUAL_SELECT_GROUP)\n#define REGAL_NO_TYPEDEF_GLX_SGIX_VISUAL_SELECT_GROUP\n#endif\n\n#if (defined(GLX_SGIX_VISUAL_SELECT_GROUP) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_SGIX_VISUAL_SELECT_GROUP)) && !defined(REGAL_NO_NAMESPACE_GLX_SGIX_VISUAL_SELECT_GROUP)\n#define REGAL_NO_NAMESPACE_GLX_SGIX_VISUAL_SELECT_GROUP\n#endif\n\n#if (defined(GLX_SGIX_VISUAL_SELECT_GROUP) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_SGIX_VISUAL_SELECT_GROUP)) && !defined(REGAL_NO_PLUGIN_GLX_SGIX_VISUAL_SELECT_GROUP)\n#define REGAL_NO_PLUGIN_GLX_SGIX_VISUAL_SELECT_GROUP\n#endif\n\n#if (defined(GLX_SGIX_VISUAL_SELECT_GROUP) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_SGIX_VISUAL_SELECT_GROUP)) && !defined(REGAL_NO_DECLARATION_GLX_SGIX_VISUAL_SELECT_GROUP)\n#define REGAL_NO_DECLARATION_GLX_SGIX_VISUAL_SELECT_GROUP\n#endif\n\n#ifndef GLX_SGIX_visual_select_group\n#define GLX_SGIX_visual_select_group 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_SGIX_VISUAL_SELECT_GROUP\n#define GLX_VISUAL_SELECT_GROUP_SGIX 0x8028 /* 32808 */\n#endif\n\n/**\n ** GLX_SGI_cushion\n **/\n\n#if (defined(GLX_SGI_CUSHION) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_SGI_CUSHION)) && !defined(REGAL_NO_ENUM_GLX_SGI_CUSHION)\n#define REGAL_NO_ENUM_GLX_SGI_CUSHION\n#endif\n\n#if (defined(GLX_SGI_CUSHION) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_SGI_CUSHION)) && !defined(REGAL_NO_TYPEDEF_GLX_SGI_CUSHION)\n#define REGAL_NO_TYPEDEF_GLX_SGI_CUSHION\n#endif\n\n#if (defined(GLX_SGI_CUSHION) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_SGI_CUSHION)) && !defined(REGAL_NO_NAMESPACE_GLX_SGI_CUSHION)\n#define REGAL_NO_NAMESPACE_GLX_SGI_CUSHION\n#endif\n\n#if (defined(GLX_SGI_CUSHION) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_SGI_CUSHION)) && !defined(REGAL_NO_PLUGIN_GLX_SGI_CUSHION)\n#define REGAL_NO_PLUGIN_GLX_SGI_CUSHION\n#endif\n\n#if (defined(GLX_SGI_CUSHION) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_SGI_CUSHION)) && !defined(REGAL_NO_DECLARATION_GLX_SGI_CUSHION)\n#define REGAL_NO_DECLARATION_GLX_SGI_CUSHION\n#endif\n\n#ifndef GLX_SGI_cushion\n#define GLX_SGI_cushion 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GLX_SGI_CUSHION\ntypedef void (REGAL_CALL *PFNGLXCUSHIONSGIPROC)(Display *dpy, Window window, float cushion);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GLX_SGI_CUSHION\n#define glXCushionSGI                       rglXCushionSGI\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GLX_SGI_CUSHION\nREGAL_DECL void REGAL_CALL glXCushionSGI(Display *dpy, Window window, float cushion);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GLX_SGI_CUSHION\nREGAL_DECL void REGAL_CALL plugin_glXCushionSGI(Display *dpy, Window window, float cushion);\n#endif\n\n/**\n ** GLX_SGI_make_current_read\n **/\n\n#if (defined(GLX_SGI_MAKE_CURRENT_READ) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_SGI_MAKE_CURRENT_READ)) && !defined(REGAL_NO_ENUM_GLX_SGI_MAKE_CURRENT_READ)\n#define REGAL_NO_ENUM_GLX_SGI_MAKE_CURRENT_READ\n#endif\n\n#if (defined(GLX_SGI_MAKE_CURRENT_READ) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_SGI_MAKE_CURRENT_READ)) && !defined(REGAL_NO_TYPEDEF_GLX_SGI_MAKE_CURRENT_READ)\n#define REGAL_NO_TYPEDEF_GLX_SGI_MAKE_CURRENT_READ\n#endif\n\n#if (defined(GLX_SGI_MAKE_CURRENT_READ) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_SGI_MAKE_CURRENT_READ)) && !defined(REGAL_NO_NAMESPACE_GLX_SGI_MAKE_CURRENT_READ)\n#define REGAL_NO_NAMESPACE_GLX_SGI_MAKE_CURRENT_READ\n#endif\n\n#if (defined(GLX_SGI_MAKE_CURRENT_READ) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_SGI_MAKE_CURRENT_READ)) && !defined(REGAL_NO_PLUGIN_GLX_SGI_MAKE_CURRENT_READ)\n#define REGAL_NO_PLUGIN_GLX_SGI_MAKE_CURRENT_READ\n#endif\n\n#if (defined(GLX_SGI_MAKE_CURRENT_READ) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_SGI_MAKE_CURRENT_READ)) && !defined(REGAL_NO_DECLARATION_GLX_SGI_MAKE_CURRENT_READ)\n#define REGAL_NO_DECLARATION_GLX_SGI_MAKE_CURRENT_READ\n#endif\n\n#ifndef GLX_SGI_make_current_read\n#define GLX_SGI_make_current_read 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GLX_SGI_MAKE_CURRENT_READ\ntypedef Bool (REGAL_CALL *PFNGLXMAKECURRENTREADSGIPROC)(Display *dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx);\ntypedef GLXDrawable (REGAL_CALL *PFNGLXGETCURRENTREADDRAWABLESGIPROC)(void);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GLX_SGI_MAKE_CURRENT_READ\n#define glXGetCurrentReadDrawableSGI        rglXGetCurrentReadDrawableSGI\n#define glXMakeCurrentReadSGI               rglXMakeCurrentReadSGI\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GLX_SGI_MAKE_CURRENT_READ\nREGAL_DECL Bool REGAL_CALL glXMakeCurrentReadSGI(Display *dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx);\nREGAL_DECL GLXDrawable REGAL_CALL glXGetCurrentReadDrawableSGI(void);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GLX_SGI_MAKE_CURRENT_READ\nREGAL_DECL Bool REGAL_CALL plugin_glXMakeCurrentReadSGI(Display *dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx);\nREGAL_DECL GLXDrawable REGAL_CALL plugin_glXGetCurrentReadDrawableSGI(void);\n#endif\n\n/**\n ** GLX_SGI_swap_control\n **/\n\n#if (defined(GLX_SGI_SWAP_CONTROL) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_SGI_SWAP_CONTROL)) && !defined(REGAL_NO_ENUM_GLX_SGI_SWAP_CONTROL)\n#define REGAL_NO_ENUM_GLX_SGI_SWAP_CONTROL\n#endif\n\n#if (defined(GLX_SGI_SWAP_CONTROL) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_SGI_SWAP_CONTROL)) && !defined(REGAL_NO_TYPEDEF_GLX_SGI_SWAP_CONTROL)\n#define REGAL_NO_TYPEDEF_GLX_SGI_SWAP_CONTROL\n#endif\n\n#if (defined(GLX_SGI_SWAP_CONTROL) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_SGI_SWAP_CONTROL)) && !defined(REGAL_NO_NAMESPACE_GLX_SGI_SWAP_CONTROL)\n#define REGAL_NO_NAMESPACE_GLX_SGI_SWAP_CONTROL\n#endif\n\n#if (defined(GLX_SGI_SWAP_CONTROL) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_SGI_SWAP_CONTROL)) && !defined(REGAL_NO_PLUGIN_GLX_SGI_SWAP_CONTROL)\n#define REGAL_NO_PLUGIN_GLX_SGI_SWAP_CONTROL\n#endif\n\n#if (defined(GLX_SGI_SWAP_CONTROL) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_SGI_SWAP_CONTROL)) && !defined(REGAL_NO_DECLARATION_GLX_SGI_SWAP_CONTROL)\n#define REGAL_NO_DECLARATION_GLX_SGI_SWAP_CONTROL\n#endif\n\n#ifndef GLX_SGI_swap_control\n#define GLX_SGI_swap_control 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GLX_SGI_SWAP_CONTROL\ntypedef int (REGAL_CALL *PFNGLXSWAPINTERVALSGIPROC)(int interval);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GLX_SGI_SWAP_CONTROL\n#define glXSwapIntervalSGI                  rglXSwapIntervalSGI\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GLX_SGI_SWAP_CONTROL\nREGAL_DECL int REGAL_CALL glXSwapIntervalSGI(int interval);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GLX_SGI_SWAP_CONTROL\nREGAL_DECL int REGAL_CALL plugin_glXSwapIntervalSGI(int interval);\n#endif\n\n/**\n ** GLX_SGI_video_sync\n **/\n\n#if (defined(GLX_SGI_VIDEO_SYNC) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_SGI_VIDEO_SYNC)) && !defined(REGAL_NO_ENUM_GLX_SGI_VIDEO_SYNC)\n#define REGAL_NO_ENUM_GLX_SGI_VIDEO_SYNC\n#endif\n\n#if (defined(GLX_SGI_VIDEO_SYNC) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_SGI_VIDEO_SYNC)) && !defined(REGAL_NO_TYPEDEF_GLX_SGI_VIDEO_SYNC)\n#define REGAL_NO_TYPEDEF_GLX_SGI_VIDEO_SYNC\n#endif\n\n#if (defined(GLX_SGI_VIDEO_SYNC) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_SGI_VIDEO_SYNC)) && !defined(REGAL_NO_NAMESPACE_GLX_SGI_VIDEO_SYNC)\n#define REGAL_NO_NAMESPACE_GLX_SGI_VIDEO_SYNC\n#endif\n\n#if (defined(GLX_SGI_VIDEO_SYNC) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_SGI_VIDEO_SYNC)) && !defined(REGAL_NO_PLUGIN_GLX_SGI_VIDEO_SYNC)\n#define REGAL_NO_PLUGIN_GLX_SGI_VIDEO_SYNC\n#endif\n\n#if (defined(GLX_SGI_VIDEO_SYNC) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_SGI_VIDEO_SYNC)) && !defined(REGAL_NO_DECLARATION_GLX_SGI_VIDEO_SYNC)\n#define REGAL_NO_DECLARATION_GLX_SGI_VIDEO_SYNC\n#endif\n\n#ifndef GLX_SGI_video_sync\n#define GLX_SGI_video_sync 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GLX_SGI_VIDEO_SYNC\ntypedef int (REGAL_CALL *PFNGLXGETVIDEOSYNCSGIPROC)(unsigned int *count);\ntypedef int (REGAL_CALL *PFNGLXWAITVIDEOSYNCSGIPROC)(int divisor, int remainder, unsigned int *count);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GLX_SGI_VIDEO_SYNC\n#define glXGetVideoSyncSGI                  rglXGetVideoSyncSGI\n#define glXWaitVideoSyncSGI                 rglXWaitVideoSyncSGI\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GLX_SGI_VIDEO_SYNC\nREGAL_DECL int REGAL_CALL glXGetVideoSyncSGI(unsigned int *count);\nREGAL_DECL int REGAL_CALL glXWaitVideoSyncSGI(int divisor, int remainder, unsigned int *count);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GLX_SGI_VIDEO_SYNC\nREGAL_DECL int REGAL_CALL plugin_glXGetVideoSyncSGI(unsigned int *count);\nREGAL_DECL int REGAL_CALL plugin_glXWaitVideoSyncSGI(int divisor, int remainder, unsigned int *count);\n#endif\n\n/**\n ** GLX_SUN_get_transparent_index\n **/\n\n#if (defined(GLX_SUN_GET_TRANSPARENT_INDEX) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_SUN_GET_TRANSPARENT_INDEX)) && !defined(REGAL_NO_ENUM_GLX_SUN_GET_TRANSPARENT_INDEX)\n#define REGAL_NO_ENUM_GLX_SUN_GET_TRANSPARENT_INDEX\n#endif\n\n#if (defined(GLX_SUN_GET_TRANSPARENT_INDEX) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_SUN_GET_TRANSPARENT_INDEX)) && !defined(REGAL_NO_TYPEDEF_GLX_SUN_GET_TRANSPARENT_INDEX)\n#define REGAL_NO_TYPEDEF_GLX_SUN_GET_TRANSPARENT_INDEX\n#endif\n\n#if (defined(GLX_SUN_GET_TRANSPARENT_INDEX) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_SUN_GET_TRANSPARENT_INDEX)) && !defined(REGAL_NO_NAMESPACE_GLX_SUN_GET_TRANSPARENT_INDEX)\n#define REGAL_NO_NAMESPACE_GLX_SUN_GET_TRANSPARENT_INDEX\n#endif\n\n#if (defined(GLX_SUN_GET_TRANSPARENT_INDEX) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_SUN_GET_TRANSPARENT_INDEX)) && !defined(REGAL_NO_PLUGIN_GLX_SUN_GET_TRANSPARENT_INDEX)\n#define REGAL_NO_PLUGIN_GLX_SUN_GET_TRANSPARENT_INDEX\n#endif\n\n#if (defined(GLX_SUN_GET_TRANSPARENT_INDEX) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_SUN_GET_TRANSPARENT_INDEX)) && !defined(REGAL_NO_DECLARATION_GLX_SUN_GET_TRANSPARENT_INDEX)\n#define REGAL_NO_DECLARATION_GLX_SUN_GET_TRANSPARENT_INDEX\n#endif\n\n#ifndef GLX_SUN_get_transparent_index\n#define GLX_SUN_get_transparent_index 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GLX_SUN_GET_TRANSPARENT_INDEX\ntypedef Status (REGAL_CALL *PFNGLXGETTRANSPARENTINDEXSUNPROC)(Display *dpy, Window overlay, Window underlay, unsigned long *pTransparentIndex);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GLX_SUN_GET_TRANSPARENT_INDEX\n#define glXGetTransparentIndexSUN           rglXGetTransparentIndexSUN\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GLX_SUN_GET_TRANSPARENT_INDEX\nREGAL_DECL Status REGAL_CALL glXGetTransparentIndexSUN(Display *dpy, Window overlay, Window underlay, unsigned long *pTransparentIndex);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GLX_SUN_GET_TRANSPARENT_INDEX\nREGAL_DECL Status REGAL_CALL plugin_glXGetTransparentIndexSUN(Display *dpy, Window overlay, Window underlay, unsigned long *pTransparentIndex);\n#endif\n\n/**\n ** GLX_SUN_video_resize\n **/\n\n#if (defined(GLX_SUN_VIDEO_RESIZE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_SUN_VIDEO_RESIZE)) && !defined(REGAL_NO_ENUM_GLX_SUN_VIDEO_RESIZE)\n#define REGAL_NO_ENUM_GLX_SUN_VIDEO_RESIZE\n#endif\n\n#if (defined(GLX_SUN_VIDEO_RESIZE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_SUN_VIDEO_RESIZE)) && !defined(REGAL_NO_TYPEDEF_GLX_SUN_VIDEO_RESIZE)\n#define REGAL_NO_TYPEDEF_GLX_SUN_VIDEO_RESIZE\n#endif\n\n#if (defined(GLX_SUN_VIDEO_RESIZE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_SUN_VIDEO_RESIZE)) && !defined(REGAL_NO_NAMESPACE_GLX_SUN_VIDEO_RESIZE)\n#define REGAL_NO_NAMESPACE_GLX_SUN_VIDEO_RESIZE\n#endif\n\n#if (defined(GLX_SUN_VIDEO_RESIZE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_SUN_VIDEO_RESIZE)) && !defined(REGAL_NO_PLUGIN_GLX_SUN_VIDEO_RESIZE)\n#define REGAL_NO_PLUGIN_GLX_SUN_VIDEO_RESIZE\n#endif\n\n#if (defined(GLX_SUN_VIDEO_RESIZE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_SUN_VIDEO_RESIZE)) && !defined(REGAL_NO_DECLARATION_GLX_SUN_VIDEO_RESIZE)\n#define REGAL_NO_DECLARATION_GLX_SUN_VIDEO_RESIZE\n#endif\n\n#ifndef GLX_SUN_video_resize\n#define GLX_SUN_video_resize 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_SUN_VIDEO_RESIZE\n#define GLX_VIDEO_RESIZE_SUN             0x8171     /* 33137 */\n#define GL_VIDEO_RESIZE_COMPENSATION_SUN 0x85cd     /* 34253 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GLX_SUN_VIDEO_RESIZE\ntypedef int (REGAL_CALL *PFNGLXGETVIDEORESIZESUNPROC)(Display *display, GLXDrawable window, float *factor);\ntypedef int (REGAL_CALL *PFNGLXVIDEORESIZESUNPROC)(Display *display, GLXDrawable window, float factor);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GLX_SUN_VIDEO_RESIZE\n#define glXGetVideoResizeSUN                rglXGetVideoResizeSUN\n#define glXVideoResizeSUN                   rglXVideoResizeSUN\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GLX_SUN_VIDEO_RESIZE\nREGAL_DECL int REGAL_CALL glXGetVideoResizeSUN(Display *display, GLXDrawable window, float *factor);\nREGAL_DECL int REGAL_CALL glXVideoResizeSUN(Display *display, GLXDrawable window, float factor);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GLX_SUN_VIDEO_RESIZE\nREGAL_DECL int REGAL_CALL plugin_glXGetVideoResizeSUN(Display *display, GLXDrawable window, float *factor);\nREGAL_DECL int REGAL_CALL plugin_glXVideoResizeSUN(Display *display, GLXDrawable window, float factor);\n#endif\n\n/**\n ** GLX_VERSION_1_0\n **/\n\n#if (defined(GLX_VERSION_1_0) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_VERSION_1_0)) && !defined(REGAL_NO_ENUM_GLX_VERSION_1_0)\n#define REGAL_NO_ENUM_GLX_VERSION_1_0\n#endif\n\n#if (defined(GLX_VERSION_1_0) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_VERSION_1_0)) && !defined(REGAL_NO_TYPEDEF_GLX_VERSION_1_0)\n#define REGAL_NO_TYPEDEF_GLX_VERSION_1_0\n#endif\n\n#if (defined(GLX_VERSION_1_0) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_VERSION_1_0)) && !defined(REGAL_NO_NAMESPACE_GLX_VERSION_1_0)\n#define REGAL_NO_NAMESPACE_GLX_VERSION_1_0\n#endif\n\n#if (defined(GLX_VERSION_1_0) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_VERSION_1_0)) && !defined(REGAL_NO_PLUGIN_GLX_VERSION_1_0)\n#define REGAL_NO_PLUGIN_GLX_VERSION_1_0\n#endif\n\n#if (defined(GLX_VERSION_1_0) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_VERSION_1_0)) && !defined(REGAL_NO_DECLARATION_GLX_VERSION_1_0)\n#define REGAL_NO_DECLARATION_GLX_VERSION_1_0\n#endif\n\n#ifndef GLX_VERSION_1_0\n#define GLX_VERSION_1_0 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_VERSION_1_0\n#define GLX_BAD_SCREEN       0x1\n#define GLX_USE_GL           0x1\n#define GLX_ACCUM_BLUE_SIZE  0x10     /* 16 */\n#define GLX_ACCUM_ALPHA_SIZE 0x11     /* 17 */\n#define GLX_BAD_ATTRIBUTE    0x2\n#define GLX_BUFFER_SIZE      0x2\n#define GLX_LEVEL            0x3\n#define GLX_NO_EXTENSION     0x3\n#define GLX_BAD_VISUAL       0x4\n#define GLX_RGBA             0x4\n#define GLX_BAD_CONTEXT      0x5\n#define GLX_DOUBLEBUFFER     0x5\n#define GLX_BAD_VALUE        0x6\n#define GLX_STEREO           0x6\n#define GLX_AUX_BUFFERS      0x7\n#define GLX_BAD_ENUM         0x7\n#define GLX_RED_SIZE         0x8\n#define GLX_GREEN_SIZE       0x9\n#define GLX_BLUE_SIZE        0xa      /* 10 */\n#define GLX_ALPHA_SIZE       0xb      /* 11 */\n#define GLX_DEPTH_SIZE       0xc      /* 12 */\n#define GLX_STENCIL_SIZE     0xd      /* 13 */\n#define GLX_ACCUM_RED_SIZE   0xe      /* 14 */\n#define GLX_ACCUM_GREEN_SIZE 0xf      /* 15 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GLX_VERSION_1_0\ntypedef Bool (REGAL_CALL *PFNGLXISDIRECTPROC)(Display *dpy, GLXContext ctx);\ntypedef Bool (REGAL_CALL *PFNGLXMAKECURRENTPROC)(Display *dpy, GLXDrawable drawable, GLXContext ctx);\ntypedef Bool (REGAL_CALL *PFNGLXQUERYEXTENSIONPROC)(Display *dpy, int *errorBase, int *eventBase);\ntypedef Bool (REGAL_CALL *PFNGLXQUERYVERSIONPROC)(Display *dpy, int *major, int *minor);\ntypedef GLXContext (REGAL_CALL *PFNGLXCREATECONTEXTPROC)(Display *dpy, XVisualInfo *vis, GLXContext shareList, Bool direct);\ntypedef GLXContext (REGAL_CALL *PFNGLXGETCURRENTCONTEXTPROC)(void);\ntypedef GLXDrawable (REGAL_CALL *PFNGLXGETCURRENTDRAWABLEPROC)(void);\ntypedef GLXPixmap (REGAL_CALL *PFNGLXCREATEGLXPIXMAPPROC)(Display *dpy, XVisualInfo *vis, Pixmap pixmap);\ntypedef XVisualInfo *(REGAL_CALL *PFNGLXCHOOSEVISUALPROC)(Display *dpy, int screen, int *attribList);\ntypedef int (REGAL_CALL *PFNGLXGETCONFIGPROC)(Display *dpy, XVisualInfo *vis, int attrib, int *value);\ntypedef void (REGAL_CALL *PFNGLXCOPYCONTEXTPROC)(Display *dpy, GLXContext src, GLXContext dst, unsigned long mask);\ntypedef void (REGAL_CALL *PFNGLXDESTROYCONTEXTPROC)(Display *dpy, GLXContext ctx);\ntypedef void (REGAL_CALL *PFNGLXDESTROYGLXPIXMAPPROC)(Display *dpy, GLXPixmap pix);\ntypedef void (REGAL_CALL *PFNGLXSWAPBUFFERSPROC)(Display *dpy, GLXDrawable drawable);\ntypedef void (REGAL_CALL *PFNGLXUSEXFONTPROC)(Font font, int first, int count, int listBase);\ntypedef void (REGAL_CALL *PFNGLXWAITGLPROC)(void);\ntypedef void (REGAL_CALL *PFNGLXWAITXPROC)(void);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GLX_VERSION_1_0\n#define glXChooseVisual                     rglXChooseVisual\n#define glXCopyContext                      rglXCopyContext\n#define glXCreateContext                    rglXCreateContext\n#define glXCreateGLXPixmap                  rglXCreateGLXPixmap\n#define glXDestroyContext                   rglXDestroyContext\n#define glXDestroyGLXPixmap                 rglXDestroyGLXPixmap\n#define glXGetConfig                        rglXGetConfig\n#define glXGetCurrentContext                rglXGetCurrentContext\n#define glXGetCurrentDrawable               rglXGetCurrentDrawable\n#define glXIsDirect                         rglXIsDirect\n#define glXMakeCurrent                      rglXMakeCurrent\n#define glXQueryExtension                   rglXQueryExtension\n#define glXQueryVersion                     rglXQueryVersion\n#define glXSwapBuffers                      rglXSwapBuffers\n#define glXUseXFont                         rglXUseXFont\n#define glXWaitGL                           rglXWaitGL\n#define glXWaitX                            rglXWaitX\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GLX_VERSION_1_0\nREGAL_DECL Bool REGAL_CALL glXIsDirect(Display *dpy, GLXContext ctx);\nREGAL_DECL Bool REGAL_CALL glXMakeCurrent(Display *dpy, GLXDrawable drawable, GLXContext ctx);\nREGAL_DECL Bool REGAL_CALL glXQueryExtension(Display *dpy, int *errorBase, int *eventBase);\nREGAL_DECL Bool REGAL_CALL glXQueryVersion(Display *dpy, int *major, int *minor);\nREGAL_DECL GLXContext REGAL_CALL glXCreateContext(Display *dpy, XVisualInfo *vis, GLXContext shareList, Bool direct);\nREGAL_DECL GLXContext REGAL_CALL glXGetCurrentContext(void);\nREGAL_DECL GLXDrawable REGAL_CALL glXGetCurrentDrawable(void);\nREGAL_DECL GLXPixmap REGAL_CALL glXCreateGLXPixmap(Display *dpy, XVisualInfo *vis, Pixmap pixmap);\nREGAL_DECL XVisualInfo *REGAL_CALL glXChooseVisual(Display *dpy, int screen, int *attribList);\nREGAL_DECL int REGAL_CALL glXGetConfig(Display *dpy, XVisualInfo *vis, int attrib, int *value);\nREGAL_DECL void REGAL_CALL glXCopyContext(Display *dpy, GLXContext src, GLXContext dst, unsigned long mask);\nREGAL_DECL void REGAL_CALL glXDestroyContext(Display *dpy, GLXContext ctx);\nREGAL_DECL void REGAL_CALL glXDestroyGLXPixmap(Display *dpy, GLXPixmap pix);\nREGAL_DECL void REGAL_CALL glXSwapBuffers(Display *dpy, GLXDrawable drawable);\nREGAL_DECL void REGAL_CALL glXUseXFont(Font font, int first, int count, int listBase);\nREGAL_DECL void REGAL_CALL glXWaitGL(void);\nREGAL_DECL void REGAL_CALL glXWaitX(void);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GLX_VERSION_1_0\nREGAL_DECL Bool REGAL_CALL plugin_glXIsDirect(Display *dpy, GLXContext ctx);\nREGAL_DECL Bool REGAL_CALL plugin_glXMakeCurrent(Display *dpy, GLXDrawable drawable, GLXContext ctx);\nREGAL_DECL Bool REGAL_CALL plugin_glXQueryExtension(Display *dpy, int *errorBase, int *eventBase);\nREGAL_DECL Bool REGAL_CALL plugin_glXQueryVersion(Display *dpy, int *major, int *minor);\nREGAL_DECL GLXContext REGAL_CALL plugin_glXCreateContext(Display *dpy, XVisualInfo *vis, GLXContext shareList, Bool direct);\nREGAL_DECL GLXContext REGAL_CALL plugin_glXGetCurrentContext(void);\nREGAL_DECL GLXDrawable REGAL_CALL plugin_glXGetCurrentDrawable(void);\nREGAL_DECL GLXPixmap REGAL_CALL plugin_glXCreateGLXPixmap(Display *dpy, XVisualInfo *vis, Pixmap pixmap);\nREGAL_DECL XVisualInfo *REGAL_CALL plugin_glXChooseVisual(Display *dpy, int screen, int *attribList);\nREGAL_DECL int REGAL_CALL plugin_glXGetConfig(Display *dpy, XVisualInfo *vis, int attrib, int *value);\nREGAL_DECL void REGAL_CALL plugin_glXCopyContext(Display *dpy, GLXContext src, GLXContext dst, unsigned long mask);\nREGAL_DECL void REGAL_CALL plugin_glXDestroyContext(Display *dpy, GLXContext ctx);\nREGAL_DECL void REGAL_CALL plugin_glXDestroyGLXPixmap(Display *dpy, GLXPixmap pix);\nREGAL_DECL void REGAL_CALL plugin_glXSwapBuffers(Display *dpy, GLXDrawable drawable);\nREGAL_DECL void REGAL_CALL plugin_glXUseXFont(Font font, int first, int count, int listBase);\nREGAL_DECL void REGAL_CALL plugin_glXWaitGL(void);\nREGAL_DECL void REGAL_CALL plugin_glXWaitX(void);\n#endif\n\n/**\n ** GLX_VERSION_1_1\n **/\n\n#if (defined(GLX_VERSION_1_1) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_VERSION_1_1)) && !defined(REGAL_NO_ENUM_GLX_VERSION_1_1)\n#define REGAL_NO_ENUM_GLX_VERSION_1_1\n#endif\n\n#if (defined(GLX_VERSION_1_1) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_VERSION_1_1)) && !defined(REGAL_NO_TYPEDEF_GLX_VERSION_1_1)\n#define REGAL_NO_TYPEDEF_GLX_VERSION_1_1\n#endif\n\n#if (defined(GLX_VERSION_1_1) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_VERSION_1_1)) && !defined(REGAL_NO_NAMESPACE_GLX_VERSION_1_1)\n#define REGAL_NO_NAMESPACE_GLX_VERSION_1_1\n#endif\n\n#if (defined(GLX_VERSION_1_1) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_VERSION_1_1)) && !defined(REGAL_NO_PLUGIN_GLX_VERSION_1_1)\n#define REGAL_NO_PLUGIN_GLX_VERSION_1_1\n#endif\n\n#if (defined(GLX_VERSION_1_1) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_VERSION_1_1)) && !defined(REGAL_NO_DECLARATION_GLX_VERSION_1_1)\n#define REGAL_NO_DECLARATION_GLX_VERSION_1_1\n#endif\n\n#ifndef GLX_VERSION_1_1\n#define GLX_VERSION_1_1 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_VERSION_1_1\n#define GLX_VENDOR     0x1\n#define GLX_VERSION    0x2\n#define GLX_EXTENSIONS 0x3\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GLX_VERSION_1_1\ntypedef const char *(REGAL_CALL *PFNGLXGETCLIENTSTRINGPROC)(Display *dpy, int name);\ntypedef const char *(REGAL_CALL *PFNGLXQUERYEXTENSIONSSTRINGPROC)(Display *dpy, int screen);\ntypedef const char *(REGAL_CALL *PFNGLXQUERYSERVERSTRINGPROC)(Display *dpy, int screen, int name);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GLX_VERSION_1_1\n#define glXGetClientString                  rglXGetClientString\n#define glXQueryExtensionsString            rglXQueryExtensionsString\n#define glXQueryServerString                rglXQueryServerString\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GLX_VERSION_1_1\nREGAL_DECL const char *REGAL_CALL glXGetClientString(Display *dpy, int name);\nREGAL_DECL const char *REGAL_CALL glXQueryExtensionsString(Display *dpy, int screen);\nREGAL_DECL const char *REGAL_CALL glXQueryServerString(Display *dpy, int screen, int name);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GLX_VERSION_1_1\nREGAL_DECL const char *REGAL_CALL plugin_glXGetClientString(Display *dpy, int name);\nREGAL_DECL const char *REGAL_CALL plugin_glXQueryExtensionsString(Display *dpy, int screen);\nREGAL_DECL const char *REGAL_CALL plugin_glXQueryServerString(Display *dpy, int screen, int name);\n#endif\n\n/**\n ** GLX_VERSION_1_2\n **/\n\n#if (defined(GLX_VERSION_1_2) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_VERSION_1_2)) && !defined(REGAL_NO_ENUM_GLX_VERSION_1_2)\n#define REGAL_NO_ENUM_GLX_VERSION_1_2\n#endif\n\n#if (defined(GLX_VERSION_1_2) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_VERSION_1_2)) && !defined(REGAL_NO_TYPEDEF_GLX_VERSION_1_2)\n#define REGAL_NO_TYPEDEF_GLX_VERSION_1_2\n#endif\n\n#if (defined(GLX_VERSION_1_2) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_VERSION_1_2)) && !defined(REGAL_NO_NAMESPACE_GLX_VERSION_1_2)\n#define REGAL_NO_NAMESPACE_GLX_VERSION_1_2\n#endif\n\n#if (defined(GLX_VERSION_1_2) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_VERSION_1_2)) && !defined(REGAL_NO_PLUGIN_GLX_VERSION_1_2)\n#define REGAL_NO_PLUGIN_GLX_VERSION_1_2\n#endif\n\n#if (defined(GLX_VERSION_1_2) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_VERSION_1_2)) && !defined(REGAL_NO_DECLARATION_GLX_VERSION_1_2)\n#define REGAL_NO_DECLARATION_GLX_VERSION_1_2\n#endif\n\n#ifndef GLX_VERSION_1_2\n#define GLX_VERSION_1_2 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GLX_VERSION_1_2\ntypedef Display *(REGAL_CALL *PFNGLXGETCURRENTDISPLAYPROC)(void);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GLX_VERSION_1_2\n#define glXGetCurrentDisplay                rglXGetCurrentDisplay\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GLX_VERSION_1_2\nREGAL_DECL Display *REGAL_CALL glXGetCurrentDisplay(void);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GLX_VERSION_1_2\nREGAL_DECL Display *REGAL_CALL plugin_glXGetCurrentDisplay(void);\n#endif\n\n/**\n ** GLX_VERSION_1_3\n **/\n\n#if (defined(GLX_VERSION_1_3) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_VERSION_1_3)) && !defined(REGAL_NO_ENUM_GLX_VERSION_1_3)\n#define REGAL_NO_ENUM_GLX_VERSION_1_3\n#endif\n\n#if (defined(GLX_VERSION_1_3) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_VERSION_1_3)) && !defined(REGAL_NO_TYPEDEF_GLX_VERSION_1_3)\n#define REGAL_NO_TYPEDEF_GLX_VERSION_1_3\n#endif\n\n#if (defined(GLX_VERSION_1_3) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_VERSION_1_3)) && !defined(REGAL_NO_NAMESPACE_GLX_VERSION_1_3)\n#define REGAL_NO_NAMESPACE_GLX_VERSION_1_3\n#endif\n\n#if (defined(GLX_VERSION_1_3) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_VERSION_1_3)) && !defined(REGAL_NO_PLUGIN_GLX_VERSION_1_3)\n#define REGAL_NO_PLUGIN_GLX_VERSION_1_3\n#endif\n\n#if (defined(GLX_VERSION_1_3) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_VERSION_1_3)) && !defined(REGAL_NO_DECLARATION_GLX_VERSION_1_3)\n#define REGAL_NO_DECLARATION_GLX_VERSION_1_3\n#endif\n\n#ifndef GLX_VERSION_1_3\n#define GLX_VERSION_1_3 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_VERSION_1_3\n#define GLX_FRONT_LEFT_BUFFER_BIT   0x1\n#define GLX_RGBA_BIT                0x1\n#define GLX_WINDOW_BIT              0x1\n#define GLX_AUX_BUFFERS_BIT         0x10           /* 16 */\n#define GLX_COLOR_INDEX_BIT         0x2\n#define GLX_FRONT_RIGHT_BUFFER_BIT  0x2\n#define GLX_PIXMAP_BIT              0x2\n#define GLX_CONFIG_CAVEAT           0x20           /* 32 */\n#define GLX_DEPTH_BUFFER_BIT        0x20           /* 32 */\n#define GLX_X_VISUAL_TYPE           0x22           /* 34 */\n#define GLX_TRANSPARENT_TYPE        0x23           /* 35 */\n#define GLX_TRANSPARENT_INDEX_VALUE 0x24           /* 36 */\n#define GLX_TRANSPARENT_RED_VALUE   0x25           /* 37 */\n#define GLX_TRANSPARENT_GREEN_VALUE 0x26           /* 38 */\n#define GLX_TRANSPARENT_BLUE_VALUE  0x27           /* 39 */\n#define GLX_TRANSPARENT_ALPHA_VALUE 0x28           /* 40 */\n#define GLX_BACK_LEFT_BUFFER_BIT    0x4\n#define GLX_PBUFFER_BIT             0x4\n#define GLX_STENCIL_BUFFER_BIT      0x40           /* 64 */\n#define GLX_BACK_RIGHT_BUFFER_BIT   0x8\n#define GLX_ACCUM_BUFFER_BIT        0x80           /* 128 */\n#define GLX_NONE                    0x8000         /* 32768 */\n#define GLX_PBUFFER_CLOBBER_MASK    0x8000000      /* 134217728 */\n#define GLX_SLOW_CONFIG             0x8001         /* 32769 */\n#define GLX_TRUE_COLOR              0x8002         /* 32770 */\n#define GLX_DIRECT_COLOR            0x8003         /* 32771 */\n#define GLX_PSEUDO_COLOR            0x8004         /* 32772 */\n#define GLX_STATIC_COLOR            0x8005         /* 32773 */\n#define GLX_GRAY_SCALE              0x8006         /* 32774 */\n#define GLX_STATIC_GRAY             0x8007         /* 32775 */\n#define GLX_TRANSPARENT_RGB         0x8008         /* 32776 */\n#define GLX_TRANSPARENT_INDEX       0x8009         /* 32777 */\n#define GLX_VISUAL_ID               0x800b         /* 32779 */\n#define GLX_SCREEN                  0x800c         /* 32780 */\n#define GLX_NON_CONFORMANT_CONFIG   0x800d         /* 32781 */\n#define GLX_DRAWABLE_TYPE           0x8010         /* 32784 */\n#define GLX_RENDER_TYPE             0x8011         /* 32785 */\n#define GLX_X_RENDERABLE            0x8012         /* 32786 */\n#define GLX_FBCONFIG_ID             0x8013         /* 32787 */\n#define GLX_RGBA_TYPE               0x8014         /* 32788 */\n#define GLX_COLOR_INDEX_TYPE        0x8015         /* 32789 */\n#define GLX_MAX_PBUFFER_WIDTH       0x8016         /* 32790 */\n#define GLX_MAX_PBUFFER_HEIGHT      0x8017         /* 32791 */\n#define GLX_MAX_PBUFFER_PIXELS      0x8018         /* 32792 */\n#define GLX_PRESERVED_CONTENTS      0x801b         /* 32795 */\n#define GLX_LARGEST_PBUFFER         0x801c         /* 32796 */\n#define GLX_WIDTH                   0x801d         /* 32797 */\n#define GLX_HEIGHT                  0x801e         /* 32798 */\n#define GLX_EVENT_MASK              0x801f         /* 32799 */\n#define GLX_DAMAGED                 0x8020         /* 32800 */\n#define GLX_SAVED                   0x8021         /* 32801 */\n#define GLX_WINDOW                  0x8022         /* 32802 */\n#define GLX_PBUFFER                 0x8023         /* 32803 */\n#define GLX_PBUFFER_HEIGHT          0x8040         /* 32832 */\n#define GLX_PBUFFER_WIDTH           0x8041         /* 32833 */\n#define GLX_DONT_CARE               0xffffffff     /* 4294967295 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GLX_VERSION_1_3\ntypedef Bool (REGAL_CALL *PFNGLXMAKECONTEXTCURRENTPROC)(Display *display, GLXDrawable draw, GLXDrawable read, GLXContext ctx);\ntypedef GLXContext (REGAL_CALL *PFNGLXCREATENEWCONTEXTPROC)(Display *dpy, GLXFBConfig config, int render_type, GLXContext share_list, Bool direct);\ntypedef GLXDrawable (REGAL_CALL *PFNGLXGETCURRENTREADDRAWABLEPROC)(void);\ntypedef GLXFBConfig *(REGAL_CALL *PFNGLXCHOOSEFBCONFIGPROC)(Display *dpy, int screen, const int *attrib_list, int *nelements);\ntypedef GLXFBConfig *(REGAL_CALL *PFNGLXGETFBCONFIGSPROC)(Display *dpy, int screen, int *nelements);\ntypedef GLXPbuffer (REGAL_CALL *PFNGLXCREATEPBUFFERPROC)(Display *dpy, GLXFBConfig config, const int *attrib_list);\ntypedef GLXPixmap (REGAL_CALL *PFNGLXCREATEPIXMAPPROC)(Display *dpy, GLXFBConfig config, Pixmap pixmap, const int *attrib_list);\ntypedef GLXWindow (REGAL_CALL *PFNGLXCREATEWINDOWPROC)(Display *dpy, GLXFBConfig config, Window win, const int *attrib_list);\ntypedef XVisualInfo *(REGAL_CALL *PFNGLXGETVISUALFROMFBCONFIGPROC)(Display *dpy, GLXFBConfig config);\ntypedef int (REGAL_CALL *PFNGLXGETFBCONFIGATTRIBPROC)(Display *dpy, GLXFBConfig config, int attribute, int *value);\ntypedef int (REGAL_CALL *PFNGLXQUERYCONTEXTPROC)(Display *dpy, GLXContext ctx, int attribute, int *value);\ntypedef void (REGAL_CALL *PFNGLXDESTROYPBUFFERPROC)(Display *dpy, GLXPbuffer pbuf);\ntypedef void (REGAL_CALL *PFNGLXDESTROYPIXMAPPROC)(Display *dpy, GLXPixmap pixmap);\ntypedef void (REGAL_CALL *PFNGLXDESTROYWINDOWPROC)(Display *dpy, GLXWindow win);\ntypedef void (REGAL_CALL *PFNGLXGETSELECTEDEVENTPROC)(Display *dpy, GLXDrawable draw, unsigned long *event_mask);\ntypedef void (REGAL_CALL *PFNGLXQUERYDRAWABLEPROC)(Display *dpy, GLXDrawable draw, int attribute, unsigned int *value);\ntypedef void (REGAL_CALL *PFNGLXSELECTEVENTPROC)(Display *dpy, GLXDrawable draw, unsigned long event_mask);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GLX_VERSION_1_3\n#define glXChooseFBConfig                   rglXChooseFBConfig\n#define glXCreateNewContext                 rglXCreateNewContext\n#define glXCreatePbuffer                    rglXCreatePbuffer\n#define glXCreatePixmap                     rglXCreatePixmap\n#define glXCreateWindow                     rglXCreateWindow\n#define glXDestroyPbuffer                   rglXDestroyPbuffer\n#define glXDestroyPixmap                    rglXDestroyPixmap\n#define glXDestroyWindow                    rglXDestroyWindow\n#define glXGetCurrentReadDrawable           rglXGetCurrentReadDrawable\n#define glXGetFBConfigAttrib                rglXGetFBConfigAttrib\n#define glXGetFBConfigs                     rglXGetFBConfigs\n#define glXGetSelectedEvent                 rglXGetSelectedEvent\n#define glXGetVisualFromFBConfig            rglXGetVisualFromFBConfig\n#define glXMakeContextCurrent               rglXMakeContextCurrent\n#define glXQueryContext                     rglXQueryContext\n#define glXQueryDrawable                    rglXQueryDrawable\n#define glXSelectEvent                      rglXSelectEvent\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GLX_VERSION_1_3\nREGAL_DECL Bool REGAL_CALL glXMakeContextCurrent(Display *display, GLXDrawable draw, GLXDrawable read, GLXContext ctx);\nREGAL_DECL GLXContext REGAL_CALL glXCreateNewContext(Display *dpy, GLXFBConfig config, int render_type, GLXContext share_list, Bool direct);\nREGAL_DECL GLXDrawable REGAL_CALL glXGetCurrentReadDrawable(void);\nREGAL_DECL GLXFBConfig *REGAL_CALL glXChooseFBConfig(Display *dpy, int screen, const int *attrib_list, int *nelements);\nREGAL_DECL GLXFBConfig *REGAL_CALL glXGetFBConfigs(Display *dpy, int screen, int *nelements);\nREGAL_DECL GLXPbuffer REGAL_CALL glXCreatePbuffer(Display *dpy, GLXFBConfig config, const int *attrib_list);\nREGAL_DECL GLXPixmap REGAL_CALL glXCreatePixmap(Display *dpy, GLXFBConfig config, Pixmap pixmap, const int *attrib_list);\nREGAL_DECL GLXWindow REGAL_CALL glXCreateWindow(Display *dpy, GLXFBConfig config, Window win, const int *attrib_list);\nREGAL_DECL XVisualInfo *REGAL_CALL glXGetVisualFromFBConfig(Display *dpy, GLXFBConfig config);\nREGAL_DECL int REGAL_CALL glXGetFBConfigAttrib(Display *dpy, GLXFBConfig config, int attribute, int *value);\nREGAL_DECL int REGAL_CALL glXQueryContext(Display *dpy, GLXContext ctx, int attribute, int *value);\nREGAL_DECL void REGAL_CALL glXDestroyPbuffer(Display *dpy, GLXPbuffer pbuf);\nREGAL_DECL void REGAL_CALL glXDestroyPixmap(Display *dpy, GLXPixmap pixmap);\nREGAL_DECL void REGAL_CALL glXDestroyWindow(Display *dpy, GLXWindow win);\nREGAL_DECL void REGAL_CALL glXGetSelectedEvent(Display *dpy, GLXDrawable draw, unsigned long *event_mask);\nREGAL_DECL void REGAL_CALL glXQueryDrawable(Display *dpy, GLXDrawable draw, int attribute, unsigned int *value);\nREGAL_DECL void REGAL_CALL glXSelectEvent(Display *dpy, GLXDrawable draw, unsigned long event_mask);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GLX_VERSION_1_3\nREGAL_DECL Bool REGAL_CALL plugin_glXMakeContextCurrent(Display *display, GLXDrawable draw, GLXDrawable read, GLXContext ctx);\nREGAL_DECL GLXContext REGAL_CALL plugin_glXCreateNewContext(Display *dpy, GLXFBConfig config, int render_type, GLXContext share_list, Bool direct);\nREGAL_DECL GLXDrawable REGAL_CALL plugin_glXGetCurrentReadDrawable(void);\nREGAL_DECL GLXFBConfig *REGAL_CALL plugin_glXChooseFBConfig(Display *dpy, int screen, const int *attrib_list, int *nelements);\nREGAL_DECL GLXFBConfig *REGAL_CALL plugin_glXGetFBConfigs(Display *dpy, int screen, int *nelements);\nREGAL_DECL GLXPbuffer REGAL_CALL plugin_glXCreatePbuffer(Display *dpy, GLXFBConfig config, const int *attrib_list);\nREGAL_DECL GLXPixmap REGAL_CALL plugin_glXCreatePixmap(Display *dpy, GLXFBConfig config, Pixmap pixmap, const int *attrib_list);\nREGAL_DECL GLXWindow REGAL_CALL plugin_glXCreateWindow(Display *dpy, GLXFBConfig config, Window win, const int *attrib_list);\nREGAL_DECL XVisualInfo *REGAL_CALL plugin_glXGetVisualFromFBConfig(Display *dpy, GLXFBConfig config);\nREGAL_DECL int REGAL_CALL plugin_glXGetFBConfigAttrib(Display *dpy, GLXFBConfig config, int attribute, int *value);\nREGAL_DECL int REGAL_CALL plugin_glXQueryContext(Display *dpy, GLXContext ctx, int attribute, int *value);\nREGAL_DECL void REGAL_CALL plugin_glXDestroyPbuffer(Display *dpy, GLXPbuffer pbuf);\nREGAL_DECL void REGAL_CALL plugin_glXDestroyPixmap(Display *dpy, GLXPixmap pixmap);\nREGAL_DECL void REGAL_CALL plugin_glXDestroyWindow(Display *dpy, GLXWindow win);\nREGAL_DECL void REGAL_CALL plugin_glXGetSelectedEvent(Display *dpy, GLXDrawable draw, unsigned long *event_mask);\nREGAL_DECL void REGAL_CALL plugin_glXQueryDrawable(Display *dpy, GLXDrawable draw, int attribute, unsigned int *value);\nREGAL_DECL void REGAL_CALL plugin_glXSelectEvent(Display *dpy, GLXDrawable draw, unsigned long event_mask);\n#endif\n\n/**\n ** GLX_VERSION_1_4\n **/\n\n#if (defined(GLX_VERSION_1_4) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_VERSION_1_4)) && !defined(REGAL_NO_ENUM_GLX_VERSION_1_4)\n#define REGAL_NO_ENUM_GLX_VERSION_1_4\n#endif\n\n#if (defined(GLX_VERSION_1_4) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_VERSION_1_4)) && !defined(REGAL_NO_TYPEDEF_GLX_VERSION_1_4)\n#define REGAL_NO_TYPEDEF_GLX_VERSION_1_4\n#endif\n\n#if (defined(GLX_VERSION_1_4) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_VERSION_1_4)) && !defined(REGAL_NO_NAMESPACE_GLX_VERSION_1_4)\n#define REGAL_NO_NAMESPACE_GLX_VERSION_1_4\n#endif\n\n#if (defined(GLX_VERSION_1_4) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_VERSION_1_4)) && !defined(REGAL_NO_PLUGIN_GLX_VERSION_1_4)\n#define REGAL_NO_PLUGIN_GLX_VERSION_1_4\n#endif\n\n#if (defined(GLX_VERSION_1_4) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_VERSION_1_4)) && !defined(REGAL_NO_DECLARATION_GLX_VERSION_1_4)\n#define REGAL_NO_DECLARATION_GLX_VERSION_1_4\n#endif\n\n#ifndef GLX_VERSION_1_4\n#define GLX_VERSION_1_4 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GLX_VERSION_1_4\n#define GLX_SAMPLE_BUFFERS 0x186a0     /* 100000 */\n#define GLX_SAMPLES        0x186a1     /* 100001 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_GLX_VERSION_1_4\ntypedef __GLXextFuncPtr (REGAL_CALL *PFNGLXGETPROCADDRESSPROC)(const GLubyte *procName);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_GLX_VERSION_1_4\n#define glXGetProcAddress                   rglXGetProcAddress\n#endif\n\n#ifndef REGAL_NO_DECLARATION_GLX_VERSION_1_4\nREGAL_DECL __GLXextFuncPtr REGAL_CALL glXGetProcAddress(const GLubyte *procName);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_GLX_VERSION_1_4\nREGAL_DECL __GLXextFuncPtr REGAL_CALL plugin_glXGetProcAddress(const GLubyte *procName);\n#endif\n\n#endif /* REGAL_SYS_GLX */\n\n#if REGAL_SYS_OSX\n#define kCGL0Bit            0x1\n#define kCGLMonoscopicBit   0x1\n#define kCGLSupersampleBit  0x1\n#define kCGL4Bit            0x10           /* 16 */\n#define kCGLTripleBufferBit 0x10           /* 16 */\n#define kCGL10Bit           0x100          /* 256 */\n#define kCGLRGB444A8Bit     0x100          /* 256 */\n#define kCGL32Bit           0x1000         /* 4096 */\n#define kCGLRGB565Bit       0x1000         /* 4096 */\n#define kCGL128Bit          0x10000        /* 65536 */\n#define kCGLRGB888A8Bit     0x10000        /* 65536 */\n#define kCGLRGB121212Bit    0x100000       /* 1048576 */\n#define kCGLRGBFloat64Bit   0x1000000      /* 16777216 */\n#define kCGLRGBFloat256Bit  0x10000000     /* 268435456 */\n#define kCGL1Bit            0x2\n#define kCGLMultisampleBit  0x2\n#define kCGLStereoscopicBit 0x2\n#define kCGL5Bit            0x20           /* 32 */\n#define kCGL12Bit           0x200          /* 512 */\n#define kCGLRGB555Bit       0x200          /* 512 */\n#define kCGL48Bit           0x2000         /* 8192 */\n#define kCGLRGB565A8Bit     0x2000         /* 8192 */\n#define kCGLRGB101010Bit    0x20000        /* 131072 */\n#define kCGLARGB12121212Bit 0x200000       /* 2097152 */\n#define kCGLRGBAFloat64Bit  0x2000000      /* 33554432 */\n#define kCGLRGBAFloat256Bit 0x20000000     /* 536870912 */\n#define kCGL2Bit            0x4\n#define kCGLSingleBufferBit 0x4\n#define kCGL6Bit            0x40           /* 64 */\n#define kCGLRGB444Bit       0x40           /* 64 */\n#define kCGL16Bit           0x400          /* 1024 */\n#define kCGLARGB1555Bit     0x400          /* 1024 */\n#define kCGL64Bit           0x4000         /* 16384 */\n#define kCGLRGB888Bit       0x4000         /* 16384 */\n#define kCGLARGB2101010Bit  0x40000        /* 262144 */\n#define kCGLRGB161616Bit    0x400000       /* 4194304 */\n#define kCGLRGBFloat128Bit  0x4000000      /* 67108864 */\n#define kCGL3Bit            0x8\n#define kCGLDoubleBufferBit 0x8\n#define kCGL8Bit            0x80           /* 128 */\n#define kCGLARGB4444Bit     0x80           /* 128 */\n#define kCGL24Bit           0x800          /* 2048 */\n#define kCGLRGB555A8Bit     0x800          /* 2048 */\n#define kCGL96Bit           0x8000         /* 32768 */\n#define kCGLARGB8888Bit     0x8000         /* 32768 */\n#define kCGLRGB101010_A8Bit 0x80000        /* 524288 */\n#define kCGLRGBA16161616Bit 0x800000       /* 8388608 */\n#define kCGLRGBAFloat128Bit 0x8000000      /* 134217728 */\n\n/**\n ** CGL_VERSION_1_0\n **/\n\n#if (defined(CGL_VERSION_1_0) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_CGL_VERSION_1_0)) && !defined(REGAL_NO_ENUM_CGL_VERSION_1_0)\n#define REGAL_NO_ENUM_CGL_VERSION_1_0\n#endif\n\n#if (defined(CGL_VERSION_1_0) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_CGL_VERSION_1_0)) && !defined(REGAL_NO_TYPEDEF_CGL_VERSION_1_0)\n#define REGAL_NO_TYPEDEF_CGL_VERSION_1_0\n#endif\n\n#if (defined(CGL_VERSION_1_0) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_CGL_VERSION_1_0)) && !defined(REGAL_NO_NAMESPACE_CGL_VERSION_1_0)\n#define REGAL_NO_NAMESPACE_CGL_VERSION_1_0\n#endif\n\n#if (defined(CGL_VERSION_1_0) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_CGL_VERSION_1_0)) && !defined(REGAL_NO_PLUGIN_CGL_VERSION_1_0)\n#define REGAL_NO_PLUGIN_CGL_VERSION_1_0\n#endif\n\n#if (defined(CGL_VERSION_1_0) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_CGL_VERSION_1_0)) && !defined(REGAL_NO_DECLARATION_CGL_VERSION_1_0)\n#define REGAL_NO_DECLARATION_CGL_VERSION_1_0\n#endif\n\n#ifndef CGL_VERSION_1_0\n#define CGL_VERSION_1_0 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_CGL_VERSION_1_0\ntypedef CGLError (REGAL_CALL *PFNCGLCHOOSEPIXELFORMATPROC)(const CGLPixelFormatAttribute *attribs, CGLPixelFormatObj *pix, GLint *npix);\ntypedef CGLError (REGAL_CALL *PFNCGLCLEARDRAWABLEPROC)(CGLContextObj ctx);\ntypedef CGLError (REGAL_CALL *PFNCGLCOPYCONTEXTPROC)(CGLContextObj src, CGLContextObj dst, GLbitfield mask);\ntypedef CGLError (REGAL_CALL *PFNCGLCREATECONTEXTPROC)(CGLPixelFormatObj pix, CGLContextObj share, CGLContextObj *ctx);\ntypedef CGLError (REGAL_CALL *PFNCGLDESCRIBEPIXELFORMATPROC)(CGLPixelFormatObj pix, GLint pix_num, CGLPixelFormatAttribute attrib, GLint *value);\ntypedef CGLError (REGAL_CALL *PFNCGLDESCRIBERENDERERPROC)(CGLRendererInfoObj rend, GLint rend_num, CGLRendererProperty prop, GLint *value);\ntypedef CGLError (REGAL_CALL *PFNCGLDESTROYCONTEXTPROC)(CGLContextObj ctx);\ntypedef CGLError (REGAL_CALL *PFNCGLDESTROYPIXELFORMATPROC)(CGLPixelFormatObj pix);\ntypedef CGLError (REGAL_CALL *PFNCGLDESTROYRENDERERINFOPROC)(CGLRendererInfoObj rend);\ntypedef CGLError (REGAL_CALL *PFNCGLDISABLEPROC)(CGLContextObj ctx, CGLContextEnable pname);\ntypedef CGLError (REGAL_CALL *PFNCGLENABLEPROC)(CGLContextObj ctx, CGLContextEnable pname);\ntypedef CGLError (REGAL_CALL *PFNCGLFLUSHDRAWABLEPROC)(CGLContextObj ctx);\ntypedef CGLError (REGAL_CALL *PFNCGLGETOFFSCREENPROC)(CGLContextObj ctx, GLsizei *width, GLsizei *height, GLsizei *rowbytes, void **baseaddr);\ntypedef CGLError (REGAL_CALL *PFNCGLGETOPTIONPROC)(CGLGlobalOption pname, GLint *param);\ntypedef CGLError (REGAL_CALL *PFNCGLGETPARAMETERPROC)(CGLContextObj ctx, CGLContextParameter pname, GLint *params);\ntypedef CGLError (REGAL_CALL *PFNCGLGETVIRTUALSCREENPROC)(CGLContextObj ctx, GLint *screen);\ntypedef CGLError (REGAL_CALL *PFNCGLISENABLEDPROC)(CGLContextObj ctx, CGLContextEnable pname, GLint *enable);\ntypedef CGLError (REGAL_CALL *PFNCGLQUERYRENDERERINFOPROC)(GLuint display_mask, CGLRendererInfoObj *rend, GLint *nrend);\ntypedef CGLError (REGAL_CALL *PFNCGLSETFULLSCREENPROC)(CGLContextObj ctx);\ntypedef CGLError (REGAL_CALL *PFNCGLSETOFFSCREENPROC)(CGLContextObj ctx, GLsizei width, GLsizei height, GLsizei rowbytes, void *baseaddr);\ntypedef CGLError (REGAL_CALL *PFNCGLSETOPTIONPROC)(CGLGlobalOption pname, GLint param);\ntypedef CGLError (REGAL_CALL *PFNCGLSETPARAMETERPROC)(CGLContextObj ctx, CGLContextParameter pname, const GLint *params);\ntypedef CGLError (REGAL_CALL *PFNCGLSETVIRTUALSCREENPROC)(CGLContextObj ctx, GLint screen);\ntypedef const char *(REGAL_CALL *PFNCGLERRORSTRINGPROC)(CGLError error);\ntypedef void (REGAL_CALL *PFNCGLGETVERSIONPROC)(GLint *majorvers, GLint *minorvers);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_CGL_VERSION_1_0\n#define CGLChoosePixelFormat                rCGLChoosePixelFormat\n#define CGLClearDrawable                    rCGLClearDrawable\n#define CGLCopyContext                      rCGLCopyContext\n#define CGLCreateContext                    rCGLCreateContext\n#define CGLDescribePixelFormat              rCGLDescribePixelFormat\n#define CGLDescribeRenderer                 rCGLDescribeRenderer\n#define CGLDestroyContext                   rCGLDestroyContext\n#define CGLDestroyPixelFormat               rCGLDestroyPixelFormat\n#define CGLDestroyRendererInfo              rCGLDestroyRendererInfo\n#define CGLDisable                          rCGLDisable\n#define CGLEnable                           rCGLEnable\n#define CGLErrorString                      rCGLErrorString\n#define CGLFlushDrawable                    rCGLFlushDrawable\n#define CGLGetOffScreen                     rCGLGetOffScreen\n#define CGLGetOption                        rCGLGetOption\n#define CGLGetParameter                     rCGLGetParameter\n#define CGLGetVersion                       rCGLGetVersion\n#define CGLGetVirtualScreen                 rCGLGetVirtualScreen\n#define CGLIsEnabled                        rCGLIsEnabled\n#define CGLQueryRendererInfo                rCGLQueryRendererInfo\n#define CGLSetFullScreen                    rCGLSetFullScreen\n#define CGLSetOffScreen                     rCGLSetOffScreen\n#define CGLSetOption                        rCGLSetOption\n#define CGLSetParameter                     rCGLSetParameter\n#define CGLSetVirtualScreen                 rCGLSetVirtualScreen\n#endif\n\n#ifndef REGAL_NO_DECLARATION_CGL_VERSION_1_0\nREGAL_DECL CGLError REGAL_CALL CGLChoosePixelFormat(const CGLPixelFormatAttribute *attribs, CGLPixelFormatObj *pix, GLint *npix);\nREGAL_DECL CGLError REGAL_CALL CGLClearDrawable(CGLContextObj ctx);\nREGAL_DECL CGLError REGAL_CALL CGLCopyContext(CGLContextObj src, CGLContextObj dst, GLbitfield mask);\nREGAL_DECL CGLError REGAL_CALL CGLCreateContext(CGLPixelFormatObj pix, CGLContextObj share, CGLContextObj *ctx);\nREGAL_DECL CGLError REGAL_CALL CGLDescribePixelFormat(CGLPixelFormatObj pix, GLint pix_num, CGLPixelFormatAttribute attrib, GLint *value);\nREGAL_DECL CGLError REGAL_CALL CGLDescribeRenderer(CGLRendererInfoObj rend, GLint rend_num, CGLRendererProperty prop, GLint *value);\nREGAL_DECL CGLError REGAL_CALL CGLDestroyContext(CGLContextObj ctx);\nREGAL_DECL CGLError REGAL_CALL CGLDestroyPixelFormat(CGLPixelFormatObj pix);\nREGAL_DECL CGLError REGAL_CALL CGLDestroyRendererInfo(CGLRendererInfoObj rend);\nREGAL_DECL CGLError REGAL_CALL CGLDisable(CGLContextObj ctx, CGLContextEnable pname);\nREGAL_DECL CGLError REGAL_CALL CGLEnable(CGLContextObj ctx, CGLContextEnable pname);\nREGAL_DECL CGLError REGAL_CALL CGLFlushDrawable(CGLContextObj ctx);\nREGAL_DECL CGLError REGAL_CALL CGLGetOffScreen(CGLContextObj ctx, GLsizei *width, GLsizei *height, GLsizei *rowbytes, void **baseaddr);\nREGAL_DECL CGLError REGAL_CALL CGLGetOption(CGLGlobalOption pname, GLint *param);\nREGAL_DECL CGLError REGAL_CALL CGLGetParameter(CGLContextObj ctx, CGLContextParameter pname, GLint *params);\nREGAL_DECL CGLError REGAL_CALL CGLGetVirtualScreen(CGLContextObj ctx, GLint *screen);\nREGAL_DECL CGLError REGAL_CALL CGLIsEnabled(CGLContextObj ctx, CGLContextEnable pname, GLint *enable);\nREGAL_DECL CGLError REGAL_CALL CGLQueryRendererInfo(GLuint display_mask, CGLRendererInfoObj *rend, GLint *nrend);\nREGAL_DECL CGLError REGAL_CALL CGLSetFullScreen(CGLContextObj ctx);\nREGAL_DECL CGLError REGAL_CALL CGLSetOffScreen(CGLContextObj ctx, GLsizei width, GLsizei height, GLsizei rowbytes, void *baseaddr);\nREGAL_DECL CGLError REGAL_CALL CGLSetOption(CGLGlobalOption pname, GLint param);\nREGAL_DECL CGLError REGAL_CALL CGLSetParameter(CGLContextObj ctx, CGLContextParameter pname, const GLint *params);\nREGAL_DECL CGLError REGAL_CALL CGLSetVirtualScreen(CGLContextObj ctx, GLint screen);\nREGAL_DECL const char *REGAL_CALL CGLErrorString(CGLError error);\nREGAL_DECL void REGAL_CALL CGLGetVersion(GLint *majorvers, GLint *minorvers);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_CGL_VERSION_1_0\nREGAL_DECL CGLError REGAL_CALL plugin_CGLChoosePixelFormat(const CGLPixelFormatAttribute *attribs, CGLPixelFormatObj *pix, GLint *npix);\nREGAL_DECL CGLError REGAL_CALL plugin_CGLClearDrawable(CGLContextObj ctx);\nREGAL_DECL CGLError REGAL_CALL plugin_CGLCopyContext(CGLContextObj src, CGLContextObj dst, GLbitfield mask);\nREGAL_DECL CGLError REGAL_CALL plugin_CGLCreateContext(CGLPixelFormatObj pix, CGLContextObj share, CGLContextObj *ctx);\nREGAL_DECL CGLError REGAL_CALL plugin_CGLDescribePixelFormat(CGLPixelFormatObj pix, GLint pix_num, CGLPixelFormatAttribute attrib, GLint *value);\nREGAL_DECL CGLError REGAL_CALL plugin_CGLDescribeRenderer(CGLRendererInfoObj rend, GLint rend_num, CGLRendererProperty prop, GLint *value);\nREGAL_DECL CGLError REGAL_CALL plugin_CGLDestroyContext(CGLContextObj ctx);\nREGAL_DECL CGLError REGAL_CALL plugin_CGLDestroyPixelFormat(CGLPixelFormatObj pix);\nREGAL_DECL CGLError REGAL_CALL plugin_CGLDestroyRendererInfo(CGLRendererInfoObj rend);\nREGAL_DECL CGLError REGAL_CALL plugin_CGLDisable(CGLContextObj ctx, CGLContextEnable pname);\nREGAL_DECL CGLError REGAL_CALL plugin_CGLEnable(CGLContextObj ctx, CGLContextEnable pname);\nREGAL_DECL CGLError REGAL_CALL plugin_CGLFlushDrawable(CGLContextObj ctx);\nREGAL_DECL CGLError REGAL_CALL plugin_CGLGetOffScreen(CGLContextObj ctx, GLsizei *width, GLsizei *height, GLsizei *rowbytes, void **baseaddr);\nREGAL_DECL CGLError REGAL_CALL plugin_CGLGetOption(CGLGlobalOption pname, GLint *param);\nREGAL_DECL CGLError REGAL_CALL plugin_CGLGetParameter(CGLContextObj ctx, CGLContextParameter pname, GLint *params);\nREGAL_DECL CGLError REGAL_CALL plugin_CGLGetVirtualScreen(CGLContextObj ctx, GLint *screen);\nREGAL_DECL CGLError REGAL_CALL plugin_CGLIsEnabled(CGLContextObj ctx, CGLContextEnable pname, GLint *enable);\nREGAL_DECL CGLError REGAL_CALL plugin_CGLQueryRendererInfo(GLuint display_mask, CGLRendererInfoObj *rend, GLint *nrend);\nREGAL_DECL CGLError REGAL_CALL plugin_CGLSetFullScreen(CGLContextObj ctx);\nREGAL_DECL CGLError REGAL_CALL plugin_CGLSetOffScreen(CGLContextObj ctx, GLsizei width, GLsizei height, GLsizei rowbytes, void *baseaddr);\nREGAL_DECL CGLError REGAL_CALL plugin_CGLSetOption(CGLGlobalOption pname, GLint param);\nREGAL_DECL CGLError REGAL_CALL plugin_CGLSetParameter(CGLContextObj ctx, CGLContextParameter pname, const GLint *params);\nREGAL_DECL CGLError REGAL_CALL plugin_CGLSetVirtualScreen(CGLContextObj ctx, GLint screen);\nREGAL_DECL const char *REGAL_CALL plugin_CGLErrorString(CGLError error);\nREGAL_DECL void REGAL_CALL plugin_CGLGetVersion(GLint *majorvers, GLint *minorvers);\n#endif\n\n/**\n ** CGL_VERSION_1_1\n **/\n\n#if (defined(CGL_VERSION_1_1) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_CGL_VERSION_1_1)) && !defined(REGAL_NO_ENUM_CGL_VERSION_1_1)\n#define REGAL_NO_ENUM_CGL_VERSION_1_1\n#endif\n\n#if (defined(CGL_VERSION_1_1) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_CGL_VERSION_1_1)) && !defined(REGAL_NO_TYPEDEF_CGL_VERSION_1_1)\n#define REGAL_NO_TYPEDEF_CGL_VERSION_1_1\n#endif\n\n#if (defined(CGL_VERSION_1_1) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_CGL_VERSION_1_1)) && !defined(REGAL_NO_NAMESPACE_CGL_VERSION_1_1)\n#define REGAL_NO_NAMESPACE_CGL_VERSION_1_1\n#endif\n\n#if (defined(CGL_VERSION_1_1) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_CGL_VERSION_1_1)) && !defined(REGAL_NO_PLUGIN_CGL_VERSION_1_1)\n#define REGAL_NO_PLUGIN_CGL_VERSION_1_1\n#endif\n\n#if (defined(CGL_VERSION_1_1) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_CGL_VERSION_1_1)) && !defined(REGAL_NO_DECLARATION_CGL_VERSION_1_1)\n#define REGAL_NO_DECLARATION_CGL_VERSION_1_1\n#endif\n\n#ifndef CGL_VERSION_1_1\n#define CGL_VERSION_1_1 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_CGL_VERSION_1_1\ntypedef CGLError (REGAL_CALL *PFNCGLCREATEPBUFFERPROC)(GLsizei width, GLsizei height, GLenum target, GLenum internalFormat, GLint max_level, CGLPBufferObj *pbuffer);\ntypedef CGLError (REGAL_CALL *PFNCGLDESCRIBEPBUFFERPROC)(CGLPBufferObj pbuffer, GLsizei *width, GLsizei *height, GLenum *target, GLenum *internalFormat, GLint *mipmap);\ntypedef CGLError (REGAL_CALL *PFNCGLDESTROYPBUFFERPROC)(CGLPBufferObj pbuffer);\ntypedef CGLError (REGAL_CALL *PFNCGLGETPBUFFERPROC)(CGLContextObj ctx, CGLPBufferObj *pbuffer, GLenum *face, GLint *level, GLint *screen);\ntypedef CGLError (REGAL_CALL *PFNCGLSETPBUFFERPROC)(CGLContextObj ctx, CGLPBufferObj pbuffer, GLenum face, GLint level, GLint screen);\ntypedef CGLError (REGAL_CALL *PFNCGLTEXIMAGEPBUFFERPROC)(CGLContextObj ctx, CGLPBufferObj pbuffer, GLenum source);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_CGL_VERSION_1_1\n#define CGLCreatePBuffer                    rCGLCreatePBuffer\n#define CGLDescribePBuffer                  rCGLDescribePBuffer\n#define CGLDestroyPBuffer                   rCGLDestroyPBuffer\n#define CGLGetPBuffer                       rCGLGetPBuffer\n#define CGLSetPBuffer                       rCGLSetPBuffer\n#define CGLTexImagePBuffer                  rCGLTexImagePBuffer\n#endif\n\n#ifndef REGAL_NO_DECLARATION_CGL_VERSION_1_1\nREGAL_DECL CGLError REGAL_CALL CGLCreatePBuffer(GLsizei width, GLsizei height, GLenum target, GLenum internalFormat, GLint max_level, CGLPBufferObj *pbuffer);\nREGAL_DECL CGLError REGAL_CALL CGLDescribePBuffer(CGLPBufferObj pbuffer, GLsizei *width, GLsizei *height, GLenum *target, GLenum *internalFormat, GLint *mipmap);\nREGAL_DECL CGLError REGAL_CALL CGLDestroyPBuffer(CGLPBufferObj pbuffer);\nREGAL_DECL CGLError REGAL_CALL CGLGetPBuffer(CGLContextObj ctx, CGLPBufferObj *pbuffer, GLenum *face, GLint *level, GLint *screen);\nREGAL_DECL CGLError REGAL_CALL CGLSetPBuffer(CGLContextObj ctx, CGLPBufferObj pbuffer, GLenum face, GLint level, GLint screen);\nREGAL_DECL CGLError REGAL_CALL CGLTexImagePBuffer(CGLContextObj ctx, CGLPBufferObj pbuffer, GLenum source);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_CGL_VERSION_1_1\nREGAL_DECL CGLError REGAL_CALL plugin_CGLCreatePBuffer(GLsizei width, GLsizei height, GLenum target, GLenum internalFormat, GLint max_level, CGLPBufferObj *pbuffer);\nREGAL_DECL CGLError REGAL_CALL plugin_CGLDescribePBuffer(CGLPBufferObj pbuffer, GLsizei *width, GLsizei *height, GLenum *target, GLenum *internalFormat, GLint *mipmap);\nREGAL_DECL CGLError REGAL_CALL plugin_CGLDestroyPBuffer(CGLPBufferObj pbuffer);\nREGAL_DECL CGLError REGAL_CALL plugin_CGLGetPBuffer(CGLContextObj ctx, CGLPBufferObj *pbuffer, GLenum *face, GLint *level, GLint *screen);\nREGAL_DECL CGLError REGAL_CALL plugin_CGLSetPBuffer(CGLContextObj ctx, CGLPBufferObj pbuffer, GLenum face, GLint level, GLint screen);\nREGAL_DECL CGLError REGAL_CALL plugin_CGLTexImagePBuffer(CGLContextObj ctx, CGLPBufferObj pbuffer, GLenum source);\n#endif\n\n/**\n ** CGL_VERSION_1_2\n **/\n\n#if (defined(CGL_VERSION_1_2) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_CGL_VERSION_1_2)) && !defined(REGAL_NO_ENUM_CGL_VERSION_1_2)\n#define REGAL_NO_ENUM_CGL_VERSION_1_2\n#endif\n\n#if (defined(CGL_VERSION_1_2) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_CGL_VERSION_1_2)) && !defined(REGAL_NO_TYPEDEF_CGL_VERSION_1_2)\n#define REGAL_NO_TYPEDEF_CGL_VERSION_1_2\n#endif\n\n#if (defined(CGL_VERSION_1_2) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_CGL_VERSION_1_2)) && !defined(REGAL_NO_NAMESPACE_CGL_VERSION_1_2)\n#define REGAL_NO_NAMESPACE_CGL_VERSION_1_2\n#endif\n\n#if (defined(CGL_VERSION_1_2) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_CGL_VERSION_1_2)) && !defined(REGAL_NO_PLUGIN_CGL_VERSION_1_2)\n#define REGAL_NO_PLUGIN_CGL_VERSION_1_2\n#endif\n\n#if (defined(CGL_VERSION_1_2) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_CGL_VERSION_1_2)) && !defined(REGAL_NO_DECLARATION_CGL_VERSION_1_2)\n#define REGAL_NO_DECLARATION_CGL_VERSION_1_2\n#endif\n\n#ifndef CGL_VERSION_1_2\n#define CGL_VERSION_1_2 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_CGL_VERSION_1_2\ntypedef CGLContextObj (REGAL_CALL *PFNCGLRETAINCONTEXTPROC)(CGLContextObj ctx);\ntypedef CGLError (REGAL_CALL *PFNCGLGETGLOBALOPTIONPROC)(CGLGlobalOption pname, GLint *params);\ntypedef CGLError (REGAL_CALL *PFNCGLLOCKCONTEXTPROC)(CGLContextObj ctx);\ntypedef CGLError (REGAL_CALL *PFNCGLSETGLOBALOPTIONPROC)(CGLGlobalOption pname, const GLint *params);\ntypedef CGLError (REGAL_CALL *PFNCGLUNLOCKCONTEXTPROC)(CGLContextObj ctx);\ntypedef CGLPBufferObj (REGAL_CALL *PFNCGLRETAINPBUFFERPROC)(CGLPBufferObj pbuffer);\ntypedef CGLPixelFormatObj (REGAL_CALL *PFNCGLGETPIXELFORMATPROC)(CGLContextObj ctx);\ntypedef CGLPixelFormatObj (REGAL_CALL *PFNCGLRETAINPIXELFORMATPROC)(CGLPixelFormatObj pix);\ntypedef GLuint (REGAL_CALL *PFNCGLGETCONTEXTRETAINCOUNTPROC)(CGLContextObj ctx);\ntypedef GLuint (REGAL_CALL *PFNCGLGETPBUFFERRETAINCOUNTPROC)(CGLPBufferObj pbuffer);\ntypedef GLuint (REGAL_CALL *PFNCGLGETPIXELFORMATRETAINCOUNTPROC)(CGLPixelFormatObj pix);\ntypedef void (REGAL_CALL *PFNCGLRELEASECONTEXTPROC)(CGLContextObj ctx);\ntypedef void (REGAL_CALL *PFNCGLRELEASEPBUFFERPROC)(CGLPBufferObj pbuffer);\ntypedef void (REGAL_CALL *PFNCGLRELEASEPIXELFORMATPROC)(CGLPixelFormatObj pix);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_CGL_VERSION_1_2\n#define CGLGetContextRetainCount            rCGLGetContextRetainCount\n#define CGLGetGlobalOption                  rCGLGetGlobalOption\n#define CGLGetPBufferRetainCount            rCGLGetPBufferRetainCount\n#define CGLGetPixelFormat                   rCGLGetPixelFormat\n#define CGLGetPixelFormatRetainCount        rCGLGetPixelFormatRetainCount\n#define CGLLockContext                      rCGLLockContext\n#define CGLReleaseContext                   rCGLReleaseContext\n#define CGLReleasePBuffer                   rCGLReleasePBuffer\n#define CGLReleasePixelFormat               rCGLReleasePixelFormat\n#define CGLRetainContext                    rCGLRetainContext\n#define CGLRetainPBuffer                    rCGLRetainPBuffer\n#define CGLRetainPixelFormat                rCGLRetainPixelFormat\n#define CGLSetGlobalOption                  rCGLSetGlobalOption\n#define CGLUnlockContext                    rCGLUnlockContext\n#endif\n\n#ifndef REGAL_NO_DECLARATION_CGL_VERSION_1_2\nREGAL_DECL CGLContextObj REGAL_CALL CGLRetainContext(CGLContextObj ctx);\nREGAL_DECL CGLError REGAL_CALL CGLGetGlobalOption(CGLGlobalOption pname, GLint *params);\nREGAL_DECL CGLError REGAL_CALL CGLLockContext(CGLContextObj ctx);\nREGAL_DECL CGLError REGAL_CALL CGLSetGlobalOption(CGLGlobalOption pname, const GLint *params);\nREGAL_DECL CGLError REGAL_CALL CGLUnlockContext(CGLContextObj ctx);\nREGAL_DECL CGLPBufferObj REGAL_CALL CGLRetainPBuffer(CGLPBufferObj pbuffer);\nREGAL_DECL CGLPixelFormatObj REGAL_CALL CGLGetPixelFormat(CGLContextObj ctx);\nREGAL_DECL CGLPixelFormatObj REGAL_CALL CGLRetainPixelFormat(CGLPixelFormatObj pix);\nREGAL_DECL GLuint REGAL_CALL CGLGetContextRetainCount(CGLContextObj ctx);\nREGAL_DECL GLuint REGAL_CALL CGLGetPBufferRetainCount(CGLPBufferObj pbuffer);\nREGAL_DECL GLuint REGAL_CALL CGLGetPixelFormatRetainCount(CGLPixelFormatObj pix);\nREGAL_DECL void REGAL_CALL CGLReleaseContext(CGLContextObj ctx);\nREGAL_DECL void REGAL_CALL CGLReleasePBuffer(CGLPBufferObj pbuffer);\nREGAL_DECL void REGAL_CALL CGLReleasePixelFormat(CGLPixelFormatObj pix);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_CGL_VERSION_1_2\nREGAL_DECL CGLContextObj REGAL_CALL plugin_CGLRetainContext(CGLContextObj ctx);\nREGAL_DECL CGLError REGAL_CALL plugin_CGLGetGlobalOption(CGLGlobalOption pname, GLint *params);\nREGAL_DECL CGLError REGAL_CALL plugin_CGLLockContext(CGLContextObj ctx);\nREGAL_DECL CGLError REGAL_CALL plugin_CGLSetGlobalOption(CGLGlobalOption pname, const GLint *params);\nREGAL_DECL CGLError REGAL_CALL plugin_CGLUnlockContext(CGLContextObj ctx);\nREGAL_DECL CGLPBufferObj REGAL_CALL plugin_CGLRetainPBuffer(CGLPBufferObj pbuffer);\nREGAL_DECL CGLPixelFormatObj REGAL_CALL plugin_CGLGetPixelFormat(CGLContextObj ctx);\nREGAL_DECL CGLPixelFormatObj REGAL_CALL plugin_CGLRetainPixelFormat(CGLPixelFormatObj pix);\nREGAL_DECL GLuint REGAL_CALL plugin_CGLGetContextRetainCount(CGLContextObj ctx);\nREGAL_DECL GLuint REGAL_CALL plugin_CGLGetPBufferRetainCount(CGLPBufferObj pbuffer);\nREGAL_DECL GLuint REGAL_CALL plugin_CGLGetPixelFormatRetainCount(CGLPixelFormatObj pix);\nREGAL_DECL void REGAL_CALL plugin_CGLReleaseContext(CGLContextObj ctx);\nREGAL_DECL void REGAL_CALL plugin_CGLReleasePBuffer(CGLPBufferObj pbuffer);\nREGAL_DECL void REGAL_CALL plugin_CGLReleasePixelFormat(CGLPixelFormatObj pix);\n#endif\n\n/**\n ** CGL_VERSION_1_3\n **/\n\n#if (defined(CGL_VERSION_1_3) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_CGL_VERSION_1_3)) && !defined(REGAL_NO_ENUM_CGL_VERSION_1_3)\n#define REGAL_NO_ENUM_CGL_VERSION_1_3\n#endif\n\n#if (defined(CGL_VERSION_1_3) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_CGL_VERSION_1_3)) && !defined(REGAL_NO_TYPEDEF_CGL_VERSION_1_3)\n#define REGAL_NO_TYPEDEF_CGL_VERSION_1_3\n#endif\n\n#if (defined(CGL_VERSION_1_3) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_CGL_VERSION_1_3)) && !defined(REGAL_NO_NAMESPACE_CGL_VERSION_1_3)\n#define REGAL_NO_NAMESPACE_CGL_VERSION_1_3\n#endif\n\n#if (defined(CGL_VERSION_1_3) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_CGL_VERSION_1_3)) && !defined(REGAL_NO_PLUGIN_CGL_VERSION_1_3)\n#define REGAL_NO_PLUGIN_CGL_VERSION_1_3\n#endif\n\n#if (defined(CGL_VERSION_1_3) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_CGL_VERSION_1_3)) && !defined(REGAL_NO_DECLARATION_CGL_VERSION_1_3)\n#define REGAL_NO_DECLARATION_CGL_VERSION_1_3\n#endif\n\n#ifndef CGL_VERSION_1_3\n#define CGL_VERSION_1_3 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_CGL_VERSION_1_3\ntypedef CGLContextObj (REGAL_CALL *PFNCGLGETCURRENTCONTEXTPROC)(void);\ntypedef CGLError (REGAL_CALL *PFNCGLGETSURFACEPROC)(CGLContextObj ctx, CGSConnectionID *conn, CGSWindowID *win, CGSSurfaceID *srf);\ntypedef CGLError (REGAL_CALL *PFNCGLSETCURRENTCONTEXTPROC)(CGLContextObj ctx);\ntypedef CGLError (REGAL_CALL *PFNCGLSETSURFACEPROC)(CGLContextObj ctx, CGSConnectionID conn, CGSWindowID win, CGSSurfaceID srf);\ntypedef CGLError (REGAL_CALL *PFNCGLTEXIMAGEIOSURFACE2DPROC)(CGLContextObj ctx, GLenum target, GLenum internal_format, GLsizei width, GLsizei height, GLenum format, GLenum type, IOSurfaceRef ioSurface, GLuint plane);\ntypedef CGLError (REGAL_CALL *PFNCGLUPDATECONTEXTPROC)(CGLContextObj ctx);\ntypedef CGLShareGroupObj (REGAL_CALL *PFNCGLGETSHAREGROUPPROC)(CGLContextObj ctx);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_CGL_VERSION_1_3\n#define CGLGetCurrentContext                rCGLGetCurrentContext\n#define CGLGetShareGroup                    rCGLGetShareGroup\n#define CGLGetSurface                       rCGLGetSurface\n#define CGLSetCurrentContext                rCGLSetCurrentContext\n#define CGLSetSurface                       rCGLSetSurface\n#define CGLTexImageIOSurface2D              rCGLTexImageIOSurface2D\n#define CGLUpdateContext                    rCGLUpdateContext\n#endif\n\n#ifndef REGAL_NO_DECLARATION_CGL_VERSION_1_3\nREGAL_DECL CGLContextObj REGAL_CALL CGLGetCurrentContext(void);\nREGAL_DECL CGLError REGAL_CALL CGLGetSurface(CGLContextObj ctx, CGSConnectionID *conn, CGSWindowID *win, CGSSurfaceID *srf);\nREGAL_DECL CGLError REGAL_CALL CGLSetCurrentContext(CGLContextObj ctx);\nREGAL_DECL CGLError REGAL_CALL CGLSetSurface(CGLContextObj ctx, CGSConnectionID conn, CGSWindowID win, CGSSurfaceID srf);\nREGAL_DECL CGLError REGAL_CALL CGLTexImageIOSurface2D(CGLContextObj ctx, GLenum target, GLenum internal_format, GLsizei width, GLsizei height, GLenum format, GLenum type, IOSurfaceRef ioSurface, GLuint plane);\nREGAL_DECL CGLError REGAL_CALL CGLUpdateContext(CGLContextObj ctx);\nREGAL_DECL CGLShareGroupObj REGAL_CALL CGLGetShareGroup(CGLContextObj ctx);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_CGL_VERSION_1_3\nREGAL_DECL CGLContextObj REGAL_CALL plugin_CGLGetCurrentContext(void);\nREGAL_DECL CGLError REGAL_CALL plugin_CGLGetSurface(CGLContextObj ctx, CGSConnectionID *conn, CGSWindowID *win, CGSSurfaceID *srf);\nREGAL_DECL CGLError REGAL_CALL plugin_CGLSetCurrentContext(CGLContextObj ctx);\nREGAL_DECL CGLError REGAL_CALL plugin_CGLSetSurface(CGLContextObj ctx, CGSConnectionID conn, CGSWindowID win, CGSSurfaceID srf);\nREGAL_DECL CGLError REGAL_CALL plugin_CGLTexImageIOSurface2D(CGLContextObj ctx, GLenum target, GLenum internal_format, GLsizei width, GLsizei height, GLenum format, GLenum type, IOSurfaceRef ioSurface, GLuint plane);\nREGAL_DECL CGLError REGAL_CALL plugin_CGLUpdateContext(CGLContextObj ctx);\nREGAL_DECL CGLShareGroupObj REGAL_CALL plugin_CGLGetShareGroup(CGLContextObj ctx);\n#endif\n\n#endif /* REGAL_SYS_OSX */\n\n#if REGAL_SYS_EGL\n\n/**\n ** EGL_ANGLE_query_surface_pointer\n **/\n\n#if (defined(EGL_ANGLE_QUERY_SURFACE_POINTER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_EGL_ANGLE_QUERY_SURFACE_POINTER)) && !defined(REGAL_NO_ENUM_EGL_ANGLE_QUERY_SURFACE_POINTER)\n#define REGAL_NO_ENUM_EGL_ANGLE_QUERY_SURFACE_POINTER\n#endif\n\n#if (defined(EGL_ANGLE_QUERY_SURFACE_POINTER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_EGL_ANGLE_QUERY_SURFACE_POINTER)) && !defined(REGAL_NO_TYPEDEF_EGL_ANGLE_QUERY_SURFACE_POINTER)\n#define REGAL_NO_TYPEDEF_EGL_ANGLE_QUERY_SURFACE_POINTER\n#endif\n\n#if (defined(EGL_ANGLE_QUERY_SURFACE_POINTER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_EGL_ANGLE_QUERY_SURFACE_POINTER)) && !defined(REGAL_NO_NAMESPACE_EGL_ANGLE_QUERY_SURFACE_POINTER)\n#define REGAL_NO_NAMESPACE_EGL_ANGLE_QUERY_SURFACE_POINTER\n#endif\n\n#if (defined(EGL_ANGLE_QUERY_SURFACE_POINTER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_EGL_ANGLE_QUERY_SURFACE_POINTER)) && !defined(REGAL_NO_PLUGIN_EGL_ANGLE_QUERY_SURFACE_POINTER)\n#define REGAL_NO_PLUGIN_EGL_ANGLE_QUERY_SURFACE_POINTER\n#endif\n\n#if (defined(EGL_ANGLE_QUERY_SURFACE_POINTER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_EGL_ANGLE_QUERY_SURFACE_POINTER)) && !defined(REGAL_NO_DECLARATION_EGL_ANGLE_QUERY_SURFACE_POINTER)\n#define REGAL_NO_DECLARATION_EGL_ANGLE_QUERY_SURFACE_POINTER\n#endif\n\n#ifndef EGL_ANGLE_query_surface_pointer\n#define EGL_ANGLE_query_surface_pointer 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_EGL_ANGLE_QUERY_SURFACE_POINTER\ntypedef EGLBoolean (REGAL_CALL *PFNEGLQUERYSURFACEPOINTERANGLEPROC)(EGLDisplay dpy, EGLSurface surface, EGLint attribute, GLvoid **value);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_EGL_ANGLE_QUERY_SURFACE_POINTER\n#define eglQuerySurfacePointerANGLE         reglQuerySurfacePointerANGLE\n#endif\n\n#ifndef REGAL_NO_DECLARATION_EGL_ANGLE_QUERY_SURFACE_POINTER\nREGAL_DECL EGLBoolean REGAL_CALL eglQuerySurfacePointerANGLE(EGLDisplay dpy, EGLSurface surface, EGLint attribute, GLvoid **value);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_EGL_ANGLE_QUERY_SURFACE_POINTER\nREGAL_DECL EGLBoolean REGAL_CALL plugin_eglQuerySurfacePointerANGLE(EGLDisplay dpy, EGLSurface surface, EGLint attribute, GLvoid **value);\n#endif\n\n/**\n ** EGL_ANGLE_surface_d3d_texture_2d_share_handle\n **/\n\n#if (defined(EGL_ANGLE_SURFACE_D3D_TEXTURE_2D_SHARE_HANDLE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_EGL_ANGLE_SURFACE_D3D_TEXTURE_2D_SHARE_HANDLE)) && !defined(REGAL_NO_ENUM_EGL_ANGLE_SURFACE_D3D_TEXTURE_2D_SHARE_HANDLE)\n#define REGAL_NO_ENUM_EGL_ANGLE_SURFACE_D3D_TEXTURE_2D_SHARE_HANDLE\n#endif\n\n#if (defined(EGL_ANGLE_SURFACE_D3D_TEXTURE_2D_SHARE_HANDLE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_EGL_ANGLE_SURFACE_D3D_TEXTURE_2D_SHARE_HANDLE)) && !defined(REGAL_NO_TYPEDEF_EGL_ANGLE_SURFACE_D3D_TEXTURE_2D_SHARE_HANDLE)\n#define REGAL_NO_TYPEDEF_EGL_ANGLE_SURFACE_D3D_TEXTURE_2D_SHARE_HANDLE\n#endif\n\n#if (defined(EGL_ANGLE_SURFACE_D3D_TEXTURE_2D_SHARE_HANDLE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_EGL_ANGLE_SURFACE_D3D_TEXTURE_2D_SHARE_HANDLE)) && !defined(REGAL_NO_NAMESPACE_EGL_ANGLE_SURFACE_D3D_TEXTURE_2D_SHARE_HANDLE)\n#define REGAL_NO_NAMESPACE_EGL_ANGLE_SURFACE_D3D_TEXTURE_2D_SHARE_HANDLE\n#endif\n\n#if (defined(EGL_ANGLE_SURFACE_D3D_TEXTURE_2D_SHARE_HANDLE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_EGL_ANGLE_SURFACE_D3D_TEXTURE_2D_SHARE_HANDLE)) && !defined(REGAL_NO_PLUGIN_EGL_ANGLE_SURFACE_D3D_TEXTURE_2D_SHARE_HANDLE)\n#define REGAL_NO_PLUGIN_EGL_ANGLE_SURFACE_D3D_TEXTURE_2D_SHARE_HANDLE\n#endif\n\n#if (defined(EGL_ANGLE_SURFACE_D3D_TEXTURE_2D_SHARE_HANDLE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_EGL_ANGLE_SURFACE_D3D_TEXTURE_2D_SHARE_HANDLE)) && !defined(REGAL_NO_DECLARATION_EGL_ANGLE_SURFACE_D3D_TEXTURE_2D_SHARE_HANDLE)\n#define REGAL_NO_DECLARATION_EGL_ANGLE_SURFACE_D3D_TEXTURE_2D_SHARE_HANDLE\n#endif\n\n#ifndef EGL_ANGLE_surface_d3d_texture_2d_share_handle\n#define EGL_ANGLE_surface_d3d_texture_2d_share_handle 1\n#endif\n\n#ifndef REGAL_NO_ENUM_EGL_ANGLE_SURFACE_D3D_TEXTURE_2D_SHARE_HANDLE\n#define EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE 0x3200 /* 12800 */\n#endif\n\n/**\n ** EGL_EXT_create_context_robustness\n **/\n\n#if (defined(EGL_EXT_CREATE_CONTEXT_ROBUSTNESS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_EGL_EXT_CREATE_CONTEXT_ROBUSTNESS)) && !defined(REGAL_NO_ENUM_EGL_EXT_CREATE_CONTEXT_ROBUSTNESS)\n#define REGAL_NO_ENUM_EGL_EXT_CREATE_CONTEXT_ROBUSTNESS\n#endif\n\n#if (defined(EGL_EXT_CREATE_CONTEXT_ROBUSTNESS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_EGL_EXT_CREATE_CONTEXT_ROBUSTNESS)) && !defined(REGAL_NO_TYPEDEF_EGL_EXT_CREATE_CONTEXT_ROBUSTNESS)\n#define REGAL_NO_TYPEDEF_EGL_EXT_CREATE_CONTEXT_ROBUSTNESS\n#endif\n\n#if (defined(EGL_EXT_CREATE_CONTEXT_ROBUSTNESS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_EGL_EXT_CREATE_CONTEXT_ROBUSTNESS)) && !defined(REGAL_NO_NAMESPACE_EGL_EXT_CREATE_CONTEXT_ROBUSTNESS)\n#define REGAL_NO_NAMESPACE_EGL_EXT_CREATE_CONTEXT_ROBUSTNESS\n#endif\n\n#if (defined(EGL_EXT_CREATE_CONTEXT_ROBUSTNESS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_EGL_EXT_CREATE_CONTEXT_ROBUSTNESS)) && !defined(REGAL_NO_PLUGIN_EGL_EXT_CREATE_CONTEXT_ROBUSTNESS)\n#define REGAL_NO_PLUGIN_EGL_EXT_CREATE_CONTEXT_ROBUSTNESS\n#endif\n\n#if (defined(EGL_EXT_CREATE_CONTEXT_ROBUSTNESS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_EGL_EXT_CREATE_CONTEXT_ROBUSTNESS)) && !defined(REGAL_NO_DECLARATION_EGL_EXT_CREATE_CONTEXT_ROBUSTNESS)\n#define REGAL_NO_DECLARATION_EGL_EXT_CREATE_CONTEXT_ROBUSTNESS\n#endif\n\n#ifndef EGL_EXT_create_context_robustness\n#define EGL_EXT_create_context_robustness 1\n#endif\n\n#ifndef REGAL_NO_ENUM_EGL_EXT_CREATE_CONTEXT_ROBUSTNESS\n#define EGL_CONTEXT_OPENGL_ROBUST_ACCESS_EXT               0x30bf     /* 12479 */\n#define EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_EXT 0x3138     /* 12600 */\n#define EGL_NO_RESET_NOTIFICATION_EXT                      0x31be     /* 12734 */\n#define EGL_LOSE_CONTEXT_ON_RESET_EXT                      0x31bf     /* 12735 */\n#endif\n\n/**\n ** EGL_EXT_multiview_window\n **/\n\n#if (defined(EGL_EXT_MULTIVIEW_WINDOW) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_EGL_EXT_MULTIVIEW_WINDOW)) && !defined(REGAL_NO_ENUM_EGL_EXT_MULTIVIEW_WINDOW)\n#define REGAL_NO_ENUM_EGL_EXT_MULTIVIEW_WINDOW\n#endif\n\n#if (defined(EGL_EXT_MULTIVIEW_WINDOW) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_EGL_EXT_MULTIVIEW_WINDOW)) && !defined(REGAL_NO_TYPEDEF_EGL_EXT_MULTIVIEW_WINDOW)\n#define REGAL_NO_TYPEDEF_EGL_EXT_MULTIVIEW_WINDOW\n#endif\n\n#if (defined(EGL_EXT_MULTIVIEW_WINDOW) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_EGL_EXT_MULTIVIEW_WINDOW)) && !defined(REGAL_NO_NAMESPACE_EGL_EXT_MULTIVIEW_WINDOW)\n#define REGAL_NO_NAMESPACE_EGL_EXT_MULTIVIEW_WINDOW\n#endif\n\n#if (defined(EGL_EXT_MULTIVIEW_WINDOW) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_EGL_EXT_MULTIVIEW_WINDOW)) && !defined(REGAL_NO_PLUGIN_EGL_EXT_MULTIVIEW_WINDOW)\n#define REGAL_NO_PLUGIN_EGL_EXT_MULTIVIEW_WINDOW\n#endif\n\n#if (defined(EGL_EXT_MULTIVIEW_WINDOW) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_EGL_EXT_MULTIVIEW_WINDOW)) && !defined(REGAL_NO_DECLARATION_EGL_EXT_MULTIVIEW_WINDOW)\n#define REGAL_NO_DECLARATION_EGL_EXT_MULTIVIEW_WINDOW\n#endif\n\n#ifndef EGL_EXT_multiview_window\n#define EGL_EXT_multiview_window 1\n#endif\n\n#ifndef REGAL_NO_ENUM_EGL_EXT_MULTIVIEW_WINDOW\n#define EGL_MULTIVIEW_VIEW_COUNT_EXT 0x3134 /* 12596 */\n#endif\n\n/**\n ** EGL_HI_colorformats\n **/\n\n#if (defined(EGL_HI_COLORFORMATS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_EGL_HI_COLORFORMATS)) && !defined(REGAL_NO_ENUM_EGL_HI_COLORFORMATS)\n#define REGAL_NO_ENUM_EGL_HI_COLORFORMATS\n#endif\n\n#if (defined(EGL_HI_COLORFORMATS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_EGL_HI_COLORFORMATS)) && !defined(REGAL_NO_TYPEDEF_EGL_HI_COLORFORMATS)\n#define REGAL_NO_TYPEDEF_EGL_HI_COLORFORMATS\n#endif\n\n#if (defined(EGL_HI_COLORFORMATS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_EGL_HI_COLORFORMATS)) && !defined(REGAL_NO_NAMESPACE_EGL_HI_COLORFORMATS)\n#define REGAL_NO_NAMESPACE_EGL_HI_COLORFORMATS\n#endif\n\n#if (defined(EGL_HI_COLORFORMATS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_EGL_HI_COLORFORMATS)) && !defined(REGAL_NO_PLUGIN_EGL_HI_COLORFORMATS)\n#define REGAL_NO_PLUGIN_EGL_HI_COLORFORMATS\n#endif\n\n#if (defined(EGL_HI_COLORFORMATS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_EGL_HI_COLORFORMATS)) && !defined(REGAL_NO_DECLARATION_EGL_HI_COLORFORMATS)\n#define REGAL_NO_DECLARATION_EGL_HI_COLORFORMATS\n#endif\n\n#ifndef EGL_HI_colorformats\n#define EGL_HI_colorformats 1\n#endif\n\n#ifndef REGAL_NO_ENUM_EGL_HI_COLORFORMATS\n#define EGL_COLOR_FORMAT_HI 0x8f70     /* 36720 */\n#define EGL_COLOR_RGB_HI    0x8f71     /* 36721 */\n#define EGL_COLOR_RGBA_HI   0x8f72     /* 36722 */\n#define EGL_COLOR_ARGB_HI   0x8f73     /* 36723 */\n#endif\n\n/**\n ** EGL_IMG_context_priority\n **/\n\n#if (defined(EGL_IMG_CONTEXT_PRIORITY) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_EGL_IMG_CONTEXT_PRIORITY)) && !defined(REGAL_NO_ENUM_EGL_IMG_CONTEXT_PRIORITY)\n#define REGAL_NO_ENUM_EGL_IMG_CONTEXT_PRIORITY\n#endif\n\n#if (defined(EGL_IMG_CONTEXT_PRIORITY) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_EGL_IMG_CONTEXT_PRIORITY)) && !defined(REGAL_NO_TYPEDEF_EGL_IMG_CONTEXT_PRIORITY)\n#define REGAL_NO_TYPEDEF_EGL_IMG_CONTEXT_PRIORITY\n#endif\n\n#if (defined(EGL_IMG_CONTEXT_PRIORITY) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_EGL_IMG_CONTEXT_PRIORITY)) && !defined(REGAL_NO_NAMESPACE_EGL_IMG_CONTEXT_PRIORITY)\n#define REGAL_NO_NAMESPACE_EGL_IMG_CONTEXT_PRIORITY\n#endif\n\n#if (defined(EGL_IMG_CONTEXT_PRIORITY) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_EGL_IMG_CONTEXT_PRIORITY)) && !defined(REGAL_NO_PLUGIN_EGL_IMG_CONTEXT_PRIORITY)\n#define REGAL_NO_PLUGIN_EGL_IMG_CONTEXT_PRIORITY\n#endif\n\n#if (defined(EGL_IMG_CONTEXT_PRIORITY) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_EGL_IMG_CONTEXT_PRIORITY)) && !defined(REGAL_NO_DECLARATION_EGL_IMG_CONTEXT_PRIORITY)\n#define REGAL_NO_DECLARATION_EGL_IMG_CONTEXT_PRIORITY\n#endif\n\n#ifndef EGL_IMG_context_priority\n#define EGL_IMG_context_priority 1\n#endif\n\n#ifndef REGAL_NO_ENUM_EGL_IMG_CONTEXT_PRIORITY\n#define EGL_CONTEXT_PRIORITY_LEVEL_IMG  0x3100     /* 12544 */\n#define EGL_CONTEXT_PRIORITY_HIGH_IMG   0x3101     /* 12545 */\n#define EGL_CONTEXT_PRIORITY_MEDIUM_IMG 0x3102     /* 12546 */\n#define EGL_CONTEXT_PRIORITY_LOW_IMG    0x3103     /* 12547 */\n#endif\n\n/**\n ** EGL_KHR_config_attribs\n **/\n\n#if (defined(EGL_KHR_CONFIG_ATTRIBS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_EGL_KHR_CONFIG_ATTRIBS)) && !defined(REGAL_NO_ENUM_EGL_KHR_CONFIG_ATTRIBS)\n#define REGAL_NO_ENUM_EGL_KHR_CONFIG_ATTRIBS\n#endif\n\n#if (defined(EGL_KHR_CONFIG_ATTRIBS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_EGL_KHR_CONFIG_ATTRIBS)) && !defined(REGAL_NO_TYPEDEF_EGL_KHR_CONFIG_ATTRIBS)\n#define REGAL_NO_TYPEDEF_EGL_KHR_CONFIG_ATTRIBS\n#endif\n\n#if (defined(EGL_KHR_CONFIG_ATTRIBS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_EGL_KHR_CONFIG_ATTRIBS)) && !defined(REGAL_NO_NAMESPACE_EGL_KHR_CONFIG_ATTRIBS)\n#define REGAL_NO_NAMESPACE_EGL_KHR_CONFIG_ATTRIBS\n#endif\n\n#if (defined(EGL_KHR_CONFIG_ATTRIBS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_EGL_KHR_CONFIG_ATTRIBS)) && !defined(REGAL_NO_PLUGIN_EGL_KHR_CONFIG_ATTRIBS)\n#define REGAL_NO_PLUGIN_EGL_KHR_CONFIG_ATTRIBS\n#endif\n\n#if (defined(EGL_KHR_CONFIG_ATTRIBS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_EGL_KHR_CONFIG_ATTRIBS)) && !defined(REGAL_NO_DECLARATION_EGL_KHR_CONFIG_ATTRIBS)\n#define REGAL_NO_DECLARATION_EGL_KHR_CONFIG_ATTRIBS\n#endif\n\n#ifndef EGL_KHR_config_attribs\n#define EGL_KHR_config_attribs 1\n#endif\n\n#ifndef REGAL_NO_ENUM_EGL_KHR_CONFIG_ATTRIBS\n#define EGL_VG_COLORSPACE_LINEAR_BIT_KHR 0x20       /* 32 */\n#define EGL_CONFORMANT_KHR               0x3042     /* 12354 */\n#define EGL_VG_ALPHA_FORMAT_PRE_BIT_KHR  0x40       /* 64 */\n#endif\n\n/**\n ** EGL_KHR_create_context\n **/\n\n#if (defined(EGL_KHR_CREATE_CONTEXT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_EGL_KHR_CREATE_CONTEXT)) && !defined(REGAL_NO_ENUM_EGL_KHR_CREATE_CONTEXT)\n#define REGAL_NO_ENUM_EGL_KHR_CREATE_CONTEXT\n#endif\n\n#if (defined(EGL_KHR_CREATE_CONTEXT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_EGL_KHR_CREATE_CONTEXT)) && !defined(REGAL_NO_TYPEDEF_EGL_KHR_CREATE_CONTEXT)\n#define REGAL_NO_TYPEDEF_EGL_KHR_CREATE_CONTEXT\n#endif\n\n#if (defined(EGL_KHR_CREATE_CONTEXT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_EGL_KHR_CREATE_CONTEXT)) && !defined(REGAL_NO_NAMESPACE_EGL_KHR_CREATE_CONTEXT)\n#define REGAL_NO_NAMESPACE_EGL_KHR_CREATE_CONTEXT\n#endif\n\n#if (defined(EGL_KHR_CREATE_CONTEXT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_EGL_KHR_CREATE_CONTEXT)) && !defined(REGAL_NO_PLUGIN_EGL_KHR_CREATE_CONTEXT)\n#define REGAL_NO_PLUGIN_EGL_KHR_CREATE_CONTEXT\n#endif\n\n#if (defined(EGL_KHR_CREATE_CONTEXT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_EGL_KHR_CREATE_CONTEXT)) && !defined(REGAL_NO_DECLARATION_EGL_KHR_CREATE_CONTEXT)\n#define REGAL_NO_DECLARATION_EGL_KHR_CREATE_CONTEXT\n#endif\n\n#ifndef EGL_KHR_create_context\n#define EGL_KHR_create_context 1\n#endif\n\n#ifndef REGAL_NO_ENUM_EGL_KHR_CREATE_CONTEXT\n#define EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT_KHR            0x1\n#define EGL_CONTEXT_OPENGL_DEBUG_BIT_KHR                   0x1\n#define EGL_CONTEXT_OPENGL_COMPATIBILITY_PROFILE_BIT_KHR   0x2\n#define EGL_CONTEXT_OPENGL_FORWARD_COMPATIBLE_BIT_KHR      0x2\n#define EGL_CONTEXT_MAJOR_VERSION_KHR                      0x3098     /* 12440 */\n#define EGL_CONTEXT_MINOR_VERSION_KHR                      0x30fb     /* 12539 */\n#define EGL_CONTEXT_FLAGS_KHR                              0x30fc     /* 12540 */\n#define EGL_CONTEXT_OPENGL_PROFILE_MASK_KHR                0x30fd     /* 12541 */\n#define EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_KHR 0x31bd     /* 12733 */\n#define EGL_NO_RESET_NOTIFICATION_KHR                      0x31be     /* 12734 */\n#define EGL_LOSE_CONTEXT_ON_RESET_KHR                      0x31bf     /* 12735 */\n#define EGL_CONTEXT_OPENGL_ROBUST_ACCESS_BIT_KHR           0x4\n#define EGL_OPENGL_ES3_BIT_KHR                             0x40       /* 64 */\n#endif\n\n/**\n ** EGL_KHR_fence_sync\n **/\n\n#if (defined(EGL_KHR_FENCE_SYNC) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_EGL_KHR_FENCE_SYNC)) && !defined(REGAL_NO_ENUM_EGL_KHR_FENCE_SYNC)\n#define REGAL_NO_ENUM_EGL_KHR_FENCE_SYNC\n#endif\n\n#if (defined(EGL_KHR_FENCE_SYNC) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_EGL_KHR_FENCE_SYNC)) && !defined(REGAL_NO_TYPEDEF_EGL_KHR_FENCE_SYNC)\n#define REGAL_NO_TYPEDEF_EGL_KHR_FENCE_SYNC\n#endif\n\n#if (defined(EGL_KHR_FENCE_SYNC) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_EGL_KHR_FENCE_SYNC)) && !defined(REGAL_NO_NAMESPACE_EGL_KHR_FENCE_SYNC)\n#define REGAL_NO_NAMESPACE_EGL_KHR_FENCE_SYNC\n#endif\n\n#if (defined(EGL_KHR_FENCE_SYNC) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_EGL_KHR_FENCE_SYNC)) && !defined(REGAL_NO_PLUGIN_EGL_KHR_FENCE_SYNC)\n#define REGAL_NO_PLUGIN_EGL_KHR_FENCE_SYNC\n#endif\n\n#if (defined(EGL_KHR_FENCE_SYNC) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_EGL_KHR_FENCE_SYNC)) && !defined(REGAL_NO_DECLARATION_EGL_KHR_FENCE_SYNC)\n#define REGAL_NO_DECLARATION_EGL_KHR_FENCE_SYNC\n#endif\n\n#ifndef EGL_KHR_fence_sync\n#define EGL_KHR_fence_sync 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_EGL_KHR_FENCE_SYNC\ntypedef EGLBoolean (REGAL_CALL *PFNEGLDESTROYSYNCKHRPROC)(EGLDisplay dpy, EGLSyncKHR GLsync);\ntypedef EGLBoolean (REGAL_CALL *PFNEGLGETSYNCATTRIBKHRPROC)(EGLDisplay dpy, EGLSyncKHR GLsync, EGLint attribute, EGLint *value);\ntypedef EGLSyncKHR (REGAL_CALL *PFNEGLCREATESYNCKHRPROC)(EGLDisplay dpy, EGLenum type, const EGLint *attrib_list);\ntypedef EGLint (REGAL_CALL *PFNEGLCLIENTWAITSYNCKHRPROC)(EGLDisplay dpy, EGLSyncKHR GLsync, EGLint flags, EGLTimeKHR timeout);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_EGL_KHR_FENCE_SYNC\n#define eglClientWaitSyncKHR                reglClientWaitSyncKHR\n#define eglCreateSyncKHR                    reglCreateSyncKHR\n#define eglDestroySyncKHR                   reglDestroySyncKHR\n#define eglGetSyncAttribKHR                 reglGetSyncAttribKHR\n#endif\n\n#ifndef REGAL_NO_DECLARATION_EGL_KHR_FENCE_SYNC\nREGAL_DECL EGLBoolean REGAL_CALL eglDestroySyncKHR(EGLDisplay dpy, EGLSyncKHR GLsync);\nREGAL_DECL EGLBoolean REGAL_CALL eglGetSyncAttribKHR(EGLDisplay dpy, EGLSyncKHR GLsync, EGLint attribute, EGLint *value);\nREGAL_DECL EGLSyncKHR REGAL_CALL eglCreateSyncKHR(EGLDisplay dpy, EGLenum type, const EGLint *attrib_list);\nREGAL_DECL EGLint REGAL_CALL eglClientWaitSyncKHR(EGLDisplay dpy, EGLSyncKHR GLsync, EGLint flags, EGLTimeKHR timeout);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_EGL_KHR_FENCE_SYNC\nREGAL_DECL EGLBoolean REGAL_CALL plugin_eglDestroySyncKHR(EGLDisplay dpy, EGLSyncKHR GLsync);\nREGAL_DECL EGLBoolean REGAL_CALL plugin_eglGetSyncAttribKHR(EGLDisplay dpy, EGLSyncKHR GLsync, EGLint attribute, EGLint *value);\nREGAL_DECL EGLSyncKHR REGAL_CALL plugin_eglCreateSyncKHR(EGLDisplay dpy, EGLenum type, const EGLint *attrib_list);\nREGAL_DECL EGLint REGAL_CALL plugin_eglClientWaitSyncKHR(EGLDisplay dpy, EGLSyncKHR GLsync, EGLint flags, EGLTimeKHR timeout);\n#endif\n\n/**\n ** EGL_KHR_gl_texture_cubemap_image\n **/\n\n#if (defined(EGL_KHR_GL_TEXTURE_CUBEMAP_IMAGE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_EGL_KHR_GL_TEXTURE_CUBEMAP_IMAGE)) && !defined(REGAL_NO_ENUM_EGL_KHR_GL_TEXTURE_CUBEMAP_IMAGE)\n#define REGAL_NO_ENUM_EGL_KHR_GL_TEXTURE_CUBEMAP_IMAGE\n#endif\n\n#if (defined(EGL_KHR_GL_TEXTURE_CUBEMAP_IMAGE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_EGL_KHR_GL_TEXTURE_CUBEMAP_IMAGE)) && !defined(REGAL_NO_TYPEDEF_EGL_KHR_GL_TEXTURE_CUBEMAP_IMAGE)\n#define REGAL_NO_TYPEDEF_EGL_KHR_GL_TEXTURE_CUBEMAP_IMAGE\n#endif\n\n#if (defined(EGL_KHR_GL_TEXTURE_CUBEMAP_IMAGE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_EGL_KHR_GL_TEXTURE_CUBEMAP_IMAGE)) && !defined(REGAL_NO_NAMESPACE_EGL_KHR_GL_TEXTURE_CUBEMAP_IMAGE)\n#define REGAL_NO_NAMESPACE_EGL_KHR_GL_TEXTURE_CUBEMAP_IMAGE\n#endif\n\n#if (defined(EGL_KHR_GL_TEXTURE_CUBEMAP_IMAGE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_EGL_KHR_GL_TEXTURE_CUBEMAP_IMAGE)) && !defined(REGAL_NO_PLUGIN_EGL_KHR_GL_TEXTURE_CUBEMAP_IMAGE)\n#define REGAL_NO_PLUGIN_EGL_KHR_GL_TEXTURE_CUBEMAP_IMAGE\n#endif\n\n#if (defined(EGL_KHR_GL_TEXTURE_CUBEMAP_IMAGE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_EGL_KHR_GL_TEXTURE_CUBEMAP_IMAGE)) && !defined(REGAL_NO_DECLARATION_EGL_KHR_GL_TEXTURE_CUBEMAP_IMAGE)\n#define REGAL_NO_DECLARATION_EGL_KHR_GL_TEXTURE_CUBEMAP_IMAGE\n#endif\n\n#ifndef EGL_KHR_gl_texture_cubemap_image\n#define EGL_KHR_gl_texture_cubemap_image 1\n#endif\n\n#ifndef REGAL_NO_ENUM_EGL_KHR_GL_TEXTURE_CUBEMAP_IMAGE\n#define EGL_GL_TEXTURE_2D_KHR                  0x30b1     /* 12465 */\n#define EGL_GL_TEXTURE_3D_KHR                  0x30b2     /* 12466 */\n#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_X_KHR 0x30b3     /* 12467 */\n#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_X_KHR 0x30b4     /* 12468 */\n#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Y_KHR 0x30b5     /* 12469 */\n#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_KHR 0x30b6     /* 12470 */\n#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Z_KHR 0x30b7     /* 12471 */\n#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_KHR 0x30b8     /* 12472 */\n#define EGL_GL_RENDERBUFFER_KHR                0x30b9     /* 12473 */\n#define EGL_GL_TEXTURE_LEVEL_KHR               0x30bc     /* 12476 */\n#define EGL_GL_TEXTURE_ZOFFSET_KHR             0x30bd     /* 12477 */\n#endif\n\n/**\n ** EGL_KHR_image_base\n **/\n\n#if (defined(EGL_KHR_IMAGE_BASE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_EGL_KHR_IMAGE_BASE)) && !defined(REGAL_NO_ENUM_EGL_KHR_IMAGE_BASE)\n#define REGAL_NO_ENUM_EGL_KHR_IMAGE_BASE\n#endif\n\n#if (defined(EGL_KHR_IMAGE_BASE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_EGL_KHR_IMAGE_BASE)) && !defined(REGAL_NO_TYPEDEF_EGL_KHR_IMAGE_BASE)\n#define REGAL_NO_TYPEDEF_EGL_KHR_IMAGE_BASE\n#endif\n\n#if (defined(EGL_KHR_IMAGE_BASE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_EGL_KHR_IMAGE_BASE)) && !defined(REGAL_NO_NAMESPACE_EGL_KHR_IMAGE_BASE)\n#define REGAL_NO_NAMESPACE_EGL_KHR_IMAGE_BASE\n#endif\n\n#if (defined(EGL_KHR_IMAGE_BASE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_EGL_KHR_IMAGE_BASE)) && !defined(REGAL_NO_PLUGIN_EGL_KHR_IMAGE_BASE)\n#define REGAL_NO_PLUGIN_EGL_KHR_IMAGE_BASE\n#endif\n\n#if (defined(EGL_KHR_IMAGE_BASE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_EGL_KHR_IMAGE_BASE)) && !defined(REGAL_NO_DECLARATION_EGL_KHR_IMAGE_BASE)\n#define REGAL_NO_DECLARATION_EGL_KHR_IMAGE_BASE\n#endif\n\n#ifndef EGL_KHR_image_base\n#define EGL_KHR_image_base 1\n#endif\n\n#ifndef REGAL_NO_ENUM_EGL_KHR_IMAGE_BASE\n#define EGL_IMAGE_PRESERVED_KHR 0x30d2 /* 12498 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_EGL_KHR_IMAGE_BASE\ntypedef EGLBoolean (REGAL_CALL *PFNEGLDESTROYIMAGEKHRPROC)(EGLDisplay dpy, EGLImageKHR image);\ntypedef EGLImageKHR (REGAL_CALL *PFNEGLCREATEIMAGEKHRPROC)(EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint *attrib_list);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_EGL_KHR_IMAGE_BASE\n#define eglCreateImageKHR                   reglCreateImageKHR\n#define eglDestroyImageKHR                  reglDestroyImageKHR\n#endif\n\n#ifndef REGAL_NO_DECLARATION_EGL_KHR_IMAGE_BASE\nREGAL_DECL EGLBoolean REGAL_CALL eglDestroyImageKHR(EGLDisplay dpy, EGLImageKHR image);\nREGAL_DECL EGLImageKHR REGAL_CALL eglCreateImageKHR(EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint *attrib_list);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_EGL_KHR_IMAGE_BASE\nREGAL_DECL EGLBoolean REGAL_CALL plugin_eglDestroyImageKHR(EGLDisplay dpy, EGLImageKHR image);\nREGAL_DECL EGLImageKHR REGAL_CALL plugin_eglCreateImageKHR(EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint *attrib_list);\n#endif\n\n/**\n ** EGL_KHR_image_pixmap\n **/\n\n#if (defined(EGL_KHR_IMAGE_PIXMAP) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_EGL_KHR_IMAGE_PIXMAP)) && !defined(REGAL_NO_ENUM_EGL_KHR_IMAGE_PIXMAP)\n#define REGAL_NO_ENUM_EGL_KHR_IMAGE_PIXMAP\n#endif\n\n#if (defined(EGL_KHR_IMAGE_PIXMAP) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_EGL_KHR_IMAGE_PIXMAP)) && !defined(REGAL_NO_TYPEDEF_EGL_KHR_IMAGE_PIXMAP)\n#define REGAL_NO_TYPEDEF_EGL_KHR_IMAGE_PIXMAP\n#endif\n\n#if (defined(EGL_KHR_IMAGE_PIXMAP) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_EGL_KHR_IMAGE_PIXMAP)) && !defined(REGAL_NO_NAMESPACE_EGL_KHR_IMAGE_PIXMAP)\n#define REGAL_NO_NAMESPACE_EGL_KHR_IMAGE_PIXMAP\n#endif\n\n#if (defined(EGL_KHR_IMAGE_PIXMAP) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_EGL_KHR_IMAGE_PIXMAP)) && !defined(REGAL_NO_PLUGIN_EGL_KHR_IMAGE_PIXMAP)\n#define REGAL_NO_PLUGIN_EGL_KHR_IMAGE_PIXMAP\n#endif\n\n#if (defined(EGL_KHR_IMAGE_PIXMAP) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_EGL_KHR_IMAGE_PIXMAP)) && !defined(REGAL_NO_DECLARATION_EGL_KHR_IMAGE_PIXMAP)\n#define REGAL_NO_DECLARATION_EGL_KHR_IMAGE_PIXMAP\n#endif\n\n#ifndef EGL_KHR_image_pixmap\n#define EGL_KHR_image_pixmap 1\n#endif\n\n#ifndef REGAL_NO_ENUM_EGL_KHR_IMAGE_PIXMAP\n#define EGL_NATIVE_PIXMAP_KHR 0x30b0 /* 12464 */\n#endif\n\n/**\n ** EGL_KHR_lock_surface\n **/\n\n#if (defined(EGL_KHR_LOCK_SURFACE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_EGL_KHR_LOCK_SURFACE)) && !defined(REGAL_NO_ENUM_EGL_KHR_LOCK_SURFACE)\n#define REGAL_NO_ENUM_EGL_KHR_LOCK_SURFACE\n#endif\n\n#if (defined(EGL_KHR_LOCK_SURFACE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_EGL_KHR_LOCK_SURFACE)) && !defined(REGAL_NO_TYPEDEF_EGL_KHR_LOCK_SURFACE)\n#define REGAL_NO_TYPEDEF_EGL_KHR_LOCK_SURFACE\n#endif\n\n#if (defined(EGL_KHR_LOCK_SURFACE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_EGL_KHR_LOCK_SURFACE)) && !defined(REGAL_NO_NAMESPACE_EGL_KHR_LOCK_SURFACE)\n#define REGAL_NO_NAMESPACE_EGL_KHR_LOCK_SURFACE\n#endif\n\n#if (defined(EGL_KHR_LOCK_SURFACE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_EGL_KHR_LOCK_SURFACE)) && !defined(REGAL_NO_PLUGIN_EGL_KHR_LOCK_SURFACE)\n#define REGAL_NO_PLUGIN_EGL_KHR_LOCK_SURFACE\n#endif\n\n#if (defined(EGL_KHR_LOCK_SURFACE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_EGL_KHR_LOCK_SURFACE)) && !defined(REGAL_NO_DECLARATION_EGL_KHR_LOCK_SURFACE)\n#define REGAL_NO_DECLARATION_EGL_KHR_LOCK_SURFACE\n#endif\n\n#ifndef EGL_KHR_lock_surface\n#define EGL_KHR_lock_surface 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_EGL_KHR_LOCK_SURFACE\ntypedef EGLBoolean (REGAL_CALL *PFNEGLLOCKSURFACEKHRPROC)(EGLDisplay display, EGLSurface surface, const EGLint *attrib_list);\ntypedef EGLBoolean (REGAL_CALL *PFNEGLUNLOCKSURFACEKHRPROC)(EGLDisplay display, EGLSurface surface);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_EGL_KHR_LOCK_SURFACE\n#define eglLockSurfaceKHR                   reglLockSurfaceKHR\n#define eglUnlockSurfaceKHR                 reglUnlockSurfaceKHR\n#endif\n\n#ifndef REGAL_NO_DECLARATION_EGL_KHR_LOCK_SURFACE\nREGAL_DECL EGLBoolean REGAL_CALL eglLockSurfaceKHR(EGLDisplay display, EGLSurface surface, const EGLint *attrib_list);\nREGAL_DECL EGLBoolean REGAL_CALL eglUnlockSurfaceKHR(EGLDisplay display, EGLSurface surface);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_EGL_KHR_LOCK_SURFACE\nREGAL_DECL EGLBoolean REGAL_CALL plugin_eglLockSurfaceKHR(EGLDisplay display, EGLSurface surface, const EGLint *attrib_list);\nREGAL_DECL EGLBoolean REGAL_CALL plugin_eglUnlockSurfaceKHR(EGLDisplay display, EGLSurface surface);\n#endif\n\n/**\n ** EGL_KHR_lock_surface2\n **/\n\n#if (defined(EGL_KHR_LOCK_SURFACE2) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_EGL_KHR_LOCK_SURFACE2)) && !defined(REGAL_NO_ENUM_EGL_KHR_LOCK_SURFACE2)\n#define REGAL_NO_ENUM_EGL_KHR_LOCK_SURFACE2\n#endif\n\n#if (defined(EGL_KHR_LOCK_SURFACE2) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_EGL_KHR_LOCK_SURFACE2)) && !defined(REGAL_NO_TYPEDEF_EGL_KHR_LOCK_SURFACE2)\n#define REGAL_NO_TYPEDEF_EGL_KHR_LOCK_SURFACE2\n#endif\n\n#if (defined(EGL_KHR_LOCK_SURFACE2) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_EGL_KHR_LOCK_SURFACE2)) && !defined(REGAL_NO_NAMESPACE_EGL_KHR_LOCK_SURFACE2)\n#define REGAL_NO_NAMESPACE_EGL_KHR_LOCK_SURFACE2\n#endif\n\n#if (defined(EGL_KHR_LOCK_SURFACE2) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_EGL_KHR_LOCK_SURFACE2)) && !defined(REGAL_NO_PLUGIN_EGL_KHR_LOCK_SURFACE2)\n#define REGAL_NO_PLUGIN_EGL_KHR_LOCK_SURFACE2\n#endif\n\n#if (defined(EGL_KHR_LOCK_SURFACE2) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_EGL_KHR_LOCK_SURFACE2)) && !defined(REGAL_NO_DECLARATION_EGL_KHR_LOCK_SURFACE2)\n#define REGAL_NO_DECLARATION_EGL_KHR_LOCK_SURFACE2\n#endif\n\n#ifndef EGL_KHR_lock_surface2\n#define EGL_KHR_lock_surface2 1\n#endif\n\n#ifndef REGAL_NO_ENUM_EGL_KHR_LOCK_SURFACE2\n#define EGL_READ_SURFACE_BIT_KHR              0x1\n#define EGL_OPTIMAL_FORMAT_BIT_KHR            0x100      /* 256 */\n#define EGL_WRITE_SURFACE_BIT_KHR             0x2\n#define EGL_MATCH_FORMAT_KHR                  0x3043     /* 12355 */\n#define EGL_FORMAT_RGB_565_EXACT_KHR          0x30c0     /* 12480 */\n#define EGL_FORMAT_RGB_565_KHR                0x30c1     /* 12481 */\n#define EGL_FORMAT_RGBA_8888_EXACT_KHR        0x30c2     /* 12482 */\n#define EGL_FORMAT_RGBA_8888_KHR              0x30c3     /* 12483 */\n#define EGL_MAP_PRESERVE_PIXELS_KHR           0x30c4     /* 12484 */\n#define EGL_LOCK_USAGE_HINT_KHR               0x30c5     /* 12485 */\n#define EGL_BITMAP_POINTER_KHR                0x30c6     /* 12486 */\n#define EGL_BITMAP_PITCH_KHR                  0x30c7     /* 12487 */\n#define EGL_BITMAP_ORIGIN_KHR                 0x30c8     /* 12488 */\n#define EGL_BITMAP_PIXEL_RED_OFFSET_KHR       0x30c9     /* 12489 */\n#define EGL_BITMAP_PIXEL_GREEN_OFFSET_KHR     0x30ca     /* 12490 */\n#define EGL_BITMAP_PIXEL_BLUE_OFFSET_KHR      0x30cb     /* 12491 */\n#define EGL_BITMAP_PIXEL_ALPHA_OFFSET_KHR     0x30cc     /* 12492 */\n#define EGL_BITMAP_PIXEL_LUMINANCE_OFFSET_KHR 0x30cd     /* 12493 */\n#define EGL_LOWER_LEFT_KHR                    0x30ce     /* 12494 */\n#define EGL_UPPER_LEFT_KHR                    0x30cf     /* 12495 */\n#define EGL_BITMAP_PIXEL_SIZE_KHR             0x3110     /* 12560 */\n#define EGL_LOCK_SURFACE_BIT_KHR              0x80       /* 128 */\n#endif\n\n/**\n ** EGL_KHR_reusable_sync\n **/\n\n#if (defined(EGL_KHR_REUSABLE_SYNC) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_EGL_KHR_REUSABLE_SYNC)) && !defined(REGAL_NO_ENUM_EGL_KHR_REUSABLE_SYNC)\n#define REGAL_NO_ENUM_EGL_KHR_REUSABLE_SYNC\n#endif\n\n#if (defined(EGL_KHR_REUSABLE_SYNC) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_EGL_KHR_REUSABLE_SYNC)) && !defined(REGAL_NO_TYPEDEF_EGL_KHR_REUSABLE_SYNC)\n#define REGAL_NO_TYPEDEF_EGL_KHR_REUSABLE_SYNC\n#endif\n\n#if (defined(EGL_KHR_REUSABLE_SYNC) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_EGL_KHR_REUSABLE_SYNC)) && !defined(REGAL_NO_NAMESPACE_EGL_KHR_REUSABLE_SYNC)\n#define REGAL_NO_NAMESPACE_EGL_KHR_REUSABLE_SYNC\n#endif\n\n#if (defined(EGL_KHR_REUSABLE_SYNC) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_EGL_KHR_REUSABLE_SYNC)) && !defined(REGAL_NO_PLUGIN_EGL_KHR_REUSABLE_SYNC)\n#define REGAL_NO_PLUGIN_EGL_KHR_REUSABLE_SYNC\n#endif\n\n#if (defined(EGL_KHR_REUSABLE_SYNC) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_EGL_KHR_REUSABLE_SYNC)) && !defined(REGAL_NO_DECLARATION_EGL_KHR_REUSABLE_SYNC)\n#define REGAL_NO_DECLARATION_EGL_KHR_REUSABLE_SYNC\n#endif\n\n#ifndef EGL_KHR_reusable_sync\n#define EGL_KHR_reusable_sync 1\n#endif\n\n#ifndef REGAL_NO_ENUM_EGL_KHR_REUSABLE_SYNC\n#define EGL_SYNC_REUSABLE_KHR 0x30fa /* 12538 */\n#endif\n\n/**\n ** EGL_KHR_stream\n **/\n\n#if (defined(EGL_KHR_STREAM) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_EGL_KHR_STREAM)) && !defined(REGAL_NO_ENUM_EGL_KHR_STREAM)\n#define REGAL_NO_ENUM_EGL_KHR_STREAM\n#endif\n\n#if (defined(EGL_KHR_STREAM) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_EGL_KHR_STREAM)) && !defined(REGAL_NO_TYPEDEF_EGL_KHR_STREAM)\n#define REGAL_NO_TYPEDEF_EGL_KHR_STREAM\n#endif\n\n#if (defined(EGL_KHR_STREAM) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_EGL_KHR_STREAM)) && !defined(REGAL_NO_NAMESPACE_EGL_KHR_STREAM)\n#define REGAL_NO_NAMESPACE_EGL_KHR_STREAM\n#endif\n\n#if (defined(EGL_KHR_STREAM) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_EGL_KHR_STREAM)) && !defined(REGAL_NO_PLUGIN_EGL_KHR_STREAM)\n#define REGAL_NO_PLUGIN_EGL_KHR_STREAM\n#endif\n\n#if (defined(EGL_KHR_STREAM) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_EGL_KHR_STREAM)) && !defined(REGAL_NO_DECLARATION_EGL_KHR_STREAM)\n#define REGAL_NO_DECLARATION_EGL_KHR_STREAM\n#endif\n\n#ifndef EGL_KHR_stream\n#define EGL_KHR_stream 1\n#endif\n\n#ifndef REGAL_NO_ENUM_EGL_KHR_STREAM\n#define EGL_CONSUMER_LATENCY_USEC_KHR            0x3210     /* 12816 */\n#define EGL_PRODUCER_FRAME_KHR                   0x3212     /* 12818 */\n#define EGL_CONSUMER_FRAME_KHR                   0x3213     /* 12819 */\n#define EGL_STREAM_STATE_KHR                     0x3214     /* 12820 */\n#define EGL_STREAM_STATE_CREATED_KHR             0x3215     /* 12821 */\n#define EGL_STREAM_STATE_CONNECTING_KHR          0x3216     /* 12822 */\n#define EGL_STREAM_STATE_EMPTY_KHR               0x3217     /* 12823 */\n#define EGL_STREAM_STATE_NEW_FRAME_AVAILABLE_KHR 0x3218     /* 12824 */\n#define EGL_STREAM_STATE_OLD_FRAME_AVAILABLE_KHR 0x3219     /* 12825 */\n#define EGL_STREAM_STATE_DISCONNECTED_KHR        0x321a     /* 12826 */\n#define EGL_BAD_STREAM_KHR                       0x321b     /* 12827 */\n#define EGL_BAD_STATE_KHR                        0x321c     /* 12828 */\n#endif\n\n/**\n ** EGL_KHR_stream_consumer_gltexture\n **/\n\n#if (defined(EGL_KHR_STREAM_CONSUMER_GLTEXTURE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_EGL_KHR_STREAM_CONSUMER_GLTEXTURE)) && !defined(REGAL_NO_ENUM_EGL_KHR_STREAM_CONSUMER_GLTEXTURE)\n#define REGAL_NO_ENUM_EGL_KHR_STREAM_CONSUMER_GLTEXTURE\n#endif\n\n#if (defined(EGL_KHR_STREAM_CONSUMER_GLTEXTURE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_EGL_KHR_STREAM_CONSUMER_GLTEXTURE)) && !defined(REGAL_NO_TYPEDEF_EGL_KHR_STREAM_CONSUMER_GLTEXTURE)\n#define REGAL_NO_TYPEDEF_EGL_KHR_STREAM_CONSUMER_GLTEXTURE\n#endif\n\n#if (defined(EGL_KHR_STREAM_CONSUMER_GLTEXTURE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_EGL_KHR_STREAM_CONSUMER_GLTEXTURE)) && !defined(REGAL_NO_NAMESPACE_EGL_KHR_STREAM_CONSUMER_GLTEXTURE)\n#define REGAL_NO_NAMESPACE_EGL_KHR_STREAM_CONSUMER_GLTEXTURE\n#endif\n\n#if (defined(EGL_KHR_STREAM_CONSUMER_GLTEXTURE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_EGL_KHR_STREAM_CONSUMER_GLTEXTURE)) && !defined(REGAL_NO_PLUGIN_EGL_KHR_STREAM_CONSUMER_GLTEXTURE)\n#define REGAL_NO_PLUGIN_EGL_KHR_STREAM_CONSUMER_GLTEXTURE\n#endif\n\n#if (defined(EGL_KHR_STREAM_CONSUMER_GLTEXTURE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_EGL_KHR_STREAM_CONSUMER_GLTEXTURE)) && !defined(REGAL_NO_DECLARATION_EGL_KHR_STREAM_CONSUMER_GLTEXTURE)\n#define REGAL_NO_DECLARATION_EGL_KHR_STREAM_CONSUMER_GLTEXTURE\n#endif\n\n#ifndef EGL_KHR_stream_consumer_gltexture\n#define EGL_KHR_stream_consumer_gltexture 1\n#endif\n\n#ifndef REGAL_NO_ENUM_EGL_KHR_STREAM_CONSUMER_GLTEXTURE\n#define EGL_CONSUMER_ACQUIRE_TIMEOUT_USEC_KHR 0x321e /* 12830 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_EGL_KHR_STREAM_CONSUMER_GLTEXTURE\ntypedef EGLBoolean (REGAL_CALL *PFNEGLSTREAMCONSUMERACQUIREKHRPROC)(EGLDisplay dpy, EGLStreamKHR stream);\ntypedef EGLBoolean (REGAL_CALL *PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALKHRPROC)(EGLDisplay dpy, EGLStreamKHR stream);\ntypedef EGLBoolean (REGAL_CALL *PFNEGLSTREAMCONSUMERRELEASEKHRPROC)(EGLDisplay dpy, EGLStreamKHR stream);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_EGL_KHR_STREAM_CONSUMER_GLTEXTURE\n#define eglStreamConsumerAcquireKHR         reglStreamConsumerAcquireKHR\n#define eglStreamConsumerGLTextureExternalKHR reglStreamConsumerGLTextureExternalKHR\n#define eglStreamConsumerReleaseKHR         reglStreamConsumerReleaseKHR\n#endif\n\n#ifndef REGAL_NO_DECLARATION_EGL_KHR_STREAM_CONSUMER_GLTEXTURE\nREGAL_DECL EGLBoolean REGAL_CALL eglStreamConsumerAcquireKHR(EGLDisplay dpy, EGLStreamKHR stream);\nREGAL_DECL EGLBoolean REGAL_CALL eglStreamConsumerGLTextureExternalKHR(EGLDisplay dpy, EGLStreamKHR stream);\nREGAL_DECL EGLBoolean REGAL_CALL eglStreamConsumerReleaseKHR(EGLDisplay dpy, EGLStreamKHR stream);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_EGL_KHR_STREAM_CONSUMER_GLTEXTURE\nREGAL_DECL EGLBoolean REGAL_CALL plugin_eglStreamConsumerAcquireKHR(EGLDisplay dpy, EGLStreamKHR stream);\nREGAL_DECL EGLBoolean REGAL_CALL plugin_eglStreamConsumerGLTextureExternalKHR(EGLDisplay dpy, EGLStreamKHR stream);\nREGAL_DECL EGLBoolean REGAL_CALL plugin_eglStreamConsumerReleaseKHR(EGLDisplay dpy, EGLStreamKHR stream);\n#endif\n\n/**\n ** EGL_KHR_stream_cross_process_fd\n **/\n\n#if (defined(EGL_KHR_STREAM_CROSS_PROCESS_FD) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_EGL_KHR_STREAM_CROSS_PROCESS_FD)) && !defined(REGAL_NO_ENUM_EGL_KHR_STREAM_CROSS_PROCESS_FD)\n#define REGAL_NO_ENUM_EGL_KHR_STREAM_CROSS_PROCESS_FD\n#endif\n\n#if (defined(EGL_KHR_STREAM_CROSS_PROCESS_FD) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_EGL_KHR_STREAM_CROSS_PROCESS_FD)) && !defined(REGAL_NO_TYPEDEF_EGL_KHR_STREAM_CROSS_PROCESS_FD)\n#define REGAL_NO_TYPEDEF_EGL_KHR_STREAM_CROSS_PROCESS_FD\n#endif\n\n#if (defined(EGL_KHR_STREAM_CROSS_PROCESS_FD) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_EGL_KHR_STREAM_CROSS_PROCESS_FD)) && !defined(REGAL_NO_NAMESPACE_EGL_KHR_STREAM_CROSS_PROCESS_FD)\n#define REGAL_NO_NAMESPACE_EGL_KHR_STREAM_CROSS_PROCESS_FD\n#endif\n\n#if (defined(EGL_KHR_STREAM_CROSS_PROCESS_FD) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_EGL_KHR_STREAM_CROSS_PROCESS_FD)) && !defined(REGAL_NO_PLUGIN_EGL_KHR_STREAM_CROSS_PROCESS_FD)\n#define REGAL_NO_PLUGIN_EGL_KHR_STREAM_CROSS_PROCESS_FD\n#endif\n\n#if (defined(EGL_KHR_STREAM_CROSS_PROCESS_FD) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_EGL_KHR_STREAM_CROSS_PROCESS_FD)) && !defined(REGAL_NO_DECLARATION_EGL_KHR_STREAM_CROSS_PROCESS_FD)\n#define REGAL_NO_DECLARATION_EGL_KHR_STREAM_CROSS_PROCESS_FD\n#endif\n\n#ifndef EGL_KHR_stream_cross_process_fd\n#define EGL_KHR_stream_cross_process_fd 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_EGL_KHR_STREAM_CROSS_PROCESS_FD\ntypedef EGLNativeFileDescriptorKHR (REGAL_CALL *PFNEGLGETSTREAMFILEDESCRIPTORKHRPROC)(EGLDisplay dpy, EGLStreamKHR stream);\ntypedef EGLStreamKHR (REGAL_CALL *PFNEGLCREATESTREAMFROMFILEDESCRIPTORKHRPROC)(EGLDisplay dpy, EGLNativeFileDescriptorKHR file_descriptor);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_EGL_KHR_STREAM_CROSS_PROCESS_FD\n#define eglCreateStreamFromFileDescriptorKHR reglCreateStreamFromFileDescriptorKHR\n#define eglGetStreamFileDescriptorKHR       reglGetStreamFileDescriptorKHR\n#endif\n\n#ifndef REGAL_NO_DECLARATION_EGL_KHR_STREAM_CROSS_PROCESS_FD\nREGAL_DECL EGLNativeFileDescriptorKHR REGAL_CALL eglGetStreamFileDescriptorKHR(EGLDisplay dpy, EGLStreamKHR stream);\nREGAL_DECL EGLStreamKHR REGAL_CALL eglCreateStreamFromFileDescriptorKHR(EGLDisplay dpy, EGLNativeFileDescriptorKHR file_descriptor);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_EGL_KHR_STREAM_CROSS_PROCESS_FD\nREGAL_DECL EGLNativeFileDescriptorKHR REGAL_CALL plugin_eglGetStreamFileDescriptorKHR(EGLDisplay dpy, EGLStreamKHR stream);\nREGAL_DECL EGLStreamKHR REGAL_CALL plugin_eglCreateStreamFromFileDescriptorKHR(EGLDisplay dpy, EGLNativeFileDescriptorKHR file_descriptor);\n#endif\n\n/**\n ** EGL_KHR_stream_fifo\n **/\n\n#if (defined(EGL_KHR_STREAM_FIFO) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_EGL_KHR_STREAM_FIFO)) && !defined(REGAL_NO_ENUM_EGL_KHR_STREAM_FIFO)\n#define REGAL_NO_ENUM_EGL_KHR_STREAM_FIFO\n#endif\n\n#if (defined(EGL_KHR_STREAM_FIFO) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_EGL_KHR_STREAM_FIFO)) && !defined(REGAL_NO_TYPEDEF_EGL_KHR_STREAM_FIFO)\n#define REGAL_NO_TYPEDEF_EGL_KHR_STREAM_FIFO\n#endif\n\n#if (defined(EGL_KHR_STREAM_FIFO) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_EGL_KHR_STREAM_FIFO)) && !defined(REGAL_NO_NAMESPACE_EGL_KHR_STREAM_FIFO)\n#define REGAL_NO_NAMESPACE_EGL_KHR_STREAM_FIFO\n#endif\n\n#if (defined(EGL_KHR_STREAM_FIFO) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_EGL_KHR_STREAM_FIFO)) && !defined(REGAL_NO_PLUGIN_EGL_KHR_STREAM_FIFO)\n#define REGAL_NO_PLUGIN_EGL_KHR_STREAM_FIFO\n#endif\n\n#if (defined(EGL_KHR_STREAM_FIFO) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_EGL_KHR_STREAM_FIFO)) && !defined(REGAL_NO_DECLARATION_EGL_KHR_STREAM_FIFO)\n#define REGAL_NO_DECLARATION_EGL_KHR_STREAM_FIFO\n#endif\n\n#ifndef EGL_KHR_stream_fifo\n#define EGL_KHR_stream_fifo 1\n#endif\n\n#ifndef REGAL_NO_ENUM_EGL_KHR_STREAM_FIFO\n#define EGL_STREAM_FIFO_LENGTH_KHR   0x31fc     /* 12796 */\n#define EGL_STREAM_TIME_NOW_KHR      0x31fd     /* 12797 */\n#define EGL_STREAM_TIME_CONSUMER_KHR 0x31fe     /* 12798 */\n#define EGL_STREAM_TIME_PRODUCER_KHR 0x31ff     /* 12799 */\n#endif\n\n/**\n ** EGL_KHR_stream_producer_eglsurface\n **/\n\n#if (defined(EGL_KHR_STREAM_PRODUCER_EGLSURFACE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_EGL_KHR_STREAM_PRODUCER_EGLSURFACE)) && !defined(REGAL_NO_ENUM_EGL_KHR_STREAM_PRODUCER_EGLSURFACE)\n#define REGAL_NO_ENUM_EGL_KHR_STREAM_PRODUCER_EGLSURFACE\n#endif\n\n#if (defined(EGL_KHR_STREAM_PRODUCER_EGLSURFACE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_EGL_KHR_STREAM_PRODUCER_EGLSURFACE)) && !defined(REGAL_NO_TYPEDEF_EGL_KHR_STREAM_PRODUCER_EGLSURFACE)\n#define REGAL_NO_TYPEDEF_EGL_KHR_STREAM_PRODUCER_EGLSURFACE\n#endif\n\n#if (defined(EGL_KHR_STREAM_PRODUCER_EGLSURFACE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_EGL_KHR_STREAM_PRODUCER_EGLSURFACE)) && !defined(REGAL_NO_NAMESPACE_EGL_KHR_STREAM_PRODUCER_EGLSURFACE)\n#define REGAL_NO_NAMESPACE_EGL_KHR_STREAM_PRODUCER_EGLSURFACE\n#endif\n\n#if (defined(EGL_KHR_STREAM_PRODUCER_EGLSURFACE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_EGL_KHR_STREAM_PRODUCER_EGLSURFACE)) && !defined(REGAL_NO_PLUGIN_EGL_KHR_STREAM_PRODUCER_EGLSURFACE)\n#define REGAL_NO_PLUGIN_EGL_KHR_STREAM_PRODUCER_EGLSURFACE\n#endif\n\n#if (defined(EGL_KHR_STREAM_PRODUCER_EGLSURFACE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_EGL_KHR_STREAM_PRODUCER_EGLSURFACE)) && !defined(REGAL_NO_DECLARATION_EGL_KHR_STREAM_PRODUCER_EGLSURFACE)\n#define REGAL_NO_DECLARATION_EGL_KHR_STREAM_PRODUCER_EGLSURFACE\n#endif\n\n#ifndef EGL_KHR_stream_producer_eglsurface\n#define EGL_KHR_stream_producer_eglsurface 1\n#endif\n\n#ifndef REGAL_NO_ENUM_EGL_KHR_STREAM_PRODUCER_EGLSURFACE\n#define EGL_STREAM_BIT_KHR 0x800 /* 2048 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_EGL_KHR_STREAM_PRODUCER_EGLSURFACE\ntypedef EGLSurface (REGAL_CALL *PFNEGLCREATESTREAMPRODUCERSURFACEKHRPROC)(EGLDisplay dpy, EGLConfig config, EGLStreamKHR stream, const EGLint *attrib_list);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_EGL_KHR_STREAM_PRODUCER_EGLSURFACE\n#define eglCreateStreamProducerSurfaceKHR   reglCreateStreamProducerSurfaceKHR\n#endif\n\n#ifndef REGAL_NO_DECLARATION_EGL_KHR_STREAM_PRODUCER_EGLSURFACE\nREGAL_DECL EGLSurface REGAL_CALL eglCreateStreamProducerSurfaceKHR(EGLDisplay dpy, EGLConfig config, EGLStreamKHR stream, const EGLint *attrib_list);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_EGL_KHR_STREAM_PRODUCER_EGLSURFACE\nREGAL_DECL EGLSurface REGAL_CALL plugin_eglCreateStreamProducerSurfaceKHR(EGLDisplay dpy, EGLConfig config, EGLStreamKHR stream, const EGLint *attrib_list);\n#endif\n\n/**\n ** EGL_KHR_vg_parent_image\n **/\n\n#if (defined(EGL_KHR_VG_PARENT_IMAGE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_EGL_KHR_VG_PARENT_IMAGE)) && !defined(REGAL_NO_ENUM_EGL_KHR_VG_PARENT_IMAGE)\n#define REGAL_NO_ENUM_EGL_KHR_VG_PARENT_IMAGE\n#endif\n\n#if (defined(EGL_KHR_VG_PARENT_IMAGE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_EGL_KHR_VG_PARENT_IMAGE)) && !defined(REGAL_NO_TYPEDEF_EGL_KHR_VG_PARENT_IMAGE)\n#define REGAL_NO_TYPEDEF_EGL_KHR_VG_PARENT_IMAGE\n#endif\n\n#if (defined(EGL_KHR_VG_PARENT_IMAGE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_EGL_KHR_VG_PARENT_IMAGE)) && !defined(REGAL_NO_NAMESPACE_EGL_KHR_VG_PARENT_IMAGE)\n#define REGAL_NO_NAMESPACE_EGL_KHR_VG_PARENT_IMAGE\n#endif\n\n#if (defined(EGL_KHR_VG_PARENT_IMAGE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_EGL_KHR_VG_PARENT_IMAGE)) && !defined(REGAL_NO_PLUGIN_EGL_KHR_VG_PARENT_IMAGE)\n#define REGAL_NO_PLUGIN_EGL_KHR_VG_PARENT_IMAGE\n#endif\n\n#if (defined(EGL_KHR_VG_PARENT_IMAGE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_EGL_KHR_VG_PARENT_IMAGE)) && !defined(REGAL_NO_DECLARATION_EGL_KHR_VG_PARENT_IMAGE)\n#define REGAL_NO_DECLARATION_EGL_KHR_VG_PARENT_IMAGE\n#endif\n\n#ifndef EGL_KHR_vg_parent_image\n#define EGL_KHR_vg_parent_image 1\n#endif\n\n#ifndef REGAL_NO_ENUM_EGL_KHR_VG_PARENT_IMAGE\n#define EGL_VG_PARENT_IMAGE_KHR 0x30ba /* 12474 */\n#endif\n\n/**\n ** EGL_KHR_wait_sync\n **/\n\n#if (defined(EGL_KHR_WAIT_SYNC) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_EGL_KHR_WAIT_SYNC)) && !defined(REGAL_NO_ENUM_EGL_KHR_WAIT_SYNC)\n#define REGAL_NO_ENUM_EGL_KHR_WAIT_SYNC\n#endif\n\n#if (defined(EGL_KHR_WAIT_SYNC) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_EGL_KHR_WAIT_SYNC)) && !defined(REGAL_NO_TYPEDEF_EGL_KHR_WAIT_SYNC)\n#define REGAL_NO_TYPEDEF_EGL_KHR_WAIT_SYNC\n#endif\n\n#if (defined(EGL_KHR_WAIT_SYNC) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_EGL_KHR_WAIT_SYNC)) && !defined(REGAL_NO_NAMESPACE_EGL_KHR_WAIT_SYNC)\n#define REGAL_NO_NAMESPACE_EGL_KHR_WAIT_SYNC\n#endif\n\n#if (defined(EGL_KHR_WAIT_SYNC) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_EGL_KHR_WAIT_SYNC)) && !defined(REGAL_NO_PLUGIN_EGL_KHR_WAIT_SYNC)\n#define REGAL_NO_PLUGIN_EGL_KHR_WAIT_SYNC\n#endif\n\n#if (defined(EGL_KHR_WAIT_SYNC) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_EGL_KHR_WAIT_SYNC)) && !defined(REGAL_NO_DECLARATION_EGL_KHR_WAIT_SYNC)\n#define REGAL_NO_DECLARATION_EGL_KHR_WAIT_SYNC\n#endif\n\n#ifndef EGL_KHR_wait_sync\n#define EGL_KHR_wait_sync 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_EGL_KHR_WAIT_SYNC\ntypedef EGLint (REGAL_CALL *PFNEGLWAITSYNCKHRPROC)(EGLDisplay dpy, EGLSyncKHR GLsync, EGLint flags);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_EGL_KHR_WAIT_SYNC\n#define eglWaitSyncKHR                      reglWaitSyncKHR\n#endif\n\n#ifndef REGAL_NO_DECLARATION_EGL_KHR_WAIT_SYNC\nREGAL_DECL EGLint REGAL_CALL eglWaitSyncKHR(EGLDisplay dpy, EGLSyncKHR GLsync, EGLint flags);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_EGL_KHR_WAIT_SYNC\nREGAL_DECL EGLint REGAL_CALL plugin_eglWaitSyncKHR(EGLDisplay dpy, EGLSyncKHR GLsync, EGLint flags);\n#endif\n\n/**\n ** EGL_MESA_drm_image\n **/\n\n#if (defined(EGL_MESA_DRM_IMAGE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_EGL_MESA_DRM_IMAGE)) && !defined(REGAL_NO_ENUM_EGL_MESA_DRM_IMAGE)\n#define REGAL_NO_ENUM_EGL_MESA_DRM_IMAGE\n#endif\n\n#if (defined(EGL_MESA_DRM_IMAGE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_EGL_MESA_DRM_IMAGE)) && !defined(REGAL_NO_TYPEDEF_EGL_MESA_DRM_IMAGE)\n#define REGAL_NO_TYPEDEF_EGL_MESA_DRM_IMAGE\n#endif\n\n#if (defined(EGL_MESA_DRM_IMAGE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_EGL_MESA_DRM_IMAGE)) && !defined(REGAL_NO_NAMESPACE_EGL_MESA_DRM_IMAGE)\n#define REGAL_NO_NAMESPACE_EGL_MESA_DRM_IMAGE\n#endif\n\n#if (defined(EGL_MESA_DRM_IMAGE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_EGL_MESA_DRM_IMAGE)) && !defined(REGAL_NO_PLUGIN_EGL_MESA_DRM_IMAGE)\n#define REGAL_NO_PLUGIN_EGL_MESA_DRM_IMAGE\n#endif\n\n#if (defined(EGL_MESA_DRM_IMAGE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_EGL_MESA_DRM_IMAGE)) && !defined(REGAL_NO_DECLARATION_EGL_MESA_DRM_IMAGE)\n#define REGAL_NO_DECLARATION_EGL_MESA_DRM_IMAGE\n#endif\n\n#ifndef EGL_MESA_drm_image\n#define EGL_MESA_drm_image 1\n#endif\n\n#ifndef REGAL_NO_ENUM_EGL_MESA_DRM_IMAGE\n#define EGL_DRM_BUFFER_USE_SCANOUT_MESA   0x1\n#define EGL_DRM_BUFFER_USE_SHARE_MESA     0x2\n#define EGL_DRM_BUFFER_FORMAT_MESA        0x31d0     /* 12752 */\n#define EGL_DRM_BUFFER_USE_MESA           0x31d1     /* 12753 */\n#define EGL_DRM_BUFFER_FORMAT_ARGB32_MESA 0x31d2     /* 12754 */\n#define EGL_DRM_BUFFER_MESA               0x31d3     /* 12755 */\n#define EGL_DRM_BUFFER_STRIDE_MESA        0x31d4     /* 12756 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_EGL_MESA_DRM_IMAGE\ntypedef EGLBoolean (REGAL_CALL *PFNEGLEXPORTDRMIMAGEMESAPROC)(EGLDisplay dpy, EGLImageKHR image, EGLint *name, EGLint *handle, EGLint *stride);\ntypedef EGLImageKHR (REGAL_CALL *PFNEGLCREATEDRMIMAGEMESAPROC)(EGLDisplay dpy, const EGLint *attrib_list);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_EGL_MESA_DRM_IMAGE\n#define eglCreateDRMImageMESA               reglCreateDRMImageMESA\n#define eglExportDRMImageMESA               reglExportDRMImageMESA\n#endif\n\n#ifndef REGAL_NO_DECLARATION_EGL_MESA_DRM_IMAGE\nREGAL_DECL EGLBoolean REGAL_CALL eglExportDRMImageMESA(EGLDisplay dpy, EGLImageKHR image, EGLint *name, EGLint *handle, EGLint *stride);\nREGAL_DECL EGLImageKHR REGAL_CALL eglCreateDRMImageMESA(EGLDisplay dpy, const EGLint *attrib_list);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_EGL_MESA_DRM_IMAGE\nREGAL_DECL EGLBoolean REGAL_CALL plugin_eglExportDRMImageMESA(EGLDisplay dpy, EGLImageKHR image, EGLint *name, EGLint *handle, EGLint *stride);\nREGAL_DECL EGLImageKHR REGAL_CALL plugin_eglCreateDRMImageMESA(EGLDisplay dpy, const EGLint *attrib_list);\n#endif\n\n/**\n ** EGL_NV_coverage_sample\n **/\n\n#if (defined(EGL_NV_COVERAGE_SAMPLE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_EGL_NV_COVERAGE_SAMPLE)) && !defined(REGAL_NO_ENUM_EGL_NV_COVERAGE_SAMPLE)\n#define REGAL_NO_ENUM_EGL_NV_COVERAGE_SAMPLE\n#endif\n\n#if (defined(EGL_NV_COVERAGE_SAMPLE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_EGL_NV_COVERAGE_SAMPLE)) && !defined(REGAL_NO_TYPEDEF_EGL_NV_COVERAGE_SAMPLE)\n#define REGAL_NO_TYPEDEF_EGL_NV_COVERAGE_SAMPLE\n#endif\n\n#if (defined(EGL_NV_COVERAGE_SAMPLE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_EGL_NV_COVERAGE_SAMPLE)) && !defined(REGAL_NO_NAMESPACE_EGL_NV_COVERAGE_SAMPLE)\n#define REGAL_NO_NAMESPACE_EGL_NV_COVERAGE_SAMPLE\n#endif\n\n#if (defined(EGL_NV_COVERAGE_SAMPLE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_EGL_NV_COVERAGE_SAMPLE)) && !defined(REGAL_NO_PLUGIN_EGL_NV_COVERAGE_SAMPLE)\n#define REGAL_NO_PLUGIN_EGL_NV_COVERAGE_SAMPLE\n#endif\n\n#if (defined(EGL_NV_COVERAGE_SAMPLE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_EGL_NV_COVERAGE_SAMPLE)) && !defined(REGAL_NO_DECLARATION_EGL_NV_COVERAGE_SAMPLE)\n#define REGAL_NO_DECLARATION_EGL_NV_COVERAGE_SAMPLE\n#endif\n\n#ifndef EGL_NV_coverage_sample\n#define EGL_NV_coverage_sample 1\n#endif\n\n#ifndef REGAL_NO_ENUM_EGL_NV_COVERAGE_SAMPLE\n#define EGL_COVERAGE_BUFFERS_NV       0x30e0     /* 12512 */\n#define EGL_COVERAGE_SAMPLES_NV       0x30e1     /* 12513 */\n#define GL_COVERAGE_BUFFER_BIT_NV     0x8000     /* 32768 */\n#define GL_COVERAGE_COMPONENT_NV      0x8ed0     /* 36560 */\n#define GL_COVERAGE_COMPONENT4_NV     0x8ed1     /* 36561 */\n#define GL_COVERAGE_ATTACHMENT_NV     0x8ed2     /* 36562 */\n#define GL_COVERAGE_BUFFERS_NV        0x8ed3     /* 36563 */\n#define GL_COVERAGE_ALL_FRAGMENTS_NV  0x8ed5     /* 36565 */\n#define GL_COVERAGE_EDGE_FRAGMENTS_NV 0x8ed6     /* 36566 */\n#define GL_COVERAGE_AUTOMATIC_NV      0x8ed7     /* 36567 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_EGL_NV_COVERAGE_SAMPLE\ntypedef void (REGAL_CALL *PFNEGLCOVERAGEMASKNVPROC)(GLboolean mask);\ntypedef void (REGAL_CALL *PFNEGLCOVERAGEOPERATIONNVPROC)(GLenum operation);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_EGL_NV_COVERAGE_SAMPLE\n#define eglCoverageMaskNV                   reglCoverageMaskNV\n#define eglCoverageOperationNV              reglCoverageOperationNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_EGL_NV_COVERAGE_SAMPLE\nREGAL_DECL void REGAL_CALL eglCoverageMaskNV(GLboolean mask);\nREGAL_DECL void REGAL_CALL eglCoverageOperationNV(GLenum operation);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_EGL_NV_COVERAGE_SAMPLE\nREGAL_DECL void REGAL_CALL plugin_eglCoverageMaskNV(GLboolean mask);\nREGAL_DECL void REGAL_CALL plugin_eglCoverageOperationNV(GLenum operation);\n#endif\n\n/**\n ** EGL_NV_coverage_sample_resolve\n **/\n\n#if (defined(EGL_NV_COVERAGE_SAMPLE_RESOLVE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_EGL_NV_COVERAGE_SAMPLE_RESOLVE)) && !defined(REGAL_NO_ENUM_EGL_NV_COVERAGE_SAMPLE_RESOLVE)\n#define REGAL_NO_ENUM_EGL_NV_COVERAGE_SAMPLE_RESOLVE\n#endif\n\n#if (defined(EGL_NV_COVERAGE_SAMPLE_RESOLVE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_EGL_NV_COVERAGE_SAMPLE_RESOLVE)) && !defined(REGAL_NO_TYPEDEF_EGL_NV_COVERAGE_SAMPLE_RESOLVE)\n#define REGAL_NO_TYPEDEF_EGL_NV_COVERAGE_SAMPLE_RESOLVE\n#endif\n\n#if (defined(EGL_NV_COVERAGE_SAMPLE_RESOLVE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_EGL_NV_COVERAGE_SAMPLE_RESOLVE)) && !defined(REGAL_NO_NAMESPACE_EGL_NV_COVERAGE_SAMPLE_RESOLVE)\n#define REGAL_NO_NAMESPACE_EGL_NV_COVERAGE_SAMPLE_RESOLVE\n#endif\n\n#if (defined(EGL_NV_COVERAGE_SAMPLE_RESOLVE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_EGL_NV_COVERAGE_SAMPLE_RESOLVE)) && !defined(REGAL_NO_PLUGIN_EGL_NV_COVERAGE_SAMPLE_RESOLVE)\n#define REGAL_NO_PLUGIN_EGL_NV_COVERAGE_SAMPLE_RESOLVE\n#endif\n\n#if (defined(EGL_NV_COVERAGE_SAMPLE_RESOLVE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_EGL_NV_COVERAGE_SAMPLE_RESOLVE)) && !defined(REGAL_NO_DECLARATION_EGL_NV_COVERAGE_SAMPLE_RESOLVE)\n#define REGAL_NO_DECLARATION_EGL_NV_COVERAGE_SAMPLE_RESOLVE\n#endif\n\n#ifndef EGL_NV_coverage_sample_resolve\n#define EGL_NV_coverage_sample_resolve 1\n#endif\n\n#ifndef REGAL_NO_ENUM_EGL_NV_COVERAGE_SAMPLE_RESOLVE\n#define EGL_COVERAGE_SAMPLE_RESOLVE_NV         0x3131     /* 12593 */\n#define EGL_COVERAGE_SAMPLE_RESOLVE_DEFAULT_NV 0x3132     /* 12594 */\n#define EGL_COVERAGE_SAMPLE_RESOLVE_NONE_NV    0x3133     /* 12595 */\n#endif\n\n/**\n ** EGL_NV_post_sub_buffer\n **/\n\n#if (defined(EGL_NV_POST_SUB_BUFFER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_EGL_NV_POST_SUB_BUFFER)) && !defined(REGAL_NO_ENUM_EGL_NV_POST_SUB_BUFFER)\n#define REGAL_NO_ENUM_EGL_NV_POST_SUB_BUFFER\n#endif\n\n#if (defined(EGL_NV_POST_SUB_BUFFER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_EGL_NV_POST_SUB_BUFFER)) && !defined(REGAL_NO_TYPEDEF_EGL_NV_POST_SUB_BUFFER)\n#define REGAL_NO_TYPEDEF_EGL_NV_POST_SUB_BUFFER\n#endif\n\n#if (defined(EGL_NV_POST_SUB_BUFFER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_EGL_NV_POST_SUB_BUFFER)) && !defined(REGAL_NO_NAMESPACE_EGL_NV_POST_SUB_BUFFER)\n#define REGAL_NO_NAMESPACE_EGL_NV_POST_SUB_BUFFER\n#endif\n\n#if (defined(EGL_NV_POST_SUB_BUFFER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_EGL_NV_POST_SUB_BUFFER)) && !defined(REGAL_NO_PLUGIN_EGL_NV_POST_SUB_BUFFER)\n#define REGAL_NO_PLUGIN_EGL_NV_POST_SUB_BUFFER\n#endif\n\n#if (defined(EGL_NV_POST_SUB_BUFFER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_EGL_NV_POST_SUB_BUFFER)) && !defined(REGAL_NO_DECLARATION_EGL_NV_POST_SUB_BUFFER)\n#define REGAL_NO_DECLARATION_EGL_NV_POST_SUB_BUFFER\n#endif\n\n#ifndef EGL_NV_post_sub_buffer\n#define EGL_NV_post_sub_buffer 1\n#endif\n\n#ifndef REGAL_NO_ENUM_EGL_NV_POST_SUB_BUFFER\n#define EGL_POST_SUB_BUFFER_SUPPORTED_NV 0x30be /* 12478 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_EGL_NV_POST_SUB_BUFFER\ntypedef EGLBoolean (REGAL_CALL *PFNEGLPOSTSUBBUFFERNVPROC)(EGLDisplay dpy, EGLSurface surface, EGLint x, EGLint y, EGLint width, EGLint height);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_EGL_NV_POST_SUB_BUFFER\n#define eglPostSubBufferNV                  reglPostSubBufferNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_EGL_NV_POST_SUB_BUFFER\nREGAL_DECL EGLBoolean REGAL_CALL eglPostSubBufferNV(EGLDisplay dpy, EGLSurface surface, EGLint x, EGLint y, EGLint width, EGLint height);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_EGL_NV_POST_SUB_BUFFER\nREGAL_DECL EGLBoolean REGAL_CALL plugin_eglPostSubBufferNV(EGLDisplay dpy, EGLSurface surface, EGLint x, EGLint y, EGLint width, EGLint height);\n#endif\n\n/**\n ** EGL_NV_sync\n **/\n\n#if (defined(EGL_NV_SYNC) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_EGL_NV_SYNC)) && !defined(REGAL_NO_ENUM_EGL_NV_SYNC)\n#define REGAL_NO_ENUM_EGL_NV_SYNC\n#endif\n\n#if (defined(EGL_NV_SYNC) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_EGL_NV_SYNC)) && !defined(REGAL_NO_TYPEDEF_EGL_NV_SYNC)\n#define REGAL_NO_TYPEDEF_EGL_NV_SYNC\n#endif\n\n#if (defined(EGL_NV_SYNC) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_EGL_NV_SYNC)) && !defined(REGAL_NO_NAMESPACE_EGL_NV_SYNC)\n#define REGAL_NO_NAMESPACE_EGL_NV_SYNC\n#endif\n\n#if (defined(EGL_NV_SYNC) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_EGL_NV_SYNC)) && !defined(REGAL_NO_PLUGIN_EGL_NV_SYNC)\n#define REGAL_NO_PLUGIN_EGL_NV_SYNC\n#endif\n\n#if (defined(EGL_NV_SYNC) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_EGL_NV_SYNC)) && !defined(REGAL_NO_DECLARATION_EGL_NV_SYNC)\n#define REGAL_NO_DECLARATION_EGL_NV_SYNC\n#endif\n\n#ifndef EGL_NV_sync\n#define EGL_NV_sync 1\n#endif\n\n#ifndef REGAL_NO_ENUM_EGL_NV_SYNC\n#define EGL_SYNC_FLUSH_COMMANDS_BIT_NV      0x1\n#define EGL_SYNC_PRIOR_COMMANDS_COMPLETE_NV 0x30e6                 /* 12518 */\n#define EGL_SYNC_STATUS_NV                  0x30e7                 /* 12519 */\n#define EGL_SIGNALED_NV                     0x30e8                 /* 12520 */\n#define EGL_UNSIGNALED_NV                   0x30e9                 /* 12521 */\n#define EGL_ALREADY_SIGNALED_NV             0x30ea                 /* 12522 */\n#define EGL_TIMEOUT_EXPIRED_NV              0x30eb                 /* 12523 */\n#define EGL_CONDITION_SATISFIED_NV          0x30ec                 /* 12524 */\n#define EGL_SYNC_TYPE_NV                    0x30ed                 /* 12525 */\n#define EGL_SYNC_CONDITION_NV               0x30ee                 /* 12526 */\n#define EGL_SYNC_FENCE_NV                   0x30ef                 /* 12527 */\n#define EGL_FOREVER_NV                      0xffffffffffffffff     /* 18446744073709551615 */\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_EGL_NV_SYNC\ntypedef EGLBoolean (REGAL_CALL *PFNEGLDESTROYSYNCNVPROC)(EGLSyncNV GLsync);\ntypedef EGLBoolean (REGAL_CALL *PFNEGLFENCENVPROC)(EGLSyncNV GLsync);\ntypedef EGLBoolean (REGAL_CALL *PFNEGLGETSYNCATTRIBNVPROC)(EGLSyncNV GLsync, EGLint attribute, EGLint *value);\ntypedef EGLBoolean (REGAL_CALL *PFNEGLSIGNALSYNCNVPROC)(EGLSyncNV GLsync, EGLenum mode);\ntypedef EGLSyncNV (REGAL_CALL *PFNEGLCREATEFENCESYNCNVPROC)(EGLDisplay dpy, EGLenum condition, const EGLint *attrib_list);\ntypedef EGLint (REGAL_CALL *PFNEGLCLIENTWAITSYNCNVPROC)(EGLSyncNV GLsync, EGLint flags, EGLTimeNV timeout);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_EGL_NV_SYNC\n#define eglClientWaitSyncNV                 reglClientWaitSyncNV\n#define eglCreateFenceSyncNV                reglCreateFenceSyncNV\n#define eglDestroySyncNV                    reglDestroySyncNV\n#define eglFenceNV                          reglFenceNV\n#define eglGetSyncAttribNV                  reglGetSyncAttribNV\n#define eglSignalSyncNV                     reglSignalSyncNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_EGL_NV_SYNC\nREGAL_DECL EGLBoolean REGAL_CALL eglDestroySyncNV(EGLSyncNV GLsync);\nREGAL_DECL EGLBoolean REGAL_CALL eglFenceNV(EGLSyncNV GLsync);\nREGAL_DECL EGLBoolean REGAL_CALL eglGetSyncAttribNV(EGLSyncNV GLsync, EGLint attribute, EGLint *value);\nREGAL_DECL EGLBoolean REGAL_CALL eglSignalSyncNV(EGLSyncNV GLsync, EGLenum mode);\nREGAL_DECL EGLSyncNV REGAL_CALL eglCreateFenceSyncNV(EGLDisplay dpy, EGLenum condition, const EGLint *attrib_list);\nREGAL_DECL EGLint REGAL_CALL eglClientWaitSyncNV(EGLSyncNV GLsync, EGLint flags, EGLTimeNV timeout);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_EGL_NV_SYNC\nREGAL_DECL EGLBoolean REGAL_CALL plugin_eglDestroySyncNV(EGLSyncNV GLsync);\nREGAL_DECL EGLBoolean REGAL_CALL plugin_eglFenceNV(EGLSyncNV GLsync);\nREGAL_DECL EGLBoolean REGAL_CALL plugin_eglGetSyncAttribNV(EGLSyncNV GLsync, EGLint attribute, EGLint *value);\nREGAL_DECL EGLBoolean REGAL_CALL plugin_eglSignalSyncNV(EGLSyncNV GLsync, EGLenum mode);\nREGAL_DECL EGLSyncNV REGAL_CALL plugin_eglCreateFenceSyncNV(EGLDisplay dpy, EGLenum condition, const EGLint *attrib_list);\nREGAL_DECL EGLint REGAL_CALL plugin_eglClientWaitSyncNV(EGLSyncNV GLsync, EGLint flags, EGLTimeNV timeout);\n#endif\n\n/**\n ** EGL_NV_system_time\n **/\n\n#if (defined(EGL_NV_SYSTEM_TIME) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_EGL_NV_SYSTEM_TIME)) && !defined(REGAL_NO_ENUM_EGL_NV_SYSTEM_TIME)\n#define REGAL_NO_ENUM_EGL_NV_SYSTEM_TIME\n#endif\n\n#if (defined(EGL_NV_SYSTEM_TIME) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_EGL_NV_SYSTEM_TIME)) && !defined(REGAL_NO_TYPEDEF_EGL_NV_SYSTEM_TIME)\n#define REGAL_NO_TYPEDEF_EGL_NV_SYSTEM_TIME\n#endif\n\n#if (defined(EGL_NV_SYSTEM_TIME) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_EGL_NV_SYSTEM_TIME)) && !defined(REGAL_NO_NAMESPACE_EGL_NV_SYSTEM_TIME)\n#define REGAL_NO_NAMESPACE_EGL_NV_SYSTEM_TIME\n#endif\n\n#if (defined(EGL_NV_SYSTEM_TIME) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_EGL_NV_SYSTEM_TIME)) && !defined(REGAL_NO_PLUGIN_EGL_NV_SYSTEM_TIME)\n#define REGAL_NO_PLUGIN_EGL_NV_SYSTEM_TIME\n#endif\n\n#if (defined(EGL_NV_SYSTEM_TIME) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_EGL_NV_SYSTEM_TIME)) && !defined(REGAL_NO_DECLARATION_EGL_NV_SYSTEM_TIME)\n#define REGAL_NO_DECLARATION_EGL_NV_SYSTEM_TIME\n#endif\n\n#ifndef EGL_NV_system_time\n#define EGL_NV_system_time 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_EGL_NV_SYSTEM_TIME\ntypedef EGLuint64NV (REGAL_CALL *PFNEGLGETSYSTEMTIMEFREQUENCYNVPROC)(void);\ntypedef EGLuint64NV (REGAL_CALL *PFNEGLGETSYSTEMTIMENVPROC)(void);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_EGL_NV_SYSTEM_TIME\n#define eglGetSystemTimeFrequencyNV         reglGetSystemTimeFrequencyNV\n#define eglGetSystemTimeNV                  reglGetSystemTimeNV\n#endif\n\n#ifndef REGAL_NO_DECLARATION_EGL_NV_SYSTEM_TIME\nREGAL_DECL EGLuint64NV REGAL_CALL eglGetSystemTimeFrequencyNV(void);\nREGAL_DECL EGLuint64NV REGAL_CALL eglGetSystemTimeNV(void);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_EGL_NV_SYSTEM_TIME\nREGAL_DECL EGLuint64NV REGAL_CALL plugin_eglGetSystemTimeFrequencyNV(void);\nREGAL_DECL EGLuint64NV REGAL_CALL plugin_eglGetSystemTimeNV(void);\n#endif\n\n/**\n ** EGL_VERSION_1_0\n **/\n\n#if (defined(EGL_VERSION_1_0) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_EGL_VERSION_1_0)) && !defined(REGAL_NO_ENUM_EGL_VERSION_1_0)\n#define REGAL_NO_ENUM_EGL_VERSION_1_0\n#endif\n\n#if (defined(EGL_VERSION_1_0) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_EGL_VERSION_1_0)) && !defined(REGAL_NO_TYPEDEF_EGL_VERSION_1_0)\n#define REGAL_NO_TYPEDEF_EGL_VERSION_1_0\n#endif\n\n#if (defined(EGL_VERSION_1_0) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_EGL_VERSION_1_0)) && !defined(REGAL_NO_NAMESPACE_EGL_VERSION_1_0)\n#define REGAL_NO_NAMESPACE_EGL_VERSION_1_0\n#endif\n\n#if (defined(EGL_VERSION_1_0) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_EGL_VERSION_1_0)) && !defined(REGAL_NO_PLUGIN_EGL_VERSION_1_0)\n#define REGAL_NO_PLUGIN_EGL_VERSION_1_0\n#endif\n\n#if (defined(EGL_VERSION_1_0) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_EGL_VERSION_1_0)) && !defined(REGAL_NO_DECLARATION_EGL_VERSION_1_0)\n#define REGAL_NO_DECLARATION_EGL_VERSION_1_0\n#endif\n\n#ifndef EGL_VERSION_1_0\n#define EGL_VERSION_1_0 1\n#endif\n\n#ifndef REGAL_NO_ENUM_EGL_VERSION_1_0\n#define EGL_NO_CONTEXT                  ((EGLContext)0)\n#define EGL_NO_DISPLAY                  ((EGLDisplay)0)\n#define EGL_DEFAULT_DISPLAY             ((EGLNativeDisplayType)0)\n#define EGL_NO_SURFACE                  ((EGLSurface)0)\n#define EGL_DONT_CARE                   ((EGLint)-1)\n#define EGL_UNKNOWN                     ((EGLint)-1)\n#define EGL_FALSE                       0x0\n#define EGL_OPENGL_ES_BIT               0x1\n#define EGL_PBUFFER_BIT                 0x1\n#define EGL_TRUE                        0x1\n#define EGL_VERSION_1_3                 0x1\n#define EGL_VERSION_1_4                 0x1\n#define EGL_OPENVG_BIT                  0x2\n#define EGL_PIXMAP_BIT                  0x2\n#define EGL_VG_COLORSPACE_LINEAR_BIT    0x20                           /* 32 */\n#define EGL_MULTISAMPLE_RESOLVE_BOX_BIT 0x200                          /* 512 */\n#define EGL_DISPLAY_SCALING             0x2710                         /* 10000 */\n#define EGL_SUCCESS                     0x3000                         /* 12288 */\n#define EGL_NOT_INITIALIZED             0x3001                         /* 12289 */\n#define EGL_BAD_ACCESS                  0x3002                         /* 12290 */\n#define EGL_BAD_ALLOC                   0x3003                         /* 12291 */\n#define EGL_BAD_ATTRIBUTE               0x3004                         /* 12292 */\n#define EGL_BAD_CONFIG                  0x3005                         /* 12293 */\n#define EGL_BAD_CONTEXT                 0x3006                         /* 12294 */\n#define EGL_BAD_CURRENT_SURFACE         0x3007                         /* 12295 */\n#define EGL_BAD_DISPLAY                 0x3008                         /* 12296 */\n#define EGL_BAD_MATCH                   0x3009                         /* 12297 */\n#define EGL_BAD_NATIVE_PIXMAP           0x300a                         /* 12298 */\n#define EGL_BAD_NATIVE_WINDOW           0x300b                         /* 12299 */\n#define EGL_BAD_PARAMETER               0x300c                         /* 12300 */\n#define EGL_BAD_SURFACE                 0x300d                         /* 12301 */\n#define EGL_CONTEXT_LOST                0x300e                         /* 12302 */\n#define EGL_BUFFER_SIZE                 0x3020                         /* 12320 */\n#define EGL_ALPHA_SIZE                  0x3021                         /* 12321 */\n#define EGL_BLUE_SIZE                   0x3022                         /* 12322 */\n#define EGL_GREEN_SIZE                  0x3023                         /* 12323 */\n#define EGL_RED_SIZE                    0x3024                         /* 12324 */\n#define EGL_DEPTH_SIZE                  0x3025                         /* 12325 */\n#define EGL_STENCIL_SIZE                0x3026                         /* 12326 */\n#define EGL_CONFIG_CAVEAT               0x3027                         /* 12327 */\n#define EGL_CONFIG_ID                   0x3028                         /* 12328 */\n#define EGL_LEVEL                       0x3029                         /* 12329 */\n#define EGL_MAX_PBUFFER_HEIGHT          0x302a                         /* 12330 */\n#define EGL_MAX_PBUFFER_PIXELS          0x302b                         /* 12331 */\n#define EGL_MAX_PBUFFER_WIDTH           0x302c                         /* 12332 */\n#define EGL_NATIVE_RENDERABLE           0x302d                         /* 12333 */\n#define EGL_NATIVE_VISUAL_ID            0x302e                         /* 12334 */\n#define EGL_NATIVE_VISUAL_TYPE          0x302f                         /* 12335 */\n#define EGL_SAMPLES                     0x3031                         /* 12337 */\n#define EGL_SAMPLE_BUFFERS              0x3032                         /* 12338 */\n#define EGL_SURFACE_TYPE                0x3033                         /* 12339 */\n#define EGL_TRANSPARENT_TYPE            0x3034                         /* 12340 */\n#define EGL_TRANSPARENT_BLUE_VALUE      0x3035                         /* 12341 */\n#define EGL_TRANSPARENT_GREEN_VALUE     0x3036                         /* 12342 */\n#define EGL_TRANSPARENT_RED_VALUE       0x3037                         /* 12343 */\n#define EGL_NONE                        0x3038                         /* 12344 */\n#define EGL_BIND_TO_TEXTURE_RGB         0x3039                         /* 12345 */\n#define EGL_BIND_TO_TEXTURE_RGBA        0x303a                         /* 12346 */\n#define EGL_MIN_SWAP_INTERVAL           0x303b                         /* 12347 */\n#define EGL_MAX_SWAP_INTERVAL           0x303c                         /* 12348 */\n#define EGL_LUMINANCE_SIZE              0x303d                         /* 12349 */\n#define EGL_ALPHA_MASK_SIZE             0x303e                         /* 12350 */\n#define EGL_COLOR_BUFFER_TYPE           0x303f                         /* 12351 */\n#define EGL_RENDERABLE_TYPE             0x3040                         /* 12352 */\n#define EGL_MATCH_NATIVE_PIXMAP         0x3041                         /* 12353 */\n#define EGL_CONFORMANT                  0x3042                         /* 12354 */\n#define EGL_SLOW_CONFIG                 0x3050                         /* 12368 */\n#define EGL_NON_CONFORMANT_CONFIG       0x3051                         /* 12369 */\n#define EGL_TRANSPARENT_RGB             0x3052                         /* 12370 */\n#define EGL_VENDOR                      0x3053                         /* 12371 */\n#define EGL_VERSION                     0x3054                         /* 12372 */\n#define EGL_EXTENSIONS                  0x3055                         /* 12373 */\n#define EGL_HEIGHT                      0x3056                         /* 12374 */\n#define EGL_WIDTH                       0x3057                         /* 12375 */\n#define EGL_LARGEST_PBUFFER             0x3058                         /* 12376 */\n#define EGL_DRAW                        0x3059                         /* 12377 */\n#define EGL_READ                        0x305a                         /* 12378 */\n#define EGL_CORE_NATIVE_ENGINE          0x305b                         /* 12379 */\n#define EGL_NO_TEXTURE                  0x305c                         /* 12380 */\n#define EGL_TEXTURE_RGB                 0x305d                         /* 12381 */\n#define EGL_TEXTURE_RGBA                0x305e                         /* 12382 */\n#define EGL_TEXTURE_2D                  0x305f                         /* 12383 */\n#define EGL_TEXTURE_FORMAT              0x3080                         /* 12416 */\n#define EGL_TEXTURE_TARGET              0x3081                         /* 12417 */\n#define EGL_MIPMAP_TEXTURE              0x3082                         /* 12418 */\n#define EGL_MIPMAP_LEVEL                0x3083                         /* 12419 */\n#define EGL_BACK_BUFFER                 0x3084                         /* 12420 */\n#define EGL_SINGLE_BUFFER               0x3085                         /* 12421 */\n#define EGL_RENDER_BUFFER               0x3086                         /* 12422 */\n#define EGL_VG_COLORSPACE               0x3087                         /* 12423 */\n#define EGL_VG_ALPHA_FORMAT             0x3088                         /* 12424 */\n#define EGL_VG_COLORSPACE_sRGB          0x3089                         /* 12425 */\n#define EGL_VG_COLORSPACE_LINEAR        0x308a                         /* 12426 */\n#define EGL_VG_ALPHA_FORMAT_NONPRE      0x308b                         /* 12427 */\n#define EGL_VG_ALPHA_FORMAT_PRE         0x308c                         /* 12428 */\n#define EGL_CLIENT_APIS                 0x308d                         /* 12429 */\n#define EGL_RGB_BUFFER                  0x308e                         /* 12430 */\n#define EGL_LUMINANCE_BUFFER            0x308f                         /* 12431 */\n#define EGL_HORIZONTAL_RESOLUTION       0x3090                         /* 12432 */\n#define EGL_VERTICAL_RESOLUTION         0x3091                         /* 12433 */\n#define EGL_PIXEL_ASPECT_RATIO          0x3092                         /* 12434 */\n#define EGL_SWAP_BEHAVIOR               0x3093                         /* 12435 */\n#define EGL_BUFFER_PRESERVED            0x3094                         /* 12436 */\n#define EGL_BUFFER_DESTROYED            0x3095                         /* 12437 */\n#define EGL_OPENVG_IMAGE                0x3096                         /* 12438 */\n#define EGL_CONTEXT_CLIENT_TYPE         0x3097                         /* 12439 */\n#define EGL_CONTEXT_CLIENT_VERSION      0x3098                         /* 12440 */\n#define EGL_MULTISAMPLE_RESOLVE         0x3099                         /* 12441 */\n#define EGL_MULTISAMPLE_RESOLVE_DEFAULT 0x309a                         /* 12442 */\n#define EGL_MULTISAMPLE_RESOLVE_BOX     0x309b                         /* 12443 */\n#define EGL_OPENGL_ES_API               0x30a0                         /* 12448 */\n#define EGL_OPENVG_API                  0x30a1                         /* 12449 */\n#define EGL_OPENGL_API                  0x30a2                         /* 12450 */\n#define EGL_OPENGL_ES2_BIT              0x4\n#define EGL_WINDOW_BIT                  0x4\n#define EGL_VG_ALPHA_FORMAT_PRE_BIT     0x40                           /* 64 */\n#define EGL_SWAP_BEHAVIOR_PRESERVED_BIT 0x400                          /* 1024 */\n#define EGL_OPENGL_BIT                  0x8\n#define EGLAPIENTRYP                    EGLAPIENTRY                    *\n#define EGL_ALPHA_FORMAT                EGL_VG_ALPHA_FORMAT\n#define EGL_ALPHA_FORMAT_NONPRE         EGL_VG_ALPHA_FORMAT_NONPRE\n#define EGL_ALPHA_FORMAT_PRE            EGL_VG_ALPHA_FORMAT_PRE\n#define EGL_COLORSPACE                  EGL_VG_COLORSPACE\n#define EGL_COLORSPACE_LINEAR           EGL_VG_COLORSPACE_LINEAR\n#define EGL_COLORSPACE_sRGB             EGL_VG_COLORSPACE_sRGB\n#define EGLAPI                          KHRONOS_APICALL\n#define EGLAPIENTRY                     KHRONOS_APIENTRY\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_EGL_VERSION_1_0\ntypedef EGLBoolean (REGAL_CALL *PFNEGLCHOOSECONFIGPROC)(EGLDisplay dpy, const EGLint *attrib_list, EGLConfig *configs, EGLint config_size, EGLint *num_config);\ntypedef EGLBoolean (REGAL_CALL *PFNEGLCOPYBUFFERSPROC)(EGLDisplay dpy, EGLSurface surface, EGLNativePixmapType target);\ntypedef EGLBoolean (REGAL_CALL *PFNEGLDESTROYCONTEXTPROC)(EGLDisplay dpy, EGLContext ctx);\ntypedef EGLBoolean (REGAL_CALL *PFNEGLDESTROYSURFACEPROC)(EGLDisplay dpy, EGLSurface surface);\ntypedef EGLBoolean (REGAL_CALL *PFNEGLGETCONFIGATTRIBPROC)(EGLDisplay dpy, EGLConfig config, EGLint attribute, EGLint *value);\ntypedef EGLBoolean (REGAL_CALL *PFNEGLGETCONFIGSPROC)(EGLDisplay dpy, EGLConfig *configs, EGLint config_size, EGLint *num_config);\ntypedef EGLBoolean (REGAL_CALL *PFNEGLINITIALIZEPROC)(EGLDisplay dpy, EGLint *major, EGLint *minor);\ntypedef EGLBoolean (REGAL_CALL *PFNEGLMAKECURRENTPROC)(EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLContext ctx);\ntypedef EGLBoolean (REGAL_CALL *PFNEGLQUERYCONTEXTPROC)(EGLDisplay dpy, EGLContext ctx, EGLint attribute, EGLint *value);\ntypedef EGLBoolean (REGAL_CALL *PFNEGLQUERYSURFACEPROC)(EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint *value);\ntypedef EGLBoolean (REGAL_CALL *PFNEGLSWAPBUFFERSPROC)(EGLDisplay dpy, EGLSurface surface);\ntypedef EGLBoolean (REGAL_CALL *PFNEGLTERMINATEPROC)(EGLDisplay dpy);\ntypedef EGLBoolean (REGAL_CALL *PFNEGLWAITGLPROC)(void);\ntypedef EGLBoolean (REGAL_CALL *PFNEGLWAITNATIVEPROC)(EGLint engine);\ntypedef EGLContext (REGAL_CALL *PFNEGLCREATECONTEXTPROC)(EGLDisplay dpy, EGLConfig config, EGLContext share_context, const EGLint *attrib_list);\ntypedef EGLContext (REGAL_CALL *PFNEGLGETCURRENTCONTEXTPROC)(void);\ntypedef EGLDisplay (REGAL_CALL *PFNEGLGETCURRENTDISPLAYPROC)(void);\ntypedef EGLDisplay (REGAL_CALL *PFNEGLGETDISPLAYPROC)(EGLNativeDisplayType display_id);\ntypedef EGLSurface (REGAL_CALL *PFNEGLCREATEPBUFFERSURFACEPROC)(EGLDisplay dpy, EGLConfig config, const EGLint *attrib_list);\ntypedef EGLSurface (REGAL_CALL *PFNEGLCREATEPIXMAPSURFACEPROC)(EGLDisplay dpy, EGLConfig config, EGLNativePixmapType pixmap, const EGLint *attrib_list);\ntypedef EGLSurface (REGAL_CALL *PFNEGLCREATEWINDOWSURFACEPROC)(EGLDisplay dpy, EGLConfig config, EGLNativeWindowType win, const EGLint *attrib_list);\ntypedef EGLSurface (REGAL_CALL *PFNEGLGETCURRENTSURFACEPROC)(EGLint readdraw);\ntypedef EGLint (REGAL_CALL *PFNEGLGETERRORPROC)(void);\ntypedef __eglMustCastToProperFunctionPointerType (REGAL_CALL *PFNEGLGETPROCADDRESSPROC)(const char *procname);\ntypedef const char *(REGAL_CALL *PFNEGLQUERYSTRINGPROC)(EGLDisplay dpy, EGLint name);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_EGL_VERSION_1_0\n#define eglChooseConfig                     reglChooseConfig\n#define eglCopyBuffers                      reglCopyBuffers\n#define eglCreateContext                    reglCreateContext\n#define eglCreatePbufferSurface             reglCreatePbufferSurface\n#define eglCreatePixmapSurface              reglCreatePixmapSurface\n#define eglCreateWindowSurface              reglCreateWindowSurface\n#define eglDestroyContext                   reglDestroyContext\n#define eglDestroySurface                   reglDestroySurface\n#define eglGetConfigAttrib                  reglGetConfigAttrib\n#define eglGetConfigs                       reglGetConfigs\n#define eglGetCurrentContext                reglGetCurrentContext\n#define eglGetCurrentDisplay                reglGetCurrentDisplay\n#define eglGetCurrentSurface                reglGetCurrentSurface\n#define eglGetDisplay                       reglGetDisplay\n#define eglGetError                         reglGetError\n#define eglGetProcAddress                   reglGetProcAddress\n#define eglInitialize                       reglInitialize\n#define eglMakeCurrent                      reglMakeCurrent\n#define eglQueryContext                     reglQueryContext\n#define eglQueryString                      reglQueryString\n#define eglQuerySurface                     reglQuerySurface\n#define eglSwapBuffers                      reglSwapBuffers\n#define eglTerminate                        reglTerminate\n#define eglWaitGL                           reglWaitGL\n#define eglWaitNative                       reglWaitNative\n#endif\n\n#ifndef REGAL_NO_DECLARATION_EGL_VERSION_1_0\nREGAL_DECL EGLBoolean REGAL_CALL eglChooseConfig(EGLDisplay dpy, const EGLint *attrib_list, EGLConfig *configs, EGLint config_size, EGLint *num_config);\nREGAL_DECL EGLBoolean REGAL_CALL eglCopyBuffers(EGLDisplay dpy, EGLSurface surface, EGLNativePixmapType target);\nREGAL_DECL EGLBoolean REGAL_CALL eglDestroyContext(EGLDisplay dpy, EGLContext ctx);\nREGAL_DECL EGLBoolean REGAL_CALL eglDestroySurface(EGLDisplay dpy, EGLSurface surface);\nREGAL_DECL EGLBoolean REGAL_CALL eglGetConfigAttrib(EGLDisplay dpy, EGLConfig config, EGLint attribute, EGLint *value);\nREGAL_DECL EGLBoolean REGAL_CALL eglGetConfigs(EGLDisplay dpy, EGLConfig *configs, EGLint config_size, EGLint *num_config);\nREGAL_DECL EGLBoolean REGAL_CALL eglInitialize(EGLDisplay dpy, EGLint *major, EGLint *minor);\nREGAL_DECL EGLBoolean REGAL_CALL eglMakeCurrent(EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLContext ctx);\nREGAL_DECL EGLBoolean REGAL_CALL eglQueryContext(EGLDisplay dpy, EGLContext ctx, EGLint attribute, EGLint *value);\nREGAL_DECL EGLBoolean REGAL_CALL eglQuerySurface(EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint *value);\nREGAL_DECL EGLBoolean REGAL_CALL eglSwapBuffers(EGLDisplay dpy, EGLSurface surface);\nREGAL_DECL EGLBoolean REGAL_CALL eglTerminate(EGLDisplay dpy);\nREGAL_DECL EGLBoolean REGAL_CALL eglWaitGL(void);\nREGAL_DECL EGLBoolean REGAL_CALL eglWaitNative(EGLint engine);\nREGAL_DECL EGLContext REGAL_CALL eglCreateContext(EGLDisplay dpy, EGLConfig config, EGLContext share_context, const EGLint *attrib_list);\nREGAL_DECL EGLContext REGAL_CALL eglGetCurrentContext(void);\nREGAL_DECL EGLDisplay REGAL_CALL eglGetCurrentDisplay(void);\nREGAL_DECL EGLDisplay REGAL_CALL eglGetDisplay(EGLNativeDisplayType display_id);\nREGAL_DECL EGLSurface REGAL_CALL eglCreatePbufferSurface(EGLDisplay dpy, EGLConfig config, const EGLint *attrib_list);\nREGAL_DECL EGLSurface REGAL_CALL eglCreatePixmapSurface(EGLDisplay dpy, EGLConfig config, EGLNativePixmapType pixmap, const EGLint *attrib_list);\nREGAL_DECL EGLSurface REGAL_CALL eglCreateWindowSurface(EGLDisplay dpy, EGLConfig config, EGLNativeWindowType win, const EGLint *attrib_list);\nREGAL_DECL EGLSurface REGAL_CALL eglGetCurrentSurface(EGLint readdraw);\nREGAL_DECL EGLint REGAL_CALL eglGetError(void);\nREGAL_DECL __eglMustCastToProperFunctionPointerType REGAL_CALL eglGetProcAddress(const char *procname);\nREGAL_DECL const char *REGAL_CALL eglQueryString(EGLDisplay dpy, EGLint name);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_EGL_VERSION_1_0\nREGAL_DECL EGLBoolean REGAL_CALL plugin_eglChooseConfig(EGLDisplay dpy, const EGLint *attrib_list, EGLConfig *configs, EGLint config_size, EGLint *num_config);\nREGAL_DECL EGLBoolean REGAL_CALL plugin_eglCopyBuffers(EGLDisplay dpy, EGLSurface surface, EGLNativePixmapType target);\nREGAL_DECL EGLBoolean REGAL_CALL plugin_eglDestroyContext(EGLDisplay dpy, EGLContext ctx);\nREGAL_DECL EGLBoolean REGAL_CALL plugin_eglDestroySurface(EGLDisplay dpy, EGLSurface surface);\nREGAL_DECL EGLBoolean REGAL_CALL plugin_eglGetConfigAttrib(EGLDisplay dpy, EGLConfig config, EGLint attribute, EGLint *value);\nREGAL_DECL EGLBoolean REGAL_CALL plugin_eglGetConfigs(EGLDisplay dpy, EGLConfig *configs, EGLint config_size, EGLint *num_config);\nREGAL_DECL EGLBoolean REGAL_CALL plugin_eglInitialize(EGLDisplay dpy, EGLint *major, EGLint *minor);\nREGAL_DECL EGLBoolean REGAL_CALL plugin_eglMakeCurrent(EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLContext ctx);\nREGAL_DECL EGLBoolean REGAL_CALL plugin_eglQueryContext(EGLDisplay dpy, EGLContext ctx, EGLint attribute, EGLint *value);\nREGAL_DECL EGLBoolean REGAL_CALL plugin_eglQuerySurface(EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint *value);\nREGAL_DECL EGLBoolean REGAL_CALL plugin_eglSwapBuffers(EGLDisplay dpy, EGLSurface surface);\nREGAL_DECL EGLBoolean REGAL_CALL plugin_eglTerminate(EGLDisplay dpy);\nREGAL_DECL EGLBoolean REGAL_CALL plugin_eglWaitGL(void);\nREGAL_DECL EGLBoolean REGAL_CALL plugin_eglWaitNative(EGLint engine);\nREGAL_DECL EGLContext REGAL_CALL plugin_eglCreateContext(EGLDisplay dpy, EGLConfig config, EGLContext share_context, const EGLint *attrib_list);\nREGAL_DECL EGLContext REGAL_CALL plugin_eglGetCurrentContext(void);\nREGAL_DECL EGLDisplay REGAL_CALL plugin_eglGetCurrentDisplay(void);\nREGAL_DECL EGLDisplay REGAL_CALL plugin_eglGetDisplay(EGLNativeDisplayType display_id);\nREGAL_DECL EGLSurface REGAL_CALL plugin_eglCreatePbufferSurface(EGLDisplay dpy, EGLConfig config, const EGLint *attrib_list);\nREGAL_DECL EGLSurface REGAL_CALL plugin_eglCreatePixmapSurface(EGLDisplay dpy, EGLConfig config, EGLNativePixmapType pixmap, const EGLint *attrib_list);\nREGAL_DECL EGLSurface REGAL_CALL plugin_eglCreateWindowSurface(EGLDisplay dpy, EGLConfig config, EGLNativeWindowType win, const EGLint *attrib_list);\nREGAL_DECL EGLSurface REGAL_CALL plugin_eglGetCurrentSurface(EGLint readdraw);\nREGAL_DECL EGLint REGAL_CALL plugin_eglGetError(void);\nREGAL_DECL __eglMustCastToProperFunctionPointerType REGAL_CALL plugin_eglGetProcAddress(const char *procname);\nREGAL_DECL const char *REGAL_CALL plugin_eglQueryString(EGLDisplay dpy, EGLint name);\n#endif\n\n/**\n ** EGL_VERSION_1_1\n **/\n\n#if (defined(EGL_VERSION_1_1) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_EGL_VERSION_1_1)) && !defined(REGAL_NO_ENUM_EGL_VERSION_1_1)\n#define REGAL_NO_ENUM_EGL_VERSION_1_1\n#endif\n\n#if (defined(EGL_VERSION_1_1) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_EGL_VERSION_1_1)) && !defined(REGAL_NO_TYPEDEF_EGL_VERSION_1_1)\n#define REGAL_NO_TYPEDEF_EGL_VERSION_1_1\n#endif\n\n#if (defined(EGL_VERSION_1_1) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_EGL_VERSION_1_1)) && !defined(REGAL_NO_NAMESPACE_EGL_VERSION_1_1)\n#define REGAL_NO_NAMESPACE_EGL_VERSION_1_1\n#endif\n\n#if (defined(EGL_VERSION_1_1) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_EGL_VERSION_1_1)) && !defined(REGAL_NO_PLUGIN_EGL_VERSION_1_1)\n#define REGAL_NO_PLUGIN_EGL_VERSION_1_1\n#endif\n\n#if (defined(EGL_VERSION_1_1) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_EGL_VERSION_1_1)) && !defined(REGAL_NO_DECLARATION_EGL_VERSION_1_1)\n#define REGAL_NO_DECLARATION_EGL_VERSION_1_1\n#endif\n\n#ifndef EGL_VERSION_1_1\n#define EGL_VERSION_1_1 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_EGL_VERSION_1_1\ntypedef EGLBoolean (REGAL_CALL *PFNEGLBINDTEXIMAGEPROC)(EGLDisplay dpy, EGLSurface surface, EGLint buffer);\ntypedef EGLBoolean (REGAL_CALL *PFNEGLRELEASETEXIMAGEPROC)(EGLDisplay dpy, EGLSurface surface, EGLint buffer);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_EGL_VERSION_1_1\n#define eglBindTexImage                     reglBindTexImage\n#define eglReleaseTexImage                  reglReleaseTexImage\n#endif\n\n#ifndef REGAL_NO_DECLARATION_EGL_VERSION_1_1\nREGAL_DECL EGLBoolean REGAL_CALL eglBindTexImage(EGLDisplay dpy, EGLSurface surface, EGLint buffer);\nREGAL_DECL EGLBoolean REGAL_CALL eglReleaseTexImage(EGLDisplay dpy, EGLSurface surface, EGLint buffer);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_EGL_VERSION_1_1\nREGAL_DECL EGLBoolean REGAL_CALL plugin_eglBindTexImage(EGLDisplay dpy, EGLSurface surface, EGLint buffer);\nREGAL_DECL EGLBoolean REGAL_CALL plugin_eglReleaseTexImage(EGLDisplay dpy, EGLSurface surface, EGLint buffer);\n#endif\n\n/**\n ** EGL_VERSION_1_2\n **/\n\n#if (defined(EGL_VERSION_1_2) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_EGL_VERSION_1_2)) && !defined(REGAL_NO_ENUM_EGL_VERSION_1_2)\n#define REGAL_NO_ENUM_EGL_VERSION_1_2\n#endif\n\n#if (defined(EGL_VERSION_1_2) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_EGL_VERSION_1_2)) && !defined(REGAL_NO_TYPEDEF_EGL_VERSION_1_2)\n#define REGAL_NO_TYPEDEF_EGL_VERSION_1_2\n#endif\n\n#if (defined(EGL_VERSION_1_2) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_EGL_VERSION_1_2)) && !defined(REGAL_NO_NAMESPACE_EGL_VERSION_1_2)\n#define REGAL_NO_NAMESPACE_EGL_VERSION_1_2\n#endif\n\n#if (defined(EGL_VERSION_1_2) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_EGL_VERSION_1_2)) && !defined(REGAL_NO_PLUGIN_EGL_VERSION_1_2)\n#define REGAL_NO_PLUGIN_EGL_VERSION_1_2\n#endif\n\n#if (defined(EGL_VERSION_1_2) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_EGL_VERSION_1_2)) && !defined(REGAL_NO_DECLARATION_EGL_VERSION_1_2)\n#define REGAL_NO_DECLARATION_EGL_VERSION_1_2\n#endif\n\n#ifndef EGL_VERSION_1_2\n#define EGL_VERSION_1_2 1\n#endif\n\n#ifndef REGAL_NO_TYPEDEF_EGL_VERSION_1_2\ntypedef EGLBoolean (REGAL_CALL *PFNEGLBINDAPIPROC)(EGLenum api);\ntypedef EGLBoolean (REGAL_CALL *PFNEGLRELEASETHREADPROC)(void);\ntypedef EGLBoolean (REGAL_CALL *PFNEGLSURFACEATTRIBPROC)(EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint value);\ntypedef EGLBoolean (REGAL_CALL *PFNEGLSWAPINTERVALPROC)(EGLDisplay dpy, EGLint interval);\ntypedef EGLBoolean (REGAL_CALL *PFNEGLWAITCLIENTPROC)(void);\ntypedef EGLSurface (REGAL_CALL *PFNEGLCREATEPBUFFERFROMCLIENTBUFFERPROC)(EGLDisplay dpy, EGLenum buftype, EGLClientBuffer buffer, EGLConfig config, const EGLint *attrib_list);\ntypedef EGLenum (REGAL_CALL *PFNEGLQUERYAPIPROC)(void);\n#endif\n\n#ifndef REGAL_NO_NAMESPACE_EGL_VERSION_1_2\n#define eglBindAPI                          reglBindAPI\n#define eglCreatePbufferFromClientBuffer    reglCreatePbufferFromClientBuffer\n#define eglQueryAPI                         reglQueryAPI\n#define eglReleaseThread                    reglReleaseThread\n#define eglSurfaceAttrib                    reglSurfaceAttrib\n#define eglSwapInterval                     reglSwapInterval\n#define eglWaitClient                       reglWaitClient\n#endif\n\n#ifndef REGAL_NO_DECLARATION_EGL_VERSION_1_2\nREGAL_DECL EGLBoolean REGAL_CALL eglBindAPI(EGLenum api);\nREGAL_DECL EGLBoolean REGAL_CALL eglReleaseThread(void);\nREGAL_DECL EGLBoolean REGAL_CALL eglSurfaceAttrib(EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint value);\nREGAL_DECL EGLBoolean REGAL_CALL eglSwapInterval(EGLDisplay dpy, EGLint interval);\nREGAL_DECL EGLBoolean REGAL_CALL eglWaitClient(void);\nREGAL_DECL EGLSurface REGAL_CALL eglCreatePbufferFromClientBuffer(EGLDisplay dpy, EGLenum buftype, EGLClientBuffer buffer, EGLConfig config, const EGLint *attrib_list);\nREGAL_DECL EGLenum REGAL_CALL eglQueryAPI(void);\n#endif\n\n#ifndef REGAL_NO_PLUGIN_EGL_VERSION_1_2\nREGAL_DECL EGLBoolean REGAL_CALL plugin_eglBindAPI(EGLenum api);\nREGAL_DECL EGLBoolean REGAL_CALL plugin_eglReleaseThread(void);\nREGAL_DECL EGLBoolean REGAL_CALL plugin_eglSurfaceAttrib(EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint value);\nREGAL_DECL EGLBoolean REGAL_CALL plugin_eglSwapInterval(EGLDisplay dpy, EGLint interval);\nREGAL_DECL EGLBoolean REGAL_CALL plugin_eglWaitClient(void);\nREGAL_DECL EGLSurface REGAL_CALL plugin_eglCreatePbufferFromClientBuffer(EGLDisplay dpy, EGLenum buftype, EGLClientBuffer buffer, EGLConfig config, const EGLint *attrib_list);\nREGAL_DECL EGLenum REGAL_CALL plugin_eglQueryAPI(void);\n#endif\n\n/**\n ** GL_NV_depth_nonlinear\n **/\n\n#if (defined(GL_NV_DEPTH_NONLINEAR) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_NV_DEPTH_NONLINEAR)) && !defined(REGAL_NO_ENUM_GL_NV_DEPTH_NONLINEAR)\n#define REGAL_NO_ENUM_GL_NV_DEPTH_NONLINEAR\n#endif\n\n#if (defined(GL_NV_DEPTH_NONLINEAR) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_NV_DEPTH_NONLINEAR)) && !defined(REGAL_NO_TYPEDEF_GL_NV_DEPTH_NONLINEAR)\n#define REGAL_NO_TYPEDEF_GL_NV_DEPTH_NONLINEAR\n#endif\n\n#if (defined(GL_NV_DEPTH_NONLINEAR) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_NV_DEPTH_NONLINEAR)) && !defined(REGAL_NO_NAMESPACE_GL_NV_DEPTH_NONLINEAR)\n#define REGAL_NO_NAMESPACE_GL_NV_DEPTH_NONLINEAR\n#endif\n\n#if (defined(GL_NV_DEPTH_NONLINEAR) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_NV_DEPTH_NONLINEAR)) && !defined(REGAL_NO_PLUGIN_GL_NV_DEPTH_NONLINEAR)\n#define REGAL_NO_PLUGIN_GL_NV_DEPTH_NONLINEAR\n#endif\n\n#if (defined(GL_NV_DEPTH_NONLINEAR) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_NV_DEPTH_NONLINEAR)) && !defined(REGAL_NO_DECLARATION_GL_NV_DEPTH_NONLINEAR)\n#define REGAL_NO_DECLARATION_GL_NV_DEPTH_NONLINEAR\n#endif\n\n#ifndef GL_NV_depth_nonlinear\n#define GL_NV_depth_nonlinear 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_NV_DEPTH_NONLINEAR\n#define EGL_DEPTH_ENCODING_NONE_NV        0x0\n#define EGL_DEPTH_ENCODING_NV             0x30e2     /* 12514 */\n#define EGL_DEPTH_ENCODING_NONLINEAR_NV   0x30e3     /* 12515 */\n#define GL_DEPTH_COMPONENT16_NONLINEAR_NV 0x8e2c     /* 36396 */\n#endif\n\n/**\n ** GL_VG_KHR_EGL_sync\n **/\n\n#if (defined(GL_VG_KHR_EGL_SYNC) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GL_VG_KHR_EGL_SYNC)) && !defined(REGAL_NO_ENUM_GL_VG_KHR_EGL_SYNC)\n#define REGAL_NO_ENUM_GL_VG_KHR_EGL_SYNC\n#endif\n\n#if (defined(GL_VG_KHR_EGL_SYNC) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GL_VG_KHR_EGL_SYNC)) && !defined(REGAL_NO_TYPEDEF_GL_VG_KHR_EGL_SYNC)\n#define REGAL_NO_TYPEDEF_GL_VG_KHR_EGL_SYNC\n#endif\n\n#if (defined(GL_VG_KHR_EGL_SYNC) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GL_VG_KHR_EGL_SYNC)) && !defined(REGAL_NO_NAMESPACE_GL_VG_KHR_EGL_SYNC)\n#define REGAL_NO_NAMESPACE_GL_VG_KHR_EGL_SYNC\n#endif\n\n#if (defined(GL_VG_KHR_EGL_SYNC) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GL_VG_KHR_EGL_SYNC)) && !defined(REGAL_NO_PLUGIN_GL_VG_KHR_EGL_SYNC)\n#define REGAL_NO_PLUGIN_GL_VG_KHR_EGL_SYNC\n#endif\n\n#if (defined(GL_VG_KHR_EGL_SYNC) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GL_VG_KHR_EGL_SYNC)) && !defined(REGAL_NO_DECLARATION_GL_VG_KHR_EGL_SYNC)\n#define REGAL_NO_DECLARATION_GL_VG_KHR_EGL_SYNC\n#endif\n\n#ifndef GL_VG_KHR_EGL_sync\n#define GL_VG_KHR_EGL_sync 1\n#endif\n\n#ifndef REGAL_NO_ENUM_GL_VG_KHR_EGL_SYNC\n#define EGL_SYNC_FLUSH_COMMANDS_BIT_KHR      0x1\n#define EGL_SYNC_PRIOR_COMMANDS_COMPLETE_KHR 0x30f0                 /* 12528 */\n#define EGL_SYNC_STATUS_KHR                  0x30f1                 /* 12529 */\n#define EGL_SIGNALED_KHR                     0x30f2                 /* 12530 */\n#define EGL_UNSIGNALED_KHR                   0x30f3                 /* 12531 */\n#define EGL_TIMEOUT_EXPIRED_KHR              0x30f5                 /* 12533 */\n#define EGL_CONDITION_SATISFIED_KHR          0x30f6                 /* 12534 */\n#define EGL_SYNC_TYPE_KHR                    0x30f7                 /* 12535 */\n#define EGL_SYNC_CONDITION_KHR               0x30f8                 /* 12536 */\n#define EGL_SYNC_FENCE_KHR                   0x30f9                 /* 12537 */\n#define EGL_FOREVER_KHR                      0xffffffffffffffff     /* 18446744073709551615 */\n#endif\n\n#endif /* REGAL_SYS_EGL */\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif /* __gl_h_ etc */\n#endif /* __REGAL_H__ */\n\n#ifndef __REGAL_API_H\n#define __REGAL_API_H\n\n#if REGAL_SYS_PPAPI\n#include <stdint.h>\nstruct PPB_OpenGLES2;\ntypedef int32_t RegalSystemContext;\n#else\ntypedef void * RegalSystemContext;\n#endif\n\n/* Regal-specific API... try to keep this minimal\n   this is a seperate include guard to work nicely with RegalGLEW.h\n*/\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\ntypedef void (*RegalErrorCallback)(GLenum);\nREGAL_DECL RegalErrorCallback RegalSetErrorCallback( RegalErrorCallback callback );\n\n/*  RegalConfigure is optional.\n */\n\nREGAL_DECL void RegalConfigure(const char *json);\n\n/*  RegalShareContext is optional.  It must be called before any call\n *  to RegalMakeCurrent.  It specifies that a context is sharing state\n *  with one already known to Regal.\n */\n\nREGAL_DECL void RegalShareContext(RegalSystemContext ctx, RegalSystemContext other);\n\n/*  RegalMakeCurrent\n *\n */\n\n#if REGAL_SYS_PPAPI\nREGAL_DECL void RegalMakeCurrent( RegalSystemContext ctx, struct PPB_OpenGLES2 *ppb_interface );\n#else\nREGAL_DECL void RegalMakeCurrent( RegalSystemContext ctx );\n#endif\n\n/*  RegalDestroyContext - release resources used by Regal context.\n *\n */\n\nREGAL_DECL void RegalDestroyContext(RegalSystemContext ctx);\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif /* __REGAL_API_H */\n"
  },
  {
    "path": "external/stb_image/stb_image.h",
    "content": "/* stb_image - v2.16 - public domain image loader - http://nothings.org/stb_image.h\n                                     no warranty implied; use at your own risk\n\n   Do this:\n      #define STB_IMAGE_IMPLEMENTATION\n   before you include this file in *one* C or C++ file to create the implementation.\n\n   // i.e. it should look like this:\n   #include ...\n   #include ...\n   #include ...\n   #define STB_IMAGE_IMPLEMENTATION\n   #include \"stb_image.h\"\n\n   You can #define STBI_ASSERT(x) before the #include to avoid using assert.h.\n   And #define STBI_MALLOC, STBI_REALLOC, and STBI_FREE to avoid using malloc,realloc,free\n\n\n   QUICK NOTES:\n      Primarily of interest to game developers and other people who can\n          avoid problematic images and only need the trivial interface\n\n      JPEG baseline & progressive (12 bpc/arithmetic not supported, same as stock IJG lib)\n      PNG 1/2/4/8/16-bit-per-channel\n\n      TGA (not sure what subset, if a subset)\n      BMP non-1bpp, non-RLE\n      PSD (composited view only, no extra channels, 8/16 bit-per-channel)\n\n      GIF (*comp always reports as 4-channel)\n      HDR (radiance rgbE format)\n      PIC (Softimage PIC)\n      PNM (PPM and PGM binary only)\n\n      Animated GIF still needs a proper API, but here's one way to do it:\n          http://gist.github.com/urraka/685d9a6340b26b830d49\n\n      - decode from memory or through FILE (define STBI_NO_STDIO to remove code)\n      - decode from arbitrary I/O callbacks\n      - SIMD acceleration on x86/x64 (SSE2) and ARM (NEON)\n\n   Full documentation under \"DOCUMENTATION\" below.\n\n\nLICENSE\n\n  See end of file for license information.\n\nRECENT REVISION HISTORY:\n\n      2.16  (2017-07-23) all functions have 16-bit variants; optimizations; bugfixes\n      2.15  (2017-03-18) fix png-1,2,4; all Imagenet JPGs; no runtime SSE detection on GCC\n      2.14  (2017-03-03) remove deprecated STBI_JPEG_OLD; fixes for Imagenet JPGs\n      2.13  (2016-12-04) experimental 16-bit API, only for PNG so far; fixes\n      2.12  (2016-04-02) fix typo in 2.11 PSD fix that caused crashes\n      2.11  (2016-04-02) 16-bit PNGS; enable SSE2 in non-gcc x64\n                         RGB-format JPEG; remove white matting in PSD;\n                         allocate large structures on the stack;\n                         correct channel count for PNG & BMP\n      2.10  (2016-01-22) avoid warning introduced in 2.09\n      2.09  (2016-01-16) 16-bit TGA; comments in PNM files; STBI_REALLOC_SIZED\n\n   See end of file for full revision history.\n\n\n ============================    Contributors    =========================\n\n Image formats                          Extensions, features\n    Sean Barrett (jpeg, png, bmp)          Jetro Lauha (stbi_info)\n    Nicolas Schulz (hdr, psd)              Martin \"SpartanJ\" Golini (stbi_info)\n    Jonathan Dummer (tga)                  James \"moose2000\" Brown (iPhone PNG)\n    Jean-Marc Lienher (gif)                Ben \"Disch\" Wenger (io callbacks)\n    Tom Seddon (pic)                       Omar Cornut (1/2/4-bit PNG)\n    Thatcher Ulrich (psd)                  Nicolas Guillemot (vertical flip)\n    Ken Miller (pgm, ppm)                  Richard Mitton (16-bit PSD)\n    github:urraka (animated gif)           Junggon Kim (PNM comments)\n                                           Daniel Gibson (16-bit TGA)\n                                           socks-the-fox (16-bit PNG)\n                                           Jeremy Sawicki (handle all ImageNet JPGs)\n Optimizations & bugfixes\n    Fabian \"ryg\" Giesen\n    Arseny Kapoulkine\n    John-Mark Allen\n\n Bug & warning fixes\n    Marc LeBlanc            David Woo          Guillaume George   Martins Mozeiko\n    Christpher Lloyd        Jerry Jansson      Joseph Thomson     Phil Jordan\n    Dave Moore              Roy Eltham         Hayaki Saito       Nathan Reed\n    Won Chun                Luke Graham        Johan Duparc       Nick Verigakis\n    the Horde3D community   Thomas Ruf         Ronny Chevalier    Baldur Karlsson\n    Janez Zemva             John Bartholomew   Michal Cichon      github:rlyeh\n    Jonathan Blow           Ken Hamada         Tero Hanninen      github:romigrou\n    Laurent Gomila          Cort Stratton      Sergio Gonzalez    github:svdijk\n    Aruelien Pocheville     Thibault Reuille   Cass Everitt       github:snagar\n    Ryamond Barbiero        Paul Du Bois       Engin Manap        github:Zelex\n    Michaelangel007@github  Philipp Wiesemann  Dale Weiler        github:grim210\n    Oriol Ferrer Mesia      Josh Tobin         Matthew Gregan     github:sammyhw\n    Blazej Dariusz Roszkowski                  Gregory Mullen     github:phprus\n    Christian Floisand      Kevin Schmidt                         github:poppolopoppo\n*/\n\n#ifndef STBI_INCLUDE_STB_IMAGE_H\n#define STBI_INCLUDE_STB_IMAGE_H\n\n// DOCUMENTATION\n//\n// Limitations:\n//    - no 16-bit-per-channel PNG\n//    - no 12-bit-per-channel JPEG\n//    - no JPEGs with arithmetic coding\n//    - no 1-bit BMP\n//    - GIF always returns *comp=4\n//\n// Basic usage (see HDR discussion below for HDR usage):\n//    int x,y,n;\n//    unsigned char *data = stbi_load(filename, &x, &y, &n, 0);\n//    // ... process data if not NULL ...\n//    // ... x = width, y = height, n = # 8-bit components per pixel ...\n//    // ... replace '0' with '1'..'4' to force that many components per pixel\n//    // ... but 'n' will always be the number that it would have been if you said 0\n//    stbi_image_free(data)\n//\n// Standard parameters:\n//    int *x                 -- outputs image width in pixels\n//    int *y                 -- outputs image height in pixels\n//    int *channels_in_file  -- outputs # of image components in image file\n//    int desired_channels   -- if non-zero, # of image components requested in result\n//\n// The return value from an image loader is an 'unsigned char *' which points\n// to the pixel data, or NULL on an allocation failure or if the image is\n// corrupt or invalid. The pixel data consists of *y scanlines of *x pixels,\n// with each pixel consisting of N interleaved 8-bit components; the first\n// pixel pointed to is top-left-most in the image. There is no padding between\n// image scanlines or between pixels, regardless of format. The number of\n// components N is 'desired_channels' if desired_channels is non-zero, or\n// *channels_in_file otherwise. If desired_channels is non-zero,\n// *channels_in_file has the number of components that _would_ have been\n// output otherwise. E.g. if you set desired_channels to 4, you will always\n// get RGBA output, but you can check *channels_in_file to see if it's trivially\n// opaque because e.g. there were only 3 channels in the source image.\n//\n// An output image with N components has the following components interleaved\n// in this order in each pixel:\n//\n//     N=#comp     components\n//       1           grey\n//       2           grey, alpha\n//       3           red, green, blue\n//       4           red, green, blue, alpha\n//\n// If image loading fails for any reason, the return value will be NULL,\n// and *x, *y, *channels_in_file will be unchanged. The function\n// stbi_failure_reason() can be queried for an extremely brief, end-user\n// unfriendly explanation of why the load failed. Define STBI_NO_FAILURE_STRINGS\n// to avoid compiling these strings at all, and STBI_FAILURE_USERMSG to get slightly\n// more user-friendly ones.\n//\n// Paletted PNG, BMP, GIF, and PIC images are automatically depalettized.\n//\n// ===========================================================================\n//\n// Philosophy\n//\n// stb libraries are designed with the following priorities:\n//\n//    1. easy to use\n//    2. easy to maintain\n//    3. good performance\n//\n// Sometimes I let \"good performance\" creep up in priority over \"easy to maintain\",\n// and for best performance I may provide less-easy-to-use APIs that give higher\n// performance, in addition to the easy to use ones. Nevertheless, it's important\n// to keep in mind that from the standpoint of you, a client of this library,\n// all you care about is #1 and #3, and stb libraries DO NOT emphasize #3 above all.\n//\n// Some secondary priorities arise directly from the first two, some of which\n// make more explicit reasons why performance can't be emphasized.\n//\n//    - Portable (\"ease of use\")\n//    - Small source code footprint (\"easy to maintain\")\n//    - No dependencies (\"ease of use\")\n//\n// ===========================================================================\n//\n// I/O callbacks\n//\n// I/O callbacks allow you to read from arbitrary sources, like packaged\n// files or some other source. Data read from callbacks are processed\n// through a small internal buffer (currently 128 bytes) to try to reduce\n// overhead.\n//\n// The three functions you must define are \"read\" (reads some bytes of data),\n// \"skip\" (skips some bytes of data), \"eof\" (reports if the stream is at the end).\n//\n// ===========================================================================\n//\n// SIMD support\n//\n// The JPEG decoder will try to automatically use SIMD kernels on x86 when\n// supported by the compiler. For ARM Neon support, you must explicitly\n// request it.\n//\n// (The old do-it-yourself SIMD API is no longer supported in the current\n// code.)\n//\n// On x86, SSE2 will automatically be used when available based on a run-time\n// test; if not, the generic C versions are used as a fall-back. On ARM targets,\n// the typical path is to have separate builds for NEON and non-NEON devices\n// (at least this is true for iOS and Android). Therefore, the NEON support is\n// toggled by a build flag: define STBI_NEON to get NEON loops.\n//\n// If for some reason you do not want to use any of SIMD code, or if\n// you have issues compiling it, you can disable it entirely by\n// defining STBI_NO_SIMD.\n//\n// ===========================================================================\n//\n// HDR image support   (disable by defining STBI_NO_HDR)\n//\n// stb_image now supports loading HDR images in general, and currently\n// the Radiance .HDR file format, although the support is provided\n// generically. You can still load any file through the existing interface;\n// if you attempt to load an HDR file, it will be automatically remapped to\n// LDR, assuming gamma 2.2 and an arbitrary scale factor defaulting to 1;\n// both of these constants can be reconfigured through this interface:\n//\n//     stbi_hdr_to_ldr_gamma(2.2f);\n//     stbi_hdr_to_ldr_scale(1.0f);\n//\n// (note, do not use _inverse_ constants; stbi_image will invert them\n// appropriately).\n//\n// Additionally, there is a new, parallel interface for loading files as\n// (linear) floats to preserve the full dynamic range:\n//\n//    float *data = stbi_loadf(filename, &x, &y, &n, 0);\n//\n// If you load LDR images through this interface, those images will\n// be promoted to floating point values, run through the inverse of\n// constants corresponding to the above:\n//\n//     stbi_ldr_to_hdr_scale(1.0f);\n//     stbi_ldr_to_hdr_gamma(2.2f);\n//\n// Finally, given a filename (or an open file or memory block--see header\n// file for details) containing image data, you can query for the \"most\n// appropriate\" interface to use (that is, whether the image is HDR or\n// not), using:\n//\n//     stbi_is_hdr(char *filename);\n//\n// ===========================================================================\n//\n// iPhone PNG support:\n//\n// By default we convert iphone-formatted PNGs back to RGB, even though\n// they are internally encoded differently. You can disable this conversion\n// by by calling stbi_convert_iphone_png_to_rgb(0), in which case\n// you will always just get the native iphone \"format\" through (which\n// is BGR stored in RGB).\n//\n// Call stbi_set_unpremultiply_on_load(1) as well to force a divide per\n// pixel to remove any premultiplied alpha *only* if the image file explicitly\n// says there's premultiplied data (currently only happens in iPhone images,\n// and only if iPhone convert-to-rgb processing is on).\n//\n// ===========================================================================\n//\n// ADDITIONAL CONFIGURATION\n//\n//  - You can suppress implementation of any of the decoders to reduce\n//    your code footprint by #defining one or more of the following\n//    symbols before creating the implementation.\n//\n//        STBI_NO_JPEG\n//        STBI_NO_PNG\n//        STBI_NO_BMP\n//        STBI_NO_PSD\n//        STBI_NO_TGA\n//        STBI_NO_GIF\n//        STBI_NO_HDR\n//        STBI_NO_PIC\n//        STBI_NO_PNM   (.ppm and .pgm)\n//\n//  - You can request *only* certain decoders and suppress all other ones\n//    (this will be more forward-compatible, as addition of new decoders\n//    doesn't require you to disable them explicitly):\n//\n//        STBI_ONLY_JPEG\n//        STBI_ONLY_PNG\n//        STBI_ONLY_BMP\n//        STBI_ONLY_PSD\n//        STBI_ONLY_TGA\n//        STBI_ONLY_GIF\n//        STBI_ONLY_HDR\n//        STBI_ONLY_PIC\n//        STBI_ONLY_PNM   (.ppm and .pgm)\n//\n//   - If you use STBI_NO_PNG (or _ONLY_ without PNG), and you still\n//     want the zlib decoder to be available, #define STBI_SUPPORT_ZLIB\n//\n\n\n#ifndef STBI_NO_STDIO\n#include <stdio.h>\n#endif // STBI_NO_STDIO\n\n#define STBI_VERSION 1\n\nenum\n{\n   STBI_default = 0, // only used for desired_channels\n\n   STBI_grey       = 1,\n   STBI_grey_alpha = 2,\n   STBI_rgb        = 3,\n   STBI_rgb_alpha  = 4\n};\n\ntypedef unsigned char stbi_uc;\ntypedef unsigned short stbi_us;\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n#ifdef STB_IMAGE_STATIC\n#define STBIDEF static\n#else\n#define STBIDEF extern\n#endif\n\n//////////////////////////////////////////////////////////////////////////////\n//\n// PRIMARY API - works on images of any type\n//\n\n//\n// load image by filename, open file, or memory buffer\n//\n\ntypedef struct\n{\n   int      (*read)  (void *user,char *data,int size);   // fill 'data' with 'size' bytes.  return number of bytes actually read\n   void     (*skip)  (void *user,int n);                 // skip the next 'n' bytes, or 'unget' the last -n bytes if negative\n   int      (*eof)   (void *user);                       // returns nonzero if we are at end of file/data\n} stbi_io_callbacks;\n\n////////////////////////////////////\n//\n// 8-bits-per-channel interface\n//\n\nSTBIDEF stbi_uc *stbi_load_from_memory   (stbi_uc           const *buffer, int len   , int *x, int *y, int *channels_in_file, int desired_channels);\nSTBIDEF stbi_uc *stbi_load_from_callbacks(stbi_io_callbacks const *clbk  , void *user, int *x, int *y, int *channels_in_file, int desired_channels);\n\n#ifndef STBI_NO_STDIO\nSTBIDEF stbi_uc *stbi_load            (char const *filename, int *x, int *y, int *channels_in_file, int desired_channels);\nSTBIDEF stbi_uc *stbi_load_from_file  (FILE *f, int *x, int *y, int *channels_in_file, int desired_channels);\n// for stbi_load_from_file, file pointer is left pointing immediately after image\n#endif\n\n////////////////////////////////////\n//\n// 16-bits-per-channel interface\n//\n\nSTBIDEF stbi_us *stbi_load_16_from_memory   (stbi_uc const *buffer, int len, int *x, int *y, int *channels_in_file, int desired_channels);\nSTBIDEF stbi_us *stbi_load_16_from_callbacks(stbi_io_callbacks const *clbk, void *user, int *x, int *y, int *channels_in_file, int desired_channels);\n\n#ifndef STBI_NO_STDIO\nSTBIDEF stbi_us *stbi_load_16          (char const *filename, int *x, int *y, int *channels_in_file, int desired_channels);\nSTBIDEF stbi_us *stbi_load_from_file_16(FILE *f, int *x, int *y, int *channels_in_file, int desired_channels);\n#endif\n\n////////////////////////////////////\n//\n// float-per-channel interface\n//\n#ifndef STBI_NO_LINEAR\n   STBIDEF float *stbi_loadf_from_memory     (stbi_uc const *buffer, int len, int *x, int *y, int *channels_in_file, int desired_channels);\n   STBIDEF float *stbi_loadf_from_callbacks  (stbi_io_callbacks const *clbk, void *user, int *x, int *y,  int *channels_in_file, int desired_channels);\n\n   #ifndef STBI_NO_STDIO\n   STBIDEF float *stbi_loadf            (char const *filename, int *x, int *y, int *channels_in_file, int desired_channels);\n   STBIDEF float *stbi_loadf_from_file  (FILE *f, int *x, int *y, int *channels_in_file, int desired_channels);\n   #endif\n#endif\n\n#ifndef STBI_NO_HDR\n   STBIDEF void   stbi_hdr_to_ldr_gamma(float gamma);\n   STBIDEF void   stbi_hdr_to_ldr_scale(float scale);\n#endif // STBI_NO_HDR\n\n#ifndef STBI_NO_LINEAR\n   STBIDEF void   stbi_ldr_to_hdr_gamma(float gamma);\n   STBIDEF void   stbi_ldr_to_hdr_scale(float scale);\n#endif // STBI_NO_LINEAR\n\n// stbi_is_hdr is always defined, but always returns false if STBI_NO_HDR\nSTBIDEF int    stbi_is_hdr_from_callbacks(stbi_io_callbacks const *clbk, void *user);\nSTBIDEF int    stbi_is_hdr_from_memory(stbi_uc const *buffer, int len);\n#ifndef STBI_NO_STDIO\nSTBIDEF int      stbi_is_hdr          (char const *filename);\nSTBIDEF int      stbi_is_hdr_from_file(FILE *f);\n#endif // STBI_NO_STDIO\n\n\n// get a VERY brief reason for failure\n// NOT THREADSAFE\nSTBIDEF const char *stbi_failure_reason  (void);\n\n// free the loaded image -- this is just free()\nSTBIDEF void     stbi_image_free      (void *retval_from_stbi_load);\n\n// get image dimensions & components without fully decoding\nSTBIDEF int      stbi_info_from_memory(stbi_uc const *buffer, int len, int *x, int *y, int *comp);\nSTBIDEF int      stbi_info_from_callbacks(stbi_io_callbacks const *clbk, void *user, int *x, int *y, int *comp);\n\n#ifndef STBI_NO_STDIO\nSTBIDEF int      stbi_info            (char const *filename,     int *x, int *y, int *comp);\nSTBIDEF int      stbi_info_from_file  (FILE *f,                  int *x, int *y, int *comp);\n\n#endif\n\n\n\n// for image formats that explicitly notate that they have premultiplied alpha,\n// we just return the colors as stored in the file. set this flag to force\n// unpremultiplication. results are undefined if the unpremultiply overflow.\nSTBIDEF void stbi_set_unpremultiply_on_load(int flag_true_if_should_unpremultiply);\n\n// indicate whether we should process iphone images back to canonical format,\n// or just pass them through \"as-is\"\nSTBIDEF void stbi_convert_iphone_png_to_rgb(int flag_true_if_should_convert);\n\n// flip the image vertically, so the first pixel in the output array is the bottom left\nSTBIDEF void stbi_set_flip_vertically_on_load(int flag_true_if_should_flip);\n\n// ZLIB client - used by PNG, available for other purposes\n\nSTBIDEF char *stbi_zlib_decode_malloc_guesssize(const char *buffer, int len, int initial_size, int *outlen);\nSTBIDEF char *stbi_zlib_decode_malloc_guesssize_headerflag(const char *buffer, int len, int initial_size, int *outlen, int parse_header);\nSTBIDEF char *stbi_zlib_decode_malloc(const char *buffer, int len, int *outlen);\nSTBIDEF int   stbi_zlib_decode_buffer(char *obuffer, int olen, const char *ibuffer, int ilen);\n\nSTBIDEF char *stbi_zlib_decode_noheader_malloc(const char *buffer, int len, int *outlen);\nSTBIDEF int   stbi_zlib_decode_noheader_buffer(char *obuffer, int olen, const char *ibuffer, int ilen);\n\n\n#ifdef __cplusplus\n}\n#endif\n\n//\n//\n////   end header file   /////////////////////////////////////////////////////\n#endif // STBI_INCLUDE_STB_IMAGE_H\n\n#ifdef STB_IMAGE_IMPLEMENTATION\n\n#if defined(STBI_ONLY_JPEG) || defined(STBI_ONLY_PNG) || defined(STBI_ONLY_BMP) \\\n  || defined(STBI_ONLY_TGA) || defined(STBI_ONLY_GIF) || defined(STBI_ONLY_PSD) \\\n  || defined(STBI_ONLY_HDR) || defined(STBI_ONLY_PIC) || defined(STBI_ONLY_PNM) \\\n  || defined(STBI_ONLY_ZLIB)\n   #ifndef STBI_ONLY_JPEG\n   #define STBI_NO_JPEG\n   #endif\n   #ifndef STBI_ONLY_PNG\n   #define STBI_NO_PNG\n   #endif\n   #ifndef STBI_ONLY_BMP\n   #define STBI_NO_BMP\n   #endif\n   #ifndef STBI_ONLY_PSD\n   #define STBI_NO_PSD\n   #endif\n   #ifndef STBI_ONLY_TGA\n   #define STBI_NO_TGA\n   #endif\n   #ifndef STBI_ONLY_GIF\n   #define STBI_NO_GIF\n   #endif\n   #ifndef STBI_ONLY_HDR\n   #define STBI_NO_HDR\n   #endif\n   #ifndef STBI_ONLY_PIC\n   #define STBI_NO_PIC\n   #endif\n   #ifndef STBI_ONLY_PNM\n   #define STBI_NO_PNM\n   #endif\n#endif\n\n#if defined(STBI_NO_PNG) && !defined(STBI_SUPPORT_ZLIB) && !defined(STBI_NO_ZLIB)\n#define STBI_NO_ZLIB\n#endif\n\n\n#include <stdarg.h>\n#include <stddef.h> // ptrdiff_t on osx\n#include <stdlib.h>\n#include <string.h>\n#include <limits.h>\n\n#if !defined(STBI_NO_LINEAR) || !defined(STBI_NO_HDR)\n#include <math.h>  // ldexp\n#endif\n\n#ifndef STBI_NO_STDIO\n#include <stdio.h>\n#endif\n\n#ifndef STBI_ASSERT\n#include <assert.h>\n#define STBI_ASSERT(x) assert(x)\n#endif\n\n\n#ifndef _MSC_VER\n   #ifdef __cplusplus\n   #define stbi_inline inline\n   #else\n   #define stbi_inline\n   #endif\n#else\n   #define stbi_inline __forceinline\n#endif\n\n\n#ifdef _MSC_VER\ntypedef unsigned short stbi__uint16;\ntypedef   signed short stbi__int16;\ntypedef unsigned int   stbi__uint32;\ntypedef   signed int   stbi__int32;\n#else\n#include <stdint.h>\ntypedef uint16_t stbi__uint16;\ntypedef int16_t  stbi__int16;\ntypedef uint32_t stbi__uint32;\ntypedef int32_t  stbi__int32;\n#endif\n\n// should produce compiler error if size is wrong\ntypedef unsigned char validate_uint32[sizeof(stbi__uint32)==4 ? 1 : -1];\n\n#ifdef _MSC_VER\n#define STBI_NOTUSED(v)  (void)(v)\n#else\n#define STBI_NOTUSED(v)  (void)sizeof(v)\n#endif\n\n#ifdef _MSC_VER\n#define STBI_HAS_LROTL\n#endif\n\n#ifdef STBI_HAS_LROTL\n   #define stbi_lrot(x,y)  _lrotl(x,y)\n#else\n   #define stbi_lrot(x,y)  (((x) << (y)) | ((x) >> (32 - (y))))\n#endif\n\n#if defined(STBI_MALLOC) && defined(STBI_FREE) && (defined(STBI_REALLOC) || defined(STBI_REALLOC_SIZED))\n// ok\n#elif !defined(STBI_MALLOC) && !defined(STBI_FREE) && !defined(STBI_REALLOC) && !defined(STBI_REALLOC_SIZED)\n// ok\n#else\n#error \"Must define all or none of STBI_MALLOC, STBI_FREE, and STBI_REALLOC (or STBI_REALLOC_SIZED).\"\n#endif\n\n#ifndef STBI_MALLOC\n#define STBI_MALLOC(sz)           malloc(sz)\n#define STBI_REALLOC(p,newsz)     realloc(p,newsz)\n#define STBI_FREE(p)              free(p)\n#endif\n\n#ifndef STBI_REALLOC_SIZED\n#define STBI_REALLOC_SIZED(p,oldsz,newsz) STBI_REALLOC(p,newsz)\n#endif\n\n// x86/x64 detection\n#if defined(__x86_64__) || defined(_M_X64)\n#define STBI__X64_TARGET\n#elif defined(__i386) || defined(_M_IX86)\n#define STBI__X86_TARGET\n#endif\n\n#if defined(__GNUC__) && defined(STBI__X86_TARGET) && !defined(__SSE2__) && !defined(STBI_NO_SIMD)\n// gcc doesn't support sse2 intrinsics unless you compile with -msse2,\n// which in turn means it gets to use SSE2 everywhere. This is unfortunate,\n// but previous attempts to provide the SSE2 functions with runtime\n// detection caused numerous issues. The way architecture extensions are\n// exposed in GCC/Clang is, sadly, not really suited for one-file libs.\n// New behavior: if compiled with -msse2, we use SSE2 without any\n// detection; if not, we don't use it at all.\n#define STBI_NO_SIMD\n#endif\n\n#if defined(__MINGW32__) && defined(STBI__X86_TARGET) && !defined(STBI_MINGW_ENABLE_SSE2) && !defined(STBI_NO_SIMD)\n// Note that __MINGW32__ doesn't actually mean 32-bit, so we have to avoid STBI__X64_TARGET\n//\n// 32-bit MinGW wants ESP to be 16-byte aligned, but this is not in the\n// Windows ABI and VC++ as well as Windows DLLs don't maintain that invariant.\n// As a result, enabling SSE2 on 32-bit MinGW is dangerous when not\n// simultaneously enabling \"-mstackrealign\".\n//\n// See https://github.com/nothings/stb/issues/81 for more information.\n//\n// So default to no SSE2 on 32-bit MinGW. If you've read this far and added\n// -mstackrealign to your build settings, feel free to #define STBI_MINGW_ENABLE_SSE2.\n#define STBI_NO_SIMD\n#endif\n\n#if !defined(STBI_NO_SIMD) && (defined(STBI__X86_TARGET) || defined(STBI__X64_TARGET))\n#define STBI_SSE2\n#include <emmintrin.h>\n\n#ifdef _MSC_VER\n\n#if _MSC_VER >= 1400  // not VC6\n#include <intrin.h> // __cpuid\nstatic int stbi__cpuid3(void)\n{\n   int info[4];\n   __cpuid(info,1);\n   return info[3];\n}\n#else\nstatic int stbi__cpuid3(void)\n{\n   int res;\n   __asm {\n      mov  eax,1\n      cpuid\n      mov  res,edx\n   }\n   return res;\n}\n#endif\n\n#define STBI_SIMD_ALIGN(type, name) __declspec(align(16)) type name\n\nstatic int stbi__sse2_available(void)\n{\n   int info3 = stbi__cpuid3();\n   return ((info3 >> 26) & 1) != 0;\n}\n#else // assume GCC-style if not VC++\n#define STBI_SIMD_ALIGN(type, name) type name __attribute__((aligned(16)))\n\nstatic int stbi__sse2_available(void)\n{\n   // If we're even attempting to compile this on GCC/Clang, that means\n   // -msse2 is on, which means the compiler is allowed to use SSE2\n   // instructions at will, and so are we.\n   return 1;\n}\n#endif\n#endif\n\n// ARM NEON\n#if defined(STBI_NO_SIMD) && defined(STBI_NEON)\n#undef STBI_NEON\n#endif\n\n#ifdef STBI_NEON\n#include <arm_neon.h>\n// assume GCC or Clang on ARM targets\n#define STBI_SIMD_ALIGN(type, name) type name __attribute__((aligned(16)))\n#endif\n\n#ifndef STBI_SIMD_ALIGN\n#define STBI_SIMD_ALIGN(type, name) type name\n#endif\n\n///////////////////////////////////////////////\n//\n//  stbi__context struct and start_xxx functions\n\n// stbi__context structure is our basic context used by all images, so it\n// contains all the IO context, plus some basic image information\ntypedef struct\n{\n   stbi__uint32 img_x, img_y;\n   int img_n, img_out_n;\n\n   stbi_io_callbacks io;\n   void *io_user_data;\n\n   int read_from_callbacks;\n   int buflen;\n   stbi_uc buffer_start[128];\n\n   stbi_uc *img_buffer, *img_buffer_end;\n   stbi_uc *img_buffer_original, *img_buffer_original_end;\n} stbi__context;\n\n\nstatic void stbi__refill_buffer(stbi__context *s);\n\n// initialize a memory-decode context\nstatic void stbi__start_mem(stbi__context *s, stbi_uc const *buffer, int len)\n{\n   s->io.read = NULL;\n   s->read_from_callbacks = 0;\n   s->img_buffer = s->img_buffer_original = (stbi_uc *) buffer;\n   s->img_buffer_end = s->img_buffer_original_end = (stbi_uc *) buffer+len;\n}\n\n// initialize a callback-based context\nstatic void stbi__start_callbacks(stbi__context *s, stbi_io_callbacks *c, void *user)\n{\n   s->io = *c;\n   s->io_user_data = user;\n   s->buflen = sizeof(s->buffer_start);\n   s->read_from_callbacks = 1;\n   s->img_buffer_original = s->buffer_start;\n   stbi__refill_buffer(s);\n   s->img_buffer_original_end = s->img_buffer_end;\n}\n\n#ifndef STBI_NO_STDIO\n\nstatic int stbi__stdio_read(void *user, char *data, int size)\n{\n   return (int) fread(data,1,size,(FILE*) user);\n}\n\nstatic void stbi__stdio_skip(void *user, int n)\n{\n   fseek((FILE*) user, n, SEEK_CUR);\n}\n\nstatic int stbi__stdio_eof(void *user)\n{\n   return feof((FILE*) user);\n}\n\nstatic stbi_io_callbacks stbi__stdio_callbacks =\n{\n   stbi__stdio_read,\n   stbi__stdio_skip,\n   stbi__stdio_eof,\n};\n\nstatic void stbi__start_file(stbi__context *s, FILE *f)\n{\n   stbi__start_callbacks(s, &stbi__stdio_callbacks, (void *) f);\n}\n\n//static void stop_file(stbi__context *s) { }\n\n#endif // !STBI_NO_STDIO\n\nstatic void stbi__rewind(stbi__context *s)\n{\n   // conceptually rewind SHOULD rewind to the beginning of the stream,\n   // but we just rewind to the beginning of the initial buffer, because\n   // we only use it after doing 'test', which only ever looks at at most 92 bytes\n   s->img_buffer = s->img_buffer_original;\n   s->img_buffer_end = s->img_buffer_original_end;\n}\n\nenum\n{\n   STBI_ORDER_RGB,\n   STBI_ORDER_BGR\n};\n\ntypedef struct\n{\n   int bits_per_channel;\n   int num_channels;\n   int channel_order;\n} stbi__result_info;\n\n#ifndef STBI_NO_JPEG\nstatic int      stbi__jpeg_test(stbi__context *s);\nstatic void    *stbi__jpeg_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri);\nstatic int      stbi__jpeg_info(stbi__context *s, int *x, int *y, int *comp);\n#endif\n\n#ifndef STBI_NO_PNG\nstatic int      stbi__png_test(stbi__context *s);\nstatic void    *stbi__png_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri);\nstatic int      stbi__png_info(stbi__context *s, int *x, int *y, int *comp);\n#endif\n\n#ifndef STBI_NO_BMP\nstatic int      stbi__bmp_test(stbi__context *s);\nstatic void    *stbi__bmp_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri);\nstatic int      stbi__bmp_info(stbi__context *s, int *x, int *y, int *comp);\n#endif\n\n#ifndef STBI_NO_TGA\nstatic int      stbi__tga_test(stbi__context *s);\nstatic void    *stbi__tga_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri);\nstatic int      stbi__tga_info(stbi__context *s, int *x, int *y, int *comp);\n#endif\n\n#ifndef STBI_NO_PSD\nstatic int      stbi__psd_test(stbi__context *s);\nstatic void    *stbi__psd_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri, int bpc);\nstatic int      stbi__psd_info(stbi__context *s, int *x, int *y, int *comp);\n#endif\n\n#ifndef STBI_NO_HDR\nstatic int      stbi__hdr_test(stbi__context *s);\nstatic float   *stbi__hdr_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri);\nstatic int      stbi__hdr_info(stbi__context *s, int *x, int *y, int *comp);\n#endif\n\n#ifndef STBI_NO_PIC\nstatic int      stbi__pic_test(stbi__context *s);\nstatic void    *stbi__pic_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri);\nstatic int      stbi__pic_info(stbi__context *s, int *x, int *y, int *comp);\n#endif\n\n#ifndef STBI_NO_GIF\nstatic int      stbi__gif_test(stbi__context *s);\nstatic void    *stbi__gif_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri);\nstatic int      stbi__gif_info(stbi__context *s, int *x, int *y, int *comp);\n#endif\n\n#ifndef STBI_NO_PNM\nstatic int      stbi__pnm_test(stbi__context *s);\nstatic void    *stbi__pnm_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri);\nstatic int      stbi__pnm_info(stbi__context *s, int *x, int *y, int *comp);\n#endif\n\n// this is not threadsafe\nstatic const char *stbi__g_failure_reason;\n\nSTBIDEF const char *stbi_failure_reason(void)\n{\n   return stbi__g_failure_reason;\n}\n\nstatic int stbi__err(const char *str)\n{\n   stbi__g_failure_reason = str;\n   return 0;\n}\n\nstatic void *stbi__malloc(size_t size)\n{\n    return STBI_MALLOC(size);\n}\n\n// stb_image uses ints pervasively, including for offset calculations.\n// therefore the largest decoded image size we can support with the\n// current code, even on 64-bit targets, is INT_MAX. this is not a\n// significant limitation for the intended use case.\n//\n// we do, however, need to make sure our size calculations don't\n// overflow. hence a few helper functions for size calculations that\n// multiply integers together, making sure that they're non-negative\n// and no overflow occurs.\n\n// return 1 if the sum is valid, 0 on overflow.\n// negative terms are considered invalid.\nstatic int stbi__addsizes_valid(int a, int b)\n{\n   if (b < 0) return 0;\n   // now 0 <= b <= INT_MAX, hence also\n   // 0 <= INT_MAX - b <= INTMAX.\n   // And \"a + b <= INT_MAX\" (which might overflow) is the\n   // same as a <= INT_MAX - b (no overflow)\n   return a <= INT_MAX - b;\n}\n\n// returns 1 if the product is valid, 0 on overflow.\n// negative factors are considered invalid.\nstatic int stbi__mul2sizes_valid(int a, int b)\n{\n   if (a < 0 || b < 0) return 0;\n   if (b == 0) return 1; // mul-by-0 is always safe\n   // portable way to check for no overflows in a*b\n   return a <= INT_MAX/b;\n}\n\n// returns 1 if \"a*b + add\" has no negative terms/factors and doesn't overflow\nstatic int stbi__mad2sizes_valid(int a, int b, int add)\n{\n   return stbi__mul2sizes_valid(a, b) && stbi__addsizes_valid(a*b, add);\n}\n\n// returns 1 if \"a*b*c + add\" has no negative terms/factors and doesn't overflow\nstatic int stbi__mad3sizes_valid(int a, int b, int c, int add)\n{\n   return stbi__mul2sizes_valid(a, b) && stbi__mul2sizes_valid(a*b, c) &&\n      stbi__addsizes_valid(a*b*c, add);\n}\n\n// returns 1 if \"a*b*c*d + add\" has no negative terms/factors and doesn't overflow\nstatic int stbi__mad4sizes_valid(int a, int b, int c, int d, int add)\n{\n   return stbi__mul2sizes_valid(a, b) && stbi__mul2sizes_valid(a*b, c) &&\n      stbi__mul2sizes_valid(a*b*c, d) && stbi__addsizes_valid(a*b*c*d, add);\n}\n\n// mallocs with size overflow checking\nstatic void *stbi__malloc_mad2(int a, int b, int add)\n{\n   if (!stbi__mad2sizes_valid(a, b, add)) return NULL;\n   return stbi__malloc(a*b + add);\n}\n\nstatic void *stbi__malloc_mad3(int a, int b, int c, int add)\n{\n   if (!stbi__mad3sizes_valid(a, b, c, add)) return NULL;\n   return stbi__malloc(a*b*c + add);\n}\n\nstatic void *stbi__malloc_mad4(int a, int b, int c, int d, int add)\n{\n   if (!stbi__mad4sizes_valid(a, b, c, d, add)) return NULL;\n   return stbi__malloc(a*b*c*d + add);\n}\n\n// stbi__err - error\n// stbi__errpf - error returning pointer to float\n// stbi__errpuc - error returning pointer to unsigned char\n\n#ifdef STBI_NO_FAILURE_STRINGS\n   #define stbi__err(x,y)  0\n#elif defined(STBI_FAILURE_USERMSG)\n   #define stbi__err(x,y)  stbi__err(y)\n#else\n   #define stbi__err(x,y)  stbi__err(x)\n#endif\n\n#define stbi__errpf(x,y)   ((float *)(size_t) (stbi__err(x,y)?NULL:NULL))\n#define stbi__errpuc(x,y)  ((unsigned char *)(size_t) (stbi__err(x,y)?NULL:NULL))\n\nSTBIDEF void stbi_image_free(void *retval_from_stbi_load)\n{\n   STBI_FREE(retval_from_stbi_load);\n}\n\n#ifndef STBI_NO_LINEAR\nstatic float   *stbi__ldr_to_hdr(stbi_uc *data, int x, int y, int comp);\n#endif\n\n#ifndef STBI_NO_HDR\nstatic stbi_uc *stbi__hdr_to_ldr(float   *data, int x, int y, int comp);\n#endif\n\nstatic int stbi__vertically_flip_on_load = 0;\n\nSTBIDEF void stbi_set_flip_vertically_on_load(int flag_true_if_should_flip)\n{\n    stbi__vertically_flip_on_load = flag_true_if_should_flip;\n}\n\nstatic void *stbi__load_main(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri, int bpc)\n{\n   memset(ri, 0, sizeof(*ri)); // make sure it's initialized if we add new fields\n   ri->bits_per_channel = 8; // default is 8 so most paths don't have to be changed\n   ri->channel_order = STBI_ORDER_RGB; // all current input & output are this, but this is here so we can add BGR order\n   ri->num_channels = 0;\n\n   #ifndef STBI_NO_JPEG\n   if (stbi__jpeg_test(s)) return stbi__jpeg_load(s,x,y,comp,req_comp, ri);\n   #endif\n   #ifndef STBI_NO_PNG\n   if (stbi__png_test(s))  return stbi__png_load(s,x,y,comp,req_comp, ri);\n   #endif\n   #ifndef STBI_NO_BMP\n   if (stbi__bmp_test(s))  return stbi__bmp_load(s,x,y,comp,req_comp, ri);\n   #endif\n   #ifndef STBI_NO_GIF\n   if (stbi__gif_test(s))  return stbi__gif_load(s,x,y,comp,req_comp, ri);\n   #endif\n   #ifndef STBI_NO_PSD\n   if (stbi__psd_test(s))  return stbi__psd_load(s,x,y,comp,req_comp, ri, bpc);\n   #endif\n   #ifndef STBI_NO_PIC\n   if (stbi__pic_test(s))  return stbi__pic_load(s,x,y,comp,req_comp, ri);\n   #endif\n   #ifndef STBI_NO_PNM\n   if (stbi__pnm_test(s))  return stbi__pnm_load(s,x,y,comp,req_comp, ri);\n   #endif\n\n   #ifndef STBI_NO_HDR\n   if (stbi__hdr_test(s)) {\n      float *hdr = stbi__hdr_load(s, x,y,comp,req_comp, ri);\n      return stbi__hdr_to_ldr(hdr, *x, *y, req_comp ? req_comp : *comp);\n   }\n   #endif\n\n   #ifndef STBI_NO_TGA\n   // test tga last because it's a crappy test!\n   if (stbi__tga_test(s))\n      return stbi__tga_load(s,x,y,comp,req_comp, ri);\n   #endif\n\n   return stbi__errpuc(\"unknown image type\", \"Image not of any known type, or corrupt\");\n}\n\nstatic stbi_uc *stbi__convert_16_to_8(stbi__uint16 *orig, int w, int h, int channels)\n{\n   int i;\n   int img_len = w * h * channels;\n   stbi_uc *reduced;\n\n   reduced = (stbi_uc *) stbi__malloc(img_len);\n   if (reduced == NULL) return stbi__errpuc(\"outofmem\", \"Out of memory\");\n\n   for (i = 0; i < img_len; ++i)\n      reduced[i] = (stbi_uc)((orig[i] >> 8) & 0xFF); // top half of each byte is sufficient approx of 16->8 bit scaling\n\n   STBI_FREE(orig);\n   return reduced;\n}\n\nstatic stbi__uint16 *stbi__convert_8_to_16(stbi_uc *orig, int w, int h, int channels)\n{\n   int i;\n   int img_len = w * h * channels;\n   stbi__uint16 *enlarged;\n\n   enlarged = (stbi__uint16 *) stbi__malloc(img_len*2);\n   if (enlarged == NULL) return (stbi__uint16 *) stbi__errpuc(\"outofmem\", \"Out of memory\");\n\n   for (i = 0; i < img_len; ++i)\n      enlarged[i] = (stbi__uint16)((orig[i] << 8) + orig[i]); // replicate to high and low byte, maps 0->0, 255->0xffff\n\n   STBI_FREE(orig);\n   return enlarged;\n}\n\nstatic void stbi__vertical_flip(void *image, int w, int h, int bytes_per_pixel)\n{\n   int row;\n   size_t bytes_per_row = (size_t)w * bytes_per_pixel;\n   stbi_uc temp[2048];\n   stbi_uc *bytes = (stbi_uc *)image;\n\n   for (row = 0; row < (h>>1); row++) {\n      stbi_uc *row0 = bytes + row*bytes_per_row;\n      stbi_uc *row1 = bytes + (h - row - 1)*bytes_per_row;\n      // swap row0 with row1\n      size_t bytes_left = bytes_per_row;\n      while (bytes_left) {\n         size_t bytes_copy = (bytes_left < sizeof(temp)) ? bytes_left : sizeof(temp);\n         memcpy(temp, row0, bytes_copy);\n         memcpy(row0, row1, bytes_copy);\n         memcpy(row1, temp, bytes_copy);\n         row0 += bytes_copy;\n         row1 += bytes_copy;\n         bytes_left -= bytes_copy;\n      }\n   }\n}\n\nstatic unsigned char *stbi__load_and_postprocess_8bit(stbi__context *s, int *x, int *y, int *comp, int req_comp)\n{\n   stbi__result_info ri;\n   void *result = stbi__load_main(s, x, y, comp, req_comp, &ri, 8);\n\n   if (result == NULL)\n      return NULL;\n\n   if (ri.bits_per_channel != 8) {\n      STBI_ASSERT(ri.bits_per_channel == 16);\n      result = stbi__convert_16_to_8((stbi__uint16 *) result, *x, *y, req_comp == 0 ? *comp : req_comp);\n      ri.bits_per_channel = 8;\n   }\n\n   // @TODO: move stbi__convert_format to here\n\n   if (stbi__vertically_flip_on_load) {\n      int channels = req_comp ? req_comp : *comp;\n      stbi__vertical_flip(result, *x, *y, channels * sizeof(stbi_uc));\n   }\n\n   return (unsigned char *) result;\n}\n\nstatic stbi__uint16 *stbi__load_and_postprocess_16bit(stbi__context *s, int *x, int *y, int *comp, int req_comp)\n{\n   stbi__result_info ri;\n   void *result = stbi__load_main(s, x, y, comp, req_comp, &ri, 16);\n\n   if (result == NULL)\n      return NULL;\n\n   if (ri.bits_per_channel != 16) {\n      STBI_ASSERT(ri.bits_per_channel == 8);\n      result = stbi__convert_8_to_16((stbi_uc *) result, *x, *y, req_comp == 0 ? *comp : req_comp);\n      ri.bits_per_channel = 16;\n   }\n\n   // @TODO: move stbi__convert_format16 to here\n   // @TODO: special case RGB-to-Y (and RGBA-to-YA) for 8-bit-to-16-bit case to keep more precision\n\n   if (stbi__vertically_flip_on_load) {\n      int channels = req_comp ? req_comp : *comp;\n      stbi__vertical_flip(result, *x, *y, channels * sizeof(stbi__uint16));\n   }\n\n   return (stbi__uint16 *) result;\n}\n\n#ifndef STBI_NO_HDR\nstatic void stbi__float_postprocess(float *result, int *x, int *y, int *comp, int req_comp)\n{\n   if (stbi__vertically_flip_on_load && result != NULL) {\n      int channels = req_comp ? req_comp : *comp;\n      stbi__vertical_flip(result, *x, *y, channels * sizeof(float));\n   }\n}\n#endif\n\n#ifndef STBI_NO_STDIO\n\nstatic FILE *stbi__fopen(char const *filename, char const *mode)\n{\n   FILE *f;\n#if defined(_MSC_VER) && _MSC_VER >= 1400\n   if (0 != fopen_s(&f, filename, mode))\n      f=0;\n#else\n   f = fopen(filename, mode);\n#endif\n   return f;\n}\n\n\nSTBIDEF stbi_uc *stbi_load(char const *filename, int *x, int *y, int *comp, int req_comp)\n{\n   FILE *f = stbi__fopen(filename, \"rb\");\n   unsigned char *result;\n   if (!f) return stbi__errpuc(\"can't fopen\", \"Unable to open file\");\n   result = stbi_load_from_file(f,x,y,comp,req_comp);\n   fclose(f);\n   return result;\n}\n\nSTBIDEF stbi_uc *stbi_load_from_file(FILE *f, int *x, int *y, int *comp, int req_comp)\n{\n   unsigned char *result;\n   stbi__context s;\n   stbi__start_file(&s,f);\n   result = stbi__load_and_postprocess_8bit(&s,x,y,comp,req_comp);\n   if (result) {\n      // need to 'unget' all the characters in the IO buffer\n      fseek(f, - (int) (s.img_buffer_end - s.img_buffer), SEEK_CUR);\n   }\n   return result;\n}\n\nSTBIDEF stbi__uint16 *stbi_load_from_file_16(FILE *f, int *x, int *y, int *comp, int req_comp)\n{\n   stbi__uint16 *result;\n   stbi__context s;\n   stbi__start_file(&s,f);\n   result = stbi__load_and_postprocess_16bit(&s,x,y,comp,req_comp);\n   if (result) {\n      // need to 'unget' all the characters in the IO buffer\n      fseek(f, - (int) (s.img_buffer_end - s.img_buffer), SEEK_CUR);\n   }\n   return result;\n}\n\nSTBIDEF stbi_us *stbi_load_16(char const *filename, int *x, int *y, int *comp, int req_comp)\n{\n   FILE *f = stbi__fopen(filename, \"rb\");\n   stbi__uint16 *result;\n   if (!f) return (stbi_us *) stbi__errpuc(\"can't fopen\", \"Unable to open file\");\n   result = stbi_load_from_file_16(f,x,y,comp,req_comp);\n   fclose(f);\n   return result;\n}\n\n\n#endif //!STBI_NO_STDIO\n\nSTBIDEF stbi_us *stbi_load_16_from_memory(stbi_uc const *buffer, int len, int *x, int *y, int *channels_in_file, int desired_channels)\n{\n   stbi__context s;\n   stbi__start_mem(&s,buffer,len);\n   return stbi__load_and_postprocess_16bit(&s,x,y,channels_in_file,desired_channels);\n}\n\nSTBIDEF stbi_us *stbi_load_16_from_callbacks(stbi_io_callbacks const *clbk, void *user, int *x, int *y, int *channels_in_file, int desired_channels)\n{\n   stbi__context s;\n   stbi__start_callbacks(&s, (stbi_io_callbacks *)clbk, user);\n   return stbi__load_and_postprocess_16bit(&s,x,y,channels_in_file,desired_channels);\n}\n\nSTBIDEF stbi_uc *stbi_load_from_memory(stbi_uc const *buffer, int len, int *x, int *y, int *comp, int req_comp)\n{\n   stbi__context s;\n   stbi__start_mem(&s,buffer,len);\n   return stbi__load_and_postprocess_8bit(&s,x,y,comp,req_comp);\n}\n\nSTBIDEF stbi_uc *stbi_load_from_callbacks(stbi_io_callbacks const *clbk, void *user, int *x, int *y, int *comp, int req_comp)\n{\n   stbi__context s;\n   stbi__start_callbacks(&s, (stbi_io_callbacks *) clbk, user);\n   return stbi__load_and_postprocess_8bit(&s,x,y,comp,req_comp);\n}\n\n#ifndef STBI_NO_LINEAR\nstatic float *stbi__loadf_main(stbi__context *s, int *x, int *y, int *comp, int req_comp)\n{\n   unsigned char *data;\n   #ifndef STBI_NO_HDR\n   if (stbi__hdr_test(s)) {\n      stbi__result_info ri;\n      float *hdr_data = stbi__hdr_load(s,x,y,comp,req_comp, &ri);\n      if (hdr_data)\n         stbi__float_postprocess(hdr_data,x,y,comp,req_comp);\n      return hdr_data;\n   }\n   #endif\n   data = stbi__load_and_postprocess_8bit(s, x, y, comp, req_comp);\n   if (data)\n      return stbi__ldr_to_hdr(data, *x, *y, req_comp ? req_comp : *comp);\n   return stbi__errpf(\"unknown image type\", \"Image not of any known type, or corrupt\");\n}\n\nSTBIDEF float *stbi_loadf_from_memory(stbi_uc const *buffer, int len, int *x, int *y, int *comp, int req_comp)\n{\n   stbi__context s;\n   stbi__start_mem(&s,buffer,len);\n   return stbi__loadf_main(&s,x,y,comp,req_comp);\n}\n\nSTBIDEF float *stbi_loadf_from_callbacks(stbi_io_callbacks const *clbk, void *user, int *x, int *y, int *comp, int req_comp)\n{\n   stbi__context s;\n   stbi__start_callbacks(&s, (stbi_io_callbacks *) clbk, user);\n   return stbi__loadf_main(&s,x,y,comp,req_comp);\n}\n\n#ifndef STBI_NO_STDIO\nSTBIDEF float *stbi_loadf(char const *filename, int *x, int *y, int *comp, int req_comp)\n{\n   float *result;\n   FILE *f = stbi__fopen(filename, \"rb\");\n   if (!f) return stbi__errpf(\"can't fopen\", \"Unable to open file\");\n   result = stbi_loadf_from_file(f,x,y,comp,req_comp);\n   fclose(f);\n   return result;\n}\n\nSTBIDEF float *stbi_loadf_from_file(FILE *f, int *x, int *y, int *comp, int req_comp)\n{\n   stbi__context s;\n   stbi__start_file(&s,f);\n   return stbi__loadf_main(&s,x,y,comp,req_comp);\n}\n#endif // !STBI_NO_STDIO\n\n#endif // !STBI_NO_LINEAR\n\n// these is-hdr-or-not is defined independent of whether STBI_NO_LINEAR is\n// defined, for API simplicity; if STBI_NO_LINEAR is defined, it always\n// reports false!\n\nSTBIDEF int stbi_is_hdr_from_memory(stbi_uc const *buffer, int len)\n{\n   #ifndef STBI_NO_HDR\n   stbi__context s;\n   stbi__start_mem(&s,buffer,len);\n   return stbi__hdr_test(&s);\n   #else\n   STBI_NOTUSED(buffer);\n   STBI_NOTUSED(len);\n   return 0;\n   #endif\n}\n\n#ifndef STBI_NO_STDIO\nSTBIDEF int      stbi_is_hdr          (char const *filename)\n{\n   FILE *f = stbi__fopen(filename, \"rb\");\n   int result=0;\n   if (f) {\n      result = stbi_is_hdr_from_file(f);\n      fclose(f);\n   }\n   return result;\n}\n\nSTBIDEF int      stbi_is_hdr_from_file(FILE *f)\n{\n   #ifndef STBI_NO_HDR\n   stbi__context s;\n   stbi__start_file(&s,f);\n   return stbi__hdr_test(&s);\n   #else\n   STBI_NOTUSED(f);\n   return 0;\n   #endif\n}\n#endif // !STBI_NO_STDIO\n\nSTBIDEF int      stbi_is_hdr_from_callbacks(stbi_io_callbacks const *clbk, void *user)\n{\n   #ifndef STBI_NO_HDR\n   stbi__context s;\n   stbi__start_callbacks(&s, (stbi_io_callbacks *) clbk, user);\n   return stbi__hdr_test(&s);\n   #else\n   STBI_NOTUSED(clbk);\n   STBI_NOTUSED(user);\n   return 0;\n   #endif\n}\n\n#ifndef STBI_NO_LINEAR\nstatic float stbi__l2h_gamma=2.2f, stbi__l2h_scale=1.0f;\n\nSTBIDEF void   stbi_ldr_to_hdr_gamma(float gamma) { stbi__l2h_gamma = gamma; }\nSTBIDEF void   stbi_ldr_to_hdr_scale(float scale) { stbi__l2h_scale = scale; }\n#endif\n\nstatic float stbi__h2l_gamma_i=1.0f/2.2f, stbi__h2l_scale_i=1.0f;\n\nSTBIDEF void   stbi_hdr_to_ldr_gamma(float gamma) { stbi__h2l_gamma_i = 1/gamma; }\nSTBIDEF void   stbi_hdr_to_ldr_scale(float scale) { stbi__h2l_scale_i = 1/scale; }\n\n\n//////////////////////////////////////////////////////////////////////////////\n//\n// Common code used by all image loaders\n//\n\nenum\n{\n   STBI__SCAN_load=0,\n   STBI__SCAN_type,\n   STBI__SCAN_header\n};\n\nstatic void stbi__refill_buffer(stbi__context *s)\n{\n   int n = (s->io.read)(s->io_user_data,(char*)s->buffer_start,s->buflen);\n   if (n == 0) {\n      // at end of file, treat same as if from memory, but need to handle case\n      // where s->img_buffer isn't pointing to safe memory, e.g. 0-byte file\n      s->read_from_callbacks = 0;\n      s->img_buffer = s->buffer_start;\n      s->img_buffer_end = s->buffer_start+1;\n      *s->img_buffer = 0;\n   } else {\n      s->img_buffer = s->buffer_start;\n      s->img_buffer_end = s->buffer_start + n;\n   }\n}\n\nstbi_inline static stbi_uc stbi__get8(stbi__context *s)\n{\n   if (s->img_buffer < s->img_buffer_end)\n      return *s->img_buffer++;\n   if (s->read_from_callbacks) {\n      stbi__refill_buffer(s);\n      return *s->img_buffer++;\n   }\n   return 0;\n}\n\nstbi_inline static int stbi__at_eof(stbi__context *s)\n{\n   if (s->io.read) {\n      if (!(s->io.eof)(s->io_user_data)) return 0;\n      // if feof() is true, check if buffer = end\n      // special case: we've only got the special 0 character at the end\n      if (s->read_from_callbacks == 0) return 1;\n   }\n\n   return s->img_buffer >= s->img_buffer_end;\n}\n\nstatic void stbi__skip(stbi__context *s, int n)\n{\n   if (n < 0) {\n      s->img_buffer = s->img_buffer_end;\n      return;\n   }\n   if (s->io.read) {\n      int blen = (int) (s->img_buffer_end - s->img_buffer);\n      if (blen < n) {\n         s->img_buffer = s->img_buffer_end;\n         (s->io.skip)(s->io_user_data, n - blen);\n         return;\n      }\n   }\n   s->img_buffer += n;\n}\n\nstatic int stbi__getn(stbi__context *s, stbi_uc *buffer, int n)\n{\n   if (s->io.read) {\n      int blen = (int) (s->img_buffer_end - s->img_buffer);\n      if (blen < n) {\n         int res, count;\n\n         memcpy(buffer, s->img_buffer, blen);\n\n         count = (s->io.read)(s->io_user_data, (char*) buffer + blen, n - blen);\n         res = (count == (n-blen));\n         s->img_buffer = s->img_buffer_end;\n         return res;\n      }\n   }\n\n   if (s->img_buffer+n <= s->img_buffer_end) {\n      memcpy(buffer, s->img_buffer, n);\n      s->img_buffer += n;\n      return 1;\n   } else\n      return 0;\n}\n\nstatic int stbi__get16be(stbi__context *s)\n{\n   int z = stbi__get8(s);\n   return (z << 8) + stbi__get8(s);\n}\n\nstatic stbi__uint32 stbi__get32be(stbi__context *s)\n{\n   stbi__uint32 z = stbi__get16be(s);\n   return (z << 16) + stbi__get16be(s);\n}\n\n#if defined(STBI_NO_BMP) && defined(STBI_NO_TGA) && defined(STBI_NO_GIF)\n// nothing\n#else\nstatic int stbi__get16le(stbi__context *s)\n{\n   int z = stbi__get8(s);\n   return z + (stbi__get8(s) << 8);\n}\n#endif\n\n#ifndef STBI_NO_BMP\nstatic stbi__uint32 stbi__get32le(stbi__context *s)\n{\n   stbi__uint32 z = stbi__get16le(s);\n   return z + (stbi__get16le(s) << 16);\n}\n#endif\n\n#define STBI__BYTECAST(x)  ((stbi_uc) ((x) & 255))  // truncate int to byte without warnings\n\n\n//////////////////////////////////////////////////////////////////////////////\n//\n//  generic converter from built-in img_n to req_comp\n//    individual types do this automatically as much as possible (e.g. jpeg\n//    does all cases internally since it needs to colorspace convert anyway,\n//    and it never has alpha, so very few cases ). png can automatically\n//    interleave an alpha=255 channel, but falls back to this for other cases\n//\n//  assume data buffer is malloced, so malloc a new one and free that one\n//  only failure mode is malloc failing\n\nstatic stbi_uc stbi__compute_y(int r, int g, int b)\n{\n   return (stbi_uc) (((r*77) + (g*150) +  (29*b)) >> 8);\n}\n\nstatic unsigned char *stbi__convert_format(unsigned char *data, int img_n, int req_comp, unsigned int x, unsigned int y)\n{\n   int i,j;\n   unsigned char *good;\n\n   if (req_comp == img_n) return data;\n   STBI_ASSERT(req_comp >= 1 && req_comp <= 4);\n\n   good = (unsigned char *) stbi__malloc_mad3(req_comp, x, y, 0);\n   if (good == NULL) {\n      STBI_FREE(data);\n      return stbi__errpuc(\"outofmem\", \"Out of memory\");\n   }\n\n   for (j=0; j < (int) y; ++j) {\n      unsigned char *src  = data + j * x * img_n   ;\n      unsigned char *dest = good + j * x * req_comp;\n\n      #define STBI__COMBO(a,b)  ((a)*8+(b))\n      #define STBI__CASE(a,b)   case STBI__COMBO(a,b): for(i=x-1; i >= 0; --i, src += a, dest += b)\n      // convert source image with img_n components to one with req_comp components;\n      // avoid switch per pixel, so use switch per scanline and massive macros\n      switch (STBI__COMBO(img_n, req_comp)) {\n         STBI__CASE(1,2) { dest[0]=src[0], dest[1]=255;                                     } break;\n         STBI__CASE(1,3) { dest[0]=dest[1]=dest[2]=src[0];                                  } break;\n         STBI__CASE(1,4) { dest[0]=dest[1]=dest[2]=src[0], dest[3]=255;                     } break;\n         STBI__CASE(2,1) { dest[0]=src[0];                                                  } break;\n         STBI__CASE(2,3) { dest[0]=dest[1]=dest[2]=src[0];                                  } break;\n         STBI__CASE(2,4) { dest[0]=dest[1]=dest[2]=src[0], dest[3]=src[1];                  } break;\n         STBI__CASE(3,4) { dest[0]=src[0],dest[1]=src[1],dest[2]=src[2],dest[3]=255;        } break;\n         STBI__CASE(3,1) { dest[0]=stbi__compute_y(src[0],src[1],src[2]);                   } break;\n         STBI__CASE(3,2) { dest[0]=stbi__compute_y(src[0],src[1],src[2]), dest[1] = 255;    } break;\n         STBI__CASE(4,1) { dest[0]=stbi__compute_y(src[0],src[1],src[2]);                   } break;\n         STBI__CASE(4,2) { dest[0]=stbi__compute_y(src[0],src[1],src[2]), dest[1] = src[3]; } break;\n         STBI__CASE(4,3) { dest[0]=src[0],dest[1]=src[1],dest[2]=src[2];                    } break;\n         default: STBI_ASSERT(0);\n      }\n      #undef STBI__CASE\n   }\n\n   STBI_FREE(data);\n   return good;\n}\n\nstatic stbi__uint16 stbi__compute_y_16(int r, int g, int b)\n{\n   return (stbi__uint16) (((r*77) + (g*150) +  (29*b)) >> 8);\n}\n\nstatic stbi__uint16 *stbi__convert_format16(stbi__uint16 *data, int img_n, int req_comp, unsigned int x, unsigned int y)\n{\n   int i,j;\n   stbi__uint16 *good;\n\n   if (req_comp == img_n) return data;\n   STBI_ASSERT(req_comp >= 1 && req_comp <= 4);\n\n   good = (stbi__uint16 *) stbi__malloc(req_comp * x * y * 2);\n   if (good == NULL) {\n      STBI_FREE(data);\n      return (stbi__uint16 *) stbi__errpuc(\"outofmem\", \"Out of memory\");\n   }\n\n   for (j=0; j < (int) y; ++j) {\n      stbi__uint16 *src  = data + j * x * img_n   ;\n      stbi__uint16 *dest = good + j * x * req_comp;\n\n      #define STBI__COMBO(a,b)  ((a)*8+(b))\n      #define STBI__CASE(a,b)   case STBI__COMBO(a,b): for(i=x-1; i >= 0; --i, src += a, dest += b)\n      // convert source image with img_n components to one with req_comp components;\n      // avoid switch per pixel, so use switch per scanline and massive macros\n      switch (STBI__COMBO(img_n, req_comp)) {\n         STBI__CASE(1,2) { dest[0]=src[0], dest[1]=0xffff;                                     } break;\n         STBI__CASE(1,3) { dest[0]=dest[1]=dest[2]=src[0];                                     } break;\n         STBI__CASE(1,4) { dest[0]=dest[1]=dest[2]=src[0], dest[3]=0xffff;                     } break;\n         STBI__CASE(2,1) { dest[0]=src[0];                                                     } break;\n         STBI__CASE(2,3) { dest[0]=dest[1]=dest[2]=src[0];                                     } break;\n         STBI__CASE(2,4) { dest[0]=dest[1]=dest[2]=src[0], dest[3]=src[1];                     } break;\n         STBI__CASE(3,4) { dest[0]=src[0],dest[1]=src[1],dest[2]=src[2],dest[3]=0xffff;        } break;\n         STBI__CASE(3,1) { dest[0]=stbi__compute_y_16(src[0],src[1],src[2]);                   } break;\n         STBI__CASE(3,2) { dest[0]=stbi__compute_y_16(src[0],src[1],src[2]), dest[1] = 0xffff; } break;\n         STBI__CASE(4,1) { dest[0]=stbi__compute_y_16(src[0],src[1],src[2]);                   } break;\n         STBI__CASE(4,2) { dest[0]=stbi__compute_y_16(src[0],src[1],src[2]), dest[1] = src[3]; } break;\n         STBI__CASE(4,3) { dest[0]=src[0],dest[1]=src[1],dest[2]=src[2];                       } break;\n         default: STBI_ASSERT(0);\n      }\n      #undef STBI__CASE\n   }\n\n   STBI_FREE(data);\n   return good;\n}\n\n#ifndef STBI_NO_LINEAR\nstatic float   *stbi__ldr_to_hdr(stbi_uc *data, int x, int y, int comp)\n{\n   int i,k,n;\n   float *output;\n   if (!data) return NULL;\n   output = (float *) stbi__malloc_mad4(x, y, comp, sizeof(float), 0);\n   if (output == NULL) { STBI_FREE(data); return stbi__errpf(\"outofmem\", \"Out of memory\"); }\n   // compute number of non-alpha components\n   if (comp & 1) n = comp; else n = comp-1;\n   for (i=0; i < x*y; ++i) {\n      for (k=0; k < n; ++k) {\n         output[i*comp + k] = (float) (pow(data[i*comp+k]/255.0f, stbi__l2h_gamma) * stbi__l2h_scale);\n      }\n      if (k < comp) output[i*comp + k] = data[i*comp+k]/255.0f;\n   }\n   STBI_FREE(data);\n   return output;\n}\n#endif\n\n#ifndef STBI_NO_HDR\n#define stbi__float2int(x)   ((int) (x))\nstatic stbi_uc *stbi__hdr_to_ldr(float   *data, int x, int y, int comp)\n{\n   int i,k,n;\n   stbi_uc *output;\n   if (!data) return NULL;\n   output = (stbi_uc *) stbi__malloc_mad3(x, y, comp, 0);\n   if (output == NULL) { STBI_FREE(data); return stbi__errpuc(\"outofmem\", \"Out of memory\"); }\n   // compute number of non-alpha components\n   if (comp & 1) n = comp; else n = comp-1;\n   for (i=0; i < x*y; ++i) {\n      for (k=0; k < n; ++k) {\n         float z = (float) pow(data[i*comp+k]*stbi__h2l_scale_i, stbi__h2l_gamma_i) * 255 + 0.5f;\n         if (z < 0) z = 0;\n         if (z > 255) z = 255;\n         output[i*comp + k] = (stbi_uc) stbi__float2int(z);\n      }\n      if (k < comp) {\n         float z = data[i*comp+k] * 255 + 0.5f;\n         if (z < 0) z = 0;\n         if (z > 255) z = 255;\n         output[i*comp + k] = (stbi_uc) stbi__float2int(z);\n      }\n   }\n   STBI_FREE(data);\n   return output;\n}\n#endif\n\n//////////////////////////////////////////////////////////////////////////////\n//\n//  \"baseline\" JPEG/JFIF decoder\n//\n//    simple implementation\n//      - doesn't support delayed output of y-dimension\n//      - simple interface (only one output format: 8-bit interleaved RGB)\n//      - doesn't try to recover corrupt jpegs\n//      - doesn't allow partial loading, loading multiple at once\n//      - still fast on x86 (copying globals into locals doesn't help x86)\n//      - allocates lots of intermediate memory (full size of all components)\n//        - non-interleaved case requires this anyway\n//        - allows good upsampling (see next)\n//    high-quality\n//      - upsampled channels are bilinearly interpolated, even across blocks\n//      - quality integer IDCT derived from IJG's 'slow'\n//    performance\n//      - fast huffman; reasonable integer IDCT\n//      - some SIMD kernels for common paths on targets with SSE2/NEON\n//      - uses a lot of intermediate memory, could cache poorly\n\n#ifndef STBI_NO_JPEG\n\n// huffman decoding acceleration\n#define FAST_BITS   9  // larger handles more cases; smaller stomps less cache\n\ntypedef struct\n{\n   stbi_uc  fast[1 << FAST_BITS];\n   // weirdly, repacking this into AoS is a 10% speed loss, instead of a win\n   stbi__uint16 code[256];\n   stbi_uc  values[256];\n   stbi_uc  size[257];\n   unsigned int maxcode[18];\n   int    delta[17];   // old 'firstsymbol' - old 'firstcode'\n} stbi__huffman;\n\ntypedef struct\n{\n   stbi__context *s;\n   stbi__huffman huff_dc[4];\n   stbi__huffman huff_ac[4];\n   stbi__uint16 dequant[4][64];\n   stbi__int16 fast_ac[4][1 << FAST_BITS];\n\n// sizes for components, interleaved MCUs\n   int img_h_max, img_v_max;\n   int img_mcu_x, img_mcu_y;\n   int img_mcu_w, img_mcu_h;\n\n// definition of jpeg image component\n   struct\n   {\n      int id;\n      int h,v;\n      int tq;\n      int hd,ha;\n      int dc_pred;\n\n      int x,y,w2,h2;\n      stbi_uc *data;\n      void *raw_data, *raw_coeff;\n      stbi_uc *linebuf;\n      short   *coeff;   // progressive only\n      int      coeff_w, coeff_h; // number of 8x8 coefficient blocks\n   } img_comp[4];\n\n   stbi__uint32   code_buffer; // jpeg entropy-coded buffer\n   int            code_bits;   // number of valid bits\n   unsigned char  marker;      // marker seen while filling entropy buffer\n   int            nomore;      // flag if we saw a marker so must stop\n\n   int            progressive;\n   int            spec_start;\n   int            spec_end;\n   int            succ_high;\n   int            succ_low;\n   int            eob_run;\n   int            jfif;\n   int            app14_color_transform; // Adobe APP14 tag\n   int            rgb;\n\n   int scan_n, order[4];\n   int restart_interval, todo;\n\n// kernels\n   void (*idct_block_kernel)(stbi_uc *out, int out_stride, short data[64]);\n   void (*YCbCr_to_RGB_kernel)(stbi_uc *out, const stbi_uc *y, const stbi_uc *pcb, const stbi_uc *pcr, int count, int step);\n   stbi_uc *(*resample_row_hv_2_kernel)(stbi_uc *out, stbi_uc *in_near, stbi_uc *in_far, int w, int hs);\n} stbi__jpeg;\n\nstatic int stbi__build_huffman(stbi__huffman *h, int *count)\n{\n   int i,j,k=0,code;\n   // build size list for each symbol (from JPEG spec)\n   for (i=0; i < 16; ++i)\n      for (j=0; j < count[i]; ++j)\n         h->size[k++] = (stbi_uc) (i+1);\n   h->size[k] = 0;\n\n   // compute actual symbols (from jpeg spec)\n   code = 0;\n   k = 0;\n   for(j=1; j <= 16; ++j) {\n      // compute delta to add to code to compute symbol id\n      h->delta[j] = k - code;\n      if (h->size[k] == j) {\n         while (h->size[k] == j)\n            h->code[k++] = (stbi__uint16) (code++);\n         if (code-1 >= (1 << j)) return stbi__err(\"bad code lengths\",\"Corrupt JPEG\");\n      }\n      // compute largest code + 1 for this size, preshifted as needed later\n      h->maxcode[j] = code << (16-j);\n      code <<= 1;\n   }\n   h->maxcode[j] = 0xffffffff;\n\n   // build non-spec acceleration table; 255 is flag for not-accelerated\n   memset(h->fast, 255, 1 << FAST_BITS);\n   for (i=0; i < k; ++i) {\n      int s = h->size[i];\n      if (s <= FAST_BITS) {\n         int c = h->code[i] << (FAST_BITS-s);\n         int m = 1 << (FAST_BITS-s);\n         for (j=0; j < m; ++j) {\n            h->fast[c+j] = (stbi_uc) i;\n         }\n      }\n   }\n   return 1;\n}\n\n// build a table that decodes both magnitude and value of small ACs in\n// one go.\nstatic void stbi__build_fast_ac(stbi__int16 *fast_ac, stbi__huffman *h)\n{\n   int i;\n   for (i=0; i < (1 << FAST_BITS); ++i) {\n      stbi_uc fast = h->fast[i];\n      fast_ac[i] = 0;\n      if (fast < 255) {\n         int rs = h->values[fast];\n         int run = (rs >> 4) & 15;\n         int magbits = rs & 15;\n         int len = h->size[fast];\n\n         if (magbits && len + magbits <= FAST_BITS) {\n            // magnitude code followed by receive_extend code\n            int k = ((i << len) & ((1 << FAST_BITS) - 1)) >> (FAST_BITS - magbits);\n            int m = 1 << (magbits - 1);\n            if (k < m) k += (~0U << magbits) + 1;\n            // if the result is small enough, we can fit it in fast_ac table\n            if (k >= -128 && k <= 127)\n               fast_ac[i] = (stbi__int16) ((k << 8) + (run << 4) + (len + magbits));\n         }\n      }\n   }\n}\n\nstatic void stbi__grow_buffer_unsafe(stbi__jpeg *j)\n{\n   do {\n      int b = j->nomore ? 0 : stbi__get8(j->s);\n      if (b == 0xff) {\n         int c = stbi__get8(j->s);\n         while (c == 0xff) c = stbi__get8(j->s); // consume fill bytes\n         if (c != 0) {\n            j->marker = (unsigned char) c;\n            j->nomore = 1;\n            return;\n         }\n      }\n      j->code_buffer |= b << (24 - j->code_bits);\n      j->code_bits += 8;\n   } while (j->code_bits <= 24);\n}\n\n// (1 << n) - 1\nstatic stbi__uint32 stbi__bmask[17]={0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535};\n\n// decode a jpeg huffman value from the bitstream\nstbi_inline static int stbi__jpeg_huff_decode(stbi__jpeg *j, stbi__huffman *h)\n{\n   unsigned int temp;\n   int c,k;\n\n   if (j->code_bits < 16) stbi__grow_buffer_unsafe(j);\n\n   // look at the top FAST_BITS and determine what symbol ID it is,\n   // if the code is <= FAST_BITS\n   c = (j->code_buffer >> (32 - FAST_BITS)) & ((1 << FAST_BITS)-1);\n   k = h->fast[c];\n   if (k < 255) {\n      int s = h->size[k];\n      if (s > j->code_bits)\n         return -1;\n      j->code_buffer <<= s;\n      j->code_bits -= s;\n      return h->values[k];\n   }\n\n   // naive test is to shift the code_buffer down so k bits are\n   // valid, then test against maxcode. To speed this up, we've\n   // preshifted maxcode left so that it has (16-k) 0s at the\n   // end; in other words, regardless of the number of bits, it\n   // wants to be compared against something shifted to have 16;\n   // that way we don't need to shift inside the loop.\n   temp = j->code_buffer >> 16;\n   for (k=FAST_BITS+1 ; ; ++k)\n      if (temp < h->maxcode[k])\n         break;\n   if (k == 17) {\n      // error! code not found\n      j->code_bits -= 16;\n      return -1;\n   }\n\n   if (k > j->code_bits)\n      return -1;\n\n   // convert the huffman code to the symbol id\n   c = ((j->code_buffer >> (32 - k)) & stbi__bmask[k]) + h->delta[k];\n   STBI_ASSERT((((j->code_buffer) >> (32 - h->size[c])) & stbi__bmask[h->size[c]]) == h->code[c]);\n\n   // convert the id to a symbol\n   j->code_bits -= k;\n   j->code_buffer <<= k;\n   return h->values[c];\n}\n\n// bias[n] = (-1<<n) + 1\nstatic int const stbi__jbias[16] = {0,-1,-3,-7,-15,-31,-63,-127,-255,-511,-1023,-2047,-4095,-8191,-16383,-32767};\n\n// combined JPEG 'receive' and JPEG 'extend', since baseline\n// always extends everything it receives.\nstbi_inline static int stbi__extend_receive(stbi__jpeg *j, int n)\n{\n   unsigned int k;\n   int sgn;\n   if (j->code_bits < n) stbi__grow_buffer_unsafe(j);\n\n   sgn = (stbi__int32)j->code_buffer >> 31; // sign bit is always in MSB\n   k = stbi_lrot(j->code_buffer, n);\n   STBI_ASSERT(n >= 0 && n < (int) (sizeof(stbi__bmask)/sizeof(*stbi__bmask)));\n   j->code_buffer = k & ~stbi__bmask[n];\n   k &= stbi__bmask[n];\n   j->code_bits -= n;\n   return k + (stbi__jbias[n] & ~sgn);\n}\n\n// get some unsigned bits\nstbi_inline static int stbi__jpeg_get_bits(stbi__jpeg *j, int n)\n{\n   unsigned int k;\n   if (j->code_bits < n) stbi__grow_buffer_unsafe(j);\n   k = stbi_lrot(j->code_buffer, n);\n   j->code_buffer = k & ~stbi__bmask[n];\n   k &= stbi__bmask[n];\n   j->code_bits -= n;\n   return k;\n}\n\nstbi_inline static int stbi__jpeg_get_bit(stbi__jpeg *j)\n{\n   unsigned int k;\n   if (j->code_bits < 1) stbi__grow_buffer_unsafe(j);\n   k = j->code_buffer;\n   j->code_buffer <<= 1;\n   --j->code_bits;\n   return k & 0x80000000;\n}\n\n// given a value that's at position X in the zigzag stream,\n// where does it appear in the 8x8 matrix coded as row-major?\nstatic stbi_uc stbi__jpeg_dezigzag[64+15] =\n{\n    0,  1,  8, 16,  9,  2,  3, 10,\n   17, 24, 32, 25, 18, 11,  4,  5,\n   12, 19, 26, 33, 40, 48, 41, 34,\n   27, 20, 13,  6,  7, 14, 21, 28,\n   35, 42, 49, 56, 57, 50, 43, 36,\n   29, 22, 15, 23, 30, 37, 44, 51,\n   58, 59, 52, 45, 38, 31, 39, 46,\n   53, 60, 61, 54, 47, 55, 62, 63,\n   // let corrupt input sample past end\n   63, 63, 63, 63, 63, 63, 63, 63,\n   63, 63, 63, 63, 63, 63, 63\n};\n\n// decode one 64-entry block--\nstatic int stbi__jpeg_decode_block(stbi__jpeg *j, short data[64], stbi__huffman *hdc, stbi__huffman *hac, stbi__int16 *fac, int b, stbi__uint16 *dequant)\n{\n   int diff,dc,k;\n   int t;\n\n   if (j->code_bits < 16) stbi__grow_buffer_unsafe(j);\n   t = stbi__jpeg_huff_decode(j, hdc);\n   if (t < 0) return stbi__err(\"bad huffman code\",\"Corrupt JPEG\");\n\n   // 0 all the ac values now so we can do it 32-bits at a time\n   memset(data,0,64*sizeof(data[0]));\n\n   diff = t ? stbi__extend_receive(j, t) : 0;\n   dc = j->img_comp[b].dc_pred + diff;\n   j->img_comp[b].dc_pred = dc;\n   data[0] = (short) (dc * dequant[0]);\n\n   // decode AC components, see JPEG spec\n   k = 1;\n   do {\n      unsigned int zig;\n      int c,r,s;\n      if (j->code_bits < 16) stbi__grow_buffer_unsafe(j);\n      c = (j->code_buffer >> (32 - FAST_BITS)) & ((1 << FAST_BITS)-1);\n      r = fac[c];\n      if (r) { // fast-AC path\n         k += (r >> 4) & 15; // run\n         s = r & 15; // combined length\n         j->code_buffer <<= s;\n         j->code_bits -= s;\n         // decode into unzigzag'd location\n         zig = stbi__jpeg_dezigzag[k++];\n         data[zig] = (short) ((r >> 8) * dequant[zig]);\n      } else {\n         int rs = stbi__jpeg_huff_decode(j, hac);\n         if (rs < 0) return stbi__err(\"bad huffman code\",\"Corrupt JPEG\");\n         s = rs & 15;\n         r = rs >> 4;\n         if (s == 0) {\n            if (rs != 0xf0) break; // end block\n            k += 16;\n         } else {\n            k += r;\n            // decode into unzigzag'd location\n            zig = stbi__jpeg_dezigzag[k++];\n            data[zig] = (short) (stbi__extend_receive(j,s) * dequant[zig]);\n         }\n      }\n   } while (k < 64);\n   return 1;\n}\n\nstatic int stbi__jpeg_decode_block_prog_dc(stbi__jpeg *j, short data[64], stbi__huffman *hdc, int b)\n{\n   int diff,dc;\n   int t;\n   if (j->spec_end != 0) return stbi__err(\"can't merge dc and ac\", \"Corrupt JPEG\");\n\n   if (j->code_bits < 16) stbi__grow_buffer_unsafe(j);\n\n   if (j->succ_high == 0) {\n      // first scan for DC coefficient, must be first\n      memset(data,0,64*sizeof(data[0])); // 0 all the ac values now\n      t = stbi__jpeg_huff_decode(j, hdc);\n      diff = t ? stbi__extend_receive(j, t) : 0;\n\n      dc = j->img_comp[b].dc_pred + diff;\n      j->img_comp[b].dc_pred = dc;\n      data[0] = (short) (dc << j->succ_low);\n   } else {\n      // refinement scan for DC coefficient\n      if (stbi__jpeg_get_bit(j))\n         data[0] += (short) (1 << j->succ_low);\n   }\n   return 1;\n}\n\n// @OPTIMIZE: store non-zigzagged during the decode passes,\n// and only de-zigzag when dequantizing\nstatic int stbi__jpeg_decode_block_prog_ac(stbi__jpeg *j, short data[64], stbi__huffman *hac, stbi__int16 *fac)\n{\n   int k;\n   if (j->spec_start == 0) return stbi__err(\"can't merge dc and ac\", \"Corrupt JPEG\");\n\n   if (j->succ_high == 0) {\n      int shift = j->succ_low;\n\n      if (j->eob_run) {\n         --j->eob_run;\n         return 1;\n      }\n\n      k = j->spec_start;\n      do {\n         unsigned int zig;\n         int c,r,s;\n         if (j->code_bits < 16) stbi__grow_buffer_unsafe(j);\n         c = (j->code_buffer >> (32 - FAST_BITS)) & ((1 << FAST_BITS)-1);\n         r = fac[c];\n         if (r) { // fast-AC path\n            k += (r >> 4) & 15; // run\n            s = r & 15; // combined length\n            j->code_buffer <<= s;\n            j->code_bits -= s;\n            zig = stbi__jpeg_dezigzag[k++];\n            data[zig] = (short) ((r >> 8) << shift);\n         } else {\n            int rs = stbi__jpeg_huff_decode(j, hac);\n            if (rs < 0) return stbi__err(\"bad huffman code\",\"Corrupt JPEG\");\n            s = rs & 15;\n            r = rs >> 4;\n            if (s == 0) {\n               if (r < 15) {\n                  j->eob_run = (1 << r);\n                  if (r)\n                     j->eob_run += stbi__jpeg_get_bits(j, r);\n                  --j->eob_run;\n                  break;\n               }\n               k += 16;\n            } else {\n               k += r;\n               zig = stbi__jpeg_dezigzag[k++];\n               data[zig] = (short) (stbi__extend_receive(j,s) << shift);\n            }\n         }\n      } while (k <= j->spec_end);\n   } else {\n      // refinement scan for these AC coefficients\n\n      short bit = (short) (1 << j->succ_low);\n\n      if (j->eob_run) {\n         --j->eob_run;\n         for (k = j->spec_start; k <= j->spec_end; ++k) {\n            short *p = &data[stbi__jpeg_dezigzag[k]];\n            if (*p != 0)\n               if (stbi__jpeg_get_bit(j))\n                  if ((*p & bit)==0) {\n                     if (*p > 0)\n                        *p += bit;\n                     else\n                        *p -= bit;\n                  }\n         }\n      } else {\n         k = j->spec_start;\n         do {\n            int r,s;\n            int rs = stbi__jpeg_huff_decode(j, hac); // @OPTIMIZE see if we can use the fast path here, advance-by-r is so slow, eh\n            if (rs < 0) return stbi__err(\"bad huffman code\",\"Corrupt JPEG\");\n            s = rs & 15;\n            r = rs >> 4;\n            if (s == 0) {\n               if (r < 15) {\n                  j->eob_run = (1 << r) - 1;\n                  if (r)\n                     j->eob_run += stbi__jpeg_get_bits(j, r);\n                  r = 64; // force end of block\n               } else {\n                  // r=15 s=0 should write 16 0s, so we just do\n                  // a run of 15 0s and then write s (which is 0),\n                  // so we don't have to do anything special here\n               }\n            } else {\n               if (s != 1) return stbi__err(\"bad huffman code\", \"Corrupt JPEG\");\n               // sign bit\n               if (stbi__jpeg_get_bit(j))\n                  s = bit;\n               else\n                  s = -bit;\n            }\n\n            // advance by r\n            while (k <= j->spec_end) {\n               short *p = &data[stbi__jpeg_dezigzag[k++]];\n               if (*p != 0) {\n                  if (stbi__jpeg_get_bit(j))\n                     if ((*p & bit)==0) {\n                        if (*p > 0)\n                           *p += bit;\n                        else\n                           *p -= bit;\n                     }\n               } else {\n                  if (r == 0) {\n                     *p = (short) s;\n                     break;\n                  }\n                  --r;\n               }\n            }\n         } while (k <= j->spec_end);\n      }\n   }\n   return 1;\n}\n\n// take a -128..127 value and stbi__clamp it and convert to 0..255\nstbi_inline static stbi_uc stbi__clamp(int x)\n{\n   // trick to use a single test to catch both cases\n   if ((unsigned int) x > 255) {\n      if (x < 0) return 0;\n      if (x > 255) return 255;\n   }\n   return (stbi_uc) x;\n}\n\n#define stbi__f2f(x)  ((int) (((x) * 4096 + 0.5)))\n#define stbi__fsh(x)  ((x) << 12)\n\n// derived from jidctint -- DCT_ISLOW\n#define STBI__IDCT_1D(s0,s1,s2,s3,s4,s5,s6,s7) \\\n   int t0,t1,t2,t3,p1,p2,p3,p4,p5,x0,x1,x2,x3; \\\n   p2 = s2;                                    \\\n   p3 = s6;                                    \\\n   p1 = (p2+p3) * stbi__f2f(0.5411961f);       \\\n   t2 = p1 + p3*stbi__f2f(-1.847759065f);      \\\n   t3 = p1 + p2*stbi__f2f( 0.765366865f);      \\\n   p2 = s0;                                    \\\n   p3 = s4;                                    \\\n   t0 = stbi__fsh(p2+p3);                      \\\n   t1 = stbi__fsh(p2-p3);                      \\\n   x0 = t0+t3;                                 \\\n   x3 = t0-t3;                                 \\\n   x1 = t1+t2;                                 \\\n   x2 = t1-t2;                                 \\\n   t0 = s7;                                    \\\n   t1 = s5;                                    \\\n   t2 = s3;                                    \\\n   t3 = s1;                                    \\\n   p3 = t0+t2;                                 \\\n   p4 = t1+t3;                                 \\\n   p1 = t0+t3;                                 \\\n   p2 = t1+t2;                                 \\\n   p5 = (p3+p4)*stbi__f2f( 1.175875602f);      \\\n   t0 = t0*stbi__f2f( 0.298631336f);           \\\n   t1 = t1*stbi__f2f( 2.053119869f);           \\\n   t2 = t2*stbi__f2f( 3.072711026f);           \\\n   t3 = t3*stbi__f2f( 1.501321110f);           \\\n   p1 = p5 + p1*stbi__f2f(-0.899976223f);      \\\n   p2 = p5 + p2*stbi__f2f(-2.562915447f);      \\\n   p3 = p3*stbi__f2f(-1.961570560f);           \\\n   p4 = p4*stbi__f2f(-0.390180644f);           \\\n   t3 += p1+p4;                                \\\n   t2 += p2+p3;                                \\\n   t1 += p2+p4;                                \\\n   t0 += p1+p3;\n\nstatic void stbi__idct_block(stbi_uc *out, int out_stride, short data[64])\n{\n   int i,val[64],*v=val;\n   stbi_uc *o;\n   short *d = data;\n\n   // columns\n   for (i=0; i < 8; ++i,++d, ++v) {\n      // if all zeroes, shortcut -- this avoids dequantizing 0s and IDCTing\n      if (d[ 8]==0 && d[16]==0 && d[24]==0 && d[32]==0\n           && d[40]==0 && d[48]==0 && d[56]==0) {\n         //    no shortcut                 0     seconds\n         //    (1|2|3|4|5|6|7)==0          0     seconds\n         //    all separate               -0.047 seconds\n         //    1 && 2|3 && 4|5 && 6|7:    -0.047 seconds\n         int dcterm = d[0] << 2;\n         v[0] = v[8] = v[16] = v[24] = v[32] = v[40] = v[48] = v[56] = dcterm;\n      } else {\n         STBI__IDCT_1D(d[ 0],d[ 8],d[16],d[24],d[32],d[40],d[48],d[56])\n         // constants scaled things up by 1<<12; let's bring them back\n         // down, but keep 2 extra bits of precision\n         x0 += 512; x1 += 512; x2 += 512; x3 += 512;\n         v[ 0] = (x0+t3) >> 10;\n         v[56] = (x0-t3) >> 10;\n         v[ 8] = (x1+t2) >> 10;\n         v[48] = (x1-t2) >> 10;\n         v[16] = (x2+t1) >> 10;\n         v[40] = (x2-t1) >> 10;\n         v[24] = (x3+t0) >> 10;\n         v[32] = (x3-t0) >> 10;\n      }\n   }\n\n   for (i=0, v=val, o=out; i < 8; ++i,v+=8,o+=out_stride) {\n      // no fast case since the first 1D IDCT spread components out\n      STBI__IDCT_1D(v[0],v[1],v[2],v[3],v[4],v[5],v[6],v[7])\n      // constants scaled things up by 1<<12, plus we had 1<<2 from first\n      // loop, plus horizontal and vertical each scale by sqrt(8) so together\n      // we've got an extra 1<<3, so 1<<17 total we need to remove.\n      // so we want to round that, which means adding 0.5 * 1<<17,\n      // aka 65536. Also, we'll end up with -128 to 127 that we want\n      // to encode as 0..255 by adding 128, so we'll add that before the shift\n      x0 += 65536 + (128<<17);\n      x1 += 65536 + (128<<17);\n      x2 += 65536 + (128<<17);\n      x3 += 65536 + (128<<17);\n      // tried computing the shifts into temps, or'ing the temps to see\n      // if any were out of range, but that was slower\n      o[0] = stbi__clamp((x0+t3) >> 17);\n      o[7] = stbi__clamp((x0-t3) >> 17);\n      o[1] = stbi__clamp((x1+t2) >> 17);\n      o[6] = stbi__clamp((x1-t2) >> 17);\n      o[2] = stbi__clamp((x2+t1) >> 17);\n      o[5] = stbi__clamp((x2-t1) >> 17);\n      o[3] = stbi__clamp((x3+t0) >> 17);\n      o[4] = stbi__clamp((x3-t0) >> 17);\n   }\n}\n\n#ifdef STBI_SSE2\n// sse2 integer IDCT. not the fastest possible implementation but it\n// produces bit-identical results to the generic C version so it's\n// fully \"transparent\".\nstatic void stbi__idct_simd(stbi_uc *out, int out_stride, short data[64])\n{\n   // This is constructed to match our regular (generic) integer IDCT exactly.\n   __m128i row0, row1, row2, row3, row4, row5, row6, row7;\n   __m128i tmp;\n\n   // dot product constant: even elems=x, odd elems=y\n   #define dct_const(x,y)  _mm_setr_epi16((x),(y),(x),(y),(x),(y),(x),(y))\n\n   // out(0) = c0[even]*x + c0[odd]*y   (c0, x, y 16-bit, out 32-bit)\n   // out(1) = c1[even]*x + c1[odd]*y\n   #define dct_rot(out0,out1, x,y,c0,c1) \\\n      __m128i c0##lo = _mm_unpacklo_epi16((x),(y)); \\\n      __m128i c0##hi = _mm_unpackhi_epi16((x),(y)); \\\n      __m128i out0##_l = _mm_madd_epi16(c0##lo, c0); \\\n      __m128i out0##_h = _mm_madd_epi16(c0##hi, c0); \\\n      __m128i out1##_l = _mm_madd_epi16(c0##lo, c1); \\\n      __m128i out1##_h = _mm_madd_epi16(c0##hi, c1)\n\n   // out = in << 12  (in 16-bit, out 32-bit)\n   #define dct_widen(out, in) \\\n      __m128i out##_l = _mm_srai_epi32(_mm_unpacklo_epi16(_mm_setzero_si128(), (in)), 4); \\\n      __m128i out##_h = _mm_srai_epi32(_mm_unpackhi_epi16(_mm_setzero_si128(), (in)), 4)\n\n   // wide add\n   #define dct_wadd(out, a, b) \\\n      __m128i out##_l = _mm_add_epi32(a##_l, b##_l); \\\n      __m128i out##_h = _mm_add_epi32(a##_h, b##_h)\n\n   // wide sub\n   #define dct_wsub(out, a, b) \\\n      __m128i out##_l = _mm_sub_epi32(a##_l, b##_l); \\\n      __m128i out##_h = _mm_sub_epi32(a##_h, b##_h)\n\n   // butterfly a/b, add bias, then shift by \"s\" and pack\n   #define dct_bfly32o(out0, out1, a,b,bias,s) \\\n      { \\\n         __m128i abiased_l = _mm_add_epi32(a##_l, bias); \\\n         __m128i abiased_h = _mm_add_epi32(a##_h, bias); \\\n         dct_wadd(sum, abiased, b); \\\n         dct_wsub(dif, abiased, b); \\\n         out0 = _mm_packs_epi32(_mm_srai_epi32(sum_l, s), _mm_srai_epi32(sum_h, s)); \\\n         out1 = _mm_packs_epi32(_mm_srai_epi32(dif_l, s), _mm_srai_epi32(dif_h, s)); \\\n      }\n\n   // 8-bit interleave step (for transposes)\n   #define dct_interleave8(a, b) \\\n      tmp = a; \\\n      a = _mm_unpacklo_epi8(a, b); \\\n      b = _mm_unpackhi_epi8(tmp, b)\n\n   // 16-bit interleave step (for transposes)\n   #define dct_interleave16(a, b) \\\n      tmp = a; \\\n      a = _mm_unpacklo_epi16(a, b); \\\n      b = _mm_unpackhi_epi16(tmp, b)\n\n   #define dct_pass(bias,shift) \\\n      { \\\n         /* even part */ \\\n         dct_rot(t2e,t3e, row2,row6, rot0_0,rot0_1); \\\n         __m128i sum04 = _mm_add_epi16(row0, row4); \\\n         __m128i dif04 = _mm_sub_epi16(row0, row4); \\\n         dct_widen(t0e, sum04); \\\n         dct_widen(t1e, dif04); \\\n         dct_wadd(x0, t0e, t3e); \\\n         dct_wsub(x3, t0e, t3e); \\\n         dct_wadd(x1, t1e, t2e); \\\n         dct_wsub(x2, t1e, t2e); \\\n         /* odd part */ \\\n         dct_rot(y0o,y2o, row7,row3, rot2_0,rot2_1); \\\n         dct_rot(y1o,y3o, row5,row1, rot3_0,rot3_1); \\\n         __m128i sum17 = _mm_add_epi16(row1, row7); \\\n         __m128i sum35 = _mm_add_epi16(row3, row5); \\\n         dct_rot(y4o,y5o, sum17,sum35, rot1_0,rot1_1); \\\n         dct_wadd(x4, y0o, y4o); \\\n         dct_wadd(x5, y1o, y5o); \\\n         dct_wadd(x6, y2o, y5o); \\\n         dct_wadd(x7, y3o, y4o); \\\n         dct_bfly32o(row0,row7, x0,x7,bias,shift); \\\n         dct_bfly32o(row1,row6, x1,x6,bias,shift); \\\n         dct_bfly32o(row2,row5, x2,x5,bias,shift); \\\n         dct_bfly32o(row3,row4, x3,x4,bias,shift); \\\n      }\n\n   __m128i rot0_0 = dct_const(stbi__f2f(0.5411961f), stbi__f2f(0.5411961f) + stbi__f2f(-1.847759065f));\n   __m128i rot0_1 = dct_const(stbi__f2f(0.5411961f) + stbi__f2f( 0.765366865f), stbi__f2f(0.5411961f));\n   __m128i rot1_0 = dct_const(stbi__f2f(1.175875602f) + stbi__f2f(-0.899976223f), stbi__f2f(1.175875602f));\n   __m128i rot1_1 = dct_const(stbi__f2f(1.175875602f), stbi__f2f(1.175875602f) + stbi__f2f(-2.562915447f));\n   __m128i rot2_0 = dct_const(stbi__f2f(-1.961570560f) + stbi__f2f( 0.298631336f), stbi__f2f(-1.961570560f));\n   __m128i rot2_1 = dct_const(stbi__f2f(-1.961570560f), stbi__f2f(-1.961570560f) + stbi__f2f( 3.072711026f));\n   __m128i rot3_0 = dct_const(stbi__f2f(-0.390180644f) + stbi__f2f( 2.053119869f), stbi__f2f(-0.390180644f));\n   __m128i rot3_1 = dct_const(stbi__f2f(-0.390180644f), stbi__f2f(-0.390180644f) + stbi__f2f( 1.501321110f));\n\n   // rounding biases in column/row passes, see stbi__idct_block for explanation.\n   __m128i bias_0 = _mm_set1_epi32(512);\n   __m128i bias_1 = _mm_set1_epi32(65536 + (128<<17));\n\n   // load\n   row0 = _mm_load_si128((const __m128i *) (data + 0*8));\n   row1 = _mm_load_si128((const __m128i *) (data + 1*8));\n   row2 = _mm_load_si128((const __m128i *) (data + 2*8));\n   row3 = _mm_load_si128((const __m128i *) (data + 3*8));\n   row4 = _mm_load_si128((const __m128i *) (data + 4*8));\n   row5 = _mm_load_si128((const __m128i *) (data + 5*8));\n   row6 = _mm_load_si128((const __m128i *) (data + 6*8));\n   row7 = _mm_load_si128((const __m128i *) (data + 7*8));\n\n   // column pass\n   dct_pass(bias_0, 10);\n\n   {\n      // 16bit 8x8 transpose pass 1\n      dct_interleave16(row0, row4);\n      dct_interleave16(row1, row5);\n      dct_interleave16(row2, row6);\n      dct_interleave16(row3, row7);\n\n      // transpose pass 2\n      dct_interleave16(row0, row2);\n      dct_interleave16(row1, row3);\n      dct_interleave16(row4, row6);\n      dct_interleave16(row5, row7);\n\n      // transpose pass 3\n      dct_interleave16(row0, row1);\n      dct_interleave16(row2, row3);\n      dct_interleave16(row4, row5);\n      dct_interleave16(row6, row7);\n   }\n\n   // row pass\n   dct_pass(bias_1, 17);\n\n   {\n      // pack\n      __m128i p0 = _mm_packus_epi16(row0, row1); // a0a1a2a3...a7b0b1b2b3...b7\n      __m128i p1 = _mm_packus_epi16(row2, row3);\n      __m128i p2 = _mm_packus_epi16(row4, row5);\n      __m128i p3 = _mm_packus_epi16(row6, row7);\n\n      // 8bit 8x8 transpose pass 1\n      dct_interleave8(p0, p2); // a0e0a1e1...\n      dct_interleave8(p1, p3); // c0g0c1g1...\n\n      // transpose pass 2\n      dct_interleave8(p0, p1); // a0c0e0g0...\n      dct_interleave8(p2, p3); // b0d0f0h0...\n\n      // transpose pass 3\n      dct_interleave8(p0, p2); // a0b0c0d0...\n      dct_interleave8(p1, p3); // a4b4c4d4...\n\n      // store\n      _mm_storel_epi64((__m128i *) out, p0); out += out_stride;\n      _mm_storel_epi64((__m128i *) out, _mm_shuffle_epi32(p0, 0x4e)); out += out_stride;\n      _mm_storel_epi64((__m128i *) out, p2); out += out_stride;\n      _mm_storel_epi64((__m128i *) out, _mm_shuffle_epi32(p2, 0x4e)); out += out_stride;\n      _mm_storel_epi64((__m128i *) out, p1); out += out_stride;\n      _mm_storel_epi64((__m128i *) out, _mm_shuffle_epi32(p1, 0x4e)); out += out_stride;\n      _mm_storel_epi64((__m128i *) out, p3); out += out_stride;\n      _mm_storel_epi64((__m128i *) out, _mm_shuffle_epi32(p3, 0x4e));\n   }\n\n#undef dct_const\n#undef dct_rot\n#undef dct_widen\n#undef dct_wadd\n#undef dct_wsub\n#undef dct_bfly32o\n#undef dct_interleave8\n#undef dct_interleave16\n#undef dct_pass\n}\n\n#endif // STBI_SSE2\n\n#ifdef STBI_NEON\n\n// NEON integer IDCT. should produce bit-identical\n// results to the generic C version.\nstatic void stbi__idct_simd(stbi_uc *out, int out_stride, short data[64])\n{\n   int16x8_t row0, row1, row2, row3, row4, row5, row6, row7;\n\n   int16x4_t rot0_0 = vdup_n_s16(stbi__f2f(0.5411961f));\n   int16x4_t rot0_1 = vdup_n_s16(stbi__f2f(-1.847759065f));\n   int16x4_t rot0_2 = vdup_n_s16(stbi__f2f( 0.765366865f));\n   int16x4_t rot1_0 = vdup_n_s16(stbi__f2f( 1.175875602f));\n   int16x4_t rot1_1 = vdup_n_s16(stbi__f2f(-0.899976223f));\n   int16x4_t rot1_2 = vdup_n_s16(stbi__f2f(-2.562915447f));\n   int16x4_t rot2_0 = vdup_n_s16(stbi__f2f(-1.961570560f));\n   int16x4_t rot2_1 = vdup_n_s16(stbi__f2f(-0.390180644f));\n   int16x4_t rot3_0 = vdup_n_s16(stbi__f2f( 0.298631336f));\n   int16x4_t rot3_1 = vdup_n_s16(stbi__f2f( 2.053119869f));\n   int16x4_t rot3_2 = vdup_n_s16(stbi__f2f( 3.072711026f));\n   int16x4_t rot3_3 = vdup_n_s16(stbi__f2f( 1.501321110f));\n\n#define dct_long_mul(out, inq, coeff) \\\n   int32x4_t out##_l = vmull_s16(vget_low_s16(inq), coeff); \\\n   int32x4_t out##_h = vmull_s16(vget_high_s16(inq), coeff)\n\n#define dct_long_mac(out, acc, inq, coeff) \\\n   int32x4_t out##_l = vmlal_s16(acc##_l, vget_low_s16(inq), coeff); \\\n   int32x4_t out##_h = vmlal_s16(acc##_h, vget_high_s16(inq), coeff)\n\n#define dct_widen(out, inq) \\\n   int32x4_t out##_l = vshll_n_s16(vget_low_s16(inq), 12); \\\n   int32x4_t out##_h = vshll_n_s16(vget_high_s16(inq), 12)\n\n// wide add\n#define dct_wadd(out, a, b) \\\n   int32x4_t out##_l = vaddq_s32(a##_l, b##_l); \\\n   int32x4_t out##_h = vaddq_s32(a##_h, b##_h)\n\n// wide sub\n#define dct_wsub(out, a, b) \\\n   int32x4_t out##_l = vsubq_s32(a##_l, b##_l); \\\n   int32x4_t out##_h = vsubq_s32(a##_h, b##_h)\n\n// butterfly a/b, then shift using \"shiftop\" by \"s\" and pack\n#define dct_bfly32o(out0,out1, a,b,shiftop,s) \\\n   { \\\n      dct_wadd(sum, a, b); \\\n      dct_wsub(dif, a, b); \\\n      out0 = vcombine_s16(shiftop(sum_l, s), shiftop(sum_h, s)); \\\n      out1 = vcombine_s16(shiftop(dif_l, s), shiftop(dif_h, s)); \\\n   }\n\n#define dct_pass(shiftop, shift) \\\n   { \\\n      /* even part */ \\\n      int16x8_t sum26 = vaddq_s16(row2, row6); \\\n      dct_long_mul(p1e, sum26, rot0_0); \\\n      dct_long_mac(t2e, p1e, row6, rot0_1); \\\n      dct_long_mac(t3e, p1e, row2, rot0_2); \\\n      int16x8_t sum04 = vaddq_s16(row0, row4); \\\n      int16x8_t dif04 = vsubq_s16(row0, row4); \\\n      dct_widen(t0e, sum04); \\\n      dct_widen(t1e, dif04); \\\n      dct_wadd(x0, t0e, t3e); \\\n      dct_wsub(x3, t0e, t3e); \\\n      dct_wadd(x1, t1e, t2e); \\\n      dct_wsub(x2, t1e, t2e); \\\n      /* odd part */ \\\n      int16x8_t sum15 = vaddq_s16(row1, row5); \\\n      int16x8_t sum17 = vaddq_s16(row1, row7); \\\n      int16x8_t sum35 = vaddq_s16(row3, row5); \\\n      int16x8_t sum37 = vaddq_s16(row3, row7); \\\n      int16x8_t sumodd = vaddq_s16(sum17, sum35); \\\n      dct_long_mul(p5o, sumodd, rot1_0); \\\n      dct_long_mac(p1o, p5o, sum17, rot1_1); \\\n      dct_long_mac(p2o, p5o, sum35, rot1_2); \\\n      dct_long_mul(p3o, sum37, rot2_0); \\\n      dct_long_mul(p4o, sum15, rot2_1); \\\n      dct_wadd(sump13o, p1o, p3o); \\\n      dct_wadd(sump24o, p2o, p4o); \\\n      dct_wadd(sump23o, p2o, p3o); \\\n      dct_wadd(sump14o, p1o, p4o); \\\n      dct_long_mac(x4, sump13o, row7, rot3_0); \\\n      dct_long_mac(x5, sump24o, row5, rot3_1); \\\n      dct_long_mac(x6, sump23o, row3, rot3_2); \\\n      dct_long_mac(x7, sump14o, row1, rot3_3); \\\n      dct_bfly32o(row0,row7, x0,x7,shiftop,shift); \\\n      dct_bfly32o(row1,row6, x1,x6,shiftop,shift); \\\n      dct_bfly32o(row2,row5, x2,x5,shiftop,shift); \\\n      dct_bfly32o(row3,row4, x3,x4,shiftop,shift); \\\n   }\n\n   // load\n   row0 = vld1q_s16(data + 0*8);\n   row1 = vld1q_s16(data + 1*8);\n   row2 = vld1q_s16(data + 2*8);\n   row3 = vld1q_s16(data + 3*8);\n   row4 = vld1q_s16(data + 4*8);\n   row5 = vld1q_s16(data + 5*8);\n   row6 = vld1q_s16(data + 6*8);\n   row7 = vld1q_s16(data + 7*8);\n\n   // add DC bias\n   row0 = vaddq_s16(row0, vsetq_lane_s16(1024, vdupq_n_s16(0), 0));\n\n   // column pass\n   dct_pass(vrshrn_n_s32, 10);\n\n   // 16bit 8x8 transpose\n   {\n// these three map to a single VTRN.16, VTRN.32, and VSWP, respectively.\n// whether compilers actually get this is another story, sadly.\n#define dct_trn16(x, y) { int16x8x2_t t = vtrnq_s16(x, y); x = t.val[0]; y = t.val[1]; }\n#define dct_trn32(x, y) { int32x4x2_t t = vtrnq_s32(vreinterpretq_s32_s16(x), vreinterpretq_s32_s16(y)); x = vreinterpretq_s16_s32(t.val[0]); y = vreinterpretq_s16_s32(t.val[1]); }\n#define dct_trn64(x, y) { int16x8_t x0 = x; int16x8_t y0 = y; x = vcombine_s16(vget_low_s16(x0), vget_low_s16(y0)); y = vcombine_s16(vget_high_s16(x0), vget_high_s16(y0)); }\n\n      // pass 1\n      dct_trn16(row0, row1); // a0b0a2b2a4b4a6b6\n      dct_trn16(row2, row3);\n      dct_trn16(row4, row5);\n      dct_trn16(row6, row7);\n\n      // pass 2\n      dct_trn32(row0, row2); // a0b0c0d0a4b4c4d4\n      dct_trn32(row1, row3);\n      dct_trn32(row4, row6);\n      dct_trn32(row5, row7);\n\n      // pass 3\n      dct_trn64(row0, row4); // a0b0c0d0e0f0g0h0\n      dct_trn64(row1, row5);\n      dct_trn64(row2, row6);\n      dct_trn64(row3, row7);\n\n#undef dct_trn16\n#undef dct_trn32\n#undef dct_trn64\n   }\n\n   // row pass\n   // vrshrn_n_s32 only supports shifts up to 16, we need\n   // 17. so do a non-rounding shift of 16 first then follow\n   // up with a rounding shift by 1.\n   dct_pass(vshrn_n_s32, 16);\n\n   {\n      // pack and round\n      uint8x8_t p0 = vqrshrun_n_s16(row0, 1);\n      uint8x8_t p1 = vqrshrun_n_s16(row1, 1);\n      uint8x8_t p2 = vqrshrun_n_s16(row2, 1);\n      uint8x8_t p3 = vqrshrun_n_s16(row3, 1);\n      uint8x8_t p4 = vqrshrun_n_s16(row4, 1);\n      uint8x8_t p5 = vqrshrun_n_s16(row5, 1);\n      uint8x8_t p6 = vqrshrun_n_s16(row6, 1);\n      uint8x8_t p7 = vqrshrun_n_s16(row7, 1);\n\n      // again, these can translate into one instruction, but often don't.\n#define dct_trn8_8(x, y) { uint8x8x2_t t = vtrn_u8(x, y); x = t.val[0]; y = t.val[1]; }\n#define dct_trn8_16(x, y) { uint16x4x2_t t = vtrn_u16(vreinterpret_u16_u8(x), vreinterpret_u16_u8(y)); x = vreinterpret_u8_u16(t.val[0]); y = vreinterpret_u8_u16(t.val[1]); }\n#define dct_trn8_32(x, y) { uint32x2x2_t t = vtrn_u32(vreinterpret_u32_u8(x), vreinterpret_u32_u8(y)); x = vreinterpret_u8_u32(t.val[0]); y = vreinterpret_u8_u32(t.val[1]); }\n\n      // sadly can't use interleaved stores here since we only write\n      // 8 bytes to each scan line!\n\n      // 8x8 8-bit transpose pass 1\n      dct_trn8_8(p0, p1);\n      dct_trn8_8(p2, p3);\n      dct_trn8_8(p4, p5);\n      dct_trn8_8(p6, p7);\n\n      // pass 2\n      dct_trn8_16(p0, p2);\n      dct_trn8_16(p1, p3);\n      dct_trn8_16(p4, p6);\n      dct_trn8_16(p5, p7);\n\n      // pass 3\n      dct_trn8_32(p0, p4);\n      dct_trn8_32(p1, p5);\n      dct_trn8_32(p2, p6);\n      dct_trn8_32(p3, p7);\n\n      // store\n      vst1_u8(out, p0); out += out_stride;\n      vst1_u8(out, p1); out += out_stride;\n      vst1_u8(out, p2); out += out_stride;\n      vst1_u8(out, p3); out += out_stride;\n      vst1_u8(out, p4); out += out_stride;\n      vst1_u8(out, p5); out += out_stride;\n      vst1_u8(out, p6); out += out_stride;\n      vst1_u8(out, p7);\n\n#undef dct_trn8_8\n#undef dct_trn8_16\n#undef dct_trn8_32\n   }\n\n#undef dct_long_mul\n#undef dct_long_mac\n#undef dct_widen\n#undef dct_wadd\n#undef dct_wsub\n#undef dct_bfly32o\n#undef dct_pass\n}\n\n#endif // STBI_NEON\n\n#define STBI__MARKER_none  0xff\n// if there's a pending marker from the entropy stream, return that\n// otherwise, fetch from the stream and get a marker. if there's no\n// marker, return 0xff, which is never a valid marker value\nstatic stbi_uc stbi__get_marker(stbi__jpeg *j)\n{\n   stbi_uc x;\n   if (j->marker != STBI__MARKER_none) { x = j->marker; j->marker = STBI__MARKER_none; return x; }\n   x = stbi__get8(j->s);\n   if (x != 0xff) return STBI__MARKER_none;\n   while (x == 0xff)\n      x = stbi__get8(j->s); // consume repeated 0xff fill bytes\n   return x;\n}\n\n// in each scan, we'll have scan_n components, and the order\n// of the components is specified by order[]\n#define STBI__RESTART(x)     ((x) >= 0xd0 && (x) <= 0xd7)\n\n// after a restart interval, stbi__jpeg_reset the entropy decoder and\n// the dc prediction\nstatic void stbi__jpeg_reset(stbi__jpeg *j)\n{\n   j->code_bits = 0;\n   j->code_buffer = 0;\n   j->nomore = 0;\n   j->img_comp[0].dc_pred = j->img_comp[1].dc_pred = j->img_comp[2].dc_pred = j->img_comp[3].dc_pred = 0;\n   j->marker = STBI__MARKER_none;\n   j->todo = j->restart_interval ? j->restart_interval : 0x7fffffff;\n   j->eob_run = 0;\n   // no more than 1<<31 MCUs if no restart_interal? that's plenty safe,\n   // since we don't even allow 1<<30 pixels\n}\n\nstatic int stbi__parse_entropy_coded_data(stbi__jpeg *z)\n{\n   stbi__jpeg_reset(z);\n   if (!z->progressive) {\n      if (z->scan_n == 1) {\n         int i,j;\n         STBI_SIMD_ALIGN(short, data[64]);\n         int n = z->order[0];\n         // non-interleaved data, we just need to process one block at a time,\n         // in trivial scanline order\n         // number of blocks to do just depends on how many actual \"pixels\" this\n         // component has, independent of interleaved MCU blocking and such\n         int w = (z->img_comp[n].x+7) >> 3;\n         int h = (z->img_comp[n].y+7) >> 3;\n         for (j=0; j < h; ++j) {\n            for (i=0; i < w; ++i) {\n               int ha = z->img_comp[n].ha;\n               if (!stbi__jpeg_decode_block(z, data, z->huff_dc+z->img_comp[n].hd, z->huff_ac+ha, z->fast_ac[ha], n, z->dequant[z->img_comp[n].tq])) return 0;\n               z->idct_block_kernel(z->img_comp[n].data+z->img_comp[n].w2*j*8+i*8, z->img_comp[n].w2, data);\n               // every data block is an MCU, so countdown the restart interval\n               if (--z->todo <= 0) {\n                  if (z->code_bits < 24) stbi__grow_buffer_unsafe(z);\n                  // if it's NOT a restart, then just bail, so we get corrupt data\n                  // rather than no data\n                  if (!STBI__RESTART(z->marker)) return 1;\n                  stbi__jpeg_reset(z);\n               }\n            }\n         }\n         return 1;\n      } else { // interleaved\n         int i,j,k,x,y;\n         STBI_SIMD_ALIGN(short, data[64]);\n         for (j=0; j < z->img_mcu_y; ++j) {\n            for (i=0; i < z->img_mcu_x; ++i) {\n               // scan an interleaved mcu... process scan_n components in order\n               for (k=0; k < z->scan_n; ++k) {\n                  int n = z->order[k];\n                  // scan out an mcu's worth of this component; that's just determined\n                  // by the basic H and V specified for the component\n                  for (y=0; y < z->img_comp[n].v; ++y) {\n                     for (x=0; x < z->img_comp[n].h; ++x) {\n                        int x2 = (i*z->img_comp[n].h + x)*8;\n                        int y2 = (j*z->img_comp[n].v + y)*8;\n                        int ha = z->img_comp[n].ha;\n                        if (!stbi__jpeg_decode_block(z, data, z->huff_dc+z->img_comp[n].hd, z->huff_ac+ha, z->fast_ac[ha], n, z->dequant[z->img_comp[n].tq])) return 0;\n                        z->idct_block_kernel(z->img_comp[n].data+z->img_comp[n].w2*y2+x2, z->img_comp[n].w2, data);\n                     }\n                  }\n               }\n               // after all interleaved components, that's an interleaved MCU,\n               // so now count down the restart interval\n               if (--z->todo <= 0) {\n                  if (z->code_bits < 24) stbi__grow_buffer_unsafe(z);\n                  if (!STBI__RESTART(z->marker)) return 1;\n                  stbi__jpeg_reset(z);\n               }\n            }\n         }\n         return 1;\n      }\n   } else {\n      if (z->scan_n == 1) {\n         int i,j;\n         int n = z->order[0];\n         // non-interleaved data, we just need to process one block at a time,\n         // in trivial scanline order\n         // number of blocks to do just depends on how many actual \"pixels\" this\n         // component has, independent of interleaved MCU blocking and such\n         int w = (z->img_comp[n].x+7) >> 3;\n         int h = (z->img_comp[n].y+7) >> 3;\n         for (j=0; j < h; ++j) {\n            for (i=0; i < w; ++i) {\n               short *data = z->img_comp[n].coeff + 64 * (i + j * z->img_comp[n].coeff_w);\n               if (z->spec_start == 0) {\n                  if (!stbi__jpeg_decode_block_prog_dc(z, data, &z->huff_dc[z->img_comp[n].hd], n))\n                     return 0;\n               } else {\n                  int ha = z->img_comp[n].ha;\n                  if (!stbi__jpeg_decode_block_prog_ac(z, data, &z->huff_ac[ha], z->fast_ac[ha]))\n                     return 0;\n               }\n               // every data block is an MCU, so countdown the restart interval\n               if (--z->todo <= 0) {\n                  if (z->code_bits < 24) stbi__grow_buffer_unsafe(z);\n                  if (!STBI__RESTART(z->marker)) return 1;\n                  stbi__jpeg_reset(z);\n               }\n            }\n         }\n         return 1;\n      } else { // interleaved\n         int i,j,k,x,y;\n         for (j=0; j < z->img_mcu_y; ++j) {\n            for (i=0; i < z->img_mcu_x; ++i) {\n               // scan an interleaved mcu... process scan_n components in order\n               for (k=0; k < z->scan_n; ++k) {\n                  int n = z->order[k];\n                  // scan out an mcu's worth of this component; that's just determined\n                  // by the basic H and V specified for the component\n                  for (y=0; y < z->img_comp[n].v; ++y) {\n                     for (x=0; x < z->img_comp[n].h; ++x) {\n                        int x2 = (i*z->img_comp[n].h + x);\n                        int y2 = (j*z->img_comp[n].v + y);\n                        short *data = z->img_comp[n].coeff + 64 * (x2 + y2 * z->img_comp[n].coeff_w);\n                        if (!stbi__jpeg_decode_block_prog_dc(z, data, &z->huff_dc[z->img_comp[n].hd], n))\n                           return 0;\n                     }\n                  }\n               }\n               // after all interleaved components, that's an interleaved MCU,\n               // so now count down the restart interval\n               if (--z->todo <= 0) {\n                  if (z->code_bits < 24) stbi__grow_buffer_unsafe(z);\n                  if (!STBI__RESTART(z->marker)) return 1;\n                  stbi__jpeg_reset(z);\n               }\n            }\n         }\n         return 1;\n      }\n   }\n}\n\nstatic void stbi__jpeg_dequantize(short *data, stbi__uint16 *dequant)\n{\n   int i;\n   for (i=0; i < 64; ++i)\n      data[i] *= dequant[i];\n}\n\nstatic void stbi__jpeg_finish(stbi__jpeg *z)\n{\n   if (z->progressive) {\n      // dequantize and idct the data\n      int i,j,n;\n      for (n=0; n < z->s->img_n; ++n) {\n         int w = (z->img_comp[n].x+7) >> 3;\n         int h = (z->img_comp[n].y+7) >> 3;\n         for (j=0; j < h; ++j) {\n            for (i=0; i < w; ++i) {\n               short *data = z->img_comp[n].coeff + 64 * (i + j * z->img_comp[n].coeff_w);\n               stbi__jpeg_dequantize(data, z->dequant[z->img_comp[n].tq]);\n               z->idct_block_kernel(z->img_comp[n].data+z->img_comp[n].w2*j*8+i*8, z->img_comp[n].w2, data);\n            }\n         }\n      }\n   }\n}\n\nstatic int stbi__process_marker(stbi__jpeg *z, int m)\n{\n   int L;\n   switch (m) {\n      case STBI__MARKER_none: // no marker found\n         return stbi__err(\"expected marker\",\"Corrupt JPEG\");\n\n      case 0xDD: // DRI - specify restart interval\n         if (stbi__get16be(z->s) != 4) return stbi__err(\"bad DRI len\",\"Corrupt JPEG\");\n         z->restart_interval = stbi__get16be(z->s);\n         return 1;\n\n      case 0xDB: // DQT - define quantization table\n         L = stbi__get16be(z->s)-2;\n         while (L > 0) {\n            int q = stbi__get8(z->s);\n            int p = q >> 4, sixteen = (p != 0);\n            int t = q & 15,i;\n            if (p != 0 && p != 1) return stbi__err(\"bad DQT type\",\"Corrupt JPEG\");\n            if (t > 3) return stbi__err(\"bad DQT table\",\"Corrupt JPEG\");\n\n            for (i=0; i < 64; ++i)\n               z->dequant[t][stbi__jpeg_dezigzag[i]] = (stbi__uint16)(sixteen ? stbi__get16be(z->s) : stbi__get8(z->s));\n            L -= (sixteen ? 129 : 65);\n         }\n         return L==0;\n\n      case 0xC4: // DHT - define huffman table\n         L = stbi__get16be(z->s)-2;\n         while (L > 0) {\n            stbi_uc *v;\n            int sizes[16],i,n=0;\n            int q = stbi__get8(z->s);\n            int tc = q >> 4;\n            int th = q & 15;\n            if (tc > 1 || th > 3) return stbi__err(\"bad DHT header\",\"Corrupt JPEG\");\n            for (i=0; i < 16; ++i) {\n               sizes[i] = stbi__get8(z->s);\n               n += sizes[i];\n            }\n            L -= 17;\n            if (tc == 0) {\n               if (!stbi__build_huffman(z->huff_dc+th, sizes)) return 0;\n               v = z->huff_dc[th].values;\n            } else {\n               if (!stbi__build_huffman(z->huff_ac+th, sizes)) return 0;\n               v = z->huff_ac[th].values;\n            }\n            for (i=0; i < n; ++i)\n               v[i] = stbi__get8(z->s);\n            if (tc != 0)\n               stbi__build_fast_ac(z->fast_ac[th], z->huff_ac + th);\n            L -= n;\n         }\n         return L==0;\n   }\n\n   // check for comment block or APP blocks\n   if ((m >= 0xE0 && m <= 0xEF) || m == 0xFE) {\n      L = stbi__get16be(z->s);\n      if (L < 2) {\n         if (m == 0xFE)\n            return stbi__err(\"bad COM len\",\"Corrupt JPEG\");\n         else\n            return stbi__err(\"bad APP len\",\"Corrupt JPEG\");\n      }\n      L -= 2;\n\n      if (m == 0xE0 && L >= 5) { // JFIF APP0 segment\n         static const unsigned char tag[5] = {'J','F','I','F','\\0'};\n         int ok = 1;\n         int i;\n         for (i=0; i < 5; ++i)\n            if (stbi__get8(z->s) != tag[i])\n               ok = 0;\n         L -= 5;\n         if (ok)\n            z->jfif = 1;\n      } else if (m == 0xEE && L >= 12) { // Adobe APP14 segment\n         static const unsigned char tag[6] = {'A','d','o','b','e','\\0'};\n         int ok = 1;\n         int i;\n         for (i=0; i < 6; ++i)\n            if (stbi__get8(z->s) != tag[i])\n               ok = 0;\n         L -= 6;\n         if (ok) {\n            stbi__get8(z->s); // version\n            stbi__get16be(z->s); // flags0\n            stbi__get16be(z->s); // flags1\n            z->app14_color_transform = stbi__get8(z->s); // color transform\n            L -= 6;\n         }\n      }\n\n      stbi__skip(z->s, L);\n      return 1;\n   }\n\n   return stbi__err(\"unknown marker\",\"Corrupt JPEG\");\n}\n\n// after we see SOS\nstatic int stbi__process_scan_header(stbi__jpeg *z)\n{\n   int i;\n   int Ls = stbi__get16be(z->s);\n   z->scan_n = stbi__get8(z->s);\n   if (z->scan_n < 1 || z->scan_n > 4 || z->scan_n > (int) z->s->img_n) return stbi__err(\"bad SOS component count\",\"Corrupt JPEG\");\n   if (Ls != 6+2*z->scan_n) return stbi__err(\"bad SOS len\",\"Corrupt JPEG\");\n   for (i=0; i < z->scan_n; ++i) {\n      int id = stbi__get8(z->s), which;\n      int q = stbi__get8(z->s);\n      for (which = 0; which < z->s->img_n; ++which)\n         if (z->img_comp[which].id == id)\n            break;\n      if (which == z->s->img_n) return 0; // no match\n      z->img_comp[which].hd = q >> 4;   if (z->img_comp[which].hd > 3) return stbi__err(\"bad DC huff\",\"Corrupt JPEG\");\n      z->img_comp[which].ha = q & 15;   if (z->img_comp[which].ha > 3) return stbi__err(\"bad AC huff\",\"Corrupt JPEG\");\n      z->order[i] = which;\n   }\n\n   {\n      int aa;\n      z->spec_start = stbi__get8(z->s);\n      z->spec_end   = stbi__get8(z->s); // should be 63, but might be 0\n      aa = stbi__get8(z->s);\n      z->succ_high = (aa >> 4);\n      z->succ_low  = (aa & 15);\n      if (z->progressive) {\n         if (z->spec_start > 63 || z->spec_end > 63  || z->spec_start > z->spec_end || z->succ_high > 13 || z->succ_low > 13)\n            return stbi__err(\"bad SOS\", \"Corrupt JPEG\");\n      } else {\n         if (z->spec_start != 0) return stbi__err(\"bad SOS\",\"Corrupt JPEG\");\n         if (z->succ_high != 0 || z->succ_low != 0) return stbi__err(\"bad SOS\",\"Corrupt JPEG\");\n         z->spec_end = 63;\n      }\n   }\n\n   return 1;\n}\n\nstatic int stbi__free_jpeg_components(stbi__jpeg *z, int ncomp, int why)\n{\n   int i;\n   for (i=0; i < ncomp; ++i) {\n      if (z->img_comp[i].raw_data) {\n         STBI_FREE(z->img_comp[i].raw_data);\n         z->img_comp[i].raw_data = NULL;\n         z->img_comp[i].data = NULL;\n      }\n      if (z->img_comp[i].raw_coeff) {\n         STBI_FREE(z->img_comp[i].raw_coeff);\n         z->img_comp[i].raw_coeff = 0;\n         z->img_comp[i].coeff = 0;\n      }\n      if (z->img_comp[i].linebuf) {\n         STBI_FREE(z->img_comp[i].linebuf);\n         z->img_comp[i].linebuf = NULL;\n      }\n   }\n   return why;\n}\n\nstatic int stbi__process_frame_header(stbi__jpeg *z, int scan)\n{\n   stbi__context *s = z->s;\n   int Lf,p,i,q, h_max=1,v_max=1,c;\n   Lf = stbi__get16be(s);         if (Lf < 11) return stbi__err(\"bad SOF len\",\"Corrupt JPEG\"); // JPEG\n   p  = stbi__get8(s);            if (p != 8) return stbi__err(\"only 8-bit\",\"JPEG format not supported: 8-bit only\"); // JPEG baseline\n   s->img_y = stbi__get16be(s);   if (s->img_y == 0) return stbi__err(\"no header height\", \"JPEG format not supported: delayed height\"); // Legal, but we don't handle it--but neither does IJG\n   s->img_x = stbi__get16be(s);   if (s->img_x == 0) return stbi__err(\"0 width\",\"Corrupt JPEG\"); // JPEG requires\n   c = stbi__get8(s);\n   if (c != 3 && c != 1 && c != 4) return stbi__err(\"bad component count\",\"Corrupt JPEG\");\n   s->img_n = c;\n   for (i=0; i < c; ++i) {\n      z->img_comp[i].data = NULL;\n      z->img_comp[i].linebuf = NULL;\n   }\n\n   if (Lf != 8+3*s->img_n) return stbi__err(\"bad SOF len\",\"Corrupt JPEG\");\n\n   z->rgb = 0;\n   for (i=0; i < s->img_n; ++i) {\n      static unsigned char rgb[3] = { 'R', 'G', 'B' };\n      z->img_comp[i].id = stbi__get8(s);\n      if (s->img_n == 3 && z->img_comp[i].id == rgb[i])\n         ++z->rgb;\n      q = stbi__get8(s);\n      z->img_comp[i].h = (q >> 4);  if (!z->img_comp[i].h || z->img_comp[i].h > 4) return stbi__err(\"bad H\",\"Corrupt JPEG\");\n      z->img_comp[i].v = q & 15;    if (!z->img_comp[i].v || z->img_comp[i].v > 4) return stbi__err(\"bad V\",\"Corrupt JPEG\");\n      z->img_comp[i].tq = stbi__get8(s);  if (z->img_comp[i].tq > 3) return stbi__err(\"bad TQ\",\"Corrupt JPEG\");\n   }\n\n   if (scan != STBI__SCAN_load) return 1;\n\n   if (!stbi__mad3sizes_valid(s->img_x, s->img_y, s->img_n, 0)) return stbi__err(\"too large\", \"Image too large to decode\");\n\n   for (i=0; i < s->img_n; ++i) {\n      if (z->img_comp[i].h > h_max) h_max = z->img_comp[i].h;\n      if (z->img_comp[i].v > v_max) v_max = z->img_comp[i].v;\n   }\n\n   // compute interleaved mcu info\n   z->img_h_max = h_max;\n   z->img_v_max = v_max;\n   z->img_mcu_w = h_max * 8;\n   z->img_mcu_h = v_max * 8;\n   // these sizes can't be more than 17 bits\n   z->img_mcu_x = (s->img_x + z->img_mcu_w-1) / z->img_mcu_w;\n   z->img_mcu_y = (s->img_y + z->img_mcu_h-1) / z->img_mcu_h;\n\n   for (i=0; i < s->img_n; ++i) {\n      // number of effective pixels (e.g. for non-interleaved MCU)\n      z->img_comp[i].x = (s->img_x * z->img_comp[i].h + h_max-1) / h_max;\n      z->img_comp[i].y = (s->img_y * z->img_comp[i].v + v_max-1) / v_max;\n      // to simplify generation, we'll allocate enough memory to decode\n      // the bogus oversized data from using interleaved MCUs and their\n      // big blocks (e.g. a 16x16 iMCU on an image of width 33); we won't\n      // discard the extra data until colorspace conversion\n      //\n      // img_mcu_x, img_mcu_y: <=17 bits; comp[i].h and .v are <=4 (checked earlier)\n      // so these muls can't overflow with 32-bit ints (which we require)\n      z->img_comp[i].w2 = z->img_mcu_x * z->img_comp[i].h * 8;\n      z->img_comp[i].h2 = z->img_mcu_y * z->img_comp[i].v * 8;\n      z->img_comp[i].coeff = 0;\n      z->img_comp[i].raw_coeff = 0;\n      z->img_comp[i].linebuf = NULL;\n      z->img_comp[i].raw_data = stbi__malloc_mad2(z->img_comp[i].w2, z->img_comp[i].h2, 15);\n      if (z->img_comp[i].raw_data == NULL)\n         return stbi__free_jpeg_components(z, i+1, stbi__err(\"outofmem\", \"Out of memory\"));\n      // align blocks for idct using mmx/sse\n      z->img_comp[i].data = (stbi_uc*) (((size_t) z->img_comp[i].raw_data + 15) & ~15);\n      if (z->progressive) {\n         // w2, h2 are multiples of 8 (see above)\n         z->img_comp[i].coeff_w = z->img_comp[i].w2 / 8;\n         z->img_comp[i].coeff_h = z->img_comp[i].h2 / 8;\n         z->img_comp[i].raw_coeff = stbi__malloc_mad3(z->img_comp[i].w2, z->img_comp[i].h2, sizeof(short), 15);\n         if (z->img_comp[i].raw_coeff == NULL)\n            return stbi__free_jpeg_components(z, i+1, stbi__err(\"outofmem\", \"Out of memory\"));\n         z->img_comp[i].coeff = (short*) (((size_t) z->img_comp[i].raw_coeff + 15) & ~15);\n      }\n   }\n\n   return 1;\n}\n\n// use comparisons since in some cases we handle more than one case (e.g. SOF)\n#define stbi__DNL(x)         ((x) == 0xdc)\n#define stbi__SOI(x)         ((x) == 0xd8)\n#define stbi__EOI(x)         ((x) == 0xd9)\n#define stbi__SOF(x)         ((x) == 0xc0 || (x) == 0xc1 || (x) == 0xc2)\n#define stbi__SOS(x)         ((x) == 0xda)\n\n#define stbi__SOF_progressive(x)   ((x) == 0xc2)\n\nstatic int stbi__decode_jpeg_header(stbi__jpeg *z, int scan)\n{\n   int m;\n   z->jfif = 0;\n   z->app14_color_transform = -1; // valid values are 0,1,2\n   z->marker = STBI__MARKER_none; // initialize cached marker to empty\n   m = stbi__get_marker(z);\n   if (!stbi__SOI(m)) return stbi__err(\"no SOI\",\"Corrupt JPEG\");\n   if (scan == STBI__SCAN_type) return 1;\n   m = stbi__get_marker(z);\n   while (!stbi__SOF(m)) {\n      if (!stbi__process_marker(z,m)) return 0;\n      m = stbi__get_marker(z);\n      while (m == STBI__MARKER_none) {\n         // some files have extra padding after their blocks, so ok, we'll scan\n         if (stbi__at_eof(z->s)) return stbi__err(\"no SOF\", \"Corrupt JPEG\");\n         m = stbi__get_marker(z);\n      }\n   }\n   z->progressive = stbi__SOF_progressive(m);\n   if (!stbi__process_frame_header(z, scan)) return 0;\n   return 1;\n}\n\n// decode image to YCbCr format\nstatic int stbi__decode_jpeg_image(stbi__jpeg *j)\n{\n   int m;\n   for (m = 0; m < 4; m++) {\n      j->img_comp[m].raw_data = NULL;\n      j->img_comp[m].raw_coeff = NULL;\n   }\n   j->restart_interval = 0;\n   if (!stbi__decode_jpeg_header(j, STBI__SCAN_load)) return 0;\n   m = stbi__get_marker(j);\n   while (!stbi__EOI(m)) {\n      if (stbi__SOS(m)) {\n         if (!stbi__process_scan_header(j)) return 0;\n         if (!stbi__parse_entropy_coded_data(j)) return 0;\n         if (j->marker == STBI__MARKER_none ) {\n            // handle 0s at the end of image data from IP Kamera 9060\n            while (!stbi__at_eof(j->s)) {\n               int x = stbi__get8(j->s);\n               if (x == 255) {\n                  j->marker = stbi__get8(j->s);\n                  break;\n               }\n            }\n            // if we reach eof without hitting a marker, stbi__get_marker() below will fail and we'll eventually return 0\n         }\n      } else if (stbi__DNL(m)) {\n         int Ld = stbi__get16be(j->s);\n         stbi__uint32 NL = stbi__get16be(j->s);\n         if (Ld != 4) stbi__err(\"bad DNL len\", \"Corrupt JPEG\");\n         if (NL != j->s->img_y) stbi__err(\"bad DNL height\", \"Corrupt JPEG\");\n      } else {\n         if (!stbi__process_marker(j, m)) return 0;\n      }\n      m = stbi__get_marker(j);\n   }\n   if (j->progressive)\n      stbi__jpeg_finish(j);\n   return 1;\n}\n\n// static jfif-centered resampling (across block boundaries)\n\ntypedef stbi_uc *(*resample_row_func)(stbi_uc *out, stbi_uc *in0, stbi_uc *in1,\n                                    int w, int hs);\n\n#define stbi__div4(x) ((stbi_uc) ((x) >> 2))\n\nstatic stbi_uc *resample_row_1(stbi_uc *out, stbi_uc *in_near, stbi_uc *in_far, int w, int hs)\n{\n   STBI_NOTUSED(out);\n   STBI_NOTUSED(in_far);\n   STBI_NOTUSED(w);\n   STBI_NOTUSED(hs);\n   return in_near;\n}\n\nstatic stbi_uc* stbi__resample_row_v_2(stbi_uc *out, stbi_uc *in_near, stbi_uc *in_far, int w, int hs)\n{\n   // need to generate two samples vertically for every one in input\n   int i;\n   STBI_NOTUSED(hs);\n   for (i=0; i < w; ++i)\n      out[i] = stbi__div4(3*in_near[i] + in_far[i] + 2);\n   return out;\n}\n\nstatic stbi_uc*  stbi__resample_row_h_2(stbi_uc *out, stbi_uc *in_near, stbi_uc *in_far, int w, int hs)\n{\n   // need to generate two samples horizontally for every one in input\n   int i;\n   stbi_uc *input = in_near;\n\n   if (w == 1) {\n      // if only one sample, can't do any interpolation\n      out[0] = out[1] = input[0];\n      return out;\n   }\n\n   out[0] = input[0];\n   out[1] = stbi__div4(input[0]*3 + input[1] + 2);\n   for (i=1; i < w-1; ++i) {\n      int n = 3*input[i]+2;\n      out[i*2+0] = stbi__div4(n+input[i-1]);\n      out[i*2+1] = stbi__div4(n+input[i+1]);\n   }\n   out[i*2+0] = stbi__div4(input[w-2]*3 + input[w-1] + 2);\n   out[i*2+1] = input[w-1];\n\n   STBI_NOTUSED(in_far);\n   STBI_NOTUSED(hs);\n\n   return out;\n}\n\n#define stbi__div16(x) ((stbi_uc) ((x) >> 4))\n\nstatic stbi_uc *stbi__resample_row_hv_2(stbi_uc *out, stbi_uc *in_near, stbi_uc *in_far, int w, int hs)\n{\n   // need to generate 2x2 samples for every one in input\n   int i,t0,t1;\n   if (w == 1) {\n      out[0] = out[1] = stbi__div4(3*in_near[0] + in_far[0] + 2);\n      return out;\n   }\n\n   t1 = 3*in_near[0] + in_far[0];\n   out[0] = stbi__div4(t1+2);\n   for (i=1; i < w; ++i) {\n      t0 = t1;\n      t1 = 3*in_near[i]+in_far[i];\n      out[i*2-1] = stbi__div16(3*t0 + t1 + 8);\n      out[i*2  ] = stbi__div16(3*t1 + t0 + 8);\n   }\n   out[w*2-1] = stbi__div4(t1+2);\n\n   STBI_NOTUSED(hs);\n\n   return out;\n}\n\n#if defined(STBI_SSE2) || defined(STBI_NEON)\nstatic stbi_uc *stbi__resample_row_hv_2_simd(stbi_uc *out, stbi_uc *in_near, stbi_uc *in_far, int w, int hs)\n{\n   // need to generate 2x2 samples for every one in input\n   int i=0,t0,t1;\n\n   if (w == 1) {\n      out[0] = out[1] = stbi__div4(3*in_near[0] + in_far[0] + 2);\n      return out;\n   }\n\n   t1 = 3*in_near[0] + in_far[0];\n   // process groups of 8 pixels for as long as we can.\n   // note we can't handle the last pixel in a row in this loop\n   // because we need to handle the filter boundary conditions.\n   for (; i < ((w-1) & ~7); i += 8) {\n#if defined(STBI_SSE2)\n      // load and perform the vertical filtering pass\n      // this uses 3*x + y = 4*x + (y - x)\n      __m128i zero  = _mm_setzero_si128();\n      __m128i farb  = _mm_loadl_epi64((__m128i *) (in_far + i));\n      __m128i nearb = _mm_loadl_epi64((__m128i *) (in_near + i));\n      __m128i farw  = _mm_unpacklo_epi8(farb, zero);\n      __m128i nearw = _mm_unpacklo_epi8(nearb, zero);\n      __m128i diff  = _mm_sub_epi16(farw, nearw);\n      __m128i nears = _mm_slli_epi16(nearw, 2);\n      __m128i curr  = _mm_add_epi16(nears, diff); // current row\n\n      // horizontal filter works the same based on shifted vers of current\n      // row. \"prev\" is current row shifted right by 1 pixel; we need to\n      // insert the previous pixel value (from t1).\n      // \"next\" is current row shifted left by 1 pixel, with first pixel\n      // of next block of 8 pixels added in.\n      __m128i prv0 = _mm_slli_si128(curr, 2);\n      __m128i nxt0 = _mm_srli_si128(curr, 2);\n      __m128i prev = _mm_insert_epi16(prv0, t1, 0);\n      __m128i next = _mm_insert_epi16(nxt0, 3*in_near[i+8] + in_far[i+8], 7);\n\n      // horizontal filter, polyphase implementation since it's convenient:\n      // even pixels = 3*cur + prev = cur*4 + (prev - cur)\n      // odd  pixels = 3*cur + next = cur*4 + (next - cur)\n      // note the shared term.\n      __m128i bias  = _mm_set1_epi16(8);\n      __m128i curs = _mm_slli_epi16(curr, 2);\n      __m128i prvd = _mm_sub_epi16(prev, curr);\n      __m128i nxtd = _mm_sub_epi16(next, curr);\n      __m128i curb = _mm_add_epi16(curs, bias);\n      __m128i even = _mm_add_epi16(prvd, curb);\n      __m128i odd  = _mm_add_epi16(nxtd, curb);\n\n      // interleave even and odd pixels, then undo scaling.\n      __m128i int0 = _mm_unpacklo_epi16(even, odd);\n      __m128i int1 = _mm_unpackhi_epi16(even, odd);\n      __m128i de0  = _mm_srli_epi16(int0, 4);\n      __m128i de1  = _mm_srli_epi16(int1, 4);\n\n      // pack and write output\n      __m128i outv = _mm_packus_epi16(de0, de1);\n      _mm_storeu_si128((__m128i *) (out + i*2), outv);\n#elif defined(STBI_NEON)\n      // load and perform the vertical filtering pass\n      // this uses 3*x + y = 4*x + (y - x)\n      uint8x8_t farb  = vld1_u8(in_far + i);\n      uint8x8_t nearb = vld1_u8(in_near + i);\n      int16x8_t diff  = vreinterpretq_s16_u16(vsubl_u8(farb, nearb));\n      int16x8_t nears = vreinterpretq_s16_u16(vshll_n_u8(nearb, 2));\n      int16x8_t curr  = vaddq_s16(nears, diff); // current row\n\n      // horizontal filter works the same based on shifted vers of current\n      // row. \"prev\" is current row shifted right by 1 pixel; we need to\n      // insert the previous pixel value (from t1).\n      // \"next\" is current row shifted left by 1 pixel, with first pixel\n      // of next block of 8 pixels added in.\n      int16x8_t prv0 = vextq_s16(curr, curr, 7);\n      int16x8_t nxt0 = vextq_s16(curr, curr, 1);\n      int16x8_t prev = vsetq_lane_s16(t1, prv0, 0);\n      int16x8_t next = vsetq_lane_s16(3*in_near[i+8] + in_far[i+8], nxt0, 7);\n\n      // horizontal filter, polyphase implementation since it's convenient:\n      // even pixels = 3*cur + prev = cur*4 + (prev - cur)\n      // odd  pixels = 3*cur + next = cur*4 + (next - cur)\n      // note the shared term.\n      int16x8_t curs = vshlq_n_s16(curr, 2);\n      int16x8_t prvd = vsubq_s16(prev, curr);\n      int16x8_t nxtd = vsubq_s16(next, curr);\n      int16x8_t even = vaddq_s16(curs, prvd);\n      int16x8_t odd  = vaddq_s16(curs, nxtd);\n\n      // undo scaling and round, then store with even/odd phases interleaved\n      uint8x8x2_t o;\n      o.val[0] = vqrshrun_n_s16(even, 4);\n      o.val[1] = vqrshrun_n_s16(odd,  4);\n      vst2_u8(out + i*2, o);\n#endif\n\n      // \"previous\" value for next iter\n      t1 = 3*in_near[i+7] + in_far[i+7];\n   }\n\n   t0 = t1;\n   t1 = 3*in_near[i] + in_far[i];\n   out[i*2] = stbi__div16(3*t1 + t0 + 8);\n\n   for (++i; i < w; ++i) {\n      t0 = t1;\n      t1 = 3*in_near[i]+in_far[i];\n      out[i*2-1] = stbi__div16(3*t0 + t1 + 8);\n      out[i*2  ] = stbi__div16(3*t1 + t0 + 8);\n   }\n   out[w*2-1] = stbi__div4(t1+2);\n\n   STBI_NOTUSED(hs);\n\n   return out;\n}\n#endif\n\nstatic stbi_uc *stbi__resample_row_generic(stbi_uc *out, stbi_uc *in_near, stbi_uc *in_far, int w, int hs)\n{\n   // resample with nearest-neighbor\n   int i,j;\n   STBI_NOTUSED(in_far);\n   for (i=0; i < w; ++i)\n      for (j=0; j < hs; ++j)\n         out[i*hs+j] = in_near[i];\n   return out;\n}\n\n// this is a reduced-precision calculation of YCbCr-to-RGB introduced\n// to make sure the code produces the same results in both SIMD and scalar\n#define stbi__float2fixed(x)  (((int) ((x) * 4096.0f + 0.5f)) << 8)\nstatic void stbi__YCbCr_to_RGB_row(stbi_uc *out, const stbi_uc *y, const stbi_uc *pcb, const stbi_uc *pcr, int count, int step)\n{\n   int i;\n   for (i=0; i < count; ++i) {\n      int y_fixed = (y[i] << 20) + (1<<19); // rounding\n      int r,g,b;\n      int cr = pcr[i] - 128;\n      int cb = pcb[i] - 128;\n      r = y_fixed +  cr* stbi__float2fixed(1.40200f);\n      g = y_fixed + (cr*-stbi__float2fixed(0.71414f)) + ((cb*-stbi__float2fixed(0.34414f)) & 0xffff0000);\n      b = y_fixed                                     +   cb* stbi__float2fixed(1.77200f);\n      r >>= 20;\n      g >>= 20;\n      b >>= 20;\n      if ((unsigned) r > 255) { if (r < 0) r = 0; else r = 255; }\n      if ((unsigned) g > 255) { if (g < 0) g = 0; else g = 255; }\n      if ((unsigned) b > 255) { if (b < 0) b = 0; else b = 255; }\n      out[0] = (stbi_uc)r;\n      out[1] = (stbi_uc)g;\n      out[2] = (stbi_uc)b;\n      out[3] = 255;\n      out += step;\n   }\n}\n\n#if defined(STBI_SSE2) || defined(STBI_NEON)\nstatic void stbi__YCbCr_to_RGB_simd(stbi_uc *out, stbi_uc const *y, stbi_uc const *pcb, stbi_uc const *pcr, int count, int step)\n{\n   int i = 0;\n\n#ifdef STBI_SSE2\n   // step == 3 is pretty ugly on the final interleave, and i'm not convinced\n   // it's useful in practice (you wouldn't use it for textures, for example).\n   // so just accelerate step == 4 case.\n   if (step == 4) {\n      // this is a fairly straightforward implementation and not super-optimized.\n      __m128i signflip  = _mm_set1_epi8(-0x80);\n      __m128i cr_const0 = _mm_set1_epi16(   (short) ( 1.40200f*4096.0f+0.5f));\n      __m128i cr_const1 = _mm_set1_epi16( - (short) ( 0.71414f*4096.0f+0.5f));\n      __m128i cb_const0 = _mm_set1_epi16( - (short) ( 0.34414f*4096.0f+0.5f));\n      __m128i cb_const1 = _mm_set1_epi16(   (short) ( 1.77200f*4096.0f+0.5f));\n      __m128i y_bias = _mm_set1_epi8((char) (unsigned char) 128);\n      __m128i xw = _mm_set1_epi16(255); // alpha channel\n\n      for (; i+7 < count; i += 8) {\n         // load\n         __m128i y_bytes = _mm_loadl_epi64((__m128i *) (y+i));\n         __m128i cr_bytes = _mm_loadl_epi64((__m128i *) (pcr+i));\n         __m128i cb_bytes = _mm_loadl_epi64((__m128i *) (pcb+i));\n         __m128i cr_biased = _mm_xor_si128(cr_bytes, signflip); // -128\n         __m128i cb_biased = _mm_xor_si128(cb_bytes, signflip); // -128\n\n         // unpack to short (and left-shift cr, cb by 8)\n         __m128i yw  = _mm_unpacklo_epi8(y_bias, y_bytes);\n         __m128i crw = _mm_unpacklo_epi8(_mm_setzero_si128(), cr_biased);\n         __m128i cbw = _mm_unpacklo_epi8(_mm_setzero_si128(), cb_biased);\n\n         // color transform\n         __m128i yws = _mm_srli_epi16(yw, 4);\n         __m128i cr0 = _mm_mulhi_epi16(cr_const0, crw);\n         __m128i cb0 = _mm_mulhi_epi16(cb_const0, cbw);\n         __m128i cb1 = _mm_mulhi_epi16(cbw, cb_const1);\n         __m128i cr1 = _mm_mulhi_epi16(crw, cr_const1);\n         __m128i rws = _mm_add_epi16(cr0, yws);\n         __m128i gwt = _mm_add_epi16(cb0, yws);\n         __m128i bws = _mm_add_epi16(yws, cb1);\n         __m128i gws = _mm_add_epi16(gwt, cr1);\n\n         // descale\n         __m128i rw = _mm_srai_epi16(rws, 4);\n         __m128i bw = _mm_srai_epi16(bws, 4);\n         __m128i gw = _mm_srai_epi16(gws, 4);\n\n         // back to byte, set up for transpose\n         __m128i brb = _mm_packus_epi16(rw, bw);\n         __m128i gxb = _mm_packus_epi16(gw, xw);\n\n         // transpose to interleave channels\n         __m128i t0 = _mm_unpacklo_epi8(brb, gxb);\n         __m128i t1 = _mm_unpackhi_epi8(brb, gxb);\n         __m128i o0 = _mm_unpacklo_epi16(t0, t1);\n         __m128i o1 = _mm_unpackhi_epi16(t0, t1);\n\n         // store\n         _mm_storeu_si128((__m128i *) (out + 0), o0);\n         _mm_storeu_si128((__m128i *) (out + 16), o1);\n         out += 32;\n      }\n   }\n#endif\n\n#ifdef STBI_NEON\n   // in this version, step=3 support would be easy to add. but is there demand?\n   if (step == 4) {\n      // this is a fairly straightforward implementation and not super-optimized.\n      uint8x8_t signflip = vdup_n_u8(0x80);\n      int16x8_t cr_const0 = vdupq_n_s16(   (short) ( 1.40200f*4096.0f+0.5f));\n      int16x8_t cr_const1 = vdupq_n_s16( - (short) ( 0.71414f*4096.0f+0.5f));\n      int16x8_t cb_const0 = vdupq_n_s16( - (short) ( 0.34414f*4096.0f+0.5f));\n      int16x8_t cb_const1 = vdupq_n_s16(   (short) ( 1.77200f*4096.0f+0.5f));\n\n      for (; i+7 < count; i += 8) {\n         // load\n         uint8x8_t y_bytes  = vld1_u8(y + i);\n         uint8x8_t cr_bytes = vld1_u8(pcr + i);\n         uint8x8_t cb_bytes = vld1_u8(pcb + i);\n         int8x8_t cr_biased = vreinterpret_s8_u8(vsub_u8(cr_bytes, signflip));\n         int8x8_t cb_biased = vreinterpret_s8_u8(vsub_u8(cb_bytes, signflip));\n\n         // expand to s16\n         int16x8_t yws = vreinterpretq_s16_u16(vshll_n_u8(y_bytes, 4));\n         int16x8_t crw = vshll_n_s8(cr_biased, 7);\n         int16x8_t cbw = vshll_n_s8(cb_biased, 7);\n\n         // color transform\n         int16x8_t cr0 = vqdmulhq_s16(crw, cr_const0);\n         int16x8_t cb0 = vqdmulhq_s16(cbw, cb_const0);\n         int16x8_t cr1 = vqdmulhq_s16(crw, cr_const1);\n         int16x8_t cb1 = vqdmulhq_s16(cbw, cb_const1);\n         int16x8_t rws = vaddq_s16(yws, cr0);\n         int16x8_t gws = vaddq_s16(vaddq_s16(yws, cb0), cr1);\n         int16x8_t bws = vaddq_s16(yws, cb1);\n\n         // undo scaling, round, convert to byte\n         uint8x8x4_t o;\n         o.val[0] = vqrshrun_n_s16(rws, 4);\n         o.val[1] = vqrshrun_n_s16(gws, 4);\n         o.val[2] = vqrshrun_n_s16(bws, 4);\n         o.val[3] = vdup_n_u8(255);\n\n         // store, interleaving r/g/b/a\n         vst4_u8(out, o);\n         out += 8*4;\n      }\n   }\n#endif\n\n   for (; i < count; ++i) {\n      int y_fixed = (y[i] << 20) + (1<<19); // rounding\n      int r,g,b;\n      int cr = pcr[i] - 128;\n      int cb = pcb[i] - 128;\n      r = y_fixed + cr* stbi__float2fixed(1.40200f);\n      g = y_fixed + cr*-stbi__float2fixed(0.71414f) + ((cb*-stbi__float2fixed(0.34414f)) & 0xffff0000);\n      b = y_fixed                                   +   cb* stbi__float2fixed(1.77200f);\n      r >>= 20;\n      g >>= 20;\n      b >>= 20;\n      if ((unsigned) r > 255) { if (r < 0) r = 0; else r = 255; }\n      if ((unsigned) g > 255) { if (g < 0) g = 0; else g = 255; }\n      if ((unsigned) b > 255) { if (b < 0) b = 0; else b = 255; }\n      out[0] = (stbi_uc)r;\n      out[1] = (stbi_uc)g;\n      out[2] = (stbi_uc)b;\n      out[3] = 255;\n      out += step;\n   }\n}\n#endif\n\n// set up the kernels\nstatic void stbi__setup_jpeg(stbi__jpeg *j)\n{\n   j->idct_block_kernel = stbi__idct_block;\n   j->YCbCr_to_RGB_kernel = stbi__YCbCr_to_RGB_row;\n   j->resample_row_hv_2_kernel = stbi__resample_row_hv_2;\n\n#ifdef STBI_SSE2\n   if (stbi__sse2_available()) {\n      j->idct_block_kernel = stbi__idct_simd;\n      j->YCbCr_to_RGB_kernel = stbi__YCbCr_to_RGB_simd;\n      j->resample_row_hv_2_kernel = stbi__resample_row_hv_2_simd;\n   }\n#endif\n\n#ifdef STBI_NEON\n   j->idct_block_kernel = stbi__idct_simd;\n   j->YCbCr_to_RGB_kernel = stbi__YCbCr_to_RGB_simd;\n   j->resample_row_hv_2_kernel = stbi__resample_row_hv_2_simd;\n#endif\n}\n\n// clean up the temporary component buffers\nstatic void stbi__cleanup_jpeg(stbi__jpeg *j)\n{\n   stbi__free_jpeg_components(j, j->s->img_n, 0);\n}\n\ntypedef struct\n{\n   resample_row_func resample;\n   stbi_uc *line0,*line1;\n   int hs,vs;   // expansion factor in each axis\n   int w_lores; // horizontal pixels pre-expansion\n   int ystep;   // how far through vertical expansion we are\n   int ypos;    // which pre-expansion row we're on\n} stbi__resample;\n\n// fast 0..255 * 0..255 => 0..255 rounded multiplication\nstatic stbi_uc stbi__blinn_8x8(stbi_uc x, stbi_uc y)\n{\n   unsigned int t = x*y + 128;\n   return (stbi_uc) ((t + (t >>8)) >> 8);\n}\n\nstatic stbi_uc *load_jpeg_image(stbi__jpeg *z, int *out_x, int *out_y, int *comp, int req_comp)\n{\n   int n, decode_n, is_rgb;\n   z->s->img_n = 0; // make stbi__cleanup_jpeg safe\n\n   // validate req_comp\n   if (req_comp < 0 || req_comp > 4) return stbi__errpuc(\"bad req_comp\", \"Internal error\");\n\n   // load a jpeg image from whichever source, but leave in YCbCr format\n   if (!stbi__decode_jpeg_image(z)) { stbi__cleanup_jpeg(z); return NULL; }\n\n   // determine actual number of components to generate\n   n = req_comp ? req_comp : z->s->img_n >= 3 ? 3 : 1;\n\n   is_rgb = z->s->img_n == 3 && (z->rgb == 3 || (z->app14_color_transform == 0 && !z->jfif));\n\n   if (z->s->img_n == 3 && n < 3 && !is_rgb)\n      decode_n = 1;\n   else\n      decode_n = z->s->img_n;\n\n   // resample and color-convert\n   {\n      int k;\n      unsigned int i,j;\n      stbi_uc *output;\n      stbi_uc *coutput[4];\n\n      stbi__resample res_comp[4];\n\n      for (k=0; k < decode_n; ++k) {\n         stbi__resample *r = &res_comp[k];\n\n         // allocate line buffer big enough for upsampling off the edges\n         // with upsample factor of 4\n         z->img_comp[k].linebuf = (stbi_uc *) stbi__malloc(z->s->img_x + 3);\n         if (!z->img_comp[k].linebuf) { stbi__cleanup_jpeg(z); return stbi__errpuc(\"outofmem\", \"Out of memory\"); }\n\n         r->hs      = z->img_h_max / z->img_comp[k].h;\n         r->vs      = z->img_v_max / z->img_comp[k].v;\n         r->ystep   = r->vs >> 1;\n         r->w_lores = (z->s->img_x + r->hs-1) / r->hs;\n         r->ypos    = 0;\n         r->line0   = r->line1 = z->img_comp[k].data;\n\n         if      (r->hs == 1 && r->vs == 1) r->resample = resample_row_1;\n         else if (r->hs == 1 && r->vs == 2) r->resample = stbi__resample_row_v_2;\n         else if (r->hs == 2 && r->vs == 1) r->resample = stbi__resample_row_h_2;\n         else if (r->hs == 2 && r->vs == 2) r->resample = z->resample_row_hv_2_kernel;\n         else                               r->resample = stbi__resample_row_generic;\n      }\n\n      // can't error after this so, this is safe\n      output = (stbi_uc *) stbi__malloc_mad3(n, z->s->img_x, z->s->img_y, 1);\n      if (!output) { stbi__cleanup_jpeg(z); return stbi__errpuc(\"outofmem\", \"Out of memory\"); }\n\n      // now go ahead and resample\n      for (j=0; j < z->s->img_y; ++j) {\n         stbi_uc *out = output + n * z->s->img_x * j;\n         for (k=0; k < decode_n; ++k) {\n            stbi__resample *r = &res_comp[k];\n            int y_bot = r->ystep >= (r->vs >> 1);\n            coutput[k] = r->resample(z->img_comp[k].linebuf,\n                                     y_bot ? r->line1 : r->line0,\n                                     y_bot ? r->line0 : r->line1,\n                                     r->w_lores, r->hs);\n            if (++r->ystep >= r->vs) {\n               r->ystep = 0;\n               r->line0 = r->line1;\n               if (++r->ypos < z->img_comp[k].y)\n                  r->line1 += z->img_comp[k].w2;\n            }\n         }\n         if (n >= 3) {\n            stbi_uc *y = coutput[0];\n            if (z->s->img_n == 3) {\n               if (is_rgb) {\n                  for (i=0; i < z->s->img_x; ++i) {\n                     out[0] = y[i];\n                     out[1] = coutput[1][i];\n                     out[2] = coutput[2][i];\n                     out[3] = 255;\n                     out += n;\n                  }\n               } else {\n                  z->YCbCr_to_RGB_kernel(out, y, coutput[1], coutput[2], z->s->img_x, n);\n               }\n            } else if (z->s->img_n == 4) {\n               if (z->app14_color_transform == 0) { // CMYK\n                  for (i=0; i < z->s->img_x; ++i) {\n                     stbi_uc m = coutput[3][i];\n                     out[0] = stbi__blinn_8x8(coutput[0][i], m);\n                     out[1] = stbi__blinn_8x8(coutput[1][i], m);\n                     out[2] = stbi__blinn_8x8(coutput[2][i], m);\n                     out[3] = 255;\n                     out += n;\n                  }\n               } else if (z->app14_color_transform == 2) { // YCCK\n                  z->YCbCr_to_RGB_kernel(out, y, coutput[1], coutput[2], z->s->img_x, n);\n                  for (i=0; i < z->s->img_x; ++i) {\n                     stbi_uc m = coutput[3][i];\n                     out[0] = stbi__blinn_8x8(255 - out[0], m);\n                     out[1] = stbi__blinn_8x8(255 - out[1], m);\n                     out[2] = stbi__blinn_8x8(255 - out[2], m);\n                     out += n;\n                  }\n               } else { // YCbCr + alpha?  Ignore the fourth channel for now\n                  z->YCbCr_to_RGB_kernel(out, y, coutput[1], coutput[2], z->s->img_x, n);\n               }\n            } else\n               for (i=0; i < z->s->img_x; ++i) {\n                  out[0] = out[1] = out[2] = y[i];\n                  out[3] = 255; // not used if n==3\n                  out += n;\n               }\n         } else {\n            if (is_rgb) {\n               if (n == 1)\n                  for (i=0; i < z->s->img_x; ++i)\n                     *out++ = stbi__compute_y(coutput[0][i], coutput[1][i], coutput[2][i]);\n               else {\n                  for (i=0; i < z->s->img_x; ++i, out += 2) {\n                     out[0] = stbi__compute_y(coutput[0][i], coutput[1][i], coutput[2][i]);\n                     out[1] = 255;\n                  }\n               }\n            } else if (z->s->img_n == 4 && z->app14_color_transform == 0) {\n               for (i=0; i < z->s->img_x; ++i) {\n                  stbi_uc m = coutput[3][i];\n                  stbi_uc r = stbi__blinn_8x8(coutput[0][i], m);\n                  stbi_uc g = stbi__blinn_8x8(coutput[1][i], m);\n                  stbi_uc b = stbi__blinn_8x8(coutput[2][i], m);\n                  out[0] = stbi__compute_y(r, g, b);\n                  out[1] = 255;\n                  out += n;\n               }\n            } else if (z->s->img_n == 4 && z->app14_color_transform == 2) {\n               for (i=0; i < z->s->img_x; ++i) {\n                  out[0] = stbi__blinn_8x8(255 - coutput[0][i], coutput[3][i]);\n                  out[1] = 255;\n                  out += n;\n               }\n            } else {\n               stbi_uc *y = coutput[0];\n               if (n == 1)\n                  for (i=0; i < z->s->img_x; ++i) out[i] = y[i];\n               else\n                  for (i=0; i < z->s->img_x; ++i) *out++ = y[i], *out++ = 255;\n            }\n         }\n      }\n      stbi__cleanup_jpeg(z);\n      *out_x = z->s->img_x;\n      *out_y = z->s->img_y;\n      if (comp) *comp = z->s->img_n >= 3 ? 3 : 1; // report original components, not output\n      return output;\n   }\n}\n\nstatic void *stbi__jpeg_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri)\n{\n   unsigned char* result;\n   stbi__jpeg* j = (stbi__jpeg*) stbi__malloc(sizeof(stbi__jpeg));\n   STBI_NOTUSED(ri);\n   j->s = s;\n   stbi__setup_jpeg(j);\n   result = load_jpeg_image(j, x,y,comp,req_comp);\n   STBI_FREE(j);\n   return result;\n}\n\nstatic int stbi__jpeg_test(stbi__context *s)\n{\n   int r;\n   stbi__jpeg* j = (stbi__jpeg*)stbi__malloc(sizeof(stbi__jpeg));\n   j->s = s;\n   stbi__setup_jpeg(j);\n   r = stbi__decode_jpeg_header(j, STBI__SCAN_type);\n   stbi__rewind(s);\n   STBI_FREE(j);\n   return r;\n}\n\nstatic int stbi__jpeg_info_raw(stbi__jpeg *j, int *x, int *y, int *comp)\n{\n   if (!stbi__decode_jpeg_header(j, STBI__SCAN_header)) {\n      stbi__rewind( j->s );\n      return 0;\n   }\n   if (x) *x = j->s->img_x;\n   if (y) *y = j->s->img_y;\n   if (comp) *comp = j->s->img_n >= 3 ? 3 : 1;\n   return 1;\n}\n\nstatic int stbi__jpeg_info(stbi__context *s, int *x, int *y, int *comp)\n{\n   int result;\n   stbi__jpeg* j = (stbi__jpeg*) (stbi__malloc(sizeof(stbi__jpeg)));\n   j->s = s;\n   result = stbi__jpeg_info_raw(j, x, y, comp);\n   STBI_FREE(j);\n   return result;\n}\n#endif\n\n// public domain zlib decode    v0.2  Sean Barrett 2006-11-18\n//    simple implementation\n//      - all input must be provided in an upfront buffer\n//      - all output is written to a single output buffer (can malloc/realloc)\n//    performance\n//      - fast huffman\n\n#ifndef STBI_NO_ZLIB\n\n// fast-way is faster to check than jpeg huffman, but slow way is slower\n#define STBI__ZFAST_BITS  9 // accelerate all cases in default tables\n#define STBI__ZFAST_MASK  ((1 << STBI__ZFAST_BITS) - 1)\n\n// zlib-style huffman encoding\n// (jpegs packs from left, zlib from right, so can't share code)\ntypedef struct\n{\n   stbi__uint16 fast[1 << STBI__ZFAST_BITS];\n   stbi__uint16 firstcode[16];\n   int maxcode[17];\n   stbi__uint16 firstsymbol[16];\n   stbi_uc  size[288];\n   stbi__uint16 value[288];\n} stbi__zhuffman;\n\nstbi_inline static int stbi__bitreverse16(int n)\n{\n  n = ((n & 0xAAAA) >>  1) | ((n & 0x5555) << 1);\n  n = ((n & 0xCCCC) >>  2) | ((n & 0x3333) << 2);\n  n = ((n & 0xF0F0) >>  4) | ((n & 0x0F0F) << 4);\n  n = ((n & 0xFF00) >>  8) | ((n & 0x00FF) << 8);\n  return n;\n}\n\nstbi_inline static int stbi__bit_reverse(int v, int bits)\n{\n   STBI_ASSERT(bits <= 16);\n   // to bit reverse n bits, reverse 16 and shift\n   // e.g. 11 bits, bit reverse and shift away 5\n   return stbi__bitreverse16(v) >> (16-bits);\n}\n\nstatic int stbi__zbuild_huffman(stbi__zhuffman *z, const stbi_uc *sizelist, int num)\n{\n   int i,k=0;\n   int code, next_code[16], sizes[17];\n\n   // DEFLATE spec for generating codes\n   memset(sizes, 0, sizeof(sizes));\n   memset(z->fast, 0, sizeof(z->fast));\n   for (i=0; i < num; ++i)\n      ++sizes[sizelist[i]];\n   sizes[0] = 0;\n   for (i=1; i < 16; ++i)\n      if (sizes[i] > (1 << i))\n         return stbi__err(\"bad sizes\", \"Corrupt PNG\");\n   code = 0;\n   for (i=1; i < 16; ++i) {\n      next_code[i] = code;\n      z->firstcode[i] = (stbi__uint16) code;\n      z->firstsymbol[i] = (stbi__uint16) k;\n      code = (code + sizes[i]);\n      if (sizes[i])\n         if (code-1 >= (1 << i)) return stbi__err(\"bad codelengths\",\"Corrupt PNG\");\n      z->maxcode[i] = code << (16-i); // preshift for inner loop\n      code <<= 1;\n      k += sizes[i];\n   }\n   z->maxcode[16] = 0x10000; // sentinel\n   for (i=0; i < num; ++i) {\n      int s = sizelist[i];\n      if (s) {\n         int c = next_code[s] - z->firstcode[s] + z->firstsymbol[s];\n         stbi__uint16 fastv = (stbi__uint16) ((s << 9) | i);\n         z->size [c] = (stbi_uc     ) s;\n         z->value[c] = (stbi__uint16) i;\n         if (s <= STBI__ZFAST_BITS) {\n            int j = stbi__bit_reverse(next_code[s],s);\n            while (j < (1 << STBI__ZFAST_BITS)) {\n               z->fast[j] = fastv;\n               j += (1 << s);\n            }\n         }\n         ++next_code[s];\n      }\n   }\n   return 1;\n}\n\n// zlib-from-memory implementation for PNG reading\n//    because PNG allows splitting the zlib stream arbitrarily,\n//    and it's annoying structurally to have PNG call ZLIB call PNG,\n//    we require PNG read all the IDATs and combine them into a single\n//    memory buffer\n\ntypedef struct\n{\n   stbi_uc *zbuffer, *zbuffer_end;\n   int num_bits;\n   stbi__uint32 code_buffer;\n\n   char *zout;\n   char *zout_start;\n   char *zout_end;\n   int   z_expandable;\n\n   stbi__zhuffman z_length, z_distance;\n} stbi__zbuf;\n\nstbi_inline static stbi_uc stbi__zget8(stbi__zbuf *z)\n{\n   if (z->zbuffer >= z->zbuffer_end) return 0;\n   return *z->zbuffer++;\n}\n\nstatic void stbi__fill_bits(stbi__zbuf *z)\n{\n   do {\n      STBI_ASSERT(z->code_buffer < (1U << z->num_bits));\n      z->code_buffer |= (unsigned int) stbi__zget8(z) << z->num_bits;\n      z->num_bits += 8;\n   } while (z->num_bits <= 24);\n}\n\nstbi_inline static unsigned int stbi__zreceive(stbi__zbuf *z, int n)\n{\n   unsigned int k;\n   if (z->num_bits < n) stbi__fill_bits(z);\n   k = z->code_buffer & ((1 << n) - 1);\n   z->code_buffer >>= n;\n   z->num_bits -= n;\n   return k;\n}\n\nstatic int stbi__zhuffman_decode_slowpath(stbi__zbuf *a, stbi__zhuffman *z)\n{\n   int b,s,k;\n   // not resolved by fast table, so compute it the slow way\n   // use jpeg approach, which requires MSbits at top\n   k = stbi__bit_reverse(a->code_buffer, 16);\n   for (s=STBI__ZFAST_BITS+1; ; ++s)\n      if (k < z->maxcode[s])\n         break;\n   if (s == 16) return -1; // invalid code!\n   // code size is s, so:\n   b = (k >> (16-s)) - z->firstcode[s] + z->firstsymbol[s];\n   STBI_ASSERT(z->size[b] == s);\n   a->code_buffer >>= s;\n   a->num_bits -= s;\n   return z->value[b];\n}\n\nstbi_inline static int stbi__zhuffman_decode(stbi__zbuf *a, stbi__zhuffman *z)\n{\n   int b,s;\n   if (a->num_bits < 16) stbi__fill_bits(a);\n   b = z->fast[a->code_buffer & STBI__ZFAST_MASK];\n   if (b) {\n      s = b >> 9;\n      a->code_buffer >>= s;\n      a->num_bits -= s;\n      return b & 511;\n   }\n   return stbi__zhuffman_decode_slowpath(a, z);\n}\n\nstatic int stbi__zexpand(stbi__zbuf *z, char *zout, int n)  // need to make room for n bytes\n{\n   char *q;\n   int cur, limit, old_limit;\n   z->zout = zout;\n   if (!z->z_expandable) return stbi__err(\"output buffer limit\",\"Corrupt PNG\");\n   cur   = (int) (z->zout     - z->zout_start);\n   limit = old_limit = (int) (z->zout_end - z->zout_start);\n   while (cur + n > limit)\n      limit *= 2;\n   q = (char *) STBI_REALLOC_SIZED(z->zout_start, old_limit, limit);\n   STBI_NOTUSED(old_limit);\n   if (q == NULL) return stbi__err(\"outofmem\", \"Out of memory\");\n   z->zout_start = q;\n   z->zout       = q + cur;\n   z->zout_end   = q + limit;\n   return 1;\n}\n\nstatic int stbi__zlength_base[31] = {\n   3,4,5,6,7,8,9,10,11,13,\n   15,17,19,23,27,31,35,43,51,59,\n   67,83,99,115,131,163,195,227,258,0,0 };\n\nstatic int stbi__zlength_extra[31]=\n{ 0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0 };\n\nstatic int stbi__zdist_base[32] = { 1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,\n257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0};\n\nstatic int stbi__zdist_extra[32] =\n{ 0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13};\n\nstatic int stbi__parse_huffman_block(stbi__zbuf *a)\n{\n   char *zout = a->zout;\n   for(;;) {\n      int z = stbi__zhuffman_decode(a, &a->z_length);\n      if (z < 256) {\n         if (z < 0) return stbi__err(\"bad huffman code\",\"Corrupt PNG\"); // error in huffman codes\n         if (zout >= a->zout_end) {\n            if (!stbi__zexpand(a, zout, 1)) return 0;\n            zout = a->zout;\n         }\n         *zout++ = (char) z;\n      } else {\n         stbi_uc *p;\n         int len,dist;\n         if (z == 256) {\n            a->zout = zout;\n            return 1;\n         }\n         z -= 257;\n         len = stbi__zlength_base[z];\n         if (stbi__zlength_extra[z]) len += stbi__zreceive(a, stbi__zlength_extra[z]);\n         z = stbi__zhuffman_decode(a, &a->z_distance);\n         if (z < 0) return stbi__err(\"bad huffman code\",\"Corrupt PNG\");\n         dist = stbi__zdist_base[z];\n         if (stbi__zdist_extra[z]) dist += stbi__zreceive(a, stbi__zdist_extra[z]);\n         if (zout - a->zout_start < dist) return stbi__err(\"bad dist\",\"Corrupt PNG\");\n         if (zout + len > a->zout_end) {\n            if (!stbi__zexpand(a, zout, len)) return 0;\n            zout = a->zout;\n         }\n         p = (stbi_uc *) (zout - dist);\n         if (dist == 1) { // run of one byte; common in images.\n            stbi_uc v = *p;\n            if (len) { do *zout++ = v; while (--len); }\n         } else {\n            if (len) { do *zout++ = *p++; while (--len); }\n         }\n      }\n   }\n}\n\nstatic int stbi__compute_huffman_codes(stbi__zbuf *a)\n{\n   static stbi_uc length_dezigzag[19] = { 16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15 };\n   stbi__zhuffman z_codelength;\n   stbi_uc lencodes[286+32+137];//padding for maximum single op\n   stbi_uc codelength_sizes[19];\n   int i,n;\n\n   int hlit  = stbi__zreceive(a,5) + 257;\n   int hdist = stbi__zreceive(a,5) + 1;\n   int hclen = stbi__zreceive(a,4) + 4;\n   int ntot  = hlit + hdist;\n\n   memset(codelength_sizes, 0, sizeof(codelength_sizes));\n   for (i=0; i < hclen; ++i) {\n      int s = stbi__zreceive(a,3);\n      codelength_sizes[length_dezigzag[i]] = (stbi_uc) s;\n   }\n   if (!stbi__zbuild_huffman(&z_codelength, codelength_sizes, 19)) return 0;\n\n   n = 0;\n   while (n < ntot) {\n      int c = stbi__zhuffman_decode(a, &z_codelength);\n      if (c < 0 || c >= 19) return stbi__err(\"bad codelengths\", \"Corrupt PNG\");\n      if (c < 16)\n         lencodes[n++] = (stbi_uc) c;\n      else {\n         stbi_uc fill = 0;\n         if (c == 16) {\n            c = stbi__zreceive(a,2)+3;\n            if (n == 0) return stbi__err(\"bad codelengths\", \"Corrupt PNG\");\n            fill = lencodes[n-1];\n         } else if (c == 17)\n            c = stbi__zreceive(a,3)+3;\n         else {\n            STBI_ASSERT(c == 18);\n            c = stbi__zreceive(a,7)+11;\n         }\n         if (ntot - n < c) return stbi__err(\"bad codelengths\", \"Corrupt PNG\");\n         memset(lencodes+n, fill, c);\n         n += c;\n      }\n   }\n   if (n != ntot) return stbi__err(\"bad codelengths\",\"Corrupt PNG\");\n   if (!stbi__zbuild_huffman(&a->z_length, lencodes, hlit)) return 0;\n   if (!stbi__zbuild_huffman(&a->z_distance, lencodes+hlit, hdist)) return 0;\n   return 1;\n}\n\nstatic int stbi__parse_uncompressed_block(stbi__zbuf *a)\n{\n   stbi_uc header[4];\n   int len,nlen,k;\n   if (a->num_bits & 7)\n      stbi__zreceive(a, a->num_bits & 7); // discard\n   // drain the bit-packed data into header\n   k = 0;\n   while (a->num_bits > 0) {\n      header[k++] = (stbi_uc) (a->code_buffer & 255); // suppress MSVC run-time check\n      a->code_buffer >>= 8;\n      a->num_bits -= 8;\n   }\n   STBI_ASSERT(a->num_bits == 0);\n   // now fill header the normal way\n   while (k < 4)\n      header[k++] = stbi__zget8(a);\n   len  = header[1] * 256 + header[0];\n   nlen = header[3] * 256 + header[2];\n   if (nlen != (len ^ 0xffff)) return stbi__err(\"zlib corrupt\",\"Corrupt PNG\");\n   if (a->zbuffer + len > a->zbuffer_end) return stbi__err(\"read past buffer\",\"Corrupt PNG\");\n   if (a->zout + len > a->zout_end)\n      if (!stbi__zexpand(a, a->zout, len)) return 0;\n   memcpy(a->zout, a->zbuffer, len);\n   a->zbuffer += len;\n   a->zout += len;\n   return 1;\n}\n\nstatic int stbi__parse_zlib_header(stbi__zbuf *a)\n{\n   int cmf   = stbi__zget8(a);\n   int cm    = cmf & 15;\n   /* int cinfo = cmf >> 4; */\n   int flg   = stbi__zget8(a);\n   if ((cmf*256+flg) % 31 != 0) return stbi__err(\"bad zlib header\",\"Corrupt PNG\"); // zlib spec\n   if (flg & 32) return stbi__err(\"no preset dict\",\"Corrupt PNG\"); // preset dictionary not allowed in png\n   if (cm != 8) return stbi__err(\"bad compression\",\"Corrupt PNG\"); // DEFLATE required for png\n   // window = 1 << (8 + cinfo)... but who cares, we fully buffer output\n   return 1;\n}\n\nstatic const stbi_uc stbi__zdefault_length[288] =\n{\n   8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,\n   8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,\n   8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,\n   8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,\n   8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,\n   9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9, 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,\n   9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9, 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,\n   9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9, 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,\n   7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7, 7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8\n};\nstatic const stbi_uc stbi__zdefault_distance[32] =\n{\n   5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5\n};\n/*\nInit algorithm:\n{\n   int i;   // use <= to match clearly with spec\n   for (i=0; i <= 143; ++i)     stbi__zdefault_length[i]   = 8;\n   for (   ; i <= 255; ++i)     stbi__zdefault_length[i]   = 9;\n   for (   ; i <= 279; ++i)     stbi__zdefault_length[i]   = 7;\n   for (   ; i <= 287; ++i)     stbi__zdefault_length[i]   = 8;\n\n   for (i=0; i <=  31; ++i)     stbi__zdefault_distance[i] = 5;\n}\n*/\n\nstatic int stbi__parse_zlib(stbi__zbuf *a, int parse_header)\n{\n   int final, type;\n   if (parse_header)\n      if (!stbi__parse_zlib_header(a)) return 0;\n   a->num_bits = 0;\n   a->code_buffer = 0;\n   do {\n      final = stbi__zreceive(a,1);\n      type = stbi__zreceive(a,2);\n      if (type == 0) {\n         if (!stbi__parse_uncompressed_block(a)) return 0;\n      } else if (type == 3) {\n         return 0;\n      } else {\n         if (type == 1) {\n            // use fixed code lengths\n            if (!stbi__zbuild_huffman(&a->z_length  , stbi__zdefault_length  , 288)) return 0;\n            if (!stbi__zbuild_huffman(&a->z_distance, stbi__zdefault_distance,  32)) return 0;\n         } else {\n            if (!stbi__compute_huffman_codes(a)) return 0;\n         }\n         if (!stbi__parse_huffman_block(a)) return 0;\n      }\n   } while (!final);\n   return 1;\n}\n\nstatic int stbi__do_zlib(stbi__zbuf *a, char *obuf, int olen, int exp, int parse_header)\n{\n   a->zout_start = obuf;\n   a->zout       = obuf;\n   a->zout_end   = obuf + olen;\n   a->z_expandable = exp;\n\n   return stbi__parse_zlib(a, parse_header);\n}\n\nSTBIDEF char *stbi_zlib_decode_malloc_guesssize(const char *buffer, int len, int initial_size, int *outlen)\n{\n   stbi__zbuf a;\n   char *p = (char *) stbi__malloc(initial_size);\n   if (p == NULL) return NULL;\n   a.zbuffer = (stbi_uc *) buffer;\n   a.zbuffer_end = (stbi_uc *) buffer + len;\n   if (stbi__do_zlib(&a, p, initial_size, 1, 1)) {\n      if (outlen) *outlen = (int) (a.zout - a.zout_start);\n      return a.zout_start;\n   } else {\n      STBI_FREE(a.zout_start);\n      return NULL;\n   }\n}\n\nSTBIDEF char *stbi_zlib_decode_malloc(char const *buffer, int len, int *outlen)\n{\n   return stbi_zlib_decode_malloc_guesssize(buffer, len, 16384, outlen);\n}\n\nSTBIDEF char *stbi_zlib_decode_malloc_guesssize_headerflag(const char *buffer, int len, int initial_size, int *outlen, int parse_header)\n{\n   stbi__zbuf a;\n   char *p = (char *) stbi__malloc(initial_size);\n   if (p == NULL) return NULL;\n   a.zbuffer = (stbi_uc *) buffer;\n   a.zbuffer_end = (stbi_uc *) buffer + len;\n   if (stbi__do_zlib(&a, p, initial_size, 1, parse_header)) {\n      if (outlen) *outlen = (int) (a.zout - a.zout_start);\n      return a.zout_start;\n   } else {\n      STBI_FREE(a.zout_start);\n      return NULL;\n   }\n}\n\nSTBIDEF int stbi_zlib_decode_buffer(char *obuffer, int olen, char const *ibuffer, int ilen)\n{\n   stbi__zbuf a;\n   a.zbuffer = (stbi_uc *) ibuffer;\n   a.zbuffer_end = (stbi_uc *) ibuffer + ilen;\n   if (stbi__do_zlib(&a, obuffer, olen, 0, 1))\n      return (int) (a.zout - a.zout_start);\n   else\n      return -1;\n}\n\nSTBIDEF char *stbi_zlib_decode_noheader_malloc(char const *buffer, int len, int *outlen)\n{\n   stbi__zbuf a;\n   char *p = (char *) stbi__malloc(16384);\n   if (p == NULL) return NULL;\n   a.zbuffer = (stbi_uc *) buffer;\n   a.zbuffer_end = (stbi_uc *) buffer+len;\n   if (stbi__do_zlib(&a, p, 16384, 1, 0)) {\n      if (outlen) *outlen = (int) (a.zout - a.zout_start);\n      return a.zout_start;\n   } else {\n      STBI_FREE(a.zout_start);\n      return NULL;\n   }\n}\n\nSTBIDEF int stbi_zlib_decode_noheader_buffer(char *obuffer, int olen, const char *ibuffer, int ilen)\n{\n   stbi__zbuf a;\n   a.zbuffer = (stbi_uc *) ibuffer;\n   a.zbuffer_end = (stbi_uc *) ibuffer + ilen;\n   if (stbi__do_zlib(&a, obuffer, olen, 0, 0))\n      return (int) (a.zout - a.zout_start);\n   else\n      return -1;\n}\n#endif\n\n// public domain \"baseline\" PNG decoder   v0.10  Sean Barrett 2006-11-18\n//    simple implementation\n//      - only 8-bit samples\n//      - no CRC checking\n//      - allocates lots of intermediate memory\n//        - avoids problem of streaming data between subsystems\n//        - avoids explicit window management\n//    performance\n//      - uses stb_zlib, a PD zlib implementation with fast huffman decoding\n\n#ifndef STBI_NO_PNG\ntypedef struct\n{\n   stbi__uint32 length;\n   stbi__uint32 type;\n} stbi__pngchunk;\n\nstatic stbi__pngchunk stbi__get_chunk_header(stbi__context *s)\n{\n   stbi__pngchunk c;\n   c.length = stbi__get32be(s);\n   c.type   = stbi__get32be(s);\n   return c;\n}\n\nstatic int stbi__check_png_header(stbi__context *s)\n{\n   static stbi_uc png_sig[8] = { 137,80,78,71,13,10,26,10 };\n   int i;\n   for (i=0; i < 8; ++i)\n      if (stbi__get8(s) != png_sig[i]) return stbi__err(\"bad png sig\",\"Not a PNG\");\n   return 1;\n}\n\ntypedef struct\n{\n   stbi__context *s;\n   stbi_uc *idata, *expanded, *out;\n   int depth;\n} stbi__png;\n\n\nenum {\n   STBI__F_none=0,\n   STBI__F_sub=1,\n   STBI__F_up=2,\n   STBI__F_avg=3,\n   STBI__F_paeth=4,\n   // synthetic filters used for first scanline to avoid needing a dummy row of 0s\n   STBI__F_avg_first,\n   STBI__F_paeth_first\n};\n\nstatic stbi_uc first_row_filter[5] =\n{\n   STBI__F_none,\n   STBI__F_sub,\n   STBI__F_none,\n   STBI__F_avg_first,\n   STBI__F_paeth_first\n};\n\nstatic int stbi__paeth(int a, int b, int c)\n{\n   int p = a + b - c;\n   int pa = abs(p-a);\n   int pb = abs(p-b);\n   int pc = abs(p-c);\n   if (pa <= pb && pa <= pc) return a;\n   if (pb <= pc) return b;\n   return c;\n}\n\nstatic stbi_uc stbi__depth_scale_table[9] = { 0, 0xff, 0x55, 0, 0x11, 0,0,0, 0x01 };\n\n// create the png data from post-deflated data\nstatic int stbi__create_png_image_raw(stbi__png *a, stbi_uc *raw, stbi__uint32 raw_len, int out_n, stbi__uint32 x, stbi__uint32 y, int depth, int color)\n{\n   int bytes = (depth == 16? 2 : 1);\n   stbi__context *s = a->s;\n   stbi__uint32 i,j,stride = x*out_n*bytes;\n   stbi__uint32 img_len, img_width_bytes;\n   int k;\n   int img_n = s->img_n; // copy it into a local for later\n\n   int output_bytes = out_n*bytes;\n   int filter_bytes = img_n*bytes;\n   int width = x;\n\n   STBI_ASSERT(out_n == s->img_n || out_n == s->img_n+1);\n   a->out = (stbi_uc *) stbi__malloc_mad3(x, y, output_bytes, 0); // extra bytes to write off the end into\n   if (!a->out) return stbi__err(\"outofmem\", \"Out of memory\");\n\n   img_width_bytes = (((img_n * x * depth) + 7) >> 3);\n   img_len = (img_width_bytes + 1) * y;\n   // we used to check for exact match between raw_len and img_len on non-interlaced PNGs,\n   // but issue #276 reported a PNG in the wild that had extra data at the end (all zeros),\n   // so just check for raw_len < img_len always.\n   if (raw_len < img_len) return stbi__err(\"not enough pixels\",\"Corrupt PNG\");\n\n   for (j=0; j < y; ++j) {\n      stbi_uc *cur = a->out + stride*j;\n      stbi_uc *prior;\n      int filter = *raw++;\n\n      if (filter > 4)\n         return stbi__err(\"invalid filter\",\"Corrupt PNG\");\n\n      if (depth < 8) {\n         STBI_ASSERT(img_width_bytes <= x);\n         cur += x*out_n - img_width_bytes; // store output to the rightmost img_len bytes, so we can decode in place\n         filter_bytes = 1;\n         width = img_width_bytes;\n      }\n      prior = cur - stride; // bugfix: need to compute this after 'cur +=' computation above\n\n      // if first row, use special filter that doesn't sample previous row\n      if (j == 0) filter = first_row_filter[filter];\n\n      // handle first byte explicitly\n      for (k=0; k < filter_bytes; ++k) {\n         switch (filter) {\n            case STBI__F_none       : cur[k] = raw[k]; break;\n            case STBI__F_sub        : cur[k] = raw[k]; break;\n            case STBI__F_up         : cur[k] = STBI__BYTECAST(raw[k] + prior[k]); break;\n            case STBI__F_avg        : cur[k] = STBI__BYTECAST(raw[k] + (prior[k]>>1)); break;\n            case STBI__F_paeth      : cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(0,prior[k],0)); break;\n            case STBI__F_avg_first  : cur[k] = raw[k]; break;\n            case STBI__F_paeth_first: cur[k] = raw[k]; break;\n         }\n      }\n\n      if (depth == 8) {\n         if (img_n != out_n)\n            cur[img_n] = 255; // first pixel\n         raw += img_n;\n         cur += out_n;\n         prior += out_n;\n      } else if (depth == 16) {\n         if (img_n != out_n) {\n            cur[filter_bytes]   = 255; // first pixel top byte\n            cur[filter_bytes+1] = 255; // first pixel bottom byte\n         }\n         raw += filter_bytes;\n         cur += output_bytes;\n         prior += output_bytes;\n      } else {\n         raw += 1;\n         cur += 1;\n         prior += 1;\n      }\n\n      // this is a little gross, so that we don't switch per-pixel or per-component\n      if (depth < 8 || img_n == out_n) {\n         int nk = (width - 1)*filter_bytes;\n         #define STBI__CASE(f) \\\n             case f:     \\\n                for (k=0; k < nk; ++k)\n         switch (filter) {\n            // \"none\" filter turns into a memcpy here; make that explicit.\n            case STBI__F_none:         memcpy(cur, raw, nk); break;\n            STBI__CASE(STBI__F_sub)          { cur[k] = STBI__BYTECAST(raw[k] + cur[k-filter_bytes]); } break;\n            STBI__CASE(STBI__F_up)           { cur[k] = STBI__BYTECAST(raw[k] + prior[k]); } break;\n            STBI__CASE(STBI__F_avg)          { cur[k] = STBI__BYTECAST(raw[k] + ((prior[k] + cur[k-filter_bytes])>>1)); } break;\n            STBI__CASE(STBI__F_paeth)        { cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(cur[k-filter_bytes],prior[k],prior[k-filter_bytes])); } break;\n            STBI__CASE(STBI__F_avg_first)    { cur[k] = STBI__BYTECAST(raw[k] + (cur[k-filter_bytes] >> 1)); } break;\n            STBI__CASE(STBI__F_paeth_first)  { cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(cur[k-filter_bytes],0,0)); } break;\n         }\n         #undef STBI__CASE\n         raw += nk;\n      } else {\n         STBI_ASSERT(img_n+1 == out_n);\n         #define STBI__CASE(f) \\\n             case f:     \\\n                for (i=x-1; i >= 1; --i, cur[filter_bytes]=255,raw+=filter_bytes,cur+=output_bytes,prior+=output_bytes) \\\n                   for (k=0; k < filter_bytes; ++k)\n         switch (filter) {\n            STBI__CASE(STBI__F_none)         { cur[k] = raw[k]; } break;\n            STBI__CASE(STBI__F_sub)          { cur[k] = STBI__BYTECAST(raw[k] + cur[k- output_bytes]); } break;\n            STBI__CASE(STBI__F_up)           { cur[k] = STBI__BYTECAST(raw[k] + prior[k]); } break;\n            STBI__CASE(STBI__F_avg)          { cur[k] = STBI__BYTECAST(raw[k] + ((prior[k] + cur[k- output_bytes])>>1)); } break;\n            STBI__CASE(STBI__F_paeth)        { cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(cur[k- output_bytes],prior[k],prior[k- output_bytes])); } break;\n            STBI__CASE(STBI__F_avg_first)    { cur[k] = STBI__BYTECAST(raw[k] + (cur[k- output_bytes] >> 1)); } break;\n            STBI__CASE(STBI__F_paeth_first)  { cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(cur[k- output_bytes],0,0)); } break;\n         }\n         #undef STBI__CASE\n\n         // the loop above sets the high byte of the pixels' alpha, but for\n         // 16 bit png files we also need the low byte set. we'll do that here.\n         if (depth == 16) {\n            cur = a->out + stride*j; // start at the beginning of the row again\n            for (i=0; i < x; ++i,cur+=output_bytes) {\n               cur[filter_bytes+1] = 255;\n            }\n         }\n      }\n   }\n\n   // we make a separate pass to expand bits to pixels; for performance,\n   // this could run two scanlines behind the above code, so it won't\n   // intefere with filtering but will still be in the cache.\n   if (depth < 8) {\n      for (j=0; j < y; ++j) {\n         stbi_uc *cur = a->out + stride*j;\n         stbi_uc *in  = a->out + stride*j + x*out_n - img_width_bytes;\n         // unpack 1/2/4-bit into a 8-bit buffer. allows us to keep the common 8-bit path optimal at minimal cost for 1/2/4-bit\n         // png guarante byte alignment, if width is not multiple of 8/4/2 we'll decode dummy trailing data that will be skipped in the later loop\n         stbi_uc scale = (color == 0) ? stbi__depth_scale_table[depth] : 1; // scale grayscale values to 0..255 range\n\n         // note that the final byte might overshoot and write more data than desired.\n         // we can allocate enough data that this never writes out of memory, but it\n         // could also overwrite the next scanline. can it overwrite non-empty data\n         // on the next scanline? yes, consider 1-pixel-wide scanlines with 1-bit-per-pixel.\n         // so we need to explicitly clamp the final ones\n\n         if (depth == 4) {\n            for (k=x*img_n; k >= 2; k-=2, ++in) {\n               *cur++ = scale * ((*in >> 4)       );\n               *cur++ = scale * ((*in     ) & 0x0f);\n            }\n            if (k > 0) *cur++ = scale * ((*in >> 4)       );\n         } else if (depth == 2) {\n            for (k=x*img_n; k >= 4; k-=4, ++in) {\n               *cur++ = scale * ((*in >> 6)       );\n               *cur++ = scale * ((*in >> 4) & 0x03);\n               *cur++ = scale * ((*in >> 2) & 0x03);\n               *cur++ = scale * ((*in     ) & 0x03);\n            }\n            if (k > 0) *cur++ = scale * ((*in >> 6)       );\n            if (k > 1) *cur++ = scale * ((*in >> 4) & 0x03);\n            if (k > 2) *cur++ = scale * ((*in >> 2) & 0x03);\n         } else if (depth == 1) {\n            for (k=x*img_n; k >= 8; k-=8, ++in) {\n               *cur++ = scale * ((*in >> 7)       );\n               *cur++ = scale * ((*in >> 6) & 0x01);\n               *cur++ = scale * ((*in >> 5) & 0x01);\n               *cur++ = scale * ((*in >> 4) & 0x01);\n               *cur++ = scale * ((*in >> 3) & 0x01);\n               *cur++ = scale * ((*in >> 2) & 0x01);\n               *cur++ = scale * ((*in >> 1) & 0x01);\n               *cur++ = scale * ((*in     ) & 0x01);\n            }\n            if (k > 0) *cur++ = scale * ((*in >> 7)       );\n            if (k > 1) *cur++ = scale * ((*in >> 6) & 0x01);\n            if (k > 2) *cur++ = scale * ((*in >> 5) & 0x01);\n            if (k > 3) *cur++ = scale * ((*in >> 4) & 0x01);\n            if (k > 4) *cur++ = scale * ((*in >> 3) & 0x01);\n            if (k > 5) *cur++ = scale * ((*in >> 2) & 0x01);\n            if (k > 6) *cur++ = scale * ((*in >> 1) & 0x01);\n         }\n         if (img_n != out_n) {\n            int q;\n            // insert alpha = 255\n            cur = a->out + stride*j;\n            if (img_n == 1) {\n               for (q=x-1; q >= 0; --q) {\n                  cur[q*2+1] = 255;\n                  cur[q*2+0] = cur[q];\n               }\n            } else {\n               STBI_ASSERT(img_n == 3);\n               for (q=x-1; q >= 0; --q) {\n                  cur[q*4+3] = 255;\n                  cur[q*4+2] = cur[q*3+2];\n                  cur[q*4+1] = cur[q*3+1];\n                  cur[q*4+0] = cur[q*3+0];\n               }\n            }\n         }\n      }\n   } else if (depth == 16) {\n      // force the image data from big-endian to platform-native.\n      // this is done in a separate pass due to the decoding relying\n      // on the data being untouched, but could probably be done\n      // per-line during decode if care is taken.\n      stbi_uc *cur = a->out;\n      stbi__uint16 *cur16 = (stbi__uint16*)cur;\n\n      for(i=0; i < x*y*out_n; ++i,cur16++,cur+=2) {\n         *cur16 = (cur[0] << 8) | cur[1];\n      }\n   }\n\n   return 1;\n}\n\nstatic int stbi__create_png_image(stbi__png *a, stbi_uc *image_data, stbi__uint32 image_data_len, int out_n, int depth, int color, int interlaced)\n{\n   int bytes = (depth == 16 ? 2 : 1);\n   int out_bytes = out_n * bytes;\n   stbi_uc *final;\n   int p;\n   if (!interlaced)\n      return stbi__create_png_image_raw(a, image_data, image_data_len, out_n, a->s->img_x, a->s->img_y, depth, color);\n\n   // de-interlacing\n   final = (stbi_uc *) stbi__malloc_mad3(a->s->img_x, a->s->img_y, out_bytes, 0);\n   for (p=0; p < 7; ++p) {\n      int xorig[] = { 0,4,0,2,0,1,0 };\n      int yorig[] = { 0,0,4,0,2,0,1 };\n      int xspc[]  = { 8,8,4,4,2,2,1 };\n      int yspc[]  = { 8,8,8,4,4,2,2 };\n      int i,j,x,y;\n      // pass1_x[4] = 0, pass1_x[5] = 1, pass1_x[12] = 1\n      x = (a->s->img_x - xorig[p] + xspc[p]-1) / xspc[p];\n      y = (a->s->img_y - yorig[p] + yspc[p]-1) / yspc[p];\n      if (x && y) {\n         stbi__uint32 img_len = ((((a->s->img_n * x * depth) + 7) >> 3) + 1) * y;\n         if (!stbi__create_png_image_raw(a, image_data, image_data_len, out_n, x, y, depth, color)) {\n            STBI_FREE(final);\n            return 0;\n         }\n         for (j=0; j < y; ++j) {\n            for (i=0; i < x; ++i) {\n               int out_y = j*yspc[p]+yorig[p];\n               int out_x = i*xspc[p]+xorig[p];\n               memcpy(final + out_y*a->s->img_x*out_bytes + out_x*out_bytes,\n                      a->out + (j*x+i)*out_bytes, out_bytes);\n            }\n         }\n         STBI_FREE(a->out);\n         image_data += img_len;\n         image_data_len -= img_len;\n      }\n   }\n   a->out = final;\n\n   return 1;\n}\n\nstatic int stbi__compute_transparency(stbi__png *z, stbi_uc tc[3], int out_n)\n{\n   stbi__context *s = z->s;\n   stbi__uint32 i, pixel_count = s->img_x * s->img_y;\n   stbi_uc *p = z->out;\n\n   // compute color-based transparency, assuming we've\n   // already got 255 as the alpha value in the output\n   STBI_ASSERT(out_n == 2 || out_n == 4);\n\n   if (out_n == 2) {\n      for (i=0; i < pixel_count; ++i) {\n         p[1] = (p[0] == tc[0] ? 0 : 255);\n         p += 2;\n      }\n   } else {\n      for (i=0; i < pixel_count; ++i) {\n         if (p[0] == tc[0] && p[1] == tc[1] && p[2] == tc[2])\n            p[3] = 0;\n         p += 4;\n      }\n   }\n   return 1;\n}\n\nstatic int stbi__compute_transparency16(stbi__png *z, stbi__uint16 tc[3], int out_n)\n{\n   stbi__context *s = z->s;\n   stbi__uint32 i, pixel_count = s->img_x * s->img_y;\n   stbi__uint16 *p = (stbi__uint16*) z->out;\n\n   // compute color-based transparency, assuming we've\n   // already got 65535 as the alpha value in the output\n   STBI_ASSERT(out_n == 2 || out_n == 4);\n\n   if (out_n == 2) {\n      for (i = 0; i < pixel_count; ++i) {\n         p[1] = (p[0] == tc[0] ? 0 : 65535);\n         p += 2;\n      }\n   } else {\n      for (i = 0; i < pixel_count; ++i) {\n         if (p[0] == tc[0] && p[1] == tc[1] && p[2] == tc[2])\n            p[3] = 0;\n         p += 4;\n      }\n   }\n   return 1;\n}\n\nstatic int stbi__expand_png_palette(stbi__png *a, stbi_uc *palette, int len, int pal_img_n)\n{\n   stbi__uint32 i, pixel_count = a->s->img_x * a->s->img_y;\n   stbi_uc *p, *temp_out, *orig = a->out;\n\n   p = (stbi_uc *) stbi__malloc_mad2(pixel_count, pal_img_n, 0);\n   if (p == NULL) return stbi__err(\"outofmem\", \"Out of memory\");\n\n   // between here and free(out) below, exitting would leak\n   temp_out = p;\n\n   if (pal_img_n == 3) {\n      for (i=0; i < pixel_count; ++i) {\n         int n = orig[i]*4;\n         p[0] = palette[n  ];\n         p[1] = palette[n+1];\n         p[2] = palette[n+2];\n         p += 3;\n      }\n   } else {\n      for (i=0; i < pixel_count; ++i) {\n         int n = orig[i]*4;\n         p[0] = palette[n  ];\n         p[1] = palette[n+1];\n         p[2] = palette[n+2];\n         p[3] = palette[n+3];\n         p += 4;\n      }\n   }\n   STBI_FREE(a->out);\n   a->out = temp_out;\n\n   STBI_NOTUSED(len);\n\n   return 1;\n}\n\nstatic int stbi__unpremultiply_on_load = 0;\nstatic int stbi__de_iphone_flag = 0;\n\nSTBIDEF void stbi_set_unpremultiply_on_load(int flag_true_if_should_unpremultiply)\n{\n   stbi__unpremultiply_on_load = flag_true_if_should_unpremultiply;\n}\n\nSTBIDEF void stbi_convert_iphone_png_to_rgb(int flag_true_if_should_convert)\n{\n   stbi__de_iphone_flag = flag_true_if_should_convert;\n}\n\nstatic void stbi__de_iphone(stbi__png *z)\n{\n   stbi__context *s = z->s;\n   stbi__uint32 i, pixel_count = s->img_x * s->img_y;\n   stbi_uc *p = z->out;\n\n   if (s->img_out_n == 3) {  // convert bgr to rgb\n      for (i=0; i < pixel_count; ++i) {\n         stbi_uc t = p[0];\n         p[0] = p[2];\n         p[2] = t;\n         p += 3;\n      }\n   } else {\n      STBI_ASSERT(s->img_out_n == 4);\n      if (stbi__unpremultiply_on_load) {\n         // convert bgr to rgb and unpremultiply\n         for (i=0; i < pixel_count; ++i) {\n            stbi_uc a = p[3];\n            stbi_uc t = p[0];\n            if (a) {\n               stbi_uc half = a / 2;\n               p[0] = (p[2] * 255 + half) / a;\n               p[1] = (p[1] * 255 + half) / a;\n               p[2] = ( t   * 255 + half) / a;\n            } else {\n               p[0] = p[2];\n               p[2] = t;\n            }\n            p += 4;\n         }\n      } else {\n         // convert bgr to rgb\n         for (i=0; i < pixel_count; ++i) {\n            stbi_uc t = p[0];\n            p[0] = p[2];\n            p[2] = t;\n            p += 4;\n         }\n      }\n   }\n}\n\n#define STBI__PNG_TYPE(a,b,c,d)  (((a) << 24) + ((b) << 16) + ((c) << 8) + (d))\n\nstatic int stbi__parse_png_file(stbi__png *z, int scan, int req_comp)\n{\n   stbi_uc palette[1024], pal_img_n=0;\n   stbi_uc has_trans=0, tc[3];\n   stbi__uint16 tc16[3];\n   stbi__uint32 ioff=0, idata_limit=0, i, pal_len=0;\n   int first=1,k,interlace=0, color=0, is_iphone=0;\n   stbi__context *s = z->s;\n\n   z->expanded = NULL;\n   z->idata = NULL;\n   z->out = NULL;\n\n   if (!stbi__check_png_header(s)) return 0;\n\n   if (scan == STBI__SCAN_type) return 1;\n\n   for (;;) {\n      stbi__pngchunk c = stbi__get_chunk_header(s);\n      switch (c.type) {\n         case STBI__PNG_TYPE('C','g','B','I'):\n            is_iphone = 1;\n            stbi__skip(s, c.length);\n            break;\n         case STBI__PNG_TYPE('I','H','D','R'): {\n            int comp,filter;\n            if (!first) return stbi__err(\"multiple IHDR\",\"Corrupt PNG\");\n            first = 0;\n            if (c.length != 13) return stbi__err(\"bad IHDR len\",\"Corrupt PNG\");\n            s->img_x = stbi__get32be(s); if (s->img_x > (1 << 24)) return stbi__err(\"too large\",\"Very large image (corrupt?)\");\n            s->img_y = stbi__get32be(s); if (s->img_y > (1 << 24)) return stbi__err(\"too large\",\"Very large image (corrupt?)\");\n            z->depth = stbi__get8(s);  if (z->depth != 1 && z->depth != 2 && z->depth != 4 && z->depth != 8 && z->depth != 16)  return stbi__err(\"1/2/4/8/16-bit only\",\"PNG not supported: 1/2/4/8/16-bit only\");\n            color = stbi__get8(s);  if (color > 6)         return stbi__err(\"bad ctype\",\"Corrupt PNG\");\n            if (color == 3 && z->depth == 16)                  return stbi__err(\"bad ctype\",\"Corrupt PNG\");\n            if (color == 3) pal_img_n = 3; else if (color & 1) return stbi__err(\"bad ctype\",\"Corrupt PNG\");\n            comp  = stbi__get8(s);  if (comp) return stbi__err(\"bad comp method\",\"Corrupt PNG\");\n            filter= stbi__get8(s);  if (filter) return stbi__err(\"bad filter method\",\"Corrupt PNG\");\n            interlace = stbi__get8(s); if (interlace>1) return stbi__err(\"bad interlace method\",\"Corrupt PNG\");\n            if (!s->img_x || !s->img_y) return stbi__err(\"0-pixel image\",\"Corrupt PNG\");\n            if (!pal_img_n) {\n               s->img_n = (color & 2 ? 3 : 1) + (color & 4 ? 1 : 0);\n               if ((1 << 30) / s->img_x / s->img_n < s->img_y) return stbi__err(\"too large\", \"Image too large to decode\");\n               if (scan == STBI__SCAN_header) return 1;\n            } else {\n               // if paletted, then pal_n is our final components, and\n               // img_n is # components to decompress/filter.\n               s->img_n = 1;\n               if ((1 << 30) / s->img_x / 4 < s->img_y) return stbi__err(\"too large\",\"Corrupt PNG\");\n               // if SCAN_header, have to scan to see if we have a tRNS\n            }\n            break;\n         }\n\n         case STBI__PNG_TYPE('P','L','T','E'):  {\n            if (first) return stbi__err(\"first not IHDR\", \"Corrupt PNG\");\n            if (c.length > 256*3) return stbi__err(\"invalid PLTE\",\"Corrupt PNG\");\n            pal_len = c.length / 3;\n            if (pal_len * 3 != c.length) return stbi__err(\"invalid PLTE\",\"Corrupt PNG\");\n            for (i=0; i < pal_len; ++i) {\n               palette[i*4+0] = stbi__get8(s);\n               palette[i*4+1] = stbi__get8(s);\n               palette[i*4+2] = stbi__get8(s);\n               palette[i*4+3] = 255;\n            }\n            break;\n         }\n\n         case STBI__PNG_TYPE('t','R','N','S'): {\n            if (first) return stbi__err(\"first not IHDR\", \"Corrupt PNG\");\n            if (z->idata) return stbi__err(\"tRNS after IDAT\",\"Corrupt PNG\");\n            if (pal_img_n) {\n               if (scan == STBI__SCAN_header) { s->img_n = 4; return 1; }\n               if (pal_len == 0) return stbi__err(\"tRNS before PLTE\",\"Corrupt PNG\");\n               if (c.length > pal_len) return stbi__err(\"bad tRNS len\",\"Corrupt PNG\");\n               pal_img_n = 4;\n               for (i=0; i < c.length; ++i)\n                  palette[i*4+3] = stbi__get8(s);\n            } else {\n               if (!(s->img_n & 1)) return stbi__err(\"tRNS with alpha\",\"Corrupt PNG\");\n               if (c.length != (stbi__uint32) s->img_n*2) return stbi__err(\"bad tRNS len\",\"Corrupt PNG\");\n               has_trans = 1;\n               if (z->depth == 16) {\n                  for (k = 0; k < s->img_n; ++k) tc16[k] = (stbi__uint16)stbi__get16be(s); // copy the values as-is\n               } else {\n                  for (k = 0; k < s->img_n; ++k) tc[k] = (stbi_uc)(stbi__get16be(s) & 255) * stbi__depth_scale_table[z->depth]; // non 8-bit images will be larger\n               }\n            }\n            break;\n         }\n\n         case STBI__PNG_TYPE('I','D','A','T'): {\n            if (first) return stbi__err(\"first not IHDR\", \"Corrupt PNG\");\n            if (pal_img_n && !pal_len) return stbi__err(\"no PLTE\",\"Corrupt PNG\");\n            if (scan == STBI__SCAN_header) { s->img_n = pal_img_n; return 1; }\n            if ((int)(ioff + c.length) < (int)ioff) return 0;\n            if (ioff + c.length > idata_limit) {\n               stbi__uint32 idata_limit_old = idata_limit;\n               stbi_uc *p;\n               if (idata_limit == 0) idata_limit = c.length > 4096 ? c.length : 4096;\n               while (ioff + c.length > idata_limit)\n                  idata_limit *= 2;\n               STBI_NOTUSED(idata_limit_old);\n               p = (stbi_uc *) STBI_REALLOC_SIZED(z->idata, idata_limit_old, idata_limit); if (p == NULL) return stbi__err(\"outofmem\", \"Out of memory\");\n               z->idata = p;\n            }\n            if (!stbi__getn(s, z->idata+ioff,c.length)) return stbi__err(\"outofdata\",\"Corrupt PNG\");\n            ioff += c.length;\n            break;\n         }\n\n         case STBI__PNG_TYPE('I','E','N','D'): {\n            stbi__uint32 raw_len, bpl;\n            if (first) return stbi__err(\"first not IHDR\", \"Corrupt PNG\");\n            if (scan != STBI__SCAN_load) return 1;\n            if (z->idata == NULL) return stbi__err(\"no IDAT\",\"Corrupt PNG\");\n            // initial guess for decoded data size to avoid unnecessary reallocs\n            bpl = (s->img_x * z->depth + 7) / 8; // bytes per line, per component\n            raw_len = bpl * s->img_y * s->img_n /* pixels */ + s->img_y /* filter mode per row */;\n            z->expanded = (stbi_uc *) stbi_zlib_decode_malloc_guesssize_headerflag((char *) z->idata, ioff, raw_len, (int *) &raw_len, !is_iphone);\n            if (z->expanded == NULL) return 0; // zlib should set error\n            STBI_FREE(z->idata); z->idata = NULL;\n            if ((req_comp == s->img_n+1 && req_comp != 3 && !pal_img_n) || has_trans)\n               s->img_out_n = s->img_n+1;\n            else\n               s->img_out_n = s->img_n;\n            if (!stbi__create_png_image(z, z->expanded, raw_len, s->img_out_n, z->depth, color, interlace)) return 0;\n            if (has_trans) {\n               if (z->depth == 16) {\n                  if (!stbi__compute_transparency16(z, tc16, s->img_out_n)) return 0;\n               } else {\n                  if (!stbi__compute_transparency(z, tc, s->img_out_n)) return 0;\n               }\n            }\n            if (is_iphone && stbi__de_iphone_flag && s->img_out_n > 2)\n               stbi__de_iphone(z);\n            if (pal_img_n) {\n               // pal_img_n == 3 or 4\n               s->img_n = pal_img_n; // record the actual colors we had\n               s->img_out_n = pal_img_n;\n               if (req_comp >= 3) s->img_out_n = req_comp;\n               if (!stbi__expand_png_palette(z, palette, pal_len, s->img_out_n))\n                  return 0;\n            } else if (has_trans) {\n               // non-paletted image with tRNS -> source image has (constant) alpha\n               ++s->img_n;\n            }\n            STBI_FREE(z->expanded); z->expanded = NULL;\n            return 1;\n         }\n\n         default:\n            // if critical, fail\n            if (first) return stbi__err(\"first not IHDR\", \"Corrupt PNG\");\n            if ((c.type & (1 << 29)) == 0) {\n               #ifndef STBI_NO_FAILURE_STRINGS\n               // not threadsafe\n               static char invalid_chunk[] = \"XXXX PNG chunk not known\";\n               invalid_chunk[0] = STBI__BYTECAST(c.type >> 24);\n               invalid_chunk[1] = STBI__BYTECAST(c.type >> 16);\n               invalid_chunk[2] = STBI__BYTECAST(c.type >>  8);\n               invalid_chunk[3] = STBI__BYTECAST(c.type >>  0);\n               #endif\n               return stbi__err(invalid_chunk, \"PNG not supported: unknown PNG chunk type\");\n            }\n            stbi__skip(s, c.length);\n            break;\n      }\n      // end of PNG chunk, read and skip CRC\n      stbi__get32be(s);\n   }\n}\n\nstatic void *stbi__do_png(stbi__png *p, int *x, int *y, int *n, int req_comp, stbi__result_info *ri)\n{\n   void *result=NULL;\n   if (req_comp < 0 || req_comp > 4) return stbi__errpuc(\"bad req_comp\", \"Internal error\");\n   if (stbi__parse_png_file(p, STBI__SCAN_load, req_comp)) {\n      if (p->depth < 8)\n         ri->bits_per_channel = 8;\n      else\n         ri->bits_per_channel = p->depth;\n      result = p->out;\n      p->out = NULL;\n      if (req_comp && req_comp != p->s->img_out_n) {\n         if (ri->bits_per_channel == 8)\n            result = stbi__convert_format((unsigned char *) result, p->s->img_out_n, req_comp, p->s->img_x, p->s->img_y);\n         else\n            result = stbi__convert_format16((stbi__uint16 *) result, p->s->img_out_n, req_comp, p->s->img_x, p->s->img_y);\n         p->s->img_out_n = req_comp;\n         if (result == NULL) return result;\n      }\n      *x = p->s->img_x;\n      *y = p->s->img_y;\n      if (n) *n = p->s->img_n;\n   }\n   STBI_FREE(p->out);      p->out      = NULL;\n   STBI_FREE(p->expanded); p->expanded = NULL;\n   STBI_FREE(p->idata);    p->idata    = NULL;\n\n   return result;\n}\n\nstatic void *stbi__png_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri)\n{\n   stbi__png p;\n   p.s = s;\n   return stbi__do_png(&p, x,y,comp,req_comp, ri);\n}\n\nstatic int stbi__png_test(stbi__context *s)\n{\n   int r;\n   r = stbi__check_png_header(s);\n   stbi__rewind(s);\n   return r;\n}\n\nstatic int stbi__png_info_raw(stbi__png *p, int *x, int *y, int *comp)\n{\n   if (!stbi__parse_png_file(p, STBI__SCAN_header, 0)) {\n      stbi__rewind( p->s );\n      return 0;\n   }\n   if (x) *x = p->s->img_x;\n   if (y) *y = p->s->img_y;\n   if (comp) *comp = p->s->img_n;\n   return 1;\n}\n\nstatic int stbi__png_info(stbi__context *s, int *x, int *y, int *comp)\n{\n   stbi__png p;\n   p.s = s;\n   return stbi__png_info_raw(&p, x, y, comp);\n}\n#endif\n\n// Microsoft/Windows BMP image\n\n#ifndef STBI_NO_BMP\nstatic int stbi__bmp_test_raw(stbi__context *s)\n{\n   int r;\n   int sz;\n   if (stbi__get8(s) != 'B') return 0;\n   if (stbi__get8(s) != 'M') return 0;\n   stbi__get32le(s); // discard filesize\n   stbi__get16le(s); // discard reserved\n   stbi__get16le(s); // discard reserved\n   stbi__get32le(s); // discard data offset\n   sz = stbi__get32le(s);\n   r = (sz == 12 || sz == 40 || sz == 56 || sz == 108 || sz == 124);\n   return r;\n}\n\nstatic int stbi__bmp_test(stbi__context *s)\n{\n   int r = stbi__bmp_test_raw(s);\n   stbi__rewind(s);\n   return r;\n}\n\n\n// returns 0..31 for the highest set bit\nstatic int stbi__high_bit(unsigned int z)\n{\n   int n=0;\n   if (z == 0) return -1;\n   if (z >= 0x10000) n += 16, z >>= 16;\n   if (z >= 0x00100) n +=  8, z >>=  8;\n   if (z >= 0x00010) n +=  4, z >>=  4;\n   if (z >= 0x00004) n +=  2, z >>=  2;\n   if (z >= 0x00002) n +=  1, z >>=  1;\n   return n;\n}\n\nstatic int stbi__bitcount(unsigned int a)\n{\n   a = (a & 0x55555555) + ((a >>  1) & 0x55555555); // max 2\n   a = (a & 0x33333333) + ((a >>  2) & 0x33333333); // max 4\n   a = (a + (a >> 4)) & 0x0f0f0f0f; // max 8 per 4, now 8 bits\n   a = (a + (a >> 8)); // max 16 per 8 bits\n   a = (a + (a >> 16)); // max 32 per 8 bits\n   return a & 0xff;\n}\n\nstatic int stbi__shiftsigned(int v, int shift, int bits)\n{\n   int result;\n   int z=0;\n\n   if (shift < 0) v <<= -shift;\n   else v >>= shift;\n   result = v;\n\n   z = bits;\n   while (z < 8) {\n      result += v >> z;\n      z += bits;\n   }\n   return result;\n}\n\ntypedef struct\n{\n   int bpp, offset, hsz;\n   unsigned int mr,mg,mb,ma, all_a;\n} stbi__bmp_data;\n\nstatic void *stbi__bmp_parse_header(stbi__context *s, stbi__bmp_data *info)\n{\n   int hsz;\n   if (stbi__get8(s) != 'B' || stbi__get8(s) != 'M') return stbi__errpuc(\"not BMP\", \"Corrupt BMP\");\n   stbi__get32le(s); // discard filesize\n   stbi__get16le(s); // discard reserved\n   stbi__get16le(s); // discard reserved\n   info->offset = stbi__get32le(s);\n   info->hsz = hsz = stbi__get32le(s);\n   info->mr = info->mg = info->mb = info->ma = 0;\n\n   if (hsz != 12 && hsz != 40 && hsz != 56 && hsz != 108 && hsz != 124) return stbi__errpuc(\"unknown BMP\", \"BMP type not supported: unknown\");\n   if (hsz == 12) {\n      s->img_x = stbi__get16le(s);\n      s->img_y = stbi__get16le(s);\n   } else {\n      s->img_x = stbi__get32le(s);\n      s->img_y = stbi__get32le(s);\n   }\n   if (stbi__get16le(s) != 1) return stbi__errpuc(\"bad BMP\", \"bad BMP\");\n   info->bpp = stbi__get16le(s);\n   if (info->bpp == 1) return stbi__errpuc(\"monochrome\", \"BMP type not supported: 1-bit\");\n   if (hsz != 12) {\n      int compress = stbi__get32le(s);\n      if (compress == 1 || compress == 2) return stbi__errpuc(\"BMP RLE\", \"BMP type not supported: RLE\");\n      stbi__get32le(s); // discard sizeof\n      stbi__get32le(s); // discard hres\n      stbi__get32le(s); // discard vres\n      stbi__get32le(s); // discard colorsused\n      stbi__get32le(s); // discard max important\n      if (hsz == 40 || hsz == 56) {\n         if (hsz == 56) {\n            stbi__get32le(s);\n            stbi__get32le(s);\n            stbi__get32le(s);\n            stbi__get32le(s);\n         }\n         if (info->bpp == 16 || info->bpp == 32) {\n            if (compress == 0) {\n               if (info->bpp == 32) {\n                  info->mr = 0xffu << 16;\n                  info->mg = 0xffu <<  8;\n                  info->mb = 0xffu <<  0;\n                  info->ma = 0xffu << 24;\n                  info->all_a = 0; // if all_a is 0 at end, then we loaded alpha channel but it was all 0\n               } else {\n                  info->mr = 31u << 10;\n                  info->mg = 31u <<  5;\n                  info->mb = 31u <<  0;\n               }\n            } else if (compress == 3) {\n               info->mr = stbi__get32le(s);\n               info->mg = stbi__get32le(s);\n               info->mb = stbi__get32le(s);\n               // not documented, but generated by photoshop and handled by mspaint\n               if (info->mr == info->mg && info->mg == info->mb) {\n                  // ?!?!?\n                  return stbi__errpuc(\"bad BMP\", \"bad BMP\");\n               }\n            } else\n               return stbi__errpuc(\"bad BMP\", \"bad BMP\");\n         }\n      } else {\n         int i;\n         if (hsz != 108 && hsz != 124)\n            return stbi__errpuc(\"bad BMP\", \"bad BMP\");\n         info->mr = stbi__get32le(s);\n         info->mg = stbi__get32le(s);\n         info->mb = stbi__get32le(s);\n         info->ma = stbi__get32le(s);\n         stbi__get32le(s); // discard color space\n         for (i=0; i < 12; ++i)\n            stbi__get32le(s); // discard color space parameters\n         if (hsz == 124) {\n            stbi__get32le(s); // discard rendering intent\n            stbi__get32le(s); // discard offset of profile data\n            stbi__get32le(s); // discard size of profile data\n            stbi__get32le(s); // discard reserved\n         }\n      }\n   }\n   return (void *) 1;\n}\n\n\nstatic void *stbi__bmp_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri)\n{\n   stbi_uc *out;\n   unsigned int mr=0,mg=0,mb=0,ma=0, all_a;\n   stbi_uc pal[256][4];\n   int psize=0,i,j,width;\n   int flip_vertically, pad, target;\n   stbi__bmp_data info;\n   STBI_NOTUSED(ri);\n\n   info.all_a = 255;\n   if (stbi__bmp_parse_header(s, &info) == NULL)\n      return NULL; // error code already set\n\n   flip_vertically = ((int) s->img_y) > 0;\n   s->img_y = abs((int) s->img_y);\n\n   mr = info.mr;\n   mg = info.mg;\n   mb = info.mb;\n   ma = info.ma;\n   all_a = info.all_a;\n\n   if (info.hsz == 12) {\n      if (info.bpp < 24)\n         psize = (info.offset - 14 - 24) / 3;\n   } else {\n      if (info.bpp < 16)\n         psize = (info.offset - 14 - info.hsz) >> 2;\n   }\n\n   s->img_n = ma ? 4 : 3;\n   if (req_comp && req_comp >= 3) // we can directly decode 3 or 4\n      target = req_comp;\n   else\n      target = s->img_n; // if they want monochrome, we'll post-convert\n\n   // sanity-check size\n   if (!stbi__mad3sizes_valid(target, s->img_x, s->img_y, 0))\n      return stbi__errpuc(\"too large\", \"Corrupt BMP\");\n\n   out = (stbi_uc *) stbi__malloc_mad3(target, s->img_x, s->img_y, 0);\n   if (!out) return stbi__errpuc(\"outofmem\", \"Out of memory\");\n   if (info.bpp < 16) {\n      int z=0;\n      if (psize == 0 || psize > 256) { STBI_FREE(out); return stbi__errpuc(\"invalid\", \"Corrupt BMP\"); }\n      for (i=0; i < psize; ++i) {\n         pal[i][2] = stbi__get8(s);\n         pal[i][1] = stbi__get8(s);\n         pal[i][0] = stbi__get8(s);\n         if (info.hsz != 12) stbi__get8(s);\n         pal[i][3] = 255;\n      }\n      stbi__skip(s, info.offset - 14 - info.hsz - psize * (info.hsz == 12 ? 3 : 4));\n      if (info.bpp == 4) width = (s->img_x + 1) >> 1;\n      else if (info.bpp == 8) width = s->img_x;\n      else { STBI_FREE(out); return stbi__errpuc(\"bad bpp\", \"Corrupt BMP\"); }\n      pad = (-width)&3;\n      for (j=0; j < (int) s->img_y; ++j) {\n         for (i=0; i < (int) s->img_x; i += 2) {\n            int v=stbi__get8(s),v2=0;\n            if (info.bpp == 4) {\n               v2 = v & 15;\n               v >>= 4;\n            }\n            out[z++] = pal[v][0];\n            out[z++] = pal[v][1];\n            out[z++] = pal[v][2];\n            if (target == 4) out[z++] = 255;\n            if (i+1 == (int) s->img_x) break;\n            v = (info.bpp == 8) ? stbi__get8(s) : v2;\n            out[z++] = pal[v][0];\n            out[z++] = pal[v][1];\n            out[z++] = pal[v][2];\n            if (target == 4) out[z++] = 255;\n         }\n         stbi__skip(s, pad);\n      }\n   } else {\n      int rshift=0,gshift=0,bshift=0,ashift=0,rcount=0,gcount=0,bcount=0,acount=0;\n      int z = 0;\n      int easy=0;\n      stbi__skip(s, info.offset - 14 - info.hsz);\n      if (info.bpp == 24) width = 3 * s->img_x;\n      else if (info.bpp == 16) width = 2*s->img_x;\n      else /* bpp = 32 and pad = 0 */ width=0;\n      pad = (-width) & 3;\n      if (info.bpp == 24) {\n         easy = 1;\n      } else if (info.bpp == 32) {\n         if (mb == 0xff && mg == 0xff00 && mr == 0x00ff0000 && ma == 0xff000000)\n            easy = 2;\n      }\n      if (!easy) {\n         if (!mr || !mg || !mb) { STBI_FREE(out); return stbi__errpuc(\"bad masks\", \"Corrupt BMP\"); }\n         // right shift amt to put high bit in position #7\n         rshift = stbi__high_bit(mr)-7; rcount = stbi__bitcount(mr);\n         gshift = stbi__high_bit(mg)-7; gcount = stbi__bitcount(mg);\n         bshift = stbi__high_bit(mb)-7; bcount = stbi__bitcount(mb);\n         ashift = stbi__high_bit(ma)-7; acount = stbi__bitcount(ma);\n      }\n      for (j=0; j < (int) s->img_y; ++j) {\n         if (easy) {\n            for (i=0; i < (int) s->img_x; ++i) {\n               unsigned char a;\n               out[z+2] = stbi__get8(s);\n               out[z+1] = stbi__get8(s);\n               out[z+0] = stbi__get8(s);\n               z += 3;\n               a = (easy == 2 ? stbi__get8(s) : 255);\n               all_a |= a;\n               if (target == 4) out[z++] = a;\n            }\n         } else {\n            int bpp = info.bpp;\n            for (i=0; i < (int) s->img_x; ++i) {\n               stbi__uint32 v = (bpp == 16 ? (stbi__uint32) stbi__get16le(s) : stbi__get32le(s));\n               int a;\n               out[z++] = STBI__BYTECAST(stbi__shiftsigned(v & mr, rshift, rcount));\n               out[z++] = STBI__BYTECAST(stbi__shiftsigned(v & mg, gshift, gcount));\n               out[z++] = STBI__BYTECAST(stbi__shiftsigned(v & mb, bshift, bcount));\n               a = (ma ? stbi__shiftsigned(v & ma, ashift, acount) : 255);\n               all_a |= a;\n               if (target == 4) out[z++] = STBI__BYTECAST(a);\n            }\n         }\n         stbi__skip(s, pad);\n      }\n   }\n\n   // if alpha channel is all 0s, replace with all 255s\n   if (target == 4 && all_a == 0)\n      for (i=4*s->img_x*s->img_y-1; i >= 0; i -= 4)\n         out[i] = 255;\n\n   if (flip_vertically) {\n      stbi_uc t;\n      for (j=0; j < (int) s->img_y>>1; ++j) {\n         stbi_uc *p1 = out +      j     *s->img_x*target;\n         stbi_uc *p2 = out + (s->img_y-1-j)*s->img_x*target;\n         for (i=0; i < (int) s->img_x*target; ++i) {\n            t = p1[i], p1[i] = p2[i], p2[i] = t;\n         }\n      }\n   }\n\n   if (req_comp && req_comp != target) {\n      out = stbi__convert_format(out, target, req_comp, s->img_x, s->img_y);\n      if (out == NULL) return out; // stbi__convert_format frees input on failure\n   }\n\n   *x = s->img_x;\n   *y = s->img_y;\n   if (comp) *comp = s->img_n;\n   return out;\n}\n#endif\n\n// Targa Truevision - TGA\n// by Jonathan Dummer\n#ifndef STBI_NO_TGA\n// returns STBI_rgb or whatever, 0 on error\nstatic int stbi__tga_get_comp(int bits_per_pixel, int is_grey, int* is_rgb16)\n{\n   // only RGB or RGBA (incl. 16bit) or grey allowed\n   if(is_rgb16) *is_rgb16 = 0;\n   switch(bits_per_pixel) {\n      case 8:  return STBI_grey;\n      case 16: if(is_grey) return STBI_grey_alpha;\n            // else: fall-through\n      case 15: if(is_rgb16) *is_rgb16 = 1;\n            return STBI_rgb;\n      case 24: // fall-through\n      case 32: return bits_per_pixel/8;\n      default: return 0;\n   }\n}\n\nstatic int stbi__tga_info(stbi__context *s, int *x, int *y, int *comp)\n{\n    int tga_w, tga_h, tga_comp, tga_image_type, tga_bits_per_pixel, tga_colormap_bpp;\n    int sz, tga_colormap_type;\n    stbi__get8(s);                   // discard Offset\n    tga_colormap_type = stbi__get8(s); // colormap type\n    if( tga_colormap_type > 1 ) {\n        stbi__rewind(s);\n        return 0;      // only RGB or indexed allowed\n    }\n    tga_image_type = stbi__get8(s); // image type\n    if ( tga_colormap_type == 1 ) { // colormapped (paletted) image\n        if (tga_image_type != 1 && tga_image_type != 9) {\n            stbi__rewind(s);\n            return 0;\n        }\n        stbi__skip(s,4);       // skip index of first colormap entry and number of entries\n        sz = stbi__get8(s);    //   check bits per palette color entry\n        if ( (sz != 8) && (sz != 15) && (sz != 16) && (sz != 24) && (sz != 32) ) {\n            stbi__rewind(s);\n            return 0;\n        }\n        stbi__skip(s,4);       // skip image x and y origin\n        tga_colormap_bpp = sz;\n    } else { // \"normal\" image w/o colormap - only RGB or grey allowed, +/- RLE\n        if ( (tga_image_type != 2) && (tga_image_type != 3) && (tga_image_type != 10) && (tga_image_type != 11) ) {\n            stbi__rewind(s);\n            return 0; // only RGB or grey allowed, +/- RLE\n        }\n        stbi__skip(s,9); // skip colormap specification and image x/y origin\n        tga_colormap_bpp = 0;\n    }\n    tga_w = stbi__get16le(s);\n    if( tga_w < 1 ) {\n        stbi__rewind(s);\n        return 0;   // test width\n    }\n    tga_h = stbi__get16le(s);\n    if( tga_h < 1 ) {\n        stbi__rewind(s);\n        return 0;   // test height\n    }\n    tga_bits_per_pixel = stbi__get8(s); // bits per pixel\n    stbi__get8(s); // ignore alpha bits\n    if (tga_colormap_bpp != 0) {\n        if((tga_bits_per_pixel != 8) && (tga_bits_per_pixel != 16)) {\n            // when using a colormap, tga_bits_per_pixel is the size of the indexes\n            // I don't think anything but 8 or 16bit indexes makes sense\n            stbi__rewind(s);\n            return 0;\n        }\n        tga_comp = stbi__tga_get_comp(tga_colormap_bpp, 0, NULL);\n    } else {\n        tga_comp = stbi__tga_get_comp(tga_bits_per_pixel, (tga_image_type == 3) || (tga_image_type == 11), NULL);\n    }\n    if(!tga_comp) {\n      stbi__rewind(s);\n      return 0;\n    }\n    if (x) *x = tga_w;\n    if (y) *y = tga_h;\n    if (comp) *comp = tga_comp;\n    return 1;                   // seems to have passed everything\n}\n\nstatic int stbi__tga_test(stbi__context *s)\n{\n   int res = 0;\n   int sz, tga_color_type;\n   stbi__get8(s);      //   discard Offset\n   tga_color_type = stbi__get8(s);   //   color type\n   if ( tga_color_type > 1 ) goto errorEnd;   //   only RGB or indexed allowed\n   sz = stbi__get8(s);   //   image type\n   if ( tga_color_type == 1 ) { // colormapped (paletted) image\n      if (sz != 1 && sz != 9) goto errorEnd; // colortype 1 demands image type 1 or 9\n      stbi__skip(s,4);       // skip index of first colormap entry and number of entries\n      sz = stbi__get8(s);    //   check bits per palette color entry\n      if ( (sz != 8) && (sz != 15) && (sz != 16) && (sz != 24) && (sz != 32) ) goto errorEnd;\n      stbi__skip(s,4);       // skip image x and y origin\n   } else { // \"normal\" image w/o colormap\n      if ( (sz != 2) && (sz != 3) && (sz != 10) && (sz != 11) ) goto errorEnd; // only RGB or grey allowed, +/- RLE\n      stbi__skip(s,9); // skip colormap specification and image x/y origin\n   }\n   if ( stbi__get16le(s) < 1 ) goto errorEnd;      //   test width\n   if ( stbi__get16le(s) < 1 ) goto errorEnd;      //   test height\n   sz = stbi__get8(s);   //   bits per pixel\n   if ( (tga_color_type == 1) && (sz != 8) && (sz != 16) ) goto errorEnd; // for colormapped images, bpp is size of an index\n   if ( (sz != 8) && (sz != 15) && (sz != 16) && (sz != 24) && (sz != 32) ) goto errorEnd;\n\n   res = 1; // if we got this far, everything's good and we can return 1 instead of 0\n\nerrorEnd:\n   stbi__rewind(s);\n   return res;\n}\n\n// read 16bit value and convert to 24bit RGB\nstatic void stbi__tga_read_rgb16(stbi__context *s, stbi_uc* out)\n{\n   stbi__uint16 px = (stbi__uint16)stbi__get16le(s);\n   stbi__uint16 fiveBitMask = 31;\n   // we have 3 channels with 5bits each\n   int r = (px >> 10) & fiveBitMask;\n   int g = (px >> 5) & fiveBitMask;\n   int b = px & fiveBitMask;\n   // Note that this saves the data in RGB(A) order, so it doesn't need to be swapped later\n   out[0] = (stbi_uc)((r * 255)/31);\n   out[1] = (stbi_uc)((g * 255)/31);\n   out[2] = (stbi_uc)((b * 255)/31);\n\n   // some people claim that the most significant bit might be used for alpha\n   // (possibly if an alpha-bit is set in the \"image descriptor byte\")\n   // but that only made 16bit test images completely translucent..\n   // so let's treat all 15 and 16bit TGAs as RGB with no alpha.\n}\n\nstatic void *stbi__tga_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri)\n{\n   //   read in the TGA header stuff\n   int tga_offset = stbi__get8(s);\n   int tga_indexed = stbi__get8(s);\n   int tga_image_type = stbi__get8(s);\n   int tga_is_RLE = 0;\n   int tga_palette_start = stbi__get16le(s);\n   int tga_palette_len = stbi__get16le(s);\n   int tga_palette_bits = stbi__get8(s);\n   int tga_x_origin = stbi__get16le(s);\n   int tga_y_origin = stbi__get16le(s);\n   int tga_width = stbi__get16le(s);\n   int tga_height = stbi__get16le(s);\n   int tga_bits_per_pixel = stbi__get8(s);\n   int tga_comp, tga_rgb16=0;\n   int tga_inverted = stbi__get8(s);\n   // int tga_alpha_bits = tga_inverted & 15; // the 4 lowest bits - unused (useless?)\n   //   image data\n   unsigned char *tga_data;\n   unsigned char *tga_palette = NULL;\n   int i, j;\n   unsigned char raw_data[4] = {0};\n   int RLE_count = 0;\n   int RLE_repeating = 0;\n   int read_next_pixel = 1;\n   STBI_NOTUSED(ri);\n\n   //   do a tiny bit of precessing\n   if ( tga_image_type >= 8 )\n   {\n      tga_image_type -= 8;\n      tga_is_RLE = 1;\n   }\n   tga_inverted = 1 - ((tga_inverted >> 5) & 1);\n\n   //   If I'm paletted, then I'll use the number of bits from the palette\n   if ( tga_indexed ) tga_comp = stbi__tga_get_comp(tga_palette_bits, 0, &tga_rgb16);\n   else tga_comp = stbi__tga_get_comp(tga_bits_per_pixel, (tga_image_type == 3), &tga_rgb16);\n\n   if(!tga_comp) // shouldn't really happen, stbi__tga_test() should have ensured basic consistency\n      return stbi__errpuc(\"bad format\", \"Can't find out TGA pixelformat\");\n\n   //   tga info\n   *x = tga_width;\n   *y = tga_height;\n   if (comp) *comp = tga_comp;\n\n   if (!stbi__mad3sizes_valid(tga_width, tga_height, tga_comp, 0))\n      return stbi__errpuc(\"too large\", \"Corrupt TGA\");\n\n   tga_data = (unsigned char*)stbi__malloc_mad3(tga_width, tga_height, tga_comp, 0);\n   if (!tga_data) return stbi__errpuc(\"outofmem\", \"Out of memory\");\n\n   // skip to the data's starting position (offset usually = 0)\n   stbi__skip(s, tga_offset );\n\n   if ( !tga_indexed && !tga_is_RLE && !tga_rgb16 ) {\n      for (i=0; i < tga_height; ++i) {\n         int row = tga_inverted ? tga_height -i - 1 : i;\n         stbi_uc *tga_row = tga_data + row*tga_width*tga_comp;\n         stbi__getn(s, tga_row, tga_width * tga_comp);\n      }\n   } else  {\n      //   do I need to load a palette?\n      if ( tga_indexed)\n      {\n         //   any data to skip? (offset usually = 0)\n         stbi__skip(s, tga_palette_start );\n         //   load the palette\n         tga_palette = (unsigned char*)stbi__malloc_mad2(tga_palette_len, tga_comp, 0);\n         if (!tga_palette) {\n            STBI_FREE(tga_data);\n            return stbi__errpuc(\"outofmem\", \"Out of memory\");\n         }\n         if (tga_rgb16) {\n            stbi_uc *pal_entry = tga_palette;\n            STBI_ASSERT(tga_comp == STBI_rgb);\n            for (i=0; i < tga_palette_len; ++i) {\n               stbi__tga_read_rgb16(s, pal_entry);\n               pal_entry += tga_comp;\n            }\n         } else if (!stbi__getn(s, tga_palette, tga_palette_len * tga_comp)) {\n               STBI_FREE(tga_data);\n               STBI_FREE(tga_palette);\n               return stbi__errpuc(\"bad palette\", \"Corrupt TGA\");\n         }\n      }\n      //   load the data\n      for (i=0; i < tga_width * tga_height; ++i)\n      {\n         //   if I'm in RLE mode, do I need to get a RLE stbi__pngchunk?\n         if ( tga_is_RLE )\n         {\n            if ( RLE_count == 0 )\n            {\n               //   yep, get the next byte as a RLE command\n               int RLE_cmd = stbi__get8(s);\n               RLE_count = 1 + (RLE_cmd & 127);\n               RLE_repeating = RLE_cmd >> 7;\n               read_next_pixel = 1;\n            } else if ( !RLE_repeating )\n            {\n               read_next_pixel = 1;\n            }\n         } else\n         {\n            read_next_pixel = 1;\n         }\n         //   OK, if I need to read a pixel, do it now\n         if ( read_next_pixel )\n         {\n            //   load however much data we did have\n            if ( tga_indexed )\n            {\n               // read in index, then perform the lookup\n               int pal_idx = (tga_bits_per_pixel == 8) ? stbi__get8(s) : stbi__get16le(s);\n               if ( pal_idx >= tga_palette_len ) {\n                  // invalid index\n                  pal_idx = 0;\n               }\n               pal_idx *= tga_comp;\n               for (j = 0; j < tga_comp; ++j) {\n                  raw_data[j] = tga_palette[pal_idx+j];\n               }\n            } else if(tga_rgb16) {\n               STBI_ASSERT(tga_comp == STBI_rgb);\n               stbi__tga_read_rgb16(s, raw_data);\n            } else {\n               //   read in the data raw\n               for (j = 0; j < tga_comp; ++j) {\n                  raw_data[j] = stbi__get8(s);\n               }\n            }\n            //   clear the reading flag for the next pixel\n            read_next_pixel = 0;\n         } // end of reading a pixel\n\n         // copy data\n         for (j = 0; j < tga_comp; ++j)\n           tga_data[i*tga_comp+j] = raw_data[j];\n\n         //   in case we're in RLE mode, keep counting down\n         --RLE_count;\n      }\n      //   do I need to invert the image?\n      if ( tga_inverted )\n      {\n         for (j = 0; j*2 < tga_height; ++j)\n         {\n            int index1 = j * tga_width * tga_comp;\n            int index2 = (tga_height - 1 - j) * tga_width * tga_comp;\n            for (i = tga_width * tga_comp; i > 0; --i)\n            {\n               unsigned char temp = tga_data[index1];\n               tga_data[index1] = tga_data[index2];\n               tga_data[index2] = temp;\n               ++index1;\n               ++index2;\n            }\n         }\n      }\n      //   clear my palette, if I had one\n      if ( tga_palette != NULL )\n      {\n         STBI_FREE( tga_palette );\n      }\n   }\n\n   // swap RGB - if the source data was RGB16, it already is in the right order\n   if (tga_comp >= 3 && !tga_rgb16)\n   {\n      unsigned char* tga_pixel = tga_data;\n      for (i=0; i < tga_width * tga_height; ++i)\n      {\n         unsigned char temp = tga_pixel[0];\n         tga_pixel[0] = tga_pixel[2];\n         tga_pixel[2] = temp;\n         tga_pixel += tga_comp;\n      }\n   }\n\n   // convert to target component count\n   if (req_comp && req_comp != tga_comp)\n      tga_data = stbi__convert_format(tga_data, tga_comp, req_comp, tga_width, tga_height);\n\n   //   the things I do to get rid of an error message, and yet keep\n   //   Microsoft's C compilers happy... [8^(\n   tga_palette_start = tga_palette_len = tga_palette_bits =\n         tga_x_origin = tga_y_origin = 0;\n   //   OK, done\n   return tga_data;\n}\n#endif\n\n// *************************************************************************************************\n// Photoshop PSD loader -- PD by Thatcher Ulrich, integration by Nicolas Schulz, tweaked by STB\n\n#ifndef STBI_NO_PSD\nstatic int stbi__psd_test(stbi__context *s)\n{\n   int r = (stbi__get32be(s) == 0x38425053);\n   stbi__rewind(s);\n   return r;\n}\n\nstatic int stbi__psd_decode_rle(stbi__context *s, stbi_uc *p, int pixelCount)\n{\n   int count, nleft, len;\n\n   count = 0;\n   while ((nleft = pixelCount - count) > 0) {\n      len = stbi__get8(s);\n      if (len == 128) {\n         // No-op.\n      } else if (len < 128) {\n         // Copy next len+1 bytes literally.\n         len++;\n         if (len > nleft) return 0; // corrupt data\n         count += len;\n         while (len) {\n            *p = stbi__get8(s);\n            p += 4;\n            len--;\n         }\n      } else if (len > 128) {\n         stbi_uc   val;\n         // Next -len+1 bytes in the dest are replicated from next source byte.\n         // (Interpret len as a negative 8-bit int.)\n         len = 257 - len;\n         if (len > nleft) return 0; // corrupt data\n         val = stbi__get8(s);\n         count += len;\n         while (len) {\n            *p = val;\n            p += 4;\n            len--;\n         }\n      }\n   }\n\n   return 1;\n}\n\nstatic void *stbi__psd_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri, int bpc)\n{\n   int pixelCount;\n   int channelCount, compression;\n   int channel, i;\n   int bitdepth;\n   int w,h;\n   stbi_uc *out;\n   STBI_NOTUSED(ri);\n\n   // Check identifier\n   if (stbi__get32be(s) != 0x38425053)   // \"8BPS\"\n      return stbi__errpuc(\"not PSD\", \"Corrupt PSD image\");\n\n   // Check file type version.\n   if (stbi__get16be(s) != 1)\n      return stbi__errpuc(\"wrong version\", \"Unsupported version of PSD image\");\n\n   // Skip 6 reserved bytes.\n   stbi__skip(s, 6 );\n\n   // Read the number of channels (R, G, B, A, etc).\n   channelCount = stbi__get16be(s);\n   if (channelCount < 0 || channelCount > 16)\n      return stbi__errpuc(\"wrong channel count\", \"Unsupported number of channels in PSD image\");\n\n   // Read the rows and columns of the image.\n   h = stbi__get32be(s);\n   w = stbi__get32be(s);\n\n   // Make sure the depth is 8 bits.\n   bitdepth = stbi__get16be(s);\n   if (bitdepth != 8 && bitdepth != 16)\n      return stbi__errpuc(\"unsupported bit depth\", \"PSD bit depth is not 8 or 16 bit\");\n\n   // Make sure the color mode is RGB.\n   // Valid options are:\n   //   0: Bitmap\n   //   1: Grayscale\n   //   2: Indexed color\n   //   3: RGB color\n   //   4: CMYK color\n   //   7: Multichannel\n   //   8: Duotone\n   //   9: Lab color\n   if (stbi__get16be(s) != 3)\n      return stbi__errpuc(\"wrong color format\", \"PSD is not in RGB color format\");\n\n   // Skip the Mode Data.  (It's the palette for indexed color; other info for other modes.)\n   stbi__skip(s,stbi__get32be(s) );\n\n   // Skip the image resources.  (resolution, pen tool paths, etc)\n   stbi__skip(s, stbi__get32be(s) );\n\n   // Skip the reserved data.\n   stbi__skip(s, stbi__get32be(s) );\n\n   // Find out if the data is compressed.\n   // Known values:\n   //   0: no compression\n   //   1: RLE compressed\n   compression = stbi__get16be(s);\n   if (compression > 1)\n      return stbi__errpuc(\"bad compression\", \"PSD has an unknown compression format\");\n\n   // Check size\n   if (!stbi__mad3sizes_valid(4, w, h, 0))\n      return stbi__errpuc(\"too large\", \"Corrupt PSD\");\n\n   // Create the destination image.\n\n   if (!compression && bitdepth == 16 && bpc == 16) {\n      out = (stbi_uc *) stbi__malloc_mad3(8, w, h, 0);\n      ri->bits_per_channel = 16;\n   } else\n      out = (stbi_uc *) stbi__malloc(4 * w*h);\n\n   if (!out) return stbi__errpuc(\"outofmem\", \"Out of memory\");\n   pixelCount = w*h;\n\n   // Initialize the data to zero.\n   //memset( out, 0, pixelCount * 4 );\n\n   // Finally, the image data.\n   if (compression) {\n      // RLE as used by .PSD and .TIFF\n      // Loop until you get the number of unpacked bytes you are expecting:\n      //     Read the next source byte into n.\n      //     If n is between 0 and 127 inclusive, copy the next n+1 bytes literally.\n      //     Else if n is between -127 and -1 inclusive, copy the next byte -n+1 times.\n      //     Else if n is 128, noop.\n      // Endloop\n\n      // The RLE-compressed data is preceeded by a 2-byte data count for each row in the data,\n      // which we're going to just skip.\n      stbi__skip(s, h * channelCount * 2 );\n\n      // Read the RLE data by channel.\n      for (channel = 0; channel < 4; channel++) {\n         stbi_uc *p;\n\n         p = out+channel;\n         if (channel >= channelCount) {\n            // Fill this channel with default data.\n            for (i = 0; i < pixelCount; i++, p += 4)\n               *p = (channel == 3 ? 255 : 0);\n         } else {\n            // Read the RLE data.\n            if (!stbi__psd_decode_rle(s, p, pixelCount)) {\n               STBI_FREE(out);\n               return stbi__errpuc(\"corrupt\", \"bad RLE data\");\n            }\n         }\n      }\n\n   } else {\n      // We're at the raw image data.  It's each channel in order (Red, Green, Blue, Alpha, ...)\n      // where each channel consists of an 8-bit (or 16-bit) value for each pixel in the image.\n\n      // Read the data by channel.\n      for (channel = 0; channel < 4; channel++) {\n         if (channel >= channelCount) {\n            // Fill this channel with default data.\n            if (bitdepth == 16 && bpc == 16) {\n               stbi__uint16 *q = ((stbi__uint16 *) out) + channel;\n               stbi__uint16 val = channel == 3 ? 65535 : 0;\n               for (i = 0; i < pixelCount; i++, q += 4)\n                  *q = val;\n            } else {\n               stbi_uc *p = out+channel;\n               stbi_uc val = channel == 3 ? 255 : 0;\n               for (i = 0; i < pixelCount; i++, p += 4)\n                  *p = val;\n            }\n         } else {\n            if (ri->bits_per_channel == 16) {    // output bpc\n               stbi__uint16 *q = ((stbi__uint16 *) out) + channel;\n               for (i = 0; i < pixelCount; i++, q += 4)\n                  *q = (stbi__uint16) stbi__get16be(s);\n            } else {\n               stbi_uc *p = out+channel;\n               if (bitdepth == 16) {  // input bpc\n                  for (i = 0; i < pixelCount; i++, p += 4)\n                     *p = (stbi_uc) (stbi__get16be(s) >> 8);\n               } else {\n                  for (i = 0; i < pixelCount; i++, p += 4)\n                     *p = stbi__get8(s);\n               }\n            }\n         }\n      }\n   }\n\n   // remove weird white matte from PSD\n   if (channelCount >= 4) {\n      if (ri->bits_per_channel == 16) {\n         for (i=0; i < w*h; ++i) {\n            stbi__uint16 *pixel = (stbi__uint16 *) out + 4*i;\n            if (pixel[3] != 0 && pixel[3] != 65535) {\n               float a = pixel[3] / 65535.0f;\n               float ra = 1.0f / a;\n               float inv_a = 65535.0f * (1 - ra);\n               pixel[0] = (stbi__uint16) (pixel[0]*ra + inv_a);\n               pixel[1] = (stbi__uint16) (pixel[1]*ra + inv_a);\n               pixel[2] = (stbi__uint16) (pixel[2]*ra + inv_a);\n            }\n         }\n      } else {\n         for (i=0; i < w*h; ++i) {\n            unsigned char *pixel = out + 4*i;\n            if (pixel[3] != 0 && pixel[3] != 255) {\n               float a = pixel[3] / 255.0f;\n               float ra = 1.0f / a;\n               float inv_a = 255.0f * (1 - ra);\n               pixel[0] = (unsigned char) (pixel[0]*ra + inv_a);\n               pixel[1] = (unsigned char) (pixel[1]*ra + inv_a);\n               pixel[2] = (unsigned char) (pixel[2]*ra + inv_a);\n            }\n         }\n      }\n   }\n\n   // convert to desired output format\n   if (req_comp && req_comp != 4) {\n      if (ri->bits_per_channel == 16)\n         out = (stbi_uc *) stbi__convert_format16((stbi__uint16 *) out, 4, req_comp, w, h);\n      else\n         out = stbi__convert_format(out, 4, req_comp, w, h);\n      if (out == NULL) return out; // stbi__convert_format frees input on failure\n   }\n\n   if (comp) *comp = 4;\n   *y = h;\n   *x = w;\n\n   return out;\n}\n#endif\n\n// *************************************************************************************************\n// Softimage PIC loader\n// by Tom Seddon\n//\n// See http://softimage.wiki.softimage.com/index.php/INFO:_PIC_file_format\n// See http://ozviz.wasp.uwa.edu.au/~pbourke/dataformats/softimagepic/\n\n#ifndef STBI_NO_PIC\nstatic int stbi__pic_is4(stbi__context *s,const char *str)\n{\n   int i;\n   for (i=0; i<4; ++i)\n      if (stbi__get8(s) != (stbi_uc)str[i])\n         return 0;\n\n   return 1;\n}\n\nstatic int stbi__pic_test_core(stbi__context *s)\n{\n   int i;\n\n   if (!stbi__pic_is4(s,\"\\x53\\x80\\xF6\\x34\"))\n      return 0;\n\n   for(i=0;i<84;++i)\n      stbi__get8(s);\n\n   if (!stbi__pic_is4(s,\"PICT\"))\n      return 0;\n\n   return 1;\n}\n\ntypedef struct\n{\n   stbi_uc size,type,channel;\n} stbi__pic_packet;\n\nstatic stbi_uc *stbi__readval(stbi__context *s, int channel, stbi_uc *dest)\n{\n   int mask=0x80, i;\n\n   for (i=0; i<4; ++i, mask>>=1) {\n      if (channel & mask) {\n         if (stbi__at_eof(s)) return stbi__errpuc(\"bad file\",\"PIC file too short\");\n         dest[i]=stbi__get8(s);\n      }\n   }\n\n   return dest;\n}\n\nstatic void stbi__copyval(int channel,stbi_uc *dest,const stbi_uc *src)\n{\n   int mask=0x80,i;\n\n   for (i=0;i<4; ++i, mask>>=1)\n      if (channel&mask)\n         dest[i]=src[i];\n}\n\nstatic stbi_uc *stbi__pic_load_core(stbi__context *s,int width,int height,int *comp, stbi_uc *result)\n{\n   int act_comp=0,num_packets=0,y,chained;\n   stbi__pic_packet packets[10];\n\n   // this will (should...) cater for even some bizarre stuff like having data\n    // for the same channel in multiple packets.\n   do {\n      stbi__pic_packet *packet;\n\n      if (num_packets==sizeof(packets)/sizeof(packets[0]))\n         return stbi__errpuc(\"bad format\",\"too many packets\");\n\n      packet = &packets[num_packets++];\n\n      chained = stbi__get8(s);\n      packet->size    = stbi__get8(s);\n      packet->type    = stbi__get8(s);\n      packet->channel = stbi__get8(s);\n\n      act_comp |= packet->channel;\n\n      if (stbi__at_eof(s))          return stbi__errpuc(\"bad file\",\"file too short (reading packets)\");\n      if (packet->size != 8)  return stbi__errpuc(\"bad format\",\"packet isn't 8bpp\");\n   } while (chained);\n\n   *comp = (act_comp & 0x10 ? 4 : 3); // has alpha channel?\n\n   for(y=0; y<height; ++y) {\n      int packet_idx;\n\n      for(packet_idx=0; packet_idx < num_packets; ++packet_idx) {\n         stbi__pic_packet *packet = &packets[packet_idx];\n         stbi_uc *dest = result+y*width*4;\n\n         switch (packet->type) {\n            default:\n               return stbi__errpuc(\"bad format\",\"packet has bad compression type\");\n\n            case 0: {//uncompressed\n               int x;\n\n               for(x=0;x<width;++x, dest+=4)\n                  if (!stbi__readval(s,packet->channel,dest))\n                     return 0;\n               break;\n            }\n\n            case 1://Pure RLE\n               {\n                  int left=width, i;\n\n                  while (left>0) {\n                     stbi_uc count,value[4];\n\n                     count=stbi__get8(s);\n                     if (stbi__at_eof(s))   return stbi__errpuc(\"bad file\",\"file too short (pure read count)\");\n\n                     if (count > left)\n                        count = (stbi_uc) left;\n\n                     if (!stbi__readval(s,packet->channel,value))  return 0;\n\n                     for(i=0; i<count; ++i,dest+=4)\n                        stbi__copyval(packet->channel,dest,value);\n                     left -= count;\n                  }\n               }\n               break;\n\n            case 2: {//Mixed RLE\n               int left=width;\n               while (left>0) {\n                  int count = stbi__get8(s), i;\n                  if (stbi__at_eof(s))  return stbi__errpuc(\"bad file\",\"file too short (mixed read count)\");\n\n                  if (count >= 128) { // Repeated\n                     stbi_uc value[4];\n\n                     if (count==128)\n                        count = stbi__get16be(s);\n                     else\n                        count -= 127;\n                     if (count > left)\n                        return stbi__errpuc(\"bad file\",\"scanline overrun\");\n\n                     if (!stbi__readval(s,packet->channel,value))\n                        return 0;\n\n                     for(i=0;i<count;++i, dest += 4)\n                        stbi__copyval(packet->channel,dest,value);\n                  } else { // Raw\n                     ++count;\n                     if (count>left) return stbi__errpuc(\"bad file\",\"scanline overrun\");\n\n                     for(i=0;i<count;++i, dest+=4)\n                        if (!stbi__readval(s,packet->channel,dest))\n                           return 0;\n                  }\n                  left-=count;\n               }\n               break;\n            }\n         }\n      }\n   }\n\n   return result;\n}\n\nstatic void *stbi__pic_load(stbi__context *s,int *px,int *py,int *comp,int req_comp, stbi__result_info *ri)\n{\n   stbi_uc *result;\n   int i, x,y, internal_comp;\n   STBI_NOTUSED(ri);\n\n   if (!comp) comp = &internal_comp;\n\n   for (i=0; i<92; ++i)\n      stbi__get8(s);\n\n   x = stbi__get16be(s);\n   y = stbi__get16be(s);\n   if (stbi__at_eof(s))  return stbi__errpuc(\"bad file\",\"file too short (pic header)\");\n   if (!stbi__mad3sizes_valid(x, y, 4, 0)) return stbi__errpuc(\"too large\", \"PIC image too large to decode\");\n\n   stbi__get32be(s); //skip `ratio'\n   stbi__get16be(s); //skip `fields'\n   stbi__get16be(s); //skip `pad'\n\n   // intermediate buffer is RGBA\n   result = (stbi_uc *) stbi__malloc_mad3(x, y, 4, 0);\n   memset(result, 0xff, x*y*4);\n\n   if (!stbi__pic_load_core(s,x,y,comp, result)) {\n      STBI_FREE(result);\n      result=0;\n   }\n   *px = x;\n   *py = y;\n   if (req_comp == 0) req_comp = *comp;\n   result=stbi__convert_format(result,4,req_comp,x,y);\n\n   return result;\n}\n\nstatic int stbi__pic_test(stbi__context *s)\n{\n   int r = stbi__pic_test_core(s);\n   stbi__rewind(s);\n   return r;\n}\n#endif\n\n// *************************************************************************************************\n// GIF loader -- public domain by Jean-Marc Lienher -- simplified/shrunk by stb\n\n#ifndef STBI_NO_GIF\ntypedef struct\n{\n   stbi__int16 prefix;\n   stbi_uc first;\n   stbi_uc suffix;\n} stbi__gif_lzw;\n\ntypedef struct\n{\n   int w,h;\n   stbi_uc *out, *old_out;             // output buffer (always 4 components)\n   int flags, bgindex, ratio, transparent, eflags, delay;\n   stbi_uc  pal[256][4];\n   stbi_uc lpal[256][4];\n   stbi__gif_lzw codes[4096];\n   stbi_uc *color_table;\n   int parse, step;\n   int lflags;\n   int start_x, start_y;\n   int max_x, max_y;\n   int cur_x, cur_y;\n   int line_size;\n} stbi__gif;\n\nstatic int stbi__gif_test_raw(stbi__context *s)\n{\n   int sz;\n   if (stbi__get8(s) != 'G' || stbi__get8(s) != 'I' || stbi__get8(s) != 'F' || stbi__get8(s) != '8') return 0;\n   sz = stbi__get8(s);\n   if (sz != '9' && sz != '7') return 0;\n   if (stbi__get8(s) != 'a') return 0;\n   return 1;\n}\n\nstatic int stbi__gif_test(stbi__context *s)\n{\n   int r = stbi__gif_test_raw(s);\n   stbi__rewind(s);\n   return r;\n}\n\nstatic void stbi__gif_parse_colortable(stbi__context *s, stbi_uc pal[256][4], int num_entries, int transp)\n{\n   int i;\n   for (i=0; i < num_entries; ++i) {\n      pal[i][2] = stbi__get8(s);\n      pal[i][1] = stbi__get8(s);\n      pal[i][0] = stbi__get8(s);\n      pal[i][3] = transp == i ? 0 : 255;\n   }\n}\n\nstatic int stbi__gif_header(stbi__context *s, stbi__gif *g, int *comp, int is_info)\n{\n   stbi_uc version;\n   if (stbi__get8(s) != 'G' || stbi__get8(s) != 'I' || stbi__get8(s) != 'F' || stbi__get8(s) != '8')\n      return stbi__err(\"not GIF\", \"Corrupt GIF\");\n\n   version = stbi__get8(s);\n   if (version != '7' && version != '9')    return stbi__err(\"not GIF\", \"Corrupt GIF\");\n   if (stbi__get8(s) != 'a')                return stbi__err(\"not GIF\", \"Corrupt GIF\");\n\n   stbi__g_failure_reason = \"\";\n   g->w = stbi__get16le(s);\n   g->h = stbi__get16le(s);\n   g->flags = stbi__get8(s);\n   g->bgindex = stbi__get8(s);\n   g->ratio = stbi__get8(s);\n   g->transparent = -1;\n\n   if (comp != 0) *comp = 4;  // can't actually tell whether it's 3 or 4 until we parse the comments\n\n   if (is_info) return 1;\n\n   if (g->flags & 0x80)\n      stbi__gif_parse_colortable(s,g->pal, 2 << (g->flags & 7), -1);\n\n   return 1;\n}\n\nstatic int stbi__gif_info_raw(stbi__context *s, int *x, int *y, int *comp)\n{\n   stbi__gif* g = (stbi__gif*) stbi__malloc(sizeof(stbi__gif));\n   if (!stbi__gif_header(s, g, comp, 1)) {\n      STBI_FREE(g);\n      stbi__rewind( s );\n      return 0;\n   }\n   if (x) *x = g->w;\n   if (y) *y = g->h;\n   STBI_FREE(g);\n   return 1;\n}\n\nstatic void stbi__out_gif_code(stbi__gif *g, stbi__uint16 code)\n{\n   stbi_uc *p, *c;\n\n   // recurse to decode the prefixes, since the linked-list is backwards,\n   // and working backwards through an interleaved image would be nasty\n   if (g->codes[code].prefix >= 0)\n      stbi__out_gif_code(g, g->codes[code].prefix);\n\n   if (g->cur_y >= g->max_y) return;\n\n   p = &g->out[g->cur_x + g->cur_y];\n   c = &g->color_table[g->codes[code].suffix * 4];\n\n   if (c[3] >= 128) {\n      p[0] = c[2];\n      p[1] = c[1];\n      p[2] = c[0];\n      p[3] = c[3];\n   }\n   g->cur_x += 4;\n\n   if (g->cur_x >= g->max_x) {\n      g->cur_x = g->start_x;\n      g->cur_y += g->step;\n\n      while (g->cur_y >= g->max_y && g->parse > 0) {\n         g->step = (1 << g->parse) * g->line_size;\n         g->cur_y = g->start_y + (g->step >> 1);\n         --g->parse;\n      }\n   }\n}\n\nstatic stbi_uc *stbi__process_gif_raster(stbi__context *s, stbi__gif *g)\n{\n   stbi_uc lzw_cs;\n   stbi__int32 len, init_code;\n   stbi__uint32 first;\n   stbi__int32 codesize, codemask, avail, oldcode, bits, valid_bits, clear;\n   stbi__gif_lzw *p;\n\n   lzw_cs = stbi__get8(s);\n   if (lzw_cs > 12) return NULL;\n   clear = 1 << lzw_cs;\n   first = 1;\n   codesize = lzw_cs + 1;\n   codemask = (1 << codesize) - 1;\n   bits = 0;\n   valid_bits = 0;\n   for (init_code = 0; init_code < clear; init_code++) {\n      g->codes[init_code].prefix = -1;\n      g->codes[init_code].first = (stbi_uc) init_code;\n      g->codes[init_code].suffix = (stbi_uc) init_code;\n   }\n\n   // support no starting clear code\n   avail = clear+2;\n   oldcode = -1;\n\n   len = 0;\n   for(;;) {\n      if (valid_bits < codesize) {\n         if (len == 0) {\n            len = stbi__get8(s); // start new block\n            if (len == 0)\n               return g->out;\n         }\n         --len;\n         bits |= (stbi__int32) stbi__get8(s) << valid_bits;\n         valid_bits += 8;\n      } else {\n         stbi__int32 code = bits & codemask;\n         bits >>= codesize;\n         valid_bits -= codesize;\n         // @OPTIMIZE: is there some way we can accelerate the non-clear path?\n         if (code == clear) {  // clear code\n            codesize = lzw_cs + 1;\n            codemask = (1 << codesize) - 1;\n            avail = clear + 2;\n            oldcode = -1;\n            first = 0;\n         } else if (code == clear + 1) { // end of stream code\n            stbi__skip(s, len);\n            while ((len = stbi__get8(s)) > 0)\n               stbi__skip(s,len);\n            return g->out;\n         } else if (code <= avail) {\n            if (first) return stbi__errpuc(\"no clear code\", \"Corrupt GIF\");\n\n            if (oldcode >= 0) {\n               p = &g->codes[avail++];\n               if (avail > 4096)        return stbi__errpuc(\"too many codes\", \"Corrupt GIF\");\n               p->prefix = (stbi__int16) oldcode;\n               p->first = g->codes[oldcode].first;\n               p->suffix = (code == avail) ? p->first : g->codes[code].first;\n            } else if (code == avail)\n               return stbi__errpuc(\"illegal code in raster\", \"Corrupt GIF\");\n\n            stbi__out_gif_code(g, (stbi__uint16) code);\n\n            if ((avail & codemask) == 0 && avail <= 0x0FFF) {\n               codesize++;\n               codemask = (1 << codesize) - 1;\n            }\n\n            oldcode = code;\n         } else {\n            return stbi__errpuc(\"illegal code in raster\", \"Corrupt GIF\");\n         }\n      }\n   }\n}\n\nstatic void stbi__fill_gif_background(stbi__gif *g, int x0, int y0, int x1, int y1)\n{\n   int x, y;\n   stbi_uc *c = g->pal[g->bgindex];\n   for (y = y0; y < y1; y += 4 * g->w) {\n      for (x = x0; x < x1; x += 4) {\n         stbi_uc *p  = &g->out[y + x];\n         p[0] = c[2];\n         p[1] = c[1];\n         p[2] = c[0];\n         p[3] = 0;\n      }\n   }\n}\n\n// this function is designed to support animated gifs, although stb_image doesn't support it\nstatic stbi_uc *stbi__gif_load_next(stbi__context *s, stbi__gif *g, int *comp, int req_comp)\n{\n   int i;\n   stbi_uc *prev_out = 0;\n\n   if (g->out == 0 && !stbi__gif_header(s, g, comp,0))\n      return 0; // stbi__g_failure_reason set by stbi__gif_header\n\n   if (!stbi__mad3sizes_valid(g->w, g->h, 4, 0))\n      return stbi__errpuc(\"too large\", \"GIF too large\");\n\n   prev_out = g->out;\n   g->out = (stbi_uc *) stbi__malloc_mad3(4, g->w, g->h, 0);\n   if (g->out == 0) return stbi__errpuc(\"outofmem\", \"Out of memory\");\n\n   switch ((g->eflags & 0x1C) >> 2) {\n      case 0: // unspecified (also always used on 1st frame)\n         stbi__fill_gif_background(g, 0, 0, 4 * g->w, 4 * g->w * g->h);\n         break;\n      case 1: // do not dispose\n         if (prev_out) memcpy(g->out, prev_out, 4 * g->w * g->h);\n         g->old_out = prev_out;\n         break;\n      case 2: // dispose to background\n         if (prev_out) memcpy(g->out, prev_out, 4 * g->w * g->h);\n         stbi__fill_gif_background(g, g->start_x, g->start_y, g->max_x, g->max_y);\n         break;\n      case 3: // dispose to previous\n         if (g->old_out) {\n            for (i = g->start_y; i < g->max_y; i += 4 * g->w)\n               memcpy(&g->out[i + g->start_x], &g->old_out[i + g->start_x], g->max_x - g->start_x);\n         }\n         break;\n   }\n\n   for (;;) {\n      switch (stbi__get8(s)) {\n         case 0x2C: /* Image Descriptor */\n         {\n            int prev_trans = -1;\n            stbi__int32 x, y, w, h;\n            stbi_uc *o;\n\n            x = stbi__get16le(s);\n            y = stbi__get16le(s);\n            w = stbi__get16le(s);\n            h = stbi__get16le(s);\n            if (((x + w) > (g->w)) || ((y + h) > (g->h)))\n               return stbi__errpuc(\"bad Image Descriptor\", \"Corrupt GIF\");\n\n            g->line_size = g->w * 4;\n            g->start_x = x * 4;\n            g->start_y = y * g->line_size;\n            g->max_x   = g->start_x + w * 4;\n            g->max_y   = g->start_y + h * g->line_size;\n            g->cur_x   = g->start_x;\n            g->cur_y   = g->start_y;\n\n            g->lflags = stbi__get8(s);\n\n            if (g->lflags & 0x40) {\n               g->step = 8 * g->line_size; // first interlaced spacing\n               g->parse = 3;\n            } else {\n               g->step = g->line_size;\n               g->parse = 0;\n            }\n\n            if (g->lflags & 0x80) {\n               stbi__gif_parse_colortable(s,g->lpal, 2 << (g->lflags & 7), g->eflags & 0x01 ? g->transparent : -1);\n               g->color_table = (stbi_uc *) g->lpal;\n            } else if (g->flags & 0x80) {\n               if (g->transparent >= 0 && (g->eflags & 0x01)) {\n                  prev_trans = g->pal[g->transparent][3];\n                  g->pal[g->transparent][3] = 0;\n               }\n               g->color_table = (stbi_uc *) g->pal;\n            } else\n               return stbi__errpuc(\"missing color table\", \"Corrupt GIF\");\n\n            o = stbi__process_gif_raster(s, g);\n            if (o == NULL) return NULL;\n\n            if (prev_trans != -1)\n               g->pal[g->transparent][3] = (stbi_uc) prev_trans;\n\n            return o;\n         }\n\n         case 0x21: // Comment Extension.\n         {\n            int len;\n            if (stbi__get8(s) == 0xF9) { // Graphic Control Extension.\n               len = stbi__get8(s);\n               if (len == 4) {\n                  g->eflags = stbi__get8(s);\n                  g->delay = stbi__get16le(s);\n                  g->transparent = stbi__get8(s);\n               } else {\n                  stbi__skip(s, len);\n                  break;\n               }\n            }\n            while ((len = stbi__get8(s)) != 0)\n               stbi__skip(s, len);\n            break;\n         }\n\n         case 0x3B: // gif stream termination code\n            return (stbi_uc *) s; // using '1' causes warning on some compilers\n\n         default:\n            return stbi__errpuc(\"unknown code\", \"Corrupt GIF\");\n      }\n   }\n\n   STBI_NOTUSED(req_comp);\n}\n\nstatic void *stbi__gif_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri)\n{\n   stbi_uc *u = 0;\n   stbi__gif* g = (stbi__gif*) stbi__malloc(sizeof(stbi__gif));\n   memset(g, 0, sizeof(*g));\n   STBI_NOTUSED(ri);\n\n   u = stbi__gif_load_next(s, g, comp, req_comp);\n   if (u == (stbi_uc *) s) u = 0;  // end of animated gif marker\n   if (u) {\n      *x = g->w;\n      *y = g->h;\n      if (req_comp && req_comp != 4)\n         u = stbi__convert_format(u, 4, req_comp, g->w, g->h);\n   }\n   else if (g->out)\n      STBI_FREE(g->out);\n   STBI_FREE(g);\n   return u;\n}\n\nstatic int stbi__gif_info(stbi__context *s, int *x, int *y, int *comp)\n{\n   return stbi__gif_info_raw(s,x,y,comp);\n}\n#endif\n\n// *************************************************************************************************\n// Radiance RGBE HDR loader\n// originally by Nicolas Schulz\n#ifndef STBI_NO_HDR\nstatic int stbi__hdr_test_core(stbi__context *s, const char *signature)\n{\n   int i;\n   for (i=0; signature[i]; ++i)\n      if (stbi__get8(s) != signature[i])\n          return 0;\n   stbi__rewind(s);\n   return 1;\n}\n\nstatic int stbi__hdr_test(stbi__context* s)\n{\n   int r = stbi__hdr_test_core(s, \"#?RADIANCE\\n\");\n   stbi__rewind(s);\n   if(!r) {\n       r = stbi__hdr_test_core(s, \"#?RGBE\\n\");\n       stbi__rewind(s);\n   }\n   return r;\n}\n\n#define STBI__HDR_BUFLEN  1024\nstatic char *stbi__hdr_gettoken(stbi__context *z, char *buffer)\n{\n   int len=0;\n   char c = '\\0';\n\n   c = (char) stbi__get8(z);\n\n   while (!stbi__at_eof(z) && c != '\\n') {\n      buffer[len++] = c;\n      if (len == STBI__HDR_BUFLEN-1) {\n         // flush to end of line\n         while (!stbi__at_eof(z) && stbi__get8(z) != '\\n')\n            ;\n         break;\n      }\n      c = (char) stbi__get8(z);\n   }\n\n   buffer[len] = 0;\n   return buffer;\n}\n\nstatic void stbi__hdr_convert(float *output, stbi_uc *input, int req_comp)\n{\n   if ( input[3] != 0 ) {\n      float f1;\n      // Exponent\n      f1 = (float) ldexp(1.0f, input[3] - (int)(128 + 8));\n      if (req_comp <= 2)\n         output[0] = (input[0] + input[1] + input[2]) * f1 / 3;\n      else {\n         output[0] = input[0] * f1;\n         output[1] = input[1] * f1;\n         output[2] = input[2] * f1;\n      }\n      if (req_comp == 2) output[1] = 1;\n      if (req_comp == 4) output[3] = 1;\n   } else {\n      switch (req_comp) {\n         case 4: output[3] = 1; /* fallthrough */\n         case 3: output[0] = output[1] = output[2] = 0;\n                 break;\n         case 2: output[1] = 1; /* fallthrough */\n         case 1: output[0] = 0;\n                 break;\n      }\n   }\n}\n\nstatic float *stbi__hdr_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri)\n{\n   char buffer[STBI__HDR_BUFLEN];\n   char *token;\n   int valid = 0;\n   int width, height;\n   stbi_uc *scanline;\n   float *hdr_data;\n   int len;\n   unsigned char count, value;\n   int i, j, k, c1,c2, z;\n   const char *headerToken;\n   STBI_NOTUSED(ri);\n\n   // Check identifier\n   headerToken = stbi__hdr_gettoken(s,buffer);\n   if (strcmp(headerToken, \"#?RADIANCE\") != 0 && strcmp(headerToken, \"#?RGBE\") != 0)\n      return stbi__errpf(\"not HDR\", \"Corrupt HDR image\");\n\n   // Parse header\n   for(;;) {\n      token = stbi__hdr_gettoken(s,buffer);\n      if (token[0] == 0) break;\n      if (strcmp(token, \"FORMAT=32-bit_rle_rgbe\") == 0) valid = 1;\n   }\n\n   if (!valid)    return stbi__errpf(\"unsupported format\", \"Unsupported HDR format\");\n\n   // Parse width and height\n   // can't use sscanf() if we're not using stdio!\n   token = stbi__hdr_gettoken(s,buffer);\n   if (strncmp(token, \"-Y \", 3))  return stbi__errpf(\"unsupported data layout\", \"Unsupported HDR format\");\n   token += 3;\n   height = (int) strtol(token, &token, 10);\n   while (*token == ' ') ++token;\n   if (strncmp(token, \"+X \", 3))  return stbi__errpf(\"unsupported data layout\", \"Unsupported HDR format\");\n   token += 3;\n   width = (int) strtol(token, NULL, 10);\n\n   *x = width;\n   *y = height;\n\n   if (comp) *comp = 3;\n   if (req_comp == 0) req_comp = 3;\n\n   if (!stbi__mad4sizes_valid(width, height, req_comp, sizeof(float), 0))\n      return stbi__errpf(\"too large\", \"HDR image is too large\");\n\n   // Read data\n   hdr_data = (float *) stbi__malloc_mad4(width, height, req_comp, sizeof(float), 0);\n   if (!hdr_data)\n      return stbi__errpf(\"outofmem\", \"Out of memory\");\n\n   // Load image data\n   // image data is stored as some number of sca\n   if ( width < 8 || width >= 32768) {\n      // Read flat data\n      for (j=0; j < height; ++j) {\n         for (i=0; i < width; ++i) {\n            stbi_uc rgbe[4];\n           main_decode_loop:\n            stbi__getn(s, rgbe, 4);\n            stbi__hdr_convert(hdr_data + j * width * req_comp + i * req_comp, rgbe, req_comp);\n         }\n      }\n   } else {\n      // Read RLE-encoded data\n      scanline = NULL;\n\n      for (j = 0; j < height; ++j) {\n         c1 = stbi__get8(s);\n         c2 = stbi__get8(s);\n         len = stbi__get8(s);\n         if (c1 != 2 || c2 != 2 || (len & 0x80)) {\n            // not run-length encoded, so we have to actually use THIS data as a decoded\n            // pixel (note this can't be a valid pixel--one of RGB must be >= 128)\n            stbi_uc rgbe[4];\n            rgbe[0] = (stbi_uc) c1;\n            rgbe[1] = (stbi_uc) c2;\n            rgbe[2] = (stbi_uc) len;\n            rgbe[3] = (stbi_uc) stbi__get8(s);\n            stbi__hdr_convert(hdr_data, rgbe, req_comp);\n            i = 1;\n            j = 0;\n            STBI_FREE(scanline);\n            goto main_decode_loop; // yes, this makes no sense\n         }\n         len <<= 8;\n         len |= stbi__get8(s);\n         if (len != width) { STBI_FREE(hdr_data); STBI_FREE(scanline); return stbi__errpf(\"invalid decoded scanline length\", \"corrupt HDR\"); }\n         if (scanline == NULL) {\n            scanline = (stbi_uc *) stbi__malloc_mad2(width, 4, 0);\n            if (!scanline) {\n               STBI_FREE(hdr_data);\n               return stbi__errpf(\"outofmem\", \"Out of memory\");\n            }\n         }\n\n         for (k = 0; k < 4; ++k) {\n            int nleft;\n            i = 0;\n            while ((nleft = width - i) > 0) {\n               count = stbi__get8(s);\n               if (count > 128) {\n                  // Run\n                  value = stbi__get8(s);\n                  count -= 128;\n                  if (count > nleft) { STBI_FREE(hdr_data); STBI_FREE(scanline); return stbi__errpf(\"corrupt\", \"bad RLE data in HDR\"); }\n                  for (z = 0; z < count; ++z)\n                     scanline[i++ * 4 + k] = value;\n               } else {\n                  // Dump\n                  if (count > nleft) { STBI_FREE(hdr_data); STBI_FREE(scanline); return stbi__errpf(\"corrupt\", \"bad RLE data in HDR\"); }\n                  for (z = 0; z < count; ++z)\n                     scanline[i++ * 4 + k] = stbi__get8(s);\n               }\n            }\n         }\n         for (i=0; i < width; ++i)\n            stbi__hdr_convert(hdr_data+(j*width + i)*req_comp, scanline + i*4, req_comp);\n      }\n      if (scanline)\n         STBI_FREE(scanline);\n   }\n\n   return hdr_data;\n}\n\nstatic int stbi__hdr_info(stbi__context *s, int *x, int *y, int *comp)\n{\n   char buffer[STBI__HDR_BUFLEN];\n   char *token;\n   int valid = 0;\n   int dummy;\n\n   if (!x) x = &dummy;\n   if (!y) y = &dummy;\n   if (!comp) comp = &dummy;\n\n   if (stbi__hdr_test(s) == 0) {\n       stbi__rewind( s );\n       return 0;\n   }\n\n   for(;;) {\n      token = stbi__hdr_gettoken(s,buffer);\n      if (token[0] == 0) break;\n      if (strcmp(token, \"FORMAT=32-bit_rle_rgbe\") == 0) valid = 1;\n   }\n\n   if (!valid) {\n       stbi__rewind( s );\n       return 0;\n   }\n   token = stbi__hdr_gettoken(s,buffer);\n   if (strncmp(token, \"-Y \", 3)) {\n       stbi__rewind( s );\n       return 0;\n   }\n   token += 3;\n   *y = (int) strtol(token, &token, 10);\n   while (*token == ' ') ++token;\n   if (strncmp(token, \"+X \", 3)) {\n       stbi__rewind( s );\n       return 0;\n   }\n   token += 3;\n   *x = (int) strtol(token, NULL, 10);\n   *comp = 3;\n   return 1;\n}\n#endif // STBI_NO_HDR\n\n#ifndef STBI_NO_BMP\nstatic int stbi__bmp_info(stbi__context *s, int *x, int *y, int *comp)\n{\n   void *p;\n   stbi__bmp_data info;\n\n   info.all_a = 255;\n   p = stbi__bmp_parse_header(s, &info);\n   stbi__rewind( s );\n   if (p == NULL)\n      return 0;\n   if (x) *x = s->img_x;\n   if (y) *y = s->img_y;\n   if (comp) *comp = info.ma ? 4 : 3;\n   return 1;\n}\n#endif\n\n#ifndef STBI_NO_PSD\nstatic int stbi__psd_info(stbi__context *s, int *x, int *y, int *comp)\n{\n   int channelCount, dummy;\n   if (!x) x = &dummy;\n   if (!y) y = &dummy;\n   if (!comp) comp = &dummy;\n   if (stbi__get32be(s) != 0x38425053) {\n       stbi__rewind( s );\n       return 0;\n   }\n   if (stbi__get16be(s) != 1) {\n       stbi__rewind( s );\n       return 0;\n   }\n   stbi__skip(s, 6);\n   channelCount = stbi__get16be(s);\n   if (channelCount < 0 || channelCount > 16) {\n       stbi__rewind( s );\n       return 0;\n   }\n   *y = stbi__get32be(s);\n   *x = stbi__get32be(s);\n   if (stbi__get16be(s) != 8) {\n       stbi__rewind( s );\n       return 0;\n   }\n   if (stbi__get16be(s) != 3) {\n       stbi__rewind( s );\n       return 0;\n   }\n   *comp = 4;\n   return 1;\n}\n#endif\n\n#ifndef STBI_NO_PIC\nstatic int stbi__pic_info(stbi__context *s, int *x, int *y, int *comp)\n{\n   int act_comp=0,num_packets=0,chained,dummy;\n   stbi__pic_packet packets[10];\n\n   if (!x) x = &dummy;\n   if (!y) y = &dummy;\n   if (!comp) comp = &dummy;\n\n   if (!stbi__pic_is4(s,\"\\x53\\x80\\xF6\\x34\")) {\n      stbi__rewind(s);\n      return 0;\n   }\n\n   stbi__skip(s, 88);\n\n   *x = stbi__get16be(s);\n   *y = stbi__get16be(s);\n   if (stbi__at_eof(s)) {\n      stbi__rewind( s);\n      return 0;\n   }\n   if ( (*x) != 0 && (1 << 28) / (*x) < (*y)) {\n      stbi__rewind( s );\n      return 0;\n   }\n\n   stbi__skip(s, 8);\n\n   do {\n      stbi__pic_packet *packet;\n\n      if (num_packets==sizeof(packets)/sizeof(packets[0]))\n         return 0;\n\n      packet = &packets[num_packets++];\n      chained = stbi__get8(s);\n      packet->size    = stbi__get8(s);\n      packet->type    = stbi__get8(s);\n      packet->channel = stbi__get8(s);\n      act_comp |= packet->channel;\n\n      if (stbi__at_eof(s)) {\n          stbi__rewind( s );\n          return 0;\n      }\n      if (packet->size != 8) {\n          stbi__rewind( s );\n          return 0;\n      }\n   } while (chained);\n\n   *comp = (act_comp & 0x10 ? 4 : 3);\n\n   return 1;\n}\n#endif\n\n// *************************************************************************************************\n// Portable Gray Map and Portable Pixel Map loader\n// by Ken Miller\n//\n// PGM: http://netpbm.sourceforge.net/doc/pgm.html\n// PPM: http://netpbm.sourceforge.net/doc/ppm.html\n//\n// Known limitations:\n//    Does not support comments in the header section\n//    Does not support ASCII image data (formats P2 and P3)\n//    Does not support 16-bit-per-channel\n\n#ifndef STBI_NO_PNM\n\nstatic int      stbi__pnm_test(stbi__context *s)\n{\n   char p, t;\n   p = (char) stbi__get8(s);\n   t = (char) stbi__get8(s);\n   if (p != 'P' || (t != '5' && t != '6')) {\n       stbi__rewind( s );\n       return 0;\n   }\n   return 1;\n}\n\nstatic void *stbi__pnm_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri)\n{\n   stbi_uc *out;\n   STBI_NOTUSED(ri);\n\n   if (!stbi__pnm_info(s, (int *)&s->img_x, (int *)&s->img_y, (int *)&s->img_n))\n      return 0;\n\n   *x = s->img_x;\n   *y = s->img_y;\n   if (comp) *comp = s->img_n;\n\n   if (!stbi__mad3sizes_valid(s->img_n, s->img_x, s->img_y, 0))\n      return stbi__errpuc(\"too large\", \"PNM too large\");\n\n   out = (stbi_uc *) stbi__malloc_mad3(s->img_n, s->img_x, s->img_y, 0);\n   if (!out) return stbi__errpuc(\"outofmem\", \"Out of memory\");\n   stbi__getn(s, out, s->img_n * s->img_x * s->img_y);\n\n   if (req_comp && req_comp != s->img_n) {\n      out = stbi__convert_format(out, s->img_n, req_comp, s->img_x, s->img_y);\n      if (out == NULL) return out; // stbi__convert_format frees input on failure\n   }\n   return out;\n}\n\nstatic int      stbi__pnm_isspace(char c)\n{\n   return c == ' ' || c == '\\t' || c == '\\n' || c == '\\v' || c == '\\f' || c == '\\r';\n}\n\nstatic void     stbi__pnm_skip_whitespace(stbi__context *s, char *c)\n{\n   for (;;) {\n      while (!stbi__at_eof(s) && stbi__pnm_isspace(*c))\n         *c = (char) stbi__get8(s);\n\n      if (stbi__at_eof(s) || *c != '#')\n         break;\n\n      while (!stbi__at_eof(s) && *c != '\\n' && *c != '\\r' )\n         *c = (char) stbi__get8(s);\n   }\n}\n\nstatic int      stbi__pnm_isdigit(char c)\n{\n   return c >= '0' && c <= '9';\n}\n\nstatic int      stbi__pnm_getinteger(stbi__context *s, char *c)\n{\n   int value = 0;\n\n   while (!stbi__at_eof(s) && stbi__pnm_isdigit(*c)) {\n      value = value*10 + (*c - '0');\n      *c = (char) stbi__get8(s);\n   }\n\n   return value;\n}\n\nstatic int      stbi__pnm_info(stbi__context *s, int *x, int *y, int *comp)\n{\n   int maxv, dummy;\n   char c, p, t;\n\n   if (!x) x = &dummy;\n   if (!y) y = &dummy;\n   if (!comp) comp = &dummy;\n\n   stbi__rewind(s);\n\n   // Get identifier\n   p = (char) stbi__get8(s);\n   t = (char) stbi__get8(s);\n   if (p != 'P' || (t != '5' && t != '6')) {\n       stbi__rewind(s);\n       return 0;\n   }\n\n   *comp = (t == '6') ? 3 : 1;  // '5' is 1-component .pgm; '6' is 3-component .ppm\n\n   c = (char) stbi__get8(s);\n   stbi__pnm_skip_whitespace(s, &c);\n\n   *x = stbi__pnm_getinteger(s, &c); // read width\n   stbi__pnm_skip_whitespace(s, &c);\n\n   *y = stbi__pnm_getinteger(s, &c); // read height\n   stbi__pnm_skip_whitespace(s, &c);\n\n   maxv = stbi__pnm_getinteger(s, &c);  // read max value\n\n   if (maxv > 255)\n      return stbi__err(\"max value > 255\", \"PPM image not 8-bit\");\n   else\n      return 1;\n}\n#endif\n\nstatic int stbi__info_main(stbi__context *s, int *x, int *y, int *comp)\n{\n   #ifndef STBI_NO_JPEG\n   if (stbi__jpeg_info(s, x, y, comp)) return 1;\n   #endif\n\n   #ifndef STBI_NO_PNG\n   if (stbi__png_info(s, x, y, comp))  return 1;\n   #endif\n\n   #ifndef STBI_NO_GIF\n   if (stbi__gif_info(s, x, y, comp))  return 1;\n   #endif\n\n   #ifndef STBI_NO_BMP\n   if (stbi__bmp_info(s, x, y, comp))  return 1;\n   #endif\n\n   #ifndef STBI_NO_PSD\n   if (stbi__psd_info(s, x, y, comp))  return 1;\n   #endif\n\n   #ifndef STBI_NO_PIC\n   if (stbi__pic_info(s, x, y, comp))  return 1;\n   #endif\n\n   #ifndef STBI_NO_PNM\n   if (stbi__pnm_info(s, x, y, comp))  return 1;\n   #endif\n\n   #ifndef STBI_NO_HDR\n   if (stbi__hdr_info(s, x, y, comp))  return 1;\n   #endif\n\n   // test tga last because it's a crappy test!\n   #ifndef STBI_NO_TGA\n   if (stbi__tga_info(s, x, y, comp))\n       return 1;\n   #endif\n   return stbi__err(\"unknown image type\", \"Image not of any known type, or corrupt\");\n}\n\n#ifndef STBI_NO_STDIO\nSTBIDEF int stbi_info(char const *filename, int *x, int *y, int *comp)\n{\n    FILE *f = stbi__fopen(filename, \"rb\");\n    int result;\n    if (!f) return stbi__err(\"can't fopen\", \"Unable to open file\");\n    result = stbi_info_from_file(f, x, y, comp);\n    fclose(f);\n    return result;\n}\n\nSTBIDEF int stbi_info_from_file(FILE *f, int *x, int *y, int *comp)\n{\n   int r;\n   stbi__context s;\n   long pos = ftell(f);\n   stbi__start_file(&s, f);\n   r = stbi__info_main(&s,x,y,comp);\n   fseek(f,pos,SEEK_SET);\n   return r;\n}\n#endif // !STBI_NO_STDIO\n\nSTBIDEF int stbi_info_from_memory(stbi_uc const *buffer, int len, int *x, int *y, int *comp)\n{\n   stbi__context s;\n   stbi__start_mem(&s,buffer,len);\n   return stbi__info_main(&s,x,y,comp);\n}\n\nSTBIDEF int stbi_info_from_callbacks(stbi_io_callbacks const *c, void *user, int *x, int *y, int *comp)\n{\n   stbi__context s;\n   stbi__start_callbacks(&s, (stbi_io_callbacks *) c, user);\n   return stbi__info_main(&s,x,y,comp);\n}\n\n#endif // STB_IMAGE_IMPLEMENTATION\n\n/*\n   revision history:\n      2.16  (2017-07-23) all functions have 16-bit variants;\n                         STBI_NO_STDIO works again;\n                         compilation fixes;\n                         fix rounding in unpremultiply;\n                         optimize vertical flip;\n                         disable raw_len validation;\n                         documentation fixes\n      2.15  (2017-03-18) fix png-1,2,4 bug; now all Imagenet JPGs decode;\n                         warning fixes; disable run-time SSE detection on gcc;\n                         uniform handling of optional \"return\" values;\n                         thread-safe initialization of zlib tables\n      2.14  (2017-03-03) remove deprecated STBI_JPEG_OLD; fixes for Imagenet JPGs\n      2.13  (2016-11-29) add 16-bit API, only supported for PNG right now\n      2.12  (2016-04-02) fix typo in 2.11 PSD fix that caused crashes\n      2.11  (2016-04-02) allocate large structures on the stack\n                         remove white matting for transparent PSD\n                         fix reported channel count for PNG & BMP\n                         re-enable SSE2 in non-gcc 64-bit\n                         support RGB-formatted JPEG\n                         read 16-bit PNGs (only as 8-bit)\n      2.10  (2016-01-22) avoid warning introduced in 2.09 by STBI_REALLOC_SIZED\n      2.09  (2016-01-16) allow comments in PNM files\n                         16-bit-per-pixel TGA (not bit-per-component)\n                         info() for TGA could break due to .hdr handling\n                         info() for BMP to shares code instead of sloppy parse\n                         can use STBI_REALLOC_SIZED if allocator doesn't support realloc\n                         code cleanup\n      2.08  (2015-09-13) fix to 2.07 cleanup, reading RGB PSD as RGBA\n      2.07  (2015-09-13) fix compiler warnings\n                         partial animated GIF support\n                         limited 16-bpc PSD support\n                         #ifdef unused functions\n                         bug with < 92 byte PIC,PNM,HDR,TGA\n      2.06  (2015-04-19) fix bug where PSD returns wrong '*comp' value\n      2.05  (2015-04-19) fix bug in progressive JPEG handling, fix warning\n      2.04  (2015-04-15) try to re-enable SIMD on MinGW 64-bit\n      2.03  (2015-04-12) extra corruption checking (mmozeiko)\n                         stbi_set_flip_vertically_on_load (nguillemot)\n                         fix NEON support; fix mingw support\n      2.02  (2015-01-19) fix incorrect assert, fix warning\n      2.01  (2015-01-17) fix various warnings; suppress SIMD on gcc 32-bit without -msse2\n      2.00b (2014-12-25) fix STBI_MALLOC in progressive JPEG\n      2.00  (2014-12-25) optimize JPG, including x86 SSE2 & NEON SIMD (ryg)\n                         progressive JPEG (stb)\n                         PGM/PPM support (Ken Miller)\n                         STBI_MALLOC,STBI_REALLOC,STBI_FREE\n                         GIF bugfix -- seemingly never worked\n                         STBI_NO_*, STBI_ONLY_*\n      1.48  (2014-12-14) fix incorrectly-named assert()\n      1.47  (2014-12-14) 1/2/4-bit PNG support, both direct and paletted (Omar Cornut & stb)\n                         optimize PNG (ryg)\n                         fix bug in interlaced PNG with user-specified channel count (stb)\n      1.46  (2014-08-26)\n              fix broken tRNS chunk (colorkey-style transparency) in non-paletted PNG\n      1.45  (2014-08-16)\n              fix MSVC-ARM internal compiler error by wrapping malloc\n      1.44  (2014-08-07)\n              various warning fixes from Ronny Chevalier\n      1.43  (2014-07-15)\n              fix MSVC-only compiler problem in code changed in 1.42\n      1.42  (2014-07-09)\n              don't define _CRT_SECURE_NO_WARNINGS (affects user code)\n              fixes to stbi__cleanup_jpeg path\n              added STBI_ASSERT to avoid requiring assert.h\n      1.41  (2014-06-25)\n              fix search&replace from 1.36 that messed up comments/error messages\n      1.40  (2014-06-22)\n              fix gcc struct-initialization warning\n      1.39  (2014-06-15)\n              fix to TGA optimization when req_comp != number of components in TGA;\n              fix to GIF loading because BMP wasn't rewinding (whoops, no GIFs in my test suite)\n              add support for BMP version 5 (more ignored fields)\n      1.38  (2014-06-06)\n              suppress MSVC warnings on integer casts truncating values\n              fix accidental rename of 'skip' field of I/O\n      1.37  (2014-06-04)\n              remove duplicate typedef\n      1.36  (2014-06-03)\n              convert to header file single-file library\n              if de-iphone isn't set, load iphone images color-swapped instead of returning NULL\n      1.35  (2014-05-27)\n              various warnings\n              fix broken STBI_SIMD path\n              fix bug where stbi_load_from_file no longer left file pointer in correct place\n              fix broken non-easy path for 32-bit BMP (possibly never used)\n              TGA optimization by Arseny Kapoulkine\n      1.34  (unknown)\n              use STBI_NOTUSED in stbi__resample_row_generic(), fix one more leak in tga failure case\n      1.33  (2011-07-14)\n              make stbi_is_hdr work in STBI_NO_HDR (as specified), minor compiler-friendly improvements\n      1.32  (2011-07-13)\n              support for \"info\" function for all supported filetypes (SpartanJ)\n      1.31  (2011-06-20)\n              a few more leak fixes, bug in PNG handling (SpartanJ)\n      1.30  (2011-06-11)\n              added ability to load files via callbacks to accomidate custom input streams (Ben Wenger)\n              removed deprecated format-specific test/load functions\n              removed support for installable file formats (stbi_loader) -- would have been broken for IO callbacks anyway\n              error cases in bmp and tga give messages and don't leak (Raymond Barbiero, grisha)\n              fix inefficiency in decoding 32-bit BMP (David Woo)\n      1.29  (2010-08-16)\n              various warning fixes from Aurelien Pocheville\n      1.28  (2010-08-01)\n              fix bug in GIF palette transparency (SpartanJ)\n      1.27  (2010-08-01)\n              cast-to-stbi_uc to fix warnings\n      1.26  (2010-07-24)\n              fix bug in file buffering for PNG reported by SpartanJ\n      1.25  (2010-07-17)\n              refix trans_data warning (Won Chun)\n      1.24  (2010-07-12)\n              perf improvements reading from files on platforms with lock-heavy fgetc()\n              minor perf improvements for jpeg\n              deprecated type-specific functions so we'll get feedback if they're needed\n              attempt to fix trans_data warning (Won Chun)\n      1.23    fixed bug in iPhone support\n      1.22  (2010-07-10)\n              removed image *writing* support\n              stbi_info support from Jetro Lauha\n              GIF support from Jean-Marc Lienher\n              iPhone PNG-extensions from James Brown\n              warning-fixes from Nicolas Schulz and Janez Zemva (i.stbi__err. Janez (U+017D)emva)\n      1.21    fix use of 'stbi_uc' in header (reported by jon blow)\n      1.20    added support for Softimage PIC, by Tom Seddon\n      1.19    bug in interlaced PNG corruption check (found by ryg)\n      1.18  (2008-08-02)\n              fix a threading bug (local mutable static)\n      1.17    support interlaced PNG\n      1.16    major bugfix - stbi__convert_format converted one too many pixels\n      1.15    initialize some fields for thread safety\n      1.14    fix threadsafe conversion bug\n              header-file-only version (#define STBI_HEADER_FILE_ONLY before including)\n      1.13    threadsafe\n      1.12    const qualifiers in the API\n      1.11    Support installable IDCT, colorspace conversion routines\n      1.10    Fixes for 64-bit (don't use \"unsigned long\")\n              optimized upsampling by Fabian \"ryg\" Giesen\n      1.09    Fix format-conversion for PSD code (bad global variables!)\n      1.08    Thatcher Ulrich's PSD code integrated by Nicolas Schulz\n      1.07    attempt to fix C++ warning/errors again\n      1.06    attempt to fix C++ warning/errors again\n      1.05    fix TGA loading to return correct *comp and use good luminance calc\n      1.04    default float alpha is 1, not 255; use 'void *' for stbi_image_free\n      1.03    bugfixes to STBI_NO_STDIO, STBI_NO_HDR\n      1.02    support for (subset of) HDR files, float interface for preferred access to them\n      1.01    fix bug: possible bug in handling right-side up bmps... not sure\n              fix bug: the stbi__bmp_load() and stbi__tga_load() functions didn't work at all\n      1.00    interface to zlib that skips zlib header\n      0.99    correct handling of alpha in palette\n      0.98    TGA loader by lonesock; dynamically add loaders (untested)\n      0.97    jpeg errors on too large a file; also catch another malloc failure\n      0.96    fix detection of invalid v value - particleman@mollyrocket forum\n      0.95    during header scan, seek to markers in case of padding\n      0.94    STBI_NO_STDIO to disable stdio usage; rename all #defines the same\n      0.93    handle jpegtran output; verbose errors\n      0.92    read 4,8,16,24,32-bit BMP files of several formats\n      0.91    output 24-bit Windows 3.0 BMP files\n      0.90    fix a few more warnings; bump version number to approach 1.0\n      0.61    bugfixes due to Marc LeBlanc, Christopher Lloyd\n      0.60    fix compiling as c++\n      0.59    fix warnings: merge Dave Moore's -Wall fixes\n      0.58    fix bug: zlib uncompressed mode len/nlen was wrong endian\n      0.57    fix bug: jpg last huffman symbol before marker was >9 bits but less than 16 available\n      0.56    fix bug: zlib uncompressed mode len vs. nlen\n      0.55    fix bug: restart_interval not initialized to 0\n      0.54    allow NULL for 'int *comp'\n      0.53    fix bug in png 3->4; speedup png decoding\n      0.52    png handles req_comp=3,4 directly; minor cleanup; jpeg comments\n      0.51    obey req_comp requests, 1-component jpegs return as 1-component,\n              on 'test' only check type, not whether we support this variant\n      0.50  (2006-11-19)\n              first released version\n*/\n\n\n/*\n------------------------------------------------------------------------------\nThis software is available under 2 licenses -- choose whichever you prefer.\n------------------------------------------------------------------------------\nALTERNATIVE A - MIT License\nCopyright (c) 2017 Sean Barrett\nPermission is hereby granted, free of charge, to any person obtaining a copy of\nthis software and associated documentation files (the \"Software\"), to deal in\nthe Software without restriction, including without limitation the rights to\nuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies\nof the Software, and to permit persons to whom the Software is furnished to do\nso, subject to the following conditions:\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n------------------------------------------------------------------------------\nALTERNATIVE B - Public Domain (www.unlicense.org)\nThis is free and unencumbered software released into the public domain.\nAnyone is free to copy, modify, publish, use, compile, sell, or distribute this\nsoftware, either in source code form or as a compiled binary, for any purpose,\ncommercial or non-commercial, and by any means.\nIn jurisdictions that recognize copyright laws, the author or authors of this\nsoftware dedicate any and all copyright interest in the software to the public\ndomain. We make this dedication for the benefit of the public at large and to\nthe detriment of our heirs and successors. We intend this dedication to be an\novert act of relinquishment in perpetuity of all present and future rights to\nthis software under copyright law.\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\nACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\nWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n------------------------------------------------------------------------------\n*/"
  },
  {
    "path": "include/NvFlex.h",
    "content": "// This code contains NVIDIA Confidential Information and is disclosed to you\n// under a form of NVIDIA software license agreement provided separately to you.\n//\n// Notice\n// NVIDIA Corporation and its licensors retain all intellectual property and\n// proprietary rights in and to this software and related documentation and\n// any modifications thereto. Any use, reproduction, disclosure, or\n// distribution of this software and related documentation without an express\n// license agreement from NVIDIA Corporation is strictly prohibited.\n//\n// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED \"AS IS.\". NVIDIA MAKES\n// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO\n// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,\n// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.\n//\n// Information and code furnished is believed to be accurate and reliable.\n// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such\n// information or for any infringement of patents or other rights of third parties that may\n// result from its use. No license is granted by implication or otherwise under any patent\n// or patent rights of NVIDIA Corporation. Details are subject to change without notice.\n// This code supersedes and replaces all information previously supplied.\n// NVIDIA Corporation products are not authorized for use as critical\n// components in life support devices or systems without express written approval of\n// NVIDIA Corporation.\n//\n// Copyright (c) 2013-2020 NVIDIA Corporation. All rights reserved.\n\n#ifndef NV_FLEX_H\n#define NV_FLEX_H\n\n//! \\cond HIDDEN_SYMBOLS\n#if _WIN32\n#define NV_FLEX_API __declspec(dllexport)\n#else\n#define NV_FLEX_API\n#endif\n\n// least 2 significant digits define minor version, eg: 10 -> version 0.10\n#define NV_FLEX_VERSION 120\n\n//! \\endcond\n\n/** \\file NvFlex.h\n * The main include file for the core Flex solver.\n */\n\nextern \"C\" {\n\n/**\n * Opaque type representing a library that can create FlexSolvers, FlexTriangleMeshes, and NvFlexBuffers\n */\ntypedef struct NvFlexLibrary NvFlexLibrary;\n\n/**\n * Opaque type representing a collection of particles and constraints\n */\ntypedef struct NvFlexSolver NvFlexSolver;\n\n/**\n * Opaque type representing a data buffer, type and contents depends on usage, see NvFlexAllocBuffer()\n */\ntypedef struct NvFlexBuffer NvFlexBuffer;\n\n/**\n * Controls behavior of NvFlexMap()\n */\nenum NvFlexMapFlags\n{\n   \teNvFlexMapWait\t\t= 0,\t//!< Calling thread will be blocked until buffer is ready for access, default\n   \teNvFlexMapDoNotWait = 1,\t//!< Calling thread will check if buffer is ready for access, if not ready then the method will return NULL immediately\n};\n\n/**\n * Controls memory space of a NvFlexBuffer, see NvFlexAllocBuffer()\n */\nenum NvFlexBufferType\n{\n   \teNvFlexBufferHost\t= 0,\t//!< A host mappable buffer, pinned memory on CUDA, staging buffer on DX\n   \teNvFlexBufferDevice\t= 1,\t//!< A device memory buffer, mapping this on CUDA will return a device memory pointer, and will return a buffer pointer on DX\n};\n\n/**\n * Controls the relaxation method used by the solver to ensure convergence\n */\nenum NvFlexRelaxationMode\n{\n\teNvFlexRelaxationGlobal = 0,\t//!< The relaxation factor is a fixed multiplier on each constraint's position delta\n\teNvFlexRelaxationLocal  = 1\t\t//!< The relaxation factor is a fixed multiplier on each constraint's delta divided by the particle's constraint count, convergence will be slower but more reliable\n};\n\n\n/**\n * Simulation parameters for a solver\n */\nstruct NvFlexParams\n{\n\tint numIterations;\t\t\t\t\t//!< Number of solver iterations to perform per-substep\n\n\tfloat gravity[3];\t\t\t\t\t//!< Constant acceleration applied to all particles\n\tfloat radius;\t\t\t\t\t\t//!< The maximum interaction radius for particles\n\tfloat solidRestDistance;\t\t\t//!< The distance non-fluid particles attempt to maintain from each other, must be in the range (0, radius]\n\tfloat fluidRestDistance;\t\t\t//!< The distance fluid particles are spaced at the rest density, must be in the range (0, radius], for fluids this should generally be 50-70% of mRadius, for rigids this can simply be the same as the particle radius\n\n\t// common params\n\tfloat dynamicFriction;\t\t\t\t//!< Coefficient of friction used when colliding against shapes\n\tfloat staticFriction;\t\t\t\t//!< Coefficient of static friction used when colliding against shapes\n\tfloat particleFriction;\t\t\t\t//!< Coefficient of friction used when colliding particles\n\tfloat restitution;\t\t\t\t\t//!< Coefficient of restitution used when colliding against shapes, particle collisions are always inelastic\n\tfloat adhesion;\t\t\t\t\t\t//!< Controls how strongly particles stick to surfaces they hit, default 0.0, range [0.0, +inf]\n\tfloat sleepThreshold;\t\t\t\t//!< Particles with a velocity magnitude < this threshold will be considered fixed\n\t\n\tfloat maxSpeed;\t\t\t\t\t\t//!< The magnitude of particle velocity will be clamped to this value at the end of each step\n\tfloat maxAcceleration;\t\t\t\t//!< The magnitude of particle acceleration will be clamped to this value at the end of each step (limits max velocity change per-second), useful to avoid popping due to large interpenetrations\n\t\n\tfloat shockPropagation;\t\t\t\t//!< Artificially decrease the mass of particles based on height from a fixed reference point, this makes stacks and piles converge faster\n\tfloat dissipation;\t\t\t\t\t//!< Damps particle velocity based on how many particle contacts it has\n\tfloat damping;\t\t\t\t\t\t//!< Viscous drag force, applies a force proportional, and opposite to the particle velocity\n\n\t// cloth params\n\tfloat wind[3];\t\t\t\t\t\t//!< Constant acceleration applied to particles that belong to dynamic triangles, drag needs to be > 0 for wind to affect triangles\n\tfloat drag;\t\t\t\t\t\t\t//!< Drag force applied to particles belonging to dynamic triangles, proportional to velocity^2*area in the negative velocity direction\n\tfloat lift;\t\t\t\t\t\t\t//!< Lift force applied to particles belonging to dynamic triangles, proportional to velocity^2*area in the direction perpendicular to velocity and (if possible), parallel to the plane normal\n\n\t// fluid params\n\tfloat cohesion;\t\t\t\t\t\t//!< Control how strongly particles hold each other together, default: 0.025, range [0.0, +inf]\n\tfloat surfaceTension;\t\t\t\t//!< Controls how strongly particles attempt to minimize surface area, default: 0.0, range: [0.0, +inf]    \n\tfloat viscosity;\t\t\t\t\t//!< Smoothes particle velocities using XSPH viscosity\n\tfloat vorticityConfinement;\t\t\t//!< Increases vorticity by applying rotational forces to particles\n\tfloat anisotropyScale;\t\t\t\t//!< Control how much anisotropy is present in resulting ellipsoids for rendering, if zero then anisotropy will not be calculated, see NvFlexGetAnisotropy()\n\tfloat anisotropyMin;\t\t\t\t//!< Clamp the anisotropy scale to this fraction of the radius\n\tfloat anisotropyMax;\t\t\t\t//!< Clamp the anisotropy scale to this fraction of the radius\n\tfloat smoothing;\t\t\t\t\t//!< Control the strength of Laplacian smoothing in particles for rendering, if zero then smoothed positions will not be calculated, see NvFlexGetSmoothParticles()\n\tfloat solidPressure;\t\t\t\t//!< Add pressure from solid surfaces to particles\n\tfloat freeSurfaceDrag;\t\t\t\t//!< Drag force applied to boundary fluid particles\n\tfloat buoyancy;\t\t\t\t\t\t//!< Gravity is scaled by this value for fluid particles\n\n\t// diffuse params\n\tfloat diffuseThreshold;\t\t\t\t//!< Particles with kinetic energy + divergence above this threshold will spawn new diffuse particles\n\tfloat diffuseBuoyancy;\t\t\t\t//!< Scales force opposing gravity that diffuse particles receive\n\tfloat diffuseDrag;\t\t\t\t\t//!< Scales force diffuse particles receive in direction of neighbor fluid particles\n\tint diffuseBallistic;\t\t\t\t//!< The number of neighbors below which a diffuse particle is considered ballistic\n\tfloat diffuseLifetime;\t\t\t\t//!< Time in seconds that a diffuse particle will live for after being spawned, particles will be spawned with a random lifetime in the range [0, diffuseLifetime]\n\n\t// collision params\n\tfloat collisionDistance;\t\t\t//!< Distance particles maintain against shapes, note that for robust collision against triangle meshes this distance should be greater than zero\n\tfloat particleCollisionMargin;\t\t//!< Increases the radius used during neighbor finding, this is useful if particles are expected to move significantly during a single step to ensure contacts aren't missed on subsequent iterations\n\tfloat shapeCollisionMargin;\t\t\t//!< Increases the radius used during contact finding against kinematic shapes\n\n\tfloat planes[8][4];\t\t\t\t\t//!< Collision planes in the form ax + by + cz + d = 0\n\tint numPlanes;\t\t\t\t\t\t//!< Num collision planes\n\n\tNvFlexRelaxationMode relaxationMode;//!< How the relaxation is applied inside the solver\n\tfloat relaxationFactor;\t\t\t\t//!< Control the convergence rate of the parallel solver, default: 1, values greater than 1 may lead to instability\n};\n\n\n/**\n * Flags that control a particle's behavior and grouping, use NvFlexMakePhase() to construct a valid 32bit phase identifier\n */\nenum NvFlexPhase\n{\n\teNvFlexPhaseGroupMask\t\t\t= 0x000fffff,\t//!< Bits [ 0, 19] represent the particle group for controlling collisions\n\teNvFlexPhaseFlagsMask\t\t\t= 0x00f00000,\t//!< Bits [20, 23] hold flags about how the particle behave \n\teNvFlexPhaseShapeChannelMask\t= 0x7f000000,\t//!< Bits [24, 30] hold flags representing what shape collision channels particles will collide with, see NvFlexMakeShapeFlags() (highest bit reserved for now)\n\t\n\teNvFlexPhaseSelfCollide\t\t\t= 1 << 20,\t\t//!< If set this particle will interact with particles of the same group\n\teNvFlexPhaseSelfCollideFilter\t= 1 << 21,\t\t//!< If set this particle will ignore collisions with particles closer than the radius in the rest pose, this flag should not be specified unless valid rest positions have been specified using NvFlexSetRestParticles()\n\teNvFlexPhaseFluid\t\t\t\t= 1 << 22,\t\t//!< If set this particle will generate fluid density constraints for its overlapping neighbors\n\teNvFlexPhaseUnused\t\t\t\t= 1 << 23,\t\t//!< Reserved\n\t\n\teNvFlexPhaseShapeChannel0\t\t= 1 << 24,\t\t//!< Particle will collide with shapes with channel 0 set (see NvFlexMakeShapeFlags())\n\teNvFlexPhaseShapeChannel1\t\t= 1 << 25,\t\t//!< Particle will collide with shapes with channel 1 set (see NvFlexMakeShapeFlags())\n\teNvFlexPhaseShapeChannel2\t\t= 1 << 26,\t\t//!< Particle will collide with shapes with channel 2 set (see NvFlexMakeShapeFlags())\n\teNvFlexPhaseShapeChannel3\t\t= 1 << 27,\t\t//!< Particle will collide with shapes with channel 3 set (see NvFlexMakeShapeFlags())\n\teNvFlexPhaseShapeChannel4\t\t= 1 << 28,\t\t//!< Particle will collide with shapes with channel 4 set (see NvFlexMakeShapeFlags())\n\teNvFlexPhaseShapeChannel5\t\t= 1 << 29,\t\t//!< Particle will collide with shapes with channel 5 set (see NvFlexMakeShapeFlags())\n\teNvFlexPhaseShapeChannel6\t\t= 1 << 30,\t\t//!< Particle will collide with shapes with channel 6 set (see NvFlexMakeShapeFlags())\t\n};\n\n\n/**\n * Generate a bit set for the particle phase, this is a helper method to simply combine the\n * group id and bit flags into a single integer.\n *\n * @param[in] group The index of the group for this particle, should be an integer < 2^20\n * @param[in] particleFlags A combination of the phase flags which should be a combination of eNvFlexPhaseSelfCollide, eNvFlexPhaseSelfCollideFilter, and eNvFlexPhaseFluid\n * @param[in] shapeChannels A combination of eNvFlexPhaseShapeChannel* flags that control which shapes will be collided against, particles will only collide against shapes that share at least one set channel, see NvFlexMakeShapeFlagsWithChannels()\n */\nNV_FLEX_API inline int NvFlexMakePhaseWithChannels(int group, int particleFlags, int shapeChannels) { return (group & eNvFlexPhaseGroupMask) | (particleFlags & eNvFlexPhaseFlagsMask) | (shapeChannels & eNvFlexPhaseShapeChannelMask); }\n\n/**\n * Deprecated helper method to generates a phase with all shape channels set\n */\nNV_FLEX_API inline int NvFlexMakePhase(int group, int particleFlags) { return NvFlexMakePhaseWithChannels(group, particleFlags, eNvFlexPhaseShapeChannelMask); }\n\n\n/**\n * Time spent in each section of the solver update, times in GPU seconds, see NvFlexUpdateSolver()\n */\nstruct NvFlexTimers\n{\n\tfloat predict;\t\t\t\t//!< Time spent in prediction\n\tfloat createCellIndices;\t//!< Time spent creating grid indices\n\tfloat sortCellIndices;\t\t//!< Time spent sorting grid indices\n\tfloat createGrid;\t\t\t//!< Time spent creating grid\n\tfloat reorder;\t\t\t\t//!< Time spent reordering particles\n\tfloat collideParticles;\t\t//!< Time spent finding particle neighbors\n\tfloat collideShapes;\t\t//!< Time spent colliding convex shapes\n\tfloat collideTriangles;\t\t//!< Time spent colliding triangle shapes\n\tfloat collideFields;\t\t//!< Time spent colliding signed distance field shapes\n\tfloat calculateDensity;\t\t//!< Time spent calculating fluid density\n\tfloat solveDensities;\t\t//!< Time spent solving density constraints\n\tfloat solveVelocities;\t\t//!< Time spent solving velocity constraints\n\tfloat solveShapes;\t\t\t//!< Time spent solving rigid body constraints\n\tfloat solveSprings;\t\t\t//!< Time spent solving distance constraints\n\tfloat solveContacts;\t\t//!< Time spent solving contact constraints\n\tfloat solveInflatables;\t\t//!< Time spent solving pressure constraints\n\tfloat applyDeltas;\t        //!< Time spent adding position deltas to particles\n\tfloat calculateAnisotropy;\t//!< Time spent calculating particle anisotropy for fluid\n\tfloat updateDiffuse;\t\t//!< Time spent updating diffuse particles\n\tfloat updateTriangles;\t\t//!< Time spent updating dynamic triangles\n\tfloat updateNormals;\t\t//!< Time spent updating vertex normals\n\tfloat finalize;\t\t\t\t//!< Time spent finalizing state\n\tfloat updateBounds;\t\t\t//!< Time spent updating particle bounds\n\tfloat total;\t\t\t\t//!< Sum of all timers above\n};\n\n/**\n * Flex error return codes\n */\nenum NvFlexErrorSeverity\n{\n\teNvFlexLogError\t\t=  0,\t//!< Error messages\n\teNvFlexLogInfo\t\t=  1,\t//!< Information messages\n\teNvFlexLogWarning\t=  2,\t//!< Warning messages\n\teNvFlexLogDebug\t\t=  4,\t//!< Used only in debug version of dll\n\teNvFlexLogAll\t\t= -1,\t//!< All log types\n};\n\n \n/** Defines the set of stages at which callbacks may be registered \n */\nenum NvFlexSolverCallbackStage\n{\n\teNvFlexStageIterationStart,\t//!< Called at the beginning of each constraint iteration\n\teNvFlexStageIterationEnd,\t//!< Called at the end of each constraint iteration\n\teNvFlexStageSubstepBegin,\t//!< Called at the beginning of each substep after the prediction step has been completed\n\teNvFlexStageSubstepEnd,\t\t//!< Called at the end of each substep after the velocity has been updated by the constraints\n\teNvFlexStageUpdateEnd,\t\t//!< Called at the end of solver update after the final substep has completed\n\teNvFlexStageCount,\t\t\t//!< Number of stages\n};\n\n\n/** Structure containing pointers to the internal solver data that is passed to each registered solver callback\n *\n *  @remarks Pointers to internal data are only valid for the lifetime of the callback and should not be stored.\n *  However, it is safe to launch kernels and memory transfers using the device pointers.\n *\n *  @remarks Because Flex re-orders particle data internally for performance, the particle data in the callback is not\n *  in the same order as it was provided to the API. The callback provides arrays which map original particle indices\n *  to sorted positions and vice-versa.\n *\n *  @remarks Particle positions may be modified during any callback, but velocity modifications should only occur during \n *  the eNvFlexStageUpdateEnd stage, otherwise any velocity changes will be discarded.\n */\nstruct NvFlexSolverCallbackParams\n{\n\tNvFlexSolver* solver;\t\t\t\t//!< Pointer to the solver that the callback is registered to\n\tvoid* userData;\t\t\t\t\t\t//!< Pointer to the user data provided to NvFlexRegisterSolverCallback()\n\n\tfloat* particles;\t\t\t\t\t//!< Device pointer to the active particle basic data in the form x,y,z,1/m\n\tfloat* velocities;\t\t\t\t\t//!< Device pointer to the active particle velocity data in the form x,y,z,w (last component is not used)\n\tint* phases;\t\t\t\t\t\t//!< Device pointer to the active particle phase data\n\n\tint numActive;\t\t\t\t\t\t//!< The number of active particles returned, the callback data only return pointers to active particle data, this is the same as NvFlexGetActiveCount()\n\t\n\tfloat dt;\t\t\t\t\t\t\t//!< The per-update time-step, this is the value passed to NvFlexUpdateSolver()\n\n\tconst int* originalToSortedMap;\t\t//!< Device pointer that maps the sorted callback data to the original position given by SetParticles()\n\tconst int* sortedToOriginalMap;\t\t//!< Device pointer that maps the original particle index to the index in the callback data structure\n};\n\n/** Solver callback definition, see NvFlexRegisterSolverCallback()\n */\nstruct NvFlexSolverCallback\n{\n\t/** User data passed to the callback*/\n\tvoid* userData;\n\t\n\t/** Function pointer to a callback method */\n\tvoid (*function)(NvFlexSolverCallbackParams params);\n};\n\n/**\n * Function pointer type for error reporting callbacks\n */\ntypedef void (*NvFlexErrorCallback)(NvFlexErrorSeverity type, const char* msg, const char* file, int line);\n\n\n\n\n/** Defines the different compute backends that Flex can use\n*/\nenum NvFlexComputeType\n{\n\teNvFlexCUDA,\t\t//!< Use CUDA compute for Flex, the application must link against the CUDA libraries\n\teNvFlexD3D11,\t\t//!< Use DirectX 11 compute for Flex, the application must link against the D3D libraries\n\teNvFlexD3D12,\t\t//!< Use DirectX 12 compute for Flex, the application must link against the D3D libraries\n};\n\n\n/** Descriptor used to initialize Flex\n*/\nstruct NvFlexInitDesc\n{\n\tint deviceIndex;\t\t\t\t//!< The GPU device index that should be used, if there is already a CUDA context on the calling thread then this parameter will be ignored and the active CUDA context used. Otherwise a new context will be created using the suggested device ordinal.\n\tbool enableExtensions;\t\t\t//!< Enable or disable NVIDIA/AMD extensions in DirectX, can lead to improved performance.\n\tvoid* renderDevice;\t\t\t\t//!< Direct3D device to use for simulation, if none is specified a new device and context will be created.\n\tvoid* renderContext;\t\t\t//!< Direct3D context that the app is using for rendering. In DirectX 12 this should be a ID3D12CommandQueue pointer.\n\tvoid* computeContext;           //!< Direct3D context to use for simulation, if none is specified a new context will be created, in DirectX 12 this should be a pointer to the ID3D12CommandQueue where compute operations will take place. \n\tbool runOnRenderContext;\t\t//!< If true, run Flex on D3D11 render context, or D3D12 direct queue. If false, run on a D3D12 compute queue, or vendor specific D3D11 compute queue, allowing compute and graphics to run in parallel on some GPUs.\n\n\tNvFlexComputeType computeType;\t//!< Set to eNvFlexD3D11 if DirectX 11 should be used, eNvFlexD3D12 for DirectX 12, this must match the libraries used to link the application\n};\n\n/**\n* Initialize library, should be called before any other API function.\n*\n*\n* @param[in] version The version number the app is expecting, should almost always be NV_FLEX_VERSION\n* @param[in] errorFunc The callback used for reporting errors.\n* @param[in] desc The NvFlexInitDesc struct defining the device ordinal, D3D device/context and the type of D3D compute being used\n* @return A pointer to a library instance that can be used to allocate shared object such as triangle meshes, buffers, etc\n*/\nNV_FLEX_API NvFlexLibrary* NvFlexInit(int version = NV_FLEX_VERSION, NvFlexErrorCallback errorFunc = 0, NvFlexInitDesc* desc = 0);\n\n/**\n * Shutdown library, users should manually destroy any previously created   \n * solvers to ensure memory is freed before calling this method. If a new CUDA context was created during NvFlexInit() then it will be destroyed.\n *\n * @param[in] lib The library intance to use\n */\nNV_FLEX_API void NvFlexShutdown(NvFlexLibrary* lib);\n\n/**\n * Get library version number\n */\nNV_FLEX_API int NvFlexGetVersion();\n\n/** \n * Controls which features are enabled, choosing a simple option will disable features and can lead to better performance and reduced memory usage\n */\nenum NvFlexFeatureMode\n{\n\teNvFlexFeatureModeDefault\t\t\t= 0,\t//!< All features enabled\n\teNvFlexFeatureModeSimpleSolids\t\t= 1,\t//!< Simple per-particle collision (no per-particle SDF normals, no fluids)\n\teNvFlexFeatureModeSimpleFluids\t\t= 2,\t//!< Simple single phase fluid-only particles (no solids)\n};\n\n/**\n * Describes the creation time parameters for the solver\n */\nstruct NvFlexSolverDesc\n{\n\tNvFlexFeatureMode featureMode;\t//!< Control which features are enabled\n\n\tint maxParticles;\t\t\t\t//!< Maximum number of regular particles in the solver\n\tint maxDiffuseParticles;\t\t//!< Maximum number of diffuse particles in the solver\n\tint maxNeighborsPerParticle;\t//!< Maximum number of neighbors per-particle, for solids this can be around 32, for fluids up to 128 may be necessary depending on smoothing radius\n\tint maxContactsPerParticle;\t\t//!< Maximum number of collision contacts per-particle\n};\n\n/**\n * Initialize the solver desc to its default values\n * @param[in] desc Pointer to a description structure that will be initialized to default values\n */\nNV_FLEX_API void NvFlexSetSolverDescDefaults(NvFlexSolverDesc* desc);\n\n/**\n * Create a new particle solver\n *\n * @param[in] lib The library instance to use\n * @param[in] desc Pointer to a solver description structure used to create the solver\n */\nNV_FLEX_API NvFlexSolver* NvFlexCreateSolver(NvFlexLibrary* lib, const NvFlexSolverDesc* desc);\n\n/**\n * Delete a particle solver\n *\n * @param[in] solver A valid solver pointer created from NvFlexCreateSolver()\n */\nNV_FLEX_API void NvFlexDestroySolver(NvFlexSolver* solver);\n\n/**\n* Get the list of active solvers in the library\n* If the size of the array is smaller than the number of active solvers, only the first n entries are copied.\n*\n* @param[in] lib The library instance to use\n* @param[in] solvers Pointer to array\n* @param[in] n Size of array\n* @return The number of active solvers in the library\n*/\nNV_FLEX_API int NvFlexGetSolvers(NvFlexLibrary* lib, NvFlexSolver** solvers, int n);\n\n/**\n * Return the library associated with a solver\n *\n * @param[in] solver A valid solver created with NvFlexCreateSolver()\n * @return A library pointer\n */\nNV_FLEX_API NvFlexLibrary* NvFlexGetSolverLibrary(NvFlexSolver* solver);\n\n/**\n * Return the solver desc that was used to create a solver\n *\n * @param[in] solver Pointer to a valid Flex solver\n * @param[in] desc Pointer to a desc structure\n */\nNV_FLEX_API void NvFlexGetSolverDesc(NvFlexSolver* solver, NvFlexSolverDesc* desc);\n\n/** Registers a callback for a solver stage, the callback will be invoked from the same thread that calls NvFlexUpdateSolver().\n *\n * @param[in] solver A valid solver\n * @param[in] function A pointer to a function that will be called during the solver update\n * @param[in] stage The stage of the update at which the callback function will be called\n *\n * @return The previously registered callback for this slot, this allows multiple users to chain callbacks together\n */\nNV_FLEX_API NvFlexSolverCallback NvFlexRegisterSolverCallback(NvFlexSolver* solver, NvFlexSolverCallback function, NvFlexSolverCallbackStage stage);\n\n/**\n * Integrate particle solver forward in time. Below is an example of how to step Flex in the context of a simple game loop:\n *\n \\code{.c}\n\t\n\tNvFlexLibrary* library = NvFlexInit();\n\tNvFlexSolver* solver = NvFlexCreateSolver(library);\n\n\tNvFlexBuffer* particleBuffer = NvFlexAllocBuffer(library, n, sizeof(Vec4), eNvFlexBufferHost);\n\tNvFlexBuffer* velocityBuffer = NvFlexAllocBuffer(library, n, sizeof(Vec4), eNvFlexBufferHost);\n\tNvFlexBuffer* phaseBuffer = NvFlexAllocBuffer(library, n, sizeof(int), eNvFlexBufferHost);\n\n\twhile(!done)\n\t{\n\t\t// map buffers for reading / writing\n\t\tfloat4* particles = (float4*)NvFlexMap(particles, eNvFlexMapWait);\n\t\tfloat3* velocities  = (float3*)NvFlexMap(velocities, eNvFlexMapWait);\n\t\tint* phases = (int*)NvFlexMap(phases, eNvFlexMapWait);\n\n\t\t// spawn (user method)\n\t\tSpawnParticles(particles, velocities, phases);\n\n\t\t// render (user method)\n\t\tRenderParticles(particles, velocities, phases);\n\n\t\t// unmap buffers\n\t\tNvFlexUnmap(particleBuffer);\n\t\tNvFlexUnmap(velocityBuffer);\n\t\tNvFlexUnmap(phaseBuffer);\n\n\t\t// write to device (async)\n\t\tNvFlexSetParticles(particleBuffer, n);\n\t\tNvFlexSetVelocities(velocityBuffer, n);\n\t\tNvFlexSetPhases(phaseBuffer, n);\n\n\t\t// tick\n\t\tNvFlexUpdateSolver(solver, dt, 1, NULL);\n\n\t\t// read back (async)\n\t\tNvFlexGetParticles(particleBuffer, n);\n\t\tNvFlexGetVelocities(velocityBuffer, n);\n\t\tNvFlexGetPhases(phaseBuffer, n);\n\t}\n\n\tNvFlexFreeBuffer(particleBuffer);\n\tNvFlexFreeBuffer(velocityBuffer);\n\tNvFlexFreeBuffer(phaseBuffer);\n\n\tNvFlexDestroySolver(solver);\n\tNvFlexShutdown(library);\n\n\n \\endcode\n *\n * @param[in] solver A valid solver\n * @param[in] dt Time to integrate the solver forward in time by\n * @param[in] substeps The time dt will be divided into the number of sub-steps given by this parameter\n * @param[in] enableTimers Whether to enable per-kernel timers for profiling. Note that profiling can substantially slow down overall performance so this param should only be true in non-release builds\n */\nNV_FLEX_API void NvFlexUpdateSolver(NvFlexSolver* solver, float dt, int substeps, bool enableTimers);\n\n/**\n * Update solver paramters\n *\n * @param[in] solver A valid solver\n * @param[in] params Parameters structure in host memory, see NvFlexParams\n */\nNV_FLEX_API void NvFlexSetParams(NvFlexSolver* solver, const NvFlexParams* params);\n\n/**\n * Retrieve solver paramters, default values will be set at solver creation time\n *\n * @param[in] solver A valid solver\n * @param[out] params Parameters structure in host memory, see NvFlexParams\n */\n\nNV_FLEX_API void NvFlexGetParams(NvFlexSolver* solver, NvFlexParams* params);\n\n/**\n * Describes a source and destination buffer region for performing a copy operation.\n */\nstruct NvFlexCopyDesc\n{\n\tint srcOffset;\t\t\t//<! Offset in elements from the start of the source buffer to begin reading from\n\tint dstOffset;\t\t\t//<! Offset in elements from the start of the destination buffer to being writing to\n\tint elementCount;\t\t//<! Number of elements to copy\n};\n\n/**\n * Set the active particles indices in the solver\n * \n * @param[in] solver A valid solver\n * @param[in] indices Holds the indices of particles that have been made active\n * @param[in] desc Describes the copy region, if NULL the solver will try to access the entire buffer (maxParticles length)\n */\nNV_FLEX_API void NvFlexSetActive(NvFlexSolver* solver, NvFlexBuffer* indices, const NvFlexCopyDesc* desc);\n\n/**\n * Return the active particle indices\n * \n * @param[in] solver A valid solver\n * @param[out] indices a buffer of indices at least activeCount in length. Default values are successive numbers from 0 to maxParticles-1\n * @param[in] desc Describes the copy region, if NULL the solver will try to access the entire buffer (maxParticles length)\n */\nNV_FLEX_API void NvFlexGetActive(NvFlexSolver* solver, NvFlexBuffer* indices, const NvFlexCopyDesc* desc);\n\n/**\n * Set the total number of active particles\n * \n * @param[in] solver A valid solver\n * @param[in] n The number of active particles, the first n indices in the active particles array will be used as the active count\n */\nNV_FLEX_API void NvFlexSetActiveCount(NvFlexSolver* solver, int n);\n\n/**\n * Return the number of active particles in the solver\n * \n * @param[in] solver A valid solver\n * @return The number of active particles in the solver\n */\nNV_FLEX_API int NvFlexGetActiveCount(NvFlexSolver* solver);\n\n/**\n * Set the particles state of the solver, a particle consists of 4 floating point numbers, its x,y,z position followed by its inverse mass (1/m)\n * \n * @param[in] solver A valid solver\n * @param[in] p Pointer to a buffer of particle data, should be 4*n in length\n * @param[in] desc Describes the copy region, if NULL the solver will try to access the entire buffer (maxParticles length)\n *\n */\nNV_FLEX_API void NvFlexSetParticles(NvFlexSolver* solver, NvFlexBuffer* p, const NvFlexCopyDesc* desc);\n\n/**\n * Get the particles state of the solver, a particle consists of 4 floating point numbers, its x,y,z position followed by its inverse mass (1/m)\n * \n * @param[in] solver A valid solver\n * @param[out] p Pointer to a buffer of 4*n floats that will be filled out with the particle data, can be either a host or device pointer\n * @param[in] desc Describes the copy region, if NULL the solver will try to access the entire buffer (maxParticles length)\n */\nNV_FLEX_API void NvFlexGetParticles(NvFlexSolver* solver, NvFlexBuffer* p, const NvFlexCopyDesc* desc);\n\n/**\n * Set the particle positions in their rest state, if eNvFlexPhaseSelfCollideFilter is set on the particle's\n * phase attribute then particles that overlap in the rest state will not generate collisions with each other\n * \n * @param[in] solver A valid solver\n * @param[in] p Pointer to a buffer of particle data, should be 4*n in length\n * @param[in] desc Describes the copy region, if NULL the solver will try to access the entire buffer (maxParticles length)\n *\n */\nNV_FLEX_API void NvFlexSetRestParticles(NvFlexSolver* solver, NvFlexBuffer* p, const NvFlexCopyDesc* desc);\n\n/**\n * Get the particle positions in their rest state\n * \n * @param[in] solver A valid solver\n * @param[in] p Pointer to a buffer of particle data, should be 4*n in length\n * @param[in] desc Describes the copy region, if NULL the solver will try to access the entire buffer (maxParticles length)\n *\n */\nNV_FLEX_API void NvFlexGetRestParticles(NvFlexSolver* solver, NvFlexBuffer* p, const NvFlexCopyDesc* desc);\n\n\n/**\n * Get the Laplacian smoothed particle positions for rendering, see NvFlexParams::smoothing\n * \n * @param[in] solver A valid solver\n * @param[out] p Pointer to a buffer of 4*n floats that will be filled out with the data, can be either a host or device pointer\n * @param[in] desc Describes the copy region, if NULL the solver will try to access the entire buffer (maxParticles length)\n */\nNV_FLEX_API void NvFlexGetSmoothParticles(NvFlexSolver* solver, NvFlexBuffer* p, const NvFlexCopyDesc* desc);\n\n/**\n * Set the particle velocities, each velocity is a 3-tuple of x,y,z floating point values\n * \n * @param[in] solver A valid solver\n * @param[in] v Pointer to a buffer of 3*n floats\n * @param[in] desc Describes the copy region, if NULL the solver will try to access the entire buffer (maxParticles length)\n *\n */\nNV_FLEX_API void NvFlexSetVelocities(NvFlexSolver* solver, NvFlexBuffer* v, const NvFlexCopyDesc* desc);\n/**\n * Get the particle velocities, each velocity is a 3-tuple of x,y,z floating point values\n * \n * @param[in] solver A valid solver\n * @param[out] v Pointer to a buffer of 3*n floats that will be filled out with the data, can be either a host or device pointer\n * @param[in] desc Describes the copy region, if NULL the solver will try to access the entire buffer (maxParticles length)\n */\nNV_FLEX_API void NvFlexGetVelocities(NvFlexSolver* solver, NvFlexBuffer* v, const NvFlexCopyDesc* desc);\n\n/**\n * Set the particles phase id array, each particle has an associated phase id which \n * controls how it interacts with other particles. Particles with phase 0 interact with all\n * other phase types.\n *\n * Particles with a non-zero phase id only interact with particles whose phase differs \n * from theirs. This is useful, for example, to stop particles belonging to a single\n * rigid shape from interacting with each other.\n * \n * Phase 0 is used to indicate fluid particles when NvFlexParams::mFluid is set.\n * \n * @param[in] solver A valid solver\n * @param[in] phases Pointer to a buffer of n integers containing the phases\n * @param[in] desc Describes the copy region, if NULL the solver will try to access the entire buffer (maxParticles length)\n *\n */\nNV_FLEX_API void NvFlexSetPhases(NvFlexSolver* solver, NvFlexBuffer* phases, const NvFlexCopyDesc* desc);\n/**\n * Get the particle phase ids\n * \n * @param[in] solver A valid solver\n * @param[out] phases Pointer to a buffer of n integers that will be filled with the phase data, can be either a host or device pointer\n * @param[in] desc Describes the copy region, if NULL the solver will try to access the entire buffer (maxParticles length)\n */\nNV_FLEX_API void NvFlexGetPhases(NvFlexSolver* solver, NvFlexBuffer* phases, const NvFlexCopyDesc* desc);\n\n/**\n * Set per-particle normals to the solver, these will be overwritten after each simulation step, but can be used to initialize the normals to valid values\n * \n * @param[in] solver A valid solver\n * @param[in] normals Pointer to a buffer of normals, should be 4*n in length\n * @param[in] desc Describes the copy region, if NULL the solver will try to access the entire buffer (maxParticles length)\n */\nNV_FLEX_API void NvFlexSetNormals(NvFlexSolver* solver, NvFlexBuffer* normals, const NvFlexCopyDesc* desc);\n\n/**\n * Get per-particle normals from the solver, these are the world-space normals computed during surface tension, cloth, and rigid body calculations\n * \n * @param[in] solver A valid solver\n * @param[out] normals Pointer to a buffer of normals, should be 4*n in length\n * @param[in] desc Describes the copy region, if NULL the solver will try to access the entire buffer (maxParticles length)\n */\nNV_FLEX_API void NvFlexGetNormals(NvFlexSolver* solver, NvFlexBuffer* normals, const NvFlexCopyDesc* desc);\n\n\n/**\n * Set distance constraints for the solver. Each distance constraint consists of two particle indices\n * stored consecutively, a rest-length, and a stiffness value. These are not springs in the traditional\n * sense, but behave somewhat like a traditional spring when lowering the stiffness coefficient.\n * \n * @param[in] solver A valid solver\n * @param[in] indices Pointer to the spring indices array, should be 2*numSprings length, 2 indices per-spring\n * @param[in] restLengths Pointer to a buffer of rest lengths, should be numSprings length\n * @param[in] stiffness Pointer to the spring stiffness coefficents, should be numSprings in length, a negative stiffness value represents a tether constraint\n * @param[in] numSprings The number of springs to set\n *\n */\nNV_FLEX_API void NvFlexSetSprings(NvFlexSolver* solver, NvFlexBuffer* indices, NvFlexBuffer* restLengths, NvFlexBuffer* stiffness, int numSprings);\n/**\n * Get the distance constraints from the solver\n * \n * @param[in] solver A valid solver\n * @param[out] indices Pointer to the spring indices array, should be 2*numSprings length, 2 indices per-spring\n * @param[out] restLengths Pointer to a buffer of rest lengths, should be numSprings length\n * @param[out] stiffness Pointer to the spring stiffness coefficents, should be numSprings in length, a negative stiffness value represents a unilateral tether constraint (only resists stretching, not compression), valid range [-1, 1]\n * @param[in] numSprings The number of springs to get\n */\nNV_FLEX_API void NvFlexGetSprings(NvFlexSolver* solver, NvFlexBuffer* indices, NvFlexBuffer* restLengths, NvFlexBuffer* stiffness, int numSprings);\n\n/**\n * Set rigid body constraints for the solver. \n * @note A particle should not belong to more than one rigid body at a time.\n * \n * @param[in] solver A valid solver\n * @param[in] offsets Pointer to a buffer of start offsets for a rigid in the indices array, should be numRigids+1 in length, the first entry must be 0\n * @param[in] indices Pointer to a buffer of indices for the rigid bodies, the indices for the jth rigid body start at indices[offsets[j]] and run to indices[offsets[j+1]] exclusive\n * @param[in] restPositions Pointer to a buffer of local space positions relative to the rigid's center of mass (average position), this should be at least 3*numIndices in length in the format x,y,z\n * @param[in] restNormals Pointer to a buffer of local space normals, this should be at least 4*numIndices in length in the format x,y,z,w where w is the (negative) signed distance of the particle inside its shape\n * @param[in] stiffness Pointer to a buffer of rigid stiffness coefficents, should be numRigids in length, valid values in range [0, 1]\n * @param[in] thresholds Pointer to a buffer of plastic deformation threshold coefficients, should be numRigids in length\n * @param[in] creeps Pointer to a buffer of plastic deformation creep coefficients, should be numRigids in length, valid values in range [0, 1]\n * @param[in] rotations Pointer to a buffer of quaternions (4*numRigids in length)\n * @param[in] translations Pointer to a buffer of translations of the center of mass (3*numRigids in length)\n * @param[in] numRigids The number of rigid bodies to set\n * @param[in] numIndices The number of indices in the indices array\n *\n */\nNV_FLEX_API void NvFlexSetRigids(NvFlexSolver* solver, NvFlexBuffer* offsets, NvFlexBuffer* indices, NvFlexBuffer* restPositions, NvFlexBuffer* restNormals, NvFlexBuffer* stiffness, NvFlexBuffer* thresholds, NvFlexBuffer* creeps, NvFlexBuffer* rotations, NvFlexBuffer* translations, int numRigids, int numIndices);\n\n/**\n * Retrive the rigid body shape matching constraints and transforms, if any buffer pointers are NULL then they will be ignored\n * This method supersedes the previous NvFlexGetRigidTransforms method and can be used to retrieve modified rest positions from plastic deformation.\n * \n * @param[in] solver A valid solver\n * @param[in] offsets Pointer to a buffer of start offsets for a rigid in the indices array, should be numRigids+1 in length, the first entry must be 0\n * @param[in] indices Pointer to a buffer of indices for the rigid bodies, the indices for the jth rigid body start at indices[offsets[j]] and run to indices[offsets[j+1]] exclusive\n * @param[in] restPositions Pointer to a buffer of local space positions relative to the rigid's center of mass (average position), this should be at least 3*numIndices in length in the format x,y,z\n * @param[in] restNormals Pointer to a buffer of local space normals, this should be at least 4*numIndices in length in the format x,y,z,w where w is the (negative) signed distance of the particle inside its shape\n * @param[in] stiffness Pointer to a buffer of rigid stiffness coefficents, should be numRigids in length, valid values in range [0, 1]\n * @param[in] thresholds Pointer to a buffer of plastic deformation threshold coefficients, should be numRigids in length\n * @param[in] creeps Pointer to a buffer of plastic deformation creep coefficients, should be numRigids in length, valid values in range [0, 1]\n * @param[in] rotations Pointer to a buffer of quaternions (4*numRigids in length with the imaginary elements in the x,y,z components)\n * @param[in] translations Pointer to a buffer of translations of the center of mass (3*numRigids in length)\n */\nNV_FLEX_API void NvFlexGetRigids(NvFlexSolver* solver, NvFlexBuffer* offsets, NvFlexBuffer* indices, NvFlexBuffer* restPositions, NvFlexBuffer* restNormals, NvFlexBuffer* stiffness, NvFlexBuffer* thresholds, NvFlexBuffer* creeps, NvFlexBuffer* rotations, NvFlexBuffer* translations);\n\n/**\n * An opaque type representing a static triangle mesh in the solver\n */\ntypedef unsigned int NvFlexTriangleMeshId;\n\n/**\n * An opaque type representing a signed distance field collision shape in the solver.\n */\ntypedef unsigned int NvFlexDistanceFieldId;\n\n/**\n * An opaque type representing a convex mesh collision shape in the solver.\n * Convex mesh shapes may consist of up to 64 planes of the form a*x + b*y + c*z + d = 0,\n * particles will be constrained to the outside of the shape.\n */\ntypedef unsigned int NvFlexConvexMeshId;\n\n/**\n * Create triangle mesh geometry, note that meshes may be used by multiple solvers if desired\n * \n * @param[in] lib The library instance to use\n * @return A pointer to a triangle mesh object\n */\nNV_FLEX_API NvFlexTriangleMeshId NvFlexCreateTriangleMesh(NvFlexLibrary* lib);\n\n/**\n * Destroy a triangle mesh created with NvFlexCreateTriangleMesh()\n *\n * @param[in] lib The library instance to use\n * @param[in] mesh A triangle mesh created with NvFlexCreateTriangleMesh()\n */\nNV_FLEX_API void NvFlexDestroyTriangleMesh(NvFlexLibrary* lib, NvFlexTriangleMeshId mesh);\n\n/**\n* Get the list of triangle meshes in the library\n* If the size of the array is smaller than the number of triangle meshes, only the first n entries are copied.\n*\n* @param[in] lib The library instance to use\n* @param[in] meshes Pointer to array\n* @param[in] n Size of array\n* @return The number of triangle meshes in the library\n*/\nNV_FLEX_API int NvFlexGetTriangleMeshes(NvFlexLibrary* lib, NvFlexTriangleMeshId* meshes, int n);\n\n/**\n * Specifies the triangle mesh geometry (vertices and indices), this method will cause any internal\n * data structures (e.g.: bounding volume hierarchies) to be rebuilt.\n * \n * @param[in] lib The library instance to use\n * @param[in] mesh A triangle mesh created with NvFlexCreateTriangleMesh()\n * @param[in] vertices Pointer to a buffer of float4 vertex positions\n * @param[in] indices Pointer to a buffer of triangle indices, should be length numTriangles*3\n * @param[in] numVertices The number of vertices in the vertices array\n * @param[in] numTriangles The number of triangles in the mesh\n * @param[in] lower A pointer to a float3 vector holding the lower spatial bounds of the mesh\n * @param[in] upper A pointer to a float3 vector holding the upper spatial bounds of the mesh\n */\nNV_FLEX_API void NvFlexUpdateTriangleMesh(NvFlexLibrary* lib, NvFlexTriangleMeshId mesh, NvFlexBuffer* vertices, NvFlexBuffer* indices, int numVertices, int numTriangles, const float* lower, const float* upper);\n\n/**\n * Retrieve the local space bounds of the mesh, these are the same values specified to NvFlexUpdateTriangleMesh()\n * \n * @param[in] lib The library instance to use\n * @param[in] mesh Pointer to a triangle mesh object\n * @param[out] lower Pointer to a buffer of 3 floats that the lower mesh bounds will be written to\n * @param[out] upper Pointer to a buffer of 3 floats that the upper mesh bounds will be written to\n */\nNV_FLEX_API void NvFlexGetTriangleMeshBounds(NvFlexLibrary* lib, const NvFlexTriangleMeshId mesh, float* lower, float* upper);\n\n/**\n * Create a signed distance field collision shape, see NvFlexDistanceFieldId for details.\n * \n * @param[in] lib The library instance to use\n * @return A pointer to a signed distance field object\n */\nNV_FLEX_API NvFlexDistanceFieldId NvFlexCreateDistanceField(NvFlexLibrary* lib);\n\n/**\n * Destroy a signed distance field\n * \n * @param[in] lib The library instance to use\n * @param[in] sdf A signed distance field created with NvFlexCreateDistanceField()\n */\nNV_FLEX_API void NvFlexDestroyDistanceField(NvFlexLibrary* lib, NvFlexDistanceFieldId sdf);\n\n/**\n* Get the list of signed distance fields in the library\n* If the size of the array is smaller than the number of signed distance fields, only the first n entries are copied.\n*\n* @param[in] lib The library instance to use\n* @param[in] sdfs Pointer to array\n* @param[in] n Size of array\n* @return The number of signed distance fields in the library\n*/\nNV_FLEX_API int NvFlexGetDistanceFields(NvFlexLibrary* lib, NvFlexDistanceFieldId* sdfs, int n);\n\n/**\n * Update the signed distance field volume data, this method will upload\n * the field data to a 3D texture on the GPU\n * \n * @param[in] lib The library instance to use\n * @param[in] sdf A signed distance field created with NvFlexCreateDistanceField()\n * @param[in] dimx The x-dimension of the volume data in voxels\n * @param[in] dimy The y-dimension of the volume data in voxels\n * @param[in] dimz The z-dimension of the volume data in voxels\n * @param[in] field The volume data stored such that the voxel at the x,y,z coordinate is addressed as field[z*dimx*dimy + y*dimx + x]\n */\nNV_FLEX_API void NvFlexUpdateDistanceField(NvFlexLibrary* lib, NvFlexDistanceFieldId sdf, int dimx, int dimy, int dimz, NvFlexBuffer* field);\n\n/**\n * Create a convex mesh collision shape, see NvFlexConvexMeshId for details.\n * \n * @param[in] lib The library instance to use\n * @return A pointer to a signed distance field object\n */\nNV_FLEX_API NvFlexConvexMeshId NvFlexCreateConvexMesh(NvFlexLibrary* lib);\n\n/**\n * Destroy a convex mesh\n * \n * @param[in] lib The library instance to use\n * @param[in] convex A a convex mesh created with NvFlexCreateConvexMesh()\n */\nNV_FLEX_API void NvFlexDestroyConvexMesh(NvFlexLibrary* lib, NvFlexConvexMeshId convex);\n\n/**\n* Get the list of convex meshes in the library\n* If the size of the array is smaller than the number of convex meshes, only the first n entries are copied.\n*\n* @param[in] lib The library instance to use\n* @param[in] meshes Pointer to array\n* @param[in] n Size of array\n* @return The number of convex meshes in the library\n*/\nNV_FLEX_API int NvFlexGetConvexMeshes(NvFlexLibrary* lib, NvFlexConvexMeshId* meshes, int n);\n\n/**\n * Update the convex mesh geometry\n * \n * @param[in] lib The library instance to use\n * @param[in] convex A valid convex mesh shape created from NvFlexCreateConvexMesh()\n * @param[in] planes An array of planes, each plane consists of 4 floats in the form a*x + b*y + c*z + d = 0\n * @param[in] numPlanes The number of planes in the convex, must be less than 64 planes per-convex\n * @param[in] lower The local space lower bound of the convex shape\n * @param[in] upper The local space upper bound of the convex shape\n  */\nNV_FLEX_API void NvFlexUpdateConvexMesh(NvFlexLibrary* lib, NvFlexConvexMeshId convex, NvFlexBuffer* planes, int numPlanes, const float* lower, const float* upper);\n\n/**\n * Retrieve the local space bounds of the mesh, these are the same values specified to NvFlexUpdateConvexMesh()\n * \n * @param[in] lib The library instance to use\n * @param[in] mesh Pointer to a convex mesh object\n * @param[out] lower Pointer to a buffer of 3 floats that the lower mesh bounds will be written to\n * @param[out] upper Pointer to a buffer of 3 floats that the upper mesh bounds will be written to\n */\nNV_FLEX_API void NvFlexGetConvexMeshBounds(NvFlexLibrary* lib, NvFlexConvexMeshId mesh, float* lower, float* upper);\n\n/**\n * A basic sphere shape with origin at the center of the sphere and radius\n */\nstruct NvFlexSphereGeometry\n{\n\tfloat radius;\n};\n\n/**\n * A collision capsule extends along the x-axis with its local origin at the center of the capsule \n */\nstruct NvFlexCapsuleGeometry\n{\n\tfloat radius;\n\tfloat halfHeight;\n};\n\n/**\n * A simple box with interior [-halfHeight, +halfHeight] along each dimension \n */\nstruct NvFlexBoxGeometry\n{\n\tfloat halfExtents[3];\n};\n\n/**\n * A convex mesh instance with non-uniform scale\n */\nstruct NvFlexConvexMeshGeometry\n{\n\tfloat scale[3];\n\tNvFlexConvexMeshId mesh;\n};\n\n/**\n * A scaled triangle mesh instance with non-uniform scale\n */\nstruct NvFlexTriangleMeshGeometry\n{\n\tfloat scale[3];\t\t\t//!< The scale of the object from local space to world space\n\tNvFlexTriangleMeshId mesh;\t//!< A triangle mesh pointer created by NvFlexCreateTriangleMesh()\n};\n\n/**\n * A scaled signed distance field instance, the local origin of the SDF is at corner of the field corresponding to the first voxel.\n * The field is mapped to the local space volume [0, 1] in each dimension.\n */\nstruct NvFlexSDFGeometry\n{\n\tfloat scale;\t\t\t\t //!< Uniform scale of SDF, this corresponds to the world space width of the shape\n\tNvFlexDistanceFieldId field;\t //!< A signed distance field pointer created by NvFlexCreateDistanceField()\n};\n\n/**\n * This union allows collision geometry to be sent to Flex as a flat array of 16-byte data structures,\n * the shape flags array specifies the type for each shape, see NvFlexSetShapes().\n */\nunion NvFlexCollisionGeometry\n{\n\tNvFlexSphereGeometry sphere;\n\tNvFlexCapsuleGeometry capsule;\n\tNvFlexBoxGeometry box;\n\tNvFlexConvexMeshGeometry convexMesh;\n\tNvFlexTriangleMeshGeometry triMesh;\n\tNvFlexSDFGeometry sdf;\n};\n\nenum NvFlexCollisionShapeType\n{\n\teNvFlexShapeSphere\t\t\t= 0,\t\t//!< A sphere shape, see FlexSphereGeometry\n\teNvFlexShapeCapsule\t\t\t= 1,\t\t//!< A capsule shape, see FlexCapsuleGeometry\n\teNvFlexShapeBox\t\t\t\t= 2,\t\t//!< A box shape, see FlexBoxGeometry\n\teNvFlexShapeConvexMesh\t\t= 3,\t\t//!< A convex mesh shape, see FlexConvexMeshGeometry\n\teNvFlexShapeTriangleMesh\t= 4,\t\t//!< A triangle mesh shape, see FlexTriangleMeshGeometry\n\teNvFlexShapeSDF\t\t\t\t= 5,\t\t//!< A signed distance field shape, see FlexSDFGeometry\n};\n\nenum NvFlexCollisionShapeFlags\n{\n\teNvFlexShapeFlagTypeMask\t= 0x7,\t\t//!< Lower 3 bits holds the type of the collision shape given by the NvFlexCollisionShapeType enum\n\teNvFlexShapeFlagDynamic\t\t= 0x8,\t\t//!< Indicates the shape is dynamic and should have lower priority over static collision shapes\n\teNvFlexShapeFlagTrigger\t\t= 0x10,\t\t//!< Indicates that the shape is a trigger volume, this means it will not perform any collision response, but will be reported in the contacts array (see NvFlexGetContacts())\n\t\n\teNvFlexShapeFlagReserved\t= 0xffffff00\n};\n\n/** \n * Helper function to combine shape type, flags, and phase/shape collision channels into a 32bit value\n * \n * @param[in] type The type of the shape, see NvFlexCollisionShapeType\n * @param[in] dynamic See eNvFlexShapeFlagDynamic\n * @param[in] shapeChannels A combination of the eNvFlexPhaseShapeChannel* flags, collisions will only be processed between a particle and a shape if a channel is set on both the particle and shape, see NvFlexMakePhaseWithChannels()\n */\nNV_FLEX_API inline int NvFlexMakeShapeFlagsWithChannels(NvFlexCollisionShapeType type, bool dynamic, int shapeChannels) { return type | (dynamic?eNvFlexShapeFlagDynamic:0) | shapeChannels; }\n\n/** \n * Deprecrated helper method that creates shape flags that by default have all collision channels enabled\n */\nNV_FLEX_API inline int NvFlexMakeShapeFlags(NvFlexCollisionShapeType type, bool dynamic) { return NvFlexMakeShapeFlagsWithChannels(type, dynamic, eNvFlexPhaseShapeChannelMask); }\n\n\n/**\n * Set the collision shapes for the solver\n * \n * @param[in] solver A valid solver\n * @param[in] geometry Pointer to a buffer of NvFlexCollisionGeometry entries, the type of each shape determines how many entries it has in the array\n * @param[in] shapePositions Pointer to a buffer of translations for each shape in world space, should be 4*numShapes in length\n * @param[in] shapeRotations Pointer to an a buffer of rotations for each shape stored as quaternion, should be 4*numShapes in length\n * @param[in] shapePrevPositions Pointer to a buffer of translations for each shape at the start of the time step, should be 4*numShapes in length\n * @param[in] shapePrevRotations Pointer to an a buffer of rotations for each shape stored as a quaternion at the start of the time step, should be 4*numShapees in length\n * @param[in] shapeFlags The type and behavior of the shape, NvFlexCollisionShapeFlags for more detail\n * @param[in] numShapes The number of shapes\n *\n */\nNV_FLEX_API void NvFlexSetShapes(NvFlexSolver* solver, NvFlexBuffer* geometry, NvFlexBuffer* shapePositions, NvFlexBuffer* shapeRotations, NvFlexBuffer* shapePrevPositions, NvFlexBuffer* shapePrevRotations, NvFlexBuffer* shapeFlags, int numShapes);\n\n/**\n * Set dynamic triangles mesh indices, typically used for cloth. Flex will calculate normals and \n * apply wind and drag effects to connected particles. See NvFlexParams::drag, NvFlexParams::wind.\n * \n * @param[in] solver A valid solver\n * @param[in] indices Pointer to a buffer of triangle indices into the particles array, should be 3*numTris in length\n * @param[in] normals Pointer to a buffer of triangle normals, should be 3*numTris in length, can be NULL\n * @param[in] numTris The number of dynamic triangles\n *s\n */\nNV_FLEX_API void NvFlexSetDynamicTriangles(NvFlexSolver* solver, NvFlexBuffer* indices, NvFlexBuffer* normals, int numTris);\n/**\n * Get the dynamic triangle indices and normals.\n * \n * @param[in] solver A valid solver\n * @param[out] indices Pointer to a buffer of triangle indices into the particles array, should be 3*numTris in length, if NULL indices will not be returned\n * @param[out] normals Pointer to a buffer of triangle normals, should be 3*numTris in length, if NULL normals will be not be returned\n * @param[in] numTris The number of dynamic triangles\n */\nNV_FLEX_API void NvFlexGetDynamicTriangles(NvFlexSolver* solver, NvFlexBuffer* indices, NvFlexBuffer* normals, int numTris);\n\n/**\n * Set inflatable shapes, an inflatable is a range of dynamic triangles (wound CCW) that represent a closed mesh.\n * Each inflatable has a given rest volume, constraint scale (roughly equivalent to stiffness), and \"over pressure\"\n * that controls how much the shape is inflated.\n * \n * @param[in] solver A valid solver\n * @param[in] startTris Pointer to a buffer of offsets into the solver's dynamic triangles for each inflatable, should be numInflatables in length\n * @param[in] numTris Pointer to a buffer of triangle counts for each inflatable, should be numInflatablesin length\n * @param[in] restVolumes Pointer to a buffer of rest volumes for the inflatables, should be numInflatables in length\n * @param[in] overPressures Pointer to a buffer of floats specifying the pressures for each inflatable, a value of 1.0 means the rest volume, > 1.0 means over-inflated, and < 1.0 means under-inflated, should be numInflatables in length\n * @param[in] constraintScales Pointer to a buffer of scaling factors for the constraint, this is roughly equivalent to stiffness but includes a constraint scaling factor from position-based dynamics, see helper code for details, should be numInflatables in length\n * @param[in] numInflatables Number of inflatables to set\n *\n */\nNV_FLEX_API void NvFlexSetInflatables(NvFlexSolver* solver, NvFlexBuffer* startTris, NvFlexBuffer* numTris, NvFlexBuffer* restVolumes, NvFlexBuffer* overPressures, NvFlexBuffer* constraintScales, int numInflatables);\n\n/**\n * Get the density values for fluid particles\n *\n * @param[in] solver A valid solver\n * @param[out] densities Pointer to a buffer of floats, should be maxParticles in length, density values are normalized between [0, 1] where 1 represents the rest density\n * @param[in] desc Pointer to a descriptor specifying the contents to read back\n */\nNV_FLEX_API void NvFlexGetDensities(NvFlexSolver* solver, NvFlexBuffer* densities, const NvFlexCopyDesc* desc);\n\n/**\n * Get the anisotropy of fluid particles, the particle distribution for a particle is represented\n * by 3 orthogonal vectors. Each 3-vector has unit length with the variance along that axis\n * packed into the w component, i.e.: x,y,z,lambda.\n*\n * The anisotropy defines an oriented ellipsoid in worldspace that can be used for rendering\n * or surface extraction.\n *\n * @param[in] solver A valid solver\n * @param[out] q1 Pointer to a buffer of floats that receive the first basis vector and scale, should be 4*maxParticles in length\n * @param[out] q2 Pointer to a buffer of floats that receive the second basis vector and scale, should be 4*maxParticles in length\n * @param[out] q3 Pointer to a buffer of floats that receive the third basis vector and scale, should be 4*maxParticles in length\n * @param[in] desc Pointer to a descriptor specifying the contents to read back\n */\nNV_FLEX_API void NvFlexGetAnisotropy(NvFlexSolver* solver, NvFlexBuffer* q1, NvFlexBuffer* q2, NvFlexBuffer* q3, const NvFlexCopyDesc* desc);\n/**\n * Get the state of the diffuse particles. Diffuse particles are passively advected by the fluid\n * velocity field.\n *\n * @param[in] solver A valid solver\n * @param[out] p Pointer to a buffer of floats, should be 4*maxParticles in length, the w component represents the particles lifetime with 1 representing a new particle, and 0 representing an inactive particle\n * @param[out] v Pointer to a buffer of floats, should be 4*maxParticles in length, the w component is not used\n * @param[out] count Pointer to a buffer of a single int that holds the current particle count (this may be updated by the GPU which is why it is passed back in a buffer)\n */\nNV_FLEX_API void NvFlexGetDiffuseParticles(NvFlexSolver* solver, NvFlexBuffer* p, NvFlexBuffer* v, NvFlexBuffer* count);\n\n/**\n * Set the state of the diffuse particles. Diffuse particles are passively advected by the fluid\n * velocity field.\n *\n * @param[in] solver A valid solver\n * @param[in] p Pointer to a buffer of floats, should be 4*n in length, the w component represents the particles lifetime with 1 representing a new particle, and 0 representing an inactive particle\n * @param[in] v Pointer to a buffer of floats, should be 4*n in length, the w component is not used\n * @param[in] n The number of active diffuse particles\n *\n */\nNV_FLEX_API void NvFlexSetDiffuseParticles(NvFlexSolver* solver, NvFlexBuffer* p, NvFlexBuffer* v, int n);\n\n/**\n * Get the particle contact planes. Note this will only include contacts that were active on the last substep of an update, and will include all contact planes generated within NvFlexParams::shapeCollisionMargin.\n *\n * @param[in] solver A valid solver\n * @param[out] planes Pointer to a destination buffer containing the contact planes for the particle, each particle can have up to maxContactsPerParticle contact planes (see NvFlexSolverDesc) so this buffer should be 4*maxContactsPerParticle*maxParticles floats in length\n * @param[out] velocities Pointer to a destination buffer containing the velocity of the contact point on the shape in world space, the index of the shape (corresponding to the shape in NvFlexSetShapes() is stored in the w component), each particle can have up to maxContactsPerParticle contact planes so this buffer should be 4*maxContactsPerParticle*maxParticles floats in length\n * @param[out] indices Pointer to a buffer of indices into the contacts buffer, the first contact plane for the i'th particle is given by planes[indices[i]*sizeof(float)*4*maxContactsPerParticle] and subsequent contact planes for that particle are stored sequentially, this array should be maxParticles in length\n * @param[out] counts Pointer to a buffer of contact counts for each particle (will be <= maxContactsPerParticle), this buffer should be maxParticles in length\n */\nNV_FLEX_API void NvFlexGetContacts(NvFlexSolver* solver, NvFlexBuffer* planes, NvFlexBuffer* velocities, NvFlexBuffer* indices, NvFlexBuffer* counts);\n\n/**\n * Get the particle neighbor lists, these are stored in a strided format, and can be iterated in the following manner:\n *\n\\code{.c}\n\n\tNvFlexGetNeighbors(solver, neighborsBuffer, countsBuffer, apiToInternalBuffer, internalToApiBuffer);\n\n\tint* neighbors = (int*)NvFlexMap(neighborsBuffer, 0);\n\tint* counts = (int*)NvFlexMap(countsBuffer, 0);\n\tint* apiToInternal = (int*)NvFlexMap(apiToInternalBuffer, 0);\n\tint* internalToApi = (int*)NvFlexMap(internalToApiBuffer, 0);\n\n\t// neighbors are stored in a strided format so that the first neighbor\n\t// of each particle is stored sequentially, then the second, and so on\n\t\n\tint stride = maxParticles;\n\n\tfor (int i=0; i < maxParticles; ++i)\n\t{\n\t\t// find offset in the neighbors buffer\n\t\tint offset = apiToInternal[i];\n\t\tint count = counts[offset];\n\n\t\tfor (int c=0; c < count; ++c)\n\t\t{\n\t\t\tint neighbor = internalToApi[neighbors[c*stride + offset]];\n\n\t\t\tprintf(\"Particle %d's neighbor %d is particle %d\\n\", i, c, neighbor);\n\t\t}\n\t}\n\n\tNvFlexUnmap(neighborsBuffer);\n\tNvFlexUnmap(countsBuffer);\n\tNvFlexUnmap(apiToInternalBuffer);\n\tNvFlexUnmap(internalToApiBuffer);\n\n\\endcode\n *\n * @param[in] solver A valid solver\n * @param[out] neighbors Pointer to a destination buffer containing the the neighbors for all particles, this should be maxParticles*maxParticleNeighbors ints (passed to NvFlexInit() in length)\n * @param[out] counts Pointer to a buffer of neighbor counts per-particle, should be maxParticles ints in length\n * @param[out] apiToInternal Pointer to a buffer of indices, because Flex internally re-orders particles these are used to map from an API particle index to it internal index\n * @param[out] internalToApi Pointer to a buffer of indices, because Flex internally re-orders particles these are used to map from an internal index to an API index\n *\n * @note Neighbors are only valid after a call to NvFlexUpdateSolver() has completed, the returned neighbors correspond to the last substep of the last update\n */\nNV_FLEX_API void NvFlexGetNeighbors(NvFlexSolver* solver, NvFlexBuffer* neighbors, NvFlexBuffer* counts, NvFlexBuffer* apiToInternal, NvFlexBuffer* internalToApi);\n\n/**\n * Get the world space AABB of all particles in the solver, note that the bounds are calculated during the update (see NvFlexUpdateSolver()) so only become valid after an update has been performed.\n * The returned bounds represent bounds of the particles in their predicted positions *before* the constraint solve.\n * \n * @param[in] solver A valid solver\n * @param[out] lower Pointer to a buffer of 3 floats to receive the lower bounds\n * @param[out] upper Pointer to a buffer of 3 floats to receive the upper bounds\n */\nNV_FLEX_API void NvFlexGetBounds(NvFlexSolver* solver, NvFlexBuffer* lower, NvFlexBuffer* upper);\n\n/**\n *\n * @param[in] solver A valid solver\n * @param[out] begin Optional pointer to a 64 bit unsigned to receive the value of the GPU clock when Flex update began (in cycles)\n * @param[out] end Optional pointer to a 64 bit unsigned to receive the value of the GPU clock when Flex update ended (in cycles)\n * @param[out] frequency Optional pointer to a 64 bit unsigned to receive the frequency of the clock used to measure begin and end\n * @return The time in seconds between the first and last GPU operations executed by the last NvFlexUpdateSolver.\n *\n * @note This method causes the CPU to wait until the GPU has finished any outstanding work. \n *\t\t To avoid blocking the calling thread it should be called after work has completed, e.g.: directly after a NvFlexMap().\n */\nNV_FLEX_API float NvFlexGetDeviceLatency(NvFlexSolver* solver, unsigned long long* begin, unsigned long long* end, unsigned long long* frequency);\n\n/**\n * Fetch high-level GPU timers.\n *\n * @param[in] solver The solver instance to use\n * @param[out] timers A struct containing the GPU latency of each stage in the physics pipeline.\n *\n * @note This method causes the CPU to wait until the GPU has finished any outstanding work.\n *\t\t To avoid blocking the calling thread it should be called after work has completed, e.g.: directly after a NvFlexMap().\n *       To capture there timers you must pass true for enableTimers in NvFlexUpdateSolver()\n */\nNV_FLEX_API void NvFlexGetTimers(NvFlexSolver* solver, NvFlexTimers* timers);\n\n/**\n* Holds the execution time for a specfic shader\n*/\nstruct NvFlexDetailTimer\n{ \n\tchar* name; \n\tfloat time;\n};\n\n/**\n* Fetch per-shader GPU timers.\n*\n* @param[in] solver The solver instance to use\n* @param[out] timers An array of NvFlexDetailTimer structures, each representing a unique shader.\n* @return The number of detail timers in the timers array\n*\n* @note This method causes the CPU to wait until the GPU has finished any outstanding work.\n*\t\tTo avoid blocking the calling thread it should be called after work has completed, e.g.: directly after a NvFlexMap().\n*       To capture there timers you must pass true for enableTimers in NvFlexUpdateSolver()\n*\t\tTimers are valid until the next call to NvFlexGetDetailTimers\n*/\nNV_FLEX_API int NvFlexGetDetailTimers(NvFlexSolver* solver, NvFlexDetailTimer** timers);\n\n/**\n * Allocate a Flex buffer. Buffers are used to pass data to the API in an efficient manner.\n *\n * @param[in] lib The library instance to use\n * @param[in] elementCount The number of elements in the buffer\n * @param[in] elementByteStride The size of each element in bytes\n * @param[in] type The type of buffer to allocate, can be either host memory or device memory\n * @return A pointer to a NvFlexBuffer\n */\nNV_FLEX_API NvFlexBuffer* NvFlexAllocBuffer(NvFlexLibrary* lib, int elementCount, int elementByteStride, NvFlexBufferType type);\n\n/**\n * Free a Flex buffer\n *\n * @param[in] buf A buffer to free, must be allocated with NvFlexAllocBuffer()\n */\nNV_FLEX_API void NvFlexFreeBuffer(NvFlexBuffer* buf);\n\n/**\n * Maps a buffer for reading and writing. When the buffer is created with NvFlexBufferType::eHost, then the returned pointer will be a host memory address\n * that can be read/written.\n * Mapping a buffer implicitly synchronizes with the GPU to ensure that any reads or writes from the buffer (e.g.: from the NvFlexGet*() or NvFlexSet*() methods) have completed.\n *\n * @param[in] buffer A buffer allocated with NvFlexAllocBuffer()\n * @param[in] flags Hints to Flex how the buffer is to be accessed, typically this should be eNvFlexMapWait (0)\n * @return A pointer to the mapped memory\n */\nNV_FLEX_API void* NvFlexMap(NvFlexBuffer* buffer, int flags);\n\n/**\n * Unmaps a buffer that was mapped through NvFlexMap(), note that buffers must be unmapped before they can be passed to a NvFlexGet*() or NvFlexSet*() method\n *\n * @param[in] buffer A valid buffer allocated through NvFlexAllocBuffer()\n */\nNV_FLEX_API void NvFlexUnmap(NvFlexBuffer* buffer);\n\n/**\n * Registers an OpenGL buffer to Flex which can be used to copy directly into a graphics resource. Example usage is below\n *\n \\code{.c}\n\n\tGLuint vbo;\n\tglGenBuffers(1, &vbo);\n\tglBindBuffer(GL_ARRAY_BUFFER, vbo);\n\tglBufferData(GL_ARRAY_BUFFER, size, NULL, GL_DYNAMIC_DRAW)\n\n\tNvFlexBuffer* vboBuffer = NvFlexRegisterOGLBuffer(lib, vbo, n, sizeof(float)*4);\n\n\t// simulate \n\t...\n\n\t// copy directly from Flex into render buffer\n\tNvFlexGetParticles(vboBuffer, n);\n\n\t// render\n\t...\n\n \\endcode\n *\n * @param[in] lib The library instance to use\n * @param[in] buf An OpenGL buffer identifier\n * @param[in] elementCount The number of elements in the buffer\n * @param[in] elementByteStride the size of each element in bytes\n * @return A valid NvFlexBuffer pointer that may be used with NvFlexGet*() methods to populate the render buffer using direct GPU-GPU copies\n */\nNV_FLEX_API NvFlexBuffer* NvFlexRegisterOGLBuffer(NvFlexLibrary* lib, int buf, int elementCount, int elementByteStride);\n\n/**\n * Unregister a NvFlexBuffer allocated through NvFlexRegisterOGLBuffer()\n *\n * @param[in] buf A valid buffer\n */\nNV_FLEX_API void NvFlexUnregisterOGLBuffer(NvFlexBuffer* buf);\n\n/**\n* Registers a Direct3D buffer to Flex which can be used to copy directly into a graphics resource\n*\n* @param[in] lib The library instance to use\n* @param[in] buffer A pointer to either an ID3D11Buffer or ID3D12Resource object\n* @param[in] elementCount The number of elements in the buffer\n* @param[in] elementByteStride the size of each element in bytes\n* @return A valid NvFlexBuffer pointer that may be used with NvFlexGet*() methods to populate the render buffer using direct GPU-GPU copies\n*/\nNV_FLEX_API NvFlexBuffer* NvFlexRegisterD3DBuffer(NvFlexLibrary* lib, void* buffer, int elementCount, int elementByteStride);\n\n/**\n* Unregister a NvFlexBuffer allocated through NvFlexRegistereD3DBuffer()\n*\n* @param[in] buf A valid buffer\n*/\nNV_FLEX_API void NvFlexUnregisterD3DBuffer(NvFlexBuffer* buf);\n\n/** \n * Ensures that the CUDA context the library was initialized with is present on the current thread\n *\n * @param[in] lib The library instance to use\n */\nNV_FLEX_API void NvFlexAcquireContext(NvFlexLibrary* lib);\n\n/** \n * Restores the CUDA context (if any) that was present on the last call to NvFlexAcquireContext()\n * Note: the acquire/restore pair of calls must come from the same thread\n */\nNV_FLEX_API void NvFlexRestoreContext(NvFlexLibrary* lib);\n\n/** \n * Returns a null-terminated string with the compute device name\n *\n * @param[in] lib The library instance to use\n */\nNV_FLEX_API const char* NvFlexGetDeviceName(NvFlexLibrary* lib);\n\n/** \n * Retrieve the device and context for the the library.\n * On CUDA the context pointer will be filled with a pointer to a CUcontext structure\n * On D3D the device and context pointers will be filled with pointers to a NvFlex::Device, and NvFlex::Context wrapper\n *\n * @param[in] lib Pointer to a valid library returned from NvFlexInit()\n * @param[out] device Pointer to a device pointer, see description\n * @param[out] context Pointer to a context pointer, see description\n */\nNV_FLEX_API void NvFlexGetDeviceAndContext(NvFlexLibrary* lib, void** device, void** context);\n \n\n/**\n * Force a pipeline flush to ensure any queued work is submitted to the GPU\n *\n * @param[in] lib The library instance to use\n */\nNV_FLEX_API void NvFlexFlush(NvFlexLibrary* lib);\n\nNV_FLEX_API void NvFlexWait(NvFlexLibrary* lib);\n\n//! \\cond HIDDEN_SYMBOLS\n\n/**\n * Debug methods (unsupported)\n */\n\nNV_FLEX_API void NvFlexSetDebug(NvFlexSolver* solver, bool enable);\nNV_FLEX_API void NvFlexGetShapeBVH(NvFlexSolver* solver, void* bvh);\nNV_FLEX_API void NvFlexCopySolver(NvFlexSolver* dst, NvFlexSolver* src);\nNV_FLEX_API void NvFlexCopyDeviceToHost(NvFlexSolver* solver, NvFlexBuffer* pDevice, void* pHost, int size, int stride);\nNV_FLEX_API void NvFlexComputeWaitForGraphics(NvFlexLibrary* lib);\nNV_FLEX_API void NvFlexGetDataAftermath(NvFlexLibrary* lib, void* pDataOut, void* pStatusOut);\n\n//! \\endcond\n\n} // extern \"C\"\n\n#endif // NV_FLEX_H\n"
  },
  {
    "path": "include/NvFlexDevice.h",
    "content": "// This code contains NVIDIA Confidential Information and is disclosed to you\n// under a form of NVIDIA software license agreement provided separately to you.\n//\n// Notice\n// NVIDIA Corporation and its licensors retain all intellectual property and\n// proprietary rights in and to this software and related documentation and\n// any modifications thereto. Any use, reproduction, disclosure, or\n// distribution of this software and related documentation without an express\n// license agreement from NVIDIA Corporation is strictly prohibited.\n//\n// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED \"AS IS.\". NVIDIA MAKES\n// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO\n// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,\n// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.\n//\n// Information and code furnished is believed to be accurate and reliable.\n// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such\n// information or for any infringement of patents or other rights of third parties that may\n// result from its use. No license is granted by implication or otherwise under any patent\n// or patent rights of NVIDIA Corporation. Details are subject to change without notice.\n// This code supersedes and replaces all information previously supplied.\n// NVIDIA Corporation products are not authorized for use as critical\n// components in life support devices or systems without express written approval of\n// NVIDIA Corporation.\n//\n// Copyright (c) 2013-2020 NVIDIA Corporation. All rights reserved.\n\n#ifndef NV_FLEX_DEVICE_H\n#define NV_FLEX_DEVICE_H\n\n//! \\cond HIDDEN_SYMBOLS\n#ifndef NV_FLEX_API\n#if _WIN32\n#define NV_FLEX_API __declspec(dllexport)\n#else\n#define NV_FLEX_API\n#endif\n#endif\n//! \\endcond\n\n/** \\file \n * NvFlexDevice is an optional helper library that performs some\n * initialization tasks related to GPU device management.\n * The library can be used to query the NVIDIA PhysX control panel for\n * the selected \"PhysX\" GPU, and to create an optimized CUDA context.\n * Currently the library is a closed source component but is purely optional.\n * See the FlexDemo for an example of how to use the device API.\n */\n\n/**\n * Returns the CUDA ordinal of the GPU selected as \"PhysX\" in the NVIDIA control panel.\n * Returns -1 if there is no NVIDIA CUDA device available.\n *\n * @note The returned ordinal is a CUDA ordinal and does not correspond to the DXGI\n * ordinal. D3D users should use their own device selection method and pass the appropriate\n * DXGI device index or custom D3D devices to NvFlexInit().\n */\nNV_FLEX_API int NvFlexDeviceGetSuggestedOrdinal();\n\n/**\n * Creates a CUDA context optimized for Flex, returns true on success and sets the context \n * as current on the calling thread. If using this method to initialize CUDA then you should \n * ensure that no prior CUDA calls are made prior to avoid creating multiple contexts.\n *\n * @param[in] ordinal The CUDA ordinal of the GPU to create the context on, this can be the suggested ordinal (see flexDeviceGetSuggestedOrdinal()), or a manually selected ordinal.\n */\nNV_FLEX_API bool NvFlexDeviceCreateCudaContext(int ordinal);\n\n/**\n * Destroy the context associated with the current thread, can be used to destroy the CUDA context created by flexDeviceCreateCudaContext().\n */\nNV_FLEX_API void NvFlexDeviceDestroyCudaContext();\n\n\n#endif // NV_FLEX_DEVICE_H"
  },
  {
    "path": "include/NvFlexExt.h",
    "content": "// This code contains NVIDIA Confidential Information and is disclosed to you\n// under a form of NVIDIA software license agreement provided separately to you.\n//\n// Notice\n// NVIDIA Corporation and its licensors retain all intellectual property and\n// proprietary rights in and to this software and related documentation and\n// any modifications thereto. Any use, reproduction, disclosure, or\n// distribution of this software and related documentation without an express\n// license agreement from NVIDIA Corporation is strictly prohibited.\n//\n// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED \"AS IS.\". NVIDIA MAKES\n// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO\n// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,\n// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.\n//\n// Information and code furnished is believed to be accurate and reliable.\n// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such\n// information or for any infringement of patents or other rights of third parties that may\n// result from its use. No license is granted by implication or otherwise under any patent\n// or patent rights of NVIDIA Corporation. Details are subject to change without notice.\n// This code supersedes and replaces all information previously supplied.\n// NVIDIA Corporation products are not authorized for use as critical\n// components in life support devices or systems without express written approval of\n// NVIDIA Corporation.\n//\n// Copyright (c) 2013-2020 NVIDIA Corporation. All rights reserved.\n\n#ifndef NV_FLEX_EXT_H\n#define NV_FLEX_EXT_H\n\n/** \\file NvFlexExt.h \n * The main include file for the Flex extensions API, this is a collection of helper functions\n * for asset creation, scene management, and sample code that builds on the Flex core API.\n */\n\n#include \"NvFlex.h\"\n\n#include <cassert>\n#include <cstddef>\n\n// A vector type that wraps a NvFlexBuffer, behaves like a standard vector for POD types (no construction)\n// The vector must be mapped using map() before any read/write access to elements or resize operation\n\ntemplate <typename T>\nstruct NvFlexVector\n{\n\tNvFlexVector(NvFlexLibrary* l, int size = 0, NvFlexBufferType type = eNvFlexBufferHost) : lib(l), buffer(NULL), mappedPtr(NULL), count(0), capacity(0), type(type)\n\t{\n\t\tif (size)\n\t\t{\n\t\t\tresize(size);\n\n\t\t\t// resize implicitly maps, unmap initial allocation\n\t\t\tunmap();\n\t\t}\t\t\n\t}\n\t\n\tNvFlexVector(NvFlexLibrary* l, const T* ptr, int size, NvFlexBufferType type = eNvFlexBufferHost) : lib(l), buffer(NULL), mappedPtr(NULL), count(0), capacity(0), type(type)\n\t{\n\t\tassign(ptr, size);\n\t\tunmap();\n\t}\n\t\n\n\t~NvFlexVector()\t\n\t{\n\t\tdestroy();\n\t}\n\n\tNvFlexLibrary* lib;\n\tNvFlexBuffer* buffer;\n\n\tT* mappedPtr;\n\tint count;\n\tint capacity;\n\tNvFlexBufferType type;\n\n\t// reinitialize the vector leaving it unmapped\n\tvoid init(int size)\n\t{\n\t\tdestroy();\n\t\tresize(size);\n\t\tunmap();\n\t}\n\n\tvoid destroy()\n\t{\t\n\t\tif (mappedPtr)\n\t\t\tNvFlexUnmap(buffer);\n\n\t\tif (buffer)\n\t\t\tNvFlexFreeBuffer(buffer);\n\n\t\tmappedPtr = NULL;\n\t\tbuffer = NULL;\n\t\tcapacity = 0;\t\t\n\t\tcount = 0;\n\t}\n\n\tvoid map(int flags=eNvFlexMapWait)\n\t{\n\t\tif (!buffer)\n\t\t\treturn;\n\n\t\tassert(!mappedPtr);\n\t\tmappedPtr = (T*)NvFlexMap(buffer, flags);\n\t}\n\t\n\tvoid unmap()\n\t{\n\t\tif (!buffer)\n\t\t\treturn;\n\n\t\tassert(mappedPtr);\n\n\t\tNvFlexUnmap(buffer);\n\t\tmappedPtr = 0;\n\t}\n\n\tconst T& operator[](int index) const\n\t{\t\n\t\tassert(mappedPtr);\n\t\tassert(index < count);\n\n\t\treturn mappedPtr[index];\n\t}\n\n\tT& operator[](int index)\n\t{\n\t\tassert(mappedPtr);\n\t\tassert(index < count);\n\n\t\treturn mappedPtr[index];\n\t}\n\n\tvoid push_back(const T& t)\n\t{\n\t\tassert(mappedPtr || !buffer);\n\n\t\treserve(count+1);\n\n\t\t// copy element\n\t\tmappedPtr[count++] = t;\t\t\n\t}\n\n\tvoid assign(const T* srcPtr, int newCount)\n\t{\n\t\tassert(mappedPtr || !buffer);\n\n\t\tresize(newCount);\n\n\t\tmemcpy(mappedPtr, srcPtr, newCount*sizeof(T));\n\t}\n\n\tvoid copyto(T* dest, int count)\t\n\t{\n\t\tassert(mappedPtr);\n\n\t\tmemcpy(dest, mappedPtr, sizeof(T)*count);\n\t}\n\n\tint size() const { return count; }\n\n\tbool empty() const { return size() == 0; }\n\n\tconst T& back() const\n\t{\n\t\tassert(mappedPtr);\n\t\tassert(!empty());\n\n\t\treturn mappedPtr[count-1];\n\t}\n\n\tvoid reserve(int minCapacity)\n\t{\n\t\tif (minCapacity > capacity)\n\t\t{\n\t\t\t// growth factor of 1.5\n\t\t\tconst int newCapacity = minCapacity*3/2;\n\n\t\t\tNvFlexBuffer* newBuf = NvFlexAllocBuffer(lib, newCapacity, sizeof(T), type);\n\n\t\t\t// copy contents to new buffer\t\t\t\n\t\t\tvoid* newPtr = NvFlexMap(newBuf, eNvFlexMapWait);\n\t\t\tmemcpy(newPtr, mappedPtr, count*sizeof(T));\n\n\t\t\t// unmap old buffer, but leave new buffer mapped\n\t\t\tunmap();\n\t\t\t\n\t\t\tif (buffer)\n\t\t\t\tNvFlexFreeBuffer(buffer);\n\n\t\t\t// swap\n\t\t\tbuffer = newBuf;\n\t\t\tmappedPtr = (T*)newPtr;\n\t\t\tcapacity = newCapacity;\t\t\t\n\t\t}\n\t}\n\n\t// resizes mapped buffer and leaves new buffer mapped \n\tvoid resize(int newCount)\n\t{\n\t\tassert(mappedPtr || !buffer);\n\n\t\treserve(newCount);\t\n\n\t\t// resize but do not initialize new entries\n\t\tcount = newCount;\n\t}\n\n\tvoid resize(int newCount, const T& val)\n\t{\n\t\tassert(mappedPtr || !buffer);\n\n\t\tconst int startInit = count;\n\t\tconst int endInit = newCount;\n\n\t\tresize(newCount);\n\n\t\t// init any new entries\n\t\tfor (int i=startInit; i < endInit; ++i)\n\t\t\tmappedPtr[i] = val;\n\t}\n};\n\nextern \"C\" {\n\n/**\n * Helper struct for storing the state of a moving frame, see NvFlexExtMovingFrameInit()\n */\nstruct NvFlexExtMovingFrame\n{\n\tfloat position[3];\n\tfloat rotation[4];\n\n\tfloat velocity[3];\n\tfloat omega[3];\n\n\tfloat acceleration[3];\n\tfloat tau[3];\n\n\tfloat delta[4][4];\n};\n\n/**\n * Creates a new moving frame struct. This helper method is used to calculate inertial forces for particles\n * inside an attached parent frame. For example, when simulating cloth attached to the character, we would like to perform\n * a local space simulation of the cloth to avoid excessive stretching and collision issues during fast animations.\n * However, we would still like the cloth to respond to character movements in at least a limited, or controlled fashion.\n * The NvFlexExtMovingFrame provides a way to include or remove these inertial forces. The basic usage is as follows:\n *  \n \\code{.c}\n\n\tNvFlexExtMovingFrame frame;\n\tNvFlexExtMovingFrameInit(&frame, initialTranslation, initialRotation);\n\n\tconst linearInertiaScale = 0.25f;\n\tconst angularInertiaScale 0.5;\n\n\twhile(simulating)\n\t{\n\t\tfloat3 newPosition;\n\t\tfloat4 newRotation;\n\t\t\n\t\t// move parent frame (character / emitter) according to application's animation system\n\t\tAnimate(newPosition, newRotation);\n\t\t\n\t\t// update the frame\n\t\tNvFlexExtMovingFrameUpdate(frame, newPosition, newRotation, dt);\n\n\t\t// apply inertial forces and update particles\n\t\tNvFlexExtMovingFrameApply(frame, particlePositions, particleVelocities, numParticles, linearInertiaScale, angularInertiaScale, dt);\n\t}\n\n \\endcode\n \n * @param[in] frame A pointer to a user-allocated NvFlexExtMovingFrame struct\n * @param[in] worldTranslation A pointer to a vec3 storing the frame's initial translation in world space\n * @param[in] worldRotation A pointer to a quaternion storing the frame's initial rotation in world space\n */\nNV_FLEX_API void NvFlexExtMovingFrameInit(NvFlexExtMovingFrame* frame, const float* worldTranslation, const float* worldRotation);\n\n/* Update a frame to a new position, this will automatically update the velocity and acceleration of\n * the frame, which can then be used to calculate inertial forces. This should be called once per-frame\n * with the new position and time-step used when moving the frame.\n *\n * @param[in] frame A pointer to a user-allocated NvFlexExtMovingFrame struct\n * @param[in] worldTranslation A pointer to a vec3 storing the frame's initial translation in world space\n * @param[in] worldRotation A pointer to a quaternion storing the frame's initial rotation in world space\n * @param[in] dt The time that elapsed since the last call to the frame update\n */\nNV_FLEX_API void NvFlexExtMovingFrameUpdate(NvFlexExtMovingFrame* frame, const float* worldTranslation, const float* worldRotation, float dt);\n\n/* Teleport particles to the frame's new position and apply the inertial forces\n *\n * @param[in] frame A pointer to a user-allocated NvFlexExtMovingFrame struct\n * @param[in] positions A pointer to an array of particle positions in (x, y, z, 1/m) format\n * @param[in] velocities A pointer to an array of particle velocities in (vx, vy, vz) format\n * @param[in] numParticles The number of particles to update\n * @param[in] linearScale How strongly the translational inertial forces should be applied, 0.0 corresponds to a purely local space simulation removing all inertial forces, 1.0 corresponds to no inertial damping and has no benefit over regular world space simulation\n * @param[in] angularScale How strongly the angular inertial forces should be applied, 0.0 corresponds to a purely local space simulation, 1.0 corresponds to no inertial damping\n * @param[in] dt The time that elapsed since the last call to the frame update, should match the value passed to NvFlexExtMovingFrameUpdate()\n */\nNV_FLEX_API void NvFlexExtMovingFrameApply(NvFlexExtMovingFrame* frame, float* positions, float* velocities, int numParticles, float linearScale, float angularScale, float dt);\n\n\n/** \n * Represents a group of particles and constraints, each asset \n * can be instanced into a container using NvFlexExtCreateInstance()\n */\nstruct NvFlexExtAsset\n{\t\n\t// particles\n\tfloat* particles;\t\t\t\t//!< Local space particle positions, x,y,z,1/mass\n\tint numParticles;\t\t\t\t//!< Number of particles\n\tint maxParticles;\t\t\t\t//!< Maximum number of particles, allows extra space for tearable assets which duplicate particles\n\n\t// springs\n\tint* springIndices;\t\t\t\t//!< Spring indices\n\tfloat* springCoefficients;\t\t//!< Spring coefficients\n\tfloat* springRestLengths;\t\t//!< Spring rest-lengths\n\tint numSprings;\t\t\t\t\t//!< Number of springs\n\n\t// shapes\n\tint* shapeIndices;\t\t\t\t//!< The indices of the shape matching constraints\n\tint numShapeIndices;\t\t\t//!< Total number of indices for shape constraints\t\n\tint* shapeOffsets;\t\t\t\t//!< Each entry stores the end of the shape's indices in the indices array (exclusive prefix sum of shape lengths)\n\tfloat* shapeCoefficients;\t\t//!< The stiffness coefficient for each shape\n\tfloat* shapeCenters;\t\t\t//!< The position of the center of mass of each shape, an array of vec3s mNumShapes in length\n\tint numShapes;\t\t\t\t\t//!< The number of shape matching constraints\n\n\t// plastic deformation\n\tfloat* shapePlasticThresholds;\t//!< The plastic threshold coefficient for each shape\n\tfloat* shapePlasticCreeps;\t\t//!< The plastic creep coefficient for each shape\n\n\t// faces for cloth\n\tint* triangleIndices;\t\t\t//!< Indexed triangle mesh indices for clothing\n\tint numTriangles;\t\t\t\t//!< Number of triangles\n\n\t// inflatable params\n\tbool inflatable;\t\t\t\t//!< Whether an inflatable constraint should be added\n\tfloat inflatableVolume;\t\t\t//!< The rest volume for the inflatable constraint\n\tfloat inflatablePressure;\t\t//!< How much over the rest volume the inflatable should attempt to maintain\n\tfloat inflatableStiffness;\t\t//!< How stiff the inflatable is\n};\n\n/** \n * Represents an instance of a FlexAsset in a container\n */\nstruct NvFlexExtInstance\n{\n\tint* particleIndices;\t\t\t//!< Simulation particle indices\n\tint numParticles;\t\t\t\t//!< Number of simulation particles\n\t\n\tint triangleIndex;\t\t\t\t//!< Index in the container's triangle array\n\tint shapeIndex;\t\t\t\t\t//!< Index in the container's shape body constraints array\t\n\tint inflatableIndex;\t\t\t//!< Index in the container's inflatables array\n\n\tfloat* shapeTranslations;\t\t//!< Shape matching group translations (vec3s)\n\tfloat* shapeRotations;\t\t\t//!< Shape matching group rotations (quaternions)\n\n\tconst NvFlexExtAsset* asset;\t//!< Source asset used to create this instance\n\t\n\tvoid* userData;\t\t\t\t\t//!< User data pointer\n};\n\n/**\n* Represents a soft joint with a radius overlapping different flex objects\n* Each soft joint can be spawned into a container using NvFlexExtCreateSoftJoint()\n*/\nstruct NvFlexExtSoftJoint\n{\n\tint* particleIndices;\t\t\t//!< Global indices\n\tfloat* particleLocalPositions;  //!< Relative offsets from the particles of the joint to the center\n\tint shapeIndex;\t\t\t\t\t//!< Index in the container's shape body constraints array\t\n\tint numParticles;\t\t\t\t//!< Number of particles in the joint\n\n\tfloat shapeTranslations[3];\t\t//!< Joint shape matching group translations (vec3s)\n\tfloat shapeRotations[4];\t\t//!< Joint shape matching group rotations (quaternions)\n\n\tfloat stiffness;\t\t\t\t//!< Joint stiffness\n\n\tbool initialized;\t\t\t\t//!< Joint status flag\n};\n\n/** \n * Opaque type representing a simulation\n */\ntypedef struct NvFlexExtContainer NvFlexExtContainer;\n\n/**\n * Create an index buffer of unique vertices in the mesh (collapses vertices in the same position even if they have different normals / texcoords).\n * This can be used to create simulation meshes from render meshes, and is typically done as a pre-pass before calling NvFlexExtCreateClothFromMesh().\n *\n * @param[in] vertices A pointer to an array of float3 positions\n * @param[in] numVertices The number of vertices in the mesh\n * @param[out] uniqueVerts A list of unique mesh vertex indices, should be numVertices in length (worst case all verts are unique)\n * @param[out] originalToUniqueMap Mapping from the original vertex index to the unique vertex index, should be numVertices in length\n * @param[in] threshold The distance below which two vertices are considered duplicates\n * @return The number of unique vertices in the mesh\n */\nNV_FLEX_API int NvFlexExtCreateWeldedMeshIndices(const float* vertices, int numVertices, int* uniqueVerts, int* originalToUniqueMap, float threshold);\n\n/**\n * Create a cloth asset consisting of stretch and bend distance constraints given an indexed triangle mesh. Stretch constraints will be placed along\n * triangle edges, while bending constraints are placed over two edges.\n *\n * @param[in] particles Positions and masses of the particles in the format [x, y, z, 1/m]\n * @param[in] numParticles The number of particles\n * @param[in] indices The triangle indices, these should be 'welded' using NvFlexExtCreateWeldedMeshIndices() first\n * @param[in] numTriangles The number of triangles\n * @param[in] stretchStiffness The stiffness coefficient for stretch constraints\n * @param[in] bendStiffness The stiffness coefficient used for bending constraints\n * @param[in] tetherStiffness If > 0.0f then the function will create tethers attached to particles with zero inverse mass. These are unilateral, long-range attachments, which can greatly reduce stretching even at low iteration counts.\n * @param[in] tetherGive Because tether constraints are so effective at reducing stiffness, it can be useful to allow a small amount of extension before the constraint activates.\n * @param[in] pressure If > 0.0f then a volume (pressure) constraint will also be added to the asset, the rest volume and stiffness will be automatically computed by this function\n * @return A pointer to an asset structure holding the particles and constraints\n */\nNV_FLEX_API NvFlexExtAsset* NvFlexExtCreateClothFromMesh(const float* particles, int numParticles, const int* indices, int numTriangles, float stretchStiffness, float bendStiffness, float tetherStiffness, float tetherGive, float pressure);\n\n/**\n * Create a cloth asset consisting of stretch and bend distance constraints given an indexed triangle mesh. This creates an asset with the same\n * structure as NvFlexExtCreateClothFromMesh(), however tether constraints are not supported, and additional information regarding mesh topology\n * will be stored with the asset to allow tearing.\n *\n * @note: Typically each instance of a tearable cloth mesh will have it's own asset. This is because the asset holds the topology of the mesh which is\n * unique for each instance.\n *\n * @param[in] particles Positions and masses of the particles in the format [x, y, z, 1/m]\n * @param[in] numParticles The number of particles\n * @param[in] maxParticles The maximum number of particles for this asset, this will limit the amount of tearing that can be performed.\n * @param[in] indices The triangle indices, these should be 'welded' using NvFlexExtCreateWeldedMeshIndices() first\n * @param[in] numTriangles The number of triangles\n * @param[in] stretchStiffness The stiffness coefficient for stretch constraints\n * @param[in] bendStiffness The stiffness coefficient used for bending constraints\n * @param[in] pressure If > 0.0f then a volume (pressure) constraint will also be added to the asset, the rest volume and stiffness will be automatically computed by this function\n * @return A pointer to an asset structure holding the particles and constraints\n */\nNV_FLEX_API NvFlexExtAsset* NvFlexExtCreateTearingClothFromMesh(const float* particles, int numParticles, int maxParticles, const int* indices, int numTriangles, float stretchStiffness, float bendStiffness, float pressure);\n\n/**\n * Destroy an asset created with NvFlexExtCreateTearingClothFromMesh()\n * @param[in] asset The asset to be destroyed.\n */\nNV_FLEX_API void NvFlexExtDestroyTearingCloth(NvFlexExtAsset* asset);\n\n/**\n * Particles and vertices may need to be copied during tearing. Because the user may maintain particle data \n * outside of Flex, this structure describes how to update the particle data. The application should copy each \n * existing particle given by srcIndex (in the asset's particle array) to the destIndex (also in the asset's array).\n */\nstruct NvFlexExtTearingParticleClone\n{\n\tint srcIndex;\t\n\tint destIndex;\n};\n\n/**\n * The mesh topology may need to be updated to reference new particles during tearing. Because the user may maintain\n * mesh topology outside of Flex, this structure describes the necessary updates that should be performed on the mesh.\n * The triIndex member is the index of the index to be updated, e.g.:\n * a triIndex value of 4 refers to the index 1 vertex (4%3) of the index 1 triangle (4/3). This entry in the indices\n * array should be updated to point to the newParticleIndex.\n */\nstruct NvFlexExtTearingMeshEdit\n{\n\tint triIndex;\t\t\t// index into the triangle indices array to update\n\tint newParticleIndex;\t// new value for the index\n};\n\n/**\n * Perform cloth mesh tearing, this function will calculate the strain on each distance constraint and perform splits if it is\n * above a certain strain threshold (i.e.: length/restLength > maxStrain).\n *\n * @param[in] asset The asset describing the cloth constraint network, this must be created with NvFlexExtCreateTearingClothFromMesh()\n * @param[in] maxStrain The maximum allowable strain on each edge\n * @param[in] maxSplits The maximum number of constraint breaks that will be performed, this controls the 'rate' of mesh tearing\n * @param[in] particleCopies Pointer to an array of NvFlexExtTearingParticleClone structures that describe the particle copies that need to be performed\n * @param[in] numParticleCopies Pointer to an integer that will have the number of copies performed written to it\n * @param[in] maxCopies The maximum number of particle copies that will be performed, multiple particles copies may be performed in response to one split\n * @param[in] triangleEdits Pointer to an array of NvFlexExtTearingMeshEdit structures that describe the topology updates that need to be performed\n * @param[in] numTriangleEdits Pointer to an integer that will have the number of topology updates written to it\n * @param[in] maxEdits The maximum number of index buffer edits that will be output\n */\nNV_FLEX_API void NvFlexExtTearClothMesh(NvFlexExtAsset* asset, float maxStrain,  int maxSplits, NvFlexExtTearingParticleClone* particleCopies, int* numParticleCopies, int maxCopies, NvFlexExtTearingMeshEdit* triangleEdits, int* numTriangleEdits, int maxEdits);\n\n/**\n * Create a shape body asset from a closed triangle mesh. The mesh is first voxelized at a spacing specified by the radius, and particles are placed at occupied voxels.\n *\n * @param[in] vertices Vertices of the triangle mesh\n * @param[in] numVertices The number of vertices\n * @param[in] indices The triangle indices\n * @param[in] numTriangleIndices The number of triangles indices (triangles*3)\n * @param[in] radius The spacing used for voxelization, note that the number of voxels grows proportional to the inverse cube of radius, currently this method limits construction to resolutions < 64^3\n * @param[in] expand Particles will be moved inwards (if negative) or outwards (if positive) from the surface of the mesh according to this factor\n * @return A pointer to an asset structure holding the particles and constraints\n */\nNV_FLEX_API NvFlexExtAsset* NvFlexExtCreateRigidFromMesh(const float* vertices, int numVertices, const int* indices, int numTriangleIndices, float radius, float expand);\n\n/**\n* Create a shape body asset from a closed triangle mesh. The mesh is first voxelized at a spacing specified by the radius, and particles are placed at occupied voxels.\n*\n* @param[in] vertices Vertices of the triangle mesh\n* @param[in] numVertices The number of vertices\n* @param[in] indices The triangle indices\n* @param[in] numTriangleIndices The number of triangles indices (triangles*3)\n* @param[in] particleSpacing The spacing to use when creating particles\n* @param[in] volumeSampling Control the resolution the mesh is voxelized at in order to generate interior sampling, if the mesh is not closed then this should be set to zero and surface sampling should be used instead\n* @param[in] surfaceSampling Controls how many samples are taken of the mesh surface, this is useful to ensure fine features of the mesh are represented by particles, or if the mesh is not closed \n* @param[in] clusterSpacing The spacing for shape-matching clusters, should be at least the particle spacing\n* @param[in] clusterRadius Controls the overall size of the clusters, this controls how much overlap  the clusters have which affects how smooth the final deformation is, if parts of the body are detaching then it means the clusters are not overlapping sufficiently to form a fully connected set of clusters\n* @param[in] clusterStiffness Controls the stiffness of the resulting clusters\n* @param[in] linkRadius Any particles below this distance will have additional distance constraints created between them\n* @param[in] linkStiffness The stiffness of distance links\n* @param[in] globalStiffness If this parameter is > 0.0f, adds an additional global cluster that consists of all particles in the shape. The stiffness of this cluster is the globalStiffness.\n* @param[in] clusterPlasticThreshold Particles belonging to rigid shapes that move with a position delta magnitude > threshold will be permanently deformed in the rest pose, if clusterPlasticCreep > 0.0f\n* @param[in] clusterPlasticCreep Controls the rate at which particles in the rest pose are deformed for particles passing the deformation threshold\n* @return A pointer to an asset structure holding the particles and constraints\n*/\nNV_FLEX_API NvFlexExtAsset* NvFlexExtCreateSoftFromMesh(const float* vertices, int numVertices, const int* indices, int numTriangleIndices, float particleSpacing, float volumeSampling, float surfaceSampling, float clusterSpacing, float clusterRadius, float clusterStiffness, float linkRadius, float linkStiffness, float globalStiffness, float clusterPlasticThreshold, float clusterPlasticCreep);\n\n/**\n * Frees all memory associated with an asset created by one of the creation methods\n * param[in] asset The asset to destroy.\n */\nNV_FLEX_API void NvFlexExtDestroyAsset(NvFlexExtAsset* asset);\n\n/**\n* Creates information for linear blend skining a graphics mesh to a set of transforms (bones)\n*\n* @param[in] vertices Vertices of the triangle mesh\n* @param[in] numVertices The number of vertices\n* @param[in] bones Pointer to an array of vec3 positions representing the bone positions\n* @param[in] numBones Then number of bones\n* @param[in] falloff The speed at which the bone's influence on a vertex falls off with distance\n* @param[in] maxDistance The maximum distance a bone can be from a vertex before it will not influence it any more\n* @param[out] skinningWeights The normalized weights for each bone, there are up to 4 weights per-vertex so this should be numVertices*4 in length\n* @param[out] skinningIndices The indices of each bone corresponding to the skinning weight, will be -1 if this weight is not used\n*/\nNV_FLEX_API void NvFlexExtCreateSoftMeshSkinning(const float* vertices, int numVertices, const float* bones, int numBones, float falloff, float maxDistance, float* skinningWeights, int* skinningIndices);\n\n/**\n * Creates a wrapper object around a Flex solver that can hold assets / instances, the container manages sending and retrieving partical data from the solver\n *\n * @param[in] lib The library instance to use\n * @param[in] solver The solver to wrap\n * @param[in] maxParticles The maximum number of particles to manage\n * @return A pointer to the new container\n */\nNV_FLEX_API NvFlexExtContainer* NvFlexExtCreateContainer(NvFlexLibrary* lib, NvFlexSolver* solver, int maxParticles);\n\n/**\n * Frees all memory associated with a container\n *\n * @param[in] container The container to destroy\n */\nNV_FLEX_API void NvFlexExtDestroyContainer(NvFlexExtContainer* container);\n\n/**\n * Allocates particles in the container.\n *\n * @param[in] container The container to allocate out of\n * @param[in] n The number of particles to allocate\n * @param[out] indices An n-length array of ints that will store the indices to the allocated particles\n */\nNV_FLEX_API int  NvFlexExtAllocParticles(NvFlexExtContainer* container, int n, int* indices);\n\n/**\n * Free allocated particles\n *\n * @param[in] container The container to free from\n * @param[in] n The number of particles to free\n * @param[in] indices The indices of the particles to free\n */\nNV_FLEX_API void NvFlexExtFreeParticles(NvFlexExtContainer* container, int n, const int* indices);\n\n\n/**\n * Retrives the indices of all active particles\n *\n * @param[in] container The container to free from\n * @param[out] indices Returns the number of active particles\n * @return The number of active particles\n */\nNV_FLEX_API int NvFlexExtGetActiveList(NvFlexExtContainer* container, int* indices);\n\n\nstruct NvFlexExtParticleData\n{\n\tfloat* particles;\t\t//!< Receives a pointer to the particle position / mass data\t\t\t\t\t\t\t\t\n\tfloat* restParticles;\t//!< Receives a pointer to the particle's rest position (used for self collision culling)\n\tfloat* velocities;\t\t//!< Receives a pointer to the particle velocity data\n\tint* phases;\t\t\t//!< Receives a pointer to the particle phase data\n\tfloat* normals;\t\t\t//!< Receives a pointer to the particle normal data with 16 byte stride in format [nx, ny, nz, nw]\n\n\tconst float* lower;\t\t//!< Receive a pointer to the particle lower bounds [x, y, z]\n\tconst float* upper;\t\t//!< Receive a pointer to the particle upper bounds [x, y, z]\n};\n\n/** \n * Returns pointers to the internal data stored by the container. These are host-memory pointers, and will \n * remain valid NvFlexExtUnmapParticleData() is called.\n *\n  @param container The container whose data should be accessed\n */\nNV_FLEX_API NvFlexExtParticleData NvFlexExtMapParticleData(NvFlexExtContainer* container);\nNV_FLEX_API void NvFlexExtUnmapParticleData(NvFlexExtContainer* container);\n\nstruct NvFlexExtTriangleData\n{\n\tint* indices;\t\t//!< Receives a pointer to the array of triangle index data\n\tfloat* normals;\t\t//!< Receives a pointer to an array of triangle normal data stored with 16 byte stride, i.e.: [nx, ny, nz]\n};\n\n/** \n * Access triangle constraint data, see NvFlexExtGetParticleData() for notes on ownership.\n *\n * @param container The container to retrive from\n */\nNV_FLEX_API NvFlexExtTriangleData NvFlexExtMapTriangleData(NvFlexExtContainer* container);\n\n/** \n * Unmap triangle data, see NvFlexExtMapTriangleData()\n */\nNV_FLEX_API void NvFlexExtUnmapTriangleData(NvFlexExtContainer* container);\n\nstruct NvFlexExtShapeData\n{\n\tfloat* rotations;\t//!< Receives a pointer to the array quaternion rotation data in [x, y z, w] format\n\tfloat* positions;\t//!< Receives a pointer to an array of shape body translations in [x, y, z] format\n\tint n;\t\t\t\t//!< Number of valid tranforms\n};\n\n/** \n * Access shape body constraint data, see NvFlexExtGetParticleData() for notes on ownership.\n *\n * @param container The container to retrive from\n */\nNV_FLEX_API NvFlexExtShapeData NvFlexExtMapShapeData(NvFlexExtContainer* container);\n\n/** \n * Unmap shape transform data, see NvFlexExtMapShapeData()\n */\nNV_FLEX_API void NvFlexExtUnmapShapeData(NvFlexExtContainer* container);\n\n/**\n * Creates an instance of an asset, the container will internally store a reference to the asset so it should remain valid for the instance lifetime. This\n * method will allocate particles for the asset, assign their initial positions, velocity and phase.\n *\n * @param[in] container The container to spawn into\n * @param[in] particleData Pointer to a mapped particle data struct, returned from NvFlexExtMapParticleData()\n * @param[in] asset The asset to be spawned\n * @param[in] transform A pointer to a 4x4 column major, column vector transform that specifies the initial world space configuration of the particles\n * @param[in] vx The velocity of the particles along the x axis\n * @param[in] vy The velocity of the particles along the y axis\n * @param[in] vz The velocity of the particles along the z axis\n * @param[in] phase The phase used for the particles\n * @param[in] invMassScale A factor applied to the per particle inverse mass\n * @return A pointer to the instance of the asset\n */\nNV_FLEX_API NvFlexExtInstance* NvFlexExtCreateInstance(NvFlexExtContainer* container,  NvFlexExtParticleData* particleData, const NvFlexExtAsset* asset, const float* transform, float vx, float vy, float vz, int phase, float invMassScale);\n\n/** Destoy an instance of an asset\n *\n * @param[in] container The container the instance belongs to\n * @param[in] instance The instance to destroy\n */\nNV_FLEX_API void NvFlexExtDestroyInstance(NvFlexExtContainer* container, const NvFlexExtInstance* instance);\n\n/** Notifies the container that asset data has changed and needs to be sent to the GPU\n *  this should be called if the constraints for an existing asset are modified by the user\n *\n * @param[in] container The container the instance referencing the asset belongs to\n * @param[in] asset The asset which was modified (can be NULL)\n */\nNV_FLEX_API void NvFlexExtNotifyAssetChanged(NvFlexExtContainer* container, const NvFlexExtAsset* asset);\n\n/**\n * Updates the container, applies force fields, steps the solver forward in time, updates the host with the results synchronously.\n * This is a helper function which performs a synchronous update using the following flow.\n *\n    \\code{.c}\n\t\t// async update GPU data\n\t\tNvFlexExtPushToDevice(container);\n\n\t\t// update solver\n\t\tNvFlexUpdateSolver(container, dt, iterations);\n\n\t\t// async read data back to CPU\n\t\tNvFlexExtPullFromDevice(container);\n\n\t\t// read / write particle data on CPU\n\t\tNvFlexExtParticleData data = NvFlexExtMapParticleData();\n\n\t\t// CPU particle processing\n\t\tProcessParticles(data);\n\n\t\t// unmap data\n\t\tNvFlexExtUnmapParticleData();\n\n  \\endcode\n  @param[in] container The container to update\n  @param[in] dt The time-step in seconds\n  @param[in] numSubsteps The number of substeps to perform\n  @param[in] enableTimers Whether to record detailed timers, see NvFlexUpdateSolver()\n */\nNV_FLEX_API void NvFlexExtTickContainer(NvFlexExtContainer* container, float dt, int numSubsteps, bool enableTimers=false);\n\n/**\n * Updates the device asynchronously, transfers any particle and constraint changes to the flex solver, \n * expected to be called in the following sequence: NvFlexExtPushToDevice, NvFlexUpdateSolver, NvFlexExtPullFromDevice, flexSynchronize\n * @param[in] container The container to update\n */\nNV_FLEX_API void NvFlexExtPushToDevice(NvFlexExtContainer* container);\n\n/**\n * Updates the host asynchronously, transfers particle and constraint data back to he host, \n * expected to be called in the following sequence: NvFlexExtPushToDevice, NvFlexUpdateSolver, NvFlexExtPullFromDevice\n * @param[in] container The container to update\n */ \nNV_FLEX_API void NvFlexExtPullFromDevice(NvFlexExtContainer* container);\n\n/**\n * Synchronizes the per-instance data with the container's data, should be called after the synchronization with the solver read backs are complete\n *\n * @param[in] container The instances belonging to this container will be updated\n */ \nNV_FLEX_API void NvFlexExtUpdateInstances(NvFlexExtContainer* container);\n\n\n/** \n * Controls the way that force fields affect particles\n */\nenum NvFlexExtForceMode\n{\n\t//! Apply field value as a force. \n    eNvFlexExtModeForce\t\t\t\t=      0,\n\n\t//! Apply field value as an impulse. \n    eNvFlexExtModeImpulse\t\t\t=      1,\n\n\t//! Apply field value as a velocity change. \n    eNvFlexExtModeVelocityChange\t=      2,\n};\n\n/** \n * Force field data, currently just supports radial fields\n */\nstruct NvFlexExtForceField\n{\n\tfloat mPosition[3];\t\t//!< Center of force field\n\tfloat mRadius;\t\t\t//!< Radius of the force field\n\tfloat mStrength;\t\t//!< Strength of the force field\n\tNvFlexExtForceMode mMode;\t//!< Mode of field application\n\tbool mLinearFalloff;\t//!< Linear or no falloff \n};\n\n/** \n * Opaque type representing a force field callback structure that ecapsulates \n * the force field kernels and associated data applied as a callback during the Flex update\n */\ntypedef struct NvFlexExtForceFieldCallback NvFlexExtForceFieldCallback;\n\n/**\n * Create a NvFlexExtForceFieldCallback structure, each callback is associated with the\n * passed in solver once the NvFlexExtSetForceFields() is called.\n *\n * @param[in] solver A valid solver created with NvFlexCreateSolver()\n * @return A pointer to a callback structure\n */\nNV_FLEX_API NvFlexExtForceFieldCallback* NvFlexExtCreateForceFieldCallback(NvFlexSolver* solver);\n\n/**\n * Destroy the force field callback\n *\n * @param[in] callback A valid solver created with NvFlexExtCreateForceFieldCallback()\n */\nNV_FLEX_API void NvFlexExtDestroyForceFieldCallback(NvFlexExtForceFieldCallback* callback);\n\n/**\n * Set force fields on the container, these will be applied during the Flex update\n *\n * @param[in] callback The callback to update\n * @param[in] forceFields A pointer to an array of force field data, may be host or GPU memory\n * @param[in] numForceFields The number of force fields to send to the device\n */\nNV_FLEX_API void NvFlexExtSetForceFields(NvFlexExtForceFieldCallback* callback, const NvFlexExtForceField* forceFields, int numForceFields);\n\n/**\n* Create a soft joint, the container will internally store a reference to the joint array\n*\n* @param[in] container The container to spawn into\n* @param[in] particleIndices A pointer to an array of particle indices\n* @param[in] particleLocalPositions A pointer to an array of particle local positions\n* @param[in] numJointParticles The number of particles in the joint\n* @param[in] stiffness The stiffness of the joint\n* @return A pointer to the soft joint\n*/\nNV_FLEX_API NvFlexExtSoftJoint* NvFlexExtCreateSoftJoint(NvFlexExtContainer* container, const int* particleIndices, const float* particleLocalPositions, const int numJointParticles, const float stiffness);\n\n/** Destroy a soft joint\n*\n* @param[in] container The container the joint belongs to\n* @param[in] joint The soft joint to destroy\n*/\nNV_FLEX_API void NvFlexExtDestroySoftJoint(NvFlexExtContainer* container, NvFlexExtSoftJoint* joint);\n\n/** Transform all the local particles of the soft joint\n*\n* @param[in] container The container to spawn into\n* @param[in] joint The soft joint to destroy\n* @param[in] position A pointer to a vec3 storing the soft joint new position\n* @param[in] rotation A pointer to a quaternion storing the soft joint new rotation\n*/\nNV_FLEX_API void NvFlexExtSoftJointSetTransform(NvFlexExtContainer* container, NvFlexExtSoftJoint* joint, const float* position, const float* rotation);\n\n} // extern \"C\"\n\n#endif // NV_FLEX_EXT_H\n\n"
  },
  {
    "path": "release_notes.txt",
    "content": "1.2.0 \n------\n\n- Improved collision against moving shapes, solver now correctly interpolates shape transforms for substeps\n- Improved Linux support, removed GLUT/GLEW dependencies\n- New API for adding soft-joints (dynamic shape-matching constraints) via. the extensions API, see NvFlexExtCreateSoftJoint()\n- New API to retrieve particle neighbor information, see NvFlexGetNeighbors()\n- New API to support shape collision filtering, collision channels can be assigned to particles and shapes to specify which pairs collide, see NvFlexPhase\n- New API to support per-shape plastic deformation, it is now possible to specify plastic creep and threshold coefficient on a per-shape basis (previous global settings), see NvFlexSetRigids()\n- New API to selectively disable solver features, this can lead to improved performance, see NvFlexFeatureMode, replaces global FlexParams::fluid option\n- New API to allow sub-range particle buffer updates, see NvFlexCopyDesc\n- New API for asynchronous compute, see NvFlexInitDesc\n- New API change, NvFlexUpdateTriangleMesh() now takes vertices with 16-byte stride to remove CPU synchronization step in D3D implementations\n- Fix for NvFlexParams::anisotropyScale, this change improves the fitting of ellipsoids to fluid particle distributions, it should now typically be left at 1.0\n- Fix for NvFlexGetTimers() reporting incorrect values on D3D12\n- Fix for vsync in D3D12\n- Fix for crash when using Flex with NVIDIA driver 384.76\n- Fix for unnecessary synchronization when calling NvFlexMap() on a device buffer\n- Fix numerical precision for shape-matching constraints with large coordinates\n- Fix for uninitialized contact indices returned from NvFlexGetContacts() if NvFlexUpdateSolver() has not been called\n- Fix for SDF collision in D3D12\n- Fix for free after delete in CUDA when using SDFs\n- Fix for D3D warning when using NvFlexSetRigids()\n- Add D3D12 rendering support to the demo\n- Add support for device NvFlexBuffers on D3D\n- Enable NvToolkit profiling zones so to provide annotations in NSight profiles by default, this requires nvToolsExt64_1.dll be present\n\n1.1.0\n-----\n\n- New API style, for consistency with other products the API has now an NvFlex prefix and follows a naming convention similar to PhysX\n- Add support for DirectX, in addition to CUDA there is now a cross platform DirectX 11 and 12 version of the Flex libraries that Windows applications can link against\n- Add support for max acceleration clamping, see NvFlexParams::maxAcceleration, can be useful to reduce popping with fast moving kinematic shapes and large interpenetration\n- Add support to querying compute device, see NvFlexGetDeviceName()\n- Add support for flushing compute queue, see NvFlexFlush()\n- Add support for multiple library instances, NvFlexInit() now returns a library which is bound to a single compute device\n- Add support for local space particle simulation, see NvFlexExtMovingFrameInit() and two new local space fluid and cloth demos\n- Add support for CUDA 8.0.44\n- Remove NvFlexError enum, errors will be reported through the NvFlexErrorCallback passed to NvFlexInit()\n- Remove NvFlexMemory enum, users should use the new NvFlexBufferType\n- Fix bug in inflatable constraint solver that could cause some shapes to generate NaNs\n- Fix for SDF contact generation when the particle lies completely outside volume, fixes a problem with ghost contacts\n- Fix for friction being incorrectly applied on trigger shapes\n- Fix for multi-phase fluid cohesion not working correctly, re-enable Rayleigh-Taylor instability test\n- Fix bug with public projects that referenced internal CUDA paths \n- Fix for calling NvFlexSetInflatables() with a count of zero\n- Fix for buoyancy parameter\n- Fix for bug in BVH builder that could cause missed collisions\n- New optional NvFlexDevice library for handling GPU selection and initialization in CUDA\n- New buffer based API, all data must now be passed to Flex through FlexBuffers created through NvFlexAllocBuffer()\n- New stable shape matching code for more robust and efficient soft bodies, removes need for NvFlexParams::inertiaBias\n- New collision shape API supports instancing of convex meshes and a much simplified API, see NvFlexSetShapes()\n- Improvements to collision detection for moving shapes, Flex will now perform a CCD check also taking into account the shape trajectory using the prev/current transforms of each shape\n\n1.0.0\n-----\n\n- Added support for reporting collision shape ids, and trigger volume shapes, see flexGetContacts()\n- Optimizations to host code performance\n- Fix for potential memory leak in SDF object destruction\n- Fix for potentially missed collisions during convex shape CCD\n- Fix for incorrect bounds computation during flexSetShapes() (if not specified by user)\n- Fix for initial shape translations being incorrect when using a transform with flexExtCreateInstance()\n- Move flexExt.h header to the /include folder\n\n0.9.5\n-----\n\n- Fix for NaNs being generated during shape matching with plastic deformation enabled\n- Fix for bug that could lead to translational drifting of shape matched rigid bodies\n- Fix for incorrect interaction of restitution and friction when using the collision margin parameters\n- New geometry instancing API for specifying collision shapes, adds support for transformed triangle meshes and signed distance fields, see flexSetShapes()\n- New BVH based collision detection improves performance for scenes with large triangle meshes\n- New mesh tearing API, see flexExtTearClothMesh()\n- New CCD collision detection for particle versus convex shape, helps reduce tunneling with thin convexes\n- Performance improvements for soft body cooking times in flexExtCreateSoftFromMesh()\n- Exposed intertial bias for shape matching constraints, see FlexParams::mInertiaBias\n- Exposed parameter to control the lifetime of diffuse particles, see FlexParams::mDiffuseLifetime\n\n0.9.0\n-----\n\n- Added support for soft bodies, particles can now belong to multiple shape-matching clusters used to drive linear blend skinning\n- Added support for particle rest positions that can be used to filter collisions between particles that touch in their rest pose, see flexSetRestPositions()\n- Added support for spheres and capsules as collision shapes, renamed flexSetConvexes() to flexSetShapes()\n- Added support for user callbacks, these can be used to implement custom constraints, force fields, etc. See flexRegisterSolverCallback()\n- Added support for the NVIDIA control panel, Flex will now use the selected PhysX device if desired, see flexInit() for details\n- Added support for Android platforms\n- Added flexGetParams() method to retrieve default values and set defaults to sensible values\n- Improved shape-matching algorithm with better inversion handling\n- Optimizations for flexSetTriangles(), users can now pass the triangle bounds to avoid having them re-calculated explicitly\n- Rigid constraints now use quaternions as their orientation representation, see flexSetRigids() and flexGetRigidTransforms()\n- Exposed anisotropy min/max clamping for better control of particle fluid rendering, see FlexParams::mAnisotropyMin and FlexParams::mAnisotropyMax\n- Fix for smooth particles not being generated if anisotropy was not enabled\n- Fix for demo mouse picking \n- Fix for flexGetContacts() returning incorrect values, added contact visualization to the demo app\n- Fix for bug in flexGetBounds() which meant it could return bounds with one frame delay, users should now synchronize the flexGetBounds() call like other query methods\n- Fix whitespace on flex.h to play nice with Github's code view\n- Fix for triangle mesh collision when particle moves in the plane of the triangle incorrectly reporting contact\n- Fix leak when destroying solver\n- Fix for incomplete initialization of FlexExtAssets in the extension creation methods\n- Rename FlexParams::mMaxVelocity -> FlexParams::mMaxSpeed\n\n0.8.0\n-----\n\n- Upgrade to CUDA 7.0\n- Linux binaries are now compiled with -fPIC\n- Fix for extensions library not writing velocities correctly\n- Fix for memory leak when using moving convex shapes\n- Optimizations for inflatable constraints to reduce number of kernel launches\n- Added option to control the max number of neighbors stored per-particle, this can reduce memory usage, see flexCreateSolver()\n\n0.2.5\n-----\n\n- Fix for vertex normal calculation when using sparse active particle set\n- Fix for division by zero in rest density calculation when fluid rest distance was 0.0\n- Fix for infinite mass particles being moved by kinematic objects\n- Added CUDA force fields to extensions library, see flexExtSetForceFields()\n- Added particle contact reporting API, see flexGetContacts()\n- Added early out to avoid Laplacian smoothing and anisotropy calculation if not using them\n- Added global damping parameter to model viscous drag on particles (not just cloth), see FlexParams::mDamping\n- Added user manual in pdf and chm formats\n- Made enum names consistent, eFlexHost -> eFlexMemoryHost\n- Upgraded to CUB 1.3.2\n- Extended particle phase parameters to allow fine grained control over self-collision and fluid properties, see flexMakePhase()\n\n0.2.3\n-----\n\n- Switched to bindless textures, 50% reduction in CPU usage, because of this change Flex now requires an SM3.0 or above GPU\n- Optimized convex grid rasterization by assigning 4 warps/shape, reduces time from 1ms->0.25ms for large shapes\n- Added error mesasge callback, see flexInit()\n- Added flexSetFence()/flexWaitFence() for more fine grained synchronization with Flex GPU work, flexSynchronize() has been removed\n- Added static/dynamic flags for convex shapes to allow prioritising static contacts over dynamic, can be useful to prevent tunnelling through thin shapes\n- Added local/global relaxation to improve convergence for some scenes (see FlexParams::eRelaxationMode)\n- Removed flexGetVorticities(), allows optimizations for vorticity confinement calculation\n- Fix for flexSetSprings(), flexSetTriangles(), and flexSetConvexes() reallocing more often than necessary\n- Fix for flexGetDensities(), and flexGetAnisotropy() not returning the full particle array if using sparse active set\n- Fix for memory leak when instance creation fails in flexExtCreateInstance()\n- Fix for memory leak when setting rigid bodies multiple times\n- Fix for potential GPU crash when using plastic deformation on rigid bodies\n- Smooth vertex normals are now computed for particles belonging to dynamic triangles (cloth), they can be retrieved via flexGetNormals()\n- Optimized CompactObjects in flexExtPushToDevice()\n- Made headers compile with /W4 on MSVC\n- Added debug capture functionality\n\n0.2.2\n-----\n\n- Fix for infinite mass particles gaining velocity during collisions\n- Fix bug with planar triangle mesh rasterization\n- Fix for zero-length distance constraints\n- Fix cloth drag and lift causing instability at high velocities\n- Fix for convex grid perf. when there is a single large convex body\n- Improved behaviour when particles are overconstrained (constraint averaging), can reduce jitter for pinned cloth\n- Improved adhesion behaviour for fluids against solids\n- Improved restitution behavior\n- Improved fluid rendering performance by using a smaller bilateral filter kernel\n- Change particle friction to be an absolute parameter instead of a multiplier on dynamic friction\n- Change sort to use async device-device memcpys to avoid stalling host\n- Exposed new parameter to control collision margin against shapes see FlexParams::mShapeCollisionMargin \n- Warning fixes for Linux and Windows\n- Fix z-precision rendering issues in demo\n- Added \"Ext\" prefix to extensions types\n- Clamp particle velocity to maximum user velocity before prediction step, improves behaviour when interacting with force fields\n\n0.2.1\n-----\n\n- Add support for lower dimensional particle rigid bodies (rods, planes)\n- Allow specifying rigid rotations through the solver API\n- Allow separate control of fluid and solid rest distances\n- Add GUI to demo\n\n0.2.0\n-----\n\n- Fix for rest density calculation when number of neighbors > than max\n- Add support for async memory copies back to pinned host memory\n- Add functions to allocate pinned host memory, see flexAlloc()\n- Add rigid body support to FlexExtensions\n- Add rigid body SDF collision support\n- Add position level friction\n- Static triangle grid now created on the GPU, see flexSetTriangles\n- Unify triangle collision with rest of the pipline\n- Exposed a new parameter to run a second collision pass against triangle meshes, see FlexParam::mEnableCCD\n- Optimized rigid body solve using CUB parallel reductions\n- Fix for solve springs when some particles have infinite mass\n- Reduce allocations in flexSetConvexes\n- Fix plastic deformation for rigids\n- Switch to /MT for FlexExtensions library\n\n0.1.0\n-----\n\nInitial release\n"
  },
  {
    "path": "run_cuda.bat",
    "content": "cd bin\\win64\nNvFlexDemoReleaseCUDA_x64.exe -device=0"
  },
  {
    "path": "run_dx.bat",
    "content": "cd bin\\win64\nNvFlexDemoReleaseD3D_x64.exe -device=0"
  },
  {
    "path": "src/dx/context/Context.h",
    "content": "/*\n * Copyright (c) 2008-2017, NVIDIA CORPORATION.  All rights reserved.\n *\n * NVIDIA CORPORATION and its licensors retain all intellectual property\n * and proprietary rights in and to this software, related documentation\n * and any modifications thereto.  Any use, reproduction, disclosure or\n * distribution of this software and related documentation without an express\n * license agreement from NVIDIA CORPORATION is strictly prohibited.\n */\n\n#pragma once\n\n#include \"NvFlexTypes.h\"\n#include \"Vector.h\"\n#include <Windows.h>\n#include <vector>\n#include <atomic>\n#include <map>\n\n // NV shader extensions\n#include <external/nvapi/include/nvShaderExtnEnums.h>\n\n\n#define ENABLE_AMD_AGS 1 // enable AMD AGS shader extensions, used for warp shuffle based reductions\n#if ENABLE_AMD_AGS\n // AMD shader extensions\n#include <external/ags_lib/inc/amd_ags.h>\n#endif\n\n#define USE_GPUBB 0 //Used for D3D12 shader debugging\n#define ENABLE_D3D12 1\n\n#ifndef _DEBUG\n#define ENABLE_AFTERMATH_SUPPORT 1\n#endif\n\n#if ENABLE_AFTERMATH_SUPPORT\n#include <d3d11.h>\n#include <d3d12.h>\n#include <external/GFSDK_Aftermath_v1.21/include/GFSDK_Aftermath.h>\n#endif\n\nenum GpuVendorId\n{\n\tVENDOR_ID_NVIDIA = 0x10DE,\n\tVENDOR_ID_AMD = 0x1002,\n\tVENDOR_ID_OTHERS = 0x00EE,\n};\n\ninline void ThrowIfFailed(HRESULT hr)\n{\n\tif (FAILED(hr))\n\t{\n\t\tthrow;\n\t}\n}\n\n//! graphics API dependent descriptions\nstruct NvFlexContextDesc;\n\n//! export interop buffers\nstruct NvFlexBuffer;\nstruct NvFlexTexture3D;\n\n//! graphics API dependent descriptions\nstruct NvFlexBufferViewDesc;\nstruct NvFlexTexture3DViewDesc;\n\n/// common object type\nstruct NvFlexObject\n{\n\tvirtual NvFlexUint addRef() = 0;\n\tvirtual NvFlexUint release() = 0;\n};\n\n//struct NvFlexBuffer : public NvFlexObject {};\n//struct NvFlexTexture3D : public NvFlexObject {};\n\nnamespace NvFlex\n{\n\tstruct Context;\n\n\tstruct Allocable\n\t{\n\t\tvoid* operator new(size_t size);\n\t\tvoid* operator new[](size_t size);\n\t\tvoid operator delete(void* ptr);\n\t\tvoid operator delete[](void* ptr);\n\t};\n\n\tstruct Object : public Allocable\n\t{\n\t\tvirtual NvFlexUint addRefInternal();\n\n\t\tvirtual NvFlexUint releaseInternal();\n\n\t\tvirtual ~Object();\n\n\tprivate:\n\t\tstd::atomic_uint32_t m_refCount = 1u;\n\t};\n\n#define NV_FLEX_OBJECT_IMPL \\\n\tvirtual NvFlexUint addRef() { return Object::addRefInternal(); } \\\n\tvirtual NvFlexUint release() { return Object::releaseInternal(); }\n\n#define NV_FLEX_DISPATCH_MAX_READ_TEXTURES ( 32u )\n#define NV_FLEX_DISPATCH_MAX_WRITE_TEXTURES ( 8u )\n\n#define NV_FLEX_DRAW_MAX_READ_TEXTURES ( 8u )\n#define NV_FLEX_DRAW_MAX_WRITE_TEXTURES ( 1u )\n\n\tstruct ConstantBufferDesc\n\t{\n\t\tNvFlexUint stride;\n\t\tNvFlexUint dim;\n\t\tbool uploadAccess;\n#if defined(_DEBUG)\n\t\tconst char* name;\n#endif\n\t};\n\n\tenum BufferTypes\n\t{\n\t\teBuffer = 1 << 0,\n\t\teUAV_SRV = 1 << 1,\n\t\teStage = 1 << 2,\n\t\teRaw = 1 << 3,\n\t\teStructured = 1 << 4,\n\t\teIndirect = 1 << 5,\n\t\teShared = 1 << 6,\n\t\teDynamic = 1 << 7\n\t};\n\n\tstruct BufferDesc\n\t{\n\t\tNvFlexFormat format;\n\t\tNvFlexUint dim;\n\t\tNvFlexUint stride;\n\t\tunsigned int bufferType;\n\t\tconst void* data;\n#if defined(_DEBUG)\n\t\tconst char* name;\n#endif\n\t};\n\n\tstruct BufferViewDesc\n\t{\n\t\tNvFlexFormat format;\n\t};\n\n\tstruct Texture3DDesc\n\t{\n\t\tNvFlexFormat format;\n\t\tNvFlexDim dim;\n\t\tbool uploadAccess;\n\t\tbool downloadAccess;\n\t\tconst void* data;\n#if defined(_DEBUG)\n\t\tconst char* name;\n#endif\n\t};\n\n\tstruct ComputeShaderDesc\n\t{\n\t\tComputeShaderDesc() : cs(nullptr), cs_length(0), label(L\"\"), NvAPI_Slot(~0u) {}\n\t\tComputeShaderDesc(void* shaderByteCode, NvFlexUint64 byteCodeLength, wchar_t* shaderLabel = L\"\", NvFlexUint nvApiSlot = ~0u) : cs(shaderByteCode), cs_length(byteCodeLength), label(shaderLabel), NvAPI_Slot(nvApiSlot) {}\n\t\tconst void* cs;\n\t\tNvFlexUint64 cs_length;\n\t\tconst wchar_t* label;\n\t\tNvFlexUint NvAPI_Slot;\n\t};\n\n\tstruct InputElementDesc\n\t{\n\t\tconst char* semanticName;\n\t\tNvFlexFormat format;\n\t};\n\n\t/// A basic map-discard constant buffer\n\tstruct ConstantBuffer : public NvFlexObject\n\t{\n\t\tvirtual ~ConstantBuffer() {}\n\n\t\tConstantBufferDesc m_desc;\n\t};\n\n\t/// A GPU resource that supports read operations\n\tstruct Resource : public NvFlexObject {};\n\n\t/// A GPU resource that supports read/write operations\n\t/// includes a Resource\n\tstruct ResourceRW : public NvFlexObject\n\t{\n\t\tvirtual Resource* getResource() = 0;\n\t};\n\n\tenum BufferResourceTypes\n\t{\n\t\teResource = 1 << 0,\n\t\teDefaultBuffer = 1 << 1,\n\t\teUploadBuffer = 1 << 2,\n\t\teDownloadBuffer = 1 << 3,\n\t\teNativeBuffer = 1 << 4,\n\t};\n\n\t/// Context created resources\n\t/// includes Resource, ResourceRW\n\tstruct Buffer : public NvFlexObject\n\t{\n\t\tvirtual Resource* getResource(BufferResourceTypes type = eResource) = 0;\n\t\tvirtual ResourceRW* getResourceRW() = 0;\n\t\tvirtual ~Buffer() {}\n\t\tBufferDesc m_desc;\n\t};\n\n\t/// Staging resource\n\tstruct Stage : public NvFlexObject\n\t{\n\t\tvirtual ~Stage() {}\n\t\tBufferDesc m_desc;\n\t};\n\n\t/// includes Resource, ResourceRW\n\tstruct Texture3D : public NvFlexObject\n\t{\n\t\tvirtual Resource* getResource() = 0;\n\t\tvirtual ResourceRW* getResourceRW() = 0;\n\t\tvirtual ~Texture3D() {}\n\t\tTexture3DDesc m_desc;\n\t};\n\n\tstruct ComputeShader : public NvFlexObject\n\t{\n\t\tvirtual ~ComputeShader() {}\n\t\tComputeShaderDesc m_desc;\n\t};\n\n\tstruct Timer : public NvFlexObject\n\t{\n\t\tvirtual ~Timer() {}\n\t};\n\n\tstruct Fence : public NvFlexObject\n\t{\n\t\tvirtual ~Fence() {}\n\t};\n\n\tstruct DispatchParams\n\t{\n\t\tComputeShader* shader;\n\t\tNvFlexDim gridDim;\n\t\tConstantBuffer* rootConstantBuffer;\n\t\tConstantBuffer* secondConstantBuffer;\n\t\tResource* readOnly[NV_FLEX_DISPATCH_MAX_READ_TEXTURES];\n\t\tResourceRW* readWrite[NV_FLEX_DISPATCH_MAX_WRITE_TEXTURES];\n\t\tBuffer * IndirectLaunchArgs;\n\t};\n\n\tenum MapType\n\t{\n\t\teMapRead = 0,\n\t\teMapWrite = 1,\n\t\teMapReadWrite = 2,\n\t\teMapWriteDiscard = 3,\n\t};\n\n\tstruct MappedData\n\t{\n\t\tvoid* data;\n\t\tNvFlexUint rowPitch;\n\t\tNvFlexUint depthPitch;\n\t};\n\n\t// D3D events are expensive to create and destroy, so this pool enables \n\t// DxRangeTimers to be reused.\n\tstruct TimerPool\n\t{\n\t\tvirtual ~TimerPool() {}\n\t\t// We initialize new elements instead of std::vector doing it, to avoid \n\t\t// having to allocate D3D11Query in a copy constructor\n\t\t//returns an index to the timer in the pool\n\t\t//virtual int alloc() = 0;\n\n\t\tvirtual int begin() = 0;\n\t\tvirtual void end(int index) = 0;\n\n\t\t// synchronize timers between GPU and CPU\n\t\tvirtual void resolve() = 0;\n\t\t// Copy timers to cpu\n\t\tvirtual void sync() = 0;\n\n\t\tvirtual void clear() = 0;\n\n\t\tvirtual float get(int index, unsigned long long* begin = 0, unsigned long long* end = 0, unsigned long long* freq = 0) = 0;\n\t\t// Set the number of timers in the pool\n\t\t// In D3D12 this results in a reallocation of the timer heap\n\t\tvirtual void reserve(size_t size) = 0;\n\t\tstatic const int m_initPoolSize = 200;\n\t\tsize_t m_timerPoolSize = 0;\t\t//The size of the heap\n\t\tsize_t m_usedElemCount = 0;\t\t//How many elements are used\n\t\tsize_t m_requestedElemCount = 0;\t//How many timers were requested\n\t};\n\n\t// String comparison function for timer name to timer index map\n\tstruct ltstr\n\t{\n\t\tbool operator()(const char* s1, const char* s2) const\n\t\t{\n\t\t\treturn strcmp(s1, s2) < 0;\n\t\t}\n\t};\n\n\n\t// WString comparison function for timer name to timer index map\n\tstruct ltwstr\n\t{\n\t\tbool operator()(const wchar_t* s1, const wchar_t* s2) const\n\t\t{\n\t\t\treturn wcscmp(s1, s2) < 0;\n\t\t}\n\t};\n\n\t// Each named range can occur more than once, for example once per iteration\n\t// So the map from name to timer has to be a multimap\n\n\ttypedef std::multimap<const char*, int, ltstr> NameToTimerMap;\n\ttypedef NameToTimerMap::iterator NameToTimerMapIter;\n\n\ttypedef std::multimap<const wchar_t*, int, ltwstr> NameToTimerMapW;\n\ttypedef NameToTimerMapW::iterator NameToTimerMapWIter;\n\n\tstruct Context\n\t{\n\t\t// ************ public interface *****************\n\n\t\tvirtual void updateContext(const NvFlexContextDesc* desc) = 0;\n\n\t\t//virtual void updateBufferViewDesc(NvFlexBuffer* buffer, NvFlexBufferViewDesc* desc) = 0;\n\n\t\t//virtual void updateTexture3DViewDesc(NvFlexTexture3D* buffer, NvFlexTexture3DViewDesc* desc) = 0;\n\n\t\t// ************ internal resources ***************\n\n\t\tvirtual ConstantBuffer* createConstantBuffer(const ConstantBufferDesc* desc) = 0;\n\n\t\tvirtual void* map(ConstantBuffer* buffer) = 0;\n\n\t\tvirtual void unmap(ConstantBuffer* buffer) = 0;\n\n\t\tvirtual void copy(ConstantBuffer* dst, Buffer* src) = 0;\n\n\t\tvirtual Buffer* createBuffer(const BufferDesc* desc, void* ptr = 0) = 0;\n\n\t\tvirtual Buffer* createBufferView(Buffer* buffer, const BufferViewDesc* desc) = 0;\n\n\t\tvirtual void* map(Buffer* buffer, MapType type = eMapReadWrite, bool wait = true) = 0;\n\n\t\tvirtual void unmap(Buffer* buffer) = 0;\n\n\t\tvirtual void upload(Buffer* buffer) = 0;\n\n\t\tvirtual void upload(Buffer* buffer, NvFlexUint offset, NvFlexUint numBytes) = 0;\n\n\t\tvirtual void download(Buffer* buffer) = 0;\n\n\t\tvirtual void download(Buffer* buffer, NvFlexUint offset, NvFlexUint numBytes) = 0;\n\n\t\tvirtual void copy(Buffer* dst, unsigned dstByteOffset, Buffer* src, NvFlexUint srcByteOffset, NvFlexUint numBytes) = 0;\n\n\t\tvirtual void copyToNative(void* dst, unsigned dstByteOffset, Buffer* src, NvFlexUint srcByteOffset, NvFlexUint numBytes) = 0;\n\n\t\tvirtual void copyToDevice(Buffer* dst, unsigned dstByteOffset, Buffer* src, NvFlexUint srcByteOffset, NvFlexUint numBytes, BufferResourceTypes type = eDownloadBuffer) = 0;\n\n\t\tvirtual void copyToHost(Buffer* dst, unsigned dstByteOffset, Buffer* src, NvFlexUint srcByteOffset, NvFlexUint numBytes) = 0;\n\n\t\tvirtual void clearUnorderedAccessViewUint(Buffer* buffer, const NvFlexUint * values) = 0;\n\n\t\tvirtual void clearUnorderedAccessViewFloat(Buffer* buffer, const NvFlexFloat * values) = 0;\n\n\t\tvirtual void copyResourceState(Buffer* bufferFrom, Buffer* bufferTo) = 0;\n\n\t\t//virtual void updateSubresource(Buffer* bufferIn, const NvFlexUint * box, const void * data) = 0;\n\n\t\tvirtual Texture3D* createTexture3D(const Texture3DDesc* desc) = 0;\n\n\t\tvirtual MappedData map(Texture3D* buffer) = 0;\n\n\t\tvirtual void unmap(Texture3D* buffer) = 0;\n\n\t\tvirtual void download(Texture3D* buffer) = 0;\n\n\t\tvirtual MappedData mapDownload(Texture3D* buffer) = 0;\n\n\t\tvirtual void unmapDownload(Texture3D* buffer) = 0;\n\n\t\tvirtual void copy(Texture3D* dst, Texture3D* srv) = 0;\n\n\t\tvirtual ComputeShader* createComputeShader(const ComputeShaderDesc* desc) = 0;\n\n\t\t// ***************** Operations ****************\n\n\t\tvirtual void dispatch(const DispatchParams* params) = 0;\n\n\t\tvirtual void dispatchIndirect(const DispatchParams* params) = 0;\n\n\t\tvirtual TimerPool * createTimerPool() = 0;\n\n\t\tvirtual Fence* createFence() = 0;\n\n\t\tvirtual void fenceSet(Fence * fence) = 0;\n\n\t\tvirtual void fenceWait(Fence * fence) = 0;\n\n\t\tvirtual void startFrame() = 0;\n\n\t\tvirtual void flush() = 0;\n\n\t\tvirtual void clearState() = 0;\n\n\t\tvirtual void computeWaitForGraphics() = 0;\n\n\t\t// ***************** Profiling ****************\n\n\t\tvirtual void pixBeginEvent(const wchar_t* label) = 0;\n\n\t\tvirtual void pixEndEvent() = 0;\n\n\t\tvirtual void eventMarker(const wchar_t* label) = 0;\n\n\t\tvirtual void contextPush() = 0;\n\n\t\tvirtual void contextPop() = 0;\n\n\t\tbool mEnableTimers;\n\n\t\tNameToTimerMapW mNameToInternalTimerMap;\n\t\tNameToTimerMap mNameToExternalTimerMap;\n\n\t\t// ***************** Debugging ****************\n\n#if ENABLE_AFTERMATH_SUPPORT\n\t\t// Aftermath\n\t\tvirtual int setEventMarkerAftermath(void* markerData, unsigned int markerSize) = 0;\n\t\tvirtual int getDataAftermath(GFSDK_Aftermath_ContextData* pContextDataOut, GFSDK_Aftermath_Status* pStatusOut) = 0;\n#endif\n\n\t\tContext();\n\t\tvirtual ~Context();\n\t};\n}\n"
  },
  {
    "path": "src/dx/context/Device.h",
    "content": "#pragma once\n\n#include \"Context.h\"\n\n// For NvFlexErrorCallback\n#include \"../../include/NvFlex.h\" \n\n#include <d3d11.h>\n#include <d3d11_1.h>\n\n#if ENABLE_D3D12\n#include <d3d12.h>\n#endif\n\n#include <external/nvapi/include/nvapi.h>\n\n#include <dxgi.h>\n#include <string>\n#include <vector>\n\n#define ENABLE_LIVE_DEVICE_OBJECTS_REPORTING 0\t// Provides detailed report of D3D object reference counts\n#define USE_NVAPI_DEVICE 1\t\t\t\t\t\t// Enable this for D3D11 SCG\n\nstruct FlexDeviceDesc\n{\n\tFlexDeviceDesc() : mDeviceNumber(-1), mDevice(nullptr), mComputeCommandQueue(nullptr), mRenderCommandQueue(nullptr), useComputeQueue(false), enablePresent(false) {}\n\tvirtual ~FlexDeviceDesc() {}\n\tunsigned int mDeviceNumber;  //!< Compute device number\n\tvoid * mDevice;\t\t\t\t //!< pointer to existing device\n\tvoid * mComputeCommandQueue; //!< pointer to existing command queue for DX12\n\tvoid * mRenderCommandQueue;  //!< pointer to existing command queue for DX12\n\tbool useComputeQueue;\t\t //!< Use the compute queue instead of the graphics queue for DX12\n\tbool enablePresent;\t\t\t //!< Present after each frame to that APIC and PB dump work\n\n\tNvFlexErrorCallback mErrorFunc;\n};\n\nnamespace NvFlex\n{\n\n\tstruct Device : public NvFlexObject\n\t{\n\t\tDevice();\n\t\tvirtual ~Device();\n\n\t\tvirtual Context* createContext() = 0;\n\n\t\tvirtual NvAPI_Status NvAPI_IsNvShaderExtnOpCodeSupported(NvU32 opCode, bool * pSupported) = 0;\n\n#if ENABLE_AMD_AGS\n\t\tvirtual AGSReturnCode AGS_DriverExtensions_Init(AGSContext* agsContext, unsigned int agsApiSlot, unsigned int *extensionsSupported) = 0;\n\t\tvirtual void AGS_DeInit(AGSContext* agsContext) = 0;\n#endif\n\n\t\tvirtual DXGI_ADAPTER_DESC1 getDXGIAdapter(void* d3ddevice, int & deviceNumber) = 0;\n\t\tvirtual DXGI_ADAPTER_DESC1 getDeviceNumber(const LUID adapterID, int & deviceNumber);\n\t\tvirtual std::vector<IDXGIAdapter1 *> enumerateDXGIAdapters();\n\t\tvirtual void queryDeviceCapabilities(void* d3ddevice);\n\n\t\tvirtual void reportLiveDeviceObjects() {}\n\n//#if APIC_CAPTURE\n\t\tvirtual void createWindow();\n\t\tvirtual void present() = 0;\n\n\t\tWNDCLASSEX mWindowDesc;\n\t\tRECT mWinRect;\n\t\tHWND m_hWnd;\n\t\tIDXGISwapChain*\tm_swapChain;\n//#endif\n\n\t\tIDXGIFactory1* m_pFactory;\n\n\t\tNvFlexUint mSMCount;\n\t\tstd::string mDeviceName;\n\t\t// Gpu Vendor Id\n\t\tGpuVendorId mGpuVendorId;\n\t\tbool mD3D12Device;\n\t\tContext* m_context;\n\t};\n}\n"
  },
  {
    "path": "src/dx/context/Format.h",
    "content": "/*\n * Copyright (c) 2008-2017, NVIDIA CORPORATION.  All rights reserved.\n *\n * NVIDIA CORPORATION and its licensors retain all intellectual property\n * and proprietary rights in and to this software, related documentation\n * and any modifications thereto.  Any use, reproduction, disclosure or\n * distribution of this software and related documentation without an express\n * license agreement from NVIDIA CORPORATION is strictly prohibited.\n */\n\n#pragma once\n\n#include \"NvFlexTypes.h\"\n\nnamespace NvFlex\n{\n\tDXGI_FORMAT convertToDXGI(NvFlexFormat format);\n\n\tNvFlexFormat convertToNvFlex(DXGI_FORMAT format);\n\n\tNvFlexUint getFormatSizeInBytes(NvFlexFormat format);\n}"
  },
  {
    "path": "src/dx/context/NvFlexTypes.h",
    "content": "/*\n * Copyright (c) 2008-2017, NVIDIA CORPORATION.  All rights reserved.\n *\n * NVIDIA CORPORATION and its licensors retain all intellectual property\n * and proprietary rights in and to this software, related documentation\n * and any modifications thereto.  Any use, reproduction, disclosure or\n * distribution of this software and related documentation without an express\n * license agreement from NVIDIA CORPORATION is strictly prohibited.\n */\n\n#pragma once\n\n\nenum NvFlexResult\n{\n\teNvFlexSuccess = 0,\n\teNvFlexFail = 1\n};\n\ntypedef int NvFlexInt;\ntypedef float NvFlexFloat;\ntypedef unsigned int NvFlexUint;\ntypedef unsigned long long NvFlexUint64;\n\nstruct NvFlexDim\n{\n\tNvFlexUint x, y, z;\n};\n\nstruct NvFlexUint3\n{\n\tNvFlexUint x, y, z;\n};\n\nstruct NvFlexUint4\n{\n\tNvFlexUint x, y, z, w;\n};\n\nstruct NvFlexFloat3\n{\n\tfloat x, y, z;\n};\n\nstruct NvFlexFloat4\n{\n\tfloat x, y, z, w;\n};\n\nstruct NvFlexFloat4x4\n{\n\tNvFlexFloat4 x, y, z, w;\n};\n\nenum NvFlexFormat\n{\n\teNvFlexFormat_unknown = 0,\n\n\teNvFlexFormat_r32_typeless = 1,\n\n\teNvFlexFormat_r32_float = 2,\n\teNvFlexFormat_r32g32_float = 3,\n\teNvFlexFormat_r32g32b32a32_float = 4,\n\n\teNvFlexFormat_r16_float = 5,\n\teNvFlexFormat_r16g16_float = 6,\n\teNvFlexFormat_r16g16b16a16_float = 7,\n\n\teNvFlexFormat_r32_uint = 8,\n\teNvFlexFormat_r32g32_uint = 9,\n\teNvFlexFormat_r32g32b32a32_uint = 10,\n\n\teNvFlexFormat_r8_unorm = 11,\n\teNvFlexFormat_r8g8_unorm = 12,\n\teNvFlexFormat_r8g8b8a8_unorm = 13,\n\n\teNvFlexFormat_r16_unorm = 14,\n\teNvFlexFormat_r16g16_unorm = 15,\n\teNvFlexFormat_r16g16b16a16_unorm = 16,\n\n\teNvFlexFormat_d32_float = 17,\n\teNvFlexFormat_d24_unorm_s8_uint = 18,\n\n\teNvFlexFormat_r8_snorm = 19,\n\teNvFlexFormat_r8g8_snorm = 20,\n\teNvFlexFormat_r8g8b8a8_snorm = 21,\n\n\teNvFlexFormat_max\n};"
  },
  {
    "path": "src/dx/context/README.md",
    "content": "The interfaces in this folder define a thin wrapper around D3D11 and D3D12 APIs that\nare used internally by the Flex solver. Some parts of the Flex API (e.g.: solver callbacks)\nwill return pointers to these structures.\n\nSee the extensions forcefield API for an example of how these wrappers may be used to implement\nFlex solver callbacks. Note that this code should not be modified or recompiled to ensure binary\ncompatibility with the main Flex libraries.\n"
  },
  {
    "path": "src/dx/context/Vector.h",
    "content": "/*\n * Copyright (c) 2008-2017, NVIDIA CORPORATION.  All rights reserved.\n *\n * NVIDIA CORPORATION and its licensors retain all intellectual property\n * and proprietary rights in and to this software, related documentation\n * and any modifications thereto.  Any use, reproduction, disclosure or\n * distribution of this software and related documentation without an express\n * license agreement from NVIDIA CORPORATION is strictly prohibited.\n */\n\n#pragma once\n\n#include \"NvFlexTypes.h\"\n\n#include <new>\n\nnamespace NvFlex\n{\n\n\ttemplate<class T, NvFlexUint staticCapacity>\n\tstruct VectorCached : public Allocable\n\t{\n\t\tstatic const NvFlexUint s_staticCapacity = staticCapacity;\n\n\t\tT* m_data;\n\t\tNvFlexUint m_capacity;\n\t\tT m_cache[staticCapacity];\n\t\tNvFlexUint m_size = 0u;\n\n\t\tT* allocate(NvFlexUint capacity)\n\t\t{\n\t\t\tT* ptr = (T*)operator new[](capacity*sizeof(T));\n\t\t\tfor (NvFlexUint i = 0; i < capacity; i++)\n\t\t\t{\n\t\t\t\tnew(ptr + i) T;\n\t\t\t}\n\t\t\treturn ptr;\n\t\t}\n\n\t\tvoid cleanup(T* data, NvFlexUint capacity)\n\t\t{\n\t\t\tif (m_cache != data)\n\t\t\t{\n\t\t\t\tfor (NvFlexUint i = 0; i < capacity; i++)\n\t\t\t\t{\n\t\t\t\t\tdata[i].~T();\n\t\t\t\t}\n\t\t\t\toperator delete[](data);\n\t\t\t}\n\t\t}\n\n\t\tVectorCached(NvFlexUint capacity)\n\t\t{\n\t\t\tm_capacity = capacity;\n\t\t\tif (capacity > staticCapacity)\n\t\t\t{\n\t\t\t\tm_data = allocate(capacity);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tm_data = m_cache;\n\t\t\t}\n\t\t}\n\n\t\t~VectorCached()\n\t\t{\n\t\t\tif (m_capacity > staticCapacity)\n\t\t\t{\n\t\t\t\tcleanup(m_data, m_capacity);\n\t\t\t}\n\t\t\tm_data = nullptr;\n\t\t}\n\n\t\tT& operator[](unsigned int idx)\n\t\t{\n\t\t\treturn m_data[idx];\n\t\t}\n\n\t\tNvFlexUint allocateBack()\n\t\t{\n\t\t\t// resize if needed\n\t\t\tif (m_size + 1 > m_capacity)\n\t\t\t{\n\t\t\t\tNvFlexUint capacity = 2 * m_capacity;\n\t\t\t\tT* newData = allocate(capacity);\n\t\t\t\t// copy to new\n\t\t\t\tfor (NvFlexUint i = 0; i < m_size; i++)\n\t\t\t\t{\n\t\t\t\t\tnew(&newData[i]) T(m_data[i]);\n\t\t\t\t}\n\t\t\t\t// cleanup old\n\t\t\t\tcleanup(m_data, m_capacity);\n\t\t\t\t// commit new\n\t\t\t\tm_data = newData;\n\t\t\t\tm_capacity = capacity;\n\t\t\t}\n\t\t\tm_size++;\n\t\t\treturn m_size - 1;\n\t\t}\n\n\t\tvoid reserve(NvFlexUint capacity)\n\t\t{\n\t\t\tif (capacity > m_capacity)\n\t\t\t{\n\t\t\t\tT* newData = allocate(capacity);\n\t\t\t\t// copy to new\n\t\t\t\tfor (NvFlexUint i = 0; i < m_size; i++)\n\t\t\t\t{\n\t\t\t\t\tnew(&newData[i]) T(m_data[i]);\n\t\t\t\t}\n\t\t\t\t// cleanup old\n\t\t\t\tcleanup(m_data, m_capacity);\n\t\t\t\t// commit new\n\t\t\t\tm_data = newData;\n\t\t\t\tm_capacity = capacity;\n\t\t\t}\n\t\t}\n\t};\n\n\ttemplate <class T>\n\tstruct Image3D : public Allocable\n\t{\n\t\tT* m_data = nullptr;\n\t\tNvFlexDim m_dim = { 0u, 0u, 0u };\n\t\tNvFlexUint m_capacity = 0u;\n\n\t\tImage3D() {}\n\n\t\tvoid init(NvFlexDim dim)\n\t\t{\n\t\t\tm_dim = dim;\n\t\t\tm_capacity = m_dim.x * m_dim.y * m_dim.z;\n\n\t\t\tT* ptr = (T*)operator new[](m_capacity*sizeof(T));\n\t\t\tfor (NvFlexUint i = 0; i < m_capacity; i++)\n\t\t\t{\n\t\t\t\tnew(ptr + i) T;\n\t\t\t}\n\t\t\tm_data = ptr;\n\t\t}\n\n\t\t~Image3D()\n\t\t{\n\t\t\tif (m_data)\n\t\t\t{\n\t\t\t\tfor (NvFlexUint i = 0; i < m_capacity; i++)\n\t\t\t\t{\n\t\t\t\t\tm_data[i].~T();\n\t\t\t\t}\n\t\t\t\toperator delete[](m_data);\n\t\t\t\tm_data = nullptr;\n\t\t\t}\n\t\t}\n\n\t\tT& operator[](unsigned int idx)\n\t\t{\n\t\t\treturn m_data[idx];\n\t\t}\n\n\t\tT& operator()(NvFlexUint i, NvFlexUint j, NvFlexUint k)\n\t\t{\n\t\t\treturn m_data[(k*m_dim.y + j) * m_dim.x + i];\n\t\t}\n\t};\n\n\ttemplate <class T>\n\tstruct Image1D : public Allocable\n\t{\n\t\tT* m_data = nullptr;\n\t\tNvFlexUint m_dim = 0u;\n\t\tNvFlexUint m_capacity = 0u;\n\n\t\tImage1D() {}\n\n\t\tvoid init(NvFlexUint dim)\n\t\t{\n\t\t\tm_dim = dim;\n\t\t\tm_capacity = m_dim;\n\n\t\t\tT* ptr = (T*)operator new[](m_capacity*sizeof(T));\n\t\t\tfor (NvFlexUint i = 0; i < m_capacity; i++)\n\t\t\t{\n\t\t\t\tnew(ptr + i) T;\n\t\t\t}\n\t\t\tm_data = ptr;\n\t\t}\n\n\t\t~Image1D()\n\t\t{\n\t\t\tif (m_data)\n\t\t\t{\n\t\t\t\tfor (NvFlexUint i = 0; i < m_capacity; i++)\n\t\t\t\t{\n\t\t\t\t\tm_data[i].~T();\n\t\t\t\t}\n\t\t\t\toperator delete[](m_data);\n\t\t\t\tm_data = nullptr;\n\t\t\t}\n\t\t}\n\n\t\tT& operator[](unsigned int idx)\n\t\t{\n\t\t\treturn m_data[idx];\n\t\t}\n\t};\n\n}"
  }
]